summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/3rdparty.doc138
-rw-r--r--doc/aboutqt.doc57
-rw-r--r--doc/accel.doc140
-rw-r--r--doc/annotated.doc47
-rw-r--r--doc/appicon.doc195
-rw-r--r--doc/application-walkthrough.doc435
-rw-r--r--doc/canvas.doc95
-rw-r--r--doc/changes.doc453
-rw-r--r--doc/charinput-qws.doc131
-rw-r--r--doc/classchart.doc359
-rw-r--r--doc/classes.doc62
-rw-r--r--doc/collect.doc248
-rw-r--r--doc/commercialeditions.doc170
-rw-r--r--doc/coordsys.doc262
-rw-r--r--doc/credits.doc326
-rw-r--r--doc/customstyles.doc228
-rw-r--r--doc/datastreamformat.doc248
-rw-r--r--doc/debug.doc189
-rw-r--r--doc/distributingqt.doc129
-rw-r--r--doc/dnd.doc383
-rw-r--r--doc/editions.doc137
-rw-r--r--doc/embclasses.doc340
-rw-r--r--doc/embporting.doc108
-rw-r--r--doc/envvars.doc115
-rw-r--r--doc/faq.doc427
-rw-r--r--doc/features.doc274
-rw-r--r--doc/focus.doc204
-rw-r--r--doc/framebuffer-howto.doc250
-rw-r--r--doc/freeeditions.doc77
-rw-r--r--doc/functions.doc49
-rw-r--r--doc/headers.doc47
-rw-r--r--doc/hierarchy.doc50
-rw-r--r--doc/how-to-learn-qt.doc116
-rw-r--r--doc/html/3rdparty.html106
-rw-r--r--doc/html/aboutqt.html81
-rw-r--r--doc/html/abstract-connections.pngbin0 -> 19849 bytes
-rw-r--r--doc/html/abstractwidgets.html56
-rw-r--r--doc/html/accelerators.html126
-rw-r--r--doc/html/aclock-example.html279
-rw-r--r--doc/html/activeqt-dotnet.html459
-rw-r--r--doc/html/activeqt-examples.html49
-rw-r--r--doc/html/activeqt-tools-dumpdoc.html74
-rw-r--r--doc/html/activeqt-tools-idc.html75
-rw-r--r--doc/html/activeqt-tools-testcon.html70
-rw-r--r--doc/html/activeqt-tools.html49
-rw-r--r--doc/html/activeqt.html86
-rw-r--r--doc/html/addressbook-example.html666
-rw-r--r--doc/html/advanced.html73
-rw-r--r--doc/html/annotated.html464
-rw-r--r--doc/html/appearance.html83
-rw-r--r--doc/html/appicon.html201
-rw-r--r--doc/html/application.html62
-rw-r--r--doc/html/archivesearch-example.html183
-rw-r--r--doc/html/assistant-1.html48
-rw-r--r--doc/html/assistant-2.html52
-rw-r--r--doc/html/assistant-3.html49
-rw-r--r--doc/html/assistant-4.html115
-rw-r--r--doc/html/assistant-5.html52
-rw-r--r--doc/html/assistant-6.html129
-rw-r--r--doc/html/assistant.dcf9
-rw-r--r--doc/html/assistant.html47
-rw-r--r--doc/html/assistant.pngbin0 -> 53805 bytes
-rw-r--r--doc/html/basic.html67
-rw-r--r--doc/html/bearings.pngbin0 -> 1244 bytes
-rw-r--r--doc/html/biff-example.html198
-rw-r--r--doc/html/bigtable-example.html115
-rw-r--r--doc/html/book-dialog.pngbin0 -> 3529 bytes
-rw-r--r--doc/html/book-main.pngbin0 -> 4405 bytes
-rw-r--r--doc/html/brush-styles.pngbin0 -> 4657 bytes
-rw-r--r--doc/html/bughowto.html63
-rw-r--r--doc/html/buttongroup-w.pngbin0 -> 688 bytes
-rw-r--r--doc/html/buttongroups-example.html240
-rw-r--r--doc/html/canvas-chart-example.html814
-rw-r--r--doc/html/canvas-example.html941
-rw-r--r--doc/html/canvas.html82
-rw-r--r--doc/html/chart-canvastext-h.html73
-rw-r--r--doc/html/chart-canvasview-cpp.html97
-rw-r--r--doc/html/chart-canvasview-h.html78
-rw-r--r--doc/html/chart-chart-pro.html62
-rw-r--r--doc/html/chart-chartform-cpp.html573
-rw-r--r--doc/html/chart-chartform-h.html132
-rw-r--r--doc/html/chart-chartform_canvas-cpp.html268
-rw-r--r--doc/html/chart-chartform_files-cpp.html155
-rw-r--r--doc/html/chart-element-cpp.html169
-rw-r--r--doc/html/chart-element-h.html126
-rw-r--r--doc/html/chart-forms.pngbin0 -> 10472 bytes
-rw-r--r--doc/html/chart-main-cpp.html63
-rw-r--r--doc/html/chart-main.pngbin0 -> 9442 bytes
-rw-r--r--doc/html/chart-main2.pngbin0 -> 7127 bytes
-rw-r--r--doc/html/chart-options.pngbin0 -> 4060 bytes
-rw-r--r--doc/html/chart-optionsform-cpp.html177
-rw-r--r--doc/html/chart-optionsform-h.html102
-rw-r--r--doc/html/chart-setdata.pngbin0 -> 6919 bytes
-rw-r--r--doc/html/chart-setdataform-cpp.html250
-rw-r--r--doc/html/chart-setdataform-h.html89
-rw-r--r--doc/html/checklists-example.html283
-rw-r--r--doc/html/classchart.html354
-rw-r--r--doc/html/classes.html975
-rw-r--r--doc/html/clientserver-example.html352
-rw-r--r--doc/html/collection.html250
-rw-r--r--doc/html/commercialeditions.html161
-rw-r--r--doc/html/commonproblems.html217
-rw-r--r--doc/html/concrete-connections.pngbin0 -> 8669 bytes
-rw-r--r--doc/html/coordsys.html215
-rw-r--r--doc/html/coordsys.pngbin0 -> 822 bytes
-rw-r--r--doc/html/credits.html321
-rw-r--r--doc/html/cursor-example.html199
-rw-r--r--doc/html/cursors.pngbin0 -> 5365 bytes
-rw-r--r--doc/html/customlayout-example.html851
-rw-r--r--doc/html/customlayout.html246
-rw-r--r--doc/html/customstyles.html213
-rw-r--r--doc/html/database.html66
-rw-r--r--doc/html/databaseconnections.pngbin0 -> 15129 bytes
-rw-r--r--doc/html/datastreamformat.html245
-rw-r--r--doc/html/datetimewidgets.pngbin0 -> 2208 bytes
-rw-r--r--doc/html/dclock-example.html221
-rw-r--r--doc/html/debug.html171
-rw-r--r--doc/html/demo-example.html49
-rw-r--r--doc/html/dependencies.pngbin0 -> 27414 bytes
-rw-r--r--doc/html/designer-manual-1.html78
-rw-r--r--doc/html/designer-manual-10.html75
-rw-r--r--doc/html/designer-manual-11.html210
-rw-r--r--doc/html/designer-manual-12.html159
-rw-r--r--doc/html/designer-manual-13.html447
-rw-r--r--doc/html/designer-manual-14.html144
-rw-r--r--doc/html/designer-manual-15.html88
-rw-r--r--doc/html/designer-manual-16.html522
-rw-r--r--doc/html/designer-manual-2.html294
-rw-r--r--doc/html/designer-manual-3.html852
-rw-r--r--doc/html/designer-manual-4.html528
-rw-r--r--doc/html/designer-manual-5.html111
-rw-r--r--doc/html/designer-manual-6.html312
-rw-r--r--doc/html/designer-manual-7.html400
-rw-r--r--doc/html/designer-manual-8.html402
-rw-r--r--doc/html/designer-manual-9.html222
-rw-r--r--doc/html/designer-manual.html57
-rw-r--r--doc/html/designer.dcf19
-rw-r--r--doc/html/designer1.jpgbin0 -> 21898 bytes
-rw-r--r--doc/html/designer2.jpgbin0 -> 28098 bytes
-rw-r--r--doc/html/designer3.jpgbin0 -> 27300 bytes
-rw-r--r--doc/html/desktop-example.html401
-rw-r--r--doc/html/dialog1addwidg.pngbin0 -> 4442 bytes
-rw-r--r--doc/html/dialog1layout1.pngbin0 -> 7006 bytes
-rw-r--r--doc/html/dialog1layout2.pngbin0 -> 7241 bytes
-rw-r--r--doc/html/dialog1selewidg.pngbin0 -> 4424 bytes
-rw-r--r--doc/html/dialog1selewidg1.pngbin0 -> 4500 bytes
-rw-r--r--doc/html/dialog1tab.pngbin0 -> 7701 bytes
-rw-r--r--doc/html/dialog2laywidg.pngbin0 -> 2036 bytes
-rw-r--r--doc/html/dialog2sample.pngbin0 -> 1881 bytes
-rw-r--r--doc/html/dialog2setwidg.pngbin0 -> 2312 bytes
-rw-r--r--doc/html/dialog3buttons.pngbin0 -> 8882 bytes
-rw-r--r--doc/html/dialog3clipgrp.pngbin0 -> 4787 bytes
-rw-r--r--doc/html/dialog3grpbox.pngbin0 -> 3274 bytes
-rw-r--r--doc/html/dialog3layclip.pngbin0 -> 5544 bytes
-rw-r--r--doc/html/dialog3layout.pngbin0 -> 5188 bytes
-rw-r--r--doc/html/dialog3sample.pngbin0 -> 4938 bytes
-rw-r--r--doc/html/dialogs.html57
-rw-r--r--doc/html/dirview-example.html751
-rw-r--r--doc/html/distributingqt.html124
-rw-r--r--doc/html/distributor-example.html450
-rw-r--r--doc/html/dnd.html367
-rw-r--r--doc/html/docwindow.pngbin0 -> 9727 bytes
-rw-r--r--doc/html/doneandnext.pngbin0 -> 445 bytes
-rw-r--r--doc/html/draganddrop.html63
-rw-r--r--doc/html/dragdrop-example.html47
-rw-r--r--doc/html/drawdemo-example.html364
-rw-r--r--doc/html/drawlines-example.html186
-rw-r--r--doc/html/edit-dbtable-dialog.pngbin0 -> 5162 bytes
-rw-r--r--doc/html/editcopy.pngbin0 -> 587 bytes
-rw-r--r--doc/html/editcut.pngbin0 -> 480 bytes
-rw-r--r--doc/html/editfind.pngbin0 -> 776 bytes
-rw-r--r--doc/html/editions.html133
-rw-r--r--doc/html/editpaste.pngbin0 -> 664 bytes
-rw-r--r--doc/html/editredo.pngbin0 -> 362 bytes
-rw-r--r--doc/html/editundo.pngbin0 -> 353 bytes
-rw-r--r--doc/html/emb-accel.html121
-rw-r--r--doc/html/emb-charinput.html111
-rw-r--r--doc/html/emb-classes.html339
-rw-r--r--doc/html/emb-envvars.html104
-rw-r--r--doc/html/emb-features.html256
-rw-r--r--doc/html/emb-fonts.html169
-rw-r--r--doc/html/emb-framebuffer-howto.html234
-rw-r--r--doc/html/emb-install.html157
-rw-r--r--doc/html/emb-performance.html132
-rw-r--r--doc/html/emb-pointer.html80
-rw-r--r--doc/html/emb-porting.html64
-rw-r--r--doc/html/emb-qvfb.html110
-rw-r--r--doc/html/emb-running.html138
-rw-r--r--doc/html/emb-vnc.html68
-rw-r--r--doc/html/embedporting.html89
-rw-r--r--doc/html/environment.html62
-rw-r--r--doc/html/events.html72
-rw-r--r--doc/html/eventsandfilters.html151
-rw-r--r--doc/html/examples.html144
-rw-r--r--doc/html/extension-dialog-example.html168
-rw-r--r--doc/html/faq.html502
-rw-r--r--doc/html/filechooser.pngbin0 -> 215 bytes
-rw-r--r--doc/html/fileiconview-example.html1394
-rw-r--r--doc/html/fileopen.pngbin0 -> 523 bytes
-rw-r--r--doc/html/fileprint.pngbin0 -> 767 bytes
-rw-r--r--doc/html/filesave.pngbin0 -> 510 bytes
-rw-r--r--doc/html/finddialog.pngbin0 -> 3165 bytes
-rw-r--r--doc/html/focus.html167
-rw-r--r--doc/html/forever-example.html196
-rw-r--r--doc/html/frames.pngbin0 -> 10662 bytes
-rw-r--r--doc/html/ftpclient-example.html353
-rw-r--r--doc/html/functions.html3703
-rw-r--r--doc/html/general.pngbin0 -> 11239 bytes
-rw-r--r--doc/html/geomanagement.html66
-rw-r--r--doc/html/geometry.html122
-rw-r--r--doc/html/geometry.pngbin0 -> 8996 bytes
-rw-r--r--doc/html/gpl.html393
-rw-r--r--doc/html/graph.g1n10
-rw-r--r--doc/html/grapher-nsplugin-example.html704
-rw-r--r--doc/html/graphics.html103
-rw-r--r--doc/html/gridlayout.pngbin0 -> 1483 bytes
-rw-r--r--doc/html/groupbox-w.pngbin0 -> 650 bytes
-rw-r--r--doc/html/groups.html143
-rw-r--r--doc/html/guibooks.html100
-rw-r--r--doc/html/headerfilesynonyms170
-rw-r--r--doc/html/headers.html309
-rw-r--r--doc/html/hello-example.html236
-rw-r--r--doc/html/helpsystem-example.html494
-rw-r--r--doc/html/helpsystem.html65
-rw-r--r--doc/html/helpviewer-example.html481
-rw-r--r--doc/html/hierarchy.html605
-rw-r--r--doc/html/how-to-learn-qt.html91
-rw-r--r--doc/html/httpd-example.html195
-rw-r--r--doc/html/i18n-example.html341
-rw-r--r--doc/html/i18n.html570
-rw-r--r--doc/html/iconset.pngbin0 -> 2149 bytes
-rw-r--r--doc/html/iconview-example.html127
-rw-r--r--doc/html/iconview-simple_dd-main-cpp.html230
-rw-r--r--doc/html/iconview-simple_dd-main-h.html103
-rw-r--r--doc/html/iconview.html51
-rw-r--r--doc/html/images.html93
-rw-r--r--doc/html/index8446
-rw-r--r--doc/html/index.html186
-rw-r--r--doc/html/inputdialogs.pngbin0 -> 4509 bytes
-rw-r--r--doc/html/install-mac.html139
-rw-r--r--doc/html/install-win.html45
-rw-r--r--doc/html/install-x11.html136
-rw-r--r--doc/html/installation.html50
-rw-r--r--doc/html/integration.html168
-rw-r--r--doc/html/io.html83
-rw-r--r--doc/html/keyfeatures30.html357
-rw-r--r--doc/html/layout-example.html211
-rw-r--r--doc/html/layout.html246
-rw-r--r--doc/html/layout1.pngbin0 -> 106 bytes
-rw-r--r--doc/html/layout2.pngbin0 -> 245 bytes
-rw-r--r--doc/html/license.html153
-rw-r--r--doc/html/licenses.html327
-rw-r--r--doc/html/life-example.html298
-rw-r--r--doc/html/lineedits-example.html394
-rw-r--r--doc/html/linguist-manual-1.html56
-rw-r--r--doc/html/linguist-manual-2.html81
-rw-r--r--doc/html/linguist-manual-3.html197
-rw-r--r--doc/html/linguist-manual-4.html564
-rw-r--r--doc/html/linguist-manual.html45
-rw-r--r--doc/html/linguist.dcf7
-rw-r--r--doc/html/linguist.pngbin0 -> 22819 bytes
-rw-r--r--doc/html/listbox-example.html325
-rw-r--r--doc/html/listboxcombo-example.html309
-rw-r--r--doc/html/listviews-example.html513
-rw-r--r--doc/html/logo32.pngbin0 -> 1491 bytes
-rw-r--r--doc/html/mac-differences.html289
-rw-r--r--doc/html/mail-example.html243
-rw-r--r--doc/html/mainclasses.html281
-rw-r--r--doc/html/mainwindow-w.pngbin0 -> 2903 bytes
-rw-r--r--doc/html/makeqpf.html56
-rw-r--r--doc/html/mdi-example.html600
-rw-r--r--doc/html/menu-example.html472
-rw-r--r--doc/html/menubar.pngbin0 -> 511 bytes
-rw-r--r--doc/html/metaobjects.html93
-rw-r--r--doc/html/misc.html75
-rw-r--r--doc/html/moc.html452
-rw-r--r--doc/html/modules.html69
-rw-r--r--doc/html/motif-customwidget-example.html148
-rw-r--r--doc/html/motif-dialog-example.html237
-rw-r--r--doc/html/motif-examples.html52
-rw-r--r--doc/html/motif-extension.html127
-rw-r--r--doc/html/motif-todo.pngbin0 -> 4465 bytes
-rw-r--r--doc/html/motif-walkthrough-1.html98
-rw-r--r--doc/html/motif-walkthrough-10.html106
-rw-r--r--doc/html/motif-walkthrough-2.html101
-rw-r--r--doc/html/motif-walkthrough-3.html178
-rw-r--r--doc/html/motif-walkthrough-4.html102
-rw-r--r--doc/html/motif-walkthrough-5.html109
-rw-r--r--doc/html/motif-walkthrough-6.html129
-rw-r--r--doc/html/motif-walkthrough-7.html214
-rw-r--r--doc/html/motif-walkthrough-8.html212
-rw-r--r--doc/html/motif-walkthrough-9.html104
-rw-r--r--doc/html/motif-walkthrough.html150
-rw-r--r--doc/html/movies-example.html344
-rw-r--r--doc/html/multimedia.html52
-rw-r--r--doc/html/mw-addmainwidg.pngbin0 -> 6587 bytes
-rw-r--r--doc/html/mw-coloriconv.pngbin0 -> 7710 bytes
-rw-r--r--doc/html/mw-colortable.pngbin0 -> 7928 bytes
-rw-r--r--doc/html/mw-colortool1.pngbin0 -> 13147 bytes
-rw-r--r--doc/html/mw-colortool2.pngbin0 -> 14473 bytes
-rw-r--r--doc/html/mw-conn1.pngbin0 -> 34262 bytes
-rw-r--r--doc/html/mw-conn2.pngbin0 -> 37317 bytes
-rw-r--r--doc/html/mw-conn3.pngbin0 -> 36033 bytes
-rw-r--r--doc/html/mw-conn4.pngbin0 -> 44644 bytes
-rw-r--r--doc/html/mw-dragaction.pngbin0 -> 1623 bytes
-rw-r--r--doc/html/mw-dragviewitem.pngbin0 -> 1770 bytes
-rw-r--r--doc/html/mw-editforw.pngbin0 -> 9885 bytes
-rw-r--r--doc/html/mw-editfunc.pngbin0 -> 21778 bytes
-rw-r--r--doc/html/mw-editincimp.pngbin0 -> 11707 bytes
-rw-r--r--doc/html/mw-editvar.pngbin0 -> 18055 bytes
-rw-r--r--doc/html/mw-laycoloriconv.pngbin0 -> 6926 bytes
-rw-r--r--doc/html/mw-laycolortable.pngbin0 -> 7971 bytes
-rw-r--r--doc/html/mw-laymainwidg.pngbin0 -> 6507 bytes
-rw-r--r--doc/html/mw-menuwiz.pngbin0 -> 43206 bytes
-rw-r--r--doc/html/mw-newfile.pngbin0 -> 19374 bytes
-rw-r--r--doc/html/mw-newmenuitem.pngbin0 -> 1536 bytes
-rw-r--r--doc/html/mw-objexplor.pngbin0 -> 23232 bytes
-rw-r--r--doc/html/mw-previewform.pngbin0 -> 8260 bytes
-rw-r--r--doc/html/mw-projset.pngbin0 -> 11740 bytes
-rw-r--r--doc/html/mw-propedit.pngbin0 -> 24291 bytes
-rw-r--r--doc/html/mw-separator.pngbin0 -> 2489 bytes
-rw-r--r--doc/html/mw-settoolwiz.pngbin0 -> 45008 bytes
-rw-r--r--doc/html/mw-startdesign.pngbin0 -> 23966 bytes
-rw-r--r--doc/html/mw-toolbarpits.pngbin0 -> 220 bytes
-rw-r--r--doc/html/netscape-plugin.html129
-rw-r--r--doc/html/network-examples.html53
-rw-r--r--doc/html/network.html466
-rw-r--r--doc/html/networkprotocol-example.html364
-rw-r--r--doc/html/next.pngbin0 -> 418 bytes
-rw-r--r--doc/html/nextunfinished.pngbin0 -> 456 bytes
-rw-r--r--doc/html/nsplugin-examples.html51
-rw-r--r--doc/html/object.html78
-rw-r--r--doc/html/objectmodel.html52
-rw-r--r--doc/html/objecttrees.html68
-rw-r--r--doc/html/opengl-box-example.html50
-rw-r--r--doc/html/opengl-examples.html54
-rw-r--r--doc/html/opengl-gear-example.html47
-rw-r--r--doc/html/opengl-overlay-example.html52
-rw-r--r--doc/html/opengl-overlay-x11-example.html105
-rw-r--r--doc/html/opengl-pixmap-example.html48
-rw-r--r--doc/html/opengl-sharedbox-example.html49
-rw-r--r--doc/html/opengl-texture-example.html47
-rw-r--r--doc/html/opengl-x11-overlays.html115
-rw-r--r--doc/html/opengl.html105
-rw-r--r--doc/html/opensourceedition.html100
-rw-r--r--doc/html/organizers.html60
-rw-r--r--doc/html/outliner-example.html279
-rw-r--r--doc/html/overviews-list.html124
-rw-r--r--doc/html/palette.pngbin0 -> 4091 bytes
-rw-r--r--doc/html/pdf1.pngbin0 -> 8610 bytes
-rw-r--r--doc/html/pen-cap-styles.pngbin0 -> 2055 bytes
-rw-r--r--doc/html/pen-join-styles.pngbin0 -> 2369 bytes
-rw-r--r--doc/html/pen-styles.pngbin0 -> 4020 bytes
-rw-r--r--doc/html/penstyles.pngbin0 -> 238 bytes
-rw-r--r--doc/html/phrasebookdialog.pngbin0 -> 4857 bytes
-rw-r--r--doc/html/phrasebookopen.pngbin0 -> 883 bytes
-rw-r--r--doc/html/picture-example.html182
-rw-r--r--doc/html/pictures.html95
-rw-r--r--doc/html/plugins-howto.html262
-rw-r--r--doc/html/plugins.html59
-rw-r--r--doc/html/popup-example.html247
-rw-r--r--doc/html/porting.html803
-rw-r--r--doc/html/porting2.html965
-rw-r--r--doc/html/prev.pngbin0 -> 412 bytes
-rw-r--r--doc/html/prevunfinished.pngbin0 -> 449 bytes
-rw-r--r--doc/html/primes.html169
-rw-r--r--doc/html/process-example.html148
-rw-r--r--doc/html/progress-example.html390
-rw-r--r--doc/html/progressbar-example.html289
-rw-r--r--doc/html/properties.html221
-rw-r--r--doc/html/propertydocs5312
-rw-r--r--doc/html/propertyindex425
-rw-r--r--doc/html/qaccel-h.html155
-rw-r--r--doc/html/qaccel-members.html110
-rw-r--r--doc/html/qaccel.html337
-rw-r--r--doc/html/qaccessible-h.html340
-rw-r--r--doc/html/qaccessible-members.html49
-rw-r--r--doc/html/qaccessible.html291
-rw-r--r--doc/html/qaccessibleinterface-members.html65
-rw-r--r--doc/html/qaccessibleinterface.html233
-rw-r--r--doc/html/qaccessibleobject-members.html110
-rw-r--r--doc/html/qaccessibleobject.html86
-rw-r--r--doc/html/qaction-application-example.html438
-rw-r--r--doc/html/qaction-examples.html49
-rw-r--r--doc/html/qaction-h.html263
-rw-r--r--doc/html/qaction-members.html120
-rw-r--r--doc/html/qaction.html520
-rw-r--r--doc/html/qactiongroup-members.html128
-rw-r--r--doc/html/qactiongroup.html219
-rw-r--r--doc/html/qactiongroup_menu.pngbin0 -> 1227 bytes
-rw-r--r--doc/html/qactiongroup_menu_subwidget.pngbin0 -> 1781 bytes
-rw-r--r--doc/html/qactiongroup_toolbar.pngbin0 -> 2004 bytes
-rw-r--r--doc/html/qactiongroup_toolbar_exclusive_subwidget.pngbin0 -> 2170 bytes
-rw-r--r--doc/html/qactiongroup_toolbar_nonexclusive_subwidget.pngbin0 -> 2622 bytes
-rw-r--r--doc/html/qapplication-h.html576
-rw-r--r--doc/html/qapplication-members.html196
-rw-r--r--doc/html/qapplication.html2046
-rw-r--r--doc/html/qarray.html47
-rw-r--r--doc/html/qasciicache-h.html170
-rw-r--r--doc/html/qasciicache-members.html64
-rw-r--r--doc/html/qasciicache.html252
-rw-r--r--doc/html/qasciicacheiterator-members.html62
-rw-r--r--doc/html/qasciicacheiterator.html211
-rw-r--r--doc/html/qasciidict-h.html168
-rw-r--r--doc/html/qasciidict-members.html67
-rw-r--r--doc/html/qasciidict.html325
-rw-r--r--doc/html/qasciidictiterator-members.html57
-rw-r--r--doc/html/qasciidictiterator.html179
-rw-r--r--doc/html/qassistantclient-h.html124
-rw-r--r--doc/html/qassistantclient-members.html98
-rw-r--r--doc/html/qassistantclient.html179
-rw-r--r--doc/html/qasyncimageio-h.html156
-rw-r--r--doc/html/qasyncio-h.html165
-rw-r--r--doc/html/qasyncio-members.html49
-rw-r--r--doc/html/qasyncio.html83
-rw-r--r--doc/html/qaxaggregated-members.html50
-rw-r--r--doc/html/qaxaggregated.html155
-rw-r--r--doc/html/qaxbase-h.html209
-rw-r--r--doc/html/qaxbase-members.html71
-rw-r--r--doc/html/qaxbase.html658
-rw-r--r--doc/html/qaxbindable-h.html133
-rw-r--r--doc/html/qaxbindable-members.html53
-rw-r--r--doc/html/qaxbindable.html169
-rw-r--r--doc/html/qaxcontainer-example-qutlook.html243
-rw-r--r--doc/html/qaxcontainer-example-webbrowser.html128
-rw-r--r--doc/html/qaxcontainer-examples.html51
-rw-r--r--doc/html/qaxcontainer.html188
-rw-r--r--doc/html/qaxfactory-h.html327
-rw-r--r--doc/html/qaxfactory-members.html70
-rw-r--r--doc/html/qaxfactory.html424
-rw-r--r--doc/html/qaxobject-h.html104
-rw-r--r--doc/html/qaxobject-members.html113
-rw-r--r--doc/html/qaxobject.html205
-rw-r--r--doc/html/qaxscript-h.html261
-rw-r--r--doc/html/qaxscript-members.html100
-rw-r--r--doc/html/qaxscript.html199
-rw-r--r--doc/html/qaxscriptengine-members.html119
-rw-r--r--doc/html/qaxscriptengine.html146
-rw-r--r--doc/html/qaxscriptmanager-members.html99
-rw-r--r--doc/html/qaxscriptmanager.html230
-rw-r--r--doc/html/qaxserver-demo-hierarchy.html82
-rw-r--r--doc/html/qaxserver-demo-menus.html50
-rw-r--r--doc/html/qaxserver-demo-multiple.html79
-rw-r--r--doc/html/qaxserver-demo-opengl.html68
-rw-r--r--doc/html/qaxserver-demo-simple.html80
-rw-r--r--doc/html/qaxserver-demo-tetrax.html62
-rw-r--r--doc/html/qaxserver-demo-wrapper.html92
-rw-r--r--doc/html/qaxserver-example-hierarchy.html262
-rw-r--r--doc/html/qaxserver-example-menus.html59
-rw-r--r--doc/html/qaxserver-example-multiple.html201
-rw-r--r--doc/html/qaxserver-example-opengl.html206
-rw-r--r--doc/html/qaxserver-example-simple.html182
-rw-r--r--doc/html/qaxserver-example-tetrax.html124
-rw-r--r--doc/html/qaxserver-example-wrapper.html207
-rw-r--r--doc/html/qaxserver-examples.html58
-rw-r--r--doc/html/qaxserver.html1073
-rw-r--r--doc/html/qaxwidget-h.html121
-rw-r--r--doc/html/qaxwidget-members.html363
-rw-r--r--doc/html/qaxwidget.html250
-rw-r--r--doc/html/qbig5codec-h.html134
-rw-r--r--doc/html/qbig5codec-members.html71
-rw-r--r--doc/html/qbig5codec.html101
-rw-r--r--doc/html/qbig5hkscscodec-members.html71
-rw-r--r--doc/html/qbig5hkscscodec.html104
-rw-r--r--doc/html/qbitarray-h.html214
-rw-r--r--doc/html/qbitarray-members.html82
-rw-r--r--doc/html/qbitarray.html350
-rw-r--r--doc/html/qbitmap-h.html118
-rw-r--r--doc/html/qbitmap-members.html107
-rw-r--r--doc/html/qbitmap.html186
-rw-r--r--doc/html/qbitval-members.html49
-rw-r--r--doc/html/qbitval.html90
-rw-r--r--doc/html/qboxlayout-members.html144
-rw-r--r--doc/html/qboxlayout.html367
-rw-r--r--doc/html/qbrush-h.html139
-rw-r--r--doc/html/qbrush-members.html57
-rw-r--r--doc/html/qbrush.html239
-rw-r--r--doc/html/qbttngrp-m.pngbin0 -> 542 bytes
-rw-r--r--doc/html/qbttngrp-w.pngbin0 -> 491 bytes
-rw-r--r--doc/html/qbuffer-h.html148
-rw-r--r--doc/html/qbuffer-members.html87
-rw-r--r--doc/html/qbuffer.html148
-rw-r--r--doc/html/qbutton-h.html279
-rw-r--r--doc/html/qbutton-members.html370
-rw-r--r--doc/html/qbutton.html477
-rw-r--r--doc/html/qbuttongroup-h.html166
-rw-r--r--doc/html/qbuttongroup-h.pngbin0 -> 1682 bytes
-rw-r--r--doc/html/qbuttongroup-members.html392
-rw-r--r--doc/html/qbuttongroup-v.pngbin0 -> 1644 bytes
-rw-r--r--doc/html/qbuttongroup.html264
-rw-r--r--doc/html/qbytearray-members.html74
-rw-r--r--doc/html/qbytearray.html119
-rw-r--r--doc/html/qcache-h.html166
-rw-r--r--doc/html/qcache-members.html64
-rw-r--r--doc/html/qcache.html279
-rw-r--r--doc/html/qcacheiterator-members.html62
-rw-r--r--doc/html/qcacheiterator.html211
-rw-r--r--doc/html/qcanvas-h.html861
-rw-r--r--doc/html/qcanvas-members.html124
-rw-r--r--doc/html/qcanvas.html588
-rw-r--r--doc/html/qcanvas.pngbin0 -> 53919 bytes
-rw-r--r--doc/html/qcanvasellipse-members.html104
-rw-r--r--doc/html/qcanvasellipse.html169
-rw-r--r--doc/html/qcanvasellipse.pngbin0 -> 2657 bytes
-rw-r--r--doc/html/qcanvasitem-members.html87
-rw-r--r--doc/html/qcanvasitem.html480
-rw-r--r--doc/html/qcanvasitemlist-members.html80
-rw-r--r--doc/html/qcanvasitemlist.html72
-rw-r--r--doc/html/qcanvasline-members.html101
-rw-r--r--doc/html/qcanvasline.html109
-rw-r--r--doc/html/qcanvaspixmap-members.html111
-rw-r--r--doc/html/qcanvaspixmap.html128
-rw-r--r--doc/html/qcanvaspixmaparray-members.html55
-rw-r--r--doc/html/qcanvaspixmaparray.html192
-rw-r--r--doc/html/qcanvaspolygon-members.html100
-rw-r--r--doc/html/qcanvaspolygon.html126
-rw-r--r--doc/html/qcanvaspolygonalitem-members.html98
-rw-r--r--doc/html/qcanvaspolygonalitem.html235
-rw-r--r--doc/html/qcanvasrectangle-members.html104
-rw-r--r--doc/html/qcanvasrectangle.html147
-rw-r--r--doc/html/qcanvasspline-members.html103
-rw-r--r--doc/html/qcanvasspline.html121
-rw-r--r--doc/html/qcanvassprite-members.html100
-rw-r--r--doc/html/qcanvassprite.html303
-rw-r--r--doc/html/qcanvastext-members.html95
-rw-r--r--doc/html/qcanvastext.html169
-rw-r--r--doc/html/qcanvasview-members.html429
-rw-r--r--doc/html/qcanvasview.html190
-rw-r--r--doc/html/qcdestyle-h.html131
-rw-r--r--doc/html/qcdestyle-members.html113
-rw-r--r--doc/html/qcdestyle.html83
-rw-r--r--doc/html/qchar-members.html74
-rw-r--r--doc/html/qchar.html599
-rw-r--r--doc/html/qcharref-members.html46
-rw-r--r--doc/html/qcharref.html64
-rw-r--r--doc/html/qcheckbox-h.html141
-rw-r--r--doc/html/qcheckbox-members.html374
-rw-r--r--doc/html/qcheckbox.html302
-rw-r--r--doc/html/qchecklistitem-members.html120
-rw-r--r--doc/html/qchecklistitem.html256
-rw-r--r--doc/html/qchecktableitem-members.html75
-rw-r--r--doc/html/qchecktableitem.html113
-rw-r--r--doc/html/qchildevent-members.html52
-rw-r--r--doc/html/qchildevent.html98
-rw-r--r--doc/html/qchkbox-m.pngbin0 -> 313 bytes
-rw-r--r--doc/html/qchkbox-w.pngbin0 -> 328 bytes
-rw-r--r--doc/html/qclipboard-h.html179
-rw-r--r--doc/html/qclipboard-members.html104
-rw-r--r--doc/html/qclipboard.html447
-rw-r--r--doc/html/qcloseevent-members.html52
-rw-r--r--doc/html/qcloseevent.html134
-rw-r--r--doc/html/qcollection.html47
-rw-r--r--doc/html/qcolor-h.html274
-rw-r--r--doc/html/qcolor-members.html75
-rw-r--r--doc/html/qcolor.html618
-rw-r--r--doc/html/qcolordialog-h.html138
-rw-r--r--doc/html/qcolordialog-members.html356
-rw-r--r--doc/html/qcolordialog.html118
-rw-r--r--doc/html/qcolordlg-w.pngbin0 -> 21310 bytes
-rw-r--r--doc/html/qcolordrag-members.html106
-rw-r--r--doc/html/qcolordrag.html98
-rw-r--r--doc/html/qcolorgroup-members.html71
-rw-r--r--doc/html/qcolorgroup.html346
-rw-r--r--doc/html/qcombo1-m.pngbin0 -> 229 bytes
-rw-r--r--doc/html/qcombo1-w.pngbin0 -> 271 bytes
-rw-r--r--doc/html/qcombo2-m.pngbin0 -> 268 bytes
-rw-r--r--doc/html/qcombo3-m.pngbin0 -> 250 bytes
-rw-r--r--doc/html/qcombobox-h.html251
-rw-r--r--doc/html/qcombobox-members.html378
-rw-r--r--doc/html/qcombobox.html602
-rw-r--r--doc/html/qcombotableitem-members.html81
-rw-r--r--doc/html/qcombotableitem.html179
-rw-r--r--doc/html/qcommonstyle-h.html182
-rw-r--r--doc/html/qcommonstyle-members.html110
-rw-r--r--doc/html/qcommonstyle.html70
-rw-r--r--doc/html/qconststring-members.html49
-rw-r--r--doc/html/qconststring.html91
-rw-r--r--doc/html/qcontextmenuevent-members.html62
-rw-r--r--doc/html/qcontextmenuevent.html223
-rw-r--r--doc/html/qcopchannel-members.html95
-rw-r--r--doc/html/qcopchannel.html178
-rw-r--r--doc/html/qcopchannel_qws-h.html133
-rw-r--r--doc/html/qcstring-h.html437
-rw-r--r--doc/html/qcstring-members.html102
-rw-r--r--doc/html/qcstring.html1105
-rw-r--r--doc/html/qcursor-h.html198
-rw-r--r--doc/html/qcursor-members.html59
-rw-r--r--doc/html/qcursor.html287
-rw-r--r--doc/html/qcustomevent-members.html51
-rw-r--r--doc/html/qcustomevent.html136
-rw-r--r--doc/html/qcustommenuitem-members.html53
-rw-r--r--doc/html/qcustommenuitem.html137
-rw-r--r--doc/html/qd-actioneditor.pngbin0 -> 10233 bytes
-rw-r--r--doc/html/qd-colortool-name.pngbin0 -> 2541 bytes
-rw-r--r--doc/html/qd-databrowserwzd.pngbin0 -> 19944 bytes
-rw-r--r--doc/html/qd-databrowserwzdpage2.pngbin0 -> 32502 bytes
-rw-r--r--doc/html/qd-databrowserwzdpage3.pngbin0 -> 22592 bytes
-rw-r--r--doc/html/qd-databrowserwzdpage4.pngbin0 -> 32069 bytes
-rw-r--r--doc/html/qd-databrowserwzdpage5.pngbin0 -> 22517 bytes
-rw-r--r--doc/html/qd-databrowserwzdpage6.pngbin0 -> 18330 bytes
-rw-r--r--doc/html/qd-datatablewzd.pngbin0 -> 19897 bytes
-rw-r--r--doc/html/qd-datatablewzdpage2.pngbin0 -> 32526 bytes
-rw-r--r--doc/html/qd-datatablewzdpage3.pngbin0 -> 18091 bytes
-rw-r--r--doc/html/qd-datatablewzdpage4.pngbin0 -> 32049 bytes
-rw-r--r--doc/html/qd-datatablewzdpage5.pngbin0 -> 18307 bytes
-rw-r--r--doc/html/qd-dataviewwzd.pngbin0 -> 19887 bytes
-rw-r--r--doc/html/qd-dataviewwzdpage2.pngbin0 -> 32462 bytes
-rw-r--r--doc/html/qd-dataviewwzdpage3.pngbin0 -> 22276 bytes
-rw-r--r--doc/html/qd-dataviewwzdpage4.pngbin0 -> 17980 bytes
-rw-r--r--doc/html/qd-helptoolbuttons3.pngbin0 -> 251 bytes
-rw-r--r--doc/html/qd-mainwinwzd.pngbin0 -> 18166 bytes
-rw-r--r--doc/html/qd-mainwinwzdpage2.pngbin0 -> 29041 bytes
-rw-r--r--doc/html/qd-preface.pngbin0 -> 153599 bytes
-rw-r--r--doc/html/qd-preferences-dlg.pngbin0 -> 9264 bytes
-rw-r--r--doc/html/qdatabrowser-h.html221
-rw-r--r--doc/html/qdatabrowser-members.html394
-rw-r--r--doc/html/qdatabrowser.html715
-rw-r--r--doc/html/qdatapump-members.html89
-rw-r--r--doc/html/qdatapump.html74
-rw-r--r--doc/html/qdatasink-members.html52
-rw-r--r--doc/html/qdatasink.html93
-rw-r--r--doc/html/qdatasource-members.html54
-rw-r--r--doc/html/qdatasource.html120
-rw-r--r--doc/html/qdatastream-h.html238
-rw-r--r--doc/html/qdatastream-members.html65
-rw-r--r--doc/html/qdatastream.html570
-rw-r--r--doc/html/qdatatable-h.html288
-rw-r--r--doc/html/qdatatable-members.html604
-rw-r--r--doc/html/qdatatable.html809
-rw-r--r--doc/html/qdataview-h.html134
-rw-r--r--doc/html/qdataview-members.html346
-rw-r--r--doc/html/qdataview.html151
-rw-r--r--doc/html/qdate-members.html78
-rw-r--r--doc/html/qdate.html459
-rw-r--r--doc/html/qdateedit-members.html358
-rw-r--r--doc/html/qdateedit.html296
-rw-r--r--doc/html/qdatetime-h.html298
-rw-r--r--doc/html/qdatetime-members.html70
-rw-r--r--doc/html/qdatetime.html393
-rw-r--r--doc/html/qdatetimeedit-h.html338
-rw-r--r--doc/html/qdatetimeedit-members.html345
-rw-r--r--doc/html/qdatetimeedit.html169
-rw-r--r--doc/html/qdatetimeeditbase-members.html336
-rw-r--r--doc/html/qdatetimeeditbase.html57
-rw-r--r--doc/html/qdeepcopy-h.html125
-rw-r--r--doc/html/qdeepcopy-members.html49
-rw-r--r--doc/html/qdeepcopy.html168
-rw-r--r--doc/html/qdesktopwidget-h.html146
-rw-r--r--doc/html/qdesktopwidget-members.html346
-rw-r--r--doc/html/qdesktopwidget.html202
-rw-r--r--doc/html/qdesktopwidget.pngbin0 -> 8670 bytes
-rw-r--r--doc/html/qdial-h.html198
-rw-r--r--doc/html/qdial-m.pngbin0 -> 450 bytes
-rw-r--r--doc/html/qdial-members.html376
-rw-r--r--doc/html/qdial-w.pngbin0 -> 482 bytes
-rw-r--r--doc/html/qdial.html352
-rw-r--r--doc/html/qdialog-h.html186
-rw-r--r--doc/html/qdialog-members.html352
-rw-r--r--doc/html/qdialog.html355
-rw-r--r--doc/html/qdict-h.html168
-rw-r--r--doc/html/qdict-members.html67
-rw-r--r--doc/html/qdict.html399
-rw-r--r--doc/html/qdictiterator-members.html56
-rw-r--r--doc/html/qdictiterator.html172
-rw-r--r--doc/html/qdir-example.html409
-rw-r--r--doc/html/qdir-h.html295
-rw-r--r--doc/html/qdir-members.html96
-rw-r--r--doc/html/qdir.html818
-rw-r--r--doc/html/qdirectpainter-members.html141
-rw-r--r--doc/html/qdirectpainter.html201
-rw-r--r--doc/html/qdirectpainter_qws-h.html125
-rw-r--r--doc/html/qdns-h.html215
-rw-r--r--doc/html/qdns-members.html103
-rw-r--r--doc/html/qdns.html334
-rw-r--r--doc/html/qdockarea-h.html236
-rw-r--r--doc/html/qdockarea-members.html349
-rw-r--r--doc/html/qdockarea.html278
-rw-r--r--doc/html/qdockwindow-h.html282
-rw-r--r--doc/html/qdockwindow-members.html393
-rw-r--r--doc/html/qdockwindow.html509
-rw-r--r--doc/html/qdockwindow.pngbin0 -> 1212 bytes
-rw-r--r--doc/html/qdom-h.html722
-rw-r--r--doc/html/qdomattr-members.html112
-rw-r--r--doc/html/qdomattr.html165
-rw-r--r--doc/html/qdomcdatasection-members.html116
-rw-r--r--doc/html/qdomcdatasection.html116
-rw-r--r--doc/html/qdomcharacterdata-members.html115
-rw-r--r--doc/html/qdomcharacterdata.html160
-rw-r--r--doc/html/qdomcomment-members.html115
-rw-r--r--doc/html/qdomcomment.html114
-rw-r--r--doc/html/qdomdocument-members.html127
-rw-r--r--doc/html/qdomdocument.html504
-rw-r--r--doc/html/qdomdocumentfragment-members.html107
-rw-r--r--doc/html/qdomdocumentfragment.html117
-rw-r--r--doc/html/qdomdocumenttype-members.html113
-rw-r--r--doc/html/qdomdocumenttype.html150
-rw-r--r--doc/html/qdomelement-members.html125
-rw-r--r--doc/html/qdomelement.html350
-rw-r--r--doc/html/qdomentity-members.html110
-rw-r--r--doc/html/qdomentity.html138
-rw-r--r--doc/html/qdomentityreference-members.html107
-rw-r--r--doc/html/qdomentityreference.html125
-rw-r--r--doc/html/qdomimplementation-members.html55
-rw-r--r--doc/html/qdomimplementation.html149
-rw-r--r--doc/html/qdomnamednodemap-members.html61
-rw-r--r--doc/html/qdomnamednodemap.html200
-rw-r--r--doc/html/qdomnode-members.html107
-rw-r--r--doc/html/qdomnode.html741
-rw-r--r--doc/html/qdomnodelist-members.html54
-rw-r--r--doc/html/qdomnodelist.html127
-rw-r--r--doc/html/qdomnotation-members.html109
-rw-r--r--doc/html/qdomnotation.html126
-rw-r--r--doc/html/qdomprocessinginstruction-members.html110
-rw-r--r--doc/html/qdomprocessinginstruction.html134
-rw-r--r--doc/html/qdomtext-members.html116
-rw-r--r--doc/html/qdomtext.html122
-rw-r--r--doc/html/qdoublevalidator-members.html99
-rw-r--r--doc/html/qdoublevalidator.html151
-rw-r--r--doc/html/qdragenterevent-members.html65
-rw-r--r--doc/html/qdragenterevent.html73
-rw-r--r--doc/html/qdragleaveevent-members.html49
-rw-r--r--doc/html/qdragleaveevent.html72
-rw-r--r--doc/html/qdragmoveevent-members.html65
-rw-r--r--doc/html/qdragmoveevent.html105
-rw-r--r--doc/html/qdragobject-h.html323
-rw-r--r--doc/html/qdragobject-members.html103
-rw-r--r--doc/html/qdragobject.html220
-rw-r--r--doc/html/qdrawutil-h.html173
-rw-r--r--doc/html/qdropevent-members.html64
-rw-r--r--doc/html/qdropevent.html225
-rw-r--r--doc/html/qdropsite-h.html104
-rw-r--r--doc/html/qdropsite-members.html48
-rw-r--r--doc/html/qdropsite.html75
-rw-r--r--doc/html/qeditorfactory-h.html120
-rw-r--r--doc/html/qeditorfactory-members.html93
-rw-r--r--doc/html/qeditorfactory.html104
-rw-r--r--doc/html/qembed.html100
-rw-r--r--doc/html/qerrormessage-h.html134
-rw-r--r--doc/html/qerrormessage-members.html354
-rw-r--r--doc/html/qerrormessage.html105
-rw-r--r--doc/html/qerrormessage.pngbin0 -> 2364 bytes
-rw-r--r--doc/html/qeucjpcodec-h.html156
-rw-r--r--doc/html/qeucjpcodec-members.html73
-rw-r--r--doc/html/qeucjpcodec.html116
-rw-r--r--doc/html/qeuckrcodec-h.html145
-rw-r--r--doc/html/qeuckrcodec-members.html71
-rw-r--r--doc/html/qeuckrcodec.html95
-rw-r--r--doc/html/qevent-h.html662
-rw-r--r--doc/html/qevent-members.html50
-rw-r--r--doc/html/qevent.html193
-rw-r--r--doc/html/qeventloop-h.html167
-rw-r--r--doc/html/qeventloop-members.html106
-rw-r--r--doc/html/qeventloop.html280
-rw-r--r--doc/html/qfd-example.html295
-rw-r--r--doc/html/qfile-h.html176
-rw-r--r--doc/html/qfile-members.html96
-rw-r--r--doc/html/qfile.html503
-rw-r--r--doc/html/qfiledialog-h.html392
-rw-r--r--doc/html/qfiledialog-members.html397
-rw-r--r--doc/html/qfiledialog.html907
-rw-r--r--doc/html/qfiledlg-m.pngbin0 -> 5450 bytes
-rw-r--r--doc/html/qfiledlg-w.pngbin0 -> 5439 bytes
-rw-r--r--doc/html/qfileiconprovider-members.html90
-rw-r--r--doc/html/qfileiconprovider.html83
-rw-r--r--doc/html/qfileinfo-h.html202
-rw-r--r--doc/html/qfileinfo-members.html80
-rw-r--r--doc/html/qfileinfo.html503
-rw-r--r--doc/html/qfilepreview-members.html48
-rw-r--r--doc/html/qfilepreview.html82
-rw-r--r--doc/html/qfocusdata-h.html115
-rw-r--r--doc/html/qfocusdata-members.html53
-rw-r--r--doc/html/qfocusdata.html123
-rw-r--r--doc/html/qfocusevent-members.html54
-rw-r--r--doc/html/qfocusevent.html133
-rw-r--r--doc/html/qfont-examples.html48
-rw-r--r--doc/html/qfont-h.html417
-rw-r--r--doc/html/qfont-members.html105
-rw-r--r--doc/html/qfont.html922
-rw-r--r--doc/html/qfontdatabase-h.html272
-rw-r--r--doc/html/qfontdatabase-members.html63
-rw-r--r--doc/html/qfontdatabase.html322
-rw-r--r--doc/html/qfontdialog-h.html157
-rw-r--r--doc/html/qfontdialog-members.html351
-rw-r--r--doc/html/qfontdialog.html143
-rw-r--r--doc/html/qfontdlg-w.pngbin0 -> 3982 bytes
-rw-r--r--doc/html/qfontinfo-h.html136
-rw-r--r--doc/html/qfontinfo-members.html59
-rw-r--r--doc/html/qfontinfo.html191
-rw-r--r--doc/html/qfontmanager-members.html51
-rw-r--r--doc/html/qfontmanager.html100
-rw-r--r--doc/html/qfontmanager_qws-h.html296
-rw-r--r--doc/html/qfontmetrics-h.html162
-rw-r--r--doc/html/qfontmetrics-members.html68
-rw-r--r--doc/html/qfontmetrics.html419
-rw-r--r--doc/html/qframe-h.html216
-rw-r--r--doc/html/qframe-members.html356
-rw-r--r--doc/html/qframe.html370
-rw-r--r--doc/html/qftp-h.html247
-rw-r--r--doc/html/qftp-members.html150
-rw-r--r--doc/html/qftp.html693
-rw-r--r--doc/html/qgb18030codec-h.html160
-rw-r--r--doc/html/qgb18030codec-members.html71
-rw-r--r--doc/html/qgb18030codec.html119
-rw-r--r--doc/html/qgb2312codec-members.html71
-rw-r--r--doc/html/qgb2312codec.html62
-rw-r--r--doc/html/qgbkcodec-members.html71
-rw-r--r--doc/html/qgbkcodec.html67
-rw-r--r--doc/html/qgfx_qws-h.html493
-rw-r--r--doc/html/qgfxdriverfactory-members.html48
-rw-r--r--doc/html/qgfxdriverfactory.html78
-rw-r--r--doc/html/qgfxdriverfactory_qws-h.html101
-rw-r--r--doc/html/qgfxdriverplugin-members.html50
-rw-r--r--doc/html/qgfxdriverplugin.html97
-rw-r--r--doc/html/qgfxdriverplugin_qws-h.html115
-rw-r--r--doc/html/qgl-h.html586
-rw-r--r--doc/html/qgl-members.html46
-rw-r--r--doc/html/qgl.html98
-rw-r--r--doc/html/qglayoutiterator-members.html50
-rw-r--r--doc/html/qglayoutiterator.html98
-rw-r--r--doc/html/qglcolormap-h.html144
-rw-r--r--doc/html/qglcolormap-members.html58
-rw-r--r--doc/html/qglcolormap.html179
-rw-r--r--doc/html/qglcontext-members.html71
-rw-r--r--doc/html/qglcontext.html344
-rw-r--r--doc/html/qglformat-members.html75
-rw-r--r--doc/html/qglformat.html474
-rw-r--r--doc/html/qglobal-h.html1178
-rw-r--r--doc/html/qglwidget-members.html368
-rw-r--r--doc/html/qglwidget.html583
-rw-r--r--doc/html/qgrid-h.html122
-rw-r--r--doc/html/qgrid-m.pngbin0 -> 308 bytes
-rw-r--r--doc/html/qgrid-members.html357
-rw-r--r--doc/html/qgrid.html89
-rw-r--r--doc/html/qgridlayout-members.html152
-rw-r--r--doc/html/qgridlayout.html424
-rw-r--r--doc/html/qgridview-h.html184
-rw-r--r--doc/html/qgridview-members.html443
-rw-r--r--doc/html/qgridview.html261
-rw-r--r--doc/html/qgroupbox-h.html210
-rw-r--r--doc/html/qgroupbox-members.html378
-rw-r--r--doc/html/qgroupbox.html330
-rw-r--r--doc/html/qgroupboxes.pngbin0 -> 2058 bytes
-rw-r--r--doc/html/qgrpbox-w.pngbin0 -> 252 bytes
-rw-r--r--doc/html/qguardedptr-h.html189
-rw-r--r--doc/html/qguardedptr-members.html55
-rw-r--r--doc/html/qguardedptr.html194
-rw-r--r--doc/html/qhbox-h.html121
-rw-r--r--doc/html/qhbox-m.pngbin0 -> 308 bytes
-rw-r--r--doc/html/qhbox-members.html358
-rw-r--r--doc/html/qhbox.html105
-rw-r--r--doc/html/qhboxlayout-members.html144
-rw-r--r--doc/html/qhboxlayout.html115
-rw-r--r--doc/html/qhboxlayout.pngbin0 -> 1004 bytes
-rw-r--r--doc/html/qhbuttongroup-h.html113
-rw-r--r--doc/html/qhbuttongroup-members.html393
-rw-r--r--doc/html/qhbuttongroup.html89
-rw-r--r--doc/html/qheader-h.html264
-rw-r--r--doc/html/qheader-m.pngbin0 -> 346 bytes
-rw-r--r--doc/html/qheader-members.html389
-rw-r--r--doc/html/qheader-w.pngbin0 -> 380 bytes
-rw-r--r--doc/html/qheader.html607
-rw-r--r--doc/html/qhebrewcodec-members.html71
-rw-r--r--doc/html/qhebrewcodec.html114
-rw-r--r--doc/html/qhgroupbox-h.html112
-rw-r--r--doc/html/qhgroupbox-members.html378
-rw-r--r--doc/html/qhgroupbox.html87
-rw-r--r--doc/html/qhideevent-members.html49
-rw-r--r--doc/html/qhideevent.html74
-rw-r--r--doc/html/qhostaddress-h.html146
-rw-r--r--doc/html/qhostaddress-members.html59
-rw-r--r--doc/html/qhostaddress.html200
-rw-r--r--doc/html/qhttp-h.html322
-rw-r--r--doc/html/qhttp-members.html146
-rw-r--r--doc/html/qhttp.html593
-rw-r--r--doc/html/qhttpheader-members.html64
-rw-r--r--doc/html/qhttpheader.html221
-rw-r--r--doc/html/qhttprequestheader-members.html66
-rw-r--r--doc/html/qhttprequestheader.html157
-rw-r--r--doc/html/qhttpresponseheader-members.html64
-rw-r--r--doc/html/qhttpresponseheader.html106
-rw-r--r--doc/html/qicondrag-members.html105
-rw-r--r--doc/html/qicondrag.html124
-rw-r--r--doc/html/qicondragevent-members.html52
-rw-r--r--doc/html/qicondragevent.html99
-rw-r--r--doc/html/qicondragitem-members.html50
-rw-r--r--doc/html/qicondragitem.html91
-rw-r--r--doc/html/qiconfactory-members.html53
-rw-r--r--doc/html/qiconfactory.html112
-rw-r--r--doc/html/qiconset-h.html177
-rw-r--r--doc/html/qiconset-members.html59
-rw-r--r--doc/html/qiconset.html328
-rw-r--r--doc/html/qiconview-h.html559
-rw-r--r--doc/html/qiconview-m.pngbin0 -> 2666 bytes
-rw-r--r--doc/html/qiconview-members.html503
-rw-r--r--doc/html/qiconview-w.pngbin0 -> 2702 bytes
-rw-r--r--doc/html/qiconview.html1009
-rw-r--r--doc/html/qiconviewitem-members.html98
-rw-r--r--doc/html/qiconviewitem.html626
-rw-r--r--doc/html/qimage-h.html470
-rw-r--r--doc/html/qimage-members.html116
-rw-r--r--doc/html/qimage.html1117
-rw-r--r--doc/html/qimageconsumer-members.html52
-rw-r--r--doc/html/qimageconsumer.html142
-rw-r--r--doc/html/qimagedecoder-members.html55
-rw-r--r--doc/html/qimagedecoder.html154
-rw-r--r--doc/html/qimagedrag-members.html106
-rw-r--r--doc/html/qimagedrag.html120
-rw-r--r--doc/html/qimageformat-members.html47
-rw-r--r--doc/html/qimageformat.html87
-rw-r--r--doc/html/qimageformatplugin-h.html112
-rw-r--r--doc/html/qimageformatplugin-members.html50
-rw-r--r--doc/html/qimageformatplugin.html94
-rw-r--r--doc/html/qimageformattype-members.html50
-rw-r--r--doc/html/qimageformattype.html108
-rw-r--r--doc/html/qimageio-members.html72
-rw-r--r--doc/html/qimageio.html372
-rw-r--r--doc/html/qimevent-members.html55
-rw-r--r--doc/html/qimevent.html173
-rw-r--r--doc/html/qinputdialog-h.html152
-rw-r--r--doc/html/qinputdialog-members.html354
-rw-r--r--doc/html/qinputdialog.html196
-rw-r--r--doc/html/qintcache-h.html169
-rw-r--r--doc/html/qintcache-members.html64
-rw-r--r--doc/html/qintcache.html242
-rw-r--r--doc/html/qintcacheiterator-members.html62
-rw-r--r--doc/html/qintcacheiterator.html211
-rw-r--r--doc/html/qintdict-h.html164
-rw-r--r--doc/html/qintdict-members.html67
-rw-r--r--doc/html/qintdict.html313
-rw-r--r--doc/html/qintdictiterator-members.html57
-rw-r--r--doc/html/qintdictiterator.html176
-rw-r--r--doc/html/qintvalidator-members.html97
-rw-r--r--doc/html/qintvalidator.html176
-rw-r--r--doc/html/qiodevice-h.html209
-rw-r--r--doc/html/qiodevice-members.html85
-rw-r--r--doc/html/qiodevice.html553
-rw-r--r--doc/html/qiodevicesource-members.html56
-rw-r--r--doc/html/qiodevicesource.html108
-rw-r--r--doc/html/qjiscodec-h.html156
-rw-r--r--doc/html/qjiscodec-members.html71
-rw-r--r--doc/html/qjiscodec.html132
-rw-r--r--doc/html/qkbddriverfactory-members.html48
-rw-r--r--doc/html/qkbddriverfactory.html79
-rw-r--r--doc/html/qkbddriverfactory_qws-h.html101
-rw-r--r--doc/html/qkbddriverplugin-members.html50
-rw-r--r--doc/html/qkbddriverplugin.html96
-rw-r--r--doc/html/qkbddriverplugin_qws-h.html115
-rw-r--r--doc/html/qkeyboard_qws-h.html104
-rw-r--r--doc/html/qkeyevent-members.html59
-rw-r--r--doc/html/qkeyevent.html185
-rw-r--r--doc/html/qkeysequence-h.html154
-rw-r--r--doc/html/qkeysequence-members.html57
-rw-r--r--doc/html/qkeysequence.html206
-rw-r--r--doc/html/qlabel-h.html219
-rw-r--r--doc/html/qlabel-m.pngbin0 -> 318 bytes
-rw-r--r--doc/html/qlabel-members.html379
-rw-r--r--doc/html/qlabel-w.pngbin0 -> 318 bytes
-rw-r--r--doc/html/qlabel.html420
-rw-r--r--doc/html/qlayout-h.html518
-rw-r--r--doc/html/qlayout-members.html129
-rw-r--r--doc/html/qlayout.html414
-rw-r--r--doc/html/qlayoutitem-members.html64
-rw-r--r--doc/html/qlayoutitem.html230
-rw-r--r--doc/html/qlayoutiterator-members.html53
-rw-r--r--doc/html/qlayoutiterator.html158
-rw-r--r--doc/html/qlcdnum-m.pngbin0 -> 254 bytes
-rw-r--r--doc/html/qlcdnum-w.pngbin0 -> 254 bytes
-rw-r--r--doc/html/qlcdnumber-h.html191
-rw-r--r--doc/html/qlcdnumber-members.html374
-rw-r--r--doc/html/qlcdnumber.html332
-rw-r--r--doc/html/qlibrary-h.html131
-rw-r--r--doc/html/qlibrary-members.html55
-rw-r--r--doc/html/qlibrary.html290
-rw-r--r--doc/html/qlined-m.pngbin0 -> 192 bytes
-rw-r--r--doc/html/qlined-w.pngbin0 -> 188 bytes
-rw-r--r--doc/html/qlineedit-h.html276
-rw-r--r--doc/html/qlineedit-members.html420
-rw-r--r--doc/html/qlineedit.html773
-rw-r--r--doc/html/qlist.html47
-rw-r--r--doc/html/qlistbox-h.html480
-rw-r--r--doc/html/qlistbox-m.pngbin0 -> 891 bytes
-rw-r--r--doc/html/qlistbox-members.html509
-rw-r--r--doc/html/qlistbox-w.pngbin0 -> 883 bytes
-rw-r--r--doc/html/qlistbox.html1163
-rw-r--r--doc/html/qlistboxitem-members.html65
-rw-r--r--doc/html/qlistboxitem.html217
-rw-r--r--doc/html/qlistboxpixmap-members.html65
-rw-r--r--doc/html/qlistboxpixmap.html136
-rw-r--r--doc/html/qlistboxtext-members.html65
-rw-r--r--doc/html/qlistboxtext.html109
-rw-r--r--doc/html/qlistiterator.html48
-rw-r--r--doc/html/qlistview-h.html650
-rw-r--r--doc/html/qlistview-m.pngbin0 -> 2882 bytes
-rw-r--r--doc/html/qlistview-members.html512
-rw-r--r--doc/html/qlistview-w.pngbin0 -> 2927 bytes
-rw-r--r--doc/html/qlistview.html1231
-rw-r--r--doc/html/qlistviewitem-members.html111
-rw-r--r--doc/html/qlistviewitem.html809
-rw-r--r--doc/html/qlistviewitemiterator-members.html55
-rw-r--r--doc/html/qlistviewitemiterator.html226
-rw-r--r--doc/html/qlistviewitems.pngbin0 -> 8523 bytes
-rw-r--r--doc/html/qlocale-h.html539
-rw-r--r--doc/html/qlocale-members.html67
-rw-r--r--doc/html/qlocale.html852
-rw-r--r--doc/html/qlocalfs-h.html120
-rw-r--r--doc/html/qlocalfs-members.html118
-rw-r--r--doc/html/qlocalfs.html82
-rw-r--r--doc/html/qmacmime-members.html59
-rw-r--r--doc/html/qmacmime.html181
-rw-r--r--doc/html/qmacstyle-members.html115
-rw-r--r--doc/html/qmacstyle.html160
-rw-r--r--doc/html/qmacstyle_mac-h.html194
-rw-r--r--doc/html/qmag-example.html446
-rw-r--r--doc/html/qmainwindow-h.html306
-rw-r--r--doc/html/qmainwindow-m.pngbin0 -> 1221 bytes
-rw-r--r--doc/html/qmainwindow-members.html388
-rw-r--r--doc/html/qmainwindow-qdockareas.pngbin0 -> 5353 bytes
-rw-r--r--doc/html/qmainwindow-w.pngbin0 -> 1190 bytes
-rw-r--r--doc/html/qmainwindow.html956
-rw-r--r--doc/html/qmake-manual-1.html46
-rw-r--r--doc/html/qmake-manual-2.html55
-rw-r--r--doc/html/qmake-manual-3.html94
-rw-r--r--doc/html/qmake-manual-4.html174
-rw-r--r--doc/html/qmake-manual-5.html115
-rw-r--r--doc/html/qmake-manual-6.html242
-rw-r--r--doc/html/qmake-manual-7.html206
-rw-r--r--doc/html/qmake-manual-8.html732
-rw-r--r--doc/html/qmake-manual.html49
-rw-r--r--doc/html/qmake.dcf11
-rw-r--r--doc/html/qmap-h.html921
-rw-r--r--doc/html/qmap-members.html68
-rw-r--r--doc/html/qmap.html574
-rw-r--r--doc/html/qmapconstiterator-members.html54
-rw-r--r--doc/html/qmapconstiterator.html173
-rw-r--r--doc/html/qmapiterator-members.html54
-rw-r--r--doc/html/qmapiterator.html196
-rw-r--r--doc/html/qmemarray-h.html166
-rw-r--r--doc/html/qmemarray-members.html75
-rw-r--r--doc/html/qmemarray.html561
-rw-r--r--doc/html/qmenubar-h.html250
-rw-r--r--doc/html/qmenubar-m.pngbin0 -> 303 bytes
-rw-r--r--doc/html/qmenubar-members.html398
-rw-r--r--doc/html/qmenubar-w.pngbin0 -> 251 bytes
-rw-r--r--doc/html/qmenubar.html593
-rw-r--r--doc/html/qmenudata-h.html331
-rw-r--r--doc/html/qmenudata-members.html83
-rw-r--r--doc/html/qmenudata.html706
-rw-r--r--doc/html/qmessagebox-crit.pngbin0 -> 348 bytes
-rw-r--r--doc/html/qmessagebox-h.html268
-rw-r--r--doc/html/qmessagebox-info.pngbin0 -> 356 bytes
-rw-r--r--doc/html/qmessagebox-members.html369
-rw-r--r--doc/html/qmessagebox-quest.pngbin0 -> 363 bytes
-rw-r--r--doc/html/qmessagebox-warn.pngbin0 -> 332 bytes
-rw-r--r--doc/html/qmessagebox.html751
-rw-r--r--doc/html/qmetaobject-h.html331
-rw-r--r--doc/html/qmetaobject-members.html60
-rw-r--r--doc/html/qmetaobject.html187
-rw-r--r--doc/html/qmetaproperty-members.html60
-rw-r--r--doc/html/qmetaproperty.html173
-rw-r--r--doc/html/qmime-h.html245
-rw-r--r--doc/html/qmimesource-members.html52
-rw-r--r--doc/html/qmimesource.html109
-rw-r--r--doc/html/qmimesourcefactory-members.html63
-rw-r--r--doc/html/qmimesourcefactory.html277
-rw-r--r--doc/html/qmlined-m.pngbin0 -> 1117 bytes
-rw-r--r--doc/html/qmlined-w.pngbin0 -> 1090 bytes
-rw-r--r--doc/html/qmotif-h.html112
-rw-r--r--doc/html/qmotif-members.html108
-rw-r--r--doc/html/qmotif.html115
-rw-r--r--doc/html/qmotifdialog-h.html153
-rw-r--r--doc/html/qmotifdialog-members.html356
-rw-r--r--doc/html/qmotifdialog.html205
-rw-r--r--doc/html/qmotifplusstyle-h.html169
-rw-r--r--doc/html/qmotifplusstyle-members.html112
-rw-r--r--doc/html/qmotifplusstyle.html71
-rw-r--r--doc/html/qmotifstyle-h.html181
-rw-r--r--doc/html/qmotifstyle-members.html112
-rw-r--r--doc/html/qmotifstyle.html93
-rw-r--r--doc/html/qmotifwidget-h.html115
-rw-r--r--doc/html/qmotifwidget-members.html339
-rw-r--r--doc/html/qmotifwidget.html115
-rw-r--r--doc/html/qmouse_qws-h.html146
-rw-r--r--doc/html/qmousedriverfactory-members.html48
-rw-r--r--doc/html/qmousedriverfactory.html79
-rw-r--r--doc/html/qmousedriverfactory_qws-h.html101
-rw-r--r--doc/html/qmousedriverplugin-members.html50
-rw-r--r--doc/html/qmousedriverplugin.html97
-rw-r--r--doc/html/qmousedriverplugin_qws-h.html115
-rw-r--r--doc/html/qmouseevent-members.html61
-rw-r--r--doc/html/qmouseevent.html233
-rw-r--r--doc/html/qmoveevent-members.html51
-rw-r--r--doc/html/qmoveevent.html82
-rw-r--r--doc/html/qmovie-h.html165
-rw-r--r--doc/html/qmovie-members.html74
-rw-r--r--doc/html/qmovie.html388
-rw-r--r--doc/html/qmovie.pngbin0 -> 2401 bytes
-rw-r--r--doc/html/qmsgbox-m.pngbin0 -> 1337 bytes
-rw-r--r--doc/html/qmsgbox-w.pngbin0 -> 1282 bytes
-rw-r--r--doc/html/qmultilineedit-h.html186
-rw-r--r--doc/html/qmultilineedit-members.html578
-rw-r--r--doc/html/qmultilineedit.html343
-rw-r--r--doc/html/qmutex-h.html159
-rw-r--r--doc/html/qmutex-members.html52
-rw-r--r--doc/html/qmutex.html195
-rw-r--r--doc/html/qmutexlocker-members.html49
-rw-r--r--doc/html/qmutexlocker.html220
-rw-r--r--doc/html/qnamespace-h.html965
-rw-r--r--doc/html/qnetwork-h.html42
-rw-r--r--doc/html/qnetworkoperation-members.html102
-rw-r--r--doc/html/qnetworkoperation.html169
-rw-r--r--doc/html/qnetworkprotocol-h.html289
-rw-r--r--doc/html/qnetworkprotocol-members.html119
-rw-r--r--doc/html/qnetworkprotocol.html532
-rw-r--r--doc/html/qnp-h.html231
-rw-r--r--doc/html/qnpinstance-members.html112
-rw-r--r--doc/html/qnpinstance.html321
-rw-r--r--doc/html/qnplugin-members.html58
-rw-r--r--doc/html/qnplugin.html181
-rw-r--r--doc/html/qnpstream-members.html58
-rw-r--r--doc/html/qnpstream.html130
-rw-r--r--doc/html/qnpwidget-members.html341
-rw-r--r--doc/html/qnpwidget.html127
-rw-r--r--doc/html/qobject-h.html307
-rw-r--r--doc/html/qobject-members.html90
-rw-r--r--doc/html/qobject.html958
-rw-r--r--doc/html/qobjectcleanuphandler-h.html113
-rw-r--r--doc/html/qobjectcleanuphandler-members.html94
-rw-r--r--doc/html/qobjectcleanuphandler.html139
-rw-r--r--doc/html/qobjectlist-h.html137
-rw-r--r--doc/html/qobjectlist-members.html90
-rw-r--r--doc/html/qobjectlist.html96
-rw-r--r--doc/html/qobjectlistiterator-members.html62
-rw-r--r--doc/html/qobjectlistiterator.html79
-rw-r--r--doc/html/qpaintdevice-h.html466
-rw-r--r--doc/html/qpaintdevice-members.html73
-rw-r--r--doc/html/qpaintdevice.html464
-rw-r--r--doc/html/qpaintdevicemetrics-h.html128
-rw-r--r--doc/html/qpaintdevicemetrics-members.html55
-rw-r--r--doc/html/qpaintdevicemetrics.html150
-rw-r--r--doc/html/qpainter-h.html766
-rw-r--r--doc/html/qpainter-members.html127
-rw-r--r--doc/html/qpainter.html1626
-rw-r--r--doc/html/qpaintevent-members.html52
-rw-r--r--doc/html/qpaintevent.html119
-rw-r--r--doc/html/qpair-h.html153
-rw-r--r--doc/html/qpair-members.html47
-rw-r--r--doc/html/qpair.html126
-rw-r--r--doc/html/qpalette-h.html234
-rw-r--r--doc/html/qpalette-members.html66
-rw-r--r--doc/html/qpalette.html308
-rw-r--r--doc/html/qpen-h.html147
-rw-r--r--doc/html/qpen-members.html61
-rw-r--r--doc/html/qpen.html287
-rw-r--r--doc/html/qpicture-h.html172
-rw-r--r--doc/html/qpicture-members.html86
-rw-r--r--doc/html/qpicture.html270
-rw-r--r--doc/html/qpixmap-h.html399
-rw-r--r--doc/html/qpixmap-members.html108
-rw-r--r--doc/html/qpixmap.html825
-rw-r--r--doc/html/qpixmapcache-h.html108
-rw-r--r--doc/html/qpixmapcache-members.html52
-rw-r--r--doc/html/qpixmapcache.html191
-rw-r--r--doc/html/qplatinumstyle-h.html162
-rw-r--r--doc/html/qplatinumstyle-members.html112
-rw-r--r--doc/html/qplatinumstyle.html84
-rw-r--r--doc/html/qpngimagepacker-members.html49
-rw-r--r--doc/html/qpngimagepacker.html88
-rw-r--r--doc/html/qpngio-h.html152
-rw-r--r--doc/html/qpoint-h.html264
-rw-r--r--doc/html/qpoint-members.html59
-rw-r--r--doc/html/qpoint.html378
-rw-r--r--doc/html/qpointarray-h.html163
-rw-r--r--doc/html/qpointarray-members.html83
-rw-r--r--doc/html/qpointarray.html285
-rw-r--r--doc/html/qpopmenu-fancy.pngbin0 -> 765 bytes
-rw-r--r--doc/html/qpopmenu-m.pngbin0 -> 383 bytes
-rw-r--r--doc/html/qpopmenu-w.pngbin0 -> 447 bytes
-rw-r--r--doc/html/qpopupmenu-h.html245
-rw-r--r--doc/html/qpopupmenu-members.html405
-rw-r--r--doc/html/qpopupmenu.html830
-rw-r--r--doc/html/qprintdlg-m.pngbin0 -> 5058 bytes
-rw-r--r--doc/html/qprinter-h.html329
-rw-r--r--doc/html/qprinter-members.html121
-rw-r--r--doc/html/qprinter.html758
-rw-r--r--doc/html/qprocess-examples.html48
-rw-r--r--doc/html/qprocess-h.html223
-rw-r--r--doc/html/qprocess-members.html119
-rw-r--r--doc/html/qprocess.html633
-rw-r--r--doc/html/qprogbar-m.pngbin0 -> 198 bytes
-rw-r--r--doc/html/qprogbar-w.pngbin0 -> 200 bytes
-rw-r--r--doc/html/qprogdlg-m.pngbin0 -> 890 bytes
-rw-r--r--doc/html/qprogdlg-w.pngbin0 -> 898 bytes
-rw-r--r--doc/html/qprogressbar-h.html194
-rw-r--r--doc/html/qprogressbar-members.html369
-rw-r--r--doc/html/qprogressbar.html224
-rw-r--r--doc/html/qprogressdialog-h.html186
-rw-r--r--doc/html/qprogressdialog-members.html375
-rw-r--r--doc/html/qprogressdialog.html409
-rw-r--r--doc/html/qptrcollection-h.html124
-rw-r--r--doc/html/qptrcollection-members.html54
-rw-r--r--doc/html/qptrcollection.html177
-rw-r--r--doc/html/qptrdict-h.html163
-rw-r--r--doc/html/qptrdict-members.html67
-rw-r--r--doc/html/qptrdict.html316
-rw-r--r--doc/html/qptrdictiterator-members.html57
-rw-r--r--doc/html/qptrdictiterator.html181
-rw-r--r--doc/html/qptrlist-h.html240
-rw-r--r--doc/html/qptrlist-members.html90
-rw-r--r--doc/html/qptrlist.html741
-rw-r--r--doc/html/qptrlistiterator-members.html63
-rw-r--r--doc/html/qptrlistiterator.html234
-rw-r--r--doc/html/qptrqueue-h.html139
-rw-r--r--doc/html/qptrqueue-members.html62
-rw-r--r--doc/html/qptrqueue.html216
-rw-r--r--doc/html/qptrstack-h.html139
-rw-r--r--doc/html/qptrstack-members.html62
-rw-r--r--doc/html/qptrstack.html201
-rw-r--r--doc/html/qptrvector-h.html163
-rw-r--r--doc/html/qptrvector-members.html76
-rw-r--r--doc/html/qptrvector.html393
-rw-r--r--doc/html/qpushbt-m.pngbin0 -> 221 bytes
-rw-r--r--doc/html/qpushbt-w.pngbin0 -> 250 bytes
-rw-r--r--doc/html/qpushbutton-h.html194
-rw-r--r--doc/html/qpushbutton-members.html382
-rw-r--r--doc/html/qpushbutton.html470
-rw-r--r--doc/html/qqueue.html47
-rw-r--r--doc/html/qradiobt-m.pngbin0 -> 391 bytes
-rw-r--r--doc/html/qradiobt-w.pngbin0 -> 340 bytes
-rw-r--r--doc/html/qradiobutton-h.html136
-rw-r--r--doc/html/qradiobutton-members.html371
-rw-r--r--doc/html/qradiobutton.html278
-rw-r--r--doc/html/qrangecontrol-h.html239
-rw-r--r--doc/html/qrangecontrol-members.html70
-rw-r--r--doc/html/qrangecontrol.html336
-rw-r--r--doc/html/qrect-h.html321
-rw-r--r--doc/html/qrect-members.html105
-rw-r--r--doc/html/qrect.html645
-rw-r--r--doc/html/qregexp-h.html165
-rw-r--r--doc/html/qregexp-members.html72
-rw-r--r--doc/html/qregexp.html1037
-rw-r--r--doc/html/qregexpvalidator-members.html94
-rw-r--r--doc/html/qregexpvalidator.html161
-rw-r--r--doc/html/qregion-h.html222
-rw-r--r--doc/html/qregion-members.html72
-rw-r--r--doc/html/qregion.html364
-rw-r--r--doc/html/qresizeevent-members.html51
-rw-r--r--doc/html/qresizeevent.html82
-rw-r--r--doc/html/qrtlcodec-h.html112
-rw-r--r--doc/html/qs-addwidg.pngbin0 -> 6529 bytes
-rw-r--r--doc/html/qs-editconn1.pngbin0 -> 20594 bytes
-rw-r--r--doc/html/qs-editconn2.pngbin0 -> 31271 bytes
-rw-r--r--doc/html/qs-editfunc.pngbin0 -> 20499 bytes
-rw-r--r--doc/html/qs-editlistbox1.pngbin0 -> 13690 bytes
-rw-r--r--doc/html/qs-laygrid.pngbin0 -> 8531 bytes
-rw-r--r--doc/html/qs-layhoriz.pngbin0 -> 8673 bytes
-rw-r--r--doc/html/qs-layvert.pngbin0 -> 8305 bytes
-rw-r--r--doc/html/qs-newdlg.pngbin0 -> 2009 bytes
-rw-r--r--doc/html/qs-projset.pngbin0 -> 11923 bytes
-rw-r--r--doc/html/qs-pushbutt.pngbin0 -> 7364 bytes
-rw-r--r--doc/html/qs-spacers.pngbin0 -> 7454 bytes
-rw-r--r--doc/html/qs-taborder.pngbin0 -> 8270 bytes
-rw-r--r--doc/html/qs-txtlbl.pngbin0 -> 5734 bytes
-rw-r--r--doc/html/qscrbar-m.pngbin0 -> 245 bytes
-rw-r--r--doc/html/qscrbar-w.pngbin0 -> 230 bytes
-rw-r--r--doc/html/qscreen-members.html88
-rw-r--r--doc/html/qscreen.html440
-rw-r--r--doc/html/qscrollbar-h.html242
-rw-r--r--doc/html/qscrollbar-members.html377
-rw-r--r--doc/html/qscrollbar.html382
-rw-r--r--doc/html/qscrollview-cl.pngbin0 -> 9722 bytes
-rw-r--r--doc/html/qscrollview-h.html314
-rw-r--r--doc/html/qscrollview-m.pngbin0 -> 420 bytes
-rw-r--r--doc/html/qscrollview-members.html424
-rw-r--r--doc/html/qscrollview-vp.pngbin0 -> 6975 bytes
-rw-r--r--doc/html/qscrollview-vp2.pngbin0 -> 8551 bytes
-rw-r--r--doc/html/qscrollview-w.pngbin0 -> 411 bytes
-rw-r--r--doc/html/qscrollview.html930
-rw-r--r--doc/html/qsemaphore-h.html126
-rw-r--r--doc/html/qsemaphore-members.html55
-rw-r--r--doc/html/qsemaphore.html149
-rw-r--r--doc/html/qserversocket-h.html139
-rw-r--r--doc/html/qserversocket-members.html97
-rw-r--r--doc/html/qserversocket.html173
-rw-r--r--doc/html/qsessionmanager-h.html144
-rw-r--r--doc/html/qsessionmanager-members.html104
-rw-r--r--doc/html/qsessionmanager.html346
-rw-r--r--doc/html/qsettings-h.html204
-rw-r--r--doc/html/qsettings-members.html64
-rw-r--r--doc/html/qsettings.html626
-rw-r--r--doc/html/qsgistyle-h.html178
-rw-r--r--doc/html/qsgistyle-members.html113
-rw-r--r--doc/html/qsgistyle.html77
-rw-r--r--doc/html/qshowevent-members.html49
-rw-r--r--doc/html/qshowevent.html72
-rw-r--r--doc/html/qsignal-h.html139
-rw-r--r--doc/html/qsignal-members.html97
-rw-r--r--doc/html/qsignal.html182
-rw-r--r--doc/html/qsignalmapper-h.html123
-rw-r--r--doc/html/qsignalmapper-members.html94
-rw-r--r--doc/html/qsignalmapper.html124
-rw-r--r--doc/html/qsimplerichtext-h.html149
-rw-r--r--doc/html/qsimplerichtext-members.html58
-rw-r--r--doc/html/qsimplerichtext.html223
-rw-r--r--doc/html/qsize-h.html282
-rw-r--r--doc/html/qsize-members.html64
-rw-r--r--doc/html/qsize.html378
-rw-r--r--doc/html/qsizegrip-h.html119
-rw-r--r--doc/html/qsizegrip-m.pngbin0 -> 141 bytes
-rw-r--r--doc/html/qsizegrip-members.html338
-rw-r--r--doc/html/qsizegrip-w.pngbin0 -> 141 bytes
-rw-r--r--doc/html/qsizegrip.html112
-rw-r--r--doc/html/qsizepolicy-h.html173
-rw-r--r--doc/html/qsizepolicy-members.html65
-rw-r--r--doc/html/qsizepolicy.html291
-rw-r--r--doc/html/qsjiscodec-h.html156
-rw-r--r--doc/html/qsjiscodec-members.html73
-rw-r--r--doc/html/qsjiscodec.html113
-rw-r--r--doc/html/qslider-h.html244
-rw-r--r--doc/html/qslider-m.pngbin0 -> 193 bytes
-rw-r--r--doc/html/qslider-members.html378
-rw-r--r--doc/html/qslider-w.pngbin0 -> 224 bytes
-rw-r--r--doc/html/qslider.html368
-rw-r--r--doc/html/qsmetric.pngbin0 -> 10415 bytes
-rw-r--r--doc/html/qsocket-h.html201
-rw-r--r--doc/html/qsocket-members.html151
-rw-r--r--doc/html/qsocket.html500
-rw-r--r--doc/html/qsocketdevice-h.html215
-rw-r--r--doc/html/qsocketdevice-members.html110
-rw-r--r--doc/html/qsocketdevice.html419
-rw-r--r--doc/html/qsocketnotifier-h.html138
-rw-r--r--doc/html/qsocketnotifier-members.html95
-rw-r--r--doc/html/qsocketnotifier.html183
-rw-r--r--doc/html/qsortedlist-h.html108
-rw-r--r--doc/html/qsortedlist-members.html90
-rw-r--r--doc/html/qsortedlist.html95
-rw-r--r--doc/html/qsound-h.html170
-rw-r--r--doc/html/qsound-members.html99
-rw-r--r--doc/html/qsound.html180
-rw-r--r--doc/html/qspaceritem-members.html64
-rw-r--r--doc/html/qspaceritem.html119
-rw-r--r--doc/html/qspinbox-h.html217
-rw-r--r--doc/html/qspinbox-m.pngbin0 -> 244 bytes
-rw-r--r--doc/html/qspinbox-members.html388
-rw-r--r--doc/html/qspinbox-w.pngbin0 -> 236 bytes
-rw-r--r--doc/html/qspinbox.html561
-rw-r--r--doc/html/qsplashscreen-h.html125
-rw-r--r--doc/html/qsplashscreen-members.html345
-rw-r--r--doc/html/qsplashscreen.html193
-rw-r--r--doc/html/qsplitter-h.html214
-rw-r--r--doc/html/qsplitter-m.pngbin0 -> 168 bytes
-rw-r--r--doc/html/qsplitter-members.html378
-rw-r--r--doc/html/qsplitter-w.pngbin0 -> 164 bytes
-rw-r--r--doc/html/qsplitter.html337
-rw-r--r--doc/html/qsql-h.html144
-rw-r--r--doc/html/qsql-members.html47
-rw-r--r--doc/html/qsql.html121
-rw-r--r--doc/html/qsqlcursor-h.html204
-rw-r--r--doc/html/qsqlcursor-members.html121
-rw-r--r--doc/html/qsqlcursor.html761
-rw-r--r--doc/html/qsqldatabase-h.html199
-rw-r--r--doc/html/qsqldatabase-members.html124
-rw-r--r--doc/html/qsqldatabase.html668
-rw-r--r--doc/html/qsqldriver-h.html169
-rw-r--r--doc/html/qsqldriver-members.html109
-rw-r--r--doc/html/qsqldriver.html295
-rw-r--r--doc/html/qsqldriverplugin-h.html117
-rw-r--r--doc/html/qsqldriverplugin-members.html50
-rw-r--r--doc/html/qsqldriverplugin.html100
-rw-r--r--doc/html/qsqleditorfactory-h.html121
-rw-r--r--doc/html/qsqleditorfactory-members.html93
-rw-r--r--doc/html/qsqleditorfactory.html111
-rw-r--r--doc/html/qsqlerror-h.html137
-rw-r--r--doc/html/qsqlerror-members.html59
-rw-r--r--doc/html/qsqlerror.html157
-rw-r--r--doc/html/qsqlfield-h.html198
-rw-r--r--doc/html/qsqlfield-members.html60
-rw-r--r--doc/html/qsqlfield.html216
-rw-r--r--doc/html/qsqlfieldinfo-members.html64
-rw-r--r--doc/html/qsqlfieldinfo.html227
-rw-r--r--doc/html/qsqlform-h.html152
-rw-r--r--doc/html/qsqlform-members.html104
-rw-r--r--doc/html/qsqlform.html237
-rw-r--r--doc/html/qsqlindex-h.html143
-rw-r--r--doc/html/qsqlindex-members.html75
-rw-r--r--doc/html/qsqlindex.html155
-rw-r--r--doc/html/qsqlpropertymap-h.html122
-rw-r--r--doc/html/qsqlpropertymap-members.html54
-rw-r--r--doc/html/qsqlpropertymap.html199
-rw-r--r--doc/html/qsqlquery-h.html177
-rw-r--r--doc/html/qsqlquery-members.html77
-rw-r--r--doc/html/qsqlquery.html595
-rw-r--r--doc/html/qsqlrecord-h.html185
-rw-r--r--doc/html/qsqlrecord-members.html68
-rw-r--r--doc/html/qsqlrecord.html294
-rw-r--r--doc/html/qsqlrecordinfo-members.html50
-rw-r--r--doc/html/qsqlrecordinfo.html101
-rw-r--r--doc/html/qsqlresult-h.html159
-rw-r--r--doc/html/qsqlresult-members.html72
-rw-r--r--doc/html/qsqlresult.html260
-rw-r--r--doc/html/qsqlselectcursor-h.html148
-rw-r--r--doc/html/qsqlselectcursor-members.html121
-rw-r--r--doc/html/qsqlselectcursor.html93
-rw-r--r--doc/html/qstack.html47
-rw-r--r--doc/html/qstatusbar-h.html141
-rw-r--r--doc/html/qstatusbar-m.pngbin0 -> 237 bytes
-rw-r--r--doc/html/qstatusbar-members.html347
-rw-r--r--doc/html/qstatusbar-w.pngbin0 -> 237 bytes
-rw-r--r--doc/html/qstatusbar.html217
-rw-r--r--doc/html/qstoreddrag-members.html104
-rw-r--r--doc/html/qstoreddrag.html93
-rw-r--r--doc/html/qstrilist-members.html90
-rw-r--r--doc/html/qstrilist.html85
-rw-r--r--doc/html/qstring-h.html1160
-rw-r--r--doc/html/qstring-members.html121
-rw-r--r--doc/html/qstring.html2440
-rw-r--r--doc/html/qstringlist-h.html151
-rw-r--r--doc/html/qstringlist-members.html87
-rw-r--r--doc/html/qstringlist.html309
-rw-r--r--doc/html/qstrlist-h.html154
-rw-r--r--doc/html/qstrlist-members.html90
-rw-r--r--doc/html/qstrlist.html120
-rw-r--r--doc/html/qstrlistiterator-members.html61
-rw-r--r--doc/html/qstrlistiterator.html60
-rw-r--r--doc/html/qstyle-h.html801
-rw-r--r--doc/html/qstyle-members.html111
-rw-r--r--doc/html/qstyle.html1220
-rw-r--r--doc/html/qstylefactory-h.html107
-rw-r--r--doc/html/qstylefactory-members.html48
-rw-r--r--doc/html/qstylefactory.html80
-rw-r--r--doc/html/qstyleoption-members.html64
-rw-r--r--doc/html/qstyleoption.html297
-rw-r--r--doc/html/qstyleplugin-h.html117
-rw-r--r--doc/html/qstyleplugin-members.html50
-rw-r--r--doc/html/qstyleplugin.html97
-rw-r--r--doc/html/qstylesheet-h.html298
-rw-r--r--doc/html/qstylesheet-members.html99
-rw-r--r--doc/html/qstylesheet.html383
-rw-r--r--doc/html/qstylesheetitem-members.html94
-rw-r--r--doc/html/qstylesheetitem.html491
-rw-r--r--doc/html/qsyntaxhighlighter-h.html126
-rw-r--r--doc/html/qsyntaxhighlighter-members.html53
-rw-r--r--doc/html/qsyntaxhighlighter.html158
-rw-r--r--doc/html/qt-colors.pngbin0 -> 3849 bytes
-rw-r--r--doc/html/qt-members.html46
-rw-r--r--doc/html/qt-template-lib.html320
-rw-r--r--doc/html/qt.dcf10857
-rw-r--r--doc/html/qt.html1026
-rw-r--r--doc/html/qt33-class-chart.pngbin0 -> 45036 bytes
-rw-r--r--doc/html/qtab-members.html58
-rw-r--r--doc/html/qtab.html140
-rw-r--r--doc/html/qtabbar-h.html231
-rw-r--r--doc/html/qtabbar-m.pngbin0 -> 387 bytes
-rw-r--r--doc/html/qtabbar-members.html362
-rw-r--r--doc/html/qtabbar-w.pngbin0 -> 405 bytes
-rw-r--r--doc/html/qtabbar.html345
-rw-r--r--doc/html/qtabdialog-h.html191
-rw-r--r--doc/html/qtabdialog-members.html380
-rw-r--r--doc/html/qtabdialog.html506
-rw-r--r--doc/html/qtabdlg-m.pngbin0 -> 1709 bytes
-rw-r--r--doc/html/qtabdlg-w.pngbin0 -> 1710 bytes
-rw-r--r--doc/html/qtable-h.html608
-rw-r--r--doc/html/qtable-members.html548
-rw-r--r--doc/html/qtable.html1477
-rw-r--r--doc/html/qtable.pngbin0 -> 6707 bytes
-rw-r--r--doc/html/qtableitem-members.html74
-rw-r--r--doc/html/qtableitem.html497
-rw-r--r--doc/html/qtableitems.pngbin0 -> 3336 bytes
-rw-r--r--doc/html/qtableselection-members.html61
-rw-r--r--doc/html/qtableselection.html188
-rw-r--r--doc/html/qtabletevent-members.html63
-rw-r--r--doc/html/qtabletevent.html251
-rw-r--r--doc/html/qtabwidget-h.html207
-rw-r--r--doc/html/qtabwidget-m.pngbin0 -> 721 bytes
-rw-r--r--doc/html/qtabwidget-members.html369
-rw-r--r--doc/html/qtabwidget-w.pngbin0 -> 667 bytes
-rw-r--r--doc/html/qtabwidget.html440
-rw-r--r--doc/html/qtextbrowser-h.html152
-rw-r--r--doc/html/qtextbrowser-m.pngbin0 -> 20200 bytes
-rw-r--r--doc/html/qtextbrowser-members.html556
-rw-r--r--doc/html/qtextbrowser-w.pngbin0 -> 20278 bytes
-rw-r--r--doc/html/qtextbrowser.html265
-rw-r--r--doc/html/qtextcodec-h.html179
-rw-r--r--doc/html/qtextcodec-members.html73
-rw-r--r--doc/html/qtextcodec.html611
-rw-r--r--doc/html/qtextcodecplugin-h.html115
-rw-r--r--doc/html/qtextcodecplugin-members.html52
-rw-r--r--doc/html/qtextcodecplugin.html114
-rw-r--r--doc/html/qtextdecoder-members.html48
-rw-r--r--doc/html/qtextdecoder.html78
-rw-r--r--doc/html/qtextdrag-members.html107
-rw-r--r--doc/html/qtextdrag.html129
-rw-r--r--doc/html/qtextedit-h.html658
-rw-r--r--doc/html/qtextedit-members.html544
-rw-r--r--doc/html/qtextedit.html1626
-rw-r--r--doc/html/qtextencoder-members.html48
-rw-r--r--doc/html/qtextencoder.html79
-rw-r--r--doc/html/qtextistream-members.html69
-rw-r--r--doc/html/qtextistream.html91
-rw-r--r--doc/html/qtextostream-members.html69
-rw-r--r--doc/html/qtextostream.html90
-rw-r--r--doc/html/qtextstream-h.html383
-rw-r--r--doc/html/qtextstream-members.html70
-rw-r--r--doc/html/qtextstream.html667
-rw-r--r--doc/html/qtextview-h.html119
-rw-r--r--doc/html/qtextview-members.html543
-rw-r--r--doc/html/qtextview.html81
-rw-r--r--doc/html/qthread-h.html175
-rw-r--r--doc/html/qthread-members.html60
-rw-r--r--doc/html/qthread.html252
-rw-r--r--doc/html/qthreadstorage-h.html140
-rw-r--r--doc/html/qthreadstorage-members.html51
-rw-r--r--doc/html/qthreadstorage.html189
-rw-r--r--doc/html/qtime-members.html70
-rw-r--r--doc/html/qtime.html393
-rw-r--r--doc/html/qtimeedit-members.html356
-rw-r--r--doc/html/qtimeedit.html256
-rw-r--r--doc/html/qtimer-h.html136
-rw-r--r--doc/html/qtimer-members.html97
-rw-r--r--doc/html/qtimer.html199
-rw-r--r--doc/html/qtimerevent-members.html50
-rw-r--r--doc/html/qtimerevent.html83
-rw-r--r--doc/html/qtl-qvaluelist-example.html108
-rw-r--r--doc/html/qtl.html57
-rw-r--r--doc/html/qtmac-as-native.html138
-rw-r--r--doc/html/qtoolbar-h.html162
-rw-r--r--doc/html/qtoolbar-members.html399
-rw-r--r--doc/html/qtoolbar.html197
-rw-r--r--doc/html/qtoolbox-h.html171
-rw-r--r--doc/html/qtoolbox-members.html377
-rw-r--r--doc/html/qtoolbox.html248
-rw-r--r--doc/html/qtoolbutton-h.html237
-rw-r--r--doc/html/qtoolbutton-members.html392
-rw-r--r--doc/html/qtoolbutton.html392
-rw-r--r--doc/html/qtooltip-h.html194
-rw-r--r--doc/html/qtooltip-members.html65
-rw-r--r--doc/html/qtooltip.html376
-rw-r--r--doc/html/qtooltipgroup-members.html96
-rw-r--r--doc/html/qtooltipgroup.html152
-rw-r--r--doc/html/qtranslator-h.html212
-rw-r--r--doc/html/qtranslator-members.html102
-rw-r--r--doc/html/qtranslator.html326
-rw-r--r--doc/html/qtranslatormessage-members.html62
-rw-r--r--doc/html/qtranslatormessage.html226
-rw-r--r--doc/html/qtsciicodec-h.html139
-rw-r--r--doc/html/qtsciicodec-members.html71
-rw-r--r--doc/html/qtsciicodec.html94
-rw-r--r--doc/html/quridrag-members.html116
-rw-r--r--doc/html/quridrag.html187
-rw-r--r--doc/html/qurl-h.html175
-rw-r--r--doc/html/qurl-members.html88
-rw-r--r--doc/html/qurl.html478
-rw-r--r--doc/html/qurlinfo-h.html189
-rw-r--r--doc/html/qurlinfo-members.html78
-rw-r--r--doc/html/qurlinfo.html367
-rw-r--r--doc/html/qurloperator-h.html174
-rw-r--r--doc/html/qurloperator-members.html155
-rw-r--r--doc/html/qurloperator.html513
-rw-r--r--doc/html/quuid-h.html239
-rw-r--r--doc/html/quuid-members.html58
-rw-r--r--doc/html/quuid.html236
-rw-r--r--doc/html/qvalidator-h.html214
-rw-r--r--doc/html/qvalidator-members.html92
-rw-r--r--doc/html/qvalidator.html153
-rw-r--r--doc/html/qvaluelist-h.html714
-rw-r--r--doc/html/qvaluelist-members.html82
-rw-r--r--doc/html/qvaluelist.html785
-rw-r--r--doc/html/qvaluelistconstiterator-members.html52
-rw-r--r--doc/html/qvaluelistconstiterator.html157
-rw-r--r--doc/html/qvaluelistiterator-members.html54
-rw-r--r--doc/html/qvaluelistiterator.html207
-rw-r--r--doc/html/qvaluestack-h.html112
-rw-r--r--doc/html/qvaluestack-members.html85
-rw-r--r--doc/html/qvaluestack.html158
-rw-r--r--doc/html/qvaluevector-h.html620
-rw-r--r--doc/html/qvaluevector-members.html73
-rw-r--r--doc/html/qvaluevector.html666
-rw-r--r--doc/html/qvariant-h.html441
-rw-r--r--doc/html/qvariant-members.html135
-rw-r--r--doc/html/qvariant.html1149
-rw-r--r--doc/html/qvbox-h.html110
-rw-r--r--doc/html/qvbox-m.pngbin0 -> 279 bytes
-rw-r--r--doc/html/qvbox-members.html358
-rw-r--r--doc/html/qvbox.html73
-rw-r--r--doc/html/qvboxlayout-members.html144
-rw-r--r--doc/html/qvboxlayout.html106
-rw-r--r--doc/html/qvboxlayout.pngbin0 -> 1035 bytes
-rw-r--r--doc/html/qvbuttongroup-h.html114
-rw-r--r--doc/html/qvbuttongroup-members.html393
-rw-r--r--doc/html/qvbuttongroup.html87
-rw-r--r--doc/html/qvector.html47
-rw-r--r--doc/html/qvgroupbox-h.html113
-rw-r--r--doc/html/qvgroupbox-members.html378
-rw-r--r--doc/html/qvgroupbox.html86
-rw-r--r--doc/html/qwaitcondition-h.html124
-rw-r--r--doc/html/qwaitcondition-members.html51
-rw-r--r--doc/html/qwaitcondition.html197
-rw-r--r--doc/html/qwerty-example.html509
-rw-r--r--doc/html/qwhatsthis-h.html126
-rw-r--r--doc/html/qwhatsthis-members.html59
-rw-r--r--doc/html/qwhatsthis.html239
-rw-r--r--doc/html/qwheelevent-members.html61
-rw-r--r--doc/html/qwheelevent.html203
-rw-r--r--doc/html/qwidget-h.html1071
-rw-r--r--doc/html/qwidget-members.html338
-rw-r--r--doc/html/qwidget.html3256
-rw-r--r--doc/html/qwidgetfactory-h.html231
-rw-r--r--doc/html/qwidgetfactory-members.html54
-rw-r--r--doc/html/qwidgetfactory.html168
-rw-r--r--doc/html/qwidgetitem-members.html63
-rw-r--r--doc/html/qwidgetitem.html116
-rw-r--r--doc/html/qwidgetplugin-h.html165
-rw-r--r--doc/html/qwidgetplugin-members.html56
-rw-r--r--doc/html/qwidgetplugin.html146
-rw-r--r--doc/html/qwidgetstack-h.html157
-rw-r--r--doc/html/qwidgetstack-members.html365
-rw-r--r--doc/html/qwidgetstack.html193
-rw-r--r--doc/html/qwindowdefs-h.html242
-rw-r--r--doc/html/qwindowsmime-members.html60
-rw-r--r--doc/html/qwindowsmime.html196
-rw-r--r--doc/html/qwindowsstyle-h.html180
-rw-r--r--doc/html/qwindowsstyle-members.html110
-rw-r--r--doc/html/qwindowsstyle.html67
-rw-r--r--doc/html/qwindowsystem_qws-h.html621
-rw-r--r--doc/html/qwizard-h.html187
-rw-r--r--doc/html/qwizard-members.html383
-rw-r--r--doc/html/qwizard.html337
-rw-r--r--doc/html/qwizard.pngbin0 -> 2689 bytes
-rw-r--r--doc/html/qwmatrix-h.html174
-rw-r--r--doc/html/qwmatrix-members.html72
-rw-r--r--doc/html/qwmatrix.html449
-rw-r--r--doc/html/qworkspace-h.html214
-rw-r--r--doc/html/qworkspace-members.html349
-rw-r--r--doc/html/qworkspace.html223
-rw-r--r--doc/html/qws.html55
-rw-r--r--doc/html/qwsdecoration-members.html55
-rw-r--r--doc/html/qwsdecoration.html160
-rw-r--r--doc/html/qwsdecoration_qws-h.html118
-rw-r--r--doc/html/qwsinputmethod-members.html53
-rw-r--r--doc/html/qwsinputmethod.html133
-rw-r--r--doc/html/qwskeyboardhandler-members.html91
-rw-r--r--doc/html/qwskeyboardhandler.html106
-rw-r--r--doc/html/qwsmousehandler-members.html53
-rw-r--r--doc/html/qwsmousehandler.html113
-rw-r--r--doc/html/qwsserver-members.html77
-rw-r--r--doc/html/qwsserver.html344
-rw-r--r--doc/html/qwswindow-members.html62
-rw-r--r--doc/html/qwswindow.html171
-rw-r--r--doc/html/qxml-h.html576
-rw-r--r--doc/html/qxmlattributes-members.html58
-rw-r--r--doc/html/qxmlattributes.html200
-rw-r--r--doc/html/qxmlcontenthandler-members.html58
-rw-r--r--doc/html/qxmlcontenthandler.html266
-rw-r--r--doc/html/qxmldeclhandler-members.html50
-rw-r--r--doc/html/qxmldeclhandler.html124
-rw-r--r--doc/html/qxmldefaulthandler-members.html76
-rw-r--r--doc/html/qxmldefaulthandler.html84
-rw-r--r--doc/html/qxmldtdhandler-members.html49
-rw-r--r--doc/html/qxmldtdhandler.html108
-rw-r--r--doc/html/qxmlentityresolver-members.html48
-rw-r--r--doc/html/qxmlentityresolver.html99
-rw-r--r--doc/html/qxmlerrorhandler-members.html50
-rw-r--r--doc/html/qxmlerrorhandler.html114
-rw-r--r--doc/html/qxmlinputsource-members.html54
-rw-r--r--doc/html/qxmlinputsource.html193
-rw-r--r--doc/html/qxmllexicalhandler-members.html54
-rw-r--r--doc/html/qxmllexicalhandler.html177
-rw-r--r--doc/html/qxmllocator-members.html50
-rw-r--r--doc/html/qxmllocator.html94
-rw-r--r--doc/html/qxmlnamespacesupport-members.html57
-rw-r--r--doc/html/qxmlnamespacesupport.html201
-rw-r--r--doc/html/qxmlparseexception-members.html52
-rw-r--r--doc/html/qxmlparseexception.html102
-rw-r--r--doc/html/qxmlreader-members.html65
-rw-r--r--doc/html/qxmlreader.html247
-rw-r--r--doc/html/qxmlsimplereader-members.html68
-rw-r--r--doc/html/qxmlsimplereader.html179
-rw-r--r--doc/html/qxtwidget-h.html110
-rw-r--r--doc/html/qxtwidget-members.html339
-rw-r--r--doc/html/qxtwidget.html147
-rw-r--r--doc/html/rangecontrols-example.html184
-rw-r--r--doc/html/rd-add.pngbin0 -> 13619 bytes
-rw-r--r--doc/html/rd-chooseanimage.pngbin0 -> 11185 bytes
-rw-r--r--doc/html/rd-chooseapixmap.pngbin0 -> 14035 bytes
-rw-r--r--doc/html/rd-configmf.pngbin0 -> 9068 bytes
-rw-r--r--doc/html/rd-configtb.pngbin0 -> 33290 bytes
-rw-r--r--doc/html/rd-cwidgdef.pngbin0 -> 27208 bytes
-rw-r--r--doc/html/rd-cwidgprop.pngbin0 -> 23485 bytes
-rw-r--r--doc/html/rd-cwidgsig.pngbin0 -> 21435 bytes
-rw-r--r--doc/html/rd-cwidgslot.pngbin0 -> 23014 bytes
-rw-r--r--doc/html/rd-dbconn.pngbin0 -> 18108 bytes
-rw-r--r--doc/html/rd-ediconview.pngbin0 -> 14132 bytes
-rw-r--r--doc/html/rd-editincdec.pngbin0 -> 8464 bytes
-rw-r--r--doc/html/rd-edittext1.pngbin0 -> 13377 bytes
-rw-r--r--doc/html/rd-edittext2.pngbin0 -> 8294 bytes
-rw-r--r--doc/html/rd-edlistbox.pngbin0 -> 12852 bytes
-rw-r--r--doc/html/rd-edlistview.pngbin0 -> 18650 bytes
-rw-r--r--doc/html/rd-edlistview2.pngbin0 -> 17858 bytes
-rw-r--r--doc/html/rd-edpalette.pngbin0 -> 25849 bytes
-rw-r--r--doc/html/rd-edtablecol.pngbin0 -> 15038 bytes
-rw-r--r--doc/html/rd-edtablerow.pngbin0 -> 14749 bytes
-rw-r--r--doc/html/rd-find.pngbin0 -> 8991 bytes
-rw-r--r--doc/html/rd-formset.pngbin0 -> 21029 bytes
-rw-r--r--doc/html/rd-goto.pngbin0 -> 4893 bytes
-rw-r--r--doc/html/rd-image.pngbin0 -> 18978 bytes
-rw-r--r--doc/html/rd-open.pngbin0 -> 13699 bytes
-rw-r--r--doc/html/rd-pagetitle.pngbin0 -> 6672 bytes
-rw-r--r--doc/html/rd-prefedit1.pngbin0 -> 31714 bytes
-rw-r--r--doc/html/rd-projset.pngbin0 -> 12888 bytes
-rw-r--r--doc/html/rd-projset2.pngbin0 -> 13710 bytes
-rw-r--r--doc/html/rd-replace.pngbin0 -> 10602 bytes
-rw-r--r--doc/html/rd-saveas.pngbin0 -> 12718 bytes
-rw-r--r--doc/html/rd-saveform.pngbin0 -> 6932 bytes
-rw-r--r--doc/html/rd-saveformas.pngbin0 -> 16450 bytes
-rw-r--r--doc/html/rd-saveprojset.pngbin0 -> 8086 bytes
-rw-r--r--doc/html/rd-selcolor.pngbin0 -> 23820 bytes
-rw-r--r--doc/html/rd-selfont.pngbin0 -> 22171 bytes
-rw-r--r--doc/html/rd-startdesigntab2.pngbin0 -> 20295 bytes
-rw-r--r--doc/html/rd-template.pngbin0 -> 13766 bytes
-rw-r--r--doc/html/rd-text.pngbin0 -> 5492 bytes
-rw-r--r--doc/html/rd-title.pngbin0 -> 6275 bytes
-rw-r--r--doc/html/rd-tunepalette.pngbin0 -> 17035 bytes
-rw-r--r--doc/html/regexptester-example.html299
-rw-r--r--doc/html/removed20.html379
-rw-r--r--doc/html/richtext-example.html264
-rw-r--r--doc/html/rintersect.pngbin0 -> 221 bytes
-rw-r--r--doc/html/rmo-editmenu.pngbin0 -> 12165 bytes
-rw-r--r--doc/html/rmo-filemenu.pngbin0 -> 6126 bytes
-rw-r--r--doc/html/rmo-helpmenu.pngbin0 -> 866 bytes
-rw-r--r--doc/html/rmo-layoutmenu.pngbin0 -> 9012 bytes
-rw-r--r--doc/html/rmo-previewmenu.pngbin0 -> 1184 bytes
-rw-r--r--doc/html/rmo-projectmenu.pngbin0 -> 947 bytes
-rw-r--r--doc/html/rmo-searchmenu.pngbin0 -> 3291 bytes
-rw-r--r--doc/html/rmo-toolsmenu.pngbin0 -> 8259 bytes
-rw-r--r--doc/html/rmo-windowmenu.pngbin0 -> 1413 bytes
-rw-r--r--doc/html/rot-example.html172
-rw-r--r--doc/html/rsubtract.pngbin0 -> 224 bytes
-rw-r--r--doc/html/rtb-edit.pngbin0 -> 3082 bytes
-rw-r--r--doc/html/rtb-file.pngbin0 -> 1732 bytes
-rw-r--r--doc/html/rtb-layout.pngbin0 -> 1638 bytes
-rw-r--r--doc/html/rtb-search.pngbin0 -> 945 bytes
-rw-r--r--doc/html/rtb-tbbuttons.pngbin0 -> 9399 bytes
-rw-r--r--doc/html/rtb-tbcontain.pngbin0 -> 9734 bytes
-rw-r--r--doc/html/rtb-tbcustom.pngbin0 -> 6754 bytes
-rw-r--r--doc/html/rtb-tbdatabase.pngbin0 -> 7854 bytes
-rw-r--r--doc/html/rtb-tbdisplay.pngbin0 -> 10792 bytes
-rw-r--r--doc/html/rtb-tbinput.pngbin0 -> 13837 bytes
-rw-r--r--doc/html/rtb-tbviews.pngbin0 -> 8420 bytes
-rw-r--r--doc/html/rtb-toolbox.pngbin0 -> 13936 bytes
-rw-r--r--doc/html/rtb-tools.pngbin0 -> 1990 bytes
-rw-r--r--doc/html/runion.pngbin0 -> 221 bytes
-rw-r--r--doc/html/rxor.pngbin0 -> 222 bytes
-rw-r--r--doc/html/scaling.pngbin0 -> 4443 bytes
-rw-r--r--doc/html/scribble-example.html365
-rw-r--r--doc/html/scrollview-example.html493
-rw-r--r--doc/html/search.pngbin0 -> 6284 bytes
-rw-r--r--doc/html/session.html152
-rw-r--r--doc/html/session.pngbin0 -> 2267 bytes
-rw-r--r--doc/html/shared.html75
-rw-r--r--doc/html/shclass.html236
-rw-r--r--doc/html/showimg-example.html883
-rw-r--r--doc/html/sidebar.pngbin0 -> 5041 bytes
-rw-r--r--doc/html/signalsandslots.html356
-rw-r--r--doc/html/simple-application-example.html425
-rw-r--r--doc/html/simple-application.html575
-rw-r--r--doc/html/simple-font-demo-example.html273
-rw-r--r--doc/html/simple_dd-example.html305
-rw-r--r--doc/html/small-table-example-example.html108
-rw-r--r--doc/html/smooth.pngbin0 -> 448 bytes
-rw-r--r--doc/html/sound-example.html192
-rw-r--r--doc/html/splitter-example.html151
-rw-r--r--doc/html/splitter-views-w.pngbin0 -> 6469 bytes
-rw-r--r--doc/html/sql-driver.html635
-rw-r--r--doc/html/sql-examples.html48
-rw-r--r--doc/html/sql-overview-basicbrowsing-main-cpp.html78
-rw-r--r--doc/html/sql-overview-basicbrowsing2-main-cpp.html86
-rw-r--r--doc/html/sql-overview-basicdatamanip-main-cpp.html83
-rw-r--r--doc/html/sql-overview-connect1-main-cpp.html74
-rw-r--r--doc/html/sql-overview-create_connections-main-cpp.html69
-rw-r--r--doc/html/sql-overview-custom1-main-cpp.html152
-rw-r--r--doc/html/sql-overview-custom1-main-h.html95
-rw-r--r--doc/html/sql-overview-delete-main-cpp.html72
-rw-r--r--doc/html/sql-overview-extract-main-cpp.html84
-rw-r--r--doc/html/sql-overview-form1-main-cpp.html112
-rw-r--r--doc/html/sql-overview-form2-main-h.html76
-rw-r--r--doc/html/sql-overview-insert-main-cpp.html80
-rw-r--r--doc/html/sql-overview-navigating-main-cpp.html76
-rw-r--r--doc/html/sql-overview-order1-main-cpp.html75
-rw-r--r--doc/html/sql-overview-order2-main-cpp.html77
-rw-r--r--doc/html/sql-overview-retrieve1-main-cpp.html73
-rw-r--r--doc/html/sql-overview-retrieve2-main-cpp.html73
-rw-r--r--doc/html/sql-overview-subclass1-main-cpp.html81
-rw-r--r--doc/html/sql-overview-subclass2-main-cpp.html85
-rw-r--r--doc/html/sql-overview-subclass2-main-h.html66
-rw-r--r--doc/html/sql-overview-subclass3-main-cpp.html100
-rw-r--r--doc/html/sql-overview-subclass3-main-h.html68
-rw-r--r--doc/html/sql-overview-subclass4-main-cpp.html124
-rw-r--r--doc/html/sql-overview-subclass4-main-h.html68
-rw-r--r--doc/html/sql-overview-subclass5-main-cpp.html137
-rw-r--r--doc/html/sql-overview-subclass5-main-h.html68
-rw-r--r--doc/html/sql-overview-table1-main-cpp.html74
-rw-r--r--doc/html/sql-overview-table2-main-cpp.html84
-rw-r--r--doc/html/sql-overview-table3-main-cpp.html133
-rw-r--r--doc/html/sql-overview-table3-main-h.html83
-rw-r--r--doc/html/sql-overview-table4-main-cpp.html152
-rw-r--r--doc/html/sql-overview-table4-main-h.html96
-rw-r--r--doc/html/sql-overview-update-main-cpp.html75
-rw-r--r--doc/html/sql.html1673
-rw-r--r--doc/html/sqltable-example.html121
-rw-r--r--doc/html/statistics-example.html304
-rw-r--r--doc/html/step-by-step-examples.html56
-rw-r--r--doc/html/t1.pngbin0 -> 547 bytes
-rw-r--r--doc/html/t10-cannon-cpp.html122
-rw-r--r--doc/html/t10-cannon-h.html85
-rw-r--r--doc/html/t10-lcdrange-cpp.html89
-rw-r--r--doc/html/t10-lcdrange-h.html77
-rw-r--r--doc/html/t10-main-cpp.html117
-rw-r--r--doc/html/t10.pngbin0 -> 1666 bytes
-rw-r--r--doc/html/t11-cannon-cpp.html198
-rw-r--r--doc/html/t11-cannon-h.html99
-rw-r--r--doc/html/t11-lcdrange-cpp.html89
-rw-r--r--doc/html/t11-lcdrange-h.html77
-rw-r--r--doc/html/t11-main-cpp.html127
-rw-r--r--doc/html/t11.pngbin0 -> 1768 bytes
-rw-r--r--doc/html/t12-cannon-cpp.html241
-rw-r--r--doc/html/t12-cannon-h.html106
-rw-r--r--doc/html/t12-lcdrange-cpp.html125
-rw-r--r--doc/html/t12-lcdrange-h.html85
-rw-r--r--doc/html/t12-main-cpp.html127
-rw-r--r--doc/html/t12.pngbin0 -> 1913 bytes
-rw-r--r--doc/html/t13-cannon-cpp.html273
-rw-r--r--doc/html/t13-cannon-h.html113
-rw-r--r--doc/html/t13-gamebrd-cpp.html171
-rw-r--r--doc/html/t13-gamebrd-h.html82
-rw-r--r--doc/html/t13-lcdrange-cpp.html130
-rw-r--r--doc/html/t13-lcdrange-h.html84
-rw-r--r--doc/html/t13-main-cpp.html64
-rw-r--r--doc/html/t13.pngbin0 -> 2462 bytes
-rw-r--r--doc/html/t14-cannon-cpp.html334
-rw-r--r--doc/html/t14-cannon-h.html121
-rw-r--r--doc/html/t14-gamebrd-cpp.html185
-rw-r--r--doc/html/t14-gamebrd-h.html82
-rw-r--r--doc/html/t14-lcdrange-cpp.html130
-rw-r--r--doc/html/t14-lcdrange-h.html84
-rw-r--r--doc/html/t14-main-cpp.html64
-rw-r--r--doc/html/t14.pngbin0 -> 2502 bytes
-rw-r--r--doc/html/t2.pngbin0 -> 528 bytes
-rw-r--r--doc/html/t3.pngbin0 -> 631 bytes
-rw-r--r--doc/html/t4.pngbin0 -> 618 bytes
-rw-r--r--doc/html/t5.pngbin0 -> 706 bytes
-rw-r--r--doc/html/t6.pngbin0 -> 982 bytes
-rw-r--r--doc/html/t7-lcdrange-cpp.html75
-rw-r--r--doc/html/t7-lcdrange-h.html76
-rw-r--r--doc/html/t7-main-cpp.html97
-rw-r--r--doc/html/t7.pngbin0 -> 983 bytes
-rw-r--r--doc/html/t8-cannon-cpp.html87
-rw-r--r--doc/html/t8-cannon-h.html78
-rw-r--r--doc/html/t8-lcdrange-cpp.html89
-rw-r--r--doc/html/t8-lcdrange-h.html77
-rw-r--r--doc/html/t8-main-cpp.html107
-rw-r--r--doc/html/t8.pngbin0 -> 1226 bytes
-rw-r--r--doc/html/t9-cannon-cpp.html92
-rw-r--r--doc/html/t9-cannon-h.html78
-rw-r--r--doc/html/t9-lcdrange-cpp.html89
-rw-r--r--doc/html/t9-lcdrange-h.html77
-rw-r--r--doc/html/t9-main-cpp.html104
-rw-r--r--doc/html/t9.pngbin0 -> 1182 bytes
-rw-r--r--doc/html/t9_1.pngbin0 -> 142 bytes
-rw-r--r--doc/html/t9_2.pngbin0 -> 165 bytes
-rw-r--r--doc/html/tabdialog-example.html234
-rw-r--r--doc/html/table-bigtable-main-cpp.html106
-rw-r--r--doc/html/table-examples.html50
-rw-r--r--doc/html/table-small-table-demo-main-cpp.html100
-rw-r--r--doc/html/table-statistics-statistics-cpp.html214
-rw-r--r--doc/html/table.html64
-rw-r--r--doc/html/tablet-example.html47
-rw-r--r--doc/html/tagreader-example.html159
-rw-r--r--doc/html/tagreader-with-features-example.html229
-rw-r--r--doc/html/templates.html169
-rw-r--r--doc/html/tetrix-example.html75
-rw-r--r--doc/html/text.html65
-rw-r--r--doc/html/textedit-example.html50
-rw-r--r--doc/html/themes-example.html2376
-rw-r--r--doc/html/thread.html52
-rw-r--r--doc/html/threads.html340
-rw-r--r--doc/html/tictac-example.html577
-rw-r--r--doc/html/time.html54
-rw-r--r--doc/html/timers.html152
-rw-r--r--doc/html/titleindex1521
-rw-r--r--doc/html/toggleaction-example.html82
-rw-r--r--doc/html/toolbar.pngbin0 -> 5397 bytes
-rw-r--r--doc/html/toolbar1.pngbin0 -> 4184 bytes
-rw-r--r--doc/html/tools-list.html65
-rw-r--r--doc/html/tools.html93
-rw-r--r--doc/html/tooltip-example.html247
-rw-r--r--doc/html/toplevel-example.html239
-rw-r--r--doc/html/trademarks.html48
-rw-r--r--doc/html/trivial-nsplugin-example.html125
-rw-r--r--doc/html/troll.html149
-rw-r--r--doc/html/tt1_en.pngbin0 -> 872 bytes
-rw-r--r--doc/html/tt1_la.pngbin0 -> 894 bytes
-rw-r--r--doc/html/tt2_en.pngbin0 -> 1615 bytes
-rw-r--r--doc/html/tt2_fr.pngbin0 -> 1854 bytes
-rw-r--r--doc/html/tt2_nl.pngbin0 -> 1881 bytes
-rw-r--r--doc/html/tt3_10_en.pngbin0 -> 2286 bytes
-rw-r--r--doc/html/tt3_10_pt_bad.pngbin0 -> 2411 bytes
-rw-r--r--doc/html/tt3_10_pt_good.pngbin0 -> 2485 bytes
-rw-r--r--doc/html/tt3_11_about_pt.pngbin0 -> 2720 bytes
-rw-r--r--doc/html/tt3_11_en.pngbin0 -> 2368 bytes
-rw-r--r--doc/html/tt3_11_pt.pngbin0 -> 2537 bytes
-rw-r--r--doc/html/tutorial.html75
-rw-r--r--doc/html/tutorial1-01.html168
-rw-r--r--doc/html/tutorial1-02.html128
-rw-r--r--doc/html/tutorial1-03.html122
-rw-r--r--doc/html/tutorial1-04.html182
-rw-r--r--doc/html/tutorial1-05.html168
-rw-r--r--doc/html/tutorial1-06.html188
-rw-r--r--doc/html/tutorial1-07.html213
-rw-r--r--doc/html/tutorial1-08.html297
-rw-r--r--doc/html/tutorial1-09.html155
-rw-r--r--doc/html/tutorial1-10.html236
-rw-r--r--doc/html/tutorial1-11.html250
-rw-r--r--doc/html/tutorial1-12.html328
-rw-r--r--doc/html/tutorial1-13.html396
-rw-r--r--doc/html/tutorial1-14.html271
-rw-r--r--doc/html/tutorial2-01.html55
-rw-r--r--doc/html/tutorial2-02.html67
-rw-r--r--doc/html/tutorial2-03.html298
-rw-r--r--doc/html/tutorial2-04.html79
-rw-r--r--doc/html/tutorial2-05.html587
-rw-r--r--doc/html/tutorial2-06.html370
-rw-r--r--doc/html/tutorial2-07.html112
-rw-r--r--doc/html/tutorial2-08.html349
-rw-r--r--doc/html/tutorial2-09.html249
-rw-r--r--doc/html/tutorial2-10.html81
-rw-r--r--doc/html/tutorial2-11.html72
-rw-r--r--doc/html/tutorial2.html65
-rw-r--r--doc/html/uic.html133
-rw-r--r--doc/html/unicode.html130
-rw-r--r--doc/html/unsmooth.pngbin0 -> 365 bytes
-rw-r--r--doc/html/validateaccelerators.pngbin0 -> 387 bytes
-rw-r--r--doc/html/validatephrases.pngbin0 -> 293 bytes
-rw-r--r--doc/html/validatepunctuation.pngbin0 -> 373 bytes
-rw-r--r--doc/html/web.pngbin0 -> 11826 bytes
-rw-r--r--doc/html/whatsthis416
-rw-r--r--doc/html/whatsthis.pngbin0 -> 3265 bytes
-rw-r--r--doc/html/widgets-example.html50
-rw-r--r--doc/html/win-objexplor1.pngbin0 -> 26183 bytes
-rw-r--r--doc/html/win-objexplor2.pngbin0 -> 24859 bytes
-rw-r--r--doc/html/win-projoverview.pngbin0 -> 6744 bytes
-rw-r--r--doc/html/win-propedit1.pngbin0 -> 31319 bytes
-rw-r--r--doc/html/win-propedit2.pngbin0 -> 11884 bytes
-rw-r--r--doc/html/winsystem.html120
-rw-r--r--doc/html/wizard-example.html352
-rw-r--r--doc/html/wizard-wizard-cpp.html269
-rw-r--r--doc/html/wizard-wizard-h.html87
-rw-r--r--doc/html/workspace.html49
-rw-r--r--doc/html/xform-example.html559
-rw-r--r--doc/html/xform.pngbin0 -> 50488 bytes
-rw-r--r--doc/html/xml-examples.html50
-rw-r--r--doc/html/xml-sax-features-walkthrough.html379
-rw-r--r--doc/html/xml-sax-walkthrough.html220
-rw-r--r--doc/html/xml-tools.html77
-rw-r--r--doc/html/xml.html573
-rw-r--r--doc/html/y2k.html82
-rw-r--r--doc/i18n.doc593
-rw-r--r--doc/indices.doc807
-rw-r--r--doc/installation.doc300
-rw-r--r--doc/integration.doc165
-rw-r--r--doc/layout.doc516
-rw-r--r--doc/mac.doc269
-rw-r--r--doc/makeqpf.doc58
-rw-r--r--doc/man/man1/lrelease.1101
-rw-r--r--doc/man/man1/lupdate.1107
-rw-r--r--doc/man/man1/moc.1449
-rw-r--r--doc/man/man1/uic.1136
-rw-r--r--doc/man/man3/QAccel.3qt1
-rw-r--r--doc/man/man3/QAccessible.3qt1
-rw-r--r--doc/man/man3/QAccessibleInterface.3qt1
-rw-r--r--doc/man/man3/QAccessibleObject.3qt1
-rw-r--r--doc/man/man3/QAction.3qt1
-rw-r--r--doc/man/man3/QActionGroup.3qt1
-rw-r--r--doc/man/man3/QApplication.3qt1
-rw-r--r--doc/man/man3/QAsciiCache.3qt1
-rw-r--r--doc/man/man3/QAsciiCacheIterator.3qt1
-rw-r--r--doc/man/man3/QAsciiDict.3qt1
-rw-r--r--doc/man/man3/QAsciiDictIterator.3qt1
-rw-r--r--doc/man/man3/QAssistantClient.3qt1
-rw-r--r--doc/man/man3/QAxAggregated.3qt1
-rw-r--r--doc/man/man3/QAxBase.3qt1
-rw-r--r--doc/man/man3/QAxBindable.3qt1
-rw-r--r--doc/man/man3/QAxFactory.3qt1
-rw-r--r--doc/man/man3/QAxObject.3qt1
-rw-r--r--doc/man/man3/QAxScript.3qt1
-rw-r--r--doc/man/man3/QAxScriptEngine.3qt1
-rw-r--r--doc/man/man3/QAxScriptManager.3qt1
-rw-r--r--doc/man/man3/QAxWidget.3qt1
-rw-r--r--doc/man/man3/QBig5Codec.3qt1
-rw-r--r--doc/man/man3/QBig5hkscsCodec.3qt1
-rw-r--r--doc/man/man3/QBitArray.3qt1
-rw-r--r--doc/man/man3/QBitVal.3qt1
-rw-r--r--doc/man/man3/QBitmap.3qt1
-rw-r--r--doc/man/man3/QBoxLayout.3qt1
-rw-r--r--doc/man/man3/QBrush.3qt1
-rw-r--r--doc/man/man3/QBuffer.3qt1
-rw-r--r--doc/man/man3/QButton.3qt1
-rw-r--r--doc/man/man3/QButtonGroup.3qt1
-rw-r--r--doc/man/man3/QByteArray.3qt1
-rw-r--r--doc/man/man3/QCDEStyle.3qt1
-rw-r--r--doc/man/man3/QCString.3qt1
-rw-r--r--doc/man/man3/QCache.3qt1
-rw-r--r--doc/man/man3/QCacheIterator.3qt1
-rw-r--r--doc/man/man3/QCanvas.3qt1
-rw-r--r--doc/man/man3/QCanvasEllipse.3qt1
-rw-r--r--doc/man/man3/QCanvasItem.3qt1
-rw-r--r--doc/man/man3/QCanvasItemList.3qt1
-rw-r--r--doc/man/man3/QCanvasLine.3qt1
-rw-r--r--doc/man/man3/QCanvasPixmap.3qt1
-rw-r--r--doc/man/man3/QCanvasPixmapArray.3qt1
-rw-r--r--doc/man/man3/QCanvasPolygon.3qt1
-rw-r--r--doc/man/man3/QCanvasPolygonalItem.3qt1
-rw-r--r--doc/man/man3/QCanvasRectangle.3qt1
-rw-r--r--doc/man/man3/QCanvasSpline.3qt1
-rw-r--r--doc/man/man3/QCanvasSprite.3qt1
-rw-r--r--doc/man/man3/QCanvasText.3qt1
-rw-r--r--doc/man/man3/QCanvasView.3qt1
-rw-r--r--doc/man/man3/QChar.3qt1
-rw-r--r--doc/man/man3/QCharRef.3qt1
-rw-r--r--doc/man/man3/QCheckBox.3qt1
-rw-r--r--doc/man/man3/QCheckListItem.3qt1
-rw-r--r--doc/man/man3/QCheckTableItem.3qt1
-rw-r--r--doc/man/man3/QChildEvent.3qt1
-rw-r--r--doc/man/man3/QClipboard.3qt1
-rw-r--r--doc/man/man3/QCloseEvent.3qt1
-rw-r--r--doc/man/man3/QColor.3qt1
-rw-r--r--doc/man/man3/QColorDialog.3qt1
-rw-r--r--doc/man/man3/QColorDrag.3qt1
-rw-r--r--doc/man/man3/QColorGroup.3qt1
-rw-r--r--doc/man/man3/QComboBox.3qt1
-rw-r--r--doc/man/man3/QComboTableItem.3qt1
-rw-r--r--doc/man/man3/QCommonStyle.3qt1
-rw-r--r--doc/man/man3/QConstString.3qt1
-rw-r--r--doc/man/man3/QContextMenuEvent.3qt1
-rw-r--r--doc/man/man3/QCopChannel.3qt1
-rw-r--r--doc/man/man3/QCursor.3qt1
-rw-r--r--doc/man/man3/QCustomEvent.3qt1
-rw-r--r--doc/man/man3/QCustomMenuItem.3qt1
-rw-r--r--doc/man/man3/QDataBrowser.3qt1
-rw-r--r--doc/man/man3/QDataStream.3qt1
-rw-r--r--doc/man/man3/QDataTable.3qt1
-rw-r--r--doc/man/man3/QDataView.3qt1
-rw-r--r--doc/man/man3/QDate.3qt1
-rw-r--r--doc/man/man3/QDateEdit.3qt1
-rw-r--r--doc/man/man3/QDateTime.3qt1
-rw-r--r--doc/man/man3/QDateTimeEdit.3qt1
-rw-r--r--doc/man/man3/QDateTimeEditBase.3qt1
-rw-r--r--doc/man/man3/QDeepCopy.3qt1
-rw-r--r--doc/man/man3/QDesktopWidget.3qt1
-rw-r--r--doc/man/man3/QDial.3qt1
-rw-r--r--doc/man/man3/QDialog.3qt1
-rw-r--r--doc/man/man3/QDict.3qt1
-rw-r--r--doc/man/man3/QDictIterator.3qt1
-rw-r--r--doc/man/man3/QDir.3qt1
-rw-r--r--doc/man/man3/QDirectPainter.3qt1
-rw-r--r--doc/man/man3/QDns.3qt1
-rw-r--r--doc/man/man3/QDockArea.3qt1
-rw-r--r--doc/man/man3/QDockWindow.3qt1
-rw-r--r--doc/man/man3/QDomAttr.3qt1
-rw-r--r--doc/man/man3/QDomCDATASection.3qt1
-rw-r--r--doc/man/man3/QDomCharacterData.3qt1
-rw-r--r--doc/man/man3/QDomComment.3qt1
-rw-r--r--doc/man/man3/QDomDocument.3qt1
-rw-r--r--doc/man/man3/QDomDocumentFragment.3qt1
-rw-r--r--doc/man/man3/QDomDocumentType.3qt1
-rw-r--r--doc/man/man3/QDomElement.3qt1
-rw-r--r--doc/man/man3/QDomEntity.3qt1
-rw-r--r--doc/man/man3/QDomEntityReference.3qt1
-rw-r--r--doc/man/man3/QDomImplementation.3qt1
-rw-r--r--doc/man/man3/QDomNamedNodeMap.3qt1
-rw-r--r--doc/man/man3/QDomNode.3qt1
-rw-r--r--doc/man/man3/QDomNodeList.3qt1
-rw-r--r--doc/man/man3/QDomNotation.3qt1
-rw-r--r--doc/man/man3/QDomProcessingInstruction.3qt1
-rw-r--r--doc/man/man3/QDomText.3qt1
-rw-r--r--doc/man/man3/QDoubleValidator.3qt1
-rw-r--r--doc/man/man3/QDragEnterEvent.3qt1
-rw-r--r--doc/man/man3/QDragLeaveEvent.3qt1
-rw-r--r--doc/man/man3/QDragMoveEvent.3qt1
-rw-r--r--doc/man/man3/QDragObject.3qt1
-rw-r--r--doc/man/man3/QDropEvent.3qt1
-rw-r--r--doc/man/man3/QEditorFactory.3qt1
-rw-r--r--doc/man/man3/QErrorMessage.3qt1
-rw-r--r--doc/man/man3/QEucJpCodec.3qt1
-rw-r--r--doc/man/man3/QEucKrCodec.3qt1
-rw-r--r--doc/man/man3/QEvent.3qt1
-rw-r--r--doc/man/man3/QEventLoop.3qt1
-rw-r--r--doc/man/man3/QFile.3qt1
-rw-r--r--doc/man/man3/QFileDialog.3qt1
-rw-r--r--doc/man/man3/QFileIconProvider.3qt1
-rw-r--r--doc/man/man3/QFileInfo.3qt1
-rw-r--r--doc/man/man3/QFilePreview.3qt1
-rw-r--r--doc/man/man3/QFocusData.3qt1
-rw-r--r--doc/man/man3/QFocusEvent.3qt1
-rw-r--r--doc/man/man3/QFont.3qt1
-rw-r--r--doc/man/man3/QFontDatabase.3qt1
-rw-r--r--doc/man/man3/QFontDialog.3qt1
-rw-r--r--doc/man/man3/QFontInfo.3qt1
-rw-r--r--doc/man/man3/QFontManager.3qt1
-rw-r--r--doc/man/man3/QFontMetrics.3qt1
-rw-r--r--doc/man/man3/QFrame.3qt1
-rw-r--r--doc/man/man3/QFtp.3qt1
-rw-r--r--doc/man/man3/QGL.3qt1
-rw-r--r--doc/man/man3/QGLColormap.3qt1
-rw-r--r--doc/man/man3/QGLContext.3qt1
-rw-r--r--doc/man/man3/QGLFormat.3qt1
-rw-r--r--doc/man/man3/QGLWidget.3qt1
-rw-r--r--doc/man/man3/QGLayoutIterator.3qt1
-rw-r--r--doc/man/man3/QGb18030Codec.3qt1
-rw-r--r--doc/man/man3/QGb2312Codec.3qt1
-rw-r--r--doc/man/man3/QGbkCodec.3qt1
-rw-r--r--doc/man/man3/QGfxDriverFactory.3qt1
-rw-r--r--doc/man/man3/QGfxDriverPlugin.3qt1
-rw-r--r--doc/man/man3/QGrid.3qt1
-rw-r--r--doc/man/man3/QGridLayout.3qt1
-rw-r--r--doc/man/man3/QGridView.3qt1
-rw-r--r--doc/man/man3/QGroupBox.3qt1
-rw-r--r--doc/man/man3/QGuardedPtr.3qt1
-rw-r--r--doc/man/man3/QHBox.3qt1
-rw-r--r--doc/man/man3/QHBoxLayout.3qt1
-rw-r--r--doc/man/man3/QHButtonGroup.3qt1
-rw-r--r--doc/man/man3/QHGroupBox.3qt1
-rw-r--r--doc/man/man3/QHeader.3qt1
-rw-r--r--doc/man/man3/QHebrewCodec.3qt1
-rw-r--r--doc/man/man3/QHideEvent.3qt1
-rw-r--r--doc/man/man3/QHostAddress.3qt1
-rw-r--r--doc/man/man3/QHttp.3qt1
-rw-r--r--doc/man/man3/QHttpHeader.3qt1
-rw-r--r--doc/man/man3/QHttpRequestHeader.3qt1
-rw-r--r--doc/man/man3/QHttpResponseHeader.3qt1
-rw-r--r--doc/man/man3/QIMEvent.3qt1
-rw-r--r--doc/man/man3/QIODevice.3qt1
-rw-r--r--doc/man/man3/QIconDrag.3qt1
-rw-r--r--doc/man/man3/QIconDragEvent.3qt1
-rw-r--r--doc/man/man3/QIconDragItem.3qt1
-rw-r--r--doc/man/man3/QIconFactory.3qt1
-rw-r--r--doc/man/man3/QIconSet.3qt1
-rw-r--r--doc/man/man3/QIconView.3qt1
-rw-r--r--doc/man/man3/QIconViewItem.3qt1
-rw-r--r--doc/man/man3/QImage.3qt1
-rw-r--r--doc/man/man3/QImageConsumer.3qt1
-rw-r--r--doc/man/man3/QImageDecoder.3qt1
-rw-r--r--doc/man/man3/QImageDrag.3qt1
-rw-r--r--doc/man/man3/QImageFormat.3qt1
-rw-r--r--doc/man/man3/QImageFormatPlugin.3qt1
-rw-r--r--doc/man/man3/QImageFormatType.3qt1
-rw-r--r--doc/man/man3/QImageIO.3qt1
-rw-r--r--doc/man/man3/QInputDialog.3qt1
-rw-r--r--doc/man/man3/QIntCache.3qt1
-rw-r--r--doc/man/man3/QIntCacheIterator.3qt1
-rw-r--r--doc/man/man3/QIntDict.3qt1
-rw-r--r--doc/man/man3/QIntDictIterator.3qt1
-rw-r--r--doc/man/man3/QIntValidator.3qt1
-rw-r--r--doc/man/man3/QJisCodec.3qt1
-rw-r--r--doc/man/man3/QKbdDriverFactory.3qt1
-rw-r--r--doc/man/man3/QKbdDriverPlugin.3qt1
-rw-r--r--doc/man/man3/QKeyEvent.3qt1
-rw-r--r--doc/man/man3/QKeySequence.3qt1
-rw-r--r--doc/man/man3/QLCDNumber.3qt1
-rw-r--r--doc/man/man3/QLabel.3qt1
-rw-r--r--doc/man/man3/QLayout.3qt1
-rw-r--r--doc/man/man3/QLayoutItem.3qt1
-rw-r--r--doc/man/man3/QLayoutIterator.3qt1
-rw-r--r--doc/man/man3/QLibrary.3qt1
-rw-r--r--doc/man/man3/QLineEdit.3qt1
-rw-r--r--doc/man/man3/QListBox.3qt1
-rw-r--r--doc/man/man3/QListBoxItem.3qt1
-rw-r--r--doc/man/man3/QListBoxPixmap.3qt1
-rw-r--r--doc/man/man3/QListBoxText.3qt1
-rw-r--r--doc/man/man3/QListView.3qt1
-rw-r--r--doc/man/man3/QListViewItem.3qt1
-rw-r--r--doc/man/man3/QListViewItemIterator.3qt1
-rw-r--r--doc/man/man3/QLocalFs.3qt1
-rw-r--r--doc/man/man3/QLocale.3qt1
-rw-r--r--doc/man/man3/QMacMime.3qt1
-rw-r--r--doc/man/man3/QMacStyle.3qt1
-rw-r--r--doc/man/man3/QMainWindow.3qt1
-rw-r--r--doc/man/man3/QMap.3qt1
-rw-r--r--doc/man/man3/QMapConstIterator.3qt1
-rw-r--r--doc/man/man3/QMapIterator.3qt1
-rw-r--r--doc/man/man3/QMemArray.3qt1
-rw-r--r--doc/man/man3/QMenuBar.3qt1
-rw-r--r--doc/man/man3/QMenuData.3qt1
-rw-r--r--doc/man/man3/QMessageBox.3qt1
-rw-r--r--doc/man/man3/QMetaObject.3qt1
-rw-r--r--doc/man/man3/QMetaProperty.3qt1
-rw-r--r--doc/man/man3/QMimeSource.3qt1
-rw-r--r--doc/man/man3/QMimeSourceFactory.3qt1
-rw-r--r--doc/man/man3/QMotif.3qt1
-rw-r--r--doc/man/man3/QMotifDialog.3qt1
-rw-r--r--doc/man/man3/QMotifPlusStyle.3qt1
-rw-r--r--doc/man/man3/QMotifStyle.3qt1
-rw-r--r--doc/man/man3/QMotifWidget.3qt1
-rw-r--r--doc/man/man3/QMouseDriverFactory.3qt1
-rw-r--r--doc/man/man3/QMouseDriverPlugin.3qt1
-rw-r--r--doc/man/man3/QMouseEvent.3qt1
-rw-r--r--doc/man/man3/QMoveEvent.3qt1
-rw-r--r--doc/man/man3/QMovie.3qt1
-rw-r--r--doc/man/man3/QMutex.3qt1
-rw-r--r--doc/man/man3/QMutexLocker.3qt1
-rw-r--r--doc/man/man3/QNPInstance.3qt1
-rw-r--r--doc/man/man3/QNPStream.3qt1
-rw-r--r--doc/man/man3/QNPWidget.3qt1
-rw-r--r--doc/man/man3/QNPlugin.3qt1
-rw-r--r--doc/man/man3/QNetworkOperation.3qt1
-rw-r--r--doc/man/man3/QNetworkProtocol.3qt1
-rw-r--r--doc/man/man3/QObject.3qt1
-rw-r--r--doc/man/man3/QObjectCleanupHandler.3qt1
-rw-r--r--doc/man/man3/QObjectList.3qt1
-rw-r--r--doc/man/man3/QObjectListIterator.3qt1
-rw-r--r--doc/man/man3/QPNGImagePacker.3qt1
-rw-r--r--doc/man/man3/QPaintDevice.3qt1
-rw-r--r--doc/man/man3/QPaintDeviceMetrics.3qt1
-rw-r--r--doc/man/man3/QPaintEvent.3qt1
-rw-r--r--doc/man/man3/QPainter.3qt1
-rw-r--r--doc/man/man3/QPair.3qt1
-rw-r--r--doc/man/man3/QPalette.3qt1
-rw-r--r--doc/man/man3/QPen.3qt1
-rw-r--r--doc/man/man3/QPicture.3qt1
-rw-r--r--doc/man/man3/QPixmap.3qt1
-rw-r--r--doc/man/man3/QPixmapCache.3qt1
-rw-r--r--doc/man/man3/QPlatinumStyle.3qt1
-rw-r--r--doc/man/man3/QPoint.3qt1
-rw-r--r--doc/man/man3/QPointArray.3qt1
-rw-r--r--doc/man/man3/QPopupMenu.3qt1
-rw-r--r--doc/man/man3/QPrinter.3qt1
-rw-r--r--doc/man/man3/QProcess.3qt1
-rw-r--r--doc/man/man3/QProgressBar.3qt1
-rw-r--r--doc/man/man3/QProgressDialog.3qt1
-rw-r--r--doc/man/man3/QPtrCollection.3qt1
-rw-r--r--doc/man/man3/QPtrDict.3qt1
-rw-r--r--doc/man/man3/QPtrDictIterator.3qt1
-rw-r--r--doc/man/man3/QPtrList.3qt1
-rw-r--r--doc/man/man3/QPtrListIterator.3qt1
-rw-r--r--doc/man/man3/QPtrQueue.3qt1
-rw-r--r--doc/man/man3/QPtrStack.3qt1
-rw-r--r--doc/man/man3/QPtrVector.3qt1
-rw-r--r--doc/man/man3/QPushButton.3qt1
-rw-r--r--doc/man/man3/QRadioButton.3qt1
-rw-r--r--doc/man/man3/QRangeControl.3qt1
-rw-r--r--doc/man/man3/QRect.3qt1
-rw-r--r--doc/man/man3/QRegExp.3qt1
-rw-r--r--doc/man/man3/QRegExpValidator.3qt1
-rw-r--r--doc/man/man3/QRegion.3qt1
-rw-r--r--doc/man/man3/QResizeEvent.3qt1
-rw-r--r--doc/man/man3/QSGIStyle.3qt1
-rw-r--r--doc/man/man3/QScreen.3qt1
-rw-r--r--doc/man/man3/QScrollBar.3qt1
-rw-r--r--doc/man/man3/QScrollView.3qt1
-rw-r--r--doc/man/man3/QSemaphore.3qt1
-rw-r--r--doc/man/man3/QServerSocket.3qt1
-rw-r--r--doc/man/man3/QSessionManager.3qt1
-rw-r--r--doc/man/man3/QSettings.3qt1
-rw-r--r--doc/man/man3/QShowEvent.3qt1
-rw-r--r--doc/man/man3/QSignal.3qt1
-rw-r--r--doc/man/man3/QSignalMapper.3qt1
-rw-r--r--doc/man/man3/QSimpleRichText.3qt1
-rw-r--r--doc/man/man3/QSize.3qt1
-rw-r--r--doc/man/man3/QSizeGrip.3qt1
-rw-r--r--doc/man/man3/QSizePolicy.3qt1
-rw-r--r--doc/man/man3/QSjisCodec.3qt1
-rw-r--r--doc/man/man3/QSlider.3qt1
-rw-r--r--doc/man/man3/QSocket.3qt1
-rw-r--r--doc/man/man3/QSocketDevice.3qt1
-rw-r--r--doc/man/man3/QSocketNotifier.3qt1
-rw-r--r--doc/man/man3/QSound.3qt1
-rw-r--r--doc/man/man3/QSpacerItem.3qt1
-rw-r--r--doc/man/man3/QSpinBox.3qt1
-rw-r--r--doc/man/man3/QSplashScreen.3qt1
-rw-r--r--doc/man/man3/QSplitter.3qt1
-rw-r--r--doc/man/man3/QSql.3qt1
-rw-r--r--doc/man/man3/QSqlCursor.3qt1
-rw-r--r--doc/man/man3/QSqlDatabase.3qt1
-rw-r--r--doc/man/man3/QSqlDriver.3qt1
-rw-r--r--doc/man/man3/QSqlDriverPlugin.3qt1
-rw-r--r--doc/man/man3/QSqlEditorFactory.3qt1
-rw-r--r--doc/man/man3/QSqlError.3qt1
-rw-r--r--doc/man/man3/QSqlField.3qt1
-rw-r--r--doc/man/man3/QSqlFieldInfo.3qt1
-rw-r--r--doc/man/man3/QSqlForm.3qt1
-rw-r--r--doc/man/man3/QSqlIndex.3qt1
-rw-r--r--doc/man/man3/QSqlPropertyMap.3qt1
-rw-r--r--doc/man/man3/QSqlQuery.3qt1
-rw-r--r--doc/man/man3/QSqlRecord.3qt1
-rw-r--r--doc/man/man3/QSqlRecordInfo.3qt1
-rw-r--r--doc/man/man3/QSqlResult.3qt1
-rw-r--r--doc/man/man3/QSqlSelectCursor.3qt1
-rw-r--r--doc/man/man3/QStatusBar.3qt1
-rw-r--r--doc/man/man3/QStoredDrag.3qt1
-rw-r--r--doc/man/man3/QStrIList.3qt1
-rw-r--r--doc/man/man3/QStrList.3qt1
-rw-r--r--doc/man/man3/QStrListIterator.3qt1
-rw-r--r--doc/man/man3/QString.3qt1
-rw-r--r--doc/man/man3/QStringList.3qt1
-rw-r--r--doc/man/man3/QStyle.3qt1
-rw-r--r--doc/man/man3/QStyleFactory.3qt1
-rw-r--r--doc/man/man3/QStyleOption.3qt1
-rw-r--r--doc/man/man3/QStylePlugin.3qt1
-rw-r--r--doc/man/man3/QStyleSheet.3qt1
-rw-r--r--doc/man/man3/QStyleSheetItem.3qt1
-rw-r--r--doc/man/man3/QSyntaxHighlighter.3qt1
-rw-r--r--doc/man/man3/QTab.3qt1
-rw-r--r--doc/man/man3/QTabBar.3qt1
-rw-r--r--doc/man/man3/QTabDialog.3qt1
-rw-r--r--doc/man/man3/QTabWidget.3qt1
-rw-r--r--doc/man/man3/QTable.3qt1
-rw-r--r--doc/man/man3/QTableItem.3qt1
-rw-r--r--doc/man/man3/QTableSelection.3qt1
-rw-r--r--doc/man/man3/QTabletEvent.3qt1
-rw-r--r--doc/man/man3/QTextBrowser.3qt1
-rw-r--r--doc/man/man3/QTextCodec.3qt1
-rw-r--r--doc/man/man3/QTextCodecPlugin.3qt1
-rw-r--r--doc/man/man3/QTextDecoder.3qt1
-rw-r--r--doc/man/man3/QTextDrag.3qt1
-rw-r--r--doc/man/man3/QTextEdit.3qt1
-rw-r--r--doc/man/man3/QTextEncoder.3qt1
-rw-r--r--doc/man/man3/QTextIStream.3qt1
-rw-r--r--doc/man/man3/QTextOStream.3qt1
-rw-r--r--doc/man/man3/QTextStream.3qt1
-rw-r--r--doc/man/man3/QThread.3qt1
-rw-r--r--doc/man/man3/QThreadStorage.3qt1
-rw-r--r--doc/man/man3/QTime.3qt1
-rw-r--r--doc/man/man3/QTimeEdit.3qt1
-rw-r--r--doc/man/man3/QTimer.3qt1
-rw-r--r--doc/man/man3/QTimerEvent.3qt1
-rw-r--r--doc/man/man3/QToolBar.3qt1
-rw-r--r--doc/man/man3/QToolBox.3qt1
-rw-r--r--doc/man/man3/QToolButton.3qt1
-rw-r--r--doc/man/man3/QToolTip.3qt1
-rw-r--r--doc/man/man3/QToolTipGroup.3qt1
-rw-r--r--doc/man/man3/QTranslator.3qt1
-rw-r--r--doc/man/man3/QTranslatorMessage.3qt1
-rw-r--r--doc/man/man3/QTsciiCodec.3qt1
-rw-r--r--doc/man/man3/QUriDrag.3qt1
-rw-r--r--doc/man/man3/QUrl.3qt1
-rw-r--r--doc/man/man3/QUrlInfo.3qt1
-rw-r--r--doc/man/man3/QUrlOperator.3qt1
-rw-r--r--doc/man/man3/QUuid.3qt1
-rw-r--r--doc/man/man3/QVBox.3qt1
-rw-r--r--doc/man/man3/QVBoxLayout.3qt1
-rw-r--r--doc/man/man3/QVButtonGroup.3qt1
-rw-r--r--doc/man/man3/QVGroupBox.3qt1
-rw-r--r--doc/man/man3/QValidator.3qt1
-rw-r--r--doc/man/man3/QValueList.3qt1
-rw-r--r--doc/man/man3/QValueListConstIterator.3qt1
-rw-r--r--doc/man/man3/QValueListIterator.3qt1
-rw-r--r--doc/man/man3/QValueStack.3qt1
-rw-r--r--doc/man/man3/QValueVector.3qt1
-rw-r--r--doc/man/man3/QVariant.3qt1
-rw-r--r--doc/man/man3/QWMatrix.3qt1
-rw-r--r--doc/man/man3/QWSDecoration.3qt1
-rw-r--r--doc/man/man3/QWSInputMethod.3qt1
-rw-r--r--doc/man/man3/QWSKeyboardHandler.3qt1
-rw-r--r--doc/man/man3/QWSMouseHandler.3qt1
-rw-r--r--doc/man/man3/QWSServer.3qt1
-rw-r--r--doc/man/man3/QWSWindow.3qt1
-rw-r--r--doc/man/man3/QWaitCondition.3qt1
-rw-r--r--doc/man/man3/QWhatsThis.3qt1
-rw-r--r--doc/man/man3/QWheelEvent.3qt1
-rw-r--r--doc/man/man3/QWidget.3qt1
-rw-r--r--doc/man/man3/QWidgetFactory.3qt1
-rw-r--r--doc/man/man3/QWidgetItem.3qt1
-rw-r--r--doc/man/man3/QWidgetPlugin.3qt1
-rw-r--r--doc/man/man3/QWidgetStack.3qt1
-rw-r--r--doc/man/man3/QWindowsMime.3qt1
-rw-r--r--doc/man/man3/QWindowsStyle.3qt1
-rw-r--r--doc/man/man3/QWizard.3qt1
-rw-r--r--doc/man/man3/QWorkspace.3qt1
-rw-r--r--doc/man/man3/QXmlAttributes.3qt1
-rw-r--r--doc/man/man3/QXmlContentHandler.3qt1
-rw-r--r--doc/man/man3/QXmlDTDHandler.3qt1
-rw-r--r--doc/man/man3/QXmlDeclHandler.3qt1
-rw-r--r--doc/man/man3/QXmlDefaultHandler.3qt1
-rw-r--r--doc/man/man3/QXmlEntityResolver.3qt1
-rw-r--r--doc/man/man3/QXmlErrorHandler.3qt1
-rw-r--r--doc/man/man3/QXmlInputSource.3qt1
-rw-r--r--doc/man/man3/QXmlLexicalHandler.3qt1
-rw-r--r--doc/man/man3/QXmlLocator.3qt1
-rw-r--r--doc/man/man3/QXmlNamespaceSupport.3qt1
-rw-r--r--doc/man/man3/QXmlParseException.3qt1
-rw-r--r--doc/man/man3/QXmlReader.3qt1
-rw-r--r--doc/man/man3/QXmlSimpleReader.3qt1
-rw-r--r--doc/man/man3/Qt.3qt1
-rw-r--r--doc/man/man3/qaccel.3qt324
-rw-r--r--doc/man/man3/qaccessible.3qt399
-rw-r--r--doc/man/man3/qaccessibleinterface.3qt178
-rw-r--r--doc/man/man3/qaccessibleobject.3qt72
-rw-r--r--doc/man/man3/qaction.3qt536
-rw-r--r--doc/man/man3/qactiongroup.3qt206
-rw-r--r--doc/man/man3/qapplication.3qt1990
-rw-r--r--doc/man/man3/qasciicache.3qt191
-rw-r--r--doc/man/man3/qasciicacheiterator.3qt157
-rw-r--r--doc/man/man3/qasciidict.3qt317
-rw-r--r--doc/man/man3/qasciidictiterator.3qt159
-rw-r--r--doc/man/man3/qassistantclient.3qt143
-rw-r--r--doc/man/man3/qaxaggregated.3qt143
-rw-r--r--doc/man/man3/qaxbase.3qt561
-rw-r--r--doc/man/man3/qaxbindable.3qt152
-rw-r--r--doc/man/man3/qaxfactory.3qt436
-rw-r--r--doc/man/man3/qaxobject.3qt183
-rw-r--r--doc/man/man3/qaxscript.3qt169
-rw-r--r--doc/man/man3/qaxscriptengine.3qt123
-rw-r--r--doc/man/man3/qaxscriptmanager.3qt197
-rw-r--r--doc/man/man3/qaxwidget.3qt215
-rw-r--r--doc/man/man3/qbig5codec.3qt62
-rw-r--r--doc/man/man3/qbig5hkscscodec.3qt78
-rw-r--r--doc/man/man3/qbitarray.3qt372
-rw-r--r--doc/man/man3/qbitmap.3qt159
-rw-r--r--doc/man/man3/qbitval.3qt72
-rw-r--r--doc/man/man3/qboxlayout.3qt354
-rw-r--r--doc/man/man3/qbrush.3qt234
-rw-r--r--doc/man/man3/qbuffer.3qt138
-rw-r--r--doc/man/man3/qbutton.3qt490
-rw-r--r--doc/man/man3/qbuttongroup.3qt243
-rw-r--r--doc/man/man3/qbytearray.3qt99
-rw-r--r--doc/man/man3/qcache.3qt215
-rw-r--r--doc/man/man3/qcacheiterator.3qt157
-rw-r--r--doc/man/man3/qcanvas.3qt457
-rw-r--r--doc/man/man3/qcanvasellipse.3qt145
-rw-r--r--doc/man/man3/qcanvasitem.3qt426
-rw-r--r--doc/man/man3/qcanvasitemlist.3qt57
-rw-r--r--doc/man/man3/qcanvasline.3qt94
-rw-r--r--doc/man/man3/qcanvaspixmap.3qt100
-rw-r--r--doc/man/man3/qcanvaspixmaparray.3qt156
-rw-r--r--doc/man/man3/qcanvaspolygon.3qt114
-rw-r--r--doc/man/man3/qcanvaspolygonalitem.3qt193
-rw-r--r--doc/man/man3/qcanvasrectangle.3qt129
-rw-r--r--doc/man/man3/qcanvasspline.3qt102
-rw-r--r--doc/man/man3/qcanvassprite.3qt263
-rw-r--r--doc/man/man3/qcanvastext.3qt160
-rw-r--r--doc/man/man3/qcanvasview.3qt188
-rw-r--r--doc/man/man3/qcdestyle.3qt64
-rw-r--r--doc/man/man3/qchar.3qt490
-rw-r--r--doc/man/man3/qcharref.3qt48
-rw-r--r--doc/man/man3/qcheckbox.3qt308
-rw-r--r--doc/man/man3/qchecklistitem.3qt229
-rw-r--r--doc/man/man3/qchecktableitem.3qt94
-rw-r--r--doc/man/man3/qchildevent.3qt78
-rw-r--r--doc/man/man3/qclipboard.3qt357
-rw-r--r--doc/man/man3/qcloseevent.3qt110
-rw-r--r--doc/man/man3/qcolor.3qt592
-rw-r--r--doc/man/man3/qcolordialog.3qt80
-rw-r--r--doc/man/man3/qcolordrag.3qt82
-rw-r--r--doc/man/man3/qcolorgroup.3qt358
-rw-r--r--doc/man/man3/qcombobox.3qt603
-rw-r--r--doc/man/man3/qcombotableitem.3qt156
-rw-r--r--doc/man/man3/qcommonstyle.3qt59
-rw-r--r--doc/man/man3/qconststring.3qt70
-rw-r--r--doc/man/man3/qcontextmenuevent.3qt187
-rw-r--r--doc/man/man3/qcopchannel.3qt170
-rw-r--r--doc/man/man3/qcstring.3qt1138
-rw-r--r--doc/man/man3/qcursor.3qt253
-rw-r--r--doc/man/man3/qcustomevent.3qt130
-rw-r--r--doc/man/man3/qcustommenuitem.3qt106
-rw-r--r--doc/man/man3/qdatabrowser.3qt593
-rw-r--r--doc/man/man3/qdatastream.3qt563
-rw-r--r--doc/man/man3/qdatatable.3qt700
-rw-r--r--doc/man/man3/qdataview.3qt129
-rw-r--r--doc/man/man3/qdate.3qt429
-rw-r--r--doc/man/man3/qdateedit.3qt292
-rw-r--r--doc/man/man3/qdatetime.3qt337
-rw-r--r--doc/man/man3/qdatetimeedit.3qt146
-rw-r--r--doc/man/man3/qdatetimeeditbase.3qt48
-rw-r--r--doc/man/man3/qdeepcopy.3qt190
-rw-r--r--doc/man/man3/qdesktopwidget.3qt190
-rw-r--r--doc/man/man3/qdial.3qt365
-rw-r--r--doc/man/man3/qdialog.3qt322
-rw-r--r--doc/man/man3/qdict.3qt374
-rw-r--r--doc/man/man3/qdictiterator.3qt153
-rw-r--r--doc/man/man3/qdir.3qt807
-rw-r--r--doc/man/man3/qdirectpainter.3qt178
-rw-r--r--doc/man/man3/qdns.3qt331
-rw-r--r--doc/man/man3/qdockarea.3qt233
-rw-r--r--doc/man/man3/qdockwindow.3qt470
-rw-r--r--doc/man/man3/qdomattr.3qt153
-rw-r--r--doc/man/man3/qdomcdatasection.3qt96
-rw-r--r--doc/man/man3/qdomcharacterdata.3qt140
-rw-r--r--doc/man/man3/qdomcomment.3qt101
-rw-r--r--doc/man/man3/qdomdocument.3qt448
-rw-r--r--doc/man/man3/qdomdocumentfragment.3qt100
-rw-r--r--doc/man/man3/qdomdocumenttype.3qt132
-rw-r--r--doc/man/man3/qdomelement.3qt335
-rw-r--r--doc/man/man3/qdomentity.3qt114
-rw-r--r--doc/man/man3/qdomentityreference.3qt100
-rw-r--r--doc/man/man3/qdomimplementation.3qt126
-rw-r--r--doc/man/man3/qdomnamednodemap.3qt172
-rw-r--r--doc/man/man3/qdomnode.3qt733
-rw-r--r--doc/man/man3/qdomnodelist.3qt108
-rw-r--r--doc/man/man3/qdomnotation.3qt108
-rw-r--r--doc/man/man3/qdomprocessinginstruction.3qt115
-rw-r--r--doc/man/man3/qdomtext.3qt107
-rw-r--r--doc/man/man3/qdoublevalidator.3qt146
-rw-r--r--doc/man/man3/qdragenterevent.3qt58
-rw-r--r--doc/man/man3/qdragleaveevent.3qt58
-rw-r--r--doc/man/man3/qdragmoveevent.3qt83
-rw-r--r--doc/man/man3/qdragobject.3qt182
-rw-r--r--doc/man/man3/qdropevent.3qt189
-rw-r--r--doc/man/man3/qeditorfactory.3qt85
-rw-r--r--doc/man/man3/qerrormessage.3qt94
-rw-r--r--doc/man/man3/qeucjpcodec.3qt90
-rw-r--r--doc/man/man3/qeuckrcodec.3qt71
-rw-r--r--doc/man/man3/qevent.3qt238
-rw-r--r--doc/man/man3/qeventloop.3qt240
-rw-r--r--doc/man/man3/qfile.3qt526
-rw-r--r--doc/man/man3/qfiledialog.3qt1025
-rw-r--r--doc/man/man3/qfileiconprovider.3qt68
-rw-r--r--doc/man/man3/qfileinfo.3qt537
-rw-r--r--doc/man/man3/qfilepreview.3qt66
-rw-r--r--doc/man/man3/qfocusdata.3qt92
-rw-r--r--doc/man/man3/qfocusevent.3qt117
-rw-r--r--doc/man/man3/qfont.3qt906
-rw-r--r--doc/man/man3/qfontdatabase.3qt303
-rw-r--r--doc/man/man3/qfontdialog.3qt163
-rw-r--r--doc/man/man3/qfontinfo.3qt175
-rw-r--r--doc/man/man3/qfontmanager.3qt76
-rw-r--r--doc/man/man3/qfontmetrics.3qt416
-rw-r--r--doc/man/man3/qframe.3qt405
-rw-r--r--doc/man/man3/qftp.3qt649
-rw-r--r--doc/man/man3/qgb18030codec.3qt80
-rw-r--r--doc/man/man3/qgb2312codec.3qt48
-rw-r--r--doc/man/man3/qgbkcodec.3qt52
-rw-r--r--doc/man/man3/qgfxdriverfactory.3qt59
-rw-r--r--doc/man/man3/qgfxdriverplugin.3qt78
-rw-r--r--doc/man/man3/qgl.3qt95
-rw-r--r--doc/man/man3/qglayoutiterator.3qt81
-rw-r--r--doc/man/man3/qglcolormap.3qt166
-rw-r--r--doc/man/man3/qglcontext.3qt273
-rw-r--r--doc/man/man3/qglformat.3qt511
-rw-r--r--doc/man/man3/qglwidget.3qt512
-rw-r--r--doc/man/man3/qgrid.3qt75
-rw-r--r--doc/man/man3/qgridlayout.3qt390
-rw-r--r--doc/man/man3/qgridview.3qt245
-rw-r--r--doc/man/man3/qgroupbox.3qt329
-rw-r--r--doc/man/man3/qguardedptr.3qt148
-rw-r--r--doc/man/man3/qhbox.3qt92
-rw-r--r--doc/man/man3/qhboxlayout.3qt112
-rw-r--r--doc/man/man3/qhbuttongroup.3qt75
-rw-r--r--doc/man/man3/qheader.3qt584
-rw-r--r--doc/man/man3/qhebrewcodec.3qt78
-rw-r--r--doc/man/man3/qhgroupbox.3qt75
-rw-r--r--doc/man/man3/qhideevent.3qt57
-rw-r--r--doc/man/man3/qhostaddress.3qt188
-rw-r--r--doc/man/man3/qhttp.3qt542
-rw-r--r--doc/man/man3/qhttpheader.3qt210
-rw-r--r--doc/man/man3/qhttprequestheader.3qt137
-rw-r--r--doc/man/man3/qhttpresponseheader.3qt94
-rw-r--r--doc/man/man3/qicondrag.3qt96
-rw-r--r--doc/man/man3/qicondragevent.3qt86
-rw-r--r--doc/man/man3/qicondragitem.3qt76
-rw-r--r--doc/man/man3/qiconfactory.3qt98
-rw-r--r--doc/man/man3/qiconset.3qt284
-rw-r--r--doc/man/man3/qiconview.3qt961
-rw-r--r--doc/man/man3/qiconviewitem.3qt576
-rw-r--r--doc/man/man3/qimage.3qt1095
-rw-r--r--doc/man/man3/qimageconsumer.3qt108
-rw-r--r--doc/man/man3/qimagedecoder.3qt111
-rw-r--r--doc/man/man3/qimagedrag.3qt105
-rw-r--r--doc/man/man3/qimageformat.3qt63
-rw-r--r--doc/man/man3/qimageformatplugin.3qt76
-rw-r--r--doc/man/man3/qimageformattype.3qt78
-rw-r--r--doc/man/man3/qimageio.3qt365
-rw-r--r--doc/man/man3/qimevent.3qt127
-rw-r--r--doc/man/man3/qinputdialog.3qt201
-rw-r--r--doc/man/man3/qintcache.3qt185
-rw-r--r--doc/man/man3/qintcacheiterator.3qt157
-rw-r--r--doc/man/man3/qintdict.3qt315
-rw-r--r--doc/man/man3/qintdictiterator.3qt157
-rw-r--r--doc/man/man3/qintvalidator.3qt203
-rw-r--r--doc/man/man3/qiodevice.3qt551
-rw-r--r--doc/man/man3/qjiscodec.3qt96
-rw-r--r--doc/man/man3/qkbddriverfactory.3qt59
-rw-r--r--doc/man/man3/qkbddriverplugin.3qt78
-rw-r--r--doc/man/man3/qkeyevent.3qt155
-rw-r--r--doc/man/man3/qkeysequence.3qt169
-rw-r--r--doc/man/man3/qlabel.3qt435
-rw-r--r--doc/man/man3/qlayout.3qt408
-rw-r--r--doc/man/man3/qlayoutitem.3qt226
-rw-r--r--doc/man/man3/qlayoutiterator.3qt140
-rw-r--r--doc/man/man3/qlcdnumber.3qt335
-rw-r--r--doc/man/man3/qlibrary.3qt280
-rw-r--r--doc/man/man3/qlineedit.3qt778
-rw-r--r--doc/man/man3/qlistbox.3qt1110
-rw-r--r--doc/man/man3/qlistboxitem.3qt203
-rw-r--r--doc/man/man3/qlistboxpixmap.3qt120
-rw-r--r--doc/man/man3/qlistboxtext.3qt98
-rw-r--r--doc/man/man3/qlistview.3qt1108
-rw-r--r--doc/man/man3/qlistviewitem.3qt724
-rw-r--r--doc/man/man3/qlistviewitemiterator.3qt218
-rw-r--r--doc/man/man3/qlocale.3qt1249
-rw-r--r--doc/man/man3/qlocalfs.3qt67
-rw-r--r--doc/man/man3/qmacmime.3qt150
-rw-r--r--doc/man/man3/qmacstyle.3qt135
-rw-r--r--doc/man/man3/qmainwindow.3qt845
-rw-r--r--doc/man/man3/qmap.3qt554
-rw-r--r--doc/man/man3/qmapconstiterator.3qt141
-rw-r--r--doc/man/man3/qmapiterator.3qt152
-rw-r--r--doc/man/man3/qmemarray.3qt571
-rw-r--r--doc/man/man3/qmenubar.3qt588
-rw-r--r--doc/man/man3/qmenudata.3qt707
-rw-r--r--doc/man/man3/qmessagebox.3qt858
-rw-r--r--doc/man/man3/qmetaobject.3qt184
-rw-r--r--doc/man/man3/qmetaproperty.3qt151
-rw-r--r--doc/man/man3/qmimesource.3qt94
-rw-r--r--doc/man/man3/qmimesourcefactory.3qt233
-rw-r--r--doc/man/man3/qmotif.3qt114
-rw-r--r--doc/man/man3/qmotifdialog.3qt178
-rw-r--r--doc/man/man3/qmotifplusstyle.3qt59
-rw-r--r--doc/man/man3/qmotifstyle.3qt76
-rw-r--r--doc/man/man3/qmotifwidget.3qt86
-rw-r--r--doc/man/man3/qmousedriverfactory.3qt59
-rw-r--r--doc/man/man3/qmousedriverplugin.3qt78
-rw-r--r--doc/man/man3/qmouseevent.3qt199
-rw-r--r--doc/man/man3/qmoveevent.3qt68
-rw-r--r--doc/man/man3/qmovie.3qt322
-rw-r--r--doc/man/man3/qmutex.3qt213
-rw-r--r--doc/man/man3/qmutexlocker.3qt273
-rw-r--r--doc/man/man3/qnetworkoperation.3qt145
-rw-r--r--doc/man/man3/qnetworkprotocol.3qt386
-rw-r--r--doc/man/man3/qnpinstance.3qt290
-rw-r--r--doc/man/man3/qnplugin.3qt157
-rw-r--r--doc/man/man3/qnpstream.3qt114
-rw-r--r--doc/man/man3/qnpwidget.3qt129
-rw-r--r--doc/man/man3/qobject.3qt1002
-rw-r--r--doc/man/man3/qobjectcleanuphandler.3qt152
-rw-r--r--doc/man/man3/qobjectlist.3qt81
-rw-r--r--doc/man/man3/qobjectlistiterator.3qt63
-rw-r--r--doc/man/man3/qpaintdevice.3qt384
-rw-r--r--doc/man/man3/qpaintdevicemetrics.3qt116
-rw-r--r--doc/man/man3/qpainter.3qt1709
-rw-r--r--doc/man/man3/qpaintevent.3qt94
-rw-r--r--doc/man/man3/qpair.3qt100
-rw-r--r--doc/man/man3/qpalette.3qt293
-rw-r--r--doc/man/man3/qpen.3qt287
-rw-r--r--doc/man/man3/qpicture.3qt255
-rw-r--r--doc/man/man3/qpixmap.3qt788
-rw-r--r--doc/man/man3/qpixmapcache.3qt145
-rw-r--r--doc/man/man3/qplatinumstyle.3qt68
-rw-r--r--doc/man/man3/qpngimagepacker.3qt72
-rw-r--r--doc/man/man3/qpoint.3qt377
-rw-r--r--doc/man/man3/qpointarray.3qt277
-rw-r--r--doc/man/man3/qpopupmenu.3qt810
-rw-r--r--doc/man/man3/qprinter.3qt734
-rw-r--r--doc/man/man3/qprocess.3qt521
-rw-r--r--doc/man/man3/qprogressbar.3qt238
-rw-r--r--doc/man/man3/qprogressdialog.3qt430
-rw-r--r--doc/man/man3/qptrcollection.3qt145
-rw-r--r--doc/man/man3/qptrdict.3qt315
-rw-r--r--doc/man/man3/qptrdictiterator.3qt168
-rw-r--r--doc/man/man3/qptrlist.3qt718
-rw-r--r--doc/man/man3/qptrlistiterator.3qt210
-rw-r--r--doc/man/man3/qptrqueue.3qt186
-rw-r--r--doc/man/man3/qptrstack.3qt164
-rw-r--r--doc/man/man3/qptrvector.3qt351
-rw-r--r--doc/man/man3/qpushbutton.3qt468
-rw-r--r--doc/man/man3/qradiobutton.3qt278
-rw-r--r--doc/man/man3/qrangecontrol.3qt294
-rw-r--r--doc/man/man3/qrect.3qt662
-rw-r--r--doc/man/man3/qregexp.3qt855
-rw-r--r--doc/man/man3/qregexpvalidator.3qt179
-rw-r--r--doc/man/man3/qregion.3qt388
-rw-r--r--doc/man/man3/qresizeevent.3qt70
-rw-r--r--doc/man/man3/qscreen.3qt329
-rw-r--r--doc/man/man3/qscrollbar.3qt360
-rw-r--r--doc/man/man3/qscrollview.3qt913
-rw-r--r--doc/man/man3/qsemaphore.3qt110
-rw-r--r--doc/man/man3/qserversocket.3qt142
-rw-r--r--doc/man/man3/qsessionmanager.3qt314
-rw-r--r--doc/man/man3/qsettings.3qt654
-rw-r--r--doc/man/man3/qsgistyle.3qt64
-rw-r--r--doc/man/man3/qshowevent.3qt55
-rw-r--r--doc/man/man3/qsignal.3qt197
-rw-r--r--doc/man/man3/qsignalmapper.3qt118
-rw-r--r--doc/man/man3/qsimplerichtext.3qt182
-rw-r--r--doc/man/man3/qsize.3qt370
-rw-r--r--doc/man/man3/qsizegrip.3qt100
-rw-r--r--doc/man/man3/qsizepolicy.3qt238
-rw-r--r--doc/man/man3/qsjiscodec.3qt83
-rw-r--r--doc/man/man3/qslider.3qt390
-rw-r--r--doc/man/man3/qsocket.3qt471
-rw-r--r--doc/man/man3/qsocketdevice.3qt373
-rw-r--r--doc/man/man3/qsocketnotifier.3qt157
-rw-r--r--doc/man/man3/qsound.3qt167
-rw-r--r--doc/man/man3/qspaceritem.3qt108
-rw-r--r--doc/man/man3/qspinbox.3qt572
-rw-r--r--doc/man/man3/qsplashscreen.3qt182
-rw-r--r--doc/man/man3/qsplitter.3qt332
-rw-r--r--doc/man/man3/qsql.3qt111
-rw-r--r--doc/man/man3/qsqlcursor.3qt661
-rw-r--r--doc/man/man3/qsqldatabase.3qt666
-rw-r--r--doc/man/man3/qsqldriver.3qt253
-rw-r--r--doc/man/man3/qsqldriverplugin.3qt78
-rw-r--r--doc/man/man3/qsqleditorfactory.3qt93
-rw-r--r--doc/man/man3/qsqlerror.3qt142
-rw-r--r--doc/man/man3/qsqlfield.3qt199
-rw-r--r--doc/man/man3/qsqlfieldinfo.3qt175
-rw-r--r--doc/man/man3/qsqlform.3qt244
-rw-r--r--doc/man/man3/qsqlindex.3qt126
-rw-r--r--doc/man/man3/qsqlpropertymap.3qt172
-rw-r--r--doc/man/man3/qsqlquery.3qt567
-rw-r--r--doc/man/man3/qsqlrecord.3qt268
-rw-r--r--doc/man/man3/qsqlrecordinfo.3qt79
-rw-r--r--doc/man/man3/qsqlresult.3qt189
-rw-r--r--doc/man/man3/qsqlselectcursor.3qt91
-rw-r--r--doc/man/man3/qstatusbar.3qt209
-rw-r--r--doc/man/man3/qstoreddrag.3qt83
-rw-r--r--doc/man/man3/qstrilist.3qt64
-rw-r--r--doc/man/man3/qstring.3qt2553
-rw-r--r--doc/man/man3/qstringlist.3qt336
-rw-r--r--doc/man/man3/qstrlist.3qt92
-rw-r--r--doc/man/man3/qstrlistiterator.3qt46
-rw-r--r--doc/man/man3/qstyle.3qt1089
-rw-r--r--doc/man/man3/qstylefactory.3qt61
-rw-r--r--doc/man/man3/qstyleoption.3qt222
-rw-r--r--doc/man/man3/qstyleplugin.3qt78
-rw-r--r--doc/man/man3/qstylesheet.3qt224
-rw-r--r--doc/man/man3/qstylesheetitem.3qt484
-rw-r--r--doc/man/man3/qsyntaxhighlighter.3qt120
-rw-r--r--doc/man/man3/qt.3qt1451
-rw-r--r--doc/man/man3/qtab.3qt120
-rw-r--r--doc/man/man3/qtabbar.3qt332
-rw-r--r--doc/man/man3/qtabdialog.3qt464
-rw-r--r--doc/man/man3/qtable.3qt1382
-rw-r--r--doc/man/man3/qtableitem.3qt466
-rw-r--r--doc/man/man3/qtableselection.3qt158
-rw-r--r--doc/man/man3/qtabletevent.3qt192
-rw-r--r--doc/man/man3/qtabwidget.3qt424
-rw-r--r--doc/man/man3/qtextbrowser.3qt231
-rw-r--r--doc/man/man3/qtextcodec.3qt586
-rw-r--r--doc/man/man3/qtextcodecplugin.3qt96
-rw-r--r--doc/man/man3/qtextdecoder.3qt64
-rw-r--r--doc/man/man3/qtextdrag.3qt110
-rw-r--r--doc/man/man3/qtextedit.3qt1452
-rw-r--r--doc/man/man3/qtextencoder.3qt65
-rw-r--r--doc/man/man3/qtextistream.3qt79
-rw-r--r--doc/man/man3/qtextostream.3qt77
-rw-r--r--doc/man/man3/qtextstream.3qt642
-rw-r--r--doc/man/man3/qthread.3qt230
-rw-r--r--doc/man/man3/qthreadstorage.3qt166
-rw-r--r--doc/man/man3/qtime.3qt372
-rw-r--r--doc/man/man3/qtimeedit.3qt256
-rw-r--r--doc/man/man3/qtimer.3qt196
-rw-r--r--doc/man/man3/qtimerevent.3qt66
-rw-r--r--doc/man/man3/qtoolbar.3qt163
-rw-r--r--doc/man/man3/qtoolbox.3qt211
-rw-r--r--doc/man/man3/qtoolbutton.3qt419
-rw-r--r--doc/man/man3/qtooltip.3qt354
-rw-r--r--doc/man/man3/qtooltipgroup.3qt154
-rw-r--r--doc/man/man3/qtranslator.3qt297
-rw-r--r--doc/man/man3/qtranslatormessage.3qt185
-rw-r--r--doc/man/man3/qtsciicodec.3qt62
-rw-r--r--doc/man/man3/quridrag.3qt168
-rw-r--r--doc/man/man3/qurl.3qt496
-rw-r--r--doc/man/man3/qurlinfo.3qt366
-rw-r--r--doc/man/man3/qurloperator.3qt379
-rw-r--r--doc/man/man3/quuid.3qt203
-rw-r--r--doc/man/man3/qvalidator.3qt112
-rw-r--r--doc/man/man3/qvaluelist.3qt756
-rw-r--r--doc/man/man3/qvaluelistconstiterator.3qt127
-rw-r--r--doc/man/man3/qvaluelistiterator.3qt172
-rw-r--r--doc/man/man3/qvaluestack.3qt141
-rw-r--r--doc/man/man3/qvaluevector.3qt635
-rw-r--r--doc/man/man3/qvariant.3qt1155
-rw-r--r--doc/man/man3/qvbox.3qt62
-rw-r--r--doc/man/man3/qvboxlayout.3qt96
-rw-r--r--doc/man/man3/qvbuttongroup.3qt75
-rw-r--r--doc/man/man3/qvgroupbox.3qt75
-rw-r--r--doc/man/man3/qwaitcondition.3qt202
-rw-r--r--doc/man/man3/qwhatsthis.3qt207
-rw-r--r--doc/man/man3/qwheelevent.3qt160
-rw-r--r--doc/man/man3/qwidget.3qt3219
-rw-r--r--doc/man/man3/qwidgetfactory.3qt135
-rw-r--r--doc/man/man3/qwidgetitem.3qt104
-rw-r--r--doc/man/man3/qwidgetplugin.3qt124
-rw-r--r--doc/man/man3/qwidgetstack.3qt166
-rw-r--r--doc/man/man3/qwindowsmime.3qt157
-rw-r--r--doc/man/man3/qwindowsstyle.3qt57
-rw-r--r--doc/man/man3/qwizard.3qt289
-rw-r--r--doc/man/man3/qwmatrix.3qt473
-rw-r--r--doc/man/man3/qworkspace.3qt196
-rw-r--r--doc/man/man3/qwsdecoration.3qt156
-rw-r--r--doc/man/man3/qwsinputmethod.3qt105
-rw-r--r--doc/man/man3/qwskeyboardhandler.3qt77
-rw-r--r--doc/man/man3/qwsmousehandler.3qt89
-rw-r--r--doc/man/man3/qwsserver.3qt311
-rw-r--r--doc/man/man3/qwswindow.3qt140
-rw-r--r--doc/man/man3/qxmlattributes.3qt189
-rw-r--r--doc/man/man3/qxmlcontenthandler.3qt184
-rw-r--r--doc/man/man3/qxmldeclhandler.3qt92
-rw-r--r--doc/man/man3/qxmldefaulthandler.3qt64
-rw-r--r--doc/man/man3/qxmldtdhandler.3qt81
-rw-r--r--doc/man/man3/qxmlentityresolver.3qt72
-rw-r--r--doc/man/man3/qxmlerrorhandler.3qt88
-rw-r--r--doc/man/man3/qxmlinputsource.3qt156
-rw-r--r--doc/man/man3/qxmllexicalhandler.3qt134
-rw-r--r--doc/man/man3/qxmllocator.3qt71
-rw-r--r--doc/man/man3/qxmlnamespacesupport.3qt180
-rw-r--r--doc/man/man3/qxmlparseexception.3qt80
-rw-r--r--doc/man/man3/qxmlreader.3qt206
-rw-r--r--doc/man/man3/qxmlsimplereader.3qt142
-rw-r--r--doc/metaobjects.doc108
-rw-r--r--doc/misc.doc1127
-rw-r--r--doc/moc.doc513
-rw-r--r--doc/modules.doc104
-rw-r--r--doc/network.doc522
-rw-r--r--doc/networking.doc386
-rw-r--r--doc/object.doc763
-rw-r--r--doc/opengl-x11-overlays.doc132
-rw-r--r--doc/overviews-list.doc135
-rw-r--r--doc/pictures.doc147
-rw-r--r--doc/plugins-howto.doc300
-rw-r--r--doc/porting2.doc1441
-rw-r--r--doc/porting3.doc816
-rw-r--r--doc/primes.doc173
-rw-r--r--doc/qasciicache.doc476
-rw-r--r--doc/qasciidict.doc475
-rw-r--r--doc/qcache.doc469
-rw-r--r--doc/qcollection-compat.doc108
-rw-r--r--doc/qdict.doc557
-rw-r--r--doc/qembed.doc71
-rw-r--r--doc/qguardedptr.doc44
-rw-r--r--doc/qintcache.doc457
-rw-r--r--doc/qintdict.doc449
-rw-r--r--doc/qmap.doc902
-rw-r--r--doc/qmemarray.doc590
-rw-r--r--doc/qobjectlist.doc88
-rw-r--r--doc/qpair.doc146
-rw-r--r--doc/qptrdict.doc458
-rw-r--r--doc/qptrlist.doc1259
-rw-r--r--doc/qptrqueue.doc230
-rw-r--r--doc/qptrstack.doc208
-rw-r--r--doc/qptrvector.doc431
-rw-r--r--doc/qsortedlist.doc91
-rw-r--r--doc/qtl.doc367
-rw-r--r--doc/qtmac-as-native.doc163
-rw-r--r--doc/qvaluelist.doc1200
-rw-r--r--doc/qvaluestack.doc169
-rw-r--r--doc/qvaluevector.doc724
-rw-r--r--doc/qvfb.doc119
-rw-r--r--doc/qws.doc670
-rw-r--r--doc/session.doc177
-rw-r--r--doc/shclass.doc260
-rw-r--r--doc/signalsandslots.doc410
-rw-r--r--doc/sql-driver.doc739
-rw-r--r--doc/sql.doc1351
-rw-r--r--doc/table.doc73
-rw-r--r--doc/threads.doc371
-rw-r--r--doc/tools-list.doc29
-rw-r--r--doc/trademarks.doc11
-rw-r--r--doc/tutorial.doc2651
-rw-r--r--doc/tutorial2.doc1435
-rw-r--r--doc/uic.doc100
-rw-r--r--doc/unicode.doc156
-rw-r--r--doc/winsystem.doc123
-rw-r--r--doc/xml-sax-features-walkthrough.doc391
-rw-r--r--doc/xml-sax-walkthrough.doc190
-rw-r--r--doc/xml.doc634
-rw-r--r--doc/y2k.doc90
2865 files changed, 523069 insertions, 0 deletions
diff --git a/doc/3rdparty.doc b/doc/3rdparty.doc
new file mode 100644
index 0000000..d90a2f8
--- /dev/null
+++ b/doc/3rdparty.doc
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Discussion of different licenses used in Qt.
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+
+\page 3rdparty.html
+
+\title 3rd Party Licenses used in Qt
+
+Run \c{configure -help} to see any options that may be available for
+controlling the use of these libraries.
+
+\tableofcontents
+
+\section1 Freetype 2 (freetype)
+
+\e{The FreeType project is a team of volunteers who develop free, portable
+and high-quality software solutions for digital typography. We specifically
+target embedded systems and focus on bringing small, efficient and
+ubiquitous products.} -- quoted from \c 3rdparty/freetype/docs/freetype2.html.
+
+See \c 3rdparty/freetype/docs/FIL.txt and \c
+3rdparty/freetype/docs/GPL.txt for license details.
+
+See also the files in \c 3rdparty/opentype which are used by
+Freetype.
+
+
+\section1 The Independent JPEG Group's JPEG software (libjpeg)
+
+\e{This package contains C software to implement JPEG image compression and
+decompression. JPEG (pronounced "jay-peg") is a standardized compression
+method for full-color and gray-scale images. JPEG is intended for compressing
+"real-world" scenes; line drawings, cartoons and other non-realistic images
+are not its strong suit. JPEG is lossy, meaning that the output image is not
+exactly identical to the input image.} -- quoted from \c
+3rdparty/libjpeg/README.
+
+See \c 3rdparty/libjpeg/README for license details.
+
+
+\section1 Multiple-image Network Graphics (MNG) Reference Library (libmng)
+
+\e{The libmng library supports decoding, displaying, encoding, and various
+other manipulations of the Multiple-image Network Graphics (MNG) format
+image files. It uses the zlib compression library, and optionally the
+JPEG library by the Independent JPEG Group (IJG) and/or
+lcms (little cms), a color-management library by Marti Maria Saguer.}
+-- quoted from \c 3rdparty/libmng/doc/libmng.txt.
+
+See \c 3rdparty/libmng/LICENSE for license details.
+
+
+\section1 PNG reference library (libpng)
+
+\e{Libpng was written as a companion to the PNG specification, as a way
+of reducing the amount of time and effort it takes to support the PNG
+file format in application programs.} -- quoted from \c
+3rdparty/libpng/libpng.txt.
+
+
+See \c 3rdparty/libpng/LICENSE for license details.
+
+
+\section1 Data compression library (zlib)
+
+\e{zlib is a general purpose data compression library. All the code
+is thread safe. The data format used by the zlib library is described
+by RFCs (Request for Comments) 1950 to 1952} -- quoted from \c
+3rdparty/zlib/README.
+
+See \c 3rdparty/zlib/README for license details.
+
+\section1 Font files for Qt/Embedded
+
+\e {The Helvetica BDF font files supplied with Qt/Embedded are distributed under the following highly
+permissive license. We recommend that all Qt/Embedded installations that use these font files also
+acknowledge this contribution, and quote this license
+statement in an appendix to the documentation.
+} -- located in \c{lib/fonts}
+
+Copyright 1984-1989, 1994 Adobe Systems Incorporated.
+
+Copyright 1988, 1994 Digital Equipment Corporation.
+
+Adobe is a trademark of Adobe Systems Incorporated which may be
+registered in certain jurisdictions.
+Permission to use these trademarks is hereby granted only in
+association with the images described in this file.
+
+Permission to use, copy, modify, distribute and sell this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notices appear in all
+copies and that both those copyright notices and this permission
+notice appear in supporting documentation, and that the names of
+Adobe Systems and Digital Equipment Corporation not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Adobe Systems and
+Digital Equipment Corporation make no representations about the
+suitability of this software for any purpose. It is provided "as
+is" without express or implied warranty.
+
+*/
diff --git a/doc/aboutqt.doc b/doc/aboutqt.doc
new file mode 100644
index 0000000..7e5b2ff
--- /dev/null
+++ b/doc/aboutqt.doc
@@ -0,0 +1,57 @@
+/*!
+\page aboutqt.html
+
+\title About Qt
+
+Qt is a multiplatform C++ GUI toolkit created and maintained by\link
+troll.html Trolltech\endlink. It provides application developers with
+all the functionality needed to build applications with
+state-of-the-art graphical user interfaces. Qt is fully
+object-oriented, easily extensible, and allows true component
+programming. Read the \link
+http://www.trolltech.com/products/qt/whitepaper.html
+Whitepaper\endlink for a comprehensive technical overview.
+
+Since its commercial introduction in early 1996, Qt has formed the
+basis of many thousands of successful applications worldwide. Qt is
+also the basis of the popular \link http://www.kde.org/ KDE \endlink
+Linux desktop environment, a standard component of all major Linux
+distributions. See our \link http://www.trolltech.com/success/
+Customer Success Stories\endlink for some examples of commercial Qt
+development.
+
+
+Qt is supported on the following platforms:
+\list
+ \i <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+ \i <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+ IBM AIX, SGI IRIX and a wide range of others
+ \i <b>Macintosh</b> -- Mac OS X
+ \i <b>Embedded</b> -- Linux platforms with framebuffer support.
+\endlist
+
+Qt is released in different editions:
+\list
+\i The \link commercialeditions.html <b>Qt Enterprise
+Edition\endlink</b> and the \link commercialeditions.html <b>Qt
+Professional Edition\endlink</b> provide for commercial software
+development. They permit traditional commercial software distribution
+and include free upgrades and Technical Support. For the latest
+prices, see the Trolltech web site, \link
+http://www.trolltech.com/pricing.html Pricing and Availability\endlink
+page, or contact \link mailto:sales@trolltech.com
+sales@trolltech.com\endlink. The Enterprise Edition offers additional
+\link modules.html modules \endlink compared to the Professional
+Edition.
+\endlist
+
+\list
+\i The \link opensourceedition.html <b>Qt Open Source Edition\endlink</b> is
+available for Unix/X11, Macintosh and Embedded Linux. The Open Source Edition
+is for the development of \e {Free and Open
+Source software} only. It is provided free of charge under the terms
+of both the \link license.html Q Public License\endlink and the \link
+gpl.html GNU General Public License\endlink.
+\endlist
+
+*/
diff --git a/doc/accel.doc b/doc/accel.doc
new file mode 100644
index 0000000..6641241
--- /dev/null
+++ b/doc/accel.doc
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Help with writing Qt/Embedded accelerated drivers
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-accel.html
+
+\title Adding an accelerated graphics driver to Qt/Embedded
+
+Qt/Embedded has the capacity to make use of hardware accelerators.
+To use a hardware accelerator for a PCI or AGP driver, you must
+perform the following steps:
+
+\list 1
+\i
+Define an accelerated descendant of QLinuxFbScreen.
+
+This should implement \c QVoodooScreen::connect() to map its
+registers. Use \c qt_probe_bus to get a pointer to the PCI config
+space. This is where you should check that you're being pointed to the
+right device (using the PCI device/manufacturer ID information). Then
+use PCI config space to locate your device's accelerator registers in
+physical memory and mmap the appropriate region from \c /dev/mem.
+There is no need to map the framebuffer, \c QLinuxFbScreen will do
+this for you. Return \c FALSE if a problem occurs at any point. \c
+QVoodooScreen::initDevice() will be called only by the QWS server and
+is guaranteed to be called before any drawing is done (and so is a
+good place to set registers to known states). \c connect() will be called
+by every connecting client.
+
+\i
+Define an accelerated descendant of QGfxRaster.
+
+This is where the actual drawing code goes. Anything not implemented
+in hardware can be passed back to \c QGfxRaster to do in software. Use
+the optype variable to make sure that accelerated and unaccelerated
+operations are synchronised (if you start drawing via software into an
+area where the hardware accelerator is still drawing then your drawing
+operations will appear to be in the wrong order). optype is stored in
+shared memory and is set to 0 by unaccelerated operations; accelerated
+operations should set it to 1. When a software graphics operation is
+requested and optype is 1, \c QGfxRaster::sync() is called; you should
+provide your own implementation of this that waits for the graphics
+engine to go idle. lastop is also available for optimisation and is
+stored in the shared space: this will not be set by the software-only
+\c QGfx and can be used to store the type of your last operation (e.g.
+drawing a rectangle) so that part of the setup for the next operation
+can be avoided when many of the same operations are performed in
+sequence.
+
+All drawing operations should be protected via a \c QWSDisplay::grab()
+before any registers, lastop or optype are accessed, and \c
+ungrabbed() at the end. This prevents two applications trying to
+access the accelerator at once and possibly locking up the machine.
+It's possible that your source data is not on the graphics card so you
+should check in such cases and fall back to software if necessary.
+Note that \c QGfxRaster supports some features not directly supported
+by QPainter (for instance, alpha channels in 32-bit data and
+stretchBlt's). These features are used by Qt; stretchBlt speeds up \c
+QPixmap::xForm() and \c drawPixmap() into a transformed \c QPainter,
+alpha channel acceleration is supported for 32-bit pixmaps.
+
+\i
+If you wish, define an accelerated descendant of \c QScreenCursor. \c
+restoreUnder(), \c saveUnder(), \c drawCursor() and \c draw() should
+be defined as null operations. Implement \c set(), \c move(), \c
+show() and \c hide(). 4KB is left for your cursor at the end of the
+visible part of the framebuffer (i.e. at (width*height*depth)/8 )
+
+\i
+Implement \c initCursor() and \c createGfx() in your \c QScreen
+descendant. Implement \c useOffscreen() and return \c TRUE if you can
+make use of offscreen graphics memory.
+
+\i
+Implement a small function \c qt_get_screen_mychip(), which simply
+returns a new \c QMychipScreen
+
+\i
+Add your driver to the DriverTable table in \c qgfxraster_qws.cpp,
+e.g.
+\code
+{ "MyChip", qt_get_screen_mychip,1 },
+\endcode
+
+The first parameter is the name used with QWS_DISPLAY to request your
+accelerated driver.
+
+\i
+To run with your new driver,
+\code
+export QWS_DISPLAY=MyChip
+\endcode
+(optionally MyChip:/dev/fb\<n\> to request a different Linux
+framebuffer than \c /dev/fb0), then run the program
+
+\endlist
+
+If your driver is not PCI or AGP you'll need to inherit \c QScreen
+instead of \c QLinuxFbScreen and implement similar functionality to \c
+QLinuxFbScreen, but otherwise the process should be similar. The most
+complete example driver is \c qgfxmach64_qws.cpp; \c
+qgfxvoodoo_qws.cpp may provide a smaller and easier-to-understand
+driver.
+
+*/
diff --git a/doc/annotated.doc b/doc/annotated.doc
new file mode 100644
index 0000000..4c2131b
--- /dev/null
+++ b/doc/annotated.doc
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Documentation for class overview
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page annotated.html
+
+\title Annotated Class Index
+
+<p>Qt's classes with brief descriptions:
+
+\annotatedclasslist
+*/
diff --git a/doc/appicon.doc b/doc/appicon.doc
new file mode 100644
index 0000000..1145f5b
--- /dev/null
+++ b/doc/appicon.doc
@@ -0,0 +1,195 @@
+/****************************************************************************
+**
+** Qt Application Icon Usage Documentation.
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+** EDITIONS: FREE, PROFESSIONAL, ENTERPRISE
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+/*!
+\page appicon.html
+
+\title Setting the Application Icon
+
+The application icon, typically displayed in the top-left corner of an
+application's top-level windows, is set by calling the
+QWidget::setIcon() method on top-level widgets.
+
+In order to change the icon of the executable application file
+itself, as it is presented on the desktop (i.e. prior to application
+execution), it is necessary to employ another, platform-dependent
+technique.
+
+\tableofcontents
+
+\section1 Setting the Application Icon on Windows
+
+First, create an ICO format bitmap file that contains the icon image. This
+can be done with e.g. Microsoft Visual C++: Select "File|New...", then
+select the "File" tab in the dialog that appears, and choose "Icon". (Note
+that you do not need to load your application into Visual C++; here we are
+only using the icon editor).
+
+Store the ICO file in your application's source code directory, for
+example, with the name, "myappico.ico". Then, create a text file
+called e.g. "myapp.rc" in which you put a single line of text:
+\code
+IDI_ICON1 ICON DISCARDABLE "myappico.ico"
+\endcode
+
+Finally, assuming you are using \link qmake-manual.book qmake\endlink
+to generate your makefiles, add this line to your "myapp.pro" file:
+
+\code
+RC_FILE = myapp.rc
+\endcode
+
+Regenerate your makefile and your application. The .exe file will now be
+represented with your icon e.g. in Explorer.
+
+If you do not use \link qmake-manual.book qmake\endlink, the necessary
+steps are: first, run the "rc" program on the .rc file, then link your
+application with the resulting .res file.
+
+\section1 Setting the Application Icon on Mac OS X
+
+The application icon, typically displayed in the application dock
+area, is set by calling QWidget::setIcon() on a top-level widget. It
+is possible that the program could appear in the application dock area
+before the function call, in which case a default icon will appear
+during the bouncing animation.
+
+To ensure that the correct icon appears, both when the application is
+being launched, and in the Finder, it is necessary to employ a
+platform-dependent technique.
+
+Although many programs can create icon files (\c .icns), the recommended
+approach is to use the \e{Icon Composer} program supplied by Apple (in the
+Developer/Application folder). \e{Icon Composer} allows you to import several
+different sized icons (for use in different contexts) as well as the masks
+that go with them. Save the set of icons to a file in your project
+directory.
+
+If you are using \link qmake-manual.book qmake\endlink to generate
+your make files, you only need to add a single line to your \c .pro
+project file. For example, if the name of your icon file is
+\c{myapp.icns}, and your project file is \c{myapp.pro}, add this line
+to \c{myapp.pro}:
+\code
+RC_FILE = myapp.icns
+\endcode
+This will ensure that \link qmake-manual.book qmake\endlink puts your
+icons in the proper place and creates an \c{Info.plist} entry for the
+icon.
+
+If you do not use \link qmake-manual.book qmake\endlink, you must do
+the following manually:
+\list 1
+\i Create an Info.plist file for your application (using the
+PropertyListEditor, found in Developer/Applications).
+\i Associate your .icns record with the CFBundleIconFile record in the
+Info.plist file (again, using the PropertyListEditor).
+\i Copy both the icns and your Info.plist into your application bundle
+Resource directory.
+\endlist
+
+\section1 Setting the Application Icon on common Linux desktops
+
+In this section we briefly describe the issues involved in providing
+icons for applications for two common Linux desktop environments:
+\link http://www.kde.org/ KDE\endlink and \link http://www.gnome.org/
+GNOME\endlink. The core technology used to describe application icons
+is the same for both desktops, and may also apply to others, but there
+are details which are specific to each. The main source of information
+on the standards used by these Linux desktops is \link
+http://www.freedesktop.org/ freedesktop.org\endlink. For information
+on other Linux desktops please refer to the documentation for the
+desktops you are interested in.
+
+Often, users do not use executable files directly, but instead launch
+applications by clicking icons on the desktop. These icons are
+representations of `desktop entry files' that contain a description of
+the application that includes information about its icon. Both desktop
+environments are able to retrieve the information in these files, and
+they use it to generate shortcuts to applications on the desktop, in
+the start menu, and on the panel.
+
+More information about desktop entry files can be found in the
+\link http://www.freedesktop.org/Standards/desktop-entry-spec
+Desktop Entry Specification\endlink.
+
+Although desktop entry files can usefully encapsulate the application's details,
+we still need to store the icons in the conventional location for each desktop
+environment. A number of locations for icons are given in the
+\link http://www.freedesktop.org/Standards/icon-theme-spec
+Icon Theme Specification\endlink.
+
+Although the path used to locate icons depends on the desktop in use,
+and on its configuration, the directory structure beneath each of
+these should follow the same pattern: subdirectories are arranged by
+theme, icon size, and application type. Generally, application icons
+are added to the hicolor theme, so a square application icon 32 pixels
+in size would be stored in the \c hicolor/32x32/apps directory beneath
+the icon path.
+
+\section2 KDE
+
+Application icons can be installed for use by all users, or on a per-user basis.
+A user currently logged into their KDE desktop can discover these locations
+by using \link http://developer.kde.org/documentation/other/kde-config.html
+kde-config\endlink, for example,
+by typing the following in a terminal window:
+
+\code
+kde-config --path icon
+\endcode
+
+Typically, the list of colon-separated paths printed to stdout includes the
+user-specific icon path and the system-wide path. Beneath these
+directories, it should be possible to locate and install icons according
+to the conventions described in the
+\link http://www.freedesktop.org/Standards/icon-theme-spec
+Icon Theme Specification \endlink.
+
+If you are developing exclusively for KDE, you may wish to take
+advantage of the \link
+http://developer.kde.org/documentation/other/makefile_am_howto.html
+KDE build system\endlink to configure your application. This ensures
+that your icons are installed in the appropriate locations for KDE.
+
+The KDE developer website is \l{http://developer.kde.org/}.
+
+\section2 GNOME
+
+Application icons are stored within a standard system-wide directory containing
+architecture-independent files. This location can be determined by
+using gnome-config, for example by typing the following in a terminal
+window:
+
+\code
+gnome-config --datadir
+\endcode
+
+The path printed on stdout refers to a location that should contain a directory
+called \c{pixmaps}; the directory structure within the \c pixmaps
+directory is described in the \link
+http://www.freedesktop.org/Standards/icon-theme-spec Icon Theme
+Specification \endlink.
+
+If you are developing exclusively for GNOME, you may wish to use
+the standard set of \link
+http://developer.gnome.org/tools/build.html GNU Build Tools\endlink,
+also described in the relevant section of
+the \link http://developer.gnome.org/doc/GGAD/ggad.html GTK+/Gnome
+Application Development book\endlink. This ensures that your icons are
+installed in the appropriate locations for GNOME.
+
+The GNOME developer website is \l{http://developer.gnome.org/}.
+
+*/
diff --git a/doc/application-walkthrough.doc b/doc/application-walkthrough.doc
new file mode 100644
index 0000000..a5021f7
--- /dev/null
+++ b/doc/application-walkthrough.doc
@@ -0,0 +1,435 @@
+/****************************************************************************
+**
+** Application example documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page simple-application.html
+
+\ingroup step-by-step-examples
+
+\title Walkthrough: A Simple Application
+
+This walkthrough shows simple use of \l QMainWindow, \l QMenuBar, \l
+QPopupMenu, \l QToolBar and \l QStatusBar - classes that every
+modern application window tends to use. (See also \link tutorial2.html
+Tutorial #2\endlink.)
+
+It also illustrates some aspects of \l QWhatsThis (for simple help) and a
+typical \c main() using \l QApplication.
+
+Finally, it shows a typical print function based on \l QPrinter.
+
+\section1 The declaration of ApplicationWindow
+
+Here's the header file in full:
+
+\include application/application.h
+
+It declares a class that inherits \l QMainWindow, with slots and private
+variables. The class pre-declaration of \l QTextEdit at the beginning
+(instead of an include) helps to speed up compilation. With this
+trick, \c{make depend} won't insist on recompiling every \c .cpp file that
+includes \c application.h when \c qtextedit.h changes.
+
+\target simplemain
+\section1 A simple main()
+
+Here is \c main.cpp in full:
+
+\include application/main.cpp
+
+Now we'll look at \c main.cpp in detail.
+
+\quotefile application/main.cpp
+\skipto argc
+\printline argc
+\printline QApplication
+
+With the above line, we create a QApplication object with the usual
+constructor and let it
+parse \e argc and \e argv. QApplication itself takes care of X11-specific
+command-line options like \e -geometry, so the program will automatically
+behave the way X clients are expected to.
+
+\printline ApplicationWindow
+\printline setCaption
+\printline show
+
+We create an \e ApplicationWindow as a top-level widget, set its window
+system caption to "Document 1", and \e show() it.
+
+\target close
+\printline connect
+
+When the application's last window is closed, it should quit. Both
+the signal and the slot are predefined members of QApplication.
+
+\printline exec
+
+Having completed the application's initialization, we start the main
+event loop (the GUI), and eventually return the error code
+that QApplication returns when it leaves the event loop.
+
+\printline }
+
+\target ApplicationWindow
+\section1 The Implementation of ApplicationWindow
+
+\quotefile application/application.cpp
+
+Since the implementation is quite large (almost 300 lines) we
+won't list the whole thing. (The source code is included in the
+examples/application directory.) Before we start with the constructor
+there are three \c{#include}s worth mentioning:
+
+\skipto "filesave.xpm"
+\printuntil "fileprint.xpm"
+
+The tool buttons in our application wouldn't look good without icons!
+These icons can be found in the XPM files included above. If you ever
+moved a program to a different location and wondered why icons were
+missing afterwards you will probably agree that it is a good idea to
+compile them into the binary. This is what we are doing here.
+
+\skipto ApplicationWindow::ApplicationWindow
+\printline ApplicationWindow::ApplicationWindow
+\printuntil {
+
+\e ApplicationWindow inherits QMainWindow, the Qt class that provides
+typical application main windows, with menu bars, toolbars, etc.
+
+\printuntil QPrinter
+
+The application example can print things, and we chose to have a
+QPrinter object lying around so that when the user changes a setting
+during one printing, the new setting will be the default next time.
+
+\printline QPixmap
+
+For the sake of simplicity, our example only has a few commands in the
+toolbar. The above variables are used to hold an icon for each of
+them.
+
+\printline QToolBar
+
+We create a toolbar in \e this window ...
+
+\printline "File Operations"
+
+... and define a title for it. When a user drags the toolbar out of
+its location and floats it over the desktop, the toolbar-window will
+show "File Operations" as caption.
+
+\printline fileopen
+\printuntil SLOT(choose())
+
+Now we create the first tool button for the \e fileTools toolbar
+with the appropriate icon and the tool-tip text "Open File".
+The \c fileopen.xpm we included at the beginning
+contains the definition of a pixmap called \e fileopen.
+We use this icon to illustrate our first tool button.
+
+\printuntil SLOT(print())
+
+In a similar way we create two more tool buttons in this toolbar, each with
+appropriate icons and tool-tip text. All three buttons are connected
+to appropriate slots in this object; for example, the "Print File" button
+to \link #printer ApplicationWindow::print()\endlink.
+
+\printline whatsThisButton
+
+The fourth button in the toolbar is somewhat peculiar: it's the one that
+provides "What's This?" help. This must be set up using a special
+function, as its mouse interface is unusual.
+
+\printuntil fileOpenText )
+
+With the above line we add the "What's This?" help-text to the
+\e fileOpen button...
+
+\printline openIcon
+
+... and tell the rich-text engine that when a help-text (like the one
+saved in \e fileOpenText) requests an image named "fileopen", the \e
+openIcon pixmap is used.
+
+\printuntil fileSaveText )
+\printuntil filePrintText )
+
+The "What's This?" help of the remaining two buttons doesn't make use
+of pixmaps, therefore all we need to do is to add the help-text to the
+button. Be careful though: To invoke the rich-text elements in \c
+fileSaveText(), the entire string must be surrounded by \<p\> and
+\</p\>. In \c filePrintText(), we don't have rich-text elements, so
+this is not necessary.
+
+\printuntil &File
+
+Next we create a \l QPopupMenu for the \e File menu and
+add it to the menu bar. With the ampersand in front of the letter F,
+we allow the user to use the shortcut \e Alt+F to pop up this menu.
+
+\printline &New
+
+Its first entry is connected to the (yet to be implemented) slot \c
+newDoc(). When the user chooses this \e New entry (e.g. by typing the
+letter N as marked by the ampersand) or uses the
+\e Ctrl+N accelerator, a new editor-window will pop up.
+
+\printuntil &Open
+\printuntil &Save
+\printuntil Save &As
+\printuntil fileSaveText
+
+We populate the \e File menu with three more commands (\e Open, \e Save and
+\e{Save As}), and set "What's This?" help for them. Note in particular
+that "What's This?" help and pixmaps are used in both the toolbar (above)
+and the menu bar (here). (See QAction and the \c examples/action
+example for a shorter and easier approach.)
+
+\printline insertSeparator(
+
+Then we insert a separator, ...
+
+\printline &Print
+\printuntil &Close
+\printline &Quit
+
+... the \e Print command with "What's This?" help, another separator and
+two more commands (\e Close and \e Quit) without "What's This?" and pixmaps.
+In case of the \e Close command, the signal is connected
+to the \e close() slot of the respective \e ApplicationWindow object whilst
+the \e Quit command affects the entire application.
+
+Because \e ApplicationWindow is a QWidget, the \e close() function
+triggers a call to \link #closeEvent closeEvent()\endlink which we
+will implement later.
+
+\target common_constructor
+\printline insertSeparator
+
+Now that we have done the File menu we shift our focus back to the
+menu bar and insert a separator. From now on further menu bar entries
+will be aligned to the right if the windows system style requires it.
+
+\printline help
+\printuntil whatsThis
+
+We create a \e Help menu, add it to the menu bar, and insert a few
+commands. Depending on the style it will appear on the right hand
+side of the menu bar or not.
+
+\printline QTextEdit
+\printline setFocus
+\printline setCentralWidget
+
+Now we create a simple text-editor, set the initial focus to it,
+and make it the window's central widget.
+
+\l QMainWindow::centralWidget() is the heart of the entire application:
+It's what menu bar, statusbar and toolbars are all arranged around. Since
+the central widget is a text editing widget, we can now reveal that
+our simple application is a text editor. :)
+
+\printline "Ready"
+
+We make the statusbar say "Ready" for two seconds at startup, just to
+tell the user that the window has finished initialization and can be
+used.
+
+\printline resize
+
+Finally it's time to resize the new window to a a nice default size.
+
+\printline }
+
+We have now finished with the constructor. Now we'll deal with the
+destructor.
+
+\printline ::~
+\printuntil }
+
+The only thing an \e ApplicationWindow widget needs to do in its
+destructor is to delete the printer it created. All other objects are
+child widgets, which Qt will delete when appropriate.
+
+Now our task is to implement all the slots mentioned in the header file
+and used in the constructor.
+
+\target newDoc()
+\printline ::newDoc
+\printuntil }
+
+This slot, connected to the \e{File|New} menu item, simply creates a
+new \e ApplicationWindow and shows it.
+
+\target choose()
+\printline ::choose
+\printuntil getOpenFileName
+\printuntil }
+
+The \e choose() slot is connected to the \e Open menu item and
+tool button. With a little help from \l QFileDialog::getOpenFileName(), it
+asks the user for a file name and then either loads that file or gives an
+error message in the statusbar.
+
+\printline ::load
+\printuntil statusBar
+\printline }
+
+This function loads a file into the editor. When it's done, it sets the
+window system caption to the file name and displays a success message in
+the statusbar for two seconds. With files that exist but are not
+readable, nothing happens.
+
+\target save()
+\printline ::save
+\printuntil close
+
+As its name suggests, this function saves the current file. If no
+filename has been specified so far, the \link #saveAs()
+saveAs()\endlink function is called. Unwritable files cause the \e
+ApplicationWindow object to provide an error-message in the statusbar.
+Note that there is more than one way to do this:
+compare the above \c{statusBar()->message()} line with the equivalent
+code in the \c load() function.
+
+\printline setModified
+
+Tell the editor that the contents haven't been edited since the last
+save. When the user does some further editing and wishes to close the
+window without explicit saving, \link #closeEvent
+ApplicationWindow::closeEvent()\endlink will ask about it.
+
+\printline setCaption
+
+It may be that the document was saved under a different name than the
+old caption suggests, so we set the window caption just to be sure.
+
+\printuntil }
+
+With a message in the statusbar, we inform the user that the file
+was saved successfully.
+
+\target saveAs()
+\printline ::saveAs
+\printuntil message
+\printline }
+\printline }
+
+This function asks for a new name, saves the document under that name,
+and implicitly changes the window system caption to the new name.
+
+\target printer
+
+\skipto ::print
+\printuntil aborted
+\printuntil aborted
+\printline }
+\printline }
+
+\e print() is called by the \e{File|Print} menu item and the \e filePrint
+tool button.
+
+We present the user with the print setup dialog, and abandon printing
+if they cancel.
+
+We create a QSimpleRichText object and give it the text. This object
+is able to format the text nicely as one long page. We achieve
+pagination by printing one paper page's worth of text from the
+QSimpleRichText page at a time.
+
+
+Now let's see what happens when a user wishes to \e close()
+an \e ApplicationWindow.
+
+\target closeEvent
+\printline ::closeEvent
+\printline {
+
+This event gets to process window system close events. A close event is
+subtly different from a hide event: hide often means "iconify" whereas
+close means that the window is going away for good.
+
+\printline isModified
+\printline accept
+\printline return
+\printline }
+
+If the text hasn't been edited, we just accept the event. The window
+will be closed, and because we used the \e WDestructiveClose widget
+flag in the \link #ApplicationWindow <i>ApplicationWindow()</i> constructor\endlink,
+the widget will be deleted.
+
+\printline QMessageBox
+\printuntil {
+
+Otherwise we ask the user: What do you want to do?
+
+\printuntil break
+
+If they want to save and then exit, we do that.
+
+\printuntil break
+
+If the user doesn't want to exit, we ignore the close event (there is
+a chance that we can't block it but we try).
+
+\printuntil break
+
+The last case -- the user wants to abandon the edits and exit -- is very
+simple.
+
+\printline }
+\printline }
+
+Last but not least we implement the slots used by the help menu entries.
+
+\printline ::about
+\printuntil aboutQt
+\printuntil }
+
+These two slots use ready-made "about" functions to provide some
+information about this program and the GUI toolkit it uses. (Although you
+don't need to provide an About Qt in your programs, if you use Qt for free
+we would appreciate it if you tell people what you're using.)
+
+That was all we needed to write a complete, almost useful application with
+nice help-functions, almost as good as the "editors" some computer vendors
+ship with their desktops, and in less than 300 lines of code!
+
+*/
diff --git a/doc/canvas.doc b/doc/canvas.doc
new file mode 100644
index 0000000..629aed5
--- /dev/null
+++ b/doc/canvas.doc
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Documentation for the canvas module
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page canvas.html
+
+\title Canvas Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition
+\endlink.
+\endif
+
+The canvas module provides a highly optimized 2D graphic area called
+\l QCanvas. The canvas can contain an arbitrary number of \link
+QCanvasItem QCanvasItems \endlink. Canvas items can have an arbitrary
+shape, size and content, can be freely moved around in the canvas,
+and can be checked for collisions. Canvas items can be set to move
+across the canvas automatically and animated canvas items are
+supported with QCanvasSprite. (If you require 3D graphics see Qt's
+\link opengl.html OpenGL module \endlink.)
+
+The canvas module uses a document/view model. The \l QCanvasView class
+is used to show a particular view of a canvas. Multiple views can operate
+on the same canvas at the same time. Every view can use an arbitrary
+transformation matrix on the canvas which makes it easy to implement
+features such as zooming.
+
+<center><a href="qcanvas.html">
+<img src="qcanvas.png" alt="Screenshot of a canvas"></a></center>
+
+Qt provides a number of predefined \l QCanvas items as listed below.
+
+\list
+\i QCanvasItem -- An abstract base class for all canvas items.
+\i QCanvasEllipse -- An ellipse or "pie segment".
+\i QCanvasLine -- A line segment.
+\i QCanvasPolygon -- A polygon.
+\i QCanvasPolygonalItem -- A base class for items that have a
+non-rectangular shape. Most canvas items derive from this class.
+\i QCanvasRectangle -- A rectangle. The rectangle cannot be tilted or
+rotated. Rotated rectangles can be drawn using QCanvasPolygon.
+\i QCanvasSpline -- A multi-bezier spline.
+\i QCanvasSprite -- An animated pixmap.
+\i QCanvasText -- A text string.
+\endlist
+
+The two classes \l QCanvasPixmap and \l QCanvasPixmapArray are used
+by \l QCanvasSprite to show animated and moving pixmaps on the
+canvas.
+
+More specialized items can be created by inheriting from one of the
+canvas item classes. It is easiest to inherit from one of
+QCanvasItem's derived classes (usually \l QCanvasPolygonalItem) rather
+than inherit QCanvasItem directly.
+
+See \c examples/canvas for an example that shows off some of QCanvas's
+capabilities.
+
+*/
diff --git a/doc/changes.doc b/doc/changes.doc
new file mode 100644
index 0000000..ccfbe14
--- /dev/null
+++ b/doc/changes.doc
@@ -0,0 +1,453 @@
+/****************************************************************************
+**
+** Change documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page keyfeatures30.html
+
+\title Key Features in Qt 3.0
+
+Qt 3.0 adds a lot of new features and improvements over the Qt 2.x
+series. Some internals have undergone major redesign and new classes
+and methods have been added.
+
+We have tried to keep the API of Qt 3.0 as compatible as possible with
+the Qt 2.x series. For most applications only minor changes will be
+needed to compile and run them successfully using Qt 3.0.
+
+One of the major new features that has been added in the 3.0 release
+is a module allowing you to easily work with databases. The API is
+platform independent and database neutral. This module is seamlessly
+integrated into Qt Designer, greatly simplifying the process of
+building database applications and using data aware widgets.
+
+\omit
+Other major new features include a component architecture allowing you
+to build cross platform components, 'plugins' with Qt.
+\endomit
+Other major new features include a plugin architecture. You can use
+your own and third party plugins your own applications.
+The Unicode support of Qt 2.x has been greatly enhanced, it now
+includes full support for scripts written from right to left (e.g.
+Arabic and Hebrew) and also provides improved support for Asian
+languages.
+
+Many new classes have been added to the Qt Library. Amongst them are
+classes that provide a docking architecture
+(\l{QDockArea}/\l{QDockWindow}), a powerful rich text editor
+(QTextEdit), a class to store and access application settings
+(QSettings) and a class to create and communicate with processes
+(QProcess).
+
+Apart from the changes in the library itself a lot has been done to
+make the development of Qt applications with Qt 3.0 even easier than
+before. Two new applications have been added: Qt Linguist is a tool to
+help you translate your application into different languages; Qt
+Assistant is an easy to use help browser for the Qt documentation that
+supports bookmarks and can search by keyword.
+
+Another change concerns the Qt build system, which has been reworked
+to make it a lot easier to port Qt to new platforms. You can use this
+platform independent build system for your own applications.
+
+
+\section1 The Qt Library
+
+A large number of new features has been added to Qt 3.0. The following
+list gives an overview of the most important new and changed aspects
+of the Qt library. A full list of every new method follows the
+overview.
+
+
+\section2 Database support
+
+One of the major new features in Qt 3.0 is the \link sql.html SQL
+module\endlink that provides multiplatform access to SQL databases,
+making database application programming with Qt seamless and portable.
+The API, built with standard SQL, is database-neutral and software
+development is independent of the underlying database.
+
+A collection of tightly focused C++ classes are provided to give the
+programmer direct access to SQL databases. Developers can send raw SQL
+to the database server or have the Qt SQL classes generate SQL queries
+automatically. Drivers for Oracle, PostgreSQL, MySQL and ODBC are
+available and writing new drivers is straightforward.
+
+Tying the results of SQL queries to GUI components is fully supported
+by Qt's SQL widgets. These classes include a tabular data widget
+(for spreadsheet-like data presentation with in-place editing), a
+form-based data browser (which provides data navigation and edit
+functions) and a form-based data viewer (which provides read-only
+forms). This framework can be extended by using custom field editors,
+allowing for example, a data table to use custom widgets for in-place
+editing. The SQL module fully supports Qt's signal/slots mechanism,
+making it easy for developers to include their own data validation and
+auditing code.
+
+Qt Designer fully supports Qt's SQL module. All SQL widgets can be
+laid out within Qt Designer, and relationships can be established
+between controls visually. Many interactions can be defined purely in
+terms of Qt's signals/slots mechanism directly in Qt Designer.
+
+\omit
+\section2 Component model - plugins
+
+The QLibrary class provides a platform independent wrapper for runtime
+loading of shared libraries. Access to the shared libraries uses a
+COM-like interface. QPluginManager makes it trivial to implement
+plugin support in applications. The Qt library is able to load
+additional styles, database drivers and text codecs from plugins which
+implement the relevant interfaces, e.g. QStyleFactoryInterface,
+QSqlDriverInterface or QTextCodecInterface. It is possible to remove
+unused components from the Qt library, and easy to extend any
+application with 3rd party styles, database drivers or text codecs.
+
+Qt Designer supports custom widgets in plugins, and will use the
+widgets both when designing and previewing forms.
+
+QComponentFactory makes it easy to register any kind of component in a
+global database (e.g. the Windows Registry) and to use any registered
+component.
+\endomit
+\section2 Plugins
+
+The QLibrary class provides a platform independent wrapper for runtime
+loading of shared libraries. QPluginManager makes it trivial to implement
+plugin support in applications. The Qt library is able to load
+additional styles, database drivers and text codecs from plugins.
+
+Qt Designer supports custom widgets in plugins, and will use the
+widgets both when designing and previewing forms.
+
+See the \link plugins-howto.html plugins documentation\endlink.
+
+
+\section2 Rich text engine and editor
+
+The rich text engine originally introduced in Qt 2.0 has been further
+optimized and extended to support editing. It allows editing formatted
+text with different fonts, colors, paragraph styles, tables and
+images. The editor supports different word wrap modes, command-based
+undo/redo, multiple selections, drag and drop, and many other
+features. The new QTextEdit engine is highly optimized for proccesing
+and displaying large documents quickly and efficiently.
+
+
+\section2 Unicode
+
+Apart from the rich text engine, another new feature of Qt 3.0 that
+relates to text handling is the greatly improved Unicode support. Qt
+3.0 includes an implementation of the bidirectional algorithm (BiDi)
+as defined in the Unicode standard and a shaping engine for Arabic,
+which gives full native language support to Arabic and Hebrew speaking
+people. At the same time the support for Asian languages has been
+greatly enhanced.
+
+The support is almost transparent for the developer using Qt to
+develop their applications. This means that developers who developed
+applications using Qt 2.x will automatically gain the full support for
+these languages when switching to Qt 3.0. Developers can rely on their
+application to work for people using writing systems different from
+Latin1, without having to worry about the complexities involved with
+these scripts, as Qt takes care of this automatically.
+
+
+\section2 Docked and Floating Windows
+
+Qt 3.0 introduces the concept of Dock Windows and Dock Areas. Dock
+windows are widgets, that can be attached to, and detached from, dock
+areas. The commonest kind of dock window is a tool bar. Any number of
+dock windows may be placed in a dock area. A main window can have dock
+areas, for example, QMainWindow provides four dock areas (top, left,
+bottom, right) by default. The user can freely move dock windows and
+place them at a convenient place in a dock area, or drag them out of
+the application and have them float freely as top level windows in
+their own right. Dock windows can also be minimized or hidden.
+
+For developers, dock windows behave just like ordinary widgets. QToolbar
+for example is now a specialized subclass of a dock window. The API
+of QMainWindow and QToolBar is source compatible with Qt 2.x, so
+existing code which uses these classes will continue to work.
+
+
+\section2 Regular Expressions
+
+Qt has always provided regular expression support, but that support
+was pretty much limited to what was required in common GUI control
+elements such as file dialogs. Qt 3.0 introduces a new regular
+expression engine, QRegExp, that supports most of Perl's regex
+features and is Unicode based. The most useful additions are support
+for parentheses (capturing and non-capturing) and backreferences.
+
+
+\section2 Storing application settings
+
+Most programs will need to store some settings between runs, for
+example, user selected fonts, colors and other preferences, or a list
+of recently used files. The new QSettings class provides a platform
+independent way to achieve this goal. The API makes it easy to store
+and retrieve most of the basic data types used in Qt (such as basic
+C++ types, strings, lists, colors, etc). The class uses the registry
+on the Windows platform and traditional resource files on Unix.
+
+
+\section2 Creating and controlling other processes
+
+QProcess is a class that allows you to start other programs from
+within a Qt application in a platform independent manner. It gives you
+full control over the started program, for example you can redirect
+the input and output of console applications.
+
+
+\section2 Accessibility
+
+Accessibility means making software usable and accessible to a wide
+range of users, including those with disabilities. In Qt 3.0, most
+widgets provide accessibility information for assistive tools that can
+be used by a wide range of disabled users. Qt standard widgets like
+buttons or range controls are fully supported. Support for complex
+widgets, like e.g. QListView, is in development. Existing applications
+that make use of standard widgets will become accessible just by using
+Qt 3.0.
+
+Qt uses the Active Accessibility infrastructure on Windows, and needs
+the MSAA SDK, which is part of most platform SDKs. With improving
+standardization of accessibility on other platforms, Qt will support
+assistive technologies on other systems, too.
+
+
+\section2 XML Improvements
+
+The XML framework introduced in Qt 2.2 has been vastly improved. Qt
+2.2 already supported level 1 of the Document Object Model (DOM), a
+W3C standard for accessing and modifying XML documents. Qt 3.0 has
+added support for DOM Level 2 and XML namespaces.
+
+The XML parser has been extended to allow incremental parsing of XML
+documents. This allows you to start parsing the document directly
+after the first parts of the data have arrived, and to continue
+whenever new data is available. This is especially useful if the XML
+document is read from a slow source, e.g. over the network, as it
+allows the application to start working on the data at a very early
+stage.
+
+
+\section2 SVG support
+
+SVG is a W3C standard for "Scalable Vector Graphics". Qt 3.0's XML
+support means that QPicture can optionally generate and import static
+SVG documents. All the SVG features that have an equivalent in
+QPainter are supported.
+
+
+\section2 Multihead support
+
+Many professional applications, such as DTP and CAD software, are able
+to display data on two or more monitors. In Qt 3.0 the QDesktopWidget
+class provides the application with runtime information about the
+number and geometry of the desktops on the different monitors and such
+allows applications to efficiently use a multi-monitor setup.
+
+The virtual desktop of Mac OS X, Windows 98, and 2000 is supported, as well
+as the traditional multi-screen and the newer Xinerama multihead setups on
+X11.
+
+
+\section2 X11 specific enhancements
+
+Qt 3.0 now complies with the NET WM Specification, recently adopted
+by KDE 2.0. This allows easy integration and proper execution with
+desktop environments that support the NET WM specification.
+
+The font handling on X11 has undergone major changes. QFont no longer
+has a one-to-one relation with window system fonts. QFont is now a
+logical font that can load multiple window system fonts to simplify
+Unicode text display. This completely removes the burden of
+changing/setting fonts for a specific locale/language from the
+programmer. For end-users, any font can be used in any locale. For
+example, a user in Norway will be able to see Korean text without
+having to set their locale to Korean.
+
+Qt 3.0 also supports the new render extension recently added to
+XFree86. This adds support for anti aliased text and pixmaps with
+alpha channel (semi transparency) on the systems that support the
+rendering extension (at the moment XFree 4.0.3 and later).
+
+
+\section2 Printing
+
+Printing support has been enhanced on all platforms. The QPrinter
+class now supports setting a virtual resolution for the painting
+process. This makes WYSIWYG printing trivial, and also allows you to
+take full advantage of the high resolution of a printer when painting
+on it.
+
+The postscript driver built into Qt and used on Unix has been greatly
+enhanced. It supports the embedding of true/open type and type1 fonts
+into the document, and can correctly handle and display Unicode.
+Support for fonts built into the printer has been enhanced and Qt now
+knows about the most common printer fonts used for Asian languages.
+
+
+\section2 QHttp
+
+This class provides a simple interface for HTTP downloads and uploads.
+
+
+\section2 Compatibility with the Standard Template Library (STL)
+
+Support for the C++ Standard Template Library has been added to the
+\link qt-template-lib.html Qt Template Library (QTL)\endlink. The QTL
+classes now contain appropriate copy constructors and typedefs so that
+they can be freely mixed with other STL containers and algorithms. In
+addition, new member functions have been added to QTL template classes
+which correspond to STL-style naming conventions (e.g., push_back()).
+
+
+\section1 Qt Designer
+
+\link designer-manual.book Qt Designer\endlink was a pure dialog
+editor in Qt 2.2 but has now been extended to provide the full
+functionality of a GUI design tool.
+
+This includes the ability to lay out main windows with menus and
+toolbars. Actions can be edited within Qt Designer and then plugged
+into toolbars and menu bars via drag and drop. Splitters can now be
+used in a way similar to layouts to group widgets horizontally or
+vertically.
+
+In Qt 2.2, many of the dialogs created by Qt Designer had to be
+subclassed to implement functionality beyond the predefined signal and
+slot connections. Whilst the subclassing approach is still fully supported,
+Qt Designer now offers an alternative: a plugin for editing
+slots. The editor offers features such as syntax highlighting,
+completion, parentheses matching and incremental search.
+
+The functionality of Qt Designer can now be extended via plugins.
+Using Qt Designer's interface or by implementing one of the provided
+interfaces in a plugin, a two way communication between plugin and Qt
+Designer can be established. This functionality is used to implement
+plugins for custom widgets, so that they can be used as real widgets
+inside the designer.
+
+Basic support for project management has been added. This allows you
+to read and edit *.pro files, add and remove files to/from the project
+and do some global operations on the project. You can now open the
+project file and have one-click access to all the *.ui forms in the
+project.
+
+In addition to generating code via uic, Qt Designer now supports the
+dynamic creation of widgets directly from XML user interface
+description files (*.ui files) at runtime. This eliminates the need of
+recompiling your application when the GUI changes, and could be used
+to enable your customers to do their own customizations. Technically,
+the feature is provided by a new class, QWidgetFactory in the
+QResource library.
+
+
+\section1 Qt Linguist
+
+\link linguist-manual.book Qt Linguist\endlink is a GUI utility to
+support translating the user-visible text in applications written with
+Qt. It comes with two command-line tools: lupdate and lrelease.
+
+Translation of a Qt application is a three-step process:
+
+\list
+ \i Run lupdate to extract user-visible text from the C++ source
+ code of the Qt application, resulting in a translation source file
+ (a *.ts file).
+ \i Provide translations for the source texts in the *.ts file using
+ Qt Linguist.
+ \i Run lrelease to obtain a light-weight message file (a *.qm file)
+ from the *.ts file, which provides very fast lookup for released
+ applications.
+\endlist
+
+Qt Linguist is a tool suitable for use by translators. Each
+user-visible (source) text is characterized by the text itself, a
+context (usually the name of the C++ class containing the text), and
+an optional comment to help the translator. The C++ class name will
+usually be the name of the relevant dialog, and the comment will often
+contain instructions that describe how to navigate to the relevant
+dialog.
+
+You can create phrase books for Qt Linguist to provide common
+translations to help ensure consistency and to speed up the
+translation process. Whenever a translator navigates to a new text to
+translate, Qt Linguist uses an intelligent algorithm to provide a list
+of possible translations: the list is composed of relevant text from
+any open phrase books and also from identical or similar text that has
+already been translated.
+
+Once a translation is complete it can be marked as "done"; such
+translations are included in the *.qm file. Text that has not been
+"done" is included in the *.qm file in its original form. Although Qt
+Linguist is a GUI application with dock windows and mouse control,
+toolbars, etc., it has a full set of keyboard shortcuts to make
+translation as fast and efficient as possible.
+
+When the Qt application that you're developing evolves (e.g. from
+version 1.0 to version 1.1), the utility lupdate merges the source
+texts from the new version with the previous translation source file,
+reusing existing translations. In some typical cases, lupdate may
+suggest translations. These translations are marked as unfinished, so
+you can easily find and check them.
+
+
+\section1 Qt Assistant
+
+Thanks to the positive feedback we received about the help system
+built into \link designer-manual.book Qt Designer\endlink, we decided
+to offer this part as a separate application called \link
+assistant.book Qt Assistant\endlink. Qt Assistant can be used to
+browse the Qt class documentation as well as the manuals for Qt
+Designer and Qt Linguist. It offers index searching, a contents
+overview, bookmarks history and incremental search. Qt Assistant is
+used by both Qt Designer and Qt Linguist for browsing their help
+documentation.
+
+
+\section1 qmake
+
+To ease portability we now provide the \link qmake-manual.book
+qmake\endlink utility to replace tmake. QMake is a C++ version of
+tmake which offers additional functionallity that is difficult to
+reproduce in tmake. Trolltech uses qmake in its build system for Qt
+and related products and we have released it as free software.
+
+*/
diff --git a/doc/charinput-qws.doc b/doc/charinput-qws.doc
new file mode 100644
index 0000000..329026a
--- /dev/null
+++ b/doc/charinput-qws.doc
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Documentation of character input
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-charinput.html
+
+\title Character input in Qt/Embedded
+
+Internally in the client/server protocol, each key press and key
+release is sent as a \c{QWSKeyEvent}. A QWSKeyEvent contains the
+following fields:
+
+\table
+\row \i \c{unicode}
+ \i Unicode value
+\row \i \c{keycode}
+ \i Qt keycode value as defined in \c qnamespace.h
+\row \i \c{modifier}
+ \i A bitfield consisting of some of \c Qt::ShiftButton,
+ \c Qt::ControlButton, and \c Qt::AltButton.
+\row \i \c{is_press}
+ \i TRUE if this is a key press, FALSE if it is a key release.
+\row \i \c{is_auto_repeat}
+ \i TRUE if this event is caused by auto repeat.
+\endtable
+
+When the server receives a key event it is sent to each client process
+which is responsible for processing the key event and sending it to
+the right window, if any. Key events may come from several different
+sources.
+
+\section1 Keyboard drivers
+
+A keyboard driver reads data from a device and gives key events to the
+server.
+
+Keyboard drivers can be compiled into the library or loaded as
+plugins. Running ./configure -help lists the available keyboard drivers.
+The "tty" driver is enabled in the default configuration.
+
+The keyboard drivers all follow the same pattern. They read keyboard
+data from a device, find out which keys were pressed, and then call
+the static function QWSServer::processKeyEvent() with the key information.
+
+At present, the console keyboard driver also handles console switching
+(<b>Ctrl+Alt-F1</b>...<b>Ctrl+Alt+F10</b>) and termination
+(<b>Ctrl+Alt+Backspace</b>).
+
+To add a keyboard driver for a new device, subclasses of
+\c{QWSKeyboardHandler} and \c{QKbdDriverPlugin} can be
+written and installed as plugins.
+
+\section1 Key event filters (input methods)
+
+When the server receives a key event from a keyboard driver, it first
+passes it through a filter.
+
+This can be used to implement input methods, providing input of
+characters that are not on the keyboard.
+
+To make an input method, subclass QWSServer::KeyboardFilter (in \c
+src/kernel/qwindowsystem_qws.h) and implement the virtual function \c
+filter(). If \c filter() returns \c FALSE, the event will be sent to
+the clients (using QWSServer::sendKeyEvent()). If \c filter() returns
+\c TRUE, the event will be stopped. To generate new key events, use
+QWSServer::sendKeyEvent(). (Do not use processKeyEvent(), since this
+will lead to infinite recursion.)
+
+To install a keyboard event filter, use
+\c{QWSServer::setKeyboardFilter()}. Currently, only one filter
+can be installed at a time.
+
+Filtering must be done in the server process.
+
+The launcher example contains an example of a simple input method,
+\c{SimpleIM} which reads a substitution table from a file.
+
+\section1 Pen input
+
+Key events do not need to come from a keyboard device. The server
+process may call QWSServer::sendKeyEvent() at any time.
+
+Typically, this is done by popping up a widget, and letting the user
+specify characters with the pointer device.
+
+<b>Note</b>: the key input widget should not take focus, since the
+server would then just send the key events back to the input widget.
+One way to make sure that the input widget never takes focus is to set
+the \c{WStyle_Customize} and \c{WStyle_Tool} widget flags in
+the QWidget constructor.
+
+The \link http://www.trolltech.com/products/qtopia/ Qtopia\endlink
+environment contains various input widgets such as
+Handwriting Recognition and Virtual Keyboard.
+
+*/
diff --git a/doc/classchart.doc b/doc/classchart.doc
new file mode 100644
index 0000000..59862ce
--- /dev/null
+++ b/doc/classchart.doc
@@ -0,0 +1,359 @@
+/****************************************************************************
+**
+** Graphical representation of classes
+**
+** Copyright (C) 2001-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page classchart.html
+
+<img src="qt33-class-chart.png" usemap="#classmap">
+
+<map name="classmap">
+<area shape="rect" coords="5,29,47,74" href="qt.html">
+<area shape="rect" coords="40,57,138,78" href="qbrush.html">
+<area shape="rect" coords="32,78,138,94" href="qcursor.html">
+<area shape="rect" coords="32,94,149,115" href="qkeysequence.html">
+<area shape="rect" coords="30,115,149,129" href="qpainter.html">
+<area shape="rect" coords="30,129,136,148" href="qpen.html">
+<area shape="rect" coords="33,149,147,168" href="qsyntaxhighlighter.html">
+<area shape="rect" coords="33,168,133,185" href="qtab.html">
+<area shape="rect" coords="31,186,134,203" href="qthread.html">
+<area shape="rect" coords="31,203,129,220" href="qtooltip.html">
+<area shape="rect" coords="33,220,129,240" href="qwhatsthis.html">
+<area shape="rect" coords="33,239,155,255" href="qcanvasitem.html">
+<area shape="rect" coords="24,256,155,272" href="qcanvastext.html">
+<area shape="rect" coords="24,272,164,290" href="qcanvassprite.html">
+<area shape="rect" coords="38,290,164,310" href="qcanvaspolygonalitem.html">
+<area shape="rect" coords="37,309,147,328" href="qcanvasellipse.html">
+<area shape="rect" coords="35,328,147,344" href="qcanvasline.html">
+<area shape="rect" coords="34,344,154,363" href="qcanvaspolygon.html">
+<area shape="rect" coords="38,363,154,381" href="qcanvasspline.html">
+<area shape="rect" coords="37,381,155,406" href="qcanvasrectangle.html">
+<area shape="rect" coords="37,411,153,434" href="qwindowsstyle.html">
+<area shape="rect" coords="38,434,152,451" href="qwindowsxpstyle.html">
+<area shape="rect" coords="40,452,150,471" href="qmacstyle.html">
+<area shape="rect" coords="40,472,150,486" href="qplatinumstyle.html">
+<area shape="rect" coords="40,486,151,502" href="qsgistyle.html">
+<area shape="rect" coords="40,502,152,523" href="qcdestyle.html">
+<area shape="rect" coords="40,523,149,542" href="qmotifplusstyle.html">
+<area shape="rect" coords="40,542,150,565" href="qstyleplugin.html">
+<area shape="rect" coords="42,572,151,598" href="qsqleditorfactory.html">
+<area shape="rect" coords="41,595,149,612" href="qsql.html">
+<area shape="rect" coords="41,612,137,629" href="qsqlresult.html">
+<area shape="rect" coords="41,629,138,647" href="qsqlpropertymap.html">
+<area shape="rect" coords="44,647,145,672" href="qsqldriverplugin.html">
+<area shape="rect" coords="179,58,275,79" href="qevent.html">
+<area shape="rect" coords="176,79,274,96" href="qimevent.html">
+<area shape="rect" coords="176,96,283,114" href="qkeyevent.html">
+<area shape="rect" coords="176,114,283,132" href="qhideevent.html">
+<area shape="rect" coords="176,132,285,150" href="qdropevent.html">
+<area shape="rect" coords="178,150,285,168" href="qpaintevent.html">
+<area shape="rect" coords="178,168,284,185" href="qchildevent.html">
+<area shape="rect" coords="178,186,284,203" href="qmoveevent.html">
+<area shape="rect" coords="178,203,285,220" href="qshowevent.html">
+<area shape="rect" coords="176,221,286,237" href="qcloseevent.html">
+<area shape="rect" coords="176,237,281,253" href="qtimerevent.html">
+<area shape="rect" coords="174,253,281,273" href="qfocusevent.html">
+<area shape="rect" coords="174,272,283,291" href="qwheelevent.html">
+<area shape="rect" coords="174,291,283,309" href="qmouseevent.html">
+<area shape="rect" coords="174,309,285,326" href="qresizeevent.html">
+<area shape="rect" coords="174,326,285,344" href="qcustomevent.html">
+<area shape="rect" coords="174,344,285,372" href="qcontextmenuevent.html">
+<area shape="rect" coords="166,389,277,426" href="qcommonstyle.html">
+<area shape="rect" coords="166,427,273,462" href="qmotifstyle.html">
+<area shape="rect" coords="167,466,259,487" href="qftp.html">
+<area shape="rect" coords="168,487,268,505" href="qhttp.html">
+<area shape="rect" coords="166,505,268,532" href="qlocalfs.html">
+<area shape="rect" coords="166,532,274,560" href="qsqlfield.html">
+<area shape="rect" coords="168,559,274,578" href="qsqlfieldinfo.html">
+<area shape="rect" coords="168,578,275,594" href="qsqlrecord.html">
+<area shape="rect" coords="167,594,275,611" href="qsqlrecordinfo.html">
+<area shape="rect" coords="167,611,267,631" href="qsqlcursor.html">
+<area shape="rect" coords="163,632,261,649" href="qsqlindex.html">
+<area shape="rect" coords="163,649,271,671" href="qsqlquery.html">
+<area shape="rect" coords="287,36,386,64" href="qobject.html">
+<area shape="rect" coords="288,60,396,78" href="qaccel.html">
+<area shape="rect" coords="291,78,395,97" href="qaction.html">
+<area shape="rect" coords="291,97,401,113" href="qapplication.html">
+<area shape="rect" coords="294,115,395,133" href="qcanvas.html">
+<area shape="rect" coords="292,132,395,150" href="qclipboard.html">
+<area shape="rect" coords="292,150,397,166" href="qdns.html">
+<area shape="rect" coords="294,166,397,188" href="qdragobject.html">
+<area shape="rect" coords="295,188,401,205" href="qeventloop.html">
+<area shape="rect" coords="291,202,399,223" href="qprocess.html">
+<area shape="rect" coords="292,220,399,240" href="qserversocket.html">
+<area shape="rect" coords="293,240,400,259" href="qsessionmanager.html">
+<area shape="rect" coords="293,259,400,276" href="qsignal.html">
+<area shape="rect" coords="293,276,404,292" href="qsignalmapper.html">
+<area shape="rect" coords="290,293,405,308" href="qsocket.html">
+<area shape="rect" coords="290,308,399,326" href="qsound.html">
+<area shape="rect" coords="294,327,402,346" href="qtimer.html">
+<area shape="rect" coords="294,346,398,363" href="qtranslator.html">
+<area shape="rect" coords="294,362,398,379" href="qstylesheet.html">
+<area shape="rect" coords="294,379,399,396" href="qstyle.html">
+<area shape="rect" coords="295,396,399,417" href="qurloperator.html">
+<area shape="rect" coords="295,417,400,434" href="qnetworkoperation.html">
+<area shape="rect" coords="291,434,400,452" href="qnetworkprotocol.html">
+<area shape="rect" coords="291,452,400,469" href="qvalidator.html">
+<area shape="rect" coords="290,470,401,488" href="qdoublevalidator.html">
+<area shape="rect" coords="290,488,401,505" href="qintvalidator.html">
+<area shape="rect" coords="294,505,400,524" href="qregexpvalidator.html">
+<area shape="rect" coords="294,524,401,540" href="qeditorfactory.html">
+<area shape="rect" coords="282,541,401,567" href="qlayout.html">
+<area shape="rect" coords="289,568,397,594" href="qsqldatabase.html">
+<area shape="rect" coords="290,594,397,610" href="qsqldriver.html">
+<area shape="rect" coords="290,610,398,630" href="qsqlform.html">
+<area shape="rect" coords="292,630,398,646" href="qdatabrowser.html">
+<area shape="rect" coords="293,646,409,663" href="qdataview.html">
+<area shape="rect" coords="291,663,410,689" href="qdatatable.html">
+<area shape="rect" coords="393,34,468,76" href="qwidget.html">
+<area shape="rect" coords="461,63,541,79" href="qbutton.html">
+<area shape="rect" coords="447,80,542,97" href="qcombobox.html">
+<area shape="rect" coords="448,98,543,114" href="qdateedit.html">
+<area shape="rect" coords="445,114,543,132" href="qdatetimeedit.html">
+<area shape="rect" coords="448,134,558,152" href="qdesktopwidget.html">
+<area shape="rect" coords="443,152,558,170" href="qdialog.html">
+<area shape="rect" coords="443,170,542,186" href="qdial.html">
+<area shape="rect" coords="445,186,542,201" href="qdockarea.html">
+<area shape="rect" coords="445,201,540,222" href="qworkspace.html">
+<area shape="rect" coords="443,222,541,240" href="qglwidget.html">
+<area shape="rect" coords="443,240,536,256" href="qheader.html">
+<area shape="rect" coords="444,256,536,277" href="qmainwindow.html">
+<area shape="rect" coords="444,277,535,293" href="qscrollbar.html">
+<area shape="rect" coords="444,293,535,309" href="qslider.html">
+<area shape="rect" coords="445,309,535,326" href="qframe.html">
+<area shape="rect" coords="444,327,536,345" href="qsizegrip.html">
+<area shape="rect" coords="445,345,540,360" href="qspinbox.html">
+<area shape="rect" coords="446,361,540,383" href="qsplashscreen.html">
+<area shape="rect" coords="446,383,541,399" href="qstatusbar.html">
+<area shape="rect" coords="443,399,541,418" href="qtabbar.html">
+<area shape="rect" coords="445,418,542,434" href="qtabwidget.html">
+<area shape="rect" coords="445,434,545,453" href="qtimeedit.html">
+<area shape="rect" coords="446,453,539,470" href="qtoolbox.html">
+<area shape="rect" coords="445,470,539,487" href="qscrollview.html">
+<area shape="rect" coords="445,487,544,505" href="qcanvasview.html">
+<area shape="rect" coords="448,503,541,524" href="qiconview.html">
+<area shape="rect" coords="448,524,545,542" href="qlistview.html">
+<area shape="rect" coords="458,542,545,558" href="qlistbox.html">
+<area shape="rect" coords="458,558,548,577" href="qtextedit.html">
+<area shape="rect" coords="460,577,548,593" href="qtextbrowser.html">
+<area shape="rect" coords="460,594,547,613" href="qgridlayout.html">
+<area shape="rect" coords="456,613,547,629" href="qboxlayout.html">
+<area shape="rect" coords="456,629,544,649" href="qhboxlayout.html">
+<area shape="rect" coords="454,649,542,663" href="qvboxlayout.html">
+<area shape="rect" coords="454,663,536,689" href="qtable.html">
+<area shape="rect" coords="549,50,651,81" href="qcheckbox.html">
+<area shape="rect" coords="547,81,650,98" href="qtoolbutton.html">
+<area shape="rect" coords="548,99,651,114" href="qpushbutton.html">
+<area shape="rect" coords="551,115,651,137" href="qradiobutton.html">
+<area shape="rect" coords="553,146,643,169" href="qwizard.html">
+<area shape="rect" coords="549,170,646,185" href="qtabdialog.html">
+<area shape="rect" coords="549,185,647,204" href="qfiledialog.html">
+<area shape="rect" coords="550,204,648,221" href="qfontdialog.html">
+<area shape="rect" coords="550,221,652,240" href="qinputdialog.html">
+<area shape="rect" coords="547,240,652,258" href="qcolordialog.html">
+<area shape="rect" coords="548,259,662,275" href="qmessagebox.html">
+<area shape="rect" coords="545,275,662,291" href="qerrormessage.html">
+<area shape="rect" coords="545,292,660,318" href="qprogressdialog.html">
+<area shape="rect" coords="549,321,649,345" href="qgrid.html">
+<area shape="rect" coords="550,345,650,362" href="qlabel.html">
+<area shape="rect" coords="550,362,653,382" href="qhbox.html">
+<area shape="rect" coords="545,382,653,398" href="qvbox.html">
+<area shape="rect" coords="545,398,652,415" href="qsplitter.html">
+<area shape="rect" coords="548,415,652,435" href="qlineedit.html">
+<area shape="rect" coords="548,435,654,451" href="qmenubar.html">
+<area shape="rect" coords="551,451,654,470" href="qgroupbox.html">
+<area shape="rect" coords="551,470,655,486" href="qpopupmenu.html">
+<area shape="rect" coords="554,487,655,505" href="qprogressbar.html">
+<area shape="rect" coords="554,505,657,521" href="qlcdnumber.html">
+<area shape="rect" coords="554,521,657,540" href="qwidgetstack.html">
+<area shape="rect" coords="558,541,655,559" href="qdockwindow.html">
+<area shape="rect" coords="551,559,650,576" href="qtoolbar.html">
+<area shape="rect" coords="551,576,661,595" href="qiconviewitem.html">
+<area shape="rect" coords="554,595,661,610" href="qlistviewitem.html">
+<area shape="rect" coords="556,610,657,626" href="qchecklistitem.html">
+<area shape="rect" coords="554,626,657,644" href="qtableitem.html">
+<area shape="rect" coords="554,644,661,662" href="qchecktableitem.html">
+<area shape="rect" coords="557,662,661,684" href="qcombotableitem.html">
+<area shape="rect" coords="669,41,777,61" href="qwidgetfactory.html">
+<area shape="rect" coords="659,61,777,83" href="qwidgetplugin.html">
+<area shape="rect" coords="659,83,783,97" href="qxmlattributes.html">
+<area shape="rect" coords="660,97,784,116" href="qxmlcontenthandler.html">
+<area shape="rect" coords="660,116,779,137" href="qxmldeclhandler.html">
+<area shape="rect" coords="664,131,779,148" href="qxmldtdhandler.html">
+<area shape="rect" coords="664,149,785,168" href="qxmlentityresolver.html">
+<area shape="rect" coords="661,168,785,185" href="qxmllexicalhandler.html">
+<area shape="rect" coords="661,185,787,202" href="qxmllocator.html">
+<area shape="rect" coords="659,202,787,221" href="qxmlnamespacesupport.html">
+<area shape="rect" coords="659,222,777,242" href="qxmlreader.html">
+<area shape="rect" coords="650,240,779,256" href="qdomattr.html">
+<area shape="rect" coords="662,256,779,275" href="qdomentity.html">
+<area shape="rect" coords="662,275,783,292" href="qdomelement.html">
+<area shape="rect" coords="661,292,783,310" href="qdomdocument.html">
+<area shape="rect" coords="661,310,779,329" href="qdomcharacterdata.html">
+<area shape="rect" coords="665,325,781,343" href="qglformat.html">
+<area shape="rect" coords="663,343,781,366" href="qglcontext.html">
+<area shape="rect" coords="666,487,748,505" href="qfile.html">
+<area shape="rect" coords="666,505,749,524" href="qbuffer.html">
+<area shape="rect" coords="667,524,786,541" href="qsocketdevice.html">
+<area shape="rect" coords="664,541,786,560" href="qstylesheetitem.html">
+<area shape="rect" coords="664,561,792,579" href="qcustommenuitem.html">
+<area shape="rect" coords="664,577,786,593" href="qlistboxitem.html">
+<area shape="rect" coords="664,593,788,611" href="qlistboxtext.html">
+<area shape="rect" coords="663,611,788,631" href="qlistboxpixmap.html">
+<area shape="rect" coords="663,631,779,646" href="qlayoutitem.html">
+<area shape="rect" coords="666,646,780,666" href="qspaceritem.html">
+<area shape="rect" coords="668,666,759,686" href="qwidgetitem.html">
+<area shape="rect" coords="784,34,885,63" href="qaccessible.html">
+<area shape="rect" coords="782,62,885,79" href="qasciicache.html">
+<area shape="rect" coords="782,80,882,98" href="qchar.html">
+<area shape="rect" coords="782,99,882,116" href="qcharref.html">
+<area shape="rect" coords="782,116,878,133" href="qcolor.html">
+<area shape="rect" coords="786,133,878,150" href="qcolorgroup.html">
+<area shape="rect" coords="786,150,877,171" href="qdatastream.html">
+<area shape="rect" coords="787,171,877,188" href="qdate.html">
+<area shape="rect" coords="786,186,875,203" href="qdatetime.html">
+<area shape="rect" coords="785,203,875,221" href="qdeepcopy.html">
+<area shape="rect" coords="785,221,876,241" href="qdir.html">
+<area shape="rect" coords="782,241,876,257" href="qdomnode.html">
+<area shape="rect" coords="782,258,884,275" href="qfileinfo.html">
+<area shape="rect" coords="783,275,884,294" href="qfont.html">
+<area shape="rect" coords="783,292,885,311" href="qfontdatabase.html">
+<area shape="rect" coords="787,312,885,329" href="qfontinfo.html">
+<area shape="rect" coords="787,329,887,345" href="qfontmetrics.html">
+<area shape="rect" coords="785,345,887,363" href="qgl.html">
+<area shape="rect" coords="785,363,885,382" href="qglcolormap.html">
+<area shape="rect" coords="785,383,885,398" href="qguardedptr.html">
+<area shape="rect" coords="785,398,884,416" href="qhostaddress.html">
+<area shape="rect" coords="786,417,884,434" href="qhttpheader.html">
+<area shape="rect" coords="786,434,885,452" href="qiconset.html">
+<area shape="rect" coords="789,452,885,473" href="qimage.html">
+<area shape="rect" coords="789,468,895,489" href="qimageformatplugin.html">
+<area shape="rect" coords="789,489,895,505" href="qimageio.html">
+<area shape="rect" coords="789,505,869,523" href="qintcache.html">
+<area shape="rect" coords="785,524,868,542" href="qiodevice.html">
+<area shape="rect" coords="785,542,872,558" href="qlibrary.html">
+<area shape="rect" coords="786,558,873,575" href="qlocale.html">
+<area shape="rect" coords="787,576,873,594" href="qmap.html">
+<area shape="rect" coords="792,593,901,611" href="qasciicacheiterator.html">
+<area shape="rect" coords="790,611,901,630" href="qcacheiterator.html">
+<area shape="rect" coords="790,630,890,647" href="qintcacheiterator.html">
+<area shape="rect" coords="787,648,891,664" href="qasciidictiterator.html">
+<area shape="rect" coords="787,664,873,685" href="qdictiterator.html">
+<area shape="rect" coords="896,37,990,62" href="qmemarray.html">
+<area shape="rect" coords="896,62,990,78" href="qmenudata.html">
+<area shape="rect" coords="896,78,989,96" href="qmetaobject.html">
+<area shape="rect" coords="894,96,989,116" href="qmetaproperty.html">
+<area shape="rect" coords="894,116,995,134" href="qmimesource.html">
+<area shape="rect" coords="896,134,995,150" href="qmovie.html">
+<area shape="rect" coords="895,148,985,168" href="qmutex.html">
+<area shape="rect" coords="893,169,985,185" href="qpaintdevice.html">
+<area shape="rect" coords="893,185,1009,205" href="qpaintdevicemetrics.html">
+<area shape="rect" coords="900,203,970,223" href="qpair.html">
+<area shape="rect" coords="899,223,973,240" href="qpalette.html">
+<area shape="rect" coords="899,239,990,258" href="qpixmapcache.html">
+<area shape="rect" coords="898,258,990,274" href="qptrcollection.html">
+<area shape="rect" coords="899,275,987,292" href="qptrqueue.html">
+<area shape="rect" coords="894,293,987,309" href="qptrstack.html">
+<area shape="rect" coords="894,310,984,328" href="qpoint.html">
+<area shape="rect" coords="890,324,988,347" href="qrangecontrol.html">
+<area shape="rect" coords="890,348,986,363" href="qrect.html">
+<area shape="rect" coords="891,363,987,380" href="qregexp.html">
+<area shape="rect" coords="892,380,984,398" href="qregion.html">
+<area shape="rect" coords="888,398,984,417" href="qsemaphore.html">
+<area shape="rect" coords="888,417,992,435" href="qsettings.html">
+<area shape="rect" coords="887,435,991,451" href="qsimplerichtext.html">
+<area shape="rect" coords="887,451,993,469" href="qsize.html">
+<area shape="rect" coords="893,469,993,488" href="qsizepolicy.html">
+<area shape="rect" coords="894,488,986,505" href="qstring.html">
+<area shape="rect" coords="894,506,986,524" href="qconststring.html">
+<area shape="rect" coords="895,525,996,543" href="qtextcodec.html">
+<area shape="rect" coords="897,538,996,559" href="qtextcodecplugin.html">
+<area shape="rect" coords="902,560,987,579" href="qtextstream.html">
+<area shape="rect" coords="897,578,976,594" href="qtime.html">
+<area shape="rect" coords="898,595,991,614" href="qptrdictiterator.html">
+<area shape="rect" coords="895,613,989,631" href="qmapiterator.html">
+<area shape="rect" coords="896,631,999,647" href="qvaluelistiterator.html">
+<area shape="rect" coords="899,647,1000,665" href="qptrlistiterator.html">
+<area shape="rect" coords="899,666,997,688" href="qintdictiterator.html">
+<area shape="rect" coords="1006,60,1104,80" href="qbytearray.html">
+<area shape="rect" coords="1004,80,1104,99" href="qpointarray.html">
+<area shape="rect" coords="1004,100,1086,117" href="qbitarray.html">
+<area shape="rect" coords="1007,117,1087,131" href="qcstring.html">
+<area shape="rect" coords="1007,131,1120,152" href="qmimesourcefactory.html">
+<area shape="rect" coords="994,151,1119,170" href="qmutexlocker.html">
+<area shape="rect" coords="1005,185,1093,203" href="qprinter.html">
+<area shape="rect" coords="1005,203,1093,220" href="qpicture.html">
+<area shape="rect" coords="1007,221,1107,238" href="qpixmap.html">
+<area shape="rect" coords="997,238,1107,263" href="qbitmap.html">
+<area shape="rect" coords="1002,270,1088,294" href="qdict.html">
+<area shape="rect" coords="1000,294,1089,309" href="qcache.html">
+<area shape="rect" coords="1000,310,1090,328" href="qptrlist.html">
+<area shape="rect" coords="998,328,1090,346" href="qintdict.html">
+<area shape="rect" coords="998,346,1090,362" href="qptrdict.html">
+<area shape="rect" coords="1006,363,1090,384" href="qasciidict.html">
+<area shape="rect" coords="1006,384,1090,399" href="qptrvector.html">
+<area shape="rect" coords="1008,400,1090,416" href="qobjectlist.html">
+<area shape="rect" coords="1008,416,1095,435" href="qsortedlist.html">
+<area shape="rect" coords="1007,435,1095,454" href="qvaluelist.html">
+<area shape="rect" coords="1007,454,1103,468" href="qstringlist.html">
+<area shape="rect" coords="999,469,1103,488" href="qvaluestack.html">
+<area shape="rect" coords="999,488,1110,507" href="qvaluevector.html">
+<area shape="rect" coords="992,503,1109,522" href="qurl.html">
+<area shape="rect" coords="992,522,1095,542" href="qurlinfo.html">
+<area shape="rect" coords="1001,542,1095,560" href="quuid.html">
+<area shape="rect" coords="1001,560,1093,577" href="qvariant.html">
+<area shape="rect" coords="998,578,1088,595" href="qwmatrix.html">
+<area shape="rect" coords="999,595,1119,612" href="qhbuttongroup.html">
+<area shape="rect" coords="1002,613,1119,627" href="qvbuttongroup.html">
+<area shape="rect" coords="1003,627,1118,649" href="qbuttongroup.html">
+<area shape="rect" coords="997,649,1119,665" href="qhgroupbox.html">
+<area shape="rect" coords="998,665,1105,685" href="qvgroupbox.html">
+</map>
+
+The PDF A3 size master copy of the class chart is available for
+download from
+\l{ftp://ftp.trolltech.com/qt/pdf/qt33-class-chart.pdf}
+(160K).<sup>*</sup>
+The PDF file will always be the same or more recent than the
+one shown here.
+
+<sup>*</sup><small>
+The PDF file is \e{not supported}; we do not guarantee it
+will print correctly (although several people have reported that it
+does). It is not available in any other format or size.</small>
+
+*/
diff --git a/doc/classes.doc b/doc/classes.doc
new file mode 100644
index 0000000..6a169ea
--- /dev/null
+++ b/doc/classes.doc
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Documentation for class overview
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+ \page classes.html
+
+ \title Qt's Classes
+
+ For a shorter list that only includes the most frequently used
+ classes, see \link mainclasses.html Qt's Main Classes \endlink.
+
+ \classlist
+
+ \extensionlist
+*/
+
+/*!
+ \page mainclasses.html
+
+ \title Qt's Main Classes
+
+ These are the most frequently used Qt classes.
+ For the complete list (including XML, networking and container
+ classes), see \link classes.html Qt's Classes \endlink.
+
+ \mainclasslist
+*/
diff --git a/doc/collect.doc b/doc/collect.doc
new file mode 100644
index 0000000..7e05047
--- /dev/null
+++ b/doc/collect.doc
@@ -0,0 +1,248 @@
+/****************************************************************************
+**
+** Qt collection classes documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\defgroup collection
+
+\title Collection Classes
+
+\keyword collection classes
+\keyword persistent data
+
+A collection class is a container which holds a number of items in a
+data structure and provides various operations to manipulate the
+contents of the collection, such as insert item, remove item, find
+item, etc.
+
+Qt has several value-based and several pointer-based collection
+classes. The pointer-based collection classes work with pointers to
+items, while the value-based classes store copies of their items. The
+value-based collections are very similar to STL container classes, and
+can be used with STL algorithms and containers. See the \link
+qt-template-lib.html Qt Template Library\endlink documentation for
+details.
+
+The value-based collections are:
+\list
+\i \l QValueList, a value-based list.
+\i \l QValueVector, a value-based vector.
+\i \l QValueStack, a value-based stack.
+\i \l QMap, a value-based dictionary (associative array).
+\endlist
+
+The pointer-based collections are:
+\list
+\i \l QCache and \l QIntCache, LRU (least recently used) caches.
+\i \l QDict, \l QIntDict and \l QPtrDict dictionaries.
+\i \l QPtrList, a doubly linked list.
+\i \l QPtrQueue, a FIFO (first in, first out) queue.
+\i \l QPtrStack, a LIFO (last in, first out) stack.
+\i \l QPtrVector, a vector.
+\endlist
+
+\l QMemArray is exceptional; it is neither pointer nor value based,
+but memory based. For maximum efficiency with the simple data types
+usually used in arrays, it uses bitwise operations to copy and compare
+array elements.
+
+Some of these classes have corresponding iterators. An iterator
+is a class for traversing the items in a collection:
+\list
+\i \link QCacheIterator QCacheIterator\endlink and
+ \link QIntCacheIterator QIntCacheIterator\endlink
+\i \link QDictIterator QDictIterator\endlink,
+ \link QIntDictIterator QIntDictIterator\endlink, and
+ \link QPtrDictIterator QPtrDictIterator\endlink
+\i \link QPtrListIterator QPtrListIterator\endlink
+\i \link QValueListIterator QValueListIterator\endlink, and
+ \link QValueListConstIterator QValueListConstIterator\endlink
+\i \link QMapIterator QMapIterator\endlink, and
+ \link QMapConstIterator QMapConstIterator\endlink
+\endlist
+
+The value-based collections plus algorithms operating on them are
+grouped together in the \link qt-template-lib.html Qt Template
+Library\endlink; see also the \link qtl.html Qt Template
+Library Classes\endlink.
+
+The rest of this page dicusses the pointer-based containers.
+
+\section1 Architecture of the pointer-based containers
+
+There are four internal base classes for the pointer-based
+containers (QGCache, QGDict, QGList and QGVector) that operate on
+void pointers. A thin template layer implements the actual
+collections by casting item pointers to and from void pointers.
+
+This strategy allows Qt's templates to be very economical on space
+(instantiating one of these templates adds only inlinable calls to
+the base classes), without hurting performance.
+
+\section1 A QPtrList Example
+
+This example shows how to store Employee items in a list and prints
+them out in reverse order:
+
+\code
+ #include <qptrlist.h>
+ #include <qstring.h>
+ #include <stdio.h>
+
+ class Employee
+ {
+ public:
+ Employee( const char *name, int salary ) { n=name; s=salary; }
+ const char *name() const { return n; }
+ int salary() const { return s; }
+ private:
+ QString n;
+ int s;
+ };
+
+ int main()
+ {
+ QPtrList<Employee> list; // list of pointers to Employee
+ list.setAutoDelete( TRUE ); // delete items when they are removed
+
+ list.append( new Employee("Bill", 50000) );
+ list.append( new Employee("Steve",80000) );
+ list.append( new Employee("Ron", 60000) );
+
+ QPtrListIterator<Employee> it(list); // iterator for employee list
+ for ( it.toLast(); it.current(); --it) ) {
+ Employee *emp = it.current();
+ printf( "%s earns %d\n", emp->name(), emp->salary() );
+ }
+
+ return 0;
+ }
+\endcode
+
+Program output:
+\code
+ Ron earns 60000
+ Steve earns 80000
+ Bill earns 50000
+\endcode
+
+\section1 Managing Collection Items
+
+All pointer-based collections inherit the \l QPtrCollection base class.
+This class only knows about the number of items in the collection and
+the deletion strategy.
+
+By default, items in a collection are not deleted when they are
+removed from the collection. The \l QPtrCollection::setAutoDelete()
+function specifies the deletion strategy. In the list example, we
+enable auto-deletion to make the list delete the items when they are
+removed from the list.
+
+When inserting an item into a collection, only the pointer is copied,
+not the item itself. This is called a shallow copy. It is possible to
+make the collection copy all of the item's data (known as a deep copy)
+when an item is inserted. All collection functions that insert an
+item call the virtual function \l QPtrCollection::newItem() for the item
+to be inserted. Inherit a collection and reimplement it if you want
+to have deep copies in your collection.
+
+When removing an item from a list, the virtual function
+\l{QPtrCollection::deleteItem()} is called. The default implementation
+in all collection classes deletes the item if auto-deletion is
+enabled.
+
+\section1 Usage
+
+A pointer-based collection class, such as QPtrList\<type\>, defines a
+collection of \e pointers to \e type objects. The pointer (*) is
+implicit.
+
+We discuss \l QPtrList here, but the same techniques apply to all
+pointer-based collection classes and all collection class iterators.
+
+Template instantiation:
+\code
+ QPtrList<Employee> list; // wherever the list is used
+\endcode
+
+The item's class or type, Employee in our example, must be defined prior
+to the list definition.
+
+\code
+ // Does not work: Employee is not defined
+ class Employee;
+ QPtrList<Employee> list;
+
+ // This works: Employee is defined before it is used
+ class Employee {
+ ...
+ };
+ QPtrList<Employee> list;
+\endcode
+
+\section1 Iterators
+
+Although \l QPtrList has member functions to traverse the list, it can
+often be better to make use of an iterator. \l QPtrListIterator is very
+safe and can traverse lists that are being modified at the same time.
+Multiple iterators can work independently on the same collection.
+
+A QPtrList has an internal list of all the iterators that are
+currently operating on it. When a list entry is removed, the list
+updates all iterators accordingly.
+
+The \l QDict and \l QCache collections have no traversal functions. To
+traverse these collections, you must use \l QDictIterator or \l
+QCacheIterator.
+
+\section1 Predefined Collections
+
+Qt has the following predefined collection classes:
+\list
+\i String lists: \l QStrList, \l QStrIList (\l qstrlist.h) and
+ \l QStringList (\l qstringlist.h)
+\i String vectors: QStrVec and QStrIVec (qstrvec.h); these are obsolete
+\endlist
+
+In almost all cases you would choose \l QStringList, a value
+list of implicitly shared QString Unicode strings. QPtrStrList and
+QPtrStrIList store only char pointers, not the strings themselves.
+
+\section1 List of Pointer-based Collection Classes and Related
+Iterator Classes
+
+*/
diff --git a/doc/commercialeditions.doc b/doc/commercialeditions.doc
new file mode 100644
index 0000000..438afac
--- /dev/null
+++ b/doc/commercialeditions.doc
@@ -0,0 +1,170 @@
+/****************************************************************************
+**
+** Documentation on the commercial editions
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page commercialeditions.html
+
+\title Qt Commercial Editions
+
+The Qt Professional and Enterprise Editions are the commercial
+versions of \link aboutqt.html Qt\endlink.
+
+You may only write commercial, proprietary and non-free software if
+you have purchased the Professional Edition or the Enterprise
+Edition.
+\footnote
+If you want to develop free/open source software for
+release using a recognized open source license you can use the
+\link opensourceedition.html Qt Open Source Edition\endlink.
+\endfootnote
+The purchase of a Qt commercial edition includes technical support and
+upgrades. Qt for Microsoft Windows is only available in the
+Professional and Enterprise Editions.
+
+Qt is supported on the following platforms:
+\list
+ \i <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+ \i <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+ IBM AIX, SGI IRIX and a wide range of others
+ \i <b>Macintosh</b> -- Mac OS X
+ \i <b>\link http://www.trolltech.com/products/embedded/index.html
+Qt/Embedded\endlink</b> -- Linux platforms with framebuffer support.
+\endlist
+
+On Trolltech's web site, you can find \link
+http://www.trolltech.com/products/qt/licensing.html licensing
+information\endlink and \link
+http://www.trolltech.com/products/qt/pricing.html price lists\endlink for
+Qt Professional Edition, Qt Enterprise Edition, and other Trolltech
+products.
+
+To purchase, please visit the
+<a href="https://webshop.trolltech.com/cgi-bin/index.cgi">Trolltech
+webshop</a>. In the webshop, you can generate a Purchase Order, order
+a Quote, or purchase directly using credit card.
+
+For further information and assistance, please contact Trolltech sales:
+
+Email: \link mailto:sales@trolltech.com sales@trolltech.com\endlink
+
+Phone, US office (for North America): <strong>(+1)&nbsp;650-813-1676</strong>
+
+Phone, Norway office (for others): <strong>+47&nbsp;2160&nbsp;4800</strong>
+
+<table border="1" cellpadding="5" cellspacing="0" width="100%">
+ <tr>
+ <td bgcolor="#a1c410"><b><a name="Chart"></a>Professional/Enterprise Comparison Chart</b></td>
+ <td width="100" align="center" bgcolor="#a1c410"><b>Professional</b></td>
+ <td width="100" align="center" bgcolor="#a1c410"><b>Enterprise</b></td>
+ </tr>
+ <tr>
+ <td><b><a href=index.html">Qt Base Modules (Tools, Kernel,
+ Widgets, Dialogs)</a></b><br>
+ The platform-independent Qt GUI toolkit and utility classes</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="designer-manual.html"><b>Qt Designer</b></a><br>
+ Visual Qt GUI builder</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="iconview.html"><b>Iconview module</b></a><br>
+ Visualization of sets of pixmaps with user interaction.</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="workspace.html"><b>Workspace module</b></a><b><br>
+ </b>Multiple Document Interface (MDI) support</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="opengl.html"><b>OpenGL 3D Graphics module</b></a><b><br>
+ </b>Integration of Qt with OpenGL</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="network.html"><b>Network module</b></a><b><br>
+ </b>Platform-independent classes for sockets, TCP, FTP and asynchronous DNS lookup.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="canvas.html"><b>Canvas module</b></a><br>
+ Optimized 2D graphics area for visualization, diagrams, etc.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="table.html"><b>Table module</b></a><br>
+ Flexible and editable table / spreadsheet</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="xml.html"><b>XML module</b></a><br>
+ Well-formed XML parser with SAX interface and DOM Level 1.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="activeqt.html"><b>ActiveQt extension</b></a><br>
+ Support for building and hosting ActiveX controls on Windows.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="motif-extension.html"><b>QMotif extension</b></a><br>
+ Motif co-existence and migration support.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+</table>
+
+*/
diff --git a/doc/coordsys.doc b/doc/coordsys.doc
new file mode 100644
index 0000000..01726f3
--- /dev/null
+++ b/doc/coordsys.doc
@@ -0,0 +1,262 @@
+/****************************************************************************
+**
+** Qt Coordinate System Documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page coordsys.html
+
+\title The Coordinate System
+
+A \link QPaintDevice paint device\endlink in Qt is a drawable 2D
+surface. \l QWidget, \l QPixmap, \l QPicture and \l QPrinter are all
+paint devices. A \l QPainter is an object which can draw on such
+devices.
+
+The default coordinate system of a paint device has its origin at the
+top left corner. X increases to the right and Y increases downwards.
+The unit is one pixel on pixel-based devices and one point on
+printers.
+
+\section1 An Example
+
+The illustration below shows a highly magnified portion of the top
+left corner of a paint device.
+
+\img coordsys.png
+
+The rectangle and the line were drawn by this code (with the grid
+added and colors touched up in the illustration):
+
+\code
+ void MyWidget::paintEvent( QPaintEvent * )
+ {
+ QPainter p( this );
+ p.setPen( darkGray );
+ p.drawRect( 1,2, 5,4 );
+ p.setPen( lightGray );
+ p.drawLine( 9,2, 7,7 );
+ }
+\endcode
+
+Note that all of the pixels drawn by drawRect() are inside the size
+specified (5*4 pixels). This is different from some toolkits; in Qt
+the size you specify exactly encompasses the pixels drawn. This
+applies to all the relevant functions in QPainter.
+
+Similarly, the drawLine() call draws both endpoints of the line, not
+just one.
+
+Here are the classes that relate most closely to the coordinate
+system:
+
+\table
+
+\row \i \l QPoint
+ \i A single 2D point in the coordinate system. Most functions in
+ Qt that deal with points can accept either a QPoint argument
+ or two ints, for example \l QPainter::drawPoint().
+\row \i \l QSize
+ \i A single 2D vector. Internally, QPoint and QSize are the same,
+ but a point is not the same as a size, so both classes exist.
+ Again, most functions accept either a QSize or two ints, for
+ example \l QWidget::resize().
+\row \i \l QRect
+ \i A 2D rectangle. Most functions accept either a QRect or four
+ ints, for example \l QWidget::setGeometry().
+\row \i \l QRegion
+ \i An arbitrary set of points, including all the normal set
+ operations, e.g. \l QRegion::intersect(), and also a less
+ usual function to return a list of rectangles whose union is
+ equal to the region. QRegion is used e.g. by \l
+ QPainter::setClipRegion(), \l QWidget::repaint() and \l
+ QPaintEvent::region().
+\row \i \l QPainter
+ \i The class that paints. It can paint on any device with the
+ same code. There are differences between devices, \l
+ QPrinter::newPage() is a good example, but QPainter works the
+ same way on all devices.
+\row \i \l QPaintDevice
+ \i A device on which QPainter can paint. There are two internal
+ devices, both pixel-based, and two external devices, \l
+ QPrinter and \l QPicture (which records QPainter commands to a
+ file or other \l QIODevice, and plays them back). Other
+ devices can be defined.
+\endtable
+
+\section1 Transformations
+
+Although Qt's default coordinate system works as described above, \l
+QPainter also supports arbitrary transformations.
+
+This transformation engine is a three-step pipeline, closely following
+the model outlined in books such as
+\link http://www.amazon.com/exec/obidos/ASIN/0201848406/trolltech/t
+Foley \& Van Dam \endlink and the
+\link http://www.amazon.com/exec/obidos/ASIN/0201604582/trolltech/t
+OpenGL Programming Guide.\endlink Refer to those for in-depth
+coverage; here we give just a brief overview and an example.
+
+The first step uses the world transformation matrix. Use this matrix
+to orient and position your objects in your model. Qt provides
+methods such as \l QPainter::rotate(), \l QPainter::scale(), \l
+QPainter::translate() and so on to operate on this matrix.
+
+\l QPainter::save() and \l QPainter::restore() save and restore this
+matrix. You can also use \l QWMatrix objects, \l
+QPainter::worldMatrix() and \l QPainter::setWorldMatrix() to store and
+use named matrices.
+
+The second step uses the window. The window describes the view
+boundaries in model coordinates. The matrix positions the \e objects
+and \l QPainter::setWindow() positions the \e window, deciding what
+coordinates will be visible. (If you have 3D experience, the window
+is what's usually called projection in 3D.)
+
+The third step uses the viewport. The viewport too, describes the view
+boundaries, but in device coordinates. The viewport and the windows
+describe the same rectangle, but in different coordinate systems.
+
+On-screen, the default is the entire \l QWidget or \l QPixmap where
+you are drawing, which is usually appropriate. For printing this
+function is vital, since very few printers can print over the entire
+physical page.
+
+So each object to be drawn is transformed into model
+coordinates using \l QPainter::worldMatrix(), then positioned
+on the drawing device using \l QPainter::window() and
+\l QPainter::viewport().
+
+It is perfectly possible to do without one or two of the stages. If,
+for example, your goal is to draw something scaled, then just using \l
+QPainter::scale() makes perfect sense. If your goal is to use a
+fixed-size coordinate system, \l QPainter::setWindow() is
+ideal. And so on.
+
+Here is a short example that uses all three mechanisms: the function
+that draws the clock face in the \l aclock/aclock.cpp example. We
+recommend compiling and running the example before you read any
+further. In particular, try resizing the window to different sizes.
+
+\quotefile aclock/aclock.cpp
+\skipto ::drawClock
+\printline ::drawClock
+\printline {
+\printline save
+
+Firstly, we save the painter's state, so that the calling function
+is guaranteed not to be disturbed by the transformations we're going
+to use.
+
+\printline setWindow
+
+We set the model coordinate system we want a 1000*1000 window where
+0,0 is in the middle.
+
+\printline viewport
+\printline QMIN
+
+The device may not be square and we want the clock to be, so we find
+its current viewport and compute its shortest side.
+
+\printline setViewport
+\printline height
+
+Then we set a new square viewport, centered in the old one.
+
+We're now done with our view. From this point on, when we draw in a
+1000*1000 area around 0,0, what we draw will show up in the largest
+possible square that'll fit in the output device.
+
+Time to start drawing.
+
+\skipto pts
+\printline pts
+
+\e pts is just a temporary variable to hold some points.
+
+Next come three drawing blocks, one for the hour hand, one for the
+minute hand and finally one for the clock face itself. First we draw
+the hour hand:
+
+\skipto save
+\printline save
+\printline rotate
+
+We save the painter and then rotate it so that one axis points along
+the hour hand.
+
+\printline setPoints
+\printline drawConvexPolygon
+
+We set \e pts to a four-point polygon that looks like the hour hand at
+three o'clock, and draw it. Because of the rotation, it's drawn
+pointed in the right direction.
+
+\printline restore
+
+We restore the saved painter, undoing the rotation. We could also
+call rotate( -30 ) but that might introduce rounding errors, so it's
+better to use save() and restore(). Next, the minute hand, drawn
+almost the same way:
+
+\printline save
+\printline rotate
+\printline setPoints
+\printline drawConvexPolygon
+\printline restore
+
+The only differences are how the rotation angle is computed and the
+shape of the polygon.
+
+The last part to be drawn is the clock face itself.
+
+\printline for
+\printline drawLine
+\printline rotate
+\printline }
+
+Twelve short hour lines at thirty-degree intervals. At the end of
+that, the painter is rotated in a way which isn't very useful, but
+we're done with painting so that doesn't matter.
+
+\printline restore
+\printline }
+
+The final line of the function restores the painter, so that the
+caller won't be affected by all the transformations we've done.
+
+*/
diff --git a/doc/credits.doc b/doc/credits.doc
new file mode 100644
index 0000000..ca189f5
--- /dev/null
+++ b/doc/credits.doc
@@ -0,0 +1,326 @@
+/****************************************************************************
+**
+** Credits file - all the qt-bugs stuff
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page credits.html
+
+\title Thanks!
+
+<p>The following (and probably many others) have provided bug reports,
+suggestions, patches, beta testing, or done us other favors. We thank
+you all:
+
+<blockquote>
+
+Adam P. Jenkins &lt;ajenkins <i>at</i> cs.umass.edu&gt;<br>
+Ahmed Metwally &lt;ametwaly <i>at</i> auc-cs28.eun.eg&gt;<br>
+Aidas Kasparas &lt;kaspar <i>at</i> soften.ktu.lt&gt;<br>
+Alejandro Aguilar Sierra &lt;asierra <i>at</i> servidor.unam.mx&gt;<br>
+Alex &lt;steeper <i>at</i> dial.pipex.com&gt;<br>
+Alex Kambis &lt;kambis <i>at</i> eos913c.gsfc.nasa.gov&gt;<br>
+Alexander Kozlov &lt;alex <i>at</i> hale.appl.sci-nnov.ru&gt;<br>
+Alexander Sanda &lt;alex <i>at</i> darkstar.ping.at&gt;<br>
+Amos Leffler &lt;leffler <i>at</i> netaxs.com&gt;<br>
+Anders Hanson &lt;andhan <i>at</i> lls.se&gt;<br>
+Andreas Schlempp &lt;schlempp <i>at</i> egd.igd.fhg.de&gt;<br>
+Andrew Bell &lt;abell <i>at</i> vsys.com&gt;<br>
+Andrew Gillham &lt;gillhaa <i>at</i> ghost.whirlpool.com&gt;<br>
+Andrew J. Robinson &lt;robinson <i>at</i> eclipse.net&gt;<br>
+Andrew Pavlomanolakos &lt;app <i>at</i> novanet.net.au&gt;<br>
+Andrew R. Tefft &lt;teffta <i>at</i> crypt.erie.ge.com&gt;<br>
+Andrew Vajoczki &lt;vajoczki <i>at</i> interlog.com&gt;<br>
+André Johansen &lt;Andre.Johansen <i>at</i> funcom.no&gt;<br>
+Andy Brice &lt;andyb <i>at</i> suntail.net&gt;<br>
+Andy Shaw &lt;andy <i>at</i> east.no&gt;<br>
+Anton Keyter &lt;ant <i>at</i> intekom.co.za&gt;<br>
+Arabeyes Project (http://www.arabeyes.org) &lt;doc <i>at</i> arabeyes <i>dot</i> org&gt;<br>
+Arnt Gulbrandsen &lt;arnt <i>at</i> gulbrandsen.priv.no&gt;<br>
+Ashley Winters &lt;jql <i>at</i> accessone.com&gt;<br>
+Aubrey Soper &lt;azdak <i>at</i> ix.netcom.com&gt;<br>
+Axel Schwenke &lt;schwenke <i>at</i> HTWM.DE&gt;<br>
+Ben Bergen &lt;ben <i>at</i> gmg.com&gt;<br>
+Bernard Leach &lt;B.Leach <i>at</i> compsoc.cs.latrobe.edu.au&gt;<br>
+Bernd Johannes Wuebben &lt;wuebben <i>at</i> math.cornell.edu&gt;<br>
+Bernd S. Brentrup &lt;bsb <i>at</i> uni-muenster.de&gt;<br>
+Bert Haverkamp &lt;b.r.j.haverkamp <i>at</i> et.tudelft.nl&gt;<br>
+Bjorn Reese &lt;breese <i>at</i> dit.ou.dk&gt;<br>
+Brian Beattie &lt;beattie <i>at</i> drcpdx.stt3.com&gt;<br>
+Brian P. Theodore &lt;theodore <i>at</i> std.saic.com&gt;<br>
+Brian White &lt;bcwhite <i>at</i> verisim.com&gt;<br>
+Bryan Scattergood &lt;bryan <i>at</i> fsel.com&gt;<br>
+Carsten Steckel &lt;carsten <i>at</i> cs.newcastle.edu.au&gt;<br>
+Chao-Hsin, Lin &lt;linchao <i>at</i> charlie.cns.iit.edu&gt;<br>
+Chip Salzenberg &lt;chip <i>at</i> atlantic.net&gt;<br>
+Chris Zwilling &lt;crzwlng <i>at</i> cloudnet.com&gt;<br>
+Christian Czezatke &lt;e9025461 <i>at</i> student.tuwien.ac.at&gt;<br>
+Christopher Andrew Spiking &lt;cas <i>at</i> Cs.Nott.AC.UK&gt;<br>
+Christopher J. White &lt;cjwhite <i>at</i> rgit.wustl.edu&gt;<br>
+Clarence Dang &lt;dang <i>at</i> kde.org&gt;<br>
+Claus Werner &lt;lzu96cw <i>at</i> reading.ac.uk&gt;<br>
+Cloyce D. Spradling &lt;cloyce <i>at</i> austin.ibm.com&gt;<br>
+Colin Paul Adams &lt;colin <i>at</i> colina.demon.co.uk&gt;<br>
+Cristiano Verondini &lt;cverond <i>at</i> deis219.deis.unibo.it&gt;<br>
+Damyan Pepper &lt;damyanp <i>at</i> cogs.susx.ac.uk&gt;<br>
+Dan Nickerson &lt;nickersond <i>at</i> uthscsa.edu&gt;<br>
+Daniel Brahneborg &lt;basic <i>at</i> well.com&gt;<br>
+Daniel Gruner &lt;dgruner <i>at</i> tikva.chem.utoronto.ca&gt;<br>
+Daniel J Mitchell &lt;dan <i>at</i> rebellion.co.uk&gt;<br>
+Danilo Fiorenzano &lt;danilo <i>at</i> terranet.ab.ca&gt;<br>
+Dante Profeta &lt;profeta <i>at</i> neomedia.it&gt;<br>
+Darryl Ruggles &lt;001654r <i>at</i> dragon.acadiau.ca&gt;<br>
+Dave &lt;dave <i>at</i> stellacore.com&gt;<br>
+Dave Steffen &lt;steffend <i>at</i> glitch.physics.colostate.edu&gt;<br>
+Dean Hall &lt;dwhall <i>at</i> deskstation.com&gt;<br>
+Denis Y. Pershin &lt;dyp <i>at</i> isis.nsu.ru&gt;<br>
+Diedrich Vorberg &lt;Diedrich_Vorberg <i>at</i> cp.prima.ruhr.de&gt;<br>
+Dietmar Schaefer &lt;dietmar <i>at</i> cs.newcastle.edu.au&gt;<br>
+Dimitri Papadopoulos &lt;dpo <i>at</i> club-internet.fr&gt;<br>
+Dirk Mueller &lt;mueller <i>at</i> kde.org&gt;<br>
+Dirk Schwartmann &lt;dirk.schwartmann <i>at</i> dlr.de&gt;<br>
+Dominik Jergus &lt;djergus <i>at</i> ics.uci.edu&gt;<br>
+Don Sanders &lt;sanders <i>at</i> kde.org&gt;<br>
+Donald A. Seielstad &lt;donald <i>at</i> gromit.scs.uiuc.edu&gt;<br>
+Donna J. Armijo &lt;donna <i>at</i> KachinaTech.COM&gt;<br>
+Doug Boreland &lt;dborel <i>at</i> amex-trs.com&gt;<br>
+Douglas Lenz &lt;dlenz <i>at</i> spedsoft.com&gt;<br>
+Dr Mek Buhl Nielsen &lt;m.b.nielsen <i>at</i> bham.ac.uk&gt;<br>
+Dr Willem A. Schreuder &lt;Willem.Schreuder <i>at</i> prinmath.com&gt;<br>
+E. Kevin Hall &lt;hall <i>at</i> boston.sgi.com&gt;<br>
+Ed Mackey &lt;emackey <i>at</i> Early.com&gt;<br>
+Edmund Taylor &lt;etaylor <i>at</i> interaccess.com&gt;<br>
+Eric Bos &lt;Eric.Bos <i>at</i> adelaide.maptek.com.au&gt;<br>
+Eric Brunson &lt;brunson <i>at</i> brunson.com&gt;<br>
+Eric Jansen &lt;jansen <i>at</i> photon.com&gt;<br>
+Erik Norell &lt;erik <i>at</i> Astrakan.HGS.SE&gt;<br>
+Erik Thiele &lt;erik <i>at</i> unterland.de&gt;<br>
+Ernie Pasveer &lt;erniep <i>at</i> vsl.com&gt;<br>
+F R Ball &lt;frb <i>at</i> umr.edu&gt;<br>
+Fergal Mc Carthy &lt;fergal <i>at</i> ilo.dec.com&gt;<br>
+Frank Gockel &lt;gockel <i>at</i> etecs4.uni-duisburg.de&gt;<br>
+Frank Roscher &lt;frank <i>at</i> chemnitz.abs-rz.de&gt;<br>
+Fredrik Markström &lt;fredrik <i>at</i> zod.campus.luth.se&gt;<br>
+Fredrik Nehr &lt;fredrik_nehr <i>at</i> ivab.se&gt;<br>
+FrenzelBhv <i>at</i> aol.com<br>
+Frugal &lt;frugal <i>at</i> wardrobe.demon.co.uk&gt;<br>
+Frugal the Curious &lt;Chris.Ward <i>at</i> softcare.co.uk&gt;<br>
+Fujimoto Koji &lt;kochan <i>at</i> mbox.kyoto-inet.or.jp&gt;<br>
+Gabor V. Gulyas &lt;gabor <i>at</i> robiomat.com&gt;<br>
+Gary E. Sherman &lt;sherman <i>at</i> mrcc.com&gt;<br>
+Geoff Carpenter &lt;GCC <i>at</i> watson.ibm.com&gt;<br>
+Geoffrey Higginson &lt;ghiggins <i>at</i> gulf.uvic.ca&gt;<br>
+Georg Filios &lt;Georg.Filios <i>at</i> post.rwth-aachen.de&gt;<br>
+George Simunovich &lt;george <i>at</i> cia-g.com&gt;<br>
+Giovanni Carapelli &lt;gcarapel <i>at</i> mbox.vol.it&gt;<br>
+Greg Tomalesky &lt;tomalesk <i>at</i> yrkpa.kias.com&gt;<br>
+Gregg Jensen &lt;gwj <i>at</i> stl.nexen.com&gt;<br>
+Gustav "Gurre" Kalvesten &lt;a94guska <i>at</i> ida.his.se&gt;<br>
+Hal DeVore &lt;hdevore <i>at</i> crow.bmc.com&gt;<br>
+Hans Flaechsig &lt;hans <i>at</i> hannes.owl.de&gt;<br>
+Hans Schlenker &lt;schlenkh <i>at</i> informatik.uni-muenchen.de&gt;<br>
+Hardo Mueller &lt;hardo <i>at</i> ipb.uni-bonn.de&gt;<br>
+Heiko Gerdau &lt;heiko.gerdau <i>at</i> t-online.de&gt;<br>
+Henty Waker &lt;henty <i>at</i> foxbat.sur.uct.ac.za&gt;<br>
+Hrafnkell Eiriksson &lt;hkelle <i>at</i> mmedia.is&gt;<br>
+Ildefonso Junquero Martin-Arroyo &lt;junquero <i>at</i> sainsel.es&gt;<br>
+Ingo Stapel &lt;ingo.stapel <i>at</i> tu-clausthal.de&gt;<br>
+J. Solomon Kostelnik &lt;roz <i>at</i> one.net&gt;<br>
+Jae Cho &lt;cs184-dc <i>at</i> ute.CS.Berkeley.EDU&gt;<br>
+James McIninch &lt;james <i>at</i> amber.biology.gatech.edu&gt;<br>
+Jan Aarsaether &lt;jaa <i>at</i> metis.no&gt;<br>
+Jaromir Dolecek &lt;dolecek <i>at</i> ics.muni.cz&gt;<br>
+Jasmin Blanchette &lt;jasminb <i>at</i> corel.com&gt;<br>
+Jason Evans &lt;evans911 <i>at</i> cs.uidaho.edu&gt;<br>
+Jay Painter &lt;jay <i>at</i> a42.com&gt;<br>
+Jean-Philippe Langlois &lt;jpl <i>at</i> iname.com&gt;<br>
+Jeff Harris &lt;jharris <i>at</i> cis.ohio-state.edu&gt;<br>
+Jeff Largent &lt;jlargent <i>at</i> iu.net&gt;<br>
+Jeffrey Vetter &lt;vetter <i>at</i> lanl.gov&gt;<br>
+Jeremy Wohl &lt;jeremy <i>at</i> godzilli.cs.sunysb.edu&gt;<br>
+Jesper K. Pedersen &lt;blackie <i>at</i>klaralvdalens-datakonsult.se&gt;<br>
+Jim Lauchlan &lt;jim.lauchlan <i>at</i> gecm.com&gt;<br>
+Joachim Backes &lt;backes <i>at</i> rhrk.uni-kl.de&gt;<br>
+Jochen R&ouml;mmler &lt;jochen <i>at</i> concept.de&gt;<br>
+Jochen Scharrlach &lt;jscharrl <i>at</i> BA-Stuttgart.De&gt;<br>
+Joe Croft &lt;jcroft <i>at</i> swbell.net&gt;<br>
+Joel Lindholm &lt;wizball <i>at</i> kewl.campus.luth.se&gt;<br>
+John H. Reppy &lt;jhr <i>at</i> research.att.com&gt;<br>
+John Huertas - Jourda &lt;octarine <i>at</i> gte.net&gt;<br>
+John Ouellette &lt;ouellet <i>at</i> beluga.phys.UVic.CA&gt;<br>
+John Vidar Larring &lt;larring <i>at</i> weatherone.tv&gt;<br>
+Jon Brumfitt &lt;jbrumfit <i>at</i> astro.estec.esa.nl&gt;<br>
+Jose Castro &lt;jocastro <i>at</i> erols.com&gt;<br>
+Julian Enticknap &lt;Julian.Enticknap <i>at</i> UK.Sun.COM&gt;<br>
+Jussi-Pekka Sairanen &lt;jussi-pekka.sairanen <i>at</i> research.nokia.com&gt;<br>
+Kalle Dalheimer &lt;kalle <i>at</i> dalheimer.hh.eunet.de&gt;<br>
+Karl Robillard &lt;karl <i>at</i> skygames.com&gt;<br>
+Keith Brown &lt;ksbrown <i>at</i> ix.netcom.com&gt;<br>
+Keith Dowsett &lt;kdowsett <i>at</i> rpms.ac.uk&gt;<br>
+Ken Hollis &lt;khollis <i>at</i> northwest.com&gt;<br>
+Kirill Konyagin &lt;kirill <i>at</i> asplinux.ru&gt;<br>
+Klaus Ebner &lt;klaus <i>at</i> gaspode.ndh.com&gt;<br>
+Klaus-Georg Adams &lt;Klaus-Georg.Adams <i>at</i> chemie.uni-karlsruhe.de&gt;<br>
+Klaus Schmidinger &lt;Klaus.Schmidinger <i>at</i> cadsoft.de&gt;<br>
+Kristof Depraetere &lt;Kristof.Depraetere <i>at</i> rug.ac.be&gt;<br>
+Kristian Freed &lt;d00freed <i>at</i> dtek.chalmers.se&gt;<br>
+Kurt L Anderson &lt;kurt+ <i>at</i> osu.edu&gt;<br>
+Larry Lee &lt;lclee <i>at</i> primenet.com&gt;<br>
+Lars Knoll &lt;knoll <i>at</i> mpi-hd.mpg.de&gt;<br>
+M. G. Berberich &lt;berberic <i>at</i> fmi.uni-passau.de&gt;<br>
+Maas-Maarten Zeeman &lt;mzeeman <i>at</i> cs.vu.nl&gt;<br>
+Magnus Persson &lt;mpersson <i>at</i> eritel.se&gt;<br>
+Mario Weilguni &lt;mweilguni <i>at</i> arctica.sime.com&gt;<br>
+Marius Storm-Olsen &lt;marius <i>at</i> storm-olsen.com&gt;<br>
+Mariya &lt;muha <i>at</i> iclub.nsu.ru&gt;<br>
+Mark Summerfield &lt;summer <i>at</i> perlpress.com&gt;<br>
+Markku Hihnala &lt;mah <i>at</i> ee.oulu.fi&gt;<br>
+Marko Macek &lt;Marko.Macek <i>at</i> snet.fer.uni-lj.si&gt;<br>
+Martin Baehr &lt;mbaehr <i>at</i> email.archlab.tuwien.ac.at&gt;<br>
+Martin Mueller &lt;mm <i>at</i> lunetix.de&gt;<br>
+Martin van Velsen &lt;vvelsen <i>at</i> ronix.ptf.hro.nl&gt;<br>
+Matthias Ettrich &lt;ettrich <i>at</i> fisher.informatik.uni-tuebingen.de&gt;<br>
+Matthias Suencksen &lt;msuencks <i>at</i> techfak.uni-bielefeld.de&gt;<br>
+Mattias Engdegård &lt;f91-men <i>at</i> nada.kth.se&gt;<br>
+Michael Doppler &lt;m.doppler <i>at</i> icoserve.com&gt;<br>
+Michael Figley &lt;figley <i>at</i> ibmoto.com&gt;<br>
+Michael George &lt;george <i>at</i> quark.im4u.net&gt;<br>
+Michael Graff &lt;explorer <i>at</i> flame.org&gt;<br>
+Michael H. Price II &lt;price <i>at</i> ERC.MsState.Edu&gt;<br>
+Michael Harnois &lt;mharnois <i>at</i> sbt.net&gt;<br>
+Michael Hohmuth &lt;hohmuth <i>at</i> inf.tu-dresden.de&gt;<br>
+Michael Leodolter &lt;michael <i>at</i> lab1.psy.univie.ac.at&gt;<br>
+Michael Roth &lt;mroth <i>at</i> nessie.de&gt;<br>
+Michael Schwendt &lt;Michael_Schwendt <i>at</i> public.uni-hamburg.de&gt;<br>
+Michal Polak &lt;mpolak <i>at</i> fi.muni.cz&gt;<br>
+Mikael Bourges-Sevenier &lt;bourges <i>at</i> int-evry.fr&gt;<br>
+Mike Fearn &lt;hp003 <i>at</i> dra.hmg.gb&gt;<br>
+Mike Perik &lt;mikep <i>at</i> crt.com&gt;<br>
+Mike Sharkey &lt;msharkey <i>at</i> softarc.com&gt;<br>
+Miroslav Flidr &lt;flidr <i>at</i> kky.zcu.cz&gt;<br>
+Miyata Shigeru &lt;miyata <i>at</i> kusm.kyoto-u.ac.jp&gt;<br>
+Myron Uecker &lt;muecker <i>at</i> csd.net&gt;<br>
+Neal Sanche &lt;neal <i>at</i> nsdev.org&gt;<br>
+Ngok Yuk Yau &lt;zzy <i>at</i> compuserve.com&gt;<br>
+Niclas Anderberg &lt;agony <i>at</i> sparta.lu.se&gt;<br>
+Oliver Eiden &lt;o.eiden <i>at</i> pop.ruhr.de&gt;<br>
+Oliver Elphick &lt;olly <i>at</i> lfix.co.uk&gt;<br>
+Olivier Verloove &lt;overloov <i>at</i> ulb.ac.be&gt;<br>
+Osku Salerma &lt;osku <i>at</i> iki.fi&gt;<br>
+P. J. Leonard &lt;eespjl <i>at</i> ee.bath.ac.uk&gt;<br>
+Paolo Galatola &lt;paolo <i>at</i> iris.polito.it&gt;<br>
+Pat Dowler &lt;dowler <i>at</i> pt1B1106.FSH.UVic.CA&gt;<br>
+Patrice Trognon &lt;trognon <i>at</i> apogee-com.fr&gt;<br>
+Patrick Voigt &lt;Patrick.Voigt <i>at</i> Informatik.TU-Chemnitz.DE&gt;<br>
+Paul Bucheit &lt;ptb <i>at</i> k2.cwru.edu&gt;<br>
+Paul Curtis &lt;plc <i>at</i> rowley.co.uk&gt;<br>
+Paul Kendall &lt;paul <i>at</i> kcbbs.gen.nz&gt;<br>
+Paul Marquis &lt;pmarquis <i>at</i> iddptm.iddis.com&gt;<br>
+Peter Bender &lt;bender <i>at</i> iib.bauwesen.th-darmstadt.de&gt;<br>
+Peter Klotz &lt;p.klotz <i>at</i> icoserve.com&gt;<br>
+Peter Pletcher &lt;peter <i>at</i> delilah&gt;<br>
+Pierre Rocque &lt;rocque <i>at</i> CRHSC.Umontreal.CA&gt;<br>
+Pohorecki Wladyslaw &lt;pohorecki <i>at</i> novell.ftj.agh.edu.pl&gt;<br>
+R.S. Mallozzi, &lt;mallozzi <i>at</i> bowie.msfc.nasa.gov&gt;<br>
+Ralf Stanke &lt;ralf <i>at</i> mcshh.hanse.de&gt;<br>
+Reginald Stadlbauer &lt;reggie <i>at</i> kde.org&gt;<br>
+Richard D. Jackson &lt;rjackson <i>at</i> bga.com&gt;<br>
+Richard Keech &lt;rkeech <i>at</i> colesmyer.com.au&gt;<br>
+Richard Moore &lt;moorer <i>at</i> cs.man.ac.uk&gt;<br>
+Rick Brohl &lt;rbrohl <i>at</i> uswest.com&gt;<br>
+Robert Anderson &lt;Robert.E.Anderson <i>at</i> unh.edu&gt;<br>
+Robert Cimrman &lt;cimrman <i>at</i> marius.univ-mrs.fr&gt;<br>
+Roberto Alsina &lt;ralsina <i>at</i> ultra7.unl.edu.ar&gt;<br>
+Rohlfs Reiner &lt;Reiner.Rohlfs <i>at</i> obs.unige.ch&gt;<br>
+Salman Sheikh &lt;salman <i>at</i> vdragon.gsfc.nasa.gov&gt;<br>
+Sandro Sigala &lt;ssigala <i>at</i> globalnet.it&gt;<br>
+Scott Coppen &lt;scoppen <i>at</i> emerald.tufts.edu&gt;<br>
+Sean Echevarria &lt;sean <i>at</i> beatnik.com&gt;<br>
+Sean Vyain &lt;svyain <i>at</i> mail.tds.net&gt;<br>
+Sirtaj Singh Kang &lt;ssk <i>at</i> physics.unimelb.EDU.AU&gt;<br>
+Sivan Toledo<br>
+Stefan Cronert &lt;d93-scr <i>at</i> nada.kth.se&gt;<br>
+Stefan Taferner &lt;taf <i>at</i> porsche.co.at&gt;<br>
+Steffen Hansen &lt;stefh <i>at</i> dit.ou.dk&gt;<br>
+Stephan Pfab &lt;pfab <i>at</i> mathematik.uni-ulm.de&gt;<br>
+Stephane Zermatten &lt;szermat <i>at</i> ibm.net&gt;<br>
+Sven Fischer &lt;sven <i>at</i> comnets.rwth-aachen.de&gt;<br>
+Sven Riedel &lt;lynx <i>at</i> heim8.tu-clausthal.de&gt;<br>
+Terje Dalen &lt;terje <i>at</i> norcontrol.no&gt;<br>
+Thomas Lineal &lt;thomas <i>at</i> ricci.allcon.com&gt;<br>
+Thomas Rath &lt;rath <i>at</i> mac-info-link.de&gt;<br>
+Thorsten Ende &lt;the <i>at</i> is-bremen.de&gt;<br>
+Tiaan Wessels &lt;tiaan <i>at</i> inetsys.alt.za&gt;<br>
+Tim D. Gilman &lt;tdgilman <i>at</i> best.com&gt;<br>
+Tom Houlder &lt;thoulder <i>at</i> icor.fr&gt;<br>
+Tony Albrecht &lt;Tony.Albrecht <i>at</i> adelaide.maptek.com.au&gt;<br>
+Torgeir Hovden &lt;hovden <i>at</i> akkurat.idt.ntnu.no&gt;<br>
+Trond Hellem Bø &lt;s638 <i>at</i> ii.uib.no&gt;<br>
+Trond Solli &lt;Trond.Solli <i>at</i> marintek.sintef.no&gt;<br>
+Ulf Stelbe &lt;ust <i>at</i> egd.igd.fhg.de&gt;<br>
+Ulrich Hertlein &lt;uhe <i>at</i> cs.tu-berlin.de&gt;<br>
+Ulrich Ring &lt;ur <i>at</i> daveg.com&gt;<br>
+Uwe Thiem &lt;uwe <i>at</i> uwix.alt.na&gt;<br>
+Vadim Zaliva &lt;lord <i>at</i> crocodile.org&gt;<br>
+Val Gough &lt;val <i>at</i> stellacore.com&gt;<br>
+Vilhelm Sjöberg &lt;ville <i>at</i> swipnet.se&gt;<br>
+Vlad Karpinsky &lt;vlad <i>at</i> crocodile.org&gt;<br>
+Volker Hilsheimer &lt;vohi <i>at</i> gmx.de&gt;<br>
+Volker Poplawski &lt;volkerp <i>at</i> stepnet.de&gt;<br>
+Warwick Allison &lt;warwick <i>at</i> it.uq.edu.au&gt;<br>
+Xiaojian Li &lt;lixj <i>at</i> monte.rutgers.edu&gt;<br>
+Ximenes &lt;ximenes <i>at</i> netset.com&gt;<br>
+Y. N. Lo &lt;ynlo <i>at</i> netcom.ca&gt;<br>
+Zyklon &lt;zyk <i>at</i> dds.nl&gt;<br>
+atsushi konno &lt;jibe <i>at</i> ppp.bekkoame.or.jp&gt;<br>
+berry <i>at</i> hxi.com<br>
+boris passek &lt;boris <i>at</i> ice.fb12.TU-Berlin.DE&gt;<br>
+fidaire &lt;fidaire <i>at</i> bip.fr&gt;<br>
+joeh <i>at</i> sugar-river.net<br>
+rinsch <i>at</i> aea.ruhr-uni-bochum.de<br>
+tsutsui <i>at</i> kekvax.kek.jp<br>
+vandevod <i>at</i> cs.rpi.edu<br>
+vinckeg <i>at</i> sebb.bel.alcatel.be<br>
+yleffler <i>at</i> ucis.vill.edu<br>
+
+</blockquote>
+
+<p>We hope there are not too many omissions from the list. Any
+omissions are <b>bugs</b> and should be reported to
+<a href="mailto:qt-bugs@trolltech.com">qt-bugs@trolltech.com</a>
+like other bugs in the Qt code or documentation.
+
+*/
diff --git a/doc/customstyles.doc b/doc/customstyles.doc
new file mode 100644
index 0000000..0c196da
--- /dev/null
+++ b/doc/customstyles.doc
@@ -0,0 +1,228 @@
+/****************************************************************************
+**
+** Documentation for creating custom styles with QStyle
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page customstyles.html
+
+\title Style overview
+
+A style in Qt implements the look and feel found in a GUI for a
+particular platform. For example, Windows platforms may use the
+Windows or Windows-XP style, Unix platforms may use the Motif style,
+and so on.
+
+This is a short guide that describes the steps that are necessary to
+get started creating and using custom styles with the Qt 3.x style
+API. First, we go through the steps necessary to create a style:
+\list 1
+\i Pick a base style to inherit from.
+\i Re-implement the necessary functions in the derived class.
+\endlist
+Then we explain how to use the new style from within your own
+applications, or as a plugin that can be used by existing Qt
+applications.
+
+\section1 Creating a custom style
+
+\section2 1. Pick a base style to inherit from.
+
+The first step is to pick one of the base styles provided with Qt to
+build your custom style from. The choice will depend on what look and
+feel you are trying to achieve. We recommend that you choose from the
+QWindowsStyle derived classes or the QMotifStyle derived classes.
+These are the two base look and feel classes in the Qt style engine.
+Inheriting directly from QCommonStyle is also an option if you want to
+start almost from scratch when implementing your style. In this simple
+example we will inherit from QWindowsStyle.
+
+\section2 2. Re-implement the necessary functions in your derived class.
+
+Depending on which parts of the base style you want to change, you
+must re-implement the functions that are used to draw those parts
+of the interface. If you take a look at the \l{QStyle} documentation,
+you will find a list of the different primitives, controls and complex
+controls. In this example we will first change the look of the
+standard arrows that are used in the QWindowsStyle. The arrows are
+PrimitiveElements that are drawn by the drawPrimitive() function,
+so we need to re-implement that function. We need the following class
+declaration:
+
+\code
+#include <qwindowsstyle.h>
+
+class CustomStyle : public QWindowsStyle {
+ Q_OBJECT
+public:
+ CustomStyle();
+ ~CustomStyle();
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect & r,
+ const QColorGroup & cg,
+ SFlags flags = Style_Default,
+ const QStyleOption & = QStyleOption::Default ) const;
+
+private:
+ // Disabled copy constructor and operator=
+ CustomStyle( const CustomStyle & );
+ CustomStyle& operator=( const CustomStyle & );
+};
+\endcode
+
+Note that we disable the copy constructor and the '=' operator for our
+style. QObject is the base class for all style classes in Qt, and a
+QObject inherently cannot be copied since there are some aspects of it
+that are not copyable.
+
+From the QStyle docs we see that \c PE_ArrowUp, \c PE_ArrowDown, \c
+PE_ArrowLeft and \c PE_ArrowRight are the primitives we need to do
+something with. We get the following in our drawPrimitive() function:
+
+\code
+CustomStyle::CustomStyle()
+{
+}
+
+CustomStyle::~CustomStyle()
+{
+}
+
+void CustomStyle::drawPrimitive( PrimitiveElement pe,
+ QPainter * p,
+ const QRect & r,
+ const QColorGroup & cg,
+ SFlags flags,
+ const QStyleOption & opt ) const
+{
+ // we are only interested in the arrows
+ if (pe >= PE_ArrowUp && pe <= PE_ArrowLeft) {
+ QPointArray pa( 3 );
+ // make the arrow cover half the area it is supposed to be
+ // painted on
+ int x = r.x();
+ int y = r.y();
+ int w = r.width() / 2;
+ int h = r.height() / 2;
+ x += (r.width() - w) / 2;
+ y += (r.height() - h) /2;
+
+ switch( pe ) {
+ case PE_ArrowDown:
+ pa.setPoint( 0, x, y );
+ pa.setPoint( 1, x + w, y );
+ pa.setPoint( 2, x + w / 2, y + h );
+ break;
+ case PE_ArrowUp:
+ pa.setPoint( 0, x, y + h );
+ pa.setPoint( 1, x + w, y + h );
+ pa.setPoint( 2, x + w / 2, y );
+ break;
+ case PE_ArrowLeft:
+ pa.setPoint( 0, x + w, y );
+ pa.setPoint( 1, x + w, y + h );
+ pa.setPoint( 2, x, y + h / 2 );
+ break;
+ case PE_ArrowRight:
+ pa.setPoint( 0, x, y );
+ pa.setPoint( 1, x, y + h );
+ pa.setPoint( 2, x + w, y + h / 2 );
+ break;
+ default: break;
+
+ }
+
+ // use different colors to indicate that the arrow is
+ // enabled/disabled
+ if ( flags & Style_Enabled ) {
+ p->setPen( cg.mid() );
+ p->setBrush( cg.brush( QColorGroup::ButtonText ) );
+ } else {
+ p->setPen( cg.buttonText() );
+ p->setBrush( cg.brush( QColorGroup::Mid ) );
+ }
+ p->drawPolygon( pa );
+ } else {
+ // let the base style handle the other primitives
+ QWindowsStyle::drawPrimitive( pe, p, r, cg, flags, data );
+ }
+}
+\endcode
+
+\section2 Using a custom style
+
+There are several ways of using a custom style in a Qt application.
+The simplest way is to include the following lines of code in the
+application's main() function:
+
+\code
+#include "customstyle.h"
+
+int main( int argc, char ** argv )
+{
+ QApplication::setStyle( new CustomStyle() );
+ // do the usual routine on creating your QApplication object etc.
+}
+\endcode
+
+Note that you must also include the \c customstyle.h and \c
+customstyle.cpp files in your project.
+
+2. Creating and using a pluggable style
+
+You may want to make your style available for use in other
+applications, some of which may not be yours and are not available for
+you to recompile. The Qt Plugin system makes it possible to create
+styles as plugins. Styles created as plugins are loaded as shared
+objects at runtime by Qt itself. Please refer to the \link
+plugins-howto.html Qt Plugin\endlink documentation for more
+information on how to go about creating a style plugin.
+
+Compile your plugin and put it into $QTDIR/plugins/styles. We now have
+a pluggable style that Qt can load automatically. To use your new
+style with existing applications, simply start the application with
+the following argument:
+
+\code
+./application -style custom
+\endcode
+
+The application will use the look and feel from the custom style you
+implemented.
+
+*/
diff --git a/doc/datastreamformat.doc b/doc/datastreamformat.doc
new file mode 100644
index 0000000..fee3517
--- /dev/null
+++ b/doc/datastreamformat.doc
@@ -0,0 +1,248 @@
+/****************************************************************************
+**
+** Documentation of the Format of the QDataStream operators
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page datastreamformat.html
+
+\title Format of the QDataStream Operators
+
+The \l QDataStream allows you to serialize some of the Qt data types.
+The table below lists the data types that QDataStream can serialize
+and how they are represented.
+
+It is best to always cast integers to a Qt integer type when writing,
+and to read back into the same Qt integer type when reading.
+
+\table
+\row \i Q_INT8
+ \i \list
+ \i signed byte
+ \endlist
+\row \i Q_INT16
+ \i \list
+ \i signed 16 bit integer
+ \endlist
+\row \i Q_INT32
+ \i \list
+ \i signed 32 bit integer
+ \endlist
+\row \i Q_UINT8
+ \i \list
+ \i unsigned byte
+ \endlist
+\row \i Q_UINT16
+ \i \list
+ \i unsigned 16 bit integer
+ \endlist
+\row \i Q_UINT32
+ \i \list
+ \i unsigned 32 bit integer
+ \endlist
+\row \i float
+ \i \list
+ \i 32-bit floating point number using the standard IEEE-754 format
+ \endlist
+\row \i double
+ \i \list
+ \i 64-bit floating point number using the standard IEEE-754 format
+ \endlist
+\row \i char *
+ \i \list
+ \i The size of the string including the terminating 0 (Q_UINT32)
+ \i The string bytes including the terminating 0
+ \endlist
+ The null string is represented as \c {(Q_UINT32) 0}.
+\row \i QBitArray
+ \i \list
+ \i The array size (Q_UINT32)
+ \i The array bits, i.e. (size + 7)/8 bytes
+ \endlist
+\row \i QBrush
+ \i \list
+ \i The brush style (Q_UINT8)
+ \i The brush color (QColor)
+ \i If style is CustomPattern, the brush pixmap (QPixmap)
+ \endlist
+\row \i QByteArray
+ \i \list
+ \i The array size (Q_UINT32)
+ \i The array bytes, i.e. size bytes
+ \endlist
+\row \i QCString
+ \i \list
+ \i The size of the string including the terminating 0 (Q_UINT32)
+ \i The string bytes including the terminating 0
+ \endlist
+ The null string is represented as \c {(Q_UINT32) 0}.
+\row \i \l QColor
+ \i \list \i RGB value serialized as a Q_UINT32 \endlist
+\row \i QColorGroup
+ \i \list
+ \i foreground (QBrush)
+ \i button (QBrush)
+ \i light (QBrush)
+ \i midLight (QBrush)
+ \i dark (QBrush)
+ \i mid (QBrush)
+ \i text (QBrush)
+ \i brightText (QBrush)
+ \i ButtonText (QBrush)
+ \i base (QBrush)
+ \i background (QBrush)
+ \i shadow (QBrush)
+ \i highlight (QBrush)
+ \i highlightedText (QBrush)
+ \endlist
+\row \i QCursor
+ \i \list
+ \i Shape id (Q_INT16)
+ \i If shape is BitmapCursor: The bitmap (QPixmap), mask (QPixmap) and hot spot (QPoint)
+ \endlist
+\row \i QDate
+ \i \list
+ \i Julian day (Q_UINT32)
+ \endlist
+\row \i QDateTime
+ \i \list
+ \i Date (QDate)
+ \i Time (QTime)
+ \endlist
+\row \i QFont
+ \i \list
+ \i The family (QCString)
+ \i The point size (Q_INT16)
+ \i The style hint (Q_UINT8)
+ \i The char set (Q_UINT8)
+ \i The weight (Q_UINT8)
+ \i The font bits (Q_UINT8)
+ \endlist
+\row \i QImage
+ \i \list
+ \i If the image is null a "null image" marker is saved;
+ otherwise the image is saved in PNG or BMP format (depending
+ on the stream version). If you want control of the format,
+ stream the image into a QBuffer (using QImageIO) and stream
+ that.
+ \endlist
+\row \i QMap
+ \i \list
+ \i The number of items (Q_UINT32)
+ \i For all items, the key and value
+ \endlist
+\row \i QPalette
+ \i \list
+ \i active (QColorGroup)
+ \i disabled (QColorGroup)
+ \i inactive (QColorGroup)
+ \endlist
+\row \i QPen
+ \i \list
+ \i The pen styles (Q_UINT8)
+ \i The pen width (Q_UINT8)
+ \i The pen color (QColor)
+ \endlist
+\row \i QPicture
+ \i \list
+ \i The size of the picture data (Q_UINT32)
+ \i The raw bytes of picture data (char)
+ \endlist
+\row \i QPixmap
+ \i \list
+ \i Save it as a PNG image.
+ \endlist
+\row \i QPoint
+ \i \list
+ \i The x coordinate (Q_INT32)
+ \i The y coordinate (Q_INT32)
+ \endlist
+\row \i QPointArray
+ \i \list
+ \i The array size (Q_UINT32)
+ \i The array points (QPoint)
+ \endlist
+\row \i QRect
+ \i \list
+ \i left (Q_INT32)
+ \i top (Q_INT32)
+ \i right (Q_INT32)
+ \i bottom (Q_INT32)
+ \endlist
+\row \i QRegion
+ \i \list
+ \i The size of the data, i.e. 8 + 16 * (number of rectangles) (Q_UINT32)
+ \i QRGN_RECTS (Q_INT32)
+ \i The number of rectangles (Q_UINT32)
+ \i The rectangles in sequential order (QRect)
+ \endlist
+\row \i QSize
+ \i \list
+ \i width (Q_INT32)
+ \i height (Q_INT32)
+ \endlist
+\row \i QString
+ \i \list
+ \i If the string is null: 0xffffffff (Q_UINT32)<br>
+ otherwise: The string length (Q_UINT32) followed by the
+ data in UTF-16
+ \endlist
+\row \i QTime
+ \i \list
+ \i Milliseconds since midnight (Q_UINT32)
+ \endlist
+\row \i QValueList
+ \i \list
+ \i The number of list elements (Q_UINT32)
+ \i All the elements in sequential order
+ \endlist
+\row \i QVariant
+ \i \list
+ \i The type of the data (Q_UINT32)
+ \i The data of the specified type
+ \endlist
+\row \i QWMatrix
+ \i \list
+ \i m11 (double)
+ \i m12 (double)
+ \i m21 (double)
+ \i m22 (double)
+ \i dx (double)
+ \i dy (double)
+ \endlist
+\endtable
+
+*/
diff --git a/doc/debug.doc b/doc/debug.doc
new file mode 100644
index 0000000..d8779b9
--- /dev/null
+++ b/doc/debug.doc
@@ -0,0 +1,189 @@
+/****************************************************************************
+**
+** Qt Debugging Techniques
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page debug.html
+
+\title Debugging Techniques
+
+Here we present some useful hints to debugging your Qt-based software.
+
+\section1 Command Line Options
+
+When you run a Qt program you can specify several command line options
+that can help with debugging.
+
+\table
+\header \i Option \i Result
+\row \i -nograb
+ \i The application should never grab \link QWidget::grabMouse()
+ the mouse\endlink or \link QWidget::grabKeyboard() the
+ keyboard \endlink. This option is set by default when the
+ program is running in the \c gdb debugger under Linux.
+\row \i -dograb
+ \i Ignore any implicit or explicit -nograb. -dograb wins over
+ -nograb even when -nograb is last on the command line.
+\row \i -sync
+ \i Runs the application in X synchronous mode. Synchronous mode
+ forces the X server to perform each X client request
+ immediately and not use buffer optimization. It makes the
+ program easier to debug and often much slower. The -sync
+ option is only valid for the X11 version of Qt.
+\endtable
+
+
+\section1 Warning and Debugging Messages
+
+Qt includes three global functions for writing out warning and debug
+text.
+\list
+\i \link ::qDebug() qDebug()\endlink for writing debug output for testing etc.
+\i \link ::qWarning() qWarning()\endlink for writing warning output when program
+errors occur.
+\i \link ::qFatal() qFatal()\endlink for writing fatal error messages
+and exiting.
+\endlist
+
+The Qt implementation of these functions prints the text to the \c stderr
+output under Unix/X11 and to the debugger under Windows. You can
+take over these functions by installing a message handler;
+\link ::qInstallMsgHandler() qInstallMsgHandler()\endlink.
+
+The debugging functions \l QObject::dumpObjectTree() and \l
+QObject::dumpObjectInfo() are often useful when an application looks
+or acts strangely. More useful if you use object names than not, but
+often useful even without names.
+
+\section1 Debugging Macros
+
+The header file \c qglobal.h contains many debugging macros and
+\c{#define}s.
+
+Two important macros are:
+\list
+\i \link ::Q_ASSERT() Q_ASSERT(b)\endlink where b is a boolean
+expression, writes the warning: "ASSERT: 'b' in file file.cpp (234)"
+if b is FALSE.
+\i \link ::Q_CHECK_PTR() Q_CHECK_PTR(p)\endlink where p is a pointer.
+Writes the warning "In file file.cpp, line 234: Out of memory" if p is
+0.
+\endlist
+
+These macros are useful for detecting program errors, e.g. like this:
+\code
+ char *alloc( int size )
+ {
+ Q_ASSERT( size > 0 );
+ char *p = new char[size];
+ Q_CHECK_PTR( p );
+ return p;
+ }
+\endcode
+
+If you define the flag QT_FATAL_ASSERT, Q_ASSERT will call fatal()
+instead of warning(), so a failed assertion will cause the program to
+exit after printing the error message.
+
+Note that the Q_ASSERT macro is a null expression if \c QT_CHECK_STATE (see
+below) is not defined. Any code in it will simply not be
+executed. Similarly Q_CHECK_PTR is a null expression if \c QT_CHECK_NULL is
+not defined. Here is an example of how you should \e not use Q_ASSERT and
+Q_CHECK_PTR:
+
+\code
+ char *alloc( int size )
+ {
+ char *p;
+ Q_CHECK_PTR( p = new char[size] ); // WRONG!
+ return p;
+ }
+\endcode
+
+The problem is tricky: \e p is set to a sane value only as long as the
+correct checking flags are defined. If this code is compiled without
+the QT_CHECK_NULL flag defined, the code in the Q_CHECK_PTR expression is
+not executed (correctly, since it's only a debugging aid) and \e alloc
+returns a wild pointer.
+
+The Qt library contains hundreds of internal checks that will print
+warning messages when some error is detected.
+
+The tests for sanity and the resulting warning messages inside Qt are
+conditional, based on the state of various debugging flags:
+\table
+\header \i Flag \i Meaning
+\row \i QT_CHECK_STATE \i Check for consistent/expected object state
+\row \i QT_CHECK_RANGE \i Check for variable range errors
+\row \i QT_CHECK_NULL \i Check for dangerous null pointers
+\row \i QT_CHECK_MATH \i Check for dangerous math, e.g. division by 0
+\row \i QT_NO_CHECK \i Turn off all QT_CHECK_... flags
+\row \i QT_DEBUG \i Enable debugging code
+\row \i QT_NO_DEBUG \i Turn off QT_DEBUG flag
+\endtable
+
+By default, both QT_DEBUG and all the QT_CHECK flags are on. To turn
+off QT_DEBUG, define QT_NO_DEBUG. To turn off the QT_CHECK flags,
+define QT_NO_CHECK.
+
+Example:
+\code
+ void f( char *p, int i )
+ {
+ #if defined(QT_CHECK_NULL)
+ if ( p == 0 )
+ qWarning( "f: Null pointer not allowed" );
+ #endif
+
+ #if defined(QT_CHECK_RANGE)
+ if ( i < 0 )
+ qWarning( "f: The index cannot be negative" );
+ #endif
+ }
+\endcode
+
+\section1 Common bugs
+
+There is one bug that is so common that it deserves mention here: If
+you include the Q_OBJECT macro in a class declaration and run the
+\link moc.html moc\endlink, but forget to link the moc-generated
+object code into your executable, you will get very confusing error
+messages. Any link error complaining about a lack of \c{vtbl},
+\c{_vtbl}, \c{__vtbl} or similar is likely to be a result of this
+problem.
+
+*/
diff --git a/doc/distributingqt.doc b/doc/distributingqt.doc
new file mode 100644
index 0000000..554e2e4
--- /dev/null
+++ b/doc/distributingqt.doc
@@ -0,0 +1,129 @@
+/****************************************************************************
+**
+** Documentation on deploying Qt
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page distributingqt.html
+
+\title Deploying Qt Applications
+
+This document lists the platform-specific files needed to distribute
+Qt applications. We do not include any compiler-specific files that
+may also be required. (See also, \link winsystem.html Window
+System-specific Notes\endlink.)
+
+\tableofcontents
+
+\section1 Static Qt Applications
+
+To distribute static Qt applications, you need the following file for
+all platforms:
+
+\list
+\i your application's executable
+\endlist
+
+\section1 Dynamic Qt Applications
+
+To distribute dynamic Qt applications, you will need the following
+files for all platforms:
+
+\list
+\i application executable
+\i the Qt library
+\endlist
+
+The Qt library must either be in the same directory as the application
+executable or in a directory which is included in the system library
+path.
+
+The library is in provided by the following platform specific files:
+
+\table
+\header \i Platform \i File
+\row \i Windows \i \c qt[version].dll
+\row \i Unix/Linux \i \c libqt[version].so
+\row \i Mac \i \c libqt[version].dylib
+\endtable
+
+\e version includes the three version numbers. For threaded builds the
+version is prefixed with \e {-mt}.
+
+\section2 Distributing Plugins
+
+You must include any plugin files required by the application.
+
+Plugins must be put into a subdirectory under a directory known to
+Qt as a plugin directory. The subdirectory must have the name of the
+plugin category (e.g. \c styles, \c sqldrivers, \c designer, etc.).
+
+Qt searches in the following directories for plugin categories:
+
+\list
+\i Application specific plugin paths
+\i Build-directory of Qt
+\i The application directory
+\endlist
+
+Application specific plugin paths can be added using
+QApplication::addLibraryPath(). The build-directory of Qt is hardcoded
+in the Qt library and can be changed as a part of the installation
+process (see the \l distributor-example.html Distributor example).
+
+\section1 Dynamic Dialogs
+
+For dynamic dialogs if you use QWidgetFactory, you need the following
+files for all platforms:
+
+\list
+\i The same files as used for dynamic Qt applications
+\i The QUI Library
+\endlist
+
+The QUI library is provided by the following platform specific files:
+\table
+\header \i Platform \i File
+\row \i Windows \i\c qui.lib
+\row \i Unix/Linux \i\c libqui.so
+\row \i Mac \i \c libqui.dylib
+\endtable
+
+The QUI library must either be in the same directory as the
+application executable or in a directory which is included in the
+system library path.
+
+*/
diff --git a/doc/dnd.doc b/doc/dnd.doc
new file mode 100644
index 0000000..45acf8a
--- /dev/null
+++ b/doc/dnd.doc
@@ -0,0 +1,383 @@
+/****************************************************************************
+**
+** Drag and drop documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page dnd.html
+
+\title Drag and Drop
+
+Drag and drop provides a simple visual mechanism which users can use
+to transfer information between and within applications. (In the
+literature this is referred to as a "direct manipulation model".) Drag
+and drop is similar in function to the clipboard's cut-and-paste
+mechanism.
+
+\tableofcontents
+
+For drag and drop examples see (in increasing order of
+sophistication): \c qt/examples/iconview/simple_dd, \c
+qt/examples/dragdrop and \c qt/examples/fileiconview. See also the
+QTextEdit widget source code.
+
+
+\section1 Dragging
+
+To start a drag, for example in a \link QWidget::mouseMoveEvent()
+mouse motion event\endlink, create an object of the QDragObject
+subclass appropriate for your media, such as QTextDrag for text and
+QImageDrag for images. Then call the drag() method. This is all you
+need for simple dragging of existing types.
+
+For example, to start dragging some text from a widget:
+\code
+void MyWidget::startDrag()
+{
+ QDragObject *d = new QTextDrag( myHighlightedText(), this );
+ d->dragCopy();
+ // do NOT delete d.
+}
+\endcode
+
+Note that the QDragObject is not deleted after the drag. The
+QDragObject needs to persist after the drag is apparently finished
+since it may still be communicating with another process. Eventually
+Qt will delete the object. If the widget owning the drag object is
+deleted before then, any pending drop will be canceled and the drag
+object deleted. For this reason, you should be careful what the object
+references.
+
+\section1 Dropping
+
+To be able to receive media dropped on a widget, call
+\link QWidget::setAcceptDrops() setAcceptDrops(TRUE)\endlink
+for the widget (e.g. in its constructor), and override the
+event handler methods
+\link QWidget::dragEnterEvent() dragEnterEvent()\endlink and
+\link QWidget::dropEvent() dropEvent()\endlink.
+For more sophisticated applications overriding
+\link QWidget::dragMoveEvent() dragMoveEvent()\endlink and
+\link QWidget::dragLeaveEvent() dragLeaveEvent()\endlink will also be
+necessary.
+
+For example, to accept text and image drops:
+\code
+MyWidget::MyWidget(...) :
+ QWidget(...)
+{
+ ...
+ setAcceptDrops(TRUE);
+}
+
+void MyWidget::dragEnterEvent(QDragEnterEvent* event)
+{
+ event->accept(
+ QTextDrag::canDecode(event) ||
+ QImageDrag::canDecode(event)
+ );
+}
+
+void MyWidget::dropEvent(QDropEvent* event)
+{
+ QImage image;
+ QString text;
+
+ if ( QImageDrag::decode(event, image) ) {
+ insertImageAt(image, event->pos());
+ } else if ( QTextDrag::decode(event, text) ) {
+ insertTextAt(text, event->pos());
+ }
+}
+\endcode
+
+\section1 The Clipboard
+
+The QDragObject, QDragEnterEvent, QDragMoveEvent, and QDropEvent
+classes are all subclasses of QMimeSource: the class of objects which
+provide typed information. If you base your data transfers on
+QDragObject, you not only get drag-and-drop, but you also get
+traditional cut-and-paste for free. The QClipboard has two functions:
+\code
+ setData(QMimeSource*)
+ QMimeSource* data()const
+\endcode
+With these functions you can trivially put your drag-and-drop oriented
+information on the clipboard:
+\code
+void MyWidget::copy()
+{
+ QApplication::clipboard()->setData(
+ new QTextDrag(myHighlightedText()) );
+}
+
+void MyWidget::paste()
+{
+ QString text;
+ if ( QTextDrag::decode(QApplication::clipboard()->data(), text) )
+ insertText( text );
+}
+\endcode
+You can even use QDragObject subclasses as part of file IO. For
+example, if your application has a subclass of QDragObject that
+encodes CAD designs in DXF format, your saving and loading code might
+be:
+\code
+void MyWidget::save()
+{
+ QFile out(current_file_name);
+ if ( out.open(IO_WriteOnly) ) {
+ MyCadDrag tmp(current_design);
+ out.writeBlock( tmp->encodedData( "image/x-dxf" ) );
+ }
+}
+
+void MyWidget::load()
+{
+ QFile in(current_file_name);
+ if ( in.open(IO_ReadOnly) ) {
+ if ( !MyCadDrag::decode(in.readAll(), current_design) ) {
+ QMessageBox::warning( this, "Format error",
+ tr("The file \"%1\" is not in any supported format")
+ .arg(current_file_name)
+ );
+ }
+ }
+}
+\endcode
+Note how the QDragObject subclass is called "MyCadDrag", not
+"MyDxfDrag": because in the future you might extend it to provide
+DXF, DWG, SVF, WMF, or even QPicture data to other applications.
+
+\section1 Drag and Drop Actions
+
+In the simpler cases, the target of a drag-and-drop receives a copy of
+the data being dragged and the source decides whether to delete the
+original. This is the "Copy" action in QDropEvent. The target may also
+choose to understand other actions, specifically the Move and Link
+actions. If the target understands the Move action, \e{the
+target} is responsible for both the copy and delete operations and
+the source will not attempt to delete the data itself. If the target
+understands the Link, it stores its own reference to the original
+information, and again the source does not delete the original. The
+most common use of drag-and-drop actions is when performing a Move
+within the same widget: see the \link #advanced Advanced
+Drag-and-Drop\endlink section below.
+
+The other major use of drag actions is when using a reference type
+such as text/uri-list, where the dragged data are actually references
+to files or objects.
+
+\section1 Adding New Drag and Drop Types
+
+As suggested in the DXF example above, drag-and-drop is not limited to
+text and images. Any information can be dragged and dropped. To drag
+information between applications, the applications must be able to
+indicate to each other which data formats they can accept and which
+they can produce. This is achieved using \link
+http://www.rfc-editor.org/rfc/rfc1341.txt MIME types\endlink: the drag
+source provides a list of MIME types that it can produce (ordered from
+most appropriate to least appropriate), and the drop target chooses
+which of those it can accept. For example, QTextDrag provides support
+for the "\c{text/plain}" MIME type (ordinary unformatted text), and
+the Unicode formats "\c{text/utf16}" and "\c{text/utf8}"; QImageDrag
+provides for "\c{image/*}", where \c{*} is any image format that
+\l QImageIO supports; and the QUriDrag subclass provides
+"\c{text/uri-list}", a standard format for transferring a list of
+filenames (or URLs).
+
+To implement drag-and-drop of some type of information for which there
+is no available QDragObject subclass, the first and most important
+step is to look for existing formats that are appropriate: the
+Internet Assigned Numbers Authority (\link http://www.iana.org
+IANA\endlink) provides a \link
+http://www.isi.edu/in-notes/iana/assignments/media-types/ hierarchical
+list of MIME media types\endlink at the Information Sciences Institute
+(\link http://www.isi.edu ISI\endlink). Using standard MIME types
+maximizes the inter-operability of your application with other
+software now and in the future.
+
+To support an additional media type, subclass either QDragObject or
+QStoredDrag. Subclass QDragObject when you need to provide support for
+multiple media types. Subclass the simpler QStoredDrag when one type
+is sufficient.
+
+Subclasses of QDragObject will override the
+\link QDragObject::format()
+const char* format(int i) const
+\endlink and
+\link QDragObject::encodedData()
+QByteArray encodedData(const char* mimetype) const
+\endlink
+members, and provide a set-method to encode the media data and static
+members canDecode() and decode() to decode incoming data, similar to
+\link QImageDrag::canDecode()
+bool canDecode(QMimeSource*) const
+\endlink and
+\link QImageDrag::decode()
+QByteArray decode(QMimeSource*) const
+\endlink
+of QImageDrag.
+Of course, you can provide drag-only or drop-only support for a media
+type by omitting some of these methods.
+
+Subclasses of QStoredDrag provide a set-method to encode the media
+data and the same static members canDecode() and decode() to decode
+incoming data.
+
+\target advanced
+\section1 Advanced Drag-and-Drop
+
+In the clipboard model, the user can \e cut or \e copy the source
+information, then later paste it. Similarly in the drag-and-drop
+model, the user can drag a \e copy of the information or they can drag
+the information itself to a new place (\e moving it). The
+drag-and-drop model however has an additional complication for the
+programmer: the program doesn't know whether the user wants to cut or
+copy until the drop (paste) is done! For dragging between
+applications, it makes no difference, but for dragging within an
+application, the application must take a little extra care not to
+tread on its own feet. For example, to drag text around in a document,
+the drag start point and the drop event might look like this:
+
+\code
+void MyEditor::startDrag()
+{
+ QDragObject *d = new QTextDrag(myHighlightedText(), this);
+ if ( d->drag() && d->target() != this )
+ cutMyHighlightedText();
+}
+
+void MyEditor::dropEvent(QDropEvent* event)
+{
+ QString text;
+
+ if ( QTextDrag::decode(event, text) ) {
+ if ( event->source() == this && event->action() == QDropEvent::Move ) {
+ // Careful not to tread on my own feet
+ event->acceptAction();
+ moveMyHighlightedTextTo(event->pos());
+ } else {
+ pasteTextAt(text, event->pos());
+ }
+ }
+}
+\endcode
+
+Some widgets are more specific than just a "yes" or "no" response when
+data is dragged onto them. For example, a CAD program might only
+accept drops of text onto text objects in the view. In these cases,
+the \link QWidget::dragMoveEvent() dragMoveEvent()\endlink is used and
+an \e area is given for which the drag is accepted or ignored:
+\code
+void MyWidget::dragMoveEvent(QDragMoveEvent* event)
+{
+ if ( QTextDrag::canDecode(event) ) {
+ MyCadItem* item = findMyItemAt(event->pos());
+ if ( item )
+ event->accept();
+ }
+}
+\endcode
+If the computations to find objects are particularly slow, you might
+achieve improved performance if you tell the system an area for which
+you promise the acceptance persists:
+\code
+void MyWidget::dragMoveEvent(QDragMoveEvent* event)
+{
+ if ( QTextDrag::canDecode(event) ) {
+ MyCadItem* item = findMyItemAt(event->pos());
+ if ( item ) {
+ QRect r = item->areaRelativeToMeClippedByAnythingInTheWay();
+ if ( item->type() == MyTextType )
+ event->accept( r );
+ else
+ event->ignore( r );
+ }
+ }
+}
+\endcode
+
+The dragMoveEvent() can also be used if you need to give visual
+feedback as the drag progresses, to start timers, to scroll the
+window, or whatever is appropriate (don't forget to stop the scrolling
+and timers in a dragLeaveEvent() though).
+
+The QApplication object (available as the \c qApp global) also
+provides some drag and drop related functions:
+\l{QApplication::setStartDragTime()},
+\l{QApplication::setStartDragDistance()}, and their corresponding
+getters, \l{QApplication::startDragTime()} and
+\l{QApplication::startDragDistance()}.
+
+\section1 Inter-operating with Other Applications
+
+On X11, the public <a class="r"
+href="http://www.newplanetsoftware.com/xdnd/">XDND protocol</a> is
+used, while on Windows Qt uses the OLE standard, and Qt/Mac uses the
+Carbon Drag Manager. On X11, XDND uses MIME, so no translation is
+necessary. The Qt API is the same regardless of the platform. On
+Windows, MIME-aware applications can communicate by using clipboard
+format names that are MIME types. Already some Windows applications
+use MIME naming conventions for their clipboard formats. Internally,
+Qt has facilities for translating proprietary clipboard formats to and
+from MIME types. This interface will be made public at some time, but
+if you need to do such translations now, contact your Qt Technical
+Support service.
+
+On X11, Qt also supports drops via the Motif Drag\&Drop Protocol. The
+implementation incorporates some code that was originally written by
+Daniel Dardailler, and adapted for Qt by Matt Koss \<koss@napri.sk\>
+and Trolltech. Here is the original copyright notice:
+
+\legalese
+
+Copyright 1996 Daniel Dardailler.
+
+Permission to use, copy, modify, distribute, and sell this software
+for any purpose is hereby granted without fee, provided that the above
+copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation,
+and that the name of Daniel Dardailler not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Daniel Dardailler makes no representations
+about the suitability of this software for any purpose. It is
+provided "as is" without express or implied warranty.
+
+Modifications Copyright 1999 Matt Koss, under the same license as
+above.
+
+*/ // NOTE: That notice is from qmotifdnd_x11.cpp.
diff --git a/doc/editions.doc b/doc/editions.doc
new file mode 100644
index 0000000..bc3e65a
--- /dev/null
+++ b/doc/editions.doc
@@ -0,0 +1,137 @@
+/****************************************************************************
+**
+** Documentation of Qt editions
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page editions.html
+
+\title Qt Editions
+
+The Qt Professional and Enterprise Editions are the commercial
+versions of \link aboutqt.html Qt\endlink.
+
+Qt Open Source Edition is the non-commercial version of Qt. It is freely
+available for download.
+
+You may write commercial/proprietary/non-free software only if you
+have purchased the Professional or Enterprise Edition. With these
+commercial editions, you also get technical support and upgrades. Qt
+for Microsoft Windows is only available as Professional and Enterprise
+Editions.
+
+<table border="1" cellpadding="5" cellspacing="0" width="100%">
+ <tr>
+ <td bgcolor="#a1c410"><b><a name="Chart"></a>Professional/Enterprise Comparison Chart</b></td>
+ <td width="100" align="center" bgcolor="#a1c410"><b>Professional</b></td>
+ <td width="100" align="center" bgcolor="#a1c410"><b>Enterprise</b></td>
+ </tr>
+ <tr>
+ <td><b>Qt Base Modules (Tools, Kernel, Widgets, Dialogs)</b><br>
+ The platform-independent Qt GUI toolkit and utility classes</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="designer-manual.html"><b>Qt Designer</b></a><br>
+ Visual Qt GUI builder</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="iconview.html"><b>Iconview module</b></a><br>
+ Visualization of sets of pixmaps with user interaction.</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="workspace.html"><b>Workspace module</b></a><b><br>
+ </b>Multiple Document Interface (MDI) support</td>
+ <td width="100" align="center"><b>X</b></td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="opengl.html"><b>OpenGL 3D Graphics module</b></a><b><br>
+ </b>Integration of Qt with OpenGL</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="network.html"><b>Network module</b></a><b><br>
+ </b>Platform-independent classes for sockets, TCP, FTP and asynchronous DNS lookup.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="canvas.html"><b>Canvas module</b></a><br>
+ Optimized 2D graphics area for visualization, diagrams, etc.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="table.html"><b>Table module</b></a><br>
+ Flexible and editable table / spreadsheet</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="xml.html"><b>XML module</b></a><br>
+ Well-formed XML parser with SAX interface and DOM Level 1.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="activeqt.html"><b>ActiveQt extension</b></a><br>
+ Support for building and hosting ActiveX controls on Windows.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+ <tr>
+ <td><a href="motif-extension.html"><b>QMotif extension</b></a><br>
+ Motif co-existence and migration support.</td>
+ <td width="100" align="center"><br>
+ </td>
+ <td width="100" align="center"><b>X</b></td>
+ </tr>
+</table>
+
+*/
diff --git a/doc/embclasses.doc b/doc/embclasses.doc
new file mode 100644
index 0000000..f043081
--- /dev/null
+++ b/doc/embclasses.doc
@@ -0,0 +1,340 @@
+/****************************************************************************
+**
+** A brief guide to the Qt/Embedded internal classes
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-classes.html
+
+\title The Qt/Embedded-specific classes
+
+Qt/Embedded classes fall into two groups: the majority are used by
+every Qt/Embedded program, and some are used only by the Qt/Embedded server.
+The Qt/Embedded server program can also be a client, as in the case of a
+single-process installation. All Qt/Embedded specific source files live
+in \c src/kernel and are suffixed \c{_qws}. The &raquo; symbol
+indicates inheritance.
+
+\tableofcontents
+
+\section1 QFontManager
+
+There is one of these per application. At application startup time it
+reads the font definition file from \c $QTDIR/etc/fonts/fontdir (or \c
+/usr/local/etc/qt-embedded/fonts/fontdir if QTDIR is undefined). It
+keeps track of all font information and maintains a cache of rendered
+fonts. It also creates the font factories: QFontManager::QFontManager
+is the place to add constructors for new factories. It provides a
+high-level interface for requesting a particular font and calls
+QFontFactories to load fonts from disk on demand. Note that this only
+applies to BDF and TrueType fonts; Qt/Embedded's optimised \c .qpf
+font file format bypasses the QFontManager mechanism altogether.
+
+There should be no need to modify this class unless you wish to change
+font matching or caching behaviour.
+
+\section1 QDiskFont
+
+This contains information about a single on-disk font file (e.g.
+\c{/usr/local/etc/qt-embedded/times.ttf}). It holds the file path,
+information about whether the font is scalable, its weight, size,
+Qt/Embedded name, etc. This information is used so that QFontManager
+can find the closest matching disk font (it uses a scoring mechanism
+weighted towards matching names, then whether the font's italic, then
+its weight).
+
+There should be no reason to modify this class.
+
+\section1 QRenderedFont
+
+There is one and only one QRenderedFont for every unique font
+currently loaded by the system (that is, each unique combination of
+name, size, weight, italic or not, anti-aliased or not).
+QRenderedFonts are reference counted; once no one is using the
+QRenderedFont it is deleted along with its cache of glyph bitmaps. The
+QDiskFont it was loaded from remains opened by its QFontFactory.
+
+There should be no reason to modify this class, unless you wish to
+change the way in which glyphs are cached.
+
+
+\section1 QFontFactory (and descendants QFontFactoryBDF, QFontFactoryTtf)
+
+These provide support for particular font formats, for instance the
+scalable Truetype and Type1 formats (both supported in
+QFontFactoryTtf, which uses Freetype 2) and the bitmap BDF format used
+by X. It's called to open an on-disk font; once a font is opened it
+remains opened so that the creation of new font instances from the
+disk font is fast. It can also create a QRenderedFont and convert from
+Unicode values to an index into the font file. For compactness, glyphs
+are stored in the order and indexes they are defined in the font
+rather than in Unicode order.
+
+There should be no need to modify this class, but it should be
+inherited if you wish to add a different type of font renderer (e.g.
+for a custom vector font format).
+
+\section1 QGlyph
+
+This describes a particular image of a character from a QRenderedFont:
+for example, the letter 'A' at 10 points in Times New Roman, bold italic,
+anti-aliased. It contains pointers to a QGlyphMetrics structure with
+information about the character and to the raw data for the glyph:
+this is either a 1-bit mask or an 8-bit alpha channel. Each QRenderedFont
+creates these on demand and caches them once created (note that this is
+not currently implemented for TrueType fonts).
+
+You would only need to modify this class if you were, for example,
+modifying Qt/Embedded to support textured fonts, in which case you
+would also need to modify QGfxRaster.
+
+\section1 QMemoryManagerPixmap/QMemoryManager
+
+This handles requests for space for pixmaps and also keeps track of
+QPF format fonts (these are small 'state dumps' of QRenderedFonts,
+typically 2-20KB in size; they can be mmap'd direct from disk in order
+to save memory). If a QPF font is found which matches a font request
+no new QRenderedFont need be created for it. It's possible to strip out
+all QFontFactory support and simply use QPFs if your font needs are modest
+(for instance, if you only require a few fixed point sizes). Note that
+no best-match loading is performed with QPFs, as opposed to those
+loaded via QFontManager, so if you don't have the correct QPF for a point
+size, text in that size will simply not be displayed.
+
+There should be no need to modify this class.
+
+\section1 QScreen &raquo; QLinuxFbScreen &raquo; accelerated screens, QTransformedScreen &raquo; QVfbScreen
+
+These encapsulate the framebuffer Qt/Embedded is drawing to, provide
+support for mapping of coordinates for rotating framebuffers, allow
+manipulation of the colour palette and provide access to offscreen
+graphics memory for devices with separate framebuffer memories.
+
+This is used for caching pixmaps and allowing accelerated pixmap=\>screen
+blt's. QLinuxFbScreen and the accelerated screens use the Linux \c /dev/fb
+interface to get access to graphics memory and information about the
+characteristics of the device. The framebuffer device to open is specified
+by QWS_DISPLAY. Only QTransformedScreen implements the support for rotated
+framebuffers. QVfbScreen provides an X window containing an emulated
+framebuffer (a chunk of shared memory is set aside as the 'framebuffer'
+and blt'd into the X window): this is intended as a debugging device
+allowing users to debug their applications under Qt/Embedded without leaving
+X. The accelerated screen drivers check to see if they can drive the
+device specified by QWS_CARD_SLOT (which defaults to the usual position
+of an AGP slot if not specified) and mmap its on-chip registers from
+\c /dev/mem. They may also do chip-specific setup (initialising registers to
+known values and so on). Finally, QScreen's are used to create new
+QScreenCursors and QGfxes.
+
+If you wish to modify the way pixmaps are allocated in memory,
+subclass or modify QLinuxFbScreen. If you're writing an accelerated
+driver you will need to subclass QScreen or QLinuxFbScreen.
+
+\section1 QScreenCursor &raquo; accelerated cursor &raquo; QVfbCursor
+
+This handles drawing the on-screen mouse cursor, and saving and
+restoring the screen under it for the non-accelerated cursor types.
+
+Subclassing QScreenCursor is optional in an accelerated driver (you
+would only want to do so if the hardware supports a hardware cursor).
+
+\section1 QGfx &raquo; RasterBase &raquo; Raster &raquo; accelerated driver &raquo; QGfxVfb &raquo; QGfxTransformedRaster
+
+This class encapsulates drawing operations, a little like a low-level
+QPainter. QGfxRaster and its descendants are specifically intended
+for drawing into a raw framebuffer. They can take an offset for drawing
+operations and a clipping region in order to support drawing into windows.
+You will need to subclass the QGfxRaster template in order to implement
+an accelerated driver.
+
+If you're brave, modifying QGfxRaster would allow you to customise how
+drawing is done or add support for a new bit depth/pixel format.
+
+\section1 QLock, QLockHolder
+
+This encapsulates a System V semaphore, used for synchronising access
+to memory shared between Qt/Embedded clients. QLockHolder is a utility class
+to make managing and destroying QLocks easier.
+
+There should be no need to modify this class unless porting
+Qt/Embedded to an operating system without System V IPC.
+
+\section1 QDirectPainter
+
+This is a QPainter which also gives you a pointer to the framebuffer
+of the window it's pointing to, the window's clip region and so on.
+It's intended to easily allow you to do your own pixel-level manipulation
+of window contents.
+
+There should be no reason to modify this class.
+
+\section1 QWSSoundServer, Client
+
+The Qt/Embedded server contains a simple sound player and mixer. Clients
+can request the server play sounds specified as files.
+
+There should be no need to modify this class unless porting
+Qt/Embedded to an operating system without a Linux-style \c /dev/dsp.
+
+\section1 QWSWindow
+
+This contains the server's notion of an individual top level window:
+the region of the framebuffer it's allocated, the client that created it
+and so forth.
+
+There should be no reason to modify this class.
+
+\section1 QWSKeyboardHandler &raquo; subtypes
+
+This handles keyboard/button input. QWSKeyboardHandler is subclassed
+to provide for reading \c /dev/tty, an arbitrary low-level USB event device
+(for USB keyboards) and some PDA button devices.
+
+Modifying QWSKeyboardHandler would allow you to support different
+types of keyboard (currently only a fairly standard US PC style
+keyboard is supported); subclassing it is the preferred way to handle
+non-pointer input devices.
+
+\section1 QWSMouseHandler &raquo; QWSCalibratedMouseHandler &raquo; mouse types
+
+This handles mouse/touch-panel input. Descendants of QWSCalibratedMouseHandler
+make use of filtering code which prevents 'jittering' of the pointer on
+touchscreens; some embedded devices do this filtering in the kernel in
+which case the driver doesn't need to inherit from QWSCalibratedMouseHandler.
+
+Subclassing QWSCalibratedMouseHandler is preferred for touch-panels without
+kernel filtering; inheriting QWSMouseHandler is the way to add any other
+type of pointing device (pen tablets, touchscreens, mice, trackballs
+and so forth).
+
+\section1 QWSDisplay
+
+This class exists only in the Qt/Embedded server and keeps track of
+all the top-level windows in the system, as well as the keyboard and mouse.
+
+You would only want to modify this if making deep and drastic
+modifications to Qt/Embedded window behaviour (alpha blended windows
+for example).
+
+\section1 QWSServer
+
+This manages the Qt/Embedded server's Unix-domain socket connections to
+clients. It sends and receives QWS protocol events and calls QWSDisplay
+in order to do such things as change the allocation region of windows.
+
+The only reason to modify this would be to use something other than
+some sort of socket-like mechanism to communicate between Qt/Embedded
+applications (in which case modify QWSClient too). If you have
+something like Unix domain sockets, modify QWSSocket/QWSServerSocket
+instead. Don't add extra QWS events to communicate between
+applications, use QCOP instead.
+
+\section1 QWSClient
+
+This encapsulates the client side of a Qt/Embedded connection and can
+marshal and demarshal events.
+
+There should be no reason to modify this except to use something
+radically different from Unix domain sockets to communicate between
+Qt/Embedded applications.
+
+\section1 QWSDisplayData
+
+This manages a client's QWSClient, reading and interpreting events
+from the QWS server. It connects to the QWS server on application
+startup, getting information about the framebuffer and creating the
+memory manager. Other information about the framebuffer comes directly
+from \c /dev/fb in QLinuxFbScreen.
+
+There should be no reason to modify this.
+
+\section1 QWSCommands
+
+These encapsulate the data sent to and from the QWS server.
+
+There should be no reason to modify them.
+
+\section1 QCopChannel
+
+QCop is a simple IPC mechanism for communication between Qt/Embedded
+applications. String messages with optional binary data can be sent
+to different channels.
+
+The mechanism itself is designed to be bare-bones in order for users
+to build whatever mechanism they like on top of it.
+
+\section1 QWSManager
+
+This provides Qt/Embedded window management, drawing a title bar
+and handling user requests to move, resize the window and so on.
+
+There should be no reason to modify it but you should subclass it
+if you want to modify window behaviour (point to click versus
+focus follows mouse, for instance).
+
+\section1 QWSDecoration
+
+Descendants of this class are different styles for the Qt/Embedded
+window manager, for instance QWSWindowsDecoration draws Qt/Embedded
+window frames in the style of Windows CE.
+
+Subclass it in order to provide a new window manager appearance (the
+equivalent of a Windows XP or Enlightenment theme).
+
+\section1 QWSPropertyManager
+
+This provides the QWS client's interface to the QWS property system
+(a simpler version of the X property system, it allows you to attach
+arbitrary data to top-level windows, keyed by an integer).
+
+There should be no reason to modify it.
+
+\section1 QWSRegionManager
+
+Used by both client and server to help manage top-level window regions.
+
+There should be no reason to modify it.
+
+\section1 QWSSocket, QWSServerSocket
+
+Provides Unix-domain sockets.
+
+Modify this if you're porting to a non-Unix OS but have something
+analogous to Unix-domain sockets (a byte-oriented, reliable, ordered
+transmission mechanism, although you can probably implement it with
+something like a message queue as well).
+
+*/
diff --git a/doc/embporting.doc b/doc/embporting.doc
new file mode 100644
index 0000000..a066a35
--- /dev/null
+++ b/doc/embporting.doc
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** An indication of Qt/Embedded porting issues
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page embedporting.html
+
+\title Issues to be aware of when porting Qt/Embedded
+
+Qt/Embedded is designed to be reasonably platform-independent. The
+only publically available version is a Linux implementation. The
+following dependencies will need to be addressed if you intend to port
+to another operating system (files that you need to modify are listed
+at the end of each section):
+
+
+\list
+
+\i <b>System V IPC</b> (shared memory and semaphores) is used to share
+window regions between client and server. You will need to provide
+something similar unless you want a single-application setup (i.e.
+running only one program, which is the server). System V semaphores
+are also used for synchronising access to the framebuffer.
+
+Modify \c qwindowsystem_qws.cpp, \c qwsregionmanager_qws.cpp, \c
+qapplication_qws.cpp, and \c qlock_qws.cpp.
+
+\i <b>Unix-domain sockets</b> are used to communicate things like
+keyboard events, requests to raise windows and QCOP messages between
+applications. Again, you will need to provide something similar unless
+you want a single-application setup. It should be possible to
+implement something like this using message queues or similar
+mechanisms; with the exception of QCOP messages (which are generated
+by client applications and not Qt/Embedded) individual messages should
+be no more than a few bytes in length.
+
+Modify \c qwssocket_qws.cpp.
+
+\i <b>The Linux framebuffer device</b> is used to map in the drawing
+area. You will need to replace it (by creating a new class of QScreen)
+with something else giving a byte pointer to a memory-mapped
+framebuffer, plus information about width, height and bit depth (which
+most likely you can simply hard-code). If your framebuffer is not
+memory-mapped or is in an unsupported format or depth you will need to
+modify QGfxRaster as well.
+
+Modify \c qgfxlinuxfb_qws.cpp.
+
+\i <b>The accelerated drivers</b> currently use the Linux QScreen and use
+\c /proc/bus/pci to map in PCI config space. However, these are only
+example drivers; you will probably need to write your own driver in
+any case, and you will need to provide your own way to map in control
+registers.
+
+Modify \c qgfxmach64_qws.cpp, \c qgfxvoodoo_qws.cpp and \c
+qgfxmatrox_qws.cpp.
+
+\i <b>Sound</b> uses a Linux \c /dev/dsp style device. If you want to use
+the Qt/Embedded sound server you'll need to reimplement it.
+
+Modify \c qsoundqss_qws.cpp.
+
+\i <b>select()</b> is used to implement QSocketDevices and listen for
+events to/from the Qt/Embedded server application.
+
+Modify \c qapplication_qws.cpp.
+
+\endlist
+
+Qt/Embedded makes use of the standard C library and some Posix functions.
+Mostly the latter are concentrated in platform dependent code anyway
+(e.g. mmap() to map in the Linux framebuffer).
+
+*/
diff --git a/doc/envvars.doc b/doc/envvars.doc
new file mode 100644
index 0000000..b2950f1
--- /dev/null
+++ b/doc/envvars.doc
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** The environment variables Qt/Embedded takes notice of
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-envvars.html
+
+\title Qt/Embedded environment variables
+
+\table
+\header \i Variable \i Notes
+
+\row
+\i QWS_SW_CURSOR
+\i If defined, always use a software mouse cursor even when using an
+accelerated driver that supports a hardware cursor
+
+\row
+\i QWS_DISPLAY
+\i Defines the display type and framebuffer, e.g.
+\c{Voodoo3 Mach64:/dev/fb1}
+Defaults to an unaccelerated Linux framebuffer driver on \c /dev/fb0.
+Valid drivers are QVfb, VGA16, LinuxFb (unaccelerated Linux framebuffer),
+Mach64 (accelerated for ATI Mach64 cards such as the Rage Pro),
+Voodoo3 (accelerated for the 3dfx Voodoo 3, should also work on Voodoo
+Banshee), Matrox (should work on all Matrox graphics cards since the
+Matrox Millennium), Transformed (for rotated displays), SVGALIB and
+VNC. Transformed displays have a special format: within the
+specification should be a multiple of 90 degrees rotation specified as
+Rot\<x\>, for instance Transformed:Rot90.
+
+\row
+\i QTDIR
+\i If defined this tells Qt/Embedded to where to find its fonts:
+fontdir should be in \c $QTDIR/etc/fonts/. If undefined it's assumed
+to be \c /usr/local/qt-embedded
+
+\row
+\i QWS_SIZE
+\i If defined forces Qt/Embedded into a window of \<width\> x
+\<height\> size centred within the screen, e.g. 320x200
+
+\row
+\i QWS_NOMTRR
+\i If defined, don't use Memory Type Range Registers to define the framebuffer
+as write-combined on x86. Write-combining speeds up graphics output.
+
+\row
+\i QWS_CARD_SLOT
+\i Tells the accelerated drivers which card to attempt to accelerate.
+This should be a path in \c /proc/bus/pci. It defaults to
+\c /proc/bus/pci/01/00.0 - the first device on the second PCI bus in the
+system, which is normally the AGP card.
+
+\row
+\i QWS_USB_KEYBOARD
+\i If defined, instead of opening \c /dev/tty open the USB low-level
+event device defined in QWS_USB_KEYBOARD (e.g. \c /dev/input/event0):
+this is useful if you wish to run X and Qt/Embedded side by side on
+different framebuffers.
+
+\row
+\i QWS_MOUSE_PROTO
+\i Defined as \<type\>:\<device\>, e.g. \c{Microsoft:/dev/ttyS0}. If you want to
+use a USB mouse directly (separate from X) use \c{MouseMan:/dev/input/mouse0}
+or similar. Valid mouse protocls are Auto (automatically sense protocol),
+MouseMan, IntelliMouse, Microsoft, QVfbMouse (only useful with QVfb)
+and TPanel, a sample touch panel driver.
+
+\row
+\i QWS_KEYBOARD
+\i Defines the keyboard type. Multiple keyboards can be handled at once,
+input will be read from all of them. Valid values:
+Buttons (an iPaq button device if QT_QWS_IPAQ is compiled, otherwise
+one for the Cassiopeia), QVfbKeyboard (only useful with QVfb),
+and TTY (either a USB keyboard or \c /dev/tty depending if QWS_USB_KEYBOARD
+is defined)
+
+\endtable
+
+*/
diff --git a/doc/faq.doc b/doc/faq.doc
new file mode 100644
index 0000000..5b097da
--- /dev/null
+++ b/doc/faq.doc
@@ -0,0 +1,427 @@
+/*!
+
+\page faq.html
+
+\title The Qt FAQ
+
+See also the \link commonproblems.html Technical FAQ\endlink.
+
+\tableofcontents
+
+<hr>
+\section1 General Questions
+
+<hr width="30%">
+\section2 What is Qt?
+
+Qt is a multiplatform C++ GUI toolkit. It
+provides application developers with all the functionality
+needed to build applications with state-of-the-art graphical
+user interfaces. Qt is fully object-oriented, easily
+extensible, and allows true component programming.
+
+Qt is supported on the following platforms:
+
+\list
+ \i <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+ \i <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+ IBM AIX, SGI IRIX and a wide range of others
+ \i <b>Macintosh</b> -- Mac OS X
+ \i <b>Embedded</b> -- Linux platforms with framebuffer support.
+\endlist
+
+It has become the emerging standard development
+environment for IT professionals who want to:
+
+\list
+ \i Write (and maintain) a single source-tree.
+ \i Port their applications to multiple platforms with a simple
+ recompilation.
+ \i Internationalize their applications.
+ \i Provide their applications with native look and feel.
+ \i Have their applications run at native speed.
+\endlist
+
+<hr width="30%">
+\section2 What is Trolltech?
+
+Trolltech is an international software company with
+headquarters in Oslo, the capital of Norway, and with offices
+in Brisbane, Australia, and Redwood City, California. Our
+flagship product is Qt, the multi-platform C++ GUI toolkit.
+
+Trolltech ASA was founded in 1994, although, the core team of designers
+started Qt's development in 1992.
+
+More details can be found at \link troll.html Trolltech\endlink.
+
+<hr width="30%">
+\section2 How can I evaluate Qt?
+
+We offer 30 day evaluation versions of Qt on all our supported platforms.
+Further details can be found here: \l http://www.trolltech.com/evaluate.html.
+
+<hr width="30%">
+\section2 What does Qt cost?
+
+This depends on your number of developers, on how many
+different platforms you target, and on the edition of Qt you
+choose. Currently we offer two different editions (Enterprise
+Edition and Professional Edition) on four different
+platforms (Microsoft Window, Unix/X11, Macintosh and Linux/embedded).
+
+We also offer discounts for academic and research institutions.
+
+Details on pricing can be found here:
+\l http://www.trolltech.com/pricing.html.
+
+<hr width="30%">
+\section2 How can I buy Qt?
+
+To purchase, please visit the <a
+href="https://webshop.trolltech.com/cgi-bin/index.cgi">Trolltech
+webshop</a>. In the webshop, you can generate a Purchase Order, order
+a Quote, or purchase directly using a credit card.
+
+For further information and assistance, please contact Trolltech sales:
+
+Email: \link mailto:sales@trolltech.com sales@trolltech.com\endlink
+Phone, US office (for North America): <strong>(+1)&nbsp;650-813-1676</strong>
+Phone, Norway office (for others): <strong>+47&nbsp;2160&nbsp;4800</strong>
+
+<hr width="30%">
+\section2 What kind of technical support is available for Qt?
+
+Trolltech offers email support to commercial licensees. The first year
+of Trolltech's Support and Maintenance Service is included with the
+purchase of Qt Professional and Qt Enterprise Edition licenses.
+Licenses can be kept up-to-date and fully supported by buying
+the Support and Maintenance Service for the licenses held in each
+subsequent year.
+
+For further information see here:
+\l http://www.trolltech.com/support/.
+
+<hr width="30%">
+\section2 Who provides training for Qt?
+
+A number of companies provide Qt training, in Asia, Europe and the US.
+Trolltech has agreements with a number of official training
+partners, who offer Trolltech approved courses. In addition
+there are a number of independently developed courses run by third
+parties. You can find more information about the partners and the
+courses here: \l http://www.trolltech.com/training/.
+
+<hr width="30%">
+\section2 Who provides consultancy for Qt?
+
+A number of companies provide consultancy services for Qt and
+Qtopia. You can find a partial list here:
+\l http://www.trolltech.com/company/servicepartners.html.
+
+<hr width="30%">
+\section2 Are there any books about Qt programming?
+
+Yes, there are quite a few books on Qt, most of them
+available from amazon.com. You can find a partial list at
+\l http://www.trolltech.com/developer/books.html.
+
+The official Qt book is
+<a href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">C++ GUI Programming with Qt 3</a>.
+
+<hr width="30%">
+\section2 What is the Open Source Edition?
+
+The Qt Open Source Edition is our non-commercial versions of
+Qt. You can use this edition to create and run free
+software, i.e. software that is licensed under the GNU GPL or
+a similarly recognized open source license.
+
+Qt Open Source edition is available for Unix/X11, Macintosh and
+Linux/embedded.
+
+<hr width="30%">
+\section2 What is the idea behind having a free version of Qt?
+
+With the Open Source Edition, Trolltech has found a way to support
+the free software concept. Part of our commitment is to enable
+those who contribute to the free software pool to do so
+without paying license fees.
+
+<hr width="30%">
+\section2 Is there a low-cost version of Qt for writing shareware?
+
+No, but Qt's commercial licenses permit you to write and sell
+shareware written with Qt.
+
+
+<hr>
+\section1 Questions about Qt's Users
+
+<hr width="30%">
+\section2 How many developers use Qt?
+
+We don't know! We can count our many thousands of commercial
+licensees, but the number of free software developers
+using Qt can only be guessed based on download figures, book
+sales, the number of open source Qt applications available on
+the web, Universities teaching with Qt, and other factors. A
+conservative estimate would put the figure at around 100,000 to
+150,000 developers world-wide.
+
+<hr width="30%">
+\section2 Which major corporations use Qt?
+
+See our list of reference customers at
+\l http://www.trolltech.com/company/customers.html. Note that many
+commercial customers do not disclose their use of Qt because they see
+Qt as a competitive advantage.
+
+<hr width="30%">
+\section2 Are there any well-known applications that use Qt?
+
+There are many, e.g. Adobe Photoshop Album from Abobe
+Corporation and the KDE desktop. A partial list can be found at
+\l http://www.trolltech.com/products/qt/apps-using-qt.html
+
+
+<hr>
+\section1 Questions about Developing Applications with Qt
+
+<hr width="30%">
+\section2 Is there a mailing list for Qt?
+
+Trolltech operates several mailing lists for Qt users including
+\c qt-announce, \c qt-interest and \c snapshot-users.
+
+See \link http://lists.trolltech.com Mailing lists\endlink.
+
+<hr width="30%">
+\section2 Is Qt's documentation available online?
+
+Yes, at \l http://doc.trolltech.com.
+
+<hr width="30%">
+\section2 Is there a technical newsletter for Qt?
+
+Yes, \link http://doc.trolltech.com/qq/index.html Qt
+Quarterly\endlink. It is a paper-based newsletter exclusively
+available to Qt licensees.
+
+As a courtesy and convenience to all our users, a selection of
+articles is also published online about one month after publication.
+
+
+<hr width="30%">
+\section2 I think I have found a bug in Qt. Where can I report it?
+
+Bugs should be reported to \link mailto:qt-bugs@trolltech.com
+qt-bugs@trolltech.com\endlink. But \e please read (the very short)
+\link bughowto.html How to Report a Bug\endlink page \e first.
+
+
+<hr>
+\section1 Questions about Professional Licensing
+
+<hr width="30%">
+\section2 We have purchased a license, but the developer is leaving the company
+project. Can we transfer the license to another developer?
+
+Yes. Qt licences are for the individual use of named developers. If
+the developer associated with a licence leaves the organization, or
+moves on to another project that does not require a Qt license,
+another developer can take over the licence. You can change the name
+of the developer using a licence at any time, but after a change you
+must wait at least six (6) months before changing again.
+
+
+<hr width="30%">
+\section2 Can I purchase floating licenses for Qt?
+
+No, we do not offer floating licenses.
+
+The reason is this: Floating licenses are based on the concept
+of defining a maximum number of concurrent users. For example,
+for a word processor, this means the maximum number of
+instances of that application that can be running at any
+time. However, for a library product like Qt, there is no main
+application that is always running when the product is being
+used. Hence, it is not possible to count the number of
+concurrent users, and therefore floating licenses do not
+make sense.
+
+
+\omit
+#if 0 // ##### Just an idea, no clue if this is policy today
+While we want to develop our software for multiple platforms, some
+of our developers will only need to work on a single platform. Can
+we purchase single packs for those?
+
+No, you can only purchase single packs as long as you target
+one platform only.
+#endif
+\endomit
+
+<hr width="30%">
+\section2 Can we use the Open Source Edition while developing our non-free
+application and then purchase commercial licenses when we start to
+sell it?
+
+No: our commercial license agreements only apply to software
+that was developed with Qt under the agreement. They do not
+apply to code that was developed with the Qt Open Source Edition
+prior to the agreement. Any software developed with Qt
+without a commercial license agreement must be released as
+free/open source software.
+
+<hr>
+\section1 Questions about Open Source Software Licensing
+
+<hr width="30%">
+\section2 I just want to run KDE and other Qt-based software on my
+machine. Can I do that with the Open Source Edition?
+
+Yes. You may use the Qt Open Source Edition for running applications,
+both at home and at work, without restrictions.
+
+<hr width="30%">
+\section2 I want to put Qt, and applications that use it, on a CD-ROM or on
+a web site. Can I do that with the Open Source Edition?
+
+Yes. You may copy and redistribute the Qt Open Source Edition, both
+at home and at work, without restrictions.
+
+<hr width="30%">
+\section2 Can I make software with the Qt Open Source Edition and release it under
+the GNU GPL, BSD, or Artistic license?
+
+Yes. The GNU GPL, GPL-compatible licenses, or any other
+approved open source license will do. The FSF.org and
+OpenSource.org web sites list approved software licenses.
+
+<hr width="30%">
+\section2 I don't want to give away my source code. What do I do?
+
+You need to buy a commercial Qt license.
+
+<hr width="30%">
+\section2 Is software based on the Qt Open Source Edition really free? Does it
+carry any Trolltech-specific license restrictions?
+
+Yes, it really is free. This is because the Qt Open Source Edition
+uses the GNU GPL, which forbids the imposition of any license
+restrictions on software based on the Open Source Edition that would
+make it non-free. And no, there are no Trolltech-specific
+license restrictions on software produced using the Open Source
+Edition.
+
+<hr width="30%">
+\section2 What if Trolltech stops releasing Open Source Editions of Qt?
+
+We have absolutely no intention of doing that. Together with
+the K Desktop Environment project, we have set up the KDE Free
+Qt Foundation (see
+\l http://www.kde.org/whatiskde/kdefreeqtfoundation.php) to
+legally guarantee the availability of Qt for free software
+development now and forever - even if circumstances beyound
+our control prevent us from producing new free editions.
+
+<hr width="30%">
+\section2 Using the Open Source Edition, can I make non-free software for internal
+use in my company/organization?
+
+No. Software developed with the Open Source Edition is always free
+software, i.e. it can only be distributed under a free
+software license. In particular, all the source code for all
+the modules your software is based on, regardless of whether
+they have been written by you or by others, must be free
+software. This is part of our commitment to the free software
+community, and enables those who contribute to the free
+software pool to do so without paying license fees.
+
+Although it is possible to write free software for internal
+use, it is difficult to ensure that such software is used and
+distributed legally. For example, if your free software
+requires any modules that impose conditions on you that
+contradict the conditions of the GNU GPL, including, but not
+limited to, software patents, commercial license agreements,
+copyrighted interface definitions or any sort of
+non-disclosure agreement, then you cannot distribute it at
+all; hence it cannot be given to consultants, employees for
+their personal computers, subsidiaries, other divisions, or
+even to new owners.
+
+Consequently we recommend using commercial licenses for all
+internal software development.
+
+
+<hr width="30%">
+\section2 Is Qt Open Source Edition really free software in the GNU meaning of the
+word?
+
+Yes - it is free software both as in "no cost" and as in
+"free speech". Even more, it is actually available under the
+terms of the GNU GPL. This means you can link GPL'ed software
+to it, and you can take code from Qt and put it into other
+GPL'ed software.
+
+<hr width="30%">
+\section2 If the Open Source Edition is GNU GPL, aren't there license conflicts
+with incompatible open source licenses? How come people can even
+run commercial software like the Opera web browser with it?
+
+If the Open Source Edition was licensed purely under the GNU GPL,
+there would be problems. However, as long as Qt-based
+software is either open source or was developed under a
+commercial license agreement with Trolltech, we grant
+permission to compile, link and run those programs with the
+Open Source Edition. This is written down in our second free software
+license, the QPL.
+
+<hr width="30%">
+\section2 Doesn't such an en extra license in addition to the GNU GPL
+violate the terms of the GPL or at least make the whole package
+GPL-incompatible?
+
+No, because those extra license terms give you rights in
+addition to those of the GNU GPL, including the right to
+remove those extra terms.
+
+<hr width="30%">
+\section2 Why is Qt Open Source Edition not distributed under the GNU Lesser
+General Public License (LGPL)?
+
+The LGPL is designed to "permit developers of non-free
+programs to use free libraries" (quote from the LGPL). In
+other words, if Qt Open Source Edition were LGPL'd, companies would
+not have to purchase our commercial editions in order to make
+commercial/proprietary software, they could just use the Open Source
+Edition, free of charge. That would mean Trolltech would not
+get the revenue necessary for improving and extending Qt.
+
+Note also that the Free Software Foundation discourages the
+use of the LGPL.
+
+
+<hr>
+\section1 Questions about other programming languages
+
+<hr width="30%">
+\section2 Are there bindings to languages other than C++?
+
+Yes there are, e.g. bindings to Perl (PerlQt) and Python
+(PyQt). These bindings were written by the open source
+community and are not supported by Trolltech.
+
+<hr width="30%">
+\section2 Can I develop commercial applications with PerlQt or PyQt or other
+Qt wrappers?
+
+Yes, if you have purchased a commercial license. The licensing
+conditions are the same whether you use the Qt API directly in
+C++, or you use it through some API wrapper in another
+programming language. All developers that write code
+containing calls to the Qt API (directly or through a wrapper)
+need Qt licenses.
+
+*/
diff --git a/doc/features.doc b/doc/features.doc
new file mode 100644
index 0000000..d049f0b
--- /dev/null
+++ b/doc/features.doc
@@ -0,0 +1,274 @@
+/****************************************************************************
+**
+** Qt feature definition file documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-features.html
+
+\title The Feature Definition File
+
+By modifying the configured \c qconfig.h file from src/tools, you
+can define a subset of the full Qt functionality that you wish to
+be available in your installation. The -qconfig option to
+configure is used to select the configuration.
+
+Note that such modification is only supported on Qt/Embedded
+platforms, where reducing the size of Qt is
+important and the application set is often fixed.
+
+The \c qconfig.h definition file simply defines macros to disable
+features. Some features are dependent on other features and these
+dependencies are expressed in \c qfeatures.h.
+
+The available options are:
+
+\table
+\header \i Macro \i Disables \i Set automatically by
+
+\header \i31 Images (\l QImageIO)
+\row \i QT_NO_IMAGEIO_BMP
+ \i Microsoft Bitmap image file format.
+ \i &nbsp;
+\row \i QT_NO_IMAGEIO_PPM
+ \i Portable Pixmap image file format.
+ \i &nbsp;
+\row \i QT_NO_IMAGEIO_XBM
+ \i X11 Bitmap image file format.
+ \i &nbsp;
+\row \i QT_NO_IMAGEIO_XPM
+ \i X11 Pixmap image file format.
+ \i &nbsp;
+\row \i QT_NO_IMAGEIO_PNG
+ \i Portable Network Graphics image file format.
+ \i &nbsp;
+
+\header \i31 Animation
+\row \i QT_NO_ASYNC_IO
+ \i Asynchronous I/O (\l QAsyncIO)
+ \i &nbsp;
+\row \i QT_NO_ASYNC_IMAGE_IO
+ \i Asynchronous Image I/O and GIF image support (\l QImageDecoder, ...)
+ \i &nbsp;
+\row \i QT_NO_MOVIE
+ \i Animation support (\l QMovie)
+ \i QT_NO_ASYNC_IO, QT_NO_ASYNC_IMAGE_IO
+
+\header \i31 Fonts
+\row \i QT_NO_TRUETYPE
+ \i TrueType (TTF and TTC) font file format, only used by Qt/Embedded.
+ \i &nbsp;
+\row \i QT_NO_BDF
+ \i Bitmap Distribution Format (BDF) font file format, only used by Qt/Embedded.
+ \i &nbsp;
+\row \i QT_NO_FONTDATABASE
+ \i Font database.
+ \i &nbsp;
+
+\header \i31 Internationalization
+\row \i QT_NO_I18N
+ \i Conversions between Unicode and 8-bit encodings.
+ \i &nbsp;
+\row \i QT_NO_UNICODETABLES
+ \i Large tables defining such things as upper and lowercase conversions
+ for all Unicode characters.
+ \i &nbsp;
+
+\header \i31 MIME
+\row \i QT_NO_MIME
+ \i Multipurpose Internet Mail Extensions, an Internet standard for encoding
+ and tagging typed data (eg. text, images, colors) (\l QMimeSource)
+ \i &nbsp;
+\row \i QT_NO_RICHTEXT
+ \i HTML-like text (\l QStyleSheet, \l QLabel)
+ \i QT_NO_MIME
+\row \i QT_NO_DRAGANDDROP
+ \i Drag-and-drop data between applications (\l QDragObject)
+ \i QT_NO_MIME
+\row \i QT_NO_CLIPBOARD
+ \i Cut-and-paste data between applications (\l QClipboard)
+ \i QT_NO_MIME
+
+\header \i31 Sound
+\row \i QT_NO_SOUND
+ \i Playing audio files (\l QSound)
+ \i &nbsp;
+
+\header \i31 Scripting
+\row \i QT_NO_PROPERTIES
+ \i Scripting Qt-based applications.
+ \i &nbsp;
+
+\header \i31 Qt/Embedded-specific
+\row \i QT_NO_QWS_CURSOR
+ \i The cursor sprite on Qt/Embedded. Pen-operated devices would not
+ normally need this feature.
+ \i &nbsp;
+\row \i QT_NO_QWS_DEPTH_8GRAYSCALE
+ \i11 8 bits per pixel: 256 levels of gray.
+ Incompatible with QWS_DEPTH_8.
+ \i &nbsp;
+\row \i QT_NO_QWS_DEPTH_8
+ \i11 8 bits per pixel: 216-color cube with 40 auxiliary colors.
+ Incompatible with QWS_DEPTH_8GRAYSCALE.
+ \i &nbsp;
+\row \i QT_NO_QWS_DEPTH_15
+ \i11 15 bits per pixel: 32 levels for each of red, green and blue.
+ \i &nbsp;
+\row \i QT_NO_QWS_DEPTH_16
+ \i11 16 bits per pixel: 64 levels of green, 32 levels for red and for blue.
+ \i &nbsp;
+\row \i QT_NO_QWS_DEPTH_32
+ \i11 32 bits per pixel: 256 levels for each of red, green and blue.
+ \i &nbsp;
+\row \i QT_NO_QWS_MACH64
+ \i Mach64 accelerated driver (demonstration only).
+ \i &nbsp;
+\row \i QT_NO_QWS_VFB
+ \i Virtual framebuffer running on X11 (see reference documentation).
+ \i &nbsp;
+
+\header \i31 Networking
+\row \i QT_NO_NETWORKPROTOCOL
+ \i Abstract multi-protocol data retrieval,
+ with local file retrieval included (\l QNetworkProtocol)
+ \i &nbsp;
+\row \i QT_NO_NETWORKPROTOCOL_FTP
+ \i FTP-protocol data retrieval.
+ \i QT_NO_NETWORKPROTOCOL
+\row \i QT_NO_NETWORKPROTOCOL_HTTP
+ \i HTTP-protocol data retrieval.
+ \i QT_NO_NETWORKPROTOCOL
+
+\header \i31 Painting/drawing
+\row \i QT_NO_COLORNAMES
+ \i Color names such as "red", used by some \l QColor constructors
+ and by some HTML documents (\l QColor, \l QStyleSheet)
+ \i &nbsp;
+\row \i QT_NO_TRANSFORMATIONS
+ \i Used by a number of classes in Qt. With this, rotation and
+ scaling are possible. Without it you can only do coordinate
+ translation (\l QWMatrix)
+ \i &nbsp;
+\row \i QT_NO_PSPRINTER
+ \i PostScript printer support.
+ \i &nbsp;
+\row \i QT_NO_PRINTER
+ \i Printer support (\l QPrinter)
+ \i QT_NO_PSPRINTER (Unix only)
+\row \i QT_NO_PICTURE
+ \i Save Qt drawing commands to a files (\l QPicture)
+ \i &nbsp;
+
+\header \i31 Widgets
+\row \i QT_NO_WIDGETS
+ \i Disabling this disables all widgets except \l QWidget.
+ \i &nbsp;
+\row \i QT_NO_TEXTVIEW
+ \i HTML document viewing (\l QTextView)
+ \i QT_NO_WIDGETS, QT_NO_RICHTEXT
+\row \i QT_NO_TEXTBROWSER
+ \i HTML document browsing (\l QTextBrowser)
+ \i QT_NO_TEXTVIEW
+\row \i QT_NO_ICONVIEW
+ \i Labelled icons (\l QIconView)
+ \i QT_NO_WIDGETS, QT_NO_DRAGANDDROP
+\row \i QT_NO_LISTVIEW
+ \i Lists of information (\l QListView)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_CANVAS
+ \i Object canvas (\l QCanvas)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_DIAL
+ \i Value control (\l QDial)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_WORKSPACE
+ \i MDI (Multiple Document Interface) (\l QWorkspace)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_LCDNUMBER
+ \i LCD-like number display (\l QLCDNumber)
+ \i QT_NO_WIDGETS
+
+\header \i31 GUI Styles
+\row \i QT_NO_STYLE_WINDOWS
+ \i Microsoft Windows style (\l QWindowsStyle)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_STYLE_MOTIF
+ \i OSF Motif style (\l QMotifStyle)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_STYLE_CDE
+ \i Open Group CDE style (\l QCDEStyle)
+ \i QT_NO_STYLE_MOTIF
+\row \i QT_NO_STYLE_AQUA
+ \i MacOS X style (\l QAquaStyle)
+\row \i QT_NO_STYLE_PLATINUM
+ \i MacOS 9 style (\l QPlatinumStyle)
+ \i QT_NO_WIDGETS
+\row \i QT_NO_STYLE_SGI
+ \i SGI style (\l QSGIStyle)
+ \i QT_NO_STYLE_MOTIF
+
+\header \i31 Dialogs
+\row \i QT_NO_DIALOGS
+ \i Disabling this disables all common dialogs \l QWidget.
+ \i QT_NO_WIDGETS
+\row \i QT_NO_FILEDIALOG
+ \i The file selection dialog (\l QFileDialog)
+ \i QT_NO_DIALOGS, QT_NO_NETWORKPROTOCOL, QT_NO_LISTVIEW
+\row \i QT_NO_FONTDIALOG
+ \i The font selection dialog (\l QFontDialog)
+ \i QT_NO_DIALOGS, QT_NO_FONTDATABASE
+\row \i QT_NO_COLORDIALOG
+ \i The color selection dialog (\l QColorDialog)
+ \i QT_NO_DIALOGS
+\row \i QT_NO_INPUTDIALOG
+ \i Text input dialog (\l QInputDialog)
+ \i QT_NO_DIALOGS
+\row \i QT_NO_MESSAGEBOX
+ \i Message/prompting dialog (\l QMessageBox)
+ \i QT_NO_DIALOGS
+\row \i QT_NO_PROGRESSDIALOG
+ \i Long-computation progress dialog (\l QProgressDialog)
+ \i QT_NO_DIALOGS
+\row \i QT_NO_TABDIALOG
+ \i Tabbed-pages dialog (\l QTabDialog)
+ \i QT_NO_DIALOGS
+\row \i QT_NO_WIZARD
+ \i Multi-step dialog (\l QWizard)
+ \i QT_NO_DIALOGS
+\endtable
+
+*/
diff --git a/doc/focus.doc b/doc/focus.doc
new file mode 100644
index 0000000..6ba2c1b
--- /dev/null
+++ b/doc/focus.doc
@@ -0,0 +1,204 @@
+/****************************************************************************
+**
+** Documentation of focus handling in Qt
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page focus.html
+
+\title Keyboard Focus Overview
+
+\keyword keyboard focus
+
+Qt's widgets handle keyboard focus in the ways that have become
+customary in GUIs.
+
+The basic issue is that the user's keystrokes can be directed at any
+of several windows on the screen, and any of several widgets inside
+the intended window. When the user presses a key, they expect it to go
+to the right place, and the software must try to meet this
+expectation. The system must determine which application the keystroke
+is directed at, which window within that application, and which widget
+within that window.
+
+\section1 Focus motion
+
+The customs which have evolved for directing keyboard focus to a
+particular widget are these:
+\list 1
+
+\i The user presses Tab (or Shift+Tab) (or sometimes Enter).
+
+\i The user clicks a widget.
+
+\i The user presses a keyboard shortcut.
+
+\i The user uses the mouse wheel.
+
+\i The user moves the focus to a window, and the application must
+determine which widget within the window should get the focus.
+
+\endlist
+
+Each of these motion mechanisms is different, and different types of
+widgets receive focus in only some of them. We'll cover each of them
+in turn.
+
+\section2 Tab or Shift+Tab.
+
+Pressing Tab is by far the most common way to move focus using the
+keyboard. Sometimes in data-entry applications Enter does the same as
+Tab. We will ignore that for the moment.
+
+Pressing Tab, in all window systems in common use today, moves the
+keyboard focus to the next widget in a circular per-window list. Tab
+moves focus along the circular list in one direction, Shift+Tab in the
+other. The order in which Tab presses move from widget to widget is
+called the tab order.
+
+In Qt, this list is kept in the \l QFocusData class. There is one
+QFocusData object per window, and widgets automatically append
+themselves to the end of it when \l QWidget::setFocusPolicy() is
+called with an appropriate \l QWidget::FocusPolicy. You can customize
+the tab order using \l QWidget::setTabOrder(). (If you don't, Tab
+generally moves focus in the order of widget construction.) \link
+designer-manual.book Qt Designer\endlink provides a means of visually
+changing the tab order.
+
+Since pressing Tab is so common, most widgets that can have focus
+should support tab focus. The major exception is widgets that are
+rarely used, and where there is some keyboard accelerator or error
+handler that moves the focus.
+
+For example, in a data entry dialog, there might be a field that is
+only necessary in one per cent of all cases. In such a dialog, Tab
+could skip this field, and the dialog could use one of these
+mechanisms:
+
+\list 1
+
+\i If the program can determine whether the field is needed, it can
+move focus there when the user finishes entry and presses OK, or when
+the user presses Enter after finishing the other fields. Alternately,
+include the field in the tab order but disable it. Enable it if it
+becomes appropriate in view of what the user has set in the other
+fields.
+
+\i The label for the field can include a keyboard shortcut that moves
+focus to this field.
+
+\endlist
+
+Another exception to Tab support is text-entry widgets that must
+support the insertion of tabs; almost all text editors fall into this
+class. Qt treats Control+Tab as Tab and Control+Shift+Tab as
+Shift+Tab, and such widgets can reimplement \l QWidget::event() and
+handle Tab before calling QWidget::event() to get normal processing of
+all other keys. However, since some systems use Control+Tab for other
+purposes, and many users aren't aware of Control+Tab anyway, this
+isn't a complete solution.
+
+\section2 The user clicks a widget.
+
+This is perhaps even more common than pressing Tab on computers with a
+mouse or other pointing device.
+
+Clicking to move the focus is slightly more powerful than Tab. While
+it moves the focus \e to a widget, for editor widgets it also moves
+the text cursor (the widget's internal focus) to the spot where the
+mouse is clicked.
+
+Since it is so common and people are used to it, it's a good idea to
+support it for most widgets. However, there is also an important
+reason to avoid it: you may not want to remove focus from the widget
+where it was.
+
+For example, in a word processor, when the user clicks the 'B' (bold)
+tool button, what should happen to the keyboard focus? Should it
+remain where it was, almost certainly in the editing widget, or should
+it move to the 'B' button?
+
+We advise supporting click-to-focus for widgets that support text
+entry, and to avoid it for most widgets where a mouse click has a
+different effect. (For buttons, we also recommend adding a keyboard
+shortcut: \l QButton and its subclasses make this very easy.)
+
+In Qt, only the \l QWidget::setFocusPolicy() function affects
+click-to-focus.
+
+\section2 The user presses a keyboard shortcut.
+
+It's not unusual for keyboard shortcuts to move the focus. This can
+happen implicitly by opening modal dialogs, but also explicitly using
+focus accelerators such as those provided by \l QLabel::setBuddy(), \l
+QGroupBox and \l QTabBar.
+
+We advise supporting shortcut focus for all widgets that the user may
+want to jump to. For example, a tab dialog can have keyboard shortcuts
+for each of its pages, so the user can press e.g. Alt+P to step to the
+<u>P</u>rinting page. But don't overdo this: there are only a few
+keys, and it's also important to provide keyboard shortcuts for
+commands. Alt+P is also used for Paste, Play, Print and Print Here in
+the \link accelerators.html standard list of shortcuts\endlink, for
+example.
+
+\section2 The user uses the mouse wheel.
+
+On Microsoft Windows, mouse wheel usage is always handled by the
+widget that has keyboard focus. On Mac OS X and X11, it's handled by
+the widget that gets other mouse events.
+
+The way Qt handles this platform difference is by letting widgets move
+the keyboard focus when the wheel is used. With the right focus policy
+on each widget, applications can work idiomatically correctly on
+Windows, Mac OS X, and X11.
+
+
+\section2 The user moves the focus to this window.
+
+In this situation the application must determine which widget within
+the window should receive the focus.
+
+This can be simple: if the focus has been in this window before, then
+the last widget to have focus should regain it. Qt does this
+automatically.
+
+If focus has never been in this window before and you know where focus
+should start out, call \l QWidget::setFocus() on the widget which
+should receive focus before you \l QWidget::show() it. If you don't,
+Qt will pick a suitable widget.
+
+*/
diff --git a/doc/framebuffer-howto.doc b/doc/framebuffer-howto.doc
new file mode 100644
index 0000000..e37c22b
--- /dev/null
+++ b/doc/framebuffer-howto.doc
@@ -0,0 +1,250 @@
+/****************************************************************************
+**
+** Windowsystem-specific pages
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-framebuffer-howto.html
+
+\title Enabling the Linux Framebuffer
+
+This is only a short guide.
+See \l file:/usr/src/linux/README and
+\l file:/usr/src/linux/Documentation/fb/ for detailed information.
+There is also a detailed explanation at
+\l http://www.linuxdoc.org/HOWTO/Framebuffer-HOWTO.html.
+
+\list 1
+\i Make sure that you have the Linux kernel source code in
+\l file:/usr/src/linux/.
+
+\i Log in as root and \c cd \c /usr/src/linux
+
+\i Configure the kernel:
+
+ Run:
+\code
+ make menuconfig
+\endcode
+
+ Select "Code maturity level options" and set "Prompt for
+ development and/or incomplete code/drivers".
+
+ Then select "Console drivers" and set "Support for frame buffer
+ devices" to built-in (even if it says EXPERIMENTAL). Then configure
+ the driver. Most modern graphics cards can use the "VESA VGA
+ graphics console"; use that or a driver that specifically matches
+ your video card. Finally, enable "Advanced low level driver options"
+ and make sure that 16 and 32 bpp packed pixel support are enabled.
+
+ When you are finished, chose exit and save.
+
+\i Compile the kernel
+
+ First do:
+\code
+ make dep
+\endcode
+ then:
+\code
+ make bzImage
+\endcode
+
+ The new kernel should now be in arch/i386/boot/bzImage.
+
+\i Copy the kernel to the boot directory:
+\code
+ cp arch/i386/boot/bzImage /boot/linux.vesafb
+\endcode
+
+\i Edit /etc/lilo.conf.
+
+ \warning Keep a backup of \l file:/etc/lilo.conf, and have a rescue disk
+ available. If you make a mistake, the machine may not boot.
+
+ The file \l file:/etc/lilo.conf specifies how the system boots. The
+ precise contents of the file varies from system to system. Here is
+ an example:
+\code
+# LILO configuration file
+boot = /dev/hda3
+delay = 30
+image = /boot/vmlinuz
+ root = /dev/hda3
+ label = Linux
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+other=/dev/hda1
+ label=nt
+ table=/dev/hda
+\endcode
+
+ Make a new "image" section that is a copy of the first one, but with
+\code
+ image = /boot/linux.vesafb
+\endcode
+ and
+\code
+ label = Linux-vesafb
+\endcode
+ Place it just above the first image section.
+
+ Add a line before the image section saying \c{vga = 791}. (Meaning
+ 1024x768, 16 bpp.)
+
+ With the above example, lilo.conf would now be:
+\code
+# LILO configuration file
+boot = /dev/hda3
+delay = 30
+vga = 791
+image = /boot/linux.vesafb
+ root = /dev/hda3
+ label = Linux-vesafb
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+image = /boot/vmlinuz
+ root = /dev/hda3
+ label = Linux
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+other=/dev/hda1
+ label=nt
+ table=/dev/hda
+\endcode
+
+Do not change any existing lines in the file; just add new ones.
+
+\i To make the new changes take effect, run the lilo program:
+\code
+ lilo
+\endcode
+
+\i Reboot the system. You should now see a penguin logo while the
+ system is booting.
+ (Or more than one on a multi-processor machine.)
+
+\i If it does not boot properly with the new kernel, you can boot with
+ the old kernel by entering the label of the old image section at
+ the LILO prompt. (with the example lilo.conf file, the old label is
+ Linux.)
+
+ If that does not work (probably because of an error in lilo.conf),
+ boot the machine using your rescue disk, restore \l
+ file:/etc/lilo.conf from backup and re-run lilo.
+
+\i Testing: Here's a short program that opens the frame buffer and draws a
+ gradient-filled red square.
+
+\code
+#include <unistd.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <linux/fb.h>
+#include <sys/mman.h>
+
+int main()
+{
+ int fbfd = 0;
+ struct fb_var_screeninfo vinfo;
+ struct fb_fix_screeninfo finfo;
+ long int screensize = 0;
+ char *fbp = 0;
+ int x = 0, y = 0;
+ long int location = 0;
+
+ // Open the file for reading and writing
+ fbfd = open("/dev/fb0", O_RDWR);
+ if (!fbfd) {
+ printf("Error: cannot open framebuffer device.\n");
+ exit(1);
+ }
+ printf("The framebuffer device was opened successfully.\n");
+
+ // Get fixed screen information
+ if (ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo)) {
+ printf("Error reading fixed information.\n");
+ exit(2);
+ }
+
+ // Get variable screen information
+ if (ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo)) {
+ printf("Error reading variable information.\n");
+ exit(3);
+ }
+
+ printf("%dx%d, %dbpp\n", vinfo.xres, vinfo.yres, vinfo.bits_per_pixel );
+
+ // Figure out the size of the screen in bytes
+ screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
+
+ // Map the device to memory
+ fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,
+ fbfd, 0);
+ if ((int)fbp == -1) {
+ printf("Error: failed to map framebuffer device to memory.\n");
+ exit(4);
+ }
+ printf("The framebuffer device was mapped to memory successfully.\n");
+
+ x = 100; y = 100; // Where we are going to put the pixel
+
+ // Figure out where in memory to put the pixel
+ for ( y = 100; y < 300; y++ )
+ for ( x = 100; x < 300; x++ ) {
+
+ location = (x+vinfo.xoffset) * (vinfo.bits_per_pixel/8) +
+ (y+vinfo.yoffset) * finfo.line_length;
+
+ if ( vinfo.bits_per_pixel == 32 ) {
+ *(fbp + location) = 100; // Some blue
+ *(fbp + location + 1) = 15+(x-100)/2; // A little green
+ *(fbp + location + 2) = 200-(y-100)/5; // A lot of red
+ *(fbp + location + 3) = 0; // No transparency
+ } else { //assume 16bpp
+ int b = 10;
+ int g = (x-100)/6; // A little green
+ int r = 31-(y-100)/16; // A lot of red
+ unsigned short int t = r<<11 | g << 5 | b;
+ *((unsigned short int*)(fbp + location)) = t;
+ }
+
+ }
+ munmap(fbp, screensize);
+ close(fbfd);
+ return 0;
+}
+\endcode
+\endlist
+
+*/
diff --git a/doc/freeeditions.doc b/doc/freeeditions.doc
new file mode 100644
index 0000000..de8520b
--- /dev/null
+++ b/doc/freeeditions.doc
@@ -0,0 +1,77 @@
+/*!
+
+\page opensourceedition.html
+
+\title Qt Open Source Edition
+
+Open source software (also called "free software") is software that comes
+with a license that gives users certain rights. In particular the right to
+use the software, to modify it, to obtain its source, and to pass it on
+(under the same terms).
+
+Trolltech supports the open source software concept by providing the Qt Open Source
+Edition. You can use this edition of Qt to create open source software, i.e.
+software that is licensed under the GNU GPL or a similarly recognized
+open source license. Trolltech's support of open source with the Qt Open Source
+Edition has enabled large successful software projects like KDE, to
+thrive, with thousands of developers around the world using the Qt Open Source
+Edition at no cost to themselves. The Qt Open Source Edition is available for
+Unix/X11, Macintosh, and embedded Linux.
+
+The Open Source Edition can be downloaded from here:
+\l http://www.trolltech.com/download/.
+
+It is also possible to develop commercial software using Qt, but to do
+so you must buy a commercial license for the \link
+commercialeditions.html Professional or Enterprise Edition\endlink. If
+you buy a commercial edition of Qt you can sell your software for any
+price and with any license you like. Thousands of commercial companies
+use commercial editions of Qt to develop the products they sell.
+
+If you use the Qt Open Source Edition, there are certain licensing
+conditions that the GNU GPL imposes on you, to ensure that your users
+enjoy the freedoms guaranteed by the GPL. Users are entitled to:
+
+\list 1
+\i Run your software for any purpose.
+\i Obtain and study your software's source code, and adapt it to their
+ needs.
+\i Redistribute your software and its source code to others (under the
+ same terms).
+\i Improve or modify your software, and release these changes to the
+ public.
+\endlist
+
+These freedoms apply to all the source code for all the modules your
+software is based on, regardless of whether they have been written by
+you or by others. The freedoms also apply to any associated interface
+definition files, and even include the scripts and control files used
+to control compilation and installation of the executable; otherwise
+users could not exercise their rights.
+
+This means that you cannot use the Qt Open Source Edition if your software
+must be built with any modules that impose conditions on you that
+contradict the conditions of the GNU GPL, including, but not limited
+to, software patents, commercial license agreements, copyrighted
+interface definitions or any sort of non-disclosure agreement. In
+these circumstances you must use a commercial edition of Qt.
+
+See the \link faq.html FAQ \endlink for answers to frequently
+asked questions on Qt Open Source Edition licensing and its implications.
+
+More information on open source software is available online:
+
+\list
+\i GNU GPL: \l http://www.gnu.org/
+\i Open source licensing: \l http://www.opensource.org/
+\endlist
+
+Information about Qt Commercial License Agreements is available at
+\l http://www.trolltech.com/pricing.html. You can also email
+<a href="mailto:sales@trolltech.com">sales@trolltech.com</a>.
+
+If you are in doubt what edition of Qt is right for your project,
+please contact
+<a href="mailto:info@trolltech.com">info@trolltech.com</a>.
+
+*/
diff --git a/doc/functions.doc b/doc/functions.doc
new file mode 100644
index 0000000..266c763
--- /dev/null
+++ b/doc/functions.doc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Documentation for class overview
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page functions.html
+
+\title Member Function Index
+
+Here is the list of all the documented member functions in the Qt
+API with links to the class documentation for each function.
+
+<p>
+\functionindex
+*/
diff --git a/doc/headers.doc b/doc/headers.doc
new file mode 100644
index 0000000..42420e8
--- /dev/null
+++ b/doc/headers.doc
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Documentation for class overview
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page headers.html
+
+\title Header File Index
+
+<p>Here are the header files that make up the Qt API:
+
+\headerfilelist
+*/
diff --git a/doc/hierarchy.doc b/doc/hierarchy.doc
new file mode 100644
index 0000000..1664efb
--- /dev/null
+++ b/doc/hierarchy.doc
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Documentation for class hierarchy
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page hierarchy.html
+
+\title Class Inheritance Hierarchy
+
+This list shows the C++ class inheritance relations between the
+classes in the Qt API.
+
+<p>The list is sorted roughly, but not completely, alphabetically.
+
+\classhierarchy
+*/
diff --git a/doc/how-to-learn-qt.doc b/doc/how-to-learn-qt.doc
new file mode 100644
index 0000000..8c5254f
--- /dev/null
+++ b/doc/how-to-learn-qt.doc
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Documentation for class hierarchy
+**
+** Copyright (C) 2001-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page how-to-learn-qt.html
+
+\title How to Learn Qt
+
+We assume that you already know C++!
+
+The best way to learn Qt is to read the official Qt book, <a
+href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">
+C++ GUI Programming with Qt 3 (ISBN 0-13-124072-2)</a>.
+\if defined(commercial)
+\footnote
+Some of the book's examples make use of modules that are only
+available in the Qt Enterprise Edition.
+\endfootnote
+\endif
+This book provides comprehensive coverage of Qt programming all the
+way from "Hello Qt" to advanced features like multithreading, 2D and
+3D graphics, networking, and XML.
+
+\l{http://www.trolltech.com/training/}{Qt and Qtopia training} is also
+available. This takes the form of open enrollment courses for the
+public and on-site training for you and your colleagues.
+
+If you can't get hold of the official book, or if you can't wait for
+it to arrive then here is our suggested learning programme.
+
+Read the \link http://www.trolltech.com/products/qt/whitepaper.html
+Qt Whitepaper\endlink first. This provides an overview of Qt's
+facilities and has snippets of code which demonstrate the Qt approach
+to programming. It gives you the 'big picture'.
+
+If you want to program purely in C++, designing your interfaces in
+code without the aid of any design tools, read the tutorials. \link
+tutorial.html Tutorial #1\endlink is designed to get you into Qt
+programming, with the emphasis on working code rather than being a
+tour of features. \link tutorial2.html Tutorial #2\endlink presents a
+more realistic example, demonstrating how to code menus, toolbars,
+file loading and saving, dialogs, etc.
+
+If you want to design your user interfaces using a design tool, then
+read at least the first few chapters of the \link designer-manual.book
+Qt Designer manual\endlink. After this, it is still worthwhile trying
+the pure C++ Tutorials (\link tutorial.html Tutorial #1\endlink and
+\link tutorial2.html Tutorial #2\endlink) mentioned above.
+
+By now you'll have produced some small working applications and have a
+broad feel for Qt programming. You could start work on your own
+projects straight away, but we recommend reading a couple of key
+overviews to deepen your understanding of Qt: the \link
+object.html Qt Object Model \endlink and \link signalsandslots.html
+Signals and Slots\endlink.
+
+At this point we recommend looking at the \link overviews-list.html
+overviews\endlink and reading those that are relevant to your
+projects. You may also find it useful to browse the source code of the
+\link examples.html examples\endlink that have things in common with
+your projects. You can also read Qt's source code since this is
+supplied.
+
+If you run the \c demo application (in \c{$QTDIR/examples/demo})
+you'll see many of Qt's widgets in action.
+
+Qt comes with extensive documentation, with hypertext cross-references
+throughout, so you can easily click your way to whatever interests
+you. The part of the documentation that you'll probably use the most
+is the \link index.html API Reference\endlink. Each link provides a
+different way of navigating the API Reference; try them all to see
+which work best for you. You might also like to try \link
+assistant.book Qt Assistant\endlink: this tool is supplied with Qt and
+provides access to the entire Qt API, and it provides a full text
+search facility. There are also a growing number of \link
+http://www.trolltech.com/developer/books.html Qt
+books\endlink.
+
+You should now be ready to ground-break: good luck, and have fun!
+
+*/
diff --git a/doc/html/3rdparty.html b/doc/html/3rdparty.html
new file mode 100644
index 0000000..dd6e4af
--- /dev/null
+++ b/doc/html/3rdparty.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/3rdparty.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>3rd Party Licenses used in Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>3rd Party Licenses used in Qt</h1>
+
+
+<p>
+<p> Run <tt>configure -help</tt> to see any options that may be available for
+controlling the use of these libraries.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Freetype 2 (freetype)
+</a>
+<li><a href="#2"> The Independent JPEG Group's JPEG software (libjpeg)
+</a>
+<li><a href="#3"> Multiple-image Network Graphics (MNG) Reference Library (libmng)
+</a>
+<li><a href="#4"> PNG reference library (libpng)
+</a>
+<li><a href="#5"> Data compression library (zlib)
+</a>
+<li><a href="#6"> Font files for Qt/Embedded
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Freetype 2 (freetype)
+</h2>
+<a name="1"></a><p> <em>The FreeType project is a team of volunteers who develop free, portable and high-quality software solutions for digital typography. We specifically target embedded systems and focus on bringing small, efficient and ubiquitous products.</em> -- quoted from <tt>3rdparty/freetype/docs/freetype2.html</tt>.
+<p> See <tt>3rdparty/freetype/docs/FIL.txt</tt> and <tt>3rdparty/freetype/docs/GPL.txt</tt> for license details.
+<p> See also the files in <tt>3rdparty/opentype</tt> which are used by
+Freetype.
+<p> <h2> The Independent JPEG Group's JPEG software (libjpeg)
+</h2>
+<a name="2"></a><p> <em>This package contains C software to implement JPEG image compression and decompression. JPEG (pronounced "jay-peg") is a standardized compression method for full-color and gray-scale images. JPEG is intended for compressing "real-world" scenes; line drawings, cartoons and other non-realistic images are not its strong suit. JPEG is lossy, meaning that the output image is not exactly identical to the input image.</em> -- quoted from <tt>3rdparty/libjpeg/README</tt>.
+<p> See <tt>3rdparty/libjpeg/README</tt> for license details.
+<p> <h2> Multiple-image Network Graphics (MNG) Reference Library (libmng)
+</h2>
+<a name="3"></a><p> <em>The libmng library supports decoding, displaying, encoding, and various other manipulations of the Multiple-image Network Graphics (MNG) format image files. It uses the zlib compression library, and optionally the JPEG library by the Independent JPEG Group (IJG) and/or lcms (little cms), a color-management library by Marti Maria Saguer.</em>
+-- quoted from <tt>3rdparty/libmng/doc/libmng.txt</tt>.
+<p> See <tt>3rdparty/libmng/LICENSE</tt> for license details.
+<p> <h2> PNG reference library (libpng)
+</h2>
+<a name="4"></a><p> <em>Libpng was written as a companion to the PNG specification, as a way of reducing the amount of time and effort it takes to support the PNG file format in application programs.</em> -- quoted from <tt>3rdparty/libpng/libpng.txt</tt>.
+<p> See <tt>3rdparty/libpng/LICENSE</tt> for license details.
+<p> <h2> Data compression library (zlib)
+</h2>
+<a name="5"></a><p> <em>zlib is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952</em> -- quoted from <tt>3rdparty/zlib/README</tt>.
+<p> See <tt>3rdparty/zlib/README</tt> for license details.
+<p> <h2> Font files for Qt/Embedded
+</h2>
+<a name="6"></a><p> <em>The Helvetica BDF font files supplied with Qt/Embedded are distributed under the following highly permissive license. We recommend that all Qt/Embedded installations that use these font files also acknowledge this contribution, and quote this license statement in an appendix to the documentation.</em> -- located in <tt>lib/fonts</tt>
+<p> Copyright 1984-1989, 1994 Adobe Systems Incorporated.
+<p> Copyright 1988, 1994 Digital Equipment Corporation.
+<p> Adobe is a trademark of Adobe Systems Incorporated which may be
+registered in certain jurisdictions.
+Permission to use these trademarks is hereby granted only in
+association with the images described in this file.
+<p> Permission to use, copy, modify, distribute and sell this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notices appear in all
+copies and that both those copyright notices and this permission
+notice appear in supporting documentation, and that the names of
+Adobe Systems and Digital Equipment Corporation not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Adobe Systems and
+Digital Equipment Corporation make no representations about the
+suitability of this software for any purpose. It is provided "as
+is" without express or implied warranty.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/aboutqt.html b/doc/html/aboutqt.html
new file mode 100644
index 0000000..603873e
--- /dev/null
+++ b/doc/html/aboutqt.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/aboutqt.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>About Qt</h1>
+
+
+
+<p> Qt is a multiplatform C++ GUI toolkit created and maintained by<a href="troll.html">Trolltech</a>. It provides application developers with
+all the functionality needed to build applications with
+state-of-the-art graphical user interfaces. Qt is fully
+object-oriented, easily extensible, and allows true component
+programming. Read the <a href="http://www.trolltech.com/products/qt/whitepaper.html">Whitepaper</a> for a comprehensive technical overview.
+<p> Since its commercial introduction in early 1996, Qt has formed the
+basis of many thousands of successful applications worldwide. Qt is
+also the basis of the popular <a href="http://www.kde.org/">KDE</a>
+Linux desktop environment, a standard component of all major Linux
+distributions. See our <a href="http://www.trolltech.com/success/">Customer Success Stories</a> for some examples of commercial Qt
+development.
+<p> Qt is supported on the following platforms:
+<ul>
+<li> <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+<li> <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+IBM AIX, SGI IRIX and a wide range of others
+<li> <b>Macintosh</b> -- Mac OS X
+<li> <b>Embedded</b> -- Linux platforms with framebuffer support.
+</ul>
+<p> Qt is released in different editions:
+<ul>
+<li> The <a href="commercialeditions.html"><b>Qt Enterprise
+Edition</a></b> and the <a href="commercialeditions.html"><b>Qt
+Professional Edition</a></b> provide for commercial software
+development. They permit traditional commercial software distribution
+and include free upgrades and Technical Support. For the latest
+prices, see the Trolltech web site, <a href="http://www.trolltech.com/pricing.html">Pricing and Availability</a>
+page, or contact <a href="mailto:sales@trolltech.com">sales@trolltech.com</a>. The Enterprise Edition offers additional
+<a href="modules.html">modules</a> compared to the Professional
+Edition.
+</ul>
+<p> <ul>
+<li> The <a href="opensourceedition.html"><b>Qt Open Source Edition</a></b> is
+available for Unix/X11, Macintosh and Embedded Linux. The Open Source Edition
+is for the development of <em>Free and Open Source software</em> only. It is provided free of charge under the terms
+of both the <a href="license.html">Q Public License</a> and the <a href="gpl.html">GNU General Public License</a>.
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/abstract-connections.png b/doc/html/abstract-connections.png
new file mode 100644
index 0000000..18d2f4e
--- /dev/null
+++ b/doc/html/abstract-connections.png
Binary files differ
diff --git a/doc/html/abstractwidgets.html b/doc/html/abstractwidgets.html
new file mode 100644
index 0000000..31942b1
--- /dev/null
+++ b/doc/html/abstractwidgets.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:554 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Abstract Widget Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Abstract Widget Classes</h1>
+
+
+<p> These classes are abstract widgets; they are generally not usable in
+themselves, but provide functionality that can be used by inheriting
+these classes.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbutton.html">QButton</a></b><td>The abstract base class of button widgets, providing functionality common to buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvas.html">QCanvas</a></b><td>2D area that can contain QCanvasItem objects
+<tr bgcolor=#f0f0f0><td><b><a href="qdialog.html">QDialog</a></b><td>The base class of dialog windows
+<tr bgcolor=#f0f0f0><td><b><a href="qframe.html">QFrame</a></b><td>The base class of widgets that can have a frame
+<tr bgcolor=#f0f0f0><td><b><a href="qgridview.html">QGridView</a></b><td>Abstract base for fixed-size grids
+<tr bgcolor=#f0f0f0><td><b><a href="qscrollview.html">QScrollView</a></b><td>Scrolling area with on-demand scroll bars
+<tr bgcolor=#f0f0f0><td><b><a href="qwidget.html">QWidget</a></b><td>The base class of all user interface objects
+<tr bgcolor=#f0f0f0><td><b><a href="qwizard.html">QWizard</a></b><td>Framework for wizard dialogs
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/accelerators.html b/doc/html/accelerators.html
new file mode 100644
index 0000000..045e18b
--- /dev/null
+++ b/doc/html/accelerators.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qaccel.cpp:984 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Standard Accelerator Keys</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Standard Accelerator Keys</h1>
+
+
+<p>
+<p> Applications invariably need to define accelerator keys for actions.
+Qt fully supports accelerators, for example with <a href="qaccel.html#shortcutKey">QAccel::shortcutKey</a>().
+<p> Here are Microsoft's recommendations for accelerator keys, with
+comments about the Open Group's recommendations where they exist
+and differ. For most commands, the Open Group either has no advice or
+agrees with Microsoft.
+<p> The emboldened letter plus Alt is Microsoft's recommended choice, and
+we recommend supporting it. For an Apply button, for example, we
+recommend <a href="qbutton.html#setText">QButton::setText</a>( <a href="qobject.html#tr">tr</a>("&amp;Apply") );
+<p> If you have conflicting commands (e.g. About and Apply buttons in the
+same dialog), you must decide for yourself.
+<p> <ul>
+<li> <b><u>A</u></b>bout
+<li> Always on <b><u>T</u></b>op
+<li> <b><u>A</u></b>pply
+<li> <b><u>B</u></b>ack
+<li> <b><u>B</u></b>rowse
+<li> <b><u>C</u></b>lose (CDE: Alt+F4; Alt+F4 is "close window" in Windows)
+<li> <b><u>C</u></b>opy (CDE: Ctrl+C, Ctrl+Insert)
+<li> <b><u>C</u></b>opy Here
+<li> Create <b><u>S</u></b>hortcut
+<li> Create <b><u>S</u></b>hortcut Here
+<li> Cu<b><u>t</u></b>
+<li> <b><u>D</u></b>elete
+<li> <b><u>E</u></b>dit
+<li> <b><u>E</u></b>xit (CDE: E<b><u>x</u></b>it)
+<li> <b><u>E</u></b>xplore
+<li> <b><u>F</u></b>ile
+<li> <b><u>F</u></b>ind
+<li> <b><u>H</u></b>elp
+<li> Help <b><u>T</u></b>opics
+<li> <b><u>H</u></b>ide
+<li> <b><u>I</u></b>nsert
+<li> Insert <b><u>O</u></b>bject
+<li> <b><u>L</u></b>ink Here
+<li> Ma<b><u>x</u></b>imize
+<li> Mi<b><u>n</u></b>imize
+<li> <b><u>M</u></b>ove
+<li> <b><u>M</u></b>ove Here
+<li> <b><u>N</u></b>ew
+<li> <b><u>N</u></b>ext
+<li> <b><u>N</u></b>o
+<li> <b><u>O</u></b>pen
+<li> Open <b><u>W</u></b>ith
+<li> Page Set<b><u>u</u></b>p
+<li> <b><u>P</u></b>aste
+<li> Paste <b><u>L</u></b>ink
+<li> Paste <b><u>S</u></b>hortcut
+<li> Paste <b><u>S</u></b>pecial
+<li> <b><u>P</u></b>ause
+<li> <b><u>P</u></b>lay
+<li> <b><u>P</u></b>rint
+<li> <b><u>P</u></b>rint Here
+<li> P<b><u>r</u></b>operties
+<li> <b><u>Q</u></b>uick View
+<li> <b><u>R</u></b>edo (CDE: Ctrl+Y, Shift+Alt+Backspace)
+<li> <b><u>R</u></b>epeat
+<li> <b><u>R</u></b>estore
+<li> <b><u>R</u></b>esume
+<li> <b><u>R</u></b>etry
+<li> <b><u>R</u></b>un
+<li> <b><u>S</u></b>ave
+<li> Save <b><u>A</u></b>s
+<li> Select <b><u>A</u></b>ll
+<li> Se<b><u>n</u></b>d To
+<li> <b><u>S</u></b>how
+<li> <b><u>S</u></b>ize
+<li> S<b><u>p</u></b>lit
+<li> <b><u>S</u></b>top
+<li> <b><u>U</u></b>ndo (CDE: Ctrl+Z or Alt+Backspace)
+<li> <b><u>V</u></b>iew
+<li> <b><u>W</u></b>hat's This?
+<li> <b><u>W</u></b>indow
+<li> <b><u>Y</u></b>es
+</ul>
+<p> There are also a lot of other keys and actions (that use other
+modifier keys than Alt). See the Microsoft and The Open Group
+documentation for details.
+<p> The <a href="http://www.amazon.com/exec/obidos/ASIN/0735605661/trolltech/t">Microsoft book</a> has ISBN 0735605661. The corresponding Open Group
+book is very hard to find, rather expensive and we cannot recommend
+it. However, if you really want it, OGPubs@opengroup.org might be able
+to help. Ask them for ISBN 1859121047.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/aclock-example.html b/doc/html/aclock-example.html
new file mode 100644
index 0000000..2c77d72
--- /dev/null
+++ b/doc/html/aclock-example.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/aclock/aclock.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Analog Clock</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Analog Clock</h1>
+
+
+<p>
+This example displays an analog clock widget.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/aclock.h 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef ACLOCK_H
+#define ACLOCK_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+
+class QTimer;
+class AnalogClock : public <a href="qwidget.html">QWidget</a> // analog clock widget
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ AnalogClock( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ void setAutoMask(bool b);
+
+protected:
+ void updateMask();
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *);
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *);
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *);
+ void drawClock( <a href="qpainter.html">QPainter</a>* );
+
+private slots:
+ void timeout();
+
+public slots:
+ void setTime( const <a href="qtime.html">QTime</a> &amp; t );
+
+private:
+ <a href="qpoint.html">QPoint</a> clickPos;
+ <a href="qtime.html">QTime</a> time;
+ <a href="qtimer.html">QTimer</a> *internalTimer;
+};
+
+
+#endif // ACLOCK_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/aclock.cpp 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "aclock.h"
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qbitmap-h.html">qbitmap.h</a>&gt;
+
+//
+// Constructs an analog clock widget that uses an internal QTimer.
+//
+
+<a name="f384"></a>AnalogClock::AnalogClock( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+<a name="x1201"></a> time = QTime::<a href="qtime.html#currentTime">currentTime</a>(); // get current time
+ internalTimer = new <a href="qtimer.html">QTimer</a>( this ); // create internal timer
+<a name="x1205"></a> <a href="qobject.html#connect">connect</a>( internalTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), SLOT(timeout()) );
+<a name="x1204"></a> internalTimer-&gt;<a href="qtimer.html#start">start</a>( 5000 ); // emit signal every 5 seconds
+}
+
+void AnalogClock::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if(<a href="qwidget.html#isTopLevel">isTopLevel</a>())
+ clickPos = e-&gt;<a href="qmouseevent.html#pos">pos</a>() + QPoint(<a href="qwidget.html#geometry">geometry</a>().topLeft() - frameGeometry().topLeft());
+}
+
+<a name="x1206"></a>void AnalogClock::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if(<a href="qwidget.html#isTopLevel">isTopLevel</a>())
+<a name="x1181"></a> <a href="qwidget.html#move">move</a>( e-&gt;<a href="qmouseevent.html#globalPos">globalPos</a>() - clickPos );
+}
+
+//
+// The QTimer::timeout() signal is received by this slot.
+//
+
+//
+// When we set an explicit time we don't want the timeout() slot to be
+// called anymore as this relies on currentTime()
+//
+void <a name="f385"></a>AnalogClock::setTime( const <a href="qtime.html">QTime</a> &amp; t )
+{
+ time = t;
+ <a href="qobject.html#disconnect">disconnect</a>( internalTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), this, SLOT(timeout()) );
+ if (<a href="qwidget.html#autoMask">autoMask</a>())
+ <a href="qwidget.html#updateMask">updateMask</a>();
+ else
+ <a href="qwidget.html#update">update</a>();
+}
+
+
+void <a name="f386"></a>AnalogClock::timeout()
+{
+ <a href="qtime.html">QTime</a> old_time = time;
+ time = QTime::<a href="qtime.html#currentTime">currentTime</a>();
+<a name="x1203"></a> if ( old_time.<a href="qtime.html#minute">minute</a>() != time.minute()
+<a name="x1202"></a> || old_time.<a href="qtime.html#hour">hour</a>() != time.hour() ) { // minute or hour has changed
+ if (<a href="qwidget.html#autoMask">autoMask</a>())
+ <a href="qwidget.html#updateMask">updateMask</a>();
+ else
+ <a href="qwidget.html#update">update</a>();
+ }
+}
+
+
+void AnalogClock::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ if ( <a href="qwidget.html#autoMask">autoMask</a>() )
+ return;
+ <a href="qpainter.html">QPainter</a> paint( this );
+<a name="x1190"></a> paint.<a href="qpainter.html#setBrush">setBrush</a>( <a href="qwidget.html#colorGroup">colorGroup</a>().foreground() );
+ drawClock( &amp;paint );
+}
+
+// If the clock is transparent, we use updateMask()
+// instead of paintEvent()
+
+void AnalogClock::updateMask() // paint clock mask
+{
+ <a href="qbitmap.html">QBitmap</a> bm( <a href="qwidget.html#size">size</a>() );
+ bm.<a href="qpixmap.html#fill">fill</a>( color0 ); //transparent
+
+ <a href="qpainter.html">QPainter</a> paint;
+<a name="x1183"></a> paint.<a href="qpainter.html#begin">begin</a>( &amp;bm, this );
+ paint.<a href="qpainter.html#setBrush">setBrush</a>( color1 ); // use non-transparent color
+ paint.<a href="qpainter.html#setPen">setPen</a>( color1 );
+
+ drawClock( &amp;paint );
+
+<a name="x1186"></a> paint.<a href="qpainter.html#end">end</a>();
+ <a href="qwidget.html#setMask">setMask</a>( bm );
+}
+
+//
+// The clock is painted using a 1000x1000 square coordinate system, in
+// the a centered square, as big as possible. The painter's pen and
+// brush colors are used.
+//
+void <a name="f387"></a>AnalogClock::drawClock( <a href="qpainter.html">QPainter</a> *paint )
+{
+<a name="x1189"></a> paint-&gt;<a href="qpainter.html#save">save</a>();
+
+<a name="x1193"></a> paint-&gt;<a href="qpainter.html#setWindow">setWindow</a>( -500,-500, 1000,1000 );
+
+<a name="x1194"></a> <a href="qrect.html">QRect</a> v = paint-&gt;<a href="qpainter.html#viewport">viewport</a>();
+ int d = QMIN( v.<a href="qrect.html#width">width</a>(), v.<a href="qrect.html#height">height</a>() );
+<a name="x1198"></a><a name="x1192"></a> paint-&gt;<a href="qpainter.html#setViewport">setViewport</a>( v.<a href="qrect.html#left">left</a>() + (v.<a href="qrect.html#width">width</a>()-d)/2,
+<a name="x1199"></a> v.<a href="qrect.html#top">top</a>() + (v.<a href="qrect.html#height">height</a>()-d)/2, d, d );
+
+ <a href="qpointarray.html">QPointArray</a> pts;
+
+ paint-&gt;<a href="qpainter.html#save">save</a>();
+<a name="x1188"></a> paint-&gt;<a href="qpainter.html#rotate">rotate</a>( 30*(time.hour()%12-3) + time.minute()/2 );
+<a name="x1196"></a> pts.setPoints( 4, -20,0, 0,-20, 300,0, 0,20 );
+<a name="x1184"></a> paint-&gt;<a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>( pts );
+<a name="x1187"></a> paint-&gt;<a href="qpainter.html#restore">restore</a>();
+
+ paint-&gt;<a href="qpainter.html#save">save</a>();
+ paint-&gt;<a href="qpainter.html#rotate">rotate</a>( (time.minute()-15)*6 );
+ pts.setPoints( 4, -10,0, 0,-10, 400,0, 0,10 );
+ paint-&gt;<a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>( pts );
+ paint-&gt;<a href="qpainter.html#restore">restore</a>();
+
+ for ( int i=0; i&lt;12; i++ ) {
+<a name="x1185"></a> paint-&gt;<a href="qpainter.html#drawLine">drawLine</a>( 440,0, 460,0 );
+ paint-&gt;<a href="qpainter.html#rotate">rotate</a>( 30 );
+ }
+
+ paint-&gt;<a href="qpainter.html#restore">restore</a>();
+}
+
+
+<a name="x1209"></a>void AnalogClock::<a href="qwidget.html#setAutoMask">setAutoMask</a>(bool b)
+{
+ if (b)
+ <a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( PaletteForeground );
+ else
+ <a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( PaletteBackground );
+ QWidget::<a href="qwidget.html#setAutoMask">setAutoMask</a>(b);
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "aclock.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ AnalogClock *clock = new AnalogClock;
+ if ( argc == 2 &amp;&amp; strcmp( argv[1], "-transparent" ) == 0 )
+<a name="x1213"></a> clock-&gt;<a href="qwidget.html#setAutoMask">setAutoMask</a>( TRUE );
+<a name="x1212"></a> clock-&gt;<a href="qwidget.html#resize">resize</a>( 100, 100 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( clock );
+<a name="x1214"></a> clock-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Analog Clock");
+<a name="x1215"></a> clock-&gt;<a href="qwidget.html#show">show</a>();
+ int result = a.<a href="qapplication.html#exec">exec</a>();
+ delete clock;
+ return result;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-dotnet.html b/doc/html/activeqt-dotnet.html
new file mode 100644
index 0000000..37a7563
--- /dev/null
+++ b/doc/html/activeqt-dotnet.html
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/dotnet/dotnet.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Walkthrough: Using Qt objects in Microsoft .NET</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Walkthrough: Using Qt objects in Microsoft .NET</h1>
+
+
+
+
+<!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<ul>
+<li><a href="#1-1"> Qt vs .NET
+</a>
+</ul>
+<li><a href="#2"> Walkthrough: .NET interop with MC++ and IJW
+</a>
+<li><a href="#3"> Walkthrough: .NET/COM Interop with ActiveQt
+</a>
+<ul>
+<li><a href="#3-1"> Starting a Project
+</a>
+<li><a href="#3-2"> Importing Qt Widgets
+</a>
+<li><a href="#3-3"> Using Qt Widgets
+</a>
+<li><a href="#3-4"> Handling Qt Signals
+</a>
+</ul>
+<li><a href="#4"> Summary
+</a>
+<ul>
+<li><a href="#4-1"> Limitations
+</a>
+<li><a href="#4-2"> Performance Considerations
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> In the following walkthrough we will show how Qt objects can be used
+in a .NET environment, and how .NET objects can be used in a Qt
+environment.
+<p> <h3> Qt vs .NET
+</h3>
+<a name="1-1"></a><p> Qt is a C++ library and is compiled into traditional, native
+binaries that make full use of the performance provided by the
+runtime environment.
+<p> One of the key concepts of .NET is the idea of "intermediate language
+code" - the source code is compiled into a bytecode format, and at
+runtime, that bytecode is executed in a virtual machine - the <em>Common Language Runtime</em> (CLR).
+<p> Another key concept is that of <em>managed code</em>. This is essentially
+intermediate language code written in such a way that the CLR can take
+care of the memory management, i.e. the CLR will do automatic garbage
+collection, so the application code does not need to explicitly free
+the memory for unused objects.
+<p> The MS compilers for C# and VB.NET will only produce managed
+code. Such programs cannot directly call normal, native functions
+or classes. <a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a>
+<p> The MS C++ compiler for .NET on the other hand, can produce both
+normal and managed code. To write a C++ class that can be compiled
+into managed code, the developer must flag the class as managed using
+the <tt>__gc</tt> keyword, and restrict the code to only use the subset of
+C++ known as "Managed Extensions for C++", or MC++ for short. The
+advantage is that MC++ code can freely call and use normal C++
+functions and classes. And it also works the other way around: normal
+C++ code can call managed functions and use managed classes (e.g. the
+entire .NET framework class library), including managed functions and
+classes implemented in C# or VB.NET. This feature of mixing managed
+and normal C++ code immensely eases the interoperability with .NET,
+and is by Microsoft referred to as the "It Just Works" (IJW) feature.
+<p> This document demonstrates two different ways of integrating normal
+C++ code (that uses Qt) with managed .NET code. First, the manual way
+is presented, which includes using a thin MC++ wrapper class around
+the normal Qt/C++ class. Then, the automated way is presented, which
+utilizes the <a href="activeqt.html#ActiveQt">ActiveQt</a> framework as a generic bridge. The advantage of
+the first method is that it gives the application developer full
+control, while the second method requires less coding and relieves the
+developer of dealing with the conversion between managed and normal
+data objects.
+<p> The impatient reader, who right away wants to see a <a href="qpushbutton.html">QPushButton</a> and a
+custom Qt widget (<a href="qaxserver-example-multiple.html">QAxWidget2</a>) run in a .NET GUI application is referred to the example
+directory of ActiveQt. It contains the result of this walkthrough
+using both C# and VB.NET, created with Visual Studio.NET (not 2003).
+Load <tt>examples/dotnet/walkthrough/csharp.csproj</tt>,
+<tt>examples/dotnet/walkthrough/vb.vbproj</tt>
+<a href="#footnote2"><sup>(2)</sup></a><a name="footnote-call2"></a>
+or <tt>examples/dotnet/wrapper/wrapper.sln</tt> into the IDE and run
+the solution.
+<p> <h2> Walkthrough: .NET interop with MC++ and IJW
+</h2>
+<a name="2"></a><p> Normal C++ classes and functions can be used from managed .NET code by
+providing thin wrapper classes written in MC++. The wrapper class will
+take care of forwarding the calls to the normal C++ functions or
+methods, and converting parameter data as necessary. Since the wrapper
+class is a managed class, it can be used without further ado in any
+managed .NET application, whether written in C#, VB.NET, MC++ or other
+managed programming language.
+<p>
+
+<pre> // native Qt/C++ class
+ class Worker : public <a href="qobject.html">QObject</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ Q_PROPERTY(QString statusString READ statusString WRITE setStatusString)
+ public:
+ Worker();
+
+ <a href="qstring.html">QString</a> statusString() const;
+
+ public slots:
+ void setStatusString(const <a href="qstring.html">QString</a> &amp;string);
+
+ signals:
+ void statusStringChanged(const <a href="qstring.html">QString</a> &amp;string);
+
+ private:
+ <a href="qstring.html">QString</a> status;
+ };
+</pre>
+<p> The Qt class has nothing unusual for Qt users, and as even the Qt
+specialities like <tt>Q_PROPERTY</tt>, <tt>slots</tt> and <tt>signals</tt> are
+implemented with straight C++ they don't cause any trouble when
+compiling this class with any C++ compiler.
+<p>
+
+<pre> class Worker;
+
+ // .NET class
+ public __gc class netWorker
+ {
+ public:
+ netWorker();
+ ~netWorker();
+
+ __property String *get_StatusString();
+ __property void set_StatusString(String *string);
+
+ __event void statusStringChanged(String *args);
+
+ private:
+ Worker *workerObject;
+ };
+</pre>
+<p> The .NET wrapper class uses keywords that are part of MC++ to indicate
+that the class is managed/garbage collected (<tt>__gc</tt>), and that <tt>StatusString</tt> should be accessible as a property in languages that
+support this concept (<tt>__property</tt>). We also declare an event
+function <tt>statusStringChanged(String*)</tt> (<tt>__event</tt>), the
+equivalent of the respective signal in the Qt class.
+<p> Before we can start implementing the wrapper class we need a way to
+convert Qt's datatypes (and potentionally your own) into .NET
+datatypes, e.g. <a href="qstring.html">QString</a> objects need to be converted into objects
+of type <tt>String*</tt>.
+<p> When operating on managed objects in normal C++ code, a little extra
+care must be taken because of the CLR's garbage collection. A normal
+pointer variable should not <a href="#footnote3"><sup>(3)</sup></a><a name="footnote-call3"></a> be used to refer to a managed
+object. The reason is that the garbage collection can kick in at any
+time and move the object to another place on the heap, leaving you
+with an invalid pointer.
+<p> However, two methods are provided that solves this problem easily. The
+first is to use a <em>pinned</em> pointer, i.e. declare the pointer variable
+with the <tt>__pin</tt> keyword. This guarantees that the object pointed to
+will not be moved by the garbage collector. It is recommended that
+this method not be used to keep a references to managed objects for a
+long time, since it will decrease the efficiency of the garbage
+collector. The second way is to use the <tt>gcroot</tt> smartpointer
+template type. This lets you create safe pointers to managed
+objects. E.g. a variable of type <tt>gcroot&lt;String&gt;</tt> will always point
+to the String object, even if it has been moved by the garbage
+collector, and it can be used just like a normal pointer.
+<p>
+
+<pre> #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+ #using &lt;mscorlib.dll&gt;
+ #include &lt;vcclr.h&gt;
+
+ using namespace System;
+
+ String *QStringToString(const <a href="qstring.html">QString</a> &amp;qstring)
+ {
+ <a name="x2467"></a> return new String(qstring.<a href="qstring.html#ucs2">ucs2</a>());
+ }
+</pre>
+<p> <pre> QString StringToQString(String *string)
+ {
+ wchar_t __pin *chars = PtrToStringChars(string);
+ return QString::fromUcs2(chars);
+ }
+</pre>
+<p> The convertor functions can then be used in the wrapper class
+implementation to call the functions in the native C++ class.
+<p>
+
+<pre> #include "networker.h"
+ #include "worker.h"
+ #include "tools.h"
+
+ netWorker::netWorker()
+ {
+ workerObject = new Worker();
+ }
+</pre>
+<p> <pre> netWorker::~netWorker()
+ {
+ delete workerObject;
+ }
+</pre>
+<p> The constructor and destructor simply create and destroy the Qt
+object wrapped using the C++ operators <tt>new</tt> and <tt>delete</tt>.
+<p> <pre> String *netWorker::get_StatusString()
+ {
+ return QStringToString(workerObject-&gt;statusString());
+ }
+</pre>
+<p> The netWorker class delegates calls from the .NET code to the native
+code. Although the transition between those two worlds implies a small
+performance hit for each function call, and for the type conversion,
+this should be negligible since we are anyway going to run within the
+CLR.
+<p> <pre> void netWorker::set_StatusString(String *string)
+ {
+ workerObject-&gt;setStatusString(StringToQString(string));
+ __raise statusStringChanged(string);
+ }
+</pre>
+<p> The property setter calls the native Qt class before firing the
+event using the <tt>__raise</tt> keyword.
+<p> This wrapper class can now be used in .NET code, e.g. using C++, C#,
+Visual Basic or any other programming language available for .NET.
+<p>
+
+<pre> using System;
+
+ namespace WrapperApp
+ {
+ class App
+ {
+ void Run()
+ {
+ netWorker worker = new netWorker();
+
+ worker.statusStringChanged += new netWorker.__Delegate_statusStringChanged(onStatusStringChanged);
+
+ System.Console.Out.WriteLine(worker.StatusString);
+
+ System.Console.Out.WriteLine("Working cycle begins...");
+ worker.StatusString = "Working";
+ worker.StatusString = "Lunch Break";
+ worker.StatusString = "Working";
+ worker.StatusString = "Idle";
+ System.Console.Out.WriteLine("Working cycle ends...");
+ }
+
+ private void onStatusStringChanged(string str)
+ {
+ System.Console.Out.WriteLine(str);
+ }
+
+ [STAThread]
+ static void Main(string[] args)
+ {
+ App app = new App();
+ app.Run();
+ }
+ }
+ }
+</pre>
+<p> <h2> Walkthrough: .NET/COM Interop with ActiveQt
+</h2>
+<a name="3"></a><p> Fortunately .NET provides a generic wrapper for COM objects, the
+<em>Runtime Callable Wrapper</em> (RCW). This RCW is a proxy for the
+COM object and is generated by the CLR when a .NET Framework client
+activates a COM object. This provides a generic way to reuse COM
+objects in a .NET Framework project.
+<p> Making a <a href="qobject.html">QObject</a> class into a COM object is easily achieved with
+ActiveQt and demonstrated in the <a href="qaxserver-examples.html">examples</a>. The walkthrough will use the Qt classes implemented
+in those examples, so the first thing to do is to make sure that those
+examples have been built correctly, e.g. by opening the <a href="qaxserver-demo-multiple.html">demonstration pages</a> in Internet
+Explorer to verify that the controls are functional.
+<p> <h3> Starting a Project
+</h3>
+<a name="3-1"></a><p> Start Visual Studio.NET, and create a new C# project for writing a
+Windows application. This will present you with an empty form in
+Visual Studio's dialog editor. You should see the toolbox, which
+presents you with a number of available controls and objects in
+different categories. If you right-click on the toolbox it allows
+you to add new tabs. We will add the tab "Qt".
+<p> <h3> Importing Qt Widgets
+</h3>
+<a name="3-2"></a><p> The category only has a pointer tool by default, and we have to add
+the Qt objects we want to use in our form. Right-click on the empty
+space, and select "Customize". This opens a dialog that has two
+tabs, "COM Components" and ".NET Framework Components". We used
+ActiveQt to wrap QWidgets into COM objects, so we select the "COM
+Components" page, and look for the classes we want to use, e.g.
+"QPushButton" and "QAxWidget2".
+<p> When we select those widgets and close the dialog the two widgets
+will now be available from the toolbox as grey squares with their
+name next to it <a href="#footnote4"><sup>(4)</sup></a><a name="footnote-call4"></a> .
+<p> <h3> Using Qt Widgets
+</h3>
+<a name="3-3"></a><p> We can now add an instance of QAxWidget2 and a <a href="qpushbutton.html">QPushButton</a> to
+the form. Visual Studio will automatically generate the RCW for the
+object servers. The QAxWidget2 instance takes most of the upper
+part of the form, with the QPushButton in the lower right corner.
+<p> In the property editor of Visual Studio we can modify the properties
+of our controls - QPushButton exposes the <a href="qwidget.html">QWidget</a> API and has many
+properties, while QAxWidget2 has only the Visual Studio standard
+properties in addition to its own property "lineWidth" in the
+"Miscellaneous" category. The objects are named "axQPushButton1" and
+"axQAxWidget21", and since especially the last name is a bit
+confusing we rename the objects to "resetButton" and "circleWidget".
+<p> We can also change the Qt properties, e.g. set the "text" property
+of the <tt>resetButton</tt> to "Reset", and the "lineWidth" property of the
+<tt>circleWidget</tt> to 5. We can also put those objects into the layout
+system that Visual Studio's dialog editor provides, e.g. by setting
+the anchors of the <tt>circleWidget</tt> to "Left, Top, Right, Bottom", and
+the anchors of the <tt>resetButton</tt> to "Bottom, Right".
+<p> Now we can compile and start the project, which will open a user
+interface with our two Qt widgets. If we can resize the dialog,
+the widgets will resize appropriately.
+<p> <h3> Handling Qt Signals
+</h3>
+<a name="3-4"></a><p> We will now implement event handlers for the widgets. Select the
+<tt>circleWidget</tt> and select the "Events" page in the property
+editor. The widget exposes events because the QAxWidget2 class has
+the "StockEvents" attribute set in its class definition. We implement
+the event handler <tt>circleClicked</tt> for the <tt>ClickEvent</tt> to increase
+the line width by one for every click:
+<p>
+
+<pre> private void circleClicked(object sender, System.EventArgs e)
+ {
+ this.circleWidget.lineWidth++;
+ }
+</pre>
+<p> In general we can implement a default event handler by double
+clicking on the widget in the form, but the default events for
+our widgets are right now not defined.
+<p> We will also implement an event handler for the <tt>clicked</tt> signal
+emitted by <a href="qpushbutton.html">QPushButton</a>. Add the event handler <tt>resetLineWidth</tt> to
+the <tt>clicked</tt> event, and implement the generated function:
+<p> <pre> private void resetLineWidth(object sender, System.EventArgs e)
+ {
+ this.circleWidget.lineWidth = 1;
+ this.resetButton.setFocus();
+ }
+</pre>
+<p> We reset the property to 1, and also call the <tt>setFocus()</tt> slot
+to simulate the user style on Windows, where a button grabs focus
+when you click it (so that you can click it again with the spacebar).
+<p> If we now compile and run the project we can click on the circle
+widget to increase its line width, and press the reset button to
+set the line width back to 1.
+<p> <h2> Summary
+</h2>
+<a name="4"></a><p> Using ActiveQt as a universal interoperability bridge between the
+.NET world and the native world of Qt is very easy, and makes it
+often unnecessary to implement a lot of handwritten wrapper classes.
+Instead, the <a href="qaxfactory.html">QAxFactory</a> implementation in the otherwise completely
+cross-platform Qt project provides the glue that .NET needs to to
+generate the RCW.
+<p> If this is not sufficient we can implement our own wrapper classes
+thanks to the C++ extensions provided by Microsoft.
+<p> <h3> Limitations
+</h3>
+<a name="4-1"></a><p> All the limitations when using ActiveQt are implied when using this
+technique to interoperate with .NET, e.g. the datatypes we can use
+in the APIs can only be those supported by ActiveQt and COM. However,
+since this includes subclasses of <a href="qobject.html">QObject</a> and <a href="qwidget.html">QWidget</a> we can wrap
+any of our datatypes into a QObject subclass to make its API
+available to .NET. This has the positive side effect that the same
+API is automatically available in <a href="http://www.trolltech.com/products/qsa">QSA</a>, the cross platform
+scripting solution for Qt applications, and to COM clients in general.
+<p> When using the "IJW" method, in priciple the only limitation is the
+time required to write the wrapper classes and data type conversion
+functions.
+<p> <h3> Performance Considerations
+</h3>
+<a name="4-2"></a><p> Every call from CLR bytecode to native code implies a small
+performance hit, and necessary type conversions introduce an
+additional delay with every layer that exists between the two
+frameworks. Consequently every approach to mix .NET and native
+code should try to minimize the communication necessary between
+the different worlds.
+<p> As ActiveQt introduces three layers at once - the RCW, COM and finally
+ActiveQt itself - the performance penalty when using the generic
+Qt/ActiveQt/COM/RCW/.NET bridge is larger than when using a
+hand-crafted IJW-wrapper class. The execution speed however is still
+sufficient for connecting to and modifying interactive elements in a
+user interface, and as soon as the benefit of using Qt and C++ to
+implement and compile performance critical algorithms into native code
+kicks in, ActiveQt becomes a valid choice for making even non-visual
+parts of your application accessible to .NET.
+<p>
+<hr>
+<ol> <li><a name="footnote1"></a>
+The .NET framework provides Platform Invocation
+Services - P/Invoke - that enable managed code to call native C (not
+C++) functions located in DLLs directly. The resulting application
+then becomes partially unmanaged. <a href="#footnote-call1">Back...</a> <li><a name="footnote2"></a>
+
+You will notice that in the generated code the following line is
+commented out: <pre>
+ ' VB is case insensitive, but our C++ controls are not.
+ ' Me.resetButton.enabled = True
+ </pre>
+
+This line is regenerated without comment whenever you change the
+dialog, in which case you have to comment it out again to be able
+to run the project. This is a bug in the original version of
+Visual Studio.NET, and is fixed in the 2003 edition.
+ <a href="#footnote-call2">Back...</a> <li><a name="footnote3"></a>
+Indeed, the compiler will in
+many cases disallow it. <a href="#footnote-call3">Back...</a> <li><a name="footnote4"></a>
+Icons could be added by modifying the
+way the controls register themselves. <a href="#footnote-call4">Back...</a></ol>
+</hr><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-examples.html b/doc/html/activeqt-examples.html
new file mode 100644
index 0000000..62dad2b
--- /dev/null
+++ b/doc/html/activeqt-examples.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/examples.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>ActiveQt Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>ActiveQt Examples</h1>
+
+
+The following pages list example programs for using ActiveX controls
+in a Qt application, and for writing ActiveX controls using Qt.
+<p> <ul>
+<li> <a href="qaxcontainer-examples.html">QAxContainer Examples</a>
+<li> <a href="qaxserver-examples.html">QAxServer Examples</a>
+</ul>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-tools-dumpdoc.html b/doc/html/activeqt-tools-dumpdoc.html
new file mode 100644
index 0000000..5f9477c
--- /dev/null
+++ b/doc/html/activeqt-tools-dumpdoc.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/tools/dumpdoc/dumpdoc.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The DumpDoc Tool</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The DumpDoc Tool</h1>
+
+
+
+The <tt>dumpcoc</tt> tool generates Qt-style documentation for any
+COM object and writes it into the file specified.
+<p> Call <tt>dumpdoc</tt> with the following command line parameters:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Option
+<th valign="top">Result
+<tr bgcolor="#f0f0f0">
+<td valign="top">-o file
+<td valign="top">Writes output to <em>file</em>
+<tr bgcolor="#d0d0d0">
+<td valign="top">object
+<td valign="top">Generate documentation for <em>object</em>
+<tr bgcolor="#f0f0f0">
+<td valign="top">-v
+<td valign="top">Print version information
+<tr bgcolor="#d0d0d0">
+<td valign="top">-h
+<td valign="top">Print help
+</table></center>
+<p> <em>object</em> must be an object installed on the local machine (ie.
+remote objects are not supported), and can include subobjects
+accessible through properties, ie.
+<tt>Outlook.Application/Session/CurrentUser</tt>
+<p> The generated file will be an HTML file using Qt documentation
+style.
+<p> To build the tool you must first build the
+<a href="qaxcontainer.html">QAxContainer</a> library.
+Then run your make tool in <tt>tools/dumpdoc</tt>.
+<p>See also <a href="activeqt-tools.html">ActiveQt Tools</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-tools-idc.html b/doc/html/activeqt-tools-idc.html
new file mode 100644
index 0000000..74259c4
--- /dev/null
+++ b/doc/html/activeqt-tools-idc.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/tools/idc/idc.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The IDC Tool</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The IDC Tool</h1>
+
+
+
+The IDC tool is part of the <a href="activeqt.html#ActiveQt">ActiveQt</a> build system and makes
+it possible to turn any Qt binary into a full COM object server
+with only a few lines of code.
+<p> IDC understands the following command line parameters:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Option
+<th valign="top">Result
+<tr bgcolor="#f0f0f0">
+<td valign="top">dll -idl idl -version x.y
+<td valign="top">Writes the IDL of the server <em>dll</em> to the file <em>idl</em>. The
+type library wll have version x.y.
+<tr bgcolor="#d0d0d0">
+<td valign="top">dll -tlb tlb
+<td valign="top">Replaces the type library in <em>dll</em> with <em>tlb</em>
+<tr bgcolor="#f0f0f0">
+<td valign="top">-v
+<td valign="top">Print version information
+<tr bgcolor="#d0d0d0">
+<td valign="top">-regserver dll
+<td valign="top">Register the COM server <em>dll</em>
+<tr bgcolor="#f0f0f0">
+<td valign="top">-unregserver
+<td valign="top">Unregister the COM server <em>dll</em>
+</table></center>
+<p> It is usually never necessary to invoke IDC manually, as the
+<tt>qmake</tt> build system takes care of adding the required post
+processing steps to the build process. See the
+<a href="qaxserver.html#4">ActiveQt build system</a>
+documentation for details.
+<p>See also <a href="activeqt-tools.html">ActiveQt Tools</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-tools-testcon.html b/doc/html/activeqt-tools-testcon.html
new file mode 100644
index 0000000..09a4204
--- /dev/null
+++ b/doc/html/activeqt-tools-testcon.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/tools/testcon/testcon.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>An ActiveX Test Container</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>An ActiveX Test Container</h1>
+
+
+
+This application implements a generic test container for ActiveX
+controls. You can insert ActiveX controls installed on your
+system, and execute methods and modify properties. The container
+will log information about events and property changes as well
+as debug output in the log window.
+<p> The GUI has been implemented utilizing the Qt Designer integration
+of the QAxContainer module. Parts of the code use internals of the Qt
+<a href="metaobjects.html#meta-object">meta object</a> and <a href="activeqt.html#ActiveQt">ActiveQt</a> framework and are not recommended to be used in
+application code.
+<p> Use the application to view the slots, signals and porperties
+available through the <a href="qaxwidget.html">QAxWidget</a> class when instantiated with a
+certain ActiveX, and to test ActiveX controls you implement or
+want to use in your Qt application.
+<p> The application can load and execute script files in JavaScript,
+VBScript, Perl and Python to program the controls loaded. Example
+script files using the QAxWidget2 class are available in the <tt>scripts</tt>
+subdirectory.
+<p> Note that the qmake project of this example includes a resource file
+<tt>testcon.rc</tt> with a version resource. This is required by some
+ActiveX controls (ie. Shockwave ActiveX Controls), which might crash
+or misbehave otherwise if such version information is missing.
+<p> To build the tool you must first build the
+<a href="qaxcontainer.html">QAxContainer</a> library.
+Then run your make tool in <tt>tools/testcon</tt> and
+run the resulting <tt>testcon.exe</tt>.
+<p>See also <a href="activeqt-tools.html">ActiveQt Tools</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt-tools.html b/doc/html/activeqt-tools.html
new file mode 100644
index 0000000..f110bbf
--- /dev/null
+++ b/doc/html/activeqt-tools.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/tools/tools.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>ActiveQt Tools</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>ActiveQt Tools</h1>
+
+
+The following page list tool programs for <a href="activeqt.html#ActiveQt">ActiveQt</a>.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="activeqt-tools-dumpdoc.html">The DumpDoc Tool</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="activeqt-tools-idc.html">The IDC Tool</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="activeqt-tools-testcon.html">An ActiveX Test Container</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/activeqt.html b/doc/html/activeqt.html
new file mode 100644
index 0000000..903e196
--- /dev/null
+++ b/doc/html/activeqt.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/doc/index.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The ActiveQt framework</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The ActiveQt framework</h1>
+
+
+<p> <!-- index ActiveQt --><a name="ActiveQt"></a>
+<p> These modules are part of the <a href="commercialeditions.html">Qt
+ Enterprise Edition</a> and are <em>not</em> part of the Free or
+Non-Commercial Editions.
+<p> Qt's ActiveX support allows Qt/Windows developers to:
+<ol type=1>
+<li> Access and use ActiveX controls provided by any ActiveX server
+in their Qt applications.
+<li> Make their Qt applications available as ActiveX servers, with
+any number of Qt widgets as ActiveX controls.
+</ol>
+<p> <h2> ActiveQt Modules
+</h2>
+<a name="1"></a><p> The framework consists of two modules.
+<p> <h3> QAxContainer
+</h3>
+<a name="1-1"></a><p> The <a href="qaxcontainer.html">QAxContainer module</a> is a static
+library implementing <a href="qobject.html">QObject</a> and <a href="qwidget.html">QWidget</a> subclasses, <a href="qaxobject.html">QAxObject</a> and
+<a href="qaxwidget.html">QAxWidget</a>, that act as a containers for COM objects and ActiveX
+controls. If built against a shared Qt library <a href="qaxwidget.html">QAxWidget</a> integrates
+as a widget plugin into <a href="designer-manual.html">Qt Designer</a>.
+<p> The module also provides classes <a href="qaxscript.html">QAxScript</a>, <a href="qaxscriptmanager.html">QAxScriptManager</a> and
+<a href="qaxscriptengine.html">QAxScriptEngine</a> that allow using Windows Script Host technologies to
+script COM objects embedded in the Qt applications.
+<p> <a href="qaxcontainer-examples.html">Examples</a> include a
+web browser application embedding Microsoft Internet Explorer, and an
+address book example synchronizing the contents with Microsoft
+Outlook.
+<p> <h3> QAxServer
+</h3>
+<a name="1-2"></a><p> The <a href="qaxserver.html">QAxServer module</a> is a
+static library that implements functionality for in-process and
+executable COM servers. This module provides the <a href="qaxaggregated.html">QAxAggregated</a>,
+<a href="qaxbindable.html">QAxBindable</a> and <a href="qaxfactory.html">QAxFactory</a> classes.
+<p> <a href="qaxserver-examples.html">Examples</a> include in- and
+out-of-process servers providing different <a href="qwidget.html">QWidget</a> subclasses as
+ActiveX controls, as well as a <a href="activeqt-dotnet.html">walkthrough</a> how to use those objects in a .NET environment.
+<p> <h2> Additional Information
+</h2>
+<a name="2"></a><p> <ul>
+<li> <a href="activeqt-tools.html">ActiveQt Tools</a>.
+<li> <a href="activeqt-examples.html">ActiveQt Examples</a>.
+</ul>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/addressbook-example.html b/doc/html/addressbook-example.html
new file mode 100644
index 0000000..98cd357
--- /dev/null
+++ b/doc/html/addressbook-example.html
@@ -0,0 +1,666 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/addressbook/addressbook.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Simple Addressbook</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple Addressbook</h1>
+
+
+<p>
+This examples shows how to write a very simple, but complete application
+using an addressbook as the example.
+<p> <hr>
+<p> Header file of the mainwindow:
+<p> <pre>/****************************************************************************
+** $Id: qt/mainwindow.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef AB_MAINWINDOW_H
+#define AB_MAINWINDOW_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+class QToolBar;
+class QPopupMenu;
+class ABCentralWidget;
+
+class ABMainWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ABMainWindow();
+ ~ABMainWindow();
+
+protected slots:
+ void fileNew();
+ void fileOpen();
+ void fileSave();
+ void fileSaveAs();
+ void filePrint();
+ void closeWindow();
+
+protected:
+ void setupMenuBar();
+ void setupFileTools();
+ void setupStatusBar();
+ void setupCentralWidget();
+
+ <a href="qtoolbar.html">QToolBar</a> *fileTools;
+ <a href="qstring.html">QString</a> filename;
+ ABCentralWidget *view;
+
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the mainwindow:
+<p> <pre>/****************************************************************************
+** $Id: qt/mainwindow.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "mainwindow.h"
+#include "centralwidget.h"
+
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+
+<a name="f263"></a>ABMainWindow::ABMainWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "example addressbook application" ),
+ filename( <a href="qstring.html#QString-null">QString::null</a> )
+{
+ setupMenuBar();
+ setupFileTools();
+ setupStatusBar();
+ setupCentralWidget();
+}
+
+
+ABMainWindow::~ABMainWindow()
+{
+}
+
+void <a name="f264"></a>ABMainWindow::setupMenuBar()
+{
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+
+<a name="x569"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "New", this, SLOT( fileNew() ), CTRL + Key_N );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QPixmap( "fileopen.xpm" ), "Open", this, SLOT( fileOpen() ), CTRL + Key_O );
+<a name="x570"></a> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QPixmap( "filesave.xpm" ), "Save", this, SLOT( fileSave() ), CTRL + Key_S );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save As...", this, SLOT( fileSaveAs() ) );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QPixmap( "fileprint.xpm" ), "Print...", this, SLOT( filePrint() ), CTRL + Key_P );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Close", this, SLOT( closeWindow() ), CTRL + Key_W );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Quit", qApp, SLOT( <a href="qapplication.html#quit">quit</a>() ), CTRL + Key_Q );
+}
+
+void <a name="f265"></a>ABMainWindow::setupFileTools()
+{
+ //fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+}
+
+void <a name="f266"></a>ABMainWindow::setupStatusBar()
+{
+ //statusBar()-&gt;message( "Ready", 2000 );
+}
+
+void <a name="f267"></a>ABMainWindow::setupCentralWidget()
+{
+ view = new ABCentralWidget( this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( view );
+}
+
+void <a name="f268"></a>ABMainWindow::closeWindow()
+{
+ <a href="qwidget.html#close">close</a>();
+}
+
+void <a name="f269"></a>ABMainWindow::fileNew()
+{
+}
+
+void <a name="f270"></a>ABMainWindow::fileOpen()
+{
+<a name="x567"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null, this );
+<a name="x571"></a> if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ view-&gt;load( filename );
+ }
+}
+
+void <a name="f271"></a>ABMainWindow::fileSave()
+{
+ if ( filename.isEmpty() ) {
+ fileSaveAs();
+ return;
+ }
+
+ view-&gt;save( filename );
+}
+
+void <a name="f272"></a>ABMainWindow::fileSaveAs()
+{
+<a name="x568"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ fileSave();
+ }
+}
+
+void <a name="f273"></a>ABMainWindow::filePrint()
+{
+}
+</pre>
+
+<p> <hr>
+<p> Header file of the centralwidget:
+<p> <pre>/****************************************************************************
+** $Id: qt/centralwidget.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef AB_CENTRALWIDGET_H
+#define AB_CENTRALWIDGET_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+class QTabWidget;
+class QListView;
+class QGridLayout;
+class QLineEdit;
+class QPushButton;
+class QListViewItem;
+class QCheckBox;
+
+class ABCentralWidget : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+
+public:
+ ABCentralWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name = 0 );
+
+ void save( const <a href="qstring.html">QString</a> &amp;filename );
+ void load( const <a href="qstring.html">QString</a> &amp;filename );
+
+protected slots:
+ void addEntry();
+ void changeEntry();
+ void itemSelected( <a href="qlistviewitem.html">QListViewItem</a>* );
+ void selectionChanged();
+ void toggleFirstName();
+ void toggleLastName();
+ void toggleAddress();
+ void toggleEMail();
+ void findEntries();
+
+protected:
+ void setupTabWidget();
+ void setupListView();
+
+ <a href="qgridlayout.html">QGridLayout</a> *mainGrid;
+ <a href="qtabwidget.html">QTabWidget</a> *tabWidget;
+ <a href="qlistview.html">QListView</a> *listView;
+ <a href="qpushbutton.html">QPushButton</a> *add, *change, *find;
+ <a href="qlineedit.html">QLineEdit</a> *iFirstName, *iLastName, *iAddress, *iEMail,
+ *sFirstName, *sLastName, *sAddress, *sEMail;
+ <a href="qcheckbox.html">QCheckBox</a> *cFirstName, *cLastName, *cAddress, *cEMail;
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the centralwidget:
+<p> <pre>/****************************************************************************
+** $Id: qt/centralwidget.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "centralwidget.h"
+
+#include &lt;<a href="qtabwidget-h.html">qtabwidget.h</a>&gt;
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+
+<a name="f274"></a>ABCentralWidget::ABCentralWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ mainGrid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 1, 5, 5 );
+
+ setupTabWidget();
+ setupListView();
+
+<a name="x579"></a> mainGrid-&gt;<a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 0, 0 );
+ mainGrid-&gt;<a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 1, 1 );
+}
+
+void <a name="f275"></a>ABCentralWidget::save( const <a href="qstring.html">QString</a> &amp;filename )
+{
+<a name="x590"></a> if ( !listView-&gt;<a href="qlistview.html#firstChild">firstChild</a>() )
+ return;
+
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) )
+ return;
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+<a name="x603"></a> t.<a href="qtextstream.html#setEncoding">setEncoding</a>(QTextStream::UnicodeUTF8);
+
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( listView );
+
+<a name="x597"></a> for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it )
+ for ( unsigned int i = 0; i &lt; 4; i++ )
+ t &lt;&lt; it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( i ) &lt;&lt; "\n";
+
+ f.<a href="qfile.html#close">close</a>();
+}
+
+void <a name="f276"></a>ABCentralWidget::load( const <a href="qstring.html">QString</a> &amp;filename )
+{
+<a name="x586"></a> listView-&gt;<a href="qlistview.html#clear">clear</a>();
+
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>(QTextStream::UnicodeUTF8);
+
+<a name="x601"></a> while ( !t.<a href="qtextstream.html#atEnd">atEnd</a>() ) {
+ <a href="qlistviewitem.html">QListViewItem</a> *item = new <a href="qlistviewitem.html">QListViewItem</a>( listView );
+ for ( unsigned int i = 0; i &lt; 4; i++ )
+<a name="x602"></a><a name="x595"></a> item-&gt;<a href="qlistviewitem.html#setText">setText</a>( i, t.<a href="qtextstream.html#readLine">readLine</a>() );
+ }
+
+ f.<a href="qfile.html#close">close</a>();
+}
+
+void <a name="f277"></a>ABCentralWidget::setupTabWidget()
+{
+ tabWidget = new <a href="qtabwidget.html">QTabWidget</a>( this );
+
+ <a href="qwidget.html">QWidget</a> *input = new <a href="qwidget.html">QWidget</a>( tabWidget );
+ <a href="qgridlayout.html">QGridLayout</a> *grid1 = new <a href="qgridlayout.html">QGridLayout</a>( input, 2, 5, 5, 5 );
+
+ <a href="qlabel.html">QLabel</a> *liFirstName = new <a href="qlabel.html">QLabel</a>( "First &amp;Name", input );
+<a name="x604"></a><a name="x581"></a> liFirstName-&gt;<a href="qwidget.html#resize">resize</a>( liFirstName-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+<a name="x578"></a> grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( liFirstName, 0, 0 );
+
+ <a href="qlabel.html">QLabel</a> *liLastName = new <a href="qlabel.html">QLabel</a>( "&amp;Last Name", input );
+ liLastName-&gt;<a href="qwidget.html#resize">resize</a>( liLastName-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( liLastName, 0, 1 );
+
+ <a href="qlabel.html">QLabel</a> *liAddress = new <a href="qlabel.html">QLabel</a>( "Add&amp;ress", input );
+ liAddress-&gt;<a href="qwidget.html#resize">resize</a>( liAddress-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( liAddress, 0, 2 );
+
+ <a href="qlabel.html">QLabel</a> *liEMail = new <a href="qlabel.html">QLabel</a>( "&amp;E-Mail", input );
+ liEMail-&gt;<a href="qwidget.html#resize">resize</a>( liEMail-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( liEMail, 0, 3 );
+
+ add = new <a href="qpushbutton.html">QPushButton</a>( "A&amp;dd", input );
+<a name="x599"></a><a name="x598"></a> add-&gt;<a href="qwidget.html#resize">resize</a>( add-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( add, 0, 4 );
+ <a href="qobject.html#connect">connect</a>( add, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( addEntry() ) );
+
+ iFirstName = new <a href="qlineedit.html">QLineEdit</a>( input );
+<a name="x583"></a> iFirstName-&gt;<a href="qwidget.html#resize">resize</a>( iFirstName-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( iFirstName, 1, 0 );
+<a name="x580"></a> liFirstName-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( iFirstName );
+
+ iLastName = new <a href="qlineedit.html">QLineEdit</a>( input );
+ iLastName-&gt;<a href="qwidget.html#resize">resize</a>( iLastName-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( iLastName, 1, 1 );
+ liLastName-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( iLastName );
+
+ iAddress = new <a href="qlineedit.html">QLineEdit</a>( input );
+ iAddress-&gt;<a href="qwidget.html#resize">resize</a>( iAddress-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( iAddress, 1, 2 );
+ liAddress-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( iAddress );
+
+ iEMail = new <a href="qlineedit.html">QLineEdit</a>( input );
+ iEMail-&gt;<a href="qwidget.html#resize">resize</a>( iEMail-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( iEMail, 1, 3 );
+ liEMail-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( iEMail );
+
+ change = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Change", input );
+ change-&gt;<a href="qwidget.html#resize">resize</a>( change-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid1-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( change, 1, 4 );
+ <a href="qobject.html#connect">connect</a>( change, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( changeEntry() ) );
+
+<a name="x600"></a> tabWidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( input, "&amp;Add/Change Entry" );
+
+ // --------------------------------------
+
+ <a href="qwidget.html">QWidget</a> *search = new <a href="qwidget.html">QWidget</a>( this );
+ <a href="qgridlayout.html">QGridLayout</a> *grid2 = new <a href="qgridlayout.html">QGridLayout</a>( search, 2, 5, 5, 5 );
+
+ cFirstName = new <a href="qcheckbox.html">QCheckBox</a>( "First &amp;Name", search );
+<a name="x575"></a> cFirstName-&gt;<a href="qwidget.html#resize">resize</a>( cFirstName-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cFirstName, 0, 0 );
+ <a href="qobject.html#connect">connect</a>( cFirstName, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( toggleFirstName() ) );
+
+ cLastName = new <a href="qcheckbox.html">QCheckBox</a>( "&amp;Last Name", search );
+ cLastName-&gt;<a href="qwidget.html#resize">resize</a>( cLastName-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cLastName, 0, 1 );
+ <a href="qobject.html#connect">connect</a>( cLastName, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( toggleLastName() ) );
+
+ cAddress = new <a href="qcheckbox.html">QCheckBox</a>( "Add&amp;ress", search );
+ cAddress-&gt;<a href="qwidget.html#resize">resize</a>( cAddress-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cAddress, 0, 2 );
+ <a href="qobject.html#connect">connect</a>( cAddress, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( toggleAddress() ) );
+
+ cEMail = new <a href="qcheckbox.html">QCheckBox</a>( "&amp;E-Mail", search );
+ cEMail-&gt;<a href="qwidget.html#resize">resize</a>( cEMail-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cEMail, 0, 3 );
+ <a href="qobject.html#connect">connect</a>( cEMail, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( toggleEMail() ) );
+
+ sFirstName = new <a href="qlineedit.html">QLineEdit</a>( search );
+ sFirstName-&gt;<a href="qwidget.html#resize">resize</a>( sFirstName-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( sFirstName, 1, 0 );
+
+ sLastName = new <a href="qlineedit.html">QLineEdit</a>( search );
+ sLastName-&gt;<a href="qwidget.html#resize">resize</a>( sLastName-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( sLastName, 1, 1 );
+
+ sAddress = new <a href="qlineedit.html">QLineEdit</a>( search );
+ sAddress-&gt;<a href="qwidget.html#resize">resize</a>( sAddress-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( sAddress, 1, 2 );
+
+ sEMail = new <a href="qlineedit.html">QLineEdit</a>( search );
+ sEMail-&gt;<a href="qwidget.html#resize">resize</a>( sEMail-&gt;<a href="qlineedit.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( sEMail, 1, 3 );
+
+ find = new <a href="qpushbutton.html">QPushButton</a>( "F&amp;ind", search );
+ find-&gt;<a href="qwidget.html#resize">resize</a>( find-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>() );
+ grid2-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( find, 1, 4 );
+ <a href="qobject.html#connect">connect</a>( find, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( findEntries() ) );
+
+<a name="x574"></a> cFirstName-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+<a name="x605"></a> sFirstName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ sLastName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ sAddress-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ sEMail-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+
+ tabWidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( search, "&amp;Search" );
+
+ mainGrid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( tabWidget, 0, 0 );
+}
+
+void <a name="f278"></a>ABCentralWidget::setupListView()
+{
+ listView = new <a href="qlistview.html">QListView</a>( this );
+<a name="x585"></a> listView-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "First Name" );
+ listView-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Last Name" );
+ listView-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Address" );
+ listView-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "E-Mail" );
+
+<a name="x592"></a> listView-&gt;<a href="qlistview.html#setSelectionMode">setSelectionMode</a>( QListView::Single );
+
+<a name="x588"></a> <a href="qobject.html#connect">connect</a>( listView, SIGNAL( <a href="qlistview.html#clicked">clicked</a>( <a href="qlistviewitem.html">QListViewItem</a>* ) ), this, SLOT( itemSelected( <a href="qlistviewitem.html">QListViewItem</a>* ) ) );
+
+ mainGrid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( listView, 1, 0 );
+<a name="x591"></a> listView-&gt;<a href="qlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</a>( TRUE );
+}
+
+void <a name="f279"></a>ABCentralWidget::addEntry()
+{
+<a name="x584"></a> if ( !iFirstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iLastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ||
+ !iAddress-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iEMail-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ) {
+ <a href="qlistviewitem.html">QListViewItem</a> *item = new <a href="qlistviewitem.html">QListViewItem</a>( listView );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 0, iFirstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 1, iLastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 2, iAddress-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 3, iEMail-&gt;<a href="qlineedit.html#text">text</a>() );
+ }
+
+<a name="x582"></a> iFirstName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iLastName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iAddress-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iEMail-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+}
+
+void <a name="f280"></a>ABCentralWidget::changeEntry()
+{
+<a name="x589"></a> <a href="qlistviewitem.html">QListViewItem</a> *item = listView-&gt;<a href="qlistview.html#currentItem">currentItem</a>();
+
+ if ( item &amp;&amp;
+ ( !iFirstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iLastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ||
+ !iAddress-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iEMail-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ) ) {
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 0, iFirstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 1, iLastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 2, iAddress-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 3, iEMail-&gt;<a href="qlineedit.html#text">text</a>() );
+ }
+}
+
+void <a name="f281"></a>ABCentralWidget::selectionChanged()
+{
+ iFirstName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iLastName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iAddress-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iEMail-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+}
+
+void <a name="f282"></a>ABCentralWidget::itemSelected( <a href="qlistviewitem.html">QListViewItem</a> *item )
+{
+ if ( !item )
+ return;
+<a name="x594"></a> item-&gt;<a href="qlistviewitem.html#setSelected">setSelected</a>( TRUE );
+<a name="x593"></a> item-&gt;<a href="qlistviewitem.html#repaint">repaint</a>();
+
+<a name="x596"></a> iFirstName-&gt;<a href="qlineedit.html#setText">setText</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>( 0 ) );
+ iLastName-&gt;<a href="qlineedit.html#setText">setText</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>( 1 ) );
+ iAddress-&gt;<a href="qlineedit.html#setText">setText</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>( 2 ) );
+ iEMail-&gt;<a href="qlineedit.html#setText">setText</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>( 3 ) );
+}
+
+void <a name="f283"></a>ABCentralWidget::toggleFirstName()
+{
+ sFirstName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+
+<a name="x573"></a> if ( cFirstName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ sFirstName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+<a name="x606"></a> sFirstName-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ }
+ else
+ sFirstName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+
+void <a name="f284"></a>ABCentralWidget::toggleLastName()
+{
+ sLastName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+
+ if ( cLastName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ sLastName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ sLastName-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ }
+ else
+ sLastName-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+
+void <a name="f285"></a>ABCentralWidget::toggleAddress()
+{
+ sAddress-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+
+ if ( cAddress-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ sAddress-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ sAddress-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ }
+ else
+ sAddress-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+
+void <a name="f286"></a>ABCentralWidget::toggleEMail()
+{
+ sEMail-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+
+ if ( cEMail-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ sEMail-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ sEMail-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ }
+ else
+ sEMail-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+
+void <a name="f287"></a>ABCentralWidget::findEntries()
+{
+ if ( !cFirstName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() &amp;&amp;
+ !cLastName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() &amp;&amp;
+ !cAddress-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() &amp;&amp;
+ !cEMail-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+<a name="x587"></a> listView-&gt;<a href="qlistview.html#clearSelection">clearSelection</a>();
+ return;
+ }
+
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( listView );
+
+ for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it ) {
+ bool select = TRUE;
+
+ if ( cFirstName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ if ( select &amp;&amp; it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 0 ).contains( sFirstName-&gt;<a href="qlineedit.html#text">text</a>() ) )
+ select = TRUE;
+ else
+ select = FALSE;
+ }
+ if ( cLastName-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ if ( select &amp;&amp; it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 1 ).contains( sLastName-&gt;<a href="qlineedit.html#text">text</a>() ) )
+ select = TRUE;
+ else
+ select = FALSE;
+ }
+ if ( cAddress-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ if ( select &amp;&amp; it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 2 ).contains( sAddress-&gt;<a href="qlineedit.html#text">text</a>() ) )
+ select = TRUE;
+ else
+ select = FALSE;
+ }
+ if ( cEMail-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ if ( select &amp;&amp; it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 3 ).contains( sEMail-&gt;<a href="qlineedit.html#text">text</a>() ) )
+ select = TRUE;
+ else
+ select = FALSE;
+ }
+
+ if ( select )
+ it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;setSelected( TRUE );
+ else
+ it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;setSelected( FALSE );
+ it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;repaint();
+ }
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include "mainwindow.h"
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ABMainWindow *mw = new ABMainWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Addressbook" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( mw );
+<a name="x611"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+
+<a name="x609"></a><a name="x608"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL( <a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>() ), &amp;a, SLOT( <a href="qapplication.html#quit">quit</a>() ) );
+ int result = a.<a href="qapplication.html#exec">exec</a>();
+ delete mw;
+ return result;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/advanced.html b/doc/html/advanced.html
new file mode 100644
index 0000000..90a0d12
--- /dev/null
+++ b/doc/html/advanced.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:546 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Advanced Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Advanced Widgets</h1>
+
+
+<p> These classes provide more complex user interface controls (widgets).
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qchecklistitem.html">QCheckListItem</a></b><td>Checkable list view items
+<tr bgcolor=#f0f0f0><td><b><a href="qchecktableitem.html">QCheckTableItem</a></b><td>Checkboxes in QTables
+<tr bgcolor=#f0f0f0><td><b><a href="qcombotableitem.html">QComboTableItem</a></b><td>Means of using comboboxes in QTables
+<tr bgcolor=#f0f0f0><td><b><a href="qdateedit.html">QDateEdit</a></b><td>Date editor
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetimeedit.html">QDateTimeEdit</a></b><td>Combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes
+<tr bgcolor=#f0f0f0><td><b><a href="qdesktopwidget.html">QDesktopWidget</a></b><td>Access to screen information on multi-head systems
+<tr bgcolor=#f0f0f0><td><b><a href="qheader.html">QHeader</a></b><td>Header row or column, e.g. for tables and listviews
+<tr bgcolor=#f0f0f0><td><b><a href="qiconfactory.html">QIconFactory</a></b><td>Used to create pixmaps for a QIconSet
+<tr bgcolor=#f0f0f0><td><b><a href="qiconview.html">QIconView</a></b><td>Area with movable labelled icons
+<tr bgcolor=#f0f0f0><td><b><a href="qiconviewitem.html">QIconViewItem</a></b><td>Single item in a QIconView
+<tr bgcolor=#f0f0f0><td><b><a href="qlistbox.html">QListBox</a></b><td>List of selectable, read-only items
+<tr bgcolor=#f0f0f0><td><b><a href="qlistboxpixmap.html">QListBoxPixmap</a></b><td>List box items with a pixmap and optional text
+<tr bgcolor=#f0f0f0><td><b><a href="qlistboxtext.html">QListBoxText</a></b><td>List box items that display text
+<tr bgcolor=#f0f0f0><td><b><a href="qlistview.html">QListView</a></b><td>Implements a list/tree view
+<tr bgcolor=#f0f0f0><td><b><a href="qlistviewitem.html">QListViewItem</a></b><td>Implements a list view item
+<tr bgcolor=#f0f0f0><td><b><a href="qlistviewitemiterator.html">QListViewItemIterator</a></b><td>Iterator for collections of QListViewItems
+<tr bgcolor=#f0f0f0><td><b><a href="qmultilineedit.html">QMultiLineEdit</a></b><td>Simple editor for inputting text
+<tr bgcolor=#f0f0f0><td><b><a href="qprogressbar.html">QProgressBar</a></b><td>Horizontal progress bar
+<tr bgcolor=#f0f0f0><td><b><a href="qtab.html">QTab</a></b><td>The structures in a QTabBar
+<tr bgcolor=#f0f0f0><td><b><a href="qtabbar.html">QTabBar</a></b><td>Tab bar, e.g. for use in tabbed dialogs
+<tr bgcolor=#f0f0f0><td><b><a href="qtable.html">QTable</a></b><td>Flexible editable table widget
+<tr bgcolor=#f0f0f0><td><b><a href="qtableitem.html">QTableItem</a></b><td>The cell content for QTable cells
+<tr bgcolor=#f0f0f0><td><b><a href="qtableselection.html">QTableSelection</a></b><td>Access to a selected area in a QTable
+<tr bgcolor=#f0f0f0><td><b><a href="qtabwidget.html">QTabWidget</a></b><td>Stack of tabbed widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qtextbrowser.html">QTextBrowser</a></b><td>Rich text browser with hypertext navigation
+<tr bgcolor=#f0f0f0><td><b><a href="qtimeedit.html">QTimeEdit</a></b><td>Time editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbox.html">QToolBox</a></b><td>Column of tabbed widget items
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
new file mode 100644
index 0000000..a911283
--- /dev/null
+++ b/doc/html/annotated.html
@@ -0,0 +1,464 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/annotated.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Annotated Class Index</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Annotated Class Index</h1>
+
+
+
+<p> <p>Qt's classes with brief descriptions:
+<p> <p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaccel.html">QAccel</a></b><td>Handles keyboard accelerator and shortcut keys
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessible.html">QAccessible</a></b><td>Enums and static functions relating to accessibility
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessibleinterface.html">QAccessibleInterface</a></b><td>Defines an interface that exposes information about accessible objects
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessibleobject.html">QAccessibleObject</a></b><td>Implements parts of the QAccessibleInterface for QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qaction.html">QAction</a></b><td>Abstract user interface action that can appear both in menus and tool bars
+<tr bgcolor=#f0f0f0><td><b><a href="qactiongroup.html">QActionGroup</a></b><td>Groups actions together
+<tr bgcolor=#f0f0f0><td><b><a href="qapplication.html">QApplication</a></b><td>Manages the GUI application's control flow and main settings
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicache.html">QAsciiCache</a></b><td>Template class that provides a cache based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicacheiterator.html">QAsciiCacheIterator</a></b><td>Iterator for QAsciiCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidict.html">QAsciiDict</a></b><td>Template class that provides a dictionary based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidictiterator.html">QAsciiDictIterator</a></b><td>Iterator for QAsciiDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qassistantclient.html">QAssistantClient</a></b><td>Means of using Qt Assistant as an application's help tool
+<tr bgcolor=#f0f0f0><td><b><a href="qaxaggregated.html">QAxAggregated</a></b><td>Abstract base class for implementations of additional COM interfaces
+<tr bgcolor=#f0f0f0><td><b><a href="qaxbase.html">QAxBase</a></b><td>Abstract class that provides an API to initalize and access a COM object
+<tr bgcolor=#f0f0f0><td><b><a href="qaxbindable.html">QAxBindable</a></b><td>Interface between a QWidget and an ActiveX client
+<tr bgcolor=#f0f0f0><td><b><a href="qaxfactory.html">QAxFactory</a></b><td>Defines a factory for the creation of COM components
+<tr bgcolor=#f0f0f0><td><b><a href="qaxobject.html">QAxObject</a></b><td>QObject that wraps a COM object
+<tr bgcolor=#f0f0f0><td><b><a href="qaxscript.html">QAxScript</a></b><td>Wrapper around script code
+<tr bgcolor=#f0f0f0><td><b><a href="qaxscriptengine.html">QAxScriptEngine</a></b><td>Wrapper around a script engine
+<tr bgcolor=#f0f0f0><td><b><a href="qaxscriptmanager.html">QAxScriptManager</a></b><td>Bridge between application objects and script code
+<tr bgcolor=#f0f0f0><td><b><a href="qaxwidget.html">QAxWidget</a></b><td>QWidget that wraps an ActiveX control
+<tr bgcolor=#f0f0f0><td><b><a href="qbig5codec.html">QBig5Codec</a></b><td>Conversion to and from the Big5 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qbig5hkscscodec.html">QBig5hkscsCodec</a></b><td>Conversion to and from the Big5-HKSCS encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qbitarray.html">QBitArray</a></b><td>Array of bits
+<tr bgcolor=#f0f0f0><td><b><a href="qbitval.html">QBitVal</a></b><td>Internal class, used with QBitArray
+<tr bgcolor=#f0f0f0><td><b><a href="qbitmap.html">QBitmap</a></b><td>Monochrome (1-bit depth) pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qboxlayout.html">QBoxLayout</a></b><td>Lines up child widgets horizontally or vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qbrush.html">QBrush</a></b><td>Defines the fill pattern of shapes drawn by a QPainter
+<tr bgcolor=#f0f0f0><td><b><a href="qbuffer.html">QBuffer</a></b><td>I/O device that operates on a QByteArray
+<tr bgcolor=#f0f0f0><td><b><a href="qbutton.html">QButton</a></b><td>The abstract base class of button widgets, providing functionality common to buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qbuttongroup.html">QButtonGroup</a></b><td>Organizes QButton widgets in a group
+<tr bgcolor=#f0f0f0><td><b><a href="qbytearray.html">QByteArray</a></b><td>Array of bytes
+<tr bgcolor=#f0f0f0><td><b><a href="qcdestyle.html">QCDEStyle</a></b><td>CDE look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qcstring.html">QCString</a></b><td>Abstraction of the classic C zero-terminated char array (char *)
+<tr bgcolor=#f0f0f0><td><b><a href="qcache.html">QCache</a></b><td>Template class that provides a cache based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qcacheiterator.html">QCacheIterator</a></b><td>Iterator for QCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvas.html">QCanvas</a></b><td>2D area that can contain QCanvasItem objects
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasellipse.html">QCanvasEllipse</a></b><td>Ellipse or ellipse segment on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitem.html">QCanvasItem</a></b><td>Abstract graphic object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitemlist.html">QCanvasItemList</a></b><td>List of QCanvasItems
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasline.html">QCanvasLine</a></b><td>Line on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmap.html">QCanvasPixmap</a></b><td>Pixmaps for QCanvasSprites
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a></b><td>Array of QCanvasPixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygon.html">QCanvasPolygon</a></b><td>Polygon on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a></b><td>Polygonal canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasrectangle.html">QCanvasRectangle</a></b><td>Rectangle on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasspline.html">QCanvasSpline</a></b><td>Multi-bezier splines on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvassprite.html">QCanvasSprite</a></b><td>Animated canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvastext.html">QCanvasText</a></b><td>Text object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasview.html">QCanvasView</a></b><td>On-screen view of a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qchar.html">QChar</a></b><td>Lightweight Unicode character
+<tr bgcolor=#f0f0f0><td><b><a href="qcharref.html">QCharRef</a></b><td>Helper class for QString
+<tr bgcolor=#f0f0f0><td><b><a href="qcheckbox.html">QCheckBox</a></b><td>Checkbox with a text label
+<tr bgcolor=#f0f0f0><td><b><a href="qchecklistitem.html">QCheckListItem</a></b><td>Checkable list view items
+<tr bgcolor=#f0f0f0><td><b><a href="qchecktableitem.html">QCheckTableItem</a></b><td>Checkboxes in QTables
+<tr bgcolor=#f0f0f0><td><b><a href="qchildevent.html">QChildEvent</a></b><td>Event parameters for child object events
+<tr bgcolor=#f0f0f0><td><b><a href="qclipboard.html">QClipboard</a></b><td>Access to the window system clipboard
+<tr bgcolor=#f0f0f0><td><b><a href="qcloseevent.html">QCloseEvent</a></b><td>Parameters that describe a close event
+<tr bgcolor=#f0f0f0><td><b><a href="qcolor.html">QColor</a></b><td>Colors based on RGB or HSV values
+<tr bgcolor=#f0f0f0><td><b><a href="qcolordialog.html">QColorDialog</a></b><td>Dialog widget for specifying colors
+<tr bgcolor=#f0f0f0><td><b><a href="qcolordrag.html">QColorDrag</a></b><td>Drag and drop object for transferring colors
+<tr bgcolor=#f0f0f0><td><b><a href="qcolorgroup.html">QColorGroup</a></b><td>Group of widget colors
+<tr bgcolor=#f0f0f0><td><b><a href="qcombobox.html">QComboBox</a></b><td>Combined button and popup list
+<tr bgcolor=#f0f0f0><td><b><a href="qcombotableitem.html">QComboTableItem</a></b><td>Means of using comboboxes in QTables
+<tr bgcolor=#f0f0f0><td><b><a href="qcommonstyle.html">QCommonStyle</a></b><td>Encapsulates the common Look and Feel of a GUI
+<tr bgcolor=#f0f0f0><td><b><a href="qconststring.html">QConstString</a></b><td>String objects using constant Unicode data
+<tr bgcolor=#f0f0f0><td><b><a href="qcontextmenuevent.html">QContextMenuEvent</a></b><td>Parameters that describe a context menu event
+<tr bgcolor=#f0f0f0><td><b><a href="qcopchannel.html">QCopChannel</a></b><td>Communication capabilities between several clients
+<tr bgcolor=#f0f0f0><td><b><a href="qcursor.html">QCursor</a></b><td>Mouse cursor with an arbitrary shape
+<tr bgcolor=#f0f0f0><td><b><a href="qcustomevent.html">QCustomEvent</a></b><td>Support for custom events
+<tr bgcolor=#f0f0f0><td><b><a href="qcustommenuitem.html">QCustomMenuItem</a></b><td>Abstract base class for custom menu items in popup menus
+<tr bgcolor=#f0f0f0><td><b><a href="qdatabrowser.html">QDataBrowser</a></b><td>Data manipulation and navigation for data entry forms
+<tr bgcolor=#f0f0f0><td><b><a href="qdatastream.html">QDataStream</a></b><td>Serialization of binary data to a QIODevice
+<tr bgcolor=#f0f0f0><td><b><a href="qdatatable.html">QDataTable</a></b><td>Flexible SQL table widget that supports browsing and editing
+<tr bgcolor=#f0f0f0><td><b><a href="qdataview.html">QDataView</a></b><td>Read-only SQL forms
+<tr bgcolor=#f0f0f0><td><b><a href="qdate.html">QDate</a></b><td>Date functions
+<tr bgcolor=#f0f0f0><td><b><a href="qdateedit.html">QDateEdit</a></b><td>Date editor
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetime.html">QDateTime</a></b><td>Date and time functions
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetimeedit.html">QDateTimeEdit</a></b><td>Combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetimeeditbase.html">QDateTimeEditBase</a></b><td>Abstraction for date and edit editors
+<tr bgcolor=#f0f0f0><td><b><a href="qdeepcopy.html">QDeepCopy</a></b><td>Template class which ensures that <a href="shclass.html#implicitly-shared">implicitly shared</a> and <a href="shclass.html#explicitly-shared">explicitly shared</a> classes reference unique data
+<tr bgcolor=#f0f0f0><td><b><a href="qdesktopwidget.html">QDesktopWidget</a></b><td>Access to screen information on multi-head systems
+<tr bgcolor=#f0f0f0><td><b><a href="qdial.html">QDial</a></b><td>Rounded range control (like a speedometer or potentiometer)
+<tr bgcolor=#f0f0f0><td><b><a href="qdialog.html">QDialog</a></b><td>The base class of dialog windows
+<tr bgcolor=#f0f0f0><td><b><a href="qdict.html">QDict</a></b><td>Template class that provides a dictionary based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qdictiterator.html">QDictIterator</a></b><td>Iterator for QDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qdir.html">QDir</a></b><td>Access to directory structures and their contents in a platform-independent way
+<tr bgcolor=#f0f0f0><td><b><a href="qdirectpainter.html">QDirectPainter</a></b><td>Direct access to the video hardware
+<tr bgcolor=#f0f0f0><td><b><a href="qdns.html">QDns</a></b><td>Asynchronous DNS lookups
+<tr bgcolor=#f0f0f0><td><b><a href="qdockarea.html">QDockArea</a></b><td>Manages and lays out QDockWindows
+<tr bgcolor=#f0f0f0><td><b><a href="qdockwindow.html">QDockWindow</a></b><td>Widget which can be docked inside a QDockArea or floated as a top level window on the desktop
+<tr bgcolor=#f0f0f0><td><b><a href="qdomattr.html">QDomAttr</a></b><td>Represents one attribute of a QDomElement
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcdatasection.html">QDomCDATASection</a></b><td>Represents an XML CDATA section
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcharacterdata.html">QDomCharacterData</a></b><td>Represents a generic string in the DOM
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcomment.html">QDomComment</a></b><td>Represents an XML comment
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocument.html">QDomDocument</a></b><td>Represents an XML document
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocumentfragment.html">QDomDocumentFragment</a></b><td>Tree of QDomNodes which is not usually a complete QDomDocument
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocumenttype.html">QDomDocumentType</a></b><td>The representation of the DTD in the document tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomelement.html">QDomElement</a></b><td>Represents one element in the DOM tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomentity.html">QDomEntity</a></b><td>Represents an XML entity
+<tr bgcolor=#f0f0f0><td><b><a href="qdomentityreference.html">QDomEntityReference</a></b><td>Represents an XML entity reference
+<tr bgcolor=#f0f0f0><td><b><a href="qdomimplementation.html">QDomImplementation</a></b><td>Information about the features of the DOM implementation
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnamednodemap.html">QDomNamedNodeMap</a></b><td>Collection of nodes that can be accessed by name
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnode.html">QDomNode</a></b><td>The base class for all the nodes in a DOM tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnodelist.html">QDomNodeList</a></b><td>List of QDomNode objects
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnotation.html">QDomNotation</a></b><td>Represents an XML notation
+<tr bgcolor=#f0f0f0><td><b><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a></b><td>Represents an XML processing instruction
+<tr bgcolor=#f0f0f0><td><b><a href="qdomtext.html">QDomText</a></b><td>Represents text data in the parsed XML document
+<tr bgcolor=#f0f0f0><td><b><a href="qdoublevalidator.html">QDoubleValidator</a></b><td>Range checking of floating-point numbers
+<tr bgcolor=#f0f0f0><td><b><a href="qdragenterevent.html">QDragEnterEvent</a></b><td>Event which is sent to the widget when a drag and drop first drags onto the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragleaveevent.html">QDragLeaveEvent</a></b><td>Event which is sent to the widget when a drag and drop leaves the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragmoveevent.html">QDragMoveEvent</a></b><td>Event which is sent while a drag and drop is in progress
+<tr bgcolor=#f0f0f0><td><b><a href="qdragobject.html">QDragObject</a></b><td>Encapsulates MIME-based data transfer
+<tr bgcolor=#f0f0f0><td><b><a href="qdropevent.html">QDropEvent</a></b><td>Event which is sent when a drag and drop is completed
+<tr bgcolor=#f0f0f0><td><b><a href="qeditorfactory.html">QEditorFactory</a></b><td>Used to create editor widgets for QVariant data types
+<tr bgcolor=#f0f0f0><td><b><a href="qerrormessage.html">QErrorMessage</a></b><td>Error message display dialog
+<tr bgcolor=#f0f0f0><td><b><a href="qeucjpcodec.html">QEucJpCodec</a></b><td>Conversion to and from EUC-JP character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qeuckrcodec.html">QEucKrCodec</a></b><td>Conversion to and from EUC-KR character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qevent.html">QEvent</a></b><td>The base class of all event classes. Event objects contain event parameters
+<tr bgcolor=#f0f0f0><td><b><a href="qeventloop.html">QEventLoop</a></b><td>Manages the event queue
+<tr bgcolor=#f0f0f0><td><b><a href="qfile.html">QFile</a></b><td>I/O device that operates on files
+<tr bgcolor=#f0f0f0><td><b><a href="qfiledialog.html">QFileDialog</a></b><td>Dialogs that allow users to select files or directories
+<tr bgcolor=#f0f0f0><td><b><a href="qfileiconprovider.html">QFileIconProvider</a></b><td>Icons for QFileDialog to use
+<tr bgcolor=#f0f0f0><td><b><a href="qfileinfo.html">QFileInfo</a></b><td>System-independent file information
+<tr bgcolor=#f0f0f0><td><b><a href="qfilepreview.html">QFilePreview</a></b><td>File previewing in QFileDialog
+<tr bgcolor=#f0f0f0><td><b><a href="qfocusdata.html">QFocusData</a></b><td>Maintains the list of widgets in the focus chain
+<tr bgcolor=#f0f0f0><td><b><a href="qfocusevent.html">QFocusEvent</a></b><td>Event parameters for widget focus events
+<tr bgcolor=#f0f0f0><td><b><a href="qfont.html">QFont</a></b><td>Font used for drawing text
+<tr bgcolor=#f0f0f0><td><b><a href="qfontdatabase.html">QFontDatabase</a></b><td>Information about the fonts available in the underlying window system
+<tr bgcolor=#f0f0f0><td><b><a href="qfontdialog.html">QFontDialog</a></b><td>Dialog widget for selecting a font
+<tr bgcolor=#f0f0f0><td><b><a href="qfontinfo.html">QFontInfo</a></b><td>General information about fonts
+<tr bgcolor=#f0f0f0><td><b><a href="qfontmanager.html">QFontManager</a></b><td>Implements font management in Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qfontmetrics.html">QFontMetrics</a></b><td>Font metrics information
+<tr bgcolor=#f0f0f0><td><b><a href="qframe.html">QFrame</a></b><td>The base class of widgets that can have a frame
+<tr bgcolor=#f0f0f0><td><b><a href="qftp.html">QFtp</a></b><td>Implementation of the FTP protocol
+<tr bgcolor=#f0f0f0><td><b><a href="qgl.html">QGL</a></b><td>Namespace for miscellaneous identifiers in the Qt OpenGL module
+<tr bgcolor=#f0f0f0><td><b><a href="qglcolormap.html">QGLColormap</a></b><td>Used for installing custom colormaps into QGLWidgets
+<tr bgcolor=#f0f0f0><td><b><a href="qglcontext.html">QGLContext</a></b><td>Encapsulates an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglformat.html">QGLFormat</a></b><td>The display format of an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglwidget.html">QGLWidget</a></b><td>Widget for rendering OpenGL graphics
+<tr bgcolor=#f0f0f0><td><b><a href="qglayoutiterator.html">QGLayoutIterator</a></b><td>Abstract base class of internal layout iterators
+<tr bgcolor=#f0f0f0><td><b><a href="qgb18030codec.html">QGb18030Codec</a></b><td>Conversion to and from the Chinese GB18030/GBK/GB2312 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qgb2312codec.html">QGb2312Codec</a></b><td>Conversion to and from the Chinese GB2312 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qgbkcodec.html">QGbkCodec</a></b><td>Conversion to and from the Chinese GBK encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qgfxdriverfactory.html">QGfxDriverFactory</a></b><td>Creates QScreen objects for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qgfxdriverplugin.html">QGfxDriverPlugin</a></b><td>Abstract base for Qt/Embedded graphics driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qgrid.html">QGrid</a></b><td>Simple geometry management of its children
+<tr bgcolor=#f0f0f0><td><b><a href="qgridlayout.html">QGridLayout</a></b><td>Lays out widgets in a grid
+<tr bgcolor=#f0f0f0><td><b><a href="qgridview.html">QGridView</a></b><td>Abstract base for fixed-size grids
+<tr bgcolor=#f0f0f0><td><b><a href="qgroupbox.html">QGroupBox</a></b><td>Group box frame with a title
+<tr bgcolor=#f0f0f0><td><b><a href="qguardedptr.html">QGuardedPtr</a></b><td>Template class that provides guarded pointers to QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qhbox.html">QHBox</a></b><td>Horizontal geometry management for its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qhboxlayout.html">QHBoxLayout</a></b><td>Lines up widgets horizontally
+<tr bgcolor=#f0f0f0><td><b><a href="qhbuttongroup.html">QHButtonGroup</a></b><td>Organizes QButton widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qhgroupbox.html">QHGroupBox</a></b><td>Organizes widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qheader.html">QHeader</a></b><td>Header row or column, e.g. for tables and listviews
+<tr bgcolor=#f0f0f0><td><b><a href="qhebrewcodec.html">QHebrewCodec</a></b><td>Conversion to and from visually ordered Hebrew
+<tr bgcolor=#f0f0f0><td><b><a href="qhideevent.html">QHideEvent</a></b><td>Event which is sent after a widget is hidden
+<tr bgcolor=#f0f0f0><td><b><a href="qhostaddress.html">QHostAddress</a></b><td>IP address
+<tr bgcolor=#f0f0f0><td><b><a href="qhttp.html">QHttp</a></b><td>Implementation of the HTTP protocol
+<tr bgcolor=#f0f0f0><td><b><a href="qhttpheader.html">QHttpHeader</a></b><td>Header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qhttprequestheader.html">QHttpRequestHeader</a></b><td>Request header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qhttpresponseheader.html">QHttpResponseHeader</a></b><td>Response header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qimevent.html">QIMEvent</a></b><td>Parameters for input method events
+<tr bgcolor=#f0f0f0><td><b><a href="qiodevice.html">QIODevice</a></b><td>The base class of I/O devices
+<tr bgcolor=#f0f0f0><td><b><a href="qicondrag.html">QIconDrag</a></b><td>Supports drag and drop operations within a QIconView
+<tr bgcolor=#f0f0f0><td><b><a href="qicondragevent.html">QIconDragEvent</a></b><td>Signals that a main icon drag has begun
+<tr bgcolor=#f0f0f0><td><b><a href="qicondragitem.html">QIconDragItem</a></b><td>Encapsulates a drag item
+<tr bgcolor=#f0f0f0><td><b><a href="qiconfactory.html">QIconFactory</a></b><td>Used to create pixmaps for a QIconSet
+<tr bgcolor=#f0f0f0><td><b><a href="qiconset.html">QIconSet</a></b><td>Set of icons with different styles and sizes
+<tr bgcolor=#f0f0f0><td><b><a href="qiconview.html">QIconView</a></b><td>Area with movable labelled icons
+<tr bgcolor=#f0f0f0><td><b><a href="qiconviewitem.html">QIconViewItem</a></b><td>Single item in a QIconView
+<tr bgcolor=#f0f0f0><td><b><a href="qimage.html">QImage</a></b><td>Hardware-independent pixmap representation with direct access to the pixel data
+<tr bgcolor=#f0f0f0><td><b><a href="qimageconsumer.html">QImageConsumer</a></b><td>Abstraction used by QImageDecoder
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedecoder.html">QImageDecoder</a></b><td>Incremental image decoder for all supported image formats
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedrag.html">QImageDrag</a></b><td>Drag and drop object for transferring images
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformat.html">QImageFormat</a></b><td>Incremental image decoder for a specific image format
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformatplugin.html">QImageFormatPlugin</a></b><td>Abstract base for custom image format plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformattype.html">QImageFormatType</a></b><td>Factory that makes QImageFormat objects
+<tr bgcolor=#f0f0f0><td><b><a href="qimageio.html">QImageIO</a></b><td>Parameters for loading and saving images
+<tr bgcolor=#f0f0f0><td><b><a href="qinputdialog.html">QInputDialog</a></b><td>Simple convenience dialog to get a single value from the user
+<tr bgcolor=#f0f0f0><td><b><a href="qintcache.html">QIntCache</a></b><td>Template class that provides a cache based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintcacheiterator.html">QIntCacheIterator</a></b><td>Iterator for QIntCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintdict.html">QIntDict</a></b><td>Template class that provides a dictionary based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintdictiterator.html">QIntDictIterator</a></b><td>Iterator for QIntDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintvalidator.html">QIntValidator</a></b><td>Validator which ensures that a string contains a valid integer within a specified range
+<tr bgcolor=#f0f0f0><td><b><a href="qjiscodec.html">QJisCodec</a></b><td>Conversion to and from JIS character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qkbddriverfactory.html">QKbdDriverFactory</a></b><td>Creates QWSKeyboardHandler objects for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qkbddriverplugin.html">QKbdDriverPlugin</a></b><td>Abstract base for Qt/Embedded keyboard driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qkeyevent.html">QKeyEvent</a></b><td>Describes a key event
+<tr bgcolor=#f0f0f0><td><b><a href="qkeysequence.html">QKeySequence</a></b><td>Encapsulates a key sequence as used by accelerators
+<tr bgcolor=#f0f0f0><td><b><a href="qlcdnumber.html">QLCDNumber</a></b><td>Displays a number with LCD-like digits
+<tr bgcolor=#f0f0f0><td><b><a href="qlabel.html">QLabel</a></b><td>Text or image display
+<tr bgcolor=#f0f0f0><td><b><a href="qlayout.html">QLayout</a></b><td>The base class of geometry managers
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutitem.html">QLayoutItem</a></b><td>Abstract item that a QLayout manipulates
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutiterator.html">QLayoutIterator</a></b><td>Iterators over QLayoutItem
+<tr bgcolor=#f0f0f0><td><b><a href="qlibrary.html">QLibrary</a></b><td>Wrapper for handling shared libraries
+<tr bgcolor=#f0f0f0><td><b><a href="qlineedit.html">QLineEdit</a></b><td>One-line text editor
+<tr bgcolor=#f0f0f0><td><b><a href="qlistbox.html">QListBox</a></b><td>List of selectable, read-only items
+<tr bgcolor=#f0f0f0><td><b><a href="qlistboxitem.html">QListBoxItem</a></b><td>The base class of all list box items
+<tr bgcolor=#f0f0f0><td><b><a href="qlistboxpixmap.html">QListBoxPixmap</a></b><td>List box items with a pixmap and optional text
+<tr bgcolor=#f0f0f0><td><b><a href="qlistboxtext.html">QListBoxText</a></b><td>List box items that display text
+<tr bgcolor=#f0f0f0><td><b><a href="qlistview.html">QListView</a></b><td>Implements a list/tree view
+<tr bgcolor=#f0f0f0><td><b><a href="qlistviewitem.html">QListViewItem</a></b><td>Implements a list view item
+<tr bgcolor=#f0f0f0><td><b><a href="qlistviewitemiterator.html">QListViewItemIterator</a></b><td>Iterator for collections of QListViewItems
+<tr bgcolor=#f0f0f0><td><b><a href="qlocalfs.html">QLocalFs</a></b><td>Implementation of a QNetworkProtocol that works on the local file system
+<tr bgcolor=#f0f0f0><td><b><a href="qlocale.html">QLocale</a></b><td>Converts between numbers and their string representations in various languages
+<tr bgcolor=#f0f0f0><td><b><a href="qmacmime.html">QMacMime</a></b><td>Maps open-standard MIME to Mac flavors
+<tr bgcolor=#f0f0f0><td><b><a href="qmacstyle.html">QMacStyle</a></b><td>Implements an Appearance Manager style
+<tr bgcolor=#f0f0f0><td><b><a href="qmainwindow.html">QMainWindow</a></b><td>Main application window, with a menu bar, dock windows (e.g. for toolbars), and a status bar
+<tr bgcolor=#f0f0f0><td><b><a href="qmap.html">QMap</a></b><td>Value-based template class that provides a dictionary
+<tr bgcolor=#f0f0f0><td><b><a href="qmapconstiterator.html">QMapConstIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qmapiterator.html">QMapIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qmemarray.html">QMemArray</a></b><td>Template class that provides arrays of simple types
+<tr bgcolor=#f0f0f0><td><b><a href="qmenubar.html">QMenuBar</a></b><td>Horizontal menu bar
+<tr bgcolor=#f0f0f0><td><b><a href="qmenudata.html">QMenuData</a></b><td>Base class for QMenuBar and QPopupMenu
+<tr bgcolor=#f0f0f0><td><b><a href="qmessagebox.html">QMessageBox</a></b><td>Modal dialog with a short message, an icon, and some buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qmetaobject.html">QMetaObject</a></b><td>Meta information about Qt objects
+<tr bgcolor=#f0f0f0><td><b><a href="qmetaproperty.html">QMetaProperty</a></b><td>Stores meta data about a property
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesource.html">QMimeSource</a></b><td>Abstraction of objects which provide formatted data of a certain MIME type
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesourcefactory.html">QMimeSourceFactory</a></b><td>Extensible provider of mime-typed data
+<tr bgcolor=#f0f0f0><td><b><a href="qmotif.html">QMotif</a></b><td>The basis of the <a href="motif-extension.html#Motif">Motif</a> Extension
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifdialog.html">QMotifDialog</a></b><td>The QDialog API for Motif-based dialogs
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifplusstyle.html">QMotifPlusStyle</a></b><td>More sophisticated Motif-ish look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifstyle.html">QMotifStyle</a></b><td>Motif look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifwidget.html">QMotifWidget</a></b><td>The QWidget API for Xt/Motif widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qmousedriverfactory.html">QMouseDriverFactory</a></b><td>Creates QWSMouseHandler objects for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qmousedriverplugin.html">QMouseDriverPlugin</a></b><td>Abstract base for Qt/Embedded mouse driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qmouseevent.html">QMouseEvent</a></b><td>Parameters that describe a mouse event
+<tr bgcolor=#f0f0f0><td><b><a href="qmoveevent.html">QMoveEvent</a></b><td>Event parameters for move events
+<tr bgcolor=#f0f0f0><td><b><a href="qmovie.html">QMovie</a></b><td>Incremental loading of animations or images, signalling as it progresses
+<tr bgcolor=#f0f0f0><td><b><a href="qmutex.html">QMutex</a></b><td>Access serialization between threads
+<tr bgcolor=#f0f0f0><td><b><a href="qmutexlocker.html">QMutexLocker</a></b><td>Simplifies locking and unlocking QMutexes
+<tr bgcolor=#f0f0f0><td><b><a href="qnpinstance.html">QNPInstance</a></b><td>QObject that is a web browser plugin
+<tr bgcolor=#f0f0f0><td><b><a href="qnpstream.html">QNPStream</a></b><td>Stream of data provided to a QNPInstance by the browser
+<tr bgcolor=#f0f0f0><td><b><a href="qnpwidget.html">QNPWidget</a></b><td>QWidget that is a web browser plugin window
+<tr bgcolor=#f0f0f0><td><b><a href="qnplugin.html">QNPlugin</a></b><td>The main factory for plugin objects
+<tr bgcolor=#f0f0f0><td><b><a href="qnetworkoperation.html">QNetworkOperation</a></b><td>Common operations for network protocols
+<tr bgcolor=#f0f0f0><td><b><a href="qnetworkprotocol.html">QNetworkProtocol</a></b><td>Common API for network protocols
+<tr bgcolor=#f0f0f0><td><b><a href="qobject.html">QObject</a></b><td>The base class of all Qt objects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a></b><td>Watches the lifetime of multiple QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlist.html">QObjectList</a></b><td>QPtrList of QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlistiterator.html">QObjectListIterator</a></b><td>Iterator for QObjectLists
+<tr bgcolor=#f0f0f0><td><b><a href="qpngimagepacker.html">QPNGImagePacker</a></b><td>Creates well-compressed PNG animations
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevice.html">QPaintDevice</a></b><td>The base class of objects that can be painted
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a></b><td>Information about a paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintevent.html">QPaintEvent</a></b><td>Event parameters for paint events
+<tr bgcolor=#f0f0f0><td><b><a href="qpainter.html">QPainter</a></b><td>Does low-level painting e.g. on widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qpair.html">QPair</a></b><td>Value-based template class that provides a pair of elements
+<tr bgcolor=#f0f0f0><td><b><a href="qpalette.html">QPalette</a></b><td>Color groups for each widget state
+<tr bgcolor=#f0f0f0><td><b><a href="qpen.html">QPen</a></b><td>Defines how a QPainter should draw lines and outlines of shapes
+<tr bgcolor=#f0f0f0><td><b><a href="qpicture.html">QPicture</a></b><td>Paint device that records and replays QPainter commands
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmap.html">QPixmap</a></b><td>Off-screen, pixel-based paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmapcache.html">QPixmapCache</a></b><td>Application-global cache for pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qplatinumstyle.html">QPlatinumStyle</a></b><td>Mac/Platinum look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qpoint.html">QPoint</a></b><td>Defines a point in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qpointarray.html">QPointArray</a></b><td>Array of points
+<tr bgcolor=#f0f0f0><td><b><a href="qpopupmenu.html">QPopupMenu</a></b><td>Popup menu widget
+<tr bgcolor=#f0f0f0><td><b><a href="qprinter.html">QPrinter</a></b><td>Paint device that paints on a printer
+<tr bgcolor=#f0f0f0><td><b><a href="qprocess.html">QProcess</a></b><td>Used to start external programs and to communicate with them
+<tr bgcolor=#f0f0f0><td><b><a href="qprogressbar.html">QProgressBar</a></b><td>Horizontal progress bar
+<tr bgcolor=#f0f0f0><td><b><a href="qprogressdialog.html">QProgressDialog</a></b><td>Feedback on the progress of a slow operation
+<tr bgcolor=#f0f0f0><td><b><a href="qptrcollection.html">QPtrCollection</a></b><td>The base class of most pointer-based Qt collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdict.html">QPtrDict</a></b><td>Template class that provides a dictionary based on void* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdictiterator.html">QPtrDictIterator</a></b><td>Iterator for QPtrDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlist.html">QPtrList</a></b><td>Template class that provides a list
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlistiterator.html">QPtrListIterator</a></b><td>Iterator for QPtrList collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrqueue.html">QPtrQueue</a></b><td>Template class that provides a queue
+<tr bgcolor=#f0f0f0><td><b><a href="qptrstack.html">QPtrStack</a></b><td>Template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qptrvector.html">QPtrVector</a></b><td>Template collection class that provides a vector (array)
+<tr bgcolor=#f0f0f0><td><b><a href="qpushbutton.html">QPushButton</a></b><td>Command button
+<tr bgcolor=#f0f0f0><td><b><a href="qradiobutton.html">QRadioButton</a></b><td>Radio button with a text or pixmap label
+<tr bgcolor=#f0f0f0><td><b><a href="qrangecontrol.html">QRangeControl</a></b><td>Integer value within a range
+<tr bgcolor=#f0f0f0><td><b><a href="qrect.html">QRect</a></b><td>Defines a rectangle in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qregexp.html">QRegExp</a></b><td>Pattern matching using regular expressions
+<tr bgcolor=#f0f0f0><td><b><a href="qregexpvalidator.html">QRegExpValidator</a></b><td>Used to check a string against a <a href="qregexp.html#regular-expression">regular expression</a>
+<tr bgcolor=#f0f0f0><td><b><a href="qregion.html">QRegion</a></b><td>Clip region for a painter
+<tr bgcolor=#f0f0f0><td><b><a href="qresizeevent.html">QResizeEvent</a></b><td>Event parameters for resize events
+<tr bgcolor=#f0f0f0><td><b><a href="qsgistyle.html">QSGIStyle</a></b><td>SGI/Irix look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qscreen.html">QScreen</a></b><td>And its descendants manage the framebuffer and palette
+<tr bgcolor=#f0f0f0><td><b><a href="qscrollbar.html">QScrollBar</a></b><td>Vertical or horizontal scroll bar
+<tr bgcolor=#f0f0f0><td><b><a href="qscrollview.html">QScrollView</a></b><td>Scrolling area with on-demand scroll bars
+<tr bgcolor=#f0f0f0><td><b><a href="qsemaphore.html">QSemaphore</a></b><td>Robust integer semaphore
+<tr bgcolor=#f0f0f0><td><b><a href="qserversocket.html">QServerSocket</a></b><td>TCP-based server
+<tr bgcolor=#f0f0f0><td><b><a href="qsessionmanager.html">QSessionManager</a></b><td>Access to the session manager
+<tr bgcolor=#f0f0f0><td><b><a href="qsettings.html">QSettings</a></b><td>Persistent platform-independent application settings
+<tr bgcolor=#f0f0f0><td><b><a href="qshowevent.html">QShowEvent</a></b><td>Event which is sent when a widget is shown
+<tr bgcolor=#f0f0f0><td><b><a href="qsignal.html">QSignal</a></b><td>Can be used to send signals for classes that don't inherit QObject
+<tr bgcolor=#f0f0f0><td><b><a href="qsignalmapper.html">QSignalMapper</a></b><td>Bundles signals from identifiable senders
+<tr bgcolor=#f0f0f0><td><b><a href="qsimplerichtext.html">QSimpleRichText</a></b><td>Small displayable piece of rich text
+<tr bgcolor=#f0f0f0><td><b><a href="qsize.html">QSize</a></b><td>Defines the size of a two-dimensional object
+<tr bgcolor=#f0f0f0><td><b><a href="qsizegrip.html">QSizeGrip</a></b><td>Corner-grip for resizing a top-level window
+<tr bgcolor=#f0f0f0><td><b><a href="qsizepolicy.html">QSizePolicy</a></b><td>Layout attribute describing horizontal and vertical resizing policy
+<tr bgcolor=#f0f0f0><td><b><a href="qsjiscodec.html">QSjisCodec</a></b><td>Conversion to and from Shift-JIS
+<tr bgcolor=#f0f0f0><td><b><a href="qslider.html">QSlider</a></b><td>Vertical or horizontal slider
+<tr bgcolor=#f0f0f0><td><b><a href="qsocket.html">QSocket</a></b><td>Buffered TCP connection
+<tr bgcolor=#f0f0f0><td><b><a href="qsocketdevice.html">QSocketDevice</a></b><td>Platform-independent low-level socket API
+<tr bgcolor=#f0f0f0><td><b><a href="qsocketnotifier.html">QSocketNotifier</a></b><td>Support for socket callbacks
+<tr bgcolor=#f0f0f0><td><b><a href="qsound.html">QSound</a></b><td>Access to the platform audio facilities
+<tr bgcolor=#f0f0f0><td><b><a href="qspaceritem.html">QSpacerItem</a></b><td>Blank space in a layout
+<tr bgcolor=#f0f0f0><td><b><a href="qspinbox.html">QSpinBox</a></b><td>Spin box widget (spin button)
+<tr bgcolor=#f0f0f0><td><b><a href="qsplashscreen.html">QSplashScreen</a></b><td>Splash screen that can be shown during application startup
+<tr bgcolor=#f0f0f0><td><b><a href="qsplitter.html">QSplitter</a></b><td>Implements a splitter widget
+<tr bgcolor=#f0f0f0><td><b><a href="qsql.html">QSql</a></b><td>Namespace for Qt SQL identifiers that need to be global-like
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlcursor.html">QSqlCursor</a></b><td>Browsing and editing of SQL tables and views
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldatabase.html">QSqlDatabase</a></b><td>Used to create SQL database connections and to provide transaction handling
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldriver.html">QSqlDriver</a></b><td>Abstract base class for accessing SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldriverplugin.html">QSqlDriverPlugin</a></b><td>Abstract base for custom QSqlDriver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qsqleditorfactory.html">QSqlEditorFactory</a></b><td>Used to create the editors used by QDataTable and QSqlForm
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlerror.html">QSqlError</a></b><td>SQL database error information
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlfield.html">QSqlField</a></b><td>Manipulates the fields in SQL database tables and views
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlfieldinfo.html">QSqlFieldInfo</a></b><td>Stores meta data associated with a SQL field
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlform.html">QSqlForm</a></b><td>Creates and manages data entry forms tied to SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlindex.html">QSqlIndex</a></b><td>Functions to manipulate and describe QSqlCursor and QSqlDatabase indexes
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlpropertymap.html">QSqlPropertyMap</a></b><td>Used to map widgets to SQL fields
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlquery.html">QSqlQuery</a></b><td>Means of executing and manipulating SQL statements
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlrecord.html">QSqlRecord</a></b><td>Encapsulates a database record, i.e. a set of database fields
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlrecordinfo.html">QSqlRecordInfo</a></b><td>Encapsulates a set of database field meta data
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlresult.html">QSqlResult</a></b><td>Abstract interface for accessing data from SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlselectcursor.html">QSqlSelectCursor</a></b><td>Browsing of general SQL SELECT statements
+<tr bgcolor=#f0f0f0><td><b><a href="qstatusbar.html">QStatusBar</a></b><td>Horizontal bar suitable for presenting status information
+<tr bgcolor=#f0f0f0><td><b><a href="qstoreddrag.html">QStoredDrag</a></b><td>Simple stored-value drag object for arbitrary MIME data
+<tr bgcolor=#f0f0f0><td><b><a href="qstrilist.html">QStrIList</a></b><td>Doubly-linked list of char* with case-insensitive comparison
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlist.html">QStrList</a></b><td>Doubly-linked list of char*
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlistiterator.html">QStrListIterator</a></b><td>Iterator for the QStrList and QStrIList classes
+<tr bgcolor=#f0f0f0><td><b><a href="qstring.html">QString</a></b><td>Abstraction of Unicode text and the classic C '&#92;0'-terminated char array
+<tr bgcolor=#f0f0f0><td><b><a href="qstringlist.html">QStringList</a></b><td>List of strings
+<tr bgcolor=#f0f0f0><td><b><a href="qstyle.html">QStyle</a></b><td>The look and feel of a GUI
+<tr bgcolor=#f0f0f0><td><b><a href="qstylefactory.html">QStyleFactory</a></b><td>Creates QStyle objects
+<tr bgcolor=#f0f0f0><td><b><a href="qstyleoption.html">QStyleOption</a></b><td>Optional parameters for QStyle functions
+<tr bgcolor=#f0f0f0><td><b><a href="qstyleplugin.html">QStylePlugin</a></b><td>Abstract base for custom QStyle plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheet.html">QStyleSheet</a></b><td>Collection of styles for rich text rendering and a generator of tags
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheetitem.html">QStyleSheetItem</a></b><td>Encapsulation of a set of text styles
+<tr bgcolor=#f0f0f0><td><b><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a></b><td>Base class for implementing QTextEdit syntax highlighters
+<tr bgcolor=#f0f0f0><td><b><a href="qtab.html">QTab</a></b><td>The structures in a QTabBar
+<tr bgcolor=#f0f0f0><td><b><a href="qtabbar.html">QTabBar</a></b><td>Tab bar, e.g. for use in tabbed dialogs
+<tr bgcolor=#f0f0f0><td><b><a href="qtabdialog.html">QTabDialog</a></b><td>Stack of tabbed widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qtabwidget.html">QTabWidget</a></b><td>Stack of tabbed widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qtable.html">QTable</a></b><td>Flexible editable table widget
+<tr bgcolor=#f0f0f0><td><b><a href="qtableitem.html">QTableItem</a></b><td>The cell content for QTable cells
+<tr bgcolor=#f0f0f0><td><b><a href="qtableselection.html">QTableSelection</a></b><td>Access to a selected area in a QTable
+<tr bgcolor=#f0f0f0><td><b><a href="qtabletevent.html">QTabletEvent</a></b><td>Parameters that describe a Tablet event
+<tr bgcolor=#f0f0f0><td><b><a href="qtextbrowser.html">QTextBrowser</a></b><td>Rich text browser with hypertext navigation
+<tr bgcolor=#f0f0f0><td><b><a href="qtextcodec.html">QTextCodec</a></b><td>Conversion between text encodings
+<tr bgcolor=#f0f0f0><td><b><a href="qtextcodecplugin.html">QTextCodecPlugin</a></b><td>Abstract base for custom QTextCodec plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qtextdecoder.html">QTextDecoder</a></b><td>State-based decoder
+<tr bgcolor=#f0f0f0><td><b><a href="qtextdrag.html">QTextDrag</a></b><td>Drag and drop object for transferring plain and Unicode text
+<tr bgcolor=#f0f0f0><td><b><a href="qtextedit.html">QTextEdit</a></b><td>Powerful single-page rich text editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtextencoder.html">QTextEncoder</a></b><td>State-based encoder
+<tr bgcolor=#f0f0f0><td><b><a href="qtextistream.html">QTextIStream</a></b><td>Convenience class for input streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextostream.html">QTextOStream</a></b><td>Convenience class for output streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextstream.html">QTextStream</a></b><td>Basic functions for reading and writing text using a QIODevice
+<tr bgcolor=#f0f0f0><td><b><a href="qthread.html">QThread</a></b><td>Platform-independent threads
+<tr bgcolor=#f0f0f0><td><b><a href="qthreadstorage.html">QThreadStorage</a></b><td>Per-thread data storage
+<tr bgcolor=#f0f0f0><td><b><a href="qtime.html">QTime</a></b><td>Clock time functions
+<tr bgcolor=#f0f0f0><td><b><a href="qtimeedit.html">QTimeEdit</a></b><td>Time editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtimer.html">QTimer</a></b><td>Timer signals and single-shot timers
+<tr bgcolor=#f0f0f0><td><b><a href="qtimerevent.html">QTimerEvent</a></b><td>Parameters that describe a timer event
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbar.html">QToolBar</a></b><td>Movable panel containing widgets such as tool buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbox.html">QToolBox</a></b><td>Column of tabbed widget items
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbutton.html">QToolButton</a></b><td>Quick-access button to commands or options, usually used inside a QToolBar
+<tr bgcolor=#f0f0f0><td><b><a href="qtooltip.html">QToolTip</a></b><td>Tool tips (balloon help) for any widget or rectangular part of a widget
+<tr bgcolor=#f0f0f0><td><b><a href="qtooltipgroup.html">QToolTipGroup</a></b><td>Collects tool tips into related groups
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslator.html">QTranslator</a></b><td><a href="i18n.html#internationalization">Internationalization</a> support for text output
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslatormessage.html">QTranslatorMessage</a></b><td>Translator message and its properties
+<tr bgcolor=#f0f0f0><td><b><a href="qtsciicodec.html">QTsciiCodec</a></b><td>Conversion to and from the Tamil TSCII encoding
+<tr bgcolor=#f0f0f0><td><b><a href="quridrag.html">QUriDrag</a></b><td>Drag object for a list of URI references
+<tr bgcolor=#f0f0f0><td><b><a href="qurl.html">QUrl</a></b><td>URL parser and simplifies working with URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurlinfo.html">QUrlInfo</a></b><td>Stores information about URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurloperator.html">QUrlOperator</a></b><td>Common operations on URLs
+<tr bgcolor=#f0f0f0><td><b><a href="quuid.html">QUuid</a></b><td>Defines a Universally Unique Identifier (UUID)
+<tr bgcolor=#f0f0f0><td><b><a href="qvbox.html">QVBox</a></b><td>Vertical geometry management of its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qvboxlayout.html">QVBoxLayout</a></b><td>Lines up widgets vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qvbuttongroup.html">QVButtonGroup</a></b><td>Organizes QButton widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qvgroupbox.html">QVGroupBox</a></b><td>Organizes a group of widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qvalidator.html">QValidator</a></b><td>Validation of input text
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelist.html">QValueList</a></b><td>Value-based template class that provides lists
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistconstiterator.html">QValueListConstIterator</a></b><td>Const iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistiterator.html">QValueListIterator</a></b><td>Iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluestack.html">QValueStack</a></b><td>Value-based template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluevector.html">QValueVector</a></b><td>Value-based template class that provides a dynamic array
+<tr bgcolor=#f0f0f0><td><b><a href="qvariant.html">QVariant</a></b><td>Acts like a union for the most common Qt data types
+<tr bgcolor=#f0f0f0><td><b><a href="qwmatrix.html">QWMatrix</a></b><td>2D transformations of a coordinate system
+<tr bgcolor=#f0f0f0><td><b><a href="qwsdecoration.html">QWSDecoration</a></b><td>Allows the appearance of the Qt/Embedded Window Manager to be customized
+<tr bgcolor=#f0f0f0><td><b><a href="qwsinputmethod.html">QWSInputMethod</a></b><td>International input methods for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a></b><td>Implements the keyboard driver for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwsmousehandler.html">QWSMouseHandler</a></b><td>Mouse driver for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwsserver.html">QWSServer</a></b><td>Server-specific functionality in Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwswindow.html">QWSWindow</a></b><td>Server-specific functionality in Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwaitcondition.html">QWaitCondition</a></b><td>Allows waiting/waking for conditions between threads
+<tr bgcolor=#f0f0f0><td><b><a href="qwhatsthis.html">QWhatsThis</a></b><td>Simple description of any widget, i.e. answering the question "What's this?"
+<tr bgcolor=#f0f0f0><td><b><a href="qwheelevent.html">QWheelEvent</a></b><td>Parameters that describe a wheel event
+<tr bgcolor=#f0f0f0><td><b><a href="qwidget.html">QWidget</a></b><td>The base class of all user interface objects
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetfactory.html">QWidgetFactory</a></b><td>For the dynamic creation of widgets from Qt Designer .ui files
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetitem.html">QWidgetItem</a></b><td>Layout item that represents a widget
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetplugin.html">QWidgetPlugin</a></b><td>Abstract base for custom QWidget plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetstack.html">QWidgetStack</a></b><td>Stack of widgets of which only the top widget is user-visible
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsmime.html">QWindowsMime</a></b><td>Maps open-standard MIME to Window Clipboard formats
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsstyle.html">QWindowsStyle</a></b><td>Microsoft Windows-like look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qwizard.html">QWizard</a></b><td>Framework for wizard dialogs
+<tr bgcolor=#f0f0f0><td><b><a href="qworkspace.html">QWorkspace</a></b><td>Workspace window that can contain decorated windows, e.g. for MDI
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlattributes.html">QXmlAttributes</a></b><td>XML attributes
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlcontenthandler.html">QXmlContentHandler</a></b><td>Interface to report the logical content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldtdhandler.html">QXmlDTDHandler</a></b><td>Interface to report DTD content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldeclhandler.html">QXmlDeclHandler</a></b><td>Interface to report declaration content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldefaulthandler.html">QXmlDefaultHandler</a></b><td>Default implementation of all the XML handler classes
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlentityresolver.html">QXmlEntityResolver</a></b><td>Interface to resolve external entities contained in XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlerrorhandler.html">QXmlErrorHandler</a></b><td>Interface to report errors in XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlinputsource.html">QXmlInputSource</a></b><td>The input data for the QXmlReader subclasses
+<tr bgcolor=#f0f0f0><td><b><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a></b><td>Interface to report the lexical content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmllocator.html">QXmlLocator</a></b><td>The XML handler classes with information about the parsing position within a file
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a></b><td>Helper class for XML readers which want to include namespace support
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlparseexception.html">QXmlParseException</a></b><td>Used to report errors with the QXmlErrorHandler interface
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlreader.html">QXmlReader</a></b><td>Interface for XML readers (i.e. parsers)
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlsimplereader.html">QXmlSimpleReader</a></b><td>Implementation of a simple XML reader (parser)
+<tr bgcolor=#f0f0f0><td><b><a href="qt.html">Qt</a></b><td>Namespace for miscellaneous identifiers that need to be global-like
+</table>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/appearance.html b/doc/html/appearance.html
new file mode 100644
index 0000000..72632cd
--- /dev/null
+++ b/doc/html/appearance.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:644 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Widget Appearance and Style</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Widget Appearance and Style</h1>
+
+
+<p> These classes are used to customize an application's appearance and
+style.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qboxlayout.html">QBoxLayout</a></b><td>Lines up child widgets horizontally or vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qbuttongroup.html">QButtonGroup</a></b><td>Organizes QButton widgets in a group
+<tr bgcolor=#f0f0f0><td><b><a href="qcdestyle.html">QCDEStyle</a></b><td>CDE look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qcolor.html">QColor</a></b><td>Colors based on RGB or HSV values
+<tr bgcolor=#f0f0f0><td><b><a href="qcolorgroup.html">QColorGroup</a></b><td>Group of widget colors
+<tr bgcolor=#f0f0f0><td><b><a href="qcommonstyle.html">QCommonStyle</a></b><td>Encapsulates the common Look and Feel of a GUI
+<tr bgcolor=#f0f0f0><td><b><a href="qcursor.html">QCursor</a></b><td>Mouse cursor with an arbitrary shape
+<tr bgcolor=#f0f0f0><td><b><a href="qfont.html">QFont</a></b><td>Font used for drawing text
+<tr bgcolor=#f0f0f0><td><b><a href="qglayoutiterator.html">QGLayoutIterator</a></b><td>Abstract base class of internal layout iterators
+<tr bgcolor=#f0f0f0><td><b><a href="qgrid.html">QGrid</a></b><td>Simple geometry management of its children
+<tr bgcolor=#f0f0f0><td><b><a href="qgridlayout.html">QGridLayout</a></b><td>Lays out widgets in a grid
+<tr bgcolor=#f0f0f0><td><b><a href="qgroupbox.html">QGroupBox</a></b><td>Group box frame with a title
+<tr bgcolor=#f0f0f0><td><b><a href="qhbox.html">QHBox</a></b><td>Horizontal geometry management for its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qhboxlayout.html">QHBoxLayout</a></b><td>Lines up widgets horizontally
+<tr bgcolor=#f0f0f0><td><b><a href="qhbuttongroup.html">QHButtonGroup</a></b><td>Organizes QButton widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qhgroupbox.html">QHGroupBox</a></b><td>Organizes widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qlayout.html">QLayout</a></b><td>The base class of geometry managers
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutitem.html">QLayoutItem</a></b><td>Abstract item that a QLayout manipulates
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutiterator.html">QLayoutIterator</a></b><td>Iterators over QLayoutItem
+<tr bgcolor=#f0f0f0><td><b><a href="qmacstyle.html">QMacStyle</a></b><td>Implements an Appearance Manager style
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifplusstyle.html">QMotifPlusStyle</a></b><td>More sophisticated Motif-ish look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qmotifstyle.html">QMotifStyle</a></b><td>Motif look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qpalette.html">QPalette</a></b><td>Color groups for each widget state
+<tr bgcolor=#f0f0f0><td><b><a href="qplatinumstyle.html">QPlatinumStyle</a></b><td>Mac/Platinum look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qsgistyle.html">QSGIStyle</a></b><td>SGI/Irix look and feel
+<tr bgcolor=#f0f0f0><td><b><a href="qsizegrip.html">QSizeGrip</a></b><td>Corner-grip for resizing a top-level window
+<tr bgcolor=#f0f0f0><td><b><a href="qsizepolicy.html">QSizePolicy</a></b><td>Layout attribute describing horizontal and vertical resizing policy
+<tr bgcolor=#f0f0f0><td><b><a href="qspaceritem.html">QSpacerItem</a></b><td>Blank space in a layout
+<tr bgcolor=#f0f0f0><td><b><a href="qstyle.html">QStyle</a></b><td>The look and feel of a GUI
+<tr bgcolor=#f0f0f0><td><b><a href="qstyleoption.html">QStyleOption</a></b><td>Optional parameters for QStyle functions
+<tr bgcolor=#f0f0f0><td><b><a href="qvbox.html">QVBox</a></b><td>Vertical geometry management of its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qvboxlayout.html">QVBoxLayout</a></b><td>Lines up widgets vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qvbuttongroup.html">QVButtonGroup</a></b><td>Organizes QButton widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qvgroupbox.html">QVGroupBox</a></b><td>Organizes a group of widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetitem.html">QWidgetItem</a></b><td>Layout item that represents a widget
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsstyle.html">QWindowsStyle</a></b><td>Microsoft Windows-like look and feel
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/appicon.html b/doc/html/appicon.html
new file mode 100644
index 0000000..6bd0585
--- /dev/null
+++ b/doc/html/appicon.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/appicon.doc:15 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Setting the Application Icon</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Setting the Application Icon</h1>
+
+
+
+<p> The application icon, typically displayed in the top-left corner of an
+application's top-level windows, is set by calling the
+<a href="qwidget.html#setIcon">QWidget::setIcon</a>() method on top-level widgets.
+<p> In order to change the icon of the executable application file
+itself, as it is presented on the desktop (i.e. prior to application
+execution), it is necessary to employ another, platform-dependent
+technique.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Setting the Application Icon on Windows
+</a>
+<li><a href="#2"> Setting the Application Icon on Mac OS X
+</a>
+<li><a href="#3"> Setting the Application Icon on common Linux desktops
+</a>
+<ul>
+<li><a href="#3-1"> KDE
+</a>
+<li><a href="#3-2"> GNOME
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Setting the Application Icon on Windows
+</h2>
+<a name="1"></a><p> First, create an ICO format bitmap file that contains the icon image. This
+can be done with e.g. Microsoft Visual C++: Select "File|New...", then
+select the "File" tab in the dialog that appears, and choose "Icon". (Note
+that you do not need to load your application into Visual C++; here we are
+only using the icon editor).
+<p> Store the ICO file in your application's source code directory, for
+example, with the name, "myappico.ico". Then, create a text file
+called e.g. "myapp.rc" in which you put a single line of text:
+<pre>
+IDI_ICON1 ICON DISCARDABLE "myappico.ico"
+</pre>
+
+<p> Finally, assuming you are using <a href="qmake-manual.html">qmake</a>
+to generate your makefiles, add this line to your "myapp.pro" file:
+<p> <pre>
+RC_FILE = myapp.rc
+</pre>
+
+<p> Regenerate your makefile and your application. The .exe file will now be
+represented with your icon e.g. in Explorer.
+<p> If you do not use <a href="qmake-manual.html">qmake</a>, the necessary
+steps are: first, run the "rc" program on the .rc file, then link your
+application with the resulting .res file.
+<p> <h2> Setting the Application Icon on Mac OS X
+</h2>
+<a name="2"></a><p> The application icon, typically displayed in the application dock
+area, is set by calling <a href="qwidget.html#setIcon">QWidget::setIcon</a>() on a top-level widget. It
+is possible that the program could appear in the application dock area
+before the function call, in which case a default icon will appear
+during the bouncing animation.
+<p> To ensure that the correct icon appears, both when the application is
+being launched, and in the Finder, it is necessary to employ a
+platform-dependent technique.
+<p> Although many programs can create icon files (<tt>.icns</tt>), the recommended
+approach is to use the <em>Icon Composer</em> program supplied by Apple (in the
+Developer/Application folder). <em>Icon Composer</em> allows you to import several
+different sized icons (for use in different contexts) as well as the masks
+that go with them. Save the set of icons to a file in your project
+directory.
+<p> If you are using <a href="qmake-manual.html">qmake</a> to generate
+your make files, you only need to add a single line to your <tt>.pro</tt>
+project file. For example, if the name of your icon file is
+<tt>myapp.icns</tt>, and your project file is <tt>myapp.pro</tt>, add this line
+to <tt>myapp.pro</tt>:
+<pre>
+RC_FILE = myapp.icns
+</pre>
+
+This will ensure that <a href="qmake-manual.html">qmake</a> puts your
+icons in the proper place and creates an <tt>Info.plist</tt> entry for the
+icon.
+<p> If you do not use <a href="qmake-manual.html">qmake</a>, you must do
+the following manually:
+<ol type=1>
+<li> Create an Info.plist file for your application (using the
+PropertyListEditor, found in Developer/Applications).
+<li> Associate your .icns record with the CFBundleIconFile record in the
+Info.plist file (again, using the PropertyListEditor).
+<li> Copy both the icns and your Info.plist into your application bundle
+Resource directory.
+</ol>
+<p> <h2> Setting the Application Icon on common Linux desktops
+</h2>
+<a name="3"></a><p> In this section we briefly describe the issues involved in providing
+icons for applications for two common Linux desktop environments:
+<a href="http://www.kde.org/">KDE</a> and <a href="http://www.gnome.org/">GNOME</a>. The core technology used to describe application icons
+is the same for both desktops, and may also apply to others, but there
+are details which are specific to each. The main source of information
+on the standards used by these Linux desktops is <a href="http://www.freedesktop.org/">freedesktop.org</a>. For information
+on other Linux desktops please refer to the documentation for the
+desktops you are interested in.
+<p> Often, users do not use executable files directly, but instead launch
+applications by clicking icons on the desktop. These icons are
+representations of `desktop entry files' that contain a description of
+the application that includes information about its icon. Both desktop
+environments are able to retrieve the information in these files, and
+they use it to generate shortcuts to applications on the desktop, in
+the start menu, and on the panel.
+<p> More information about desktop entry files can be found in the
+<a href="http://www.freedesktop.org/Standards/desktop-entry-spec">Desktop Entry Specification</a>.
+<p> Although desktop entry files can usefully encapsulate the application's details,
+we still need to store the icons in the conventional location for each desktop
+environment. A number of locations for icons are given in the
+<a href="http://www.freedesktop.org/Standards/icon-theme-spec">Icon Theme Specification</a>.
+<p> Although the path used to locate icons depends on the desktop in use,
+and on its configuration, the directory structure beneath each of
+these should follow the same pattern: subdirectories are arranged by
+theme, icon size, and application type. Generally, application icons
+are added to the hicolor theme, so a square application icon 32 pixels
+in size would be stored in the <tt>hicolor/32x32/apps</tt> directory beneath
+the icon path.
+<p> <h3> KDE
+</h3>
+<a name="3-1"></a><p> Application icons can be installed for use by all users, or on a per-user basis.
+A user currently logged into their KDE desktop can discover these locations
+by using <a href="http://developer.kde.org/documentation/other/kde-config.html">kde-config</a>, for example,
+by typing the following in a terminal window:
+<p> <pre>
+kde-config --path icon
+</pre>
+
+<p> Typically, the list of colon-separated paths printed to stdout includes the
+user-specific icon path and the system-wide path. Beneath these
+directories, it should be possible to locate and install icons according
+to the conventions described in the
+<a href="http://www.freedesktop.org/Standards/icon-theme-spec">Icon Theme Specification</a>.
+<p> If you are developing exclusively for KDE, you may wish to take
+advantage of the <a href="http://developer.kde.org/documentation/other/makefile_am_howto.html">KDE build system</a> to configure your application. This ensures
+that your icons are installed in the appropriate locations for KDE.
+<p> The KDE developer website is <a href="http://developer.kde.org/">http://developer.kde.org/</a>.
+<p> <h3> GNOME
+</h3>
+<a name="3-2"></a><p> Application icons are stored within a standard system-wide directory containing
+architecture-independent files. This location can be determined by
+using gnome-config, for example by typing the following in a terminal
+window:
+<p> <pre>
+gnome-config --datadir
+</pre>
+
+<p> The path printed on stdout refers to a location that should contain a directory
+called <tt>pixmaps</tt>; the directory structure within the <tt>pixmaps</tt>
+directory is described in the <a href="http://www.freedesktop.org/Standards/icon-theme-spec">Icon Theme
+Specification</a>.
+<p> If you are developing exclusively for GNOME, you may wish to use
+the standard set of <a href="http://developer.gnome.org/tools/build.html">GNU Build Tools</a>,
+also described in the relevant section of
+the <a href="http://developer.gnome.org/doc/GGAD/ggad.html">GTK+/Gnome
+Application Development book</a>. This ensures that your icons are
+installed in the appropriate locations for GNOME.
+<p> The GNOME developer website is <a href="http://developer.gnome.org/">http://developer.gnome.org/</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/application.html b/doc/html/application.html
new file mode 100644
index 0000000..836a0bc
--- /dev/null
+++ b/doc/html/application.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:677 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Main Window and Related Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Main Window and Related Classes</h1>
+
+
+<p> These classes provide everything you need for a typical modern main
+application window, like the main window itself, menu and tool bars,
+a statusbar, etc.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaction.html">QAction</a></b><td>Abstract user interface action that can appear both in menus and tool bars
+<tr bgcolor=#f0f0f0><td><b><a href="qactiongroup.html">QActionGroup</a></b><td>Groups actions together
+<tr bgcolor=#f0f0f0><td><b><a href="qapplication.html">QApplication</a></b><td>Manages the GUI application's control flow and main settings
+<tr bgcolor=#f0f0f0><td><b><a href="qdockarea.html">QDockArea</a></b><td>Manages and lays out QDockWindows
+<tr bgcolor=#f0f0f0><td><b><a href="qdockwindow.html">QDockWindow</a></b><td>Widget which can be docked inside a QDockArea or floated as a top level window on the desktop
+<tr bgcolor=#f0f0f0><td><b><a href="qeventloop.html">QEventLoop</a></b><td>Manages the event queue
+<tr bgcolor=#f0f0f0><td><b><a href="qmainwindow.html">QMainWindow</a></b><td>Main application window, with a menu bar, dock windows (e.g. for toolbars), and a status bar
+<tr bgcolor=#f0f0f0><td><b><a href="qmenubar.html">QMenuBar</a></b><td>Horizontal menu bar
+<tr bgcolor=#f0f0f0><td><b><a href="qpopupmenu.html">QPopupMenu</a></b><td>Popup menu widget
+<tr bgcolor=#f0f0f0><td><b><a href="qsessionmanager.html">QSessionManager</a></b><td>Access to the session manager
+<tr bgcolor=#f0f0f0><td><b><a href="qsizegrip.html">QSizeGrip</a></b><td>Corner-grip for resizing a top-level window
+<tr bgcolor=#f0f0f0><td><b><a href="qstatusbar.html">QStatusBar</a></b><td>Horizontal bar suitable for presenting status information
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbar.html">QToolBar</a></b><td>Movable panel containing widgets such as tool buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qworkspace.html">QWorkspace</a></b><td>Workspace window that can contain decorated windows, e.g. for MDI
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/archivesearch-example.html b/doc/html/archivesearch-example.html
new file mode 100644
index 0000000..0cd49af
--- /dev/null
+++ b/doc/html/archivesearch-example.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/archivesearch/archivesearch.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A qt-interest mail archive search</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A qt-interest mail archive search</h1>
+
+
+<p>
+<p> This example does a search on the qt-interest mailinglist archives. It uses
+<a href="qhttp.html">QHttp</a> to issue the search command and to fetch the results. The GUI parts
+were done using <a href="designer-manual.html">Qt Designer</a>.
+<p> <hr>
+<p> The implementation of the HTTP requests (archivedialog.ui.h):
+<p> <pre>/****************************************************************************
+** $Id: qt/archivedialog.ui.h 3.3.8 edited Jan 29 15:54 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions or slots use
+** Qt Designer which will update this file, preserving your code. Create an
+** init() function in place of a constructor, and a destroy() function in
+** place of a destructor.
+*****************************************************************************/
+
+void ArchiveDialog::init()
+{
+ connect(&amp;articleSearcher, SIGNAL(done(bool)), this, SLOT(searchDone(bool)));
+ connect(&amp;articleFetcher, SIGNAL(done(bool)), this, SLOT(fetchDone(bool)));
+ connect(myListView, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(fetch(QListViewItem*)));
+ connect(myLineEdit, SIGNAL(returnPressed()), this, SLOT(search()));
+ connect(myListView, SIGNAL(returnPressed(QListViewItem*)), this, SLOT(fetch(QListViewItem*)));
+ connect(myPushButton, SIGNAL(clicked()), this, SLOT(close()));
+}
+
+void ArchiveDialog::fetch( <a href="qlistviewitem.html">QListViewItem</a> *it )
+{
+<a name="x477"></a> <a href="qurl.html">QUrl</a> u(it-&gt;<a href="qlistviewitem.html#text">text</a>(1));
+<a name="x485"></a> articleFetcher.setHost(u.<a href="qurl.html#host">host</a>());
+ articleFetcher.get(it-&gt;<a href="qlistviewitem.html#text">text</a>(1));
+}
+
+void ArchiveDialog::fetchDone( bool error )
+{
+ if (error) {
+<a name="x478"></a> QMessageBox::<a href="qmessagebox.html#critical">critical</a>(this, "Error fetching",
+ "An error occurred when fetching this document: "
+ + articleFetcher.errorString(),
+ QMessageBox::Ok, QMessageBox::NoButton);
+ } else {
+ myTextBrowser-&gt;setText(articleFetcher.readAll());
+ }
+}
+
+void ArchiveDialog::search()
+{
+ if (articleSearcher.state() == QHttp::HostLookup
+ || articleSearcher.state() == QHttp::Connecting
+ || articleSearcher.state() == QHttp::Sending
+ || articleSearcher.state() == QHttp::Reading) {
+ articleSearcher.abort();
+ }
+
+ if (myLineEdit-&gt;text() == "") {
+ QMessageBox::<a href="qmessagebox.html#critical">critical</a>(this, "Empty query",
+ "Please type a search string.",
+ QMessageBox::Ok, QMessageBox::NoButton);
+ } else {
+<a name="x474"></a> QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>(QCursor(Qt::WaitCursor));
+
+ articleSearcher.setHost("lists.trolltech.com");
+
+ <a href="qhttprequestheader.html">QHttpRequestHeader</a> header("POST", "/qt-interest/search.php");
+<a name="x476"></a> header.<a href="qhttpheader.html#setValue">setValue</a>("Host", "lists.trolltech.com");
+<a name="x475"></a> header.<a href="qhttpheader.html#setContentType">setContentType</a>("application/x-www-form-urlencoded");
+
+ <a href="qstring.html">QString</a> encodedTopic = myLineEdit-&gt;text();
+<a name="x484"></a> QUrl::<a href="qurl.html#encode">encode</a>(encodedTopic);
+ <a href="qstring.html">QString</a> searchString = "qt-interest=on&amp;search=" + encodedTopic;
+
+<a name="x483"></a> articleSearcher.request(header, searchString.<a href="qstring.html#utf8">utf8</a>());
+ }
+
+}
+
+void ArchiveDialog::searchDone( bool error )
+{
+ if (error) {
+ QMessageBox::<a href="qmessagebox.html#critical">critical</a>(this, "Error searching",
+ "An error occurred when searching: "
+ + articleSearcher.errorString(),
+ QMessageBox::Ok, QMessageBox::NoButton);
+ } else {
+ <a href="qstring.html">QString</a> result(articleSearcher.readAll());
+
+ <a href="qregexp.html">QRegExp</a> rx("&lt;a href=\"(http://lists\\.trolltech\\.com/qt-interest/.*)\"&gt;(.*)&lt;/a&gt;");
+<a name="x482"></a> rx.<a href="qregexp.html#setMinimal">setMinimal</a>(TRUE);
+ int pos = 0;
+ while (pos &gt;= 0) {
+<a name="x481"></a> pos = rx.<a href="qregexp.html#search">search</a>(result, pos);
+ if (pos &gt; -1) {
+<a name="x480"></a> pos += rx.<a href="qregexp.html#matchedLength">matchedLength</a>();
+<a name="x479"></a> new <a href="qlistviewitem.html">QListViewItem</a>(myListView, rx.<a href="qregexp.html#cap">cap</a>(2), rx.<a href="qregexp.html#cap">cap</a>(1));
+ }
+ }
+ }
+
+<a name="x473"></a> QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>();
+}
+</pre>
+
+<p> <hr>
+<p> Main (main.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "archivedialog.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main(int argc, char **argv)
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ArchiveDialog ad;
+ ad.show();
+
+<a name="x489"></a><a name="x487"></a> QObject::<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()),
+<a name="x488"></a> &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+<a name="x486"></a> return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-1.html b/doc/html/assistant-1.html
new file mode 100644
index 0000000..a6cec52
--- /dev/null
+++ b/doc/html/assistant-1.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant.html">Home</a>] [<a href="assistant-2.html">Next: Introduction to the Qt Reference Documentation</a>]</p>
+<h2 align="center">Introduction</h2>
+<p>This document introduces <em>Qt Assistant</em>, a tool for presenting on-line documentation. It also introduces the Qt Reference Documentation which is accessible using <em>Qt Assistant</em>, or with a web browser. The document is divided into the following sections:</p>
+<ul><li><p>Introduction to the Qt Reference Documentation</p>
+<li><p>The 1 Minute Guide to using Qt Assistant</p>
+<li><p>Qt Assistant in More Detail</p>
+<li><p>Full Text Searching</p>
+<li><p>Customizing Qt Assistant</p>
+</ul><!-- eof -->
+<p align="right">[<a href="assistant.html">Home</a>] [<a href="assistant-2.html">Next: Introduction to the Qt Reference Documentation</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-2.html b/doc/html/assistant-2.html
new file mode 100644
index 0000000..1761192
--- /dev/null
+++ b/doc/html/assistant-2.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:18 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction to the Qt Reference Documentation</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant-1.html">Prev: Introduction</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-3.html">Next: The 1 Minute Guide to Using Qt Assistant</a>]</p>
+<h2 align="center">Introduction to the Qt Reference Documentation</h2>
+<p>The documentation for the Qt library is written in-line in the <tt>.cpp</tt> files by the developers themselves. The documentation team revises the documentation to ensure that it is accurate and usable, and to provide quality control. The documentation team also writes the larger texts, such as the class descriptions that introduce a class along with the concepts the class uses, as well as introducing the functions and properties that the class provides.</p>
+<p>The documentation focuses on the API rather than the internals, since we make great efforts to keep our API consistent and compatible with each new version, but we may change the internals considerably to improve performance and enhance functionality.</p>
+<p>The Qt Reference Documentation consists of almost 1,500 HTML pages (over 2,500 printed pages). The overwhelming majority of pages document Qt classes. Since developers differ in the way they think and work we provide a variety of approaches to navigating the documentation set:</p>
+<ul><li><p>The <a href="classes.html">All Classes</a> page lists every class in Qt's public API, and consists of several hundred classes.</p>
+<li><p>The <a href="mainclasses.html">Main Classes</a> page lists the classes you're most likely to use most often, and provides a much shorter and more managable list than the All Classes list.</p>
+<li><p>The <a href="groups.html">Grouped Classes</a> page presents a list of groups, each of which leads to a list of related classes, for example, the <a href="advanced.html">Advanced Widgets</a> list.</p>
+<li><p>The <a href="hierarchy.html">Inheritance Hierarchy</a> page presents a list of classes in terms of the hierarchy of Qt classes.</p>
+<li><p>The <a href="functions.html">All Functions</a> page lists all the functions provided by Qt classes, each one with links to the class(es) in which it appears.</p>
+</ul><p>No matter where you find yourself in the Qt documentation, you will find extensive cross-referencing. Even snippets of example code contain clickable links, so that for example, if you come across a class declaration in a code example, the class name will be a clickable link to the class's documentation.</p>
+<p>In addition to the class documentation some of Qt's modules have extensive descriptions, and there are many overview documents which describe various aspects of the Qt library; all these are linked from the reference documentation home page. There are also two tutorials and numerous example programs in the examples subdirectory of the Qt distribution.</p>
+<!-- eof -->
+<p align="right">[<a href="assistant-1.html">Prev: Introduction</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-3.html">Next: The 1 Minute Guide to Using Qt Assistant</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-3.html b/doc/html/assistant-3.html
new file mode 100644
index 0000000..b203b74
--- /dev/null
+++ b/doc/html/assistant-3.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The 1 Minute Guide to Using Qt Assistant</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant-2.html">Prev: Introduction to the Qt Reference Documentation</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-4.html">Next: Qt Assistant in More Detail</a>]</p>
+<h2 align="center">The 1 Minute Guide to Using Qt Assistant</h2>
+<p>Under Windows, <em>Qt Assistant</em> is available as a menu option on the Qt menu. On Unix, run <tt>assistant</tt> from an xterm.</p>
+<p>When you start up <em>Qt Assistant</em>, you will be presented with a standard main-window style application, with a menu bar and toolbar. Below these, on the left hand side is a navigation window called the <em>Sidebar</em>, and on the right, taking up most of the space, is the documentation window. By default, the Qt Reference Documentation's home page is shown in the documentation window.</p>
+<p><em>Qt Assistant</em> works in a similar way to a web browser. If you click underlined text (which signifies a cross-reference), the documentation window will present the relevant page. You can bookmark pages of particular interest and you can click the <b>Previous</b> and <b>Next</b> toolbar buttons to navigate within the pages you've visited.</p>
+<p>Although <em>Qt Assistant</em> can be used just like a web browser to navigate through the Qt documentation set, <em>Qt Assistant</em> offers a powerful means of navigation that web browsers don't provide. <em>Qt Assistant</em> uses an intelligent algorithm to index all the pages in the documentation sets that it presents so that you can search for particular words and phrases.</p>
+<p>To perform an index search, click the <b>Index</b> tab on the Sidebar (or click <b>Ctrl+I</b>). In the 'Look For' line edit enter a word, e.g. 'homedirpath'. As you type, words are found and highlighted in a list beneath the line edit. If the highlighted text matches what you're looking for, double click it, (or press <b>Enter</b>) and the documentation window will display the relevant page. You rarely have to type in the whole word before <em>Qt Assistant</em> finds a match. Note that for some words there may be more than one possible page that is relevant.</p>
+<p><em>Qt Assistant</em> also provides full text searching for finding specific words in the documentation. Documents with the highest occurrences of the word that you are looking for appear first, and every occurrence of the word within the documentation is highlighted.</p>
+<p><em>Qt Assistant</em> can be customized by creating profiles, a collection of documentation. Profiles can be created for your own use, or for an application you will distribute. With profiles, you can select which documentation you want the end user of your application to be able to view.</p>
+<!-- eof -->
+<p align="right">[<a href="assistant-2.html">Prev: Introduction to the Qt Reference Documentation</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-4.html">Next: Qt Assistant in More Detail</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-4.html b/doc/html/assistant-4.html
new file mode 100644
index 0000000..69cc9bc
--- /dev/null
+++ b/doc/html/assistant-4.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:130 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Assistant in More Detail</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant-3.html">Prev: The 1 Minute Guide to Using Qt Assistant</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-5.html">Next: Full Text Searching</a>]</p>
+<h2 align="center">Qt Assistant in More Detail</h2>
+<p align="center"><img align="middle" src="assistant.png" width="788" height="443">
+</p>
+<blockquote><p align="center"><em>Qt Assistant</em></p></blockquote>
+<h3><a name="1"></a>The Sidebar</h3>
+<p align="center"><img align="middle" src="sidebar.png" width="277" height="212">
+</p>
+<p>The sidebar provides four ways of navigating documentation:</p>
+<ol type=1><li><p>The <b>Contents</b> tab presents a tree view of the documentation sets that are available. If you click an item, its documentation will appear in the documentation window. If you double click an item or click a '+' sign to the left of an item, the item's sub-items will appear. Click a sub-item to make its page appear in the documentation window. Click a '-' sign to the left of an item to hide its sub-items.</p>
+<li><p>The <b>Index</b> tab is used to look up key words or phrases. See <a href="assistant-3.html">The 1 Minute Guide to Using Qt Assistant</a> for how to use this tab.</p>
+<li><p>The <b>Bookmarks</b> tab lists any bookmarks you've made. Double click a bookmark to make its page appear in the documentation window. The <b>Bookmarks</b> tab has a <b>New Bookmark</b> button and a <b>Delete Bookmark</b> button at the bottom. Click <b>New Bookmark</b> to bookmark the page that is showing in the documentation window. Click a bookmark in the list, then click <b>Delete Bookmark</b> to delete the highlighted bookmark.</p>
+<li><p>The <b>Search</b> tab provides full text search of <em>all</em> the documents. See <a href="assistant-5.html">Full Text Searching</a> for more information about this feature.</p>
+</ol><p>If you want the documentation window to use as much space as possible, you can easily hide or show the Sidebar. If the Sidebar is showing, press <b>Ctrl+T</b>, <b>Ctrl+I</b>, <b>Ctrl+B</b> or <b>Ctrl+S</b> to hide it. If the Sidebar is hidden, press <b>Ctrl+T</b> to show it on the Contents tab, or press <b>Ctrl+I</b> to show it on the Index tab (with the focus in the 'Look For' line edit box), or press <b>Ctrl+B</b> to show it on the Bookmarks tab, or press <b>Ctrl+S</b> to show it on the (full text) Search tab.</p>
+<p>The Sidebar is a dock window, so you can drag it to the top, left, right or bottom of <em>Qt Assistant</em>'s window, or you can drag it outside <em>Qt Assistant</em> to float it.</p>
+<h3><a name="2"></a>The Documentation Window</h3>
+<p align="center"><img align="middle" src="docwindow.png" width="388" height="158">
+</p>
+<p>The documentation window offers a feature for viewing documentation by enabling you to create tabs for each documentation page that you view. Click the <b>Add Tab</b> button and a new tab will appear with the page name as the tab's caption. This makes it convenient to switch between pages when you are working with different documentation. You can delete a tab by clicking the <b>Close Tab</b> button located on the right side of the documentation window.</p>
+<h3><a name="3"></a>The Toolbar</h3>
+<p align="center"><img align="middle" src="toolbar1.png" width="290" height="31">
+</p>
+<p>The toolbar provides fast access to the most common actions.</p>
+<ul><li><p><b>Previous</b> takes you to the previous page. The menu option is <b>Go|Previous</b> and the keyboard shortcut is <b>Alt+Left Arrow</b>.</p>
+<li><p><b>Next</b> takes you to the next page. The menu option is <b>Go|Next</b> and the keyboard shortcut is <b>Alt+Right Arrow</b>.</p>
+<li><p><b>Home</b> takes you to the home page (normally the home page of the Qt Reference Documentation). The menu option is <b>Go|Home</b> and the keyboard shortcut is <b>Ctrl+Home</b>.</p>
+<li><p><b>Copy</b> copies any selected text to the clipboard. The menu option is <b>Edit|Copy</b> and the keyboard shortcut is <b>Ctrl+C</b>.</p>
+<li><p><b>Find in Text</b> invokes the <em>Find Text</em> dialog. The menu option is <b>Edit|Find in Text</b> and the keyboard shortcut is <b>Ctrl+F</b>.</p>
+<li><p><b>Print</b> invokes the <em>Print</em> dialog. The menu option is <b>File|Print</b> and the keyboard shortcut is <b>Ctrl+P</b>.</p>
+<li><p><b>Zoom in</b> increases the font size. The menu option is <b>View|Zoom in</b> and the keyboard shortcut is <b>Ctrl++</b>.</p>
+<li><p><b>Zoom out</b> decreases the font size. The menu option is <b>View|Zoom out</b> and the keyboard shortcut is <b>Ctrl+-</b>.</p>
+<li><p><b>What's This?</b> provides a description of a <em>Qt Assistant</em> feature. The menu option is <b>Help|What's This?</b> and the keyboard shortcut is <b>Shift+F1</b>.</p>
+</ul><p>The remaining toolbar buttons are bookmarks and will vary depending on your configuration.</p>
+<h3><a name="4"></a>The Menus</h3>
+<h4><a name="4-1"></a>The File Menu</h4>
+<ul><li><p><b>File|Print</b> invokes the <em>Print</em> dialog.</p>
+<li><p><b>File|Exit</b> terminates <em>Qt Assistant</em>.</p>
+</ul><h4><a name="4-2"></a>The Edit Menu</h4>
+<ul><li><p><b>Edit|Copy</b> copies any selected text to the clipboard.</p>
+<li><p><b>Edit|Find in Text</b> invokes the <em>Find Text</em> dialog.</p>
+<li><p><b>Edit|Settings</b> invokes the <em>Settings</em> dialog.</p>
+</ul><h4><a name="4-3"></a>The View Menu</h4>
+<ul><li><p><b>View|Zoom in</b> increases the font size.</p>
+<li><p><b>View|Zoom out</b> decreases the font size.</p>
+<li><p><b>View|Views|Sidebar</b> toggles the display of the Sidebar.</p>
+<li><p><b>View|Views|Toolbar</b> toggles the display of the Toolbar.</p>
+<li><p><b>View|Views|Line up</b> lines up the toolbar buttons in the Toolbar.</p>
+</ul><h4><a name="4-4"></a>The Go Menu</h4>
+<ul><li><p><b>Go|Previous</b> displays the previous page.</p>
+<li><p><b>Go|Next</b> displays the next page.</p>
+<li><p><b>Go|home</b> goes to the home page.</p>
+</ul><p>This menu also has additional items; these are pre-defined bookmarks that vary depending on your configuration.</p>
+<h4><a name="4-5"></a>The Bookmarks Menu</h4>
+<ul><li><p><b>Bookmarks|Add</b> adds the current page to the list of bookmarks.</p>
+</ul><p>This menu may have additional items, i.e. any bookmarks that you have already made. If you want to delete a bookmark go to the Bookmarks tab on the Sidebar.</p>
+<h3><a name="5"></a>The Dialogs</h3>
+<h4><a name="5-1"></a>The Print Dialog</h4>
+<p>This dialog is platform-specific. It gives access to various printer options and can be used to print the current page.</p>
+<h4><a name="5-2"></a>The Find Text Dialog</h4>
+<p>This dialog is used to find text in the current page. Enter the text you want to find in the Find line edit. If you check the 'Whole words only' checkbox, the search will only consider whole words, i.e. if you search for 'spin' with this checkbox checked it will not match 'spinbox', but will match 'spin'. If you check the 'Case sensitive' check box then, for example, 'spin' will match 'spin' but not 'Spin'. You can search Forward or Backward from your current position in the page by clicking one of the Direction radio buttons. Click the <b>Find</b> button to search (or search again), and click the <b>Close</b> button to finish.</p>
+<h4><a name="5-3"></a>The Settings Dialog</h4>
+<p>The Settings dialog is used to set your preferences for <em>Qt Assistant</em>. The dialog has four tabs: General Settings, Web Settings, PDF Settings, and Profiles. <em>Qt Assistant</em> will remember your settings between sessions, including window sizes and positions, and which pages you have open. Each of the tabs is discussed as follows:</p>
+<ul><li><p>General Settings</p>
+<p align="center"><img align="middle" src="general.png" width="348" height="233">
+</p>
+<p>To change the base font used throughout <em>Qt Assistant</em>, select a font type from the Font combobox. To choose a new fixed-width font, for example, to show code snippets, choose a font type from the 'Fixed font' combobox. To change the color of hypertext links, click the 'Link color' color button. Uncheck the 'Underline links' checkbox if you don't want underlined links.</p>
+<li><p>Web Settings</p>
+<p align="center"><img align="middle" src="web.png" width="348" height="233">
+</p>
+<p>Some pages contain links to external web pages. In order to display these links, you must specify a web browser. Type the name of your browser's executable in the Web Browser Application line edit. Alternatively, click the <b>(ellipsis)</b> button to invoke the <em>Set Web Browser</em> dialog and navigate until you find the web browser you want to use. Click <b>Save</b> to accept the selection.</p>
+<p>To change <em>Qt Assistant</em>'s default home page, enter the file name in the Home Page line edit. Alternatively, click the <b>(ellipsis)</b> button to invoke the <em>Set Homepage</em> dialog. Navigate until you find the home page file you want to use and then click <b>Save</b> to accept the selection.</p>
+<li><p>PDF Settings</p>
+<p align="center"><img align="middle" src="pdf1.png" width="296" height="233">
+</p>
+<p>Some pages contain links to PDF documents. In order to display these links, you must specify a PDF viewer. Type in the name of your PDF viewer's executable in the line edit. Alternatively, click the <b>(ellipsis)</b> button to invoke the <em>Set PDF Browser</em> dialog and navigate until you find the PDF viewer you want to use. Click <b>Save</b> to accept the selection.</p>
+<!-- eof -->
+<p align="right">[<a href="assistant-3.html">Prev: The 1 Minute Guide to Using Qt Assistant</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-5.html">Next: Full Text Searching</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-5.html b/doc/html/assistant-5.html
new file mode 100644
index 0000000..a32aa34
--- /dev/null
+++ b/doc/html/assistant-5.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:336 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Full Text Searching</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant-4.html">Prev: Qt Assistant in More Detail</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-6.html">Next: Customizing Qt Assistant</a>]</p>
+<h2 align="center">Full Text Searching</h2>
+<p align="center"><img align="middle" src="search.png" width="321" height="389">
+</p>
+<p><em>Qt Assistant</em> provides a powerful full text search engine. To search for certain words or text, click the 'Search' tab in the sidebar. Then enter the text you want to look for and press <b>Enter</b> or click <b>Search</b>. The search is not case sensitive, so Foo, fOo and FOO are all treated as the same. The following are examples of common search patterns:</p>
+<ul><li><p><tt>deep</tt> -- lists all the documents that contain the word 'deep'</p>
+<li><p><tt>deep*</tt> -- lists all the documents that contain a word beginning with 'deep'</p>
+<li><p><tt>deep copy</tt> -- lists all documents that contain both 'deep' <em>and</em> 'copy'</p>
+<li><p><tt>"deep copy"</tt> -- list all documents that contain the phrase 'deep copy'</p>
+</ul><p>The wildcard (*) character cannot be used within quotes.</p>
+<p>The list of documents found is ordered according to the number of occurrences of the search text they contain, therefore those with the highest number of occurrences appearing first. Simply click any document in the list to display it in the document window.</p>
+<p>If the documentation has changed, i.e. if documents have been added or removed, <em>Qt Assistant</em> will reindex.</p>
+<!-- eof -->
+<p align="right">[<a href="assistant-4.html">Prev: Qt Assistant in More Detail</a>] [<a href="assistant.html">Home</a>] [<a href="assistant-6.html">Next: Customizing Qt Assistant</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant-6.html b/doc/html/assistant-6.html
new file mode 100644
index 0000000..544c962
--- /dev/null
+++ b/doc/html/assistant-6.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/book/assistant.leaf:369 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Customizing Qt Assistant</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="assistant-5.html">Prev: Full Text Searching</a>] [<a href="assistant.html">Home</a>]</p>
+<h2 align="center">Customizing Qt Assistant</h2>
+<p><em>Qt Assistant</em> can be customized by adding and removing documentation from its documentation set. In addition, <em>Qt Assistant</em> introduces the profiles option, which enables its properties to change, for example, the default startup page, and application icon.</p>
+<h3><a name="1"></a>Modifying the Default Documentation Set</h3>
+<p>When it is started without any options, <em>Qt Assistant</em> displays a default set of documentation. When Qt is installed, the default documentation set in <em>Qt Assistant</em> contains the Qt reference documentation as well as the tools that come with Qt, such as <em>Qt Designer</em> and qmake.</p>
+<p>Documentation can be added or removed from <em>Qt Assistant</em> by adding and removing the content files. The format of the content files are specified below. To add a content file, type the following command line option: <tt>-addContentFile docfile</tt>. To remove a content file from the default set, type the following command line option: <tt>-removeContentFile docfile</tt>. For example:</p>
+<pre>
+1: &gt; assistant -addContentFile file.dcf
+2: &gt; assistant
+3: &gt; assistant -removeContentFile file.dcf
+</pre>
+<p>In line one, we add the content file <tt>file.dcf</tt>. In line two, we start <em>Qt Assistant</em>. The default set will now be extended with the doc file <tt>file.dcf</tt>. In line three we remove the file <tt>file.dcf</tt> from the default documentation set so that subsequent use of <em>Qt Assistant</em> will not contain this file.</p>
+<h4><a name="1-1"></a>Documentation Content File Format</h4>
+<p>The Documentation Content File must contain the documentation's table of contents and all important keywords for the index. In addition, it may inherit an icon for the documentation which is displayed in the <em>Qt Assistant</em> toolbar. You can also specify an extra directory path for additional images used in the documentation.</p>
+<p>An example of a content file that uses all the available tags and attributes is shown below:</p>
+<pre>
+&lt;assistantconfig version="3.2.0"&gt;
+ &lt;DCF ref="demo.html" icon="handbook.png" imagedir="../img/"
+ title="Development Demo Handbook"&gt;
+ &lt;section ref="./chap1/chap1.html" title="Chapter1"&gt;
+ &lt;section ref="./chap1/section1.html" title="Section1"&gt;
+ &lt;keyword ref="./chap1/section1.html#foo"&gt;foo&lt;/keyword&gt;
+ &lt;keyword ref="./chap1/section1.html#bla"&gt;bla&lt;/keyword&gt;
+ &lt;section ref="./chap1/section1.html#subsection1" title="Subsection 1"/&gt;
+ &lt;section ref="./chap1/section1.html#subsection2" title="Subsection 2"/&gt;
+ &lt;section ref="./chap1/section1.html#subsection3" title="Subsection 3"/&gt;
+ &lt;/section&gt;
+ &lt;section ref="./chap1/section2" title="Section2"&gt;
+ &lt;section ref="./chap1/section2.html#subsection1" title="Subsection 1"/&gt;
+ &lt;section ref="./chap1/section2.html#subsection2" title="Subsection 2"/&gt;
+ &lt;section ref="./chap1/section2.html#subsection3" title="Subsection 3"/&gt;
+ &lt;/section&gt;
+ &lt;/section&gt;
+ &lt;section ref="./chap2/chap2.html" title="Chapter2"&gt;
+ &lt;keyword ref="./chap2/chap2.html#foo"&gt;foo&lt;/keyword&gt;
+ &lt;section ref="./chap2/section1.html" title="Section1"/&gt;
+ &lt;/section&gt;
+ &lt;/DCF&gt;
+&lt;/assistantconfig&gt;
+</pre>
+<p>Sections may be nested as deeply as necessary. All references should be related.</p>
+<p>Note that any <tt>keyword</tt> tags for a given section must appear <em>before</em> any sections nested within the given section.</p>
+<p>The paths in the <tt>refs</tt> attribute are always written Unix-style (forward slashes) and are relative to the location of the documentation content file itself.</p>
+<p>Since the introduction of the new root tag <tt>assistantconfig</tt> in the fileformat from Qt version 3.2.0, it is possible to specify multiple DCF tags in one file. Note that the old document contents file format, used up to Qt 3.2 is still valid.</p>
+<h3><a name="2"></a>Profiles</h3>
+<p>Profiles enable <em>Qt Assistant</em> to act as a specialized help tool for displaying documentation for applications. With profiles, the documentation writer can change properties such as <em>Qt Assistant</em>'s title, application icons, and 'about' dialogs. In addition, profiles can be used to run specialized documentation sets that are separate from the Qt docs. <em>Qt Assistant</em> can be customized by changing the following properties:</p>
+<ul><li><p>Name- This property is used to name the profile. If multiple profiles are used for the same installation of <em>Qt Assistant</em>, this parameter is crucial to keep their profile specific settings apart. The property name is <tt>name</tt></p>
+<li><p>Title- This property is used to specify a caption for <em>Qt Assistant</em>. The property name is <tt>title</tt></p>
+<li><p>Application Icon- This property describes an icon that will be used as <em>Qt Assistant</em> application icon. The location of the icon is relative to the location of the profile. The property name is <tt>applicationicon</tt></p>
+<li><p>Start Page- This property specifies which page <em>Qt Assistant</em> should initially display when the profile is used. Usually, this is the HTML file which contains the documentation's table of contents. This property also describes the default location to go to when pressing the home button in <em>Qt Assistant</em>'s main user interface. The start page is specified relative to the location of the profile. The property name is <tt>startpage</tt></p>
+<li><p>About Menu Text- This property describes the text that appears in the <b>Help</b> menu, e.g. About Application. The property name is <tt>aboutmenutext</tt></p>
+<li><p>About URL- This property can be used to point to an HTML file that describes the contents in the About dialog that is opened for the <b>Help</b> menu, e.g. About Application. The url is specified relative to the location of the profile. The property name is <tt>abouturl</tt></p>
+<li><p><em>Qt Assistant</em> Documentation- This property describes the location of the <em>Qt Assistant</em> documentation. This is required since <em>Qt Assistant</em> provides self help, such as the full text search help and the <em>Qt Assistant</em> Manual option in the <b>Help</b> menu. The location is a directory relative to the location of the profile. The property name is <tt>assistantdocs</tt>.</p>
+</ul><p>To define a profile, one needs to specify a <em>Qt Assistant</em> Document Profile, usually abbreviated <tt>.adp</tt>. The profile is an extension of the Documentation Content File described above. We add a <tt>profile</tt> tag containing <tt>property</tt> tags to the format.</p>
+<p>An example of a document profile file is shown below:</p>
+<p><tt>helpdemo.adp</tt></p>
+<pre>
+&lt;assistantconfig version="3.2.0"&gt;
+
+ &lt;profile&gt;
+ &lt;property name="name"&gt;HelpExample&lt;/property&gt;
+ &lt;property name="title"&gt;Help Example&lt;/property&gt;
+ &lt;property name="applicationicon"&gt;logo.png&lt;/property&gt;
+ &lt;property name="startpage"&gt;index.html&lt;/property&gt;
+ &lt;property name="aboutmenutext"&gt;About Help&lt;/property&gt;
+ &lt;property name="abouturl"&gt;../about.txt&lt;/property&gt;
+ &lt;property name="assistantdocs"&gt;../../../doc/html&lt;/property&gt;
+ &lt;/profile&gt;
+
+ &lt;DCF ref="index.html" icon="handbook.png" title="Help example"&gt;
+ &lt;section ref="./manual.html" title="How to use this Example"&gt;
+ &lt;keyword ref="./manual.html#installdocs"&gt;Install Docs&lt;/keyword&gt;
+ &lt;keyword ref="./manual.html#onlydoc"&gt;Example Profile&lt;/keyword&gt;
+ &lt;keyword ref="./manual.html#hide"&gt;Hide Sidebar&lt;/keyword&gt;
+ &lt;keyword ref="./manual.html#openqabutton"&gt;Open&lt;/keyword&gt;
+ &lt;keyword ref="./manual.html#closeqabutton"&gt;Close&lt;/keyword&gt;
+ &lt;keyword ref="./manual.html#display"&gt;Display&lt;/keyword&gt;
+ &lt;/section&gt;
+ &lt;/DCF&gt;
+
+&lt;/assistantconfig&gt;
+</pre>
+<p>These files are XML files. Characters such as <tt>&lt;</tt>, <tt>&gt;</tt>, and <tt>&amp;</tt> must be written as entities (e.g., <tt>&amp;lt;</tt>, <tt>&amp;gt;</tt>, <tt>&amp;amp;</tt>).</p>
+<h4><a name="2-1"></a>Using Profiles</h4>
+<p>To use a profile, run <em>Qt Assistant</em> with the option <tt>-profile filename</tt>. This will load the profile specified in the file and will customize <em>Qt Assistant</em> accordingly. For example, to run <em>Qt Assistant</em> with the example file above, <tt>helpdemo.adp</tt>, we would run the command as follows:</p>
+<pre>
+&gt; assistant -profile helpdemo.adp
+</pre>
+<p>See the HelpDemo example in the Qt distribution for a demonstration on how to use <em>Qt Assistant</em> with profiles for your own applications.</p>
+<p>When distributing <em>Qt Assistant</em> with your application, you will also need to copy the icon files from the <tt>QTDIR/tools/assistant/images</tt> directory so that <em>Qt Assistant</em> finds its icons.</p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant.dcf b/doc/html/assistant.dcf
new file mode 100644
index 0000000..b23ea36
--- /dev/null
+++ b/doc/html/assistant.dcf
@@ -0,0 +1,9 @@
+<!DOCTYPE DCF>
+<DCF ref="assistant.html" icon="assistant.png" imagedir="../../gif" title="Qt Assistant Manual">
+<section ref="assistant-1.html" title="Introduction"/>
+<section ref="assistant-2.html" title="Introduction to the Qt Reference Documentation"/>
+<section ref="assistant-3.html" title="The 1 Minute Guide to Using Qt Assistant"/>
+<section ref="assistant-4.html" title="Qt Assistant in More Detail"/>
+<section ref="assistant-5.html" title="Full Text Searching"/>
+<section ref="assistant-6.html" title="Customizing Qt Assistant"/>
+</DCF>
diff --git a/doc/html/assistant.html b/doc/html/assistant.html
new file mode 100644
index 0000000..7bd6f46
--- /dev/null
+++ b/doc/html/assistant.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- (null):0 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Assistant Manual</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Assistant Manual</h1>
+
+<h2><a href="assistant-1.html">Introduction</a></h2>
+<h2><a href="assistant-2.html">Introduction to the Qt Reference Documentation</a></h2>
+<h2><a href="assistant-3.html">The 1 Minute Guide to Using Qt Assistant</a></h2>
+<h2><a href="assistant-4.html">Qt Assistant in More Detail</a></h2>
+<h2><a href="assistant-5.html">Full Text Searching</a></h2>
+<h2><a href="assistant-6.html">Customizing Qt Assistant</a></h2>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/assistant.png b/doc/html/assistant.png
new file mode 100644
index 0000000..9401940
--- /dev/null
+++ b/doc/html/assistant.png
Binary files differ
diff --git a/doc/html/basic.html b/doc/html/basic.html
new file mode 100644
index 0000000..074a78b
--- /dev/null
+++ b/doc/html/basic.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:535 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Basic Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Basic Widgets</h1>
+
+
+<p> These basic controls (widgets) are designed for direct use. There are
+also some <a href="abstractwidgets.html">abstract widget classes,</a>
+designed for subclassing, and some <a href="advanced.html">more complex
+widgets.</a>
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaction.html">QAction</a></b><td>Abstract user interface action that can appear both in menus and tool bars
+<tr bgcolor=#f0f0f0><td><b><a href="qactiongroup.html">QActionGroup</a></b><td>Groups actions together
+<tr bgcolor=#f0f0f0><td><b><a href="qcheckbox.html">QCheckBox</a></b><td>Checkbox with a text label
+<tr bgcolor=#f0f0f0><td><b><a href="qcombobox.html">QComboBox</a></b><td>Combined button and popup list
+<tr bgcolor=#f0f0f0><td><b><a href="qdial.html">QDial</a></b><td>Rounded range control (like a speedometer or potentiometer)
+<tr bgcolor=#f0f0f0><td><b><a href="qlabel.html">QLabel</a></b><td>Text or image display
+<tr bgcolor=#f0f0f0><td><b><a href="qlcdnumber.html">QLCDNumber</a></b><td>Displays a number with LCD-like digits
+<tr bgcolor=#f0f0f0><td><b><a href="qlineedit.html">QLineEdit</a></b><td>One-line text editor
+<tr bgcolor=#f0f0f0><td><b><a href="qpopupmenu.html">QPopupMenu</a></b><td>Popup menu widget
+<tr bgcolor=#f0f0f0><td><b><a href="qpushbutton.html">QPushButton</a></b><td>Command button
+<tr bgcolor=#f0f0f0><td><b><a href="qradiobutton.html">QRadioButton</a></b><td>Radio button with a text or pixmap label
+<tr bgcolor=#f0f0f0><td><b><a href="qscrollbar.html">QScrollBar</a></b><td>Vertical or horizontal scroll bar
+<tr bgcolor=#f0f0f0><td><b><a href="qsizegrip.html">QSizeGrip</a></b><td>Corner-grip for resizing a top-level window
+<tr bgcolor=#f0f0f0><td><b><a href="qslider.html">QSlider</a></b><td>Vertical or horizontal slider
+<tr bgcolor=#f0f0f0><td><b><a href="qspinbox.html">QSpinBox</a></b><td>Spin box widget (spin button)
+<tr bgcolor=#f0f0f0><td><b><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a></b><td>Base class for implementing QTextEdit syntax highlighters
+<tr bgcolor=#f0f0f0><td><b><a href="qtextedit.html">QTextEdit</a></b><td>Powerful single-page rich text editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtoolbutton.html">QToolButton</a></b><td>Quick-access button to commands or options, usually used inside a QToolBar
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/bearings.png b/doc/html/bearings.png
new file mode 100644
index 0000000..c9ec9f6
--- /dev/null
+++ b/doc/html/bearings.png
Binary files differ
diff --git a/doc/html/biff-example.html b/doc/html/biff-example.html
new file mode 100644
index 0000000..6a9fc9e
--- /dev/null
+++ b/doc/html/biff-example.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/biff/biff.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Biff (UNIX only)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Biff (UNIX only)</h1>
+
+
+<p>
+Biff is a simple graphical program to indicate whether there is new
+mail; it looks exactly like xbiff but is much shorter.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/biff.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef BIFF_H
+#define BIFF_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+
+class Biff : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ Biff( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+protected:
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a> * );
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+
+private:
+ <a href="qdatetime.html">QDateTime</a> lastModified;
+ <a href="qpixmap.html">QPixmap</a> hasNewMail;
+ <a href="qpixmap.html">QPixmap</a> noNewMail;
+ <a href="qstring.html">QString</a> mailbox;
+ bool gotMail;
+};
+
+
+#endif // BIFF_H
+</pre>
+
+<p> <hr>
+<p> <em>biff.cpp</em> implements this custom widget. Note in particular
+how two images (<em>hasmail_bmp_data</em> and <em>nomail_bmp_data</em>, both from
+<em>bmp.cpp</em>) are included into the executable.
+<p> <pre>/****************************************************************************
+** $Id: qt/biff.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "biff.h"
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+
+#include &lt;unistd.h&gt;
+#include &lt;stdlib.h&gt;
+
+#include "bmp.cpp"
+
+
+<a name="f527"></a>Biff::Biff( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WShowModal | WType_Dialog )
+{
+ <a href="qfileinfo.html">QFileInfo</a> fi = QString(getenv( "MAIL" ));
+<a name="x1955"></a> if ( !fi.<a href="qfileinfo.html#exists">exists</a>() ) {
+ <a href="qstring.html">QString</a> s( "/var/spool/mail/" );
+ s += getlogin();
+<a name="x1958"></a> fi.<a href="qfileinfo.html#setFile">setFile</a>( s );
+ }
+
+ if ( fi.<a href="qfileinfo.html#exists">exists</a>() ) {
+<a name="x1954"></a> mailbox = fi.<a href="qfileinfo.html#absFilePath">absFilePath</a>();
+ <a href="qobject.html#startTimer">startTimer</a>( 1000 );
+ }
+
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 48, 48 );
+ <a href="qwidget.html#setMaximumSize">setMaximumSize</a>( 48, 48 );
+ <a href="qwidget.html#resize">resize</a>( 48, 48 );
+
+ hasNewMail.loadFromData( hasmail_bmp_data, hasmail_bmp_len );
+ noNewMail.loadFromData( nomail_bmp_data, nomail_bmp_len );
+
+ gotMail = FALSE;
+<a name="x1956"></a> lastModified = fi.<a href="qfileinfo.html#lastModified">lastModified</a>();
+}
+
+
+<a name="x1959"></a>void Biff::<a href="qobject.html#timerEvent">timerEvent</a>( <a href="qtimerevent.html">QTimerEvent</a> * )
+{
+ <a href="qfileinfo.html">QFileInfo</a> fi( mailbox );
+ bool newState = ( fi.<a href="qfileinfo.html#lastModified">lastModified</a>() != lastModified &amp;&amp;
+<a name="x1957"></a> fi.<a href="qfileinfo.html#lastModified">lastModified</a>() &gt; fi.<a href="qfileinfo.html#lastRead">lastRead</a>() );
+ if ( newState != gotMail ) {
+ if ( gotMail )
+ lastModified = fi.<a href="qfileinfo.html#lastModified">lastModified</a>();
+ gotMail = newState;
+ <a href="qwidget.html#repaint">repaint</a>( FALSE );
+ }
+}
+
+
+void Biff::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ if ( gotMail )
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, 0, 0, &amp;hasNewMail );
+ else
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, 0, 0, &amp;noNewMail );
+}
+
+
+<a name="x1960"></a>void Biff::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ <a href="qfileinfo.html">QFileInfo</a> fi( mailbox );
+ lastModified = fi.<a href="qfileinfo.html#lastModified">lastModified</a>();
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "biff.h"
+
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ Biff b;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;b );
+ b.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/bigtable-example.html b/doc/html/bigtable-example.html
new file mode 100644
index 0000000..8342c4c
--- /dev/null
+++ b/doc/html/bigtable-example.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/table/bigtable/bigtable.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to create a large, sparse QTable</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>How to create a large, sparse QTable</h1>
+
+
+<p>
+<p> This example shows a sparse table implementation using a <a href="qintdict.html">QIntDict</a> to
+keep track of the cells that are actually in use.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+
+// Table size
+
+const int numRows = 1000000;
+const int numCols = 1000000;
+
+class MyTable : public <a href="qtable.html">QTable</a>
+{
+public:
+ MyTable( int r, int c ) : <a href="qtable.html">QTable</a>( r, c ) {
+<a name="x1291"></a> items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ widgets.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ setCaption( tr( "A 1 Million x 1 Million Cell Table" ) );
+ setLeftMargin( fontMetrics().width( "W999999W" ) );
+ }
+
+ void resizeData( int ) {}
+<a name="x1286"></a> <a href="qtableitem.html">QTableItem</a> *item( int r, int c ) const { return items.<a href="qintdict.html#find">find</a>( indexOf( r, c ) ); }
+<a name="x1288"></a> void setItem( int r, int c, QTableItem *i ) { items.<a href="qintdict.html#replace">replace</a>( indexOf( r, c ), i ); }
+<a name="x1287"></a> void clearCell( int r, int c ) { items.<a href="qintdict.html#remove">remove</a>( indexOf( r, c ) ); }
+ void takeItem( <a href="qtableitem.html">QTableItem</a> *item )
+ {
+ items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( FALSE );
+<a name="x1294"></a><a name="x1293"></a> items.<a href="qintdict.html#remove">remove</a>( indexOf( item-&gt;<a href="qtableitem.html#row">row</a>(), item-&gt;<a href="qtableitem.html#col">col</a>() ) );
+ items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ }
+ void insertWidget( int r, int c, QWidget *w ) { widgets.<a href="qintdict.html#replace">replace</a>( indexOf( r, c ), w ); }
+ <a href="qwidget.html">QWidget</a> *cellWidget( int r, int c ) const { return widgets.<a href="qintdict.html#find">find</a>( indexOf( r, c ) ); }
+ void clearCellWidget( int r, int c )
+ {
+<a name="x1289"></a> <a href="qwidget.html">QWidget</a> *w = widgets.<a href="qintdict.html#take">take</a>( indexOf( r, c ) );
+ if ( w )
+<a name="x1290"></a> w-&gt;<a href="qobject.html#deleteLater">deleteLater</a>();
+ }
+
+private:
+ <a href="qintdict.html">QIntDict</a>&lt;QTableItem&gt; items;
+ <a href="qintdict.html">QIntDict</a>&lt;QWidget&gt; widgets;
+
+};
+
+// The program starts here.
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ MyTable table( numRows, numCols );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;table );
+<a name="x1292"></a> table.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="table-examples.html">Table Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/book-dialog.png b/doc/html/book-dialog.png
new file mode 100644
index 0000000..16f35be
--- /dev/null
+++ b/doc/html/book-dialog.png
Binary files differ
diff --git a/doc/html/book-main.png b/doc/html/book-main.png
new file mode 100644
index 0000000..bc5f525
--- /dev/null
+++ b/doc/html/book-main.png
Binary files differ
diff --git a/doc/html/brush-styles.png b/doc/html/brush-styles.png
new file mode 100644
index 0000000..a228953
--- /dev/null
+++ b/doc/html/brush-styles.png
Binary files differ
diff --git a/doc/html/bughowto.html b/doc/html/bughowto.html
new file mode 100644
index 0000000..7a6918a
--- /dev/null
+++ b/doc/html/bughowto.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:259 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to Report A Bug</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>How to Report A Bug</h1>
+
+
+If you think you have found a bug in Qt, we would like to hear
+about it so that we can fix it.
+<p> Before reporting a bug, please check the
+<a href="commonproblems.html">Brief Technical FAQ</a>, the
+<a href="http://www.trolltech.com/developer/faqs/">FAQs</a>, and the
+<a href="http://www.trolltech.com/platforms/">Platform Notes</a>
+on our web site to see if the issue is already known.
+<p> Always include the following information in your bug report:
+<p> <ol type=1>
+<li> The name and version number of your compiler
+<li> The name and version number of your operating system
+<li> The version of Qt you are using, and what configure options it was
+compiled with.
+</ol>
+<p> If the problem you are reporting is only at visible run-time, try to
+create a small test program that shows the problem when run. Often,
+such a program can be created with some minor changes to one
+of the many example programs in the <tt>qt/examples</tt> directory.
+<p> Please send the bug report to
+<a href="mailto:qt-bugs@trolltech.com">qt-bugs@trolltech.com</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/buttongroup-w.png b/doc/html/buttongroup-w.png
new file mode 100644
index 0000000..7ad5023
--- /dev/null
+++ b/doc/html/buttongroup-w.png
Binary files differ
diff --git a/doc/html/buttongroups-example.html b/doc/html/buttongroups-example.html
new file mode 100644
index 0000000..543a728
--- /dev/null
+++ b/doc/html/buttongroups-example.html
@@ -0,0 +1,240 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/buttongroups/buttongroups.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Buttons and Groupboxes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Buttons and Groupboxes</h1>
+
+
+<p>
+This example shows different types of groupboxes (buttongroups, etc.) and
+different kinds of buttons (checkboxes, radiobuttons, pushbuttons, etc.).
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/buttongroups.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef BUTTONS_GROUPS_H
+#define BUTTONS_GROUPS_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QCheckBox;
+class QRadioButton;
+
+class ButtonsGroups : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ButtonsGroups( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qcheckbox.html">QCheckBox</a> *state;
+ <a href="qradiobutton.html">QRadioButton</a> *rb21, *rb22, *rb23;
+
+protected slots:
+ void slotChangeGrp3State();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/buttongroups.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "buttongroups.h"
+
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qgroupbox-h.html">qgroupbox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+
+/*
+ * Constructor
+ *
+ * Creates all child widgets of the ButtonGroups window
+ */
+
+<a name="f261"></a>ButtonsGroups::ButtonsGroups( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ // Create Widgets which allow easy layouting
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 11, 6 );
+ <a href="qhboxlayout.html">QHBoxLayout</a> *box1 = new <a href="qhboxlayout.html">QHBoxLayout</a>( vbox );
+ <a href="qhboxlayout.html">QHBoxLayout</a> *box2 = new <a href="qhboxlayout.html">QHBoxLayout</a>( vbox );
+
+ // ------- first group
+
+ // Create an exclusive button group
+ <a href="qbuttongroup.html">QButtonGroup</a> *bgrp1 = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal, "Button Group 1 (exclusive)", this);
+ box1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bgrp1 );
+<a name="x549"></a> bgrp1-&gt;<a href="qbuttongroup.html#setExclusive">setExclusive</a>( TRUE );
+
+ // insert 3 radiobuttons
+ <a href="qradiobutton.html">QRadioButton</a> *rb11 = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;Radiobutton 1", bgrp1 );
+<a name="x559"></a> rb11-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+ (void)new <a href="qradiobutton.html">QRadioButton</a>( "R&amp;adiobutton 2", bgrp1 );
+ (void)new <a href="qradiobutton.html">QRadioButton</a>( "Ra&amp;diobutton 3", bgrp1 );
+
+ // ------- second group
+
+ // Create a non-exclusive buttongroup
+ <a href="qbuttongroup.html">QButtonGroup</a> *bgrp2 = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal, "Button Group 2 (non-exclusive)", this );
+ box1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bgrp2 );
+ bgrp2-&gt;<a href="qbuttongroup.html#setExclusive">setExclusive</a>( FALSE );
+
+ // insert 3 checkboxes
+ (void)new <a href="qcheckbox.html">QCheckBox</a>( "&amp;Checkbox 1", bgrp2 );
+ <a href="qcheckbox.html">QCheckBox</a> *cb12 = new <a href="qcheckbox.html">QCheckBox</a>( "C&amp;heckbox 2", bgrp2 );
+<a name="x552"></a> cb12-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+ <a href="qcheckbox.html">QCheckBox</a> *cb13 = new <a href="qcheckbox.html">QCheckBox</a>( "Triple &amp;State Button", bgrp2 );
+<a name="x553"></a> cb13-&gt;<a href="qcheckbox.html#setTristate">setTristate</a>( TRUE );
+ cb13-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+
+ // ------------ third group
+
+ // create a buttongroup which is exclusive for radiobuttons and non-exclusive for all other buttons
+ <a href="qbuttongroup.html">QButtonGroup</a> *bgrp3 = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal, "Button Group 3 (Radiobutton-exclusive)", this );
+ box2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bgrp3 );
+<a name="x550"></a> bgrp3-&gt;<a href="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</a>( TRUE );
+
+ // insert three radiobuttons
+ rb21 = new <a href="qradiobutton.html">QRadioButton</a>( "Rad&amp;iobutton 1", bgrp3 );
+ rb22 = new <a href="qradiobutton.html">QRadioButton</a>( "Radi&amp;obutton 2", bgrp3 );
+ rb23 = new <a href="qradiobutton.html">QRadioButton</a>( "Radio&amp;button 3", bgrp3 );
+ rb23-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+
+ // insert a checkbox...
+ state = new <a href="qcheckbox.html">QCheckBox</a>( "E&amp;nable Radiobuttons", bgrp3 );
+ state-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+ // ...and connect its SIGNAL clicked() with the SLOT slotChangeGrp3State()
+ <a href="qobject.html#connect">connect</a>( state, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( slotChangeGrp3State() ) );
+
+ // ------------ fourth group
+
+ // create a groupbox which layouts its childs in a columns
+ <a href="qgroupbox.html">QGroupBox</a> *bgrp4 = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal, "Groupbox with normal buttons", this );
+ box2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bgrp4 );
+
+ // insert four pushbuttons...
+ (void)new <a href="qpushbutton.html">QPushButton</a>( "&amp;Push Button", bgrp4, "push" );
+
+ // now make the second one a toggle button
+ <a href="qpushbutton.html">QPushButton</a> *tb2 = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Toggle Button", bgrp4, "toggle" );
+<a name="x558"></a> tb2-&gt;<a href="qpushbutton.html#setToggleButton">setToggleButton</a>( TRUE );
+<a name="x556"></a> tb2-&gt;<a href="qpushbutton.html#setOn">setOn</a>( TRUE );
+
+ // ... and make the third one a flat button
+ <a href="qpushbutton.html">QPushButton</a> *tb3 = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Flat Button", bgrp4, "flat" );
+<a name="x555"></a> tb3-&gt;<a href="qpushbutton.html#setFlat">setFlat</a>(TRUE);
+
+ // .. and the fourth a button with a menu
+ <a href="qpushbutton.html">QPushButton</a> *tb4 = new <a href="qpushbutton.html">QPushButton</a>( "Popup Button", bgrp4, "popup" );
+ <a href="qpopupmenu.html">QPopupMenu</a> *menu = new <a href="qpopupmenu.html">QPopupMenu</a>(tb4);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Item1", 0);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Item2", 1);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Item3", 2);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Item4", 3);
+<a name="x557"></a> tb4-&gt;<a href="qpushbutton.html#setPopup">setPopup</a>(menu);
+}
+
+/*
+ * SLOT slotChangeGrp3State()
+ *
+ * enables/disables the radiobuttons of the third buttongroup
+ */
+
+void <a name="f262"></a>ButtonsGroups::slotChangeGrp3State()
+{
+<a name="x560"></a><a name="x551"></a> rb21-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( state-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() );
+ rb22-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( state-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() );
+ rb23-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( state-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "buttongroups.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ButtonsGroups buttonsgroups;
+ buttonsgroups.<a href="qwidget.html#resize">resize</a>( 500, 250 );
+ buttonsgroups.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Buttongroups" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;buttonsgroups );
+ buttonsgroups.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/canvas-chart-example.html b/doc/html/canvas-chart-example.html
new file mode 100644
index 0000000..bc91349
--- /dev/null
+++ b/doc/html/canvas-chart-example.html
@@ -0,0 +1,814 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/chart/chart.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Complete Canvas Application</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Complete Canvas Application</h1>
+
+
+
+<p>
+<p> This is a complete example program with a main window, menus and
+toolbars. The main widget is a <a href="qcanvas.html">QCanvas</a>, and this example
+demonstrates basic canvas usage.
+
+<p> <hr>
+<p> Project file:
+<p> <pre>TEMPLATE = app
+
+CONFIG += warn_on
+
+REQUIRES = full-config
+
+HEADERS += element.h \
+ canvastext.h \
+ canvasview.h \
+ chartform.h \
+ optionsform.h \
+ setdataform.h
+SOURCES += element.cpp \
+ canvasview.cpp \
+ chartform.cpp \
+ chartform_canvas.cpp \
+ chartform_files.cpp \
+ optionsform.cpp \
+ setdataform.cpp \
+ main.cpp
+</pre>
+
+<p> <hr>
+<p> Header files:
+<p> <pre>#ifndef ELEMENT_H
+#define ELEMENT_H
+
+#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+#include &lt;<a href="qnamespace-h.html">qnamespace.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qvaluevector-h.html">qvaluevector.h</a>&gt;
+
+class Element;
+
+typedef QValueVector&lt;Element&gt; ElementVector;
+
+/*
+ Elements are valid if they have a value which is &gt; EPSILON.
+*/
+const double EPSILON = 0.0000001; // Must be &gt; INVALID.
+
+
+class Element
+{
+public:
+ enum { INVALID = -1 };
+ enum { NO_PROPORTION = -1 };
+ enum { MAX_PROPOINTS = 3 }; // One proportional point per chart type
+
+ Element( double value = INVALID, QColor valueColor = Qt::gray,
+ int valuePattern = Qt::SolidPattern,
+ const <a href="qstring.html">QString</a>&amp; label = <a href="qstring.html#QString-null">QString::null</a>,
+ <a href="qcolor.html">QColor</a> labelColor = Qt::black ) {
+ init( value, valueColor, valuePattern, label, labelColor );
+ for ( int i = 0; i &lt; MAX_PROPOINTS * 2; ++i )
+ m_propoints[i] = NO_PROPORTION;
+ }
+ ~Element() {}
+
+ bool isValid() const { return m_value &gt; EPSILON; }
+
+ double value() const { return m_value; }
+ <a href="qcolor.html">QColor</a> valueColor() const { return m_valueColor; }
+ int valuePattern() const { return m_valuePattern; }
+ <a href="qstring.html">QString</a> label() const { return m_label; }
+ <a href="qcolor.html">QColor</a> labelColor() const { return m_labelColor; }
+ double proX( int index ) const;
+ double proY( int index ) const;
+
+ void set( double value = INVALID, QColor valueColor = Qt::gray,
+ int valuePattern = Qt::SolidPattern,
+ const <a href="qstring.html">QString</a>&amp; label = QString::null,
+ <a href="qcolor.html">QColor</a> labelColor = Qt::black ) {
+ init( value, valueColor, valuePattern, label, labelColor );
+ }
+ void setValue( double value ) { m_value = value; }
+ void setValueColor( <a href="qcolor.html">QColor</a> valueColor ) { m_valueColor = valueColor; }
+ void setValuePattern( int valuePattern );
+ void setLabel( const <a href="qstring.html">QString</a>&amp; label ) { m_label = label; }
+ void setLabelColor( <a href="qcolor.html">QColor</a> labelColor ) { m_labelColor = labelColor; }
+ void setProX( int index, double value );
+ void setProY( int index, double value );
+
+#ifdef Q_FULL_TEMPLATE_INSTANTIATION
+ // xlC 3.x workaround
+ Q_DUMMY_COMPARISON_OPERATOR(Element)
+ bool operator!=( const Element&amp; e) const {
+ return ( !(e == *this) );
+ }
+#endif
+
+private:
+ void init( double value, QColor valueColor, int valuePattern,
+ const <a href="qstring.html">QString</a>&amp; label, QColor labelColor );
+
+ double m_value;
+ <a href="qcolor.html">QColor</a> m_valueColor;
+ int m_valuePattern;
+ <a href="qstring.html">QString</a> m_label;
+ <a href="qcolor.html">QColor</a> m_labelColor;
+ double m_propoints[2 * MAX_PROPOINTS];
+};
+
+
+QTextStream &amp;operator&lt;&lt;( <a href="qtextstream.html">QTextStream</a>&amp;, const Element&amp; );
+QTextStream &amp;operator&gt;&gt;( <a href="qtextstream.html">QTextStream</a>&amp;, Element&amp; );
+
+#endif
+</pre>
+
+<pre>#ifndef CHARTFORM_H
+#define CHARTFORM_H
+
+#include "element.h"
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+
+
+class CanvasView;
+
+class QAction;
+class QCanvas;
+class QFont;
+class QPrinter;
+class QString;
+
+
+class ChartForm: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ enum { MAX_ELEMENTS = 100 };
+ enum { MAX_RECENTFILES = 9 }; // Must not exceed 9
+ enum ChartType { PIE, VERTICAL_BAR, HORIZONTAL_BAR };
+ enum AddValuesType { NO, YES, AS_PERCENTAGE };
+
+ ChartForm( const <a href="qstring.html">QString</a>&amp; filename );
+ ~ChartForm();
+
+ int chartType() { return m_chartType; }
+ void setChanged( bool changed = TRUE ) { m_changed = changed; }
+ void drawElements();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *optionsMenu; // Why public? See canvasview.cpp
+
+protected:
+ virtual void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+private slots:
+ void fileNew();
+ void fileOpen();
+ void fileOpenRecent( int index );
+ void fileSave();
+ void fileSaveAs();
+ void fileSaveAsPixmap();
+ void filePrint();
+ void fileQuit();
+ void optionsSetData();
+ void updateChartType( <a href="qaction.html">QAction</a> *action );
+ void optionsSetFont();
+ void optionsSetOptions();
+ void helpHelp();
+ void helpAbout();
+ void helpAboutQt();
+ void saveOptions();
+
+private:
+ void init();
+ void load( const <a href="qstring.html">QString</a>&amp; filename );
+ bool okToClear();
+ void drawPieChart( const double scales[], double total, int count );
+ void drawVerticalBarChart( const double scales[], double total, int count );
+ void drawHorizontalBarChart( const double scales[], double total, int count );
+
+ <a href="qstring.html">QString</a> valueLabel( const <a href="qstring.html">QString</a>&amp; label, double value, double total );
+ void updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename );
+ void updateRecentFilesMenu();
+ void setChartType( ChartType chartType );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu;
+ <a href="qaction.html">QAction</a> *optionsPieChartAction;
+ <a href="qaction.html">QAction</a> *optionsHorizontalBarChartAction;
+ <a href="qaction.html">QAction</a> *optionsVerticalBarChartAction;
+
+
+ <a href="qstring.html">QString</a> m_filename;
+ <a href="qstringlist.html">QStringList</a> m_recentFiles;
+ <a href="qcanvas.html">QCanvas</a> *m_canvas;
+ CanvasView *m_canvasView;
+ bool m_changed;
+ ElementVector m_elements;
+ <a href="qprinter.html">QPrinter</a> *m_printer;
+ ChartType m_chartType;
+ AddValuesType m_addValues;
+ int m_decimalPlaces;
+ <a href="qfont.html">QFont</a> m_font;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>#include "canvasview.h"
+#include "chartform.h"
+#include "optionsform.h"
+#include "setdataform.h"
+
+#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qsettings-h.html">qsettings.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+
+#include "images/file_new.xpm"
+#include "images/file_open.xpm"
+#include "images/file_save.xpm"
+#include "images/file_print.xpm"
+#include "images/options_setdata.xpm"
+#include "images/options_setfont.xpm"
+#include "images/options_setoptions.xpm"
+#include "images/options_horizontalbarchart.xpm"
+#include "images/options_piechart.xpm"
+#include "images/options_verticalbarchart.xpm"
+
+
+const <a href="qstring.html">QString</a> WINDOWS_REGISTRY = "/Trolltech/QtExamples";
+const <a href="qstring.html">QString</a> APP_KEY = "/Chart/";
+
+
+<a name="f596"></a>ChartForm::ChartForm( const <a href="qstring.html">QString</a>&amp; filename )
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, 0, WDestructiveClose )
+{
+ <a href="qwidget.html#setIcon">setIcon</a>( QPixmap( options_piechart ) );
+
+ <a href="qaction.html">QAction</a> *fileNewAction;
+ <a href="qaction.html">QAction</a> *fileOpenAction;
+ <a href="qaction.html">QAction</a> *fileSaveAction;
+ <a href="qaction.html">QAction</a> *fileSaveAsAction;
+ <a href="qaction.html">QAction</a> *fileSaveAsPixmapAction;
+ <a href="qaction.html">QAction</a> *filePrintAction;
+ <a href="qaction.html">QAction</a> *fileQuitAction;
+ <a href="qaction.html">QAction</a> *optionsSetDataAction;
+ <a href="qaction.html">QAction</a> *optionsSetFontAction;
+ <a href="qaction.html">QAction</a> *optionsSetOptionsAction;
+
+ fileNewAction = new <a href="qaction.html">QAction</a>(
+ "New Chart", QPixmap( file_new ),
+ "&amp;New", CTRL+Key_N, this, "new" );
+<a name="x2869"></a> <a href="qobject.html#connect">connect</a>( fileNewAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileNew() ) );
+
+ fileOpenAction = new <a href="qaction.html">QAction</a>(
+ "Open Chart", QPixmap( file_open ),
+ "&amp;Open...", CTRL+Key_O, this, "open" );
+ <a href="qobject.html#connect">connect</a>( fileOpenAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileOpen() ) );
+
+ fileSaveAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart", QPixmap( file_save ),
+ "&amp;Save", CTRL+Key_S, this, "save" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileSave() ) );
+
+ fileSaveAsAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart As", QPixmap( file_save ),
+ "Save &amp;As...", 0, this, "save as" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAsAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( fileSaveAs() ) );
+
+ fileSaveAsPixmapAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart As Bitmap", QPixmap( file_save ),
+ "Save As &amp;Bitmap...", CTRL+Key_B, this, "save as bitmap" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAsPixmapAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( fileSaveAsPixmap() ) );
+
+ filePrintAction = new <a href="qaction.html">QAction</a>(
+ "Print Chart", QPixmap( file_print ),
+ "&amp;Print Chart...", CTRL+Key_P, this, "print chart" );
+ <a href="qobject.html#connect">connect</a>( filePrintAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( filePrint() ) );
+
+ optionsSetDataAction = new <a href="qaction.html">QAction</a>(
+ "Set Data", QPixmap( options_setdata ),
+ "Set &amp;Data...", CTRL+Key_D, this, "set data" );
+ <a href="qobject.html#connect">connect</a>( optionsSetDataAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetData() ) );
+
+
+ <a href="qactiongroup.html">QActionGroup</a> *chartGroup = new <a href="qactiongroup.html">QActionGroup</a>( this ); // Connected later
+<a name="x2874"></a> chartGroup-&gt;<a href="qactiongroup.html#setExclusive">setExclusive</a>( TRUE );
+
+ optionsPieChartAction = new <a href="qaction.html">QAction</a>(
+ "Pie Chart", QPixmap( options_piechart ),
+ "&amp;Pie Chart", CTRL+Key_I, chartGroup, "pie chart" );
+<a name="x2872"></a> optionsPieChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+ optionsHorizontalBarChartAction = new <a href="qaction.html">QAction</a>(
+ "Horizontal Bar Chart", QPixmap( options_horizontalbarchart ),
+ "&amp;Horizontal Bar Chart", CTRL+Key_H, chartGroup,
+ "horizontal bar chart" );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+ optionsVerticalBarChartAction = new <a href="qaction.html">QAction</a>(
+ "Vertical Bar Chart", QPixmap( options_verticalbarchart ),
+ "&amp;Vertical Bar Chart", CTRL+Key_V, chartGroup, "Vertical bar chart" );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+
+ optionsSetFontAction = new <a href="qaction.html">QAction</a>(
+ "Set Font", QPixmap( options_setfont ),
+ "Set &amp;Font...", CTRL+Key_F, this, "set font" );
+ <a href="qobject.html#connect">connect</a>( optionsSetFontAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetFont() ) );
+
+ optionsSetOptionsAction = new <a href="qaction.html">QAction</a>(
+ "Set Options", QPixmap( options_setoptions ),
+ "Set &amp;Options...", 0, this, "set options" );
+ <a href="qobject.html#connect">connect</a>( optionsSetOptionsAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetOptions() ) );
+
+ fileQuitAction = new <a href="qaction.html">QAction</a>( "Quit", "&amp;Quit", CTRL+Key_Q, this, "quit" );
+ <a href="qobject.html#connect">connect</a>( fileQuitAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileQuit() ) );
+
+
+ <a href="qtoolbar.html">QToolBar</a>* fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+<a name="x2895"></a> fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+<a name="x2870"></a> fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+<a name="x2894"></a> fileTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+
+ <a href="qtoolbar.html">QToolBar</a> *optionsTools = new <a href="qtoolbar.html">QToolBar</a>( this, "options operations" );
+ optionsTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "Options Operations" );
+ optionsSetDataAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsPieChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsSetFontAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsSetOptionsAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+
+ fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", fileMenu );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileSaveAsAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fileSaveAsPixmapAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fileQuitAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+
+ optionsMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Options", optionsMenu );
+ optionsSetDataAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsPieChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsSetFontAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsSetOptionsAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *helpMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", helpMenu );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Help", this, SLOT(helpHelp()), Key_F1 );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(helpAbout()) );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(helpAboutQt()) );
+
+
+ m_printer = 0;
+ m_elements.resize( MAX_ELEMENTS );
+
+ <a href="qsettings.html">QSettings</a> settings;
+<a name="x2890"></a> settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ int windowWidth = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowWidth", 460 );
+ int windowHeight = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowHeight", 530 );
+ int windowX = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowX", -1 );
+ int windowY = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowY", -1 );
+ setChartType( ChartType(
+ settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "ChartType", int(PIE) ) ) );
+ m_addValues = AddValuesType(
+ settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "AddValues", int(NO) ));
+ m_decimalPlaces = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "Decimals", 2 );
+ m_font = QFont( "Helvetica", 18, QFont::Bold );
+ m_font.fromString(
+ settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "Font", m_font.toString() ) );
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+ <a href="qstring.html">QString</a> filename = settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "File" +
+<a name="x2893"></a> QString::<a href="qstring.html#number">number</a>( i + 1 ) );
+<a name="x2892"></a> if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ m_recentFiles.push_back( filename );
+ }
+ if ( m_recentFiles.count() )
+ updateRecentFilesMenu();
+
+
+ // Connect *after* we've set the chart type on so we don't call
+ // drawElements() prematurely.
+<a name="x2873"></a> <a href="qobject.html#connect">connect</a>( chartGroup, SIGNAL( <a href="qactiongroup.html#selected">selected</a>(QAction*) ),
+ this, SLOT( updateChartType(QAction*) ) );
+
+ <a href="qwidget.html#resize">resize</a>( windowWidth, windowHeight );
+ if ( windowX != -1 || windowY != -1 )
+ <a href="qwidget.html#move">move</a>( windowX, windowY );
+
+ m_canvas = new <a href="qcanvas.html">QCanvas</a>( this );
+<a name="x2876"></a> m_canvas-&gt;<a href="qcanvas.html#resize">resize</a>( <a href="qwidget.html#width">width</a>(), height() );
+ m_canvasView = new CanvasView( m_canvas, &amp;m_elements, this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( m_canvasView );
+ m_canvasView-&gt;<a href="qwidget.html#show">show</a>();
+
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else {
+ init();
+ m_elements[0].set( 20, red, 14, "Red" );
+ m_elements[1].set( 70, cyan, 2, "Cyan", darkGreen );
+ m_elements[2].set( 35, blue, 11, "Blue" );
+ m_elements[3].set( 55, yellow, 1, "Yellow", darkBlue );
+ m_elements[4].set( 80, magenta, 1, "Magenta" );
+ drawElements();
+ }
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+}
+
+
+ChartForm::~ChartForm()
+{
+ delete m_printer;
+}
+
+
+void <a name="f597"></a>ChartForm::init()
+{
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart" );
+ m_filename = QString::null;
+ m_changed = FALSE;
+
+ m_elements[0] = Element( Element::INVALID, red );
+ m_elements[1] = Element( Element::INVALID, cyan );
+ m_elements[2] = Element( Element::INVALID, blue );
+ m_elements[3] = Element( Element::INVALID, yellow );
+ m_elements[4] = Element( Element::INVALID, green );
+ m_elements[5] = Element( Element::INVALID, magenta );
+ m_elements[6] = Element( Element::INVALID, darkYellow );
+ m_elements[7] = Element( Element::INVALID, darkRed );
+ m_elements[8] = Element( Element::INVALID, darkCyan );
+ m_elements[9] = Element( Element::INVALID, darkGreen );
+ m_elements[10] = Element( Element::INVALID, darkMagenta );
+ m_elements[11] = Element( Element::INVALID, darkBlue );
+ for ( int i = 12; i &lt; MAX_ELEMENTS; ++i ) {
+ double x = (double(i) / MAX_ELEMENTS) * 360;
+ int y = (int(x * 256) % 105) + 151;
+ int z = ((i * 17) % 105) + 151;
+ m_elements[i] = Element( Element::INVALID, QColor( int(x), y, z, QColor::Hsv ) );
+ }
+}
+
+<a name="x2896"></a>void ChartForm::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> * )
+{
+ fileQuit();
+}
+
+
+void <a name="f598"></a>ChartForm::fileNew()
+{
+ if ( okToClear() ) {
+ init();
+ drawElements();
+ }
+}
+
+
+void <a name="f599"></a>ChartForm::fileOpen()
+{
+ if ( !okToClear() )
+ return;
+
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file open", "Chart -- File Open" );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "File Open abandoned", 2000 );
+}
+
+
+void <a name="f600"></a>ChartForm::fileSaveAs()
+{
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file save as", "Chart -- File Save As" );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ int answer = 0;
+<a name="x2878"></a> if ( QFile::<a href="qfile.html#exists">exists</a>( filename ) )
+<a name="x2889"></a> answer = QMessageBox::<a href="qmessagebox.html#warning">warning</a>(
+ this, "Chart -- Overwrite File",
+ QString( "Overwrite\n\'%1\'?" ).
+ arg( filename ),
+ "&amp;Yes", "&amp;No", QString::null, 1, 1 );
+ if ( answer == 0 ) {
+ m_filename = filename;
+ updateRecentFiles( filename );
+ fileSave();
+ return;
+ }
+ }
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving abandoned", 2000 );
+}
+
+
+void <a name="f601"></a>ChartForm::fileOpenRecent( int index )
+{
+ if ( !okToClear() )
+ return;
+
+ load( m_recentFiles[index] );
+}
+
+
+void <a name="f602"></a>ChartForm::updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename )
+{
+ if ( m_recentFiles.find( filename ) != m_recentFiles.end() )
+ return;
+
+ m_recentFiles.push_back( filename );
+ if ( m_recentFiles.count() &gt; MAX_RECENTFILES )
+ m_recentFiles.pop_front();
+
+ updateRecentFilesMenu();
+}
+
+
+void <a name="f603"></a>ChartForm::updateRecentFilesMenu()
+{
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+<a name="x2882"></a> if ( fileMenu-&gt;<a href="qmenudata.html#findItem">findItem</a>( i ) )
+<a name="x2885"></a> fileMenu-&gt;<a href="qmenudata.html#removeItem">removeItem</a>( i );
+ if ( i &lt; int(m_recentFiles.count()) )
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QString( "&amp;%1 %2" ).
+ arg( i + 1 ).arg( m_recentFiles[i] ),
+ this, SLOT( fileOpenRecent(int) ),
+ 0, i );
+ }
+}
+
+
+void <a name="f604"></a>ChartForm::fileQuit()
+{
+ if ( okToClear() ) {
+ saveOptions();
+<a name="x2875"></a> qApp-&gt;<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+}
+
+
+bool <a name="f605"></a>ChartForm::okToClear()
+{
+ if ( m_changed ) {
+ <a href="qstring.html">QString</a> msg;
+ if ( m_filename.isEmpty() )
+ msg = "Unnamed chart ";
+ else
+ msg = QString( "Chart '%1'\n" ).arg( m_filename );
+ msg += "has been changed.";
+
+ int x = QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Chart -- Unsaved Changes",
+ msg, "&amp;Save", "Cancel", "&amp;Abandon",
+ 0, 1 );
+ switch( x ) {
+ case 0: // Save
+ fileSave();
+ break;
+ case 1: // Cancel
+ default:
+ return FALSE;
+ case 2: // Abandon
+ break;
+ }
+ }
+
+ return TRUE;
+}
+
+
+void <a name="f606"></a>ChartForm::saveOptions()
+{
+ <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+<a name="x2891"></a> settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowWidth", width() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowHeight", height() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowX", x() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowY", y() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "ChartType", int(m_chartType) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "AddValues", int(m_addValues) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Decimals", m_decimalPlaces );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Font", m_font.toString() );
+ for ( int i = 0; i &lt; int(m_recentFiles.count()); ++i )
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "File" + QString::number( i + 1 ),
+ m_recentFiles[i] );
+}
+
+
+void <a name="f607"></a>ChartForm::optionsSetData()
+{
+ SetDataForm *setDataForm = new SetDataForm( &amp;m_elements, m_decimalPlaces, this );
+<a name="x2877"></a> if ( setDataForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ m_changed = TRUE;
+ drawElements();
+ }
+ delete setDataForm;
+}
+
+
+void <a name="f608"></a>ChartForm::setChartType( ChartType chartType )
+{
+ m_chartType = chartType;
+ switch ( m_chartType ) {
+ case PIE:
+<a name="x2871"></a> optionsPieChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ case VERTICAL_BAR:
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ case HORIZONTAL_BAR:
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ }
+}
+
+
+void <a name="f609"></a>ChartForm::updateChartType( <a href="qaction.html">QAction</a> *action )
+{
+ if ( action == optionsPieChartAction ) {
+ m_chartType = PIE;
+ }
+ else if ( action == optionsHorizontalBarChartAction ) {
+ m_chartType = HORIZONTAL_BAR;
+ }
+ else if ( action == optionsVerticalBarChartAction ) {
+ m_chartType = VERTICAL_BAR;
+ }
+
+ drawElements();
+}
+
+
+void <a name="f610"></a>ChartForm::optionsSetFont()
+{
+ bool ok;
+<a name="x2881"></a> <a href="qfont.html">QFont</a> font = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, m_font, this );
+ if ( ok ) {
+ m_font = font;
+ drawElements();
+ }
+}
+
+
+void <a name="f611"></a>ChartForm::optionsSetOptions()
+{
+ OptionsForm *optionsForm = new OptionsForm( this );
+ optionsForm-&gt;chartTypeComboBox-&gt;setCurrentItem( m_chartType );
+ optionsForm-&gt;<a href="qwidget.html#setFont">setFont</a>( m_font );
+ switch ( m_addValues ) {
+ case NO:
+ optionsForm-&gt;noRadioButton-&gt;setChecked( TRUE );
+ break;
+ case YES:
+ optionsForm-&gt;yesRadioButton-&gt;setChecked( TRUE );
+ break;
+ case AS_PERCENTAGE:
+ optionsForm-&gt;asPercentageRadioButton-&gt;setChecked( TRUE );
+ break;
+ }
+ optionsForm-&gt;decimalPlacesSpinBox-&gt;setValue( m_decimalPlaces );
+ if ( optionsForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ setChartType( ChartType(
+ optionsForm-&gt;chartTypeComboBox-&gt;currentItem()) );
+<a name="x2897"></a> m_font = optionsForm-&gt;<a href="qwidget.html#font">font</a>();
+ if ( optionsForm-&gt;noRadioButton-&gt;isChecked() )
+ m_addValues = NO;
+ else if ( optionsForm-&gt;yesRadioButton-&gt;isChecked() )
+ m_addValues = YES;
+ else if ( optionsForm-&gt;asPercentageRadioButton-&gt;isChecked() )
+ m_addValues = AS_PERCENTAGE;
+ m_decimalPlaces = optionsForm-&gt;decimalPlacesSpinBox-&gt;value();
+ drawElements();
+ }
+ delete optionsForm;
+}
+
+
+void <a name="f612"></a>ChartForm::helpHelp()
+{
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Help is not implemented yet", 2000 );
+}
+
+
+void <a name="f613"></a>ChartForm::helpAbout()
+{
+<a name="x2886"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Chart -- About",
+ "&lt;center&gt;&lt;h1&gt;&lt;font color=blue&gt;Chart&lt;font&gt;&lt;/h1&gt;&lt;/center&gt;"
+ "&lt;p&gt;Chart your data with &lt;i&gt;chart&lt;/i&gt;.&lt;/p&gt;"
+ );
+}
+
+
+void <a name="f614"></a>ChartForm::helpAboutQt()
+{
+<a name="x2887"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Chart -- About Qt" );
+}
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "chartform.h"
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qstring.html">QString</a> filename;
+<a name="x2900"></a> if ( app.<a href="qapplication.html#argc">argc</a>() &gt; 1 ) {
+<a name="x2901"></a> filename = app.<a href="qapplication.html#argv">argv</a>()[1];
+<a name="x2904"></a> if ( !filename.<a href="qstring.html#endsWith">endsWith</a>( ".cht" ) )
+ filename = QString::null;
+ }
+
+ ChartForm *cf = new ChartForm( filename );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( cf );
+ cf-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="step-by-step-examples.html">Step-by-step Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/canvas-example.html b/doc/html/canvas-example.html
new file mode 100644
index 0000000..b4b9a43
--- /dev/null
+++ b/doc/html/canvas-example.html
@@ -0,0 +1,941 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/canvas/canvas.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Canvas Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Canvas Example</h1>
+
+
+<p>
+This example shows a <a href="qcanvas.html">QCanvas</a> and some <a href="qcanvasitem.html">QCanvasItem</a>s in action.
+You can do a lot more with QCanvas than we show here, but the
+example provides a taste of what can be done.
+<p> <hr>
+<p> Header file:
+<p> <pre>#ifndef EXAMPLE_H
+#define EXAMPLE_H
+
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qintdict-h.html">qintdict.h</a>&gt;
+#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;
+
+class BouncyLogo : public <a href="qcanvassprite.html">QCanvasSprite</a> {
+ void initPos();
+ void initSpeed();
+public:
+ BouncyLogo(QCanvas*);
+ void advance(int);
+ int rtti() const;
+};
+
+
+class FigureEditor : public <a href="qcanvasview.html">QCanvasView</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ FigureEditor(QCanvas&amp;, QWidget* parent=0, const char* name=0, WFlags f=0);
+ void clear();
+
+protected:
+ void contentsMousePressEvent(QMouseEvent*);
+ void contentsMouseMoveEvent(QMouseEvent*);
+
+signals:
+ void status(const <a href="qstring.html">QString</a>&amp;);
+
+private:
+ <a href="qcanvasitem.html">QCanvasItem</a>* moving;
+ <a href="qpoint.html">QPoint</a> moving_start;
+};
+
+class Main : public <a href="qmainwindow.html">QMainWindow</a> {
+ Q_OBJECT
+
+public:
+ Main(QCanvas&amp;, QWidget* parent=0, const char* name=0, WFlags f=0);
+ ~Main();
+
+public slots:
+ void help();
+
+private slots:
+ void aboutQt();
+ void newView();
+ void clear();
+ void init();
+
+ void addSprite();
+ void addCircle();
+ void addHexagon();
+ void addPolygon();
+ void addSpline();
+ void addText();
+ void addLine();
+ void addRectangle();
+ void addMesh();
+ void addLogo();
+ void addButterfly();
+
+ void enlarge();
+ void shrink();
+ void rotateClockwise();
+ void rotateCounterClockwise();
+ void zoomIn();
+ void zoomOut();
+ void mirror();
+ void moveL();
+ void moveR();
+ void moveU();
+ void moveD();
+
+ void print();
+
+ void toggleDoubleBuffer();
+
+private:
+ <a href="qcanvas.html">QCanvas</a>&amp; canvas;
+ FigureEditor *editor;
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* options;
+ <a href="qprinter.html">QPrinter</a>* printer;
+ int dbf_id;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qprogressdialog-h.html">qprogressdialog.h</a>&gt;
+#include "canvas.h"
+
+#include &lt;stdlib.h&gt;
+
+// We use a global variable to save memory - all the brushes and pens in
+// the mesh are shared.
+static QBrush *tb = 0;
+static QPen *tp = 0;
+
+class EdgeItem;
+class NodeItem;
+
+class EdgeItem: public <a href="qcanvasline.html">QCanvasLine</a>
+{
+public:
+ EdgeItem( NodeItem*, NodeItem*, QCanvas *canvas );
+ void setFromPoint( int x, int y ) ;
+ void setToPoint( int x, int y );
+ static int count() { return c; }
+ void moveBy(double dx, double dy);
+private:
+ static int c;
+};
+
+static const int imageRTTI = 984376;
+
+
+class ImageItem: public <a href="qcanvasrectangle.html">QCanvasRectangle</a>
+{
+public:
+ ImageItem( <a href="qimage.html">QImage</a> img, QCanvas *canvas );
+ int rtti () const { return imageRTTI; }
+ bool hit( const <a href="qpoint.html">QPoint</a>&amp;) const;
+protected:
+ void drawShape( <a href="qpainter.html">QPainter</a> &amp; );
+private:
+ <a href="qimage.html">QImage</a> image;
+ <a href="qpixmap.html">QPixmap</a> pixmap;
+};
+
+
+<a name="f623"></a>ImageItem::ImageItem( <a href="qimage.html">QImage</a> img, QCanvas *canvas )
+ : <a href="qcanvasrectangle.html">QCanvasRectangle</a>( canvas ), image(img)
+{
+<a name="x2935"></a><a name="x2932"></a> <a href="qcanvasrectangle.html#setSize">setSize</a>( image.<a href="qimage.html#width">width</a>(), image.<a href="qimage.html#height">height</a>() );
+
+#if !defined(Q_WS_QWS)
+<a name="x2943"></a> pixmap.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(image, OrderedAlphaDither);
+#endif
+}
+
+
+<a name="x2925"></a>void ImageItem::<a href="qcanvasrectangle.html#drawShape">drawShape</a>( <a href="qpainter.html">QPainter</a> &amp;p )
+{
+// On Qt/Embedded, we can paint a QImage as fast as a QPixmap,
+// but on other platforms, we need to use a QPixmap.
+#if defined(Q_WS_QWS)
+<a name="x2941"></a> p.<a href="qpainter.html#drawImage">drawImage</a>( int(<a href="qcanvasitem.html#x">x</a>()), int(<a href="qcanvasitem.html#y">y</a>()), image, 0, 0, -1, -1, OrderedAlphaDither );
+#else
+ p.<a href="qpainter.html#drawPixmap">drawPixmap</a>( int(<a href="qcanvasitem.html#x">x</a>()), int(<a href="qcanvasitem.html#y">y</a>()), pixmap );
+#endif
+}
+
+bool <a name="f624"></a>ImageItem::hit( const <a href="qpoint.html">QPoint</a> &amp;p ) const
+{
+<a name="x2944"></a> int ix = p.<a href="qpoint.html#x">x</a>()-int(<a href="qcanvasitem.html#x">x</a>());
+<a name="x2945"></a> int iy = p.<a href="qpoint.html#y">y</a>()-int(<a href="qcanvasitem.html#y">y</a>());
+<a name="x2934"></a> if ( !image.<a href="qimage.html#valid">valid</a>( ix , iy ) )
+ return FALSE;
+<a name="x2933"></a> QRgb pixel = image.<a href="qimage.html#pixel">pixel</a>( ix, iy );
+ return qAlpha( pixel ) != 0;
+}
+
+class NodeItem: public <a href="qcanvasellipse.html">QCanvasEllipse</a>
+{
+public:
+ NodeItem( <a href="qcanvas.html">QCanvas</a> *canvas );
+ ~NodeItem() {}
+
+ void addInEdge( EdgeItem *edge ) { inList.<a href="qptrlist.html#append">append</a>( edge ); }
+ void addOutEdge( EdgeItem *edge ) { outList.<a href="qptrlist.html#append">append</a>( edge ); }
+
+ void moveBy(double dx, double dy);
+
+ // QPoint center() { return boundingRect().center(); }
+private:
+ <a href="qptrlist.html">QPtrList</a>&lt;EdgeItem&gt; inList;
+ <a href="qptrlist.html">QPtrList</a>&lt;EdgeItem&gt; outList;
+};
+
+
+int EdgeItem::c = 0;
+
+
+<a name="x2916"></a>void EdgeItem::<a href="qcanvasitem.html#moveBy">moveBy</a>(double, double)
+{
+ //nothing
+}
+
+<a name="f618"></a>EdgeItem::EdgeItem( NodeItem *from, NodeItem *to, QCanvas *canvas )
+ : <a href="qcanvasline.html">QCanvasLine</a>( canvas )
+{
+ c++;
+ setPen( *tp );
+ setBrush( *tb );
+ from-&gt;addOutEdge( this );
+ to-&gt;addInEdge( this );
+<a name="x2921"></a><a name="x2920"></a> setPoints( int(from-&gt;<a href="qcanvasitem.html#x">x</a>()), int(from-&gt;<a href="qcanvasitem.html#y">y</a>()), int(to-&gt;x()), int(to-&gt;y()) );
+ setZ( 127 );
+}
+
+void <a name="f619"></a>EdgeItem::setFromPoint( int x, int y )
+{
+ setPoints( x,y, endPoint().x(), endPoint().y() );
+}
+
+void <a name="f620"></a>EdgeItem::setToPoint( int x, int y )
+{
+ setPoints( startPoint().x(), startPoint().y(), x, y );
+}
+
+
+
+void NodeItem::<a href="qcanvasitem.html#moveBy">moveBy</a>(double dx, double dy)
+{
+ QCanvasEllipse::<a href="qcanvasitem.html#moveBy">moveBy</a>( dx, dy );
+
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;EdgeItem&gt; it1( inList );
+ EdgeItem *edge;
+<a name="x2949"></a> while (( edge = it1.<a href="qptrlistiterator.html#current">current</a>() )) {
+ ++it1;
+ edge-&gt;setToPoint( int(<a href="qwidget.html#x">x</a>()), int(<a href="qcanvasitem.html#y">y</a>()) );
+ }
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;EdgeItem&gt; it2( outList );
+ while (( edge = it2.<a href="qptrlistiterator.html#current">current</a>() )) {
+ ++it2;
+ edge-&gt;setFromPoint( int(<a href="qcanvasitem.html#x">x</a>()), int(<a href="qcanvasitem.html#y">y</a>()) );
+ }
+}
+
+<a name="f655"></a>NodeItem::NodeItem( <a href="qcanvas.html">QCanvas</a> *canvas )
+ : <a href="qcanvasellipse.html">QCanvasEllipse</a>( 6, 6, canvas )
+{
+ setPen( *tp );
+ setBrush( *tb );
+ <a href="qcanvasitem.html#setZ">setZ</a>( 128 );
+}
+
+<a name="f621"></a>FigureEditor::FigureEditor(
+ <a href="qcanvas.html">QCanvas</a>&amp; c, QWidget* parent,
+ const char* name, WFlags f) :
+ <a href="qcanvasview.html">QCanvasView</a>(&amp;c,parent,name,f)
+{
+}
+
+<a name="x2951"></a>void FigureEditor::<a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>(QMouseEvent* e)
+{
+ <a href="qpoint.html">QPoint</a> p = inverseWorldMatrix().map(e-&gt;pos());
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> l=<a href="qcanvasitem.html#canvas">canvas</a>()-&gt;collisions(p);
+<a name="x2953"></a><a name="x2952"></a> for (QCanvasItemList::Iterator it=l.<a href="qvaluelist.html#begin">begin</a>(); it!=l.<a href="qvaluelist.html#end">end</a>(); ++it) {
+ if ( (*it)-&gt;rtti() == imageRTTI ) {
+ ImageItem *item= (ImageItem*)(*it);
+ if ( !item-&gt;hit( p ) )
+ continue;
+ }
+ moving = *it;
+ moving_start = p;
+ return;
+ }
+ moving = 0;
+}
+
+void <a name="f622"></a>FigureEditor::clear()
+{
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> list = <a href="qcanvasitem.html#canvas">canvas</a>()-&gt;allItems();
+ QCanvasItemList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ for (; it != list.<a href="qvaluelist.html#end">end</a>(); ++it) {
+ if ( *it )
+ delete *it;
+ }
+}
+
+<a name="x2950"></a>void FigureEditor::<a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>(QMouseEvent* e)
+{
+ if ( moving ) {
+ <a href="qpoint.html">QPoint</a> p = inverseWorldMatrix().map(e-&gt;pos());
+ moving-&gt;moveBy(p.<a href="qpoint.html#x">x</a>() - moving_start.x(),
+ p.<a href="qpoint.html#y">y</a>() - moving_start.y());
+ moving_start = p;
+ <a href="qcanvasitem.html#canvas">canvas</a>()-&gt;update();
+ }
+}
+
+
+
+<a name="f615"></a>BouncyLogo::BouncyLogo(QCanvas* canvas) :
+ <a href="qcanvassprite.html">QCanvasSprite</a>(0,canvas)
+{
+ static QCanvasPixmapArray logo("qt-trans.xpm");
+ <a href="qcanvassprite.html#setSequence">setSequence</a>(&amp;logo);
+ <a href="qcanvasitem.html#setAnimated">setAnimated</a>(TRUE);
+ initPos();
+}
+
+
+const int logo_rtti = 1234;
+
+<a name="x2928"></a>int BouncyLogo::<a href="qcanvassprite.html#rtti">rtti</a>() const
+{
+ return logo_rtti;
+}
+
+void <a name="f616"></a>BouncyLogo::initPos()
+{
+ initSpeed();
+ int trial=1000;
+ do {
+ <a href="qcanvassprite.html#move">move</a>(rand()%canvas()-&gt;width(),rand()%canvas()-&gt;height());
+ advance(0);
+ } while (trial-- &amp;&amp; xVelocity()==0.0 &amp;&amp; yVelocity()==0.0);
+}
+
+void <a name="f617"></a>BouncyLogo::initSpeed()
+{
+ const double speed = 4.0;
+ double d = (double)(rand()%1024) / 1024.0;
+ setVelocity( d*speed*2-speed, (1-d)*speed*2-speed );
+}
+
+<a name="x2927"></a>void BouncyLogo::<a href="qcanvassprite.html#advance">advance</a>(int stage)
+{
+ switch ( stage ) {
+ case 0: {
+ double vx = xVelocity();
+ double vy = yVelocity();
+
+ if ( vx == 0.0 &amp;&amp; vy == 0.0 ) {
+ // stopped last turn
+ initSpeed();
+ vx = xVelocity();
+ vy = yVelocity();
+ }
+
+ double nx = <a href="qwidget.html#x">x</a>() + vx;
+ double ny = <a href="qwidget.html#y">y</a>() + vy;
+
+ if ( nx &lt; 0 || nx &gt;= canvas()-&gt;width() )
+ vx = -vx;
+ if ( ny &lt; 0 || ny &gt;= canvas()-&gt;height() )
+ vy = -vy;
+
+ for (int bounce=0; bounce&lt;4; bounce++) {
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> l=collisions(FALSE);
+ for (QCanvasItemList::Iterator it=l.<a href="qvaluelist.html#begin">begin</a>(); it!=l.<a href="qvaluelist.html#end">end</a>(); ++it) {
+ <a href="qcanvasitem.html">QCanvasItem</a> *hit = *it;
+<a name="x2917"></a><a name="x2914"></a> if ( hit-&gt;<a href="qcanvasitem.html#rtti">rtti</a>()==logo_rtti &amp;&amp; hit-&gt;<a href="qcanvasitem.html#collidesWith">collidesWith</a>(this) ) {
+ switch ( bounce ) {
+ case 0:
+ vx = -vx;
+ break;
+ case 1:
+ vy = -vy;
+ vx = -vx;
+ break;
+ case 2:
+ vx = -vx;
+ break;
+ case 3:
+ // Stop for this turn
+ vx = 0;
+ vy = 0;
+ break;
+ }
+ setVelocity(vx,vy);
+ break;
+ }
+ }
+ }
+
+ if ( <a href="qwidget.html#x">x</a>()+vx &lt; 0 || x()+vx &gt;= canvas()-&gt;width() )
+ vx = 0;
+ if ( <a href="qwidget.html#y">y</a>()+vy &lt; 0 || y()+vy &gt;= canvas()-&gt;height() )
+ vy = 0;
+
+ setVelocity(vx,vy);
+ } break;
+ case 1:
+<a name="x2913"></a> <a href="qcanvasitem.html">QCanvasItem</a>::<a href="qcanvasitem.html#advance">advance</a>(stage);
+ break;
+ }
+}
+
+static uint mainCount = 0;
+static QImage *butterflyimg;
+static QImage *logoimg;
+
+<a name="f625"></a>Main::Main(QCanvas&amp; c, QWidget* parent, const char* name, WFlags f) :
+ <a href="qmainwindow.html">QMainWindow</a>(parent,name,f),
+ canvas(c)
+{
+ editor = new FigureEditor(canvas,this);
+ <a href="qmenubar.html">QMenuBar</a>* menu = <a href="qmainwindow.html#menuBar">menuBar</a>();
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>( menu );
+<a name="x2936"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Fill canvas", this, SLOT(init()), CTRL+Key_F);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Erase canvas", this, SLOT(clear()), CTRL+Key_E);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;New view", this, SLOT(newView()), CTRL+Key_N);
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Print...", this, SLOT(print()), CTRL+Key_P);
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("E&amp;xit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()), CTRL+Key_Q);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;File", file);
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* edit = new <a href="qpopupmenu.html">QPopupMenu</a>( menu );
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Circle", this, SLOT(addCircle()), ALT+Key_C);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Hexagon", this, SLOT(addHexagon()), ALT+Key_H);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Polygon", this, SLOT(addPolygon()), ALT+Key_P);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add Spl&amp;ine", this, SLOT(addSpline()), ALT+Key_I);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Text", this, SLOT(addText()), ALT+Key_T);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Line", this, SLOT(addLine()), ALT+Key_L);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Rectangle", this, SLOT(addRectangle()), ALT+Key_R);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Sprite", this, SLOT(addSprite()), ALT+Key_S);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Create &amp;Mesh", this, SLOT(addMesh()), ALT+Key_M );
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Add &amp;Alpha-blended image", this, SLOT(addButterfly()), ALT+Key_A);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Edit", edit);
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* view = new <a href="qpopupmenu.html">QPopupMenu</a>( menu );
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Enlarge", this, SLOT(enlarge()), SHIFT+CTRL+Key_Plus);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Shr&amp;ink", this, SLOT(shrink()), SHIFT+CTRL+Key_Minus);
+ view-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Rotate clockwise", this, SLOT(rotateClockwise()), CTRL+Key_PageDown);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Rotate &amp;counterclockwise", this, SLOT(rotateCounterClockwise()), CTRL+Key_PageUp);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Zoom in", this, SLOT(zoomIn()), CTRL+Key_Plus);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Zoom &amp;out", this, SLOT(zoomOut()), CTRL+Key_Minus);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Translate left", this, SLOT(moveL()), CTRL+Key_Left);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Translate right", this, SLOT(moveR()), CTRL+Key_Right);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Translate up", this, SLOT(moveU()), CTRL+Key_Up);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Translate down", this, SLOT(moveD()), CTRL+Key_Down);
+ view-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Mirror", this, SLOT(mirror()), CTRL+Key_Home);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;View", view);
+
+ options = new <a href="qpopupmenu.html">QPopupMenu</a>( menu );
+ dbf_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Double buffer", this, SLOT(toggleDoubleBuffer()));
+<a name="x2939"></a> options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(dbf_id, TRUE);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Options",options);
+
+ menu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* help = new <a href="qpopupmenu.html">QPopupMenu</a>( menu );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;About", this, SLOT(help()), Key_F1);
+ help-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(dbf_id, TRUE);
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Help",help);
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>();
+
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>(editor);
+
+ printer = 0;
+
+ init();
+}
+
+void <a name="f626"></a>Main::init()
+{
+ clear();
+
+ static int r=24;
+ srand(++r);
+
+ mainCount++;
+ butterflyimg = 0;
+ logoimg = 0;
+
+ int i;
+<a name="x2912"></a> for ( i=0; i&lt;canvas.<a href="qcanvas.html#width">width</a>() / 56; i++) {
+ addButterfly();
+ }
+ for ( i=0; i&lt;canvas.<a href="qcanvas.html#width">width</a>() / 85; i++) {
+ addHexagon();
+ }
+ for ( i=0; i&lt;canvas.<a href="qcanvas.html#width">width</a>() / 128; i++) {
+ addLogo();
+ }
+}
+
+Main::~Main()
+{
+ delete printer;
+ if ( !--mainCount ) {
+ delete[] butterflyimg;
+ butterflyimg = 0;
+ delete[] logoimg;
+ logoimg = 0;
+ }
+}
+
+void <a name="f627"></a>Main::newView()
+{
+ // Open a new view... have it delete when closed.
+ Main *m = new Main(canvas, 0, 0, WDestructiveClose);
+ qApp-&gt;<a href="qapplication.html#setMainWidget">setMainWidget</a>(m);
+ m-&gt;<a href="qwidget.html#show">show</a>();
+ qApp-&gt;<a href="qapplication.html#setMainWidget">setMainWidget</a>(0);
+}
+
+void <a name="f628"></a>Main::clear()
+{
+ editor-&gt;clear();
+}
+
+void <a name="f629"></a>Main::help()
+{
+ static QMessageBox* about = new <a href="qmessagebox.html">QMessageBox</a>( "Qt Canvas Example",
+ "&lt;h3&gt;The QCanvas classes example&lt;/h3&gt;"
+ "&lt;ul&gt;"
+ "&lt;li&gt; Press ALT-S for some sprites."
+ "&lt;li&gt; Press ALT-C for some circles."
+ "&lt;li&gt; Press ALT-L for some lines."
+ "&lt;li&gt; Drag the objects around."
+ "&lt;li&gt; Read the code!"
+ "&lt;/ul&gt;", QMessageBox::Information, 1, 0, 0, this, 0, FALSE );
+ about-&gt;setButtonText( 1, "Dismiss" );
+ about-&gt;show();
+}
+
+void <a name="f630"></a>Main::aboutQt()
+{
+ QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Canvas Example" );
+}
+
+void <a name="f631"></a>Main::toggleDoubleBuffer()
+{
+<a name="x2938"></a> bool s = !options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>(dbf_id);
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(dbf_id,s);
+<a name="x2911"></a> canvas.<a href="qcanvas.html#setDoubleBuffering">setDoubleBuffering</a>(s);
+}
+
+void <a name="f632"></a>Main::enlarge()
+{
+<a name="x2910"></a><a name="x2909"></a> canvas.<a href="qcanvas.html#resize">resize</a>(canvas.<a href="qcanvas.html#width">width</a>()*4/3, canvas.<a href="qcanvas.html#height">height</a>()*4/3);
+}
+
+void <a name="f633"></a>Main::shrink()
+{
+ canvas.<a href="qcanvas.html#resize">resize</a>(canvas.<a href="qcanvas.html#width">width</a>()*3/4, canvas.<a href="qcanvas.html#height">height</a>()*3/4);
+}
+
+void <a name="f634"></a>Main::rotateClockwise()
+{
+<a name="x2931"></a> <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+<a name="x2955"></a> m.<a href="qwmatrix.html#rotate">rotate</a>( 22.5 );
+<a name="x2930"></a> editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f635"></a>Main::rotateCounterClockwise()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#rotate">rotate</a>( -22.5 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f636"></a>Main::zoomIn()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+<a name="x2956"></a> m.<a href="qwmatrix.html#scale">scale</a>( 2.0, 2.0 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f637"></a>Main::zoomOut()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#scale">scale</a>( 0.5, 0.5 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f638"></a>Main::mirror()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#scale">scale</a>( -1, 1 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f639"></a>Main::moveL()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+<a name="x2957"></a> m.<a href="qwmatrix.html#translate">translate</a>( -16, 0 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f640"></a>Main::moveR()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#translate">translate</a>( +16, 0 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f641"></a>Main::moveU()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#translate">translate</a>( 0, -16 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f642"></a>Main::moveD()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m = editor-&gt;<a href="qcanvasview.html#worldMatrix">worldMatrix</a>();
+ m.<a href="qwmatrix.html#translate">translate</a>( 0, +16 );
+ editor-&gt;<a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>( m );
+}
+
+void <a name="f643"></a>Main::print()
+{
+ if ( !printer ) printer = new <a href="qprinter.html">QPrinter</a>;
+ if ( printer-&gt;setup(this) ) {
+ <a href="qpainter.html">QPainter</a> pp(printer);
+<a name="x2908"></a> canvas.<a href="qcanvas.html#drawArea">drawArea</a>(QRect(0,0,canvas.<a href="qcanvas.html#width">width</a>(),canvas.<a href="qcanvas.html#height">height</a>()),&amp;pp,FALSE);
+ }
+}
+
+
+void <a name="f644"></a>Main::addSprite()
+{
+ <a href="qcanvasitem.html">QCanvasItem</a>* i = new BouncyLogo(&amp;canvas);
+<a name="x2918"></a> i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+<a name="x2919"></a> i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+QString butterfly_fn;
+QString logo_fn;
+
+
+void <a name="f645"></a>Main::addButterfly()
+{
+ if ( butterfly_fn.isEmpty() )
+ return;
+ if ( !butterflyimg ) {
+ butterflyimg = new <a href="qimage.html">QImage</a>[4];
+ butterflyimg[0].load( butterfly_fn );
+ butterflyimg[1] = butterflyimg[0].smoothScale( int(butterflyimg[0].width()*0.75),
+ int(butterflyimg[0].height()*0.75) );
+ butterflyimg[2] = butterflyimg[0].smoothScale( int(butterflyimg[0].width()*0.5),
+ int(butterflyimg[0].height()*0.5) );
+ butterflyimg[3] = butterflyimg[0].smoothScale( int(butterflyimg[0].width()*0.25),
+ int(butterflyimg[0].height()*0.25) );
+ }
+ <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>* i = new ImageItem(butterflyimg[rand()%4],&amp;canvas);
+<a name="x2915"></a> i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%(canvas.<a href="qcanvas.html#width">width</a>()-butterflyimg-&gt;<a href="qimage.html#width">width</a>()),
+ rand()%(canvas.<a href="qcanvas.html#height">height</a>()-butterflyimg-&gt;<a href="qimage.html#height">height</a>()));
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256+250);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f646"></a>Main::addLogo()
+{
+ if ( logo_fn.isEmpty() )
+ return;
+ if ( !logoimg ) {
+ logoimg = new <a href="qimage.html">QImage</a>[4];
+ logoimg[0].load( logo_fn );
+ logoimg[1] = logoimg[0].smoothScale( int(logoimg[0].width()*0.75),
+ int(logoimg[0].height()*0.75) );
+ logoimg[2] = logoimg[0].smoothScale( int(logoimg[0].width()*0.5),
+ int(logoimg[0].height()*0.5) );
+ logoimg[3] = logoimg[0].smoothScale( int(logoimg[0].width()*0.25),
+ int(logoimg[0].height()*0.25) );
+ }
+ <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>* i = new ImageItem(logoimg[rand()%4],&amp;canvas);
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%(canvas.<a href="qcanvas.html#width">width</a>()-logoimg-&gt;<a href="qimage.html#width">width</a>()),
+ rand()%(canvas.<a href="qcanvas.html#height">height</a>()-logoimg-&gt;<a href="qimage.html#width">width</a>()));
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256+256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+
+
+void <a name="f647"></a>Main::addCircle()
+{
+ <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>* i = new <a href="qcanvasellipse.html">QCanvasEllipse</a>(50,50,&amp;canvas);
+<a name="x2923"></a> i-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QColor(rand()%32*8,rand()%32*8,rand()%32*8) );
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>());
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f648"></a>Main::addHexagon()
+{
+ <a href="qcanvaspolygon.html">QCanvasPolygon</a>* i = new <a href="qcanvaspolygon.html">QCanvasPolygon</a>(&amp;canvas);
+ const int size = canvas.<a href="qcanvas.html#width">width</a>() / 25;
+ <a href="qpointarray.html">QPointArray</a> pa(6);
+ pa[0] = QPoint(2*size,0);
+ pa[1] = QPoint(size,-size*173/100);
+ pa[2] = QPoint(-size,-size*173/100);
+ pa[3] = QPoint(-2*size,0);
+ pa[4] = QPoint(-size,size*173/100);
+ pa[5] = QPoint(size,size*173/100);
+<a name="x2922"></a> i-&gt;<a href="qcanvasline.html#setPoints">setPoints</a>(pa);
+ i-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QColor(rand()%32*8,rand()%32*8,rand()%32*8) );
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>());
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f649"></a>Main::addPolygon()
+{
+ <a href="qcanvaspolygon.html">QCanvasPolygon</a>* i = new <a href="qcanvaspolygon.html">QCanvasPolygon</a>(&amp;canvas);
+ const int size = canvas.<a href="qcanvas.html#width">width</a>()/2;
+ <a href="qpointarray.html">QPointArray</a> pa(6);
+ pa[0] = QPoint(0,0);
+ pa[1] = QPoint(size,size/5);
+ pa[2] = QPoint(size*4/5,size);
+ pa[3] = QPoint(size/6,size*5/4);
+ pa[4] = QPoint(size*3/4,size*3/4);
+ pa[5] = QPoint(size*3/4,size/4);
+ i-&gt;<a href="qcanvasline.html#setPoints">setPoints</a>(pa);
+ i-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QColor(rand()%32*8,rand()%32*8,rand()%32*8) );
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>());
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f650"></a>Main::addSpline()
+{
+ <a href="qcanvasspline.html">QCanvasSpline</a>* i = new <a href="qcanvasspline.html">QCanvasSpline</a>(&amp;canvas);
+ const int size = canvas.<a href="qcanvas.html#width">width</a>()/6;
+ <a href="qpointarray.html">QPointArray</a> pa(12);
+ pa[0] = QPoint(0,0);
+ pa[1] = QPoint(size/2,0);
+ pa[2] = QPoint(size,size/2);
+ pa[3] = QPoint(size,size);
+ pa[4] = QPoint(size,size*3/2);
+ pa[5] = QPoint(size/2,size*2);
+ pa[6] = QPoint(0,size*2);
+ pa[7] = QPoint(-size/2,size*2);
+ pa[8] = QPoint(size/4,size*3/2);
+ pa[9] = QPoint(0,size);
+ pa[10]= QPoint(-size/4,size/2);
+ pa[11]= QPoint(-size/2,0);
+<a name="x2926"></a> i-&gt;<a href="qcanvasspline.html#setControlPoints">setControlPoints</a>(pa);
+ i-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QColor(rand()%32*8,rand()%32*8,rand()%32*8) );
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>());
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f651"></a>Main::addText()
+{
+ <a href="qcanvastext.html">QCanvasText</a>* i = new <a href="qcanvastext.html">QCanvasText</a>(&amp;canvas);
+<a name="x2929"></a> i-&gt;<a href="qcanvastext.html#setText">setText</a>("QCanvasText");
+ i-&gt;<a href="qcanvasitem.html#move">move</a>(rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>());
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f652"></a>Main::addLine()
+{
+ <a href="qcanvasline.html">QCanvasLine</a>* i = new <a href="qcanvasline.html">QCanvasLine</a>(&amp;canvas);
+ i-&gt;<a href="qcanvasline.html#setPoints">setPoints</a>( rand()%canvas.<a href="qcanvas.html#width">width</a>(), rand()%canvas.<a href="qcanvas.html#height">height</a>(),
+ rand()%canvas.<a href="qcanvas.html#width">width</a>(), rand()%canvas.<a href="qcanvas.html#height">height</a>() );
+<a name="x2924"></a> i-&gt;<a href="qcanvaspolygonalitem.html#setPen">setPen</a>( QPen(QColor(rand()%32*8,rand()%32*8,rand()%32*8), 6) );
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(rand()%256);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+
+void <a name="f653"></a>Main::addMesh()
+{
+ int x0 = 0;
+ int y0 = 0;
+
+ if ( !tb ) tb = new <a href="qbrush.html">QBrush</a>( Qt::red );
+ if ( !tp ) tp = new <a href="qpen.html">QPen</a>( Qt::black );
+
+ int nodecount = 0;
+
+ int w = canvas.<a href="qcanvas.html#width">width</a>();
+ int h = canvas.<a href="qcanvas.html#height">height</a>();
+
+ const int dist = 30;
+ int rows = h / dist;
+ int cols = w / dist;
+
+#ifndef QT_NO_PROGRESSDIALOG
+ <a href="qprogressdialog.html">QProgressDialog</a> progress( "Creating mesh...", "Abort", rows,
+ this, "progress", TRUE );
+#endif
+
+ <a href="qmemarray.html">QMemArray</a>&lt;NodeItem*&gt; lastRow(cols);
+ for ( int j = 0; j &lt; rows; j++ ) {
+ int n = j%2 ? cols-1 : cols;
+ NodeItem *prev = 0;
+ for ( int i = 0; i &lt; n; i++ ) {
+ NodeItem *el = new NodeItem( &amp;canvas );
+ nodecount++;
+ int r = rand();
+ int xrand = r %20;
+ int yrand = (r/20) %20;
+ el-&gt;<a href="qcanvasitem.html#move">move</a>( xrand + x0 + i*dist + (j%2 ? dist/2 : 0 ),
+ yrand + y0 + j*dist );
+
+ if ( j &gt; 0 ) {
+ if ( i &lt; cols-1 )
+ (new EdgeItem( lastRow[i], el, &amp;canvas ))-&gt;show();
+ if ( j%2 )
+ (new EdgeItem( lastRow[i+1], el, &amp;canvas ))-&gt;show();
+ else if ( i &gt; 0 )
+ (new EdgeItem( lastRow[i-1], el, &amp;canvas ))-&gt;show();
+ }
+ if ( prev ) {
+ (new EdgeItem( prev, el, &amp;canvas ))-&gt;show();
+ }
+ if ( i &gt; 0 ) lastRow[i-1] = prev;
+ prev = el;
+ el-&gt;<a href="qcanvasitem.html#show">show</a>();
+ }
+ lastRow[n-1]=prev;
+#ifndef QT_NO_PROGRESSDIALOG
+<a name="x2946"></a> progress.<a href="qprogressdialog.html#setProgress">setProgress</a>( j );
+<a name="x2947"></a> if ( progress.<a href="qprogressdialog.html#wasCancelled">wasCancelled</a>() )
+ break;
+#endif
+ }
+#ifndef QT_NO_PROGRESSDIALOG
+ progress.<a href="qprogressdialog.html#setProgress">setProgress</a>( rows );
+#endif
+ // qDebug( "%d nodes, %d edges", nodecount, EdgeItem::count() );
+}
+
+void <a name="f654"></a>Main::addRectangle()
+{
+ <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a> *i = new <a href="qcanvasrectangle.html">QCanvasRectangle</a>( rand()%canvas.<a href="qcanvas.html#width">width</a>(),rand()%canvas.<a href="qcanvas.html#height">height</a>(),
+ canvas.<a href="qcanvas.html#width">width</a>()/5,canvas.<a href="qcanvas.html#width">width</a>()/5,&amp;canvas);
+ int z = rand()%256;
+ i-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QColor(z,z,z) );
+ i-&gt;<a href="qcanvaspolygonalitem.html#setPen">setPen</a>( QPen(QColor(rand()%32*8,rand()%32*8,rand()%32*8), 6) );
+ i-&gt;<a href="qcanvasitem.html#setZ">setZ</a>(z);
+ i-&gt;<a href="qcanvasitem.html#show">show</a>();
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+
+#include "canvas.h"
+
+#include &lt;stdlib.h&gt;
+
+extern QString butterfly_fn;
+extern QString logo_fn;
+
+int main(int argc, char** argv)
+{
+ <a href="qapplication.html">QApplication</a> app(argc,argv);
+
+ if ( argc &gt; 1 )
+ butterfly_fn = argv[1];
+ else
+ butterfly_fn = "butterfly.png";
+
+ if ( argc &gt; 2 )
+ logo_fn = argv[2];
+ else
+ logo_fn = "qtlogo.png";
+
+ <a href="qcanvas.html">QCanvas</a> canvas(800,600);
+<a name="x2962"></a> canvas.<a href="qcanvas.html#setAdvancePeriod">setAdvancePeriod</a>(30);
+ Main m(canvas);
+<a name="x2969"></a> m.<a href="qwidget.html#resize">resize</a>(m.<a href="qwidget.html#sizeHint">sizeHint</a>());
+ m.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Canvas");
+<a name="x2970"></a><a name="x2958"></a> if ( QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width() &gt; m.<a href="qwidget.html#width">width</a>() + 10
+<a name="x2964"></a> &amp;&amp; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height() &gt; m.<a href="qwidget.html#height">height</a>() +30 )
+ m.<a href="qwidget.html#show">show</a>();
+ else
+<a name="x2968"></a> m.<a href="qwidget.html#showMaximized">showMaximized</a>();
+
+ QObject::<a href="qobject.html#connect">connect</a>( qApp, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/canvas.html b/doc/html/canvas.html
new file mode 100644
index 0000000..0b0c05f
--- /dev/null
+++ b/doc/html/canvas.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/canvas.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Canvas Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Canvas Module</h1>
+
+
+
+<p>
+<p> The canvas module provides a highly optimized 2D graphic area called
+<a href="qcanvas.html">QCanvas</a>. The canvas can contain an arbitrary number of <a href="qcanvasitem.html">QCanvasItems</a>. Canvas items can have an arbitrary
+shape, size and content, can be freely moved around in the canvas,
+and can be checked for collisions. Canvas items can be set to move
+across the canvas automatically and animated canvas items are
+supported with <a href="qcanvassprite.html">QCanvasSprite</a>. (If you require 3D graphics see Qt's
+<a href="opengl.html">OpenGL module</a>.)
+<p> The canvas module uses a document/view model. The <a href="qcanvasview.html">QCanvasView</a> class
+is used to show a particular view of a canvas. Multiple views can operate
+on the same canvas at the same time. Every view can use an arbitrary
+<a href="qwmatrix.html#TransformationMode">transformation matrix</a> on the canvas which makes it easy to implement
+features such as zooming.
+<p> <center><a href="qcanvas.html">
+<img src="qcanvas.png" alt="Screenshot of a canvas"></a></center>
+<p> Qt provides a number of predefined <a href="qcanvas.html">QCanvas</a> items as listed below.
+<p> <ul>
+<li> <a href="qcanvasitem.html">QCanvasItem</a> -- An abstract base class for all canvas items.
+<li> <a href="qcanvasellipse.html">QCanvasEllipse</a> -- An ellipse or "pie segment".
+<li> <a href="qcanvasline.html">QCanvasLine</a> -- A line segment.
+<li> <a href="qcanvaspolygon.html">QCanvasPolygon</a> -- A polygon.
+<li> <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a> -- A base class for items that have a
+non-rectangular shape. Most canvas items derive from this class.
+<li> <a href="qcanvasrectangle.html">QCanvasRectangle</a> -- A rectangle. The rectangle cannot be tilted or
+rotated. Rotated rectangles can be drawn using QCanvasPolygon.
+<li> <a href="qcanvasspline.html">QCanvasSpline</a> -- A multi-bezier spline.
+<li> <a href="qcanvassprite.html">QCanvasSprite</a> -- An animated pixmap.
+<li> <a href="qcanvastext.html">QCanvasText</a> -- A text string.
+</ul>
+<p> The two classes <a href="qcanvaspixmap.html">QCanvasPixmap</a> and <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a> are used
+by <a href="qcanvassprite.html">QCanvasSprite</a> to show animated and moving pixmaps on the
+canvas.
+<p> More specialized items can be created by inheriting from one of the
+canvas item classes. It is easiest to inherit from one of
+<a href="qcanvasitem.html">QCanvasItem</a>'s derived classes (usually <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>) rather
+than inherit QCanvasItem directly.
+<p> See <tt>examples/canvas</tt> for an example that shows off some of <a href="qcanvas.html">QCanvas</a>'s
+capabilities.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-canvastext-h.html b/doc/html/chart-canvastext-h.html
new file mode 100644
index 0000000..3acd1c2
--- /dev/null
+++ b/doc/html/chart-canvastext-h.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/canvastext.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/canvastext.h Example File</h1>
+
+
+<pre>#ifndef CANVASTEXT_H
+#define CANVASTEXT_H
+
+#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;
+
+class QFont;
+
+
+class CanvasText : public <a href="qcanvastext.html">QCanvasText</a>
+{
+public:
+ enum { CANVAS_TEXT = 1100 };
+
+ CanvasText( int index, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( canvas ), m_index( index ) {}
+ CanvasText( int index, const <a href="qstring.html">QString</a>&amp; text, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( text, canvas ), m_index( index ) {}
+ CanvasText( int index, const <a href="qstring.html">QString</a>&amp; text, QFont font, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( text, font, canvas ), m_index( index ) {}
+
+ int index() const { return m_index; }
+ void setIndex( int index ) { m_index = index; }
+
+ int rtti() const { return CANVAS_TEXT; }
+
+private:
+ int m_index;
+};
+
+#endif
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-canvasview-cpp.html b/doc/html/chart-canvasview-cpp.html
new file mode 100644
index 0000000..0f7b9ab
--- /dev/null
+++ b/doc/html/chart-canvasview-cpp.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:7 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/canvasview.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/canvasview.cpp Example File</h1>
+
+
+<pre>#include "canvasview.h"
+#include "chartform.h"
+
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qpoint-h.html">qpoint.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+
+
+void CanvasView::<a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>( <a href="qcontextmenuevent.html">QContextMenuEvent</a> * )
+{
+ ((ChartForm*)<a href="qobject.html#parent">parent</a>())-&gt;optionsMenu-&gt;exec( QCursor::<a href="qcursor.html#pos">pos</a>() );
+}
+
+
+void CanvasView::<a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> *e )
+{
+ <a href="qcanvasview.html#canvas">canvas</a>()-&gt;resize( e-&gt;<a href="qresizeevent.html#size">size</a>().width(), e-&gt;<a href="qresizeevent.html#size">size</a>().height() );
+ ((ChartForm*)<a href="qobject.html#parent">parent</a>())-&gt;drawElements();
+}
+
+
+void CanvasView::<a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> list = <a href="qcanvasview.html#canvas">canvas</a>()-&gt;collisions( e-&gt;<a href="qmouseevent.html#pos">pos</a>() );
+ for ( QCanvasItemList::iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it )
+ if ( (*it)-&gt;rtti() == CanvasText::CANVAS_TEXT ) {
+ m_movingItem = *it;
+ m_pos = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ return;
+ }
+ m_movingItem = 0;
+}
+
+
+void CanvasView::<a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( m_movingItem ) {
+ <a href="qpoint.html">QPoint</a> offset = e-&gt;<a href="qmouseevent.html#pos">pos</a>() - m_pos;
+ m_movingItem-&gt;moveBy( offset.<a href="qpoint.html#x">x</a>(), offset.<a href="qpoint.html#y">y</a>() );
+ m_pos = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ ChartForm *form = (ChartForm*)<a href="qobject.html#parent">parent</a>();
+ form-&gt;setChanged( TRUE );
+ int chartType = form-&gt;chartType();
+ CanvasText *item = (CanvasText*)m_movingItem;
+ int i = item-&gt;index();
+
+ (*m_elements)[i].setProX( chartType, item-&gt;x() / canvas()-&gt;width() );
+ (*m_elements)[i].setProY( chartType, item-&gt;y() / canvas()-&gt;height() );
+
+ <a href="qcanvasview.html#canvas">canvas</a>()-&gt;update();
+ }
+}
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-canvasview-h.html b/doc/html/chart-canvasview-h.html
new file mode 100644
index 0000000..fb79339
--- /dev/null
+++ b/doc/html/chart-canvasview-h.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:6 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/canvasview.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/canvasview.h Example File</h1>
+
+
+<pre>#ifndef CANVASVIEW_H
+#define CANVASVIEW_H
+
+#include "element.h"
+#include "canvastext.h"
+
+#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;
+
+
+class QPoint;
+
+
+class CanvasView : public <a href="qcanvasview.html">QCanvasView</a>
+{
+ Q_OBJECT
+public:
+ CanvasView( <a href="qcanvas.html">QCanvas</a> *canvas, ElementVector *elements,
+ <a href="qwidget.html">QWidget</a>* parent = 0, const char* name = "canvas view",
+ WFlags f = 0 )
+ : <a href="qcanvasview.html">QCanvasView</a>( canvas, parent, name, f ), m_movingItem(0),
+ m_elements( elements ) {}
+
+protected:
+ void viewportResizeEvent( <a href="qresizeevent.html">QResizeEvent</a> *e );
+ void contentsMousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsMouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsContextMenuEvent( <a href="qcontextmenuevent.html">QContextMenuEvent</a> *e );
+
+private:
+ <a href="qcanvasitem.html">QCanvasItem</a> *m_movingItem;
+ <a href="qpoint.html">QPoint</a> m_pos;
+ ElementVector *m_elements;
+};
+
+
+#endif
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-chart-pro.html b/doc/html/chart-chart-pro.html
new file mode 100644
index 0000000..22eec9b
--- /dev/null
+++ b/doc/html/chart-chart-pro.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/chart.pro Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/chart.pro Example File</h1>
+
+
+<pre>TEMPLATE = app
+
+CONFIG += warn_on
+
+REQUIRES = full-config
+
+HEADERS += element.h \
+ canvastext.h \
+ canvasview.h \
+ chartform.h \
+ optionsform.h \
+ setdataform.h
+SOURCES += element.cpp \
+ canvasview.cpp \
+ chartform.cpp \
+ chartform_canvas.cpp \
+ chartform_files.cpp \
+ optionsform.cpp \
+ setdataform.cpp \
+ main.cpp
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-chartform-cpp.html b/doc/html/chart-chartform-cpp.html
new file mode 100644
index 0000000..91bfbef
--- /dev/null
+++ b/doc/html/chart-chartform-cpp.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:9 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/chartform.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/chartform.cpp Example File</h1>
+
+
+<pre>#include "canvasview.h"
+#include "chartform.h"
+#include "optionsform.h"
+#include "setdataform.h"
+
+#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qsettings-h.html">qsettings.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+
+#include "images/file_new.xpm"
+#include "images/file_open.xpm"
+#include "images/file_save.xpm"
+#include "images/file_print.xpm"
+#include "images/options_setdata.xpm"
+#include "images/options_setfont.xpm"
+#include "images/options_setoptions.xpm"
+#include "images/options_horizontalbarchart.xpm"
+#include "images/options_piechart.xpm"
+#include "images/options_verticalbarchart.xpm"
+
+
+const <a href="qstring.html">QString</a> WINDOWS_REGISTRY = "/Trolltech/QtExamples";
+const <a href="qstring.html">QString</a> APP_KEY = "/Chart/";
+
+
+<a name="f148"></a>ChartForm::ChartForm( const <a href="qstring.html">QString</a>&amp; filename )
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, 0, WDestructiveClose )
+{
+ <a href="qwidget.html#setIcon">setIcon</a>( QPixmap( options_piechart ) );
+
+ <a href="qaction.html">QAction</a> *fileNewAction;
+ <a href="qaction.html">QAction</a> *fileOpenAction;
+ <a href="qaction.html">QAction</a> *fileSaveAction;
+ <a href="qaction.html">QAction</a> *fileSaveAsAction;
+ <a href="qaction.html">QAction</a> *fileSaveAsPixmapAction;
+ <a href="qaction.html">QAction</a> *filePrintAction;
+ <a href="qaction.html">QAction</a> *fileQuitAction;
+ <a href="qaction.html">QAction</a> *optionsSetDataAction;
+ <a href="qaction.html">QAction</a> *optionsSetFontAction;
+ <a href="qaction.html">QAction</a> *optionsSetOptionsAction;
+
+ fileNewAction = new <a href="qaction.html">QAction</a>(
+ "New Chart", QPixmap( file_new ),
+ "&amp;New", CTRL+Key_N, this, "new" );
+<a name="x2869"></a> <a href="qobject.html#connect">connect</a>( fileNewAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileNew() ) );
+
+ fileOpenAction = new <a href="qaction.html">QAction</a>(
+ "Open Chart", QPixmap( file_open ),
+ "&amp;Open...", CTRL+Key_O, this, "open" );
+ <a href="qobject.html#connect">connect</a>( fileOpenAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileOpen() ) );
+
+ fileSaveAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart", QPixmap( file_save ),
+ "&amp;Save", CTRL+Key_S, this, "save" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileSave() ) );
+
+ fileSaveAsAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart As", QPixmap( file_save ),
+ "Save &amp;As...", 0, this, "save as" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAsAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( fileSaveAs() ) );
+
+ fileSaveAsPixmapAction = new <a href="qaction.html">QAction</a>(
+ "Save Chart As Bitmap", QPixmap( file_save ),
+ "Save As &amp;Bitmap...", CTRL+Key_B, this, "save as bitmap" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAsPixmapAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( fileSaveAsPixmap() ) );
+
+ filePrintAction = new <a href="qaction.html">QAction</a>(
+ "Print Chart", QPixmap( file_print ),
+ "&amp;Print Chart...", CTRL+Key_P, this, "print chart" );
+ <a href="qobject.html#connect">connect</a>( filePrintAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( filePrint() ) );
+
+ optionsSetDataAction = new <a href="qaction.html">QAction</a>(
+ "Set Data", QPixmap( options_setdata ),
+ "Set &amp;Data...", CTRL+Key_D, this, "set data" );
+ <a href="qobject.html#connect">connect</a>( optionsSetDataAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetData() ) );
+
+
+ <a href="qactiongroup.html">QActionGroup</a> *chartGroup = new <a href="qactiongroup.html">QActionGroup</a>( this ); // Connected later
+<a name="x2874"></a> chartGroup-&gt;<a href="qactiongroup.html#setExclusive">setExclusive</a>( TRUE );
+
+ optionsPieChartAction = new <a href="qaction.html">QAction</a>(
+ "Pie Chart", QPixmap( options_piechart ),
+ "&amp;Pie Chart", CTRL+Key_I, chartGroup, "pie chart" );
+<a name="x2872"></a> optionsPieChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+ optionsHorizontalBarChartAction = new <a href="qaction.html">QAction</a>(
+ "Horizontal Bar Chart", QPixmap( options_horizontalbarchart ),
+ "&amp;Horizontal Bar Chart", CTRL+Key_H, chartGroup,
+ "horizontal bar chart" );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+ optionsVerticalBarChartAction = new <a href="qaction.html">QAction</a>(
+ "Vertical Bar Chart", QPixmap( options_verticalbarchart ),
+ "&amp;Vertical Bar Chart", CTRL+Key_V, chartGroup, "Vertical bar chart" );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+
+ optionsSetFontAction = new <a href="qaction.html">QAction</a>(
+ "Set Font", QPixmap( options_setfont ),
+ "Set &amp;Font...", CTRL+Key_F, this, "set font" );
+ <a href="qobject.html#connect">connect</a>( optionsSetFontAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetFont() ) );
+
+ optionsSetOptionsAction = new <a href="qaction.html">QAction</a>(
+ "Set Options", QPixmap( options_setoptions ),
+ "Set &amp;Options...", 0, this, "set options" );
+ <a href="qobject.html#connect">connect</a>( optionsSetOptionsAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ),
+ this, SLOT( optionsSetOptions() ) );
+
+ fileQuitAction = new <a href="qaction.html">QAction</a>( "Quit", "&amp;Quit", CTRL+Key_Q, this, "quit" );
+ <a href="qobject.html#connect">connect</a>( fileQuitAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileQuit() ) );
+
+
+ <a href="qtoolbar.html">QToolBar</a>* fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+<a name="x2895"></a> fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+<a name="x2870"></a> fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+<a name="x2894"></a> fileTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+
+ <a href="qtoolbar.html">QToolBar</a> *optionsTools = new <a href="qtoolbar.html">QToolBar</a>( this, "options operations" );
+ optionsTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "Options Operations" );
+ optionsSetDataAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsPieChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsSetFontAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+ optionsTools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ optionsSetOptionsAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsTools );
+
+ fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", fileMenu );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileSaveAsAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fileSaveAsPixmapAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fileQuitAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+
+ optionsMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Options", optionsMenu );
+ optionsSetDataAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsPieChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsSetFontAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+ optionsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ optionsSetOptionsAction-&gt;<a href="qaction.html#addTo">addTo</a>( optionsMenu );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *helpMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", helpMenu );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Help", this, SLOT(helpHelp()), Key_F1 );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(helpAbout()) );
+ helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(helpAboutQt()) );
+
+
+ m_printer = 0;
+ m_elements.resize( MAX_ELEMENTS );
+
+ <a href="qsettings.html">QSettings</a> settings;
+<a name="x2890"></a> settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ int windowWidth = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowWidth", 460 );
+ int windowHeight = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowHeight", 530 );
+ int windowX = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowX", -1 );
+ int windowY = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowY", -1 );
+ setChartType( ChartType(
+ settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "ChartType", int(PIE) ) ) );
+ m_addValues = AddValuesType(
+ settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "AddValues", int(NO) ));
+ m_decimalPlaces = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "Decimals", 2 );
+ m_font = QFont( "Helvetica", 18, QFont::Bold );
+ m_font.fromString(
+ settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "Font", m_font.toString() ) );
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+ <a href="qstring.html">QString</a> filename = settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "File" +
+<a name="x2893"></a> QString::<a href="qstring.html#number">number</a>( i + 1 ) );
+<a name="x2892"></a> if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ m_recentFiles.push_back( filename );
+ }
+ if ( m_recentFiles.count() )
+ updateRecentFilesMenu();
+
+
+ // Connect *after* we've set the chart type on so we don't call
+ // drawElements() prematurely.
+<a name="x2873"></a> <a href="qobject.html#connect">connect</a>( chartGroup, SIGNAL( <a href="qactiongroup.html#selected">selected</a>(QAction*) ),
+ this, SLOT( updateChartType(QAction*) ) );
+
+ <a href="qwidget.html#resize">resize</a>( windowWidth, windowHeight );
+ if ( windowX != -1 || windowY != -1 )
+ <a href="qwidget.html#move">move</a>( windowX, windowY );
+
+ m_canvas = new <a href="qcanvas.html">QCanvas</a>( this );
+<a name="x2876"></a> m_canvas-&gt;<a href="qcanvas.html#resize">resize</a>( <a href="qwidget.html#width">width</a>(), height() );
+ m_canvasView = new CanvasView( m_canvas, &amp;m_elements, this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( m_canvasView );
+ m_canvasView-&gt;<a href="qwidget.html#show">show</a>();
+
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else {
+ init();
+ m_elements[0].set( 20, red, 14, "Red" );
+ m_elements[1].set( 70, cyan, 2, "Cyan", darkGreen );
+ m_elements[2].set( 35, blue, 11, "Blue" );
+ m_elements[3].set( 55, yellow, 1, "Yellow", darkBlue );
+ m_elements[4].set( 80, magenta, 1, "Magenta" );
+ drawElements();
+ }
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+}
+
+
+ChartForm::~ChartForm()
+{
+ delete m_printer;
+}
+
+
+void <a name="f149"></a>ChartForm::init()
+{
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart" );
+ m_filename = QString::null;
+ m_changed = FALSE;
+
+ m_elements[0] = Element( Element::INVALID, red );
+ m_elements[1] = Element( Element::INVALID, cyan );
+ m_elements[2] = Element( Element::INVALID, blue );
+ m_elements[3] = Element( Element::INVALID, yellow );
+ m_elements[4] = Element( Element::INVALID, green );
+ m_elements[5] = Element( Element::INVALID, magenta );
+ m_elements[6] = Element( Element::INVALID, darkYellow );
+ m_elements[7] = Element( Element::INVALID, darkRed );
+ m_elements[8] = Element( Element::INVALID, darkCyan );
+ m_elements[9] = Element( Element::INVALID, darkGreen );
+ m_elements[10] = Element( Element::INVALID, darkMagenta );
+ m_elements[11] = Element( Element::INVALID, darkBlue );
+ for ( int i = 12; i &lt; MAX_ELEMENTS; ++i ) {
+ double x = (double(i) / MAX_ELEMENTS) * 360;
+ int y = (int(x * 256) % 105) + 151;
+ int z = ((i * 17) % 105) + 151;
+ m_elements[i] = Element( Element::INVALID, QColor( int(x), y, z, QColor::Hsv ) );
+ }
+}
+
+<a name="x2896"></a>void ChartForm::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> * )
+{
+ fileQuit();
+}
+
+
+void <a name="f150"></a>ChartForm::fileNew()
+{
+ if ( okToClear() ) {
+ init();
+ drawElements();
+ }
+}
+
+
+void <a name="f151"></a>ChartForm::fileOpen()
+{
+ if ( !okToClear() )
+ return;
+
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file open", "Chart -- File Open" );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "File Open abandoned", 2000 );
+}
+
+
+void <a name="f152"></a>ChartForm::fileSaveAs()
+{
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file save as", "Chart -- File Save As" );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ int answer = 0;
+<a name="x2878"></a> if ( QFile::<a href="qfile.html#exists">exists</a>( filename ) )
+<a name="x2889"></a> answer = QMessageBox::<a href="qmessagebox.html#warning">warning</a>(
+ this, "Chart -- Overwrite File",
+ QString( "Overwrite\n\'%1\'?" ).
+ arg( filename ),
+ "&amp;Yes", "&amp;No", QString::null, 1, 1 );
+ if ( answer == 0 ) {
+ m_filename = filename;
+ updateRecentFiles( filename );
+ fileSave();
+ return;
+ }
+ }
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving abandoned", 2000 );
+}
+
+
+void <a name="f153"></a>ChartForm::fileOpenRecent( int index )
+{
+ if ( !okToClear() )
+ return;
+
+ load( m_recentFiles[index] );
+}
+
+
+void <a name="f154"></a>ChartForm::updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename )
+{
+ if ( m_recentFiles.find( filename ) != m_recentFiles.end() )
+ return;
+
+ m_recentFiles.push_back( filename );
+ if ( m_recentFiles.count() &gt; MAX_RECENTFILES )
+ m_recentFiles.pop_front();
+
+ updateRecentFilesMenu();
+}
+
+
+void <a name="f155"></a>ChartForm::updateRecentFilesMenu()
+{
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+<a name="x2882"></a> if ( fileMenu-&gt;<a href="qmenudata.html#findItem">findItem</a>( i ) )
+<a name="x2885"></a> fileMenu-&gt;<a href="qmenudata.html#removeItem">removeItem</a>( i );
+ if ( i &lt; int(m_recentFiles.count()) )
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QString( "&amp;%1 %2" ).
+ arg( i + 1 ).arg( m_recentFiles[i] ),
+ this, SLOT( fileOpenRecent(int) ),
+ 0, i );
+ }
+}
+
+
+void <a name="f156"></a>ChartForm::fileQuit()
+{
+ if ( okToClear() ) {
+ saveOptions();
+<a name="x2875"></a> qApp-&gt;<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+}
+
+
+bool <a name="f157"></a>ChartForm::okToClear()
+{
+ if ( m_changed ) {
+ <a href="qstring.html">QString</a> msg;
+ if ( m_filename.isEmpty() )
+ msg = "Unnamed chart ";
+ else
+ msg = QString( "Chart '%1'\n" ).arg( m_filename );
+ msg += "has been changed.";
+
+ int x = QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Chart -- Unsaved Changes",
+ msg, "&amp;Save", "Cancel", "&amp;Abandon",
+ 0, 1 );
+ switch( x ) {
+ case 0: // Save
+ fileSave();
+ break;
+ case 1: // Cancel
+ default:
+ return FALSE;
+ case 2: // Abandon
+ break;
+ }
+ }
+
+ return TRUE;
+}
+
+
+void <a name="f158"></a>ChartForm::saveOptions()
+{
+ <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+<a name="x2891"></a> settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowWidth", width() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowHeight", height() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowX", x() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowY", y() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "ChartType", int(m_chartType) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "AddValues", int(m_addValues) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Decimals", m_decimalPlaces );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Font", m_font.toString() );
+ for ( int i = 0; i &lt; int(m_recentFiles.count()); ++i )
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "File" + QString::number( i + 1 ),
+ m_recentFiles[i] );
+}
+
+
+void <a name="f159"></a>ChartForm::optionsSetData()
+{
+ SetDataForm *setDataForm = new SetDataForm( &amp;m_elements, m_decimalPlaces, this );
+<a name="x2877"></a> if ( setDataForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ m_changed = TRUE;
+ drawElements();
+ }
+ delete setDataForm;
+}
+
+
+void <a name="f160"></a>ChartForm::setChartType( ChartType chartType )
+{
+ m_chartType = chartType;
+ switch ( m_chartType ) {
+ case PIE:
+<a name="x2871"></a> optionsPieChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ case VERTICAL_BAR:
+ optionsVerticalBarChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ case HORIZONTAL_BAR:
+ optionsHorizontalBarChartAction-&gt;<a href="qaction.html#setOn">setOn</a>( TRUE );
+ break;
+ }
+}
+
+
+void <a name="f161"></a>ChartForm::updateChartType( <a href="qaction.html">QAction</a> *action )
+{
+ if ( action == optionsPieChartAction ) {
+ m_chartType = PIE;
+ }
+ else if ( action == optionsHorizontalBarChartAction ) {
+ m_chartType = HORIZONTAL_BAR;
+ }
+ else if ( action == optionsVerticalBarChartAction ) {
+ m_chartType = VERTICAL_BAR;
+ }
+
+ drawElements();
+}
+
+
+void <a name="f162"></a>ChartForm::optionsSetFont()
+{
+ bool ok;
+<a name="x2881"></a> <a href="qfont.html">QFont</a> font = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, m_font, this );
+ if ( ok ) {
+ m_font = font;
+ drawElements();
+ }
+}
+
+
+void <a name="f163"></a>ChartForm::optionsSetOptions()
+{
+ OptionsForm *optionsForm = new OptionsForm( this );
+ optionsForm-&gt;chartTypeComboBox-&gt;setCurrentItem( m_chartType );
+ optionsForm-&gt;<a href="qwidget.html#setFont">setFont</a>( m_font );
+ switch ( m_addValues ) {
+ case NO:
+ optionsForm-&gt;noRadioButton-&gt;setChecked( TRUE );
+ break;
+ case YES:
+ optionsForm-&gt;yesRadioButton-&gt;setChecked( TRUE );
+ break;
+ case AS_PERCENTAGE:
+ optionsForm-&gt;asPercentageRadioButton-&gt;setChecked( TRUE );
+ break;
+ }
+ optionsForm-&gt;decimalPlacesSpinBox-&gt;setValue( m_decimalPlaces );
+ if ( optionsForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ setChartType( ChartType(
+ optionsForm-&gt;chartTypeComboBox-&gt;currentItem()) );
+<a name="x2897"></a> m_font = optionsForm-&gt;<a href="qwidget.html#font">font</a>();
+ if ( optionsForm-&gt;noRadioButton-&gt;isChecked() )
+ m_addValues = NO;
+ else if ( optionsForm-&gt;yesRadioButton-&gt;isChecked() )
+ m_addValues = YES;
+ else if ( optionsForm-&gt;asPercentageRadioButton-&gt;isChecked() )
+ m_addValues = AS_PERCENTAGE;
+ m_decimalPlaces = optionsForm-&gt;decimalPlacesSpinBox-&gt;value();
+ drawElements();
+ }
+ delete optionsForm;
+}
+
+
+void <a name="f164"></a>ChartForm::helpHelp()
+{
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Help is not implemented yet", 2000 );
+}
+
+
+void <a name="f165"></a>ChartForm::helpAbout()
+{
+<a name="x2886"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Chart -- About",
+ "&lt;center&gt;&lt;h1&gt;&lt;font color=blue&gt;Chart&lt;font&gt;&lt;/h1&gt;&lt;/center&gt;"
+ "&lt;p&gt;Chart your data with &lt;i&gt;chart&lt;/i&gt;.&lt;/p&gt;"
+ );
+}
+
+
+void <a name="f166"></a>ChartForm::helpAboutQt()
+{
+<a name="x2887"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Chart -- About Qt" );
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-chartform-h.html b/doc/html/chart-chartform-h.html
new file mode 100644
index 0000000..4d31e51
--- /dev/null
+++ b/doc/html/chart-chartform-h.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:8 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/chartform.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/chartform.h Example File</h1>
+
+
+<pre>#ifndef CHARTFORM_H
+#define CHARTFORM_H
+
+#include "element.h"
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+
+
+class CanvasView;
+
+class QAction;
+class QCanvas;
+class QFont;
+class QPrinter;
+class QString;
+
+
+class ChartForm: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ Q_OBJECT
+public:
+ enum { MAX_ELEMENTS = 100 };
+ enum { MAX_RECENTFILES = 9 }; // Must not exceed 9
+ enum ChartType { PIE, VERTICAL_BAR, HORIZONTAL_BAR };
+ enum AddValuesType { NO, YES, AS_PERCENTAGE };
+
+ ChartForm( const <a href="qstring.html">QString</a>&amp; filename );
+ ~ChartForm();
+
+ int chartType() { return m_chartType; }
+ void setChanged( bool changed = TRUE ) { m_changed = changed; }
+ void drawElements();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *optionsMenu; // Why public? See canvasview.cpp
+
+protected:
+ virtual void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+private slots:
+ void fileNew();
+ void fileOpen();
+ void fileOpenRecent( int index );
+ void fileSave();
+ void fileSaveAs();
+ void fileSaveAsPixmap();
+ void filePrint();
+ void fileQuit();
+ void optionsSetData();
+ void updateChartType( <a href="qaction.html">QAction</a> *action );
+ void optionsSetFont();
+ void optionsSetOptions();
+ void helpHelp();
+ void helpAbout();
+ void helpAboutQt();
+ void saveOptions();
+
+private:
+ void init();
+ void load( const <a href="qstring.html">QString</a>&amp; filename );
+ bool okToClear();
+ void drawPieChart( const double scales[], double total, int count );
+ void drawVerticalBarChart( const double scales[], double total, int count );
+ void drawHorizontalBarChart( const double scales[], double total, int count );
+
+ <a href="qstring.html">QString</a> valueLabel( const <a href="qstring.html">QString</a>&amp; label, double value, double total );
+ void updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename );
+ void updateRecentFilesMenu();
+ void setChartType( ChartType chartType );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu;
+ <a href="qaction.html">QAction</a> *optionsPieChartAction;
+ <a href="qaction.html">QAction</a> *optionsHorizontalBarChartAction;
+ <a href="qaction.html">QAction</a> *optionsVerticalBarChartAction;
+
+
+ <a href="qstring.html">QString</a> m_filename;
+ <a href="qstringlist.html">QStringList</a> m_recentFiles;
+ <a href="qcanvas.html">QCanvas</a> *m_canvas;
+ CanvasView *m_canvasView;
+ bool m_changed;
+ ElementVector m_elements;
+ <a href="qprinter.html">QPrinter</a> *m_printer;
+ ChartType m_chartType;
+ AddValuesType m_addValues;
+ int m_decimalPlaces;
+ <a href="qfont.html">QFont</a> m_font;
+};
+
+#endif
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-chartform_canvas-cpp.html b/doc/html/chart-chartform_canvas-cpp.html
new file mode 100644
index 0000000..daf112a
--- /dev/null
+++ b/doc/html/chart-chartform_canvas-cpp.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:10 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/chartform_canvas.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/chartform_canvas.cpp Example File</h1>
+
+
+<pre>#include "canvastext.h"
+#include "chartform.h"
+
+#include &lt;<a href="qbrush-h.html">qbrush.h</a>&gt;
+#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;
+
+#include &lt;math.h&gt; // sin, cos
+
+#ifndef M_PI
+#define M_PI 3.1415
+#endif
+
+void <a name="f167"></a>ChartForm::drawElements()
+{
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> list = m_canvas-&gt;allItems();
+ for ( QCanvasItemList::iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it )
+ delete *it;
+
+ // 360 * 16 for pies; Qt works with 16ths of degrees
+ int scaleFactor = m_chartType == PIE ? 5760 :
+ m_chartType == VERTICAL_BAR ? m_canvas-&gt;height() :
+ m_canvas-&gt;width();
+ double biggest = 0.0;
+ int count = 0;
+ double total = 0.0;
+ static double scales[MAX_ELEMENTS];
+
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ double value = m_elements[i].value();
+ count++;
+ total += value;
+ if ( value &gt; biggest )
+ biggest = value;
+ scales[i] = m_elements[i].value() * scaleFactor;
+ }
+ }
+
+ if ( count ) {
+ // 2nd loop because of total and biggest
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i )
+ if ( m_elements[i].isValid() )
+ if ( m_chartType == PIE )
+ scales[i] = (m_elements[i].value() * scaleFactor) / total;
+ else
+ scales[i] = (m_elements[i].value() * scaleFactor) / biggest;
+
+ switch ( m_chartType ) {
+ case PIE:
+ drawPieChart( scales, total, count );
+ break;
+ case VERTICAL_BAR:
+ drawVerticalBarChart( scales, total, count );
+ break;
+ case HORIZONTAL_BAR:
+ drawHorizontalBarChart( scales, total, count );
+ break;
+ }
+ }
+
+ m_canvas-&gt;update();
+}
+
+
+void <a name="f168"></a>ChartForm::drawPieChart( const double scales[], double total, int )
+{
+ double width = m_canvas-&gt;width();
+ double height = m_canvas-&gt;height();
+ int size = int(width &gt; height ? height : width);
+ int x = int(width / 2);
+ int y = int(height / 2);
+ int angle = 0;
+
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ int extent = int(scales[i]);
+ <a href="qcanvasellipse.html">QCanvasEllipse</a> *arc = new <a href="qcanvasellipse.html">QCanvasEllipse</a>(
+ size, size, angle, extent, m_canvas );
+ arc-&gt;<a href="qcanvasitem.html#setX">setX</a>( x );
+ arc-&gt;<a href="qcanvasitem.html#setY">setY</a>( y );
+ arc-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 0 );
+ arc-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QBrush( m_elements[i].valueColor(),
+ BrushStyle(m_elements[i].valuePattern()) ) );
+ arc-&gt;<a href="qcanvasitem.html#show">show</a>();
+ angle += extent;
+ <a href="qstring.html">QString</a> label = m_elements[i].label();
+ if ( !label.<a href="qstring.html#isEmpty">isEmpty</a>() || m_addValues != NO ) {
+ label = valueLabel( label, m_elements[i].value(), total );
+ CanvasText *text = new CanvasText( i, label, m_font, m_canvas );
+ double proX = m_elements[i].proX( PIE );
+ double proY = m_elements[i].proY( PIE );
+ if ( proX &lt; 0 || proY &lt; 0 ) {
+ // Find the centre of the pie segment
+ <a href="qrect.html">QRect</a> rect = arc-&gt;<a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>();
+ proX = ( rect.<a href="qcanvasrectangle.html#width">width</a>() / 2 ) + rect.<a href="qcanvasitem.html#x">x</a>();
+ proY = ( rect.<a href="qcanvasrectangle.html#height">height</a>() / 2 ) + rect.<a href="qcanvasitem.html#y">y</a>();
+ // Centre text over the centre of the pie segment
+ rect = text-&gt;<a href="qcanvastext.html#boundingRect">boundingRect</a>();
+ proX -= ( rect.<a href="qcanvasrectangle.html#width">width</a>() / 2 );
+ proY -= ( rect.<a href="qcanvasrectangle.html#height">height</a>() / 2 );
+ // Make proportional
+ proX /= width;
+ proY /= height;
+ }
+ text-&gt;<a href="qcanvastext.html#setColor">setColor</a>( m_elements[i].labelColor() );
+ text-&gt;<a href="qcanvasitem.html#setX">setX</a>( proX * width );
+ text-&gt;<a href="qcanvasitem.html#setY">setY</a>( proY * height );
+ text-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 1 );
+ text-&gt;<a href="qcanvasitem.html#show">show</a>();
+ m_elements[i].setProX( PIE, proX );
+ m_elements[i].setProY( PIE, proY );
+ }
+ }
+ }
+}
+
+
+void <a name="f169"></a>ChartForm::drawVerticalBarChart(
+ const double scales[], double total, int count )
+{
+ double width = m_canvas-&gt;width();
+ double height = m_canvas-&gt;height();
+ int prowidth = int(width / count);
+ int x = 0;
+ <a href="qpen.html">QPen</a> pen;
+ pen.<a href="qpen.html#setStyle">setStyle</a>( NoPen );
+
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ int extent = int(scales[i]);
+ int y = int(height - extent);
+ <a href="qcanvasrectangle.html">QCanvasRectangle</a> *rect = new <a href="qcanvasrectangle.html">QCanvasRectangle</a>(
+ x, y, prowidth, extent, m_canvas );
+ rect-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QBrush( m_elements[i].valueColor(),
+ BrushStyle(m_elements[i].valuePattern()) ) );
+ rect-&gt;<a href="qcanvaspolygonalitem.html#setPen">setPen</a>( pen );
+ rect-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 0 );
+ rect-&gt;<a href="qcanvasitem.html#show">show</a>();
+ <a href="qstring.html">QString</a> label = m_elements[i].label();
+ if ( !label.<a href="qstring.html#isEmpty">isEmpty</a>() || m_addValues != NO ) {
+ double proX = m_elements[i].proX( VERTICAL_BAR );
+ double proY = m_elements[i].proY( VERTICAL_BAR );
+ if ( proX &lt; 0 || proY &lt; 0 ) {
+ proX = x / width;
+ proY = y / height;
+ }
+ label = valueLabel( label, m_elements[i].value(), total );
+ CanvasText *text = new CanvasText( i, label, m_font, m_canvas );
+ text-&gt;<a href="qcanvastext.html#setColor">setColor</a>( m_elements[i].labelColor() );
+ text-&gt;<a href="qcanvasitem.html#setX">setX</a>( proX * width );
+ text-&gt;<a href="qcanvasitem.html#setY">setY</a>( proY * height );
+ text-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 1 );
+ text-&gt;<a href="qcanvasitem.html#show">show</a>();
+ m_elements[i].setProX( VERTICAL_BAR, proX );
+ m_elements[i].setProY( VERTICAL_BAR, proY );
+ }
+ x += prowidth;
+ }
+ }
+}
+
+
+void <a name="f170"></a>ChartForm::drawHorizontalBarChart(
+ const double scales[], double total, int count )
+{
+ double width = m_canvas-&gt;width();
+ double height = m_canvas-&gt;height();
+ int proheight = int(height / count);
+ int y = 0;
+ <a href="qpen.html">QPen</a> pen;
+ pen.<a href="qpen.html#setStyle">setStyle</a>( NoPen );
+
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ int extent = int(scales[i]);
+ <a href="qcanvasrectangle.html">QCanvasRectangle</a> *rect = new <a href="qcanvasrectangle.html">QCanvasRectangle</a>(
+ 0, y, extent, proheight, m_canvas );
+ rect-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QBrush( m_elements[i].valueColor(),
+ BrushStyle(m_elements[i].valuePattern()) ) );
+ rect-&gt;<a href="qcanvaspolygonalitem.html#setPen">setPen</a>( pen );
+ rect-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 0 );
+ rect-&gt;<a href="qcanvasitem.html#show">show</a>();
+ <a href="qstring.html">QString</a> label = m_elements[i].label();
+ if ( !label.<a href="qstring.html#isEmpty">isEmpty</a>() || m_addValues != NO ) {
+ double proX = m_elements[i].proX( HORIZONTAL_BAR );
+ double proY = m_elements[i].proY( HORIZONTAL_BAR );
+ if ( proX &lt; 0 || proY &lt; 0 ) {
+ proX = 0;
+ proY = y / height;
+ }
+ label = valueLabel( label, m_elements[i].value(), total );
+ CanvasText *text = new CanvasText( i, label, m_font, m_canvas );
+ text-&gt;<a href="qcanvastext.html#setColor">setColor</a>( m_elements[i].labelColor() );
+ text-&gt;<a href="qcanvasitem.html#setX">setX</a>( proX * width );
+ text-&gt;<a href="qcanvasitem.html#setY">setY</a>( proY * height );
+ text-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 1 );
+ text-&gt;<a href="qcanvasitem.html#show">show</a>();
+ m_elements[i].setProX( HORIZONTAL_BAR, proX );
+ m_elements[i].setProY( HORIZONTAL_BAR, proY );
+ }
+ y += proheight;
+ }
+ }
+}
+
+
+QString <a name="f171"></a>ChartForm::valueLabel(
+ const <a href="qstring.html">QString</a>&amp; label, double value, double total )
+{
+ if ( m_addValues == NO )
+ return label;
+
+ <a href="qstring.html">QString</a> newLabel = label;
+ if ( !label.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ if ( m_chartType == VERTICAL_BAR )
+ newLabel += '\n';
+ else
+ newLabel += ' ';
+ if ( m_addValues == YES )
+ newLabel += QString::<a href="qstring.html#number">number</a>( value, 'f', m_decimalPlaces );
+ else if ( m_addValues == AS_PERCENTAGE )
+ newLabel += QString::<a href="qstring.html#number">number</a>( (value / total) * 100, 'f', m_decimalPlaces )
+ + '%';
+ return newLabel;
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-chartform_files-cpp.html b/doc/html/chart-chartform_files-cpp.html
new file mode 100644
index 0000000..01dc4cc
--- /dev/null
+++ b/doc/html/chart-chartform_files-cpp.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:11 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/chartform_files.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/chartform_files.cpp Example File</h1>
+
+
+<pre>#include "canvasview.h"
+#include "chartform.h"
+
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+
+
+void <a name="f172"></a>ChartForm::load( const <a href="qstring.html">QString</a>&amp; filename )
+{
+ <a href="qfile.html">QFile</a> file( filename );
+ if ( !file.<a href="qfile.html#open">open</a>( IO_ReadOnly ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Failed to load \'%1\'" ).
+ arg( filename ), 2000 );
+ return;
+ }
+
+ init(); // Make sure we have colours
+ m_filename = filename;
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;file );
+ Element element;
+ int errors = 0;
+ int i = 0;
+ while ( !ts.<a href="qtextstream.html#eof">eof</a>() ) {
+ ts &gt;&gt; element;
+ if ( element.isValid() )
+ m_elements[i++] = element;
+ else
+ errors++;
+ if ( i == MAX_ELEMENTS ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message(
+ QString( "Read maximum number of elements (%1)"
+ " discarding others" ).arg( i ), 2000 );
+ break;
+ }
+ }
+
+ file.<a href="qfile.html#close">close</a>();
+
+ <a href="qstring.html">QString</a> bad = "";
+ if ( errors ) {
+ bad = QString( "; skipped " ) + QString::number( errors ) + " bad record";
+ if ( errors &gt; 1 )
+ bad += "s";
+ }
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Read %1 values from \'%2\'%3" ).
+ arg( i ).arg( filename ).arg( bad ), 3000 );
+
+ <a href="qwidget.html#setCaption">setCaption</a>( QString( "Chart -- %1" ).arg( filename ) );
+ updateRecentFiles( filename );
+
+ drawElements();
+ m_changed = FALSE;
+}
+
+
+void <a name="f173"></a>ChartForm::fileSave()
+{
+ if ( m_filename.isEmpty() ) {
+ fileSaveAs();
+ return;
+ }
+
+ <a href="qfile.html">QFile</a> file( m_filename );
+ if ( !file.<a href="qfile.html#open">open</a>( IO_WriteOnly ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Failed to save \'%1\'" ).
+ arg( m_filename ), 2000 );
+ return;
+ }
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;file );
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i )
+ if ( m_elements[i].isValid() )
+ ts &lt;&lt; m_elements[i];
+
+ file.<a href="qfile.html#close">close</a>();
+
+ <a href="qwidget.html#setCaption">setCaption</a>( QString( "Chart -- %1" ).arg( m_filename ) );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Saved \'%1\'" ).arg( m_filename ), 2000 );
+ m_changed = FALSE;
+}
+
+
+void <a name="f174"></a>ChartForm::fileSaveAsPixmap()
+{
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+ QString::null, "Images (*.png *.xpm *.jpg)",
+ this, "file save as bitmap",
+ "Chart -- File Save As Bitmap" );
+ if ( QPixmap::<a href="qpixmap.html#grabWidget">grabWidget</a>( m_canvasView ).
+ save( filename,
+ filename.<a href="qstring.html#mid">mid</a>( filename.<a href="qstring.html#findRev">findRev</a>( '.' ) + 1 ).upper() ) )
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Wrote \'%1\'" ).arg( filename ), 2000 );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Failed to write \'%1\'" ).
+ arg( filename ), 2000 );
+}
+
+void <a name="f175"></a>ChartForm::filePrint()
+{
+ if ( !m_printer )
+ m_printer = new <a href="qprinter.html">QPrinter</a>;
+ if ( m_printer-&gt;<a href="qprinter.html#setup">setup</a>() ) {
+ <a href="qpainter.html">QPainter</a> painter( m_printer );
+ m_canvas-&gt;drawArea( QRect( 0, 0, m_canvas-&gt;width(), m_canvas-&gt;height() ),
+ &amp;painter, FALSE );
+ if ( !m_printer-&gt;<a href="qprinter.html#outputFileName">outputFileName</a>().isEmpty() )
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Printed \'%1\'" ).
+ arg( m_printer-&gt;<a href="qprinter.html#outputFileName">outputFileName</a>() ), 2000 );
+ }
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-element-cpp.html b/doc/html/chart-element-cpp.html
new file mode 100644
index 0000000..2e118aa
--- /dev/null
+++ b/doc/html/chart-element-cpp.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/element.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/element.cpp Example File</h1>
+
+
+<pre>#include "element.h"
+
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+
+const char FIELD_SEP = ':';
+const char PROPOINT_SEP = ';';
+const char XY_SEP = ',';
+
+
+void Element::init( double value, QColor valueColor, int valuePattern,
+ const <a href="qstring.html">QString</a>&amp; label, QColor labelColor )
+{
+ m_value = value;
+ m_valueColor = valueColor;
+ if ( valuePattern &lt; Qt::SolidPattern || valuePattern &gt; Qt::DiagCrossPattern )
+ valuePattern = Qt::SolidPattern;
+ m_valuePattern = valuePattern;
+ m_label = label;
+ m_labelColor = labelColor;
+}
+
+
+void Element::setValuePattern( int valuePattern )
+{
+ if ( valuePattern &lt; Qt::SolidPattern || valuePattern &gt; Qt::DiagCrossPattern )
+ valuePattern = Qt::SolidPattern;
+ m_valuePattern = valuePattern;
+}
+
+
+double Element::proX( int index ) const
+{
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(index &gt;= 0 &amp;&amp; index &lt; MAX_PROPOINTS);
+ return m_propoints[2 * index];
+}
+
+
+double Element::proY( int index ) const
+{
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(index &gt;= 0 &amp;&amp; index &lt; MAX_PROPOINTS);
+ return m_propoints[(2 * index) + 1];
+}
+
+
+void Element::setProX( int index, double value )
+{
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(index &gt;= 0 &amp;&amp; index &lt; MAX_PROPOINTS);
+ m_propoints[2 * index] = value;
+}
+
+
+void Element::setProY( int index, double value )
+{
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(index &gt;= 0 &amp;&amp; index &lt; MAX_PROPOINTS);
+ m_propoints[(2 * index) + 1] = value;
+}
+
+
+QTextStream &amp;operator&lt;&lt;( <a href="qtextstream.html">QTextStream</a> &amp;s, const Element &amp;element )
+{
+ s &lt;&lt; element.value() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.valueColor().name() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.valuePattern() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.labelColor().name() &lt;&lt; FIELD_SEP;
+
+ for ( int i = 0; i &lt; Element::MAX_PROPOINTS; ++i ) {
+ s &lt;&lt; element.proX( i ) &lt;&lt; XY_SEP &lt;&lt; element.proY( i );
+ s &lt;&lt; ( i == Element::MAX_PROPOINTS - 1 ? FIELD_SEP : PROPOINT_SEP );
+ }
+
+ s &lt;&lt; element.label() &lt;&lt; '\n';
+
+ return s;
+}
+
+
+QTextStream &amp;operator&gt;&gt;( <a href="qtextstream.html">QTextStream</a> &amp;s, Element &amp;element )
+{
+ <a href="qstring.html">QString</a> data = s.<a href="qtextstream.html#readLine">readLine</a>();
+ element.setValue( Element::INVALID );
+
+ int errors = 0;
+ bool ok;
+
+ <a href="qstringlist.html">QStringList</a> fields = QStringList::<a href="qstringlist.html#split">split</a>( FIELD_SEP, data );
+ if ( fields.<a href="qvaluelist.html#count">count</a>() &gt;= 4 ) {
+ double value = fields[0].toDouble( &amp;ok );
+ if ( !ok )
+ errors++;
+ <a href="qcolor.html">QColor</a> valueColor = QColor( fields[1] );
+ if ( !valueColor.<a href="qcolor.html#isValid">isValid</a>() )
+ errors++;
+ int valuePattern = fields[2].toInt( &amp;ok );
+ if ( !ok )
+ errors++;
+ <a href="qcolor.html">QColor</a> labelColor = QColor( fields[3] );
+ if ( !labelColor.<a href="qcolor.html#isValid">isValid</a>() )
+ errors++;
+ <a href="qstringlist.html">QStringList</a> propoints = QStringList::<a href="qstringlist.html#split">split</a>( PROPOINT_SEP, fields[4] );
+ <a href="qstring.html">QString</a> label = data.<a href="qstring.html#section">section</a>( FIELD_SEP, 5 );
+
+ if ( !errors ) {
+ element.set( value, valueColor, valuePattern, label, labelColor );
+ int i = 0;
+ for ( QStringList::iterator point = propoints.<a href="qvaluelist.html#begin">begin</a>();
+ i &lt; Element::MAX_PROPOINTS &amp;&amp; point != propoints.<a href="qvaluelist.html#end">end</a>();
+ ++i, ++point ) {
+ errors = 0;
+ <a href="qstringlist.html">QStringList</a> xy = QStringList::<a href="qstringlist.html#split">split</a>( XY_SEP, *point );
+ double x = xy[0].toDouble( &amp;ok );
+ if ( !ok || x &lt;= 0.0 || x &gt;= 1.0 )
+ errors++;
+ double y = xy[1].toDouble( &amp;ok );
+ if ( !ok || y &lt;= 0.0 || y &gt;= 1.0 )
+ errors++;
+ if ( errors )
+ x = y = Element::NO_PROPORTION;
+ element.setProX( i, x );
+ element.setProY( i, y );
+ }
+ }
+ }
+
+ return s;
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-element-h.html b/doc/html/chart-element-h.html
new file mode 100644
index 0000000..d3cf648
--- /dev/null
+++ b/doc/html/chart-element-h.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:2 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/element.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/element.h Example File</h1>
+
+
+<pre>#ifndef ELEMENT_H
+#define ELEMENT_H
+
+#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+#include &lt;<a href="qnamespace-h.html">qnamespace.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qvaluevector-h.html">qvaluevector.h</a>&gt;
+
+class Element;
+
+typedef QValueVector&lt;Element&gt; ElementVector;
+
+/*
+ Elements are valid if they have a value which is &gt; EPSILON.
+*/
+const double EPSILON = 0.0000001; // Must be &gt; INVALID.
+
+
+class Element
+{
+public:
+ enum { INVALID = -1 };
+ enum { NO_PROPORTION = -1 };
+ enum { MAX_PROPOINTS = 3 }; // One proportional point per chart type
+
+ Element( double value = INVALID, QColor valueColor = Qt::gray,
+ int valuePattern = Qt::SolidPattern,
+ const <a href="qstring.html">QString</a>&amp; label = QString::null,
+ <a href="qcolor.html">QColor</a> labelColor = Qt::black ) {
+ init( value, valueColor, valuePattern, label, labelColor );
+ for ( int i = 0; i &lt; MAX_PROPOINTS * 2; ++i )
+ m_propoints[i] = NO_PROPORTION;
+ }
+ ~Element() {}
+
+ bool isValid() const { return m_value &gt; EPSILON; }
+
+ double value() const { return m_value; }
+ <a href="qcolor.html">QColor</a> valueColor() const { return m_valueColor; }
+ int valuePattern() const { return m_valuePattern; }
+ <a href="qstring.html">QString</a> label() const { return m_label; }
+ <a href="qcolor.html">QColor</a> labelColor() const { return m_labelColor; }
+ double proX( int index ) const;
+ double proY( int index ) const;
+
+ void set( double value = INVALID, QColor valueColor = Qt::gray,
+ int valuePattern = Qt::SolidPattern,
+ const <a href="qstring.html">QString</a>&amp; label = QString::null,
+ <a href="qcolor.html">QColor</a> labelColor = Qt::black ) {
+ init( value, valueColor, valuePattern, label, labelColor );
+ }
+ void setValue( double value ) { m_value = value; }
+ void setValueColor( <a href="qcolor.html">QColor</a> valueColor ) { m_valueColor = valueColor; }
+ void setValuePattern( int valuePattern );
+ void setLabel( const <a href="qstring.html">QString</a>&amp; label ) { m_label = label; }
+ void setLabelColor( <a href="qcolor.html">QColor</a> labelColor ) { m_labelColor = labelColor; }
+ void setProX( int index, double value );
+ void setProY( int index, double value );
+
+#ifdef Q_FULL_TEMPLATE_INSTANTIATION
+ // xlC 3.x workaround
+ Q_DUMMY_COMPARISON_OPERATOR(Element)
+ bool operator!=( const Element&amp; e) const {
+ return ( !(e == *this) );
+ }
+#endif
+
+private:
+ void init( double value, QColor valueColor, int valuePattern,
+ const <a href="qstring.html">QString</a>&amp; label, QColor labelColor );
+
+ double m_value;
+ <a href="qcolor.html">QColor</a> m_valueColor;
+ int m_valuePattern;
+ <a href="qstring.html">QString</a> m_label;
+ <a href="qcolor.html">QColor</a> m_labelColor;
+ double m_propoints[2 * MAX_PROPOINTS];
+};
+
+
+QTextStream &amp;operator&lt;&lt;( <a href="qtextstream.html">QTextStream</a>&amp;, const Element&amp; );
+QTextStream &amp;operator&gt;&gt;( <a href="qtextstream.html">QTextStream</a>&amp;, Element&amp; );
+
+#endif
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-forms.png b/doc/html/chart-forms.png
new file mode 100644
index 0000000..3ffcbfe
--- /dev/null
+++ b/doc/html/chart-forms.png
Binary files differ
diff --git a/doc/html/chart-main-cpp.html b/doc/html/chart-main-cpp.html
new file mode 100644
index 0000000..ec816b4
--- /dev/null
+++ b/doc/html/chart-main-cpp.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/main.cpp Example File</h1>
+
+
+<pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "chartform.h"
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qstring.html">QString</a> filename;
+<a name="x2900"></a> if ( app.<a href="qapplication.html#argc">argc</a>() &gt; 1 ) {
+<a name="x2901"></a> filename = app.<a href="qapplication.html#argv">argv</a>()[1];
+<a name="x2904"></a> if ( !filename.<a href="qstring.html#endsWith">endsWith</a>( ".cht" ) )
+ filename = QString::null;
+ }
+
+ ChartForm *cf = new ChartForm( filename );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( cf );
+ cf-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-main.png b/doc/html/chart-main.png
new file mode 100644
index 0000000..c7931e0
--- /dev/null
+++ b/doc/html/chart-main.png
Binary files differ
diff --git a/doc/html/chart-main2.png b/doc/html/chart-main2.png
new file mode 100644
index 0000000..4cda333
--- /dev/null
+++ b/doc/html/chart-main2.png
Binary files differ
diff --git a/doc/html/chart-options.png b/doc/html/chart-options.png
new file mode 100644
index 0000000..c7f6af6
--- /dev/null
+++ b/doc/html/chart-options.png
Binary files differ
diff --git a/doc/html/chart-optionsform-cpp.html b/doc/html/chart-optionsform-cpp.html
new file mode 100644
index 0000000..7ac28a3
--- /dev/null
+++ b/doc/html/chart-optionsform-cpp.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:13 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/optionsform.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/optionsform.cpp Example File</h1>
+
+
+<pre>#include "optionsform.h"
+
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+#include &lt;<a href="qframe-h.html">qframe.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+
+#include "images/options_horizontalbarchart.xpm"
+#include "images/options_piechart.xpm"
+#include "images/options_verticalbarchart.xpm"
+
+
+<a name="f176"></a>OptionsForm::OptionsForm( <a href="qwidget.html">QWidget</a>* parent, const char* name,
+ bool modal, WFlags f )
+ : <a href="qdialog.html">QDialog</a>( parent, name, modal, f )
+{
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart -- Options" );
+ <a href="qwidget.html#resize">resize</a>( 320, 290 );
+
+ optionsFormLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 11, 6 );
+
+ chartTypeLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+
+ chartTypeTextLabel = new <a href="qlabel.html">QLabel</a>( "&amp;Chart Type", this );
+ chartTypeLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( chartTypeTextLabel );
+
+ chartTypeComboBox = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_piechart ), "Pie Chart" );
+ chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_verticalbarchart ),
+ "Vertical Bar Chart" );
+ chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_horizontalbarchart ),
+ "Horizontal Bar Chart" );
+ chartTypeLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( chartTypeComboBox );
+ optionsFormLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( chartTypeLayout );
+
+ fontLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+
+ fontPushButton = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Font...", this );
+ fontLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fontPushButton );
+ <a href="qspaceritem.html">QSpacerItem</a>* spacer = new <a href="qspaceritem.html">QSpacerItem</a>( 0, 0,
+ QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ fontLayout-&gt;<a href="qboxlayout.html#addItem">addItem</a>( spacer );
+
+ fontTextLabel = new <a href="qlabel.html">QLabel</a>( this ); // Must be set by caller via setFont()
+ fontLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fontTextLabel );
+ optionsFormLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( fontLayout );
+
+ addValuesFrame = new <a href="qframe.html">QFrame</a>( this );
+ addValuesFrame-&gt;<a href="qframe.html#setFrameShape">setFrameShape</a>( QFrame::StyledPanel );
+ addValuesFrame-&gt;<a href="qframe.html#setFrameShadow">setFrameShadow</a>( QFrame::Sunken );
+ addValuesFrameLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>( addValuesFrame, 11, 6 );
+
+ addValuesButtonGroup = new <a href="qbuttongroup.html">QButtonGroup</a>( "Show Values", addValuesFrame );
+ addValuesButtonGroup-&gt;<a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>(0, Qt::Vertical );
+ addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>()-&gt;setSpacing( 6 );
+ addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>()-&gt;setMargin( 11 );
+ addValuesButtonGroupLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>(
+ addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>() );
+ addValuesButtonGroupLayout-&gt;<a href="qlayoutitem.html#setAlignment">setAlignment</a>( Qt::AlignTop );
+
+ noRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;No", addValuesButtonGroup );
+ noRadioButton-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( noRadioButton );
+
+ yesRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;Yes", addValuesButtonGroup );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( yesRadioButton );
+
+ asPercentageRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "As &amp;Percentage",
+ addValuesButtonGroup );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( asPercentageRadioButton );
+ addValuesFrameLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( addValuesButtonGroup );
+
+ decimalPlacesLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+
+ decimalPlacesTextLabel = new <a href="qlabel.html">QLabel</a>( "&amp;Decimal Places", addValuesFrame );
+ decimalPlacesLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( decimalPlacesTextLabel );
+
+ decimalPlacesSpinBox = new <a href="qspinbox.html">QSpinBox</a>( addValuesFrame );
+ decimalPlacesSpinBox-&gt;<a href="qspinbox.html#setMinValue">setMinValue</a>( 0 );
+ decimalPlacesSpinBox-&gt;<a href="qspinbox.html#setMaxValue">setMaxValue</a>( 9 );
+ decimalPlacesLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( decimalPlacesSpinBox );
+
+ addValuesFrameLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( decimalPlacesLayout );
+
+ optionsFormLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( addValuesFrame );
+
+ buttonsLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+ spacer = new <a href="qspaceritem.html">QSpacerItem</a>( 0, 0,
+ QSizePolicy::Expanding, QSizePolicy::Minimum );
+ buttonsLayout-&gt;<a href="qboxlayout.html#addItem">addItem</a>( spacer );
+
+ okPushButton = new <a href="qpushbutton.html">QPushButton</a>( "OK", this );
+ okPushButton-&gt;<a href="qpushbutton.html#setDefault">setDefault</a>( TRUE );
+ buttonsLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( okPushButton );
+
+ cancelPushButton = new <a href="qpushbutton.html">QPushButton</a>( "Cancel", this );
+ buttonsLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cancelPushButton );
+ optionsFormLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( buttonsLayout );
+
+ <a href="qobject.html#connect">connect</a>( fontPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( chooseFont() ) );
+ <a href="qobject.html#connect">connect</a>( okPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#accept">accept</a>() ) );
+ <a href="qobject.html#connect">connect</a>( cancelPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#reject">reject</a>() ) );
+
+ chartTypeTextLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( chartTypeComboBox );
+ decimalPlacesTextLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( decimalPlacesSpinBox );
+}
+
+
+void <a name="f177"></a>OptionsForm::chooseFont()
+{
+ bool ok;
+ <a href="qfont.html">QFont</a> font = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, m_font, this );
+ if ( ok )
+ <a href="qwidget.html#setFont">setFont</a>( font );
+}
+
+
+void OptionsForm::<a href="qwidget.html#setFont">setFont</a>( <a href="qfont.html">QFont</a> font )
+{
+ <a href="qstring.html">QString</a> label = font.<a href="qfont.html#family">family</a>() + " " +
+ QString::<a href="qstring.html#number">number</a>( font.<a href="qfont.html#pointSize">pointSize</a>() ) + "pt";
+ if ( font.<a href="qfont.html#bold">bold</a>() )
+ label += " Bold";
+ if ( font.<a href="qfont.html#italic">italic</a>() )
+ label += " Italic";
+ fontTextLabel-&gt;<a href="qlabel.html#setText">setText</a>( label );
+ m_font = font;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-optionsform-h.html b/doc/html/chart-optionsform-h.html
new file mode 100644
index 0000000..f9e77d6
--- /dev/null
+++ b/doc/html/chart-optionsform-h.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:12 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/optionsform.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/optionsform.h Example File</h1>
+
+
+<pre>#ifndef OPTIONSFORM_H
+#define OPTIONSFORM_H
+
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+
+class QButtonGroup;
+class QComboBox;
+class QFrame;
+class QGridLayout;
+class QHBoxLayout;
+class QLabel;
+class QPushButton;
+class QRadioButton;
+class QSpinBox;
+class QVBoxLayout;
+
+
+class OptionsForm : public <a href="qdialog.html">QDialog</a>
+{
+ Q_OBJECT
+public:
+ OptionsForm( <a href="qwidget.html">QWidget</a>* parent = 0, const char* name = "options form",
+ bool modal = FALSE, WFlags f = 0 );
+ ~OptionsForm() {}
+
+ <a href="qfont.html">QFont</a> font() const { return m_font; }
+ void setFont( <a href="qfont.html">QFont</a> font );
+
+ <a href="qlabel.html">QLabel</a> *chartTypeTextLabel;
+ <a href="qcombobox.html">QComboBox</a> *chartTypeComboBox;
+ <a href="qpushbutton.html">QPushButton</a> *fontPushButton;
+ <a href="qlabel.html">QLabel</a> *fontTextLabel;
+ <a href="qframe.html">QFrame</a> *addValuesFrame;
+ <a href="qbuttongroup.html">QButtonGroup</a> *addValuesButtonGroup;
+ <a href="qradiobutton.html">QRadioButton</a> *noRadioButton;
+ <a href="qradiobutton.html">QRadioButton</a> *yesRadioButton;
+ <a href="qradiobutton.html">QRadioButton</a> *asPercentageRadioButton;
+ <a href="qlabel.html">QLabel</a> *decimalPlacesTextLabel;
+ <a href="qspinbox.html">QSpinBox</a> *decimalPlacesSpinBox;
+ <a href="qpushbutton.html">QPushButton</a> *okPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *cancelPushButton;
+
+protected slots:
+ void chooseFont();
+
+protected:
+ <a href="qvboxlayout.html">QVBoxLayout</a> *optionsFormLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *chartTypeLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *fontLayout;
+ <a href="qvboxlayout.html">QVBoxLayout</a> *addValuesFrameLayout;
+ <a href="qvboxlayout.html">QVBoxLayout</a> *addValuesButtonGroupLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *decimalPlacesLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *buttonsLayout;
+
+private:
+ <a href="qfont.html">QFont</a> m_font;
+};
+
+#endif
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-setdata.png b/doc/html/chart-setdata.png
new file mode 100644
index 0000000..2987e7b
--- /dev/null
+++ b/doc/html/chart-setdata.png
Binary files differ
diff --git a/doc/html/chart-setdataform-cpp.html b/doc/html/chart-setdataform-cpp.html
new file mode 100644
index 0000000..4c3a0e4
--- /dev/null
+++ b/doc/html/chart-setdataform-cpp.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:15 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/setdataform.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/setdataform.cpp Example File</h1>
+
+
+<pre>#include "setdataform.h"
+#include "chartform.h"
+
+#include &lt;<a href="qcolordialog-h.html">qcolordialog.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+
+#include "images/pattern01.xpm"
+#include "images/pattern02.xpm"
+#include "images/pattern03.xpm"
+#include "images/pattern04.xpm"
+#include "images/pattern05.xpm"
+#include "images/pattern06.xpm"
+#include "images/pattern07.xpm"
+#include "images/pattern08.xpm"
+#include "images/pattern09.xpm"
+#include "images/pattern10.xpm"
+#include "images/pattern11.xpm"
+#include "images/pattern12.xpm"
+#include "images/pattern13.xpm"
+#include "images/pattern14.xpm"
+
+const int MAX_PATTERNS = 14;
+
+
+<a name="f178"></a>SetDataForm::SetDataForm( ElementVector *elements, int decimalPlaces,
+ <a href="qwidget.html">QWidget</a>* parent, const char* name,
+ bool modal, WFlags f )
+ : <a href="qdialog.html">QDialog</a>( parent, name, modal, f )
+
+{
+ m_elements = elements;
+ m_decimalPlaces = decimalPlaces;
+
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart -- Set Data" );
+ <a href="qwidget.html#resize">resize</a>( 540, 440 );
+
+ tableButtonBox = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 11, 6, "table button box layout" );
+
+ table = new <a href="qtable.html">QTable</a>( this, "data table" );
+ table-&gt;<a href="qtable.html#setNumCols">setNumCols</a>( 5 );
+ table-&gt;<a href="qtable.html#setNumRows">setNumRows</a>( ChartForm::MAX_ELEMENTS );
+ table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 1, TRUE );
+ table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 2, TRUE );
+ table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 4, TRUE );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 0, 80 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 1, 60 ); // Columns 1 and 4 must be equal
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 2, 60 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 3, 200 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 4, 60 );
+ <a href="qheader.html">QHeader</a> *th = table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>();
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 0, "Value" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 1, "Color" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 2, "Pattern" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 3, "Label" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 4, "Color" );
+ tableButtonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( table );
+
+ buttonBox = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6, "button box layout" );
+
+ colorPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "color button" );
+ colorPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Color..." );
+ colorPushButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( colorPushButton );
+
+ <a href="qspaceritem.html">QSpacerItem</a> *spacer = new <a href="qspaceritem.html">QSpacerItem</a>( 0, 0, QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ buttonBox-&gt;<a href="qboxlayout.html#addItem">addItem</a>( spacer );
+
+ okPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "ok button" );
+ okPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "OK" );
+ okPushButton-&gt;<a href="qpushbutton.html#setDefault">setDefault</a>( TRUE );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( okPushButton );
+
+ cancelPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "cancel button" );
+ cancelPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "Cancel" );
+ cancelPushButton-&gt;<a href="qbutton.html#setAccel">setAccel</a>( Key_Escape );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cancelPushButton );
+
+ tableButtonBox-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( buttonBox );
+
+ <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#clicked">clicked</a>(int,int,int,const <a href="qpoint.html">QPoint</a>&amp;) ),
+ this, SLOT( setColor(int,int) ) );
+ <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#currentChanged">currentChanged</a>(int,int) ),
+ this, SLOT( currentChanged(int,int) ) );
+ <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#valueChanged">valueChanged</a>(int,int) ),
+ this, SLOT( valueChanged(int,int) ) );
+ <a href="qobject.html#connect">connect</a>( colorPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( setColor() ) );
+ <a href="qobject.html#connect">connect</a>( okPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#accept">accept</a>() ) );
+ <a href="qobject.html#connect">connect</a>( cancelPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#reject">reject</a>() ) );
+
+ QPixmap patterns[MAX_PATTERNS];
+ patterns[0] = QPixmap( pattern01 );
+ patterns[1] = QPixmap( pattern02 );
+ patterns[2] = QPixmap( pattern03 );
+ patterns[3] = QPixmap( pattern04 );
+ patterns[4] = QPixmap( pattern05 );
+ patterns[5] = QPixmap( pattern06 );
+ patterns[6] = QPixmap( pattern07 );
+ patterns[7] = QPixmap( pattern08 );
+ patterns[8] = QPixmap( pattern09 );
+ patterns[9] = QPixmap( pattern10 );
+ patterns[10] = QPixmap( pattern11 );
+ patterns[11] = QPixmap( pattern12 );
+ patterns[12] = QPixmap( pattern13 );
+ patterns[13] = QPixmap( pattern14 );
+
+ <a href="qrect.html">QRect</a> rect = table-&gt;<a href="qtable.html#cellRect">cellRect</a>( 0, 1 );
+ <a href="qpixmap.html">QPixmap</a> pix( rect.<a href="qrect.html#width">width</a>(), rect.<a href="qrect.html#height">height</a>() );
+
+ for ( int i = 0; i &lt; ChartForm::MAX_ELEMENTS; ++i ) {
+ Element element = (*m_elements)[i];
+
+ if ( element.isValid() )
+ table-&gt;<a href="qtable.html#setText">setText</a>(
+ i, 0,
+ QString( "%1" ).arg( element.value(), 0, 'f',
+ m_decimalPlaces ) );
+
+ <a href="qcolor.html">QColor</a> color = element.valueColor();
+ pix.<a href="qpixmap.html#fill">fill</a>( color );
+ table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( i, 1, pix );
+ table-&gt;<a href="qtable.html#setText">setText</a>( i, 1, color.<a href="qcolor.html#name">name</a>() );
+
+ <a href="qcombobox.html">QComboBox</a> *combobox = new <a href="qcombobox.html">QComboBox</a>;
+ for ( int j = 0; j &lt; MAX_PATTERNS; ++j )
+ combobox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( patterns[j] );
+ combobox-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( element.valuePattern() - 1 );
+ table-&gt;<a href="qtable.html#setCellWidget">setCellWidget</a>( i, 2, combobox );
+
+ table-&gt;<a href="qtable.html#setText">setText</a>( i, 3, element.label() );
+
+ color = element.labelColor();
+ pix.<a href="qpixmap.html#fill">fill</a>( color );
+ table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( i, 4, pix );
+ table-&gt;<a href="qtable.html#setText">setText</a>( i, 4, color.<a href="qcolor.html#name">name</a>() );
+ }
+
+}
+
+
+void <a name="f179"></a>SetDataForm::currentChanged( int, int col )
+{
+ colorPushButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( col == 1 || col == 4 );
+}
+
+
+void <a name="f180"></a>SetDataForm::valueChanged( int row, int col )
+{
+ if ( col == 0 ) {
+ bool ok;
+ double d = table-&gt;<a href="qtable.html#text">text</a>( row, col ).toDouble( &amp;ok );
+ if ( ok &amp;&amp; d &gt; EPSILON )
+ table-&gt;<a href="qtable.html#setText">setText</a>(
+ row, col, QString( "%1" ).arg(
+ d, 0, 'f', m_decimalPlaces ) );
+ else if ( !table-&gt;<a href="qtable.html#text">text</a>( row, col ).isEmpty() )
+ table-&gt;<a href="qtable.html#setText">setText</a>( row, col, table-&gt;<a href="qtable.html#text">text</a>( row, col ) + "?" );
+ }
+}
+
+
+void <a name="f181"></a>SetDataForm::setColor()
+{
+ setColor( table-&gt;<a href="qtable.html#currentRow">currentRow</a>(), table-&gt;<a href="qtable.html#currentColumn">currentColumn</a>() );
+ table-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+
+void SetDataForm::setColor( int row, int col )
+{
+ if ( !( col == 1 || col == 4 ) )
+ return;
+
+ <a href="qcolor.html">QColor</a> color = QColorDialog::<a href="qcolordialog.html#getColor">getColor</a>(
+ QColor( table-&gt;<a href="qtable.html#text">text</a>( row, col ) ),
+ this, "color dialog" );
+ if ( color.<a href="qcolor.html#isValid">isValid</a>() ) {
+ <a href="qpixmap.html">QPixmap</a> pix = table-&gt;<a href="qtable.html#pixmap">pixmap</a>( row, col );
+ pix.<a href="qpixmap.html#fill">fill</a>( color );
+ table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( row, col, pix );
+ table-&gt;<a href="qtable.html#setText">setText</a>( row, col, color.<a href="qcolor.html#name">name</a>() );
+ }
+}
+
+
+void SetDataForm::<a href="qdialog.html#accept">accept</a>()
+{
+ bool ok;
+ for ( int i = 0; i &lt; ChartForm::MAX_ELEMENTS; ++i ) {
+ Element &amp;element = (*m_elements)[i];
+ double d = table-&gt;<a href="qtable.html#text">text</a>( i, 0 ).toDouble( &amp;ok );
+ if ( ok )
+ element.setValue( d );
+ else
+ element.setValue( Element::INVALID );
+ element.setValueColor( QColor( table-&gt;<a href="qtable.html#text">text</a>( i, 1 ) ) );
+ element.setValuePattern(
+ ((QComboBox*)table-&gt;<a href="qtable.html#cellWidget">cellWidget</a>( i, 2 ))-&gt;currentItem() + 1 );
+ element.setLabel( table-&gt;<a href="qtable.html#text">text</a>( i, 3 ) );
+ element.setLabelColor( QColor( table-&gt;<a href="qtable.html#text">text</a>( i, 4 ) ) );
+ }
+
+ QDialog::<a href="qdialog.html#accept">accept</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/chart-setdataform-h.html b/doc/html/chart-setdataform-h.html
new file mode 100644
index 0000000..e30b849
--- /dev/null
+++ b/doc/html/chart-setdataform-h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:14 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>chart/setdataform.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>chart/setdataform.h Example File</h1>
+
+
+<pre>#ifndef SETDATAFORM_H
+#define SETDATAFORM_H
+
+#include "element.h"
+
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+
+class QHBoxLayout;
+class QPushButton;
+class QTable;
+class QVBoxLayout;
+
+
+class SetDataForm: public <a href="qdialog.html">QDialog</a>
+{
+ Q_OBJECT
+public:
+ SetDataForm( ElementVector *elements, int decimalPlaces,
+ <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = "set data form",
+ bool modal = TRUE, WFlags f = 0 );
+ ~SetDataForm() {}
+
+public slots:
+ void setColor();
+ void setColor( int row, int col );
+ void currentChanged( int row, int col );
+ void valueChanged( int row, int col );
+
+protected slots:
+ void accept();
+
+private:
+ <a href="qtable.html">QTable</a> *table;
+ <a href="qpushbutton.html">QPushButton</a> *colorPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *okPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *cancelPushButton;
+
+protected:
+ <a href="qvboxlayout.html">QVBoxLayout</a> *tableButtonBox;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *buttonBox;
+
+private:
+ ElementVector *m_elements;
+ int m_decimalPlaces;
+};
+
+#endif
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/checklists-example.html b/doc/html/checklists-example.html
new file mode 100644
index 0000000..a8f4fcf
--- /dev/null
+++ b/doc/html/checklists-example.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/checklists/checklists.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Listviews with Checkable Items</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Listviews with Checkable Items</h1>
+
+
+<p>
+This example program shows how to use listviews with different types of
+checkable items.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/checklists.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef CHECKLISTS_H
+#define CHECKLISTS_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QListView;
+class QLabel;
+
+class CheckLists : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ CheckLists( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qlistview.html">QListView</a> *lv1, *lv2;
+ <a href="qlabel.html">QLabel</a> *label;
+
+protected slots:
+ void copy1to2();
+ void copy2to3();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/checklists.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "checklists.h"
+
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qvaluelist-h.html">qvaluelist.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+/*
+ * Constructor
+ *
+ * Create all child widgets of the CheckList Widget
+ */
+
+<a name="f248"></a>CheckLists::CheckLists( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qhboxlayout.html">QHBoxLayout</a> *lay = new <a href="qhboxlayout.html">QHBoxLayout</a>( this );
+<a name="x426"></a> lay-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // create a widget which layouts its childs in a column
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox1 = new <a href="qvboxlayout.html">QVBoxLayout</a>( lay );
+ vbox1-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // First child: a Label
+<a name="x423"></a> vbox1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Check some items!", this ) );
+
+ // Second child: the ListView
+ lv1 = new <a href="qlistview.html">QListView</a>( this );
+ vbox1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lv1 );
+<a name="x427"></a> lv1-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Items" );
+<a name="x429"></a> lv1-&gt;<a href="qlistview.html#setRootIsDecorated">setRootIsDecorated</a>( TRUE );
+
+ // create a list with 4 ListViewItems which will be parent items of other ListViewItems
+ <a href="qvaluelist.html">QValueList</a>&lt;QListViewItem *&gt; parentList;
+
+<a name="x434"></a> parentList.<a href="qvaluelist.html#append">append</a>( new <a href="qchecklistitem.html">QCheckListItem</a>( lv1, "Parent Item 1", QCheckListItem::CheckBoxController ) );
+ parentList.<a href="qvaluelist.html#append">append</a>( new <a href="qchecklistitem.html">QCheckListItem</a>( lv1, "Parent Item 2", QCheckListItem::CheckBoxController ) );
+ parentList.<a href="qvaluelist.html#append">append</a>( new <a href="qchecklistitem.html">QCheckListItem</a>( lv1, "Parent Item 3", QCheckListItem::CheckBoxController ) );
+ parentList.<a href="qvaluelist.html#append">append</a>( new <a href="qchecklistitem.html">QCheckListItem</a>( lv1, "Parent Item 4", QCheckListItem::CheckBoxController ) );
+
+ <a href="qlistviewitem.html">QListViewItem</a> *item = 0;
+ unsigned int num = 1;
+ // go through the list of parent items...
+<a name="x436"></a><a name="x435"></a> for ( QValueList&lt;QListViewItem*&gt;::Iterator it = parentList.<a href="qvaluelist.html#begin">begin</a>(); it != parentList.<a href="qvaluelist.html#end">end</a>();
+ ( *it )-&gt;setOpen( TRUE ), ++it, num++ ) {
+ item = *it;
+ // ...and create 5 checkable child ListViewItems for each parent item
+ for ( unsigned int i = 1; i &lt;= 5; i++ )
+ (void)new <a href="qchecklistitem.html">QCheckListItem</a>( item, QString( "%1. Child of Parent %2" ).arg( i ).arg( num ), QCheckListItem::CheckBox );
+ }
+
+ // Create another widget for layouting
+ <a href="qvboxlayout.html">QVBoxLayout</a> *tmp = new <a href="qvboxlayout.html">QVBoxLayout</a>( lay );
+ tmp-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // create a pushbutton
+ <a href="qpushbutton.html">QPushButton</a> *copy1 = new <a href="qpushbutton.html">QPushButton</a>( " -&gt; ", this );
+ tmp-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( copy1 );
+<a name="x437"></a><a name="x433"></a> copy1-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( copy1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ // connect the SIGNAL clicked() of the pushbutton with the SLOT copy1to2()
+ <a href="qobject.html#connect">connect</a>( copy1, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( copy1to2() ) );
+
+ // another widget for layouting
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox2 = new <a href="qvboxlayout.html">QVBoxLayout</a>( lay );
+ vbox2-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // and another label
+ vbox2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Check one item!", this ) );
+
+ // create the second listview
+ lv2 = new <a href="qlistview.html">QListView</a>( this );
+ vbox2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lv2 );
+ lv2-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Items" );
+ lv2-&gt;<a href="qlistview.html#setRootIsDecorated">setRootIsDecorated</a>( TRUE );
+
+ // another widget needed for layouting only
+ tmp = new <a href="qvboxlayout.html">QVBoxLayout</a>( lay );
+ tmp-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // create another pushbutton...
+ <a href="qpushbutton.html">QPushButton</a> *copy2 = new <a href="qpushbutton.html">QPushButton</a>( " -&gt; ", this );
+ lay-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( copy2 );
+ copy2-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( copy2-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ // ...and connect its clicked() SIGNAL to the copy2to3() SLOT
+ <a href="qobject.html#connect">connect</a>( copy2, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( copy2to3() ) );
+
+ tmp = new <a href="qvboxlayout.html">QVBoxLayout</a>( lay );
+ tmp-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // and create a label which will be at the right of the window
+ label = new <a href="qlabel.html">QLabel</a>( "No Item yet...", this );
+ tmp-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+}
+
+/*
+ * SLOT copy1to2()
+ *
+ * Copies all checked ListViewItems from the first ListView to
+ * the second one, and inserts them as Radio-ListViewItem.
+ */
+
+void <a name="f249"></a>CheckLists::copy1to2()
+{
+ // create an iterator which operates on the first ListView
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( lv1 );
+
+<a name="x428"></a> lv2-&gt;<a href="qlistview.html#clear">clear</a>();
+
+ // Insert first a controller Item into the second ListView. Always if Radio-ListViewItems
+ // are inserted into a Listview, the parent item of these MUST be a controller Item!
+ <a href="qchecklistitem.html">QCheckListItem</a> *item = new <a href="qchecklistitem.html">QCheckListItem</a>( lv2, "Controller", QCheckListItem::Controller );
+<a name="x431"></a> item-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE );
+
+ // iterate through the first ListView...
+<a name="x432"></a> for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it )
+ // ...check state of childs, and...
+ if ( it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;parent() )
+ // ...if the item is checked...
+ if ( ( (QCheckListItem*)it.<a href="qlistviewitemiterator.html#current">current</a>() )-&gt;isOn() )
+ // ...insert a Radio-ListViewItem with the same text into the second ListView
+ (void)new <a href="qchecklistitem.html">QCheckListItem</a>( item, it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 0 ), QCheckListItem::RadioButton );
+
+<a name="x430"></a> if ( item-&gt;<a href="qlistviewitem.html#firstChild">firstChild</a>() )
+ ( ( <a href="qchecklistitem.html">QCheckListItem</a>* )item-&gt;<a href="qlistviewitem.html#firstChild">firstChild</a>() )-&gt;setOn( TRUE );
+}
+
+/*
+ * SLOT copy2to3()
+ *
+ * Copies the checked item of the second ListView into the
+ * Label at the right.
+ */
+
+void <a name="f250"></a>CheckLists::copy2to3()
+{
+ // create an iterator which operates on the second ListView
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( lv2 );
+
+ label-&gt;<a href="qlabel.html#setText">setText</a>( "No Item checked" );
+
+ // iterate through the second ListView...
+ for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it )
+ // ...check state of childs, and...
+ if ( it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;parent() )
+ // ...if the item is checked...
+ if ( ( (QCheckListItem*)it.<a href="qlistviewitemiterator.html#current">current</a>() )-&gt;isOn() )
+ // ...set the text of the item to the label
+ label-&gt;<a href="qlabel.html#setText">setText</a>( it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;text( 0 ) );
+}
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "checklists.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ CheckLists checklists;
+ checklists.<a href="qwidget.html#resize">resize</a>( 650, 350 );
+ checklists.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - CheckLists" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;checklists );
+ checklists.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/classchart.html b/doc/html/classchart.html
new file mode 100644
index 0000000..fbeabcd
--- /dev/null
+++ b/doc/html/classchart.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/classchart.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table>
+
+<p> <img src="qt33-class-chart.png" usemap="#classmap">
+<p> <map name="classmap">
+<area shape="rect" coords="5,29,47,74" href="qt.html">
+<area shape="rect" coords="40,57,138,78" href="qbrush.html">
+<area shape="rect" coords="32,78,138,94" href="qcursor.html">
+<area shape="rect" coords="32,94,149,115" href="qkeysequence.html">
+<area shape="rect" coords="30,115,149,129" href="qpainter.html">
+<area shape="rect" coords="30,129,136,148" href="qpen.html">
+<area shape="rect" coords="33,149,147,168" href="qsyntaxhighlighter.html">
+<area shape="rect" coords="33,168,133,185" href="qtab.html">
+<area shape="rect" coords="31,186,134,203" href="qthread.html">
+<area shape="rect" coords="31,203,129,220" href="qtooltip.html">
+<area shape="rect" coords="33,220,129,240" href="qwhatsthis.html">
+<area shape="rect" coords="33,239,155,255" href="qcanvasitem.html">
+<area shape="rect" coords="24,256,155,272" href="qcanvastext.html">
+<area shape="rect" coords="24,272,164,290" href="qcanvassprite.html">
+<area shape="rect" coords="38,290,164,310" href="qcanvaspolygonalitem.html">
+<area shape="rect" coords="37,309,147,328" href="qcanvasellipse.html">
+<area shape="rect" coords="35,328,147,344" href="qcanvasline.html">
+<area shape="rect" coords="34,344,154,363" href="qcanvaspolygon.html">
+<area shape="rect" coords="38,363,154,381" href="qcanvasspline.html">
+<area shape="rect" coords="37,381,155,406" href="qcanvasrectangle.html">
+<area shape="rect" coords="37,411,153,434" href="qwindowsstyle.html">
+<area shape="rect" coords="38,434,152,451" href="qwindowsxpstyle.html">
+<area shape="rect" coords="40,452,150,471" href="qmacstyle.html">
+<area shape="rect" coords="40,472,150,486" href="qplatinumstyle.html">
+<area shape="rect" coords="40,486,151,502" href="qsgistyle.html">
+<area shape="rect" coords="40,502,152,523" href="qcdestyle.html">
+<area shape="rect" coords="40,523,149,542" href="qmotifplusstyle.html">
+<area shape="rect" coords="40,542,150,565" href="qstyleplugin.html">
+<area shape="rect" coords="42,572,151,598" href="qsqleditorfactory.html">
+<area shape="rect" coords="41,595,149,612" href="qsql.html">
+<area shape="rect" coords="41,612,137,629" href="qsqlresult.html">
+<area shape="rect" coords="41,629,138,647" href="qsqlpropertymap.html">
+<area shape="rect" coords="44,647,145,672" href="qsqldriverplugin.html">
+<area shape="rect" coords="179,58,275,79" href="qevent.html">
+<area shape="rect" coords="176,79,274,96" href="qimevent.html">
+<area shape="rect" coords="176,96,283,114" href="qkeyevent.html">
+<area shape="rect" coords="176,114,283,132" href="qhideevent.html">
+<area shape="rect" coords="176,132,285,150" href="qdropevent.html">
+<area shape="rect" coords="178,150,285,168" href="qpaintevent.html">
+<area shape="rect" coords="178,168,284,185" href="qchildevent.html">
+<area shape="rect" coords="178,186,284,203" href="qmoveevent.html">
+<area shape="rect" coords="178,203,285,220" href="qshowevent.html">
+<area shape="rect" coords="176,221,286,237" href="qcloseevent.html">
+<area shape="rect" coords="176,237,281,253" href="qtimerevent.html">
+<area shape="rect" coords="174,253,281,273" href="qfocusevent.html">
+<area shape="rect" coords="174,272,283,291" href="qwheelevent.html">
+<area shape="rect" coords="174,291,283,309" href="qmouseevent.html">
+<area shape="rect" coords="174,309,285,326" href="qresizeevent.html">
+<area shape="rect" coords="174,326,285,344" href="qcustomevent.html">
+<area shape="rect" coords="174,344,285,372" href="qcontextmenuevent.html">
+<area shape="rect" coords="166,389,277,426" href="qcommonstyle.html">
+<area shape="rect" coords="166,427,273,462" href="qmotifstyle.html">
+<area shape="rect" coords="167,466,259,487" href="qftp.html">
+<area shape="rect" coords="168,487,268,505" href="qhttp.html">
+<area shape="rect" coords="166,505,268,532" href="qlocalfs.html">
+<area shape="rect" coords="166,532,274,560" href="qsqlfield.html">
+<area shape="rect" coords="168,559,274,578" href="qsqlfieldinfo.html">
+<area shape="rect" coords="168,578,275,594" href="qsqlrecord.html">
+<area shape="rect" coords="167,594,275,611" href="qsqlrecordinfo.html">
+<area shape="rect" coords="167,611,267,631" href="qsqlcursor.html">
+<area shape="rect" coords="163,632,261,649" href="qsqlindex.html">
+<area shape="rect" coords="163,649,271,671" href="qsqlquery.html">
+<area shape="rect" coords="287,36,386,64" href="qobject.html">
+<area shape="rect" coords="288,60,396,78" href="qaccel.html">
+<area shape="rect" coords="291,78,395,97" href="qaction.html">
+<area shape="rect" coords="291,97,401,113" href="qapplication.html">
+<area shape="rect" coords="294,115,395,133" href="qcanvas.html">
+<area shape="rect" coords="292,132,395,150" href="qclipboard.html">
+<area shape="rect" coords="292,150,397,166" href="qdns.html">
+<area shape="rect" coords="294,166,397,188" href="qdragobject.html">
+<area shape="rect" coords="295,188,401,205" href="qeventloop.html">
+<area shape="rect" coords="291,202,399,223" href="qprocess.html">
+<area shape="rect" coords="292,220,399,240" href="qserversocket.html">
+<area shape="rect" coords="293,240,400,259" href="qsessionmanager.html">
+<area shape="rect" coords="293,259,400,276" href="qsignal.html">
+<area shape="rect" coords="293,276,404,292" href="qsignalmapper.html">
+<area shape="rect" coords="290,293,405,308" href="qsocket.html">
+<area shape="rect" coords="290,308,399,326" href="qsound.html">
+<area shape="rect" coords="294,327,402,346" href="qtimer.html">
+<area shape="rect" coords="294,346,398,363" href="qtranslator.html">
+<area shape="rect" coords="294,362,398,379" href="qstylesheet.html">
+<area shape="rect" coords="294,379,399,396" href="qstyle.html">
+<area shape="rect" coords="295,396,399,417" href="qurloperator.html">
+<area shape="rect" coords="295,417,400,434" href="qnetworkoperation.html">
+<area shape="rect" coords="291,434,400,452" href="qnetworkprotocol.html">
+<area shape="rect" coords="291,452,400,469" href="qvalidator.html">
+<area shape="rect" coords="290,470,401,488" href="qdoublevalidator.html">
+<area shape="rect" coords="290,488,401,505" href="qintvalidator.html">
+<area shape="rect" coords="294,505,400,524" href="qregexpvalidator.html">
+<area shape="rect" coords="294,524,401,540" href="qeditorfactory.html">
+<area shape="rect" coords="282,541,401,567" href="qlayout.html">
+<area shape="rect" coords="289,568,397,594" href="qsqldatabase.html">
+<area shape="rect" coords="290,594,397,610" href="qsqldriver.html">
+<area shape="rect" coords="290,610,398,630" href="qsqlform.html">
+<area shape="rect" coords="292,630,398,646" href="qdatabrowser.html">
+<area shape="rect" coords="293,646,409,663" href="qdataview.html">
+<area shape="rect" coords="291,663,410,689" href="qdatatable.html">
+<area shape="rect" coords="393,34,468,76" href="qwidget.html">
+<area shape="rect" coords="461,63,541,79" href="qbutton.html">
+<area shape="rect" coords="447,80,542,97" href="qcombobox.html">
+<area shape="rect" coords="448,98,543,114" href="qdateedit.html">
+<area shape="rect" coords="445,114,543,132" href="qdatetimeedit.html">
+<area shape="rect" coords="448,134,558,152" href="qdesktopwidget.html">
+<area shape="rect" coords="443,152,558,170" href="qdialog.html">
+<area shape="rect" coords="443,170,542,186" href="qdial.html">
+<area shape="rect" coords="445,186,542,201" href="qdockarea.html">
+<area shape="rect" coords="445,201,540,222" href="qworkspace.html">
+<area shape="rect" coords="443,222,541,240" href="qglwidget.html">
+<area shape="rect" coords="443,240,536,256" href="qheader.html">
+<area shape="rect" coords="444,256,536,277" href="qmainwindow.html">
+<area shape="rect" coords="444,277,535,293" href="qscrollbar.html">
+<area shape="rect" coords="444,293,535,309" href="qslider.html">
+<area shape="rect" coords="445,309,535,326" href="qframe.html">
+<area shape="rect" coords="444,327,536,345" href="qsizegrip.html">
+<area shape="rect" coords="445,345,540,360" href="qspinbox.html">
+<area shape="rect" coords="446,361,540,383" href="qsplashscreen.html">
+<area shape="rect" coords="446,383,541,399" href="qstatusbar.html">
+<area shape="rect" coords="443,399,541,418" href="qtabbar.html">
+<area shape="rect" coords="445,418,542,434" href="qtabwidget.html">
+<area shape="rect" coords="445,434,545,453" href="qtimeedit.html">
+<area shape="rect" coords="446,453,539,470" href="qtoolbox.html">
+<area shape="rect" coords="445,470,539,487" href="qscrollview.html">
+<area shape="rect" coords="445,487,544,505" href="qcanvasview.html">
+<area shape="rect" coords="448,503,541,524" href="qiconview.html">
+<area shape="rect" coords="448,524,545,542" href="qlistview.html">
+<area shape="rect" coords="458,542,545,558" href="qlistbox.html">
+<area shape="rect" coords="458,558,548,577" href="qtextedit.html">
+<area shape="rect" coords="460,577,548,593" href="qtextbrowser.html">
+<area shape="rect" coords="460,594,547,613" href="qgridlayout.html">
+<area shape="rect" coords="456,613,547,629" href="qboxlayout.html">
+<area shape="rect" coords="456,629,544,649" href="qhboxlayout.html">
+<area shape="rect" coords="454,649,542,663" href="qvboxlayout.html">
+<area shape="rect" coords="454,663,536,689" href="qtable.html">
+<area shape="rect" coords="549,50,651,81" href="qcheckbox.html">
+<area shape="rect" coords="547,81,650,98" href="qtoolbutton.html">
+<area shape="rect" coords="548,99,651,114" href="qpushbutton.html">
+<area shape="rect" coords="551,115,651,137" href="qradiobutton.html">
+<area shape="rect" coords="553,146,643,169" href="qwizard.html">
+<area shape="rect" coords="549,170,646,185" href="qtabdialog.html">
+<area shape="rect" coords="549,185,647,204" href="qfiledialog.html">
+<area shape="rect" coords="550,204,648,221" href="qfontdialog.html">
+<area shape="rect" coords="550,221,652,240" href="qinputdialog.html">
+<area shape="rect" coords="547,240,652,258" href="qcolordialog.html">
+<area shape="rect" coords="548,259,662,275" href="qmessagebox.html">
+<area shape="rect" coords="545,275,662,291" href="qerrormessage.html">
+<area shape="rect" coords="545,292,660,318" href="qprogressdialog.html">
+<area shape="rect" coords="549,321,649,345" href="qgrid.html">
+<area shape="rect" coords="550,345,650,362" href="qlabel.html">
+<area shape="rect" coords="550,362,653,382" href="qhbox.html">
+<area shape="rect" coords="545,382,653,398" href="qvbox.html">
+<area shape="rect" coords="545,398,652,415" href="qsplitter.html">
+<area shape="rect" coords="548,415,652,435" href="qlineedit.html">
+<area shape="rect" coords="548,435,654,451" href="qmenubar.html">
+<area shape="rect" coords="551,451,654,470" href="qgroupbox.html">
+<area shape="rect" coords="551,470,655,486" href="qpopupmenu.html">
+<area shape="rect" coords="554,487,655,505" href="qprogressbar.html">
+<area shape="rect" coords="554,505,657,521" href="qlcdnumber.html">
+<area shape="rect" coords="554,521,657,540" href="qwidgetstack.html">
+<area shape="rect" coords="558,541,655,559" href="qdockwindow.html">
+<area shape="rect" coords="551,559,650,576" href="qtoolbar.html">
+<area shape="rect" coords="551,576,661,595" href="qiconviewitem.html">
+<area shape="rect" coords="554,595,661,610" href="qlistviewitem.html">
+<area shape="rect" coords="556,610,657,626" href="qchecklistitem.html">
+<area shape="rect" coords="554,626,657,644" href="qtableitem.html">
+<area shape="rect" coords="554,644,661,662" href="qchecktableitem.html">
+<area shape="rect" coords="557,662,661,684" href="qcombotableitem.html">
+<area shape="rect" coords="669,41,777,61" href="qwidgetfactory.html">
+<area shape="rect" coords="659,61,777,83" href="qwidgetplugin.html">
+<area shape="rect" coords="659,83,783,97" href="qxmlattributes.html">
+<area shape="rect" coords="660,97,784,116" href="qxmlcontenthandler.html">
+<area shape="rect" coords="660,116,779,137" href="qxmldeclhandler.html">
+<area shape="rect" coords="664,131,779,148" href="qxmldtdhandler.html">
+<area shape="rect" coords="664,149,785,168" href="qxmlentityresolver.html">
+<area shape="rect" coords="661,168,785,185" href="qxmllexicalhandler.html">
+<area shape="rect" coords="661,185,787,202" href="qxmllocator.html">
+<area shape="rect" coords="659,202,787,221" href="qxmlnamespacesupport.html">
+<area shape="rect" coords="659,222,777,242" href="qxmlreader.html">
+<area shape="rect" coords="650,240,779,256" href="qdomattr.html">
+<area shape="rect" coords="662,256,779,275" href="qdomentity.html">
+<area shape="rect" coords="662,275,783,292" href="qdomelement.html">
+<area shape="rect" coords="661,292,783,310" href="qdomdocument.html">
+<area shape="rect" coords="661,310,779,329" href="qdomcharacterdata.html">
+<area shape="rect" coords="665,325,781,343" href="qglformat.html">
+<area shape="rect" coords="663,343,781,366" href="qglcontext.html">
+<area shape="rect" coords="666,487,748,505" href="qfile.html">
+<area shape="rect" coords="666,505,749,524" href="qbuffer.html">
+<area shape="rect" coords="667,524,786,541" href="qsocketdevice.html">
+<area shape="rect" coords="664,541,786,560" href="qstylesheetitem.html">
+<area shape="rect" coords="664,561,792,579" href="qcustommenuitem.html">
+<area shape="rect" coords="664,577,786,593" href="qlistboxitem.html">
+<area shape="rect" coords="664,593,788,611" href="qlistboxtext.html">
+<area shape="rect" coords="663,611,788,631" href="qlistboxpixmap.html">
+<area shape="rect" coords="663,631,779,646" href="qlayoutitem.html">
+<area shape="rect" coords="666,646,780,666" href="qspaceritem.html">
+<area shape="rect" coords="668,666,759,686" href="qwidgetitem.html">
+<area shape="rect" coords="784,34,885,63" href="qaccessible.html">
+<area shape="rect" coords="782,62,885,79" href="qasciicache.html">
+<area shape="rect" coords="782,80,882,98" href="qchar.html">
+<area shape="rect" coords="782,99,882,116" href="qcharref.html">
+<area shape="rect" coords="782,116,878,133" href="qcolor.html">
+<area shape="rect" coords="786,133,878,150" href="qcolorgroup.html">
+<area shape="rect" coords="786,150,877,171" href="qdatastream.html">
+<area shape="rect" coords="787,171,877,188" href="qdate.html">
+<area shape="rect" coords="786,186,875,203" href="qdatetime.html">
+<area shape="rect" coords="785,203,875,221" href="qdeepcopy.html">
+<area shape="rect" coords="785,221,876,241" href="qdir.html">
+<area shape="rect" coords="782,241,876,257" href="qdomnode.html">
+<area shape="rect" coords="782,258,884,275" href="qfileinfo.html">
+<area shape="rect" coords="783,275,884,294" href="qfont.html">
+<area shape="rect" coords="783,292,885,311" href="qfontdatabase.html">
+<area shape="rect" coords="787,312,885,329" href="qfontinfo.html">
+<area shape="rect" coords="787,329,887,345" href="qfontmetrics.html">
+<area shape="rect" coords="785,345,887,363" href="qgl.html">
+<area shape="rect" coords="785,363,885,382" href="qglcolormap.html">
+<area shape="rect" coords="785,383,885,398" href="qguardedptr.html">
+<area shape="rect" coords="785,398,884,416" href="qhostaddress.html">
+<area shape="rect" coords="786,417,884,434" href="qhttpheader.html">
+<area shape="rect" coords="786,434,885,452" href="qiconset.html">
+<area shape="rect" coords="789,452,885,473" href="qimage.html">
+<area shape="rect" coords="789,468,895,489" href="qimageformatplugin.html">
+<area shape="rect" coords="789,489,895,505" href="qimageio.html">
+<area shape="rect" coords="789,505,869,523" href="qintcache.html">
+<area shape="rect" coords="785,524,868,542" href="qiodevice.html">
+<area shape="rect" coords="785,542,872,558" href="qlibrary.html">
+<area shape="rect" coords="786,558,873,575" href="qlocale.html">
+<area shape="rect" coords="787,576,873,594" href="qmap.html">
+<area shape="rect" coords="792,593,901,611" href="qasciicacheiterator.html">
+<area shape="rect" coords="790,611,901,630" href="qcacheiterator.html">
+<area shape="rect" coords="790,630,890,647" href="qintcacheiterator.html">
+<area shape="rect" coords="787,648,891,664" href="qasciidictiterator.html">
+<area shape="rect" coords="787,664,873,685" href="qdictiterator.html">
+<area shape="rect" coords="896,37,990,62" href="qmemarray.html">
+<area shape="rect" coords="896,62,990,78" href="qmenudata.html">
+<area shape="rect" coords="896,78,989,96" href="qmetaobject.html">
+<area shape="rect" coords="894,96,989,116" href="qmetaproperty.html">
+<area shape="rect" coords="894,116,995,134" href="qmimesource.html">
+<area shape="rect" coords="896,134,995,150" href="qmovie.html">
+<area shape="rect" coords="895,148,985,168" href="qmutex.html">
+<area shape="rect" coords="893,169,985,185" href="qpaintdevice.html">
+<area shape="rect" coords="893,185,1009,205" href="qpaintdevicemetrics.html">
+<area shape="rect" coords="900,203,970,223" href="qpair.html">
+<area shape="rect" coords="899,223,973,240" href="qpalette.html">
+<area shape="rect" coords="899,239,990,258" href="qpixmapcache.html">
+<area shape="rect" coords="898,258,990,274" href="qptrcollection.html">
+<area shape="rect" coords="899,275,987,292" href="qptrqueue.html">
+<area shape="rect" coords="894,293,987,309" href="qptrstack.html">
+<area shape="rect" coords="894,310,984,328" href="qpoint.html">
+<area shape="rect" coords="890,324,988,347" href="qrangecontrol.html">
+<area shape="rect" coords="890,348,986,363" href="qrect.html">
+<area shape="rect" coords="891,363,987,380" href="qregexp.html">
+<area shape="rect" coords="892,380,984,398" href="qregion.html">
+<area shape="rect" coords="888,398,984,417" href="qsemaphore.html">
+<area shape="rect" coords="888,417,992,435" href="qsettings.html">
+<area shape="rect" coords="887,435,991,451" href="qsimplerichtext.html">
+<area shape="rect" coords="887,451,993,469" href="qsize.html">
+<area shape="rect" coords="893,469,993,488" href="qsizepolicy.html">
+<area shape="rect" coords="894,488,986,505" href="qstring.html">
+<area shape="rect" coords="894,506,986,524" href="qconststring.html">
+<area shape="rect" coords="895,525,996,543" href="qtextcodec.html">
+<area shape="rect" coords="897,538,996,559" href="qtextcodecplugin.html">
+<area shape="rect" coords="902,560,987,579" href="qtextstream.html">
+<area shape="rect" coords="897,578,976,594" href="qtime.html">
+<area shape="rect" coords="898,595,991,614" href="qptrdictiterator.html">
+<area shape="rect" coords="895,613,989,631" href="qmapiterator.html">
+<area shape="rect" coords="896,631,999,647" href="qvaluelistiterator.html">
+<area shape="rect" coords="899,647,1000,665" href="qptrlistiterator.html">
+<area shape="rect" coords="899,666,997,688" href="qintdictiterator.html">
+<area shape="rect" coords="1006,60,1104,80" href="qbytearray.html">
+<area shape="rect" coords="1004,80,1104,99" href="qpointarray.html">
+<area shape="rect" coords="1004,100,1086,117" href="qbitarray.html">
+<area shape="rect" coords="1007,117,1087,131" href="qcstring.html">
+<area shape="rect" coords="1007,131,1120,152" href="qmimesourcefactory.html">
+<area shape="rect" coords="994,151,1119,170" href="qmutexlocker.html">
+<area shape="rect" coords="1005,185,1093,203" href="qprinter.html">
+<area shape="rect" coords="1005,203,1093,220" href="qpicture.html">
+<area shape="rect" coords="1007,221,1107,238" href="qpixmap.html">
+<area shape="rect" coords="997,238,1107,263" href="qbitmap.html">
+<area shape="rect" coords="1002,270,1088,294" href="qdict.html">
+<area shape="rect" coords="1000,294,1089,309" href="qcache.html">
+<area shape="rect" coords="1000,310,1090,328" href="qptrlist.html">
+<area shape="rect" coords="998,328,1090,346" href="qintdict.html">
+<area shape="rect" coords="998,346,1090,362" href="qptrdict.html">
+<area shape="rect" coords="1006,363,1090,384" href="qasciidict.html">
+<area shape="rect" coords="1006,384,1090,399" href="qptrvector.html">
+<area shape="rect" coords="1008,400,1090,416" href="qobjectlist.html">
+<area shape="rect" coords="1008,416,1095,435" href="qsortedlist.html">
+<area shape="rect" coords="1007,435,1095,454" href="qvaluelist.html">
+<area shape="rect" coords="1007,454,1103,468" href="qstringlist.html">
+<area shape="rect" coords="999,469,1103,488" href="qvaluestack.html">
+<area shape="rect" coords="999,488,1110,507" href="qvaluevector.html">
+<area shape="rect" coords="992,503,1109,522" href="qurl.html">
+<area shape="rect" coords="992,522,1095,542" href="qurlinfo.html">
+<area shape="rect" coords="1001,542,1095,560" href="quuid.html">
+<area shape="rect" coords="1001,560,1093,577" href="qvariant.html">
+<area shape="rect" coords="998,578,1088,595" href="qwmatrix.html">
+<area shape="rect" coords="999,595,1119,612" href="qhbuttongroup.html">
+<area shape="rect" coords="1002,613,1119,627" href="qvbuttongroup.html">
+<area shape="rect" coords="1003,627,1118,649" href="qbuttongroup.html">
+<area shape="rect" coords="997,649,1119,665" href="qhgroupbox.html">
+<area shape="rect" coords="998,665,1105,685" href="qvgroupbox.html">
+</map>
+<p> The PDF A3 size master copy of the class chart is available for
+download from
+<a href="ftp://ftp.trolltech.com/qt/pdf/qt33-class-chart.pdf">ftp://ftp.trolltech.com/qt/pdf/qt33-class-chart.pdf</a>
+(160K).<sup>*</sup>
+The PDF file will always be the same or more recent than the
+one shown here.
+<p> <sup>*</sup><small>
+The PDF file is <em>not supported</em>; we do not guarantee it
+will print correctly (although several people have reported that it
+does). It is not available in any other format or size.</small>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/classes.html b/doc/html/classes.html
new file mode 100644
index 0000000..b6827c8
--- /dev/null
+++ b/doc/html/classes.html
@@ -0,0 +1,975 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/classes.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt's Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt's Classes</h1>
+
+
+
+<p> For a shorter list that only includes the most frequently used
+classes, see <a href="mainclasses.html">Qt's Main Classes</a>.
+<p> <p><table width="100%">
+<tr>
+<td align="right"><b>A</b>
+<td><a href="qaccel.html">QAccel</a>
+<td align="right">
+<td><a href="qdict.html">QDict</a>
+<td align="right">
+<td><a href="qiconview.html">QIconView</a>
+<td align="right">
+<td><a href="qpixmapcache.html">QPixmapCache</a>
+<td align="right">
+<td><a href="qtabbar.html">QTabBar</a>
+<tr>
+<td align="right">
+<td><a href="qaccessible.html">QAccessible</a>
+<td align="right">
+<td><a href="qdictiterator.html">QDictIterator</a>
+<td align="right">
+<td><a href="qiconviewitem.html">QIconViewItem</a>
+<td align="right">
+<td><a href="qplatinumstyle.html">QPlatinumStyle</a>
+<td align="right">
+<td><a href="qtabdialog.html">QTabDialog</a>
+<tr>
+<td align="right">
+<td><a href="qaccessibleinterface.html">QAccessibleInterface</a>
+<td align="right">
+<td><a href="qdir.html">QDir</a>
+<td align="right">
+<td><a href="qimage.html">QImage</a>
+<td align="right">
+<td><a href="qpngimagepacker.html">QPNGImagePacker</a>
+<td align="right">
+<td><a href="qtable.html">QTable</a>
+<tr>
+<td align="right">
+<td><a href="qaccessibleobject.html">QAccessibleObject</a>
+<td align="right">
+<td><a href="qdirectpainter.html">QDirectPainter</a>
+<td align="right">
+<td><a href="qimageconsumer.html">QImageConsumer</a>
+<td align="right">
+<td><a href="qpoint.html">QPoint</a>
+<td align="right">
+<td><a href="qtableitem.html">QTableItem</a>
+<tr>
+<td align="right">
+<td><a href="qaction.html">QAction</a>
+<td align="right">
+<td><a href="qdns.html">QDns</a>
+<td align="right">
+<td><a href="qimagedecoder.html">QImageDecoder</a>
+<td align="right">
+<td><a href="qpointarray.html">QPointArray</a>
+<td align="right">
+<td><a href="qtableselection.html">QTableSelection</a>
+<tr>
+<td align="right">
+<td><a href="qactiongroup.html">QActionGroup</a>
+<td align="right">
+<td><a href="qdockarea.html">QDockArea</a>
+<td align="right">
+<td><a href="qimagedrag.html">QImageDrag</a>
+<td align="right">
+<td><a href="qpopupmenu.html">QPopupMenu</a>
+<td align="right">
+<td><a href="qtabletevent.html">QTabletEvent</a>
+<tr>
+<td align="right">
+<td><a href="qapplication.html">QApplication</a>
+<td align="right">
+<td><a href="qdockwindow.html">QDockWindow</a>
+<td align="right">
+<td><a href="qimageformat.html">QImageFormat</a>
+<td align="right">
+<td><a href="qprinter.html">QPrinter</a>
+<td align="right">
+<td><a href="qtabwidget.html">QTabWidget</a>
+<tr>
+<td align="right">
+<td><a href="qasciicache.html">QAsciiCache</a>
+<td align="right">
+<td><a href="qdomattr.html">QDomAttr</a>
+<td align="right">
+<td><a href="qimageformatplugin.html">QImageFormatPlugin</a>
+<td align="right">
+<td><a href="qprocess.html">QProcess</a>
+<td align="right">
+<td><a href="qtextbrowser.html">QTextBrowser</a>
+<tr>
+<td align="right">
+<td><a href="qasciicacheiterator.html">QAsciiCacheIterator</a>
+<td align="right">
+<td><a href="qdomcdatasection.html">QDomCDATASection</a>
+<td align="right">
+<td><a href="qimageformattype.html">QImageFormatType</a>
+<td align="right">
+<td><a href="qprogressbar.html">QProgressBar</a>
+<td align="right">
+<td><a href="qtextcodec.html">QTextCodec</a>
+<tr>
+<td align="right">
+<td><a href="qasciidict.html">QAsciiDict</a>
+<td align="right">
+<td><a href="qdomcharacterdata.html">QDomCharacterData</a>
+<td align="right">
+<td><a href="qimageio.html">QImageIO</a>
+<td align="right">
+<td><a href="qprogressdialog.html">QProgressDialog</a>
+<td align="right">
+<td><a href="qtextcodecplugin.html">QTextCodecPlugin</a>
+<tr>
+<td align="right">
+<td><a href="qasciidictiterator.html">QAsciiDictIterator</a>
+<td align="right">
+<td><a href="qdomcomment.html">QDomComment</a>
+<td align="right">
+<td><a href="qimevent.html">QIMEvent</a>
+<td align="right">
+<td><a href="qptrcollection.html">QPtrCollection</a>
+<td align="right">
+<td><a href="qtextdecoder.html">QTextDecoder</a>
+<tr>
+<td align="right">
+<td><a href="qassistantclient.html">QAssistantClient</a>
+<td align="right">
+<td><a href="qdomdocument.html">QDomDocument</a>
+<td align="right">
+<td><a href="qinputdialog.html">QInputDialog</a>
+<td align="right">
+<td><a href="qptrdict.html">QPtrDict</a>
+<td align="right">
+<td><a href="qtextdrag.html">QTextDrag</a>
+<tr>
+<td align="right">
+<td><a href="qaxaggregated.html">QAxAggregated</a>
+*<td align="right">
+<td><a href="qdomdocumentfragment.html">QDomDocumentFragment</a>
+<td align="right">
+<td><a href="qintcache.html">QIntCache</a>
+<td align="right">
+<td><a href="qptrdictiterator.html">QPtrDictIterator</a>
+<td align="right">
+<td><a href="qtextedit.html">QTextEdit</a>
+<tr>
+<td align="right">
+<td><a href="qaxbase.html">QAxBase</a>
+*<td align="right">
+<td><a href="qdomdocumenttype.html">QDomDocumentType</a>
+<td align="right">
+<td><a href="qintcacheiterator.html">QIntCacheIterator</a>
+<td align="right">
+<td><a href="qptrlist.html">QPtrList</a>
+<td align="right">
+<td><a href="qtextencoder.html">QTextEncoder</a>
+<tr>
+<td align="right">
+<td><a href="qaxbindable.html">QAxBindable</a>
+*<td align="right">
+<td><a href="qdomelement.html">QDomElement</a>
+<td align="right">
+<td><a href="qintdict.html">QIntDict</a>
+<td align="right">
+<td><a href="qptrlistiterator.html">QPtrListIterator</a>
+<td align="right">
+<td><a href="qtextistream.html">QTextIStream</a>
+<tr>
+<td align="right">
+<td><a href="qaxfactory.html">QAxFactory</a>
+*<td align="right">
+<td><a href="qdomentity.html">QDomEntity</a>
+<td align="right">
+<td><a href="qintdictiterator.html">QIntDictIterator</a>
+<td align="right">
+<td><a href="qptrqueue.html">QPtrQueue</a>
+<td align="right">
+<td><a href="qtextostream.html">QTextOStream</a>
+<tr>
+<td align="right">
+<td><a href="qaxobject.html">QAxObject</a>
+*<td align="right">
+<td><a href="qdomentityreference.html">QDomEntityReference</a>
+<td align="right">
+<td><a href="qintvalidator.html">QIntValidator</a>
+<td align="right">
+<td><a href="qptrstack.html">QPtrStack</a>
+<td align="right">
+<td><a href="qtextstream.html">QTextStream</a>
+<tr>
+<td align="right">
+<td><a href="qaxscript.html">QAxScript</a>
+*<td align="right">
+<td><a href="qdomimplementation.html">QDomImplementation</a>
+<td align="right">
+<td><a href="qiodevice.html">QIODevice</a>
+<td align="right">
+<td><a href="qptrvector.html">QPtrVector</a>
+<td align="right">
+<td><a href="qthread.html">QThread</a>
+<tr>
+<td align="right">
+<td><a href="qaxscriptengine.html">QAxScriptEngine</a>
+*<td align="right">
+<td><a href="qdomnamednodemap.html">QDomNamedNodeMap</a>
+<td align="right"><b>J</b>
+<td><a href="qjiscodec.html">QJisCodec</a>
+<td align="right">
+<td><a href="qpushbutton.html">QPushButton</a>
+<td align="right">
+<td><a href="qthreadstorage.html">QThreadStorage</a>
+<tr>
+<td align="right">
+<td><a href="qaxscriptmanager.html">QAxScriptManager</a>
+*<td align="right">
+<td><a href="qdomnode.html">QDomNode</a>
+<td align="right"><b>K</b>
+<td><a href="qkbddriverfactory.html">QKbdDriverFactory</a>
+<td align="right"><b>R</b>
+<td><a href="qradiobutton.html">QRadioButton</a>
+<td align="right">
+<td><a href="qtime.html">QTime</a>
+<tr>
+<td align="right">
+<td><a href="qaxwidget.html">QAxWidget</a>
+*<td align="right">
+<td><a href="qdomnodelist.html">QDomNodeList</a>
+<td align="right">
+<td><a href="qkbddriverplugin.html">QKbdDriverPlugin</a>
+<td align="right">
+<td><a href="qrangecontrol.html">QRangeControl</a>
+<td align="right">
+<td><a href="qtimeedit.html">QTimeEdit</a>
+<tr>
+<td align="right"><b>B</b>
+<td><a href="qbig5codec.html">QBig5Codec</a>
+<td align="right">
+<td><a href="qdomnotation.html">QDomNotation</a>
+<td align="right">
+<td><a href="qkeyevent.html">QKeyEvent</a>
+<td align="right">
+<td><a href="qrect.html">QRect</a>
+<td align="right">
+<td><a href="qtimer.html">QTimer</a>
+<tr>
+<td align="right">
+<td><a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>
+<td align="right">
+<td><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<td align="right">
+<td><a href="qkeysequence.html">QKeySequence</a>
+<td align="right">
+<td><a href="qregexp.html">QRegExp</a>
+<td align="right">
+<td><a href="qtimerevent.html">QTimerEvent</a>
+<tr>
+<td align="right">
+<td><a href="qbitarray.html">QBitArray</a>
+<td align="right">
+<td><a href="qdomtext.html">QDomText</a>
+<td align="right"><b>L</b>
+<td><a href="qlabel.html">QLabel</a>
+<td align="right">
+<td><a href="qregexpvalidator.html">QRegExpValidator</a>
+<td align="right">
+<td><a href="qtoolbar.html">QToolBar</a>
+<tr>
+<td align="right">
+<td><a href="qbitmap.html">QBitmap</a>
+<td align="right">
+<td><a href="qdoublevalidator.html">QDoubleValidator</a>
+<td align="right">
+<td><a href="qlayout.html">QLayout</a>
+<td align="right">
+<td><a href="qregion.html">QRegion</a>
+<td align="right">
+<td><a href="qtoolbox.html">QToolBox</a>
+<tr>
+<td align="right">
+<td><a href="qbitval.html">QBitVal</a>
+<td align="right">
+<td><a href="qdragenterevent.html">QDragEnterEvent</a>
+<td align="right">
+<td><a href="qlayoutitem.html">QLayoutItem</a>
+<td align="right">
+<td><a href="qresizeevent.html">QResizeEvent</a>
+<td align="right">
+<td><a href="qtoolbutton.html">QToolButton</a>
+<tr>
+<td align="right">
+<td><a href="qboxlayout.html">QBoxLayout</a>
+<td align="right">
+<td><a href="qdragleaveevent.html">QDragLeaveEvent</a>
+<td align="right">
+<td><a href="qlayoutiterator.html">QLayoutIterator</a>
+<td align="right"><b>S</b>
+<td><a href="qscreen.html">QScreen</a>
+*<td align="right">
+<td><a href="qtooltip.html">QToolTip</a>
+<tr>
+<td align="right">
+<td><a href="qbrush.html">QBrush</a>
+<td align="right">
+<td><a href="qdragmoveevent.html">QDragMoveEvent</a>
+<td align="right">
+<td><a href="qlcdnumber.html">QLCDNumber</a>
+<td align="right">
+<td><a href="qscrollbar.html">QScrollBar</a>
+<td align="right">
+<td><a href="qtooltipgroup.html">QToolTipGroup</a>
+<tr>
+<td align="right">
+<td><a href="qbuffer.html">QBuffer</a>
+<td align="right">
+<td><a href="qdragobject.html">QDragObject</a>
+<td align="right">
+<td><a href="qlibrary.html">QLibrary</a>
+<td align="right">
+<td><a href="qscrollview.html">QScrollView</a>
+<td align="right">
+<td><a href="qtranslator.html">QTranslator</a>
+<tr>
+<td align="right">
+<td><a href="qbutton.html">QButton</a>
+<td align="right">
+<td><a href="qdropevent.html">QDropEvent</a>
+<td align="right">
+<td><a href="qlineedit.html">QLineEdit</a>
+<td align="right">
+<td><a href="qsemaphore.html">QSemaphore</a>
+<td align="right">
+<td><a href="qtranslatormessage.html">QTranslatorMessage</a>
+<tr>
+<td align="right">
+<td><a href="qbuttongroup.html">QButtonGroup</a>
+<td align="right"><b>E</b>
+<td><a href="qeditorfactory.html">QEditorFactory</a>
+<td align="right">
+<td><a href="qlistbox.html">QListBox</a>
+<td align="right">
+<td><a href="qserversocket.html">QServerSocket</a>
+<td align="right">
+<td><a href="qtsciicodec.html">QTsciiCodec</a>
+<tr>
+<td align="right">
+<td><a href="qbytearray.html">QByteArray</a>
+<td align="right">
+<td><a href="qerrormessage.html">QErrorMessage</a>
+<td align="right">
+<td><a href="qlistboxitem.html">QListBoxItem</a>
+<td align="right">
+<td><a href="qsessionmanager.html">QSessionManager</a>
+<td align="right"><b>U</b>
+<td><a href="quridrag.html">QUriDrag</a>
+<tr>
+<td align="right"><b>C</b>
+<td><a href="qcache.html">QCache</a>
+<td align="right">
+<td><a href="qeucjpcodec.html">QEucJpCodec</a>
+<td align="right">
+<td><a href="qlistboxpixmap.html">QListBoxPixmap</a>
+<td align="right">
+<td><a href="qsettings.html">QSettings</a>
+<td align="right">
+<td><a href="qurl.html">QUrl</a>
+<tr>
+<td align="right">
+<td><a href="qcacheiterator.html">QCacheIterator</a>
+<td align="right">
+<td><a href="qeuckrcodec.html">QEucKrCodec</a>
+<td align="right">
+<td><a href="qlistboxtext.html">QListBoxText</a>
+<td align="right">
+<td><a href="qsgistyle.html">QSGIStyle</a>
+<td align="right">
+<td><a href="qurlinfo.html">QUrlInfo</a>
+<tr>
+<td align="right">
+<td><a href="qcanvas.html">QCanvas</a>
+<td align="right">
+<td><a href="qevent.html">QEvent</a>
+<td align="right">
+<td><a href="qlistview.html">QListView</a>
+<td align="right">
+<td><a href="qshowevent.html">QShowEvent</a>
+<td align="right">
+<td><a href="qurloperator.html">QUrlOperator</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasellipse.html">QCanvasEllipse</a>
+<td align="right">
+<td><a href="qeventloop.html">QEventLoop</a>
+<td align="right">
+<td><a href="qlistviewitem.html">QListViewItem</a>
+<td align="right">
+<td><a href="qsignal.html">QSignal</a>
+<td align="right">
+<td><a href="quuid.html">QUuid</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasitem.html">QCanvasItem</a>
+<td align="right"><b>F</b>
+<td><a href="qfile.html">QFile</a>
+<td align="right">
+<td><a href="qlistviewitemiterator.html">QListViewItemIterator</a>
+<td align="right">
+<td><a href="qsignalmapper.html">QSignalMapper</a>
+<td align="right"><b>V</b>
+<td><a href="qvalidator.html">QValidator</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasitemlist.html">QCanvasItemList</a>
+<td align="right">
+<td><a href="qfiledialog.html">QFileDialog</a>
+<td align="right">
+<td><a href="qlocale.html">QLocale</a>
+<td align="right">
+<td><a href="qsimplerichtext.html">QSimpleRichText</a>
+<td align="right">
+<td><a href="qvaluelist.html">QValueList</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasline.html">QCanvasLine</a>
+<td align="right">
+<td><a href="qfileiconprovider.html">QFileIconProvider</a>
+<td align="right">
+<td><a href="qlocalfs.html">QLocalFs</a>
+<td align="right">
+<td><a href="qsize.html">QSize</a>
+<td align="right">
+<td><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>
+<tr>
+<td align="right">
+<td><a href="qcanvaspixmap.html">QCanvasPixmap</a>
+<td align="right">
+<td><a href="qfileinfo.html">QFileInfo</a>
+<td align="right"><b>M</b>
+<td><a href="qmacmime.html">QMacMime</a>
+<td align="right">
+<td><a href="qsizegrip.html">QSizeGrip</a>
+<td align="right">
+<td><a href="qvaluelistiterator.html">QValueListIterator</a>
+<tr>
+<td align="right">
+<td><a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>
+<td align="right">
+<td><a href="qfilepreview.html">QFilePreview</a>
+<td align="right">
+<td><a href="qmacstyle.html">QMacStyle</a>
+<td align="right">
+<td><a href="qsizepolicy.html">QSizePolicy</a>
+<td align="right">
+<td><a href="qvaluestack.html">QValueStack</a>
+<tr>
+<td align="right">
+<td><a href="qcanvaspolygon.html">QCanvasPolygon</a>
+<td align="right">
+<td><a href="qfocusdata.html">QFocusData</a>
+<td align="right">
+<td><a href="qmainwindow.html">QMainWindow</a>
+<td align="right">
+<td><a href="qsjiscodec.html">QSjisCodec</a>
+<td align="right">
+<td><a href="qvaluevector.html">QValueVector</a>
+<tr>
+<td align="right">
+<td><a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>
+<td align="right">
+<td><a href="qfocusevent.html">QFocusEvent</a>
+<td align="right">
+<td><a href="qmap.html">QMap</a>
+<td align="right">
+<td><a href="qslider.html">QSlider</a>
+<td align="right">
+<td><a href="qvariant.html">QVariant</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasrectangle.html">QCanvasRectangle</a>
+<td align="right">
+<td><a href="qfont.html">QFont</a>
+<td align="right">
+<td><a href="qmapconstiterator.html">QMapConstIterator</a>
+<td align="right">
+<td><a href="qsocket.html">QSocket</a>
+<td align="right">
+<td><a href="qvbox.html">QVBox</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasspline.html">QCanvasSpline</a>
+<td align="right">
+<td><a href="qfontdatabase.html">QFontDatabase</a>
+<td align="right">
+<td><a href="qmapiterator.html">QMapIterator</a>
+<td align="right">
+<td><a href="qsocketdevice.html">QSocketDevice</a>
+<td align="right">
+<td><a href="qvboxlayout.html">QVBoxLayout</a>
+<tr>
+<td align="right">
+<td><a href="qcanvassprite.html">QCanvasSprite</a>
+<td align="right">
+<td><a href="qfontdialog.html">QFontDialog</a>
+<td align="right">
+<td><a href="qmemarray.html">QMemArray</a>
+<td align="right">
+<td><a href="qsocketnotifier.html">QSocketNotifier</a>
+<td align="right">
+<td><a href="qvbuttongroup.html">QVButtonGroup</a>
+<tr>
+<td align="right">
+<td><a href="qcanvastext.html">QCanvasText</a>
+<td align="right">
+<td><a href="qfontinfo.html">QFontInfo</a>
+<td align="right">
+<td><a href="qmenubar.html">QMenuBar</a>
+<td align="right">
+<td><a href="qsound.html">QSound</a>
+<td align="right">
+<td><a href="qvgroupbox.html">QVGroupBox</a>
+<tr>
+<td align="right">
+<td><a href="qcanvasview.html">QCanvasView</a>
+<td align="right">
+<td><a href="qfontmanager.html">QFontManager</a>
+*<td align="right">
+<td><a href="qmenudata.html">QMenuData</a>
+<td align="right">
+<td><a href="qspaceritem.html">QSpacerItem</a>
+<td align="right"><b>W</b>
+<td><a href="qwaitcondition.html">QWaitCondition</a>
+<tr>
+<td align="right">
+<td><a href="qcdestyle.html">QCDEStyle</a>
+<td align="right">
+<td><a href="qfontmetrics.html">QFontMetrics</a>
+<td align="right">
+<td><a href="qmessagebox.html">QMessageBox</a>
+<td align="right">
+<td><a href="qspinbox.html">QSpinBox</a>
+<td align="right">
+<td><a href="qwhatsthis.html">QWhatsThis</a>
+<tr>
+<td align="right">
+<td><a href="qchar.html">QChar</a>
+<td align="right">
+<td><a href="qframe.html">QFrame</a>
+<td align="right">
+<td><a href="qmetaobject.html">QMetaObject</a>
+<td align="right">
+<td><a href="qsplashscreen.html">QSplashScreen</a>
+<td align="right">
+<td><a href="qwheelevent.html">QWheelEvent</a>
+<tr>
+<td align="right">
+<td><a href="qcharref.html">QCharRef</a>
+<td align="right">
+<td><a href="qftp.html">QFtp</a>
+<td align="right">
+<td><a href="qmetaproperty.html">QMetaProperty</a>
+<td align="right">
+<td><a href="qsplitter.html">QSplitter</a>
+<td align="right">
+<td><a href="qwidget.html">QWidget</a>
+<tr>
+<td align="right">
+<td><a href="qcheckbox.html">QCheckBox</a>
+<td align="right"><b>G</b>
+<td><a href="qgb18030codec.html">QGb18030Codec</a>
+<td align="right">
+<td><a href="qmimesource.html">QMimeSource</a>
+<td align="right">
+<td><a href="qsql.html">QSql</a>
+<td align="right">
+<td><a href="qwidgetfactory.html">QWidgetFactory</a>
+<tr>
+<td align="right">
+<td><a href="qchecklistitem.html">QCheckListItem</a>
+<td align="right">
+<td><a href="qgb2312codec.html">QGb2312Codec</a>
+<td align="right">
+<td><a href="qmimesourcefactory.html">QMimeSourceFactory</a>
+<td align="right">
+<td><a href="qsqlcursor.html">QSqlCursor</a>
+<td align="right">
+<td><a href="qwidgetitem.html">QWidgetItem</a>
+<tr>
+<td align="right">
+<td><a href="qchecktableitem.html">QCheckTableItem</a>
+<td align="right">
+<td><a href="qgbkcodec.html">QGbkCodec</a>
+<td align="right">
+<td><a href="qmotif.html">QMotif</a>
+*<td align="right">
+<td><a href="qsqldatabase.html">QSqlDatabase</a>
+<td align="right">
+<td><a href="qwidgetplugin.html">QWidgetPlugin</a>
+<tr>
+<td align="right">
+<td><a href="qchildevent.html">QChildEvent</a>
+<td align="right">
+<td><a href="qgfxdriverfactory.html">QGfxDriverFactory</a>
+<td align="right">
+<td><a href="qmotifdialog.html">QMotifDialog</a>
+*<td align="right">
+<td><a href="qsqldriver.html">QSqlDriver</a>
+<td align="right">
+<td><a href="qwidgetstack.html">QWidgetStack</a>
+<tr>
+<td align="right">
+<td><a href="qclipboard.html">QClipboard</a>
+<td align="right">
+<td><a href="qgfxdriverplugin.html">QGfxDriverPlugin</a>
+<td align="right">
+<td><a href="qmotifplusstyle.html">QMotifPlusStyle</a>
+<td align="right">
+<td><a href="qsqldriverplugin.html">QSqlDriverPlugin</a>
+<td align="right">
+<td><a href="qwindowsmime.html">QWindowsMime</a>
+<tr>
+<td align="right">
+<td><a href="qcloseevent.html">QCloseEvent</a>
+<td align="right">
+<td><a href="qgl.html">QGL</a>
+<td align="right">
+<td><a href="qmotifstyle.html">QMotifStyle</a>
+<td align="right">
+<td><a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+<td align="right">
+<td><a href="qwindowsstyle.html">QWindowsStyle</a>
+<tr>
+<td align="right">
+<td><a href="qcolor.html">QColor</a>
+<td align="right">
+<td><a href="qglayoutiterator.html">QGLayoutIterator</a>
+<td align="right">
+<td><a href="qmotifwidget.html">QMotifWidget</a>
+*<td align="right">
+<td><a href="qsqlerror.html">QSqlError</a>
+<td align="right">
+<td><a href="qwizard.html">QWizard</a>
+<tr>
+<td align="right">
+<td><a href="qcolordialog.html">QColorDialog</a>
+<td align="right">
+<td><a href="qglcolormap.html">QGLColormap</a>
+<td align="right">
+<td><a href="qmousedriverfactory.html">QMouseDriverFactory</a>
+<td align="right">
+<td><a href="qsqlfield.html">QSqlField</a>
+<td align="right">
+<td><a href="qwmatrix.html">QWMatrix</a>
+<tr>
+<td align="right">
+<td><a href="qcolordrag.html">QColorDrag</a>
+<td align="right">
+<td><a href="qglcontext.html">QGLContext</a>
+<td align="right">
+<td><a href="qmousedriverplugin.html">QMouseDriverPlugin</a>
+<td align="right">
+<td><a href="qsqlfieldinfo.html">QSqlFieldInfo</a>
+<td align="right">
+<td><a href="qworkspace.html">QWorkspace</a>
+<tr>
+<td align="right">
+<td><a href="qcolorgroup.html">QColorGroup</a>
+<td align="right">
+<td><a href="qglformat.html">QGLFormat</a>
+<td align="right">
+<td><a href="qmouseevent.html">QMouseEvent</a>
+<td align="right">
+<td><a href="qsqlform.html">QSqlForm</a>
+<td align="right">
+<td><a href="qwsdecoration.html">QWSDecoration</a>
+*<tr>
+<td align="right">
+<td><a href="qcombobox.html">QComboBox</a>
+<td align="right">
+<td><a href="qglwidget.html">QGLWidget</a>
+<td align="right">
+<td><a href="qmoveevent.html">QMoveEvent</a>
+<td align="right">
+<td><a href="qsqlindex.html">QSqlIndex</a>
+<td align="right">
+<td><a href="qwsinputmethod.html">QWSInputMethod</a>
+*<tr>
+<td align="right">
+<td><a href="qcombotableitem.html">QComboTableItem</a>
+<td align="right">
+<td><a href="qgrid.html">QGrid</a>
+<td align="right">
+<td><a href="qmovie.html">QMovie</a>
+<td align="right">
+<td><a href="qsqlpropertymap.html">QSqlPropertyMap</a>
+<td align="right">
+<td><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>
+*<tr>
+<td align="right">
+<td><a href="qcommonstyle.html">QCommonStyle</a>
+<td align="right">
+<td><a href="qgridlayout.html">QGridLayout</a>
+<td align="right">
+<td><a href="qmutex.html">QMutex</a>
+<td align="right">
+<td><a href="qsqlquery.html">QSqlQuery</a>
+<td align="right">
+<td><a href="qwsmousehandler.html">QWSMouseHandler</a>
+*<tr>
+<td align="right">
+<td><a href="qconststring.html">QConstString</a>
+<td align="right">
+<td><a href="qgridview.html">QGridView</a>
+<td align="right">
+<td><a href="qmutexlocker.html">QMutexLocker</a>
+<td align="right">
+<td><a href="qsqlrecord.html">QSqlRecord</a>
+<td align="right">
+<td><a href="qwsserver.html">QWSServer</a>
+*<tr>
+<td align="right">
+<td><a href="qcontextmenuevent.html">QContextMenuEvent</a>
+<td align="right">
+<td><a href="qgroupbox.html">QGroupBox</a>
+<td align="right"><b>N</b>
+<td><a href="qnetworkoperation.html">QNetworkOperation</a>
+<td align="right">
+<td><a href="qsqlrecordinfo.html">QSqlRecordInfo</a>
+<td align="right">
+<td><a href="qwswindow.html">QWSWindow</a>
+*<tr>
+<td align="right">
+<td><a href="qcopchannel.html">QCopChannel</a>
+<td align="right">
+<td><a href="qguardedptr.html">QGuardedPtr</a>
+<td align="right">
+<td><a href="qnetworkprotocol.html">QNetworkProtocol</a>
+<td align="right">
+<td><a href="qsqlresult.html">QSqlResult</a>
+<td align="right"><b>X</b>
+<td><a href="qxmlattributes.html">QXmlAttributes</a>
+<tr>
+<td align="right">
+<td><a href="qcstring.html">QCString</a>
+<td align="right"><b>H</b>
+<td><a href="qhbox.html">QHBox</a>
+<td align="right">
+<td><a href="qnpinstance.html">QNPInstance</a>
+*<td align="right">
+<td><a href="qsqlselectcursor.html">QSqlSelectCursor</a>
+<td align="right">
+<td><a href="qxmlcontenthandler.html">QXmlContentHandler</a>
+<tr>
+<td align="right">
+<td><a href="qcursor.html">QCursor</a>
+<td align="right">
+<td><a href="qhboxlayout.html">QHBoxLayout</a>
+<td align="right">
+<td><a href="qnplugin.html">QNPlugin</a>
+*<td align="right">
+<td><a href="qstatusbar.html">QStatusBar</a>
+<td align="right">
+<td><a href="qxmldeclhandler.html">QXmlDeclHandler</a>
+<tr>
+<td align="right">
+<td><a href="qcustomevent.html">QCustomEvent</a>
+<td align="right">
+<td><a href="qhbuttongroup.html">QHButtonGroup</a>
+<td align="right">
+<td><a href="qnpstream.html">QNPStream</a>
+*<td align="right">
+<td><a href="qstoreddrag.html">QStoredDrag</a>
+<td align="right">
+<td><a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+<tr>
+<td align="right">
+<td><a href="qcustommenuitem.html">QCustomMenuItem</a>
+<td align="right">
+<td><a href="qheader.html">QHeader</a>
+<td align="right">
+<td><a href="qnpwidget.html">QNPWidget</a>
+*<td align="right">
+<td><a href="qstrilist.html">QStrIList</a>
+<td align="right">
+<td><a href="qxmldtdhandler.html">QXmlDTDHandler</a>
+<tr>
+<td align="right"><b>D</b>
+<td><a href="qdatabrowser.html">QDataBrowser</a>
+<td align="right">
+<td><a href="qhebrewcodec.html">QHebrewCodec</a>
+<td align="right"><b>O</b>
+<td><a href="qobject.html">QObject</a>
+<td align="right">
+<td><a href="qstring.html">QString</a>
+<td align="right">
+<td><a href="qxmlentityresolver.html">QXmlEntityResolver</a>
+<tr>
+<td align="right">
+<td><a href="qdatastream.html">QDataStream</a>
+<td align="right">
+<td><a href="qhgroupbox.html">QHGroupBox</a>
+<td align="right">
+<td><a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a>
+<td align="right">
+<td><a href="qstringlist.html">QStringList</a>
+<td align="right">
+<td><a href="qxmlerrorhandler.html">QXmlErrorHandler</a>
+<tr>
+<td align="right">
+<td><a href="qdatatable.html">QDataTable</a>
+<td align="right">
+<td><a href="qhideevent.html">QHideEvent</a>
+<td align="right">
+<td><a href="qobjectlist.html">QObjectList</a>
+<td align="right">
+<td><a href="qstrlist.html">QStrList</a>
+<td align="right">
+<td><a href="qxmlinputsource.html">QXmlInputSource</a>
+<tr>
+<td align="right">
+<td><a href="qdataview.html">QDataView</a>
+<td align="right">
+<td><a href="qhostaddress.html">QHostAddress</a>
+<td align="right">
+<td><a href="qobjectlistiterator.html">QObjectListIterator</a>
+<td align="right">
+<td><a href="qstrlistiterator.html">QStrListIterator</a>
+<td align="right">
+<td><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>
+<tr>
+<td align="right">
+<td><a href="qdate.html">QDate</a>
+<td align="right">
+<td><a href="qhttp.html">QHttp</a>
+<td align="right"><b>P</b>
+<td><a href="qpaintdevice.html">QPaintDevice</a>
+<td align="right">
+<td><a href="qstyle.html">QStyle</a>
+<td align="right">
+<td><a href="qxmllocator.html">QXmlLocator</a>
+<tr>
+<td align="right">
+<td><a href="qdateedit.html">QDateEdit</a>
+<td align="right">
+<td><a href="qhttpheader.html">QHttpHeader</a>
+<td align="right">
+<td><a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>
+<td align="right">
+<td><a href="qstylefactory.html">QStyleFactory</a>
+<td align="right">
+<td><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>
+<tr>
+<td align="right">
+<td><a href="qdatetime.html">QDateTime</a>
+<td align="right">
+<td><a href="qhttprequestheader.html">QHttpRequestHeader</a>
+<td align="right">
+<td><a href="qpainter.html">QPainter</a>
+<td align="right">
+<td><a href="qstyleoption.html">QStyleOption</a>
+<td align="right">
+<td><a href="qxmlparseexception.html">QXmlParseException</a>
+<tr>
+<td align="right">
+<td><a href="qdatetimeedit.html">QDateTimeEdit</a>
+<td align="right">
+<td><a href="qhttpresponseheader.html">QHttpResponseHeader</a>
+<td align="right">
+<td><a href="qpaintevent.html">QPaintEvent</a>
+<td align="right">
+<td><a href="qstyleplugin.html">QStylePlugin</a>
+<td align="right">
+<td><a href="qxmlreader.html">QXmlReader</a>
+<tr>
+<td align="right">
+<td><a href="qdatetimeeditbase.html">QDateTimeEditBase</a>
+<td align="right"><b>I</b>
+<td><a href="qicondrag.html">QIconDrag</a>
+<td align="right">
+<td><a href="qpair.html">QPair</a>
+<td align="right">
+<td><a href="qstylesheet.html">QStyleSheet</a>
+<td align="right">
+<td><a href="qxmlsimplereader.html">QXmlSimpleReader</a>
+<tr>
+<td align="right">
+<td><a href="qdeepcopy.html">QDeepCopy</a>
+<td align="right">
+<td><a href="qicondragevent.html">QIconDragEvent</a>
+<td align="right">
+<td><a href="qpalette.html">QPalette</a>
+<td align="right">
+<td><a href="qstylesheetitem.html">QStyleSheetItem</a>
+<td>
+<td>
+<tr>
+<td align="right">
+<td><a href="qdesktopwidget.html">QDesktopWidget</a>
+<td align="right">
+<td><a href="qicondragitem.html">QIconDragItem</a>
+<td align="right">
+<td><a href="qpen.html">QPen</a>
+<td align="right">
+<td><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>
+<td>
+<td>
+<tr>
+<td align="right">
+<td><a href="qdial.html">QDial</a>
+<td align="right">
+<td><a href="qiconfactory.html">QIconFactory</a>
+<td align="right">
+<td><a href="qpicture.html">QPicture</a>
+<td align="right"><b>T</b>
+<td><a href="qt.html">Qt</a>
+<td>
+<td>
+<tr>
+<td align="right">
+<td><a href="qdialog.html">QDialog</a>
+<td align="right">
+<td><a href="qiconset.html">QIconSet</a>
+<td align="right">
+<td><a href="qpixmap.html">QPixmap</a>
+<td align="right">
+<td><a href="qtab.html">QTab</a>
+<td>
+<td>
+</table>
+
+<p> * Extension classes of <a href="qws.html">Qt/Embedded</a>, <a href="activeqt.html#ActiveQt">ActiveQt</a>, <a href="motif-extension.html#Motif">Motif</a>, and <a href="netscape-plugin.html#Netscape">Netscape</a>.
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/clientserver-example.html b/doc/html/clientserver-example.html
new file mode 100644
index 0000000..b955a1e
--- /dev/null
+++ b/doc/html/clientserver-example.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/clientserver/clientserver.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A small client-server example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A small client-server example</h1>
+
+
+<p>
+<p> This example shows how two programs can communicate using sockets.
+<p> Two simple example programs are provided, a client program and a
+server program. Both use the <a href="qsocket.html">QSocket</a> class, and the server also uses
+<a href="qserversocket.html">QServerSocket</a> class.
+<p> The server listens on port number 4242 and accepts incoming connections.
+It sends back every line it receives from the client, prepended with
+the line number.
+<p> The client tries to connect to the server on the host specified on the
+command line or to localhost if no command line arguments are
+specified. You can send single lines to the server.
+<p> <hr>
+<p> Implementation server (server.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/server.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+#include &lt;<a href="qserversocket-h.html">qserversocket.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+
+#include &lt;stdlib.h&gt;
+
+
+/*
+ The ClientSocket class provides a socket that is connected with a client.
+ For every client that connects to the server, the server creates a new
+ instance of this class.
+*/
+class ClientSocket : public <a href="qsocket.html">QSocket</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ ClientSocket( int sock, QObject *parent=0, const char *name=0 ) :
+ <a href="qsocket.html">QSocket</a>( parent, name )
+ {
+ line = 0;
+ connect( this, SIGNAL(readyRead()),
+ SLOT(readClient()) );
+ connect( this, SIGNAL(connectionClosed()),
+ SLOT(deleteLater()) );
+ setSocket( sock );
+ }
+
+ ~ClientSocket()
+ {
+ }
+
+signals:
+ void logText( const <a href="qstring.html">QString</a>&amp; );
+
+private slots:
+ void readClient()
+ {
+ <a href="qtextstream.html">QTextStream</a> ts( this );
+ while ( canReadLine() ) {
+<a name="x787"></a> <a href="qstring.html">QString</a> str = ts.<a href="qtextstream.html#readLine">readLine</a>();
+ emit logText( tr("Read: '%1'\n").arg(str) );
+
+ ts &lt;&lt; line &lt;&lt; ": " &lt;&lt; str &lt;&lt; endl;
+ emit logText( tr("Wrote: '%1: %2'\n").arg(line).arg(str) );
+
+ line++;
+ }
+ }
+
+private:
+ int line;
+};
+
+
+/*
+ The SimpleServer class handles new connections to the server. For every
+ client that connects, it creates a new ClientSocket -- that instance is now
+ responsible for the communication with that client.
+*/
+class SimpleServer : public <a href="qserversocket.html">QServerSocket</a>
+{
+ Q_OBJECT
+public:
+ SimpleServer( <a href="qobject.html">QObject</a>* parent=0 ) :
+ <a href="qserversocket.html">QServerSocket</a>( 4242, 1, parent )
+ {
+ if ( !ok() ) {
+ <a href="qapplication.html#qWarning">qWarning</a>("Failed to bind to port 4242");
+ exit(1);
+ }
+ }
+
+ ~SimpleServer()
+ {
+ }
+
+ void newConnection( int socket )
+ {
+ ClientSocket *s = new ClientSocket( socket, this );
+ emit newConnect( s );
+ }
+
+signals:
+ void newConnect( ClientSocket* );
+};
+
+
+/*
+ The ServerInfo class provides a small GUI for the server. It also creates the
+ SimpleServer and as a result the server.
+*/
+class ServerInfo : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ ServerInfo()
+ {
+ SimpleServer *server = new SimpleServer( this );
+
+ <a href="qstring.html">QString</a> itext = tr(
+ "This is a small server example.\n"
+ "Connect with the client now."
+ );
+ <a href="qlabel.html">QLabel</a> *lb = new <a href="qlabel.html">QLabel</a>( itext, this );
+<a name="x784"></a> lb-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignHCenter );
+ infoText = new <a href="qtextview.html">QTextView</a>( this );
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( tr("Quit") , this );
+
+ connect( server, SIGNAL(newConnect(ClientSocket*)),
+ SLOT(newConnect(ClientSocket*)) );
+ connect( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp,
+ SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ }
+
+ ~ServerInfo()
+ {
+ }
+
+private slots:
+ void newConnect( ClientSocket *s )
+ {
+<a name="x786"></a> infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("New connection\n") );
+ connect( s, SIGNAL(logText(const <a href="qstring.html">QString</a>&amp;)),
+ infoText, SLOT(<a href="qtextedit.html#append">append</a>(const <a href="qstring.html">QString</a>&amp;)) );
+<a name="x785"></a> connect( s, SIGNAL(<a href="qsocket.html#connectionClosed">connectionClosed</a>()),
+ SLOT(connectionClosed()) );
+ }
+
+ void connectionClosed()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Client closed connection\n") );
+ }
+
+private:
+ <a href="qtextview.html">QTextView</a> *infoText;
+};
+
+
+int main( int argc, char** argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ ServerInfo info;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;info );
+ info.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "server.moc"
+</pre>
+
+<p> <hr>
+<p> Implementation client (client.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/client.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+
+
+class Client : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ Client( const <a href="qstring.html">QString</a> &amp;host, Q_UINT16 port )
+ {
+ // GUI layout
+ infoText = new <a href="qtextview.html">QTextView</a>( this );
+ <a href="qhbox.html">QHBox</a> *hb = new <a href="qhbox.html">QHBox</a>( this );
+ inputText = new <a href="qlineedit.html">QLineEdit</a>( hb );
+ <a href="qpushbutton.html">QPushButton</a> *send = new <a href="qpushbutton.html">QPushButton</a>( tr("Send") , hb );
+ <a href="qpushbutton.html">QPushButton</a> *close = new <a href="qpushbutton.html">QPushButton</a>( tr("Close connection") , this );
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( tr("Quit") , this );
+
+<a name="x792"></a> connect( send, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(sendToServer()) );
+ connect( close, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(closeConnection()) );
+ connect( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ // create the socket and connect various of its signals
+ socket = new <a href="qsocket.html">QSocket</a>( this );
+<a name="x798"></a> connect( socket, SIGNAL(<a href="qsocket.html#connected">connected</a>()),
+ SLOT(socketConnected()) );
+<a name="x799"></a> connect( socket, SIGNAL(<a href="qsocket.html#connectionClosed">connectionClosed</a>()),
+ SLOT(socketConnectionClosed()) );
+<a name="x803"></a> connect( socket, SIGNAL(<a href="qsocket.html#readyRead">readyRead</a>()),
+ SLOT(socketReadyRead()) );
+<a name="x801"></a> connect( socket, SIGNAL(<a href="qsocket.html#error">error</a>(int)),
+ SLOT(socketError(int)) );
+
+ // connect to the server
+<a name="x805"></a> infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Trying to connect to the server\n") );
+<a name="x797"></a> socket-&gt;<a href="qsocket.html#connectToHost">connectToHost</a>( host, port );
+ }
+
+ ~Client()
+ {
+ }
+
+private slots:
+ void closeConnection()
+ {
+<a name="x796"></a> socket-&gt;<a href="qsocket.html#close">close</a>();
+<a name="x804"></a> if ( socket-&gt;<a href="qsocket.html#state">state</a>() == QSocket::Closing ) {
+ // We have a delayed close.
+<a name="x800"></a> connect( socket, SIGNAL(<a href="qsocket.html#delayedCloseFinished">delayedCloseFinished</a>()),
+ SLOT(socketClosed()) );
+ } else {
+ // The socket is closed.
+ socketClosed();
+ }
+ }
+
+ void sendToServer()
+ {
+ // write to the server
+ <a href="qtextstream.html">QTextStream</a> os(socket);
+<a name="x794"></a> os &lt;&lt; inputText-&gt;<a href="qlineedit.html#text">text</a>() &lt;&lt; "\n";
+<a name="x793"></a> inputText-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ }
+
+ void socketReadyRead()
+ {
+ // read from the server
+<a name="x795"></a> while ( socket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() ) {
+<a name="x802"></a> infoText-&gt;<a href="qtextedit.html#append">append</a>( socket-&gt;<a href="qsocket.html#readLine">readLine</a>() );
+ }
+ }
+
+ void socketConnected()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Connected to server\n") );
+ }
+
+ void socketConnectionClosed()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Connection closed by the server\n") );
+ }
+
+ void socketClosed()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Connection closed\n") );
+ }
+
+ void socketError( int e )
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( tr("Error number %1 occurred\n").arg(e) );
+ }
+
+private:
+ <a href="qsocket.html">QSocket</a> *socket;
+ <a href="qtextview.html">QTextView</a> *infoText;
+ <a href="qlineedit.html">QLineEdit</a> *inputText;
+};
+
+
+int main( int argc, char** argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ Client client( argc&lt;2 ? "localhost" : argv[1], 4242 );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;client );
+ client.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "client.moc"
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/collection.html b/doc/html/collection.html
new file mode 100644
index 0000000..842ee4b
--- /dev/null
+++ b/doc/html/collection.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/collect.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Collection Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Collection Classes</h1>
+
+
+
+<p> <!-- index collection classes --><a name="collection-classes"></a><!-- index persistent data --><a name="persistent-data"></a>
+<p> A collection class is a container which holds a number of items in a
+data structure and provides various operations to manipulate the
+contents of the collection, such as insert item, remove item, find
+item, etc.
+<p> Qt has several value-based and several pointer-based collection
+classes. The pointer-based collection classes work with pointers to
+items, while the value-based classes store copies of their items. The
+value-based collections are very similar to STL container classes, and
+can be used with STL algorithms and containers. See the <a href="qt-template-lib.html">Qt Template Library</a> documentation for
+details.
+<p> The value-based collections are:
+<ul>
+<li> <a href="qvaluelist.html">QValueList</a>, a value-based list.
+<li> <a href="qvaluevector.html">QValueVector</a>, a value-based vector.
+<li> <a href="qvaluestack.html">QValueStack</a>, a value-based stack.
+<li> <a href="qmap.html">QMap</a>, a value-based dictionary (associative array).
+</ul>
+<p> The pointer-based collections are:
+<ul>
+<li> <a href="qcache.html">QCache</a> and <a href="qintcache.html">QIntCache</a>, LRU (least recently used) caches.
+<li> <a href="qdict.html">QDict</a>, <a href="qintdict.html">QIntDict</a> and <a href="qptrdict.html">QPtrDict</a> dictionaries.
+<li> <a href="qptrlist.html">QPtrList</a>, a doubly linked list.
+<li> <a href="qptrqueue.html">QPtrQueue</a>, a FIFO (first in, first out) queue.
+<li> <a href="qptrstack.html">QPtrStack</a>, a LIFO (last in, first out) stack.
+<li> <a href="qptrvector.html">QPtrVector</a>, a vector.
+</ul>
+<p> <a href="qmemarray.html">QMemArray</a> is exceptional; it is neither pointer nor value based,
+but memory based. For maximum efficiency with the simple data types
+usually used in arrays, it uses bitwise operations to copy and compare
+array elements.
+<p> Some of these classes have corresponding iterators. An iterator
+is a class for traversing the items in a collection:
+<ul>
+<li> <a href="qcacheiterator.html">QCacheIterator</a> and
+<a href="qintcacheiterator.html">QIntCacheIterator</a>
+<li> <a href="qdictiterator.html">QDictIterator</a>,
+<a href="qintdictiterator.html">QIntDictIterator</a>, and
+<a href="qptrdictiterator.html">QPtrDictIterator</a>
+<li> <a href="qptrlistiterator.html">QPtrListIterator</a>
+<li> <a href="qvaluelistiterator.html">QValueListIterator</a>, and
+<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>
+<li> <a href="qmapiterator.html">QMapIterator</a>, and
+<a href="qmapconstiterator.html">QMapConstIterator</a>
+</ul>
+<p> The value-based collections plus algorithms operating on them are
+grouped together in the <a href="qt-template-lib.html">Qt Template
+Library</a>; see also the <a href="qtl.html">Qt Template
+Library Classes</a>.
+<p> The rest of this page dicusses the pointer-based containers.
+<p> <h2> Architecture of the pointer-based containers
+</h2>
+<a name="1"></a><p> There are four internal base classes for the pointer-based
+containers (QGCache, QGDict, QGList and QGVector) that operate on
+void pointers. A thin template layer implements the actual
+collections by casting item pointers to and from void pointers.
+<p> This strategy allows Qt's templates to be very economical on space
+(instantiating one of these templates adds only inlinable calls to
+the base classes), without hurting performance.
+<p> <h2> A <a href="qptrlist.html">QPtrList</a> Example
+</h2>
+<a name="2"></a><p> This example shows how to store Employee items in a list and prints
+them out in reverse order:
+<p> <pre>
+ #include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+ #include &lt;stdio.h&gt;
+
+ class Employee
+ {
+ public:
+ Employee( const char *name, int salary ) { n=name; s=salary; }
+ const char *name() const { return n; }
+ int salary() const { return s; }
+ private:
+ <a href="qstring.html">QString</a> n;
+ int s;
+ };
+
+ int main()
+ {
+ <a href="qptrlist.html">QPtrList</a>&lt;Employee&gt; list; // list of pointers to Employee
+ list.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE ); // delete items when they are removed
+
+ list.<a href="qptrlist.html#append">append</a>( new Employee("Bill", 50000) );
+ list.<a href="qptrlist.html#append">append</a>( new Employee("Steve",80000) );
+ list.<a href="qptrlist.html#append">append</a>( new Employee("Ron", 60000) );
+
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;Employee&gt; it(list); // iterator for employee list
+ for ( it.<a href="qptrlistiterator.html#toLast">toLast</a>(); it.<a href="qptrlistiterator.html#current">current</a>(); --it) ) {
+ Employee *emp = it.<a href="qptrlistiterator.html#current">current</a>();
+ printf( "%s earns %d\n", emp-&gt;name(), emp-&gt;salary() );
+ }
+
+ return 0;
+ }
+</pre>
+
+<p> Program output:
+<pre>
+ Ron earns 60000
+ Steve earns 80000
+ Bill earns 50000
+</pre>
+
+<p> <h2> Managing Collection Items
+</h2>
+<a name="3"></a><p> All pointer-based collections inherit the <a href="qptrcollection.html">QPtrCollection</a> base class.
+This class only knows about the number of items in the collection and
+the deletion strategy.
+<p> By default, items in a collection are not deleted when they are
+removed from the collection. The <a href="qptrcollection.html#setAutoDelete">QPtrCollection::setAutoDelete</a>()
+function specifies the deletion strategy. In the list example, we
+enable auto-deletion to make the list delete the items when they are
+removed from the list.
+<p> When inserting an item into a collection, only the pointer is copied,
+not the item itself. This is called a <a href="shclass.html#shallow-copy">shallow copy</a>. It is possible to
+make the collection copy all of the item's data (known as a <a href="shclass.html#deep-copy">deep copy</a>)
+when an item is inserted. All collection functions that insert an
+item call the virtual function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item
+to be inserted. Inherit a collection and reimplement it if you want
+to have deep copies in your collection.
+<p> When removing an item from a list, the virtual function
+<a href="qptrcollection.html#deleteItem">QPtrCollection::deleteItem</a>() is called. The default implementation
+in all collection classes deletes the item if auto-deletion is
+enabled.
+<p> <h2> Usage
+</h2>
+<a name="4"></a><p> A pointer-based collection class, such as <a href="qptrlist.html">QPtrList</a>&lt;type&gt;, defines a
+collection of <em>pointers</em> to <em>type</em> objects. The pointer (*) is
+implicit.
+<p> We discuss <a href="qptrlist.html">QPtrList</a> here, but the same techniques apply to all
+pointer-based collection classes and all collection class iterators.
+<p> Template instantiation:
+<pre>
+ <a href="qptrlist.html">QPtrList</a>&lt;Employee&gt; list; // wherever the list is used
+</pre>
+
+<p> The item's class or type, Employee in our example, must be defined prior
+to the list definition.
+<p> <pre>
+ // Does not work: Employee is not defined
+ class Employee;
+ <a href="qptrlist.html">QPtrList</a>&lt;Employee&gt; list;
+
+ // This works: Employee is defined before it is used
+ class Employee {
+ ...
+ };
+ <a href="qptrlist.html">QPtrList</a>&lt;Employee&gt; list;
+</pre>
+
+<p> <h2> Iterators
+</h2>
+<a name="5"></a><p> Although <a href="qptrlist.html">QPtrList</a> has member functions to traverse the list, it can
+often be better to make use of an iterator. <a href="qptrlistiterator.html">QPtrListIterator</a> is very
+safe and can traverse lists that are being modified at the same time.
+Multiple iterators can work independently on the same collection.
+<p> A <a href="qptrlist.html">QPtrList</a> has an internal list of all the iterators that are
+currently operating on it. When a list entry is removed, the list
+updates all iterators accordingly.
+<p> The <a href="qdict.html">QDict</a> and <a href="qcache.html">QCache</a> collections have no traversal functions. To
+traverse these collections, you must use <a href="qdictiterator.html">QDictIterator</a> or <a href="qcacheiterator.html">QCacheIterator</a>.
+<p> <h2> Predefined Collections
+</h2>
+<a name="6"></a><p> Qt has the following predefined collection classes:
+<ul>
+<li> String lists: <a href="qstrlist.html">QStrList</a>, <a href="qstrilist.html">QStrIList</a> (<a href="qstrlist-h.html">qstrlist.h</a>) and
+<a href="qstringlist.html">QStringList</a> (<a href="qstringlist-h.html">qstringlist.h</a>)
+<li> String vectors: QStrVec and QStrIVec (qstrvec.h); these are obsolete
+</ul>
+<p> In almost all cases you would choose <a href="qstringlist.html">QStringList</a>, a value
+list of <a href="shclass.html#implicitly-shared">implicitly shared</a> <a href="qstring.html">QString</a> Unicode strings. QPtrStrList and
+QPtrStrIList store only char pointers, not the strings themselves.
+<p> <h2> List of Pointer-based Collection Classes and Related
+Iterator Classes
+</h2>
+<a name="7"></a><p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicache.html">QAsciiCache</a></b><td>Template class that provides a cache based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicacheiterator.html">QAsciiCacheIterator</a></b><td>Iterator for QAsciiCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidict.html">QAsciiDict</a></b><td>Template class that provides a dictionary based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidictiterator.html">QAsciiDictIterator</a></b><td>Iterator for QAsciiDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qbitarray.html">QBitArray</a></b><td>Array of bits
+<tr bgcolor=#f0f0f0><td><b><a href="qbitval.html">QBitVal</a></b><td>Internal class, used with QBitArray
+<tr bgcolor=#f0f0f0><td><b><a href="qbuffer.html">QBuffer</a></b><td>I/O device that operates on a QByteArray
+<tr bgcolor=#f0f0f0><td><b><a href="qbytearray.html">QByteArray</a></b><td>Array of bytes
+<tr bgcolor=#f0f0f0><td><b><a href="qcache.html">QCache</a></b><td>Template class that provides a cache based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qcacheiterator.html">QCacheIterator</a></b><td>Iterator for QCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qcstring.html">QCString</a></b><td>Abstraction of the classic C zero-terminated char array (char *)
+<tr bgcolor=#f0f0f0><td><b><a href="qdict.html">QDict</a></b><td>Template class that provides a dictionary based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qdictiterator.html">QDictIterator</a></b><td>Iterator for QDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintcache.html">QIntCache</a></b><td>Template class that provides a cache based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintcacheiterator.html">QIntCacheIterator</a></b><td>Iterator for QIntCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintdict.html">QIntDict</a></b><td>Template class that provides a dictionary based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintdictiterator.html">QIntDictIterator</a></b><td>Iterator for QIntDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlist.html">QObjectList</a></b><td>QPtrList of QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlistiterator.html">QObjectListIterator</a></b><td>Iterator for QObjectLists
+<tr bgcolor=#f0f0f0><td><b><a href="qptrcollection.html">QPtrCollection</a></b><td>The base class of most pointer-based Qt collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdict.html">QPtrDict</a></b><td>Template class that provides a dictionary based on void* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdictiterator.html">QPtrDictIterator</a></b><td>Iterator for QPtrDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlist.html">QPtrList</a></b><td>Template class that provides a list
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlistiterator.html">QPtrListIterator</a></b><td>Iterator for QPtrList collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrqueue.html">QPtrQueue</a></b><td>Template class that provides a queue
+<tr bgcolor=#f0f0f0><td><b><a href="qstrilist.html">QStrIList</a></b><td>Doubly-linked list of char* with case-insensitive comparison
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlist.html">QStrList</a></b><td>Doubly-linked list of char*
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/commercialeditions.html b/doc/html/commercialeditions.html
new file mode 100644
index 0000000..37fddda
--- /dev/null
+++ b/doc/html/commercialeditions.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/commercialeditions.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Commercial Editions</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Commercial Editions</h1>
+
+
+<p> The Qt Professional and Enterprise Editions are the commercial
+versions of <a href="aboutqt.html">Qt</a>.
+<p> You may only write commercial, proprietary and non-free software if
+you have purchased the Professional Edition or the Enterprise
+Edition.
+<a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a>
+The purchase of a Qt commercial edition includes technical support and
+upgrades. Qt for Microsoft Windows is only available in the
+Professional and Enterprise Editions.
+<p> Qt is supported on the following platforms:
+<ul>
+<li> <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+<li> <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+IBM AIX, SGI IRIX and a wide range of others
+<li> <b>Macintosh</b> -- Mac OS X
+<li> <b><a href="http://www.trolltech.com/products/embedded/index.html">Qt/Embedded</a></b> -- Linux platforms with framebuffer support.
+</ul>
+<p> On Trolltech's web site, you can find <a href="http://www.trolltech.com/products/qt/licensing.html">licensing
+information</a> and <a href="http://www.trolltech.com/products/qt/pricing.html">price lists</a> for
+Qt Professional Edition, Qt Enterprise Edition, and other Trolltech
+products.
+<p> To purchase, please visit the
+<a href="https://webshop.trolltech.com/cgi-bin/index.cgi">Trolltech
+webshop</a>. In the webshop, you can generate a Purchase Order, order
+a Quote, or purchase directly using credit card.
+<p> For further information and assistance, please contact Trolltech sales:
+<p> Email: <a href="mailto:sales@trolltech.com">sales@trolltech.com</a>
+<p> Phone, US office (for North America): <strong>(+1)&nbsp;650-813-1676</strong>
+<p> Phone, Norway office (for others): <strong>+47&nbsp;2160&nbsp;4800</strong>
+<p> <table border="1" cellpadding="5" cellspacing="0" width="100%">
+<tr>
+<td bgcolor="#a1c410"><b><a name="Chart"></a>Professional/Enterprise Comparison Chart</b></td>
+<td width="100" align="center" bgcolor="#a1c410"><b>Professional</b></td>
+<td width="100" align="center" bgcolor="#a1c410"><b>Enterprise</b></td>
+</tr>
+<tr>
+<td><b><a href=index.html">Qt Base Modules (Tools, Kernel,
+Widgets, Dialogs)</a></b><br>
+The platform-independent Qt GUI toolkit and utility classes</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="designer-manual.html"><b>Qt Designer</b></a><br>
+Visual Qt GUI builder</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="iconview.html"><b>Iconview module</b></a><br>
+Visualization of sets of pixmaps with user interaction.</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="workspace.html"><b>Workspace module</b></a><b><br>
+</b>Multiple Document Interface (MDI) support</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="opengl.html"><b>OpenGL 3D Graphics module</b></a><b><br>
+</b>Integration of Qt with OpenGL</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="network.html"><b>Network module</b></a><b><br>
+</b>Platform-independent classes for sockets, TCP, FTP and asynchronous DNS lookup.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="canvas.html"><b>Canvas module</b></a><br>
+Optimized 2D graphics area for visualization, diagrams, etc.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="table.html"><b>Table module</b></a><br>
+Flexible and editable table / spreadsheet</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="xml.html"><b>XML module</b></a><br>
+Well-formed XML parser with SAX interface and DOM Level 1.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="activeqt.html"><b>ActiveQt extension</b></a><br>
+Support for building and hosting ActiveX controls on Windows.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="motif-extension.html"><b>QMotif extension</b></a><br>
+<a href="motif-extension.html#Motif">Motif</a> co-existence and migration support.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+</table>
+<p>
+<hr>
+<ol> <li><a name="footnote1"></a>
+
+If you want to develop free/open source software for
+release using a recognized open source license you can use the
+<a href="opensourceedition.html">Qt Open Source Edition</a>.
+ <a href="#footnote-call1">Back...</a></ol>
+</hr>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/commonproblems.html b/doc/html/commonproblems.html
new file mode 100644
index 0000000..709d5d6
--- /dev/null
+++ b/doc/html/commonproblems.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:37 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Brief Technical FAQ</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Brief Technical FAQ</h1>
+
+
+This document describes how to use more than one Qt version on one
+machine and how to use Qt on X11 without a window manager. In addition
+it explains the most common source of link errors with Qt.
+<p> Other frequently asked questions can be found in the
+<a href="http://www.trolltech.com/developer/faqs/">FAQ index</a> and
+in the <a href="http://www.trolltech.com/developer/faqs/technical.html">Technical FAQ</a>.
+<p> <ul>
+<li> <a href="#linkerror">Link error, complaining about a lack of
+<tt>vtbl</tt>, <tt>_vtbl</tt>, <tt>__vtbl</tt> or similar</a>
+<li> <a href="#diffver">Using different versions of Qt on the same
+machine</a>
+<ul>
+<li> <a href="#qtbin">Developers building for a single version of Qt on Unix - Qt binary packages</a>
+<li> <a href="#qtsrc">Developers building for two versions of Qt on Unix - Qt sources</a>
+</ul>
+<li> <a href="#nowinman">Using Qt on X11 without a window manager</a>
+<li> <a href="distributingqt.html">Distributing Qt Applications</a>
+</ul>
+<p> <a name="linkerror"></a>
+<h2> Link error, complaining about a lack of <tt>vtbl</tt>, <tt>_vtbl</tt>, <tt>__vtbl</tt> or similar
+</h2>
+<a name="1"></a><p> This indicates that you've included the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro in a class
+declaration and probably also run the <a href="moc.html#moc">moc</a>, but forgot to link the
+moc-generated object code into your executable. See <a href="moc.html">Using the Meta Object Compiler</a> for details on how to use moc.
+<p> <a name="diffver"></a>
+<h2> Using different versions of Qt on the same machine
+</h2>
+<a name="2"></a><p> Qt programs need the following components of a Qt distribution:
+<p> <dl>
+<p> <dt>Header files - Compile time
+<p> <dd>Programmers need to include the Qt header files. The Qt header files
+are usually located in the <tt>include</tt> subdirectory of Qt distributions.
+Care must be taken to include the header files of the relevant release of
+Qt. Those with a command-line compiler will typically use options such as
+<tt>/I%QTDIR%&#92;include</tt>
+
+the relevant release of Qt.
+<p> <dt>Meta Object Compiler and other tools - Compile time
+<p> <dd>Programmers need to run <em>moc</em> and other tools such as <em>uic</em>. These
+tools are usually located in the <tt>bin</tt> subdirectory of Qt distributions.
+Either run <tt>"$QTDIR"/bin/moc</tt> and <tt>"$QTDIR"/bin/uic</tt> or add <tt>"$QTDIR"/bin</tt>
+to your <tt>PATH</tt> and run <a href="moc.html#moc">moc</a> and <tt>uic</tt>. If you use <tt>qmake</tt> the
+appropriate lines will be added to your Makefiles so that <em>uic</em> and
+<em>moc</em> will be executed as required.
+<p> <dt>Static or shared libraries - Link time
+<p> <dd>Programmers need to link with the Qt static or shared libraries. The Qt
+libraries are usually located in the <tt>lib</tt> subdirectory of Qt distributions.
+Care must be taken to link with the libraries of the relevant release of
+Qt. Those with a command-line compiler will typically use options such as
+<tt>/L%QTDIR%&#92;lib&#92;qt.lib</tt> or <tt>-L"$QTDIR"/lib</tt> <tt>-lqt</tt> provided <tt>QTDIR</tt>
+specifies the relevant release of Qt.
+<p> <dt>Shared libraries - Run time
+<p> <dd>Users of programs linked with shared Qt libraries need these same
+shared libraries to run these programs. The Qt libraries are usually
+located in the <tt>lib</tt> subdirectory of Qt distributions. Shared libraries
+are made available to programs in places such as <tt>C:&#92;windows&#92;system</tt> on
+Windows platforms, directories listed in file <tt>/etc/ld.so.conf</tt> on Linux,
+standard <tt>lib</tt> directories on Unix, or directories listed in environment
+variables <tt>LD_LIBRARY_PATH</tt>, <tt>SHLIB_PATH</tt>, or <tt>LIBPATH</tt> on various Unix
+flavours. Make the relevant Qt libraries available using one of these
+mechanisms.
+<p> </dl>
+<p> Qt distributions consist of different files needed at compile time,
+link time, or run time. Trolltech distributes Qt in the form of a
+source package that contain all these files once they have been built.
+<p> Other vendors distribute Qt in the form of binary packages. Binary packages
+usually consist of two parts:
+<p> <ul>
+<li> shared libraries in the run time package, usually called <tt>qt3</tt>.
+<p> <li> header files, static libraries, the moc and other tools in the developers'
+kit, usually called <tt>qt3-dev</tt>.
+<p> </ul>
+<p> Depending on how you are using Qt, you need to make specific parts of
+the Qt distribution available to your programs. Typical situations are
+described below.
+<p> <a name="qtbin"></a>
+<h3> Developers building for a single version of Qt on Unix - Qt binary packages
+</h3>
+<a name="2-1"></a><p> You build programs with a single version of Qt, but you still need
+to run programs linked with another version of Qt. You are typically
+a Linux developer who builds programs for Qt 3.x on a KDE desktop based
+on Qt 2.x. Qt packages are usually split into a shared library
+package with a name like <tt>qt</tt> and a developer package with a name
+like <tt>qt-dev</tt>. You will need the appropriate packages:
+<p> <ul>
+<p> <li> To build programs you will need the header files, the libraries,
+the moc and other tools from Qt 3.x. They are included in the developer
+package of Qt 3.x (<tt>qt3-dev</tt> or similar).
+<p> <li> To run programs you will need the shared libraries of Qt 3.x and
+Qt 2.x. They are included in the regular packages of Qt 3.x (<tt>qt3</tt>
+or similar) and Qt 2.x (<tt>qt2</tt> or similar).
+<p> </ul>
+<p> Just install the packages, <tt>qt2</tt>, <tt>qt3</tt>, and <tt>qt3-dev</tt>. You may
+need to set the environment variable <tt>QTDIR</tt> to point to Qt 3.x.
+<p> <a name="qtsrc"></a>
+<h3> Developers building for two versions of Qt on Unix - Qt sources
+</h3>
+<a name="2-2"></a><p> You build and run programs for Qt 2.x and Qt 3.x. You will need:
+<p> <ul>
+<p> <li> the header files, the libraries, the moc and other tools from Qt 3.x
+and Qt 2.x to build programs,
+<p> <li> the shared libraries of Qt 3.x and Qt 2.x to run programs.
+<p> </ul>
+<p> Get the source distributions of both Qt 2.x and Qt 3.x.
+<p> <ol type=1>
+<p> <li> Install and build Qt 2.x and Qt 3.x, usually in <tt>/opt</tt> or
+<tt>/usr/local</tt>. In the case of <tt>/opt</tt>:
+<p> <pre>
+$ cd /opt
+$ gunzip -c \c qt-x11-2.3.1.tar.gz | tar xf -
+$ cd qt-2.3.1
+$ setenv QTDIR /opt/qt-2.3.1
+$ configure [options]
+$ make
+
+$ cd /opt
+$ gunzip -c qt-x11-free-3.0.0.tar.gz | tar xf -
+$ cd qt-3.0.0
+$ setenv QTDIR /opt/qt-3.0.0
+$ configure [options]
+$ make
+</pre>
+
+<p> <li> Make shared libraries available to programs at run time. Either
+add both <tt>/opt/qt-2.3.1/lib</tt> and <tt>/opt/qt-3.0.0/lib</tt> to your environment
+variable <tt>LD_LIBRARY_PATH</tt> or file <tt>/etc/ld.so.conf</tt> or whataver mechanism
+you're using, or make links to the libraries in a standard directory like
+<tt>/usr/local/lib</tt>:
+<p> <pre>
+cd /usr/local/lib
+ln -s /opt/qt-2.3.1/lib/libqt.so.2 .
+ln -s /opt/qt-2.3.1/lib/libqt-mt.so.2 .
+ln -s /opt/qt-2.3.1/lib/libqutil.so.1 .
+ln -s /opt/qt-3.0.0/lib/libqt.so.3 .
+ln -s /opt/qt-3.0.0/lib/libqui.so.1 .
+</pre>
+
+<p> </ol>
+<p> To develop with Qt 2.x use:
+<p> <pre>
+setenv QTDIR /opt/qt-2.3.1
+setenv PATH ${QTDIR}/bin:${PATH}
+</pre>
+
+<p> To develop with Qt 3.x use:
+<p> <pre>
+setenv QTDIR /opt/qt-3.0.0
+setenv PATH ${QTDIR}/bin:${PATH}
+</pre>
+
+<p> Setting <tt>QTDIR</tt> ensures that the proper resources are used, such as the
+documentation appropriate to the version of Qt you're using. Also
+your Makfiles may refer to <tt>"$QTDIR"/include</tt> and <tt>"$QTDIR"/lib</tt> to
+include the proper header files and link with the proper libraries.
+Setting the <tt>PATH</tt> ensures that the proper version of moc and other
+tools is being used.
+<p> <a name="nowinman"></a>
+<h2> Using Qt on X11 without a window manager
+</h2>
+<a name="3"></a><p> When using Qt without a window manager on Unix/X11, you will most
+likely experience focus problems. Without a window manager, there is
+no focus handling on X11, and no concept of an active window
+either. If you want your application to work in such an environment,
+you have to explicitly mark a window as active <em>after</em> showing it:
+<p> <pre>
+ yourWindow-&gt;show();
+ yourWindow-&gt;setActiveWindow();
+</pre>
+
+<p> Note that setActiveWindow() won't work if the widget does not become
+physically visible during this event cycle. However, without a window
+manager running, this is guaranteed to happen. For the curious reader:
+setActiveWindow() emulates a window manager by explicitly setting the
+X Input Focus to a widget's top level window.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/concrete-connections.png b/doc/html/concrete-connections.png
new file mode 100644
index 0000000..5d91214
--- /dev/null
+++ b/doc/html/concrete-connections.png
Binary files differ
diff --git a/doc/html/coordsys.html b/doc/html/coordsys.html
new file mode 100644
index 0000000..ee84473
--- /dev/null
+++ b/doc/html/coordsys.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/coordsys.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Coordinate System</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The Coordinate System</h1>
+
+
+
+<p> A <a href="qpaintdevice.html">paint device</a> in Qt is a drawable 2D
+surface. <a href="qwidget.html">QWidget</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qpicture.html">QPicture</a> and <a href="qprinter.html">QPrinter</a> are all
+paint devices. A <a href="qpainter.html">QPainter</a> is an object which can draw on such
+devices.
+<p> The default coordinate system of a paint device has its origin at the
+top left corner. X increases to the right and Y increases downwards.
+The unit is one pixel on pixel-based devices and one point on
+printers.
+<p> <h2> An Example
+</h2>
+<a name="1"></a><p> The illustration below shows a highly magnified portion of the top
+left corner of a paint device.
+<p> <center><img src="coordsys.png"></center>
+<p> The rectangle and the line were drawn by this code (with the grid
+added and colors touched up in the illustration):
+<p> <pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p( this );
+ p.<a href="qpainter.html#setPen">setPen</a>( darkGray );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( 1,2, 5,4 );
+ p.<a href="qpainter.html#setPen">setPen</a>( lightGray );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( 9,2, 7,7 );
+ }
+</pre>
+
+<p> Note that all of the pixels drawn by drawRect() are inside the size
+specified (5*4 pixels). This is different from some toolkits; in Qt
+the size you specify exactly encompasses the pixels drawn. This
+applies to all the relevant functions in <a href="qpainter.html">QPainter</a>.
+<p> Similarly, the drawLine() call draws both endpoints of the line, not
+just one.
+<p> Here are the classes that relate most closely to the coordinate
+system:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qpoint.html">QPoint</a>
+<td valign="top">A single 2D point in the coordinate system. Most functions in
+Qt that deal with points can accept either a <a href="qpoint.html">QPoint</a> argument
+or two ints, for example <a href="qpainter.html#drawPoint">QPainter::drawPoint</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qsize.html">QSize</a>
+<td valign="top">A single 2D vector. Internally, QPoint and <a href="qsize.html">QSize</a> are the same,
+but a point is not the same as a size, so both classes exist.
+Again, most functions accept either a QSize or two ints, for
+example <a href="qwidget.html#resize">QWidget::resize</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qrect.html">QRect</a>
+<td valign="top">A 2D rectangle. Most functions accept either a <a href="qrect.html">QRect</a> or four
+ints, for example <a href="qwidget.html#setGeometry">QWidget::setGeometry</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qregion.html">QRegion</a>
+<td valign="top">An arbitrary set of points, including all the normal set
+operations, e.g. <a href="qregion.html#intersect">QRegion::intersect</a>(), and also a less
+usual function to return a list of rectangles whose union is
+equal to the region. <a href="qregion.html">QRegion</a> is used e.g. by <a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>(), <a href="qwidget.html#repaint">QWidget::repaint</a>() and <a href="qpaintevent.html#region">QPaintEvent::region</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qpainter.html">QPainter</a>
+<td valign="top">The class that paints. It can paint on any device with the
+same code. There are differences between devices, <a href="qprinter.html#newPage">QPrinter::newPage</a>() is a good example, but <a href="qpainter.html">QPainter</a> works the
+same way on all devices.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qpaintdevice.html">QPaintDevice</a>
+<td valign="top">A device on which QPainter can paint. There are two internal
+devices, both pixel-based, and two external devices, <a href="qprinter.html">QPrinter</a> and <a href="qpicture.html">QPicture</a> (which records QPainter commands to a
+file or other <a href="qiodevice.html">QIODevice</a>, and plays them back). Other
+devices can be defined.
+</table></center>
+<p> <h2> Transformations
+</h2>
+<a name="2"></a><p> Although Qt's default coordinate system works as described above, <a href="qpainter.html">QPainter</a> also supports arbitrary transformations.
+<p> This transformation engine is a three-step pipeline, closely following
+the model outlined in books such as
+<a href="http://www.amazon.com/exec/obidos/ASIN/0201848406/trolltech/t">Foley &amp; Van Dam</a> and the
+<a href="http://www.amazon.com/exec/obidos/ASIN/0201604582/trolltech/t">OpenGL Programming Guide.</a> Refer to those for in-depth
+coverage; here we give just a brief overview and an example.
+<p> The first step uses the world <a href="qwmatrix.html#TransformationMode">transformation matrix</a>. Use this matrix
+to orient and position your objects in your model. Qt provides
+methods such as <a href="qpainter.html#rotate">QPainter::rotate</a>(), <a href="qpainter.html#scale">QPainter::scale</a>(), <a href="qpainter.html#translate">QPainter::translate</a>() and so on to operate on this matrix.
+<p> <a href="qpainter.html#save">QPainter::save</a>() and <a href="qpainter.html#restore">QPainter::restore</a>() save and restore this
+matrix. You can also use <a href="qwmatrix.html">QWMatrix</a> objects, <a href="qpainter.html#worldMatrix">QPainter::worldMatrix</a>() and <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>() to store and
+use named matrices.
+<p> The second step uses the window. The window describes the view
+boundaries in model coordinates. The matrix positions the <em>objects</em>
+and <a href="qpainter.html#setWindow">QPainter::setWindow</a>() positions the <em>window</em>, deciding what
+coordinates will be visible. (If you have 3D experience, the window
+is what's usually called projection in 3D.)
+<p> The third step uses the viewport. The viewport too, describes the view
+boundaries, but in device coordinates. The viewport and the windows
+describe the same rectangle, but in different coordinate systems.
+<p> On-screen, the default is the entire <a href="qwidget.html">QWidget</a> or <a href="qpixmap.html">QPixmap</a> where
+you are drawing, which is usually appropriate. For printing this
+function is vital, since very few printers can print over the entire
+physical page.
+<p> So each object to be drawn is transformed into model
+coordinates using <a href="qpainter.html#worldMatrix">QPainter::worldMatrix</a>(), then positioned
+on the drawing device using <a href="qpainter.html#window">QPainter::window</a>() and
+<a href="qpainter.html#viewport">QPainter::viewport</a>().
+<p> It is perfectly possible to do without one or two of the stages. If,
+for example, your goal is to draw something scaled, then just using <a href="qpainter.html#scale">QPainter::scale</a>() makes perfect sense. If your goal is to use a
+fixed-size coordinate system, <a href="qpainter.html#setWindow">QPainter::setWindow</a>() is
+ideal. And so on.
+<p> Here is a short example that uses all three mechanisms: the function
+that draws the clock face in the <a href="aclock-example.html">aclock/aclock.cpp</a> example. We
+recommend compiling and running the example before you read any
+further. In particular, try resizing the window to different sizes.
+<p>
+
+<pre> void AnalogClock::drawClock( <a href="qpainter.html">QPainter</a> *paint )
+ {
+ <a name="x2275"></a> paint-&gt;<a href="qpainter.html#save">save</a>();
+</pre>
+<p> Firstly, we save the painter's state, so that the calling function
+is guaranteed not to be disturbed by the transformations we're going
+to use.
+<p> <pre> <a name="x2277"></a> paint-&gt;<a href="qpainter.html#setWindow">setWindow</a>( -500,-500, 1000,1000 );
+</pre>
+<p> We set the model coordinate system we want a 1000*1000 window where
+0,0 is in the middle.
+<p> <pre> <a name="x2278"></a> <a href="qrect.html">QRect</a> v = paint-&gt;<a href="qpainter.html#viewport">viewport</a>();
+ <a name="x2282"></a><a name="x2279"></a> int d = QMIN( v.<a href="qrect.html#width">width</a>(), v.<a href="qrect.html#height">height</a>() );
+</pre>
+<p> The device may not be square and we want the clock to be, so we find
+its current viewport and compute its shortest side.
+<p> <pre> <a name="x2280"></a><a name="x2276"></a> paint-&gt;<a href="qpainter.html#setViewport">setViewport</a>( v.<a href="qrect.html#left">left</a>() + (v.<a href="qrect.html#width">width</a>()-d)/2,
+ <a name="x2281"></a> v.<a href="qrect.html#top">top</a>() + (v.<a href="qrect.html#height">height</a>()-d)/2, d, d );
+</pre>
+<p> Then we set a new square viewport, centered in the old one.
+<p> We're now done with our view. From this point on, when we draw in a
+1000*1000 area around 0,0, what we draw will show up in the largest
+possible square that'll fit in the output device.
+<p> Time to start drawing.
+<p> <pre> <a href="qpointarray.html">QPointArray</a> pts;
+</pre>
+<p> <em>pts</em> is just a temporary variable to hold some points.
+<p> Next come three drawing blocks, one for the hour hand, one for the
+minute hand and finally one for the clock face itself. First we draw
+the hour hand:
+<p> <pre> paint-&gt;<a href="qpainter.html#save">save</a>();
+ <a name="x2274"></a> paint-&gt;<a href="qpainter.html#rotate">rotate</a>( 30*(time.hour()%12-3) + time.minute()/2 );
+</pre>
+<p> We save the painter and then rotate it so that one axis points along
+the hour hand.
+<p> <pre> pts.setPoints( 4, -20,0, 0,-20, 300,0, 0,20 );
+ <a name="x2271"></a> paint-&gt;<a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>( pts );
+</pre>
+<p> We set <em>pts</em> to a four-point polygon that looks like the hour hand at
+three o'clock, and draw it. Because of the rotation, it's drawn
+pointed in the right direction.
+<p> <pre> <a name="x2273"></a> paint-&gt;<a href="qpainter.html#restore">restore</a>();
+</pre>
+<p> We restore the saved painter, undoing the rotation. We could also
+call rotate( -30 ) but that might introduce rounding errors, so it's
+better to use save() and restore(). Next, the minute hand, drawn
+almost the same way:
+<p> <pre> paint-&gt;<a href="qpainter.html#save">save</a>();
+ paint-&gt;<a href="qpainter.html#rotate">rotate</a>( (time.minute()-15)*6 );
+ pts.setPoints( 4, -10,0, 0,-10, 400,0, 0,10 );
+ paint-&gt;<a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>( pts );
+ paint-&gt;<a href="qpainter.html#restore">restore</a>();
+</pre>
+<p> The only differences are how the rotation angle is computed and the
+shape of the polygon.
+<p> The last part to be drawn is the clock face itself.
+<p> <pre> for ( int i=0; i&lt;12; i++ ) {
+ <a name="x2272"></a> paint-&gt;<a href="qpainter.html#drawLine">drawLine</a>( 440,0, 460,0 );
+ paint-&gt;<a href="qpainter.html#rotate">rotate</a>( 30 );
+ }
+</pre>
+<p> Twelve short hour lines at thirty-degree intervals. At the end of
+that, the painter is rotated in a way which isn't very useful, but
+we're done with painting so that doesn't matter.
+<p> <pre> paint-&gt;<a href="qpainter.html#restore">restore</a>();
+ }
+</pre>
+<p> The final line of the function restores the painter, so that the
+caller won't be affected by all the transformations we've done.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/coordsys.png b/doc/html/coordsys.png
new file mode 100644
index 0000000..fd42669
--- /dev/null
+++ b/doc/html/coordsys.png
Binary files differ
diff --git a/doc/html/credits.html b/doc/html/credits.html
new file mode 100644
index 0000000..6735492
--- /dev/null
+++ b/doc/html/credits.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/credits.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Thanks!</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Thanks!</h1>
+
+
+
+<p> <p>The following (and probably many others) have provided bug reports,
+suggestions, patches, beta testing, or done us other favors. We thank
+you all:
+<p> <blockquote>
+<p> Adam P. Jenkins &lt;ajenkins <i>at</i> cs.umass.edu&gt;<br>
+Ahmed Metwally &lt;ametwaly <i>at</i> auc-cs28.eun.eg&gt;<br>
+Aidas Kasparas &lt;kaspar <i>at</i> soften.ktu.lt&gt;<br>
+Alejandro Aguilar Sierra &lt;asierra <i>at</i> servidor.unam.mx&gt;<br>
+Alex &lt;steeper <i>at</i> dial.pipex.com&gt;<br>
+Alex Kambis &lt;kambis <i>at</i> eos913c.gsfc.nasa.gov&gt;<br>
+Alexander Kozlov &lt;alex <i>at</i> hale.appl.sci-nnov.ru&gt;<br>
+Alexander Sanda &lt;alex <i>at</i> darkstar.ping.at&gt;<br>
+Amos Leffler &lt;leffler <i>at</i> netaxs.com&gt;<br>
+Anders Hanson &lt;andhan <i>at</i> lls.se&gt;<br>
+Andreas Schlempp &lt;schlempp <i>at</i> egd.igd.fhg.de&gt;<br>
+Andrew Bell &lt;abell <i>at</i> vsys.com&gt;<br>
+Andrew Gillham &lt;gillhaa <i>at</i> ghost.whirlpool.com&gt;<br>
+Andrew J. Robinson &lt;robinson <i>at</i> eclipse.net&gt;<br>
+Andrew Pavlomanolakos &lt;app <i>at</i> novanet.net.au&gt;<br>
+Andrew R. Tefft &lt;teffta <i>at</i> crypt.erie.ge.com&gt;<br>
+Andrew Vajoczki &lt;vajoczki <i>at</i> interlog.com&gt;<br>
+André Johansen &lt;Andre.Johansen <i>at</i> funcom.no&gt;<br>
+Andy Brice &lt;andyb <i>at</i> suntail.net&gt;<br>
+Andy Shaw &lt;andy <i>at</i> east.no&gt;<br>
+Anton Keyter &lt;ant <i>at</i> intekom.co.za&gt;<br>
+Arabeyes Project (http://www.arabeyes.org) &lt;doc <i>at</i> arabeyes <i>dot</i> org&gt;<br>
+Arnt Gulbrandsen &lt;arnt <i>at</i> gulbrandsen.priv.no&gt;<br>
+Ashley Winters &lt;jql <i>at</i> accessone.com&gt;<br>
+Aubrey Soper &lt;azdak <i>at</i> ix.netcom.com&gt;<br>
+Axel Schwenke &lt;schwenke <i>at</i> HTWM.DE&gt;<br>
+Ben Bergen &lt;ben <i>at</i> gmg.com&gt;<br>
+Bernard Leach &lt;B.Leach <i>at</i> compsoc.cs.latrobe.edu.au&gt;<br>
+Bernd Johannes Wuebben &lt;wuebben <i>at</i> math.cornell.edu&gt;<br>
+Bernd S. Brentrup &lt;bsb <i>at</i> uni-muenster.de&gt;<br>
+Bert Haverkamp &lt;b.r.j.haverkamp <i>at</i> et.tudelft.nl&gt;<br>
+Bjorn Reese &lt;breese <i>at</i> dit.ou.dk&gt;<br>
+Brian Beattie &lt;beattie <i>at</i> drcpdx.stt3.com&gt;<br>
+Brian P. Theodore &lt;theodore <i>at</i> std.saic.com&gt;<br>
+Brian White &lt;bcwhite <i>at</i> verisim.com&gt;<br>
+Bryan Scattergood &lt;bryan <i>at</i> fsel.com&gt;<br>
+Carsten Steckel &lt;carsten <i>at</i> cs.newcastle.edu.au&gt;<br>
+Chao-Hsin, Lin &lt;linchao <i>at</i> charlie.cns.iit.edu&gt;<br>
+Chip Salzenberg &lt;chip <i>at</i> atlantic.net&gt;<br>
+Chris Zwilling &lt;crzwlng <i>at</i> cloudnet.com&gt;<br>
+Christian Czezatke &lt;e9025461 <i>at</i> student.tuwien.ac.at&gt;<br>
+Christopher Andrew Spiking &lt;cas <i>at</i> Cs.Nott.AC.UK&gt;<br>
+Christopher J. White &lt;cjwhite <i>at</i> rgit.wustl.edu&gt;<br>
+Clarence Dang &lt;dang <i>at</i> kde.org&gt;<br>
+Claus Werner &lt;lzu96cw <i>at</i> reading.ac.uk&gt;<br>
+Cloyce D. Spradling &lt;cloyce <i>at</i> austin.ibm.com&gt;<br>
+Colin Paul Adams &lt;colin <i>at</i> colina.demon.co.uk&gt;<br>
+Cristiano Verondini &lt;cverond <i>at</i> deis219.deis.unibo.it&gt;<br>
+Damyan Pepper &lt;damyanp <i>at</i> cogs.susx.ac.uk&gt;<br>
+Dan Nickerson &lt;nickersond <i>at</i> uthscsa.edu&gt;<br>
+Daniel Brahneborg &lt;basic <i>at</i> well.com&gt;<br>
+Daniel Gruner &lt;dgruner <i>at</i> tikva.chem.utoronto.ca&gt;<br>
+Daniel J Mitchell &lt;dan <i>at</i> rebellion.co.uk&gt;<br>
+Danilo Fiorenzano &lt;danilo <i>at</i> terranet.ab.ca&gt;<br>
+Dante Profeta &lt;profeta <i>at</i> neomedia.it&gt;<br>
+Darryl Ruggles &lt;001654r <i>at</i> dragon.acadiau.ca&gt;<br>
+Dave &lt;dave <i>at</i> stellacore.com&gt;<br>
+Dave Steffen &lt;steffend <i>at</i> glitch.physics.colostate.edu&gt;<br>
+Dean Hall &lt;dwhall <i>at</i> deskstation.com&gt;<br>
+Denis Y. Pershin &lt;dyp <i>at</i> isis.nsu.ru&gt;<br>
+Diedrich Vorberg &lt;Diedrich_Vorberg <i>at</i> cp.prima.ruhr.de&gt;<br>
+Dietmar Schaefer &lt;dietmar <i>at</i> cs.newcastle.edu.au&gt;<br>
+Dimitri Papadopoulos &lt;dpo <i>at</i> club-internet.fr&gt;<br>
+Dirk Mueller &lt;mueller <i>at</i> kde.org&gt;<br>
+Dirk Schwartmann &lt;dirk.schwartmann <i>at</i> dlr.de&gt;<br>
+Dominik Jergus &lt;djergus <i>at</i> ics.uci.edu&gt;<br>
+Don Sanders &lt;sanders <i>at</i> kde.org&gt;<br>
+Donald A. Seielstad &lt;donald <i>at</i> gromit.scs.uiuc.edu&gt;<br>
+Donna J. Armijo &lt;donna <i>at</i> KachinaTech.COM&gt;<br>
+Doug Boreland &lt;dborel <i>at</i> amex-trs.com&gt;<br>
+Douglas Lenz &lt;dlenz <i>at</i> spedsoft.com&gt;<br>
+Dr Mek Buhl Nielsen &lt;m.b.nielsen <i>at</i> bham.ac.uk&gt;<br>
+Dr Willem A. Schreuder &lt;Willem.Schreuder <i>at</i> prinmath.com&gt;<br>
+E. Kevin Hall &lt;hall <i>at</i> boston.sgi.com&gt;<br>
+Ed Mackey &lt;emackey <i>at</i> Early.com&gt;<br>
+Edmund Taylor &lt;etaylor <i>at</i> interaccess.com&gt;<br>
+Eric Bos &lt;Eric.Bos <i>at</i> adelaide.maptek.com.au&gt;<br>
+Eric Brunson &lt;brunson <i>at</i> brunson.com&gt;<br>
+Eric Jansen &lt;jansen <i>at</i> photon.com&gt;<br>
+Erik Norell &lt;erik <i>at</i> Astrakan.HGS.SE&gt;<br>
+Erik Thiele &lt;erik <i>at</i> unterland.de&gt;<br>
+Ernie Pasveer &lt;erniep <i>at</i> vsl.com&gt;<br>
+F R Ball &lt;frb <i>at</i> umr.edu&gt;<br>
+Fergal Mc Carthy &lt;fergal <i>at</i> ilo.dec.com&gt;<br>
+Frank Gockel &lt;gockel <i>at</i> etecs4.uni-duisburg.de&gt;<br>
+Frank Roscher &lt;frank <i>at</i> chemnitz.abs-rz.de&gt;<br>
+Fredrik Markström &lt;fredrik <i>at</i> zod.campus.luth.se&gt;<br>
+Fredrik Nehr &lt;fredrik_nehr <i>at</i> ivab.se&gt;<br>
+FrenzelBhv <i>at</i> aol.com<br>
+Frugal &lt;frugal <i>at</i> wardrobe.demon.co.uk&gt;<br>
+Frugal the Curious &lt;Chris.Ward <i>at</i> softcare.co.uk&gt;<br>
+Fujimoto Koji &lt;kochan <i>at</i> mbox.kyoto-inet.or.jp&gt;<br>
+Gabor V. Gulyas &lt;gabor <i>at</i> robiomat.com&gt;<br>
+Gary E. Sherman &lt;sherman <i>at</i> mrcc.com&gt;<br>
+Geoff Carpenter &lt;GCC <i>at</i> watson.ibm.com&gt;<br>
+Geoffrey Higginson &lt;ghiggins <i>at</i> gulf.uvic.ca&gt;<br>
+Georg Filios &lt;Georg.Filios <i>at</i> post.rwth-aachen.de&gt;<br>
+George Simunovich &lt;george <i>at</i> cia-g.com&gt;<br>
+Giovanni Carapelli &lt;gcarapel <i>at</i> mbox.vol.it&gt;<br>
+Greg Tomalesky &lt;tomalesk <i>at</i> yrkpa.kias.com&gt;<br>
+Gregg Jensen &lt;gwj <i>at</i> stl.nexen.com&gt;<br>
+Gustav "Gurre" Kalvesten &lt;a94guska <i>at</i> ida.his.se&gt;<br>
+Hal DeVore &lt;hdevore <i>at</i> crow.bmc.com&gt;<br>
+Hans Flaechsig &lt;hans <i>at</i> hannes.owl.de&gt;<br>
+Hans Schlenker &lt;schlenkh <i>at</i> informatik.uni-muenchen.de&gt;<br>
+Hardo Mueller &lt;hardo <i>at</i> ipb.uni-bonn.de&gt;<br>
+Heiko Gerdau &lt;heiko.gerdau <i>at</i> t-online.de&gt;<br>
+Henty Waker &lt;henty <i>at</i> foxbat.sur.uct.ac.za&gt;<br>
+Hrafnkell Eiriksson &lt;hkelle <i>at</i> mmedia.is&gt;<br>
+Ildefonso Junquero Martin-Arroyo &lt;junquero <i>at</i> sainsel.es&gt;<br>
+Ingo Stapel &lt;ingo.stapel <i>at</i> tu-clausthal.de&gt;<br>
+J. Solomon Kostelnik &lt;roz <i>at</i> one.net&gt;<br>
+Jae Cho &lt;cs184-dc <i>at</i> ute.CS.Berkeley.EDU&gt;<br>
+James McIninch &lt;james <i>at</i> amber.biology.gatech.edu&gt;<br>
+Jan Aarsaether &lt;jaa <i>at</i> metis.no&gt;<br>
+Jaromir Dolecek &lt;dolecek <i>at</i> ics.muni.cz&gt;<br>
+Jasmin Blanchette &lt;jasminb <i>at</i> corel.com&gt;<br>
+Jason Evans &lt;evans911 <i>at</i> cs.uidaho.edu&gt;<br>
+Jay Painter &lt;jay <i>at</i> a42.com&gt;<br>
+Jean-Philippe Langlois &lt;jpl <i>at</i> iname.com&gt;<br>
+Jeff Harris &lt;jharris <i>at</i> cis.ohio-state.edu&gt;<br>
+Jeff Largent &lt;jlargent <i>at</i> iu.net&gt;<br>
+Jeffrey Vetter &lt;vetter <i>at</i> lanl.gov&gt;<br>
+Jeremy Wohl &lt;jeremy <i>at</i> godzilli.cs.sunysb.edu&gt;<br>
+Jesper K. Pedersen &lt;blackie <i>at</i>klaralvdalens-datakonsult.se&gt;<br>
+Jim Lauchlan &lt;jim.lauchlan <i>at</i> gecm.com&gt;<br>
+Joachim Backes &lt;backes <i>at</i> rhrk.uni-kl.de&gt;<br>
+Jochen R&ouml;mmler &lt;jochen <i>at</i> concept.de&gt;<br>
+Jochen Scharrlach &lt;jscharrl <i>at</i> BA-Stuttgart.De&gt;<br>
+Joe Croft &lt;jcroft <i>at</i> swbell.net&gt;<br>
+Joel Lindholm &lt;wizball <i>at</i> kewl.campus.luth.se&gt;<br>
+John H. Reppy &lt;jhr <i>at</i> research.att.com&gt;<br>
+John Huertas - Jourda &lt;octarine <i>at</i> gte.net&gt;<br>
+John Ouellette &lt;ouellet <i>at</i> beluga.phys.UVic.CA&gt;<br>
+John Vidar Larring &lt;larring <i>at</i> weatherone.tv&gt;<br>
+Jon Brumfitt &lt;jbrumfit <i>at</i> astro.estec.esa.nl&gt;<br>
+Jose Castro &lt;jocastro <i>at</i> erols.com&gt;<br>
+Julian Enticknap &lt;Julian.Enticknap <i>at</i> UK.Sun.COM&gt;<br>
+Jussi-Pekka Sairanen &lt;jussi-pekka.sairanen <i>at</i> research.nokia.com&gt;<br>
+Kalle Dalheimer &lt;kalle <i>at</i> dalheimer.hh.eunet.de&gt;<br>
+Karl Robillard &lt;karl <i>at</i> skygames.com&gt;<br>
+Keith Brown &lt;ksbrown <i>at</i> ix.netcom.com&gt;<br>
+Keith Dowsett &lt;kdowsett <i>at</i> rpms.ac.uk&gt;<br>
+Ken Hollis &lt;khollis <i>at</i> northwest.com&gt;<br>
+Kirill Konyagin &lt;kirill <i>at</i> asplinux.ru&gt;<br>
+Klaus Ebner &lt;klaus <i>at</i> gaspode.ndh.com&gt;<br>
+Klaus-Georg Adams &lt;Klaus-Georg.Adams <i>at</i> chemie.uni-karlsruhe.de&gt;<br>
+Klaus Schmidinger &lt;Klaus.Schmidinger <i>at</i> cadsoft.de&gt;<br>
+Kristof Depraetere &lt;Kristof.Depraetere <i>at</i> rug.ac.be&gt;<br>
+Kristian Freed &lt;d00freed <i>at</i> dtek.chalmers.se&gt;<br>
+Kurt L Anderson &lt;kurt+ <i>at</i> osu.edu&gt;<br>
+Larry Lee &lt;lclee <i>at</i> primenet.com&gt;<br>
+Lars Knoll &lt;knoll <i>at</i> mpi-hd.mpg.de&gt;<br>
+M. G. Berberich &lt;berberic <i>at</i> fmi.uni-passau.de&gt;<br>
+Maas-Maarten Zeeman &lt;mzeeman <i>at</i> cs.vu.nl&gt;<br>
+Magnus Persson &lt;mpersson <i>at</i> eritel.se&gt;<br>
+Mario Weilguni &lt;mweilguni <i>at</i> arctica.sime.com&gt;<br>
+Marius Storm-Olsen &lt;marius <i>at</i> storm-olsen.com&gt;<br>
+Mariya &lt;muha <i>at</i> iclub.nsu.ru&gt;<br>
+Mark Summerfield &lt;summer <i>at</i> perlpress.com&gt;<br>
+Markku Hihnala &lt;mah <i>at</i> ee.oulu.fi&gt;<br>
+Marko Macek &lt;Marko.Macek <i>at</i> snet.fer.uni-lj.si&gt;<br>
+Martin Baehr &lt;mbaehr <i>at</i> email.archlab.tuwien.ac.at&gt;<br>
+Martin Mueller &lt;mm <i>at</i> lunetix.de&gt;<br>
+Martin van Velsen &lt;vvelsen <i>at</i> ronix.ptf.hro.nl&gt;<br>
+Matthias Ettrich &lt;ettrich <i>at</i> fisher.informatik.uni-tuebingen.de&gt;<br>
+Matthias Suencksen &lt;msuencks <i>at</i> techfak.uni-bielefeld.de&gt;<br>
+Mattias Engdegård &lt;f91-men <i>at</i> nada.kth.se&gt;<br>
+Michael Doppler &lt;m.doppler <i>at</i> icoserve.com&gt;<br>
+Michael Figley &lt;figley <i>at</i> ibmoto.com&gt;<br>
+Michael George &lt;george <i>at</i> quark.im4u.net&gt;<br>
+Michael Graff &lt;explorer <i>at</i> flame.org&gt;<br>
+Michael H. Price II &lt;price <i>at</i> ERC.MsState.Edu&gt;<br>
+Michael Harnois &lt;mharnois <i>at</i> sbt.net&gt;<br>
+Michael Hohmuth &lt;hohmuth <i>at</i> inf.tu-dresden.de&gt;<br>
+Michael Leodolter &lt;michael <i>at</i> lab1.psy.univie.ac.at&gt;<br>
+Michael Roth &lt;mroth <i>at</i> nessie.de&gt;<br>
+Michael Schwendt &lt;Michael_Schwendt <i>at</i> public.uni-hamburg.de&gt;<br>
+Michal Polak &lt;mpolak <i>at</i> fi.muni.cz&gt;<br>
+Mikael Bourges-Sevenier &lt;bourges <i>at</i> int-evry.fr&gt;<br>
+Mike Fearn &lt;hp003 <i>at</i> dra.hmg.gb&gt;<br>
+Mike Perik &lt;mikep <i>at</i> crt.com&gt;<br>
+Mike Sharkey &lt;msharkey <i>at</i> softarc.com&gt;<br>
+Miroslav Flidr &lt;flidr <i>at</i> kky.zcu.cz&gt;<br>
+Miyata Shigeru &lt;miyata <i>at</i> kusm.kyoto-u.ac.jp&gt;<br>
+Myron Uecker &lt;muecker <i>at</i> csd.net&gt;<br>
+Neal Sanche &lt;neal <i>at</i> nsdev.org&gt;<br>
+Ngok Yuk Yau &lt;zzy <i>at</i> compuserve.com&gt;<br>
+Niclas Anderberg &lt;agony <i>at</i> sparta.lu.se&gt;<br>
+Oliver Eiden &lt;o.eiden <i>at</i> pop.ruhr.de&gt;<br>
+Oliver Elphick &lt;olly <i>at</i> lfix.co.uk&gt;<br>
+Olivier Verloove &lt;overloov <i>at</i> ulb.ac.be&gt;<br>
+Osku Salerma &lt;osku <i>at</i> iki.fi&gt;<br>
+P. J. Leonard &lt;eespjl <i>at</i> ee.bath.ac.uk&gt;<br>
+Paolo Galatola &lt;paolo <i>at</i> iris.polito.it&gt;<br>
+Pat Dowler &lt;dowler <i>at</i> pt1B1106.FSH.UVic.CA&gt;<br>
+Patrice Trognon &lt;trognon <i>at</i> apogee-com.fr&gt;<br>
+Patrick Voigt &lt;Patrick.Voigt <i>at</i> Informatik.TU-Chemnitz.DE&gt;<br>
+Paul Bucheit &lt;ptb <i>at</i> k2.cwru.edu&gt;<br>
+Paul Curtis &lt;plc <i>at</i> rowley.co.uk&gt;<br>
+Paul Kendall &lt;paul <i>at</i> kcbbs.gen.nz&gt;<br>
+Paul Marquis &lt;pmarquis <i>at</i> iddptm.iddis.com&gt;<br>
+Peter Bender &lt;bender <i>at</i> iib.bauwesen.th-darmstadt.de&gt;<br>
+Peter Klotz &lt;p.klotz <i>at</i> icoserve.com&gt;<br>
+Peter Pletcher &lt;peter <i>at</i> delilah&gt;<br>
+Pierre Rocque &lt;rocque <i>at</i> CRHSC.Umontreal.CA&gt;<br>
+Pohorecki Wladyslaw &lt;pohorecki <i>at</i> novell.ftj.agh.edu.pl&gt;<br>
+R.S. Mallozzi, &lt;mallozzi <i>at</i> bowie.msfc.nasa.gov&gt;<br>
+Ralf Stanke &lt;ralf <i>at</i> mcshh.hanse.de&gt;<br>
+Reginald Stadlbauer &lt;reggie <i>at</i> kde.org&gt;<br>
+Richard D. Jackson &lt;rjackson <i>at</i> bga.com&gt;<br>
+Richard Keech &lt;rkeech <i>at</i> colesmyer.com.au&gt;<br>
+Richard Moore &lt;moorer <i>at</i> cs.man.ac.uk&gt;<br>
+Rick Brohl &lt;rbrohl <i>at</i> uswest.com&gt;<br>
+Robert Anderson &lt;Robert.E.Anderson <i>at</i> unh.edu&gt;<br>
+Robert Cimrman &lt;cimrman <i>at</i> marius.univ-mrs.fr&gt;<br>
+Roberto Alsina &lt;ralsina <i>at</i> ultra7.unl.edu.ar&gt;<br>
+Rohlfs Reiner &lt;Reiner.Rohlfs <i>at</i> obs.unige.ch&gt;<br>
+Salman Sheikh &lt;salman <i>at</i> vdragon.gsfc.nasa.gov&gt;<br>
+Sandro Sigala &lt;ssigala <i>at</i> globalnet.it&gt;<br>
+Scott Coppen &lt;scoppen <i>at</i> emerald.tufts.edu&gt;<br>
+Sean Echevarria &lt;sean <i>at</i> beatnik.com&gt;<br>
+Sean Vyain &lt;svyain <i>at</i> mail.tds.net&gt;<br>
+Sirtaj Singh Kang &lt;ssk <i>at</i> physics.unimelb.EDU.AU&gt;<br>
+Sivan Toledo<br>
+Stefan Cronert &lt;d93-scr <i>at</i> nada.kth.se&gt;<br>
+Stefan Taferner &lt;taf <i>at</i> porsche.co.at&gt;<br>
+Steffen Hansen &lt;stefh <i>at</i> dit.ou.dk&gt;<br>
+Stephan Pfab &lt;pfab <i>at</i> mathematik.uni-ulm.de&gt;<br>
+Stephane Zermatten &lt;szermat <i>at</i> ibm.net&gt;<br>
+Sven Fischer &lt;sven <i>at</i> comnets.rwth-aachen.de&gt;<br>
+Sven Riedel &lt;lynx <i>at</i> heim8.tu-clausthal.de&gt;<br>
+Terje Dalen &lt;terje <i>at</i> norcontrol.no&gt;<br>
+Thomas Lineal &lt;thomas <i>at</i> ricci.allcon.com&gt;<br>
+Thomas Rath &lt;rath <i>at</i> mac-info-link.de&gt;<br>
+Thorsten Ende &lt;the <i>at</i> is-bremen.de&gt;<br>
+Tiaan Wessels &lt;tiaan <i>at</i> inetsys.alt.za&gt;<br>
+Tim D. Gilman &lt;tdgilman <i>at</i> best.com&gt;<br>
+Tom Houlder &lt;thoulder <i>at</i> icor.fr&gt;<br>
+Tony Albrecht &lt;Tony.Albrecht <i>at</i> adelaide.maptek.com.au&gt;<br>
+Torgeir Hovden &lt;hovden <i>at</i> akkurat.idt.ntnu.no&gt;<br>
+Trond Hellem Bø &lt;s638 <i>at</i> ii.uib.no&gt;<br>
+Trond Solli &lt;Trond.Solli <i>at</i> marintek.sintef.no&gt;<br>
+Ulf Stelbe &lt;ust <i>at</i> egd.igd.fhg.de&gt;<br>
+Ulrich Hertlein &lt;uhe <i>at</i> cs.tu-berlin.de&gt;<br>
+Ulrich Ring &lt;ur <i>at</i> daveg.com&gt;<br>
+Uwe Thiem &lt;uwe <i>at</i> uwix.alt.na&gt;<br>
+Vadim Zaliva &lt;lord <i>at</i> crocodile.org&gt;<br>
+Val Gough &lt;val <i>at</i> stellacore.com&gt;<br>
+Vilhelm Sjöberg &lt;ville <i>at</i> swipnet.se&gt;<br>
+Vlad Karpinsky &lt;vlad <i>at</i> crocodile.org&gt;<br>
+Volker Hilsheimer &lt;vohi <i>at</i> gmx.de&gt;<br>
+Volker Poplawski &lt;volkerp <i>at</i> stepnet.de&gt;<br>
+Warwick Allison &lt;warwick <i>at</i> it.uq.edu.au&gt;<br>
+Xiaojian Li &lt;lixj <i>at</i> monte.rutgers.edu&gt;<br>
+Ximenes &lt;ximenes <i>at</i> netset.com&gt;<br>
+Y. N. Lo &lt;ynlo <i>at</i> netcom.ca&gt;<br>
+Zyklon &lt;zyk <i>at</i> dds.nl&gt;<br>
+atsushi konno &lt;jibe <i>at</i> ppp.bekkoame.or.jp&gt;<br>
+berry <i>at</i> hxi.com<br>
+boris passek &lt;boris <i>at</i> ice.fb12.TU-Berlin.DE&gt;<br>
+fidaire &lt;fidaire <i>at</i> bip.fr&gt;<br>
+joeh <i>at</i> sugar-river.net<br>
+rinsch <i>at</i> aea.ruhr-uni-bochum.de<br>
+tsutsui <i>at</i> kekvax.kek.jp<br>
+vandevod <i>at</i> cs.rpi.edu<br>
+vinckeg <i>at</i> sebb.bel.alcatel.be<br>
+yleffler <i>at</i> ucis.vill.edu<br>
+<p> </blockquote>
+<p> <p>We hope there are not too many omissions from the list. Any
+omissions are <b>bugs</b> and should be reported to
+<a href="mailto:qt-bugs@trolltech.com">qt-bugs@trolltech.com</a>
+like other bugs in the Qt code or documentation.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/cursor-example.html b/doc/html/cursor-example.html
new file mode 100644
index 0000000..f20bece
--- /dev/null
+++ b/doc/html/cursor-example.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/cursor/cursor.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Cursors</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Cursors</h1>
+
+
+<p>
+This example shows how to set a mouse cursor for a widget.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/cursor.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qbitmap-h.html">qbitmap.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+
+// cb_bits and cm_bits were generated by X bitmap program.
+
+#define cb_width 32
+#define cb_height 32
+
+static unsigned char cb_bits[] = { // cursor bitmap
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00,
+ 0x00, 0x06, 0x30, 0x00, 0x80, 0x01, 0xc0, 0x00, 0x40, 0x00, 0x00, 0x01,
+ 0x20, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x04, 0x08, 0x3e, 0x3e, 0x08,
+ 0x08, 0x03, 0xe0, 0x08, 0xc4, 0x00, 0x00, 0x11, 0x04, 0x1e, 0x78, 0x10,
+ 0x02, 0x0c, 0x30, 0x20, 0x02, 0x40, 0x00, 0x20, 0x02, 0x40, 0x00, 0x20,
+ 0x02, 0x40, 0x00, 0x20, 0x02, 0x20, 0x04, 0x20, 0x02, 0x20, 0x04, 0x20,
+ 0x02, 0x10, 0x08, 0x20, 0x02, 0x08, 0x08, 0x20, 0x02, 0xf0, 0x07, 0x20,
+ 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x08, 0x00, 0xc0, 0x08,
+ 0x08, 0x3c, 0x30, 0x08, 0x10, 0xe6, 0x19, 0x04, 0x20, 0x00, 0x0f, 0x02,
+ 0x40, 0x00, 0x00, 0x01, 0x80, 0x01, 0xc0, 0x00, 0x00, 0x06, 0x30, 0x00,
+ 0x00, 0xf8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+#define cm_width 32
+#define cm_height 32
+
+static unsigned char cm_bits[] = { // cursor bitmap mask
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfe, 0x3f, 0x00,
+ 0x80, 0x07, 0xf0, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0x60, 0x00, 0x00, 0x03,
+ 0x30, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00, 0x0c, 0x0c, 0x3e, 0x3e, 0x18,
+ 0x0e, 0x03, 0xe0, 0x18, 0xc6, 0x00, 0x00, 0x31, 0x07, 0x1e, 0x78, 0x30,
+ 0x03, 0x0c, 0x30, 0x60, 0x03, 0x40, 0x00, 0x60, 0x03, 0x40, 0x00, 0x60,
+ 0x03, 0x40, 0x00, 0x60, 0x03, 0x20, 0x04, 0x60, 0x03, 0x20, 0x04, 0x60,
+ 0x03, 0x10, 0x08, 0x60, 0x03, 0x08, 0x08, 0x60, 0x03, 0xf0, 0x07, 0x60,
+ 0x06, 0x00, 0x00, 0x30, 0x06, 0x00, 0x00, 0x30, 0x0c, 0x00, 0xc0, 0x18,
+ 0x0c, 0x3c, 0x30, 0x18, 0x18, 0xe6, 0x19, 0x0c, 0x30, 0x00, 0x0f, 0x06,
+ 0x60, 0x00, 0x00, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0x80, 0x07, 0xf0, 0x00,
+ 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xf8, 0x0f, 0x00};
+
+
+//
+// The CursorView contains many labels with different cursors.
+//
+
+class CursorView : public <a href="qwidget.html">QWidget</a> // cursor view
+{
+public:
+ CursorView();
+};
+
+//
+// Constructs a cursor view.
+//
+
+CursorView::CursorView() // construct view
+{
+ struct List {
+ CursorShape shape;
+ const char* name; // cursor name
+ };
+ static List list[] = {
+ { ArrowCursor, "arrowCursor" },
+ { UpArrowCursor, "upArrowCursor" },
+ { CrossCursor, "crossCursor" },
+ { WaitCursor, "waitCursor" },
+ { IbeamCursor, "ibeamCursor" },
+ { SizeVerCursor, "sizeVerCursor" },
+ { SizeHorCursor, "sizeHorCursor" },
+ { SizeBDiagCursor, "sizeBDiagCursor" },
+ { SizeFDiagCursor, "sizeFDiagCursor" },
+ { SizeAllCursor, "sizeAllCursor" },
+ { BlankCursor, "blankCursor" },
+ { SplitVCursor, "splitVCursor" },
+ { SplitHCursor, "splitHCursor" },
+ { PointingHandCursor, "pointingHandCursor" },
+ { ForbiddenCursor, "forbiddenCursor" },
+ { WhatsThisCursor, "whatsThisCursor" },
+ { BusyCursor, "busyCursor" }
+ };
+
+ setCaption( "CursorView" ); // set window caption
+
+ <a href="qgridlayout.html">QGridLayout</a>* grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 5, 4, 20 );
+ <a href="qlabel.html">QLabel</a> *label;
+
+ int i=0;
+ for ( int y=0; y&lt;4; y++ ) { // create the small labels
+ for ( int x=0; x&lt;4; x++ ) {
+ label = new <a href="qlabel.html">QLabel</a>( this );
+<a name="x1121"></a> label-&gt;<a href="qwidget.html#setCursor">setCursor</a>( QCursor( list[i].shape ) );
+<a name="x1119"></a> label-&gt;<a href="qlabel.html#setText">setText</a>( list[i].name );
+<a name="x1118"></a> label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+<a name="x1115"></a> label-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+<a name="x1114"></a> label-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Box | QFrame::Raised );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( label, x, y );
+ i++;
+ }
+ }
+
+
+ label = new <a href="qlabel.html">QLabel</a>( this );
+ label-&gt;<a href="qwidget.html#setCursor">setCursor</a>( QCursor( list[i].shape ) );
+ label-&gt;<a href="qlabel.html#setText">setText</a>( list[i].name );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+ label-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+ label-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Box | QFrame::Raised );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( label, 4, 0 );
+
+
+
+ <a href="qbitmap.html">QBitmap</a> cb( cb_width, cb_height, cb_bits, TRUE );
+ <a href="qbitmap.html">QBitmap</a> cm( cm_width, cm_height, cm_bits, TRUE );
+ <a href="qcursor.html">QCursor</a> custom( cb, cm ); // create bitmap cursor
+
+ label = new <a href="qlabel.html">QLabel</a>( this ); // create the big label
+ label-&gt;<a href="qwidget.html#setCursor">setCursor</a>( custom );
+ label-&gt;<a href="qlabel.html#setText">setText</a>( "Custom bitmap cursor" );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+ label-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+ label-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Box | QFrame::Sunken );
+<a name="x1116"></a> grid-&gt;<a href="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</a>( label, 4, 4, 1, 3 );
+
+}
+
+
+//
+// Create and display a CursorView.
+//
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv ); // application object
+ CursorView v; // cursor view
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;v );
+ v.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Cursors");
+ v.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/cursors.png b/doc/html/cursors.png
new file mode 100644
index 0000000..6557351
--- /dev/null
+++ b/doc/html/cursors.png
Binary files differ
diff --git a/doc/html/customlayout-example.html b/doc/html/customlayout-example.html
new file mode 100644
index 0000000..a8f0ab2
--- /dev/null
+++ b/doc/html/customlayout-example.html
@@ -0,0 +1,851 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/customlayout/customlayout.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Customized Layoutmanager</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Customized Layoutmanager</h1>
+
+
+<p>
+This examples demonstrates how to write customized layout (geometry) managers
+like card layouts, border layout and flow layouts.
+<p> See also: <a href="layout.html">Documentation of Geometry Management</a>.
+<p> <hr>
+<p> Header file of the flow layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/flow.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of simple flow layout for custom layout example
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef FLOW_H
+#define FLOW_H
+
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+
+class SimpleFlow : public <a href="qlayout.html">QLayout</a>
+{
+public:
+ SimpleFlow( <a href="qwidget.html">QWidget</a> *parent, int border=0, int space=-1,
+ const char *name=0 )
+ : <a href="qlayout.html">QLayout</a>( parent, border, space, name ),
+ cached_width(0) {}
+ SimpleFlow( <a href="qlayout.html">QLayout</a>* parent, int space=-1, const char *name=0 )
+ : <a href="qlayout.html">QLayout</a>( parent, space, name ),
+ cached_width(0) {}
+ SimpleFlow( int space=-1, const char *name=0 )
+ : <a href="qlayout.html">QLayout</a>( space, name ),
+ cached_width(0) {}
+
+ ~SimpleFlow();
+
+ void addItem( <a href="qlayoutitem.html">QLayoutItem</a> *item);
+ bool hasHeightForWidth() const;
+ int heightForWidth( int ) const;
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ <a href="qsize.html">QSize</a> minimumSize() const;
+ <a href="qlayoutiterator.html">QLayoutIterator</a> iterator();
+ QSizePolicy::ExpandData expanding() const;
+
+protected:
+ void setGeometry( const <a href="qrect.html">QRect</a>&amp; );
+
+private:
+ int doLayout( const <a href="qrect.html">QRect</a>&amp;, bool testonly = FALSE );
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; list;
+ int cached_width;
+ int cached_hfw;
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the flow layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/flow.cpp 3.3.8 edited Jan 11 14:46 $
+**
+** Implementing your own layout: flow example
+**
+** Copyright (C) 1996-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "flow.h"
+
+class SimpleFlowIterator :public <a href="qglayoutiterator.html">QGLayoutIterator</a>
+{
+public:
+ SimpleFlowIterator( <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *l ) :idx(0), list(l) {}
+ uint count() const;
+ <a href="qlayoutitem.html">QLayoutItem</a> *current();
+ <a href="qlayoutitem.html">QLayoutItem</a> *next();
+ <a href="qlayoutitem.html">QLayoutItem</a> *takeCurrent();
+
+private:
+ int idx;
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *list;
+
+};
+
+uint <a name="f452"></a>SimpleFlowIterator::count() const
+{
+<a name="x1479"></a> return list-&gt;<a href="qptrlist.html#count">count</a>();
+}
+
+<a name="x1464"></a>QLayoutItem *SimpleFlowIterator::<a href="qglayoutiterator.html#current">current</a>()
+{
+<a name="x1478"></a> return idx &lt; int(count()) ? list-&gt;<a href="qptrlist.html#at">at</a>(idx) : 0;
+}
+
+<a name="x1465"></a>QLayoutItem *SimpleFlowIterator::<a href="qglayoutiterator.html#next">next</a>()
+{
+ idx++; return current();
+}
+
+<a name="x1466"></a>QLayoutItem *SimpleFlowIterator::<a href="qglayoutiterator.html#takeCurrent">takeCurrent</a>()
+{
+<a name="x1480"></a> return idx &lt; int(count()) ? list-&gt;<a href="qptrlist.html#take">take</a>( idx ) : 0;
+}
+
+SimpleFlow::~SimpleFlow()
+{
+ <a href="qlayout.html#deleteAllItems">deleteAllItems</a>();
+}
+
+
+<a name="x1473"></a>int SimpleFlow::<a href="qlayoutitem.html#heightForWidth">heightForWidth</a>( int w ) const
+{
+ if ( cached_width != w ) {
+ //Not all C++ compilers support "mutable" yet:
+ SimpleFlow * mthis = (SimpleFlow*)this;
+ int h = mthis-&gt;doLayout( QRect(0,0,w,0), TRUE );
+ mthis-&gt;cached_hfw = h;
+ mthis-&gt;cached_width = w;
+ return h;
+ }
+ return cached_hfw;
+}
+
+<a name="x1467"></a>void SimpleFlow::<a href="qlayout.html#addItem">addItem</a>( <a href="qlayoutitem.html">QLayoutItem</a> *item)
+{
+<a name="x1477"></a> list.<a href="qptrlist.html#append">append</a>( item );
+}
+
+<a name="x1472"></a>bool SimpleFlow::<a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>() const
+{
+ return TRUE;
+}
+
+<a name="x1476"></a>QSize SimpleFlow::<a href="qlayoutitem.html#sizeHint">sizeHint</a>() const
+{
+ return minimumSize();
+}
+
+<a name="x1468"></a>QSizePolicy::ExpandData SimpleFlow::<a href="qlayout.html#expanding">expanding</a>() const
+{
+ return QSizePolicy::NoDirection;
+}
+
+<a name="x1469"></a>QLayoutIterator SimpleFlow::<a href="qlayout.html#iterator">iterator</a>()
+{
+ return QLayoutIterator( new SimpleFlowIterator( &amp;list ) );
+}
+
+<a name="x1471"></a>void SimpleFlow::<a href="qlayout.html#setGeometry">setGeometry</a>( const <a href="qrect.html">QRect</a> &amp;r )
+{
+ QLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( r );
+ doLayout( r );
+}
+
+int <a name="f451"></a>SimpleFlow::doLayout( const <a href="qrect.html">QRect</a> &amp;r, bool testonly )
+{
+ int x = r.<a href="qrect.html#x">x</a>();
+ int y = r.<a href="qrect.html#y">y</a>();
+ int h = 0; //height of this line so far.
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it(list);
+ <a href="qlayoutitem.html">QLayoutItem</a> *o;
+<a name="x1481"></a> while ( (o=it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+ int nextX = x + o-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width() + spacing();
+<a name="x1482"></a> if ( nextX - spacing() &gt; r.<a href="qrect.html#right">right</a>() &amp;&amp; h &gt; 0 ) {
+ x = r.<a href="qrect.html#x">x</a>();
+ y = y + h + spacing();
+ nextX = x + o-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width() + spacing();
+ h = 0;
+ }
+ if ( !testonly )
+<a name="x1475"></a> o-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( QPoint( x, y ), o-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>() ) );
+ x = nextX;
+ h = QMAX( h, o-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().height() );
+ }
+ return y + h - r.<a href="qrect.html#y">y</a>();
+}
+
+<a name="x1470"></a>QSize SimpleFlow::<a href="qlayout.html#minimumSize">minimumSize</a>() const
+{
+ <a href="qsize.html">QSize</a> s(0,0);
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it(list);
+ <a href="qlayoutitem.html">QLayoutItem</a> *o;
+ while ( (o=it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+<a name="x1485"></a><a name="x1474"></a> s = s.<a href="qsize.html#expandedTo">expandedTo</a>( o-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>() );
+ }
+ return s;
+}
+</pre>
+
+<p> <hr>
+<p> Header file of the border layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/border.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of simple flow layout for custom layout example
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef BORDER_H
+#define BORDER_H
+
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+
+class BorderWidgetItem : public <a href="qwidgetitem.html">QWidgetItem</a>
+{
+public:
+ BorderWidgetItem( <a href="qwidget.html">QWidget</a> *w )
+ : <a href="qwidgetitem.html">QWidgetItem</a>( w )
+ {}
+
+ void setGeometry( const <a href="qrect.html">QRect</a> &amp;r )
+ { widget()-&gt;setGeometry( r ); }
+
+};
+
+class BorderLayout : public <a href="qlayout.html">QLayout</a>
+{
+public:
+ enum Position {
+ West = 0,
+ North,
+ South,
+ East,
+ Center
+ };
+
+ struct BorderLayoutStruct
+ {
+ BorderLayoutStruct( <a href="qlayoutitem.html">QLayoutItem</a> *i, Position p ) {
+ item = i;
+ pos = p;
+ }
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *item;
+ Position pos;
+ };
+
+ enum SizeType {
+ Minimum = 0,
+ SizeHint
+ };
+
+ BorderLayout( <a href="qwidget.html">QWidget</a> *parent, int border = 0, int autoBorder = -1,
+ const char *name = 0 )
+ : <a href="qlayout.html">QLayout</a>( parent, border, autoBorder, name ), cached( 0, 0 ), mcached( 0, 0 ),
+ sizeDirty( TRUE ), msizeDirty( TRUE )
+ {}
+
+ BorderLayout( <a href="qlayout.html">QLayout</a>* parent, int autoBorder = -1, const char *name = 0 )
+ : <a href="qlayout.html">QLayout</a>( parent, autoBorder, name ), cached( 0, 0 ), mcached( 0, 0 ),
+ sizeDirty( TRUE ), msizeDirty( TRUE )
+ {}
+
+ BorderLayout( int autoBorder = -1, const char *name = 0 )
+ : <a href="qlayout.html">QLayout</a>( autoBorder, name ), cached( 0, 0 ), mcached( 0, 0 ),
+ sizeDirty( TRUE ), msizeDirty( TRUE )
+ {}
+
+ ~BorderLayout();
+
+ void addItem( <a href="qlayoutitem.html">QLayoutItem</a> *item );
+
+ void addWidget( <a href="qwidget.html">QWidget</a> *widget, Position pos );
+ void add( <a href="qlayoutitem.html">QLayoutItem</a> *item, Position pos );
+
+ bool hasHeightForWidth() const;
+
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ <a href="qsize.html">QSize</a> minimumSize() const;
+
+ <a href="qlayoutiterator.html">QLayoutIterator</a> iterator();
+
+ QSizePolicy::ExpandData expanding() const;
+
+protected:
+ void setGeometry( const <a href="qrect.html">QRect</a> &amp;rect );
+
+private:
+ void doLayout( const <a href="qrect.html">QRect</a> &amp;rect, bool testonly = FALSE );
+ void calcSize( SizeType st );
+
+ <a href="qptrlist.html">QPtrList</a>&lt;BorderLayoutStruct&gt; list;
+ <a href="qsize.html">QSize</a> cached, mcached;
+ bool sizeDirty, msizeDirty;
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the border layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/border.cpp 3.3.8 edited Jan 11 14:46 $
+**
+** Implementing your own layout: flow example
+**
+** Copyright (C) 1996-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "border.h"
+
+class BorderLayoutIterator : public <a href="qglayoutiterator.html">QGLayoutIterator</a>
+{
+public:
+ BorderLayoutIterator( const <a href="qptrlist.html">QPtrList</a>&lt;BorderLayout::BorderLayoutStruct&gt; *l )
+ : idx( 0 ) , list( (QPtrList&lt;BorderLayout::BorderLayoutStruct&gt;*)l )
+ {}
+
+ uint count() const;
+ <a href="qlayoutitem.html">QLayoutItem</a> *current();
+ BorderLayout::BorderLayoutStruct *currentStruct();
+ void toFirst();
+ <a href="qlayoutitem.html">QLayoutItem</a> *next();
+ <a href="qlayoutitem.html">QLayoutItem</a> *takeCurrent();
+ BorderLayoutIterator &amp;operator++();
+
+private:
+ int idx;
+ <a href="qptrlist.html">QPtrList</a>&lt;BorderLayout::BorderLayoutStruct&gt; *list;
+
+};
+
+uint <a name="f456"></a>BorderLayoutIterator::count() const
+{
+<a name="x1502"></a> return list-&gt;<a href="qptrlist.html#count">count</a>();
+}
+
+<a name="x1486"></a>QLayoutItem *BorderLayoutIterator::<a href="qglayoutiterator.html#current">current</a>()
+{
+<a name="x1501"></a> return idx &lt; (int)count() ? list-&gt;<a href="qptrlist.html#at">at</a>( idx )-&gt;item : 0;
+}
+
+BorderLayout::BorderLayoutStruct *<a name="f457"></a>BorderLayoutIterator::currentStruct()
+{
+ return idx &lt; (int)count() ? list-&gt;<a href="qptrlist.html#at">at</a>( idx ) : 0;
+}
+
+void <a name="f458"></a>BorderLayoutIterator::toFirst()
+{
+ idx = 0;
+}
+
+<a name="x1487"></a>QLayoutItem *BorderLayoutIterator::<a href="qglayoutiterator.html#next">next</a>()
+{
+ idx++;
+ return current();
+}
+
+<a name="x1488"></a>QLayoutItem *BorderLayoutIterator::<a href="qglayoutiterator.html#takeCurrent">takeCurrent</a>()
+{
+ BorderLayout::BorderLayoutStruct *b
+<a name="x1503"></a> = idx &lt; int( list-&gt;<a href="qptrlist.html#count">count</a>() ) ? list-&gt;<a href="qptrlist.html#take">take</a>( idx ) : 0;
+ <a href="qlayoutitem.html">QLayoutItem</a> *item = b ? b-&gt;item : 0;
+ delete b;
+ return item;
+}
+
+BorderLayoutIterator &amp;BorderLayoutIterator::operator++()
+{
+ next();
+ return *this;
+}
+
+BorderLayout::~BorderLayout()
+{
+ <a href="qlayout.html#deleteAllItems">deleteAllItems</a>();
+}
+
+
+<a name="x1490"></a>void BorderLayout::<a href="qlayout.html#addItem">addItem</a>( <a href="qlayoutitem.html">QLayoutItem</a> *item )
+{
+ <a href="qlayout.html#add">add</a>( item, West );
+}
+
+void <a name="f453"></a>BorderLayout::addWidget( <a href="qwidget.html">QWidget</a> *widget, Position pos )
+{
+ <a href="qlayout.html#add">add</a>( new BorderWidgetItem( widget ), pos );
+}
+
+<a name="x1489"></a>void BorderLayout::<a href="qlayout.html#add">add</a>( <a href="qlayoutitem.html">QLayoutItem</a> *item, Position pos )
+{
+<a name="x1500"></a> list.<a href="qptrlist.html#append">append</a>( new BorderLayoutStruct( item, pos ) );
+ sizeDirty = TRUE; msizeDirty = TRUE;
+ calcSize( SizeHint ); calcSize( Minimum );
+}
+
+<a name="x1496"></a>bool BorderLayout::<a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>() const
+{
+ return FALSE;
+}
+
+<a name="x1499"></a>QSize BorderLayout::<a href="qlayoutitem.html#sizeHint">sizeHint</a>() const
+{
+ return cached;
+}
+
+<a name="x1493"></a>QSize BorderLayout::<a href="qlayout.html#minimumSize">minimumSize</a>() const
+{
+ return cached;
+}
+
+<a name="x1491"></a>QSizePolicy::ExpandData BorderLayout::<a href="qlayout.html#expanding">expanding</a>() const
+
+{
+ return QSizePolicy::BothDirections;
+}
+
+<a name="x1492"></a>QLayoutIterator BorderLayout::<a href="qlayout.html#iterator">iterator</a>()
+{
+ return QLayoutIterator( new BorderLayoutIterator( &amp;list ) );
+}
+
+<a name="x1494"></a>void BorderLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( const <a href="qrect.html">QRect</a> &amp;rct )
+{
+ QLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( rct );
+ doLayout( rct );
+}
+
+void <a name="f454"></a>BorderLayout::doLayout( const <a href="qrect.html">QRect</a> &amp;rct, bool /*testonly*/ )
+{
+ int ew = 0, ww = 0, nh = 0, sh = 0;
+ int h = 0;
+
+ BorderLayoutIterator it( &amp;list );
+ BorderLayoutStruct *o;
+ BorderLayoutStruct *center = 0;
+ while ( ( o = it.currentStruct() ) != 0 ) {
+ ++it;
+
+ if ( o-&gt;pos == North ) {
+<a name="x1506"></a><a name="x1505"></a><a name="x1498"></a> o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( rct.<a href="qrect.html#x">x</a>(), nh, rct.<a href="qrect.html#width">width</a>(), o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().height() ) );
+<a name="x1495"></a> nh += o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().height() + spacing();
+ }
+ if ( o-&gt;pos == South ) {
+ o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().x(), o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().y(),
+ rct.<a href="qrect.html#width">width</a>(), o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().height() ) );
+ sh += o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().height() + spacing();
+ o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( rct.<a href="qrect.html#x">x</a>(), rct.<a href="qrect.html#y">y</a>() + rct.<a href="qrect.html#height">height</a>() - sh + spacing(),
+ o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().width(), o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().height() ) );
+ }
+ if ( o-&gt;pos == Center )
+ center = o;
+ }
+
+ h = rct.<a href="qrect.html#height">height</a>() - nh - sh;
+
+ it.toFirst();
+ while ( ( o = it.currentStruct() ) != 0 ) {
+ ++it;
+
+ if ( o-&gt;pos == West ) {
+ o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( rct.<a href="qrect.html#x">x</a>() + ww, nh, o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width(), h ) );
+ ww += o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().width() + spacing();
+ }
+ if ( o-&gt;pos == East ) {
+ o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().x(), o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().y(),
+ o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width(), h ) );
+ ew += o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().width() + spacing();
+ o-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( rct.<a href="qrect.html#x">x</a>() + rct.<a href="qrect.html#width">width</a>() - ew + spacing(), nh,
+ o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().width(), o-&gt;item-&gt;<a href="qlayoutitem.html#geometry">geometry</a>().height() ) );
+ }
+ }
+
+ if ( center )
+ center-&gt;item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( QRect( ww, nh, rct.<a href="qrect.html#width">width</a>() - ew - ww, h ) );
+}
+
+void <a name="f455"></a>BorderLayout::calcSize( SizeType st )
+{
+ if ( ( st == Minimum &amp;&amp; !msizeDirty ) ||
+ ( st == SizeHint &amp;&amp; !sizeDirty ) )
+ return;
+
+ int w = 0, h = 0;
+
+ BorderLayoutIterator it( &amp;list );
+ BorderLayoutStruct *o;
+ while ( ( o = it.currentStruct() ) != 0 ) {
+ ++it;
+ if ( o-&gt;pos == North ||
+ o-&gt;pos == South ) {
+ if ( st == Minimum )
+<a name="x1497"></a> h += o-&gt;item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>().height();
+ else
+ h += o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().height();
+ }
+ else if ( o-&gt;pos == West ||
+ o-&gt;pos == East ) {
+ if ( st == Minimum )
+ w += o-&gt;item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>().width();
+ else
+ w += o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width();
+ } else {
+ if ( st == Minimum ) {
+ h += o-&gt;item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>().height();
+ w += o-&gt;item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>().width();
+ }
+ else {
+ h += o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().height();
+ w += o-&gt;item-&gt;<a href="qlayoutitem.html#sizeHint">sizeHint</a>().width();
+ }
+ }
+ }
+
+ if ( st == Minimum ) {
+ msizeDirty = FALSE;
+ mcached = QSize( w, h );
+ } else {
+ sizeDirty = FALSE;
+ cached = QSize( w, h );
+ }
+
+ return;
+}
+</pre>
+
+<p> <hr>
+<p> Header file of the card layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/card.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of simple flow layout for custom layout example
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef CARD_H
+#define CARD_H
+
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+
+class CardLayout : public <a href="qlayout.html">QLayout</a>
+{
+public:
+ CardLayout( <a href="qwidget.html">QWidget</a> *parent, int dist )
+ : <a href="qlayout.html">QLayout</a>( parent, 0, dist ) {}
+ CardLayout( <a href="qlayout.html">QLayout</a>* parent, int dist)
+ : <a href="qlayout.html">QLayout</a>( parent, dist ) {}
+ CardLayout( int dist )
+ : <a href="qlayout.html">QLayout</a>( dist ) {}
+ ~CardLayout();
+
+ void addItem( <a href="qlayoutitem.html">QLayoutItem</a> *item );
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ <a href="qsize.html">QSize</a> minimumSize() const;
+ <a href="qlayoutiterator.html">QLayoutIterator</a> iterator();
+ void setGeometry( const <a href="qrect.html">QRect</a> &amp;rect );
+
+private:
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; list;
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the card layout:
+<p> <pre>/****************************************************************************
+** $Id: qt/card.cpp 3.3.8 edited Jan 11 14:46 $
+**
+** Implementing your own layout: flow example
+**
+** Copyright (C) 1996-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "card.h"
+
+class CardLayoutIterator :public <a href="qglayoutiterator.html">QGLayoutIterator</a>
+{
+public:
+ CardLayoutIterator( <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *l )
+ : idx( 0 ), list( l ) {}
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *current();
+ <a href="qlayoutitem.html">QLayoutItem</a> *next();
+ <a href="qlayoutitem.html">QLayoutItem</a> *takeCurrent();
+
+private:
+ int idx;
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *list;
+};
+
+<a name="x1508"></a>QLayoutItem *CardLayoutIterator::<a href="qglayoutiterator.html#current">current</a>()
+{
+<a name="x1520"></a><a name="x1519"></a> return idx &lt; int( list-&gt;<a href="qptrlist.html#count">count</a>() ) ? list-&gt;<a href="qptrlist.html#at">at</a>( idx ) : 0;
+}
+
+<a name="x1509"></a>QLayoutItem *CardLayoutIterator::<a href="qglayoutiterator.html#next">next</a>()
+{
+ idx++; return current();
+}
+
+<a name="x1510"></a>QLayoutItem *CardLayoutIterator::<a href="qglayoutiterator.html#takeCurrent">takeCurrent</a>()
+{
+<a name="x1521"></a> return idx &lt; int( list-&gt;<a href="qptrlist.html#count">count</a>() ) ?list-&gt;<a href="qptrlist.html#take">take</a>( idx ) : 0;
+}
+
+
+
+<a name="x1512"></a>QLayoutIterator CardLayout::<a href="qlayout.html#iterator">iterator</a>()
+{
+ return QLayoutIterator( new CardLayoutIterator( &amp;list ) );
+}
+
+CardLayout::~CardLayout()
+{
+ <a href="qlayout.html#deleteAllItems">deleteAllItems</a>();
+}
+
+<a name="x1511"></a>void CardLayout::<a href="qlayout.html#addItem">addItem</a>( <a href="qlayoutitem.html">QLayoutItem</a> *item )
+{
+<a name="x1518"></a> list.<a href="qptrlist.html#append">append</a>( item );
+}
+
+<a name="x1514"></a>void CardLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( const <a href="qrect.html">QRect</a> &amp;rct )
+{
+ QLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( rct );
+
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it( list );
+<a name="x1522"></a> if ( it.<a href="qptrlistiterator.html#count">count</a>() == 0 )
+ return;
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *o;
+
+ int i = 0;
+
+ int w = rct.<a href="qrect.html#width">width</a>() - ( list.<a href="qptrlist.html#count">count</a>() - 1 ) * spacing();
+ int h = rct.<a href="qrect.html#height">height</a>() - ( list.<a href="qptrlist.html#count">count</a>() - 1 ) * spacing();
+
+<a name="x1523"></a> while ( ( o=it.<a href="qptrlistiterator.html#current">current</a>() ) != 0 ) {
+ ++it;
+ <a href="qrect.html">QRect</a> geom( rct.<a href="qrect.html#x">x</a>() + i * spacing(), rct.<a href="qrect.html#y">y</a>() + i * spacing(),
+ w, h );
+<a name="x1516"></a> o-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( geom );
+ ++i;
+ }
+}
+
+<a name="x1517"></a>QSize CardLayout::<a href="qlayoutitem.html#sizeHint">sizeHint</a>() const
+{
+ <a href="qsize.html">QSize</a> s(0,0);
+ int n = list.<a href="qptrlist.html#count">count</a>();
+ if ( n &gt; 0 )
+ s = QSize(100,70); //start with a nice default size
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it(list);
+ <a href="qlayoutitem.html">QLayoutItem</a> *o;
+ while ( (o=it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+<a name="x1528"></a><a name="x1515"></a> s = s.<a href="qsize.html#expandedTo">expandedTo</a>( o-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>() );
+ }
+ return s + n*QSize(<a href="qlayout.html#spacing">spacing</a>(),spacing());
+}
+
+<a name="x1513"></a>QSize CardLayout::<a href="qlayout.html#minimumSize">minimumSize</a>() const
+{
+ <a href="qsize.html">QSize</a> s(0,0);
+ int n = list.<a href="qptrlist.html#count">count</a>();
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it(list);
+ <a href="qlayoutitem.html">QLayoutItem</a> *o;
+ while ( (o=it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+ s = s.<a href="qsize.html#expandedTo">expandedTo</a>( o-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>() );
+ }
+ return s + n*QSize(<a href="qlayout.html#spacing">spacing</a>(),spacing());
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:46 $
+**
+** Main for custom layout example
+**
+** Copyright (C) 1996-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "flow.h"
+#include "border.h"
+#include "card.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+#include &lt;<a href="qgroupbox-h.html">qgroupbox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qwidget.html">QWidget</a> *f = new <a href="qwidget.html">QWidget</a>;
+ <a href="qboxlayout.html">QBoxLayout</a> *gm = new <a href="qvboxlayout.html">QVBoxLayout</a>( f, 5 );
+
+ SimpleFlow *b1 = new SimpleFlow( gm );
+
+<a name="x1536"></a> b1-&gt;<a href="qlayout.html#add">add</a>( new <a href="qpushbutton.html">QPushButton</a>( "Short", f ) );
+ b1-&gt;<a href="qlayout.html#add">add</a>( new <a href="qpushbutton.html">QPushButton</a>( "Longer", f ) );
+ b1-&gt;<a href="qlayout.html#add">add</a>( new <a href="qpushbutton.html">QPushButton</a>( "Different text", f ) );
+ b1-&gt;<a href="qlayout.html#add">add</a>( new <a href="qpushbutton.html">QPushButton</a>( "More text", f ) );
+ b1-&gt;<a href="qlayout.html#add">add</a>( new <a href="qpushbutton.html">QPushButton</a>( "Even longer button text", f ) );
+ <a href="qpushbutton.html">QPushButton</a>* qb = new <a href="qpushbutton.html">QPushButton</a>( "Quit", f );
+ a.<a href="qobject.html#connect">connect</a>( qb, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), SLOT( quit() ) );
+ b1-&gt;<a href="qlayout.html#add">add</a>( qb );
+
+ <a href="qwidget.html">QWidget</a> *wid = new <a href="qwidget.html">QWidget</a>( f );
+
+ BorderLayout *large = new BorderLayout( wid );
+<a name="x1537"></a> large-&gt;<a href="qlayout.html#setSpacing">setSpacing</a>( 5 );
+ large-&gt;addWidget( new <a href="qpushbutton.html">QPushButton</a>( "North", wid ), BorderLayout::North );
+ large-&gt;addWidget( new <a href="qpushbutton.html">QPushButton</a>( "West", wid ), BorderLayout::West );
+ <a href="qmultilineedit.html">QMultiLineEdit</a>* m = new <a href="qmultilineedit.html">QMultiLineEdit</a>( wid );
+ m-&gt;<a href="qtextedit.html#setText">setText</a>( "Central\nWidget" );
+ large-&gt;addWidget( m, BorderLayout::Center );
+ <a href="qwidget.html">QWidget</a> *east1 = new <a href="qpushbutton.html">QPushButton</a>( "East", wid );
+ large-&gt;addWidget( east1, BorderLayout::East );
+ <a href="qwidget.html">QWidget</a> *east2 = new <a href="qpushbutton.html">QPushButton</a>( "East 2", wid );
+ large-&gt;addWidget( east2 , BorderLayout::East );
+ large-&gt;addWidget( new <a href="qpushbutton.html">QPushButton</a>( "South", wid ), BorderLayout::South );
+ //Left-to-right tab order looks better:
+<a name="x1542"></a> <a href="qwidget.html">QWidget</a>::<a href="qwidget.html#setTabOrder">setTabOrder</a>( east2, east1 );
+ gm-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( wid );
+
+
+ wid = new <a href="qwidget.html">QWidget</a>( f );
+ CardLayout *card = new CardLayout( wid, 10 );
+
+ <a href="qwidget.html">QWidget</a> *crd = new <a href="qwidget.html">QWidget</a>( wid );
+<a name="x1540"></a> crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::red );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+ crd = new <a href="qwidget.html">QWidget</a>( wid );
+ crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::green );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+ crd = new <a href="qwidget.html">QWidget</a>( wid );
+ crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::blue );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+ crd = new <a href="qwidget.html">QWidget</a>( wid );
+ crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::white );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+ crd = new <a href="qwidget.html">QWidget</a>( wid );
+ crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::black );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+ crd = new <a href="qwidget.html">QWidget</a>( wid );
+ crd-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::yellow );
+ card-&gt;<a href="qlayout.html#add">add</a>( crd );
+
+ gm-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( wid );
+
+ <a href="qlabel.html">QLabel</a>* s = new <a href="qlabel.html">QLabel</a>( f );
+ s-&gt;<a href="qlabel.html#setText">setText</a>( "outermost box" );
+ s-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+ s-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter | Qt::AlignHCenter );
+ gm-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( s );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( f );
+ f-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Custom Layout");
+ f-&gt;<a href="qwidget.html#show">show</a>();
+
+ int result = a.<a href="qapplication.html#exec">exec</a>();
+ delete f;
+ return result;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/customlayout.html b/doc/html/customlayout.html
new file mode 100644
index 0000000..1a46c6d
--- /dev/null
+++ b/doc/html/customlayout.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/layout.doc:285 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Writing your own layout manager</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Writing your own layout manager</h1>
+
+
+<p> Here we present an example in detail. The class CardLayout is inspired
+by the Java layout manager of the same name. It lays out the items
+(widgets or nested layouts) on top of each other, each item offset by
+<a href="qlayout.html#spacing">QLayout::spacing</a>().
+<p> To write your own layout class, you must define the following:
+<ul>
+<li> A data structure to store the items handled by the layout. Each
+item is a <a href="qlayoutitem.html">QLayoutItem</a>. We will use a
+<a href="qptrlist.html">QPtrList</a> in this example.
+<li> <a href="qlayout.html#addItem">addItem()</a>, how to add items to
+the layout.
+<li> <a href="qlayout.html#setGeometry">setGeometry()</a>, how to perform
+the layout.
+<li> <a href="qlayoutitem.html#sizeHint">sizeHint()</a>, the preferred size
+of the layout.
+<li> <a href="qlayout.html#iterator">iterator()</a>, how to iterate over
+the layout.
+</ul>
+<p> In most cases, you will also implement <a href="qlayout.html#minimumSize">minimumSize</a>().
+<p> <h2> card.h
+</h2>
+<a name="1"></a><p> <pre>
+#ifndef CARD_H
+#define CARD_H
+
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+
+class CardLayout : public <a href="qlayout.html">QLayout</a>
+{
+public:
+ CardLayout( <a href="qwidget.html">QWidget</a> *parent, int dist )
+ : <a href="qlayout.html">QLayout</a>( parent, 0, dist ) {}
+ CardLayout( <a href="qlayout.html">QLayout</a>* parent, int dist)
+ : <a href="qlayout.html">QLayout</a>( parent, dist ) { }
+ CardLayout( int dist )
+ : <a href="qlayout.html">QLayout</a>( dist ) {}
+ ~CardLayout();
+
+ void addItem(QLayoutItem *item);
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ <a href="qsize.html">QSize</a> minimumSize() const;
+ <a href="qlayoutiterator.html">QLayoutIterator</a> iterator();
+ void setGeometry(const <a href="qrect.html">QRect</a> &amp;rect);
+
+private:
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; list;
+};
+
+#endif
+</pre>
+
+<p> <h3> card.cpp
+</h3>
+<a name="1-1"></a><p> <pre>
+#include "card.h"
+</pre>
+
+<p> First we define an iterator over the layout. Layout iterators are used
+internally by the layout system to handle deletion of widgets. They
+are also available for application programmers.
+<p> There are two different classes involved: <a href="qlayoutiterator.html">QLayoutIterator</a> is the class
+that is visible to application programmers, it is <a href="shclass.html#explicitly-shared">explicitly shared</a>.
+The QLayoutIterator contains a <a href="qglayoutiterator.html">QGLayoutIterator</a> that does all the
+work. We must create a subclass of QGLayoutIterator that knows how to
+iterate over our layout class.
+<p> In this case, we choose a simple implementation: we store an integer
+index into the list and a pointer to the list. Every <a href="qglayoutiterator.html">QGLayoutIterator</a> subclass must implement <a href="qglayoutiterator.html#current">current</a>(), <a href="qglayoutiterator.html#next">next</a>() and <a href="qglayoutiterator.html#takeCurrent">takeCurrent</a>(), as well as a
+constructor. In our example we do not need a destructor.
+<p> <pre>
+class CardLayoutIterator : public <a href="qglayoutiterator.html">QGLayoutIterator</a>
+{
+public:
+ CardLayoutIterator( <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *l )
+ : idx( 0 ), list( l ) {}
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *current()
+ { return idx &lt; int(list-&gt;<a href="qptrlist.html#count">count</a>()) ? list-&gt;<a href="qptrlist.html#at">at</a>(idx) : 0; }
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *next()
+ { idx++; return current(); }
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *takeCurrent()
+ { return list-&gt;<a href="qptrlist.html#take">take</a>( idx ); }
+
+private:
+ int idx;
+ <a href="qptrlist.html">QPtrList</a>&lt;QLayoutItem&gt; *list;
+};
+</pre>
+
+<p> We must implement QLayout:iterator() to return a <a href="qlayoutiterator.html">QLayoutIterator</a> over
+this layout.
+<p> <pre>
+QLayoutIterator CardLayout::iterator()
+{
+ return QLayoutIterator( new CardLayoutIterator(&amp;list) );
+}
+</pre>
+
+<p> addItem() implements the default placement strategy for layout items.
+It must be implemented. It is used by <a href="qlayout.html#add">QLayout::add</a>(), by the <a href="qlayout.html">QLayout</a>
+constructor that takes a layout as parent, and it is used to implement
+the <a href="qlayout.html#autoAdd">auto-add</a> feature. If your layout
+has advanced placement options that require parameters, you must
+provide extra access functions such as <a href="qgridlayout.html#addMultiCell">QGridLayout::addMultiCell</a>().
+<p> <pre>
+void CardLayout::addItem( <a href="qlayoutitem.html">QLayoutItem</a> *item )
+{
+ list.append( item );
+}
+</pre>
+
+<p> The layout takes over responsibility of the items added. Since
+<a href="qlayoutitem.html">QLayoutItem</a> does not inherit <a href="qobject.html">QObject</a>, we must delete the items
+manually. The function <a href="qlayout.html#deleteAllItems">QLayout::deleteAllItems</a>() uses the iterator we
+defined above to delete all the items in the layout.
+<p> <pre>
+CardLayout::~CardLayout()
+{
+ deleteAllItems();
+}
+</pre>
+
+<p> The setGeometry() function actually performs the layout. The rectangle
+supplied as an argument does not include margin(). If relevant, use
+spacing() as the distance between items.
+<p> <pre>
+void CardLayout::setGeometry( const <a href="qrect.html">QRect</a> &amp;rect )
+{
+ QLayout::<a href="qlayout.html#setGeometry">setGeometry</a>( rect );
+
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it( list );
+ if (it.<a href="qptrlistiterator.html#count">count</a>() == 0)
+ return;
+
+ <a href="qlayoutitem.html">QLayoutItem</a> *item;
+
+ int i = 0;
+
+ int w = rect.<a href="qrect.html#width">width</a>() - ( list.count() - 1 ) * spacing();
+ int h = rect.<a href="qrect.html#height">height</a>() - ( list.count() - 1 ) * spacing();
+
+ while ( (item = it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+ <a href="qrect.html">QRect</a> geom( rect.<a href="qrect.html#x">x</a>() + i * spacing(), rect.<a href="qrect.html#y">y</a>() + i * spacing(),
+ w, h );
+ item-&gt;<a href="qlayoutitem.html#setGeometry">setGeometry</a>( geom );
+ ++i;
+ }
+}
+</pre>
+
+<p> sizeHint() and minimumSize() are normally very similar in
+implementation. The sizes returned by both functions should include
+spacing(), but not margin().
+<p> <pre>
+QSize CardLayout::sizeHint() const
+{
+ <a href="qsize.html">QSize</a> s( 0, 0 );
+ int n = list.count();
+ if ( n &gt; 0 )
+ s = QSize( 100, 70 ); // start with a nice default size
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it( list );
+ <a href="qlayoutitem.html">QLayoutItem</a> *item;
+ while ( (item = it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+ s = s.<a href="qsize.html#expandedTo">expandedTo</a>( item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>() );
+ }
+ return s + n * QSize( spacing(), spacing() );
+}
+
+QSize CardLayout::minimumSize() const
+{
+ <a href="qsize.html">QSize</a> s( 0, 0 );
+ int n = list.count();
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QLayoutItem&gt; it( list );
+ <a href="qlayoutitem.html">QLayoutItem</a> *item;
+ while ( (item = it.<a href="qptrlistiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+ s = s.<a href="qsize.html#expandedTo">expandedTo</a>( item-&gt;<a href="qlayoutitem.html#minimumSize">minimumSize</a>() );
+ }
+ return s + n * QSize( spacing(), spacing() );
+}
+</pre>
+
+<p> <h2> Further Notes
+</h2>
+<a name="2"></a><p> This layout does not implement heightForWidth().
+<p> We ignore <a href="qlayoutitem.html#isEmpty">QLayoutItem::isEmpty</a>(), this means that the layout will
+treat hidden widgets as visible.
+<p> For complex layouts, speed can be greatly increased by caching
+calculated values. In that case, implement <a href="qlayoutitem.html#invalidate">QLayoutItem::invalidate</a>()
+to mark the cached data as dirty.
+<p> Calling <a href="qlayoutitem.html#sizeHint">QLayoutItem::sizeHint</a>(), etc. may be expensive, so you should
+store the value in a local variable if you need it again later in the
+same function.
+<p> You should not call <a href="qlayoutitem.html#setGeometry">QLayoutItem::setGeometry</a>() twice on the same item
+in the same function. That can be very expensive if the item has
+several child widgets, because it will have to do a complete layout
+every time. Instead, calculate the geometry and then set it. (This
+doesn't only apply to layouts, you should do the same if you implement
+your own resizeEvent().)
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/customstyles.html b/doc/html/customstyles.html
new file mode 100644
index 0000000..ac76e89
--- /dev/null
+++ b/doc/html/customstyles.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/customstyles.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Style overview</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Style overview</h1>
+
+
+
+<p> A style in Qt implements the look and feel found in a GUI for a
+particular platform. For example, Windows platforms may use the
+Windows or Windows-XP style, Unix platforms may use the <a href="motif-extension.html#Motif">Motif</a> style,
+and so on.
+<p> This is a short guide that describes the steps that are necessary to
+get started creating and using custom styles with the Qt 3.x style
+API. First, we go through the steps necessary to create a style:
+<ol type=1>
+<li> Pick a base style to inherit from.
+<li> Re-implement the necessary functions in the derived class.
+</ol>
+Then we explain how to use the new style from within your own
+applications, or as a plugin that can be used by existing Qt
+applications.
+<p> <h2> Creating a custom style
+</h2>
+<a name="1"></a><p> <h3> 1. Pick a base style to inherit from.
+</h3>
+<a name="1-1"></a><p> The first step is to pick one of the base styles provided with Qt to
+build your custom style from. The choice will depend on what look and
+feel you are trying to achieve. We recommend that you choose from the
+<a href="qwindowsstyle.html">QWindowsStyle</a> derived classes or the <a href="qmotifstyle.html">QMotifStyle</a> derived classes.
+These are the two base look and feel classes in the Qt style engine.
+Inheriting directly from <a href="qcommonstyle.html">QCommonStyle</a> is also an option if you want to
+start almost from scratch when implementing your style. In this simple
+example we will inherit from QWindowsStyle.
+<p> <h3> 2. Re-implement the necessary functions in your derived class.
+</h3>
+<a name="1-2"></a><p> Depending on which parts of the base style you want to change, you
+must re-implement the functions that are used to draw those parts
+of the interface. If you take a look at the <a href="qstyle.html">QStyle</a> documentation,
+you will find a list of the different primitives, controls and complex
+controls. In this example we will first change the look of the
+standard arrows that are used in the QWindowsStyle. The arrows are
+PrimitiveElements that are drawn by the drawPrimitive() function,
+so we need to re-implement that function. We need the following class
+declaration:
+<p> <pre>
+#include &lt;<a href="qwindowsstyle-h.html">qwindowsstyle.h</a>&gt;
+
+class CustomStyle : public <a href="qwindowsstyle.html">QWindowsStyle</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ CustomStyle();
+ ~CustomStyle();
+
+ void drawPrimitive( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qrect.html">QRect</a> &amp; r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp; cg,
+ SFlags flags = Style_Default,
+ const <a href="qstyleoption.html">QStyleOption</a> &amp; = QStyleOption::Default ) const;
+
+private:
+ // Disabled copy constructor and operator=
+ CustomStyle( const CustomStyle &amp; );
+ CustomStyle&amp; operator=( const CustomStyle &amp; );
+};
+</pre>
+
+<p> Note that we disable the copy constructor and the '=' operator for our
+style. <a href="qobject.html">QObject</a> is the base class for all style classes in Qt, and a
+QObject inherently cannot be copied since there are some aspects of it
+that are not copyable.
+<p> From the <a href="qstyle.html">QStyle</a> docs we see that <tt>PE_ArrowUp</tt>, <tt>PE_ArrowDown</tt>, <tt>PE_ArrowLeft</tt> and <tt>PE_ArrowRight</tt> are the primitives we need to do
+something with. We get the following in our drawPrimitive() function:
+<p> <pre>
+CustomStyle::CustomStyle()
+{
+}
+
+CustomStyle::~CustomStyle()
+{
+}
+
+void CustomStyle::drawPrimitive( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> * p,
+ const <a href="qrect.html">QRect</a> &amp; r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp; cg,
+ SFlags flags,
+ const <a href="qstyleoption.html">QStyleOption</a> &amp; opt ) const
+{
+ // we are only interested in the arrows
+ if (pe &gt;= PE_ArrowUp &amp;&amp; pe &lt;= PE_ArrowLeft) {
+ <a href="qpointarray.html">QPointArray</a> pa( 3 );
+ // make the arrow cover half the area it is supposed to be
+ // painted on
+ int x = r.<a href="qrect.html#x">x</a>();
+ int y = r.<a href="qrect.html#y">y</a>();
+ int w = r.<a href="qrect.html#width">width</a>() / 2;
+ int h = r.<a href="qrect.html#height">height</a>() / 2;
+ x += (r.<a href="qrect.html#width">width</a>() - w) / 2;
+ y += (r.<a href="qrect.html#height">height</a>() - h) /2;
+
+ switch( pe ) {
+ case PE_ArrowDown:
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 0, x, y );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 1, x + w, y );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 2, x + w / 2, y + h );
+ break;
+ case PE_ArrowUp:
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 0, x, y + h );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 1, x + w, y + h );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 2, x + w / 2, y );
+ break;
+ case PE_ArrowLeft:
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 0, x + w, y );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 1, x + w, y + h );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 2, x, y + h / 2 );
+ break;
+ case PE_ArrowRight:
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 0, x, y );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 1, x, y + h );
+ pa.<a href="qpointarray.html#setPoint">setPoint</a>( 2, x + w, y + h / 2 );
+ break;
+ default: break;
+
+ }
+
+ // use different colors to indicate that the arrow is
+ // enabled/disabled
+ if ( flags &amp; Style_Enabled ) {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#mid">mid</a>() );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::ButtonText ) );
+ } else {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#buttonText">buttonText</a>() );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Mid ) );
+ }
+ p-&gt;<a href="qpainter.html#drawPolygon">drawPolygon</a>( pa );
+ } else {
+ // let the base style handle the other primitives
+ QWindowsStyle::<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( pe, p, r, cg, flags, data );
+ }
+}
+</pre>
+
+<p> <h3> Using a custom style
+</h3>
+<a name="1-3"></a><p> There are several ways of using a custom style in a Qt application.
+The simplest way is to include the following lines of code in the
+application's main() function:
+<p> <pre>
+#include "customstyle.h"
+
+int main( int argc, char ** argv )
+{
+ QApplication::<a href="qapplication.html#setStyle">setStyle</a>( new CustomStyle() );
+ // do the usual routine on creating your QApplication object etc.
+}
+</pre>
+
+<p> Note that you must also include the <tt>customstyle.h</tt> and <tt>customstyle.cpp</tt> files in your project.
+<p> 2. Creating and using a pluggable style
+<p> You may want to make your style available for use in other
+applications, some of which may not be yours and are not available for
+you to recompile. The Qt Plugin system makes it possible to create
+styles as plugins. Styles created as plugins are loaded as shared
+objects at runtime by Qt itself. Please refer to the <a href="plugins-howto.html">Qt Plugin</a> documentation for more
+information on how to go about creating a style plugin.
+<p> Compile your plugin and put it into $QTDIR/plugins/styles. We now have
+a pluggable style that Qt can load automatically. To use your new
+style with existing applications, simply start the application with
+the following argument:
+<p> <pre>
+./application -style custom
+</pre>
+
+<p> The application will use the look and feel from the custom style you
+implemented.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/database.html b/doc/html/database.html
new file mode 100644
index 0000000..3139945
--- /dev/null
+++ b/doc/html/database.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:768 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Database Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Database Classes</h1>
+
+
+<p> These classes provide access to SQL databases.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qdatabrowser.html">QDataBrowser</a></b><td>Data manipulation and navigation for data entry forms
+<tr bgcolor=#f0f0f0><td><b><a href="qdatatable.html">QDataTable</a></b><td>Flexible SQL table widget that supports browsing and editing
+<tr bgcolor=#f0f0f0><td><b><a href="qdataview.html">QDataView</a></b><td>Read-only SQL forms
+<tr bgcolor=#f0f0f0><td><b><a href="qeditorfactory.html">QEditorFactory</a></b><td>Used to create editor widgets for QVariant data types
+<tr bgcolor=#f0f0f0><td><b><a href="qsql.html">QSql</a></b><td>Namespace for Qt SQL identifiers that need to be global-like
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlcursor.html">QSqlCursor</a></b><td>Browsing and editing of SQL tables and views
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldatabase.html">QSqlDatabase</a></b><td>Used to create SQL database connections and to provide transaction handling
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldriver.html">QSqlDriver</a></b><td>Abstract base class for accessing SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqleditorfactory.html">QSqlEditorFactory</a></b><td>Used to create the editors used by QDataTable and QSqlForm
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlerror.html">QSqlError</a></b><td>SQL database error information
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlfield.html">QSqlField</a></b><td>Manipulates the fields in SQL database tables and views
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlfieldinfo.html">QSqlFieldInfo</a></b><td>Stores meta data associated with a SQL field
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlform.html">QSqlForm</a></b><td>Creates and manages data entry forms tied to SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlindex.html">QSqlIndex</a></b><td>Functions to manipulate and describe QSqlCursor and QSqlDatabase indexes
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlpropertymap.html">QSqlPropertyMap</a></b><td>Used to map widgets to SQL fields
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlquery.html">QSqlQuery</a></b><td>Means of executing and manipulating SQL statements
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlrecord.html">QSqlRecord</a></b><td>Encapsulates a database record, i.e. a set of database fields
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlrecordinfo.html">QSqlRecordInfo</a></b><td>Encapsulates a set of database field meta data
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlresult.html">QSqlResult</a></b><td>Abstract interface for accessing data from SQL databases
+<tr bgcolor=#f0f0f0><td><b><a href="qsqlselectcursor.html">QSqlSelectCursor</a></b><td>Browsing of general SQL SELECT statements
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/databaseconnections.png b/doc/html/databaseconnections.png
new file mode 100644
index 0000000..4119235
--- /dev/null
+++ b/doc/html/databaseconnections.png
Binary files differ
diff --git a/doc/html/datastreamformat.html b/doc/html/datastreamformat.html
new file mode 100644
index 0000000..ad0f26b
--- /dev/null
+++ b/doc/html/datastreamformat.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/datastreamformat.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Format of the QDataStream Operators</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Format of the QDataStream Operators</h1>
+
+
+
+<p> The <a href="qdatastream.html">QDataStream</a> allows you to serialize some of the Qt data types.
+The table below lists the data types that <a href="qdatastream.html">QDataStream</a> can serialize
+and how they are represented.
+<p> It is best to always cast integers to a Qt integer type when writing,
+and to read back into the same Qt integer type when reading.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">Q_INT8
+<td valign="top"><ul>
+<li> signed byte
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">Q_INT16
+<td valign="top"><ul>
+<li> signed 16 bit integer
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">Q_INT32
+<td valign="top"><ul>
+<li> signed 32 bit integer
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">Q_UINT8
+<td valign="top"><ul>
+<li> unsigned byte
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">Q_UINT16
+<td valign="top"><ul>
+<li> unsigned 16 bit integer
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">Q_UINT32
+<td valign="top"><ul>
+<li> unsigned 32 bit integer
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">float
+<td valign="top"><ul>
+<li> 32-bit floating point number using the standard IEEE-754 format
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">double
+<td valign="top"><ul>
+<li> 64-bit floating point number using the standard IEEE-754 format
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">char *
+<td valign="top"><ul>
+<li> The size of the string including the terminating 0 (Q_UINT32)
+<li> The string bytes including the terminating 0
+</ul>
+The null string is represented as <tt>(Q_UINT32) 0</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top">QBitArray
+<td valign="top"><ul>
+<li> The array size (Q_UINT32)
+<li> The array bits, i.e. (size + 7)/8 bytes
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QBrush
+<td valign="top"><ul>
+<li> The brush style (Q_UINT8)
+<li> The brush color (<a href="qcolor.html">QColor</a>)
+<li> If style is CustomPattern, the brush pixmap (<a href="qpixmap.html">QPixmap</a>)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QByteArray
+<td valign="top"><ul>
+<li> The array size (Q_UINT32)
+<li> The array bytes, i.e. size bytes
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QCString
+<td valign="top"><ul>
+<li> The size of the string including the terminating 0 (Q_UINT32)
+<li> The string bytes including the terminating 0
+</ul>
+The null string is represented as <tt>(Q_UINT32) 0</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qcolor.html">QColor</a>
+<td valign="top"><ul><li> RGB value serialized as a Q_UINT32 </ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QColorGroup
+<td valign="top"><ul>
+<li> foreground (<a href="qbrush.html">QBrush</a>)
+<li> button (QBrush)
+<li> light (QBrush)
+<li> midLight (QBrush)
+<li> dark (QBrush)
+<li> mid (QBrush)
+<li> text (QBrush)
+<li> brightText (QBrush)
+<li> ButtonText (QBrush)
+<li> base (QBrush)
+<li> background (QBrush)
+<li> shadow (QBrush)
+<li> highlight (QBrush)
+<li> highlightedText (QBrush)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QCursor
+<td valign="top"><ul>
+<li> Shape id (Q_INT16)
+<li> If shape is BitmapCursor: The bitmap (<a href="qpixmap.html">QPixmap</a>), mask (QPixmap) and hot spot (<a href="qpoint.html">QPoint</a>)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QDate
+<td valign="top"><ul>
+<li> Julian day (Q_UINT32)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QDateTime
+<td valign="top"><ul>
+<li> Date (<a href="qdate.html">QDate</a>)
+<li> Time (<a href="qtime.html">QTime</a>)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QFont
+<td valign="top"><ul>
+<li> The family (<a href="qcstring.html">QCString</a>)
+<li> The point size (Q_INT16)
+<li> The style hint (Q_UINT8)
+<li> The char set (Q_UINT8)
+<li> The weight (Q_UINT8)
+<li> The font bits (Q_UINT8)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QImage
+<td valign="top"><ul>
+<li> If the image is null a "null image" marker is saved;
+otherwise the image is saved in PNG or BMP format (depending
+on the stream version). If you want control of the format,
+stream the image into a <a href="qbuffer.html">QBuffer</a> (using <a href="qimageio.html">QImageIO</a>) and stream
+that.
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QMap
+<td valign="top"><ul>
+<li> The number of items (Q_UINT32)
+<li> For all items, the key and value
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QPalette
+<td valign="top"><ul>
+<li> active (<a href="qcolorgroup.html">QColorGroup</a>)
+<li> disabled (QColorGroup)
+<li> inactive (QColorGroup)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QPen
+<td valign="top"><ul>
+<li> The pen styles (Q_UINT8)
+<li> The pen width (Q_UINT8)
+<li> The pen color (<a href="qcolor.html">QColor</a>)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QPicture
+<td valign="top"><ul>
+<li> The size of the picture data (Q_UINT32)
+<li> The raw bytes of picture data (char)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QPixmap
+<td valign="top"><ul>
+<li> Save it as a PNG image.
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QPoint
+<td valign="top"><ul>
+<li> The x coordinate (Q_INT32)
+<li> The y coordinate (Q_INT32)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QPointArray
+<td valign="top"><ul>
+<li> The array size (Q_UINT32)
+<li> The array points (<a href="qpoint.html">QPoint</a>)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QRect
+<td valign="top"><ul>
+<li> left (Q_INT32)
+<li> top (Q_INT32)
+<li> right (Q_INT32)
+<li> bottom (Q_INT32)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QRegion
+<td valign="top"><ul>
+<li> The size of the data, i.e. 8 + 16 * (number of rectangles) (Q_UINT32)
+<li> QRGN_RECTS (Q_INT32)
+<li> The number of rectangles (Q_UINT32)
+<li> The rectangles in sequential order (<a href="qrect.html">QRect</a>)
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QSize
+<td valign="top"><ul>
+<li> width (Q_INT32)
+<li> height (Q_INT32)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QString
+<td valign="top"><ul>
+<li> If the string is null: 0xffffffff (Q_UINT32)<br>
+otherwise: The string length (Q_UINT32) followed by the
+data in UTF-16
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QTime
+<td valign="top"><ul>
+<li> Milliseconds since midnight (Q_UINT32)
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QValueList
+<td valign="top"><ul>
+<li> The number of list elements (Q_UINT32)
+<li> All the elements in sequential order
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top">QVariant
+<td valign="top"><ul>
+<li> The type of the data (Q_UINT32)
+<li> The data of the specified type
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top">QWMatrix
+<td valign="top"><ul>
+<li> m11 (double)
+<li> m12 (double)
+<li> m21 (double)
+<li> m22 (double)
+<li> dx (double)
+<li> dy (double)
+</ul>
+</table></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/datetimewidgets.png b/doc/html/datetimewidgets.png
new file mode 100644
index 0000000..f4f0f24
--- /dev/null
+++ b/doc/html/datetimewidgets.png
Binary files differ
diff --git a/doc/html/dclock-example.html b/doc/html/dclock-example.html
new file mode 100644
index 0000000..9b9fffe
--- /dev/null
+++ b/doc/html/dclock-example.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/dclock/dclock.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Digital Clock</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Digital Clock</h1>
+
+
+<p>
+This example displays a digital LCD clock that can switch between time
+and date.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/dclock.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef DCLOCK_H
+#define DCLOCK_H
+
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+
+class DigitalClock : public <a href="qlcdnumber.html">QLCDNumber</a> // digital clock widget
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ DigitalClock( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+protected: // event handlers
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+
+private slots: // internal slots
+ void stopDate();
+ void showTime();
+
+private: // internal data
+ void showDate();
+
+ bool showingColon;
+ int normalTimer;
+ int showDateTimer;
+};
+
+
+#endif // DCLOCK_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/dclock.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "dclock.h"
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+
+
+//
+// Constructs a DigitalClock widget with a parent and a name.
+//
+
+<a name="f371"></a>DigitalClock::DigitalClock( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qlcdnumber.html">QLCDNumber</a>( parent, name )
+{
+ showingColon = FALSE;
+ <a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Raised );
+ <a href="qframe.html#setLineWidth">setLineWidth</a>( 2 ); // set frame line width
+ showTime(); // display the current time
+ normalTimer = <a href="qobject.html#startTimer">startTimer</a>( 500 ); // 1/2 second timer events
+ showDateTimer = -1; // not showing date
+}
+
+
+//
+// Handles timer events for the digital clock widget.
+// There are two different timers; one timer for updating the clock
+// and another one for switching back from date mode to time mode.
+//
+
+<a name="x1102"></a>void DigitalClock::<a href="qobject.html#timerEvent">timerEvent</a>( <a href="qtimerevent.html">QTimerEvent</a> *e )
+{
+<a name="x1105"></a> if ( e-&gt;<a href="qtimerevent.html#timerId">timerId</a>() == showDateTimer ) // stop showing date
+ stopDate();
+ else { // normal timer
+ if ( showDateTimer == -1 ) // not showing date
+ showTime();
+ }
+}
+
+//
+// Enters date mode when the left mouse button is pressed.
+//
+
+void DigitalClock::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+<a name="x1101"></a> if ( e-&gt;<a href="qmouseevent.html#button">button</a>() == QMouseEvent::LeftButton ) // left button pressed
+ showDate();
+}
+
+
+//
+// Shows the current date in the internal lcd widget.
+// Fires a timer to stop showing the date.
+//
+
+void <a name="f372"></a>DigitalClock::showDate()
+{
+ if ( showDateTimer != -1 ) // already showing date
+ return;
+<a name="x1098"></a> <a href="qdate.html">QDate</a> date = QDate::<a href="qdate.html#currentDate">currentDate</a>();
+ <a href="qstring.html">QString</a> s;
+<a name="x1103"></a><a name="x1100"></a><a name="x1099"></a> s.<a href="qstring.html#sprintf">sprintf</a>( "%2d %2d", date.<a href="qdate.html#month">month</a>(), date.<a href="qdate.html#day">day</a>() );
+ <a href="qlcdnumber.html#display">display</a>( s ); // sets the LCD number/text
+ showDateTimer = <a href="qobject.html#startTimer">startTimer</a>( 2000 ); // keep this state for 2 secs
+}
+
+//
+// Stops showing the date.
+//
+
+void <a name="f373"></a>DigitalClock::stopDate()
+{
+ <a href="qobject.html#killTimer">killTimer</a>( showDateTimer );
+ showDateTimer = -1;
+ showTime();
+}
+
+//
+// Shows the current time in the internal lcd widget.
+//
+
+void <a name="f374"></a>DigitalClock::showTime()
+{
+ showingColon = !showingColon; // toggle/blink colon
+<a name="x1104"></a> <a href="qstring.html">QString</a> s = QTime::<a href="qtime.html#currentTime">currentTime</a>().toString().left(5);
+ if ( !showingColon )
+ s[2] = ' ';
+ if ( s[0] == '0' )
+ s[0] = ' ';
+ <a href="qlcdnumber.html#display">display</a>( s ); // set LCD number/text
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "dclock.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ DigitalClock *clock = new DigitalClock;
+ clock-&gt;<a href="qwidget.html#resize">resize</a>( 170, 80 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( clock );
+ clock-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Digital Clock");
+ clock-&gt;<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/debug.html b/doc/html/debug.html
new file mode 100644
index 0000000..8f7b129
--- /dev/null
+++ b/doc/html/debug.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/debug.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Debugging Techniques</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Debugging Techniques</h1>
+
+
+
+<p> Here we present some useful hints to debugging your Qt-based software.
+<p> <h2> Command Line Options
+</h2>
+<a name="1"></a><p> When you run a Qt program you can specify several command line options
+that can help with debugging.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Option <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top">-nograb
+<td valign="top">The application should never grab <a href="qwidget.html#grabMouse">the mouse</a> or <a href="qwidget.html#grabKeyboard">the
+ keyboard</a>. This option is set by default when the
+program is running in the <tt>gdb</tt> debugger under Linux.
+<tr bgcolor="#d0d0d0"> <td valign="top">-dograb
+<td valign="top">Ignore any implicit or explicit -nograb. -dograb wins over
+-nograb even when -nograb is last on the command line.
+<tr bgcolor="#f0f0f0"> <td valign="top">-sync
+<td valign="top">Runs the application in X synchronous mode. Synchronous mode
+forces the X server to perform each X client request
+immediately and not use buffer optimization. It makes the
+program easier to debug and often much slower. The -sync
+option is only valid for the X11 version of Qt.
+</table></center>
+<p> <h2> Warning and Debugging Messages
+</h2>
+<a name="2"></a><p> Qt includes three global functions for writing out warning and debug
+text.
+<ul>
+<li> <a href="qapplication.html#qDebug">qDebug()</a> for writing debug output for testing etc.
+<li> <a href="qapplication.html#qWarning">qWarning()</a> for writing warning output when program
+errors occur.
+<li> <a href="qapplication.html#qFatal">qFatal()</a> for writing fatal error messages
+and exiting.
+</ul>
+<p> The Qt implementation of these functions prints the text to the <tt>stderr</tt>
+output under Unix/X11 and to the debugger under Windows. You can
+take over these functions by installing a message handler;
+<a href="qapplication.html#qInstallMsgHandler">qInstallMsgHandler()</a>.
+<p> The debugging functions <a href="qobject.html#dumpObjectTree">QObject::dumpObjectTree</a>() and <a href="qobject.html#dumpObjectInfo">QObject::dumpObjectInfo</a>() are often useful when an application looks
+or acts strangely. More useful if you use object names than not, but
+often useful even without names.
+<p> <h2> Debugging Macros
+</h2>
+<a name="3"></a><p> The header file <a href="qglobal-h.html">qglobal.h</a> contains many debugging macros and
+<tt>#define</tt>s.
+<p> Two important macros are:
+<ul>
+<li> <a href="qapplication.html#Q_ASSERT">Q_ASSERT(b)</a> where b is a boolean
+expression, writes the warning: "ASSERT: 'b' in file file.cpp (234)"
+if b is FALSE.
+<li> <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR(p)</a> where p is a pointer.
+Writes the warning "In file file.cpp, line 234: Out of memory" if p is
+0.
+</ul>
+<p> These macros are useful for detecting program errors, e.g. like this:
+<pre>
+ char *alloc( int size )
+ {
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>( size &gt; 0 );
+ char *p = new char[size];
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( p );
+ return p;
+ }
+</pre>
+
+<p> If you define the flag QT_FATAL_ASSERT, Q_ASSERT will call fatal()
+instead of warning(), so a failed assertion will cause the program to
+exit after printing the error message.
+<p> Note that the Q_ASSERT macro is a null expression if <tt>QT_CHECK_STATE</tt> (see
+below) is not defined. Any code in it will simply not be
+executed. Similarly Q_CHECK_PTR is a null expression if <tt>QT_CHECK_NULL</tt> is
+not defined. Here is an example of how you should <em>not</em> use Q_ASSERT and
+Q_CHECK_PTR:
+<p> <pre>
+ char *alloc( int size )
+ {
+ char *p;
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( p = new char[size] ); // WRONG!
+ return p;
+ }
+</pre>
+
+<p> The problem is tricky: <em>p</em> is set to a sane value only as long as the
+correct checking flags are defined. If this code is compiled without
+the QT_CHECK_NULL flag defined, the code in the Q_CHECK_PTR expression is
+not executed (correctly, since it's only a debugging aid) and <em>alloc</em>
+returns a wild pointer.
+<p> The Qt library contains hundreds of internal checks that will print
+warning messages when some error is detected.
+<p> The tests for sanity and the resulting warning messages inside Qt are
+conditional, based on the state of various debugging flags:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Flag <th valign="top">Meaning
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_CHECK_STATE <td valign="top">Check for consistent/expected object state
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_CHECK_RANGE <td valign="top">Check for variable range errors
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_CHECK_NULL <td valign="top">Check for dangerous null pointers
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_CHECK_MATH <td valign="top">Check for dangerous math, e.g. division by 0
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_CHECK <td valign="top">Turn off all QT_CHECK_... flags
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_DEBUG <td valign="top">Enable debugging code
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_DEBUG <td valign="top">Turn off QT_DEBUG flag
+</table></center>
+<p> By default, both QT_DEBUG and all the QT_CHECK flags are on. To turn
+off QT_DEBUG, define QT_NO_DEBUG. To turn off the QT_CHECK flags,
+define QT_NO_CHECK.
+<p> Example:
+<pre>
+ void f( char *p, int i )
+ {
+ #if defined(QT_CHECK_NULL)
+ if ( p == 0 )
+ <a href="qapplication.html#qWarning">qWarning</a>( "f: Null pointer not allowed" );
+ #endif
+
+ #if defined(QT_CHECK_RANGE)
+ if ( i &lt; 0 )
+ <a href="qapplication.html#qWarning">qWarning</a>( "f: The index cannot be negative" );
+ #endif
+ }
+</pre>
+
+<p> <h2> Common bugs
+</h2>
+<a name="4"></a><p> There is one bug that is so common that it deserves mention here: If
+you include the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro in a class declaration and run the
+<a href="moc.html">moc</a>, but forget to link the <a href="moc.html#moc">moc</a>-generated
+object code into your executable, you will get very confusing error
+messages. Any link error complaining about a lack of <tt>vtbl</tt>,
+<tt>_vtbl</tt>, <tt>__vtbl</tt> or similar is likely to be a result of this
+problem.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/demo-example.html b/doc/html/demo-example.html
new file mode 100644
index 0000000..6a8d6da
--- /dev/null
+++ b/doc/html/demo-example.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/demo/demo.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Demo</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Demo</h1>
+
+
+<p>
+This program shows off some of Qt's widgets and functionality. It
+isn't intended as a code example, but rather as a single application
+that you can run to see many of Qt's features.
+<p> See $QTDIR/examples/demo for the source code.
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/dependencies.png b/doc/html/dependencies.png
new file mode 100644
index 0000000..57dfc60
--- /dev/null
+++ b/doc/html/dependencies.png
Binary files differ
diff --git a/doc/html/designer-manual-1.html b/doc/html/designer-manual-1.html
new file mode 100644
index 0000000..a1494fa
--- /dev/null
+++ b/doc/html/designer-manual-1.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-preface.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Preface</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual.html">Home</a>] [<a href="designer-manual-2.html">Next: Quick Start</a>]</p>
+<h2 align="center">Preface</h2>
+<h3><a name="1"></a>Introduction</h3>
+<p>This manual presents <em>Qt Designer</em>, a tool for designing and implementing user interfaces built with the Qt multiplatform GUI toolkit. <em>Qt Designer</em> makes it easy to experiment with user interface design. At any time you can generate the code required to reproduce the user interface from the files <em>Qt Designer</em> produces, changing your design as often as you like. If you used an earlier version you will find yourself immediately productive in the new version since the interface is very similar. And you will also find new widgets and new and improved functionality which have been developed as a result of your feedback.</p>
+<p><em>Qt Designer</em> helps you build user interfaces with layout tools that move and scale your widgets (<em>controls</em> in Windows terminology) automatically at runtime. The resulting interfaces are both functional and attractive, comfortably suiting your users' operating environments and preferences. <em>Qt Designer</em> supports Qt's signals and slots mechanism for type-safe communication between widgets. <em>Qt Designer</em> includes a code editor which you can use to embed your own custom slots inside the generated code. Those who prefer to separate generated code from hand crafted code can continue to use the subclassing approach pioneered in the first version of <em>Qt Designer</em>.<!-- index Controls!Widgets --></p>
+<p>The manual introduces you to <em>Qt Designer</em> by leading you through the development of example applications. The first seven chapters are tutorials, each designed to be as self-contained as possible. Every chapter, except the first three, assumes that you are familiar with the material in chapters two and three which cover the basics of building a Qt application with <em>Qt Designer</em>. Here's a brief overview of the chapters:</p>
+<ul><li><p>Chapter one, <a href="designer-manual-2.html">Quick Start</a>, is a fast hands-on tutorial that takes you through the creation of a short, simple dialog application. The aim of this chapter is to give you a feel for how <em>Qt Designer</em> works, with explanations and details deferred to later chapters.</p>
+<li><p>Chapter two, <a href="designer-manual-3.html">Creating a Main Window Application</a>, introduces <em>Qt Designer</em> and takes you step by step through the creation of a small but fully functional application. Along the way you will learn how to create a main window with menus, toolbars and a status bar. Most of the application's implementation will be covered, but the custom dialogs are deferred until chapter three. In the course of this chapter you will use the form and property editors to customize the application. You'll also learn how to use Qt's signals and slots mechanism and <em>Qt Designer</em>'s built-in code editor to make the application functional. We will also explain how to use <tt>qmake</tt> to generate a Makefile so that you can compile and run the application.</p>
+<li><p>In chapter three, <a href="designer-manual-4.html">Creating Dialogs</a>, we will create the custom dialogs required by the main window application created in chapter two. In addition to demonstrating various ways of creating dialogs, you will also learn how to lay out forms using the layout tools.</p>
+<li><p>Chapter four, <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a>, provides information on the <em>Qt Designer</em> approach to developing applications, and explains some of the rationale behind <em>Qt Designer</em>.</p>
+<li><p>Chapter five, <a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a>, will show you how to subclass a form; this allows you to clearly separate the user interface from the underlying code that implements its functionality. Additional information on <tt>qmake</tt> and <tt>uic</tt> is included in this chapter. This chapter will also explain how you can dynamically load dialogs from<!-- index .ui --> <tt>.ui</tt> files into your application using <a href="qwidgetfactory.html">QWidgetFactory</a> and how to access the widgets and sub-widgets of these dialogs.</p>
+<li><p>Chapter six, <a href="designer-manual-7.html">Creating Custom Widgets</a>, explains how you can create your own custom widgets. Both the simple method, that was introduced with the first version of <em>Qt Designer</em>, and the new more powerful method using plugins, are explained.</p>
+<li><p>Chapter seven, <a href="designer-manual-8.html">Creating Database Applications</a> introduces Qt's SQL classes and takes you through an example that demonstrates how to execute SQL queries and how to set up master-detail relationships, perform drilldown and handle foreign keys.</p>
+<li><p>Chapter eight, <a href="designer-manual-9.html">Customizing and Integrating Qt Designer</a>, focuses on <em>Qt Designer</em> itself, showing you how to customize Designer, how to integrate Designer with Visual Studio and how to create Makefiles.</p>
+</ul><p>The remaining chapters provide reference material that explains <em>Qt Designer</em>'s <a href="designer-manual-11.html#reference-menu-options">menu options</a>, <a href="designer-manual-12.html#reference-toolbar-buttons">toolbars</a>, <a href="designer-manual-10.html#reference-key-bindings">key bindings</a>, <a href="designer-manual-13.html#reference-dialogs">dialogs</a>, <a href="designer-manual-14.html#reference-wizards">wizards</a>, and <a href="designer-manual-15.html#reference-windows">windows</a> in detail.</p>
+<h3><a name="2"></a>What You Should Know</h3>
+<p>This manual assumes that you have some basic knowledge of C++ and the Qt GUI toolkit. If you need to learn more about C++ or Qt there are a vast number of C++ books available, and a small but increasing number of Qt books. Qt comes with extensive online documentation and many example applications that you can try.</p>
+<p>The Enterprise Edition of Qt includes the Qt SQL module. In <a href="designer-manual-8.html">Creating Database Applications</a> we demonstrate how to build SQL applications with <em>Qt Designer</em>; this chapter requires some knowledge of SQL and relational databases.</p>
+<h3><a name="3"></a>What's New in <em>Qt Designer</em> for Qt 3.0?</h3>
+<p>This version of <em>Qt Designer</em> has a great deal more functionality than its predecessor. For example, the code for custom slots can be edited directly in <em>Qt Designer</em>; main windows with actions, toolbars and menus can be created; layouts that incorporate splitters can be used; and plugins allow you to package any number of custom widgets and make them available to <em>Qt Designer</em>. Many other enhancements have been incorporated, from small improvements in the user interface to improved efficiency, for example the ability to share pixmaps across all the forms in an application.</p>
+<p>This version of <em>Qt Designer</em> introduces project files which make it easy to switch between all the forms in an application, and to maintain a common set of database settings and images. Although subclassing is fully supported, writing code directly in <em>Qt Designer</em> offers a number of benefits which are covered in <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> chapter. A new library, <tt>libqui</tt>, has also been introduced which allows you to load dialogs dynamically at runtime from <em>Qt Designer</em>'s <tt>.ui</tt> files. This allows you to provide your application's users with considerable interface customizability without them needing to use C++.</p>
+<p>Although the new version of <em>Qt Designer</em> introduces new approaches and techniques you can ignore these aspects and simply use it in exactly the same way as you used the version supplied with Qt 2.x, if you just want a simple but powerful single dialog visual design tool.</p>
+<h4><a name="3-1"></a>What's New in <em>Qt Designer</em> for Qt 3.1?</h4>
+<ul><li><p><em>Qt Designer</em> now features a start-up dialog for fast access to recently used files, etc. (It can be switched off if you don't want it.)</p>
+<li><p>The signals and slots dialog has changed significantly. It is far easier to use and much faster for creating lots of connections in one go. You can still click and drag to create connections, but the new dialog is much quicker.</p>
+<li><p>Widgets are now accessible using the Toolbox. (All the original toolbars are still available.) This provides the same easy access as toolbar buttons, and also shows the names of the widgets and takes up less space.</p>
+<li><p><a href="qwidgetstack.html">QWidgetStack</a> is now available as a container widget. The new example demonstrates its use.</p>
+<li><p><tt>.ui.h</tt> files may now contain arbitrary C++, including <tt>const</tt> definitions, <tt>#include</tt>s, plain functions, etc.</p>
+<li><p>When you select multiple-widgets their common properties are shown in the property editor and can be changed collectively.</p>
+</ul><h4><a name="3-2"></a>What's New in <em>Qt Designer</em> for Qt 3.2?</h4>
+<ul><li><p>The tool box widget used by <em>Qt Designer</em> since Qt 3.1 is now available as a Qt widget for use in your own programs. The widget is called <a href="qtoolbox.html">QToolBox</a>.</p>
+<li><p>The menu editor in <em>Qt Designer</em> has been redesigned to make it easier to visually design application main windows.</p>
+<li><p>Numerous small improvements to usability have also been incorporated in this version.</p>
+</ul><p align="center"><img align="middle" src="qd-preface.png" width="1208" height="1026">
+</p>
+<blockquote><p align="center"><em>Qt Designer</em></p></blockquote>
+<h3><a name="4"></a>Feedback</h3>
+<p>If you have any comments, suggestions, criticisms or even praise regarding this manual, please let us know at <tt>doc@trolltech.com</tt>. Bug reports on Qt or <em>Qt Designer</em> should be sent to <a href="http://doc.trolltech.com/bughowto.html">qt-bugs@trolltech.com</a>. You might also like to join the <em>qt-interest</em> mailing list, which <em>Qt Designer</em>'s developers read and contribute to; see <a href="http://lists.trolltech.com">http://lists.trolltech.com</a> for further details.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual.html">Home</a>] [<a href="designer-manual-2.html">Next: Quick Start</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-10.html b/doc/html/designer-manual-10.html
new file mode 100644
index 0000000..6c126dc
--- /dev/null
+++ b/doc/html/designer-manual-10.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-key-bindings.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Key Bindings</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-9.html">Prev: Customizing and Integrating Qt Designer</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-11.html">Next: Reference: Menu Options</a>]</p>
+<h2 align="center">Reference: Key Bindings</h2>
+<a name="reference-key-bindings"></a><!-- index Keypresses (Qt Designer) --><ul><li><p>Ctrl+A -- Selects all GUI elements in the active form.</p>
+<li><p>Ctrl+B -- Breaks the selected layout so that you can add or delete GUI elements.</p>
+<li><p>Ctrl+C -- Copies the selected GUI elements from the active form into the clipboard.</p>
+<li><p>Alt+E -- Pulls down the <b>Edit</b> menu.</p>
+<li><p>Alt+F -- Pulls down the <b>File</b> menu.</p>
+<li><p>Ctrl+G -- Applies a grid layout to the selected container, or creates a new container containing the selected GUI elements and applies a grid layout to this container.</p>
+<li><p>Ctrl+H -- Applies a horizontal box layout to the selected container, or creates a new container containing the selected GUI elements and applies a horizontal box layout to this container.</p>
+<li><p>Alt+H -- Pulls down the <b>Help</b> menu.</p>
+<li><p>Ctrl+J Adjusts the size of the selected GUI element (or elements) so that it has the minimal size needed for displaying itself properly.</p>
+<li><p>Ctrl+L -- Applies a vertical box layout to the selected container, or creates a new container containing the selected GUI elements and applies a vertical box layout to this container.</p>
+<li><p>Alt+L -- Pulls down the <b>Layout</b> menu.</p>
+<li><p>Ctrl+M -- Opens an online version of this manual in Qt Assistant.</p>
+<li><p>Ctrl+N -- Invokes the <em>New File</em> dialog.</p>
+<li><p>Ctrl+O -- Invokes the <em>Open File</em> dialog.</p>
+<li><p>Alt+P -- Pulls down the <b>Preview</b> menu.</p>
+<li><p>Ctrl+R -- Checks the accelerators in the active form for duplicates.</p>
+<li><p>Ctrl+S -- Saves the active form.</p>
+<li><p>Ctrl+T -- Previews the active form in the default GUI style of the platform.</p>
+<li><p>Alt+T -- Pulls down the <b>Tools</b> menu.</p>
+<li><p>Ctrl+V -- Pastes the GUI element (or elements) in the clipboard into the active form at the position it had in its original form plus a little offset. Does nothing if the clipboard does not contain a GUI element.</p>
+<li><p>Alt+W -- Pulls down the <b>Window</b> menu.</p>
+<li><p>Ctrl+X -- Cuts the selected GUI element (or elements) from the active form and puts it into the clipboard.</p>
+<li><p>Ctrl+Y -- Redoes the last undo action.</p>
+<li><p>Ctrl+Z -- Undoes the last action.</p>
+<li><p>Del -- Deletes the selected GUI elements from the active form.</p>
+<li><p>F1 -- Opens the introductory page of the Qt Designer manual in Qt Assistant.</p>
+<li><p>Shift-F1 -- Turns on What's This mode, which lets you click on a GUI element in Qt Designer to get a small description window for this element.</p>
+<li><p>F2 -- Activates the pointer tool that lets you select GUI elements.</p>
+<li><p>F3 -- Activates the connection tool that lets you edit the connections between signals and slots in a form.</p>
+<li><p>F4 -- Activates the tab order tool that lets you change the tab order of the GUI elements on the active form.</p>
+<li><p>Ctrl+F4 -- Closes the active window.</p>
+<li><p>Ctrl+F6 -- Activates the next window in the order of window creation.</p>
+<li><p>Ctrl+Shift-F6 -- Activates the previous window in the order of window creation.</p>
+</ul><!-- eof -->
+<p align="right">[<a href="designer-manual-9.html">Prev: Customizing and Integrating Qt Designer</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-11.html">Next: Reference: Menu Options</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-11.html b/doc/html/designer-manual-11.html
new file mode 100644
index 0000000..d25a34f
--- /dev/null
+++ b/doc/html/designer-manual-11.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-menus.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Menu Options</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-10.html">Prev: Reference: Key Bindings</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-12.html">Next: Reference: Toolbar Buttons</a>]</p>
+<h2 align="center">Reference: Menu Options</h2>
+<a name="reference-menu-options"></a><h3><a name="1"></a>Introduction</h3>
+<p><em>Qt Designer</em> provides menu options that invoke the actions necessary to create applications. Many menu options lead to dialog boxes that provide additional options and functionality. The most commonly used menu options also have corresponding toolbar buttons. This chapter explains each menu option and its use. For menu options that invoke a dialog box or which have a corresponding toolbar button, there is a cross-reference to the detailed explanation that appears in the relevant chapter.</p>
+<p align="center"><img align="middle" src="rmo-filemenu.png" width="249" height="260">
+</p>
+<blockquote><p align="center"><em>The File Menu</em></p></blockquote>
+<h3><a name="2"></a>The File Menu</h3>
+<!-- index Files --><p>This menu is invoked with <b>Alt+F</b>, and provides the following options:</p>
+<ul><!-- index Adding!Files to Projects --><!-- index Files!Adding to Projects --><li><p><b>File|New</b><br> Click this menu option (or press <b>Ctrl+N</b>) to create a new project, form or file. This option invokes the <a href="designer-manual-13.html#3-1">New File Dialog</a>.</p>
+<!-- index Files!Opening --><li><p><b>File|Open</b><br> Click this menu option (or press <b>Ctrl+O</b>) to open existing projects, forms or files. The <a href="designer-manual-13.html#3-2">File Open Dialog</a> is invoked through which a file name can be selected.</p>
+<!-- index Files!Closing --><li><p><b>File|Close</b><br> Click this menu option to close the currently open project. If the project has unsaved changes, the <a href="designer-manual-13.html#11-2">Save Form Dialog</a> appears.</p>
+<!-- index Files!Saving --><li><p><b>File|Save</b><br> Click this menu option (or press <b>Ctrl+S</b>) to save the project along with its forms and files. For a project that has forms or files, click 'Save' to save the project before exiting. For new forms, click 'Save' and the <a href="designer-manual-13.html#3-4">Save Form As Dialog</a> appears. For forms that have been saved previously click 'Save'. For new files or for files that have been changed, click 'Save'.</p>
+<!-- index Files!Saving --><li><p><b>File|Save As</b><br> Click this menu option to save and name the current form or file. This option invokes the <a href="designer-manual-13.html#3-4">Save Form As Dialog</a>.</p>
+<!-- index Files!Saving --><li><p><b>File|Save All</b><br> Click this menu option to save every open file and form in every open project.</p>
+<!-- index Files!Templates --><li><p><b>File|Create Template</b><br> Click this menu option to create a form template. This option invokes the <a href="designer-manual-13.html#3-5">Create Template Dialog</a> dialog.</p>
+<li><p><b>File|Recently Opened Files</b><br> Click this menu option to list the most recently opened files. Click one of the files listed to open it. Note that we recommend that you open projects rather than files. You can open a file by clicking the file's name in the project's <a href="designer-manual-15.html#2">Project Overview Window</a>.</p>
+<li><p><b>File|Recently Opened Projects</b><br> Click this menu option to list the most recently opened projects. Click one of the projects listed to open it.</p>
+<li><p><b>File|Exit</b><br> Click this menu option to exit <em>Qt Designer</em>. If any open files have unsaved changes, the <em>Save Form Dialog</em> message box will appear for each of them, before <em>Qt Designer</em> exits. Note that for a form that has not been saved previously but has had changes made to it or that has been saved but has had changes made to it, the <em>Save Form Dialog</em> is invoked. Click <b>Yes</b> to invoke the <em>Save Form As</em> dialog.</p>
+</ul><p>See also <a href="designer-manual-12.html#2">The File Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-editmenu.png" width="295" height="312">
+</p>
+<blockquote><p align="center"><em>The Edit Menu</em></p></blockquote>
+<h3><a name="3"></a>The Edit Menu</h3>
+<p>This menu is invoked with <b>Alt+E</b>, and provides the following options:</p>
+<ul><!-- index Undo and Redo --><li><p><b>Edit|Undo</b><br> Click this menu option (or press <b>Ctrl+Z</b>) to undo an action. The name of the last action that was performed appears after the word 'Undo'.</p>
+<!-- index Undo and Redo --><li><p><b>Edit|Redo</b><br> Click this menu option (or press <b>Ctrl+Y</b>) to redo an action. The name of the last action that was performed appears after the word 'Redo'.</p>
+<li><p><b>Edit|Cut</b><br> Click this menu option (or press <b>Ctrl+X</b>) to delete the selected item from the current form or file and copy it to the clipboard.</p>
+<li><p><b>Edit|Copy</b><br> Click this menu option (or press <b>Ctrl+C</b>) to copy the selected item from the current form or file to the clipboard.</p>
+<li><p><b>Edit|Paste</b><br> Click this menu option (or press <b>Ctrl+V</b>) to paste the clipboard item (if any) into the current form or file.</p>
+<li><p><b>Edit|Delete</b><br> Click this menu option (or press <b>Del</b>) to delete the selected item from the current form or file.</p>
+<li><p><b>Edit|Select All</b><br> Click this menu option (or press <b>Ctrl+A</b>) to highlight all the widgets on the current form or all the text in the current file.</p>
+<!-- index Accelerators, Checking --><li><p><b>Edit|Check Accelerators</b><br> Click this menu option (or press <b>Alt+R</b>) to verify that all the accelerators are used only once. If an accelerator is used more than once, a message box appears with the statement 'The accelerator 'x' is used 'y' times'. Click <b>Select</b> to highlight the widgets with the same accelerator, or click <b>Cancel</b> to exit the message box without taking any action.</p>
+<!-- index Signals and Slots!Edit Slots Dialog --><!-- index Edit Functions Dialog --><li><p><b>Edit|Slots</b><br> Click this menu option to edit and create slots and functions. This option invokes the <a href="designer-manual-13.html#4-1">Edit Functions Dialog</a>.</p>
+<!-- index Signals and Slots!View Connections Dialog --><!-- index View Connections Dialog --><li><p><b>Edit|Connections</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#4-2">View and Edit Connections Dialog</a>.</p>
+<!-- index Form Settings Dialog --><li><p><b>Edit|Form Settings</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#4-3">Form Settings Dialog</a>.</p>
+<!-- index Preferences Dialog --><li><p><b>Edit|Preferences</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#4-4">Preferences Dialog</a>.</p>
+</ul><p>See also <a href="designer-manual-12.html#3">The Edit Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-projectmenu.png" width="195" height="131">
+</p>
+<blockquote><p align="center"><em>The Project Menu</em></p></blockquote>
+<h3><a name="4"></a>The Project Menu</h3>
+<p>This menu is invoked with <b>Alt+O</b>, and provides the following options:</p>
+<ul><!-- index Projects!Active Project --><li><p><b>Project|Active Project</b><br> Click this menu option to toggle between projects if there is more than one project open. You can also toggle between projects using the Active Project drop-down combobox in the <a href="designer-manual-12.html#2">The File Toolbar Buttons</a>.</p>
+<!-- index Projects!Adding Files --><li><p><b>Project|Add File</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#5-1">Add Dialog</a></p>
+<!-- index Projects!Project Settings --><li><p><b>Project|Project Settings</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#5-4">Project Settings Dialog</a>.</p>
+<!-- index Projects!Image Collection Dialog --><!-- index Image Collection Dialog --><li><p><b>Project|Image Collection</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#5-2">Manage Image Collection Dialog</a>.</p>
+<!-- index Database Connections Dialog --><li><p><b>Project|Database Connections</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#5-3">Edit Database Connections Dialog</a>.</p>
+</ul><p>See also <a href="designer-manual-12.html#2">The File Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-searchmenu.png" width="206" height="104">
+</p>
+<blockquote><p align="center"><em>The Search Menu</em></p></blockquote>
+<h3><a name="5"></a>The Search Menu</h3>
+<p>This menu is invoked with <b>Alt+S</b>, and provides the following options:</p>
+<ul><!-- index Find Text Dialog --><li><p><b>Search|Find</b><br> Click this menu option (or press <b>Ctrl+F</b>) to invoke the <a href="designer-manual-13.html#6-1">Find Text Dialog</a>.</p>
+<!-- index Incremental Search --><!-- index Search, Incremental --><li><p><b>Search|Find Incremental</b><br> Click this menu option (or press <b>Alt+I</b>) to place the cursor in the text box located next to the <b>Find</b> toolbar button. Type characters into the text box; as you type, <em>Qt Designer</em> will highlight the first occurrence of the text that it finds in the file. Press the <b>Enter</b> key to go to the next occurrence of the text. Press the <b>Esc</b> key once you have found the word you are looking for to place the cursor in the editor.</p>
+<!-- index Replace Text Dialog --><li><p><b>Search|Replace</b><br> Click this menu option (or press <b>Ctrl+R</b>) to invoke the <a href="designer-manual-13.html#6-2">Replace Text Dialog</a> to replace specific words or characters.</p>
+<!-- index Goto Line Dialog --><li><p><b>Search|Goto line</b><br> Click this menu option (or press <b>Alt+G</b>) to invoke the <a href="designer-manual-13.html#6-3">Goto Line Dialog</a> to go to a specific line in the file.</p>
+</ul><p>See also <a href="designer-manual-12.html#4">The Search Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-toolsmenu.png" width="209" height="304">
+</p>
+<blockquote><p align="center"><em>The Tools Menu</em></p></blockquote>
+<h3><a name="6"></a>The Tools Menu</h3>
+<p>This menu is invoked with <b>Alt+T</b>, and provides the following options:</p>
+<ul><!-- index Tools!Pointer --><li><p><b>Tools|Pointer</b><br> Click this menu option (or press <b>F2</b>) to de-select any selected widget toolbar button. The pointer is also used to stop inserting new widgets on the form if you double clicked a widget toolbar button. Press the <b>Esc</b> key to return to the pointer at any time.</p>
+<!-- index Edit Connections Dialog --><li><p><b>Tools|Connect Signals and Slots</b><br> Click this menu option (or press <b>F3</b>) to connect signals and slots. Click on a widget and drag the connection line to the widget (or form) that you want to connect to. Release the mouse button and the <a href="designer-manual-13.html#4-2">View and Edit Connections Dialog</a> will appear.</p>
+<!-- index Tab Order --><li><p><b>Tools|Tab Order</b><br> Click this menu option (or press <b>F4</b>) to set the tab order for all the widgets on the form that can accept keyboard focus. Choose this option and blue circles with numbers on them appear next to the widgets. Click the widget that you want to be first in the tab order, then click the widget that should be next in the tab order, and continue until all the widgets have the tab order numbers you want. If you make a mistake, double click the first widget and start again. Press <b>Esc</b> to leave tab order mode. If you want to revert your changes, leave tab order mode, then undo.</p>
+<!-- index Set Buddy --><li><p><b>Tools|Set Buddy</b><br> Click this toolbar button (or press <b>F12</b>) to set a buddy to a label. Then click on a label and drag the line to the widget that you want to be the buddy. Release the mouse button and the buddy is set.</p>
+<!-- index Tools!Buttons!PushButton --><li><p><b>Tools|Buttons|PushButton</b><br> Click this menu option and then click the form to place a PushButton on the form.</p>
+<!-- index Tools!Buttons!ToolButton --><li><p><b>Tools|Buttons|ToolButton</b><br> Click this menu option and then click the form to place a ToolButton on the form.</p>
+<!-- index Tools!Buttons!RadioButton --><li><p><b>Tools|Buttons|RadioButton</b><br> Click this menu option and then click the form to place a RadioButton on the form. It is recommended that you place RadioButtons inside ButtonGroups so that Qt will automatically ensure that only one RadioButton in the group is active at any one time.</p>
+<!-- index Tools!Buttons!CheckBox --><li><p><b>Tools|Buttons|CheckBox</b><br> Click this menu option and then click the form to place a CheckBox on the form.</p>
+<!-- index Tools!Containers!GroupBox --><li><p><b>Tools|Containers|GroupBox</b><br> Click this menu option and then click the form to place a GroupBox on the form.</p>
+<!-- index Tools!Containers!ButtonGroup --><li><p><b>Tools|Containers|ButtonGroup</b><br> Click this menu option and then click the form to place a ButtonGroup on the form.</p>
+<!-- index Tools!Containers!Frame --><li><p><b>Tools|Containers|Frame</b><br> Click this menu option and then click the form to place a Frame on the form.</p>
+<!-- index Tools!Containers!TabWidget --><li><p><b>Tools|Containers|TabWidget</b><br> Click this menu option and then click the form to place a TabWidget on the form. To add or remove tabs, right click the tab widget and choose 'Add Page' or 'Remove Page'.</p>
+<!-- index Tools!Views!ListBox --><li><p><b>Tools|Views|ListBox</b><br> Click this menu option and then click the form to place a ListBox on the form.</p>
+<!-- index Tools!Views!ListView --><li><p><b>Tools|Views|ListView</b><br> Click this menu option and then click the form to place a ListView on the form.</p>
+<!-- index Tools!Views!Icon View --><li><p><b>Tools|Views|Icon View</b><br> Click this menu option and then click the form to place an IconView on the form.</p>
+<!-- index Tools!Views!Table --><li><p><b>Tools|Views|Table</b><br> Click this menu option and then click the form to place a Table on the form.</p>
+<!-- index Tools!Views!Table --><li><p><b>Tools|Database|DataTable</b><br> Click this menu option and then click the form to place a DataTable on the form.</p>
+<!-- index Tools!Database!DataBrowser --><li><p><b>Tools|Database|DataBrowser</b><br> Click this menu option and then click the form to place a DataBrowser on the form.</p>
+<!-- index Tools!Database!DataView --><li><p><b>Tools|Database|DataView</b><br> Click this menu option and then click the form to place a DataView on the form.</p>
+<!-- index Tools!Input!LineEdit --><li><p><b>Tools|Input|LineEdit</b><br> Click this menu option and then click the form to place a LineEdit on the form.</p>
+<!-- index Tools!Input!SpinBox --><li><p><b>Tools|Input|SpinBox</b><br> Click this menu option and then click the form to place a SpinBox on the form.</p>
+<!-- index Tools!Input!DateEdit --><li><p><b>Tools|Input|DateEdit</b><br> Click this menu option and then click the form to place a DateEdit on the form.</p>
+<!-- index Tools!Input!TimeEdit --><li><p><b>Tools|Input|TimeEdit</b><br> Click this menu option and then click the form to place a TimeEdit on the form.</p>
+<!-- index Tools!Input!DateTimeEdit --><li><p><b>Tools|Input|DateTimeEdit</b><br> Click this menu option and then click the form to place a DateTimeEdit on the form.</p>
+<!-- index Tools!Input!TextEdit --><li><p><b>Tools|Input|TextEdit</b><br> Click this menu option and then click the form to place a TextEdit on the form.</p>
+<!-- index Tools!Input!ComboBox --><li><p><b>Tools|Input|ComboBox</b><br> Click this menu option and then click the form to place a ComboBox on the form.</p>
+<!-- index Tools!Input!Slider --><li><p><b>Tools|Input|Slider</b><br> Click this menu option and then click the form to place a Slider on the form.</p>
+<!-- index Tools!Input!ScrollBar --><li><p><b>Tools|Input|ScrollBar</b><br> Click this menu option and then click the form to place a Scrollbar on the form.</p>
+<!-- index Tools!Input!Dial --><li><p><b>Tools|Input|Dial</b><br> Click this menu option and then click the form to place a Dial on the form.</p>
+<!-- index Tools!Display!TextLabel --><li><p><b>Tools|Display|TextLabel</b><br> Click this menu option and then click the form to place a TextLabel on the form.</p>
+<!-- index Tools!Display!PixmapLabel --><li><p><b>Tools|Display|PixmapLabel</b><br> Click this menu option and then click the form to place a PixmapLabel on the form.</p>
+<!-- index Tools!Display!LCDNumber --><li><p><b>Tools|Display|LCDNumber</b><br> Click this menu option and then click the form to place a LCDNumber on the form.</p>
+<!-- index Tools!Display!Line --><li><p><b>Tools|Display|Line</b><br> Click this menu option and then click the form to place a Line on the form.</p>
+<!-- index Tools!Display!ProgressBar --><li><p><b>Tools|Display|ProgressBar</b><br> Click this menu option and then click the form to place a ProgressBar on the form.</p>
+<!-- index Tools!Display!TextBrowser --><li><p><b>Tools|Display|TextBrowser</b><br> Click this menu option and then click the form to place a TextBrowser on the form.</p>
+<!-- index Edit Custom Widgets Dialog --><li><p><b>Tools|Custom|Edit Custom Widgets</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#7-1">Edit Custom Widgets Dialog</a>.</p>
+<li><p><b>Tools|Custom|<My Custom Widget></b><br> Click this menu option and then click the form to place the Custom Widget on the form. Note that this menu option only appears if you have created a widget using <b>Tools|Custom|Edit Custom Widgets</b>.</p>
+<li><p><b>Tools|Configure Toolbox</b><br> Click this menu option to invoke the <a href="designer-manual-13.html#7-2">Configure Toolbox Dialog</a>.</p>
+</ul><p>See also <a href="designer-manual-12.html#5">The Tools Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-layoutmenu.png" width="275" height="216">
+</p>
+<blockquote><p align="center"><em>The Layout Menu</em></p></blockquote>
+<h3><a name="7"></a>The Layout Menu</h3>
+<!-- index Layouts --><p>This menu is invoked with <b>Alt+L</b>, and provides the following options:</p>
+<ul><!-- index Layouts!Adjust Size --><li><p><b>Layout|Adjust Size</b><br> Click this menu option (or press <b>Ctrl+J</b>) to adjust the size of the widget to it's recommended size.</p>
+<!-- index Layouts!Horizontal --><li><p><b>Layout|Lay Out Horizontally</b><br> Click this menu option (or press <b>Ctrl+H</b>) to lay out the selected widgets or layouts side by side. Use <b>Shift+Click</b> to select each widget or layout, and then choose this menu option to group them horizontally. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>. If only one widget is selected, its child widgets will be laid out horizontally.</p>
+<!-- index Layouts!Vertical --><li><p><b>Layout|Lay Out Vertically</b><br> Click this menu option (or press <b>Ctrl+L</b>) to lay out the selected widgets one above the other. Use <b>Shift+Click</b> to select each widget or layout, and then choose this menu option to group them vertically. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>. If only one widget is selected, its child widgets will be laid out vertically.</p>
+<!-- index Layouts!Grid --><li><p><b>Layout|Lay Out in a Grid</b><br> Click this menu option (or press <b>Ctrl+G</b>) to lay out the selected widgets in a grid. If only one widget is selected, its child widgets will be laid out in a grid.</p>
+<!-- index Layouts!Horizontal --><!-- index Layouts!Splitters --><li><p><b>Layout|Lay Out Horizontally (in Splitter)</b><br> Click this menu option to lay out the selected widgets or layouts side by side with a splitter between each. Use <b>Shift+Click</b> to select each widget or layout, and then choose this menu option to group them horizontally. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<!-- index Layouts!Vertical --><!-- index Layouts!Splitters --><li><p><b>Layout|Lay Out Vertically (in Splitter)</b><br> Click this menu option to lay out the selected widgets or layouts one above the other with a splitter between each. Use <b>Shift+Click</b> to select each widget or layout, and then choose this menu option to group them vertically. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<!-- index Layouts!Break layout --><li><p><b>Layout|Break Layout</b><br> Click this menu option (or press <b>Ctrl+B</b>) to break a layout. Click on the layout, then select this option; the layout is deleted.</p>
+<!-- index Layouts!Spacers --><li><p><b>Layout|Add Spacer</b><br> Click this menu option to add a vertical or horizontal spacer to widgets that take up too much space on the form. The spacer consumes extra space in the layout.</p>
+</ul><p>See also <a href="designer-manual-12.html#5-9">The Layout Toolbar Buttons</a>.</p>
+<p align="center"><img align="middle" src="rmo-previewmenu.png" width="202" height="181">
+</p>
+<blockquote><p align="center"><em>The Preview Menu</em></p></blockquote>
+<h3><a name="8"></a>The Preview Menu</h3>
+<!-- index Previewing --><p>This menu is invoked with <b>Alt+P</b>, and provides the following options:</p>
+<ul><li><p><b>Preview|Preview Form</b><br> Click this menu option (or press <b>Ctrl+T</b>) to preview the form within <em>Qt Designer</em>.</p>
+<li><p><b>Preview|...in Windows Style</b><br> Click this menu option to preview the form in the Windows style.</p>
+<li><p><b>Preview|...in Motif Style</b><br> Click this menu option to preview the form in the Motif style.</p>
+<li><p><b>Preview|...in CDE Style</b><br> Click this menu option to preview the form in the CDE style.</p>
+<li><p><b>Preview|...in MotifPlus Style</b><br> Click this menu option to preview the form in the MotifPlus style.</p>
+<li><p><b>Preview|...in Platinum Style</b><br> Click this menu option to preview the form in the Platinum style.</p>
+<li><p><b>Preview|...in SGI Style</b><br> Click this menu option to preview the form in the SGI style.</p>
+</ul><p align="center"><img align="middle" src="rmo-windowmenu.png" width="221" height="262">
+</p>
+<blockquote><p align="center"><em>The Window Menu</em></p></blockquote>
+<h3><a name="9"></a>The Window Menu</h3>
+<p>This menu is invoked with <b>Alt+W</b>, and provides the following options:</p>
+<ul><li><p><b>Window|Close</b><br> Click this menu option (or press <b>Ctrl+F4</b>) to close the window that is currently active.</p>
+<li><p><b>Window|Close All</b><br> Click this menu option to close all the windows that are currently open.</p>
+<li><p><b>Window|Next</b><br> Click this menu option (or press <b>Ctrl+F6</b>) to make the next window active. The order is the order in which the windows were opened.</p>
+<li><p><b>Window|Previous</b><br> Click this menu option (or press <b>Ctrl+Shift+F6</b>) to make the previous window active. The order is the order in which the windows were opened.</p>
+<li><p><b>Window|Tile</b><br> Click this menu option to arrange all the open files and forms side by side so that each window is visible.</p>
+<li><p><b>Window|Cascade</b><br> Click this menu option to stack all the open file and forms, one on top of the other, but with an overlap so that each window's title bar is visible.</p>
+<!-- index Project Overview Window --><!-- index Windows!Project Overview --><li><p><b>Window|Views|Project Overview</b><br> Click this menu option to make the <a href="designer-manual-15.html#2">Project Overview Window</a> visible, or to hide it if it is already visible. If the window is currently visible, a check mark will appear next to the name in the menu.</p>
+<!-- index Property Editor/Signal Handlers --><!-- index Windows!Property Editor/Signal Handlers --><li><p><b>Window|Views|Property Editor/Signal Handlers</b><br> Click this menu option to make the <a href="designer-manual-15.html#4">Property Editor/Signal Handlers Window</a> visible, or to hide it if it is already visible. If the window is currently visible, a check mark will appear next to the name in the menu.</p>
+<!-- index Object Explorer --><!-- index Windows!Object Explorer --><li><p><b>Window|Views|Object Explorer</b><br> Click this menu option to make the <a href="designer-manual-15.html#3">Object Explorer Window</a> visible, or to hide it if it is already visible. If the window is currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Views|Line Up</b><br> Click this menu option to eliminate any extra space between toolbars and line them up next to each other all at once, rather than moving each individual toolbar into place.</p>
+<li><p><b>Window|Toolbars|File</b><br> Click this menu option to make the File toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Edit</b><br> Click this menu option to make the Edit toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Search</b><br> Click this menu option to make the Search toolbar buttons visible, or to hide them if they are already visible. if the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Layout</b><br> Click this menu option to make the Layout toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Tools</b><br> Click this menu option to make the Tools toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Buttons</b><br> Click this menu option to make the Buttons toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Containers</b><br> Click this menu option to make the Containers toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Views</b><br> Click this menu option to make the Views toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Database</b><br> Click this menu option to make the Database toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Input</b><br> Click this menu option to make the Input toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Display</b><br> Click this menu option to make the Display toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Custom</b><br> Click this menu option to make the Custom toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Help</b><br> Click this menu option to make the Help toolbar buttons visible, or to hide them if they are already visible. If the toolbar buttons are currently visible, a check mark will appear next to the name in the menu.</p>
+<li><p><b>Window|Toolbars|Line Up</b><br> Click this menu option to eliminate extra space between toolbars and line them up next to each other all at once, rather than moving each individual toolbar into place.</p>
+<li><p><b>Window|n</b><br> Click one of the numbered menu options that list the currently open files and forms to switch to the named file or form.</p>
+</ul><p align="center"><img align="middle" src="rmo-helpmenu.png" width="216" height="133">
+</p>
+<blockquote><p align="center"><em>The Help Menu</em></p></blockquote>
+<h3><a name="10"></a>The Help Menu</h3>
+<p>This menu is invoked with <b>Alt+H</b>, and provides the following options:</p>
+<ul><li><p><b>Help|Contents</b><br> Click this menu option (or press <b>F1</b>) to invoke the <a href="assistant.html">Qt Assistant</a> application which provides on-line help. The on-line help is context sensitive, so you can type the item you want more information about in the line edit and Qt Assistant will automatically find it if it is available.</p>
+<li><p><b>Help|Manual</b><br> Click this menu option (or press <b>Ctrl+M</b>) to invoke the <a href="assistant.html">Qt Assistant</a> application which opens showing this manual.</p>
+<li><p><b>Help|About</b><br> Click this menu option to invoke the About <em>Qt Designer</em> dialog which gives the version number and some licensing information.</p>
+<li><p><b>Help|About Qt</b><br> Click this menu option to invoke a dialog which provides information about Qt.</p>
+<li><p><b>Help|What's This?</b><br> Click this menu option to invoke a small question mark that is attached to the mouse pointer. Click on a feature which you would like more information about. A popup box appears with information about the feature.</p>
+</ul><p>See also <a href="designer-manual-12.html#6">The Help Toolbar Button</a>.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-10.html">Prev: Reference: Key Bindings</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-12.html">Next: Reference: Toolbar Buttons</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-12.html b/doc/html/designer-manual-12.html
new file mode 100644
index 0000000..5b618bc
--- /dev/null
+++ b/doc/html/designer-manual-12.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-toolbuttons.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Toolbar Buttons</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-11.html">Prev: Reference: Menu Options</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-13.html">Next: Reference: Dialogs</a>]</p>
+<h2 align="center">Reference: Toolbar Buttons</h2>
+<a name="reference-toolbar-buttons"></a><h3><a name="1"></a>Introduction</h3>
+<p><em>Qt Designer</em>'s toolbar buttons provide fast access to common functionality. Toolbar buttons are grouped in several toolbars. Toolbars have a handle at the left hand side which can be clicked to minimize the toolbar. Toolbars that have been minimized have their handle appear just under the menu bar; click the handle to restore the toolbar to the last position it occupied. You can drag a toolbar's handle to move the toolbar to a different position in the toolbar area. Toolbars can be dragged out of the toolbar area entirely and made into stand-alone tool dock windows. To hide a tool dock window click its close button. To restore a hidden tool dock window, right click the tool area, then click the name of the tool dock window you wish to restore.</p>
+<h3><a name="2"></a>The File Toolbar Buttons</h3>
+<p align="center"><img align="middle" src="rtb-file.png" width="213" height="31">
+</p>
+<blockquote><p align="center"><em>File Toolbuttons</em></p></blockquote>
+<ul><li><p><b>New</b><br> Click this toolbar button (or press <b>Ctrl+N</b>) to create a new project, form or file. This option invokes the <a href="designer-manual-13.html#3-1">New File Dialog</a>.</p>
+<li><p><b>Open</b><br> Click this toolbar button (or press <b>Ctrl+O</b>) to open existing projects, forms or files. This button invokes the <a href="designer-manual-13.html#3-2">File Open Dialog</a> which is used to select files.</p>
+<li><p><b>Save</b><br> Click this toolbar button (or press <b>Ctrl+S</b>) to save the project, forms and files. For a new project that has no forms or files, click 'Save' to save the project before exiting. For new forms, click 'Save' and the <a href="designer-manual-13.html#3-4">Save Form As Dialog</a> appears.</p>
+<li><p><b>Active Project</b><br> Click the combobox to view the names of the projects that are currently open and select a project name to toggle between the projects.</p>
+</ul><h3><a name="3"></a>The Edit Toolbar Buttons</h3>
+<p align="center"><img align="middle" src="rtb-edit.png" width="165" height="29">
+</p>
+<blockquote><p align="center"><em>Edit Toolbuttons</em></p></blockquote>
+<ul><li><p><b>Undo</b><br> Click this toolbar button (or press <b>Ctrl+Z</b>) to undo an action. The name of the last action that was performed appears after the word 'Undo' in this toolbar button's tooltip.</p>
+<li><p><b>Redo</b><br> Click this toolbar button (or press <b>Ctrl+Y</b>) to redo an action. The name of the last action that was performed appears after the word 'Redo' in this toolbar button's tooltip.</p>
+<li><p><b>Cut</b><br> Click this toolbar button (or press <b>Ctrl+X</b>) to delete the selected item from the current form or file and copy it to the clipboard.</p>
+<li><p><b>Copy</b><br> Click this toolbar button (or press <b>Ctrl+C</b>) to copy the selected item from the current form or file to the clipboard.</p>
+<li><p><b>Paste</b><br> Click this toolbar button (or press <b>Ctrl+V</b>) to paste the selected item (if any) from the clipboard into the current form or file.</p>
+</ul><h3><a name="4"></a>The Search Toolbar Buttons</h3>
+<p align="center"><img align="middle" src="rtb-search.png" width="168" height="28">
+</p>
+<blockquote><p align="center"><em>Search Toolbuttons</em></p></blockquote>
+<ul><li><p><b>Find</b><br> Click this toolbar button (or press <b>Ctrl+F</b>) to invoke the <a href="designer-manual-13.html#6-1">Find Text Dialog</a>.</p>
+<li><p><b>Find Incremental</b><br> Click this toolbar button (or press <b>Alt+I</b>) to place the cursor in the text box located next to the <b>Find</b> toolbar button. Type characters into the text box; as you type, <em>Qt Designer</em> will highlight the first occurrence of the text that it finds in the file. Press the <b>Enter</b> key to go to the next occurrence of the text. Press the <b>Esc</b> key once you have found the word you are looking for to place the cursor in the editor.</p>
+</ul><h3><a name="5"></a>The Tools Toolbar Buttons</h3>
+<p>The tools toolbar buttons are available through toolbars (as they have always been prior to Qt 3.1), and also via the new Toolbox. From Qt 3.1, the tools toolbars are hidden and the Toolbox is shown. The Toolbox is divided into groups, with the first group being "Common Widgets" which contains the widgets you're likely to use most often. If you prefer to use the original toolbar setup, you can access the toolbars by clicking <b>Windows|Toolbars</b> and then selecting the toolbars you want to be visible from the context menu.</p>
+<p>The Toolbox contains categories describing the type of toolbuttons you can find within each catgory. Click a category name to access the toolbuttons in that category. To use a widget in a category, click the widget to activate it. Click the 'x' in the right hand corner of the Toolbox to close it. To make the Toolbox appear again, click <b>Window|Views|Toolbox</b>.</p>
+<p align="center"><img align="middle" src="rtb-toolbox.png" width="171" height="513">
+</p>
+<blockquote><p align="center"><em>The Toolbox</em></p></blockquote>
+<p>If you want to add the same kind of widget several times to a form, for example, several push buttons, <em>double click</em> the widget's toolbar button. After this, each time you click the form a new widget will be added. Click the <b>Pointer</b> toolbar button to leave this mode.</p>
+<h4><a name="5-1"></a>Tools</h4>
+<p align="center"><img align="middle" src="rtb-tools.png" width="130" height="29">
+</p>
+<blockquote><p align="center"><em>Tools</em></p></blockquote>
+<ul><li><p><b>Pointer</b><br> Click this toolbar button (or press <b>F2</b>) to de-select any selected widget toolbar button. The pointer is also used to stop inserting new widgets if you double clicked a widget toolbar button. Press the <b>Esc</b> key to return to the pointer at any time.</p>
+<li><p><b>Connect Signals and Slots</b><br> Click this toolbar button (or press <b>F3</b>) to connect signals and slots. Then click on a widget and drag the connection line to the widget (or the form) that you want to connect to. Release the mouse button and the <a href="designer-manual-13.html#4-2">View and Edit Connections Dialog</a> will appear.</p>
+<li><p><b>Tab Order</b><br> Click this toolbar button (or press <b>F4</b>) to set the tab order for all the widgets on the form that can accept keyboard focus. Click this toolbar button and blue circles with numbers on them appear next to the widgets. Click the widget that you want to be first in the tab order, then click the widget that should be next in the tab order, and continue until all the widgets have the tab order numbers you want. If you make a mistake, double click the first widget and start again. Press <b>Esc</b> to leave tab order mode. If you want to revert your changes, leave tab order mode, then undo.</p>
+<li><p><b>Set Buddy</b><br> Click this toolbar button (or press <b>F12</b>) to set a buddy to a label. Then click on a label and drag the line to the widget that you want to be the buddy. Release the mouse button and the buddy is set.</p>
+</ul><h4><a name="5-2"></a>Buttons</h4>
+<p align="center"><img align="middle" src="rtb-tbbuttons.png" width="173" height="306">
+</p>
+<blockquote><p align="center"><em>Buttons</em></p></blockquote>
+<ul><li><p><b>PushButton</b><br> Click this toolbar button, then click the form, to place a Pushbutton on the form.</p>
+<li><p><b>ToolButton</b><br> Click this toolbar button, then click the form, to place a Toolbutton on the form.</p>
+<li><p><b>RadioButton</b><br> Click this toolbar button, then click the form, to place a Radiobutton on the form. It is recommended that you place RadioButtons inside ButtonGroups so that Qt will automatically ensure that only one RadioButton in the group is active at any one time.</p>
+<li><p><b>CheckBox</b><br> Click this toolbar button, then click the form, to place a CheckBox on the form.</p>
+</ul><h4><a name="5-3"></a>Containers</h4>
+<p align="center"><img align="middle" src="rtb-tbcontain.png" width="170" height="341">
+</p>
+<blockquote><p align="center"><em>Containers</em></p></blockquote>
+<ul><li><p><b>GroupBox</b><br> Click this toolbar button, then click the form, to place a GroupBox on the form.</p>
+<li><p><b>ButtonGroup</b><br> Click this toolbar button, then click the form, to place a ButtonGroup on the form.</p>
+<li><p><b>Frame</b><br> Click this toolbar button, then click the form, to place a Frame on the form.</p>
+<li><p><b>TabWidget</b><br> Click this toolbar button, then click the form, to place a TabWidget on the form. To add or remove tabs, right click the tab widget and choose 'Add Page' or 'Remove Page'.</p>
+</ul><h4><a name="5-4"></a>Views</h4>
+<p align="center"><img align="middle" src="rtb-tbviews.png" width="172" height="343">
+</p>
+<blockquote><p align="center"><em>Views</em></p></blockquote>
+<ul><li><p><b>ListBox</b><br> Click this toolbar button, then click the form, to place a ListBox on the form.</p>
+<li><p><b>ListView</b><br> Click this toolbar button, then click the form, to place a ListView on the form.</p>
+<li><p><b>Icon View</b><br> Click this toolbar button, then click the form, to place an IconView on the form.</p>
+<li><p><b>Table</b><br> Click this toolbar button, then click the form to place a Table on the form.</p>
+</ul><h4><a name="5-5"></a>Database</h4>
+<p align="center"><img align="middle" src="rtb-tbdatabase.png" width="170" height="344">
+</p>
+<blockquote><p align="center"><em>Database Toolbuttons</em></p></blockquote>
+<ul><li><p><b>DataTable</b><br> Click this toolbar button, then click the form, to place a DataTable on the form.</p>
+<li><p><b>DataBrowser</b><br> Click this toolbar button, then click the form, to place a DataBrowser on the form.</p>
+<li><p><b>DataView</b><br> Click this toolbar button, then click the form, to place a DataView on the form.</p>
+</ul><h4><a name="5-6"></a>Input</h4>
+<p align="center"><img align="middle" src="rtb-tbinput.png" width="172" height="475">
+</p>
+<blockquote><p align="center"><em>Input Toolbuttons</em></p></blockquote>
+<ul><li><p><b>LineEdit</b><br> Click this toolbar button, then click the form, to place a LineEdit on the form.</p>
+<li><p><b>SpinBox</b><br> Click this toolbar button, then click the form, to place a SpinBox on the form.</p>
+<li><p><b>DateEdit</b><br> Click this toolbar button, then click the form, to place a DateEdit on the form.</p>
+<li><p><b>TimeEdit</b><br> Click this toolbar button, then click the form, to place a TimeEdit on the form.</p>
+<li><p><b>DateTimeEdit</b><br> Click this toolbar button, then click the form, to place a DateTimeEdit on the form.</p>
+<li><p><b>TextEdit</b><br> Click this toolbar button, then click the form, to place a TextEdit on the form.</p>
+<li><p><b>ComboBox</b><br> Click this toolbar button, then click the form, to place a ComboBox on the form.</p>
+<li><p><b>Slider</b><br> Click this toolbar button, then click the form, to place a Slider on the form.</p>
+<li><p><b>ScrollBar</b><br> Click this toolbar button, then click the form, to place a Scrollbar on the form.</p>
+<li><p><b>Dial</b><br> Click this toolbar button, then click the form, to place a Dial on the form.</p>
+</ul><h4><a name="5-7"></a>Display</h4>
+<p align="center"><img align="middle" src="rtb-tbdisplay.png" width="171" height="368">
+</p>
+<blockquote><p align="center"><em>Display Toolbuttons</em></p></blockquote>
+<ul><li><p><b>TextLabel</b><br> Click this toolbar button, then click the form, to place a TextLabel on the form.</p>
+<li><p><b>PixmapLabel</b><br> Click this toolbar button, then click the form, to place a PixmapLabel on the form.</p>
+<li><p><b>LCDNumber</b><br> Click this toolbar button, then click the form, to place a LCDNumber on the form.</p>
+<li><p><b>Line</b><br> Click this toolbar button, then click the form, to place a Line on the form.</p>
+<li><p><b>ProgressBar</b><br> Click this toolbar button, then click the form, to place a ProgressBar on the form.</p>
+<li><p><b>TextBrowser</b><br> Click this toolbar button, then click the form, to place a TextBrowser on the form.</p>
+</ul><h4><a name="5-8"></a>Custom</h4>
+<p align="center"><img align="middle" src="rtb-tbcustom.png" width="171" height="229">
+</p>
+<blockquote><p align="center"><em>Custom Widget Toolbutton</em></p></blockquote>
+<ul><li><p><b>My Custom Widget</b><br> Click this toolbar button, then click the form, to place a Custom Widget on the form. Note: this toolbar button only appears if you have created a custom widget using <b>Tools|Custom|Edit Custom Widgets</b>.</p>
+</ul><h4><a name="5-9"></a>The Layout Toolbar Buttons</h4>
+<p align="center"><img align="middle" src="rtb-layout.png" width="184" height="29">
+</p>
+<blockquote><p align="center"><em>Layout Toolbuttons</em></p></blockquote>
+<ul><li><p><b>Adjust Size</b><br> Click this toolbar button (or press <b>Ctrl+J</b>) to adjust the size of the widget to it's recommended size.</p>
+<li><p><b>Lay Out Horizontally</b><br> Click this toolbar button (or press <b>Ctrl+H</b>) to lay out the selected widgets or layouts side by side. Use <b>Shift+Click</b> to select each widget or layout, and then choose this toolbar button to group them horizontally. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<li><p><b>Lay Out Vertically</b><br> Click this toolbar button (or press <b>Ctrl+L</b>) to lay out the selected widgets one above the other. Use <b>Shift+Click</b> to select each widget or layout, and then choose this toolbar button to group them vertically. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<li><p><b>Lay out in a Grid</b><br> Click the widgets you want and then click this toolbar button (or press <b>Ctrl+G</b>) to lay out widgets in a grid.</p>
+<li><p><b>Lay Out Horizontally (in Splitter)</b><br> Click this toolbar button to lay out the selected groups of widgets or layouts side by side with a splitter between each group. Use <b>Shift+Click</b> to select each widget or layout, and then choose this toolbar button to group them horizontally. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<li><p><b>Lay Out Vertically (in Splitter)</b><br> Click this toolbar button to lay out the selected groups of widgets or layouts one above the other with a splitter between each group. Use <b>Shift+Click</b> to select each widget or layout, and then choose this toolbar button to group them vertically. Note that for complex widgets it is sometimes easiest to select widgets and layouts by clicking them in the Widgets tab of the <a href="designer-manual-15.html#3">Object Explorer Window</a>.</p>
+<li><p><b>Break Layout</b><br> Click this toolbar button (or press <b>Ctrl+B</b>) to break a layout. Click on the layout and select this option; the layout is deleted.</p>
+<li><p><b>Add Spacer</b><br> Click this toolbar button to add a spacer to widgets that take up too much space on the form. The spacer consumes extra space in the layout.</p>
+</ul><h3><a name="6"></a>The Help Toolbar Button</h3>
+<p align="center"><img align="middle" src="qd-helptoolbuttons3.png" width="27" height="40">
+</p>
+<blockquote><p align="center"><em>Help Toolbutton</em></p></blockquote>
+<ul><li><p><b>What's This?</b><br> Click this menu option to invoke a small question mark that is attached to the mouse pointer. Click on a feature which you would like more information about. A message box appears with information about the feature.</p>
+</ul><!-- eof -->
+<p align="right">[<a href="designer-manual-11.html">Prev: Reference: Menu Options</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-13.html">Next: Reference: Dialogs</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-13.html b/doc/html/designer-manual-13.html
new file mode 100644
index 0000000..ed0a55f
--- /dev/null
+++ b/doc/html/designer-manual-13.html
@@ -0,0 +1,447 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-mdialogs.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Dialogs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-12.html">Prev: Reference: Toolbar Buttons</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-14.html">Next: Reference: Wizards</a>]</p>
+<h2 align="center">Reference: Dialogs</h2>
+<a name="reference-dialogs"></a><h3><a name="1"></a>Introduction</h3>
+<p>This chapter describes and explains every <em>Qt Designer</em> dialog.</p>
+<h3><a name="2"></a>The Menu Dialogs</h3>
+<h4><a name="2-1"></a>Qt Designer New/Open Dialog</h4>
+<p align="center"><img align="middle" src="mw-startdesign.png" width="584" height="446">
+</p>
+<blockquote><p align="center"><em>Qt Designer New/Open</em></p></blockquote>
+<p>Start up <em>Qt Designer</em> to invoke the <em>Qt Designer New/Open</em> dialog. This dialog contains three tabs to use depending on what you want to do once you start up <em>Qt Designer</em>.</p>
+<h5><a name="2-1-1"></a>The New File/Project Tab</h5>
+<p>This tab is the default when you start up <em>Qt Designer</em>. Choose to start a new project or to create a file by selecting the appropriate icon from the window. For more information about the different file types available, see the <a href="designer-manual-13.html#3">The File Dialogs</a> section.</p>
+<p>Click the "Don't show this dialog in the future" checkbox to hide the dialog the next time you start up <em>Qt Designer</em>.</p>
+<h5><a name="2-1-2"></a>The Open File/Project Tab</h5>
+<p align="center"><img align="middle" src="rd-startdesigntab2.png" width="584" height="446">
+</p>
+<blockquote><p align="center"><em>Open File/Project</em></p></blockquote>
+<p>Click this tab to open an already existing file or project. The tab shows the current directory and default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type' combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files.</p>
+<p>Click <b>OK</b> to open the selected file. Click <b>Cancel</b> to leave the dialog without opening a new file.</p>
+<h5><a name="2-1-3"></a>The Recently Opened Tab</h5>
+<p>This tab displays all of the recently opened files or projects in a window. Select a file or project and then click <b>OK</b> to open it.</p>
+<h3><a name="3"></a>The File Dialogs</h3>
+<p align="center"><img align="middle" src="mw-newfile.png" width="565" height="330">
+</p>
+<blockquote><p align="center"><em>New File</em></p></blockquote>
+<a name="dialog-file-new"></a><h4><a name="3-1"></a>New File Dialog</h4>
+<p>Click <b>File|New</b> (or press <b>Ctrl+N</b>) to invoke the <em>New File</em> dialog. This dialog offers four kinds of files to choose from: C++ Project, Forms, Source files, and Main files.</p>
+<p>The 'Insert Into' drop-down combobox lists the open projects, defaulting to the current project. New files are added to the project displayed in this combobox. To add a new file to a different project, choose the project you want to use in the 'Insert Into' combobox.</p>
+<p>The 'Dialog' file type is highlighted by default when the <em>New File</em> dialog pops up. Click on the file type you want to use and click <b>OK</b> to create it. Click <b>Cancel</b> to leave the dialog without creating a new file. Note that if you select C++ Project, the 'Insert Into' combobox will be disabled, since it is not possible to insert a new C++ Project into an existing project.</p>
+<h5><a name="3-1-1"></a>C++ Project Files</h5>
+<p>Click <b>C++ Project</b> to start a new project. This option invokes the <a href="designer-manual-13.html#5-4">Project Settings Dialog</a>. C++ projects are saved as <tt>.pro</tt> files, which include the information <em>Qt Designer</em> needs to manage projects. When you add a form to your project in <em>Qt Designer</em>, it is automatically added to the FORMS section of the project file. The <tt>.pro</tt> file contains the list of forms (<tt>.ui</tt> files) used in the project. <em>Qt Designer</em> reads and writes <tt>.ui</tt> files, e.g. form.ui. The uic (user interface compiler) creates both a header file, e.g. form.h, and an implementation file, e.g. form.cpp, from the <tt>.ui</tt> file.</p>
+<h5><a name="3-1-2"></a>Dialog Forms</h5>
+<p>Click <b>Dialog</b> to create a plain dialog form. Typically, this type of form is used to present the user with configuration options, or to present related sets of choices, for example, printer setting dialogs and find and replace dialogs.</p>
+<h5><a name="3-1-3"></a>Wizard Forms</h5>
+<p>Click <b>Wizard</b> to create a wizard form. A wizard is a special type of input dialog that consists of a sequence of dialog pages. A wizard's purpose is to assist a user by automating a task by walking the user through the process step by step. Wizards are useful for complex or infrequently occurring tasks that people may find difficult to learn or do. Initially the wizard form consists of a single dialog page. Use the right click context menu to add additional pages and to change page titles.</p>
+<h5><a name="3-1-4"></a>Widget Forms</h5>
+<p>Click <b>Widget</b> to create a form whose superclass is QWidget rather than QDialog.</p>
+<h5><a name="3-1-5"></a>Main Window Form</h5>
+<p>Click <b>Main Window</b> to invoke the <a href="designer-manual-14.html#2">Main Window Wizard</a>. This wizard is used to create actions, menu options and toolbars through which the user can invoke actions. This form is used to create typical main-window style applications.</p>
+<h5><a name="3-1-6"></a>Configuration Dialog Form</h5>
+<p>Click <b>Configuration Dialog</b> creates a form with a listbox on the left, and a tabwidget filling the body of the form, along with Help, OK and Cancel buttons.</p>
+<h5><a name="3-1-7"></a>Dialog with Buttons (Bottom) Form</h5>
+<p>The <b>Dialog with Buttons (Bottom)</b> form is a template with default buttons at the bottom of the form.</p>
+<h5><a name="3-1-8"></a>Dialog with Buttons Form (Right)</h5>
+<p>The <b>Dialog with Buttons (Right)</b> form is a template with default buttons at the right of the form.</p>
+<h5><a name="3-1-9"></a>Tab Dialog Form</h5>
+<p>The <b>Tab Dialog</b> form has a tab widget as its central widget, along with Help, OK and Cancel buttons along the bottom.</p>
+<h5><a name="3-1-10"></a>C++ Source File</h5>
+<p>Click <b>C++ Source File</b> to create a new empty C++ file. The file will automatically be added to the project when it is saved.</p>
+<h5><a name="3-1-11"></a>C++ Header File</h5>
+<p>Click <b>C++ Header File</b> to create a new empty C++ header file. The file will automatically be added to the project when it is saved.</p>
+<h5><a name="3-1-12"></a>C++ Main File</h5>
+<p>Click <b>C++ Main File</b> to invoke the <a href="designer-manual-13.html#3-1-12-1">Configure Main-File Dialog</a> which will create a basic <tt>main.cpp</tt> file automatically. C++ Main file is not an option if you do not have a project open. In addition, this file type is not avalable in the <em>Qt Designer New/Open</em> dialog because you cannot create a main.cpp file without creating a project.</p>
+<a name="dialog-configure-main-file"></a><h6><a name="3-1-12-1"></a>Configure Main-File Dialog</h6>
+<p align="center"><img align="middle" src="rd-configmf.png" width="316" height="309">
+</p>
+<blockquote><p align="center"><em>Configure Main-File</em></p></blockquote>
+<p>Click <b>File|New|C++ Main-File</b> to invoke the <em>Configure Main-File</em> dialog. Use this dialog to configure the main file and its forms.</p>
+<p>To change the default file name, type it in the 'Filename' line edit. Choose the form to use as the application's main form from the line edit by clicking it.</p>
+<p>Click <b>OK</b> to accept the configurations and <em>Qt Designer</em> will create a default <tt>main.cpp</tt> file. Click <b>Cancel</b> to leave the dialog.</p>
+<p>Note for database programmers: If you create a <tt>main.cpp</tt> file using <em>Qt Designer</em>, this file will <em>not</em> include the <tt>createConnections()</tt> function. We do not include this function because it needs the username and password for the database connection, and you may prefer to handle these differently from our simple example function. As a result, applications that preview correctly in <em>Qt Designer</em> will not run unless you implement your own database connections function.</p>
+<a name="dialog-file-open"></a><h4><a name="3-2"></a>File Open Dialog</h4>
+<p align="center"><img align="middle" src="rd-open.png" width="550" height="344">
+</p>
+<blockquote><p align="center"><em>File Open</em></p></blockquote>
+<p>Click <b>File|Open</b> (or press<b>Ctrl+O</b>) to invoke the <em>Open</em> dialog. Use this dialog to open existing files.</p>
+<p>The <em>Open</em> dialog shows the current directory and default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type' combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files.</p>
+<p>Click <b>Open</b> to open the selected file. Click <b>Cancel</b> to leave the dialog without opening a new file.</p>
+<p>Note: For Windows, the System File Dialogs are used.</p>
+<a name="dialog-file-save-as"></a><h4><a name="3-3"></a>Save As Dialog</h4>
+<p align="center"><img align="middle" src="rd-saveas.png" width="455" height="325">
+</p>
+<blockquote><p align="center"><em>Save As Dialog</em></p></blockquote>
+<p>Click <b>File|Save As</b> to invoke the <em>Save As</em> dialog. Use this dialog to save files to a directory.</p>
+<p>The <em>Save As</em> dialog shows the current directory and default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type'combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files.</p>
+<p>Click <b>Save</b> to save the selected file. Click <b>Cancel</b> to leave the dialog without saving the file.</p>
+<p>Note: For Windows, the System File Dialogs are used.</p>
+<a name="dialog-save-form-as"></a><h4><a name="3-4"></a>Save Form As Dialog</h4>
+<p align="center"><img align="middle" src="rd-saveformas.png" width="496" height="319">
+</p>
+<blockquote><p align="center"><em>Save Form As</em></p></blockquote>
+<p>Click <b>File|Save As</b> to invoke the <em>Save Form As</em> when saving a form.</p>
+<p>The <em>Save Form As</em> dialog shows the current directory and the default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type'combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files.</p>
+<p>Click <b>Save</b> to save the selected form. Click <b>Cancel</b> to leave the dialog without saving the form.</p>
+<a name="dialog-file-create-template"></a><h4><a name="3-5"></a>Create Template Dialog</h4>
+<p align="center"><img align="middle" src="rd-template.png" width="355" height="274">
+</p>
+<blockquote><p align="center"><em>Create Template Dialog</em></p></blockquote>
+<p>Click <b>File|Create Template</b> to invoke the <em>Create Template</em> dialog. Use this dialog to create templates.</p>
+<p>The 'Template Name' line edit defaults to 'New Template'. To change the name to a different name, type it in the line edit. Click the 'Baseclass for Template' scroll bar to choose a base class for the template.</p>
+<p>Click <b>Create</b> to create the template. Click <b>Cancel</b> to leave the dialog without creating a template.</p>
+<p>If you create a template it will appear in the <a href="designer-manual-13.html#3-1">New File Dialog</a>. Templates are useful when you have to produce a large number of similar forms, or where you want to 'brand' your forms.</p>
+<h3><a name="4"></a>The Edit Dialogs</h3>
+<a name="dialog-edit-slots"></a><h4><a name="4-1"></a>Edit Functions Dialog</h4>
+<p align="center"><img align="middle" src="qs-editfunc.png" width="608" height="397">
+</p>
+<blockquote><p align="center"><em>Edit Functions</em></p></blockquote>
+<p>Click <b>Edit|Slots</b> to invoke the <em>Edit Functions</em> dialog. Use this dialog to edit or create slots and functions which are used in conjunction with signals to provide communication between objects.</p>
+<p>When this dialog is invoked, all existing slots and functions are shown in the listview. The column headers Function, Return Type, Specifier, Access, Type, and In Use provide details about each function that is listed. Click on any of the column headers to sort the functions. To create a new function, click the <b>New Function</b> button. The new function has a default name that you should replace by typing the new name in the 'Function' line edit. The 'Return Type' is also a default that can be changed by typing in the line edit. To change the 'Specifier' or 'Access', click the combobox and choose the required specifier or access. To change the type of a function (function or slot), click the Type combobox. To remove a function, click the function you want to delete, and then click the <b>Delete Function</b> button.</p>
+<p>Click <b>OK</b> to save all changes made to the functions. Click <b>Cancel</b> to leave the dialog without making any changes to the functions.</p>
+<a name="dialog-view-connections"></a><h4><a name="4-2"></a>View and Edit Connections Dialog</h4>
+<p align="center"><img align="middle" src="qs-editconn1.png" width="608" height="391">
+</p>
+<blockquote><p align="center"><em>View and Edit Connections</em></p></blockquote>
+<p>Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog. This dialog is also accessed by right-clicking any of the widgets. Use this dialog to view and edit signal and slot connections.</p>
+<p>When this dialog is invoked, all existing connections are shown in the listbox. The column headers Sender, Signal, Receiver, and Slot provide details about each connection. Click the column headers to sort the connections. To add a new connection, click the <b>New</b> button. To specify the Sender, Signal, Receiver, and Slot of the connection, click the appropriate fields in the connection and select from the combobox. To delete connections, select the connection(s) and then click the <b>Delete</b> button. To edit custom slots for the current form, choose the form as the Receiver in the currently selected connection and then click the <b>Edit Slots</b> button. This will invoke the <em>Edit Functions</em> dialog.</p>
+<p>Click <b>OK</b> to save all changes made to the connections. Click <b>Cancel</b> to leave the dialog without making any changes to the connections.</p>
+<a name="dialog-edit-form-settings"></a><h4><a name="4-3"></a>Form Settings Dialog</h4>
+<p align="center"><img align="middle" src="rd-formset.png" width="605" height="484">
+</p>
+<blockquote><p align="center"><em>Form Settings</em></p></blockquote>
+<p>Click <b>Edit|Form Settings</b> to invoke the <em>Form Settings</em> dialog. Use this dialog to save the form's settings, pixmap, and layout properties.</p>
+<h5><a name="4-3-1"></a>Settings</h5>
+<p>In the Settings section, you can change or add the name of the class that will be created by typing in the 'Class Name' line edit. Note that the default name is the form name, but it can be changed. You can also enter text to the 'Comment' and 'Author' line edits or leave them blank, since they are not required.</p>
+<h5><a name="4-3-2"></a>Pixmaps</h5>
+<p>The default (for projects) is 'Project Imagefile'. This is the recommended option. Images are handled automatically, with <em>Qt Designer</em> storing the images in a subdirectory, and <tt>uic</tt> producing code that contains the images and the necessary supporting code. Each image is stored just once, no matter how many forms it is used in.</p>
+<p>If you do not want <em>Qt Designer</em> to handle the images, (or are not using a project) choose either 'Save Inline' or 'Use Function'. 'Save Inline' saves the pixmaps in the <tt>.ui</tt> files. The disadvantage of this approach is that it stores images in the forms in which they're used, meaning that images cannot be shared across forms. Click 'Use Function' to use your own icon-loader function for loading pixmaps. Type the function's name (with no signature) in the 'Use Function' line edit. This function will be used in the generated code for loading pixmaps. Your function will be called with the text you put in the pixmap property (e.g. the image name) whenever an image is required.</p>
+<h5><a name="4-3-3"></a>Layouts</h5>
+<p>Click the 'Default Margin' spinbox or the 'Default Spacing' spinbox to change the default layout settings of the current form.</p>
+<p>To use the functions in the generated code to dynamically retrieve values for the layout's default margin and spacing, check the Use Functions chechbox. In the Margin and Spacing line edits, specify the function names (no signatures or parantheses) which should be used to retrieve the margin and spacing.</p>
+<p>Click <b>OK</b> to accept changes to the form settings. Click <b>Cancel</b> to leave the dialog without making any changes.</p>
+<a name="dialog-edit-preferences"></a><h4><a name="4-4"></a>Preferences Dialog</h4>
+<p>Click <b>Edit|Preferences</b> to invoke the <em>Preferences</em> dialog. This dialog has a tab for 'General' preferences. If you have the C++ Editor plugin, the dialog will also have a tab for the C++ Editor.</p>
+<h5><a name="4-4-1"></a>General Tab</h5>
+<p align="center"><img align="middle" src="qd-preferences-dlg.png" width="708" height="617">
+</p>
+<blockquote><p align="center"><em>Preferences- General Tab</em></p></blockquote>
+<p>The 'General' tab has sections for Background, Grid, General, File Saving, and Plugin Paths.</p>
+<p>The Background section defaults to 'Pixmap'. To change the default, click the <b>Select a Pixmap</b> button next to the 'Pixmap' radio button to invoke the <em>Choose a Pixmap... Dialog</em>. Click the 'Color' radio button to change the background to a color instead of a pixmap. Click the <b>Choose a Color</b> button located to the right of the 'Color' radio button to invoke the <em>Select Color Dialog</em>.</p>
+<p>The 'Grid' section has options for customizing the grid on the form. The 'Show Grid' checkbox located above the 'Grid' section is checked by default. Developers using <em>Qt Designer</em> almost always use Qt's layouts to design their forms and rarely make any use of the grid. The grid is provided for the rare occasions when a form is created using widgets with fixed sizes and positions. When 'Show Grid' is checked, you can customize the grid's appearance. When it is unchecked, the 'Grid' section is disabled. The 'Snap to Grid' checkbox is also checked by default. When it is checked, widgets are placed on a dot (snap to the grid) using the X|Y resolution. When it is unchecked, the 'Grid-X' and 'Grid-Y' spin boxes are disabled. Click the 'Grid X' and 'Grid Y' spinboxes to customize the grid settings for all forms.</p>
+<p>The 'General' section of the General tab has four checkboxes. Check the 'Restore last workspace on startup' checkbox to save the size and positions of the windows and toolbars of <em>Qt Designer</em>. The next time you start up <em>Qt Designer</em>, the windows and toolbars are restored to their last positions. Check the 'Show Splash Screen on startup' checkbox to display the <em>Qt Designer</em> splash screen when you start up the application. Check the 'Disable Database Auto-Edit in Preview' checkbox to disable the ability to update or delete data in the database to which you are connected when working with database widgets. Check the 'Show Toolbutton Label's to have textual labels appear beneath <em>Qt Designer</em>'s toolbar buttons.</p>
+<p>If you want <em>Qt Designer</em> to automatically save files check 'Enable Auto Save', and set a time interval.</p>
+<p><em>Qt Designer</em> loads the plugins found in its plugin paths. If you want to add your own custom plugin paths, simply enter them (one per line) in the plugin paths multi-line editor.</p>
+<h5><a name="4-4-2"></a>C++ Editor Tab</h5>
+<p align="center"><img align="middle" src="rd-prefedit1.png" width="480" height="488">
+</p>
+<blockquote><p align="center"><em>Preferences- C++ Editor Tab</em></p></blockquote>
+<p>The C++ Editor tab provides options for customizing the editor. The 'Syntax Highlighting' section lets you change the way the syntax is viewed in the editor. Click the 'Element' listbox and choose an element. Click the 'Family' listbox to change the font style for that element. Click the 'Size' spinbox to choose a font size. You can change the font to Bold, Italic, or Underline by clicking the corresponding checkbox. Note, that all the fonts used derive from the 'Standard' element, so if you want to change the font used for everything, change the 'Standard' element. Click the <b>Color</b> button to invoke the <em>Select Color Dialog</em>. As you make changes to each element, you can view the changes in the 'Preview' line edit.</p>
+<p>The 'Options' section has the Wordwrap, Completion, and Parentheses Matching checkboxes checked by default. Click the checkboxes to de-select them.</p>
+<p>Click <b>OK</b> to accept changes to <em>Preferences</em> dialog. Click <b>Cancel</b> to leave the dialog without making any changes.</p>
+<h3><a name="5"></a>The Project Dialogs</h3>
+<a name="dialog-add"></a><h4><a name="5-1"></a>Add Dialog</h4>
+<p align="center"><img align="middle" src="rd-add.png" width="550" height="344">
+</p>
+<blockquote><p align="center"><em>Add Dialog</em></p></blockquote>
+<p>Click <b>Project|Add File</b> to invoke the <em>Add</em> dialog. Use this dialog to add files to the current project.</p>
+<p>The <em>Add</em> dialog defaults the directory and file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type' combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files.</p>
+<p>Click <b>Open</b> to open the selected file. Click <b>Cancel</b> to leave the dialog without opening a file.</p>
+<a name="dialog-image-collection"></a><h4><a name="5-2"></a>Manage Image Collection Dialog</h4>
+<p align="center"><img align="middle" src="rd-image.png" width="464" height="286">
+</p>
+<blockquote><p align="center"><em>Manage Image Collection</em></p></blockquote>
+<p>Click <b>Project|Image Collection</b> to invoke the <em>Manage Image Collection Dialog</em>. Use this dialog to view the project's images, add new images, or delete images.</p>
+<p>To add an image, click the <b>Add</b> button to invoke the <em>Choose Images... Dialog</em>.</p>
+<p>The Choose Images dialog shows the current the directory and the default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type'combobox. As you choose different files, you can preview the images in the window located on the right side of the dialog. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files. Click <b>Open</b> to open the selected file. Click <b>Cancel</b> to leave the dialog without opening a file.</p>
+<p>To delete an image from from the iconview, click the image and then click the <b>Delete</b> button.</p>
+<p>Changes made to the image collection are applied immediately. Click the <b>Close</b> button to leave the dialog.</p>
+<a name="dialog-edit-database-connections"></a><h4><a name="5-3"></a>Edit Database Connections Dialog</h4>
+<p align="center"><img align="middle" src="rd-dbconn.png" width="520" height="352">
+</p>
+<blockquote><p align="center"><em>Edit Database Connections</em></p></blockquote>
+<p>Click <b>Project|Database Connections</b> to invoke the <em>Edit Database Connections Dialog</em>. Use this dialog to connect your project to a database or to edit the current connections.</p>
+<p>Click <b>New Connection</b> to create a new database connection. For applications that use a single database it will probably be most convenient to use the default connection name of '(default)'. If you use more than one database then each one must be given a unique name. A driver must be chosen from the Driver combo box. The database name may be available in the Database Name combo box or may have to be typed in. The database name, username, password and hostname should be provided by your database system administrator. When the Connection information has been completed click Connect. If the connection is made the connection name will appear in the list box on the left hand side of the dialog.</p>
+<p>To remove a connection, click the connection in the listbox and then click the <b>Delete Connection</b> button.</p>
+<p>Click <b>Close</b> to leave the <em>Database Connections</em> dialog.</p>
+<a name="dialog-project-settings"></a><h4><a name="5-4"></a>Project Settings Dialog</h4>
+<p>Click <b>Project|Project Settings</b> to invoke the <em>Project Settings Dialog</em>. Use this dialog to make changes to the project settings.</p>
+<h5><a name="5-4-1"></a>Settings Tab</h5>
+<p align="center"><img align="middle" src="rd-projset.png" width="383" height="273">
+</p>
+<blockquote><p align="center"><em>Project Settings- Settings Tab</em></p></blockquote>
+<p>The 'Settings' tab shows information about the project. The Project File line edit defaults the project name. To change the name, type the new name in the line edit or click the <b>(ellipsis)</b> button located next to Project File to invoke the <em>Save As Dialog</em>. The 'Language' combobox is disabled. To change the name in the 'Database File' line edit type the new name in the line edit or click the <b>(ellipsis)</b> button to invoke the <em>Save As Dialog</em>.</p>
+<h5><a name="5-4-2"></a>C++ Tab</h5>
+<p align="center"><img align="middle" src="rd-projset2.png" width="383" height="273">
+</p>
+<blockquote><p align="center"><em>Project Settings- C++ Tab</em></p></blockquote>
+<p>Click the C++ Tab to change the <tt>qmake</tt> options. See the <a href="qmake-manual.html">qmake documentation</a> for details on what these options mean. Click the 'Template' combobox and choose application or library to create makefiles for building applications or libraries. Click the 'Config' combobox to select the project configuration and compiler options for all platforms, or specific platforms. Type the Config value in the line edit. Note: Unix defaults to a shared library. If you want a shared library in Windows, type 'dll' at the end of the default config command and make sure you select lib from the Template combobox. Click the 'Libs' combobox to select a platform. Type the libraries in the line edit. Click the 'Defines' combobox and select a platform. 'Defines' values are added as compiler pre-processor macros. Type the 'Defines' values in the line edit. Click the 'Includepath' combobox to select a platform. Includepath specifies the directories that should be searched for include files when compiling the project. Type the 'Includepath' values in the line edit.</p>
+<p>Cick <b>OK</b> to accept changes to the project settings. Click <b>Cancel</b> to exit the dialog without making any changes to the project settings.</p>
+<h3><a name="6"></a>The Search Dialogs</h3>
+<a name="dialog-find-text"></a><h4><a name="6-1"></a>Find Text Dialog</h4>
+<p align="center"><img align="middle" src="rd-find.png" width="293" height="219">
+</p>
+<blockquote><p align="center"><em>Find Text</em></p></blockquote>
+<p>Click <b>Search|Find</b> (or press <b>Ctrl+F</b>) to invoke the <a href="designer-manual-13.html#6-1">Find Text Dialog</a>. Use this dialog to find specific text in a project file.</p>
+<p>To find the text you want in a file, type the text in the 'Find' combobox. You can make the search more specific by checking any or all of the checkboxes in the 'Options' section. Click the 'Whole words only' checkbox to narrow the search to whole words. Click 'Case Sensitive' to search for text that is identical to the text typed in the combobox. Click 'Start at Beginning' to start the search from the beginning of the file. The 'Direction' section offers the 'Forward' radio button and the 'Backward' radio button to specify the direction to perform the search in the file. Click the <b>Find</b> button to start the search. When the text is found, it is highlighted in the file. Continue clicking <b>Find</b> to search for subsequent occurrences of the search text.</p>
+<p>Click the <b>Close</b> button to leave the dialog.</p>
+<a name="dialog-replace-text"></a><h4><a name="6-2"></a>Replace Text Dialog</h4>
+<p align="center"><img align="middle" src="rd-replace.png" width="294" height="248">
+</p>
+<blockquote><p align="center"><em>Replace Text</em></p></blockquote>
+<p>Click <b>Search|Replace</b> (or press <b>Ctrl+R</b>) to invoke the <em>Replace Text Dialog</em>. Use this dialog to replace text in a project file.</p>
+<p>To replace text, type the text you would like to replace in the 'Find' combobox. Type the new text in the 'Replace' combobox. You can make the search more specific by checking any or all of the checkboxes in the 'Options' section. Click the 'Whole words only' checkbox to narrow the search to whole words. Click 'Case Sensitive' to search for text that identical to the text you typed in the combobox. Click 'Start at Beginning' to start the search from the beginning of the file. The 'Direction' section offers the 'Forward' radio button and the 'Backward' radio button to specify the direction to perform the search in the file.</p>
+<p>Click the <b>Replace</b> button to search and replace the text. When the text is found, it is highlighted in the file. Continue clicking <b>Replace</b> button to search and replace each occurrence of the text in the file. Click <b>Replace All</b> button to replace all occurences of the search text in the file at once.</p>
+<p>Click the <b>Close</b> button to leave the dialog.</p>
+<a name="dialog-go-to-line"></a><h4><a name="6-3"></a>Goto Line Dialog</h4>
+<p align="center"><img align="middle" src="rd-goto.png" width="251" height="111">
+</p>
+<blockquote><p align="center"><em>Goto Line</em></p></blockquote>
+<p>Click <b>Search|Goto line</b> (or press <b>Alt+G</b>) to invoke the <em>Goto Line Dialog</em>. Use this dialog to go to a specific line in the file.</p>
+<p>To choose a line number, type the number in the 'Line' spinbox, or click the up and down arrows in the spinbox. Click the <b>Goto</b> button. The cursor is placed at the beginning of the line in the file.</p>
+<p>Click the <b>Close</b> button to leave the dialog.</p>
+<h3><a name="7"></a>The Tools Dialog</h3>
+<a name="dialog-edit-custom-widgets"></a><h4><a name="7-1"></a>Edit Custom Widgets Dialog</h4>
+<p>The <em>Edit Custom Widgets</em> dialog is invoked by clicking <b>Tools|Custom|Edit Custom Widgets</b>. Use this dialog to create custom widgets.</p>
+<p>Custom widgets are created in code. They may contain a combination of existing widgets but with additional functionality, slots and signals, or they may be written from scratch, or a mixture of both. A custom widget is often a specialization (subclass) of another widget or a combination of widgets working together or a blend of both these approaches. If you simply want a collection of widgets in a particular configuration it is easiest to create them, select them as a group, and copy and paste them as required within <em>Qt Designer</em>. Custom widgets are generally created when you need to add new functionality to existing widgets or groups of widgets. To add create a new widget, click the <b>New Widget</b> button. You will find more information about adding new widgets in the 'Definitions Section'. To load a file which contains descriptions of custom widgets, click the <b>Load Descriptions</b> button. Clicking this button invokes the <em>Open Dialog</em>. To save the descriptions of the listed custom widgets, click the <b>Save Descriptions</b> button, which invokes the <em>Save As Dialog</em>. To delete a widget, click the widget in the listbox and then click the <b>Delete Widget</b> button.</p>
+<p>Click <b>Close</b> to leave the Edit Custom Widgets dialog.</p>
+<h5><a name="7-1-1"></a>The Definition Tab</h5>
+<p align="center"><img align="middle" src="rd-cwidgdef.png" width="720" height="412">
+</p>
+<blockquote><p align="center"><em>Edit Custom Widgets- Definition Tab</em></p></blockquote>
+<p>To create a custom widget, click <b>New Widget</b>. Click the Definition tab if you are not already there. You should change the 'Class' name from 'MyCustomWidget' to a unique name by typing in the line edit. Type in the 'Headerfile' line edit to change the name or type the name of a header file you want to use. To search for a saved header file in a directory, click the <b>(ellipsis)</b> button to the right of the Headerfile line edit to invoke the <em>Open Dialog</em>. Click the 'Select Access' combobox to choose how the file will be included. Global include files will be included using angle brackets (&lt;&gt;). Local files will be included using quotation marks. If you have a pixmap that you want to use to identify your widget on the toolbar, click the <b>(ellipsis)</b> button to the right of the 'Pixmap' label. This invokes the <em>Choose a Pixmap Dialog</em>. Click the 'Size Hint' spin boxes to select the recommended size for the widget. If you do not want to have a recommended size, enter -1/-1 in the spinboxes. Click the 'Size Policy' comboboxes to select the vertical size properties of the widget. Click the 'Container Widget' checkbox if the custom widget you are creating should be able to contain other widgets (children).</p>
+<h5><a name="7-1-2"></a>The Signals Tab</h5>
+<p align="center"><img align="middle" src="rd-cwidgsig.png" width="720" height="412">
+</p>
+<blockquote><p align="center"><em>Edit Custom Widgets- Signals Tab</em></p></blockquote>
+<p>Click the Signals tab to view a list of all the signals the selected custom widget can emit. To add a new signal, click the <b>New Signal</b> button. Click the 'Signal' line edit and provide an argument for the signal and give the signal a unique name. To delete a signal from the listbox, click the signal to choose it and then click the <b>Delete Signal</b> button.</p>
+<h5><a name="7-1-3"></a>The Slots Tab</h5>
+<p align="center"><img align="middle" src="rd-cwidgslot.png" width="720" height="412">
+</p>
+<blockquote><p align="center"><em>Edit Custom Widgets- Slots Tab</em></p></blockquote>
+<p>Click the Slots tab to view a list of all the slots for the selected custom widget. Click the 'Slot' or 'Access' cloumn headers to sort the slots in the listbox. To add a slot, click the <b>New Slot</b> button. Click the 'Slot' line edit and provide an argument for the slot and give the slot a unique name. Click the 'Access' combobox to choose between public or protected access for your widget. To delete a slot from the listbox, click the slot and then click <b>Delete Slot</b>.</p>
+<h5><a name="7-1-4"></a>The Properties Tab</h5>
+<p align="center"><img align="middle" src="rd-cwidgprop.png" width="720" height="412">
+</p>
+<blockquote><p align="center"><em>Edit Custom Widgets- Properties Tab</em></p></blockquote>
+<p>Click the Properties tab to view the list of properties for the selected widget. Click the 'Property' or 'Type' column headers to sort the properties in the listbox. To add a property, click the <b>New Property</b> button. Click the 'Property Name' line edit if you want to change the default name of the property. Note that properties must be implemented in the class using the property system of Qt. To choose a property type, click the 'Type' combobox. To delete a property from the listbox, click the property and then click the <b>Delete Property</b> button.</p>
+<p>Click <b>Close</b> to leave the <em>Edit Custom Widgets</em> dialog.</p>
+<a name="dialog-configure-toolbox"></a><h4><a name="7-2"></a>Configure Toolbox Dialog</h4>
+<p align="center"><img align="middle" src="rd-configtb.png" width="411" height="438">
+</p>
+<blockquote><p align="center"><em>Configure Toolbox</em></p></blockquote>
+<p>Click <b>Tools|Configure Toolbox</b> to invoke the <em>Configure Toolbox Dialog</em>. This dialog is used to view a list of available tools and a list of the tools in the Common Widgets category in the toolbox. To add widgets to the Common Widgets category, click a widget from the Available Widgets list and then click the <b>Add</b>. The selected widget now appears in the Common Widgets category. To remove a widget from the Common Widgets list, click a widget, then click <b>Remove</b>. To move a widget up or down in the Common Widgets list, click the up or down arrows.</p>
+<p>Click <b>OK</b> to accept the configurations to the toolbox. Click <b>Cancel</b> to leave the dialog.</p>
+<h3><a name="8"></a>The Help Dialogs</h3>
+<a name="dialog-qt-designer"></a><h4><a name="8-1"></a>About Qt Designer Dialog</h4>
+<p>Click <b>Help|About</b> to invoke the <em>About Qt Designer Dialog</em>. This dialog provides information about <em>Qt Designer</em> such as the version, the licensing terms, conditions, and disclaimers.</p>
+<p>Click the 'x' located at the top right corner of the dialog to close the dialog.</p>
+<a name="dialog-qt-designer"></a><h4><a name="8-2"></a>About Qt Dialog</h4>
+<p>Click <b>Help|About Qt</b> to invoke the <em>About Qt Dialog</em>. This dialog provides information about Qt.</p>
+<p>Click the 'x' located at the title of the dialog to close the dialog.</p>
+<h3><a name="9"></a>The Widget Dialogs</h3>
+<h4><a name="9-1"></a>Edit Text Dialog</h4>
+<p align="center"><img align="middle" src="rd-edittext1.png" width="606" height="333">
+</p>
+<blockquote><p align="center"><em>Edit Text</em></p></blockquote>
+<p>The <em>Edit Text</em> dialog is invoked by right-clicking the following widgets: TextEdit, TextLabel, and PixmapLabel and selecting <b>Edit Text</b>.</p>
+<p>Use this dialog to apply HTML formatting to your text using the format toolbars and menus.</p>
+<p>Click <b>OK</b> to accept the text and formatting. Click <b>Cancel</b> to leave the dialog without saving any text or formatting.</p>
+<h4><a name="9-2"></a>Edit Text Dialog</h4>
+<p align="center"><img align="middle" src="rd-edittext2.png" width="606" height="333">
+</p>
+<blockquote><p align="center"><em>Edit Text</em></p></blockquote>
+<p>The <em>Edit Text</em> dialog is invoked by right-clicking the following widgets: PushButton, RadioButton, CheckBox, and ToolButton and selecting <b>Edit Text</b>.</p>
+<p>Use this dialog to change the widget's text.</p>
+<p>Click <b>OK</b> to accept changes to the text. Click <b>Cancel</b> to leave the dialog without making changes to the text.</p>
+<a name="dialog-text"></a><h4><a name="9-3"></a>Text Dialog</h4>
+<p align="center"><img align="middle" src="rd-text.png" width="408" height="117">
+</p>
+<blockquote><p align="center"><em>Text Dialog</em></p></blockquote>
+<p>The <em>Text</em> dialog is invoked by right-clicking the LineEdit widget.</p>
+<p>Used this dialog to change the line edit's text.</p>
+<p>Click <b>OK</b> to accept changes to the text. Click <b>Cancel</b> to leave the dialog without making changes to the text.</p>
+<a name="dialog-title"></a><h4><a name="9-4"></a>Title Dialog</h4>
+<p align="center"><img align="middle" src="rd-title.png" width="408" height="117">
+</p>
+<blockquote><p align="center"><em>Title Dialog</em></p></blockquote>
+<p>The <em>Title</em> dialog is invoked by right-clicking the following widgets: ButtonGroup and GroupBox and selecting <b>Edit Title</b>.</p>
+<p>Use this dialog to change the title of a selected widget by typing the new title in the line edit.</p>
+<p>Click <b>OK</b> to accept changes to the title. Click <b>Cancel</b> to leave the dialog without making changes to the title.</p>
+<a name="dialog-dialog-page-title"></a><h4><a name="9-5"></a>Page Title Dialog</h4>
+<p align="center"><img align="middle" src="rd-pagetitle.png" width="408" height="117">
+</p>
+<blockquote><p align="center"><em>Page Title Dialog</em></p></blockquote>
+<p>The <em>Page Title</em> dialog is invoked by right clicking the TabWidget and selecting <b>Edit Page Title</b>.</p>
+<p>Use this dialog to change the title of each tab in the Tab widget.</p>
+<p>Click <b>OK</b> to accept new page titles. Click <b>Cancel</b> to leave the dialog without making any changes.</p>
+<a name="dialog-choose-an-image"></a><h4><a name="9-6"></a>Choose an Image Dialog</h4>
+<p align="center"><img align="middle" src="rd-chooseanimage.png" width="464" height="286">
+</p>
+<blockquote><p align="center"><em>Choose an Image</em></p></blockquote>
+<p>The <em>Choose an Image</em> dialog is used to choose an image to use for a widget.</p>
+<p>To choose an image from the listbox, click the image and then click <b>OK</b>. To add an image, click the <b>Add</b> button to invoke the <em>Choose Images... Dialog</em>. To delete an image, click the image in the listbox and then click the <b>Delete</b> button.</p>
+<p>Click <b>Cancel</b> to leave the dialog without making any changes to images.</p>
+<a name="dialog-edit-listbox"></a><h4><a name="9-7"></a>Edit Listbox Dialog</h4>
+<p align="center"><img align="middle" src="rd-edlistbox.png" width="490" height="255">
+</p>
+<blockquote><p align="center"><em>Edit Listbox</em></p></blockquote>
+<p>The <em>Edit Listbox</em> dialog is invoked by right-clicking the Listbox widget and selecting <b>Edit</b>.</p>
+<p>Use this dialog to add items to the list box and to change the item's properties.</p>
+<p>To add an item to the listbox, click the <b>New Item</b>. If you want to change the default name of the item, click the 'Text' line edit in the 'Item Properties' section and type a new name for the item. Click the <b>Select a Pixmap</b> to invoke the <em>Choose an Image Dialog</em>. Click a pixmap and then click the <b>Delete Pixmap</b> button to delete the selected pixmap. To delete an item from the listbox, click the item and then click the <b>Delete</b> button. To move an item up or down in the listbox, click the <b>Move Up</b> or <b>Move Down</b> buttons. Click <b>Apply</b> to accept the changes.</p>
+<p>Click <b>Apply</b> to accept changes to the listbox widget. Click <b>OK</b> to leave the dialog once the changes have been accepted. Click <b>Cancel</b> to leave the dialog without saving any changes.</p>
+<a name="dialog-edit-listview"></a><h4><a name="9-8"></a>Edit Listview</h4>
+<p>The <em>Edit Listview</em> dialog is invoked by right-clicking the listview widget and selecting <b>Edit</b>.</p>
+<p>Use this dialog to add items to the listview. The <em>Edit</em> Listview dialog has two tabs, one for items and one for columns.</p>
+<h5><a name="9-8-1"></a>The Items Tab</h5>
+<p align="center"><img align="middle" src="rd-edlistview.png" width="575" height="424">
+</p>
+<blockquote><p align="center"><em>Edit Listview- Items Tab</em></p></blockquote>
+<p>The dialog defaults to the Items tab. Use this tab to add, change, or remove items in the listview. To add a new item, click the <b>New Item</b> button. The new item is shown at the top of the listbox. To add sub-items to an existing item, click the item and then click the <b>New Subitem</b> button. Click the 'Column' spinbox to choose a column for which the item text or pixmap will be placed. Click the 'Text' line edit to type text for a column, or to change the name of an item or subitem. Click a pixmap and then click the <b>Delete Pixmap</b> button to delete the selected pixmap. To delete an item from the listbox, click the item and then click the <b>Delete</b> button. To move an item up or down within the hierarchy level, click the <b>Move Up</b> or <b>Move Down</b> buttons. To move an item up or down one level, click the <b>Move Left</b> or <b>Move Right</b> buttons.</p>
+<h5><a name="9-8-2"></a>The Columns Tab</h5>
+<p align="center"><img align="middle" src="rd-edlistview2.png" width="575" height="424">
+</p>
+<blockquote><p align="center"><em>Edit Listview- Columns Tab</em></p></blockquote>
+<p>Click this tab to change the column configuration of the listview. To add a column, click the <b>New Column</b> button. The new column is shown at the top of the listbox. To change the column name, click a column in the listbox and then click the 'Text' line edit and type a new name. To add a pixmap, click the <b>(ellipsis)</b> button, which invokes the <em>Choose an Image Dialog</em>. To remove a pixmap, click the <b>Delete Pixmap</b> button. Click the 'Clickable' checkbox if you want the columns to respond to mouse clicks. Click the 'Resizeable' checkbox if you want to be able to change the column's width. To remove a column, click the column in the listbox and then click the <b>Delete Column</b> button. To move a column up or down in the listbox, click the <b>Move Up</b> or the <b>Move Down</b> buttons.</p>
+<p>Click <b>Apply</b> to accept changes to the listview widget. Click <b>OK</b> to leave the dialog once the changes have been accepted. Click <b>Cancel</b> to leave the dialog without saving any changes.</p>
+<a name="dialog-edit-iconview"></a><h4><a name="9-9"></a>Edit Iconview Dialog</h4>
+<p align="center"><img align="middle" src="rd-ediconview.png" width="575" height="347">
+</p>
+<blockquote><p align="center"><em>Edit Iconview</em></p></blockquote>
+<p>The <em>Edit Iconview</em> dialog is invoked by right-clicking the iconview widget and selecting <b>Edit</b>.</p>
+<p>Use the dialog to add, change, or remove items from the iconview. To add an item to the iconview, click the <b>New Item</b> button. To change the name of the item, click the 'Text' line edit and type a new name. To add a pixmap, click the <b>(ellipsis)</b> button, which invokes the <em>Choose an Image Dialog</em>. To remove a pixmap, click the <b>Delete Pixmap</b> button. To delete an item from the iconview, click the item and then click the <b>Delete Item</b> button.</p>
+<p>Click <b>Apply</b> to accept changes to the iconview widget. Click <b>OK</b> to leave the dialog once the changes have been accepted. Click <b>Cancel</b> to leave the dialog without saving any changes.</p>
+<a name="dialog-edit-table"></a><h4><a name="9-10"></a>Edit Table Dialog</h4>
+<p>The <em>Edit Table</em> dialog is invoked by right-clicking the following widgets: Table and DataTable and selecting 'Edit'.</p>
+<p>Use the dialog to add, change, or remove columns or rows from the table.</p>
+<h5><a name="9-10-1"></a>The Column Tab</h5>
+<p align="center"><img align="middle" src="rd-edtablecol.png" width="492" height="432">
+</p>
+<blockquote><p align="center"><em>Edit Table- Columns Tab</em></p></blockquote>
+<p>To add a column to the table, click the <b>New Column</b> button. To delete a column from the table, click the column you want to delete from the table, or click the column number in the 'Columns' listbox and then click the <b>Delete Column</b> button. To change a column name, click the 'Label' line edit and type the new text. To add a pixmap, click the <b>(ellipsis)</b> button, which invokes the <em>Choose an Image Dialog</em>. To remove a pixmap from the current column of the selected item, click the <b>Delete Pixmap</b> button. To move a column in the listbox, click the <b>Move Up</b> or <b>Move Down</b> buttons.</p>
+<h5><a name="9-10-2"></a>The Rows Tab</h5>
+<p align="center"><img align="middle" src="rd-edtablerow.png" width="492" height="432">
+</p>
+<blockquote><p align="center"><em>Edit Table- Rows Tab</em></p></blockquote>
+<p>To add a row to the table, click the <b>New Row</b> button. To delete a row from the table, click the row you want to delete from the table, or click the row number in the 'Rows' listbox and then click the <b>Delete Column</b> button. To change a row's name, click the row, or the row number, and then click the 'Label' line edit and type the new text. To add a pixmap, click the <b>(ellipsis)</b> button, which invokes the <em>Choose an Image Dialog</em>. To remove a pixmap from the current row of the selected item, click the <b>Delete Pixmap</b> button. To move a row in the listbox, click the <b>Move Up</b> or <b>Move Down</b> buttons.</p>
+<p>Click <b>Apply</b> to accept changes to the table widget. Click <b>OK</b> to leave the dialog once the changes have been accepted. Click <b>Cancel</b> to leave the dialog without saving any changes.</p>
+<h3><a name="10"></a>The Property Editor Dialogs</h3>
+<a name="dialog-choose-a-pixmap"></a><h4><a name="10-1"></a>Choose a Pixmap Dialog</h4>
+<p align="center"><img align="middle" src="rd-chooseapixmap.png" width="496" height="319">
+</p>
+<blockquote><p align="center"><em>Choose a Pixmap</em></p></blockquote>
+<p>The <em>Choose a Pixmap</em> dialog is invoked by clicking the button next to the paletteBackgroundPixmap or the pixmap property in the property editor. It is also invoked by right-clicking the following widgets: PushButton, RadioButton, CheckBox, and ToolButton. In addition, this dialog can also be invoked by right-clicking the following widgets: Table, DataTable, ListBox, ComboBox, ListView, and IconView, and selecting <b>Edit</b> and then choosing the "Select a Pixmap" button.</p>
+<p>Use this dialog to select a pixmap to use in the current project.</p>
+<p>The <em>Choose a Pixmap</em> dialog shows the current directory and the default file type. To choose a different directory, click the 'Look In' combobox. Choose a file and the name will appear in the 'File Name' combobox. To choose a different file type, click the 'File Type'combobox. Click the 'Create New Folder' toolbar button to create a new directory. Click the 'List View' toolbar button to view folders and files in a list with only the names showing. Click the 'Details' toolbar button to view the folders and file names along with their size, type, date, and attributes. Click the Size, Type, Date, or Attributes column headers to sort the folders or files. View a sample of the pixmap file you select in the preview box located on the right side of the dialog.</p>
+<p>Click <b>OK</b> to accept the pixmap file. Click <b>Cancel</b> to leave the dialog without choosing a pixmap file.</p>
+<a name="dialog-select-color"></a><h4><a name="10-2"></a>Select Color Dialog</h4>
+<p align="center"><img align="middle" src="rd-selcolor.png" width="490" height="397">
+</p>
+<blockquote><p align="center"><em>Select Color</em></p></blockquote>
+<p>The <em>Select Color</em> dialog is invoked by clicking the button next to the paletteForegroundColor and the paletteBackgroundColor properties in the property editor.</p>
+<p>Use this dialog to select color preferences or to create color palettes.</p>
+<p>Choose a color from the 'Basic Colors' section and a sample of the color will appear in the small preview box at the bottom of the dialog. To the right of the color sample, you will see line edits that have information about the location of the color in the color spectrum. In addition, the crosshairs in the larger color spectrum window show the location of the color. You can also create a palette of custom colors. There are two ways to do add custom colors. Click a color on the color spectrum window. When the color appears in the small box below the window, click the color and drag it to one of the blank boxes in the 'Custom Color' section of the dialog. You can also click and drag colors from the 'Basic Colors' section. Another way to add colors is to click the <b>Add to Custom Colors</b> when you have chosen a color.</p>
+<p>Click <b>OK</b> to accept changes to the <em>Select Color</em> dialog. Click <b>Cancel</b> to exit the dialog without selecting a color or adding custom colors.</p>
+<a name="dialog-edit-palette"></a><h4><a name="10-3"></a>Edit Palette Dialog</h4>
+<p align="center"><img align="middle" src="rd-edpalette.png" width="457" height="469">
+</p>
+<blockquote><p align="center"><em>Edit Palette</em></p></blockquote>
+<p>The <em>Edit Palette</em> dialog is invoked by clicking the button next to the palette property in the property editor.</p>
+<p>Use this dialog to change the palette of the current widget or form. You can use a generated palette, or select colors for each color group and each color role. The palette can be tested with different widget layouts in the preview section.</p>
+<p>The 'Build Palette' section contains three buttons to help you build the palette. Click the <b>3-D Effects</b> button to invoke the <em>Select Color Dialog</em>. Click the <b>Background</b> to invoke the <em>Select Color Dialog</em>. Click the <b>Tune Palette</b> button to invoke the <em>Tune Palette Dialog</em>. Click the 'Select Palette' combobox in the 'Preview' section to choose a palette to preview.</p>
+<p>Click <b>OK</b> to accept the changes to the palette. Click <b>Cancel</b> to leave the dialog without making changes to the palette.</p>
+<a name="dialog-tune-palette"></a><h4><a name="10-4"></a>Tune Palette Dialog</h4>
+<p align="center"><img align="middle" src="rd-tunepalette.png" width="359" height="378">
+</p>
+<blockquote><p align="center"><em>Tune Palette</em></p></blockquote>
+<p>The <em>Tune Palette</em> dialog is used to choose options for a widget's palette.</p>
+<p>Click the 'Select Palette' combobox to choose options for active, inactive, or disabled palettes. If you choose 'Active Palette', the dialog presents three categories used for designing the palette. The categories are the Auto, Central Color Roles, and 3-D Shadow Effects. If you choose 'Inactive Palette' or 'Disabled Palette', all categories are disabled except 'Auto'. Click the 'Auto' section checkboxes to build the inactive or disabled palettes from the active palette. For an active palette, click the 'Central color roles' combobox to select a color role for the palette. Click the <b>Choose Pixmap</b> button to invoke the <em>Choose a Pixmap Dialog</em>. Click the <b>Select Color</b> button to invoke the <em>Select Color Dialog</em>. Check the 'Build from button color' checkbox in the '3-D shadow effects' section to allow 3-D effects colors to be calculated from the button color. Uncheck the checkbox to enable the 'Choose 3-D effect color role' combobox. Click the combobox to select a color role for the 3-D effects. Click the <b>Select Color</b> button to invoke the <em>Select Color Dialog</em>.</p>
+<p>Click <b>OK</b> to accept changes to the palette. Click <b>Cancel</b> to leave the dialog without making changes to the palette.</p>
+<a name="dialog-select-font"></a><h4><a name="10-5"></a>Select Font Dialog</h4>
+<p align="center"><img align="middle" src="rd-selfont.png" width="508" height="386">
+</p>
+<blockquote><p align="center"><em>Select Font</em></p></blockquote>
+<p>The <em>Select Font</em> dialog is invoked by clicking the button next to the font property in the property editor.</p>
+<p>Use this dialog to make changes to the font size and style.</p>
+<p>Click the 'Font' listbox to choose a font type. The current selected type appears in the line edit above the 'Font' listbox. Click the 'Font Style' listbox to choose a style for the font. The choices available in the listbox are limited to the type of font you choose. Not all fonts have all styles available. The selected style appears in the line edit above the 'Font Style' listbox. Click the 'Size' listbox to choose a size for the font. The current selected size appears in the line edit above the 'Size' line edit. Click the checkboxes in the 'Effects' section to create a 'Strikeout' or 'Underline' effect for the selected font. Click the 'Script' and choose a style of writing. View your font selections and styles in the 'Sample' listbox.</p>
+<p>Click <b>OK</b> to accept changes to the font. Click <b>Cancel</b> to leave the dialog without making any changes to the font.</p>
+<h3><a name="11"></a>The Message Boxes</h3>
+<a name="dialog-save-project-settings"></a><h4><a name="11-1"></a>Save Project Settings Dialog</h4>
+<p align="center"><img align="middle" src="rd-saveprojset.png" width="294" height="125">
+</p>
+<blockquote><p align="center"><em>Save Project Settings</em></p></blockquote>
+<p>The <em>Save Project Settings</em> message box is invoked by clicking <b>File|Close</b> or <b>File|Exit</b> for an open project with unsaved changes. The dialog displays the text 'Save changes to your project.pro'?. Click <b>Yes</b> to save the changes. If the project has any forms with unsaved changes, the <em>Save Form As</em> dialog is invoked when you click <b>Yes</b>. Click <b>No</b> to close the project without saving any changes. Click <b>Cancel</b> to leave the dialog without closing the project and without making any changes.</p>
+<a name="dialog-save-form"></a><h4><a name="11-2"></a>Save Form Dialog</h4>
+<p align="center"><img align="middle" src="rd-saveform.png" width="294" height="125">
+</p>
+<blockquote><p align="center"><em>Save Form</em></p></blockquote>
+<p>The <em>Save Form</em> message is invoked in several ways. One way is to click <b>File|Close</b> for a form that has never been saved, or has been saved previously but has had changes made to it. The dialog is also invoked by clicking <b>File|Exit</b> for a form that has never been saved, or has been saved previously but has had changes made to it. The dialog displays 'Save Changes to the Form?'. Click <b>Yes</b> to save the form. If the form has not been previously saved, the <em>Save Form As Dialog</em> is invoked. Click <b>No</b> to close the form without saving any changes or without saving the form if it has not been saved previously. Click <b>Cancel</b> to leave the dialog without closing or exiting the form and without saving the form.</p>
+<h3><a name="12"></a>The Object Explorer Dialogs</h3>
+<p>Some dialogs are invoked by clicking the options available in the Object Explorer window.</p>
+<a name="dialog-edit-forward-declarations"></a><h4><a name="12-1"></a>Edit Forward Declarations Dialog</h4>
+<p align="center"><img align="middle" src="mw-editforw.png" width="339" height="327">
+</p>
+<blockquote><p align="center"><em>Edit Forward Declarations</em></p></blockquote>
+<p>From the Source tab in the <a href="designer-manual-15.html#3">Object Explorer Window</a>, right click the 'Forward Declarations' folder and select 'Edit' from the context menu to invoke the <em>Edit Forward Declarations</em> dialog. Use this dialog to add, edit, or remove declarations in the source code.</p>
+<p>To add a new declaration, click the <b>Add</b> button. A line edit will appear for you to type the declaration. Press <b>Enter</b> after you have typed the declaration. To delete a declaration from the listbox, click the declaration and then click <b>Remove</b>. To rename an existing declaration, click the declaration and then click <b>Rename</b>. The cursor will appear in the line edit, allowing you to change the name.</p>
+<p>Click <b>Close</b> to leave the <em>Edit Forward Declarations</em> dialog.</p>
+<a name="dialog-edit-includes-in-declaration"></a><h4><a name="12-2"></a>Edit Includes (in Declaration) Dialog</h4>
+<p align="center"><img align="middle" src="rd-editincdec.png" width="339" height="327">
+</p>
+<blockquote><p align="center"><em>Edit Includes (in Declaration)</em></p></blockquote>
+<p>From the Source tab in the <a href="designer-manual-15.html#3">Object Explorer Window</a>, right click the 'Includes (in Declaration)' folder and select 'Edit' from the context menu to invoke the <em>Edit Includes (in Declarations)</em> dialog. Use this dialog to add, edit, or remove includes in the source code.</p>
+<p>To add a new include, click the <b>Add</b> button. A line edit will appear for you to type the include. Press <b>Enter</b> after you have typed the include. To delete an include from the listbox, click the include and then click <b>Remove</b>. To rename an existing include, click the include and then click <b>Rename</b>. The cursor will appear in the line edit, allowing you to change the name.</p>
+<p>Click <b>Close</b> to leave the <em>Edit Include (in Declaration)</em> dialog.</p>
+<a name="dialog-edit-includes-in-implementation"></a><h4><a name="12-3"></a>Edit Includes (in Implementation) Dialog</h4>
+<p align="center"><img align="middle" src="mw-editincimp.png" width="339" height="327">
+</p>
+<blockquote><p align="center"><em>Edit Includes (in Implementation)</em></p></blockquote>
+<p>From the Source tab in the <a href="designer-manual-15.html#3">Object Explorer Window</a>, right click the 'Includes (in Implementation)' folder and select 'Edit' from the context menu to invoke the <em>Edit Includes (in Implementation)</em> dialog. Use this dialog to add, edit, or remove includes in the source code.</p>
+<p>To add a new include, click the <b>Add</b> button. A line edit will appear for you to type the include. Press <b>Enter</b> after you have typed the include. To delete an include from the listbox, click the include and then click <b>Remove</b>. To rename an existing include, click the include and then click <b>Rename</b>. The cursor will appear in the line edit, allowing you to change the name.</p>
+<p>Click <b>Close</b> to leave the <em>Edit Include (in Implementation)</em> dialog.</p>
+<a name="dialog-edit-class-variables"></a><h4><a name="12-4"></a>Edit Class Variables Dialog</h4>
+<p align="center"><img align="middle" src="mw-editvar.png" width="324" height="346">
+</p>
+<blockquote><p align="center"><em>Edit Class Variables</em></p></blockquote>
+<p>From the Source tab in the <a href="designer-manual-15.html#3">Object Explorer Window</a>, right click the 'Class Variables' folder and select 'Edit' from the context menu to invoke the <em>Edit Class Variables</em> dialog. Use this dialog to add, edit, or remove class variables in the source code.</p>
+<p>To add a new variable, click the <b>Add</b> button. A line edit will appear for you to type the variable. Press enter after you have typed the variable. To delete an include from the listbox, click the variable and then click <b>Remove</b>. To rename an existing variable, click the variable and then click <b>Rename</b>. The cursor will appear in the line edit, allowing you to change the name.</p>
+<p>Click <b>Close</b> to leave the <em>Edit Class Variables</em> dialog.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-12.html">Prev: Reference: Toolbar Buttons</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-14.html">Next: Reference: Wizards</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-14.html b/doc/html/designer-manual-14.html
new file mode 100644
index 0000000..6390384
--- /dev/null
+++ b/doc/html/designer-manual-14.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-wizards.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Wizards</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-13.html">Prev: Reference: Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-15.html">Next: Reference: Windows</a>]</p>
+<h2 align="center">Reference: Wizards</h2>
+<a name="reference-wizards"></a><h3><a name="1"></a>Introduction</h3>
+<p>In <em>Qt Designer</em>, some of the toolbars, menu options and templates invoke wizards to take you step-by-step through particular tasks. In this chapter we explain each <em>Qt Designer</em> wizard.</p>
+<h3><a name="2"></a>Main Window Wizard</h3>
+<p>The Main Window Wizard is invoked by clicking the Main Window form template in the <a href="designer-manual-13.html#3-1">New File Dialog</a>. This wizard helps you to create a main window with actions, menu options and toolbars.</p>
+<p align="center"><img align="middle" src="qd-mainwinwzd.png" width="658" height="418">
+</p>
+<h4><a name="2-1"></a>Choose Available Menus and Toolbars</h4>
+<p>The 'Choose available menus and toolbars' wizard page appears first. It presents three categories of default actions, File Actions, Edit Actions and Help Actions. For each category you can choose to have <em>Qt Designer</em> create menu items, toolbar buttons and signal/slots connections for the relevant actions. You can always add or delete actions, menu items, toolbar buttons and connections later. Check or uncheck the checkboxes to reflect your preferences.</p>
+<p>Click <b>Next</b> to move on to the next wizard page.</p>
+<p align="center"><img align="middle" src="qd-mainwinwzdpage2.png" width="658" height="418">
+</p>
+<h4><a name="2-2"></a>Setup Toolbar</h4>
+<p>The 'Setup Toolbar' wizard page is used to populate a toolbar with actions from each of the default action categories. Click the Category combobox to select which set of actions you wish to work on. The Actions listbox lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. Click the blue left and right arrow buttons to move actions into or out of the Toolbar list box. Click the blue up and down arrow buttons to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as required and will cause a separator to appear in the finished toolbar.</p>
+<p>Click <b>Back</b> if you want to return to the 'Choose available menus and toolbars' wizard page. Click <b>Finish</b> to populate the main window and to exit the wizard. Click <b>Cancel</b> on any of the wizard pages to leave the wizard without making any changes.</p>
+<h3><a name="3"></a>Data Table Wizard</h3>
+<p>The Data Table Wizard is automatically invoked by clicking the datatable widget and placing it on the form. The datatable widget is used to create tabular views of database data.</p>
+<p align="center"><img align="middle" src="qd-datatablewzd.png" width="585" height="421">
+</p>
+<h4><a name="3-1"></a>Choose the Database and Table</h4>
+<p>The 'Choose the Database and Table' wizard page appears first. The available databases are displayed in the 'Database Connection' listbox. Choose a connection by clicking it. If there are no connections listed in the listbox, click <b>Setup Database Connections</b> to invoke the <a href="designer-manual-13.html#5-3">Edit Database Connections Dialog</a>. The 'Table' listbox shows all the tables and views that are available through the selected database connection. Select a table or view by clicking it.</p>
+<p>Click <b>Next</b> to move on to the next wizard page.</p>
+<p align="center"><img align="middle" src="qd-datatablewzdpage2.png" width="585" height="421">
+</p>
+<h4><a name="3-2"></a>Displayed Fields</h4>
+<p>The 'Displayed Fields' wizard page is used to select fields that will be displayed in the table. By default, every field except the table or view's primary key, is initially placed in the 'Displayed Fields' list. Click the blue left and right arrow buttons to move fields from the 'Available Fields' listbox and into or out of the 'Displayed Fields' listbox. Click the blue up and down arrow buttons to move fields up and down within the 'Displayed Fields' listbox. The order in which fields appear in the 'Displayed Fields' listbox is the order they are shown in the Data Table, with the top-most field being in the left-most column.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Choose the Database and Table' wizard page.</p>
+<p align="center"><img align="middle" src="qd-datatablewzdpage3.png" width="585" height="421">
+</p>
+<h4><a name="3-3"></a>Table Properties</h4>
+<p>The 'Table Properties' wizard page is used to set the Data Table's initial editing options. Check the 'Read-Only' checkbox to prevent records from being edited, deleted or added. Check the checkboxes in the 'Confirmations' section to force the user to confirm their changes. By default users must confirm deletions. Click 'Allow column sorting' to allow the user to sort the data by clicking a column's header (which displays the field name).</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Displayed Fields' wizard page.</p>
+<p align="center"><img align="middle" src="qd-datatablewzdpage4.png" width="585" height="456">
+</p>
+<h4><a name="3-4"></a>SQL</h4>
+<p>The 'SQL' wizard page is used to apply filters and sorts to the data in the table. Click the 'Filter' line edit and enter a valid SQL <tt>WHERE</tt> clause without the WHERE keyword. The filter applies to the data shown in the table.</p>
+<p>To sort the available fields in the table, click the blue left and right arrow buttons to move fields from the 'Available Fields' listbox into or out of the 'Sort By' listbox. Click the blue up and down arrow buttons to move fields up and down within the 'Sort By' listbox. Click the <b>A-Z</b> button to change the sort order of the selected field in the 'Sort By' listbox from ascending to descending and vice versa.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Table Properties' wizard page.</p>
+<p align="center"><img align="middle" src="qd-datatablewzdpage5.png" width="585" height="421">
+</p>
+<h4><a name="3-5"></a>Finish</h4>
+<p>The 'Finish' wizard page is used to select auto-editing and to leave the wizard. If you want user edits, e.g. inserts and updates, to be automatically applied when the user navigates to another record, check the 'AutoEditing' checkbox. If 'AutoEditing' is unchecked, users must press <b>Enter</b> to confirm their edit before moving to another record, or their edit will be lost.</p>
+<p>Click <b>Finish</b> to create the datatable widget with all of the options you selected in the wizard. Click <b>Back</b> if you want to return to the 'SQL' wizard page. Click <b>Cancel</b> on any of the wizard pages to leave the wizard without making any changes.</p>
+<h3><a name="4"></a>Data Browser Wizard</h3>
+<p>The Data Browser wizard is automatically invoked by clicking the DataBrowser widget and placing it on the form. The DataBrowser widget is used to create a form view of database data.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzd.png" width="585" height="421">
+</p>
+<h4><a name="4-1"></a>Choose the Database and Table</h4>
+<p>The 'Choose the Database and Table' wizard page appears first. The available databases are displayed in the 'Database Connection' listbox. Choose a connection by clicking it. If there are no connections listed in the listbox, click <b>Setup Database Connections</b> to invoke the <a href="designer-manual-13.html#5-3">Edit Database Connections Dialog</a>. The 'Table' listbox shows all the tables and views that are available through the selected database connection. Select a table or view by clicking it.</p>
+<p>Click <b>Next</b> to move on to the next wizard page.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzdpage2.png" width="585" height="421">
+</p>
+<h4><a name="4-2"></a>Displayed Fields</h4>
+<p>The 'Displayed Fields' wizard page is used to select fields that will be displayed in the table. Click the blue left and right arrow buttons to move fields from the 'Available Fields' listbox and into or out of the 'Displayed Fields' listbox. Click the blue up and down arrow buttons to move fields up and down within the 'Displayed Fields' listbox.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Choose the Database and Table' wizard page.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzdpage3.png" width="585" height="421">
+</p>
+<h4><a name="4-3"></a>Navigation and Editing</h4>
+<p>The 'Navigation and Editing' wizard page is used to create navigation and editing buttons.</p>
+<p>Check the 'Include Navigation Buttons' checkbox to include navigation buttons. In the 'Navigation section, click 'Previous' to display the 'Previous' button on the form. This option allows you to navigate to the previous record in the table. Click 'Next' to display the 'next' button on the form. This button allows you to navigate to the next record in the table. Click 'First' to display the 'First' button on the form. This option allows you to navigate to the first record in the table. Click 'Last' to display the 'Last' button on the form. This button allows you to navigate to the last record in the table.</p>
+<p>Click the 'Include Edit Buttons' checkbox to include editing buttons. In the 'Editing' section, check the 'Insert' checkbox to create an 'Insert' button for adding new records. Check the 'Update' checkbox to create an 'Update' button for updating existing records. Check the 'Delete' checkbox to create a 'Delete' button for deleting records.</p>
+<p>The navigation buttons, and 'Update' and 'Delete' buttons will work without requiring any code. Since most database designs expect new records to be created with a unique key the 'Insert' button will not work. This can easily be fixed by generating the key in a slot connected to the <tt>QDataBrowser::beforeInsert()</tt> signal.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Displayed Fields' wizard page.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzdpage4.png" width="585" height="456">
+</p>
+<h4><a name="4-4"></a>SQL</h4>
+<p>The 'SQL' wizard page is used to apply filters and sorts to the data in the table. Click the 'Filter' line edit and type a valid SQL <tt>WHERE</tt> clause without the WHERE keyword. The filter applies to the data shown in the table.</p>
+<p>To sort the available fields in the table, click the blue left and right arrow buttons to move fields from the 'Available Fields' listbox into or out of the 'Sort By' listbox. Click the blue up and down arrow buttons to move fields up and down within the 'Sort By' listbox. Click the <b>A-Z</b> button to change the sort order of the selected field in the 'Sort By' listbox from ascending to descending and vice versa.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Navigation and Editing' wizard page.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzdpage5.png" width="585" height="421">
+</p>
+<h4><a name="4-5"></a>Layout</h4>
+<p>The 'Layout' wizard page is used to design the layout of the database browser. To choose the number of columns the form will use, click the 'Number of Columns' spinbox. To make labels appear to the left of the data entry fields, click the 'Labels to left' radio button. To make labels appear above the data entry fields, click the 'Labels on top' radio button.</p>
+<p>Click the 'Create layout for fields' checkbox to arrange all fields inside of a box layout. Click the 'Create layout for buttons' checkbox to arrange all buttons inside of a box layout. Click 'Create layout for all' to create a box layout for the whole widget.</p>
+<p>You can always break the layouts and redo them later if you change your mind.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'SQL' wizard page.</p>
+<p align="center"><img align="middle" src="qd-databrowserwzdpage6.png" width="585" height="421">
+</p>
+<h4><a name="4-6"></a>Finish</h4>
+<p>The 'Finish' wizard page is used to select auto-editing and to leave the wizard. If you want user edits, e.g. inserts and updates, to be automatically applied when the user navigates to another record, check the 'AutoEditing' checkbox. If 'AutoEditing' is unchecked, users must press <b>Enter</b> to confirm their edit before moving to another record, or their edit will be lost. This property can be changed later if desired.</p>
+<p>Click <b>Finish</b> to create the databrowser widget with all of the options you selected in the wizard. Click <b>Back</b> if you want to return to the 'Layout' wizard page. Click <b>Cancel</b> on any of the wizard pages to leave the wizard without making any changes.</p>
+<h3><a name="5"></a>Data View Wizard</h3>
+<p>The Data View wizard is automatically invoked by clicking the dataview widget and placing it on the form. The Dataview widget is used to create a read-only form view of database data.</p>
+<p align="center"><img align="middle" src="qd-dataviewwzd.png" width="585" height="421">
+</p>
+<h4><a name="5-1"></a>Choose the Database and Table</h4>
+<p>The 'Choose the Database and Table' wizard page appears first. The available databases are displayed in the 'Database Connection' listbox. Choose a connection by clicking it. If there are no connections listed in the listbox, click <b>Setup Database Connections</b> to invoke the <a href="designer-manual-13.html#5-3">Edit Database Connections Dialog</a>. The 'Table' listbox shows all the tables and views that are available through the selected database connection. Select a table or view by clicking it.</p>
+<p>Click <b>Next</b> to move on to the next wizard page.</p>
+<p align="center"><img align="middle" src="qd-dataviewwzdpage2.png" width="585" height="421">
+</p>
+<h4><a name="5-2"></a>Displayed Fields</h4>
+<p>The 'Displayed Fields' wizard page is used to select fields that will be displayed in the table. Click the blue left and right arrow buttons to move fields from the 'Available Fields' listbox and into or out of the 'Displayed Fields' listbox. Click the blue up and down arrow buttons to move fields up and down within the 'Displayed Fields' listbox.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Choose the Database and Table' wizard page.</p>
+<p align="center"><img align="middle" src="qd-dataviewwzdpage3.png" width="585" height="421">
+</p>
+<h4><a name="5-3"></a>Layout</h4>
+<p>The 'Layout' wizard page is used to design the layout of the data view. To choose the number of columns the form will use, click the 'Number of Columns' spinbox. To make labels appear to the left of the data entry fields, click the 'Labels to left' radio button. To make labels appear above the data entry fields, click the 'Labels on top' radio button.</p>
+<p>Click <b>Next</b> to move on to the next wizard page. Click <b>Back</b> if you want to return to the 'Displayed Fields' wizard page.</p>
+<p align="center"><img align="middle" src="qd-dataviewwzdpage4.png" width="585" height="421">
+</p>
+<h4><a name="5-4"></a>Finish</h4>
+<p>The 'Finish' wizard page is used to create the wizard once you have selected all the option you want on the previous wizard pages.</p>
+<p>Click <b>Finish</b> to create the databrowser widget with all of the options you selected in the wizard. Click <b>Back</b> if you want to return to the 'Layout' wizard page. Click <b>Cancel</b> on any of the wizard pages to leave the wizard without making any changes.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-13.html">Prev: Reference: Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-15.html">Next: Reference: Windows</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-15.html b/doc/html/designer-manual-15.html
new file mode 100644
index 0000000..d7b934f
--- /dev/null
+++ b/doc/html/designer-manual-15.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-windows.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: Windows</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-14.html">Prev: Reference: Wizards</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-16.html">Next: Reference: The .ui File Format</a>]</p>
+<h2 align="center">Reference: Windows</h2>
+<a name="reference-windows"></a><h3><a name="1"></a>Introduction</h3>
+<p>By default <em>Qt Designer</em> starts up with three windows on the left hand side. They are the <a href="designer-manual-15.html#2">Project Overview Window</a>, the <a href="designer-manual-15.html#3">Object Explorer Window</a>, and the <a href="designer-manual-15.html#4">Property Editor/Signal Handlers Window</a>. In addition, <em>Qt Designer</em> provides an Action Editor for creating actions for a form's menus and menu items. This chapter explains each window in detail.</p>
+<h3><a name="2"></a>Project Overview Window</h3>
+<p>This window lists all the files associated with the project. To open a form or file single click it in the Files list. To rapidly switch between forms and files, type the name of the file in the line edit above the files list and <em>Qt Designer</em> will perform an incremental search to show any matching files or forms.</p>
+<p align="center"><img align="middle" src="win-projoverview.png" width="416" height="173">
+</p>
+<blockquote><p align="center"><em>Project Overview Window</em></p></blockquote>
+<p>Right-click a file (or the project) to get a context menu of options, for example, 'Open form' or 'Remove form from project'.</p>
+<h3><a name="3"></a>Object Explorer Window</h3>
+<p>The Object Explorer window lists the current form's widgets and slots. The window contains two tabs, the Objects tab and the Members tab.</p>
+<p align="center"><img align="middle" src="win-objexplor1.png" width="416" height="441">
+</p>
+<blockquote><p align="center"><em>Objects Tab</em></p></blockquote>
+<h4><a name="3-1"></a>Objects Tab</h4>
+<p>Click the Widgets tab to view all the widgets for the current form. The widgets are listed by name and class. Click a widget in the list to highlight it in the corresponding form.</p>
+<p align="center"><img align="middle" src="win-objexplor2.png" width="416" height="441">
+</p>
+<blockquote><p align="center"><em>Members Tab</em></p></blockquote>
+<h4><a name="3-2"></a>Members Tab</h4>
+<p>Click the Members tab to view the current form's slots, forward declarations, includes, and class variables. The Members tab uses a tree view to display its information. Items which have a '+' sign have sub-items which are revealed by clicking the '+'. Right click any item in the tree view to popup a context menu.</p>
+<p>To edit or add slots, right click the Slots folder and select 'Edit' to invoke the <em>Edit Slots Dialog</em>. Right click the Public, Protected, or Private subdirectories and click 'New' to invoke the <em>Edit Slots Dialog</em>. Right click a slot in the list to invoke a menu with additional options for the slot. To add new slots, choose 'New' from the menu, which invokes the <em>Edit Slots Dialog</em>. To change the properties of the selected slot, choose 'Properties' which invokes the <em>Edit Slots Dialog</em>. To open the C++ editor and jump to the implementation of the selected slot, choose 'Goto Implementation'. To remove the selected slot, choose 'Delete'. Signals can be added or deleted in the same way as slots.</p>
+<p>Right click 'Forward Declarations', 'Includes (in declaration)', 'Class Variables', and 'Includes (in implementation)' to invoke a context menu with the 'new' or 'edit' options. Choose 'New' to invoke a line edit for typing a declaration, variable, or include. Right click 'Forward Declarations' and choose 'Edit' to invoke the <em>Edit Forward Declarations Dialog</em>. Right click 'Includes (in declaration)' and choose'Edit' to invoke the <em>Edit Includes (in Declaration) Dialog</em>. Right click 'Class variables' and choose 'Edit' to invoke the <em>Edit Class Variables Dialog</em>. Right click 'Includes (in Implementation)' and choose 'Edit' to invoke the <em>Edit Includes (in Implementation) Dialog</em>.</p>
+<h3><a name="4"></a>Property Editor/Signal Handlers Window</h3>
+<p>Click the Property Editor/Signal Handlers window to view and change the properties of forms, widgets and menus. This window has a 'Properties' tab and a 'Signal Handlers' tab.</p>
+<p align="center"><img align="middle" src="win-propedit1.png" width="416" height="578">
+</p>
+<blockquote><p align="center"><em>Properties Tab</em></p></blockquote>
+<h4><a name="4-1"></a>The Properties Tab</h4>
+<p>Click the 'Properties' tab to change the appearance and behaviour of the selected widget. (For menus, click the menu bar to show the menu item properties in the Property Editor.) The Property Editor has two columns, the Property column which lists property names and the Value column which lists the values. Click the column headers to sort the properties or values. Some property names have a plus sign '+' in a square to their left; this signifies that the property name is the collective name for a set of related properties.</p>
+<p>Some properties have simple values, for example, the name property has a text value, the width property (within minimumSize for example) has a numeric value. To change a text value click the existing text and type in your new text. To change a numeric value click the value and either type in a new number, or use the spin buttons to increase or decrease the existing number until it reaches the value you want. Some properties have a fixed list of values, for example the mouseTracking property is boolean and can take the values True or False. The cursor property also has a fixed list of values. If you click the cursor property or the mouseTracking property the value will be shown in a drop down combobox; click the down arrow to see what values are available.</p>
+<p>Some properties have complex sets of values; for example the font property. If you click the font property an ellipsis button (...) will appear; click this button and a Select Font dialog will pop up which you can use to change any of the font settings. Other properties have ellipsis buttons which lead to different dialogs depending on what settings the property can have. For example, if you have a lot of text to enter for a text property you could click the ellipsis button to invoke the multi-line text editor dialog. The names of properties which have changed are shown in bold. If you've changed a property but want to revert it to its default value click the property's value and then click the red 'X' button to the right of the value. Some properties have an initial value, e.g. 'TextEdit1', but no default value; if you revert a property that has an initial value but no default value (by clicking the red 'X') the value will become empty unless the property, e.g. name, is not allowed to be empty.</p>
+<p>The property editor fully supports Undo and Redo (Ctrl+Z and Ctrl+Y, also available from the Edit menu).</p>
+<p align="center"><img align="middle" src="win-propedit2.png" width="416" height="159">
+</p>
+<blockquote><p align="center"><em>Signal Handlers Tab</em></p></blockquote>
+<h4><a name="4-2"></a>The Signal Handlers Tab</h4>
+<p>Click the 'Signal Handlers' tab to view or create the connections between signals of widgets and custom slots of the form.</p>
+<h3><a name="5"></a>Action Editor Window</h3>
+<p>The Action Editor window is used to create actions that the user initiates through the user interface, for example, saving or printing a file. To access the Action Editor window, click <b>Window|Views|Action Editor</b> when a main window is active.</p>
+<p align="center"><img align="middle" src="qd-actioneditor.png" width="254" height="371">
+</p>
+<blockquote><p align="center"><em>Action Editor</em></p></blockquote>
+<p>The Action Editor contains three functions on its menu bar: create, delete, and connect. It also contains a listview that lists the existing actions.</p>
+<p>To create a new action, click the arrow on the Create a New Action icon on the menu bar. Choose to create a new action, a new action group, or a new dropdown action group. You can also create actions by right-clicking an existing action in the Action Editor listview and selecting the type of action you want to create from the popup menu.</p>
+<p>To delete an action from the listview, click the action you want to delete from the list, and then click Delete Current Action on the menu bar. You can also delete actions by right-clicking an existing action and in the Action Editor listview and then clicking Delete Action from the popup menu.</p>
+<p>To connect an action to a slot, click an action on the listview and then click the Connect icon on the menu bar to invoke the <em>View and Edit Connections</em> dialog. You can also connect an action to a slot by right-clicking an existing action and in the Action Editor listview and then clicking Connect Action from the popup menu.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-14.html">Prev: Reference: Wizards</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-16.html">Next: Reference: The .ui File Format</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-16.html b/doc/html/designer-manual-16.html
new file mode 100644
index 0000000..4ef4c68
--- /dev/null
+++ b/doc/html/designer-manual-16.html
@@ -0,0 +1,522 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-ui-format.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference: The .ui File Format</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-15.html">Prev: Reference: Windows</a>] [<a href="designer-manual.html">Home</a>]</p>
+<h2 align="center">Reference: The .ui File Format</h2>
+<p><em>Qt Designer</em> stores forms in <tt>.ui</tt> files. These files use an XML format to represent form elements and their characteristics. This document provides an overview of the XML format used, and should provide enough information for developers to write their own <tt>.ui</tt> parsers so that they can read and modify <tt>.ui</tt> files programatically.</p>
+<p>One way to parse a <tt>.ui</tt> file is to use Qt and the <a href="qdomdocument.html">QDomDocument</a> class; this is how <em>Qt Designer</em> does it: see the <tt>uilib/qwidgetfactory.h</tt> and <tt>uilib/qwidgetfactory.cpp</tt> source files. For information on dynamically loading and running <tt>.ui</tt> files see <a href="designer-manual-6.html#2-3-2">Loading and Executing a Dynamic Dialog</a>.</p>
+<p>The doctype of a <tt>.ui</tt> file is simply "UI", so the doctype tag is:</p>
+<pre>
+&lt;!DOCTYPE UI&gt;
+</pre>
+<p>The root element is a "UI", which encloses the entire contents:</p>
+<pre>
+&lt;UI version="3.1" stdsetdef="1"&gt;
+...
+&lt;/UI&gt;
+</pre>
+<p>Within the UI entity, there may one or zero of the following element types:</p>
+<ul><li><p><a href="designer-manual-16.html#1-1">actions</a> - actions, for <a href="qmainwindow.html">QMainWindow</a> forms</p>
+<li><p><a href="designer-manual-16.html#1-2">author</a> - the form's author</p>
+<li><p><a href="designer-manual-16.html#1-3">class</a> - the form's class name</p>
+<li><p><a href="designer-manual-16.html#1-4">comment</a> - comments, e.g. copyright notices</p>
+<li><p><a href="designer-manual-16.html#1-5">connections</a> - signal/slot connections</p>
+<li><p><a href="designer-manual-16.html#1-6">customwidgets</a> - custom widgets (old-style)</p>
+<li><p><a href="designer-manual-16.html#1-7">exportmacro</a> - Windows-specific</p>
+<li><p><a href="designer-manual-16.html#1-8">forwards</a> - forward declarations</p>
+<li><p><a href="designer-manual-16.html#1-9">functions</a> - function declarations</p>
+<li><p><a href="designer-manual-16.html#1-10">images</a> - embedded images: only for <tt>.ui</tt> files than include embedded images; images are normally stored in a separate <tt>images</tt> directory</p>
+<li><p><a href="designer-manual-16.html#1-11">includes</a> - include files</p>
+<li><p><a href="designer-manual-16.html#1-12">layoutdefaults</a> - default values for layout attributes</p>
+<li><p><a href="designer-manual-16.html#1-13">layoutfunctions</a> - dynamic default values for layout attributes</p>
+<li><p><a href="designer-manual-16.html#1-14">menubar</a> - menu bar, for <a href="qmainwindow.html">QMainWindow</a> forms</p>
+<li><p><a href="designer-manual-16.html#1-15">pixmapfunction</a> - the name of the function to use for retrieving pixmaps if neither embedded nor external pixmaps are being used</p>
+<li><p><a href="designer-manual-16.html#1-16">pixmapinproject</a> - an element whose presence ndicates that the pixmaps are handled by the <tt>.pro</tt> file</p>
+<li><p><a href="designer-manual-16.html#1-17">signals</a> - signal declarations</p>
+<li><p><a href="designer-manual-16.html#1-18">slots</a> - slot declarations</p>
+<li><p><a href="designer-manual-16.html#1-19">tabstops</a> - the form's tab order</p>
+<li><p><a href="designer-manual-16.html#1-20">toolbars</a> - toolbars, for <a href="qmainwindow.html">QMainWindow</a> forms</p>
+<li><p><a href="designer-manual-16.html#1-21">variables</a> - class variables</p>
+<li><p><a href="designer-manual-16.html#1-22">widget</a> - the form itself; this element may contain other elements, including other <tt>widget</tt> elements</p>
+<li><p><a href="designer-manual-16.html#1-23">forward</a> - Qt 3.x beta backwards compatibility</p>
+<li><p><a href="designer-manual-16.html#1-24">include</a> - Qt 2.x backwards compatibility</p>
+<li><p><a href="designer-manual-16.html#1-25">variable</a> - Qt 3.x beta backwards compatibility</p>
+</ul><p>The ordering of elements is arbitrary, although it is common for the <a href="designer-manual-16.html#1-3">class</a> element to be first.</p>
+<h3><a name="1"></a>UI Elements</h3>
+<a name="actions"></a><h4><a name="1-1"></a>actions</h4>
+<p>This element is used to store the form's actions. It only occurs in <a href="qmainwindow.html">QMainWindow</a> forms.</p>
+<p>The <tt>actions</tt> element contains one or more <tt>action</tt> elements. Each <tt>action</tt> element contains one or more properties. Each property has a <tt>name</tt> attribute, and a single value which is contained within a <a href="designer-manual-16.html#datatype">datatype</a> element.</p>
+<pre>
+&lt;actions&gt;
+ &lt;action&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;fileNewAction&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="iconSet"&gt;
+ &lt;iconset&gt;filenew&lt;/iconset&gt;
+ &lt;/property&gt;
+ &lt;property name="text"&gt;
+ &lt;string&gt;New&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;property name="menuText"&gt;
+ &lt;string&gt;&amp;amp;New&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;property name="accel"&gt;
+ &lt;number&gt;4194382&lt;/number&gt;
+ &lt;/property&gt;
+ &lt;/action&gt;
+ ...
+&lt;/actions&gt;
+</pre>
+<a name="author"></a><h4><a name="1-2"></a>author</h4>
+<p>This element is used to store the author's name as a simple string.</p>
+<pre>
+&lt;author&gt;Barney Rubble&lt;/author&gt;
+</pre>
+<a name="class"></a><h4><a name="1-3"></a>class</h4>
+<p>This element is used to store the form's class name as a simple string.</p>
+<pre>
+&lt;class&gt;InsuranceForm&lt;/class&gt;
+</pre>
+<a name="comment"></a><h4><a name="1-4"></a>comment</h4>
+<p>This element is used to store comments, for example, copyright notices, as a simple string.</p>
+<pre>
+&lt;comment&gt;*********************************************************************
+** Copyright (C) 2002 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+*********************************************************************&lt;/comment&gt;
+</pre>
+<a name="connections"></a><h4><a name="1-5"></a>connections</h4>
+<p>This element is used to record the signals and slots connections in the form.</p>
+<p>The <tt>connections</tt> element contains one or more <tt>connection</tt> elements and one or more <tt>slot</tt> elements. Each <tt>connection</tt> element identifies the signaling object and its signal, and the receiving object and its slot.</p>
+<pre>
+&lt;connections&gt;
+ ...
+ &lt;connection language="C++"&gt;
+ &lt;sender&gt;alignActionGroup&lt;/sender&gt;
+ &lt;signal&gt;selected(QAction*)&lt;/signal&gt;
+ &lt;receiver&gt;EditorForm&lt;/receiver&gt;
+ &lt;slot&gt;changeAlignment(QAction*)&lt;/slot&gt;
+ &lt;/connection&gt;
+ ...
+&lt;/connections&gt;
+</pre>
+<a name="customwidgets"></a><h4><a name="1-6"></a>customwidgets</h4>
+<p><em>Qt Designer</em> can operate with custom widgets. A custom widget is represented in a <tt>.ui</tt> file using the <tt>&lt;customwidget&gt;</tt> element.</p>
+<p>Note that these are the 'old-style' custom widgets that show up on the form as grey rectangles. Use plugins to seamlessly integrate your custom widgets into <em>Qt Designer</em> -- see <a href="designer-manual-7.html#2">Creating Custom Widgets with Plugins</a>.</p>
+<p>Each custom widget has a class name and a header file. They also have a size hint and size policy. A pixmap can be specified; this is displayed on a <em>Qt Designer</em> toolbar button which the user can use to create an instance of the custom widget. Custom widgets usually emit signals, and these are listed. The name and type of any properties that the widget has are also included.</p>
+<pre>
+&lt;customwidgets&gt;
+ &lt;customwidget&gt;
+ &lt;class&gt;StyledButton&lt;/class&gt;
+ &lt;header location="local"&gt;styledbutton.h&lt;/header&gt;
+ &lt;sizehint&gt;
+ &lt;width&gt;40&lt;/width&gt;
+ &lt;height&gt;25&lt;/height&gt;
+ &lt;/sizehint&gt;
+ &lt;container&gt;0&lt;/container&gt;
+ &lt;sizepolicy&gt;
+ &lt;hordata&gt;5&lt;/hordata&gt;
+ &lt;verdata&gt;5&lt;/verdata&gt;
+ &lt;/sizepolicy&gt;
+ &lt;pixmap&gt;image0&lt;/pixmap&gt;
+ &lt;signal&gt;clicked()&lt;/signal&gt;
+ &lt;signal&gt;changed()&lt;/signal&gt;
+ &lt;property type="Color"&gt;color&lt;/property&gt;
+ &lt;property type="Pixmap"&gt;pixmap&lt;/property&gt;
+ &lt;property type="Bool"&gt;scale&lt;/property&gt;
+ &lt;/customwidget&gt;
+&lt;/customwidgets&gt;
+</pre>
+<a name="exportmacro"></a><h4><a name="1-7"></a>exportmacro</h4>
+<p>This tag is only relevant to Windows users.</p>
+<p>If you have a class that requires some Windows-specific export macro, e.g. for classes in a DLL that need to be declared like this: <tt>class win_specific_declaration_goes_here Class</tt>, you can use the <tt>&lt;exportmacro&gt;</tt> tag. (In standard Qt we use the <tt>Q_EXPORT</tt> macro, e.g. <tt>class Q_EXPORT QWidget</tt>.) If you use this tag you must also:</p>
+<ol type=1><li><p><a href="designer-manual-16.html#1-11">include</a> the file which contains the macro definition;</p>
+<li><p>add the export macro to the form -- this is achieved by entering the macro's name in the 'export macro' sub-property of the form's name property.</p>
+</ol><p>Following these steps will ensure that <a href="uic.html">uic</a> will create the correct <tt>class YOUR_MACRO Form</tt> declarations.</p>
+<pre>
+&lt;exportmacro&gt;EDITOR_EXPORT&lt;/exportmacro&gt;
+</pre>
+<a name="forwards"></a><h4><a name="1-8"></a>forwards</h4>
+<p>It is sometimes necessary to forward declare classes, particularly if code is being written in <tt>.ui.h</tt> files within <em>Qt Designer</em>. Each forward declaration is listed as it should appear in the generated C++ code.</p>
+<pre>
+&lt;forwards&gt;
+ &lt;forward&gt;class QStringList;&lt;/forward&gt;
+&lt;/forwards&gt;
+</pre>
+<a name="functions"></a><h4><a name="1-9"></a>functions</h4>
+<p>The <tt>functions</tt> element contains a list of functions. Functions are standard C++ functions. It is possible to specify various attributes to create a function's signature, for example:</p>
+<ul><li><p>access: <tt>private</tt>, <tt>protected</tt> or <tt>public</tt>. Default: <tt>public</tt></p>
+<li><p>returnType: the return datatype of the function. Default: <tt>void</tt></p>
+<li><p>specifier: <tt>non virtual</tt>, <tt>virtual</tt> or <tt>pure virtual</tt>. Default: <tt>virtual</tt></p>
+<li><p>language: specifies the programming language. Default: <tt>C++</tt></p>
+</ul><pre>
+&lt;functions&gt;
+ &lt;function access="private" specifier="non virtual"&gt;isValid()&lt;/function&gt;
+ &lt;function access="public" returnType="QString"&gt;getMessage()&lt;/function&gt;
+&lt;/functions&gt;
+</pre>
+<a name="images"></a><h4><a name="1-10"></a>images</h4>
+<p>Images are normally stored in their own files and associated with forms using project files. This has the advantage that images can be shared across any number of forms in a project, and between projects.</p>
+<p>In some cases it may be desireable to store image data directly in a form, and the <tt>&lt;image&gt;</tt> tag allows for this.</p>
+<p>It is possible to store images in both PNG and XPM formats, although in practice only XPM is recommended because of bugs in some PNG libraries. See the <tt>saveImageData</tt> function in <tt>resource.cpp</tt> to see how the image data is encoded.</p>
+<pre>
+&lt;images&gt;
+ &lt;image name="image0"&gt;
+ &lt;data format="XPM.GZ" length="409"&gt;789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022630543251d2e253d856405bffcbc54105b19c856360003103711c6b53006ab440370316528264b4c198450c5808a94d1ed00aac214832b43124b544ec414d34b4c4c441103f11341120831309758313d0cf3b0840b7258d55a73010092c14eca&lt;/data&gt;
+ &lt;/image&gt;
+&lt;/images&gt;
+</pre>
+<a name="includes"></a><h4><a name="1-11"></a>includes</h4>
+<p>It is sometimes necessary to <tt>#include</tt> header files in a <tt>.ui</tt> file. Header files may be 'local', i.e. relative to the project's directory, or 'global', i.e. part of Qt or the compilers standard libraries. Header files are declared in the implementation wherever possible, although sometimes it is necessary to declare them in the declaration (header) file.</p>
+<p><em>Qt Designer</em> automatically adds <tt>&lt;include&gt;</tt> tags for a <tt>.ui</tt>'s <tt>.ui.h</tt> file.</p>
+<pre>
+&lt;includes&gt;
+ &lt;include location="local" impldecl="in implementation"&gt;pixmapcollection.h&lt;/include&gt;
+ &lt;include location="local" impldecl="in implementation"&gt;pixmapchooser.h&lt;/include&gt;
+ &lt;include location="local" impldecl="in implementation"&gt;project.h&lt;/include&gt;
+ &lt;include location="global" impldecl="in implementation"&gt;qfileinfo.h&lt;/include&gt;
+ &lt;include location="global" impldecl="in implementation"&gt;qimage.h&lt;/include&gt;
+ &lt;include location="global" impldecl="in declaration"&gt;qpixmap.h&lt;/include&gt;
+ &lt;include location="local" impldecl="in implementation"&gt;pixmapcollectioneditor.ui.h&lt;/include&gt;
+&lt;/includes&gt;
+</pre>
+<a name="layoutdefaults"></a><h4><a name="1-12"></a>layoutdefaults</h4>
+<p>Every form has a default spacing and margin size. These can be overridden on a case-by-case basis.</p>
+<pre>
+&lt;layoutdefaults spacing="6" margin="11"/&gt;
+</pre>
+<p>See also <a href="designer-manual-16.html#1-13">layoutfunctions</a>.</p>
+<a name="layoutfunctions"></a><h4><a name="1-13"></a>layoutfunctions</h4>
+<p>Sometimes the spacing and margin values should be determined dynamically, e.g. to provide a common look in a windowmanager.</p>
+<pre>
+&lt;layoutfunctions spacing="LayoutClass::spacing" margin="LayoutClass::margin"/&gt;
+</pre>
+<p>The rules for determining <tt>margin</tt> and <tt>spacing</tt> values are these:</p>
+<ol type=1><li><p>If an integer value is specified for <tt>margin</tt> or <tt>spacing</tt> then the value is used.</p>
+<li><p>If no integer value is specified and a layout function is specified then the function is used.</p>
+<li><p>If no integer value or function is specified then the default value from <tt>layoutdefaults</tt> is used.</p>
+</ol><a name="menubar"></a><h4><a name="1-14"></a>menubar</h4>
+<p>Applications that use <a href="qmainwindow.html">QMainWindow</a> often have a menubar. The menubar has a name property and one or more popup menu items. Each menu item has one or more actions and optionally separators.</p>
+<pre>
+&lt;menubar&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;menubar&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;item text="&amp;amp;File" name="PopupMenu"&gt;
+ &lt;action name="fileSaveAction"/&gt;
+ &lt;separator/&gt;
+ &lt;action name="fileExitAction"/&gt;
+ &lt;/item&gt;
+ &lt;item text="&amp;amp;Help" name="PopupMenu_2"&gt;
+ &lt;action name="helpAboutAction"/&gt;
+ &lt;action name="helpAboutQtAction"/&gt;
+ &lt;/item&gt;
+&lt;/menubar&gt;
+</pre>
+<a name="pixmapfunction"></a><h4><a name="1-15"></a>pixmapfunction</h4>
+<p>Images are normally included by listing their filenames in project files. Images can also be included inline using the <a href="designer-manual-16.html#1-10">images</a> tag. Another way of dealing with images is to specify a function name. This function will be called, with the name (or 'key') of the relevant image, and is responsible for loading the appropriate image. To specify such a function the <tt>&lt;pixmapfunction&gt;</tt> tag is used.</p>
+<pre>
+&lt;pixmapfunction&gt;splashScreen&lt;/pixmapfunction&gt;
+</pre>
+<a name="pixmapinproject"></a><h4><a name="1-16"></a>pixmapinproject</h4>
+<p>Most applications store their images as separate files listed in the application's project file. This can be signified by including the <tt>&lt;pixmapinproject&gt;</tt> tag.</p>
+<pre>
+&lt;pixmapinproject/&gt;
+</pre>
+<a name="signals"></a><h4><a name="1-17"></a>signals</h4>
+<p>All the signals are listed Within a <tt>&lt;signals&gt;</tt> tag.</p>
+<pre>
+&lt;signals&gt;
+ &lt;signal&gt;somethingChanged()&lt;/signal&gt;
+&lt;/signals&gt;
+</pre>
+<a name="slots"></a><h4><a name="1-18"></a>slots</h4>
+<p>The <tt>slots</tt> element contains a list of slots. Each <tt>slot</tt> element provides a slot's prototype.</p>
+<pre>
+&lt;slots&gt;
+ &lt;slot access="public" specifier="virtual" language="C++"
+ returnType="void"&gt;changeAlignment(QAction* align)&lt;/slot&gt;
+&lt;/slots&gt;
+</pre>
+<p>For available attributes see <a href="designer-manual-16.html#1-9">functions</a>.</p>
+<a name="tabstops"></a><h4><a name="1-19"></a>tabstops</h4>
+<p>Tabstops indicate the widgets that get the focus as the user tabs through the form. The <tt>&lt;tabstops&gt;</tt> tag contains a list of tabstops, in order, each of which holds the name of a widget.</p>
+<pre>
+&lt;tabstops&gt;
+ &lt;tabstop&gt;templateView&lt;/tabstop&gt;
+ &lt;tabstop&gt;helpButton&lt;/tabstop&gt;
+ &lt;tabstop&gt;buttonOk&lt;/tabstop&gt;
+ &lt;tabstop&gt;buttonCancel&lt;/tabstop&gt;
+&lt;/tabstops&gt;
+</pre>
+<a name="toolbars"></a><h4><a name="1-20"></a>toolbars</h4>
+<p>Forms that have toolbars (dock windows) use the <tt>&lt;toolbars&gt;</tt> tag to hold the details. These forms are normally <a href="qmainwindow.html">QMainWindow</a>s (or subclasses). Each toolbar has a dock attribute which identifies which dock window the toolbar initially belongs to. They also have both name and label properties. Each toolbar button is represented by an action. Toolbars can also hold other widgets, in which case the <tt>&lt;toolbar&gt;</tt> tag includes appropriate <tt>&lt;widget&gt;</tt> tags which give the class, name and any non-default property values for the relevant widget.</p>
+<pre>
+&lt;toolbars&gt;
+ &lt;toolbar dock="2"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;toolBar&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="label"&gt;
+ &lt;string&gt;Tools&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;action name="fileNewAction"/&gt;
+ &lt;action name="fileOpenAction"/&gt;
+ &lt;action name="fileSaveAction"/&gt;
+ &lt;separator/&gt;
+ &lt;action name="editUndoAction"/&gt;
+ &lt;action name="editRedoAction"/&gt;
+ &lt;action name="editCutAction"/&gt;
+ &lt;action name="editCopyAction"/&gt;
+ &lt;action name="editPasteAction"/&gt;
+ &lt;/toolbar&gt;
+ &lt;toolbar dock="2"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;Toolbar&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="label"&gt;
+ &lt;string&gt;Toolbar&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;action name="leftAlignAction"/&gt;
+ &lt;action name="centerAlignAction"/&gt;
+ &lt;action name="rightAlignAction"/&gt;
+ &lt;separator/&gt;
+ &lt;action name="boldAction"/&gt;
+ &lt;action name="italicAction"/&gt;
+ &lt;action name="underlineAction"/&gt;
+ &lt;separator/&gt;
+ &lt;widget class="QComboBox"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;fontComboBox&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;/widget&gt;
+ &lt;widget class="QSpinBox"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;SpinBox2&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="minValue"&gt;
+ &lt;number&gt;6&lt;/number&gt;
+ &lt;/property&gt;
+ &lt;property name="value"&gt;
+ &lt;number&gt;10&lt;/number&gt;
+ &lt;/property&gt;
+ &lt;/widget&gt;
+ &lt;/toolbar&gt;
+&lt;/toolbars&gt;
+</pre>
+<a name="variables"></a><h4><a name="1-21"></a>variables</h4>
+<p>Module variables are held in the <tt>&lt;variables&gt;</tt> tag. Variable type names often include &lt; and &gt;, which must be stored as entities. It is also possible to specify the access type - either <tt>public</tt>, <tt>protected</tt> or <tt>private</tt>. Default is <tt>protected</tt>.</p>
+<pre>
+&lt;variables&gt;
+ &lt;variable access="private"&gt;SettingsDialog * settings;&lt;/variable&gt;
+ &lt;variable&gt;QMap&amp;lt;int, QString&amp;gt; bookmarks;&lt;/variable&gt;
+ &lt;variable&gt;HelpWindow *browser;&lt;/variable&gt;
+ &lt;variable&gt;HelpDialog *helpDock;&lt;/variable&gt;
+ &lt;variable&gt;QGuardedPtr&amp;lt;FindDialog&amp;gt; findDialog;&lt;/variable&gt;
+ &lt;variable&gt;static QPtrList&amp;lt;MainWindow&amp;gt; *windows;&lt;/variable&gt;
+&lt;/variables&gt;
+</pre>
+<a name="widget"></a><h4><a name="1-22"></a>widget</h4>
+<p>Widgets are used at multiple levels within a <tt>.ui</tt> file. The whole form itself is a widget, and it contains other widgets, usually within the context of layouts such as hboxes, vboxes and grids.</p>
+<p>Below is an example of a complete <tt>.ui</tt> file. The form itself is a <a href="qwidget.html">QWidget</a> with various non-default properties set. This widget contains a single hbox, which also has some non-default properties, and which contains a single <a href="qtextbrowser.html">QTextBrowser</a> widget.</p>
+<pre>
+&lt;!DOCTYPE UI&gt;&lt;UI version="3.1" stdsetdef="1"&gt;
+&lt;class&gt;WinIntroPage&lt;/class&gt;
+&lt;widget class="QWidget"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;WinIntroPage&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="geometry"&gt;
+ &lt;rect&gt;
+ &lt;x&gt;0&lt;/x&gt;
+ &lt;y&gt;0&lt;/y&gt;
+ &lt;width&gt;387&lt;/width&gt;
+ &lt;height&gt;228&lt;/height&gt;
+ &lt;/rect&gt;
+ &lt;/property&gt;
+ &lt;property name="caption"&gt;
+ &lt;string&gt;Form1&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;hbox&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;unnamed&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="margin"&gt;
+ &lt;number&gt;11&lt;/number&gt;
+ &lt;/property&gt;
+ &lt;property name="spacing"&gt;
+ &lt;number&gt;6&lt;/number&gt;
+ &lt;/property&gt;
+ &lt;widget class="QTextBrowser"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;TextBrowser1&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="text"&gt;
+ &lt;string&gt;This program installs Qt.&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;/widget&gt;
+ &lt;/hbox&gt;
+&lt;/widget&gt;
+&lt;layoutdefaults spacing="6" margin="11"/&gt;
+&lt;/UI&gt;
+</pre>
+<a name="forward"></a><h4><a name="1-23"></a>forward</h4>
+<p><i> This tag is included for Qt 3.x beta backwards compatibility, and should not be used. Use <a href="designer-manual-16.html#1-8">forwards</a> instead. </i></p>
+<a name="include"></a><h4><a name="1-24"></a>include</h4>
+<p><i> This tag is included for Qt 2.x beta backwards compatibility, and should not be used. Use <a href="designer-manual-16.html#1-11">includes</a> instead. </i></p>
+<a name="variable"></a><h4><a name="1-25"></a>variable</h4>
+<p><i> This tag is included for Qt 3.x beta backwards compatibility, and should not be used. Use <a href="designer-manual-16.html#1-21">variables</a> instead. </i></p>
+<a name="datatype"></a><h3><a name="2"></a>Datatype Elements</h3>
+<a name="color"></a><ul><li><p><tt>bool</tt> - a boolean value (0 or 1), e.g. <tt>&lt;bool&gt;1&lt;/bool&gt;</tt></p>
+<li><p><tt>color</tt> - a color, e.g. <tt>&lt;color&gt;&lt;red&gt;192&lt;/red&gt;&lt;green&gt;0&lt;/green&gt;&lt;blue&gt;255&lt;/blue&gt;&lt;/color&gt;</tt></p>
+<li><p><tt>cstring</tt> - a C string value (8-bit), e.g. <tt>&lt;cstring&gt;Some text&lt;/cstring&gt;</tt></p>
+<li><p><tt>cursor</tt> - an integer which indicates the cursor type, e.g. <tt>&lt;cursor&gt;4&lt;/cursor&gt;</tt>. The valid integers for the cursor type are:</p>
+<ul><li><p>0 - ArrowCursor</p>
+<li><p>1 - UpArrowCursor</p>
+<li><p>2 - CrossCursor</p>
+<li><p>3 - WaitCursor</p>
+<li><p>4 - IbeamCursor</p>
+<li><p>5 - SizeVerCursor</p>
+<li><p>6 - SizeHorCursor</p>
+<li><p>7 - SizeBDiagCursor</p>
+<li><p>8 - SizeFDiagCursor</p>
+<li><p>9 - SizeAllCursor</p>
+<li><p>10 - BlankCursor</p>
+<li><p>11 - SplitVCursor</p>
+<li><p>12 - SplitHCursor</p>
+<li><p>13 - PointingHandCursor</p>
+<li><p>14 - ForbiddenCursor</p>
+</ul><li><p><tt>enum</tt> - an enum name, e.g. <tt>&lt;enum&gt;StrongFocus&lt;/enum&gt;</tt></p>
+<li><p><tt>font</tt> - a font description, e.g.</p>
+<pre>
+&lt;font&gt;
+ &lt;family&gt;Helvetica&lt;/family&gt;
+ &lt;pointsize&gt;16&lt;/pointsize&gt;
+ &lt;weight&gt;50&lt;/weight&gt;
+ &lt;italic&gt;1&lt;/italic&gt;
+ &lt;underline&gt;0&lt;/underline&gt;
+ &lt;strikeout&gt;0&lt;/strikeout&gt;
+&lt;/font&gt;
+</pre>
+<li><p><tt>iconset</tt> - an iconset (see <tt>pixmap</tt>), e.g. <tt>&lt;iconset&gt;filenew&lt;/iconset&gt;</tt></p>
+<li><p><tt>number</tt> - an integer with an optional sign, e.g. <tt>&lt;number&gt;947&lt;/number&gt;</tt></p>
+<li><p><tt>palette</tt> - a <a href="qwidget.html#palette-prop">palette</a></p>
+<li><p><tt>pixmap</tt> - a pixmap, normally the name or "key" of the pixmap; the name is used if pixmaps are stored in the project, the key is used if a user defined function is used to access the pixmap. It is also possible for pixmaps to be included inline. Example: <tt>&lt;pixmap&gt;chair&lt;/pixmap&gt;</tt></p>
+<li><p><tt>point</tt> - a point, e.g. <tt>&lt;point&gt;&lt;x&gt;15&lt;/x&gt;&lt;y&gt;95&lt;/y&gt;&lt;/point&gt;</tt></p>
+<li><p><tt>rect</tt> - a rectangle, e.g.</p>
+<pre>
+&lt;rect&gt;
+ &lt;x&gt;20&lt;/x&gt;
+ &lt;y&gt;35&lt;/y&gt;
+ &lt;width&gt;225&lt;/width&gt;
+ &lt;height&gt;45&lt;/height&gt;
+&lt;/rect&gt;
+</pre>
+<li><p><tt>set</tt> - a list of names separated by |'s, e.g. <tt>&lt;set&gt;AlignLeft|AlignTop&lt;/set&gt;</tt></p>
+<li><p><tt>size</tt> - a size, e.g. <tt>&lt;size&gt;&lt;width&gt;150&lt;/width&gt;&lt;height&gt;105&lt;/height&gt;&lt;/size&gt;</tt></p>
+<li><p><tt>sizepolicy</tt> - an integer which indicates the size type, e.g. <tt>&lt;hsizetype&gt;5&lt;/hsizetype&gt;&lt;vsizetype&gt;4&lt;/vsizetype&gt;</tt>. The valid integers for the size type are:</p>
+<ul><li><p>0 - Fixed</p>
+<li><p>1 - Minimum</p>
+<li><p>3 - MinimumExpanding</p>
+<li><p>4 - Maximum</p>
+<li><p>5 - Preferred</p>
+<li><p>7 - Expanding</p>
+</ul><li><p><tt>string</tt> - a Unicode string value (in UTF8), e.g. <tt>&lt;string&gt;Some text&lt;/string&gt;</tt></p>
+</ul><h4><a name="2-1"></a>Complex Datatype Elements</h4>
+<a name="palette"></a><h5><a name="2-1-1"></a>palette</h5>
+<p>This element holds colors for user interface elements for each color group. For example:</p>
+<pre>
+&lt;palette&gt;
+ &lt;active&gt;
+ &lt;color&gt; ... Foreground ... &lt;/color&gt;
+ &lt;color&gt; ... Button ... &lt;/color&gt;
+ &lt;color&gt; ... Light ... &lt;/color&gt;
+ &lt;color&gt; ... Midlight ... &lt;/color&gt;
+ &lt;color&gt; ... Dark ... &lt;/color&gt;
+ &lt;color&gt; ... Mid ... &lt;/color&gt;
+ &lt;color&gt; ... Text ... &lt;/color&gt;
+ &lt;color&gt; ... BrightText ... &lt;/color&gt;
+ &lt;color&gt; ... ButtonText ... &lt;/color&gt;
+ &lt;color&gt; ... Base ... &lt;/color&gt;
+ &lt;color&gt; ... Background ... &lt;/color&gt;
+ &lt;color&gt; ... Shadow ... &lt;/color&gt;
+ &lt;color&gt; ... Highlight ... &lt;/color&gt;
+ &lt;color&gt; ... HighlightText ... &lt;/color&gt;
+ &lt;/active&gt;
+ &lt;disabled&gt;
+ &lt;color&gt;&lt;red&gt;128&lt;/red&gt;&lt;green&gt;128&lt;/green&gt;&lt;blue&gt;128&lt;/blue&gt;&lt;/color&gt;
+ ...
+ &lt;color&gt;&lt;red&gt;255&lt;/red&gt;&lt;green&gt;255&lt;/green&gt;&lt;blue&gt;255&lt;/blue&gt;&lt;/color&gt;
+ &lt;/disabled&gt;
+ &lt;inactive&gt;
+ &lt;color&gt;&lt;red&gt;0&lt;/red&gt;&lt;green&gt;0&lt;/green&gt;&lt;blue&gt;0&lt;/blue&gt;&lt;/color&gt;
+ ...
+ &lt;color&gt;&lt;red&gt;255&lt;/red&gt;&lt;green&gt;255&lt;/green&gt;&lt;blue&gt;255&lt;/blue&gt;&lt;/color&gt;
+ &lt;/inactive&gt;
+&lt;/palette&gt;
+</pre>
+<p>See <a href="designer-manual-16.html#color">color</a> for the format of the <tt>&lt;color&gt;</tt> element.</p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-2.html b/doc/html/designer-manual-2.html
new file mode 100644
index 0000000..654cc0f
--- /dev/null
+++ b/doc/html/designer-manual-2.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-quickstart2.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Quick Start</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-1.html">Prev: Preface</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-3.html">Next: Creating a Main Window Application</a>]</p>
+<h2 align="center">Quick Start</h2>
+<p>This chapter provides a quick start for users of <em>Qt Designer</em>. The chapter takes you step-by-step through the creation of a small dialog-style metric conversion application. It introduces many of the common tasks users perform when creating an application: adding widgets to a form, setting widget properties, making connections between signals and slots, laying out widgets, and adding custom code. This chapter only covers a portion of <em>Qt Designer</em>'s functionality; explanations and details are mostly left for the more detailed <tt>colortool</tt> tutorial presented in chapters two and three.</p>
+<p align="center"><img align="middle" src="qsmetric.png" width="328" height="239">
+</p>
+<blockquote><p align="center"><em>The Metric Conversion Dialog</em></p></blockquote>
+<h3><a name="1"></a>Starting and Exiting <em>Qt Designer</em></h3>
+<h4><a name="1-1"></a>Starting <em>Qt Designer</em> under Windows</h4>
+<p>To start <em>Qt Designer</em> under Windows, click the <b>Start</b> button then select <b>Programs|Qt X.x.x|Designer</b>. (X.x.x is the Qt version number, e.g. 3.3.1.)</p>
+<h4><a name="1-2"></a>Starting <em>Qt Designer</em> under Unix or Linux</h4>
+<p><em>Qt Designer</em> may be started in a number of ways, depending on the desktop environment you are using:</p>
+<ul><li><p>If there is a <em>Qt Designer</em> icon on the desktop background, you may double click this to start <em>Qt Designer</em>.</p>
+<li><p>For desktop environments which feature a <b>Start</b> menu, there may be a <em>Qt Designer</em> item in the relevant submenu; try looking for a <em>Qt Designer</em> entry in the "Programming" or "Development" submenus, and select this.</p>
+<li><p>Entering <tt>designer</tt> in a terminal window will also start <em>Qt Designer</em>.</p>
+</ul><h4><a name="1-3"></a>Starting <em>Qt Designer</em> under Mac OS X</h4>
+<p>Double click on <em>Qt Designer</em> in the Finder.</p>
+<h4><a name="1-4"></a>Exiting</h4>
+<p>When you have finished using <em>Qt Designer</em>, just click <b>File|Exit</b>. If you have unsaved work, <em>Qt Designer</em> will ask you whether you wish to save or discard any changes.</p>
+<h3><a name="2"></a>Creating the Project</h3>
+<p>Start <em>Qt Designer</em> now. When <em>Qt Designer</em> starts, it shows the <em>New/Open</em> dialog. We will open this dialog ourselves, so click <b>Cancel</b> to close it.</p>
+<p>Our metric conversion application is a standard C++ application, so we must create a C++ project, and add our files and code to this project.</p>
+<p>Create the new project as follows:</p>
+<ul><li><p>Click <b>File|New</b> to invoke the <em>New File</em> dialog.</p>
+<li><p>Click "C++ Project" to create a C++ project then click <b>OK</b> to pop up the <em>Project Settings</em> dialog.</p>
+<li><p>Click the <b>ellipsis (...)</b> button next to the Project File line edit to invoke the <em>Save As</em> dialog. Use this dialog to navigate to where you want to create the new project, creating a new folder for it (called "metric") using the <b>Create New Folder</b> toolbar button.</p>
+<li><p>Enter a filename of "metric.pro" then click <b>Save</b>; the project's name will now be "metric".</p>
+<li><p>Click <b>OK</b> to close the <em>Project Settings</em> dialog.</p>
+<li><p>Click <b>File|Save</b> to save the project.</p>
+</ul><p align="center"><img align="middle" src="qs-projset.png" width="383" height="273">
+</p>
+<p>See also <a href="designer-manual-3.html#creating-the-project">Creating the Project</a>.</p>
+<h3><a name="3"></a>Creating the Dialog</h3>
+<ul><li><p>Click <b>File|New</b> to invoke the <em>New File</em> dialog.</p>
+<li><p>Click "Dialog" then click <b>OK</b>.</p>
+<li><p>Drag a corner of the new form to make it a lot smaller.</p>
+<li><p>Change the form's name (in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>) to "ConversionForm", and change its caption to "Metric Conversion".</p>
+<li><p>Click <b>File|Save</b>, accept the default form name, and click <b>Save</b> to save it.</p>
+</ul><p align="center"><img align="middle" src="qs-newdlg.png" width="395" height="211">
+</p>
+<p>See also <a href="designer-manual-4.html">Creating Dialogs</a> and <a href="designer-manual-4.html#layouts-subsection">Layouts</a>.</p>
+<h4><a name="3-1"></a>Adding Widgets to the Dialog</h4>
+<h5><a name="3-1-1"></a>Adding Text Labels</h5>
+<ul><li><p>Click the <b>Common Widgets</b> button listed in the Toolbox toolbar at the left of <em>Qt Designer</em>'s main window.</p>
+<li><p>Double click the <b>TextLabel</b> button then click inside the dialog near the top left corner.</p>
+<li><p>Click four more times below the top text label until you have five labels from top to bottom. Don't worry about exact placement of the labels since the layout tools will handle this automatically.</p>
+<li><p>Click the <b>Pointer</b> toolbar button to deselect the text label.</p>
+</ul><p>See also <a href="designer-manual-4.html#adding-the-widgets-subsection">Adding the Widgets</a>.</p>
+<p>We will change the properties of the text labels to suit the application. This will make them easier to refer to later.</p>
+<ul><li><p>Click on the text label that is closest to the top of the dialog. Go to the <em>Property Editor</em> window, and change the label's <em>text</em> property to "Enter &amp;Number:". The &amp; (ampersand) makes the following letter an Alt key accelerator (keyboard shortcuts).</p>
+<li><p>Click the second label. Change the label's <em>text</em> property to "Convert &amp;From:".</p>
+<li><p>Click the third label. Change the label's <em>text</em> property to "Convert &amp;To:".</p>
+<li><p>Click the fourth label. Change the label's <em>text</em> property to "Result:".</p>
+<li><p>Click the fifth label. Change the label's <em>text</em> property to "&amp;Decimals:".</p>
+</ul><p align="center"><img align="middle" src="qs-txtlbl.png" width="424" height="212">
+</p>
+<p>See also <a href="designer-manual-3.html#using-the-property-editor-sidebar">Using the Property Editor</a>.</p>
+<h5><a name="3-1-2"></a>Adding Line Edits, Comboboxes, and Spinboxes</h5>
+<ul><li><p>Click the <b>Common Widgets</b> button listed in the Toolbox toolbar at the left of <em>Qt Designer</em>'s main window.</p>
+<li><p>Click the <b>LineEdit</b> button and then click to the right of the Enter Number label. Change its <em>name</em> property to "numberLineEdit". Change the <em>hAlign</em> property to AlignRight and change <em>vAlign</em> to AlignTop. Change the <em>font</em> property to use a bold variant by expanding it and adjusting the value in its <em>bold</em> subsection. Finally, change <em>wordwrap</em> to False. Note that whenever you click a widget, its properties appear in the <em>Property Editor</em>.</p>
+<li><p>Double click the <b>ComboBox</b> button, and click to the right of the Convert From label. Now click to the right of the "Convert To" label. Click the <b>Pointer</b> toolbar button to deselect the ComboBox. Change the <em>name</em> property of the first combobox to "fromComboBox". Change the <em>name</em> property of the second to "toComboBox".</p>
+<li><p>Click the <b>LineEdit</b> button then click to the right of the "Result" label. Change its <em>name</em> property to "resultLineEdit". Change the <em>paletteBackgroundColor</em> property to a shade of yellow and modify the <em>font</em> property to use a bold variant (just to make the result stand out). Change <em>hAlign</em> to AlignRight, <em>vAlign</em> to AlignVCenter, and <em>wordwrap</em> to False. Now change the <em>readOnly</em> property to "True".</p>
+<li><p>Click the <b>SpinBox</b> button then click to the right of the Decimals label. Place the SpinBox below the right side of the resultLineEdit. Change the spinbox's <em>name</em> property to "decimalsSpinBox". Change its <em>max value</em> property to "6", and the <em>value</em> to "3".</p>
+<li><p>Click <b>File|Save</b>.</p>
+</ul><p align="center"><img align="middle" src="qs-addwidg.png" width="422" height="210">
+</p>
+<p>Now we need to relate each of the text labels to the corresponding widget. We do this by creating "buddies".</p>
+<p>A widget that does not accept focus itself, e.g. a <a href="qlabel.html">QLabel</a>, can have an accelerator that will pass the focus to its "buddy", e.g. a <a href="qlineedit.html">QLineEdit</a>. In <em>Qt Designer</em>, we enable this by setting the first widget's <em>buddy</em> property to the name of the buddy widget.</p>
+<ul><li><p>Click the <b>Set Buddy</b> toolbar button (or press <b>F12</b>). Click the Enter Number label, drag the line to the numberLineEdit, then release.</p>
+<li><p>Click the <b>Set Buddy</b> toolbar button. Click the Convert From label, drag the line to the fromComboBox, then release.</p>
+<li><p>Click the <b>Set Buddy</b> toolbar button. Click the Convert To label, drag the line to the toComboBox, then release.</p>
+<li><p>Click the <b>Set Buddy</b> toolbar button. Click the Decimals label, drag the line to the decimalsSpinBox, then release.</p>
+</ul><h5><a name="3-1-3"></a>Adding Push Buttons</h5>
+<ul><li><p>Click the <b>Common Widgets</b> button in the Toolbox.</p>
+<li><p>Double click the <b>Pushbutton</b> button then click inside the dialog near the bottom left corner, just below the "Decimals" label.</p>
+<li><p>Click twice more to the right of the new push button, so that you have three push buttons in a horizontal row at the bottom of the dialog.</p>
+<li><p>Click the <b>Pointer</b> toolbar button to deselect the push button.</p>
+</ul><p>We will change a few properties for each of the push buttons in the <em>Property Editor</em> window.</p>
+<ul><li><p>Click the left-most push button, and change its name to "clearPushButton", and its text to "&amp;Clear".</p>
+<li><p>Click the middle push button and change its name to "calculatePushButton", its text to "Calculate", and its default property to "True".</p>
+<li><p>Click the right-most push button, change its name to "quitPushButton", and change its text to "&amp;Quit".</p>
+</ul><p align="center"><img align="middle" src="qs-pushbutt.png" width="428" height="232">
+</p>
+<h5><a name="3-1-4"></a>Adding Spacers</h5>
+<p>We need to add spacers to absorb redundant space in our dialog, so that it will lay out nicely at any size. Usually spacers are added as you experiment with the layout but, since this is a quick guide to <em>Qt Designer</em>, and we already know that they will be needed, we will add the spacers now.</p>
+<ul><li><p>Click the <b>Common Widgets</b> button in the Toolbox.</p>
+<li><p>Click the <b>Spacer</b> button. Click to the right of the "Decimal" label, drag right towards the spinbox, then release. A horizontal spacer will appear.</p>
+<li><p>Click the <b>Spacer</b> button again. Click to the right of the Calculate push button, drag right towards the Quit push button, then release.</p>
+<li><p>Click the <b>Spacer</b> button. Click just below the spin box, drag vertically towards the buttons, then release. This time, a vertical spacer will appear.</p>
+</ul><p align="center"><img align="middle" src="qs-spacers.png" width="434" height="243">
+</p>
+<p>Click <b>File|Save</b> to save the dialog.</p>
+<h5><a name="3-1-5"></a>Editing Widgets</h5>
+<p>We will edit some of the widgets to contain the values needed for the conversions.</p>
+<p>The fromComboBox:</p>
+<ul><li><p>Right click the fromComboBox then click <b>Edit</b> from the context menu.</p>
+<li><p>Click <b>New Item</b>, and replace the "New Item" text with "Kilometers".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Meters".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Centimeters".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Millimeters".</p>
+<li><p>Click <b>OK</b> to close the Edit Listbox dialog.</p>
+</ul><p align="center"><img align="middle" src="qs-editlistbox1.png" width="490" height="255">
+</p>
+<p>The toComboBox:</p>
+<ul><li><p>Right click the toComboBox then click <b>Edit</b> from the context menu.</p>
+<li><p>Delete the "New Item" text, and type "Miles".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Yards".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Feet".</p>
+<li><p>Click <b>New Item</b>, and change the text to "Inches".</p>
+<li><p>Click <b>OK</b> to close the Edit Listbox dialog.</p>
+</ul><h4><a name="3-2"></a>Laying Out the Dialog</h4>
+<p>We will lay out the text labels with their corresponding widgets first, and lay out the push buttons last.</p>
+<ul><li><p>Click the decimalsSpinBox, and press <b>Shift+Click</b> on the spacer next to it.</p>
+<li><p>Click the <b>Lay Out Horizontally</b> (<b>Ctrl+H</b>) toolbar button.</p>
+<li><p>Click the form to deselect anything that's selected.</p>
+<li><p>Click the form to the left of the Decimals text label, drag the rubber band so that all the widgets above the vertical spacer are selected, then release.</p>
+<li><p>Click the <b>Lay Out in a Grid</b> (<b>Ctrl+G</b>) toolbar button.</p>
+<p align="center"><img align="middle" src="qs-laygrid.png" width="396" height="243">
+</p>
+<li><p>Click the Clear push button in the <em>Object Explorer</em> window (Objects tab) then <b>Shift+Click</b> the Calculate push button, the Quit push button, and the Spacer between the push buttons.</p>
+<li><p>Click the <b>Lay Out Horizontally</b> toolbar button.</p>
+<p align="center"><img align="middle" src="qs-layhoriz.png" width="387" height="260">
+</p>
+<li><p>Click the form to deselect all the widgets and layouts then click the <b>Lay Out Vertically</b> (<b>Ctrl+L</b>) toolbar button.</p>
+<li><p>Finally, click the form then click the <b>Adjust Size</b> (<b>Ctrl+J</b>) toolbar button.</p>
+</ul><p align="center"><img align="middle" src="qs-layvert.png" width="388" height="258">
+</p>
+<p>Click <b>File|Save</b> to save the dialog.</p>
+<p>See also <a href="designer-manual-4.html#laying-out-the-widgets-subsection">Laying Out the Widgets</a>.</p>
+<h5><a name="3-2-1"></a>Tab Order</h5>
+<p>We should make sure that our dialog's tab order is set correctly.</p>
+<ul><li><p>Click the <b>Tab Order</b> toolbar button. A number in a blue circle will appear next to every widget that can accept the keyboard focus.</p>
+<li><p>Click every widget in turn in the order you want them to accept the keyboard focus.</p>
+<li><p>Press <b>Esc</b> to leave tab order mode.</p>
+</ul><p align="center"><img align="middle" src="qs-taborder.png" width="324" height="253">
+</p>
+<p>See also <a href="designer-manual-4.html#changing-the-tab-order-sidebar">Changing the Tab Order</a>.</p>
+<h4><a name="3-3"></a>Previewing the Dialog</h4>
+<p>To preview the dialog, press <b>Ctrl+T</b> or click <b>Preview|Preview Form</b> from the menubar. Try dragging the corner of the dialog to adjust the size. Note that the the widgets always stay in proportion no matter what size you make the dialog. Check the tab order of the widgets by pressing the <b>Tab</b> key.</p>
+<h4><a name="3-4"></a>Connecting the Widgets</h4>
+<p>We need to connect three buttons: the Clear button, the Calculate button, and the Quit button. We also need to connect some of the other widgets. For convenience, we can make all of our connections at once using the <em>View and Edit Connections</em> dialog.</p>
+<p>We will now connect our clearButton:</p>
+<ul><li><p>Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog.</p>
+<li><p>Click <b>New</b> to enter a new connection.</p>
+<li><p>For the first connection, select clearPushButton for the Sender, clicked() for the Signal, numberLineEdit for the Receiver, and clear() for the Slot.</p>
+<li><p>Click <b>New</b> again.</p>
+<li><p>Select clearPushButton for the Sender, clicked() for the Signal, resultLineEdit for the Receiver, and clear() for the Slot.</p>
+<li><p>Click <b>New</b> again.</p>
+<li><p>Select clearPushButton for the Sender, clicked() for the Signal, numberLineEdit for the Receiver, and setFocus() for the Slot.</p>
+</ul><p align="center"><img align="middle" src="qs-editconn1.png" width="608" height="391">
+</p>
+<p>We also need to connect the quit button to the form:</p>
+<ul><li><p>Click <b>New</b>.</p>
+<li><p>Select quitPushButton for Sender, clicked() for Signal, ConversionForm for Receiver, and close() for Slot.</p>
+</ul><p>We want to connect the calculate button and the other widgets, but the slot we want to use is not listed in the combobox. We will need to create a new slot so that we can select it from the list to complete our connections.</p>
+<ul><li><p>Click <b>New</b>.</p>
+<li><p>Select calculatePushButton for the Sender, clicked() for the Signal, and ConversionForm for the Receiver.</p>
+<li><p>Click <b>Edit Slots</b> to invoke the <em>Edit Functions</em> dialog.</p>
+<li><p>Click <b>New Function</b>.</p>
+<li><p>Type over the Function name with the name of our new function: convert().</p>
+<li><p>Click <b>OK</b>.</p>
+<li><p>Select convert() from the Slot combobox to complete our connection.</p>
+</ul><p align="center"><img align="middle" src="qs-editfunc.png" width="608" height="397">
+</p>
+<p>We will now connect the last few widgets:</p>
+<ul><li><p>Click <b>New</b>.</p>
+<li><p>Select decimalsSpinBox as the Sender, valueChanged(int) as the Signal, ConversionForm as the Receiver, and convert() as the Slot.</p>
+<li><p>Click <b>New</b>.</p>
+<li><p>Select fromComboBox as the Sender, activated(int) as the Signal, ConversionForm as the Receiver, and convert() as the Slot.</p>
+<li><p>Click <b>New</b>.</p>
+<li><p>Select toComboBox as the Sender, activated(int) as the Signal, ConversionForm as the Receiver, and convert() as the Slot.</p>
+<li><p>Click <b>New</b>.</p>
+<li><p>Select calculatePushButton as the Sender, clicked() as the Signal, numberLineEdit as the Receiver, and setFocus() as the Slot.</p>
+</ul><p align="center"><img align="middle" src="qs-editconn2.png" width="608" height="391">
+</p>
+<p>Click <b>OK</b> to exit the View and Edit Connections dialog.</p>
+<p>Click <b>Save</b> to save the project.</p>
+<h3><a name="4"></a>Coding the Dialog</h3>
+<p>Click "conversionform.ui.h" in the <em>Project Overview</em> window to invoke the code editor. We will implement the <tt>convert()</tt> and <tt>init()</tt> functions. For faster implementation, copy the code from this section and then follow the brief explanations below:</p>
+<pre> void ConversionForm::convert()
+ {
+ enum MetricUnits {
+ Kilometers,
+ Meters,
+ Centimeters,
+ Millimeters
+ };
+ enum OldUnits {
+ Miles,
+ Yards,
+ Feet,
+ Inches
+ };
+
+ // Retrieve the input
+ double input = numberLineEdit-&gt;text().toDouble();
+ double scaledInput = input;
+
+ // internally convert the input to millimeters
+ switch ( fromComboBox-&gt;currentItem() ) {
+ case Kilometers:
+ scaledInput *= 1000000;
+ break;
+ case Meters:
+ scaledInput *= 1000;
+ break;
+ case Centimeters:
+ scaledInput *= 10;
+ break;
+ }
+
+ //convert to inches
+ double result = scaledInput * 0.0393701;
+
+ switch ( toComboBox-&gt;currentItem() ) {
+ case Miles:
+ result /= 63360;
+ break;
+ case Yards:
+ result /= 36;
+ break;
+ case Feet:
+ result /= 12;
+ break;
+ }
+
+ // set the result
+ int decimals = decimalsSpinBox-&gt;value();
+ resultLineEdit-&gt;setText( QString::<a href="qstring.html#number">number</a>( result, 'f', decimals ) );
+ numberLineEdit-&gt;setText( QString::<a href="qstring.html#number">number</a>( input, 'f', decimals ) );
+ }
+</pre>
+ <p>First, we define some enums for the input and output units. Then we retrieve the input from the numberLineEdit. We convert the input to millimeters because this is the most precise metric unit we support. Then we convert it to inches which is the most precise output unit we support. We then scale it to the selected output unit. Finally, we put the result in the resultLineEdit.</p>
+<p>Next, we will implement the <tt>init()</tt> function which is called when the dialog is created.</p>
+<pre> void ConversionForm::init()
+ {
+ numberLineEdit-&gt;setValidator( new <a href="qdoublevalidator.html">QDoubleValidator</a>( numberLineEdit ) );
+ numberLineEdit-&gt;setText( "10" );
+ convert();
+ numberLineEdit-&gt;selectAll();
+ }
+</pre>
+ <p>For this function, we set a validator on the numberLineEdit so that the user can only input numbers. To be able to do this, we also need to add <tt>#include &lt;qvalidator.h&gt;</tt> at the top of the "conversionform.ui.h" file, before the <tt>init()</tt> function. Lastly, we set the initial input.</p>
+<p>We are almost ready to run the application. Before we compile the application, we need a <tt>main.cpp</tt> file.</p>
+<ul><li><p>Click <b>File|New</b> to open the New File dialog.</p>
+<li><p>Click C++ Main File (<tt>main.cpp</tt>) then click <b>OK</b>.</p>
+<li><p>Accept the default selections for the Configure Main-File dialog.</p>
+<li><p>Click <b>Save</b> to save the project.</p>
+</ul><p>Compiling and Running the Application</p>
+<ul><li><p>Start or switch to a console, and navigate to the directory where the project is saved.</p>
+<li><p>Run <em>qmake</em> on the project file (<tt>metric.pro</tt>) by typing <tt>qmake -o Makefile metric.pro</tt>.</p>
+<li><p>Run <em>make</em> (or <em>nmake</em> depending on your system).</p>
+<li><p>After the project has compiled, run the application.</p>
+</ul><h3><a name="5"></a>Wrapping Up</h3>
+<p>In this brief introduction to <em>Qt Designer</em>, we have covered the basic tasks involved in creating a simple dialog-style application. The user should now be able to add widgets to a form, set widget properties, connect signals and slots, lay out the form, and add custom code. We have ignored many of the details, and deferred some explanations until later chapters. The next two chapters provide a tutorial that covers the development of a small but complete application, and the reference chapters complete the detailed coverage.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-1.html">Prev: Preface</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-3.html">Next: Creating a Main Window Application</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-3.html b/doc/html/designer-manual-3.html
new file mode 100644
index 0000000..76830a0
--- /dev/null
+++ b/doc/html/designer-manual-3.html
@@ -0,0 +1,852 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-main-windows.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Creating a Main Window Application</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-2.html">Prev: Quick Start</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-4.html">Next: Creating Dialogs</a>]</p>
+<h2 align="center">Creating a Main Window Application</h2>
+<p>In this chapter and in chapter three we will create a small but complete Qt application called <tt>colortool</tt>. The <tt>colortool</tt> application is used to associate names with colors. It consists of a standard main window application with some custom dialogs to facilitate some of the user interaction.This chapter will cover the main window, and the next chapter covers the dialogs that complete the application.</p>
+<h3><a name="1"></a>The Color Tool Application</h3>
+<p align="center"><img align="middle" src="mw-colortool1.png" alt="The Color Tool application" width="605" height="501">
+</p>
+<p>The <tt>colortool</tt> application is a multiplatform application that allows users to create, edit and save lists of colors. Each color has a user defined name and an RGB (Red, Green, Blue) value.</p>
+<p>This application presents the user with a view of a set of colors and their names. We will provide two views (using a <a href="qwidgetstack.html">QWidgetStack</a>) which the user can switch between. The tabular view will show each color as a small square followed by its name and hex value. It will also provide the option of an indicator to show whether or not the color is one of the 216 standard web colors. The iconic view will show each color as a circular color swatch with the name of the color beneath.</p>
+<p>The application will read and write files in the format used by the X Consortium for the <tt>rgb.txt</tt> file. This will allow users to create their own color files and to load, edit and save <tt>rgb.txt</tt> format files.</p>
+<p>We will provide a simple search option so that users can quickly locate a color; this is particularly useful when hundreds or thousands of colors are shown. The search will be provided in a modeless dialog so that the user can conduct a search but still interact with the main form. We will also enable the user to add and delete colors, and to set some user options. To provide these facilities, we must create some modal dialogs.</p>
+<p>Finally, we must ensure that the application loads user options at start up and saves user options at termination. We will also include the view and the size and position of the main window with these options, so that the application will always start with the size, position and view it had when the user last used it.</p>
+<p align="center"><img align="middle" src="mw-colortool2.png" alt="The Color Tool application" width="580" height="485">
+</p>
+<h3><a name="2"></a>Starting and Exiting <em>Qt Designer</em></h3>
+<!-- index Starting Qt Designer --><p>To start <em>Qt Designer</em> under Windows click the <b>Start</b> button and click <b>Programs|Qt X.x.x|Designer</b>. (X.x.x is the Qt version number, e.g. 3.1.0.) If you're running a Unix or Linux operating system you can either double click the <em>Qt Designer</em> icon or enter <tt>designer &amp;</tt> in an xterm.</p>
+<p>When <em>Qt Designer</em> starts, it shows the <em>New/Open</em> dialog. If you prefer to not have this dialog appear the next time you open <em>Qt Designer</em>, check the "Don't show this dialog in the future" checkbox.</p>
+<p>For this example, click <b>Cancel</b> to skip over the dialog.</p>
+<p align="center"><img align="middle" src="mw-startdesign.png" width="584" height="446">
+</p>
+<!-- index Exiting Qt Designer --><!-- index Getting Help --><p>When you've finished using <em>Qt Designer</em> click <b>File|Exit</b>; you will be prompted to save any unsaved changes. Help is available by pressing <b>F1</b> or from the <b>Help</b> menu.</p>
+<p>To get the most benefit from the tutorial chapters we recommend that you start <em>Qt Designer</em> now and create the <tt>colortool</tt> application as you read. Most of the work involves using <em>Qt Designer</em>'s menus, dialogs and editors. We also suggest that as you work through this manual you enter the code directly using <em>Qt Designer</em>'s code editor. You can cut and paste the code from the on-line version of this manual or copy it from the example source code.</p>
+<p>When you start <em>Qt Designer</em>, by default, you will see a menu bar and various toolbars at the top.<!-- index Widgets and Source window!Object Explorer --><!-- index Object Explorer --><!-- index Pixmaps --> On the left is the widget Toolbox. Click the toolbox's buttons to reveal a particular set of tools. On the right there are three windows: the first is the Project Overview window, the second is the Object Explorer window, and the third is the Properties Editor/Signal Handlers window. The Project Overview window lists the files and images associated with the project; to open any form (<tt>.ui</tt> file), or the code associated with it (in the <tt>.ui.h</tt> file), simply single click it. The Object Explorer window lists the current form's widgets and members. The Properties Editor/Signal Handlers window is used to view and change the properties of forms and widgets. We will cover the use of <em>Qt Designer</em>'s windows, dialogs, menu options and tools as we create the example application.</p>
+<a name="creating-the-project"></a><h3><a name="3"></a>Creating the Project</h3>
+<p>Our <tt>colortool</tt> application is going to be a standard C++ application, so we need to create a C++ project and add our files and code to this project.</p>
+<blockquote>
+<p align="center"><b> Creating a Project</b></p>
+<!-- index Projects --><!-- index Projects!Creating New --><!-- index Creating Projects!Projects --><!-- index Pixmaps!In Projects --><!-- index Pixmaps!Adding to Forms --><p>Whenever you create a new application we recommend that you create a project file and open the project rather than individual<!-- index .ui --> <tt>.ui</tt> files. Using a project has the advantage that all the forms you create for the project are available via a single mouse click rather than having to be loaded individually through file open dialogs. An additional benefit of using project files is that they allow you to store all your images in a single file rather than duplicate them in each form in which they appear. See <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> chapter's <a href="designer-manual-5.html#2">Project management</a> section for detailed information on the benefits of using project files.</p>
+<p>Project files use the <tt>.pro</tt> suffix and are used by the <tt>qmake</tt> tool to create makefiles for the relevant target platforms.</p>
+</blockquote>
+<p>Create a new project as follows:</p>
+<ol type=1><li><p>Click <b>File|New</b> to invoke the <em>New File</em> dialog.</p>
+<li><p>Click "C++ Project" to create a C++ project, then click <b>OK</b> to invoke the <em>Project Settings</em> dialog.</p>
+<li><p>Click the ellipsis button to the right of the Project File line edit to invoke the <em>Save As</em> dialog. Use this dialog to navigate to where you want to create the new project, ideally creating a new folder for it (e.g. called "colortool"), using the <b>Create New Folder</b> toolbar button.</p>
+<li><p>Enter "colortool.pro" as the file name, then click <b>Save</b>. The project's name will now be "colortool"; click <b>OK</b> to close the <em>Project Settings</em> dialog.</p>
+<p align="center"><img align="middle" src="mw-projset.png" width="383" height="273">
+</p>
+<li><p>Click <b>File|Save</b> to save the project.</p>
+</ol><p align="center"><img align="middle" src="mw-newfile.png" width="565" height="330">
+</p>
+<p>The <em>New File</em> dialog is used to create all the files that can be used in a <em>Qt Designer</em> project. This includes C++ source files, an automatically generated <tt>main.cpp</tt> file (if you are in a project), and a variety of forms based on pre-defined templates. (You can create your own templates too.)</p>
+<p>For the <tt>colortool</tt> application we want to start with a main window form. When we create this form, <em>Qt Designer</em> will present a wizard which we can use to automatically create menu and toolbar options and automatically create the relevant signal/slot connections. For every menu option or toolbar button, <em>Qt Designer</em> will create a single <a href="qaction.html">QAction</a> (see the <a href="designer-manual-3.html#actions-and-action-groups-sidebar">Actions and Action Groups</a> sidebar).</p>
+<blockquote>
+<p align="center"><b> Actions and Action Groups</b></p>
+<a name="actions-and-action-groups-sidebar"></a><p>An <em>action</em> is an operation that the user initiates through the user interface, for example, saving a file or changing some text's font weight to bold.</p>
+<p>We often want the user to be able to perform an action using a variety of means. For example, to save a file we might want the user to be able to press <b>Ctrl+S</b>, or to click the <b>Save</b> toolbar button or to click the <b>File|Save</b> menu option. Although the means of invoking the action are all different, the underlying operation is the same and we don't want to duplicate the code that performs the operation. In Qt we can create an action (a <a href="qaction.html">QAction</a> object) which will call the appropriate function when the action is invoked. We can assign an accelerator, (e.g. <b>Ctrl+S</b>), to an action. We can also add an action to a menu and to a toolbar.</p>
+<p>If the action has an on/off state, e.g. bold is on or off, when the user changes the state, for example by clicking a toolbar button, the state of everything associated with the action, e.g. menu items and toolbar buttons, is updated.</p>
+<p>Some actions should operate together like radio buttons. For example, if we have left align, center align and right align actions, only one should be 'on' at any one time. An <em>action group</em> (a <a href="qactiongroup.html">QActionGroup</a> object) is used to group a set of actions together. If the action group's <tt>exclusive</tt> property is TRUE then only one of the actions in the group can be on at any one time. If the user changes the state of an action in an action group where <tt>exclusive</tt> is TRUE, everything associated with the actions in the action group, e.g. menu items and toolbar buttons, is updated.</p>
+<!-- index Actions and Action Groups --><p><em>Qt Designer</em> can create actions and action groups visually, assign accelerators to them, and associate them with menu items and toolbar buttons.</p>
+</blockquote>
+<h3><a name="4"></a>Creating the Main Window</h3>
+<!-- index Main Window!Creating --><!-- index Creating Main Windows --><!-- index Main Window!Wizard --><!-- index Wizards!Main Window --><!-- index Creating Menus --><!-- index Menus!Adding --><!-- index Adding!Menus --><!-- index Creating Toolbars --><!-- index Toolbars, Creating --><!-- index Toolbar Buttons!Adding --><!-- index Adding!Toolbars --><!-- index Adding!Actions and Action Groups --><!-- index Adding!Toolbar Buttons --><p>We will use the Main Window Wizard to build a main window. The wizard allows us to create actions as well as a menu bar and a toolbar through which the user can invoke the actions. We will also create our own actions, menus and toolbar buttons, and add a main widget to the main window.</p>
+<p>Click <b>File|New</b> to invoke the <em>New File</em> dialog, click "Main Window" to create a main window form, then click <b>OK</b>. A new <a href="qmainwindow.html">QMainWindow</a> form will be created and the <em>Main Window Wizard</em> will pop up.</p>
+<h4><a name="4-1"></a>Using the Main Window Wizard</h4>
+<ol type=1><li><p>The <em>Choose available menus and toolbars</em> page appears first. It presents three categories of default actions, File Actions, Edit Actions and Help Actions. For each category you can choose to have <em>Qt Designer</em> create menu items, toolbar buttons, and signal/slots connections for the relevant actions. You can always add or delete actions, menu items, toolbar buttons, and connections later.</p>
+<!-- index Creating Menus --><!-- index Menus!Adding --><!-- index Creating Toolbars --><!-- index Toolbars, Creating --><!-- index Toolbar Buttons!Adding --><!-- index Adding!Menus --><!-- index Adding!Toolbars --><!-- index Adding!Actions and Action Groups --><!-- index Adding!Toolbar Buttons --><!-- index Signals and Slots!Connecting Actions --><p>We will accept the defaults for File Actions and for the Edit Actions, i.e. have menu items, toolbar buttons and the relevant connections created. In fact we'll be changing the Edit actions considerably later on, but it is still convenient to create them now. We won't have any Help Actions on the toolbar so uncheck the Help Action's Toolbar checkbox. Click <b>Next</b> to move on to the next wizard page.</p>
+<p align="center"><img align="middle" src="mw-menuwiz.png" width="616" height="420">
+</p>
+<blockquote><p align="center"><em>Main Window Wizard- Choosing menus and toolbars</em></p></blockquote>
+<li><!-- index Creating Toolbars --><!-- index Toolbars, Creating --><!-- index Toolbar Buttons!Adding --><!-- index Adding!Toolbar Buttons --><!-- index Separator!Menu item --><!-- index Separator!Toolbar button --><p>The <em>Setup Toolbar</em> wizard page is used to populate a toolbar with actions from each of the default action categories. The Category combobox is used to select which set of actions you wish to choose from. The Actions list box lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. The blue left and right arrow buttons are used to move actions into or out of the Toolbar list box. The blue up and down arrow buttons are used to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as required and will cause a separator to appear in the finished toolbar.</p>
+<p>Copy the New, Open, and Save Actions to the Toolbar list box. Copy a &lt;Separator&gt; to the Toolbar list box. Change the Category to Edit and copy the Cut, Copy, and Find actions to the Toolbar list box. Click <b>Next</b> and then click <b>Finish</b>.</p>
+<p>Click <b>File|Save</b> and save the form as <tt>mainform.ui</tt>.</p>
+<p align="center"><img align="middle" src="mw-settoolwiz.png" width="616" height="420">
+</p>
+<blockquote><p align="center"><em>Main Window Wizard- Setting up the toolbar</em></p></blockquote>
+</ol><p>If you preview the form (<b>Ctrl+T</b>) the File and Edit menus will be available and you'll be able to drag the toolbar either into an independent window of its own, or to dock it to the left, right, bottom, or top of the window. The menus and toolbars are not yet functional, but we will rectify this as we progress. You leave preview mode by clicking the form's Close box (or the platform-specific equivalent).</p>
+<p align="center"><img align="middle" src="mw-previewform.png" width="391" height="316">
+</p>
+<blockquote><p align="center"><em>Previewing the Form</em></p></blockquote>
+<p>Now that we've created the form we will need to change some of its properties. (See the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Using the Property Editor</a> sidebar.)</p>
+<blockquote>
+<p align="center"><b> Using the Property Editor</b></p>
+<a name="using-the-property-editor-sidebar"></a><!-- index Using the Property Editor --><!-- index Properties --><p>The Property Editor has two columns, the Property column which lists property names and the Value column which lists the property values. Some property names have a plus sign '+' in a square to their left; this indicates that the property name is the collective name for a set of related properties. Click a form or widget to make the Property Editor show the form or widget's properties.</p>
+<p>For example, click the <em>sizePolicy</em> property's plus sign; you will see four properties appear indented below sizePolicy: hSizeType, vSizeType, horizontalStretch and verticalStretch. These properties are edited in the same way as any other properties.</p>
+<p>If you want to change the same property to the same value for a whole set of widgets, (e.g. to give them all a common cursor, tooltip, colors, etc.), <b>Click</b> one of the widgets, then <b>Shift+Click</b> the others to select them all. (Alternatively, click the first widget's name in Object Explorer, then <b>Shift+Click</b> all the others in Object Explorer: this technique is especially useful for forms with lots of nested widgets and layouts.) The properties they have in common will be shown in the property editor, and any change made to one property will be made to that same property for all the selected widgets.</p>
+<p align="center"><img align="middle" src="mw-propedit.png" width="250" height="678">
+</p>
+<blockquote><p align="center"><em>Property Editor</em></p></blockquote>
+<p>Some properties have simple values, for example, the <em>name</em> property has a text value, the <em>width</em> property (within <em>minimumSize</em>) has a numeric value. To change a text value click the existing text and type in your new text. To change a numeric value click the value and either type in a new number, or use the spin buttons to increase or decrease the existing number until it reaches the value you want. Some properties have a fixed list of values, for example the <em>mouseTracking</em> property is boolean and can take the values True or False. The <em>cursor</em> property also has a fixed list of values. If you click the cursor property or the <em>mouseTracking</em> property the value will be shown in a drop down combobox; click the down arrow to see what values are available. Some properties have complex sets of values or special values; for example the <em>font</em> property and the <em>iconSet</em> property. If you click the font property an ellipsis button (<b>...</b>) will appear; click this button and a <em>Select Font</em> dialog will pop up which you can use to change any of the font settings. Other properties have ellipsis buttons which lead to different dialogs depending on what settings the property can have. For example, if you have a lot of text to enter for a <em>text</em> property you could click the ellipsis button to invoke the <em>Multi-line Edit</em> dialog.</p>
+<!-- index Properties!Reverting changes --><!-- index Properties!Initial values --><p>The names of properties which have changed are shown in bold. If you've changed a property but want to revert it to its default value click the property's value and then click the red 'X' button to the right of the value. Some properties have an <em>initial</em> value, e.g. 'TextEdit1', but no default value; if you revert a property that has an initial value but no default value (by clicking the red 'X') the value will become empty unless the property, e.g. name, is not allowed to be empty.</p>
+<!-- index Undo and Redo!Properties --><!-- index Properties!Undo and Redo!Undo and Redo --><!-- index Redo!Undo and Redo --><p>The property editor fully supports Undo and Redo (<b>Ctrl+Z</b> and <b>Ctrl+Y</b>, also available from the <b>Edit</b> menu).</p>
+</blockquote>
+<h4><a name="4-2"></a>Setting the Form's Properties and Actions</h4>
+<p>Click the form to make all of its properties appear in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>. Change the form's <em>name</em> to "MainForm" and its <em>caption</em> to "Color Tool".</p>
+<p>Now we'll need to delete some actions that the main window wizard created but that are not relevant to our application.</p>
+<p>Click the Object Explorer's Members tab. Right click the filePrint() slot, then click Delete from the popup menu. In the same way delete the editUndo(), editRedo() and editPaste() slots. Later we'll see how to create new slots when we add further functionality to the application.</p>
+<p>We also need to delete these actions in the Action Editor window. Right click the filePrintAction action, then click Delete Action from the popup menu. In the same way delete the editUndoAction, editRedoAction and editPasteAction actions.</p>
+<p>Finally, we need to delete those separators in the form's menu that have become redundant because they separated actions that we've now deleted.</p>
+<p>Note that the Action Editor window is dockable, so if you don't want it to float freely you can drag it to one of <em>Qt Designer</em>'s dock areas (top, left, right, bottom of the main window) if preferred.</p>
+<p>Click the form's <b>File</b> menu. (Note, we're clicking our newly created form's <b>File</b> menu, not <em>Qt Designer</em>'s <b>File</b> menu!) There are <em>two</em> separators above the Exit menu option (the <b>File|Print</b> option was in-between until we deleted it). Click one of these separators, then press the <b>Delete</b> key. Don't worry if you miss and delete a menu option by accident: if you delete the wrong thing click <b>Edit|Undo</b> to undelete. The form's <b>Edit</b> menu has a redundant separator at the top (the undo and redo options were there). Delete this separator in the same way. Again, don't worry if you delete a menu option by mistake, just press <b>Ctrl+Z</b> to undo.</p>
+<p>Click <b>File|Save</b> to save the form.</p>
+<p>The form can now be previewed by clicking <b>Preview|Preview Form</b> (or press <b>Ctrl+T</b>).</p>
+<blockquote>
+<p align="center"><b> The Object Explorer</b></p>
+<!-- index Object Explorer --><p>View the Object Explorer window by clicking <b>Window|Views|Object Explorer</b>. The Object Explorer has two tabs, the Objects tab which shows the object hierarchy, and the Members tab which shows the members you have added to the form. Click the name of a widget in the Objects tab to select the widget and show its properties in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>. It is easy to see and select widgets in the Object Explorer which is especially useful for forms that have many widgets or which use layouts. Multiple widgets can be selected by <b>Click</b>ing the first one then <b>Shift+Click</b>ing the others.</p>
+<p align="center"><img align="middle" src="mw-objexplor.png" width="328" height="465">
+</p>
+<blockquote><p align="center"><em>Object Explorer</em></p></blockquote>
+<!-- index Code Editing --><!-- index Subclassing --><!-- index Forward declarations --><!-- index Includes --><!-- index Adding!Code --><!-- index Adding!Forward declarations --><!-- index Adding!Includes --><!-- index Adding!Class variables --><!-- index Class variables --><!-- index Deleting!Forward declarations --><!-- index Deleting!Includes --><!-- index Deleting!Class variables --><!-- index Forms!Forward declarations --><!-- index Forms!Class variables --><!-- index Forms!Code editing --><!-- index Forms!destructor --><!-- index Forms!constructor --><p>In the original version of <em>Qt Designer</em> if you wanted to provide code for a form you had to subclass the form and put your code in the subclass. This version fully supports the subclassing approach, but now provides an alternative: placing your code directly into forms. Writing code in <em>Qt Designer</em> is not quite the same as subclassing, for example you cannot get direct access to the form's constructor or destructor. If you need code to be executed by the constructor create a slot called<!-- index init() --> <tt>void init()</tt>; if it exists it will be called from the constructor. Similarly, if you need code to be executed before destruction create a slot called<!-- index destroy() --> <tt>void destroy()</tt>. You can also add your own class variables which will be put in the generated constructor's code, and you can add forward declarations and any includes you require. To add a variable or declaration, right click the appropriate item, e.g. Class Variables, then click <b>New</b> then enter your text, e.g. <tt>QString m_filename</tt>. If one or more items exist, right click to pop up a menu that has New, Edit and Delete options. If you want to enter multiple items, e.g. multiple include files or multiple data members, it is easiest to right click in the relevant section, then click <b>Edit</b> to invoke an Edit dialog. To edit code, just click the name of a function to invoke the code editor. Code editing and creating slots are covered later in the chapter.</p>
+<!-- index Subclassing --><p>If you subclass the form you create your own<!-- index .cpp --> <tt>.cpp</tt> files which can contain your own constructor, destructor, functions, slots, declarations and variables as your requirements dictate. (See <a href="designer-manual-6.html#1">Subclassing</a> for more information.)</p>
+</blockquote>
+<h4><a name="4-3"></a>Adding Custom Actions</h4>
+<p>We want to provide the user with actions that are specific to our application. We want to provide the ability to switch between the two views we will be offering, and allow the user to add colors and set their preferred options. We'll prepare the way by creating a new menu for the view options and by adding a separator to the toolbar.</p>
+<p>Click "new menu" on the menu bar and type "&amp;View" over the text. The &amp; (ampersand) causes the following character to be underlined and to become an Alt-accelerator (i.e., in this case Alt+V will pop up the View menu).</p>
+<p align="center"><img align="middle" src="mw-newmenuitem.png" width="251" height="27">
+</p>
+<blockquote><p align="center"><em>The Menu Bar</em></p></blockquote>
+<blockquote>
+<p align="center"><b> Duplicate Accelerators</b></p>
+<p>In an application that has dialogs with lots of widgets it is easy to accidentally duplicate accelerators. <em>Qt Designer</em> provides the <b>Edit|Check Accelerators</b> menu option (<b>Alt+R</b>) which will highlight any two or more widgets which have the same accelerators, making it easy to spot the problem if it occurs.</p>
+</blockquote>
+<p>Drag the View menu to the left of the "Help" menu and release it there. (A vertical red line indicates its position.)</p>
+<p align="center"><img align="middle" src="mw-dragviewitem.png" width="252" height="27">
+</p>
+<blockquote><p align="center"><em>Dragging the View Menu Item</em></p></blockquote>
+<p>We could create a new toolbar for the View menu items, but instead we'll put a separator at the end of the existing toolbar and add the View options after the separator. Right click the right-most toolbar button ("Find"), then click <b>Insert Separator</b>. Alternatively, we could have created an entirely new toolbar. See <a href="designer-manual-3.html#creating-and-populating-toolbars-sidebar">Creating and Populating Toolbars</a> for more information on doing this.</p>
+<p align="center"><img align="middle" src="mw-separator.png" width="326" height="83">
+</p>
+<blockquote><p align="center"><em>Insert Separator in the Toolbar Menu</em></p></blockquote>
+<blockquote>
+<p align="center"><b> Creating and Populating Toolbars</b></p>
+<a name="creating-and-populating-toolbars-sidebar"></a><!-- index Creating Toolbars --><!-- index Adding!Toolbars --><!-- index Toolbars, Creating --><p>A new toolbar is created by clicking to the right of the existing toolbars, then clicking <b>Add Toolbar</b>. The new toolbar is empty and is visible only by its <em>toolbar handle</em>. (Toolbar handle's are usually represented as a gray area containing either two thick vertical lines or with many small pits).</p>
+<p align="center"><img align="middle" src="mw-toolbarpits.png" width="107" height="31">
+</p>
+<blockquote><p align="center"><em>Toolbar Handle</em></p></blockquote>
+<!-- index Actions and Action Groups!Adding to a Toolbar --><!-- index Separator!Toolbar button --><!-- index Adding!Actions and Action Groups to a Toolbar --><!-- index Adding!Toolbar Separators --><p>Actions are added to toolbars simply by dragging them from the Action Editor to the toolbar, and dropping them on the toolbar in the position we want them. (The position is indicated by a vertical red line.)</p>
+<p align="center"><img align="middle" src="mw-dragaction.png" width="212" height="38">
+</p>
+<blockquote><p align="center"><em>Dragging the Action Group to the Toolbar</em></p></blockquote>
+<p>All the actions in an action group are added to a toolbar in one go, simply by dragging the action group from the Action Editor and dropping it on the toolbar.</p>
+<p>Since toolbar buttons normally only show an image, all actions that are to be used in toolbars should have their <em>iconSet</em> property set to a suitable image.</p>
+<!-- index Separator!Toolbar button --><!-- index Deleting!Toolbar Separators --><!-- index Deleting!Toolbars --><p>Toolbar buttons and separators (usually represented as indented vertical gray lines), can be dragged and dropped into new positions in the toolbar at any time. Separators can be inserted by right clicking a toolbar button and clicking <b>Insert Separator</b>. Toolbar buttons and separators can be deleted by right clicking them and then clicking Delete Item. Toolbars can be deleted by right clicking their toolbar handle and then clicking Delete Toolbar.</p>
+<!-- index Previewing!Toolbars --><p>If you preview an application you'll find that all the toolbars can be dragged to different docking points (top, left, right and bottom of a <a href="qmainwindow.html">QMainWindow</a> or subclass), or dragged out of the application as independent tool windows.</p>
+</blockquote>
+<blockquote>
+<p align="center"><b> Adding Widgets to the Toolbar</b></p>
+<!-- index Toolbars!Adding Widgets --><!-- index Widgets!Adding to Toolbars --><!-- index Adding!Widgets --><p>Sometimes a simple button is insufficient for our needs. For example, if we wanted the user to be able to choose a font name and font size from the toolbar we might want to provide a direct means rather than having a toolbar button launch a font dialog.</p>
+<!-- index Widgets!ComboBox --><!-- index Widgets!SpinBox --><!-- index Separator!Toolbar button --><p>It is perfectly feasible to add <em>ComboBox</em>es and <em>SpinBox</em>es to toolbars. For example, a <em>ComboBox</em> could be used to list the available font names and the <em>SpinBox</em> used to select a font size.</p>
+<p>Although you can put any widget into a toolbar we recommend that widgets which can be associated with an action should <em>not</em> be added to the toolbar directly. For these widgets, i.e. menu items, toolbar buttons and lists of items, you should create an action (drop down action for a list of items), associate the action with the widget, and add the action to the toolbar. Widgets that can sensibly be inserted directly into a toolbar are <em>ComboBox</em>es, <em>SpinBox</em>es and <em>Line Edit</em>s.</p>
+</blockquote>
+<h4><a name="4-4"></a>Adding the Options Action</h4>
+<p>Right click the first action in the Action Editor, then click <b>New Action</b>. The <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a> now shows the new action's properties. Change the action's <em>name</em> property to "optionsAction". Click the ellipsis button on the <em>iconSet</em> property to pop up the <em>Choose an Image</em> dialog. Click the <b>Add</b> button to invoke the <em>Choose Images...</em> dialog. Navigate to <tt>/tools/designer/examples/colortool/images</tt>; click the <tt>tabwidget.png</tt> image. Click <b>Open</b> to use it and then click <b>OK</b> once you are in the <em>Choose an Image</em> dialog. Change the <em>text</em> property to "Options" and change the <em>menuText</em> property to "&amp;Options...".</p>
+<p>Click the Options action in the Action Editor and drag it to the Edit menu. The Edit menu will pop up; drag the Options action down the menu (a horizontal red line indicates its position), and drop it at the end after the "Find" item.</p>
+<blockquote>
+<p align="center"><b> Alternative Approach to Adding the Options Action</b></p>
+<p>Click Edit on the menu bar and then click "new item", located after the Find menu item. Type "&amp;Options" over "new item" to rename it and press <b>Enter</b>. Move the arrow key to the space to the left of the Options menu item (the pixmap field) and press <b>Enter</b>. The <em>Choose an Image</em> dialog pops up. Click the <b>Add</b> button to invoke the <em>Choose Images...</em> dialog. Navigate to <tt>/tools/designer/examples/colortool/images</tt>; click the <tt>tabwidget.png</tt> image. Click <b>Open</b> to use the image and then click <b>OK</b> once you are in the <em>Choose an Image</em> dialog. The pixmap now appears next to the Options item in the menu.</p>
+</blockquote>
+<p>The options action ought to be visually separated from the other Edit menu options. Click the form's Edit menu, then click and drag the "new separator" item to the space above the Options item.</p>
+<p>Since we also want to make this option available from the toolbar, click the Options action in the Action Editor and drag it to the toolbar. Drop it to the right of the magnifying glass (Find) toolbar button (after the separator); a horizontal red line indicates its position during the drag.</p>
+<p>We'll connect and code this action later.</p>
+<h4><a name="4-5"></a>Adding the Add Action</h4>
+<p>Right click the first action in the Action Editor, then click <b>New Action</b>. Change the action's <em>name</em> property to "editAddAction". Change its <em>iconSet</em> property to <tt>widgetstack.png</tt>. Change the <em>text</em> property to "Add" and the <em>menuText</em> property to "&amp;Add...". Change the <em>accel</em> property to "Ctrl+A" (press <b>CTRL+A</b> and the key combination will automatically appear in the field).</p>
+<p>Click the Add action and drag it to be the first item in the Edit menu. (Drag it to the edit menu and drop it when the horizontal red line is above the "Cut" menu item.)</p>
+<blockquote>
+<p align="center"><b> Alternative Approach to Adding the Add Action</b></p>
+<p>Click Edit on the menu bar and then click "new item", located after the Find menu item. Type "&amp;Add" over "new item" to rename it and press <b>Enter</b>. Move the arrow key to the space to the left of the Add item and press <b>Enter</b>. The <em>Choose an Image</em> dialog pops up.Click the <b>Add</b> button to invoke the <em>Choose Images...</em> dialog. Navigate to <tt>/tools/designer/examples/colortool/images</tt>; click the <tt>tabwidget.png</tt> image. Click <b>Open</b> to use the image and then click <b>OK</b> once you are in the <em>Choose an Image</em> dialog. The pixmap now appears next to the Options item in the menu. Finally, move the arrow key to the space to the right of the Add item and and press "Ctrl+A". The accelerator key combination now appears next to the Add menu item.</p>
+</blockquote>
+<h4><a name="4-6"></a>Tidying Up</h4>
+<p>We're going to use "Cut" for deleting colors, so we'll change the user-visible name to "Delete" to make its meaning clearer. Click the editCutAction in the Action Editor to make its properties appear in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>. Change its <em>text</em> property to "Delete" and change its <em>menuText</em> property to "&amp;Delete".</p>
+<p>A side-effect of the above change is that <b>Alt+C</b> (originally used for "Cut") is now unused. Click the editCopyAction action in the Action Editor, and change its <em>menuText</em> property to "&amp;Copy".</p>
+<blockquote>
+<p align="center"><b> Alternative Approach to Renaming Actions</b></p>
+<p>To change the name of the Cut action to "Delete", click Edit on the menu bar and then click "Cut". Type "&amp;Delete" over "Cut" and press enter.</p>
+<p>To change name of the Copy action to "&amp;Copy", click Edit on the menu bar and then click "Copy". Type "&amp;Copy" over "Copy" and press enter.</p>
+</blockquote>
+<p>We can always check to see if there are any accelerator conflicts by clicking <b>Edit|Check Accelerators</b> (or <b>Alt+R</b>).</p>
+<h4><a name="4-7"></a>Adding an Action Group</h4>
+<p>We want to provide the user with a choice of views, but since they can only use one view at a time we need to ensure that the menu options and toolbar buttons they use to switch between views always stay in sync. We don't have to write any code to achieve this: we simply put the relevant actions in an action group and let Qt take care of the details.</p>
+<p>Right click an action in the Action Editor, then click <b>New Action Group</b>. The action group's properties are now showing in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>. Change the action group's <em>name</em> property to "viewActionGroup", and change its <em>text</em> property to "View". We want the action group to be <em>exclusive</em>, i.e. for only one of its actions to be "on" at any one time; but there's no need to set the <em>exclusive</em> property since it defaults to True which is what we want.</p>
+<p>We'll now create the view actions. The process is virtually the same as for actions that are not in an action group; the only difference is that when we right click to pop up the context menu, we <em>must</em> right click the relevant action group, not just anything in the Action Editor.</p>
+<p>Right click the viewActionGroup, then click <b>New Action</b>. Change this action's <em>name</em> property to "viewTableAction". Set its <em>toggleAction</em> property to True and set its <em>on</em> property to True. We want it to be a toggle action because either the user is using this view (it is "on") or another view (it is "off"). We set this action to "on" because it will be the default view. Change its <em>iconSet</em> property to <tt>table.png</tt>. Change the <em>text</em> property to "View Table" and the <em>menuText</em> property to "View &amp;Table". Change the <em>accel</em> property to "Ctrl+T", and set the <em>toolTip</em> property to "View Table (Ctrl+T)". When the user clicks the <b>View</b> menu and hovers the mouse over the "View Table" option the tool tip will appear in the status bar. Similarly when the user hovers the mouse over the "View Table" toolbar button, the tool tip text will appear both in the status bar and in a temporary yellow label next to the toolbar button.</p>
+<p>Right click the viewActionGroup, then click <b>New Action</b>. Change this action's <em>name</em> property to "viewIconsAction". Set its <em>toggleAction</em> property to True. Change its <em>iconSet</em> property to <tt>iconview.png</tt>. Change the <em>text</em> property to "View Icons" and the <em>menuText</em> property to "View &amp;Icons". Set the <em>accel</em> property to "Ctrl+I" and change the <em>toolTip</em> property to "View Icons (Ctrl+I)".</p>
+<h4><a name="4-8"></a>Using an Action Group</h4>
+<p>Now that we've created the view actions we need to make them available to the user.</p>
+<p>Click the viewActionGroup action group in the Action Editor, and drag it to the View menu; drop it on this menu (when the horizontal red line appears beneath the View menu). Because we dragged the action group, <em>all</em> its actions (in our case the viewTableAction and viewIconsAction) are added to the relevant menu. We'll also make the view actions available on the toolbar. Click the viewActionGroup once again, and drag it to the toolbar; drop it the right of the separator at the far right of the toolbar, and drop it on the toolbar's edge. (Again, a vertical red line will indicate the position.)</p>
+<p>Don't forget that you can preview to see things in action with <b>Ctrl+T</b>, and to click <b>File|Save</b> (or press <b>Ctrl+S</b>) regularly! If you preview now you will find that if you click the view toolbar buttons and menu options that both the toolbar buttons and the menu items automatically stay in sync.</p>
+<h3><a name="5"></a>Creating the Main Widget</h3>
+<p>Most main-window style applications consist of a menu bar, a toolbar, a status bar and a central widget. We've already created a menu bar and toolbar, and since we've created a <a href="qmainwindow.html">QMainWindow</a> (via the main window wizard), we also have a status bar. Widgets commonly used as an application's main widget are <a href="qlistview.html">QListView</a> (which provides a tree view), <a href="qtable.html">QTable</a> and <a href="qtextedit.html">QTextEdit</a>. Since we want to provide our users with two different views of the same data, we'll use a <a href="qwidgetstack.html">QWidgetStack</a> as our main widget. The <a href="qwidgetstack.html">QWidgetStack</a> has no visual representation of its own; you place one or more widgets on each <a href="qwidgetstack.html">QWidgetStack</a> "page", as if each page was a form in its own right, and then provide the user with some mechanism for switching between pages. (This is similar in principle to using a <a href="qtabwidget.html">QTabWidget</a>.) We want to provide our users with two views: a tabular view that lists colors and their names, and an icon-based view that shows color swatches. In our example we only place a single widget on each <a href="qwidgetstack.html">QWidgetStack</a> page; but this merely reflects the application's design -- we could have placed any number of widgets on each page.</p>
+<p>Click the Toolbox's Containers button, then click WidgetStack. Click approximately in the middle of the form to place the widget stack. Change the widget stack's <em>name</em> property to "colorWidgetStack".</p>
+<p align="center"><img align="middle" src="mw-addmainwidg.png" width="641" height="394">
+</p>
+<blockquote>
+<p align="center"><b> Widget Placement</b></p>
+<p>When placing widgets on forms using <em>Qt Designer</em>, you only need to place things in <em>approximately</em> the right place. And there is no need to worry about the size of the widgets placed. If, for example, you place a label and then change its text so that the text doesn't fit, this doesn't matter. The reason we don't have to care about precise positions and sizes is that <em>Qt Designer</em> uses Qt's layout classes to lay out forms automatically: we just have to select sets of widgets and tell <em>Qt Designer</em> how they should be laid out in relation to each other, e.g. vertically, one above the other, or horizontally, side by side, or in a grid, and <em>Qt Designer</em> will lay them out and size them appropriately.</p>
+<p>In this chapter we only make the most minimal use of <em>Qt Designer</em>'s layout facilities. We make more use of layouts and provide more information in chapter two, <a href="designer-manual-4.html">Creating Dialogs</a>, where we create several dialogs.</p>
+</blockquote>
+<p>Click the form itself, then click the <b>Lay Out Vertically</b> toolbar button. The widget stack now fills the entire form. We're now ready to populate the widget stack's pages with widgets.</p>
+<p align="center"><img align="middle" src="mw-laymainwidg.png" width="642" height="394">
+</p>
+<p>Click the Toolbox's Views button. Click Table, then click approximately in the middle of the widget stack. Change the table's <em>name</em> property to "colorTable", change its <em>numRows</em> property to "0", and its <em>readOnly</em> property to "True".</p>
+<p>If you right click a widget to pop up its context menu, in most cases the first item will be an "Edit" option. The Table widget is no different in this respect, and its "Edit" option leads to a dialog through which columns and rows can have their titles changed, etc.</p>
+<p>Right click the table, then click <b>Edit...</b> to invoke the <em>Edit Table</em> dialog. Change the Label for column 1 to "Name". Click "2" in the Columns list so that column 2's label is shown in the Label line edit. Change column 2's label to "Hex". In the same way change column 3's label to "Web". (The reference section provides full information on this dialog.) Click <b>OK</b> to close the dialog.</p>
+<p align="center"><img align="middle" src="mw-colortable.png" width="644" height="396">
+</p>
+<p>Click the widget stack, then click the <b>Lay Out Vertically</b> toolbar button. The table now fits inside the widget stack, and will resize with the widget stack (which in turn will resize with the form: try clicking <b>Ctrl+T</b> to preview and resize the previewed form).</p>
+<p align="center"><img align="middle" src="mw-laycolortable.png" width="643" height="395">
+</p>
+<p>Click the "WStackPage" object in Object Explorer. Change its <em>name</em> property to "tablePage".</p>
+<p>We're now ready to create the next page. Right click the widget stack, then click <b>Add Page</b> on the context menu. The table has "disappeared", or rather the new widget stack page obscures the first widget stack page which contains the table. Click IconView in the Toolbox, then click approximately in the middle of the widget stack. Change the IconView's <em>name</em> property to "colorIconView" and change its <em>resizeMode</em> property to "Adjust". We want our color swatches to appear in neat columns so change the <em>gridX</em> property to "100".</p>
+<p align="center"><img align="middle" src="mw-coloriconv.png" width="643" height="397">
+</p>
+<p>It is often useful to create IconView items during design, but it isn't appropriate for our application. Right click the IconView to pop up its context menu, then click <b>Edit...</b> to invoke the <em>Edit IconView</em> dialog. Click <b>Delete Item</b> to delete the default item, then click <b>OK</b>.</p>
+<p>Click the widget stack, then click the <b>Lay Out Vertically</b> toolbar button. The icon view now fits inside the widget stack.</p>
+<p align="center"><img align="middle" src="mw-laycoloriconv.png" width="642" height="396">
+</p>
+<p>Click the "WStackPage" object in Object Explorer. Change its name to "iconsPage".</p>
+<p>Right click the widget stack, then click <b>Previous Page</b>.</p>
+<p>That completes the user interface design for our application's main window. Note that if you preview the form clicking the "View" menu options and toolbar buttons has no effect. This is because we haven't written any code to be executed when the actions triggered by these menu options and toolbar buttons occur. We'll write the necessary code in the next section.</p>
+<h3><a name="6"></a>Writing the Code</h3>
+<p>There are two approaches that can be taken when it comes to writing code for forms designed with <em>Qt Designer</em>. The original approach is to create a subclass of every form you create and put all your code in the subclass. Since Qt 3.0, <em>Qt Designer</em> has provided an alternative: you can write your code directly in <em>Qt Designer</em> using the code editor. See <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> for a comparative review. For this example we will write all the code inside <em>Qt Designer</em>; for an example of the subclassing approach see <a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a>.</p>
+<p>Before we launch into writing code we need to create some form variables. For example, we need to keep track of whether a view needs updating (because the user loaded a new set of colors, or added or deleted colors in the other view).</p>
+<h4><a name="6-1"></a>Adding Member Variables</h4>
+<p>Click Object Explorer's Members tab. Right click "Class Variables" (towards the bottom), then click <b>Edit</b>. The <em>Edit Class Variables</em> dialog appears. Click the <b>Add</b> button, and type in "QMap&lt;QString,QColor&gt; m_colors". We will use this map to relate user color names to colors. Click the <b>Add</b> button again, and type in "bool m_changed". We'll use this variable to keep track of whether the data has changed or not; this is useful for offering the user a prompt to save unsaved changes when they exit or open a new file, for example.</p>
+<p align="center"><img align="middle" src="mw-editvar.png" width="324" height="346">
+</p>
+<p>In the same way add "QString m_filename" so that we can keep track of the file the user has open. Add "bool m_table_dirty" and "bool m_icons_dirty". If the user adds a color when viewing the table we'll mark the icons as 'dirty' so that the icon view will be updated if the user changes to view the icons, and vice versa. Add "bool m_show_web" -- we'll use this to record whether or not the user wants a column in the table to indicate which colors are web colors. Add "int m_clip_as" -- we'll use this to choose what to put on the clipboard when the user clicks <b>File|Copy</b>. We'll keep a pointer to the global clipboard, so add "QClipboard *clipboard". Finally add "QStringList m_comments". This is used for loading and saving color files and is explained later.</p>
+<p>You should now have the following variables:</p>
+<ul><li><p>QMap&lt;QString,QColor&gt; m_colors;</p>
+<li><p>bool m_changed;</p>
+<li><p>QString m_filename;</p>
+<li><p>bool m_table_dirty;</p>
+<li><p>bool m_icons_dirty;</p>
+<li><p>bool m_show_web;</p>
+<li><p>int m_clip_as;</p>
+<li><p>QClipboard *clipboard;</p>
+<li><p>QStringList m_comments;</p>
+</ul><p>Press <b>Enter</b>, to confirm the last variable, then click <b>OK</b> to close the dialog. All the variables now appear in Object Explorer's Members tab.</p>
+<h4><a name="6-2"></a>Adding Forward Declarations</h4>
+<p>Some of the variables we've created are of classes that need forward declarations. Right click Forward Declarations (in Object Explorer's Members tab), then click <b>Edit</b>. This pops up the <em>Edit Forward Declarations</em> dialog. This dialog works the same way as the <em>Edit Class Variables</em> dialog that we've just used. Add the following forward declarations: "class QString;" and "class QColor;". Close the dialog and the forward declarations appear in Object Explorer.</p>
+<p align="center"><img align="middle" src="mw-editforw.png" width="339" height="327">
+</p>
+<p>You should now have the following forward declarations:</p>
+<ul><li><p>class QString;</p>
+<li><p>class QColor;</p>
+</ul><h4><a name="6-3"></a>Adding Includes</h4>
+<p>Our form will also need some included files. Includes may be added in the declaration, or (for preference) in the implementation. Right click "Includes (in Implementation)", then click <b>Edit</b>. Use the dialog that pops up to enter "qcolor.h" and "qstring.h". Since we're going to use the clipboard we'll need access to the global clipboard object via <a href="qapplication.html">QApplication</a>, so also add "qapplication.h" and "qclipboard.h". We'll also be doing some drawing (e.g. the color swatches), so add "qpainter.h" too, then close the dialog.</p>
+<p align="center"><img align="middle" src="mw-editincimp.png" width="339" height="327">
+</p>
+<p>When entering include files you can include double quotes or angle brackets if you wish; if you don't use either <em>Qt Designer</em> will put in double quotes automatically.</p>
+<p>You should now have added the following includes (in implementation):</p>
+<ul><li><p>"qcolor.h"</p>
+<li><p>"qstring.h"</p>
+<li><p>"qapplication.h"</p>
+<li><p>"qclipboard.h"</p>
+<li><p>"qpainter.h"</p>
+</ul><h4><a name="6-4"></a>Signals and Slots Connections</h4>
+<p>Most of the signals and slots connections were created automatically by the main window wizard when we created the main form. We have added some new actions since then, and we need to ensure that they are connected to slots so that we can code their behavior.</p>
+<p align="center"><img align="middle" src="mw-conn1.png" width="608" height="341">
+</p>
+<blockquote>
+<p align="center"><b> Creating Signals and Slots Connections</b></p>
+<a name="creating-signals-and-slots-connections-sidebar"></a><p>Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog.</p>
+<p>The use of this dialog usually follows the same pattern. We click <b>New</b> to create a new connection, then we select the Sender widget, the sender's Signal and the Receiver (usually the form). If we want to use a pre-defined slot, we select that slot; otherwise we click <b>Edit Slots...</b> create a new slot on-the-fly, and select the newly created slot. (The old method of clicking and dragging to create connections is still supported, but the new method is a lot faster and easier, especially for creating lots of connections in one go.)</p>
+</blockquote>
+<p>We want to update the status bar so that the user can see information about the color they're on. Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog. Click <b>New</b> to create a new connection. Change the Sender to "colorTable" and the Signal to "currentChanged(int,int)". Change the Receiver to "MainForm".</p>
+<p align="center"><img align="middle" src="mw-conn2.png" width="608" height="391">
+</p>
+<p>We want to connect to our own custom slot which we haven't yet created. Click the <b>Edit Slots...</b> button to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b> and change the slot name to "changedTableColor(int,int)". Click <b>OK</b> to close the dialog.</p>
+<p align="center"><img align="middle" src="mw-editfunc.png" width="608" height="397">
+</p>
+<p>Now change the Slot in the <em>View and Edit Connections</em> dialog to our newly created "changedTableColor(int,int)" slot.</p>
+<p align="center"><img align="middle" src="mw-conn3.png" width="600" height="343">
+</p>
+<p>Click <b>New</b> to create a new connection. Change the Sender to "colorIconView" and the Signal to "currentChanged(QIconViewItem*)". Change the Receiver to "MainForm". Click the <b>Edit Slots...</b> button to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b> and change the slot name to "changedIconColor(QIconViewItem*)". Click <b>OK</b> to close the dialog. Now change the Slot in the <em>View and Edit Connections</em> dialog to "changedIconColor(QIconViewItem*)".</p>
+<p>Now we can implement our <tt>changedTableColor()</tt> and <tt>changedIconColor()</tt> slots to update the status bar with details about the current color.</p>
+<p>We also want to ensure that when the user changes view, the colors shown in the view are correct. For example, if the user deleted a color in the table view and changed to the icon view, we must ensure that the icon view does not show the deleted color.</p>
+<p>Click <b>New</b> to create a new connection. Change the Sender to "colorWidgetStack", the Signal to "aboutToShow(int)", and the Receiver to "MainForm". Create a new slot called "aboutToShow()" and make this the Slot that the widget stack's "aboutToShow(int)" signal connects to. The signal includes the ID of the widget that is about to be shown; but we don't need it so we create a slot that doesn't take any parameters.</p>
+<p>Once crucial piece of functionality is to allow the user to switch between views. We could connect each of the view actions separately, but it is more convenient (and easier to extend) if we connect the action group as a whole.</p>
+<p>Create a new connection with the "viewActionGroup" as the Sender. Change the Signal to "selected(QAction*)" and change the Receiver to "MainForm". Create a slot called "changeView(QAction*)" and make this the slot that the signal connects to.</p>
+<p>Click <b>OK</b> to close the <em>View and Edit Connections</em> dialog. We are now ready to write the code.</p>
+<p align="center"><img align="middle" src="mw-conn4.png" width="600" height="407">
+</p>
+<h4><a name="6-5"></a>Editing the Code: Setting Up</h4>
+<p>There is quite a lot of code to include in the application, but this does not mean that a lot of typing is required! All the code is reproduced here so, if you're reading an electronic copy, you can simply cut and paste. If you're reading a print copy, all the code is provided in <tt>/tools/designer/examples/colortool</tt>; simply open the relevant <tt>.ui.h</tt> files and copy and paste from there into your own version of the project.</p>
+<blockquote>
+<p align="center"><b> Cutting &amp; Pasting Into the Code Editor</b></p>
+<p>If you cut and paste code from this manual, because we've indented the code for readability, the code will be over-indented in <em>Qt Designer</em>. This is easily solved. Simply select the function containing the pasted code (either with the mouse, or <b>Shift+Arrow</b>s) and press <b>Tab</b>: this will make <em>Qt Designer</em> fix the indentation. Note that you must select the <em>entire</em> function, including its name and parameters.</p>
+<p>Remember that if you copy and paste just the body of functions into the skeletons <em>Qt Designer</em> provides, you must manually enter the names of the arguments in the functions' parameter lists.</p>
+</blockquote>
+<p>Click <tt>mainform.ui.h</tt> in the Project Overview window. A code editor window showing the empty slots appears.</p>
+<h4><a name="6-6"></a>Adding Constants</h4>
+<pre> const int CLIP_AS_HEX = 0;
+ const int CLIP_AS_NAME = 1;
+ const int CLIP_AS_RGB = 2;
+ const int COL_NAME = 0;
+ const int COL_HEX = 1;
+ const int COL_WEB = 2;
+ const <a href="qstring.html">QString</a> WINDOWS_REGISTRY = "/QtExamples";
+ const <a href="qstring.html">QString</a> APP_KEY = "/ColorTool/";
+</pre>
+ <p>We define some useful constants for our form since it's easier to remember "CLIP_AS_RGB" than "2". The two <a href="qstring.html">QString</a>s are used by <a href="qsettings.html">QSettings</a> when we come to load and save user preferences; they're explained when we cover <tt>loadOptions()</tt> and <tt>saveOptions()</tt>. Note that we can insert any valid C++ into a <tt>.ui.h</tt> file including constant declarations as we've done here and <tt>#include</tt>s, etc.</p>
+<p>Since we're not subclassing if we want to have code executed during construction we must create an <tt>init()</tt> function; this will be called at the end of the form's constructor.</p>
+<h4><a name="6-7"></a>init()</h4>
+<pre> void MainForm::init()
+ {
+ clipboard = QApplication::<a href="qapplication.html#clipboard">clipboard</a>();
+ if ( clipboard-&gt;supportsSelection() )
+ clipboard-&gt;setSelectionMode( TRUE );
+
+ findForm = 0;
+ loadSettings();
+ m_filename = "";
+ m_changed = FALSE;
+ m_table_dirty = TRUE;
+ m_icons_dirty = TRUE;
+ clearData( TRUE );
+ }
+</pre>
+ <p>The first thing we do is take a pointer to the global clipboard object. The <tt>setSelectionMode()</tt> call ensures that the clipboard works as expected on all platforms. The "findForm" and "loadSettings()" lines will be covered later; if you're entering the code, comment them out for now. We set the filename to be empty because the user hasn't opened a file. We set changed to false since no changes have taken place yet. But we mark both the table and the icon view as dirty since we want these to be drawn straight away. We call the <tt>clearData()</tt> function that we'll write next; this function clears all the color data, and if called with "TRUE", it creates new colors with default values.</p>
+<h4><a name="6-8"></a>clearData()</h4>
+<pre> void MainForm::clearData( bool fillWithDefaults )
+ {
+ <a href="qwidget.html#setCaption">setCaption</a>( "Color Tool" );
+
+ m_colors.clear();
+ m_comments.clear();
+
+ if ( fillWithDefaults ) {
+ m_colors["black"] = Qt::black;
+ m_colors["blue"] = Qt::blue;
+ m_colors["cyan"] = Qt::cyan;
+ m_colors["darkblue"] = Qt::darkBlue;
+ m_colors["darkcyan"] = Qt::darkCyan;
+ m_colors["darkgray"] = Qt::darkGray;
+ m_colors["darkgreen"] = Qt::darkGreen;
+ m_colors["darkmagenta"] = Qt::darkMagenta;
+ m_colors["darkred"] = Qt::darkRed;
+ m_colors["darkyellow"] = Qt::darkYellow;
+ m_colors["gray"] = Qt::gray;
+ m_colors["green"] = Qt::green;
+ m_colors["lightgray"] = Qt::lightGray;
+ m_colors["magenta"] = Qt::magenta;
+ m_colors["red"] = Qt::red;
+ m_colors["white"] = Qt::white;
+ m_colors["yellow"] = Qt::yellow;
+ }
+
+ populate();
+ }
+</pre>
+ <p>This function is used when we start the application and when the user creates a new file or loads an existing file. It clears out the data and optionally inserts default colors. We set the application's caption because when we load and save files we add the filename to the caption, so when we clear we need to remove any filename from the caption. We clear the colors map and the comments string list, then optionally fill the colors map with some standard colors. Finally we call <tt>populate()</tt> which is the function we'll create next to fill the table and icon view with data.</p>
+<h4><a name="6-9"></a>populate()</h4>
+<pre> void MainForm::populate()
+ {
+ if ( m_table_dirty ) {
+ for ( int r = 0; r &lt; colorTable-&gt;numRows(); ++r ) {
+ for ( int c = 0; c &lt; colorTable-&gt;numCols(); ++c ) {
+ colorTable-&gt;clearCell( r, c );
+ }
+ }
+
+ colorTable-&gt;setNumRows( m_colors.count() );
+ if ( ! m_colors.isEmpty() ) {
+ <a href="qpixmap.html">QPixmap</a> pixmap( 22, 22 );
+ int row = 0;
+ QMap&lt;QString,QColor&gt;::ConstIterator it;
+ for ( it = m_colors.constBegin(); it != m_colors.constEnd(); ++it ) {
+ <a href="qcolor.html">QColor</a> color = it.data();
+ pixmap.<a href="qpixmap.html#fill">fill</a>( color );
+ colorTable-&gt;setText( row, COL_NAME, it.key() );
+ colorTable-&gt;setPixmap( row, COL_NAME, pixmap );
+ colorTable-&gt;setText( row, COL_HEX, color.<a href="qcolor.html#name">name</a>().upper() );
+ if ( m_show_web ) {
+ <a href="qchecktableitem.html">QCheckTableItem</a> *item = new <a href="qchecktableitem.html">QCheckTableItem</a>( colorTable, "" );
+ item-&gt;<a href="qchecktableitem.html#setChecked">setChecked</a>( isWebColor( color ) );
+ colorTable-&gt;setItem( row, COL_WEB, item );
+ }
+ row++;
+ }
+ colorTable-&gt;setCurrentCell( 0, 0 );
+ }
+ colorTable-&gt;adjustColumn( COL_NAME );
+ colorTable-&gt;adjustColumn( COL_HEX );
+ if ( m_show_web ) {
+ colorTable-&gt;showColumn( COL_WEB );
+ colorTable-&gt;adjustColumn( COL_WEB );
+ }
+ else
+ colorTable-&gt;hideColumn( COL_WEB );
+ m_table_dirty = FALSE;
+ }
+
+ if ( m_icons_dirty ) {
+ colorIconView-&gt;clear();
+
+ QMap&lt;QString,QColor&gt;::ConstIterator it;
+ for ( it = m_colors.constBegin(); it != m_colors.constEnd(); ++it )
+ (void) new <a href="qiconviewitem.html">QIconViewItem</a>( colorIconView, it.key(),
+ colorSwatch( it.data() ) );
+ m_icons_dirty = FALSE;
+ }
+ }
+</pre>
+ <p>This function is at the heart of the application. It visually presents the data to the user. If the table is "dirty" (e.g. if the user has added or deleted colors in the icon view, or has opened a color file) we will populate the table. We start by deleting the contents of every cell. Next we change the number of rows to equal the number of colors in the colors map. For each color we want to display a little square that shows the color, so we create a pixmap of the required size.</p>
+<p>We now create an iterator for our colors map, and iterate over every color. The colors map has the user's color names as its keys, and <a href="qcolor.html">QColor</a> instances as values. We retrieve the color and fill our pixmap with that color. We then set the "Name" column (column <tt>COL_NAME</tt>), to have the color's name (<tt>it.key()</tt>) and the pixmap we've just filled with that color. <a href="qcolor.html">QColor</a>'s <tt>name()</tt> function returns a string that is the hex representation of a color, e.g. "#12AB2F"; we retrieve this and set the second ("Hex") column to this value.</p>
+<p>If the user wants to see if which colors are web colors we create a <a href="qchecktableitem.html">QCheckTableItem</a>, and check it if it is a web color. (We'll cover <tt>isWebColor()</tt> shortly.) We then insert this <a href="qchecktableitem.html">QCheckTableItem</a> into the "Web" column.</p>
+<p>Having populated the table we call <tt>adjustColumn()</tt> to ensure that each column is just wide enough to show its widest entry, and show or hide the "Web" column depending on the user's preference.</p>
+<p>Finally we set <tt>m_table_dirty</tt> to FALSE, since it is now up-to-date.</p>
+<p>If the icon view is "dirty" we <tt>clear()</tt> it of any existing data. We then iterate over each color in our colors map. For each color we create a new <a href="qiconviewitem.html">QIconViewItem</a>; we label the item with the user's color name and provide a pixmap (generated by <tt>colorSwatch()</tt>, covered shortly) in the relevant color. Finally we set <tt>m_icons_dirty</tt> to "FALSE", since it is now up-to-date.</p>
+<h4><a name="6-10"></a>isWebColor()</h4>
+<pre> bool MainForm::isWebColor( <a href="qcolor.html">QColor</a> color )
+ {
+ int r = color.<a href="qcolor.html#red">red</a>();
+ int g = color.<a href="qcolor.html#green">green</a>();
+ int b = color.<a href="qcolor.html#blue">blue</a>();
+
+ return ( ( r == 0 || r == 51 || r == 102 ||
+ r == 153 || r == 204 || r == 255 ) &amp;&amp;
+ ( g == 0 || g == 51 || g == 102 ||
+ g == 153 || g == 204 || g == 255 ) &amp;&amp;
+ ( b == 0 || b == 51 || b == 102 ||
+ b == 153 || b == 204 || b == 255 ) );
+ }
+</pre>
+ <p>The 216 web colors are those colors whose RGB (Red, Green, Blue) values are all in the set (0, 51, 102, 153, 204, 255).</p>
+<h4><a name="6-11"></a>colorSwatch()</h4>
+<pre> QPixmap MainForm::colorSwatch( const <a href="qcolor.html">QColor</a> color )
+ {
+ <a href="qpixmap.html">QPixmap</a> pixmap( 80, 80 );
+ pixmap.<a href="qpixmap.html#fill">fill</a>( white );
+ <a href="qpainter.html">QPainter</a> painter;
+ painter.<a href="qpainter.html#begin">begin</a>( &amp;pixmap );
+ painter.<a href="qpainter.html#setPen">setPen</a>( <a href="qt.html#PenStyle-enum">NoPen</a> );
+ painter.<a href="qpainter.html#setBrush">setBrush</a>( color );
+ painter.<a href="qpainter.html#drawEllipse">drawEllipse</a>( 0, 0, 80, 80 );
+ painter.<a href="qpainter.html#end">end</a>();
+ return pixmap;
+ }
+</pre>
+ <p>We create a pixmap of a suitable size and fill it with white. We then create a <a href="qpainter.html">QPainter</a> which we'll use to paint on the pixmap. We don't want a pen because we don't want an outline around the shape we draw. We draw an ellipse (which will be circular since we draw in an 80 x 80 pixel square). We return the resultant pixmap.</p>
+<h4><a name="6-12"></a>Creating main.cpp</h4>
+<p>Now that we've entered some of the code it would be nice to build and run the application to get a feel for the progress we've made. To do this we need to create a <tt>main()</tt> function. In Qt we typically create a small <tt>main.cpp</tt> file for the <tt>main()</tt> function. We can ask <em>Qt Designer</em> to create this file for us.</p>
+<p>Click <b>File|New</b> to invoke the <em>New File</em> dialog. Click "C++ Main-File", then click OK. The <em>Configure Main-File</em> dialog appears, listing the all the forms in the project. We've only got one form, "MainForm", so it is already highlighted. Click <b>OK</b> to create a <tt>main.cpp</tt> file that loads our MainForm.</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "mainform.h"
+
+ int main( int argc, char ** argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ MainForm *w = new MainForm;
+ w-&gt;show();
+ return a.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p>When <em>Qt Designer</em> generates a <tt>main.cpp</tt> file it includes this line:</p>
+<pre>
+ a.connect( &amp;a, SIGNAL( lastWindowClosed() ), &amp;a, SLOT( quit() ) );
+</pre>
+<p>If we left this code as-is, the user could by-pass our own termination code by clicking the main window's close (X) button. Since we want to give the user the option to save any unsaved changes we need to ensure that we intercept any attempt to close the application. To achieve this we delete the connection and add a new slot, <tt>closeEvent()</tt> which will intercept attempts to close the application and call our <tt>fileExit()</tt> function.</p>
+<p>Click <tt>main.cpp</tt> in the Project Overview window. The file will appear in an editing window. Delete the connect line.</p>
+<p>Click <tt>mainform.ui.h</tt> in the Project Overview window; (you may need to click <tt>mainform.ui</tt> first to reveal <tt>mainform.ui.h</tt>). Right click "fileExit()" in Object Explorer's Members list (under Slots, public), then click <b>Goto Implementation</b>. Add the following slot above the <tt>fileExit()</tt> slot:</p>
+<pre> void MainForm::closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * )
+ {
+ fileExit();
+ }
+</pre>
+ <p>Now, whatever the user clicks to close the application, our <tt>fileExit()</tt> slot will be called. We'll code the <tt>fileExit()</tt> slot right now:</p>
+<pre> void MainForm::fileExit()
+ {
+ QApplication::<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+</pre>
+ <p>This ensures that our application will cleanly terminate. Later we'll revise this function to give the user the opportunity to save any unsaved data.</p>
+<h4><a name="6-13"></a>Building and Running</h4>
+<p>We now have some code in the application and a <tt>main.cpp</tt> containing the <tt>main()</tt> function, so we should be able to compile, link and run the application.</p>
+<p>Click <b>File|Save</b> to ensure that all our work is saved to disk. Open a console (e.g. an xterm or DOS window), change directory to where you have saved the <tt>colortool</tt> project, and run <tt>qmake</tt> to generate a Makefile:</p>
+<pre>
+ qmake -o Makefile colortool.pro
+</pre>
+<p>Now make the project (run <tt>nmake</tt> on Windows, <tt>make</tt> on other platforms). Providing you commented out the "findForm" and "loadSettings" lines in the <tt>init()</tt> function, the program should build. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<p>Once the make has finished, run the program. You still can't change views since we haven't written the code for that yet, but it does create a default set of colors. You can terminate the application by clicking the close (X) button or by clicking <b>File|Exit</b>.</p>
+<h4><a name="6-14"></a>Editing the Code: Updating the Status Bar</h4>
+<p>We want to show information about the current color in the status bar, and we want to ensure that when the user changes their view or loads in a color file, the relevant view is updated.</p>
+<h4><a name="6-15"></a>aboutToShow()</h4>
+<pre> void MainForm::aboutToShow()
+ {
+ populate();
+ }
+</pre>
+ <p>We could have made <tt>populate()</tt> a slot and connected directly to it. We've used the indirection because it's clearer and in a real application there would probably be more to do in this slot.</p>
+<h4><a name="6-16"></a>changedTableColor()</h4>
+<pre> void MainForm::changedTableColor( int row, int )
+ {
+ changedColor( colorTable-&gt;text( row, COL_NAME ) );
+ }
+</pre>
+ <p>We connected to this slot so that we'd know whenever the user moved or clicked in the table view. We call the <tt>changedColor()</tt> function (which we'll see in a moment) with the name of the current color. Note that we don't care about the column argument, so we could have left it out. Don't forget to name the changedTableColor parameter to "int row".</p>
+<h4><a name="6-17"></a>changedIconColor()</h4>
+<pre> void MainForm::changedIconColor( <a href="qiconviewitem.html">QIconViewItem</a> *item )
+ {
+ changedColor( item-&gt;<a href="qtableitem.html#text">text</a>() );
+ }
+</pre>
+ <p>This slot is connected for the same purpose as <tt>changedTableColor()</tt>, above. It also calls <tt>changedColor()</tt> with the name of the current color. (If you're cutting and pasting the code don't forget to name the <a href="qiconviewitem.html">QIconViewItem</a> parameter "item".)</p>
+<h4><a name="6-18"></a>changedColor()</h4>
+<p>This is a function that we need to write from scratch. Simply enter its code into <em>Qt Designer</em>'s code editor and it will automatically appear in Object Explorer's Members tab (under Functions, public).</p>
+<p>By default any function that it typed directly into the code editor becomes a public function. To change this, right click the function's name in Object Explorer's Members list, and click <b>Properties</b> to invoke the <em>Edit Functions</em> dialog. This dialog can be used to change various attributes of the function, including changing it into a slot.</p>
+<pre> void MainForm::changedColor( const <a href="qstring.html">QString</a>&amp; name )
+ {
+ <a href="qcolor.html">QColor</a> color = m_colors[name];
+ int r = color.<a href="qcolor.html#red">red</a>();
+ int g = color.<a href="qcolor.html#green">green</a>();
+ int b = color.<a href="qcolor.html#blue">blue</a>();
+ statusBar()-&gt;message( QString( "%1 \"%2\" (%3,%4,%5)%6 {%7 %8 %9}" ).
+ arg( <a href="qobject.html#name-prop">name</a> ).
+ arg( color.<a href="qcolor.html#name">name</a>().upper() ).
+ arg( r ).arg( g ).arg( b ).
+ arg( isWebColor( color ) ? " web" : "" ).
+ arg( r / 255.0, 1, 'f', 3 ).
+ arg( g / 255.0, 1, 'f', 3 ).
+ arg( b / 255.0, 1, 'f', 3 )
+ );
+ }
+</pre>
+ <p>This function looks up the color name in the colors map and retrieves the color the name refers to. It then displays the name, hex value and whether the color is a web color in the status bar.</p>
+<p>Note that <a href="qmainwindow.html">QMainWindow</a> only creates a status bar if you actually use one. Since we haven't used one up until now we've had no problem, but if we were to try compiling we'd get an error because we're now using a status bar but haven't declared the relevant header. Click Object Explorer's Members tab and add a "qstatusbar.h" to the "Includes (In Implementation)" section. (Right click "Includes (In Implementation)", click <b>New</b>, enter "qstatusbar.h" then press <b>Enter</b>.)</p>
+<p>You should now have added the following declaration to your includes (in implementation):</p>
+<ul><li><p>"qstatusbar.h"</p>
+</ul><p>Try saving (press <b>Ctrl+S</b>), making and running the application. Move to different colors and see the status bar indicating the color you are on. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<h4><a name="6-19"></a>Changing Views</h4>
+<p>Up to now we have not yet been able to see the icon view in action because there's been no code in place to switch views. We'll address this issue now.</p>
+<p>We have already created a <tt>changeView()</tt> slot that is called when the user clicks one of the view toolbar buttons or menu options, so we just need to write in the code.</p>
+<pre> void MainForm::changeView(QAction* action)
+ {
+ if ( action == viewTableAction )
+ colorWidgetStack-&gt;raiseWidget( tablePage );
+ else
+ colorWidgetStack-&gt;raiseWidget( iconsPage );
+ }
+</pre>
+ <p>(If you're cutting and pasting the code don't forget to name the <a href="qaction.html">QAction</a> parameter "action".)</p>
+<h4><a name="6-20"></a>Editing the Code: File Handling</h4>
+<p>Since the X Consortium has already defined a file format for relating colors to color names we will use their format rather than creating one specially for the application. This has the advantage that we will be able to read and write <tt>rgb.txt</tt>, and that our format will be familiar to many users.</p>
+<h4><a name="6-21"></a>fileNew()</h4>
+<pre> void MainForm::fileNew()
+ {
+ if ( okToClear() ) {
+ m_filename = "";
+ m_changed = FALSE;
+ m_table_dirty = TRUE;
+ m_icons_dirty = TRUE;
+ clearData( FALSE );
+ }
+ }
+</pre>
+ <p>This function doesn't load or save any data; it simply checks to see if it is okay to clear the existing data (with the call to <tt>okToClear()</tt> which we'll look at next), and if it is okay, it initializes the form.</p>
+<h4><a name="6-22"></a>okToClear()</h4>
+<p>Before we can create a new set of colors, or load an existing set, we must check to see if there are any unsaved changes. If there are, we must give the user the opportunity of saving their data. That's what this function does.</p>
+<pre> bool MainForm::okToClear()
+ {
+ if ( m_changed ) {
+ <a href="qstring.html">QString</a> msg;
+ if ( m_filename.isEmpty() )
+ msg = "Unnamed colors ";
+ else
+ msg = QString( "Colors '%1'\n" ).arg( m_filename );
+ msg += QString( "has been changed." );
+ int ans = QMessageBox::<a href="qmessagebox.html#information">information</a>(
+ this,
+ "Color Tool -- Unsaved Changes",
+ msg, "&amp;Save", "Cancel", "&amp;Abandon",
+ 0, 1 );
+ if ( ans == 0 )
+ fileSave();
+ else if ( ans == 1 )
+ return FALSE;
+ }
+
+ return TRUE;
+ }
+</pre>
+ <p>If the data has changed (<tt>m_changed</tt> is TRUE), we present the user with a message box offering the option of saving their data, or cancelling the current operation (e.g. not loading a new file, or not creating a new set of colors), or abandoning their changes and continuing. We make the <b>Save</b> button the default button (pressed by <b>Enter</b>) and the <b>Cancel</b> button the escape button (pressed by <b>Esc</b>).</p>
+<p>Since we're using a <a href="qmessagebox.html">QMessageBox</a> we need to include the relevant header. (Right click "Includes (in Implementation)", then click <b>New</b>. Type "qmessagebox.h" and press <b>Enter</b>.)</p>
+<p>You should now have added the following declaration to your includes (in implementation):</p>
+<ul><li><p>"qmessagebox.h"</p>
+</ul><h4><a name="6-23"></a>fileOpen()</h4>
+<pre> void MainForm::fileOpen()
+ {
+ if ( ! okToClear() )
+ return;
+
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>(
+ QString::null, "Colors (*.txt)", this,
+ "file open", "Color Tool -- File Open" );
+ if ( ! filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else
+ statusBar()-&gt;message( "File Open abandoned", 2000 );
+ }
+</pre>
+ <p>If it isn't okay to clear the data (i.e. the user has unsaved changes and clicked <b>Cancel</b> in the message box popped up by <tt>okToClear()</tt>), we simply return. Otherwise we ask the user for a filename using one of <a href="qfiledialog.html">QFileDialog</a>'s static functions, and if we got the filename we attempt to load the file.</p>
+<p>Since we're using a <a href="qfiledialog.html">QFileDialog</a> we need to include the relevant header. (Right click "Includes (in Implementation)", then click <b>New</b>. Type "qfiledialog.h" and press <b>Enter</b>.)</p>
+<p>You should now have added the following declaration to your includes (in implementation):</p>
+<ul><li><p>"qfiledialog.h"</p>
+</ul><h4><a name="6-24"></a>load()</h4>
+<pre> void MainForm::load( const <a href="qstring.html">QString</a>&amp; filename )
+ {
+ clearData( FALSE );
+ m_filename = filename;
+ <a href="qregexp.html">QRegExp</a> regex( "^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\S+.*)$" );
+ <a href="qfile.html">QFile</a> file( filename );
+ if ( file.<a href="qfile.html#open">open</a>( IO_ReadOnly ) ) {
+ statusBar()-&gt;message( QString( "Loading '%1'..." ).
+ arg( filename ) );
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ <a href="qstring.html">QString</a> line;
+ while ( ! stream.<a href="qtextstream.html#eof">eof</a>() ) {
+ line = stream.<a href="qtextstream.html#readLine">readLine</a>();
+ if ( regex.<a href="qregexp.html#search">search</a>( line ) == -1 )
+ m_comments += line;
+ else
+ m_colors[regex.<a href="qregexp.html#cap">cap</a>( 4 )] = QColor(
+ regex.<a href="qregexp.html#cap">cap</a>( 1 ).toInt(),
+ regex.<a href="qregexp.html#cap">cap</a>( 2 ).toInt(),
+ regex.<a href="qregexp.html#cap">cap</a>( 3 ).toInt() );
+ }
+ file.<a href="qfile.html#close">close</a>();
+ m_filename = filename;
+ <a href="qwidget.html#setCaption">setCaption</a>( QString( "Color Tool -- %1" ).arg( m_filename ) );
+ statusBar()-&gt;message( QString( "Loaded '%1'" ).
+ arg( m_filename ), 3000 );
+ <a href="qwidget.html">QWidget</a> *visible = colorWidgetStack-&gt;visibleWidget();
+ m_icons_dirty = ! ( m_table_dirty = ( <a href="qwidget.html#visible-prop">visible</a> == tablePage ) );
+ populate();
+ m_icons_dirty = ! ( m_table_dirty = ( visible != tablePage ) );
+ m_changed = FALSE;
+ }
+ else
+ statusBar()-&gt;message( QString( "Failed to load '%1'" ).
+ arg( m_filename ), 3000 );
+ }
+</pre>
+ <p>Before loading new data, we clear out any existing data. The format of an <tt>rgb.txt</tt> file is:</p>
+<pre>
+RED WHITESPACE GREEN WHITESPACE BLUE WHITESPACE NAME
+</pre>
+<p>Where RED, GREEN and BLUE are decimal numbers in the range 0..255 taking up three characters padded with leading spaces where necessary. The WHITESPACE between the colors is usually a single space, and between BLUE and the NAME two tabs. The NAME may include whitespace. For example:</p>
+<pre>
+ 0 191 255 deep sky blue
+176 48 96 maroon
+199 21 133 medium violet red
+</pre>
+<p>The file may also include comment lines; these begin with '!' for example.</p>
+<p>There are numerous approaches we could have taken to parsing these files, but we've opted for a simple regular expression (regex). The regex is more "liberal" regarding the whitespace in the input than the format demands.</p>
+<p>If a line matches the regex we create a new entry in the <tt>m_colors</tt> <a href="qmap.html">QMap</a>, setting its text to be the name of the color (<tt>regex.cap( 4 )</tt>), and its value to be a new <a href="qcolor.html">QColor</a> created from the red, green and blue values. Lines that don't match the regex are treated as comments and are stored in the <tt>m_comments</tt> string list. (When we save the file we write all the comments out first even if they appeared in the middle of the file.)</p>
+<p>Once we've populated the <tt>m_colors</tt> map we mark the visible view as "dirty" and call <tt>populate()</tt> to update it. We then mark the visible view as not dirty and the non-visible view as dirty. This ensures that when user changes the view, the view they switch to will be updated. We could have simply marked both views as dirty and updated them both, but it is more efficient to update "lazily", after all the user may only ever use one view, so why waste their time updating the other one.</p>
+<p>Since we're using <a href="qfile.html">QFile</a> and <a href="qregexp.html">QRegExp</a> we need to include the relevant headers. (Right click "Includes (in Implementation)", then click <b>New</b>. Type "qfile.h" and press <b>Enter</b>. Repeat this process to add "qregexp.h".)</p>
+<p>You should now have added the following declarations to your includes (in implementation):</p>
+<ul><li><p>"qfile.h"</p>
+<li><p>"qregexp.h"</p>
+</ul><blockquote>
+<p align="center"><b> The Regular Expression</b></p>
+<p>The regex we've used can be broken up into the following pieces:</p>
+<pre>
+Regex: ^ \\s* (\\d+) \\s+ (\\d+) \\s+ (\\d+) \\s+ (\\S+.*) $
+Pieces: A B C D C D C D E F
+Captures: cap(1) cap(2) cap(3) cap(4)
+</pre>
+<p>Piece A says the regex must match from the beginning of the string, and piece F says the regex must match to the end of the string: so the regex must match the whole string or not match at all. The 'B' piece matches zero or more whitespaces (i.e. any leading whitespace), and the D pieces match one or more whitespaces (i.e. the gaps between each number). The 'C' pieces match one or more digits, i.e. the numbers. Piece E matches one or more non-whitespace followed by anything else, i.e. the name of the color.</p>
+<p>The parentheses are used to <em>capture</em> the parts of the match that they enclose. The captured parts are numbered from 1.</p>
+<p>For more information on regexes see the <a href="qregexp.html">QRegExp</a> documentation.</p>
+</blockquote>
+<h4><a name="6-25"></a>fileSaveAs()</h4>
+<pre> void MainForm::fileSaveAs()
+ {
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+ QString::null, "Colors (*.txt)", this,
+ "file save as", "Color Tool -- File Save As" );
+ if ( ! filename.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ int ans = 0;
+ if ( QFile::<a href="qfile.html#exists">exists</a>( filename ) )
+ ans = QMessageBox::<a href="qmessagebox.html#warning">warning</a>(
+ this, "Color Tool -- Overwrite File",
+ QString( "Overwrite\n'%1'?" ).
+ arg( filename ),
+ "&amp;Yes", "&amp;No", QString::null, 1, 1 );
+ if ( ans == 0 ) {
+ m_filename = filename;
+ fileSave();
+ return;
+ }
+ }
+ statusBar()-&gt;message( "Saving abandoned", 2000 );
+ }
+</pre>
+ <p>If the user attempts to save data that has been edited but not saved previously, or if they want to save some existing data under a new name, this slot is called. The user is presented with a standard file dialog which they can use to choose a filename. If the filename already exists they are given the option of continuing (overwriting) or cancelling. If the filename doesn't exist or does but the user has elected to continue the <tt>m_filename</tt> member is set and <tt>fileSave()</tt> is called.</p>
+<h4><a name="6-26"></a>fileSave()</h4>
+<pre> void MainForm::fileSave()
+ {
+ if ( m_filename.isEmpty() ) {
+ fileSaveAs();
+ return;
+ }
+
+ <a href="qfile.html">QFile</a> file( m_filename );
+ if ( file.<a href="qfile.html#open">open</a>( IO_WriteOnly ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ if ( ! m_comments.isEmpty() )
+ stream &lt;&lt; m_comments.join( "\n" ) &lt;&lt; "\n";
+ QMap&lt;QString,QColor&gt;::ConstIterator it;
+ for ( it = m_colors.constBegin(); it != m_colors.constEnd(); ++it ) {
+ <a href="qcolor.html">QColor</a> color = it.data();
+ stream &lt;&lt; QString( "%1 %2 %3\t\t%4" ).
+ arg( color.<a href="qcolor.html#red">red</a>(), 3 ).
+ arg( color.<a href="qcolor.html#green">green</a>(), 3 ).
+ arg( color.<a href="qcolor.html#blue">blue</a>(), 3 ).
+ arg( it.key() ) &lt;&lt; "\n";
+ }
+ file.<a href="qfile.html#close">close</a>();
+ <a href="qwidget.html#setCaption">setCaption</a>( QString( "Color Tool -- %1" ).arg( m_filename ) );
+ statusBar()-&gt;message( QString( "Saved %1 colors to '%2'" ).
+ arg( m_colors.count() ).
+ arg( m_filename ), 3000 );
+ m_changed = FALSE;
+ }
+ else
+ statusBar()-&gt;message( QString( "Failed to save '%1'" ).
+ arg( m_filename ), 3000 );
+
+ }
+</pre>
+ <p>If there is no current filename we call <tt>fileSaveAs()</tt>; that function will call this one if the user provides a filename.</p>
+<p>We write out any comment lines first. This means that a file that we load and then save may not be the same (e.g. if the original had comments scattered throughout, since our saved version will have all the comments at the beginning). We then iterate over every color in the <tt>m_colors</tt> map, writing them out in the <tt>rgb.txt</tt> file format.</p>
+<h4><a name="6-27"></a>fileExit()</h4>
+<pre> void MainForm::fileExit()
+ {
+ if ( okToClear() ) {
+ QApplication::<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+ }
+</pre>
+ <p>This is the second revision of this function. Now we only exit if the user has had the opportunity to save any unsaved changes. (We'll make a third and final version of this function later, when we deal with saving user settings.)</p>
+<p>Try making and running the program. If you have <tt>rgb.txt</tt> on your system try loading it and saving it under a new name for testing purposes. If you don't have this file, save the standard colors and use those. In the next section we'll cover adding and deleting colors so that you can create your own color files. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<h4><a name="6-28"></a>Editing the Code: The Edit Options</h4>
+<p>Adding a new color, finding a color and handling user options all require custom dialogs, so we'll defer them until chapter three when we deal with dialogs.</p>
+<h4><a name="6-29"></a>editCut()</h4>
+<pre> void MainForm::editCut()
+ {
+ <a href="qstring.html">QString</a> name;
+ <a href="qwidget.html">QWidget</a> *visible = colorWidgetStack-&gt;visibleWidget();
+ statusBar()-&gt;message( QString( "Deleting '%1'" ).arg( <a href="qobject.html#name-prop">name</a> ) );
+
+ if ( <a href="qwidget.html#visible-prop">visible</a> == tablePage &amp;&amp; colorTable-&gt;numRows() ) {
+ int row = colorTable-&gt;currentRow();
+ <a href="qobject.html#name-prop">name</a> = colorTable-&gt;text( row, 0 );
+ colorTable-&gt;removeRow( colorTable-&gt;currentRow() );
+ if ( row &lt; colorTable-&gt;numRows() )
+ colorTable-&gt;setCurrentCell( row, 0 );
+ else if ( colorTable-&gt;numRows() )
+ colorTable-&gt;setCurrentCell( colorTable-&gt;numRows() - 1, 0 );
+ m_icons_dirty = TRUE;
+ }
+ else if ( <a href="qwidget.html#visible-prop">visible</a> == iconsPage &amp;&amp; colorIconView-&gt;currentItem() ) {
+ <a href="qiconviewitem.html">QIconViewItem</a> *item = colorIconView-&gt;currentItem();
+ <a href="qobject.html#name-prop">name</a> = item-&gt;<a href="qtableitem.html#text">text</a>();
+ if ( colorIconView-&gt;count() == 1 )
+ colorIconView-&gt;clear();
+ else {
+ <a href="qiconviewitem.html">QIconViewItem</a> *current = item-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>();
+ if ( ! current )
+ current = item-&gt;<a href="qiconviewitem.html#prevItem">prevItem</a>();
+ delete item;
+ if ( current )
+ colorIconView-&gt;setCurrentItem( current );
+ colorIconView-&gt;arrangeItemsInGrid();
+ }
+ m_table_dirty = TRUE;
+ }
+
+ if ( ! name.<a href="qstring.html#isNull">isNull</a>() ) {
+ m_colors.remove( <a href="qobject.html#name-prop">name</a> );
+ m_changed = TRUE;
+ statusBar()-&gt;message( QString( "Deleted '%1'" ).arg( <a href="qobject.html#name-prop">name</a> ), 5000 );
+ }
+ else
+ statusBar()-&gt;message( QString( "Failed to delete '%1'" ).arg( <a href="qobject.html#name-prop">name</a> ), 5000 );
+ }
+</pre>
+ <p>If the user is viewing the table view we delete the current row. We set the new current cell to be the one following the deleted row, or if the one we deleted was last, its predecessor. We mark the <em>other</em> view (the icon view) as dirty, to make sure that it is updated if the user switches views. Similarly, if the user is viewing the icon view, we make the next (or previous if there is no next) item current and delete the one they were on. We then mark the table view as dirty. If we deleted a color (i.e. there was a current color in one of the views), we remove it from the <tt>m_colors</tt> map and mark the data as changed.</p>
+<h4><a name="6-30"></a>editCopy()</h4>
+<pre> void MainForm::editCopy()
+ {
+ <a href="qstring.html">QString</a> text;
+ <a href="qwidget.html">QWidget</a> *visible = colorWidgetStack-&gt;visibleWidget();
+
+ if ( <a href="qwidget.html#visible-prop">visible</a> == tablePage &amp;&amp; colorTable-&gt;numRows() ) {
+ int row = colorTable-&gt;currentRow();
+ text = colorTable-&gt;text( row, 0 );
+ }
+ else if ( <a href="qwidget.html#visible-prop">visible</a> == iconsPage &amp;&amp; colorIconView-&gt;currentItem() ) {
+ <a href="qiconviewitem.html">QIconViewItem</a> *item = colorIconView-&gt;currentItem();
+ text = item-&gt;<a href="qtableitem.html#text">text</a>();
+ }
+ if ( ! text.<a href="qstring.html#isNull">isNull</a>() ) {
+ <a href="qcolor.html">QColor</a> color = m_colors[text];
+ switch ( m_clip_as ) {
+ case CLIP_AS_HEX: text = color.<a href="qcolor.html#name">name</a>(); break;
+ case CLIP_AS_NAME: break;
+ case CLIP_AS_RGB:
+ text = QString( "%1,%2,%3" ).
+ arg( color.<a href="qcolor.html#red">red</a>() ).
+ arg( color.<a href="qcolor.html#green">green</a>() ).
+ arg( color.<a href="qcolor.html#blue">blue</a>() );
+ break;
+ }
+ clipboard-&gt;setText( text );
+ statusBar()-&gt;message( "Copied '" + text + "' to the clipboard" );
+ }
+ }
+</pre>
+ <p>In this function we retrieve the name of the color from the current table row (or current icon, depending on the view). We then set a <a href="qstring.html">QString</a> to the text we want to copy into the clipboard and copy it.</p>
+<h3><a name="7"></a>Summary</h3>
+<p>In this chapter we have created a standard main-window style application. We have implemented menus, a toolbar and a main widget (a QWidgetStack). We've also created signal and slot connections and implemented many custom slots. In the following chapter we will complete the application by implementing custom dialogs, and by making use of common dialogs where appropriate.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-2.html">Prev: Quick Start</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-4.html">Next: Creating Dialogs</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-4.html b/doc/html/designer-manual-4.html
new file mode 100644
index 0000000..3a5a55d
--- /dev/null
+++ b/doc/html/designer-manual-4.html
@@ -0,0 +1,528 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-dialogs.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Creating Dialogs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-3.html">Prev: Creating a Main Window Application</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-5.html">Next: The Designer Approach</a>]</p>
+<h2 align="center">Creating Dialogs</h2>
+<p>In this chapter we will create the dialogs necessary to complete the <tt>colortool</tt> application. All the dialogs are launched from the main window we created in the previous chapter. We will learn how to create and use both modal and modeless dialogs, and more about using Qt's layout classes in <em>Qt Designer</em> to produce forms that are well proportioned and that scale well.</p>
+<h3><a name="1"></a>Adding Colors</h3>
+<p>Qt already has a static function that launches a "choose a color" dialog. But we need to not only choose a color, but to give it a name too. So we'll present the user with the choose a color dialog, and if they choose a color, we'll then ask them to name it.</p>
+<p align="center"><img align="middle" src="qd-colortool-name.png" alt="The Color Name Dialog" width="356" height="134">
+</p>
+<h4><a name="1-1"></a>Making the Connection</h4>
+<p>When we created the main form we made an action called "editAddAction". We added this action to the menubar (in the "Edit" menu), and to the toolbar. Now we need to connect this action to a slot so that we can make it add a color.</p>
+<p>Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog. Click <b>New</b> to create a new connection. Change the Sender to "editAddAction", the signal to "activated()" and the receiver to "MainForm". We need to create a new slot to connect to. Click <b>Edit Slots</b> to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b> and change the slot's name to "editAdd()", then click <b>OK</b>. Now change the slot we connect to "editAdd()", then click <b>OK</b> to close the dialog.</p>
+<blockquote>
+<p align="center"><b> Selecting Widgets</b></p>
+<!-- index Object Explorer --><!-- index Selecting Widgets --><!-- index Rubber band, Selecting --><!-- index Selecting!Rubber band --><!-- index Grouping Widgets --><!-- index Widgets!Grouping --><p>To select an individual widget, either click the widget itself or click its Name in Object Explorer. To select a group either click a fraction outside its red outline or click its Name in Object Explorer.</p>
+<p>If you want to insert a widget into a gap between widgets which are in a layout we can click the toolbar button for the new widget and then click in the gap. <em>Qt Designer</em> will ask us if we want to break the layout and if we click <b>Break Layout</b> the layout will be broken and our widget inserted. We can then select the widgets and groups we want to lay out and lay them out again. The same effect can be achieved by clicking the group and either clicking the <b>Break Layout</b> toolbar button or pressing <b>Ctrl+B</b>.</p>
+<p>Multiple widgets can be selected in five different ways:</p>
+<ol type=1><li><p>Click the first widget, then <b>Shift+Click</b> the other widgets.</p>
+<li><p><b>Ctrl+Click</b> the first widget, then <b>Ctrl+Click</b> the other widgets; this is like the first technique but allows you to select widgets that are <em>inside</em> another widget (e.g. inside a group).</p>
+<li><p>Click the form and drag the rectangular rubber band to <em>touch</em> all the widgets you are interested in.</p>
+<li><p><b>Ctrl+Click</b> the first widget, then drag the rectangular rubber band to <em>touch</em> the other widgets. This differs from the previous technique in that it allows you to select widgets that are <em>inside</em> another widget (e.g. inside a group).</p>
+<li><p>Click Object Explorer's Objects tab. Click the first widget in Object Explorer, then <b>Shift+Click</b> the other widgets. This is especially useful for picking out widgets when you have lots of complex layouts.</p>
+</ol><p>When multiple widgets are selected their common properties are shown in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>. Any changes made in the Property Editor will be applied to <em>all</em> the selected widgets. This is particularly useful for setting common minimum and maximum sizes, colors, size policies, cursors, fonts, etc.</p>
+</blockquote>
+<h4><a name="1-2"></a>Creating the Dialog</h4>
+<a name="layouts-subsection"></a><h5><a name="1-2-1"></a>Layouts</h5>
+<!-- index Layouts --><!-- index Scaling widgets and application windows --><!-- index Automatically scaling widgets and application windows --><!-- index Absolute positioning --><p>Layouts provide a means of laying out widgets, groups of widgets, and layouts into horizontal and vertical pairs and into grids. If you use layouts your forms, and the widgets they contain, will scale automatically when the user resizes the window. This is better than using absolute sizes and positions since you don't have to write any code to achieve the scaling and your users can make the most of their screen size whether they have a laptop or a very large screen desktop machine. Layouts use standard sizes for margins and widget spacing which helps give your applications a consistent and proportional look without requiring any effort on your part. Layouts are also easier and faster to use than absolute positioning; you can just place your widgets on the form in approximate positions and leave the layout tools to size and scale the widgets correctly.</p>
+<a name="adding-the-widgets-subsection"></a><h5><a name="1-2-2"></a>Adding the Widgets</h5>
+<p>We can use one of Qt's static dialogs to get the user to choose a color, but we need our own dialog to get them to give it a name. We'll create that dialog now.</p>
+<p>Click <b>File|New</b> to invoke the <em>New File</em> dialog, then click "Dialog", then click <b>OK</b>. Drag a corner of the new form to make it a lot smaller. Change the form's name (in the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a>) to "ColorNameForm", and change its caption to "Color Tool -- Color Name". Click <b>File|Save</b>, then click <b>Save</b> to save it.</p>
+<p>We'll now add some widgets to the dialog. Don't worry about precise positioning or sizing; we'll get <em>Qt Designer</em> to lay the form out perfectly for us shortly.</p>
+<p>We need to create a <a href="qlabel.html">QLabel</a> that will show the color the user has chosen. Click the TextLabel tool in the Toolbox, then click on the left hand side of the form. Change the label's <em>name</em> property to "colorLabel", and delete the text in the <em>text</em> property. Click the <em>pixmap</em> property's ellipsis button and choose the "editraise.png" image. Change the <em>minimumSize</em> property's <em>width</em> sub-property to 80, and set the <em>scaledContents</em> property to True.</p>
+<p>Click the TextLabel tool again, then click to the right of the colorLabel, towards the top of the form. Change the <em>text</em> property to "&amp;Name". Note that the ampersand is displayed; this is because a <a href="qlabel.html">QLabel</a> cannot accept focus and we haven't specified a focus widget ("buddy") yet.</p>
+<p>Click the LineEdit tool, then click to the right of the "Name" label, again towards the top of the form. Change the <em>name</em> property to "colorLineEdit".</p>
+<p>Click on the "Name" label and change its <em>buddy</em> property to "colorLineEdit". The ampersand has now disappeared and <b>Alt+N</b> will set the focus in the colorLineEdit.</p>
+<p>Click the PushButton tool, then click below the "colorLabel". Change the button's <em>name</em> property to "okPushButton", its <em>text</em> property to "OK", and its <em>default</em> property to True.</p>
+<p align="center"><img align="middle" src="dialog1addwidg.png" width="425" height="228">
+</p>
+<p>Click the PushButton tool again, then click to the right of the OK button. Change this button's <em>name</em> property to "cancelPushButton" and its <em>text</em> property to "Cancel".</p>
+<a name="laying-out-the-widgets-subsection"></a><h5><a name="1-2-3"></a>Laying Out the Widgets</h5>
+<p>Now that we've created and roughly placed the widgets we need we are ready to lay them out.</p>
+<p>The process of laying out widgets is essentially two steps:</p>
+<ol type=1><li><p>select two or more widgets (or layouts)</p>
+<li><p>apply a layout method (vertical, horizontal, grid) to the selected items</p>
+</ol><p><em>Qt Designer</em> provides several different ways of selecting widgets and layouts. It doesn't matter which you use; some are more convenient in certain situations that others. We'll show several different approaches to selecting widgets as we lay out this form.</p>
+<p>We will lay out the "Name" label and the line edit side by side. Then we'll do the same for the buttons, and finally we'll lay out these two layouts in relation to the colorLabel.</p>
+<p>Click the form to deselect any selected widgets. Click the form above the "Name" label and drag the black rectangular elastic band so that it touches both the "Name" label and the line edit; then release. (It only has to be touching them when you release.) The "Name" label and the line edit are now selected. Click the <b>Lay Out Horizontally</b> toolbar button. A thin red rectangle appears to indicate the layout (this only shows up as a visual cue in <em>Qt Designer</em>, it doesn't appear in preview mode or in the running form).</p>
+<p align="center"><img align="middle" src="dialog1selewidg.png" alt="Selecting Widgets with the Rubber Band" width="425" height="228">
+</p>
+<p align="center"><img align="middle" src="dialog1selewidg1.png" alt="Selected Widgets" width="426" height="229">
+</p>
+<p>Click the form to deselect any selected widgets. In Object Explorer's Objects tab click the "cancelPushButton" to select it. Now <b>Shift+Click</b> the OK button in the Objects tab. (The Objects tab only ever highlights <em>one</em> object; but the form shows that both buttons are selected.) Click the <b>Lay Out Horizontally</b> toolbar button.</p>
+<p>Click the form to deselect any selected widgets. In Objects Explorer, click "Layout1" (which contains the "Name" label and the line edit), then <b>Shift+Click</b> "Layout2" (which contains the buttons) so that both layouts are selected on the form. Click the <b>Lay Out Vertically</b> toolbar button.</p>
+<p>Now that we've got our two layouts (and the colorLabel widget), we'll lay them all out in relation to the form.</p>
+<p>Click the form to deselect any selected widgets. Click the <b>Lay Out Horizontally</b> toolbar button to lay out the form. (The form gets laid out because no widgets or layouts are selected.)</p>
+<p align="center"><img align="middle" src="dialog1layout1.png" width="424" height="229">
+</p>
+<p>Preview the form (<b>Ctrl+T</b>), and try resizing it. Unfortunately, when you make the form larger the buttons expand too much and look unattractive. Furthermore they don't stay at the bottom of the form as we would like. The problem is that when we enlarge the form there is a lot of unused space, and we need to tell the buttons not to make use of that space. This is achieved by inserting "spacers"; these have no visible appearance to the user, but consume excess space.</p>
+<p>We need to break the form layout so that we can insert spacers and lay out the form once more. Click the red rectangle of "Layout3", the layout that lays out the entire form. (We could just have easily have clicked the layout in Object Explorer.) Click the <b>Break Layout</b> toolbar button.</p>
+<p>We could add a spacer to the left of the buttons and lay that out with the buttons. But to save creating an extra layout, instead we'll break the layout that contains the buttons and lay them out in a single layout with the spacer. Click one of the buttons, then click <b>Break Layout</b> (or press <b>Ctrl+B</b>). Roughly resize the OK button so that it is about half as wide, leaving a gap on its left. Click the Spacer tool (in the Toolbox or on the toolbar), then click the form to the left of the OK button and drag horizontally. A horizontal Spacer (indicated by a blue "spring") is now left of the OK button.</p>
+<p>Since the Spacer is already selected, we'll simply extend the selection to include the buttons. <b>Shift+Click</b> the OK and cancel buttons in turn so that both buttons and the Spacer are selected. Now click <b>Lay Out Horizontally</b> (or press <b>Ctrl+H</b>). The Spacer is now in place and able to consume excess space.</p>
+<p>Now we'll put a Spacer between the layout containing the line edit and the layout we've just created (containing the buttons) to consume any excess space between them. Click the Spacer tool, then click the form in-between the line edit and the buttons and drag vertically. The Spacer is already selected but we need to extend the selection to include both the layouts. <b>Shift+Click</b> the layouts in Object Explorer's Objects tab. Now click <b>Lay Out Vertically</b> (or press <b>Ctrl+L</b>).</p>
+<p>Now we'll lay out the form itself. Click the form to deselect any selected widgets or layouts. Then click <b>Lay Out Horizontally</b>.</p>
+<p align="center"><img align="middle" src="dialog1layout2.png" width="425" height="226">
+</p>
+<p>So far the form doesn't look very different from before. Try previewing it (<b>Ctrl+T</b>) and resizing it. No matter how large or small you make it, the form always remains nicely proportioned.</p>
+<p>This is the beauty of using layouts rather than fixed sizes. It is especially useful if your program is translated into different languages since the labels will automatically and proportionally resize without any coding whatsoever. And your users will be able to use your forms on a wide variety of screen sizes from giant desktop screens to small laptop screens. (And, you can, of course, use fixed sizes and positions if you wish.)</p>
+<p>Resize the form in <em>Qt Designer</em>. Notice that the form has a minimum size; this is because all the widgets it contains have minimum sizes. (You can override this if you wish.) The size you make the form in <em>Qt Designer</em> will become the form's default size.</p>
+<p>When previewing the form, try pressing <b>Tab</b> to move between widgets that can accept focus. It is most likely that the tab order is correct. If it isn't, we can easily change it: see the <a href="designer-manual-4.html#changing-the-tab-order-sidebar">Changing the Tab Order</a> sidebar.</p>
+<blockquote>
+<p align="center"><b> Changing the Tab Order</b></p>
+<a name="changing-the-tab-order-sidebar"></a><!-- index Tab Order --><!-- index Tab Order Mode!Tab Order --><p>Keyboard users press the <b>Tab</b> key to move the focus from widget to widget as they use a form. The order in which the focus moves is called the tab order.</p>
+<p>To change a form's tab order click the <b>Tab Order</b> toolbar button. This will put <em>Qt Designer</em> into tab order mode; a number in a blue circle will appear next to every widget that can accept focus.</p>
+<p>To change the tab order, click every widget in turn in the order you want them to accept focus. If a widget already has the right tab order number you must <em>still click it</em> unless that widget and <em>all</em> the following widgets have the correct tab order numbers; in which case you can stop. Press <b>Esc</b> to leave tab order mode. You can test the tab order by previewing (<b>Ctrl+T</b>) and pressing the <b>Tab</b> key.</p>
+<p>If you prefer the tab order that you had before this one, click <b>Edit|Undo</b> (or press <b>Ctrl+Z</b>).</p>
+<p align="center"><img align="middle" src="dialog1tab.png" width="425" height="227">
+</p>
+</blockquote>
+<h5><a name="1-2-4"></a>Connecting the Widgets</h5>
+<p>We need to handle two buttons; the OK button and the cancel button. If the user clicks <b>OK</b>, we will only accept their color name if it isn't empty, and if it isn't already in use. (The <tt>rgb.txt</tt> format allows duplicate colors, but we will choose not to allow them to be added.) If the user clicks <b>Cancel</b> we'll just close the dialog.</p>
+<p>Click <b>Ctrl+T</b> to preview the form. Click the <b>Cancel</b> button; notice that it does nothing.</p>
+<p>We'll connect the cancel button first because it is the easiest. Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialogs. Click <b>New</b> to create a new connection. Set the Sender to "cancelPushButton", the Signal to "clicked()", the Receiver to "ColorNameForm", and the slot to "reject()". Because this functionality is achieved purely through signal and slot connections using a predefined signal and a predefined slot, it will work in preview mode. Click <b>OK</b> to close the dialog, then click <b>Ctrl+T</b> to preview. Clicking the <b>Cancel</b> button will now close the form, even in preview mode.</p>
+<p>Now we'll connect the OK button. Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialogs. Click <b>New</b> to create a new connection. Set the Sender to "okPushButton", the Signal to "clicked()" and the Receiver to "ColorNameForm". We want to invoke our own custom slot so that we can validate what the user has entered. Click <b>Edit Slots</b> to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b> and change the function's name to "validate()", then click <b>OK</b>. Now change the receiver's slot to our newly created "validate()" slot. Click <b>OK</b> to close the dialog.</p>
+<h5><a name="1-2-5"></a>Coding the Dialog</h5>
+<p>We must code our custom "validate()" slot. This slot will check to see if the color name entered already exists, so we must also provide a function through which a form-global list of color names can be set.</p>
+<p>Click "colornameform.ui.h" in the Project Overview window to invoke the code editor. The editor shows a single empty slot, <tt>validate()</tt>.</p>
+<p>We need to add some include files and also a form-global variable to hold the color names. We could add this information in the same way as we did for the main form, by right-clicking the appropriate sections in Objects Explorer's Members list and adding them. Instead we'll take an alternative approach; we'll add what we need directly in the form. Which approach you take is mostly a matter of personal preference; and you can use both approaches if you wish.</p>
+<blockquote>
+<p align="center"><b> Adding Members vs Coding in .ui.h</b></p>
+<p>For includes there is no difference between adding an include to Object Explorer's Members "Includes (in Implementation)" and typing the include directly in the <tt>.ui.h</tt> file.</p>
+<p>The situation is different for variables. If you add these to Members, Class Variables, they will be included as private variables in the class definition. If you type them at the top of the <tt>.ui.h</tt> file they will be form-global variables.</p>
+</blockquote>
+<p>We'll start by adding some includes.</p>
+<pre> #include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+ #include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+</pre>
+ <p>Enter these above the <tt>validate()</tt> function.</p>
+<p>We also need a variable to hold the list of colors.</p>
+<pre> QMap&lt;QString,QColor&gt; m_colors;
+</pre>
+ <p>Add this line; we'll store the colors in a local <tt>m_colors</tt> map.</p>
+<p>We also need a function that the caller can call to populate the <tt>m_colors</tt> map with the current colors.</p>
+<pre> void ColorNameForm::setColors( const <a href="qmap.html">QMap</a>&lt;QString,QColor&gt;&amp; colors )
+ {
+ m_colors = colors;
+ }
+</pre>
+ <p>Now that we've got a means of obtaining the list of color names we are ready to write the <tt>validate()</tt> function.</p>
+<pre> void ColorNameForm::validate()
+ {
+ <a href="qstring.html">QString</a> name = colorLineEdit-&gt;text();
+ if ( ! name.<a href="qstring.html#isEmpty">isEmpty</a>() &amp;&amp;
+ ( m_colors.isEmpty() || ! m_colors.contains( <a href="qobject.html#name-prop">name</a> ) ) )
+ accept();
+ else
+ colorLineEdit-&gt;selectAll();
+ }
+</pre>
+ <p>The function examines the text that the user has entered. If they've entered something and it doesn't exist in the list of colors we call <tt>accept()</tt>; this closes the form and returns a true value to the caller. (<tt>reject()</tt>, which is called if the user clicks <b>Cancel</b>, returns a false value.) If the color already exists we simply select it; an alternative would be to pop up a message box.</p>
+<p>The dialog is now complete. The next stage is to make use of it from the main form by coding the <tt>editAdd()</tt> slot.</p>
+<h4><a name="1-3"></a>Using the Dialog</h4>
+<p>The ColorNameForm dialog will be called from the main form. The caller will firstly call one of Qt's static "choose a color" dialogs, and if the user chooses a color, will then invoke our custom dialog. Since we're going to use a "choose a color" dialog we will need the appropriate header file. We'll also be accessing the dialog's colorLabel (to set it to the chosen color), and the dialog's line edit (to retrieve the color name), so we'll need appropriate headers for these too.</p>
+<p>Click "MainForm" in the Project Overview window so that Object Explorer shows the main form's objects.</p>
+<p>Click Object Explorer's Members tab. Right click "Includes (in Implementation)", then click <b>Edit</b> to invoke the <em>Edit Includes (in Implementation)</em> dialog. Click <b>Add</b> then enter "qcolordialog.h". Click <b>Add</b> again, and enter "qlabel.h". Similarly add "qlineedit.h". We also need to include the header for the form we've just created, so add "colornameform.h", and since it is our last entry press <b>Enter</b>, then click <b>Close</b>.</p>
+<p>You should now have added the following declarations to your includes (in implementation):</p>
+<ul><li><p>"qcolordialog.h"</p>
+<li><p>"qlabel.h"</p>
+<li><p>"qlineedit.h"</p>
+<li><p>"colornameform.h"</p>
+</ul><p>Now we're ready to enter the <tt>editAdd()</tt> slot's code. Click "mainform.ui.h" in the Project Overview to invoke the code editor.</p>
+<h5><a name="1-3-1"></a>editAdd()</h5>
+<pre> void MainForm::editAdd()
+ {
+ <a href="qcolor.html">QColor</a> color = white;
+ if ( ! m_colors.isEmpty() ) {
+ <a href="qwidget.html">QWidget</a> *visible = colorWidgetStack-&gt;visibleWidget();
+ if ( <a href="qwidget.html#visible-prop">visible</a> == tablePage )
+ color = colorTable-&gt;text( colorTable-&gt;currentRow(),
+ colorTable-&gt;currentColumn() );
+ else
+ color = colorIconView-&gt;currentItem()-&gt;text();
+ }
+ color = QColorDialog::<a href="qcolordialog.html#getColor">getColor</a>( color, this );
+ if ( color.<a href="qcolor.html#isValid">isValid</a>() ) {
+ <a href="qpixmap.html">QPixmap</a> pixmap( 80, 10 );
+ pixmap.<a href="qpixmap.html#fill">fill</a>( color );
+ ColorNameForm *colorForm = new ColorNameForm( this, "color", TRUE );
+ colorForm-&gt;setColors( m_colors );
+ colorForm-&gt;colorLabel-&gt;setPixmap( pixmap );
+ if ( colorForm-&gt;exec() ) {
+ <a href="qstring.html">QString</a> name = colorForm-&gt;colorLineEdit-&gt;text();
+ m_colors[name] = color;
+ <a href="qpixmap.html">QPixmap</a> pixmap( 22, 22 );
+ pixmap.<a href="qpixmap.html#fill">fill</a>( color );
+ int row = colorTable-&gt;currentRow();
+ colorTable-&gt;insertRows( row, 1 );
+ colorTable-&gt;setText( row, COL_NAME, name );
+ colorTable-&gt;setPixmap( row, COL_NAME, pixmap );
+ colorTable-&gt;setText( row, COL_HEX, color.<a href="qcolor.html#name">name</a>().upper() );
+ if ( m_show_web ) {
+ <a href="qchecktableitem.html">QCheckTableItem</a> *item = new <a href="qchecktableitem.html">QCheckTableItem</a>( colorTable, "" );
+ item-&gt;<a href="qchecktableitem.html#setChecked">setChecked</a>( isWebColor( color ) );
+ colorTable-&gt;setItem( row, COL_WEB, item );
+ }
+ colorTable-&gt;setCurrentCell( row, 0 );
+
+ (void) new <a href="qiconviewitem.html">QIconViewItem</a>( colorIconView, name,
+ colorSwatch( color ) );
+ m_changed = TRUE;
+ }
+ }
+ }
+</pre>
+ <p>The code for this function is quite long, but it isn't difficult. We start by setting a default color to white. If there are any colors in the <tt>m_colors</tt> map we set the default color to be the current color showing in the current view. We then invoke Qt's static <a href="qcolordialog.html#getColor">getColor()</a> dialog, passing it the default color. (If the user cancels an invalid color is returned.)</p>
+<p>If the user chose a color we want to show their chosen color in our custom dialog, so we create a pixmap and fill it with their chosen color. We create an instance of our ColorNameForm as a modal dialog (third argument is TRUE). We then call its <tt>setColors()</tt> function to set the colors in the <tt>m_colors</tt> map (so that the <tt>validate()</tt> function will work correctly). We set its colorLabel's pixmap to the pixmap we've just created, i.e. to a rectangle in the user's chosen color.</p>
+<p>We execute (<tt>exec()</tt>) the dialog. If the user clicks OK (and the color name they've entered is valid), the call will return a true value. In this case we retrieve the name they've entered from the line edit and create a new entry in the <tt>m_colors</tt> map using the name the user has given and the color they chose.</p>
+<p>At this point we could simply mark the views "dirty" and call repopulate. Instead we'll add the new color to each view directly and save the overhead of a full update (which might be considerable if we have thousands of colors).</p>
+<p>We create a pixmap and fill it with the new color. We then insert a new row in the table and set the columns to the new color's values, in the same way as we've already seen in the <tt>populate()</tt> function. Similarly we create a new icon for the icon view. Finally we mark the data as changed so that the user will be prompted to save if they attempt to exit or load another color file before they've saved this one.</p>
+<p>Try building and running the application. You should now be able to add your own colors. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<p>The application is essentially complete. We can load and save color files, we can show them in the table or icon view and users can add and delete colors. But if the user has a color file with hundreds or thousands of colors, scrolling to look for a particular color would be tedious. Also whenever the user runs the application it starts up with the default window size, view and other settings; it would be much nicer if we remembered how the user left the application and reinstated their choices. In the following two sections we'll address both these issues through the creation of a modeless find dialog and a modal options dialog.</p>
+<h3><a name="2"></a>Finding Colors</h3>
+<p>The approach to this option is similar to adding colors. We'll design a dialog, make its connections, write its code, then code the slot that invokes it. (We already have the connection set up in the main form; it was created automatically by the main window wizard.)</p>
+<p align="center"><img align="middle" src="dialog2sample.png" width="320" height="122">
+</p>
+<h4><a name="2-1"></a>Creating the Dialog</h4>
+<p>Click <b>File|New</b> to invoke the <em>New File</em> dialog, then click "Dialog", then click <b>OK</b>. Drag a corner of the form to make it smaller. Use the <a href="designer-manual-3.html#using-the-property-editor-sidebar">Property Editor</a> to change the form's <em>name</em> property to "FindForm", and its <em>caption</em> property to "Color Tool -- Find Color".</p>
+<p>Press <b>Ctrl+S</b> (or click <b>File|Save</b>) to save the form, then click <b>Save</b>.</p>
+<h5><a name="2-1-1"></a>Adding the Widgets</h5>
+<p>Click the TextLabel tool in the Toolbox, then click on the form on the left hand side. Change the <em>text</em> property to "&amp;Look for". (The ampersand will show on the form because we haven't yet provided a focus widget "buddy" for the <b>Alt+L</b> keyboard shortcut; we'll do that in a moment.)</p>
+<p>Click the LineEdit tool, then click on the form to the right of the "Look for" label. Change its <em>name</em> property to "findLineEdit". Click on the "Look for" label and change its <em>buddy</em> property to "findLineEdit".</p>
+<p>Click the PushButton tool and click on the form below the left-end of the line edit. Change the <em>name</em> property to "findPushButton", its <em>text</em> property to "&amp;Find" and its <em>default</em> property to True.</p>
+<p>Click the PushButton tool again and click on the form to the right of the "Find" button. Change the <em>name</em> property to "closePushButton" and the <em>text</em> property to "Close".</p>
+<p>We know from experience with the previous form that we'll need a spacer above the buttons and to the left of the buttons. Click on the Spacer tool, then click to the left of the "Find" button; drag horizontally to the right a little, then release. Click on the Spacer tool again, then click above the "Find" button; drag vertically a little, then release.</p>
+<p align="center"><img align="middle" src="dialog2setwidg.png" width="467" height="207">
+</p>
+<h5><a name="2-1-2"></a>Laying Out the Widgets</h5>
+<p>Now that we've created and roughly placed the widgets we need we are ready to lay them out.</p>
+<p>Click the form to deselect any selected widgets. Click to the right and below the "Close" button and drag the rubber band rectangle so that it <em>touches</em> both buttons and the spacer to the <em>left</em> of the "Find" button; then release. There's no need to be too precise, so long as you touch the three items we're interested in and nothing else. If you make a mistake and haven't selected everything or have selected something else, just click the form and try again. Once the Spacer (to the left of the "Find" button) and both buttons are selected, click the <b>Lay Out Horizontally</b> toolbar button.</p>
+<p>Lay out the "Look for" label and the line edit horizontally. (Click the "Look for" label, then <b>Shift+Click</b> the line edit, the press <b>Ctrl+H</b>.)</p>
+<p>We can now lay out the form itself. Click the form, then press <b>Ctrl+L</b> (lay out vertically). You may want to resize the form slightly, perhaps to make it smaller. Try previewing the form (<b>Ctrl+T</b>) and resizing it to see how everything resizes nicely.</p>
+<p align="center"><img align="middle" src="dialog2laywidg.png" width="343" height="165">
+</p>
+<h5><a name="2-1-3"></a>Connecting the Widgets</h5>
+<p>There are two approaches we can take for a find dialog. One approach is to use a modal dialog: the user enters a term, clicks "Find" and we then close the form with the found item highlighted. The other approach is to use a modeless dialog: the user can enter the term and click "Find" as often as they like; each time they click the next matching term is found. We are going to use the second approach.</p>
+<p>Since the searching takes place through the data held by the main form, and since we want any found term to be highlighted by the main form, we'll put most of the code for the search in the main form. To achieve this we'll have the FindForm emit a signal whenever the user clicks the "Find" button, and we'll provide a slot that the main form can call to notify the FindForm that no matching color was found.</p>
+<p>Invoke the <em>View and Edit Connections</em> dialog. (Click <b>Edit|Connections</b>.)</p>
+<p>Connect the closePushButton's <tt>clicked()</tt> signal to the form's <tt>accept()</tt> slot. (Click <b>New</b>, then change the Sender to "closePushButton", change the Signal to "clicked()", change the form to "FindForm" and change the slot to "accept()".) Since this functionality is achieved purely through signal and slot connections it will work in preview mode, i.e. if you preview and click the "Close" button, the form will close.</p>
+<p>Connect the findPushButton's <tt>clicked()</tt> signal to a newly created "find()" slot. (Click <b>New</b>, then change the Sender to "findPushButton", change the Signal to "clicked()", change the form to "FindForm". Click <b>Edit Slots</b> to invoke the <em>Edit Functions</em> dialog; change the slot's name to "find()", then click <b>OK</b>. Back in the <em>View and Edit Connections</em> dialog, change the slot to the newly created "find()" slot.)</p>
+<p>Close the <em>View and Edit Connections</em> dialog. (Click <b>OK</b>.)</p>
+<p>When the user clicks the "Find" button we want to emit a signal so that the main form can look for the text.</p>
+<p>Click Object Explorer's Members tab, then right click Signals and click <b>New</b>. Enter "lookfor(const QString&amp;)". We'll emit this signal when we implement the code for the <tt>find()</tt> slot.</p>
+<h5><a name="2-1-4"></a>Coding the Dialog</h5>
+<p>Click "findform.ui.h" in the Project Overview to invoke the code editor. We'll implement the <tt>find()</tt> function and also a "notfound" function that the caller can use to signify that the search failed.</p>
+<pre> void FindForm::find()
+ {
+ emit lookfor( findLineEdit-&gt;text() );
+ }
+</pre>
+ <p>When the user clicks the "Find" button we emit the text that's in the line edit. It is up to the caller to connect to this signal and perform the search.</p>
+<pre> void FindForm::notfound()
+ {
+ findLineEdit-&gt;selectAll();
+ }
+</pre>
+ <p>If the term isn't found all we'll do is highlight the text. An alternative would be to popup a message box.</p>
+<p>The dialog's code is simple because we're pushing all the work onto the main form.</p>
+<h4><a name="2-2"></a>Using the Dialog</h4>
+<p>When the user clicks <b>Edit|Find</b> in the application we want to invoke the FindForm dialog. And whenever they click the <b>Find</b> button we want to look for the text they've entered in the current view, starting at the color after the color they're on. We will create just one instance of the FindForm and keep a pointer to it so that we can show and hide it as necessary.</p>
+<p>We need to include the FindForm, and we also need to declare the "findForm" variable we put (commented out) in the <tt>init()</tt> function.</p>
+<p>Click on "mainform.ui.h" in the Project Overview. This will invoke the code editor and set Object Explorer to show objects in the MainForm.</p>
+<p>Add "findform.h" to "Includes (in Declaration)". (Click Object Explorer's Members tab, right click "Includes (in Declaration)", click <b>New</b>, enter "findform.h", then press <b>Enter</b>.)</p>
+<p>You should now have added the following declaration to your includes (in declaration):</p>
+<ul><li><p>"findform.h"</p>
+</ul><p>In the class variables add "FindForm *findForm;". (Right click "Class Variables", click <b>Edit</b> and then click <b>Add</b>. Enter "FindForm *findForm;", then press <b>OK</b>.)</p>
+<p>You should now have added the following variable to your class variables:</p>
+<ul><li><p>FindForm *findform;</p>
+</ul><p>Uncomment the line <tt>findForm = 0;</tt> in the <tt>init()</tt> function.</p>
+<p>We can now implement the <tt>editFind()</tt> slot.</p>
+<h5><a name="2-2-1"></a>editFind()</h5>
+<pre> void MainForm::editFind()
+ {
+ if ( ! findForm ) {
+ findForm = new FindForm( this );
+ <a href="qobject.html#connect">connect</a>( findForm, SIGNAL( lookfor(const <a href="qstring.html">QString</a>&amp;) ),
+ this, SLOT( lookfor(const <a href="qstring.html">QString</a>&amp;) ) );
+ }
+ findForm-&gt;show();
+ }
+</pre>
+ <p>If we haven't created the FindForm, we create it and connect its <tt>lookfor()</tt> signal to a corresponding <tt>lookfor()</tt> slot that we'll create in the main form. We then show the FindForm so that the user can enter their search text and click find.</p>
+<h5><a name="2-2-2"></a>lookfor()</h5>
+<pre> void MainForm::lookfor( const <a href="qstring.html">QString</a>&amp; text )
+ {
+ if ( text.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ return;
+ <a href="qstring.html">QString</a> ltext = text.<a href="qstring.html#lower">lower</a>();
+ <a href="qwidget.html">QWidget</a> *visible = colorWidgetStack-&gt;visibleWidget();
+ bool found = FALSE;
+
+ if ( <a href="qwidget.html#visible-prop">visible</a> == tablePage &amp;&amp; colorTable-&gt;numRows() ) {
+ int row = colorTable-&gt;currentRow();
+ for ( int i = row + 1; i &lt; colorTable-&gt;numRows(); ++i )
+ if ( colorTable-&gt;text( i, 0 ).lower().contains( ltext ) ) {
+ colorTable-&gt;setCurrentCell( i, 0 );
+ colorTable-&gt;clearSelection();
+ colorTable-&gt;selectRow( i );
+ found = TRUE;
+ break;
+ }
+ if ( ! found )
+ colorTable-&gt;setCurrentCell( row, 0 );
+
+ }
+ else if ( <a href="qwidget.html#visible-prop">visible</a> == iconsPage ) {
+ <a href="qiconviewitem.html">QIconViewItem</a> *start = colorIconView-&gt;currentItem();
+ for ( <a href="qiconviewitem.html">QIconViewItem</a> *item = start-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>(); item; item = item-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>() )
+ if ( item-&gt;<a href="qtableitem.html#text">text</a>().lower().contains( ltext ) ) {
+ colorIconView-&gt;setCurrentItem( item );
+ colorIconView-&gt;ensureItemVisible( item );
+ found = TRUE;
+ break;
+ }
+ if ( ! found &amp;&amp; start )
+ colorIconView-&gt;setCurrentItem( start );
+ }
+ if ( ! found ) {
+ statusBar()-&gt;message( QString( "Could not find '%1' after here" ).
+ arg( text ) );
+ findForm-&gt;notfound();
+ }
+ }
+</pre>
+ <p>This slot is invoked when the user clicks the "Find" button in the FindForm. The text the user entered in the FindForm's line edit is passed in as the <tt>text</tt> parameter. If there is no text we simply return.</p>
+<p>We take a lower case copy of the text because we want to do a case-insensitive search. We find out which view the user is using (so that we can look in the right one), and set a flag <tt>found</tt>, that we'll use further on.</p>
+<p>If the user is using the table view we start looking from the row following the row they're on. If we get a match we select the row containing the match, set <tt>found</tt> to TRUE and stop looking. If we didn't find a match we set the current cell back to the cell we started from.</p>
+<p>If the user is using the icon view, we start looking from the item following the current item. If we find a match we select the corresponding item and ensure that it is visible. Again, if we didn't find a match we set the current item to be the item we started looking from.</p>
+<p>If we found the text, the relevant item is highlighted (because we have selected it) in the user's view. If we didn't find the text we issue a message on the status bar and call the FindForm's <tt>notfound()</tt> function (which simply selects the search text).</p>
+<p>Functions that are typed directly into the code editor become public functions (unless their return value is <tt>void</tt> in which case they become public slots). These can be changed later by editing the function's properties. We need <tt>lookfor()</tt> to be a slot because we connect to it. Click Object Explorer's Members tab, then right click <tt>lookfor()</tt>, then click <b>Properties</b>. This invokes the <em>Edit Functions</em> dialog. Change the Type to "slot", then click <b>OK</b>.</p>
+<p>Save the application (<b>Ctrl+S</b>), then build it and try out some searches. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<h3><a name="3"></a>User Options</h3>
+<p>We want to give the user the choice of whether or not to indicate web colors in the table view, and what they want to copy to the clipboard when the click <b>Ctrl+C</b> to copy a color. We'll also automatically save and restore their view, window size and position.</p>
+<p align="center"><img align="middle" src="dialog3sample.png" width="328" height="315">
+</p>
+<h4><a name="3-1"></a>Creating the Dialog</h4>
+<p>Create a new dialog. (Click <b>File|New</b> to invoke the <em>New File</em> dialog, then click "Dialog", then click <b>OK</b>.) Change the form's <em>name</em> property to "OptionsForm", and its <em>caption</em> property to "Color Tool -- Options". Drag a corner of the form to make it a bit smaller. Now save the form and accept the default name.</p>
+<p>Click the GroupBox tool (in the Containers toolbox) and click towards the top left of the form. Roughly drag the group box to make it wider. Change its <em>title</em> property to "Table View".</p>
+<p>Click the CheckBox tool (in the Common Widgets toolbox), and click <em>inside</em> the group box. Change the checkbox's <em>name</em> to "webCheckBox", its <em>text</em> property to "Indicate &amp;Web Colors" and its <em>checked</em> property to True.</p>
+<p>Up to now we've always placed all our widgets and then laid them out at the end. But we can lay out widgets as we go along if we prefer. Click the group box, then press <b>Ctrl+H</b> (lay out horizontally).</p>
+<p align="center"><img align="middle" src="dialog3grpbox.png" width="472" height="371">
+</p>
+<p>Click the ButtonGroup tool and click below the table view group box. Change this group's <em>title</em> property to "Copy to Clipboard As" and drag a corner to make it larger.</p>
+<p>We want to add three radio buttons to the clipboard group. When there are a lot of identical widgets to add we can use <em>Qt Designer</em>'s multiple placement mode to work more quickly.</p>
+<p><em>Double</em> click the RadioButton tool to enter multiple placement mode. Now every click on the form will create a radio button. Click inside, and towards the top of, the clipboard group box. Click below the first radio button. Click for a third time, below the second radio button. Now click the Pointer toolbar button to cancel multiple placement mode.</p>
+<p align="center"><img align="middle" src="dialog3clipgrp.png" width="473" height="370">
+</p>
+<p>Click the first (top-most) radio button. Change its <em>name</em> property to "hexRadioButton", its <em>text</em> property to "&amp;Hex, e.g. #AB52F7", and its <em>checked</em> property to True.</p>
+<p>Click the second (middle) radio button. Change its <em>name</em> property to "nameRadioButton" and its text to "&amp;Name, e.g. light blue".</p>
+<p>Click the third (bottom) radio button. Change its <em>name</em> property to "rgbRadioButton" and its text to "&amp;RGB, e.g. 51,255,102".</p>
+<p>Click the clipboard group to select it, then click <b>Ctrl+L</b> (lay out vertically).</p>
+<p align="center"><img align="middle" src="dialog3layclip.png" width="474" height="371">
+</p>
+<p>Now create an OK button and a Cancel button. (Click the PushButton tool, then click the form below the clipboard group. Change the button's name to "okPushButton", its text to "OK" and its <em>default</em> property to True. Click the PushButton tool again, then click to the right of the OK button. Change this button's name to "cancelPushButton" and its text to "Cancel")</p>
+<p>To lay out the buttons add a horizontal Spacer to the left of the OK button, then lay out the Spacer and the buttons horizontally. (Click the Spacer tool, then click the form to the left of the OK button; drag horizontally to the left a little then release. <b>Shift+Click</b> the OK button, then <b>Shift+Click</b> the Cancel button. Press <b>Ctrl+H</b>.)</p>
+<p align="center"><img align="middle" src="dialog3buttons.png" width="474" height="369">
+</p>
+<p>Lay out the form. (Click the form, then press <b>Ctrl+L</b> -- lay out vertically.) Resize the form until it is a pleasing size and shape.</p>
+<p align="center"><img align="middle" src="dialog3layout.png" width="302" height="276">
+</p>
+<h5><a name="3-1-1"></a>Connecting the Widgets</h5>
+<p>The options dialog is a traditional dialog: the caller will create it, set its widgets and if the user clicks <b>OK</b>, the caller will read the data from the form's widgets and act accordingly. All we need to do is connect up the OK and Cancel buttons; there's no code to write at all.</p>
+<p>Connect the OK button to the form's <tt>accept()</tt> slot and the Cancel button to the form's <tt>reject()</tt> slot. (Click <b>Edit|Connections</b>, then click <b>New</b>. Change the Sender to "okPushButton", the signal to "clicked()", the Receiver to "OptionsForm" and the slot to "accept()". Click <b>New</b> again. Change the Sender to "cancelPushButton", the signal to "clicked()", the Receiver to "OptionsForm" and the slot to "reject()". Click <b>OK</b> to close the connections dialog.)</p>
+<h4><a name="3-2"></a>Using the Dialog</h4>
+<p>Click on "mainform.ui.h" in the Project Overview to invoke the code editor and to set the MainForm as <em>Qt Designer</em>'s current form.</p>
+<p>We need to create a slot that will invoke the options form and to connect the optionsAction action to this slot.</p>
+<p>Invoke the <em>View and Edit Connections</em> dialog and create a new connection from the optionsAction to a new slot called "editOptions". (Click <b>Edit|Connections</b>, then click <b>New</b>. Change the Sender to "optionsAction", the Signal to "activated()" and the Receiver to "MainForm". Click the <b>Edit Slots</b> button to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b> and change the slot's name to "editOptions()", then click <b>OK</b>. Make the Slot function the newly created "editOptions()" slot. Click <b>OK</b>.)</p>
+<p>Now we're ready to code the slot.</p>
+<h5><a name="3-2-1"></a>editOptions()</h5>
+<pre> void MainForm::editOptions()
+ {
+ OptionsForm *options = new OptionsForm( this, "options", TRUE );
+ switch ( m_clip_as ) {
+ case CLIP_AS_HEX:
+ options-&gt;hexRadioButton-&gt;setChecked( TRUE );
+ break;
+ case CLIP_AS_NAME:
+ options-&gt;nameRadioButton-&gt;setChecked( TRUE );
+ break;
+ case CLIP_AS_RGB:
+ options-&gt;rgbRadioButton-&gt;setChecked( TRUE );
+ break;
+ }
+ options-&gt;webCheckBox-&gt;setChecked( m_show_web );
+
+ if ( options-&gt;exec() ) {
+ if ( options-&gt;hexRadioButton-&gt;isChecked() )
+ m_clip_as = CLIP_AS_HEX;
+ else if ( options-&gt;nameRadioButton-&gt;isChecked() )
+ m_clip_as = CLIP_AS_NAME;
+ else if ( options-&gt;rgbRadioButton-&gt;isChecked() )
+ m_clip_as = CLIP_AS_RGB;
+ m_table_dirty = m_show_web !=
+ options-&gt;webCheckBox-&gt;isChecked();
+ m_show_web = options-&gt;webCheckBox-&gt;isChecked();
+
+ populate();
+ }
+ }
+</pre>
+ <p>We create a new options form, passing it TRUE to make it modal. We set the radio buttons depending on the current setting of the <tt>m_clip_as</tt> variable. We set the check box to correspond with the <tt>m_show_web</tt> variable. We execute the form, and if the user clicks <b>OK</b>, we reflect their choices back into the relevant main form variables. If the user changed the <tt>m_show_web</tt> variable (by clicking the webCheckBox), we mark the table as "dirty" since it will need updating. We then call <tt>populate()</tt> which will update the table view if required.</p>
+<p>Because we use our OptionsForm and access its radio buttons and checkbox we must add "optionsform.h", "qradiobutton.h" and "qcheckbox.h" to our includes in implementation. (Click Object Explorer's Members tab, right click "Includes (in Implementation)", then click <b>Edit</b>. Click <b>Add</b> and enter "optionsform.h"; click <b>Add</b> again and enter "qradiobutton.h"; click <b>Add</b> again and enter "qcheckbox.h". Press <b>Enter</b>, then click <b>Close</b>.)</p>
+<p>You should now have added the following declarations to your includes (in implementation):</p>
+<ul><li><p>"optionsform.h"</p>
+<li><p>"qcheckbox.h"</p>
+<li><p>"qradiobutton.h"</p>
+</ul><p>Now the user can change options to suit their own preferences. But these option settings will be lost when they exit the application. We'll finish off by adding functions to load and save the user's settings.</p>
+<h3><a name="4"></a>Saving and Loading Settings</h3>
+<p>Logically we think of loading settings first, e.g. at application start up, and of saving settings last, e.g. at application termination. But we will code saving settings first, since then we'll know what it is that we must load.</p>
+<p>Qt 3.0 introduced a new class <a href="qsettings.html">QSettings</a>, that handles user settings in a platform independent way (e.g. it uses the registry on windows and rc files on Unix). Add the "qsettings.h" header to the includes in implementation. (Click Object Explorer's Members tab, right click "Includes (in Implementation)", click <b>New</b>, enter "qsettings.h", then press <b>Enter</b>.)</p>
+<p>You should now have added the following declaration to your includes (in implementation):</p>
+<ul><li><p>"qsettings.h"</p>
+</ul><h4><a name="4-1"></a>saveSettings()</h4>
+<pre> void MainForm::saveSettings()
+ {
+ <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowWidth", width() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowHeight", height() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowX", x() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowY", y() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "ClipAs", m_clip_as );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "ShowWeb", m_show_web );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "View",
+ colorWidgetStack-&gt;visibleWidget() == tablePage );
+ }
+</pre>
+ <p>The <tt>insertSearchPath()</tt> call should be made on all platforms (it simply returns if called on a platform where it doesn't apply). We save the main form's window dimensions, plus the user's preferences for the clipboard and web color indicator. We also record the user's view. We'll call this function when the user exits the application, so now we'll produce our third and final version of the <tt>fileExit()</tt> function.</p>
+<h5><a name="4-1-1"></a>fileExit()</h5>
+<pre> void MainForm::fileExit()
+ {
+ if ( okToClear() ) {
+ saveSettings();
+ QApplication::<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+ }
+</pre>
+ <p>If the exit takes place we automatically save the user's settings.</p>
+<h4><a name="4-2"></a>loadSettings()</h4>
+<pre> void MainForm::loadSettings()
+ {
+ <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ int windowWidth = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowWidth", 550 );
+ int windowHeight = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowHeight", 500 );
+ int windowX = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowX", 0 );
+ int windowY = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowY", 0 );
+ m_clip_as = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "ClipAs", CLIP_AS_HEX );
+ m_show_web = settings.<a href="qsettings.html#readBoolEntry">readBoolEntry</a>( APP_KEY + "ShowWeb", TRUE );
+ if ( ! settings.<a href="qsettings.html#readBoolEntry">readBoolEntry</a>( APP_KEY + "View", TRUE ) ) {
+ colorWidgetStack-&gt;raiseWidget( iconsPage );
+ viewIconsAction-&gt;setOn( TRUE );
+ }
+</pre>
+ <p>We read in the settings using default values if there are not settings (i.e. if the settings were deleted or if this is the first time the user has run the application). Again, the <tt>insertSearchPath()</tt> call should be made on all platforms.</p>
+<p>In response to the settings we switch to the view the user was looking at when they last exited the program. We also resize and move the main window to the size and position it was last used in.</p>
+<p>Uncomment the "loadSettings();" line in the <tt>init()</tt> function.</p>
+<p>Build the application and run it. Change to the icon view and change one or two of the options in the options dialog. Move the window and resize it. Exit the application and restart it; your view, window size and position and your options are all restored. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
+<h3><a name="5"></a>Wrapping Up</h3>
+<p>The <tt>colortool</tt> application is now complete. There are many possible extensions to its functionality that you might like to try, for example:</p>
+<ul><li><p>Adding additional columns to the table view to show RGB values (0..255), scaled RGB values (0.00..1.00), HSV values, etc.</p>
+<li><p>Providing a case sensitive checkbox in the Find dialog and updating the code to make use of it.</p>
+<li><p>Creating your own color selection dialog that provides the same functionality as the built-in color selection dialog, but which also allows the user to name the color.</p>
+</ul><p><em>Qt Designer</em>'s primary benefit is that it makes designing (and redesigning) forms both fast and easy. Laying out widgets is a simple two step process: select two or more widgets or layouts, then apply a layout (vertical, horizontal or grid) to them. If a layout doesn't look right, simply press <b>Ctrl+Z</b> to undo immeditately, or click the layout and press <b>Ctrl+B</b> (break layout) later. <em>Qt Designer</em> fully supports unlimited undo and redo, so it is easy and safe to experiment. (If you're interested in how <em>Qt Designer</em>'s layouts translate into code, look at the <tt>.cpp</tt> files that are generated when you build the application.)</p>
+<p>The rest of this part of the manual covers more advanced features and the second part is a reference section covering all <em>Qt Designer</em>'s dialogs, menu options and toolbar buttons. We recommend that you spend some time experiementing with <em>Qt Designer</em>'s layouts. Try for example, to reproduce a form that has the look and resizing characteristics of the multiclip example (in <tt>qt/tools/designer/examples/multiclip</tt>).</p>
+<h3><a name="6"></a>Troubleshooting</h3>
+<p>The most likely source of error is if you missed out or misspelled an include file, a forward declaration or a variable. Check them against the following lists and insert or correct them as appropriate. (In all cases look at <em>Object Explorer</em>'s Members tab; if you need to edit, right click the relevant section, then click Edit to invoke the relevant dialog.)</p>
+<h4><a name="6-1"></a>The MainForm Members</h4>
+<p>Class Variables:</p>
+<ul><li><p>FindForm *findForm;</p>
+<li><p>QClipboard *clipboard;</p>
+<li><p>QMap&lt;QString,QColor&gt; m_colors;</p>
+<li><p>bool m_show_web;</p>
+<li><p>int m_clip_as;</p>
+<li><p>bool m_icons_dirty;</p>
+<li><p>bool m_table_dirty;</p>
+<li><p>bool m_changed;</p>
+<li><p>QString m_filename;</p>
+<li><p>QStringList m_comments;</p>
+</ul><p>Forward Declarations:</p>
+<ul><li><p>class QColor;</p>
+<li><p>class QString;</p>
+</ul><p>Includes (in Declaration):</p>
+<ul><li><p>"findform.h"</p>
+</ul><p>Includes (in Implementation):</p>
+<ul><li><p>"optionsform.h"</p>
+<li><p>"qlineedit.h"</p>
+<li><p>"qlabel.h"</p>
+<li><p>"qclipboard.h"</p>
+<li><p>"qmessagebox.h"</p>
+<li><p>"qstatusbar.h"</p>
+<li><p>"qpainter.h"</p>
+<li><p>"qstring.h"</p>
+<li><p>"qcolor.h"</p>
+<li><p>"qapplication.h"</p>
+<li><p>"qfiledialog.h"</p>
+<li><p>"qfile.h"</p>
+<li><p>"qregexp.h"</p>
+<li><p>"qcolordialog.h"</p>
+<li><p>"colornameform.h"</p>
+<li><p>"qcheckbox.h"</p>
+<li><p>"qradiobutton.h"</p>
+<li><p>"qsettings.h"</p>
+</ul><h4><a name="6-2"></a>ColorNameForm Members</h4>
+<p>We put all the ColorNameForm declarations in the source code file. The file <tt>colornameform.ui.h</tt> should begin with the following declarations:</p>
+<pre> #include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+ #include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+ QMap&lt;QString,QColor&gt; m_colors;
+</pre>
+<h4><a name="6-3"></a> FindForm Members</h4>
+<p>Signals:</p>
+<ul><li><p>lookfor(const QString&amp;)</p>
+</ul><h4><a name="6-4"></a>OptionsForm Members</h4>
+<p>The OptionsForm has no members.</p>
+<h4><a name="6-5"></a>main.cpp Members</h4>
+<p>This file should begin with the following declarations:</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "mainform.h"
+</pre>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-3.html">Prev: Creating a Main Window Application</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-5.html">Next: The Designer Approach</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-5.html b/doc/html/designer-manual-5.html
new file mode 100644
index 0000000..7f7592e
--- /dev/null
+++ b/doc/html/designer-manual-5.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-philosophy.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> The Designer Approach</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-4.html">Prev: Creating Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-6.html">Next: Subclassing and Dynamic Dialogs</a>]</p>
+<h2 align="center"> The Designer Approach</h2>
+<a name="the-designer-approach"></a><h3><a name="1"></a>Introduction</h3>
+<p>In Qt 2.x, <em>Qt Designer</em> was a visual form designer for editing files in the <tt>.ui</tt> file format. <em>Qt Designer</em>'s primary goal was to turn the most tedious part of GUI programming -- dialog design -- into a pleasant experience. From an architectural point of view, <em>Qt Designer</em> in 2.x is a fairly simple program. It reads and writes <tt>.ui</tt> files. Each <tt>.ui</tt> file contains an XML description of a single dialog form. A second utility -- the user interface compiler <tt>uic</tt> -- is used during the build process of an application to generate C++ code from those XML descriptions.</p>
+<p>For Qt 3.0 our ambitions for <em>Qt Designer</em> have grown beyond single dialog editing. In addition to many new design features like the ability to creating main windows and actions, the new version introduces:</p>
+<ul><li><p><em>project management</em> for the user interface part of your application;</p>
+<li><p><em>code in forms</em> <em>Qt Designer</em> provides a code editor so that you can code your slots directly; the code is stored in <tt>.ui.h</tt> files and eliminates the need for sub-classing (although you can still subclass if you prefer);</p>
+<li><p><em>dynamic form loading</em> allows you to load <tt>.ui</tt> files at runtime which provides great scope for design customization separate from the underlying code.</p>
+</ul><p>The purpose of this chapter is to explain the motivation for making these changes, describe the new concepts involved and show how these features work internally.</p>
+<p><em>Qt Designer</em> is and remains a visual design tool: it is not a complete integrated development environment. Our policy is to make GUI development as easy and powerful as possible without locking our users into any particular tool: <em>Qt Designer</em> makes it easy to create and modify GUI designs, but you can still achieve the same results directly in code using a plain text editor if you prefer.</p>
+<p>To make working more convenient, <em>Qt Designer</em> now includes a C++ editor (as a plugin). If you want to create or edit a form, use <em>Qt Designer</em>. If you want edit code for that form, you can use the C++ editor in <em>Qt Designer</em> as well. This built-in editor has certain benefits stemming from its tight integration with the visual form design process that we will explain later. However, if you prefer using the editor you're used to, <tt>vim</tt>, <tt>emacs</tt>, <tt>notepad</tt>, Microsoft Visual Studio, etc. you can still do so.</p>
+<h3><a name="2"></a>Project management</h3>
+<p>Reading and writing single, non-connected <tt>.ui</tt> files is conceptually simple and worked fairly well in Qt 2.x. However, it lacked certain features that made us introduce project management for the GUI part of an application in <em>Qt Designer</em>. The main benefits of project management are:</p>
+<ul><li><p>Grouping forms that belong together.</p>
+<li><p>Sharing images between different forms.</p>
+<li><p>Sharing database information between different forms.</p>
+</ul><p>The following sections explain these benefits in more detail, and why project management is required to achieve them.</p>
+<h4><a name="2-1"></a>Grouping forms</h4>
+<p>Grouping forms means that <em>Qt Designer</em> maintains a list of the <tt>.ui</tt> files that belong to the same project. This makes it easy to switch between forms with a single mouse click.</p>
+<h4><a name="2-2"></a>Sharing images in a image collection</h4>
+<p>In Qt 2.x's <em>Qt Designer</em> each form included the images it required and no images were shared. This led to duplication when several forms needed to use the same images. Furthermore the images were stored in the XML <tt>.ui</tt> files which made them large.</p>
+<p>As a workaround, we introduced a pixmap-loading function that you could define in <em>Qt Designer</em>. It then was your responsibility to provide the implementation of this function in your application code. The big disadvantage of this approach was that you couldn't see the images during the design process in <em>Qt Designer</em>. This not only makes designing a form less visually interesting, but also has a noticeable impact on geometry management.</p>
+<p>In the Qt 3.0 version of <em>Qt Designer</em> we've introduced the concept of a project image collection. If you use a project you can add images to the project's image collection, and these images can be shared and used by any of the forms you include in the project. The images are stored as PNGs (portable network graphics) in a subdirectory, <tt>images/</tt>, inside the project's directory. Whenever you modify the image collection, <em>Qt Designer</em> creates a source file which contains both the image data in binary format and a function to instantiate the images. The images are accessible by all forms in the project and the data is shared.</p>
+<p>A further benefit of using an image collection is that the images are added to the default QMimeSourceFactory. This way they are accessible from rich-text labels, What's This? context help and even tooltips through standard HTML image tags. The <em>source</em> argument of the image tag is simply the image's name in the image collection. This also works during the design process in <em>Qt Designer</em>.</p>
+<h4><a name="2-3"></a>Sharing database settings</h4>
+<p>Qt 3.0 introduces a brand new database module, the Qt SQL module. <em>Qt Designer</em> is fully integrated with the SQL module and can show live data from the databases that you connect to.</p>
+<p>When you've opened or created a project you can set up its database connections using the <em>Edit Database Connections</em> dialog (invoked by the <b>Project|Database Connections</b> menu option). The connections you make are stored in a <tt>.db</tt> file. When you reload a project you can reconnect by going to the <em>Edit Database Connections</em> dialog, clicking a connection in the list and clicking the <b>Connect</b> button.</p>
+<p>In most non-trivial database applications you will want to access the database from more than one form. This is why the <tt>.db</tt> file is part of a project, not just part of a single form.</p>
+<h4><a name="2-4"></a>.pro files</h4>
+<p><em>Qt Designer</em> needs to store information on projects, for example, the list of forms, the image collection and information about available databases and how to access them. The majority of Qt users already use a project file format to create multiplatform makefiles: <tt>tmake</tt> (and with Qt 3.0 <tt>qmake</tt>) project <tt>.pro</tt> files. These files already contain the list of forms, <tt>.ui</tt> files, used in the project for <tt>uic</tt>.</p>
+<p>We've extended the sections in the <tt>.pro</tt> file to include the extra information that <em>Qt Designer</em> needs to manage projects. For example, when you add a form to your project in <em>Qt Designer</em>, it is automatically added to the FORMS section of the project file, and thus <tt>qmake</tt> will generate the required build rules without any further work. Similarly, the images are added to the IMAGES section and thus gets automatically compiled into your executable.</p>
+<p>We don't force you to use <tt>qmake</tt>; if you prefer another build system, for example automake/autoconf or jam, you can still continue to use it. Look upon the <tt>.pro</tt> file as a file that describes the GUI part of your application. All you need to do -- as previously -- is add the <tt>.ui</tt> files and the images collection to your own Makefiles.</p>
+<h3><a name="3"></a>Extending the functionality of a form</h3>
+<p>First let us look at a small figure that shows the relationship between <tt>.ui</tt> files, generated code and application code:</p>
+<p align="center"><img align="middle" src="designer1.jpg">
+</p>
+<p><em>Qt Designer</em> reads and writes <tt>.ui</tt> files, e.g. <tt>form.ui</tt>. The user interface compiler, <tt>uic</tt>, creates both a header file, e.g. <tt>form.h</tt>, and an implementation file, e.g. <tt>form.cpp</tt>, from the <tt>.ui</tt> file. The application code in <tt>main.cpp</tt> <tt>#include</tt>s <tt>form.h</tt>. Typically <tt>main.cpp</tt> is used to instantiate the QApplication object and start off the event loop.</p>
+<p>While this approach is simple, it isn't sufficient for more complex dialogs. Complex dialogs tend to have quite a lot of logic attached to the form's widgets, more logic than can usually be expressed with predefined signals and slots. One way of handling this extra logic is to write a controller class in the application code that adds functionality to the form. This is possible because <tt>uic</tt> generated classes expose a form's controls and their signals to the public space. The big disadvantage of this method is that it's not exactly Qt-style. If you were not using <em>Qt Designer</em>, you would almost always add the logic to the form itself, where it belongs.</p>
+<p>This is why the capability of adding custom slots and member variables to a form was added to <em>Qt Designer</em> early on. The big additional benefit with this approach is that you can use <em>Qt Designer</em> to connect signals to those custom slots, in the same elegant graphical way that is used to connect signals to predefined slots. The <tt>uic</tt> then adds an empty stub for each custom slot to the generated <tt>form.cpp</tt> implementation file.</p>
+<p>The big question now is how to add custom implementation code to those custom slots. Adding code to the generated <tt>form.cpp</tt> is not an option, as this file gets recreated by the <tt>uic</tt> whenever the form changes -- and we don't want a combination of generated and handwritten code. There are two possible solutions, which we'll cover next.</p>
+<h4><a name="3-1"></a>The subclassing approach</h4>
+<p>A very clean way to implement custom slots for generated forms is via C++ inheritance as shown in the next figure:</p>
+<p align="center"><img align="middle" src="designer2.jpg">
+</p>
+<p>Here the user wrote an additional class <b>FormImpl</b>, which is split into the header file <tt>formimpl.h</tt> and the implementation file <tt>formimpl.cpp</tt>. The header file includes the <tt>uic</tt> generated <tt>form.h</tt> and reimplements all the custom slots. This is possible because <tt>uic</tt> generated custom slots are virtual. In addition to implementing custom slots, this approach gives the user a way to do extra initialization work in the constructor of the subclass, and extra cleanups in the destructor.</p>
+<p>Because of these benefits and its flexibility, this approach became the primary way of using <em>Qt Designer</em> in Qt 2.x.</p>
+<p><b>Note:</b> To keep the namespace clean, most users did not follow the Form and FormImpl naming scheme shown in the figure, but instead named their <em>Qt Designer</em> forms FormBase and their subclasses Form. This made a lot of sense, because they always subclassed and were using those subclasses in application code.</p>
+<h4><a name="3-2"></a>The ui.h extension approach</h4>
+<p>Despite its flexibility and cleanness, the subclassing approach has some disadvantages:</p>
+<ul><li><p>Subclassing is not natural and easy for everybody. Newcomers to object-oriented techniques may feel uneasy about being <em>forced</em> to subclass for such a simple and natural thing like the implementation of a custom slot.</p>
+<li><p>Inheriting generated classes is an additional possible source of programming mistakes, especially if the number of reimplemented functions is high and the signatures change often during the design process. To make the development process smoother, <tt>uic</tt> generates empty stubs for custom slots rather than pure virtual functions. While this approach keeps the code compiling and running, programmers can find themselves in a situation where they miss a runtime warning message and lose time before they find a small spelling error in their subclass.</p>
+<li><p>In larger projects with hundreds of forms, the additional subclasses can make a noticeable difference in terms of compilation speed and code size.</p>
+</ul><p>There may be more disadvantages, but these were reason enough for us to investigate alternative solutions. For Qt 3.0, we came up with a new concept, the <em>ui.h extension</em>.</p>
+<p>This is how it works:</p>
+<p align="center"><img align="middle" src="designer3.jpg">
+</p>
+<p>In addition to the <tt>.ui</tt> file, <tt>form.ui</tt>, <em>Qt Designer</em> reads and writes another associated file <tt>form.ui.h</tt>. This <tt>.ui.h</tt> file is an <em>ordinary C++ source file</em> that contains <em>implementations</em> of custom slots. The file gets included from the generated form implementation file <tt>form.cpp</tt> and thus can be totally ignored by other user code. The reason we use a <tt>.h</tt> extension for the <tt>.ui.h</tt> file even though it contains C++ code is because it is always <em>included</em>, and because it is easier to integrate into the build process with a <tt>.h</tt> extension.</p>
+<p>The <tt>form.ui.h</tt> file has a special position among all other files. It is a <em>shared</em> source file that gets written and read by both the user and <em>Qt Designer</em>. As such it is an ordinary revision controlled source file and not generated by <tt>uic</tt>. <em>Qt Designer</em>'s responsibility is to keep the file in sync with the custom slot definitions of the associated form:</p>
+<ol type=1><li><p>Whenever the users adds a new slots to the form, <em>Qt Designer</em> adds a stub to the <tt>.ui.h</tt> file.</p>
+<li><p>Whenever the user changes a custom slot's signature, <em>Qt Designer</em> updates the corresponding implementation.</p>
+<li><p>Whenever the user removes a custom slot, <em>Qt Designer</em> removes it from the <tt>.ui.h</tt> file.</p>
+</ol><p>This way integrity is guaranteed, there is no more need for subclassing and no more danger of forgotten or misspelled slots in subclasses.</p>
+<p>You can edit <tt>.ui.h</tt> files either directly in <em>Qt Designer</em> with the built-in C++ editor plugin, or with whatever editor you prefer. You should only put slot implementations in the <tt>.ui.h</tt> file and you should <em>always</em> add, delete or rename slots <em>within</em> <em>Qt Designer</em>. You can edit the implementations of the slots either within <em>Qt Designer</em> or using your own editor; if you use your own editor <em>Qt Designer</em> will keep your changes.</p>
+<h5><a name="3-2-1"></a>Construction and destruction</h5>
+<p>The <tt>ui.h</tt> extension approach has one disadvantage compared to subclassing. The <tt>ui.h</tt> file only contains custom slot implementations, but the objects are still entirely constructed and destructed inside the generated <tt>form.cpp</tt> code. This leaves the user without the possibility of doing further form initializations or cleanups that you normally would do within the constructor and destructor functions of a C++ class.</p>
+<p>To work around this limitation, we created the init/destroy convention. If you add a slot <tt>Form::init()</tt> to your form, this slot will be called automatically at the end of the generated form constructor. Similarly, if you add a slot <tt>Form::destroy()</tt> to your form, the slot will automatically be invoked by the destructor before any form controls get deleted. (These slots should return void.) If you prefer to use your own editor you must still create these functions in <em>Qt Designer</em>; once created you can then write your implementation code either using <em>Qt Designer</em>'s C++ editor plugin or using your own editor.</p>
+<h3><a name="4"></a>Loading forms dynamically</h3>
+<p>We extracted the part of <em>Qt Designer</em> that is responsible for loading and previewing a form into a library of its own, <tt>libqui</tt>. A new class <a href="qwidgetfactory.html">QWidgetFactory</a> makes it possible to load <tt>.ui</tt> files at runtime and instantiate forms from them.</p>
+<p>This dynamic approach keeps the GUI design and the code separate and is useful in environments where the GUI may have to change more often than the underlying application logic. Ultimately, you can provide users of your application the ability to modify the graphical user interface without the need for a complete C++ development environment.</p>
+<p>Since the .ui file is not compiled it cannot include any C++ code, (e.g. custom slot implementations). We provide a way of adding those implementations via a controlling QObject subclass that you pass as receiver to the widget factory.</p>
+<p>This concept and its usage is explained in detail in the <a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a> chapter.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-4.html">Prev: Creating Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-6.html">Next: Subclassing and Dynamic Dialogs</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-6.html b/doc/html/designer-manual-6.html
new file mode 100644
index 0000000..5648e0c
--- /dev/null
+++ b/doc/html/designer-manual-6.html
@@ -0,0 +1,312 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-subclassing.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Subclassing and Dynamic Dialogs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-5.html">Prev: The Designer Approach</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-7.html">Next: Creating Custom Widgets</a>]</p>
+<h2 align="center">Subclassing and Dynamic Dialogs</h2>
+<!-- index Subclassing --><!-- index Dynamic Dialogs --><!-- index Dialogs!Dynamic --><p>This chapter describes two different approaches that you can take to creating forms with <em>Qt Designer</em>. Subclassing is used to extend the functionality of a form by creating your own class based upon a form you create in <em>Qt Designer</em>. Dynamic dialogs are<!-- index .ui --> <tt>.ui</tt> files which can be executed by a Qt application; this keeps the GUI design and the code separate and is useful in environments where the GUI may have to change more often than the underlying application logic.</p>
+<h3><a name="1"></a>Subclassing</h3>
+<p>We'll start with a general description of how to subclass a form and follow with a short example. Note that subclassing has some disadvantages compared with putting your code into a form directly; see <a href="designer-manual-5.html#3">Extending the functionality of a form</a> in <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> chapter for details.</p>
+<h4><a name="1-1"></a>Generating Source Code from <em>Qt Designer</em> .ui Files</h4>
+<p><em>Qt Designer</em> reads and writes <tt>qmake</tt><!-- index .pro --> <tt>.pro</tt> (project) files which are used to record the files used to build the application and from which Makefiles are generated. <em>Qt Designer</em> also reads and writes<!-- index .ui --> <tt>.ui</tt> (user interface) files. These are XML files that record the widgets, layouts, source code and settings you've used for a form. Every<!-- index .ui --> <tt>.ui</tt> file is converted by the <tt>uic</tt> (user interface compiler) into a C++<!-- index .h --> <tt>.h</tt> file and a C++<!-- index .cpp --> <tt>.cpp</tt> file. These C++ files are then read by <tt>moc</tt> (meta object compiler), and finally compiled by your compiler into a working application.</p>
+<!-- index Makefiles --><!-- index Projects!Adding Files --><!-- index Adding!Files to Projects --><p>If you create applications wholly within <em>Qt Designer</em> you only need to create a<!-- index main.cpp --> <tt>main.cpp</tt>.</p>
+<p>If you create the <tt>main.cpp</tt> file within <em>Qt Designer</em>, it will automatically be added to your project file by <em>Qt Designer</em>. If you create the <tt>main.cpp</tt> file outside of <em>Qt Designer</em> you must add it to the project file manually by adding the following line at the end of your project's<!-- index .pro --> <tt>.pro</tt> file:</p>
+<pre>
+SOURCES += main.cpp
+</pre>
+<p>You can then use <tt>qmake</tt> to generate the Makefile. (For example <tt>qmake -o Makefile myproject.pro</tt>.) Running <tt>make</tt> (Linux, Unix or Borland compilers), or <tt>nmake</tt> (Visual C++), will then call <tt>uic</tt>, <tt>moc</tt> and your compiler as necessary to build your application.</p>
+<!-- index Errors!Undefined reference --><!-- index Undefined references, Error --><!-- index qmake!HEADERS --><!-- index qmake!SOURCES --><p>If you use <em>Qt Designer</em> to create your main window and dialogs, but also add other C++ files, or if you subclass any of your forms you will need to add these files to the<!-- index .pro --> <tt>.pro</tt> file so that they are compiled with the rest of your application's source files. Each<!-- index .h --> <tt>.h</tt> file that you create separately from <em>Qt Designer</em> should be added to the <tt>HEADERS</tt> line, and each<!-- index .cpp --> <tt>.cpp</tt> file should be added to the <tt>SOURCES</tt> line, just as we've done for<!-- index main.cpp --> <tt>main.cpp</tt>. If you get undefined reference errors it is worth checking that you've added the names of all your header and implementation files to the<!-- index .pro --> <tt>.pro</tt> file.</p>
+<h4><a name="1-2"></a>Subclassing a Form</h4>
+<!-- index Subclassing --><p>When subclassing a form it is helpful to use a naming convention to help us identify which files are generated from <em>Qt Designer</em>'s<!-- index .ui --> <tt>.ui</tt> files and which are hand coded.</p>
+<p>Suppose, for example, that we are developing a dialog and writing the code directly in <em>Qt Designer</em>. We might call our dialog 'OptionsForm' and the<!-- index .ui --> <tt>.ui</tt> file, <tt>optionsform.ui</tt>. The automatically generated files will be <tt>optionsform.h</tt> and <tt>optionsform.cpp</tt>.</p>
+<p>If we were developing another dialog, but this time one that we intended to subclass, we want to make it easy to distinguish between the automatically generated files and our hand coded files. For example, we might call our dialog 'SettingsFormBase' and the<!-- index .ui --> <tt>.ui</tt> file <tt>settingsformbase.ui</tt>. The automatically generated files would then be called <tt>settingsformbase.h</tt> and <tt>settingsformbase.cpp</tt>. We would then call our subclass 'SettingsForm' and code it in the files <tt>settingsform.h</tt> and <tt>settingsform.cpp</tt>.</p>
+<!-- index Q_OBJECT!Macros --><!-- index Macros!Q_OBJECT --><!-- index Signals and Slots!Q_OBJECT --><p>Any subclass of a form should include the <tt>Q_OBJECT</tt> macro so that slots and signals will work correctly. Once you've created your subclass be sure to add the<!-- index .h --> <tt>.h</tt> and the<!-- index .cpp --> <tt>.cpp</tt> files to the<!-- index .pro --> <tt>.pro</tt> project file. For example we would add the following lines for our subclassed 'SettingsForm' at the end of the<!-- index .pro --> <tt>.pro</tt> file:</p>
+<pre>
+HEADERS += settingsform.h
+SOURCES += settingsform.cpp
+</pre>
+<p>The simplest way to create a new source file is by clicking <b>File|New</b> to invoke the 'New File' dialog, then click 'C++ Source' or 'C++ Header' as appropriate, then click <b>OK</b>. A new empty source window will appear. You don't need to manually edit the <tt>.pro</tt> file since <em>Qt Designer</em> will add them for you automatically.</p>
+<p><em>Qt Designer</em> will have added</p>
+<pre>
+FORMS = settingsformbase.ui
+</pre>
+<p>to the project file. The <tt>settingsformbase.h</tt> and <tt>settingsformbase.cpp</tt> files will be generated from the<!-- index .ui --> <tt>.ui</tt> file automatically.</p>
+<h4><a name="1-3"></a>A Subclassing Example</h4>
+<p>We will write a small example dialog to show the use of subclassing in practice. The dialog will present a choice of customer credit ratings with an option of choosing a 'special' rating for which a specific amount must be given. We'll implement the functionality in a subclass. We'll start by creating the base form and connecting its signals and slots, then we'll create the subclass and a simple<!-- index main.cpp --> <tt>main.cpp</tt> so that we can test it.</p>
+<h5><a name="1-3-1"></a>Designing the Form</h5>
+<!-- index Projects!Creating New --><p>We'll begin by creating a new project. Click <b>File|New</b>, then click the 'C++ Project' icon to invoke the <em>Project Settings</em> dialog. Click the ellipsis button to invoke the <em>Save As</em> dialog; navigate to the project's directory (creating it if necessary). Make sure you're in the project's directory, then enter a project name of 'credit.pro'. Click the <b>Save</b> button to return to the <em>Project Settings</em> dialog, then click <b>OK</b>. Now we'll add a form to the project. Click <b>File|New</b> to invoke the <em>New File</em> dialog. The default form is Dialog which is what we want; click <b>OK</b>. Resize the form to make it smaller; it should be about 2 inches (5 cm) square. Change the form's name to 'CreditFormBase' and the caption to 'Credit Rating'. Save the form as <tt>creditformbase.ui</tt>.</p>
+<p>We'll now add the widgets we need.</p>
+<ol type=1><li><p>Click the <b>Button Group</b> toolbar button, then click near the top left of the form. Resize the button group so that it takes up approximately half the form. Change the button group's <em>name</em> to 'creditButtonGroup' and its <em>title</em> property to 'Credit Rating'.</p>
+<li><p>We'll now add some radio buttons. <em>Double</em> click the <b>Radio Button</b> toolbar button. Click towards the top of the Credit Rating button group and a radio button will appear. Click below this button, to create a second radio button, then click below the second button to create a third. Now we will switch off the effect of the <em>double</em> click by clicking the <b>Pointer</b> (arrow) toolbar button. The pointer will now behave normally, i.e. clicking the form will no longer create more radio buttons. Change the first radio button's <em>name</em> to 'stdRadioButton' and its text to '&amp;Standard'. Change its <em>checked</em> property to True. Change the second button's name to 'noneRadioButton' and its text to '&amp;None'. Change the third radio button's properties to 'specialRadioButton' and 'Sp&amp;ecial' respectively.</p>
+<li><p>If the user chooses the special credit rating they must specify an amount. Click the <b>SpinBox</b> toolbar button and click the form just below the button group. Change the spin box's <em>name</em> to 'amountSpinBox'. Change its <em>prefix</em> to '$ ' (note the space), its <em>maxValue</em> to '100000' and its <em>lineStep</em> to '10000'. Change its <em>enabled</em> property to False.</p>
+<li><p>Click the <b>Push Button</b> toolbar button and click the form below the spin box. Change the button's <em>name</em> to 'okPushButton', its <em>text</em> to 'OK' and its <em>default</em> property to 'True'. Add a second button to the right of the first. Change the second button's <em>name</em> to 'cancelPushButton' and its <em>text</em> to 'Cancel'.</p>
+</ol><p>We'll now lay out the widgets and connect up the slots we need.</p>
+<ol type=1><li><p>Click the credit rating group box then press <b>Ctrl+L</b> (lay out vertically).</p>
+<li><p>Click the form so that the button group is no longer selected. <b>Ctrl+Click</b> the OK button and drag the rubber band to touch the Cancel button, then release. Press <b>Ctrl+H</b>.</p>
+<li><p>Click the form, then press <b>Ctrl+L</b>.</p>
+<!-- index Layouts!Spacers --><p>The widgets will be laid out vertically, each one stretching to fill up the maximum space both vertically and horizontally. The buttons look rather large since they've expanded to take up the full width of the form. It might look more attractive to make the buttons smaller using spacers. Click the OK button, then press <b>Ctrl+B</b> (break layout). Resize both buttons to make them narrower leaving space on either side of them. Click the <b>Spacer</b> toolbar button then click to the left of the OK button; click Horizontal from the pop up spacer menu. Copy this spacer and place the copy between the two buttons. Copy the spacer again and place the copy to the right of the Cancel button. (For the second and third spacers, click on the first spacer, press <b>Ctrl+C</b> then <b>Ctrl+V</b>. Drag the new spacer to the desired position.) Ctrl+Click the left most spacer and drag the rubber band so that it touches the buttons and the spacers, then release. Press <b>Ctrl+H</b>. Click the form then press <b>Ctrl+L</b>.</p>
+</ol><!-- index Signals and Slots --><p>We'll now connect the signals and slots. Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog.</p>
+<p>Create a new connection that connects the OK button's clicked() signal to the form's accept() slot. Create a second connection that connects the Cancel button's clicked() signal to the form's reject() slot. (See <a href="designer-manual-3.html#creating-signals-and-slots-connections-sidebar">Creating Signals and Slots Connections</a>.)</p>
+<p>We want the amount spin box to be enabled only if the special radio button is checked. Create another connection, this time connecting the special radio button's toggled() signal to the amount spin box's setEnabled() slot.</p>
+<p>If the user checks the standard or none radio buttons we want to set the amount accordingly. Connect the credit rating button group's clicked() signal to a new custom setAmount() slot (which you create by clicking the <b>Edit Slots...</b> button).</p>
+<p>We'll subclass the form to set the amount in the spin box depending on which radio button is checked. Save the form as 'creditformbase.ui' (press <b>Ctrl+S</b>).</p>
+<h5><a name="1-3-2"></a>Creating the Test Harness</h5>
+<!-- index Forms!Creating Test Harnesses --><!-- index Creating Test Harnesses for Forms --><!-- index Subclassing --><p>Although we intend our dialog to be used within an application it is useful to create a test harness so that we can develop and test it stand-alone. Click <b>File|New</b> to invoke the 'New File' dialog, then click 'C++ Source', then click <b>OK</b>. In the editor window that pops up, enter the following code:</p>
+<pre>
+#include &lt;qapplication.h&gt;
+#include "creditformbase.h"
+
+int main( int argc, char *argv[] )
+{
+ QApplication app( argc, argv );
+
+ CreditFormBase creditForm;
+ app.setMainWidget( &amp;creditForm );
+ creditForm.show();
+
+ return app.exec();
+}
+</pre>
+<p>Note that we're including <tt>creditformbase.h</tt> and instantiating a CreditFormBase object; once we've written our subclass we'll replace the header with our subclass, <tt>creditform.h</tt>, and instantiate a CreditForm.</p>
+<p>We can now generate the application with <tt>qmake</tt>, e.g. <tt>qmake -o Makefile credit.pro</tt>, make it and run it. The form should run fine, but doesn't yet have the behaviour we require.</p>
+<h5><a name="1-3-3"></a>Creating the Subclass</h5>
+<p>We need to create a header and an implementation file for our subclass. The code for our subclass is minimal. The header file is <tt>qt/tools/designer/examples/credit/creditform.h</tt>:</p>
+<pre> #include "creditformbase.h"
+
+ class CreditForm : public CreditFormBase
+ {
+ Q_OBJECT
+ public:
+ CreditForm( <a href="qwidget.html">QWidget</a>* parent = 0, const char* name = 0,
+ bool modal = FALSE, WFlags fl = 0 );
+ ~CreditForm();
+ public slots:
+ void setAmount();
+ };
+</pre>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT --> <p>We've declared the slot, <tt>setAmount()</tt>, that we created in <em>Qt Designer</em>. The <tt>Q_OBJECT</tt> macro is included because it is essential for classes that use signals and slots.</p>
+<p>The implementation in <tt>qt/tools/designer/examples/credit/creditform.cpp</tt> is simple:</p>
+<pre> #include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+ #include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+ #include "creditform.h"
+
+ CreditForm::CreditForm( <a href="qwidget.html">QWidget</a>* parent, const char* name,
+ bool modal, WFlags fl )
+ : CreditFormBase( parent, name, modal, fl )
+ {
+ setAmount();
+ }
+
+ CreditForm::~CreditForm() { /* NOOP */ }
+
+ void CreditForm::setAmount()
+ {
+ if ( stdRadioButton-&gt;isChecked() )
+ amountSpinBox-&gt;setValue( amountSpinBox-&gt;maxValue() / 2 );
+ else if ( noneRadioButton-&gt;isChecked() )
+ amountSpinBox-&gt;setValue( amountSpinBox-&gt;minValue() );
+ }
+</pre>
+ <p>We call <tt>setAmount()</tt> in the constructor to ensure that the correct amount is shown when the form starts based on whichever radio button we checked in <em>Qt Designer</em>. In <tt>setAmount()</tt> we set the amount if the standard or none radio button is checked. If the user has checked the special radio button they are free to change the amount themselves.</p>
+<!-- index Makefiles --><!-- index qmake!HEADERS --><!-- index qmake!SOURCES --><p>To be able to test our subclass we change<!-- index main.cpp --> <tt>main.cpp</tt> to include <tt>creditform.h</tt> rather than <tt>creditformbase.h</tt> and change the instantiation of the creditForm object:</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "creditform.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ CreditForm creditForm;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;creditForm );
+ creditForm.show();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p>If you created the <tt>creditform.h</tt> and <tt>creditform.cpp</tt> files in <em>Qt Designer</em>, they are already in the project file, but if you created them manually you must also update the project file by adding these two new lines at the end:</p>
+<pre>
+HEADERS += creditform.h
+SOURCES += creditform.cpp
+</pre>
+<p>To test the form rerun <tt>qmake</tt> to regenerate the Makefile, then make and run.</p>
+<p>The subclassing example we've used is simple, but this reflects subclassing forms in Qt: it is easy to do.</p>
+<a name="dynamicdialogs"></a><h3><a name="2"></a>Creating Dynamic Dialogs from .ui Files</h3>
+<!-- index Dynamic Dialogs --><!-- index Dialogs!Dynamic --><!-- index Code Editing!Not in Dynamic Dialogs --><p>Qt programs are capable of loading <em>Qt Designer</em><!-- index .ui --> <tt>.ui</tt> files and instantiating the forms represented by the<!-- index .ui --> <tt>.ui</tt> files. Since the<!-- index .ui --> <tt>.ui</tt> file is not compiled it cannot include any C++ code, (e.g. slot implementations). In this section we will explain how to load a dynamic dialog and how to create a class that can be used to implement the dynamic dialog's custom slots.</p>
+<p>We will use the credit form that we created in the subclassing section as our example form. We will start by simply instantiating and running the form and then we'll cover how to implement custom slots.</p>
+<p>We'll create a<!-- index main.cpp --> <tt>main.cpp</tt> file to use as a test harness, and manually create a project file.</p>
+<h4><a name="2-1"></a>Creating the Project File</h4>
+<p>The project file <tt>qt/tools/designer/examples/receiver1/receiver.pro</tt> looks like this:</p>
+<pre>
+TEMPLATE = app
+CONFIG += qt warn_on release
+TARGET = receiver
+SOURCES += main.cpp
+unix:LIBS += -lqui
+win32:LIBS += $(QTDIR)/lib/qui.lib
+FORMS = mainform.ui
+LANGUAGE = C++
+INCLUDEPATH += $(QTDIR)/tools/designer/uilib
+</pre>
+<p>We do <em>not</em> include the <tt>creditformbase.ui</tt> file since this file will be read at runtime, as we'll see shortly. We must include the <tt>qui</tt> library since the functionality we require is not part of the standard Qt library.</p>
+<h4><a name="2-2"></a>Creating main.cpp</h4>
+<p>The<!-- index main.cpp --> <tt>main.cpp</tt> is quite standard. It will invoke the form we're going to create in <em>Qt Designer</em> as its main form. This form will then load and execute the dynamic dialog.</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "mainform.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ MainForm *mainForm = new MainForm;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( mainForm );
+ mainForm-&gt;show();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p>We create a new instance of our MainForm class, set it to be the main widget, show it and enter the event loop in the <tt>app.exec()</tt> call.</p>
+<h4><a name="2-3"></a>Creating the Main Form</h4>
+<h5><a name="2-3-1"></a>Designing the Form</h5>
+<ol type=1><li><p>Open the<!-- index receiver.pro --> <tt>receiver.pro</tt> project file in <em>Qt Designer</em>. We'll create a dialog as our main window which we'll use to invoke the dynamic dialog. Press <b>Ctrl+N</b> to launch the <em>New File</em> dialog and click <b>OK</b> to get the default which is a dialog. Change the dialog's name to 'MainForm' and its caption to 'Main Form'. Add two buttons, one called 'creditPushButton' with the text '&amp;Credit Dialog', and the other called 'quitPushButton' with the text '&amp;Quit'. (For each button click the <b>Push Button</b> toolbar button, then click the form. Change the properties in the property window to those we've just described.)</p>
+<li><p>We will now add a couple of labels so that we can show the settings the user chose in the dynamic dialog. Click the <b>Text Label</b> toolbar button, then click the form below the Credit Dialog button. Change the label's <em>text</em> to 'Credit Rating'. Add another text label below the Quit button. Change its <em>name</em> to 'ratingTextLabel' and its <em>text</em> to 'Unrated'.</p>
+<li><p>We'll now lay out the widgets. Click the form then press <b>Ctrl+G</b> (lay out in a grid).</p>
+<li><!-- index Signals and Slots!Connecting to Close a Dialog --><p>We'll now handle the signals and slots connections. Invoke the <em>View and Edit Connections</em> dialog and connect the credit dialog button's clicked() signal to a new creditDialog() custom slot (which is created by clicking the <b>Edit Slots...</b> button). Now connect the Quit button's<!-- index clicked() --> <tt>clicked()</tt> signal to the dialog's<!-- index accept() --> <tt>accept()</tt> function.</p>
+</ol><p>Save the form and call it <tt>mainform.ui</tt>. (Press <b>Ctrl+S</b> and enter the filename.) In the next section we'll write the code for loading and launching the dynamic dialog directly in <em>Qt Designer</em>.</p>
+<h5><a name="2-3-2"></a>Loading and Executing a Dynamic Dialog</h5>
+<!-- index Dynamic Dialogs!Loading and Executing --><!-- index Dialogs!Dynamic --><!-- index Forms!Forward declarations --><!-- index Forward declarations --><!-- index Includes --><p>We'll now add the code to invoke the credit dialog. Before we can do this we need to add the widget factory's header file to the form. Click the Source tab in the Object Hierarchy. Right click Includes (in Implementation), then click <b>New</b>. Type in '<tt>&lt;qwidgetfactory.h&gt;</tt>', then press <b>Enter</b>. Because we will need to access the spin box in the dynamic dialog we must add its header file. Right click Includes (in Implmentation), then click <b>New</b>. Type in '<tt>&lt;qspinbox.h&gt;</tt>', then press <b>Enter</b>.</p>
+<p>In our main form we created a slot called <tt>creditDialog()</tt>. We will implement this slot directly in <em>Qt Designer</em> and use it to load and execute the dynamic dialog. The code is taken from <tt>qt/tools/designer/examples/receiver1/mainform.ui.h</tt> which contains the C++ implementation of <tt>mainform.ui</tt>'s slots.</p>
+<pre> void MainForm::creditDialog()
+ {
+ <a href="qdialog.html">QDialog</a> *creditForm = (QDialog *)
+ QWidgetFactory::<a href="qwidgetfactory.html#create">create</a>( "../credit/creditformbase.ui" );
+ // Set up the dynamic dialog here
+
+ if ( creditForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ // The user accepted, act accordingly
+ <a href="qspinbox.html">QSpinBox</a> *amount = (QSpinBox *) creditForm-&gt;<a href="qobject.html#child">child</a>( "amountSpinBox", "QSpinBox" );
+ if ( amount )
+ ratingTextLabel-&gt;setText( amount-&gt;<a href="qspinbox.html#text">text</a>() );
+ }
+ delete creditForm;
+ }
+</pre>
+ <p>The<!-- index create() --> <tt>create()</tt> function is a static <a href="qwidgetfactory.html">QWidgetFactory</a> function. It loads the specified<!-- index .ui --> <tt>.ui</tt> file and returns a pointer to the toplevel <a href="qwidget.html">QWidget</a> created from the<!-- index .ui --> <tt>.ui</tt> file. We have cast the pointer to <a href="qdialog.html">QDialog</a> since we know that the <tt>creditformbase.ui</tt> file defines a <a href="qdialog.html">QDialog</a>. After creating the dialog we<!-- index exec() --> <tt>exec()</tt> it. If the user clicked <b>OK</b> the dialog returns Accepted and we enter the body of the <tt>if</tt> statement. We want to know the amount of credit that the user selected. We call the<!-- index child() --> <tt>child()</tt> function on the dialog passing it the name of the widget we're interested in. The<!-- index child() --> <tt>child()</tt> function returns a pointer to the widget with the name we passed, or returns 0 if no widget of that name was found. In the example we call<!-- index child() --> <tt>child()</tt> to get a pointer to the 'amountSpinBox'. If the pointer we get back is not 0 we set the rating text to the amount in the dialog's spin box. At the end we delete the dynamic dialog. Deleting the dialog ensures that we free up its resources as soon as it is no longer required.</p>
+<p>We used the<!-- index child() --> <tt>child()</tt> to gain access to a widget within the dynamic dialog, passing it the name of the widget we were interested in. In some situations we might not know what a widget is called. We can access the first widget of a specified class by calling<!-- index child() --> <tt>child()</tt> with a null widget name and a classname, e.g. <tt>child(0,"QPushButton")</tt>. This will return a pointer to the first <a href="qpushbutton.html">QPushButton</a> it finds (or 0 if there isn't one). If you want pointers to all the widgets of a given class you can call the<!-- index QObject::queryList() --> <tt>QObject::queryList()</tt> function, passing it the name of the class. It returns a <a href="qobjectlist.html">QObjectList</a> pointer which points to every object in the dialog that is derived from the given class. See the online <a href="http://doc.trolltech.com/qobject.html">QObject</a> documentation for further details.</p>
+<h5><a name="2-3-3"></a>Implementing Slots for Dynamic Dialogs</h5>
+<!-- index Signals and Slots!Dynamic Dialogs --><!-- index Dynamic Dialogs --><p>There is one outstanding issue that we haven't addressed: the dynamic dialog does not have the behaviour of the original credit dialog because we have not implemented the <tt>setAmount()</tt> slot. We can implement slots for dynamic dialogs by creating a <a href="qobject.html">QObject</a> subclass. We then create an instance of this subclass and pass a pointer to it to the<!-- index QWidgetFactory::create() --> <tt>QWidgetFactory::create()</tt> function which will connect the dynamic dialog's signals to the slots implemented in our subclass.</p>
+<p>We need to create a <a href="qobject.html">QObject</a> subclass and change our <tt>creditDialog()</tt> to create an instance of our subclass that can be passed to the<!-- index QWidgetFactory::create() --> <tt>QWidgetFactory::create()</tt> function. Here is the modified <tt>creditDialog()</tt> function from the <tt>qt/tools/designer/examples/receiver2/mainform.ui.h</tt> file that contains the code for <tt>mainform.ui</tt>'s slots:</p>
+<pre> void MainForm::creditDialog()
+ {
+ Receiver *receiver = new Receiver;
+ <a href="qdialog.html">QDialog</a> *creditForm = (QDialog *)
+ QWidgetFactory::<a href="qwidgetfactory.html#create">create</a>( "../credit/creditformbase.ui", receiver );
+ receiver-&gt;setParent( creditForm );
+
+ // Set up the dynamic dialog here
+
+ if ( creditForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ // The user accepted, act accordingly
+ <a href="qspinbox.html">QSpinBox</a> *amount = (QSpinBox *) creditForm-&gt;<a href="qobject.html#child">child</a>( "amountSpinBox", "QSpinBox" );
+ if ( amount )
+ ratingTextLabel-&gt;setText( amount-&gt;<a href="qspinbox.html#text">text</a>() );
+ }
+
+ delete receiver;
+ delete creditForm;
+ }
+</pre>
+ <p>We create a new instance of our 'Receiver' subclass. (We'll write the code for this class shortly.) We then create the <a href="qdialog.html">QDialog</a> using<!-- index QWidgetFactory::create() --> <tt>QWidgetFactory::create()</tt>. This call differs from our previous example because we pass in the subclass object so that the<!-- index create() --> <tt>create()</tt> function can set up the signals/slots connections automatically for us. Since our slot must access the widgets in the dynamic form we pass a pointer to the form to the receiver object through our <tt>setParent()</tt> function. The remainder of the function is the same as before except that we delete our receiver object.</p>
+<p>Since we are using the 'Receiver' subclass in our main form we must include its header file. In <em>Object Explorer</em>'s Members tab, right click Includes (in Implmentation), then click <b>New</b>. Type in '<tt>receiver.h</tt>', then press <b>Enter</b>.</p>
+<!-- index Dynamic Dialogs --><p>We'll now look at the implementation of our 'Receiver' subclass. The code is taken from <tt>qt/tools/designer/examples/receiver2/receiver.h</tt> and the corresponding <tt>receiver.cpp</tt> file. We'll start with the header file.</p>
+<pre>#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+
+class Receiver : public <a href="qobject.html">QObject</a>
+{
+ Q_OBJECT
+public:
+ void setParent( <a href="qdialog.html">QDialog</a> *parent );
+public slots:
+ void setAmount();
+private:
+ <a href="qdialog.html">QDialog</a> *p;
+};
+</pre>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT!Macros --><p>Our class must be a <a href="qobject.html">QObject</a> subclass and because we're using signals and slots it must include the <tt>Q_OBJECT</tt> macro. We declare a function and the <tt>setAmount()</tt> slot that we wish to implement as well as a private <a href="qdialog.html">QDialog</a> pointer.</p>
+<p>The implementation requires the header files of the classes it uses:</p>
+<pre> #include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+ #include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+ #include "receiver.h"
+</pre>
+ <p>We'll discuss the implementation of each function in <tt>receiver.cpp</tt> separately.</p>
+<pre> void Receiver::setParent( <a href="qdialog.html">QDialog</a> *parent )
+ {
+ p = parent;
+ setAmount();
+ }
+</pre>
+ <p>The <tt>setParent()</tt> function assigns a pointer to the dynamic dialog to our private pointer. We could not do this in a constructor call because we have to construct our Receiver object before we call<!-- index QWidgetFactory::create() --> <tt>QWidgetFactory::create()</tt>, since we must pass the Receiver object to the<!-- index create() --> <tt>create()</tt> function. Once we've called<!-- index create() --> <tt>create()</tt> we then have a pointer to the dynamic dialog which we can then pass via <tt>setParent()</tt> to our Receiver class. In the subclass version of this example we called <tt>setAmount()</tt> in the constructor; but we cannot do that here because the implementation of <tt>setAmount()</tt> depends on knowledge of the dynamic dialog which is not available at construction time. Because of this we call <tt>setAmount()</tt> in the <tt>setParent()</tt> function.</p>
+<pre> void Receiver::setAmount()
+ {
+ <a href="qspinbox.html">QSpinBox</a> *amount =
+ (QSpinBox *) p-&gt;child( "amountSpinBox", "QSpinBox" );
+
+ <a href="qradiobutton.html">QRadioButton</a> *radio =
+ (QRadioButton *) p-&gt;child( "stdRadioButton", "QRadioButton" );
+ if ( radio &amp;&amp; radio-&gt;<a href="qradiobutton.html#isChecked">isChecked</a>() ) {
+ if ( amount )
+ amount-&gt;<a href="qspinbox.html#setValue">setValue</a>( amount-&gt;<a href="qspinbox.html#maxValue">maxValue</a>() / 2 );
+ return;
+ }
+
+ radio =
+ (QRadioButton *) p-&gt;child( "noneRadioButton", "QRadioButton" );
+ if ( radio &amp;&amp; radio-&gt;<a href="qradiobutton.html#isChecked">isChecked</a>() )
+ if ( amount )
+ amount-&gt;<a href="qspinbox.html#setValue">setValue</a>( amount-&gt;<a href="qspinbox.html#minValue">minValue</a>() );
+ }
+</pre>
+ <p>Since we may be updating the amount spin box we need to get a pointer to it. We call<!-- index child() --> <tt>child()</tt> on the pointer <tt>p</tt> which points to the dynamic dialog assigned in the <tt>setParent()</tt> call. We cast the resulting pointer to the correct type so that we can call any functions relevant to that type. In the example we call<!-- index child() --> <tt>child()</tt> to get a pointer to the amount spin box, and then call<!-- index child() --> <tt>child()</tt> again to get a pointer to the 'stdRadioButton'. If we get a pointer to the radio button and the button is checked we set the amount providing we have a pointer to the amount spin box. If this radio button was checked we're finished so we return. If the 'stdRadioButton' isn't checked we get a pointer to the 'noneRadioButton' and set the amount if this button is checked. We do nothing if the 'specialRadioButton' is checked because the user is free to enter a value of their choice.</p>
+<blockquote>
+<p align="center"><b> Compiling vs Dynamically Loading Dialogs</b></p>
+<!-- index Dynamic Dialogs!Compared with Compiling --><!-- index Dynamic Dialogs!Subclassing --><!-- index Subclassing!Dynamic Dialogs --><p>The differences between using a 'compiled in'<!-- index .ui --> <tt>.ui</tt> file and a dynamically loaded<!-- index .ui --> <tt>.ui</tt> file are these:</p>
+<ul><li><p>Dynamic dialogs cannot have any C++ code in the<!-- index .ui --> <tt>.ui</tt> file; any custom slots must be implemented via a <a href="qobject.html">QObject</a> subclass. Compiled dialogs can contain code either in the<!-- index .ui --> <tt>.ui</tt> file or in a subclass.</p>
+<li><p>Dynamic dialogs will load slower because the<!-- index .ui --> <tt>.ui</tt> file must be read and a <a href="qwidget.html">QWidget</a> instance instantiated based on the<!-- index .ui --> <tt>.ui</tt> file's parse tree. Compiled code will load much faster because no file reading or parsing is necessary. Note that the user may not notice any difference in speed since the difference may be mere fractions of a second.</p>
+<li><p>Dynamic dialogs allow you to change the<!-- index .ui --> <tt>.ui</tt> file independently of the code so long as none of the changes impact the code. This means that you can change the appearance of the form, e.g. move widgets and lay them out differently. If you want to change a compiled dialog you must change the<!-- index .ui --> <tt>.ui</tt> file and recompile. If you are building an application and want your customers to be able to customize aspects of the user interface you can give them a copy of <em>Qt Designer</em> (if your license permits this) and use dynamic dialogs.</p>
+</ul></blockquote>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-5.html">Prev: The Designer Approach</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-7.html">Next: Creating Custom Widgets</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-7.html b/doc/html/designer-manual-7.html
new file mode 100644
index 0000000..dc72024
--- /dev/null
+++ b/doc/html/designer-manual-7.html
@@ -0,0 +1,400 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-custom-controls.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Creating Custom Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-6.html">Prev: Subclassing and Dynamic Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-8.html">Next: Creating Database Applications</a>]</p>
+<h2 align="center">Creating Custom Widgets</h2>
+<!-- index Custom Widgets --><!-- index Widgets!Custom --><p>Custom widgets are created in code. They may comprise a combination of existing widgets but with additional functionality, slots and signals, or they may be written from scratch, or a mixture of both.</p>
+<!-- index Previewing!Custom Widgets --><!-- index Custom Widgets!Previewing --><p><em>Qt Designer</em> provides two mechanisms for incorporating custom widgets:</p>
+<ol type=1><li><p>The original method involves little more than completing a dialog box. Widgets incorporated this way appear as flat pixmaps when added to a form in <em>Qt Designer</em>, even in preview mode. They only appear in their true form at runtime. We'll explain how to create custom widgets using the original approach in "Simple Custom Widgets".</p>
+<li><!-- index Plugins --><p>The new method involves embedding the widgets in a plugin. Widgets that are incorporated through plugins appear in their true form in <em>Qt Designer</em>, both when laying out the form and in preview mode. This approach provides more power and flexibility than the original method and is covered in <a href="designer-manual-7.html#2">Creating Custom Widgets with Plugins</a>.</p>
+</ol><h3><a name="1"></a>Simple Custom Widgets</h3>
+<!-- index Custom Widgets!Simple --><p>There are two stages to creating a custom widget. Firstly we must create a class that defines the widget, and secondly we must incorporate the widget into <em>Qt Designer</em>. Creating the widget has to be done whether we are creating a simple custom widget or a plugin, but for simple custom widgets the incorporation into <em>Qt Designer</em> is very easy.</p>
+<p>We will create a VCR style widget comprising four buttons, rewind, play, next and stop. The widget will emit signals according to which button is clicked.</p>
+<h4><a name="1-1"></a>Coding the Custom Widget</h4>
+<p>A custom widget may consist of one or more standard widgets placed together in a particular combination, or may be written from scratch. We will combine some <a href="qpushbutton.html">QPushButton</a> widgets to form the basis of our custom widget.</p>
+<p>We'll look at the header file, <tt>qt/tools/designer/examples/vcr/vcr.h</tt> first.</p>
+<pre> #include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+ class Vcr : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+ public:
+ Vcr( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+ ~Vcr() {}
+ signals:
+ void rewind();
+ void play();
+ void next();
+ void stop();
+ };
+</pre>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT --> <p>We include <tt>qwidget.h</tt> since we'll be deriving our custom widget from <a href="qwidget.html">QWidget</a>. We declare a constructor where the widget will be created and the four signals we want our widget to emit.</p>
+<p><b>Note:</b> Since we're using signals we must also include the <tt>Q_OBJECT</tt> macro. This macro also ensures that information about the class is available via the <a href="metaobjects.html">Meta Object System</a> and ensures that <em>Qt Designer</em> will display the correct information about the widget.</p>
+<p>The implementation is straightforward. The only function we implement is the constructor. The rest of the file consists of include statements and embedded<!-- index .xpm --> <tt>.xpm</tt> images.</p>
+<pre> Vcr::Vcr( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+ <a href="qhboxlayout.html">QHBoxLayout</a> *layout = new <a href="qhboxlayout.html">QHBoxLayout</a>( this );
+ layout-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 0 );
+
+ <a href="qpushbutton.html">QPushButton</a> *rewind = new <a href="qpushbutton.html">QPushButton</a>( QPixmap( rewind_xpm ), 0, this, "vcr_rewind" );
+ layout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( rewind );
+</pre>
+ <p>We create a <a href="qhboxlayout.html">QHBoxLayout</a> in which we'll place the buttons. We've only shown the rewind button in the code above since all the others are identical except for the names of the buttons, pixmaps and signals. For each of the buttons we require we call the <a href="qpushbutton.html">QPushButton</a> constructor passing it the appropriate embedded pixmap. We then add it to the layout. Finally we connect the button's<!-- index clicked() --> <tt>clicked()</tt> signal to the appropriate <em>signal</em>. Since the<!-- index clicked() --> <tt>clicked()</tt> signals aren't specific to our widget we want to emit signals that reflect the widget's use. The <tt>rewind()</tt>, <tt>play()</tt>, etc. signals are meaningful in the context of our widget so we propagate each button's<!-- index clicked() --> <tt>clicked()</tt> signal to the appropriate widget-specific signal.</p>
+<!-- index Forms!Creating Test Harnesses --><p>The implementation is complete, but to make sure that our widget compiles and runs we'll create a tiny test harness. The test harness will require two files, a<!-- index .pro --> <tt>.pro</tt> project file and a<!-- index main.cpp --> <tt>main.cpp</tt>. The <tt>qt/tools/designer/examples/vcr/vcr.pro</tt> project file:</p>
+<pre>TEMPLATE = app
+LANGUAGE = C++
+TARGET = vcr
+
+CONFIG += qt warn_on release
+SOURCES += vcr.cpp main.cpp
+HEADERS += vcr.h
+DBFILE = vcr.db
+</pre>
+<p>The <tt>qt/tools/designer/examples/vcr/main.cpp</tt> file is also brief:</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "vcr.h"
+
+ int main( int argc, char ** argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ Vcr *vcr = new Vcr;
+ vcr-&gt;<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p>Once we're satisfied that the custom widget compiles and runs we are ready to incorporate it into <em>Qt Designer</em>.</p>
+<p>In <a href="designer-manual-9.html#2-2">Base-class Templates</a> the creation of a container custom widget is described.</p>
+<h4><a name="1-2"></a>Adding the Custom Widget to Qt Designer</h4>
+<!-- index Custom Widgets!Adding to Qt Designer --><!-- index Adding!Custom Widgets to Qt Designer --><p>Click <b>Tools|Custom|Edit Custom Widgets</b> to invoke the <em>Edit Custom Widgets</em> dialog.</p>
+<ol type=1><li><p>Click <b>New Widget</b> so that we are ready to add our new widget.</p>
+<li><p>Change the Class name from 'MyCustomWidget' to 'Vcr'.</p>
+<li><p>Click the ellipsis (<b>...</b>) button to the right of the Headerfile line edit to invoke the file Open dialog. Locate <tt>vcr.h</tt>, select it, and click <b>Open</b>. It will now appear as the header file.</p>
+<li><p>If you have a pixmap that you want to use to identify your widget on the toolbar click the ellipsis button to the right of Pixmap property. (The ellipsis button appears when you click in the Value part of the Properties list by a <em>pixmap</em> or <em>iconSet</em> property.)</p>
+<p>In our example we have the file <tt>qt/tools/designer/examples/vcr/play.xpm</tt> which we'll use for this purpose.</p>
+<li><p>Since we know the minimum sensible size for our widget we'll put these values into the Size Hint spin boxes. Enter a width of 80 (in the left hand spin box), and a height of 20 (in the right hand spin box).</p>
+</ol><p>The remaining items to be completed will depend on the characteristics of the widget you've created. If, for example, your widget can be used to contain other widgets you'd check the Container Widget checkbox. In the case of our Vcr example the only items we need to add are its signals.</p>
+<p>Click the Signals tab. Click the <b>New Signal</b> button and type in the signal name 'rewind()'. Click <b>New Signal</b> again and this time type in 'play()'. Add the 'next()' and 'stop()' signals in the same way.</p>
+<p>Since our example hasn't any slots or properties we've finished and can click <b>Close</b>. A new icon will appear in <em>Qt Designer</em>'s toolbars which represents the new widget. If you create a new form you can add Vcr widgets and connect the Vcr's signals to your slots.</p>
+<p>Incorporating custom widgets that have their own slots and properties is achieved in a similar way to adding signals. All the required information is in our custom widget's header file.</p>
+<a name="creatingplugins"></a><h3><a name="2"></a>Creating Custom Widgets with Plugins</h3>
+<!-- index Custom Widgets!Plugins --><!-- index Plugins!Implementing Custom Widgets --><p>This section will show you how to write a custom widget and how to embed the custom widget into a plugin. There are no restrictions or special considerations that must be taken into account when creating a widget that is destined to become a plugin. If you are an experienced Qt programmer you can safely skip the section on creating a custom widget and go directly to <a href="designer-manual-7.html#2-2">Creating a Plugin</a>.</p>
+<p>Be aware that if you use the plugin approach to custom widgets, the plugin needs to be available not only to <em>Qt Designer</em> but also to <tt>uic</tt> at compile-time.</p>
+<h4><a name="2-1"></a>Creating a Custom Widget</h4>
+<!-- index Creating Custom Widgets --><!-- index Widgets!Creating a Custom Widget --><!-- index Subclassing!Widgets --><p>A custom widget is often a specialization (subclass) of another widget or a combination of widgets working together or a blend of both these approaches. If you simply want a collection of widgets in a particular configuration it is easiest to create them, select them as a group, and copy and paste them as required within <em>Qt Designer</em>. Custom widgets are generally created when you need to add new functionality to existing widgets or groups of widgets.</p>
+<!-- index Properties!Creating Custom Properties --><p>We have two recommendations that you should consider when creating a custom widget for a plugin:</p>
+<ol type=1><li><p>Using Qt's property system will provide <em>Qt Designer</em> users with a direct means of configuring the widget through the property editor. (See the <a href="http://doc.trolltech.com/properties.html">Qt Properties</a> documentation.)</p>
+<li><p>Consider making your widget's public 'set' functions into public slots so that you can perform signal-slot connections with the widget in <em>Qt Designer</em>.</p>
+</ol><p>In the course of this chapter we will create a simple but useful widget, 'FileChooser', which we'll later make available in <em>Qt Designer</em> as a plugin. In practice most custom widgets are created to add functionality rather than to compose widgets, so we will create our widget in code rather than using <em>Qt Designer</em> to reflect this approach. FileChooser consists of a <a href="qlineedit.html">QLineEdit</a> and a <a href="qpushbutton.html">QPushButton</a>. The <a href="qlineedit.html">QLineEdit</a> is used to hold a file or directory name, the <a href="qpushbutton.html">QPushButton</a> is used to launch a file dialog through which the user can choose a file or directory.</p>
+<p align="center"><img align="middle" src="filechooser.png" width="169" height="34">
+</p>
+<blockquote><p align="center"><em>The FileChooser Custom Widget</em></p></blockquote>
+<p>If you've followed the manual up to this point you may well be able to create this custom widget yourself. If you're confident that you can make your own version of the widget, or have another widget that you want to turn into a plugin, skip ahead to <a href="designer-manual-7.html#2-2">Creating a Plugin</a>. If you prefer to read how we created the widget then read on.</p>
+<h5><a name="2-1-1"></a>Coding the Widget's Interface</h5>
+<p>We will work step-by-step through the widget's header file, <tt>qt/tools/designer/examples/filechooser/widget/filechooser.h</tt>.</p>
+<pre> #include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+ #include &lt;<a href="qwidgetplugin-h.html">qwidgetplugin.h</a>&gt;
+
+ class QLineEdit;
+ class QPushButton;
+</pre>
+ <p>Our widget will be derived from <a href="qwidget.html">QWidget</a> so we include the <tt>qwidget.h</tt> header file. We also forward declare the two classes that our widget will be built from.</p>
+<pre></pre>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT --><!-- index Macros!Q_ENUMS --><!-- index Q_ENUMS --> <p>We include the <tt>Q_OBJECT</tt> macro since this is required for classes that declare signals or slots. The <tt>Q_ENUMS</tt> declaration is used to register the Mode enumeration. Our widget has two properties, mode, to store whether the user should select a File or a Directory and fileName which stores the file or directory they chose.</p>
+<pre> class QT_WIDGET_PLUGIN_EXPORT FileChooser : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+
+ Q_ENUMS( Mode )
+ Q_PROPERTY( Mode mode READ mode WRITE setMode )
+ Q_PROPERTY( QString fileName READ fileName WRITE setFileName )
+
+ public:
+ FileChooser( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0);
+
+ enum Mode { File, Directory };
+
+ <a href="qstring.html">QString</a> fileName() const;
+ Mode mode() const;
+</pre>
+ <p>The constructor is declared in the standard way for widgets. We declare two public functions, <tt>fileName()</tt> to return the filename, and <tt>mode()</tt> to return the mode.</p>
+<pre> public slots:
+ void setFileName( const <a href="qstring.html">QString</a> &amp;fn );
+ void setMode( Mode m );
+
+ signals:
+ void fileNameChanged( const <a href="qstring.html">QString</a> &amp; );
+
+ private slots:
+ void chooseFile();
+</pre>
+ <p>The two 'set' functions are declared as public slots. <tt>setFileName()</tt> and <tt>setMode()</tt> set the filename and mode respectively. We declare a single signal, <tt>fileNameChanged()</tt>. The private slot, <tt>chooseFile()</tt> is called by the widget itself when its button is clicked.</p>
+<pre> private:
+ <a href="qlineedit.html">QLineEdit</a> *lineEdit;
+ <a href="qpushbutton.html">QPushButton</a> *button;
+ Mode md;
+
+ };
+</pre>
+ <p>A pointer to <a href="qlineedit.html">QLineEdit</a> and <a href="qpushbutton.html">QPushButton</a>, as well as a Mode variable are held as private data.</p>
+<h5><a name="2-1-2"></a>Coding the Implementation</h5>
+<p>We will work step-by-step through the implementation which is in <tt>qt/tools/designer/examples/filechooser/widget/filechooser.cpp</tt>.</p>
+<pre> FileChooser::FileChooser( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name ), md( File )
+ {
+</pre>
+ <p>The constructor passes the parent and name to its superclass, <a href="qwidget.html">QWidget</a>, and also initializes the private mode data, md, to File mode.</p>
+<pre> <a href="qhboxlayout.html">QHBoxLayout</a> *layout = new <a href="qhboxlayout.html">QHBoxLayout</a>( this );
+ layout-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 0 );
+
+ lineEdit = new <a href="qlineedit.html">QLineEdit</a>( this, "filechooser_lineedit" );
+ layout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lineEdit );
+</pre>
+ <p>We begin by creating a horizontal box layout (<a href="qhboxlayout.html">QHBoxLayout</a>) and add a <a href="qlineedit.html">QLineEdit</a> and a <a href="qpushbutton.html">QPushButton</a> to it.</p>
+<pre> <a href="qobject.html#connect">connect</a>( lineEdit, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SIGNAL( fileNameChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ button = new <a href="qpushbutton.html">QPushButton</a>( "...", this, "filechooser_button" );
+ button-&gt;<a href="qwidget.html#setFixedWidth">setFixedWidth</a>( button-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width( " ... " ) );
+ layout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( button );
+
+ <a href="qobject.html#connect">connect</a>( button, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ),
+ this, SLOT( chooseFile() ) );
+</pre>
+ <p>We connect the lineEdit's<!-- index textChanged() --> <tt>textChanged()</tt> signal to the custom widget's <tt>fileNameChanged()</tt> signal. This ensures that if the user changes the text in the <a href="qlineedit.html">QLineEdit</a> this fact will be propagated via the custom widget's own signal. The button's<!-- index clicked() --> <tt>clicked()</tt> signal is connected to the custom widget's <tt>chooseFile()</tt> slot which invokes the appropriate dialog for the user to choose their file or directory.</p>
+<pre> <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( lineEdit );
+ }
+</pre>
+ <p>We set the lineEdit as the focus proxy for our custom widget. This means that when the widget is given focus the focus actually goes to the lineEdit.</p>
+<pre> void FileChooser::setFileName( const <a href="qstring.html">QString</a> &amp;fn )
+ {
+ lineEdit-&gt;<a href="qlineedit.html#setText">setText</a>( fn );
+ }
+
+ QString FileChooser::fileName() const
+ {
+ return lineEdit-&gt;<a href="qlineedit.html#text">text</a>();
+ }
+</pre>
+ <p>The <tt>setFileName()</tt> function sets the filename in the <a href="qlineedit.html">QLineEdit</a>, and the <tt>fileName()</tt> function returns the filename from the <a href="qlineedit.html">QLineEdit</a>. The <tt>setMode()</tt> and <tt>mode()</tt> functions (not shown) are similarly set and return the given mode.</p>
+<pre> void FileChooser::chooseFile()
+ {
+ <a href="qstring.html">QString</a> fn;
+ if ( mode() == File )
+ fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( lineEdit-&gt;<a href="qlineedit.html#text">text</a>(), QString::null, this );
+ else
+ fn = QFileDialog::<a href="qfiledialog.html#getExistingDirectory">getExistingDirectory</a>( lineEdit-&gt;<a href="qlineedit.html#text">text</a>(),this );
+
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ lineEdit-&gt;<a href="qlineedit.html#setText">setText</a>( fn );
+ emit fileNameChanged( fn );
+ }
+ }
+</pre>
+ <p>When <tt>chooseFile()</tt> is called it presents the user with a file or directory dialog depending on the mode. If the user chooses a file or directory the <a href="qlineedit.html">QLineEdit</a> is updated with the chosen file or directory and the <tt>fileNameChanged()</tt> signal is emitted.</p>
+<p>Although these two files complete the implementation of the FileChooser widget it is good practice to write a test harness to check that the widget behaves as expected before attempting to put it into a plugin.</p>
+<h5><a name="2-1-3"></a>Testing the Implementation</h5>
+<!-- index main.cpp --><!-- index Forms!Creating Test Harnesses --><p>We present a rudimentary test harness which will allow us to run our custom widget. The test harness requires two files, a <tt>main.cpp</tt> to contain the FileChooser, and a <tt>.pro</tt> file to create the Makefile from. Here is <tt>qt/tools/designer/examples/filechooser/widget/main.cpp</tt>:</p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "filechooser.h"
+
+ int main( int argc, char ** argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ FileChooser *fc = new FileChooser;
+ fc-&gt;<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p>And here is <tt>qt/tools/designer/examples/filechooser/widget/filechooser.pro</tt></p>
+<pre>TEMPLATE = app
+LANGUAGE = C++
+TARGET = filechooser
+
+SOURCES += filechooser.cpp main.cpp
+HEADERS += filechooser.h
+CONFIG += qt warn_on release
+DBFILE = filechooser.db
+DEFINES += FILECHOOSER_IS_WIDGET
+</pre>
+<p>We can create the makefile using <tt>qmake</tt>: <tt>qmake -o Makefile filechooser.pro</tt>, then we can make and run the harness to test our new widget. Once we're satisfied that the custom widget is robust and has the behaviour we require we can embed it into a plugin.</p>
+<h4><a name="2-2"></a>Creating a Plugin</h4>
+<!-- index Creating Plugins --><!-- index Plugins!Creating a Plugin --><!-- index Component!Plugins --><p>Qt Plugins can be used to provide self-contained software components for Qt applications. Qt currently supports the creation of five kinds of plugins: codecs, image formats, database drivers, styles and custom widgets. In this section we will explain how to convert our filechooser custom widget into a <em>Qt Designer</em> custom widget plugin.</p>
+<p>A <em>Qt Designer</em> custom widget plugin is always derived from <a href="qwidgetplugin.html">QWidgetPlugin</a>. The amout of code that needs to be written is minimal.</p>
+<p>To make your own plugin it is probably easiest to start by copying our example<!-- index plugin.h --> <tt>plugin.h</tt> and<!-- index plugin.cpp --> <tt>plugin.cpp</tt> files and changing 'CustomWidgetPlugin' to the name you wish to use for your widget plugin implementation class. Below we provide an introduction to the header file although it needs no changes beyond class renaming. The implementation file requires simple changes, mostly more class renaming; we will review each function in turn and explain what you need to do.</p>
+<h5><a name="2-2-1"></a>The <b>CustomWidgetPlugin</b> Implementation</h5>
+<p>We have called our header file<!-- index plugin.h --> <tt>plugin.h</tt> and we've called our plugin class <b>CustomWidgetPlugin</b> since we will be using our plugin class to wrap our custom widgets. We present the entire header file to give you an impression of the scope of the implementation required. Most of the functions require just a few lines of code.</p>
+<pre> #include &lt;<a href="qwidgetplugin-h.html">qwidgetplugin.h</a>&gt;
+
+ class CustomWidgetPlugin : public <a href="qwidgetplugin.html">QWidgetPlugin</a>
+ {
+ public:
+ CustomWidgetPlugin();
+
+ <a href="qstringlist.html">QStringList</a> keys() const;
+ <a href="qwidget.html">QWidget</a>* create( const <a href="qstring.html">QString</a> &amp;classname, QWidget* parent = 0, const char* name = 0 );
+ <a href="qstring.html">QString</a> group( const <a href="qstring.html">QString</a>&amp; ) const;
+ <a href="qiconset.html">QIconSet</a> iconSet( const <a href="qstring.html">QString</a>&amp; ) const;
+ <a href="qstring.html">QString</a> includeFile( const <a href="qstring.html">QString</a>&amp; ) const;
+ <a href="qstring.html">QString</a> toolTip( const <a href="qstring.html">QString</a>&amp; ) const;
+ <a href="qstring.html">QString</a> whatsThis( const <a href="qstring.html">QString</a>&amp; ) const;
+ bool isContainer( const <a href="qstring.html">QString</a>&amp; ) const;
+ };
+</pre>
+<blockquote><p align="center"><em>From <tt>qt/tools/designer/examples/filechooser/plugin/plugin.h</tt></em></p></blockquote>
+<h5><a name="2-2-2"></a>The QWidgetPlugin Functions</h5>
+<!-- index plugin.cpp --><p>Create your own plugin <tt>.cpp</tt> file by copying our <tt>plugin.cpp</tt> file and changing all occurrences of 'CustomWidgetPlugin' to the name you wish to use for your widget plugin implementation. Most of the other changes are simply replacing the name of our custom control, 'FileChooser', with the name of your custom control. You may need to add extra <tt>else if</tt> clauses if you have more than one custom control in your plugin implementation.</p>
+<p>We'll now look at the constructor.</p>
+<pre> CustomWidgetPlugin::CustomWidgetPlugin()
+ {
+ }
+</pre>
+ <p>The constructor does not have to do anything. Simply copy ours with the class name you wish to use for your widget plugin implementation.</p>
+<p>No destructor is necessary.</p>
+<!-- index keys() --><p>The <tt>keys</tt> function.</p>
+<pre> QStringList CustomWidgetPlugin::<a href="qwidgetplugin.html#keys">keys</a>() const
+ {
+ <a href="qstringlist.html">QStringList</a> list;
+ list &lt;&lt; "FileChooser";
+ return list;
+ }
+</pre>
+ <p>For each widget class that you want to wrap in the plugin implementation you should supply a key by which the class can be identified. This key <em>must</em> be your class's name, so in our example we add a single key, 'FileChooser'.</p>
+<!-- index create() --><p>The <tt>create()</tt> function.</p>
+<pre> QWidget* CustomWidgetPlugin::<a href="qwidgetplugin.html#create">create</a>( const <a href="qstring.html">QString</a> &amp;key, QWidget* parent, const char* name )
+ {
+ if ( key == "FileChooser" )
+ return new FileChooser( parent, name );
+ return 0;
+ }
+</pre>
+ <p>In this function we create an instance of the requested class and return a QWidget pointer to the newly created widget. Copy this function changing the class name and the feature name and create an instance of your widget just as we've done here. (See the <a href="http://doc.trolltech.com/plugins.html">Qt Plugin documentation</a> for more information.)</p>
+<!-- index includeFile() --><p>The <tt>includeFile()</tt> function.</p>
+<pre> QString CustomWidgetPlugin::<a href="qwidgetplugin.html#includeFile">includeFile</a>( const <a href="qstring.html">QString</a>&amp; feature ) const
+ {
+ if ( feature == "FileChooser" )
+ return "filechooser.h";
+ return QString::null;
+ }
+</pre>
+ <p>This function returns the name of the include file for the custom widget. Copy this function changing the class name, key and include filename to suit your own custom widget.</p>
+<!-- index group() --><!-- index iconSet() --><!-- index includeFile() --><!-- index toolTip() --><!-- index whatsThis() --><p>The <tt>group()</tt>, <tt>iconSet()</tt>, <tt>toolTip()</tt> and <tt>whatsThis()</tt> functions.</p>
+<pre> QString CustomWidgetPlugin::<a href="qwidgetplugin.html#group">group</a>( const <a href="qstring.html">QString</a>&amp; feature ) const
+ {
+ if ( feature == "FileChooser" )
+ return "Input";
+ return QString::null;
+ }
+
+ QIconSet CustomWidgetPlugin::<a href="qwidgetplugin.html#iconSet">iconSet</a>( const <a href="qstring.html">QString</a>&amp; ) const
+ {
+ return QIconSet( QPixmap( filechooser_pixmap ) );
+ }
+
+ QString CustomWidgetPlugin::<a href="qwidgetplugin.html#includeFile">includeFile</a>( const <a href="qstring.html">QString</a>&amp; feature ) const
+ {
+ if ( feature == "FileChooser" )
+ return "filechooser.h";
+ return QString::null;
+ }
+
+ QString CustomWidgetPlugin::<a href="qwidgetplugin.html#toolTip">toolTip</a>( const <a href="qstring.html">QString</a>&amp; feature ) const
+ {
+ if ( feature == "FileChooser" )
+ return "File Chooser Widget";
+ return QString::null;
+ }
+
+ QString CustomWidgetPlugin::<a href="qwidgetplugin.html#whatsThis">whatsThis</a>( const <a href="qstring.html">QString</a>&amp; feature ) const
+ {
+ if ( feature == "FileChooser" )
+ return "A widget to choose a file or directory";
+ return QString::null;
+ }
+</pre>
+ <p>We use the <tt>group()</tt> function to identify which <em>Qt Designer</em> toolbar group this custom widget should be part of. If we use a name that is not in use <em>Qt Designer</em> will create a new toolbar group with the given name. Copy this function, changing the class name, key and group name to suit your own widget plugin implementation.</p>
+<p>The <tt>iconSet()</tt> function returns the pixmap to use in the toolbar to represent the custom widget. The <tt>toolTip()</tt> function returns the tooltip text and the <tt>whatsThis()</tt> function returns the Whats This text. Copy each of these functions changing the class name, key and the string you return to suit your own widget plugin implementation.</p>
+<!-- index isContainer() --><p>The <tt>isContainer()</tt> function.</p>
+<pre> bool CustomWidgetPlugin::<a href="qwidgetplugin.html#isContainer">isContainer</a>( const <a href="qstring.html">QString</a>&amp; ) const
+ {
+ return FALSE;
+ }
+</pre>
+ <p>Copy this function changing the class name to suit your widget plugin implementation. It should return <tt>TRUE</tt> if your custom widget can contain other widgets, e.g. like <a href="qframe.html">QFrame</a>, or <tt>FALSE</tt> if it must not contain other widgets, e.g. like <a href="qpushbutton.html">QPushButton</a>.</p>
+<!-- index Macros!Q_EXPORT_PLUGIN --><!-- index Q_EXPORT_PLUGIN --><p>The <tt>Q_EXPORT_PLUGIN</tt> macro.</p>
+<pre> Q_EXPORT_PLUGIN( CustomWidgetPlugin )
+</pre>
+ <p>This macro identifies the module as a plugin -- all the other code simply implements the relevant interface, i.e. wraps the classes you wish to make available.</p>
+<p>This macro must appear once in your plugin. It should be copied with the class name changed to the name of your plugin's class. (See the <a href="http://doc.trolltech.com/plugins.html">Qt Plugin documentation</a> for more information on the plugin entry point.)</p>
+<p>Each widget you wrap in a widget plugin implementation becomes a class that the plugin implementation offers. There is no limit to the number of classes that you may include in an plugin implementation.</p>
+<h5><a name="2-2-3"></a>The Project File</h5>
+<p>The project file for a plugin is somewhat different from an application's project file but in most cases you can use our project file changing only the <tt>HEADERS</tt> and <tt>SOURCES</tt> lines.</p>
+<pre>TEMPLATE = lib
+LANGUAGE = C++
+TARGET = filechooser
+
+SOURCES += plugin.cpp ../widget/filechooser.cpp
+HEADERS += plugin.h ../widget/filechooser.h
+DESTDIR = ../../../../../plugins/designer
+
+target.path=$$plugins.path
+
+INSTALLS += target
+CONFIG += qt warn_on release plugin
+INCLUDEPATH += $$QT_SOURCE_TREE/tools/designer/interfaces
+DBFILE = plugin.db
+</pre>
+<blockquote><p align="center"><em><tt>qt/tools/designer/examples/filechooser/plugin/plugin.pro</tt></em></p></blockquote>
+<p>Change the <tt>HEADERS</tt> line to list your plugin's header file plus a header file for each of your widgets. Make the equivalent change for the <tt>SOURCES</tt> line. If you create a Makefile with <tt>qmake</tt> and make the project the plugin will be created and placed in a directory where <em>Qt Designer</em> can find it. The next time you run <em>Qt Designer</em> it will detect your new plugin and load it automatically, displaying its icon in the toolbar you specified.</p>
+<h5><a name="2-2-4"></a>Using the Widget Plugin</h5>
+<p>Once the plugin has been compiled it will automatically be found and loaded by <em>Qt Designer</em> the next time <em>Qt Designer</em> is run. Use your custom widget just like any other.</p>
+<p>If you want to use the plugin in another of your projects you can link against it by adding an appropriate line to the project, e.g. by adding a line like this to the project's <tt>.pro</tt> file:</p>
+<pre>
+LIBS += filechooser.lib
+</pre>
+<p>When you want to distribute your application, include the compiled plugin with the executable. Install the plugin in <tt>plugins/widgets</tt> subdirectory of the Qt installation directory. If you don't want to use the standard plugin path, have your installation process determine the path you want to use for the plugin, and save the path, e.g. using QSettings, for the application to read when it runs. The application can then call QApplication::addLibraryPath() with this path and your plugins will be available to the application. Note that the final part of the path, i.e. <tt>styles</tt>, <tt>widgets</tt>, etc. cannot be changed.</p>
+<blockquote>
+<p align="center"><b> Plugins and Threaded Applications</b></p>
+<p>If you want to build a plugin which you want to use with a threaded Qt library (whether or not the plugin itself uses threads) you must use a threaded environment. Specifically, you must use a threaded Qt library, and you must build <em>Qt Designer</em> with that library. Your <tt>.pro</tt> file for your plugin must include the line:</p>
+<pre>
+ CONFIG += thread
+</pre>
+<p><b>Do not</b> mix the normal Qt library and the threaded Qt library in an application. If your application uses the threaded Qt library, you should not link with the normal Qt library. Nor should you dynamically load the normal Qt library or dynamically load another library, e.g. a plugin, that depends on the normal Qt library. On some systems, mixing threaded and non-threaded libraries or plugins will corrupt the static data used in the Qt library.</p>
+</blockquote>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-6.html">Prev: Subclassing and Dynamic Dialogs</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-8.html">Next: Creating Database Applications</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-8.html b/doc/html/designer-manual-8.html
new file mode 100644
index 0000000..353f092
--- /dev/null
+++ b/doc/html/designer-manual-8.html
@@ -0,0 +1,402 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-creating-database-applications.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Creating Database Applications</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-7.html">Prev: Creating Custom Widgets</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-9.html">Next: Customizing and Integrating Qt Designer</a>]</p>
+<h2 align="center">Creating Database Applications</h2>
+<!-- index Databases --><!-- index SQL --><p>This chapter shows you how to use Qt's data-aware widgets from within <em>Qt Designer</em>. It demonstrates <tt>INSERT</tt>, <tt>UPDATE</tt> and <tt>DELETE</tt> in both <a href="qdatatable.html">QDataTable</a>s (tables) and <a href="qdatabrowser.html">QDataBrowser</a>s (forms). It also shows how to code Master-Detail relationships and Drilldown. A simple approach to foreign key handling is presented here; a more sophisticated approach is shown in the online SQL module documentation.</p>
+<!-- index Databases!Drivers --><!-- index QODBC3, Database driver --><!-- index QOCI8, Database driver --><!-- index QPSQL7, Database driver --><!-- index QMYSQL3, Database driver --><!-- index Databases!Drivers!QODBC3 --><!-- index Databases!Drivers!QOCI8 --><!-- index Databases!Drivers!QPSQL7 --><!-- index Databases!Drivers!QMYSQL3 --><p>If you wish to run the examples or create your own applications using these widgets you need access to an SQL database and a Qt database driver that can connect to the database. At the time of writing the drivers that Qt supports are QODBC3 (Open Database Connectivity), QOCI8 (Oracle), QPSQL7 (PostgreSQL 6 and 7) and QMYSQL3 (MySQL).</p>
+<!-- index Widgets!Data Aware --><!-- index Data Aware Widgets --><!-- index Databases!Data Aware Widgets --><p>Although you can use the Qt data-aware widgets to browse and edit data in SQL databases without having to write any SQL, a basic understanding of SQL is highly recommended. We assume that you have some familiarity with <tt>SELECT</tt>, <tt>INSERT</tt>, <tt>UPDATE</tt>, and <tt>DELETE</tt> statements. We also assume a basic understanding of the concepts of normalization and of primary and foreign keys. A standard text covering SQL databases is <em>An Introduction to Database Systems (7th ed.)</em> by C. J. Date, ISBN 0201385902.</p>
+<!-- index In-place Editing --><!-- index Databases!In-place Editing --><p>In the following text we describe the creation of a 'book' database application. The application demonstrates how to use <a href="qdatatable.html">QDataTable</a>s including in-place record editing and how to set up master-detail relationships between <a href="qdatatable.html">QDataTable</a>s. It also explains how to drill down from a <a href="qdatatable.html">QDataTable</a> to another widget, for example, to a <a href="qdatabrowser.html">QDataBrowser</a> or a <a href="qdataview.html">QDataView</a> and how to perform record editing in a <a href="qdatabrowser.html">QDataBrowser</a>. A great deal of functionality is available from the classes directly in <em>Qt Designer</em> although subclassing is always available for finer control. If you want to build the 'book' examples you will need to create the example schema on your database.</p>
+<p align="center"><img align="middle" src="book-main.png" width="502" height="532">
+</p>
+<blockquote><p align="center"><em>The Book Application</em></p></blockquote>
+<blockquote>
+<p align="center"><b> The Example Schema</b></p>
+<p>Note that the examples in this chapter all use the tables, views and records which are defined in the <tt>qt/tools/designer/examples/book/book.sql</tt> file. This file has been tested with PostgreSQL 6 and PostgreSQL 7. You may need to modify the SQL in this file to recreate the example database on your own system.</p>
+<p>Schema <tt>CREATE TABLE</tt> Statements</p>
+<pre> CREATE TABLE author
+ ( id integer primary key,
+ forename varchar(40),
+ surname varchar(40) );
+</pre>
+<pre> CREATE TABLE book
+ ( id integer primary key,
+ title varchar(40),
+ price numeric(10,2),
+ authorid integer,
+ notes varchar(255) );
+</pre>
+<pre> CREATE TABLE sequence
+ ( tablename varchar(10),
+ sequence numeric);
+</pre>
+ <p>The 'book' table is simplified for the purposes of the example. It can only relate a book to a single author (authorid) and lacks an ISBN field. The 'sequence' table is used for generating unique index values for the example tables. Note that SQL databases often provide their own method for creating sequences (for example, using the <tt>CREATE SEQUENCE</tt> command) which is very likely to be a more optimal solution. For the sake of portability the examples will use a 'sequence' table which will work with the vast majority of SQL databases.</p>
+</blockquote>
+<h3><a name="1"></a>Setting Up Database Connections</h3>
+<!-- index Databases!Connecting to Database Servers --><!-- index Connecting!Databases to Database Servers --><p>There are two aspects of database connections that we must consider. Firstly the connection we wish to use within <em>Qt Designer</em> itself, and secondly the connection we wish to use in the applications that we create.</p>
+<h4><a name="1-1"></a>Setting Up Qt Designer's Connections</h4>
+<p align="center"><img align="middle" src="databaseconnections.png" width="479" height="352">
+</p>
+<blockquote><p align="center"><em>Edit Database Connections Dialog</em></p></blockquote>
+<p>Choose <b>Project|Database Connections</b> from the menu bar. The <em>Edit Database Connections</em> dialog will appear. Click <b>New Connection</b>. For applications that use a single database it will probably be most convenient to use the default connection name of '(default)'. If you use more than one database then each one must be given a unique name. A driver must be chosen from the Driver combo box. The database name may be available in the Database Name combo box or may have to be typed in. The database name, username, password, hostname and port should be provided by your database system administrator. When the Connection information has been completed click <b>Connect</b>. If the connection is made the connection name will appear in the list box on the left hand side of the dialog. You can now close the dialog; the connection settings will remain in effect until you change or delete them or exit from <em>Qt Designer</em>.</p>
+<p><b>Warning:</b> If you are using an existing SQLite database, ensure that the name you specify in the "Database Name" field is not the same as the existing database file. <em>Qt Designer</em> will create a configuration file using the name given for the database and will overwrite any existing files with the same name.</p>
+<!-- index Projects!Database Connections --><p><em>Qt Designer</em> can remember database connection settings in <tt>qmake</tt> project files. Create a new project, e.g. click <b>File|New</b>, then click the 'C++ Project' icon to invoke the <em>Project Settings</em> dialog. Click the ellipsis button to invoke the <em>Save As</em> dialog; navigate to the project's directory (creating it if necessary). Make sure you're in the project's directory, then enter a project name of 'book.pro'. Click the <b>Save</b> button to return to the <em>Project Settings</em> dialog, then click <b>OK</b>. Next time you start <em>Qt Designer</em> instead of opening individual <tt>.ui</tt> files open the <tt>.pro</tt> project file instead and <em>Qt Designer</em> will automatically reload the project's connection settings. To activate the connection click <b>Project|Database Connections</b>. The connections previously saved with the project will be listed in the left hand list box. Click the connection you wish to use and then click <b>Connect</b>. This connection will be used from now on, e.g. for previewing <a href="qdatatable.html">QDataTable</a>s. Opening a project file also causes <em>Qt Designer</em> to load in the list of forms associated with the project into the Project Overview window. In most of the explanation that follows we will assume that you use project files and have clicked <b>Connect</b> so that there is always a connection available when you work in <em>Qt Designer</em>.</p>
+<h4><a name="1-2"></a>Setting Up Connections for Applications</h4>
+<p>The applications you create must make their own connections to the SQL database. We provide an example function, <tt>createConnections()</tt>, that you can use as a basis for your own code.<!-- index createConnections() --></p>
+<pre>
+bool createConnections()
+{
+ // create the default database connection
+ QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( "QPSQL7" );
+ if ( ! defaultDB ) {
+ qWarning( "Failed to connect to driver" );
+ return FALSE;
+ }
+ defaultDB-&gt;setDatabaseName( "book" );
+ defaultDB-&gt;setUserName( "bookuser" );
+ defaultDB-&gt;setPassword( "bookpw" );
+ defaultDB-&gt;setHostName( "bookhost" );
+ if ( ! defaultDB-&gt;open() ) {
+ qWarning( "Failed to open books database: " +
+ defaultDB-&gt;lastError().driverText() );
+ qWarning( defaultDB-&gt;lastError().databaseText() );
+ return FALSE;
+ }
+
+ return TRUE;
+}
+</pre>
+<!-- index addDatabase() --><p>We call <tt>addDatabase()</tt> passing it the name of the driver we wish to use. We then set the connection information by calling the <tt>set</tt>... functions. Finally we attempt to open the connection. If we succeed we return TRUE, otherwise we output some error information and return FALSE. From <tt>qt/tools/designer/examples/book/book1/main.cpp</tt></p>
+<pre> int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( ! createConnections() )
+ return 1;
+
+ BookForm bookForm;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;bookForm );
+ bookForm.show();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<!-- index Databases!Connecting to Multiple Database Servers --><!-- index createConnections() --><!-- index main.cpp --><!-- index addDatabase() --> <p>All the examples presented in this chapter call <tt>createConnections()</tt> after creating the <a href="qapplication.html">QApplication</a> object in their <tt>main.cpp</tt> file and make use of the default connection. If you need to connect to multiple databases use the two-argument form of <tt>addDatabase()</tt>, passing it both the name of the driver and a unique identifier. This is explained further in the <a href="http://doc.trolltech.com/sql.html">Qt SQL Module documentation</a>.</p>
+<!-- index QSqlDatabase::database() --><p>You do not need to keep a reference to database connections. If you use a single database connection, this becomes the default connection and database functions will use this connection automatically. We can always get a pointer to any of our connections by calling <tt>QSqlDatabase::database()</tt>.</p>
+<p>If you create a <tt>main.cpp</tt> file using <em>Qt Designer</em>, this file will <em>not</em> include <tt>createConnections()</tt>. We do not include this function because it needs the username and password for the database connection, and you may prefer to handle these differently from our simple example function. As a result, applications that preview correctly in <em>Qt Designer</em> will not run unless you implement your own database connections function.</p>
+<h3><a name="2"></a>Using <a href="qdatatable.html">QDataTable</a></h3>
+<p><a href="qdatatable.html">QDataTable</a>s may be placed on any form to provide browsing of database tables and views. <a href="qdatatable.html">QDataTable</a>s can also be used to update or delete records in-place, i.e. inside the cells themselves. Inserting records via a <a href="qdatatable.html">QDataTable</a> usually requires connecting to the<!-- index primeInsert() --> <tt>primeInsert()</tt> signal, so that we can generate primary keys for example, or provide default values. If we wish to present records using a form view (perhaps combining data from several tables and views) we might use several <a href="qdatabrowser.html">QDataBrowser</a>s and <a href="qdataview.html">QDataView</a>s.</p>
+<h4><a name="2-1"></a>Quickly Viewing a Database Table</h4>
+<p>This example, along with all the other examples in this chapter, has the project name 'book' and uses the database created by the<!-- index book.sql --> <tt>book.sql</tt> script. As we work through the chapter we will build the 'book' application step by step. Create or copy the <tt>qt/tools/designer/examples/book/book1/main.cpp</tt> file shown earlier. The project file for this first example is <tt>qt/tools/designer/examples/book/book1/book.pro</tt>. Start a new project by clicking <b>File|New</b>, then click the 'C++ Project' icon to invoke the <em>Project Settings</em> dialog. Click the ellipsis button to invoke the <em>Save As</em> dialog; navigate to the project's directory (creating it if necessary). Make sure you're in the project's directory, then enter a project name of 'book.pro'. Click the <b>Save</b> button to return to the <em>Project Settings</em> dialog, then click <b>OK</b>. Now click <b>Project|Database Connections</b>. Fill in the connection information appropriate to your database then press <b>Connect</b>. The connection name should now appear in the left hand list box. (If this doesn't happen you'll need to contact your database systems administrator for help.) Close the dialog.</p>
+<p>We will now create a new form with a <a href="qdatatable.html">QDataTable</a> that's connected to one of our database tables.</p>
+<p>Click <b>File|New</b>. The <em>New File</em> dialog presents us with a number of form templates to choose from. Choose the 'Dialog' form and click <b>OK</b>. Now click <b>File|Save</b>. You will be prompted for a filename, call it <tt>book.ui</tt>.</p>
+<h5><a name="2-1-1"></a>Setting up a <a href="qdatatable.html">QDataTable</a></h5>
+<!-- index Databases!SQL Table Wizard --><!-- index Wizards!SQL Table --><p>To place a <a href="qdatatable.html">QDataTable</a> widget on the form either click <b>Tools|Views|DataTable</b> or click the <b>DataTable</b> toolbar button. Click on the form and the Data Table Wizard will appear.</p>
+<ol type=1><li><p>The <em>Database Connection and Table</em> wizard page is used to set up a connection if one doesn't exist and to choose the table or view for the <a href="qdatatable.html">QDataTable</a>. (See <a href="designer-manual-8.html#1-1">Setting Up Qt Designer's Connections</a>.)</p>
+<p>Click the connection you wish to use, listed in the left hand Database Connection list box, e.g. "(default)". The available tables and views will appear in the right hand Table list box. Click the 'author' table and then click the <b>Next</b> button.</p>
+<li><p>The <em>Displayed Fields</em> wizard page provides a means of selecting which fields should be displayed in the <a href="qdatatable.html">QDataTable</a> and in what order. By default all fields except the primary key (if there is one) are in the Displayed Fields list box. The left- and right-pointing blue arrow buttons can be used to move fields between the Displayed Fields and the Available Fields list boxes. The blue up and down pointing arrow buttons are used to select the display order of the displayed fields.</p>
+<p>The default settings are the ones we want so simply click <b>Next</b>.</p>
+<li><!-- index Properties!DataTable --><p>The <em>Table Properties</em> wizard page provides convenient access to some of the database-related properties of the <a href="qdatatable.html">QDataTable</a>.</p>
+<p>Make sure the Confirm Deletes checkbox is checked, then click <b>Next</b>.</p>
+<li><p>The <em>SQL</em> wizard page is used to set the <a href="qdatatable.html">QDataTable</a>'s Filter and Sort properties. The Filter is an SQL <tt>WHERE</tt> clause (without the word 'WHERE'). For example, to only list authors whose surnames begin with 'P', we would enter <tt>title LIKE 'P%'</tt>. We'll leave the filter empty. The Available Fields list box lists all the fields. The Sort By list box lists the fields that the <a href="qdatatable.html">QDataTable</a> is to sort by and the direction of their sorting (ASCending or DESCending). The left and right blue arrows are used to move fields between the two list boxes. The up and down blue arrows move fields up and down within the Sort By list box. The ASC or DESC setting is changed with the 'sort order' toolbar button.</p>
+<p>Move the surname and forename fields into the Sort By list box and click <b>Next</b>.</p>
+<li><p>The <em>Finish</em> wizard page gives us the opportunity to go back and change any of our settings. We will be able to change them later through the <a href="qdatatable.html">QDataTable</a>'s properties so we can finish with the wizard.</p>
+<p>Click <b>Finish</b>.</p>
+</ol><p>The table will appear on the form with each column labelled with a default column name. If you wish to change the settings then most of them are available in the property window. The display names, the fields they are based upon, and the order of appearance of the columns can be changed using the <em>Edit Table</em> dialog (explained later) by right clicking the <a href="qdatatable.html">QDataTable</a> and left clicking <b>Edit</b>.</p>
+<h5><a name="2-1-2"></a>Laying out the Form</h5>
+<p>Click on the form and click the <b>Lay Out Vertically</b> toolbar button. Now click <b>Preview|Preview Form</b>; the form will run and the table will automatically display all the records.</p>
+<p>To turn the form we've created into an executable application we must add the<!-- index main.cpp --> <tt>main.cpp</tt> file to the project file and make the project. We should also do some renaming to make things easier to understand.</p>
+<ol type=1><li><p>Click on the form and change its name to 'BookForm' and its caption to 'Book'. Click on the <a href="qdatatable.html">QDataTable</a> and change its name to 'AuthorDataTable'.</p>
+<li><p>Click <b>File|Save All</b>.</p>
+<li><p>Open the project file, e.g.<!-- index book.pro --> <tt>book.pro</tt>, in a plain text editor and add the line: <tt>SOURCES += main.cpp</tt> at the end of the file.</p>
+<li><p>Run <tt>qmake</tt> to generate the make file, e.g. <tt>qmake -o Makefile book.pro</tt>, then make and run the <tt>book</tt> program.</p>
+</ol><p>This example shows how easy it is to use <a href="qdatatable.html">QDataTable</a> to show the contents of a database table or view. You can use the application we've just built to update and delete author records. In the examples that follow we will cover insertions, setting up master-detail relationships, drilldown and foreign key lookups.</p>
+<blockquote>
+<p align="center"><b> A Note on Foreign Keys</b></p>
+<!-- index Foreign Keys --><!-- index Databases!Foreign Keys --><p>In most relational databases tables contain fields which are foreign keys into other tables. In our 'book' database example the authorid in the book table is a foreign key into the author table. When we present a form to the end user we do not usually want the foreign key itself to be visible but rather the text associated with it. Thus, we would want the author's name to appear rather than the author id when we show book information. In many databases, this can be achieved by using a view. See your database's documentation for details.</p>
+</blockquote>
+<h4><a name="2-2"></a>Inserting Records in <a href="qdatatable.html">QDataTable</a>s</h4>
+<!-- index Inserting Records --><!-- index Databases!Inserting Records --><p>Record insertion into a relational database usually requires the generation of a primary key value which uniquely identifies the record in the table. Also we often want to create default values for some fields to minimize the user's work. We will create a slot to capture the <a href="qdatatable.html">QDataTable</a>s<!-- index primeInsert() --> <tt>primeInsert()</tt> signal and populate the <a href="qsqlrecord.html">QSqlRecord</a> insertion buffer with a unique primary key.</p>
+<ol type=1><li><p>Click <b>Edit|Slots</b> to invoke the <em>Edit Functions</em> dialog. Click <b>New Function</b>, then enter the slot name <tt>primeInsertAuthor(QSqlRecord*)</tt> into the Function Properties' Function line edit box. Click <b>OK</b>.</p>
+<li><p>Click the <b>Connect Signals/Slots</b> toolbar button, then click the AuthorDataTable, drag to the form and release the mouse. The <em>Edit Connections</em> dialog will now appear. Click the<!-- index primeInsert() --> <tt>primeInsert()</tt> signal and then the <tt>primeInsertAuthor()</tt> slot to make the connection. Now click <b>OK</b>.</p>
+<li><p>Click the Members tab of the Object Explorer window (click <b>Window|Views|Object Explorer</b> to make the window visible if necessary). Click the <tt>primeInsertAuthor()</tt> slot and an editor window will appear.</p>
+<li><p>We must change the <tt>BookForm::primeInsertAuthor()</tt> slot to specify the parameter name and perform the necessary action:</p>
+<pre> void BookForm::primeInsertAuthor( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ <a href="qsqlquery.html">QSqlQuery</a> query;
+ query.<a href="qsqlquery.html#exec">exec</a>( "UPDATE sequence SET sequence = sequence + 1 WHERE tablename='author';" );
+ query.<a href="qsqlquery.html#exec">exec</a>( "SELECT sequence FROM sequence WHERE tablename='author';" );
+ if ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", query.<a href="qsqlquery.html#value">value</a>( 0 ) );
+ }
+ }
+</pre>
+ <p>A <a href="qsqlquery.html">QSqlQuery</a> object is used to increment and retrieve a unique 'sequence' number for the author table. The signal passed us a pointer to the insertion buffer and we then put the value we've retrieved, i.e. the next sequence number, into the buffer's id field. (Again, note that SQL databases often support a native 'sequence' function. The method used here is inappropriate for production systems, and is for example purposes only. See your database's documentation for details on how to generate unique keys in code. In many cases, the database can generate them automatically, or the database may provide a special syntax for dealing with sequences.)</p>
+</ol><!-- index Deleting!Records!Databases --><!-- index Databases!Deleting Records --><!-- index Updating Records --><!-- index Databases!Updating Records --><p>If we rebuild the application it will now support <tt>INSERT</tt> as well as <tt>UPDATE</tt> and <tt>DELETE</tt>. We could easily have added additional code to insert default values, e.g. today's date into a date field, if necessary.</p>
+<!-- index Databases!Browsing --><!-- index Databases!Confirmations --><!-- index Browsing Databases --><p>Browsing is supported by clicking records and by using the arrow keys. Once a record is active (highlighted) we can edit the it. Press the <b>Insert</b> key to <tt>INSERT</tt> a new record; press <b>F2</b> to <tt>UPDATE</tt> the current record; press the <b>Del</b> key to <tt>DELETE</tt> the current record. All these operations take place immediately. Users can be given the opportunity to confirm their edits by setting the <a href="qdatatable.html">QDataTable</a>'s confirmEdits property to True. If the confirmEdits property is True then user confirmation will be required for all insertions, updates and deletes. For finer control you can set the confirmInsert, confirmUpdate and confirmDelete properties individually.</p>
+<blockquote>
+<p align="center"><b> <a href="qdatatable.html">QDataTable</a> User Interface Interaction</b></p>
+<!-- index Databases!User Interface Interaction --><!-- index User Interface Interaction, Databases --><p>The default user-interface behavior for <a href="qdatatable.html">QDataTable</a>s is as follows:</p>
+<ul><li><p>Users can move to records by clicking the scrollbar and clicking records with the mouse. They can also use the keyboard's navigation keys, e.g. <b>Left Arrow</b>, <b>Right Arrow</b>, <b>Up Arrow</b>, <b>Down Arrow</b>, <b>Page Up</b>, <b>Page Down</b>, <b>Home</b> and <b>End</b>.</p>
+<li><p><tt>INSERT</tt> is initiated by right-clicking the record and clicking Insert or by pressing the <b>Ins</b> (Insert) key. The user moves between fields using <b>Tab</b> and <b>Shift+Tab</b>. The <tt>INSERT</tt> will take place if the user presses <b>Enter</b> or <b>Tab</b>s off the last field. If autoEdit is TRUE the insert will take place if the user navigates to another record. <tt>INSERT</tt> is cancelled by pressing <b>Esc</b> (Escape). If autoEdit is FALSE navigating to another record also cancels the <tt>INSERT</tt>. Setting confirmInsert to TRUE will require the user to confirm each <tt>INSERT</tt>.</p>
+<li><p><tt>UPDATE</tt> is initiated by right-clicking the record and clicking Update or by pressing <b>F2</b>. The update will take place if the user presses Enter or Tabs off the last field. If autoEdit is TRUE the update will take place if the user navigates to another record. <tt>UPDATE</tt> is cancelled by pressing <b>Esc</b>. If autoEdit is FALSE navigating to another record also cancels the <tt>UPDATE</tt>. Setting confirmUpdate to TRUE will require the user to confirm each <tt>UPDATE</tt>.</p>
+<li><p><tt>DELETE</tt> is achieved by right-clicking the record and clicking Delete or by pressing the <b>Del</b> (Delete) key. Setting confirmDelete to TRUE will require the user to confirm each <tt>DELETE</tt>.</p>
+</ul><p>You can change this default behavior programmatically if required.</p>
+</blockquote>
+<h4><a name="2-3"></a>Relating Two Tables Together (Master-Detail)</h4>
+<!-- index Databases!Master-Detail Relationships --><!-- index Master-Detail Relationships --><p>Databases often have pairs of tables that are related. For example, an invoice table might list the numbers, dates and customers for invoices, but not the actual invoice items, which an invoice item table might store. In the 'book' application we wish to have a <a href="qdatatable.html">QDataTable</a> that we can use to browse through the authors table and a second <a href="qdatatable.html">QDataTable</a> to show the books they've written.</p>
+<p>Open the book project if it isn't already open <em>Qt Designer</em>. We will modify this project to show two <a href="qdatatable.html">QDataTable</a>s that relate the author table to the book table.</p>
+<ol type=1><li><p>Click the author <a href="qdatatable.html">QDataTable</a> and then click the <b>Break Layout</b> toolbutton.</p>
+<li><p>Resize the DataTable so that it only occupies the top half of the form.</p>
+<li><p>Now click on the DataTable toolbutton and click on the bottom half of the form. The Table Wizard will appear. (This Wizard is explained in <a href="designer-manual-8.html#2-1">Quickly Viewing a Database Table</a>.)</p>
+<ol type=1><li><p>Click the connection you're using and click the book table. Click the <b>Next</b> button.</p>
+<li><p>Since we do not want them visible, make sure the authorid and id fields are moved to the Available Fields list box by using the arrow buttons. Move the title field to the top of the Displayed Fields, and move the price field above the notes field. Click the <b>Next</b> button.</p>
+<li><p>On the Table Properties page click the Read Only checkbox then click the <b>Next</b> button.</p>
+<li><p>On the SQL page we will leave the Filter (<tt>WHERE</tt> clause) empty. Move the title field to the Sort By list box and click <b>Next</b>. Now click <b>Finish</b>.</p>
+<li><p>Change this <a href="qdatatable.html">QDataTable</a>'s name to "BookDataTable".</p>
+</ol><li><p><b>Shift+Click</b> the top <a href="qdatatable.html">QDataTable</a> so that both <a href="qdatatable.html">QDataTable</a>s are selected and then click the <b>Lay Out Vertically (in Splitter)</b> toolbar button.</p>
+<li><p>Click on the form and click the <b>Lay Out Vertically</b> toolbar button.</p>
+</ol><p>Preview the form by clicking <b>Preview|Preview Form</b>. All the authors are displayed in the top <a href="qdatatable.html">QDataTable</a> and all the books are displayed in the bottom <a href="qdatatable.html">QDataTable</a>. However we only want the books of the currently selected author showing in the bottom <a href="qdatatable.html">QDataTable</a>. We will deal with this by filtering the records in the book table according to the author selected in the author table.</p>
+<blockquote>
+<p align="center"><b> Using the Table Editor</b></p>
+<!-- index Value Editors!SQL Table Editor --><p align="center"><img align="middle" src="edit-dbtable-dialog.png" width="613" height="405">
+</p>
+<blockquote><p align="center"><em>Edit Table Dialog</em></p></blockquote>
+<p><a href="qdatatable.html">QDataTable</a>s are created and set up using the SQL Table Wizard. Like any other <em>Qt Designer</em> widget their properties may be changed in the Properties window. Some of the column and row based properties can also be be changed using the <em>Edit Table</em> dialog. This dialog is invoked by right clicking the <a href="qdatatable.html">QDataTable</a> and left clicking the <b>Edit</b> menu item. The right hand half of the <em>Edit Table</em> dialog is where we choose the fields we wish to display, their order and their labels. The procedure for creating columns is as follows:</p>
+<ol type=1><li><p>Click the <b>New Column</b> button.</p>
+<li><p>Drop down the Field combobox to list the available fields.</p>
+<li><p>Click the field you wish to include at this point.</p>
+<li><p><em>Optionally</em> edit the Label if the default isn't appropriate.</p>
+<li><p><em>Optionally</em> click the Pixmap ellipsis (<b>...</b>) button to choose a pixmap to be displayed to the left of the column's label. (The ellipsis button appears when you click in the Value part of the Properties list by a <em>pixmap</em> or <em>iconSet</em> property.)</p>
+</ol><p>Repeat the steps listed above for each column you wish to add. Once all the fields have been added you can change their ordering by using the blue up and down arrow buttons. At any point you can press <b>Apply</b> to see how the table will look. Finally click the <b>OK</b> button to save the properties you have set. You can always return to the table editor to change these settings later.</p>
+</blockquote>
+<h5><a name="2-3-1"></a>Filtering One <a href="qdatatable.html">QDataTable</a> by Another</h5>
+<!-- index Databases!Relating Tables --><p>To filter the book table's records we need to capture the author <a href="qdatatable.html">QDataTable</a>'s<!-- index currentChanged() --> <tt>currentChanged()</tt> signal and change the BookDataTable's filter accordingly.</p>
+<ol type=1><li><p>Click <b>Edit|Slots</b>. In the <em>Edit Functions</em> dialog click <b>New Function</b> and enter a slot name of <tt>newCurrentAuthor(QSqlRecord*)</tt>. Click <b>OK</b>.</p>
+<li><p>Click <b>Edit|Connections</b> to invoke the <em>View and Edit Connections</em> dialog. Create a new connection, connecting the AuthorDataTable's currentChanged() signal to the form's newCurrentAuthor() slot. Click <b>OK</b>.</p>
+<li><p>Click the Members tab of the Object Explorer window (click <b>Window|Views|Object Explorer</b> to make the window visible if necessary). Click the <tt>newCurrentAuthor()</tt> slot and an editor window will appear.</p>
+<li><p>We must change the <tt>BookForm::newCurrentAuthor()</tt> slot to specify the parameter name and perform the necessary action:</p>
+<pre> void BookForm::newCurrentAuthor( <a href="qsqlrecord.html">QSqlRecord</a> *author )
+ {
+ BookDataTable-&gt;setFilter( "authorid=" + author-&gt;<a href="qsqlrecord.html#value">value</a>( "id" ).toString() );
+ BookDataTable-&gt;refresh();
+ }
+</pre>
+ <p>All that's required now is to change the BookDataTable's filter and refresh the <a href="qdatatable.html">QDataTable</a> to show the results of the filter.</p>
+</ol><h5><a name="2-3-2"></a>Preparing the Interface for Drilldown</h5>
+<!-- index Databases!Drilldown --><!-- index Drilldown --><p>We can now browse and edit authors and see their books in the BookDataTable. In the next section we explore <a href="qdatabrowser.html">QDataBrowser</a>, which will allow us to drill down to a dialog through which we can edit books. For now we will add some buttons to the main BookForm which we will use to invoke the book editing dialog.</p>
+<ol type=1><li><p>Click the form, then click the <b>Break Layout</b> toolbar button. Resize the form to make room for some buttons at the bottom.</p>
+<li><p>Add two buttons to the bottom of the form. Change their names and labels to the following:</p>
+<ul><li><p>EditPushButton -- &amp;Edit Books</p>
+<li><p>QuitPushButton -- &amp;Quit</p>
+</ul><p>Hold down the Shift key and Click both buttons (i.e. <b>Shift+Click</b> the buttons) and click the <b>Lay Out Horizontally</b> toolbar button. Click the form and click the <b>Lay Out Vertically</b> toolbar button.</p>
+<li><p>We will provide the Quit button with functionality now and work on the rest shortly. Click <b>Edit|Connections</b>, then connect the the Quit button's clicked() signal to the form's accept() slot. Click <b>OK</b>.</p>
+</ol><h3><a name="3"></a>Using <a href="qdatabrowser.html">QDataBrowser</a> and <a href="qdataview.html">QDataView</a></h3>
+<p align="center"><img align="middle" src="book-dialog.png" width="548" height="405">
+</p>
+<blockquote><p align="center"><em>The Book Application's Edit Books Dialog</em></p></blockquote>
+<h4><a name="3-1"></a>Drilling Down to a Form using <a href="qdatabrowser.html">QDataBrowser</a></h4>
+<h5><a name="3-1-1"></a>Setting up a <a href="qdatabrowser.html">QDataBrowser</a></h5>
+<!-- index Databases!Drilldown --><!-- index Drilldown --><!-- index Databases!Data Browser Wizard --><!-- index Wizards!Data Browser --><p>We will now create a new form to allow users to edit book records. Click the <b>New</b> toolbar button, click the Dialog template from the <em>New File</em> dialog and click <b>OK</b>. Change the name of the form to EditBookForm and its caption to 'Edit Books'. Click the <b>Save</b> toolbar button and call the file <tt>editbook.ui</tt>. Now that we have the form we can add a <a href="qdatabrowser.html">QDataBrowser</a> to show the book records.</p>
+<ol type=1><li><p>Click the <b>Data Browser</b> toolbar button, then click the form. The Data Browser Wizard will appear.</p>
+<li><p>The <em>Database Connection and Table</em> wizard page is used to set up a connection if one doesn't exist and to choose the table or view for the <a href="qdatabrowser.html">QDataBrowser</a>. (See <a href="designer-manual-8.html#1-1">Setting Up Qt Designer's Connections</a>.)</p>
+<p>Click the connection you wish to use, listed in the Database Connection list box, e.g. "(default)". The available tables and views will appear in the Table list box. Click the book table and then click the <b>Next</b> button.</p>
+<li><p>The <em>Displayed Fields</em> wizard page provides a means of selecting which fields should be displayed in the <a href="qdatabrowser.html">QDataBrowser</a> and in what order. By default all fields except the primary key (if there is one) are in the right hand Displayed Fields list box. The left and right blue arrow buttons can be used to move fields between the Displayed Fields and the Available Fields list boxes. The blue up and down arrow buttons are used to select the display order of the displayed fields.</p>
+<p>We don't want to see the authorid foreign key field on the form, so move it to the Available Fields list box. Also, move the title field to the top of the Displayed Fields list. Click the <b>Next</b> button.</p>
+<li><p>The <em>Navigation and Editing</em> wizard page allows us to choose which navigation and editing buttons should appear on the form.</p>
+<p>We will accept the defaults and simply click the <b>Next</b> button.</p>
+<li><p>The <em>SQL</em> wizard page is used to set the <a href="qdatabrowser.html">QDataBrowser</a>'s Filter and Sort properties. The Filter is an SQL <tt>WHERE</tt> clause (without the word 'WHERE'). For example, to only list books that cost less than 50 (of some currency, e.g. dollars), we would enter <tt>price &lt; 50</tt>. We will leave the filter empty. The Available Fields list box lists all the fields. The Sort By list box lists the fields that the <a href="qdatabrowser.html">QDataBrowser</a> is to sort by and the direction of their sorting (ASCending or DESCending). The left and right blue arrows are used to move fields between the two list boxes. The up and down blue arrows move fields up and down within the Sort By list box. The ASC or DESC setting is changed with the sort order button.</p>
+<p>Move the title field into the Sort By list box and click <b>Next</b>.</p>
+<li><p>The <em>Layout</em> wizard page is used to specify the initial layout of the form.</p>
+<p>Change the Number of Columns to 1, then click <b>Next</b>. Now click <b>Finish</b>.</p>
+<li><p>The <a href="qdatabrowser.html">QDataBrowser</a> will now appear on the form. Resize the form to make it smaller. Click the <a href="qdatabrowser.html">QDataBrowser</a> then click the <b>Break Layout</b> toolbar button. Click the buttons then click the <b>Break Layout</b> toolbar button. Add another button called 'PushButtonClose' with the text '&amp;Close' and place it to the right of the Delete button.</p>
+<li><p><b>Shift+Click</b> the Insert, Update, Delete and Close buttons, then click the <b>Lay Out Horizontally</b> toolbar button. Click the <a href="qdatabrowser.html">QDataBrowser</a>, then click the <b>Lay Out in a Grid</b> toolbar button. Finally click the form and click the <b>Lay Out Vertically</b> toolbar button. Now click the <a href="qdatabrowser.html">QDataBrowser</a> and rename it 'BookDataBrowser'.</p>
+<li><p><em>Qt Designer</em> will generate the necessary code to make the browser operational (including generating the appropriate cursor, sort and filter code).</p>
+<p>For finer control over the form, we will be creating our own database cursor. Therefore, set the BookDataBrowser's frameworkCode property to FALSE in the Properties window to prevent <em>Qt Designer</em> from generating redundant code for the cursor.</p>
+</ol><blockquote>
+<p align="center"><b> <a href="qdatabrowser.html">QDataBrowser</a> User Interface Interaction</b></p>
+<p>The user-interface behavior for <a href="qdatabrowser.html">QDataBrowser</a>s is created by connecting slots and signals. The slots provided are:</p>
+<ul><li><!-- index insert() --><p><tt>insert()</tt>,<!-- index update() --> <tt>update()</tt> and<!-- index del() --> <tt>del()</tt> for editing;</p>
+<li><!-- index first() --><p><tt>first()</tt>,<!-- index next() --> <tt>next()</tt>,<!-- index prev() --> <tt>prev()</tt>, and<!-- index last() --> <tt>last()</tt> for navigation;</p>
+<li><!-- index refresh() --><p><tt>refresh()</tt> to refresh the cursor from the database;</p>
+<li><!-- index readFields() --><p><tt>readFields()</tt> to read data from the cursor's edit buffer and<!-- index writeFields() --> <tt>writeFields()</tt> to write the form's data to the cursor's edit buffer;</p>
+<li><!-- index clearValues() --><p><tt>clearValues()</tt> to clear the form's values.</p>
+</ul><p>If you use <em>Qt Designer</em>'s <a href="qdatabrowser.html">QDataBrowser</a> wizard you will be given the option of creating a default set of buttons for navigation and editing. The behavior of these buttons is set up using the slots described above to provide the following functionality:</p>
+<ul><li><p><tt>INSERT</tt> is initiated by pressing the <b>Ins</b> (Insert) key. The user moves between fields using <b>Tab</b> and <b>Shift+Tab</b>. If the user presses the Update button the <tt>INSERT</tt> will take place and the user will be taken to the record they have just inserted. If the user presses the Insert button (i.e. a second time) the <tt>INSERT</tt> will take place and a new insertion will be initiated. If autoEdit is TRUE the <tt>INSERT</tt> will take place if the user navigates to another record. <tt>INSERT</tt> is cancelled by pressing the <b>Esc</b> key or by pressing the <b>Del</b> (Delete) key. If autoEdit is FALSE then navigating to another record also cancels the <tt>INSERT</tt>. Setting confirmInsert to TRUE will require the user to confirm each <tt>INSERT</tt>.</p>
+<li><p><tt>UPDATE</tt> is automatically initiated whenever the user navigates to a record. An update will take place if the user presses the Update button. If autoEdit is TRUE the update will take place if the user navigates to another record. <tt>UPDATE</tt> is cancelled by pressing the <b>Esc</b> key or by pressing the <b>Del</b> button. If autoEdit is FALSE then navigating to another record also cancels the <tt>UPDATE</tt>. Setting confirmUpdate to TRUE will require the user to confirm each <tt>UPDATE</tt>.</p>
+<li><p><tt>DELETE</tt> is achieved by pressing the <b>Del</b> key. Setting confirmDelete to TRUE will require the user to confirm each <tt>DELETE</tt>.</p>
+</ul></blockquote>
+<h5><a name="3-1-2"></a>Performing the Drilldown</h5>
+<!-- index Databases!Drilldown --><!-- index Drilldown --><p>We now have a working form for editing book records. We need to start the form when the user clicks our 'Edit Books' button, and to navigate to the record they have selected in the BookDataTable. We also need to provide a means of editing the foreign keys, e.g. authorid.</p>
+<ol type=1><li><p>We need to make a new slot to connect the Edit Books' button's<!-- index clicked() --> <tt>clicked()</tt> signal to. Click on the Book form to make it <em>Qt Designer</em>'s active form. Invoke the <em>Edit Functions</em> dialog and create a new function called <tt>editClicked()</tt>. Now click <b>Edit|Connections</b>. Connect the Edit Books button's clicked() signal to the form's editClicked() slot. Clicked() slot. Click <b>OK</b> to leave the dialog.</p>
+<!-- index Object Hierarchy --><li><p>In the Object Explorer window click Members and then click the <tt>editClicked</tt> function. We need to change it to the following:</p>
+<pre> void BookForm::editClicked()
+ {
+ EditBookForm *dialog = new EditBookForm( this, "Edit Book Form", TRUE );
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "book" );
+ dialog-&gt;BookDataBrowser-&gt;setSqlCursor( &amp;cur );
+ dialog-&gt;BookDataBrowser-&gt;setFilter( BookDataTable-&gt;filter() );
+ dialog-&gt;BookDataBrowser-&gt;setSort(QSqlIndex::<a href="qsqlindex.html#fromStringList">fromStringList</a>(
+ BookDataTable-&gt;sort(), &amp;cur ) );
+ dialog-&gt;BookDataBrowser-&gt;refresh();
+ int i = BookDataTable-&gt;currentRow();
+ if ( i == -1 ) i = 0; // Always use the first row
+ dialog-&gt;BookDataBrowser-&gt;seek( i );
+ dialog-&gt;exec();
+ delete dialog;
+ BookDataTable-&gt;refresh();
+ }
+</pre>
+ <p>We create our dialog as before. We also create a cursor over the book table and set the dialog's <a href="qdatabrowser.html">QDataBrowser</a>, BookDataBrowser, to use this new cursor. We set the <a href="qdatabrowser.html">QDataBrowser</a>'s filter and sort to those that applied to the main form's book <a href="qdatatable.html">QDataTable</a>. We refresh the <a href="qdatabrowser.html">QDataBrowser</a> and seek to the same record the user was viewing on the main form. Then we exec the dialog and delete it when the user has finished with it. Finally we update the BookDataTable in the main form to reflect any changes that were made in the dialog.</p>
+<li><p>Because our code refers to a class declared in <tt>editbook.h</tt> and to a <a href="qdatabrowser.html">QDataBrowser</a> we need to add two additional include files. Click on the BookForm, then click on the Members tab of the Object Explorer window. Right click the 'Includes (In Declaration)' item and click New. Type in <tt>"editbook.h"</tt>. Now add a second include, this time, <tt></tt>&lt;qdatabrowser.h&gt;.</p>
+</ol><p>Now when we navigate through the author and book records in the BookForm we can click the Edit Books button to launch our Edit Books dialog. Although the dialog supports <tt>UPDATE</tt>, <tt>DELETE</tt> and navigation over the book table, we cannot edit the foreign keys nor perform inserts. We will deal with insertion in the same way as we did with the <a href="qdatatable.html">QDataTable</a>, then we will handle the foreign key relationship to author.</p>
+<h5><a name="3-1-3"></a>Inserting into a <a href="qdatabrowser.html">QDataBrowser</a></h5>
+<p>We will create a slot to receive the Edit Books form's<!-- index primeInsert() --> <tt>primeInsert()</tt> signal so that we can insert a unique primary key.</p>
+<ol type=1><li><p>Click on the Edit Books form, then create a new Slot called <tt>primeInsertBook(QSqlRecord*)</tt>.</p>
+<p>Click <b>Edit|Slots</b>, then click the <b>New Function</b> button and type the new function name in the Function Properties Function edit box. Click <b>OK</b>.</p>
+<li><p>Connect the BookDataBrowser's<!-- index primeInsert() --> <tt>primeInsert()</tt> signal to the <tt>primeInsertBook()</tt> slot.</p>
+<p>Click the <b>Connect Signals/Slots</b> toolbar button, then click the BookDataBrowser and drag to the form; release the mouse on the form. Now click the<!-- index primeInsert() --> <tt>primeInsert()</tt> signal and the primeInsertBook slot. Click <b>OK</b>.</p>
+<li><p>In the Object Explorer window click Members and then click the <tt>primeInsertBook</tt> slot. We need to change it to the following:</p>
+<pre> void EditBookForm::primeInsertBook( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ <a href="qsqlquery.html">QSqlQuery</a> query;
+ query.<a href="qsqlquery.html#exec">exec</a>( "UPDATE sequence SET sequence = sequence + 1 WHERE tablename='book';" );
+ query.<a href="qsqlquery.html#exec">exec</a>( "SELECT sequence FROM sequence WHERE tablename='book';" );
+ if ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", query.<a href="qsqlquery.html#value">value</a>( 0 ) );
+ }
+ }
+</pre>
+<li><!-- index clicked() --><!-- index accept() --> <p>We will also tidy up the user interface slightly. Click the Update button and set its default property to True. Connect the Close button's <tt>clicked()</tt> signal to the EditBookForm's <tt>accept()</tt> slot.</p>
+</ol><h5><a name="3-1-4"></a>Handling Foreign Keys in a <a href="qdatabrowser.html">QDataBrowser</a></h5>
+<!-- index Foreign Keys --><!-- index Databases!Foreign Keys --><p>Qt's SQL module provides two approaches to dealing with foreign keys. The most powerful and flexible approach is to subclass widgets and use property maps to relate the widgets to the database. This approach is described in the <a href="http://doc.trolltech.com/sql.html#Custom_Editor_Widgets">Qt SQL Module documentation</a>, particularly the StatusPicker example. A simpler approach that can be taken wholly within <em>Qt Designer</em> is presented here.</p>
+<p>We will add a new field to the EditBookForm so that authors can be edited along with the title and price. Once we've handled the visual design we'll write the code to make it all work.</p>
+<ol type=1><li><p>First we'll add the new widgets. Click the BookDataBrowser and click the <b>Break Layout</b> toolbar button. Resize the form to make it larger and drag each set of buttons down to make some room below the title and price QLineEdits. Click the <b>Text Label</b> toolbar button and click on the form beneath the Price label. Click the <em>Text Label</em> and change its text to 'Author'. Click the <b>ComboBox</b> toolbar button and click on the form beneath the price QLineEdit. In the Property Window change the <em>ComboBox</em>'s <em>name</em> to ComboBoxAuthor and change its <em>sizePolicy</em> <em>hSizeType</em> to Expanding.</p>
+<li><p>Now we'll lay out the dialog. <b>Shift+Click</b> the Author label and the <em>ComboBox</em> then click the <b>Lay Out Horizontally</b> toolbar button. Now click the BookDataBrowser and click the <b>Lay Out in a Grid</b> toolbar button.</p>
+</ol><p>We need to write some code so that the <em>ComboBox</em> will be populated with author names and scroll to the current book's author. We also need to ensure that we put the author's id into the book table's authorid field when a book record is inserted or updated. We'll ensure the code is executed at the right time by putting it in slots and connecting signals to our slots.</p>
+<ol type=1><li><p>Create two new slots called <tt>beforeUpdateBook(QSqlRecord *buffer)</tt> and <tt>primeUpdateBook(QSqlRecord *buffer)</tt>. (Click <b>Edit|Slots</b>, then in the <em>Edit Functions</em> dialog click New Function and enter the first new slot. Click New Function again and enter the second slot then click <b>OK</b>.)</p>
+<li><p>When the user navigates through the dialog, each time they move to a new record, a<!-- index primeUpdate() --> <tt>primeUpdate()</tt> signal is emitted. We connect to this so that we can update the <em>ComboBox</em>'s display. Just before a record is updated or inserted into the database a<!-- index beforeUpdate() --> <tt>beforeUpdate()</tt> or<!-- index beforeInsert() --> <tt>beforeInsert()</tt> signal is emitted. We connect our <tt>beforeUpdateBook()</tt> slot to both these signals so that we can ensure that the book's authorid field is correctly populated.</p>
+<p>Click the BookDataBrowser and drag the mouse to the form; release the mouse and the <em>Edit Connections</em> dialog will appear. Connect the<!-- index beforeUpdate() --> <tt>beforeUpdate()</tt> signal to our <tt>beforeUpdateBook()</tt> slot. Connect the<!-- index beforeInsert() --> <tt>beforeInsert()</tt> signal to our <tt>beforeUpdateBook()</tt> slot. Finally connect the<!-- index primeUpdate() --> <tt>primeUpdate()</tt> signal to our <tt>primeUpdateBook()</tt> slot.</p>
+<li><p>All that remains is to write the underlying code. All the code snippets are taken from <tt>qt/tools/designer/examples/book/book7/editbook.ui</tt>.</p>
+<ul><li><p>We start with the<!-- index init() --> <tt>init()</tt> function; this is called after the dialog is constructed and we will use it to populate the <em>ComboBox</em> with author names.</p>
+<pre> void EditBookForm::init()
+ {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT surname FROM author ORDER BY surname;" );
+ while ( query.<a href="qsqlquery.html#next">next</a>() )
+ ComboBoxAuthor-&gt;insertItem( query.<a href="qsqlquery.html#value">value</a>( 0 ).toString());
+ }
+</pre>
+ <p>Here we execute a query to get a list of author names and insert each one into the <em>ComboBox</em>.</p>
+<li><p>We next write the code which will be executed just before a record is updated (or inserted) in the database.</p>
+<pre> void EditBookForm::beforeUpdateBook( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id FROM author WHERE surname ='" +
+ ComboBoxAuthor-&gt;currentText() + "';" );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "authorid", query.<a href="qsqlquery.html#value">value</a>( 0 ) );
+ }
+</pre>
+ <p>We look up the id of the <em>ComboBox</em>'s current author and place it in the update (or insert) buffer's authorid field.</p>
+<li><p>As the user navigates through the records we ensure that the <em>ComboBox</em> reflects the current author.</p>
+<pre> void EditBookForm::primeUpdateBook( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ // Who is this book's author?
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT surname FROM author WHERE id='" +
+ buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "authorid" ).toString() + "';" );
+ <a href="qstring.html">QString</a> author = "";
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ author = query.<a href="qsqlquery.html#value">value</a>( 0 ).toString();
+ // Set the ComboBox to the right author
+ for ( int i = 0; i &lt; ComboBoxAuthor-&gt;count(); i++ ) {
+ if ( ComboBoxAuthor-&gt;text( i ) == author ) {
+ ComboBoxAuthor-&gt;setCurrentItem( i ) ;
+ break;
+ }
+ }
+ }
+</pre>
+ <p>Firstly we look up the book's author and secondly we iterate through the <em>ComboBox</em>'s items until we find the author and set the <em>ComboBox</em>'s current item to the matching author.</p>
+</ul></ol><p>If the author name has changed or been deleted the query will fail and no author id will be inserted into the buffer causing the <tt>INSERT</tt> to fail. An alternative is to record the author id's as we populate the <em>ComboBox</em> and store them in a <a href="qmap.html">QMap</a> which we can then look up as required. This approach requires changes to the<!-- index init() --> <tt>init()</tt>, <tt>beforeUpdateBook()</tt> and <tt>primeInsertBook()</tt> functions and the addition of a new function, <tt>mapAuthor()</tt>. The relevant code from <tt>qt/tools/designer/examples/book/book8/editbook.ui</tt> is shown below.</p>
+<ol type=1><li><p>First we need to create a class variable to map author names to author id's. Click in the Members tab of the Object Explorer, then right click the Class Variables item and click <b>New</b>. Type in 'QMap&lt;QString,int&gt; authorMap;'.</p>
+<li><p>We now record the author id's in the<!-- index init() --> <tt>init()</tt> function.</p>
+<pre> void EditBookForm::init()
+ {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT surname, id FROM author ORDER BY surname;" );
+ while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ ComboBoxAuthor-&gt;insertItem( query.<a href="qsqlquery.html#value">value</a>( 0 ).toString() );
+ int id = query.<a href="qsqlquery.html#value">value</a>( 1 ).toInt();
+ mapAuthor( query.<a href="qsqlquery.html#value">value</a>( 0 ).toString(), id, TRUE );
+ }
+ }
+</pre>
+ <p>After inserting each author's name into the <em>ComboBox</em> we populate a <a href="qmap.html">QMap</a> with the author's name and id.</p>
+<li><p>Instead of looking up the author's id in the database we look it up in the <a href="qmap.html">QMap</a>.</p>
+<pre> void EditBookForm::beforeUpdateBook( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ int id;
+ mapAuthor( ComboBoxAuthor-&gt;currentText(), id, FALSE );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "authorid", id );
+ }
+</pre>
+<li> <p>We use a single function for storing author id's and returning them so that we can use a static data structure.</p>
+<pre> void EditBookForm::mapAuthor( const <a href="qstring.html">QString</a> &amp; name, int &amp; id, bool populate )
+ {
+ if ( populate )
+ authorMap[ name ] = id;
+ else
+ id = authorMap[ name ];
+ }
+</pre>
+ <p>If the populate flag is TRUE, we store the author's name and id in the <a href="qmap.html">QMap</a>, otherwise we look up the given author name and set id appropriately.</p>
+<li><p>Before we perform an update we must ensure that the author combobox shows the right author.</p>
+<pre> void EditBookForm::primeUpdateBook( <a href="qsqlrecord.html">QSqlRecord</a> * buffer )
+ {
+ int id = buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "authorid" ).toInt();
+ for ( int i = 0; i &lt; ComboBoxAuthor-&gt;count(); i++ ) {
+ <a href="qstring.html">QString</a> author = ComboBoxAuthor-&gt;text( i );
+ if ( authorMap.contains( author ) &amp;&amp; authorMap[author] == id ) {
+ ComboBoxAuthor-&gt;setCurrentItem( i ) ;
+ break;
+ }
+ }
+ }
+</pre>
+</ol><!-- index Databases!Foreign Keys --><!-- index Foreign Keys --> <p>Another approach which is especially useful if the same foreign key lookups are required in different parts of the application is to subclass a cursor and use this for our lookups. This is described in the <a href="http://doc.trolltech.com/sql.html">Qt SQL Module documentation</a>, particulary the section on subclassing <a href="qsqlcursor.html">QSqlCursor</a>.</p>
+<p>The 'book' example demonstrates the basic techniques needed for SQL programming with Qt. Additional information on the Qt SQL classes, especially the <a href="qsqlquery.html">QSqlQuery</a> and <a href="qsqlcursor.html">QSqlCursor</a> classes is provided in the <a href="http://doc.trolltech.com/sql.html">Qt SQL Module documentation</a>.</p>
+<!-- eof -->
+<p align="right">[<a href="designer-manual-7.html">Prev: Creating Custom Widgets</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-9.html">Next: Customizing and Integrating Qt Designer</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual-9.html b/doc/html/designer-manual-9.html
new file mode 100644
index 0000000..fb23eda
--- /dev/null
+++ b/doc/html/designer-manual-9.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/book/chap-customizing.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Customizing and Integrating Qt Designer</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual-8.html">Prev: Creating Database Applications</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-10.html">Next: Reference: Key Bindings</a>]</p>
+<h2 align="center">Customizing and Integrating Qt Designer</h2>
+<h3><a name="1"></a>Customizing Qt Designer</h3>
+<p><em>Qt Designer</em> can be customized in two ways: you can add custom widgets, and you can change aspects of how <em>Qt Designer</em> works. Custom widgets are covered in <a href="designer-manual-7.html">Creating Custom Widgets</a>. This section will focus on customizing <em>Qt Designer</em> itself.</p>
+<p><em>Qt Designer</em>'s toolbars are all dockable so they can be dragged by their toolbar handles and arranged how you like. The Files, Object Hierarchy, Property Editor and Output Windows are also dockable so you can also drag them to the positions that you prefer. You can also make them into floating windows by dragging them outside <em>Qt Designer</em>'s dock areas.</p>
+<p>General preferences can be set by clicking <b>Edit|Preferences</b> to invoke the <em>Preferences</em> dialog. If you check the 'Restore Last Workspace on Startup' checkbox then <em>Qt Designer</em> will remember the sizes and positions of the toolbars and the dockable windows. You can change <em>Qt Designer</em>'s main window background either by selecting a color or a pixmap. You can also switch off the grid (uncheck Show Grid) since using layouts makes the grid redundant.</p>
+<!-- index Plugins --><!-- index Code Editing!Preferences --><!-- index Preferences!Code Editing --><p>The <em>Preferences</em> dialog may have additional tabs, depending on what plugins you have installed. We'll describe the C++ Editor tab since this is installed by default.</p>
+<p>The C++ Editor tab is used to set your preferred fonts for syntax highlighting in <em>Qt Designer</em>'s code editor. The base font for all elements is set in the 'Standard' element which is the last item in the list. If you want one font to be used throughout then set the 'Standard' font and all the other elements will inherit its setting.</p>
+<h4><a name="1-1"></a>Qt Designer's Code Editor</h4>
+<p>The code editor is available if an Editor plugin is installed. The C++ Editor plugin is installed by default.</p>
+<!-- index Keypresses (Qt Designer's code editor) --><p>The code editor provides the following keystrokes:</p>
+<ul><li><p>Left Arrow -- Moves the cursor one character left</p>
+<li><p>Right Arrow -- Moves the cursor one character right</p>
+<li><p>Up Arrow -- Moves the cursor one line up</p>
+<li><p>Down Arrow -- Moves the cursor one line down</p>
+<li><p>Page Up -- Moves the cursor one page up</p>
+<li><p>Page Down -- Moves the cursor one page down</p>
+<li><p>Backspace -- Deletes the character to the left of the cursor</p>
+<li><p>Home -- Moves the cursor to the beginning of the line</p>
+<li><p>End -- Moves the cursor to the end of the line</p>
+<li><p>Delete -- Deletes the character to the right of the cursor</p>
+<li><p>Ctrl+A -- Moves the cursor to the beginning of the line</p>
+<li><p>Ctrl+B -- Moves the cursor one character left</p>
+<li><p>Ctrl+C -- Copies the selected text to the clipboard (also Ctrl+Insert under Windows)</p>
+<li><p>Ctrl+D -- Deletes the character to the right of the cursor</p>
+<li><p>Ctrl+E -- Moves the cursor to the end of the line</p>
+<li><p>Ctrl+F -- Invokes the <em>Find Text</em> dialog</p>
+<li><p>Ctrl+G -- Invokes the <em>Goto Line</em> dialog</p>
+<li><p>Ctrl+H -- Deletes the character to the left of the cursor</p>
+<li><p>Ctrl+I -- Indent the line or selected text that contains the cursor</p>
+<li><p>Alt+I -- Starts incremental search (see below)</p>
+<li><p>Ctrl+K -- Deletes from the cursor position to the end of the line</p>
+<li><p>Ctrl+N -- Moves the cursor one line down</p>
+<li><p>Ctrl+P -- Moves the cursor one line up</p>
+<li><p>Ctrl+R -- Invokes the <em>Replace Text</em> dialog</p>
+<li><p>Ctrl+V -- Pastes the clipboard text into line edit (also Shift+Insert under Windows)</p>
+<li><p>Ctrl+X -- Cuts the marked text, copy to clipboard (also Shift+Delete under Windows)</p>
+<li><p>Ctrl+Y -- Redoes the last operation</p>
+<li><p>Ctrl+Z -- Undoes the last operation</p>
+<li><p>Ctrl+Left Arrow -- Moves the cursor one word left</p>
+<li><p>Ctrl+Right Arrow -- Moves the cursor one word right</p>
+<li><p>Ctrl+Up Arrow -- Moves the cursor one word up</p>
+<li><p>Ctrl+Down Arrow -- Moves the cursor one word down</p>
+<li><p>Ctrl+Home Arrow -- Moves the cursor to the beginning of the text</p>
+<li><p>Ctrl+End Arrow -- Moves the cursor to the end of the text</p>
+<li><p>Tab -- Completion (see below)</p>
+</ul><p>To select (mark) text hold down the Shift key whilst pressing one of the movement keystrokes, for example, <b>Shift+Right Arrow</b> will select the character to the right, and <b>Shift+Ctrl+Right Arrow</b> will select the word to the right, etc.</p>
+<p>Pressing <b>Alt+I</b> starts incremental search. The characters you type will appear in the Incremental Search line edit in the Search toolbar and the cursor will be moved to the first matching text in the editor. As you type the search will continue. Press <b>Return</b> to move to the next match and press <b>Esc</b> to cancel the search at the position you've reached.</p>
+<p>Pressing <b>Tab</b> after you've typed one or more characters invokes completion. Completion works like this: start typing some text then press <b>Tab</b>. If the editor can find another item of text that begins with the same characters it will complete your text for you; if it finds more than one possibility it will pop up a list of choices. You can use the arrow keys to choose a piece of text then press <b>Return</b>, or press <b>Esc</b> to continue typing. You can switch off completion in the <em>Preferences</em> dialog.</p>
+<p>When you enter <tt>-&gt;</tt> or <tt>.</tt> the editor will pop up a command completion list; use the arrow keys to move to the item you want and press <b>Return</b>, or press <b>Esc</b> to ignore the list.</p>
+<h3><a name="2"></a>Creating and Using Templates</h3>
+<!-- index Creating Templates --><!-- index Templates!Creating and Using --><p><em>Qt Designer</em> supports two approaches to creating template forms. The simplest approach involves little more than saving a<!-- index .ui --> <tt>.ui</tt> file into the templates directory. The second approach involves creating a container widget class to be used as a base class for forms that use the template. We will explain both techniques.</p>
+<h4><a name="2-1"></a>Simple Templates</h4>
+<p>These templates are most useful when you want to create a whole set of forms which all have some common widgets. For example, you might have a project that will require many forms, all of which need to be branded with a company name and logo.</p>
+<p>First we'll create the simple template.</p>
+<ol type=1><li><p>Click <b>File|New</b> to invoke the <em>New File</em> dialog. Click the Dialog template then click <b>OK</b>.</p>
+<li><p>Click the <b>Text Label</b> toolbar button, then click near the top left of the form. Change the font Point Size property to 16 and change the <em>text</em> property to your or your company's name. Click the <b>Line</b> toolbar button, then click the form below the label; click Horizontal on the pop-up menu.</p>
+<li><p>Select the label and the line. (<b>Ctrl+Click</b> the form, then drag the rubber band so that it touches or includes the line and the label.) Press <b>Ctrl+L</b> to lay them out vertically.</p>
+<li><p>Click the <b>Save</b> toolbar button. In the <em>Save As</em> dialog, navigate to <em>Qt Designer</em>'s templates directory, e.g. (<tt>qt/tools/designer/templates</tt>. Type in the name 'Simple_Dialog.ui' and click <b>Save</b>.</p>
+<li><p>Right click the form in the Forms list, then click Remove form from project.</p>
+</ol><p>Now that we have the simple template we are ready to use it. Click <b>File|New</b> to invoke the <em>New File</em> dialog. One of the templates that will appear is 'Simple Dialog'. Click the simple dialog, then click <b>OK</b>. A new form will appear with the same widgets and layout as the template. Add any other widgets and functionality. When you attempt to save the form you will be prompted for a new form name.</p>
+<h4><a name="2-2"></a>Base-class Templates</h4>
+<!-- index Templates!Base Class Templates --><p>These templates are useful when you want to provide some default functionality that all the forms based on the base class can inherit. In our example we'll use a class called <b>SizeAware</b> that remembers and restores its size as the basis of a template. We won't describe the class itself, but will focus instead on making use of it as a <em>Qt Designer</em> template. The source for the class is in <tt>qt/tools/designer/examples/sizeaware</tt>.</p>
+<p>The template can either be based on a custom widget or on any existing container widget.</p>
+<p>If you want to base the template on a custom widget you must first add it to <em>Qt Designer</em>'s custom widgets. Click <b>Tools|Custom|Edit Custom Widgets</b> to invoke the <em>Edit Custom Widgets</em> dialog. (This dialog is explained in more detail in <a href="designer-manual-7.html#1">Simple Custom Widgets</a>.) Click <b>New Widget</b>. Change the Class from 'MyCustomWidget' to 'SizeAware'. Click the Headerfile ellipsis button and select the file <tt>qt/tools/designer/examples/sizeaware/sizeaware.h</tt>. Check the Container Widget checkbox. This class provides two properties. Click the Properties tab. Click <b>New Property</b> and change the property name to 'company'. Click the <b>New Property</b> again and change the property name to 'settingsFile'. Click <b>Close</b>.</p>
+<p>To create a template, based on an existing widget or on your own custom widget, click <b>File|Create Template</b> to invoke the <em>Create Template</em> dialog. Change the Template Name to 'SizeAware' and click the SizeAware base class, then click <b>Create</b>. The dialog will create the template and close itself immediately. Close <em>Qt Designer</em> and restart it.</p>
+<p>A new template, 'SizeAware' is now available from the list of templates. Click <b>File|New</b>, click SizeAware and click <b>OK</b>. Note that the two properties, company and settingsFile, are available in the Properties window. Any forms based on this template will remember their size and resize when reloaded. (In practical applications having one settingsFile per form is not recommended, so this template would only really be useful for applications that have a single main window.)</p>
+<h3><a name="3"></a>Integrating Qt Designer with Visual Studio</h3>
+<p>By default, <em>Qt Designer</em> is integrated into Visual Studio 6.0 when Qt is installed. Visual Studio.Net does not support this integration.</p>
+<!-- index Visual Studio --><p>If installed successfully, a toolbar should be provided in Visual Studio with the following buttons:</p>
+<ul><li><p>New Qt Project -- A small application wizard</p>
+<li><p>New Qt Dialog -- Add an empty Qt Dialog to the active project, or add an existing dialog</p>
+<li><p>Qt GUI Designer -- Run <em>Qt Designer</em></p>
+<li><p>Open Qt Project -- Runs <tt>qmake</tt> with a<!-- index .pro --> <tt>.pro</tt> file</p>
+<li><p>Write Qt Project -- Saves the current VS project as a<!-- index .pro --> <tt>.pro</tt> file</p>
+<li><p>Use Qt -- Add the Qt libraries to the active project</p>
+<li><p>Add MOC -- Add the <tt>moc</tt> precompiler to the active file</p>
+</ul><p>Double clicking a<!-- index .ui --> <tt>.ui</tt> file in the workspace overview will now launch <em>Qt Designer</em>.</p>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT --><p>If you create a<!-- index .cpp --> <tt>.cpp</tt> file which contains the <tt>Q_OBJECT</tt> macro you will need an additional file which is generated by the <tt>moc</tt> to be included in your project. For example, if you have 'file.cpp', then the last line would be <tt>#include "file.moc"</tt> and the additional file would be called 'file.moc'. To ensure that Visual Studio executes the <tt>moc</tt> and generates this file you must create a custom dependency. Double click the<!-- index .cpp --> <tt>.cpp</tt> file (in your project workspace) that contains the <tt>Q_OBJECT</tt> macro. Click the <b>Add MOC</b> toolbar button; this will create an empty<!-- index .moc --> <tt>.moc</tt> file in your project workspace. Right click the newly created<!-- index .moc --> <tt>.moc</tt> file, then click <b>Settings</b> from the pop-up menu to invoke the Project Settings dialog. Click the Custom Build tab. Click the <b>Dependencies</b> button to pop up the User Defined Dependencies dialog. Type in <tt>$(InputDir)\$(InputPath)</tt>, then press <b>Return</b>. Click <b>OK</b> to leave the Dependencies dialog, then click <b>OK</b> to leave the Project Settings dialog.</p>
+<p>If you wish to delete the add-in remove it from the toolbar then delete the<!-- index qmsdev.dll --> <tt>qmsdev.dll</tt> file from the add-ins directory.</p>
+<h4><a name="3-1"></a>Creating Makefiles without qmake</h4>
+<!-- index Makefiles --><p>The <tt>qmake</tt> tool provided with Qt can create Makefiles appropriate to your platform based on<!-- index .pro --> <tt>.pro</tt> project files. This section describes the dependencies involved in building a Qt application and gives a couple of simple example Makefiles. This section assumes that you have a good understanding of Makefiles.</p>
+<!-- index Macros!Q_OBJECT --><!-- index Q_OBJECT --><p><em>Qt Designer</em> produces<!-- index .ui --> <tt>.ui</tt> files which are used to generate<!-- index .h --> <tt>.h</tt> and<!-- index .cpp --> <tt>.cpp</tt> files for the compiler to compile. The<!-- index .ui --> <tt>.ui</tt> files are processed by <tt>uic</tt>. Classes which inherit from <a href="qobject.html">QObject</a>, e.g. those which use slots and signals, require an additional<!-- index .cpp --> <tt>.cpp</tt> file to be generated. These files are generated by the <tt>moc</tt> and are named '<em>moc_</em>file.cpp' where the original<!-- index .cpp --> <tt>.cpp</tt> file is called 'file.cpp'. If your<!-- index .cpp --> <tt>.cpp</tt> file contains the <tt>Q_OBJECT</tt> macro an additional file 'file.moc' should be generated which must be <tt>#include</tt>d in the<!-- index .cpp --> <tt>.cpp</tt>, normally at the end. This requires an extra dependency being created.</p>
+<p>Processing<!-- index .ui --> <tt>.ui</tt> files with <tt>uic</tt> is done <em>twice</em>:</p>
+<pre>
+uic myform.ui -o myform.h
+uic myform.ui -i myform.h -o myform.cpp
+</pre>
+<p>The first execution creates the header file, the second creates the<!-- index .cpp --> <tt>.cpp</tt> file. If you wish to subclass a form you can use <tt>uic</tt> to generate subclass skeletons:</p>
+<pre>
+uic formbase.ui -o formbase.h
+uic formbase.ui -i formbase.h -o formbase.cpp
+uic -subdecl Form formbase.h formbase.ui -o form.h
+uic -subimpl Form form.h formbase.ui -o form.cpp
+</pre>
+<p>First we generate the header and implementation file for our base class. Then we generate the header and implementation skeletons for our subclass. Note that the use of <tt>uic</tt> to generate skeletons is not something that would be done in a Makefile, we mention it here because it can be useful for command line users. Note also that the command line for <tt>-subdecl</tt> and for <tt>-subimpl</tt> are subtly different.</p>
+<p>For implementation files that contain classes which inherit from <a href="qobject.html">QObject</a> we must create moc files:</p>
+<pre>
+moc myform.h -o moc_myform.cpp
+</pre>
+<p>We'll look at a simple Makefile to see the dependencies in practice.</p>
+<pre>
+myapp: moc_myform.o myform.o main.o
+ g++ -lqt -o myapp moc_myform.o myform.o main.o
+
+main.o: main.cpp
+ g++ -o main.o main.cpp
+
+moc_myform.o: moc_myform.cpp
+ g++ -o moc_myform.o moc_myform.cpp
+
+moc_myform.cpp: myform.h
+ moc myform.h -o moc_myform.cpp
+
+myform.o: myform.cpp
+ g++ -o myform.o myform.cpp
+
+myform.cpp: myform.h myform.ui
+ uic myform.ui -i myform.h -o myform.cpp
+
+myform.h: myform.ui
+ uic myform.ui -o myform.h
+</pre>
+<p>Note that you may need to include the full path to the commands in your Makefile, and under Windows the filenames are<!-- index moc.exe --> <tt>moc.exe</tt> and<!-- index uic.exe --> <tt>uic.exe</tt>.</p>
+<p>In Unix/Linux environments the <tt>make</tt> command may be able to do more for us, so we should be able to use a simpler Makefile like this:</p>
+<pre>
+myapp: moc_myform.o myform.o main.o
+ g++ -lq -o $@ $^
+
+%.o: %.cpp
+ g++ -o $^ $@
+
+moc_%.cpp: %.h
+ moc $^ -o $@
+
+myform.cpp: myform.h myform.ui
+ uic myform.ui -i myform.h -o myform.cpp
+
+myform.h: myform.ui
+ uic myform.ui -o myform.h
+</pre>
+<p>To see more sophisticated Makefiles simply generate them using <tt>qmake</tt> on any of your Qt projects or any of the examples supplied with Qt.</p>
+<h3><a name="4"></a>Importing Foreign File Formats</h3>
+<!-- index Foreign File Formats --><p>To import a file in a supported foreign file format click <b>File|Open</b>, then click the File Type combobox to choose the file type you wish to load. Click the required file and <em>Qt Designer</em> will convert and load the file.</p>
+<p>The filters that <em>Qt Designer</em> uses to read foreign file formats are 'works in progress'. You may have different filters available in your version of <em>Qt Designer</em> than those described here. The easiest way to see which filters are available is to invoke the file open dialog; all your filters are listed in the File Type combobox.</p>
+<h4><a name="4-1"></a>Importing Qt Architect Files</h4>
+<!-- index Foreign File Formats!Qt Architect --><!-- index Qt Architect --><p><a href="http://qtarch.sourceforge.net/">Qt Architect</a> is a free GUI builder for Qt written by Jeff Harris and Klaus Ebner. The<!-- index .dlg --> <tt>.dlg</tt> extension is associated with Qt Architect dialog files.</p>
+<p><em>Qt Designer</em> can read files generated by Qt Architect version 2.1 and above. When given a<!-- index .dlg --> <tt>.dlg</tt> file from a previous version of Qt Architect, <em>Qt Designer</em> tells you how to convert it to the file format of version 2.1. (The conversion procedure varies depending on the version of the<!-- index .dlg --> <tt>.dlg</tt> file.)</p>
+<p>The import filter does a good job of importing<!-- index .dlg --> <tt>.dlg</tt> files; the result is almost identical to what you get in Qt Architect. However, the C++ code that uses the dialogs will probably need some adaptation.</p>
+<p>There are a few drawbacks to converting Qt Architect files to <em>Qt Designer</em>'s format due to differences between the two tools; these are listed below:</p>
+<ul><li><p>Layout spacing and margins</p>
+<p>If the<!-- index .dlg --> <tt>.dlg</tt> file layouts use the Qt Architect defaults for layout spacing and margins, <em>Qt Designer</em> will override these with its standard defaults. You can change the "layoutSpacing" and "layoutMargin" properties manually afterwards if necessary.</p>
+<li><p>Layout stretches and spacings</p>
+<p>Qt Architect gives access to more features of Qt's layout system than <em>Qt Designer</em>, namely stretches and spacings. Qt Designer will attempt to cope with<!-- index .dlg --> <tt>.dlg</tt> files that use these features, but sometimes the resizing will not be what you want. The solution typically involves setting the "sizePolicy" properties of some widgets and inserting or deleting spacers.</p>
+<li><p>Mixing managed and unmanaged widgets</p>
+<p>Qt Architect allows a widget to have some child widgets managed by a layout and other child widgets with fixed positions. When presented with a<!-- index .dlg --> <tt>.dlg</tt> file that uses this facility, <em>Qt Designer</em> will silently put the fixed position widgets into the layout.</p>
+<li><p>Pixmaps</p>
+<p><em>Qt Designer</em> ignores pixmaps specified in<!-- index .dlg --> <tt>.dlg</tt> files. These have to be restored manually in <em>Qt Designer</em>.</p>
+</ul><h4><a name="4-2"></a>Importing Glade Files</h4>
+<!-- index Foreign File Formats!Glade --><!-- index Glade --><p><a href="http://glade.pn.org/">Glade</a> is a free GUI builder for GTK+ and GNOME written by Damon Chaplin. The<!-- index .glade --> <tt>.glade</tt> extension is associated with Glade files.</p>
+<p><em>Qt Designer</em> has been tested with Glade files up to version 0.6.0 and might work with later versions as well.</p>
+<p>Although Glade does not target Qt, the layout system and the widget set of GTK+ are similar to those of Qt, so the filter will retain most of the information in the<!-- index .glade --> <tt>.glade</tt> file.</p>
+<p>There are some considerations regarding the conversion of Glade files, as listed below:</p>
+<ul><li><p>Ampersands (&amp;) in labels</p>
+<p>Qt displays an ampersand when a <a href="qlabel.html">QLabel</a> has no buddy. (A buddy is a widget that accepts focus on behalf of a <a href="qlabel.html">QLabel</a>.) Glade allows GtkLabel widgets with an (underlined) accelerator key but with no buddy. This is an error since users expect underlined characters to be accelerators. In this situation, Qt displays the ampersand itself instead of underlining the accelerator key. You should go over these <a href="qlabel.html">QLabel</a> widgets and set their "<em>buddy</em>" property.</p>
+<li><p>Layout placeholders</p>
+<p>GTK allows a layout position to be occupied by a placeholder. <em>Qt Designer</em> converts those placeholders into <a href="qlabel.html">QLabel</a>s whose text is "?" in red, so that you can find them and fix them manually.</p>
+<li><p>GTK+ or GNOME widget with no Qt equivalent</p>
+<p>Qt has equivalents for most GTK+ widgets, but Glade also supports GNOME, whose goal is to provide a complete desktop environment. Because Qt's scope is narrower, when <em>Qt Designer</em> encounters a widget it cannot convert, it replaces it with a label that indicates the problem. For example, a GnomePaperSelector will be replaced by a <a href="qlabel.html">QLabel</a> whose text is "GnomePaperSelector?" in red. If you are porting to KDE, you might want to use the corresponding KDE widget.</p>
+<p>Other GTK+/GNOME widgets are only supported in certain contexts. For example, the GnomeDruid can be embedded in another widget, whereas the corresponding <a href="qwizard.html">QWizard</a> class cannot.</p>
+<li><p>Message boxes and other high-level dialogs</p>
+<p>Glade supports editing of GnomeMessageBox, GtkFileSelection, GtkFontSelectionDialog and others. This is trivially achieved in Qt by means of a <a href="qmessagebox.html">QMessageBox</a> dialog, a <a href="qfiledialog.html">QFileDialog</a>, a <a href="qfontdialog.html">QFontDialog</a>, etc., in C++ code.</p>
+<li><p>Stand-alone popup menus</p>
+<p><em>Qt Designer</em> only supports popup menus inside a <a href="qmainwindow.html">QMainWindow</a>. If you need a stand-alone popup menu (presumably a context menu), you can easily write code that does this using <a href="qpopupmenu.html">QPopupMenu</a>.</p>
+<li><p>Size policy parameters</p>
+<p>Glade provides size policies in the "Place" tab of the property editor. <em>Qt Designer</em> does not attempt to make use of the padding, expand, shrink and fill information, as the Qt defaults are usually good enough. In a few cases, you might have to set the "<em>sizePolicy</em>" property manually to obtain the effect you want.</p>
+<li><p>GNOME standard icons</p>
+<p>GNOME provides a large set of standard icons. <em>Qt Designer</em> will ignore references to these. If you are porting to KDE, you might want to manually set the standard KDE icons.</p>
+<li><p>Packer layout</p>
+<p>GTK+ provides a class called GtkPacker that provides for exotic layouts; Qt does not provide a <b>QPackerLayout</b> and none is planned. <em>Qt Designer</em> will treat packer layouts as if they were vertical layouts and you will probably have to change them to whatever combination of layouts that produces the right effect.</p>
+<li><p>Incorrectly-justified text after conversion</p>
+<p>The "<em>hAlign</em>" property is sometimes set wrongly, in which case you have to change it manually. It is caused by a quirk in Glade.</p>
+</ul><!-- eof -->
+<p align="right">[<a href="designer-manual-8.html">Prev: Creating Database Applications</a>] [<a href="designer-manual.html">Home</a>] [<a href="designer-manual-10.html">Next: Reference: Key Bindings</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer-manual.html b/doc/html/designer-manual.html
new file mode 100644
index 0000000..85a0957
--- /dev/null
+++ b/doc/html/designer-manual.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- (null):0 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Designer Manual</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Designer Manual</h1>
+
+<h2><a href="designer-manual-1.html">Preface</a></h2>
+<h2><a href="designer-manual-2.html">Quick Start</a></h2>
+<h2><a href="designer-manual-3.html">Creating a Main Window Application</a></h2>
+<h2><a href="designer-manual-4.html">Creating Dialogs</a></h2>
+<h2><a href="designer-manual-5.html"> The Designer Approach</a></h2>
+<h2><a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a></h2>
+<h2><a href="designer-manual-7.html">Creating Custom Widgets</a></h2>
+<h2><a href="designer-manual-8.html">Creating Database Applications</a></h2>
+<h2><a href="designer-manual-9.html">Customizing and Integrating Qt Designer</a></h2>
+<h2><a href="designer-manual-10.html">Reference: Key Bindings</a></h2>
+<h2><a href="designer-manual-11.html">Reference: Menu Options</a></h2>
+<h2><a href="designer-manual-12.html">Reference: Toolbar Buttons</a></h2>
+<h2><a href="designer-manual-13.html">Reference: Dialogs</a></h2>
+<h2><a href="designer-manual-14.html">Reference: Wizards</a></h2>
+<h2><a href="designer-manual-15.html">Reference: Windows</a></h2>
+<h2><a href="designer-manual-16.html">Reference: The .ui File Format</a></h2>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/designer.dcf b/doc/html/designer.dcf
new file mode 100644
index 0000000..33eac26
--- /dev/null
+++ b/doc/html/designer.dcf
@@ -0,0 +1,19 @@
+<!DOCTYPE DCF>
+<DCF ref="designer-manual.html" icon="designer.png" imagedir="../../gif" title="Qt Designer Manual">
+<section ref="designer-manual-1.html" title="Preface"/>
+<section ref="designer-manual-2.html" title="Quick Start"/>
+<section ref="designer-manual-3.html" title="Creating a Main Window Application"/>
+<section ref="designer-manual-4.html" title="Creating Dialogs"/>
+<section ref="designer-manual-5.html" title=" The Designer Approach"/>
+<section ref="designer-manual-6.html" title="Subclassing and Dynamic Dialogs"/>
+<section ref="designer-manual-7.html" title="Creating Custom Widgets"/>
+<section ref="designer-manual-8.html" title="Creating Database Applications"/>
+<section ref="designer-manual-9.html" title="Customizing and Integrating Qt Designer"/>
+<section ref="designer-manual-10.html" title="Reference: Key Bindings"/>
+<section ref="designer-manual-11.html" title="Reference: Menu Options"/>
+<section ref="designer-manual-12.html" title="Reference: Toolbar Buttons"/>
+<section ref="designer-manual-13.html" title="Reference: Dialogs"/>
+<section ref="designer-manual-14.html" title="Reference: Wizards"/>
+<section ref="designer-manual-15.html" title="Reference: Windows"/>
+<section ref="designer-manual-16.html" title="Reference: The .ui File Format"/>
+</DCF>
diff --git a/doc/html/designer1.jpg b/doc/html/designer1.jpg
new file mode 100644
index 0000000..9922d3e
--- /dev/null
+++ b/doc/html/designer1.jpg
Binary files differ
diff --git a/doc/html/designer2.jpg b/doc/html/designer2.jpg
new file mode 100644
index 0000000..8cad3e1
--- /dev/null
+++ b/doc/html/designer2.jpg
Binary files differ
diff --git a/doc/html/designer3.jpg b/doc/html/designer3.jpg
new file mode 100644
index 0000000..5d2fe79
--- /dev/null
+++ b/doc/html/designer3.jpg
Binary files differ
diff --git a/doc/html/desktop-example.html b/doc/html/desktop-example.html
new file mode 100644
index 0000000..cc054de
--- /dev/null
+++ b/doc/html/desktop-example.html
@@ -0,0 +1,401 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/desktop/desktop.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Painting on the Desktop</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Painting on the Desktop</h1>
+
+
+<p>
+The desktop demo contains three routines, each of which draws
+something on the desktop. It does some nice stuff with <a href="qpainter.html">QPainter</a>,
+and also demonstrates how one can treat the desktop as a widget like
+any other.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/desktop.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qbitmap-h.html">qbitmap.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdropsite-h.html">qdropsite.h</a>&gt;
+#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;
+#include &lt;stdio.h&gt;
+
+
+static double seed = 0.353535353535;
+static const int KINDA_RAND_MAX = 32767;
+
+static int kindaRand()
+{
+ seed = seed*147;
+ seed = seed - (double) ((int) seed);
+ return (int) ( seed*(KINDA_RAND_MAX + 1) );
+}
+
+static int velocity( int i ) // change velocity
+{
+ const int velmax = 15;
+ const int velmin = 4;
+ if ( i == 1 || i == 2 )
+ i = (kindaRand()&amp;0x7fff % velmax)/3 + velmin;
+ else
+ i = (kindaRand()&amp;0x7fff % velmax) + velmin;
+ return i;
+}
+
+//
+// Draw polygon on desktop.
+//
+
+void poly()
+{
+<a name="x1721"></a> <a href="qwidget.html">QWidget</a> *d = QApplication::<a href="qapplication.html#desktop">desktop</a>();
+<a name="x1761"></a> d-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::white ); // white desktop
+
+ const int maxpoints = 5;
+ const int maxcurves = 8;
+ static int xvel[maxpoints];
+ static int yvel[maxpoints];
+ int head = 0;
+ int tail = -maxcurves + 2;
+ <a href="qpointarray.html">QPointArray</a> *a = new <a href="qpointarray.html">QPointArray</a>[ maxcurves ];
+ register QPointArray *p;
+<a name="x1760"></a> <a href="qrect.html">QRect</a> r = d-&gt;<a href="qwidget.html#rect">rect</a>(); // desktop rectangle
+
+ int i;
+ for ( i=0; i&lt;maxcurves; i++ )
+ a[i].resize( maxpoints );
+ p = &amp;a[0];
+ for ( i=0; i&lt;maxpoints; i++ ) { // setup first polygon points
+<a name="x1756"></a> p-&gt;setPoint( i, (kindaRand()&amp;0x7fff) % r.<a href="qrect.html#width">width</a>(),
+<a name="x1749"></a> (kindaRand()&amp;0x7fff) % r.<a href="qrect.html#height">height</a>() );
+ xvel[i] = velocity(i);
+ yvel[i] = velocity(i);
+ }
+
+ <a href="qpainter.html">QPainter</a> paint;
+<a name="x1733"></a> paint.<a href="qpainter.html#begin">begin</a>( d ); // start painting desktop
+
+ for ( int ntimes=0; ntimes&lt;2000; ntimes++ ) {
+ paint.<a href="qpainter.html#setBrush">setBrush</a>( QColor(kindaRand()%360, 180, 255, QColor::Hsv) );
+<a name="x1735"></a> paint.<a href="qpainter.html#drawPolygon">drawPolygon</a>( a[head] );
+ if ( ++tail &gt;= maxcurves )
+ tail = 0;
+
+<a name="x1751"></a><a name="x1750"></a> int minx=r.<a href="qrect.html#left">left</a>(), maxx=r.<a href="qrect.html#right">right</a>();
+<a name="x1755"></a><a name="x1748"></a> int miny=r.<a href="qrect.html#top">top</a>(), maxy=r.<a href="qrect.html#bottom">bottom</a>();
+ int x, y;
+ p = &amp;a[head];
+ if ( ++head &gt;= maxcurves )
+ head = 0;
+ for ( i=0; i&lt;maxpoints; i++ ) { // calc new curve
+ p-&gt;point( i, &amp;x, &amp;y );
+ x += xvel[i];
+ y += yvel[i];
+ if ( x &gt;= maxx ) {
+ x = maxx - (x - maxx + 1);
+ xvel[i] = -velocity(i);
+ }
+ if ( x &lt;= minx ) {
+ x = minx + (minx - x + 1);
+ xvel[i] = velocity(i);
+ }
+ if ( y &gt;= maxy ) {
+ y = maxy - (y - maxy + 1);
+ yvel[i] = -velocity(i);
+ }
+ if ( y &lt;= miny ) {
+ y = miny + (miny - y + 1);
+ yvel[i] = velocity(i);
+ }
+ a[head].setPoint( i, x, y );
+ }
+ }
+<a name="x1737"></a> paint.<a href="qpainter.html#end">end</a>(); // painting done
+ delete[] a;
+}
+
+
+//
+// Rotate pattern on desktop.
+//
+
+void rotate()
+{
+ int i;
+ const int w = 64;
+ const int h = 64;
+ <a href="qimage.html">QImage</a> image( w, h, 8, 128 ); // create image
+ for ( i=0; i&lt;128; i++ ) // build color table
+<a name="x1730"></a> image.<a href="qimage.html#setColor">setColor</a>( i, qRgb(i,0,0) );
+ for ( int y=0; y&lt;h; y++ ) { // set image pixels
+<a name="x1729"></a> uchar *p = image.<a href="qimage.html#scanLine">scanLine</a>(y);
+ for ( int x=0; x&lt;w; x++ )
+ *p++ = (x+y)%128;
+ }
+
+ <a href="qpixmap.html">QPixmap</a> pm;
+ pm = image; // convert image to pixmap
+<a name="x1745"></a> pm.<a href="qpixmap.html#setOptimization">setOptimization</a>( QPixmap::BestOptim ); // rotation will be faster
+
+ <a href="qwidget.html">QWidget</a> *d = QApplication::<a href="qapplication.html#desktop">desktop</a>(); // w = desktop widget
+
+ for ( i=0; i&lt;=360; i += 2 ) {
+ <a href="qwmatrix.html">QWMatrix</a> m;
+<a name="x1764"></a> m.<a href="qwmatrix.html#rotate">rotate</a>( i ); // rotate coordinate system
+<a name="x1747"></a> <a href="qpixmap.html">QPixmap</a> rpm = pm.<a href="qpixmap.html#xForm">xForm</a>( m ); // rpm = rotated pixmap
+<a name="x1762"></a> d-&gt;<a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>( rpm ); // set desktop pixmap
+<a name="x1763"></a> d-&gt;<a href="qwidget.html#update">update</a>(); // repaint desktop
+ }
+}
+
+//
+// Generates a marble-like pattern in pm.
+//
+
+void generateStone( <a href="qpixmap.html">QPixmap</a> *pm,
+ const <a href="qcolor.html">QColor</a> &amp;c1, const <a href="qcolor.html">QColor</a> &amp;c2, const <a href="qcolor.html">QColor</a> &amp;c3 )
+{
+ <a href="qpainter.html">QPainter</a> p;
+ <a href="qpen.html">QPen</a> p1 ( c1, 0 );
+ <a href="qpen.html">QPen</a> p2 ( c2, 0 );
+ <a href="qpen.html">QPen</a> p3 ( c3, 0 );
+
+ p.<a href="qpainter.html#begin">begin</a>( pm );
+<a name="x1746"></a> for( int i = 0 ; i &lt; pm-&gt;<a href="qpixmap.html#width">width</a>() ; i++ )
+<a name="x1743"></a> for( int j = 0 ; j &lt; pm-&gt;<a href="qpixmap.html#height">height</a>() ; j++ ) {
+ int r = kindaRand();
+ if ( r &lt; KINDA_RAND_MAX / 3 )
+<a name="x1741"></a> p.<a href="qpainter.html#setPen">setPen</a>( p1 );
+ else if ( r &lt; KINDA_RAND_MAX / 3 * 2 )
+ p.<a href="qpainter.html#setPen">setPen</a>( p2 );
+ else
+ p.<a href="qpainter.html#setPen">setPen</a>( p3 );
+<a name="x1734"></a> p.<a href="qpainter.html#drawPoint">drawPoint</a>( i,j );
+ }
+ p.<a href="qpainter.html#end">end</a>();
+}
+
+void drawShadeText( <a href="qpainter.html">QPainter</a> *p, int x, int y, const char *text,
+ const <a href="qcolor.html">QColor</a> &amp;topColor, const <a href="qcolor.html">QColor</a> &amp;bottomColor,
+ int sw = 2 )
+{
+<a name="x1739"></a> if ( !p-&gt;<a href="qpainter.html#isActive">isActive</a>() )
+ return;
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( bottomColor );
+<a name="x1736"></a> p-&gt;<a href="qpainter.html#drawText">drawText</a>( x+sw, y+sw, text );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( topColor );
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>( x, y, text );
+}
+
+// NOTE: desktop drag/drop is experimental
+
+class DesktopWidget : public <a href="qwidget.html">QWidget</a>, private QDropSite
+{
+public:
+ DesktopWidget( const char *s, QWidget *parent=0, const char *name=0 );
+ ~DesktopWidget();
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+ void dragEnterEvent( <a href="qdragenterevent.html">QDragEnterEvent</a> *e )
+ {
+<a name="x1731"></a> if ( QImageDrag::<a href="qimagedrag.html#canDecode">canDecode</a>(e) )
+<a name="x1727"></a> e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+ }
+
+ void dragLeaveEvent( <a href="qdragleaveevent.html">QDragLeaveEvent</a> * )
+ {
+ }
+
+ void dragMoveEvent( <a href="qdragmoveevent.html">QDragMoveEvent</a> *e )
+ {
+ e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+ }
+
+ void dropEvent( <a href="qdropevent.html">QDropEvent</a> * e )
+ {
+ <a href="qpixmap.html">QPixmap</a> pmp;
+<a name="x1732"></a> if ( QImageDrag::<a href="qimagedrag.html#decode">decode</a>( e, pmp ) ) {
+ <a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>( pmp );
+ <a href="qwidget.html#update">update</a>();
+ }
+ }
+
+private:
+ <a href="qpixmap.html">QPixmap</a> *pm;
+ <a href="qstring.html">QString</a> text;
+};
+
+<a name="f483"></a>DesktopWidget::DesktopWidget( const char *s, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WType_Desktop | WPaintDesktop),
+ QDropSite(this)
+{
+ text = s;
+ pm = 0;
+}
+
+DesktopWidget::~DesktopWidget()
+{
+ delete pm;
+}
+
+void DesktopWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qcolor.html">QColor</a> c1 = <a href="qwidget.html#backgroundColor">backgroundColor</a>();
+<a name="x1726"></a> <a href="qcolor.html">QColor</a> c2 = c1.<a href="qcolor.html#light">light</a>(104);
+<a name="x1725"></a> <a href="qcolor.html">QColor</a> c3 = c1.<a href="qcolor.html#dark">dark</a>(106);
+ if ( !pm ) {
+ pm = new <a href="qpixmap.html">QPixmap</a>( 64, 64 );
+ generateStone( pm, c1, c2, c3 );
+ <a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>( *pm );
+ <a href="qwidget.html#update">update</a>();
+ }
+ <a href="qrect.html">QRect</a> br = <a href="qwidget.html#fontMetrics">fontMetrics</a>().boundingRect( text );
+ <a href="qpixmap.html">QPixmap</a> offscreen( br.<a href="qrect.html#width">width</a>(), br.<a href="qrect.html#height">height</a>() );
+ int x = <a href="qwidget.html#width">width</a>()/2 - br.<a href="qrect.html#width">width</a>()/2;
+ int y = <a href="qwidget.html#height">height</a>()/2 - br.<a href="qrect.html#height">height</a>()/2;
+<a name="x1742"></a> offscreen.<a href="qpixmap.html#fill">fill</a>( this, x, y );
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( &amp;offscreen );
+<a name="x1758"></a><a name="x1757"></a> drawShadeText( &amp;p, -br.<a href="qrect.html#x">x</a>(), -br.<a href="qrect.html#y">y</a>(), text, c2, c3, 3 );
+ p.<a href="qpainter.html#end">end</a>();
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, x, y, &amp;offscreen );
+}
+
+void desktopWidget( const char *s = "Trolltech" )
+{
+ DesktopWidget *t = new DesktopWidget(s);
+ t-&gt;<a href="qwidget.html#update">update</a>();
+ qApp-&gt;<a href="qapplication.html#exec">exec</a>();
+ delete t;
+}
+
+void desktopText( const char *s = "Trolltech" )
+{
+ const int border = 20;
+
+<a name="x1723"></a> <a href="qcolor.html">QColor</a> c1 = qApp-&gt;<a href="qapplication.html#palette">palette</a>().inactive().background();
+ <a href="qcolor.html">QColor</a> c2 = c1.<a href="qcolor.html#light">light</a>(104);
+ <a href="qcolor.html">QColor</a> c3 = c1.<a href="qcolor.html#dark">dark</a>(106);
+
+ <a href="qpixmap.html">QPixmap</a> pm(10,10);
+
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( &amp;pm );
+<a name="x1738"></a> <a href="qrect.html">QRect</a> r = p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().boundingRect( s );
+ p.<a href="qpainter.html#end">end</a>();
+
+ int appWidth = qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;width();
+ int appHeight = qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;height();
+ if ( r.<a href="qrect.html#width">width</a>() &gt; appWidth - border*2 )
+<a name="x1753"></a> r.<a href="qrect.html#setWidth">setWidth</a>( appWidth - border*2 );
+ if ( r.<a href="qrect.html#height">height</a>() &gt; appHeight - border*2 )
+<a name="x1752"></a> r.<a href="qrect.html#setHeight">setHeight</a>( appHeight - border*2 );
+
+<a name="x1754"></a><a name="x1744"></a> pm.<a href="qpixmap.html#resize">resize</a>( r.<a href="qrect.html#size">size</a>() + QSize( border*2, border*2 ) );
+ generateStone( &amp;pm, c1, c2, c3 );
+ p.<a href="qpainter.html#begin">begin</a>( &amp;pm );
+ drawShadeText( &amp;p, -r.<a href="qrect.html#x">x</a>() + border, -r.<a href="qrect.html#y">y</a>() + border, s, c2, c3 );
+ p.<a href="qpainter.html#end">end</a>();
+
+ qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;setBackgroundPixmap( pm );
+}
+
+//
+// The program starts here.
+//
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( argc &gt; 1 ) {
+ <a href="qfont.html">QFont</a> f( "charter", 96, QFont::Black );
+<a name="x1728"></a> f.<a href="qfont.html#setStyleHint">setStyleHint</a>( QFont::Times );
+<a name="x1724"></a> app.<a href="qapplication.html#setFont">setFont</a>( f );
+ }
+
+ bool validOptions = FALSE;
+
+ if ( argc == 2 ) {
+ validOptions = TRUE;
+ if ( strcmp(argv[1],"-poly") == 0 )
+ poly();
+ else if ( strcmp(argv[1],"-rotate") == 0 )
+ rotate();
+ else if ( strcmp(argv[1],"-troll") == 0 )
+ desktopText();
+ else if ( strcmp(argv[1],"-trollwidget") == 0 )
+ desktopWidget();
+ else
+ validOptions = FALSE;
+ }
+ if ( argc == 3 ) {
+ validOptions = TRUE;
+ if ( strcmp(argv[1],"-shadetext") == 0 )
+ desktopText( argv[2] );
+ else if ( strcmp(argv[1],"-shadewidget") == 0 )
+ desktopWidget( argv[2] );
+ else
+ validOptions = FALSE;
+ }
+ if ( !validOptions ) {
+ fprintf( stderr, "Usage:\n\tdesktop -poly"
+ "\n\tdesktop -rotate"
+ "\n\tdesktop -troll"
+ "\n\tdesktop -trollwidget"
+ "\n\tdesktop -shadetext &lt;text&gt;"
+ "\n\tdesktop -shadewidget &lt;text&gt;\n" );
+ rotate();
+ }
+ return 0;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/dialog1addwidg.png b/doc/html/dialog1addwidg.png
new file mode 100644
index 0000000..037abc0
--- /dev/null
+++ b/doc/html/dialog1addwidg.png
Binary files differ
diff --git a/doc/html/dialog1layout1.png b/doc/html/dialog1layout1.png
new file mode 100644
index 0000000..1381cee
--- /dev/null
+++ b/doc/html/dialog1layout1.png
Binary files differ
diff --git a/doc/html/dialog1layout2.png b/doc/html/dialog1layout2.png
new file mode 100644
index 0000000..d25fd62
--- /dev/null
+++ b/doc/html/dialog1layout2.png
Binary files differ
diff --git a/doc/html/dialog1selewidg.png b/doc/html/dialog1selewidg.png
new file mode 100644
index 0000000..3235507
--- /dev/null
+++ b/doc/html/dialog1selewidg.png
Binary files differ
diff --git a/doc/html/dialog1selewidg1.png b/doc/html/dialog1selewidg1.png
new file mode 100644
index 0000000..f2d2dd0
--- /dev/null
+++ b/doc/html/dialog1selewidg1.png
Binary files differ
diff --git a/doc/html/dialog1tab.png b/doc/html/dialog1tab.png
new file mode 100644
index 0000000..23008a8
--- /dev/null
+++ b/doc/html/dialog1tab.png
Binary files differ
diff --git a/doc/html/dialog2laywidg.png b/doc/html/dialog2laywidg.png
new file mode 100644
index 0000000..c82114c
--- /dev/null
+++ b/doc/html/dialog2laywidg.png
Binary files differ
diff --git a/doc/html/dialog2sample.png b/doc/html/dialog2sample.png
new file mode 100644
index 0000000..c15295a
--- /dev/null
+++ b/doc/html/dialog2sample.png
Binary files differ
diff --git a/doc/html/dialog2setwidg.png b/doc/html/dialog2setwidg.png
new file mode 100644
index 0000000..3ba50f1
--- /dev/null
+++ b/doc/html/dialog2setwidg.png
Binary files differ
diff --git a/doc/html/dialog3buttons.png b/doc/html/dialog3buttons.png
new file mode 100644
index 0000000..f44485a
--- /dev/null
+++ b/doc/html/dialog3buttons.png
Binary files differ
diff --git a/doc/html/dialog3clipgrp.png b/doc/html/dialog3clipgrp.png
new file mode 100644
index 0000000..849b834
--- /dev/null
+++ b/doc/html/dialog3clipgrp.png
Binary files differ
diff --git a/doc/html/dialog3grpbox.png b/doc/html/dialog3grpbox.png
new file mode 100644
index 0000000..fef7e69
--- /dev/null
+++ b/doc/html/dialog3grpbox.png
Binary files differ
diff --git a/doc/html/dialog3layclip.png b/doc/html/dialog3layclip.png
new file mode 100644
index 0000000..bf3ccce
--- /dev/null
+++ b/doc/html/dialog3layclip.png
Binary files differ
diff --git a/doc/html/dialog3layout.png b/doc/html/dialog3layout.png
new file mode 100644
index 0000000..dcd5bb6
--- /dev/null
+++ b/doc/html/dialog3layout.png
Binary files differ
diff --git a/doc/html/dialog3sample.png b/doc/html/dialog3sample.png
new file mode 100644
index 0000000..b59b045
--- /dev/null
+++ b/doc/html/dialog3sample.png
Binary files differ
diff --git a/doc/html/dialogs.html b/doc/html/dialogs.html
new file mode 100644
index 0000000..3acb051
--- /dev/null
+++ b/doc/html/dialogs.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:605 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Dialog Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Dialog Classes</h1>
+
+
+<p> These classes are complex widgets, composed of simpler widgets; dialog
+boxes, generally.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qcolordialog.html">QColorDialog</a></b><td>Dialog widget for specifying colors
+<tr bgcolor=#f0f0f0><td><b><a href="qdialog.html">QDialog</a></b><td>The base class of dialog windows
+<tr bgcolor=#f0f0f0><td><b><a href="qerrormessage.html">QErrorMessage</a></b><td>Error message display dialog
+<tr bgcolor=#f0f0f0><td><b><a href="qfiledialog.html">QFileDialog</a></b><td>Dialogs that allow users to select files or directories
+<tr bgcolor=#f0f0f0><td><b><a href="qfontdialog.html">QFontDialog</a></b><td>Dialog widget for selecting a font
+<tr bgcolor=#f0f0f0><td><b><a href="qinputdialog.html">QInputDialog</a></b><td>Simple convenience dialog to get a single value from the user
+<tr bgcolor=#f0f0f0><td><b><a href="qmessagebox.html">QMessageBox</a></b><td>Modal dialog with a short message, an icon, and some buttons
+<tr bgcolor=#f0f0f0><td><b><a href="qprogressdialog.html">QProgressDialog</a></b><td>Feedback on the progress of a slow operation
+<tr bgcolor=#f0f0f0><td><b><a href="qtabdialog.html">QTabDialog</a></b><td>Stack of tabbed widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qwizard.html">QWizard</a></b><td>Framework for wizard dialogs
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/dirview-example.html b/doc/html/dirview-example.html
new file mode 100644
index 0000000..4bd87d4
--- /dev/null
+++ b/doc/html/dirview-example.html
@@ -0,0 +1,751 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/dirview/dirview.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Directory Browser</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Directory Browser</h1>
+
+
+<p>
+This example program demonstrates how to use a listview and
+listview items to build a multi-column hierarchical, memory- and
+CPU-efficient directory browser. It also demonstrates how to use
+Drag&Drop in a listview.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/dirview.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef DIRVIEW_H
+#define DIRVIEW_H
+
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+
+class QWidget;
+class QDragEnterEvent;
+class QDragMoveEvent;
+class QDragLeaveEvent;
+class QDropEvent;
+
+class FileItem : public <a href="qlistviewitem.html">QListViewItem</a>
+{
+public:
+ FileItem( <a href="qlistviewitem.html">QListViewItem</a> *parent, const <a href="qstring.html">QString</a> &amp;s1, const <a href="qstring.html">QString</a> &amp;s2 )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent, s1, s2 ), pix( 0 ) {}
+
+ const <a href="qpixmap.html">QPixmap</a> *pixmap( int i ) const;
+#if !defined(Q_NO_USING_KEYWORD)
+ using QListViewItem::setPixmap;
+#endif
+ void setPixmap( <a href="qpixmap.html">QPixmap</a> *p );
+
+private:
+ <a href="qpixmap.html">QPixmap</a> *pix;
+
+};
+
+class Directory : public <a href="qlistviewitem.html">QListViewItem</a>
+{
+public:
+ Directory( <a href="qlistview.html">QListView</a> * parent, const <a href="qstring.html">QString</a>&amp; filename );
+ Directory( Directory * parent, const <a href="qstring.html">QString</a>&amp; filename, const <a href="qstring.html">QString</a> &amp;col2 )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent, filename, col2 ), pix( 0 ) {}
+ Directory( Directory * parent, const <a href="qstring.html">QString</a>&amp; filename );
+
+ <a href="qstring.html">QString</a> text( int column ) const;
+
+ <a href="qstring.html">QString</a> fullName();
+
+ void setOpen( bool );
+ void setup();
+
+ const <a href="qpixmap.html">QPixmap</a> *pixmap( int i ) const;
+#if !defined(Q_NO_USING_KEYWORD)
+ using QListViewItem::setPixmap;
+#endif
+ void setPixmap( <a href="qpixmap.html">QPixmap</a> *p );
+
+private:
+ <a href="qfile.html">QFile</a> f;
+ Directory * p;
+ bool readable;
+ bool showDirsOnly;
+ <a href="qpixmap.html">QPixmap</a> *pix;
+
+};
+
+class DirectoryView : public <a href="qlistview.html">QListView</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ DirectoryView( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, bool sdo = FALSE );
+ bool showDirsOnly() { return dirsOnly; }
+
+public slots:
+ void setDir( const <a href="qstring.html">QString</a> &amp; );
+
+signals:
+ void folderSelected( const <a href="qstring.html">QString</a> &amp; );
+
+protected slots:
+ void slotFolderSelected( <a href="qlistviewitem.html">QListViewItem</a> * );
+ void openFolder();
+
+protected:
+ void contentsDragEnterEvent( <a href="qdragenterevent.html">QDragEnterEvent</a> *e );
+ void contentsDragMoveEvent( <a href="qdragmoveevent.html">QDragMoveEvent</a> *e );
+ void contentsDragLeaveEvent( <a href="qdragleaveevent.html">QDragLeaveEvent</a> *e );
+ void contentsDropEvent( <a href="qdropevent.html">QDropEvent</a> *e );
+ void contentsMouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsMousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsMouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+
+private:
+ <a href="qstring.html">QString</a> fullPath(QListViewItem* item);
+ bool dirsOnly;
+ <a href="qlistviewitem.html">QListViewItem</a> *oldCurrent;
+ <a href="qlistviewitem.html">QListViewItem</a> *dropItem;
+ <a href="qtimer.html">QTimer</a>* autoopen_timer;
+ <a href="qpoint.html">QPoint</a> presspos;
+ bool mousePressed;
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> And here is the main implementation file. Note the way the program
+scans subdirectories only when it has to. This allows the program
+to handle very large file systems efficiently. The same technique
+can be used in any other trees.
+<p> <pre>/****************************************************************************
+** $Id: qt/dirview.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "dirview.h"
+
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qpoint-h.html">qpoint.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;
+#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;
+#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;
+
+static const char* folder_closed_xpm[]={
+ "16 16 9 1",
+ "g c #808080",
+ "b c #c0c000",
+ "e c #c0c0c0",
+ "# c #000000",
+ "c c #ffff00",
+ ". c None",
+ "a c #585858",
+ "f c #a0a0a4",
+ "d c #ffffff",
+ "..###...........",
+ ".#abc##.........",
+ ".#daabc#####....",
+ ".#ddeaabbccc#...",
+ ".#dedeeabbbba...",
+ ".#edeeeeaaaab#..",
+ ".#deeeeeeefe#ba.",
+ ".#eeeeeeefef#ba.",
+ ".#eeeeeefeff#ba.",
+ ".#eeeeefefff#ba.",
+ ".##geefeffff#ba.",
+ "...##gefffff#ba.",
+ ".....##fffff#ba.",
+ ".......##fff#b##",
+ ".........##f#b##",
+ "...........####."};
+
+static const char* folder_open_xpm[]={
+ "16 16 11 1",
+ "# c #000000",
+ "g c #c0c0c0",
+ "e c #303030",
+ "a c #ffa858",
+ "b c #808080",
+ "d c #a0a0a4",
+ "f c #585858",
+ "c c #ffdca8",
+ "h c #dcdcdc",
+ "i c #ffffff",
+ ". c None",
+ "....###.........",
+ "....#ab##.......",
+ "....#acab####...",
+ "###.#acccccca#..",
+ "#ddefaaaccccca#.",
+ "#bdddbaaaacccab#",
+ ".eddddbbaaaacab#",
+ ".#bddggdbbaaaab#",
+ "..edgdggggbbaab#",
+ "..#bgggghghdaab#",
+ "...ebhggghicfab#",
+ "....#edhhiiidab#",
+ "......#egiiicfb#",
+ "........#egiibb#",
+ "..........#egib#",
+ "............#ee#"};
+
+static const char * folder_locked[]={
+ "16 16 10 1",
+ "h c #808080",
+ "b c #ffa858",
+ "f c #c0c0c0",
+ "e c #c05800",
+ "# c #000000",
+ "c c #ffdca8",
+ ". c None",
+ "a c #585858",
+ "g c #a0a0a4",
+ "d c #ffffff",
+ "..#a#...........",
+ ".#abc####.......",
+ ".#daa#eee#......",
+ ".#ddf#e##b#.....",
+ ".#dfd#e#bcb##...",
+ ".#fdccc#daaab#..",
+ ".#dfbbbccgfg#ba.",
+ ".#ffb#ebbfgg#ba.",
+ ".#ffbbe#bggg#ba.",
+ ".#fffbbebggg#ba.",
+ ".##hf#ebbggg#ba.",
+ "...###e#gggg#ba.",
+ ".....#e#gggg#ba.",
+ "......###ggg#b##",
+ ".........##g#b##",
+ "...........####."};
+
+static const char * pix_file []={
+ "16 16 7 1",
+ "# c #000000",
+ "b c #ffffff",
+ "e c #000000",
+ "d c #404000",
+ "c c #c0c000",
+ "a c #ffffc0",
+ ". c None",
+ "................",
+ ".........#......",
+ "......#.#a##....",
+ ".....#b#bbba##..",
+ "....#b#bbbabbb#.",
+ "...#b#bba##bb#..",
+ "..#b#abb#bb##...",
+ ".#a#aab#bbbab##.",
+ "#a#aaa#bcbbbbbb#",
+ "#ccdc#bcbbcbbb#.",
+ ".##c#bcbbcabb#..",
+ "...#acbacbbbe...",
+ "..#aaaacaba#....",
+ "...##aaaaa#.....",
+ ".....##aa#......",
+ ".......##......."};
+
+QPixmap *folderLocked = 0;
+QPixmap *folderClosed = 0;
+QPixmap *folderOpen = 0;
+QPixmap *fileNormal = 0;
+
+/*****************************************************************************
+ *
+ * Class Directory
+ *
+ *****************************************************************************/
+
+<a name="f476"></a>Directory::Directory( Directory * parent, const <a href="qstring.html">QString</a>&amp; filename )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent ), f(filename),
+ showDirsOnly( parent-&gt;showDirsOnly ),
+ pix( 0 )
+{
+ p = parent;
+ readable = QDir( fullName() ).isReadable();
+
+ if ( !readable )
+ <a href="qlistviewitem.html#setPixmap">setPixmap</a>( folderLocked );
+ else
+ <a href="qlistviewitem.html#setPixmap">setPixmap</a>( folderClosed );
+}
+
+
+Directory::Directory( <a href="qlistview.html">QListView</a> * parent, const <a href="qstring.html">QString</a>&amp; filename )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent ), f(filename),
+ showDirsOnly( ( (DirectoryView*)parent )-&gt;showDirsOnly() ),
+ pix( 0 )
+{
+ p = 0;
+ readable = QDir( fullName() ).isReadable();
+}
+
+
+<a name="x1691"></a>void Directory::<a href="qlistviewitem.html#setPixmap">setPixmap</a>( <a href="qpixmap.html">QPixmap</a> *px )
+{
+ pix = px;
+ <a href="qlistviewitem.html#setup">setup</a>();
+ <a href="qlistviewitem.html#widthChanged">widthChanged</a>( 0 );
+ <a href="qlistviewitem.html#invalidateHeight">invalidateHeight</a>();
+ <a href="qlistviewitem.html#repaint">repaint</a>();
+}
+
+
+<a name="x1689"></a>const QPixmap *Directory::<a href="qlistviewitem.html#pixmap">pixmap</a>( int i ) const
+{
+ if ( i )
+ return 0;
+ return pix;
+}
+
+<a name="x1690"></a>void Directory::<a href="qlistviewitem.html#setOpen">setOpen</a>( bool o )
+{
+ if ( o )
+ <a href="qlistviewitem.html#setPixmap">setPixmap</a>( folderOpen );
+ else
+ <a href="qlistviewitem.html#setPixmap">setPixmap</a>( folderClosed );
+
+ if ( o &amp;&amp; !childCount() ) {
+ <a href="qstring.html">QString</a> s( fullName() );
+ <a href="qdir.html">QDir</a> thisDir( s );
+<a name="x1667"></a> if ( !thisDir.<a href="qdir.html#isReadable">isReadable</a>() ) {
+ readable = FALSE;
+ <a href="qlistviewitem.html#setExpandable">setExpandable</a>( FALSE );
+ return;
+ }
+
+ <a href="qlistviewitem.html#listView">listView</a>()-&gt;setUpdatesEnabled( FALSE );
+<a name="x1666"></a> const QFileInfoList * files = thisDir.<a href="qdir.html#entryInfoList">entryInfoList</a>();
+ if ( files ) {
+ QFileInfoListIterator it( *files );
+ <a href="qfileinfo.html">QFileInfo</a> * fi;
+<a name="x1694"></a> while( (fi=it.<a href="qlistviewitemiterator.html#current">current</a>()) != 0 ) {
+ ++it;
+<a name="x1675"></a> if ( fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() == "." || fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() == ".." )
+ ; // nothing
+<a name="x1678"></a> else if ( fi-&gt;<a href="qfileinfo.html#isSymLink">isSymLink</a>() &amp;&amp; !showDirsOnly ) {
+ FileItem *item = new FileItem( this, fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>(),
+ "Symbolic Link" );
+ item-&gt;<a href="qlistviewitem.html#setPixmap">setPixmap</a>( fileNormal );
+ }
+<a name="x1676"></a> else if ( fi-&gt;<a href="qfileinfo.html#isDir">isDir</a>() )
+ (void)new Directory( this, fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() );
+ else if ( !showDirsOnly ) {
+ FileItem *item
+ = new FileItem( this, fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>(),
+<a name="x1677"></a> fi-&gt;<a href="qfileinfo.html#isFile">isFile</a>()?"File":"Special" );
+ item-&gt;<a href="qlistviewitem.html#setPixmap">setPixmap</a>( fileNormal );
+ }
+ }
+ }
+ listView()-&gt;setUpdatesEnabled( TRUE );
+ }
+ QListViewItem::<a href="qlistviewitem.html#setOpen">setOpen</a>( o );
+}
+
+
+<a name="x1692"></a>void Directory::<a href="qlistviewitem.html#setup">setup</a>()
+{
+ setExpandable( TRUE );
+ QListViewItem::<a href="qlistviewitem.html#setup">setup</a>();
+}
+
+
+QString <a name="f477"></a>Directory::fullName()
+{
+ <a href="qstring.html">QString</a> s;
+ if ( p ) {
+ s = p-&gt;fullName();
+<a name="x1701"></a> s.<a href="qstring.html#append">append</a>( f.name() );
+ s.<a href="qstring.html#append">append</a>( "/" );
+ } else {
+ s = f.name();
+ }
+ return s;
+}
+
+
+<a name="x1693"></a>QString Directory::<a href="qlistviewitem.html#text">text</a>( int column ) const
+{
+ if ( column == 0 )
+ return f.name();
+ else if ( readable )
+ return "Directory";
+ else
+ return "Unreadable Directory";
+}
+
+/*****************************************************************************
+ *
+ * Class DirectoryView
+ *
+ *****************************************************************************/
+
+<a name="f478"></a>DirectoryView::DirectoryView( <a href="qwidget.html">QWidget</a> *parent, const char *name, bool sdo )
+ : <a href="qlistview.html">QListView</a>( parent, name ), dirsOnly( sdo ), oldCurrent( 0 ),
+ dropItem( 0 ), mousePressed( FALSE )
+{
+ autoopen_timer = new <a href="qtimer.html">QTimer</a>( this );
+ if ( !folderLocked ) {
+ folderLocked = new <a href="qpixmap.html">QPixmap</a>( folder_locked );
+ folderClosed = new <a href="qpixmap.html">QPixmap</a>( folder_closed_xpm );
+ folderOpen = new <a href="qpixmap.html">QPixmap</a>( folder_open_xpm );
+ fileNormal = new <a href="qpixmap.html">QPixmap</a>( pix_file );
+ }
+
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qlistview.html#doubleClicked">doubleClicked</a>( <a href="qlistviewitem.html">QListViewItem</a> * ) ),
+ this, SLOT( slotFolderSelected( <a href="qlistviewitem.html">QListViewItem</a> * ) ) );
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qlistview.html#returnPressed">returnPressed</a>( <a href="qlistviewitem.html">QListViewItem</a> * ) ),
+ this, SLOT( slotFolderSelected( <a href="qlistviewitem.html">QListViewItem</a> * ) ) );
+
+ <a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>( TRUE );
+ <a href="qscrollview.html#viewport">viewport</a>()-&gt;setAcceptDrops( TRUE );
+
+<a name="x1706"></a> <a href="qobject.html#connect">connect</a>( autoopen_timer, SIGNAL( <a href="qtimer.html#timeout">timeout</a>() ),
+ this, SLOT( openFolder() ) );
+}
+
+void <a name="f479"></a>DirectoryView::slotFolderSelected( <a href="qlistviewitem.html">QListViewItem</a> *i )
+{
+ if ( !i || !showDirsOnly() )
+ return;
+
+ Directory *dir = (Directory*)i;
+ emit folderSelected( dir-&gt;fullName() );
+}
+
+void <a name="f480"></a>DirectoryView::openFolder()
+{
+<a name="x1705"></a> autoopen_timer-&gt;<a href="qtimer.html#stop">stop</a>();
+ if ( dropItem &amp;&amp; !dropItem-&gt;isOpen() ) {
+ dropItem-&gt;setOpen( TRUE );
+ dropItem-&gt;repaint();
+ }
+}
+
+static const int autoopenTime = 750;
+
+
+<a name="x1679"></a>void DirectoryView::<a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>( <a href="qdragenterevent.html">QDragEnterEvent</a> *e )
+{
+ if ( !QUriDrag::canDecode(e) ) {
+<a name="x1669"></a> e-&gt;<a href="qdragmoveevent.html#ignore">ignore</a>();
+ return;
+ }
+
+ oldCurrent = <a href="qlistview.html#currentItem">currentItem</a>();
+
+<a name="x1673"></a> <a href="qlistviewitem.html">QListViewItem</a> *i = <a href="qlistview.html#itemAt">itemAt</a>( <a href="qscrollview.html#contentsToViewport">contentsToViewport</a>(e-&gt;<a href="qdropevent.html#pos">pos</a>()) );
+ if ( i ) {
+ dropItem = i;
+<a name="x1704"></a> autoopen_timer-&gt;<a href="qtimer.html#start">start</a>( autoopenTime );
+ }
+}
+
+
+<a name="x1681"></a>void DirectoryView::<a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>( <a href="qdragmoveevent.html">QDragMoveEvent</a> *e )
+{
+ if ( !QUriDrag::canDecode(e) ) {
+ e-&gt;<a href="qdragmoveevent.html#ignore">ignore</a>();
+ return;
+ }
+
+ <a href="qpoint.html">QPoint</a> vp = <a href="qscrollview.html#contentsToViewport">contentsToViewport</a>( ( (QDragMoveEvent*)e )-&gt;pos() );
+ <a href="qlistviewitem.html">QListViewItem</a> *i = <a href="qlistview.html#itemAt">itemAt</a>( vp );
+ if ( i ) {
+ <a href="qlistview.html#setSelected">setSelected</a>( i, TRUE );
+<a name="x1668"></a> e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+ if ( i != dropItem ) {
+ autoopen_timer-&gt;<a href="qtimer.html#stop">stop</a>();
+ dropItem = i;
+ autoopen_timer-&gt;<a href="qtimer.html#start">start</a>( autoopenTime );
+ }
+<a name="x1672"></a> switch ( e-&gt;<a href="qdropevent.html#action">action</a>() ) {
+ case QDropEvent::Copy:
+ break;
+ case QDropEvent::Move:
+<a name="x1671"></a> e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+ break;
+ case QDropEvent::Link:
+ e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+ break;
+ default:
+ ;
+ }
+ } else {
+ e-&gt;<a href="qdragmoveevent.html#ignore">ignore</a>();
+ autoopen_timer-&gt;<a href="qtimer.html#stop">stop</a>();
+ dropItem = 0;
+ }
+}
+
+<a name="x1680"></a>void DirectoryView::<a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>( <a href="qdragleaveevent.html">QDragLeaveEvent</a> * )
+{
+ autoopen_timer-&gt;<a href="qtimer.html#stop">stop</a>();
+ dropItem = 0;
+
+ <a href="qlistview.html#setCurrentItem">setCurrentItem</a>( oldCurrent );
+ <a href="qlistview.html#setSelected">setSelected</a>( oldCurrent, TRUE );
+}
+
+<a name="x1682"></a>void DirectoryView::<a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>( <a href="qdropevent.html">QDropEvent</a> *e )
+{
+ autoopen_timer-&gt;<a href="qtimer.html#stop">stop</a>();
+
+ if ( !QUriDrag::canDecode(e) ) {
+ e-&gt;<a href="qdragmoveevent.html#ignore">ignore</a>();
+ return;
+ }
+
+ <a href="qlistviewitem.html">QListViewItem</a> *item = <a href="qlistview.html#itemAt">itemAt</a>( <a href="qscrollview.html#contentsToViewport">contentsToViewport</a>(e-&gt;<a href="qdropevent.html#pos">pos</a>()) );
+ if ( item ) {
+
+ <a href="qstrlist.html">QStrList</a> lst;
+
+<a name="x1707"></a> QUriDrag::<a href="quridrag.html#decode">decode</a>( e, lst );
+
+ <a href="qstring.html">QString</a> str;
+
+ switch ( e-&gt;<a href="qdropevent.html#action">action</a>() ) {
+ case QDropEvent::Copy:
+ str = "Copy";
+ break;
+ case QDropEvent::Move:
+ str = "Move";
+ e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+ break;
+ case QDropEvent::Link:
+ str = "Link";
+ e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+ break;
+ default:
+ str = "Unknown";
+ }
+
+ str += "\n\n";
+
+ e-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+
+<a name="x1699"></a> for ( uint i = 0; i &lt; lst.<a href="qptrlist.html#count">count</a>(); ++i ) {
+<a name="x1709"></a><a name="x1697"></a><a name="x1664"></a> <a href="qstring.html">QString</a> filename = QDir::<a href="qdir.html#convertSeparators">convertSeparators</a>(QUriDrag::<a href="quridrag.html#uriToLocalFile">uriToLocalFile</a>(lst.<a href="qptrlist.html#at">at</a>(i)));
+ str += filename + "\n";
+ }
+ str += QString( "\nTo\n\n %1" )
+ .arg( QDir::<a href="qdir.html#convertSeparators">convertSeparators</a>(fullPath(item)) );
+
+<a name="x1695"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Drop target", str, "Not implemented" );
+ } else
+ e-&gt;<a href="qdragmoveevent.html#ignore">ignore</a>();
+
+}
+
+
+QString <a name="f481"></a>DirectoryView::fullPath(QListViewItem* item)
+{
+ <a href="qstring.html">QString</a> fullpath = item-&gt;<a href="qlistviewitem.html#text">text</a>(0);
+<a name="x1688"></a> while ( (item=item-&gt;<a href="qlistviewitem.html#parent">parent</a>()) ) {
+ if ( item-&gt;<a href="qlistviewitem.html#parent">parent</a>() )
+ fullpath = item-&gt;<a href="qlistviewitem.html#text">text</a>(0) + "/" + fullpath;
+ else
+ fullpath = item-&gt;<a href="qlistviewitem.html#text">text</a>(0) + fullpath;
+ }
+#ifdef Q_WS_WIN
+<a name="x1702"></a> if (fullpath.<a href="qstring.html#length">length</a>() &gt; 2 &amp;&amp; fullpath[1] != ':') {
+ <a href="qdir.html">QDir</a> dir(fullpath);
+<a name="x1665"></a> fullpath = dir.<a href="qdir.html#currentDirPath">currentDirPath</a>().left(2) + fullpath;
+ }
+#endif
+
+ return fullpath;
+}
+
+<a name="x1684"></a>void DirectoryView::<a href="qlistview.html#contentsMousePressEvent">contentsMousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a>* e )
+{
+ QListView::<a href="qlistview.html#contentsMousePressEvent">contentsMousePressEvent</a>(e);
+ <a href="qpoint.html">QPoint</a> p( contentsToViewport( e-&gt;<a href="qdropevent.html#pos">pos</a>() ) );
+ <a href="qlistviewitem.html">QListViewItem</a> *i = itemAt( p );
+ if ( i ) {
+ // if the user clicked into the root decoration of the item, don't try to start a drag!
+<a name="x1696"></a> if ( p.<a href="qpoint.html#x">x</a>() &gt; header()-&gt;cellPos( header()-&gt;mapToActual( 0 ) ) +
+<a name="x1686"></a> treeStepSize() * ( i-&gt;<a href="qlistviewitem.html#depth">depth</a>() + ( rootIsDecorated() ? 1 : 0) ) + itemMargin() ||
+ p.<a href="qpoint.html#x">x</a>() &lt; header()-&gt;cellPos( header()-&gt;mapToActual( 0 ) ) ) {
+ presspos = e-&gt;<a href="qdropevent.html#pos">pos</a>();
+ mousePressed = TRUE;
+ }
+ }
+}
+
+<a name="x1683"></a>void DirectoryView::<a href="qlistview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a>* e )
+{
+ if ( mousePressed &amp;&amp; ( presspos - e-&gt;<a href="qdropevent.html#pos">pos</a>() ).manhattanLength() &gt; QApplication::<a href="qapplication.html#startDragDistance">startDragDistance</a>() ) {
+ mousePressed = FALSE;
+ <a href="qlistviewitem.html">QListViewItem</a> *item = itemAt( contentsToViewport(presspos) );
+ if ( item ) {
+ <a href="qstring.html">QString</a> source = fullPath(item);
+<a name="x1674"></a> if ( QFile::<a href="qfile.html#exists">exists</a>(source) ) {
+ <a href="quridrag.html">QUriDrag</a>* ud = new <a href="quridrag.html">QUriDrag</a>(viewport());
+<a name="x1708"></a> ud-&gt;<a href="quridrag.html#setFileNames">setFileNames</a>( source );
+<a name="x1670"></a> if ( ud-&gt;<a href="qdragobject.html#drag">drag</a>() )
+ QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Drag source",
+ QString("Delete ") + QDir::convertSeparators(source), "Not implemented" );
+ }
+ }
+ }
+}
+
+<a name="x1685"></a>void DirectoryView::<a href="qlistview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ mousePressed = FALSE;
+}
+
+void <a name="f482"></a>DirectoryView::setDir( const <a href="qstring.html">QString</a> &amp;s )
+{
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( this );
+ ++it;
+ for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it ) {
+ it.<a href="qlistviewitemiterator.html#current">current</a>()-&gt;setOpen( FALSE );
+ }
+
+<a name="x1703"></a> <a href="qstringlist.html">QStringList</a> lst( QStringList::<a href="qstringlist.html#split">split</a>( "/", s ) );
+ <a href="qlistviewitem.html">QListViewItem</a> *item = <a href="qlistviewitem.html#firstChild">firstChild</a>();
+<a name="x1698"></a> QStringList::Iterator it2 = lst.<a href="qvaluelist.html#begin">begin</a>();
+<a name="x1700"></a> for ( ; it2 != lst.<a href="qvaluelist.html#end">end</a>(); ++it2 ) {
+ while ( item ) {
+ if ( item-&gt;<a href="qlistviewitem.html#text">text</a>( 0 ) == *it2 ) {
+ item-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE );
+ break;
+ }
+<a name="x1687"></a> item = item-&gt;<a href="qlistviewitem.html#itemBelow">itemBelow</a>();
+ }
+ }
+
+ if ( item )
+ setCurrentItem( item );
+}
+
+void FileItem::<a href="qlistviewitem.html#setPixmap">setPixmap</a>( <a href="qpixmap.html">QPixmap</a> *p )
+{
+ pix = p;
+ <a href="qlistviewitem.html#setup">setup</a>();
+ <a href="qlistviewitem.html#widthChanged">widthChanged</a>( 0 );
+ <a href="qlistviewitem.html#invalidateHeight">invalidateHeight</a>();
+ <a href="qlistviewitem.html#repaint">repaint</a>();
+}
+
+
+const QPixmap *FileItem::<a href="qlistviewitem.html#pixmap">pixmap</a>( int i ) const
+{
+ if ( i )
+ return 0;
+ return pix;
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include "dirview.h"
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ DirectoryView mw;
+
+<a name="x1714"></a> mw.<a href="qlistview.html#addColumn">addColumn</a>( "Name" );
+ mw.<a href="qlistview.html#addColumn">addColumn</a>( "Type" );
+<a name="x1716"></a> mw.<a href="qlistview.html#setTreeStepSize">setTreeStepSize</a>( 20 );
+
+<a name="x1712"></a> const QFileInfoList* roots = QDir::<a href="qdir.html#drives">drives</a>();
+ <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QFileInfo&gt; i(*roots);
+ <a href="qfileinfo.html">QFileInfo</a>* fi;
+ while ( (fi = *i) ) {
+ ++i;
+<a name="x1713"></a> Directory * root = new Directory( &amp;mw, fi-&gt;<a href="qfileinfo.html#filePath">filePath</a>() );
+ if ( roots-&gt;count() &lt;= 1 )
+<a name="x1718"></a> root-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE ); // be interesting
+ }
+
+<a name="x1719"></a> mw.<a href="qwidget.html#resize">resize</a>( 400, 400 );
+ mw.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Directory Browser" );
+<a name="x1715"></a> mw.<a href="qlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</a>( TRUE );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;mw );
+<a name="x1717"></a> mw.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/distributingqt.html b/doc/html/distributingqt.html
new file mode 100644
index 0000000..9e293d2
--- /dev/null
+++ b/doc/html/distributingqt.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/distributingqt.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Deploying Qt Applications</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Deploying Qt Applications</h1>
+
+
+
+<p> This document lists the platform-specific files needed to distribute
+Qt applications. We do not include any compiler-specific files that
+may also be required. (See also, <a href="winsystem.html">Window
+System-specific Notes</a>.)
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Static Qt Applications
+</a>
+<li><a href="#2"> Dynamic Qt Applications
+</a>
+<ul>
+<li><a href="#2-1"> Distributing Plugins
+</a>
+</ul>
+<li><a href="#3"> Dynamic Dialogs
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Static Qt Applications
+</h2>
+<a name="1"></a><p> To distribute static Qt applications, you need the following file for
+all platforms:
+<p> <ul>
+<li> your application's executable
+</ul>
+<p> <h2> Dynamic Qt Applications
+</h2>
+<a name="2"></a><p> To distribute dynamic Qt applications, you will need the following
+files for all platforms:
+<p> <ul>
+<li> application executable
+<li> the Qt library
+</ul>
+<p> The Qt library must either be in the same directory as the application
+executable or in a directory which is included in the system library
+path.
+<p> The library is in provided by the following platform specific files:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Platform <th valign="top">File
+<tr bgcolor="#f0f0f0"> <td valign="top">Windows <td valign="top"><tt>qt[version].dll</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top">Unix/Linux <td valign="top"><tt>libqt[version].so</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top">Mac <td valign="top"><tt>libqt[version].dylib</tt>
+</table></center>
+<p> <em>version</em> includes the three version numbers. For threaded builds the
+version is prefixed with <em>-mt</em>.
+<p> <h3> Distributing Plugins
+</h3>
+<a name="2-1"></a><p> You must include any plugin files required by the application.
+<p> Plugins must be put into a subdirectory under a directory known to
+Qt as a plugin directory. The subdirectory must have the name of the
+plugin category (e.g. <tt>styles</tt>, <tt>sqldrivers</tt>, <tt>designer</tt>, etc.).
+<p> Qt searches in the following directories for plugin categories:
+<p> <ul>
+<li> Application specific plugin paths
+<li> Build-directory of Qt
+<li> The application directory
+</ul>
+<p> Application specific plugin paths can be added using
+<a href="qapplication.html#addLibraryPath">QApplication::addLibraryPath</a>(). The build-directory of Qt is hardcoded
+in the Qt library and can be changed as a part of the installation
+process (see the <a href="distributor-example.html">distributor-example.html</a> Distributor example).
+<p> <h2> Dynamic Dialogs
+</h2>
+<a name="3"></a><p> For dynamic dialogs if you use <a href="qwidgetfactory.html">QWidgetFactory</a>, you need the following
+files for all platforms:
+<p> <ul>
+<li> The same files as used for dynamic Qt applications
+<li> The QUI Library
+</ul>
+<p> The QUI library is provided by the following platform specific files:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Platform <th valign="top">File
+<tr bgcolor="#d0d0d0"> <td valign="top">Windows <td valign="top"><tt>qui.lib</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top">Unix/Linux <td valign="top"><tt>libqui.so</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top">Mac <td valign="top"><tt>libqui.dylib</tt>
+</table></center>
+<p> The QUI library must either be in the same directory as the
+application executable or in a directory which is included in the
+system library path.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/distributor-example.html b/doc/html/distributor-example.html
new file mode 100644
index 0000000..4052b54
--- /dev/null
+++ b/doc/html/distributor-example.html
@@ -0,0 +1,450 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/distributor/distributor.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Distribution Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Distribution Example</h1>
+
+
+
+<p> This example program modifies the hard-coded paths that are
+compiled into the Qt library.
+<p> When distributing the Qt library, the final installation prefix is
+very rarely the same as the prefix used when doing development.
+You can use the code from this example to modify the following
+hard-coded paths in Qt library:
+<p> <ul>
+<p> <li> Prefix - Normally, all other paths are relative to the <em>Prefix</em>.
+<p> <li> Binaries - Location of binaries distributed with Qt (for
+example, <em>Qt Assistant</em>).
+<p> <li> Documentation - Location of the Qt documentation.
+<p> <li> Headers - Location of the Qt headers.
+<p> <li> Libraries - Location of addition libraries distributed with Qt
+(for example, the <em>qui</em> library).
+<p> <li> Plugins - Location of the Qt plugins.
+<p> <li> Data - Location of applicaton specific data for all programs
+distributed with Qt.
+<p> </ul>
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions or slots use
+** Qt Designer which will update this file, preserving your code. Create an
+** init() function in place of a constructor, and a destroy() function in
+** place of a destructor.
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qeventloop-h.html">qeventloop.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+
+
+void Distributor::init()
+{
+ timer = new <a href="qtimer.html">QTimer</a>( this );
+<a name="x2672"></a> connect( timer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), SLOT(checkLibData()) );
+
+ cancelButton()-&gt;setAutoDefault( FALSE );
+ backButton()-&gt;setAutoDefault( FALSE );
+
+ setNextEnabled( selectLibrary, FALSE );
+
+ setHelpEnabled( selectLibrary, FALSE );
+ setHelpEnabled( modifyPaths, FALSE );
+ setHelpEnabled( verifyMods, FALSE );
+
+ setFinishEnabled( verifyMods, TRUE );
+}
+
+void Distributor::showPage( <a href="qwidget.html">QWidget</a> *page )
+{
+ if ( page == selectLibrary ) {
+ nextButton()-&gt;setDefault( TRUE );
+ libFilename-&gt;setFocus();
+ } else if ( page == modifyPaths ) {
+ nextButton()-&gt;setDefault( TRUE );
+ prefixPath-&gt;selectAll();
+ prefixPath-&gt;setFocus();
+ } else if ( page == verifyMods ) {
+ finishButton()-&gt;setDefault( TRUE );
+ finishButton()-&gt;setFocus();
+
+ <a href="qstring.html">QString</a> labeltext =
+ tr("&lt;p&gt;&lt;b&gt;Current Library File:&lt;/b&gt; %1&lt;/p&gt;"
+ "&lt;table border=0&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;New Installation Prefix:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%2&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Binaries Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Documentation Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Headers Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%5&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Libraries Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%6&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Plugins Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%7&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;tr&gt;&lt;td&gt;&lt;b&gt;Data Path:&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%8&lt;/td&gt;&lt;/tr&gt;"
+ "&lt;/table&gt;"
+ "&lt;p&gt;Please verify that these options are correct. Press the "
+ "&lt;i&gt;Finish&lt;/i&gt; button to apply these modifications to the Qt "
+ "library. Use the &lt;i&gt;Back&lt;/i&gt; button to make corrections. Use "
+ "the &lt;i&gt;Cancel&lt;/i&gt; button to abort.&lt;/p&gt;")
+ .arg( libFilename-&gt;text() )
+ .arg( prefixPath-&gt;text() )
+ .arg( binPath-&gt;text() )
+ .arg( docPath-&gt;text() )
+ .arg( hdrPath-&gt;text() )
+ .arg( libPath-&gt;text() )
+ .arg( plgPath-&gt;text() )
+ .arg( datPath-&gt;text() );
+ textLabel4-&gt;setText( labeltext );
+ }
+
+<a name="x2673"></a> QWizard::<a href="qwizard.html#showPage">showPage</a>( page );
+}
+
+void Distributor::checkLibFilename( const <a href="qstring.html">QString</a> &amp;filename )
+{
+ setNextEnabled( selectLibrary, FALSE );
+
+ <a href="qfileinfo.html">QFileInfo</a> fileinfo( filename );
+<a name="x2661"></a> if ( ! filename.<a href="qstring.html#isEmpty">isEmpty</a>() &amp;&amp; fileinfo.<a href="qfileinfo.html#exists">exists</a>() &amp;&amp;
+<a name="x2665"></a><a name="x2663"></a> fileinfo.<a href="qfileinfo.html#isReadable">isReadable</a>() &amp;&amp; fileinfo.<a href="qfileinfo.html#isWritable">isWritable</a>() &amp;&amp;
+<a name="x2664"></a><a name="x2662"></a> fileinfo.<a href="qfileinfo.html#isFile">isFile</a>() &amp;&amp; !fileinfo.<a href="qfileinfo.html#isSymLink">isSymLink</a>() )
+<a name="x2671"></a> timer-&gt;<a href="qtimer.html#start">start</a>( 500, TRUE );
+}
+
+void Distributor::browseLibFilename()
+{
+ <a href="qstring.html">QString</a> filename =
+<a name="x2660"></a> QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString::null, this );
+ libFilename-&gt;setText( filename );
+}
+
+static char *find_pattern( char *h, const char *n, ulong hlen )
+{
+ if ( ! h || ! n || hlen == 0 )
+ return 0;
+
+#ifdef Q_OS_UNIX
+ size_t nlen;
+#else
+ ulong nlen;
+#endif
+
+ char nc = *n++;
+ nlen = strlen( n );
+ char hc;
+
+ do {
+ do {
+ hc = *h++;
+ if ( hlen-- &lt; 1 )
+ return 0;
+ } while ( hc != nc );
+
+ if ( nlen &gt; hlen )
+ return 0;
+ } while ( <a href="qcstring.html#qstrncmp">qstrncmp</a>( h, n, nlen ) != 0 );
+ return h + nlen;
+}
+
+void Distributor::checkLibData()
+{
+ struct step {
+ const char *key;
+ <a href="qcstring.html">QCString</a> value;
+ bool done;
+ } steps[7];
+
+ steps[0].key = "qt_nstpath=";
+ steps[0].done = FALSE;
+
+ steps[1].key = "qt_binpath=";
+ steps[1].done = FALSE;
+
+ steps[2].key = "qt_docpath=";
+ steps[2].done = FALSE;
+
+ steps[3].key = "qt_hdrpath=";
+ steps[3].done = FALSE;
+
+ steps[4].key = "qt_libpath=";
+ steps[4].done = FALSE;
+
+ steps[5].key = "qt_plgpath=";
+ steps[5].done = FALSE;
+
+ steps[6].key = "qt_datpath=";
+ steps[6].done = FALSE;
+
+ uint completed = 0;
+ uint total_steps = sizeof(steps) / sizeof(step);
+
+ <a href="qfile.html">QFile</a> file( libFilename-&gt;text() );
+<a name="x2659"></a> if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+<a name="x2653"></a> QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( WaitCursor );
+
+ // instead of reading in the entire file, do the search in chunks
+ char data[60000];
+ ulong offset = 0;
+
+<a name="x2655"></a> while ( ! file.<a href="qfile.html#atEnd">atEnd</a>() &amp;&amp; completed &lt; total_steps ) {
+<a name="x2651"></a> QApplication::<a href="qapplication.html#eventLoop">eventLoop</a>()-&gt;processEvents( QEventLoop::ExcludeUserInput );
+
+<a name="x2667"></a> ulong len = file.<a href="qiodevice.html#readBlock">readBlock</a>( data, sizeof(data) );
+ if ( len &lt; 267 ) {
+ // not enough room to make any modifications... stop
+ break;
+ }
+
+ for ( uint x = 0; x &lt; total_steps; ++x ) {
+ if ( steps[x].done ) continue;
+
+ char *s = find_pattern( data, steps[x].key, len );
+ if ( s ) {
+ ulong where = s - data;
+ if ( len - where &lt; 256 ) {
+ // not enough space left to write the full
+ // path... move the file pointer back to just
+ // before the pattern and continue
+ offset += where - 11;
+<a name="x2666"></a> file.<a href="qiodevice.html#at">at</a>( offset );
+ len = file.<a href="qiodevice.html#readBlock">readBlock</a>( data, sizeof(data) );
+ --x; // retry the current step
+ continue;
+ }
+
+ steps[x].value = s;
+ steps[x].done = TRUE;
+
+ ++completed;
+ }
+ }
+
+ // move to the new read position
+ offset += len - 11;
+ file.<a href="qiodevice.html#at">at</a>( offset );
+ }
+
+<a name="x2656"></a> file.<a href="qfile.html#close">close</a>();
+
+<a name="x2652"></a> QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>();
+ }
+
+ if ( completed == total_steps ) {
+ setNextEnabled( selectLibrary, TRUE );
+
+<a name="x2657"></a> <a href="qstring.html">QString</a> prefix = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[0].value );
+ prefixPath-&gt;setText( prefix );
+
+ <a href="qstring.html">QString</a> def_bin = prefix + QString::fromLatin1( "/bin" );
+ <a href="qstring.html">QString</a> def_doc = prefix + QString::fromLatin1( "/doc" );
+ <a href="qstring.html">QString</a> def_hdr = prefix + QString::fromLatin1( "/include" );
+ <a href="qstring.html">QString</a> def_lib = prefix + QString::fromLatin1( "/lib" );
+ <a href="qstring.html">QString</a> def_plg = prefix + QString::fromLatin1( "/plugins" );
+ <a href="qstring.html">QString</a> def_dat = prefix;
+
+ <a href="qstring.html">QString</a> bin = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[1].value );
+ <a href="qstring.html">QString</a> doc = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[2].value );
+ <a href="qstring.html">QString</a> hdr = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[3].value );
+ <a href="qstring.html">QString</a> lib = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[4].value );
+ <a href="qstring.html">QString</a> plg = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[5].value );
+ <a href="qstring.html">QString</a> dat = QFile::<a href="qfile.html#decodeName">decodeName</a>( steps[6].value );
+
+ autoSet-&gt;setChecked( def_bin == bin &amp;&amp;
+ def_doc == doc &amp;&amp;
+ def_hdr == hdr &amp;&amp;
+ def_lib == lib &amp;&amp;
+ def_plg == plg &amp;&amp;
+ def_dat == dat );
+
+ if ( ! autoSet-&gt;isChecked() ) {
+ binPath-&gt;setText( bin );
+ docPath-&gt;setText( doc );
+ hdrPath-&gt;setText( hdr );
+ libPath-&gt;setText( lib );
+ plgPath-&gt;setText( plg );
+ datPath-&gt;setText( dat );
+ }
+ }
+}
+
+void Distributor::checkInstallationPrefix( const <a href="qstring.html">QString</a> &amp;prefix )
+{
+ if ( autoSet-&gt;isChecked() ) {
+ binPath-&gt;setText( prefix + QString::fromLatin1( "/bin" ) );
+ docPath-&gt;setText( prefix + QString::fromLatin1( "/doc" ) );
+ hdrPath-&gt;setText( prefix + QString::fromLatin1( "/include" ) );
+ libPath-&gt;setText( prefix + QString::fromLatin1( "/lib" ) );
+ plgPath-&gt;setText( prefix + QString::fromLatin1( "/plugins" ) );
+ datPath-&gt;setText( prefix );
+ }
+}
+
+void Distributor::browseInstallationPrefix()
+{
+ <a href="qstring.html">QString</a> prefix =
+ QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null, this );
+ prefixPath-&gt;setText( prefix );
+}
+
+
+void Distributor::toggleAutoSet( bool autoset )
+{
+ if ( autoset ) checkInstallationPrefix( prefixPath-&gt;text() );
+}
+
+void Distributor::accept()
+{
+ struct step {
+ const char *key;
+ <a href="qcstring.html">QCString</a> value;
+ bool done;
+ } steps[7];
+
+ steps[0].key = "qt_nstpath=";
+<a name="x2658"></a> steps[0].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( prefixPath-&gt;text() );
+ steps[0].done = FALSE;
+
+ steps[1].key = "qt_binpath=";
+ steps[1].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( binPath-&gt;text() );
+ steps[1].done = FALSE;
+
+ steps[2].key = "qt_docpath=";
+ steps[2].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( docPath-&gt;text() );
+ steps[2].done = FALSE;
+
+ steps[3].key = "qt_hdrpath=";
+ steps[3].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( hdrPath-&gt;text() );
+ steps[3].done = FALSE;
+
+ steps[4].key = "qt_libpath=";
+ steps[4].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( libPath-&gt;text() );
+ steps[4].done = FALSE;
+
+ steps[5].key = "qt_plgpath=";
+ steps[5].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( plgPath-&gt;text() );
+ steps[5].done = FALSE;
+
+ steps[6].key = "qt_datpath=";
+ steps[6].value = QFile::<a href="qfile.html#encodeName">encodeName</a>( datPath-&gt;text() );
+ steps[6].done = FALSE;
+
+ uint completed = 0;
+ uint total_steps = sizeof(steps) / sizeof(step);
+
+ <a href="qfile.html">QFile</a> file( libFilename-&gt;text() );
+ if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadWrite</a> ) ) {
+ QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( WaitCursor );
+
+ // instead of reading in the entire file, do the search in chunks
+ char data[60000];
+ ulong offset = 0;
+
+ while ( ! file.<a href="qfile.html#atEnd">atEnd</a>() &amp;&amp; completed &lt; total_steps ) {
+ QApplication::<a href="qapplication.html#eventLoop">eventLoop</a>()-&gt;processEvents( QEventLoop::ExcludeUserInput );
+
+ ulong len = file.<a href="qiodevice.html#readBlock">readBlock</a>( data, sizeof(data) );
+ if ( len &lt; 267 ) {
+ // not enough room to make any modifications... stop
+ break;
+ }
+
+ uint completed_save = completed;
+ for ( uint x = 0; x &lt; total_steps; ++x ) {
+ if ( steps[x].done ) continue;
+
+ char *s = find_pattern( data, steps[x].key, len );
+ if ( s ) {
+ ulong where = s - data;
+ if ( len - where &lt; 256 ) {
+ // not enough space left to write the full
+ // path... move the file pointer back to just
+ // before the pattern and continue
+ offset += where - 11;
+ file.<a href="qiodevice.html#at">at</a>( offset );
+ len = file.<a href="qiodevice.html#readBlock">readBlock</a>( data, sizeof(data) );
+ --x; // retry the current step
+ continue;
+ }
+
+ <a href="qcstring.html#qstrcpy">qstrcpy</a>( s, steps[x].value );
+ steps[x].done = TRUE;
+
+ ++completed;
+ }
+ }
+
+ if ( completed != completed_save ) {
+ // something changed... move file pointer back to
+ // where the data was read and write the new data
+ file.<a href="qiodevice.html#at">at</a>( offset );
+<a name="x2668"></a> file.<a href="qiodevice.html#writeBlock">writeBlock</a>( data, len );
+ }
+
+ // move to the new read position
+ offset += len - 11;
+ file.<a href="qiodevice.html#at">at</a>( offset );
+ }
+
+ file.<a href="qfile.html#close">close</a>();
+
+ QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>();
+ }
+
+ if ( completed != total_steps ) {
+ QMessageBox::<a href="qmessagebox.html#information">information</a>( this,
+ tr("Qt Distribution Wizard"),
+ tr("&lt;p&gt;&lt;h3&gt;Modifications failed.&lt;/h3&gt;&lt;/p&gt;"
+ "&lt;p&gt;Please make sure that you have permission "
+ "to write the selected file, and that the library "
+ "is properly built.&lt;/p&gt;") );
+ return;
+ }
+
+<a name="x2654"></a> QWizard::<a href="qdialog.html#accept">accept</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/dnd.html b/doc/html/dnd.html
new file mode 100644
index 0000000..3c0e064
--- /dev/null
+++ b/doc/html/dnd.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/dnd.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Drag and Drop</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Drag and Drop</h1>
+
+
+
+<p> Drag and drop provides a simple visual mechanism which users can use
+to transfer information between and within applications. (In the
+literature this is referred to as a "direct manipulation model".) Drag
+and drop is similar in function to the clipboard's cut-and-paste
+mechanism.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Dragging
+</a>
+<li><a href="#2"> Dropping
+</a>
+<li><a href="#3"> The Clipboard
+</a>
+<li><a href="#4"> Drag and Drop Actions
+</a>
+<li><a href="#5"> Adding New Drag and Drop Types
+</a>
+<li><a href="#6"> Advanced Drag-and-Drop
+</a>
+<li><a href="#7"> Inter-operating with Other Applications
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> For drag and drop examples see (in increasing order of
+sophistication): <tt>qt/examples/iconview/simple_dd</tt>, <tt>qt/examples/dragdrop</tt> and <tt>qt/examples/fileiconview</tt>. See also the
+<a href="qtextedit.html">QTextEdit</a> widget source code.
+<p> <h2> Dragging
+</h2>
+<a name="1"></a><p> To start a drag, for example in a <a href="qwidget.html#mouseMoveEvent">mouse motion event</a>, create an object of the <a href="qdragobject.html">QDragObject</a>
+subclass appropriate for your media, such as <a href="qtextdrag.html">QTextDrag</a> for text and
+<a href="qimagedrag.html">QImageDrag</a> for images. Then call the drag() method. This is all you
+need for simple dragging of existing types.
+<p> For example, to start dragging some text from a widget:
+<pre>
+void MyWidget::startDrag()
+{
+ <a href="qdragobject.html">QDragObject</a> *d = new <a href="qtextdrag.html">QTextDrag</a>( myHighlightedText(), this );
+ d-&gt;<a href="qdragobject.html#dragCopy">dragCopy</a>();
+ // do NOT delete d.
+}
+</pre>
+
+<p> Note that the QDragObject is not deleted after the drag. The
+QDragObject needs to persist after the drag is apparently finished
+since it may still be communicating with another process. Eventually
+Qt will delete the object. If the widget owning the drag object is
+deleted before then, any pending drop will be canceled and the drag
+object deleted. For this reason, you should be careful what the object
+references.
+<p> <h2> Dropping
+</h2>
+<a name="2"></a><p> To be able to receive media dropped on a widget, call
+<a href="qwidget.html#setAcceptDrops">setAcceptDrops(TRUE)</a>
+for the widget (e.g. in its constructor), and override the
+event handler methods
+<a href="qwidget.html#dragEnterEvent">dragEnterEvent()</a> and
+<a href="qwidget.html#dropEvent">dropEvent()</a>.
+For more sophisticated applications overriding
+<a href="qwidget.html#dragMoveEvent">dragMoveEvent()</a> and
+<a href="qwidget.html#dragLeaveEvent">dragLeaveEvent()</a> will also be
+necessary.
+<p> For example, to accept text and image drops:
+<pre>
+MyWidget::MyWidget(...) :
+ <a href="qwidget.html">QWidget</a>(...)
+{
+ ...
+ setAcceptDrops(TRUE);
+}
+
+void MyWidget::dragEnterEvent(QDragEnterEvent* event)
+{
+ event-&gt;accept(
+ QTextDrag::<a href="qtextdrag.html#canDecode">canDecode</a>(event) ||
+ QImageDrag::<a href="qimagedrag.html#canDecode">canDecode</a>(event)
+ );
+}
+
+void MyWidget::dropEvent(QDropEvent* event)
+{
+ <a href="qimage.html">QImage</a> image;
+ <a href="qstring.html">QString</a> text;
+
+ if ( QImageDrag::<a href="qimagedrag.html#decode">decode</a>(event, image) ) {
+ insertImageAt(image, event-&gt;pos());
+ } else if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>(event, text) ) {
+ insertTextAt(text, event-&gt;pos());
+ }
+}
+</pre>
+
+<p> <h2> The Clipboard
+</h2>
+<a name="3"></a><p> The <a href="qdragobject.html">QDragObject</a>, <a href="qdragenterevent.html">QDragEnterEvent</a>, <a href="qdragmoveevent.html">QDragMoveEvent</a>, and <a href="qdropevent.html">QDropEvent</a>
+classes are all subclasses of QMimeSource: the class of objects which
+provide typed information. If you base your data transfers on
+QDragObject, you not only get drag-and-drop, but you also get
+traditional cut-and-paste for free. The <a href="qclipboard.html">QClipboard</a> has two functions:
+<pre>
+ setData(QMimeSource*)
+ <a href="qmimesource.html">QMimeSource</a>* data()const
+</pre>
+
+With these functions you can trivially put your drag-and-drop oriented
+information on the clipboard:
+<pre>
+void MyWidget::copy()
+{
+ QApplication::<a href="qapplication.html#clipboard">clipboard</a>()-&gt;setData(
+ new <a href="qtextdrag.html">QTextDrag</a>(myHighlightedText()) );
+}
+
+void MyWidget::paste()
+{
+ <a href="qstring.html">QString</a> text;
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>(QApplication::<a href="qapplication.html#clipboard">clipboard</a>()-&gt;data(), text) )
+ insertText( text );
+}
+</pre>
+
+You can even use <a href="qdragobject.html">QDragObject</a> subclasses as part of file IO. For
+example, if your application has a subclass of QDragObject that
+encodes CAD designs in DXF format, your saving and loading code might
+be:
+<pre>
+void MyWidget::save()
+{
+ <a href="qfile.html">QFile</a> out(current_file_name);
+ if ( out.<a href="qfile.html#open">open</a>(IO_WriteOnly) ) {
+ MyCadDrag tmp(current_design);
+ out.<a href="qiodevice.html#writeBlock">writeBlock</a>( tmp-&gt;encodedData( "image/x-dxf" ) );
+ }
+}
+
+void MyWidget::load()
+{
+ <a href="qfile.html">QFile</a> in(current_file_name);
+ if ( in.<a href="qfile.html#open">open</a>(IO_ReadOnly) ) {
+ if ( !MyCadDrag::decode(in.<a href="qiodevice.html#readAll">readAll</a>(), current_design) ) {
+ QMessageBox::<a href="qmessagebox.html#warning">warning</a>( this, "Format error",
+ tr("The file \"%1\" is not in any supported format")
+ .arg(current_file_name)
+ );
+ }
+ }
+}
+</pre>
+
+Note how the <a href="qdragobject.html">QDragObject</a> subclass is called "MyCadDrag", not
+"MyDxfDrag": because in the future you might extend it to provide
+DXF, DWG, SVF, WMF, or even <a href="qpicture.html">QPicture</a> data to other applications.
+<p> <h2> Drag and Drop Actions
+</h2>
+<a name="4"></a><p> In the simpler cases, the target of a drag-and-drop receives a copy of
+the data being dragged and the source decides whether to delete the
+original. This is the "Copy" action in <a href="qdropevent.html">QDropEvent</a>. The target may also
+choose to understand other actions, specifically the Move and Link
+actions. If the target understands the Move action, <em>the target</em> is responsible for both the copy and delete operations and
+the source will not attempt to delete the data itself. If the target
+understands the Link, it stores its own reference to the original
+information, and again the source does not delete the original. The
+most common use of drag-and-drop actions is when performing a Move
+within the same widget: see the <a href="#advanced">Advanced
+Drag-and-Drop</a> section below.
+<p> The other major use of drag actions is when using a reference type
+such as text/uri-list, where the dragged data are actually references
+to files or objects.
+<p> <h2> Adding New Drag and Drop Types
+</h2>
+<a name="5"></a><p> As suggested in the DXF example above, drag-and-drop is not limited to
+text and images. Any information can be dragged and dropped. To drag
+information between applications, the applications must be able to
+indicate to each other which data formats they can accept and which
+they can produce. This is achieved using <a href="http://www.rfc-editor.org/rfc/rfc1341.txt">MIME types</a>: the drag
+source provides a list of MIME types that it can produce (ordered from
+most appropriate to least appropriate), and the drop target chooses
+which of those it can accept. For example, <a href="qtextdrag.html">QTextDrag</a> provides support
+for the "<tt>text/plain</tt>" MIME type (ordinary unformatted text), and
+the Unicode formats "<tt>text/utf16</tt>" and "<tt>text/utf8</tt>"; <a href="qimagedrag.html">QImageDrag</a>
+provides for "<tt>image/*</tt>", where <tt>*</tt> is any image format that
+<a href="qimageio.html">QImageIO</a> supports; and the <a href="quridrag.html">QUriDrag</a> subclass provides
+"<tt>text/uri-list</tt>", a standard format for transferring a list of
+filenames (or URLs).
+<p> To implement drag-and-drop of some type of information for which there
+is no available <a href="qdragobject.html">QDragObject</a> subclass, the first and most important
+step is to look for existing formats that are appropriate: the
+Internet Assigned Numbers Authority (<a href="http://www.iana.org">IANA</a>) provides a <a href="http://www.isi.edu/in-notes/iana/assignments/media-types/">hierarchical
+list of MIME media types</a> at the Information Sciences Institute
+(<a href="http://www.isi.edu">ISI</a>). Using standard MIME types
+maximizes the inter-operability of your application with other
+software now and in the future.
+<p> To support an additional media type, subclass either QDragObject or
+<a href="qstoreddrag.html">QStoredDrag</a>. Subclass QDragObject when you need to provide support for
+multiple media types. Subclass the simpler QStoredDrag when one type
+is sufficient.
+<p> Subclasses of QDragObject will override the
+<a href="qmimesource.html#format">const char* format(int i) const</a> and
+<a href="qmimesource.html#encodedData">QByteArray encodedData(const char* mimetype) const</a>
+members, and provide a set-method to encode the media data and static
+members canDecode() and decode() to decode incoming data, similar to
+<a href="qimagedrag.html#canDecode">bool canDecode(QMimeSource*) const</a> and
+<a href="qimagedrag.html#decode">QByteArray decode(QMimeSource*) const</a>
+of <a href="qimagedrag.html">QImageDrag</a>.
+Of course, you can provide drag-only or drop-only support for a media
+type by omitting some of these methods.
+<p> Subclasses of QStoredDrag provide a set-method to encode the media
+data and the same static members canDecode() and decode() to decode
+incoming data.
+<p> <a name="advanced"></a>
+<h2> Advanced Drag-and-Drop
+</h2>
+<a name="6"></a><p> In the clipboard model, the user can <em>cut</em> or <em>copy</em> the source
+information, then later paste it. Similarly in the drag-and-drop
+model, the user can drag a <em>copy</em> of the information or they can drag
+the information itself to a new place (<em>moving</em> it). The
+drag-and-drop model however has an additional complication for the
+programmer: the program doesn't know whether the user wants to cut or
+copy until the drop (paste) is done! For dragging between
+applications, it makes no difference, but for dragging within an
+application, the application must take a little extra care not to
+tread on its own feet. For example, to drag text around in a document,
+the drag start point and the drop event might look like this:
+<p> <pre>
+void MyEditor::startDrag()
+{
+ <a href="qdragobject.html">QDragObject</a> *d = new <a href="qtextdrag.html">QTextDrag</a>(myHighlightedText(), this);
+ if ( d-&gt;<a href="qdragobject.html#drag">drag</a>() &amp;&amp; d-&gt;<a href="qdragobject.html#target">target</a>() != this )
+ cutMyHighlightedText();
+}
+
+void MyEditor::dropEvent(QDropEvent* event)
+{
+ <a href="qstring.html">QString</a> text;
+
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>(event, text) ) {
+ if ( event-&gt;source() == this &amp;&amp; event-&gt;action() == QDropEvent::Move ) {
+ // Careful not to tread on my own feet
+ event-&gt;acceptAction();
+ moveMyHighlightedTextTo(event-&gt;pos());
+ } else {
+ pasteTextAt(text, event-&gt;pos());
+ }
+ }
+}
+</pre>
+
+<p> Some widgets are more specific than just a "yes" or "no" response when
+data is dragged onto them. For example, a CAD program might only
+accept drops of text onto text objects in the view. In these cases,
+the <a href="qwidget.html#dragMoveEvent">dragMoveEvent()</a> is used and
+an <em>area</em> is given for which the drag is accepted or ignored:
+<pre>
+void MyWidget::dragMoveEvent(QDragMoveEvent* event)
+{
+ if ( QTextDrag::<a href="qtextdrag.html#canDecode">canDecode</a>(event) ) {
+ MyCadItem* item = findMyItemAt(event-&gt;pos());
+ if ( item )
+ event-&gt;accept();
+ }
+}
+</pre>
+
+If the computations to find objects are particularly slow, you might
+achieve improved performance if you tell the system an area for which
+you promise the acceptance persists:
+<pre>
+void MyWidget::dragMoveEvent(QDragMoveEvent* event)
+{
+ if ( QTextDrag::<a href="qtextdrag.html#canDecode">canDecode</a>(event) ) {
+ MyCadItem* item = findMyItemAt(event-&gt;pos());
+ if ( item ) {
+ <a href="qrect.html">QRect</a> r = item-&gt;areaRelativeToMeClippedByAnythingInTheWay();
+ if ( item-&gt;type() == MyTextType )
+ event-&gt;accept( r );
+ else
+ event-&gt;ignore( r );
+ }
+ }
+}
+</pre>
+
+<p> The dragMoveEvent() can also be used if you need to give visual
+feedback as the drag progresses, to start timers, to scroll the
+window, or whatever is appropriate (don't forget to stop the scrolling
+and timers in a dragLeaveEvent() though).
+<p> The <a href="qapplication.html">QApplication</a> object (available as the <tt>qApp</tt> global) also
+provides some drag and drop related functions:
+<a href="qapplication.html#setStartDragTime">QApplication::setStartDragTime</a>(),
+<a href="qapplication.html#setStartDragDistance">QApplication::setStartDragDistance</a>(), and their corresponding
+getters, <a href="qapplication.html#startDragTime">QApplication::startDragTime</a>() and
+<a href="qapplication.html#startDragDistance">QApplication::startDragDistance</a>().
+<p> <h2> Inter-operating with Other Applications
+</h2>
+<a name="7"></a><p> On X11, the public <a class="r"
+href="http://www.newplanetsoftware.com/xdnd/">XDND protocol</a> is
+used, while on Windows Qt uses the OLE standard, and Qt/Mac uses the
+Carbon Drag Manager. On X11, XDND uses MIME, so no translation is
+necessary. The Qt API is the same regardless of the platform. On
+Windows, MIME-aware applications can communicate by using clipboard
+format names that are MIME types. Already some Windows applications
+use MIME naming conventions for their clipboard formats. Internally,
+Qt has facilities for translating proprietary clipboard formats to and
+from MIME types. This interface will be made public at some time, but
+if you need to do such translations now, contact your Qt Technical
+Support service.
+<p> On X11, Qt also supports drops via the <a href="motif-extension.html#Motif">Motif</a> Drag&amp;Drop Protocol. The
+implementation incorporates some code that was originally written by
+Daniel Dardailler, and adapted for Qt by Matt Koss &lt;koss@napri.sk&gt;
+and Trolltech. Here is the original copyright notice:
+<p>
+<p> Copyright 1996 Daniel Dardailler.
+<p> Permission to use, copy, modify, distribute, and sell this software
+for any purpose is hereby granted without fee, provided that the above
+copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation,
+and that the name of Daniel Dardailler not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Daniel Dardailler makes no representations
+about the suitability of this software for any purpose. It is
+provided "as is" without express or implied warranty.
+<p> Modifications Copyright 1999 Matt Koss, under the same license as
+above.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/docwindow.png b/doc/html/docwindow.png
new file mode 100644
index 0000000..18fa098
--- /dev/null
+++ b/doc/html/docwindow.png
Binary files differ
diff --git a/doc/html/doneandnext.png b/doc/html/doneandnext.png
new file mode 100644
index 0000000..47efaec
--- /dev/null
+++ b/doc/html/doneandnext.png
Binary files differ
diff --git a/doc/html/draganddrop.html b/doc/html/draganddrop.html
new file mode 100644
index 0000000..1ed0455
--- /dev/null
+++ b/doc/html/draganddrop.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:634 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Drag And Drop Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Drag And Drop Classes</h1>
+
+
+<p> These classes deal with drag and drop and the necessary mime type
+encoding and decoding. See also <a href="dnd.html">Drag and Drop with
+Qt.</a>
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qcolordrag.html">QColorDrag</a></b><td>Drag and drop object for transferring colors
+<tr bgcolor=#f0f0f0><td><b><a href="qdragenterevent.html">QDragEnterEvent</a></b><td>Event which is sent to the widget when a drag and drop first drags onto the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragleaveevent.html">QDragLeaveEvent</a></b><td>Event which is sent to the widget when a drag and drop leaves the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragmoveevent.html">QDragMoveEvent</a></b><td>Event which is sent while a drag and drop is in progress
+<tr bgcolor=#f0f0f0><td><b><a href="qdragobject.html">QDragObject</a></b><td>Encapsulates MIME-based data transfer
+<tr bgcolor=#f0f0f0><td><b><a href="qdropevent.html">QDropEvent</a></b><td>Event which is sent when a drag and drop is completed
+<tr bgcolor=#f0f0f0><td><b><a href="qicondrag.html">QIconDrag</a></b><td>Supports drag and drop operations within a QIconView
+<tr bgcolor=#f0f0f0><td><b><a href="qicondragitem.html">QIconDragItem</a></b><td>Encapsulates a drag item
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedrag.html">QImageDrag</a></b><td>Drag and drop object for transferring images
+<tr bgcolor=#f0f0f0><td><b><a href="qmacmime.html">QMacMime</a></b><td>Maps open-standard MIME to Mac flavors
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesource.html">QMimeSource</a></b><td>Abstraction of objects which provide formatted data of a certain MIME type
+<tr bgcolor=#f0f0f0><td><b><a href="qstoreddrag.html">QStoredDrag</a></b><td>Simple stored-value drag object for arbitrary MIME data
+<tr bgcolor=#f0f0f0><td><b><a href="qtextdrag.html">QTextDrag</a></b><td>Drag and drop object for transferring plain and Unicode text
+<tr bgcolor=#f0f0f0><td><b><a href="quridrag.html">QUriDrag</a></b><td>Drag object for a list of URI references
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsmime.html">QWindowsMime</a></b><td>Maps open-standard MIME to Window Clipboard formats
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/dragdrop-example.html b/doc/html/dragdrop-example.html
new file mode 100644
index 0000000..4363a09
--- /dev/null
+++ b/doc/html/dragdrop-example.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/dragdrop/dragdrop.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Drag and Drop</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Drag and Drop</h1>
+
+
+<p>
+This program demonstrates Qt's drag and drop functionality.
+<p> See $QTDIR/examples/dragdrop for the source code.
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/drawdemo-example.html b/doc/html/drawdemo-example.html
new file mode 100644
index 0000000..bbe1705
--- /dev/null
+++ b/doc/html/drawdemo-example.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/drawdemo/drawdemo.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Draw Demo</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Draw Demo</h1>
+
+
+<p>
+This example demonstrates several drawing functions and printer output.
+You can easily add you own drawing functions.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/drawdemo.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;math.h&gt;
+
+//
+// First we define the functionality our demo should present
+// to the user. You might add different demo-modes if you wish so.
+//
+
+//
+// This function draws a color wheel.
+// The coordinate system x=(0..500), y=(0..500) spans the paint device.
+//
+
+void drawColorWheel( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qfont.html">QFont</a> f( "times", 18, QFont::Bold );
+<a name="x1075"></a> p-&gt;<a href="qpainter.html#setFont">setFont</a>( f );
+<a name="x1076"></a> p-&gt;<a href="qpainter.html#setPen">setPen</a>( Qt::black );
+<a name="x1077"></a> p-&gt;<a href="qpainter.html#setWindow">setWindow</a>( 0, 0, 500, 500 ); // defines coordinate system
+
+ for ( int i=0; i&lt;36; i++ ) { // draws 36 rotated rectangles
+
+ <a href="qwmatrix.html">QWMatrix</a> matrix;
+<a name="x1097"></a> matrix.<a href="qwmatrix.html#translate">translate</a>( 250.0F, 250.0F ); // move to center
+<a name="x1096"></a> matrix.<a href="qwmatrix.html#shear">shear</a>( 0.0F, 0.3F ); // twist it
+<a name="x1095"></a> matrix.<a href="qwmatrix.html#rotate">rotate</a>( (float)i*10 ); // rotate 0,10,20,.. degrees
+<a name="x1078"></a> p-&gt;<a href="qpainter.html#setWorldMatrix">setWorldMatrix</a>( matrix ); // use this world matrix
+
+ <a href="qcolor.html">QColor</a> c;
+<a name="x1063"></a> c.<a href="qcolor.html#setHsv">setHsv</a>( i*10, 255, 255 ); // rainbow effect
+<a name="x1074"></a> p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( c ); // solid fill with color c
+<a name="x1070"></a> p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( 70, -10, 80, 10 ); // draw the rectangle
+
+ <a href="qstring.html">QString</a> n;
+ n.<a href="qstring.html#sprintf">sprintf</a>( "H=%d", i*10 );
+<a name="x1072"></a> p-&gt;<a href="qpainter.html#drawText">drawText</a>( 80+70+5, 0, n ); // draw the hue number
+ }
+}
+
+
+//
+// This function draws a few lines of text using different fonts.
+//
+
+void drawFonts( <a href="qpainter.html">QPainter</a> *p )
+{
+ static const char *fonts[] = { "Helvetica", "Courier", "Times", 0 };
+ static int sizes[] = { 10, 12, 18, 24, 36, 0 };
+ int f = 0;
+ int y = 0;
+ while ( fonts[f] ) {
+ int s = 0;
+ while ( sizes[s] ) {
+ <a href="qfont.html">QFont</a> font( fonts[f], sizes[s] );
+ p-&gt;<a href="qpainter.html#setFont">setFont</a>( font );
+<a name="x1073"></a> <a href="qfontmetrics.html">QFontMetrics</a> fm = p-&gt;<a href="qpainter.html#fontMetrics">fontMetrics</a>();
+<a name="x1064"></a> y += fm.<a href="qfontmetrics.html#ascent">ascent</a>();
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>( 10, y, "Quartz Glyph Job Vex'd Cwm Finks" );
+<a name="x1065"></a> y += fm.<a href="qfontmetrics.html#descent">descent</a>();
+ s++;
+ }
+ f++;
+ }
+}
+
+
+//
+// This function draws some shapes
+//
+
+void drawShapes( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qbrush.html">QBrush</a> b1( Qt::blue );
+ <a href="qbrush.html">QBrush</a> b2( Qt::green, Qt::Dense6Pattern ); // green 12% fill
+ <a href="qbrush.html">QBrush</a> b3( Qt::NoBrush ); // void brush
+ <a href="qbrush.html">QBrush</a> b4( Qt::CrossPattern ); // black cross pattern
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( Qt::red );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( b1 );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( 10, 10, 200, 100 );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( b2 );
+<a name="x1071"></a> p-&gt;<a href="qpainter.html#drawRoundRect">drawRoundRect</a>( 10, 150, 200, 100, 20, 20 );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( b3 );
+<a name="x1068"></a> p-&gt;<a href="qpainter.html#drawEllipse">drawEllipse</a>( 250, 10, 200, 100 );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( b4 );
+<a name="x1069"></a> p-&gt;<a href="qpainter.html#drawPie">drawPie</a>( 250, 150, 200, 100, 45*16, 90*16 );
+}
+
+
+typedef void (*draw_func)(QPainter*);
+
+struct DrawThing {
+ draw_func f;
+ const char *name;
+};
+
+//
+// All previously implemented functions are collected
+// in the following "table".
+// If you implement different functionality, your new draw
+// function must be assigned here with a function pointer and
+// description.
+// Leave the zeros at the end, they will be used
+// as markers referring to the end of the array.
+//
+
+DrawThing ourDrawFunctions[] = {
+// name of the function, title presented to the user
+ { drawColorWheel, "Draw color wheel" },
+ { drawFonts, "Draw fonts" },
+ { drawShapes, "Draw shapes" },
+ { 0, 0 } };
+
+
+
+class DrawView : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ DrawView();
+ ~DrawView();
+public slots:
+ void updateIt( int );
+ void printIt();
+protected:
+ void drawIt( <a href="qpainter.html">QPainter</a> * );
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+private:
+ <a href="qprinter.html">QPrinter</a> *printer;
+ <a href="qbuttongroup.html">QButtonGroup</a> *bgroup;
+ <a href="qpushbutton.html">QPushButton</a> *print;
+ int drawindex;
+ int maxindex;
+};
+
+
+//
+// Construct the DrawView with buttons.
+//
+
+<a name="f367"></a>DrawView::DrawView()
+{
+ <a href="qwidget.html#setCaption">setCaption</a>( "Qt Draw Demo Application" );
+ <a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>(PaletteBase);
+
+ // Create a button group to contain all buttons
+ bgroup = new <a href="qbuttongroup.html">QButtonGroup</a>( this );
+<a name="x1088"></a> bgroup-&gt;<a href="qwidget.html#resize">resize</a>( 200, 200 );
+<a name="x1062"></a> <a href="qobject.html#connect">connect</a>( bgroup, SIGNAL(<a href="qbuttongroup.html#clicked">clicked</a>(int)), SLOT(updateIt(int)) );
+
+ // Calculate the size for the radio buttons
+ int maxwidth = 80;
+ int maxheight = 10;
+ int i;
+ const char *n;
+<a name="x1084"></a> <a href="qfontmetrics.html">QFontMetrics</a> fm = bgroup-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>();
+
+ // Find out the longest function description.
+ // Here we make use of the last "0,0"-entry in the
+ // ourDrawFunctions-array.
+ for ( i=0; (n=ourDrawFunctions[i].name) != 0; i++ ) {
+<a name="x1066"></a> int w = fm.<a href="qfontmetrics.html#width">width</a>( n );
+ maxwidth = QMAX(w,maxwidth); // QMAX is a macro defined in qglobal.h
+ // and returns the biggest of to values.
+ // Due to its macro nature one should use it with care and with
+ // constant parameters only.
+ }
+
+ maxwidth = maxwidth + 30; // allow 30 pixels for radiobuttons
+
+ for ( i=0; (n=ourDrawFunctions[i].name) != 0; i++ ) {
+ <a href="qradiobutton.html">QRadioButton</a> *rb = new <a href="qradiobutton.html">QRadioButton</a>( n, bgroup );
+<a name="x1091"></a> rb-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 10, i*30+10, maxwidth, 30 );
+
+ maxheight += 30;
+
+ if ( i == 0 )
+<a name="x1082"></a> rb-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+ }
+
+ maxheight += 10; // maxheight is now 10 pixels upper margin
+ // plus number_of_drawfunctions * 30
+ // plus 10 pixels lower margin
+
+ drawindex = 0; // draw first thing
+ maxindex = i;
+
+ maxwidth += 20; // add some margin, this results in the
+ // final width of bgroup
+
+ bgroup-&gt;<a href="qwidget.html#resize">resize</a>( maxwidth, maxheight ); // resize bgroup to its final size
+ // when no printersupport is provided
+
+
+// If -- at compile time -- printer support will be disabled,
+// we won't set up printing functionality.
+
+#ifndef QT_NO_PRINTER
+
+ printer = new <a href="qprinter.html">QPrinter</a>;
+
+ // Create and setup the print button
+ print = new <a href="qpushbutton.html">QPushButton</a>( "Print...", bgroup );
+<a name="x1081"></a> print-&gt;<a href="qwidget.html#resize">resize</a>( 80, 30 );
+<a name="x1093"></a><a name="x1080"></a> print-&gt;<a href="qwidget.html#move">move</a>( maxwidth/2 - print-&gt;<a href="qwidget.html#width">width</a>()/2, maxindex*30+20 );
+ <a href="qobject.html#connect">connect</a>( print, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(printIt()) );
+
+ // Resize bgroup to its final size when printersupport is given.
+<a name="x1094"></a><a name="x1085"></a> bgroup-&gt;<a href="qwidget.html#resize">resize</a>( maxwidth, print-&gt;<a href="qwidget.html#y">y</a>()+print-&gt;<a href="qwidget.html#height">height</a>()+10 );
+
+#endif
+
+ <a href="qwidget.html#resize">resize</a>( 640,300 );
+}
+
+//
+// Clean up.
+//
+DrawView::~DrawView()
+{
+#ifndef QT_NO_PRINTER
+ delete printer;
+#endif
+}
+
+//
+// Called when a radio button is clicked.
+//
+
+void <a name="f368"></a>DrawView::updateIt( int index )
+{
+ if ( index &lt; maxindex ) {
+ drawindex = index;
+ <a href="qwidget.html#update">update</a>();
+ }
+}
+
+//
+// Calls the drawing function as specified by the radio buttons.
+//
+
+void <a name="f369"></a>DrawView::drawIt( <a href="qpainter.html">QPainter</a> *p )
+{
+ (*ourDrawFunctions[drawindex].f)(p);
+}
+
+//
+// Called when the print button is clicked.
+//
+
+void <a name="f370"></a>DrawView::printIt()
+{
+<a name="x1079"></a> if ( printer-&gt;<a href="qprinter.html#setup">setup</a>( this ) ) {
+ <a href="qpainter.html">QPainter</a> paint;
+<a name="x1067"></a> if( !paint.<a href="qpainter.html#begin">begin</a>( printer ) )
+ return;
+ drawIt( &amp;paint );
+ }
+}
+
+//
+// Called when the widget needs to be updated.
+//
+
+void DrawView::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qpainter.html">QPainter</a> paint( this );
+ drawIt( &amp;paint );
+}
+
+//
+// Called when the widget has been resized.
+// Moves the button group to the upper right corner
+// of the widget.
+
+<a name="x1089"></a>void DrawView::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+<a name="x1086"></a> bgroup-&gt;<a href="qwidget.html#move">move</a>( <a href="qwidget.html#width">width</a>()-bgroup-&gt;<a href="qwidget.html#width">width</a>(), 0 );
+}
+
+
+//
+// Create and display our widget.
+//
+
+#include "drawdemo.moc"
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ DrawView draw;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;draw );
+ draw.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Drawdemo");
+ draw.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/drawlines-example.html b/doc/html/drawlines-example.html
new file mode 100644
index 0000000..5ff28e3
--- /dev/null
+++ b/doc/html/drawlines-example.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/drawlines/drawlines.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Connect the Points</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Connect the Points</h1>
+
+
+<p>
+This example shows very simple mouse-based user interaction and
+painting without any world transform matrix or other advanced
+features. Run the program, click the button, move the mouse,
+release the button, and watch the lines get drawn.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/connect.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+
+const int MAXPOINTS = 2000; // maximum number of points
+const int MAXCOLORS = 40;
+
+
+//
+// ConnectWidget - draws connected lines
+//
+
+class ConnectWidget : public <a href="qwidget.html">QWidget</a>
+{
+public:
+ ConnectWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ ~ConnectWidget();
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *);
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> *);
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *);
+private:
+ <a href="qpoint.html">QPoint</a> *points; // point array
+ <a href="qcolor.html">QColor</a> *colors; // color array
+ int count; // count = number of points
+ bool down; // TRUE if mouse down
+};
+
+
+//
+// Constructs a ConnectWidget.
+//
+
+<a name="f475"></a>ConnectWidget::ConnectWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WStaticContents )
+{
+ <a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( white ); // white background
+ count = 0;
+ down = FALSE;
+ points = new <a href="qpoint.html">QPoint</a>[MAXPOINTS];
+ colors = new <a href="qcolor.html">QColor</a>[MAXCOLORS];
+ for ( int i=0; i&lt;MAXCOLORS; i++ ) // init color array
+ colors[i] = QColor( rand()&amp;255, rand()&amp;255, rand()&amp;255 );
+}
+
+ConnectWidget::~ConnectWidget()
+{
+ delete[] points; // cleanup
+ delete[] colors;
+}
+
+
+//
+// Handles paint events for the connect widget.
+//
+
+<a name="x1661"></a>void ConnectWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qpainter.html">QPainter</a> paint( this );
+ for ( int i=0; i&lt;count-1; i++ ) { // connect all points
+ for ( int j=i+1; j&lt;count; j++ ) {
+ paint.<a href="qpainter.html#setPen">setPen</a>( colors[rand()%MAXCOLORS] ); // set random pen color
+<a name="x1655"></a> paint.<a href="qpainter.html#drawLine">drawLine</a>( points[i], points[j] ); // draw line
+ }
+ }
+}
+
+
+//
+// Handles mouse press events for the connect widget.
+//
+
+<a name="x1659"></a>void ConnectWidget::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ down = TRUE;
+ count = 0; // start recording points
+ <a href="qwidget.html#erase">erase</a>(); // erase widget contents
+}
+
+
+//
+// Handles mouse release events for the connect widget.
+//
+
+<a name="x1660"></a>void ConnectWidget::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ down = FALSE; // done recording points
+ <a href="qwidget.html#update">update</a>(); // draw the lines
+}
+
+
+//
+// Handles mouse move events for the connect widget.
+//
+
+<a name="x1658"></a>void ConnectWidget::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( down &amp;&amp; count &lt; MAXPOINTS ) {
+ <a href="qpainter.html">QPainter</a> paint( this );
+<a name="x1654"></a> points[count++] = e-&gt;<a href="qmouseevent.html#pos">pos</a>(); // add point
+<a name="x1656"></a> paint.<a href="qpainter.html#drawPoint">drawPoint</a>( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ); // plot point
+ }
+}
+
+
+//
+// Create and display a ConnectWidget.
+//
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ConnectWidget connect;
+#ifndef QT_NO_WIDGET_TOPEXTRA // for Qt/Embedded minimal build
+ connect.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Draw lines");
+#endif
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;connect );
+ connect.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/edit-dbtable-dialog.png b/doc/html/edit-dbtable-dialog.png
new file mode 100644
index 0000000..6c44e6c
--- /dev/null
+++ b/doc/html/edit-dbtable-dialog.png
Binary files differ
diff --git a/doc/html/editcopy.png b/doc/html/editcopy.png
new file mode 100644
index 0000000..efe8d03
--- /dev/null
+++ b/doc/html/editcopy.png
Binary files differ
diff --git a/doc/html/editcut.png b/doc/html/editcut.png
new file mode 100644
index 0000000..146388a
--- /dev/null
+++ b/doc/html/editcut.png
Binary files differ
diff --git a/doc/html/editfind.png b/doc/html/editfind.png
new file mode 100644
index 0000000..59c63bf
--- /dev/null
+++ b/doc/html/editfind.png
Binary files differ
diff --git a/doc/html/editions.html b/doc/html/editions.html
new file mode 100644
index 0000000..e74baac
--- /dev/null
+++ b/doc/html/editions.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/editions.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Editions</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Editions</h1>
+
+
+
+<p> The Qt Professional and Enterprise Editions are the commercial
+versions of <a href="aboutqt.html">Qt</a>.
+<p> Qt Open Source Edition is the non-commercial version of Qt. It is freely
+available for download.
+<p> You may write commercial/proprietary/non-free software only if you
+have purchased the Professional or Enterprise Edition. With these
+commercial editions, you also get technical support and upgrades. Qt
+for Microsoft Windows is only available as Professional and Enterprise
+Editions.
+<p> <table border="1" cellpadding="5" cellspacing="0" width="100%">
+<tr>
+<td bgcolor="#a1c410"><b><a name="Chart"></a>Professional/Enterprise Comparison Chart</b></td>
+<td width="100" align="center" bgcolor="#a1c410"><b>Professional</b></td>
+<td width="100" align="center" bgcolor="#a1c410"><b>Enterprise</b></td>
+</tr>
+<tr>
+<td><b>Qt Base Modules (Tools, Kernel, Widgets, Dialogs)</b><br>
+The platform-independent Qt GUI toolkit and utility classes</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="designer-manual.html"><b>Qt Designer</b></a><br>
+Visual Qt GUI builder</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="iconview.html"><b>Iconview module</b></a><br>
+Visualization of sets of pixmaps with user interaction.</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="workspace.html"><b>Workspace module</b></a><b><br>
+</b>Multiple Document Interface (MDI) support</td>
+<td width="100" align="center"><b>X</b></td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="opengl.html"><b>OpenGL 3D Graphics module</b></a><b><br>
+</b>Integration of Qt with OpenGL</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="network.html"><b>Network module</b></a><b><br>
+</b>Platform-independent classes for sockets, TCP, FTP and asynchronous DNS lookup.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="canvas.html"><b>Canvas module</b></a><br>
+Optimized 2D graphics area for visualization, diagrams, etc.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="table.html"><b>Table module</b></a><br>
+Flexible and editable table / spreadsheet</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="xml.html"><b>XML module</b></a><br>
+Well-formed XML parser with SAX interface and DOM Level 1.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="activeqt.html"><b>ActiveQt extension</b></a><br>
+Support for building and hosting ActiveX controls on Windows.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+<tr>
+<td><a href="motif-extension.html"><b>QMotif extension</b></a><br>
+<a href="motif-extension.html#Motif">Motif</a> co-existence and migration support.</td>
+<td width="100" align="center"><br>
+</td>
+<td width="100" align="center"><b>X</b></td>
+</tr>
+</table>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/editpaste.png b/doc/html/editpaste.png
new file mode 100644
index 0000000..13f9a0f
--- /dev/null
+++ b/doc/html/editpaste.png
Binary files differ
diff --git a/doc/html/editredo.png b/doc/html/editredo.png
new file mode 100644
index 0000000..6a30e26
--- /dev/null
+++ b/doc/html/editredo.png
Binary files differ
diff --git a/doc/html/editundo.png b/doc/html/editundo.png
new file mode 100644
index 0000000..38a7357
--- /dev/null
+++ b/doc/html/editundo.png
Binary files differ
diff --git a/doc/html/emb-accel.html b/doc/html/emb-accel.html
new file mode 100644
index 0000000..20f8509
--- /dev/null
+++ b/doc/html/emb-accel.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/accel.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Adding an accelerated graphics driver to Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Adding an accelerated graphics driver to Qt/Embedded</h1>
+
+
+
+<p> Qt/Embedded has the capacity to make use of hardware accelerators.
+To use a hardware accelerator for a PCI or AGP driver, you must
+perform the following steps:
+<p> <ol type=1>
+<li>
+Define an accelerated descendant of QLinuxFbScreen.
+<p> This should implement <tt>QVoodooScreen::connect()</tt> to map its
+registers. Use <tt>qt_probe_bus</tt> to get a pointer to the PCI config
+space. This is where you should check that you're being pointed to the
+right device (using the PCI device/manufacturer ID information). Then
+use PCI config space to locate your device's accelerator registers in
+physical memory and mmap the appropriate region from <tt>/dev/mem</tt>.
+There is no need to map the framebuffer, <tt>QLinuxFbScreen</tt> will do
+this for you. Return <tt>FALSE</tt> if a problem occurs at any point. <tt>QVoodooScreen::initDevice()</tt> will be called only by the QWS server and
+is guaranteed to be called before any drawing is done (and so is a
+good place to set registers to known states). <tt>connect()</tt> will be called
+by every connecting client.
+<p> <li>
+Define an accelerated descendant of QGfxRaster.
+<p> This is where the actual drawing code goes. Anything not implemented
+in hardware can be passed back to <tt>QGfxRaster</tt> to do in software. Use
+the optype variable to make sure that accelerated and unaccelerated
+operations are synchronised (if you start drawing via software into an
+area where the hardware accelerator is still drawing then your drawing
+operations will appear to be in the wrong order). optype is stored in
+shared memory and is set to 0 by unaccelerated operations; accelerated
+operations should set it to 1. When a software graphics operation is
+requested and optype is 1, <tt>QGfxRaster::sync()</tt> is called; you should
+provide your own implementation of this that waits for the graphics
+engine to go idle. lastop is also available for optimisation and is
+stored in the shared space: this will not be set by the software-only
+<tt>QGfx</tt> and can be used to store the type of your last operation (e.g.
+drawing a rectangle) so that part of the setup for the next operation
+can be avoided when many of the same operations are performed in
+sequence.
+<p> All drawing operations should be protected via a <tt>QWSDisplay::grab()</tt>
+before any registers, lastop or optype are accessed, and <tt>ungrabbed()</tt> at the end. This prevents two applications trying to
+access the accelerator at once and possibly locking up the machine.
+It's possible that your source data is not on the graphics card so you
+should check in such cases and fall back to software if necessary.
+Note that <tt>QGfxRaster</tt> supports some features not directly supported
+by <a href="qpainter.html">QPainter</a> (for instance, alpha channels in 32-bit data and
+stretchBlt's). These features are used by Qt; stretchBlt speeds up <a href="qpixmap.html#xForm">QPixmap::xForm</a>() and <tt>drawPixmap()</tt> into a transformed <a href="qpainter.html">QPainter</a>,
+alpha channel acceleration is supported for 32-bit pixmaps.
+<p> <li>
+If you wish, define an accelerated descendant of <tt>QScreenCursor</tt>. <tt>restoreUnder()</tt>, <tt>saveUnder()</tt>, <tt>drawCursor()</tt> and <tt>draw()</tt> should
+be defined as null operations. Implement <tt>set()</tt>, <tt>move()</tt>, <tt>show()</tt> and <tt>hide()</tt>. 4KB is left for your cursor at the end of the
+visible part of the framebuffer (i.e. at (width*height*depth)/8 )
+<p> <li>
+Implement <tt>initCursor()</tt> and <tt>createGfx()</tt> in your <a href="qscreen.html">QScreen</a>
+descendant. Implement <tt>useOffscreen()</tt> and return <tt>TRUE</tt> if you can
+make use of offscreen graphics memory.
+<p> <li>
+Implement a small function <tt>qt_get_screen_mychip()</tt>, which simply
+returns a new <tt>QMychipScreen</tt>
+<p> <li>
+Add your driver to the DriverTable table in <tt>qgfxraster_qws.cpp</tt>,
+e.g.
+<pre>
+{ "MyChip", qt_get_screen_mychip,1 },
+</pre>
+
+<p> The first parameter is the name used with QWS_DISPLAY to request your
+accelerated driver.
+<p> <li>
+To run with your new driver,
+<pre>
+export QWS_DISPLAY=MyChip
+</pre>
+
+(optionally MyChip:/dev/fb&lt;n&gt; to request a different Linux
+framebuffer than <tt>/dev/fb0</tt>), then run the program
+<p> </ol>
+<p> If your driver is not PCI or AGP you'll need to inherit <a href="qscreen.html">QScreen</a>
+instead of <tt>QLinuxFbScreen</tt> and implement similar functionality to <tt>QLinuxFbScreen</tt>, but otherwise the process should be similar. The most
+complete example driver is <tt>qgfxmach64_qws.cpp</tt>; <tt>qgfxvoodoo_qws.cpp</tt> may provide a smaller and easier-to-understand
+driver.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-charinput.html b/doc/html/emb-charinput.html
new file mode 100644
index 0000000..4498ab2
--- /dev/null
+++ b/doc/html/emb-charinput.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/charinput-qws.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Character input in Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Character input in Qt/Embedded</h1>
+
+
+
+<p> Internally in the client/server protocol, each key press and key
+release is sent as a <tt>QWSKeyEvent</tt>. A QWSKeyEvent contains the
+following fields:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>unicode</tt>
+<td valign="top">Unicode value
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>keycode</tt>
+<td valign="top">Qt keycode value as defined in <a href="qnamespace-h.html">qnamespace.h</a>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>modifier</tt>
+<td valign="top">A bitfield consisting of some of <a href="qt.html#ButtonState-enum">Qt::ShiftButton</a>,
+<a href="qt.html#ButtonState-enum">Qt::ControlButton</a>, and <a href="qt.html#ButtonState-enum">Qt::AltButton</a>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>is_press</tt>
+<td valign="top">TRUE if this is a key press, FALSE if it is a key release.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>is_auto_repeat</tt>
+<td valign="top">TRUE if this event is caused by auto repeat.
+</table></center>
+<p> When the server receives a key event it is sent to each client process
+which is responsible for processing the key event and sending it to
+the right window, if any. Key events may come from several different
+sources.
+<p> <h2> Keyboard drivers
+</h2>
+<a name="1"></a><p> A keyboard driver reads data from a device and gives key events to the
+server.
+<p> Keyboard drivers can be compiled into the library or loaded as
+plugins. Running ./configure -help lists the available keyboard drivers.
+The "tty" driver is enabled in the default configuration.
+<p> The keyboard drivers all follow the same pattern. They read keyboard
+data from a device, find out which keys were pressed, and then call
+the static function QWSServer::processKeyEvent() with the key information.
+<p> At present, the console keyboard driver also handles console switching
+(<b>Ctrl+Alt-F1</b>...<b>Ctrl+Alt+F10</b>) and termination
+(<b>Ctrl+Alt+Backspace</b>).
+<p> To add a keyboard driver for a new device, subclasses of
+<a href="qwskeyboardhandler.html">QWSKeyboardHandler</a> and <a href="qkbddriverplugin.html">QKbdDriverPlugin</a> can be
+written and installed as plugins.
+<p> <h2> Key event filters (input methods)
+</h2>
+<a name="2"></a><p> When the server receives a key event from a keyboard driver, it first
+passes it through a filter.
+<p> This can be used to implement input methods, providing input of
+characters that are not on the keyboard.
+<p> To make an input method, subclass QWSServer::KeyboardFilter (in <tt>src/kernel/qwindowsystem_qws.h</tt>) and implement the virtual function <tt>filter()</tt>. If <tt>filter()</tt> returns <tt>FALSE</tt>, the event will be sent to
+the clients (using <a href="qwsserver.html#sendKeyEvent">QWSServer::sendKeyEvent</a>()). If <tt>filter()</tt> returns
+<tt>TRUE</tt>, the event will be stopped. To generate new key events, use
+QWSServer::sendKeyEvent(). (Do not use processKeyEvent(), since this
+will lead to infinite recursion.)
+<p> To install a keyboard event filter, use
+<a href="qwsserver.html#setKeyboardFilter">QWSServer::setKeyboardFilter</a>(). Currently, only one filter
+can be installed at a time.
+<p> Filtering must be done in the server process.
+<p> The launcher example contains an example of a simple input method,
+<tt>SimpleIM</tt> which reads a substitution table from a file.
+<p> <h2> Pen input
+</h2>
+<a name="3"></a><p> Key events do not need to come from a keyboard device. The server
+process may call QWSServer::sendKeyEvent() at any time.
+<p> Typically, this is done by popping up a widget, and letting the user
+specify characters with the pointer device.
+<p> <b>Note</b>: the key input widget should not take focus, since the
+server would then just send the key events back to the input widget.
+One way to make sure that the input widget never takes focus is to set
+the <tt>WStyle_Customize</tt> and <tt>WStyle_Tool</tt> widget flags in
+the <a href="qwidget.html">QWidget</a> constructor.
+<p> The <a href="http://www.trolltech.com/products/qtopia/">Qtopia</a>
+environment contains various input widgets such as
+Handwriting Recognition and Virtual Keyboard.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-classes.html b/doc/html/emb-classes.html
new file mode 100644
index 0000000..c3f6452
--- /dev/null
+++ b/doc/html/emb-classes.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/embclasses.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Qt/Embedded-specific classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The Qt/Embedded-specific classes</h1>
+
+
+
+<p> Qt/Embedded classes fall into two groups: the majority are used by
+every Qt/Embedded program, and some are used only by the Qt/Embedded server.
+The Qt/Embedded server program can also be a client, as in the case of a
+single-process installation. All Qt/Embedded specific source files live
+in <tt>src/kernel</tt> and are suffixed <tt>_qws</tt>. The &raquo; symbol
+indicates inheritance.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> QFontManager
+</a>
+<li><a href="#2"> QDiskFont
+</a>
+<li><a href="#3"> QRenderedFont
+</a>
+<li><a href="#4"> QFontFactory (and descendants QFontFactoryBDF, QFontFactoryTtf)
+</a>
+<li><a href="#5"> QGlyph
+</a>
+<li><a href="#6"> QMemoryManagerPixmap/QMemoryManager
+</a>
+<li><a href="#7"> QScreen &raquo; QLinuxFbScreen &raquo; accelerated screens, QTransformedScreen &raquo; QVfbScreen
+</a>
+<li><a href="#8"> QScreenCursor &raquo; accelerated cursor &raquo; QVfbCursor
+</a>
+<li><a href="#9"> QGfx &raquo; RasterBase &raquo; Raster &raquo; accelerated driver &raquo; QGfxVfb &raquo; QGfxTransformedRaster
+</a>
+<li><a href="#10"> QLock, QLockHolder
+</a>
+<li><a href="#11"> QDirectPainter
+</a>
+<li><a href="#12"> QWSSoundServer, Client
+</a>
+<li><a href="#13"> QWSWindow
+</a>
+<li><a href="#14"> QWSKeyboardHandler &raquo; subtypes
+</a>
+<li><a href="#15"> QWSMouseHandler &raquo; QWSCalibratedMouseHandler &raquo; mouse types
+</a>
+<li><a href="#16"> QWSDisplay
+</a>
+<li><a href="#17"> QWSServer
+</a>
+<li><a href="#18"> QWSClient
+</a>
+<li><a href="#19"> QWSDisplayData
+</a>
+<li><a href="#20"> QWSCommands
+</a>
+<li><a href="#21"> QCopChannel
+</a>
+<li><a href="#22"> QWSManager
+</a>
+<li><a href="#23"> QWSDecoration
+</a>
+<li><a href="#24"> QWSPropertyManager
+</a>
+<li><a href="#25"> QWSRegionManager
+</a>
+<li><a href="#26"> QWSSocket, QWSServerSocket
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> <a href="qfontmanager.html">QFontManager</a>
+</h2>
+<a name="1"></a><p> There is one of these per application. At application startup time it
+reads the font definition file from <tt>$QTDIR/etc/fonts/fontdir</tt> (or <tt>/usr/local/etc/qt-embedded/fonts/fontdir</tt> if QTDIR is undefined). It
+keeps track of all font information and maintains a cache of rendered
+fonts. It also creates the font factories: QFontManager::QFontManager
+is the place to add constructors for new factories. It provides a
+high-level interface for requesting a particular font and calls
+QFontFactories to load fonts from disk on demand. Note that this only
+applies to BDF and TrueType fonts; Qt/Embedded's optimised <tt>.qpf</tt>
+font file format bypasses the QFontManager mechanism altogether.
+<p> There should be no need to modify this class unless you wish to change
+font matching or caching behaviour.
+<p> <h2> QDiskFont
+</h2>
+<a name="2"></a><p> This contains information about a single on-disk font file (e.g.
+<tt>/usr/local/etc/qt-embedded/times.ttf</tt>). It holds the file path,
+information about whether the font is scalable, its weight, size,
+Qt/Embedded name, etc. This information is used so that <a href="qfontmanager.html">QFontManager</a>
+can find the closest matching disk font (it uses a scoring mechanism
+weighted towards matching names, then whether the font's italic, then
+its weight).
+<p> There should be no reason to modify this class.
+<p> <h2> QRenderedFont
+</h2>
+<a name="3"></a><p> There is one and only one QRenderedFont for every unique font
+currently loaded by the system (that is, each unique combination of
+name, size, weight, italic or not, anti-aliased or not).
+QRenderedFonts are reference counted; once no one is using the
+QRenderedFont it is deleted along with its cache of glyph bitmaps. The
+QDiskFont it was loaded from remains opened by its QFontFactory.
+<p> There should be no reason to modify this class, unless you wish to
+change the way in which glyphs are cached.
+<p> <h2> QFontFactory (and descendants QFontFactoryBDF, QFontFactoryTtf)
+</h2>
+<a name="4"></a><p> These provide support for particular font formats, for instance the
+scalable Truetype and Type1 formats (both supported in
+QFontFactoryTtf, which uses Freetype 2) and the bitmap BDF format used
+by X. It's called to open an on-disk font; once a font is opened it
+remains opened so that the creation of new font instances from the
+disk font is fast. It can also create a QRenderedFont and convert from
+Unicode values to an index into the font file. For compactness, glyphs
+are stored in the order and indexes they are defined in the font
+rather than in Unicode order.
+<p> There should be no need to modify this class, but it should be
+inherited if you wish to add a different type of font renderer (e.g.
+for a custom vector font format).
+<p> <h2> QGlyph
+</h2>
+<a name="5"></a><p> This describes a particular image of a character from a QRenderedFont:
+for example, the letter 'A' at 10 points in Times New Roman, bold italic,
+anti-aliased. It contains pointers to a QGlyphMetrics structure with
+information about the character and to the raw data for the glyph:
+this is either a 1-bit mask or an 8-bit alpha channel. Each QRenderedFont
+creates these on demand and caches them once created (note that this is
+not currently implemented for TrueType fonts).
+<p> You would only need to modify this class if you were, for example,
+modifying Qt/Embedded to support textured fonts, in which case you
+would also need to modify QGfxRaster.
+<p> <h2> QMemoryManagerPixmap/QMemoryManager
+</h2>
+<a name="6"></a><p> This handles requests for space for pixmaps and also keeps track of
+QPF format fonts (these are small 'state dumps' of QRenderedFonts,
+typically 2-20KB in size; they can be mmap'd direct from disk in order
+to save memory). If a QPF font is found which matches a font request
+no new QRenderedFont need be created for it. It's possible to strip out
+all QFontFactory support and simply use QPFs if your font needs are modest
+(for instance, if you only require a few fixed point sizes). Note that
+no best-match loading is performed with QPFs, as opposed to those
+loaded via <a href="qfontmanager.html">QFontManager</a>, so if you don't have the correct QPF for a point
+size, text in that size will simply not be displayed.
+<p> There should be no need to modify this class.
+<p> <h2> <a href="qscreen.html">QScreen</a> &raquo; QLinuxFbScreen &raquo; accelerated screens, QTransformedScreen &raquo; QVfbScreen
+</h2>
+<a name="7"></a><p> These encapsulate the framebuffer Qt/Embedded is drawing to, provide
+support for mapping of coordinates for rotating framebuffers, allow
+manipulation of the colour palette and provide access to offscreen
+graphics memory for devices with separate framebuffer memories.
+<p> This is used for caching pixmaps and allowing accelerated pixmap=&gt;screen
+blt's. QLinuxFbScreen and the accelerated screens use the Linux <tt>/dev/fb</tt>
+interface to get access to graphics memory and information about the
+characteristics of the device. The framebuffer device to open is specified
+by QWS_DISPLAY. Only QTransformedScreen implements the support for rotated
+framebuffers. QVfbScreen provides an X window containing an emulated
+framebuffer (a chunk of shared memory is set aside as the 'framebuffer'
+and blt'd into the X window): this is intended as a debugging device
+allowing users to debug their applications under Qt/Embedded without leaving
+X. The accelerated screen drivers check to see if they can drive the
+device specified by QWS_CARD_SLOT (which defaults to the usual position
+of an AGP slot if not specified) and mmap its on-chip registers from
+<tt>/dev/mem</tt>. They may also do chip-specific setup (initialising registers to
+known values and so on). Finally, <a href="qscreen.html">QScreen</a>'s are used to create new
+QScreenCursors and QGfxes.
+<p> If you wish to modify the way pixmaps are allocated in memory,
+subclass or modify QLinuxFbScreen. If you're writing an accelerated
+driver you will need to subclass QScreen or QLinuxFbScreen.
+<p> <h2> QScreenCursor &raquo; accelerated cursor &raquo; QVfbCursor
+</h2>
+<a name="8"></a><p> This handles drawing the on-screen mouse cursor, and saving and
+restoring the screen under it for the non-accelerated cursor types.
+<p> Subclassing QScreenCursor is optional in an accelerated driver (you
+would only want to do so if the hardware supports a hardware cursor).
+<p> <h2> QGfx &raquo; RasterBase &raquo; Raster &raquo; accelerated driver &raquo; QGfxVfb &raquo; QGfxTransformedRaster
+</h2>
+<a name="9"></a><p> This class encapsulates drawing operations, a little like a low-level
+<a href="qpainter.html">QPainter</a>. QGfxRaster and its descendants are specifically intended
+for drawing into a raw framebuffer. They can take an offset for drawing
+operations and a clipping region in order to support drawing into windows.
+You will need to subclass the QGfxRaster template in order to implement
+an accelerated driver.
+<p> If you're brave, modifying QGfxRaster would allow you to customise how
+drawing is done or add support for a new bit depth/pixel format.
+<p> <h2> QLock, QLockHolder
+</h2>
+<a name="10"></a><p> This encapsulates a System V semaphore, used for synchronising access
+to memory shared between Qt/Embedded clients. QLockHolder is a utility class
+to make managing and destroying QLocks easier.
+<p> There should be no need to modify this class unless porting
+Qt/Embedded to an operating system without System V IPC.
+<p> <h2> <a href="qdirectpainter.html">QDirectPainter</a>
+</h2>
+<a name="11"></a><p> This is a QPainter which also gives you a pointer to the framebuffer
+of the window it's pointing to, the window's clip region and so on.
+It's intended to easily allow you to do your own pixel-level manipulation
+of window contents.
+<p> There should be no reason to modify this class.
+<p> <h2> QWSSoundServer, Client
+</h2>
+<a name="12"></a><p> The Qt/Embedded server contains a simple sound player and mixer. Clients
+can request the server play sounds specified as files.
+<p> There should be no need to modify this class unless porting
+Qt/Embedded to an operating system without a Linux-style <tt>/dev/dsp</tt>.
+<p> <h2> <a href="qwswindow.html">QWSWindow</a>
+</h2>
+<a name="13"></a><p> This contains the server's notion of an individual top level window:
+the region of the framebuffer it's allocated, the client that created it
+and so forth.
+<p> There should be no reason to modify this class.
+<p> <h2> <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a> &raquo; subtypes
+</h2>
+<a name="14"></a><p> This handles keyboard/button input. QWSKeyboardHandler is subclassed
+to provide for reading <tt>/dev/tty</tt>, an arbitrary low-level USB event device
+(for USB keyboards) and some PDA button devices.
+<p> Modifying QWSKeyboardHandler would allow you to support different
+types of keyboard (currently only a fairly standard US PC style
+keyboard is supported); subclassing it is the preferred way to handle
+non-pointer input devices.
+<p> <h2> <a href="qwsmousehandler.html">QWSMouseHandler</a> &raquo; QWSCalibratedMouseHandler &raquo; mouse types
+</h2>
+<a name="15"></a><p> This handles mouse/touch-panel input. Descendants of QWSCalibratedMouseHandler
+make use of filtering code which prevents 'jittering' of the pointer on
+touchscreens; some embedded devices do this filtering in the kernel in
+which case the driver doesn't need to inherit from QWSCalibratedMouseHandler.
+<p> Subclassing QWSCalibratedMouseHandler is preferred for touch-panels without
+kernel filtering; inheriting QWSMouseHandler is the way to add any other
+type of pointing device (pen tablets, touchscreens, mice, trackballs
+and so forth).
+<p> <h2> QWSDisplay
+</h2>
+<a name="16"></a><p> This class exists only in the Qt/Embedded server and keeps track of
+all the top-level windows in the system, as well as the keyboard and mouse.
+<p> You would only want to modify this if making deep and drastic
+modifications to Qt/Embedded window behaviour (alpha blended windows
+for example).
+<p> <h2> <a href="qwsserver.html">QWSServer</a>
+</h2>
+<a name="17"></a><p> This manages the Qt/Embedded server's Unix-domain socket connections to
+clients. It sends and receives QWS protocol events and calls QWSDisplay
+in order to do such things as change the allocation region of windows.
+<p> The only reason to modify this would be to use something other than
+some sort of socket-like mechanism to communicate between Qt/Embedded
+applications (in which case modify QWSClient too). If you have
+something like Unix domain sockets, modify QWSSocket/QWSServerSocket
+instead. Don't add extra QWS events to communicate between
+applications, use QCOP instead.
+<p> <h2> QWSClient
+</h2>
+<a name="18"></a><p> This encapsulates the client side of a Qt/Embedded connection and can
+marshal and demarshal events.
+<p> There should be no reason to modify this except to use something
+radically different from Unix domain sockets to communicate between
+Qt/Embedded applications.
+<p> <h2> QWSDisplayData
+</h2>
+<a name="19"></a><p> This manages a client's QWSClient, reading and interpreting events
+from the QWS server. It connects to the QWS server on application
+startup, getting information about the framebuffer and creating the
+memory manager. Other information about the framebuffer comes directly
+from <tt>/dev/fb</tt> in QLinuxFbScreen.
+<p> There should be no reason to modify this.
+<p> <h2> QWSCommands
+</h2>
+<a name="20"></a><p> These encapsulate the data sent to and from the QWS server.
+<p> There should be no reason to modify them.
+<p> <h2> <a href="qcopchannel.html">QCopChannel</a>
+</h2>
+<a name="21"></a><p> QCop is a simple IPC mechanism for communication between Qt/Embedded
+applications. String messages with optional binary data can be sent
+to different channels.
+<p> The mechanism itself is designed to be bare-bones in order for users
+to build whatever mechanism they like on top of it.
+<p> <h2> QWSManager
+</h2>
+<a name="22"></a><p> This provides Qt/Embedded window management, drawing a title bar
+and handling user requests to move, resize the window and so on.
+<p> There should be no reason to modify it but you should subclass it
+if you want to modify window behaviour (point to click versus
+focus follows mouse, for instance).
+<p> <h2> <a href="qwsdecoration.html">QWSDecoration</a>
+</h2>
+<a name="23"></a><p> Descendants of this class are different styles for the Qt/Embedded
+window manager, for instance QWSWindowsDecoration draws Qt/Embedded
+window frames in the style of Windows CE.
+<p> Subclass it in order to provide a new window manager appearance (the
+equivalent of a Windows XP or Enlightenment theme).
+<p> <h2> QWSPropertyManager
+</h2>
+<a name="24"></a><p> This provides the QWS client's interface to the QWS property system
+(a simpler version of the X property system, it allows you to attach
+arbitrary data to top-level windows, keyed by an integer).
+<p> There should be no reason to modify it.
+<p> <h2> QWSRegionManager
+</h2>
+<a name="25"></a><p> Used by both client and server to help manage top-level window regions.
+<p> There should be no reason to modify it.
+<p> <h2> QWSSocket, QWSServerSocket
+</h2>
+<a name="26"></a><p> Provides Unix-domain sockets.
+<p> Modify this if you're porting to a non-Unix OS but have something
+analogous to Unix-domain sockets (a byte-oriented, reliable, ordered
+transmission mechanism, although you can probably implement it with
+something like a message queue as well).
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-envvars.html b/doc/html/emb-envvars.html
new file mode 100644
index 0000000..76a237a
--- /dev/null
+++ b/doc/html/emb-envvars.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/envvars.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded environment variables</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded environment variables</h1>
+
+
+
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Variable <th valign="top">Notes
+<tr bgcolor="#f0f0f0">
+<td valign="top">QWS_SW_CURSOR
+<td valign="top">If defined, always use a software mouse cursor even when using an
+accelerated driver that supports a hardware cursor
+<tr bgcolor="#d0d0d0">
+<td valign="top">QWS_DISPLAY
+<td valign="top">Defines the display type and framebuffer, e.g.
+<tt>Voodoo3 Mach64:/dev/fb1</tt>
+Defaults to an unaccelerated Linux framebuffer driver on <tt>/dev/fb0</tt>.
+Valid drivers are QVfb, VGA16, LinuxFb (unaccelerated Linux framebuffer),
+Mach64 (accelerated for ATI Mach64 cards such as the Rage Pro),
+Voodoo3 (accelerated for the 3dfx Voodoo 3, should also work on Voodoo
+Banshee), Matrox (should work on all Matrox graphics cards since the
+Matrox Millennium), Transformed (for rotated displays), SVGALIB and
+VNC. Transformed displays have a special format: within the
+specification should be a multiple of 90 degrees rotation specified as
+Rot&lt;x&gt;, for instance Transformed:Rot90.
+<tr bgcolor="#f0f0f0">
+<td valign="top">QTDIR
+<td valign="top">If defined this tells Qt/Embedded to where to find its fonts:
+fontdir should be in <tt>$QTDIR/etc/fonts/</tt>. If undefined it's assumed
+to be <tt>/usr/local/qt-embedded</tt>
+<tr bgcolor="#d0d0d0">
+<td valign="top">QWS_SIZE
+<td valign="top">If defined forces Qt/Embedded into a window of &lt;width&gt; x
+&lt;height&gt; size centred within the screen, e.g. 320x200
+<tr bgcolor="#f0f0f0">
+<td valign="top">QWS_NOMTRR
+<td valign="top">If defined, don't use Memory Type Range Registers to define the framebuffer
+as write-combined on x86. Write-combining speeds up graphics output.
+<tr bgcolor="#d0d0d0">
+<td valign="top">QWS_CARD_SLOT
+<td valign="top">Tells the accelerated drivers which card to attempt to accelerate.
+This should be a path in <tt>/proc/bus/pci</tt>. It defaults to
+<tt>/proc/bus/pci/01/00.0</tt> - the first device on the second PCI bus in the
+system, which is normally the AGP card.
+<tr bgcolor="#f0f0f0">
+<td valign="top">QWS_USB_KEYBOARD
+<td valign="top">If defined, instead of opening <tt>/dev/tty</tt> open the USB low-level
+event device defined in QWS_USB_KEYBOARD (e.g. <tt>/dev/input/event0</tt>):
+this is useful if you wish to run X and Qt/Embedded side by side on
+different framebuffers.
+<tr bgcolor="#d0d0d0">
+<td valign="top">QWS_MOUSE_PROTO
+<td valign="top">Defined as &lt;type&gt;:&lt;device&gt;, e.g. <tt>Microsoft:/dev/ttyS0</tt>. If you want to
+use a USB mouse directly (separate from X) use <tt>MouseMan:/dev/input/mouse0</tt>
+or similar. Valid mouse protocls are Auto (automatically sense protocol),
+MouseMan, IntelliMouse, Microsoft, QVfbMouse (only useful with QVfb)
+and TPanel, a sample touch panel driver.
+<tr bgcolor="#f0f0f0">
+<td valign="top">QWS_KEYBOARD
+<td valign="top">Defines the keyboard type. Multiple keyboards can be handled at once,
+input will be read from all of them. Valid values:
+Buttons (an iPaq button device if QT_QWS_IPAQ is compiled, otherwise
+one for the Cassiopeia), QVfbKeyboard (only useful with QVfb),
+and TTY (either a USB keyboard or <tt>/dev/tty</tt> depending if QWS_USB_KEYBOARD
+is defined)
+<p> </table></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-features.html b/doc/html/emb-features.html
new file mode 100644
index 0000000..72bf0bd
--- /dev/null
+++ b/doc/html/emb-features.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/features.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Feature Definition File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The Feature Definition File</h1>
+
+
+
+<p> By modifying the configured <tt>qconfig.h</tt> file from src/tools, you
+can define a subset of the full Qt functionality that you wish to
+be available in your installation. The -qconfig option to
+configure is used to select the configuration.
+<p> Note that such modification is only supported on Qt/Embedded
+platforms, where reducing the size of Qt is
+important and the application set is often fixed.
+<p> The <tt>qconfig.h</tt> definition file simply defines macros to disable
+features. Some features are dependent on other features and these
+dependencies are expressed in <tt>qfeatures.h</tt>.
+<p> The available options are:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Macro <th valign="top">Disables <th valign="top">Set automatically by
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Images (<a href="qimageio.html">QImageIO</a>)
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_IMAGEIO_BMP
+<td valign="top">Microsoft Bitmap image file format.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_IMAGEIO_PPM
+<td valign="top">Portable Pixmap image file format.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_IMAGEIO_XBM
+<td valign="top">X11 Bitmap image file format.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_IMAGEIO_XPM
+<td valign="top">X11 Pixmap image file format.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_IMAGEIO_PNG
+<td valign="top">Portable Network Graphics image file format.
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Animation
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_ASYNC_IO
+<td valign="top">Asynchronous I/O (<a href="qasyncio.html">QAsyncIO</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_ASYNC_IMAGE_IO
+<td valign="top">Asynchronous Image I/O and GIF image support (<a href="qimagedecoder.html">QImageDecoder</a>, ...)
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_MOVIE
+<td valign="top">Animation support (<a href="qmovie.html">QMovie</a>)
+<td valign="top">QT_NO_ASYNC_IO, QT_NO_ASYNC_IMAGE_IO
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Fonts
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_TRUETYPE
+<td valign="top">TrueType (TTF and TTC) font file format, only used by Qt/Embedded.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_BDF
+<td valign="top">Bitmap Distribution Format (BDF) font file format, only used by Qt/Embedded.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_FONTDATABASE
+<td valign="top">Font database.
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> <a href="i18n.html#internationalization">Internationalization</a>
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_I18N
+<td valign="top">Conversions between Unicode and 8-bit encodings.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_UNICODETABLES
+<td valign="top">Large tables defining such things as upper and lowercase conversions
+for all Unicode characters.
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> MIME
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_MIME
+<td valign="top">Multipurpose Internet Mail Extensions, an Internet standard for encoding
+and tagging typed data (eg. text, images, colors) (<a href="qmimesource.html">QMimeSource</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_RICHTEXT
+<td valign="top">HTML-like text (<a href="qstylesheet.html">QStyleSheet</a>, <a href="qlabel.html">QLabel</a>)
+<td valign="top">QT_NO_MIME
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_DRAGANDDROP
+<td valign="top">Drag-and-drop data between applications (<a href="qdragobject.html">QDragObject</a>)
+<td valign="top">QT_NO_MIME
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_CLIPBOARD
+<td valign="top">Cut-and-paste data between applications (<a href="qclipboard.html">QClipboard</a>)
+<td valign="top">QT_NO_MIME
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Sound
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_SOUND
+<td valign="top">Playing audio files (<a href="qsound.html">QSound</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Scripting
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_PROPERTIES
+<td valign="top">Scripting Qt-based applications.
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Qt/Embedded-specific
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_QWS_CURSOR
+<td valign="top">The cursor sprite on Qt/Embedded. Pen-operated devices would not
+normally need this feature.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_QWS_DEPTH_8GRAYSCALE
+<td valign="top" colspan="1" rowspan="1"> 8 bits per pixel: 256 levels of gray.
+Incompatible with QWS_DEPTH_8.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_QWS_DEPTH_8
+<td valign="top" colspan="1" rowspan="1"> 8 bits per pixel: 216-color cube with 40 auxiliary colors.
+Incompatible with QWS_DEPTH_8GRAYSCALE.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_QWS_DEPTH_15
+<td valign="top" colspan="1" rowspan="1"> 15 bits per pixel: 32 levels for each of red, green and blue.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_QWS_DEPTH_16
+<td valign="top" colspan="1" rowspan="1"> 16 bits per pixel: 64 levels of green, 32 levels for red and for blue.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_QWS_DEPTH_32
+<td valign="top" colspan="1" rowspan="1"> 32 bits per pixel: 256 levels for each of red, green and blue.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_QWS_MACH64
+<td valign="top">Mach64 accelerated driver (demonstration only).
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_QWS_VFB
+<td valign="top">Virtual framebuffer running on X11 (see reference documentation).
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Networking
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_NETWORKPROTOCOL
+<td valign="top">Abstract multi-protocol data retrieval,
+with local file retrieval included (<a href="qnetworkprotocol.html">QNetworkProtocol</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_NETWORKPROTOCOL_FTP
+<td valign="top">FTP-protocol data retrieval.
+<td valign="top">QT_NO_NETWORKPROTOCOL
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_NETWORKPROTOCOL_HTTP
+<td valign="top">HTTP-protocol data retrieval.
+<td valign="top">QT_NO_NETWORKPROTOCOL
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Painting/drawing
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_COLORNAMES
+<td valign="top">Color names such as "red", used by some <a href="qcolor.html">QColor</a> constructors
+and by some HTML documents (<a href="qcolor.html">QColor</a>, <a href="qstylesheet.html">QStyleSheet</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_TRANSFORMATIONS
+<td valign="top">Used by a number of classes in Qt. With this, rotation and
+scaling are possible. Without it you can only do coordinate
+translation (<a href="qwmatrix.html">QWMatrix</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_PSPRINTER
+<td valign="top">PostScript printer support.
+<td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_PRINTER
+<td valign="top">Printer support (<a href="qprinter.html">QPrinter</a>)
+<td valign="top">QT_NO_PSPRINTER (Unix only)
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_PICTURE
+<td valign="top">Save Qt drawing commands to a files (<a href="qpicture.html">QPicture</a>)
+<td valign="top">&nbsp;
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Widgets
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_WIDGETS
+<td valign="top">Disabling this disables all widgets except <a href="qwidget.html">QWidget</a>.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_TEXTVIEW
+<td valign="top">HTML document viewing (<a href="qtextview.html">QTextView</a>)
+<td valign="top">QT_NO_WIDGETS, QT_NO_RICHTEXT
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_TEXTBROWSER
+<td valign="top">HTML document browsing (<a href="qtextbrowser.html">QTextBrowser</a>)
+<td valign="top">QT_NO_TEXTVIEW
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_ICONVIEW
+<td valign="top">Labelled icons (<a href="qiconview.html">QIconView</a>)
+<td valign="top">QT_NO_WIDGETS, QT_NO_DRAGANDDROP
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_LISTVIEW
+<td valign="top">Lists of information (<a href="qlistview.html">QListView</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_CANVAS
+<td valign="top">Object canvas (<a href="qcanvas.html">QCanvas</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_DIAL
+<td valign="top">Value control (<a href="qdial.html">QDial</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_WORKSPACE
+<td valign="top">MDI (Multiple Document Interface) (<a href="qworkspace.html">QWorkspace</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_LCDNUMBER
+<td valign="top">LCD-like number display (<a href="qlcdnumber.html">QLCDNumber</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> GUI Styles
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_STYLE_WINDOWS
+<td valign="top">Microsoft Windows style (<a href="qwindowsstyle.html">QWindowsStyle</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_STYLE_MOTIF
+<td valign="top">OSF <a href="motif-extension.html#Motif">Motif</a> style (<a href="qmotifstyle.html">QMotifStyle</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_STYLE_CDE
+<td valign="top">Open Group CDE style (<a href="qcdestyle.html">QCDEStyle</a>)
+<td valign="top">QT_NO_STYLE_MOTIF
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_STYLE_AQUA
+<td valign="top">MacOS X style (QAquaStyle)
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_STYLE_PLATINUM
+<td valign="top">MacOS 9 style (<a href="qplatinumstyle.html">QPlatinumStyle</a>)
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_STYLE_SGI
+<td valign="top">SGI style (<a href="qsgistyle.html">QSGIStyle</a>)
+<td valign="top">QT_NO_STYLE_MOTIF
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Dialogs
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_DIALOGS
+<td valign="top">Disabling this disables all common dialogs <a href="qwidget.html">QWidget</a>.
+<td valign="top">QT_NO_WIDGETS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_FILEDIALOG
+<td valign="top">The file selection dialog (<a href="qfiledialog.html">QFileDialog</a>)
+<td valign="top">QT_NO_DIALOGS, QT_NO_NETWORKPROTOCOL, QT_NO_LISTVIEW
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_FONTDIALOG
+<td valign="top">The font selection dialog (<a href="qfontdialog.html">QFontDialog</a>)
+<td valign="top">QT_NO_DIALOGS, QT_NO_FONTDATABASE
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_COLORDIALOG
+<td valign="top">The color selection dialog (<a href="qcolordialog.html">QColorDialog</a>)
+<td valign="top">QT_NO_DIALOGS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_INPUTDIALOG
+<td valign="top">Text input dialog (<a href="qinputdialog.html">QInputDialog</a>)
+<td valign="top">QT_NO_DIALOGS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_MESSAGEBOX
+<td valign="top">Message/prompting dialog (<a href="qmessagebox.html">QMessageBox</a>)
+<td valign="top">QT_NO_DIALOGS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_PROGRESSDIALOG
+<td valign="top">Long-computation progress dialog (<a href="qprogressdialog.html">QProgressDialog</a>)
+<td valign="top">QT_NO_DIALOGS
+<tr bgcolor="#d0d0d0"> <td valign="top">QT_NO_TABDIALOG
+<td valign="top">Tabbed-pages dialog (<a href="qtabdialog.html">QTabDialog</a>)
+<td valign="top">QT_NO_DIALOGS
+<tr bgcolor="#f0f0f0"> <td valign="top">QT_NO_WIZARD
+<td valign="top">Multi-step dialog (<a href="qwizard.html">QWizard</a>)
+<td valign="top">QT_NO_DIALOGS
+</table></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-fonts.html b/doc/html/emb-fonts.html
new file mode 100644
index 0000000..6583963
--- /dev/null
+++ b/doc/html/emb-fonts.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:185 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Fonts in Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Fonts in Qt/Embedded</h1>
+
+
+<p> <h2> Supported Formats
+</h2>
+<a name="1"></a><p> Qt/Embedded supports four font formats:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top"><b>TrueType (TTF)</b>
+<td valign="top">The scalable font technology now standard on MS-Windows and Apple
+Macintosh, and becoming popular on X11.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><b>Postscript Type1 (PFA/PFB)</b>
+<td valign="top">Scalable fonts often used by printers, also popular on X11. These
+are similar in functionality to TTF fonts and are not discussed
+further in this document.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><b>Bitmap Distribution Format<br>fonts (BDF)</b>
+<td valign="top">A standard format for non-scalable fonts. A large number of BDF
+fonts are supplied as part of standard X11 distributions - most of
+these can be used with Qt/Embedded. You should <em>not</em> use these in a
+production system: they are very slow to load and take up a <em>lot</em> of
+storage space. Instead, render the BDF to a QPF.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><b>Qt Prerendered Font (QPF)</b>
+<td valign="top">A light-weight non-scalable font format specific to Qt/Embedded.
+</table></center>
+<p> Support for each of these font formats (except QPF which is always
+enabled) can be enabled or disabled independently by using the <a href="emb-features.html">Qt/Embedded Features Definition</a>. There is
+support in Qt/Embedded for writing a QPF font file from any font, so
+you can initially enable TTF and BDF formats, save QPF files for the
+fonts and sizes you need, then remove TTF and BDF support.
+<p> See <a href="makeqpf.html">tools/makeqpf</a> for a tool that helps
+produce QPF files from the TTF and BDF, or just run your application
+with the <tt>-savefonts</tt> option.
+<p> <h2> Memory Requirements
+</h2>
+<a name="2"></a><p> With TTF fonts, each character in the font at a given point size is
+only rendered when first used in a drawing or metrics operation. With
+BDF fonts all characters are rendered when the font is used.
+With QPF fonts, the characters are stored in the same format that Qt
+uses for drawing.
+<p> For example, a 10-point Times font containing the ASCII characters uses
+around 1300 bytes when stored in QPF format.
+<p> Taking advantage of the way the QPF format is structured, Qt/Embedded
+memory-maps the data rather than reading and parsing it.
+This reduces RAM consumption even further.
+<p> Scalable fonts use a larger amount of memory per font, but
+these fonts provide a memory saving if many different sizes of each
+font are needed.
+<p> <h2> Smooth Fonts
+</h2>
+<a name="3"></a><p> TTF, PFA, and QPF fonts can be rendered as <em>smooth</em> anti-aliased
+fonts to give superior readability, especially on low-resolution
+devices. The difference between smooth and non-smooth fonts is
+illustrated below (you may need to change your display to low
+resolution to see the difference):
+<p> <center><img src="unsmooth.png" alt="unsmooth"></center>
+<p> <center><img src="smooth.png" alt="smooth"></center>
+<p> <h2> Unicode
+</h2>
+<a name="4"></a><p> All fonts used by Qt/Embedded use the Unicode character encoding.
+Most fonts available today use this encoding, but they usually don't
+contain all the Unicode characters. A <em>complete</em> 16-point Unicode
+font uses over 1 MB of memory.
+<p> <h2> The font definition file
+</h2>
+<a name="5"></a><p> When Qt/Embedded applications run, they look for a file called
+<tt>$QTDIR/lib/fonts/fontdir</tt> or
+<tt>/usr/local/qt-embedded/lib/fonts/fontdir</tt>. This file defines the
+fonts available to the application. It has the following format:
+<blockquote>
+<em>name</em> <em>file</em> <em>renderer</em> <em>italic</em> <em>weight</em> <em>size</em> <em>flags</em>
+</blockquote>
+where
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Field <th valign="top">Value
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>name</em> <td valign="top"><tt>Helvetica</tt>, <tt>Times</tt>, etc.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>file</em> <td valign="top"><tt>helvR0810.bdf</tt>, <tt>verdana.ttf</tt>, etc.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>renderer</em> <td valign="top"><tt>BDF</tt> or <tt>FT</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>italic</em> <td valign="top"><tt>y</tt> or <tt>n</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>weight</em> <td valign="top"><tt>50</tt> is normal, <tt>75</tt> is bold, etc.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>size</em> <td valign="top"><tt>0</tt> for scalable or point size * 10 (i.e. <tt>120</tt>
+for 12pt)
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>flags</em> <td valign="top"><ul>
+<li> <tt>s</tt>: smooth (anti-aliased)
+<li> <tt>u</tt>: Unicode range when saving (default is Latin-1)
+<li> <tt>a</tt>: ASCII range when saving (default is Latin-1)
+</ul>
+</table></center>
+<p> The font definition file does not specify QPF fonts; these are loaded
+directly from the directory containing the <tt>fontdir</tt> file, and must
+be named <em>name</em>_<em>size</em>_<em>weight</em><em>italicflag</em>.qpf, where
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Field <th valign="top">Value
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>name</em> <td valign="top"><tt>helvetica</tt>, <tt>times</tt>, etc. (in lowercase)
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>size</em> <td valign="top">point size * 10 (i.e. <tt>120</tt> for 12pt)
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>italicflag</em> <td valign="top"><tt>i</tt> for italic, otherwise nothing.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>weight</em> <td valign="top"><tt>50</tt> is normal, <tt>75</tt> is bold, etc.
+</table></center>
+<p> If an application is run with the <tt>-savefonts</tt> command-line option,
+then whenever a font other than a QPF font is used, a corresponding QPF file
+is saved. This allows you to easily find the font usage of your applications
+and to generate QPF files so that you can eventually reduce the memory
+usage of your applications by disabling TTF and BDF support from Qt/Embedded,
+or by modifying the initialization of <tt>qws_savefonts</tt> in
+<tt>kernel/qapplication_qws.cpp</tt> of the Qt/Embedded library source code.
+In extreme cases of memory-saving, it is possible to save partially-rendered
+fonts (i.e. only the characters in "Product Name<sup>TM</sup>") if you are
+certain that these are the only characters you will need from the font.
+See QMemoryManager::savePrerenderedFont() for this functionality.
+<p> <h2> Notes
+</h2>
+<a name="6"></a><p> The font definition file, naming conventions for font files, and the format
+of QPF files may change in versions of Qt/Embedded after 3.
+<p>
+To generate QPF files of different rotations, the program must be re-run with
+an orientation that matches the desired rotation of the QPF output. An example to
+generate all 4 rotations of fonts would be to run the following at a real framebuffer:
+<pre>
+for dpy in LinuxFb Transformed:Rot90 Transformed:Rot180 Transformed:Rot270
+do
+ QWS_DISPLAY=$dpy ./makeqpf "$@"
+done
+</pre><p> If programs are only ever run in one orientation on a device, only the one
+appropriate set of fonts is needed.
+<p>
+When enabled, Qt/Embedded uses the powerful FreeType2 library to implement
+TrueType and Type1 support.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-framebuffer-howto.html b/doc/html/emb-framebuffer-howto.html
new file mode 100644
index 0000000..df6291e
--- /dev/null
+++ b/doc/html/emb-framebuffer-howto.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/framebuffer-howto.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Enabling the Linux Framebuffer</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Enabling the Linux Framebuffer</h1>
+
+
+
+<p> This is only a short guide.
+See <a href="file:/usr/src/linux/README">/usr/src/linux/README</a> and
+<a href="file:/usr/src/linux/Documentation/fb/">/usr/src/linux/Documentation/fb/</a> for detailed information.
+There is also a detailed explanation at
+<a href="http://www.linuxdoc.org/HOWTO/Framebuffer-HOWTO.html">http://www.linuxdoc.org/HOWTO/Framebuffer-HOWTO.html</a>.
+<p> <ol type=1>
+<li> Make sure that you have the Linux kernel source code in
+<a href="file:/usr/src/linux/">/usr/src/linux/</a>.
+<p> <li> Log in as root and <tt>cd</tt> <tt>/usr/src/linux</tt>
+<p> <li> Configure the kernel:
+<p> Run:
+<pre>
+ make menuconfig
+</pre>
+
+<p> Select "Code maturity level options" and set "Prompt for
+development and/or incomplete code/drivers".
+<p> Then select "Console drivers" and set "Support for frame buffer
+devices" to built-in (even if it says EXPERIMENTAL). Then configure
+the driver. Most modern graphics cards can use the "VESA VGA
+graphics console"; use that or a driver that specifically matches
+your video card. Finally, enable "Advanced low level driver options"
+and make sure that 16 and 32 bpp packed pixel support are enabled.
+<p> When you are finished, chose exit and save.
+<p> <li> Compile the kernel
+<p> First do:
+<pre>
+ make dep
+</pre>
+
+then:
+<pre>
+ make bzImage
+</pre>
+
+<p> The new kernel should now be in arch/i386/boot/bzImage.
+<p> <li> Copy the kernel to the boot directory:
+<pre>
+ cp arch/i386/boot/bzImage /boot/linux.vesafb
+</pre>
+
+<p> <li> Edit /etc/lilo.conf.
+<p> <b>Warning:</b> Keep a backup of <a href="file:/etc/lilo.conf">/etc/lilo.conf</a>, and have a rescue disk
+available. If you make a mistake, the machine may not boot.
+<p> The file <a href="file:/etc/lilo.conf">/etc/lilo.conf</a> specifies how the system boots. The
+precise contents of the file varies from system to system. Here is
+an example:
+<pre>
+# LILO configuration file
+boot = /dev/hda3
+delay = 30
+image = /boot/vmlinuz
+ root = /dev/hda3
+ label = Linux
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+other=/dev/hda1
+ label=nt
+ table=/dev/hda
+</pre>
+
+<p> Make a new "image" section that is a copy of the first one, but with
+<pre>
+ image = /boot/linux.vesafb
+</pre>
+
+and
+<pre>
+ label = Linux-vesafb
+</pre>
+
+Place it just above the first image section.
+<p> Add a line before the image section saying <tt>vga = 791</tt>. (Meaning
+1024x768, 16 bpp.)
+<p> With the above example, lilo.conf would now be:
+<pre>
+# LILO configuration file
+boot = /dev/hda3
+delay = 30
+vga = 791
+image = /boot/linux.vesafb
+ root = /dev/hda3
+ label = Linux-vesafb
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+image = /boot/vmlinuz
+ root = /dev/hda3
+ label = Linux
+ read-only # Non-UMSDOS filesystems should be mounted read-only for checking
+other=/dev/hda1
+ label=nt
+ table=/dev/hda
+</pre>
+
+<p> Do not change any existing lines in the file; just add new ones.
+<p> <li> To make the new changes take effect, run the lilo program:
+<pre>
+ lilo
+</pre>
+
+<p> <li> Reboot the system. You should now see a penguin logo while the
+system is booting.
+(Or more than one on a multi-processor machine.)
+<p> <li> If it does not boot properly with the new kernel, you can boot with
+the old kernel by entering the label of the old image section at
+the LILO prompt. (with the example lilo.conf file, the old label is
+Linux.)
+<p> If that does not work (probably because of an error in lilo.conf),
+boot the machine using your rescue disk, restore <a href="file:/etc/lilo.conf">/etc/lilo.conf</a> from backup and re-run lilo.
+<p> <li> Testing: Here's a short program that opens the frame buffer and draws a
+gradient-filled red square.
+<p> <pre>
+#include &lt;unistd.h&gt;
+#include &lt;stdio.h&gt;
+#include &lt;fcntl.h&gt;
+#include &lt;linux/fb.h&gt;
+#include &lt;sys/mman.h&gt;
+
+int main()
+{
+ int fbfd = 0;
+ struct fb_var_screeninfo vinfo;
+ struct fb_fix_screeninfo finfo;
+ long int screensize = 0;
+ char *fbp = 0;
+ int x = 0, y = 0;
+ long int location = 0;
+
+ // Open the file for reading and writing
+ fbfd = open("/dev/fb0", O_RDWR);
+ if (!fbfd) {
+ printf("Error: cannot open framebuffer device.\n");
+ exit(1);
+ }
+ printf("The framebuffer device was opened successfully.\n");
+
+ // Get fixed screen information
+ if (ioctl(fbfd, FBIOGET_FSCREENINFO, &amp;finfo)) {
+ printf("Error reading fixed information.\n");
+ exit(2);
+ }
+
+ // Get variable screen information
+ if (ioctl(fbfd, FBIOGET_VSCREENINFO, &amp;vinfo)) {
+ printf("Error reading variable information.\n");
+ exit(3);
+ }
+
+ printf("%dx%d, %dbpp\n", vinfo.xres, vinfo.yres, vinfo.bits_per_pixel );
+
+ // Figure out the size of the screen in bytes
+ screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
+
+ // Map the device to memory
+ fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,
+ fbfd, 0);
+ if ((int)fbp == -1) {
+ printf("Error: failed to map framebuffer device to memory.\n");
+ exit(4);
+ }
+ printf("The framebuffer device was mapped to memory successfully.\n");
+
+ x = 100; y = 100; // Where we are going to put the pixel
+
+ // Figure out where in memory to put the pixel
+ for ( y = 100; y &lt; 300; y++ )
+ for ( x = 100; x &lt; 300; x++ ) {
+
+ location = (x+vinfo.xoffset) * (vinfo.bits_per_pixel/8) +
+ (y+vinfo.yoffset) * finfo.line_length;
+
+ if ( vinfo.bits_per_pixel == 32 ) {
+ *(fbp + location) = 100; // Some blue
+ *(fbp + location + 1) = 15+(x-100)/2; // A little green
+ *(fbp + location + 2) = 200-(y-100)/5; // A lot of red
+ *(fbp + location + 3) = 0; // No transparency
+ } else { //assume 16bpp
+ int b = 10;
+ int g = (x-100)/6; // A little green
+ int r = 31-(y-100)/16; // A lot of red
+ unsigned short int t = r&lt;&lt;11 | g &lt;&lt; 5 | b;
+ *((unsigned short int*)(fbp + location)) = t;
+ }
+
+ }
+ munmap(fbp, screensize);
+ close(fbfd);
+ return 0;
+}
+</pre>
+
+</ol>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-install.html b/doc/html/emb-install.html
new file mode 100644
index 0000000..47ae22a
--- /dev/null
+++ b/doc/html/emb-install.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installing Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installing Qt/Embedded</h1>
+
+
+
+<p> This installation procedure is written for Linux. It may need
+to be modified for other platforms.
+<p> <ol type=1>
+<li> Unpack the archive if you have not done so already
+<p> <pre>
+ cd &lt;anywhere&gt;
+ gunzip qt-embedded-commercial-VERSION.tar.gz # uncompress the archive
+ tar xf qt-embedded-commercial-VERSION.tar # unpack it
+</pre>
+
+Replace <tt>VERSION</tt> with the Qt/Embedded version number throughout.
+<p> This document assumes that the archive is installed as <tt>~/qt-embedded-commercial-VERSION</tt>.
+<li> Compile the Qt/Embedded library and examples.
+<p> <pre>
+ cd ~/qt-embedded-commercial-VERSION
+ export QTDIR=~/qt-embedded-commercial-VERSION
+ ./configure
+ make
+</pre>
+
+<p> The configuration system is designed to allow platform-specific options
+to be added, but in general all Linux systems which have framebuffer
+support can use the "linux-generic-g++" platform.
+The configuration system also supports cross-compilers:
+to build on Linux/x86 for the Linux/MIPSEL target, you would use:
+<pre>
+ ./configure -embedded mips
+</pre>
+
+<p> Only a small number of configurations are predefined.
+You can create your own custom configuration by adding new files
+to the <tt>mkspecs/qws/</tt> directory. Use existing similar configurations
+as a starting point.
+<p> <b>Note</b>: Due to a bug in the configure script, cross-compiling on
+a little-endian machine (e.g. x86) for a big-endian processor
+(e.g. PowerPC) will use the host's endianness instead of the
+target's. Workaround: after running configure, and before running
+make, edit <tt>$QTDIR/include/qconfig.h</tt> and change the definition of
+<tt>Q_BYTE_ORDER</tt>.
+<p> <li> Enable framebuffer support.
+<p> You may need to recompile your kernel to enable the framebuffer.
+This document does not describe how to do this; the
+<a href="emb-framebuffer-howto.html">Framebuffer HOWTO page</a>
+contains a short description. (You should see
+a penguin logo at boot time when the frame buffer is enabled.)
+<p> For Matrox G100/G200/G400 use the matrox frame buffer driver.
+<p> For NVidia TNT cards use the nvidia frame buffer driver.
+<p> For Mach64 and most other cards, use the vesafb driver.
+<p> Note that some cards are only supported in VGA16 mode, this will
+not work with the current version of Qt/Embedded, since VGA/16 is
+not yet supported. You may need to upgrade your kernel, or even
+switch to an experimental kernel.
+<p> The frame buffer must also be enabled with a boot parameter. See
+<tt>/usr/src/linux/Documentation/fb</tt> for details.
+<p> The <tt>fbset</tt> program, which should be included in Linux distributions,
+may be used to switch video modes without rebooting the system. The
+video mode active when the server is started will be used. (8-bit
+modes are still experimental.) <b>Note</b>: <tt>fbset</tt> does not work
+with the vesafb driver.
+<p> <li> Change permissions.
+<p> To run Qt/Embedded, you need write access to the framebuffer device
+<tt>/dev/fb0</tt>.
+<p> You also need read access to the mouse device. (Note that
+<tt>/dev/mouse</tt> is normally a symbolic link; the actual mouse device
+must be readable.)
+<p> <li> How to run the demonstration program.
+<p> Log into a virtual console and do this:
+<p> <pre>
+ cd ~/qt-embedded-commercial-VERSION/examples/launcher
+ ./start-demo
+</pre>
+
+<p> <li> Miscellaneous troubleshooting and known bugs.
+<p> To kill gpm, run the following command as root:
+<p> <pre>
+ gpm -k
+</pre>
+
+<p> In some cases, if the server does not work, it will work when run as root.
+<p> Show processes using the framebuffer:
+<p> <pre>
+ fuser -v /dev/fb0
+</pre>
+
+<p> Kill such processes:
+<pre>
+ fuser -vk /dev/fb0
+</pre>
+
+or harsher:
+<pre>
+ fuser -k -KILL /dev/fb0
+</pre>
+
+<p> Show existing semaphores:
+<pre>
+ ipcs
+</pre>
+
+<p> Remove semaphores:
+<pre>
+ ipcrm
+</pre>
+
+<p> The communication between client and server is done through the
+named pipe <tt>/tmp/qtembedded-username/QtEmbedded-0</tt>; sometimes it may need to be deleted
+(e.g. if you run Qt/Embedded with root privileges then later as an unprivileged user).
+<p> <li> Customization.
+<p> The Qt/Embedded library can be reduced in size by
+<a href="emb-features.html">removing unnecessary features</a>.
+<p> <li> This document shows how to use Qt/Embedded with the Linux framebuffer. For
+development and debugging purposes it is often easier to use the <a href="emb-qvfb.html">Qt/Embedded virtual framebuffer</a> instead.
+<p> </ol>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-performance.html b/doc/html/emb-performance.html
new file mode 100644
index 0000000..76d08d6
--- /dev/null
+++ b/doc/html/emb-performance.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:532 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded Performance Tuning</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded Performance Tuning</h1>
+
+
+When building embedded applications on low-powered devices, a number
+of options are available that would not be considered in a desktop
+application environment. These options reduce the memory and/or CPU
+requirements at the cost of other factors.
+<p> <ul>
+<li> <a href="emb-features.html"><b>Tuning the functionality of Qt</a>
+<li> <a href="#general">General programming style</a>
+<li> <a href="#static">Static vs. Dynamic linking</a>
+<li> <a href="#alloc">Alternative memory allocation</a>
+</ul>
+<p> <a name="general"></a>
+<h2> General programming style
+</h2>
+<a name="1"></a><p> The following guidelines will improve CPU performance:
+<ul>
+<li> Create dialogs and widgets once, then <a href="qwidget.html#hide">QWidget::hide</a>() and
+<a href="qwidget.html#show">QWidget::show</a>() them, rather than creating them and deleting
+them every time they are needed.
+This will use a little more memory, but will be much faster.
+Try to create them the first time "lazily" to avoid slow
+startup (e.g. only create a Find dialog the first time the
+user invokes it).
+</ul>
+<p> <a name="static"></a>
+<h2> Static vs. Dynamic linking
+</h2>
+<a name="2"></a><p> A lot of CPU and memory is used by the ELF linking process. You can
+make significant savings by using a static build of your application
+suite. This means that rather than having a dynamic library (<tt>libqte.so</tt>) and a collection of executables which link dynamically to
+that library, you build all the applications into a single executable
+and statically link that with a static library (<tt>libqt.a</tt>). This
+improves start-up time, and reduces memory usage, at the expense of
+flexibility (to add a new application, you must recompile the single
+executable) and robustness (if one application has a bug, it might
+harm other applications). If you need to install end-user
+applications, this may not be an option, but if you are building a
+single application suite for a device with limited CPU power and
+memory, this option could be very beneficial.
+<p> To compile Qt as a static library, add the <tt>-static</tt> options when
+you run configure.
+<p> To build your application suite as an all-in-one application, design each
+application as a stand-alone widget or set of widgets, with only minimal
+code in the main() function. Then, write an application that gives
+some way to switch between the applications (e.g. a <a href="qiconview.html">QIconView</a>).
+<a href="http://www.trolltech.com/products/qtopia/index.html">Qtopia</a> is an example of this. It can be built either as a set of
+dynamically linked executables, or as a single static application.
+<p> Note that you should generally still link dynamically against the
+standard C library and any other libraries which might be used by
+other applications on your device.
+<p> <a name="alloc"></a>
+<h2> Alternative memory allocation
+</h2>
+<a name="3"></a><p> We have found that the libraries shipped with some C++ compilers on
+some platforms have poor performance in the built-in "new" and "delete"
+operators. You might gain performance by re-implementing these
+functions. For example, you can switch to the plain C allocators
+by adding the following to your code:
+<p> <pre>
+ void* operator new[]( size_t size )
+ {
+ return malloc( size );
+ }
+
+ void* operator new( size_t size )
+ {
+ return malloc( size );
+ }
+
+ void operator delete[]( void *p )
+ {
+ free( p );
+ }
+
+ void operator delete[]( void *p, size_t size )
+ {
+ free( p );
+ }
+
+ void operator delete( void *p )
+ {
+ free( p );
+ }
+
+ void operator delete( void *p, size_t size )
+ {
+ free( p );
+ }
+</pre>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-pointer.html b/doc/html/emb-pointer.html
new file mode 100644
index 0000000..0dcecd2
--- /dev/null
+++ b/doc/html/emb-pointer.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:483 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded Pointer Handling</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded Pointer Handling</h1>
+
+
+Pointer handling in Qt/Embedded works for any mouse or mouse-like
+device such as touchpanels and trackballs.
+<p> Usually only one pointer device is supported in an embedded device,
+but for demonstration purposes, Qt/Embedded includes a large number of
+supported devices.
+<p> <h2> Mouse Protocols
+</h2>
+<a name="1"></a><p> Mouse drivers can be enabled/disabled via the configure script. Running
+./configure -help lists the available mouse drivers. Only the
+"pc" mouse driver is enabled in the default configuration.
+<p> Provided the "pc" mouse driver is enabled, Qt/Embedded auto-detects the
+mouse type and device if it is one of
+the supported types on <tt>/dev/psaux</tt> or one of the <tt>/dev/ttyS?</tt>
+serial lines. If multiple mice are detected, all may be used simultaneously.
+<p> Alternatively, you may set the environment variable <tt>QWS_MOUSE_PROTO</tt>
+to determine which mouse to use. This environment variable may be set
+to:
+<blockquote>
+<em>&lt;protocol&gt;</em><tt>:</tt><em>&lt;device&gt;</em>
+</blockquote>
+where <em>&lt;protocol&gt;</em> is one of:
+<ul>
+<li> MouseMan
+<li> IntelliMouse
+<li> Microsoft
+</ul>
+and <em>&lt;device&gt;</em> is the mouse device, often <tt>/dev/mouse</tt>. If no
+such variable is specified, the built-in default is <tt>Auto</tt>, which
+enables auto-detection of the mouse protocol and device.
+<p> To add another protocol, new subclasses of <a href="qwsmousehandler.html">QWSMouseHandler</a> and
+<a href="qmousedriverplugin.html">QMouseDriverPlugin</a> can be written and installed as plugins.
+<p> <h2> Touch Panels
+</h2>
+<a name="2"></a><p> Qt/Embedded ships with support for the NEC Vr41XX touchpanel and the
+emerging linux touchpanel standard used by the iPAQ and Zaurus. These
+are subclasses of QWSCalibratedMouseHandler which is in turn a subclass
+of QWSMouseHandler in <tt>embedded/qmouse_qws.cpp</tt>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-porting.html b/doc/html/emb-porting.html
new file mode 100644
index 0000000..38d0fb3
--- /dev/null
+++ b/doc/html/emb-porting.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:452 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Porting your applications to Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Porting your applications to Qt/Embedded</h1>
+
+
+<p> Existing Qt applications should require no porting provided there is no
+platform dependent code. Platform dependent code includes system calls,
+calls to the underlying window system (Windows or X11), and Qt platform
+specific methods such as <a href="qapplication.html#x11EventFilter">QApplication::x11EventFilter</a>().
+<p> For cases where it is necessary to use platform dependent code there are
+macros defined that can be used to enable/disable code for each platform
+using <tt>#ifdef</tt> directives:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Platform <th valign="top">Macro
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt/X11 <td valign="top">Q_WS_X11
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt/Windows <td valign="top">Q_WS_WIN
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt/Embedded <td valign="top">Q_WS_QWS
+</table></center>
+<p> Qt/Embedded also requires the following flags to be defined when compiling
+applications:
+<pre>
+-DQWS -fno-exceptions -fno-rtti
+</pre>
+
+<p> Exceptions and RTTI are disabled in Qt/Embedded because they incur a large
+overhead in both size and speed.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-qvfb.html b/doc/html/emb-qvfb.html
new file mode 100644
index 0000000..df971cc
--- /dev/null
+++ b/doc/html/emb-qvfb.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvfb.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded Virtual Framebuffer</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded Virtual Framebuffer</h1>
+
+
+<p> The virtual framebuffer allows Qt/Embedded programs to be developed on
+a desktop machine, without switching between consoles and X11.
+<p> The virtual framebuffer is located in <tt>$QTDIR/tools/qvfb</tt>.
+<p> <h2> Using the Virtual Framebuffer
+</h2>
+<a name="1"></a><p> <ol type=1>
+<li> Configure Qt/Embedded with the <tt>-qvfb</tt> argument and compile the library:
+<pre>
+ ./configure -qvfb
+ make
+ </pre>
+
+<li> Compile <tt>qvfb</tt> as a normal Qt/X11 application and run it. Do <em>not</em>
+compile it as a Qt/Embedded application.
+<li> Start a Qt/Embedded master application (i.e., construct
+<a href="qapplication.html">QApplication</a> with the QApplication::GuiServer flag or use the <tt>-qws</tt> command line parameter). You can specify to the server that
+you wish to use the virtual framebuffer driver, e.g.:
+<pre>
+ masterapp -qws -display QVFb:0
+ </pre>
+
+<li> Qt/Embedded will autodetect qvfb, so you can omit the <tt>-display</tt>
+command line parameter if you know that qvfb is running, and that
+the Qt/Embedded library supports qvfb. (If this is not the case,
+Qt/Embedded will write to the real framebuffer, and your X11
+display will be corrupted.)
+<p> </ol>
+<p> <tt>qvfb</tt> supports the following command line options:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Option <th valign="top">Meaning
+<tr bgcolor="#f0f0f0">
+<td valign="top"><tt>-width</tt> <em>width</em>
+<td valign="top">the width of the virtual framebuffer (default: 240).
+<tr bgcolor="#d0d0d0">
+<td valign="top"><tt>-height</tt> <em>height</em>
+<td valign="top">the height of the virtual framebuffer (default: 320).
+<tr bgcolor="#f0f0f0">
+<td valign="top"><tt>-depth</tt> <em>depth</em>
+<td valign="top">the depth of the virtual framebuffer (1, 8 or 32; default: 8).
+<tr bgcolor="#d0d0d0">
+<td valign="top"><tt>-nocursor</tt>
+<td valign="top">do not display the X11 cursor in the framebuffer window.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><tt>-qwsdisplay</tt> <em>:id</em>
+<td valign="top">the Qt/Embedded display id to provide (default: :0).
+</table></center>
+<p> <h2> Virtual Framebuffer Design
+</h2>
+<a name="2"></a><p> The virtual framebuffer emulates a framebuffer using a shared memory region
+(the virtual frame buffer) and a utility to display the framebuffer in a
+window (<tt>qvfb</tt>). The regions of the display that have changed are updated
+periodically, so you will see discrete snapshots of the framebuffer rather
+than each individual drawing operation. For this reason drawing problems
+such as flickering may not be apparent until the program is run using a real
+framebuffer.
+<p> The target refresh rate can be set via the <b>View|Refresh Rate</b>
+menu item. This will cause <tt>qvfb</tt> to check for updated regions more
+frequently. The rate is a target only. If little drawing is being
+done, the framebuffer will not show any updates between drawing
+events. If an application is displaying an animation the updates will
+be frequent, then the application and <tt>qvfb</tt> will compete for
+processor time.
+<p> Mouse and keyboard events are passed to the Qt/Embedded master process via
+named pipes.
+<p> The virtual framebuffer is a development tool only. No security issues have
+been considered in the virtual framebuffer design. It should be avoided
+in a production environment; do not configure production libraries with <tt>-qvfb</tt>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-running.html b/doc/html/emb-running.html
new file mode 100644
index 0000000..fae839b
--- /dev/null
+++ b/doc/html/emb-running.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:337 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Running Qt/Embedded applications</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Running Qt/Embedded applications</h1>
+
+
+<p> A Qt/Embedded application requires a master application to be running
+or to be a master application itself. The master application is
+primarily responsible for managing top-level window regions, and
+pointer and keyboard input.
+<p> Any Qt/Embedded application can be a master application by
+constructing the <a href="qapplication.html">QApplication</a> object with the
+<em>QApplication::GuiServer</em> type, or by being run with the <em>-qws</em>
+command line option.
+<p> This document assumes you have the Linux framebuffer configured correctly
+and no master process is running. If you do not have a working Linux
+framebuffer you can use the
+<a href="emb-qvfb.html">Qt/Embedded virtual framebuffer</a>, or you can
+run Qt/Embedded as a <a href="emb-vnc.html">VNC server</a>.
+<p> Change to a Linux console and select an example to run, e.g. <tt>examples/widgets</tt>. Make sure $QTDIR is set to the directory where you
+installed Qt/Embedded and add the $QTDIR/lib directory to
+$LD_LIBRARY_PATH, e.g.:
+<pre>
+export QTDIR=$HOME/qt-VERSION
+export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+</pre>
+
+<p> Run the application with the <em>-qws</em> option:
+<p> <pre>
+cd $QTDIR/examples/widgets
+./widgets -qws
+</pre>
+
+<p> You should see the <tt>widgets</tt> example appear. If your mouse doesn't
+work correctly you must specify the type of mouse to use. You can
+exit the master application at any time using
+<b>Ctrl+Alt+Backspace</b>.
+<p> If you wish to run additional applications you should run them as clients
+i.e. without the <em>-qws</em> option.
+<p> <h2> Displays
+</h2>
+<a name="1"></a><p> Qt/Embedded allows multiple displays to be used simultaneously by running
+multiple Qt/Embedded master processes. This is achieved using the -display
+command line parameter or the $QWS_DISPLAY environment variable.
+<p> The -display parameter's syntax is:
+<pre>
+ [gfx driver][:driver specific options][:display number]
+</pre>
+
+For example, if you want to use the mach64 driver on fb1 as display 2:
+<pre>
+ $ ./launcher -display Mach64:/dev/fb1:2
+</pre>
+
+<p> To try this functionality you can do the following:
+<ol type=1>
+<li> Change to VC 1 (virtual console one) and run the launcher:
+<p> <pre>
+ $ cd examples/launcher
+ $ ./launcher
+</pre>
+
+<p> <li> Switch to VC 2 and run another one:
+<p> <pre>
+ $ cd examples/launcher
+ $ ./launcher -display :1
+</pre>
+
+<p> Another launcher will be started. Start an application in this launcher.
+<p> <li> Press <b>Ctrl+Alt+F1</b> - back to display 0. You can also start
+additional applications on a particular display by specifying the
+display id. Change to VC 3:
+<p> <pre>
+ $ cd examples/widgets
+ $ ./widgets -display :1
+</pre>
+
+<p> will display the widgets example on dislpay :1 (VC 2).
+</ol>
+<p> Only the master process needs to specify the driver/device part
+explicitly. The clients get the information they need from the master
+when they connect. So once you have a master server running using a
+particular driver, you can just use "client -display :n" to use
+display n.
+<p> <h2> Mouse Input
+</h2>
+<a name="2"></a><p> Qt/Embedded attempts to autodetect a mouse by default. The supported
+protocols are MouseMan, Microsoft, IntelliMouse and
+some other devices specific to certain hardware (e.g. Vr touch panel).
+To specify the mouse to use set the <tt>$QWS_MOUSE_PROTO</tt> environment
+variable, e.g.:
+<pre>
+export QWS_MOUSE_PROTO=IntelliMouse
+</pre>
+
+<p> The mouse autodetection opens the serial devices and psaux which
+may cause conflicts with other programs using those devices. If
+this is the case then specify the mouse driver protocol and device
+explicitly.
+<p> <p>See also <a href="emb-pointer.html">Qt/Embedded Pointer Handling</a>.
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/emb-vnc.html b/doc/html/emb-vnc.html
new file mode 100644
index 0000000..6d88dba
--- /dev/null
+++ b/doc/html/emb-vnc.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qws.doc:635 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded as a VNC Server</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded as a VNC Server</h1>
+
+
+<p> The <a href="http://www.uk.research.att.com/vnc/">VNC</a> protocol
+allows you to view and interact with the computer's display from
+anywhere on the network.
+<p> To use Qt/Embedded in this way, <tt>configure</tt> Qt with the <tt>-qt-gfx-vnc</tt>
+option, and ensure that you also enable 16-bit display support. Run
+your application via:
+<pre>
+ application -display VNC:0
+</pre>
+
+then, run a VNC client pointing at the machine that is running your
+application. For example, using the X11 VNC client to view the
+application from the same machine:
+<pre>
+ vncviewer localhost:0
+</pre>
+
+<p> By default, Qt/Embedded will create a 640 by 480 pixel display. You
+can change this by setting the <tt>QWS_SIZE</tt> environment variable to
+another size, e.g. <tt>QWS_SIZE=240x320</tt>.
+<p> VNC clients are available for a vast array of display systems: X11,
+Windows, Amiga, DOS, VMS, and dozens of others.
+<p> The <a href="emb-qvfb.html">Qt Virtual Framebuffer</a> is an alternative
+technique. It uses shared memory and thus is much faster and smoother, but
+it does not operate over a network.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/embedporting.html b/doc/html/embedporting.html
new file mode 100644
index 0000000..72ecdd9
--- /dev/null
+++ b/doc/html/embedporting.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/embporting.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Issues to be aware of when porting Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Issues to be aware of when porting Qt/Embedded</h1>
+
+
+
+<p> Qt/Embedded is designed to be reasonably platform-independent. The
+only publically available version is a Linux implementation. The
+following dependencies will need to be addressed if you intend to port
+to another operating system (files that you need to modify are listed
+at the end of each section):
+<p> <ul>
+<p> <li> <b>System V IPC</b> (shared memory and semaphores) is used to share
+window regions between client and server. You will need to provide
+something similar unless you want a single-application setup (i.e.
+running only one program, which is the server). System V semaphores
+are also used for synchronising access to the framebuffer.
+<p> Modify <tt>qwindowsystem_qws.cpp</tt>, <tt>qwsregionmanager_qws.cpp</tt>, <tt>qapplication_qws.cpp</tt>, and <tt>qlock_qws.cpp</tt>.
+<p> <li> <b>Unix-domain sockets</b> are used to communicate things like
+keyboard events, requests to raise windows and QCOP messages between
+applications. Again, you will need to provide something similar unless
+you want a single-application setup. It should be possible to
+implement something like this using message queues or similar
+mechanisms; with the exception of QCOP messages (which are generated
+by client applications and not Qt/Embedded) individual messages should
+be no more than a few bytes in length.
+<p> Modify <tt>qwssocket_qws.cpp</tt>.
+<p> <li> <b>The Linux framebuffer device</b> is used to map in the drawing
+area. You will need to replace it (by creating a new class of <a href="qscreen.html">QScreen</a>)
+with something else giving a byte pointer to a memory-mapped
+framebuffer, plus information about width, height and bit depth (which
+most likely you can simply hard-code). If your framebuffer is not
+memory-mapped or is in an unsupported format or depth you will need to
+modify QGfxRaster as well.
+<p> Modify <tt>qgfxlinuxfb_qws.cpp</tt>.
+<p> <li> <b>The accelerated drivers</b> currently use the Linux QScreen and use
+<tt>/proc/bus/pci</tt> to map in PCI config space. However, these are only
+example drivers; you will probably need to write your own driver in
+any case, and you will need to provide your own way to map in control
+registers.
+<p> Modify <tt>qgfxmach64_qws.cpp</tt>, <tt>qgfxvoodoo_qws.cpp</tt> and <tt>qgfxmatrox_qws.cpp</tt>.
+<p> <li> <b>Sound</b> uses a Linux <tt>/dev/dsp</tt> style device. If you want to use
+the Qt/Embedded sound server you'll need to reimplement it.
+<p> Modify <tt>qsoundqss_qws.cpp</tt>.
+<p> <li> <b>select()</b> is used to implement QSocketDevices and listen for
+events to/from the Qt/Embedded server application.
+<p> Modify <tt>qapplication_qws.cpp</tt>.
+<p> </ul>
+<p> Qt/Embedded makes use of the standard C library and some Posix functions.
+Mostly the latter are concentrated in platform dependent code anyway
+(e.g. mmap() to map in the Linux framebuffer).
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/environment.html b/doc/html/environment.html
new file mode 100644
index 0000000..689dc8a
--- /dev/null
+++ b/doc/html/environment.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:721 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Environment Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Environment Classes</h1>
+
+
+<p> These classes providing various global services to your application such as
+event handling, access to system settings, <a href="i18n.html#internationalization">internationalization</a>, etc.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qclipboard.html">QClipboard</a></b><td>Access to the window system clipboard
+<tr bgcolor=#f0f0f0><td><b><a href="qdesktopwidget.html">QDesktopWidget</a></b><td>Access to screen information on multi-head systems
+<tr bgcolor=#f0f0f0><td><b><a href="qevent.html">QEvent</a></b><td>The base class of all event classes. Event objects contain event parameters
+<tr bgcolor=#f0f0f0><td><b><a href="qfontdatabase.html">QFontDatabase</a></b><td>Information about the fonts available in the underlying window system
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesourcefactory.html">QMimeSourceFactory</a></b><td>Extensible provider of mime-typed data
+<tr bgcolor=#f0f0f0><td><b><a href="qmutex.html">QMutex</a></b><td>Access serialization between threads
+<tr bgcolor=#f0f0f0><td><b><a href="qmutexlocker.html">QMutexLocker</a></b><td>Simplifies locking and unlocking QMutexes
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmapcache.html">QPixmapCache</a></b><td>Application-global cache for pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qsemaphore.html">QSemaphore</a></b><td>Robust integer semaphore
+<tr bgcolor=#f0f0f0><td><b><a href="qsessionmanager.html">QSessionManager</a></b><td>Access to the session manager
+<tr bgcolor=#f0f0f0><td><b><a href="qthread.html">QThread</a></b><td>Platform-independent threads
+<tr bgcolor=#f0f0f0><td><b><a href="qthreadstorage.html">QThreadStorage</a></b><td>Per-thread data storage
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslator.html">QTranslator</a></b><td>Internationalization support for text output
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslatormessage.html">QTranslatorMessage</a></b><td>Translator message and its properties
+<tr bgcolor=#f0f0f0><td><b><a href="qwaitcondition.html">QWaitCondition</a></b><td>Allows waiting/waking for conditions between threads
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/events.html b/doc/html/events.html
new file mode 100644
index 0000000..d2007ef
--- /dev/null
+++ b/doc/html/events.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:739 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Event Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Event Classes</h1>
+
+
+<p> These classes are used to create and handle events.
+<p> For more information see the <a href="object.html">Object model</a>
+and <a href="signalsandslots.html">Signals and Slots</a>.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qchildevent.html">QChildEvent</a></b><td>Event parameters for child object events
+<tr bgcolor=#f0f0f0><td><b><a href="qcloseevent.html">QCloseEvent</a></b><td>Parameters that describe a close event
+<tr bgcolor=#f0f0f0><td><b><a href="qcontextmenuevent.html">QContextMenuEvent</a></b><td>Parameters that describe a context menu event
+<tr bgcolor=#f0f0f0><td><b><a href="qcustomevent.html">QCustomEvent</a></b><td>Support for custom events
+<tr bgcolor=#f0f0f0><td><b><a href="qdragenterevent.html">QDragEnterEvent</a></b><td>Event which is sent to the widget when a drag and drop first drags onto the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragleaveevent.html">QDragLeaveEvent</a></b><td>Event which is sent to the widget when a drag and drop leaves the widget
+<tr bgcolor=#f0f0f0><td><b><a href="qdragmoveevent.html">QDragMoveEvent</a></b><td>Event which is sent while a drag and drop is in progress
+<tr bgcolor=#f0f0f0><td><b><a href="qdropevent.html">QDropEvent</a></b><td>Event which is sent when a drag and drop is completed
+<tr bgcolor=#f0f0f0><td><b><a href="qevent.html">QEvent</a></b><td>The base class of all event classes. Event objects contain event parameters
+<tr bgcolor=#f0f0f0><td><b><a href="qeventloop.html">QEventLoop</a></b><td>Manages the event queue
+<tr bgcolor=#f0f0f0><td><b><a href="qfocusevent.html">QFocusEvent</a></b><td>Event parameters for widget focus events
+<tr bgcolor=#f0f0f0><td><b><a href="qhideevent.html">QHideEvent</a></b><td>Event which is sent after a widget is hidden
+<tr bgcolor=#f0f0f0><td><b><a href="qicondragevent.html">QIconDragEvent</a></b><td>Signals that a main icon drag has begun
+<tr bgcolor=#f0f0f0><td><b><a href="qimevent.html">QIMEvent</a></b><td>Parameters for input method events
+<tr bgcolor=#f0f0f0><td><b><a href="qkeyevent.html">QKeyEvent</a></b><td>Describes a key event
+<tr bgcolor=#f0f0f0><td><b><a href="qmouseevent.html">QMouseEvent</a></b><td>Parameters that describe a mouse event
+<tr bgcolor=#f0f0f0><td><b><a href="qmoveevent.html">QMoveEvent</a></b><td>Event parameters for move events
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintevent.html">QPaintEvent</a></b><td>Event parameters for paint events
+<tr bgcolor=#f0f0f0><td><b><a href="qresizeevent.html">QResizeEvent</a></b><td>Event parameters for resize events
+<tr bgcolor=#f0f0f0><td><b><a href="qshowevent.html">QShowEvent</a></b><td>Event which is sent when a widget is shown
+<tr bgcolor=#f0f0f0><td><b><a href="qtabletevent.html">QTabletEvent</a></b><td>Parameters that describe a Tablet event
+<tr bgcolor=#f0f0f0><td><b><a href="qtimer.html">QTimer</a></b><td>Timer signals and single-shot timers
+<tr bgcolor=#f0f0f0><td><b><a href="qtimerevent.html">QTimerEvent</a></b><td>Parameters that describe a timer event
+<tr bgcolor=#f0f0f0><td><b><a href="qwheelevent.html">QWheelEvent</a></b><td>Parameters that describe a wheel event
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/eventsandfilters.html b/doc/html/eventsandfilters.html
new file mode 100644
index 0000000..74b4d09
--- /dev/null
+++ b/doc/html/eventsandfilters.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:433 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Events and Event Filters</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Events and Event Filters</h1>
+
+
+
+<p> In Qt, an event is an object that inherits <a href="qevent.html">QEvent</a>. Events are
+delivered to objects that inherit <a href="qobject.html">QObject</a> through calling <a href="qobject.html#event">QObject::event</a>(). Event delivery means that an event has occurred, the
+<a href="qevent.html">QEvent</a> indicates precisely what, and the <a href="qobject.html">QObject</a> needs to respond. Most
+events are specific to <a href="qwidget.html">QWidget</a> and its subclasses, but there are
+important events that aren't related to graphics, for example, socket
+activation, which is the event used by <a href="qsocketnotifier.html">QSocketNotifier</a> for its
+work.
+<p> Some events come from the window system, e.g. <a href="qmouseevent.html">QMouseEvent</a>, some
+from other sources, e.g. <a href="qtimerevent.html">QTimerEvent</a>, and some come from the
+application program. Qt is symmetric, as usual, so you can send
+events in exactly the same ways as Qt's own event loop does.
+<p> Most events types have special classes, most commonly <a href="qresizeevent.html">QResizeEvent</a>,
+<a href="qpaintevent.html">QPaintEvent</a>, <a href="qmouseevent.html">QMouseEvent</a>, <a href="qkeyevent.html">QKeyEvent</a> and <a href="qcloseevent.html">QCloseEvent</a>.
+There are many others, perhaps forty or so, but most are rather odd.
+<p> Each class subclasses <a href="qevent.html">QEvent</a> and adds event-specific functions; see,
+for example, <a href="qresizeevent.html">QResizeEvent</a>. In the case of <a href="qresizeevent.html">QResizeEvent</a>, <a href="qresizeevent.html#size">QResizeEvent::size</a>() and <a href="qresizeevent.html#oldSize">QResizeEvent::oldSize</a>() are added.
+<p> Some classes support more than one event type. <a href="qmouseevent.html">QMouseEvent</a>
+supports mouse moves, presses, shift-presses, drags, clicks,
+right-presses, etc.
+<p> Since programs need to react in varied and complex ways, Qt's
+event delivery mechanisms are flexible. The documentation for
+<a href="qapplication.html#notify">QApplication::notify</a>() concisely tells the whole story, here we
+will explain enough for 99% of applications.
+<p> The normal way for an event to be delivered is by calling a virtual
+function. For example, <a href="qpaintevent.html">QPaintEvent</a> is delivered by calling <a href="qwidget.html#paintEvent">QWidget::paintEvent</a>(). This virtual function is responsible for
+reacting appropriately, normally by repainting the widget. If you
+do not perform all the necessary work in your implementation of the
+virtual function, you may need to call the base class's
+implementation; for example:
+<pre>
+ MyTable::contentsMouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *me )
+ {
+ // my implementation
+
+ QTable::<a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>( me ); // hand it on
+ }
+</pre>
+
+If you want to replace the base class's function then you must
+implement everything yourself; but if you only want to extend the base
+class's functionality, then you implement what you want and then call
+the base class.
+<p> Occasionally there isn't such an event-specific function, or the
+event-specific function isn't sufficient. The most common example is
+tab key presses. Normally, those are interpreted by <a href="qwidget.html">QWidget</a> to move
+the <a href="focus.html#keyboard-focus">keyboard focus</a>, but a few widgets need the tab key for themselves.
+<p> These objects can reimplement <a href="qobject.html#event">QObject::event</a>(), the general event
+handler, and either do their event handling before or after the usual
+handling, or replace it completely. A very unusual widget that both
+interprets tab and has an application-specific custom event might
+contain:
+<p> <pre>
+ bool MyClass:event( <a href="qevent.html">QEvent</a> *evt ) {
+ if ( evt-&gt;<a href="qevent.html#type">type</a>() == QEvent::KeyPress ) {
+ <a href="qkeyevent.html">QKeyEvent</a> *ke = (QKeyEvent *)evt;
+ if ( ke-&gt;<a href="qkeyevent.html#key">key</a>() == Key_Tab ) {
+ // special tab handling here
+ ke-&gt;<a href="qkeyevent.html#accept">accept</a>();
+ return TRUE;
+ }
+ } else if ( evt-&gt;<a href="qevent.html#type">type</a>() &gt;= QEvent::User ) {
+ <a href="qcustomevent.html">QCustomEvent</a> *ce = (QCustomEvent*) evt;
+ // custom event handling here
+ return TRUE;
+ }
+ return QWidget::event( evt );
+ }
+</pre>
+
+<p> More commonly, an object needs to look at another's events. Qt
+supports this using <a href="qobject.html#installEventFilter">QObject::installEventFilter</a>() (and the
+corresponding remove). For example, dialogs commonly want to filter
+key presses for some widgets, e.g. to modify Return-key handling.
+<p> An event filter gets to process events before the target object does.
+The filter's <a href="qobject.html#eventFilter">QObject::eventFilter</a>() implementation is called, and
+can accept or reject the filter, and allow or deny further processing
+of the event. If all the event filters allow further processing of an
+event, the event is sent to the target object itself. If one of them
+stops processing, the target and any later event filters don't get to
+see the event at all.
+<p> It's also possible to filter <em>all</em> events for the entire application,
+by installing an event filter on <a href="qapplication.html">QApplication</a>. This is what <a href="qtooltip.html">QToolTip</a> does in order to see <em>all</em> the mouse and keyboard activity.
+This is very powerful, but it also slows down event delivery of every
+single event in the entire application, so it's best avoided.
+<p> The global event filters are called before the object-specific
+filters.
+<p> Finally, many applications want to create and send their own events.
+<p> Creating an event of a built-in type is very simple: create an object
+of the relevant type, and then call <a href="qapplication.html#sendEvent">QApplication::sendEvent</a>() or <a href="qapplication.html#postEvent">QApplication::postEvent</a>().
+<p> sendEvent() processes the event immediately - when sendEvent()
+returns, (the event filters and) the object have already processed the
+event. For many event classes there is a function called isAccepted()
+that tells you whether the event was accepted or rejected by the last
+handler that was called.
+<p> postEvent() posts the event on a queue for later dispatch. The next
+time Qt's main event loop runs, it dispatches all posted events, with
+some optimization. For example, if there are several resize events,
+they are are compacted into one. The same applies to paint events: <a href="qwidget.html#update">QWidget::update</a>() calls postEvent(), which minimizes flickering and
+increases speed by avoiding multiple repaints.
+<p> postEvent() is also often used during object initialization, since the
+posted event will typically be dispatched very soon after the
+initialization of the object is complete.
+<p> To create events of a custom type, you need to define an event number,
+which must be greater than <a href="qevent.html#Type-enum">QEvent::User</a>, and probably you also need
+to subclass <a href="qcustomevent.html">QCustomEvent</a> in order to pass characteristics about
+your custom event. See the documentation to <a href="qcustomevent.html">QCustomEvent</a> for
+details.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/examples.html b/doc/html/examples.html
new file mode 100644
index 0000000..4aed454
--- /dev/null
+++ b/doc/html/examples.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:341 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Examples</h1>
+
+
+<p> Qt ships with lots of small and some medium-sized example programs
+that teach you how to implement various tasks with Qt. Most of them will show how to
+use a certain class or module, others aim at programming techniques
+and Qt basics, and some of them simply want to show you what's possible.
+<p> Note that most of the examples assume that you have some experience with C++
+and Qt and therefore are not commented extensively. If you are interested
+in a line-by-line coverage please refer to the tutorials
+<a href="tutorial.html">Tutorial #1</a>, and
+<a href="tutorial2.html">Tutorial #2</a>, and also the
+<a href="step-by-step-examples.html">step-by-step examples</a>.
+<p> <h2> Qt Base Classes: Assorted Examples
+</h2>
+<a name="1"></a><p> <ul>
+<li> <a href="qaction-examples.html">QAction and QActionGroup</a>
+<li> <a href="qfont-examples.html">QFont, QFontMetrics, QFontInfo and QFontDatabase</a>
+<li> <a href="qprocess-examples.html">QProcess</a>
+</ul>
+<p> <h2> Qt Modules: Assorted Examples
+</h2>
+<a name="2"></a><p> <ul>
+<li> <a href="xml-examples.html">XML examples</a>
+<li> <a href="network-examples.html">Network examples</a>
+<li> <a href="opengl-examples.html">OpenGL examples</a>
+<li> <a href="table-examples.html">Table examples</a>
+<li> <a href="sql-examples.html">SQL examples</a>
+</ul>
+<p> <h2> Qt Extensions: Assorted Examples
+</h2>
+<a name="3"></a><p> <ul>
+<li> <a href="activeqt-examples.html">ActiveX support extension</a>
+<li> <a href="motif-examples.html">QMotif support extension</a>
+
+<li> <a href="nsplugin-examples.html">Qt-based plugins for web browsers</a>
+</ul>
+<p> <h2> Miscellaneous Examples
+</h2>
+<a name="4"></a><p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="aclock-example.html">Analog Clock</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="addressbook-example.html">Simple Addressbook</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="biff-example.html">Biff (UNIX only)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="buttongroups-example.html">Buttons and Groupboxes</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="canvas-example.html">Canvas Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="checklists-example.html">Listviews with Checkable Items</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="cursor-example.html">Cursors</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="customlayout-example.html">Customized Layoutmanager</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="dclock-example.html">Digital Clock</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="demo-example.html">Qt Demo</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="desktop-example.html">Painting on the Desktop</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="dirview-example.html">A Directory Browser</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="distributor-example.html">Qt Distribution Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="dragdrop-example.html">Drag and Drop</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="drawdemo-example.html">Draw Demo</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="drawlines-example.html">Connect the Points</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="fileiconview-example.html">Simple Filemanager</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="forever-example.html">A Rectangle Draw "Benchmark"</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="hello-example.html">Hello, World</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="helpsystem-example.html">Helpsystem</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="helpviewer-example.html">Simple HTML Help Browser</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="i18n-example.html">Internationalization</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="iconview-example.html">Iconview</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="layout-example.html">Layout Managers</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="life-example.html">Conway's Game of Life</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="lineedits-example.html">Line Edits</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="listbox-example.html">Listbox Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="listboxcombo-example.html">Listboxes and Comboboxes</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="listviews-example.html">Listviews</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="mdi-example.html">An MDI Application</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="menu-example.html">Using menus</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="movies-example.html">Movies or the Story of the Animated GIF file</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="picture-example.html">Picture</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="popup-example.html">Popup Widgets</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="progress-example.html">Progress Bar and Dialog Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="progressbar-example.html">Progress Bar</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qdir-example.html">QDir</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qfd-example.html">Font Displayer</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qmag-example.html">QMag</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qtl-qvaluelist-example.html">A Tiny QTL Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qwerty-example.html">Simple editor that can load encodings</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="rangecontrols-example.html">Range controls</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="regexptester-example.html">A Small Application for Testing Regular Expressions</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="richtext-example.html">Richtext</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="rot-example.html">Rot13</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="scribble-example.html">Simple Painting Application</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="scrollview-example.html">Scrollview</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="showimg-example.html">Show Image</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="simple-application-example.html">A Complete Application Window</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="simple_dd-example.html">Drag and Drop (Simple)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="sound-example.html">Sound Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="splitter-example.html">Splitter</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tabdialog-example.html">Tabdialog</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tablet-example.html">Tablet Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tetrix-example.html">Tetrix</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="textedit-example.html">Text Edit Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="themes-example.html">Themes (Styles)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tictac-example.html">Tic Tac Toe</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tooltip-example.html">Advanced use of tool tips</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="toplevel-example.html">Toplevel Widgets</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="widgets-example.html">Widgets Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="wizard-example.html">Wizard</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="xform-example.html">Transformed Graphics Demo</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/extension-dialog-example.html b/doc/html/extension-dialog-example.html
new file mode 100644
index 0000000..e367b8c
--- /dev/null
+++ b/doc/html/extension-dialog-example.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/extension/extension.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>An Extension Dialog Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>An Extension Dialog Example</h1>
+
+
+
+<p>
+<p> This example demonstrates how to create an extension dialog.
+<p> Essentially all that is necessary is to create a standard dialog
+and then create a <a href="qwidget.html">QWidget</a> form to be used as the extension. See
+the article in <a href="http://doc.trolltech.com/qq/">Qt
+ Quarterly</a> issue #3.
+<p> <hr>
+<p> Project file:
+<p> <pre>TEMPLATE = app
+LANGUAGE = C++
+
+CONFIG += qt warn_on release
+
+REQUIRES = full-config nocrosscompiler
+
+SOURCES += main.cpp
+FORMS = mainform.ui \
+ dialogform.ui \
+ extension.ui
+DBFILE = extension.db
+</pre>
+
+<p> <hr>
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
+#include "dialogform.h"
+#include "extension.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+
+void MainForm::init()
+{
+ sessions = FALSE;
+ logging = FALSE;
+ log_filename = <a href="qstring.html#QString-null">QString::null</a>;
+ log_errors = TRUE;
+ log_actions = TRUE;
+}
+
+void MainForm::optionsDlg()
+{
+ DialogForm *dlg = new DialogForm( this, "dialog", TRUE );
+ Extension *ext = (Extension*)dlg-&gt;extension()-&gt;qt_cast( "Extension" );
+ if ( !ext )
+ return;
+ dlg-&gt;sessionsCheckBox-&gt;setChecked( sessions );
+ dlg-&gt;loggingCheckBox-&gt;setChecked( logging );
+ ext-&gt;logfileLineEdit-&gt;setText( log_filename );
+ ext-&gt;logErrorsCheckBox-&gt;setChecked( log_errors );
+
+ if ( dlg-&gt;exec() ) {
+ sessions = dlg-&gt;sessionsCheckBox-&gt;isChecked();
+ logging = dlg-&gt;loggingCheckBox-&gt;isChecked();
+ log_filename = ext-&gt;logfileLineEdit-&gt;text();
+ log_errors = ext-&gt;logErrorsCheckBox-&gt;isChecked();
+ }
+}
+
+
+void MainForm::quit()
+{
+<a name="x2865"></a> QApplication::<a href="qapplication.html#exit">exit</a>( 0 );
+}
+</pre>
+
+<pre>/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
+
+void DialogForm::init()
+{
+ extensionShown = FALSE;
+ setExtension( new Extension( this ) );
+ setOrientation( Vertical );
+}
+
+
+void DialogForm::toggleDetails()
+{
+ extensionShown = !extensionShown;
+ showExtension( extensionShown );
+ <a href="qstring.html">QString</a> text = tr( "&amp;Details " );
+ text += QString( extensionShown ? "&lt;&lt;&lt;" : "&gt;&gt;&gt;" );
+ detailsPushButton-&gt;setText( text );
+}
+</pre>
+
+<pre>/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "mainform.h"
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ MainForm *w = new MainForm;
+ w-&gt;show();
+<a name="x2868"></a><a name="x2867"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL( <a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>() ), w, SLOT( quit() ) );
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="step-by-step-examples.html">Step-by-step Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/faq.html b/doc/html/faq.html
new file mode 100644
index 0000000..ff21fba
--- /dev/null
+++ b/doc/html/faq.html
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/faq.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Qt FAQ</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The Qt FAQ</h1>
+
+
+<p>
+<p> See also the <a href="commonproblems.html">Technical FAQ</a>.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> General Questions
+</a>
+<ul>
+<li><a href="#1-1"> What is Qt?
+</a>
+<li><a href="#1-2"> What is Trolltech?
+</a>
+<li><a href="#1-3"> How can I evaluate Qt?
+</a>
+<li><a href="#1-4"> What does Qt cost?
+</a>
+<li><a href="#1-5"> How can I buy Qt?
+</a>
+<li><a href="#1-6"> What kind of technical support is available for Qt?
+</a>
+<li><a href="#1-7"> Who provides training for Qt?
+</a>
+<li><a href="#1-8"> Who provides consultancy for Qt?
+</a>
+<li><a href="#1-9"> Are there any books about Qt programming?
+</a>
+<li><a href="#1-10"> What is the Open Source Edition?
+</a>
+<li><a href="#1-11"> What is the idea behind having a free version of Qt?
+</a>
+<li><a href="#1-12"> Is there a low-cost version of Qt for writing shareware?
+</a>
+</ul>
+<li><a href="#2"> Questions about Qt's Users
+</a>
+<ul>
+<li><a href="#2-1"> How many developers use Qt?
+</a>
+<li><a href="#2-2"> Which major corporations use Qt?
+</a>
+<li><a href="#2-3"> Are there any well-known applications that use Qt?
+</a>
+</ul>
+<li><a href="#3"> Questions about Developing Applications with Qt
+</a>
+<ul>
+<li><a href="#3-1"> Is there a mailing list for Qt?
+</a>
+<li><a href="#3-2"> Is Qt's documentation available online?
+</a>
+<li><a href="#3-3"> Is there a technical newsletter for Qt?
+</a>
+<li><a href="#3-4"> I think I have found a bug in Qt. Where can I report it?
+</a>
+</ul>
+<li><a href="#4"> Questions about Professional Licensing
+</a>
+<ul>
+<li><a href="#4-1"> We have purchased a license, but the developer is leaving the company
+project. Can we transfer the license to another developer?
+</a>
+<li><a href="#4-2"> Can I purchase floating licenses for Qt?
+</a>
+<li><a href="#4-3"> Can we use the Open Source Edition while developing our non-free
+application and then purchase commercial licenses when we start to
+sell it?
+</a>
+</ul>
+<li><a href="#5"> Questions about Open Source Software Licensing
+</a>
+<ul>
+<li><a href="#5-1"> I just want to run KDE and other Qt-based software on my
+machine. Can I do that with the Open Source Edition?
+</a>
+<li><a href="#5-2"> I want to put Qt, and applications that use it, on a CD-ROM or on
+a web site. Can I do that with the Open Source Edition?
+</a>
+<li><a href="#5-3"> Can I make software with the Qt Open Source Edition and release it under
+the GNU GPL, BSD, or Artistic license?
+</a>
+<li><a href="#5-4"> I don't want to give away my source code. What do I do?
+</a>
+<li><a href="#5-5"> Is software based on the Qt Open Source Edition really free? Does it
+carry any Trolltech-specific license restrictions?
+</a>
+<li><a href="#5-6"> What if Trolltech stops releasing Open Source Editions of Qt?
+</a>
+<li><a href="#5-7"> Using the Open Source Edition, can I make non-free software for internal
+use in my company/organization?
+</a>
+<li><a href="#5-8"> Is Qt Open Source Edition really free software in the GNU meaning of the
+word?
+</a>
+<li><a href="#5-9"> If the Open Source Edition is GNU GPL, aren't there license conflicts
+with incompatible open source licenses? How come people can even
+run commercial software like the Opera web browser with it?
+</a>
+<li><a href="#5-10"> Doesn't such an en extra license in addition to the GNU GPL
+violate the terms of the GPL or at least make the whole package
+GPL-incompatible?
+</a>
+<li><a href="#5-11"> Why is Qt Open Source Edition not distributed under the GNU Lesser
+General Public License (LGPL)?
+</a>
+</ul>
+<li><a href="#6"> Questions about other programming languages
+</a>
+<ul>
+<li><a href="#6-1"> Are there bindings to languages other than C++?
+</a>
+<li><a href="#6-2"> Can I develop commercial applications with PerlQt or PyQt or other
+Qt wrappers?
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <hr>
+<h2> General Questions
+</h2>
+<a name="1"></a><p> <hr width="30%">
+<h3> What is Qt?
+</h3>
+<a name="1-1"></a><p> Qt is a multiplatform C++ GUI toolkit. It
+provides application developers with all the functionality
+needed to build applications with state-of-the-art graphical
+user interfaces. Qt is fully object-oriented, easily
+extensible, and allows true component programming.
+<p> Qt is supported on the following platforms:
+<p> <ul>
+<li> <b>MS/Windows</b> -- 95, 98, NT 4.0, ME, 2000, and XP
+<li> <b>Unix/X11</b> -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,
+IBM AIX, SGI IRIX and a wide range of others
+<li> <b>Macintosh</b> -- Mac OS X
+<li> <b>Embedded</b> -- Linux platforms with framebuffer support.
+</ul>
+<p> It has become the emerging standard development
+environment for IT professionals who want to:
+<p> <ul>
+<li> Write (and maintain) a single source-tree.
+<li> Port their applications to multiple platforms with a simple
+recompilation.
+<li> Internationalize their applications.
+<li> Provide their applications with native look and feel.
+<li> Have their applications run at native speed.
+</ul>
+<p> <hr width="30%">
+<h3> What is Trolltech?
+</h3>
+<a name="1-2"></a><p> Trolltech is an international software company with
+headquarters in Oslo, the capital of Norway, and with offices
+in Brisbane, Australia, and Redwood City, California. Our
+flagship product is Qt, the multi-platform C++ GUI toolkit.
+<p> Trolltech ASA was founded in 1994, although, the core team of designers
+started Qt's development in 1992.
+<p> More details can be found at <a href="troll.html">Trolltech</a>.
+<p> <hr width="30%">
+<h3> How can I evaluate Qt?
+</h3>
+<a name="1-3"></a><p> We offer 30 day evaluation versions of Qt on all our supported platforms.
+Further details can be found here: <a href="http://www.trolltech.com/evaluate.html">http://www.trolltech.com/evaluate.html</a>.
+<p> <hr width="30%">
+<h3> What does Qt cost?
+</h3>
+<a name="1-4"></a><p> This depends on your number of developers, on how many
+different platforms you target, and on the edition of Qt you
+choose. Currently we offer two different editions (Enterprise
+Edition and Professional Edition) on four different
+platforms (Microsoft Window, Unix/X11, Macintosh and Linux/embedded).
+<p> We also offer discounts for academic and research institutions.
+<p> Details on pricing can be found here:
+<a href="http://www.trolltech.com/pricing.html">http://www.trolltech.com/pricing.html</a>.
+<p> <hr width="30%">
+<h3> How can I buy Qt?
+</h3>
+<a name="1-5"></a><p> To purchase, please visit the <a
+href="https://webshop.trolltech.com/cgi-bin/index.cgi">Trolltech
+webshop</a>. In the webshop, you can generate a Purchase Order, order
+a Quote, or purchase directly using a credit card.
+<p> For further information and assistance, please contact Trolltech sales:
+<p> Email: <a href="mailto:sales@trolltech.com">sales@trolltech.com</a>
+Phone, US office (for North America): <strong>(+1)&nbsp;650-813-1676</strong>
+Phone, Norway office (for others): <strong>+47&nbsp;2160&nbsp;4800</strong>
+<p> <hr width="30%">
+<h3> What kind of technical support is available for Qt?
+</h3>
+<a name="1-6"></a><p> Trolltech offers email support to commercial licensees. The first year
+of Trolltech's Support and Maintenance Service is included with the
+purchase of Qt Professional and Qt Enterprise Edition licenses.
+Licenses can be kept up-to-date and fully supported by buying
+the Support and Maintenance Service for the licenses held in each
+subsequent year.
+<p> For further information see here:
+<a href="http://www.trolltech.com/support/">http://www.trolltech.com/support/</a>.
+<p> <hr width="30%">
+<h3> Who provides training for Qt?
+</h3>
+<a name="1-7"></a><p> A number of companies provide Qt training, in Asia, Europe and the US.
+Trolltech has agreements with a number of official training
+partners, who offer Trolltech approved courses. In addition
+there are a number of independently developed courses run by third
+parties. You can find more information about the partners and the
+courses here: <a href="http://www.trolltech.com/training/">http://www.trolltech.com/training/</a>.
+<p> <hr width="30%">
+<h3> Who provides consultancy for Qt?
+</h3>
+<a name="1-8"></a><p> A number of companies provide consultancy services for Qt and
+Qtopia. You can find a partial list here:
+<a href="http://www.trolltech.com/company/servicepartners.html">http://www.trolltech.com/company/servicepartners.html</a>.
+<p> <hr width="30%">
+<h3> Are there any books about Qt programming?
+</h3>
+<a name="1-9"></a><p> Yes, there are quite a few books on Qt, most of them
+available from amazon.com. You can find a partial list at
+<a href="http://www.trolltech.com/developer/books.html">http://www.trolltech.com/developer/books.html</a>.
+<p> The official Qt book is
+<a href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">C++ GUI Programming with Qt 3</a>.
+<p> <hr width="30%">
+<h3> What is the Open Source Edition?
+</h3>
+<a name="1-10"></a><p> The Qt Open Source Edition is our non-commercial versions of
+Qt. You can use this edition to create and run free
+software, i.e. software that is licensed under the GNU GPL or
+a similarly recognized open source license.
+<p> Qt Open Source edition is available for Unix/X11, Macintosh and
+Linux/embedded.
+<p> <hr width="30%">
+<h3> What is the idea behind having a free version of Qt?
+</h3>
+<a name="1-11"></a><p> With the Open Source Edition, Trolltech has found a way to support
+the free software concept. Part of our commitment is to enable
+those who contribute to the free software pool to do so
+without paying license fees.
+<p> <hr width="30%">
+<h3> Is there a low-cost version of Qt for writing shareware?
+</h3>
+<a name="1-12"></a><p> No, but Qt's commercial licenses permit you to write and sell
+shareware written with Qt.
+<p> <hr>
+<h2> Questions about Qt's Users
+</h2>
+<a name="2"></a><p> <hr width="30%">
+<h3> How many developers use Qt?
+</h3>
+<a name="2-1"></a><p> We don't know! We can count our many thousands of commercial
+licensees, but the number of free software developers
+using Qt can only be guessed based on download figures, book
+sales, the number of open source Qt applications available on
+the web, Universities teaching with Qt, and other factors. A
+conservative estimate would put the figure at around 100,000 to
+150,000 developers world-wide.
+<p> <hr width="30%">
+<h3> Which major corporations use Qt?
+</h3>
+<a name="2-2"></a><p> See our list of reference customers at
+<a href="http://www.trolltech.com/company/customers.html">http://www.trolltech.com/company/customers.html</a>. Note that many
+commercial customers do not disclose their use of Qt because they see
+Qt as a competitive advantage.
+<p> <hr width="30%">
+<h3> Are there any well-known applications that use Qt?
+</h3>
+<a name="2-3"></a><p> There are many, e.g. Adobe Photoshop Album from Abobe
+Corporation and the KDE desktop. A partial list can be found at
+<a href="http://www.trolltech.com/products/qt/apps-using-qt.html">http://www.trolltech.com/products/qt/apps-using-qt.html</a>
+<p> <hr>
+<h2> Questions about Developing Applications with Qt
+</h2>
+<a name="3"></a><p> <hr width="30%">
+<h3> Is there a mailing list for Qt?
+</h3>
+<a name="3-1"></a><p> Trolltech operates several mailing lists for Qt users including
+<tt>qt-announce</tt>, <tt>qt-interest</tt> and <tt>snapshot-users</tt>.
+<p> See <a href="http://lists.trolltech.com">Mailing lists</a>.
+<p> <hr width="30%">
+<h3> Is Qt's documentation available online?
+</h3>
+<a name="3-2"></a><p> Yes, at <a href="http://doc.trolltech.com">http://doc.trolltech.com</a>.
+<p> <hr width="30%">
+<h3> Is there a technical newsletter for Qt?
+</h3>
+<a name="3-3"></a><p> Yes, <a href="http://doc.trolltech.com/qq/index.html">Qt
+Quarterly</a>. It is a paper-based newsletter exclusively
+available to Qt licensees.
+<p> As a courtesy and convenience to all our users, a selection of
+articles is also published online about one month after publication.
+<p> <hr width="30%">
+<h3> I think I have found a bug in Qt. Where can I report it?
+</h3>
+<a name="3-4"></a><p> Bugs should be reported to <a href="mailto:qt-bugs@trolltech.com">qt-bugs@trolltech.com</a>. But <em>please</em> read (the very short)
+<a href="bughowto.html">How to Report a Bug</a> page <em>first</em>.
+<p> <hr>
+<h2> Questions about Professional Licensing
+</h2>
+<a name="4"></a><p> <hr width="30%">
+<h3> We have purchased a license, but the developer is leaving the company
+project. Can we transfer the license to another developer?
+</h3>
+<a name="4-1"></a><p> Yes. Qt licences are for the individual use of named developers. If
+the developer associated with a licence leaves the organization, or
+moves on to another project that does not require a Qt license,
+another developer can take over the licence. You can change the name
+of the developer using a licence at any time, but after a change you
+must wait at least six (6) months before changing again.
+<p> <hr width="30%">
+<h3> Can I purchase floating licenses for Qt?
+</h3>
+<a name="4-2"></a><p> No, we do not offer floating licenses.
+<p> The reason is this: Floating licenses are based on the concept
+of defining a maximum number of concurrent users. For example,
+for a word processor, this means the maximum number of
+instances of that application that can be running at any
+time. However, for a library product like Qt, there is no main
+application that is always running when the product is being
+used. Hence, it is not possible to count the number of
+concurrent users, and therefore floating licenses do not
+make sense.
+<p>
+<p> <hr width="30%">
+<h3> Can we use the Open Source Edition while developing our non-free
+application and then purchase commercial licenses when we start to
+sell it?
+</h3>
+<a name="4-3"></a><p> No: our commercial license agreements only apply to software
+that was developed with Qt under the agreement. They do not
+apply to code that was developed with the Qt Open Source Edition
+prior to the agreement. Any software developed with Qt
+without a commercial license agreement must be released as
+free/open source software.
+<p> <hr>
+<h2> Questions about Open Source Software Licensing
+</h2>
+<a name="5"></a><p> <hr width="30%">
+<h3> I just want to run KDE and other Qt-based software on my
+machine. Can I do that with the Open Source Edition?
+</h3>
+<a name="5-1"></a><p> Yes. You may use the Qt Open Source Edition for running applications,
+both at home and at work, without restrictions.
+<p> <hr width="30%">
+<h3> I want to put Qt, and applications that use it, on a CD-ROM or on
+a web site. Can I do that with the Open Source Edition?
+</h3>
+<a name="5-2"></a><p> Yes. You may copy and redistribute the Qt Open Source Edition, both
+at home and at work, without restrictions.
+<p> <hr width="30%">
+<h3> Can I make software with the Qt Open Source Edition and release it under
+the GNU GPL, BSD, or Artistic license?
+</h3>
+<a name="5-3"></a><p> Yes. The GNU GPL, GPL-compatible licenses, or any other
+approved open source license will do. The FSF.org and
+OpenSource.org web sites list approved software licenses.
+<p> <hr width="30%">
+<h3> I don't want to give away my source code. What do I do?
+</h3>
+<a name="5-4"></a><p> You need to buy a commercial Qt license.
+<p> <hr width="30%">
+<h3> Is software based on the Qt Open Source Edition really free? Does it
+carry any Trolltech-specific license restrictions?
+</h3>
+<a name="5-5"></a><p> Yes, it really is free. This is because the Qt Open Source Edition
+uses the GNU GPL, which forbids the imposition of any license
+restrictions on software based on the Open Source Edition that would
+make it non-free. And no, there are no Trolltech-specific
+license restrictions on software produced using the Open Source
+Edition.
+<p> <hr width="30%">
+<h3> What if Trolltech stops releasing Open Source Editions of Qt?
+</h3>
+<a name="5-6"></a><p> We have absolutely no intention of doing that. Together with
+the K Desktop Environment project, we have set up the KDE Free
+Qt Foundation (see
+<a href="http://www.kde.org/whatiskde/kdefreeqtfoundation.php">http://www.kde.org/whatiskde/kdefreeqtfoundation.php</a>) to
+legally guarantee the availability of Qt for free software
+development now and forever - even if circumstances beyound
+our control prevent us from producing new free editions.
+<p> <hr width="30%">
+<h3> Using the Open Source Edition, can I make non-free software for internal
+use in my company/organization?
+</h3>
+<a name="5-7"></a><p> No. Software developed with the Open Source Edition is always free
+software, i.e. it can only be distributed under a free
+software license. In particular, all the source code for all
+the modules your software is based on, regardless of whether
+they have been written by you or by others, must be free
+software. This is part of our commitment to the free software
+community, and enables those who contribute to the free
+software pool to do so without paying license fees.
+<p> Although it is possible to write free software for internal
+use, it is difficult to ensure that such software is used and
+distributed legally. For example, if your free software
+requires any modules that impose conditions on you that
+contradict the conditions of the GNU GPL, including, but not
+limited to, software patents, commercial license agreements,
+copyrighted interface definitions or any sort of
+non-disclosure agreement, then you cannot distribute it at
+all; hence it cannot be given to consultants, employees for
+their personal computers, subsidiaries, other divisions, or
+even to new owners.
+<p> Consequently we recommend using commercial licenses for all
+internal software development.
+<p> <hr width="30%">
+<h3> Is Qt Open Source Edition really free software in the GNU meaning of the
+word?
+</h3>
+<a name="5-8"></a><p> Yes - it is free software both as in "no cost" and as in
+"free speech". Even more, it is actually available under the
+terms of the GNU GPL. This means you can link GPL'ed software
+to it, and you can take code from Qt and put it into other
+GPL'ed software.
+<p> <hr width="30%">
+<h3> If the Open Source Edition is GNU GPL, aren't there license conflicts
+with incompatible open source licenses? How come people can even
+run commercial software like the Opera web browser with it?
+</h3>
+<a name="5-9"></a><p> If the Open Source Edition was licensed purely under the GNU GPL,
+there would be problems. However, as long as Qt-based
+software is either open source or was developed under a
+commercial license agreement with Trolltech, we grant
+permission to compile, link and run those programs with the
+Open Source Edition. This is written down in our second free software
+license, the QPL.
+<p> <hr width="30%">
+<h3> Doesn't such an en extra license in addition to the GNU GPL
+violate the terms of the GPL or at least make the whole package
+GPL-incompatible?
+</h3>
+<a name="5-10"></a><p> No, because those extra license terms give you rights in
+addition to those of the GNU GPL, including the right to
+remove those extra terms.
+<p> <hr width="30%">
+<h3> Why is Qt Open Source Edition not distributed under the GNU Lesser
+General Public License (LGPL)?
+</h3>
+<a name="5-11"></a><p> The LGPL is designed to "permit developers of non-free
+programs to use free libraries" (quote from the LGPL). In
+other words, if Qt Open Source Edition were LGPL'd, companies would
+not have to purchase our commercial editions in order to make
+commercial/proprietary software, they could just use the Open Source
+Edition, free of charge. That would mean Trolltech would not
+get the revenue necessary for improving and extending Qt.
+<p> Note also that the Free Software Foundation discourages the
+use of the LGPL.
+<p> <hr>
+<h2> Questions about other programming languages
+</h2>
+<a name="6"></a><p> <hr width="30%">
+<h3> Are there bindings to languages other than C++?
+</h3>
+<a name="6-1"></a><p> Yes there are, e.g. bindings to Perl (PerlQt) and Python
+(PyQt). These bindings were written by the open source
+community and are not supported by Trolltech.
+<p> <hr width="30%">
+<h3> Can I develop commercial applications with PerlQt or PyQt or other
+Qt wrappers?
+</h3>
+<a name="6-2"></a><p> Yes, if you have purchased a commercial license. The licensing
+conditions are the same whether you use the Qt API directly in
+C++, or you use it through some API wrapper in another
+programming language. All developers that write code
+containing calls to the Qt API (directly or through a wrapper)
+need Qt licenses.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/filechooser.png b/doc/html/filechooser.png
new file mode 100644
index 0000000..6aa9f18
--- /dev/null
+++ b/doc/html/filechooser.png
Binary files differ
diff --git a/doc/html/fileiconview-example.html b/doc/html/fileiconview-example.html
new file mode 100644
index 0000000..d22b8fa
--- /dev/null
+++ b/doc/html/fileiconview-example.html
@@ -0,0 +1,1394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/fileiconview/fileiconview.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Simple Filemanager</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple Filemanager</h1>
+
+
+<p>
+This example implements a simple and not fully functional file manager using
+a widget derived from <a href="qiconview.html">QIconView</a> to display the current directory.
+To display the directory tree the
+widget written in the <a href="dirview-example.html">dirview</a> example is
+used.
+<p> <hr>
+<p> Header file of the file icon view:
+<p> <pre>/****************************************************************************
+** $Id: qt/qfileiconview.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef QTFILEICONVIEW_H
+#define QTFILEICONVIEW_H
+
+
+#include &lt;<a href="qiconset-h.html">qiconset.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;
+
+class QtFileIconView;
+class QDragObject;
+class QResizeEvent;
+
+/*****************************************************************************
+ *
+ * Class QtFileIconDrag
+ *
+ *****************************************************************************/
+
+class QtFileIconDrag : public <a href="qicondrag.html">QIconDrag</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ QtFileIconDrag( <a href="qwidget.html">QWidget</a> * dragSource, const char* name = 0 );
+
+ const char* format( int i ) const;
+ <a href="qbytearray.html">QByteArray</a> encodedData( const char* mime ) const;
+ static bool canDecode( <a href="qmimesource.html">QMimeSource</a>* e );
+ void append( const <a href="qicondragitem.html">QIconDragItem</a> &amp;item, const <a href="qrect.html">QRect</a> &amp;pr, const <a href="qrect.html">QRect</a> &amp;tr, const <a href="qstring.html">QString</a> &amp;url );
+
+private:
+ <a href="qstringlist.html">QStringList</a> urls;
+
+};
+
+/*****************************************************************************
+ *
+ * Class QtFileIconView
+ *
+ *****************************************************************************/
+class QtFileIconViewItem;
+class QtFileIconView : public <a href="qiconview.html">QIconView</a>
+{
+ Q_OBJECT
+
+public:
+ QtFileIconView( const <a href="qstring.html">QString</a> &amp;dir, QWidget *parent = 0, const char *name = 0 );
+
+ enum ViewMode { Large, Small };
+
+ void setViewMode( ViewMode m );
+ ViewMode viewMode() const { return vm; }
+ void setOpenItem( QtFileIconViewItem *i ) {
+ openItem = i;
+ }
+
+public slots:
+ void setDirectory( const <a href="qstring.html">QString</a> &amp;dir );
+ void setDirectory( const <a href="qdir.html">QDir</a> &amp;dir );
+ void newDirectory();
+ <a href="qdir.html">QDir</a> currentDir();
+
+signals:
+ void directoryChanged( const <a href="qstring.html">QString</a> &amp; );
+ void startReadDir( int dirs );
+ void readNextDir();
+ void readDirDone();
+ void enableUp();
+ void disableUp();
+ void enableMkdir();
+ void disableMkdir();
+
+protected slots:
+ void itemDoubleClicked( <a href="qiconviewitem.html">QIconViewItem</a> *i );
+ void slotDropped( <a href="qdropevent.html">QDropEvent</a> *e, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; );
+
+ void viewLarge();
+ void viewSmall();
+ void viewBottom();
+ void viewRight();
+ void flowEast();
+ void flowSouth();
+ void itemTextTruncate();
+ void itemTextWordWrap();
+ void sortAscending();
+ void sortDescending();
+ void arrangeItemsInGrid() {
+<a name="x807"></a> QIconView::<a href="qiconview.html#arrangeItemsInGrid">arrangeItemsInGrid</a>( TRUE );
+ }
+
+ void slotRightPressed( <a href="qiconviewitem.html">QIconViewItem</a> *item );
+ void openFolder();
+
+protected:
+ void readDir( const <a href="qdir.html">QDir</a> &amp;dir );
+ virtual QDragObject *dragObject();
+
+ virtual void keyPressEvent( <a href="qkeyevent.html">QKeyEvent</a> *e );
+
+ <a href="qdir.html">QDir</a> viewDir;
+ int newFolderNum;
+ <a href="qsize.html">QSize</a> sz;
+ <a href="qpixmap.html">QPixmap</a> pix;
+ ViewMode vm;
+ QtFileIconViewItem *openItem;
+
+};
+
+/*****************************************************************************
+ *
+ * Class QtFileIconViewItem
+ *
+ *****************************************************************************/
+
+class QtFileIconViewItem : public <a href="qiconviewitem.html">QIconViewItem</a>
+{
+ friend class QtFileIconView;
+
+public:
+ enum ItemType {
+ File = 0,
+ Dir,
+ Link
+ };
+
+ QtFileIconViewItem( QtFileIconView *parent, QFileInfo *fi );
+
+ virtual ~QtFileIconViewItem();
+
+ ItemType type() const
+ { return itemType; }
+ <a href="qstring.html">QString</a> filename() const { return itemFileName; }
+
+ virtual bool acceptDrop( const <a href="qmimesource.html">QMimeSource</a> *e ) const;
+
+ virtual void setText( const <a href="qstring.html">QString</a> &amp;text );
+ virtual QPixmap *pixmap() const;
+
+ virtual void dragEntered();
+ virtual void dragLeft();
+
+ void viewModeChanged( QtFileIconView::ViewMode m );
+ void paintItem( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg );
+
+protected:
+ virtual void dropped( <a href="qdropevent.html">QDropEvent</a> *e, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; );
+
+ <a href="qstring.html">QString</a> itemFileName;
+ <a href="qfileinfo.html">QFileInfo</a> *itemFileInfo;
+ ItemType itemType;
+ bool checkSetText;
+ <a href="qtimer.html">QTimer</a> timer;
+ QtFileIconView::ViewMode vm;
+
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the file icon view:
+<p> <pre>/****************************************************************************
+** $Id: qt/qfileiconview.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "qfileiconview.h"
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;
+#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;
+#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qwmatrix-h.html">qwmatrix.h</a>&gt;
+
+#include &lt;stdlib.h&gt;
+
+static const char * file_icon[]={
+ "32 32 17 1",
+ "# c #000000",
+ "a c #ffffff",
+ "j c #808080",
+ "n c #a0a0a4",
+ "g c #c0c0c0",
+ "m c #004000",
+ "o c #000000",
+ "l c #004040",
+ "k c #404000",
+ "i c #c0c000",
+ "h c #ffff00",
+ "b c #ffffc0",
+ "e c #ff8000",
+ "f c #c05800",
+ "c c #ffa858",
+ "d c #ffdca8",
+ ". c None",
+ "................................",
+ "................................",
+ "................................",
+ "................................",
+ ".............#....###...........",
+ "...###......#a##.#aba##.........",
+ "..#cdb#....#aaaa#aaaaaa##.......",
+ "..#ecdb#..#aaaa#aaaaaaaba##.....",
+ "..#fecdb##aaaa#aaaaaaaaaaab##...",
+ "...#fecdb#aaa#aaaaaaabaabaaaa##.",
+ "....#fecdb#a#baaaaa#baaaaaabaaa#",
+ ".....#fecdb#aaaaab#a##baaaaaaa#.",
+ ".....##fecdb#bbba#aaaa##baaab#..",
+ "....#bb#fecdb#ba#aaaaaaa##aa#...",
+ "...#bbbb#fecdb##aaabaaaaaa##....",
+ "..#bbbb#b#fecdb#aaaaaaabaaaa##..",
+ ".#bbbb#bbb#fecdg#aaaaaaaaaaaba#.",
+ "#hhbb#bbbbb#fegg#iiaaaaaaaaaaaa#",
+ "#jhhhklibbbk#ggj#aaiiaaaaaaaaa#j",
+ ".#mjhhhkmikab####aaabiiaaaaaa#j.",
+ "...##jhhhmaaibbaaiibaaaiiaab#n..",
+ ".....##j#baaaiiabaaiibaabaa#n...",
+ "......##baibaabiibaaaiiabb#j....",
+ "......#bbbbiiaabbiiaaaaabon.....",
+ ".....#bbbbbbbiiabbaiiaab#n......",
+ ".....#jbbbbbbbbiibaabba#n.......",
+ "......##jbbbbbbbbiiaabmj........",
+ "........##jbbbbbbbbbb#j.........",
+ "..........##nbbbbbbbmj..........",
+ "............##jbbbb#j...........",
+ "..............#mjj#n............",
+ "................##n............."};
+
+static const char * folder_icon[]={
+ "32 32 11 1",
+ "# c #000000",
+ "b c #c0c000",
+ "d c #585858",
+ "a c #ffff00",
+ "i c #400000",
+ "h c #a0a0a4",
+ "e c #000000",
+ "c c #ffffff",
+ "f c #303030",
+ "g c #c0c0c0",
+ ". c None",
+ "...###..........................",
+ "...#aa##........................",
+ ".###baaa##......................",
+ ".#cde#baaa##....................",
+ ".#cccdeebaaa##..##f.............",
+ ".#cccccdeebaaa##aaa##...........",
+ ".#cccccccdeebaaaaaaaa##.........",
+ ".#cccccccccdeebababaaa#.........",
+ ".#cccccgcgghhebbbbbbbaa#........",
+ ".#ccccccgcgggdebbbbbbba#........",
+ ".#cccgcgcgcgghdeebiebbba#.......",
+ ".#ccccgcggggggghdeddeeba#.......",
+ ".#cgcgcgcggggggggghghdebb#......",
+ ".#ccgcggggggggghghghghd#b#......",
+ ".#cgcgcggggggggghghghhd#b#......",
+ ".#gcggggggggghghghhhhhd#b#......",
+ ".#cgcggggggggghghghhhhd#b#......",
+ ".#ggggggggghghghhhhhhhdib#......",
+ ".#gggggggggghghghhhhhhd#b#......",
+ ".#hhggggghghghhhhhhhhhd#b#......",
+ ".#ddhhgggghghghhhhhhhhd#b#......",
+ "..##ddhhghghhhhhhhhhhhdeb#......",
+ "....##ddhhhghhhhhhhhhhd#b#......",
+ "......##ddhhhhhhhhhhhhd#b#......",
+ "........##ddhhhhhhhhhhd#b#......",
+ "..........##ddhhhhhhhhd#b#......",
+ "............##ddhhhhhhd#b###....",
+ "..............##ddhhhhd#b#####..",
+ "................##ddhhd#b######.",
+ "..................##dddeb#####..",
+ "....................##d#b###....",
+ "......................####......"};
+
+
+static const char * link_icon[]={
+ "32 32 12 1",
+ "# c #000000",
+ "h c #a0a0a4",
+ "b c #c00000",
+ "d c #585858",
+ "i c #400000",
+ "c c #ffffff",
+ "e c #000000",
+ "g c #c0c0c0",
+ "a c #ff0000",
+ "f c #303030",
+ "n c white",
+ ". c None",
+ "...###..........................",
+ "...#aa##........................",
+ ".###baaa##......................",
+ ".#cde#baaa##....................",
+ ".#cccdeebaaa##..##f.............",
+ ".#cccccdeebaaa##aaa##...........",
+ ".#cccccccdeebaaaaaaaa##.........",
+ ".#cccccccccdeebababaaa#.........",
+ ".#cccccgcgghhebbbbbbbaa#........",
+ ".#ccccccgcgggdebbbbbbba#........",
+ ".#cccgcgcgcgghdeebiebbba#.......",
+ ".#ccccgcggggggghdeddeeba#.......",
+ ".#cgcgcgcggggggggghghdebb#......",
+ ".#ccgcggggggggghghghghd#b#......",
+ ".#cgcgcggggggggghghghhd#b#......",
+ ".#gcggggggggghghghhhhhd#b#......",
+ ".#cgcggggggggghghghhhhd#b#......",
+ ".#ggggggggghghghhhhhhhdib#......",
+ ".#gggggggggghghghhhhhhd#b#......",
+ ".#hhggggghghghhhhhhhhhd#b#......",
+ ".#ddhhgggghghghhhhhhhhd#b#......",
+ "..##ddhhghghhhhhhhhhhhdeb#......",
+ "############hhhhhhhhhhd#b#......",
+ "#nnnnnnnnnn#hhhhhhhhhhd#b#......",
+ "#nnnnnnnnnn#hhhhhhhhhhd#b#......",
+ "#nn#nn#nnnn#ddhhhhhhhhd#b#......",
+ "#nn##n##nnn###ddhhhhhhd#b###....",
+ "#nnn#####nn#..##ddhhhhd#b#####..",
+ "#nnnnn##nnn#....##ddhhd#b######.",
+ "#nnnnn#nnnn#......##dddeb#####..",
+ "#nnnnnnnnnn#........##d#b###....",
+ "############..........####......"};
+
+static const char * folder_locked_icon[]={
+ "32 32 12 1",
+ "# c #000000",
+ "g c #808080",
+ "h c #c0c0c0",
+ "f c #c05800",
+ "c c #ffffff",
+ "d c #585858",
+ "b c #ffa858",
+ "a c #ffdca8",
+ "e c #000000",
+ "i c #a0a0a4",
+ "j c #c0c0c0",
+ ". c None",
+ "...###..........................",
+ "...#aa##........................",
+ ".###baaa##......................",
+ ".#cde#baaa##....................",
+ ".#cccdeeba#######...............",
+ ".#cccccde##fffff##..............",
+ ".#cccccc##fffgggg#..............",
+ ".#ccccccc#ffg####a##............",
+ ".#ccccchc#ffg#eebbaa##..........",
+ ".#ccccccc#ffg#ddeebbba##........",
+ ".#ccchccc#ffg#ihddeebbba##......",
+ ".#cccccaa#ffg#ihhhddeeba##......",
+ ".#chchhbbaafg#ihhhihidebb#......",
+ ".#cchccbbbbaa#ihhihihid#b#......",
+ ".#chchhbb#bbbaaiihihiid#b#......",
+ ".#hchhcbb#fbbbafhiiiiid#b#......",
+ ".#chchhbb#ffgbbfihiiiid#b#......",
+ ".#hhhhhbb#ffg#bfiiiiiid#b#......",
+ ".#hhhhhbbaffg#bfiiiiiid#b#......",
+ ".#iihhhjbbaab#bfiiiiiid#b#......",
+ ".#ddiihhh#bbbabfiiiiiid#b#......",
+ "..##ddiih#ffbbbfiiiiiid#b#......",
+ "....##ddi#ffg#biiiiiiid#b#......",
+ "......##d#ffg#iiiiiiiid#b#......",
+ "........##ffg#iiiiiiiid#b#......",
+ ".........#ffg#iiiiiiiid#b#......",
+ ".........#ffg#ddiiiiiid#b###....",
+ ".........##fg###ddiiiid#b#####..",
+ "...........####.##ddiid#b######.",
+ "..................##dddeb#####..",
+ "....................##d#b###....",
+ "......................####......"};
+
+static QPixmap *iconFolderLockedLarge = 0;
+static QPixmap *iconFolderLarge = 0;
+static QPixmap *iconFileLarge = 0;
+static QPixmap *iconLinkLarge = 0;
+static QPixmap *iconFolderLockedSmall = 0;
+static QPixmap *iconFolderSmall = 0;
+static QPixmap *iconFileSmall = 0;
+static QPixmap *iconLinkSmall = 0;
+
+static void cleanup()
+{
+ delete iconFolderLockedLarge;
+ iconFolderLockedLarge = 0;
+ delete iconFolderLarge;
+ iconFolderLarge = 0;
+ delete iconFileLarge;
+ iconFileLarge = 0;
+ delete iconLinkLarge;
+ iconLinkLarge = 0;
+ delete iconFolderLockedSmall;
+ iconFolderLockedSmall = 0;
+ delete iconFolderSmall;
+ iconFolderSmall = 0;
+ delete iconFileSmall;
+ iconFileSmall = 0;
+ delete iconLinkSmall;
+ iconLinkSmall = 0;
+}
+
+/*****************************************************************************
+ *
+ * Class QtFileIconDrag
+ *
+ *****************************************************************************/
+
+<a name="f301"></a>QtFileIconDrag::QtFileIconDrag( <a href="qwidget.html">QWidget</a> * dragSource, const char* name )
+ : <a href="qicondrag.html">QIconDrag</a>( dragSource, name )
+{
+}
+
+<a name="x832"></a>const char* QtFileIconDrag::<a href="qmimesource.html#format">format</a>( int i ) const
+{
+ if ( i == 0 )
+ return "application/x-qiconlist";
+ else if ( i == 1 )
+ return "text/uri-list";
+ else
+ return 0;
+}
+
+<a name="x831"></a>QByteArray QtFileIconDrag::<a href="qicondrag.html#encodedData">encodedData</a>( const char* mime ) const
+{
+ <a href="qbytearray.html">QByteArray</a> a;
+ if ( QString( mime ) == "application/x-qiconlist" ) {
+ a = QIconDrag::<a href="qicondrag.html#encodedData">encodedData</a>( mime );
+ } else if ( QString( mime ) == "text/uri-list" ) {
+ <a href="qstring.html">QString</a> s = urls.join( "\r\n" );
+<a name="x870"></a><a name="x856"></a> a.<a href="qmemarray.html#resize">resize</a>( s.<a href="qstring.html#length">length</a>() );
+<a name="x869"></a><a name="x855"></a> memcpy( a.<a href="qmemarray.html#data">data</a>(), s.<a href="qstring.html#latin1">latin1</a>(), s.<a href="qstring.html#length">length</a>() );
+ }
+ return a;
+}
+
+<a name="x830"></a>bool QtFileIconDrag::<a href="qicondrag.html#canDecode">canDecode</a>( <a href="qmimesource.html">QMimeSource</a>* e )
+{
+<a name="x819"></a> return e-&gt;<a href="qdropevent.html#provides">provides</a>( "application/x-qiconlist" ) ||
+ e-&gt;<a href="qdropevent.html#provides">provides</a>( "text/uri-list" );
+}
+
+<a name="x829"></a>void QtFileIconDrag::<a href="qicondrag.html#append">append</a>( const <a href="qicondragitem.html">QIconDragItem</a> &amp;item, const <a href="qrect.html">QRect</a> &amp;pr,
+ const <a href="qrect.html">QRect</a> &amp;tr, const <a href="qstring.html">QString</a> &amp;url )
+{
+ QIconDrag::<a href="qicondrag.html#append">append</a>( item, pr, tr );
+ <a href="qstring.html">QString</a> ourUrl = url;
+#ifdef Q_WS_WIN
+ if (ourUrl.<a href="qstring.html#length">length</a>() &gt; 2 &amp;&amp; ourUrl[1] != ':') {
+ <a href="qdir.html">QDir</a> dir(ourUrl);
+<a name="x810"></a> ourUrl = dir.<a href="qdir.html#absPath">absPath</a>();
+ }
+#endif
+ urls &lt;&lt; QUriDrag::<a href="quridrag.html#localFileToUri">localFileToUri</a>(ourUrl);
+}
+
+/*****************************************************************************
+ *
+ * Class QtFileIconViewItem
+ *
+ *****************************************************************************/
+
+<a name="f322"></a>QtFileIconViewItem::QtFileIconViewItem( QtFileIconView *parent, QFileInfo *fi )
+<a name="x824"></a><a name="x823"></a> : <a href="qiconviewitem.html">QIconViewItem</a>( parent, fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() ), itemFileName( fi-&gt;<a href="qfileinfo.html#filePath">filePath</a>() ),
+ itemFileInfo( fi ), checkSetText( FALSE )
+{
+ vm = QtFileIconView::Large;
+
+<a name="x825"></a> if ( itemFileInfo-&gt;<a href="qfileinfo.html#isDir">isDir</a>() )
+ itemType = Dir;
+<a name="x826"></a> else if ( itemFileInfo-&gt;<a href="qfileinfo.html#isFile">isFile</a>() )
+ itemType = File;
+<a name="x827"></a> if ( itemFileInfo-&gt;<a href="qfileinfo.html#isSymLink">isSymLink</a>() )
+ itemType = Link;
+
+ viewModeChanged( ( (QtFileIconView*)<a href="qiconviewitem.html#iconView">iconView</a>() )-&gt;viewMode() );
+
+ if ( itemFileInfo-&gt;<a href="qfileinfo.html#fileName">fileName</a>() == "." ||
+ itemFileInfo-&gt;<a href="qfileinfo.html#fileName">fileName</a>() == ".." )
+ <a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( FALSE );
+
+ checkSetText = TRUE;
+
+ QObject::<a href="qobject.html#connect">connect</a>( &amp;timer, SIGNAL( timeout() ),
+ <a href="qiconviewitem.html#iconView">iconView</a>(), SLOT( openFolder() ) );
+}
+
+<a name="x842"></a>void QtFileIconViewItem::<a href="qiconviewitem.html#paintItem">paintItem</a>( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg )
+{
+ if ( itemFileInfo-&gt;<a href="qfileinfo.html#isSymLink">isSymLink</a>() ) {
+<a name="x861"></a> <a href="qfont.html">QFont</a> f( p-&gt;<a href="qpainter.html#font">font</a>() );
+<a name="x828"></a> f.<a href="qfont.html#setItalic">setItalic</a>( TRUE );
+ p-&gt;<a href="qpainter.html#setFont">setFont</a>( f );
+ }
+
+ QIconViewItem::<a href="qiconviewitem.html#paintItem">paintItem</a>( p, cg );
+}
+
+void <a name="f323"></a>QtFileIconViewItem::viewModeChanged( QtFileIconView::ViewMode m )
+{
+ vm = m;
+ <a href="qiconviewitem.html#setDropEnabled">setDropEnabled</a>( itemType == Dir &amp;&amp; QDir( itemFileName ).isReadable() );
+ <a href="qiconviewitem.html#calcRect">calcRect</a>();
+}
+
+<a name="x843"></a>QPixmap *QtFileIconViewItem::<a href="qiconviewitem.html#pixmap">pixmap</a>() const
+{
+ switch ( itemType ) {
+ case Dir:
+ {
+ if ( !QDir( itemFileName ).isReadable() ) {
+ if ( vm == QtFileIconView::Small )
+ return iconFolderLockedSmall;
+ else
+ return iconFolderLockedLarge;
+ } else {
+ if ( vm == QtFileIconView::Small )
+ return iconFolderSmall;
+ else
+ return iconFolderLarge;
+ }
+ }
+ case Link:
+ {
+ if ( vm == QtFileIconView::Small )
+ return iconLinkSmall;
+ else
+ return iconLinkLarge;
+ }
+ default:
+ {
+ if ( vm == QtFileIconView::Small )
+ return iconFileSmall;
+ else
+ return iconFileLarge;
+ }
+ }
+}
+
+QtFileIconViewItem::~QtFileIconViewItem()
+{
+ delete itemFileInfo;
+}
+
+<a name="x850"></a>void QtFileIconViewItem::<a href="qiconviewitem.html#setText">setText</a>( const <a href="qstring.html">QString</a> &amp;text )
+{
+ if ( checkSetText ) {
+ if ( text == "." || text == "." || text.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ return;
+<a name="x821"></a> <a href="qdir.html">QDir</a> dir( itemFileInfo-&gt;<a href="qfileinfo.html#dir">dir</a>() );
+<a name="x814"></a> if ( dir.<a href="qdir.html#rename">rename</a>( itemFileInfo-&gt;<a href="qfileinfo.html#fileName">fileName</a>(), text ) ) {
+<a name="x822"></a> itemFileName = itemFileInfo-&gt;<a href="qfileinfo.html#dirPath">dirPath</a>( TRUE ) + "/" + text;
+ delete itemFileInfo;
+ itemFileInfo = new <a href="qfileinfo.html">QFileInfo</a>( itemFileName );
+ QIconViewItem::<a href="qiconviewitem.html#setText">setText</a>( text );
+ }
+ } else {
+ QIconViewItem::<a href="qiconviewitem.html#setText">setText</a>( text );
+ }
+}
+
+<a name="x836"></a>bool QtFileIconViewItem::<a href="qiconviewitem.html#acceptDrop">acceptDrop</a>( const <a href="qmimesource.html">QMimeSource</a> *e ) const
+{
+ if ( type() == Dir &amp;&amp; e-&gt;<a href="qdropevent.html#provides">provides</a>( "text/uri-list" ) &amp;&amp;
+ dropEnabled() )
+ return TRUE;
+
+ return FALSE;
+}
+
+<a name="x839"></a>void QtFileIconViewItem::<a href="qiconviewitem.html#dropped">dropped</a>( <a href="qdropevent.html">QDropEvent</a> *e, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; )
+{
+ timer.stop();
+
+ if ( !QUriDrag::canDecode( e ) ) {
+<a name="x818"></a> e-&gt;<a href="qdropevent.html#ignore">ignore</a>();
+ return;
+ }
+
+ <a href="qstringlist.html">QStringList</a> lst;
+<a name="x873"></a> QUriDrag::<a href="quridrag.html#decodeLocalFiles">decodeLocalFiles</a>( e, lst );
+
+ <a href="qstring.html">QString</a> str;
+<a name="x817"></a> if ( e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Copy )
+ str = "Copy\n\n";
+ else
+ str = "Move\n\n";
+<a name="x874"></a> for ( uint i = 0; i &lt; lst.<a href="qvaluelist.html#count">count</a>(); ++i )
+ str += QString( " %1\n" ).arg( lst[i] );
+ str += QString( "\n"
+ "To\n\n"
+ " %1" ).arg( filename() );
+
+<a name="x859"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>( iconView(), e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Copy ? "Copy" : "Move" , str, "Not Implemented" );
+ if ( e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Move )
+ QMessageBox::<a href="qmessagebox.html#information">information</a>( iconView(), "Remove" , str, "Not Implemented" );
+<a name="x816"></a> e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+}
+
+<a name="x837"></a>void QtFileIconViewItem::<a href="qiconviewitem.html#dragEntered">dragEntered</a>()
+{
+ if ( type() != Dir ||
+ type() == Dir &amp;&amp; !QDir( itemFileName ).isReadable() )
+ return;
+
+ ( (QtFileIconView*)iconView() )-&gt;setOpenItem( this );
+ timer.start( 1500 );
+}
+
+<a name="x838"></a>void QtFileIconViewItem::<a href="qiconviewitem.html#dragLeft">dragLeft</a>()
+{
+ if ( type() != Dir ||
+ type() == Dir &amp;&amp; !QDir( itemFileName ).isReadable() )
+ return;
+
+ timer.stop();
+}
+
+/*****************************************************************************
+ *
+ * Class QtFileIconView
+ *
+ *****************************************************************************/
+
+<a name="f302"></a>QtFileIconView::QtFileIconView( const <a href="qstring.html">QString</a> &amp;dir, QWidget *parent, const char *name )
+ : <a href="qiconview.html">QIconView</a>( parent, name ), viewDir( dir ), newFolderNum( 0 )
+{
+ if ( !iconFolderLockedLarge ) {
+ <a href="qapplication.html#qAddPostRoutine">qAddPostRoutine</a>( cleanup );
+ <a href="qwmatrix.html">QWMatrix</a> m;
+<a name="x876"></a> m.<a href="qwmatrix.html#scale">scale</a>( 0.6, 0.6 );
+ <a href="qpixmap.html">QPixmap</a> iconpix( folder_locked_icon );
+ iconFolderLockedLarge = new <a href="qpixmap.html">QPixmap</a>( folder_locked_icon );
+<a name="x863"></a> iconpix = iconpix.<a href="qpixmap.html#xForm">xForm</a>( m );
+ iconFolderLockedSmall = new <a href="qpixmap.html">QPixmap</a>( iconpix );
+ iconpix = QPixmap( folder_icon );
+ iconFolderLarge = new <a href="qpixmap.html">QPixmap</a>( folder_icon );
+ iconpix = iconpix.<a href="qpixmap.html#xForm">xForm</a>( m );
+ iconFolderSmall = new <a href="qpixmap.html">QPixmap</a>( iconpix );
+ iconpix = QPixmap( file_icon );
+ iconFileLarge = new <a href="qpixmap.html">QPixmap</a>( file_icon );
+ iconpix = iconpix.<a href="qpixmap.html#xForm">xForm</a>( m );
+ iconFileSmall = new <a href="qpixmap.html">QPixmap</a>( iconpix );
+ iconpix = QPixmap( link_icon );
+ iconLinkLarge = new <a href="qpixmap.html">QPixmap</a>( link_icon );
+ iconpix = iconpix.<a href="qpixmap.html#xForm">xForm</a>( m );
+ iconLinkSmall = new <a href="qpixmap.html">QPixmap</a>( iconpix );
+ }
+
+ vm = Large;
+
+ <a href="qiconview.html#setGridX">setGridX</a>( 75 );
+ <a href="qiconview.html#setResizeMode">setResizeMode</a>( Adjust );
+ <a href="qiconview.html#setWordWrapIconText">setWordWrapIconText</a>( FALSE );
+
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qiconview.html#doubleClicked">doubleClicked</a>( <a href="qiconviewitem.html">QIconViewItem</a> * ) ),
+ this, SLOT( itemDoubleClicked( <a href="qiconviewitem.html">QIconViewItem</a> * ) ) );
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qiconview.html#returnPressed">returnPressed</a>( <a href="qiconviewitem.html">QIconViewItem</a> * ) ),
+ this, SLOT( itemDoubleClicked( <a href="qiconviewitem.html">QIconViewItem</a> * ) ) );
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qiconview.html#dropped">dropped</a>( <a href="qdropevent.html">QDropEvent</a> *, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; ) ),
+ this, SLOT( slotDropped( <a href="qdropevent.html">QDropEvent</a> *, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qiconview.html#contextMenuRequested">contextMenuRequested</a>( <a href="qiconviewitem.html">QIconViewItem</a> *, const <a href="qpoint.html">QPoint</a> &amp; ) ),
+ this, SLOT( slotRightPressed( <a href="qiconviewitem.html">QIconViewItem</a> * ) ) );
+
+ <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>( AlwaysOff );
+ <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>( Auto );
+
+ <a href="qiconview.html#setAutoArrange">setAutoArrange</a>( TRUE );
+ <a href="qiconview.html#setSorting">setSorting</a>( TRUE );
+ openItem = 0;
+}
+
+void <a name="f303"></a>QtFileIconView::openFolder()
+{
+ if ( !openItem )
+ return;
+ if ( openItem-&gt;type() != QtFileIconViewItem::Dir ||
+ openItem-&gt;type() == QtFileIconViewItem::Dir &amp;&amp;
+ !QDir( openItem-&gt;itemFileName ).isReadable() )
+ return;
+
+ openItem-&gt;timer.stop();
+ setDirectory( openItem-&gt;itemFileName );
+}
+
+void <a name="f304"></a>QtFileIconView::setDirectory( const <a href="qstring.html">QString</a> &amp;dir )
+{
+ viewDir = QDir( dir );
+ readDir( viewDir );
+}
+
+void QtFileIconView::setDirectory( const <a href="qdir.html">QDir</a> &amp;dir )
+{
+ viewDir = dir;
+ readDir( viewDir );
+}
+
+void <a name="f305"></a>QtFileIconView::newDirectory()
+{
+ <a href="qiconview.html#setAutoArrange">setAutoArrange</a>( FALSE );
+ <a href="qiconview.html#selectAll">selectAll</a>( FALSE );
+ if ( viewDir.mkdir( QString( "New Folder %1" ).arg( ++newFolderNum ) ) ) {
+ <a href="qfileinfo.html">QFileInfo</a> *fi = new <a href="qfileinfo.html">QFileInfo</a>( viewDir, QString( "New Folder %1" ).arg( newFolderNum ) );
+ QtFileIconViewItem *item = new QtFileIconViewItem( this, new <a href="qfileinfo.html">QFileInfo</a>( *fi ) );
+<a name="x847"></a> item-&gt;<a href="qiconviewitem.html#setKey">setKey</a>( QString( "000000%1" ).arg( fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() ) );
+ delete fi;
+ <a href="qscrollview.html#repaintContents">repaintContents</a>( <a href="qscrollview.html#contentsX">contentsX</a>(), contentsY(), contentsWidth(), contentsHeight(), FALSE );
+ <a href="qiconview.html#ensureItemVisible">ensureItemVisible</a>( item );
+<a name="x849"></a> item-&gt;<a href="qiconviewitem.html#setSelected">setSelected</a>( TRUE, TRUE );
+ <a href="qiconview.html#setCurrentItem">setCurrentItem</a>( item );
+ <a href="qiconview.html#repaintItem">repaintItem</a>( item );
+<a name="x808"></a> qApp-&gt;<a href="qapplication.html#processEvents">processEvents</a>();
+<a name="x845"></a> item-&gt;<a href="qiconviewitem.html#rename">rename</a>();
+ }
+ <a href="qiconview.html#setAutoArrange">setAutoArrange</a>( TRUE );
+}
+
+QDir <a name="f306"></a>QtFileIconView::currentDir()
+{
+ return viewDir;
+}
+
+static bool isRoot( const <a href="qstring.html">QString</a> &amp;s )
+{
+#if defined(Q_OS_UNIX)
+ if ( s == "/" )
+ return TRUE;
+#elif defined(Q_OS_WIN32)
+ <a href="qstring.html">QString</a> p = s;
+ if ( p.<a href="qstring.html#length">length</a>() == 3 &amp;&amp;
+<a name="x871"></a> p.<a href="qstring.html#right">right</a>( 2 ) == ":/" )
+ return TRUE;
+ if ( p[ 0 ] == '/' &amp;&amp; p[ 1 ] == '/' ) {
+<a name="x867"></a> int slashes = p.<a href="qstring.html#contains">contains</a>( '/' );
+ if ( slashes &lt;= 3 )
+ return TRUE;
+ if ( slashes == 4 &amp;&amp; p[ (int)p.<a href="qstring.html#length">length</a>() - 1 ] == '/' )
+ return TRUE;
+ }
+#endif
+
+ return FALSE;
+}
+
+void <a name="f307"></a>QtFileIconView::readDir( const <a href="qdir.html">QDir</a> &amp;dir )
+{
+<a name="x813"></a> if ( !dir.<a href="qdir.html#isReadable">isReadable</a>() )
+ return;
+
+ if ( isRoot( dir.<a href="qdir.html#absPath">absPath</a>() ) )
+ emit disableUp();
+ else
+ emit enableUp();
+
+ <a href="qiconview.html#clear">clear</a>();
+
+ emit directoryChanged( dir.<a href="qdir.html#absPath">absPath</a>() );
+
+<a name="x812"></a> const QFileInfoList *filist = dir.<a href="qdir.html#entryInfoList">entryInfoList</a>( QDir::DefaultFilter, QDir::DirsFirst | QDir::Name );
+
+ emit startReadDir( filist-&gt;count() );
+
+ QFileInfoListIterator it( *filist );
+ <a href="qfileinfo.html">QFileInfo</a> *fi;
+ bool allowRename = FALSE, allowRenameSet = FALSE;
+ while ( ( fi = it.current() ) != 0 ) {
+ ++it;
+ if ( fi &amp;&amp; fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() == ".." &amp;&amp; ( fi-&gt;<a href="qfileinfo.html#dirPath">dirPath</a>() == "/" || fi-&gt;<a href="qfileinfo.html#dirPath">dirPath</a>().isEmpty() ) )
+ continue;
+ emit readNextDir();
+ QtFileIconViewItem *item = new QtFileIconViewItem( this, new <a href="qfileinfo.html">QFileInfo</a>( *fi ) );
+ if ( fi-&gt;<a href="qfileinfo.html#isDir">isDir</a>() )
+ item-&gt;<a href="qiconviewitem.html#setKey">setKey</a>( QString( "000000%1" ).arg( fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() ) );
+ else
+ item-&gt;<a href="qiconviewitem.html#setKey">setKey</a>( fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>() );
+ if ( !allowRenameSet ) {
+<a name="x820"></a> if ( !QFileInfo( fi-&gt;<a href="qfileinfo.html#absFilePath">absFilePath</a>() ).isWritable() ||
+<a name="x851"></a> item-&gt;<a href="qiconviewitem.html#text">text</a>() == "." || item-&gt;<a href="qiconviewitem.html#text">text</a>() == ".." )
+ allowRename = FALSE;
+ else
+ allowRename = TRUE;
+ if ( item-&gt;<a href="qiconviewitem.html#text">text</a>() == "." || item-&gt;<a href="qiconviewitem.html#text">text</a>() == ".." )
+ allowRenameSet = FALSE;
+ else
+ allowRenameSet = TRUE;
+ }
+<a name="x848"></a> item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( allowRename );
+ }
+
+ if ( !QFileInfo( dir.<a href="qdir.html#absPath">absPath</a>() ).isWritable() )
+ emit disableMkdir();
+ else
+ emit enableMkdir();
+
+ emit readDirDone();
+}
+
+void <a name="f308"></a>QtFileIconView::itemDoubleClicked( <a href="qiconviewitem.html">QIconViewItem</a> *i )
+{
+ QtFileIconViewItem *item = ( QtFileIconViewItem* )i;
+
+ if ( item-&gt;type() == QtFileIconViewItem::Dir ) {
+ viewDir = QDir( item-&gt;filename() );
+ readDir( viewDir );
+ } else if ( item-&gt;type() == QtFileIconViewItem::Link &amp;&amp;
+ QFileInfo( QFileInfo( item-&gt;filename() ).readLink() ).isDir() ) {
+ viewDir = QDir( QFileInfo( item-&gt;filename() ).readLink() );
+ readDir( viewDir );
+ }
+}
+
+<a name="x834"></a>QDragObject *QtFileIconView::<a href="qiconview.html#dragObject">dragObject</a>()
+{
+ if ( !currentItem() )
+ return 0;
+
+<a name="x809"></a> <a href="qpoint.html">QPoint</a> orig = <a href="qscrollview.html#viewportToContents">viewportToContents</a>( <a href="qscrollview.html#viewport">viewport</a>()-&gt;mapFromGlobal( QCursor::<a href="qcursor.html#pos">pos</a>() ) );
+ QtFileIconDrag *drag = new QtFileIconDrag( <a href="qscrollview.html#viewport">viewport</a>() );
+<a name="x815"></a> drag-&gt;<a href="qdragobject.html#setPixmap">setPixmap</a>( *currentItem()-&gt;pixmap(),
+ QPoint( <a href="qiconview.html#currentItem">currentItem</a>()-&gt;pixmapRect().width() / 2, currentItem()-&gt;pixmapRect().height() / 2 ) );
+ for ( QtFileIconViewItem *item = (QtFileIconViewItem*)<a href="qiconview.html#firstItem">firstItem</a>(); item;
+<a name="x841"></a> item = (QtFileIconViewItem*)item-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>() ) {
+<a name="x840"></a> if ( item-&gt;<a href="qiconviewitem.html#isSelected">isSelected</a>() ) {
+ <a href="qicondragitem.html">QIconDragItem</a> id;
+<a name="x833"></a> id.<a href="qicondragitem.html#setData">setData</a>( QCString( item-&gt;filename() ) );
+ drag-&gt;<a href="qicondrag.html#append">append</a>( id,
+<a name="x864"></a><a name="x844"></a> QRect( item-&gt;<a href="qiconviewitem.html#pixmapRect">pixmapRect</a>( FALSE ).x() - orig.<a href="qpoint.html#x">x</a>(),
+<a name="x865"></a> item-&gt;<a href="qiconviewitem.html#pixmapRect">pixmapRect</a>( FALSE ).y() - orig.<a href="qpoint.html#y">y</a>(),
+ item-&gt;<a href="qiconviewitem.html#pixmapRect">pixmapRect</a>().width(), item-&gt;<a href="qiconviewitem.html#pixmapRect">pixmapRect</a>().height() ),
+<a name="x852"></a> QRect( item-&gt;<a href="qiconviewitem.html#textRect">textRect</a>( FALSE ).x() - orig.<a href="qpoint.html#x">x</a>(),
+ item-&gt;<a href="qiconviewitem.html#textRect">textRect</a>( FALSE ).y() - orig.<a href="qpoint.html#y">y</a>(),
+ item-&gt;<a href="qiconviewitem.html#textRect">textRect</a>().width(), item-&gt;<a href="qiconviewitem.html#textRect">textRect</a>().height() ),
+ QString( item-&gt;filename() ) );
+ }
+ }
+
+ return drag;
+}
+
+<a name="x835"></a>void QtFileIconView::<a href="qwidget.html#keyPressEvent">keyPressEvent</a>( <a href="qkeyevent.html">QKeyEvent</a> *e )
+{
+<a name="x853"></a> if ( e-&gt;<a href="qkeyevent.html#key">key</a>() == Key_N &amp;&amp;
+<a name="x854"></a> ( e-&gt;<a href="qkeyevent.html#state">state</a>() &amp; ControlButton ) )
+ newDirectory();
+ else
+ QIconView::<a href="qwidget.html#keyPressEvent">keyPressEvent</a>( e );
+}
+
+void <a name="f309"></a>QtFileIconView::slotDropped( <a href="qdropevent.html">QDropEvent</a> *e, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; )
+{
+ if ( openItem )
+ openItem-&gt;timer.stop();
+ if ( !QUriDrag::canDecode( e ) ) {
+ e-&gt;<a href="qdropevent.html#ignore">ignore</a>();
+ return;
+ }
+
+ <a href="qstringlist.html">QStringList</a> lst;
+ QUriDrag::<a href="quridrag.html#decodeLocalFiles">decodeLocalFiles</a>( e, lst );
+
+ <a href="qstring.html">QString</a> str;
+ if ( e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Copy )
+ str = "Copy\n\n";
+ else
+ str = "Move\n\n";
+ for ( uint i = 0; i &lt; lst.<a href="qvaluelist.html#count">count</a>(); ++i )
+<a name="x811"></a> str += QString( " %1\n" ).arg( QDir::<a href="qdir.html#convertSeparators">convertSeparators</a>(lst[i]) );
+ str += QString( "\n"
+ "To\n\n"
+ " %1" ).arg( viewDir.absPath() );
+
+ QMessageBox::<a href="qmessagebox.html#information">information</a>( this, e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Copy ? "Copy" : "Move" , str, "Not Implemented" );
+ if ( e-&gt;<a href="qdropevent.html#action">action</a>() == QDropEvent::Move )
+<a name="x872"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Remove" , QDir::convertSeparators(lst.<a href="qstringlist.html#join">join</a>("\n")), "Not Implemented" );
+ e-&gt;<a href="qdropevent.html#acceptAction">acceptAction</a>();
+ openItem = 0;
+}
+
+void <a name="f310"></a>QtFileIconView::viewLarge()
+{
+ setViewMode( Large );
+}
+
+void <a name="f311"></a>QtFileIconView::viewSmall()
+{
+ setViewMode( Small );
+}
+
+void <a name="f312"></a>QtFileIconView::viewBottom()
+{
+ <a href="qiconview.html#setItemTextPos">setItemTextPos</a>( Bottom );
+}
+
+void <a name="f313"></a>QtFileIconView::viewRight()
+{
+ <a href="qiconview.html#setItemTextPos">setItemTextPos</a>( Right );
+}
+
+void <a name="f314"></a>QtFileIconView::flowEast()
+{
+ <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>( AlwaysOff );
+ <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>( Auto );
+ <a href="qiconview.html#setArrangement">setArrangement</a>( LeftToRight );
+}
+
+void <a name="f315"></a>QtFileIconView::flowSouth()
+{
+ <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>( AlwaysOff );
+ <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>( Auto );
+ <a href="qiconview.html#setArrangement">setArrangement</a>( TopToBottom );
+}
+
+void <a name="f316"></a>QtFileIconView::sortAscending()
+{
+ <a href="qiconview.html#sort">sort</a>( TRUE );
+}
+
+void <a name="f317"></a>QtFileIconView::sortDescending()
+{
+ <a href="qiconview.html#sort">sort</a>( FALSE );
+}
+
+void <a name="f318"></a>QtFileIconView::itemTextTruncate()
+{
+ <a href="qiconview.html#setWordWrapIconText">setWordWrapIconText</a>( FALSE );
+}
+
+void <a name="f319"></a>QtFileIconView::itemTextWordWrap()
+{
+ <a href="qiconview.html#setWordWrapIconText">setWordWrapIconText</a>( TRUE );
+}
+
+void <a name="f320"></a>QtFileIconView::slotRightPressed( <a href="qiconviewitem.html">QIconViewItem</a> *item )
+{
+ if ( !item ) { // right pressed on viewport
+ <a href="qpopupmenu.html">QPopupMenu</a> menu( this );
+
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Large view", this, SLOT( viewLarge() ) );
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Small view", this, SLOT( viewSmall() ) );
+ menu.<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Text at the &amp;bottom", this, SLOT( viewBottom() ) );
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Text at the &amp;right", this, SLOT( viewRight() ) );
+ menu.<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Arrange l&amp;eft to right", this, SLOT( flowEast() ) );
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Arrange t&amp;op to bottom", this, SLOT( flowSouth() ) );
+ menu.<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Truncate item text", this, SLOT( itemTextTruncate() ) );
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Wordwrap item text", this, SLOT( itemTextWordWrap() ) );
+ menu.<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Arrange items in &amp;grid", this, SLOT( <a href="qiconview.html#arrangeItemsInGrid">arrangeItemsInGrid</a>() ) );
+ menu.<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Sort &amp;ascending", this, SLOT( sortAscending() ) );
+ menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Sort &amp;descending", this, SLOT( sortDescending() ) );
+
+<a name="x875"></a> menu.<a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE );
+<a name="x866"></a> menu.<a href="qpopupmenu.html#exec">exec</a>( QCursor::<a href="qcursor.html#pos">pos</a>() );
+ } else { // on item
+ <a href="qpopupmenu.html">QPopupMenu</a> menu( this );
+
+ int RENAME_ITEM = menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Rename Item" );
+ int REMOVE_ITEM = menu.<a href="qmenudata.html#insertItem">insertItem</a>( "Remove Item" );
+
+ menu.<a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE );
+ int id = menu.<a href="qpopupmenu.html#exec">exec</a>( QCursor::<a href="qcursor.html#pos">pos</a>() );
+
+ if ( id == -1 )
+ return;
+
+<a name="x846"></a> if ( id == RENAME_ITEM &amp;&amp; item-&gt;<a href="qiconviewitem.html#renameEnabled">renameEnabled</a>() ) {
+ item-&gt;<a href="qiconviewitem.html#rename">rename</a>();
+ } else if ( id == REMOVE_ITEM ) {
+ delete item;
+ QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Not implemented!", "Deleting files not implemented yet,\n"
+ "The item has only been removed from the view! " );
+ }
+ }
+}
+
+void <a name="f321"></a>QtFileIconView::setViewMode( ViewMode m )
+{
+ if ( m == vm )
+ return;
+
+ vm = m;
+ QtFileIconViewItem *item = (QtFileIconViewItem*)<a href="qiconview.html#firstItem">firstItem</a>();
+ for ( ; item; item = (QtFileIconViewItem*)item-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>() )
+ item-&gt;viewModeChanged( vm );
+
+ <a href="qiconview.html#arrangeItemsInGrid">arrangeItemsInGrid</a>();
+}
+</pre>
+
+<p> <hr>
+<p> Header file of the main window:
+<p> <pre>/****************************************************************************
+** $Id: qt/mainwindow.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef MAINWIN_H
+#define MAINWIN_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class QtFileIconView;
+class DirectoryView;
+class QProgressBar;
+class QLabel;
+class QComboBox;
+class QToolButton;
+
+class FileMainWindow : public <a href="qmainwindow.html">QMainWindow</a>
+{
+ Q_OBJECT
+
+public:
+ FileMainWindow();
+
+ QtFileIconView *fileView() { return fileview; }
+ DirectoryView *dirList() { return dirlist; }
+
+ void show();
+
+protected:
+ void setup();
+ void setPathCombo();
+
+ QtFileIconView *fileview;
+ DirectoryView *dirlist;
+ <a href="qprogressbar.html">QProgressBar</a> *progress;
+ <a href="qlabel.html">QLabel</a> *label;
+ <a href="qcombobox.html">QComboBox</a> *pathCombo;
+ <a href="qtoolbutton.html">QToolButton</a> *upButton, *mkdirButton;
+
+protected slots:
+ void directoryChanged( const <a href="qstring.html">QString</a> &amp; );
+ void slotStartReadDir( int dirs );
+ void slotReadNextDir();
+ void slotReadDirDone();
+ void cdUp();
+ void newFolder();
+ void changePath( const <a href="qstring.html">QString</a> &amp;path );
+ void enableUp();
+ void disableUp();
+ void enableMkdir();
+ void disableMkdir();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the main window:
+<p> <pre>/****************************************************************************
+** $Id: qt/mainwindow.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "mainwindow.h"
+#include "qfileiconview.h"
+#include "../dirview/dirview.h"
+
+#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;
+#include &lt;<a href="qprogressbar-h.html">qprogressbar.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+
+static const char* cdtoparent_xpm[]={
+ "15 13 3 1",
+ ". c None",
+ "* c #000000",
+ "a c #ffff99",
+ "..*****........",
+ ".*aaaaa*.......",
+ "***************",
+ "*aaaaaaaaaaaaa*",
+ "*aaaa*aaaaaaaa*",
+ "*aaa***aaaaaaa*",
+ "*aa*****aaaaaa*",
+ "*aaaa*aaaaaaaa*",
+ "*aaaa*aaaaaaaa*",
+ "*aaaa******aaa*",
+ "*aaaaaaaaaaaaa*",
+ "*aaaaaaaaaaaaa*",
+ "***************"};
+
+static const char* newfolder_xpm[] = {
+ "15 14 4 1",
+ " c None",
+ ". c #000000",
+ "+ c #FFFF00",
+ "@ c #FFFFFF",
+ " . ",
+ " ",
+ " . ",
+ " . . ",
+ " .... . . . ",
+ " .+@+@. . . ",
+ ".......... . .",
+ ".@+@+@+@+@.. ",
+ ".+@+@+@+@+. . ",
+ ".@+@+@+@+@. . ",
+ ".+@+@+@+@+. ",
+ ".@+@+@+@+@. ",
+ ".+@+@+@+@+. ",
+ "........... "};
+
+<a name="f324"></a>FileMainWindow::FileMainWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>()
+{
+ setup();
+}
+
+void FileMainWindow::<a href="qwidget.html#show">show</a>()
+{
+ QMainWindow::<a href="qwidget.html#show">show</a>();
+}
+
+void <a name="f325"></a>FileMainWindow::setup()
+{
+ <a href="qsplitter.html">QSplitter</a> *splitter = new <a href="qsplitter.html">QSplitter</a>( this );
+
+ dirlist = new DirectoryView( splitter, "dirlist", TRUE );
+<a name="x886"></a> dirlist-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Name" );
+ dirlist-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Type" );
+ Directory *root = new Directory( dirlist, "/" );
+<a name="x887"></a> root-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE );
+<a name="x894"></a> splitter-&gt;<a href="qsplitter.html#setResizeMode">setResizeMode</a>( dirlist, QSplitter::KeepSize );
+
+ fileview = new QtFileIconView( "/", splitter );
+<a name="x884"></a> fileview-&gt;<a href="qiconview.html#setSelectionMode">setSelectionMode</a>( QIconView::Extended );
+
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( splitter );
+
+ <a href="qtoolbar.html">QToolBar</a> *toolbar = new <a href="qtoolbar.html">QToolBar</a>( this, "toolbar" );
+ <a href="qmainwindow.html#setRightJustification">setRightJustification</a>( TRUE );
+
+ (void)new <a href="qlabel.html">QLabel</a>( <a href="qobject.html#tr">tr</a>( " Path: " ), toolbar );
+
+ pathCombo = new <a href="qcombobox.html">QComboBox</a>( TRUE, toolbar );
+<a name="x880"></a> pathCombo-&gt;<a href="qcombobox.html#setAutoCompletion">setAutoCompletion</a>( TRUE );
+<a name="x896"></a> toolbar-&gt;<a href="qtoolbar.html#setStretchableWidget">setStretchableWidget</a>( pathCombo );
+<a name="x877"></a> <a href="qobject.html#connect">connect</a>( pathCombo, SIGNAL( <a href="qcombobox.html#activated">activated</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT ( changePath( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+<a name="x895"></a> toolbar-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+
+ <a href="qpixmap.html">QPixmap</a> pix;
+
+ pix = QPixmap( cdtoparent_xpm );
+ upButton = new <a href="qtoolbutton.html">QToolButton</a>( pix, "One directory up", <a href="qstring.html#QString-null">QString::null</a>,
+ this, SLOT( cdUp() ), toolbar, "cd up" );
+
+ pix = QPixmap( newfolder_xpm );
+ mkdirButton = new <a href="qtoolbutton.html">QToolButton</a>( pix, "New Folder", QString::null,
+ this, SLOT( newFolder() ), toolbar, "new folder" );
+
+ <a href="qobject.html#connect">connect</a>( dirlist, SIGNAL( folderSelected( const <a href="qstring.html">QString</a> &amp; ) ),
+ fileview, SLOT ( setDirectory( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( directoryChanged( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( directoryChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( startReadDir( int ) ),
+ this, SLOT( slotStartReadDir( int ) ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( readNextDir() ),
+ this, SLOT( slotReadNextDir() ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( readDirDone() ),
+ this, SLOT( slotReadDirDone() ) );
+
+ <a href="qmainwindow.html#setDockEnabled">setDockEnabled</a>( DockLeft, FALSE );
+ <a href="qmainwindow.html#setDockEnabled">setDockEnabled</a>( DockRight, FALSE );
+
+ label = new <a href="qlabel.html">QLabel</a>( <a href="qmainwindow.html#statusBar">statusBar</a>() );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;addWidget( label, 2, TRUE );
+ progress = new <a href="qprogressbar.html">QProgressBar</a>( <a href="qmainwindow.html#statusBar">statusBar</a>() );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;addWidget( progress, 1, TRUE );
+
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( enableUp() ),
+ this, SLOT( enableUp() ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( disableUp() ),
+ this, SLOT( disableUp() ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( enableMkdir() ),
+ this, SLOT( enableMkdir() ) );
+ <a href="qobject.html#connect">connect</a>( fileview, SIGNAL( disableMkdir() ),
+ this, SLOT( disableMkdir() ) );
+}
+
+void <a name="f326"></a>FileMainWindow::setPathCombo()
+{
+ <a href="qstring.html">QString</a> dir = <a href="qwidget.html#caption">caption</a>();
+ int i = 0;
+ bool found = FALSE;
+<a name="x878"></a> for ( i = 0; i &lt; pathCombo-&gt;<a href="qcombobox.html#count">count</a>(); ++i ) {
+<a name="x882"></a> if ( pathCombo-&gt;<a href="qcombobox.html#text">text</a>( i ) == dir) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if ( found )
+<a name="x881"></a> pathCombo-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( i );
+ else {
+<a name="x879"></a> pathCombo-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( dir );
+ pathCombo-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( pathCombo-&gt;<a href="qcombobox.html#count">count</a>() - 1 );
+ }
+
+}
+
+void <a name="f327"></a>FileMainWindow::directoryChanged( const <a href="qstring.html">QString</a> &amp;dir )
+{
+ <a href="qwidget.html#setCaption">setCaption</a>( dir );
+ setPathCombo();
+}
+
+void <a name="f328"></a>FileMainWindow::slotStartReadDir( int dirs )
+{
+ label-&gt;<a href="qlabel.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>( " Reading Directory..." ) );
+<a name="x890"></a> progress-&gt;<a href="qprogressbar.html#reset">reset</a>();
+<a name="x892"></a> progress-&gt;<a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>( dirs );
+}
+
+void <a name="f329"></a>FileMainWindow::slotReadNextDir()
+{
+<a name="x889"></a> int p = progress-&gt;<a href="qprogressbar.html#progress">progress</a>();
+<a name="x891"></a> progress-&gt;<a href="qprogressbar.html#setProgress">setProgress</a>( ++p );
+}
+
+void <a name="f330"></a>FileMainWindow::slotReadDirDone()
+{
+ label-&gt;<a href="qlabel.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>( " Reading Directory Done." ) );
+<a name="x893"></a> progress-&gt;<a href="qprogressbar.html#setProgress">setProgress</a>( progress-&gt;<a href="qprogressbar.html#totalSteps">totalSteps</a>() );
+}
+
+void <a name="f331"></a>FileMainWindow::cdUp()
+{
+ <a href="qdir.html">QDir</a> dir = fileview-&gt;currentDir();
+<a name="x883"></a> dir.<a href="qdir.html#cd">cd</a>( ".." );
+ fileview-&gt;setDirectory( dir );
+}
+
+void <a name="f332"></a>FileMainWindow::newFolder()
+{
+ fileview-&gt;newDirectory();
+}
+
+void <a name="f333"></a>FileMainWindow::changePath( const <a href="qstring.html">QString</a> &amp;path )
+{
+ if ( QFileInfo( path ).exists() )
+ fileview-&gt;setDirectory( path );
+ else
+ setPathCombo();
+}
+
+void <a name="f334"></a>FileMainWindow::enableUp()
+{
+<a name="x897"></a> upButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+}
+
+void <a name="f335"></a>FileMainWindow::disableUp()
+{
+ upButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+
+void <a name="f336"></a>FileMainWindow::enableMkdir()
+{
+ mkdirButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+}
+
+void <a name="f337"></a>FileMainWindow::disableMkdir()
+{
+ mkdirButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "mainwindow.h"
+#include "qfileiconview.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ FileMainWindow mw;
+ mw.<a href="qwidget.html#resize">resize</a>( 680, 480 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;mw );
+ mw.fileView()-&gt;setDirectory( "/" );
+<a name="x900"></a> mw.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/fileopen.png b/doc/html/fileopen.png
new file mode 100644
index 0000000..44107d3
--- /dev/null
+++ b/doc/html/fileopen.png
Binary files differ
diff --git a/doc/html/fileprint.png b/doc/html/fileprint.png
new file mode 100644
index 0000000..2936658
--- /dev/null
+++ b/doc/html/fileprint.png
Binary files differ
diff --git a/doc/html/filesave.png b/doc/html/filesave.png
new file mode 100644
index 0000000..03e10f9
--- /dev/null
+++ b/doc/html/filesave.png
Binary files differ
diff --git a/doc/html/finddialog.png b/doc/html/finddialog.png
new file mode 100644
index 0000000..c3b0f43
--- /dev/null
+++ b/doc/html/finddialog.png
Binary files differ
diff --git a/doc/html/focus.html b/doc/html/focus.html
new file mode 100644
index 0000000..0124b20
--- /dev/null
+++ b/doc/html/focus.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/focus.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Keyboard Focus Overview</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Keyboard Focus Overview</h1>
+
+
+
+<p> <!-- index keyboard focus --><a name="keyboard-focus"></a>
+<p> Qt's widgets handle keyboard focus in the ways that have become
+customary in GUIs.
+<p> The basic issue is that the user's keystrokes can be directed at any
+of several windows on the screen, and any of several widgets inside
+the intended window. When the user presses a key, they expect it to go
+to the right place, and the software must try to meet this
+expectation. The system must determine which application the keystroke
+is directed at, which window within that application, and which widget
+within that window.
+<p> <h2> Focus motion
+</h2>
+<a name="1"></a><p> The customs which have evolved for directing keyboard focus to a
+particular widget are these:
+<ol type=1>
+<p> <li> The user presses Tab (or Shift+Tab) (or sometimes Enter).
+<p> <li> The user clicks a widget.
+<p> <li> The user presses a keyboard shortcut.
+<p> <li> The user uses the mouse wheel.
+<p> <li> The user moves the focus to a window, and the application must
+determine which widget within the window should get the focus.
+<p> </ol>
+<p> Each of these motion mechanisms is different, and different types of
+widgets receive focus in only some of them. We'll cover each of them
+in turn.
+<p> <h3> Tab or Shift+Tab.
+</h3>
+<a name="1-1"></a><p> Pressing Tab is by far the most common way to move focus using the
+keyboard. Sometimes in data-entry applications Enter does the same as
+Tab. We will ignore that for the moment.
+<p> Pressing Tab, in all window systems in common use today, moves the
+keyboard focus to the next widget in a circular per-window list. Tab
+moves focus along the circular list in one direction, Shift+Tab in the
+other. The order in which Tab presses move from widget to widget is
+called the tab order.
+<p> In Qt, this list is kept in the <a href="qfocusdata.html">QFocusData</a> class. There is one
+<a href="qfocusdata.html">QFocusData</a> object per window, and widgets automatically append
+themselves to the end of it when <a href="qwidget.html#setFocusPolicy">QWidget::setFocusPolicy</a>() is
+called with an appropriate <a href="qwidget.html#FocusPolicy-enum">QWidget::FocusPolicy</a>. You can customize
+the tab order using <a href="qwidget.html#setTabOrder">QWidget::setTabOrder</a>(). (If you don't, Tab
+generally moves focus in the order of widget construction.) <a href="designer-manual.html">Qt Designer</a> provides a means of visually
+changing the tab order.
+<p> Since pressing Tab is so common, most widgets that can have focus
+should support tab focus. The major exception is widgets that are
+rarely used, and where there is some keyboard accelerator or error
+handler that moves the focus.
+<p> For example, in a data entry dialog, there might be a field that is
+only necessary in one per cent of all cases. In such a dialog, Tab
+could skip this field, and the dialog could use one of these
+mechanisms:
+<p> <ol type=1>
+<p> <li> If the program can determine whether the field is needed, it can
+move focus there when the user finishes entry and presses OK, or when
+the user presses Enter after finishing the other fields. Alternately,
+include the field in the tab order but disable it. Enable it if it
+becomes appropriate in view of what the user has set in the other
+fields.
+<p> <li> The label for the field can include a keyboard shortcut that moves
+focus to this field.
+<p> </ol>
+<p> Another exception to Tab support is text-entry widgets that must
+support the insertion of tabs; almost all text editors fall into this
+class. Qt treats Control+Tab as Tab and Control+Shift+Tab as
+Shift+Tab, and such widgets can reimplement <a href="qwidget.html#event">QWidget::event</a>() and
+handle Tab before calling <a href="qwidget.html#event">QWidget::event</a>() to get normal processing of
+all other keys. However, since some systems use Control+Tab for other
+purposes, and many users aren't aware of Control+Tab anyway, this
+isn't a complete solution.
+<p> <h3> The user clicks a widget.
+</h3>
+<a name="1-2"></a><p> This is perhaps even more common than pressing Tab on computers with a
+mouse or other pointing device.
+<p> Clicking to move the focus is slightly more powerful than Tab. While
+it moves the focus <em>to</em> a widget, for editor widgets it also moves
+the text cursor (the widget's internal focus) to the spot where the
+mouse is clicked.
+<p> Since it is so common and people are used to it, it's a good idea to
+support it for most widgets. However, there is also an important
+reason to avoid it: you may not want to remove focus from the widget
+where it was.
+<p> For example, in a word processor, when the user clicks the 'B' (bold)
+tool button, what should happen to the keyboard focus? Should it
+remain where it was, almost certainly in the editing widget, or should
+it move to the 'B' button?
+<p> We advise supporting click-to-focus for widgets that support text
+entry, and to avoid it for most widgets where a mouse click has a
+different effect. (For buttons, we also recommend adding a keyboard
+shortcut: <a href="qbutton.html">QButton</a> and its subclasses make this very easy.)
+<p> In Qt, only the <a href="qwidget.html#setFocusPolicy">QWidget::setFocusPolicy</a>() function affects
+click-to-focus.
+<p> <h3> The user presses a keyboard shortcut.
+</h3>
+<a name="1-3"></a><p> It's not unusual for keyboard shortcuts to move the focus. This can
+happen implicitly by opening modal dialogs, but also explicitly using
+focus accelerators such as those provided by <a href="qlabel.html#setBuddy">QLabel::setBuddy</a>(), <a href="qgroupbox.html">QGroupBox</a> and <a href="qtabbar.html">QTabBar</a>.
+<p> We advise supporting shortcut focus for all widgets that the user may
+want to jump to. For example, a tab dialog can have keyboard shortcuts
+for each of its pages, so the user can press e.g. Alt+P to step to the
+<u>P</u>rinting page. But don't overdo this: there are only a few
+keys, and it's also important to provide keyboard shortcuts for
+commands. Alt+P is also used for Paste, Play, Print and Print Here in
+the <a href="accelerators.html">standard list of shortcuts</a>, for
+example.
+<p> <h3> The user uses the mouse wheel.
+</h3>
+<a name="1-4"></a><p> On Microsoft Windows, mouse wheel usage is always handled by the
+widget that has keyboard focus. On Mac OS X and X11, it's handled by
+the widget that gets other mouse events.
+<p> The way Qt handles this platform difference is by letting widgets move
+the keyboard focus when the wheel is used. With the right focus policy
+on each widget, applications can work idiomatically correctly on
+Windows, Mac OS X, and X11.
+<p> <h3> The user moves the focus to this window.
+</h3>
+<a name="1-5"></a><p> In this situation the application must determine which widget within
+the window should receive the focus.
+<p> This can be simple: if the focus has been in this window before, then
+the last widget to have focus should regain it. Qt does this
+automatically.
+<p> If focus has never been in this window before and you know where focus
+should start out, call <a href="qwidget.html#setFocus">QWidget::setFocus</a>() on the widget which
+should receive focus before you <a href="qwidget.html#show">QWidget::show</a>() it. If you don't,
+Qt will pick a suitable widget.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/forever-example.html b/doc/html/forever-example.html
new file mode 100644
index 0000000..ceeaa99
--- /dev/null
+++ b/doc/html/forever-example.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/forever/forever.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Rectangle Draw "Benchmark"</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Rectangle Draw "Benchmark"</h1>
+
+
+<p>
+This example continuously draws rectangles in a window and
+has another widget that counts the number of rectangles that
+are drawn per second.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/forever.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of something or other
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef FOREVER_H
+#define FOREVER_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+const int numColors = 120;
+
+
+class Forever : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ Forever( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a> * );
+private slots:
+ void updateCaption();
+private:
+ int rectangles;
+ QColor colors[numColors];
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/forever.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;stdlib.h&gt; // defines rand() function
+
+#include "forever.h"
+
+
+//
+// Forever - a widget that draws rectangles forever.
+//
+
+//
+// Constructs a Forever widget.
+//
+
+<a name="f365"></a>Forever::Forever( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ for (int a=0; a&lt;numColors; a++) {
+ colors[a] = QColor( rand()&amp;255,
+ rand()&amp;255,
+ rand()&amp;255 );
+ }
+ rectangles = 0;
+ <a href="qobject.html#startTimer">startTimer</a>( 0 ); // run continuous timer
+ <a href="qtimer.html">QTimer</a> * counter = new <a href="qtimer.html">QTimer</a>( this );
+<a name="x1054"></a> <a href="qobject.html#connect">connect</a>( counter, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(updateCaption()) );
+<a name="x1053"></a> counter-&gt;<a href="qtimer.html#start">start</a>( 1000 );
+}
+
+
+void <a name="f366"></a>Forever::updateCaption()
+{
+ <a href="qstring.html">QString</a> s;
+<a name="x1052"></a> s.<a href="qstring.html#sprintf">sprintf</a>( "Qt Example - Forever - %d rectangles/second", rectangles );
+ rectangles = 0;
+ <a href="qwidget.html#setCaption">setCaption</a>( s );
+}
+
+
+//
+// Handles paint events for the Forever widget.
+//
+
+<a name="x1055"></a>void Forever::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qpainter.html">QPainter</a> paint( this ); // painter object
+ int w = <a href="qwidget.html#width">width</a>();
+ int h = <a href="qwidget.html#height">height</a>();
+ if(w &lt;= 0 || h &lt;= 0)
+ return;
+ paint.<a href="qpainter.html#setPen">setPen</a>( NoPen ); // do not draw outline
+ paint.<a href="qpainter.html#setBrush">setBrush</a>( colors[rand() % numColors]);// set random brush color
+
+ <a href="qpoint.html">QPoint</a> p1( rand()%w, rand()%h ); // p1 = top left
+ <a href="qpoint.html">QPoint</a> p2( rand()%w, rand()%h ); // p2 = bottom right
+
+ <a href="qrect.html">QRect</a> r( p1, p2 );
+ paint.<a href="qpainter.html#drawRect">drawRect</a>( r ); // draw filled rectangle
+}
+
+//
+// Handles timer events for the Forever widget.
+//
+
+<a name="x1048"></a>void Forever::<a href="qobject.html#timerEvent">timerEvent</a>( <a href="qtimerevent.html">QTimerEvent</a> * )
+{
+ for ( int i=0; i&lt;100; i++ ) {
+ <a href="qwidget.html#repaint">repaint</a>( FALSE ); // repaint, don't erase
+ rectangles++;
+ }
+}
+
+
+//
+// Create and display Forever widget.
+//
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv ); // create application object
+ Forever always; // create widget
+ always.<a href="qwidget.html#resize">resize</a>( 400, 250 ); // start up with size 400x250
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;always ); // set as main widget
+ always.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Forever");
+ always.<a href="qwidget.html#show">show</a>(); // show widget
+ return a.<a href="qapplication.html#exec">exec</a>(); // run event loop
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/frames.png b/doc/html/frames.png
new file mode 100644
index 0000000..6f60e06
--- /dev/null
+++ b/doc/html/frames.png
Binary files differ
diff --git a/doc/html/ftpclient-example.html b/doc/html/ftpclient-example.html
new file mode 100644
index 0000000..0114d19
--- /dev/null
+++ b/doc/html/ftpclient-example.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/ftpclient/ftpclient.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>An FTP client</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>An FTP client</h1>
+
+
+<p>
+<p> This example implements a FTP client. It uses <a href="qftp.html">QFtp</a> to perform its FTP
+commands. The GUI parts are done in the Designer.
+<p> <hr>
+<p> The implementation of the FTP commands (ftpmainwindow.ui.h):
+<p> <pre>/****************************************************************************
+** $Id: qt/ftpmainwindow.ui.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+/****************************************************************************
+**
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** The init() function is used in place of a constructor.
+** The destroy() function is used in place of a destructor.
+** The slots uploadFile(), downloadFile(), removeFile() and connectToHost() are
+** connected with the resp. actions of the GUI.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qftp-h.html">qftp.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qprogressdialog-h.html">qprogressdialog.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include "connectdialog.h"
+#include "ftpviewitem.h"
+
+void FtpMainWindow::init()
+{
+ stateFtp = new <a href="qlabel.html">QLabel</a>( tr("Unconnected"), statusBar() );
+ statusBar()-&gt;addWidget( stateFtp, 0, TRUE );
+
+ ftp = new <a href="qftp.html">QFtp</a>( this );
+<a name="x748"></a> connect( ftp, SIGNAL(<a href="qftp.html#commandStarted">commandStarted</a>(int)),
+ SLOT(ftp_commandStarted()) );
+<a name="x747"></a> connect( ftp, SIGNAL(<a href="qftp.html#commandFinished">commandFinished</a>(int,bool)),
+ SLOT(ftp_commandFinished()) );
+<a name="x753"></a> connect( ftp, SIGNAL(<a href="qftp.html#done">done</a>(bool)),
+ SLOT(ftp_done(bool)) );
+<a name="x764"></a> connect( ftp, SIGNAL(<a href="qftp.html#stateChanged">stateChanged</a>(int)),
+ SLOT(ftp_stateChanged(int)) );
+<a name="x757"></a> connect( ftp, SIGNAL(<a href="qftp.html#listInfo">listInfo</a>(const <a href="qurlinfo.html">QUrlInfo</a> &amp;)),
+ SLOT(ftp_listInfo(const <a href="qurlinfo.html">QUrlInfo</a> &amp;)) );
+<a name="x761"></a> connect( ftp, SIGNAL(<a href="qftp.html#rawCommandReply">rawCommandReply</a>(int, const <a href="qstring.html">QString</a> &amp;)),
+ SLOT(ftp_rawCommandReply(int, const <a href="qstring.html">QString</a> &amp;)) );
+}
+
+void FtpMainWindow::destroy()
+{
+<a name="x763"></a> if ( ftp-&gt;<a href="qftp.html#state">state</a>() != QFtp::Unconnected )
+<a name="x746"></a> ftp-&gt;<a href="qftp.html#close">close</a>();
+}
+
+void FtpMainWindow::uploadFile()
+{
+<a name="x741"></a> <a href="qstring.html">QString</a> fileName = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>(
+ <a href="qstring.html#QString-null">QString::null</a>,
+ QString::null,
+ this,
+ "upload file dialog",
+ tr("Choose a file to upload") );
+<a name="x771"></a> if ( fileName.<a href="qstring.html#isNull">isNull</a>() )
+ return;
+
+ <a href="qfile.html">QFile</a> *file = new <a href="qfile.html">QFile</a>( fileName );
+ if ( !file-&gt;<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+<a name="x767"></a> QMessageBox::<a href="qmessagebox.html#critical">critical</a>( this, tr("Upload error"),
+ tr("Can't open file '%1' for reading.").arg(fileName) );
+ delete file;
+ return;
+ }
+
+ <a href="qprogressdialog.html">QProgressDialog</a> progress(
+ tr("Uploading file..."),
+ tr("Cancel"),
+ 0,
+ this,
+ "upload progress dialog",
+ TRUE );
+<a name="x752"></a> connect( ftp, SIGNAL(<a href="qftp.html#dataTransferProgress">dataTransferProgress</a>(int,int)),
+<a name="x770"></a> &amp;progress, SLOT(<a href="qprogressdialog.html#setProgress">setProgress</a>(int,int)) );
+ connect( ftp, SIGNAL(<a href="qftp.html#commandFinished">commandFinished</a>(int,bool)),
+<a name="x769"></a> &amp;progress, SLOT(<a href="qprogressdialog.html#reset">reset</a>()) );
+<a name="x768"></a> connect( &amp;progress, SIGNAL(<a href="qprogressdialog.html#cancelled">cancelled</a>()),
+<a name="x744"></a> ftp, SLOT(<a href="qftp.html#abort">abort</a>()) );
+
+ <a href="qfileinfo.html">QFileInfo</a> fi( fileName );
+<a name="x759"></a><a name="x743"></a> ftp-&gt;<a href="qftp.html#put">put</a>( file, fi.<a href="qfileinfo.html#fileName">fileName</a>() );
+<a name="x739"></a> progress.<a href="qdialog.html#exec">exec</a>(); // ### takes a lot of time!!!
+
+<a name="x756"></a> ftp-&gt;<a href="qftp.html#list">list</a>();
+}
+
+void FtpMainWindow::downloadFile()
+{
+ FtpViewItem *item = (FtpViewItem*)remoteView-&gt;selectedItem();
+ if ( !item || item-&gt;isDir() )
+ return;
+
+<a name="x742"></a> <a href="qstring.html">QString</a> fileName = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+<a name="x766"></a> item-&gt;<a href="qlistviewitem.html#text">text</a>(0),
+ QString::null,
+ this,
+ "download file dialog",
+ tr("Save downloaded file as") );
+ if ( fileName.<a href="qstring.html#isNull">isNull</a>() )
+ return;
+
+ // create file on the heap because it has to be valid throughout the whole
+ // asynchronous download operation
+ <a href="qfile.html">QFile</a> *file = new <a href="qfile.html">QFile</a>( fileName );
+ if ( !file-&gt;<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ QMessageBox::<a href="qmessagebox.html#critical">critical</a>( this, tr("Download error"),
+ tr("Can't open file '%1' for writing.").arg(fileName) );
+ delete file;
+ return;
+ }
+
+ <a href="qprogressdialog.html">QProgressDialog</a> progress(
+ tr("Downloading file..."),
+ tr("Cancel"),
+ 0,
+ this,
+ "download progress dialog",
+ TRUE );
+ connect( ftp, SIGNAL(<a href="qftp.html#dataTransferProgress">dataTransferProgress</a>(int,int)),
+ &amp;progress, SLOT(<a href="qprogressdialog.html#setProgress">setProgress</a>(int,int)) );
+ connect( ftp, SIGNAL(<a href="qftp.html#commandFinished">commandFinished</a>(int,bool)),
+ &amp;progress, SLOT(<a href="qprogressdialog.html#reset">reset</a>()) );
+ connect( &amp;progress, SIGNAL(<a href="qprogressdialog.html#cancelled">cancelled</a>()),
+ ftp, SLOT(<a href="qftp.html#abort">abort</a>()) );
+
+<a name="x755"></a> ftp-&gt;<a href="qftp.html#get">get</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>(0), file );
+ progress.<a href="qdialog.html#exec">exec</a>(); // ### takes a lot of time!!!
+}
+
+void FtpMainWindow::removeFile()
+{
+ FtpViewItem *item = (FtpViewItem*)remoteView-&gt;selectedItem();
+ if ( !item || item-&gt;isDir() )
+ return;
+
+<a name="x762"></a> ftp-&gt;<a href="qftp.html#remove">remove</a>( item-&gt;<a href="qlistviewitem.html#text">text</a>(0) );
+ ftp-&gt;<a href="qftp.html#list">list</a>();
+}
+
+void FtpMainWindow::connectToHost()
+{
+ ConnectDialog connectDialog;
+ if ( connectDialog.exec() == QDialog::Rejected )
+ return;
+
+ remotePath-&gt;clear();
+ remoteView-&gt;clear();
+
+ if ( ftp-&gt;<a href="qftp.html#state">state</a>() != QFtp::Unconnected )
+ ftp-&gt;<a href="qftp.html#close">close</a>();
+
+<a name="x749"></a> ftp-&gt;<a href="qftp.html#connectToHost">connectToHost</a>( connectDialog.host-&gt;text(), connectDialog.port-&gt;value() );
+<a name="x758"></a> ftp-&gt;<a href="qftp.html#login">login</a>( connectDialog.username-&gt;text(), connectDialog.password-&gt;text() );
+<a name="x760"></a> ftp-&gt;<a href="qftp.html#rawCommand">rawCommand</a>( "PWD" );
+ ftp-&gt;<a href="qftp.html#list">list</a>();
+}
+
+// This slot is connected to the QComboBox::activated() signal of the
+// remotePath.
+void FtpMainWindow::changePath( const <a href="qstring.html">QString</a> &amp;newPath )
+{
+<a name="x745"></a> ftp-&gt;<a href="qftp.html#cd">cd</a>( newPath );
+ ftp-&gt;<a href="qftp.html#rawCommand">rawCommand</a>( "PWD" );
+ ftp-&gt;<a href="qftp.html#list">list</a>();
+}
+
+// This slot is connected to the QListView::doubleClicked() and
+// QListView::returnPressed() signals of the remoteView.
+void FtpMainWindow::changePathOrDownload( <a href="qlistviewitem.html">QListViewItem</a> *item )
+{
+ if ( ((FtpViewItem*)item)-&gt;isDir() )
+ changePath( item-&gt;<a href="qlistviewitem.html#text">text</a>(0) );
+ else
+ downloadFile();
+}
+
+/****************************************************************************
+**
+** Slots connected to signals of the QFtp class
+**
+*****************************************************************************/
+
+void FtpMainWindow::ftp_commandStarted()
+{
+<a name="x738"></a> QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( QCursor(Qt::WaitCursor) );
+<a name="x750"></a> if ( ftp-&gt;<a href="qftp.html#currentCommand">currentCommand</a>() == QFtp::List ) {
+ remoteView-&gt;clear();
+ if ( currentFtpDir != "/" )
+ new FtpViewItem( remoteView, FtpViewItem::Directory, "..", "", "" );
+ }
+}
+
+void FtpMainWindow::ftp_commandFinished()
+{
+<a name="x737"></a> QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>();
+<a name="x751"></a> delete ftp-&gt;<a href="qftp.html#currentDevice">currentDevice</a>();
+}
+
+void FtpMainWindow::ftp_done( bool error )
+{
+ if ( error ) {
+<a name="x754"></a> QMessageBox::<a href="qmessagebox.html#critical">critical</a>( this, tr("FTP Error"), ftp-&gt;<a href="qftp.html#errorString">errorString</a>() );
+
+ // If we are connected, but not logged in, it is not meaningful to stay
+ // connected to the server since the error is a really fatal one (login
+ // failed).
+ if ( ftp-&gt;<a href="qftp.html#state">state</a>() == QFtp::Connected )
+ ftp-&gt;<a href="qftp.html#close">close</a>();
+ }
+}
+
+void FtpMainWindow::ftp_stateChanged( int state )
+{
+ switch ( (QFtp::State)state ) {
+ case QFtp::Unconnected:
+<a name="x765"></a> stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Unconnected") );
+ break;
+ case QFtp::HostLookup:
+ stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Host lookup") );
+ break;
+ case QFtp::Connecting:
+ stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Connecting") );
+ break;
+ case QFtp::Connected:
+ stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Connected") );
+ break;
+ case QFtp::LoggedIn:
+ stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Logged in") );
+ break;
+ case QFtp::Closing:
+ stateFtp-&gt;<a href="qlabel.html#setText">setText</a>( tr("Closing") );
+ break;
+ }
+}
+
+void FtpMainWindow::ftp_listInfo( const <a href="qurlinfo.html">QUrlInfo</a> &amp;i )
+{
+ FtpViewItem::Type type;
+<a name="x773"></a> if ( i.<a href="qurlinfo.html#isDir">isDir</a>() )
+ type = FtpViewItem::Directory;
+ else
+ type = FtpViewItem::File;
+
+ new FtpViewItem( remoteView, type,
+<a name="x776"></a><a name="x775"></a><a name="x774"></a> i.<a href="qurlinfo.html#name">name</a>(), QString::number(i.<a href="qurlinfo.html#size">size</a>()), i.<a href="qurlinfo.html#lastModified">lastModified</a>().toString() );
+}
+
+void FtpMainWindow::ftp_rawCommandReply( int code, const <a href="qstring.html">QString</a> &amp;text )
+{
+ if ( code == 257 ) {
+<a name="x772"></a> currentFtpDir = text.<a href="qstring.html#section">section</a>( '"', 1, 1 );
+
+ for ( int i = 0; i&lt;remotePath-&gt;count(); i++ ) {
+ // make sure that we don't insert duplicates
+ if ( remotePath-&gt;text( i ) == currentFtpDir )
+ remotePath-&gt;removeItem( i );
+ }
+ remotePath-&gt;insertItem( currentFtpDir, 0 );
+ remotePath-&gt;setCurrentItem( 0 );
+ }
+}
+</pre>
+
+<p> <hr>
+<p> Main (main.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "ftpmainwindow.h"
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ FtpMainWindow m;
+<a name="x779"></a> a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;m );
+ m.show();
+<a name="x778"></a> a.<a href="qapplication.html#processEvents">processEvents</a>();
+ m.connectToHost();
+<a name="x777"></a> return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/functions.html b/doc/html/functions.html
new file mode 100644
index 0000000..a780320
--- /dev/null
+++ b/doc/html/functions.html
@@ -0,0 +1,3703 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/functions.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Member Function Index</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Member Function Index</h1>
+
+
+
+<p> Here is the list of all the documented member functions in the Qt
+API with links to the class documentation for each function.
+<p> <p>
+<center><font size=+1><b><a href="#a">A</a> <a href="#b">B</a> <a href="#c">C</a> <a href="#d">D</a> <a href="#e">E</a> <a href="#f">F</a> <a href="#g">G</a> <a href="#h">H</a> <a href="#i">I</a> <a href="#j">J</a> <a href="#k">K</a> <a href="#l">L</a> <a href="#m">M</a> <a href="#n">N</a> <a href="#o">O</a> <a href="#p">P</a> <a href="#q">Q</a> <a href="#r">R</a> <a href="#s">S</a> <a href="#t">T</a> <a href="#u">U</a> <a href="#v">V</a> <a href="#w">W</a> <a href="#x">X</a> <a href="#y">Y</a> <a href="#z">Z</a> </b></font></center>
+<ul>
+<li>DTDHandler:
+ <a href="qxmlreader.html#DTDHandler">QXmlReader</a><li>Q_ASSERT:
+ <a href="qapplication.html#Q_ASSERT">QApplication</a><li>Q_CHECK_PTR:
+ <a href="qapplication.html#Q_CHECK_PTR">QApplication</a><li><a name="a"></a>
+abort:
+ <a href="qftp.html#abort">QFtp</a> <a href="qhttp.html#abort">QHttp</a> <a href="qprinter.html#abort">QPrinter</a><li>aborted:
+ <a href="qprinter.html#aborted">QPrinter</a><li>about:
+ <a href="qmessagebox.html#about">QMessageBox</a><li>aboutQt:
+ <a href="qapplication.html#aboutQt">QApplication</a> <a href="qmessagebox.html#aboutQt">QMessageBox</a><li>aboutToBlock:
+ <a href="qeventloop.html#aboutToBlock">QEventLoop</a><li>aboutToHide:
+ <a href="qpopupmenu.html#aboutToHide">QPopupMenu</a><li>aboutToQuit:
+ <a href="qapplication.html#aboutToQuit">QApplication</a><li>aboutToShow:
+ <a href="qpopupmenu.html#aboutToShow">QPopupMenu</a> <a href="qtabdialog.html#aboutToShow">QTabDialog</a> <a href="qwidgetstack.html#aboutToShow">QWidgetStack</a><li>absFilePath:
+ <a href="qdir.html#absFilePath">QDir</a> <a href="qfileinfo.html#absFilePath">QFileInfo</a><li>absPath:
+ <a href="qdir.html#absPath">QDir</a><li>accel:
+ <a href="qaction.html#accel">QAction</a> <a href="qbutton.html#accel">QButton</a> <a href="qbutton.html#accel">QCheckBox</a> <a href="qmenudata.html#accel">QMenuData</a> <a href="qmenudata.html#accel">QPopupMenu</a> <a href="qbutton.html#accel">QPushButton</a> <a href="qbutton.html#accel">QRadioButton</a><li>accept:
+ <a href="qcloseevent.html#accept">QCloseEvent</a> <a href="qcontextmenuevent.html#accept">QContextMenuEvent</a> <a href="qdialog.html#accept">QDialog</a> <a href="qdragmoveevent.html#accept">QDragMoveEvent</a> <a href="qdropevent.html#accept">QDropEvent</a> <a href="qimevent.html#accept">QIMEvent</a> <a href="qicondragevent.html#accept">QIconDragEvent</a> <a href="qkeyevent.html#accept">QKeyEvent</a> <a href="qmouseevent.html#accept">QMouseEvent</a> <a href="qsocketdevice.html#accept">QSocketDevice</a> <a href="qtabletevent.html#accept">QTabletEvent</a> <a href="qwheelevent.html#accept">QWheelEvent</a><li>acceptAction:
+ <a href="qdropevent.html#acceptAction">QDropEvent</a><li>acceptCallback:
+ <a href="qmotifdialog.html#acceptCallback">QMotifDialog</a><li>acceptDrop:
+ <a href="qiconviewitem.html#acceptDrop">QIconViewItem</a> <a href="qlistviewitem.html#acceptDrop">QListViewItem</a><li>acceptDrops:
+ <a href="qwidget.html#acceptDrops">QWidget</a><li>accum:
+ <a href="qglformat.html#accum">QGLFormat</a><li>action:
+ <a href="qdropevent.html#action">QDropEvent</a><li>activate:
+ <a href="qaction.html#activate">QAction</a> <a href="qchecklistitem.html#activate">QCheckListItem</a> <a href="qlayout.html#activate">QLayout</a> <a href="qlistviewitem.html#activate">QListViewItem</a> <a href="qsignal.html#activate">QSignal</a><li>activateItemAt:
+ <a href="qmenudata.html#activateItemAt">QMenuData</a><li>activateNextCell:
+ <a href="qtable.html#activateNextCell">QTable</a><li>activateNextWindow:
+ <a href="qworkspace.html#activateNextWindow">QWorkspace</a><li>activatePrevWindow:
+ <a href="qworkspace.html#activatePrevWindow">QWorkspace</a><li>activateSocketNotifiers:
+ <a href="qeventloop.html#activateSocketNotifiers">QEventLoop</a><li>activateTimers:
+ <a href="qeventloop.html#activateTimers">QEventLoop</a><li>activated:
+ <a href="qaccel.html#activated">QAccel</a> <a href="qaction.html#activated">QAction</a> <a href="qcombobox.html#activated">QComboBox</a> <a href="qmenubar.html#activated">QMenuBar</a> <a href="qpopupmenu.html#activated">QPopupMenu</a> <a href="qsocketnotifier.html#activated">QSocketNotifier</a><li>activatedAmbiguously:
+ <a href="qaccel.html#activatedAmbiguously">QAccel</a><li>activatedPos:
+ <a href="qlistviewitem.html#activatedPos">QListViewItem</a><li>active:
+ <a href="qpalette.html#active">QPalette</a><li>activeModalWidget:
+ <a href="qapplication.html#activeModalWidget">QApplication</a><li>activePopupWidget:
+ <a href="qapplication.html#activePopupWidget">QApplication</a><li>activeWindow:
+ <a href="qapplication.html#activeWindow">QApplication</a> <a href="qworkspace.html#activeWindow">QWorkspace</a><li>actual:
+ <a href="qnplugin.html#actual">QNPlugin</a><li>add:
+ <a href="qactiongroup.html#add">QActionGroup</a> <a href="qgridlayout.html#add">QGridLayout</a> <a href="qlayout.html#add">QLayout</a> <a href="qobjectcleanuphandler.html#add">QObjectCleanupHandler</a> <a href="qtooltip.html#add">QToolTip</a> <a href="qwhatsthis.html#add">QWhatsThis</a><li>addArgument:
+ <a href="qprocess.html#addArgument">QProcess</a><li>addBindValue:
+ <a href="qsqlquery.html#addBindValue">QSqlQuery</a><li>addChild:
+ <a href="qscrollview.html#addChild">QScrollView</a><li>addChildLayout:
+ <a href="qlayout.html#addChildLayout">QLayout</a><li>addColumn:
+ <a href="qdatatable.html#addColumn">QDataTable</a> <a href="qlistview.html#addColumn">QListView</a><li>addCoords:
+ <a href="qrect.html#addCoords">QRect</a><li>addDatabase:
+ <a href="qsqldatabase.html#addDatabase">QSqlDatabase</a><li>addDays:
+ <a href="qdate.html#addDays">QDate</a> <a href="qdatetime.html#addDays">QDateTime</a><li>addDockWindow:
+ <a href="qmainwindow.html#addDockWindow">QMainWindow</a><li>addFactory:
+ <a href="qmimesourcefactory.html#addFactory">QMimeSourceFactory</a><li>addFilePath:
+ <a href="qmimesourcefactory.html#addFilePath">QMimeSourceFactory</a><li>addFilter:
+ <a href="qfiledialog.html#addFilter">QFileDialog</a><li>addItem:
+ <a href="qaxscriptengine.html#addItem">QAxScriptEngine</a> <a href="qboxlayout.html#addItem">QBoxLayout</a> <a href="qgridlayout.html#addItem">QGridLayout</a> <a href="qlayout.html#addItem">QLayout</a> <a href="qtoolbox.html#addItem">QToolBox</a><li>addLabel:
+ <a href="qheader.html#addLabel">QHeader</a><li>addLayout:
+ <a href="qboxlayout.html#addLayout">QBoxLayout</a> <a href="qgridlayout.html#addLayout">QGridLayout</a><li>addLeftWidget:
+ <a href="qfiledialog.html#addLeftWidget">QFileDialog</a><li>addLibraryPath:
+ <a href="qapplication.html#addLibraryPath">QApplication</a><li>addLine:
+ <a href="qdial.html#addLine">QDial</a> <a href="qrangecontrol.html#addLine">QRangeControl</a><li>addMSecs:
+ <a href="qtime.html#addMSecs">QTime</a><li>addMonths:
+ <a href="qdate.html#addMonths">QDate</a> <a href="qdatetime.html#addMonths">QDateTime</a><li>addMultiCell:
+ <a href="qgridlayout.html#addMultiCell">QGridLayout</a><li>addMultiCellLayout:
+ <a href="qgridlayout.html#addMultiCellLayout">QGridLayout</a><li>addMultiCellWidget:
+ <a href="qgridlayout.html#addMultiCellWidget">QGridLayout</a><li>addObject:
+ <a href="qaxscriptmanager.html#addObject">QAxScriptManager</a><li>addOperation:
+ <a href="qnetworkprotocol.html#addOperation">QNetworkProtocol</a><li>addPage:
+ <a href="qdial.html#addPage">QDial</a> <a href="qrangecontrol.html#addPage">QRangeControl</a> <a href="qwizard.html#addPage">QWizard</a><li>addPath:
+ <a href="qurl.html#addPath">QUrl</a><li>addRightWidget:
+ <a href="qfiledialog.html#addRightWidget">QFileDialog</a><li>addSecs:
+ <a href="qdatetime.html#addSecs">QDateTime</a> <a href="qtime.html#addSecs">QTime</a><li>addSelection:
+ <a href="qtable.html#addSelection">QTable</a><li>addSeparator:
+ <a href="qactiongroup.html#addSeparator">QActionGroup</a> <a href="qtoolbar.html#addSeparator">QToolBar</a><li>addSpace:
+ <a href="qgroupbox.html#addSpace">QGroupBox</a><li>addSpacing:
+ <a href="qboxlayout.html#addSpacing">QBoxLayout</a><li>addStep:
+ <a href="qslider.html#addStep">QSlider</a><li>addStretch:
+ <a href="qboxlayout.html#addStretch">QBoxLayout</a><li>addStrut:
+ <a href="qboxlayout.html#addStrut">QBoxLayout</a><li>addTab:
+ <a href="qtabbar.html#addTab">QTabBar</a> <a href="qtabdialog.html#addTab">QTabDialog</a> <a href="qtabwidget.html#addTab">QTabWidget</a><li>addTo:
+ <a href="qaction.html#addTo">QAction</a> <a href="qactiongroup.html#addTo">QActionGroup</a><li>addToolButton:
+ <a href="qfiledialog.html#addToolButton">QFileDialog</a><li>addWidget:
+ <a href="qboxlayout.html#addWidget">QBoxLayout</a> <a href="qgridlayout.html#addWidget">QGridLayout</a> <a href="qstatusbar.html#addWidget">QStatusBar</a> <a href="qwidgetstack.html#addWidget">QWidgetStack</a><li>addWidgetFactory:
+ <a href="qwidgetfactory.html#addWidgetFactory">QWidgetFactory</a><li>addWidgets:
+ <a href="qfiledialog.html#addWidgets">QFileDialog</a><li>addYears:
+ <a href="qdate.html#addYears">QDate</a> <a href="qdatetime.html#addYears">QDateTime</a><li>addedTo:
+ <a href="qaction.html#addedTo">QAction</a><li>address:
+ <a href="qserversocket.html#address">QServerSocket</a> <a href="qsocket.html#address">QSocket</a> <a href="qsocketdevice.html#address">QSocketDevice</a><li>addressReusable:
+ <a href="qsocketdevice.html#addressReusable">QSocketDevice</a><li>addresses:
+ <a href="qdns.html#addresses">QDns</a><li>adjustColumn:
+ <a href="qdatatable.html#adjustColumn">QDataTable</a> <a href="qlistview.html#adjustColumn">QListView</a> <a href="qtable.html#adjustColumn">QTable</a><li>adjustHeaderSize:
+ <a href="qheader.html#adjustHeaderSize">QHeader</a><li>adjustItems:
+ <a href="qiconview.html#adjustItems">QIconView</a><li>adjustPos:
+ <a href="qsplitter.html#adjustPos">QSplitter</a><li>adjustRow:
+ <a href="qtable.html#adjustRow">QTable</a><li>adjustSize:
+ <a href="qmessagebox.html#adjustSize">QMessageBox</a> <a href="qsimplerichtext.html#adjustSize">QSimpleRichText</a> <a href="qwidget.html#adjustSize">QWidget</a><li>advance:
+ <a href="qcanvas.html#advance">QCanvas</a> <a href="qcanvasitem.html#advance">QCanvasItem</a> <a href="qcanvassprite.html#advance">QCanvasSprite</a><li>afterSeek:
+ <a href="qsqlquery.html#afterSeek">QSqlQuery</a><li>alignment:
+ <a href="qgroupbox.html#alignment">QGroupBox</a> <a href="qlabel.html#alignment">QLabel</a> <a href="qlayoutitem.html#alignment">QLayoutItem</a> <a href="qlineedit.html#alignment">QLineEdit</a> <a href="qmultilineedit.html#alignment">QMultiLineEdit</a> <a href="qstylesheetitem.html#alignment">QStyleSheetItem</a> <a href="qtableitem.html#alignment">QTableItem</a> <a href="qtextedit.html#alignment">QTextEdit</a><li>alignmentRect:
+ <a href="qlayout.html#alignmentRect">QLayout</a><li>all:
+ <a href="qmacmime.html#all">QMacMime</a> <a href="qwindowsmime.html#all">QWindowsMime</a><li>allColumnsShowFocus:
+ <a href="qlistview.html#allColumnsShowFocus">QListView</a><li>allGray:
+ <a href="qimage.html#allGray">QImage</a><li>allItems:
+ <a href="qcanvas.html#allItems">QCanvas</a><li>allWidgets:
+ <a href="qapplication.html#allWidgets">QApplication</a><li>alloc:
+ <a href="qcolor.html#alloc">QColor</a> <a href="qscreen.html#alloc">QScreen</a><li>allocation:
+ <a href="qwswindow.html#allocation">QWSWindow</a><li>allowedInContext:
+ <a href="qstylesheetitem.html#allowedInContext">QStyleSheetItem</a><li>allowsErrorInteraction:
+ <a href="qsessionmanager.html#allowsErrorInteraction">QSessionManager</a><li>allowsInteraction:
+ <a href="qsessionmanager.html#allowsInteraction">QSessionManager</a><li>alpha:
+ <a href="qglformat.html#alpha">QGLFormat</a><li>anchorAt:
+ <a href="qsimplerichtext.html#anchorAt">QSimpleRichText</a> <a href="qtextedit.html#anchorAt">QTextEdit</a><li>anchorClicked:
+ <a href="qtextbrowser.html#anchorClicked">QTextBrowser</a><li>anchorCol:
+ <a href="qtableselection.html#anchorCol">QTableSelection</a><li>anchorRow:
+ <a href="qtableselection.html#anchorRow">QTableSelection</a><li>angleLength:
+ <a href="qcanvasellipse.html#angleLength">QCanvasEllipse</a><li>angleStart:
+ <a href="qcanvasellipse.html#angleStart">QCanvasEllipse</a><li>animateClick:
+ <a href="qbutton.html#animateClick">QButton</a><li>animated:
+ <a href="qcanvasitem.html#animated">QCanvasItem</a><li>answerRect:
+ <a href="qdragmoveevent.html#answerRect">QDragMoveEvent</a><li>appID:
+ <a href="qaxfactory.html#appID">QAxFactory</a><li>append:
+ <a href="qcstring.html#append">QCString</a> <a href="qicondrag.html#append">QIconDrag</a> <a href="qptrlist.html#append">QPtrList</a> <a href="qsqlcursor.html#append">QSqlCursor</a> <a href="qsqlindex.html#append">QSqlIndex</a> <a href="qsqlrecord.html#append">QSqlRecord</a> <a href="qstring.html#append">QString</a> <a href="qtextedit.html#append">QTextEdit</a> <a href="qvaluelist.html#append">QValueList</a> <a href="qvaluevector.html#append">QValueVector</a> <a href="qxmlattributes.html#append">QXmlAttributes</a><li>appendChild:
+ <a href="qdomnode.html#appendChild">QDomNode</a><li>appendData:
+ <a href="qdomcharacterdata.html#appendData">QDomCharacterData</a><li>applicationContext:
+ <a href="qmotif.html#applicationContext">QMotif</a><li>applicationDirPath:
+ <a href="qapplication.html#applicationDirPath">QApplication</a><li>applicationFilePath:
+ <a href="qapplication.html#applicationFilePath">QApplication</a><li>applyButtonPressed:
+ <a href="qtabdialog.html#applyButtonPressed">QTabDialog</a><li>appropriate:
+ <a href="qmainwindow.html#appropriate">QMainWindow</a> <a href="qwizard.html#appropriate">QWizard</a><li>area:
+ <a href="qdockwindow.html#area">QDockWindow</a><li>areaPoints:
+ <a href="qcanvaspolygon.html#areaPoints">QCanvasPolygon</a> <a href="qcanvaspolygonalitem.html#areaPoints">QCanvasPolygonalItem</a><li>areaPointsAdvanced:
+ <a href="qcanvaspolygonalitem.html#areaPointsAdvanced">QCanvasPolygonalItem</a><li>arg:
+ <a href="qnpinstance.html#arg">QNPInstance</a> <a href="qnetworkoperation.html#arg">QNetworkOperation</a> <a href="qstring.html#arg">QString</a><li>argc:
+ <a href="qapplication.html#argc">QApplication</a> <a href="qnpinstance.html#argc">QNPInstance</a><li>argn:
+ <a href="qnpinstance.html#argn">QNPInstance</a><li>arguments:
+ <a href="qprocess.html#arguments">QProcess</a><li>argv:
+ <a href="qapplication.html#argv">QApplication</a> <a href="qnpinstance.html#argv">QNPInstance</a><li>arrangeItemsInGrid:
+ <a href="qiconview.html#arrangeItemsInGrid">QIconView</a><li>arrangement:
+ <a href="qiconview.html#arrangement">QIconView</a><li>arrowType:
+ <a href="qstyleoption.html#arrowType">QStyleOption</a><li>asBitArray:
+ <a href="qvariant.html#asBitArray">QVariant</a><li>asBitmap:
+ <a href="qvariant.html#asBitmap">QVariant</a><li>asBool:
+ <a href="qvariant.html#asBool">QVariant</a><li>asBrush:
+ <a href="qvariant.html#asBrush">QVariant</a><li>asByteArray:
+ <a href="qvariant.html#asByteArray">QVariant</a><li>asCString:
+ <a href="qvariant.html#asCString">QVariant</a><li>asColor:
+ <a href="qvariant.html#asColor">QVariant</a><li>asColorGroup:
+ <a href="qvariant.html#asColorGroup">QVariant</a><li>asCursor:
+ <a href="qvariant.html#asCursor">QVariant</a><li>asDate:
+ <a href="qvariant.html#asDate">QVariant</a><li>asDateTime:
+ <a href="qvariant.html#asDateTime">QVariant</a><li>asDouble:
+ <a href="qvariant.html#asDouble">QVariant</a><li>asFont:
+ <a href="qvariant.html#asFont">QVariant</a><li>asIconSet:
+ <a href="qvariant.html#asIconSet">QVariant</a><li>asImage:
+ <a href="qvariant.html#asImage">QVariant</a><li>asInt:
+ <a href="qvariant.html#asInt">QVariant</a><li>asKeySequence:
+ <a href="qvariant.html#asKeySequence">QVariant</a><li>asList:
+ <a href="qvariant.html#asList">QVariant</a><li>asLongLong:
+ <a href="qvariant.html#asLongLong">QVariant</a><li>asMap:
+ <a href="qvariant.html#asMap">QVariant</a><li>asPalette:
+ <a href="qvariant.html#asPalette">QVariant</a><li>asPen:
+ <a href="qvariant.html#asPen">QVariant</a><li>asPixmap:
+ <a href="qvariant.html#asPixmap">QVariant</a><li>asPoint:
+ <a href="qvariant.html#asPoint">QVariant</a><li>asPointArray:
+ <a href="qvariant.html#asPointArray">QVariant</a><li>asRect:
+ <a href="qvariant.html#asRect">QVariant</a><li>asRegion:
+ <a href="qvariant.html#asRegion">QVariant</a><li>asSize:
+ <a href="qvariant.html#asSize">QVariant</a><li>asSizePolicy:
+ <a href="qvariant.html#asSizePolicy">QVariant</a><li>asString:
+ <a href="qvariant.html#asString">QVariant</a><li>asStringList:
+ <a href="qvariant.html#asStringList">QVariant</a><li>asTime:
+ <a href="qvariant.html#asTime">QVariant</a><li>asUInt:
+ <a href="qvariant.html#asUInt">QVariant</a><li>asULongLong:
+ <a href="qvariant.html#asULongLong">QVariant</a><li>asVariant:
+ <a href="qaxbase.html#asVariant">QAxBase</a><li>ascent:
+ <a href="qfontmetrics.html#ascent">QFontMetrics</a><li>ascii:
+ <a href="qkeyevent.html#ascii">QKeyEvent</a> <a href="qstring.html#ascii">QString</a><li>assign:
+ <a href="qmemarray.html#assign">QMemArray</a><li>assistantClosed:
+ <a href="qassistantclient.html#assistantClosed">QAssistantClient</a><li>assistantOpened:
+ <a href="qassistantclient.html#assistantOpened">QAssistantClient</a><li>at:
+ <a href="qbitarray.html#at">QBitArray</a> <a href="qiodevice.html#at">QIODevice</a> <a href="qmemarray.html#at">QMemArray</a> <a href="qptrlist.html#at">QPtrList</a> <a href="qptrvector.html#at">QPtrVector</a> <a href="qsocket.html#at">QSocket</a> <a href="qsqlquery.html#at">QSqlQuery</a> <a href="qsqlresult.html#at">QSqlResult</a> <a href="qstring.html#at">QString</a> <a href="qvaluelist.html#at">QValueList</a> <a href="qvaluevector.html#at">QValueVector</a><li>atBeginning:
+ <a href="qmultilineedit.html#atBeginning">QMultiLineEdit</a><li>atEnd:
+ <a href="qdatastream.html#atEnd">QDataStream</a> <a href="qfile.html#atEnd">QFile</a> <a href="qiodevice.html#atEnd">QIODevice</a> <a href="qmultilineedit.html#atEnd">QMultiLineEdit</a> <a href="qsocket.html#atEnd">QSocket</a> <a href="qtextstream.html#atEnd">QTextStream</a><li>atFirst:
+ <a href="qasciicacheiterator.html#atFirst">QAsciiCacheIterator</a> <a href="qcacheiterator.html#atFirst">QCacheIterator</a> <a href="qintcacheiterator.html#atFirst">QIntCacheIterator</a> <a href="qptrlistiterator.html#atFirst">QPtrListIterator</a><li>atLast:
+ <a href="qasciicacheiterator.html#atLast">QAsciiCacheIterator</a> <a href="qcacheiterator.html#atLast">QCacheIterator</a> <a href="qintcacheiterator.html#atLast">QIntCacheIterator</a> <a href="qptrlistiterator.html#atLast">QPtrListIterator</a><li>attribute:
+ <a href="qdomelement.html#attribute">QDomElement</a><li>attributeDecl:
+ <a href="qxmldeclhandler.html#attributeDecl">QXmlDeclHandler</a><li>attributeNS:
+ <a href="qdomelement.html#attributeNS">QDomElement</a><li>attributeNode:
+ <a href="qdomelement.html#attributeNode">QDomElement</a><li>attributeNodeNS:
+ <a href="qdomelement.html#attributeNodeNS">QDomElement</a><li>attributes:
+ <a href="qdomelement.html#attributes">QDomElement</a> <a href="qdomnode.html#attributes">QDomNode</a><li>autoAdd:
+ <a href="qlayout.html#autoAdd">QLayout</a><li>autoAdvance:
+ <a href="qdateedit.html#autoAdvance">QDateEdit</a> <a href="qdatetimeedit.html#autoAdvance">QDateTimeEdit</a> <a href="qtimeedit.html#autoAdvance">QTimeEdit</a><li>autoArrange:
+ <a href="qiconview.html#autoArrange">QIconView</a><li>autoBufferSwap:
+ <a href="qglwidget.html#autoBufferSwap">QGLWidget</a><li>autoClose:
+ <a href="qprogressdialog.html#autoClose">QProgressDialog</a><li>autoCompletion:
+ <a href="qcombobox.html#autoCompletion">QComboBox</a><li>autoDefault:
+ <a href="qpushbutton.html#autoDefault">QPushButton</a><li>autoDelete:
+ <a href="qptrcollection.html#autoDelete">QAsciiDict</a> <a href="qptrcollection.html#autoDelete">QCache</a> <a href="qdatatable.html#autoDelete">QDataTable</a> <a href="qptrcollection.html#autoDelete">QDict</a> <a href="qiconfactory.html#autoDelete">QIconFactory</a> <a href="qptrcollection.html#autoDelete">QIntDict</a> <a href="qnetworkprotocol.html#autoDelete">QNetworkProtocol</a> <a href="qptrcollection.html#autoDelete">QPtrCollection</a> <a href="qptrcollection.html#autoDelete">QPtrDict</a> <a href="qptrcollection.html#autoDelete">QPtrList</a> <a href="qptrqueue.html#autoDelete">QPtrQueue</a> <a href="qptrstack.html#autoDelete">QPtrStack</a> <a href="qptrcollection.html#autoDelete">QPtrVector</a><li>autoEdit:
+ <a href="qdatabrowser.html#autoEdit">QDataBrowser</a> <a href="qdatatable.html#autoEdit">QDataTable</a><li>autoFormatting:
+ <a href="qtextedit.html#autoFormatting">QTextEdit</a><li>autoMask:
+ <a href="qwidget.html#autoMask">QWidget</a><li>autoRaise:
+ <a href="qtoolbutton.html#autoRaise">QToolButton</a><li>autoRepeat:
+ <a href="qbutton.html#autoRepeat">QButton</a> <a href="qbutton.html#autoRepeat">QCheckBox</a> <a href="qbutton.html#autoRepeat">QPushButton</a> <a href="qbutton.html#autoRepeat">QRadioButton</a><li>autoReset:
+ <a href="qprogressdialog.html#autoReset">QProgressDialog</a><li>autoUnload:
+ <a href="qlibrary.html#autoUnload">QLibrary</a><li>available:
+ <a href="qsemaphore.html#available">QSemaphore</a> <a href="qsound.html#available">QSound</a><li>availableGeometry:
+ <a href="qdesktopwidget.html#availableGeometry">QDesktopWidget</a><li>awake:
+ <a href="qeventloop.html#awake">QEventLoop</a><li><a name="b"></a>
+back:
+ <a href="qvaluelist.html#back">QValueList</a> <a href="qvaluevector.html#back">QValueVector</a> <a href="qwizard.html#back">QWizard</a><li>backButton:
+ <a href="qwizard.html#backButton">QWizard</a><li>background:
+ <a href="qcolorgroup.html#background">QColorGroup</a><li>backgroundBrush:
+ <a href="qwidget.html#backgroundBrush">QWidget</a><li>backgroundColor:
+ <a href="qcanvas.html#backgroundColor">QCanvas</a> <a href="qmovie.html#backgroundColor">QMovie</a> <a href="qpainter.html#backgroundColor">QPainter</a><li>backgroundMode:
+ <a href="qpainter.html#backgroundMode">QPainter</a> <a href="qwidget.html#backgroundMode">QWidget</a><li>backgroundOrigin:
+ <a href="qwidget.html#backgroundOrigin">QWidget</a><li>backgroundPixmap:
+ <a href="qcanvas.html#backgroundPixmap">QCanvas</a><li>backspace:
+ <a href="qlineedit.html#backspace">QLineEdit</a> <a href="qmultilineedit.html#backspace">QMultiLineEdit</a><li>backward:
+ <a href="qtextbrowser.html#backward">QTextBrowser</a><li>backwardAvailable:
+ <a href="qtextbrowser.html#backwardAvailable">QTextBrowser</a><li>base:
+ <a href="qcolorgroup.html#base">QColorGroup</a> <a href="qscreen.html#base">QScreen</a><li>baseName:
+ <a href="qfileinfo.html#baseName">QFileInfo</a><li>baseSize:
+ <a href="qwidget.html#baseSize">QWidget</a><li>beep:
+ <a href="qapplication.html#beep">QApplication</a><li>beforeDelete:
+ <a href="qdatabrowser.html#beforeDelete">QDataBrowser</a> <a href="qdatatable.html#beforeDelete">QDataTable</a><li>beforeInsert:
+ <a href="qdatabrowser.html#beforeInsert">QDataBrowser</a> <a href="qdatatable.html#beforeInsert">QDataTable</a><li>beforeSeek:
+ <a href="qsqlquery.html#beforeSeek">QSqlQuery</a><li>beforeUpdate:
+ <a href="qdatabrowser.html#beforeUpdate">QDataBrowser</a> <a href="qdatatable.html#beforeUpdate">QDataTable</a><li>begin:
+ <a href="qmap.html#begin">QMap</a> <a href="qmemarray.html#begin">QMemArray</a> <a href="qpainter.html#begin">QPainter</a> <a href="qvaluelist.html#begin">QValueList</a> <a href="qvaluevector.html#begin">QValueVector</a><li>beginEdit:
+ <a href="qtable.html#beginEdit">QTable</a><li>beginGroup:
+ <a href="qsettings.html#beginGroup">QSettings</a><li>beginInsert:
+ <a href="qdatatable.html#beginInsert">QDataTable</a><li>beginTransaction:
+ <a href="qsqldriver.html#beginTransaction">QSqlDriver</a><li>beginUpdate:
+ <a href="qdatatable.html#beginUpdate">QDataTable</a><li>bind:
+ <a href="qsocketdevice.html#bind">QSocketDevice</a><li>bindValue:
+ <a href="qsqlquery.html#bindValue">QSqlQuery</a><li>bitBlt:
+ <a href="qimage.html#bitBlt">QImage</a> <a href="qpaintdevice.html#bitBlt">QPaintDevice</a><li>bitOrder:
+ <a href="qimage.html#bitOrder">QImage</a><li>bitmap:
+ <a href="qcursor.html#bitmap">QCursor</a><li>bits:
+ <a href="qimage.html#bits">QImage</a><li>blank:
+ <a href="qscreen.html#blank">QScreen</a><li>blockSignals:
+ <a href="qobject.html#blockSignals">QObject</a><li>blocking:
+ <a href="qsocketdevice.html#blocking">QSocketDevice</a><li>blue:
+ <a href="qcolor.html#blue">QColor</a><li>bold:
+ <a href="qfont.html#bold">QFont</a> <a href="qfontdatabase.html#bold">QFontDatabase</a> <a href="qfontinfo.html#bold">QFontInfo</a> <a href="qtextedit.html#bold">QTextEdit</a><li>bottom:
+ <a href="qdoublevalidator.html#bottom">QDoubleValidator</a> <a href="qintvalidator.html#bottom">QIntValidator</a> <a href="qrect.html#bottom">QRect</a><li>bottomDock:
+ <a href="qmainwindow.html#bottomDock">QMainWindow</a><li>bottomEdge:
+ <a href="qcanvassprite.html#bottomEdge">QCanvasSprite</a><li>bottomLeft:
+ <a href="qrect.html#bottomLeft">QRect</a><li>bottomMargin:
+ <a href="qscrollview.html#bottomMargin">QScrollView</a><li>bottomRight:
+ <a href="qrect.html#bottomRight">QRect</a><li>bottomRow:
+ <a href="qtableselection.html#bottomRow">QTableSelection</a><li>bound:
+ <a href="qrangecontrol.html#bound">QRangeControl</a><li>boundValue:
+ <a href="qsqlquery.html#boundValue">QSqlQuery</a><li>boundValues:
+ <a href="qsqlquery.html#boundValues">QSqlQuery</a><li>boundary:
+ <a href="qdatabrowser.html#boundary">QDataBrowser</a><li>boundaryChecking:
+ <a href="qdatabrowser.html#boundaryChecking">QDataBrowser</a><li>boundedTo:
+ <a href="qsize.html#boundedTo">QSize</a><li>boundingRect:
+ <a href="qcanvasitem.html#boundingRect">QCanvasItem</a> <a href="qcanvaspolygonalitem.html#boundingRect">QCanvasPolygonalItem</a> <a href="qcanvassprite.html#boundingRect">QCanvasSprite</a> <a href="qcanvastext.html#boundingRect">QCanvasText</a> <a href="qfontmetrics.html#boundingRect">QFontMetrics</a> <a href="qpainter.html#boundingRect">QPainter</a> <a href="qpicture.html#boundingRect">QPicture</a> <a href="qpointarray.html#boundingRect">QPointArray</a> <a href="qregion.html#boundingRect">QRegion</a><li>boundingRectAdvanced:
+ <a href="qcanvasitem.html#boundingRectAdvanced">QCanvasItem</a><li>boxLayout:
+ <a href="qdockwindow.html#boxLayout">QDockWindow</a><li>brightText:
+ <a href="qcolorgroup.html#brightText">QColorGroup</a><li>brush:
+ <a href="qcanvaspolygonalitem.html#brush">QCanvasPolygonalItem</a> <a href="qcolorgroup.html#brush">QColorGroup</a> <a href="qpainter.html#brush">QPainter</a> <a href="qpalette.html#brush">QPalette</a><li>brushOrigin:
+ <a href="qpainter.html#brushOrigin">QPainter</a><li>bsearch:
+ <a href="qmemarray.html#bsearch">QMemArray</a> <a href="qptrvector.html#bsearch">QPtrVector</a><li>buddy:
+ <a href="qlabel.html#buddy">QLabel</a><li>buffer:
+ <a href="qbuffer.html#buffer">QBuffer</a><li>button:
+ <a href="qcolorgroup.html#button">QColorGroup</a> <a href="qmouseevent.html#button">QMouseEvent</a><li>buttonSymbols:
+ <a href="qspinbox.html#buttonSymbols">QSpinBox</a><li>buttonText:
+ <a href="qcolorgroup.html#buttonText">QColorGroup</a> <a href="qmessagebox.html#buttonText">QMessageBox</a><li>byteOrder:
+ <a href="qdatastream.html#byteOrder">QDataStream</a><li>bytesAvailable:
+ <a href="qftp.html#bytesAvailable">QFtp</a> <a href="qhttp.html#bytesAvailable">QHttp</a> <a href="qsocket.html#bytesAvailable">QSocket</a> <a href="qsocketdevice.html#bytesAvailable">QSocketDevice</a><li>bytesPerLine:
+ <a href="qimage.html#bytesPerLine">QImage</a><li>bytesToWrite:
+ <a href="qsocket.html#bytesToWrite">QSocket</a><li>bytesWritten:
+ <a href="qsocket.html#bytesWritten">QSocket</a><li><a name="c"></a>
+c:
+ <a href="qlocale.html#c">QLocale</a><li>cache:
+ <a href="qscreen.html#cache">QScreen</a><li>cacheLimit:
+ <a href="qpixmapcache.html#cacheLimit">QPixmapCache</a><li>caching:
+ <a href="qfileinfo.html#caching">QFileInfo</a><li>calcRect:
+ <a href="qiconviewitem.html#calcRect">QIconViewItem</a><li>calculateField:
+ <a href="qsqlcursor.html#calculateField">QSqlCursor</a><li>calibrate:
+ <a href="qwsmousehandler.html#calibrate">QWSMouseHandler</a><li>call:
+ <a href="qaxscript.html#call">QAxScript</a> <a href="qaxscriptmanager.html#call">QAxScriptManager</a><li>canCast:
+ <a href="qvariant.html#canCast">QVariant</a><li>canConvert:
+ <a href="qmacmime.html#canConvert">QMacMime</a> <a href="qwindowsmime.html#canConvert">QWindowsMime</a><li>canDecode:
+ <a href="qcolordrag.html#canDecode">QColorDrag</a> <a href="qicondrag.html#canDecode">QIconDrag</a> <a href="qimagedrag.html#canDecode">QImageDrag</a> <a href="qtextdrag.html#canDecode">QTextDrag</a> <a href="quridrag.html#canDecode">QUriDrag</a><li>canDelete:
+ <a href="qsqlcursor.html#canDelete">QSqlCursor</a><li>canEncode:
+ <a href="qtextcodec.html#canEncode">QTextCodec</a><li>canInsert:
+ <a href="qsqlcursor.html#canInsert">QSqlCursor</a><li>canReadLine:
+ <a href="qsocket.html#canReadLine">QSocket</a><li>canReadLineStderr:
+ <a href="qprocess.html#canReadLineStderr">QProcess</a><li>canReadLineStdout:
+ <a href="qprocess.html#canReadLineStdout">QProcess</a><li>canUpdate:
+ <a href="qsqlcursor.html#canUpdate">QSqlCursor</a><li>cancel:
+ <a href="qprogressdialog.html#cancel">QProgressDialog</a> <a href="qsessionmanager.html#cancel">QSessionManager</a><li>cancelButton:
+ <a href="qwizard.html#cancelButton">QWizard</a><li>cancelButtonPressed:
+ <a href="qtabdialog.html#cancelButtonPressed">QTabDialog</a><li>cancelRename:
+ <a href="qlistviewitem.html#cancelRename">QListViewItem</a><li>canceled:
+ <a href="qprogressdialog.html#canceled">QProgressDialog</a><li>canonicalName:
+ <a href="qdns.html#canonicalName">QDns</a><li>canonicalPath:
+ <a href="qdir.html#canonicalPath">QDir</a><li>canvas:
+ <a href="qcanvasitem.html#canvas">QCanvasItem</a> <a href="qcanvasview.html#canvas">QCanvasView</a><li>cap:
+ <a href="qregexp.html#cap">QRegExp</a><li>capStyle:
+ <a href="qpen.html#capStyle">QPen</a><li>capacity:
+ <a href="qstring.html#capacity">QString</a> <a href="qvaluevector.html#capacity">QValueVector</a><li>caption:
+ <a href="qwswindow.html#caption">QWSWindow</a> <a href="qwidget.html#caption">QWidget</a><li>capturedTexts:
+ <a href="qregexp.html#capturedTexts">QRegExp</a><li>cascade:
+ <a href="qworkspace.html#cascade">QWorkspace</a><li>caseSensitive:
+ <a href="qregexp.html#caseSensitive">QRegExp</a><li>cast:
+ <a href="qvariant.html#cast">QVariant</a><li>category:
+ <a href="qchar.html#category">QChar</a><li>cd:
+ <a href="qdir.html#cd">QDir</a> <a href="qftp.html#cd">QFtp</a><li>cdUp:
+ <a href="qdir.html#cdUp">QDir</a> <a href="qurl.html#cdUp">QUrl</a><li>cell:
+ <a href="qchar.html#cell">QChar</a><li>cellGeometry:
+ <a href="qgridlayout.html#cellGeometry">QGridLayout</a> <a href="qgridview.html#cellGeometry">QGridView</a> <a href="qtable.html#cellGeometry">QTable</a><li>cellHeight:
+ <a href="qgridview.html#cellHeight">QGridView</a><li>cellRect:
+ <a href="qgridview.html#cellRect">QGridView</a> <a href="qtable.html#cellRect">QTable</a><li>cellWidget:
+ <a href="qtable.html#cellWidget">QTable</a><li>cellWidth:
+ <a href="qgridview.html#cellWidth">QGridView</a><li>center:
+ <a href="qrect.html#center">QRect</a> <a href="qscrollview.html#center">QScrollView</a><li>centerIndicator:
+ <a href="qprogressbar.html#centerIndicator">QProgressBar</a><li>centralWidget:
+ <a href="qmainwindow.html#centralWidget">QMainWindow</a><li>cf:
+ <a href="qwindowsmime.html#cf">QWindowsMime</a><li>cfFor:
+ <a href="qwindowsmime.html#cfFor">QWindowsMime</a><li>cfToMime:
+ <a href="qwindowsmime.html#cfToMime">QWindowsMime</a><li>changeInterval:
+ <a href="qtimer.html#changeInterval">QTimer</a><li>changeItem:
+ <a href="qcombobox.html#changeItem">QComboBox</a> <a href="qlistbox.html#changeItem">QListBox</a> <a href="qmenudata.html#changeItem">QMenuData</a> <a href="qmenudata.html#changeItem">QPopupMenu</a><li>changeSize:
+ <a href="qspaceritem.html#changeSize">QSpacerItem</a><li>changeTab:
+ <a href="qtabdialog.html#changeTab">QTabDialog</a> <a href="qtabwidget.html#changeTab">QTabWidget</a><li>changed:
+ <a href="qimageconsumer.html#changed">QImageConsumer</a><li>channel:
+ <a href="qcopchannel.html#channel">QCopChannel</a><li>charAt:
+ <a href="qtextedit.html#charAt">QTextEdit</a><li>charWidth:
+ <a href="qfontmetrics.html#charWidth">QFontMetrics</a><li>characters:
+ <a href="qxmlcontenthandler.html#characters">QXmlContentHandler</a><li>checkConnectArgs:
+ <a href="qobject.html#checkConnectArgs">QObject</a><li>checkConnection:
+ <a href="qnetworkprotocol.html#checkConnection">QNetworkProtocol</a><li>checkListItem:
+ <a href="qstyleoption.html#checkListItem">QStyleOption</a><li>checkOverflow:
+ <a href="qlcdnumber.html#checkOverflow">QLCDNumber</a><li>child:
+ <a href="qchildevent.html#child">QChildEvent</a> <a href="qobject.html#child">QObject</a><li>childAt:
+ <a href="qwidget.html#childAt">QWidget</a><li>childCount:
+ <a href="qaccessibleinterface.html#childCount">QAccessibleInterface</a> <a href="qlistview.html#childCount">QListView</a> <a href="qlistviewitem.html#childCount">QListViewItem</a><li>childEvent:
+ <a href="qmainwindow.html#childEvent">QMainWindow</a> <a href="qobject.html#childEvent">QObject</a> <a href="qsplitter.html#childEvent">QSplitter</a><li>childNodes:
+ <a href="qdomnode.html#childNodes">QDomNode</a><li>childX:
+ <a href="qscrollview.html#childX">QScrollView</a><li>childY:
+ <a href="qscrollview.html#childY">QScrollView</a><li>children:
+ <a href="qobject.html#children">QObject</a><li>childrenCollapsible:
+ <a href="qsplitter.html#childrenCollapsible">QSplitter</a><li>childrenRect:
+ <a href="qwidget.html#childrenRect">QWidget</a><li>childrenRegion:
+ <a href="qwidget.html#childrenRegion">QWidget</a><li>chooseContext:
+ <a href="qglcontext.html#chooseContext">QGLContext</a><li>chooseMacVisual:
+ <a href="qglcontext.html#chooseMacVisual">QGLContext</a><li>choosePixelFormat:
+ <a href="qglcontext.html#choosePixelFormat">QGLContext</a><li>chooseVisual:
+ <a href="qglcontext.html#chooseVisual">QGLContext</a><li>chunkSize:
+ <a href="qcanvas.html#chunkSize">QCanvas</a><li>chunks:
+ <a href="qcanvasrectangle.html#chunks">QCanvasRectangle</a><li>classID:
+ <a href="qaxfactory.html#classID">QAxFactory</a><li>classInfo:
+ <a href="qmetaobject.html#classInfo">QMetaObject</a><li>className:
+ <a href="qmetaobject.html#className">QMetaObject</a> <a href="qobject.html#className">QObject</a><li>cleanDirPath:
+ <a href="qdir.html#cleanDirPath">QDir</a><li>cleanText:
+ <a href="qspinbox.html#cleanText">QSpinBox</a><li>cleanup:
+ <a href="qcolor.html#cleanup">QColor</a> <a href="qcursor.html#cleanup">QCursor</a> <a href="qfontmanager.html#cleanup">QFontManager</a><li>clear:
+ <a href="qaccel.html#clear">QAccel</a> <a href="qasciicache.html#clear">QAsciiCache</a> <a href="qasciidict.html#clear">QAsciiDict</a> <a href="qaxbase.html#clear">QAxBase</a> <a href="qcache.html#clear">QCache</a> <a href="qclipboard.html#clear">QClipboard</a> <a href="qcombobox.html#clear">QComboBox</a> <a href="qdict.html#clear">QDict</a> <a href="qdomnode.html#clear">QDomNode</a> <a href="qiconview.html#clear">QIconView</a> <a href="qintcache.html#clear">QIntCache</a> <a href="qintdict.html#clear">QIntDict</a> <a href="qlabel.html#clear">QLabel</a> <a href="qlineedit.html#clear">QLineEdit</a> <a href="qlistbox.html#clear">QListBox</a> <a href="qlistview.html#clear">QListView</a> <a href="qmap.html#clear">QMap</a> <a href="qmenudata.html#clear">QMenuBar</a> <a href="qmenudata.html#clear">QMenuData</a> <a href="qobjectcleanuphandler.html#clear">QObjectCleanupHandler</a> <a href="qpixmapcache.html#clear">QPixmapCache</a> <a href="qmenudata.html#clear">QPopupMenu</a> <a href="qptrcollection.html#clear">QPtrCollection</a> <a href="qptrdict.html#clear">QPtrDict</a> <a href="qptrlist.html#clear">QPtrList</a> <a href="qptrqueue.html#clear">QPtrQueue</a> <a href="qptrstack.html#clear">QPtrStack</a> <a href="qptrvector.html#clear">QPtrVector</a> <a href="qsplashscreen.html#clear">QSplashScreen</a> <a href="qsqlcursor.html#clear">QSqlCursor</a> <a href="qsqlfield.html#clear">QSqlField</a> <a href="qsqlform.html#clear">QSqlForm</a> <a href="qsqlrecord.html#clear">QSqlRecord</a> <a href="qstatusbar.html#clear">QStatusBar</a> <a href="qtextedit.html#clear">QTextEdit</a> <a href="qtoolbar.html#clear">QToolBar</a> <a href="qtooltip.html#clear">QToolTip</a> <a href="qtranslator.html#clear">QTranslator</a> <a href="qvaluelist.html#clear">QValueList</a> <a href="qvaluevector.html#clear">QValueVector</a> <a href="qvariant.html#clear">QVariant</a> <a href="qxmlattributes.html#clear">QXmlAttributes</a><li>clearArguments:
+ <a href="qprocess.html#clearArguments">QProcess</a><li>clearBit:
+ <a href="qbitarray.html#clearBit">QBitArray</a><li>clearCalibration:
+ <a href="qwsmousehandler.html#clearCalibration">QWSMouseHandler</a><li>clearCell:
+ <a href="qtable.html#clearCell">QTable</a><li>clearCellWidget:
+ <a href="qtable.html#clearCellWidget">QTable</a><li>clearEdit:
+ <a href="qcombobox.html#clearEdit">QComboBox</a><li>clearEntries:
+ <a href="qurloperator.html#clearEntries">QUrlOperator</a><li>clearFocus:
+ <a href="qwidget.html#clearFocus">QWidget</a><li>clearGenerated:
+ <a href="qiconset.html#clearGenerated">QIconSet</a><li>clearMask:
+ <a href="qwidget.html#clearMask">QWidget</a><li>clearModified:
+ <a href="qlineedit.html#clearModified">QLineEdit</a><li>clearOperationQueue:
+ <a href="qnetworkprotocol.html#clearOperationQueue">QNetworkProtocol</a><li>clearParagraphBackground:
+ <a href="qtextedit.html#clearParagraphBackground">QTextEdit</a><li>clearPendingCommands:
+ <a href="qftp.html#clearPendingCommands">QFtp</a><li>clearPendingData:
+ <a href="qsocket.html#clearPendingData">QSocket</a><li>clearPendingRequests:
+ <a href="qhttp.html#clearPendingRequests">QHttp</a><li>clearSelection:
+ <a href="qaccessibleinterface.html#clearSelection">QAccessibleInterface</a> <a href="qiconview.html#clearSelection">QIconView</a> <a href="qlistbox.html#clearSelection">QListBox</a> <a href="qlistview.html#clearSelection">QListView</a> <a href="qtable.html#clearSelection">QTable</a><li>clearValidator:
+ <a href="qcombobox.html#clearValidator">QComboBox</a> <a href="qlineedit.html#clearValidator">QLineEdit</a><li>clearValues:
+ <a href="qdatabrowser.html#clearValues">QDataBrowser</a> <a href="qdataview.html#clearValues">QDataView</a> <a href="qsqlform.html#clearValues">QSqlForm</a> <a href="qsqlrecord.html#clearValues">QSqlRecord</a><li>clearWFlags:
+ <a href="qwidget.html#clearWFlags">QWidget</a><li>clicked:
+ <a href="qbutton.html#clicked">QButton</a> <a href="qbuttongroup.html#clicked">QButtonGroup</a> <a href="qbutton.html#clicked">QCheckBox</a> <a href="qheader.html#clicked">QHeader</a> <a href="qiconview.html#clicked">QIconView</a> <a href="qlistbox.html#clicked">QListBox</a> <a href="qlistview.html#clicked">QListView</a> <a href="qbutton.html#clicked">QPushButton</a> <a href="qbutton.html#clicked">QRadioButton</a> <a href="qtable.html#clicked">QTable</a> <a href="qtextedit.html#clicked">QTextEdit</a> <a href="qwhatsthis.html#clicked">QWhatsThis</a><li>client:
+ <a href="qwswindow.html#client">QWSWindow</a><li>clientSite:
+ <a href="qaxbindable.html#clientSite">QAxBindable</a><li>clientWindows:
+ <a href="qwsserver.html#clientWindows">QWSServer</a><li>clipRegion:
+ <a href="qpainter.html#clipRegion">QPainter</a> <a href="qwidget.html#clipRegion">QWidget</a><li>clipboard:
+ <a href="qapplication.html#clipboard">QApplication</a><li>clipper:
+ <a href="qscrollview.html#clipper">QScrollView</a><li>cloneNode:
+ <a href="qdomnode.html#cloneNode">QDomNode</a><li>close:
+ <a href="qfile.html#close">QFile</a> <a href="qftp.html#close">QFtp</a> <a href="qiodevice.html#close">QIODevice</a> <a href="qsocket.html#close">QSocket</a> <a href="qsqldatabase.html#close">QSqlDatabase</a> <a href="qsqldriver.html#close">QSqlDriver</a> <a href="qwsdecoration.html#close">QWSDecoration</a> <a href="qwidget.html#close">QWidget</a><li>closeActiveWindow:
+ <a href="qworkspace.html#closeActiveWindow">QWorkspace</a><li>closeAllWindows:
+ <a href="qapplication.html#closeAllWindows">QApplication</a> <a href="qworkspace.html#closeAllWindows">QWorkspace</a><li>closeAssistant:
+ <a href="qassistantclient.html#closeAssistant">QAssistantClient</a><li>closeConnection:
+ <a href="qhttp.html#closeConnection">QHttp</a><li>closeEvent:
+ <a href="qwidget.html#closeEvent">QWidget</a><li>closeKeyboard:
+ <a href="qwsserver.html#closeKeyboard">QWSServer</a><li>closeMode:
+ <a href="qdockwindow.html#closeMode">QDockWindow</a><li>closeMouse:
+ <a href="qwsserver.html#closeMouse">QWSServer</a><li>closeStdin:
+ <a href="qprocess.html#closeStdin">QProcess</a><li>closed:
+ <a href="qcanvasspline.html#closed">QCanvasSpline</a><li>closingDown:
+ <a href="qapplication.html#closingDown">QApplication</a><li>clut:
+ <a href="qscreen.html#clut">QScreen</a><li>cmd:
+ <a href="qpaintdevice.html#cmd">QPaintDevice</a><li>codec:
+ <a href="qtextstream.html#codec">QTextStream</a><li>codecForCStrings:
+ <a href="qtextcodec.html#codecForCStrings">QTextCodec</a><li>codecForContent:
+ <a href="qtextcodec.html#codecForContent">QTextCodec</a><li>codecForIndex:
+ <a href="qtextcodec.html#codecForIndex">QTextCodec</a><li>codecForLocale:
+ <a href="qtextcodec.html#codecForLocale">QTextCodec</a><li>codecForMib:
+ <a href="qtextcodec.html#codecForMib">QTextCodec</a><li>codecForName:
+ <a href="qtextcodec.html#codecForName">QTextCodec</a><li>codecForTr:
+ <a href="qtextcodec.html#codecForTr">QTextCodec</a><li>col:
+ <a href="qtableitem.html#col">QTableItem</a><li>colSpacing:
+ <a href="qgridlayout.html#colSpacing">QGridLayout</a><li>colSpan:
+ <a href="qtableitem.html#colSpan">QTableItem</a><li>colStretch:
+ <a href="qgridlayout.html#colStretch">QGridLayout</a><li>collapsed:
+ <a href="qlistview.html#collapsed">QListView</a><li>collidesWith:
+ <a href="qcanvasitem.html#collidesWith">QCanvasItem</a><li>collisions:
+ <a href="qcanvas.html#collisions">QCanvas</a> <a href="qcanvasitem.html#collisions">QCanvasItem</a><li>color:
+ <a href="qbrush.html#color">QBrush</a> <a href="qcanvastext.html#color">QCanvasText</a> <a href="qcolorgroup.html#color">QColorGroup</a> <a href="qimage.html#color">QImage</a> <a href="qpalette.html#color">QPalette</a> <a href="qpen.html#color">QPen</a> <a href="qstyleoption.html#color">QStyleOption</a> <a href="qstylesheetitem.html#color">QStyleSheetItem</a> <a href="qtextedit.html#color">QTextEdit</a><li>colorGroup:
+ <a href="qwidget.html#colorGroup">QWidget</a><li>colorMode:
+ <a href="qprinter.html#colorMode">QPrinter</a><li>colorNames:
+ <a href="qcolor.html#colorNames">QColor</a><li>colorSpec:
+ <a href="qapplication.html#colorSpec">QApplication</a><li>colorTable:
+ <a href="qimage.html#colorTable">QImage</a><li>colormap:
+ <a href="qglwidget.html#colormap">QGLWidget</a><li>columnAlignment:
+ <a href="qlistview.html#columnAlignment">QListView</a><li>columnAt:
+ <a href="qgridview.html#columnAt">QGridView</a> <a href="qtable.html#columnAt">QTable</a><li>columnClicked:
+ <a href="qtable.html#columnClicked">QTable</a><li>columnIndexChanged:
+ <a href="qtable.html#columnIndexChanged">QTable</a><li>columnMode:
+ <a href="qlistbox.html#columnMode">QListBox</a><li>columnMovingEnabled:
+ <a href="qtable.html#columnMovingEnabled">QTable</a><li>columnNumber:
+ <a href="qxmllocator.html#columnNumber">QXmlLocator</a> <a href="qxmlparseexception.html#columnNumber">QXmlParseException</a><li>columnPos:
+ <a href="qtable.html#columnPos">QTable</a><li>columnText:
+ <a href="qlistview.html#columnText">QListView</a><li>columnWidth:
+ <a href="qlistview.html#columnWidth">QListView</a> <a href="qtable.html#columnWidth">QTable</a><li>columnWidthChanged:
+ <a href="qtable.html#columnWidthChanged">QTable</a><li>columnWidthMode:
+ <a href="qlistview.html#columnWidthMode">QListView</a><li>columns:
+ <a href="qgroupbox.html#columns">QGroupBox</a> <a href="qlistview.html#columns">QListView</a> <a href="qpopupmenu.html#columns">QPopupMenu</a><li>combiningClass:
+ <a href="qchar.html#combiningClass">QChar</a><li>commandFinished:
+ <a href="qftp.html#commandFinished">QFtp</a><li>commandStarted:
+ <a href="qftp.html#commandStarted">QFtp</a><li>comment:
+ <a href="qtranslatormessage.html#comment">QTranslatorMessage</a> <a href="qxmllexicalhandler.html#comment">QXmlLexicalHandler</a><li>commit:
+ <a href="qsqldatabase.html#commit">QSqlDatabase</a><li>commitData:
+ <a href="qapplication.html#commitData">QApplication</a><li>commitTransaction:
+ <a href="qsqldriver.html#commitTransaction">QSqlDriver</a><li>commonPrefix:
+ <a href="qtranslatormessage.html#commonPrefix">QTranslatorMessage</a><li>communication:
+ <a href="qprocess.html#communication">QProcess</a><li>compare:
+ <a href="qiconviewitem.html#compare">QIconViewItem</a> <a href="qlistviewitem.html#compare">QListViewItem</a> <a href="qstring.html#compare">QString</a><li>compareItems:
+ <a href="qptrlist.html#compareItems">QPtrList</a> <a href="qptrvector.html#compareItems">QPtrVector</a><li>complete:
+ <a href="qnpstream.html#complete">QNPStream</a><li>compose:
+ <a href="qstring.html#compose">QString</a><li>confirmCancel:
+ <a href="qdatabrowser.html#confirmCancel">QDataBrowser</a> <a href="qdatatable.html#confirmCancel">QDataTable</a><li>confirmCancels:
+ <a href="qdatabrowser.html#confirmCancels">QDataBrowser</a> <a href="qdatatable.html#confirmCancels">QDataTable</a><li>confirmDelete:
+ <a href="qdatabrowser.html#confirmDelete">QDataBrowser</a> <a href="qdatatable.html#confirmDelete">QDataTable</a><li>confirmEdit:
+ <a href="qdatabrowser.html#confirmEdit">QDataBrowser</a> <a href="qdatatable.html#confirmEdit">QDataTable</a><li>confirmEdits:
+ <a href="qdatabrowser.html#confirmEdits">QDataBrowser</a> <a href="qdatatable.html#confirmEdits">QDataTable</a><li>confirmInsert:
+ <a href="qdatabrowser.html#confirmInsert">QDataBrowser</a> <a href="qdatatable.html#confirmInsert">QDataTable</a><li>confirmUpdate:
+ <a href="qdatabrowser.html#confirmUpdate">QDataBrowser</a> <a href="qdatatable.html#confirmUpdate">QDataTable</a><li>connect:
+ <a href="qasyncio.html#connect">QAsyncIO</a> <a href="qobject.html#connect">QObject</a> <a href="qscreen.html#connect">QScreen</a> <a href="qsignal.html#connect">QSignal</a> <a href="qsocketdevice.html#connect">QSocketDevice</a><li>connectItem:
+ <a href="qaccel.html#connectItem">QAccel</a> <a href="qmenudata.html#connectItem">QMenuData</a> <a href="qmenudata.html#connectItem">QPopupMenu</a><li>connectNotify:
+ <a href="qobject.html#connectNotify">QObject</a><li>connectOptions:
+ <a href="qsqldatabase.html#connectOptions">QSqlDatabase</a><li>connectResize:
+ <a href="qmovie.html#connectResize">QMovie</a><li>connectStatus:
+ <a href="qmovie.html#connectStatus">QMovie</a><li>connectToHost:
+ <a href="qftp.html#connectToHost">QFtp</a> <a href="qsocket.html#connectToHost">QSocket</a><li>connectUpdate:
+ <a href="qmovie.html#connectUpdate">QMovie</a><li>connected:
+ <a href="qsocket.html#connected">QSocket</a><li>connectionClosed:
+ <a href="qsocket.html#connectionClosed">QSocket</a><li>connectionStateChanged:
+ <a href="qnetworkprotocol.html#connectionStateChanged">QNetworkProtocol</a> <a href="qurloperator.html#connectionStateChanged">QUrlOperator</a><li>constBegin:
+ <a href="qmap.html#constBegin">QMap</a> <a href="qvaluelist.html#constBegin">QValueList</a> <a href="qvaluevector.html#constBegin">QValueVector</a><li>constEnd:
+ <a href="qmap.html#constEnd">QMap</a> <a href="qvaluelist.html#constEnd">QValueList</a> <a href="qvaluevector.html#constEnd">QValueVector</a><li>constPolish:
+ <a href="qwidget.html#constPolish">QWidget</a><li>constref:
+ <a href="qstring.html#constref">QString</a><li>consume:
+ <a href="qcontextmenuevent.html#consume">QContextMenuEvent</a><li>contains:
+ <a href="qcstring.html#contains">QCString</a> <a href="qdomnamednodemap.html#contains">QDomNamedNodeMap</a> <a href="qiconviewitem.html#contains">QIconViewItem</a> <a href="qmap.html#contains">QMap</a> <a href="qmemarray.html#contains">QMemArray</a> <a href="qptrlist.html#contains">QPtrList</a> <a href="qptrvector.html#contains">QPtrVector</a> <a href="qrect.html#contains">QRect</a> <a href="qregion.html#contains">QRegion</a> <a href="qsqldatabase.html#contains">QSqlDatabase</a> <a href="qsqlrecord.html#contains">QSqlRecord</a> <a href="qsqlrecordinfo.html#contains">QSqlRecordInfo</a> <a href="qstring.html#contains">QString</a> <a href="qtranslator.html#contains">QTranslator</a> <a href="qvaluelist.html#contains">QValueList</a><li>containsRef:
+ <a href="qptrlist.html#containsRef">QPtrList</a> <a href="qptrvector.html#containsRef">QPtrVector</a><li>contentHandler:
+ <a href="qxmlreader.html#contentHandler">QXmlReader</a><li>contentLength:
+ <a href="qhttpheader.html#contentLength">QHttpHeader</a><li>contentType:
+ <a href="qhttpheader.html#contentType">QHttpHeader</a><li>contentsContextMenuEvent:
+ <a href="qscrollview.html#contentsContextMenuEvent">QScrollView</a><li>contentsDragEnterEvent:
+ <a href="qscrollview.html#contentsDragEnterEvent">QScrollView</a> <a href="qtable.html#contentsDragEnterEvent">QTable</a><li>contentsDragLeaveEvent:
+ <a href="qscrollview.html#contentsDragLeaveEvent">QScrollView</a> <a href="qtable.html#contentsDragLeaveEvent">QTable</a><li>contentsDragMoveEvent:
+ <a href="qscrollview.html#contentsDragMoveEvent">QScrollView</a> <a href="qtable.html#contentsDragMoveEvent">QTable</a><li>contentsDropEvent:
+ <a href="qscrollview.html#contentsDropEvent">QScrollView</a> <a href="qtable.html#contentsDropEvent">QTable</a><li>contentsHeight:
+ <a href="qscrollview.html#contentsHeight">QScrollView</a><li>contentsMouseDoubleClickEvent:
+ <a href="qlistview.html#contentsMouseDoubleClickEvent">QListView</a> <a href="qscrollview.html#contentsMouseDoubleClickEvent">QScrollView</a><li>contentsMouseMoveEvent:
+ <a href="qlistview.html#contentsMouseMoveEvent">QListView</a> <a href="qscrollview.html#contentsMouseMoveEvent">QScrollView</a><li>contentsMousePressEvent:
+ <a href="qlistview.html#contentsMousePressEvent">QListView</a> <a href="qscrollview.html#contentsMousePressEvent">QScrollView</a><li>contentsMouseReleaseEvent:
+ <a href="qlistview.html#contentsMouseReleaseEvent">QListView</a> <a href="qscrollview.html#contentsMouseReleaseEvent">QScrollView</a><li>contentsMoving:
+ <a href="qscrollview.html#contentsMoving">QScrollView</a><li>contentsRect:
+ <a href="qframe.html#contentsRect">QFrame</a><li>contentsToViewport:
+ <a href="qscrollview.html#contentsToViewport">QScrollView</a><li>contentsWheelEvent:
+ <a href="qscrollview.html#contentsWheelEvent">QScrollView</a><li>contentsWidth:
+ <a href="qscrollview.html#contentsWidth">QScrollView</a><li>contentsX:
+ <a href="qscrollview.html#contentsX">QScrollView</a><li>contentsY:
+ <a href="qscrollview.html#contentsY">QScrollView</a><li>context:
+ <a href="qglwidget.html#context">QGLWidget</a> <a href="qsimplerichtext.html#context">QSimpleRichText</a> <a href="qtextedit.html#context">QTextEdit</a> <a href="qtranslatormessage.html#context">QTranslatorMessage</a><li>contextMenuEvent:
+ <a href="qwidget.html#contextMenuEvent">QWidget</a><li>contextMenuRequested:
+ <a href="qiconview.html#contextMenuRequested">QIconView</a> <a href="qlistbox.html#contextMenuRequested">QListBox</a> <a href="qlistview.html#contextMenuRequested">QListView</a> <a href="qtable.html#contextMenuRequested">QTable</a><li>contexts:
+ <a href="qstylesheetitem.html#contexts">QStyleSheetItem</a><li>control:
+ <a href="qaxbase.html#control">QAxBase</a><li>controlAt:
+ <a href="qaccessibleinterface.html#controlAt">QAccessibleInterface</a><li>controlPoints:
+ <a href="qcanvasspline.html#controlPoints">QCanvasSpline</a><li>controllingUnknown:
+ <a href="qaxaggregated.html#controllingUnknown">QAxAggregated</a><li>convertBitOrder:
+ <a href="qimage.html#convertBitOrder">QImage</a><li>convertDepth:
+ <a href="qimage.html#convertDepth">QImage</a><li>convertDepthWithPalette:
+ <a href="qimage.html#convertDepthWithPalette">QImage</a><li>convertFromImage:
+ <a href="qpixmap.html#convertFromImage">QPixmap</a><li>convertFromMime:
+ <a href="qmacmime.html#convertFromMime">QMacMime</a> <a href="qwindowsmime.html#convertFromMime">QWindowsMime</a><li>convertFromPlainText:
+ <a href="qstylesheet.html#convertFromPlainText">QStyleSheet</a><li>convertSeparators:
+ <a href="qdir.html#convertSeparators">QDir</a><li>convertToAbs:
+ <a href="qdir.html#convertToAbs">QDir</a> <a href="qfileinfo.html#convertToAbs">QFileInfo</a><li>convertToGLFormat:
+ <a href="qglwidget.html#convertToGLFormat">QGLWidget</a><li>convertToImage:
+ <a href="qpixmap.html#convertToImage">QPixmap</a><li>convertToMime:
+ <a href="qmacmime.html#convertToMime">QMacMime</a> <a href="qwindowsmime.html#convertToMime">QWindowsMime</a><li>convertor:
+ <a href="qmacmime.html#convertor">QMacMime</a> <a href="qwindowsmime.html#convertor">QWindowsMime</a><li>convertorName:
+ <a href="qmacmime.html#convertorName">QMacMime</a> <a href="qwindowsmime.html#convertorName">QWindowsMime</a><li>coords:
+ <a href="qrect.html#coords">QRect</a><li>copy:
+ <a href="qbitarray.html#copy">QBitArray</a> <a href="qcstring.html#copy">QCString</a> <a href="qimage.html#copy">QImage</a> <a href="qlineedit.html#copy">QLineEdit</a> <a href="qmemarray.html#copy">QMemArray</a> <a href="qpalette.html#copy">QPalette</a> <a href="qpicture.html#copy">QPicture</a> <a href="qpointarray.html#copy">QPointArray</a> <a href="qtextedit.html#copy">QTextEdit</a> <a href="qurloperator.html#copy">QUrlOperator</a><li>copyAvailable:
+ <a href="qtextedit.html#copyAvailable">QTextEdit</a><li>copyBlt:
+ <a href="qpixmap.html#copyBlt">QPixmap</a><li>cornerWidget:
+ <a href="qscrollview.html#cornerWidget">QScrollView</a> <a href="qtabwidget.html#cornerWidget">QTabWidget</a><li>count:
+ <a href="qaccel.html#count">QAccel</a> <a href="qasciicache.html#count">QAsciiCache</a> <a href="qasciicacheiterator.html#count">QAsciiCacheIterator</a> <a href="qasciidict.html#count">QAsciiDict</a> <a href="qasciidictiterator.html#count">QAsciiDictIterator</a> <a href="qbuttongroup.html#count">QButtonGroup</a> <a href="qcache.html#count">QCache</a> <a href="qcacheiterator.html#count">QCacheIterator</a> <a href="qcanvaspixmaparray.html#count">QCanvasPixmapArray</a> <a href="qcombobox.html#count">QComboBox</a> <a href="qcombotableitem.html#count">QComboTableItem</a> <a href="qdict.html#count">QDict</a> <a href="qdictiterator.html#count">QDictIterator</a> <a href="qdir.html#count">QDir</a> <a href="qdockarea.html#count">QDockArea</a> <a href="qdomnamednodemap.html#count">QDomNamedNodeMap</a> <a href="qdomnodelist.html#count">QDomNodeList</a> <a href="qfocusdata.html#count">QFocusData</a> <a href="qheader.html#count">QHeader</a> <a href="qiconview.html#count">QIconView</a> <a href="qintcache.html#count">QIntCache</a> <a href="qintcacheiterator.html#count">QIntCacheIterator</a> <a href="qintdict.html#count">QIntDict</a> <a href="qintdictiterator.html#count">QIntDictIterator</a> <a href="qkeyevent.html#count">QKeyEvent</a> <a href="qkeysequence.html#count">QKeySequence</a> <a href="qlistbox.html#count">QListBox</a> <a href="qmap.html#count">QMap</a> <a href="qmemarray.html#count">QMemArray</a> <a href="qmenudata.html#count">QMenuData</a> <a href="qptrcollection.html#count">QPtrCollection</a> <a href="qptrdict.html#count">QPtrDict</a> <a href="qptrdictiterator.html#count">QPtrDictIterator</a> <a href="qptrlist.html#count">QPtrList</a> <a href="qptrlistiterator.html#count">QPtrListIterator</a> <a href="qptrqueue.html#count">QPtrQueue</a> <a href="qptrstack.html#count">QPtrStack</a> <a href="qptrvector.html#count">QPtrVector</a> <a href="qsqlform.html#count">QSqlForm</a> <a href="qsqlrecord.html#count">QSqlRecord</a> <a href="qtabbar.html#count">QTabBar</a> <a href="qtabwidget.html#count">QTabWidget</a> <a href="qtoolbox.html#count">QToolBox</a> <a href="qvaluelist.html#count">QValueList</a> <a href="qvaluevector.html#count">QValueVector</a> <a href="qxmlattributes.html#count">QXmlAttributes</a><li>countCf:
+ <a href="qwindowsmime.html#countCf">QWindowsMime</a><li>countFlavors:
+ <a href="qmacmime.html#countFlavors">QMacMime</a><li>country:
+ <a href="qlocale.html#country">QLocale</a><li>countryToString:
+ <a href="qlocale.html#countryToString">QLocale</a><li>create:
+ <a href="qaxfactory.html#create">QAxFactory</a> <a href="qglcontext.html#create">QGLContext</a> <a href="qgfxdriverfactory.html#create">QGfxDriverFactory</a> <a href="qgfxdriverplugin.html#create">QGfxDriverPlugin</a> <a href="qimage.html#create">QImage</a> <a href="qkbddriverfactory.html#create">QKbdDriverFactory</a> <a href="qkbddriverplugin.html#create">QKbdDriverPlugin</a> <a href="qmousedriverfactory.html#create">QMouseDriverFactory</a> <a href="qmousedriverplugin.html#create">QMouseDriverPlugin</a> <a href="qnplugin.html#create">QNPlugin</a> <a href="qsqldriverplugin.html#create">QSqlDriverPlugin</a> <a href="qstylefactory.html#create">QStyleFactory</a> <a href="qstyleplugin.html#create">QStylePlugin</a> <a href="qwidget.html#create">QWidget</a> <a href="qwidgetfactory.html#create">QWidgetFactory</a> <a href="qwidgetplugin.html#create">QWidgetPlugin</a><li>createAggregate:
+ <a href="qaxbindable.html#createAggregate">QAxBindable</a><li>createAlphaMask:
+ <a href="qimage.html#createAlphaMask">QImage</a><li>createAttribute:
+ <a href="qdomdocument.html#createAttribute">QDomDocument</a><li>createAttributeNS:
+ <a href="qdomdocument.html#createAttributeNS">QDomDocument</a><li>createCDATASection:
+ <a href="qdomdocument.html#createCDATASection">QDomDocument</a><li>createComment:
+ <a href="qdomdocument.html#createComment">QDomDocument</a><li>createDockWindowMenu:
+ <a href="qmainwindow.html#createDockWindowMenu">QMainWindow</a><li>createDocument:
+ <a href="qdomimplementation.html#createDocument">QDomImplementation</a><li>createDocumentFragment:
+ <a href="qdomdocument.html#createDocumentFragment">QDomDocument</a><li>createDocumentType:
+ <a href="qdomimplementation.html#createDocumentType">QDomImplementation</a><li>createEditor:
+ <a href="qeditorfactory.html#createEditor">QEditorFactory</a> <a href="qsqleditorfactory.html#createEditor">QSqlEditorFactory</a> <a href="qtable.html#createEditor">QTable</a> <a href="qtableitem.html#createEditor">QTableItem</a><li>createElement:
+ <a href="qdomdocument.html#createElement">QDomDocument</a><li>createElementNS:
+ <a href="qdomdocument.html#createElementNS">QDomDocument</a><li>createEntityReference:
+ <a href="qdomdocument.html#createEntityReference">QDomDocument</a><li>createForMib:
+ <a href="qtextcodecplugin.html#createForMib">QTextCodecPlugin</a><li>createForName:
+ <a href="qtextcodecplugin.html#createForName">QTextCodecPlugin</a><li>createGfx:
+ <a href="qscreen.html#createGfx">QScreen</a><li>createHeuristicMask:
+ <a href="qimage.html#createHeuristicMask">QImage</a> <a href="qpixmap.html#createHeuristicMask">QPixmap</a><li>createHostWindow:
+ <a href="qaxwidget.html#createHostWindow">QAxWidget</a><li>createObject:
+ <a href="qaxfactory.html#createObject">QAxFactory</a><li>createObjectWrapper:
+ <a href="qaxfactory.html#createObjectWrapper">QAxFactory</a><li>createPixmap:
+ <a href="qiconfactory.html#createPixmap">QIconFactory</a><li>createPopupMenu:
+ <a href="qlineedit.html#createPopupMenu">QLineEdit</a> <a href="qtextedit.html#createPopupMenu">QTextEdit</a><li>createProcessingInstruction:
+ <a href="qdomdocument.html#createProcessingInstruction">QDomDocument</a><li>createQuery:
+ <a href="qsqldriver.html#createQuery">QSqlDriver</a><li>createTextNode:
+ <a href="qdomdocument.html#createTextNode">QDomDocument</a><li>createUuid:
+ <a href="quuid.html#createUuid">QUuid</a><li>createWidget:
+ <a href="qwidgetfactory.html#createWidget">QWidgetFactory</a><li>created:
+ <a href="qfileinfo.html#created">QFileInfo</a><li>createdDirectory:
+ <a href="qnetworkprotocol.html#createdDirectory">QNetworkProtocol</a> <a href="qurloperator.html#createdDirectory">QUrlOperator</a><li>creator:
+ <a href="qprinter.html#creator">QPrinter</a><li>critical:
+ <a href="qmessagebox.html#critical">QMessageBox</a><li>cubicBezier:
+ <a href="qpointarray.html#cubicBezier">QPointArray</a><li>currEditCol:
+ <a href="qtable.html#currEditCol">QTable</a><li>currEditRow:
+ <a href="qtable.html#currEditRow">QTable</a><li>current:
+ <a href="qasciicacheiterator.html#current">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#current">QAsciiDictIterator</a> <a href="qcacheiterator.html#current">QCacheIterator</a> <a href="qdictiterator.html#current">QDictIterator</a> <a href="qdir.html#current">QDir</a> <a href="qglayoutiterator.html#current">QGLayoutIterator</a> <a href="qintcacheiterator.html#current">QIntCacheIterator</a> <a href="qintdictiterator.html#current">QIntDictIterator</a> <a href="qlayoutiterator.html#current">QLayoutIterator</a> <a href="qlistviewitemiterator.html#current">QListViewItemIterator</a> <a href="qptrdictiterator.html#current">QPtrDictIterator</a> <a href="qptrlist.html#current">QPtrList</a> <a href="qptrlistiterator.html#current">QPtrListIterator</a> <a href="qptrqueue.html#current">QPtrQueue</a> <a href="qptrstack.html#current">QPtrStack</a><li>currentAlignmentChanged:
+ <a href="qtextedit.html#currentAlignmentChanged">QTextEdit</a><li>currentAllocContext:
+ <a href="qcolor.html#currentAllocContext">QColor</a><li>currentChanged:
+ <a href="qdatabrowser.html#currentChanged">QDataBrowser</a> <a href="qdatatable.html#currentChanged">QDataTable</a> <a href="qiconview.html#currentChanged">QIconView</a> <a href="qlistbox.html#currentChanged">QListBox</a> <a href="qlistview.html#currentChanged">QListView</a> <a href="qtabdialog.html#currentChanged">QTabDialog</a> <a href="qtabwidget.html#currentChanged">QTabWidget</a> <a href="qtable.html#currentChanged">QTable</a> <a href="qtoolbox.html#currentChanged">QToolBox</a><li>currentColorChanged:
+ <a href="qtextedit.html#currentColorChanged">QTextEdit</a><li>currentColumn:
+ <a href="qtable.html#currentColumn">QTable</a><li>currentCommand:
+ <a href="qftp.html#currentCommand">QFtp</a><li>currentContext:
+ <a href="qglcontext.html#currentContext">QGLContext</a><li>currentDate:
+ <a href="qdate.html#currentDate">QDate</a><li>currentDateTime:
+ <a href="qdatetime.html#currentDateTime">QDateTime</a><li>currentDestinationDevice:
+ <a href="qhttp.html#currentDestinationDevice">QHttp</a><li>currentDevice:
+ <a href="qftp.html#currentDevice">QFtp</a><li>currentDirPath:
+ <a href="qdir.html#currentDirPath">QDir</a><li>currentEdited:
+ <a href="qdatabrowser.html#currentEdited">QDataBrowser</a><li>currentFont:
+ <a href="qtextedit.html#currentFont">QTextEdit</a><li>currentFontChanged:
+ <a href="qtextedit.html#currentFontChanged">QTextEdit</a><li>currentId:
+ <a href="qftp.html#currentId">QFtp</a> <a href="qhttp.html#currentId">QHttp</a><li>currentIndex:
+ <a href="qtoolbox.html#currentIndex">QToolBox</a><li>currentItem:
+ <a href="qcombobox.html#currentItem">QComboBox</a> <a href="qcombotableitem.html#currentItem">QComboTableItem</a> <a href="qiconview.html#currentItem">QIconView</a> <a href="qlistbox.html#currentItem">QListBox</a> <a href="qlistview.html#currentItem">QListView</a> <a href="qtoolbox.html#currentItem">QToolBox</a><li>currentKey:
+ <a href="qasciicacheiterator.html#currentKey">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#currentKey">QAsciiDictIterator</a> <a href="qcacheiterator.html#currentKey">QCacheIterator</a> <a href="qdictiterator.html#currentKey">QDictIterator</a> <a href="qintcacheiterator.html#currentKey">QIntCacheIterator</a> <a href="qintdictiterator.html#currentKey">QIntDictIterator</a> <a href="qptrdictiterator.html#currentKey">QPtrDictIterator</a><li>currentNode:
+ <a href="qptrlist.html#currentNode">QPtrList</a><li>currentPage:
+ <a href="qtabdialog.html#currentPage">QTabDialog</a> <a href="qtabwidget.html#currentPage">QTabWidget</a> <a href="qwizard.html#currentPage">QWizard</a><li>currentPageIndex:
+ <a href="qtabwidget.html#currentPageIndex">QTabWidget</a><li>currentParagraph:
+ <a href="qsyntaxhighlighter.html#currentParagraph">QSyntaxHighlighter</a><li>currentRecord:
+ <a href="qdatatable.html#currentRecord">QDataTable</a><li>currentRequest:
+ <a href="qhttp.html#currentRequest">QHttp</a><li>currentRow:
+ <a href="qtable.html#currentRow">QTable</a><li>currentSelection:
+ <a href="qtable.html#currentSelection">QTable</a><li>currentSourceDevice:
+ <a href="qhttp.html#currentSourceDevice">QHttp</a><li>currentTab:
+ <a href="qtabbar.html#currentTab">QTabBar</a><li>currentText:
+ <a href="qcombobox.html#currentText">QComboBox</a> <a href="qcombotableitem.html#currentText">QComboTableItem</a> <a href="qlistbox.html#currentText">QListBox</a><li>currentThread:
+ <a href="qthread.html#currentThread">QThread</a><li>currentTime:
+ <a href="qtime.html#currentTime">QTime</a><li>currentValueText:
+ <a href="qspinbox.html#currentValueText">QSpinBox</a><li>currentVerticalAlignmentChanged:
+ <a href="qtextedit.html#currentVerticalAlignmentChanged">QTextEdit</a><li>cursor:
+ <a href="qwidget.html#cursor">QWidget</a><li>cursorBackward:
+ <a href="qlineedit.html#cursorBackward">QLineEdit</a><li>cursorChanged:
+ <a href="qdatabrowser.html#cursorChanged">QDataBrowser</a> <a href="qdatatable.html#cursorChanged">QDataTable</a><li>cursorDown:
+ <a href="qmultilineedit.html#cursorDown">QMultiLineEdit</a><li>cursorFlashTime:
+ <a href="qapplication.html#cursorFlashTime">QApplication</a><li>cursorForward:
+ <a href="qlineedit.html#cursorForward">QLineEdit</a><li>cursorLeft:
+ <a href="qmultilineedit.html#cursorLeft">QMultiLineEdit</a><li>cursorName:
+ <a href="qsqlindex.html#cursorName">QSqlIndex</a><li>cursorPoint:
+ <a href="qmultilineedit.html#cursorPoint">QMultiLineEdit</a><li>cursorPos:
+ <a href="qimevent.html#cursorPos">QIMEvent</a><li>cursorPosition:
+ <a href="qlineedit.html#cursorPosition">QLineEdit</a><li>cursorPositionChanged:
+ <a href="qtextedit.html#cursorPositionChanged">QTextEdit</a><li>cursorRight:
+ <a href="qmultilineedit.html#cursorRight">QMultiLineEdit</a><li>cursorUp:
+ <a href="qmultilineedit.html#cursorUp">QMultiLineEdit</a><li>cursorWordBackward:
+ <a href="qlineedit.html#cursorWordBackward">QLineEdit</a> <a href="qmultilineedit.html#cursorWordBackward">QMultiLineEdit</a><li>cursorWordForward:
+ <a href="qlineedit.html#cursorWordForward">QLineEdit</a> <a href="qmultilineedit.html#cursorWordForward">QMultiLineEdit</a><li>customColor:
+ <a href="qcolordialog.html#customColor">QColorDialog</a><li>customCount:
+ <a href="qcolordialog.html#customCount">QColorDialog</a><li>customEvent:
+ <a href="qobject.html#customEvent">QObject</a><li>customWhatsThis:
+ <a href="qwidget.html#customWhatsThis">QWidget</a><li>customize:
+ <a href="qmainwindow.html#customize">QMainWindow</a><li>cut:
+ <a href="qlineedit.html#cut">QLineEdit</a> <a href="qtextedit.html#cut">QTextEdit</a><li><a name="d"></a>
+dark:
+ <a href="qcolor.html#dark">QColor</a> <a href="qcolorgroup.html#dark">QColorGroup</a><li>data:
+ <a href="qclipboard.html#data">QClipboard</a> <a href="qcustomevent.html#data">QCustomEvent</a> <a href="qdomcharacterdata.html#data">QDomCharacterData</a> <a href="qdomprocessinginstruction.html#data">QDomProcessingInstruction</a> <a href="qicondragitem.html#data">QIconDragItem</a> <a href="qmapconstiterator.html#data">QMapConstIterator</a> <a href="qmapiterator.html#data">QMapIterator</a> <a href="qmemarray.html#data">QMemArray</a> <a href="qmimesourcefactory.html#data">QMimeSourceFactory</a> <a href="qnetworkprotocol.html#data">QNetworkProtocol</a> <a href="qpicture.html#data">QPicture</a> <a href="qptrvector.html#data">QPtrVector</a> <a href="qsqlresult.html#data">QSqlResult</a> <a href="qurloperator.html#data">QUrlOperator</a> <a href="qxmlinputsource.html#data">QXmlInputSource</a><li>dataChanged:
+ <a href="qclipboard.html#dataChanged">QClipboard</a><li>dataReadProgress:
+ <a href="qhttp.html#dataReadProgress">QHttp</a><li>dataSendProgress:
+ <a href="qhttp.html#dataSendProgress">QHttp</a><li>dataTransferProgress:
+ <a href="qftp.html#dataTransferProgress">QFtp</a> <a href="qnetworkprotocol.html#dataTransferProgress">QNetworkProtocol</a> <a href="qurloperator.html#dataTransferProgress">QUrlOperator</a><li>database:
+ <a href="qsqldatabase.html#database">QSqlDatabase</a><li>databaseName:
+ <a href="qsqldatabase.html#databaseName">QSqlDatabase</a><li>databaseText:
+ <a href="qsqlerror.html#databaseText">QSqlError</a><li>date:
+ <a href="qdateedit.html#date">QDateEdit</a> <a href="qdatetime.html#date">QDateTime</a><li>dateEdit:
+ <a href="qdatetimeedit.html#dateEdit">QDateTimeEdit</a><li>dateFormat:
+ <a href="qdatatable.html#dateFormat">QDataTable</a><li>dateTime:
+ <a href="qdatetimeedit.html#dateTime">QDateTimeEdit</a><li>day:
+ <a href="qdate.html#day">QDate</a> <a href="qstyleoption.html#day">QStyleOption</a><li>dayOfWeek:
+ <a href="qdate.html#dayOfWeek">QDate</a><li>dayOfYear:
+ <a href="qdate.html#dayOfYear">QDate</a><li>daysInMonth:
+ <a href="qdate.html#daysInMonth">QDate</a><li>daysInYear:
+ <a href="qdate.html#daysInYear">QDate</a><li>daysTo:
+ <a href="qdate.html#daysTo">QDate</a> <a href="qdatetime.html#daysTo">QDateTime</a><li>deciPointSize:
+ <a href="qfont.html#deciPointSize">QFont</a><li>decimals:
+ <a href="qdoublevalidator.html#decimals">QDoubleValidator</a><li>declHandler:
+ <a href="qxmlreader.html#declHandler">QXmlReader</a><li>decode:
+ <a href="qcolordrag.html#decode">QColorDrag</a> <a href="qimagedecoder.html#decode">QImageDecoder</a> <a href="qimagedrag.html#decode">QImageDrag</a> <a href="qimageformat.html#decode">QImageFormat</a> <a href="qtextdrag.html#decode">QTextDrag</a> <a href="quridrag.html#decode">QUriDrag</a> <a href="qurl.html#decode">QUrl</a><li>decodeLocalFiles:
+ <a href="quridrag.html#decodeLocalFiles">QUriDrag</a><li>decodeName:
+ <a href="qfile.html#decodeName">QFile</a><li>decodeToUnicodeUris:
+ <a href="quridrag.html#decodeToUnicodeUris">QUriDrag</a><li>decoderFor:
+ <a href="qimageformattype.html#decoderFor">QImageFormatType</a><li>decomposition:
+ <a href="qchar.html#decomposition">QChar</a><li>decompositionTag:
+ <a href="qchar.html#decompositionTag">QChar</a><li>defaultButtonPressed:
+ <a href="qtabdialog.html#defaultButtonPressed">QTabDialog</a><li>defaultDepth:
+ <a href="qpixmap.html#defaultDepth">QPixmap</a><li>defaultFactory:
+ <a href="qeditorfactory.html#defaultFactory">QEditorFactory</a> <a href="qiconfactory.html#defaultFactory">QIconFactory</a> <a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory</a> <a href="qsqleditorfactory.html#defaultFactory">QSqlEditorFactory</a><li>defaultFamily:
+ <a href="qfont.html#defaultFamily">QFont</a><li>defaultFormat:
+ <a href="qglformat.html#defaultFormat">QGLFormat</a><li>defaultMap:
+ <a href="qsqlpropertymap.html#defaultMap">QSqlPropertyMap</a><li>defaultOptimization:
+ <a href="qpixmap.html#defaultOptimization">QPixmap</a><li>defaultOverlayFormat:
+ <a href="qglformat.html#defaultOverlayFormat">QGLFormat</a><li>defaultRenameAction:
+ <a href="qlistview.html#defaultRenameAction">QListView</a><li>defaultSheet:
+ <a href="qstylesheet.html#defaultSheet">QStyleSheet</a><li>defaultValue:
+ <a href="qsqlfieldinfo.html#defaultValue">QSqlFieldInfo</a><li>defineIOHandler:
+ <a href="qimageio.html#defineIOHandler">QImageIO</a><li>definesFontItalic:
+ <a href="qstylesheetitem.html#definesFontItalic">QStyleSheetItem</a><li>definesFontStrikeOut:
+ <a href="qstylesheetitem.html#definesFontStrikeOut">QStyleSheetItem</a><li>definesFontUnderline:
+ <a href="qstylesheetitem.html#definesFontUnderline">QStyleSheetItem</a><li>del:
+ <a href="qdatabrowser.html#del">QDataBrowser</a> <a href="qlineedit.html#del">QLineEdit</a> <a href="qsqlcursor.html#del">QSqlCursor</a> <a href="qtextedit.html#del">QTextEdit</a><li>delay:
+ <a href="qtooltipgroup.html#delay">QToolTipGroup</a><li>delayedCloseFinished:
+ <a href="qsocket.html#delayedCloseFinished">QSocket</a><li>deleteAllCodecs:
+ <a href="qtextcodec.html#deleteAllCodecs">QTextCodec</a><li>deleteAllItems:
+ <a href="qlayout.html#deleteAllItems">QLayout</a><li>deleteCurrent:
+ <a href="qdatabrowser.html#deleteCurrent">QDataBrowser</a> <a href="qdatatable.html#deleteCurrent">QDataTable</a> <a href="qlayoutiterator.html#deleteCurrent">QLayoutIterator</a><li>deleteData:
+ <a href="qdomcharacterdata.html#deleteData">QDomCharacterData</a><li>deleteItem:
+ <a href="qptrcollection.html#deleteItem">QPtrCollection</a><li>deleteLater:
+ <a href="qobject.html#deleteLater">QObject</a><li>deleteNetworkProtocol:
+ <a href="qurloperator.html#deleteNetworkProtocol">QUrlOperator</a><li>delta:
+ <a href="qwheelevent.html#delta">QWheelEvent</a><li>depth:
+ <a href="qdirectpainter.html#depth">QDirectPainter</a> <a href="qglformat.html#depth">QGLFormat</a> <a href="qimage.html#depth">QImage</a> <a href="qlistviewitem.html#depth">QListViewItem</a> <a href="qpaintdevicemetrics.html#depth">QPaintDeviceMetrics</a> <a href="qpixmap.html#depth">QPixmap</a> <a href="qscreen.html#depth">QScreen</a><li>dequeue:
+ <a href="qptrqueue.html#dequeue">QPtrQueue</a><li>descent:
+ <a href="qfontmetrics.html#descent">QFontMetrics</a><li>description:
+ <a href="qimageio.html#description">QImageIO</a><li>deselect:
+ <a href="qlineedit.html#deselect">QLineEdit</a><li>designable:
+ <a href="qmetaproperty.html#designable">QMetaProperty</a><li>desktop:
+ <a href="qapplication.html#desktop">QApplication</a><li>desktopSettingsAware:
+ <a href="qapplication.html#desktopSettingsAware">QApplication</a><li>destroy:
+ <a href="qwidget.html#destroy">QWidget</a><li>destroyAllocContext:
+ <a href="qcolor.html#destroyAllocContext">QColor</a><li>destroyed:
+ <a href="qobject.html#destroyed">QObject</a><li>det:
+ <a href="qwmatrix.html#det">QWMatrix</a><li>detach:
+ <a href="qbitarray.html#detach">QBitArray</a> <a href="qglcolormap.html#detach">QGLColormap</a> <a href="qiconset.html#detach">QIconSet</a> <a href="qimage.html#detach">QImage</a> <a href="qmap.html#detach">QMap</a> <a href="qmemarray.html#detach">QMemArray</a> <a href="qpicture.html#detach">QPicture</a> <a href="qpixmap.html#detach">QPixmap</a><li>device:
+ <a href="qdatastream.html#device">QDataStream</a> <a href="qglcontext.html#device">QGLContext</a> <a href="qpainter.html#device">QPainter</a> <a href="qtabletevent.html#device">QTabletEvent</a> <a href="qtextstream.html#device">QTextStream</a><li>deviceHeight:
+ <a href="qscreen.html#deviceHeight">QScreen</a><li>deviceIsPixmap:
+ <a href="qglcontext.html#deviceIsPixmap">QGLContext</a><li>deviceWidth:
+ <a href="qscreen.html#deviceWidth">QScreen</a><li>dialMoved:
+ <a href="qdial.html#dialMoved">QDial</a><li>dialPressed:
+ <a href="qdial.html#dialPressed">QDial</a><li>dialReleased:
+ <a href="qdial.html#dialReleased">QDial</a><li>dialog:
+ <a href="qmotifdialog.html#dialog">QMotifDialog</a><li>digitValue:
+ <a href="qchar.html#digitValue">QChar</a><li>dimensionChange:
+ <a href="qgridview.html#dimensionChange">QGridView</a><li>dir:
+ <a href="qfiledialog.html#dir">QFileDialog</a> <a href="qfileinfo.html#dir">QFileInfo</a><li>dirEntered:
+ <a href="qfiledialog.html#dirEntered">QFileDialog</a><li>dirName:
+ <a href="qdir.html#dirName">QDir</a><li>dirPath:
+ <a href="qfiledialog.html#dirPath">QFileDialog</a> <a href="qfileinfo.html#dirPath">QFileInfo</a> <a href="qurl.html#dirPath">QUrl</a><li>directRendering:
+ <a href="qglformat.html#directRendering">QGLFormat</a><li>directSetValue:
+ <a href="qrangecontrol.html#directSetValue">QRangeControl</a><li>direction:
+ <a href="qboxlayout.html#direction">QBoxLayout</a> <a href="qchar.html#direction">QChar</a><li>dirty:
+ <a href="qfont.html#dirty">QFont</a><li>disableClassInfo:
+ <a href="qaxbase.html#disableClassInfo">QAxBase</a><li>disableEventSink:
+ <a href="qaxbase.html#disableEventSink">QAxBase</a><li>disableMetaObject:
+ <a href="qaxbase.html#disableMetaObject">QAxBase</a><li>disabled:
+ <a href="qpalette.html#disabled">QPalette</a><li>discardCommand:
+ <a href="qsessionmanager.html#discardCommand">QSessionManager</a><li>disconnect:
+ <a href="qobject.html#disconnect">QObject</a> <a href="qscreen.html#disconnect">QScreen</a> <a href="qsignal.html#disconnect">QSignal</a><li>disconnectItem:
+ <a href="qaccel.html#disconnectItem">QAccel</a> <a href="qmenudata.html#disconnectItem">QMenuData</a> <a href="qmenudata.html#disconnectItem">QPopupMenu</a><li>disconnectNotify:
+ <a href="qobject.html#disconnectNotify">QObject</a><li>disconnectResize:
+ <a href="qmovie.html#disconnectResize">QMovie</a><li>disconnectStatus:
+ <a href="qmovie.html#disconnectStatus">QMovie</a><li>disconnectUpdate:
+ <a href="qmovie.html#disconnectUpdate">QMovie</a><li>display:
+ <a href="qlcdnumber.html#display">QLCDNumber</a> <a href="qtimeedit.html#display">QTimeEdit</a> <a href="qwhatsthis.html#display">QWhatsThis</a><li>displayMode:
+ <a href="qstylesheetitem.html#displayMode">QStyleSheetItem</a><li>displayText:
+ <a href="qlineedit.html#displayText">QLineEdit</a><li>doAutoScroll:
+ <a href="qiconview.html#doAutoScroll">QIconView</a> <a href="qlistview.html#doAutoScroll">QListView</a><li>doDefaultAction:
+ <a href="qaccessibleinterface.html#doDefaultAction">QAccessibleInterface</a><li>doKeyboardAction:
+ <a href="qtextedit.html#doKeyboardAction">QTextEdit</a><li>doLayout:
+ <a href="qlistbox.html#doLayout">QListBox</a><li>docName:
+ <a href="qprinter.html#docName">QPrinter</a><li>dock:
+ <a href="qdockwindow.html#dock">QDockWindow</a><li>dockWindowList:
+ <a href="qdockarea.html#dockWindowList">QDockArea</a><li>dockWindowPositionChanged:
+ <a href="qmainwindow.html#dockWindowPositionChanged">QMainWindow</a><li>dockWindows:
+ <a href="qmainwindow.html#dockWindows">QMainWindow</a><li>dockWindowsMovable:
+ <a href="qmainwindow.html#dockWindowsMovable">QMainWindow</a><li>doctype:
+ <a href="qdomdocument.html#doctype">QDomDocument</a><li>documentElement:
+ <a href="qdomdocument.html#documentElement">QDomDocument</a><li>documentTitle:
+ <a href="qtextedit.html#documentTitle">QTextEdit</a><li>done:
+ <a href="qdialog.html#done">QDialog</a> <a href="qftp.html#done">QFtp</a> <a href="qhttp.html#done">QHttp</a><li>doneCurrent:
+ <a href="qglcontext.html#doneCurrent">QGLContext</a> <a href="qglwidget.html#doneCurrent">QGLWidget</a><li>dotsPerMeterX:
+ <a href="qimage.html#dotsPerMeterX">QImage</a><li>dotsPerMeterY:
+ <a href="qimage.html#dotsPerMeterY">QImage</a><li>doubleBuffer:
+ <a href="qglformat.html#doubleBuffer">QGLFormat</a> <a href="qglwidget.html#doubleBuffer">QGLWidget</a><li>doubleClickInterval:
+ <a href="qapplication.html#doubleClickInterval">QApplication</a><li>doubleClicked:
+ <a href="qiconview.html#doubleClicked">QIconView</a> <a href="qlistbox.html#doubleClicked">QListBox</a> <a href="qlistview.html#doubleClicked">QListView</a> <a href="qtable.html#doubleClicked">QTable</a> <a href="qtextedit.html#doubleClicked">QTextEdit</a><li>downRect:
+ <a href="qspinbox.html#downRect">QSpinBox</a><li>drag:
+ <a href="qdragobject.html#drag">QDragObject</a><li>dragAutoScroll:
+ <a href="qscrollview.html#dragAutoScroll">QScrollView</a><li>dragCopy:
+ <a href="qdragobject.html#dragCopy">QDragObject</a><li>dragEnabled:
+ <a href="qiconviewitem.html#dragEnabled">QIconViewItem</a> <a href="qlineedit.html#dragEnabled">QLineEdit</a> <a href="qlistviewitem.html#dragEnabled">QListViewItem</a> <a href="qtable.html#dragEnabled">QTable</a><li>dragEnterEvent:
+ <a href="qwidget.html#dragEnterEvent">QWidget</a><li>dragEntered:
+ <a href="qiconviewitem.html#dragEntered">QIconViewItem</a> <a href="qlistviewitem.html#dragEntered">QListViewItem</a><li>dragLeaveEvent:
+ <a href="qwidget.html#dragLeaveEvent">QWidget</a><li>dragLeft:
+ <a href="qiconviewitem.html#dragLeft">QIconViewItem</a> <a href="qlistviewitem.html#dragLeft">QListViewItem</a><li>dragLink:
+ <a href="qdragobject.html#dragLink">QDragObject</a><li>dragMove:
+ <a href="qdragobject.html#dragMove">QDragObject</a><li>dragMoveEvent:
+ <a href="qwidget.html#dragMoveEvent">QWidget</a><li>dragObject:
+ <a href="qiconview.html#dragObject">QIconView</a> <a href="qlistview.html#dragObject">QListView</a> <a href="qtable.html#dragObject">QTable</a><li>draggingSlider:
+ <a href="qscrollbar.html#draggingSlider">QScrollBar</a><li>draw:
+ <a href="qcanvasitem.html#draw">QCanvasItem</a> <a href="qcanvaspolygonalitem.html#draw">QCanvasPolygonalItem</a> <a href="qcanvassprite.html#draw">QCanvasSprite</a> <a href="qcanvastext.html#draw">QCanvasText</a> <a href="qsimplerichtext.html#draw">QSimpleRichText</a><li>drawArc:
+ <a href="qpainter.html#drawArc">QPainter</a><li>drawArea:
+ <a href="qcanvas.html#drawArea">QCanvas</a><li>drawBackground:
+ <a href="qcanvas.html#drawBackground">QCanvas</a> <a href="qiconview.html#drawBackground">QIconView</a><li>drawButton:
+ <a href="qbutton.html#drawButton">QButton</a><li>drawButtonLabel:
+ <a href="qbutton.html#drawButtonLabel">QButton</a><li>drawChord:
+ <a href="qpainter.html#drawChord">QPainter</a><li>drawComplexControl:
+ <a href="qstyle.html#drawComplexControl">QStyle</a><li>drawComplexControlMask:
+ <a href="qstyle.html#drawComplexControlMask">QStyle</a><li>drawContents:
+ <a href="qcanvasview.html#drawContents">QCanvasView</a> <a href="qframe.html#drawContents">QFrame</a> <a href="qlcdnumber.html#drawContents">QLCDNumber</a> <a href="qlabel.html#drawContents">QLabel</a> <a href="qmenubar.html#drawContents">QMenuBar</a> <a href="qpopupmenu.html#drawContents">QPopupMenu</a> <a href="qscrollview.html#drawContents">QScrollView</a> <a href="qsplashscreen.html#drawContents">QSplashScreen</a> <a href="qtable.html#drawContents">QTable</a><li>drawContentsOffset:
+ <a href="qlistview.html#drawContentsOffset">QListView</a> <a href="qscrollview.html#drawContentsOffset">QScrollView</a><li>drawControl:
+ <a href="qstyle.html#drawControl">QStyle</a><li>drawControlMask:
+ <a href="qstyle.html#drawControlMask">QStyle</a><li>drawConvexPolygon:
+ <a href="qpainter.html#drawConvexPolygon">QPainter</a><li>drawCubicBezier:
+ <a href="qpainter.html#drawCubicBezier">QPainter</a><li>drawEllipse:
+ <a href="qpainter.html#drawEllipse">QPainter</a><li>drawForeground:
+ <a href="qcanvas.html#drawForeground">QCanvas</a><li>drawFrame:
+ <a href="qframe.html#drawFrame">QFrame</a><li>drawImage:
+ <a href="qpainter.html#drawImage">QPainter</a><li>drawItem:
+ <a href="qpopupmenu.html#drawItem">QPopupMenu</a> <a href="qstyle.html#drawItem">QStyle</a><li>drawLine:
+ <a href="qpainter.html#drawLine">QPainter</a><li>drawLineSegments:
+ <a href="qpainter.html#drawLineSegments">QPainter</a><li>drawPicture:
+ <a href="qpainter.html#drawPicture">QPainter</a><li>drawPie:
+ <a href="qpainter.html#drawPie">QPainter</a><li>drawPixmap:
+ <a href="qpainter.html#drawPixmap">QPainter</a><li>drawPoint:
+ <a href="qpainter.html#drawPoint">QPainter</a><li>drawPoints:
+ <a href="qpainter.html#drawPoints">QPainter</a><li>drawPolygon:
+ <a href="qpainter.html#drawPolygon">QPainter</a><li>drawPolyline:
+ <a href="qpainter.html#drawPolyline">QPainter</a><li>drawPrimitive:
+ <a href="qstyle.html#drawPrimitive">QStyle</a><li>drawRect:
+ <a href="qpainter.html#drawRect">QPainter</a><li>drawRiffles:
+ <a href="qplatinumstyle.html#drawRiffles">QPlatinumStyle</a><li>drawRoundRect:
+ <a href="qpainter.html#drawRoundRect">QPainter</a><li>drawRubber:
+ <a href="qiconview.html#drawRubber">QIconView</a><li>drawShape:
+ <a href="qcanvasellipse.html#drawShape">QCanvasEllipse</a> <a href="qcanvaspolygon.html#drawShape">QCanvasPolygon</a> <a href="qcanvaspolygonalitem.html#drawShape">QCanvasPolygonalItem</a> <a href="qcanvasrectangle.html#drawShape">QCanvasRectangle</a><li>drawText:
+ <a href="qpainter.html#drawText">QPainter</a> <a href="qwidget.html#drawText">QWidget</a><li>drawTiledPixmap:
+ <a href="qpainter.html#drawTiledPixmap">QPainter</a><li>drawWinFocusRect:
+ <a href="qpainter.html#drawWinFocusRect">QPainter</a><li>driver:
+ <a href="qsqldatabase.html#driver">QSqlDatabase</a> <a href="qsqlquery.html#driver">QSqlQuery</a> <a href="qsqlresult.html#driver">QSqlResult</a><li>driverName:
+ <a href="qsqldatabase.html#driverName">QSqlDatabase</a><li>driverText:
+ <a href="qsqlerror.html#driverText">QSqlError</a><li>drivers:
+ <a href="qsqldatabase.html#drivers">QSqlDatabase</a><li>drives:
+ <a href="qdir.html#drives">QDir</a><li>dropEnabled:
+ <a href="qiconviewitem.html#dropEnabled">QIconViewItem</a> <a href="qlistviewitem.html#dropEnabled">QListViewItem</a><li>dropEvent:
+ <a href="qwidget.html#dropEvent">QWidget</a><li>dropped:
+ <a href="qiconview.html#dropped">QIconView</a> <a href="qiconviewitem.html#dropped">QIconViewItem</a> <a href="qlistview.html#dropped">QListView</a> <a href="qlistviewitem.html#dropped">QListViewItem</a> <a href="qtable.html#dropped">QTable</a><li>dumpObjectInfo:
+ <a href="qobject.html#dumpObjectInfo">QObject</a><li>dumpObjectTree:
+ <a href="qobject.html#dumpObjectTree">QObject</a><li>duplicate:
+ <a href="qmemarray.html#duplicate">QMemArray</a><li>duplicatesEnabled:
+ <a href="qcombobox.html#duplicatesEnabled">QComboBox</a><li>dx:
+ <a href="qwmatrix.html#dx">QWMatrix</a><li>dy:
+ <a href="qwmatrix.html#dy">QWMatrix</a><li>dynamicCall:
+ <a href="qaxbase.html#dynamicCall">QAxBase</a> <a href="qaxbase.html#dynamicCall">QAxObject</a> <a href="qaxbase.html#dynamicCall">QAxWidget</a><li><a name="e"></a>
+echoMode:
+ <a href="qlineedit.html#echoMode">QLineEdit</a><li>editBuffer:
+ <a href="qsqlcursor.html#editBuffer">QSqlCursor</a><li>editCell:
+ <a href="qtable.html#editCell">QTable</a><li>editMode:
+ <a href="qtable.html#editMode">QTable</a><li>editType:
+ <a href="qtableitem.html#editType">QTableItem</a><li>editable:
+ <a href="qcombobox.html#editable">QComboBox</a><li>edited:
+ <a href="qmultilineedit.html#edited">QMultiLineEdit</a><li>editor:
+ <a href="qspinbox.html#editor">QSpinBox</a><li>elapsed:
+ <a href="qtime.html#elapsed">QTime</a><li>elementById:
+ <a href="qdomdocument.html#elementById">QDomDocument</a><li>elementsByTagName:
+ <a href="qdomdocument.html#elementsByTagName">QDomDocument</a> <a href="qdomelement.html#elementsByTagName">QDomElement</a><li>elementsByTagNameNS:
+ <a href="qdomdocument.html#elementsByTagNameNS">QDomDocument</a> <a href="qdomelement.html#elementsByTagNameNS">QDomElement</a><li>emitSelectionChanged:
+ <a href="qiconview.html#emitSelectionChanged">QIconView</a><li>empty:
+ <a href="qmap.html#empty">QMap</a> <a href="qvaluelist.html#empty">QValueList</a> <a href="qvaluevector.html#empty">QValueVector</a><li>enableClipper:
+ <a href="qscrollview.html#enableClipper">QScrollView</a><li>enablePainting:
+ <a href="qwsserver.html#enablePainting">QWSServer</a><li>enableRewind:
+ <a href="qdatasource.html#enableRewind">QDataSource</a> <a href="qiodevicesource.html#enableRewind">QIODeviceSource</a><li>enabled:
+ <a href="qtooltipgroup.html#enabled">QToolTipGroup</a><li>enabledChange:
+ <a href="qwidget.html#enabledChange">QWidget</a><li>encode:
+ <a href="qurl.html#encode">QUrl</a><li>encodeName:
+ <a href="qfile.html#encodeName">QFile</a><li>encodedData:
+ <a href="qdropevent.html#encodedData">QDropEvent</a> <a href="qicondrag.html#encodedData">QIconDrag</a> <a href="qmimesource.html#encodedData">QMimeSource</a> <a href="qstoreddrag.html#encodedData">QStoredDrag</a><li>encodedPathAndQuery:
+ <a href="qurl.html#encodedPathAndQuery">QUrl</a><li>end:
+ <a href="qimageconsumer.html#end">QImageConsumer</a> <a href="qlineedit.html#end">QLineEdit</a> <a href="qmap.html#end">QMap</a> <a href="qmemarray.html#end">QMemArray</a> <a href="qmultilineedit.html#end">QMultiLineEdit</a> <a href="qnpstream.html#end">QNPStream</a> <a href="qpainter.html#end">QPainter</a> <a href="qvaluelist.html#end">QValueList</a> <a href="qvaluevector.html#end">QValueVector</a><li>endCDATA:
+ <a href="qxmllexicalhandler.html#endCDATA">QXmlLexicalHandler</a><li>endDTD:
+ <a href="qxmllexicalhandler.html#endDTD">QXmlLexicalHandler</a><li>endDocument:
+ <a href="qxmlcontenthandler.html#endDocument">QXmlContentHandler</a><li>endEdit:
+ <a href="qtable.html#endEdit">QTable</a><li>endElement:
+ <a href="qxmlcontenthandler.html#endElement">QXmlContentHandler</a><li>endEntity:
+ <a href="qxmllexicalhandler.html#endEntity">QXmlLexicalHandler</a><li>endGroup:
+ <a href="qsettings.html#endGroup">QSettings</a><li>endPoint:
+ <a href="qcanvasline.html#endPoint">QCanvasLine</a><li>endPrefixMapping:
+ <a href="qxmlcontenthandler.html#endPrefixMapping">QXmlContentHandler</a><li>endsWith:
+ <a href="qstring.html#endsWith">QString</a><li>enforceSortOrder:
+ <a href="qlistviewitem.html#enforceSortOrder">QListViewItem</a><li>enqueue:
+ <a href="qptrqueue.html#enqueue">QPtrQueue</a><li>ensureCellVisible:
+ <a href="qgridview.html#ensureCellVisible">QGridView</a> <a href="qtable.html#ensureCellVisible">QTable</a><li>ensureCurrentVisible:
+ <a href="qlistbox.html#ensureCurrentVisible">QListBox</a><li>ensureCursorVisible:
+ <a href="qtextedit.html#ensureCursorVisible">QTextEdit</a><li>ensureItemVisible:
+ <a href="qiconview.html#ensureItemVisible">QIconView</a> <a href="qlistview.html#ensureItemVisible">QListView</a><li>ensureVisible:
+ <a href="qscrollview.html#ensureVisible">QScrollView</a><li>enterAllocContext:
+ <a href="qcolor.html#enterAllocContext">QColor</a><li>enterEvent:
+ <a href="qwidget.html#enterEvent">QWidget</a><li>enterInstance:
+ <a href="qnpwidget.html#enterInstance">QNPWidget</a><li>enterLoop:
+ <a href="qeventloop.html#enterLoop">QEventLoop</a><li>enterWhatsThisMode:
+ <a href="qwhatsthis.html#enterWhatsThisMode">QWhatsThis</a><li>entered:
+ <a href="qaxscript.html#entered">QAxScript</a><li>entities:
+ <a href="qdomdocumenttype.html#entities">QDomDocumentType</a><li>entityResolver:
+ <a href="qxmlreader.html#entityResolver">QXmlReader</a><li>entryColor:
+ <a href="qglcolormap.html#entryColor">QGLColormap</a><li>entryInfoList:
+ <a href="qdir.html#entryInfoList">QDir</a><li>entryList:
+ <a href="qdir.html#entryList">QDir</a> <a href="qsettings.html#entryList">QSettings</a><li>entryRgb:
+ <a href="qglcolormap.html#entryRgb">QGLColormap</a><li>enumKeys:
+ <a href="qmetaproperty.html#enumKeys">QMetaProperty</a><li>eof:
+ <a href="qdatasink.html#eof">QDataSink</a><li>eor:
+ <a href="qregion.html#eor">QRegion</a><li>equal:
+ <a href="qurlinfo.html#equal">QUrlInfo</a><li>erase:
+ <a href="qmap.html#erase">QMap</a> <a href="qvaluelist.html#erase">QValueList</a> <a href="qvaluevector.html#erase">QValueVector</a> <a href="qwidget.html#erase">QWidget</a><li>eraseColor:
+ <a href="qwidget.html#eraseColor">QWidget</a><li>erasePixmap:
+ <a href="qwidget.html#erasePixmap">QWidget</a><li>eraseRect:
+ <a href="qpainter.html#eraseRect">QPainter</a><li>erased:
+ <a href="qpaintevent.html#erased">QPaintEvent</a><li>error:
+ <a href="qassistantclient.html#error">QAssistantClient</a> <a href="qaxscript.html#error">QAxScript</a> <a href="qaxscriptmanager.html#error">QAxScriptManager</a> <a href="qftp.html#error">QFtp</a> <a href="qhttp.html#error">QHttp</a> <a href="qsocket.html#error">QSocket</a> <a href="qsocketdevice.html#error">QSocketDevice</a> <a href="qstylesheet.html#error">QStyleSheet</a> <a href="qxmlerrorhandler.html#error">QXmlErrorHandler</a><li>errorCode:
+ <a href="qnetworkoperation.html#errorCode">QNetworkOperation</a><li>errorHandler:
+ <a href="qxmlreader.html#errorHandler">QXmlReader</a><li>errorString:
+ <a href="qfile.html#errorString">QFile</a> <a href="qftp.html#errorString">QFtp</a> <a href="qhttp.html#errorString">QHttp</a> <a href="qregexp.html#errorString">QRegExp</a> <a href="qxmlcontenthandler.html#errorString">QXmlContentHandler</a> <a href="qxmldtdhandler.html#errorString">QXmlDTDHandler</a> <a href="qxmldeclhandler.html#errorString">QXmlDeclHandler</a> <a href="qxmlentityresolver.html#errorString">QXmlEntityResolver</a> <a href="qxmlerrorhandler.html#errorString">QXmlErrorHandler</a> <a href="qxmllexicalhandler.html#errorString">QXmlLexicalHandler</a><li>escape:
+ <a href="qregexp.html#escape">QRegExp</a> <a href="qstylesheet.html#escape">QStyleSheet</a><li>event:
+ <a href="qobject.html#event">QObject</a> <a href="qwidget.html#event">QWidget</a><li>eventFilter:
+ <a href="qlistview.html#eventFilter">QListView</a> <a href="qobject.html#eventFilter">QObject</a> <a href="qscrollview.html#eventFilter">QScrollView</a> <a href="qspinbox.html#eventFilter">QSpinBox</a><li>eventLoop:
+ <a href="qapplication.html#eventLoop">QApplication</a><li>eventsID:
+ <a href="qaxfactory.html#eventsID">QAxFactory</a><li>exactMatch:
+ <a href="qfont.html#exactMatch">QFont</a> <a href="qfontinfo.html#exactMatch">QFontInfo</a> <a href="qregexp.html#exactMatch">QRegExp</a><li>exception:
+ <a href="qaxbase.html#exception">QAxBase</a><li>exec:
+ <a href="qapplication.html#exec">QApplication</a> <a href="qdialog.html#exec">QDialog</a> <a href="qeventloop.html#exec">QEventLoop</a> <a href="qpopupmenu.html#exec">QPopupMenu</a> <a href="qsqldatabase.html#exec">QSqlDatabase</a> <a href="qsqlquery.html#exec">QSqlQuery</a><li>executedQuery:
+ <a href="qsqlquery.html#executedQuery">QSqlQuery</a><li>exists:
+ <a href="qdir.html#exists">QDir</a> <a href="qfile.html#exists">QFile</a> <a href="qfileinfo.html#exists">QFileInfo</a><li>exit:
+ <a href="qapplication.html#exit">QApplication</a> <a href="qeventloop.html#exit">QEventLoop</a> <a href="qthread.html#exit">QThread</a><li>exitLoop:
+ <a href="qeventloop.html#exitLoop">QEventLoop</a><li>exitStatus:
+ <a href="qprocess.html#exitStatus">QProcess</a><li>expand:
+ <a href="qgridlayout.html#expand">QGridLayout</a><li>expandTo:
+ <a href="qtableselection.html#expandTo">QTableSelection</a><li>expanded:
+ <a href="qlistview.html#expanded">QListView</a><li>expandedTo:
+ <a href="qsize.html#expandedTo">QSize</a><li>expanding:
+ <a href="qboxlayout.html#expanding">QBoxLayout</a> <a href="qgridlayout.html#expanding">QGridLayout</a> <a href="qlayout.html#expanding">QLayout</a> <a href="qlayoutitem.html#expanding">QLayoutItem</a> <a href="qsizepolicy.html#expanding">QSizePolicy</a> <a href="qspaceritem.html#expanding">QSpacerItem</a> <a href="qwidgetitem.html#expanding">QWidgetItem</a><li>exposeToSuperClass:
+ <a href="qaxfactory.html#exposeToSuperClass">QAxFactory</a><li>extension:
+ <a href="qdialog.html#extension">QDialog</a> <a href="qfileinfo.html#extension">QFileInfo</a><li>externalEntityDecl:
+ <a href="qxmldeclhandler.html#externalEntityDecl">QXmlDeclHandler</a><li><a name="f"></a>
+falseText:
+ <a href="qdatatable.html#falseText">QDataTable</a><li>families:
+ <a href="qfontdatabase.html#families">QFontDatabase</a><li>family:
+ <a href="qfont.html#family">QFont</a> <a href="qfontinfo.html#family">QFontInfo</a> <a href="qtextedit.html#family">QTextEdit</a><li>fatalError:
+ <a href="qxmlerrorhandler.html#fatalError">QXmlErrorHandler</a><li>feature:
+ <a href="qxmlreader.html#feature">QXmlReader</a><li>featureList:
+ <a href="qaxfactory.html#featureList">QAxFactory</a><li>fetch:
+ <a href="qsqlresult.html#fetch">QSqlResult</a><li>fetchData:
+ <a href="qxmlinputsource.html#fetchData">QXmlInputSource</a><li>fetchFirst:
+ <a href="qsqlresult.html#fetchFirst">QSqlResult</a><li>fetchLast:
+ <a href="qsqlresult.html#fetchLast">QSqlResult</a><li>fetchNext:
+ <a href="qsqlresult.html#fetchNext">QSqlResult</a><li>fetchPrev:
+ <a href="qsqlresult.html#fetchPrev">QSqlResult</a><li>field:
+ <a href="qsqlrecord.html#field">QSqlRecord</a><li>fieldAlignment:
+ <a href="qdatatable.html#fieldAlignment">QDataTable</a><li>fieldName:
+ <a href="qsqlrecord.html#fieldName">QSqlRecord</a><li>fieldToWidget:
+ <a href="qsqlform.html#fieldToWidget">QSqlForm</a><li>fileHighlighted:
+ <a href="qfiledialog.html#fileHighlighted">QFileDialog</a><li>fileName:
+ <a href="qfileinfo.html#fileName">QFileInfo</a> <a href="qimageio.html#fileName">QImageIO</a> <a href="qsound.html#fileName">QSound</a> <a href="qurl.html#fileName">QUrl</a><li>filePath:
+ <a href="qdir.html#filePath">QDir</a> <a href="qfileinfo.html#filePath">QFileInfo</a> <a href="qmimesourcefactory.html#filePath">QMimeSourceFactory</a><li>fileSelected:
+ <a href="qfiledialog.html#fileSelected">QFileDialog</a><li>filesSelected:
+ <a href="qfiledialog.html#filesSelected">QFileDialog</a><li>fill:
+ <a href="qbitarray.html#fill">QBitArray</a> <a href="qcstring.html#fill">QCString</a> <a href="qimage.html#fill">QImage</a> <a href="qmemarray.html#fill">QMemArray</a> <a href="qpixmap.html#fill">QPixmap</a> <a href="qptrvector.html#fill">QPtrVector</a> <a href="qstring.html#fill">QString</a> <a href="qtextstream.html#fill">QTextStream</a><li>fillRect:
+ <a href="qpainter.html#fillRect">QPainter</a><li>filter:
+ <a href="qdatabrowser.html#filter">QDataBrowser</a> <a href="qdatatable.html#filter">QDataTable</a> <a href="qdir.html#filter">QDir</a> <a href="qsqlcursor.html#filter">QSqlCursor</a> <a href="qwsinputmethod.html#filter">QWSInputMethod</a><li>filterSelected:
+ <a href="qfiledialog.html#filterSelected">QFileDialog</a><li>find:
+ <a href="qasciicache.html#find">QAsciiCache</a> <a href="qasciidict.html#find">QAsciiDict</a> <a href="qbuttongroup.html#find">QButtonGroup</a> <a href="qcstring.html#find">QCString</a> <a href="qcache.html#find">QCache</a> <a href="qdatatable.html#find">QDataTable</a> <a href="qdict.html#find">QDict</a> <a href="qglcolormap.html#find">QGLColormap</a> <a href="qintcache.html#find">QIntCache</a> <a href="qintdict.html#find">QIntDict</a> <a href="qmap.html#find">QMap</a> <a href="qmemarray.html#find">QMemArray</a> <a href="qpixmapcache.html#find">QPixmapCache</a> <a href="qptrdict.html#find">QPtrDict</a> <a href="qptrlist.html#find">QPtrList</a> <a href="qptrvector.html#find">QPtrVector</a> <a href="qsqlrecordinfo.html#find">QSqlRecordInfo</a> <a href="qstring.html#find">QString</a> <a href="qtextedit.html#find">QTextEdit</a> <a href="qvaluelist.html#find">QValueList</a> <a href="qwidget.html#find">QWidget</a><li>findFirstVisibleItem:
+ <a href="qiconview.html#findFirstVisibleItem">QIconView</a><li>findIndex:
+ <a href="qvaluelist.html#findIndex">QValueList</a><li>findItem:
+ <a href="qiconview.html#findItem">QIconView</a> <a href="qlistbox.html#findItem">QListBox</a> <a href="qlistview.html#findItem">QListView</a> <a href="qmenudata.html#findItem">QMenuData</a><li>findKey:
+ <a href="qaccel.html#findKey">QAccel</a><li>findLastVisibleItem:
+ <a href="qiconview.html#findLastVisibleItem">QIconView</a><li>findMessage:
+ <a href="qtranslator.html#findMessage">QTranslator</a><li>findNearest:
+ <a href="qglcolormap.html#findNearest">QGLColormap</a><li>findNext:
+ <a href="qptrlist.html#findNext">QPtrList</a><li>findNextRef:
+ <a href="qptrlist.html#findNextRef">QPtrList</a><li>findProperty:
+ <a href="qmetaobject.html#findProperty">QMetaObject</a><li>findRef:
+ <a href="qptrlist.html#findRef">QPtrList</a> <a href="qptrvector.html#findRef">QPtrVector</a><li>findRev:
+ <a href="qcstring.html#findRev">QCString</a> <a href="qstring.html#findRev">QString</a><li>findWidget:
+ <a href="qboxlayout.html#findWidget">QBoxLayout</a> <a href="qgridlayout.html#findWidget">QGridLayout</a><li>finish:
+ <a href="qsplashscreen.html#finish">QSplashScreen</a><li>finishButton:
+ <a href="qwizard.html#finishButton">QWizard</a><li>finished:
+ <a href="qaxscript.html#finished">QAxScript</a> <a href="qmovie.html#finished">QMovie</a> <a href="qnetworkprotocol.html#finished">QNetworkProtocol</a> <a href="qthread.html#finished">QThread</a> <a href="qurloperator.html#finished">QUrlOperator</a><li>first:
+ <a href="qdatabrowser.html#first">QDataBrowser</a> <a href="qfocusdata.html#first">QFocusData</a> <a href="qptrlist.html#first">QPtrList</a> <a href="qsqlquery.html#first">QSqlQuery</a> <a href="qvaluelist.html#first">QValueList</a> <a href="qvaluevector.html#first">QValueVector</a><li>firstChild:
+ <a href="qdomnode.html#firstChild">QDomNode</a> <a href="qlistview.html#firstChild">QListView</a> <a href="qlistviewitem.html#firstChild">QListViewItem</a><li>firstItem:
+ <a href="qiconview.html#firstItem">QIconView</a> <a href="qlistbox.html#firstItem">QListBox</a><li>firstRecordAvailable:
+ <a href="qdatabrowser.html#firstRecordAvailable">QDataBrowser</a><li>fix:
+ <a href="qdateedit.html#fix">QDateEdit</a><li>fixedExtent:
+ <a href="qdockwindow.html#fixedExtent">QDockWindow</a><li>fixedPitch:
+ <a href="qfont.html#fixedPitch">QFont</a> <a href="qfontinfo.html#fixedPitch">QFontInfo</a><li>fixup:
+ <a href="qvalidator.html#fixup">QValidator</a><li>flags:
+ <a href="qiodevice.html#flags">QIODevice</a> <a href="qtextstream.html#flags">QTextStream</a><li>flavor:
+ <a href="qmacmime.html#flavor">QMacMime</a><li>flavorFor:
+ <a href="qmacmime.html#flavorFor">QMacMime</a><li>flavorToMime:
+ <a href="qmacmime.html#flavorToMime">QMacMime</a><li>flush:
+ <a href="qapplication.html#flush">QApplication</a> <a href="qfile.html#flush">QFile</a> <a href="qiodevice.html#flush">QIODevice</a> <a href="qpainter.html#flush">QPainter</a> <a href="qsocket.html#flush">QSocket</a><li>flushX:
+ <a href="qapplication.html#flushX">QApplication</a><li>focusData:
+ <a href="qwidget.html#focusData">QWidget</a><li>focusInEvent:
+ <a href="qwidget.html#focusInEvent">QWidget</a><li>focusNextPrevChild:
+ <a href="qtextedit.html#focusNextPrevChild">QTextEdit</a> <a href="qwidget.html#focusNextPrevChild">QWidget</a><li>focusOutEvent:
+ <a href="qwidget.html#focusOutEvent">QWidget</a><li>focusPolicy:
+ <a href="qwidget.html#focusPolicy">QWidget</a><li>focusProxy:
+ <a href="qwidget.html#focusProxy">QWidget</a><li>focusRectPolicy:
+ <a href="qmacstyle.html#focusRectPolicy">QMacStyle</a><li>focusStyle:
+ <a href="qtable.html#focusStyle">QTable</a><li>focusWidget:
+ <a href="qapplication.html#focusWidget">QApplication</a> <a href="qfocusdata.html#focusWidget">QFocusData</a> <a href="qwidget.html#focusWidget">QWidget</a><li>font:
+ <a href="qapplication.html#font">QApplication</a> <a href="qcanvastext.html#font">QCanvasText</a> <a href="qfontdatabase.html#font">QFontDatabase</a> <a href="qpainter.html#font">QPainter</a> <a href="qtooltip.html#font">QToolTip</a> <a href="qwidget.html#font">QWidget</a><li>fontChange:
+ <a href="qwidget.html#fontChange">QWidget</a><li>fontFamily:
+ <a href="qstylesheetitem.html#fontFamily">QStyleSheetItem</a><li>fontInfo:
+ <a href="qpainter.html#fontInfo">QPainter</a> <a href="qwidget.html#fontInfo">QWidget</a><li>fontItalic:
+ <a href="qstylesheetitem.html#fontItalic">QStyleSheetItem</a><li>fontMetrics:
+ <a href="qapplication.html#fontMetrics">QApplication</a> <a href="qpainter.html#fontMetrics">QPainter</a> <a href="qwidget.html#fontMetrics">QWidget</a><li>fontSize:
+ <a href="qstylesheetitem.html#fontSize">QStyleSheetItem</a><li>fontStrikeOut:
+ <a href="qstylesheetitem.html#fontStrikeOut">QStyleSheetItem</a><li>fontUnderline:
+ <a href="qstylesheetitem.html#fontUnderline">QStyleSheetItem</a><li>fontWeight:
+ <a href="qstylesheetitem.html#fontWeight">QStyleSheetItem</a><li>forceShow:
+ <a href="qprogressdialog.html#forceShow">QProgressDialog</a><li>foreground:
+ <a href="qcolorgroup.html#foreground">QColorGroup</a><li>foregroundColor:
+ <a href="qwidget.html#foregroundColor">QWidget</a><li>form:
+ <a href="qdatabrowser.html#form">QDataBrowser</a> <a href="qdataview.html#form">QDataView</a><li>format:
+ <a href="qdropevent.html#format">QDropEvent</a> <a href="qglcontext.html#format">QGLContext</a> <a href="qglwidget.html#format">QGLWidget</a> <a href="qimagedecoder.html#format">QImageDecoder</a> <a href="qimageio.html#format">QImageIO</a> <a href="qmimesource.html#format">QMimeSource</a><li>formatName:
+ <a href="qimagedecoder.html#formatName">QImageDecoder</a> <a href="qimageformattype.html#formatName">QImageFormatType</a><li>formatValue:
+ <a href="qsqldriver.html#formatValue">QSqlDriver</a><li>forward:
+ <a href="qtextbrowser.html#forward">QTextBrowser</a><li>forwardAvailable:
+ <a href="qtextbrowser.html#forwardAvailable">QTextBrowser</a><li>frame:
+ <a href="qcanvassprite.html#frame">QCanvasSprite</a> <a href="qlineedit.html#frame">QLineEdit</a><li>frameBuffer:
+ <a href="qdirectpainter.html#frameBuffer">QDirectPainter</a><li>frameChanged:
+ <a href="qframe.html#frameChanged">QFrame</a><li>frameCount:
+ <a href="qcanvassprite.html#frameCount">QCanvasSprite</a><li>frameDone:
+ <a href="qimageconsumer.html#frameDone">QImageConsumer</a><li>frameGeometry:
+ <a href="qwidget.html#frameGeometry">QWidget</a><li>frameImage:
+ <a href="qmovie.html#frameImage">QMovie</a><li>frameNumber:
+ <a href="qmovie.html#frameNumber">QMovie</a><li>framePixmap:
+ <a href="qmovie.html#framePixmap">QMovie</a><li>frameRect:
+ <a href="qframe.html#frameRect">QFrame</a><li>frameShadow:
+ <a href="qframe.html#frameShadow">QFrame</a> <a href="qstyleoption.html#frameShadow">QStyleOption</a><li>frameShape:
+ <a href="qframe.html#frameShape">QFrame</a> <a href="qstyleoption.html#frameShape">QStyleOption</a><li>frameSize:
+ <a href="qwidget.html#frameSize">QWidget</a><li>frameStyle:
+ <a href="qframe.html#frameStyle">QFrame</a><li>frameWidth:
+ <a href="qframe.html#frameWidth">QFrame</a><li>free:
+ <a href="qnetworkoperation.html#free">QNetworkOperation</a><li>fromAscii:
+ <a href="qstring.html#fromAscii">QString</a><li>fromLast:
+ <a href="qvaluelist.html#fromLast">QValueList</a><li>fromLatin1:
+ <a href="qstring.html#fromLatin1">QString</a><li>fromLocal8Bit:
+ <a href="qstring.html#fromLocal8Bit">QString</a><li>fromMimeSource:
+ <a href="qimage.html#fromMimeSource">QImage</a> <a href="qpixmap.html#fromMimeSource">QPixmap</a><li>fromPage:
+ <a href="qprinter.html#fromPage">QPrinter</a><li>fromRawData:
+ <a href="qxmlinputsource.html#fromRawData">QXmlInputSource</a><li>fromStrList:
+ <a href="qstringlist.html#fromStrList">QStringList</a><li>fromString:
+ <a href="qdate.html#fromString">QDate</a> <a href="qdatetime.html#fromString">QDateTime</a> <a href="qfont.html#fromString">QFont</a> <a href="qtime.html#fromString">QTime</a><li>fromStringList:
+ <a href="qsqlindex.html#fromStringList">QSqlIndex</a><li>fromUcs2:
+ <a href="qstring.html#fromUcs2">QString</a><li>fromUnicode:
+ <a href="qhebrewcodec.html#fromUnicode">QHebrewCodec</a> <a href="qtextcodec.html#fromUnicode">QTextCodec</a> <a href="qtextencoder.html#fromUnicode">QTextEncoder</a><li>fromUtf8:
+ <a href="qstring.html#fromUtf8">QString</a><li>front:
+ <a href="qvaluelist.html#front">QValueList</a> <a href="qvaluevector.html#front">QValueVector</a><li>fullPage:
+ <a href="qprinter.html#fullPage">QPrinter</a><li>fullSpan:
+ <a href="qcustommenuitem.html#fullSpan">QCustomMenuItem</a><li>functions:
+ <a href="qaxscript.html#functions">QAxScript</a> <a href="qaxscriptmanager.html#functions">QAxScriptManager</a><li><a name="g"></a>
+gamma:
+ <a href="qimageio.html#gamma">QImageIO</a><li>generateDocumentation:
+ <a href="qaxbase.html#generateDocumentation">QAxBase</a><li>generateFontDisplayLists:
+ <a href="qglcontext.html#generateFontDisplayLists">QGLContext</a><li>geometry:
+ <a href="qlayoutitem.html#geometry">QLayoutItem</a> <a href="qwidget.html#geometry">QWidget</a><li>get:
+ <a href="qfontmanager.html#get">QFontManager</a> <a href="qftp.html#get">QFtp</a> <a href="qhttp.html#get">QHttp</a> <a href="qurloperator.html#get">QUrlOperator</a><li>getColor:
+ <a href="qcolordialog.html#getColor">QColorDialog</a><li>getCursorPosition:
+ <a href="qtextedit.html#getCursorPosition">QTextEdit</a><li>getDouble:
+ <a href="qinputdialog.html#getDouble">QInputDialog</a><li>getExistingDirectory:
+ <a href="qfiledialog.html#getExistingDirectory">QFileDialog</a><li>getFirst:
+ <a href="qptrlist.html#getFirst">QPtrList</a><li>getFont:
+ <a href="qfontdialog.html#getFont">QFontDialog</a><li>getHsv:
+ <a href="qcolor.html#getHsv">QColor</a><li>getInteger:
+ <a href="qinputdialog.html#getInteger">QInputDialog</a><li>getItem:
+ <a href="qinputdialog.html#getItem">QInputDialog</a><li>getJavaClass:
+ <a href="qnplugin.html#getJavaClass">QNPlugin</a><li>getJavaEnv:
+ <a href="qnplugin.html#getJavaEnv">QNPlugin</a><li>getJavaPeer:
+ <a href="qnpinstance.html#getJavaPeer">QNPInstance</a><li>getLast:
+ <a href="qptrlist.html#getLast">QPtrList</a><li>getLocation:
+ <a href="qmainwindow.html#getLocation">QMainWindow</a><li>getMIMEDescription:
+ <a href="qnplugin.html#getMIMEDescription">QNPlugin</a><li>getMarkedRegion:
+ <a href="qmultilineedit.html#getMarkedRegion">QMultiLineEdit</a><li>getNetworkProtocol:
+ <a href="qnetworkprotocol.html#getNetworkProtocol">QNetworkProtocol</a> <a href="qurloperator.html#getNetworkProtocol">QUrlOperator</a><li>getOpenFileName:
+ <a href="qfiledialog.html#getOpenFileName">QFileDialog</a><li>getOpenFileNames:
+ <a href="qfiledialog.html#getOpenFileNames">QFileDialog</a><li>getPluginDescriptionString:
+ <a href="qnplugin.html#getPluginDescriptionString">QNPlugin</a><li>getPluginNameString:
+ <a href="qnplugin.html#getPluginNameString">QNPlugin</a><li>getRange:
+ <a href="qsplitter.html#getRange">QSplitter</a><li>getRgb:
+ <a href="qcolor.html#getRgb">QColor</a><li>getRgba:
+ <a href="qcolordialog.html#getRgba">QColorDialog</a><li>getSaveFileName:
+ <a href="qfiledialog.html#getSaveFileName">QFileDialog</a><li>getSelection:
+ <a href="qtextedit.html#getSelection">QTextEdit</a><li>getText:
+ <a href="qinputdialog.html#getText">QInputDialog</a><li>getURL:
+ <a href="qnpinstance.html#getURL">QNPInstance</a><li>getURLNotify:
+ <a href="qnpinstance.html#getURLNotify">QNPInstance</a><li>getValidRect:
+ <a href="qmovie.html#getValidRect">QMovie</a><li>getVersionInfo:
+ <a href="qnplugin.html#getVersionInfo">QNPlugin</a><li>getWFlags:
+ <a href="qwidget.html#getWFlags">QWidget</a><li>getch:
+ <a href="qfile.html#getch">QFile</a> <a href="qiodevice.html#getch">QIODevice</a> <a href="qsocket.html#getch">QSocket</a><li>glDraw:
+ <a href="qglwidget.html#glDraw">QGLWidget</a><li>glInit:
+ <a href="qglwidget.html#glInit">QGLWidget</a><li>globalPos:
+ <a href="qcontextmenuevent.html#globalPos">QContextMenuEvent</a> <a href="qmouseevent.html#globalPos">QMouseEvent</a> <a href="qtabletevent.html#globalPos">QTabletEvent</a> <a href="qwheelevent.html#globalPos">QWheelEvent</a><li>globalStrut:
+ <a href="qapplication.html#globalStrut">QApplication</a><li>globalX:
+ <a href="qcontextmenuevent.html#globalX">QContextMenuEvent</a> <a href="qmouseevent.html#globalX">QMouseEvent</a> <a href="qtabletevent.html#globalX">QTabletEvent</a> <a href="qwheelevent.html#globalX">QWheelEvent</a><li>globalY:
+ <a href="qcontextmenuevent.html#globalY">QContextMenuEvent</a> <a href="qmouseevent.html#globalY">QMouseEvent</a> <a href="qtabletevent.html#globalY">QTabletEvent</a> <a href="qwheelevent.html#globalY">QWheelEvent</a><li>gotFocus:
+ <a href="qfocusevent.html#gotFocus">QFocusEvent</a><li>grabFrameBuffer:
+ <a href="qglwidget.html#grabFrameBuffer">QGLWidget</a><li>grabKeyboard:
+ <a href="qwidget.html#grabKeyboard">QWidget</a><li>grabMouse:
+ <a href="qwidget.html#grabMouse">QWidget</a><li>grabWidget:
+ <a href="qpixmap.html#grabWidget">QPixmap</a><li>grabWindow:
+ <a href="qpixmap.html#grabWindow">QPixmap</a><li>greaterThan:
+ <a href="qurlinfo.html#greaterThan">QUrlInfo</a><li>green:
+ <a href="qcolor.html#green">QColor</a><li>grep:
+ <a href="qstringlist.html#grep">QStringList</a><li>gres:
+ <a href="qstringlist.html#gres">QStringList</a><li>gridSize:
+ <a href="qgridview.html#gridSize">QGridView</a><li>gridX:
+ <a href="qiconview.html#gridX">QIconView</a><li>gridY:
+ <a href="qiconview.html#gridY">QIconView</a><li>group:
+ <a href="qbutton.html#group">QButton</a> <a href="qbutton.html#group">QCheckBox</a> <a href="qfileinfo.html#group">QFileInfo</a> <a href="qbutton.html#group">QPushButton</a> <a href="qbutton.html#group">QRadioButton</a> <a href="qsettings.html#group">QSettings</a> <a href="qtooltip.html#group">QToolTip</a> <a href="qurlinfo.html#group">QUrlInfo</a> <a href="qwidgetplugin.html#group">QWidgetPlugin</a><li>groupId:
+ <a href="qfileinfo.html#groupId">QFileInfo</a><li>guiThreadAwake:
+ <a href="qapplication.html#guiThreadAwake">QApplication</a><li><a name="h"></a>
+hScrollBarMode:
+ <a href="qscrollview.html#hScrollBarMode">QScrollView</a><li>handle:
+ <a href="qcursor.html#handle">QCursor</a> <a href="qfile.html#handle">QFile</a> <a href="qfont.html#handle">QFont</a> <a href="qpaintdevice.html#handle">QPaintDevice</a> <a href="qpainter.html#handle">QPainter</a> <a href="qregion.html#handle">QRegion</a> <a href="qsessionmanager.html#handle">QSessionManager</a><li>handleError:
+ <a href="qdatabrowser.html#handleError">QDataBrowser</a> <a href="qdatatable.html#handleError">QDataTable</a><li>handlePosition:
+ <a href="qdockarea.html#handlePosition">QDockArea</a><li>handleWidth:
+ <a href="qsplitter.html#handleWidth">QSplitter</a><li>hasAcceptableInput:
+ <a href="qlineedit.html#hasAcceptableInput">QLineEdit</a><li>hasAlpha:
+ <a href="qpixmap.html#hasAlpha">QPixmap</a><li>hasAlphaBuffer:
+ <a href="qimage.html#hasAlphaBuffer">QImage</a><li>hasAlphaChannel:
+ <a href="qpixmap.html#hasAlphaChannel">QPixmap</a><li>hasApplyButton:
+ <a href="qtabdialog.html#hasApplyButton">QTabDialog</a><li>hasAttribute:
+ <a href="qdomelement.html#hasAttribute">QDomElement</a><li>hasAttributeNS:
+ <a href="qdomelement.html#hasAttributeNS">QDomElement</a><li>hasAttributes:
+ <a href="qdomnode.html#hasAttributes">QDomNode</a><li>hasCancelButton:
+ <a href="qtabdialog.html#hasCancelButton">QTabDialog</a><li>hasChildNodes:
+ <a href="qdomnode.html#hasChildNodes">QDomNode</a><li>hasClipping:
+ <a href="qpainter.html#hasClipping">QPainter</a><li>hasContentLength:
+ <a href="qhttpheader.html#hasContentLength">QHttpHeader</a><li>hasContentType:
+ <a href="qhttpheader.html#hasContentType">QHttpHeader</a><li>hasDefaultButton:
+ <a href="qtabdialog.html#hasDefaultButton">QTabDialog</a><li>hasDockWindow:
+ <a href="qdockarea.html#hasDockWindow">QDockArea</a> <a href="qmainwindow.html#hasDockWindow">QMainWindow</a><li>hasFeature:
+ <a href="qdomimplementation.html#hasFeature">QDomImplementation</a> <a href="qsqldriver.html#hasFeature">QSqlDriver</a> <a href="qxmlreader.html#hasFeature">QXmlReader</a><li>hasFocus:
+ <a href="qwidget.html#hasFocus">QWidget</a><li>hasGlobalMouseTracking:
+ <a href="qapplication.html#hasGlobalMouseTracking">QApplication</a><li>hasHeightForWidth:
+ <a href="qboxlayout.html#hasHeightForWidth">QBoxLayout</a> <a href="qgridlayout.html#hasHeightForWidth">QGridLayout</a> <a href="qlayoutitem.html#hasHeightForWidth">QLayoutItem</a> <a href="qsizepolicy.html#hasHeightForWidth">QSizePolicy</a><li>hasHelpButton:
+ <a href="qtabdialog.html#hasHelpButton">QTabDialog</a><li>hasHost:
+ <a href="qurl.html#hasHost">QUrl</a><li>hasIntrospection:
+ <a href="qaxscriptengine.html#hasIntrospection">QAxScriptEngine</a><li>hasKey:
+ <a href="qhttpheader.html#hasKey">QHttpHeader</a><li>hasLocalData:
+ <a href="qthreadstorage.html#hasLocalData">QThreadStorage</a><li>hasMarkedText:
+ <a href="qmultilineedit.html#hasMarkedText">QMultiLineEdit</a><li>hasMouse:
+ <a href="qwidget.html#hasMouse">QWidget</a><li>hasMouseTracking:
+ <a href="qwidget.html#hasMouseTracking">QWidget</a><li>hasOkButton:
+ <a href="qtabdialog.html#hasOkButton">QTabDialog</a><li>hasOnlyLocalFileSystem:
+ <a href="qnetworkprotocol.html#hasOnlyLocalFileSystem">QNetworkProtocol</a><li>hasOpenGL:
+ <a href="qglformat.html#hasOpenGL">QGLFormat</a><li>hasOpenGLOverlays:
+ <a href="qglformat.html#hasOpenGLOverlays">QGLFormat</a><li>hasOverlay:
+ <a href="qglformat.html#hasOverlay">QGLFormat</a><li>hasPassword:
+ <a href="qurl.html#hasPassword">QUrl</a><li>hasPath:
+ <a href="qurl.html#hasPath">QUrl</a><li>hasPendingCommands:
+ <a href="qftp.html#hasPendingCommands">QFtp</a><li>hasPendingEvents:
+ <a href="qapplication.html#hasPendingEvents">QApplication</a> <a href="qeventloop.html#hasPendingEvents">QEventLoop</a><li>hasPendingRequests:
+ <a href="qhttp.html#hasPendingRequests">QHttp</a><li>hasPort:
+ <a href="qurl.html#hasPort">QUrl</a><li>hasProperty:
+ <a href="qxmlreader.html#hasProperty">QXmlReader</a><li>hasRef:
+ <a href="qurl.html#hasRef">QUrl</a><li>hasScaledContents:
+ <a href="qlabel.html#hasScaledContents">QLabel</a><li>hasSelectedText:
+ <a href="qlineedit.html#hasSelectedText">QLineEdit</a> <a href="qtextedit.html#hasSelectedText">QTextEdit</a><li>hasStaticBackground:
+ <a href="qscrollview.html#hasStaticBackground">QScrollView</a><li>hasStockEvents:
+ <a href="qaxfactory.html#hasStockEvents">QAxFactory</a><li>hasUser:
+ <a href="qurl.html#hasUser">QUrl</a><li>hasViewXForm:
+ <a href="qpainter.html#hasViewXForm">QPainter</a><li>hasWorldXForm:
+ <a href="qpainter.html#hasWorldXForm">QPainter</a><li>hash:
+ <a href="qtranslatormessage.html#hash">QTranslatorMessage</a><li>head:
+ <a href="qhttp.html#head">QHttp</a> <a href="qptrqueue.html#head">QPtrQueue</a><li>header:
+ <a href="qlistview.html#header">QListView</a><li>headerSection:
+ <a href="qstyleoption.html#headerSection">QStyleOption</a><li>headerWidth:
+ <a href="qheader.html#headerWidth">QHeader</a><li>height:
+ <a href="qcanvas.html#height">QCanvas</a> <a href="qcanvasellipse.html#height">QCanvasEllipse</a> <a href="qcanvasrectangle.html#height">QCanvasRectangle</a> <a href="qcanvassprite.html#height">QCanvasSprite</a> <a href="qdirectpainter.html#height">QDirectPainter</a> <a href="qfontmetrics.html#height">QFontMetrics</a> <a href="qiconviewitem.html#height">QIconViewItem</a> <a href="qimage.html#height">QImage</a> <a href="qlistboxitem.html#height">QListBoxItem</a> <a href="qlistboxpixmap.html#height">QListBoxPixmap</a> <a href="qlistboxtext.html#height">QListBoxText</a> <a href="qlistviewitem.html#height">QListViewItem</a> <a href="qpaintdevicemetrics.html#height">QPaintDeviceMetrics</a> <a href="qpixmap.html#height">QPixmap</a> <a href="qrect.html#height">QRect</a> <a href="qscreen.html#height">QScreen</a> <a href="qsimplerichtext.html#height">QSimpleRichText</a> <a href="qsize.html#height">QSize</a> <a href="qwidget.html#height">QWidget</a><li>heightForWidth:
+ <a href="qboxlayout.html#heightForWidth">QBoxLayout</a> <a href="qgridlayout.html#heightForWidth">QGridLayout</a> <a href="qlayoutitem.html#heightForWidth">QLayoutItem</a> <a href="qmenubar.html#heightForWidth">QMenuBar</a> <a href="qtextedit.html#heightForWidth">QTextEdit</a> <a href="qwidget.html#heightForWidth">QWidget</a><li>heightMM:
+ <a href="qpaintdevicemetrics.html#heightMM">QPaintDeviceMetrics</a><li>help:
+ <a href="qwizard.html#help">QWizard</a><li>helpButton:
+ <a href="qwizard.html#helpButton">QWizard</a><li>helpButtonPressed:
+ <a href="qtabdialog.html#helpButtonPressed">QTabDialog</a><li>helpClicked:
+ <a href="qwizard.html#helpClicked">QWizard</a><li>heuristicContentMatch:
+ <a href="qtextcodec.html#heuristicContentMatch">QTextCodec</a><li>heuristicNameMatch:
+ <a href="qtextcodec.html#heuristicNameMatch">QTextCodec</a><li>hide:
+ <a href="qcanvasitem.html#hide">QCanvasItem</a> <a href="qmenubar.html#hide">QMenuBar</a> <a href="qtooltip.html#hide">QToolTip</a> <a href="qwswindow.html#hide">QWSWindow</a> <a href="qwidget.html#hide">QWidget</a><li>hideColumn:
+ <a href="qlistview.html#hideColumn">QListView</a> <a href="qtable.html#hideColumn">QTable</a><li>hideEvent:
+ <a href="qscrollbar.html#hideEvent">QScrollBar</a> <a href="qwidget.html#hideEvent">QWidget</a><li>hideOrShow:
+ <a href="qstatusbar.html#hideOrShow">QStatusBar</a><li>hideRow:
+ <a href="qtable.html#hideRow">QTable</a><li>highPriority:
+ <a href="qobject.html#highPriority">QObject</a><li>highlight:
+ <a href="qcolorgroup.html#highlight">QColorGroup</a><li>highlightParagraph:
+ <a href="qsyntaxhighlighter.html#highlightParagraph">QSyntaxHighlighter</a><li>highlighted:
+ <a href="qcombobox.html#highlighted">QComboBox</a> <a href="qlistbox.html#highlighted">QListBox</a> <a href="qmenubar.html#highlighted">QMenuBar</a> <a href="qpopupmenu.html#highlighted">QPopupMenu</a> <a href="qtextbrowser.html#highlighted">QTextBrowser</a><li>highlightedText:
+ <a href="qcolorgroup.html#highlightedText">QColorGroup</a><li>hitButton:
+ <a href="qbutton.html#hitButton">QButton</a><li>home:
+ <a href="qdir.html#home">QDir</a> <a href="qfocusdata.html#home">QFocusData</a> <a href="qlineedit.html#home">QLineEdit</a> <a href="qmultilineedit.html#home">QMultiLineEdit</a> <a href="qtextbrowser.html#home">QTextBrowser</a><li>homeDirPath:
+ <a href="qdir.html#homeDirPath">QDir</a><li>horData:
+ <a href="qsizepolicy.html#horData">QSizePolicy</a><li>horStretch:
+ <a href="qsizepolicy.html#horStretch">QSizePolicy</a><li>horizontalAlignment:
+ <a href="qapplication.html#horizontalAlignment">QApplication</a><li>horizontalHeader:
+ <a href="qtable.html#horizontalHeader">QTable</a><li>horizontalScrollBar:
+ <a href="qscrollview.html#horizontalScrollBar">QScrollView</a><li>horizontalSliderPressed:
+ <a href="qscrollview.html#horizontalSliderPressed">QScrollView</a><li>horizontalSliderReleased:
+ <a href="qscrollview.html#horizontalSliderReleased">QScrollView</a><li>host:
+ <a href="qurl.html#host">QUrl</a><li>hostFound:
+ <a href="qsocket.html#hostFound">QSocket</a><li>hostName:
+ <a href="qsqldatabase.html#hostName">QSqlDatabase</a><li>hostNames:
+ <a href="qdns.html#hostNames">QDns</a><li>hotSpot:
+ <a href="qcursor.html#hotSpot">QCursor</a><li>hour:
+ <a href="qtime.html#hour">QTime</a><li><a name="i"></a>
+icon:
+ <a href="qmessagebox.html#icon">QMessageBox</a> <a href="qwidget.html#icon">QWidget</a><li>iconPixmap:
+ <a href="qmessagebox.html#iconPixmap">QMessageBox</a><li>iconProvider:
+ <a href="qfiledialog.html#iconProvider">QFileDialog</a><li>iconSet:
+ <a href="qaction.html#iconSet">QAction</a> <a href="qheader.html#iconSet">QHeader</a> <a href="qmenudata.html#iconSet">QMenuData</a> <a href="qmenudata.html#iconSet">QPopupMenu</a> <a href="qpushbutton.html#iconSet">QPushButton</a> <a href="qtab.html#iconSet">QTab</a> <a href="qtoolbutton.html#iconSet">QToolButton</a> <a href="qwidgetplugin.html#iconSet">QWidgetPlugin</a><li>iconSize:
+ <a href="qiconset.html#iconSize">QIconSet</a><li>iconText:
+ <a href="qwidget.html#iconText">QWidget</a><li>iconView:
+ <a href="qiconviewitem.html#iconView">QIconViewItem</a><li>id:
+ <a href="qbuttongroup.html#id">QButtonGroup</a> <a href="qwidgetstack.html#id">QWidgetStack</a><li>idAfter:
+ <a href="qsplitter.html#idAfter">QSplitter</a><li>idAt:
+ <a href="qmenudata.html#idAt">QMenuData</a> <a href="qpopupmenu.html#idAt">QPopupMenu</a><li>identifier:
+ <a href="qtab.html#identifier">QTab</a><li>ignorableWhitespace:
+ <a href="qxmlcontenthandler.html#ignorableWhitespace">QXmlContentHandler</a><li>ignore:
+ <a href="qcloseevent.html#ignore">QCloseEvent</a> <a href="qcontextmenuevent.html#ignore">QContextMenuEvent</a> <a href="qdragmoveevent.html#ignore">QDragMoveEvent</a> <a href="qdropevent.html#ignore">QDropEvent</a> <a href="qimevent.html#ignore">QIMEvent</a> <a href="qicondragevent.html#ignore">QIconDragEvent</a> <a href="qkeyevent.html#ignore">QKeyEvent</a> <a href="qmouseevent.html#ignore">QMouseEvent</a> <a href="qtabletevent.html#ignore">QTabletEvent</a> <a href="qwheelevent.html#ignore">QWheelEvent</a><li>imComposeEvent:
+ <a href="qwidget.html#imComposeEvent">QWidget</a><li>imEndEvent:
+ <a href="qwidget.html#imEndEvent">QWidget</a><li>imStartEvent:
+ <a href="qwidget.html#imStartEvent">QWidget</a><li>image:
+ <a href="qcanvaspixmaparray.html#image">QCanvasPixmapArray</a> <a href="qcanvassprite.html#image">QCanvasSprite</a> <a href="qclipboard.html#image">QClipboard</a> <a href="qimagedecoder.html#image">QImageDecoder</a> <a href="qimageio.html#image">QImageIO</a><li>imageAdvanced:
+ <a href="qcanvassprite.html#imageAdvanced">QCanvasSprite</a><li>imageFormat:
+ <a href="qimage.html#imageFormat">QImage</a> <a href="qimageio.html#imageFormat">QImageIO</a> <a href="qpixmap.html#imageFormat">QPixmap</a><li>implementation:
+ <a href="qdomdocument.html#implementation">QDomDocument</a><li>importNode:
+ <a href="qdomdocument.html#importNode">QDomDocument</a><li>inFont:
+ <a href="qfontmetrics.html#inFont">QFontMetrics</a><li>inSort:
+ <a href="qptrlist.html#inSort">QPtrList</a><li>inText:
+ <a href="qsimplerichtext.html#inText">QSimpleRichText</a><li>inWhatsThisMode:
+ <a href="qwhatsthis.html#inWhatsThisMode">QWhatsThis</a><li>inactive:
+ <a href="qpalette.html#inactive">QPalette</a><li>includeFile:
+ <a href="qwidgetplugin.html#includeFile">QWidgetPlugin</a><li>indent:
+ <a href="qlabel.html#indent">QLabel</a><li>index:
+ <a href="qiconview.html#index">QIconView</a> <a href="qiconviewitem.html#index">QIconViewItem</a> <a href="qlistbox.html#index">QListBox</a> <a href="qsqlcursor.html#index">QSqlCursor</a> <a href="qxmlattributes.html#index">QXmlAttributes</a><li>indexChange:
+ <a href="qheader.html#indexChange">QHeader</a><li>indexOf:
+ <a href="qdatatable.html#indexOf">QDataTable</a> <a href="qmenudata.html#indexOf">QMenuData</a> <a href="qtabbar.html#indexOf">QTabBar</a> <a href="qtabwidget.html#indexOf">QTabWidget</a> <a href="qtable.html#indexOf">QTable</a> <a href="qtoolbox.html#indexOf">QToolBox</a> <a href="qwizard.html#indexOf">QWizard</a><li>indicatorFollowsStyle:
+ <a href="qprogressbar.html#indicatorFollowsStyle">QProgressBar</a><li>info:
+ <a href="qurloperator.html#info">QUrlOperator</a><li>information:
+ <a href="qmessagebox.html#information">QMessageBox</a><li>inherits:
+ <a href="qmetaobject.html#inherits">QMetaObject</a> <a href="qobject.html#inherits">QObject</a><li>init:
+ <a href="qtableselection.html#init">QTableSelection</a><li>initCursor:
+ <a href="qscreen.html#initCursor">QScreen</a><li>initDevice:
+ <a href="qscreen.html#initDevice">QScreen</a><li>initialize:
+ <a href="qaxbase.html#initialize">QAxBase</a> <a href="qcolor.html#initialize">QColor</a> <a href="qcursor.html#initialize">QCursor</a> <a href="qfontmanager.html#initialize">QFontManager</a> <a href="qwindowsmime.html#initialize">QWindowsMime</a><li>initializeActive:
+ <a href="qaxbase.html#initializeActive">QAxBase</a><li>initializeGL:
+ <a href="qglwidget.html#initializeGL">QGLWidget</a><li>initializeLicensed:
+ <a href="qaxbase.html#initializeLicensed">QAxBase</a><li>initializeOverlayGL:
+ <a href="qglwidget.html#initializeOverlayGL">QGLWidget</a><li>initializeRemote:
+ <a href="qaxbase.html#initializeRemote">QAxBase</a><li>initialized:
+ <a href="qglcontext.html#initialized">QGLContext</a><li>inputFormatList:
+ <a href="qimage.html#inputFormatList">QImage</a><li>inputFormats:
+ <a href="qimage.html#inputFormats">QImage</a> <a href="qimagedecoder.html#inputFormats">QImageDecoder</a> <a href="qimageio.html#inputFormats">QImageIO</a><li>inputMask:
+ <a href="qlineedit.html#inputMask">QLineEdit</a><li>insert:
+ <a href="qasciicache.html#insert">QAsciiCache</a> <a href="qasciidict.html#insert">QAsciiDict</a> <a href="qbuttongroup.html#insert">QButtonGroup</a> <a href="qcstring.html#insert">QCString</a> <a href="qcache.html#insert">QCache</a> <a href="qdatabrowser.html#insert">QDataBrowser</a> <a href="qdict.html#insert">QDict</a> <a href="qintcache.html#insert">QIntCache</a> <a href="qintdict.html#insert">QIntDict</a> <a href="qlineedit.html#insert">QLineEdit</a> <a href="qmap.html#insert">QMap</a> <a href="qpixmapcache.html#insert">QPixmapCache</a> <a href="qptrdict.html#insert">QPtrDict</a> <a href="qptrlist.html#insert">QPtrList</a> <a href="qptrvector.html#insert">QPtrVector</a> <a href="qsqlcursor.html#insert">QSqlCursor</a> <a href="qsqlform.html#insert">QSqlForm</a> <a href="qsqlpropertymap.html#insert">QSqlPropertyMap</a> <a href="qsqlrecord.html#insert">QSqlRecord</a> <a href="qstring.html#insert">QString</a> <a href="qtextedit.html#insert">QTextEdit</a> <a href="qtranslator.html#insert">QTranslator</a> <a href="qvaluelist.html#insert">QValueList</a> <a href="qvaluevector.html#insert">QValueVector</a><li>insertAfter:
+ <a href="qdomnode.html#insertAfter">QDomNode</a><li>insertAndMark:
+ <a href="qmultilineedit.html#insertAndMark">QMultiLineEdit</a><li>insertAt:
+ <a href="qmultilineedit.html#insertAt">QMultiLineEdit</a> <a href="qtextedit.html#insertAt">QTextEdit</a><li>insertBefore:
+ <a href="qdomnode.html#insertBefore">QDomNode</a><li>insertChild:
+ <a href="qobject.html#insertChild">QObject</a><li>insertColumns:
+ <a href="qtable.html#insertColumns">QTable</a><li>insertCurrent:
+ <a href="qdatabrowser.html#insertCurrent">QDataBrowser</a> <a href="qdatatable.html#insertCurrent">QDataTable</a><li>insertData:
+ <a href="qdomcharacterdata.html#insertData">QDomCharacterData</a><li>insertInGrid:
+ <a href="qiconview.html#insertInGrid">QIconView</a><li>insertItem:
+ <a href="qaccel.html#insertItem">QAccel</a> <a href="qboxlayout.html#insertItem">QBoxLayout</a> <a href="qcombobox.html#insertItem">QComboBox</a> <a href="qiconview.html#insertItem">QIconView</a> <a href="qlistbox.html#insertItem">QListBox</a> <a href="qlistview.html#insertItem">QListView</a> <a href="qlistviewitem.html#insertItem">QListViewItem</a> <a href="qmenudata.html#insertItem">QMenuBar</a> <a href="qmenudata.html#insertItem">QMenuData</a> <a href="qmenudata.html#insertItem">QPopupMenu</a> <a href="qtoolbox.html#insertItem">QToolBox</a><li>insertLayout:
+ <a href="qboxlayout.html#insertLayout">QBoxLayout</a><li>insertLine:
+ <a href="qmultilineedit.html#insertLine">QMultiLineEdit</a><li>insertPage:
+ <a href="qwizard.html#insertPage">QWizard</a><li>insertParagraph:
+ <a href="qtextedit.html#insertParagraph">QTextEdit</a><li>insertRows:
+ <a href="qtable.html#insertRows">QTable</a><li>insertSearchPath:
+ <a href="qsettings.html#insertSearchPath">QSettings</a><li>insertSeparator:
+ <a href="qmenudata.html#insertSeparator">QMenuBar</a> <a href="qmenudata.html#insertSeparator">QMenuData</a> <a href="qmenudata.html#insertSeparator">QPopupMenu</a><li>insertSpacing:
+ <a href="qboxlayout.html#insertSpacing">QBoxLayout</a><li>insertStrList:
+ <a href="qcombobox.html#insertStrList">QComboBox</a> <a href="qlistbox.html#insertStrList">QListBox</a><li>insertStretch:
+ <a href="qboxlayout.html#insertStretch">QBoxLayout</a><li>insertStringList:
+ <a href="qcombobox.html#insertStringList">QComboBox</a> <a href="qlistbox.html#insertStringList">QListBox</a><li>insertSubstitution:
+ <a href="qfont.html#insertSubstitution">QFont</a><li>insertSubstitutions:
+ <a href="qfont.html#insertSubstitutions">QFont</a><li>insertTab:
+ <a href="qtabbar.html#insertTab">QTabBar</a> <a href="qtabdialog.html#insertTab">QTabDialog</a> <a href="qtabwidget.html#insertTab">QTabWidget</a><li>insertTearOffHandle:
+ <a href="qpopupmenu.html#insertTearOffHandle">QPopupMenu</a><li>insertWidget:
+ <a href="qboxlayout.html#insertWidget">QBoxLayout</a> <a href="qtable.html#insertWidget">QTable</a><li>inserted:
+ <a href="qchildevent.html#inserted">QChildEvent</a><li>insertionPolicy:
+ <a href="qcombobox.html#insertionPolicy">QComboBox</a><li>insideMargin:
+ <a href="qgroupbox.html#insideMargin">QGroupBox</a><li>insideSpacing:
+ <a href="qgroupbox.html#insideSpacing">QGroupBox</a><li>installDefaultFactory:
+ <a href="qeditorfactory.html#installDefaultFactory">QEditorFactory</a> <a href="qiconfactory.html#installDefaultFactory">QIconFactory</a> <a href="qsqleditorfactory.html#installDefaultFactory">QSqlEditorFactory</a><li>installDefaultMap:
+ <a href="qsqlpropertymap.html#installDefaultMap">QSqlPropertyMap</a><li>installEditorFactory:
+ <a href="qdatatable.html#installEditorFactory">QDataTable</a><li>installEventFilter:
+ <a href="qobject.html#installEventFilter">QObject</a><li>installIOHandler:
+ <a href="qimageformatplugin.html#installIOHandler">QImageFormatPlugin</a><li>installIconFactory:
+ <a href="qiconset.html#installIconFactory">QIconSet</a><li>installPropertyMap:
+ <a href="qdatatable.html#installPropertyMap">QDataTable</a> <a href="qsqlform.html#installPropertyMap">QSqlForm</a><li>installTranslator:
+ <a href="qapplication.html#installTranslator">QApplication</a><li>instance:
+ <a href="qnpstream.html#instance">QNPStream</a> <a href="qnpwidget.html#instance">QNPWidget</a><li>intValue:
+ <a href="qlcdnumber.html#intValue">QLCDNumber</a><li>interfaceID:
+ <a href="qaxfactory.html#interfaceID">QAxFactory</a><li>internalEntityDecl:
+ <a href="qxmldeclhandler.html#internalEntityDecl">QXmlDeclHandler</a><li>internalSubset:
+ <a href="qdomdocumenttype.html#internalSubset">QDomDocumentType</a><li>interpretText:
+ <a href="qspinbox.html#interpretText">QSpinBox</a><li>intersect:
+ <a href="qrect.html#intersect">QRect</a> <a href="qregion.html#intersect">QRegion</a><li>intersects:
+ <a href="qiconviewitem.html#intersects">QIconViewItem</a> <a href="qrect.html#intersects">QRect</a><li>invalidate:
+ <a href="qboxlayout.html#invalidate">QBoxLayout</a> <a href="qcanvaspolygonalitem.html#invalidate">QCanvasPolygonalItem</a> <a href="qgridlayout.html#invalidate">QGridLayout</a> <a href="qlayout.html#invalidate">QLayout</a> <a href="qlayoutitem.html#invalidate">QLayoutItem</a><li>invalidateHeight:
+ <a href="qlistviewitem.html#invalidateHeight">QListViewItem</a><li>inverseWorldMatrix:
+ <a href="qcanvasview.html#inverseWorldMatrix">QCanvasView</a><li>invert:
+ <a href="qwmatrix.html#invert">QWMatrix</a><li>invertPixels:
+ <a href="qimage.html#invertPixels">QImage</a><li>invertSelection:
+ <a href="qiconview.html#invertSelection">QIconView</a> <a href="qlistbox.html#invertSelection">QListBox</a> <a href="qlistview.html#invertSelection">QListView</a><li>ioDevice:
+ <a href="qimageio.html#ioDevice">QImageIO</a><li>isA:
+ <a href="qobject.html#isA">QObject</a><li>isAccepted:
+ <a href="qcloseevent.html#isAccepted">QCloseEvent</a> <a href="qcontextmenuevent.html#isAccepted">QContextMenuEvent</a> <a href="qdropevent.html#isAccepted">QDropEvent</a> <a href="qimevent.html#isAccepted">QIMEvent</a> <a href="qicondragevent.html#isAccepted">QIconDragEvent</a> <a href="qkeyevent.html#isAccepted">QKeyEvent</a> <a href="qmouseevent.html#isAccepted">QMouseEvent</a> <a href="qtabletevent.html#isAccepted">QTabletEvent</a> <a href="qwheelevent.html#isAccepted">QWheelEvent</a><li>isActionAccepted:
+ <a href="qdropevent.html#isActionAccepted">QDropEvent</a><li>isActive:
+ <a href="qaccessible.html#isActive">QAccessible</a> <a href="qcanvasitem.html#isActive">QCanvasItem</a> <a href="qpainter.html#isActive">QPainter</a> <a href="qsqlquery.html#isActive">QSqlQuery</a> <a href="qsqlresult.html#isActive">QSqlResult</a> <a href="qtableselection.html#isActive">QTableSelection</a> <a href="qtimer.html#isActive">QTimer</a><li>isActiveWindow:
+ <a href="qwidget.html#isActiveWindow">QWidget</a> <a href="qxtwidget.html#isActiveWindow">QXtWidget</a><li>isAnchor:
+ <a href="qstylesheetitem.html#isAnchor">QStyleSheetItem</a><li>isAsynchronous:
+ <a href="qiodevice.html#isAsynchronous">QIODevice</a><li>isAttr:
+ <a href="qdomattr.html#isAttr">QDomAttr</a> <a href="qdomnode.html#isAttr">QDomNode</a><li>isAutoRepeat:
+ <a href="qkeyevent.html#isAutoRepeat">QKeyEvent</a><li>isAvailable:
+ <a href="qsound.html#isAvailable">QSound</a><li>isBitmapScalable:
+ <a href="qfontdatabase.html#isBitmapScalable">QFontDatabase</a><li>isBuffered:
+ <a href="qiodevice.html#isBuffered">QIODevice</a><li>isCDATASection:
+ <a href="qdomcdatasection.html#isCDATASection">QDomCDATASection</a> <a href="qdomnode.html#isCDATASection">QDomNode</a><li>isCalculated:
+ <a href="qsqlcursor.html#isCalculated">QSqlCursor</a> <a href="qsqlfieldinfo.html#isCalculated">QSqlFieldInfo</a><li>isCharacterData:
+ <a href="qdomcharacterdata.html#isCharacterData">QDomCharacterData</a> <a href="qdomnode.html#isCharacterData">QDomNode</a><li>isCheckable:
+ <a href="qgroupbox.html#isCheckable">QGroupBox</a> <a href="qpopupmenu.html#isCheckable">QPopupMenu</a><li>isChecked:
+ <a href="qcheckbox.html#isChecked">QCheckBox</a> <a href="qchecktableitem.html#isChecked">QCheckTableItem</a> <a href="qgroupbox.html#isChecked">QGroupBox</a> <a href="qradiobutton.html#isChecked">QRadioButton</a><li>isClickEnabled:
+ <a href="qheader.html#isClickEnabled">QHeader</a><li>isCloseEnabled:
+ <a href="qdockwindow.html#isCloseEnabled">QDockWindow</a><li>isColumnHidden:
+ <a href="qtable.html#isColumnHidden">QTable</a><li>isColumnReadOnly:
+ <a href="qtable.html#isColumnReadOnly">QTable</a><li>isColumnSelected:
+ <a href="qtable.html#isColumnSelected">QTable</a><li>isColumnStretchable:
+ <a href="qtable.html#isColumnStretchable">QTable</a><li>isCombinedAccess:
+ <a href="qiodevice.html#isCombinedAccess">QIODevice</a><li>isComment:
+ <a href="qdomcomment.html#isComment">QDomComment</a> <a href="qdomnode.html#isComment">QDomNode</a><li>isConsumed:
+ <a href="qcontextmenuevent.html#isConsumed">QContextMenuEvent</a><li>isContainer:
+ <a href="qwidgetplugin.html#isContainer">QWidgetPlugin</a><li>isContentsPreviewEnabled:
+ <a href="qfiledialog.html#isContentsPreviewEnabled">QFileDialog</a><li>isCopyOf:
+ <a href="qfont.html#isCopyOf">QFont</a> <a href="qpalette.html#isCopyOf">QPalette</a><li>isCurrent:
+ <a href="qlistboxitem.html#isCurrent">QListBoxItem</a><li>isCursorVisible:
+ <a href="qwsserver.html#isCursorVisible">QWSServer</a><li>isCustomizable:
+ <a href="qmainwindow.html#isCustomizable">QMainWindow</a><li>isDefault:
+ <a href="qpushbutton.html#isDefault">QPushButton</a> <a href="qstyleoption.html#isDefault">QStyleOption</a><li>isDefaultUp:
+ <a href="qmenubar.html#isDefaultUp">QMenuBar</a><li>isDescending:
+ <a href="qsqlindex.html#isDescending">QSqlIndex</a><li>isDesktop:
+ <a href="qwidget.html#isDesktop">QWidget</a><li>isDialog:
+ <a href="qwidget.html#isDialog">QWidget</a><li>isDigit:
+ <a href="qchar.html#isDigit">QChar</a><li>isDir:
+ <a href="qfileinfo.html#isDir">QFileInfo</a> <a href="qurlinfo.html#isDir">QUrlInfo</a> <a href="qurloperator.html#isDir">QUrlOperator</a><li>isDirectAccess:
+ <a href="qiodevice.html#isDirectAccess">QIODevice</a><li>isDockEnabled:
+ <a href="qmainwindow.html#isDockEnabled">QMainWindow</a><li>isDockMenuEnabled:
+ <a href="qmainwindow.html#isDockMenuEnabled">QMainWindow</a><li>isDockWindowAccepted:
+ <a href="qdockarea.html#isDockWindowAccepted">QDockArea</a><li>isDocument:
+ <a href="qdomdocument.html#isDocument">QDomDocument</a> <a href="qdomnode.html#isDocument">QDomNode</a><li>isDocumentFragment:
+ <a href="qdomdocumentfragment.html#isDocumentFragment">QDomDocumentFragment</a> <a href="qdomnode.html#isDocumentFragment">QDomNode</a><li>isDocumentType:
+ <a href="qdomdocumenttype.html#isDocumentType">QDomDocumentType</a> <a href="qdomnode.html#isDocumentType">QDomNode</a><li>isDown:
+ <a href="qbutton.html#isDown">QButton</a> <a href="qbutton.html#isDown">QCheckBox</a> <a href="qbutton.html#isDown">QPushButton</a> <a href="qbutton.html#isDown">QRadioButton</a><li>isDriverAvailable:
+ <a href="qsqldatabase.html#isDriverAvailable">QSqlDatabase</a><li>isEditable:
+ <a href="qcombotableitem.html#isEditable">QComboTableItem</a><li>isEditing:
+ <a href="qtable.html#isEditing">QTable</a><li>isEffectEnabled:
+ <a href="qapplication.html#isEffectEnabled">QApplication</a><li>isElement:
+ <a href="qdomelement.html#isElement">QDomElement</a> <a href="qdomnode.html#isElement">QDomNode</a><li>isEmpty:
+ <a href="qasciicache.html#isEmpty">QAsciiCache</a> <a href="qasciicacheiterator.html#isEmpty">QAsciiCacheIterator</a> <a href="qasciidict.html#isEmpty">QAsciiDict</a> <a href="qasciidictiterator.html#isEmpty">QAsciiDictIterator</a> <a href="qcstring.html#isEmpty">QCString</a> <a href="qcache.html#isEmpty">QCache</a> <a href="qcacheiterator.html#isEmpty">QCacheIterator</a> <a href="qdict.html#isEmpty">QDict</a> <a href="qdictiterator.html#isEmpty">QDictIterator</a> <a href="qdockarea.html#isEmpty">QDockArea</a> <a href="qglcolormap.html#isEmpty">QGLColormap</a> <a href="qintcache.html#isEmpty">QIntCache</a> <a href="qintcacheiterator.html#isEmpty">QIntCacheIterator</a> <a href="qintdict.html#isEmpty">QIntDict</a> <a href="qintdictiterator.html#isEmpty">QIntDictIterator</a> <a href="qkeysequence.html#isEmpty">QKeySequence</a> <a href="qlayout.html#isEmpty">QLayout</a> <a href="qlayoutitem.html#isEmpty">QLayoutItem</a> <a href="qmap.html#isEmpty">QMap</a> <a href="qmemarray.html#isEmpty">QMemArray</a> <a href="qobjectcleanuphandler.html#isEmpty">QObjectCleanupHandler</a> <a href="qptrdict.html#isEmpty">QPtrDict</a> <a href="qptrdictiterator.html#isEmpty">QPtrDictIterator</a> <a href="qptrlist.html#isEmpty">QPtrList</a> <a href="qptrlistiterator.html#isEmpty">QPtrListIterator</a> <a href="qptrqueue.html#isEmpty">QPtrQueue</a> <a href="qptrstack.html#isEmpty">QPtrStack</a> <a href="qptrvector.html#isEmpty">QPtrVector</a> <a href="qrect.html#isEmpty">QRect</a> <a href="qregexp.html#isEmpty">QRegExp</a> <a href="qregion.html#isEmpty">QRegion</a> <a href="qsize.html#isEmpty">QSize</a> <a href="qspaceritem.html#isEmpty">QSpacerItem</a> <a href="qsqlrecord.html#isEmpty">QSqlRecord</a> <a href="qstring.html#isEmpty">QString</a> <a href="qtableselection.html#isEmpty">QTableSelection</a> <a href="qtranslator.html#isEmpty">QTranslator</a> <a href="qvaluelist.html#isEmpty">QValueList</a> <a href="qvaluevector.html#isEmpty">QValueVector</a> <a href="qwidgetitem.html#isEmpty">QWidgetItem</a><li>isEnabled:
+ <a href="qaccel.html#isEnabled">QAccel</a> <a href="qaction.html#isEnabled">QAction</a> <a href="qcanvasitem.html#isEnabled">QCanvasItem</a> <a href="qlayout.html#isEnabled">QLayout</a> <a href="qlistviewitem.html#isEnabled">QListViewItem</a> <a href="qsocketnotifier.html#isEnabled">QSocketNotifier</a> <a href="qtab.html#isEnabled">QTab</a> <a href="qtableitem.html#isEnabled">QTableItem</a> <a href="qwidget.html#isEnabled">QWidget</a><li>isEnabledTo:
+ <a href="qwidget.html#isEnabledTo">QWidget</a><li>isEntity:
+ <a href="qdomentity.html#isEntity">QDomEntity</a> <a href="qdomnode.html#isEntity">QDomNode</a><li>isEntityReference:
+ <a href="qdomentityreference.html#isEntityReference">QDomEntityReference</a> <a href="qdomnode.html#isEntityReference">QDomNode</a><li>isEnumType:
+ <a href="qmetaproperty.html#isEnumType">QMetaProperty</a><li>isExclusive:
+ <a href="qactiongroup.html#isExclusive">QActionGroup</a> <a href="qbuttongroup.html#isExclusive">QButtonGroup</a><li>isExclusiveToggle:
+ <a href="qbutton.html#isExclusiveToggle">QButton</a> <a href="qbutton.html#isExclusiveToggle">QCheckBox</a> <a href="qbutton.html#isExclusiveToggle">QPushButton</a> <a href="qbutton.html#isExclusiveToggle">QRadioButton</a><li>isExecutable:
+ <a href="qfileinfo.html#isExecutable">QFileInfo</a> <a href="qurlinfo.html#isExecutable">QUrlInfo</a><li>isExpandable:
+ <a href="qlistviewitem.html#isExpandable">QListViewItem</a><li>isExtDev:
+ <a href="qpaintdevice.html#isExtDev">QPaintDevice</a><li>isFile:
+ <a href="qfileinfo.html#isFile">QFileInfo</a> <a href="qurlinfo.html#isFile">QUrlInfo</a><li>isFinished:
+ <a href="qsound.html#isFinished">QSound</a><li>isFixedPitch:
+ <a href="qfontdatabase.html#isFixedPitch">QFontDatabase</a><li>isFlat:
+ <a href="qgroupbox.html#isFlat">QGroupBox</a> <a href="qpushbutton.html#isFlat">QPushButton</a><li>isFocusEnabled:
+ <a href="qwidget.html#isFocusEnabled">QWidget</a><li>isForwardOnly:
+ <a href="qsqlquery.html#isForwardOnly">QSqlQuery</a> <a href="qsqlresult.html#isForwardOnly">QSqlResult</a><li>isFullScreen:
+ <a href="qwidget.html#isFullScreen">QWidget</a><li>isFullyObscured:
+ <a href="qwswindow.html#isFullyObscured">QWSWindow</a><li>isGenerated:
+ <a href="qiconset.html#isGenerated">QIconSet</a> <a href="qsqlfieldinfo.html#isGenerated">QSqlFieldInfo</a> <a href="qsqlrecord.html#isGenerated">QSqlRecord</a><li>isGloballyEnabled:
+ <a href="qtooltip.html#isGloballyEnabled">QToolTip</a><li>isGrayscale:
+ <a href="qimage.html#isGrayscale">QImage</a><li>isHidden:
+ <a href="qfileinfo.html#isHidden">QFileInfo</a> <a href="qwidget.html#isHidden">QWidget</a><li>isHorizontalSliderPressed:
+ <a href="qscrollview.html#isHorizontalSliderPressed">QScrollView</a><li>isHorizontallyStretchable:
+ <a href="qdockwindow.html#isHorizontallyStretchable">QDockWindow</a><li>isIPv4Address:
+ <a href="qhostaddress.html#isIPv4Address">QHostAddress</a><li>isIPv6Address:
+ <a href="qhostaddress.html#isIPv6Address">QHostAddress</a><li>isIdentity:
+ <a href="qwmatrix.html#isIdentity">QWMatrix</a><li>isInactive:
+ <a href="qiodevice.html#isInactive">QIODevice</a><li>isInfoPreviewEnabled:
+ <a href="qfiledialog.html#isInfoPreviewEnabled">QFileDialog</a><li>isInputMethodEnabled:
+ <a href="qwidget.html#isInputMethodEnabled">QWidget</a><li>isInterlaced:
+ <a href="qscreen.html#isInterlaced">QScreen</a><li>isInvertible:
+ <a href="qwmatrix.html#isInvertible">QWMatrix</a><li>isItemActive:
+ <a href="qmenudata.html#isItemActive">QMenuData</a><li>isItemChecked:
+ <a href="qmenudata.html#isItemChecked">QMenuData</a> <a href="qmenudata.html#isItemChecked">QPopupMenu</a><li>isItemEnabled:
+ <a href="qaccel.html#isItemEnabled">QAccel</a> <a href="qmenudata.html#isItemEnabled">QMenuBar</a> <a href="qmenudata.html#isItemEnabled">QMenuData</a> <a href="qmenudata.html#isItemEnabled">QPopupMenu</a> <a href="qtoolbox.html#isItemEnabled">QToolBox</a><li>isItemVisible:
+ <a href="qmenudata.html#isItemVisible">QMenuBar</a> <a href="qmenudata.html#isItemVisible">QMenuData</a> <a href="qmenudata.html#isItemVisible">QPopupMenu</a><li>isLetter:
+ <a href="qchar.html#isLetter">QChar</a><li>isLetterOrNumber:
+ <a href="qchar.html#isLetterOrNumber">QChar</a><li>isLoaded:
+ <a href="qlibrary.html#isLoaded">QLibrary</a><li>isLocalFile:
+ <a href="qurl.html#isLocalFile">QUrl</a><li>isMark:
+ <a href="qchar.html#isMark">QChar</a><li>isMaximized:
+ <a href="qwidget.html#isMaximized">QWidget</a><li>isMinimized:
+ <a href="qwidget.html#isMinimized">QWidget</a><li>isModal:
+ <a href="qdialog.html#isModal">QDialog</a> <a href="qwidget.html#isModal">QWidget</a><li>isModified:
+ <a href="qlineedit.html#isModified">QLineEdit</a> <a href="qtextedit.html#isModified">QTextEdit</a><li>isMovingEnabled:
+ <a href="qdockwindow.html#isMovingEnabled">QDockWindow</a> <a href="qheader.html#isMovingEnabled">QHeader</a><li>isNotation:
+ <a href="qdomnode.html#isNotation">QDomNode</a> <a href="qdomnotation.html#isNotation">QDomNotation</a><li>isNull:
+ <a href="qaxbase.html#isNull">QAxBase</a> <a href="qcstring.html#isNull">QCString</a> <a href="qchar.html#isNull">QChar</a> <a href="qdate.html#isNull">QDate</a> <a href="qdatetime.html#isNull">QDateTime</a> <a href="qdomimplementation.html#isNull">QDomImplementation</a> <a href="qdomnode.html#isNull">QDomNode</a> <a href="qguardedptr.html#isNull">QGuardedPtr</a> <a href="qhostaddress.html#isNull">QHostAddress</a> <a href="qiconset.html#isNull">QIconSet</a> <a href="qimage.html#isNull">QImage</a> <a href="qmemarray.html#isNull">QMemArray</a> <a href="qmovie.html#isNull">QMovie</a> <a href="qpicture.html#isNull">QPicture</a> <a href="qpixmap.html#isNull">QPixmap</a> <a href="qpoint.html#isNull">QPoint</a> <a href="qptrvector.html#isNull">QPtrVector</a> <a href="qrect.html#isNull">QRect</a> <a href="qregion.html#isNull">QRegion</a> <a href="qsize.html#isNull">QSize</a> <a href="qsqlcursor.html#isNull">QSqlCursor</a> <a href="qsqlfield.html#isNull">QSqlField</a> <a href="qsqlquery.html#isNull">QSqlQuery</a> <a href="qsqlrecord.html#isNull">QSqlRecord</a> <a href="qsqlresult.html#isNull">QSqlResult</a> <a href="qstring.html#isNull">QString</a> <a href="qtime.html#isNull">QTime</a> <a href="quuid.html#isNull">QUuid</a> <a href="qvariant.html#isNull">QVariant</a><li>isNumber:
+ <a href="qchar.html#isNumber">QChar</a><li>isOn:
+ <a href="qaction.html#isOn">QAction</a> <a href="qbutton.html#isOn">QButton</a> <a href="qbutton.html#isOn">QCheckBox</a> <a href="qchecklistitem.html#isOn">QCheckListItem</a> <a href="qbutton.html#isOn">QPushButton</a> <a href="qbutton.html#isOn">QRadioButton</a><li>isOpen:
+ <a href="qassistantclient.html#isOpen">QAssistantClient</a> <a href="qiodevice.html#isOpen">QIODevice</a> <a href="qlistview.html#isOpen">QListView</a> <a href="qlistviewitem.html#isOpen">QListViewItem</a> <a href="qsqldatabase.html#isOpen">QSqlDatabase</a> <a href="qsqldriver.html#isOpen">QSqlDriver</a><li>isOpenError:
+ <a href="qsqldatabase.html#isOpenError">QSqlDatabase</a> <a href="qsqldriver.html#isOpenError">QSqlDriver</a><li>isOptionEnabled:
+ <a href="qprinter.html#isOptionEnabled">QPrinter</a><li>isOverwriteMode:
+ <a href="qtextedit.html#isOverwriteMode">QTextEdit</a><li>isPartiallyObscured:
+ <a href="qwswindow.html#isPartiallyObscured">QWSWindow</a><li>isPhase2:
+ <a href="qsessionmanager.html#isPhase2">QSessionManager</a><li>isPopup:
+ <a href="qwidget.html#isPopup">QWidget</a><li>isPrint:
+ <a href="qchar.html#isPrint">QChar</a><li>isPrintableData:
+ <a href="qdatastream.html#isPrintableData">QDataStream</a><li>isProcessingInstruction:
+ <a href="qdomnode.html#isProcessingInstruction">QDomNode</a> <a href="qdomprocessinginstruction.html#isProcessingInstruction">QDomProcessingInstruction</a><li>isPunct:
+ <a href="qchar.html#isPunct">QChar</a><li>isQBitmap:
+ <a href="qpixmap.html#isQBitmap">QPixmap</a><li>isRadioButtonExclusive:
+ <a href="qbuttongroup.html#isRadioButtonExclusive">QButtonGroup</a><li>isRaw:
+ <a href="qiodevice.html#isRaw">QIODevice</a><li>isReadOnly:
+ <a href="qdatabrowser.html#isReadOnly">QDataBrowser</a> <a href="qlineedit.html#isReadOnly">QLineEdit</a> <a href="qsqlcursor.html#isReadOnly">QSqlCursor</a> <a href="qsqlfield.html#isReadOnly">QSqlField</a> <a href="qtable.html#isReadOnly">QTable</a> <a href="qtextedit.html#isReadOnly">QTextEdit</a><li>isReadWrite:
+ <a href="qiodevice.html#isReadWrite">QIODevice</a><li>isReadable:
+ <a href="qdir.html#isReadable">QDir</a> <a href="qfileinfo.html#isReadable">QFileInfo</a> <a href="qiodevice.html#isReadable">QIODevice</a> <a href="qurlinfo.html#isReadable">QUrlInfo</a><li>isRedoAvailable:
+ <a href="qlineedit.html#isRedoAvailable">QLineEdit</a> <a href="qtextedit.html#isRedoAvailable">QTextEdit</a><li>isRegistered:
+ <a href="qcopchannel.html#isRegistered">QCopChannel</a><li>isRelative:
+ <a href="qdir.html#isRelative">QDir</a> <a href="qfileinfo.html#isRelative">QFileInfo</a><li>isRelativePath:
+ <a href="qdir.html#isRelativePath">QDir</a><li>isRelativeUrl:
+ <a href="qurl.html#isRelativeUrl">QUrl</a><li>isRenaming:
+ <a href="qiconview.html#isRenaming">QIconView</a> <a href="qlistview.html#isRenaming">QListView</a><li>isReplaceable:
+ <a href="qtableitem.html#isReplaceable">QTableItem</a><li>isRequired:
+ <a href="qsqlfieldinfo.html#isRequired">QSqlFieldInfo</a><li>isResizeEnabled:
+ <a href="qdockwindow.html#isResizeEnabled">QDockWindow</a> <a href="qheader.html#isResizeEnabled">QHeader</a><li>isRoot:
+ <a href="qdir.html#isRoot">QDir</a><li>isRowHidden:
+ <a href="qtable.html#isRowHidden">QTable</a><li>isRowReadOnly:
+ <a href="qtable.html#isRowReadOnly">QTable</a><li>isRowSelected:
+ <a href="qtable.html#isRowSelected">QTable</a><li>isRowStretchable:
+ <a href="qtable.html#isRowStretchable">QTable</a><li>isRubberSelecting:
+ <a href="qlistbox.html#isRubberSelecting">QListBox</a><li>isRunning:
+ <a href="qprocess.html#isRunning">QProcess</a><li>isScalable:
+ <a href="qfontdatabase.html#isScalable">QFontDatabase</a><li>isSelect:
+ <a href="qsqlquery.html#isSelect">QSqlQuery</a> <a href="qsqlresult.html#isSelect">QSqlResult</a><li>isSelectable:
+ <a href="qiconviewitem.html#isSelectable">QIconViewItem</a> <a href="qlistboxitem.html#isSelectable">QListBoxItem</a> <a href="qlistviewitem.html#isSelectable">QListViewItem</a><li>isSelected:
+ <a href="qcanvasitem.html#isSelected">QCanvasItem</a> <a href="qiconviewitem.html#isSelected">QIconViewItem</a> <a href="qlistbox.html#isSelected">QListBox</a> <a href="qlistboxitem.html#isSelected">QListBoxItem</a> <a href="qlistview.html#isSelected">QListView</a> <a href="qlistviewitem.html#isSelected">QListViewItem</a> <a href="qtable.html#isSelected">QTable</a><li>isSeparator:
+ <a href="qcustommenuitem.html#isSeparator">QCustomMenuItem</a><li>isSequentialAccess:
+ <a href="qiodevice.html#isSequentialAccess">QIODevice</a><li>isServer:
+ <a href="qaxfactory.html#isServer">QAxFactory</a><li>isService:
+ <a href="qaxfactory.html#isService">QAxFactory</a><li>isSessionRestored:
+ <a href="qapplication.html#isSessionRestored">QApplication</a><li>isSetType:
+ <a href="qmetaproperty.html#isSetType">QMetaProperty</a><li>isSharing:
+ <a href="qglcontext.html#isSharing">QGLContext</a> <a href="qglwidget.html#isSharing">QGLWidget</a><li>isShown:
+ <a href="qwidget.html#isShown">QWidget</a><li>isSizeGripEnabled:
+ <a href="qdialog.html#isSizeGripEnabled">QDialog</a> <a href="qstatusbar.html#isSizeGripEnabled">QStatusBar</a><li>isSmoothlyScalable:
+ <a href="qfontdatabase.html#isSmoothlyScalable">QFontDatabase</a><li>isSpace:
+ <a href="qchar.html#isSpace">QChar</a><li>isStretchEnabled:
+ <a href="qheader.html#isStretchEnabled">QHeader</a><li>isStretchable:
+ <a href="qdockwindow.html#isStretchable">QDockWindow</a><li>isSupported:
+ <a href="qdomnode.html#isSupported">QDomNode</a><li>isSymLink:
+ <a href="qfileinfo.html#isSymLink">QFileInfo</a> <a href="qurlinfo.html#isSymLink">QUrlInfo</a><li>isSymbol:
+ <a href="qchar.html#isSymbol">QChar</a><li>isSynchronous:
+ <a href="qiodevice.html#isSynchronous">QIODevice</a><li>isTabEnabled:
+ <a href="qtabbar.html#isTabEnabled">QTabBar</a> <a href="qtabdialog.html#isTabEnabled">QTabDialog</a> <a href="qtabwidget.html#isTabEnabled">QTabWidget</a><li>isText:
+ <a href="qdomnode.html#isText">QDomNode</a> <a href="qdomtext.html#isText">QDomText</a><li>isToggleAction:
+ <a href="qaction.html#isToggleAction">QAction</a><li>isToggleButton:
+ <a href="qbutton.html#isToggleButton">QButton</a> <a href="qbutton.html#isToggleButton">QCheckBox</a> <a href="qbutton.html#isToggleButton">QPushButton</a> <a href="qbutton.html#isToggleButton">QRadioButton</a><li>isTopLevel:
+ <a href="qlayout.html#isTopLevel">QLayout</a> <a href="qwidget.html#isTopLevel">QWidget</a><li>isTransformed:
+ <a href="qscreen.html#isTransformed">QScreen</a><li>isTranslated:
+ <a href="qiodevice.html#isTranslated">QIODevice</a><li>isTrim:
+ <a href="qsqlfieldinfo.html#isTrim">QSqlFieldInfo</a><li>isTrimmed:
+ <a href="qsqlcursor.html#isTrimmed">QSqlCursor</a><li>isTristate:
+ <a href="qcheckbox.html#isTristate">QCheckBox</a> <a href="qchecklistitem.html#isTristate">QCheckListItem</a><li>isUndoAvailable:
+ <a href="qlineedit.html#isUndoAvailable">QLineEdit</a> <a href="qtextedit.html#isUndoAvailable">QTextEdit</a><li>isUndoRedoEnabled:
+ <a href="qtextedit.html#isUndoRedoEnabled">QTextEdit</a><li>isUpdatesEnabled:
+ <a href="qwidget.html#isUpdatesEnabled">QWidget</a><li>isValid:
+ <a href="qaccessibleinterface.html#isValid">QAccessibleInterface</a> <a href="qaxscriptengine.html#isValid">QAxScriptEngine</a> <a href="qcanvaspixmaparray.html#isValid">QCanvasPixmapArray</a> <a href="qcanvaspolygonalitem.html#isValid">QCanvasPolygonalItem</a> <a href="qcolor.html#isValid">QColor</a> <a href="qdate.html#isValid">QDate</a> <a href="qdatetime.html#isValid">QDateTime</a> <a href="qglcontext.html#isValid">QGLContext</a> <a href="qglwidget.html#isValid">QGLWidget</a> <a href="qhttpheader.html#isValid">QHttpHeader</a> <a href="qrect.html#isValid">QRect</a> <a href="qregexp.html#isValid">QRegExp</a> <a href="qsize.html#isValid">QSize</a> <a href="qsocketdevice.html#isValid">QSocketDevice</a> <a href="qsqlquery.html#isValid">QSqlQuery</a> <a href="qsqlresult.html#isValid">QSqlResult</a> <a href="qtime.html#isValid">QTime</a> <a href="qurl.html#isValid">QUrl</a> <a href="qurlinfo.html#isValid">QUrlInfo</a> <a href="qvariant.html#isValid">QVariant</a><li>isVerticalSliderPressed:
+ <a href="qscrollview.html#isVerticalSliderPressed">QScrollView</a><li>isVerticallyStretchable:
+ <a href="qdockwindow.html#isVerticallyStretchable">QDockWindow</a><li>isVirtualDesktop:
+ <a href="qdesktopwidget.html#isVirtualDesktop">QDesktopWidget</a><li>isVisible:
+ <a href="qaction.html#isVisible">QAction</a> <a href="qcanvasitem.html#isVisible">QCanvasItem</a> <a href="qlistviewitem.html#isVisible">QListViewItem</a> <a href="qwswindow.html#isVisible">QWSWindow</a> <a href="qwidget.html#isVisible">QWidget</a><li>isVisibleTo:
+ <a href="qwidget.html#isVisibleTo">QWidget</a><li>isWidgetType:
+ <a href="qobject.html#isWidgetType">QObject</a><li>isWorking:
+ <a href="qdns.html#isWorking">QDns</a><li>isWritable:
+ <a href="qfileinfo.html#isWritable">QFileInfo</a> <a href="qiodevice.html#isWritable">QIODevice</a> <a href="qurlinfo.html#isWritable">QUrlInfo</a><li>italic:
+ <a href="qfont.html#italic">QFont</a> <a href="qfontdatabase.html#italic">QFontDatabase</a> <a href="qfontinfo.html#italic">QFontInfo</a> <a href="qtextedit.html#italic">QTextEdit</a><li>item:
+ <a href="qdomnamednodemap.html#item">QDomNamedNodeMap</a> <a href="qdomnodelist.html#item">QDomNodeList</a> <a href="qlistbox.html#item">QListBox</a> <a href="qstylesheet.html#item">QStyleSheet</a> <a href="qtable.html#item">QTable</a> <a href="qtoolbox.html#item">QToolBox</a><li>itemAbove:
+ <a href="qlistviewitem.html#itemAbove">QListViewItem</a><li>itemAt:
+ <a href="qlistbox.html#itemAt">QListBox</a> <a href="qlistview.html#itemAt">QListView</a><li>itemBelow:
+ <a href="qlistviewitem.html#itemBelow">QListViewItem</a><li>itemChanged:
+ <a href="qnetworkprotocol.html#itemChanged">QNetworkProtocol</a> <a href="qurloperator.html#itemChanged">QUrlOperator</a><li>itemHeight:
+ <a href="qlistbox.html#itemHeight">QListBox</a> <a href="qpopupmenu.html#itemHeight">QPopupMenu</a><li>itemIconSet:
+ <a href="qtoolbox.html#itemIconSet">QToolBox</a><li>itemInserted:
+ <a href="qtoolbox.html#itemInserted">QToolBox</a><li>itemLabel:
+ <a href="qtoolbox.html#itemLabel">QToolBox</a><li>itemMargin:
+ <a href="qlistview.html#itemMargin">QListView</a><li>itemParameter:
+ <a href="qmenudata.html#itemParameter">QMenuData</a> <a href="qmenudata.html#itemParameter">QPopupMenu</a><li>itemPos:
+ <a href="qlistview.html#itemPos">QListView</a> <a href="qlistviewitem.html#itemPos">QListViewItem</a><li>itemRect:
+ <a href="qlistbox.html#itemRect">QListBox</a> <a href="qlistview.html#itemRect">QListView</a> <a href="qstyle.html#itemRect">QStyle</a><li>itemRemoved:
+ <a href="qtoolbox.html#itemRemoved">QToolBox</a><li>itemRenamed:
+ <a href="qiconview.html#itemRenamed">QIconView</a> <a href="qlistview.html#itemRenamed">QListView</a><li>itemTextBackground:
+ <a href="qiconview.html#itemTextBackground">QIconView</a><li>itemTextPos:
+ <a href="qiconview.html#itemTextPos">QIconView</a><li>itemToolTip:
+ <a href="qtoolbox.html#itemToolTip">QToolBox</a><li>itemVisible:
+ <a href="qlistbox.html#itemVisible">QListBox</a><li>itemsMovable:
+ <a href="qiconview.html#itemsMovable">QIconView</a><li>iterator:
+ <a href="qlayout.html#iterator">QLayout</a> <a href="qlayoutitem.html#iterator">QLayoutItem</a><li><a name="j"></a>
+join:
+ <a href="qstringlist.html#join">QStringList</a><li>joinStyle:
+ <a href="qpen.html#joinStyle">QPen</a><li>joining:
+ <a href="qchar.html#joining">QChar</a><li>jumpTable:
+ <a href="qimage.html#jumpTable">QImage</a><li><a name="k"></a>
+key:
+ <a href="qaccel.html#key">QAccel</a> <a href="qfont.html#key">QFont</a> <a href="qiconviewitem.html#key">QIconViewItem</a> <a href="qkeyevent.html#key">QKeyEvent</a> <a href="qlistviewitem.html#key">QListViewItem</a> <a href="qmapconstiterator.html#key">QMapConstIterator</a> <a href="qmapiterator.html#key">QMapIterator</a> <a href="qtableitem.html#key">QTableItem</a><li>keyMap:
+ <a href="qwsserver.html#keyMap">QWSServer</a><li>keyPressEvent:
+ <a href="qlineedit.html#keyPressEvent">QLineEdit</a> <a href="qtextbrowser.html#keyPressEvent">QTextBrowser</a> <a href="qtextedit.html#keyPressEvent">QTextEdit</a> <a href="qwidget.html#keyPressEvent">QWidget</a><li>keyReleaseEvent:
+ <a href="qwidget.html#keyReleaseEvent">QWidget</a><li>keyToValue:
+ <a href="qmetaproperty.html#keyToValue">QMetaProperty</a><li>keyboardFocusTab:
+ <a href="qtabbar.html#keyboardFocusTab">QTabBar</a><li>keyboardGrabber:
+ <a href="qwidget.html#keyboardGrabber">QWidget</a><li>keyboardHandler:
+ <a href="qwsserver.html#keyboardHandler">QWSServer</a><li>keys:
+ <a href="qgfxdriverfactory.html#keys">QGfxDriverFactory</a> <a href="qgfxdriverplugin.html#keys">QGfxDriverPlugin</a> <a href="qhttpheader.html#keys">QHttpHeader</a> <a href="qimageformatplugin.html#keys">QImageFormatPlugin</a> <a href="qkbddriverfactory.html#keys">QKbdDriverFactory</a> <a href="qkbddriverplugin.html#keys">QKbdDriverPlugin</a> <a href="qmap.html#keys">QMap</a> <a href="qmousedriverfactory.html#keys">QMouseDriverFactory</a> <a href="qmousedriverplugin.html#keys">QMouseDriverPlugin</a> <a href="qsqldriverplugin.html#keys">QSqlDriverPlugin</a> <a href="qstylefactory.html#keys">QStyleFactory</a> <a href="qstyleplugin.html#keys">QStylePlugin</a> <a href="qwidgetplugin.html#keys">QWidgetPlugin</a><li>keysToValue:
+ <a href="qmetaproperty.html#keysToValue">QMetaProperty</a><li>kill:
+ <a href="qprocess.html#kill">QProcess</a><li>killLine:
+ <a href="qmultilineedit.html#killLine">QMultiLineEdit</a><li>killTimer:
+ <a href="qobject.html#killTimer">QObject</a><li>killTimers:
+ <a href="qobject.html#killTimers">QObject</a><li><a name="l"></a>
+label:
+ <a href="qdns.html#label">QDns</a> <a href="qheader.html#label">QHeader</a> <a href="qtabwidget.html#label">QTabWidget</a> <a href="qtoolbar.html#label">QToolBar</a><li>labelText:
+ <a href="qprogressdialog.html#labelText">QProgressDialog</a><li>language:
+ <a href="qlocale.html#language">QLocale</a><li>languageToString:
+ <a href="qlocale.html#languageToString">QLocale</a><li>last:
+ <a href="qdatabrowser.html#last">QDataBrowser</a> <a href="qfocusdata.html#last">QFocusData</a> <a href="qptrlist.html#last">QPtrList</a> <a href="qsqlquery.html#last">QSqlQuery</a> <a href="qvaluelist.html#last">QValueList</a> <a href="qvaluevector.html#last">QValueVector</a><li>lastChild:
+ <a href="qdomnode.html#lastChild">QDomNode</a><li>lastError:
+ <a href="qsqldatabase.html#lastError">QSqlDatabase</a> <a href="qsqldriver.html#lastError">QSqlDriver</a> <a href="qsqlquery.html#lastError">QSqlQuery</a> <a href="qsqlresult.html#lastError">QSqlResult</a><li>lastItem:
+ <a href="qiconview.html#lastItem">QIconView</a> <a href="qlistview.html#lastItem">QListView</a><li>lastModified:
+ <a href="qfileinfo.html#lastModified">QFileInfo</a> <a href="qnpstream.html#lastModified">QNPStream</a> <a href="qurlinfo.html#lastModified">QUrlInfo</a><li>lastOp:
+ <a href="qscreen.html#lastOp">QScreen</a><li>lastQuery:
+ <a href="qsqlquery.html#lastQuery">QSqlQuery</a> <a href="qsqlresult.html#lastQuery">QSqlResult</a><li>lastRead:
+ <a href="qfileinfo.html#lastRead">QFileInfo</a> <a href="qurlinfo.html#lastRead">QUrlInfo</a><li>lastRecordAvailable:
+ <a href="qdatabrowser.html#lastRecordAvailable">QDataBrowser</a><li>lastResortFamily:
+ <a href="qfont.html#lastResortFamily">QFont</a><li>lastResortFont:
+ <a href="qfont.html#lastResortFont">QFont</a><li>lastWindowClosed:
+ <a href="qapplication.html#lastWindowClosed">QApplication</a><li>latin1:
+ <a href="qchar.html#latin1">QChar</a> <a href="qstring.html#latin1">QString</a><li>launch:
+ <a href="qprocess.html#launch">QProcess</a><li>launchFinished:
+ <a href="qprocess.html#launchFinished">QProcess</a><li>layOutButtonRow:
+ <a href="qwizard.html#layOutButtonRow">QWizard</a><li>layOutTitleRow:
+ <a href="qwizard.html#layOutTitleRow">QWizard</a><li>layout:
+ <a href="qlayoutitem.html#layout">QLayoutItem</a> <a href="qwidget.html#layout">QWidget</a><li>layoutChanged:
+ <a href="qtabbar.html#layoutChanged">QTabBar</a><li>layoutTabs:
+ <a href="qtabbar.html#layoutTabs">QTabBar</a><li>leading:
+ <a href="qfontmetrics.html#leading">QFontMetrics</a><li>leapYear:
+ <a href="qdate.html#leapYear">QDate</a><li>leaveAllocContext:
+ <a href="qcolor.html#leaveAllocContext">QColor</a><li>leaveEvent:
+ <a href="qwidget.html#leaveEvent">QWidget</a><li>leaveInstance:
+ <a href="qnpwidget.html#leaveInstance">QNPWidget</a><li>leaveWhatsThisMode:
+ <a href="qwhatsthis.html#leaveWhatsThisMode">QWhatsThis</a><li>left:
+ <a href="qcstring.html#left">QCString</a> <a href="qrect.html#left">QRect</a> <a href="qstring.html#left">QString</a><li>leftBearing:
+ <a href="qfontmetrics.html#leftBearing">QFontMetrics</a><li>leftCol:
+ <a href="qtableselection.html#leftCol">QTableSelection</a><li>leftDock:
+ <a href="qmainwindow.html#leftDock">QMainWindow</a><li>leftEdge:
+ <a href="qcanvassprite.html#leftEdge">QCanvasSprite</a><li>leftJustify:
+ <a href="qcstring.html#leftJustify">QCString</a> <a href="qstring.html#leftJustify">QString</a><li>leftMargin:
+ <a href="qscrollview.html#leftMargin">QScrollView</a><li>length:
+ <a href="qcstring.html#length">QCString</a> <a href="qdomcharacterdata.html#length">QDomCharacterData</a> <a href="qdomnamednodemap.html#length">QDomNamedNodeMap</a> <a href="qdomnodelist.html#length">QDomNodeList</a> <a href="qsqlfieldinfo.html#length">QSqlFieldInfo</a> <a href="qstring.html#length">QString</a> <a href="qtextedit.html#length">QTextEdit</a> <a href="qxmlattributes.html#length">QXmlAttributes</a><li>lessThan:
+ <a href="qurlinfo.html#lessThan">QUrlInfo</a><li>lexicalHandler:
+ <a href="qxmlreader.html#lexicalHandler">QXmlReader</a><li>library:
+ <a href="qlibrary.html#library">QLibrary</a><li>libraryPaths:
+ <a href="qapplication.html#libraryPaths">QApplication</a><li>light:
+ <a href="qcolor.html#light">QColor</a> <a href="qcolorgroup.html#light">QColorGroup</a><li>limitToScreen:
+ <a href="qwsmousehandler.html#limitToScreen">QWSMouseHandler</a><li>lineEdit:
+ <a href="qcombobox.html#lineEdit">QComboBox</a><li>lineLength:
+ <a href="qmultilineedit.html#lineLength">QMultiLineEdit</a><li>lineNumber:
+ <a href="qxmllocator.html#lineNumber">QXmlLocator</a> <a href="qxmlparseexception.html#lineNumber">QXmlParseException</a><li>lineOfChar:
+ <a href="qtextedit.html#lineOfChar">QTextEdit</a><li>lineSpacing:
+ <a href="qfontmetrics.html#lineSpacing">QFontMetrics</a><li>lineStep:
+ <a href="qdial.html#lineStep">QDial</a> <a href="qdirectpainter.html#lineStep">QDirectPainter</a> <a href="qrangecontrol.html#lineStep">QRangeControl</a> <a href="qscrollbar.html#lineStep">QScrollBar</a> <a href="qslider.html#lineStep">QSlider</a> <a href="qspinbox.html#lineStep">QSpinBox</a><li>lineUp:
+ <a href="qdockarea.html#lineUp">QDockArea</a><li>lineUpDockWindows:
+ <a href="qmainwindow.html#lineUpDockWindows">QMainWindow</a><li>lineWidth:
+ <a href="qfontmetrics.html#lineWidth">QFontMetrics</a> <a href="qframe.html#lineWidth">QFrame</a> <a href="qstyleoption.html#lineWidth">QStyleOption</a><li>lines:
+ <a href="qtextedit.html#lines">QTextEdit</a><li>linesOfParagraph:
+ <a href="qtextedit.html#linesOfParagraph">QTextEdit</a><li>linestep:
+ <a href="qscreen.html#linestep">QScreen</a><li>link:
+ <a href="qcolorgroup.html#link">QColorGroup</a><li>linkClicked:
+ <a href="qtextbrowser.html#linkClicked">QTextBrowser</a><li>linkUnderline:
+ <a href="qtextedit.html#linkUnderline">QTextEdit</a><li>linkVisited:
+ <a href="qcolorgroup.html#linkVisited">QColorGroup</a><li>list:
+ <a href="qftp.html#list">QFtp</a><li>listBox:
+ <a href="qcombobox.html#listBox">QComboBox</a> <a href="qlistboxitem.html#listBox">QListBoxItem</a><li>listChildren:
+ <a href="qurloperator.html#listChildren">QUrlOperator</a><li>listInfo:
+ <a href="qftp.html#listInfo">QFtp</a><li>listStyle:
+ <a href="qstylesheetitem.html#listStyle">QStyleSheetItem</a><li>listView:
+ <a href="qlistviewitem.html#listView">QListViewItem</a><li>listViewItem:
+ <a href="qstyleoption.html#listViewItem">QStyleOption</a><li>listen:
+ <a href="qsocketdevice.html#listen">QSocketDevice</a><li>load:
+ <a href="qaxscript.html#load">QAxScript</a> <a href="qaxscriptmanager.html#load">QAxScriptManager</a> <a href="qimage.html#load">QImage</a> <a href="qlibrary.html#load">QLibrary</a> <a href="qpicture.html#load">QPicture</a> <a href="qpixmap.html#load">QPixmap</a> <a href="qtranslator.html#load">QTranslator</a><li>loadCharmap:
+ <a href="qtextcodec.html#loadCharmap">QTextCodec</a><li>loadCharmapFile:
+ <a href="qtextcodec.html#loadCharmapFile">QTextCodec</a><li>loadFromData:
+ <a href="qimage.html#loadFromData">QImage</a> <a href="qpixmap.html#loadFromData">QPixmap</a><li>loadImages:
+ <a href="qwidgetfactory.html#loadImages">QWidgetFactory</a><li>local8Bit:
+ <a href="qstring.html#local8Bit">QString</a><li>localData:
+ <a href="qthreadstorage.html#localData">QThreadStorage</a><li>localFileToUri:
+ <a href="quridrag.html#localFileToUri">QUriDrag</a><li>localName:
+ <a href="qdomnode.html#localName">QDomNode</a> <a href="qxmlattributes.html#localName">QXmlAttributes</a><li>locale:
+ <a href="qtextcodec.html#locale">QTextCodec</a><li>localeAwareCompare:
+ <a href="qstring.html#localeAwareCompare">QString</a><li>lock:
+ <a href="qapplication.html#lock">QApplication</a> <a href="qmutex.html#lock">QMutex</a><li>locked:
+ <a href="qapplication.html#locked">QApplication</a> <a href="qmutex.html#locked">QMutex</a><li>logicalDpiX:
+ <a href="qpaintdevicemetrics.html#logicalDpiX">QPaintDeviceMetrics</a><li>logicalDpiY:
+ <a href="qpaintdevicemetrics.html#logicalDpiY">QPaintDeviceMetrics</a><li>logicalFontSize:
+ <a href="qstylesheetitem.html#logicalFontSize">QStyleSheetItem</a><li>logicalFontSizeStep:
+ <a href="qstylesheetitem.html#logicalFontSizeStep">QStyleSheetItem</a><li>login:
+ <a href="qftp.html#login">QFtp</a><li>longDayName:
+ <a href="qdate.html#longDayName">QDate</a><li>longMonthName:
+ <a href="qdate.html#longMonthName">QDate</a><li>loopLevel:
+ <a href="qeventloop.html#loopLevel">QEventLoop</a><li>loops:
+ <a href="qsound.html#loops">QSound</a><li>loopsRemaining:
+ <a href="qsound.html#loopsRemaining">QSound</a><li>lostFocus:
+ <a href="qfocusevent.html#lostFocus">QFocusEvent</a> <a href="qlineedit.html#lostFocus">QLineEdit</a><li>lower:
+ <a href="qcstring.html#lower">QCString</a> <a href="qchar.html#lower">QChar</a> <a href="qstring.html#lower">QString</a> <a href="qwswindow.html#lower">QWSWindow</a> <a href="qwidget.html#lower">QWidget</a><li><a name="m"></a>
+m11:
+ <a href="qwmatrix.html#m11">QWMatrix</a><li>m12:
+ <a href="qwmatrix.html#m12">QWMatrix</a><li>m21:
+ <a href="qwmatrix.html#m21">QWMatrix</a><li>m22:
+ <a href="qwmatrix.html#m22">QWMatrix</a><li>macEvent:
+ <a href="qwidget.html#macEvent">QWidget</a><li>macEventFilter:
+ <a href="qapplication.html#macEventFilter">QApplication</a><li>mailServers:
+ <a href="qdns.html#mailServers">QDns</a><li>mainWidget:
+ <a href="qapplication.html#mainWidget">QApplication</a> <a href="qlayout.html#mainWidget">QLayout</a><li>mainWindow:
+ <a href="qtoolbar.html#mainWindow">QToolBar</a><li>majorVersion:
+ <a href="qhttpheader.html#majorVersion">QHttpHeader</a> <a href="qhttprequestheader.html#majorVersion">QHttpRequestHeader</a> <a href="qhttpresponseheader.html#majorVersion">QHttpResponseHeader</a><li>makeAbsolute:
+ <a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory</a><li>makeArc:
+ <a href="qpointarray.html#makeArc">QPointArray</a><li>makeCurrent:
+ <a href="qglcontext.html#makeCurrent">QGLContext</a> <a href="qglwidget.html#makeCurrent">QGLWidget</a><li>makeDecoder:
+ <a href="qtextcodec.html#makeDecoder">QTextCodec</a><li>makeEllipse:
+ <a href="qpointarray.html#makeEllipse">QPointArray</a><li>makeEncoder:
+ <a href="qtextcodec.html#makeEncoder">QTextCodec</a><li>makeOverlayCurrent:
+ <a href="qglwidget.html#makeOverlayCurrent">QGLWidget</a><li>makeRowLayout:
+ <a href="qiconview.html#makeRowLayout">QIconView</a><li>manager:
+ <a href="qwsserver.html#manager">QWSServer</a><li>manhattanLength:
+ <a href="qpoint.html#manhattanLength">QPoint</a><li>map:
+ <a href="qsignalmapper.html#map">QSignalMapper</a> <a href="qwmatrix.html#map">QWMatrix</a><li>mapFrom:
+ <a href="qwidget.html#mapFrom">QWidget</a><li>mapFromDevice:
+ <a href="qscreen.html#mapFromDevice">QScreen</a><li>mapFromGlobal:
+ <a href="qwidget.html#mapFromGlobal">QWidget</a><li>mapFromParent:
+ <a href="qwidget.html#mapFromParent">QWidget</a><li>mapRect:
+ <a href="qwmatrix.html#mapRect">QWMatrix</a><li>mapTextToValue:
+ <a href="qspinbox.html#mapTextToValue">QSpinBox</a><li>mapTo:
+ <a href="qwidget.html#mapTo">QWidget</a><li>mapToDevice:
+ <a href="qscreen.html#mapToDevice">QScreen</a><li>mapToGlobal:
+ <a href="qwidget.html#mapToGlobal">QWidget</a><li>mapToIndex:
+ <a href="qheader.html#mapToIndex">QHeader</a><li>mapToParent:
+ <a href="qwidget.html#mapToParent">QWidget</a><li>mapToPolygon:
+ <a href="qwmatrix.html#mapToPolygon">QWMatrix</a><li>mapToRegion:
+ <a href="qwmatrix.html#mapToRegion">QWMatrix</a><li>mapToSection:
+ <a href="qheader.html#mapToSection">QHeader</a><li>mapValueToText:
+ <a href="qspinbox.html#mapValueToText">QSpinBox</a><li>mapped:
+ <a href="qsignalmapper.html#mapped">QSignalMapper</a><li>margin:
+ <a href="qframe.html#margin">QFrame</a> <a href="qlayout.html#margin">QLayout</a> <a href="qstylesheetitem.html#margin">QStyleSheetItem</a> <a href="qtabwidget.html#margin">QTabWidget</a><li>margins:
+ <a href="qprinter.html#margins">QPrinter</a><li>markedText:
+ <a href="qmultilineedit.html#markedText">QMultiLineEdit</a><li>mask:
+ <a href="qcursor.html#mask">QCursor</a> <a href="qpixmap.html#mask">QPixmap</a><li>match:
+ <a href="qdir.html#match">QDir</a><li>matchAllDirs:
+ <a href="qdir.html#matchAllDirs">QDir</a><li>matchedLength:
+ <a href="qregexp.html#matchedLength">QRegExp</a><li>matches:
+ <a href="qkeysequence.html#matches">QKeySequence</a><li>maxColors:
+ <a href="qcolor.html#maxColors">QColor</a><li>maxCost:
+ <a href="qasciicache.html#maxCost">QAsciiCache</a> <a href="qcache.html#maxCost">QCache</a> <a href="qintcache.html#maxCost">QIntCache</a><li>maxCount:
+ <a href="qcombobox.html#maxCount">QComboBox</a><li>maxIconWidth:
+ <a href="qstyleoption.html#maxIconWidth">QStyleOption</a><li>maxItemTextLength:
+ <a href="qiconview.html#maxItemTextLength">QIconView</a><li>maxItemWidth:
+ <a href="qiconview.html#maxItemWidth">QIconView</a> <a href="qlistbox.html#maxItemWidth">QListBox</a><li>maxLength:
+ <a href="qlineedit.html#maxLength">QLineEdit</a><li>maxLogLines:
+ <a href="qtextedit.html#maxLogLines">QTextEdit</a><li>maxPage:
+ <a href="qprinter.html#maxPage">QPrinter</a><li>maxValue:
+ <a href="qdateedit.html#maxValue">QDateEdit</a> <a href="qdial.html#maxValue">QDial</a> <a href="qrangecontrol.html#maxValue">QRangeControl</a> <a href="qscrollbar.html#maxValue">QScrollBar</a> <a href="qslider.html#maxValue">QSlider</a> <a href="qspinbox.html#maxValue">QSpinBox</a> <a href="qtimeedit.html#maxValue">QTimeEdit</a><li>maxWidth:
+ <a href="qfontmetrics.html#maxWidth">QFontMetrics</a><li>maximize:
+ <a href="qwsdecoration.html#maximize">QWSDecoration</a><li>maximumHeight:
+ <a href="qwidget.html#maximumHeight">QWidget</a><li>maximumSize:
+ <a href="qboxlayout.html#maximumSize">QBoxLayout</a> <a href="qgridlayout.html#maximumSize">QGridLayout</a> <a href="qlayout.html#maximumSize">QLayout</a> <a href="qlayoutitem.html#maximumSize">QLayoutItem</a> <a href="qspaceritem.html#maximumSize">QSpacerItem</a> <a href="qwidget.html#maximumSize">QWidget</a> <a href="qwidgetitem.html#maximumSize">QWidgetItem</a><li>maximumWidth:
+ <a href="qwidget.html#maximumWidth">QWidget</a><li>mayGrowHorizontally:
+ <a href="qsizepolicy.html#mayGrowHorizontally">QSizePolicy</a><li>mayGrowVertically:
+ <a href="qsizepolicy.html#mayGrowVertically">QSizePolicy</a><li>mayShrinkHorizontally:
+ <a href="qsizepolicy.html#mayShrinkHorizontally">QSizePolicy</a><li>mayShrinkVertically:
+ <a href="qsizepolicy.html#mayShrinkVertically">QSizePolicy</a><li>maybeReady:
+ <a href="qdatasink.html#maybeReady">QDataSink</a> <a href="qdatasource.html#maybeReady">QDataSource</a><li>maybeTip:
+ <a href="qtooltip.html#maybeTip">QToolTip</a><li>menu:
+ <a href="qwsdecoration.html#menu">QWSDecoration</a><li>menuAboutToShow:
+ <a href="qmainwindow.html#menuAboutToShow">QMainWindow</a><li>menuBar:
+ <a href="qlayout.html#menuBar">QLayout</a> <a href="qmainwindow.html#menuBar">QMainWindow</a><li>menuContentsChanged:
+ <a href="qmenubar.html#menuContentsChanged">QMenuBar</a> <a href="qmenudata.html#menuContentsChanged">QMenuData</a><li>menuDelPopup:
+ <a href="qmenudata.html#menuDelPopup">QMenuData</a><li>menuInsPopup:
+ <a href="qmenudata.html#menuInsPopup">QMenuData</a><li>menuItem:
+ <a href="qstyleoption.html#menuItem">QStyleOption</a><li>menuStateChanged:
+ <a href="qmenubar.html#menuStateChanged">QMenuBar</a> <a href="qmenudata.html#menuStateChanged">QMenuData</a><li>menuText:
+ <a href="qaction.html#menuText">QAction</a><li>message:
+ <a href="qerrormessage.html#message">QErrorMessage</a> <a href="qsplashscreen.html#message">QSplashScreen</a> <a href="qstatusbar.html#message">QStatusBar</a> <a href="qxmlparseexception.html#message">QXmlParseException</a><li>messageChanged:
+ <a href="qsplashscreen.html#messageChanged">QSplashScreen</a> <a href="qstatusbar.html#messageChanged">QStatusBar</a><li>messages:
+ <a href="qtranslator.html#messages">QTranslator</a><li>metaObject:
+ <a href="qaxfactory.html#metaObject">QAxFactory</a> <a href="qobject.html#metaObject">QObject</a><li>method:
+ <a href="qhttprequestheader.html#method">QHttpRequestHeader</a><li>metric:
+ <a href="qpicture.html#metric">QPicture</a> <a href="qpixmap.html#metric">QPixmap</a> <a href="qwidget.html#metric">QWidget</a><li>mibEnum:
+ <a href="qeucjpcodec.html#mibEnum">QEucJpCodec</a> <a href="qtextcodec.html#mibEnum">QTextCodec</a><li>mibEnums:
+ <a href="qtextcodecplugin.html#mibEnums">QTextCodecPlugin</a><li>microFocusHint:
+ <a href="qwidget.html#microFocusHint">QWidget</a><li>mid:
+ <a href="qcstring.html#mid">QCString</a> <a href="qcolorgroup.html#mid">QColorGroup</a> <a href="qstring.html#mid">QString</a><li>midLineWidth:
+ <a href="qframe.html#midLineWidth">QFrame</a> <a href="qstyleoption.html#midLineWidth">QStyleOption</a><li>midlight:
+ <a href="qcolorgroup.html#midlight">QColorGroup</a><li>mightBeRichText:
+ <a href="qstylesheet.html#mightBeRichText">QStyleSheet</a><li>mimeFor:
+ <a href="qmacmime.html#mimeFor">QMacMime</a> <a href="qwindowsmime.html#mimeFor">QWindowsMime</a><li>mimeName:
+ <a href="qeucjpcodec.html#mimeName">QEucJpCodec</a> <a href="qeuckrcodec.html#mimeName">QEucKrCodec</a> <a href="qhebrewcodec.html#mimeName">QHebrewCodec</a> <a href="qjiscodec.html#mimeName">QJisCodec</a> <a href="qsjiscodec.html#mimeName">QSjisCodec</a> <a href="qtextcodec.html#mimeName">QTextCodec</a><li>mimeSourceFactory:
+ <a href="qtextedit.html#mimeSourceFactory">QTextEdit</a><li>minLeftBearing:
+ <a href="qfontmetrics.html#minLeftBearing">QFontMetrics</a><li>minPage:
+ <a href="qprinter.html#minPage">QPrinter</a><li>minRightBearing:
+ <a href="qfontmetrics.html#minRightBearing">QFontMetrics</a><li>minValue:
+ <a href="qdateedit.html#minValue">QDateEdit</a> <a href="qdial.html#minValue">QDial</a> <a href="qrangecontrol.html#minValue">QRangeControl</a> <a href="qscrollbar.html#minValue">QScrollBar</a> <a href="qslider.html#minValue">QSlider</a> <a href="qspinbox.html#minValue">QSpinBox</a> <a href="qtimeedit.html#minValue">QTimeEdit</a><li>minimal:
+ <a href="qregexp.html#minimal">QRegExp</a><li>minimize:
+ <a href="qwsdecoration.html#minimize">QWSDecoration</a><li>minimumDuration:
+ <a href="qprogressdialog.html#minimumDuration">QProgressDialog</a><li>minimumHeight:
+ <a href="qwidget.html#minimumHeight">QWidget</a><li>minimumSize:
+ <a href="qboxlayout.html#minimumSize">QBoxLayout</a> <a href="qgridlayout.html#minimumSize">QGridLayout</a> <a href="qlayout.html#minimumSize">QLayout</a> <a href="qlayoutitem.html#minimumSize">QLayoutItem</a> <a href="qspaceritem.html#minimumSize">QSpacerItem</a> <a href="qwidget.html#minimumSize">QWidget</a> <a href="qwidgetitem.html#minimumSize">QWidgetItem</a><li>minimumSizeHint:
+ <a href="qlineedit.html#minimumSizeHint">QLineEdit</a> <a href="qwidget.html#minimumSizeHint">QWidget</a><li>minimumWidth:
+ <a href="qwidget.html#minimumWidth">QWidget</a><li>minorVersion:
+ <a href="qhttpheader.html#minorVersion">QHttpHeader</a> <a href="qhttprequestheader.html#minorVersion">QHttpRequestHeader</a> <a href="qhttpresponseheader.html#minorVersion">QHttpResponseHeader</a><li>minute:
+ <a href="qtime.html#minute">QTime</a><li>mirror:
+ <a href="qimage.html#mirror">QImage</a><li>mirrored:
+ <a href="qchar.html#mirrored">QChar</a><li>mirroredChar:
+ <a href="qchar.html#mirroredChar">QChar</a><li>mixedColor:
+ <a href="qplatinumstyle.html#mixedColor">QPlatinumStyle</a><li>mkdir:
+ <a href="qdir.html#mkdir">QDir</a> <a href="qftp.html#mkdir">QFtp</a> <a href="qurloperator.html#mkdir">QUrlOperator</a><li>mode:
+ <a href="qfiledialog.html#mode">QFileDialog</a> <a href="qiodevice.html#mode">QIODevice</a> <a href="qlcdnumber.html#mode">QLCDNumber</a> <a href="qnpinstance.html#mode">QNPInstance</a> <a href="qsqlcursor.html#mode">QSqlCursor</a><li>modificationChanged:
+ <a href="qtextedit.html#modificationChanged">QTextEdit</a><li>month:
+ <a href="qdate.html#month">QDate</a><li>motifWidget:
+ <a href="qmotifwidget.html#motifWidget">QMotifWidget</a><li>mouseButtonClicked:
+ <a href="qiconview.html#mouseButtonClicked">QIconView</a> <a href="qlistbox.html#mouseButtonClicked">QListBox</a> <a href="qlistview.html#mouseButtonClicked">QListView</a><li>mouseButtonPressed:
+ <a href="qiconview.html#mouseButtonPressed">QIconView</a> <a href="qlistbox.html#mouseButtonPressed">QListBox</a> <a href="qlistview.html#mouseButtonPressed">QListView</a><li>mouseChanged:
+ <a href="qwsmousehandler.html#mouseChanged">QWSMouseHandler</a><li>mouseDoubleClickEvent:
+ <a href="qwidget.html#mouseDoubleClickEvent">QWidget</a><li>mouseGrabber:
+ <a href="qwidget.html#mouseGrabber">QWidget</a><li>mouseHandler:
+ <a href="qwsserver.html#mouseHandler">QWSServer</a><li>mouseMoveEvent:
+ <a href="qsizegrip.html#mouseMoveEvent">QSizeGrip</a> <a href="qwidget.html#mouseMoveEvent">QWidget</a><li>mousePressEvent:
+ <a href="qsizegrip.html#mousePressEvent">QSizeGrip</a> <a href="qwidget.html#mousePressEvent">QWidget</a><li>mouseReleaseEvent:
+ <a href="qwidget.html#mouseReleaseEvent">QWidget</a><li>move:
+ <a href="qcanvasitem.html#move">QCanvasItem</a> <a href="qcanvassprite.html#move">QCanvasSprite</a> <a href="qiconviewitem.html#move">QIconViewItem</a> <a href="qwidget.html#move">QWidget</a><li>moveBottom:
+ <a href="qrect.html#moveBottom">QRect</a><li>moveBottomLeft:
+ <a href="qrect.html#moveBottomLeft">QRect</a><li>moveBottomRight:
+ <a href="qrect.html#moveBottomRight">QRect</a><li>moveBy:
+ <a href="qcanvasitem.html#moveBy">QCanvasItem</a> <a href="qiconviewitem.html#moveBy">QIconViewItem</a> <a href="qrect.html#moveBy">QRect</a><li>moveCenter:
+ <a href="qrect.html#moveCenter">QRect</a><li>moveChild:
+ <a href="qscrollview.html#moveChild">QScrollView</a><li>moveCursor:
+ <a href="qtextedit.html#moveCursor">QTextEdit</a><li>moveDockWindow:
+ <a href="qdockarea.html#moveDockWindow">QDockArea</a> <a href="qmainwindow.html#moveDockWindow">QMainWindow</a><li>moveEvent:
+ <a href="qwidget.html#moveEvent">QWidget</a><li>moveFocus:
+ <a href="qbuttongroup.html#moveFocus">QButtonGroup</a><li>moveItem:
+ <a href="qlistviewitem.html#moveItem">QListViewItem</a><li>moveLeft:
+ <a href="qrect.html#moveLeft">QRect</a><li>moveRight:
+ <a href="qrect.html#moveRight">QRect</a><li>moveSection:
+ <a href="qheader.html#moveSection">QHeader</a><li>moveSplitter:
+ <a href="qsplitter.html#moveSplitter">QSplitter</a><li>moveToFirst:
+ <a href="qsplitter.html#moveToFirst">QSplitter</a><li>moveToLast:
+ <a href="qsplitter.html#moveToLast">QSplitter</a><li>moveTop:
+ <a href="qrect.html#moveTop">QRect</a><li>moveTopLeft:
+ <a href="qrect.html#moveTopLeft">QRect</a><li>moveTopRight:
+ <a href="qrect.html#moveTopRight">QRect</a><li>moved:
+ <a href="qiconview.html#moved">QIconView</a><li>movie:
+ <a href="qlabel.html#movie">QLabel</a><li>msec:
+ <a href="qtime.html#msec">QTime</a><li>msecsTo:
+ <a href="qtime.html#msecsTo">QTime</a><li>msleep:
+ <a href="qthread.html#msleep">QThread</a><li>multiLinesEnabled:
+ <a href="qlistviewitem.html#multiLinesEnabled">QListViewItem</a><li>mutex:
+ <a href="qmutexlocker.html#mutex">QMutexLocker</a><li><a name="n"></a>
+name:
+ <a href="qcolor.html#name">QColor</a> <a href="qdomattr.html#name">QDomAttr</a> <a href="qdomdocumenttype.html#name">QDomDocumentType</a> <a href="qfile.html#name">QFile</a> <a href="qlocale.html#name">QLocale</a> <a href="qmetaproperty.html#name">QMetaProperty</a> <a href="qobject.html#name">QObject</a> <a href="qsqlcursor.html#name">QSqlCursor</a> <a href="qsqlfield.html#name">QSqlField</a> <a href="qsqlfieldinfo.html#name">QSqlFieldInfo</a> <a href="qsqlindex.html#name">QSqlIndex</a> <a href="qstylesheetitem.html#name">QStyleSheetItem</a> <a href="qtextcodec.html#name">QTextCodec</a> <a href="qurlinfo.html#name">QUrlInfo</a> <a href="qwswindow.html#name">QWSWindow</a><li>nameFilter:
+ <a href="qdir.html#nameFilter">QDir</a> <a href="qurloperator.html#nameFilter">QUrlOperator</a><li>nameToType:
+ <a href="qvariant.html#nameToType">QVariant</a><li>namedItem:
+ <a href="qdomnamednodemap.html#namedItem">QDomNamedNodeMap</a> <a href="qdomnode.html#namedItem">QDomNode</a><li>namedItemNS:
+ <a href="qdomnamednodemap.html#namedItemNS">QDomNamedNodeMap</a><li>names:
+ <a href="qtextcodecplugin.html#names">QTextCodecPlugin</a><li>namespaceURI:
+ <a href="qdomnode.html#namespaceURI">QDomNode</a><li>navigate:
+ <a href="qaccessibleinterface.html#navigate">QAccessibleInterface</a><li>newChannel:
+ <a href="qwsserver.html#newChannel">QWSServer</a><li>newChild:
+ <a href="qnetworkprotocol.html#newChild">QNetworkProtocol</a><li>newChildren:
+ <a href="qnetworkprotocol.html#newChildren">QNetworkProtocol</a> <a href="qurloperator.html#newChildren">QUrlOperator</a><li>newConnection:
+ <a href="qserversocket.html#newConnection">QServerSocket</a><li>newInstance:
+ <a href="qnplugin.html#newInstance">QNPlugin</a><li>newItem:
+ <a href="qptrcollection.html#newItem">QPtrCollection</a><li>newLine:
+ <a href="qdockwindow.html#newLine">QDockWindow</a> <a href="qmultilineedit.html#newLine">QMultiLineEdit</a><li>newPage:
+ <a href="qprinter.html#newPage">QPrinter</a><li>newStream:
+ <a href="qnpinstance.html#newStream">QNPInstance</a><li>newStreamCreated:
+ <a href="qnpinstance.html#newStreamCreated">QNPInstance</a><li>newWindow:
+ <a href="qnpinstance.html#newWindow">QNPInstance</a><li>next:
+ <a href="qdatabrowser.html#next">QDataBrowser</a> <a href="qfocusdata.html#next">QFocusData</a> <a href="qglayoutiterator.html#next">QGLayoutIterator</a> <a href="qlistboxitem.html#next">QListBoxItem</a> <a href="qptrlist.html#next">QPtrList</a> <a href="qsqlquery.html#next">QSqlQuery</a> <a href="qwizard.html#next">QWizard</a> <a href="qxmlinputsource.html#next">QXmlInputSource</a><li>nextButton:
+ <a href="qwizard.html#nextButton">QWizard</a><li>nextItem:
+ <a href="qiconviewitem.html#nextItem">QIconViewItem</a><li>nextLine:
+ <a href="qscrollbar.html#nextLine">QScrollBar</a><li>nextPage:
+ <a href="qscrollbar.html#nextPage">QScrollBar</a><li>nextRecordAvailable:
+ <a href="qdatabrowser.html#nextRecordAvailable">QDataBrowser</a><li>nextSibling:
+ <a href="qdomnode.html#nextSibling">QDomNode</a> <a href="qlistviewitem.html#nextSibling">QListViewItem</a><li>nodeName:
+ <a href="qdomnode.html#nodeName">QDomNode</a><li>nodeType:
+ <a href="qdomattr.html#nodeType">QDomAttr</a> <a href="qdomcdatasection.html#nodeType">QDomCDATASection</a> <a href="qdomcharacterdata.html#nodeType">QDomCharacterData</a> <a href="qdomcomment.html#nodeType">QDomComment</a> <a href="qdomdocument.html#nodeType">QDomDocument</a> <a href="qdomdocumentfragment.html#nodeType">QDomDocumentFragment</a> <a href="qdomdocumenttype.html#nodeType">QDomDocumentType</a> <a href="qdomelement.html#nodeType">QDomElement</a> <a href="qdomentity.html#nodeType">QDomEntity</a> <a href="qdomentityreference.html#nodeType">QDomEntityReference</a> <a href="qdomnode.html#nodeType">QDomNode</a> <a href="qdomnotation.html#nodeType">QDomNotation</a> <a href="qdomprocessinginstruction.html#nodeType">QDomProcessingInstruction</a> <a href="qdomtext.html#nodeType">QDomText</a><li>nodeValue:
+ <a href="qdomnode.html#nodeValue">QDomNode</a><li>normalExit:
+ <a href="qprocess.html#normalExit">QProcess</a><li>normalize:
+ <a href="qdomnode.html#normalize">QDomNode</a> <a href="qrect.html#normalize">QRect</a><li>normalizeSignalSlot:
+ <a href="qobject.html#normalizeSignalSlot">QObject</a><li>notationDecl:
+ <a href="qxmldtdhandler.html#notationDecl">QXmlDTDHandler</a><li>notationName:
+ <a href="qdomentity.html#notationName">QDomEntity</a><li>notations:
+ <a href="qdomdocumenttype.html#notations">QDomDocumentType</a><li>notchSize:
+ <a href="qdial.html#notchSize">QDial</a><li>notchTarget:
+ <a href="qdial.html#notchTarget">QDial</a><li>notchesVisible:
+ <a href="qdial.html#notchesVisible">QDial</a><li>notify:
+ <a href="qapplication.html#notify">QApplication</a><li>notifyURL:
+ <a href="qnpinstance.html#notifyURL">QNPInstance</a><li>nrefs:
+ <a href="qmemarray.html#nrefs">QMemArray</a><li>nullText:
+ <a href="qdatatable.html#nullText">QDataTable</a> <a href="qsqldriver.html#nullText">QSqlDriver</a><li>numBitPlanes:
+ <a href="qcolor.html#numBitPlanes">QColor</a><li>numBytes:
+ <a href="qimage.html#numBytes">QImage</a><li>numCaptures:
+ <a href="qregexp.html#numCaptures">QRegExp</a><li>numClassInfo:
+ <a href="qmetaobject.html#numClassInfo">QMetaObject</a><li>numColors:
+ <a href="qimage.html#numColors">QImage</a> <a href="qpaintdevicemetrics.html#numColors">QPaintDeviceMetrics</a><li>numCols:
+ <a href="qdatatable.html#numCols">QDataTable</a> <a href="qgridlayout.html#numCols">QGridLayout</a> <a href="qgridview.html#numCols">QGridView</a> <a href="qscreen.html#numCols">QScreen</a> <a href="qtable.html#numCols">QTable</a> <a href="qtableselection.html#numCols">QTableSelection</a><li>numColumns:
+ <a href="qlistbox.html#numColumns">QListBox</a><li>numCopies:
+ <a href="qprinter.html#numCopies">QPrinter</a><li>numDigits:
+ <a href="qlcdnumber.html#numDigits">QLCDNumber</a><li>numItemsVisible:
+ <a href="qlistbox.html#numItemsVisible">QListBox</a><li>numLines:
+ <a href="qmultilineedit.html#numLines">QMultiLineEdit</a><li>numProperties:
+ <a href="qmetaobject.html#numProperties">QMetaObject</a><li>numRects:
+ <a href="qdirectpainter.html#numRects">QDirectPainter</a><li>numRows:
+ <a href="qdatatable.html#numRows">QDataTable</a> <a href="qgridlayout.html#numRows">QGridLayout</a> <a href="qgridview.html#numRows">QGridView</a> <a href="qlistbox.html#numRows">QListBox</a> <a href="qtable.html#numRows">QTable</a> <a href="qtableselection.html#numRows">QTableSelection</a><li>numRowsAffected:
+ <a href="qsqlquery.html#numRowsAffected">QSqlQuery</a> <a href="qsqlresult.html#numRowsAffected">QSqlResult</a><li>numScreens:
+ <a href="qdesktopwidget.html#numScreens">QDesktopWidget</a><li>numSelections:
+ <a href="qtable.html#numSelections">QTable</a><li>numSignals:
+ <a href="qmetaobject.html#numSignals">QMetaObject</a><li>numSlots:
+ <a href="qmetaobject.html#numSlots">QMetaObject</a><li>number:
+ <a href="qsqlerror.html#number">QSqlError</a> <a href="qstring.html#number">QString</a><li><a name="o"></a>
+object:
+ <a href="qaccessibleobject.html#object">QAccessibleObject</a> <a href="qaxaggregated.html#object">QAxAggregated</a><li>objectTrees:
+ <a href="qobject.html#objectTrees">QObject</a><li>offset:
+ <a href="qdirectpainter.html#offset">QDirectPainter</a> <a href="qdockwindow.html#offset">QDockWindow</a> <a href="qheader.html#offset">QHeader</a> <a href="qimage.html#offset">QImage</a><li>offsetX:
+ <a href="qcanvaspixmap.html#offsetX">QCanvasPixmap</a><li>offsetY:
+ <a href="qcanvaspixmap.html#offsetY">QCanvasPixmap</a><li>ok:
+ <a href="qserversocket.html#ok">QServerSocket</a><li>okRename:
+ <a href="qlistviewitem.html#okRename">QListViewItem</a><li>okay:
+ <a href="qnpstream.html#okay">QNPStream</a><li>oldPos:
+ <a href="qmoveevent.html#oldPos">QMoveEvent</a><li>oldSize:
+ <a href="qresizeevent.html#oldSize">QResizeEvent</a><li>onCanvas:
+ <a href="qcanvas.html#onCanvas">QCanvas</a><li>onCard:
+ <a href="qscreen.html#onCard">QScreen</a><li>onItem:
+ <a href="qiconview.html#onItem">QIconView</a> <a href="qlistbox.html#onItem">QListBox</a> <a href="qlistview.html#onItem">QListView</a><li>onViewport:
+ <a href="qiconview.html#onViewport">QIconView</a> <a href="qlistbox.html#onViewport">QListBox</a> <a href="qlistview.html#onViewport">QListView</a><li>opType:
+ <a href="qscreen.html#opType">QScreen</a><li>opaqueMoving:
+ <a href="qdockwindow.html#opaqueMoving">QDockWindow</a> <a href="qmainwindow.html#opaqueMoving">QMainWindow</a><li>opaqueResize:
+ <a href="qsplitter.html#opaqueResize">QSplitter</a><li>open:
+ <a href="qfile.html#open">QFile</a> <a href="qiodevice.html#open">QIODevice</a> <a href="qsocket.html#open">QSocket</a> <a href="qsqldatabase.html#open">QSqlDatabase</a> <a href="qsqldriver.html#open">QSqlDriver</a><li>openAssistant:
+ <a href="qassistantclient.html#openAssistant">QAssistantClient</a><li>openKeyboard:
+ <a href="qwsserver.html#openKeyboard">QWSServer</a><li>openMouse:
+ <a href="qwsserver.html#openMouse">QWSServer</a><li>openPopup:
+ <a href="qtoolbutton.html#openPopup">QToolButton</a><li>operation:
+ <a href="qnetworkoperation.html#operation">QNetworkOperation</a><li>operationGet:
+ <a href="qnetworkprotocol.html#operationGet">QNetworkProtocol</a><li>operationInProgress:
+ <a href="qnetworkprotocol.html#operationInProgress">QNetworkProtocol</a><li>operationListChildren:
+ <a href="qnetworkprotocol.html#operationListChildren">QNetworkProtocol</a><li>operationMkDir:
+ <a href="qnetworkprotocol.html#operationMkDir">QNetworkProtocol</a><li>operationPut:
+ <a href="qnetworkprotocol.html#operationPut">QNetworkProtocol</a><li>operationRemove:
+ <a href="qnetworkprotocol.html#operationRemove">QNetworkProtocol</a><li>operationRename:
+ <a href="qnetworkprotocol.html#operationRename">QNetworkProtocol</a><li>operator QString:
+ <a href="qkeysequence.html#operator-QString">QKeySequence</a> <a href="qurl.html#operator-QString">QUrl</a> <a href="quuid.html#operator-QString">QUuid</a><li>operator T:
+ <a href="qdeepcopy.html#operator-T">QDeepCopy</a><li>operator T *:
+ <a href="qguardedptr.html#operator-T-*">QGuardedPtr</a><li>operator char:
+ <a href="qchar.html#operator-char">QChar</a><li>operator const char *:
+ <a href="qcstring.html#operator-const-char-*">QCString</a> <a href="qstring.html#operator-const-char-*">QString</a><li>operator const type *:
+ <a href="qmemarray.html#operator-const-type-*">QMemArray</a><li>operator int:
+ <a href="qbitval.html#operator-int">QBitVal</a><li>operator std::string:
+ <a href="qstring.html#operator-std::string">QString</a><li>operator type *:
+ <a href="qasciicacheiterator.html#operator-type-*">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#operator-type-*">QAsciiDictIterator</a> <a href="qcacheiterator.html#operator-type-*">QCacheIterator</a> <a href="qdictiterator.html#operator-type-*">QDictIterator</a> <a href="qintcacheiterator.html#operator-type-*">QIntCacheIterator</a> <a href="qintdictiterator.html#operator-type-*">QIntDictIterator</a> <a href="qptrdictiterator.html#operator-type-*">QPtrDictIterator</a> <a href="qptrlistiterator.html#operator-type-*">QPtrListIterator</a> <a href="qptrqueue.html#operator-type-*">QPtrQueue</a> <a href="qptrstack.html#operator-type-*">QPtrStack</a><li>operator!:
+ <a href="qstring.html#operator!">QString</a><li>operator!=:
+ <a href="qbrush.html#operator!-eq">QBrush</a> <a href="qcstring.html#operator!-eq">QCString</a> <a href="qchar.html#operator!-eq">QChar</a> <a href="qcolor.html#operator!-eq">QColor</a> <a href="qcolorgroup.html#operator!-eq">QColorGroup</a> <a href="qdate.html#operator!-eq">QDate</a> <a href="qdatetime.html#operator!-eq">QDateTime</a> <a href="qdir.html#operator!-eq">QDir</a> <a href="qdomimplementation.html#operator!-eq">QDomImplementation</a> <a href="qdomnamednodemap.html#operator!-eq">QDomNamedNodeMap</a> <a href="qdomnode.html#operator!-eq">QDomNode</a> <a href="qdomnodelist.html#operator!-eq">QDomNodeList</a> <a href="qfont.html#operator!-eq">QFont</a> <a href="qguardedptr.html#operator!-eq">QGuardedPtr</a> <a href="qimage.html#operator!-eq">QImage</a> <a href="qkeysequence.html#operator!-eq">QKeySequence</a> <a href="qmapconstiterator.html#operator!-eq">QMapConstIterator</a> <a href="qmapiterator.html#operator!-eq">QMapIterator</a> <a href="qmemarray.html#operator!-eq">QMemArray</a> <a href="qpalette.html#operator!-eq">QPalette</a> <a href="qpen.html#operator!-eq">QPen</a> <a href="qpoint.html#operator!-eq">QPoint</a> <a href="qptrlist.html#operator!-eq">QPtrList</a> <a href="qrect.html#operator!-eq">QRect</a> <a href="qregexp.html#operator!-eq">QRegExp</a> <a href="qregion.html#operator!-eq">QRegion</a> <a href="qsize.html#operator!-eq">QSize</a> <a href="qsizepolicy.html#operator!-eq">QSizePolicy</a> <a href="qstring.html#operator!-eq">QString</a> <a href="qtableselection.html#operator!-eq">QTableSelection</a> <a href="qtime.html#operator!-eq">QTime</a> <a href="qtranslatormessage.html#operator!-eq">QTranslatorMessage</a> <a href="quuid.html#operator!-eq">QUuid</a> <a href="qvaluelist.html#operator!-eq">QValueList</a> <a href="qvaluelistconstiterator.html#operator!-eq">QValueListConstIterator</a> <a href="qvaluelistiterator.html#operator!-eq">QValueListIterator</a> <a href="qvariant.html#operator!-eq">QVariant</a> <a href="qwmatrix.html#operator!-eq">QWMatrix</a><li>operator&amp;:
+ <a href="qbitarray.html#operator-and">QBitArray</a> <a href="qrect.html#operator-and">QRect</a> <a href="qregion.html#operator-and">QRegion</a><li>operator&amp;=:
+ <a href="qbitarray.html#operator-and-eq">QBitArray</a> <a href="qrect.html#operator-and-eq">QRect</a> <a href="qregion.html#operator-and-eq">QRegion</a><li>operator():
+ <a href="qasciicacheiterator.html#operator()">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#operator()">QAsciiDictIterator</a> <a href="qcacheiterator.html#operator()">QCacheIterator</a> <a href="qdictiterator.html#operator()">QDictIterator</a> <a href="qintcacheiterator.html#operator()">QIntCacheIterator</a> <a href="qintdictiterator.html#operator()">QIntDictIterator</a> <a href="qptrdictiterator.html#operator()">QPtrDictIterator</a> <a href="qptrlistiterator.html#operator()">QPtrListIterator</a><li>operator*:
+ <a href="qguardedptr.html#operator*">QGuardedPtr</a> <a href="qlistviewitemiterator.html#operator*">QListViewItemIterator</a> <a href="qmapconstiterator.html#operator*">QMapConstIterator</a> <a href="qmapiterator.html#operator*">QMapIterator</a> <a href="qpoint.html#operator*">QPoint</a> <a href="qptrlistiterator.html#operator*">QPtrListIterator</a> <a href="qsize.html#operator*">QSize</a> <a href="qvaluelistconstiterator.html#operator*">QValueListConstIterator</a> <a href="qvaluelistiterator.html#operator*">QValueListIterator</a><li>operator*=:
+ <a href="qpoint.html#operator*-eq">QPoint</a> <a href="qsize.html#operator*-eq">QSize</a> <a href="qwmatrix.html#operator*-eq">QWMatrix</a><li>operator+:
+ <a href="qcstring.html#operator+">QCString</a> <a href="qcanvasitemlist.html#operator+">QCanvasItemList</a> <a href="qpoint.html#operator+">QPoint</a> <a href="qregion.html#operator+">QRegion</a> <a href="qsize.html#operator+">QSize</a> <a href="qstring.html#operator+">QString</a> <a href="qvaluelist.html#operator+">QValueList</a><li>operator++:
+ <a href="qasciicacheiterator.html#operator++">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#operator++">QAsciiDictIterator</a> <a href="qcacheiterator.html#operator++">QCacheIterator</a> <a href="qdictiterator.html#operator++">QDictIterator</a> <a href="qintcacheiterator.html#operator++">QIntCacheIterator</a> <a href="qintdictiterator.html#operator++">QIntDictIterator</a> <a href="qlayoutiterator.html#operator++">QLayoutIterator</a> <a href="qlistviewitemiterator.html#operator++">QListViewItemIterator</a> <a href="qmapconstiterator.html#operator++">QMapConstIterator</a> <a href="qmapiterator.html#operator++">QMapIterator</a> <a href="qptrdictiterator.html#operator++">QPtrDictIterator</a> <a href="qptrlistiterator.html#operator++">QPtrListIterator</a> <a href="qsemaphore.html#operator++">QSemaphore</a> <a href="qvaluelistconstiterator.html#operator++">QValueListConstIterator</a> <a href="qvaluelistiterator.html#operator++">QValueListIterator</a><li>operator+=:
+ <a href="qasciicacheiterator.html#operator+-eq">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#operator+-eq">QAsciiDictIterator</a> <a href="qcstring.html#operator+-eq">QCString</a> <a href="qcacheiterator.html#operator+-eq">QCacheIterator</a> <a href="qintcacheiterator.html#operator+-eq">QIntCacheIterator</a> <a href="qintdictiterator.html#operator+-eq">QIntDictIterator</a> <a href="qlistviewitemiterator.html#operator+-eq">QListViewItemIterator</a> <a href="qpoint.html#operator+-eq">QPoint</a> <a href="qptrdictiterator.html#operator+-eq">QPtrDictIterator</a> <a href="qptrlistiterator.html#operator+-eq">QPtrListIterator</a> <a href="qregion.html#operator+-eq">QRegion</a> <a href="qsemaphore.html#operator+-eq">QSemaphore</a> <a href="qsize.html#operator+-eq">QSize</a> <a href="qstring.html#operator+-eq">QString</a> <a href="qvaluelist.html#operator+-eq">QValueList</a> <a href="qvaluelistiterator.html#operator+-eq">QValueListIterator</a><li>operator-:
+ <a href="qpoint.html#operator-">QPoint</a> <a href="qregion.html#operator-">QRegion</a> <a href="qsize.html#operator-">QSize</a><li>operator--:
+ <a href="qasciicacheiterator.html#operator--">QAsciiCacheIterator</a> <a href="qcacheiterator.html#operator--">QCacheIterator</a> <a href="qintcacheiterator.html#operator--">QIntCacheIterator</a> <a href="qlistviewitemiterator.html#operator--">QListViewItemIterator</a> <a href="qmapconstiterator.html#operator--">QMapConstIterator</a> <a href="qmapiterator.html#operator--">QMapIterator</a> <a href="qptrlistiterator.html#operator--">QPtrListIterator</a> <a href="qsemaphore.html#operator--">QSemaphore</a> <a href="qvaluelistconstiterator.html#operator--">QValueListConstIterator</a> <a href="qvaluelistiterator.html#operator--">QValueListIterator</a><li>operator-=:
+ <a href="qasciicacheiterator.html#operator--eq">QAsciiCacheIterator</a> <a href="qcacheiterator.html#operator--eq">QCacheIterator</a> <a href="qintcacheiterator.html#operator--eq">QIntCacheIterator</a> <a href="qlistviewitemiterator.html#operator--eq">QListViewItemIterator</a> <a href="qpoint.html#operator--eq">QPoint</a> <a href="qptrlistiterator.html#operator--eq">QPtrListIterator</a> <a href="qregion.html#operator--eq">QRegion</a> <a href="qsemaphore.html#operator--eq">QSemaphore</a> <a href="qsize.html#operator--eq">QSize</a> <a href="qvaluelistiterator.html#operator--eq">QValueListIterator</a><li>operator-&gt;:
+ <a href="qguardedptr.html#operator--gt">QGuardedPtr</a><li>operator/:
+ <a href="qpoint.html#operator/">QPoint</a> <a href="qsize.html#operator/">QSize</a><li>operator/=:
+ <a href="qpoint.html#operator/-eq">QPoint</a> <a href="qsize.html#operator/-eq">QSize</a><li>operator&lt;:
+ <a href="qcstring.html#operator-lt">QCString</a> <a href="qchar.html#operator-lt">QChar</a> <a href="qdate.html#operator-lt">QDate</a> <a href="qdatetime.html#operator-lt">QDateTime</a> <a href="qstring.html#operator-lt">QString</a> <a href="qtime.html#operator-lt">QTime</a> <a href="qtranslatormessage.html#operator-lt">QTranslatorMessage</a> <a href="quuid.html#operator-lt">QUuid</a><li>operator&lt;&lt;:
+ <a href="qbitarray.html#operator-lt-lt">QBitArray</a> <a href="qbrush.html#operator-lt-lt">QBrush</a> <a href="qcstring.html#operator-lt-lt">QCString</a> <a href="qcolor.html#operator-lt-lt">QColor</a> <a href="qcolorgroup.html#operator-lt-lt">QColorGroup</a> <a href="qcursor.html#operator-lt-lt">QCursor</a> <a href="qdatastream.html#operator-lt-lt">QDataStream</a> <a href="qdate.html#operator-lt-lt">QDate</a> <a href="qdatetime.html#operator-lt-lt">QDateTime</a> <a href="qdockarea.html#operator-lt-lt">QDockArea</a> <a href="qdomnode.html#operator-lt-lt">QDomNode</a> <a href="qfont.html#operator-lt-lt">QFont</a> <a href="qimage.html#operator-lt-lt">QImage</a> <a href="qkeysequence.html#operator-lt-lt">QKeySequence</a> <a href="qmainwindow.html#operator-lt-lt">QMainWindow</a> <a href="qmap.html#operator-lt-lt">QMap</a> <a href="qmemarray.html#operator-lt-lt">QMemArray</a> <a href="qpalette.html#operator-lt-lt">QPalette</a> <a href="qpen.html#operator-lt-lt">QPen</a> <a href="qpicture.html#operator-lt-lt">QPicture</a> <a href="qpixmap.html#operator-lt-lt">QPixmap</a> <a href="qpoint.html#operator-lt-lt">QPoint</a> <a href="qpointarray.html#operator-lt-lt">QPointArray</a> <a href="qrect.html#operator-lt-lt">QRect</a> <a href="qregion.html#operator-lt-lt">QRegion</a> <a href="qsize.html#operator-lt-lt">QSize</a> <a href="qsplitter.html#operator-lt-lt">QSplitter</a> <a href="qstring.html#operator-lt-lt">QString</a> <a href="qtextstream.html#operator-lt-lt">QTextStream</a> <a href="qtime.html#operator-lt-lt">QTime</a> <a href="quuid.html#operator-lt-lt">QUuid</a> <a href="qvaluelist.html#operator-lt-lt">QValueList</a> <a href="qwmatrix.html#operator-lt-lt">QWMatrix</a><li>operator&lt;=:
+ <a href="qcstring.html#operator-lt-eq">QCString</a> <a href="qchar.html#operator-lt-eq">QChar</a> <a href="qdate.html#operator-lt-eq">QDate</a> <a href="qdatetime.html#operator-lt-eq">QDateTime</a> <a href="qstring.html#operator-lt-eq">QString</a> <a href="qtime.html#operator-lt-eq">QTime</a> <a href="qtranslatormessage.html#operator-lt-eq">QTranslatorMessage</a><li>operator=:
+ <a href="qasciicacheiterator.html#operator-eq">QAsciiCacheIterator</a> <a href="qasciidict.html#operator-eq">QAsciiDict</a> <a href="qbitarray.html#operator-eq">QBitArray</a> <a href="qbitval.html#operator-eq">QBitVal</a> <a href="qbitmap.html#operator-eq">QBitmap</a> <a href="qbrush.html#operator-eq">QBrush</a> <a href="qcstring.html#operator-eq">QCString</a> <a href="qcacheiterator.html#operator-eq">QCacheIterator</a> <a href="qcolor.html#operator-eq">QColor</a> <a href="qcolorgroup.html#operator-eq">QColorGroup</a> <a href="qcursor.html#operator-eq">QCursor</a> <a href="qdeepcopy.html#operator-eq">QDeepCopy</a> <a href="qdict.html#operator-eq">QDict</a> <a href="qdir.html#operator-eq">QDir</a> <a href="qdomattr.html#operator-eq">QDomAttr</a> <a href="qdomcdatasection.html#operator-eq">QDomCDATASection</a> <a href="qdomcharacterdata.html#operator-eq">QDomCharacterData</a> <a href="qdomcomment.html#operator-eq">QDomComment</a> <a href="qdomdocument.html#operator-eq">QDomDocument</a> <a href="qdomdocumentfragment.html#operator-eq">QDomDocumentFragment</a> <a href="qdomdocumenttype.html#operator-eq">QDomDocumentType</a> <a href="qdomelement.html#operator-eq">QDomElement</a> <a href="qdomentity.html#operator-eq">QDomEntity</a> <a href="qdomentityreference.html#operator-eq">QDomEntityReference</a> <a href="qdomimplementation.html#operator-eq">QDomImplementation</a> <a href="qdomnamednodemap.html#operator-eq">QDomNamedNodeMap</a> <a href="qdomnode.html#operator-eq">QDomNode</a> <a href="qdomnodelist.html#operator-eq">QDomNodeList</a> <a href="qdomnotation.html#operator-eq">QDomNotation</a> <a href="qdomprocessinginstruction.html#operator-eq">QDomProcessingInstruction</a> <a href="qdomtext.html#operator-eq">QDomText</a> <a href="qfileinfo.html#operator-eq">QFileInfo</a> <a href="qfont.html#operator-eq">QFont</a> <a href="qfontinfo.html#operator-eq">QFontInfo</a> <a href="qfontmetrics.html#operator-eq">QFontMetrics</a> <a href="qglcolormap.html#operator-eq">QGLColormap</a> <a href="qguardedptr.html#operator-eq">QGuardedPtr</a> <a href="qhostaddress.html#operator-eq">QHostAddress</a> <a href="qhttpheader.html#operator-eq">QHttpHeader</a> <a href="qiconset.html#operator-eq">QIconSet</a> <a href="qimage.html#operator-eq">QImage</a> <a href="qintcacheiterator.html#operator-eq">QIntCacheIterator</a> <a href="qintdict.html#operator-eq">QIntDict</a> <a href="http://www.kbuxton.com/discordia/fnord.html">fnord</a> <a href="qkeysequence.html#operator-eq">QKeySequence</a> <a href="qlayoutiterator.html#operator-eq">QLayoutIterator</a> <a href="qlistviewitemiterator.html#operator-eq">QListViewItemIterator</a> <a href="qlocale.html#operator-eq">QLocale</a> <a href="qmap.html#operator-eq">QMap</a> <a href="qmemarray.html#operator-eq">QMemArray</a> <a href="qmovie.html#operator-eq">QMovie</a> <a href="qobjectlist.html#operator-eq">QObjectList</a> <a href="qobjectlistiterator.html#operator-eq">QObjectListIterator</a> QPair <a href="qpalette.html#operator-eq">QPalette</a> <a href="qpen.html#operator-eq">QPen</a> <a href="qpicture.html#operator-eq">QPicture</a> <a href="qpixmap.html#operator-eq">QPixmap</a> <a href="qpointarray.html#operator-eq">QPointArray</a> <a href="qptrdict.html#operator-eq">QPtrDict</a> <a href="qptrlist.html#operator-eq">QPtrList</a> <a href="qptrlistiterator.html#operator-eq">QPtrListIterator</a> <a href="qptrqueue.html#operator-eq">QPtrQueue</a> <a href="qptrstack.html#operator-eq">QPtrStack</a> <a href="qptrvector.html#operator-eq">QPtrVector</a> <a href="qregexp.html#operator-eq">QRegExp</a> <a href="qregion.html#operator-eq">QRegion</a> <a href="qsortedlist.html#operator-eq">QSortedList</a> <a href="qsqlcursor.html#operator-eq">QSqlCursor</a> <a href="qsqlerror.html#operator-eq">QSqlError</a> <a href="qsqlfield.html#operator-eq">QSqlField</a> <a href="qsqlfieldinfo.html#operator-eq">QSqlFieldInfo</a> <a href="qsqlindex.html#operator-eq">QSqlIndex</a> <a href="qsqlquery.html#operator-eq">QSqlQuery</a> <a href="qsqlrecord.html#operator-eq">QSqlRecord</a> <a href="qstrlist.html#operator-eq">QStrList</a> <a href="qstring.html#operator-eq">QString</a> <a href="qstylesheetitem.html#operator-eq">QStyleSheetItem</a> <a href="qtranslatormessage.html#operator-eq">QTranslatorMessage</a> <a href="qurl.html#operator-eq">QUrl</a> <a href="qurlinfo.html#operator-eq">QUrlInfo</a> <a href="quuid.html#operator-eq">QUuid</a> <a href="qvaluelist.html#operator-eq">QValueList</a> <a href="qvaluevector.html#operator-eq">QValueVector</a> <a href="qvariant.html#operator-eq">QVariant</a><li>operator==:
+ <a href="qbrush.html#operator-eq-eq">QBrush</a> <a href="qcstring.html#operator-eq-eq">QCString</a> <a href="qchar.html#operator-eq-eq">QChar</a> <a href="qcolor.html#operator-eq-eq">QColor</a> <a href="qcolorgroup.html#operator-eq-eq">QColorGroup</a> <a href="qdate.html#operator-eq-eq">QDate</a> <a href="qdatetime.html#operator-eq-eq">QDateTime</a> <a href="qdir.html#operator-eq-eq">QDir</a> <a href="qdomimplementation.html#operator-eq-eq">QDomImplementation</a> <a href="qdomnamednodemap.html#operator-eq-eq">QDomNamedNodeMap</a> <a href="qdomnode.html#operator-eq-eq">QDomNode</a> <a href="qdomnodelist.html#operator-eq-eq">QDomNodeList</a> <a href="qfont.html#operator-eq-eq">QFont</a> <a href="qguardedptr.html#operator-eq-eq">QGuardedPtr</a> <a href="qhostaddress.html#operator-eq-eq">QHostAddress</a> <a href="qimage.html#operator-eq-eq">QImage</a> <a href="qkeysequence.html#operator-eq-eq">QKeySequence</a> <a href="qmapconstiterator.html#operator-eq-eq">QMapConstIterator</a> <a href="qmapiterator.html#operator-eq-eq">QMapIterator</a> <a href="qmemarray.html#operator-eq-eq">QMemArray</a> <a href="qpalette.html#operator-eq-eq">QPalette</a> <a href="qpen.html#operator-eq-eq">QPen</a> <a href="qpoint.html#operator-eq-eq">QPoint</a> <a href="qptrlist.html#operator-eq-eq">QPtrList</a> <a href="qptrvector.html#operator-eq-eq">QPtrVector</a> <a href="qrect.html#operator-eq-eq">QRect</a> <a href="qregexp.html#operator-eq-eq">QRegExp</a> <a href="qregion.html#operator-eq-eq">QRegion</a> <a href="qsize.html#operator-eq-eq">QSize</a> <a href="qsizepolicy.html#operator-eq-eq">QSizePolicy</a> <a href="qsqlfield.html#operator-eq-eq">QSqlField</a> <a href="qsqlfieldinfo.html#operator-eq-eq">QSqlFieldInfo</a> <a href="qstring.html#operator-eq-eq">QString</a> <a href="qtableselection.html#operator-eq-eq">QTableSelection</a> <a href="qtime.html#operator-eq-eq">QTime</a> <a href="qtranslatormessage.html#operator-eq-eq">QTranslatorMessage</a> <a href="qurl.html#operator-eq-eq">QUrl</a> <a href="qurlinfo.html#operator-eq-eq">QUrlInfo</a> <a href="quuid.html#operator-eq-eq">QUuid</a> <a href="qvaluelist.html#operator-eq-eq">QValueList</a> <a href="qvaluelistconstiterator.html#operator-eq-eq">QValueListConstIterator</a> <a href="qvaluelistiterator.html#operator-eq-eq">QValueListIterator</a> <a href="qvaluevector.html#operator-eq-eq">QValueVector</a> <a href="qvariant.html#operator-eq-eq">QVariant</a> <a href="qwmatrix.html#operator-eq-eq">QWMatrix</a><li>operator&gt;:
+ <a href="qcstring.html#operator-gt">QCString</a> <a href="qchar.html#operator-gt">QChar</a> <a href="qdate.html#operator-gt">QDate</a> <a href="qdatetime.html#operator-gt">QDateTime</a> <a href="qstring.html#operator-gt">QString</a> <a href="qtime.html#operator-gt">QTime</a> <a href="qtranslatormessage.html#operator-gt">QTranslatorMessage</a> <a href="quuid.html#operator-gt">QUuid</a><li>operator&gt;=:
+ <a href="qcstring.html#operator-gt-eq">QCString</a> <a href="qchar.html#operator-gt-eq">QChar</a> <a href="qdate.html#operator-gt-eq">QDate</a> <a href="qdatetime.html#operator-gt-eq">QDateTime</a> <a href="qstring.html#operator-gt-eq">QString</a> <a href="qtime.html#operator-gt-eq">QTime</a> <a href="qtranslatormessage.html#operator-gt-eq">QTranslatorMessage</a><li>operator&gt;&gt;:
+ <a href="qbitarray.html#operator-gt-gt">QBitArray</a> <a href="qbrush.html#operator-gt-gt">QBrush</a> <a href="qcstring.html#operator-gt-gt">QCString</a> <a href="qcolor.html#operator-gt-gt">QColor</a> <a href="qcursor.html#operator-gt-gt">QCursor</a> <a href="qdatastream.html#operator-gt-gt">QDataStream</a> <a href="qdate.html#operator-gt-gt">QDate</a> <a href="qdatetime.html#operator-gt-gt">QDateTime</a> <a href="qdockarea.html#operator-gt-gt">QDockArea</a> <a href="qfont.html#operator-gt-gt">QFont</a> <a href="qimage.html#operator-gt-gt">QImage</a> <a href="qkeysequence.html#operator-gt-gt">QKeySequence</a> <a href="qmainwindow.html#operator-gt-gt">QMainWindow</a> <a href="qmap.html#operator-gt-gt">QMap</a> <a href="qmemarray.html#operator-gt-gt">QMemArray</a> <a href="qpalette.html#operator-gt-gt">QPalette</a> <a href="qpen.html#operator-gt-gt">QPen</a> <a href="qpicture.html#operator-gt-gt">QPicture</a> <a href="qpixmap.html#operator-gt-gt">QPixmap</a> <a href="qpoint.html#operator-gt-gt">QPoint</a> <a href="qpointarray.html#operator-gt-gt">QPointArray</a> <a href="qrect.html#operator-gt-gt">QRect</a> <a href="qregion.html#operator-gt-gt">QRegion</a> <a href="qsize.html#operator-gt-gt">QSize</a> <a href="qsplitter.html#operator-gt-gt">QSplitter</a> <a href="qstring.html#operator-gt-gt">QString</a> <a href="qtextstream.html#operator-gt-gt">QTextStream</a> <a href="qtime.html#operator-gt-gt">QTime</a> <a href="quuid.html#operator-gt-gt">QUuid</a> <a href="qvaluelist.html#operator-gt-gt">QValueList</a> <a href="qwmatrix.html#operator-gt-gt">QWMatrix</a><li>operator[]:
+ <a href="qasciicache.html#operator[]">QAsciiCache</a> <a href="qasciidict.html#operator[]">QAsciiDict</a> <a href="qbitarray.html#operator[]">QBitArray</a> <a href="qcache.html#operator[]">QCache</a> <a href="qdict.html#operator[]">QDict</a> <a href="qdir.html#operator[]">QDir</a> <a href="qintcache.html#operator[]">QIntCache</a> <a href="qintdict.html#operator[]">QIntDict</a> <a href="qkeysequence.html#operator[]">QKeySequence</a> <a href="qmap.html#operator[]">QMap</a> <a href="qmemarray.html#operator[]">QMemArray</a> <a href="qptrdict.html#operator[]">QPtrDict</a> <a href="qptrvector.html#operator[]">QPtrVector</a> <a href="qstring.html#operator[]">QString</a> <a href="qvaluelist.html#operator[]">QValueList</a> <a href="qvaluevector.html#operator[]">QValueVector</a><li>operator^:
+ <a href="qbitarray.html#operator^">QBitArray</a> <a href="qregion.html#operator^">QRegion</a><li>operator^=:
+ <a href="qbitarray.html#operator^-eq">QBitArray</a> <a href="qregion.html#operator^-eq">QRegion</a><li>operator|:
+ <a href="qbitarray.html#operator|">QBitArray</a> <a href="qrect.html#operator|">QRect</a> <a href="qregion.html#operator|">QRegion</a><li>operator|=:
+ <a href="qbitarray.html#operator|-eq">QBitArray</a> <a href="qrect.html#operator|-eq">QRect</a> <a href="qregion.html#operator|-eq">QRegion</a><li>operator~:
+ <a href="qbitarray.html#operator~">QBitArray</a><li>optimization:
+ <a href="qpixmap.html#optimization">QPixmap</a><li>order:
+ <a href="qdateedit.html#order">QDateEdit</a><li>orientation:
+ <a href="qdialog.html#orientation">QDialog</a> <a href="qdockarea.html#orientation">QDockArea</a> <a href="qdockwindow.html#orientation">QDockWindow</a> <a href="qgroupbox.html#orientation">QGroupBox</a> <a href="qheader.html#orientation">QHeader</a> <a href="qprinter.html#orientation">QPrinter</a> <a href="qscrollbar.html#orientation">QScrollBar</a> <a href="qslider.html#orientation">QSlider</a> <a href="qsplitter.html#orientation">QSplitter</a> <a href="qwheelevent.html#orientation">QWheelEvent</a><li>orientationChanged:
+ <a href="qdockwindow.html#orientationChanged">QDockWindow</a><li>origin:
+ <a href="qgridlayout.html#origin">QGridLayout</a><li>outputFileName:
+ <a href="qprinter.html#outputFileName">QPrinter</a><li>outputFormatList:
+ <a href="qimage.html#outputFormatList">QImage</a><li>outputFormats:
+ <a href="qimage.html#outputFormats">QImage</a> <a href="qimageio.html#outputFormats">QImageIO</a><li>outputToFile:
+ <a href="qprinter.html#outputToFile">QPrinter</a><li>overflow:
+ <a href="qlcdnumber.html#overflow">QLCDNumber</a><li>overlayContext:
+ <a href="qglwidget.html#overlayContext">QGLWidget</a><li>overlayTransparentColor:
+ <a href="qglcontext.html#overlayTransparentColor">QGLContext</a><li>overline:
+ <a href="qfont.html#overline">QFont</a><li>overlinePos:
+ <a href="qfontmetrics.html#overlinePos">QFontMetrics</a><li>overrideCursor:
+ <a href="qapplication.html#overrideCursor">QApplication</a><li>ownCursor:
+ <a href="qwidget.html#ownCursor">QWidget</a><li>ownFont:
+ <a href="qwidget.html#ownFont">QWidget</a><li>ownPalette:
+ <a href="qwidget.html#ownPalette">QWidget</a><li>owner:
+ <a href="qfileinfo.html#owner">QFileInfo</a> <a href="qurlinfo.html#owner">QUrlInfo</a><li>ownerDocument:
+ <a href="qdomnode.html#ownerDocument">QDomNode</a><li>ownerElement:
+ <a href="qdomattr.html#ownerElement">QDomAttr</a><li>ownerId:
+ <a href="qfileinfo.html#ownerId">QFileInfo</a><li>ownsClipboard:
+ <a href="qclipboard.html#ownsClipboard">QClipboard</a><li>ownsSelection:
+ <a href="qclipboard.html#ownsSelection">QClipboard</a><li><a name="p"></a>
+packImage:
+ <a href="qpngimagepacker.html#packImage">QPNGImagePacker</a><li>page:
+ <a href="qtabwidget.html#page">QTabWidget</a> <a href="qwizard.html#page">QWizard</a><li>pageCount:
+ <a href="qwizard.html#pageCount">QWizard</a><li>pageDown:
+ <a href="qmultilineedit.html#pageDown">QMultiLineEdit</a><li>pageOrder:
+ <a href="qprinter.html#pageOrder">QPrinter</a><li>pageSize:
+ <a href="qprinter.html#pageSize">QPrinter</a><li>pageStep:
+ <a href="qdial.html#pageStep">QDial</a> <a href="qrangecontrol.html#pageStep">QRangeControl</a> <a href="qscrollbar.html#pageStep">QScrollBar</a> <a href="qslider.html#pageStep">QSlider</a><li>pageUp:
+ <a href="qmultilineedit.html#pageUp">QMultiLineEdit</a><li>paint:
+ <a href="qcustommenuitem.html#paint">QCustomMenuItem</a> <a href="qlistboxitem.html#paint">QListBoxItem</a> <a href="qlistboxpixmap.html#paint">QListBoxPixmap</a> <a href="qlistboxtext.html#paint">QListBoxText</a> <a href="qtabbar.html#paint">QTabBar</a> <a href="qtableitem.html#paint">QTableItem</a> <a href="qwsdecoration.html#paint">QWSDecoration</a><li>paintBranches:
+ <a href="qlistviewitem.html#paintBranches">QListViewItem</a><li>paintButton:
+ <a href="qwsdecoration.html#paintButton">QWSDecoration</a><li>paintCell:
+ <a href="qchecklistitem.html#paintCell">QCheckListItem</a> <a href="qgridview.html#paintCell">QGridView</a> <a href="qlistbox.html#paintCell">QListBox</a> <a href="qlistviewitem.html#paintCell">QListViewItem</a> <a href="qtable.html#paintCell">QTable</a><li>paintEmptyArea:
+ <a href="qgridview.html#paintEmptyArea">QGridView</a> <a href="qlistview.html#paintEmptyArea">QListView</a> <a href="qtable.html#paintEmptyArea">QTable</a><li>paintEvent:
+ <a href="qbutton.html#paintEvent">QButton</a> <a href="qframe.html#paintEvent">QFrame</a> <a href="qglwidget.html#paintEvent">QGLWidget</a> <a href="qsizegrip.html#paintEvent">QSizeGrip</a> <a href="qstatusbar.html#paintEvent">QStatusBar</a> <a href="qtabbar.html#paintEvent">QTabBar</a> <a href="qwidget.html#paintEvent">QWidget</a><li>paintField:
+ <a href="qdatatable.html#paintField">QDataTable</a><li>paintFocus:
+ <a href="qchecklistitem.html#paintFocus">QCheckListItem</a> <a href="qiconviewitem.html#paintFocus">QIconViewItem</a> <a href="qlistviewitem.html#paintFocus">QListViewItem</a> <a href="qtable.html#paintFocus">QTable</a><li>paintGL:
+ <a href="qglwidget.html#paintGL">QGLWidget</a><li>paintItem:
+ <a href="qiconviewitem.html#paintItem">QIconViewItem</a><li>paintLabel:
+ <a href="qtabbar.html#paintLabel">QTabBar</a><li>paintOverlayGL:
+ <a href="qglwidget.html#paintOverlayGL">QGLWidget</a><li>paintSection:
+ <a href="qheader.html#paintSection">QHeader</a><li>paintSectionLabel:
+ <a href="qheader.html#paintSectionLabel">QHeader</a><li>paintingActive:
+ <a href="qpaintdevice.html#paintingActive">QPaintDevice</a><li>palette:
+ <a href="qapplication.html#palette">QApplication</a> <a href="qtooltip.html#palette">QToolTip</a> <a href="qwidget.html#palette">QWidget</a><li>paletteBackgroundColor:
+ <a href="qwidget.html#paletteBackgroundColor">QWidget</a><li>paletteBackgroundPixmap:
+ <a href="qwidget.html#paletteBackgroundPixmap">QWidget</a><li>paletteChange:
+ <a href="qwidget.html#paletteChange">QWidget</a><li>paletteForegroundColor:
+ <a href="qwidget.html#paletteForegroundColor">QWidget</a><li>paper:
+ <a href="qtextedit.html#paper">QTextEdit</a><li>paperSource:
+ <a href="qprinter.html#paperSource">QPrinter</a><li>paragraphAt:
+ <a href="qtextedit.html#paragraphAt">QTextEdit</a><li>paragraphBackgroundColor:
+ <a href="qtextedit.html#paragraphBackgroundColor">QTextEdit</a><li>paragraphLength:
+ <a href="qtextedit.html#paragraphLength">QTextEdit</a><li>paragraphRect:
+ <a href="qtextedit.html#paragraphRect">QTextEdit</a><li>paragraphs:
+ <a href="qtextedit.html#paragraphs">QTextEdit</a><li>parameters:
+ <a href="qimageio.html#parameters">QImageIO</a><li>parent:
+ <a href="qlistviewitem.html#parent">QListViewItem</a> <a href="qobject.html#parent">QObject</a><li>parentNode:
+ <a href="qdomnode.html#parentNode">QDomNode</a><li>parentWidget:
+ <a href="qtooltip.html#parentWidget">QToolTip</a> <a href="qwidget.html#parentWidget">QWidget</a><li>parse:
+ <a href="qurl.html#parse">QUrl</a> <a href="qxmlreader.html#parse">QXmlReader</a> <a href="qxmlsimplereader.html#parse">QXmlSimpleReader</a><li>parseContinue:
+ <a href="qxmlsimplereader.html#parseContinue">QXmlSimpleReader</a><li>password:
+ <a href="qsqldatabase.html#password">QSqlDatabase</a> <a href="qurl.html#password">QUrl</a><li>paste:
+ <a href="qlineedit.html#paste">QLineEdit</a> <a href="qtextedit.html#paste">QTextEdit</a><li>pasteSubType:
+ <a href="qtextedit.html#pasteSubType">QTextEdit</a><li>path:
+ <a href="qdir.html#path">QDir</a> <a href="qhttprequestheader.html#path">QHttpRequestHeader</a> <a href="qurl.html#path">QUrl</a><li>pattern:
+ <a href="qregexp.html#pattern">QRegExp</a><li>pause:
+ <a href="qmovie.html#pause">QMovie</a><li>paused:
+ <a href="qmovie.html#paused">QMovie</a><li>peerAddress:
+ <a href="qsocket.html#peerAddress">QSocket</a> <a href="qsocketdevice.html#peerAddress">QSocketDevice</a><li>peerName:
+ <a href="qsocket.html#peerName">QSocket</a><li>peerPort:
+ <a href="qsocket.html#peerPort">QSocket</a> <a href="qsocketdevice.html#peerPort">QSocketDevice</a><li>pen:
+ <a href="qcanvaspolygonalitem.html#pen">QCanvasPolygonalItem</a> <a href="qpainter.html#pen">QPainter</a><li>percentageVisible:
+ <a href="qprogressbar.html#percentageVisible">QProgressBar</a><li>permission:
+ <a href="qfileinfo.html#permission">QFileInfo</a><li>permissions:
+ <a href="qurlinfo.html#permissions">QUrlInfo</a><li>picture:
+ <a href="qiconviewitem.html#picture">QIconViewItem</a> <a href="qlabel.html#picture">QLabel</a><li>pixel:
+ <a href="qcolor.html#pixel">QColor</a> <a href="qimage.html#pixel">QImage</a><li>pixelIndex:
+ <a href="qimage.html#pixelIndex">QImage</a><li>pixelMetric:
+ <a href="qstyle.html#pixelMetric">QStyle</a><li>pixelSize:
+ <a href="qfont.html#pixelSize">QFont</a> <a href="qfontinfo.html#pixelSize">QFontInfo</a><li>pixelType:
+ <a href="qscreen.html#pixelType">QScreen</a><li>pixmap:
+ <a href="qbrush.html#pixmap">QBrush</a> <a href="qbutton.html#pixmap">QButton</a> <a href="qbutton.html#pixmap">QCheckBox</a> <a href="qclipboard.html#pixmap">QClipboard</a> <a href="qcombobox.html#pixmap">QComboBox</a> <a href="qdragobject.html#pixmap">QDragObject</a> <a href="qfileiconprovider.html#pixmap">QFileIconProvider</a> <a href="qiconset.html#pixmap">QIconSet</a> <a href="qiconviewitem.html#pixmap">QIconViewItem</a> <a href="qlabel.html#pixmap">QLabel</a> <a href="qlistbox.html#pixmap">QListBox</a> <a href="qlistboxitem.html#pixmap">QListBoxItem</a> <a href="qlistboxpixmap.html#pixmap">QListBoxPixmap</a> <a href="qlistviewitem.html#pixmap">QListViewItem</a> <a href="qmenudata.html#pixmap">QMenuData</a> <a href="qmenudata.html#pixmap">QPopupMenu</a> <a href="qbutton.html#pixmap">QPushButton</a> <a href="qbutton.html#pixmap">QRadioButton</a> <a href="qsplashscreen.html#pixmap">QSplashScreen</a> <a href="qtable.html#pixmap">QTable</a> <a href="qtableitem.html#pixmap">QTableItem</a><li>pixmapDepth:
+ <a href="qscreen.html#pixmapDepth">QScreen</a><li>pixmapHotSpot:
+ <a href="qdragobject.html#pixmapHotSpot">QDragObject</a><li>pixmapLinestepAlignment:
+ <a href="qscreen.html#pixmapLinestepAlignment">QScreen</a><li>pixmapOffsetAlignment:
+ <a href="qscreen.html#pixmapOffsetAlignment">QScreen</a><li>pixmapRect:
+ <a href="qiconviewitem.html#pixmapRect">QIconViewItem</a><li>pixmapSizeChanged:
+ <a href="qmainwindow.html#pixmapSizeChanged">QMainWindow</a><li>place:
+ <a href="qdockwindow.html#place">QDockWindow</a><li>placeChanged:
+ <a href="qdockwindow.html#placeChanged">QDockWindow</a><li>placeCursor:
+ <a href="qtextedit.html#placeCursor">QTextEdit</a><li>plane:
+ <a href="qglformat.html#plane">QGLFormat</a><li>play:
+ <a href="qpicture.html#play">QPicture</a> <a href="qsound.html#play">QSound</a><li>point:
+ <a href="qpointarray.html#point">QPointArray</a><li>pointSize:
+ <a href="qfont.html#pointSize">QFont</a> <a href="qfontinfo.html#pointSize">QFontInfo</a> <a href="qtextedit.html#pointSize">QTextEdit</a><li>pointSizeFloat:
+ <a href="qfont.html#pointSizeFloat">QFont</a><li>pointSizes:
+ <a href="qfontdatabase.html#pointSizes">QFontDatabase</a><li>points:
+ <a href="qcanvaspolygon.html#points">QCanvasPolygon</a><li>polish:
+ <a href="qapplication.html#polish">QApplication</a> <a href="qstyle.html#polish">QStyle</a> <a href="qwidget.html#polish">QWidget</a><li>polishPopupMenu:
+ <a href="qstyle.html#polishPopupMenu">QStyle</a><li>pop:
+ <a href="qptrstack.html#pop">QPtrStack</a> <a href="qvaluestack.html#pop">QValueStack</a><li>popContext:
+ <a href="qxmlnamespacesupport.html#popContext">QXmlNamespaceSupport</a><li>pop_back:
+ <a href="qvaluelist.html#pop_back">QValueList</a> <a href="qvaluevector.html#pop_back">QValueVector</a><li>pop_front:
+ <a href="qvaluelist.html#pop_front">QValueList</a><li>popup:
+ <a href="qcombobox.html#popup">QComboBox</a> <a href="qpopupmenu.html#popup">QPopupMenu</a> <a href="qpushbutton.html#popup">QPushButton</a> <a href="qtoolbutton.html#popup">QToolButton</a><li>popupDelay:
+ <a href="qtoolbutton.html#popupDelay">QToolButton</a><li>port:
+ <a href="qserversocket.html#port">QServerSocket</a> <a href="qsocket.html#port">QSocket</a> <a href="qsocketdevice.html#port">QSocketDevice</a> <a href="qsqldatabase.html#port">QSqlDatabase</a> <a href="qurl.html#port">QUrl</a><li>pos:
+ <a href="qcontextmenuevent.html#pos">QContextMenuEvent</a> <a href="qcursor.html#pos">QCursor</a> <a href="qdropevent.html#pos">QDropEvent</a> <a href="qiconviewitem.html#pos">QIconViewItem</a> <a href="qmouseevent.html#pos">QMouseEvent</a> <a href="qmoveevent.html#pos">QMoveEvent</a> <a href="qregexp.html#pos">QRegExp</a> <a href="qtabletevent.html#pos">QTabletEvent</a> <a href="qwsmousehandler.html#pos">QWSMouseHandler</a> <a href="qwheelevent.html#pos">QWheelEvent</a> <a href="qwidget.html#pos">QWidget</a><li>position:
+ <a href="qsqlrecord.html#position">QSqlRecord</a><li>positionFromValue:
+ <a href="qrangecontrol.html#positionFromValue">QRangeControl</a><li>post:
+ <a href="qhttp.html#post">QHttp</a><li>postEvent:
+ <a href="qapplication.html#postEvent">QApplication</a><li>postURL:
+ <a href="qnpinstance.html#postURL">QNPInstance</a><li>precision:
+ <a href="qsqlfieldinfo.html#precision">QSqlFieldInfo</a> <a href="qtextstream.html#precision">QTextStream</a><li>prefix:
+ <a href="qdomnode.html#prefix">QDomNode</a> <a href="qspinbox.html#prefix">QSpinBox</a> <a href="qxmlnamespacesupport.html#prefix">QXmlNamespaceSupport</a><li>prefixes:
+ <a href="qxmlnamespacesupport.html#prefixes">QXmlNamespaceSupport</a><li>prepare:
+ <a href="qsqlquery.html#prepare">QSqlQuery</a><li>prepend:
+ <a href="qcstring.html#prepend">QCString</a> <a href="qptrlist.html#prepend">QPtrList</a> <a href="qstring.html#prepend">QString</a> <a href="qvaluelist.html#prepend">QValueList</a><li>pressed:
+ <a href="qbutton.html#pressed">QButton</a> <a href="qbuttongroup.html#pressed">QButtonGroup</a> <a href="qbutton.html#pressed">QCheckBox</a> <a href="qheader.html#pressed">QHeader</a> <a href="qiconview.html#pressed">QIconView</a> <a href="qlistbox.html#pressed">QListBox</a> <a href="qlistview.html#pressed">QListView</a> <a href="qbutton.html#pressed">QPushButton</a> <a href="qbutton.html#pressed">QRadioButton</a> <a href="qtable.html#pressed">QTable</a><li>pressure:
+ <a href="qtabletevent.html#pressure">QTabletEvent</a><li>prev:
+ <a href="qdatabrowser.html#prev">QDataBrowser</a> <a href="qfocusdata.html#prev">QFocusData</a> <a href="qlistboxitem.html#prev">QListBoxItem</a> <a href="qptrlist.html#prev">QPtrList</a> <a href="qsqlquery.html#prev">QSqlQuery</a><li>prevItem:
+ <a href="qiconviewitem.html#prevItem">QIconViewItem</a><li>prevLine:
+ <a href="qscrollbar.html#prevLine">QScrollBar</a><li>prevPage:
+ <a href="qscrollbar.html#prevPage">QScrollBar</a><li>prevRecordAvailable:
+ <a href="qdatabrowser.html#prevRecordAvailable">QDataBrowser</a><li>prevValue:
+ <a href="qrangecontrol.html#prevValue">QRangeControl</a><li>previewMode:
+ <a href="qfiledialog.html#previewMode">QFileDialog</a><li>previewUrl:
+ <a href="qfilepreview.html#previewUrl">QFilePreview</a><li>previousSibling:
+ <a href="qdomnode.html#previousSibling">QDomNode</a><li>primaryIndex:
+ <a href="qsqlcursor.html#primaryIndex">QSqlCursor</a> <a href="qsqldatabase.html#primaryIndex">QSqlDatabase</a> <a href="qsqldriver.html#primaryIndex">QSqlDriver</a><li>primaryScreen:
+ <a href="qdesktopwidget.html#primaryScreen">QDesktopWidget</a><li>primeDelete:
+ <a href="qdatabrowser.html#primeDelete">QDataBrowser</a> <a href="qdatatable.html#primeDelete">QDataTable</a> <a href="qsqlcursor.html#primeDelete">QSqlCursor</a><li>primeInsert:
+ <a href="qdatabrowser.html#primeInsert">QDataBrowser</a> <a href="qdatatable.html#primeInsert">QDataTable</a> <a href="qsqlcursor.html#primeInsert">QSqlCursor</a><li>primeUpdate:
+ <a href="qdatabrowser.html#primeUpdate">QDataBrowser</a> <a href="qdatatable.html#primeUpdate">QDataTable</a> <a href="qsqlcursor.html#primeUpdate">QSqlCursor</a><li>print:
+ <a href="qnpinstance.html#print">QNPInstance</a><li>printFullPage:
+ <a href="qnpinstance.html#printFullPage">QNPInstance</a><li>printProgram:
+ <a href="qprinter.html#printProgram">QPrinter</a><li>printRange:
+ <a href="qprinter.html#printRange">QPrinter</a><li>printerName:
+ <a href="qprinter.html#printerName">QPrinter</a><li>printerSelectionOption:
+ <a href="qprinter.html#printerSelectionOption">QPrinter</a><li>processEvents:
+ <a href="qapplication.html#processEvents">QApplication</a> <a href="qeventloop.html#processEvents">QEventLoop</a><li>processExited:
+ <a href="qprocess.html#processExited">QProcess</a><li>processIdentifier:
+ <a href="qprocess.html#processIdentifier">QProcess</a><li>processKeyEvent:
+ <a href="qwskeyboardhandler.html#processKeyEvent">QWSKeyboardHandler</a><li>processName:
+ <a href="qxmlnamespacesupport.html#processName">QXmlNamespaceSupport</a><li>processingInstruction:
+ <a href="qxmlcontenthandler.html#processingInstruction">QXmlContentHandler</a><li>progress:
+ <a href="qprogressbar.html#progress">QProgressBar</a> <a href="qprogressdialog.html#progress">QProgressDialog</a><li>progressString:
+ <a href="qprogressbar.html#progressString">QProgressBar</a><li>property:
+ <a href="qmetaobject.html#property">QMetaObject</a> <a href="qobject.html#property">QObject</a> <a href="qsqlpropertymap.html#property">QSqlPropertyMap</a> <a href="qxmlreader.html#property">QXmlReader</a><li>propertyBag:
+ <a href="qaxbase.html#propertyBag">QAxBase</a><li>propertyChanged:
+ <a href="qaxbase.html#propertyChanged">QAxBase</a> <a href="qaxbindable.html#propertyChanged">QAxBindable</a><li>propertyNames:
+ <a href="qmetaobject.html#propertyNames">QMetaObject</a><li>propertyWritable:
+ <a href="qaxbase.html#propertyWritable">QAxBase</a><li>protocol:
+ <a href="qsocketdevice.html#protocol">QSocketDevice</a> <a href="qurl.html#protocol">QUrl</a><li>protocolDetail:
+ <a href="qnetworkoperation.html#protocolDetail">QNetworkOperation</a><li>provides:
+ <a href="qdropevent.html#provides">QDropEvent</a> <a href="qmimesource.html#provides">QMimeSource</a><li>publicId:
+ <a href="qdomdocumenttype.html#publicId">QDomDocumentType</a> <a href="qdomentity.html#publicId">QDomEntity</a> <a href="qdomnotation.html#publicId">QDomNotation</a> <a href="qxmlparseexception.html#publicId">QXmlParseException</a><li>push:
+ <a href="qptrstack.html#push">QPtrStack</a> <a href="qvaluestack.html#push">QValueStack</a><li>pushContext:
+ <a href="qxmlnamespacesupport.html#pushContext">QXmlNamespaceSupport</a><li>pushData:
+ <a href="qmovie.html#pushData">QMovie</a><li>pushSpace:
+ <a href="qmovie.html#pushSpace">QMovie</a><li>push_back:
+ <a href="qvaluelist.html#push_back">QValueList</a> <a href="qvaluevector.html#push_back">QValueVector</a><li>push_front:
+ <a href="qvaluelist.html#push_front">QValueList</a><li>put:
+ <a href="qftp.html#put">QFtp</a> <a href="qurloperator.html#put">QUrlOperator</a><li>putPoints:
+ <a href="qpointarray.html#putPoints">QPointArray</a><li>putch:
+ <a href="qfile.html#putch">QFile</a> <a href="qiodevice.html#putch">QIODevice</a> <a href="qsocket.html#putch">QSocket</a><li><a name="q"></a>
+qAddPostRoutine:
+ <a href="qapplication.html#qAddPostRoutine">QApplication</a><li>qAlpha:
+ <a href="qcolor.html#qAlpha">QColor</a><li>qBlue:
+ <a href="qcolor.html#qBlue">QColor</a><li>qChecksum:
+ <a href="qmemarray.html#qChecksum">QMemArray</a><li>qCompress:
+ <a href="qbytearray.html#qCompress">QByteArray</a><li>qDebug:
+ <a href="qapplication.html#qDebug">QApplication</a><li>qDrawPlainRect:
+ <a href="qpainter.html#qDrawPlainRect">QPainter</a><li>qDrawShadeLine:
+ <a href="qpainter.html#qDrawShadeLine">QPainter</a><li>qDrawShadePanel:
+ <a href="qpainter.html#qDrawShadePanel">QPainter</a><li>qDrawShadeRect:
+ <a href="qpainter.html#qDrawShadeRect">QPainter</a><li>qDrawWinButton:
+ <a href="qpainter.html#qDrawWinButton">QPainter</a><li>qDrawWinPanel:
+ <a href="qpainter.html#qDrawWinPanel">QPainter</a><li>qFatal:
+ <a href="qapplication.html#qFatal">QApplication</a><li>qGray:
+ <a href="qcolor.html#qGray">QColor</a><li>qGreen:
+ <a href="qcolor.html#qGreen">QColor</a><li>qInitNetworkProtocols:
+ <a href="qurloperator.html#qInitNetworkProtocols">QUrlOperator</a><li>qInstallMsgHandler:
+ <a href="qapplication.html#qInstallMsgHandler">QApplication</a><li>qMakePair:
+ <a href="qpair.html#qMakePair">QPair</a><li>qName:
+ <a href="qxmlattributes.html#qName">QXmlAttributes</a><li>qRed:
+ <a href="qcolor.html#qRed">QColor</a><li>qRgb:
+ <a href="qcolor.html#qRgb">QColor</a><li>qRgba:
+ <a href="qcolor.html#qRgba">QColor</a><li>qSysInfo:
+ <a href="qapplication.html#qSysInfo">QApplication</a><li>qSystemWarning:
+ <a href="qapplication.html#qSystemWarning">QApplication</a><li>qUncompress:
+ <a href="qbytearray.html#qUncompress">QByteArray</a><li>qVersion:
+ <a href="qapplication.html#qVersion">QApplication</a><li>qWarning:
+ <a href="qapplication.html#qWarning">QApplication</a><li>qglClearColor:
+ <a href="qglwidget.html#qglClearColor">QGLWidget</a><li>qglColor:
+ <a href="qglwidget.html#qglColor">QGLWidget</a><li>qmemmove:
+ <a href="qcstring.html#qmemmove">QCString</a><li>qstrcmp:
+ <a href="qcstring.html#qstrcmp">QCString</a><li>qstrcpy:
+ <a href="qcstring.html#qstrcpy">QCString</a><li>qstrdup:
+ <a href="qcstring.html#qstrdup">QCString</a><li>qstricmp:
+ <a href="qcstring.html#qstricmp">QCString</a><li>qstrlen:
+ <a href="qcstring.html#qstrlen">QCString</a><li>qstrncmp:
+ <a href="qcstring.html#qstrncmp">QCString</a><li>qstrncpy:
+ <a href="qcstring.html#qstrncpy">QCString</a><li>qstrnicmp:
+ <a href="qcstring.html#qstrnicmp">QCString</a><li>qtHandler:
+ <a href="qerrormessage.html#qtHandler">QErrorMessage</a><li>qt_find_obj_child:
+ <a href="qobject.html#qt_find_obj_child">QObject</a><li>qualifiedNames:
+ <a href="qdns.html#qualifiedNames">QDns</a><li>quality:
+ <a href="qimageio.html#quality">QImageIO</a><li>query:
+ <a href="qurl.html#query">QUrl</a><li>queryAccessibleInterface:
+ <a href="qaccessible.html#queryAccessibleInterface">QAccessible</a><li>queryChild:
+ <a href="qaccessibleinterface.html#queryChild">QAccessibleInterface</a><li>queryInterface:
+ <a href="qaxaggregated.html#queryInterface">QAxAggregated</a> <a href="qaxbase.html#queryInterface">QAxBase</a> <a href="qaxscriptengine.html#queryInterface">QAxScriptEngine</a><li>queryList:
+ <a href="qobject.html#queryList">QObject</a><li>queryParent:
+ <a href="qaccessibleinterface.html#queryParent">QAccessibleInterface</a><li>querySubControl:
+ <a href="qstyle.html#querySubControl">QStyle</a><li>querySubControlMetrics:
+ <a href="qstyle.html#querySubControlMetrics">QStyle</a><li>querySubObject:
+ <a href="qaxbase.html#querySubObject">QAxBase</a> <a href="qaxbase.html#querySubObject">QAxObject</a> <a href="qaxbase.html#querySubObject">QAxWidget</a><li>question:
+ <a href="qmessagebox.html#question">QMessageBox</a><li>quit:
+ <a href="qapplication.html#quit">QApplication</a><li>qwsDecoration:
+ <a href="qapplication.html#qwsDecoration">QApplication</a><li>qwsEvent:
+ <a href="qwidget.html#qwsEvent">QWidget</a><li>qwsEventFilter:
+ <a href="qapplication.html#qwsEventFilter">QApplication</a><li>qwsRenderToDisk:
+ <a href="qfont.html#qwsRenderToDisk">QFont</a><li>qwsSetCustomColors:
+ <a href="qapplication.html#qwsSetCustomColors">QApplication</a><li>qwsSetDecoration:
+ <a href="qapplication.html#qwsSetDecoration">QApplication</a><li><a name="r"></a>
+rBottom:
+ <a href="qrect.html#rBottom">QRect</a><li>rLeft:
+ <a href="qrect.html#rLeft">QRect</a><li>rRight:
+ <a href="qrect.html#rRight">QRect</a><li>rTop:
+ <a href="qrect.html#rTop">QRect</a><li>raise:
+ <a href="qwswindow.html#raise">QWSWindow</a> <a href="qwidget.html#raise">QWidget</a><li>raiseWidget:
+ <a href="qwidgetstack.html#raiseWidget">QWidgetStack</a><li>rangeChange:
+ <a href="qdial.html#rangeChange">QDial</a> <a href="qrangecontrol.html#rangeChange">QRangeControl</a> <a href="qslider.html#rangeChange">QSlider</a> <a href="qspinbox.html#rangeChange">QSpinBox</a><li>rasterOp:
+ <a href="qpainter.html#rasterOp">QPainter</a><li>rawArg:
+ <a href="qnetworkoperation.html#rawArg">QNetworkOperation</a><li>rawCommand:
+ <a href="qftp.html#rawCommand">QFtp</a><li>rawCommandReply:
+ <a href="qftp.html#rawCommandReply">QFtp</a><li>rawMode:
+ <a href="qfont.html#rawMode">QFont</a> <a href="qfontinfo.html#rawMode">QFontInfo</a><li>rawName:
+ <a href="qfont.html#rawName">QFont</a><li>read:
+ <a href="qasciidict.html#read">QAsciiDict</a> <a href="qdict.html#read">QDict</a> <a href="qimageio.html#read">QImageIO</a> <a href="qintdict.html#read">QIntDict</a> <a href="qptrdict.html#read">QPtrDict</a> <a href="qptrlist.html#read">QPtrList</a> <a href="qptrqueue.html#read">QPtrQueue</a> <a href="qptrstack.html#read">QPtrStack</a> <a href="qptrvector.html#read">QPtrVector</a> <a href="qtextstream.html#read">QTextStream</a><li>readAll:
+ <a href="qiodevice.html#readAll">QFile</a> <a href="qftp.html#readAll">QFtp</a> <a href="qhttp.html#readAll">QHttp</a> <a href="qiodevice.html#readAll">QIODevice</a><li>readBlock:
+ <a href="qftp.html#readBlock">QFtp</a> <a href="qhttp.html#readBlock">QHttp</a> <a href="qiodevice.html#readBlock">QIODevice</a> <a href="qsocket.html#readBlock">QSocket</a> <a href="qsocketdevice.html#readBlock">QSocketDevice</a><li>readBoolEntry:
+ <a href="qsettings.html#readBoolEntry">QSettings</a><li>readBufferSize:
+ <a href="qsocket.html#readBufferSize">QSocket</a><li>readBytes:
+ <a href="qdatastream.html#readBytes">QDataStream</a><li>readCollisionMasks:
+ <a href="qcanvaspixmaparray.html#readCollisionMasks">QCanvasPixmapArray</a><li>readDoubleEntry:
+ <a href="qsettings.html#readDoubleEntry">QSettings</a><li>readEntry:
+ <a href="qsettings.html#readEntry">QSettings</a><li>readField:
+ <a href="qsqlform.html#readField">QSqlForm</a><li>readFields:
+ <a href="qdatabrowser.html#readFields">QDataBrowser</a> <a href="qdataview.html#readFields">QDataView</a> <a href="qsqlform.html#readFields">QSqlForm</a><li>readLine:
+ <a href="qfile.html#readLine">QFile</a> <a href="qiodevice.html#readLine">QIODevice</a> <a href="qsocket.html#readLine">QSocket</a> <a href="qtextstream.html#readLine">QTextStream</a><li>readLineStderr:
+ <a href="qprocess.html#readLineStderr">QProcess</a><li>readLineStdout:
+ <a href="qprocess.html#readLineStdout">QProcess</a><li>readLink:
+ <a href="qfileinfo.html#readLink">QFileInfo</a><li>readListEntry:
+ <a href="qsettings.html#readListEntry">QSettings</a><li>readNumEntry:
+ <a href="qsettings.html#readNumEntry">QSettings</a><li>readPixmaps:
+ <a href="qcanvaspixmaparray.html#readPixmaps">QCanvasPixmapArray</a><li>readRawBytes:
+ <a href="qdatastream.html#readRawBytes">QDataStream</a> <a href="qtextstream.html#readRawBytes">QTextStream</a><li>readStderr:
+ <a href="qprocess.html#readStderr">QProcess</a><li>readStdout:
+ <a href="qprocess.html#readStdout">QProcess</a><li>ready:
+ <a href="qasyncio.html#ready">QAsyncIO</a><li>readyRead:
+ <a href="qftp.html#readyRead">QFtp</a> <a href="qhttp.html#readyRead">QHttp</a> <a href="qsocket.html#readyRead">QSocket</a><li>readyReadStderr:
+ <a href="qprocess.html#readyReadStderr">QProcess</a><li>readyReadStdout:
+ <a href="qprocess.html#readyReadStdout">QProcess</a><li>readyToReceive:
+ <a href="qdatasink.html#readyToReceive">QDataSink</a><li>readyToSend:
+ <a href="qdatasource.html#readyToSend">QDataSource</a> <a href="qiodevicesource.html#readyToSend">QIODeviceSource</a><li>reason:
+ <a href="qcontextmenuevent.html#reason">QContextMenuEvent</a> <a href="qfocusevent.html#reason">QFocusEvent</a><li>reasonPhrase:
+ <a href="qhttpresponseheader.html#reasonPhrase">QHttpResponseHeader</a><li>receive:
+ <a href="qcopchannel.html#receive">QCopChannel</a> <a href="qdatasink.html#receive">QDataSink</a><li>receiveBufferSize:
+ <a href="qsocketdevice.html#receiveBufferSize">QSocketDevice</a><li>received:
+ <a href="qcopchannel.html#received">QCopChannel</a><li>record:
+ <a href="qdataview.html#record">QDataView</a> <a href="qsqldatabase.html#record">QSqlDatabase</a> <a href="qsqldriver.html#record">QSqlDriver</a><li>recordInfo:
+ <a href="qsqldatabase.html#recordInfo">QSqlDatabase</a> <a href="qsqldriver.html#recordInfo">QSqlDriver</a><li>recordType:
+ <a href="qdns.html#recordType">QDns</a><li>rect:
+ <a href="qaccessibleinterface.html#rect">QAccessibleInterface</a> <a href="qcanvas.html#rect">QCanvas</a> <a href="qcanvasrectangle.html#rect">QCanvasRectangle</a> <a href="qdirectpainter.html#rect">QDirectPainter</a> <a href="qiconviewitem.html#rect">QIconViewItem</a> <a href="qimage.html#rect">QImage</a> <a href="qpaintevent.html#rect">QPaintEvent</a> <a href="qpixmap.html#rect">QPixmap</a> <a href="qrect.html#rect">QRect</a> <a href="qstyleoption.html#rect">QStyleOption</a> <a href="qtab.html#rect">QTab</a> <a href="qwidget.html#rect">QWidget</a><li>rects:
+ <a href="qregion.html#rects">QRegion</a><li>red:
+ <a href="qcolor.html#red">QColor</a><li>redirect:
+ <a href="qpainter.html#redirect">QPainter</a><li>redo:
+ <a href="qlineedit.html#redo">QLineEdit</a> <a href="qtextedit.html#redo">QTextEdit</a><li>redoAvailable:
+ <a href="qtextedit.html#redoAvailable">QTextEdit</a><li>ref:
+ <a href="qstring.html#ref">QString</a> <a href="qurl.html#ref">QUrl</a><li>reformat:
+ <a href="qstatusbar.html#reformat">QStatusBar</a><li>refresh:
+ <a href="qdatabrowser.html#refresh">QDataBrowser</a> <a href="qdatatable.html#refresh">QDataTable</a> <a href="qdataview.html#refresh">QDataView</a> <a href="qdir.html#refresh">QDir</a> <a href="qfileinfo.html#refresh">QFileInfo</a> <a href="qsplitter.html#refresh">QSplitter</a> <a href="qwsserver.html#refresh">QWSServer</a><li>regExp:
+ <a href="qregexpvalidator.html#regExp">QRegExpValidator</a><li>region:
+ <a href="qdirectpainter.html#region">QDirectPainter</a> <a href="qpaintevent.html#region">QPaintEvent</a> <a href="qwsdecoration.html#region">QWSDecoration</a><li>registerClass:
+ <a href="qaxfactory.html#registerClass">QAxFactory</a><li>registerDecoderFactory:
+ <a href="qimagedecoder.html#registerDecoderFactory">QImageDecoder</a><li>registerEngine:
+ <a href="qaxscriptmanager.html#registerEngine">QAxScriptManager</a><li>registerNetworkProtocol:
+ <a href="qnetworkprotocol.html#registerNetworkProtocol">QNetworkProtocol</a><li>registerSocketNotifier:
+ <a href="qeventloop.html#registerSocketNotifier">QEventLoop</a><li>registerSqlDriver:
+ <a href="qsqldatabase.html#registerSqlDriver">QSqlDatabase</a><li>rehighlight:
+ <a href="qsyntaxhighlighter.html#rehighlight">QSyntaxHighlighter</a><li>reject:
+ <a href="qdialog.html#reject">QDialog</a><li>rejectCallback:
+ <a href="qmotifdialog.html#rejectCallback">QMotifDialog</a><li>release:
+ <a href="qsessionmanager.html#release">QSessionManager</a><li>releaseKeyboard:
+ <a href="qwidget.html#releaseKeyboard">QWidget</a><li>releaseMouse:
+ <a href="qwidget.html#releaseMouse">QWidget</a><li>released:
+ <a href="qbutton.html#released">QButton</a> <a href="qbuttongroup.html#released">QButtonGroup</a> <a href="qbutton.html#released">QCheckBox</a> <a href="qheader.html#released">QHeader</a> <a href="qbutton.html#released">QPushButton</a> <a href="qbutton.html#released">QRadioButton</a><li>reload:
+ <a href="qtextbrowser.html#reload">QTextBrowser</a><li>remove:
+ <a href="qasciicache.html#remove">QAsciiCache</a> <a href="qasciidict.html#remove">QAsciiDict</a> <a href="qbuttongroup.html#remove">QButtonGroup</a> <a href="qcstring.html#remove">QCString</a> <a href="qcache.html#remove">QCache</a> <a href="qdict.html#remove">QDict</a> <a href="qdir.html#remove">QDir</a> <a href="qfile.html#remove">QFile</a> <a href="qftp.html#remove">QFtp</a> <a href="qintcache.html#remove">QIntCache</a> <a href="qintdict.html#remove">QIntDict</a> <a href="qlayout.html#remove">QLayout</a> <a href="qmap.html#remove">QMap</a> <a href="qobjectcleanuphandler.html#remove">QObjectCleanupHandler</a> <a href="qpixmapcache.html#remove">QPixmapCache</a> <a href="qptrdict.html#remove">QPtrDict</a> <a href="qptrlist.html#remove">QPtrList</a> <a href="qptrqueue.html#remove">QPtrQueue</a> <a href="qptrstack.html#remove">QPtrStack</a> <a href="qptrvector.html#remove">QPtrVector</a> <a href="qsqlcursor.html#remove">QSqlCursor</a> <a href="qsqlform.html#remove">QSqlForm</a> <a href="qsqlpropertymap.html#remove">QSqlPropertyMap</a> <a href="qsqlrecord.html#remove">QSqlRecord</a> <a href="qstring.html#remove">QString</a> <a href="qtooltip.html#remove">QToolTip</a> <a href="qtranslator.html#remove">QTranslator</a> <a href="qurloperator.html#remove">QUrlOperator</a> <a href="qvaluelist.html#remove">QValueList</a> <a href="qwhatsthis.html#remove">QWhatsThis</a><li>removeAttribute:
+ <a href="qdomelement.html#removeAttribute">QDomElement</a><li>removeAttributeNS:
+ <a href="qdomelement.html#removeAttributeNS">QDomElement</a><li>removeAttributeNode:
+ <a href="qdomelement.html#removeAttributeNode">QDomElement</a><li>removeChild:
+ <a href="qdomnode.html#removeChild">QDomNode</a> <a href="qobject.html#removeChild">QObject</a> <a href="qscrollview.html#removeChild">QScrollView</a><li>removeColumn:
+ <a href="qdatatable.html#removeColumn">QDataTable</a> <a href="qlistview.html#removeColumn">QListView</a> <a href="qtable.html#removeColumn">QTable</a><li>removeColumns:
+ <a href="qtable.html#removeColumns">QTable</a><li>removeDatabase:
+ <a href="qsqldatabase.html#removeDatabase">QSqlDatabase</a><li>removeDockWindow:
+ <a href="qdockarea.html#removeDockWindow">QDockArea</a> <a href="qmainwindow.html#removeDockWindow">QMainWindow</a><li>removeEntry:
+ <a href="qsettings.html#removeEntry">QSettings</a><li>removeEventFilter:
+ <a href="qobject.html#removeEventFilter">QObject</a><li>removeFactory:
+ <a href="qmimesourcefactory.html#removeFactory">QMimeSourceFactory</a><li>removeFirst:
+ <a href="qptrlist.html#removeFirst">QPtrList</a><li>removeFrom:
+ <a href="qaction.html#removeFrom">QAction</a><li>removeItem:
+ <a href="qaccel.html#removeItem">QAccel</a> <a href="qcombobox.html#removeItem">QComboBox</a> <a href="qlayout.html#removeItem">QLayout</a> <a href="qlistbox.html#removeItem">QListBox</a> <a href="qmenudata.html#removeItem">QMenuBar</a> <a href="qmenudata.html#removeItem">QMenuData</a> <a href="qmenudata.html#removeItem">QPopupMenu</a> <a href="qtoolbox.html#removeItem">QToolBox</a><li>removeItemAt:
+ <a href="qmenudata.html#removeItemAt">QMenuData</a> <a href="qmenudata.html#removeItemAt">QPopupMenu</a><li>removeLabel:
+ <a href="qheader.html#removeLabel">QHeader</a><li>removeLast:
+ <a href="qptrlist.html#removeLast">QPtrList</a><li>removeLibraryPath:
+ <a href="qapplication.html#removeLibraryPath">QApplication</a><li>removeLine:
+ <a href="qmultilineedit.html#removeLine">QMultiLineEdit</a><li>removeMappings:
+ <a href="qsignalmapper.html#removeMappings">QSignalMapper</a><li>removeNamedItem:
+ <a href="qdomnamednodemap.html#removeNamedItem">QDomNamedNodeMap</a><li>removeNamedItemNS:
+ <a href="qdomnamednodemap.html#removeNamedItemNS">QDomNamedNodeMap</a><li>removeNode:
+ <a href="qptrlist.html#removeNode">QPtrList</a><li>removePage:
+ <a href="qtabdialog.html#removePage">QTabDialog</a> <a href="qtabwidget.html#removePage">QTabWidget</a> <a href="qwizard.html#removePage">QWizard</a><li>removeParagraph:
+ <a href="qtextedit.html#removeParagraph">QTextEdit</a><li>removePostedEvents:
+ <a href="qapplication.html#removePostedEvents">QApplication</a><li>removeRef:
+ <a href="qptrlist.html#removeRef">QPtrList</a><li>removeRenameBox:
+ <a href="qiconviewitem.html#removeRenameBox">QIconViewItem</a><li>removeRow:
+ <a href="qtable.html#removeRow">QTable</a><li>removeRows:
+ <a href="qtable.html#removeRows">QTable</a><li>removeSearchPath:
+ <a href="qsettings.html#removeSearchPath">QSettings</a><li>removeSelectedText:
+ <a href="qtextedit.html#removeSelectedText">QTextEdit</a><li>removeSelection:
+ <a href="qtable.html#removeSelection">QTable</a> <a href="qtextedit.html#removeSelection">QTextEdit</a><li>removeSubstitution:
+ <a href="qfont.html#removeSubstitution">QFont</a><li>removeTab:
+ <a href="qtabbar.html#removeTab">QTabBar</a><li>removeTabToolTip:
+ <a href="qtabwidget.html#removeTabToolTip">QTabWidget</a><li>removeTip:
+ <a href="qtooltipgroup.html#removeTip">QToolTipGroup</a><li>removeToolTip:
+ <a href="qtabbar.html#removeToolTip">QTabBar</a><li>removeTranslator:
+ <a href="qapplication.html#removeTranslator">QApplication</a><li>removeValue:
+ <a href="qhttpheader.html#removeValue">QHttpHeader</a><li>removeWidget:
+ <a href="qstatusbar.html#removeWidget">QStatusBar</a> <a href="qwidgetstack.html#removeWidget">QWidgetStack</a><li>removed:
+ <a href="qchildevent.html#removed">QChildEvent</a> <a href="qnetworkprotocol.html#removed">QNetworkProtocol</a> <a href="qurloperator.html#removed">QUrlOperator</a><li>removedChannel:
+ <a href="qwsserver.html#removedChannel">QWSServer</a><li>rename:
+ <a href="qdir.html#rename">QDir</a> <a href="qftp.html#rename">QFtp</a> <a href="qiconviewitem.html#rename">QIconViewItem</a> <a href="qurloperator.html#rename">QUrlOperator</a><li>renameEnabled:
+ <a href="qiconviewitem.html#renameEnabled">QIconViewItem</a> <a href="qlistviewitem.html#renameEnabled">QListViewItem</a><li>renderPixmap:
+ <a href="qglwidget.html#renderPixmap">QGLWidget</a><li>renderText:
+ <a href="qglwidget.html#renderText">QGLWidget</a><li>repaint:
+ <a href="qiconviewitem.html#repaint">QIconViewItem</a> <a href="qlistviewitem.html#repaint">QListViewItem</a> <a href="qsplashscreen.html#repaint">QSplashScreen</a> <a href="qwidget.html#repaint">QWidget</a><li>repaintCell:
+ <a href="qgridview.html#repaintCell">QGridView</a><li>repaintChanged:
+ <a href="qtextedit.html#repaintChanged">QTextEdit</a><li>repaintContents:
+ <a href="qscrollview.html#repaintContents">QScrollView</a><li>repaintItem:
+ <a href="qiconview.html#repaintItem">QIconView</a> <a href="qlistview.html#repaintItem">QListView</a><li>repaintScreen:
+ <a href="qdial.html#repaintScreen">QDial</a><li>repaintSelectedItems:
+ <a href="qiconview.html#repaintSelectedItems">QIconView</a><li>repaintSelections:
+ <a href="qtable.html#repaintSelections">QTable</a><li>reparent:
+ <a href="qwidget.html#reparent">QWidget</a><li>replace:
+ <a href="qasciidict.html#replace">QAsciiDict</a> <a href="qcstring.html#replace">QCString</a> <a href="qdict.html#replace">QDict</a> <a href="qintdict.html#replace">QIntDict</a> <a href="qmap.html#replace">QMap</a> <a href="qptrdict.html#replace">QPtrDict</a> <a href="qptrlist.html#replace">QPtrList</a> <a href="qstring.html#replace">QString</a><li>replaceChild:
+ <a href="qdomnode.html#replaceChild">QDomNode</a><li>replaceData:
+ <a href="qdomcharacterdata.html#replaceData">QDomCharacterData</a><li>reportError:
+ <a href="qaxbindable.html#reportError">QAxBindable</a><li>request:
+ <a href="qhttp.html#request">QHttp</a><li>requestFinished:
+ <a href="qhttp.html#requestFinished">QHttp</a><li>requestPhase2:
+ <a href="qsessionmanager.html#requestPhase2">QSessionManager</a><li>requestPropertyChange:
+ <a href="qaxbindable.html#requestPropertyChange">QAxBindable</a><li>requestRead:
+ <a href="qnpstream.html#requestRead">QNPStream</a><li>requestStarted:
+ <a href="qhttp.html#requestStarted">QHttp</a><li>requested:
+ <a href="qwswindow.html#requested">QWSWindow</a><li>requestedFormat:
+ <a href="qglcontext.html#requestedFormat">QGLContext</a><li>rereadDir:
+ <a href="qfiledialog.html#rereadDir">QFileDialog</a><li>reserve:
+ <a href="qstring.html#reserve">QString</a> <a href="qvaluevector.html#reserve">QValueVector</a><li>reset:
+ <a href="qdatatable.html#reset">QDataTable</a> <a href="qglcontext.html#reset">QGLContext</a> <a href="qiodevice.html#reset">QIODevice</a> <a href="qiconset.html#reset">QIconSet</a> <a href="qimage.html#reset">QImage</a> <a href="qmetaproperty.html#reset">QMetaProperty</a> <a href="qprogressbar.html#reset">QProgressBar</a> <a href="qprogressdialog.html#reset">QProgressDialog</a> <a href="qsqlresult.html#reset">QSqlResult</a> <a href="qtextstream.html#reset">QTextStream</a> <a href="qurl.html#reset">QUrl</a> <a href="qwmatrix.html#reset">QWMatrix</a> <a href="qwsinputmethod.html#reset">QWSInputMethod</a> <a href="qxmlinputsource.html#reset">QXmlInputSource</a> <a href="qxmlnamespacesupport.html#reset">QXmlNamespaceSupport</a><li>resetGroup:
+ <a href="qsettings.html#resetGroup">QSettings</a><li>resetInputContext:
+ <a href="qwidget.html#resetInputContext">QWidget</a><li>resetRawData:
+ <a href="qmemarray.html#resetRawData">QMemArray</a><li>resetReason:
+ <a href="qfocusevent.html#resetReason">QFocusEvent</a><li>resetStatus:
+ <a href="qiodevice.html#resetStatus">QIODevice</a><li>resetXForm:
+ <a href="qpainter.html#resetXForm">QPainter</a><li>resize:
+ <a href="qasciidict.html#resize">QAsciiDict</a> <a href="qbitarray.html#resize">QBitArray</a> <a href="qcstring.html#resize">QCString</a> <a href="qcanvas.html#resize">QCanvas</a> <a href="qdict.html#resize">QDict</a> <a href="qintdict.html#resize">QIntDict</a> <a href="qmemarray.html#resize">QMemArray</a> <a href="qpixmap.html#resize">QPixmap</a> <a href="qptrdict.html#resize">QPtrDict</a> <a href="qptrvector.html#resize">QPtrVector</a> <a href="qvaluevector.html#resize">QValueVector</a> <a href="qwidget.html#resize">QWidget</a><li>resizeContents:
+ <a href="qscrollview.html#resizeContents">QScrollView</a><li>resizeData:
+ <a href="qtable.html#resizeData">QTable</a><li>resizeEvent:
+ <a href="qframe.html#resizeEvent">QFrame</a> <a href="qglwidget.html#resizeEvent">QGLWidget</a> <a href="qlistview.html#resizeEvent">QListView</a> <a href="qwidget.html#resizeEvent">QWidget</a><li>resizeGL:
+ <a href="qglwidget.html#resizeGL">QGLWidget</a><li>resizeMode:
+ <a href="qiconview.html#resizeMode">QIconView</a> <a href="qlayout.html#resizeMode">QLayout</a> <a href="qlistview.html#resizeMode">QListView</a><li>resizeOverlayGL:
+ <a href="qglwidget.html#resizeOverlayGL">QGLWidget</a><li>resizePolicy:
+ <a href="qscrollview.html#resizePolicy">QScrollView</a><li>resizeSection:
+ <a href="qheader.html#resizeSection">QHeader</a><li>resized:
+ <a href="qcanvas.html#resized">QCanvas</a> <a href="qdesktopwidget.html#resized">QDesktopWidget</a><li>resolution:
+ <a href="qprinter.html#resolution">QPrinter</a><li>resolve:
+ <a href="qfont.html#resolve">QFont</a> <a href="qlibrary.html#resolve">QLibrary</a><li>resolveEntity:
+ <a href="qxmlentityresolver.html#resolveEntity">QXmlEntityResolver</a><li>resortDir:
+ <a href="qfiledialog.html#resortDir">QFileDialog</a><li>responseHeaderReceived:
+ <a href="qhttp.html#responseHeaderReceived">QHttp</a><li>restart:
+ <a href="qmovie.html#restart">QMovie</a> <a href="qtime.html#restart">QTime</a><li>restartCommand:
+ <a href="qsessionmanager.html#restartCommand">QSessionManager</a><li>restartHint:
+ <a href="qsessionmanager.html#restartHint">QSessionManager</a><li>restore:
+ <a href="qpainter.html#restore">QPainter</a> <a href="qscreen.html#restore">QScreen</a><li>restoreOverrideCursor:
+ <a href="qapplication.html#restoreOverrideCursor">QApplication</a><li>result:
+ <a href="qdialog.html#result">QDialog</a> <a href="qsqlquery.html#result">QSqlQuery</a><li>resultsReady:
+ <a href="qdns.html#resultsReady">QDns</a><li>retune:
+ <a href="qcanvas.html#retune">QCanvas</a><li>returnPressed:
+ <a href="qiconview.html#returnPressed">QIconView</a> <a href="qlineedit.html#returnPressed">QLineEdit</a> <a href="qlistbox.html#returnPressed">QListBox</a> <a href="qlistview.html#returnPressed">QListView</a> <a href="qtextedit.html#returnPressed">QTextEdit</a><li>reverseLayout:
+ <a href="qapplication.html#reverseLayout">QApplication</a><li>rewind:
+ <a href="qdatasource.html#rewind">QDataSource</a> <a href="qiodevicesource.html#rewind">QIODeviceSource</a><li>rewindable:
+ <a href="qdatasource.html#rewindable">QDataSource</a> <a href="qiodevicesource.html#rewindable">QIODeviceSource</a><li>rgb:
+ <a href="qcolor.html#rgb">QColor</a><li>rgba:
+ <a href="qglformat.html#rgba">QGLFormat</a><li>rheight:
+ <a href="qsize.html#rheight">QSize</a><li>right:
+ <a href="qcstring.html#right">QCString</a> <a href="qrect.html#right">QRect</a> <a href="qstring.html#right">QString</a><li>rightBearing:
+ <a href="qfontmetrics.html#rightBearing">QFontMetrics</a><li>rightButtonClicked:
+ <a href="qiconview.html#rightButtonClicked">QIconView</a> <a href="qlistbox.html#rightButtonClicked">QListBox</a> <a href="qlistview.html#rightButtonClicked">QListView</a><li>rightButtonPressed:
+ <a href="qiconview.html#rightButtonPressed">QIconView</a> <a href="qlistbox.html#rightButtonPressed">QListBox</a> <a href="qlistview.html#rightButtonPressed">QListView</a><li>rightCol:
+ <a href="qtableselection.html#rightCol">QTableSelection</a><li>rightDock:
+ <a href="qmainwindow.html#rightDock">QMainWindow</a><li>rightEdge:
+ <a href="qcanvassprite.html#rightEdge">QCanvasSprite</a><li>rightJustify:
+ <a href="qcstring.html#rightJustify">QCString</a> <a href="qstring.html#rightJustify">QString</a><li>rightMargin:
+ <a href="qscrollview.html#rightMargin">QScrollView</a><li>rmdir:
+ <a href="qdir.html#rmdir">QDir</a> <a href="qftp.html#rmdir">QFtp</a><li>role:
+ <a href="qaccessibleinterface.html#role">QAccessibleInterface</a><li>rollback:
+ <a href="qsqldatabase.html#rollback">QSqlDatabase</a><li>rollbackTransaction:
+ <a href="qsqldriver.html#rollbackTransaction">QSqlDriver</a><li>root:
+ <a href="qdir.html#root">QDir</a><li>rootDirPath:
+ <a href="qdir.html#rootDirPath">QDir</a><li>rootIsDecorated:
+ <a href="qlistview.html#rootIsDecorated">QListView</a><li>rotate:
+ <a href="qpainter.html#rotate">QPainter</a> <a href="qwmatrix.html#rotate">QWMatrix</a><li>row:
+ <a href="qchar.html#row">QChar</a> <a href="qtableitem.html#row">QTableItem</a><li>rowAt:
+ <a href="qgridview.html#rowAt">QGridView</a> <a href="qtable.html#rowAt">QTable</a><li>rowHeight:
+ <a href="qtable.html#rowHeight">QTable</a><li>rowHeightChanged:
+ <a href="qtable.html#rowHeightChanged">QTable</a><li>rowIndexChanged:
+ <a href="qtable.html#rowIndexChanged">QTable</a><li>rowMode:
+ <a href="qlistbox.html#rowMode">QListBox</a><li>rowMovingEnabled:
+ <a href="qtable.html#rowMovingEnabled">QTable</a><li>rowPos:
+ <a href="qtable.html#rowPos">QTable</a><li>rowSpacing:
+ <a href="qgridlayout.html#rowSpacing">QGridLayout</a><li>rowSpan:
+ <a href="qtableitem.html#rowSpan">QTableItem</a><li>rowStretch:
+ <a href="qgridlayout.html#rowStretch">QGridLayout</a><li>rtti:
+ <a href="qcanvasellipse.html#rtti">QCanvasEllipse</a> <a href="qcanvasitem.html#rtti">QCanvasItem</a> <a href="qcanvasline.html#rtti">QCanvasLine</a> <a href="qcanvaspolygon.html#rtti">QCanvasPolygon</a> <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a> <a href="qcanvasrectangle.html#rtti">QCanvasRectangle</a> <a href="qcanvasspline.html#rtti">QCanvasSpline</a> <a href="qcanvassprite.html#rtti">QCanvasSprite</a> <a href="qcanvastext.html#rtti">QCanvasText</a> <a href="qchecklistitem.html#rtti">QCheckListItem</a> <a href="qchecktableitem.html#rtti">QCheckTableItem</a> <a href="qcombotableitem.html#rtti">QComboTableItem</a> <a href="qiconviewitem.html#rtti">QIconViewItem</a> <a href="qlistboxitem.html#rtti">QListBoxItem</a> <a href="qlistviewitem.html#rtti">QListViewItem</a> <a href="qtableitem.html#rtti">QTableItem</a><li>run:
+ <a href="qthread.html#run">QThread</a><li>running:
+ <a href="qmovie.html#running">QMovie</a> <a href="qthread.html#running">QThread</a><li>rwidth:
+ <a href="qsize.html#rwidth">QSize</a><li>rx:
+ <a href="qpoint.html#rx">QPoint</a><li>ry:
+ <a href="qpoint.html#ry">QPoint</a><li><a name="s"></a>
+sRect:
+ <a href="qheader.html#sRect">QHeader</a><li>save:
+ <a href="qdomnode.html#save">QDomNode</a> <a href="qimage.html#save">QImage</a> <a href="qpainter.html#save">QPainter</a> <a href="qpicture.html#save">QPicture</a> <a href="qpixmap.html#save">QPixmap</a> <a href="qscreen.html#save">QScreen</a> <a href="qtranslator.html#save">QTranslator</a><li>saveState:
+ <a href="qapplication.html#saveState">QApplication</a><li>scale:
+ <a href="qimage.html#scale">QImage</a> <a href="qpainter.html#scale">QPainter</a> <a href="qsize.html#scale">QSize</a> <a href="qwmatrix.html#scale">QWMatrix</a><li>scaleFont:
+ <a href="qstylesheet.html#scaleFont">QStyleSheet</a><li>scaleHeight:
+ <a href="qimage.html#scaleHeight">QImage</a><li>scaleWidth:
+ <a href="qimage.html#scaleWidth">QImage</a><li>scanLine:
+ <a href="qimage.html#scanLine">QImage</a><li>screen:
+ <a href="qdesktopwidget.html#screen">QDesktopWidget</a><li>screenGeometry:
+ <a href="qdesktopwidget.html#screenGeometry">QDesktopWidget</a><li>screenGfx:
+ <a href="qscreen.html#screenGfx">QScreen</a><li>screenNumber:
+ <a href="qdesktopwidget.html#screenNumber">QDesktopWidget</a><li>screenSaverActivate:
+ <a href="qwsserver.html#screenSaverActivate">QWSServer</a><li>screenSaverActive:
+ <a href="qwsserver.html#screenSaverActive">QWSServer</a><li>screenSize:
+ <a href="qscreen.html#screenSize">QScreen</a><li>script:
+ <a href="qaxscriptmanager.html#script">QAxScriptManager</a><li>scriptCode:
+ <a href="qaxscript.html#scriptCode">QAxScript</a><li>scriptEngine:
+ <a href="qaxscript.html#scriptEngine">QAxScript</a><li>scriptFileFilter:
+ <a href="qaxscriptmanager.html#scriptFileFilter">QAxScriptManager</a><li>scriptLanguage:
+ <a href="qaxscriptengine.html#scriptLanguage">QAxScriptEngine</a><li>scriptName:
+ <a href="qaxscript.html#scriptName">QAxScript</a> <a href="qfontdatabase.html#scriptName">QFontDatabase</a><li>scriptNames:
+ <a href="qaxscriptmanager.html#scriptNames">QAxScriptManager</a><li>scriptSample:
+ <a href="qfontdatabase.html#scriptSample">QFontDatabase</a><li>scriptable:
+ <a href="qmetaproperty.html#scriptable">QMetaProperty</a><li>scroll:
+ <a href="qwidget.html#scroll">QWidget</a><li>scrollBarsEnabled:
+ <a href="qworkspace.html#scrollBarsEnabled">QWorkspace</a><li>scrollBy:
+ <a href="qscrollview.html#scrollBy">QScrollView</a><li>scrollToAnchor:
+ <a href="qtextedit.html#scrollToAnchor">QTextEdit</a><li>scrollToBottom:
+ <a href="qtextedit.html#scrollToBottom">QTextEdit</a><li>search:
+ <a href="qregexp.html#search">QRegExp</a><li>searchRev:
+ <a href="qregexp.html#searchRev">QRegExp</a><li>second:
+ <a href="qtime.html#second">QTime</a><li>secsTo:
+ <a href="qdatetime.html#secsTo">QDateTime</a> <a href="qtime.html#secsTo">QTime</a><li>section:
+ <a href="qstring.html#section">QString</a><li>sectionAt:
+ <a href="qheader.html#sectionAt">QHeader</a><li>sectionFormattedText:
+ <a href="qdateedit.html#sectionFormattedText">QDateEdit</a> <a href="qtimeedit.html#sectionFormattedText">QTimeEdit</a><li>sectionHandleDoubleClicked:
+ <a href="qheader.html#sectionHandleDoubleClicked">QHeader</a><li>sectionPos:
+ <a href="qheader.html#sectionPos">QHeader</a><li>sectionRect:
+ <a href="qheader.html#sectionRect">QHeader</a><li>sectionSize:
+ <a href="qheader.html#sectionSize">QHeader</a><li>seek:
+ <a href="qdatabrowser.html#seek">QDataBrowser</a> <a href="qsqlquery.html#seek">QSqlQuery</a><li>seekable:
+ <a href="qnpstream.html#seekable">QNPStream</a><li>segmentStyle:
+ <a href="qlcdnumber.html#segmentStyle">QLCDNumber</a><li>select:
+ <a href="qsqlcursor.html#select">QSqlCursor</a><li>selectAll:
+ <a href="qfiledialog.html#selectAll">QFileDialog</a> <a href="qiconview.html#selectAll">QIconView</a> <a href="qlineedit.html#selectAll">QLineEdit</a> <a href="qlistbox.html#selectAll">QListBox</a> <a href="qlistview.html#selectAll">QListView</a> <a href="qspinbox.html#selectAll">QSpinBox</a> <a href="qtextedit.html#selectAll">QTextEdit</a><li>selectCells:
+ <a href="qtable.html#selectCells">QTable</a><li>selectColumn:
+ <a href="qtable.html#selectColumn">QTable</a><li>selectRow:
+ <a href="qtable.html#selectRow">QTable</a><li>selectTab:
+ <a href="qtabbar.html#selectTab">QTabBar</a><li>selected:
+ <a href="qactiongroup.html#selected">QActionGroup</a> <a href="qbuttongroup.html#selected">QButtonGroup</a> <a href="qlistbox.html#selected">QListBox</a> <a href="qtabbar.html#selected">QTabBar</a> <a href="qwizard.html#selected">QWizard</a><li>selectedFile:
+ <a href="qfiledialog.html#selectedFile">QFileDialog</a><li>selectedFiles:
+ <a href="qfiledialog.html#selectedFiles">QFileDialog</a><li>selectedFilter:
+ <a href="qfiledialog.html#selectedFilter">QFileDialog</a><li>selectedId:
+ <a href="qbuttongroup.html#selectedId">QButtonGroup</a><li>selectedItem:
+ <a href="qlistbox.html#selectedItem">QListBox</a> <a href="qlistview.html#selectedItem">QListView</a><li>selectedText:
+ <a href="qlineedit.html#selectedText">QLineEdit</a> <a href="qtextedit.html#selectedText">QTextEdit</a><li>selection:
+ <a href="qaccessibleinterface.html#selection">QAccessibleInterface</a> <a href="qtable.html#selection">QTable</a><li>selectionChanged:
+ <a href="qclipboard.html#selectionChanged">QClipboard</a> <a href="qiconview.html#selectionChanged">QIconView</a> <a href="qlineedit.html#selectionChanged">QLineEdit</a> <a href="qlistbox.html#selectionChanged">QListBox</a> <a href="qlistview.html#selectionChanged">QListView</a> <a href="qtable.html#selectionChanged">QTable</a> <a href="qtextedit.html#selectionChanged">QTextEdit</a><li>selectionLength:
+ <a href="qimevent.html#selectionLength">QIMEvent</a><li>selectionMode:
+ <a href="qiconview.html#selectionMode">QIconView</a> <a href="qlistbox.html#selectionMode">QListBox</a> <a href="qlistview.html#selectionMode">QListView</a> <a href="qtable.html#selectionMode">QTable</a><li>selectionStart:
+ <a href="qlineedit.html#selectionStart">QLineEdit</a><li>selfMask:
+ <a href="qpixmap.html#selfMask">QPixmap</a><li>selfNesting:
+ <a href="qstylesheetitem.html#selfNesting">QStyleSheetItem</a><li>send:
+ <a href="qcopchannel.html#send">QCopChannel</a><li>sendBufferSize:
+ <a href="qsocketdevice.html#sendBufferSize">QSocketDevice</a><li>sendEvent:
+ <a href="qapplication.html#sendEvent">QApplication</a><li>sendIMEvent:
+ <a href="qwsinputmethod.html#sendIMEvent">QWSInputMethod</a> <a href="qwsserver.html#sendIMEvent">QWSServer</a><li>sendKeyEvent:
+ <a href="qwsserver.html#sendKeyEvent">QWSServer</a><li>sendPostedEvents:
+ <a href="qapplication.html#sendPostedEvents">QApplication</a><li>sendTo:
+ <a href="qdatasource.html#sendTo">QDataSource</a> <a href="qiodevicesource.html#sendTo">QIODeviceSource</a><li>sender:
+ <a href="qobject.html#sender">QObject</a><li>separator:
+ <a href="qdateedit.html#separator">QDateEdit</a> <a href="qdir.html#separator">QDir</a> <a href="qtimeedit.html#separator">QTimeEdit</a><li>serialNumber:
+ <a href="qmimesource.html#serialNumber">QMimeSource</a> <a href="qpalette.html#serialNumber">QPalette</a> <a href="qpixmap.html#serialNumber">QPixmap</a><li>serverDirPath:
+ <a href="qaxfactory.html#serverDirPath">QAxFactory</a><li>serverFilePath:
+ <a href="qaxfactory.html#serverFilePath">QAxFactory</a><li>servers:
+ <a href="qdns.html#servers">QDns</a><li>sessionId:
+ <a href="qapplication.html#sessionId">QApplication</a> <a href="qsessionmanager.html#sessionId">QSessionManager</a><li>sessionKey:
+ <a href="qapplication.html#sessionKey">QApplication</a> <a href="qsessionmanager.html#sessionKey">QSessionManager</a><li>set:
+ <a href="qscreen.html#set">QScreen</a><li>setAccel:
+ <a href="qaction.html#setAccel">QAction</a> <a href="qbutton.html#setAccel">QButton</a> <a href="qbutton.html#setAccel">QCheckBox</a> <a href="qmenudata.html#setAccel">QMenuData</a> <a href="qmenudata.html#setAccel">QPopupMenu</a> <a href="qbutton.html#setAccel">QPushButton</a> <a href="qbutton.html#setAccel">QRadioButton</a><li>setAcceptDockWindow:
+ <a href="qdockarea.html#setAcceptDockWindow">QDockArea</a><li>setAcceptDrops:
+ <a href="qwidget.html#setAcceptDrops">QWidget</a><li>setAccum:
+ <a href="qglformat.html#setAccum">QGLFormat</a><li>setAction:
+ <a href="qdropevent.html#setAction">QDropEvent</a><li>setActive:
+ <a href="qcanvasitem.html#setActive">QCanvasItem</a> <a href="qpalette.html#setActive">QPalette</a> <a href="qsqlresult.html#setActive">QSqlResult</a><li>setActiveItem:
+ <a href="qpopupmenu.html#setActiveItem">QPopupMenu</a><li>setActiveWindow:
+ <a href="qwswindow.html#setActiveWindow">QWSWindow</a> <a href="qwidget.html#setActiveWindow">QWidget</a> <a href="qxtwidget.html#setActiveWindow">QXtWidget</a><li>setAddress:
+ <a href="qhostaddress.html#setAddress">QHostAddress</a><li>setAddressReusable:
+ <a href="qsocketdevice.html#setAddressReusable">QSocketDevice</a><li>setAdvancePeriod:
+ <a href="qcanvas.html#setAdvancePeriod">QCanvas</a><li>setAlignment:
+ <a href="qgroupbox.html#setAlignment">QGroupBox</a> <a href="qlabel.html#setAlignment">QLabel</a> <a href="qlayoutitem.html#setAlignment">QLayoutItem</a> <a href="qlineedit.html#setAlignment">QLineEdit</a> <a href="qmultilineedit.html#setAlignment">QMultiLineEdit</a> <a href="qstylesheetitem.html#setAlignment">QStyleSheetItem</a> <a href="qtextedit.html#setAlignment">QTextEdit</a><li>setAllChanged:
+ <a href="qcanvas.html#setAllChanged">QCanvas</a><li>setAllColumnsShowFocus:
+ <a href="qlistview.html#setAllColumnsShowFocus">QListView</a><li>setAlpha:
+ <a href="qglformat.html#setAlpha">QGLFormat</a><li>setAlphaBuffer:
+ <a href="qimage.html#setAlphaBuffer">QImage</a><li>setAnchor:
+ <a href="qstylesheetitem.html#setAnchor">QStyleSheetItem</a><li>setAngles:
+ <a href="qcanvasellipse.html#setAngles">QCanvasEllipse</a><li>setAnimated:
+ <a href="qcanvasitem.html#setAnimated">QCanvasItem</a><li>setApplyButton:
+ <a href="qtabdialog.html#setApplyButton">QTabDialog</a><li>setAppropriate:
+ <a href="qmainwindow.html#setAppropriate">QMainWindow</a> <a href="qwizard.html#setAppropriate">QWizard</a><li>setAreaChanged:
+ <a href="qdirectpainter.html#setAreaChanged">QDirectPainter</a><li>setArg:
+ <a href="qnetworkoperation.html#setArg">QNetworkOperation</a><li>setArguments:
+ <a href="qassistantclient.html#setArguments">QAssistantClient</a> <a href="qprocess.html#setArguments">QProcess</a><li>setArrangement:
+ <a href="qiconview.html#setArrangement">QIconView</a><li>setAscii:
+ <a href="qstring.html#setAscii">QString</a><li>setAt:
+ <a href="qsqlresult.html#setAt">QSqlResult</a><li>setAttribute:
+ <a href="qdomelement.html#setAttribute">QDomElement</a><li>setAttributeNS:
+ <a href="qdomelement.html#setAttributeNS">QDomElement</a><li>setAttributeNode:
+ <a href="qdomelement.html#setAttributeNode">QDomElement</a><li>setAttributeNodeNS:
+ <a href="qdomelement.html#setAttributeNodeNS">QDomElement</a><li>setAutoAdd:
+ <a href="qlayout.html#setAutoAdd">QLayout</a><li>setAutoAdvance:
+ <a href="qdateedit.html#setAutoAdvance">QDateEdit</a> <a href="qdatetimeedit.html#setAutoAdvance">QDateTimeEdit</a> <a href="qtimeedit.html#setAutoAdvance">QTimeEdit</a><li>setAutoArrange:
+ <a href="qiconview.html#setAutoArrange">QIconView</a><li>setAutoBufferSwap:
+ <a href="qglwidget.html#setAutoBufferSwap">QGLWidget</a><li>setAutoClose:
+ <a href="qprogressdialog.html#setAutoClose">QProgressDialog</a><li>setAutoCompletion:
+ <a href="qcombobox.html#setAutoCompletion">QComboBox</a><li>setAutoDefault:
+ <a href="qpushbutton.html#setAutoDefault">QPushButton</a><li>setAutoDelete:
+ <a href="qptrcollection.html#setAutoDelete">QAsciiDict</a> <a href="qptrcollection.html#setAutoDelete">QCache</a> <a href="qdatatable.html#setAutoDelete">QDataTable</a> <a href="qptrcollection.html#setAutoDelete">QDict</a> <a href="qiconfactory.html#setAutoDelete">QIconFactory</a> <a href="qptrcollection.html#setAutoDelete">QIntDict</a> <a href="qnetworkprotocol.html#setAutoDelete">QNetworkProtocol</a> <a href="qptrcollection.html#setAutoDelete">QPtrCollection</a> <a href="qptrcollection.html#setAutoDelete">QPtrDict</a> <a href="qptrcollection.html#setAutoDelete">QPtrList</a> <a href="qptrqueue.html#setAutoDelete">QPtrQueue</a> <a href="qptrstack.html#setAutoDelete">QPtrStack</a> <a href="qptrcollection.html#setAutoDelete">QPtrVector</a><li>setAutoEdit:
+ <a href="qdatabrowser.html#setAutoEdit">QDataBrowser</a> <a href="qdatatable.html#setAutoEdit">QDataTable</a><li>setAutoFormatting:
+ <a href="qtextedit.html#setAutoFormatting">QTextEdit</a><li>setAutoMask:
+ <a href="qwidget.html#setAutoMask">QWidget</a><li>setAutoRaise:
+ <a href="qtoolbutton.html#setAutoRaise">QToolButton</a><li>setAutoRepeat:
+ <a href="qbutton.html#setAutoRepeat">QButton</a> <a href="qbutton.html#setAutoRepeat">QCheckBox</a> <a href="qbutton.html#setAutoRepeat">QPushButton</a> <a href="qbutton.html#setAutoRepeat">QRadioButton</a><li>setAutoReset:
+ <a href="qprogressdialog.html#setAutoReset">QProgressDialog</a><li>setAutoUnload:
+ <a href="qlibrary.html#setAutoUnload">QLibrary</a><li>setBackEnabled:
+ <a href="qwizard.html#setBackEnabled">QWizard</a><li>setBackgroundColor:
+ <a href="qcanvas.html#setBackgroundColor">QCanvas</a> <a href="qmovie.html#setBackgroundColor">QMovie</a> <a href="qpainter.html#setBackgroundColor">QPainter</a><li>setBackgroundMode:
+ <a href="qpainter.html#setBackgroundMode">QPainter</a> <a href="qwidget.html#setBackgroundMode">QWidget</a><li>setBackgroundOrigin:
+ <a href="qwidget.html#setBackgroundOrigin">QWidget</a><li>setBackgroundPixmap:
+ <a href="qcanvas.html#setBackgroundPixmap">QCanvas</a><li>setBar:
+ <a href="qprogressdialog.html#setBar">QProgressDialog</a><li>setBaseSize:
+ <a href="qwidget.html#setBaseSize">QWidget</a><li>setBinMode:
+ <a href="qlcdnumber.html#setBinMode">QLCDNumber</a><li>setBit:
+ <a href="qbitarray.html#setBit">QBitArray</a><li>setBlocking:
+ <a href="qsocketdevice.html#setBlocking">QSocketDevice</a><li>setBold:
+ <a href="qfont.html#setBold">QFont</a> <a href="qtextedit.html#setBold">QTextEdit</a><li>setBottom:
+ <a href="qdoublevalidator.html#setBottom">QDoubleValidator</a> <a href="qintvalidator.html#setBottom">QIntValidator</a> <a href="qrect.html#setBottom">QRect</a><li>setBottomItem:
+ <a href="qlistbox.html#setBottomItem">QListBox</a><li>setBottomLeft:
+ <a href="qrect.html#setBottomLeft">QRect</a><li>setBottomRight:
+ <a href="qrect.html#setBottomRight">QRect</a><li>setBoundaryChecking:
+ <a href="qdatabrowser.html#setBoundaryChecking">QDataBrowser</a><li>setBoundingRect:
+ <a href="qpicture.html#setBoundingRect">QPicture</a><li>setBrush:
+ <a href="qcanvaspolygonalitem.html#setBrush">QCanvasPolygonalItem</a> <a href="qcolorgroup.html#setBrush">QColorGroup</a> <a href="qpainter.html#setBrush">QPainter</a> <a href="qpalette.html#setBrush">QPalette</a><li>setBrushOrigin:
+ <a href="qpainter.html#setBrushOrigin">QPainter</a><li>setBuddy:
+ <a href="qlabel.html#setBuddy">QLabel</a><li>setBuffer:
+ <a href="qbuffer.html#setBuffer">QBuffer</a><li>setButton:
+ <a href="qbuttongroup.html#setButton">QButtonGroup</a><li>setButtonSymbols:
+ <a href="qspinbox.html#setButtonSymbols">QSpinBox</a><li>setButtonText:
+ <a href="qmessagebox.html#setButtonText">QMessageBox</a><li>setByteOrder:
+ <a href="qdatastream.html#setByteOrder">QDataStream</a><li>setCacheLimit:
+ <a href="qpixmapcache.html#setCacheLimit">QPixmapCache</a><li>setCaching:
+ <a href="qfileinfo.html#setCaching">QFileInfo</a><li>setCalculated:
+ <a href="qsqlcursor.html#setCalculated">QSqlCursor</a> <a href="qsqlfieldinfo.html#setCalculated">QSqlFieldInfo</a><li>setCancelButton:
+ <a href="qprogressdialog.html#setCancelButton">QProgressDialog</a> <a href="qtabdialog.html#setCancelButton">QTabDialog</a><li>setCancelButtonText:
+ <a href="qprogressdialog.html#setCancelButtonText">QProgressDialog</a><li>setCanvas:
+ <a href="qcanvasitem.html#setCanvas">QCanvasItem</a> <a href="qcanvasview.html#setCanvas">QCanvasView</a><li>setCapStyle:
+ <a href="qpen.html#setCapStyle">QPen</a><li>setCaption:
+ <a href="qwidget.html#setCaption">QWidget</a><li>setCaseSensitive:
+ <a href="qregexp.html#setCaseSensitive">QRegExp</a><li>setCellContentFromEditor:
+ <a href="qtable.html#setCellContentFromEditor">QTable</a><li>setCellHeight:
+ <a href="qgridview.html#setCellHeight">QGridView</a><li>setCellWidget:
+ <a href="qtable.html#setCellWidget">QTable</a><li>setCellWidth:
+ <a href="qgridview.html#setCellWidth">QGridView</a><li>setCenterIndicator:
+ <a href="qprogressbar.html#setCenterIndicator">QProgressBar</a><li>setCentralWidget:
+ <a href="qmainwindow.html#setCentralWidget">QMainWindow</a><li>setChanged:
+ <a href="qcanvas.html#setChanged">QCanvas</a><li>setCheckable:
+ <a href="qgroupbox.html#setCheckable">QGroupBox</a> <a href="qpopupmenu.html#setCheckable">QPopupMenu</a><li>setChecked:
+ <a href="qcheckbox.html#setChecked">QCheckBox</a> <a href="qchecktableitem.html#setChecked">QCheckTableItem</a> <a href="qgroupbox.html#setChecked">QGroupBox</a> <a href="qradiobutton.html#setChecked">QRadioButton</a><li>setChildGeometries:
+ <a href="qwidgetstack.html#setChildGeometries">QWidgetStack</a><li>setChildrenCollapsible:
+ <a href="qsplitter.html#setChildrenCollapsible">QSplitter</a><li>setClickEnabled:
+ <a href="qheader.html#setClickEnabled">QHeader</a><li>setClipRect:
+ <a href="qpainter.html#setClipRect">QPainter</a><li>setClipRegion:
+ <a href="qpainter.html#setClipRegion">QPainter</a><li>setClipping:
+ <a href="qpainter.html#setClipping">QPainter</a><li>setCloseMode:
+ <a href="qdockwindow.html#setCloseMode">QDockWindow</a><li>setCodec:
+ <a href="qtextstream.html#setCodec">QTextStream</a><li>setCodecForCStrings:
+ <a href="qtextcodec.html#setCodecForCStrings">QTextCodec</a><li>setCodecForLocale:
+ <a href="qtextcodec.html#setCodecForLocale">QTextCodec</a><li>setCodecForTr:
+ <a href="qtextcodec.html#setCodecForTr">QTextCodec</a><li>setCol:
+ <a href="qtableitem.html#setCol">QTableItem</a><li>setColSpacing:
+ <a href="qgridlayout.html#setColSpacing">QGridLayout</a><li>setColStretch:
+ <a href="qgridlayout.html#setColStretch">QGridLayout</a><li>setCollapsible:
+ <a href="qsplitter.html#setCollapsible">QSplitter</a><li>setColor:
+ <a href="qbrush.html#setColor">QBrush</a> <a href="qcanvastext.html#setColor">QCanvasText</a> <a href="qcolordrag.html#setColor">QColorDrag</a> <a href="qcolorgroup.html#setColor">QColorGroup</a> <a href="qimage.html#setColor">QImage</a> <a href="qpalette.html#setColor">QPalette</a> <a href="qpen.html#setColor">QPen</a> <a href="qstylesheetitem.html#setColor">QStyleSheetItem</a> <a href="qtextedit.html#setColor">QTextEdit</a><li>setColorMode:
+ <a href="qprinter.html#setColorMode">QPrinter</a><li>setColorSpec:
+ <a href="qapplication.html#setColorSpec">QApplication</a><li>setColormap:
+ <a href="qglwidget.html#setColormap">QGLWidget</a><li>setColumn:
+ <a href="qdatatable.html#setColumn">QDataTable</a><li>setColumnAlignment:
+ <a href="qlistview.html#setColumnAlignment">QListView</a><li>setColumnLabels:
+ <a href="qtable.html#setColumnLabels">QTable</a><li>setColumnLayout:
+ <a href="qgroupbox.html#setColumnLayout">QGroupBox</a><li>setColumnMode:
+ <a href="qlistbox.html#setColumnMode">QListBox</a><li>setColumnMovingEnabled:
+ <a href="qtable.html#setColumnMovingEnabled">QTable</a><li>setColumnReadOnly:
+ <a href="qtable.html#setColumnReadOnly">QTable</a><li>setColumnStretchable:
+ <a href="qtable.html#setColumnStretchable">QTable</a><li>setColumnText:
+ <a href="qlistview.html#setColumnText">QListView</a><li>setColumnWidth:
+ <a href="qdatatable.html#setColumnWidth">QDataTable</a> <a href="qlistview.html#setColumnWidth">QListView</a> <a href="qtable.html#setColumnWidth">QTable</a><li>setColumnWidthMode:
+ <a href="qlistview.html#setColumnWidthMode">QListView</a><li>setColumns:
+ <a href="qgroupbox.html#setColumns">QGroupBox</a><li>setCommunication:
+ <a href="qprocess.html#setCommunication">QProcess</a><li>setConfirmCancels:
+ <a href="qdatabrowser.html#setConfirmCancels">QDataBrowser</a> <a href="qdatatable.html#setConfirmCancels">QDataTable</a><li>setConfirmDelete:
+ <a href="qdatabrowser.html#setConfirmDelete">QDataBrowser</a> <a href="qdatatable.html#setConfirmDelete">QDataTable</a><li>setConfirmEdits:
+ <a href="qdatabrowser.html#setConfirmEdits">QDataBrowser</a> <a href="qdatatable.html#setConfirmEdits">QDataTable</a><li>setConfirmInsert:
+ <a href="qdatabrowser.html#setConfirmInsert">QDataBrowser</a> <a href="qdatatable.html#setConfirmInsert">QDataTable</a><li>setConfirmUpdate:
+ <a href="qdatabrowser.html#setConfirmUpdate">QDataBrowser</a> <a href="qdatatable.html#setConfirmUpdate">QDataTable</a><li>setConnectOptions:
+ <a href="qsqldatabase.html#setConnectOptions">QSqlDatabase</a><li>setContent:
+ <a href="qdomdocument.html#setContent">QDomDocument</a><li>setContentFromEditor:
+ <a href="qtableitem.html#setContentFromEditor">QTableItem</a><li>setContentHandler:
+ <a href="qxmlreader.html#setContentHandler">QXmlReader</a><li>setContentLength:
+ <a href="qhttpheader.html#setContentLength">QHttpHeader</a><li>setContentType:
+ <a href="qhttpheader.html#setContentType">QHttpHeader</a><li>setContentsPos:
+ <a href="qscrollview.html#setContentsPos">QScrollView</a><li>setContentsPreview:
+ <a href="qfiledialog.html#setContentsPreview">QFileDialog</a><li>setContentsPreviewEnabled:
+ <a href="qfiledialog.html#setContentsPreviewEnabled">QFileDialog</a><li>setContexts:
+ <a href="qstylesheetitem.html#setContexts">QStyleSheetItem</a><li>setControl:
+ <a href="qaxbase.html#setControl">QAxBase</a><li>setControlPoints:
+ <a href="qcanvasspline.html#setControlPoints">QCanvasSpline</a><li>setCoords:
+ <a href="qrect.html#setCoords">QRect</a><li>setCornerWidget:
+ <a href="qscrollview.html#setCornerWidget">QScrollView</a> <a href="qtabwidget.html#setCornerWidget">QTabWidget</a><li>setCreator:
+ <a href="qprinter.html#setCreator">QPrinter</a><li>setCurrent:
+ <a href="qdir.html#setCurrent">QDir</a><li>setCurrentCell:
+ <a href="qtable.html#setCurrentCell">QTable</a><li>setCurrentFont:
+ <a href="qtextedit.html#setCurrentFont">QTextEdit</a><li>setCurrentIndex:
+ <a href="qtoolbox.html#setCurrentIndex">QToolBox</a><li>setCurrentItem:
+ <a href="qcombobox.html#setCurrentItem">QComboBox</a> <a href="qcombotableitem.html#setCurrentItem">QComboTableItem</a> <a href="qiconview.html#setCurrentItem">QIconView</a> <a href="qlistbox.html#setCurrentItem">QListBox</a> <a href="qlistview.html#setCurrentItem">QListView</a> <a href="qtoolbox.html#setCurrentItem">QToolBox</a><li>setCurrentPage:
+ <a href="qtabwidget.html#setCurrentPage">QTabWidget</a><li>setCurrentTab:
+ <a href="qtabbar.html#setCurrentTab">QTabBar</a><li>setCurrentText:
+ <a href="qcombobox.html#setCurrentText">QComboBox</a><li>setCursor:
+ <a href="qwidget.html#setCursor">QWidget</a><li>setCursorFlashTime:
+ <a href="qapplication.html#setCursorFlashTime">QApplication</a><li>setCursorName:
+ <a href="qsqlindex.html#setCursorName">QSqlIndex</a><li>setCursorPosition:
+ <a href="qlineedit.html#setCursorPosition">QLineEdit</a> <a href="qmultilineedit.html#setCursorPosition">QMultiLineEdit</a> <a href="qtextedit.html#setCursorPosition">QTextEdit</a><li>setCursorVisible:
+ <a href="qwsserver.html#setCursorVisible">QWSServer</a><li>setCustomColor:
+ <a href="qcolordialog.html#setCustomColor">QColorDialog</a><li>setCustomHighlighting:
+ <a href="qlistboxitem.html#setCustomHighlighting">QListBoxItem</a><li>setDTDHandler:
+ <a href="qxmlreader.html#setDTDHandler">QXmlReader</a><li>setData:
+ <a href="qclipboard.html#setData">QClipboard</a> <a href="qcustomevent.html#setData">QCustomEvent</a> <a href="qdomcharacterdata.html#setData">QDomCharacterData</a> <a href="qdomprocessinginstruction.html#setData">QDomProcessingInstruction</a> <a href="qicondragitem.html#setData">QIconDragItem</a> <a href="qmimesourcefactory.html#setData">QMimeSourceFactory</a> <a href="qpicture.html#setData">QPicture</a> <a href="qxmlinputsource.html#setData">QXmlInputSource</a><li>setDatabaseName:
+ <a href="qsqldatabase.html#setDatabaseName">QSqlDatabase</a><li>setDatabaseText:
+ <a href="qsqlerror.html#setDatabaseText">QSqlError</a><li>setDate:
+ <a href="qdateedit.html#setDate">QDateEdit</a> <a href="qdatetime.html#setDate">QDateTime</a><li>setDateFormat:
+ <a href="qdatatable.html#setDateFormat">QDataTable</a><li>setDateTime:
+ <a href="qdatetimeedit.html#setDateTime">QDateTimeEdit</a><li>setDay:
+ <a href="qdateedit.html#setDay">QDateEdit</a><li>setDecMode:
+ <a href="qlcdnumber.html#setDecMode">QLCDNumber</a><li>setDecimals:
+ <a href="qdoublevalidator.html#setDecimals">QDoubleValidator</a><li>setDeclHandler:
+ <a href="qxmlreader.html#setDeclHandler">QXmlReader</a><li>setDecodingFunction:
+ <a href="qfile.html#setDecodingFunction">QFile</a><li>setDefault:
+ <a href="qlocale.html#setDefault">QLocale</a> <a href="qpushbutton.html#setDefault">QPushButton</a><li>setDefaultButton:
+ <a href="qtabdialog.html#setDefaultButton">QTabDialog</a><li>setDefaultFactory:
+ <a href="qmimesourcefactory.html#setDefaultFactory">QMimeSourceFactory</a><li>setDefaultFont:
+ <a href="qsimplerichtext.html#setDefaultFont">QSimpleRichText</a><li>setDefaultFormat:
+ <a href="qglformat.html#setDefaultFormat">QGLFormat</a><li>setDefaultKeyboard:
+ <a href="qwsserver.html#setDefaultKeyboard">QWSServer</a><li>setDefaultMouse:
+ <a href="qwsserver.html#setDefaultMouse">QWSServer</a><li>setDefaultOptimization:
+ <a href="qpixmap.html#setDefaultOptimization">QPixmap</a><li>setDefaultOverlayFormat:
+ <a href="qglformat.html#setDefaultOverlayFormat">QGLFormat</a><li>setDefaultRenameAction:
+ <a href="qlistview.html#setDefaultRenameAction">QListView</a><li>setDefaultSheet:
+ <a href="qstylesheet.html#setDefaultSheet">QStyleSheet</a><li>setDefaultUp:
+ <a href="qmenubar.html#setDefaultUp">QMenuBar</a><li>setDelay:
+ <a href="qtooltipgroup.html#setDelay">QToolTipGroup</a><li>setDepth:
+ <a href="qglformat.html#setDepth">QGLFormat</a><li>setDescending:
+ <a href="qsqlindex.html#setDescending">QSqlIndex</a><li>setDescription:
+ <a href="qimageio.html#setDescription">QImageIO</a><li>setDesktopBackground:
+ <a href="qwsserver.html#setDesktopBackground">QWSServer</a><li>setDesktopSettingsAware:
+ <a href="qapplication.html#setDesktopSettingsAware">QApplication</a><li>setDevice:
+ <a href="qdatastream.html#setDevice">QDataStream</a> <a href="qtextstream.html#setDevice">QTextStream</a><li>setDir:
+ <a href="qfiledialog.html#setDir">QFileDialog</a> <a href="qurlinfo.html#setDir">QUrlInfo</a><li>setDirectRendering:
+ <a href="qglformat.html#setDirectRendering">QGLFormat</a><li>setDirection:
+ <a href="qboxlayout.html#setDirection">QBoxLayout</a><li>setDirty:
+ <a href="qscreen.html#setDirty">QScreen</a><li>setDisabled:
+ <a href="qaction.html#setDisabled">QAction</a> <a href="qpalette.html#setDisabled">QPalette</a> <a href="qwidget.html#setDisabled">QWidget</a><li>setDiscardCommand:
+ <a href="qsessionmanager.html#setDiscardCommand">QSessionManager</a><li>setDisplay:
+ <a href="qtimeedit.html#setDisplay">QTimeEdit</a><li>setDisplayMode:
+ <a href="qstylesheetitem.html#setDisplayMode">QStyleSheetItem</a><li>setDocName:
+ <a href="qprinter.html#setDocName">QPrinter</a><li>setDockEnabled:
+ <a href="qmainwindow.html#setDockEnabled">QMainWindow</a><li>setDockMenuEnabled:
+ <a href="qmainwindow.html#setDockMenuEnabled">QMainWindow</a><li>setDockWindowsMovable:
+ <a href="qmainwindow.html#setDockWindowsMovable">QMainWindow</a><li>setDocumentLocator:
+ <a href="qxmlcontenthandler.html#setDocumentLocator">QXmlContentHandler</a><li>setDotsPerMeterX:
+ <a href="qimage.html#setDotsPerMeterX">QImage</a><li>setDotsPerMeterY:
+ <a href="qimage.html#setDotsPerMeterY">QImage</a><li>setDoubleBuffer:
+ <a href="qglformat.html#setDoubleBuffer">QGLFormat</a><li>setDoubleBuffering:
+ <a href="qcanvas.html#setDoubleBuffering">QCanvas</a><li>setDoubleClickInterval:
+ <a href="qapplication.html#setDoubleClickInterval">QApplication</a><li>setDown:
+ <a href="qbutton.html#setDown">QButton</a> <a href="qbutton.html#setDown">QCheckBox</a> <a href="qbutton.html#setDown">QPushButton</a> <a href="qbutton.html#setDown">QRadioButton</a><li>setDragAutoScroll:
+ <a href="qscrollview.html#setDragAutoScroll">QScrollView</a><li>setDragEnabled:
+ <a href="qiconviewitem.html#setDragEnabled">QIconViewItem</a> <a href="qlineedit.html#setDragEnabled">QLineEdit</a> <a href="qlistviewitem.html#setDragEnabled">QListViewItem</a> <a href="qtable.html#setDragEnabled">QTable</a><li>setDriverText:
+ <a href="qsqlerror.html#setDriverText">QSqlError</a><li>setDropEnabled:
+ <a href="qiconviewitem.html#setDropEnabled">QIconViewItem</a> <a href="qlistviewitem.html#setDropEnabled">QListViewItem</a><li>setDuplicatesEnabled:
+ <a href="qcombobox.html#setDuplicatesEnabled">QComboBox</a><li>setEchoMode:
+ <a href="qlineedit.html#setEchoMode">QLineEdit</a><li>setEditMode:
+ <a href="qtable.html#setEditMode">QTable</a><li>setEditText:
+ <a href="qcombobox.html#setEditText">QComboBox</a><li>setEditable:
+ <a href="qcombobox.html#setEditable">QComboBox</a> <a href="qcombotableitem.html#setEditable">QComboTableItem</a><li>setEdited:
+ <a href="qmultilineedit.html#setEdited">QMultiLineEdit</a><li>setEffectEnabled:
+ <a href="qapplication.html#setEffectEnabled">QApplication</a><li>setEnabled:
+ <a href="qaccel.html#setEnabled">QAccel</a> <a href="qaction.html#setEnabled">QAction</a> <a href="qcanvasitem.html#setEnabled">QCanvasItem</a> <a href="qlayout.html#setEnabled">QLayout</a> <a href="qlistviewitem.html#setEnabled">QListViewItem</a> <a href="qsocketnotifier.html#setEnabled">QSocketNotifier</a> <a href="qtab.html#setEnabled">QTab</a> <a href="qtableitem.html#setEnabled">QTableItem</a> <a href="qtooltipgroup.html#setEnabled">QToolTipGroup</a> <a href="qwidget.html#setEnabled">QWidget</a><li>setEncodedData:
+ <a href="qstoreddrag.html#setEncodedData">QStoredDrag</a><li>setEncodedPathAndQuery:
+ <a href="qurl.html#setEncodedPathAndQuery">QUrl</a><li>setEncoding:
+ <a href="qtextstream.html#setEncoding">QTextStream</a><li>setEncodingFunction:
+ <a href="qfile.html#setEncodingFunction">QFile</a><li>setEntityResolver:
+ <a href="qxmlreader.html#setEntityResolver">QXmlReader</a><li>setEntries:
+ <a href="qglcolormap.html#setEntries">QGLColormap</a><li>setEntry:
+ <a href="qglcolormap.html#setEntry">QGLColormap</a><li>setEraseColor:
+ <a href="qwidget.html#setEraseColor">QWidget</a><li>setErasePixmap:
+ <a href="qwidget.html#setErasePixmap">QWidget</a><li>setError:
+ <a href="qsocketdevice.html#setError">QSocketDevice</a><li>setErrorCode:
+ <a href="qnetworkoperation.html#setErrorCode">QNetworkOperation</a><li>setErrorHandler:
+ <a href="qxmlreader.html#setErrorHandler">QXmlReader</a><li>setErrorString:
+ <a href="qfile.html#setErrorString">QFile</a><li>setExclusive:
+ <a href="qactiongroup.html#setExclusive">QActionGroup</a> <a href="qbuttongroup.html#setExclusive">QButtonGroup</a><li>setExpand:
+ <a href="qcstring.html#setExpand">QCString</a><li>setExpandable:
+ <a href="qlistviewitem.html#setExpandable">QListViewItem</a><li>setExtension:
+ <a href="qdialog.html#setExtension">QDialog</a><li>setExtensionType:
+ <a href="qmimesourcefactory.html#setExtensionType">QMimeSourceFactory</a><li>setFalseText:
+ <a href="qdatatable.html#setFalseText">QDataTable</a><li>setFamily:
+ <a href="qfont.html#setFamily">QFont</a> <a href="qtextedit.html#setFamily">QTextEdit</a><li>setFeature:
+ <a href="qxmlreader.html#setFeature">QXmlReader</a> <a href="qxmlsimplereader.html#setFeature">QXmlSimpleReader</a><li>setFile:
+ <a href="qfileinfo.html#setFile">QFileInfo</a> <a href="qurlinfo.html#setFile">QUrlInfo</a><li>setFileName:
+ <a href="qimageio.html#setFileName">QImageIO</a> <a href="qurl.html#setFileName">QUrl</a><li>setFileNames:
+ <a href="quridrag.html#setFileNames">QUriDrag</a><li>setFilePath:
+ <a href="qmimesourcefactory.html#setFilePath">QMimeSourceFactory</a><li>setFilter:
+ <a href="qdatabrowser.html#setFilter">QDataBrowser</a> <a href="qdatatable.html#setFilter">QDataTable</a> <a href="qdir.html#setFilter">QDir</a> <a href="qfiledialog.html#setFilter">QFileDialog</a> <a href="qsqlcursor.html#setFilter">QSqlCursor</a><li>setFilters:
+ <a href="qfiledialog.html#setFilters">QFileDialog</a><li>setFinishEnabled:
+ <a href="qwizard.html#setFinishEnabled">QWizard</a><li>setFixedExtentHeight:
+ <a href="qdockwindow.html#setFixedExtentHeight">QDockWindow</a><li>setFixedExtentWidth:
+ <a href="qdockwindow.html#setFixedExtentWidth">QDockWindow</a><li>setFixedHeight:
+ <a href="qwidget.html#setFixedHeight">QWidget</a><li>setFixedPitch:
+ <a href="qfont.html#setFixedPitch">QFont</a><li>setFixedSize:
+ <a href="qwidget.html#setFixedSize">QWidget</a><li>setFixedWidth:
+ <a href="qwidget.html#setFixedWidth">QWidget</a><li>setFlags:
+ <a href="qiodevice.html#setFlags">QIODevice</a><li>setFlat:
+ <a href="qgroupbox.html#setFlat">QGroupBox</a> <a href="qpushbutton.html#setFlat">QPushButton</a><li>setFocus:
+ <a href="qaccessibleinterface.html#setFocus">QAccessibleInterface</a> <a href="qwidget.html#setFocus">QWidget</a><li>setFocusPolicy:
+ <a href="qwidget.html#setFocusPolicy">QWidget</a><li>setFocusProxy:
+ <a href="qwidget.html#setFocusProxy">QWidget</a><li>setFocusRectPolicy:
+ <a href="qmacstyle.html#setFocusRectPolicy">QMacStyle</a><li>setFocusStyle:
+ <a href="qtable.html#setFocusStyle">QTable</a><li>setFont:
+ <a href="qapplication.html#setFont">QApplication</a> <a href="qcanvastext.html#setFont">QCanvasText</a> <a href="qcombobox.html#setFont">QComboBox</a> <a href="qcustommenuitem.html#setFont">QCustomMenuItem</a> <a href="qlabel.html#setFont">QLabel</a> <a href="qpainter.html#setFont">QPainter</a> <a href="qtabdialog.html#setFont">QTabDialog</a> <a href="qtooltip.html#setFont">QToolTip</a> <a href="qwsinputmethod.html#setFont">QWSInputMethod</a> <a href="qwhatsthis.html#setFont">QWhatsThis</a> <a href="qwidget.html#setFont">QWidget</a><li>setFontFamily:
+ <a href="qstylesheetitem.html#setFontFamily">QStyleSheetItem</a><li>setFontItalic:
+ <a href="qstylesheetitem.html#setFontItalic">QStyleSheetItem</a><li>setFontSize:
+ <a href="qstylesheetitem.html#setFontSize">QStyleSheetItem</a><li>setFontStrikeOut:
+ <a href="qstylesheetitem.html#setFontStrikeOut">QStyleSheetItem</a><li>setFontUnderline:
+ <a href="qstylesheetitem.html#setFontUnderline">QStyleSheetItem</a><li>setFontWeight:
+ <a href="qstylesheetitem.html#setFontWeight">QStyleSheetItem</a><li>setForm:
+ <a href="qdatabrowser.html#setForm">QDataBrowser</a> <a href="qdataview.html#setForm">QDataView</a><li>setFormat:
+ <a href="qglcontext.html#setFormat">QGLContext</a> <a href="qimageio.html#setFormat">QImageIO</a> <a href="qsyntaxhighlighter.html#setFormat">QSyntaxHighlighter</a><li>setForwardOnly:
+ <a href="qsqlquery.html#setForwardOnly">QSqlQuery</a> <a href="qsqlresult.html#setForwardOnly">QSqlResult</a><li>setFrame:
+ <a href="qcanvassprite.html#setFrame">QCanvasSprite</a> <a href="qlineedit.html#setFrame">QLineEdit</a><li>setFrameAnimation:
+ <a href="qcanvassprite.html#setFrameAnimation">QCanvasSprite</a><li>setFramePeriod:
+ <a href="qimageconsumer.html#setFramePeriod">QImageConsumer</a><li>setFrameRect:
+ <a href="qframe.html#setFrameRect">QFrame</a><li>setFrameShadow:
+ <a href="qframe.html#setFrameShadow">QFrame</a><li>setFrameShape:
+ <a href="qframe.html#setFrameShape">QFrame</a><li>setFrameStyle:
+ <a href="qframe.html#setFrameStyle">QFrame</a><li>setFromTo:
+ <a href="qprinter.html#setFromTo">QPrinter</a><li>setFullPage:
+ <a href="qprinter.html#setFullPage">QPrinter</a><li>setGamma:
+ <a href="qimageio.html#setGamma">QImageIO</a><li>setGenerated:
+ <a href="qsqlcursor.html#setGenerated">QSqlCursor</a> <a href="qsqlfieldinfo.html#setGenerated">QSqlFieldInfo</a> <a href="qsqlrecord.html#setGenerated">QSqlRecord</a><li>setGeometry:
+ <a href="qboxlayout.html#setGeometry">QBoxLayout</a> <a href="qgridlayout.html#setGeometry">QGridLayout</a> <a href="qlayout.html#setGeometry">QLayout</a> <a href="qlayoutitem.html#setGeometry">QLayoutItem</a> <a href="qspaceritem.html#setGeometry">QSpacerItem</a> <a href="qwidget.html#setGeometry">QWidget</a> <a href="qwidgetitem.html#setGeometry">QWidgetItem</a><li>setGlobalMouseTracking:
+ <a href="qapplication.html#setGlobalMouseTracking">QApplication</a><li>setGlobalStrut:
+ <a href="qapplication.html#setGlobalStrut">QApplication</a><li>setGloballyEnabled:
+ <a href="qtooltip.html#setGloballyEnabled">QToolTip</a><li>setGridX:
+ <a href="qiconview.html#setGridX">QIconView</a><li>setGridY:
+ <a href="qiconview.html#setGridY">QIconView</a><li>setGroup:
+ <a href="qurlinfo.html#setGroup">QUrlInfo</a><li>setHBarGeometry:
+ <a href="qscrollview.html#setHBarGeometry">QScrollView</a><li>setHMS:
+ <a href="qtime.html#setHMS">QTime</a><li>setHScrollBarMode:
+ <a href="qscrollview.html#setHScrollBarMode">QScrollView</a><li>setHandleWidth:
+ <a href="qsplitter.html#setHandleWidth">QSplitter</a><li>setHeight:
+ <a href="qlistviewitem.html#setHeight">QListViewItem</a> <a href="qrect.html#setHeight">QRect</a> <a href="qsize.html#setHeight">QSize</a><li>setHeightForWidth:
+ <a href="qsizepolicy.html#setHeightForWidth">QSizePolicy</a><li>setHelpButton:
+ <a href="qtabdialog.html#setHelpButton">QTabDialog</a><li>setHelpEnabled:
+ <a href="qwizard.html#setHelpEnabled">QWizard</a><li>setHexMode:
+ <a href="qlcdnumber.html#setHexMode">QLCDNumber</a><li>setHidden:
+ <a href="qwidget.html#setHidden">QWidget</a><li>setHorData:
+ <a href="qsizepolicy.html#setHorData">QSizePolicy</a><li>setHorStretch:
+ <a href="qsizepolicy.html#setHorStretch">QSizePolicy</a><li>setHorizontallyStretchable:
+ <a href="qdockwindow.html#setHorizontallyStretchable">QDockWindow</a><li>setHost:
+ <a href="qhttp.html#setHost">QHttp</a> <a href="qurl.html#setHost">QUrl</a><li>setHostName:
+ <a href="qsqldatabase.html#setHostName">QSqlDatabase</a><li>setHour:
+ <a href="qtimeedit.html#setHour">QTimeEdit</a><li>setHsv:
+ <a href="qcolor.html#setHsv">QColor</a><li>setIODevice:
+ <a href="qimageio.html#setIODevice">QImageIO</a><li>setIcon:
+ <a href="qmessagebox.html#setIcon">QMessageBox</a> <a href="qwidget.html#setIcon">QWidget</a><li>setIconPixmap:
+ <a href="qmessagebox.html#setIconPixmap">QMessageBox</a><li>setIconProvider:
+ <a href="qfiledialog.html#setIconProvider">QFileDialog</a><li>setIconSet:
+ <a href="qaction.html#setIconSet">QAction</a> <a href="qpushbutton.html#setIconSet">QPushButton</a> <a href="qtab.html#setIconSet">QTab</a> <a href="qtoolbutton.html#setIconSet">QToolButton</a><li>setIconSize:
+ <a href="qiconset.html#setIconSize">QIconSet</a><li>setIconText:
+ <a href="qwidget.html#setIconText">QWidget</a><li>setId:
+ <a href="qmenudata.html#setId">QMenuData</a><li>setIdentifier:
+ <a href="qtab.html#setIdentifier">QTab</a><li>setImage:
+ <a href="qcanvaspixmaparray.html#setImage">QCanvasPixmapArray</a> <a href="qclipboard.html#setImage">QClipboard</a> <a href="qimagedrag.html#setImage">QImageDrag</a> <a href="qimageio.html#setImage">QImageIO</a> <a href="qmimesourcefactory.html#setImage">QMimeSourceFactory</a><li>setInactive:
+ <a href="qpalette.html#setInactive">QPalette</a><li>setIndent:
+ <a href="qlabel.html#setIndent">QLabel</a><li>setIndicator:
+ <a href="qprogressbar.html#setIndicator">QProgressBar</a><li>setIndicatorFollowsStyle:
+ <a href="qprogressbar.html#setIndicatorFollowsStyle">QProgressBar</a><li>setInfoPreview:
+ <a href="qfiledialog.html#setInfoPreview">QFileDialog</a><li>setInfoPreviewEnabled:
+ <a href="qfiledialog.html#setInfoPreviewEnabled">QFileDialog</a><li>setInitialized:
+ <a href="qglcontext.html#setInitialized">QGLContext</a><li>setInputMask:
+ <a href="qlineedit.html#setInputMask">QLineEdit</a><li>setInputMethodEnabled:
+ <a href="qwidget.html#setInputMethodEnabled">QWidget</a><li>setInsertionPolicy:
+ <a href="qcombobox.html#setInsertionPolicy">QComboBox</a><li>setInsideMargin:
+ <a href="qgroupbox.html#setInsideMargin">QGroupBox</a><li>setInsideSpacing:
+ <a href="qgroupbox.html#setInsideSpacing">QGroupBox</a><li>setItalic:
+ <a href="qfont.html#setItalic">QFont</a> <a href="qtextedit.html#setItalic">QTextEdit</a><li>setItem:
+ <a href="qtable.html#setItem">QTable</a><li>setItemChecked:
+ <a href="qmenudata.html#setItemChecked">QMenuData</a> <a href="qmenudata.html#setItemChecked">QPopupMenu</a><li>setItemEnabled:
+ <a href="qaccel.html#setItemEnabled">QAccel</a> <a href="qmenudata.html#setItemEnabled">QMenuBar</a> <a href="qmenudata.html#setItemEnabled">QMenuData</a> <a href="qmenudata.html#setItemEnabled">QPopupMenu</a> <a href="qtoolbox.html#setItemEnabled">QToolBox</a><li>setItemIconSet:
+ <a href="qtoolbox.html#setItemIconSet">QToolBox</a><li>setItemLabel:
+ <a href="qtoolbox.html#setItemLabel">QToolBox</a><li>setItemMargin:
+ <a href="qlistview.html#setItemMargin">QListView</a><li>setItemParameter:
+ <a href="qmenudata.html#setItemParameter">QMenuData</a> <a href="qmenudata.html#setItemParameter">QPopupMenu</a><li>setItemRect:
+ <a href="qiconviewitem.html#setItemRect">QIconViewItem</a><li>setItemTextBackground:
+ <a href="qiconview.html#setItemTextBackground">QIconView</a><li>setItemTextPos:
+ <a href="qiconview.html#setItemTextPos">QIconView</a><li>setItemToolTip:
+ <a href="qtoolbox.html#setItemToolTip">QToolBox</a><li>setItemVisible:
+ <a href="qmenudata.html#setItemVisible">QMenuBar</a> <a href="qmenudata.html#setItemVisible">QMenuData</a> <a href="qmenudata.html#setItemVisible">QPopupMenu</a><li>setItemsMovable:
+ <a href="qiconview.html#setItemsMovable">QIconView</a><li>setJoinStyle:
+ <a href="qpen.html#setJoinStyle">QPen</a><li>setKey:
+ <a href="qiconviewitem.html#setKey">QIconViewItem</a><li>setKeyCompression:
+ <a href="qwidget.html#setKeyCompression">QWidget</a><li>setKeyboardFilter:
+ <a href="qwsserver.html#setKeyboardFilter">QWSServer</a><li>setKeyboardHandler:
+ <a href="qwsserver.html#setKeyboardHandler">QWSServer</a><li>setLabel:
+ <a href="qdns.html#setLabel">QDns</a> <a href="qheader.html#setLabel">QHeader</a> <a href="qprogressdialog.html#setLabel">QProgressDialog</a> <a href="qtoolbar.html#setLabel">QToolBar</a><li>setLabelText:
+ <a href="qprogressdialog.html#setLabelText">QProgressDialog</a><li>setLastError:
+ <a href="qsqldriver.html#setLastError">QSqlDriver</a> <a href="qsqlresult.html#setLastError">QSqlResult</a><li>setLastModified:
+ <a href="qurlinfo.html#setLastModified">QUrlInfo</a><li>setLatin1:
+ <a href="qstring.html#setLatin1">QString</a><li>setLeft:
+ <a href="qrect.html#setLeft">QRect</a><li>setLeftMargin:
+ <a href="qtable.html#setLeftMargin">QTable</a><li>setLength:
+ <a href="qstring.html#setLength">QString</a><li>setLexicalHandler:
+ <a href="qxmlreader.html#setLexicalHandler">QXmlReader</a><li>setLibraryPaths:
+ <a href="qapplication.html#setLibraryPaths">QApplication</a><li>setLineEdit:
+ <a href="qcombobox.html#setLineEdit">QComboBox</a><li>setLineStep:
+ <a href="qdial.html#setLineStep">QDial</a> <a href="qscrollbar.html#setLineStep">QScrollBar</a> <a href="qslider.html#setLineStep">QSlider</a> <a href="qspinbox.html#setLineStep">QSpinBox</a><li>setLineWidth:
+ <a href="qframe.html#setLineWidth">QFrame</a><li>setLinkUnderline:
+ <a href="qtextedit.html#setLinkUnderline">QTextEdit</a><li>setListBox:
+ <a href="qcombobox.html#setListBox">QComboBox</a><li>setListStyle:
+ <a href="qstylesheetitem.html#setListStyle">QStyleSheetItem</a><li>setLocalData:
+ <a href="qthreadstorage.html#setLocalData">QThreadStorage</a><li>setLogicalFontSize:
+ <a href="qstylesheetitem.html#setLogicalFontSize">QStyleSheetItem</a><li>setLogicalFontSizeStep:
+ <a href="qstylesheetitem.html#setLogicalFontSizeStep">QStyleSheetItem</a><li>setLooping:
+ <a href="qimageconsumer.html#setLooping">QImageConsumer</a><li>setLoops:
+ <a href="qsound.html#setLoops">QSound</a><li>setMainWidget:
+ <a href="qapplication.html#setMainWidget">QApplication</a><li>setManagerProperty:
+ <a href="qsessionmanager.html#setManagerProperty">QSessionManager</a><li>setMapping:
+ <a href="qsignalmapper.html#setMapping">QSignalMapper</a><li>setMargin:
+ <a href="qframe.html#setMargin">QFrame</a> <a href="qlayout.html#setMargin">QLayout</a> <a href="qstylesheetitem.html#setMargin">QStyleSheetItem</a> <a href="qtabwidget.html#setMargin">QTabWidget</a><li>setMargins:
+ <a href="qprinter.html#setMargins">QPrinter</a> <a href="qscrollview.html#setMargins">QScrollView</a><li>setMask:
+ <a href="qpixmap.html#setMask">QPixmap</a> <a href="qwidget.html#setMask">QWidget</a><li>setMatchAllDirs:
+ <a href="qdir.html#setMatchAllDirs">QDir</a><li>setMatrix:
+ <a href="qwmatrix.html#setMatrix">QWMatrix</a><li>setMaxCost:
+ <a href="qasciicache.html#setMaxCost">QAsciiCache</a> <a href="qcache.html#setMaxCost">QCache</a> <a href="qintcache.html#setMaxCost">QIntCache</a><li>setMaxCount:
+ <a href="qcombobox.html#setMaxCount">QComboBox</a><li>setMaxItemTextLength:
+ <a href="qiconview.html#setMaxItemTextLength">QIconView</a><li>setMaxItemWidth:
+ <a href="qiconview.html#setMaxItemWidth">QIconView</a><li>setMaxLength:
+ <a href="qlineedit.html#setMaxLength">QLineEdit</a><li>setMaxLogLines:
+ <a href="qtextedit.html#setMaxLogLines">QTextEdit</a><li>setMaxValue:
+ <a href="qdateedit.html#setMaxValue">QDateEdit</a> <a href="qdial.html#setMaxValue">QDial</a> <a href="qrangecontrol.html#setMaxValue">QRangeControl</a> <a href="qscrollbar.html#setMaxValue">QScrollBar</a> <a href="qslider.html#setMaxValue">QSlider</a> <a href="qspinbox.html#setMaxValue">QSpinBox</a> <a href="qtimeedit.html#setMaxValue">QTimeEdit</a><li>setMaxWindowRect:
+ <a href="qwsserver.html#setMaxWindowRect">QWSServer</a><li>setMaximumHeight:
+ <a href="qwidget.html#setMaximumHeight">QWidget</a><li>setMaximumSize:
+ <a href="qwidget.html#setMaximumSize">QWidget</a><li>setMaximumWidth:
+ <a href="qwidget.html#setMaximumWidth">QWidget</a><li>setMenuBar:
+ <a href="qlayout.html#setMenuBar">QLayout</a><li>setMenuText:
+ <a href="qaction.html#setMenuText">QAction</a><li>setMicroFocus:
+ <a href="qwsinputmethod.html#setMicroFocus">QWSInputMethod</a><li>setMicroFocusHint:
+ <a href="qwidget.html#setMicroFocusHint">QWidget</a><li>setMidLineWidth:
+ <a href="qframe.html#setMidLineWidth">QFrame</a><li>setMimeSourceFactory:
+ <a href="qtextedit.html#setMimeSourceFactory">QTextEdit</a><li>setMinMax:
+ <a href="qprinter.html#setMinMax">QPrinter</a><li>setMinValue:
+ <a href="qdateedit.html#setMinValue">QDateEdit</a> <a href="qdial.html#setMinValue">QDial</a> <a href="qrangecontrol.html#setMinValue">QRangeControl</a> <a href="qscrollbar.html#setMinValue">QScrollBar</a> <a href="qslider.html#setMinValue">QSlider</a> <a href="qspinbox.html#setMinValue">QSpinBox</a> <a href="qtimeedit.html#setMinValue">QTimeEdit</a><li>setMinimal:
+ <a href="qregexp.html#setMinimal">QRegExp</a><li>setMinimumDuration:
+ <a href="qprogressdialog.html#setMinimumDuration">QProgressDialog</a><li>setMinimumHeight:
+ <a href="qwidget.html#setMinimumHeight">QWidget</a><li>setMinimumSize:
+ <a href="qwidget.html#setMinimumSize">QWidget</a><li>setMinimumWidth:
+ <a href="qwidget.html#setMinimumWidth">QWidget</a><li>setMinute:
+ <a href="qtimeedit.html#setMinute">QTimeEdit</a><li>setModal:
+ <a href="qdialog.html#setModal">QDialog</a><li>setMode:
+ <a href="qfiledialog.html#setMode">QFileDialog</a> <a href="qiodevice.html#setMode">QIODevice</a> <a href="qlcdnumber.html#setMode">QLCDNumber</a> <a href="qscreen.html#setMode">QScreen</a> <a href="qsqlcursor.html#setMode">QSqlCursor</a><li>setModified:
+ <a href="qtextedit.html#setModified">QTextEdit</a><li>setMonth:
+ <a href="qdateedit.html#setMonth">QDateEdit</a><li>setMouseTracking:
+ <a href="qwidget.html#setMouseTracking">QWidget</a><li>setMovie:
+ <a href="qlabel.html#setMovie">QLabel</a><li>setMovingEnabled:
+ <a href="qdockwindow.html#setMovingEnabled">QDockWindow</a> <a href="qheader.html#setMovingEnabled">QHeader</a><li>setMultiLinesEnabled:
+ <a href="qlistviewitem.html#setMultiLinesEnabled">QListViewItem</a><li>setName:
+ <a href="qfile.html#setName">QFile</a> <a href="qobject.html#setName">QObject</a> <a href="qsqlcursor.html#setName">QSqlCursor</a> <a href="qsqlfield.html#setName">QSqlField</a> <a href="qsqlindex.html#setName">QSqlIndex</a> <a href="qurlinfo.html#setName">QUrlInfo</a><li>setNameFilter:
+ <a href="qdir.html#setNameFilter">QDir</a> <a href="qurloperator.html#setNameFilter">QUrlOperator</a><li>setNamedColor:
+ <a href="qcolor.html#setNamedColor">QColor</a><li>setNamedItem:
+ <a href="qdomnamednodemap.html#setNamedItem">QDomNamedNodeMap</a><li>setNamedItemNS:
+ <a href="qdomnamednodemap.html#setNamedItemNS">QDomNamedNodeMap</a><li>setNewLine:
+ <a href="qdockwindow.html#setNewLine">QDockWindow</a><li>setNextEnabled:
+ <a href="qwizard.html#setNextEnabled">QWizard</a><li>setNoChange:
+ <a href="qcheckbox.html#setNoChange">QCheckBox</a><li>setNodeValue:
+ <a href="qdomnode.html#setNodeValue">QDomNode</a><li>setNotchTarget:
+ <a href="qdial.html#setNotchTarget">QDial</a><li>setNotchesVisible:
+ <a href="qdial.html#setNotchesVisible">QDial</a><li>setNull:
+ <a href="qsqlfield.html#setNull">QSqlField</a> <a href="qsqlrecord.html#setNull">QSqlRecord</a><li>setNullText:
+ <a href="qdatatable.html#setNullText">QDataTable</a><li>setNum:
+ <a href="qcstring.html#setNum">QCString</a> <a href="qlabel.html#setNum">QLabel</a> <a href="qstring.html#setNum">QString</a><li>setNumColors:
+ <a href="qimage.html#setNumColors">QImage</a><li>setNumCols:
+ <a href="qgridview.html#setNumCols">QGridView</a> <a href="qtable.html#setNumCols">QTable</a><li>setNumCopies:
+ <a href="qprinter.html#setNumCopies">QPrinter</a><li>setNumDigits:
+ <a href="qlcdnumber.html#setNumDigits">QLCDNumber</a><li>setNumRows:
+ <a href="qgridview.html#setNumRows">QGridView</a> <a href="qtable.html#setNumRows">QTable</a><li>setNumber:
+ <a href="qsqlerror.html#setNumber">QSqlError</a><li>setOctMode:
+ <a href="qlcdnumber.html#setOctMode">QLCDNumber</a><li>setOffset:
+ <a href="qcanvaspixmap.html#setOffset">QCanvasPixmap</a> <a href="qdockwindow.html#setOffset">QDockWindow</a> <a href="qheader.html#setOffset">QHeader</a> <a href="qimage.html#setOffset">QImage</a><li>setOkButton:
+ <a href="qtabdialog.html#setOkButton">QTabDialog</a><li>setOn:
+ <a href="qaction.html#setOn">QAction</a> <a href="qbutton.html#setOn">QButton</a> <a href="qchecklistitem.html#setOn">QCheckListItem</a> <a href="qpushbutton.html#setOn">QPushButton</a> <a href="qtoolbutton.html#setOn">QToolButton</a><li>setOpaqueMoving:
+ <a href="qdockwindow.html#setOpaqueMoving">QDockWindow</a> <a href="qmainwindow.html#setOpaqueMoving">QMainWindow</a><li>setOpaqueResize:
+ <a href="qsplitter.html#setOpaqueResize">QSplitter</a><li>setOpen:
+ <a href="qlistview.html#setOpen">QListView</a> <a href="qlistviewitem.html#setOpen">QListViewItem</a> <a href="qsqldriver.html#setOpen">QSqlDriver</a><li>setOpenError:
+ <a href="qsqldriver.html#setOpenError">QSqlDriver</a><li>setOptimization:
+ <a href="qpixmap.html#setOptimization">QPixmap</a><li>setOption:
+ <a href="qglformat.html#setOption">QGLFormat</a><li>setOptionEnabled:
+ <a href="qprinter.html#setOptionEnabled">QPrinter</a><li>setOrder:
+ <a href="qdateedit.html#setOrder">QDateEdit</a><li>setOrientation:
+ <a href="qdialog.html#setOrientation">QDialog</a> <a href="qdockwindow.html#setOrientation">QDockWindow</a> <a href="qgroupbox.html#setOrientation">QGroupBox</a> <a href="qheader.html#setOrientation">QHeader</a> <a href="qprinter.html#setOrientation">QPrinter</a> <a href="qscrollbar.html#setOrientation">QScrollBar</a> <a href="qslider.html#setOrientation">QSlider</a> <a href="qsplitter.html#setOrientation">QSplitter</a><li>setOrigin:
+ <a href="qgridlayout.html#setOrigin">QGridLayout</a><li>setOutputFileName:
+ <a href="qprinter.html#setOutputFileName">QPrinter</a><li>setOutputToFile:
+ <a href="qprinter.html#setOutputToFile">QPrinter</a><li>setOverlay:
+ <a href="qglformat.html#setOverlay">QGLFormat</a><li>setOverline:
+ <a href="qfont.html#setOverline">QFont</a><li>setOverrideCursor:
+ <a href="qapplication.html#setOverrideCursor">QApplication</a><li>setOverrideKeys:
+ QWSServer<li>setOverwriteMode:
+ <a href="qtextedit.html#setOverwriteMode">QTextEdit</a><li>setOwner:
+ <a href="qurlinfo.html#setOwner">QUrlInfo</a><li>setPageOrder:
+ <a href="qprinter.html#setPageOrder">QPrinter</a><li>setPageSize:
+ <a href="qprinter.html#setPageSize">QPrinter</a><li>setPageStep:
+ <a href="qdial.html#setPageStep">QDial</a> <a href="qscrollbar.html#setPageStep">QScrollBar</a> <a href="qslider.html#setPageStep">QSlider</a><li>setPalette:
+ <a href="qapplication.html#setPalette">QApplication</a> <a href="qcombobox.html#setPalette">QComboBox</a> <a href="qscrollbar.html#setPalette">QScrollBar</a> <a href="qslider.html#setPalette">QSlider</a> <a href="qtooltip.html#setPalette">QToolTip</a> <a href="qwidget.html#setPalette">QWidget</a><li>setPaletteBackgroundColor:
+ <a href="qwidget.html#setPaletteBackgroundColor">QWidget</a><li>setPaletteBackgroundPixmap:
+ <a href="qwidget.html#setPaletteBackgroundPixmap">QWidget</a><li>setPaletteForegroundColor:
+ <a href="qwidget.html#setPaletteForegroundColor">QWidget</a><li>setPaper:
+ <a href="qtextedit.html#setPaper">QTextEdit</a><li>setPaperSource:
+ <a href="qprinter.html#setPaperSource">QPrinter</a><li>setParagraphBackgroundColor:
+ <a href="qtextedit.html#setParagraphBackgroundColor">QTextEdit</a><li>setParameters:
+ <a href="qimageio.html#setParameters">QImageIO</a><li>setPassword:
+ <a href="qsqldatabase.html#setPassword">QSqlDatabase</a> <a href="qurl.html#setPassword">QUrl</a><li>setPath:
+ <a href="qdir.html#setPath">QDir</a> <a href="qsettings.html#setPath">QSettings</a> <a href="qurl.html#setPath">QUrl</a><li>setPattern:
+ <a href="qregexp.html#setPattern">QRegExp</a><li>setPen:
+ <a href="qcanvaspolygonalitem.html#setPen">QCanvasPolygonalItem</a> <a href="qpainter.html#setPen">QPainter</a><li>setPercentageVisible:
+ <a href="qprogressbar.html#setPercentageVisible">QProgressBar</a><li>setPermissions:
+ <a href="qurlinfo.html#setPermissions">QUrlInfo</a><li>setPicture:
+ <a href="qiconviewitem.html#setPicture">QIconViewItem</a> <a href="qlabel.html#setPicture">QLabel</a><li>setPixel:
+ <a href="qimage.html#setPixel">QImage</a><li>setPixelAlignment:
+ <a href="qpngimagepacker.html#setPixelAlignment">QPNGImagePacker</a><li>setPixelSize:
+ <a href="qfont.html#setPixelSize">QFont</a><li>setPixmap:
+ <a href="qbrush.html#setPixmap">QBrush</a> <a href="qbutton.html#setPixmap">QButton</a> <a href="qbutton.html#setPixmap">QCheckBox</a> <a href="qclipboard.html#setPixmap">QClipboard</a> <a href="qdragobject.html#setPixmap">QDragObject</a> <a href="qiconset.html#setPixmap">QIconSet</a> <a href="qiconviewitem.html#setPixmap">QIconViewItem</a> <a href="qlabel.html#setPixmap">QLabel</a> <a href="qlistviewitem.html#setPixmap">QListViewItem</a> <a href="qmimesourcefactory.html#setPixmap">QMimeSourceFactory</a> <a href="qbutton.html#setPixmap">QPushButton</a> <a href="qbutton.html#setPixmap">QRadioButton</a> <a href="qsplashscreen.html#setPixmap">QSplashScreen</a> <a href="qtable.html#setPixmap">QTable</a> <a href="qtableitem.html#setPixmap">QTableItem</a><li>setPixmapRect:
+ <a href="qiconviewitem.html#setPixmapRect">QIconViewItem</a><li>setPlane:
+ <a href="qglformat.html#setPlane">QGLFormat</a><li>setPoint:
+ <a href="qdropevent.html#setPoint">QDropEvent</a> <a href="qpointarray.html#setPoint">QPointArray</a><li>setPointSize:
+ <a href="qfont.html#setPointSize">QFont</a> <a href="qtextedit.html#setPointSize">QTextEdit</a><li>setPointSizeFloat:
+ <a href="qfont.html#setPointSizeFloat">QFont</a><li>setPoints:
+ <a href="qcanvasline.html#setPoints">QCanvasLine</a> <a href="qcanvaspolygon.html#setPoints">QCanvasPolygon</a><li>setPopup:
+ <a href="qpushbutton.html#setPopup">QPushButton</a> <a href="qtoolbutton.html#setPopup">QToolButton</a><li>setPopupDelay:
+ <a href="qtoolbutton.html#setPopupDelay">QToolButton</a><li>setPort:
+ <a href="qsqldatabase.html#setPort">QSqlDatabase</a> <a href="qurl.html#setPort">QUrl</a><li>setPos:
+ <a href="qcursor.html#setPos">QCursor</a><li>setPrefix:
+ <a href="qdomnode.html#setPrefix">QDomNode</a> <a href="qspinbox.html#setPrefix">QSpinBox</a> <a href="qxmlnamespacesupport.html#setPrefix">QXmlNamespaceSupport</a><li>setPreviewMode:
+ <a href="qfiledialog.html#setPreviewMode">QFileDialog</a><li>setPrimaryIndex:
+ <a href="qsqlcursor.html#setPrimaryIndex">QSqlCursor</a><li>setPrintProgram:
+ <a href="qprinter.html#setPrintProgram">QPrinter</a><li>setPrintRange:
+ <a href="qprinter.html#setPrintRange">QPrinter</a><li>setPrintableData:
+ <a href="qdatastream.html#setPrintableData">QDataStream</a><li>setPrinterName:
+ <a href="qprinter.html#setPrinterName">QPrinter</a><li>setPrinterSelectionOption:
+ <a href="qprinter.html#setPrinterSelectionOption">QPrinter</a><li>setProgress:
+ <a href="qprogressbar.html#setProgress">QProgressBar</a> <a href="qprogressdialog.html#setProgress">QProgressDialog</a><li>setProperty:
+ <a href="qobject.html#setProperty">QObject</a> <a href="qsqlpropertymap.html#setProperty">QSqlPropertyMap</a> <a href="qxmlreader.html#setProperty">QXmlReader</a><li>setPropertyBag:
+ <a href="qaxbase.html#setPropertyBag">QAxBase</a><li>setPropertyWritable:
+ <a href="qaxbase.html#setPropertyWritable">QAxBase</a><li>setProtocol:
+ <a href="qurl.html#setProtocol">QUrl</a><li>setProtocolDetail:
+ <a href="qnetworkoperation.html#setProtocolDetail">QNetworkOperation</a><li>setQuality:
+ <a href="qimageio.html#setQuality">QImageIO</a><li>setQuery:
+ <a href="qsqlresult.html#setQuery">QSqlResult</a> <a href="qurl.html#setQuery">QUrl</a><li>setRadioButtonExclusive:
+ <a href="qbuttongroup.html#setRadioButtonExclusive">QButtonGroup</a><li>setRange:
+ <a href="qdateedit.html#setRange">QDateEdit</a> <a href="qdoublevalidator.html#setRange">QDoubleValidator</a> <a href="qintvalidator.html#setRange">QIntValidator</a> <a href="qrangecontrol.html#setRange">QRangeControl</a> <a href="qrangecontrol.html#setRange">QSlider</a> <a href="qtimeedit.html#setRange">QTimeEdit</a><li>setRasterOp:
+ <a href="qpainter.html#setRasterOp">QPainter</a><li>setRawArg:
+ <a href="qnetworkoperation.html#setRawArg">QNetworkOperation</a><li>setRawData:
+ <a href="qmemarray.html#setRawData">QMemArray</a><li>setRawMode:
+ <a href="qfont.html#setRawMode">QFont</a><li>setRawName:
+ <a href="qfont.html#setRawName">QFont</a><li>setReadBufferSize:
+ <a href="qsocket.html#setReadBufferSize">QSocket</a><li>setReadOnly:
+ <a href="qdatabrowser.html#setReadOnly">QDataBrowser</a> <a href="qlineedit.html#setReadOnly">QLineEdit</a> <a href="qsqlfield.html#setReadOnly">QSqlField</a> <a href="qtable.html#setReadOnly">QTable</a> <a href="qtextedit.html#setReadOnly">QTextEdit</a><li>setReadable:
+ <a href="qurlinfo.html#setReadable">QUrlInfo</a><li>setReason:
+ <a href="qfocusevent.html#setReason">QFocusEvent</a><li>setReceiveBufferSize:
+ <a href="qsocketdevice.html#setReceiveBufferSize">QSocketDevice</a><li>setRecord:
+ <a href="qdataview.html#setRecord">QDataView</a> <a href="qsqlform.html#setRecord">QSqlForm</a><li>setRecordType:
+ <a href="qdns.html#setRecordType">QDns</a><li>setRect:
+ <a href="qrect.html#setRect">QRect</a> <a href="qtab.html#setRect">QTab</a><li>setRef:
+ <a href="qurl.html#setRef">QUrl</a><li>setRegExp:
+ <a href="qregexpvalidator.html#setRegExp">QRegExpValidator</a><li>setRenameEnabled:
+ <a href="qiconviewitem.html#setRenameEnabled">QIconViewItem</a> <a href="qlistviewitem.html#setRenameEnabled">QListViewItem</a><li>setReplaceable:
+ <a href="qtableitem.html#setReplaceable">QTableItem</a><li>setRequest:
+ <a href="qhttprequestheader.html#setRequest">QHttpRequestHeader</a><li>setResizeEnabled:
+ <a href="qdockwindow.html#setResizeEnabled">QDockWindow</a> <a href="qheader.html#setResizeEnabled">QHeader</a><li>setResizeMode:
+ <a href="qiconview.html#setResizeMode">QIconView</a> <a href="qlayout.html#setResizeMode">QLayout</a> <a href="qlistview.html#setResizeMode">QListView</a> <a href="qsplitter.html#setResizeMode">QSplitter</a><li>setResizePolicy:
+ <a href="qscrollview.html#setResizePolicy">QScrollView</a><li>setResolution:
+ <a href="qprinter.html#setResolution">QPrinter</a><li>setRestartCommand:
+ <a href="qsessionmanager.html#setRestartCommand">QSessionManager</a><li>setRestartHint:
+ <a href="qsessionmanager.html#setRestartHint">QSessionManager</a><li>setResult:
+ <a href="qdialog.html#setResult">QDialog</a><li>setReverseLayout:
+ <a href="qapplication.html#setReverseLayout">QApplication</a><li>setRgb:
+ <a href="qcolor.html#setRgb">QColor</a><li>setRgba:
+ <a href="qglformat.html#setRgba">QGLFormat</a><li>setRight:
+ <a href="qrect.html#setRight">QRect</a><li>setRootIsDecorated:
+ <a href="qlistview.html#setRootIsDecorated">QListView</a><li>setRow:
+ <a href="qtableitem.html#setRow">QTableItem</a><li>setRowHeight:
+ <a href="qtable.html#setRowHeight">QTable</a><li>setRowLabels:
+ <a href="qtable.html#setRowLabels">QTable</a><li>setRowMode:
+ <a href="qlistbox.html#setRowMode">QListBox</a><li>setRowMovingEnabled:
+ <a href="qtable.html#setRowMovingEnabled">QTable</a><li>setRowReadOnly:
+ <a href="qtable.html#setRowReadOnly">QTable</a><li>setRowSpacing:
+ <a href="qgridlayout.html#setRowSpacing">QGridLayout</a><li>setRowStretch:
+ <a href="qgridlayout.html#setRowStretch">QGridLayout</a><li>setRowStretchable:
+ <a href="qtable.html#setRowStretchable">QTable</a><li>setRubberband:
+ <a href="qsplitter.html#setRubberband">QSplitter</a><li>setScaledContents:
+ <a href="qlabel.html#setScaledContents">QLabel</a><li>setScreenSaverInterval:
+ <a href="qwsserver.html#setScreenSaverInterval">QWSServer</a><li>setScreenSaverIntervals:
+ <a href="qwsserver.html#setScreenSaverIntervals">QWSServer</a><li>setScrollBarsEnabled:
+ <a href="qworkspace.html#setScrollBarsEnabled">QWorkspace</a><li>setSecond:
+ <a href="qtimeedit.html#setSecond">QTimeEdit</a><li>setSegmentStyle:
+ <a href="qlcdnumber.html#setSegmentStyle">QLCDNumber</a><li>setSelect:
+ <a href="qsqlresult.html#setSelect">QSqlResult</a><li>setSelectable:
+ <a href="qiconviewitem.html#setSelectable">QIconViewItem</a> <a href="qlistboxitem.html#setSelectable">QListBoxItem</a> <a href="qlistviewitem.html#setSelectable">QListViewItem</a><li>setSelected:
+ <a href="qaccessibleinterface.html#setSelected">QAccessibleInterface</a> <a href="qcanvasitem.html#setSelected">QCanvasItem</a> <a href="qiconview.html#setSelected">QIconView</a> <a href="qiconviewitem.html#setSelected">QIconViewItem</a> <a href="qlistbox.html#setSelected">QListBox</a> <a href="qlistview.html#setSelected">QListView</a> <a href="qlistviewitem.html#setSelected">QListViewItem</a><li>setSelectedFilter:
+ <a href="qfiledialog.html#setSelectedFilter">QFileDialog</a><li>setSelection:
+ <a href="qfiledialog.html#setSelection">QFileDialog</a> <a href="qlineedit.html#setSelection">QLineEdit</a> <a href="qtextedit.html#setSelection">QTextEdit</a><li>setSelectionAnchor:
+ <a href="qlistview.html#setSelectionAnchor">QListView</a><li>setSelectionAttributes:
+ <a href="qtextedit.html#setSelectionAttributes">QTextEdit</a><li>setSelectionMode:
+ <a href="qiconview.html#setSelectionMode">QIconView</a> <a href="qlistbox.html#setSelectionMode">QListBox</a> <a href="qlistview.html#setSelectionMode">QListView</a> <a href="qtable.html#setSelectionMode">QTable</a><li>setSelfNesting:
+ <a href="qstylesheetitem.html#setSelfNesting">QStyleSheetItem</a><li>setSendBufferSize:
+ <a href="qsocketdevice.html#setSendBufferSize">QSocketDevice</a><li>setSeparator:
+ <a href="qdateedit.html#setSeparator">QDateEdit</a> <a href="qtimeedit.html#setSeparator">QTimeEdit</a><li>setSequence:
+ <a href="qcanvassprite.html#setSequence">QCanvasSprite</a><li>setShape:
+ <a href="qcursor.html#setShape">QCursor</a> <a href="qtabbar.html#setShape">QTabBar</a><li>setShowGrid:
+ <a href="qtable.html#setShowGrid">QTable</a><li>setShowHiddenFiles:
+ <a href="qfiledialog.html#setShowHiddenFiles">QFileDialog</a><li>setShowSortIndicator:
+ <a href="qlistview.html#setShowSortIndicator">QListView</a><li>setShowToolTips:
+ <a href="qiconview.html#setShowToolTips">QIconView</a> <a href="qlistview.html#setShowToolTips">QListView</a><li>setShown:
+ <a href="qwidget.html#setShown">QWidget</a><li>setSize:
+ <a href="qcanvasellipse.html#setSize">QCanvasEllipse</a> <a href="qcanvasrectangle.html#setSize">QCanvasRectangle</a> <a href="qdatatable.html#setSize">QDataTable</a> <a href="qimageconsumer.html#setSize">QImageConsumer</a> <a href="qrect.html#setSize">QRect</a> <a href="qurlinfo.html#setSize">QUrlInfo</a><li>setSizeGripEnabled:
+ <a href="qdialog.html#setSizeGripEnabled">QDialog</a> <a href="qstatusbar.html#setSizeGripEnabled">QStatusBar</a><li>setSizeIncrement:
+ <a href="qwidget.html#setSizeIncrement">QWidget</a><li>setSizeLimit:
+ <a href="qcombobox.html#setSizeLimit">QComboBox</a><li>setSizePolicy:
+ <a href="qwidget.html#setSizePolicy">QWidget</a><li>setSizes:
+ <a href="qsplitter.html#setSizes">QSplitter</a><li>setSmallDecimalPoint:
+ <a href="qlcdnumber.html#setSmallDecimalPoint">QLCDNumber</a><li>setSocket:
+ <a href="qserversocket.html#setSocket">QServerSocket</a> <a href="qsocket.html#setSocket">QSocket</a> <a href="qsocketdevice.html#setSocket">QSocketDevice</a><li>setSocketDevice:
+ <a href="qsocket.html#setSocketDevice">QSocket</a><li>setSocketNotifierPending:
+ <a href="qeventloop.html#setSocketNotifierPending">QEventLoop</a><li>setSort:
+ <a href="qdatabrowser.html#setSort">QDataBrowser</a> <a href="qdatatable.html#setSort">QDataTable</a> <a href="qsqlcursor.html#setSort">QSqlCursor</a><li>setSortColumn:
+ <a href="qlistview.html#setSortColumn">QListView</a><li>setSortIndicator:
+ <a href="qheader.html#setSortIndicator">QHeader</a><li>setSortOrder:
+ <a href="qlistview.html#setSortOrder">QListView</a><li>setSorting:
+ <a href="qdir.html#setSorting">QDir</a> <a href="qiconview.html#setSorting">QIconView</a> <a href="qlistview.html#setSorting">QListView</a> <a href="qtable.html#setSorting">QTable</a><li>setSource:
+ <a href="qtextbrowser.html#setSource">QTextBrowser</a><li>setSpacing:
+ <a href="qgrid.html#setSpacing">QGrid</a> <a href="qhbox.html#setSpacing">QHBox</a> <a href="qiconview.html#setSpacing">QIconView</a> <a href="qlayout.html#setSpacing">QLayout</a><li>setSpan:
+ <a href="qtableitem.html#setSpan">QTableItem</a><li>setSpecialValueText:
+ <a href="qspinbox.html#setSpecialValueText">QSpinBox</a><li>setSpeed:
+ <a href="qmovie.html#setSpeed">QMovie</a><li>setSqlCursor:
+ <a href="qdatabrowser.html#setSqlCursor">QDataBrowser</a> <a href="qdatatable.html#setSqlCursor">QDataTable</a><li>setStandardColor:
+ <a href="qcolordialog.html#setStandardColor">QColorDialog</a><li>setStartDragDistance:
+ <a href="qapplication.html#setStartDragDistance">QApplication</a><li>setStartDragTime:
+ <a href="qapplication.html#setStartDragTime">QApplication</a><li>setState:
+ <a href="qaxscriptengine.html#setState">QAxScriptEngine</a> <a href="qbutton.html#setState">QButton</a> <a href="qchecklistitem.html#setState">QCheckListItem</a> <a href="qiodevice.html#setState">QIODevice</a> <a href="qnetworkoperation.html#setState">QNetworkOperation</a><li>setStaticBackground:
+ <a href="qscrollview.html#setStaticBackground">QScrollView</a><li>setStatus:
+ <a href="qiodevice.html#setStatus">QIODevice</a> <a href="qimageio.html#setStatus">QImageIO</a><li>setStatusTip:
+ <a href="qaction.html#setStatusTip">QAction</a><li>setStencil:
+ <a href="qglformat.html#setStencil">QGLFormat</a><li>setSteps:
+ <a href="qrangecontrol.html#setSteps">QRangeControl</a><li>setStereo:
+ <a href="qglformat.html#setStereo">QGLFormat</a><li>setStr:
+ <a href="qcstring.html#setStr">QCString</a><li>setStretch:
+ <a href="qfont.html#setStretch">QFont</a><li>setStretchEnabled:
+ <a href="qheader.html#setStretchEnabled">QHeader</a><li>setStretchFactor:
+ <a href="qboxlayout.html#setStretchFactor">QBoxLayout</a> <a href="qhbox.html#setStretchFactor">QHBox</a><li>setStretchableWidget:
+ <a href="qtoolbar.html#setStretchableWidget">QToolBar</a><li>setStrikeOut:
+ <a href="qfont.html#setStrikeOut">QFont</a><li>setStringList:
+ <a href="qcombotableitem.html#setStringList">QComboTableItem</a><li>setStyle:
+ <a href="qapplication.html#setStyle">QApplication</a> <a href="qbrush.html#setStyle">QBrush</a> <a href="qpen.html#setStyle">QPen</a> <a href="qwidget.html#setStyle">QWidget</a><li>setStyleHint:
+ <a href="qfont.html#setStyleHint">QFont</a><li>setStyleSheet:
+ <a href="qtextedit.html#setStyleSheet">QTextEdit</a><li>setStyleStrategy:
+ <a href="qfont.html#setStyleStrategy">QFont</a><li>setSubtype:
+ <a href="qtextdrag.html#setSubtype">QTextDrag</a><li>setSuffix:
+ <a href="qspinbox.html#setSuffix">QSpinBox</a><li>setSupportsMargin:
+ <a href="qlayout.html#setSupportsMargin">QLayout</a><li>setSymLink:
+ <a href="qurlinfo.html#setSymLink">QUrlInfo</a><li>setTabArray:
+ <a href="qpainter.html#setTabArray">QPainter</a><li>setTabBar:
+ <a href="qtabdialog.html#setTabBar">QTabDialog</a> <a href="qtabwidget.html#setTabBar">QTabWidget</a><li>setTabChangesFocus:
+ <a href="qtextedit.html#setTabChangesFocus">QTextEdit</a><li>setTabEnabled:
+ <a href="qtabbar.html#setTabEnabled">QTabBar</a> <a href="qtabdialog.html#setTabEnabled">QTabDialog</a> <a href="qtabwidget.html#setTabEnabled">QTabWidget</a><li>setTabIconSet:
+ <a href="qtabwidget.html#setTabIconSet">QTabWidget</a><li>setTabLabel:
+ <a href="qtabwidget.html#setTabLabel">QTabWidget</a><li>setTabOrder:
+ <a href="qwidget.html#setTabOrder">QWidget</a><li>setTabPosition:
+ <a href="qtabwidget.html#setTabPosition">QTabWidget</a><li>setTabShape:
+ <a href="qtabwidget.html#setTabShape">QTabWidget</a><li>setTabStopWidth:
+ <a href="qtextedit.html#setTabStopWidth">QTextEdit</a><li>setTabStops:
+ <a href="qpainter.html#setTabStops">QPainter</a><li>setTabToolTip:
+ <a href="qtabwidget.html#setTabToolTip">QTabWidget</a><li>setTagName:
+ <a href="qdomelement.html#setTagName">QDomElement</a><li>setText:
+ <a href="qaccessibleinterface.html#setText">QAccessibleInterface</a> <a href="qaction.html#setText">QAction</a> <a href="qbutton.html#setText">QButton</a> <a href="qcanvastext.html#setText">QCanvasText</a> <a href="qbutton.html#setText">QCheckBox</a> <a href="qclipboard.html#setText">QClipboard</a> <a href="qiconviewitem.html#setText">QIconViewItem</a> <a href="qimage.html#setText">QImage</a> <a href="qlabel.html#setText">QLabel</a> <a href="qlineedit.html#setText">QLineEdit</a> <a href="qlistboxitem.html#setText">QListBoxItem</a> <a href="qlistviewitem.html#setText">QListViewItem</a> <a href="qmessagebox.html#setText">QMessageBox</a> <a href="qmimesourcefactory.html#setText">QMimeSourceFactory</a> <a href="qbutton.html#setText">QPushButton</a> <a href="qbutton.html#setText">QRadioButton</a> <a href="qtab.html#setText">QTab</a> <a href="qtable.html#setText">QTable</a> <a href="qtableitem.html#setText">QTableItem</a> <a href="qtextdrag.html#setText">QTextDrag</a> <a href="qtextedit.html#setText">QTextEdit</a><li>setTextFlags:
+ <a href="qcanvastext.html#setTextFlags">QCanvasText</a><li>setTextFormat:
+ <a href="qlabel.html#setTextFormat">QLabel</a> <a href="qmessagebox.html#setTextFormat">QMessageBox</a> <a href="qtextedit.html#setTextFormat">QTextEdit</a><li>setTextLabel:
+ <a href="qtoolbutton.html#setTextLabel">QToolButton</a><li>setTextPosition:
+ <a href="qtoolbutton.html#setTextPosition">QToolButton</a><li>setTextRect:
+ <a href="qiconviewitem.html#setTextRect">QIconViewItem</a><li>setTickInterval:
+ <a href="qslider.html#setTickInterval">QSlider</a><li>setTickmarks:
+ <a href="qslider.html#setTickmarks">QSlider</a><li>setTile:
+ <a href="qcanvas.html#setTile">QCanvas</a><li>setTiles:
+ <a href="qcanvas.html#setTiles">QCanvas</a><li>setTime:
+ <a href="qdatetime.html#setTime">QDateTime</a> <a href="qtimeedit.html#setTime">QTimeEdit</a><li>setTime_t:
+ <a href="qdatetime.html#setTime_t">QDateTime</a><li>setTitle:
+ <a href="qgroupbox.html#setTitle">QGroupBox</a> <a href="qwizard.html#setTitle">QWizard</a><li>setTitleFont:
+ <a href="qwizard.html#setTitleFont">QWizard</a><li>setToggleAction:
+ <a href="qaction.html#setToggleAction">QAction</a><li>setToggleButton:
+ <a href="qbutton.html#setToggleButton">QButton</a> <a href="qpushbutton.html#setToggleButton">QPushButton</a> <a href="qtoolbutton.html#setToggleButton">QToolButton</a><li>setToggleType:
+ <a href="qbutton.html#setToggleType">QButton</a><li>setToolTip:
+ <a href="qaction.html#setToolTip">QAction</a> <a href="qtabbar.html#setToolTip">QTabBar</a><li>setTop:
+ <a href="qdoublevalidator.html#setTop">QDoubleValidator</a> <a href="qintvalidator.html#setTop">QIntValidator</a> <a href="qrect.html#setTop">QRect</a><li>setTopItem:
+ <a href="qlistbox.html#setTopItem">QListBox</a><li>setTopLeft:
+ <a href="qrect.html#setTopLeft">QRect</a><li>setTopMargin:
+ <a href="qtable.html#setTopMargin">QTable</a><li>setTopRight:
+ <a href="qrect.html#setTopRight">QRect</a><li>setTotalSteps:
+ <a href="qprogressbar.html#setTotalSteps">QProgressBar</a> <a href="qprogressdialog.html#setTotalSteps">QProgressDialog</a><li>setTracking:
+ <a href="qdial.html#setTracking">QDial</a> <a href="qheader.html#setTracking">QHeader</a> <a href="qscrollbar.html#setTracking">QScrollBar</a> <a href="qslider.html#setTracking">QSlider</a><li>setTransformationMode:
+ <a href="qwmatrix.html#setTransformationMode">QWMatrix</a><li>setTranslation:
+ <a href="qtranslatormessage.html#setTranslation">QTranslatorMessage</a><li>setTreeStepSize:
+ <a href="qlistview.html#setTreeStepSize">QListView</a><li>setTrim:
+ <a href="qsqlfieldinfo.html#setTrim">QSqlFieldInfo</a><li>setTrimmed:
+ <a href="qsqlcursor.html#setTrimmed">QSqlCursor</a><li>setTristate:
+ <a href="qcheckbox.html#setTristate">QCheckBox</a> <a href="qchecklistitem.html#setTristate">QCheckListItem</a><li>setTrueText:
+ <a href="qdatatable.html#setTrueText">QDataTable</a><li>setType:
+ <a href="qiodevice.html#setType">QIODevice</a> <a href="qsqlerror.html#setType">QSqlError</a><li>setUnchanged:
+ <a href="qcanvas.html#setUnchanged">QCanvas</a><li>setUnderline:
+ <a href="qfont.html#setUnderline">QFont</a> <a href="qtextedit.html#setUnderline">QTextEdit</a><li>setUndoDepth:
+ <a href="qtextedit.html#setUndoDepth">QTextEdit</a><li>setUndoRedoEnabled:
+ <a href="qtextedit.html#setUndoRedoEnabled">QTextEdit</a><li>setUnicode:
+ <a href="qstring.html#setUnicode">QString</a><li>setUnicodeCodes:
+ <a href="qstring.html#setUnicodeCodes">QString</a><li>setUnicodeUris:
+ <a href="quridrag.html#setUnicodeUris">QUriDrag</a><li>setUpLayout:
+ <a href="qmainwindow.html#setUpLayout">QMainWindow</a><li>setUpdatePeriod:
+ <a href="qcanvas.html#setUpdatePeriod">QCanvas</a><li>setUpdatesEnabled:
+ <a href="qwidget.html#setUpdatesEnabled">QWidget</a><li>setUris:
+ <a href="quridrag.html#setUris">QUriDrag</a><li>setUrl:
+ <a href="qfiledialog.html#setUrl">QFileDialog</a> <a href="qnetworkprotocol.html#setUrl">QNetworkProtocol</a><li>setUseHighlightColors:
+ <a href="qmotifstyle.html#setUseHighlightColors">QMotifStyle</a><li>setUser:
+ <a href="qurl.html#setUser">QUrl</a><li>setUserName:
+ <a href="qsqldatabase.html#setUserName">QSqlDatabase</a><li>setUsesBigPixmap:
+ <a href="qtoolbutton.html#setUsesBigPixmap">QToolButton</a><li>setUsesBigPixmaps:
+ <a href="qmainwindow.html#setUsesBigPixmaps">QMainWindow</a><li>setUsesDropDown:
+ <a href="qactiongroup.html#setUsesDropDown">QActionGroup</a><li>setUsesTextLabel:
+ <a href="qmainwindow.html#setUsesTextLabel">QMainWindow</a> <a href="qtoolbutton.html#setUsesTextLabel">QToolButton</a><li>setVBarGeometry:
+ <a href="qscrollview.html#setVBarGeometry">QScrollView</a><li>setVScrollBarMode:
+ <a href="qscrollview.html#setVScrollBarMode">QScrollView</a><li>setValidator:
+ <a href="qcombobox.html#setValidator">QComboBox</a> <a href="qlineedit.html#setValidator">QLineEdit</a> <a href="qspinbox.html#setValidator">QSpinBox</a><li>setValue:
+ <a href="qdial.html#setValue">QDial</a> <a href="qdomattr.html#setValue">QDomAttr</a> <a href="qhttpheader.html#setValue">QHttpHeader</a> <a href="qhttpheader.html#setValue">QHttpRequestHeader</a> <a href="qrangecontrol.html#setValue">QRangeControl</a> <a href="qscrollbar.html#setValue">QScrollBar</a> <a href="qsignal.html#setValue">QSignal</a> <a href="qslider.html#setValue">QSlider</a> <a href="qspinbox.html#setValue">QSpinBox</a> <a href="qsqlfield.html#setValue">QSqlField</a> <a href="qsqlrecord.html#setValue">QSqlRecord</a><li>setVariableHeight:
+ <a href="qlistbox.html#setVariableHeight">QListBox</a><li>setVariableWidth:
+ <a href="qlistbox.html#setVariableWidth">QListBox</a><li>setVelocity:
+ <a href="qcanvasitem.html#setVelocity">QCanvasItem</a><li>setVerData:
+ <a href="qsizepolicy.html#setVerData">QSizePolicy</a><li>setVerStretch:
+ <a href="qsizepolicy.html#setVerStretch">QSizePolicy</a><li>setVersion:
+ <a href="qdatastream.html#setVersion">QDataStream</a><li>setVerticalAlignment:
+ <a href="qstylesheetitem.html#setVerticalAlignment">QStyleSheetItem</a> <a href="qtextedit.html#setVerticalAlignment">QTextEdit</a><li>setVerticallyStretchable:
+ <a href="qdockwindow.html#setVerticallyStretchable">QDockWindow</a><li>setViewMode:
+ <a href="qfiledialog.html#setViewMode">QFileDialog</a><li>setViewXForm:
+ <a href="qpainter.html#setViewXForm">QPainter</a><li>setViewport:
+ <a href="qpainter.html#setViewport">QPainter</a><li>setVisible:
+ <a href="qaction.html#setVisible">QAction</a> <a href="qcanvasitem.html#setVisible">QCanvasItem</a> <a href="qlistviewitem.html#setVisible">QListViewItem</a><li>setWFlags:
+ <a href="qwidget.html#setWFlags">QWidget</a><li>setWakeUpDelay:
+ <a href="qtooltip.html#setWakeUpDelay">QToolTip</a><li>setWeight:
+ <a href="qfont.html#setWeight">QFont</a><li>setWhatsThis:
+ <a href="qaccel.html#setWhatsThis">QAccel</a> <a href="qaction.html#setWhatsThis">QAction</a> <a href="qmenudata.html#setWhatsThis">QMenuData</a> <a href="qmenudata.html#setWhatsThis">QPopupMenu</a><li>setWheelScrollLines:
+ <a href="qapplication.html#setWheelScrollLines">QApplication</a><li>setWhiteSpaceMode:
+ <a href="qstylesheetitem.html#setWhiteSpaceMode">QStyleSheetItem</a><li>setWidget:
+ <a href="qdockwindow.html#setWidget">QDockWindow</a><li>setWidgetSizePolicy:
+ <a href="qmacstyle.html#setWidgetSizePolicy">QMacStyle</a><li>setWidth:
+ <a href="qpen.html#setWidth">QPen</a> <a href="qrect.html#setWidth">QRect</a> <a href="qsimplerichtext.html#setWidth">QSimpleRichText</a> <a href="qsize.html#setWidth">QSize</a><li>setWildcard:
+ <a href="qregexp.html#setWildcard">QRegExp</a><li>setWinPageSize:
+ <a href="qprinter.html#setWinPageSize">QPrinter</a><li>setWinding:
+ <a href="qcanvaspolygonalitem.html#setWinding">QCanvasPolygonalItem</a><li>setWindow:
+ <a href="qpainter.html#setWindow">QPainter</a><li>setWindowCreated:
+ <a href="qglcontext.html#setWindowCreated">QGLContext</a><li>setWindowOpacity:
+ <a href="qwidget.html#setWindowOpacity">QWidget</a><li>setWindowState:
+ <a href="qwidget.html#setWindowState">QWidget</a><li>setWordWrap:
+ <a href="qtableitem.html#setWordWrap">QTableItem</a> <a href="qtextedit.html#setWordWrap">QTextEdit</a><li>setWordWrapIconText:
+ <a href="qiconview.html#setWordWrapIconText">QIconView</a><li>setWorkingDirectory:
+ <a href="qprocess.html#setWorkingDirectory">QProcess</a><li>setWorldMatrix:
+ <a href="qcanvasview.html#setWorldMatrix">QCanvasView</a> <a href="qpainter.html#setWorldMatrix">QPainter</a><li>setWorldXForm:
+ <a href="qpainter.html#setWorldXForm">QPainter</a><li>setWrapColumnOrWidth:
+ <a href="qtextedit.html#setWrapColumnOrWidth">QTextEdit</a><li>setWrapPolicy:
+ <a href="qtextedit.html#setWrapPolicy">QTextEdit</a><li>setWrapping:
+ <a href="qdial.html#setWrapping">QDial</a> <a href="qspinbox.html#setWrapping">QSpinBox</a><li>setWritable:
+ <a href="qurlinfo.html#setWritable">QUrlInfo</a><li>setX:
+ <a href="qcanvasitem.html#setX">QCanvasItem</a> <a href="qpoint.html#setX">QPoint</a> <a href="qrect.html#setX">QRect</a><li>setXVelocity:
+ <a href="qcanvasitem.html#setXVelocity">QCanvasItem</a><li>setY:
+ <a href="qcanvasitem.html#setY">QCanvasItem</a> <a href="qpoint.html#setY">QPoint</a> <a href="qrect.html#setY">QRect</a><li>setYMD:
+ <a href="qdate.html#setYMD">QDate</a><li>setYVelocity:
+ <a href="qcanvasitem.html#setYVelocity">QCanvasItem</a><li>setYear:
+ <a href="qdateedit.html#setYear">QDateEdit</a><li>setZ:
+ <a href="qcanvasitem.html#setZ">QCanvasItem</a><li>setf:
+ <a href="qtextstream.html#setf">QTextStream</a><li>setup:
+ <a href="qlistviewitem.html#setup">QListViewItem</a> <a href="qprinter.html#setup">QPrinter</a><li>shadow:
+ <a href="qcolorgroup.html#shadow">QColorGroup</a><li>shape:
+ <a href="qcursor.html#shape">QCursor</a> <a href="qtabbar.html#shape">QTabBar</a><li>shear:
+ <a href="qpainter.html#shear">QPainter</a> <a href="qwmatrix.html#shear">QWMatrix</a><li>shell:
+ <a href="qmotifdialog.html#shell">QMotifDialog</a><li>shortDayName:
+ <a href="qdate.html#shortDayName">QDate</a><li>shortMonthName:
+ <a href="qdate.html#shortMonthName">QDate</a><li>shortcutKey:
+ <a href="qaccel.html#shortcutKey">QAccel</a><li>show:
+ <a href="qcanvasitem.html#show">QCanvasItem</a> <a href="qdialog.html#show">QDialog</a> <a href="qmenubar.html#show">QMenuBar</a> <a href="qwswindow.html#show">QWSWindow</a> <a href="qwidget.html#show">QWidget</a><li>showColumn:
+ <a href="qtable.html#showColumn">QTable</a><li>showDockMenu:
+ <a href="qmainwindow.html#showDockMenu">QMainWindow</a><li>showEvent:
+ <a href="qwidget.html#showEvent">QWidget</a><li>showExtension:
+ <a href="qdialog.html#showExtension">QDialog</a><li>showFullScreen:
+ <a href="qwidget.html#showFullScreen">QWidget</a><li>showGrid:
+ <a href="qtable.html#showGrid">QTable</a><li>showHiddenFiles:
+ <a href="qfiledialog.html#showHiddenFiles">QFileDialog</a><li>showMaximized:
+ <a href="qwidget.html#showMaximized">QWidget</a><li>showMinimized:
+ <a href="qwidget.html#showMinimized">QWidget</a><li>showNormal:
+ <a href="qwidget.html#showNormal">QWidget</a><li>showPage:
+ <a href="qassistantclient.html#showPage">QAssistantClient</a> <a href="qtabdialog.html#showPage">QTabDialog</a> <a href="qtabwidget.html#showPage">QTabWidget</a> <a href="qwizard.html#showPage">QWizard</a><li>showRow:
+ <a href="qtable.html#showRow">QTable</a><li>showSortIndicator:
+ <a href="qlistview.html#showSortIndicator">QListView</a><li>showTip:
+ <a href="qtooltipgroup.html#showTip">QToolTipGroup</a><li>showToolTips:
+ <a href="qiconview.html#showToolTips">QIconView</a> <a href="qlistview.html#showToolTips">QListView</a><li>shutdownDevice:
+ <a href="qscreen.html#shutdownDevice">QScreen</a><li>signal:
+ <a href="qaxbase.html#signal">QAxBase</a><li>signalNames:
+ <a href="qmetaobject.html#signalNames">QMetaObject</a><li>signalsBlocked:
+ <a href="qobject.html#signalsBlocked">QObject</a><li>simpleHeuristicNameMatch:
+ <a href="qtextcodec.html#simpleHeuristicNameMatch">QTextCodec</a><li>simplifyWhiteSpace:
+ <a href="qcstring.html#simplifyWhiteSpace">QCString</a> <a href="qstring.html#simplifyWhiteSpace">QString</a><li>singleShot:
+ <a href="qtimer.html#singleShot">QTimer</a><li>size:
+ <a href="qasciicache.html#size">QAsciiCache</a> <a href="qasciidict.html#size">QAsciiDict</a> <a href="qbitarray.html#size">QBitArray</a> <a href="qcache.html#size">QCache</a> <a href="qcanvas.html#size">QCanvas</a> <a href="qcanvasrectangle.html#size">QCanvasRectangle</a> <a href="qdict.html#size">QDict</a> <a href="qdirectpainter.html#size">QDirectPainter</a> <a href="qfile.html#size">QFile</a> <a href="qfileinfo.html#size">QFileInfo</a> <a href="qfontmetrics.html#size">QFontMetrics</a> <a href="qglcolormap.html#size">QGLColormap</a> <a href="qiodevice.html#size">QIODevice</a> <a href="qiconviewitem.html#size">QIconViewItem</a> <a href="qimage.html#size">QImage</a> <a href="qintcache.html#size">QIntCache</a> <a href="qintdict.html#size">QIntDict</a> <a href="qmap.html#size">QMap</a> <a href="qmemarray.html#size">QMemArray</a> <a href="qpicture.html#size">QPicture</a> <a href="qpixmap.html#size">QPixmap</a> <a href="qptrdict.html#size">QPtrDict</a> <a href="qptrvector.html#size">QPtrVector</a> <a href="qrect.html#size">QRect</a> <a href="qresizeevent.html#size">QResizeEvent</a> <a href="qsocket.html#size">QSocket</a> <a href="qsqlquery.html#size">QSqlQuery</a> <a href="qsqlresult.html#size">QSqlResult</a> <a href="qurlinfo.html#size">QUrlInfo</a> <a href="qvaluelist.html#size">QValueList</a> <a href="qvaluevector.html#size">QValueVector</a> <a href="qwidget.html#size">QWidget</a><li>sizeChange:
+ <a href="qheader.html#sizeChange">QHeader</a><li>sizeFromContents:
+ <a href="qstyle.html#sizeFromContents">QStyle</a><li>sizeHint:
+ <a href="qboxlayout.html#sizeHint">QBoxLayout</a> <a href="qcanvasview.html#sizeHint">QCanvasView</a> <a href="qcustommenuitem.html#sizeHint">QCustomMenuItem</a> <a href="qgridlayout.html#sizeHint">QGridLayout</a> <a href="qlayoutitem.html#sizeHint">QLayoutItem</a> <a href="qlineedit.html#sizeHint">QLineEdit</a> <a href="qprogressdialog.html#sizeHint">QProgressDialog</a> <a href="qsizegrip.html#sizeHint">QSizeGrip</a> <a href="qspaceritem.html#sizeHint">QSpacerItem</a> <a href="qtableitem.html#sizeHint">QTableItem</a> <a href="qwidget.html#sizeHint">QWidget</a> <a href="qwidgetitem.html#sizeHint">QWidgetItem</a><li>sizeIncrement:
+ <a href="qwidget.html#sizeIncrement">QWidget</a><li>sizeLimit:
+ <a href="qcombobox.html#sizeLimit">QComboBox</a><li>sizePolicy:
+ <a href="qwidget.html#sizePolicy">QWidget</a><li>sizes:
+ <a href="qsplitter.html#sizes">QSplitter</a><li>skipWhiteSpace:
+ <a href="qtextstream.html#skipWhiteSpace">QTextStream</a><li>skippedEntity:
+ <a href="qxmlcontenthandler.html#skippedEntity">QXmlContentHandler</a><li>sleep:
+ <a href="qthread.html#sleep">QThread</a><li>sliderMoved:
+ <a href="qscrollbar.html#sliderMoved">QScrollBar</a> <a href="qslider.html#sliderMoved">QSlider</a><li>sliderPressed:
+ <a href="qscrollbar.html#sliderPressed">QScrollBar</a> <a href="qslider.html#sliderPressed">QSlider</a><li>sliderRect:
+ <a href="qscrollbar.html#sliderRect">QScrollBar</a> <a href="qslider.html#sliderRect">QSlider</a><li>sliderReleased:
+ <a href="qscrollbar.html#sliderReleased">QScrollBar</a> <a href="qslider.html#sliderReleased">QSlider</a><li>sliderStart:
+ <a href="qscrollbar.html#sliderStart">QScrollBar</a> <a href="qslider.html#sliderStart">QSlider</a><li>slotNames:
+ <a href="qmetaobject.html#slotNames">QMetaObject</a><li>slotUpdate:
+ <a href="qiconview.html#slotUpdate">QIconView</a><li>smallDecimalPoint:
+ <a href="qlcdnumber.html#smallDecimalPoint">QLCDNumber</a><li>smoothScale:
+ <a href="qimage.html#smoothScale">QImage</a><li>smoothSizes:
+ <a href="qfontdatabase.html#smoothSizes">QFontDatabase</a><li>socket:
+ <a href="qserversocket.html#socket">QServerSocket</a> <a href="qsocket.html#socket">QSocket</a> <a href="qsocketdevice.html#socket">QSocketDevice</a> <a href="qsocketnotifier.html#socket">QSocketNotifier</a><li>socketDevice:
+ <a href="qserversocket.html#socketDevice">QServerSocket</a> <a href="qsocket.html#socketDevice">QSocket</a><li>sort:
+ <a href="qdatabrowser.html#sort">QDataBrowser</a> <a href="qdatatable.html#sort">QDataTable</a> <a href="qiconview.html#sort">QIconView</a> <a href="qlistbox.html#sort">QListBox</a> <a href="qlistview.html#sort">QListView</a> <a href="qlistviewitem.html#sort">QListViewItem</a> <a href="qmemarray.html#sort">QMemArray</a> <a href="qptrlist.html#sort">QPtrList</a> <a href="qptrvector.html#sort">QPtrVector</a> <a href="qsqlcursor.html#sort">QSqlCursor</a> <a href="qstringlist.html#sort">QStringList</a><li>sortAscending:
+ <a href="qdatatable.html#sortAscending">QDataTable</a><li>sortChildItems:
+ <a href="qlistviewitem.html#sortChildItems">QListViewItem</a><li>sortColumn:
+ <a href="qdatatable.html#sortColumn">QDataTable</a> <a href="qlistview.html#sortColumn">QListView</a> <a href="qtable.html#sortColumn">QTable</a><li>sortDescending:
+ <a href="qdatatable.html#sortDescending">QDataTable</a><li>sortDirection:
+ <a href="qiconview.html#sortDirection">QIconView</a><li>sortIndicatorOrder:
+ <a href="qheader.html#sortIndicatorOrder">QHeader</a><li>sortIndicatorSection:
+ <a href="qheader.html#sortIndicatorSection">QHeader</a><li>sortOrder:
+ <a href="qlistview.html#sortOrder">QListView</a><li>sorting:
+ <a href="qdir.html#sorting">QDir</a> <a href="qiconview.html#sorting">QIconView</a> <a href="qtable.html#sorting">QTable</a><li>source:
+ <a href="qdragobject.html#source">QDragObject</a> <a href="qdropevent.html#source">QDropEvent</a> <a href="qtextbrowser.html#source">QTextBrowser</a><li>sourceChanged:
+ <a href="qtextbrowser.html#sourceChanged">QTextBrowser</a><li>sourceText:
+ <a href="qtranslatormessage.html#sourceText">QTranslatorMessage</a><li>spacePressed:
+ <a href="qlistview.html#spacePressed">QListView</a><li>spacerItem:
+ <a href="qlayoutitem.html#spacerItem">QLayoutItem</a><li>spacing:
+ <a href="qiconview.html#spacing">QIconView</a> <a href="qlayout.html#spacing">QLayout</a><li>specialValueText:
+ <a href="qspinbox.html#specialValueText">QSpinBox</a><li>specified:
+ <a href="qdomattr.html#specified">QDomAttr</a><li>speed:
+ <a href="qmovie.html#speed">QMovie</a><li>split:
+ <a href="qstringlist.html#split">QStringList</a><li>splitName:
+ <a href="qxmlnamespacesupport.html#splitName">QXmlNamespaceSupport</a><li>splitText:
+ <a href="qdomtext.html#splitText">QDomText</a><li>spontaneous:
+ <a href="qevent.html#spontaneous">QEvent</a><li>sprintf:
+ <a href="qcstring.html#sprintf">QCString</a> <a href="qstring.html#sprintf">QString</a><li>sqlCursor:
+ <a href="qdatabrowser.html#sqlCursor">QDataBrowser</a> <a href="qdatatable.html#sqlCursor">QDataTable</a><li>squeeze:
+ <a href="qstring.html#squeeze">QString</a> <a href="qtranslator.html#squeeze">QTranslator</a><li>stackUnder:
+ <a href="qwidget.html#stackUnder">QWidget</a><li>standardIcon:
+ <a href="qmessagebox.html#standardIcon">QMessageBox</a><li>standardSizes:
+ <a href="qfontdatabase.html#standardSizes">QFontDatabase</a><li>start:
+ <a href="qnetworkprotocol.html#start">QNetworkProtocol</a> <a href="qprocess.html#start">QProcess</a> <a href="qthread.html#start">QThread</a> <a href="qtime.html#start">QTime</a> <a href="qtimer.html#start">QTimer</a> <a href="qurloperator.html#start">QUrlOperator</a><li>startCDATA:
+ <a href="qxmllexicalhandler.html#startCDATA">QXmlLexicalHandler</a><li>startDTD:
+ <a href="qxmllexicalhandler.html#startDTD">QXmlLexicalHandler</a><li>startDocument:
+ <a href="qxmlcontenthandler.html#startDocument">QXmlContentHandler</a><li>startDrag:
+ <a href="qiconview.html#startDrag">QIconView</a> <a href="qlistview.html#startDrag">QListView</a> <a href="qtable.html#startDrag">QTable</a><li>startDragDistance:
+ <a href="qapplication.html#startDragDistance">QApplication</a><li>startDragTime:
+ <a href="qapplication.html#startDragTime">QApplication</a><li>startElement:
+ <a href="qxmlcontenthandler.html#startElement">QXmlContentHandler</a><li>startEntity:
+ <a href="qxmllexicalhandler.html#startEntity">QXmlLexicalHandler</a><li>startPoint:
+ <a href="qcanvasline.html#startPoint">QCanvasLine</a><li>startPrefixMapping:
+ <a href="qxmlcontenthandler.html#startPrefixMapping">QXmlContentHandler</a><li>startRename:
+ <a href="qlistviewitem.html#startRename">QListViewItem</a><li>startServer:
+ <a href="qaxfactory.html#startServer">QAxFactory</a><li>startTimer:
+ <a href="qobject.html#startTimer">QObject</a><li>startedNextCopy:
+ <a href="qurloperator.html#startedNextCopy">QUrlOperator</a><li>startingUp:
+ <a href="qapplication.html#startingUp">QApplication</a><li>startsWith:
+ <a href="qstring.html#startsWith">QString</a><li>state:
+ <a href="qaccessibleinterface.html#state">QAccessibleInterface</a> <a href="qaxscriptengine.html#state">QAxScriptEngine</a> <a href="qbutton.html#state">QButton</a> <a href="qbutton.html#state">QCheckBox</a> <a href="qchecklistitem.html#state">QCheckListItem</a> <a href="qcontextmenuevent.html#state">QContextMenuEvent</a> <a href="qftp.html#state">QFtp</a> <a href="qhttp.html#state">QHttp</a> <a href="qiodevice.html#state">QIODevice</a> <a href="qkeyevent.html#state">QKeyEvent</a> <a href="qmouseevent.html#state">QMouseEvent</a> <a href="qnetworkoperation.html#state">QNetworkOperation</a> <a href="qbutton.html#state">QPushButton</a> <a href="qbutton.html#state">QRadioButton</a> <a href="qsocket.html#state">QSocket</a> <a href="qwheelevent.html#state">QWheelEvent</a><li>stateAfter:
+ <a href="qkeyevent.html#stateAfter">QKeyEvent</a> <a href="qmouseevent.html#stateAfter">QMouseEvent</a><li>stateChange:
+ <a href="qchecklistitem.html#stateChange">QCheckListItem</a><li>stateChanged:
+ <a href="qaxscript.html#stateChanged">QAxScript</a> <a href="qbutton.html#stateChanged">QButton</a> <a href="qbutton.html#stateChanged">QCheckBox</a> <a href="qftp.html#stateChanged">QFtp</a> <a href="qhttp.html#stateChanged">QHttp</a> <a href="qbutton.html#stateChanged">QPushButton</a> <a href="qbutton.html#stateChanged">QRadioButton</a><li>statistics:
+ <a href="qasciicache.html#statistics">QAsciiCache</a> <a href="qasciidict.html#statistics">QAsciiDict</a> <a href="qcache.html#statistics">QCache</a> <a href="qdict.html#statistics">QDict</a> <a href="qintcache.html#statistics">QIntCache</a> <a href="qintdict.html#statistics">QIntDict</a> <a href="qptrdict.html#statistics">QPtrDict</a><li>status:
+ <a href="qiodevice.html#status">QIODevice</a> <a href="qimageio.html#status">QImageIO</a> <a href="qnpinstance.html#status">QNPInstance</a><li>statusBar:
+ <a href="qmainwindow.html#statusBar">QMainWindow</a><li>statusCode:
+ <a href="qhttpresponseheader.html#statusCode">QHttpResponseHeader</a><li>statusTip:
+ <a href="qaction.html#statusTip">QAction</a><li>stayTopLevel:
+ <a href="qaxfactory.html#stayTopLevel">QAxFactory</a><li>stencil:
+ <a href="qglformat.html#stencil">QGLFormat</a><li>step:
+ <a href="qmovie.html#step">QMovie</a><li>stepChange:
+ <a href="qrangecontrol.html#stepChange">QRangeControl</a><li>stepDown:
+ <a href="qspinbox.html#stepDown">QSpinBox</a><li>stepUp:
+ <a href="qspinbox.html#stepUp">QSpinBox</a><li>steps:
+ <a href="qmovie.html#steps">QMovie</a><li>stereo:
+ <a href="qglformat.html#stereo">QGLFormat</a><li>stop:
+ <a href="qnetworkprotocol.html#stop">QNetworkProtocol</a> <a href="qsound.html#stop">QSound</a> <a href="qtimer.html#stop">QTimer</a> <a href="qurloperator.html#stop">QUrlOperator</a><li>stopServer:
+ <a href="qaxfactory.html#stopServer">QAxFactory</a><li>stored:
+ <a href="qmetaproperty.html#stored">QMetaProperty</a><li>streamAsFile:
+ <a href="qnpinstance.html#streamAsFile">QNPInstance</a><li>streamDestroyed:
+ <a href="qnpinstance.html#streamDestroyed">QNPInstance</a><li>stretch:
+ <a href="qfont.html#stretch">QFont</a><li>strikeOut:
+ <a href="qfont.html#strikeOut">QFont</a><li>strikeOutPos:
+ <a href="qfontmetrics.html#strikeOutPos">QFontMetrics</a><li>string:
+ <a href="qconststring.html#string">QConstString</a><li>stripWhiteSpace:
+ <a href="qcstring.html#stripWhiteSpace">QCString</a> <a href="qstring.html#stripWhiteSpace">QString</a><li>style:
+ <a href="qapplication.html#style">QApplication</a> <a href="qbrush.html#style">QBrush</a> <a href="qpen.html#style">QPen</a> <a href="qwidget.html#style">QWidget</a><li>styleChange:
+ <a href="qwidget.html#styleChange">QWidget</a><li>styleHint:
+ <a href="qfont.html#styleHint">QFont</a> <a href="qfontinfo.html#styleHint">QFontInfo</a> <a href="qstyle.html#styleHint">QStyle</a><li>stylePixmap:
+ <a href="qstyle.html#stylePixmap">QStyle</a><li>styleSheet:
+ <a href="qstylesheetitem.html#styleSheet">QStyleSheetItem</a> <a href="qtextedit.html#styleSheet">QTextEdit</a><li>styleStrategy:
+ <a href="qfont.html#styleStrategy">QFont</a><li>styleString:
+ <a href="qfontdatabase.html#styleString">QFontDatabase</a><li>styles:
+ <a href="qfontdatabase.html#styles">QFontDatabase</a><li>subRect:
+ <a href="qstyle.html#subRect">QStyle</a><li>subkeyList:
+ <a href="qsettings.html#subkeyList">QSettings</a><li>substitute:
+ <a href="qfont.html#substitute">QFont</a><li>substitutes:
+ <a href="qfont.html#substitutes">QFont</a><li>substitutions:
+ <a href="qfont.html#substitutions">QFont</a><li>substringData:
+ <a href="qdomcharacterdata.html#substringData">QDomCharacterData</a><li>subtract:
+ <a href="qregion.html#subtract">QRegion</a><li>subtractLine:
+ <a href="qdial.html#subtractLine">QDial</a> <a href="qrangecontrol.html#subtractLine">QRangeControl</a><li>subtractPage:
+ <a href="qdial.html#subtractPage">QDial</a> <a href="qrangecontrol.html#subtractPage">QRangeControl</a><li>subtractStep:
+ <a href="qslider.html#subtractStep">QSlider</a><li>suffix:
+ <a href="qspinbox.html#suffix">QSpinBox</a><li>superClass:
+ <a href="qmetaobject.html#superClass">QMetaObject</a><li>superClassName:
+ <a href="qmetaobject.html#superClassName">QMetaObject</a><li>supportedOperations:
+ <a href="qnetworkprotocol.html#supportedOperations">QNetworkProtocol</a><li>supportsDepth:
+ <a href="qscreen.html#supportsDepth">QScreen</a><li>supportsMargin:
+ <a href="qlayout.html#supportsMargin">QLayout</a><li>supportsSelection:
+ <a href="qclipboard.html#supportsSelection">QClipboard</a><li>supportsWidget:
+ <a href="qwidgetfactory.html#supportsWidget">QWidgetFactory</a><li>swapBuffers:
+ <a href="qglcontext.html#swapBuffers">QGLContext</a> <a href="qglwidget.html#swapBuffers">QGLWidget</a><li>swapCells:
+ <a href="qtable.html#swapCells">QTable</a><li>swapColumns:
+ <a href="qtable.html#swapColumns">QTable</a><li>swapRGB:
+ <a href="qimage.html#swapRGB">QImage</a><li>swapRows:
+ <a href="qtable.html#swapRows">QTable</a><li>sync:
+ <a href="qtextedit.html#sync">QTextEdit</a><li>syncX:
+ <a href="qapplication.html#syncX">QApplication</a><li>syntaxHighlighter:
+ <a href="qtextedit.html#syntaxHighlighter">QTextEdit</a><li>system:
+ <a href="qlocale.html#system">QLocale</a><li>systemBitOrder:
+ <a href="qimage.html#systemBitOrder">QImage</a><li>systemByteOrder:
+ <a href="qimage.html#systemByteOrder">QImage</a><li>systemId:
+ <a href="qdomdocumenttype.html#systemId">QDomDocumentType</a> <a href="qdomentity.html#systemId">QDomEntity</a> <a href="qdomnotation.html#systemId">QDomNotation</a> <a href="qxmlparseexception.html#systemId">QXmlParseException</a><li><a name="t"></a>
+tab:
+ <a href="qstyleoption.html#tab">QStyleOption</a> <a href="qtabbar.html#tab">QTabBar</a><li>tabArray:
+ <a href="qpainter.html#tabArray">QPainter</a><li>tabAt:
+ <a href="qtabbar.html#tabAt">QTabBar</a><li>tabBar:
+ <a href="qtabdialog.html#tabBar">QTabDialog</a> <a href="qtabwidget.html#tabBar">QTabWidget</a><li>tabChangesFocus:
+ <a href="qtextedit.html#tabChangesFocus">QTextEdit</a><li>tabIconSet:
+ <a href="qtabwidget.html#tabIconSet">QTabWidget</a><li>tabLabel:
+ <a href="qtabdialog.html#tabLabel">QTabDialog</a> <a href="qtabwidget.html#tabLabel">QTabWidget</a><li>tabList:
+ <a href="qtabbar.html#tabList">QTabBar</a><li>tabPosition:
+ <a href="qtabwidget.html#tabPosition">QTabWidget</a><li>tabShape:
+ <a href="qtabwidget.html#tabShape">QTabWidget</a><li>tabStopWidth:
+ <a href="qtextedit.html#tabStopWidth">QTextEdit</a><li>tabStops:
+ <a href="qpainter.html#tabStops">QPainter</a><li>tabToolTip:
+ <a href="qtabwidget.html#tabToolTip">QTabWidget</a><li>tabWidth:
+ <a href="qstyleoption.html#tabWidth">QStyleOption</a><li>table:
+ <a href="qtableitem.html#table">QTableItem</a><li>tables:
+ <a href="qsqldatabase.html#tables">QSqlDatabase</a> <a href="qsqldriver.html#tables">QSqlDriver</a><li>tabletEvent:
+ <a href="qwidget.html#tabletEvent">QWidget</a><li>tag:
+ <a href="qstylesheet.html#tag">QStyleSheet</a><li>tagName:
+ <a href="qdomelement.html#tagName">QDomElement</a><li>take:
+ <a href="qasciicache.html#take">QAsciiCache</a> <a href="qasciidict.html#take">QAsciiDict</a> <a href="qcache.html#take">QCache</a> <a href="qdict.html#take">QDict</a> <a href="qintcache.html#take">QIntCache</a> <a href="qintdict.html#take">QIntDict</a> <a href="qptrdict.html#take">QPtrDict</a> <a href="qptrlist.html#take">QPtrList</a> <a href="qptrvector.html#take">QPtrVector</a><li>takeCurrent:
+ <a href="qglayoutiterator.html#takeCurrent">QGLayoutIterator</a> <a href="qlayoutiterator.html#takeCurrent">QLayoutIterator</a><li>takeDefaultFactory:
+ <a href="qmimesourcefactory.html#takeDefaultFactory">QMimeSourceFactory</a><li>takeItem:
+ <a href="qiconview.html#takeItem">QIconView</a> <a href="qlistbox.html#takeItem">QListBox</a> <a href="qlistview.html#takeItem">QListView</a> <a href="qlistviewitem.html#takeItem">QListViewItem</a> <a href="qtable.html#takeItem">QTable</a><li>takeNode:
+ <a href="qptrlist.html#takeNode">QPtrList</a><li>target:
+ <a href="qdomprocessinginstruction.html#target">QDomProcessingInstruction</a> <a href="qdragobject.html#target">QDragObject</a><li>terminate:
+ <a href="qthread.html#terminate">QThread</a><li>testBit:
+ <a href="qbitarray.html#testBit">QBitArray</a><li>testOption:
+ <a href="qglformat.html#testOption">QGLFormat</a><li>testWFlags:
+ <a href="qwidget.html#testWFlags">QWidget</a><li>text:
+ <a href="qaccessibleinterface.html#text">QAccessibleInterface</a> <a href="qaction.html#text">QAction</a> <a href="qbutton.html#text">QButton</a> <a href="qcanvastext.html#text">QCanvasText</a> <a href="qbutton.html#text">QCheckBox</a> <a href="qchecklistitem.html#text">QCheckListItem</a> <a href="qclipboard.html#text">QClipboard</a> <a href="qcolorgroup.html#text">QColorGroup</a> <a href="qcombobox.html#text">QComboBox</a> <a href="qcombotableitem.html#text">QComboTableItem</a> <a href="qdatatable.html#text">QDataTable</a> <a href="qdomelement.html#text">QDomElement</a> <a href="qimevent.html#text">QIMEvent</a> <a href="qiconviewitem.html#text">QIconViewItem</a> <a href="qimage.html#text">QImage</a> <a href="qkeyevent.html#text">QKeyEvent</a> <a href="qlabel.html#text">QLabel</a> <a href="qlineedit.html#text">QLineEdit</a> <a href="qlistbox.html#text">QListBox</a> <a href="qlistboxitem.html#text">QListBoxItem</a> <a href="qlistviewitem.html#text">QListViewItem</a> <a href="qmenudata.html#text">QMenuData</a> <a href="qmessagebox.html#text">QMessageBox</a> <a href="qmenudata.html#text">QPopupMenu</a> <a href="qbutton.html#text">QPushButton</a> <a href="qbutton.html#text">QRadioButton</a> <a href="qspinbox.html#text">QSpinBox</a> <a href="qsqlerror.html#text">QSqlError</a> <a href="qtab.html#text">QTab</a> <a href="qtable.html#text">QTable</a> <a href="qtableitem.html#text">QTableItem</a> <a href="qtextedit.html#text">QTextEdit</a> <a href="qwhatsthis.html#text">QWhatsThis</a><li>textChanged:
+ <a href="qcombobox.html#textChanged">QComboBox</a> <a href="qlineedit.html#textChanged">QLineEdit</a> <a href="qspinbox.html#textChanged">QSpinBox</a> <a href="qtextedit.html#textChanged">QTextEdit</a><li>textCursor:
+ <a href="qtextedit.html#textCursor">QTextEdit</a><li>textEdit:
+ <a href="qsyntaxhighlighter.html#textEdit">QSyntaxHighlighter</a><li>textFlags:
+ <a href="qcanvastext.html#textFlags">QCanvasText</a><li>textFor:
+ <a href="qtooltip.html#textFor">QToolTip</a> <a href="qwhatsthis.html#textFor">QWhatsThis</a><li>textFormat:
+ <a href="qlabel.html#textFormat">QLabel</a> <a href="qmessagebox.html#textFormat">QMessageBox</a> <a href="qtextedit.html#textFormat">QTextEdit</a><li>textKeys:
+ <a href="qimage.html#textKeys">QImage</a><li>textLabel:
+ <a href="qtoolbutton.html#textLabel">QToolButton</a><li>textLanguages:
+ <a href="qimage.html#textLanguages">QImage</a><li>textLine:
+ <a href="qmultilineedit.html#textLine">QMultiLineEdit</a><li>textList:
+ <a href="qimage.html#textList">QImage</a><li>textPosition:
+ <a href="qtoolbutton.html#textPosition">QToolButton</a><li>textRect:
+ <a href="qiconviewitem.html#textRect">QIconViewItem</a><li>texts:
+ <a href="qdns.html#texts">QDns</a><li>tickInterval:
+ <a href="qslider.html#tickInterval">QSlider</a><li>tickmarks:
+ <a href="qslider.html#tickmarks">QSlider</a><li>tile:
+ <a href="qcanvas.html#tile">QCanvas</a> <a href="qworkspace.html#tile">QWorkspace</a><li>tileHeight:
+ <a href="qcanvas.html#tileHeight">QCanvas</a><li>tileWidth:
+ <a href="qcanvas.html#tileWidth">QCanvas</a><li>tilesHorizontally:
+ <a href="qcanvas.html#tilesHorizontally">QCanvas</a><li>tilesVertically:
+ <a href="qcanvas.html#tilesVertically">QCanvas</a><li>time:
+ <a href="qdatetime.html#time">QDateTime</a> <a href="qtimeedit.html#time">QTimeEdit</a><li>timeEdit:
+ <a href="qdatetimeedit.html#timeEdit">QDateTimeEdit</a><li>timeToWait:
+ <a href="qeventloop.html#timeToWait">QEventLoop</a><li>timeout:
+ <a href="qtimer.html#timeout">QTimer</a><li>timerEvent:
+ <a href="qobject.html#timerEvent">QObject</a><li>timerId:
+ <a href="qtimer.html#timerId">QTimer</a> <a href="qtimerevent.html#timerId">QTimerEvent</a><li>tip:
+ <a href="qtooltip.html#tip">QToolTip</a><li>title:
+ <a href="qgroupbox.html#title">QGroupBox</a> <a href="qwizard.html#title">QWizard</a><li>titleFont:
+ <a href="qwizard.html#titleFont">QWizard</a><li>toAttr:
+ <a href="qdomnode.html#toAttr">QDomNode</a><li>toBitArray:
+ <a href="qvariant.html#toBitArray">QVariant</a><li>toBitmap:
+ <a href="qvariant.html#toBitmap">QVariant</a><li>toBool:
+ <a href="qvariant.html#toBool">QVariant</a><li>toBrush:
+ <a href="qvariant.html#toBrush">QVariant</a><li>toByteArray:
+ <a href="qvariant.html#toByteArray">QVariant</a><li>toCDATASection:
+ <a href="qdomnode.html#toCDATASection">QDomNode</a><li>toCString:
+ <a href="qdomdocument.html#toCString">QDomDocument</a> <a href="qvariant.html#toCString">QVariant</a><li>toCharacterData:
+ <a href="qdomnode.html#toCharacterData">QDomNode</a><li>toColor:
+ <a href="qvariant.html#toColor">QVariant</a><li>toColorGroup:
+ <a href="qvariant.html#toColorGroup">QVariant</a><li>toComment:
+ <a href="qdomnode.html#toComment">QDomNode</a><li>toCursor:
+ <a href="qvariant.html#toCursor">QVariant</a><li>toDate:
+ <a href="qvariant.html#toDate">QVariant</a><li>toDateTime:
+ <a href="qvariant.html#toDateTime">QVariant</a><li>toDocument:
+ <a href="qdomnode.html#toDocument">QDomNode</a><li>toDocumentFragment:
+ <a href="qdomnode.html#toDocumentFragment">QDomNode</a><li>toDocumentType:
+ <a href="qdomnode.html#toDocumentType">QDomNode</a><li>toDouble:
+ <a href="qcstring.html#toDouble">QCString</a> <a href="qlocale.html#toDouble">QLocale</a> <a href="qstring.html#toDouble">QString</a> <a href="qvariant.html#toDouble">QVariant</a><li>toElement:
+ <a href="qdomnode.html#toElement">QDomNode</a><li>toEntity:
+ <a href="qdomnode.html#toEntity">QDomNode</a><li>toEntityReference:
+ <a href="qdomnode.html#toEntityReference">QDomNode</a><li>toField:
+ <a href="qsqlfieldinfo.html#toField">QSqlFieldInfo</a><li>toFirst:
+ <a href="qasciicacheiterator.html#toFirst">QAsciiCacheIterator</a> <a href="qasciidictiterator.html#toFirst">QAsciiDictIterator</a> <a href="qcacheiterator.html#toFirst">QCacheIterator</a> <a href="qdictiterator.html#toFirst">QDictIterator</a> <a href="qintcacheiterator.html#toFirst">QIntCacheIterator</a> <a href="qintdictiterator.html#toFirst">QIntDictIterator</a> <a href="qptrdictiterator.html#toFirst">QPtrDictIterator</a> <a href="qptrlistiterator.html#toFirst">QPtrListIterator</a><li>toFloat:
+ <a href="qcstring.html#toFloat">QCString</a> <a href="qlocale.html#toFloat">QLocale</a> <a href="qstring.html#toFloat">QString</a><li>toFont:
+ <a href="qvariant.html#toFont">QVariant</a><li>toIPv4Address:
+ <a href="qhostaddress.html#toIPv4Address">QHostAddress</a><li>toIPv6Address:
+ <a href="qhostaddress.html#toIPv6Address">QHostAddress</a><li>toIconSet:
+ <a href="qvariant.html#toIconSet">QVariant</a><li>toImage:
+ <a href="qvariant.html#toImage">QVariant</a><li>toInt:
+ <a href="qcstring.html#toInt">QCString</a> <a href="qlocale.html#toInt">QLocale</a> <a href="qstring.html#toInt">QString</a> <a href="qvariant.html#toInt">QVariant</a><li>toKeySequence:
+ <a href="qvariant.html#toKeySequence">QVariant</a><li>toLast:
+ <a href="qasciicacheiterator.html#toLast">QAsciiCacheIterator</a> <a href="qcacheiterator.html#toLast">QCacheIterator</a> <a href="qintcacheiterator.html#toLast">QIntCacheIterator</a> <a href="qptrlistiterator.html#toLast">QPtrListIterator</a><li>toList:
+ <a href="qvariant.html#toList">QVariant</a><li>toLong:
+ <a href="qcstring.html#toLong">QCString</a> <a href="qlocale.html#toLong">QLocale</a> <a href="qstring.html#toLong">QString</a><li>toLongLong:
+ <a href="qlocale.html#toLongLong">QLocale</a> <a href="qstring.html#toLongLong">QString</a> <a href="qvariant.html#toLongLong">QVariant</a><li>toMap:
+ <a href="qvariant.html#toMap">QVariant</a><li>toNotation:
+ <a href="qdomnode.html#toNotation">QDomNode</a><li>toPage:
+ <a href="qprinter.html#toPage">QPrinter</a><li>toPalette:
+ <a href="qvariant.html#toPalette">QVariant</a><li>toPen:
+ <a href="qvariant.html#toPen">QVariant</a><li>toPixmap:
+ <a href="qvariant.html#toPixmap">QVariant</a><li>toPoint:
+ <a href="qvariant.html#toPoint">QVariant</a><li>toPointArray:
+ <a href="qvariant.html#toPointArray">QVariant</a><li>toProcessingInstruction:
+ <a href="qdomnode.html#toProcessingInstruction">QDomNode</a><li>toRecord:
+ <a href="qsqlrecordinfo.html#toRecord">QSqlRecordInfo</a><li>toRect:
+ <a href="qvariant.html#toRect">QVariant</a><li>toRegion:
+ <a href="qvariant.html#toRegion">QVariant</a><li>toShort:
+ <a href="qcstring.html#toShort">QCString</a> <a href="qlocale.html#toShort">QLocale</a> <a href="qstring.html#toShort">QString</a><li>toSize:
+ <a href="qvariant.html#toSize">QVariant</a><li>toSizePolicy:
+ <a href="qvariant.html#toSizePolicy">QVariant</a><li>toString:
+ <a href="qdate.html#toString">QDate</a> <a href="qdatetime.html#toString">QDateTime</a> <a href="qdomdocument.html#toString">QDomDocument</a> <a href="qfont.html#toString">QFont</a> <a href="qhostaddress.html#toString">QHostAddress</a> <a href="qhttpheader.html#toString">QHttpHeader</a> <a href="qlocale.html#toString">QLocale</a> <a href="qsqlcursor.html#toString">QSqlCursor</a> <a href="qsqlrecord.html#toString">QSqlRecord</a> <a href="qtime.html#toString">QTime</a> <a href="qurl.html#toString">QUrl</a> <a href="quuid.html#toString">QUuid</a> <a href="qvariant.html#toString">QVariant</a><li>toStringList:
+ <a href="qsqlrecord.html#toStringList">QSqlRecord</a> <a href="qvariant.html#toStringList">QVariant</a><li>toText:
+ <a href="qdomnode.html#toText">QDomNode</a><li>toTime:
+ <a href="qvariant.html#toTime">QVariant</a><li>toTime_t:
+ <a href="qdatetime.html#toTime_t">QDateTime</a><li>toUInt:
+ <a href="qcstring.html#toUInt">QCString</a> <a href="qlocale.html#toUInt">QLocale</a> <a href="qstring.html#toUInt">QString</a> <a href="qvariant.html#toUInt">QVariant</a><li>toULong:
+ <a href="qcstring.html#toULong">QCString</a> <a href="qlocale.html#toULong">QLocale</a> <a href="qstring.html#toULong">QString</a><li>toULongLong:
+ <a href="qlocale.html#toULongLong">QLocale</a> <a href="qstring.html#toULongLong">QString</a> <a href="qvariant.html#toULongLong">QVariant</a><li>toUShort:
+ <a href="qcstring.html#toUShort">QCString</a> <a href="qlocale.html#toUShort">QLocale</a> <a href="qstring.html#toUShort">QString</a><li>toUnicode:
+ <a href="qtextcodec.html#toUnicode">QTextCodec</a> <a href="qtextdecoder.html#toUnicode">QTextDecoder</a><li>toVector:
+ <a href="qptrlist.html#toVector">QPtrList</a><li>toggle:
+ <a href="qaction.html#toggle">QAction</a> <a href="qbutton.html#toggle">QButton</a> <a href="qbutton.html#toggle">QCheckBox</a> <a href="qbutton.html#toggle">QPushButton</a> <a href="qbutton.html#toggle">QRadioButton</a> <a href="qtoolbutton.html#toggle">QToolButton</a><li>toggleBit:
+ <a href="qbitarray.html#toggleBit">QBitArray</a><li>toggleCurrentItem:
+ <a href="qlistbox.html#toggleCurrentItem">QListBox</a><li>toggleType:
+ <a href="qbutton.html#toggleType">QButton</a><li>toggled:
+ <a href="qaction.html#toggled">QAction</a> <a href="qbutton.html#toggled">QButton</a> <a href="qbutton.html#toggled">QCheckBox</a> <a href="qgroupbox.html#toggled">QGroupBox</a> <a href="qbutton.html#toggled">QPushButton</a> <a href="qbutton.html#toggled">QRadioButton</a><li>toolBars:
+ <a href="qmainwindow.html#toolBars">QMainWindow</a><li>toolTip:
+ <a href="qaction.html#toolTip">QAction</a> <a href="qtabbar.html#toolTip">QTabBar</a> <a href="qwidgetplugin.html#toolTip">QWidgetPlugin</a><li>toolTipGroup:
+ <a href="qmainwindow.html#toolTipGroup">QMainWindow</a><li>top:
+ <a href="qdoublevalidator.html#top">QDoubleValidator</a> <a href="qintvalidator.html#top">QIntValidator</a> <a href="qptrstack.html#top">QPtrStack</a> <a href="qrect.html#top">QRect</a> <a href="qvaluestack.html#top">QValueStack</a><li>topDock:
+ <a href="qmainwindow.html#topDock">QMainWindow</a><li>topEdge:
+ <a href="qcanvassprite.html#topEdge">QCanvasSprite</a><li>topItem:
+ <a href="qlistbox.html#topItem">QListBox</a><li>topLeft:
+ <a href="qrect.html#topLeft">QRect</a><li>topLevelWidget:
+ <a href="qwidget.html#topLevelWidget">QWidget</a><li>topLevelWidgets:
+ <a href="qapplication.html#topLevelWidgets">QApplication</a><li>topMargin:
+ <a href="qscrollview.html#topMargin">QScrollView</a><li>topRight:
+ <a href="qrect.html#topRight">QRect</a><li>topRow:
+ <a href="qtableselection.html#topRow">QTableSelection</a><li>total:
+ <a href="qsemaphore.html#total">QSemaphore</a><li>totalCost:
+ <a href="qasciicache.html#totalCost">QAsciiCache</a> <a href="qcache.html#totalCost">QCache</a> <a href="qintcache.html#totalCost">QIntCache</a><li>totalHeight:
+ <a href="qlistviewitem.html#totalHeight">QListViewItem</a><li>totalSize:
+ <a href="qscreen.html#totalSize">QScreen</a><li>totalSteps:
+ <a href="qprogressbar.html#totalSteps">QProgressBar</a> <a href="qprogressdialog.html#totalSteps">QProgressDialog</a><li>tr:
+ <a href="qobject.html#tr">QObject</a><li>trUtf8:
+ <a href="qobject.html#trUtf8">QObject</a><li>tracking:
+ <a href="qdial.html#tracking">QDial</a> <a href="qheader.html#tracking">QHeader</a> <a href="qscrollbar.html#tracking">QScrollBar</a> <a href="qslider.html#tracking">QSlider</a><li>transaction:
+ <a href="qsqldatabase.html#transaction">QSqlDatabase</a><li>transformOrientation:
+ <a href="qdirectpainter.html#transformOrientation">QDirectPainter</a> <a href="qscreen.html#transformOrientation">QScreen</a><li>transformationMode:
+ <a href="qwmatrix.html#transformationMode">QWMatrix</a><li>translate:
+ <a href="qapplication.html#translate">QApplication</a> <a href="qpainter.html#translate">QPainter</a> <a href="qpointarray.html#translate">QPointArray</a> <a href="qregion.html#translate">QRegion</a> <a href="qwmatrix.html#translate">QWMatrix</a><li>translateKeyEvent:
+ <a href="qaxwidget.html#translateKeyEvent">QAxWidget</a><li>translation:
+ <a href="qtranslatormessage.html#translation">QTranslatorMessage</a><li>transpose:
+ <a href="qsize.html#transpose">QSize</a> <a href="qsizepolicy.html#transpose">QSizePolicy</a><li>treeStepSize:
+ <a href="qlistview.html#treeStepSize">QListView</a><li>triggerUpdate:
+ <a href="qlistbox.html#triggerUpdate">QListBox</a> <a href="qlistview.html#triggerUpdate">QListView</a><li>trueMatrix:
+ <a href="qpixmap.html#trueMatrix">QPixmap</a><li>trueText:
+ <a href="qdatatable.html#trueText">QDataTable</a><li>truncate:
+ <a href="qcstring.html#truncate">QCString</a> <a href="qmemarray.html#truncate">QMemArray</a> <a href="qstring.html#truncate">QString</a><li>tryAccess:
+ <a href="qsemaphore.html#tryAccess">QSemaphore</a><li>tryLock:
+ <a href="qapplication.html#tryLock">QApplication</a> <a href="qmutex.html#tryLock">QMutex</a><li>tryTerminate:
+ <a href="qprocess.html#tryTerminate">QProcess</a><li>turnOffChild:
+ <a href="qchecklistitem.html#turnOffChild">QCheckListItem</a><li>type:
+ <a href="qapplication.html#type">QApplication</a> <a href="qchecklistitem.html#type">QCheckListItem</a> <a href="qevent.html#type">QEvent</a> <a href="qmetaproperty.html#type">QMetaProperty</a> <a href="qnpstream.html#type">QNPStream</a> <a href="qsocketdevice.html#type">QSocketDevice</a> <a href="qsocketnotifier.html#type">QSocketNotifier</a> <a href="qsqlerror.html#type">QSqlError</a> <a href="qsqlfield.html#type">QSqlField</a> <a href="qsqlfieldinfo.html#type">QSqlFieldInfo</a> <a href="qvariant.html#type">QVariant</a> <a href="qxmlattributes.html#type">QXmlAttributes</a><li>typeID:
+ <a href="qsqlfieldinfo.html#typeID">QSqlFieldInfo</a><li>typeLibID:
+ <a href="qaxfactory.html#typeLibID">QAxFactory</a><li>typeName:
+ <a href="qvariant.html#typeName">QVariant</a><li>typeToName:
+ <a href="qvariant.html#typeToName">QVariant</a><li><a name="u"></a>
+ucs2:
+ <a href="qstring.html#ucs2">QString</a><li>unPolish:
+ <a href="qstyle.html#unPolish">QStyle</a><li>uncache:
+ <a href="qscreen.html#uncache">QScreen</a><li>underline:
+ <a href="qfont.html#underline">QFont</a> <a href="qtextedit.html#underline">QTextEdit</a><li>underlinePos:
+ <a href="qfontmetrics.html#underlinePos">QFontMetrics</a><li>undo:
+ <a href="qlineedit.html#undo">QLineEdit</a> <a href="qtextedit.html#undo">QTextEdit</a><li>undoAvailable:
+ <a href="qtextedit.html#undoAvailable">QTextEdit</a><li>undoDepth:
+ <a href="qtextedit.html#undoDepth">QTextEdit</a><li>undock:
+ <a href="qdockwindow.html#undock">QDockWindow</a><li>ungetch:
+ <a href="qfile.html#ungetch">QFile</a> <a href="qiodevice.html#ungetch">QIODevice</a> <a href="qsocket.html#ungetch">QSocket</a><li>unicode:
+ <a href="qchar.html#unicode">QChar</a> <a href="qstring.html#unicode">QString</a><li>unicodeUriToUri:
+ <a href="quridrag.html#unicodeUriToUri">QUriDrag</a><li>uniqueId:
+ <a href="qtabletevent.html#uniqueId">QTabletEvent</a><li>unite:
+ <a href="qrect.html#unite">QRect</a> <a href="qregion.html#unite">QRegion</a><li>unload:
+ <a href="qlibrary.html#unload">QLibrary</a><li>unlock:
+ <a href="qapplication.html#unlock">QApplication</a> <a href="qmutex.html#unlock">QMutex</a><li>unparsedEntityDecl:
+ <a href="qxmldtdhandler.html#unparsedEntityDecl">QXmlDTDHandler</a><li>unpause:
+ <a href="qmovie.html#unpause">QMovie</a><li>unregisterClass:
+ <a href="qaxfactory.html#unregisterClass">QAxFactory</a><li>unregisterDecoderFactory:
+ <a href="qimagedecoder.html#unregisterDecoderFactory">QImageDecoder</a><li>unregisterSocketNotifier:
+ <a href="qeventloop.html#unregisterSocketNotifier">QEventLoop</a><li>unsetCursor:
+ <a href="qwidget.html#unsetCursor">QWidget</a><li>unsetDevice:
+ <a href="qdatastream.html#unsetDevice">QDataStream</a> <a href="qtextstream.html#unsetDevice">QTextStream</a><li>unsetFont:
+ <a href="qwidget.html#unsetFont">QWidget</a><li>unsetPalette:
+ <a href="qwidget.html#unsetPalette">QWidget</a><li>unsetf:
+ <a href="qtextstream.html#unsetf">QTextStream</a><li>unsqueeze:
+ <a href="qtranslator.html#unsqueeze">QTranslator</a><li>unuseJavaClass:
+ <a href="qnplugin.html#unuseJavaClass">QNPlugin</a><li>upRect:
+ <a href="qspinbox.html#upRect">QSpinBox</a><li>update:
+ <a href="qcanvas.html#update">QCanvas</a> <a href="qcanvasitem.html#update">QCanvasItem</a> <a href="qdatabrowser.html#update">QDataBrowser</a> <a href="qsqlcursor.html#update">QSqlCursor</a> <a href="qwidget.html#update">QWidget</a><li>updateAccessibility:
+ <a href="qaccessible.html#updateAccessibility">QAccessible</a><li>updateBoundary:
+ <a href="qdatabrowser.html#updateBoundary">QDataBrowser</a><li>updateButtons:
+ <a href="qdateedit.html#updateButtons">QDateEdit</a><li>updateCell:
+ <a href="qgridview.html#updateCell">QGridView</a> <a href="qtable.html#updateCell">QTable</a><li>updateContents:
+ <a href="qlistview.html#updateContents">QListView</a> <a href="qscrollview.html#updateContents">QScrollView</a><li>updateCurrent:
+ <a href="qdatabrowser.html#updateCurrent">QDataBrowser</a> <a href="qdatatable.html#updateCurrent">QDataTable</a><li>updateDisplay:
+ <a href="qspinbox.html#updateDisplay">QSpinBox</a><li>updateGL:
+ <a href="qglwidget.html#updateGL">QGLWidget</a><li>updateGeometry:
+ <a href="qwidget.html#updateGeometry">QWidget</a><li>updateHeaderStates:
+ <a href="qtable.html#updateHeaderStates">QTable</a><li>updateItem:
+ <a href="qlistbox.html#updateItem">QListBox</a> <a href="qmenudata.html#updateItem">QMenuData</a> <a href="qpopupmenu.html#updateItem">QPopupMenu</a><li>updateMask:
+ <a href="qwidget.html#updateMask">QWidget</a><li>updateOverlayGL:
+ <a href="qglwidget.html#updateOverlayGL">QGLWidget</a><li>updateScrollBars:
+ <a href="qscrollview.html#updateScrollBars">QScrollView</a><li>upper:
+ <a href="qcstring.html#upper">QCString</a> <a href="qchar.html#upper">QChar</a> <a href="qstring.html#upper">QString</a><li>uri:
+ <a href="qxmlattributes.html#uri">QXmlAttributes</a> <a href="qxmlnamespacesupport.html#uri">QXmlNamespaceSupport</a><li>uriToLocalFile:
+ <a href="quridrag.html#uriToLocalFile">QUriDrag</a><li>uriToUnicodeUri:
+ <a href="quridrag.html#uriToUnicodeUri">QUriDrag</a><li>url:
+ <a href="qfiledialog.html#url">QFileDialog</a> <a href="qnpstream.html#url">QNPStream</a> <a href="qnetworkprotocol.html#url">QNetworkProtocol</a><li>useHighlightColors:
+ <a href="qmotifstyle.html#useHighlightColors">QMotifStyle</a><li>user:
+ <a href="qurl.html#user">QUrl</a><li>userAgent:
+ <a href="qnpinstance.html#userAgent">QNPInstance</a><li>userName:
+ <a href="qsqldatabase.html#userName">QSqlDatabase</a><li>uses3D:
+ <a href="qtoolbutton.html#uses3D">QToolButton</a><li>usesBigPixmap:
+ <a href="qtoolbutton.html#usesBigPixmap">QToolButton</a><li>usesBigPixmaps:
+ <a href="qmainwindow.html#usesBigPixmaps">QMainWindow</a><li>usesDropDown:
+ <a href="qactiongroup.html#usesDropDown">QActionGroup</a><li>usesTextLabel:
+ <a href="qmainwindow.html#usesTextLabel">QMainWindow</a> <a href="qtoolbutton.html#usesTextLabel">QToolButton</a><li>usesTextLabelChanged:
+ <a href="qmainwindow.html#usesTextLabelChanged">QMainWindow</a><li>usleep:
+ <a href="qthread.html#usleep">QThread</a><li>utf8:
+ <a href="qstring.html#utf8">QString</a><li><a name="v"></a>
+vScrollBarMode:
+ <a href="qscrollview.html#vScrollBarMode">QScrollView</a><li>valid:
+ <a href="qimage.html#valid">QImage</a><li>validChunk:
+ <a href="qcanvas.html#validChunk">QCanvas</a><li>validate:
+ <a href="qdoublevalidator.html#validate">QDoubleValidator</a> <a href="qintvalidator.html#validate">QIntValidator</a> <a href="qregexpvalidator.html#validate">QRegExpValidator</a> <a href="qvalidator.html#validate">QValidator</a><li>validateLicenseKey:
+ <a href="qaxfactory.html#validateLicenseKey">QAxFactory</a><li>validator:
+ <a href="qcombobox.html#validator">QComboBox</a> <a href="qlineedit.html#validator">QLineEdit</a> <a href="qspinbox.html#validator">QSpinBox</a><li>value:
+ <a href="qdatatable.html#value">QDataTable</a> <a href="qdial.html#value">QDial</a> <a href="qdomattr.html#value">QDomAttr</a> <a href="qhttpheader.html#value">QHttpHeader</a> <a href="qhttpheader.html#value">QHttpRequestHeader</a> <a href="qlcdnumber.html#value">QLCDNumber</a> <a href="qrangecontrol.html#value">QRangeControl</a> <a href="qscrollbar.html#value">QScrollBar</a> <a href="qsignal.html#value">QSignal</a> <a href="qslider.html#value">QSlider</a> <a href="qspinbox.html#value">QSpinBox</a> <a href="qsqlfield.html#value">QSqlField</a> <a href="qsqlquery.html#value">QSqlQuery</a> <a href="qsqlrecord.html#value">QSqlRecord</a> <a href="qxmlattributes.html#value">QXmlAttributes</a><li>valueChange:
+ <a href="qdial.html#valueChange">QDial</a> <a href="qrangecontrol.html#valueChange">QRangeControl</a> <a href="qslider.html#valueChange">QSlider</a> <a href="qspinbox.html#valueChange">QSpinBox</a><li>valueChanged:
+ <a href="qdateedit.html#valueChanged">QDateEdit</a> <a href="qdatetimeedit.html#valueChanged">QDateTimeEdit</a> <a href="qdial.html#valueChanged">QDial</a> <a href="qscrollbar.html#valueChanged">QScrollBar</a> <a href="qslider.html#valueChanged">QSlider</a> <a href="qspinbox.html#valueChanged">QSpinBox</a> <a href="qtable.html#valueChanged">QTable</a> <a href="qtimeedit.html#valueChanged">QTimeEdit</a><li>valueFromPosition:
+ <a href="qrangecontrol.html#valueFromPosition">QRangeControl</a><li>valueToKey:
+ <a href="qmetaproperty.html#valueToKey">QMetaProperty</a><li>valueToKeys:
+ <a href="qmetaproperty.html#valueToKeys">QMetaProperty</a><li>values:
+ <a href="qmap.html#values">QMap</a><li>variableHeight:
+ <a href="qlistbox.html#variableHeight">QListBox</a><li>variableWidth:
+ <a href="qlistbox.html#variableWidth">QListBox</a><li>variant:
+ <a href="quuid.html#variant">QUuid</a><li>verData:
+ <a href="qsizepolicy.html#verData">QSizePolicy</a><li>verStretch:
+ <a href="qsizepolicy.html#verStretch">QSizePolicy</a><li>version:
+ <a href="qdatastream.html#version">QDataStream</a> <a href="quuid.html#version">QUuid</a><li>verticalAlignment:
+ <a href="qstylesheetitem.html#verticalAlignment">QStyleSheetItem</a><li>verticalHeader:
+ <a href="qtable.html#verticalHeader">QTable</a><li>verticalScrollBar:
+ <a href="qscrollview.html#verticalScrollBar">QScrollView</a><li>verticalSliderPressed:
+ <a href="qscrollview.html#verticalSliderPressed">QScrollView</a><li>verticalSliderReleased:
+ <a href="qscrollview.html#verticalSliderReleased">QScrollView</a><li>viewMode:
+ <a href="qfiledialog.html#viewMode">QFileDialog</a><li>viewport:
+ <a href="qpainter.html#viewport">QPainter</a> <a href="qscrollview.html#viewport">QScrollView</a><li>viewportPaintEvent:
+ <a href="qscrollview.html#viewportPaintEvent">QScrollView</a><li>viewportResizeEvent:
+ <a href="qscrollview.html#viewportResizeEvent">QScrollView</a><li>viewportSize:
+ <a href="qscrollview.html#viewportSize">QScrollView</a><li>viewportToContents:
+ <a href="qscrollview.html#viewportToContents">QScrollView</a><li>visibilityChanged:
+ <a href="qdockwindow.html#visibilityChanged">QDockWindow</a><li>visibleHeight:
+ <a href="qscrollview.html#visibleHeight">QScrollView</a><li>visibleWidget:
+ <a href="qwidgetstack.html#visibleWidget">QWidgetStack</a><li>visibleWidth:
+ <a href="qscrollview.html#visibleWidth">QScrollView</a><li>visualRect:
+ <a href="qstyle.html#visualRect">QStyle</a><li><a name="w"></a>
+wait:
+ <a href="qthread.html#wait">QThread</a> <a href="qwaitcondition.html#wait">QWaitCondition</a><li>waitForMore:
+ <a href="qsocket.html#waitForMore">QSocket</a> <a href="qsocketdevice.html#waitForMore">QSocketDevice</a><li>wakeAll:
+ <a href="qwaitcondition.html#wakeAll">QWaitCondition</a><li>wakeOne:
+ <a href="qwaitcondition.html#wakeOne">QWaitCondition</a><li>wakeUp:
+ <a href="qeventloop.html#wakeUp">QEventLoop</a><li>wakeUpGuiThread:
+ <a href="qapplication.html#wakeUpGuiThread">QApplication</a><li>warning:
+ <a href="qmessagebox.html#warning">QMessageBox</a> <a href="qxmlerrorhandler.html#warning">QXmlErrorHandler</a><li>wasCanceled:
+ <a href="qprogressdialog.html#wasCanceled">QProgressDialog</a><li>weekNumber:
+ <a href="qdate.html#weekNumber">QDate</a><li>weight:
+ <a href="qfont.html#weight">QFont</a> <a href="qfontdatabase.html#weight">QFontDatabase</a> <a href="qfontinfo.html#weight">QFontInfo</a><li>whatsThis:
+ <a href="qaccel.html#whatsThis">QAccel</a> <a href="qaction.html#whatsThis">QAction</a> <a href="qmainwindow.html#whatsThis">QMainWindow</a> <a href="qmenudata.html#whatsThis">QMenuData</a> <a href="qmenudata.html#whatsThis">QPopupMenu</a> <a href="qwidgetplugin.html#whatsThis">QWidgetPlugin</a><li>whatsThisButton:
+ <a href="qwhatsthis.html#whatsThisButton">QWhatsThis</a><li>wheelEvent:
+ <a href="qwidget.html#wheelEvent">QWidget</a><li>wheelScrollLines:
+ <a href="qapplication.html#wheelScrollLines">QApplication</a><li>whiteSpaceMode:
+ <a href="qstylesheetitem.html#whiteSpaceMode">QStyleSheetItem</a><li>widget:
+ <a href="qaxaggregated.html#widget">QAxAggregated</a> <a href="qdockwindow.html#widget">QDockWindow</a> <a href="qlayoutitem.html#widget">QLayoutItem</a> <a href="qnpinstance.html#widget">QNPInstance</a> <a href="qsqlform.html#widget">QSqlForm</a> <a href="qstyleoption.html#widget">QStyleOption</a> <a href="qwidgetitem.html#widget">QWidgetItem</a> <a href="qwidgetstack.html#widget">QWidgetStack</a><li>widgetAt:
+ <a href="qapplication.html#widgetAt">QApplication</a><li>widgetSizePolicy:
+ <a href="qmacstyle.html#widgetSizePolicy">QMacStyle</a><li>widgetToField:
+ <a href="qsqlform.html#widgetToField">QSqlForm</a><li>widgets:
+ <a href="qwidgetfactory.html#widgets">QWidgetFactory</a><li>width:
+ <a href="qcanvas.html#width">QCanvas</a> <a href="qcanvasellipse.html#width">QCanvasEllipse</a> <a href="qcanvasrectangle.html#width">QCanvasRectangle</a> <a href="qcanvassprite.html#width">QCanvasSprite</a> <a href="qdirectpainter.html#width">QDirectPainter</a> <a href="qfontmetrics.html#width">QFontMetrics</a> <a href="qiconviewitem.html#width">QIconViewItem</a> <a href="qimage.html#width">QImage</a> <a href="qlistboxitem.html#width">QListBoxItem</a> <a href="qlistboxpixmap.html#width">QListBoxPixmap</a> <a href="qlistboxtext.html#width">QListBoxText</a> <a href="qlistviewitem.html#width">QListViewItem</a> <a href="qpaintdevicemetrics.html#width">QPaintDeviceMetrics</a> <a href="qpen.html#width">QPen</a> <a href="qpixmap.html#width">QPixmap</a> <a href="qrect.html#width">QRect</a> <a href="qscreen.html#width">QScreen</a> <a href="qsimplerichtext.html#width">QSimpleRichText</a> <a href="qsize.html#width">QSize</a> <a href="qtextstream.html#width">QTextStream</a> <a href="qwidget.html#width">QWidget</a><li>widthChanged:
+ <a href="qlistviewitem.html#widthChanged">QListViewItem</a><li>widthMM:
+ <a href="qpaintdevicemetrics.html#widthMM">QPaintDeviceMetrics</a><li>widthUsed:
+ <a href="qsimplerichtext.html#widthUsed">QSimpleRichText</a><li>wildcard:
+ <a href="qregexp.html#wildcard">QRegExp</a><li>winEvent:
+ <a href="qwidget.html#winEvent">QWidget</a><li>winEventFilter:
+ <a href="qapplication.html#winEventFilter">QApplication</a><li>winFocus:
+ <a href="qapplication.html#winFocus">QApplication</a><li>winId:
+ <a href="qwswindow.html#winId">QWSWindow</a> <a href="qwidget.html#winId">QWidget</a><li>winPageSize:
+ <a href="qprinter.html#winPageSize">QPrinter</a><li>winding:
+ <a href="qcanvaspolygonalitem.html#winding">QCanvasPolygonalItem</a><li>window:
+ <a href="qpainter.html#window">QPainter</a><li>windowActivated:
+ <a href="qworkspace.html#windowActivated">QWorkspace</a><li>windowActivationChange:
+ <a href="qwidget.html#windowActivationChange">QWidget</a><li>windowAt:
+ <a href="qwsserver.html#windowAt">QWSServer</a><li>windowCreated:
+ <a href="qglcontext.html#windowCreated">QGLContext</a><li>windowEvent:
+ <a href="qwsserver.html#windowEvent">QWSServer</a><li>windowList:
+ <a href="qworkspace.html#windowList">QWorkspace</a><li>windowOpacity:
+ <a href="qwidget.html#windowOpacity">QWidget</a><li>windowState:
+ <a href="qwidget.html#windowState">QWidget</a><li>wordWrap:
+ <a href="qtableitem.html#wordWrap">QTableItem</a> <a href="qtextedit.html#wordWrap">QTextEdit</a><li>wordWrapIconText:
+ <a href="qiconview.html#wordWrapIconText">QIconView</a><li>workingDirectory:
+ <a href="qprocess.html#workingDirectory">QProcess</a><li>worldMatrix:
+ <a href="qcanvasview.html#worldMatrix">QCanvasView</a> <a href="qpainter.html#worldMatrix">QPainter</a><li>wrapColumnOrWidth:
+ <a href="qtextedit.html#wrapColumnOrWidth">QTextEdit</a><li>wrapPolicy:
+ <a href="qtextedit.html#wrapPolicy">QTextEdit</a><li>wrapping:
+ <a href="qdial.html#wrapping">QDial</a> <a href="qspinbox.html#wrapping">QSpinBox</a><li>writable:
+ <a href="qmetaproperty.html#writable">QMetaProperty</a><li>write:
+ <a href="qasciidict.html#write">QAsciiDict</a> <a href="qdict.html#write">QDict</a> <a href="qimageio.html#write">QImageIO</a> <a href="qintdict.html#write">QIntDict</a> <a href="qnpinstance.html#write">QNPInstance</a> <a href="qnpstream.html#write">QNPStream</a> <a href="qptrdict.html#write">QPtrDict</a> <a href="qptrlist.html#write">QPtrList</a> <a href="qptrqueue.html#write">QPtrQueue</a> <a href="qptrstack.html#write">QPtrStack</a> <a href="qptrvector.html#write">QPtrVector</a> <a href="qtranslatormessage.html#write">QTranslatorMessage</a><li>writeBlock:
+ <a href="qbuffer.html#writeBlock">QBuffer</a> <a href="qiodevice.html#writeBlock">QIODevice</a> <a href="qsocket.html#writeBlock">QSocket</a> <a href="qsocketdevice.html#writeBlock">QSocketDevice</a><li>writeBytes:
+ <a href="qdatastream.html#writeBytes">QDataStream</a><li>writeEntry:
+ <a href="qsettings.html#writeEntry">QSettings</a><li>writeField:
+ <a href="qsqlform.html#writeField">QSqlForm</a><li>writeFields:
+ <a href="qdatabrowser.html#writeFields">QDataBrowser</a> <a href="qdataview.html#writeFields">QDataView</a> <a href="qsqlform.html#writeFields">QSqlForm</a><li>writeRawBytes:
+ <a href="qdatastream.html#writeRawBytes">QDataStream</a> <a href="qtextstream.html#writeRawBytes">QTextStream</a><li>writeReady:
+ <a href="qnpinstance.html#writeReady">QNPInstance</a><li>writeToStdin:
+ <a href="qprocess.html#writeToStdin">QProcess</a><li>wroteToStdin:
+ <a href="qprocess.html#wroteToStdin">QProcess</a><li><a name="x"></a>
+x:
+ <a href="qcanvasitem.html#x">QCanvasItem</a> <a href="qcontextmenuevent.html#x">QContextMenuEvent</a> <a href="qiconviewitem.html#x">QIconViewItem</a> <a href="qmouseevent.html#x">QMouseEvent</a> <a href="qpoint.html#x">QPoint</a> <a href="qrect.html#x">QRect</a> <a href="qtabletevent.html#x">QTabletEvent</a> <a href="qwheelevent.html#x">QWheelEvent</a> <a href="qwidget.html#x">QWidget</a><li>x11AppCells:
+ <a href="qpaintdevice.html#x11AppCells">QPaintDevice</a><li>x11AppColormap:
+ <a href="qpaintdevice.html#x11AppColormap">QPaintDevice</a><li>x11AppDefaultColormap:
+ <a href="qpaintdevice.html#x11AppDefaultColormap">QPaintDevice</a><li>x11AppDefaultVisual:
+ <a href="qpaintdevice.html#x11AppDefaultVisual">QPaintDevice</a><li>x11AppDepth:
+ <a href="qpaintdevice.html#x11AppDepth">QPaintDevice</a><li>x11AppDisplay:
+ <a href="qpaintdevice.html#x11AppDisplay">QPaintDevice</a><li>x11AppDpiX:
+ <a href="qpaintdevice.html#x11AppDpiX">QPaintDevice</a><li>x11AppDpiY:
+ <a href="qpaintdevice.html#x11AppDpiY">QPaintDevice</a><li>x11AppRootWindow:
+ <a href="qpaintdevice.html#x11AppRootWindow">QPaintDevice</a><li>x11AppScreen:
+ <a href="qpaintdevice.html#x11AppScreen">QPaintDevice</a><li>x11AppVisual:
+ <a href="qpaintdevice.html#x11AppVisual">QPaintDevice</a><li>x11Cells:
+ <a href="qpaintdevice.html#x11Cells">QPaintDevice</a><li>x11Colormap:
+ <a href="qpaintdevice.html#x11Colormap">QPaintDevice</a><li>x11DefaultColormap:
+ <a href="qpaintdevice.html#x11DefaultColormap">QPaintDevice</a><li>x11DefaultVisual:
+ <a href="qpaintdevice.html#x11DefaultVisual">QPaintDevice</a><li>x11Depth:
+ <a href="qpaintdevice.html#x11Depth">QPaintDevice</a><li>x11Display:
+ <a href="qmotif.html#x11Display">QMotif</a> <a href="qpaintdevice.html#x11Display">QPaintDevice</a><li>x11Event:
+ <a href="qwidget.html#x11Event">QMotifWidget</a> <a href="qwidget.html#x11Event">QWidget</a> <a href="qxtwidget.html#x11Event">QXtWidget</a><li>x11EventFilter:
+ <a href="qapplication.html#x11EventFilter">QApplication</a><li>x11ProcessEvent:
+ <a href="qapplication.html#x11ProcessEvent">QApplication</a><li>x11Screen:
+ <a href="qpaintdevice.html#x11Screen">QPaintDevice</a><li>x11SetAppDpiX:
+ <a href="qpaintdevice.html#x11SetAppDpiX">QPaintDevice</a><li>x11SetAppDpiY:
+ <a href="qpaintdevice.html#x11SetAppDpiY">QPaintDevice</a><li>x11Visual:
+ <a href="qpaintdevice.html#x11Visual">QPaintDevice</a><li>xForm:
+ <a href="qbitmap.html#xForm">QBitmap</a> <a href="qimage.html#xForm">QImage</a> <a href="qpainter.html#xForm">QPainter</a> <a href="qpixmap.html#xForm">QPixmap</a><li>xFormDev:
+ <a href="qpainter.html#xFormDev">QPainter</a><li>xOffset:
+ <a href="qdirectpainter.html#xOffset">QDirectPainter</a><li>xTilt:
+ <a href="qtabletevent.html#xTilt">QTabletEvent</a><li>xVelocity:
+ <a href="qcanvasitem.html#xVelocity">QCanvasItem</a><li>xtWidget:
+ <a href="qxtwidget.html#xtWidget">QXtWidget</a><li><a name="y"></a>
+y:
+ <a href="qcanvasitem.html#y">QCanvasItem</a> <a href="qcontextmenuevent.html#y">QContextMenuEvent</a> <a href="qiconviewitem.html#y">QIconViewItem</a> <a href="qmouseevent.html#y">QMouseEvent</a> <a href="qpoint.html#y">QPoint</a> <a href="qrect.html#y">QRect</a> <a href="qtabletevent.html#y">QTabletEvent</a> <a href="qwheelevent.html#y">QWheelEvent</a> <a href="qwidget.html#y">QWidget</a><li>yOffset:
+ <a href="qdirectpainter.html#yOffset">QDirectPainter</a><li>yTilt:
+ <a href="qtabletevent.html#yTilt">QTabletEvent</a><li>yVelocity:
+ <a href="qcanvasitem.html#yVelocity">QCanvasItem</a><li>year:
+ <a href="qdate.html#year">QDate</a><li><a name="z"></a>
+z:
+ <a href="qcanvasitem.html#z">QCanvasItem</a><li>zoomIn:
+ <a href="qtextedit.html#zoomIn">QTextEdit</a><li>zoomOut:
+ <a href="qtextedit.html#zoomOut">QTextEdit</a><li>zoomTo:
+ <a href="qtextedit.html#zoomTo">QTextEdit</a></ul>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/general.png b/doc/html/general.png
new file mode 100644
index 0000000..2fad053
--- /dev/null
+++ b/doc/html/general.png
Binary files differ
diff --git a/doc/html/geomanagement.html b/doc/html/geomanagement.html
new file mode 100644
index 0000000..f89aa64
--- /dev/null
+++ b/doc/html/geomanagement.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:688 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Layout Management</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Layout Management</h1>
+
+
+<p> These classes provide automatic geometry (layout) management of widgets.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qboxlayout.html">QBoxLayout</a></b><td>Lines up child widgets horizontally or vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qbuttongroup.html">QButtonGroup</a></b><td>Organizes QButton widgets in a group
+<tr bgcolor=#f0f0f0><td><b><a href="qglayoutiterator.html">QGLayoutIterator</a></b><td>Abstract base class of internal layout iterators
+<tr bgcolor=#f0f0f0><td><b><a href="qgrid.html">QGrid</a></b><td>Simple geometry management of its children
+<tr bgcolor=#f0f0f0><td><b><a href="qgridlayout.html">QGridLayout</a></b><td>Lays out widgets in a grid
+<tr bgcolor=#f0f0f0><td><b><a href="qgroupbox.html">QGroupBox</a></b><td>Group box frame with a title
+<tr bgcolor=#f0f0f0><td><b><a href="qhbox.html">QHBox</a></b><td>Horizontal geometry management for its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qhboxlayout.html">QHBoxLayout</a></b><td>Lines up widgets horizontally
+<tr bgcolor=#f0f0f0><td><b><a href="qhbuttongroup.html">QHButtonGroup</a></b><td>Organizes QButton widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qhgroupbox.html">QHGroupBox</a></b><td>Organizes widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qlayout.html">QLayout</a></b><td>The base class of geometry managers
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutitem.html">QLayoutItem</a></b><td>Abstract item that a QLayout manipulates
+<tr bgcolor=#f0f0f0><td><b><a href="qlayoutiterator.html">QLayoutIterator</a></b><td>Iterators over QLayoutItem
+<tr bgcolor=#f0f0f0><td><b><a href="qsizepolicy.html">QSizePolicy</a></b><td>Layout attribute describing horizontal and vertical resizing policy
+<tr bgcolor=#f0f0f0><td><b><a href="qspaceritem.html">QSpacerItem</a></b><td>Blank space in a layout
+<tr bgcolor=#f0f0f0><td><b><a href="qvbox.html">QVBox</a></b><td>Vertical geometry management of its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qvboxlayout.html">QVBoxLayout</a></b><td>Lines up widgets vertically
+<tr bgcolor=#f0f0f0><td><b><a href="qvbuttongroup.html">QVButtonGroup</a></b><td>Organizes QButton widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qvgroupbox.html">QVGroupBox</a></b><td>Organizes a group of widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetitem.html">QWidgetItem</a></b><td>Layout item that represents a widget
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/geometry.html b/doc/html/geometry.html
new file mode 100644
index 0000000..6b86e56
--- /dev/null
+++ b/doc/html/geometry.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:1031 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Window Geometry</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Window Geometry</h1>
+
+
+<h2> Overview
+</h2>
+<a name="1"></a><p> <a href="qwidget.html">QWidget</a> provides several functions that deal with a widget's
+geometry. Some of these functions operate on the pure client area
+(i.e. the window excluding the window frame), others include the
+window frame. The differentiation is done in a way that covers the
+most common usage transparently.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top"><strong>Including the window frame:
+<td valign="top">x(), y(), frameGeometry(), pos() and move()
+<tr bgcolor="#d0d0d0">
+<td valign="top"><strong>Excluding the window frame:</strong>
+<td valign="top">geometry(), width(), height(), rect() and size()
+</table></center>
+<p> Note that the distinction only matters for decorated top-level
+widgets. For all child widgets, the frame geometry is equal to the
+widget's client geometry.
+<p> This diagram shows most of the functions in use:
+<center><img src="geometry.png" alt="Geometry diagram"></center>
+<p> <h2> Unix/X11 peculiarities
+</h2>
+<a name="2"></a><p> On Unix/X11, a window does not have a frame until the window manager
+decorates it. This happens asynchronously at some point in time after
+calling show() and the first paint event the window receives: or it
+does not happen at all. Bear in mind that X11 is policy-free (others
+call it flexible). Thus you cannot make any safe assumption about the
+decoration frame your window will get. Basic rule: there's always one
+user who uses a window manager that breaks your assumption, and who
+will complain to you.
+<p> Furthermore, a toolkit cannot simply place windows on the screen. All
+Qt can do is to send certain hints to the window manager. The window
+manager, a separate process, may either obey, ignore or misunderstand
+them. Due to the partially unclear Inter-Client Communication
+Conventions Manual (ICCCM), window placement is handled quite
+differently in existing window managers.
+<p> X11 provides no standard or easy way to get the frame geometry once
+the window is decorated. Qt solves this problem with nifty heuristics
+and clever code that works on a wide range of window managers that
+exist today. Don't be surprised if you find one where frameGeometry()
+returns bogus results though.
+<p> Nor does X11 provide a way to maximize a window. The showMaximized()
+function in Qt therefore has to emulate the feature. Its result
+depends on the result of frameGeometry() and the capability of the
+window manager to do proper window placement, neither of which can be
+guaranteed.
+<p> <h2> Restoring a Window's Geometry
+</h2>
+<a name="3"></a><p> A common task in modern applications is to restore a window's geometry
+in a later session. On Windows, this is basically storing the result
+of geometry() and calling setGeometry() in the next session before
+calling show(). On X11, this won't work because an invisible window
+doesn't have a frame yet. The window manager would decorate the window
+later. When this happens, the window shifts towards the bottom/right
+corner of the screen depending on the size of the decoration frame. X
+theoretically provides a way to avoid this shift. Our tests have
+shown, though, that almost all window managers fail to implement this
+feature.
+<p> A workaround is to call setGeometry() after show(). This has the
+two disadvantages that the widget appears at a wrong place for a
+millisecond (results in flashing) and that currently only every
+second window manager gets it right. A safer solution is to store
+both pos() and size() and to restore the geometry using resize() and
+move() before calling show(), as demonstrated in the following
+example:
+<p> <pre>
+ MyWidget* widget = new MyWidget
+ ...
+ <a href="qpoint.html">QPoint</a> p = widget-&gt;pos(); // store position
+ <a href="qsize.html">QSize</a> s = widget-&gt;size(); // store size
+ ...
+ widget = new MyWidget;
+ widget-&gt;resize( s ); // restore size
+ widget-&gt;move( p ); // restore position
+ widget-&gt;show(); // show widget
+</pre>
+
+<p> This method works on both MS-Windows and most existing X11 window
+managers.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/geometry.png b/doc/html/geometry.png
new file mode 100644
index 0000000..4b2ce50
--- /dev/null
+++ b/doc/html/geometry.png
Binary files differ
diff --git a/doc/html/gpl.html b/doc/html/gpl.html
new file mode 100644
index 0000000..04b67aa
--- /dev/null
+++ b/doc/html/gpl.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:441 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>GNU General Public License</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>GNU General Public License</h1>
+
+
+The Qt GUI Toolkit is Copyright (C) 1994-2007 Trolltech ASA.
+<p> The Qt Open Source Edition and the Qt/Embedded Open Source Edition are available
+under the GPL. The Qt Open Source Edition (for Unix/X11) is also available
+under the <a href="license.html">QPL</a>.
+<p> <pre>
+ You may use, distribute and copy the Qt GUI Toolkit under the terms of
+ GNU General Public License version 2, which is displayed below.
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Steet, 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.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, 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 or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+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 give any other recipients of the Program a copy of this License
+along with the Program.
+
+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 Program or any portion
+of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+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 Program, 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 Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) 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; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, 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 executable. However, as a
+special exception, the source code 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.
+
+If distribution of executable or 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 counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program 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.
+
+ 5. 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 Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program 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 to
+this License.
+
+ 7. 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 Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program 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 Program.
+
+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.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program 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.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the 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 Program
+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 Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, 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
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. 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 PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. 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.
+
+ &lt;one line to give the program's name and a brief idea of what it does.&gt;
+ Copyright (C) 19yy &lt;name of author&gt;
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Steet, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ &lt;signature of Ty Coon&gt;, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+</pre>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/graph.g1n b/doc/html/graph.g1n
new file mode 100644
index 0000000..2acd143
--- /dev/null
+++ b/doc/html/graph.g1n
@@ -0,0 +1,10 @@
+
+num label
+10 A
+24 B
+12 C
+7 D
+34 E
+15 F
+19 G
+
diff --git a/doc/html/grapher-nsplugin-example.html b/doc/html/grapher-nsplugin-example.html
new file mode 100644
index 0000000..9578a53
--- /dev/null
+++ b/doc/html/grapher-nsplugin-example.html
@@ -0,0 +1,704 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/examples/grapher/grapher.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Grapher Plugin</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Grapher Plugin</h1>
+
+
+
+<p> This example graphs data from a simple text file. It
+demonstrates the use of the <a href="qnpinstance.html#writeReady">QNPInstance::writeReady</a>()
+and <a href="qnpinstance.html#write">QNPInstance::write</a>() functions.
+<p> To build the example, you must first build the
+<a href=nsplugin.html>Qt Netscape Plugin Extension</a> library.
+Then type <tt>make</tt> in <tt>extensions/nsplugin/examples/grapher/</tt>
+and copy the resulting <tt>grapher.so</tt> or <tt>npgrapher.dll</tt>
+to the Plugins directory of your WWW browser.
+<p> <EMBED ALIGN=LEFT WIDTH=49% HEIGHT=300 SRC=graph.g1n
+graphstyle=pie fontfamily=times fontsize=18>
+<p> The text file it accepts as input has a title line, then
+a sequence of lines with a number, then a string. The
+plugin displays a pie chart of the numbers, each segment
+labelled by the associated string. The user can select
+a bar chart view of the same data by selecting from the
+menu that appears when they point at the plugin.
+<p> The HTML tag used to embed the graph is:
+<small>
+<pre>
+ &lt;EMBED
+ SRC=graph.g1n
+ ALIGN=LEFT
+ WIDTH=49% HEIGHT=300
+ graphstyle=pie fontfamily=times
+ fontsize=18&gt;
+</pre><p> </small>
+Note that some HTML arguments (which we have capitalized here)
+are interpreted by the browser, while others are used by the
+plugin.
+<p> <br clear>
+With the simplicity and cross-platform nature of Qt-based plugins,
+pages like <a href="http://www.netcraft.com/survey/">Netcraft's
+Server Graphs</a> can be provided much more efficiently for both
+the service provider and consumer. Data need not be converted
+to an image at the server.
+<p> <br clear>
+<hr>
+Implementation:
+<p> <pre>// Include Qt Netscape Plugin classes.
+#include "qnp.h"
+
+// Include other Qt classes.
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qbuffer-h.html">qbuffer.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+
+// Include some C library functions.
+#include &lt;math.h&gt;
+#include &lt;stdlib.h&gt;
+
+#ifndef M_PI // Some math.h don't include this.
+#define M_PI 3.14159265358979323846264338327950288
+#endif
+
+
+
+//
+// GraphModel is a simple abstract class that describes
+// a table of numeric and text data.
+//
+
+class GraphModel {
+public:
+ enum ColType { Numeric, Label };
+
+ union Datum {
+ double dbl;
+ <a href="qstring.html">QString</a>* str;
+ };
+
+ virtual QPtrList&lt;Datum&gt;&amp; graphData()=0;
+ virtual ColType colType(int col) const=0;
+ virtual int nCols() const=0;
+};
+
+
+//
+// Graph is a widget subclass that displays a GraphModel.
+// Since the widget is a QNPWidget, it can be used as a plugin window,
+// returned by Grapher::newWindow() below.
+//
+
+class Graph : public <a href="qnpwidget.html">QNPWidget</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ // Constructs a Graph to display a GraphModel
+ //
+ Graph(GraphModel&amp;);
+ ~Graph();
+
+ // Two styles are available - Pie and Bar graph
+ //
+ enum Style { Pie, Bar };
+ static const char* styleName[];
+ void setStyle(Style);
+ void setStyle(const char*);
+
+ // Timer event processing rotates the pie graph
+ //
+ void timerEvent(QTimerEvent*);
+
+ // These functions are provided by QNPWidget - we override
+ // them to hide and show the plugin menubar.
+ //
+ void enterInstance();
+ void leaveInstance();
+
+ // Paint the graph...
+ //
+ void paintEvent(QPaintEvent*);
+ //
+ // ... as either a "Loading" message, a Bar graph, a Pie graph,
+ // or an error message.
+ //
+ void paintWait(QPaintEvent*);
+ void paintBar(QPaintEvent*);
+ void paintPie(QPaintEvent*);
+ void paintError(const char*);
+
+signals:
+ // Signals emitted when the Help menus are selected.
+ void aboutPlugin();
+ void aboutData();
+
+private:
+ GraphModel&amp; model;
+ <a href="qmenubar.html">QMenuBar</a> *menubar;
+ Style style;
+ <a href="qpopupmenu.html">QPopupMenu</a>* stylemenu;
+ int pieRotationTimer;
+ int pieRotation;
+ <a href="qpixmap.html">QPixmap</a> pm;
+
+private slots:
+ void setStyleFromMenu(int id);
+};
+
+
+<a name="f564"></a>Graph::Graph( GraphModel&amp; mdl ) :
+ model(mdl),
+ <a href="qwidget.html#style">style</a>(Bar),
+ pieRotationTimer(0),
+ pieRotation(0)
+{
+ // Create a menubar for the widget
+ //
+ menubar = new <a href="qmenubar.html">QMenuBar</a>( this );
+ stylemenu = new <a href="qpopupmenu.html">QPopupMenu</a>;
+<a name="x2768"></a> stylemenu-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>(TRUE);
+ for ( Style s = Pie; styleName[s]; s = Style(s+1)) {
+ stylemenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>(styleName[s], s+100);
+ }
+<a name="x2767"></a> <a href="qobject.html#connect">connect</a>(stylemenu, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(setStyleFromMenu(int)));
+ <a href="qwidget.html#setStyle">setStyle</a>(Pie);
+
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Style", stylemenu);
+ menubar-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* help = new <a href="qpopupmenu.html">QPopupMenu</a>;
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About plugin...", this, SIGNAL(aboutPlugin()) );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About data...", this, SIGNAL(aboutData()) );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Help", help);
+<a name="x2745"></a> menubar-&gt;<a href="qmenubar.html#hide">hide</a>();
+}
+
+Graph::~Graph()
+{
+}
+
+<a name="x2778"></a>void Graph::<a href="qwidget.html#setStyle">setStyle</a>(Style s)
+{
+ if (style != s) {
+ if (pieRotationTimer)
+ <a href="qobject.html#killTimer">killTimer</a>(pieRotationTimer);
+<a name="x2749"></a> stylemenu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(100+style, FALSE);
+ style = s;
+ if ( style == Pie )
+ pieRotationTimer = <a href="qobject.html#startTimer">startTimer</a>( 80 );
+ else
+ pieRotationTimer = 0;
+ stylemenu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(100+style, TRUE);
+ <a href="qwidget.html#update">update</a>();
+ }
+}
+
+<a name="x2755"></a>void Graph::<a href="qobject.html#timerEvent">timerEvent</a>(QTimerEvent*)
+{
+ pieRotation = ( pieRotation + 6 ) % 360; repaint(FALSE);
+}
+
+void Graph::<a href="qwidget.html#setStyle">setStyle</a>(const char* stext)
+{
+ for ( Style s = Pie; styleName[s]; s = Style(s+1) ) {
+ if ( <a href="qcstring.html#qstricmp">qstricmp</a>(stext,styleName[s])==0 ) {
+ <a href="qwidget.html#setStyle">setStyle</a>(s);
+ return;
+ }
+ }
+}
+
+<a name="x2753"></a>void Graph::<a href="qnpwidget.html#enterInstance">enterInstance</a>()
+{
+<a name="x2746"></a> menubar-&gt;<a href="qmenubar.html#show">show</a>();
+}
+
+<a name="x2754"></a>void Graph::<a href="qnpwidget.html#leaveInstance">leaveInstance</a>()
+{
+ menubar-&gt;<a href="qmenubar.html#hide">hide</a>();
+}
+
+void <a name="f565"></a>Graph::paintError(const char* e)
+{
+ <a href="qpainter.html">QPainter</a> p(this);
+ int w = <a href="qwidget.html#width">width</a>();
+<a name="x2760"></a> p.<a href="qpainter.html#drawText">drawText</a>(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, e);
+}
+
+void <a name="f566"></a>Graph::paintBar(QPaintEvent* event)
+{
+ if ( model.colType(0) != GraphModel::Numeric ) {
+ paintError("First column not numeric, cannot draw bar graph\n");
+ return;
+ }
+
+ <a href="qptrlist.html">QPtrList</a>&lt;GraphModel::Datum&gt;&amp; data = model.graphData();
+
+ double max = 0.0;
+
+<a name="x2772"></a> for (GraphModel::Datum* rowdata = data.<a href="qptrlist.html#first">first</a>();
+<a name="x2773"></a> rowdata; rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ if (rowdata[0].dbl &gt; max) max = rowdata[0].dbl;
+ }
+
+ const uint w = <a href="qwidget.html#width">width</a>();
+ const uint h = <a href="qwidget.html#height">height</a>();
+
+ <a href="qpainter.html">QPainter</a> p(this);
+
+<a name="x2762"></a> p.<a href="qpainter.html#setClipRect">setClipRect</a>(event-&gt;rect());
+
+<a name="x2771"></a> if ( w &gt; data.<a href="qptrlist.html#count">count</a>() ) {
+ // More pixels than data
+ int x = 0;
+ int i = 0;
+ <a href="qfontmetrics.html">QFontMetrics</a> fm=<a href="qwidget.html#fontMetrics">fontMetrics</a>();
+<a name="x2741"></a> int fh = fm.<a href="qfontmetrics.html#height">height</a>();
+
+ for (GraphModel::Datum* rowdata = data.<a href="qptrlist.html#first">first</a>();
+ rowdata; rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ <a href="qcolor.html">QColor</a> c;
+<a name="x2740"></a> c.<a href="qcolor.html#setHsv">setHsv</a>( (i * 255)/data.<a href="qptrlist.html#count">count</a>(), 255, 255 );// rainbow effect
+ p.<a href="qpainter.html#setBrush">setBrush</a>(c);
+ int bw = (w-w/4-x)/(data.<a href="qptrlist.html#count">count</a>()-i);
+ int bh = int((h-h/4-1)*rowdata[0].dbl/max);
+ p.<a href="qpainter.html#drawRect">drawRect</a>( w/8+x, h-h/8-1-bh, bw, bh );
+
+ i++;
+ x+=bw;
+ }
+ } else {
+ // More data than pixels
+ int x = 0;
+ int i = 0;
+ double av = 0.0;
+ int n = 0;
+ for (GraphModel::Datum* rowdata = data.<a href="qptrlist.html#first">first</a>(); rowdata;
+ rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ int bx = i*w/data.<a href="qptrlist.html#count">count</a>();
+
+ if (bx &gt; x) {
+ <a href="qcolor.html">QColor</a> c;
+ c.<a href="qcolor.html#setHsv">setHsv</a>( (x * 255)/w, 255, 255 );// rainbow effect
+ p.<a href="qpainter.html#setPen">setPen</a>(c);
+ int bh = int(h*av/n/max);
+
+ p.<a href="qpainter.html#drawLine">drawLine</a>(x,h-1,x,h-bh);
+
+ av = 0.0;
+ n = 0;
+ x = bx;
+ }
+
+ av += rowdata[0].dbl;
+ n++;
+
+ i++;
+ }
+ }
+}
+
+void <a name="f567"></a>Graph::paintPie(QPaintEvent* event)
+{
+ if ( model.colType(0) != GraphModel::Numeric ) {
+ paintError("First column not numeric, cannot draw pie graph\n");
+ return;
+ }
+
+ <a href="qptrlist.html">QPtrList</a>&lt;GraphModel::Datum&gt;&amp; data = model.graphData();
+
+ double total = 0.0;
+
+ GraphModel::Datum* rowdata;
+
+ for (rowdata = data.<a href="qptrlist.html#first">first</a>();
+ rowdata; rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ total += rowdata[0].dbl;
+ }
+
+ // Only use first column for pie chart
+ if ( !total ) return;
+
+ int apos = (pieRotation-90)*16;
+
+ const int w = <a href="qwidget.html#width">width</a>();
+ const int h = <a href="qwidget.html#height">height</a>();
+
+ const int xd = w - w/5;
+ const int yd = h - h/5;
+
+<a name="x2766"></a> pm.<a href="qpixmap.html#resize">resize</a>(<a href="qwidget.html#width">width</a>(),height());
+<a name="x2765"></a> pm.<a href="qpixmap.html#fill">fill</a>(<a href="qwidget.html#backgroundColor">backgroundColor</a>());
+ <a href="qpainter.html">QPainter</a> p(&amp;pm);
+<a name="x2763"></a> p.<a href="qpainter.html#setFont">setFont</a>(<a href="qwidget.html#font">font</a>());
+
+ p.<a href="qpainter.html#setClipRect">setClipRect</a>(event-&gt;rect());
+
+ int i = 0;
+
+ for (rowdata = data.<a href="qptrlist.html#first">first</a>();
+ rowdata; rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ <a href="qcolor.html">QColor</a> c;
+
+ c.<a href="qcolor.html#setHsv">setHsv</a>( ( i * 255)/data.<a href="qptrlist.html#count">count</a>(), 255, 255 );// rainbow effect
+ p.<a href="qpainter.html#setBrush">setBrush</a>( c ); // solid fill with color c
+
+ int a = int(( rowdata[0].dbl * 360.0 ) / total * 16.0 + 0.5);
+<a name="x2757"></a> p.<a href="qpainter.html#drawPie">drawPie</a>( w/10, h/10, xd, yd, -apos, -a );
+ apos += a;
+ i++;
+ }
+
+ if (model.colType(1) == GraphModel::Label) {
+ double apos = (pieRotation-90)*M_PI/180;
+
+ for (rowdata = data.<a href="qptrlist.html#first">first</a>();
+ rowdata; rowdata = data.<a href="qptrlist.html#next">next</a>())
+ {
+ double a = rowdata[0].dbl * 360 / total * M_PI / 180;
+ int x = int(cos(apos+a/2)*w*5/16 + w/2 + 0.5);
+ int y = int(sin(apos+a/2)*h*5/16 + h/2 + 0.5);
+
+ // ### This causes a crash, so comment out for now
+ /*p.<a href="qpainter.html#drawText">drawText</a>(x-w/8, y-h/8, w/4, h/4,
+ WordBreak|AlignCenter,
+ *rowdata[1].str);*/
+ apos += a;
+ }
+ }
+
+ <a href="qpainter.html">QPainter</a> p2(this);
+ p2.<a href="qpainter.html#setClipRect">setClipRect</a>(event-&gt;rect());
+<a name="x2758"></a> p2.<a href="qpainter.html#drawPixmap">drawPixmap</a>(0,0,pm);
+}
+
+void <a name="f568"></a>Graph::paintWait(QPaintEvent*)
+{
+ <a href="qpainter.html">QPainter</a> p(this);
+ p.<a href="qpainter.html#drawText">drawText</a>(rect(), AlignCenter, "Loading...");
+}
+
+void Graph::<a href="qwidget.html#paintEvent">paintEvent</a>(QPaintEvent* event)
+{
+ if (!model.nCols()) {
+ paintWait(event);
+ } else {
+ switch (style) {
+ case Pie:
+ paintPie(event);
+ break;
+ case Bar:
+ paintBar(event);
+ break;
+ }
+ }
+}
+
+void <a name="f569"></a>Graph::setStyleFromMenu(int id)
+{
+ setStyle(Style(id-100));
+}
+
+const char* Graph::styleName[] = { "Pie", "Bar", 0 };
+
+
+//
+// Grapher is a subclass of QNPInstance, and so it can be returned
+// by GrapherPlugin::newInstance(). A QNPInstance represents the
+// plugin, distinctly from the plugin window.
+//
+// Grapher is also a GraphModel, because it loads graph data from
+// the net. When Grapher creates a window in newWindow(), it creates
+// a Graph widget to display the GraphModel that is the Grapher itself.
+//
+
+class Grapher : public <a href="qnpinstance.html">QNPInstance</a>, GraphModel {
+ Q_OBJECT
+public:
+ // Create a Grapher - all Grapher plugins are created
+ // by one GrapherPlugin object.
+ //
+ Grapher();
+ ~Grapher();
+
+ // We override this QNPInstance function to create our
+ // own subclass of QNPWidget, a Graph widget.
+ //
+ <a href="qnpwidget.html">QNPWidget</a>* newWindow();
+
+ // We override this QNPInstance function to process the
+ // incoming graph data.
+ //
+ int write(QNPStream* /*str*/, int /*offset*/, int len, void* buffer);
+
+private:
+ // Grapher is a GraphModel, so it implements the pure virtual
+ // functions of that class.
+ //
+ <a href="qptrlist.html">QPtrList</a>&lt;Datum&gt;&amp; graphData();
+ ColType colType(int col) const;
+ int nCols() const;
+
+ void consumeLine();
+ <a href="qptrlist.html">QPtrList</a>&lt;Datum&gt; data;
+ <a href="qbuffer.html">QBuffer</a> line;
+ int ncols;
+ ColType *coltype;
+
+private slots:
+ // Slots that are connected to the Graph menu items.
+ //
+ void aboutPlugin();
+ void aboutData();
+};
+
+<a name="f570"></a>Grapher::Grapher()
+{
+<a name="x2769"></a> data.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE);
+ ncols = 0;
+<a name="x2743"></a> line.<a href="qiodevice.html#open">open</a>(IO_WriteOnly|IO_Truncate);
+}
+
+Grapher::~Grapher()
+{
+}
+
+QPtrList&lt;GraphModel::Datum&gt;&amp; <a name="f571"></a>Grapher::graphData()
+{
+ return data;
+}
+
+GraphModel::ColType <a name="f572"></a>Grapher::colType(int col) const
+{
+ return coltype[col];
+}
+
+int <a name="f573"></a>Grapher::nCols() const
+{
+ return ncols;
+}
+
+
+<a name="x2751"></a>QNPWidget* Grapher::<a href="qnpinstance.html#newWindow">newWindow</a>()
+{
+ // Create a Graph - our subclass of QNPWidget.
+ Graph *graph = new Graph(*this);
+
+ // Look at the arguments from the EMBED tag.
+ // GRAPHSTYLE chooses pie or bar
+ // FONTFAMILY and FONTSIZE choose the font
+ //
+ const char* style = <a href="qnpinstance.html#arg">arg</a>("GRAPHSTYLE");
+ if ( style ) graph-&gt;<a href="qwidget.html#setStyle">setStyle</a>(style);
+
+ const char* fontfamily = <a href="qnpinstance.html#arg">arg</a>("FONTFAMILY");
+ const char* fontsize = <a href="qnpinstance.html#arg">arg</a>("FONTSIZE");
+<a name="x2775"></a> int ptsize = fontsize ? atoi(fontsize) : graph-&gt;<a href="qwidget.html#font">font</a>().pointSize();
+ if (fontfamily) graph-&gt;<a href="qwidget.html#setFont">setFont</a>(QFont(fontfamily, ptsize));
+
+ <a href="qobject.html#connect">connect</a>(graph, SIGNAL(aboutPlugin()), this, SLOT(aboutPlugin()));
+ <a href="qobject.html#connect">connect</a>(graph, SIGNAL(aboutData()), this, SLOT(aboutData()));
+
+ return graph;
+}
+
+void <a name="f574"></a>Grapher::consumeLine()
+{
+<a name="x2742"></a> line.<a href="qiodevice.html#close">close</a>();
+ line.<a href="qiodevice.html#open">open</a>(IO_ReadOnly);
+
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;line );
+
+ if (ncols == 0 ) {
+ ncols=0;
+ <a href="qptrlist.html">QPtrList</a>&lt;ColType&gt; typelist;
+ typelist.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE);
+ do {
+ <a href="qstring.html">QString</a> typestr;
+ ts &gt;&gt; typestr &gt;&gt; ws;
+ ColType* t = 0;
+ if ( typestr == "num" ) {
+ t = new ColType(Numeric);
+ } else if ( typestr == "label" ) {
+ t = new ColType(Label);
+ }
+<a name="x2770"></a> if (t) typelist.<a href="qptrlist.html#append">append</a>(t);
+<a name="x2774"></a> } while (!ts.<a href="qtextstream.html#atEnd">atEnd</a>());
+ coltype = new ColType[ncols];
+ for (ColType* t = typelist.<a href="qptrlist.html#first">first</a>(); t; t = typelist.<a href="qptrlist.html#next">next</a>()) {
+ coltype[ncols++] = *t;
+ }
+ } else {
+ int col=0;
+ Datum *rowdata = new Datum[ncols];
+ while ( col &lt; ncols &amp;&amp; !ts.<a href="qtextstream.html#atEnd">atEnd</a>() ) {
+ switch (coltype[col]) {
+ case Numeric: {
+ double value;
+ ts &gt;&gt; value &gt;&gt; ws;
+ rowdata[col].dbl = value;
+ break;
+ }
+ case Label: {
+ <a href="qstring.html">QString</a>* value = new <a href="qstring.html">QString</a>;
+ ts &gt;&gt; *value &gt;&gt; ws;
+ rowdata[col].str = value;
+ break;
+ }
+ }
+ col++;
+ }
+
+ data.<a href="qptrlist.html#append">append</a>(rowdata);
+ }
+
+ line.<a href="qiodevice.html#close">close</a>();
+ line.<a href="qiodevice.html#open">open</a>(IO_WriteOnly|IO_Truncate);
+}
+
+<a name="x2752"></a>int Grapher::<a href="qnpinstance.html#write">write</a>(QNPStream* /*str*/, int /*offset*/, int len, void* buffer)
+{
+ // The browser calls this function when data is available on one
+ // of the streams the plugin has requested. Since we are only
+ // processing one stream - the URL in the SRC argument of the EMBED
+ // tag, we assume the QNPStream is that one. Also, since we do not
+ // override QNPInstance::writeReady(), we must accepts ALL the data
+ // that is sent to this function.
+ //
+ char* txt = (char*)buffer;
+ for (int i=0; i&lt;len; i++) {
+ char ch = txt[i];
+ switch ( ch ) {
+ case '\n':
+ consumeLine();
+ break;
+ case '\r': // ignore;
+ break;
+ default:
+<a name="x2744"></a> line.<a href="qiodevice.html#putch">putch</a>(ch);
+ }
+ }
+ if ( <a href="qnpinstance.html#widget">widget</a>() )
+ <a href="qnpinstance.html#widget">widget</a>()-&gt;update();
+
+ return len;
+}
+
+void <a name="f575"></a>Grapher::aboutPlugin()
+{
+ <a href="qnpinstance.html#getURL">getURL</a>( "http://doc.trolltech.com/netscape-plugin.html", "_blank" );
+}
+
+void <a name="f576"></a>Grapher::aboutData()
+{
+ const char* page = <a href="qnpinstance.html#arg">arg</a>("DATAPAGE");
+ if (page)
+ <a href="qnpinstance.html#getURL">getURL</a>( page, "_blank" );
+ else
+<a name="x2750"></a> QMessageBox::<a href="qmessagebox.html#message">message</a>("Help", "No help for this data");
+}
+
+
+//
+// GrapherPlugin is the start of everything. It is a QNPlugin subclass,
+// and it is responsible for describing the plugin to the browser, and
+// creating instances of the plugin when it appears in web page.
+//
+
+class GrapherPlugin : public <a href="qnplugin.html">QNPlugin</a> {
+public:
+ GrapherPlugin()
+ {
+ }
+
+ <a href="qnpinstance.html">QNPInstance</a>* newInstance()
+ {
+ // Make a new Grapher, our subclass of QNPInstance.
+ return new Grapher;
+ }
+
+ const char* getMIMEDescription() const
+ {
+ // Describe the MIME types which this plugin can
+ // process. Just the concocted "application/x-graphable"
+ // type, with the "g1n" filename extension.
+ //
+ return "application/x-graphable:g1n:Graphable ASCII numeric data";
+ }
+
+ const char * getPluginNameString() const
+ {
+ // The name of the plugin. This is the title string used in
+ // the "About Plugins" page of the browser.
+ //
+ return "Qt-based Graph Plugin";
+ }
+
+ const char * getPluginDescriptionString() const
+ {
+ // A longer description of the plugin.
+ //
+ return "A Qt-based LiveConnected plug-in that graphs numeric data";
+ }
+
+};
+
+//
+// Finally, we provide the implementation of QNPlugin::create(), to
+// provide our subclass of QNPlugin.
+//
+
+QNPlugin* QNPlugin::create()
+{
+ return new GrapherPlugin;
+}
+
+#include "grapher.moc"
+</pre>
+
+<p>See also <a href="nsplugin-examples.html">Netscape Plugin Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/graphics.html b/doc/html/graphics.html
new file mode 100644
index 0000000..3424d6f
--- /dev/null
+++ b/doc/html/graphics.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:622 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Graphics Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Graphics Classes</h1>
+
+
+<p> These classes provide powerful graphics drawing primitives for both 2D
+and (with OpenGL) 3D.
+<p> <p>See also this introduction to the <a href="coordsys.html">Qt
+coordinate system.</a>
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbitmap.html">QBitmap</a></b><td>Monochrome (1-bit depth) pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qbrush.html">QBrush</a></b><td>Defines the fill pattern of shapes drawn by a QPainter
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvas.html">QCanvas</a></b><td>2D area that can contain QCanvasItem objects
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasellipse.html">QCanvasEllipse</a></b><td>Ellipse or ellipse segment on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitem.html">QCanvasItem</a></b><td>Abstract graphic object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitemlist.html">QCanvasItemList</a></b><td>List of QCanvasItems
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasline.html">QCanvasLine</a></b><td>Line on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmap.html">QCanvasPixmap</a></b><td>Pixmaps for QCanvasSprites
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a></b><td>Array of QCanvasPixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygon.html">QCanvasPolygon</a></b><td>Polygon on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a></b><td>Polygonal canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasrectangle.html">QCanvasRectangle</a></b><td>Rectangle on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasspline.html">QCanvasSpline</a></b><td>Multi-bezier splines on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvassprite.html">QCanvasSprite</a></b><td>Animated canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvastext.html">QCanvasText</a></b><td>Text object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasview.html">QCanvasView</a></b><td>On-screen view of a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcolor.html">QColor</a></b><td>Colors based on RGB or HSV values
+<tr bgcolor=#f0f0f0><td><b><a href="qcolordialog.html">QColorDialog</a></b><td>Dialog widget for specifying colors
+<tr bgcolor=#f0f0f0><td><b><a href="qcolorgroup.html">QColorGroup</a></b><td>Group of widget colors
+<tr bgcolor=#f0f0f0><td><b><a href="qdirectpainter.html">QDirectPainter</a></b><td>Direct access to the video hardware
+<tr bgcolor=#f0f0f0><td><b><a href="qfont.html">QFont</a></b><td>Font used for drawing text
+<tr bgcolor=#f0f0f0><td><b><a href="qfontdatabase.html">QFontDatabase</a></b><td>Information about the fonts available in the underlying window system
+<tr bgcolor=#f0f0f0><td><b><a href="qfontinfo.html">QFontInfo</a></b><td>General information about fonts
+<tr bgcolor=#f0f0f0><td><b><a href="qfontmetrics.html">QFontMetrics</a></b><td>Font metrics information
+<tr bgcolor=#f0f0f0><td><b><a href="qgl.html">QGL</a></b><td>Namespace for miscellaneous identifiers in the Qt OpenGL module
+<tr bgcolor=#f0f0f0><td><b><a href="qglcolormap.html">QGLColormap</a></b><td>Used for installing custom colormaps into QGLWidgets
+<tr bgcolor=#f0f0f0><td><b><a href="qglcontext.html">QGLContext</a></b><td>Encapsulates an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglformat.html">QGLFormat</a></b><td>The display format of an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglwidget.html">QGLWidget</a></b><td>Widget for rendering OpenGL graphics
+<tr bgcolor=#f0f0f0><td><b><a href="qiconset.html">QIconSet</a></b><td>Set of icons with different styles and sizes
+<tr bgcolor=#f0f0f0><td><b><a href="qimage.html">QImage</a></b><td>Hardware-independent pixmap representation with direct access to the pixel data
+<tr bgcolor=#f0f0f0><td><b><a href="qimageconsumer.html">QImageConsumer</a></b><td>Abstraction used by QImageDecoder
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedecoder.html">QImageDecoder</a></b><td>Incremental image decoder for all supported image formats
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformat.html">QImageFormat</a></b><td>Incremental image decoder for a specific image format
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformattype.html">QImageFormatType</a></b><td>Factory that makes QImageFormat objects
+<tr bgcolor=#f0f0f0><td><b><a href="qimageio.html">QImageIO</a></b><td>Parameters for loading and saving images
+<tr bgcolor=#f0f0f0><td><b><a href="qmovie.html">QMovie</a></b><td>Incremental loading of animations or images, signalling as it progresses
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevice.html">QPaintDevice</a></b><td>The base class of objects that can be painted
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a></b><td>Information about a paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpainter.html">QPainter</a></b><td>Does low-level painting e.g. on widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qpalette.html">QPalette</a></b><td>Color groups for each widget state
+<tr bgcolor=#f0f0f0><td><b><a href="qpen.html">QPen</a></b><td>Defines how a QPainter should draw lines and outlines of shapes
+<tr bgcolor=#f0f0f0><td><b><a href="qpicture.html">QPicture</a></b><td>Paint device that records and replays QPainter commands
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmap.html">QPixmap</a></b><td>Off-screen, pixel-based paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmapcache.html">QPixmapCache</a></b><td>Application-global cache for pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qpngimagepacker.html">QPNGImagePacker</a></b><td>Creates well-compressed PNG animations
+<tr bgcolor=#f0f0f0><td><b><a href="qpoint.html">QPoint</a></b><td>Defines a point in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qpointarray.html">QPointArray</a></b><td>Array of points
+<tr bgcolor=#f0f0f0><td><b><a href="qprinter.html">QPrinter</a></b><td>Paint device that paints on a printer
+<tr bgcolor=#f0f0f0><td><b><a href="qrect.html">QRect</a></b><td>Defines a rectangle in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qregion.html">QRegion</a></b><td>Clip region for a painter
+<tr bgcolor=#f0f0f0><td><b><a href="qsize.html">QSize</a></b><td>Defines the size of a two-dimensional object
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheet.html">QStyleSheet</a></b><td>Collection of styles for rich text rendering and a generator of tags
+<tr bgcolor=#f0f0f0><td><b><a href="qwmatrix.html">QWMatrix</a></b><td>2D transformations of a coordinate system
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/gridlayout.png b/doc/html/gridlayout.png
new file mode 100644
index 0000000..c5cdb58
--- /dev/null
+++ b/doc/html/gridlayout.png
Binary files differ
diff --git a/doc/html/groupbox-w.png b/doc/html/groupbox-w.png
new file mode 100644
index 0000000..a24135e
--- /dev/null
+++ b/doc/html/groupbox-w.png
Binary files differ
diff --git a/doc/html/groups.html b/doc/html/groups.html
new file mode 100644
index 0000000..2cdcd65
--- /dev/null
+++ b/doc/html/groups.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:197 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Grouped Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Grouped Classes</h1>
+
+
+<p> This page provides a way of navigating Qt's classes by grouping
+related classes together. Some classes may appear in more than one group.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Group
+<th valign="top">Description
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="abstractwidgets.html">Abstract Widgets</a>
+<td valign="top">Abstract widget classes usable through subclassing.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="advanced.html">Advanced Widgets</a>
+<td valign="top">Advanced GUI widgets such as listviews and progress bars.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="basic.html">Basic Widgets</a>
+<td valign="top">Basic GUI widgets such as buttons, comboboxes and scrollbars.
+<p>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="database.html">Database</a>
+<td valign="top">Database related classes, e.g. for SQL databases.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="time.html">Date and Time</a>
+<td valign="top">Classes for handling date and time.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="draganddrop.html">Drag and Drop</a>
+<td valign="top">Classes dealing with drag and drop and mime type
+encoding and decoding.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="environment.html">Environment</a>
+<td valign="top">Classes providing various global services such as
+event handling, access to system settings and <a href="i18n.html#internationalization">internationalization</a>.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="events.html">Events</a>
+<td valign="top">Classes used to create and handle events.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="tools.html">Utility Classes</a>
+<td valign="top"><a href="collection.html#collection-classes">Collection classes</a> such as list, queue, stack and string, along
+with other classes that can be used without needing <a href="qapplication.html">QApplication</a>.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="graphics.html">Graphics and Printing</a>
+<td valign="top">Classes providing drawing (and printing) primitives, including
+OpenGL. (See also <a href="images.html">Image Processing</a> and <a href="multimedia.html">Multimedia</a>)
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="helpsystem.html">Help System</a>
+<td valign="top">Classes used to provide online-help for applications.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="images.html">Image Processing</a>
+<td valign="top">Digital image encoding, decoding and manipulation.
+(See also <a href="graphics.html">Graphics and Printing</a> and <a href="multimedia.html">Multimedia</a>)
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="geomanagement.html">Layout Management</a>
+<td valign="top">Classes handling automatic resizing and moving of widgets, for
+composing complex dialogs.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="shared.html">Implicitly and Explicitly Shared
+Classes</a>
+<td valign="top">Classes that use <a href="shclass.html#reference-counting">reference counting</a> for fast copying.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="io.html">Input/Output and Networking</a>
+<td valign="top">Classes providing file input and output along with directory and
+network handling.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="application.html">MainWindow and Related Classes</a>
+<td valign="top">Everything you need for a typical modern main application window,
+including menus, toolbars, workspace, etc.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="misc.html">Miscellaneous</a>
+<td valign="top">Various other useful classes
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="multimedia.html">Multimedia</a>
+<td valign="top">Classes that provide support for graphics, sound, animation, etc.
+(See also <a href="graphics.html">Graphics and Printing</a> and <a href="images.html">Image Processing</a>)
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="objectmodel.html">Object Model</a>
+<td valign="top">The Qt GUI toolkit's underlying object model.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="organizers.html">Organizers</a>
+<td valign="top">User interface organizers such as splitters, tab bars, button groups, etc.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="plugins.html">Plugin Classes</a>
+<td valign="top">Plugin related classes.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="dialogs.html">Standard Dialogs</a>
+<td valign="top">Ready-made dialogs for file, font, color selection and more.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qtl.html">Template Library</a>
+<td valign="top">Qt's template library container classes.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="text.html">Text Related Classes</a>
+<td valign="top">Classes for text
+processing. (See also <a href="xml-tools.html">XML Classes</a>.)
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="thread.html">Threading Classes</a>
+<td valign="top">Classes that provide threading support.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="appearance.html">Widget Appearance</a>
+<td valign="top">Appearance customization with styles, fonts, colors etc.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="xml-tools.html">XML Classes</a>
+<td valign="top">Classes that support XML, via, for example DOM and SAX.
+<p> </table></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/guibooks.html b/doc/html/guibooks.html
new file mode 100644
index 0000000..01038c1
--- /dev/null
+++ b/doc/html/guibooks.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:927 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Books about GUI</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Books about GUI</h1>
+
+
+<p> This is not a comprehensive list of books, there are many other
+books worth buying. Here we mention just a few GUI/UI books that don't
+gather dust in our shelves.
+<p> <b>C++ GUI Programming with Qt 3</b> by Jasmin Blanchette and Mark
+Summerfield, ISBN 0-13-124072-2. This is the Official Qt book written
+by two veteran Trolls.
+<a href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">(Read more about it or buy it.)</a>
+<p> <b>The Design of Everyday Things</b> by Donald Norman,
+ISBN 0-38526774-6, is one of the classics of human interface design.
+Norman shows how badly something as simple as a kitchen stove can be
+designed, and everyone should read it who will design a dialog box,
+write an error message, or design just about anything else humans are
+supposed to use.
+<a href="http://www.amazon.com/exec/obidos/ASIN/0385267746/trolltech/t">(Read more or buy it.)</a>
+<p> <a name="fowler"></a>
+<b>GUI Design Handbook</b> by Susan Fowler, ISBN 0-07-059274-8, is an
+alphabetical dictionary of widgets and other user interface elements,
+with comprehensive coverage of each. Each chapter covers one widget
+or other element, contains the most important recommendation from the
+Macintosh, Windows and <a href="motif-extension.html#Motif">Motif</a> style guides, notes about common
+problems, comparison with other widgets that can serve some of the
+same roles as this one, etc.
+<p> <a href="http://www.amazon.com/exec/obidos/ASIN/0070592748/trolltech/t">(Read more or buy it.)</a>
+<p> <b>Macintosh Human Interface Guidelines</b>, second edition, ISBN
+0-201-62216-5, is worth buying for the <em>don't</em>s alone. Even
+though you're not writing Macintosh software, avoiding most of what it
+advises against will produce more easily comprehensible software.
+Doing what it tells you to <em>do</em> helps, too.
+<a href="http://www.amazon.com/exec/obidos/ASIN/0201622165/trolltech/t">(Read more or buy it.)</a>
+<p> This book is now available
+<a href="http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html">on the web</a> and there is a
+<a href="http://developer.apple.com/techpubs/mac/HIGOS8Guide/thig-2.html">Mac
+OS 8 addendum.</a>
+<p> <b>The Microsoft Windows User Experience</b>, ISBN 1-55615-679-0,
+is Microsoft's look and feel Bible. Indispensable for everyone who
+has customers that worship Microsoft, and it's quite good, too.
+<a href="http://www.amazon.com/exec/obidos/ASIN/0735605661/trolltech/t">(Read more or buy it.)</a>
+<p> Microsoft's guidelines are often available on the web, but have
+occasionally been hidden in an impenetrable maze of javascript.
+<a href="http://msdn.microsoft.com/library/en-us/dnwue/html/welcome.asp">Try and see.</a>
+<p> <b>The Icon Book</b> by William Horton, ISBN 0-471-59900-X, is a
+perhaps the only thorough coverage of icons and icon use in software.
+In order for icons to be successful, people must be able to do four
+things with them: decode, recognize, find and activate them. This
+book explains these goals from scratch and how to reach them, both
+with single icons and icon families. Some 500 examples are scattered
+throughout the text, generally in groups of four or five.
+<a href="http://www.amazon.com/exec/obidos/ASIN/047159900X/trolltech/t">(Read more or buy it.)</a>
+<p> <h2> <nobr>Buying these books from</nobr>
+<a href="http://www.amazon.com/text/">Amazon.com.</a>
+</h2>
+<a name="1"></a><p> These books are made available in association with Amazon.com, our
+favorite on-line bookstore. Here is more information about
+<a href="http://www.amazon.com/exec/obidos/subst/help/shipping-policy.html/t">Amazon.com's shipping options</a> and its
+<a href="http://www.amazon.com/exec/obidos/subst/help/desk.html/t">customer service.</a> When you buy a book by following one of these
+links, Amazon.com gives about 15% of the purchase price to
+<a href="http://www.amnesty.org">Amnesty International.</a>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/headerfilesynonyms b/doc/html/headerfilesynonyms
new file mode 100644
index 0000000..f3f8ff1
--- /dev/null
+++ b/doc/html/headerfilesynonyms
@@ -0,0 +1,170 @@
+qaccessibleinterface.h qaccessible.h
+qaccessibleobject.h qaccessible.h
+qactiongroup.h qaction.h
+qasciicacheiterator.h qasciicache.h
+qasciidictiterator.h qasciidict.h
+qimageconsumer.h qasyncimageio.h
+qimageformat.h qasyncimageio.h
+qimageformattype.h qasyncimageio.h
+qimagedecoder.h qasyncimageio.h
+qaxaggregated.h qaxbindable.h
+qaxscriptengine.h qaxscript.h
+qaxscriptmanager.h qaxscript.h
+qbig5hkscscodec.h qbig5codec.h
+qbitval.h qbitarray.h
+qcacheiterator.h qcache.h
+qcanvasitemlist.h qcanvas.h
+qcanvasitem.h qcanvas.h
+qcanvasview.h qcanvas.h
+qcanvaspixmap.h qcanvas.h
+qcanvaspixmaparray.h qcanvas.h
+qcanvassprite.h qcanvas.h
+qcanvaspolygonalitem.h qcanvas.h
+qcanvasrectangle.h qcanvas.h
+qcanvaspolygon.h qcanvas.h
+qcanvasspline.h qcanvas.h
+qcanvasline.h qcanvas.h
+qcanvasellipse.h qcanvas.h
+qcanvastext.h qcanvas.h
+qbytearray.h qcstring.h
+qdate.h qdatetime.h
+qtime.h qdatetime.h
+qdatetimeeditbase.h qdatetimeedit.h
+qdateedit.h qdatetimeedit.h
+qtimeedit.h qdatetimeedit.h
+qdictiterator.h qdict.h
+qdomimplementation.h qdom.h
+qdomnode.h qdom.h
+qdomnodelist.h qdom.h
+qdomdocumenttype.h qdom.h
+qdomdocument.h qdom.h
+qdomnamednodemap.h qdom.h
+qdomdocumentfragment.h qdom.h
+qdomcharacterdata.h qdom.h
+qdomattr.h qdom.h
+qdomelement.h qdom.h
+qdomtext.h qdom.h
+qdomcomment.h qdom.h
+qdomcdatasection.h qdom.h
+qdomnotation.h qdom.h
+qdomentity.h qdom.h
+qdomentityreference.h qdom.h
+qdomprocessinginstruction.h qdom.h
+qstoreddrag.h qdragobject.h
+qtextdrag.h qdragobject.h
+qimagedrag.h qdragobject.h
+quridrag.h qdragobject.h
+qcolordrag.h qdragobject.h
+qtimerevent.h qevent.h
+qmouseevent.h qevent.h
+qwheelevent.h qevent.h
+qtabletevent.h qevent.h
+qkeyevent.h qevent.h
+qfocusevent.h qevent.h
+qpaintevent.h qevent.h
+qmoveevent.h qevent.h
+qresizeevent.h qevent.h
+qcloseevent.h qevent.h
+qicondragevent.h qevent.h
+qshowevent.h qevent.h
+qhideevent.h qevent.h
+qcontextmenuevent.h qevent.h
+qimevent.h qevent.h
+qdropevent.h qevent.h
+qdragmoveevent.h qevent.h
+qdragenterevent.h qevent.h
+qdragleaveevent.h qevent.h
+qchildevent.h qevent.h
+qcustomevent.h qevent.h
+qfileiconprovider.h qfiledialog.h
+qfilepreview.h qfiledialog.h
+qgbkcodec.h qgb18030codec.h
+qgb2312codec.h qgb18030codec.h
+qglformat.h qgl.h
+qglcontext.h qgl.h
+qglwidget.h qgl.h
+qhttpheader.h qhttp.h
+qhttpresponseheader.h qhttp.h
+qhttprequestheader.h qhttp.h
+qiconfactory.h qiconset.h
+qicondragitem.h qiconview.h
+qicondrag.h qiconview.h
+qiconviewitem.h qiconview.h
+qimageio.h qimage.h
+qintcacheiterator.h qintcache.h
+qintdictiterator.h qintdict.h
+qglayoutiterator.h qlayout.h
+qlayoutiterator.h qlayout.h
+qlayoutitem.h qlayout.h
+qspaceritem.h qlayout.h
+qwidgetitem.h qlayout.h
+qgridlayout.h qlayout.h
+qboxlayout.h qlayout.h
+qhboxlayout.h qlayout.h
+qvboxlayout.h qlayout.h
+qlistboxitem.h qlistbox.h
+qlistboxtext.h qlistbox.h
+qlistboxpixmap.h qlistbox.h
+qlistviewitem.h qlistview.h
+qchecklistitem.h qlistview.h
+qlistviewitemiterator.h qlistview.h
+qmacstyle.h qmacstyle_mac.h
+qmapiterator.h qmap.h
+qmapconstiterator.h qmap.h
+qcustommenuitem.h qmenudata.h
+qmetaproperty.h qmetaobject.h
+qmimesource.h qmime.h
+qmimesourcefactory.h qmime.h
+qwindowsmime.h qmime.h
+qmacmime.h qmime.h
+qmutexlocker.h qmutex.h
+qnetworkoperation.h qnetworkprotocol.h
+qnpstream.h qnp.h
+qnpwidget.h qnp.h
+qnpinstance.h qnp.h
+qnplugin.h qnp.h
+qobjectlistiterator.h qobjectlist.h
+qcolorgroup.h qpalette.h
+qpngimagepacker.h qpngio.h
+qptrdictiterator.h qptrdict.h
+qptrlistiterator.h qptrlist.h
+qhebrewcodec.h qrtlcodec.h
+qsqlfieldinfo.h qsqlfield.h
+qsqlrecordinfo.h qsqlrecord.h
+qchar.h qstring.h
+qcharref.h qstring.h
+qconststring.h qstring.h
+qstrlistiterator.h qstrlist.h
+qstrilist.h qstrlist.h
+qstyleoption.h qstyle.h
+qstylesheetitem.h qstylesheet.h
+qtab.h qtabbar.h
+qtableselection.h qtable.h
+qtableitem.h qtable.h
+qcombotableitem.h qtable.h
+qchecktableitem.h qtable.h
+qtextencoder.h qtextcodec.h
+qtextdecoder.h qtextcodec.h
+qtextistream.h qtextstream.h
+qtextostream.h qtextstream.h
+qtooltipgroup.h qtooltip.h
+qtranslatormessage.h qtranslator.h
+qintvalidator.h qvalidator.h
+qdoublevalidator.h qvalidator.h
+qregexpvalidator.h qvalidator.h
+qvaluelistiterator.h qvaluelist.h
+qvaluelistconstiterator.h qvaluelist.h
+qxmlnamespacesupport.h qxml.h
+qxmlattributes.h qxml.h
+qxmlinputsource.h qxml.h
+qxmlparseexception.h qxml.h
+qxmlreader.h qxml.h
+qxmlsimplereader.h qxml.h
+qxmllocator.h qxml.h
+qxmlcontenthandler.h qxml.h
+qxmlerrorhandler.h qxml.h
+qxmldtdhandler.h qxml.h
+qxmlentityresolver.h qxml.h
+qxmllexicalhandler.h qxml.h
+qxmldeclhandler.h qxml.h
+qxmldefaulthandler.h qxml.h
diff --git a/doc/html/headers.html b/doc/html/headers.html
new file mode 100644
index 0000000..a34eed8
--- /dev/null
+++ b/doc/html/headers.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/headers.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Header File Index</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Header File Index</h1>
+
+
+
+<p> <p>Here are the header files that make up the Qt API:
+<ul>
+<li><a href="qaccel-h.html">qaccel.h</a>
+<li><a href="qaccessible-h.html">qaccessible.h</a>
+<li><a href="qaction-h.html">qaction.h</a>
+<li><a href="qapplication-h.html">qapplication.h</a>
+<li><a href="qasciicache-h.html">qasciicache.h</a>
+<li><a href="qasciidict-h.html">qasciidict.h</a>
+<li><a href="qassistantclient-h.html">qassistantclient.h</a>
+<li><a href="qasyncimageio-h.html">qasyncimageio.h</a>
+<li><a href="qasyncio-h.html">qasyncio.h</a>
+<li><a href="qaxbase-h.html">qaxbase.h</a>
+<li><a href="qaxbindable-h.html">qaxbindable.h</a>
+<li><a href="qaxfactory-h.html">qaxfactory.h</a>
+<li><a href="qaxobject-h.html">qaxobject.h</a>
+<li><a href="qaxscript-h.html">qaxscript.h</a>
+<li><a href="qaxwidget-h.html">qaxwidget.h</a>
+<li><a href="qbig5codec-h.html">qbig5codec.h</a>
+<li><a href="qbitarray-h.html">qbitarray.h</a>
+<li><a href="qbitmap-h.html">qbitmap.h</a>
+<li><a href="qbrush-h.html">qbrush.h</a>
+<li><a href="qbuffer-h.html">qbuffer.h</a>
+<li><a href="qbutton-h.html">qbutton.h</a>
+<li><a href="qbuttongroup-h.html">qbuttongroup.h</a>
+<li><a href="qcache-h.html">qcache.h</a>
+<li><a href="qcanvas-h.html">qcanvas.h</a>
+<li><a href="qcdestyle-h.html">qcdestyle.h</a>
+<li><a href="qcheckbox-h.html">qcheckbox.h</a>
+<li><a href="qclipboard-h.html">qclipboard.h</a>
+<li><a href="qcolor-h.html">qcolor.h</a>
+<li><a href="qcolordialog-h.html">qcolordialog.h</a>
+<li><a href="qcombobox-h.html">qcombobox.h</a>
+<li><a href="qcommonstyle-h.html">qcommonstyle.h</a>
+<li><a href="qcopchannel_qws-h.html">qcopchannel_qws.h</a>
+<li><a href="qcstring-h.html">qcstring.h</a>
+<li><a href="qcursor-h.html">qcursor.h</a>
+<li><a href="qdatabrowser-h.html">qdatabrowser.h</a>
+<li><a href="qdatastream-h.html">qdatastream.h</a>
+<li><a href="qdatatable-h.html">qdatatable.h</a>
+<li><a href="qdataview-h.html">qdataview.h</a>
+<li><a href="qdatetime-h.html">qdatetime.h</a>
+<li><a href="qdatetimeedit-h.html">qdatetimeedit.h</a>
+<li><a href="qdeepcopy-h.html">qdeepcopy.h</a>
+<li><a href="qdesktopwidget-h.html">qdesktopwidget.h</a>
+<li><a href="qdial-h.html">qdial.h</a>
+<li><a href="qdialog-h.html">qdialog.h</a>
+<li><a href="qdict-h.html">qdict.h</a>
+<li><a href="qdir-h.html">qdir.h</a>
+<li><a href="qdirectpainter_qws-h.html">qdirectpainter_qws.h</a>
+<li><a href="qdns-h.html">qdns.h</a>
+<li><a href="qdockarea-h.html">qdockarea.h</a>
+<li><a href="qdockwindow-h.html">qdockwindow.h</a>
+<li><a href="qdom-h.html">qdom.h</a>
+<li><a href="qdragobject-h.html">qdragobject.h</a>
+<li><a href="qdrawutil-h.html">qdrawutil.h</a>
+<li><a href="qdropsite-h.html">qdropsite.h</a>
+<li><a href="qeditorfactory-h.html">qeditorfactory.h</a>
+<li><a href="qerrormessage-h.html">qerrormessage.h</a>
+<li><a href="qeucjpcodec-h.html">qeucjpcodec.h</a>
+<li><a href="qeuckrcodec-h.html">qeuckrcodec.h</a>
+<li><a href="qevent-h.html">qevent.h</a>
+<li><a href="qeventloop-h.html">qeventloop.h</a>
+<li><a href="qfile-h.html">qfile.h</a>
+<li><a href="qfiledialog-h.html">qfiledialog.h</a>
+<li><a href="qfileinfo-h.html">qfileinfo.h</a>
+<li><a href="qfocusdata-h.html">qfocusdata.h</a>
+<li><a href="qfont-h.html">qfont.h</a>
+<li><a href="qfontdatabase-h.html">qfontdatabase.h</a>
+<li><a href="qfontdialog-h.html">qfontdialog.h</a>
+<li><a href="qfontinfo-h.html">qfontinfo.h</a>
+<li><a href="qfontmanager_qws-h.html">qfontmanager_qws.h</a>
+<li><a href="qfontmetrics-h.html">qfontmetrics.h</a>
+<li><a href="qframe-h.html">qframe.h</a>
+<li><a href="qftp-h.html">qftp.h</a>
+<li><a href="qgb18030codec-h.html">qgb18030codec.h</a>
+<li><a href="qgfx_qws-h.html">qgfx_qws.h</a>
+<li><a href="qgfxdriverfactory_qws-h.html">qgfxdriverfactory_qws.h</a>
+<li><a href="qgfxdriverplugin_qws-h.html">qgfxdriverplugin_qws.h</a>
+<li><a href="qgl-h.html">qgl.h</a>
+<li><a href="qglcolormap-h.html">qglcolormap.h</a>
+<li><a href="qglobal-h.html">qglobal.h</a>
+<li><a href="qgrid-h.html">qgrid.h</a>
+<li><a href="qgridview-h.html">qgridview.h</a>
+<li><a href="qgroupbox-h.html">qgroupbox.h</a>
+<li><a href="qguardedptr-h.html">qguardedptr.h</a>
+<li><a href="qhbox-h.html">qhbox.h</a>
+<li><a href="qhbuttongroup-h.html">qhbuttongroup.h</a>
+<li><a href="qheader-h.html">qheader.h</a>
+<li><a href="qhgroupbox-h.html">qhgroupbox.h</a>
+<li><a href="qhostaddress-h.html">qhostaddress.h</a>
+<li><a href="qhttp-h.html">qhttp.h</a>
+<li><a href="qiconset-h.html">qiconset.h</a>
+<li><a href="qiconview-h.html">qiconview.h</a>
+<li><a href="qimage-h.html">qimage.h</a>
+<li><a href="qimageformatplugin-h.html">qimageformatplugin.h</a>
+<li><a href="qinputdialog-h.html">qinputdialog.h</a>
+<li><a href="qintcache-h.html">qintcache.h</a>
+<li><a href="qintdict-h.html">qintdict.h</a>
+<li><a href="qiodevice-h.html">qiodevice.h</a>
+<li><a href="qjiscodec-h.html">qjiscodec.h</a>
+<li><a href="qkbddriverfactory_qws-h.html">qkbddriverfactory_qws.h</a>
+<li><a href="qkbddriverplugin_qws-h.html">qkbddriverplugin_qws.h</a>
+<li><a href="qkeyboard_qws-h.html">qkeyboard_qws.h</a>
+<li><a href="qkeysequence-h.html">qkeysequence.h</a>
+<li><a href="qlabel-h.html">qlabel.h</a>
+<li><a href="qlayout-h.html">qlayout.h</a>
+<li><a href="qlcdnumber-h.html">qlcdnumber.h</a>
+<li><a href="qlibrary-h.html">qlibrary.h</a>
+<li><a href="qlineedit-h.html">qlineedit.h</a>
+<li><a href="qlistbox-h.html">qlistbox.h</a>
+<li><a href="qlistview-h.html">qlistview.h</a>
+<li><a href="qlocale-h.html">qlocale.h</a>
+<li><a href="qlocalfs-h.html">qlocalfs.h</a>
+<li><a href="qmacstyle_mac-h.html">qmacstyle_mac.h</a>
+<li><a href="qmainwindow-h.html">qmainwindow.h</a>
+<li><a href="qmap-h.html">qmap.h</a>
+<li><a href="qmemarray-h.html">qmemarray.h</a>
+<li><a href="qmenubar-h.html">qmenubar.h</a>
+<li><a href="qmenudata-h.html">qmenudata.h</a>
+<li><a href="qmessagebox-h.html">qmessagebox.h</a>
+<li><a href="qmetaobject-h.html">qmetaobject.h</a>
+<li><a href="qmime-h.html">qmime.h</a>
+<li><a href="qmotif-h.html">qmotif.h</a>
+<li><a href="qmotifdialog-h.html">qmotifdialog.h</a>
+<li><a href="qmotifplusstyle-h.html">qmotifplusstyle.h</a>
+<li><a href="qmotifstyle-h.html">qmotifstyle.h</a>
+<li><a href="qmotifwidget-h.html">qmotifwidget.h</a>
+<li><a href="qmouse_qws-h.html">qmouse_qws.h</a>
+<li><a href="qmousedriverfactory_qws-h.html">qmousedriverfactory_qws.h</a>
+<li><a href="qmousedriverplugin_qws-h.html">qmousedriverplugin_qws.h</a>
+<li><a href="qmovie-h.html">qmovie.h</a>
+<li><a href="qmultilineedit-h.html">qmultilineedit.h</a>
+<li><a href="qmutex-h.html">qmutex.h</a>
+<li><a href="qnamespace-h.html">qnamespace.h</a>
+<li><a href="qnetworkprotocol-h.html">qnetworkprotocol.h</a>
+<li><a href="qnp-h.html">qnp.h</a>
+<li><a href="qobject-h.html">qobject.h</a>
+<li><a href="qobjectcleanuphandler-h.html">qobjectcleanuphandler.h</a>
+<li><a href="qobjectlist-h.html">qobjectlist.h</a>
+<li><a href="qpaintdevice-h.html">qpaintdevice.h</a>
+<li><a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>
+<li><a href="qpainter-h.html">qpainter.h</a>
+<li><a href="qpair-h.html">qpair.h</a>
+<li><a href="qpalette-h.html">qpalette.h</a>
+<li><a href="qpen-h.html">qpen.h</a>
+<li><a href="qpicture-h.html">qpicture.h</a>
+<li><a href="qpixmap-h.html">qpixmap.h</a>
+<li><a href="qpixmapcache-h.html">qpixmapcache.h</a>
+<li><a href="qplatinumstyle-h.html">qplatinumstyle.h</a>
+<li><a href="qpngio-h.html">qpngio.h</a>
+<li><a href="qpoint-h.html">qpoint.h</a>
+<li><a href="qpointarray-h.html">qpointarray.h</a>
+<li><a href="qpopupmenu-h.html">qpopupmenu.h</a>
+<li><a href="qprinter-h.html">qprinter.h</a>
+<li><a href="qprocess-h.html">qprocess.h</a>
+<li><a href="qprogressbar-h.html">qprogressbar.h</a>
+<li><a href="qprogressdialog-h.html">qprogressdialog.h</a>
+<li><a href="qptrcollection-h.html">qptrcollection.h</a>
+<li><a href="qptrdict-h.html">qptrdict.h</a>
+<li><a href="qptrlist-h.html">qptrlist.h</a>
+<li><a href="qptrqueue-h.html">qptrqueue.h</a>
+<li><a href="qptrstack-h.html">qptrstack.h</a>
+<li><a href="qptrvector-h.html">qptrvector.h</a>
+<li><a href="qpushbutton-h.html">qpushbutton.h</a>
+<li><a href="qradiobutton-h.html">qradiobutton.h</a>
+<li><a href="qrangecontrol-h.html">qrangecontrol.h</a>
+<li><a href="qrect-h.html">qrect.h</a>
+<li><a href="qregexp-h.html">qregexp.h</a>
+<li><a href="qregion-h.html">qregion.h</a>
+<li><a href="qrtlcodec-h.html">qrtlcodec.h</a>
+<li><a href="qscrollbar-h.html">qscrollbar.h</a>
+<li><a href="qscrollview-h.html">qscrollview.h</a>
+<li><a href="qsemaphore-h.html">qsemaphore.h</a>
+<li><a href="qserversocket-h.html">qserversocket.h</a>
+<li><a href="qsessionmanager-h.html">qsessionmanager.h</a>
+<li><a href="qsettings-h.html">qsettings.h</a>
+<li><a href="qsgistyle-h.html">qsgistyle.h</a>
+<li><a href="qsignal-h.html">qsignal.h</a>
+<li><a href="qsignalmapper-h.html">qsignalmapper.h</a>
+<li><a href="qsimplerichtext-h.html">qsimplerichtext.h</a>
+<li><a href="qsize-h.html">qsize.h</a>
+<li><a href="qsizegrip-h.html">qsizegrip.h</a>
+<li><a href="qsizepolicy-h.html">qsizepolicy.h</a>
+<li><a href="qsjiscodec-h.html">qsjiscodec.h</a>
+<li><a href="qslider-h.html">qslider.h</a>
+<li><a href="qsocket-h.html">qsocket.h</a>
+<li><a href="qsocketdevice-h.html">qsocketdevice.h</a>
+<li><a href="qsocketnotifier-h.html">qsocketnotifier.h</a>
+<li><a href="qsortedlist-h.html">qsortedlist.h</a>
+<li><a href="qsound-h.html">qsound.h</a>
+<li><a href="qspinbox-h.html">qspinbox.h</a>
+<li><a href="qsplashscreen-h.html">qsplashscreen.h</a>
+<li><a href="qsplitter-h.html">qsplitter.h</a>
+<li><a href="qsql-h.html">qsql.h</a>
+<li><a href="qsqlcursor-h.html">qsqlcursor.h</a>
+<li><a href="qsqldatabase-h.html">qsqldatabase.h</a>
+<li><a href="qsqldriver-h.html">qsqldriver.h</a>
+<li><a href="qsqldriverplugin-h.html">qsqldriverplugin.h</a>
+<li><a href="qsqleditorfactory-h.html">qsqleditorfactory.h</a>
+<li><a href="qsqlerror-h.html">qsqlerror.h</a>
+<li><a href="qsqlfield-h.html">qsqlfield.h</a>
+<li><a href="qsqlform-h.html">qsqlform.h</a>
+<li><a href="qsqlindex-h.html">qsqlindex.h</a>
+<li><a href="qsqlpropertymap-h.html">qsqlpropertymap.h</a>
+<li><a href="qsqlquery-h.html">qsqlquery.h</a>
+<li><a href="qsqlrecord-h.html">qsqlrecord.h</a>
+<li><a href="qsqlresult-h.html">qsqlresult.h</a>
+<li><a href="qsqlselectcursor-h.html">qsqlselectcursor.h</a>
+<li><a href="qstatusbar-h.html">qstatusbar.h</a>
+<li><a href="qstring-h.html">qstring.h</a>
+<li><a href="qstringlist-h.html">qstringlist.h</a>
+<li><a href="qstrlist-h.html">qstrlist.h</a>
+<li><a href="qstyle-h.html">qstyle.h</a>
+<li><a href="qstylefactory-h.html">qstylefactory.h</a>
+<li><a href="qstyleplugin-h.html">qstyleplugin.h</a>
+<li><a href="qstylesheet-h.html">qstylesheet.h</a>
+<li><a href="qsyntaxhighlighter-h.html">qsyntaxhighlighter.h</a>
+<li><a href="qtabbar-h.html">qtabbar.h</a>
+<li><a href="qtabdialog-h.html">qtabdialog.h</a>
+<li><a href="qtable-h.html">qtable.h</a>
+<li><a href="qtabwidget-h.html">qtabwidget.h</a>
+<li><a href="qtextbrowser-h.html">qtextbrowser.h</a>
+<li><a href="qtextcodec-h.html">qtextcodec.h</a>
+<li><a href="qtextcodecplugin-h.html">qtextcodecplugin.h</a>
+<li><a href="qtextedit-h.html">qtextedit.h</a>
+<li><a href="qtextstream-h.html">qtextstream.h</a>
+<li><a href="qtextview-h.html">qtextview.h</a>
+<li><a href="qthread-h.html">qthread.h</a>
+<li><a href="qthreadstorage-h.html">qthreadstorage.h</a>
+<li><a href="qtimer-h.html">qtimer.h</a>
+<li><a href="qtoolbar-h.html">qtoolbar.h</a>
+<li><a href="qtoolbox-h.html">qtoolbox.h</a>
+<li><a href="qtoolbutton-h.html">qtoolbutton.h</a>
+<li><a href="qtooltip-h.html">qtooltip.h</a>
+<li><a href="qtranslator-h.html">qtranslator.h</a>
+<li><a href="qtsciicodec-h.html">qtsciicodec.h</a>
+<li><a href="qurl-h.html">qurl.h</a>
+<li><a href="qurlinfo-h.html">qurlinfo.h</a>
+<li><a href="qurloperator-h.html">qurloperator.h</a>
+<li><a href="quuid-h.html">quuid.h</a>
+<li><a href="qvalidator-h.html">qvalidator.h</a>
+<li><a href="qvaluelist-h.html">qvaluelist.h</a>
+<li><a href="qvaluestack-h.html">qvaluestack.h</a>
+<li><a href="qvaluevector-h.html">qvaluevector.h</a>
+<li><a href="qvariant-h.html">qvariant.h</a>
+<li><a href="qvbox-h.html">qvbox.h</a>
+<li><a href="qvbuttongroup-h.html">qvbuttongroup.h</a>
+<li><a href="qvgroupbox-h.html">qvgroupbox.h</a>
+<li><a href="qwaitcondition-h.html">qwaitcondition.h</a>
+<li><a href="qwhatsthis-h.html">qwhatsthis.h</a>
+<li><a href="qwidget-h.html">qwidget.h</a>
+<li><a href="qwidgetfactory-h.html">qwidgetfactory.h</a>
+<li><a href="qwidgetplugin-h.html">qwidgetplugin.h</a>
+<li><a href="qwidgetstack-h.html">qwidgetstack.h</a>
+<li><a href="qwindowdefs-h.html">qwindowdefs.h</a>
+<li><a href="qwindowsstyle-h.html">qwindowsstyle.h</a>
+<li><a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>
+<li><a href="qwizard-h.html">qwizard.h</a>
+<li><a href="qwmatrix-h.html">qwmatrix.h</a>
+<li><a href="qworkspace-h.html">qworkspace.h</a>
+<li><a href="qwsdecoration_qws-h.html">qwsdecoration_qws.h</a>
+<li><a href="qxml-h.html">qxml.h</a>
+<li><a href="qxtwidget-h.html">qxtwidget.h</a>
+</ul>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/hello-example.html b/doc/html/hello-example.html
new file mode 100644
index 0000000..880220e
--- /dev/null
+++ b/doc/html/hello-example.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/hello/hello.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Hello, World</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Hello, World</h1>
+
+
+<p>
+This example brings up the words "Hello, World" moving up and down,
+and in different colors.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/hello.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef HELLO_H
+#define HELLO_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class Hello : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ Hello( const char *text, QWidget *parent=0, const char *name=0 );
+signals:
+ void clicked();
+protected:
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+private slots:
+ void animate();
+private:
+ <a href="qstring.html">QString</a> t;
+ int b;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/hello.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "hello.h"
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+
+/*
+ Constructs a Hello widget. Starts a 40 ms animation timer.
+*/
+
+<a name="f473"></a>Hello::Hello( const char *text, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>(parent,name), t(text), b(0)
+{
+ <a href="qtimer.html">QTimer</a> *timer = new <a href="qtimer.html">QTimer</a>(this);
+<a name="x1640"></a> <a href="qobject.html#connect">connect</a>( timer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), SLOT(animate()) );
+<a name="x1639"></a> timer-&gt;<a href="qtimer.html#start">start</a>( 40 );
+
+ <a href="qwidget.html#resize">resize</a>( 260, 130 );
+}
+
+
+/*
+ This private slot is called each time the timer fires.
+*/
+
+void <a name="f474"></a>Hello::animate()
+{
+ b = (b + 1) &amp; 15;
+ <a href="qwidget.html#repaint">repaint</a>( FALSE );
+}
+
+
+/*
+ Handles mouse button release events for the Hello widget.
+
+ We emit the clicked() signal when the mouse is released inside
+ the widget.
+*/
+
+<a name="x1641"></a>void Hello::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( <a href="qwidget.html#rect">rect</a>().contains( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) )
+ emit clicked();
+}
+
+
+/*
+ Handles paint events for the Hello widget.
+
+ Flicker-free update. The text is first drawn in the pixmap and the
+ pixmap is then blt'ed to the screen.
+*/
+
+void Hello::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ static int sin_tbl[16] = {
+ 0, 38, 71, 92, 100, 92, 71, 38, 0, -38, -71, -92, -100, -92, -71, -38};
+
+ if ( t.isEmpty() )
+ return;
+
+ // 1: Compute some sizes, positions etc.
+ <a href="qfontmetrics.html">QFontMetrics</a> fm = <a href="qwidget.html#fontMetrics">fontMetrics</a>();
+<a name="x1631"></a> int w = fm.<a href="qfontmetrics.html#width">width</a>(t) + 20;
+<a name="x1630"></a> int h = fm.<a href="qfontmetrics.html#height">height</a>() * 2;
+ int pmx = <a href="qwidget.html#width">width</a>()/2 - w/2;
+ int pmy = <a href="qwidget.html#height">height</a>()/2 - h/2;
+
+ // 2: Create the pixmap and fill it with the widget's background
+ <a href="qpixmap.html">QPixmap</a> pm( w, h );
+<a name="x1638"></a> pm.<a href="qpixmap.html#fill">fill</a>( this, pmx, pmy );
+
+ // 3: Paint the pixmap. Cool wave effect
+ <a href="qpainter.html">QPainter</a> p;
+ int x = 10;
+<a name="x1629"></a> int y = h/2 + fm.<a href="qfontmetrics.html#descent">descent</a>();
+ int i = 0;
+<a name="x1633"></a> p.<a href="qpainter.html#begin">begin</a>( &amp;pm );
+<a name="x1636"></a> p.<a href="qpainter.html#setFont">setFont</a>( <a href="qwidget.html#font">font</a>() );
+ while ( !t[i].isNull() ) {
+ int i16 = (b+i) &amp; 15;
+ p.<a href="qpainter.html#setPen">setPen</a>( QColor((15-i16)*16,255,255,QColor::Hsv) );
+ p.<a href="qpainter.html#drawText">drawText</a>( x, y-sin_tbl[i16]*h/800, t.mid(i,1), 1 );
+ x += fm.<a href="qfontmetrics.html#width">width</a>( t[i] );
+ i++;
+ }
+<a name="x1635"></a> p.<a href="qpainter.html#end">end</a>();
+
+ // 4: Copy the pixmap to the Hello widget
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, pmx, pmy, &amp;pm );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "hello.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+/*
+ The program starts here. It parses the command line and builds a message
+ string to be displayed by the Hello widget.
+*/
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+ <a href="qstring.html">QString</a> s;
+ for ( int i=1; i&lt;argc; i++ ) {
+ s += argv[i];
+ if ( i&lt;argc-1 )
+ s += " ";
+ }
+ if ( s.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ s = "Hello, World";
+ Hello h( s );
+#ifndef QT_NO_WIDGET_TOPEXTRA // for Qt/Embedded minimal build
+ h.<a href="qwidget.html#setCaption">setCaption</a>( "Qt says hello" );
+#endif
+ QObject::<a href="qobject.html#connect">connect</a>( &amp;h, SIGNAL(clicked()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+<a name="x1650"></a> h.<a href="qwidget.html#setFont">setFont</a>( QFont("times",32,QFont::Bold) ); // default font
+<a name="x1648"></a> h.<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::white ); // default bg color
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;h );
+ h.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/helpsystem-example.html b/doc/html/helpsystem-example.html
new file mode 100644
index 0000000..19b34c7
--- /dev/null
+++ b/doc/html/helpsystem-example.html
@@ -0,0 +1,494 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/helpsystem/helpsystem.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Helpsystem</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Helpsystem</h1>
+
+
+
+<p>
+This example demonstrates the different Qt classes
+that can be used to provide context sensitive help
+in an application.
+<p> It uses <a href="qtooltip.html">QToolTip</a> and <a href="qwhatsthis.html">QWhatsThis</a> to provide both static and
+dynamic balloon help for the widgets in the application, and
+<a href="qtooltipgroup.html">QToolTipGroup</a> to display extended information for each tooltip
+in the statusbar. <a href="qassistantclient.html">QAssistantClient</a> is used to display help
+pages using Qt Assistant.
+<p> The application has a user interface based on a
+<a href="qmainwindow.html">QMainWindow</a> with a menubar, statusbar and a toolbar, and uses
+a <a href="qtable.html">QTable</a> as the central widget.
+
+
+<pre> class HeaderToolTip : public <a href="qtooltip.html">QToolTip</a>
+ {
+ public:
+ HeaderToolTip( <a href="qheader.html">QHeader</a> *header, QToolTipGroup *group = 0 );
+
+ protected:
+ void maybeTip ( const <a href="qpoint.html">QPoint</a> &amp;p );
+ };
+</pre>
+<p> Two QToolTip subclasses implement dynamic tooltips for
+<a href="qheader.html">QHeader</a> and QTable by reimplementing maybeTip(). The
+constructors differ from the <a href="qtooltip.html">QToolTip</a> constructor in having a
+QHeader and a QTable respectively as the first parameter for
+the constructor instead of a <a href="qwidget.html">QWidget</a>. This is because
+we want to ensure that only headers and tables can be
+passed as arguments. A <a href="qtooltipgroup.html">QToolTipGroup</a> can be provided as the
+second argument to show tooltips in, for example a statusbar.
+<p> <pre> class TableToolTip : public <a href="qtooltip.html">QToolTip</a>
+ {
+ public:
+ TableToolTip( <a href="qtable.html">QTable</a>* table, QToolTipGroup *group = 0 );
+
+ protected:
+ void maybeTip( const <a href="qpoint.html">QPoint</a> &amp;p );
+
+ private:
+ <a href="qtable.html">QTable</a> *table;
+ };
+</pre>
+<p> The TableToolTip class keeps a reference to the <a href="qtable.html">QTable</a>
+as a member for easier access of the QTable object later on.
+<p>
+
+<pre> HeaderToolTip::HeaderToolTip( <a href="qheader.html">QHeader</a> *header, QToolTipGroup *group )
+ : <a href="qtooltip.html">QToolTip</a>( header, group )
+ {
+ }
+</pre>
+<p> The HeaderToolTip constructor propagates the parameters
+to the <a href="qtooltip.html">QToolTip</a> constructor.
+<pre> void HeaderToolTip::<a href="qtooltip.html#maybeTip">maybeTip</a> ( const <a href="qpoint.html">QPoint</a>&amp; p )
+ {
+ <a href="qheader.html">QHeader</a> *header = (QHeader*)<a href="qtooltip.html#parentWidget">parentWidget</a>();
+
+ int section = 0;
+
+ <a name="x2676"></a> if ( header-&gt;<a href="qheader.html#orientation">orientation</a>() == Horizontal )
+ <a name="x2677"></a><a name="x2675"></a> section = header-&gt;<a href="qheader.html#sectionAt">sectionAt</a>( header-&gt;<a href="qheader.html#offset">offset</a>() + p.<a href="qpoint.html#x">x</a>() );
+ else
+ section = header-&gt;<a href="qheader.html#sectionAt">sectionAt</a>( header-&gt;<a href="qheader.html#offset">offset</a>() + p.<a href="qpoint.html#y">y</a>() );
+
+ <a name="x2674"></a> <a href="qstring.html">QString</a> tipString = header-&gt;<a href="qheader.html#label">label</a>( section );
+ <a name="x2678"></a> <a href="qtooltip.html#tip">tip</a>( header-&gt;<a href="qheader.html#sectionRect">sectionRect</a>( section ), tipString, "This is a section in a header" );
+ }
+</pre>
+<p> The implementation of maybeTip() uses the <a href="qheader.html">QHeader</a> API
+to get the section at the requested position and uses
+<a href="qtooltip.html#tip">QToolTip::tip</a>() to display the section's label in a
+tooltip. The second string is used by <a href="qtooltipgroup.html">QToolTipGroup</a> and will
+show up in the statusbar.
+<p> <pre> TableToolTip::TableToolTip( <a href="qtable.html">QTable</a> *tipTable, QToolTipGroup *group )
+ <a name="x2683"></a>: <a href="qtooltip.html">QToolTip</a>( tipTable-&gt;<a href="qscrollview.html#viewport">viewport</a>(), group ), table( tipTable )
+ {
+ }
+</pre>
+<p> Since <a href="qtable.html">QTable</a> is a <a href="qscrollview.html">QScrollView</a> all user interaction
+happens on QTable's viewport() . The TableToolTip
+constructor passes the viewport() and the tooltip
+group to the <a href="qtooltip.html">QToolTip</a> constructor, and initializes the table
+member with the QTable pointer itself.
+<pre> <a name="x2684"></a>void TableToolTip::<a href="qtooltip.html#maybeTip">maybeTip</a> ( const <a href="qpoint.html">QPoint</a> &amp;p )
+ {
+ <a href="qpoint.html">QPoint</a> cp = table-&gt;viewportToContents( p );
+ <a name="x2680"></a> int row = table-&gt;rowAt( cp.<a href="qpoint.html#y">y</a>() );
+ <a name="x2679"></a> int col = table-&gt;columnAt( cp.<a href="qpoint.html#x">x</a>() );
+
+ <a href="qstring.html">QString</a> tipString = table-&gt;text( row, col );
+
+ <a href="qrect.html">QRect</a> cr = table-&gt;cellGeometry( row, col );
+</pre>
+<p> The implementation of maybeTip() uses the QTable API
+to get information about the cell at the requested position.
+The <a href="qtable.html">QTable</a> API expects contents coordinates, and since the
+requested point is relative to the viewport we need to translate
+the coordinates before we can use QTable's functions.
+<pre> <a name="x2682"></a><a name="x2681"></a> cr.<a href="qrect.html#moveTopLeft">moveTopLeft</a>( table-&gt;contentsToViewport( cr.<a href="qrect.html#topLeft">topLeft</a>() ) );
+ <a href="qtooltip.html#tip">tip</a>( cr, tipString, "This is a cell in a table" );
+ }
+</pre>
+
+
+
+<p> We translate the cell's geometry back to viewport coordinates
+so that the tooltip disappears when the mouse cursor leaves
+the cell, and use <a href="qtooltip.html#tip">QToolTip::tip</a>() to display the cell's label
+in a tooltip and to provide text for the <a href="qtooltipgroup.html">QToolTipGroup</a> as before.
+<pre> class WhatsThis : public <a href="qobject.html">QObject</a>, public QWhatsThis
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ WhatsThis( <a href="qwidget.html">QWidget</a> *w, QWidget *watch = 0 );
+
+ bool clicked( const <a href="qstring.html">QString</a> &amp;link );
+ <a href="qwidget.html">QWidget</a> *parentWidget() const;
+
+ signals:
+ void linkClicked( const <a href="qstring.html">QString</a> &amp;link );
+
+ private:
+ <a href="qwidget.html">QWidget</a> *widget;
+ };
+</pre>
+
+
+
+<p> The WhatsThis class is a subclass of both <a href="qobject.html">QObject</a> and
+<a href="qwhatsthis.html">QWhatsThis</a> and serves as a base class for the HeaderWhatsThis
+and TableWhatsThis classes. <a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a> WhatsThis
+reimplements clicked() which will be called when the user clicks
+inside the "What's this?" window. It also declares a signal
+linkClicked() which will be emitted when a hyperlink is clicked.
+<pre> WhatsThis::WhatsThis( <a href="qwidget.html">QWidget</a> *w, QWidget *watch )
+ : <a href="qwhatsthis.html">QWhatsThis</a>( watch ? watch : w ), widget( w )
+ {
+ }
+</pre>
+<p> The WhatsThis constructor takes two parameters, the first is the
+widget we want to provide WhatsThis for, and the second is the
+one which receives the events. Normally this is the same widget,
+but some widgets, like <a href="qtable.html">QTable</a>, are more complex and have a
+viewport() widget which receives the events. If such a widget
+is passed to the constructor it will propagate the parameter to
+the QWhatsThis constructor and store the <a href="qwidget.html">QWidget</a> pointer itself
+in it's member variable to allow easier use of the QWidget API
+later on.
+<pre> bool WhatsThis::clicked( const <a href="qstring.html">QString</a> &amp;link )
+ {
+ if ( !link.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ emit linkClicked( link );
+
+ return TRUE;
+ }
+</pre>
+
+
+
+<p> The implementation of clicked() emits the linkClicked() signal
+if a hyperlink has been clicked.
+<pre> class HeaderWhatsThis : public WhatsThis
+ {
+ public:
+ HeaderWhatsThis( <a href="qheader.html">QHeader</a> *h );
+
+ <a href="qstring.html">QString</a> text( const <a href="qpoint.html">QPoint</a> &amp;p );
+ };
+</pre>
+<p> <pre> class TableWhatsThis : public WhatsThis
+ {
+ public:
+ TableWhatsThis( <a href="qtable.html">QTable</a> *t );
+
+ <a href="qstring.html">QString</a> text( const <a href="qpoint.html">QPoint</a> &amp;p );
+ };
+</pre>
+<p>
+
+
+
+<p> The HeaderWhatsThis and TableWhatsThis classes reimplement
+text() to make it possible to return texts depending on the
+mouse click's position. All the other functionality is
+already provided by the generic WhatsThis base class. We ensure
+type safety here in the same manner as in the tooltip classes.
+<pre> HeaderWhatsThis::HeaderWhatsThis( <a href="qheader.html">QHeader</a> *h )
+ : WhatsThis( h )
+ {
+ }
+</pre>
+<p> The HeaderWhatsThis constructor propagates the parameter to the
+WhatsThis constructor.
+<pre> QString HeaderWhatsThis::text( const <a href="qpoint.html">QPoint</a> &amp;p )
+ {
+ <a href="qheader.html">QHeader</a> *header = (QHeader*)parentWidget();
+
+ <a href="qstring.html">QString</a> orient;
+ int section;
+ if ( header-&gt;<a href="qheader.html#orientation">orientation</a>() == QObject::Horizontal ) {
+ orient = "horizontal";
+ section = header-&gt;<a href="qheader.html#sectionAt">sectionAt</a>( p.<a href="qpoint.html#x">x</a>() );
+ } else {
+ orient = "vertical";
+ section = header-&gt;<a href="qheader.html#sectionAt">sectionAt</a>( p.<a href="qpoint.html#y">y</a>() );
+ }
+ if( section == -1 )
+ return "This is empty space.";
+ <a href="qstring.html">QString</a> docsPath = QDir("../../doc").absPath();
+ return QString("This is section number %1 in the %2 &lt;a href=%2/html/qheader.html&gt;header&lt;/a&gt;.").
+ arg(section + 1).
+ arg(orient).
+ arg(docsPath);
+ }
+</pre>
+<p> The implementation of text() uses the <a href="qheader.html">QHeader</a> API to determine
+whether we have a horizontal or a vertical header and returns
+a string which states the header's orientation and section.
+<a href="#footnote2"><sup>(2)</sup></a><a name="footnote-call2"></a>
+<pre> TableWhatsThis::TableWhatsThis( <a href="qtable.html">QTable</a> *t )
+ : WhatsThis( t, t-&gt;<a href="qscrollview.html#viewport">viewport</a>() )
+ {
+ }
+</pre>
+<p> Since <a href="qtable.html">QTable</a> is a scrollview and has a viewport() which receives
+the events, we propagate the table itself and the table's
+viewport() to the WhatsThis constructor.
+<pre> QString TableWhatsThis::text( const <a href="qpoint.html">QPoint</a> &amp;p )
+ {
+ <a href="qtable.html">QTable</a> *table = (QTable*)parentWidget();
+
+ <a href="qpoint.html">QPoint</a> cp = table-&gt;<a href="qscrollview.html#viewportToContents">viewportToContents</a>( p );
+ int row = table-&gt;<a href="qtable.html#rowAt">rowAt</a>( cp.<a href="qpoint.html#y">y</a>() );
+ int col = table-&gt;<a href="qtable.html#columnAt">columnAt</a>( cp.<a href="qpoint.html#x">x</a>() );
+
+ if ( row == -1 || col == -1 )
+ return "This is empty space.";
+
+ <a href="qtableitem.html">QTableItem</a>* i = table-&gt;<a href="qtable.html#item">item</a>( row,col );
+ if ( !i )
+ return "This is an empty cell.";
+
+ <a href="qstring.html">QString</a> docsPath = QDir("../../doc").absPath();
+
+ if ( QTableItem::RTTI == i-&gt;<a href="qtableitem.html#rtti">rtti</a>() ) {
+ return QString("This is a &lt;a href=%1/html/qtableitem.html&gt;QTableItem&lt;/a&gt;.").
+ arg(docsPath);
+ } else if ( QComboTableItem::RTTI == i-&gt;<a href="qtableitem.html#rtti">rtti</a>() ) {
+ return QString("This is a &lt;a href=%1/html/qcombotableitem.html&gt;QComboTableItem&lt;/a&gt;."
+ "&lt;br&gt;It can be used to provide multiple-choice items in a table.").
+ arg(docsPath);
+ } else if ( QCheckTableItem::RTTI == i-&gt;<a href="qtableitem.html#rtti">rtti</a>() ) {
+ return QString("This is a &lt;a href=%1/html/qchecktableitem.html&gt;QCheckTableItem&lt;/a&gt;."
+ "&lt;br&gt;It provide &lt;a href=%1/html/qcheckbox.html&gt;checkboxes&lt;/a&gt; in tables.").
+ arg(docsPath).arg(docsPath);
+ }
+ return "This is a user defined table item.";
+ }
+</pre>
+<p> The implementation of text() uses the <a href="qtable.html">QTable</a> API to get
+information about the cell at the requested position.
+The QTable API expects contents coordinates, so we need to
+translate the point as shown earlier for the tooltip classes.
+We use the rtti() function to figure out the item's type
+and return a string accordingly.
+<p>
+
+<pre> class MainWindow : public <a href="qmainwindow.html">QMainWindow</a>
+ {
+ Q_OBJECT
+ public:
+ MainWindow();
+ ~MainWindow();
+
+ public slots:
+ void assistantSlot();
+
+ private:
+ HeaderToolTip *horizontalTip;
+ HeaderToolTip *verticalTip;
+ TableToolTip *cellTip;
+ <a href="qassistantclient.html">QAssistantClient</a> *assistant;
+ };
+</pre>
+<p> A <a href="qmainwindow.html">QMainWindow</a> is used to create a user interface that uses the
+above classes in addition to Qt Assistant to provide context
+sensitive help in the application.
+<p> The MainWindow class declares a slot called assistantSlot()
+which creates an instance of Qt Assistant when it is called.
+The class keeps references to the tooltip classes as members
+because they are not QObjects and need to be deleted explicitly.
+The class has a reference to <a href="qassistantclient.html">QAssistantClient</a> as a
+member as well, to allow easier access to Qt Assistant later on.
+<p>
+
+<pre> MainWindow::MainWindow()
+ {
+ <a href="qmainwindow.html#statusBar">statusBar</a>();
+ assistant = new <a href="qassistantclient.html">QAssistantClient</a>( QDir("../../bin").absPath(), this );
+</pre>
+<p> The MainWindow constructor creates an instance of
+QAssistantClient using <a href="qstring.html#QString-null">QString::null</a> as the first argument
+so that the system path is used.
+<pre> <a href="qtable.html">QTable</a>* table = new <a href="qtable.html">QTable</a>( 2, 3, this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( table );
+
+ // populate table
+ <a href="qstringlist.html">QStringList</a> comboEntries;
+ comboEntries &lt;&lt; "one" &lt;&lt; "two" &lt;&lt; "three" &lt;&lt; "four";
+ <a href="qcombotableitem.html">QComboTableItem</a>* comboItem1 = new <a href="qcombotableitem.html">QComboTableItem</a>( table, comboEntries );
+ <a href="qcombotableitem.html">QComboTableItem</a>* comboItem2 = new <a href="qcombotableitem.html">QComboTableItem</a>( table, comboEntries );
+ <a href="qchecktableitem.html">QCheckTableItem</a>* checkItem1 = new <a href="qchecktableitem.html">QCheckTableItem</a>( table, "Check me" );
+ <a href="qchecktableitem.html">QCheckTableItem</a>* checkItem2 = new <a href="qchecktableitem.html">QCheckTableItem</a>( table, "Check me" );
+
+ <a name="x2691"></a> table-&gt;<a href="qtable.html#setItem">setItem</a>( 0, 0, comboItem1 );
+ table-&gt;<a href="qtable.html#setItem">setItem</a>( 1, 0, comboItem2 );
+
+ table-&gt;<a href="qtable.html#setItem">setItem</a>( 1, 1, checkItem1 );
+ table-&gt;<a href="qtable.html#setItem">setItem</a>( 0, 1, checkItem2 );
+
+ <a name="x2692"></a> table-&gt;<a href="qtable.html#setText">setText</a>( 1, 2, "Text" );
+
+ table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 0, " Combos" );
+ table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 1, "Checkboxes" );
+ table-&gt;<a href="qtable.html#verticalHeader">verticalHeader</a>()-&gt;setLabel( 0, "1" );
+ table-&gt;<a href="qtable.html#verticalHeader">verticalHeader</a>()-&gt;setLabel( 1, "2" );
+
+ // populate menubar
+ <a href="qpopupmenu.html">QPopupMenu</a>* fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qpopupmenu.html">QPopupMenu</a>* helpMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", fileMenu );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", helpMenu );
+
+ int fileId = fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "E&amp;xit", this, SLOT(<a href="qwidget.html#close">close</a>()) );
+
+ int helpId = helpMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open Assistant", this, SLOT(assistantSlot()) );
+
+ // populate toolbar
+ <a href="qtoolbar.html">QToolBar</a>* toolbar = new <a href="qtoolbar.html">QToolBar</a>( this );
+ <a href="qtoolbutton.html">QToolButton</a>* assistantButton = new <a href="qtoolbutton.html">QToolButton</a>( toolbar );
+ <a name="x2694"></a> assistantButton-&gt;<a href="qtoolbutton.html#setIconSet">setIconSet</a>( QPixmap("appicon.png") );
+</pre>
+<p> A <a href="qtable.html">QTable</a> is used as the central widget and the table, the menus
+and the toolbar are populated.
+<pre> <a name="x2699"></a> QWhatsThis::<a href="qwhatsthis.html#whatsThisButton">whatsThisButton</a>( toolbar );
+</pre>
+<p> The static function whatsThisButton() creates a <a href="qtoolbutton.html">QToolButton</a>
+which will enter "What's this?" mode when clicked.
+<pre> //create tooltipgroup
+ <a href="qtooltipgroup.html">QToolTipGroup</a> * tipGroup = new <a href="qtooltipgroup.html">QToolTipGroup</a>( this );
+ <a name="x2697"></a> <a href="qobject.html#connect">connect</a>( tipGroup, SIGNAL(<a href="qtooltipgroup.html#showTip">showTip</a>(const <a href="qstring.html">QString</a>&amp;)), statusBar(),
+ SLOT(message(const <a href="qstring.html">QString</a>&amp;)) );
+ <a name="x2696"></a> <a href="qobject.html#connect">connect</a>( tipGroup, SIGNAL(<a href="qtooltipgroup.html#removeTip">removeTip</a>()), statusBar(), SLOT(clear()) );
+</pre>
+<p> A <a href="qtooltipgroup.html">QToolTipGroup</a> is created and will show and remove tooltips
+in the statusbar as the tooltips are displayed on the widgets.
+<pre> // set up tooltips
+ <a name="x2695"></a> QToolTip::<a href="qtooltip.html#add">add</a>( assistantButton, tr ("Open Assistant"), tipGroup, "Opens Qt Assistant" );
+
+ <a name="x2690"></a> horizontalTip = new HeaderToolTip( table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>(), tipGroup );
+ <a name="x2693"></a> verticalTip = new HeaderToolTip( table-&gt;<a href="qtable.html#verticalHeader">verticalHeader</a>(), tipGroup );
+
+ cellTip = new TableToolTip( table, tipGroup );
+</pre>
+<p> The tooltips are set up. The static function add() sets up a
+tooltip on the Assistant toolbutton. Tooltip objects are created
+using the <a href="qtooltip.html">QToolTip</a> subclasses, the constructor's first parameter
+specifies the widget we want to add dynamic tooltips for and the
+second argument specifies the <a href="qtooltipgroup.html">QToolTipGroup</a> they should belong
+to.
+<pre> // set up whats this
+ <a name="x2698"></a> QWhatsThis::<a href="qwhatsthis.html#add">add</a> ( assistantButton, "This is a toolbutton which opens Assistant" );
+
+ HeaderWhatsThis *horizontalWhatsThis = new HeaderWhatsThis( table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>() );
+ HeaderWhatsThis *verticalWhatsThis = new HeaderWhatsThis( table-&gt;<a href="qtable.html#verticalHeader">verticalHeader</a>() );
+
+ TableWhatsThis *cellWhatsThis = new TableWhatsThis( table );
+
+ <a name="x2689"></a> fileMenu-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( fileId, "Click here to exit the application" );
+ helpMenu-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( helpId, "Click here to open Assistant" );
+</pre>
+<p> The WhatsThis help is set up. The static function add() adds
+What's This? help for the toolbutton which opens Assistant.
+Instances of the two WhatsThis subclasses are created for the
+headers and the table. What's This? help is also added for the
+menu items.
+<pre> // connections
+ <a href="qobject.html#connect">connect</a>( assistantButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(assistantSlot()) );
+ <a href="qobject.html#connect">connect</a>( horizontalWhatsThis, SIGNAL(linkClicked(const <a href="qstring.html">QString</a>&amp;)), assistant,
+ SLOT(<a href="qassistantclient.html#showPage">showPage</a>(const <a href="qstring.html">QString</a>&amp;)) );
+ <a href="qobject.html#connect">connect</a>( verticalWhatsThis, SIGNAL(linkClicked(const <a href="qstring.html">QString</a>&amp;)), assistant,
+ SLOT(<a href="qassistantclient.html#showPage">showPage</a>(const <a href="qstring.html">QString</a>&amp;)) );
+ <a href="qobject.html#connect">connect</a>( cellWhatsThis, SIGNAL(linkClicked(const <a href="qstring.html">QString</a>&amp;)), assistant,
+ SLOT(<a href="qassistantclient.html#showPage">showPage</a>(const <a href="qstring.html">QString</a>&amp;)) );
+ }
+</pre>
+<p> Signals and slots are connected, so that the relevant pages will
+be displayed in Qt Assistant when clicking on a hyperlink or on
+the assistant button.
+<pre> MainWindow::~MainWindow()
+ {
+ delete horizontalTip;
+ delete verticalTip;
+ delete cellTip;
+ }
+</pre>
+<p> The destructor deletes the tooltips. We need to delete the
+tooltips explicitly since <a href="qtooltip.html">QToolTip</a> is, as mentioned above, not
+a subclass of <a href="qobject.html">QObject</a> and the instances of QToolTip not will be
+deleted when the widget is deleted.
+<pre> void MainWindow::assistantSlot()
+ {
+ <a href="qstring.html">QString</a> docsPath = QDir("../../doc").absPath();
+ <a name="x2686"></a> assistant-&gt;<a href="qassistantclient.html#showPage">showPage</a>( QString("%1/html/qassistantclient.html").arg(docsPath) );
+ }
+</pre>
+<p> The assistantSlot() uses applicationDirPath() to find the
+location of the documentation files and shows the specified page
+in Qt Assistant.
+
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "mainwindow.h"
+
+ int main( int argc, char** argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ MainWindow main;
+ main.<a href="qwidget.html#show">show</a>();
+ <a name="x2701"></a> app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;main );
+ <a name="x2700"></a> return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p> The main function is a standard implementation opening
+the application main window.
+<p> To build the example go to the helpsystem directory
+(QTDIR/examples/helpsystem) run qmake to generate the makefile,
+and use the make tool to build the library.
+
+<hr>
+<ol> <li><a name="footnote1"></a>
+Note that <a href="moc.html#moc">moc</a> requires that <a href="qobject.html">QObject</a>
+is the first base class. <a href="#footnote-call1">Back...</a> <li><a name="footnote2"></a>
+
+Note that we have to explicitly scope the orientation
+(QObject or <a href="qwhatsthis.html">QWhatsThis</a>) since HeaderWhatsThis uses multiple
+inheritance. <a href="#footnote-call2">Back...</a></ol>
+</hr><p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/helpsystem.html b/doc/html/helpsystem.html
new file mode 100644
index 0000000..07ad0fa
--- /dev/null
+++ b/doc/html/helpsystem.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:697 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Help System</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Help System</h1>
+
+
+<p> <!-- index help system --><a name="help-system"></a>
+<p> These classes provide for all forms of online-help in your application,
+with three levels of detail:
+<p> <ol type=1>
+<li> Tool Tips and Status Bar message - flyweight help, extremely brief,
+entirely integrated in the user interface, requiring little
+or no user interaction to invoke.
+<li> What's This? - lightweight, but can be
+a three-paragraph explanation.
+<li> Online Help - can encompass any amount of information,
+but is typically slower to call up, somewhat separated
+from the user's work, and often users feel that using online
+help is a digression from their real task.
+</ol>
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qstatusbar.html">QStatusBar</a></b><td>Horizontal bar suitable for presenting status information
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheet.html">QStyleSheet</a></b><td>Collection of styles for rich text rendering and a generator of tags
+<tr bgcolor=#f0f0f0><td><b><a href="qtextbrowser.html">QTextBrowser</a></b><td>Rich text browser with hypertext navigation
+<tr bgcolor=#f0f0f0><td><b><a href="qtooltip.html">QToolTip</a></b><td>Tool tips (balloon help) for any widget or rectangular part of a widget
+<tr bgcolor=#f0f0f0><td><b><a href="qtooltipgroup.html">QToolTipGroup</a></b><td>Collects tool tips into related groups
+<tr bgcolor=#f0f0f0><td><b><a href="qwhatsthis.html">QWhatsThis</a></b><td>Simple description of any widget, i.e. answering the question "What's this?"
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/helpviewer-example.html b/doc/html/helpviewer-example.html
new file mode 100644
index 0000000..e74d77c
--- /dev/null
+++ b/doc/html/helpviewer-example.html
@@ -0,0 +1,481 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/helpviewer/helpviewer.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Simple HTML Help Browser</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple HTML Help Browser</h1>
+
+
+<p>
+This example implements a simple HTML help browser using
+Qt's richtext capabilities.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/helpwindow.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef HELPWINDOW_H
+#define HELPWINDOW_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qtextbrowser-h.html">qtextbrowser.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+
+class QComboBox;
+class QPopupMenu;
+
+class HelpWindow : public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ HelpWindow( const <a href="qstring.html">QString</a>&amp; home_, const <a href="qstring.html">QString</a>&amp; path, QWidget* parent = 0, const char *name=0 );
+ ~HelpWindow();
+
+private slots:
+ void setBackwardAvailable( bool );
+ void setForwardAvailable( bool );
+
+ void sourceChanged( const <a href="qstring.html">QString</a>&amp; );
+ void about();
+ void aboutQt();
+ void openFile();
+ void newWindow();
+ void print();
+
+ void pathSelected( const <a href="qstring.html">QString</a> &amp; );
+ void histChosen( int );
+ void bookmChosen( int );
+ void addBookmark();
+
+private:
+ void readHistory();
+ void readBookmarks();
+
+ <a href="qtextbrowser.html">QTextBrowser</a>* browser;
+ <a href="qcombobox.html">QComboBox</a> *pathCombo;
+ int backwardId, forwardId;
+ <a href="qstringlist.html">QStringList</a> history, bookmarks;
+ <a href="qmap.html">QMap</a>&lt;int, QString&gt; mHistory, mBookmarks;
+ <a href="qpopupmenu.html">QPopupMenu</a> *hist, *bookm;
+
+};
+
+
+
+
+
+#endif
+
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/helpwindow.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "helpwindow.h"
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qiconset-h.html">qiconset.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qstylesheet-h.html">qstylesheet.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qobjectlist-h.html">qobjectlist.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qdatastream-h.html">qdatastream.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;
+
+#include &lt;ctype.h&gt;
+
+<a name="f350"></a>HelpWindow::HelpWindow( const <a href="qstring.html">QString</a>&amp; home_, const <a href="qstring.html">QString</a>&amp; _path,
+ <a href="qwidget.html">QWidget</a>* parent, const char *name )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name, WDestructiveClose ),
+ pathCombo( 0 )
+{
+ readHistory();
+ readBookmarks();
+
+ browser = new <a href="qtextbrowser.html">QTextBrowser</a>( this );
+
+<a name="x1030"></a> browser-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()-&gt;setFilePath( _path );
+ browser-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+<a name="x1027"></a> <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#sourceChanged">sourceChanged</a>(const <a href="qstring.html">QString</a>&amp; ) ),
+ this, SLOT( sourceChanged( const <a href="qstring.html">QString</a>&amp;) ) );
+
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( browser );
+
+ if ( !home_.<a href="qstring.html#isEmpty">isEmpty</a>() )
+<a name="x1025"></a> browser-&gt;<a href="qtextbrowser.html#setSource">setSource</a>( home_ );
+
+<a name="x1023"></a> <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#highlighted">highlighted</a>( const <a href="qstring.html">QString</a>&amp;) ),
+ <a href="qmainwindow.html#statusBar">statusBar</a>(), SLOT( message( const <a href="qstring.html">QString</a>&amp;)) );
+
+ <a href="qwidget.html#resize">resize</a>( 640,700 );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;New Window"), this, SLOT( newWindow() ), CTRL+Key_N );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;Open File"), this, SLOT( openFile() ), CTRL+Key_O );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;Print"), this, SLOT( print() ), CTRL+Key_P );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;Close"), this, SLOT( <a href="qwidget.html#close">close</a>() ), CTRL+Key_Q );
+<a name="x980"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("E&amp;xit"), qApp, SLOT( <a href="qapplication.html#closeAllWindows">closeAllWindows</a>() ), CTRL+Key_X );
+
+ // The same three icons are used twice each.
+ <a href="qiconset.html">QIconSet</a> icon_back( QPixmap("back.xpm") );
+ <a href="qiconset.html">QIconSet</a> icon_forward( QPixmap("forward.xpm") );
+ <a href="qiconset.html">QIconSet</a> icon_home( QPixmap("home.xpm") );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* go = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ backwardId = go-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( icon_back,
+<a name="x1019"></a> <a href="qobject.html#tr">tr</a>("&amp;Backward"), browser, SLOT( <a href="qtextbrowser.html#backward">backward</a>() ),
+ CTRL+Key_Left );
+ forwardId = go-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( icon_forward,
+<a name="x1021"></a> <a href="qobject.html#tr">tr</a>("&amp;Forward"), browser, SLOT( <a href="qtextbrowser.html#forward">forward</a>() ),
+ CTRL+Key_Right );
+<a name="x1024"></a> go-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( icon_home, tr("&amp;Home"), browser, SLOT( <a href="qtextbrowser.html#home">home</a>() ) );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;About"), this, SLOT( about() ) );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("About &amp;Qt"), this, SLOT( aboutQt() ) );
+
+ hist = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ QStringList::Iterator it = history.begin();
+ for ( ; it != history.end(); ++it )
+ mHistory[ hist-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( *it ) ] = *it;
+<a name="x1004"></a> <a href="qobject.html#connect">connect</a>( hist, SIGNAL( <a href="qpopupmenu.html#activated">activated</a>( int ) ),
+ this, SLOT( histChosen( int ) ) );
+
+ bookm = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ bookm-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>( "Add Bookmark" ), this, SLOT( addBookmark() ) );
+ bookm-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ QStringList::Iterator it2 = bookmarks.begin();
+ for ( ; it2 != bookmarks.end(); ++it2 )
+ mBookmarks[ bookm-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( *it2 ) ] = *it2;
+ <a href="qobject.html#connect">connect</a>( bookm, SIGNAL( <a href="qpopupmenu.html#activated">activated</a>( int ) ),
+ this, SLOT( bookmChosen( int ) ) );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;File"), file );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;Go"), go );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>( "History" ), hist );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>( "Bookmarks" ), bookm );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;Help"), help );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;setItemEnabled( forwardId, FALSE);
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;setItemEnabled( backwardId, FALSE);
+<a name="x1020"></a> <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#backwardAvailable">backwardAvailable</a>( bool ) ),
+ this, SLOT( setBackwardAvailable( bool ) ) );
+<a name="x1022"></a> <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#forwardAvailable">forwardAvailable</a>( bool ) ),
+ this, SLOT( setForwardAvailable( bool ) ) );
+
+
+ <a href="qtoolbar.html">QToolBar</a>* toolbar = new <a href="qtoolbar.html">QToolBar</a>( this );
+ <a href="qmainwindow.html#addToolBar">addToolBar</a>( toolbar, "Toolbar");
+ <a href="qtoolbutton.html">QToolButton</a>* button;
+
+ button = new <a href="qtoolbutton.html">QToolButton</a>( icon_back, tr("Backward"), "", browser, SLOT(<a href="qtextbrowser.html#backward">backward</a>()), toolbar );
+<a name="x1035"></a> <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#backwardAvailable">backwardAvailable</a>(bool) ), button, SLOT( <a href="qwidget.html#setEnabled">setEnabled</a>(bool) ) );
+ button-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ button = new <a href="qtoolbutton.html">QToolButton</a>( icon_forward, tr("Forward"), "", browser, SLOT(<a href="qtextbrowser.html#forward">forward</a>()), toolbar );
+ <a href="qobject.html#connect">connect</a>( browser, SIGNAL( <a href="qtextbrowser.html#forwardAvailable">forwardAvailable</a>(bool) ), button, SLOT( <a href="qwidget.html#setEnabled">setEnabled</a>(bool) ) );
+ button-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ button = new <a href="qtoolbutton.html">QToolButton</a>( icon_home, tr("Home"), "", browser, SLOT(<a href="qtextbrowser.html#home">home</a>()), toolbar );
+
+<a name="x1033"></a> toolbar-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+
+ pathCombo = new <a href="qcombobox.html">QComboBox</a>( TRUE, toolbar );
+<a name="x981"></a> <a href="qobject.html#connect">connect</a>( pathCombo, SIGNAL( <a href="qcombobox.html#activated">activated</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( pathSelected( const <a href="qstring.html">QString</a> &amp; ) ) );
+<a name="x1034"></a> toolbar-&gt;<a href="qtoolbar.html#setStretchableWidget">setStretchableWidget</a>( pathCombo );
+ <a href="qmainwindow.html#setRightJustification">setRightJustification</a>( TRUE );
+ <a href="qmainwindow.html#setDockEnabled">setDockEnabled</a>( DockLeft, FALSE );
+ <a href="qmainwindow.html#setDockEnabled">setDockEnabled</a>( DockRight, FALSE );
+
+<a name="x983"></a> pathCombo-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( home_ );
+ browser-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+
+}
+
+
+void <a name="f351"></a>HelpWindow::setBackwardAvailable( bool b)
+{
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;setItemEnabled( backwardId, b);
+}
+
+void <a name="f352"></a>HelpWindow::setForwardAvailable( bool b)
+{
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;setItemEnabled( forwardId, b);
+}
+
+
+void <a name="f353"></a>HelpWindow::sourceChanged( const <a href="qstring.html">QString</a>&amp; url )
+{
+<a name="x1029"></a> if ( browser-&gt;<a href="qtextedit.html#documentTitle">documentTitle</a>().isNull() )
+ <a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Helpviewer - " + url );
+ else
+ <a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Helpviewer - " + browser-&gt;<a href="qtextedit.html#documentTitle">documentTitle</a>() ) ;
+
+ if ( !url.<a href="qstring.html#isEmpty">isEmpty</a>() &amp;&amp; pathCombo ) {
+ bool exists = FALSE;
+ int i;
+<a name="x982"></a> for ( i = 0; i &lt; pathCombo-&gt;<a href="qcombobox.html#count">count</a>(); ++i ) {
+<a name="x985"></a> if ( pathCombo-&gt;<a href="qcombobox.html#text">text</a>( i ) == url ) {
+ exists = TRUE;
+ break;
+ }
+ }
+ if ( !exists ) {
+ pathCombo-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( url, 0 );
+<a name="x984"></a> pathCombo-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( 0 );
+ mHistory[ hist-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( url ) ] = url;
+ } else
+ pathCombo-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( i );
+ }
+}
+
+HelpWindow::~HelpWindow()
+{
+ history = mHistory.values();
+
+<a name="x986"></a> <a href="qfile.html">QFile</a> f( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.history" );
+<a name="x989"></a> f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> );
+ <a href="qdatastream.html">QDataStream</a> s( &amp;f );
+ s &lt;&lt; history;
+<a name="x987"></a> f.<a href="qfile.html#close">close</a>();
+
+ bookmarks = mBookmarks.values();
+
+ <a href="qfile.html">QFile</a> f2( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.bookmarks" );
+ f2.<a href="qfile.html#open">open</a>( IO_WriteOnly );
+ <a href="qdatastream.html">QDataStream</a> s2( &amp;f2 );
+ s2 &lt;&lt; bookmarks;
+ f2.<a href="qfile.html#close">close</a>();
+}
+
+void <a name="f354"></a>HelpWindow::about()
+{
+<a name="x994"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "HelpViewer Example",
+ "&lt;p&gt;This example implements a simple HTML help viewer "
+ "using Qt's rich text capabilities&lt;/p&gt;"
+ "&lt;p&gt;It's just about 400 lines of C++ code, so don't expect too much :-)&lt;/p&gt;"
+ );
+}
+
+
+void <a name="f355"></a>HelpWindow::aboutQt()
+{
+<a name="x995"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "QBrowser" );
+}
+
+void <a name="f356"></a>HelpWindow::openFile()
+{
+#ifndef QT_NO_FILEDIALOG
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ browser-&gt;<a href="qtextbrowser.html#setSource">setSource</a>( fn );
+#endif
+}
+
+void <a name="f357"></a>HelpWindow::newWindow()
+{
+<a name="x1026"></a> ( new HelpWindow(browser-&gt;<a href="qtextbrowser.html#source">source</a>(), "qbrowser") )-&gt;show();
+}
+
+void <a name="f358"></a>HelpWindow::print()
+{
+#ifndef QT_NO_PRINTER
+ <a href="qprinter.html">QPrinter</a> printer( QPrinter::HighResolution );
+<a name="x1006"></a> printer.<a href="qprinter.html#setFullPage">setFullPage</a>(TRUE);
+<a name="x1007"></a> if ( printer.<a href="qprinter.html#setup">setup</a>( this ) ) {
+ <a href="qpainter.html">QPainter</a> p( &amp;printer );
+<a name="x1002"></a> if( !p.<a href="qpainter.html#isActive">isActive</a>() ) // starting printing failed
+ return;
+<a name="x999"></a> <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics(p.<a href="qpainter.html#device">device</a>());
+<a name="x997"></a> int dpiy = metrics.<a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>();
+ int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins
+<a name="x998"></a><a name="x996"></a> <a href="qrect.html">QRect</a> view( margin, margin, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*margin, metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - 2*margin );
+<a name="x1032"></a> <a href="qsimplerichtext.html">QSimpleRichText</a> richText( browser-&gt;<a href="qtextedit.html#text">text</a>(),
+ QFont(),
+<a name="x1028"></a> browser-&gt;<a href="qtextedit.html#context">context</a>(),
+<a name="x1031"></a> browser-&gt;<a href="qtextedit.html#styleSheet">styleSheet</a>(),
+ browser-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>(),
+ view.<a href="qrect.html#height">height</a>() );
+<a name="x1016"></a> richText.<a href="qsimplerichtext.html#setWidth">setWidth</a>( &amp;p, view.<a href="qrect.html#width">width</a>() );
+ int page = 1;
+ do {
+<a name="x1014"></a> richText.<a href="qsimplerichtext.html#draw">draw</a>( &amp;p, margin, margin, view, colorGroup() );
+<a name="x1010"></a> view.<a href="qrect.html#moveBy">moveBy</a>( 0, view.<a href="qrect.html#height">height</a>() );
+ p.<a href="qpainter.html#translate">translate</a>( 0 , -view.<a href="qrect.html#height">height</a>() );
+<a name="x1018"></a><a name="x1001"></a> p.<a href="qpainter.html#drawText">drawText</a>( view.<a href="qrect.html#right">right</a>() - p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().width( QString::<a href="qstring.html#number">number</a>(page) ),
+<a name="x1008"></a> view.<a href="qrect.html#bottom">bottom</a>() + p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().ascent() + 5, QString::number(page) );
+<a name="x1015"></a> if ( view.<a href="qrect.html#top">top</a>() - margin &gt;= richText.<a href="qsimplerichtext.html#height">height</a>() )
+ break;
+<a name="x1005"></a> printer.<a href="qprinter.html#newPage">newPage</a>();
+ page++;
+ } while (TRUE);
+ }
+#endif
+}
+
+void <a name="f359"></a>HelpWindow::pathSelected( const <a href="qstring.html">QString</a> &amp;_path )
+{
+ browser-&gt;<a href="qtextbrowser.html#setSource">setSource</a>( _path );
+ if ( mHistory.values().contains(_path) )
+ mHistory[ hist-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( _path ) ] = _path;
+}
+
+void <a name="f360"></a>HelpWindow::readHistory()
+{
+<a name="x988"></a> if ( QFile::<a href="qfile.html#exists">exists</a>( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.history" ) ) {
+ <a href="qfile.html">QFile</a> f( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.history" );
+ f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> );
+ <a href="qdatastream.html">QDataStream</a> s( &amp;f );
+ s &gt;&gt; history;
+ f.<a href="qfile.html#close">close</a>();
+ while ( history.count() &gt; 20 )
+ history.remove( history.begin() );
+ }
+}
+
+void <a name="f361"></a>HelpWindow::readBookmarks()
+{
+ if ( QFile::<a href="qfile.html#exists">exists</a>( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.bookmarks" ) ) {
+ <a href="qfile.html">QFile</a> f( QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>() + "/.bookmarks" );
+ f.<a href="qfile.html#open">open</a>( IO_ReadOnly );
+ <a href="qdatastream.html">QDataStream</a> s( &amp;f );
+ s &gt;&gt; bookmarks;
+ f.<a href="qfile.html#close">close</a>();
+ }
+}
+
+void <a name="f362"></a>HelpWindow::histChosen( int i )
+{
+ if ( mHistory.contains( i ) )
+ browser-&gt;<a href="qtextbrowser.html#setSource">setSource</a>( mHistory[ i ] );
+}
+
+void <a name="f363"></a>HelpWindow::bookmChosen( int i )
+{
+ if ( mBookmarks.contains( i ) )
+ browser-&gt;<a href="qtextbrowser.html#setSource">setSource</a>( mBookmarks[ i ] );
+}
+
+void <a name="f364"></a>HelpWindow::addBookmark()
+{
+ mBookmarks[ bookm-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qwidget.html#caption">caption</a>() ) ] = browser-&gt;<a href="qtextedit.html#context">context</a>();
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "helpwindow.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+
+int main( int argc, char ** argv )
+{
+<a name="x1041"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::ManyColor );
+ <a href="qapplication.html">QApplication</a> a(argc, argv);
+
+ <a href="qstring.html">QString</a> home;
+ if (argc &gt; 1) {
+ home = argv[1];
+ } else {
+ // Use a hard coded path. It is only an example.
+ home = QDir( "../../doc/html/index.html" ).absPath();
+ }
+
+ HelpWindow *help = new HelpWindow(home, ".", 0, "help viewer");
+ help-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Helpviewer");
+<a name="x1037"></a> if ( QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width() &gt; 400
+ &amp;&amp; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height() &gt; 500 )
+ help-&gt;<a href="qwidget.html#show">show</a>();
+ else
+<a name="x1045"></a> help-&gt;<a href="qwidget.html#showMaximized">showMaximized</a>();
+
+<a name="x1039"></a> QObject::<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()),
+ &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
new file mode 100644
index 0000000..79c0db3
--- /dev/null
+++ b/doc/html/hierarchy.html
@@ -0,0 +1,605 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/hierarchy.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class Inheritance Hierarchy</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Class Inheritance Hierarchy</h1>
+
+
+
+<p> This list shows the C++ class inheritance relations between the
+classes in the Qt API.
+<p> <p>The list is sorted roughly, but not completely, alphabetically.
+<p> <ul>
+<li><a href="qaccessible.html">QAccessible</a>
+<ul>
+<li><a href="qaccessibleinterface.html">QAccessibleInterface</a>
+</ul>
+<li><a href="qasciicacheiterator.html">QAsciiCacheIterator</a>
+<li><a href="qasciidictiterator.html">QAsciiDictIterator</a>
+<li><a href="qasyncio.html">QAsyncIO</a>
+<ul>
+<li><a href="qdatasink.html">QDataSink</a>
+<li><a href="qdatasource.html">QDataSource</a>
+<ul>
+<li><a href="qiodevicesource.html">QIODeviceSource</a>
+</ul>
+</ul>
+<li><a href="qaxaggregated.html">QAxAggregated</a>
+<li><a href="qaxbase.html">QAxBase</a>
+<li><a href="qaxbindable.html">QAxBindable</a>
+<li><a href="qaxfactory.html">QAxFactory</a>
+<li><a href="qbitval.html">QBitVal</a>
+<li><a href="qcacheiterator.html">QCacheIterator</a>
+<li><a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>
+<li><a href="qchar.html">QChar</a>
+<li><a href="qcharref.html">QCharRef</a>
+<li><a href="qcolor.html">QColor</a>
+<li><a href="qcolorgroup.html">QColorGroup</a>
+<li><a href="qconststring.html">QConstString</a>
+<li><a href="qdatastream.html">QDataStream</a>
+<li><a href="qdate.html">QDate</a>
+<li><a href="qdatetime.html">QDateTime</a>
+<li><a href="qdeepcopy.html">QDeepCopy</a>
+<li><a href="qdictiterator.html">QDictIterator</a>
+<li><a href="qdir.html">QDir</a>
+<li><a href="qdomimplementation.html">QDomImplementation</a>
+<li><a href="qdomnamednodemap.html">QDomNamedNodeMap</a>
+<li><a href="qdomnode.html">QDomNode</a>
+<ul>
+<li><a href="qdomattr.html">QDomAttr</a>
+<li><a href="qdomcharacterdata.html">QDomCharacterData</a>
+<ul>
+<li><a href="qdomcomment.html">QDomComment</a>
+<li><a href="qdomtext.html">QDomText</a>
+<ul>
+<li><a href="qdomcdatasection.html">QDomCDATASection</a>
+</ul>
+</ul>
+<li><a href="qdomdocument.html">QDomDocument</a>
+<li><a href="qdomdocumentfragment.html">QDomDocumentFragment</a>
+<li><a href="qdomdocumenttype.html">QDomDocumentType</a>
+<li><a href="qdomelement.html">QDomElement</a>
+<li><a href="qdomentity.html">QDomEntity</a>
+<li><a href="qdomentityreference.html">QDomEntityReference</a>
+<li><a href="qdomnotation.html">QDomNotation</a>
+<li><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+</ul>
+<li><a href="qdomnodelist.html">QDomNodeList</a>
+<li><a href="qdropsite.html">QDropSite</a>
+<li><a href="qfileinfo.html">QFileInfo</a>
+<li><a href="qfilepreview.html">QFilePreview</a>
+<li><a href="qfocusdata.html">QFocusData</a>
+<li><a href="qfont.html">QFont</a>
+<li><a href="qfontdatabase.html">QFontDatabase</a>
+<li><a href="qfontinfo.html">QFontInfo</a>
+<li><a href="qfontmanager.html">QFontManager</a>
+<li><a href="qfontmetrics.html">QFontMetrics</a>
+<li><a href="qgfxdriverfactory.html">QGfxDriverFactory</a>
+<li><a href="qgfxdriverplugin.html">QGfxDriverPlugin</a>
+<li><a href="qgl.html">QGL</a>
+<ul>
+<li><a href="qglcontext.html">QGLContext</a>
+<li><a href="qglformat.html">QGLFormat</a>
+</ul>
+<li><a href="qglayoutiterator.html">QGLayoutIterator</a>
+<li><a href="qglcolormap.html">QGLColormap</a>
+<li><a href="qguardedptr.html">QGuardedPtr</a>
+<li><a href="qhostaddress.html">QHostAddress</a>
+<li><a href="qhttpheader.html">QHttpHeader</a>
+<ul>
+<li><a href="qhttprequestheader.html">QHttpRequestHeader</a>
+<li><a href="qhttpresponseheader.html">QHttpResponseHeader</a>
+</ul>
+<li><a href="qicondragitem.html">QIconDragItem</a>
+<li><a href="qiconfactory.html">QIconFactory</a>
+<li><a href="qiconset.html">QIconSet</a>
+<li><a href="qimage.html">QImage</a>
+<li><a href="qimageconsumer.html">QImageConsumer</a>
+<li><a href="qimagedecoder.html">QImageDecoder</a>
+<li><a href="qimageformat.html">QImageFormat</a>
+<li><a href="qimageformatplugin.html">QImageFormatPlugin</a>
+<li><a href="qimageformattype.html">QImageFormatType</a>
+<li><a href="qimageio.html">QImageIO</a>
+<li><a href="qintcacheiterator.html">QIntCacheIterator</a>
+<li><a href="qintdictiterator.html">QIntDictIterator</a>
+<li><a href="qiodevice.html">QIODevice</a>
+<ul>
+<li><a href="qbuffer.html">QBuffer</a>
+<li><a href="qfile.html">QFile</a>
+<li><a href="qsocketdevice.html">QSocketDevice</a>
+</ul>
+<li><a href="qkbddriverfactory.html">QKbdDriverFactory</a>
+<li><a href="qkbddriverplugin.html">QKbdDriverPlugin</a>
+<li><a href="qlayoutitem.html">QLayoutItem</a>
+<ul>
+<li><a href="qspaceritem.html">QSpacerItem</a>
+<li><a href="qwidgetitem.html">QWidgetItem</a>
+</ul>
+<li><a href="qlayoutiterator.html">QLayoutIterator</a>
+<li><a href="qlibrary.html">QLibrary</a>
+<li><a href="qlistboxitem.html">QListBoxItem</a>
+<ul>
+<li><a href="qlistboxpixmap.html">QListBoxPixmap</a>
+<li><a href="qlistboxtext.html">QListBoxText</a>
+</ul>
+<li><a href="qlistviewitemiterator.html">QListViewItemIterator</a>
+<li><a href="qlocale.html">QLocale</a>
+<li><a href="qmacmime.html">QMacMime</a>
+<li><a href="qmap.html">QMap</a>
+<li><a href="qmapconstiterator.html">QMapConstIterator</a>
+<li><a href="qmapiterator.html">QMapIterator</a>
+<li><a href="qmemarray.html">QMemArray</a>
+<ul>
+<li><a href="qbytearray.html">QByteArray</a>
+<ul>
+<li><a href="qbitarray.html">QBitArray</a>
+<li><a href="qcstring.html">QCString</a>
+</ul>
+<li><a href="qpointarray.html">QPointArray</a>
+</ul>
+<li><a href="qmenudata.html">QMenuData</a>
+<li><a href="qmetaobject.html">QMetaObject</a>
+<li><a href="qmetaproperty.html">QMetaProperty</a>
+<li><a href="qmimesource.html">QMimeSource</a>
+<li><a href="qmimesourcefactory.html">QMimeSourceFactory</a>
+<li><a href="qmousedriverfactory.html">QMouseDriverFactory</a>
+<li><a href="qmousedriverplugin.html">QMouseDriverPlugin</a>
+<li><a href="qmovie.html">QMovie</a>
+<li><a href="qmutex.html">QMutex</a>
+<li><a href="qmutexlocker.html">QMutexLocker</a>
+<li><a href="qnplugin.html">QNPlugin</a>
+<li><a href="qnpstream.html">QNPStream</a>
+<li><a href="qpaintdevice.html">QPaintDevice</a>
+<ul>
+<li><a href="qpicture.html">QPicture</a>
+<li><a href="qpixmap.html">QPixmap</a>
+<ul>
+<li><a href="qbitmap.html">QBitmap</a>
+<li><a href="qcanvaspixmap.html">QCanvasPixmap</a>
+</ul>
+<li><a href="qprinter.html">QPrinter</a>
+</ul>
+<li><a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>
+<li><a href="qpair.html">QPair</a>
+<li><a href="qpalette.html">QPalette</a>
+<li><a href="qpixmapcache.html">QPixmapCache</a>
+<li><a href="qpngimagepacker.html">QPNGImagePacker</a>
+<li><a href="qpoint.html">QPoint</a>
+<li><a href="qptrcollection.html">QPtrCollection</a>
+<ul>
+<li><a href="qasciicache.html">QAsciiCache</a>
+<li><a href="qasciidict.html">QAsciiDict</a>
+<li><a href="qcache.html">QCache</a>
+<li><a href="qdict.html">QDict</a>
+<li><a href="qintcache.html">QIntCache</a>
+<li><a href="qintdict.html">QIntDict</a>
+<li><a href="qptrdict.html">QPtrDict</a>
+<li><a href="qptrlist.html">QPtrList</a>
+<ul>
+<li><a href="qobjectlist.html">QObjectList</a>
+<li><a href="qsortedlist.html">QSortedList</a>
+<li><a href="qstrlist.html">QStrList</a>
+<ul>
+<li><a href="qstrilist.html">QStrIList</a>
+</ul>
+</ul>
+<li><a href="qptrvector.html">QPtrVector</a>
+</ul>
+<li><a href="qptrdictiterator.html">QPtrDictIterator</a>
+<li><a href="qptrlistiterator.html">QPtrListIterator</a>
+<ul>
+<li><a href="qobjectlistiterator.html">QObjectListIterator</a>
+<li><a href="qstrlistiterator.html">QStrListIterator</a>
+</ul>
+<li><a href="qptrqueue.html">QPtrQueue</a>
+<li><a href="qptrstack.html">QPtrStack</a>
+<li><a href="qrangecontrol.html">QRangeControl</a>
+<li><a href="qrect.html">QRect</a>
+<li><a href="qregexp.html">QRegExp</a>
+<li><a href="qregion.html">QRegion</a>
+<li><a href="qscreen.html">QScreen</a>
+<li><a href="qsemaphore.html">QSemaphore</a>
+<li><a href="qsettings.html">QSettings</a>
+<li><a href="qsimplerichtext.html">QSimpleRichText</a>
+<li><a href="qsize.html">QSize</a>
+<li><a href="qsizepolicy.html">QSizePolicy</a>
+<li><a href="qsql.html">QSql</a>
+<li><a href="qsqldriverplugin.html">QSqlDriverPlugin</a>
+<li><a href="qsqlerror.html">QSqlError</a>
+<li><a href="qsqlfield.html">QSqlField</a>
+<li><a href="qsqlfieldinfo.html">QSqlFieldInfo</a>
+<li><a href="qsqlpropertymap.html">QSqlPropertyMap</a>
+<li><a href="qsqlquery.html">QSqlQuery</a>
+<li><a href="qsqlrecord.html">QSqlRecord</a>
+<ul>
+<li><a href="qsqlcursor.html">QSqlCursor</a>
+<ul>
+<li><a href="qsqlselectcursor.html">QSqlSelectCursor</a>
+</ul>
+<li><a href="qsqlindex.html">QSqlIndex</a>
+</ul>
+<li><a href="qsqlrecordinfo.html">QSqlRecordInfo</a>
+<li><a href="qsqlresult.html">QSqlResult</a>
+<li><a href="qstring.html">QString</a>
+<li><a href="qstylefactory.html">QStyleFactory</a>
+<li><a href="qstyleoption.html">QStyleOption</a>
+<li><a href="qstyleplugin.html">QStylePlugin</a>
+<li><a href="qt.html">Qt</a>
+<ul>
+<li><a href="qbrush.html">QBrush</a>
+<li><a href="qcanvasitem.html">QCanvasItem</a>
+<ul>
+<li><a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>
+<ul>
+<li><a href="qcanvasellipse.html">QCanvasEllipse</a>
+<li><a href="qcanvasline.html">QCanvasLine</a>
+<li><a href="qcanvaspolygon.html">QCanvasPolygon</a>
+<ul>
+<li><a href="qcanvasspline.html">QCanvasSpline</a>
+</ul>
+<li><a href="qcanvasrectangle.html">QCanvasRectangle</a>
+</ul>
+<li><a href="qcanvassprite.html">QCanvasSprite</a>
+<li><a href="qcanvastext.html">QCanvasText</a>
+</ul>
+<li><a href="qcursor.html">QCursor</a>
+<li><a href="qcustommenuitem.html">QCustomMenuItem</a>
+<li><a href="qevent.html">QEvent</a>
+<ul>
+<li><a href="qchildevent.html">QChildEvent</a>
+<li><a href="qcloseevent.html">QCloseEvent</a>
+<li><a href="qcontextmenuevent.html">QContextMenuEvent</a>
+<li><a href="qcustomevent.html">QCustomEvent</a>
+<li><a href="qdragleaveevent.html">QDragLeaveEvent</a>
+<li><a href="qdropevent.html">QDropEvent</a>
+<ul>
+<li><a href="qdragmoveevent.html">QDragMoveEvent</a>
+<ul>
+<li><a href="qdragenterevent.html">QDragEnterEvent</a>
+</ul>
+</ul>
+<li><a href="qfocusevent.html">QFocusEvent</a>
+<li><a href="qhideevent.html">QHideEvent</a>
+<li><a href="qicondragevent.html">QIconDragEvent</a>
+<li><a href="qimevent.html">QIMEvent</a>
+<li><a href="qkeyevent.html">QKeyEvent</a>
+<li><a href="qmouseevent.html">QMouseEvent</a>
+<li><a href="qmoveevent.html">QMoveEvent</a>
+<li><a href="qpaintevent.html">QPaintEvent</a>
+<li><a href="qresizeevent.html">QResizeEvent</a>
+<li><a href="qshowevent.html">QShowEvent</a>
+<li><a href="qtabletevent.html">QTabletEvent</a>
+<li><a href="qtimerevent.html">QTimerEvent</a>
+<li><a href="qwheelevent.html">QWheelEvent</a>
+</ul>
+<li><a href="qiconviewitem.html">QIconViewItem</a>
+<li><a href="qkeysequence.html">QKeySequence</a>
+<li><a href="qlistviewitem.html">QListViewItem</a>
+<ul>
+<li><a href="qchecklistitem.html">QCheckListItem</a>
+</ul>
+<li><a href="qobject.html">QObject</a>
+<ul>
+<li><a href="qaccel.html">QAccel</a>
+<li><a href="qaccessibleobject.html">QAccessibleObject</a>
+<li><a href="qaction.html">QAction</a>
+<ul>
+<li><a href="qactiongroup.html">QActionGroup</a>
+</ul>
+<li><a href="qapplication.html">QApplication</a>
+<li><a href="qassistantclient.html">QAssistantClient</a>
+<li><a href="qaxobject.html">QAxObject</a>
+<ul>
+<li><a href="qaxscriptengine.html">QAxScriptEngine</a>
+</ul>
+<li><a href="qaxscript.html">QAxScript</a>
+<li><a href="qaxscriptmanager.html">QAxScriptManager</a>
+<li><a href="qcanvas.html">QCanvas</a>
+<li><a href="qclipboard.html">QClipboard</a>
+<li><a href="qcopchannel.html">QCopChannel</a>
+<li><a href="qdatapump.html">QDataPump</a>
+<li><a href="qdns.html">QDns</a>
+<li><a href="qdragobject.html">QDragObject</a>
+<ul>
+<li><a href="qicondrag.html">QIconDrag</a>
+<li><a href="qimagedrag.html">QImageDrag</a>
+<li><a href="qstoreddrag.html">QStoredDrag</a>
+<ul>
+<li><a href="qcolordrag.html">QColorDrag</a>
+<li><a href="quridrag.html">QUriDrag</a>
+</ul>
+<li><a href="qtextdrag.html">QTextDrag</a>
+</ul>
+<li><a href="qeditorfactory.html">QEditorFactory</a>
+<ul>
+<li><a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+</ul>
+<li><a href="qeventloop.html">QEventLoop</a>
+<ul>
+<li><a href="qmotif.html">QMotif</a>
+</ul>
+<li><a href="qfileiconprovider.html">QFileIconProvider</a>
+<li><a href="qlayout.html">QLayout</a>
+<ul>
+<li><a href="qboxlayout.html">QBoxLayout</a>
+<ul>
+<li><a href="qhboxlayout.html">QHBoxLayout</a>
+<li><a href="qvboxlayout.html">QVBoxLayout</a>
+</ul>
+<li><a href="qgridlayout.html">QGridLayout</a>
+</ul>
+<li><a href="qnetworkoperation.html">QNetworkOperation</a>
+<li><a href="qnetworkprotocol.html">QNetworkProtocol</a>
+<ul>
+<li><a href="qftp.html">QFtp</a>
+<li><a href="qhttp.html">QHttp</a>
+<li><a href="qlocalfs.html">QLocalFs</a>
+</ul>
+<li><a href="qnpinstance.html">QNPInstance</a>
+<li><a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a>
+<li><a href="qprocess.html">QProcess</a>
+<li><a href="qserversocket.html">QServerSocket</a>
+<li><a href="qsessionmanager.html">QSessionManager</a>
+<li><a href="qsignal.html">QSignal</a>
+<li><a href="qsignalmapper.html">QSignalMapper</a>
+<li><a href="qsocket.html">QSocket</a>
+<li><a href="qsocketnotifier.html">QSocketNotifier</a>
+<li><a href="qsound.html">QSound</a>
+<li><a href="qsqldatabase.html">QSqlDatabase</a>
+<li><a href="qsqldriver.html">QSqlDriver</a>
+<li><a href="qsqlform.html">QSqlForm</a>
+<li><a href="qstyle.html">QStyle</a>
+<ul>
+<li><a href="qcommonstyle.html">QCommonStyle</a>
+<ul>
+<li><a href="qmotifstyle.html">QMotifStyle</a>
+<ul>
+<li><a href="qcdestyle.html">QCDEStyle</a>
+<li><a href="qmotifplusstyle.html">QMotifPlusStyle</a>
+<li><a href="qsgistyle.html">QSGIStyle</a>
+</ul>
+<li><a href="qwindowsstyle.html">QWindowsStyle</a>
+<ul>
+<li><a href="qmacstyle.html">QMacStyle</a>
+<li><a href="qplatinumstyle.html">QPlatinumStyle</a>
+</ul>
+</ul>
+</ul>
+<li><a href="qstylesheet.html">QStyleSheet</a>
+<li><a href="qtimer.html">QTimer</a>
+<li><a href="qtooltipgroup.html">QToolTipGroup</a>
+<li><a href="qtranslator.html">QTranslator</a>
+<li><a href="qurloperator.html">QUrlOperator</a>
+<li><a href="qvalidator.html">QValidator</a>
+<ul>
+<li><a href="qdoublevalidator.html">QDoubleValidator</a>
+<li><a href="qintvalidator.html">QIntValidator</a>
+<li><a href="qregexpvalidator.html">QRegExpValidator</a>
+</ul>
+<li><a href="qwidget.html">QWidget</a>
+<ul>
+<li><a href="qaxwidget.html">QAxWidget</a>
+<li><a href="qbutton.html">QButton</a>
+<ul>
+<li><a href="qcheckbox.html">QCheckBox</a>
+<li><a href="qpushbutton.html">QPushButton</a>
+<li><a href="qradiobutton.html">QRadioButton</a>
+<li><a href="qtoolbutton.html">QToolButton</a>
+</ul>
+<li><a href="qcombobox.html">QComboBox</a>
+<li><a href="qdatabrowser.html">QDataBrowser</a>
+<li><a href="qdataview.html">QDataView</a>
+<li><a href="qdatetimeedit.html">QDateTimeEdit</a>
+<li><a href="qdatetimeeditbase.html">QDateTimeEditBase</a>
+<ul>
+<li><a href="qdateedit.html">QDateEdit</a>
+<li><a href="qtimeedit.html">QTimeEdit</a>
+</ul>
+<li><a href="qdesktopwidget.html">QDesktopWidget</a>
+<li><a href="qdial.html">QDial</a>
+<li><a href="qdialog.html">QDialog</a>
+<ul>
+<li><a href="qcolordialog.html">QColorDialog</a>
+<li><a href="qerrormessage.html">QErrorMessage</a>
+<li><a href="qfiledialog.html">QFileDialog</a>
+<li><a href="qfontdialog.html">QFontDialog</a>
+<li><a href="qinputdialog.html">QInputDialog</a>
+<li><a href="qmessagebox.html">QMessageBox</a>
+<li><a href="qmotifdialog.html">QMotifDialog</a>
+<li><a href="qprogressdialog.html">QProgressDialog</a>
+<li><a href="qtabdialog.html">QTabDialog</a>
+<li><a href="qwizard.html">QWizard</a>
+</ul>
+<li><a href="qdockarea.html">QDockArea</a>
+<li><a href="qframe.html">QFrame</a>
+<ul>
+<li><a href="qdockwindow.html">QDockWindow</a>
+<ul>
+<li><a href="qtoolbar.html">QToolBar</a>
+</ul>
+<li><a href="qgrid.html">QGrid</a>
+<li><a href="qgroupbox.html">QGroupBox</a>
+<ul>
+<li><a href="qbuttongroup.html">QButtonGroup</a>
+<ul>
+<li><a href="qhbuttongroup.html">QHButtonGroup</a>
+<li><a href="qvbuttongroup.html">QVButtonGroup</a>
+</ul>
+<li><a href="qhgroupbox.html">QHGroupBox</a>
+<li><a href="qvgroupbox.html">QVGroupBox</a>
+</ul>
+<li><a href="qhbox.html">QHBox</a>
+<ul>
+<li><a href="qvbox.html">QVBox</a>
+</ul>
+<li><a href="qlabel.html">QLabel</a>
+<li><a href="qlcdnumber.html">QLCDNumber</a>
+<li><a href="qlineedit.html">QLineEdit</a>
+<li><a href="qmenubar.html">QMenuBar</a>
+<li><a href="qpopupmenu.html">QPopupMenu</a>
+<li><a href="qprogressbar.html">QProgressBar</a>
+<li><a href="qscrollview.html">QScrollView</a>
+<ul>
+<li><a href="qcanvasview.html">QCanvasView</a>
+<li><a href="qgridview.html">QGridView</a>
+<li><a href="qiconview.html">QIconView</a>
+<li><a href="qlistbox.html">QListBox</a>
+<li><a href="qlistview.html">QListView</a>
+<li><a href="qtable.html">QTable</a>
+<ul>
+<li><a href="qdatatable.html">QDataTable</a>
+</ul>
+<li><a href="qtextedit.html">QTextEdit</a>
+<ul>
+<li><a href="qmultilineedit.html">QMultiLineEdit</a>
+<li><a href="qtextbrowser.html">QTextBrowser</a>
+<li><a href="qtextview.html">QTextView</a>
+</ul>
+</ul>
+<li><a href="qsplitter.html">QSplitter</a>
+<li><a href="qtoolbox.html">QToolBox</a>
+<li><a href="qwidgetstack.html">QWidgetStack</a>
+</ul>
+<li><a href="qglwidget.html">QGLWidget</a>
+<li><a href="qheader.html">QHeader</a>
+<li><a href="qmainwindow.html">QMainWindow</a>
+<li><a href="qmotifwidget.html">QMotifWidget</a>
+<li><a href="qnpwidget.html">QNPWidget</a>
+<li><a href="qscrollbar.html">QScrollBar</a>
+<li><a href="qsizegrip.html">QSizeGrip</a>
+<li><a href="qslider.html">QSlider</a>
+<li><a href="qspinbox.html">QSpinBox</a>
+<li><a href="qsplashscreen.html">QSplashScreen</a>
+<li><a href="qstatusbar.html">QStatusBar</a>
+<li><a href="qtabbar.html">QTabBar</a>
+<li><a href="qtabwidget.html">QTabWidget</a>
+<li><a href="qworkspace.html">QWorkspace</a>
+<li><a href="qxtwidget.html">QXtWidget</a>
+</ul>
+<li><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>
+</ul>
+<li><a href="qpainter.html">QPainter</a>
+<ul>
+<li><a href="qdirectpainter.html">QDirectPainter</a>
+</ul>
+<li><a href="qpen.html">QPen</a>
+<li><a href="qstylesheetitem.html">QStyleSheetItem</a>
+<li><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>
+<li><a href="qtab.html">QTab</a>
+<li><a href="qtableitem.html">QTableItem</a>
+<ul>
+<li><a href="qchecktableitem.html">QCheckTableItem</a>
+<li><a href="qcombotableitem.html">QComboTableItem</a>
+</ul>
+<li><a href="qthread.html">QThread</a>
+<li><a href="qtooltip.html">QToolTip</a>
+<li><a href="qwhatsthis.html">QWhatsThis</a>
+</ul>
+<li><a href="qtableselection.html">QTableSelection</a>
+<li><a href="qtextcodec.html">QTextCodec</a>
+<ul>
+<li><a href="qbig5codec.html">QBig5Codec</a>
+<li><a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>
+<li><a href="qeucjpcodec.html">QEucJpCodec</a>
+<li><a href="qeuckrcodec.html">QEucKrCodec</a>
+<li><a href="qgb18030codec.html">QGb18030Codec</a>
+<ul>
+<li><a href="qgb2312codec.html">QGb2312Codec</a>
+<li><a href="qgbkcodec.html">QGbkCodec</a>
+</ul>
+<li><a href="qhebrewcodec.html">QHebrewCodec</a>
+<li><a href="qjiscodec.html">QJisCodec</a>
+<li><a href="qsjiscodec.html">QSjisCodec</a>
+<li><a href="qtsciicodec.html">QTsciiCodec</a>
+</ul>
+<li><a href="qtextcodecplugin.html">QTextCodecPlugin</a>
+<li><a href="qtextdecoder.html">QTextDecoder</a>
+<li><a href="qtextencoder.html">QTextEncoder</a>
+<li><a href="qtextstream.html">QTextStream</a>
+<ul>
+<li><a href="qtextistream.html">QTextIStream</a>
+<li><a href="qtextostream.html">QTextOStream</a>
+</ul>
+<li><a href="qthreadstorage.html">QThreadStorage</a>
+<li><a href="qtime.html">QTime</a>
+<li><a href="qtranslatormessage.html">QTranslatorMessage</a>
+<li><a href="qurl.html">QUrl</a>
+<li><a href="qurlinfo.html">QUrlInfo</a>
+<li><a href="quuid.html">QUuid</a>
+<li><a href="qvaluelist.html">QValueList</a>
+<ul>
+<li><a href="qcanvasitemlist.html">QCanvasItemList</a>
+<li><a href="qstringlist.html">QStringList</a>
+<li><a href="qvaluestack.html">QValueStack</a>
+</ul>
+<li><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>
+<li><a href="qvaluelistiterator.html">QValueListIterator</a>
+<li><a href="qvaluevector.html">QValueVector</a>
+<li><a href="qvariant.html">QVariant</a>
+<li><a href="qwaitcondition.html">QWaitCondition</a>
+<li><a href="qwidgetfactory.html">QWidgetFactory</a>
+<li><a href="qwidgetplugin.html">QWidgetPlugin</a>
+<li><a href="qwindowsmime.html">QWindowsMime</a>
+<li><a href="qwmatrix.html">QWMatrix</a>
+<li><a href="qwsdecoration.html">QWSDecoration</a>
+<li><a href="qwsinputmethod.html">QWSInputMethod</a>
+<li><a href="qwsmousehandler.html">QWSMouseHandler</a>
+<li><a href="qwsserver.html">QWSServer</a>
+<li><a href="qwswindow.html">QWSWindow</a>
+<li><a href="qxmlattributes.html">QXmlAttributes</a>
+<li><a href="qxmlcontenthandler.html">QXmlContentHandler</a>
+<ul>
+<li><a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+</ul>
+<li><a href="qxmldeclhandler.html">QXmlDeclHandler</a>
+<li><a href="qxmldtdhandler.html">QXmlDTDHandler</a>
+<li><a href="qxmlentityresolver.html">QXmlEntityResolver</a>
+<li><a href="qxmlerrorhandler.html">QXmlErrorHandler</a>
+<li><a href="qxmlinputsource.html">QXmlInputSource</a>
+<li><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>
+<li><a href="qxmllocator.html">QXmlLocator</a>
+<li><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>
+<li><a href="qxmlparseexception.html">QXmlParseException</a>
+<li><a href="qxmlreader.html">QXmlReader</a>
+<ul>
+<li><a href="qxmlsimplereader.html">QXmlSimpleReader</a>
+</ul>
+</ul>
+</ul>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/how-to-learn-qt.html b/doc/html/how-to-learn-qt.html
new file mode 100644
index 0000000..7082dd3
--- /dev/null
+++ b/doc/html/how-to-learn-qt.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/how-to-learn-qt.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to Learn Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>How to Learn Qt</h1>
+
+
+
+<p> We assume that you already know C++!
+<p> The best way to learn Qt is to read the official Qt book, <a
+href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">
+C++ GUI Programming with Qt 3 (ISBN 0-13-124072-2)</a>.
+
+This book provides comprehensive coverage of Qt programming all the
+way from "Hello Qt" to advanced features like multithreading, 2D and
+3D graphics, networking, and XML.
+<p> <a href="http://www.trolltech.com/training/">http://www.trolltech.com/training/</a>{Qt and Qtopia training} is also
+available. This takes the form of open enrollment courses for the
+public and on-site training for you and your colleagues.
+<p> If you can't get hold of the official book, or if you can't wait for
+it to arrive then here is our suggested learning programme.
+<p> Read the <a href="http://www.trolltech.com/products/qt/whitepaper.html">Qt Whitepaper</a> first. This provides an overview of Qt's
+facilities and has snippets of code which demonstrate the Qt approach
+to programming. It gives you the 'big picture'.
+<p> If you want to program purely in C++, designing your interfaces in
+code without the aid of any design tools, read the tutorials. <a href="tutorial.html">Tutorial #1</a> is designed to get you into Qt
+programming, with the emphasis on working code rather than being a
+tour of features. <a href="tutorial2.html">Tutorial #2</a> presents a
+more realistic example, demonstrating how to code menus, toolbars,
+file loading and saving, dialogs, etc.
+<p> If you want to design your user interfaces using a design tool, then
+read at least the first few chapters of the <a href="designer-manual.html">Qt Designer manual</a>. After this, it is still worthwhile trying
+the pure C++ Tutorials (<a href="tutorial.html">Tutorial #1</a> and
+<a href="tutorial2.html">Tutorial #2</a>) mentioned above.
+<p> By now you'll have produced some small working applications and have a
+broad feel for Qt programming. You could start work on your own
+projects straight away, but we recommend reading a couple of key
+overviews to deepen your understanding of Qt: the <a href="object.html">Qt Object Model</a> and <a href="signalsandslots.html">Signals and Slots</a>.
+<p> At this point we recommend looking at the <a href="overviews-list.html">overviews</a> and reading those that are relevant to your
+projects. You may also find it useful to browse the source code of the
+<a href="examples.html">examples</a> that have things in common with
+your projects. You can also read Qt's source code since this is
+supplied.
+<p> If you run the <tt>demo</tt> application (in <tt>$QTDIR/examples/demo</tt>)
+you'll see many of Qt's widgets in action.
+<p> Qt comes with extensive documentation, with hypertext cross-references
+throughout, so you can easily click your way to whatever interests
+you. The part of the documentation that you'll probably use the most
+is the <a href="index.html">API Reference</a>. Each link provides a
+different way of navigating the API Reference; try them all to see
+which work best for you. You might also like to try <a href="assistant.html">Qt Assistant</a>: this tool is supplied with Qt and
+provides access to the entire Qt API, and it provides a full text
+search facility. There are also a growing number of <a href="http://www.trolltech.com/developer/books.html">Qt
+books</a>.
+<p> You should now be ready to ground-break: good luck, and have fun!
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/httpd-example.html b/doc/html/httpd-example.html
new file mode 100644
index 0000000..e056b15
--- /dev/null
+++ b/doc/html/httpd-example.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/httpd/httpd.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A simple HTTP daemon</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A simple HTTP daemon</h1>
+
+
+<p>
+<p> This example shows how to use the <a href="qserversocket.html">QServerSocket</a> class. It is a very
+simple implementation of a HTTP daemon that listens on port 8080 and
+sends back a simple HTML page back for every GET request it gets. After
+sending the page, it closes the connection.
+<p> <hr>
+<p> Implementation (httpd.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/httpd.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+#include &lt;stdlib.h&gt;
+#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+#include &lt;<a href="qserversocket-h.html">qserversocket.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+
+// HttpDaemon is the the class that implements the simple HTTP server.
+class HttpDaemon : public <a href="qserversocket.html">QServerSocket</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ HttpDaemon( <a href="qobject.html">QObject</a>* parent=0 ) :
+ <a href="qserversocket.html">QServerSocket</a>(8080,1,parent)
+ {
+ if ( !ok() ) {
+ <a href="qapplication.html#qWarning">qWarning</a>("Failed to bind to port 8080");
+ exit( 1 );
+ }
+ }
+
+ void newConnection( int socket )
+ {
+ // When a new client connects, the server constructs a QSocket and all
+ // communication with the client is done over this QSocket. QSocket
+ // works asynchronouslyl, this means that all the communication is done
+ // in the two slots readClient() and discardClient().
+ <a href="qsocket.html">QSocket</a>* s = new <a href="qsocket.html">QSocket</a>( this );
+<a name="x731"></a> connect( s, SIGNAL(<a href="qsocket.html#readyRead">readyRead</a>()), this, SLOT(readClient()) );
+<a name="x729"></a> connect( s, SIGNAL(<a href="qsocket.html#delayedCloseFinished">delayedCloseFinished</a>()), this, SLOT(discardClient()) );
+<a name="x732"></a> s-&gt;<a href="qsocket.html#setSocket">setSocket</a>( socket );
+ emit newConnect();
+ }
+
+signals:
+ void newConnect();
+ void endConnect();
+ void wroteToClient();
+
+private slots:
+ void readClient()
+ {
+ // This slot is called when the client sent data to the server. The
+ // server looks if it was a get request and sends a very simple HTML
+ // document back.
+ <a href="qsocket.html">QSocket</a>* socket = (QSocket*)sender();
+<a name="x727"></a> if ( socket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() ) {
+<a name="x733"></a><a name="x730"></a> <a href="qstringlist.html">QStringList</a> tokens = QStringList::<a href="qstringlist.html#split">split</a>( QRegExp("[ \r\n][ \r\n]*"), socket-&gt;<a href="qsocket.html#readLine">readLine</a>() );
+ if ( tokens[0] == "GET" ) {
+ <a href="qtextstream.html">QTextStream</a> os( socket );
+<a name="x735"></a> os.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::UnicodeUTF8 );
+ os &lt;&lt; "HTTP/1.0 200 Ok\r\n"
+ "Content-Type: text/html; charset=\"utf-8\"\r\n"
+ "\r\n"
+ "&lt;h1&gt;Nothing to see here&lt;/h1&gt;\n";
+<a name="x728"></a> socket-&gt;<a href="qsocket.html#close">close</a>();
+ emit wroteToClient();
+ }
+ }
+ }
+ void discardClient()
+ {
+ <a href="qsocket.html">QSocket</a>* socket = (QSocket*)sender();
+ delete socket;
+ emit endConnect();
+ }
+};
+
+
+// HttpInfo provides a simple graphical user interface to the server and shows
+// the actions of the server.
+class HttpInfo : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ HttpInfo()
+ {
+ HttpDaemon *httpd = new HttpDaemon( this );
+
+ <a href="qstring.html">QString</a> itext = QString(
+ "This is a small httpd example.\n"
+ "You can connect with your\n"
+ "web browser to port %1"
+<a name="x726"></a> ).arg( httpd-&gt;<a href="qserversocket.html#port">port</a>() );
+ <a href="qlabel.html">QLabel</a> *lb = new <a href="qlabel.html">QLabel</a>( itext, this );
+ lb-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignHCenter );
+ infoText = new <a href="qtextview.html">QTextView</a>( this );
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "quit" , this );
+
+ connect( httpd, SIGNAL(newConnect()), SLOT(newConnect()) );
+ connect( httpd, SIGNAL(endConnect()), SLOT(endConnect()) );
+ connect( httpd, SIGNAL(wroteToClient()), SLOT(wroteToClient()) );
+<a name="x724"></a> connect( quit, SIGNAL(<a href="qbutton.html#pressed">pressed</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ }
+
+ ~HttpInfo()
+ {
+ }
+
+private slots:
+ void newConnect()
+ {
+<a name="x734"></a> infoText-&gt;<a href="qtextedit.html#append">append</a>( "New connection" );
+ }
+ void endConnect()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( "Connection closed\n\n" );
+ }
+ void wroteToClient()
+ {
+ infoText-&gt;<a href="qtextedit.html#append">append</a>( "Wrote to client" );
+ }
+
+private:
+ <a href="qtextview.html">QTextView</a> *infoText;
+};
+
+
+int main( int argc, char** argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ HttpInfo info;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;info );
+ info.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "httpd.moc"
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/i18n-example.html b/doc/html/i18n-example.html
new file mode 100644
index 0000000..1a7ac9d
--- /dev/null
+++ b/doc/html/i18n-example.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/i18n/i18n.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Internationalization</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Internationalization</h1>
+
+
+<p>
+This example shows how to internationalize applications. Start it with
+<pre># i18n de</pre><p> to get a german version and with
+<pre># i18n en</pre><p> to get the english version.
+<p> Refer also to <a href="i18n.html">the internationalization documentation</a>.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/mywidget.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef MYWIDGET_H
+#define MYWIDGET_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+class MyWidget : public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a>* parent=0, const char* name = 0 );
+
+signals:
+ void closed();
+
+protected:
+ void closeEvent(QCloseEvent*);
+
+private:
+ static void initChoices(QWidget* parent);
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/mywidget.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include "mywidget.h"
+
+<a name="f525"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a>* parent, const char* name )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name )
+{
+ <a href="qvbox.html">QVBox</a>* central = new <a href="qvbox.html">QVBox</a>(this);
+<a name="x1923"></a> central-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+<a name="x1924"></a> central-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>(central);
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>(this);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("E&amp;xit"), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()),
+<a name="x1921"></a> QAccel::<a href="qaccel.html#stringToKey">stringToKey</a>(<a href="qobject.html#tr">tr</a>("Ctrl+Q")) );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;File"), file );
+
+ <a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>( "Internationalization Example" ) );
+
+ <a href="qstring.html">QString</a> l;
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( <a href="qobject.html#tr">tr</a>("Language: English") );
+
+ ( void )new <a href="qlabel.html">QLabel</a>( <a href="qobject.html#tr">tr</a>( "The Main Window" ), central );
+
+ <a href="qbuttongroup.html">QButtonGroup</a>* gbox = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal,
+ <a href="qobject.html#tr">tr</a>( "View" ), central );
+ (void)new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>( "Perspective" ), gbox );
+ (void)new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>( "Isometric" ), gbox );
+ (void)new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>( "Oblique" ), gbox );
+
+ initChoices(central);
+}
+
+static const char* choices[] = {
+ QT_TRANSLATE_NOOP( "MyWidget", "First" ),
+ QT_TRANSLATE_NOOP( "MyWidget", "Second" ),
+ QT_TRANSLATE_NOOP( "MyWidget", "Third" ),
+ 0
+};
+
+void <a name="f526"></a>MyWidget::initChoices(QWidget* parent)
+{
+ <a href="qlistbox.html">QListBox</a>* lb = new <a href="qlistbox.html">QListBox</a>( parent );
+ for ( int i = 0; choices[i]; i++ )
+<a name="x1925"></a> lb-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>( choices[i] ) );
+}
+
+<a name="x1927"></a>void MyWidget::<a href="qwidget.html#closeEvent">closeEvent</a>(QCloseEvent* e)
+{
+ QWidget::<a href="qwidget.html#closeEvent">closeEvent</a>(e);
+ emit closed();
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtranslator-h.html">qtranslator.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qsignalmapper-h.html">qsignalmapper.h</a>&gt;
+#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+#if defined(Q_OS_UNIX)
+#include &lt;unistd.h&gt;
+#endif
+
+#include "mywidget.h"
+
+//#define USE_I18N_FONT
+
+class QVDialog : public <a href="qdialog.html">QDialog</a> {
+public:
+ QVDialog(QWidget *parent=0, const char *name=0, bool modal=FALSE,
+ WFlags f=0) : <a href="qdialog.html">QDialog</a>(parent,name,modal,f)
+ {
+ <a href="qvboxlayout.html">QVBoxLayout</a>* vb = new <a href="qvboxlayout.html">QVBoxLayout</a>(this,8);
+<a name="x1938"></a> vb-&gt;<a href="qlayout.html#setAutoAdd">setAutoAdd</a>(TRUE);
+ hb = 0;
+ sm = new <a href="qsignalmapper.html">QSignalMapper</a>(this);
+<a name="x1946"></a> connect(sm,SIGNAL(<a href="qsignalmapper.html#mapped">mapped</a>(int)),this,SLOT(done(int)));
+ }
+ void addButtons( const <a href="qstring.html">QString</a>&amp; cancel=QString::null,
+ const <a href="qstring.html">QString</a>&amp; ok=QString::null,
+ const <a href="qstring.html">QString</a>&amp; mid1=QString::null,
+ const <a href="qstring.html">QString</a>&amp; mid2=QString::null,
+ const <a href="qstring.html">QString</a>&amp; mid3=QString::null)
+ {
+<a name="x1948"></a> addButton(ok.<a href="qstring.html#isNull">isNull</a>() ? QObject::tr("OK") : ok, 1);
+ if ( !mid1.<a href="qstring.html#isNull">isNull</a>() ) addButton(mid1,2);
+ if ( !mid2.<a href="qstring.html#isNull">isNull</a>() ) addButton(mid2,3);
+ if ( !mid3.<a href="qstring.html#isNull">isNull</a>() ) addButton(mid3,4);
+ addButton(cancel.<a href="qstring.html#isNull">isNull</a>() ? QObject::tr("Cancel") : cancel, 0);
+ }
+
+ void addButton( const <a href="qstring.html">QString</a>&amp; text, int result )
+ {
+ if ( !hb )
+ hb = new <a href="qhbox.html">QHBox</a>(this);
+ <a href="qpushbutton.html">QPushButton</a> *c = new <a href="qpushbutton.html">QPushButton</a>(text, hb);
+<a name="x1947"></a> sm-&gt;<a href="qsignalmapper.html#setMapping">setMapping</a>(c,result);
+<a name="x1945"></a> connect(c,SIGNAL(<a href="qbutton.html#clicked">clicked</a>()),sm,SLOT(<a href="qsignalmapper.html#map">map</a>()));
+ }
+
+private:
+ <a href="qsignalmapper.html">QSignalMapper</a> *sm;
+ <a href="qhbox.html">QHBox</a> *hb;
+};
+
+MyWidget* showLang(QString lang)
+{
+
+ static QTranslator *translator = 0;
+
+<a name="x1934"></a> qApp-&gt;<a href="qapplication.html#setPalette">setPalette</a>(QPalette(QColor(220-rand()%64,220-rand()%64,220-rand()%64)));
+
+ lang = "mywidget_" + lang + ".qm";
+ <a href="qfileinfo.html">QFileInfo</a> fi( lang );
+
+<a name="x1937"></a> if ( !fi.<a href="qfileinfo.html#exists">exists</a>() ) {
+<a name="x1940"></a> QMessageBox::<a href="qmessagebox.html#warning">warning</a>( 0, "File error",
+ QString("Cannot find translation for language: "+lang+
+ "\n(try eg. 'de', 'ko' or 'no')") );
+ return 0;
+ }
+ if ( translator ) {
+<a name="x1932"></a> qApp-&gt;<a href="qapplication.html#removeTranslator">removeTranslator</a>( translator );
+ delete translator;
+ }
+ translator = new <a href="qtranslator.html">QTranslator</a>( 0 );
+<a name="x1950"></a> translator-&gt;<a href="qtranslator.html#load">load</a>( lang, "." );
+<a name="x1930"></a> qApp-&gt;<a href="qapplication.html#installTranslator">installTranslator</a>( translator );
+ MyWidget *m = new MyWidget;
+<a name="x1951"></a> m-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - <a href="i18n.html#i18n">i18n</a> - " + m-&gt;<a href="qwidget.html#caption">caption</a>() );
+ return m;
+}
+
+int main( int argc, char** argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ const char* qm[]=
+ { "ar", "cs", "de", "el", "en", "eo", "fr", "it", "jp", "ko", "no", "ru", "zh", 0 };
+
+#if defined(Q_OS_UNIX)
+ srand( getpid() &lt;&lt; 2 );
+#endif
+
+ <a href="qstring.html">QString</a> lang;
+ if ( argc == 2 )
+ lang = argv[1];
+
+ if ( argc != 2 || lang == "all" ) {
+ QVDialog dlg(0,0,TRUE);
+ QCheckBox* qmb[sizeof(qm)/sizeof(qm[0])];
+ int r;
+ if ( lang == "all" ) {
+ r = 2;
+ } else {
+ <a href="qbuttongroup.html">QButtonGroup</a> *bg = new <a href="qbuttongroup.html">QButtonGroup</a>(4,Qt::Vertical,"Choose Locales",&amp;dlg);
+<a name="x1949"></a> <a href="qstring.html">QString</a> loc = QTextCodec::<a href="qtextcodec.html#locale">locale</a>();
+ for ( int i=0; qm[i]; i++ ) {
+ qmb[i] = new <a href="qcheckbox.html">QCheckBox</a>((const char*)qm[i],bg);
+ qmb[i]-&gt;setChecked( loc == qm[i] );
+ }
+ dlg.addButtons("Cancel","OK","All");
+<a name="x1936"></a> r = dlg.<a href="qdialog.html#exec">exec</a>();
+ }
+ if ( r ) {
+<a name="x1928"></a> <a href="qrect.html">QRect</a> screen = qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;availableGeometry();
+ bool tight = screen.<a href="qrect.html#width">width</a>() &lt; 1024;
+<a name="x1942"></a> int x=screen.<a href="qrect.html#left">left</a>()+5;
+ int y=screen.<a href="qrect.html#top">top</a>()+25;
+ for ( int i=0; qm[i]; i++ ) {
+ if ( r == 2 || qmb[i]-&gt;isChecked() ) {
+ MyWidget* w = showLang((const char*)qm[i]);
+
+ if( w == 0 ) exit( 0 );
+ QObject::<a href="qobject.html#connect">connect</a>(w, SIGNAL(closed()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+<a name="x1953"></a> w-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(x,y,197,356);
+ w-&gt;<a href="qwidget.html#show">show</a>();
+ if ( tight ) {
+ x += 8;
+ y += 8;
+ } else {
+ x += 205;
+ if ( x &gt; 1000 ) {
+ x = 5;
+ y += 384;
+ }
+ }
+ }
+ }
+ } else {
+ exit( 0 );
+ }
+ } else {
+ <a href="qstring.html">QString</a> lang = argv[1];
+ <a href="qwidget.html">QWidget</a>* m = showLang(lang);
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( m );
+ m-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - i18n");
+ m-&gt;<a href="qwidget.html#show">show</a>();
+ }
+
+#ifdef USE_I18N_FONT
+ memorymanager-&gt;savePrerenderedFont(font.handle(),FALSE);
+#endif
+
+ // While we run "all", kill them all
+ return app.<a href="qapplication.html#exec">exec</a>();
+
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/i18n.html b/doc/html/i18n.html
new file mode 100644
index 0000000..2b3803a
--- /dev/null
+++ b/doc/html/i18n.html
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/i18n.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Internationalization with Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Internationalization with Qt</h1>
+
+
+<p> <!-- index internationalization --><a name="internationalization"></a><!-- index i18n --><a name="i18n"></a>
+<p> The internationalization of an application is the process of making
+the application usable by people in countries other than one's own.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Step by Step
+</a>
+<ul>
+<li><a href="#1-1"> Use QString for all User-visible Text
+</a>
+<li><a href="#1-2"> Use tr() for all Literal Text
+</a>
+<li><a href="#1-3"> Use QKeySequence() for Accelerator Values
+</a>
+<li><a href="#1-4"> Use QString::arg() for Dynamic Text
+</a>
+<li><a href="#1-5"> Produce Translations
+</a>
+<li><a href="#1-6"> Support for Encodings
+</a>
+<li><a href="#1-7"> Localize
+</a>
+</ul>
+<li><a href="#2"> Dynamic Translation
+</a>
+<li><a href="#3"> System Support
+</a>
+<ul>
+<li><a href="#3-1"> Unix/X11
+</a>
+<li><a href="#3-2"> Windows
+</a>
+</ul>
+<li><a href="#4"> Note about Locales on X11
+</a>
+<li><a href="#5"> Relevant Qt Classes
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> In some cases internationalization is simple, for example, making a US
+application accessible to Australian or British users may require
+little more than a few spelling corrections. But to make a US
+application usable by Japanese users, or a Korean application usable
+by German users, will require that the software operate not only in
+different languages, but use different input techniques, character
+encodings and presentation conventions.
+<p> Qt tries to make internationalization as painless as possible for
+developers. All input widgets and text drawing methods in Qt offer
+built-in support for all supported languages. The built-in font engine
+is capable of correctly and attractively rendering text that contains
+characters from a variety of different writing systems at the same
+time.
+<p> Qt supports most languages in use today, in particular:
+<ul>
+<li> All East Asian languages (Chinese, Japanese and Korean)
+<li> All Western languages (using Latin script)
+<li> Arabic
+<li> Cyrillic languages (Russian)
+<li> Greek
+<li> Hebrew
+<li> Thai and Lao
+<li> All scripts in Unicode 3.2 that do not require special processing
+</ul>
+<p> On Windows NT/2000/XP and Unix/X11 with Xft (client side font support)
+the following languages are also supported:
+<ul>
+<li> Bengali
+<li> Devanagari
+<li> Dhivehi (Thaana)
+<li> Gujarati
+<li> Gurmukhi
+<li> Kannada
+<li> Khmer
+<li> Malayalam (X11 only)
+<li> Myanmar (X11 only)
+<li> Syriac
+<li> Tamil
+<li> Telugu
+<li> Tibetan (X11 only)
+</ul>
+<p> Many of these writing systems exhibit special features:
+<p> <ul>
+<p> <li> <b>Special line breaking behavior.</b> Some of the Asian languages are
+written without spaces between words. Line breaking can occur either
+after every character (with exceptions) as in Chinese, Japanese and
+Korean, or after logical word boundaries as in Thai.
+<p> <li> <b>Bidirectional writing.</b> Arabic and Hebrew are written from right to
+left, except for numbers and embedded English text which is written
+left to right. The exact behavior is defined in the <a href="http://www.unicode.org/unicode/reports/tr9/">Unicode Technical Report
+#9</a>.
+<p> <li> <b>Non spacing or diacritical marks</b> (accents or umlauts in European
+languages). Some languages such as Vietnamese make extensive use of
+these marks and some characters can have more than one mark at the
+same time to clarify pronunciation.
+<p> <li> <b>Ligatures.</b> In special contexts, some pairs of characters get
+replaced by a combined glyph forming a ligature. Common examples are
+the fl and fi ligatures used in typesetting US and European books.
+<p> </ul>
+<p> Qt tries to take care of all the special features listed above. You
+usually don't have to worry about these features so long as you use
+Qt's input widgets (e.g. <a href="qlineedit.html">QLineEdit</a>, <a href="qtextedit.html">QTextEdit</a>, and derived classes)
+and Qt's display widgets (e.g. <a href="qlabel.html">QLabel</a>).
+<p> Support for these writing systems is transparent to the programmer
+and completely encapsulated in Qt's text engine. This means that you
+don't need to have any knowledge about the writing system used in a
+particular language, except for the following small points:
+<ul>
+<p> <li> <a href="qpainter.html#drawText">QPainter::drawText</a>( int x, int y, const <a href="qstring.html">QString</a> &str ) will always
+draw the string with it's left edge at the position specified with
+the x, y parameters. This will usually give you left aligned strings.
+Arabic and Hebrew application strings are usually right
+aligned, so for these languages use the version of drawText() that
+takes a <a href="qrect.html">QRect</a> since this will align in accordance with the language.
+<p> <li> When you write your own text input controls, use <a href="qfontmetrics.html#charWidth">QFontMetrics::charWidth</a>() to determine the width of a character in a
+string. In some languages (e.g. Arabic or languages from the Indian
+subcontinent), the width and shape of a glyph changes depending on the
+surrounding characters. Writing input controls usually requires a
+certain knowledge of the scripts it is going to be used in. Usually
+the easiest way is to subclass <a href="qlineedit.html">QLineEdit</a> or <a href="qtextedit.html">QTextEdit</a>.
+<p> </ul>
+<p> The following sections give some information on the status
+of the internationalization (i18n) support in Qt.
+<p> See also the <a href="linguist-manual.html">Qt Linguist</a> manual.
+<p> <h2> Step by Step
+</h2>
+<a name="1"></a><p> Writing multi-platform international software with Qt is a gentle,
+incremental process. Your software can become internationalized in
+the following stages:
+<p> <h3> Use <a href="qstring.html">QString</a> for all User-visible Text
+</h3>
+<a name="1-1"></a><p> Since QString uses the Unicode encoding internally, every
+language in the world can be processed transparently using
+familiar text processing operations. Also, since all Qt
+functions that present text to the user take a QString as a
+parameter, there is no char* to QString conversion overhead.
+<p> Strings that are in "programmer space" (such as <a href="qobject.html">QObject</a> names
+and file format texts) need not use QString; the traditional
+char* or the <a href="qcstring.html">QCString</a> class will suffice.
+<p> You're unlikely to notice that you are using Unicode;
+QString, and <a href="qchar.html">QChar</a> are just like easier versions of the crude
+const char* and char from traditional C.
+<p> <h3> Use tr() for all Literal Text
+</h3>
+<a name="1-2"></a><p> Wherever your program uses <tt>"quoted text"</tt> for text that will
+be presented to the user, ensure that it is processed by the <a href="qapplication.html#translate">QApplication::translate</a>() function. Essentially all that is necessary
+to achieve this is to use <a href="qobject.html#tr">QObject::tr</a>(). For example, assuming the
+<tt>LoginWidget</tt> is a subclass of QWidget:
+<p> <pre>
+ LoginWidget::LoginWidget()
+ {
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>( tr("Password:"), this );
+ ...
+ }
+</pre>
+
+<p> This accounts for 99% of the user-visible strings you're likely to
+write.
+<p> If the quoted text is not in a member function of a
+<a href="qobject.html">QObject</a> subclass, use either the tr() function of an
+appropriate class, or the <a href="qapplication.html#translate">QApplication::translate</a>() function
+directly:
+<p> <pre>
+ void some_global_function( LoginWidget *logwid )
+ {
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>(
+ LoginWidget::tr("Password:"), logwid );
+ }
+
+ void same_global_function( LoginWidget *logwid )
+ {
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>(
+ qApp-&gt;<a href="qapplication.html#translate">translate</a>("LoginWidget", "Password:"),
+ logwid );
+ }
+</pre>
+
+<p> If you need to have translatable text completely
+outside a function, there are two macros to help: QT_TR_NOOP()
+and QT_TRANSLATE_NOOP(). They merely mark the text for
+extraction by the <em>lupdate</em> utility described below.
+The macros expand to just the text (without the context).
+<p> Example of QT_TR_NOOP():
+<pre>
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ static const char* greeting_strings[] = {
+ QT_TR_NOOP( "Hello" ),
+ QT_TR_NOOP( "Goodbye" )
+ };
+ return tr( greeting_strings[greet_type] );
+ }
+</pre>
+
+<p> Example of QT_TRANSLATE_NOOP():
+<pre>
+ static const char* greeting_strings[] = {
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Hello" ),
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Goodbye" )
+ };
+
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ return tr( greeting_strings[greet_type] );
+ }
+
+ <a href="qstring.html">QString</a> global_greeting( int greet_type )
+ {
+ return qApp-&gt;<a href="qapplication.html#translate">translate</a>( "FriendlyConversation",
+ greeting_strings[greet_type] );
+ }
+</pre>
+
+<p> If you disable the const char* to <a href="qstring.html">QString</a> automatic conversion
+by compiling your software with the macro QT_NO_CAST_ASCII
+defined, you'll be very likely to catch any strings you are
+missing. See <a href="qstring.html#fromLatin1">QString::fromLatin1</a>() for more information.
+Disabling the conversion can make programming a bit cumbersome.
+<p> If your source language uses characters outside Latin-1, you
+might find <a href="qobject.html#trUtf8">QObject::trUtf8</a>() more convenient than
+<a href="qobject.html#tr">QObject::tr</a>(), as tr() depends on the
+<a href="qapplication.html#defaultCodec">QApplication::defaultCodec</a>(), which makes it more fragile than
+QObject::trUtf8().
+<p> <h3> Use <a href="qkeysequence.html">QKeySequence</a>() for Accelerator Values
+</h3>
+<a name="1-3"></a><p> Accelerator values such as Ctrl+Q or Alt+F need to be
+translated too. If you hardcode <tt>CTRL+Key_Q</tt> for "Quit" in
+your application, translators won't be able to override
+it. The correct idiom is
+<p> <pre>
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( tr("&amp;Quit"), this, SLOT(quit()),
+ QKeySequence(tr("Ctrl+Q", "File|Quit")) );
+</pre>
+
+<p> <h3> Use <a href="qstring.html#arg">QString::arg</a>() for Dynamic Text
+</h3>
+<a name="1-4"></a><p> The QString::arg() functions offer a simple means for substituting
+arguments:
+<pre>
+ void FileCopier::showProgress( int done, int total,
+ const <a href="qstring.html">QString</a>&amp; current_file )
+ {
+ label.setText( tr("%1 of %2 files copied.\nCopying: %3")
+ .arg(done)
+ .arg(total)
+ .arg(current_file) );
+ }
+</pre>
+
+<p> In some languages the order of arguments may need to change, and this
+can easily be achieved by changing the order of the % arguments. For
+example:
+<pre>
+ <a href="qstring.html">QString</a> s1 = "%1 of %2 files copied. Copying: %3";
+ <a href="qstring.html">QString</a> s2 = "Kopierer nu %3. Av totalt %2 filer er %1 kopiert.";
+
+ <a href="qapplication.html#qDebug">qDebug</a>( s1.<a href="qstring.html#arg">arg</a>(5).arg(10).arg("somefile.txt").ascii() );
+ <a href="qapplication.html#qDebug">qDebug</a>( s2.<a href="qstring.html#arg">arg</a>(5).arg(10).arg("somefile.txt").ascii() );
+</pre>
+
+<p> produces the correct output in English and Norwegian:
+<pre>
+5 of 10 files copied. Copying: somefile.txt
+Kopierer nu somefile.txt. Av totalt 10 filer er 5 kopiert.
+</pre>
+
+<p> <h3> Produce Translations
+</h3>
+<a name="1-5"></a><p> Once you are using tr() throughout an application, you can start
+producing translations of the user-visible text in your program.
+<p> <a href="linguist-manual.html">Qt Linguist</a>'s manual provides
+further information about Qt's translation tools, <em>Qt Linguist</em>, <em>lupdate</em> and <em>lrelease</em>.
+<p> Translation of a Qt application is a three-step process:
+<p> <ol type=1>
+<p> <li> Run <em>lupdate</em> to extract translatable text from the C++ source
+code of the Qt application, resulting in a message file for
+translators (a <tt>.ts</tt> file). The utility recognizes the tr() construct
+and the QT_*_NOOP macros described above and produces <tt>.ts</tt> files
+(usually one per language).
+<p> <li> Provide translations for the source texts in the <tt>.ts</tt> file, using
+<em>Qt Linguist</em>. Since <tt>.ts</tt> files are in XML format, you can also
+edit them by hand.
+<p> <li> Run <em>lrelease</em> to obtain a light-weight message file (a <tt>.qm</tt>
+file) from the <tt>.ts</tt> file, suitable only for end use. Think of the <tt>.ts</tt> files as "source files", and <tt>.qm</tt> files as "object files". The
+translator edits the <tt>.ts</tt> files, but the users of your application
+only need the <tt>.qm</tt> files. Both kinds of files are platform and
+locale independent.
+<p> </ol>
+<p> Typically, you will repeat these steps for every release of your
+application. The <em>lupdate</em> utility does its best to reuse the
+translations from previous releases.
+<p> Before you run <em>lupdate</em>, you should prepare a project file. Here's
+an example project file (<tt>.pro</tt> file):
+<p> <pre>
+ HEADERS = funnydialog.h \
+ wackywidget.h
+ SOURCES = funnydialog.cpp \
+ main.cpp \
+ wackywidget.cpp
+ FORMS = fancybox.ui
+ TRANSLATIONS = superapp_dk.ts \
+ superapp_fi.ts \
+ superapp_no.ts \
+ superapp_se.ts
+</pre>
+
+<p> When you run <em>lupdate</em> or <em>lrelease</em>, you must give the name of the
+project file as a command-line argument.
+<p> In this example, four exotic languages are supported: Danish, Finnish,
+Norwegian and Swedish. If you use <a href="qmake-manual.html">qmake</a>, you usually don't need an extra project
+file for <em>lupdate</em>; your <tt>qmake</tt> project file will work fine once
+you add the <tt>TRANSLATIONS</tt> entry.
+<p> In your application, you must <a href="qtranslator.html#load">QTranslator::load</a>() the translation
+files appropriate for the user's language, and install them using <a href="qapplication.html#installTranslator">QApplication::installTranslator</a>().
+<p> If you have been using the old Qt tools (<tt>findtr</tt>, <tt>msg2qm</tt> and <tt>mergetr</tt>), you can use <em>qm2ts</em> to convert your old <tt>.qm</tt> files.
+<p> <em>linguist</em>, <em>lupdate</em> and <em>lrelease</em> are installed in the <tt>bin</tt>
+subdirectory of the base directory Qt is installed into. Click Help|Manual
+in <em>Qt Linguist</em> to access the user's manual; it contains a tutorial
+to get you started.
+<p> While these utilities offer a convenient way to create <tt>.qm</tt> files,
+any system that writes <tt>.qm</tt> files is sufficient. You could make an
+application that adds translations to a <a href="qtranslator.html">QTranslator</a> with
+<a href="qtranslator.html#insert">QTranslator::insert</a>() and then writes a <tt>.qm</tt> file with
+<a href="qtranslator.html#save">QTranslator::save</a>(). This way the translations can come from any
+source you choose.
+<p> <a name="qt-itself"></a>
+Qt itself contains over 400 strings that will also need to be
+translated into the languages that you are targeting. You will find
+translation files for French and German in <tt>$QTDIR/translations</tt> as
+well as a template for translating to other languages. (This directory
+also contains some additional unsupported translations which may be
+useful.)
+<p> Typically, your application's main() function will look like this:
+<pre>
+ int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ // translation file for Qt
+ <a href="qtranslator.html">QTranslator</a> qt( 0 );
+ qt.<a href="qtranslator.html#load">load</a>( QString( "qt_" ) + QTextCodec::locale(), "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;qt );
+
+ // translation file for application strings
+ <a href="qtranslator.html">QTranslator</a> myapp( 0 );
+ myapp.<a href="qtranslator.html#load">load</a>( QString( "myapp_" ) + QTextCodec::locale(), "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;myapp );
+
+ ...
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+
+<p> <h3> Support for Encodings
+</h3>
+<a name="1-6"></a><p> The <a href="qtextcodec.html">QTextCodec</a> class and the facilities in <a href="qtextstream.html">QTextStream</a> make it easy to
+support many input and output encodings for your users' data. When an
+application starts, the locale of the machine will determine the 8-bit
+encoding used when dealing with 8-bit data: such as for font
+selection, text display, 8-bit text I/O and character input.
+<p> The application may occasionally require encodings other than the
+default local 8-bit encoding. For example, an application in a
+Cyrillic KOI8-R locale (the de-facto standard locale in Russia) might
+need to output Cyrillic in the ISO 8859-5 encoding. Code for this
+would be:
+<p> <pre>
+ <a href="qstring.html">QString</a> string = ...; // some Unicode text
+
+ <a href="qtextcodec.html">QTextCodec</a>* codec = QTextCodec::<a href="qtextcodec.html#codecForName">codecForName</a>( "ISO 8859-5" );
+ <a href="qcstring.html">QCString</a> encoded_string = codec-&gt;<a href="qtextcodec.html#fromUnicode">fromUnicode</a>( string );
+
+ ...; // use encoded_string in 8-bit operations
+</pre>
+
+<p> For converting Unicode to local 8-bit encodings, a shortcut is
+available: the <a href="qstring.html#local8Bit">local8Bit</a>() method
+of <a href="qstring.html">QString</a> returns such 8-bit data. Another useful shortcut is the
+<a href="qstring.html#utf8">utf8</a>() method, which returns text in the
+8-bit UTF-8 encoding: this perfectly preserves Unicode information
+while looking like plain US-ASCII if the text is wholly US-ASCII.
+<p> For converting the other way, there are the <a href="qstring.html#fromUtf8">QString::fromUtf8</a>() and
+<a href="qstring.html#fromLocal8Bit">QString::fromLocal8Bit</a>() convenience functions, or the general code,
+demonstrated by this conversion from ISO 8859-5 Cyrillic to Unicode
+conversion:
+<p> <pre>
+ <a href="qcstring.html">QCString</a> encoded_string = ...; // Some ISO 8859-5 encoded text.
+
+ <a href="qtextcodec.html">QTextCodec</a>* codec = QTextCodec::<a href="qtextcodec.html#codecForName">codecForName</a>("ISO 8859-5");
+ <a href="qstring.html">QString</a> string = codec-&gt;<a href="qtextcodec.html#toUnicode">toUnicode</a>(encoded_string);
+
+ ...; // Use string in all of Qt's QString operations.
+</pre>
+
+<p> Ideally Unicode I/O should be used as this maximizes the portability
+of documents between users around the world, but in reality it is
+useful to support all the appropriate encodings that your users will
+need to process existing documents. In general, Unicode (UTF-16 or
+UTF-8) is best for information transferred between arbitrary people,
+while within a language or national group, a local standard is often
+more appropriate. The most important encoding to support is the one
+returned by <a href="qtextcodec.html#codecForLocale">QTextCodec::codecForLocale</a>(), as this is the one the user
+is most likely to need for communicating with other people and
+applications (this is the codec used by local8Bit()).
+<p> Qt supports most of the more frequently used encodings natively. For a
+complete list of supported encodings see the <a href="qtextcodec.html">QTextCodec</a>
+documentation.
+<p> In some cases and for less frequently used encodings it may be
+necessary to write your own <a href="qtextcodec.html">QTextCodec</a> subclass. Depending on the
+urgency, it may be useful to contact Trolltech technical support or
+ask on the <tt>qt-interest</tt> mailing list to see if someone else is
+already working on supporting the encoding. A useful interim measure
+can be to use the <a href="qtextcodec.html#loadCharmapFile">QTextCodec::loadCharmapFile</a>() function to build a
+data-driven codec, although this approach has a memory and speed
+penalty, especially with dynamically loaded libraries. For details of
+writing your own QTextCodec, see the main QTextCodec class
+documentation.
+<p> <!-- index localization --><a name="localization"></a>
+<p> <h3> Localize
+</h3>
+<a name="1-7"></a><p> Localization is the process of adapting to local conventions, for
+example presenting dates and times using the locally preferred
+formats. Such localizations can be accomplished using appropriate tr()
+strings.
+<p> <pre>
+ void Clock::setTime(const <a href="qtime.html">QTime</a>&amp; t)
+ {
+ if ( tr("AMPM") == "AMPM" ) {
+ // 12-hour clock
+ } else {
+ // 24-hour clock
+ }
+ }
+</pre>
+
+<p> In the example, for the US we would leave the translation of "AMPM" as
+it is and thereby use the 12-hour clock branch; but in Europe we would
+translate it as something else (anything else, e.g. "EU") and this
+will make the code use the 24-hour clock branch.
+<p> Localizing images is not recommended. Choose clear icons that are
+appropriate for all localities, rather than relying on local puns or
+stretched metaphors.
+<p> <h2> Dynamic Translation
+</h2>
+<a name="2"></a><p> Some applications, such as Qt Linguist, must be able to support changes
+to the user's language settings while they are still running. To make
+widgets aware of changes to the system language, implement a public
+slot called <tt>languageChange()</tt> in each widget that needs to be notified.
+In this slot, you should update the text displayed by widgets using the
+<a href="qobject.html#tr">QObject::tr</a>(){tr()} function in the usual way; for example:
+<p> <pre>
+void MyWidget::languageChange()
+{
+ titleLabel-&gt;setText(tr("Document Title"));
+ ...
+ okPushButton-&gt;setText(tr("&amp;OK"));
+}
+</pre>
+
+<p> The default event handler for <a href="qwidget.html">QWidget</a> subclasses responds to the
+<a href="qevent.html#Type-enum">LanguageChange</a> event, and will call this slot
+when necessary; other application components can also connect signals
+to this slot to force widgets to update themselves.
+<p> <h2> System Support
+</h2>
+<a name="3"></a><p> Some of the operating systems and windowing systems that Qt runs on
+only have limited support for Unicode. The level of support available
+in the underlying system has some influence on the support that Qt can
+provide on those platforms, although in general Qt applications need
+not be too concerned with platform-specific limitations.
+<p> <h3> Unix/X11
+</h3>
+<a name="3-1"></a><p> <ul>
+<li> Locale-oriented fonts and input methods. Qt hides these and
+provides Unicode input and output.
+<li> Filesystem conventions such as
+<a href="http://www.ietf.org/rfc/rfc2279.txt">UTF-8</a>
+are under development
+in some Unix variants. All Qt file functions allow Unicode,
+but convert filenames to the local 8-bit encoding, as
+this is the Unix convention
+(see <a href="qfile.html#setEncodingFunction">QFile::setEncodingFunction</a>()
+to explore alternative encodings).
+<li> File I/O defaults to the local 8-bit encoding,
+with Unicode options in <a href="qtextstream.html">QTextStream</a>.
+</ul>
+<p> <h3> Windows
+</h3>
+<a name="3-2"></a><p> <ul>
+<li> Qt provides full Unicode support, including input methods, fonts,
+clipboard, drag-and-drop and file names.
+<li> File I/O defaults to Latin-1, with Unicode options in QTextStream.
+Note that some Windows programs do not understand big-endian
+Unicode text files even though that is the order prescribed by
+the Unicode Standard in the absence of higher-level protocols.
+<li> Unlike programs written with MFC or plain winlib, Qt programs
+are portable between Windows 95/98 and Windows NT.
+<em>You do not need different binaries to support Unicode.</em>
+</ul>
+<p> <h2> Note about Locales on X11
+</h2>
+<a name="4"></a><p> Many Unix distributions contain only partial support for some locales.
+For example, if you have a <tt>/usr/share/locale/ja_JP.EUC</tt> directory,
+this does not necessarily mean you can display Japanese text; you also
+need JIS encoded fonts (or Unicode fonts), and the <tt>/usr/share/locale/ja_JP.EUC</tt> directory needs to be complete. For best
+results, use complete locales from your system vendor.
+<p> <h2> Relevant Qt Classes
+</h2>
+<a name="5"></a><p> These classes are relevant to internationalizing Qt applications.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbig5codec.html">QBig5Codec</a></b><td>Conversion to and from the Big5 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qeucjpcodec.html">QEucJpCodec</a></b><td>Conversion to and from EUC-JP character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qeuckrcodec.html">QEucKrCodec</a></b><td>Conversion to and from EUC-KR character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qgb18030codec.html">QGb18030Codec</a></b><td>Conversion to and from the Chinese GB18030/GBK/GB2312 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qgb2312codec.html">QGb2312Codec</a></b><td>Conversion to and from the Chinese GB2312 encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qgbkcodec.html">QGbkCodec</a></b><td>Conversion to and from the Chinese GBK encoding
+<tr bgcolor=#f0f0f0><td><b><a href="qhebrewcodec.html">QHebrewCodec</a></b><td>Conversion to and from visually ordered Hebrew
+<tr bgcolor=#f0f0f0><td><b><a href="qjiscodec.html">QJisCodec</a></b><td>Conversion to and from JIS character sets
+<tr bgcolor=#f0f0f0><td><b><a href="qsjiscodec.html">QSjisCodec</a></b><td>Conversion to and from Shift-JIS
+<tr bgcolor=#f0f0f0><td><b><a href="qtextcodec.html">QTextCodec</a></b><td>Conversion between text encodings
+<tr bgcolor=#f0f0f0><td><b><a href="qtextdecoder.html">QTextDecoder</a></b><td>State-based decoder
+<tr bgcolor=#f0f0f0><td><b><a href="qtextencoder.html">QTextEncoder</a></b><td>State-based encoder
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslator.html">QTranslator</a></b><td>Internationalization support for text output
+<tr bgcolor=#f0f0f0><td><b><a href="qtranslatormessage.html">QTranslatorMessage</a></b><td>Translator message and its properties
+<tr bgcolor=#f0f0f0><td><b><a href="qtsciicodec.html">QTsciiCodec</a></b><td>Conversion to and from the Tamil TSCII encoding
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/iconset.png b/doc/html/iconset.png
new file mode 100644
index 0000000..5c7c759
--- /dev/null
+++ b/doc/html/iconset.png
Binary files differ
diff --git a/doc/html/iconview-example.html b/doc/html/iconview-example.html
new file mode 100644
index 0000000..16b53a6
--- /dev/null
+++ b/doc/html/iconview-example.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/iconview/iconview.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Iconview</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Iconview</h1>
+
+
+<p>
+This example implements a flexible icon view which can store
+lots of icon items. It supports Drag&Drop, different selection modes,
+view modes, rubberband selection, etc.
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qiconset-h.html">qiconset.h</a>&gt;
+
+#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;
+#include &lt;stdio.h&gt;
+
+class ListenDND : public <a href="qobject.html">QObject</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ListenDND( <a href="qwidget.html">QWidget</a> *w )
+ : view( w )
+ {}
+
+public slots:
+ void dropped( <a href="qdropevent.html">QDropEvent</a> *mime ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( "Dropped Mimesource %p into the view %p", mime, view );
+ <a href="qapplication.html#qDebug">qDebug</a>( " Formats:" );
+ int i = 0;
+<a name="x1454"></a> const char *str = mime-&gt;<a href="qdropevent.html#format">format</a>( i );
+ <a href="qapplication.html#qDebug">qDebug</a>( " %s", str );
+ while ( str ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( " %s", str );
+ str = mime-&gt;<a href="qdropevent.html#format">format</a>( ++i );
+ }
+ };
+ void moved() {
+ <a href="qapplication.html#qDebug">qDebug</a>( "All selected items were moved to another widget" );
+ }
+
+protected:
+ <a href="qwidget.html">QWidget</a> *view;
+
+};
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qiconview.html">QIconView</a> qiconview;
+<a name="x1457"></a> qiconview.<a href="qiconview.html#setSelectionMode">setSelectionMode</a>( QIconView::Extended );
+
+ for ( unsigned int i = 0; i &lt; 3000; i++ ) {
+ <a href="qiconviewitem.html">QIconViewItem</a> *item = new <a href="qiconviewitem.html">QIconViewItem</a>( &amp;qiconview, QString( "Item %1" ).arg( i + 1 ) );
+<a name="x1459"></a> item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ }
+
+ qiconview.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Iconview" );
+
+ ListenDND listen_dnd( &amp;qiconview );
+<a name="x1460"></a><a name="x1455"></a> QObject::<a href="qobject.html#connect">connect</a>( &amp;qiconview, SIGNAL( <a href="qiconview.html#dropped">dropped</a>( <a href="qdropevent.html">QDropEvent</a> *, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt; &amp; ) ),
+ &amp;listen_dnd, SLOT( dropped( <a href="qdropevent.html">QDropEvent</a> * ) ) );
+<a name="x1456"></a> QObject::<a href="qobject.html#connect">connect</a>( &amp;qiconview, SIGNAL( <a href="qiconview.html#moved">moved</a>() ), &amp;listen_dnd, SLOT( moved() ) );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;qiconview );
+<a name="x1462"></a> qiconview.<a href="qwidget.html#show">show</a>();
+<a name="x1461"></a><a name="x1458"></a> qiconview.<a href="qwidget.html#resize">resize</a>( qiconview.<a href="qwidget.html#sizeHint">sizeHint</a>() );
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "main.moc"
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/iconview-simple_dd-main-cpp.html b/doc/html/iconview-simple_dd-main-cpp.html
new file mode 100644
index 0000000..da275bc
--- /dev/null
+++ b/doc/html/iconview-simple_dd-main-cpp.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:2258 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>iconview/simple_dd/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>iconview/simple_dd/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+const char* red_icon[]={
+"16 16 2 1",
+"r c red",
+". c None",
+"................",
+"................",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"................",
+"................"};
+
+const char* blue_icon[]={
+"16 16 2 1",
+"b c blue",
+". c None",
+"................",
+"................",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"................",
+"................"};
+
+const char* green_icon[]={
+"16 16 2 1",
+"g c green",
+". c None",
+"................",
+"................",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"................",
+"................"};
+
+
+// ListBox -- low level drag and drop
+
+<a name="f2"></a>DDListBox::DDListBox( <a href="qwidget.html">QWidget</a> * parent, const char * name, WFlags f ) :
+ <a href="qlistbox.html">QListBox</a>( parent, name, f )
+{
+ <a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>( TRUE );
+ dragging = FALSE;
+}
+
+
+<a name="x2829"></a>void DDListBox::<a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>( <a href="qdragenterevent.html">QDragEnterEvent</a> *evt )
+{
+<a name="x2827"></a> if ( QTextDrag::<a href="qtextdrag.html#canDecode">canDecode</a>( evt ) )
+<a name="x2819"></a> evt-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+}
+
+
+<a name="x2830"></a>void DDListBox::<a href="qwidget.html#dropEvent">dropEvent</a>( <a href="qdropevent.html">QDropEvent</a> *evt )
+{
+ <a href="qstring.html">QString</a> text;
+
+<a name="x2828"></a> if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, text ) )
+ <a href="qlistbox.html#insertItem">insertItem</a>( text );
+}
+
+
+<a name="x2832"></a>void DDListBox::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *evt )
+{
+ QListBox::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( evt );
+ dragging = TRUE;
+}
+
+
+<a name="x2831"></a>void DDListBox::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ if ( dragging ) {
+ <a href="qdragobject.html">QDragObject</a> *d = new <a href="qtextdrag.html">QTextDrag</a>( currentText(), this );
+<a name="x2818"></a> d-&gt;<a href="qdragobject.html#dragCopy">dragCopy</a>(); // do NOT delete d.
+ dragging = FALSE;
+ }
+}
+
+
+// IconViewIcon -- high level drag and drop
+
+
+<a name="x2822"></a>bool DDIconViewItem::<a href="qiconviewitem.html#acceptDrop">acceptDrop</a>( const <a href="qmimesource.html">QMimeSource</a> *mime ) const
+{
+<a name="x2825"></a> if ( mime-&gt;<a href="qmimesource.html#provides">provides</a>( "text/plain" ) )
+ return TRUE;
+ return FALSE;
+}
+
+
+<a name="x2823"></a>void DDIconViewItem::<a href="qiconviewitem.html#dropped">dropped</a>( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; )
+{
+ <a href="qstring.html">QString</a> label;
+
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, label ) )
+ setText( label );
+}
+
+
+// IconView -- high level drag and drop
+
+<a name="x2820"></a>QDragObject *DDIconView::<a href="qiconview.html#dragObject">dragObject</a>()
+{
+ return new <a href="qtextdrag.html">QTextDrag</a>( <a href="qiconview.html#currentItem">currentItem</a>()-&gt;text(), this );
+}
+
+void <a name="f1"></a>DDIconView::slotNewItem( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; )
+{
+ <a href="qstring.html">QString</a> label;
+
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, label ) ) {
+ DDIconViewItem *item = new DDIconViewItem( this, label );
+<a name="x2824"></a> item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ }
+}
+
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ // Create and show the widgets
+ <a href="qsplitter.html">QSplitter</a> *split = new <a href="qsplitter.html">QSplitter</a>();
+ DDIconView *iv = new DDIconView( split );
+ (void) new DDListBox( split );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( split );
+ split-&gt;<a href="qwidget.html#resize">resize</a>( 600, 400 );
+ split-&gt;<a href="qwidget.html#show">show</a>();
+
+ // Set up the connection so that we can drop items into the icon view
+ QObject::<a href="qobject.html#connect">connect</a>(
+<a name="x2821"></a> iv, SIGNAL(<a href="qiconview.html#dropped">dropped</a>(QDropEvent*, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp;)),
+ iv, SLOT(slotNewItem(QDropEvent*, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp;)));
+
+ // Populate the QIconView with icons
+ DDIconViewItem *item;
+ item = new DDIconViewItem( iv, "Red", QPixmap( red_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ item = new DDIconViewItem( iv, "Green", QPixmap( green_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ item = new DDIconViewItem( iv, "Blue", QPixmap( blue_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/iconview-simple_dd-main-h.html b/doc/html/iconview-simple_dd-main-h.html
new file mode 100644
index 0000000..f4de378
--- /dev/null
+++ b/doc/html/iconview-simple_dd-main-h.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:2257 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>iconview/simple_dd/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>iconview/simple_dd/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+class QDragEnterEvent;
+class QDragDropEvent;
+
+
+class DDListBox : public <a href="qlistbox.html">QListBox</a>
+{
+ Q_OBJECT
+public:
+ DDListBox( <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, WFlags f = 0 );
+ // Low-level drag and drop
+ void dragEnterEvent( <a href="qdragenterevent.html">QDragEnterEvent</a> *evt );
+ void dropEvent( <a href="qdropevent.html">QDropEvent</a> *evt );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *evt );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+private:
+ int dragging;
+};
+
+
+class DDIconViewItem : public <a href="qiconviewitem.html">QIconViewItem</a>
+{
+public:
+ DDIconViewItem( <a href="qiconview.html">QIconView</a> *parent, const <a href="qstring.html">QString</a>&amp; text, const <a href="qpixmap.html">QPixmap</a>&amp; icon ) :
+ <a href="qiconviewitem.html">QIconViewItem</a>( parent, text, icon ) {}
+ DDIconViewItem( <a href="qiconview.html">QIconView</a> *parent, const <a href="qstring.html">QString</a> &amp;text ) :
+ <a href="qiconviewitem.html">QIconViewItem</a>( parent, text ) {}
+ // High-level drag and drop
+ bool acceptDrop( const <a href="qmimesource.html">QMimeSource</a> *mime ) const;
+ void dropped( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; );
+};
+
+
+class DDIconView : public <a href="qiconview.html">QIconView</a>
+{
+ Q_OBJECT
+public:
+ DDIconView( <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, WFlags f = 0 ) :
+ <a href="qiconview.html">QIconView</a>( parent, name, f ) {}
+ // High-level drag and drop
+ <a href="qdragobject.html">QDragObject</a> *dragObject();
+public slots:
+ void slotNewItem( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; list );
+};
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/iconview.html b/doc/html/iconview.html
new file mode 100644
index 0000000..ceeae7f
--- /dev/null
+++ b/doc/html/iconview.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/modules.doc:71 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>IconView Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>IconView Module</h1>
+
+
+
+<p> The icon view module provides a powerful visualization widget called
+<a href="qiconview.html">QIconView</a>. API and feature-wise it is similar to <a href="qlistview.html">QListView</a> and
+<a href="qlistbox.html">QListBox</a>. It contains optionally labelled pixmap items that the user
+can select, drag around, rename, delete, etc.
+<p> <center><a href="qiconview.html"><img src="qiconview-w.png" alt="Screenshot of QIconVIew"></a></center>
+<p> Please see the <a href="qiconview.html">class documentation</a> for
+details.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/images.html b/doc/html/images.html
new file mode 100644
index 0000000..6c0598d
--- /dev/null
+++ b/doc/html/images.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:614 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Image Processing Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Image Processing Classes</h1>
+
+
+<p> These classes are used for manipulating images.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbitmap.html">QBitmap</a></b><td>Monochrome (1-bit depth) pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qbrush.html">QBrush</a></b><td>Defines the fill pattern of shapes drawn by a QPainter
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvas.html">QCanvas</a></b><td>2D area that can contain QCanvasItem objects
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasellipse.html">QCanvasEllipse</a></b><td>Ellipse or ellipse segment on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitem.html">QCanvasItem</a></b><td>Abstract graphic object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasitemlist.html">QCanvasItemList</a></b><td>List of QCanvasItems
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasline.html">QCanvasLine</a></b><td>Line on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmap.html">QCanvasPixmap</a></b><td>Pixmaps for QCanvasSprites
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a></b><td>Array of QCanvasPixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygon.html">QCanvasPolygon</a></b><td>Polygon on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a></b><td>Polygonal canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasrectangle.html">QCanvasRectangle</a></b><td>Rectangle on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasspline.html">QCanvasSpline</a></b><td>Multi-bezier splines on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvassprite.html">QCanvasSprite</a></b><td>Animated canvas item on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvastext.html">QCanvasText</a></b><td>Text object on a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcanvasview.html">QCanvasView</a></b><td>On-screen view of a QCanvas
+<tr bgcolor=#f0f0f0><td><b><a href="qcolor.html">QColor</a></b><td>Colors based on RGB or HSV values
+<tr bgcolor=#f0f0f0><td><b><a href="qcolorgroup.html">QColorGroup</a></b><td>Group of widget colors
+<tr bgcolor=#f0f0f0><td><b><a href="qgl.html">QGL</a></b><td>Namespace for miscellaneous identifiers in the Qt OpenGL module
+<tr bgcolor=#f0f0f0><td><b><a href="qglcolormap.html">QGLColormap</a></b><td>Used for installing custom colormaps into QGLWidgets
+<tr bgcolor=#f0f0f0><td><b><a href="qglcontext.html">QGLContext</a></b><td>Encapsulates an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglformat.html">QGLFormat</a></b><td>The display format of an OpenGL rendering context
+<tr bgcolor=#f0f0f0><td><b><a href="qglwidget.html">QGLWidget</a></b><td>Widget for rendering OpenGL graphics
+<tr bgcolor=#f0f0f0><td><b><a href="qiconset.html">QIconSet</a></b><td>Set of icons with different styles and sizes
+<tr bgcolor=#f0f0f0><td><b><a href="qimage.html">QImage</a></b><td>Hardware-independent pixmap representation with direct access to the pixel data
+<tr bgcolor=#f0f0f0><td><b><a href="qimageconsumer.html">QImageConsumer</a></b><td>Abstraction used by QImageDecoder
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedecoder.html">QImageDecoder</a></b><td>Incremental image decoder for all supported image formats
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformat.html">QImageFormat</a></b><td>Incremental image decoder for a specific image format
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformattype.html">QImageFormatType</a></b><td>Factory that makes QImageFormat objects
+<tr bgcolor=#f0f0f0><td><b><a href="qimageio.html">QImageIO</a></b><td>Parameters for loading and saving images
+<tr bgcolor=#f0f0f0><td><b><a href="qmovie.html">QMovie</a></b><td>Incremental loading of animations or images, signalling as it progresses
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevice.html">QPaintDevice</a></b><td>The base class of objects that can be painted
+<tr bgcolor=#f0f0f0><td><b><a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a></b><td>Information about a paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpainter.html">QPainter</a></b><td>Does low-level painting e.g. on widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qpalette.html">QPalette</a></b><td>Color groups for each widget state
+<tr bgcolor=#f0f0f0><td><b><a href="qpen.html">QPen</a></b><td>Defines how a QPainter should draw lines and outlines of shapes
+<tr bgcolor=#f0f0f0><td><b><a href="qpicture.html">QPicture</a></b><td>Paint device that records and replays QPainter commands
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmap.html">QPixmap</a></b><td>Off-screen, pixel-based paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmapcache.html">QPixmapCache</a></b><td>Application-global cache for pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qpngimagepacker.html">QPNGImagePacker</a></b><td>Creates well-compressed PNG animations
+<tr bgcolor=#f0f0f0><td><b><a href="qpoint.html">QPoint</a></b><td>Defines a point in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qpointarray.html">QPointArray</a></b><td>Array of points
+<tr bgcolor=#f0f0f0><td><b><a href="qprinter.html">QPrinter</a></b><td>Paint device that paints on a printer
+<tr bgcolor=#f0f0f0><td><b><a href="qrect.html">QRect</a></b><td>Defines a rectangle in the plane
+<tr bgcolor=#f0f0f0><td><b><a href="qregion.html">QRegion</a></b><td>Clip region for a painter
+<tr bgcolor=#f0f0f0><td><b><a href="qsize.html">QSize</a></b><td>Defines the size of a two-dimensional object
+<tr bgcolor=#f0f0f0><td><b><a href="qwmatrix.html">QWMatrix</a></b><td>2D transformations of a coordinate system
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/index b/doc/html/index
new file mode 100644
index 0000000..cc7ca30
--- /dev/null
+++ b/doc/html/index
@@ -0,0 +1,8446 @@
+"3rd Party Licenses used in Qt" 3rdparty.html
+"A Complete Application Window" simple-application-example.html
+"A Complete Application Window with Actions" qaction-application-example.html
+"A Complete Canvas Application" canvas-chart-example.html
+"A Directory Browser" dirview-example.html
+"A Motif Dialog" motif-dialog-example.html
+"A Qt example as a scriptable ActiveX control (executable)" qaxserver-example-tetrax.html
+"A Rectangle Draw \"Benchmark\"" forever-example.html
+"A Small Application for Testing Regular Expressions" regexptester-example.html
+"A Tiny Example Featuring a Toggle Action" toggleaction-example.html
+"A Tiny QTL Example" qtl-qvaluelist-example.html
+"A Web Browser" qaxcontainer-example-webbrowser.html
+"A qt-interest mail archive search" archivesearch-example.html
+"A simple ActiveQt control (executable)" qaxserver-example-simple.html
+"A simple HTTP daemon" httpd-example.html
+"A simple NNTP implementation" networkprotocol-example.html
+"A simple demonstration of QFont member functions" simple-font-demo-example.html
+"A simple mail client" mail-example.html
+"A small client-server example" clientserver-example.html
+"A standard ActiveX and the \"simple\" ActiveQt widget." qaxserver-demo-simple.html
+"A tiny SAX2 parser" tagreader-example.html
+"About Modules" modules.html
+"About Qt" aboutqt.html
+"About Unicode" unicode.html
+"About the Visual Studio Integration Plugin" integration.html
+"ActiveQt Examples" activeqt-examples.html
+"Adding an accelerated graphics driver to Qt/Embedded" emb-accel.html
+"Advanced use of tool tips" tooltip-example.html
+"All Overviews and HOWTOs" overviews-list.html
+"An ActiveX Test Container" activeqt-tools-testcon.html
+"An Extension Dialog Example" extension-dialog-example.html
+"An FTP client" ftpclient-example.html
+"An MDI Application" mdi-example.html
+"Analog Clock" aclock-example.html
+"Annotated Class Index" annotated.html
+"Biff (UNIX only)" biff-example.html
+"Books about GUI" guibooks.html
+"Brief Technical FAQ" commonproblems.html
+"Buttons and Groupboxes" buttongroups-example.html
+"Canvas Control" tutorial2-06.html
+"Canvas Example" canvas-example.html
+"Canvas Module" canvas.html
+"Character input in Qt/Embedded" emb-charinput.html
+"Class Inheritance Hierarchy" hierarchy.html
+"Company Information" troll.html
+"Connect the Points" drawlines-example.html
+"Continuing Development" motif-walkthrough-10.html
+"Conway's Game of Life" life-example.html
+"Cursors" cursor-example.html
+"Customized Layoutmanager" customlayout-example.html
+"Data Elements" tutorial2-03.html
+"Debugging Techniques" debug.html
+"Demonstration of SAX2 features" tagreader-with-features-example.html
+"Deploying Qt Applications" distributingqt.html
+"Digital Clock" dclock-example.html
+"Drag and Drop" dnd.html
+"Drag and Drop" dragdrop-example.html
+"Drag and Drop (Simple)" simple_dd-example.html
+"Draw Demo" drawdemo-example.html
+"Enabling the Linux Framebuffer" emb-framebuffer-howto.html
+"Events and Event Filters" eventsandfilters.html
+"File Handling" tutorial2-07.html
+"Font Displayer" qfd-example.html
+"Fonts in Qt/Embedded" emb-fonts.html
+"Format of the QDataStream Operators" datastreamformat.html
+"Functions removed in Qt 2.0" removed20.html
+"GNU General Public License" gpl.html
+"Getting Started" motif-walkthrough-1.html
+"Grapher Plugin" grapher-nsplugin-example.html
+"Grouped Classes" groups.html
+"Header File Index" headers.html
+"Hello, World" hello-example.html
+"Helpsystem" helpsystem-example.html
+"How to Learn Qt" how-to-learn-qt.html
+"How to Report A Bug" bughowto.html
+"How to create a large, sparse QTable" bigtable-example.html
+"How to use X11 overlays with the Qt OpenGL extension" opengl-x11-overlays.html
+"IconView Module" iconview.html
+"Iconview" iconview-example.html
+"In Sync with Outlook" qaxcontainer-example-qutlook.html
+"Installation" installation.html
+"Installing Qt/Embedded" emb-install.html
+"Installing Qt/Mac" install-mac.html
+"Installing Qt/Windows" install-win.html
+"Installing Qt/X11" install-x11.html
+"Internationalization" i18n-example.html
+"Introduction" tutorial2-01.html
+"Issues to be aware of when porting Qt/Embedded" embedporting.html
+"Key Features in Qt 3.0" keyfeatures30.html
+"Keyboard Focus Overview" focus.html
+"KeyboardFilter" keyboardfilter.html
+"Layout Classes" layout.html
+"Layout Managers" layout-example.html
+"Licenses for Code Used in Qt" licenses.html
+"Line Edits" lineedits-example.html
+"Listbox Example" listbox-example.html
+"Listboxes and Comboboxes" listboxcombo-example.html
+"Listviews" listviews-example.html
+"Listviews with Checkable Items" checklists-example.html
+"Mainly Easy" tutorial2-04.html
+"Member Function Index" functions.html
+"Menubar merging" qaxserver-demo-menus.html
+"Menubar merging" qaxserver-example-menus.html
+"Meta Object System" metaobjects.html
+"Movies or the Story of the Animated GIF file" movies-example.html
+"Network Module" network.html
+"Object Trees and Object Ownership" objecttrees.html
+"OpenGL Box Example" opengl-box-example.html
+"OpenGL Gear Example" opengl-gear-example.html
+"OpenGL Overlay Example" opengl-overlay-example.html
+"OpenGL Overlay X11 Example" opengl-overlay-x11-example.html
+"OpenGL Pixmap Example" opengl-pixmap-example.html
+"OpenGL Shared Box Example" opengl-sharedbox-example.html
+"OpenGL Texture Example" opengl-texture-example.html
+"OpenGL in an HTML page" qaxserver-demo-opengl.html
+"Outliner to show use of DOM" outliner-example.html
+"Painting on the Desktop" desktop-example.html
+"Picture" picture-example.html
+"Pictures of Most Qt Widgets" pictures.html
+"Play Tetrix!" qaxserver-demo-tetrax.html
+"Popup Widgets" popup-example.html
+"Porting to Qt 2.x" porting2.html
+"Porting to Qt 3.x" porting.html
+"Porting your applications to Qt/Embedded" emb-porting.html
+"Preparing to Migrate the User Interface" motif-walkthrough-2.html
+"Presenting the GUI" tutorial2-05.html
+"Progress Bar" progressbar-example.html
+"Progress Bar and Dialog Example" progress-example.html
+"Properties" properties.html
+"QAccel" qaccel.html
+"QAccel::activated" qaccel.html#activated
+"QAccel::activatedAmbiguously" qaccel.html#activatedAmbiguously
+"QAccel::clear" qaccel.html#clear
+"QAccel::connectItem" qaccel.html#connectItem
+"QAccel::count" qaccel.html#count
+"QAccel::disconnectItem" qaccel.html#disconnectItem
+"QAccel::findKey" qaccel.html#findKey
+"QAccel::insertItem" qaccel.html#insertItem
+"QAccel::isEnabled" qaccel.html#isEnabled
+"QAccel::isItemEnabled" qaccel.html#isItemEnabled
+"QAccel::key" qaccel.html#key
+"QAccel::removeItem" qaccel.html#removeItem
+"QAccel::setEnabled" qaccel.html#setEnabled
+"QAccel::setItemEnabled" qaccel.html#setItemEnabled
+"QAccel::setWhatsThis" qaccel.html#setWhatsThis
+"QAccel::shortcutKey" qaccel.html#shortcutKey
+"QAccel::whatsThis" qaccel.html#whatsThis
+"QAccel::~QAccel" qaccel.html#~QAccel
+"QAccessible" qaccessible.html
+"QAccessible::Event" qaccessible.html#Event
+"QAccessible::NavDirection" qaccessible.html#NavDirection
+"QAccessible::Role" qaccessible.html#Role
+"QAccessible::State" qaccessible.html#State
+"QAccessible::Text" qaccessible.html#Text
+"QAccessible::isActive" qaccessible.html#isActive
+"QAccessible::queryAccessibleInterface" qaccessible.html#queryAccessibleInterface
+"QAccessible::updateAccessibility" qaccessible.html#updateAccessibility
+"QAccessibleInterface" qaccessibleinterface.html
+"QAccessibleInterface::childCount" qaccessibleinterface.html#childCount
+"QAccessibleInterface::clearSelection" qaccessibleinterface.html#clearSelection
+"QAccessibleInterface::controlAt" qaccessibleinterface.html#controlAt
+"QAccessibleInterface::doDefaultAction" qaccessibleinterface.html#doDefaultAction
+"QAccessibleInterface::isValid" qaccessibleinterface.html#isValid
+"QAccessibleInterface::navigate" qaccessibleinterface.html#navigate
+"QAccessibleInterface::queryChild" qaccessibleinterface.html#queryChild
+"QAccessibleInterface::queryParent" qaccessibleinterface.html#queryParent
+"QAccessibleInterface::rect" qaccessibleinterface.html#rect
+"QAccessibleInterface::role" qaccessibleinterface.html#role
+"QAccessibleInterface::selection" qaccessibleinterface.html#selection
+"QAccessibleInterface::setFocus" qaccessibleinterface.html#setFocus
+"QAccessibleInterface::setSelected" qaccessibleinterface.html#setSelected
+"QAccessibleInterface::setText" qaccessibleinterface.html#setText
+"QAccessibleInterface::state" qaccessibleinterface.html#state
+"QAccessibleInterface::text" qaccessibleinterface.html#text
+"QAccessibleObject" qaccessibleobject.html
+"QAccessibleObject::object" qaccessibleobject.html#object
+"QAccessibleObject::~QAccessibleObject" qaccessibleobject.html#~QAccessibleObject
+"QAction" qaction.html
+"QAction::accel" qaction.html#accel
+"QAction::accel" qaction.html#accel-prop
+"QAction::activate" qaction.html#activate
+"QAction::activated" qaction.html#activated
+"QAction::addTo" qaction.html#addTo
+"QAction::addedTo" qaction.html#addedTo
+"QAction::clearStatusText" qaction.html#clearStatusText
+"QAction::enabled" qaction.html#enabled-prop
+"QAction::iconSet" qaction.html#iconSet
+"QAction::iconSet" qaction.html#iconSet-prop
+"QAction::isEnabled" qaction.html#isEnabled
+"QAction::isOn" qaction.html#isOn
+"QAction::isToggleAction" qaction.html#isToggleAction
+"QAction::isVisible" qaction.html#isVisible
+"QAction::menuStatusText" qaction.html#menuStatusText
+"QAction::menuText" qaction.html#menuText
+"QAction::menuText" qaction.html#menuText-prop
+"QAction::on" qaction.html#on-prop
+"QAction::removeFrom" qaction.html#removeFrom
+"QAction::setAccel" qaction.html#setAccel
+"QAction::setDisabled" qaction.html#setDisabled
+"QAction::setEnabled" qaction.html#setEnabled
+"QAction::setIconSet" qaction.html#setIconSet
+"QAction::setMenuText" qaction.html#setMenuText
+"QAction::setOn" qaction.html#setOn
+"QAction::setStatusTip" qaction.html#setStatusTip
+"QAction::setText" qaction.html#setText
+"QAction::setToggleAction" qaction.html#setToggleAction
+"QAction::setToolTip" qaction.html#setToolTip
+"QAction::setVisible" qaction.html#setVisible
+"QAction::setWhatsThis" qaction.html#setWhatsThis
+"QAction::showStatusText" qaction.html#showStatusText
+"QAction::statusTip" qaction.html#statusTip
+"QAction::statusTip" qaction.html#statusTip-prop
+"QAction::text" qaction.html#text
+"QAction::text" qaction.html#text-prop
+"QAction::toggle" qaction.html#toggle
+"QAction::toggleAction" qaction.html#toggleAction-prop
+"QAction::toggled" qaction.html#toggled
+"QAction::toolTip" qaction.html#toolTip
+"QAction::toolTip" qaction.html#toolTip-prop
+"QAction::visible" qaction.html#visible-prop
+"QAction::whatsThis" qaction.html#whatsThis
+"QAction::whatsThis" qaction.html#whatsThis-prop
+"QAction::~QAction" qaction.html#~QAction
+"QActionGroup" qactiongroup.html
+"QActionGroup::add" qactiongroup.html#add
+"QActionGroup::addSeparator" qactiongroup.html#addSeparator
+"QActionGroup::addTo" qactiongroup.html#addTo
+"QActionGroup::exclusive" qactiongroup.html#exclusive-prop
+"QActionGroup::isExclusive" qactiongroup.html#isExclusive
+"QActionGroup::selected" qactiongroup.html#selected
+"QActionGroup::setExclusive" qactiongroup.html#setExclusive
+"QActionGroup::setUsesDropDown" qactiongroup.html#setUsesDropDown
+"QActionGroup::usesDropDown" qactiongroup.html#usesDropDown
+"QActionGroup::usesDropDown" qactiongroup.html#usesDropDown-prop
+"QActionGroup::~QActionGroup" qactiongroup.html#~QActionGroup
+"QApplication" qapplication.html
+"QApplication::ColorSpec" qapplication.html#ColorSpec
+"QApplication::Encoding" qapplication.html#Encoding
+"QApplication::Type" qapplication.html#Type
+"QApplication::aboutQt" qapplication.html#aboutQt
+"QApplication::aboutToQuit" qapplication.html#aboutToQuit
+"QApplication::activeModalWidget" qapplication.html#activeModalWidget
+"QApplication::activePopupWidget" qapplication.html#activePopupWidget
+"QApplication::activeWindow" qapplication.html#activeWindow
+"QApplication::addLibraryPath" qapplication.html#addLibraryPath
+"QApplication::allWidgets" qapplication.html#allWidgets
+"QApplication::applicationDirPath" qapplication.html#applicationDirPath
+"QApplication::applicationFilePath" qapplication.html#applicationFilePath
+"QApplication::argc" qapplication.html#argc
+"QApplication::argv" qapplication.html#argv
+"QApplication::beep" qapplication.html#beep
+"QApplication::clipboard" qapplication.html#clipboard
+"QApplication::closeAllWindows" qapplication.html#closeAllWindows
+"QApplication::closingDown" qapplication.html#closingDown
+"QApplication::colorSpec" qapplication.html#colorSpec
+"QApplication::commitData" qapplication.html#commitData
+"QApplication::cursorFlashTime" qapplication.html#cursorFlashTime
+"QApplication::desktop" qapplication.html#desktop
+"QApplication::desktopSettingsAware" qapplication.html#desktopSettingsAware
+"QApplication::doubleClickInterval" qapplication.html#doubleClickInterval
+"QApplication::eventLoop" qapplication.html#eventLoop
+"QApplication::exec" qapplication.html#exec
+"QApplication::exit" qapplication.html#exit
+"QApplication::flush" qapplication.html#flush
+"QApplication::flushX" qapplication.html#flushX
+"QApplication::focusWidget" qapplication.html#focusWidget
+"QApplication::font" qapplication.html#font
+"QApplication::fontMetrics" qapplication.html#fontMetrics
+"QApplication::globalStrut" qapplication.html#globalStrut
+"QApplication::guiThreadAwake" qapplication.html#guiThreadAwake
+"QApplication::hasGlobalMouseTracking" qapplication.html#hasGlobalMouseTracking
+"QApplication::hasPendingEvents" qapplication.html#hasPendingEvents
+"QApplication::horizontalAlignment" qapplication.html#horizontalAlignment
+"QApplication::initialize" qapplication.html#initialize
+"QApplication::installTranslator" qapplication.html#installTranslator
+"QApplication::isEffectEnabled" qapplication.html#isEffectEnabled
+"QApplication::isSessionRestored" qapplication.html#isSessionRestored
+"QApplication::lastWindowClosed" qapplication.html#lastWindowClosed
+"QApplication::libraryPaths" qapplication.html#libraryPaths
+"QApplication::lock" qapplication.html#lock
+"QApplication::locked" qapplication.html#locked
+"QApplication::macEventFilter" qapplication.html#macEventFilter
+"QApplication::mainWidget" qapplication.html#mainWidget
+"QApplication::notify" qapplication.html#notify
+"QApplication::overrideCursor" qapplication.html#overrideCursor
+"QApplication::palette" qapplication.html#palette
+"QApplication::polish" qapplication.html#polish
+"QApplication::postEvent" qapplication.html#postEvent
+"QApplication::processEvents" qapplication.html#processEvents
+"QApplication::quit" qapplication.html#quit
+"QApplication::qwsDecoration" qapplication.html#qwsDecoration
+"QApplication::qwsEventFilter" qapplication.html#qwsEventFilter
+"QApplication::qwsSetCustomColors" qapplication.html#qwsSetCustomColors
+"QApplication::qwsSetDecoration" qapplication.html#qwsSetDecoration
+"QApplication::removeLibraryPath" qapplication.html#removeLibraryPath
+"QApplication::removePostedEvent" qapplication.html#removePostedEvent
+"QApplication::removePostedEvents" qapplication.html#removePostedEvents
+"QApplication::removeTranslator" qapplication.html#removeTranslator
+"QApplication::restoreOverrideCursor" qapplication.html#restoreOverrideCursor
+"QApplication::reverseLayout" qapplication.html#reverseLayout
+"QApplication::saveState" qapplication.html#saveState
+"QApplication::sendEvent" qapplication.html#sendEvent
+"QApplication::sendPostedEvents" qapplication.html#sendPostedEvents
+"QApplication::sessionId" qapplication.html#sessionId
+"QApplication::sessionKey" qapplication.html#sessionKey
+"QApplication::setColorSpec" qapplication.html#setColorSpec
+"QApplication::setCursorFlashTime" qapplication.html#setCursorFlashTime
+"QApplication::setDesktopSettingsAware" qapplication.html#setDesktopSettingsAware
+"QApplication::setDoubleClickInterval" qapplication.html#setDoubleClickInterval
+"QApplication::setEffectEnabled" qapplication.html#setEffectEnabled
+"QApplication::setFont" qapplication.html#setFont
+"QApplication::setGlobalMouseTracking" qapplication.html#setGlobalMouseTracking
+"QApplication::setGlobalStrut" qapplication.html#setGlobalStrut
+"QApplication::setLibraryPaths" qapplication.html#setLibraryPaths
+"QApplication::setMainWidget" qapplication.html#setMainWidget
+"QApplication::setOverrideCursor" qapplication.html#setOverrideCursor
+"QApplication::setPalette" qapplication.html#setPalette
+"QApplication::setReverseLayout" qapplication.html#setReverseLayout
+"QApplication::setStartDragDistance" qapplication.html#setStartDragDistance
+"QApplication::setStartDragTime" qapplication.html#setStartDragTime
+"QApplication::setStyle" qapplication.html#setStyle
+"QApplication::setWheelScrollLines" qapplication.html#setWheelScrollLines
+"QApplication::startDragDistance" qapplication.html#startDragDistance
+"QApplication::startDragTime" qapplication.html#startDragTime
+"QApplication::startingUp" qapplication.html#startingUp
+"QApplication::style" qapplication.html#style
+"QApplication::syncX" qapplication.html#syncX
+"QApplication::topLevelWidgets" qapplication.html#topLevelWidgets
+"QApplication::translate" qapplication.html#translate
+"QApplication::tryLock" qapplication.html#tryLock
+"QApplication::type" qapplication.html#type
+"QApplication::unlock" qapplication.html#unlock
+"QApplication::wakeUpGuiThread" qapplication.html#wakeUpGuiThread
+"QApplication::wheelScrollLines" qapplication.html#wheelScrollLines
+"QApplication::widgetAt" qapplication.html#widgetAt
+"QApplication::winEventFilter" qapplication.html#winEventFilter
+"QApplication::winFocus" qapplication.html#winFocus
+"QApplication::x11EventFilter" qapplication.html#x11EventFilter
+"QApplication::x11ProcessEvent" qapplication.html#x11ProcessEvent
+"QApplication::~QApplication" qapplication.html#~QApplication
+"QArray Class Reference (obsolete)" qarray.html
+"QAsciiCache" qasciicache.html
+"QAsciiCache::clear" qasciicache.html#clear
+"QAsciiCache::count" qasciicache.html#count
+"QAsciiCache::find" qasciicache.html#find
+"QAsciiCache::insert" qasciicache.html#insert
+"QAsciiCache::isEmpty" qasciicache.html#isEmpty
+"QAsciiCache::maxCost" qasciicache.html#maxCost
+"QAsciiCache::operator[]" qasciicache.html#operator[]
+"QAsciiCache::remove" qasciicache.html#remove
+"QAsciiCache::setMaxCost" qasciicache.html#setMaxCost
+"QAsciiCache::size" qasciicache.html#size
+"QAsciiCache::statistics" qasciicache.html#statistics
+"QAsciiCache::take" qasciicache.html#take
+"QAsciiCache::totalCost" qasciicache.html#totalCost
+"QAsciiCache::~QAsciiCache" qasciicache.html#~QAsciiCache
+"QAsciiCacheIterator" qasciicacheiterator.html
+"QAsciiCacheIterator::atFirst" qasciicacheiterator.html#atFirst
+"QAsciiCacheIterator::atLast" qasciicacheiterator.html#atLast
+"QAsciiCacheIterator::count" qasciicacheiterator.html#count
+"QAsciiCacheIterator::current" qasciicacheiterator.html#current
+"QAsciiCacheIterator::currentKey" qasciicacheiterator.html#currentKey
+"QAsciiCacheIterator::isEmpty" qasciicacheiterator.html#isEmpty
+"QAsciiCacheIterator::operator type *" qasciicacheiterator.html#operator-type-*
+"QAsciiCacheIterator::operator()" qasciicacheiterator.html#operator()
+"QAsciiCacheIterator::operator++" qasciicacheiterator.html#operator++
+"QAsciiCacheIterator::operator+=" qasciicacheiterator.html#operator+-eq
+"QAsciiCacheIterator::operator--" qasciicacheiterator.html#operator--
+"QAsciiCacheIterator::operator-=" qasciicacheiterator.html#operator--eq
+"QAsciiCacheIterator::operator=" qasciicacheiterator.html#operator-eq
+"QAsciiCacheIterator::toFirst" qasciicacheiterator.html#toFirst
+"QAsciiCacheIterator::toLast" qasciicacheiterator.html#toLast
+"QAsciiDict" qasciidict.html
+"QAsciiDict::clear" qasciidict.html#clear
+"QAsciiDict::count" qasciidict.html#count
+"QAsciiDict::find" qasciidict.html#find
+"QAsciiDict::insert" qasciidict.html#insert
+"QAsciiDict::isEmpty" qasciidict.html#isEmpty
+"QAsciiDict::operator=" qasciidict.html#operator-eq
+"QAsciiDict::operator[]" qasciidict.html#operator[]
+"QAsciiDict::read" qasciidict.html#read
+"QAsciiDict::remove" qasciidict.html#remove
+"QAsciiDict::replace" qasciidict.html#replace
+"QAsciiDict::resize" qasciidict.html#resize
+"QAsciiDict::size" qasciidict.html#size
+"QAsciiDict::statistics" qasciidict.html#statistics
+"QAsciiDict::take" qasciidict.html#take
+"QAsciiDict::write" qasciidict.html#write
+"QAsciiDict::~QAsciiDict" qasciidict.html#~QAsciiDict
+"QAsciiDictIterator" qasciidictiterator.html
+"QAsciiDictIterator::count" qasciidictiterator.html#count
+"QAsciiDictIterator::current" qasciidictiterator.html#current
+"QAsciiDictIterator::currentKey" qasciidictiterator.html#currentKey
+"QAsciiDictIterator::isEmpty" qasciidictiterator.html#isEmpty
+"QAsciiDictIterator::operator type *" qasciidictiterator.html#operator-type-*
+"QAsciiDictIterator::operator()" qasciidictiterator.html#operator()
+"QAsciiDictIterator::operator++" qasciidictiterator.html#operator++
+"QAsciiDictIterator::operator+=" qasciidictiterator.html#operator+-eq
+"QAsciiDictIterator::toFirst" qasciidictiterator.html#toFirst
+"QAsciiDictIterator::~QAsciiDictIterator" qasciidictiterator.html#~QAsciiDictIterator
+"QAssistantClient" qassistantclient.html
+"QAssistantClient::assistantClosed" qassistantclient.html#assistantClosed
+"QAssistantClient::assistantOpened" qassistantclient.html#assistantOpened
+"QAssistantClient::closeAssistant" qassistantclient.html#closeAssistant
+"QAssistantClient::error" qassistantclient.html#error
+"QAssistantClient::isOpen" qassistantclient.html#isOpen
+"QAssistantClient::open" qassistantclient.html#open-prop
+"QAssistantClient::openAssistant" qassistantclient.html#openAssistant
+"QAssistantClient::setArguments" qassistantclient.html#setArguments
+"QAssistantClient::showPage" qassistantclient.html#showPage
+"QAssistantClient::~QAssistantClient" qassistantclient.html#~QAssistantClient
+"QAsyncIO::connect" qasyncio.html#connect
+"QAsyncIO::ready" qasyncio.html#ready
+"QAsyncIO::~QAsyncIO" qasyncio.html#~QAsyncIO
+"QAuServer::bucket" qauserver.html#bucket
+"QAuServer::decLoop" qauserver.html#decLoop
+"QAuServer::init" qauserver.html#init
+"QAuServer::setBucket" qauserver.html#setBucket
+"QAxAggregated" qaxaggregated.html
+"QAxAggregated::controllingUnknown" qaxaggregated.html#controllingUnknown
+"QAxAggregated::object" qaxaggregated.html#object
+"QAxAggregated::queryInterface" qaxaggregated.html#queryInterface
+"QAxAggregated::widget" qaxaggregated.html#widget
+"QAxBase" qaxbase.html
+"QAxBase::PropertyBag" qaxbase.html#PropertyBag
+"QAxBase::asVariant" qaxbase.html#asVariant
+"QAxBase::clear" qaxbase.html#clear
+"QAxBase::control" qaxbase.html#control
+"QAxBase::control" qaxbase.html#control-prop
+"QAxBase::disableClassInfo" qaxbase.html#disableClassInfo
+"QAxBase::disableEventSink" qaxbase.html#disableEventSink
+"QAxBase::disableMetaObject" qaxbase.html#disableMetaObject
+"QAxBase::dynamicCall" qaxbase.html#dynamicCall
+"QAxBase::exception" qaxbase.html#exception
+"QAxBase::generateDocumentation" qaxbase.html#generateDocumentation
+"QAxBase::initialize" qaxbase.html#initialize
+"QAxBase::initializeActive" qaxbase.html#initializeActive
+"QAxBase::initializeLicensed" qaxbase.html#initializeLicensed
+"QAxBase::initializeRemote" qaxbase.html#initializeRemote
+"QAxBase::isNull" qaxbase.html#isNull
+"QAxBase::propertyBag" qaxbase.html#propertyBag
+"QAxBase::propertyChanged" qaxbase.html#propertyChanged
+"QAxBase::propertyWritable" qaxbase.html#propertyWritable
+"QAxBase::queryInterface" qaxbase.html#queryInterface
+"QAxBase::querySubObject" qaxbase.html#querySubObject
+"QAxBase::setControl" qaxbase.html#setControl
+"QAxBase::setPropertyBag" qaxbase.html#setPropertyBag
+"QAxBase::setPropertyWritable" qaxbase.html#setPropertyWritable
+"QAxBase::signal" qaxbase.html#signal
+"QAxBase::~QAxBase" qaxbase.html#~QAxBase
+"QAxBindable" qaxbindable.html
+"QAxBindable::clientSite" qaxbindable.html#clientSite
+"QAxBindable::createAggregate" qaxbindable.html#createAggregate
+"QAxBindable::propertyChanged" qaxbindable.html#propertyChanged
+"QAxBindable::reportError" qaxbindable.html#reportError
+"QAxBindable::requestPropertyChange" qaxbindable.html#requestPropertyChange
+"QAxBindable::~QAxBindable" qaxbindable.html#~QAxBindable
+"QAxFactory" qaxfactory.html
+"QAxFactory::ServerType" qaxfactory.html#ServerType
+"QAxFactory::appID" qaxfactory.html#appID
+"QAxFactory::classID" qaxfactory.html#classID
+"QAxFactory::create" qaxfactory.html#create
+"QAxFactory::createObject" qaxfactory.html#createObject
+"QAxFactory::createObjectWrapper" qaxfactory.html#createObjectWrapper
+"QAxFactory::eventsID" qaxfactory.html#eventsID
+"QAxFactory::exposeToSuperClass" qaxfactory.html#exposeToSuperClass
+"QAxFactory::featureList" qaxfactory.html#featureList
+"QAxFactory::hasStockEvents" qaxfactory.html#hasStockEvents
+"QAxFactory::interfaceID" qaxfactory.html#interfaceID
+"QAxFactory::isServer" qaxfactory.html#isServer
+"QAxFactory::isService" qaxfactory.html#isService
+"QAxFactory::metaObject" qaxfactory.html#metaObject
+"QAxFactory::registerClass" qaxfactory.html#registerClass
+"QAxFactory::serverDirPath" qaxfactory.html#serverDirPath
+"QAxFactory::serverFilePath" qaxfactory.html#serverFilePath
+"QAxFactory::startServer" qaxfactory.html#startServer
+"QAxFactory::stayTopLevel" qaxfactory.html#stayTopLevel
+"QAxFactory::stopServer" qaxfactory.html#stopServer
+"QAxFactory::typeLibID" qaxfactory.html#typeLibID
+"QAxFactory::unregisterClass" qaxfactory.html#unregisterClass
+"QAxFactory::validateLicenseKey" qaxfactory.html#validateLicenseKey
+"QAxFactory::~QAxFactory" qaxfactory.html#~QAxFactory
+"QAxObject" qaxobject.html
+"QAxObject::~QAxObject" qaxobject.html#~QAxObject
+"QAxScript" qaxscript.html
+"QAxScript::FunctionFlags" qaxscript.html#FunctionFlags
+"QAxScript::call" qaxscript.html#call
+"QAxScript::entered" qaxscript.html#entered
+"QAxScript::error" qaxscript.html#error
+"QAxScript::finished" qaxscript.html#finished
+"QAxScript::functions" qaxscript.html#functions
+"QAxScript::load" qaxscript.html#load
+"QAxScript::scriptCode" qaxscript.html#scriptCode
+"QAxScript::scriptEngine" qaxscript.html#scriptEngine
+"QAxScript::scriptName" qaxscript.html#scriptName
+"QAxScript::stateChanged" qaxscript.html#stateChanged
+"QAxScript::~QAxScript" qaxscript.html#~QAxScript
+"QAxScriptEngine" qaxscriptengine.html
+"QAxScriptEngine::State" qaxscriptengine.html#State
+"QAxScriptEngine::addItem" qaxscriptengine.html#addItem
+"QAxScriptEngine::hasIntrospection" qaxscriptengine.html#hasIntrospection
+"QAxScriptEngine::isValid" qaxscriptengine.html#isValid
+"QAxScriptEngine::queryInterface" qaxscriptengine.html#queryInterface
+"QAxScriptEngine::scriptLanguage" qaxscriptengine.html#scriptLanguage
+"QAxScriptEngine::setState" qaxscriptengine.html#setState
+"QAxScriptEngine::state" qaxscriptengine.html#state
+"QAxScriptEngine::~QAxScriptEngine" qaxscriptengine.html#~QAxScriptEngine
+"QAxScriptManager" qaxscriptmanager.html
+"QAxScriptManager::addObject" qaxscriptmanager.html#addObject
+"QAxScriptManager::call" qaxscriptmanager.html#call
+"QAxScriptManager::error" qaxscriptmanager.html#error
+"QAxScriptManager::functions" qaxscriptmanager.html#functions
+"QAxScriptManager::load" qaxscriptmanager.html#load
+"QAxScriptManager::registerEngine" qaxscriptmanager.html#registerEngine
+"QAxScriptManager::script" qaxscriptmanager.html#script
+"QAxScriptManager::scriptFileFilter" qaxscriptmanager.html#scriptFileFilter
+"QAxScriptManager::scriptNames" qaxscriptmanager.html#scriptNames
+"QAxScriptManager::~QAxScriptManager" qaxscriptmanager.html#~QAxScriptManager
+"QAxWidget" qaxwidget.html
+"QAxWidget::createHostWindow" qaxwidget.html#createHostWindow
+"QAxWidget::translateKeyEvent" qaxwidget.html#translateKeyEvent
+"QAxWidget::~QAxWidget" qaxwidget.html#~QAxWidget
+"QBig5Codec" qbig5codec.html
+"QBig5hkscsCodec" qbig5hkscscodec.html
+"QBitArray" qbitarray.html
+"QBitArray::at" qbitarray.html#at
+"QBitArray::clearBit" qbitarray.html#clearBit
+"QBitArray::copy" qbitarray.html#copy
+"QBitArray::detach" qbitarray.html#detach
+"QBitArray::fill" qbitarray.html#fill
+"QBitArray::operator&=" qbitarray.html#operator-and-eq
+"QBitArray::operator=" qbitarray.html#operator-eq
+"QBitArray::operator[]" qbitarray.html#operator[]
+"QBitArray::operator^=" qbitarray.html#operator^-eq
+"QBitArray::operator|=" qbitarray.html#operator|-eq
+"QBitArray::operator~" qbitarray.html#operator~
+"QBitArray::pad0" qbitarray.html#pad0
+"QBitArray::resize" qbitarray.html#resize
+"QBitArray::setBit" qbitarray.html#setBit
+"QBitArray::size" qbitarray.html#size
+"QBitArray::testBit" qbitarray.html#testBit
+"QBitArray::toggleBit" qbitarray.html#toggleBit
+"QBitVal" qbitval.html
+"QBitVal::operator int" qbitval.html#operator-int
+"QBitVal::operator=" qbitval.html#operator-eq
+"QBitmap" qbitmap.html
+"QBitmap::operator=" qbitmap.html#operator-eq
+"QBitmap::xForm" qbitmap.html#xForm
+"QBoxLayout" qboxlayout.html
+"QBoxLayout::Direction" qboxlayout.html#Direction
+"QBoxLayout::addItem" qboxlayout.html#addItem
+"QBoxLayout::addLayout" qboxlayout.html#addLayout
+"QBoxLayout::addSpacing" qboxlayout.html#addSpacing
+"QBoxLayout::addStretch" qboxlayout.html#addStretch
+"QBoxLayout::addStrut" qboxlayout.html#addStrut
+"QBoxLayout::addWidget" qboxlayout.html#addWidget
+"QBoxLayout::direction" qboxlayout.html#direction
+"QBoxLayout::expanding" qboxlayout.html#expanding
+"QBoxLayout::findWidget" qboxlayout.html#findWidget
+"QBoxLayout::hasHeightForWidth" qboxlayout.html#hasHeightForWidth
+"QBoxLayout::heightForWidth" qboxlayout.html#heightForWidth
+"QBoxLayout::insertItem" qboxlayout.html#insertItem
+"QBoxLayout::insertLayout" qboxlayout.html#insertLayout
+"QBoxLayout::insertSpacing" qboxlayout.html#insertSpacing
+"QBoxLayout::insertStretch" qboxlayout.html#insertStretch
+"QBoxLayout::insertWidget" qboxlayout.html#insertWidget
+"QBoxLayout::invalidate" qboxlayout.html#invalidate
+"QBoxLayout::maximumSize" qboxlayout.html#maximumSize
+"QBoxLayout::minimumSize" qboxlayout.html#minimumSize
+"QBoxLayout::setDirection" qboxlayout.html#setDirection
+"QBoxLayout::setGeometry" qboxlayout.html#setGeometry
+"QBoxLayout::setStretchFactor" qboxlayout.html#setStretchFactor
+"QBoxLayout::sizeHint" qboxlayout.html#sizeHint
+"QBoxLayout::~QBoxLayout" qboxlayout.html#~QBoxLayout
+"QBrush" qbrush.html
+"QBrush::color" qbrush.html#color
+"QBrush::copy" qbrush.html#copy
+"QBrush::detach" qbrush.html#detach
+"QBrush::operator!=" qbrush.html#operator!-eq
+"QBrush::operator=" qbrush.html#operator-eq
+"QBrush::operator==" qbrush.html#operator-eq-eq
+"QBrush::pixmap" qbrush.html#pixmap
+"QBrush::setColor" qbrush.html#setColor
+"QBrush::setPixmap" qbrush.html#setPixmap
+"QBrush::setStyle" qbrush.html#setStyle
+"QBrush::style" qbrush.html#style
+"QBrush::~QBrush" qbrush.html#~QBrush
+"QBuffer" qbuffer.html
+"QBuffer::buffer" qbuffer.html#buffer
+"QBuffer::setBuffer" qbuffer.html#setBuffer
+"QBuffer::writeBlock" qbuffer.html#writeBlock
+"QBuffer::~QBuffer" qbuffer.html#~QBuffer
+"QButton" qbutton.html
+"QButton::ToggleState" qbutton.html#ToggleState
+"QButton::ToggleType" qbutton.html#ToggleType
+"QButton::accel" qbutton.html#accel
+"QButton::accel" qbutton.html#accel-prop
+"QButton::animateClick" qbutton.html#animateClick
+"QButton::animateTimeout" qbutton.html#animateTimeout
+"QButton::autoRepeat" qbutton.html#autoRepeat
+"QButton::autoRepeat" qbutton.html#autoRepeat-prop
+"QButton::autoRepeatTimeout" qbutton.html#autoRepeatTimeout
+"QButton::clicked" qbutton.html#clicked
+"QButton::down" qbutton.html#down-prop
+"QButton::drawButton" qbutton.html#drawButton
+"QButton::drawButtonLabel" qbutton.html#drawButtonLabel
+"QButton::exclusiveToggle" qbutton.html#exclusiveToggle-prop
+"QButton::group" qbutton.html#group
+"QButton::hitButton" qbutton.html#hitButton
+"QButton::isDown" qbutton.html#isDown
+"QButton::isExclusiveToggle" qbutton.html#isExclusiveToggle
+"QButton::isOn" qbutton.html#isOn
+"QButton::isToggleButton" qbutton.html#isToggleButton
+"QButton::on" qbutton.html#on-prop
+"QButton::paintEvent" qbutton.html#paintEvent
+"QButton::pixmap" qbutton.html#pixmap
+"QButton::pixmap" qbutton.html#pixmap-prop
+"QButton::pressed" qbutton.html#pressed
+"QButton::released" qbutton.html#released
+"QButton::setAccel" qbutton.html#setAccel
+"QButton::setAutoRepeat" qbutton.html#setAutoRepeat
+"QButton::setDown" qbutton.html#setDown
+"QButton::setOn" qbutton.html#setOn
+"QButton::setPixmap" qbutton.html#setPixmap
+"QButton::setState" qbutton.html#setState
+"QButton::setText" qbutton.html#setText
+"QButton::setToggleButton" qbutton.html#setToggleButton
+"QButton::setToggleType" qbutton.html#setToggleType
+"QButton::state" qbutton.html#state
+"QButton::stateChanged" qbutton.html#stateChanged
+"QButton::text" qbutton.html#text
+"QButton::text" qbutton.html#text-prop
+"QButton::toggle" qbutton.html#toggle
+"QButton::toggleButton" qbutton.html#toggleButton-prop
+"QButton::toggleState" qbutton.html#toggleState-prop
+"QButton::toggleType" qbutton.html#toggleType
+"QButton::toggleType" qbutton.html#toggleType-prop
+"QButton::toggled" qbutton.html#toggled
+"QButton::~QButton" qbutton.html#~QButton
+"QButtonGroup" qbuttongroup.html
+"QButtonGroup::clicked" qbuttongroup.html#clicked
+"QButtonGroup::count" qbuttongroup.html#count
+"QButtonGroup::exclusive" qbuttongroup.html#exclusive-prop
+"QButtonGroup::find" qbuttongroup.html#find
+"QButtonGroup::id" qbuttongroup.html#id
+"QButtonGroup::init" qbuttongroup.html#init
+"QButtonGroup::insert" qbuttongroup.html#insert
+"QButtonGroup::isExclusive" qbuttongroup.html#isExclusive
+"QButtonGroup::isRadioButtonExclusive" qbuttongroup.html#isRadioButtonExclusive
+"QButtonGroup::moveFocus" qbuttongroup.html#moveFocus
+"QButtonGroup::pressed" qbuttongroup.html#pressed
+"QButtonGroup::radioButtonExclusive" qbuttongroup.html#radioButtonExclusive-prop
+"QButtonGroup::released" qbuttongroup.html#released
+"QButtonGroup::remove" qbuttongroup.html#remove
+"QButtonGroup::selected" qbuttongroup.html#selected
+"QButtonGroup::selectedId" qbuttongroup.html#selectedId
+"QButtonGroup::selectedId" qbuttongroup.html#selectedId-prop
+"QButtonGroup::setButton" qbuttongroup.html#setButton
+"QButtonGroup::setExclusive" qbuttongroup.html#setExclusive
+"QButtonGroup::setRadioButtonExclusive" qbuttongroup.html#setRadioButtonExclusive
+"QByteArray" qbytearray.html
+"QCDEStyle" qcdestyle.html
+"QCDEStyle::~QCDEStyle" qcdestyle.html#~QCDEStyle
+"QCString" qcstring.html
+"QCString::append" qcstring.html#append
+"QCString::contains" qcstring.html#contains
+"QCString::copy" qcstring.html#copy
+"QCString::fill" qcstring.html#fill
+"QCString::find" qcstring.html#find
+"QCString::findRev" qcstring.html#findRev
+"QCString::insert" qcstring.html#insert
+"QCString::isEmpty" qcstring.html#isEmpty
+"QCString::isNull" qcstring.html#isNull
+"QCString::left" qcstring.html#left
+"QCString::leftJustify" qcstring.html#leftJustify
+"QCString::length" qcstring.html#length
+"QCString::lower" qcstring.html#lower
+"QCString::mid" qcstring.html#mid
+"QCString::operator const char *" qcstring.html#operator-const-char-*
+"QCString::operator+=" qcstring.html#operator+-eq
+"QCString::operator=" qcstring.html#operator-eq
+"QCString::prepend" qcstring.html#prepend
+"QCString::remove" qcstring.html#remove
+"QCString::replace" qcstring.html#replace
+"QCString::resize" qcstring.html#resize
+"QCString::right" qcstring.html#right
+"QCString::rightJustify" qcstring.html#rightJustify
+"QCString::setExpand" qcstring.html#setExpand
+"QCString::setNum" qcstring.html#setNum
+"QCString::setStr" qcstring.html#setStr
+"QCString::simplifyWhiteSpace" qcstring.html#simplifyWhiteSpace
+"QCString::sprintf" qcstring.html#sprintf
+"QCString::stripWhiteSpace" qcstring.html#stripWhiteSpace
+"QCString::toDouble" qcstring.html#toDouble
+"QCString::toFloat" qcstring.html#toFloat
+"QCString::toInt" qcstring.html#toInt
+"QCString::toLong" qcstring.html#toLong
+"QCString::toShort" qcstring.html#toShort
+"QCString::toUInt" qcstring.html#toUInt
+"QCString::toULong" qcstring.html#toULong
+"QCString::toUShort" qcstring.html#toUShort
+"QCString::truncate" qcstring.html#truncate
+"QCString::upper" qcstring.html#upper
+"QCache" qcache.html
+"QCache::clear" qcache.html#clear
+"QCache::count" qcache.html#count
+"QCache::find" qcache.html#find
+"QCache::insert" qcache.html#insert
+"QCache::isEmpty" qcache.html#isEmpty
+"QCache::maxCost" qcache.html#maxCost
+"QCache::operator[]" qcache.html#operator[]
+"QCache::remove" qcache.html#remove
+"QCache::setMaxCost" qcache.html#setMaxCost
+"QCache::size" qcache.html#size
+"QCache::statistics" qcache.html#statistics
+"QCache::take" qcache.html#take
+"QCache::totalCost" qcache.html#totalCost
+"QCache::~QCache" qcache.html#~QCache
+"QCacheIterator" qcacheiterator.html
+"QCacheIterator::atFirst" qcacheiterator.html#atFirst
+"QCacheIterator::atLast" qcacheiterator.html#atLast
+"QCacheIterator::count" qcacheiterator.html#count
+"QCacheIterator::current" qcacheiterator.html#current
+"QCacheIterator::currentKey" qcacheiterator.html#currentKey
+"QCacheIterator::isEmpty" qcacheiterator.html#isEmpty
+"QCacheIterator::operator type *" qcacheiterator.html#operator-type-*
+"QCacheIterator::operator()" qcacheiterator.html#operator()
+"QCacheIterator::operator++" qcacheiterator.html#operator++
+"QCacheIterator::operator+=" qcacheiterator.html#operator+-eq
+"QCacheIterator::operator--" qcacheiterator.html#operator--
+"QCacheIterator::operator-=" qcacheiterator.html#operator--eq
+"QCacheIterator::operator=" qcacheiterator.html#operator-eq
+"QCacheIterator::toFirst" qcacheiterator.html#toFirst
+"QCacheIterator::toLast" qcacheiterator.html#toLast
+"QCanvas" qcanvas.html
+"QCanvas::advance" qcanvas.html#advance
+"QCanvas::allItems" qcanvas.html#allItems
+"QCanvas::backgroundColor" qcanvas.html#backgroundColor
+"QCanvas::backgroundPixmap" qcanvas.html#backgroundPixmap
+"QCanvas::chunkSize" qcanvas.html#chunkSize
+"QCanvas::collisions" qcanvas.html#collisions
+"QCanvas::drawArea" qcanvas.html#drawArea
+"QCanvas::drawBackground" qcanvas.html#drawBackground
+"QCanvas::drawForeground" qcanvas.html#drawForeground
+"QCanvas::height" qcanvas.html#height
+"QCanvas::onCanvas" qcanvas.html#onCanvas
+"QCanvas::rect" qcanvas.html#rect
+"QCanvas::resize" qcanvas.html#resize
+"QCanvas::resized" qcanvas.html#resized
+"QCanvas::retune" qcanvas.html#retune
+"QCanvas::setAdvancePeriod" qcanvas.html#setAdvancePeriod
+"QCanvas::setAllChanged" qcanvas.html#setAllChanged
+"QCanvas::setBackgroundColor" qcanvas.html#setBackgroundColor
+"QCanvas::setBackgroundPixmap" qcanvas.html#setBackgroundPixmap
+"QCanvas::setChanged" qcanvas.html#setChanged
+"QCanvas::setDoubleBuffering" qcanvas.html#setDoubleBuffering
+"QCanvas::setTile" qcanvas.html#setTile
+"QCanvas::setTiles" qcanvas.html#setTiles
+"QCanvas::setUnchanged" qcanvas.html#setUnchanged
+"QCanvas::setUpdatePeriod" qcanvas.html#setUpdatePeriod
+"QCanvas::size" qcanvas.html#size
+"QCanvas::tile" qcanvas.html#tile
+"QCanvas::tileHeight" qcanvas.html#tileHeight
+"QCanvas::tileWidth" qcanvas.html#tileWidth
+"QCanvas::tilesHorizontally" qcanvas.html#tilesHorizontally
+"QCanvas::tilesVertically" qcanvas.html#tilesVertically
+"QCanvas::update" qcanvas.html#update
+"QCanvas::validChunk" qcanvas.html#validChunk
+"QCanvas::width" qcanvas.html#width
+"QCanvas::~QCanvas" qcanvas.html#~QCanvas
+"QCanvasEllipse" qcanvasellipse.html
+"QCanvasEllipse::angleLength" qcanvasellipse.html#angleLength
+"QCanvasEllipse::angleStart" qcanvasellipse.html#angleStart
+"QCanvasEllipse::drawShape" qcanvasellipse.html#drawShape
+"QCanvasEllipse::height" qcanvasellipse.html#height
+"QCanvasEllipse::rtti" qcanvasellipse.html#rtti
+"QCanvasEllipse::setAngles" qcanvasellipse.html#setAngles
+"QCanvasEllipse::setSize" qcanvasellipse.html#setSize
+"QCanvasEllipse::width" qcanvasellipse.html#width
+"QCanvasEllipse::~QCanvasEllipse" qcanvasellipse.html#~QCanvasEllipse
+"QCanvasItem" qcanvasitem.html
+"QCanvasItem::RttiValues" qcanvasitem.html#RttiValues
+"QCanvasItem::advance" qcanvasitem.html#advance
+"QCanvasItem::animated" qcanvasitem.html#animated
+"QCanvasItem::boundingRect" qcanvasitem.html#boundingRect
+"QCanvasItem::boundingRectAdvanced" qcanvasitem.html#boundingRectAdvanced
+"QCanvasItem::canvas" qcanvasitem.html#canvas
+"QCanvasItem::collidesWith" qcanvasitem.html#collidesWith
+"QCanvasItem::collisions" qcanvasitem.html#collisions
+"QCanvasItem::draw" qcanvasitem.html#draw
+"QCanvasItem::hide" qcanvasitem.html#hide
+"QCanvasItem::isActive" qcanvasitem.html#isActive
+"QCanvasItem::isEnabled" qcanvasitem.html#isEnabled
+"QCanvasItem::isSelected" qcanvasitem.html#isSelected
+"QCanvasItem::isVisible" qcanvasitem.html#isVisible
+"QCanvasItem::move" qcanvasitem.html#move
+"QCanvasItem::moveBy" qcanvasitem.html#moveBy
+"QCanvasItem::rtti" qcanvasitem.html#rtti
+"QCanvasItem::setActive" qcanvasitem.html#setActive
+"QCanvasItem::setAnimated" qcanvasitem.html#setAnimated
+"QCanvasItem::setCanvas" qcanvasitem.html#setCanvas
+"QCanvasItem::setEnabled" qcanvasitem.html#setEnabled
+"QCanvasItem::setSelected" qcanvasitem.html#setSelected
+"QCanvasItem::setVelocity" qcanvasitem.html#setVelocity
+"QCanvasItem::setVisible" qcanvasitem.html#setVisible
+"QCanvasItem::setX" qcanvasitem.html#setX
+"QCanvasItem::setXVelocity" qcanvasitem.html#setXVelocity
+"QCanvasItem::setY" qcanvasitem.html#setY
+"QCanvasItem::setYVelocity" qcanvasitem.html#setYVelocity
+"QCanvasItem::setZ" qcanvasitem.html#setZ
+"QCanvasItem::show" qcanvasitem.html#show
+"QCanvasItem::update" qcanvasitem.html#update
+"QCanvasItem::x" qcanvasitem.html#x
+"QCanvasItem::xVelocity" qcanvasitem.html#xVelocity
+"QCanvasItem::y" qcanvasitem.html#y
+"QCanvasItem::yVelocity" qcanvasitem.html#yVelocity
+"QCanvasItem::z" qcanvasitem.html#z
+"QCanvasItem::~QCanvasItem" qcanvasitem.html#~QCanvasItem
+"QCanvasItemList" qcanvasitemlist.html
+"QCanvasItemList::operator+" qcanvasitemlist.html#operator+
+"QCanvasLine" qcanvasline.html
+"QCanvasLine::endPoint" qcanvasline.html#endPoint
+"QCanvasLine::rtti" qcanvasline.html#rtti
+"QCanvasLine::setPoints" qcanvasline.html#setPoints
+"QCanvasLine::startPoint" qcanvasline.html#startPoint
+"QCanvasLine::~QCanvasLine" qcanvasline.html#~QCanvasLine
+"QCanvasPixmap" qcanvaspixmap.html
+"QCanvasPixmap::offsetX" qcanvaspixmap.html#offsetX
+"QCanvasPixmap::offsetY" qcanvaspixmap.html#offsetY
+"QCanvasPixmap::setOffset" qcanvaspixmap.html#setOffset
+"QCanvasPixmap::~QCanvasPixmap" qcanvaspixmap.html#~QCanvasPixmap
+"QCanvasPixmapArray" qcanvaspixmaparray.html
+"QCanvasPixmapArray::count" qcanvaspixmaparray.html#count
+"QCanvasPixmapArray::image" qcanvaspixmaparray.html#image
+"QCanvasPixmapArray::isValid" qcanvaspixmaparray.html#isValid
+"QCanvasPixmapArray::readCollisionMasks" qcanvaspixmaparray.html#readCollisionMasks
+"QCanvasPixmapArray::readPixmaps" qcanvaspixmaparray.html#readPixmaps
+"QCanvasPixmapArray::setImage" qcanvaspixmaparray.html#setImage
+"QCanvasPixmapArray::~QCanvasPixmapArray" qcanvaspixmaparray.html#~QCanvasPixmapArray
+"QCanvasPolygon" qcanvaspolygon.html
+"QCanvasPolygon::areaPoints" qcanvaspolygon.html#areaPoints
+"QCanvasPolygon::drawShape" qcanvaspolygon.html#drawShape
+"QCanvasPolygon::points" qcanvaspolygon.html#points
+"QCanvasPolygon::rtti" qcanvaspolygon.html#rtti
+"QCanvasPolygon::setPoints" qcanvaspolygon.html#setPoints
+"QCanvasPolygon::~QCanvasPolygon" qcanvaspolygon.html#~QCanvasPolygon
+"QCanvasPolygonalItem" qcanvaspolygonalitem.html
+"QCanvasPolygonalItem::areaPoints" qcanvaspolygonalitem.html#areaPoints
+"QCanvasPolygonalItem::areaPointsAdvanced" qcanvaspolygonalitem.html#areaPointsAdvanced
+"QCanvasPolygonalItem::boundingRect" qcanvaspolygonalitem.html#boundingRect
+"QCanvasPolygonalItem::brush" qcanvaspolygonalitem.html#brush
+"QCanvasPolygonalItem::draw" qcanvaspolygonalitem.html#draw
+"QCanvasPolygonalItem::drawShape" qcanvaspolygonalitem.html#drawShape
+"QCanvasPolygonalItem::invalidate" qcanvaspolygonalitem.html#invalidate
+"QCanvasPolygonalItem::isValid" qcanvaspolygonalitem.html#isValid
+"QCanvasPolygonalItem::pen" qcanvaspolygonalitem.html#pen
+"QCanvasPolygonalItem::rtti" qcanvaspolygonalitem.html#rtti
+"QCanvasPolygonalItem::setBrush" qcanvaspolygonalitem.html#setBrush
+"QCanvasPolygonalItem::setPen" qcanvaspolygonalitem.html#setPen
+"QCanvasPolygonalItem::setWinding" qcanvaspolygonalitem.html#setWinding
+"QCanvasPolygonalItem::winding" qcanvaspolygonalitem.html#winding
+"QCanvasPolygonalItem::~QCanvasPolygonalItem" qcanvaspolygonalitem.html#~QCanvasPolygonalItem
+"QCanvasRectangle" qcanvasrectangle.html
+"QCanvasRectangle::chunks" qcanvasrectangle.html#chunks
+"QCanvasRectangle::drawShape" qcanvasrectangle.html#drawShape
+"QCanvasRectangle::height" qcanvasrectangle.html#height
+"QCanvasRectangle::rect" qcanvasrectangle.html#rect
+"QCanvasRectangle::rtti" qcanvasrectangle.html#rtti
+"QCanvasRectangle::setSize" qcanvasrectangle.html#setSize
+"QCanvasRectangle::size" qcanvasrectangle.html#size
+"QCanvasRectangle::width" qcanvasrectangle.html#width
+"QCanvasRectangle::~QCanvasRectangle" qcanvasrectangle.html#~QCanvasRectangle
+"QCanvasSpline" qcanvasspline.html
+"QCanvasSpline::closed" qcanvasspline.html#closed
+"QCanvasSpline::controlPoints" qcanvasspline.html#controlPoints
+"QCanvasSpline::rtti" qcanvasspline.html#rtti
+"QCanvasSpline::setControlPoints" qcanvasspline.html#setControlPoints
+"QCanvasSpline::~QCanvasSpline" qcanvasspline.html#~QCanvasSpline
+"QCanvasSprite" qcanvassprite.html
+"QCanvasSprite::FrameAnimationType" qcanvassprite.html#FrameAnimationType
+"QCanvasSprite::advance" qcanvassprite.html#advance
+"QCanvasSprite::bottomEdge" qcanvassprite.html#bottomEdge
+"QCanvasSprite::boundingRect" qcanvassprite.html#boundingRect
+"QCanvasSprite::collidesWith" qcanvassprite.html#collidesWith
+"QCanvasSprite::draw" qcanvassprite.html#draw
+"QCanvasSprite::frame" qcanvassprite.html#frame
+"QCanvasSprite::frameCount" qcanvassprite.html#frameCount
+"QCanvasSprite::height" qcanvassprite.html#height
+"QCanvasSprite::image" qcanvassprite.html#image
+"QCanvasSprite::imageAdvanced" qcanvassprite.html#imageAdvanced
+"QCanvasSprite::leftEdge" qcanvassprite.html#leftEdge
+"QCanvasSprite::move" qcanvassprite.html#move
+"QCanvasSprite::rightEdge" qcanvassprite.html#rightEdge
+"QCanvasSprite::rtti" qcanvassprite.html#rtti
+"QCanvasSprite::setFrame" qcanvassprite.html#setFrame
+"QCanvasSprite::setFrameAnimation" qcanvassprite.html#setFrameAnimation
+"QCanvasSprite::setSequence" qcanvassprite.html#setSequence
+"QCanvasSprite::topEdge" qcanvassprite.html#topEdge
+"QCanvasSprite::width" qcanvassprite.html#width
+"QCanvasSprite::~QCanvasSprite" qcanvassprite.html#~QCanvasSprite
+"QCanvasText" qcanvastext.html
+"QCanvasText::addToChunks" qcanvastext.html#addToChunks
+"QCanvasText::boundingRect" qcanvastext.html#boundingRect
+"QCanvasText::color" qcanvastext.html#color
+"QCanvasText::draw" qcanvastext.html#draw
+"QCanvasText::font" qcanvastext.html#font
+"QCanvasText::removeFromChunks" qcanvastext.html#removeFromChunks
+"QCanvasText::rtti" qcanvastext.html#rtti
+"QCanvasText::setColor" qcanvastext.html#setColor
+"QCanvasText::setFont" qcanvastext.html#setFont
+"QCanvasText::setText" qcanvastext.html#setText
+"QCanvasText::setTextFlags" qcanvastext.html#setTextFlags
+"QCanvasText::text" qcanvastext.html#text
+"QCanvasText::textFlags" qcanvastext.html#textFlags
+"QCanvasText::~QCanvasText" qcanvastext.html#~QCanvasText
+"QCanvasView" qcanvasview.html
+"QCanvasView::canvas" qcanvasview.html#canvas
+"QCanvasView::drawContents" qcanvasview.html#drawContents
+"QCanvasView::inverseWorldMatrix" qcanvasview.html#inverseWorldMatrix
+"QCanvasView::setCanvas" qcanvasview.html#setCanvas
+"QCanvasView::setWorldMatrix" qcanvasview.html#setWorldMatrix
+"QCanvasView::sizeHint" qcanvasview.html#sizeHint
+"QCanvasView::worldMatrix" qcanvasview.html#worldMatrix
+"QCanvasView::~QCanvasView" qcanvasview.html#~QCanvasView
+"QChar" qchar.html
+"QChar::Category" qchar.html#Category
+"QChar::CombiningClass" qchar.html#CombiningClass
+"QChar::Decomposition" qchar.html#Decomposition
+"QChar::Direction" qchar.html#Direction
+"QChar::Joining" qchar.html#Joining
+"QChar::category" qchar.html#category
+"QChar::cell" qchar.html#cell
+"QChar::combiningClass" qchar.html#combiningClass
+"QChar::decomposition" qchar.html#decomposition
+"QChar::decompositionTag" qchar.html#decompositionTag
+"QChar::digitValue" qchar.html#digitValue
+"QChar::direction" qchar.html#direction
+"QChar::isDigit" qchar.html#isDigit
+"QChar::isLetter" qchar.html#isLetter
+"QChar::isLetterOrNumber" qchar.html#isLetterOrNumber
+"QChar::isMark" qchar.html#isMark
+"QChar::isNull" qchar.html#isNull
+"QChar::isNumber" qchar.html#isNumber
+"QChar::isPrint" qchar.html#isPrint
+"QChar::isPunct" qchar.html#isPunct
+"QChar::isSpace" qchar.html#isSpace
+"QChar::isSymbol" qchar.html#isSymbol
+"QChar::joining" qchar.html#joining
+"QChar::latin1" qchar.html#latin1
+"QChar::lower" qchar.html#lower
+"QChar::mirrored" qchar.html#mirrored
+"QChar::mirroredChar" qchar.html#mirroredChar
+"QChar::operator char" qchar.html#operator-char
+"QChar::row" qchar.html#row
+"QChar::unicode" qchar.html#unicode
+"QChar::upper" qchar.html#upper
+"QCharRef" qcharref.html
+"QCheckBox" qcheckbox.html
+"QCheckBox::autoMask" qcheckbox.html#autoMask-prop
+"QCheckBox::checked" qcheckbox.html#checked-prop
+"QCheckBox::isChecked" qcheckbox.html#isChecked
+"QCheckBox::isTristate" qcheckbox.html#isTristate
+"QCheckBox::setChecked" qcheckbox.html#setChecked
+"QCheckBox::setNoChange" qcheckbox.html#setNoChange
+"QCheckBox::setTristate" qcheckbox.html#setTristate
+"QCheckBox::tristate" qcheckbox.html#tristate-prop
+"QCheckListItem" qchecklistitem.html
+"QCheckListItem::ToggleState" qchecklistitem.html#ToggleState
+"QCheckListItem::Type" qchecklistitem.html#Type
+"QCheckListItem::activate" qchecklistitem.html#activate
+"QCheckListItem::isOn" qchecklistitem.html#isOn
+"QCheckListItem::isTristate" qchecklistitem.html#isTristate
+"QCheckListItem::paintCell" qchecklistitem.html#paintCell
+"QCheckListItem::paintFocus" qchecklistitem.html#paintFocus
+"QCheckListItem::rtti" qchecklistitem.html#rtti
+"QCheckListItem::setOn" qchecklistitem.html#setOn
+"QCheckListItem::setState" qchecklistitem.html#setState
+"QCheckListItem::setTristate" qchecklistitem.html#setTristate
+"QCheckListItem::state" qchecklistitem.html#state
+"QCheckListItem::stateChange" qchecklistitem.html#stateChange
+"QCheckListItem::text" qchecklistitem.html#text
+"QCheckListItem::turnOffChild" qchecklistitem.html#turnOffChild
+"QCheckListItem::type" qchecklistitem.html#type
+"QCheckListItem::~QCheckListItem" qchecklistitem.html#~QCheckListItem
+"QCheckTableItem" qchecktableitem.html
+"QCheckTableItem::isChecked" qchecktableitem.html#isChecked
+"QCheckTableItem::rtti" qchecktableitem.html#rtti
+"QCheckTableItem::setChecked" qchecktableitem.html#setChecked
+"QChildEvent" qchildevent.html
+"QChildEvent::child" qchildevent.html#child
+"QChildEvent::inserted" qchildevent.html#inserted
+"QChildEvent::removed" qchildevent.html#removed
+"QClipboard" qclipboard.html
+"QClipboard::Mode" qclipboard.html#Mode
+"QClipboard::clear" qclipboard.html#clear
+"QClipboard::data" qclipboard.html#data
+"QClipboard::dataChanged" qclipboard.html#dataChanged
+"QClipboard::image" qclipboard.html#image
+"QClipboard::ownsClipboard" qclipboard.html#ownsClipboard
+"QClipboard::ownsSelection" qclipboard.html#ownsSelection
+"QClipboard::pixmap" qclipboard.html#pixmap
+"QClipboard::selectionChanged" qclipboard.html#selectionChanged
+"QClipboard::setData" qclipboard.html#setData
+"QClipboard::setImage" qclipboard.html#setImage
+"QClipboard::setPixmap" qclipboard.html#setPixmap
+"QClipboard::setText" qclipboard.html#setText
+"QClipboard::supportsSelection" qclipboard.html#supportsSelection
+"QClipboard::text" qclipboard.html#text
+"QCloseEvent" qcloseevent.html
+"QCloseEvent::accept" qcloseevent.html#accept
+"QCloseEvent::ignore" qcloseevent.html#ignore
+"QCloseEvent::isAccepted" qcloseevent.html#isAccepted
+"QCollection Class Reference (obsolete)" qcollection.html
+"QColor" qcolor.html
+"QColor::Spec" qcolor.html#Spec
+"QColor::alloc" qcolor.html#alloc
+"QColor::blue" qcolor.html#blue
+"QColor::cleanup" qcolor.html#cleanup
+"QColor::colorNames" qcolor.html#colorNames
+"QColor::currentAllocContext" qcolor.html#currentAllocContext
+"QColor::dark" qcolor.html#dark
+"QColor::destroyAllocContext" qcolor.html#destroyAllocContext
+"QColor::enterAllocContext" qcolor.html#enterAllocContext
+"QColor::getHsv" qcolor.html#getHsv
+"QColor::getRgb" qcolor.html#getRgb
+"QColor::green" qcolor.html#green
+"QColor::initGlobalColors" qcolor.html#initGlobalColors
+"QColor::initialize" qcolor.html#initialize
+"QColor::isValid" qcolor.html#isValid
+"QColor::leaveAllocContext" qcolor.html#leaveAllocContext
+"QColor::light" qcolor.html#light
+"QColor::maxColors" qcolor.html#maxColors
+"QColor::name" qcolor.html#name
+"QColor::numBitPlanes" qcolor.html#numBitPlanes
+"QColor::operator!=" qcolor.html#operator!-eq
+"QColor::operator=" qcolor.html#operator-eq
+"QColor::operator==" qcolor.html#operator-eq-eq
+"QColor::pixel" qcolor.html#pixel
+"QColor::red" qcolor.html#red
+"QColor::rgb" qcolor.html#rgb
+"QColor::setHsv" qcolor.html#setHsv
+"QColor::setNamedColor" qcolor.html#setNamedColor
+"QColor::setRgb" qcolor.html#setRgb
+"QColorDialog" qcolordialog.html
+"QColorDialog::color" qcolordialog.html#color
+"QColorDialog::customColor" qcolordialog.html#customColor
+"QColorDialog::customCount" qcolordialog.html#customCount
+"QColorDialog::getColor" qcolordialog.html#getColor
+"QColorDialog::getRgba" qcolordialog.html#getRgba
+"QColorDialog::selectColor" qcolordialog.html#selectColor
+"QColorDialog::selectedAlpha" qcolordialog.html#selectedAlpha
+"QColorDialog::setColor" qcolordialog.html#setColor
+"QColorDialog::setCustomColor" qcolordialog.html#setCustomColor
+"QColorDialog::setSelectedAlpha" qcolordialog.html#setSelectedAlpha
+"QColorDialog::setStandardColor" qcolordialog.html#setStandardColor
+"QColorDialog::~QColorDialog" qcolordialog.html#~QColorDialog
+"QColorDrag" qcolordrag.html
+"QColorDrag::canDecode" qcolordrag.html#canDecode
+"QColorDrag::decode" qcolordrag.html#decode
+"QColorDrag::setColor" qcolordrag.html#setColor
+"QColorGroup" qcolorgroup.html
+"QColorGroup::ColorRole" qcolorgroup.html#ColorRole
+"QColorGroup::background" qcolorgroup.html#background
+"QColorGroup::base" qcolorgroup.html#base
+"QColorGroup::brightText" qcolorgroup.html#brightText
+"QColorGroup::brush" qcolorgroup.html#brush
+"QColorGroup::button" qcolorgroup.html#button
+"QColorGroup::buttonText" qcolorgroup.html#buttonText
+"QColorGroup::color" qcolorgroup.html#color
+"QColorGroup::dark" qcolorgroup.html#dark
+"QColorGroup::foreground" qcolorgroup.html#foreground
+"QColorGroup::highlight" qcolorgroup.html#highlight
+"QColorGroup::highlightedText" qcolorgroup.html#highlightedText
+"QColorGroup::light" qcolorgroup.html#light
+"QColorGroup::link" qcolorgroup.html#link
+"QColorGroup::linkVisited" qcolorgroup.html#linkVisited
+"QColorGroup::mid" qcolorgroup.html#mid
+"QColorGroup::midlight" qcolorgroup.html#midlight
+"QColorGroup::operator!=" qcolorgroup.html#operator!-eq
+"QColorGroup::operator=" qcolorgroup.html#operator-eq
+"QColorGroup::operator==" qcolorgroup.html#operator-eq-eq
+"QColorGroup::setBrush" qcolorgroup.html#setBrush
+"QColorGroup::setColor" qcolorgroup.html#setColor
+"QColorGroup::shadow" qcolorgroup.html#shadow
+"QColorGroup::text" qcolorgroup.html#text
+"QColorGroup::~QColorGroup" qcolorgroup.html#~QColorGroup
+"QComboBox" qcombobox.html
+"QComboBox::Policy" qcombobox.html#Policy
+"QComboBox::activated" qcombobox.html#activated
+"QComboBox::autoCompletion" qcombobox.html#autoCompletion
+"QComboBox::autoCompletion" qcombobox.html#autoCompletion-prop
+"QComboBox::autoMask" qcombobox.html#autoMask-prop
+"QComboBox::changeItem" qcombobox.html#changeItem
+"QComboBox::clear" qcombobox.html#clear
+"QComboBox::clearEdit" qcombobox.html#clearEdit
+"QComboBox::clearValidator" qcombobox.html#clearValidator
+"QComboBox::completionIndex" qcombobox.html#completionIndex
+"QComboBox::count" qcombobox.html#count
+"QComboBox::count" qcombobox.html#count-prop
+"QComboBox::currentItem" qcombobox.html#currentItem
+"QComboBox::currentItem" qcombobox.html#currentItem-prop
+"QComboBox::currentText" qcombobox.html#currentText
+"QComboBox::currentText" qcombobox.html#currentText-prop
+"QComboBox::duplicatesEnabled" qcombobox.html#duplicatesEnabled
+"QComboBox::duplicatesEnabled" qcombobox.html#duplicatesEnabled-prop
+"QComboBox::editable" qcombobox.html#editable
+"QComboBox::editable" qcombobox.html#editable-prop
+"QComboBox::highlighted" qcombobox.html#highlighted
+"QComboBox::insertItem" qcombobox.html#insertItem
+"QComboBox::insertStrList" qcombobox.html#insertStrList
+"QComboBox::insertStringList" qcombobox.html#insertStringList
+"QComboBox::insertionPolicy" qcombobox.html#insertionPolicy
+"QComboBox::insertionPolicy" qcombobox.html#insertionPolicy-prop
+"QComboBox::lineEdit" qcombobox.html#lineEdit
+"QComboBox::listBox" qcombobox.html#listBox
+"QComboBox::maxCount" qcombobox.html#maxCount
+"QComboBox::maxCount" qcombobox.html#maxCount-prop
+"QComboBox::pixmap" qcombobox.html#pixmap
+"QComboBox::popup" qcombobox.html#popup
+"QComboBox::removeItem" qcombobox.html#removeItem
+"QComboBox::returnPressed" qcombobox.html#returnPressed
+"QComboBox::setAutoCompletion" qcombobox.html#setAutoCompletion
+"QComboBox::setCurrentItem" qcombobox.html#setCurrentItem
+"QComboBox::setCurrentText" qcombobox.html#setCurrentText
+"QComboBox::setDuplicatesEnabled" qcombobox.html#setDuplicatesEnabled
+"QComboBox::setEditText" qcombobox.html#setEditText
+"QComboBox::setEditable" qcombobox.html#setEditable
+"QComboBox::setFont" qcombobox.html#setFont
+"QComboBox::setInsertionPolicy" qcombobox.html#setInsertionPolicy
+"QComboBox::setLineEdit" qcombobox.html#setLineEdit
+"QComboBox::setListBox" qcombobox.html#setListBox
+"QComboBox::setMaxCount" qcombobox.html#setMaxCount
+"QComboBox::setPalette" qcombobox.html#setPalette
+"QComboBox::setSizeLimit" qcombobox.html#setSizeLimit
+"QComboBox::setValidator" qcombobox.html#setValidator
+"QComboBox::sizeLimit" qcombobox.html#sizeLimit
+"QComboBox::sizeLimit" qcombobox.html#sizeLimit-prop
+"QComboBox::text" qcombobox.html#text
+"QComboBox::textChanged" qcombobox.html#textChanged
+"QComboBox::validator" qcombobox.html#validator
+"QComboBox::~QComboBox" qcombobox.html#~QComboBox
+"QComboTableItem" qcombotableitem.html
+"QComboTableItem::count" qcombotableitem.html#count
+"QComboTableItem::currentItem" qcombotableitem.html#currentItem
+"QComboTableItem::currentText" qcombotableitem.html#currentText
+"QComboTableItem::isEditable" qcombotableitem.html#isEditable
+"QComboTableItem::rtti" qcombotableitem.html#rtti
+"QComboTableItem::setCurrentItem" qcombotableitem.html#setCurrentItem
+"QComboTableItem::setEditable" qcombotableitem.html#setEditable
+"QComboTableItem::setStringList" qcombotableitem.html#setStringList
+"QComboTableItem::text" qcombotableitem.html#text
+"QComboTableItem::~QComboTableItem" qcombotableitem.html#~QComboTableItem
+"QCommonStyle" qcommonstyle.html
+"QComponentFactory::createInstance" qcomponentfactory.html#createInstance
+"QComponentFactory::registerComponent" qcomponentfactory.html#registerComponent
+"QComponentFactory::registerServer" qcomponentfactory.html#registerServer
+"QComponentFactory::unregisterComponent" qcomponentfactory.html#unregisterComponent
+"QComponentFactory::unregisterServer" qcomponentfactory.html#unregisterServer
+"QConnection::isConnected" qconnection.html#isConnected
+"QConnection::member" qconnection.html#member
+"QConnection::memberName" qconnection.html#memberName
+"QConnection::numArgs" qconnection.html#numArgs
+"QConnection::object" qconnection.html#object
+"QConnection::~QConnection" qconnection.html#~QConnection
+"QConstString" qconststring.html
+"QConstString::string" qconststring.html#string
+"QConstString::~QConstString" qconststring.html#~QConstString
+"QContextMenuEvent" qcontextmenuevent.html
+"QContextMenuEvent::Reason" qcontextmenuevent.html#Reason
+"QContextMenuEvent::accept" qcontextmenuevent.html#accept
+"QContextMenuEvent::consume" qcontextmenuevent.html#consume
+"QContextMenuEvent::globalPos" qcontextmenuevent.html#globalPos
+"QContextMenuEvent::globalX" qcontextmenuevent.html#globalX
+"QContextMenuEvent::globalY" qcontextmenuevent.html#globalY
+"QContextMenuEvent::ignore" qcontextmenuevent.html#ignore
+"QContextMenuEvent::isAccepted" qcontextmenuevent.html#isAccepted
+"QContextMenuEvent::isConsumed" qcontextmenuevent.html#isConsumed
+"QContextMenuEvent::pos" qcontextmenuevent.html#pos
+"QContextMenuEvent::reason" qcontextmenuevent.html#reason
+"QContextMenuEvent::state" qcontextmenuevent.html#state
+"QContextMenuEvent::x" qcontextmenuevent.html#x
+"QContextMenuEvent::y" qcontextmenuevent.html#y
+"QCopChannel" qcopchannel.html
+"QCopChannel::channel" qcopchannel.html#channel
+"QCopChannel::isRegistered" qcopchannel.html#isRegistered
+"QCopChannel::receive" qcopchannel.html#receive
+"QCopChannel::received" qcopchannel.html#received
+"QCopChannel::send" qcopchannel.html#send
+"QCopChannel::~QCopChannel" qcopchannel.html#~QCopChannel
+"QCursor" qcursor.html
+"QCursor::bitmap" qcursor.html#bitmap
+"QCursor::cleanup" qcursor.html#cleanup
+"QCursor::handle" qcursor.html#handle
+"QCursor::hotSpot" qcursor.html#hotSpot
+"QCursor::initialize" qcursor.html#initialize
+"QCursor::mask" qcursor.html#mask
+"QCursor::operator=" qcursor.html#operator-eq
+"QCursor::pos" qcursor.html#pos
+"QCursor::setPos" qcursor.html#setPos
+"QCursor::setShape" qcursor.html#setShape
+"QCursor::shape" qcursor.html#shape
+"QCursor::~QCursor" qcursor.html#~QCursor
+"QCustomEvent" qcustomevent.html
+"QCustomEvent::data" qcustomevent.html#data
+"QCustomEvent::setData" qcustomevent.html#setData
+"QCustomMenuItem" qcustommenuitem.html
+"QCustomMenuItem::fullSpan" qcustommenuitem.html#fullSpan
+"QCustomMenuItem::isSeparator" qcustommenuitem.html#isSeparator
+"QCustomMenuItem::paint" qcustommenuitem.html#paint
+"QCustomMenuItem::setFont" qcustommenuitem.html#setFont
+"QCustomMenuItem::sizeHint" qcustommenuitem.html#sizeHint
+"QCustomMenuItem::~QCustomMenuItem" qcustommenuitem.html#~QCustomMenuItem
+"QDataBrowser" qdatabrowser.html
+"QDataBrowser::Boundary" qdatabrowser.html#Boundary
+"QDataBrowser::autoEdit" qdatabrowser.html#autoEdit
+"QDataBrowser::autoEdit" qdatabrowser.html#autoEdit-prop
+"QDataBrowser::beforeDelete" qdatabrowser.html#beforeDelete
+"QDataBrowser::beforeInsert" qdatabrowser.html#beforeInsert
+"QDataBrowser::beforeUpdate" qdatabrowser.html#beforeUpdate
+"QDataBrowser::boundary" qdatabrowser.html#boundary
+"QDataBrowser::boundaryChecking" qdatabrowser.html#boundaryChecking
+"QDataBrowser::boundaryChecking" qdatabrowser.html#boundaryChecking-prop
+"QDataBrowser::clearValues" qdatabrowser.html#clearValues
+"QDataBrowser::confirmCancel" qdatabrowser.html#confirmCancel
+"QDataBrowser::confirmCancels" qdatabrowser.html#confirmCancels
+"QDataBrowser::confirmCancels" qdatabrowser.html#confirmCancels-prop
+"QDataBrowser::confirmDelete" qdatabrowser.html#confirmDelete
+"QDataBrowser::confirmDelete" qdatabrowser.html#confirmDelete-prop
+"QDataBrowser::confirmEdit" qdatabrowser.html#confirmEdit
+"QDataBrowser::confirmEdits" qdatabrowser.html#confirmEdits
+"QDataBrowser::confirmEdits" qdatabrowser.html#confirmEdits-prop
+"QDataBrowser::confirmInsert" qdatabrowser.html#confirmInsert
+"QDataBrowser::confirmInsert" qdatabrowser.html#confirmInsert-prop
+"QDataBrowser::confirmUpdate" qdatabrowser.html#confirmUpdate
+"QDataBrowser::confirmUpdate" qdatabrowser.html#confirmUpdate-prop
+"QDataBrowser::currentChanged" qdatabrowser.html#currentChanged
+"QDataBrowser::currentEdited" qdatabrowser.html#currentEdited
+"QDataBrowser::cursorChanged" qdatabrowser.html#cursorChanged
+"QDataBrowser::del" qdatabrowser.html#del
+"QDataBrowser::deleteCurrent" qdatabrowser.html#deleteCurrent
+"QDataBrowser::filter" qdatabrowser.html#filter
+"QDataBrowser::filter" qdatabrowser.html#filter-prop
+"QDataBrowser::first" qdatabrowser.html#first
+"QDataBrowser::firstRecordAvailable" qdatabrowser.html#firstRecordAvailable
+"QDataBrowser::form" qdatabrowser.html#form
+"QDataBrowser::handleError" qdatabrowser.html#handleError
+"QDataBrowser::insert" qdatabrowser.html#insert
+"QDataBrowser::insertCurrent" qdatabrowser.html#insertCurrent
+"QDataBrowser::isReadOnly" qdatabrowser.html#isReadOnly
+"QDataBrowser::last" qdatabrowser.html#last
+"QDataBrowser::lastRecordAvailable" qdatabrowser.html#lastRecordAvailable
+"QDataBrowser::next" qdatabrowser.html#next
+"QDataBrowser::nextRecordAvailable" qdatabrowser.html#nextRecordAvailable
+"QDataBrowser::prev" qdatabrowser.html#prev
+"QDataBrowser::prevRecordAvailable" qdatabrowser.html#prevRecordAvailable
+"QDataBrowser::primeDelete" qdatabrowser.html#primeDelete
+"QDataBrowser::primeInsert" qdatabrowser.html#primeInsert
+"QDataBrowser::primeUpdate" qdatabrowser.html#primeUpdate
+"QDataBrowser::readFields" qdatabrowser.html#readFields
+"QDataBrowser::readOnly" qdatabrowser.html#readOnly-prop
+"QDataBrowser::refresh" qdatabrowser.html#refresh
+"QDataBrowser::seek" qdatabrowser.html#seek
+"QDataBrowser::setAutoEdit" qdatabrowser.html#setAutoEdit
+"QDataBrowser::setBoundaryChecking" qdatabrowser.html#setBoundaryChecking
+"QDataBrowser::setConfirmCancels" qdatabrowser.html#setConfirmCancels
+"QDataBrowser::setConfirmDelete" qdatabrowser.html#setConfirmDelete
+"QDataBrowser::setConfirmEdits" qdatabrowser.html#setConfirmEdits
+"QDataBrowser::setConfirmInsert" qdatabrowser.html#setConfirmInsert
+"QDataBrowser::setConfirmUpdate" qdatabrowser.html#setConfirmUpdate
+"QDataBrowser::setFilter" qdatabrowser.html#setFilter
+"QDataBrowser::setForm" qdatabrowser.html#setForm
+"QDataBrowser::setReadOnly" qdatabrowser.html#setReadOnly
+"QDataBrowser::setSort" qdatabrowser.html#setSort
+"QDataBrowser::setSqlCursor" qdatabrowser.html#setSqlCursor
+"QDataBrowser::sort" qdatabrowser.html#sort
+"QDataBrowser::sort" qdatabrowser.html#sort-prop
+"QDataBrowser::sqlCursor" qdatabrowser.html#sqlCursor
+"QDataBrowser::update" qdatabrowser.html#update
+"QDataBrowser::updateBoundary" qdatabrowser.html#updateBoundary
+"QDataBrowser::updateCurrent" qdatabrowser.html#updateCurrent
+"QDataBrowser::writeFields" qdatabrowser.html#writeFields
+"QDataBrowser::~QDataBrowser" qdatabrowser.html#~QDataBrowser
+"QDataSink::eof" qdatasink.html#eof
+"QDataSink::maybeReady" qdatasink.html#maybeReady
+"QDataSink::readyToReceive" qdatasink.html#readyToReceive
+"QDataSink::receive" qdatasink.html#receive
+"QDataSource::enableRewind" qdatasource.html#enableRewind
+"QDataSource::maybeReady" qdatasource.html#maybeReady
+"QDataSource::readyToSend" qdatasource.html#readyToSend
+"QDataSource::rewind" qdatasource.html#rewind
+"QDataSource::rewindable" qdatasource.html#rewindable
+"QDataSource::sendTo" qdatasource.html#sendTo
+"QDataStream" qdatastream.html
+"QDataStream::ByteOrder" qdatastream.html#ByteOrder
+"QDataStream::atEnd" qdatastream.html#atEnd
+"QDataStream::byteOrder" qdatastream.html#byteOrder
+"QDataStream::device" qdatastream.html#device
+"QDataStream::isPrintableData" qdatastream.html#isPrintableData
+"QDataStream::operator<<" qdatastream.html#operator-lt-lt
+"QDataStream::operator>>" qdatastream.html#operator-gt-gt
+"QDataStream::readBytes" qdatastream.html#readBytes
+"QDataStream::readRawBytes" qdatastream.html#readRawBytes
+"QDataStream::setByteOrder" qdatastream.html#setByteOrder
+"QDataStream::setDevice" qdatastream.html#setDevice
+"QDataStream::setPrintableData" qdatastream.html#setPrintableData
+"QDataStream::setVersion" qdatastream.html#setVersion
+"QDataStream::unsetDevice" qdatastream.html#unsetDevice
+"QDataStream::version" qdatastream.html#version
+"QDataStream::writeBytes" qdatastream.html#writeBytes
+"QDataStream::writeRawBytes" qdatastream.html#writeRawBytes
+"QDataStream::~QDataStream" qdatastream.html#~QDataStream
+"QDataTable" qdatatable.html
+"QDataTable::Refresh" qdatatable.html#Refresh
+"QDataTable::addColumn" qdatatable.html#addColumn
+"QDataTable::adjustColumn" qdatatable.html#adjustColumn
+"QDataTable::autoDelete" qdatatable.html#autoDelete
+"QDataTable::autoEdit" qdatatable.html#autoEdit
+"QDataTable::autoEdit" qdatatable.html#autoEdit-prop
+"QDataTable::beforeDelete" qdatatable.html#beforeDelete
+"QDataTable::beforeInsert" qdatatable.html#beforeInsert
+"QDataTable::beforeUpdate" qdatatable.html#beforeUpdate
+"QDataTable::beginInsert" qdatatable.html#beginInsert
+"QDataTable::beginUpdate" qdatatable.html#beginUpdate
+"QDataTable::confirmCancel" qdatatable.html#confirmCancel
+"QDataTable::confirmCancels" qdatatable.html#confirmCancels
+"QDataTable::confirmCancels" qdatatable.html#confirmCancels-prop
+"QDataTable::confirmDelete" qdatatable.html#confirmDelete
+"QDataTable::confirmDelete" qdatatable.html#confirmDelete-prop
+"QDataTable::confirmEdit" qdatatable.html#confirmEdit
+"QDataTable::confirmEdits" qdatatable.html#confirmEdits
+"QDataTable::confirmEdits" qdatatable.html#confirmEdits-prop
+"QDataTable::confirmInsert" qdatatable.html#confirmInsert
+"QDataTable::confirmInsert" qdatatable.html#confirmInsert-prop
+"QDataTable::confirmUpdate" qdatatable.html#confirmUpdate
+"QDataTable::confirmUpdate" qdatatable.html#confirmUpdate-prop
+"QDataTable::currentChanged" qdatatable.html#currentChanged
+"QDataTable::currentRecord" qdatatable.html#currentRecord
+"QDataTable::cursorChanged" qdatatable.html#cursorChanged
+"QDataTable::dateFormat" qdatatable.html#dateFormat
+"QDataTable::dateFormat" qdatatable.html#dateFormat-prop
+"QDataTable::deleteCurrent" qdatatable.html#deleteCurrent
+"QDataTable::falseText" qdatatable.html#falseText
+"QDataTable::falseText" qdatatable.html#falseText-prop
+"QDataTable::fieldAlignment" qdatatable.html#fieldAlignment
+"QDataTable::filter" qdatatable.html#filter
+"QDataTable::filter" qdatatable.html#filter-prop
+"QDataTable::find" qdatatable.html#find
+"QDataTable::handleError" qdatatable.html#handleError
+"QDataTable::indexOf" qdatatable.html#indexOf
+"QDataTable::insertCurrent" qdatatable.html#insertCurrent
+"QDataTable::installEditorFactory" qdatatable.html#installEditorFactory
+"QDataTable::installPropertyMap" qdatatable.html#installPropertyMap
+"QDataTable::nullText" qdatatable.html#nullText
+"QDataTable::nullText" qdatatable.html#nullText-prop
+"QDataTable::numCols" qdatatable.html#numCols
+"QDataTable::numCols" qdatatable.html#numCols-prop
+"QDataTable::numRows" qdatatable.html#numRows
+"QDataTable::numRows" qdatatable.html#numRows-prop
+"QDataTable::paintField" qdatatable.html#paintField
+"QDataTable::primeDelete" qdatatable.html#primeDelete
+"QDataTable::primeInsert" qdatatable.html#primeInsert
+"QDataTable::primeUpdate" qdatatable.html#primeUpdate
+"QDataTable::refresh" qdatatable.html#refresh
+"QDataTable::removeColumn" qdatatable.html#removeColumn
+"QDataTable::reset" qdatatable.html#reset
+"QDataTable::setAutoDelete" qdatatable.html#setAutoDelete
+"QDataTable::setAutoEdit" qdatatable.html#setAutoEdit
+"QDataTable::setColumn" qdatatable.html#setColumn
+"QDataTable::setColumnWidth" qdatatable.html#setColumnWidth
+"QDataTable::setConfirmCancels" qdatatable.html#setConfirmCancels
+"QDataTable::setConfirmDelete" qdatatable.html#setConfirmDelete
+"QDataTable::setConfirmEdits" qdatatable.html#setConfirmEdits
+"QDataTable::setConfirmInsert" qdatatable.html#setConfirmInsert
+"QDataTable::setConfirmUpdate" qdatatable.html#setConfirmUpdate
+"QDataTable::setDateFormat" qdatatable.html#setDateFormat
+"QDataTable::setFalseText" qdatatable.html#setFalseText
+"QDataTable::setFilter" qdatatable.html#setFilter
+"QDataTable::setNullText" qdatatable.html#setNullText
+"QDataTable::setSize" qdatatable.html#setSize
+"QDataTable::setSort" qdatatable.html#setSort
+"QDataTable::setSqlCursor" qdatatable.html#setSqlCursor
+"QDataTable::setTrueText" qdatatable.html#setTrueText
+"QDataTable::sort" qdatatable.html#sort
+"QDataTable::sort" qdatatable.html#sort-prop
+"QDataTable::sortAscending" qdatatable.html#sortAscending
+"QDataTable::sortColumn" qdatatable.html#sortColumn
+"QDataTable::sortDescending" qdatatable.html#sortDescending
+"QDataTable::sqlCursor" qdatatable.html#sqlCursor
+"QDataTable::text" qdatatable.html#text
+"QDataTable::trueText" qdatatable.html#trueText
+"QDataTable::trueText" qdatatable.html#trueText-prop
+"QDataTable::updateCurrent" qdatatable.html#updateCurrent
+"QDataTable::value" qdatatable.html#value
+"QDataTable::~QDataTable" qdatatable.html#~QDataTable
+"QDataView" qdataview.html
+"QDataView::clearValues" qdataview.html#clearValues
+"QDataView::form" qdataview.html#form
+"QDataView::readFields" qdataview.html#readFields
+"QDataView::record" qdataview.html#record
+"QDataView::refresh" qdataview.html#refresh
+"QDataView::setForm" qdataview.html#setForm
+"QDataView::setRecord" qdataview.html#setRecord
+"QDataView::writeFields" qdataview.html#writeFields
+"QDataView::~QDataView" qdataview.html#~QDataView
+"QDate" qdate.html
+"QDate::addDays" qdate.html#addDays
+"QDate::addMonths" qdate.html#addMonths
+"QDate::addYears" qdate.html#addYears
+"QDate::currentDate" qdate.html#currentDate
+"QDate::day" qdate.html#day
+"QDate::dayOfWeek" qdate.html#dayOfWeek
+"QDate::dayOfYear" qdate.html#dayOfYear
+"QDate::daysInMonth" qdate.html#daysInMonth
+"QDate::daysInYear" qdate.html#daysInYear
+"QDate::daysTo" qdate.html#daysTo
+"QDate::fromString" qdate.html#fromString
+"QDate::isNull" qdate.html#isNull
+"QDate::isValid" qdate.html#isValid
+"QDate::leapYear" qdate.html#leapYear
+"QDate::longDayName" qdate.html#longDayName
+"QDate::longMonthName" qdate.html#longMonthName
+"QDate::month" qdate.html#month
+"QDate::operator!=" qdate.html#operator!-eq
+"QDate::operator<" qdate.html#operator-lt
+"QDate::operator<=" qdate.html#operator-lt-eq
+"QDate::operator==" qdate.html#operator-eq-eq
+"QDate::operator>" qdate.html#operator-gt
+"QDate::operator>=" qdate.html#operator-gt-eq
+"QDate::setYMD" qdate.html#setYMD
+"QDate::shortDayName" qdate.html#shortDayName
+"QDate::shortMonthName" qdate.html#shortMonthName
+"QDate::toString" qdate.html#toString
+"QDate::weekNumber" qdate.html#weekNumber
+"QDate::year" qdate.html#year
+"QDateEdit" qdateedit.html
+"QDateEdit::Order" qdateedit.html#Order
+"QDateEdit::autoAdvance" qdateedit.html#autoAdvance
+"QDateEdit::autoAdvance" qdateedit.html#autoAdvance-prop
+"QDateEdit::date" qdateedit.html#date
+"QDateEdit::date" qdateedit.html#date-prop
+"QDateEdit::fix" qdateedit.html#fix
+"QDateEdit::maxValue" qdateedit.html#maxValue
+"QDateEdit::maxValue" qdateedit.html#maxValue-prop
+"QDateEdit::minValue" qdateedit.html#minValue
+"QDateEdit::minValue" qdateedit.html#minValue-prop
+"QDateEdit::order" qdateedit.html#order
+"QDateEdit::order" qdateedit.html#order-prop
+"QDateEdit::sectionFormattedText" qdateedit.html#sectionFormattedText
+"QDateEdit::sectionLength" qdateedit.html#sectionLength
+"QDateEdit::sectionText" qdateedit.html#sectionText
+"QDateEdit::separator" qdateedit.html#separator
+"QDateEdit::setAutoAdvance" qdateedit.html#setAutoAdvance
+"QDateEdit::setDate" qdateedit.html#setDate
+"QDateEdit::setDay" qdateedit.html#setDay
+"QDateEdit::setMaxValue" qdateedit.html#setMaxValue
+"QDateEdit::setMinValue" qdateedit.html#setMinValue
+"QDateEdit::setMonth" qdateedit.html#setMonth
+"QDateEdit::setOrder" qdateedit.html#setOrder
+"QDateEdit::setRange" qdateedit.html#setRange
+"QDateEdit::setSeparator" qdateedit.html#setSeparator
+"QDateEdit::setYear" qdateedit.html#setYear
+"QDateEdit::updateButtons" qdateedit.html#updateButtons
+"QDateEdit::valueChanged" qdateedit.html#valueChanged
+"QDateEdit::~QDateEdit" qdateedit.html#~QDateEdit
+"QDateTime" qdatetime.html
+"QDateTime::addDays" qdatetime.html#addDays
+"QDateTime::addMonths" qdatetime.html#addMonths
+"QDateTime::addSecs" qdatetime.html#addSecs
+"QDateTime::addYears" qdatetime.html#addYears
+"QDateTime::currentDateTime" qdatetime.html#currentDateTime
+"QDateTime::date" qdatetime.html#date
+"QDateTime::daysTo" qdatetime.html#daysTo
+"QDateTime::fromString" qdatetime.html#fromString
+"QDateTime::isNull" qdatetime.html#isNull
+"QDateTime::isValid" qdatetime.html#isValid
+"QDateTime::operator!=" qdatetime.html#operator!-eq
+"QDateTime::operator<" qdatetime.html#operator-lt
+"QDateTime::operator<=" qdatetime.html#operator-lt-eq
+"QDateTime::operator==" qdatetime.html#operator-eq-eq
+"QDateTime::operator>" qdatetime.html#operator-gt
+"QDateTime::operator>=" qdatetime.html#operator-gt-eq
+"QDateTime::secsTo" qdatetime.html#secsTo
+"QDateTime::setDate" qdatetime.html#setDate
+"QDateTime::setTime" qdatetime.html#setTime
+"QDateTime::setTime_t" qdatetime.html#setTime_t
+"QDateTime::time" qdatetime.html#time
+"QDateTime::toString" qdatetime.html#toString
+"QDateTime::toTime_t" qdatetime.html#toTime_t
+"QDateTimeEdit" qdatetimeedit.html
+"QDateTimeEdit::autoAdvance" qdatetimeedit.html#autoAdvance
+"QDateTimeEdit::dateEdit" qdatetimeedit.html#dateEdit
+"QDateTimeEdit::dateTime" qdatetimeedit.html#dateTime
+"QDateTimeEdit::dateTime" qdatetimeedit.html#dateTime-prop
+"QDateTimeEdit::setAutoAdvance" qdatetimeedit.html#setAutoAdvance
+"QDateTimeEdit::setDateTime" qdatetimeedit.html#setDateTime
+"QDateTimeEdit::timeEdit" qdatetimeedit.html#timeEdit
+"QDateTimeEdit::valueChanged" qdatetimeedit.html#valueChanged
+"QDateTimeEdit::~QDateTimeEdit" qdatetimeedit.html#~QDateTimeEdit
+"QDateTimeEditBase" qdatetimeeditbase.html
+"QDeepCopy" qdeepcopy.html
+"QDeepCopy::operator T" qdeepcopy.html#operator-T
+"QDeepCopy::operator=" qdeepcopy.html#operator-eq
+"QDesktopWidget" qdesktopwidget.html
+"QDesktopWidget::availableGeometry" qdesktopwidget.html#availableGeometry
+"QDesktopWidget::isVirtualDesktop" qdesktopwidget.html#isVirtualDesktop
+"QDesktopWidget::numScreens" qdesktopwidget.html#numScreens
+"QDesktopWidget::primaryScreen" qdesktopwidget.html#primaryScreen
+"QDesktopWidget::resized" qdesktopwidget.html#resized
+"QDesktopWidget::screen" qdesktopwidget.html#screen
+"QDesktopWidget::screenGeometry" qdesktopwidget.html#screenGeometry
+"QDesktopWidget::screenNumber" qdesktopwidget.html#screenNumber
+"QDesktopWidget::~QDesktopWidget" qdesktopwidget.html#~QDesktopWidget
+"QDial" qdial.html
+"QDial::addLine" qdial.html#addLine
+"QDial::addPage" qdial.html#addPage
+"QDial::dialMoved" qdial.html#dialMoved
+"QDial::dialPressed" qdial.html#dialPressed
+"QDial::dialReleased" qdial.html#dialReleased
+"QDial::lineStep" qdial.html#lineStep
+"QDial::lineStep" qdial.html#lineStep-prop
+"QDial::maxValue" qdial.html#maxValue
+"QDial::maxValue" qdial.html#maxValue-prop
+"QDial::minValue" qdial.html#minValue
+"QDial::minValue" qdial.html#minValue-prop
+"QDial::notchSize" qdial.html#notchSize
+"QDial::notchSize" qdial.html#notchSize-prop
+"QDial::notchTarget" qdial.html#notchTarget
+"QDial::notchTarget" qdial.html#notchTarget-prop
+"QDial::notchesVisible" qdial.html#notchesVisible
+"QDial::notchesVisible" qdial.html#notchesVisible-prop
+"QDial::pageStep" qdial.html#pageStep
+"QDial::pageStep" qdial.html#pageStep-prop
+"QDial::rangeChange" qdial.html#rangeChange
+"QDial::repaintScreen" qdial.html#repaintScreen
+"QDial::setLineStep" qdial.html#setLineStep
+"QDial::setMaxValue" qdial.html#setMaxValue
+"QDial::setMinValue" qdial.html#setMinValue
+"QDial::setNotchTarget" qdial.html#setNotchTarget
+"QDial::setNotchesVisible" qdial.html#setNotchesVisible
+"QDial::setPageStep" qdial.html#setPageStep
+"QDial::setTracking" qdial.html#setTracking
+"QDial::setValue" qdial.html#setValue
+"QDial::setWrapping" qdial.html#setWrapping
+"QDial::subtractLine" qdial.html#subtractLine
+"QDial::subtractPage" qdial.html#subtractPage
+"QDial::tracking" qdial.html#tracking
+"QDial::tracking" qdial.html#tracking-prop
+"QDial::value" qdial.html#value
+"QDial::value" qdial.html#value-prop
+"QDial::valueChange" qdial.html#valueChange
+"QDial::valueChanged" qdial.html#valueChanged
+"QDial::wrapping" qdial.html#wrapping
+"QDial::wrapping" qdial.html#wrapping-prop
+"QDial::~QDial" qdial.html#~QDial
+"QDialog" qdialog.html
+"QDialog::DialogCode" qdialog.html#DialogCode
+"QDialog::accept" qdialog.html#accept
+"QDialog::done" qdialog.html#done
+"QDialog::exec" qdialog.html#exec
+"QDialog::extension" qdialog.html#extension
+"QDialog::isModal" qdialog.html#isModal
+"QDialog::isSizeGripEnabled" qdialog.html#isSizeGripEnabled
+"QDialog::modal" qdialog.html#modal-prop
+"QDialog::orientation" qdialog.html#orientation
+"QDialog::reject" qdialog.html#reject
+"QDialog::result" qdialog.html#result
+"QDialog::setExtension" qdialog.html#setExtension
+"QDialog::setModal" qdialog.html#setModal
+"QDialog::setOrientation" qdialog.html#setOrientation
+"QDialog::setResult" qdialog.html#setResult
+"QDialog::setSizeGripEnabled" qdialog.html#setSizeGripEnabled
+"QDialog::show" qdialog.html#show
+"QDialog::showExtension" qdialog.html#showExtension
+"QDialog::sizeGripEnabled" qdialog.html#sizeGripEnabled-prop
+"QDialog::~QDialog" qdialog.html#~QDialog
+"QDict" qdict.html
+"QDict::clear" qdict.html#clear
+"QDict::count" qdict.html#count
+"QDict::find" qdict.html#find
+"QDict::insert" qdict.html#insert
+"QDict::isEmpty" qdict.html#isEmpty
+"QDict::operator=" qdict.html#operator-eq
+"QDict::operator[]" qdict.html#operator[]
+"QDict::read" qdict.html#read
+"QDict::remove" qdict.html#remove
+"QDict::replace" qdict.html#replace
+"QDict::resize" qdict.html#resize
+"QDict::size" qdict.html#size
+"QDict::statistics" qdict.html#statistics
+"QDict::take" qdict.html#take
+"QDict::write" qdict.html#write
+"QDict::~QDict" qdict.html#~QDict
+"QDictIterator" qdictiterator.html
+"QDictIterator::count" qdictiterator.html#count
+"QDictIterator::current" qdictiterator.html#current
+"QDictIterator::currentKey" qdictiterator.html#currentKey
+"QDictIterator::isEmpty" qdictiterator.html#isEmpty
+"QDictIterator::operator type *" qdictiterator.html#operator-type-*
+"QDictIterator::operator()" qdictiterator.html#operator()
+"QDictIterator::operator++" qdictiterator.html#operator++
+"QDictIterator::toFirst" qdictiterator.html#toFirst
+"QDictIterator::~QDictIterator" qdictiterator.html#~QDictIterator
+"QDir" qdir-example.html
+"QDir" qdir.html
+"QDir::FilterSpec" qdir.html#FilterSpec
+"QDir::SortSpec" qdir.html#SortSpec
+"QDir::absFilePath" qdir.html#absFilePath
+"QDir::absPath" qdir.html#absPath
+"QDir::canonicalPath" qdir.html#canonicalPath
+"QDir::cd" qdir.html#cd
+"QDir::cdUp" qdir.html#cdUp
+"QDir::cleanDirPath" qdir.html#cleanDirPath
+"QDir::convertSeparators" qdir.html#convertSeparators
+"QDir::convertToAbs" qdir.html#convertToAbs
+"QDir::count" qdir.html#count
+"QDir::current" qdir.html#current
+"QDir::currentDirPath" qdir.html#currentDirPath
+"QDir::dirName" qdir.html#dirName
+"QDir::drives" qdir.html#drives
+"QDir::entryInfoList" qdir.html#entryInfoList
+"QDir::entryList" qdir.html#entryList
+"QDir::exists" qdir.html#exists
+"QDir::filePath" qdir.html#filePath
+"QDir::filter" qdir.html#filter
+"QDir::home" qdir.html#home
+"QDir::homeDirPath" qdir.html#homeDirPath
+"QDir::isReadable" qdir.html#isReadable
+"QDir::isRelative" qdir.html#isRelative
+"QDir::isRelativePath" qdir.html#isRelativePath
+"QDir::isRoot" qdir.html#isRoot
+"QDir::match" qdir.html#match
+"QDir::matchAllDirs" qdir.html#matchAllDirs
+"QDir::mkdir" qdir.html#mkdir
+"QDir::nameFilter" qdir.html#nameFilter
+"QDir::operator!=" qdir.html#operator!-eq
+"QDir::operator=" qdir.html#operator-eq
+"QDir::operator==" qdir.html#operator-eq-eq
+"QDir::operator[]" qdir.html#operator[]
+"QDir::path" qdir.html#path
+"QDir::refresh" qdir.html#refresh
+"QDir::remove" qdir.html#remove
+"QDir::rename" qdir.html#rename
+"QDir::rmdir" qdir.html#rmdir
+"QDir::root" qdir.html#root
+"QDir::rootDirPath" qdir.html#rootDirPath
+"QDir::separator" qdir.html#separator
+"QDir::setCurrent" qdir.html#setCurrent
+"QDir::setFilter" qdir.html#setFilter
+"QDir::setMatchAllDirs" qdir.html#setMatchAllDirs
+"QDir::setNameFilter" qdir.html#setNameFilter
+"QDir::setPath" qdir.html#setPath
+"QDir::setSorting" qdir.html#setSorting
+"QDir::sorting" qdir.html#sorting
+"QDir::~QDir" qdir.html#~QDir
+"QDirectPainter" qdirectpainter.html
+"QDirectPainter::depth" qdirectpainter.html#depth
+"QDirectPainter::frameBuffer" qdirectpainter.html#frameBuffer
+"QDirectPainter::height" qdirectpainter.html#height
+"QDirectPainter::lineStep" qdirectpainter.html#lineStep
+"QDirectPainter::numRects" qdirectpainter.html#numRects
+"QDirectPainter::offset" qdirectpainter.html#offset
+"QDirectPainter::rect" qdirectpainter.html#rect
+"QDirectPainter::region" qdirectpainter.html#region
+"QDirectPainter::setAreaChanged" qdirectpainter.html#setAreaChanged
+"QDirectPainter::size" qdirectpainter.html#size
+"QDirectPainter::transformOrientation" qdirectpainter.html#transformOrientation
+"QDirectPainter::width" qdirectpainter.html#width
+"QDirectPainter::xOffset" qdirectpainter.html#xOffset
+"QDirectPainter::yOffset" qdirectpainter.html#yOffset
+"QDirectPainter::~QDirectPainter" qdirectpainter.html#~QDirectPainter
+"QDiskFont::fontDef" qdiskfont.html#fontDef
+"QDiskFont::load" qdiskfont.html#load
+"QDns" qdns.html
+"QDns::RecordType" qdns.html#RecordType
+"QDns::addresses" qdns.html#addresses
+"QDns::canonicalName" qdns.html#canonicalName
+"QDns::hostNames" qdns.html#hostNames
+"QDns::isWorking" qdns.html#isWorking
+"QDns::label" qdns.html#label
+"QDns::mailServers" qdns.html#mailServers
+"QDns::qualifiedNames" qdns.html#qualifiedNames
+"QDns::recordType" qdns.html#recordType
+"QDns::resultsReady" qdns.html#resultsReady
+"QDns::servers" qdns.html#servers
+"QDns::setLabel" qdns.html#setLabel
+"QDns::setRecordType" qdns.html#setRecordType
+"QDns::setStartQueryTimer" qdns.html#setStartQueryTimer
+"QDns::texts" qdns.html#texts
+"QDns::~QDns" qdns.html#~QDns
+"QDockArea" qdockarea.html
+"QDockArea::HandlePosition" qdockarea.html#HandlePosition
+"QDockArea::count" qdockarea.html#count
+"QDockArea::count" qdockarea.html#count-prop
+"QDockArea::dockWindowList" qdockarea.html#dockWindowList
+"QDockArea::empty" qdockarea.html#empty-prop
+"QDockArea::handlePosition" qdockarea.html#handlePosition
+"QDockArea::handlePosition" qdockarea.html#handlePosition-prop
+"QDockArea::hasDockWindow" qdockarea.html#hasDockWindow
+"QDockArea::isDockWindowAccepted" qdockarea.html#isDockWindowAccepted
+"QDockArea::isEmpty" qdockarea.html#isEmpty
+"QDockArea::lineUp" qdockarea.html#lineUp
+"QDockArea::moveDockWindow" qdockarea.html#moveDockWindow
+"QDockArea::orientation" qdockarea.html#orientation
+"QDockArea::orientation" qdockarea.html#orientation-prop
+"QDockArea::removeDockWindow" qdockarea.html#removeDockWindow
+"QDockArea::setAcceptDockWindow" qdockarea.html#setAcceptDockWindow
+"QDockArea::~QDockArea" qdockarea.html#~QDockArea
+"QDockWindow" qdockwindow.html
+"QDockWindow::CloseMode" qdockwindow.html#CloseMode
+"QDockWindow::Place" qdockwindow.html#Place
+"QDockWindow::area" qdockwindow.html#area
+"QDockWindow::boxLayout" qdockwindow.html#boxLayout
+"QDockWindow::closeMode" qdockwindow.html#closeMode
+"QDockWindow::closeMode" qdockwindow.html#closeMode-prop
+"QDockWindow::dock" qdockwindow.html#dock
+"QDockWindow::fixedExtent" qdockwindow.html#fixedExtent
+"QDockWindow::horizontallyStretchable" qdockwindow.html#horizontallyStretchable-prop
+"QDockWindow::isCloseEnabled" qdockwindow.html#isCloseEnabled
+"QDockWindow::isHorizontallyStretchable" qdockwindow.html#isHorizontallyStretchable
+"QDockWindow::isMovingEnabled" qdockwindow.html#isMovingEnabled
+"QDockWindow::isResizeEnabled" qdockwindow.html#isResizeEnabled
+"QDockWindow::isStretchable" qdockwindow.html#isStretchable
+"QDockWindow::isVerticallyStretchable" qdockwindow.html#isVerticallyStretchable
+"QDockWindow::movingEnabled" qdockwindow.html#movingEnabled-prop
+"QDockWindow::newLine" qdockwindow.html#newLine
+"QDockWindow::newLine" qdockwindow.html#newLine-prop
+"QDockWindow::offset" qdockwindow.html#offset
+"QDockWindow::offset" qdockwindow.html#offset-prop
+"QDockWindow::opaqueMoving" qdockwindow.html#opaqueMoving
+"QDockWindow::opaqueMoving" qdockwindow.html#opaqueMoving-prop
+"QDockWindow::orientation" qdockwindow.html#orientation
+"QDockWindow::orientationChanged" qdockwindow.html#orientationChanged
+"QDockWindow::place" qdockwindow.html#place
+"QDockWindow::placeChanged" qdockwindow.html#placeChanged
+"QDockWindow::resizeEnabled" qdockwindow.html#resizeEnabled-prop
+"QDockWindow::setCloseMode" qdockwindow.html#setCloseMode
+"QDockWindow::setFixedExtentHeight" qdockwindow.html#setFixedExtentHeight
+"QDockWindow::setFixedExtentWidth" qdockwindow.html#setFixedExtentWidth
+"QDockWindow::setHorizontallyStretchable" qdockwindow.html#setHorizontallyStretchable
+"QDockWindow::setMovingEnabled" qdockwindow.html#setMovingEnabled
+"QDockWindow::setNewLine" qdockwindow.html#setNewLine
+"QDockWindow::setOffset" qdockwindow.html#setOffset
+"QDockWindow::setOpaqueMoving" qdockwindow.html#setOpaqueMoving
+"QDockWindow::setOrientation" qdockwindow.html#setOrientation
+"QDockWindow::setResizeEnabled" qdockwindow.html#setResizeEnabled
+"QDockWindow::setVerticallyStretchable" qdockwindow.html#setVerticallyStretchable
+"QDockWindow::setWidget" qdockwindow.html#setWidget
+"QDockWindow::stretchable" qdockwindow.html#stretchable-prop
+"QDockWindow::undock" qdockwindow.html#undock
+"QDockWindow::verticallyStretchable" qdockwindow.html#verticallyStretchable-prop
+"QDockWindow::visibilityChanged" qdockwindow.html#visibilityChanged
+"QDockWindow::widget" qdockwindow.html#widget
+"QDomAttr" qdomattr.html
+"QDomAttr::isAttr" qdomattr.html#isAttr
+"QDomAttr::name" qdomattr.html#name
+"QDomAttr::nodeType" qdomattr.html#nodeType
+"QDomAttr::operator=" qdomattr.html#operator-eq
+"QDomAttr::ownerElement" qdomattr.html#ownerElement
+"QDomAttr::setValue" qdomattr.html#setValue
+"QDomAttr::specified" qdomattr.html#specified
+"QDomAttr::value" qdomattr.html#value
+"QDomAttr::~QDomAttr" qdomattr.html#~QDomAttr
+"QDomCDATASection" qdomcdatasection.html
+"QDomCDATASection::isCDATASection" qdomcdatasection.html#isCDATASection
+"QDomCDATASection::nodeType" qdomcdatasection.html#nodeType
+"QDomCDATASection::operator=" qdomcdatasection.html#operator-eq
+"QDomCDATASection::~QDomCDATASection" qdomcdatasection.html#~QDomCDATASection
+"QDomCharacterData" qdomcharacterdata.html
+"QDomCharacterData::appendData" qdomcharacterdata.html#appendData
+"QDomCharacterData::data" qdomcharacterdata.html#data
+"QDomCharacterData::deleteData" qdomcharacterdata.html#deleteData
+"QDomCharacterData::insertData" qdomcharacterdata.html#insertData
+"QDomCharacterData::isCharacterData" qdomcharacterdata.html#isCharacterData
+"QDomCharacterData::length" qdomcharacterdata.html#length
+"QDomCharacterData::nodeType" qdomcharacterdata.html#nodeType
+"QDomCharacterData::operator=" qdomcharacterdata.html#operator-eq
+"QDomCharacterData::replaceData" qdomcharacterdata.html#replaceData
+"QDomCharacterData::setData" qdomcharacterdata.html#setData
+"QDomCharacterData::substringData" qdomcharacterdata.html#substringData
+"QDomCharacterData::~QDomCharacterData" qdomcharacterdata.html#~QDomCharacterData
+"QDomComment" qdomcomment.html
+"QDomComment::isComment" qdomcomment.html#isComment
+"QDomComment::nodeType" qdomcomment.html#nodeType
+"QDomComment::operator=" qdomcomment.html#operator-eq
+"QDomComment::~QDomComment" qdomcomment.html#~QDomComment
+"QDomDocument" qdomdocument.html
+"QDomDocument::createAttribute" qdomdocument.html#createAttribute
+"QDomDocument::createAttributeNS" qdomdocument.html#createAttributeNS
+"QDomDocument::createCDATASection" qdomdocument.html#createCDATASection
+"QDomDocument::createComment" qdomdocument.html#createComment
+"QDomDocument::createDocumentFragment" qdomdocument.html#createDocumentFragment
+"QDomDocument::createElement" qdomdocument.html#createElement
+"QDomDocument::createElementNS" qdomdocument.html#createElementNS
+"QDomDocument::createEntityReference" qdomdocument.html#createEntityReference
+"QDomDocument::createProcessingInstruction" qdomdocument.html#createProcessingInstruction
+"QDomDocument::createTextNode" qdomdocument.html#createTextNode
+"QDomDocument::doctype" qdomdocument.html#doctype
+"QDomDocument::documentElement" qdomdocument.html#documentElement
+"QDomDocument::elementById" qdomdocument.html#elementById
+"QDomDocument::elementsByTagName" qdomdocument.html#elementsByTagName
+"QDomDocument::elementsByTagNameNS" qdomdocument.html#elementsByTagNameNS
+"QDomDocument::implementation" qdomdocument.html#implementation
+"QDomDocument::importNode" qdomdocument.html#importNode
+"QDomDocument::isDocument" qdomdocument.html#isDocument
+"QDomDocument::nodeType" qdomdocument.html#nodeType
+"QDomDocument::operator=" qdomdocument.html#operator-eq
+"QDomDocument::setContent" qdomdocument.html#setContent
+"QDomDocument::toCString" qdomdocument.html#toCString
+"QDomDocument::toString" qdomdocument.html#toString
+"QDomDocument::~QDomDocument" qdomdocument.html#~QDomDocument
+"QDomDocumentFragment" qdomdocumentfragment.html
+"QDomDocumentFragment::isDocumentFragment" qdomdocumentfragment.html#isDocumentFragment
+"QDomDocumentFragment::nodeType" qdomdocumentfragment.html#nodeType
+"QDomDocumentFragment::operator=" qdomdocumentfragment.html#operator-eq
+"QDomDocumentFragment::~QDomDocumentFragment" qdomdocumentfragment.html#~QDomDocumentFragment
+"QDomDocumentType" qdomdocumenttype.html
+"QDomDocumentType::entities" qdomdocumenttype.html#entities
+"QDomDocumentType::internalSubset" qdomdocumenttype.html#internalSubset
+"QDomDocumentType::isDocumentType" qdomdocumenttype.html#isDocumentType
+"QDomDocumentType::name" qdomdocumenttype.html#name
+"QDomDocumentType::nodeType" qdomdocumenttype.html#nodeType
+"QDomDocumentType::notations" qdomdocumenttype.html#notations
+"QDomDocumentType::operator=" qdomdocumenttype.html#operator-eq
+"QDomDocumentType::publicId" qdomdocumenttype.html#publicId
+"QDomDocumentType::systemId" qdomdocumenttype.html#systemId
+"QDomDocumentType::~QDomDocumentType" qdomdocumenttype.html#~QDomDocumentType
+"QDomElement" qdomelement.html
+"QDomElement::attribute" qdomelement.html#attribute
+"QDomElement::attributeNS" qdomelement.html#attributeNS
+"QDomElement::attributeNode" qdomelement.html#attributeNode
+"QDomElement::attributeNodeNS" qdomelement.html#attributeNodeNS
+"QDomElement::attributes" qdomelement.html#attributes
+"QDomElement::elementsByTagName" qdomelement.html#elementsByTagName
+"QDomElement::elementsByTagNameNS" qdomelement.html#elementsByTagNameNS
+"QDomElement::hasAttribute" qdomelement.html#hasAttribute
+"QDomElement::hasAttributeNS" qdomelement.html#hasAttributeNS
+"QDomElement::isElement" qdomelement.html#isElement
+"QDomElement::nodeType" qdomelement.html#nodeType
+"QDomElement::operator=" qdomelement.html#operator-eq
+"QDomElement::removeAttribute" qdomelement.html#removeAttribute
+"QDomElement::removeAttributeNS" qdomelement.html#removeAttributeNS
+"QDomElement::removeAttributeNode" qdomelement.html#removeAttributeNode
+"QDomElement::setAttribute" qdomelement.html#setAttribute
+"QDomElement::setAttributeNS" qdomelement.html#setAttributeNS
+"QDomElement::setAttributeNode" qdomelement.html#setAttributeNode
+"QDomElement::setAttributeNodeNS" qdomelement.html#setAttributeNodeNS
+"QDomElement::setTagName" qdomelement.html#setTagName
+"QDomElement::tagName" qdomelement.html#tagName
+"QDomElement::text" qdomelement.html#text
+"QDomElement::~QDomElement" qdomelement.html#~QDomElement
+"QDomEntity" qdomentity.html
+"QDomEntity::isEntity" qdomentity.html#isEntity
+"QDomEntity::nodeType" qdomentity.html#nodeType
+"QDomEntity::notationName" qdomentity.html#notationName
+"QDomEntity::operator=" qdomentity.html#operator-eq
+"QDomEntity::publicId" qdomentity.html#publicId
+"QDomEntity::systemId" qdomentity.html#systemId
+"QDomEntity::~QDomEntity" qdomentity.html#~QDomEntity
+"QDomEntityReference" qdomentityreference.html
+"QDomEntityReference::isEntityReference" qdomentityreference.html#isEntityReference
+"QDomEntityReference::nodeType" qdomentityreference.html#nodeType
+"QDomEntityReference::operator=" qdomentityreference.html#operator-eq
+"QDomEntityReference::~QDomEntityReference" qdomentityreference.html#~QDomEntityReference
+"QDomImplementation" qdomimplementation.html
+"QDomImplementation::createDocument" qdomimplementation.html#createDocument
+"QDomImplementation::createDocumentType" qdomimplementation.html#createDocumentType
+"QDomImplementation::hasFeature" qdomimplementation.html#hasFeature
+"QDomImplementation::isNull" qdomimplementation.html#isNull
+"QDomImplementation::operator!=" qdomimplementation.html#operator!-eq
+"QDomImplementation::operator=" qdomimplementation.html#operator-eq
+"QDomImplementation::operator==" qdomimplementation.html#operator-eq-eq
+"QDomImplementation::~QDomImplementation" qdomimplementation.html#~QDomImplementation
+"QDomNamedNodeMap" qdomnamednodemap.html
+"QDomNamedNodeMap::contains" qdomnamednodemap.html#contains
+"QDomNamedNodeMap::count" qdomnamednodemap.html#count
+"QDomNamedNodeMap::item" qdomnamednodemap.html#item
+"QDomNamedNodeMap::length" qdomnamednodemap.html#length
+"QDomNamedNodeMap::namedItem" qdomnamednodemap.html#namedItem
+"QDomNamedNodeMap::namedItemNS" qdomnamednodemap.html#namedItemNS
+"QDomNamedNodeMap::operator!=" qdomnamednodemap.html#operator!-eq
+"QDomNamedNodeMap::operator=" qdomnamednodemap.html#operator-eq
+"QDomNamedNodeMap::operator==" qdomnamednodemap.html#operator-eq-eq
+"QDomNamedNodeMap::removeNamedItem" qdomnamednodemap.html#removeNamedItem
+"QDomNamedNodeMap::removeNamedItemNS" qdomnamednodemap.html#removeNamedItemNS
+"QDomNamedNodeMap::setNamedItem" qdomnamednodemap.html#setNamedItem
+"QDomNamedNodeMap::setNamedItemNS" qdomnamednodemap.html#setNamedItemNS
+"QDomNamedNodeMap::~QDomNamedNodeMap" qdomnamednodemap.html#~QDomNamedNodeMap
+"QDomNode" qdomnode.html
+"QDomNode::NodeType" qdomnode.html#NodeType
+"QDomNode::appendChild" qdomnode.html#appendChild
+"QDomNode::attributes" qdomnode.html#attributes
+"QDomNode::childNodes" qdomnode.html#childNodes
+"QDomNode::clear" qdomnode.html#clear
+"QDomNode::cloneNode" qdomnode.html#cloneNode
+"QDomNode::firstChild" qdomnode.html#firstChild
+"QDomNode::hasAttributes" qdomnode.html#hasAttributes
+"QDomNode::hasChildNodes" qdomnode.html#hasChildNodes
+"QDomNode::insertAfter" qdomnode.html#insertAfter
+"QDomNode::insertBefore" qdomnode.html#insertBefore
+"QDomNode::isAttr" qdomnode.html#isAttr
+"QDomNode::isCDATASection" qdomnode.html#isCDATASection
+"QDomNode::isCharacterData" qdomnode.html#isCharacterData
+"QDomNode::isComment" qdomnode.html#isComment
+"QDomNode::isDocument" qdomnode.html#isDocument
+"QDomNode::isDocumentFragment" qdomnode.html#isDocumentFragment
+"QDomNode::isDocumentType" qdomnode.html#isDocumentType
+"QDomNode::isElement" qdomnode.html#isElement
+"QDomNode::isEntity" qdomnode.html#isEntity
+"QDomNode::isEntityReference" qdomnode.html#isEntityReference
+"QDomNode::isNotation" qdomnode.html#isNotation
+"QDomNode::isNull" qdomnode.html#isNull
+"QDomNode::isProcessingInstruction" qdomnode.html#isProcessingInstruction
+"QDomNode::isSupported" qdomnode.html#isSupported
+"QDomNode::isText" qdomnode.html#isText
+"QDomNode::lastChild" qdomnode.html#lastChild
+"QDomNode::localName" qdomnode.html#localName
+"QDomNode::namedItem" qdomnode.html#namedItem
+"QDomNode::namespaceURI" qdomnode.html#namespaceURI
+"QDomNode::nextSibling" qdomnode.html#nextSibling
+"QDomNode::nodeName" qdomnode.html#nodeName
+"QDomNode::nodeType" qdomnode.html#nodeType
+"QDomNode::nodeValue" qdomnode.html#nodeValue
+"QDomNode::normalize" qdomnode.html#normalize
+"QDomNode::operator!=" qdomnode.html#operator!-eq
+"QDomNode::operator=" qdomnode.html#operator-eq
+"QDomNode::operator==" qdomnode.html#operator-eq-eq
+"QDomNode::ownerDocument" qdomnode.html#ownerDocument
+"QDomNode::parentNode" qdomnode.html#parentNode
+"QDomNode::prefix" qdomnode.html#prefix
+"QDomNode::previousSibling" qdomnode.html#previousSibling
+"QDomNode::removeChild" qdomnode.html#removeChild
+"QDomNode::replaceChild" qdomnode.html#replaceChild
+"QDomNode::save" qdomnode.html#save
+"QDomNode::setNodeValue" qdomnode.html#setNodeValue
+"QDomNode::setPrefix" qdomnode.html#setPrefix
+"QDomNode::toAttr" qdomnode.html#toAttr
+"QDomNode::toCDATASection" qdomnode.html#toCDATASection
+"QDomNode::toCharacterData" qdomnode.html#toCharacterData
+"QDomNode::toComment" qdomnode.html#toComment
+"QDomNode::toDocument" qdomnode.html#toDocument
+"QDomNode::toDocumentFragment" qdomnode.html#toDocumentFragment
+"QDomNode::toDocumentType" qdomnode.html#toDocumentType
+"QDomNode::toElement" qdomnode.html#toElement
+"QDomNode::toEntity" qdomnode.html#toEntity
+"QDomNode::toEntityReference" qdomnode.html#toEntityReference
+"QDomNode::toNotation" qdomnode.html#toNotation
+"QDomNode::toProcessingInstruction" qdomnode.html#toProcessingInstruction
+"QDomNode::toText" qdomnode.html#toText
+"QDomNode::~QDomNode" qdomnode.html#~QDomNode
+"QDomNodeList" qdomnodelist.html
+"QDomNodeList::count" qdomnodelist.html#count
+"QDomNodeList::item" qdomnodelist.html#item
+"QDomNodeList::length" qdomnodelist.html#length
+"QDomNodeList::operator!=" qdomnodelist.html#operator!-eq
+"QDomNodeList::operator=" qdomnodelist.html#operator-eq
+"QDomNodeList::operator==" qdomnodelist.html#operator-eq-eq
+"QDomNodeList::~QDomNodeList" qdomnodelist.html#~QDomNodeList
+"QDomNotation" qdomnotation.html
+"QDomNotation::isNotation" qdomnotation.html#isNotation
+"QDomNotation::nodeType" qdomnotation.html#nodeType
+"QDomNotation::operator=" qdomnotation.html#operator-eq
+"QDomNotation::publicId" qdomnotation.html#publicId
+"QDomNotation::systemId" qdomnotation.html#systemId
+"QDomNotation::~QDomNotation" qdomnotation.html#~QDomNotation
+"QDomProcessingInstruction" qdomprocessinginstruction.html
+"QDomProcessingInstruction::data" qdomprocessinginstruction.html#data
+"QDomProcessingInstruction::isProcessingInstruction" qdomprocessinginstruction.html#isProcessingInstruction
+"QDomProcessingInstruction::nodeType" qdomprocessinginstruction.html#nodeType
+"QDomProcessingInstruction::operator=" qdomprocessinginstruction.html#operator-eq
+"QDomProcessingInstruction::setData" qdomprocessinginstruction.html#setData
+"QDomProcessingInstruction::target" qdomprocessinginstruction.html#target
+"QDomProcessingInstruction::~QDomProcessingInstruction" qdomprocessinginstruction.html#~QDomProcessingInstruction
+"QDomText" qdomtext.html
+"QDomText::isText" qdomtext.html#isText
+"QDomText::nodeType" qdomtext.html#nodeType
+"QDomText::operator=" qdomtext.html#operator-eq
+"QDomText::splitText" qdomtext.html#splitText
+"QDomText::~QDomText" qdomtext.html#~QDomText
+"QDoubleValidator" qdoublevalidator.html
+"QDoubleValidator::bottom" qdoublevalidator.html#bottom
+"QDoubleValidator::bottom" qdoublevalidator.html#bottom-prop
+"QDoubleValidator::decimals" qdoublevalidator.html#decimals
+"QDoubleValidator::decimals" qdoublevalidator.html#decimals-prop
+"QDoubleValidator::setBottom" qdoublevalidator.html#setBottom
+"QDoubleValidator::setDecimals" qdoublevalidator.html#setDecimals
+"QDoubleValidator::setRange" qdoublevalidator.html#setRange
+"QDoubleValidator::setTop" qdoublevalidator.html#setTop
+"QDoubleValidator::top" qdoublevalidator.html#top
+"QDoubleValidator::top" qdoublevalidator.html#top-prop
+"QDoubleValidator::validate" qdoublevalidator.html#validate
+"QDoubleValidator::~QDoubleValidator" qdoublevalidator.html#~QDoubleValidator
+"QDragEnterEvent" qdragenterevent.html
+"QDragLeaveEvent" qdragleaveevent.html
+"QDragMoveEvent" qdragmoveevent.html
+"QDragMoveEvent::accept" qdragmoveevent.html#accept
+"QDragMoveEvent::answerRect" qdragmoveevent.html#answerRect
+"QDragMoveEvent::ignore" qdragmoveevent.html#ignore
+"QDragObject" qdragobject.html
+"QDragObject::DragMode" qdragobject.html#DragMode
+"QDragObject::drag" qdragobject.html#drag
+"QDragObject::dragCopy" qdragobject.html#dragCopy
+"QDragObject::dragLink" qdragobject.html#dragLink
+"QDragObject::dragMove" qdragobject.html#dragMove
+"QDragObject::pixmap" qdragobject.html#pixmap
+"QDragObject::pixmapHotSpot" qdragobject.html#pixmapHotSpot
+"QDragObject::setPixmap" qdragobject.html#setPixmap
+"QDragObject::source" qdragobject.html#source
+"QDragObject::target" qdragobject.html#target
+"QDragObject::~QDragObject" qdragobject.html#~QDragObject
+"QDropEvent" qdropevent.html
+"QDropEvent::Action" qdropevent.html#Action
+"QDropEvent::accept" qdropevent.html#accept
+"QDropEvent::acceptAction" qdropevent.html#acceptAction
+"QDropEvent::action" qdropevent.html#action
+"QDropEvent::encodedData" qdropevent.html#encodedData
+"QDropEvent::format" qdropevent.html#format
+"QDropEvent::ignore" qdropevent.html#ignore
+"QDropEvent::isAccepted" qdropevent.html#isAccepted
+"QDropEvent::isActionAccepted" qdropevent.html#isActionAccepted
+"QDropEvent::pos" qdropevent.html#pos
+"QDropEvent::provides" qdropevent.html#provides
+"QDropEvent::setAction" qdropevent.html#setAction
+"QDropEvent::setPoint" qdropevent.html#setPoint
+"QDropEvent::source" qdropevent.html#source
+"QDropSite::~QDropSite" qdropsite.html#~QDropSite
+"QEditorFactory" qeditorfactory.html
+"QEditorFactory::createEditor" qeditorfactory.html#createEditor
+"QEditorFactory::defaultFactory" qeditorfactory.html#defaultFactory
+"QEditorFactory::installDefaultFactory" qeditorfactory.html#installDefaultFactory
+"QEditorFactory::~QEditorFactory" qeditorfactory.html#~QEditorFactory
+"QEmbed - File and Image Embedder" qembed.html
+"QErrorMessage" qerrormessage.html
+"QErrorMessage::message" qerrormessage.html#message
+"QErrorMessage::qtHandler" qerrormessage.html#qtHandler
+"QErrorMessage::~QErrorMessage" qerrormessage.html#~QErrorMessage
+"QEucJpCodec" qeucjpcodec.html
+"QEucJpCodec::mibEnum" qeucjpcodec.html#mibEnum
+"QEucJpCodec::mimeName" qeucjpcodec.html#mimeName
+"QEucJpCodec::~QEucJpCodec" qeucjpcodec.html#~QEucJpCodec
+"QEucKrCodec" qeuckrcodec.html
+"QEucKrCodec::mimeName" qeuckrcodec.html#mimeName
+"QEvent" qevent.html
+"QEvent::Type" qevent.html#Type
+"QEvent::spontaneous" qevent.html#spontaneous
+"QEvent::type" qevent.html#type
+"QEvent::~QEvent" qevent.html#~QEvent
+"QEventLoop" qeventloop.html
+"QEventLoop::ProcessEvents" qeventloop.html#ProcessEvents
+"QEventLoop::ProcessEventsFlags" qeventloop.html#ProcessEventsFlags
+"QEventLoop::aboutToBlock" qeventloop.html#aboutToBlock
+"QEventLoop::activateSocketNotifiers" qeventloop.html#activateSocketNotifiers
+"QEventLoop::activateTimers" qeventloop.html#activateTimers
+"QEventLoop::awake" qeventloop.html#awake
+"QEventLoop::enterLoop" qeventloop.html#enterLoop
+"QEventLoop::exec" qeventloop.html#exec
+"QEventLoop::exit" qeventloop.html#exit
+"QEventLoop::exitLoop" qeventloop.html#exitLoop
+"QEventLoop::hasPendingEvents" qeventloop.html#hasPendingEvents
+"QEventLoop::loopLevel" qeventloop.html#loopLevel
+"QEventLoop::processEvents" qeventloop.html#processEvents
+"QEventLoop::registerSocketNotifier" qeventloop.html#registerSocketNotifier
+"QEventLoop::setSocketNotifierPending" qeventloop.html#setSocketNotifierPending
+"QEventLoop::timeToWait" qeventloop.html#timeToWait
+"QEventLoop::unregisterSocketNotifier" qeventloop.html#unregisterSocketNotifier
+"QEventLoop::wakeUp" qeventloop.html#wakeUp
+"QEventLoop::~QEventLoop" qeventloop.html#~QEventLoop
+"QFile" qfile.html
+"QFile::DecoderFn" qfile.html#DecoderFn
+"QFile::EncoderFn" qfile.html#EncoderFn
+"QFile::at" qfile.html#at
+"QFile::atEnd" qfile.html#atEnd
+"QFile::close" qfile.html#close
+"QFile::decodeName" qfile.html#decodeName
+"QFile::encodeName" qfile.html#encodeName
+"QFile::errorString" qfile.html#errorString
+"QFile::exists" qfile.html#exists
+"QFile::flush" qfile.html#flush
+"QFile::getch" qfile.html#getch
+"QFile::handle" qfile.html#handle
+"QFile::name" qfile.html#name
+"QFile::open" qfile.html#open
+"QFile::putch" qfile.html#putch
+"QFile::readLine" qfile.html#readLine
+"QFile::remove" qfile.html#remove
+"QFile::setDecodingFunction" qfile.html#setDecodingFunction
+"QFile::setEncodingFunction" qfile.html#setEncodingFunction
+"QFile::setErrorString" qfile.html#setErrorString
+"QFile::setName" qfile.html#setName
+"QFile::size" qfile.html#size
+"QFile::ungetch" qfile.html#ungetch
+"QFile::writeBlock" qfile.html#writeBlock
+"QFile::~QFile" qfile.html#~QFile
+"QFileDialog" qfiledialog.html
+"QFileDialog::Mode" qfiledialog.html#Mode
+"QFileDialog::PreviewMode" qfiledialog.html#PreviewMode
+"QFileDialog::ViewMode" qfiledialog.html#ViewMode
+"QFileDialog::addFilter" qfiledialog.html#addFilter
+"QFileDialog::addLeftWidget" qfiledialog.html#addLeftWidget
+"QFileDialog::addRightWidget" qfiledialog.html#addRightWidget
+"QFileDialog::addToolButton" qfiledialog.html#addToolButton
+"QFileDialog::addWidgets" qfiledialog.html#addWidgets
+"QFileDialog::contentsPreview" qfiledialog.html#contentsPreview-prop
+"QFileDialog::dir" qfiledialog.html#dir
+"QFileDialog::dirEntered" qfiledialog.html#dirEntered
+"QFileDialog::dirPath" qfiledialog.html#dirPath
+"QFileDialog::dirPath" qfiledialog.html#dirPath-prop
+"QFileDialog::fileHighlighted" qfiledialog.html#fileHighlighted
+"QFileDialog::fileNameEditDone" qfiledialog.html#fileNameEditDone
+"QFileDialog::fileSelected" qfiledialog.html#fileSelected
+"QFileDialog::filesSelected" qfiledialog.html#filesSelected
+"QFileDialog::filterSelected" qfiledialog.html#filterSelected
+"QFileDialog::fixupNameEdit" qfiledialog.html#fixupNameEdit
+"QFileDialog::getExistingDirectory" qfiledialog.html#getExistingDirectory
+"QFileDialog::getOpenFileName" qfiledialog.html#getOpenFileName
+"QFileDialog::getOpenFileNames" qfiledialog.html#getOpenFileNames
+"QFileDialog::getSaveFileName" qfiledialog.html#getSaveFileName
+"QFileDialog::iconProvider" qfiledialog.html#iconProvider
+"QFileDialog::infoPreview" qfiledialog.html#infoPreview-prop
+"QFileDialog::isContentsPreviewEnabled" qfiledialog.html#isContentsPreviewEnabled
+"QFileDialog::isInfoPreviewEnabled" qfiledialog.html#isInfoPreviewEnabled
+"QFileDialog::mode" qfiledialog.html#mode
+"QFileDialog::mode" qfiledialog.html#mode-prop
+"QFileDialog::modeButtonsDestroyed" qfiledialog.html#modeButtonsDestroyed
+"QFileDialog::previewMode" qfiledialog.html#previewMode
+"QFileDialog::previewMode" qfiledialog.html#previewMode-prop
+"QFileDialog::rereadDir" qfiledialog.html#rereadDir
+"QFileDialog::resortDir" qfiledialog.html#resortDir
+"QFileDialog::selectAll" qfiledialog.html#selectAll
+"QFileDialog::selectDirectoryOrFile" qfiledialog.html#selectDirectoryOrFile
+"QFileDialog::selectedFile" qfiledialog.html#selectedFile
+"QFileDialog::selectedFile" qfiledialog.html#selectedFile-prop
+"QFileDialog::selectedFiles" qfiledialog.html#selectedFiles
+"QFileDialog::selectedFiles" qfiledialog.html#selectedFiles-prop
+"QFileDialog::selectedFilter" qfiledialog.html#selectedFilter
+"QFileDialog::selectedFilter" qfiledialog.html#selectedFilter-prop
+"QFileDialog::setContentsPreview" qfiledialog.html#setContentsPreview
+"QFileDialog::setContentsPreviewEnabled" qfiledialog.html#setContentsPreviewEnabled
+"QFileDialog::setDir" qfiledialog.html#setDir
+"QFileDialog::setFilter" qfiledialog.html#setFilter
+"QFileDialog::setFilters" qfiledialog.html#setFilters
+"QFileDialog::setIconProvider" qfiledialog.html#setIconProvider
+"QFileDialog::setInfoPreview" qfiledialog.html#setInfoPreview
+"QFileDialog::setInfoPreviewEnabled" qfiledialog.html#setInfoPreviewEnabled
+"QFileDialog::setMode" qfiledialog.html#setMode
+"QFileDialog::setPreviewMode" qfiledialog.html#setPreviewMode
+"QFileDialog::setSelectedFilter" qfiledialog.html#setSelectedFilter
+"QFileDialog::setSelection" qfiledialog.html#setSelection
+"QFileDialog::setShowHiddenFiles" qfiledialog.html#setShowHiddenFiles
+"QFileDialog::setUrl" qfiledialog.html#setUrl
+"QFileDialog::setViewMode" qfiledialog.html#setViewMode
+"QFileDialog::showHiddenFiles" qfiledialog.html#showHiddenFiles
+"QFileDialog::showHiddenFiles" qfiledialog.html#showHiddenFiles-prop
+"QFileDialog::stopCopy" qfiledialog.html#stopCopy
+"QFileDialog::updateFileNameEdit" qfiledialog.html#updateFileNameEdit
+"QFileDialog::updateGeometries" qfiledialog.html#updateGeometries
+"QFileDialog::url" qfiledialog.html#url
+"QFileDialog::viewMode" qfiledialog.html#viewMode
+"QFileDialog::viewMode" qfiledialog.html#viewMode-prop
+"QFileDialog::~QFileDialog" qfiledialog.html#~QFileDialog
+"QFileIconProvider" qfileiconprovider.html
+"QFileIconProvider::pixmap" qfileiconprovider.html#pixmap
+"QFileInfo" qfileinfo.html
+"QFileInfo::PermissionSpec" qfileinfo.html#PermissionSpec
+"QFileInfo::absFilePath" qfileinfo.html#absFilePath
+"QFileInfo::baseName" qfileinfo.html#baseName
+"QFileInfo::caching" qfileinfo.html#caching
+"QFileInfo::convertToAbs" qfileinfo.html#convertToAbs
+"QFileInfo::created" qfileinfo.html#created
+"QFileInfo::dir" qfileinfo.html#dir
+"QFileInfo::dirPath" qfileinfo.html#dirPath
+"QFileInfo::exists" qfileinfo.html#exists
+"QFileInfo::extension" qfileinfo.html#extension
+"QFileInfo::fileName" qfileinfo.html#fileName
+"QFileInfo::filePath" qfileinfo.html#filePath
+"QFileInfo::group" qfileinfo.html#group
+"QFileInfo::groupId" qfileinfo.html#groupId
+"QFileInfo::isDir" qfileinfo.html#isDir
+"QFileInfo::isExecutable" qfileinfo.html#isExecutable
+"QFileInfo::isFile" qfileinfo.html#isFile
+"QFileInfo::isHidden" qfileinfo.html#isHidden
+"QFileInfo::isReadable" qfileinfo.html#isReadable
+"QFileInfo::isRelative" qfileinfo.html#isRelative
+"QFileInfo::isSymLink" qfileinfo.html#isSymLink
+"QFileInfo::isWritable" qfileinfo.html#isWritable
+"QFileInfo::lastModified" qfileinfo.html#lastModified
+"QFileInfo::lastRead" qfileinfo.html#lastRead
+"QFileInfo::operator=" qfileinfo.html#operator-eq
+"QFileInfo::owner" qfileinfo.html#owner
+"QFileInfo::ownerId" qfileinfo.html#ownerId
+"QFileInfo::permission" qfileinfo.html#permission
+"QFileInfo::readLink" qfileinfo.html#readLink
+"QFileInfo::refresh" qfileinfo.html#refresh
+"QFileInfo::setCaching" qfileinfo.html#setCaching
+"QFileInfo::setFile" qfileinfo.html#setFile
+"QFileInfo::size" qfileinfo.html#size
+"QFileInfo::~QFileInfo" qfileinfo.html#~QFileInfo
+"QFilePreview" qfilepreview.html
+"QFilePreview::previewUrl" qfilepreview.html#previewUrl
+"QFocusData" qfocusdata.html
+"QFocusData::count" qfocusdata.html#count
+"QFocusData::first" qfocusdata.html#first
+"QFocusData::focusWidget" qfocusdata.html#focusWidget
+"QFocusData::home" qfocusdata.html#home
+"QFocusData::last" qfocusdata.html#last
+"QFocusData::next" qfocusdata.html#next
+"QFocusData::prev" qfocusdata.html#prev
+"QFocusEvent" qfocusevent.html
+"QFocusEvent::Reason" qfocusevent.html#Reason
+"QFocusEvent::gotFocus" qfocusevent.html#gotFocus
+"QFocusEvent::lostFocus" qfocusevent.html#lostFocus
+"QFocusEvent::reason" qfocusevent.html#reason
+"QFocusEvent::resetReason" qfocusevent.html#resetReason
+"QFocusEvent::setReason" qfocusevent.html#setReason
+"QFont" qfont.html
+"QFont::Script" qfont.html#Script
+"QFont::Stretch" qfont.html#Stretch
+"QFont::StyleHint" qfont.html#StyleHint
+"QFont::StyleStrategy" qfont.html#StyleStrategy
+"QFont::Weight" qfont.html#Weight
+"QFont::bold" qfont.html#bold
+"QFont::deciPointSize" qfont.html#deciPointSize
+"QFont::defaultFamily" qfont.html#defaultFamily
+"QFont::dirty" qfont.html#dirty
+"QFont::exactMatch" qfont.html#exactMatch
+"QFont::family" qfont.html#family
+"QFont::fixedPitch" qfont.html#fixedPitch
+"QFont::fromString" qfont.html#fromString
+"QFont::handle" qfont.html#handle
+"QFont::insertSubstitution" qfont.html#insertSubstitution
+"QFont::insertSubstitutions" qfont.html#insertSubstitutions
+"QFont::isCopyOf" qfont.html#isCopyOf
+"QFont::italic" qfont.html#italic
+"QFont::key" qfont.html#key
+"QFont::lastResortFamily" qfont.html#lastResortFamily
+"QFont::lastResortFont" qfont.html#lastResortFont
+"QFont::operator!=" qfont.html#operator!-eq
+"QFont::operator=" qfont.html#operator-eq
+"QFont::operator==" qfont.html#operator-eq-eq
+"QFont::overline" qfont.html#overline
+"QFont::pixelSize" qfont.html#pixelSize
+"QFont::pointSize" qfont.html#pointSize
+"QFont::pointSizeFloat" qfont.html#pointSizeFloat
+"QFont::qwsRenderToDisk" qfont.html#qwsRenderToDisk
+"QFont::rawMode" qfont.html#rawMode
+"QFont::rawName" qfont.html#rawName
+"QFont::removeSubstitution" qfont.html#removeSubstitution
+"QFont::resolve" qfont.html#resolve
+"QFont::setBold" qfont.html#setBold
+"QFont::setFamily" qfont.html#setFamily
+"QFont::setFixedPitch" qfont.html#setFixedPitch
+"QFont::setItalic" qfont.html#setItalic
+"QFont::setOverline" qfont.html#setOverline
+"QFont::setPixelSize" qfont.html#setPixelSize
+"QFont::setPointSize" qfont.html#setPointSize
+"QFont::setPointSizeFloat" qfont.html#setPointSizeFloat
+"QFont::setRawMode" qfont.html#setRawMode
+"QFont::setRawName" qfont.html#setRawName
+"QFont::setStretch" qfont.html#setStretch
+"QFont::setStrikeOut" qfont.html#setStrikeOut
+"QFont::setStyleHint" qfont.html#setStyleHint
+"QFont::setStyleStrategy" qfont.html#setStyleStrategy
+"QFont::setUnderline" qfont.html#setUnderline
+"QFont::setWeight" qfont.html#setWeight
+"QFont::stretch" qfont.html#stretch
+"QFont::strikeOut" qfont.html#strikeOut
+"QFont::styleHint" qfont.html#styleHint
+"QFont::styleStrategy" qfont.html#styleStrategy
+"QFont::substitute" qfont.html#substitute
+"QFont::substitutes" qfont.html#substitutes
+"QFont::substitutions" qfont.html#substitutions
+"QFont::toString" qfont.html#toString
+"QFont::underline" qfont.html#underline
+"QFont::weight" qfont.html#weight
+"QFont::~QFont" qfont.html#~QFont
+"QFontDatabase" qfontdatabase.html
+"QFontDatabase::bold" qfontdatabase.html#bold
+"QFontDatabase::families" qfontdatabase.html#families
+"QFontDatabase::font" qfontdatabase.html#font
+"QFontDatabase::isBitmapScalable" qfontdatabase.html#isBitmapScalable
+"QFontDatabase::isFixedPitch" qfontdatabase.html#isFixedPitch
+"QFontDatabase::isScalable" qfontdatabase.html#isScalable
+"QFontDatabase::isSmoothlyScalable" qfontdatabase.html#isSmoothlyScalable
+"QFontDatabase::italic" qfontdatabase.html#italic
+"QFontDatabase::pointSizes" qfontdatabase.html#pointSizes
+"QFontDatabase::scriptName" qfontdatabase.html#scriptName
+"QFontDatabase::scriptSample" qfontdatabase.html#scriptSample
+"QFontDatabase::smoothSizes" qfontdatabase.html#smoothSizes
+"QFontDatabase::standardSizes" qfontdatabase.html#standardSizes
+"QFontDatabase::styleString" qfontdatabase.html#styleString
+"QFontDatabase::styles" qfontdatabase.html#styles
+"QFontDatabase::weight" qfontdatabase.html#weight
+"QFontDialog" qfontdialog.html
+"QFontDialog::getFont" qfontdialog.html#getFont
+"QFontInfo" qfontinfo.html
+"QFontInfo::bold" qfontinfo.html#bold
+"QFontInfo::exactMatch" qfontinfo.html#exactMatch
+"QFontInfo::family" qfontinfo.html#family
+"QFontInfo::fixedPitch" qfontinfo.html#fixedPitch
+"QFontInfo::italic" qfontinfo.html#italic
+"QFontInfo::operator=" qfontinfo.html#operator-eq
+"QFontInfo::pixelSize" qfontinfo.html#pixelSize
+"QFontInfo::pointSize" qfontinfo.html#pointSize
+"QFontInfo::rawMode" qfontinfo.html#rawMode
+"QFontInfo::styleHint" qfontinfo.html#styleHint
+"QFontInfo::weight" qfontinfo.html#weight
+"QFontInfo::~QFontInfo" qfontinfo.html#~QFontInfo
+"QFontManager" qfontmanager.html
+"QFontManager::cleanup" qfontmanager.html#cleanup
+"QFontManager::get" qfontmanager.html#get
+"QFontManager::initialize" qfontmanager.html#initialize
+"QFontManager::~QFontManager" qfontmanager.html#~QFontManager
+"QFontMetrics" qfontmetrics.html
+"QFontMetrics::ascent" qfontmetrics.html#ascent
+"QFontMetrics::boundingRect" qfontmetrics.html#boundingRect
+"QFontMetrics::charWidth" qfontmetrics.html#charWidth
+"QFontMetrics::descent" qfontmetrics.html#descent
+"QFontMetrics::height" qfontmetrics.html#height
+"QFontMetrics::inFont" qfontmetrics.html#inFont
+"QFontMetrics::leading" qfontmetrics.html#leading
+"QFontMetrics::leftBearing" qfontmetrics.html#leftBearing
+"QFontMetrics::lineSpacing" qfontmetrics.html#lineSpacing
+"QFontMetrics::lineWidth" qfontmetrics.html#lineWidth
+"QFontMetrics::maxWidth" qfontmetrics.html#maxWidth
+"QFontMetrics::minLeftBearing" qfontmetrics.html#minLeftBearing
+"QFontMetrics::minRightBearing" qfontmetrics.html#minRightBearing
+"QFontMetrics::operator=" qfontmetrics.html#operator-eq
+"QFontMetrics::overlinePos" qfontmetrics.html#overlinePos
+"QFontMetrics::rightBearing" qfontmetrics.html#rightBearing
+"QFontMetrics::size" qfontmetrics.html#size
+"QFontMetrics::strikeOutPos" qfontmetrics.html#strikeOutPos
+"QFontMetrics::underlinePos" qfontmetrics.html#underlinePos
+"QFontMetrics::width" qfontmetrics.html#width
+"QFontMetrics::~QFontMetrics" qfontmetrics.html#~QFontMetrics
+"QFrame" qframe.html
+"QFrame::Shadow" qframe.html#Shadow
+"QFrame::Shape" qframe.html#Shape
+"QFrame::contentsRect" qframe.html#contentsRect
+"QFrame::contentsRect" qframe.html#contentsRect-prop
+"QFrame::drawContents" qframe.html#drawContents
+"QFrame::drawFrame" qframe.html#drawFrame
+"QFrame::frameChanged" qframe.html#frameChanged
+"QFrame::frameRect" qframe.html#frameRect
+"QFrame::frameRect" qframe.html#frameRect-prop
+"QFrame::frameShadow" qframe.html#frameShadow
+"QFrame::frameShadow" qframe.html#frameShadow-prop
+"QFrame::frameShape" qframe.html#frameShape
+"QFrame::frameShape" qframe.html#frameShape-prop
+"QFrame::frameStyle" qframe.html#frameStyle
+"QFrame::frameWidth" qframe.html#frameWidth
+"QFrame::frameWidth" qframe.html#frameWidth-prop
+"QFrame::lineWidth" qframe.html#lineWidth
+"QFrame::lineWidth" qframe.html#lineWidth-prop
+"QFrame::margin" qframe.html#margin
+"QFrame::margin" qframe.html#margin-prop
+"QFrame::midLineWidth" qframe.html#midLineWidth
+"QFrame::midLineWidth" qframe.html#midLineWidth-prop
+"QFrame::paintEvent" qframe.html#paintEvent
+"QFrame::resizeEvent" qframe.html#resizeEvent
+"QFrame::setFrameRect" qframe.html#setFrameRect
+"QFrame::setFrameShadow" qframe.html#setFrameShadow
+"QFrame::setFrameShape" qframe.html#setFrameShape
+"QFrame::setFrameStyle" qframe.html#setFrameStyle
+"QFrame::setLineWidth" qframe.html#setLineWidth
+"QFrame::setMargin" qframe.html#setMargin
+"QFrame::setMidLineWidth" qframe.html#setMidLineWidth
+"QFtp" qftp.html
+"QFtp::Command" qftp.html#Command
+"QFtp::Error" qftp.html#Error
+"QFtp::State" qftp.html#State
+"QFtp::abort" qftp.html#abort
+"QFtp::bytesAvailable" qftp.html#bytesAvailable
+"QFtp::cd" qftp.html#cd
+"QFtp::clearPendingCommands" qftp.html#clearPendingCommands
+"QFtp::close" qftp.html#close
+"QFtp::commandFinished" qftp.html#commandFinished
+"QFtp::commandStarted" qftp.html#commandStarted
+"QFtp::connectToHost" qftp.html#connectToHost
+"QFtp::currentCommand" qftp.html#currentCommand
+"QFtp::currentDevice" qftp.html#currentDevice
+"QFtp::currentId" qftp.html#currentId
+"QFtp::dataTransferProgress" qftp.html#dataTransferProgress
+"QFtp::done" qftp.html#done
+"QFtp::error" qftp.html#error
+"QFtp::errorString" qftp.html#errorString
+"QFtp::get" qftp.html#get
+"QFtp::hasPendingCommands" qftp.html#hasPendingCommands
+"QFtp::list" qftp.html#list
+"QFtp::listInfo" qftp.html#listInfo
+"QFtp::login" qftp.html#login
+"QFtp::mkdir" qftp.html#mkdir
+"QFtp::put" qftp.html#put
+"QFtp::rawCommand" qftp.html#rawCommand
+"QFtp::rawCommandReply" qftp.html#rawCommandReply
+"QFtp::readAll" qftp.html#readAll
+"QFtp::readBlock" qftp.html#readBlock
+"QFtp::readyRead" qftp.html#readyRead
+"QFtp::remove" qftp.html#remove
+"QFtp::rename" qftp.html#rename
+"QFtp::rmdir" qftp.html#rmdir
+"QFtp::state" qftp.html#state
+"QFtp::stateChanged" qftp.html#stateChanged
+"QFtp::~QFtp" qftp.html#~QFtp
+"QGArray::assign" qgarray.html#assign
+"QGArray::at" qgarray.html#at
+"QGArray::bsearch" qgarray.html#bsearch
+"QGArray::contains" qgarray.html#contains
+"QGArray::data" qgarray.html#data
+"QGArray::deleteData" qgarray.html#deleteData
+"QGArray::detach" qgarray.html#detach
+"QGArray::duplicate" qgarray.html#duplicate
+"QGArray::fill" qgarray.html#fill
+"QGArray::find" qgarray.html#find
+"QGArray::isEqual" qgarray.html#isEqual
+"QGArray::msg_index" qgarray.html#msg_index
+"QGArray::newData" qgarray.html#newData
+"QGArray::nrefs" qgarray.html#nrefs
+"QGArray::operator=" qgarray.html#operator-eq
+"QGArray::resetRawData" qgarray.html#resetRawData
+"QGArray::resize" qgarray.html#resize
+"QGArray::setExpand" qgarray.html#setExpand
+"QGArray::setRawData" qgarray.html#setRawData
+"QGArray::setSharedBlock" qgarray.html#setSharedBlock
+"QGArray::sharedBlock" qgarray.html#sharedBlock
+"QGArray::size" qgarray.html#size
+"QGArray::sort" qgarray.html#sort
+"QGArray::store" qgarray.html#store
+"QGArray::~QGArray" qgarray.html#~QGArray
+"QGCache::clear" qgcache.html#clear
+"QGCache::count" qgcache.html#count
+"QGCache::find_other" qgcache.html#find_other
+"QGCache::find_string" qgcache.html#find_string
+"QGCache::insert_string" qgcache.html#insert_string
+"QGCache::makeRoomFor" qgcache.html#makeRoomFor
+"QGCache::maxCost" qgcache.html#maxCost
+"QGCache::operator=" qgcache.html#operator-eq
+"QGCache::remove_string" qgcache.html#remove_string
+"QGCache::setMaxCost" qgcache.html#setMaxCost
+"QGCache::size" qgcache.html#size
+"QGCache::statistics" qgcache.html#statistics
+"QGCache::take_other" qgcache.html#take_other
+"QGCache::take_string" qgcache.html#take_string
+"QGCache::totalCost" qgcache.html#totalCost
+"QGCache::~QGCache" qgcache.html#~QGCache
+"QGCacheIterator::atFirst" qgcacheiterator.html#atFirst
+"QGCacheIterator::atLast" qgcacheiterator.html#atLast
+"QGCacheIterator::count" qgcacheiterator.html#count
+"QGCacheIterator::get" qgcacheiterator.html#get
+"QGCacheIterator::getKeyAscii" qgcacheiterator.html#getKeyAscii
+"QGCacheIterator::getKeyInt" qgcacheiterator.html#getKeyInt
+"QGCacheIterator::getKeyString" qgcacheiterator.html#getKeyString
+"QGCacheIterator::operator()" qgcacheiterator.html#operator()
+"QGCacheIterator::operator++" qgcacheiterator.html#operator++
+"QGCacheIterator::operator+=" qgcacheiterator.html#operator+-eq
+"QGCacheIterator::operator--" qgcacheiterator.html#operator--
+"QGCacheIterator::operator-=" qgcacheiterator.html#operator--eq
+"QGCacheIterator::operator=" qgcacheiterator.html#operator-eq
+"QGCacheIterator::toFirst" qgcacheiterator.html#toFirst
+"QGCacheIterator::toLast" qgcacheiterator.html#toLast
+"QGCacheIterator::~QGCacheIterator" qgcacheiterator.html#~QGCacheIterator
+"QGDict::clear" qgdict.html#clear
+"QGDict::count" qgdict.html#count
+"QGDict::hashKeyAscii" qgdict.html#hashKeyAscii
+"QGDict::hashKeyString" qgdict.html#hashKeyString
+"QGDict::look_string" qgdict.html#look_string
+"QGDict::operator=" qgdict.html#operator-eq
+"QGDict::read" qgdict.html#read
+"QGDict::remove_string" qgdict.html#remove_string
+"QGDict::resize" qgdict.html#resize
+"QGDict::size" qgdict.html#size
+"QGDict::statistics" qgdict.html#statistics
+"QGDict::unlink_common" qgdict.html#unlink_common
+"QGDict::write" qgdict.html#write
+"QGDict::~QGDict" qgdict.html#~QGDict
+"QGDictIterator::operator()" qgdictiterator.html#operator()
+"QGDictIterator::operator++" qgdictiterator.html#operator++
+"QGDictIterator::operator+=" qgdictiterator.html#operator+-eq
+"QGDictIterator::operator=" qgdictiterator.html#operator-eq
+"QGDictIterator::toFirst" qgdictiterator.html#toFirst
+"QGDictIterator::~QGDictIterator" qgdictiterator.html#~QGDictIterator
+"QGL" qgl.html
+"QGL::FormatOption" qgl.html#FormatOption
+"QGLColormap" qglcolormap.html
+"QGLColormap::detach" qglcolormap.html#detach
+"QGLColormap::entryColor" qglcolormap.html#entryColor
+"QGLColormap::entryRgb" qglcolormap.html#entryRgb
+"QGLColormap::find" qglcolormap.html#find
+"QGLColormap::findNearest" qglcolormap.html#findNearest
+"QGLColormap::isEmpty" qglcolormap.html#isEmpty
+"QGLColormap::operator=" qglcolormap.html#operator-eq
+"QGLColormap::setEntries" qglcolormap.html#setEntries
+"QGLColormap::setEntry" qglcolormap.html#setEntry
+"QGLColormap::size" qglcolormap.html#size
+"QGLColormap::~QGLColormap" qglcolormap.html#~QGLColormap
+"QGLContext" qglcontext.html
+"QGLContext::chooseContext" qglcontext.html#chooseContext
+"QGLContext::chooseMacVisual" qglcontext.html#chooseMacVisual
+"QGLContext::choosePixelFormat" qglcontext.html#choosePixelFormat
+"QGLContext::chooseVisual" qglcontext.html#chooseVisual
+"QGLContext::create" qglcontext.html#create
+"QGLContext::currentContext" qglcontext.html#currentContext
+"QGLContext::device" qglcontext.html#device
+"QGLContext::deviceIsPixmap" qglcontext.html#deviceIsPixmap
+"QGLContext::doneCurrent" qglcontext.html#doneCurrent
+"QGLContext::format" qglcontext.html#format
+"QGLContext::generateFontDisplayLists" qglcontext.html#generateFontDisplayLists
+"QGLContext::initialized" qglcontext.html#initialized
+"QGLContext::isSharing" qglcontext.html#isSharing
+"QGLContext::isValid" qglcontext.html#isValid
+"QGLContext::makeCurrent" qglcontext.html#makeCurrent
+"QGLContext::overlayTransparentColor" qglcontext.html#overlayTransparentColor
+"QGLContext::requestedFormat" qglcontext.html#requestedFormat
+"QGLContext::reset" qglcontext.html#reset
+"QGLContext::setFormat" qglcontext.html#setFormat
+"QGLContext::setInitialized" qglcontext.html#setInitialized
+"QGLContext::setWindowCreated" qglcontext.html#setWindowCreated
+"QGLContext::swapBuffers" qglcontext.html#swapBuffers
+"QGLContext::windowCreated" qglcontext.html#windowCreated
+"QGLContext::~QGLContext" qglcontext.html#~QGLContext
+"QGLFormat" qglformat.html
+"QGLFormat::accum" qglformat.html#accum
+"QGLFormat::alpha" qglformat.html#alpha
+"QGLFormat::defaultFormat" qglformat.html#defaultFormat
+"QGLFormat::defaultOverlayFormat" qglformat.html#defaultOverlayFormat
+"QGLFormat::depth" qglformat.html#depth
+"QGLFormat::directRendering" qglformat.html#directRendering
+"QGLFormat::doubleBuffer" qglformat.html#doubleBuffer
+"QGLFormat::hasOpenGL" qglformat.html#hasOpenGL
+"QGLFormat::hasOpenGLOverlays" qglformat.html#hasOpenGLOverlays
+"QGLFormat::hasOverlay" qglformat.html#hasOverlay
+"QGLFormat::plane" qglformat.html#plane
+"QGLFormat::rgba" qglformat.html#rgba
+"QGLFormat::setAccum" qglformat.html#setAccum
+"QGLFormat::setAlpha" qglformat.html#setAlpha
+"QGLFormat::setDefaultFormat" qglformat.html#setDefaultFormat
+"QGLFormat::setDefaultOverlayFormat" qglformat.html#setDefaultOverlayFormat
+"QGLFormat::setDepth" qglformat.html#setDepth
+"QGLFormat::setDirectRendering" qglformat.html#setDirectRendering
+"QGLFormat::setDoubleBuffer" qglformat.html#setDoubleBuffer
+"QGLFormat::setOption" qglformat.html#setOption
+"QGLFormat::setOverlay" qglformat.html#setOverlay
+"QGLFormat::setPlane" qglformat.html#setPlane
+"QGLFormat::setRgba" qglformat.html#setRgba
+"QGLFormat::setStencil" qglformat.html#setStencil
+"QGLFormat::setStereo" qglformat.html#setStereo
+"QGLFormat::stencil" qglformat.html#stencil
+"QGLFormat::stereo" qglformat.html#stereo
+"QGLFormat::testOption" qglformat.html#testOption
+"QGLWidget" qglwidget.html
+"QGLWidget::autoBufferSwap" qglwidget.html#autoBufferSwap
+"QGLWidget::colormap" qglwidget.html#colormap
+"QGLWidget::context" qglwidget.html#context
+"QGLWidget::convertToGLFormat" qglwidget.html#convertToGLFormat
+"QGLWidget::doneCurrent" qglwidget.html#doneCurrent
+"QGLWidget::doubleBuffer" qglwidget.html#doubleBuffer
+"QGLWidget::format" qglwidget.html#format
+"QGLWidget::glDraw" qglwidget.html#glDraw
+"QGLWidget::glInit" qglwidget.html#glInit
+"QGLWidget::grabFrameBuffer" qglwidget.html#grabFrameBuffer
+"QGLWidget::initializeGL" qglwidget.html#initializeGL
+"QGLWidget::initializeOverlayGL" qglwidget.html#initializeOverlayGL
+"QGLWidget::isSharing" qglwidget.html#isSharing
+"QGLWidget::isValid" qglwidget.html#isValid
+"QGLWidget::makeCurrent" qglwidget.html#makeCurrent
+"QGLWidget::makeOverlayCurrent" qglwidget.html#makeOverlayCurrent
+"QGLWidget::overlayContext" qglwidget.html#overlayContext
+"QGLWidget::paintEvent" qglwidget.html#paintEvent
+"QGLWidget::paintGL" qglwidget.html#paintGL
+"QGLWidget::paintOverlayGL" qglwidget.html#paintOverlayGL
+"QGLWidget::qglClearColor" qglwidget.html#qglClearColor
+"QGLWidget::qglColor" qglwidget.html#qglColor
+"QGLWidget::renderPixmap" qglwidget.html#renderPixmap
+"QGLWidget::renderText" qglwidget.html#renderText
+"QGLWidget::resizeEvent" qglwidget.html#resizeEvent
+"QGLWidget::resizeGL" qglwidget.html#resizeGL
+"QGLWidget::resizeOverlayGL" qglwidget.html#resizeOverlayGL
+"QGLWidget::setAutoBufferSwap" qglwidget.html#setAutoBufferSwap
+"QGLWidget::setColormap" qglwidget.html#setColormap
+"QGLWidget::swapBuffers" qglwidget.html#swapBuffers
+"QGLWidget::updateGL" qglwidget.html#updateGL
+"QGLWidget::updateOverlayGL" qglwidget.html#updateOverlayGL
+"QGLWidget::~QGLWidget" qglwidget.html#~QGLWidget
+"QGLayoutIterator" qglayoutiterator.html
+"QGLayoutIterator::current" qglayoutiterator.html#current
+"QGLayoutIterator::next" qglayoutiterator.html#next
+"QGLayoutIterator::takeCurrent" qglayoutiterator.html#takeCurrent
+"QGLayoutIterator::~QGLayoutIterator" qglayoutiterator.html#~QGLayoutIterator
+"QGList::append" qglist.html#append
+"QGList::at" qglist.html#at
+"QGList::cfirst" qglist.html#cfirst
+"QGList::clast" qglist.html#clast
+"QGList::clear" qglist.html#clear
+"QGList::compareItems" qglist.html#compareItems
+"QGList::contains" qglist.html#contains
+"QGList::containsRef" qglist.html#containsRef
+"QGList::count" qglist.html#count
+"QGList::currentNode" qglist.html#currentNode
+"QGList::find" qglist.html#find
+"QGList::findRef" qglist.html#findRef
+"QGList::first" qglist.html#first
+"QGList::get" qglist.html#get
+"QGList::inSort" qglist.html#inSort
+"QGList::insertAt" qglist.html#insertAt
+"QGList::last" qglist.html#last
+"QGList::locate" qglist.html#locate
+"QGList::next" qglist.html#next
+"QGList::operator=" qglist.html#operator-eq
+"QGList::operator==" qglist.html#operator-eq-eq
+"QGList::prepend" qglist.html#prepend
+"QGList::prev" qglist.html#prev
+"QGList::read" qglist.html#read
+"QGList::relinkNode" qglist.html#relinkNode
+"QGList::remove" qglist.html#remove
+"QGList::removeAt" qglist.html#removeAt
+"QGList::removeFirst" qglist.html#removeFirst
+"QGList::removeLast" qglist.html#removeLast
+"QGList::removeNode" qglist.html#removeNode
+"QGList::removeRef" qglist.html#removeRef
+"QGList::replaceAt" qglist.html#replaceAt
+"QGList::sort" qglist.html#sort
+"QGList::take" qglist.html#take
+"QGList::takeAt" qglist.html#takeAt
+"QGList::takeFirst" qglist.html#takeFirst
+"QGList::takeLast" qglist.html#takeLast
+"QGList::takeNode" qglist.html#takeNode
+"QGList::toVector" qglist.html#toVector
+"QGList::unlink" qglist.html#unlink
+"QGList::write" qglist.html#write
+"QGList::~QGList" qglist.html#~QGList
+"QGVector::compareItems" qgvector.html#compareItems
+"QGVector::read" qgvector.html#read
+"QGVector::write" qgvector.html#write
+"QGb18030Codec" qgb18030codec.html
+"QGb2312Codec" qgb2312codec.html
+"QGbkCodec" qgbkcodec.html
+"QGfxDriverFactory" qgfxdriverfactory.html
+"QGfxDriverFactory::create" qgfxdriverfactory.html#create
+"QGfxDriverFactory::keys" qgfxdriverfactory.html#keys
+"QGfxDriverPlugin" qgfxdriverplugin.html
+"QGfxDriverPlugin::create" qgfxdriverplugin.html#create
+"QGfxDriverPlugin::keys" qgfxdriverplugin.html#keys
+"QGfxDriverPlugin::~QGfxDriverPlugin" qgfxdriverplugin.html#~QGfxDriverPlugin
+"QGfxRaster::vline" qgfxraster.html#vline
+"QGrid" qgrid.html
+"QGrid::setSpacing" qgrid.html#setSpacing
+"QGridLayout" qgridlayout.html
+"QGridLayout::Corner" qgridlayout.html#Corner
+"QGridLayout::add" qgridlayout.html#add
+"QGridLayout::addItem" qgridlayout.html#addItem
+"QGridLayout::addLayout" qgridlayout.html#addLayout
+"QGridLayout::addMultiCell" qgridlayout.html#addMultiCell
+"QGridLayout::addMultiCellLayout" qgridlayout.html#addMultiCellLayout
+"QGridLayout::addMultiCellWidget" qgridlayout.html#addMultiCellWidget
+"QGridLayout::addWidget" qgridlayout.html#addWidget
+"QGridLayout::cellGeometry" qgridlayout.html#cellGeometry
+"QGridLayout::colSpacing" qgridlayout.html#colSpacing
+"QGridLayout::colStretch" qgridlayout.html#colStretch
+"QGridLayout::expand" qgridlayout.html#expand
+"QGridLayout::expanding" qgridlayout.html#expanding
+"QGridLayout::findWidget" qgridlayout.html#findWidget
+"QGridLayout::hasHeightForWidth" qgridlayout.html#hasHeightForWidth
+"QGridLayout::heightForWidth" qgridlayout.html#heightForWidth
+"QGridLayout::init" qgridlayout.html#init
+"QGridLayout::invalidate" qgridlayout.html#invalidate
+"QGridLayout::maximumSize" qgridlayout.html#maximumSize
+"QGridLayout::minimumSize" qgridlayout.html#minimumSize
+"QGridLayout::numCols" qgridlayout.html#numCols
+"QGridLayout::numRows" qgridlayout.html#numRows
+"QGridLayout::origin" qgridlayout.html#origin
+"QGridLayout::rowSpacing" qgridlayout.html#rowSpacing
+"QGridLayout::rowStretch" qgridlayout.html#rowStretch
+"QGridLayout::setColSpacing" qgridlayout.html#setColSpacing
+"QGridLayout::setColStretch" qgridlayout.html#setColStretch
+"QGridLayout::setGeometry" qgridlayout.html#setGeometry
+"QGridLayout::setOrigin" qgridlayout.html#setOrigin
+"QGridLayout::setRowSpacing" qgridlayout.html#setRowSpacing
+"QGridLayout::setRowStretch" qgridlayout.html#setRowStretch
+"QGridLayout::sizeHint" qgridlayout.html#sizeHint
+"QGridLayout::~QGridLayout" qgridlayout.html#~QGridLayout
+"QGridView" qgridview.html
+"QGridView::cellGeometry" qgridview.html#cellGeometry
+"QGridView::cellHeight" qgridview.html#cellHeight
+"QGridView::cellHeight" qgridview.html#cellHeight-prop
+"QGridView::cellRect" qgridview.html#cellRect
+"QGridView::cellWidth" qgridview.html#cellWidth
+"QGridView::cellWidth" qgridview.html#cellWidth-prop
+"QGridView::columnAt" qgridview.html#columnAt
+"QGridView::dimensionChange" qgridview.html#dimensionChange
+"QGridView::ensureCellVisible" qgridview.html#ensureCellVisible
+"QGridView::gridSize" qgridview.html#gridSize
+"QGridView::numCols" qgridview.html#numCols
+"QGridView::numCols" qgridview.html#numCols-prop
+"QGridView::numRows" qgridview.html#numRows
+"QGridView::numRows" qgridview.html#numRows-prop
+"QGridView::paintCell" qgridview.html#paintCell
+"QGridView::paintEmptyArea" qgridview.html#paintEmptyArea
+"QGridView::repaintCell" qgridview.html#repaintCell
+"QGridView::rowAt" qgridview.html#rowAt
+"QGridView::setCellHeight" qgridview.html#setCellHeight
+"QGridView::setCellWidth" qgridview.html#setCellWidth
+"QGridView::setNumCols" qgridview.html#setNumCols
+"QGridView::setNumRows" qgridview.html#setNumRows
+"QGridView::updateCell" qgridview.html#updateCell
+"QGridView::~QGridView" qgridview.html#~QGridView
+"QGroupBox" qgroupbox.html
+"QGroupBox::addSpace" qgroupbox.html#addSpace
+"QGroupBox::alignment" qgroupbox.html#alignment
+"QGroupBox::alignment" qgroupbox.html#alignment-prop
+"QGroupBox::checkable" qgroupbox.html#checkable-prop
+"QGroupBox::checked" qgroupbox.html#checked-prop
+"QGroupBox::columns" qgroupbox.html#columns
+"QGroupBox::columns" qgroupbox.html#columns-prop
+"QGroupBox::flat" qgroupbox.html#flat-prop
+"QGroupBox::insideMargin" qgroupbox.html#insideMargin
+"QGroupBox::insideSpacing" qgroupbox.html#insideSpacing
+"QGroupBox::isCheckable" qgroupbox.html#isCheckable
+"QGroupBox::isChecked" qgroupbox.html#isChecked
+"QGroupBox::isFlat" qgroupbox.html#isFlat
+"QGroupBox::orientation" qgroupbox.html#orientation
+"QGroupBox::orientation" qgroupbox.html#orientation-prop
+"QGroupBox::setAlignment" qgroupbox.html#setAlignment
+"QGroupBox::setCheckable" qgroupbox.html#setCheckable
+"QGroupBox::setChecked" qgroupbox.html#setChecked
+"QGroupBox::setColumnLayout" qgroupbox.html#setColumnLayout
+"QGroupBox::setColumns" qgroupbox.html#setColumns
+"QGroupBox::setFlat" qgroupbox.html#setFlat
+"QGroupBox::setInsideMargin" qgroupbox.html#setInsideMargin
+"QGroupBox::setInsideSpacing" qgroupbox.html#setInsideSpacing
+"QGroupBox::setOrientation" qgroupbox.html#setOrientation
+"QGroupBox::setTitle" qgroupbox.html#setTitle
+"QGroupBox::title" qgroupbox.html#title
+"QGroupBox::title" qgroupbox.html#title-prop
+"QGroupBox::toggled" qgroupbox.html#toggled
+"QGroupBox::~QGroupBox" qgroupbox.html#~QGroupBox
+"QGuardedPtr" qguardedptr.html
+"QGuardedPtr::isNull" qguardedptr.html#isNull
+"QGuardedPtr::operator T *" qguardedptr.html#operator-T-*
+"QGuardedPtr::operator!=" qguardedptr.html#operator!-eq
+"QGuardedPtr::operator*" qguardedptr.html#operator*
+"QGuardedPtr::operator->" qguardedptr.html#operator--gt
+"QGuardedPtr::operator=" qguardedptr.html#operator-eq
+"QGuardedPtr::operator==" qguardedptr.html#operator-eq-eq
+"QGuardedPtr::~QGuardedPtr" qguardedptr.html#~QGuardedPtr
+"QHBox" qhbox.html
+"QHBox::setSpacing" qhbox.html#setSpacing
+"QHBox::setStretchFactor" qhbox.html#setStretchFactor
+"QHBoxLayout" qhboxlayout.html
+"QHBoxLayout::~QHBoxLayout" qhboxlayout.html#~QHBoxLayout
+"QHButtonGroup" qhbuttongroup.html
+"QHButtonGroup::~QHButtonGroup" qhbuttongroup.html#~QHButtonGroup
+"QHGroupBox" qhgroupbox.html
+"QHGroupBox::~QHGroupBox" qhgroupbox.html#~QHGroupBox
+"QHeader" qheader.html
+"QHeader::addLabel" qheader.html#addLabel
+"QHeader::adjustHeaderSize" qheader.html#adjustHeaderSize
+"QHeader::clicked" qheader.html#clicked
+"QHeader::count" qheader.html#count
+"QHeader::count" qheader.html#count-prop
+"QHeader::handleAt" qheader.html#handleAt
+"QHeader::handleColumnMove" qheader.html#handleColumnMove
+"QHeader::headerWidth" qheader.html#headerWidth
+"QHeader::iconSet" qheader.html#iconSet
+"QHeader::indexChange" qheader.html#indexChange
+"QHeader::isClickEnabled" qheader.html#isClickEnabled
+"QHeader::isMovingEnabled" qheader.html#isMovingEnabled
+"QHeader::isResizeEnabled" qheader.html#isResizeEnabled
+"QHeader::isStretchEnabled" qheader.html#isStretchEnabled
+"QHeader::label" qheader.html#label
+"QHeader::mapToIndex" qheader.html#mapToIndex
+"QHeader::mapToSection" qheader.html#mapToSection
+"QHeader::moveSection" qheader.html#moveSection
+"QHeader::moving" qheader.html#moving-prop
+"QHeader::offset" qheader.html#offset
+"QHeader::offset" qheader.html#offset-prop
+"QHeader::orientation" qheader.html#orientation
+"QHeader::orientation" qheader.html#orientation-prop
+"QHeader::paintSection" qheader.html#paintSection
+"QHeader::paintSectionLabel" qheader.html#paintSectionLabel
+"QHeader::pressed" qheader.html#pressed
+"QHeader::released" qheader.html#released
+"QHeader::removeLabel" qheader.html#removeLabel
+"QHeader::resizeSection" qheader.html#resizeSection
+"QHeader::sRect" qheader.html#sRect
+"QHeader::sectionAt" qheader.html#sectionAt
+"QHeader::sectionHandleDoubleClicked" qheader.html#sectionHandleDoubleClicked
+"QHeader::sectionPos" qheader.html#sectionPos
+"QHeader::sectionRect" qheader.html#sectionRect
+"QHeader::sectionSize" qheader.html#sectionSize
+"QHeader::setClickEnabled" qheader.html#setClickEnabled
+"QHeader::setLabel" qheader.html#setLabel
+"QHeader::setMovingEnabled" qheader.html#setMovingEnabled
+"QHeader::setOffset" qheader.html#setOffset
+"QHeader::setOrientation" qheader.html#setOrientation
+"QHeader::setResizeEnabled" qheader.html#setResizeEnabled
+"QHeader::setSortIndicator" qheader.html#setSortIndicator
+"QHeader::setStretchEnabled" qheader.html#setStretchEnabled
+"QHeader::setTracking" qheader.html#setTracking
+"QHeader::sizeChange" qheader.html#sizeChange
+"QHeader::sortIndicatorOrder" qheader.html#sortIndicatorOrder
+"QHeader::sortIndicatorSection" qheader.html#sortIndicatorSection
+"QHeader::stretching" qheader.html#stretching-prop
+"QHeader::tracking" qheader.html#tracking
+"QHeader::tracking" qheader.html#tracking-prop
+"QHeader::~QHeader" qheader.html#~QHeader
+"QHebrewCodec" qhebrewcodec.html
+"QHebrewCodec::fromUnicode" qhebrewcodec.html#fromUnicode
+"QHebrewCodec::mimeName" qhebrewcodec.html#mimeName
+"QHideEvent" qhideevent.html
+"QHostAddress" qhostaddress.html
+"QHostAddress::isIPv4Address" qhostaddress.html#isIPv4Address
+"QHostAddress::isIPv6Address" qhostaddress.html#isIPv6Address
+"QHostAddress::isNull" qhostaddress.html#isNull
+"QHostAddress::operator=" qhostaddress.html#operator-eq
+"QHostAddress::operator==" qhostaddress.html#operator-eq-eq
+"QHostAddress::setAddress" qhostaddress.html#setAddress
+"QHostAddress::toIPv4Address" qhostaddress.html#toIPv4Address
+"QHostAddress::toIPv6Address" qhostaddress.html#toIPv6Address
+"QHostAddress::toString" qhostaddress.html#toString
+"QHostAddress::~QHostAddress" qhostaddress.html#~QHostAddress
+"QHttp" qhttp.html
+"QHttp::Error" qhttp.html#Error
+"QHttp::State" qhttp.html#State
+"QHttp::abort" qhttp.html#abort
+"QHttp::bytesAvailable" qhttp.html#bytesAvailable
+"QHttp::clearPendingRequests" qhttp.html#clearPendingRequests
+"QHttp::closeConnection" qhttp.html#closeConnection
+"QHttp::currentDestinationDevice" qhttp.html#currentDestinationDevice
+"QHttp::currentId" qhttp.html#currentId
+"QHttp::currentRequest" qhttp.html#currentRequest
+"QHttp::currentSourceDevice" qhttp.html#currentSourceDevice
+"QHttp::dataReadProgress" qhttp.html#dataReadProgress
+"QHttp::dataSendProgress" qhttp.html#dataSendProgress
+"QHttp::done" qhttp.html#done
+"QHttp::error" qhttp.html#error
+"QHttp::errorString" qhttp.html#errorString
+"QHttp::get" qhttp.html#get
+"QHttp::hasPendingRequests" qhttp.html#hasPendingRequests
+"QHttp::head" qhttp.html#head
+"QHttp::post" qhttp.html#post
+"QHttp::readAll" qhttp.html#readAll
+"QHttp::readBlock" qhttp.html#readBlock
+"QHttp::readyRead" qhttp.html#readyRead
+"QHttp::request" qhttp.html#request
+"QHttp::requestFinished" qhttp.html#requestFinished
+"QHttp::requestStarted" qhttp.html#requestStarted
+"QHttp::responseHeaderReceived" qhttp.html#responseHeaderReceived
+"QHttp::setHost" qhttp.html#setHost
+"QHttp::state" qhttp.html#state
+"QHttp::stateChanged" qhttp.html#stateChanged
+"QHttp::~QHttp" qhttp.html#~QHttp
+"QHttpHeader" qhttpheader.html
+"QHttpHeader::contentLength" qhttpheader.html#contentLength
+"QHttpHeader::contentType" qhttpheader.html#contentType
+"QHttpHeader::hasContentLength" qhttpheader.html#hasContentLength
+"QHttpHeader::hasContentType" qhttpheader.html#hasContentType
+"QHttpHeader::hasKey" qhttpheader.html#hasKey
+"QHttpHeader::isValid" qhttpheader.html#isValid
+"QHttpHeader::keys" qhttpheader.html#keys
+"QHttpHeader::majorVersion" qhttpheader.html#majorVersion
+"QHttpHeader::minorVersion" qhttpheader.html#minorVersion
+"QHttpHeader::operator=" qhttpheader.html#operator-eq
+"QHttpHeader::removeValue" qhttpheader.html#removeValue
+"QHttpHeader::setContentLength" qhttpheader.html#setContentLength
+"QHttpHeader::setContentType" qhttpheader.html#setContentType
+"QHttpHeader::setValue" qhttpheader.html#setValue
+"QHttpHeader::toString" qhttpheader.html#toString
+"QHttpHeader::value" qhttpheader.html#value
+"QHttpHeader::~QHttpHeader" qhttpheader.html#~QHttpHeader
+"QHttpRequestHeader" qhttprequestheader.html
+"QHttpRequestHeader::majorVersion" qhttprequestheader.html#majorVersion
+"QHttpRequestHeader::method" qhttprequestheader.html#method
+"QHttpRequestHeader::minorVersion" qhttprequestheader.html#minorVersion
+"QHttpRequestHeader::path" qhttprequestheader.html#path
+"QHttpRequestHeader::setRequest" qhttprequestheader.html#setRequest
+"QHttpResponseHeader" qhttpresponseheader.html
+"QHttpResponseHeader::majorVersion" qhttpresponseheader.html#majorVersion
+"QHttpResponseHeader::minorVersion" qhttpresponseheader.html#minorVersion
+"QHttpResponseHeader::reasonPhrase" qhttpresponseheader.html#reasonPhrase
+"QHttpResponseHeader::setStatusLine" qhttpresponseheader.html#setStatusLine
+"QHttpResponseHeader::statusCode" qhttpresponseheader.html#statusCode
+"QIMEvent" qimevent.html
+"QIMEvent::accept" qimevent.html#accept
+"QIMEvent::cursorPos" qimevent.html#cursorPos
+"QIMEvent::ignore" qimevent.html#ignore
+"QIMEvent::isAccepted" qimevent.html#isAccepted
+"QIMEvent::selectionLength" qimevent.html#selectionLength
+"QIMEvent::text" qimevent.html#text
+"QIODevice" qiodevice.html
+"QIODevice::Offset" qiodevice.html#Offset
+"QIODevice::at" qiodevice.html#at
+"QIODevice::atEnd" qiodevice.html#atEnd
+"QIODevice::close" qiodevice.html#close
+"QIODevice::flags" qiodevice.html#flags
+"QIODevice::flush" qiodevice.html#flush
+"QIODevice::getch" qiodevice.html#getch
+"QIODevice::isAsynchronous" qiodevice.html#isAsynchronous
+"QIODevice::isBuffered" qiodevice.html#isBuffered
+"QIODevice::isCombinedAccess" qiodevice.html#isCombinedAccess
+"QIODevice::isDirectAccess" qiodevice.html#isDirectAccess
+"QIODevice::isInactive" qiodevice.html#isInactive
+"QIODevice::isOpen" qiodevice.html#isOpen
+"QIODevice::isRaw" qiodevice.html#isRaw
+"QIODevice::isReadWrite" qiodevice.html#isReadWrite
+"QIODevice::isReadable" qiodevice.html#isReadable
+"QIODevice::isSequentialAccess" qiodevice.html#isSequentialAccess
+"QIODevice::isSynchronous" qiodevice.html#isSynchronous
+"QIODevice::isTranslated" qiodevice.html#isTranslated
+"QIODevice::isWritable" qiodevice.html#isWritable
+"QIODevice::mode" qiodevice.html#mode
+"QIODevice::open" qiodevice.html#open
+"QIODevice::putch" qiodevice.html#putch
+"QIODevice::readAll" qiodevice.html#readAll
+"QIODevice::readBlock" qiodevice.html#readBlock
+"QIODevice::readLine" qiodevice.html#readLine
+"QIODevice::reset" qiodevice.html#reset
+"QIODevice::resetStatus" qiodevice.html#resetStatus
+"QIODevice::setFlags" qiodevice.html#setFlags
+"QIODevice::setMode" qiodevice.html#setMode
+"QIODevice::setState" qiodevice.html#setState
+"QIODevice::setStatus" qiodevice.html#setStatus
+"QIODevice::setType" qiodevice.html#setType
+"QIODevice::size" qiodevice.html#size
+"QIODevice::state" qiodevice.html#state
+"QIODevice::status" qiodevice.html#status
+"QIODevice::ungetch" qiodevice.html#ungetch
+"QIODevice::writeBlock" qiodevice.html#writeBlock
+"QIODevice::~QIODevice" qiodevice.html#~QIODevice
+"QIODeviceSource::enableRewind" qiodevicesource.html#enableRewind
+"QIODeviceSource::readyToSend" qiodevicesource.html#readyToSend
+"QIODeviceSource::rewind" qiodevicesource.html#rewind
+"QIODeviceSource::rewindable" qiodevicesource.html#rewindable
+"QIODeviceSource::sendTo" qiodevicesource.html#sendTo
+"QIODeviceSource::~QIODeviceSource" qiodevicesource.html#~QIODeviceSource
+"QIconDrag" qicondrag.html
+"QIconDrag::append" qicondrag.html#append
+"QIconDrag::canDecode" qicondrag.html#canDecode
+"QIconDrag::encodedData" qicondrag.html#encodedData
+"QIconDrag::~QIconDrag" qicondrag.html#~QIconDrag
+"QIconDragEvent" qicondragevent.html
+"QIconDragEvent::accept" qicondragevent.html#accept
+"QIconDragEvent::ignore" qicondragevent.html#ignore
+"QIconDragEvent::isAccepted" qicondragevent.html#isAccepted
+"QIconDragItem" qicondragitem.html
+"QIconDragItem::data" qicondragitem.html#data
+"QIconDragItem::setData" qicondragitem.html#setData
+"QIconDragItem::~QIconDragItem" qicondragitem.html#~QIconDragItem
+"QIconFactory" qiconfactory.html
+"QIconFactory::autoDelete" qiconfactory.html#autoDelete
+"QIconFactory::createPixmap" qiconfactory.html#createPixmap
+"QIconFactory::defaultFactory" qiconfactory.html#defaultFactory
+"QIconFactory::installDefaultFactory" qiconfactory.html#installDefaultFactory
+"QIconFactory::setAutoDelete" qiconfactory.html#setAutoDelete
+"QIconFactory::~QIconFactory" qiconfactory.html#~QIconFactory
+"QIconSet" qiconset.html
+"QIconSet::Mode" qiconset.html#Mode
+"QIconSet::Size" qiconset.html#Size
+"QIconSet::State" qiconset.html#State
+"QIconSet::clearGenerated" qiconset.html#clearGenerated
+"QIconSet::createDisabled" qiconset.html#createDisabled
+"QIconSet::createScaled" qiconset.html#createScaled
+"QIconSet::detach" qiconset.html#detach
+"QIconSet::iconSize" qiconset.html#iconSize
+"QIconSet::installIconFactory" qiconset.html#installIconFactory
+"QIconSet::isGenerated" qiconset.html#isGenerated
+"QIconSet::isNull" qiconset.html#isNull
+"QIconSet::operator=" qiconset.html#operator-eq
+"QIconSet::pixmap" qiconset.html#pixmap
+"QIconSet::reset" qiconset.html#reset
+"QIconSet::setIconSize" qiconset.html#setIconSize
+"QIconSet::setPixmap" qiconset.html#setPixmap
+"QIconSet::~QIconSet" qiconset.html#~QIconSet
+"QIconView" qiconview.html
+"QIconView::Arrangement" qiconview.html#Arrangement
+"QIconView::ItemTextPos" qiconview.html#ItemTextPos
+"QIconView::ResizeMode" qiconview.html#ResizeMode
+"QIconView::SelectionMode" qiconview.html#SelectionMode
+"QIconView::adjustItems" qiconview.html#adjustItems
+"QIconView::arrangeItemsInGrid" qiconview.html#arrangeItemsInGrid
+"QIconView::arrangement" qiconview.html#arrangement
+"QIconView::arrangement" qiconview.html#arrangement-prop
+"QIconView::autoArrange" qiconview.html#autoArrange
+"QIconView::autoArrange" qiconview.html#autoArrange-prop
+"QIconView::clear" qiconview.html#clear
+"QIconView::clearSelection" qiconview.html#clearSelection
+"QIconView::clicked" qiconview.html#clicked
+"QIconView::contextMenuRequested" qiconview.html#contextMenuRequested
+"QIconView::count" qiconview.html#count
+"QIconView::count" qiconview.html#count-prop
+"QIconView::currentChanged" qiconview.html#currentChanged
+"QIconView::currentItem" qiconview.html#currentItem
+"QIconView::doAutoScroll" qiconview.html#doAutoScroll
+"QIconView::doubleClicked" qiconview.html#doubleClicked
+"QIconView::dragObject" qiconview.html#dragObject
+"QIconView::drawBackground" qiconview.html#drawBackground
+"QIconView::drawDragShapes" qiconview.html#drawDragShapes
+"QIconView::drawRubber" qiconview.html#drawRubber
+"QIconView::dropped" qiconview.html#dropped
+"QIconView::emitSelectionChanged" qiconview.html#emitSelectionChanged
+"QIconView::ensureItemVisible" qiconview.html#ensureItemVisible
+"QIconView::findFirstVisibleItem" qiconview.html#findFirstVisibleItem
+"QIconView::findItem" qiconview.html#findItem
+"QIconView::findLastVisibleItem" qiconview.html#findLastVisibleItem
+"QIconView::firstItem" qiconview.html#firstItem
+"QIconView::gridX" qiconview.html#gridX
+"QIconView::gridX" qiconview.html#gridX-prop
+"QIconView::gridY" qiconview.html#gridY
+"QIconView::gridY" qiconview.html#gridY-prop
+"QIconView::index" qiconview.html#index
+"QIconView::initDragEnter" qiconview.html#initDragEnter
+"QIconView::insertInGrid" qiconview.html#insertInGrid
+"QIconView::insertItem" qiconview.html#insertItem
+"QIconView::invertSelection" qiconview.html#invertSelection
+"QIconView::isRenaming" qiconview.html#isRenaming
+"QIconView::itemRenamed" qiconview.html#itemRenamed
+"QIconView::itemTextBackground" qiconview.html#itemTextBackground
+"QIconView::itemTextBackground" qiconview.html#itemTextBackground-prop
+"QIconView::itemTextPos" qiconview.html#itemTextPos
+"QIconView::itemTextPos" qiconview.html#itemTextPos-prop
+"QIconView::itemsMovable" qiconview.html#itemsMovable
+"QIconView::itemsMovable" qiconview.html#itemsMovable-prop
+"QIconView::lastItem" qiconview.html#lastItem
+"QIconView::makeRowLayout" qiconview.html#makeRowLayout
+"QIconView::maxItemTextLength" qiconview.html#maxItemTextLength
+"QIconView::maxItemTextLength" qiconview.html#maxItemTextLength-prop
+"QIconView::maxItemWidth" qiconview.html#maxItemWidth
+"QIconView::maxItemWidth" qiconview.html#maxItemWidth-prop
+"QIconView::mouseButtonClicked" qiconview.html#mouseButtonClicked
+"QIconView::mouseButtonPressed" qiconview.html#mouseButtonPressed
+"QIconView::moved" qiconview.html#moved
+"QIconView::onItem" qiconview.html#onItem
+"QIconView::onViewport" qiconview.html#onViewport
+"QIconView::pressed" qiconview.html#pressed
+"QIconView::repaintItem" qiconview.html#repaintItem
+"QIconView::repaintSelectedItems" qiconview.html#repaintSelectedItems
+"QIconView::resizeMode" qiconview.html#resizeMode
+"QIconView::resizeMode" qiconview.html#resizeMode-prop
+"QIconView::returnPressed" qiconview.html#returnPressed
+"QIconView::rightButtonClicked" qiconview.html#rightButtonClicked
+"QIconView::rightButtonPressed" qiconview.html#rightButtonPressed
+"QIconView::selectAll" qiconview.html#selectAll
+"QIconView::selectionChanged" qiconview.html#selectionChanged
+"QIconView::selectionMode" qiconview.html#selectionMode
+"QIconView::selectionMode" qiconview.html#selectionMode-prop
+"QIconView::setArrangement" qiconview.html#setArrangement
+"QIconView::setAutoArrange" qiconview.html#setAutoArrange
+"QIconView::setCurrentItem" qiconview.html#setCurrentItem
+"QIconView::setGridX" qiconview.html#setGridX
+"QIconView::setGridY" qiconview.html#setGridY
+"QIconView::setItemTextBackground" qiconview.html#setItemTextBackground
+"QIconView::setItemTextPos" qiconview.html#setItemTextPos
+"QIconView::setItemsMovable" qiconview.html#setItemsMovable
+"QIconView::setMaxItemTextLength" qiconview.html#setMaxItemTextLength
+"QIconView::setMaxItemWidth" qiconview.html#setMaxItemWidth
+"QIconView::setResizeMode" qiconview.html#setResizeMode
+"QIconView::setSelected" qiconview.html#setSelected
+"QIconView::setSelectionMode" qiconview.html#setSelectionMode
+"QIconView::setShowToolTips" qiconview.html#setShowToolTips
+"QIconView::setSorting" qiconview.html#setSorting
+"QIconView::setSpacing" qiconview.html#setSpacing
+"QIconView::setWordWrapIconText" qiconview.html#setWordWrapIconText
+"QIconView::showToolTips" qiconview.html#showToolTips
+"QIconView::showToolTips" qiconview.html#showToolTips-prop
+"QIconView::slotUpdate" qiconview.html#slotUpdate
+"QIconView::sort" qiconview.html#sort
+"QIconView::sortDirection" qiconview.html#sortDirection
+"QIconView::sortDirection" qiconview.html#sortDirection-prop
+"QIconView::sorting" qiconview.html#sorting
+"QIconView::sorting" qiconview.html#sorting-prop
+"QIconView::spacing" qiconview.html#spacing
+"QIconView::spacing" qiconview.html#spacing-prop
+"QIconView::startDrag" qiconview.html#startDrag
+"QIconView::takeItem" qiconview.html#takeItem
+"QIconView::wordWrapIconText" qiconview.html#wordWrapIconText
+"QIconView::wordWrapIconText" qiconview.html#wordWrapIconText-prop
+"QIconView::~QIconView" qiconview.html#~QIconView
+"QIconViewItem" qiconviewitem.html
+"QIconViewItem::acceptDrop" qiconviewitem.html#acceptDrop
+"QIconViewItem::calcRect" qiconviewitem.html#calcRect
+"QIconViewItem::cancelRenameItem" qiconviewitem.html#cancelRenameItem
+"QIconViewItem::compare" qiconviewitem.html#compare
+"QIconViewItem::contains" qiconviewitem.html#contains
+"QIconViewItem::dragEnabled" qiconviewitem.html#dragEnabled
+"QIconViewItem::dragEntered" qiconviewitem.html#dragEntered
+"QIconViewItem::dragLeft" qiconviewitem.html#dragLeft
+"QIconViewItem::dropEnabled" qiconviewitem.html#dropEnabled
+"QIconViewItem::dropped" qiconviewitem.html#dropped
+"QIconViewItem::height" qiconviewitem.html#height
+"QIconViewItem::iconView" qiconviewitem.html#iconView
+"QIconViewItem::index" qiconviewitem.html#index
+"QIconViewItem::init" qiconviewitem.html#init
+"QIconViewItem::intersects" qiconviewitem.html#intersects
+"QIconViewItem::isSelectable" qiconviewitem.html#isSelectable
+"QIconViewItem::isSelected" qiconviewitem.html#isSelected
+"QIconViewItem::key" qiconviewitem.html#key
+"QIconViewItem::move" qiconviewitem.html#move
+"QIconViewItem::moveBy" qiconviewitem.html#moveBy
+"QIconViewItem::nextItem" qiconviewitem.html#nextItem
+"QIconViewItem::paintFocus" qiconviewitem.html#paintFocus
+"QIconViewItem::paintItem" qiconviewitem.html#paintItem
+"QIconViewItem::picture" qiconviewitem.html#picture
+"QIconViewItem::pixmap" qiconviewitem.html#pixmap
+"QIconViewItem::pixmapRect" qiconviewitem.html#pixmapRect
+"QIconViewItem::pos" qiconviewitem.html#pos
+"QIconViewItem::prevItem" qiconviewitem.html#prevItem
+"QIconViewItem::rect" qiconviewitem.html#rect
+"QIconViewItem::removeRenameBox" qiconviewitem.html#removeRenameBox
+"QIconViewItem::rename" qiconviewitem.html#rename
+"QIconViewItem::renameEnabled" qiconviewitem.html#renameEnabled
+"QIconViewItem::renameItem" qiconviewitem.html#renameItem
+"QIconViewItem::repaint" qiconviewitem.html#repaint
+"QIconViewItem::rtti" qiconviewitem.html#rtti
+"QIconViewItem::setDragEnabled" qiconviewitem.html#setDragEnabled
+"QIconViewItem::setDropEnabled" qiconviewitem.html#setDropEnabled
+"QIconViewItem::setItemRect" qiconviewitem.html#setItemRect
+"QIconViewItem::setKey" qiconviewitem.html#setKey
+"QIconViewItem::setPicture" qiconviewitem.html#setPicture
+"QIconViewItem::setPixmap" qiconviewitem.html#setPixmap
+"QIconViewItem::setPixmapRect" qiconviewitem.html#setPixmapRect
+"QIconViewItem::setRenameEnabled" qiconviewitem.html#setRenameEnabled
+"QIconViewItem::setSelectable" qiconviewitem.html#setSelectable
+"QIconViewItem::setSelected" qiconviewitem.html#setSelected
+"QIconViewItem::setText" qiconviewitem.html#setText
+"QIconViewItem::setTextRect" qiconviewitem.html#setTextRect
+"QIconViewItem::size" qiconviewitem.html#size
+"QIconViewItem::text" qiconviewitem.html#text
+"QIconViewItem::textRect" qiconviewitem.html#textRect
+"QIconViewItem::width" qiconviewitem.html#width
+"QIconViewItem::x" qiconviewitem.html#x
+"QIconViewItem::y" qiconviewitem.html#y
+"QIconViewItem::~QIconViewItem" qiconviewitem.html#~QIconViewItem
+"QImage" qimage.html
+"QImage::Endian" qimage.html#Endian
+"QImage::ScaleMode" qimage.html#ScaleMode
+"QImage::allGray" qimage.html#allGray
+"QImage::bitOrder" qimage.html#bitOrder
+"QImage::bits" qimage.html#bits
+"QImage::bytesPerLine" qimage.html#bytesPerLine
+"QImage::color" qimage.html#color
+"QImage::colorTable" qimage.html#colorTable
+"QImage::convertBitOrder" qimage.html#convertBitOrder
+"QImage::convertDepth" qimage.html#convertDepth
+"QImage::convertDepthWithPalette" qimage.html#convertDepthWithPalette
+"QImage::copy" qimage.html#copy
+"QImage::create" qimage.html#create
+"QImage::createAlphaMask" qimage.html#createAlphaMask
+"QImage::createHeuristicMask" qimage.html#createHeuristicMask
+"QImage::depth" qimage.html#depth
+"QImage::detach" qimage.html#detach
+"QImage::dotsPerMeterX" qimage.html#dotsPerMeterX
+"QImage::dotsPerMeterY" qimage.html#dotsPerMeterY
+"QImage::fill" qimage.html#fill
+"QImage::fromMimeSource" qimage.html#fromMimeSource
+"QImage::hasAlphaBuffer" qimage.html#hasAlphaBuffer
+"QImage::height" qimage.html#height
+"QImage::imageFormat" qimage.html#imageFormat
+"QImage::inputFormatList" qimage.html#inputFormatList
+"QImage::inputFormats" qimage.html#inputFormats
+"QImage::invertPixels" qimage.html#invertPixels
+"QImage::isGrayscale" qimage.html#isGrayscale
+"QImage::isNull" qimage.html#isNull
+"QImage::jumpTable" qimage.html#jumpTable
+"QImage::load" qimage.html#load
+"QImage::loadFromData" qimage.html#loadFromData
+"QImage::mirror" qimage.html#mirror
+"QImage::numBytes" qimage.html#numBytes
+"QImage::numColors" qimage.html#numColors
+"QImage::offset" qimage.html#offset
+"QImage::operator!=" qimage.html#operator!-eq
+"QImage::operator=" qimage.html#operator-eq
+"QImage::operator==" qimage.html#operator-eq-eq
+"QImage::outputFormatList" qimage.html#outputFormatList
+"QImage::outputFormats" qimage.html#outputFormats
+"QImage::pixel" qimage.html#pixel
+"QImage::pixelIndex" qimage.html#pixelIndex
+"QImage::rect" qimage.html#rect
+"QImage::reset" qimage.html#reset
+"QImage::save" qimage.html#save
+"QImage::scale" qimage.html#scale
+"QImage::scaleHeight" qimage.html#scaleHeight
+"QImage::scaleWidth" qimage.html#scaleWidth
+"QImage::scanLine" qimage.html#scanLine
+"QImage::setAlphaBuffer" qimage.html#setAlphaBuffer
+"QImage::setColor" qimage.html#setColor
+"QImage::setDotsPerMeterX" qimage.html#setDotsPerMeterX
+"QImage::setDotsPerMeterY" qimage.html#setDotsPerMeterY
+"QImage::setNumColors" qimage.html#setNumColors
+"QImage::setOffset" qimage.html#setOffset
+"QImage::setPixel" qimage.html#setPixel
+"QImage::setText" qimage.html#setText
+"QImage::size" qimage.html#size
+"QImage::smoothScale" qimage.html#smoothScale
+"QImage::swapRGB" qimage.html#swapRGB
+"QImage::systemBitOrder" qimage.html#systemBitOrder
+"QImage::systemByteOrder" qimage.html#systemByteOrder
+"QImage::text" qimage.html#text
+"QImage::textKeys" qimage.html#textKeys
+"QImage::textLanguages" qimage.html#textLanguages
+"QImage::textList" qimage.html#textList
+"QImage::valid" qimage.html#valid
+"QImage::width" qimage.html#width
+"QImage::xForm" qimage.html#xForm
+"QImage::~QImage" qimage.html#~QImage
+"QImageConsumer" qimageconsumer.html
+"QImageConsumer::changed" qimageconsumer.html#changed
+"QImageConsumer::end" qimageconsumer.html#end
+"QImageConsumer::frameDone" qimageconsumer.html#frameDone
+"QImageConsumer::setFramePeriod" qimageconsumer.html#setFramePeriod
+"QImageConsumer::setLooping" qimageconsumer.html#setLooping
+"QImageConsumer::setSize" qimageconsumer.html#setSize
+"QImageDecoder" qimagedecoder.html
+"QImageDecoder::decode" qimagedecoder.html#decode
+"QImageDecoder::format" qimagedecoder.html#format
+"QImageDecoder::formatName" qimagedecoder.html#formatName
+"QImageDecoder::image" qimagedecoder.html#image
+"QImageDecoder::inputFormats" qimagedecoder.html#inputFormats
+"QImageDecoder::registerDecoderFactory" qimagedecoder.html#registerDecoderFactory
+"QImageDecoder::unregisterDecoderFactory" qimagedecoder.html#unregisterDecoderFactory
+"QImageDecoder::~QImageDecoder" qimagedecoder.html#~QImageDecoder
+"QImageDrag" qimagedrag.html
+"QImageDrag::canDecode" qimagedrag.html#canDecode
+"QImageDrag::decode" qimagedrag.html#decode
+"QImageDrag::setImage" qimagedrag.html#setImage
+"QImageDrag::~QImageDrag" qimagedrag.html#~QImageDrag
+"QImageFormat" qimageformat.html
+"QImageFormat::decode" qimageformat.html#decode
+"QImageFormatPlugin" qimageformatplugin.html
+"QImageFormatPlugin::installIOHandler" qimageformatplugin.html#installIOHandler
+"QImageFormatPlugin::keys" qimageformatplugin.html#keys
+"QImageFormatPlugin::~QImageFormatPlugin" qimageformatplugin.html#~QImageFormatPlugin
+"QImageFormatType" qimageformattype.html
+"QImageFormatType::decoderFor" qimageformattype.html#decoderFor
+"QImageFormatType::formatName" qimageformattype.html#formatName
+"QImageFormatType::~QImageFormatType" qimageformattype.html#~QImageFormatType
+"QImageIO" qimageio.html
+"QImageIO::defineIOHandler" qimageio.html#defineIOHandler
+"QImageIO::description" qimageio.html#description
+"QImageIO::fileName" qimageio.html#fileName
+"QImageIO::format" qimageio.html#format
+"QImageIO::gamma" qimageio.html#gamma
+"QImageIO::image" qimageio.html#image
+"QImageIO::imageFormat" qimageio.html#imageFormat
+"QImageIO::init" qimageio.html#init
+"QImageIO::inputFormats" qimageio.html#inputFormats
+"QImageIO::ioDevice" qimageio.html#ioDevice
+"QImageIO::outputFormats" qimageio.html#outputFormats
+"QImageIO::parameters" qimageio.html#parameters
+"QImageIO::quality" qimageio.html#quality
+"QImageIO::read" qimageio.html#read
+"QImageIO::setDescription" qimageio.html#setDescription
+"QImageIO::setFileName" qimageio.html#setFileName
+"QImageIO::setFormat" qimageio.html#setFormat
+"QImageIO::setGamma" qimageio.html#setGamma
+"QImageIO::setIODevice" qimageio.html#setIODevice
+"QImageIO::setImage" qimageio.html#setImage
+"QImageIO::setParameters" qimageio.html#setParameters
+"QImageIO::setQuality" qimageio.html#setQuality
+"QImageIO::setStatus" qimageio.html#setStatus
+"QImageIO::status" qimageio.html#status
+"QImageIO::write" qimageio.html#write
+"QImageIO::~QImageIO" qimageio.html#~QImageIO
+"QInputDialog" qinputdialog.html
+"QInputDialog::Type" qinputdialog.html#Type
+"QInputDialog::comboBox" qinputdialog.html#comboBox
+"QInputDialog::editableComboBox" qinputdialog.html#editableComboBox
+"QInputDialog::getDouble" qinputdialog.html#getDouble
+"QInputDialog::getInteger" qinputdialog.html#getInteger
+"QInputDialog::getItem" qinputdialog.html#getItem
+"QInputDialog::getText" qinputdialog.html#getText
+"QInputDialog::lineEdit" qinputdialog.html#lineEdit
+"QInputDialog::setType" qinputdialog.html#setType
+"QInputDialog::spinBox" qinputdialog.html#spinBox
+"QInputDialog::type" qinputdialog.html#type
+"QInputDialog::~QInputDialog" qinputdialog.html#~QInputDialog
+"QIntCache" qintcache.html
+"QIntCache::clear" qintcache.html#clear
+"QIntCache::count" qintcache.html#count
+"QIntCache::find" qintcache.html#find
+"QIntCache::insert" qintcache.html#insert
+"QIntCache::isEmpty" qintcache.html#isEmpty
+"QIntCache::maxCost" qintcache.html#maxCost
+"QIntCache::operator[]" qintcache.html#operator[]
+"QIntCache::remove" qintcache.html#remove
+"QIntCache::setMaxCost" qintcache.html#setMaxCost
+"QIntCache::size" qintcache.html#size
+"QIntCache::statistics" qintcache.html#statistics
+"QIntCache::take" qintcache.html#take
+"QIntCache::totalCost" qintcache.html#totalCost
+"QIntCache::~QIntCache" qintcache.html#~QIntCache
+"QIntCacheIterator" qintcacheiterator.html
+"QIntCacheIterator::atFirst" qintcacheiterator.html#atFirst
+"QIntCacheIterator::atLast" qintcacheiterator.html#atLast
+"QIntCacheIterator::count" qintcacheiterator.html#count
+"QIntCacheIterator::current" qintcacheiterator.html#current
+"QIntCacheIterator::currentKey" qintcacheiterator.html#currentKey
+"QIntCacheIterator::isEmpty" qintcacheiterator.html#isEmpty
+"QIntCacheIterator::operator type *" qintcacheiterator.html#operator-type-*
+"QIntCacheIterator::operator()" qintcacheiterator.html#operator()
+"QIntCacheIterator::operator++" qintcacheiterator.html#operator++
+"QIntCacheIterator::operator+=" qintcacheiterator.html#operator+-eq
+"QIntCacheIterator::operator--" qintcacheiterator.html#operator--
+"QIntCacheIterator::operator-=" qintcacheiterator.html#operator--eq
+"QIntCacheIterator::operator=" qintcacheiterator.html#operator-eq
+"QIntCacheIterator::toFirst" qintcacheiterator.html#toFirst
+"QIntCacheIterator::toLast" qintcacheiterator.html#toLast
+"QIntDict" qintdict.html
+"QIntDict::clear" qintdict.html#clear
+"QIntDict::count" qintdict.html#count
+"QIntDict::find" qintdict.html#find
+"QIntDict::insert" qintdict.html#insert
+"QIntDict::isEmpty" qintdict.html#isEmpty
+"QIntDict::operator=" qintdict.html#operator-eq
+"QIntDict::operator[]" qintdict.html#operator[]
+"QIntDict::read" qintdict.html#read
+"QIntDict::remove" qintdict.html#remove
+"QIntDict::replace" qintdict.html#replace
+"QIntDict::resize" qintdict.html#resize
+"QIntDict::size" qintdict.html#size
+"QIntDict::statistics" qintdict.html#statistics
+"QIntDict::take" qintdict.html#take
+"QIntDict::write" qintdict.html#write
+"QIntDict::~QIntDict" qintdict.html#~QIntDict
+"QIntDictIterator" qintdictiterator.html
+"QIntDictIterator::count" qintdictiterator.html#count
+"QIntDictIterator::current" qintdictiterator.html#current
+"QIntDictIterator::currentKey" qintdictiterator.html#currentKey
+"QIntDictIterator::isEmpty" qintdictiterator.html#isEmpty
+"QIntDictIterator::operator type *" qintdictiterator.html#operator-type-*
+"QIntDictIterator::operator()" qintdictiterator.html#operator()
+"QIntDictIterator::operator++" qintdictiterator.html#operator++
+"QIntDictIterator::operator+=" qintdictiterator.html#operator+-eq
+"QIntDictIterator::toFirst" qintdictiterator.html#toFirst
+"QIntDictIterator::~QIntDictIterator" qintdictiterator.html#~QIntDictIterator
+"QIntValidator" qintvalidator.html
+"QIntValidator::bottom" qintvalidator.html#bottom
+"QIntValidator::bottom" qintvalidator.html#bottom-prop
+"QIntValidator::setBottom" qintvalidator.html#setBottom
+"QIntValidator::setRange" qintvalidator.html#setRange
+"QIntValidator::setTop" qintvalidator.html#setTop
+"QIntValidator::top" qintvalidator.html#top
+"QIntValidator::top" qintvalidator.html#top-prop
+"QIntValidator::validate" qintvalidator.html#validate
+"QIntValidator::~QIntValidator" qintvalidator.html#~QIntValidator
+"QJisCodec" qjiscodec.html
+"QJisCodec::mimeName" qjiscodec.html#mimeName
+"QKbdDriverFactory" qkbddriverfactory.html
+"QKbdDriverFactory::create" qkbddriverfactory.html#create
+"QKbdDriverFactory::keys" qkbddriverfactory.html#keys
+"QKbdDriverPlugin" qkbddriverplugin.html
+"QKbdDriverPlugin::create" qkbddriverplugin.html#create
+"QKbdDriverPlugin::keys" qkbddriverplugin.html#keys
+"QKbdDriverPlugin::~QKbdDriverPlugin" qkbddriverplugin.html#~QKbdDriverPlugin
+"QKeyEvent" qkeyevent.html
+"QKeyEvent::accept" qkeyevent.html#accept
+"QKeyEvent::ascii" qkeyevent.html#ascii
+"QKeyEvent::count" qkeyevent.html#count
+"QKeyEvent::ignore" qkeyevent.html#ignore
+"QKeyEvent::isAccepted" qkeyevent.html#isAccepted
+"QKeyEvent::isAutoRepeat" qkeyevent.html#isAutoRepeat
+"QKeyEvent::key" qkeyevent.html#key
+"QKeyEvent::state" qkeyevent.html#state
+"QKeyEvent::stateAfter" qkeyevent.html#stateAfter
+"QKeyEvent::text" qkeyevent.html#text
+"QKeySequence" qkeysequence.html
+"QKeySequence::assign" qkeysequence.html#assign
+"QKeySequence::count" qkeysequence.html#count
+"QKeySequence::decodeString" qkeysequence.html#decodeString
+"QKeySequence::encodeString" qkeysequence.html#encodeString
+"QKeySequence::isEmpty" qkeysequence.html#isEmpty
+"QKeySequence::matches" qkeysequence.html#matches
+"QKeySequence::operator QString" qkeysequence.html#operator-QString
+"QKeySequence::operator!=" qkeysequence.html#operator!-eq
+"QKeySequence::operator=" qkeysequence.html#operator-eq
+"QKeySequence::operator==" qkeysequence.html#operator-eq-eq
+"QKeySequence::operator[]" qkeysequence.html#operator[]
+"QKeySequence::~QKeySequence" qkeysequence.html#~QKeySequence
+"QLCDNumber" qlcdnumber.html
+"QLCDNumber::Mode" qlcdnumber.html#Mode
+"QLCDNumber::SegmentStyle" qlcdnumber.html#SegmentStyle
+"QLCDNumber::checkOverflow" qlcdnumber.html#checkOverflow
+"QLCDNumber::display" qlcdnumber.html#display
+"QLCDNumber::drawContents" qlcdnumber.html#drawContents
+"QLCDNumber::intValue" qlcdnumber.html#intValue
+"QLCDNumber::intValue" qlcdnumber.html#intValue-prop
+"QLCDNumber::mode" qlcdnumber.html#mode
+"QLCDNumber::mode" qlcdnumber.html#mode-prop
+"QLCDNumber::numDigits" qlcdnumber.html#numDigits
+"QLCDNumber::numDigits" qlcdnumber.html#numDigits-prop
+"QLCDNumber::overflow" qlcdnumber.html#overflow
+"QLCDNumber::segmentStyle" qlcdnumber.html#segmentStyle
+"QLCDNumber::segmentStyle" qlcdnumber.html#segmentStyle-prop
+"QLCDNumber::setBinMode" qlcdnumber.html#setBinMode
+"QLCDNumber::setDecMode" qlcdnumber.html#setDecMode
+"QLCDNumber::setHexMode" qlcdnumber.html#setHexMode
+"QLCDNumber::setMode" qlcdnumber.html#setMode
+"QLCDNumber::setNumDigits" qlcdnumber.html#setNumDigits
+"QLCDNumber::setOctMode" qlcdnumber.html#setOctMode
+"QLCDNumber::setSegmentStyle" qlcdnumber.html#setSegmentStyle
+"QLCDNumber::setSmallDecimalPoint" qlcdnumber.html#setSmallDecimalPoint
+"QLCDNumber::smallDecimalPoint" qlcdnumber.html#smallDecimalPoint
+"QLCDNumber::smallDecimalPoint" qlcdnumber.html#smallDecimalPoint-prop
+"QLCDNumber::value" qlcdnumber.html#value
+"QLCDNumber::value" qlcdnumber.html#value-prop
+"QLCDNumber::~QLCDNumber" qlcdnumber.html#~QLCDNumber
+"QLNode::getData" qlnode.html#getData
+"QLabel" qlabel.html
+"QLabel::alignment" qlabel.html#alignment
+"QLabel::alignment" qlabel.html#alignment-prop
+"QLabel::backgroundMode" qlabel.html#backgroundMode-prop
+"QLabel::buddy" qlabel.html#buddy
+"QLabel::clear" qlabel.html#clear
+"QLabel::drawContents" qlabel.html#drawContents
+"QLabel::hasScaledContents" qlabel.html#hasScaledContents
+"QLabel::indent" qlabel.html#indent
+"QLabel::indent" qlabel.html#indent-prop
+"QLabel::movie" qlabel.html#movie
+"QLabel::picture" qlabel.html#picture
+"QLabel::pixmap" qlabel.html#pixmap
+"QLabel::pixmap" qlabel.html#pixmap-prop
+"QLabel::scaledContents" qlabel.html#scaledContents-prop
+"QLabel::setAlignment" qlabel.html#setAlignment
+"QLabel::setBuddy" qlabel.html#setBuddy
+"QLabel::setFont" qlabel.html#setFont
+"QLabel::setIndent" qlabel.html#setIndent
+"QLabel::setMovie" qlabel.html#setMovie
+"QLabel::setNum" qlabel.html#setNum
+"QLabel::setPicture" qlabel.html#setPicture
+"QLabel::setPixmap" qlabel.html#setPixmap
+"QLabel::setScaledContents" qlabel.html#setScaledContents
+"QLabel::setText" qlabel.html#setText
+"QLabel::setTextFormat" qlabel.html#setTextFormat
+"QLabel::sizeForWidth" qlabel.html#sizeForWidth
+"QLabel::text" qlabel.html#text
+"QLabel::text" qlabel.html#text-prop
+"QLabel::textFormat" qlabel.html#textFormat
+"QLabel::textFormat" qlabel.html#textFormat-prop
+"QLabel::updateLabel" qlabel.html#updateLabel
+"QLabel::~QLabel" qlabel.html#~QLabel
+"QLayout" qlayout.html
+"QLayout::ResizeMode" qlayout.html#ResizeMode
+"QLayout::activate" qlayout.html#activate
+"QLayout::add" qlayout.html#add
+"QLayout::addChildLayout" qlayout.html#addChildLayout
+"QLayout::addItem" qlayout.html#addItem
+"QLayout::alignmentRect" qlayout.html#alignmentRect
+"QLayout::autoAdd" qlayout.html#autoAdd
+"QLayout::deleteAllItems" qlayout.html#deleteAllItems
+"QLayout::expanding" qlayout.html#expanding
+"QLayout::invalidate" qlayout.html#invalidate
+"QLayout::isEmpty" qlayout.html#isEmpty
+"QLayout::isEnabled" qlayout.html#isEnabled
+"QLayout::isTopLevel" qlayout.html#isTopLevel
+"QLayout::iterator" qlayout.html#iterator
+"QLayout::mainWidget" qlayout.html#mainWidget
+"QLayout::margin" qlayout.html#margin
+"QLayout::margin" qlayout.html#margin-prop
+"QLayout::maximumSize" qlayout.html#maximumSize
+"QLayout::menuBar" qlayout.html#menuBar
+"QLayout::minimumSize" qlayout.html#minimumSize
+"QLayout::remove" qlayout.html#remove
+"QLayout::removeItem" qlayout.html#removeItem
+"QLayout::resizeMode" qlayout.html#resizeMode
+"QLayout::resizeMode" qlayout.html#resizeMode-prop
+"QLayout::setAutoAdd" qlayout.html#setAutoAdd
+"QLayout::setEnabled" qlayout.html#setEnabled
+"QLayout::setGeometry" qlayout.html#setGeometry
+"QLayout::setMargin" qlayout.html#setMargin
+"QLayout::setMenuBar" qlayout.html#setMenuBar
+"QLayout::setResizeMode" qlayout.html#setResizeMode
+"QLayout::setSpacing" qlayout.html#setSpacing
+"QLayout::setSupportsMargin" qlayout.html#setSupportsMargin
+"QLayout::setWidgetLayout" qlayout.html#setWidgetLayout
+"QLayout::spacing" qlayout.html#spacing
+"QLayout::spacing" qlayout.html#spacing-prop
+"QLayout::supportsMargin" qlayout.html#supportsMargin
+"QLayoutItem" qlayoutitem.html
+"QLayoutItem::alignment" qlayoutitem.html#alignment
+"QLayoutItem::expanding" qlayoutitem.html#expanding
+"QLayoutItem::geometry" qlayoutitem.html#geometry
+"QLayoutItem::hasHeightForWidth" qlayoutitem.html#hasHeightForWidth
+"QLayoutItem::heightForWidth" qlayoutitem.html#heightForWidth
+"QLayoutItem::invalidate" qlayoutitem.html#invalidate
+"QLayoutItem::isEmpty" qlayoutitem.html#isEmpty
+"QLayoutItem::iterator" qlayoutitem.html#iterator
+"QLayoutItem::layout" qlayoutitem.html#layout
+"QLayoutItem::maximumSize" qlayoutitem.html#maximumSize
+"QLayoutItem::minimumSize" qlayoutitem.html#minimumSize
+"QLayoutItem::setAlignment" qlayoutitem.html#setAlignment
+"QLayoutItem::setGeometry" qlayoutitem.html#setGeometry
+"QLayoutItem::sizeHint" qlayoutitem.html#sizeHint
+"QLayoutItem::spacerItem" qlayoutitem.html#spacerItem
+"QLayoutItem::widget" qlayoutitem.html#widget
+"QLayoutItem::~QLayoutItem" qlayoutitem.html#~QLayoutItem
+"QLayoutIterator" qlayoutiterator.html
+"QLayoutIterator::current" qlayoutiterator.html#current
+"QLayoutIterator::deleteCurrent" qlayoutiterator.html#deleteCurrent
+"QLayoutIterator::operator++" qlayoutiterator.html#operator++
+"QLayoutIterator::operator=" qlayoutiterator.html#operator-eq
+"QLayoutIterator::takeCurrent" qlayoutiterator.html#takeCurrent
+"QLayoutIterator::~QLayoutIterator" qlayoutiterator.html#~QLayoutIterator
+"QLibrary" qlibrary.html
+"QLibrary::autoUnload" qlibrary.html#autoUnload
+"QLibrary::isLoaded" qlibrary.html#isLoaded
+"QLibrary::library" qlibrary.html#library
+"QLibrary::load" qlibrary.html#load
+"QLibrary::resolve" qlibrary.html#resolve
+"QLibrary::setAutoUnload" qlibrary.html#setAutoUnload
+"QLibrary::unload" qlibrary.html#unload
+"QLibrary::~QLibrary" qlibrary.html#~QLibrary
+"QLineEdit" qlineedit.html
+"QLineEdit::EchoMode" qlineedit.html#EchoMode
+"QLineEdit::acceptableInput" qlineedit.html#acceptableInput-prop
+"QLineEdit::alignment" qlineedit.html#alignment
+"QLineEdit::alignment" qlineedit.html#alignment-prop
+"QLineEdit::backspace" qlineedit.html#backspace
+"QLineEdit::clear" qlineedit.html#clear
+"QLineEdit::clearModified" qlineedit.html#clearModified
+"QLineEdit::clearValidator" qlineedit.html#clearValidator
+"QLineEdit::copy" qlineedit.html#copy
+"QLineEdit::createPopupMenu" qlineedit.html#createPopupMenu
+"QLineEdit::cursorBackward" qlineedit.html#cursorBackward
+"QLineEdit::cursorForward" qlineedit.html#cursorForward
+"QLineEdit::cursorPosition" qlineedit.html#cursorPosition
+"QLineEdit::cursorPosition" qlineedit.html#cursorPosition-prop
+"QLineEdit::cursorWordBackward" qlineedit.html#cursorWordBackward
+"QLineEdit::cursorWordForward" qlineedit.html#cursorWordForward
+"QLineEdit::cut" qlineedit.html#cut
+"QLineEdit::del" qlineedit.html#del
+"QLineEdit::deselect" qlineedit.html#deselect
+"QLineEdit::displayText" qlineedit.html#displayText
+"QLineEdit::displayText" qlineedit.html#displayText-prop
+"QLineEdit::dragEnabled" qlineedit.html#dragEnabled
+"QLineEdit::dragEnabled" qlineedit.html#dragEnabled-prop
+"QLineEdit::echoMode" qlineedit.html#echoMode
+"QLineEdit::echoMode" qlineedit.html#echoMode-prop
+"QLineEdit::end" qlineedit.html#end
+"QLineEdit::frame" qlineedit.html#frame
+"QLineEdit::frame" qlineedit.html#frame-prop
+"QLineEdit::hasAcceptableInput" qlineedit.html#hasAcceptableInput
+"QLineEdit::hasSelectedText" qlineedit.html#hasSelectedText
+"QLineEdit::hasSelectedText" qlineedit.html#hasSelectedText-prop
+"QLineEdit::home" qlineedit.html#home
+"QLineEdit::inputMask" qlineedit.html#inputMask
+"QLineEdit::inputMask" qlineedit.html#inputMask-prop
+"QLineEdit::insert" qlineedit.html#insert
+"QLineEdit::isModified" qlineedit.html#isModified
+"QLineEdit::isReadOnly" qlineedit.html#isReadOnly
+"QLineEdit::isRedoAvailable" qlineedit.html#isRedoAvailable
+"QLineEdit::isUndoAvailable" qlineedit.html#isUndoAvailable
+"QLineEdit::keyPressEvent" qlineedit.html#keyPressEvent
+"QLineEdit::lostFocus" qlineedit.html#lostFocus
+"QLineEdit::maxLength" qlineedit.html#maxLength
+"QLineEdit::maxLength" qlineedit.html#maxLength-prop
+"QLineEdit::minimumSizeHint" qlineedit.html#minimumSizeHint
+"QLineEdit::modified" qlineedit.html#modified-prop
+"QLineEdit::paste" qlineedit.html#paste
+"QLineEdit::readOnly" qlineedit.html#readOnly-prop
+"QLineEdit::redo" qlineedit.html#redo
+"QLineEdit::redoAvailable" qlineedit.html#redoAvailable-prop
+"QLineEdit::returnPressed" qlineedit.html#returnPressed
+"QLineEdit::selectAll" qlineedit.html#selectAll
+"QLineEdit::selectedText" qlineedit.html#selectedText
+"QLineEdit::selectedText" qlineedit.html#selectedText-prop
+"QLineEdit::selectionChanged" qlineedit.html#selectionChanged
+"QLineEdit::selectionStart" qlineedit.html#selectionStart
+"QLineEdit::setAlignment" qlineedit.html#setAlignment
+"QLineEdit::setCursorPosition" qlineedit.html#setCursorPosition
+"QLineEdit::setDragEnabled" qlineedit.html#setDragEnabled
+"QLineEdit::setEchoMode" qlineedit.html#setEchoMode
+"QLineEdit::setFrame" qlineedit.html#setFrame
+"QLineEdit::setInputMask" qlineedit.html#setInputMask
+"QLineEdit::setMaxLength" qlineedit.html#setMaxLength
+"QLineEdit::setReadOnly" qlineedit.html#setReadOnly
+"QLineEdit::setSelection" qlineedit.html#setSelection
+"QLineEdit::setText" qlineedit.html#setText
+"QLineEdit::setValidator" qlineedit.html#setValidator
+"QLineEdit::sizeHint" qlineedit.html#sizeHint
+"QLineEdit::text" qlineedit.html#text
+"QLineEdit::text" qlineedit.html#text-prop
+"QLineEdit::textChanged" qlineedit.html#textChanged
+"QLineEdit::undo" qlineedit.html#undo
+"QLineEdit::undoAvailable" qlineedit.html#undoAvailable-prop
+"QLineEdit::validator" qlineedit.html#validator
+"QLineEdit::~QLineEdit" qlineedit.html#~QLineEdit
+"QLinuxFbScreen::cache" qlinuxfbscreen.html#cache
+"QLinuxFbScreen::connect" qlinuxfbscreen.html#connect
+"QLinuxFbScreen::deleteEntry" qlinuxfbscreen.html#deleteEntry
+"QLinuxFbScreen::disconnect" qlinuxfbscreen.html#disconnect
+"QLinuxFbScreen::initDevice" qlinuxfbscreen.html#initDevice
+"QLinuxFbScreen::restore" qlinuxfbscreen.html#restore
+"QLinuxFbScreen::save" qlinuxfbscreen.html#save
+"QLinuxFbScreen::set" qlinuxfbscreen.html#set
+"QLinuxFbScreen::setMode" qlinuxfbscreen.html#setMode
+"QLinuxFbScreen::shutdownDevice" qlinuxfbscreen.html#shutdownDevice
+"QLinuxFbScreen::uncache" qlinuxfbscreen.html#uncache
+"QLinuxFbScreen::~QLinuxFbScreen" qlinuxfbscreen.html#~QLinuxFbScreen
+"QList Class Reference (obsolete)" qlist.html
+"QListBox" qlistbox.html
+"QListBox::LayoutMode" qlistbox.html#LayoutMode
+"QListBox::SelectionMode" qlistbox.html#SelectionMode
+"QListBox::changeItem" qlistbox.html#changeItem
+"QListBox::clear" qlistbox.html#clear
+"QListBox::clearSelection" qlistbox.html#clearSelection
+"QListBox::clicked" qlistbox.html#clicked
+"QListBox::columnAt" qlistbox.html#columnAt
+"QListBox::columnMode" qlistbox.html#columnMode
+"QListBox::columnMode" qlistbox.html#columnMode-prop
+"QListBox::contextMenuRequested" qlistbox.html#contextMenuRequested
+"QListBox::count" qlistbox.html#count
+"QListBox::count" qlistbox.html#count-prop
+"QListBox::currentChanged" qlistbox.html#currentChanged
+"QListBox::currentColumn" qlistbox.html#currentColumn
+"QListBox::currentItem" qlistbox.html#currentItem
+"QListBox::currentItem" qlistbox.html#currentItem-prop
+"QListBox::currentRow" qlistbox.html#currentRow
+"QListBox::currentText" qlistbox.html#currentText
+"QListBox::currentText" qlistbox.html#currentText-prop
+"QListBox::doLayout" qlistbox.html#doLayout
+"QListBox::doubleClicked" qlistbox.html#doubleClicked
+"QListBox::ensureCurrentVisible" qlistbox.html#ensureCurrentVisible
+"QListBox::findItem" qlistbox.html#findItem
+"QListBox::firstItem" qlistbox.html#firstItem
+"QListBox::highlighted" qlistbox.html#highlighted
+"QListBox::index" qlistbox.html#index
+"QListBox::insertItem" qlistbox.html#insertItem
+"QListBox::insertStrList" qlistbox.html#insertStrList
+"QListBox::insertStringList" qlistbox.html#insertStringList
+"QListBox::invertSelection" qlistbox.html#invertSelection
+"QListBox::isRubberSelecting" qlistbox.html#isRubberSelecting
+"QListBox::isSelected" qlistbox.html#isSelected
+"QListBox::item" qlistbox.html#item
+"QListBox::itemAt" qlistbox.html#itemAt
+"QListBox::itemHeight" qlistbox.html#itemHeight
+"QListBox::itemRect" qlistbox.html#itemRect
+"QListBox::itemVisible" qlistbox.html#itemVisible
+"QListBox::maxItemWidth" qlistbox.html#maxItemWidth
+"QListBox::mouseButtonClicked" qlistbox.html#mouseButtonClicked
+"QListBox::mouseButtonPressed" qlistbox.html#mouseButtonPressed
+"QListBox::numColumns" qlistbox.html#numColumns
+"QListBox::numColumns" qlistbox.html#numColumns-prop
+"QListBox::numItemsVisible" qlistbox.html#numItemsVisible
+"QListBox::numItemsVisible" qlistbox.html#numItemsVisible-prop
+"QListBox::numRows" qlistbox.html#numRows
+"QListBox::numRows" qlistbox.html#numRows-prop
+"QListBox::onItem" qlistbox.html#onItem
+"QListBox::onViewport" qlistbox.html#onViewport
+"QListBox::paintCell" qlistbox.html#paintCell
+"QListBox::pixmap" qlistbox.html#pixmap
+"QListBox::pressed" qlistbox.html#pressed
+"QListBox::refreshSlot" qlistbox.html#refreshSlot
+"QListBox::removeItem" qlistbox.html#removeItem
+"QListBox::returnPressed" qlistbox.html#returnPressed
+"QListBox::rightButtonClicked" qlistbox.html#rightButtonClicked
+"QListBox::rightButtonPressed" qlistbox.html#rightButtonPressed
+"QListBox::rowAt" qlistbox.html#rowAt
+"QListBox::rowMode" qlistbox.html#rowMode
+"QListBox::rowMode" qlistbox.html#rowMode-prop
+"QListBox::selectAll" qlistbox.html#selectAll
+"QListBox::selected" qlistbox.html#selected
+"QListBox::selectedItem" qlistbox.html#selectedItem
+"QListBox::selectionChanged" qlistbox.html#selectionChanged
+"QListBox::selectionMode" qlistbox.html#selectionMode
+"QListBox::selectionMode" qlistbox.html#selectionMode-prop
+"QListBox::setBottomItem" qlistbox.html#setBottomItem
+"QListBox::setColumnMode" qlistbox.html#setColumnMode
+"QListBox::setCurrentItem" qlistbox.html#setCurrentItem
+"QListBox::setRowMode" qlistbox.html#setRowMode
+"QListBox::setSelected" qlistbox.html#setSelected
+"QListBox::setSelectionMode" qlistbox.html#setSelectionMode
+"QListBox::setTopItem" qlistbox.html#setTopItem
+"QListBox::setVariableHeight" qlistbox.html#setVariableHeight
+"QListBox::setVariableWidth" qlistbox.html#setVariableWidth
+"QListBox::sort" qlistbox.html#sort
+"QListBox::takeItem" qlistbox.html#takeItem
+"QListBox::text" qlistbox.html#text
+"QListBox::toggleCurrentItem" qlistbox.html#toggleCurrentItem
+"QListBox::topItem" qlistbox.html#topItem
+"QListBox::topItem" qlistbox.html#topItem-prop
+"QListBox::triggerUpdate" qlistbox.html#triggerUpdate
+"QListBox::tryGeometry" qlistbox.html#tryGeometry
+"QListBox::updateItem" qlistbox.html#updateItem
+"QListBox::variableHeight" qlistbox.html#variableHeight
+"QListBox::variableHeight" qlistbox.html#variableHeight-prop
+"QListBox::variableWidth" qlistbox.html#variableWidth
+"QListBox::variableWidth" qlistbox.html#variableWidth-prop
+"QListBox::~QListBox" qlistbox.html#~QListBox
+"QListBoxItem" qlistboxitem.html
+"QListBoxItem::height" qlistboxitem.html#height
+"QListBoxItem::isCurrent" qlistboxitem.html#isCurrent
+"QListBoxItem::isSelectable" qlistboxitem.html#isSelectable
+"QListBoxItem::isSelected" qlistboxitem.html#isSelected
+"QListBoxItem::listBox" qlistboxitem.html#listBox
+"QListBoxItem::next" qlistboxitem.html#next
+"QListBoxItem::paint" qlistboxitem.html#paint
+"QListBoxItem::pixmap" qlistboxitem.html#pixmap
+"QListBoxItem::prev" qlistboxitem.html#prev
+"QListBoxItem::rtti" qlistboxitem.html#rtti
+"QListBoxItem::setCustomHighlighting" qlistboxitem.html#setCustomHighlighting
+"QListBoxItem::setSelectable" qlistboxitem.html#setSelectable
+"QListBoxItem::setText" qlistboxitem.html#setText
+"QListBoxItem::text" qlistboxitem.html#text
+"QListBoxItem::width" qlistboxitem.html#width
+"QListBoxItem::~QListBoxItem" qlistboxitem.html#~QListBoxItem
+"QListBoxPixmap" qlistboxpixmap.html
+"QListBoxPixmap::height" qlistboxpixmap.html#height
+"QListBoxPixmap::paint" qlistboxpixmap.html#paint
+"QListBoxPixmap::pixmap" qlistboxpixmap.html#pixmap
+"QListBoxPixmap::width" qlistboxpixmap.html#width
+"QListBoxPixmap::~QListBoxPixmap" qlistboxpixmap.html#~QListBoxPixmap
+"QListBoxText" qlistboxtext.html
+"QListBoxText::height" qlistboxtext.html#height
+"QListBoxText::paint" qlistboxtext.html#paint
+"QListBoxText::width" qlistboxtext.html#width
+"QListBoxText::~QListBoxText" qlistboxtext.html#~QListBoxText
+"QListIterator Class Reference (obsolete)" qlistiterator.html
+"QListView" qlistview.html
+"QListView::RenameAction" qlistview.html#RenameAction
+"QListView::ResizeMode" qlistview.html#ResizeMode
+"QListView::SelectionMode" qlistview.html#SelectionMode
+"QListView::WidthMode" qlistview.html#WidthMode
+"QListView::addColumn" qlistview.html#addColumn
+"QListView::adjustColumn" qlistview.html#adjustColumn
+"QListView::allColumnsShowFocus" qlistview.html#allColumnsShowFocus
+"QListView::allColumnsShowFocus" qlistview.html#allColumnsShowFocus-prop
+"QListView::changeSortColumn" qlistview.html#changeSortColumn
+"QListView::childCount" qlistview.html#childCount
+"QListView::childCount" qlistview.html#childCount-prop
+"QListView::clear" qlistview.html#clear
+"QListView::clearSelection" qlistview.html#clearSelection
+"QListView::clicked" qlistview.html#clicked
+"QListView::collapsed" qlistview.html#collapsed
+"QListView::columnAlignment" qlistview.html#columnAlignment
+"QListView::columnText" qlistview.html#columnText
+"QListView::columnWidth" qlistview.html#columnWidth
+"QListView::columnWidthMode" qlistview.html#columnWidthMode
+"QListView::columns" qlistview.html#columns
+"QListView::columns" qlistview.html#columns-prop
+"QListView::contentsMouseDoubleClickEvent" qlistview.html#contentsMouseDoubleClickEvent
+"QListView::contentsMouseMoveEvent" qlistview.html#contentsMouseMoveEvent
+"QListView::contentsMousePressEvent" qlistview.html#contentsMousePressEvent
+"QListView::contentsMouseReleaseEvent" qlistview.html#contentsMouseReleaseEvent
+"QListView::contextMenuRequested" qlistview.html#contextMenuRequested
+"QListView::currentChanged" qlistview.html#currentChanged
+"QListView::currentItem" qlistview.html#currentItem
+"QListView::defaultRenameAction" qlistview.html#defaultRenameAction
+"QListView::defaultRenameAction" qlistview.html#defaultRenameAction-prop
+"QListView::doAutoScroll" qlistview.html#doAutoScroll
+"QListView::doubleClicked" qlistview.html#doubleClicked
+"QListView::dragObject" qlistview.html#dragObject
+"QListView::drawContentsOffset" qlistview.html#drawContentsOffset
+"QListView::dropped" qlistview.html#dropped
+"QListView::ensureItemVisible" qlistview.html#ensureItemVisible
+"QListView::eventFilter" qlistview.html#eventFilter
+"QListView::expanded" qlistview.html#expanded
+"QListView::findItem" qlistview.html#findItem
+"QListView::firstChild" qlistview.html#firstChild
+"QListView::handleSizeChange" qlistview.html#handleSizeChange
+"QListView::header" qlistview.html#header
+"QListView::hideColumn" qlistview.html#hideColumn
+"QListView::insertItem" qlistview.html#insertItem
+"QListView::invertSelection" qlistview.html#invertSelection
+"QListView::isOpen" qlistview.html#isOpen
+"QListView::isRenaming" qlistview.html#isRenaming
+"QListView::isSelected" qlistview.html#isSelected
+"QListView::itemAt" qlistview.html#itemAt
+"QListView::itemMargin" qlistview.html#itemMargin
+"QListView::itemMargin" qlistview.html#itemMargin-prop
+"QListView::itemPos" qlistview.html#itemPos
+"QListView::itemRect" qlistview.html#itemRect
+"QListView::itemRenamed" qlistview.html#itemRenamed
+"QListView::lastItem" qlistview.html#lastItem
+"QListView::mouseButtonClicked" qlistview.html#mouseButtonClicked
+"QListView::mouseButtonPressed" qlistview.html#mouseButtonPressed
+"QListView::onItem" qlistview.html#onItem
+"QListView::onViewport" qlistview.html#onViewport
+"QListView::paintEmptyArea" qlistview.html#paintEmptyArea
+"QListView::pressed" qlistview.html#pressed
+"QListView::reconfigureItems" qlistview.html#reconfigureItems
+"QListView::removeColumn" qlistview.html#removeColumn
+"QListView::repaintItem" qlistview.html#repaintItem
+"QListView::resizeEvent" qlistview.html#resizeEvent
+"QListView::resizeMode" qlistview.html#resizeMode
+"QListView::resizeMode" qlistview.html#resizeMode-prop
+"QListView::returnPressed" qlistview.html#returnPressed
+"QListView::rightButtonClicked" qlistview.html#rightButtonClicked
+"QListView::rightButtonPressed" qlistview.html#rightButtonPressed
+"QListView::rootIsDecorated" qlistview.html#rootIsDecorated
+"QListView::rootIsDecorated" qlistview.html#rootIsDecorated-prop
+"QListView::selectAll" qlistview.html#selectAll
+"QListView::selectedItem" qlistview.html#selectedItem
+"QListView::selectionChanged" qlistview.html#selectionChanged
+"QListView::selectionMode" qlistview.html#selectionMode
+"QListView::selectionMode" qlistview.html#selectionMode-prop
+"QListView::setAllColumnsShowFocus" qlistview.html#setAllColumnsShowFocus
+"QListView::setColumnAlignment" qlistview.html#setColumnAlignment
+"QListView::setColumnText" qlistview.html#setColumnText
+"QListView::setColumnWidth" qlistview.html#setColumnWidth
+"QListView::setColumnWidthMode" qlistview.html#setColumnWidthMode
+"QListView::setCurrentItem" qlistview.html#setCurrentItem
+"QListView::setDefaultRenameAction" qlistview.html#setDefaultRenameAction
+"QListView::setItemMargin" qlistview.html#setItemMargin
+"QListView::setOpen" qlistview.html#setOpen
+"QListView::setResizeMode" qlistview.html#setResizeMode
+"QListView::setRootIsDecorated" qlistview.html#setRootIsDecorated
+"QListView::setSelected" qlistview.html#setSelected
+"QListView::setSelectionAnchor" qlistview.html#setSelectionAnchor
+"QListView::setSelectionMode" qlistview.html#setSelectionMode
+"QListView::setShowSortIndicator" qlistview.html#setShowSortIndicator
+"QListView::setShowToolTips" qlistview.html#setShowToolTips
+"QListView::setSortColumn" qlistview.html#setSortColumn
+"QListView::setSortOrder" qlistview.html#setSortOrder
+"QListView::setSorting" qlistview.html#setSorting
+"QListView::setTreeStepSize" qlistview.html#setTreeStepSize
+"QListView::showSortIndicator" qlistview.html#showSortIndicator
+"QListView::showSortIndicator" qlistview.html#showSortIndicator-prop
+"QListView::showToolTips" qlistview.html#showToolTips
+"QListView::showToolTips" qlistview.html#showToolTips-prop
+"QListView::sort" qlistview.html#sort
+"QListView::sortColumn" qlistview.html#sortColumn
+"QListView::sortOrder" qlistview.html#sortOrder
+"QListView::spacePressed" qlistview.html#spacePressed
+"QListView::startDrag" qlistview.html#startDrag
+"QListView::takeItem" qlistview.html#takeItem
+"QListView::treeStepSize" qlistview.html#treeStepSize
+"QListView::treeStepSize" qlistview.html#treeStepSize-prop
+"QListView::triggerUpdate" qlistview.html#triggerUpdate
+"QListView::updateContents" qlistview.html#updateContents
+"QListView::widthChanged" qlistview.html#widthChanged
+"QListView::~QListView" qlistview.html#~QListView
+"QListViewItem" qlistviewitem.html
+"QListViewItem::acceptDrop" qlistviewitem.html#acceptDrop
+"QListViewItem::activate" qlistviewitem.html#activate
+"QListViewItem::activatedPos" qlistviewitem.html#activatedPos
+"QListViewItem::cancelRename" qlistviewitem.html#cancelRename
+"QListViewItem::childCount" qlistviewitem.html#childCount
+"QListViewItem::compare" qlistviewitem.html#compare
+"QListViewItem::depth" qlistviewitem.html#depth
+"QListViewItem::dragEnabled" qlistviewitem.html#dragEnabled
+"QListViewItem::dragEntered" qlistviewitem.html#dragEntered
+"QListViewItem::dragLeft" qlistviewitem.html#dragLeft
+"QListViewItem::dropEnabled" qlistviewitem.html#dropEnabled
+"QListViewItem::dropped" qlistviewitem.html#dropped
+"QListViewItem::enforceSortOrder" qlistviewitem.html#enforceSortOrder
+"QListViewItem::firstChild" qlistviewitem.html#firstChild
+"QListViewItem::height" qlistviewitem.html#height
+"QListViewItem::insertItem" qlistviewitem.html#insertItem
+"QListViewItem::invalidateHeight" qlistviewitem.html#invalidateHeight
+"QListViewItem::isEnabled" qlistviewitem.html#isEnabled
+"QListViewItem::isExpandable" qlistviewitem.html#isExpandable
+"QListViewItem::isOpen" qlistviewitem.html#isOpen
+"QListViewItem::isSelectable" qlistviewitem.html#isSelectable
+"QListViewItem::isSelected" qlistviewitem.html#isSelected
+"QListViewItem::isVisible" qlistviewitem.html#isVisible
+"QListViewItem::itemAbove" qlistviewitem.html#itemAbove
+"QListViewItem::itemBelow" qlistviewitem.html#itemBelow
+"QListViewItem::itemPos" qlistviewitem.html#itemPos
+"QListViewItem::key" qlistviewitem.html#key
+"QListViewItem::listView" qlistviewitem.html#listView
+"QListViewItem::moveItem" qlistviewitem.html#moveItem
+"QListViewItem::multiLinesEnabled" qlistviewitem.html#multiLinesEnabled
+"QListViewItem::nextSibling" qlistviewitem.html#nextSibling
+"QListViewItem::okRename" qlistviewitem.html#okRename
+"QListViewItem::paintBranches" qlistviewitem.html#paintBranches
+"QListViewItem::paintCell" qlistviewitem.html#paintCell
+"QListViewItem::paintFocus" qlistviewitem.html#paintFocus
+"QListViewItem::parent" qlistviewitem.html#parent
+"QListViewItem::pixmap" qlistviewitem.html#pixmap
+"QListViewItem::removeRenameBox" qlistviewitem.html#removeRenameBox
+"QListViewItem::renameEnabled" qlistviewitem.html#renameEnabled
+"QListViewItem::repaint" qlistviewitem.html#repaint
+"QListViewItem::rtti" qlistviewitem.html#rtti
+"QListViewItem::setDragEnabled" qlistviewitem.html#setDragEnabled
+"QListViewItem::setDropEnabled" qlistviewitem.html#setDropEnabled
+"QListViewItem::setEnabled" qlistviewitem.html#setEnabled
+"QListViewItem::setExpandable" qlistviewitem.html#setExpandable
+"QListViewItem::setHeight" qlistviewitem.html#setHeight
+"QListViewItem::setMultiLinesEnabled" qlistviewitem.html#setMultiLinesEnabled
+"QListViewItem::setOpen" qlistviewitem.html#setOpen
+"QListViewItem::setPixmap" qlistviewitem.html#setPixmap
+"QListViewItem::setRenameEnabled" qlistviewitem.html#setRenameEnabled
+"QListViewItem::setSelectable" qlistviewitem.html#setSelectable
+"QListViewItem::setSelected" qlistviewitem.html#setSelected
+"QListViewItem::setText" qlistviewitem.html#setText
+"QListViewItem::setVisible" qlistviewitem.html#setVisible
+"QListViewItem::setup" qlistviewitem.html#setup
+"QListViewItem::sort" qlistviewitem.html#sort
+"QListViewItem::sortChildItems" qlistviewitem.html#sortChildItems
+"QListViewItem::startRename" qlistviewitem.html#startRename
+"QListViewItem::takeItem" qlistviewitem.html#takeItem
+"QListViewItem::text" qlistviewitem.html#text
+"QListViewItem::totalHeight" qlistviewitem.html#totalHeight
+"QListViewItem::width" qlistviewitem.html#width
+"QListViewItem::widthChanged" qlistviewitem.html#widthChanged
+"QListViewItem::~QListViewItem" qlistviewitem.html#~QListViewItem
+"QListViewItemIterator" qlistviewitemiterator.html
+"QListViewItemIterator::IteratorFlag" qlistviewitemiterator.html#IteratorFlag
+"QListViewItemIterator::current" qlistviewitemiterator.html#current
+"QListViewItemIterator::operator*" qlistviewitemiterator.html#operator*
+"QListViewItemIterator::operator++" qlistviewitemiterator.html#operator++
+"QListViewItemIterator::operator+=" qlistviewitemiterator.html#operator+-eq
+"QListViewItemIterator::operator--" qlistviewitemiterator.html#operator--
+"QListViewItemIterator::operator-=" qlistviewitemiterator.html#operator--eq
+"QListViewItemIterator::operator=" qlistviewitemiterator.html#operator-eq
+"QListViewItemIterator::~QListViewItemIterator" qlistviewitemiterator.html#~QListViewItemIterator
+"QLocalFs" qlocalfs.html
+"QLocale" qlocale.html
+"QLocale::Country" qlocale.html#Country
+"QLocale::Language" qlocale.html#Language
+"QLocale::c" qlocale.html#c
+"QLocale::country" qlocale.html#country
+"QLocale::countryToString" qlocale.html#countryToString
+"QLocale::language" qlocale.html#language
+"QLocale::languageToString" qlocale.html#languageToString
+"QLocale::name" qlocale.html#name
+"QLocale::operator=" qlocale.html#operator-eq
+"QLocale::setDefault" qlocale.html#setDefault
+"QLocale::system" qlocale.html#system
+"QLocale::toDouble" qlocale.html#toDouble
+"QLocale::toFloat" qlocale.html#toFloat
+"QLocale::toInt" qlocale.html#toInt
+"QLocale::toLong" qlocale.html#toLong
+"QLocale::toLongLong" qlocale.html#toLongLong
+"QLocale::toShort" qlocale.html#toShort
+"QLocale::toString" qlocale.html#toString
+"QLocale::toUInt" qlocale.html#toUInt
+"QLocale::toULong" qlocale.html#toULong
+"QLocale::toULongLong" qlocale.html#toULongLong
+"QLocale::toUShort" qlocale.html#toUShort
+"QLock::Type" qlock.html#Type
+"QLock::isValid" qlock.html#isValid
+"QLock::lock" qlock.html#lock
+"QLock::locked" qlock.html#locked
+"QLock::unlock" qlock.html#unlock
+"QLock::~QLock" qlock.html#~QLock
+"QMacMime" qmacmime.html
+"QMacMime::all" qmacmime.html#all
+"QMacMime::canConvert" qmacmime.html#canConvert
+"QMacMime::convertFromMime" qmacmime.html#convertFromMime
+"QMacMime::convertToMime" qmacmime.html#convertToMime
+"QMacMime::convertor" qmacmime.html#convertor
+"QMacMime::convertorName" qmacmime.html#convertorName
+"QMacMime::countFlavors" qmacmime.html#countFlavors
+"QMacMime::flavor" qmacmime.html#flavor
+"QMacMime::flavorFor" qmacmime.html#flavorFor
+"QMacMime::flavorToMime" qmacmime.html#flavorToMime
+"QMacMime::mimeFor" qmacmime.html#mimeFor
+"QMacMime::~QMacMime" qmacmime.html#~QMacMime
+"QMacStyle" qmacstyle.html
+"QMacStyle::FocusRectPolicy" qmacstyle.html#FocusRectPolicy
+"QMacStyle::WidgetSizePolicy" qmacstyle.html#WidgetSizePolicy
+"QMacStyle::focusRectPolicy" qmacstyle.html#focusRectPolicy
+"QMacStyle::setFocusRectPolicy" qmacstyle.html#setFocusRectPolicy
+"QMacStyle::setWidgetSizePolicy" qmacstyle.html#setWidgetSizePolicy
+"QMacStyle::widgetSizePolicy" qmacstyle.html#widgetSizePolicy
+"QMacStyle::~QMacStyle" qmacstyle.html#~QMacStyle
+"QMag" qmag-example.html
+"QMainWindow" qmainwindow.html
+"QMainWindow::DockWindows" qmainwindow.html#DockWindows
+"QMainWindow::addDockWindow" qmainwindow.html#addDockWindow
+"QMainWindow::appropriate" qmainwindow.html#appropriate
+"QMainWindow::bottomDock" qmainwindow.html#bottomDock
+"QMainWindow::centralWidget" qmainwindow.html#centralWidget
+"QMainWindow::childEvent" qmainwindow.html#childEvent
+"QMainWindow::createDockWindowMenu" qmainwindow.html#createDockWindowMenu
+"QMainWindow::customize" qmainwindow.html#customize
+"QMainWindow::dockWindowPositionChanged" qmainwindow.html#dockWindowPositionChanged
+"QMainWindow::dockWindows" qmainwindow.html#dockWindows
+"QMainWindow::dockWindowsMovable" qmainwindow.html#dockWindowsMovable
+"QMainWindow::dockWindowsMovable" qmainwindow.html#dockWindowsMovable-prop
+"QMainWindow::getLocation" qmainwindow.html#getLocation
+"QMainWindow::hasDockWindow" qmainwindow.html#hasDockWindow
+"QMainWindow::isCustomizable" qmainwindow.html#isCustomizable
+"QMainWindow::isDockEnabled" qmainwindow.html#isDockEnabled
+"QMainWindow::isDockMenuEnabled" qmainwindow.html#isDockMenuEnabled
+"QMainWindow::leftDock" qmainwindow.html#leftDock
+"QMainWindow::lineUpDockWindows" qmainwindow.html#lineUpDockWindows
+"QMainWindow::menuAboutToShow" qmainwindow.html#menuAboutToShow
+"QMainWindow::menuBar" qmainwindow.html#menuBar
+"QMainWindow::moveDockWindow" qmainwindow.html#moveDockWindow
+"QMainWindow::opaqueMoving" qmainwindow.html#opaqueMoving
+"QMainWindow::opaqueMoving" qmainwindow.html#opaqueMoving-prop
+"QMainWindow::pixmapSizeChanged" qmainwindow.html#pixmapSizeChanged
+"QMainWindow::removeDockWindow" qmainwindow.html#removeDockWindow
+"QMainWindow::rightDock" qmainwindow.html#rightDock
+"QMainWindow::setAppropriate" qmainwindow.html#setAppropriate
+"QMainWindow::setCentralWidget" qmainwindow.html#setCentralWidget
+"QMainWindow::setDockEnabled" qmainwindow.html#setDockEnabled
+"QMainWindow::setDockMenuEnabled" qmainwindow.html#setDockMenuEnabled
+"QMainWindow::setDockWindowsMovable" qmainwindow.html#setDockWindowsMovable
+"QMainWindow::setMenuBar" qmainwindow.html#setMenuBar
+"QMainWindow::setOpaqueMoving" qmainwindow.html#setOpaqueMoving
+"QMainWindow::setStatusBar" qmainwindow.html#setStatusBar
+"QMainWindow::setToolTipGroup" qmainwindow.html#setToolTipGroup
+"QMainWindow::setUpLayout" qmainwindow.html#setUpLayout
+"QMainWindow::setUsesBigPixmaps" qmainwindow.html#setUsesBigPixmaps
+"QMainWindow::setUsesTextLabel" qmainwindow.html#setUsesTextLabel
+"QMainWindow::showDockMenu" qmainwindow.html#showDockMenu
+"QMainWindow::statusBar" qmainwindow.html#statusBar
+"QMainWindow::toolBars" qmainwindow.html#toolBars
+"QMainWindow::toolTipGroup" qmainwindow.html#toolTipGroup
+"QMainWindow::topDock" qmainwindow.html#topDock
+"QMainWindow::usesBigPixmaps" qmainwindow.html#usesBigPixmaps
+"QMainWindow::usesBigPixmaps" qmainwindow.html#usesBigPixmaps-prop
+"QMainWindow::usesTextLabel" qmainwindow.html#usesTextLabel
+"QMainWindow::usesTextLabel" qmainwindow.html#usesTextLabel-prop
+"QMainWindow::usesTextLabelChanged" qmainwindow.html#usesTextLabelChanged
+"QMainWindow::whatsThis" qmainwindow.html#whatsThis
+"QMainWindow::~QMainWindow" qmainwindow.html#~QMainWindow
+"QMap" qmap.html
+"QMap::ConstIterator" qmap.html#ConstIterator
+"QMap::Iterator" qmap.html#Iterator
+"QMap::ValueType" qmap.html#ValueType
+"QMap::begin" qmap.html#begin
+"QMap::clear" qmap.html#clear
+"QMap::constBegin" qmap.html#constBegin
+"QMap::constEnd" qmap.html#constEnd
+"QMap::const_iterator" qmap.html#const_iterator
+"QMap::const_pointer" qmap.html#const_pointer
+"QMap::const_reference" qmap.html#const_reference
+"QMap::contains" qmap.html#contains
+"QMap::count" qmap.html#count
+"QMap::detach" qmap.html#detach
+"QMap::empty" qmap.html#empty
+"QMap::end" qmap.html#end
+"QMap::erase" qmap.html#erase
+"QMap::find" qmap.html#find
+"QMap::insert" qmap.html#insert
+"QMap::isEmpty" qmap.html#isEmpty
+"QMap::iterator" qmap.html#iterator
+"QMap::key_type" qmap.html#key_type
+"QMap::keys" qmap.html#keys
+"QMap::mapped_type" qmap.html#mapped_type
+"QMap::operator=" qmap.html#operator-eq
+"QMap::operator[]" qmap.html#operator[]
+"QMap::pointer" qmap.html#pointer
+"QMap::reference" qmap.html#reference
+"QMap::remove" qmap.html#remove
+"QMap::replace" qmap.html#replace
+"QMap::size" qmap.html#size
+"QMap::size_type" qmap.html#size_type
+"QMap::value_type" qmap.html#value_type
+"QMap::values" qmap.html#values
+"QMap::~QMap" qmap.html#~QMap
+"QMapConstIterator" qmapconstiterator.html
+"QMapConstIterator::data" qmapconstiterator.html#data
+"QMapConstIterator::iterator_category" qmapconstiterator.html#iterator_category
+"QMapConstIterator::key" qmapconstiterator.html#key
+"QMapConstIterator::operator!=" qmapconstiterator.html#operator!-eq
+"QMapConstIterator::operator*" qmapconstiterator.html#operator*
+"QMapConstIterator::operator++" qmapconstiterator.html#operator++
+"QMapConstIterator::operator--" qmapconstiterator.html#operator--
+"QMapConstIterator::operator==" qmapconstiterator.html#operator-eq-eq
+"QMapConstIterator::pointer" qmapconstiterator.html#pointer
+"QMapConstIterator::reference" qmapconstiterator.html#reference
+"QMapConstIterator::value_type" qmapconstiterator.html#value_type
+"QMapIterator" qmapiterator.html
+"QMapIterator::data" qmapiterator.html#data
+"QMapIterator::iterator_category" qmapiterator.html#iterator_category
+"QMapIterator::key" qmapiterator.html#key
+"QMapIterator::operator!=" qmapiterator.html#operator!-eq
+"QMapIterator::operator*" qmapiterator.html#operator*
+"QMapIterator::operator++" qmapiterator.html#operator++
+"QMapIterator::operator--" qmapiterator.html#operator--
+"QMapIterator::operator==" qmapiterator.html#operator-eq-eq
+"QMapIterator::pointer" qmapiterator.html#pointer
+"QMapIterator::reference" qmapiterator.html#reference
+"QMapIterator::value_type" qmapiterator.html#value_type
+"QMemArray" qmemarray.html
+"QMemArray::ConstIterator" qmemarray.html#ConstIterator
+"QMemArray::Iterator" qmemarray.html#Iterator
+"QMemArray::assign" qmemarray.html#assign
+"QMemArray::at" qmemarray.html#at
+"QMemArray::begin" qmemarray.html#begin
+"QMemArray::bsearch" qmemarray.html#bsearch
+"QMemArray::contains" qmemarray.html#contains
+"QMemArray::copy" qmemarray.html#copy
+"QMemArray::count" qmemarray.html#count
+"QMemArray::data" qmemarray.html#data
+"QMemArray::detach" qmemarray.html#detach
+"QMemArray::duplicate" qmemarray.html#duplicate
+"QMemArray::end" qmemarray.html#end
+"QMemArray::fill" qmemarray.html#fill
+"QMemArray::find" qmemarray.html#find
+"QMemArray::isEmpty" qmemarray.html#isEmpty
+"QMemArray::isNull" qmemarray.html#isNull
+"QMemArray::nrefs" qmemarray.html#nrefs
+"QMemArray::operator const type *" qmemarray.html#operator-const-type-*
+"QMemArray::operator!=" qmemarray.html#operator!-eq
+"QMemArray::operator=" qmemarray.html#operator-eq
+"QMemArray::operator==" qmemarray.html#operator-eq-eq
+"QMemArray::operator[]" qmemarray.html#operator[]
+"QMemArray::resetRawData" qmemarray.html#resetRawData
+"QMemArray::resize" qmemarray.html#resize
+"QMemArray::setRawData" qmemarray.html#setRawData
+"QMemArray::size" qmemarray.html#size
+"QMemArray::sort" qmemarray.html#sort
+"QMemArray::truncate" qmemarray.html#truncate
+"QMemArray::~QMemArray" qmemarray.html#~QMemArray
+"QMenuBar" qmenubar.html
+"QMenuBar::Separator" qmenubar.html#Separator
+"QMenuBar::activated" qmenubar.html#activated
+"QMenuBar::defaultUp" qmenubar.html#defaultUp-prop
+"QMenuBar::drawContents" qmenubar.html#drawContents
+"QMenuBar::heightForWidth" qmenubar.html#heightForWidth
+"QMenuBar::hide" qmenubar.html#hide
+"QMenuBar::highlighted" qmenubar.html#highlighted
+"QMenuBar::isDefaultUp" qmenubar.html#isDefaultUp
+"QMenuBar::menuContentsChanged" qmenubar.html#menuContentsChanged
+"QMenuBar::menuStateChanged" qmenubar.html#menuStateChanged
+"QMenuBar::setDefaultUp" qmenubar.html#setDefaultUp
+"QMenuBar::setupAccelerators" qmenubar.html#setupAccelerators
+"QMenuBar::show" qmenubar.html#show
+"QMenuBar::~QMenuBar" qmenubar.html#~QMenuBar
+"QMenuData" qmenudata.html
+"QMenuData::accel" qmenudata.html#accel
+"QMenuData::activateItemAt" qmenudata.html#activateItemAt
+"QMenuData::changeItem" qmenudata.html#changeItem
+"QMenuData::changeItemIconSet" qmenudata.html#changeItemIconSet
+"QMenuData::clear" qmenudata.html#clear
+"QMenuData::connectItem" qmenudata.html#connectItem
+"QMenuData::count" qmenudata.html#count
+"QMenuData::disconnectItem" qmenudata.html#disconnectItem
+"QMenuData::findItem" qmenudata.html#findItem
+"QMenuData::iconSet" qmenudata.html#iconSet
+"QMenuData::idAt" qmenudata.html#idAt
+"QMenuData::indexOf" qmenudata.html#indexOf
+"QMenuData::insertItem" qmenudata.html#insertItem
+"QMenuData::insertSeparator" qmenudata.html#insertSeparator
+"QMenuData::isItemActive" qmenudata.html#isItemActive
+"QMenuData::isItemChecked" qmenudata.html#isItemChecked
+"QMenuData::isItemEnabled" qmenudata.html#isItemEnabled
+"QMenuData::isItemVisible" qmenudata.html#isItemVisible
+"QMenuData::itemParameter" qmenudata.html#itemParameter
+"QMenuData::menuContentsChanged" qmenudata.html#menuContentsChanged
+"QMenuData::menuDelPopup" qmenudata.html#menuDelPopup
+"QMenuData::menuInsPopup" qmenudata.html#menuInsPopup
+"QMenuData::menuStateChanged" qmenudata.html#menuStateChanged
+"QMenuData::pixmap" qmenudata.html#pixmap
+"QMenuData::removeItem" qmenudata.html#removeItem
+"QMenuData::removeItemAt" qmenudata.html#removeItemAt
+"QMenuData::setAccel" qmenudata.html#setAccel
+"QMenuData::setId" qmenudata.html#setId
+"QMenuData::setItemChecked" qmenudata.html#setItemChecked
+"QMenuData::setItemEnabled" qmenudata.html#setItemEnabled
+"QMenuData::setItemParameter" qmenudata.html#setItemParameter
+"QMenuData::setItemVisible" qmenudata.html#setItemVisible
+"QMenuData::setWhatsThis" qmenudata.html#setWhatsThis
+"QMenuData::text" qmenudata.html#text
+"QMenuData::updateItem" qmenudata.html#updateItem
+"QMenuData::whatsThis" qmenudata.html#whatsThis
+"QMenuData::~QMenuData" qmenudata.html#~QMenuData
+"QMessageBox" qmessagebox.html
+"QMessageBox::Icon" qmessagebox.html#Icon
+"QMessageBox::about" qmessagebox.html#about
+"QMessageBox::aboutQt" qmessagebox.html#aboutQt
+"QMessageBox::adjustSize" qmessagebox.html#adjustSize
+"QMessageBox::buttonText" qmessagebox.html#buttonText
+"QMessageBox::critical" qmessagebox.html#critical
+"QMessageBox::icon" qmessagebox.html#icon
+"QMessageBox::icon" qmessagebox.html#icon-prop
+"QMessageBox::iconPixmap" qmessagebox.html#iconPixmap
+"QMessageBox::iconPixmap" qmessagebox.html#iconPixmap-prop
+"QMessageBox::information" qmessagebox.html#information
+"QMessageBox::question" qmessagebox.html#question
+"QMessageBox::setButtonText" qmessagebox.html#setButtonText
+"QMessageBox::setIcon" qmessagebox.html#setIcon
+"QMessageBox::setIconPixmap" qmessagebox.html#setIconPixmap
+"QMessageBox::setText" qmessagebox.html#setText
+"QMessageBox::setTextFormat" qmessagebox.html#setTextFormat
+"QMessageBox::standardIcon" qmessagebox.html#standardIcon
+"QMessageBox::text" qmessagebox.html#text
+"QMessageBox::text" qmessagebox.html#text-prop
+"QMessageBox::textFormat" qmessagebox.html#textFormat
+"QMessageBox::textFormat" qmessagebox.html#textFormat-prop
+"QMessageBox::warning" qmessagebox.html#warning
+"QMessageBox::~QMessageBox" qmessagebox.html#~QMessageBox
+"QMetaObject" qmetaobject.html
+"QMetaObject::classInfo" qmetaobject.html#classInfo
+"QMetaObject::className" qmetaobject.html#className
+"QMetaObject::findProperty" qmetaobject.html#findProperty
+"QMetaObject::inherits" qmetaobject.html#inherits
+"QMetaObject::numClassInfo" qmetaobject.html#numClassInfo
+"QMetaObject::numProperties" qmetaobject.html#numProperties
+"QMetaObject::numSignals" qmetaobject.html#numSignals
+"QMetaObject::numSlots" qmetaobject.html#numSlots
+"QMetaObject::property" qmetaobject.html#property
+"QMetaObject::propertyNames" qmetaobject.html#propertyNames
+"QMetaObject::signalNames" qmetaobject.html#signalNames
+"QMetaObject::slotNames" qmetaobject.html#slotNames
+"QMetaObject::superClass" qmetaobject.html#superClass
+"QMetaObject::superClassName" qmetaobject.html#superClassName
+"QMetaProperty" qmetaproperty.html
+"QMetaProperty::designable" qmetaproperty.html#designable
+"QMetaProperty::enumKeys" qmetaproperty.html#enumKeys
+"QMetaProperty::isEnumType" qmetaproperty.html#isEnumType
+"QMetaProperty::isSetType" qmetaproperty.html#isSetType
+"QMetaProperty::keyToValue" qmetaproperty.html#keyToValue
+"QMetaProperty::keysToValue" qmetaproperty.html#keysToValue
+"QMetaProperty::name" qmetaproperty.html#name
+"QMetaProperty::reset" qmetaproperty.html#reset
+"QMetaProperty::scriptable" qmetaproperty.html#scriptable
+"QMetaProperty::stored" qmetaproperty.html#stored
+"QMetaProperty::type" qmetaproperty.html#type
+"QMetaProperty::valueToKey" qmetaproperty.html#valueToKey
+"QMetaProperty::valueToKeys" qmetaproperty.html#valueToKeys
+"QMetaProperty::writable" qmetaproperty.html#writable
+"QMimeSource" qmimesource.html
+"QMimeSource::encodedData" qmimesource.html#encodedData
+"QMimeSource::format" qmimesource.html#format
+"QMimeSource::provides" qmimesource.html#provides
+"QMimeSource::serialNumber" qmimesource.html#serialNumber
+"QMimeSource::~QMimeSource" qmimesource.html#~QMimeSource
+"QMimeSourceFactory" qmimesourcefactory.html
+"QMimeSourceFactory::addFactory" qmimesourcefactory.html#addFactory
+"QMimeSourceFactory::addFilePath" qmimesourcefactory.html#addFilePath
+"QMimeSourceFactory::data" qmimesourcefactory.html#data
+"QMimeSourceFactory::defaultFactory" qmimesourcefactory.html#defaultFactory
+"QMimeSourceFactory::filePath" qmimesourcefactory.html#filePath
+"QMimeSourceFactory::makeAbsolute" qmimesourcefactory.html#makeAbsolute
+"QMimeSourceFactory::removeFactory" qmimesourcefactory.html#removeFactory
+"QMimeSourceFactory::setData" qmimesourcefactory.html#setData
+"QMimeSourceFactory::setDefaultFactory" qmimesourcefactory.html#setDefaultFactory
+"QMimeSourceFactory::setExtensionType" qmimesourcefactory.html#setExtensionType
+"QMimeSourceFactory::setFilePath" qmimesourcefactory.html#setFilePath
+"QMimeSourceFactory::setImage" qmimesourcefactory.html#setImage
+"QMimeSourceFactory::setPixmap" qmimesourcefactory.html#setPixmap
+"QMimeSourceFactory::setText" qmimesourcefactory.html#setText
+"QMimeSourceFactory::takeDefaultFactory" qmimesourcefactory.html#takeDefaultFactory
+"QMimeSourceFactory::~QMimeSourceFactory" qmimesourcefactory.html#~QMimeSourceFactory
+"QMotif" qmotif.html
+"QMotif::applicationContext" qmotif.html#applicationContext
+"QMotif::x11Display" qmotif.html#x11Display
+"QMotif::~QMotif" qmotif.html#~QMotif
+"QMotifDialog" qmotifdialog.html
+"QMotifDialog::acceptCallback" qmotifdialog.html#acceptCallback
+"QMotifDialog::dialog" qmotifdialog.html#dialog
+"QMotifDialog::rejectCallback" qmotifdialog.html#rejectCallback
+"QMotifDialog::shell" qmotifdialog.html#shell
+"QMotifDialog::~QMotifDialog" qmotifdialog.html#~QMotifDialog
+"QMotifPlusStyle" qmotifplusstyle.html
+"QMotifStyle" qmotifstyle.html
+"QMotifStyle::setUseHighlightColors" qmotifstyle.html#setUseHighlightColors
+"QMotifStyle::useHighlightColors" qmotifstyle.html#useHighlightColors
+"QMotifWidget" qmotifwidget.html
+"QMotifWidget::motifWidget" qmotifwidget.html#motifWidget
+"QMotifWidget::~QMotifWidget" qmotifwidget.html#~QMotifWidget
+"QMouseDriverFactory" qmousedriverfactory.html
+"QMouseDriverFactory::create" qmousedriverfactory.html#create
+"QMouseDriverFactory::keys" qmousedriverfactory.html#keys
+"QMouseDriverPlugin" qmousedriverplugin.html
+"QMouseDriverPlugin::create" qmousedriverplugin.html#create
+"QMouseDriverPlugin::keys" qmousedriverplugin.html#keys
+"QMouseDriverPlugin::~QMouseDriverPlugin" qmousedriverplugin.html#~QMouseDriverPlugin
+"QMouseEvent" qmouseevent.html
+"QMouseEvent::accept" qmouseevent.html#accept
+"QMouseEvent::button" qmouseevent.html#button
+"QMouseEvent::globalPos" qmouseevent.html#globalPos
+"QMouseEvent::globalX" qmouseevent.html#globalX
+"QMouseEvent::globalY" qmouseevent.html#globalY
+"QMouseEvent::ignore" qmouseevent.html#ignore
+"QMouseEvent::isAccepted" qmouseevent.html#isAccepted
+"QMouseEvent::pos" qmouseevent.html#pos
+"QMouseEvent::state" qmouseevent.html#state
+"QMouseEvent::stateAfter" qmouseevent.html#stateAfter
+"QMouseEvent::x" qmouseevent.html#x
+"QMouseEvent::y" qmouseevent.html#y
+"QMoveEvent" qmoveevent.html
+"QMoveEvent::oldPos" qmoveevent.html#oldPos
+"QMoveEvent::pos" qmoveevent.html#pos
+"QMovie" qmovie.html
+"QMovie::Status" qmovie.html#Status
+"QMovie::backgroundColor" qmovie.html#backgroundColor
+"QMovie::connectResize" qmovie.html#connectResize
+"QMovie::connectStatus" qmovie.html#connectStatus
+"QMovie::connectUpdate" qmovie.html#connectUpdate
+"QMovie::disconnectResize" qmovie.html#disconnectResize
+"QMovie::disconnectStatus" qmovie.html#disconnectStatus
+"QMovie::disconnectUpdate" qmovie.html#disconnectUpdate
+"QMovie::finished" qmovie.html#finished
+"QMovie::frameImage" qmovie.html#frameImage
+"QMovie::frameNumber" qmovie.html#frameNumber
+"QMovie::framePixmap" qmovie.html#framePixmap
+"QMovie::getValidRect" qmovie.html#getValidRect
+"QMovie::isNull" qmovie.html#isNull
+"QMovie::operator=" qmovie.html#operator-eq
+"QMovie::pause" qmovie.html#pause
+"QMovie::paused" qmovie.html#paused
+"QMovie::pushData" qmovie.html#pushData
+"QMovie::pushSpace" qmovie.html#pushSpace
+"QMovie::restart" qmovie.html#restart
+"QMovie::running" qmovie.html#running
+"QMovie::setBackgroundColor" qmovie.html#setBackgroundColor
+"QMovie::setSpeed" qmovie.html#setSpeed
+"QMovie::speed" qmovie.html#speed
+"QMovie::step" qmovie.html#step
+"QMovie::steps" qmovie.html#steps
+"QMovie::unpause" qmovie.html#unpause
+"QMovie::~QMovie" qmovie.html#~QMovie
+"QMultiLineEdit::alignment" qmultilineedit.html#alignment
+"QMultiLineEdit::alignment" qmultilineedit.html#alignment-prop
+"QMultiLineEdit::atBeginning" qmultilineedit.html#atBeginning
+"QMultiLineEdit::atBeginning" qmultilineedit.html#atBeginning-prop
+"QMultiLineEdit::atEnd" qmultilineedit.html#atEnd
+"QMultiLineEdit::atEnd" qmultilineedit.html#atEnd-prop
+"QMultiLineEdit::backspace" qmultilineedit.html#backspace
+"QMultiLineEdit::cursorDown" qmultilineedit.html#cursorDown
+"QMultiLineEdit::cursorLeft" qmultilineedit.html#cursorLeft
+"QMultiLineEdit::cursorPoint" qmultilineedit.html#cursorPoint
+"QMultiLineEdit::cursorRight" qmultilineedit.html#cursorRight
+"QMultiLineEdit::cursorUp" qmultilineedit.html#cursorUp
+"QMultiLineEdit::cursorWordBackward" qmultilineedit.html#cursorWordBackward
+"QMultiLineEdit::cursorWordForward" qmultilineedit.html#cursorWordForward
+"QMultiLineEdit::edited" qmultilineedit.html#edited
+"QMultiLineEdit::edited" qmultilineedit.html#edited-prop
+"QMultiLineEdit::end" qmultilineedit.html#end
+"QMultiLineEdit::getMarkedRegion" qmultilineedit.html#getMarkedRegion
+"QMultiLineEdit::hasMarkedText" qmultilineedit.html#hasMarkedText
+"QMultiLineEdit::home" qmultilineedit.html#home
+"QMultiLineEdit::insertAndMark" qmultilineedit.html#insertAndMark
+"QMultiLineEdit::insertAt" qmultilineedit.html#insertAt
+"QMultiLineEdit::insertLine" qmultilineedit.html#insertLine
+"QMultiLineEdit::killLine" qmultilineedit.html#killLine
+"QMultiLineEdit::lineLength" qmultilineedit.html#lineLength
+"QMultiLineEdit::markedText" qmultilineedit.html#markedText
+"QMultiLineEdit::newLine" qmultilineedit.html#newLine
+"QMultiLineEdit::numLines" qmultilineedit.html#numLines
+"QMultiLineEdit::numLines" qmultilineedit.html#numLines-prop
+"QMultiLineEdit::pageDown" qmultilineedit.html#pageDown
+"QMultiLineEdit::pageUp" qmultilineedit.html#pageUp
+"QMultiLineEdit::removeLine" qmultilineedit.html#removeLine
+"QMultiLineEdit::setAlignment" qmultilineedit.html#setAlignment
+"QMultiLineEdit::setCursorPosition" qmultilineedit.html#setCursorPosition
+"QMultiLineEdit::setEdited" qmultilineedit.html#setEdited
+"QMultiLineEdit::textLine" qmultilineedit.html#textLine
+"QMutex" qmutex.html
+"QMutex::lock" qmutex.html#lock
+"QMutex::locked" qmutex.html#locked
+"QMutex::tryLock" qmutex.html#tryLock
+"QMutex::unlock" qmutex.html#unlock
+"QMutex::~QMutex" qmutex.html#~QMutex
+"QMutexLocker" qmutexlocker.html
+"QMutexLocker::mutex" qmutexlocker.html#mutex
+"QMutexLocker::~QMutexLocker" qmutexlocker.html#~QMutexLocker
+"QMutexPool::get" qmutexpool.html#get
+"QMutexPool::~QMutexPool" qmutexpool.html#~QMutexPool
+"QNPInstance" qnpinstance.html
+"QNPInstance::InstanceMode" qnpinstance.html#InstanceMode
+"QNPInstance::Reason" qnpinstance.html#Reason
+"QNPInstance::StreamMode" qnpinstance.html#StreamMode
+"QNPInstance::arg" qnpinstance.html#arg
+"QNPInstance::argc" qnpinstance.html#argc
+"QNPInstance::argn" qnpinstance.html#argn
+"QNPInstance::argv" qnpinstance.html#argv
+"QNPInstance::getJavaPeer" qnpinstance.html#getJavaPeer
+"QNPInstance::getURL" qnpinstance.html#getURL
+"QNPInstance::getURLNotify" qnpinstance.html#getURLNotify
+"QNPInstance::mode" qnpinstance.html#mode
+"QNPInstance::newStream" qnpinstance.html#newStream
+"QNPInstance::newStreamCreated" qnpinstance.html#newStreamCreated
+"QNPInstance::newWindow" qnpinstance.html#newWindow
+"QNPInstance::notifyURL" qnpinstance.html#notifyURL
+"QNPInstance::postURL" qnpinstance.html#postURL
+"QNPInstance::print" qnpinstance.html#print
+"QNPInstance::printFullPage" qnpinstance.html#printFullPage
+"QNPInstance::status" qnpinstance.html#status
+"QNPInstance::streamAsFile" qnpinstance.html#streamAsFile
+"QNPInstance::streamDestroyed" qnpinstance.html#streamDestroyed
+"QNPInstance::userAgent" qnpinstance.html#userAgent
+"QNPInstance::widget" qnpinstance.html#widget
+"QNPInstance::write" qnpinstance.html#write
+"QNPInstance::writeReady" qnpinstance.html#writeReady
+"QNPInstance::~QNPInstance" qnpinstance.html#~QNPInstance
+"QNPStream" qnpstream.html
+"QNPStream::complete" qnpstream.html#complete
+"QNPStream::end" qnpstream.html#end
+"QNPStream::instance" qnpstream.html#instance
+"QNPStream::lastModified" qnpstream.html#lastModified
+"QNPStream::okay" qnpstream.html#okay
+"QNPStream::requestRead" qnpstream.html#requestRead
+"QNPStream::seekable" qnpstream.html#seekable
+"QNPStream::type" qnpstream.html#type
+"QNPStream::url" qnpstream.html#url
+"QNPStream::write" qnpstream.html#write
+"QNPStream::~QNPStream" qnpstream.html#~QNPStream
+"QNPWidget" qnpwidget.html
+"QNPWidget::enterInstance" qnpwidget.html#enterInstance
+"QNPWidget::instance" qnpwidget.html#instance
+"QNPWidget::leaveInstance" qnpwidget.html#leaveInstance
+"QNPWidget::~QNPWidget" qnpwidget.html#~QNPWidget
+"QNPlugin" qnplugin.html
+"QNPlugin::actual" qnplugin.html#actual
+"QNPlugin::create" qnplugin.html#create
+"QNPlugin::getJavaClass" qnplugin.html#getJavaClass
+"QNPlugin::getJavaEnv" qnplugin.html#getJavaEnv
+"QNPlugin::getMIMEDescription" qnplugin.html#getMIMEDescription
+"QNPlugin::getPluginDescriptionString" qnplugin.html#getPluginDescriptionString
+"QNPlugin::getPluginNameString" qnplugin.html#getPluginNameString
+"QNPlugin::getVersionInfo" qnplugin.html#getVersionInfo
+"QNPlugin::newInstance" qnplugin.html#newInstance
+"QNPlugin::unuseJavaClass" qnplugin.html#unuseJavaClass
+"QNPlugin::~QNPlugin" qnplugin.html#~QNPlugin
+"QNetworkOperation" qnetworkoperation.html
+"QNetworkOperation::arg" qnetworkoperation.html#arg
+"QNetworkOperation::errorCode" qnetworkoperation.html#errorCode
+"QNetworkOperation::free" qnetworkoperation.html#free
+"QNetworkOperation::operation" qnetworkoperation.html#operation
+"QNetworkOperation::protocolDetail" qnetworkoperation.html#protocolDetail
+"QNetworkOperation::rawArg" qnetworkoperation.html#rawArg
+"QNetworkOperation::setArg" qnetworkoperation.html#setArg
+"QNetworkOperation::setErrorCode" qnetworkoperation.html#setErrorCode
+"QNetworkOperation::setProtocolDetail" qnetworkoperation.html#setProtocolDetail
+"QNetworkOperation::setRawArg" qnetworkoperation.html#setRawArg
+"QNetworkOperation::setState" qnetworkoperation.html#setState
+"QNetworkOperation::state" qnetworkoperation.html#state
+"QNetworkOperation::~QNetworkOperation" qnetworkoperation.html#~QNetworkOperation
+"QNetworkProtocol" qnetworkprotocol.html
+"QNetworkProtocol::ConnectionState" qnetworkprotocol.html#ConnectionState
+"QNetworkProtocol::Error" qnetworkprotocol.html#Error
+"QNetworkProtocol::Operation" qnetworkprotocol.html#Operation
+"QNetworkProtocol::State" qnetworkprotocol.html#State
+"QNetworkProtocol::addOperation" qnetworkprotocol.html#addOperation
+"QNetworkProtocol::autoDelete" qnetworkprotocol.html#autoDelete
+"QNetworkProtocol::checkConnection" qnetworkprotocol.html#checkConnection
+"QNetworkProtocol::clearOperationQueue" qnetworkprotocol.html#clearOperationQueue
+"QNetworkProtocol::connectionStateChanged" qnetworkprotocol.html#connectionStateChanged
+"QNetworkProtocol::createdDirectory" qnetworkprotocol.html#createdDirectory
+"QNetworkProtocol::data" qnetworkprotocol.html#data
+"QNetworkProtocol::dataTransferProgress" qnetworkprotocol.html#dataTransferProgress
+"QNetworkProtocol::finished" qnetworkprotocol.html#finished
+"QNetworkProtocol::getNetworkProtocol" qnetworkprotocol.html#getNetworkProtocol
+"QNetworkProtocol::hasOnlyLocalFileSystem" qnetworkprotocol.html#hasOnlyLocalFileSystem
+"QNetworkProtocol::itemChanged" qnetworkprotocol.html#itemChanged
+"QNetworkProtocol::newChild" qnetworkprotocol.html#newChild
+"QNetworkProtocol::newChildren" qnetworkprotocol.html#newChildren
+"QNetworkProtocol::operationGet" qnetworkprotocol.html#operationGet
+"QNetworkProtocol::operationInProgress" qnetworkprotocol.html#operationInProgress
+"QNetworkProtocol::operationListChildren" qnetworkprotocol.html#operationListChildren
+"QNetworkProtocol::operationMkDir" qnetworkprotocol.html#operationMkDir
+"QNetworkProtocol::operationPut" qnetworkprotocol.html#operationPut
+"QNetworkProtocol::operationRemove" qnetworkprotocol.html#operationRemove
+"QNetworkProtocol::operationRename" qnetworkprotocol.html#operationRename
+"QNetworkProtocol::registerNetworkProtocol" qnetworkprotocol.html#registerNetworkProtocol
+"QNetworkProtocol::removed" qnetworkprotocol.html#removed
+"QNetworkProtocol::setAutoDelete" qnetworkprotocol.html#setAutoDelete
+"QNetworkProtocol::setUrl" qnetworkprotocol.html#setUrl
+"QNetworkProtocol::start" qnetworkprotocol.html#start
+"QNetworkProtocol::stop" qnetworkprotocol.html#stop
+"QNetworkProtocol::supportedOperations" qnetworkprotocol.html#supportedOperations
+"QNetworkProtocol::url" qnetworkprotocol.html#url
+"QNetworkProtocol::~QNetworkProtocol" qnetworkprotocol.html#~QNetworkProtocol
+"QObject" qobject.html
+"QObject::activate_signal" qobject.html#activate_signal
+"QObject::blockSignals" qobject.html#blockSignals
+"QObject::checkConnectArgs" qobject.html#checkConnectArgs
+"QObject::child" qobject.html#child
+"QObject::childEvent" qobject.html#childEvent
+"QObject::children" qobject.html#children
+"QObject::className" qobject.html#className
+"QObject::cleanupEventFilter" qobject.html#cleanupEventFilter
+"QObject::connect" qobject.html#connect
+"QObject::connectNotify" qobject.html#connectNotify
+"QObject::customEvent" qobject.html#customEvent
+"QObject::deleteLater" qobject.html#deleteLater
+"QObject::destroyed" qobject.html#destroyed
+"QObject::disconnect" qobject.html#disconnect
+"QObject::disconnectNotify" qobject.html#disconnectNotify
+"QObject::dumpObjectInfo" qobject.html#dumpObjectInfo
+"QObject::dumpObjectTree" qobject.html#dumpObjectTree
+"QObject::event" qobject.html#event
+"QObject::eventFilter" qobject.html#eventFilter
+"QObject::highPriority" qobject.html#highPriority
+"QObject::inherits" qobject.html#inherits
+"QObject::insertChild" qobject.html#insertChild
+"QObject::installEventFilter" qobject.html#installEventFilter
+"QObject::isA" qobject.html#isA
+"QObject::isWidgetType" qobject.html#isWidgetType
+"QObject::killTimer" qobject.html#killTimer
+"QObject::killTimers" qobject.html#killTimers
+"QObject::metaObject" qobject.html#metaObject
+"QObject::name" qobject.html#name
+"QObject::name" qobject.html#name-prop
+"QObject::normalizeSignalSlot" qobject.html#normalizeSignalSlot
+"QObject::objectTrees" qobject.html#objectTrees
+"QObject::parent" qobject.html#parent
+"QObject::property" qobject.html#property
+"QObject::queryList" qobject.html#queryList
+"QObject::removeChild" qobject.html#removeChild
+"QObject::removeEventFilter" qobject.html#removeEventFilter
+"QObject::sender" qobject.html#sender
+"QObject::setName" qobject.html#setName
+"QObject::setProperty" qobject.html#setProperty
+"QObject::signalsBlocked" qobject.html#signalsBlocked
+"QObject::startTimer" qobject.html#startTimer
+"QObject::timerEvent" qobject.html#timerEvent
+"QObject::tr" qobject.html#tr
+"QObject::trUtf8" qobject.html#trUtf8
+"QObject::~QObject" qobject.html#~QObject
+"QObjectCleanupHandler" qobjectcleanuphandler.html
+"QObjectCleanupHandler::add" qobjectcleanuphandler.html#add
+"QObjectCleanupHandler::clear" qobjectcleanuphandler.html#clear
+"QObjectCleanupHandler::isEmpty" qobjectcleanuphandler.html#isEmpty
+"QObjectCleanupHandler::remove" qobjectcleanuphandler.html#remove
+"QObjectCleanupHandler::~QObjectCleanupHandler" qobjectcleanuphandler.html#~QObjectCleanupHandler
+"QObjectList" qobjectlist.html
+"QObjectList::operator=" qobjectlist.html#operator-eq
+"QObjectList::~QObjectList" qobjectlist.html#~QObjectList
+"QObjectListIterator" qobjectlistiterator.html
+"QObjectListIterator::operator=" qobjectlistiterator.html#operator-eq
+"QPNGImagePacker" qpngimagepacker.html
+"QPNGImagePacker::packImage" qpngimagepacker.html#packImage
+"QPNGImagePacker::setPixelAlignment" qpngimagepacker.html#setPixelAlignment
+"QPaintDevice" qpaintdevice.html
+"QPaintDevice::cmd" qpaintdevice.html#cmd
+"QPaintDevice::handle" qpaintdevice.html#handle
+"QPaintDevice::isExtDev" qpaintdevice.html#isExtDev
+"QPaintDevice::paintingActive" qpaintdevice.html#paintingActive
+"QPaintDevice::x11AppCells" qpaintdevice.html#x11AppCells
+"QPaintDevice::x11AppColormap" qpaintdevice.html#x11AppColormap
+"QPaintDevice::x11AppDefaultColormap" qpaintdevice.html#x11AppDefaultColormap
+"QPaintDevice::x11AppDefaultVisual" qpaintdevice.html#x11AppDefaultVisual
+"QPaintDevice::x11AppDepth" qpaintdevice.html#x11AppDepth
+"QPaintDevice::x11AppDisplay" qpaintdevice.html#x11AppDisplay
+"QPaintDevice::x11AppDpiX" qpaintdevice.html#x11AppDpiX
+"QPaintDevice::x11AppDpiY" qpaintdevice.html#x11AppDpiY
+"QPaintDevice::x11AppRootWindow" qpaintdevice.html#x11AppRootWindow
+"QPaintDevice::x11AppScreen" qpaintdevice.html#x11AppScreen
+"QPaintDevice::x11AppVisual" qpaintdevice.html#x11AppVisual
+"QPaintDevice::x11Cells" qpaintdevice.html#x11Cells
+"QPaintDevice::x11Colormap" qpaintdevice.html#x11Colormap
+"QPaintDevice::x11DefaultColormap" qpaintdevice.html#x11DefaultColormap
+"QPaintDevice::x11DefaultVisual" qpaintdevice.html#x11DefaultVisual
+"QPaintDevice::x11Depth" qpaintdevice.html#x11Depth
+"QPaintDevice::x11Display" qpaintdevice.html#x11Display
+"QPaintDevice::x11Screen" qpaintdevice.html#x11Screen
+"QPaintDevice::x11SetAppDpiX" qpaintdevice.html#x11SetAppDpiX
+"QPaintDevice::x11SetAppDpiY" qpaintdevice.html#x11SetAppDpiY
+"QPaintDevice::x11Visual" qpaintdevice.html#x11Visual
+"QPaintDevice::~QPaintDevice" qpaintdevice.html#~QPaintDevice
+"QPaintDeviceMetrics" qpaintdevicemetrics.html
+"QPaintDeviceMetrics::depth" qpaintdevicemetrics.html#depth
+"QPaintDeviceMetrics::height" qpaintdevicemetrics.html#height
+"QPaintDeviceMetrics::heightMM" qpaintdevicemetrics.html#heightMM
+"QPaintDeviceMetrics::logicalDpiX" qpaintdevicemetrics.html#logicalDpiX
+"QPaintDeviceMetrics::logicalDpiY" qpaintdevicemetrics.html#logicalDpiY
+"QPaintDeviceMetrics::numColors" qpaintdevicemetrics.html#numColors
+"QPaintDeviceMetrics::width" qpaintdevicemetrics.html#width
+"QPaintDeviceMetrics::widthMM" qpaintdevicemetrics.html#widthMM
+"QPaintEvent" qpaintevent.html
+"QPaintEvent::erased" qpaintevent.html#erased
+"QPaintEvent::rect" qpaintevent.html#rect
+"QPaintEvent::region" qpaintevent.html#region
+"QPainter" qpainter.html
+"QPainter::CoordinateMode" qpainter.html#CoordinateMode
+"QPainter::TextDirection" qpainter.html#TextDirection
+"QPainter::backgroundColor" qpainter.html#backgroundColor
+"QPainter::backgroundMode" qpainter.html#backgroundMode
+"QPainter::begin" qpainter.html#begin
+"QPainter::boundingRect" qpainter.html#boundingRect
+"QPainter::brush" qpainter.html#brush
+"QPainter::brushOrigin" qpainter.html#brushOrigin
+"QPainter::clipRegion" qpainter.html#clipRegion
+"QPainter::device" qpainter.html#device
+"QPainter::drawArc" qpainter.html#drawArc
+"QPainter::drawChord" qpainter.html#drawChord
+"QPainter::drawConvexPolygon" qpainter.html#drawConvexPolygon
+"QPainter::drawCubicBezier" qpainter.html#drawCubicBezier
+"QPainter::drawEllipse" qpainter.html#drawEllipse
+"QPainter::drawImage" qpainter.html#drawImage
+"QPainter::drawLine" qpainter.html#drawLine
+"QPainter::drawLineSegments" qpainter.html#drawLineSegments
+"QPainter::drawPicture" qpainter.html#drawPicture
+"QPainter::drawPie" qpainter.html#drawPie
+"QPainter::drawPixmap" qpainter.html#drawPixmap
+"QPainter::drawPoint" qpainter.html#drawPoint
+"QPainter::drawPoints" qpainter.html#drawPoints
+"QPainter::drawPolygon" qpainter.html#drawPolygon
+"QPainter::drawPolyline" qpainter.html#drawPolyline
+"QPainter::drawRect" qpainter.html#drawRect
+"QPainter::drawRoundRect" qpainter.html#drawRoundRect
+"QPainter::drawText" qpainter.html#drawText
+"QPainter::drawTiledPixmap" qpainter.html#drawTiledPixmap
+"QPainter::drawWinFocusRect" qpainter.html#drawWinFocusRect
+"QPainter::end" qpainter.html#end
+"QPainter::eraseRect" qpainter.html#eraseRect
+"QPainter::fillRect" qpainter.html#fillRect
+"QPainter::flush" qpainter.html#flush
+"QPainter::font" qpainter.html#font
+"QPainter::fontInfo" qpainter.html#fontInfo
+"QPainter::fontMetrics" qpainter.html#fontMetrics
+"QPainter::handle" qpainter.html#handle
+"QPainter::hasClipping" qpainter.html#hasClipping
+"QPainter::hasViewXForm" qpainter.html#hasViewXForm
+"QPainter::hasWorldXForm" qpainter.html#hasWorldXForm
+"QPainter::isActive" qpainter.html#isActive
+"QPainter::lineTo" qpainter.html#lineTo
+"QPainter::moveTo" qpainter.html#moveTo
+"QPainter::pen" qpainter.html#pen
+"QPainter::rasterOp" qpainter.html#rasterOp
+"QPainter::redirect" qpainter.html#redirect
+"QPainter::resetXForm" qpainter.html#resetXForm
+"QPainter::restore" qpainter.html#restore
+"QPainter::rotate" qpainter.html#rotate
+"QPainter::save" qpainter.html#save
+"QPainter::scale" qpainter.html#scale
+"QPainter::setBackgroundColor" qpainter.html#setBackgroundColor
+"QPainter::setBackgroundMode" qpainter.html#setBackgroundMode
+"QPainter::setBrush" qpainter.html#setBrush
+"QPainter::setBrushOrigin" qpainter.html#setBrushOrigin
+"QPainter::setClipRect" qpainter.html#setClipRect
+"QPainter::setClipRegion" qpainter.html#setClipRegion
+"QPainter::setClipping" qpainter.html#setClipping
+"QPainter::setFont" qpainter.html#setFont
+"QPainter::setPen" qpainter.html#setPen
+"QPainter::setRasterOp" qpainter.html#setRasterOp
+"QPainter::setTabArray" qpainter.html#setTabArray
+"QPainter::setTabStops" qpainter.html#setTabStops
+"QPainter::setViewXForm" qpainter.html#setViewXForm
+"QPainter::setViewport" qpainter.html#setViewport
+"QPainter::setWindow" qpainter.html#setWindow
+"QPainter::setWorldMatrix" qpainter.html#setWorldMatrix
+"QPainter::setWorldXForm" qpainter.html#setWorldXForm
+"QPainter::shear" qpainter.html#shear
+"QPainter::tabArray" qpainter.html#tabArray
+"QPainter::tabStops" qpainter.html#tabStops
+"QPainter::translate" qpainter.html#translate
+"QPainter::viewport" qpainter.html#viewport
+"QPainter::window" qpainter.html#window
+"QPainter::worldMatrix" qpainter.html#worldMatrix
+"QPainter::xForm" qpainter.html#xForm
+"QPainter::xFormDev" qpainter.html#xFormDev
+"QPainter::~QPainter" qpainter.html#~QPainter
+"QPair" qpair.html
+"QPair::first_type" qpair.html#first_type
+"QPair::second_type" qpair.html#second_type
+"QPalette" qpalette.html
+"QPalette::ColorGroup" qpalette.html#ColorGroup
+"QPalette::active" qpalette.html#active
+"QPalette::brush" qpalette.html#brush
+"QPalette::color" qpalette.html#color
+"QPalette::copy" qpalette.html#copy
+"QPalette::detach" qpalette.html#detach
+"QPalette::disabled" qpalette.html#disabled
+"QPalette::inactive" qpalette.html#inactive
+"QPalette::isCopyOf" qpalette.html#isCopyOf
+"QPalette::operator!=" qpalette.html#operator!-eq
+"QPalette::operator=" qpalette.html#operator-eq
+"QPalette::operator==" qpalette.html#operator-eq-eq
+"QPalette::serialNumber" qpalette.html#serialNumber
+"QPalette::setActive" qpalette.html#setActive
+"QPalette::setBrush" qpalette.html#setBrush
+"QPalette::setColor" qpalette.html#setColor
+"QPalette::setDisabled" qpalette.html#setDisabled
+"QPalette::setInactive" qpalette.html#setInactive
+"QPalette::~QPalette" qpalette.html#~QPalette
+"QPen" qpen.html
+"QPen::capStyle" qpen.html#capStyle
+"QPen::color" qpen.html#color
+"QPen::copy" qpen.html#copy
+"QPen::detach" qpen.html#detach
+"QPen::joinStyle" qpen.html#joinStyle
+"QPen::operator!=" qpen.html#operator!-eq
+"QPen::operator=" qpen.html#operator-eq
+"QPen::operator==" qpen.html#operator-eq-eq
+"QPen::setCapStyle" qpen.html#setCapStyle
+"QPen::setColor" qpen.html#setColor
+"QPen::setJoinStyle" qpen.html#setJoinStyle
+"QPen::setStyle" qpen.html#setStyle
+"QPen::setWidth" qpen.html#setWidth
+"QPen::style" qpen.html#style
+"QPen::width" qpen.html#width
+"QPen::~QPen" qpen.html#~QPen
+"QPicture" qpicture.html
+"QPicture::boundingRect" qpicture.html#boundingRect
+"QPicture::copy" qpicture.html#copy
+"QPicture::data" qpicture.html#data
+"QPicture::detach" qpicture.html#detach
+"QPicture::isNull" qpicture.html#isNull
+"QPicture::load" qpicture.html#load
+"QPicture::metric" qpicture.html#metric
+"QPicture::operator=" qpicture.html#operator-eq
+"QPicture::play" qpicture.html#play
+"QPicture::save" qpicture.html#save
+"QPicture::setBoundingRect" qpicture.html#setBoundingRect
+"QPicture::setData" qpicture.html#setData
+"QPicture::size" qpicture.html#size
+"QPicture::~QPicture" qpicture.html#~QPicture
+"QPixmap" qpixmap.html
+"QPixmap::ColorMode" qpixmap.html#ColorMode
+"QPixmap::Optimization" qpixmap.html#Optimization
+"QPixmap::convertFromImage" qpixmap.html#convertFromImage
+"QPixmap::convertToImage" qpixmap.html#convertToImage
+"QPixmap::copy" qpixmap.html#copy
+"QPixmap::createHeuristicMask" qpixmap.html#createHeuristicMask
+"QPixmap::defaultDepth" qpixmap.html#defaultDepth
+"QPixmap::defaultOptimization" qpixmap.html#defaultOptimization
+"QPixmap::depth" qpixmap.html#depth
+"QPixmap::detach" qpixmap.html#detach
+"QPixmap::fill" qpixmap.html#fill
+"QPixmap::fromMimeSource" qpixmap.html#fromMimeSource
+"QPixmap::grabWidget" qpixmap.html#grabWidget
+"QPixmap::grabWindow" qpixmap.html#grabWindow
+"QPixmap::hasAlpha" qpixmap.html#hasAlpha
+"QPixmap::hasAlphaChannel" qpixmap.html#hasAlphaChannel
+"QPixmap::height" qpixmap.html#height
+"QPixmap::imageFormat" qpixmap.html#imageFormat
+"QPixmap::isNull" qpixmap.html#isNull
+"QPixmap::isQBitmap" qpixmap.html#isQBitmap
+"QPixmap::load" qpixmap.html#load
+"QPixmap::loadFromData" qpixmap.html#loadFromData
+"QPixmap::mask" qpixmap.html#mask
+"QPixmap::metric" qpixmap.html#metric
+"QPixmap::operator=" qpixmap.html#operator-eq
+"QPixmap::optimization" qpixmap.html#optimization
+"QPixmap::rect" qpixmap.html#rect
+"QPixmap::resize" qpixmap.html#resize
+"QPixmap::save" qpixmap.html#save
+"QPixmap::selfMask" qpixmap.html#selfMask
+"QPixmap::serialNumber" qpixmap.html#serialNumber
+"QPixmap::setDefaultOptimization" qpixmap.html#setDefaultOptimization
+"QPixmap::setMask" qpixmap.html#setMask
+"QPixmap::setOptimization" qpixmap.html#setOptimization
+"QPixmap::size" qpixmap.html#size
+"QPixmap::trueMatrix" qpixmap.html#trueMatrix
+"QPixmap::width" qpixmap.html#width
+"QPixmap::xForm" qpixmap.html#xForm
+"QPixmap::~QPixmap" qpixmap.html#~QPixmap
+"QPixmapCache" qpixmapcache.html
+"QPixmapCache::cacheLimit" qpixmapcache.html#cacheLimit
+"QPixmapCache::clear" qpixmapcache.html#clear
+"QPixmapCache::find" qpixmapcache.html#find
+"QPixmapCache::insert" qpixmapcache.html#insert
+"QPixmapCache::remove" qpixmapcache.html#remove
+"QPixmapCache::setCacheLimit" qpixmapcache.html#setCacheLimit
+"QPlatinumStyle" qplatinumstyle.html
+"QPlatinumStyle::drawRiffles" qplatinumstyle.html#drawRiffles
+"QPlatinumStyle::mixedColor" qplatinumstyle.html#mixedColor
+"QPluginManager::queryInterface" qpluginmanager.html#queryInterface
+"QPoint" qpoint.html
+"QPoint::isNull" qpoint.html#isNull
+"QPoint::manhattanLength" qpoint.html#manhattanLength
+"QPoint::operator*=" qpoint.html#operator*-eq
+"QPoint::operator+=" qpoint.html#operator+-eq
+"QPoint::operator-=" qpoint.html#operator--eq
+"QPoint::operator/=" qpoint.html#operator/-eq
+"QPoint::rx" qpoint.html#rx
+"QPoint::ry" qpoint.html#ry
+"QPoint::setX" qpoint.html#setX
+"QPoint::setY" qpoint.html#setY
+"QPoint::x" qpoint.html#x
+"QPoint::y" qpoint.html#y
+"QPointArray" qpointarray.html
+"QPointArray::boundingRect" qpointarray.html#boundingRect
+"QPointArray::copy" qpointarray.html#copy
+"QPointArray::cubicBezier" qpointarray.html#cubicBezier
+"QPointArray::makeArc" qpointarray.html#makeArc
+"QPointArray::makeEllipse" qpointarray.html#makeEllipse
+"QPointArray::operator=" qpointarray.html#operator-eq
+"QPointArray::point" qpointarray.html#point
+"QPointArray::putPoints" qpointarray.html#putPoints
+"QPointArray::setPoint" qpointarray.html#setPoint
+"QPointArray::setPoints" qpointarray.html#setPoints
+"QPointArray::translate" qpointarray.html#translate
+"QPointArray::~QPointArray" qpointarray.html#~QPointArray
+"QPolygonScanner::scan" qpolygonscanner.html#scan
+"QPopupMenu" qpopupmenu.html
+"QPopupMenu::aboutToHide" qpopupmenu.html#aboutToHide
+"QPopupMenu::aboutToShow" qpopupmenu.html#aboutToShow
+"QPopupMenu::activated" qpopupmenu.html#activated
+"QPopupMenu::checkable" qpopupmenu.html#checkable-prop
+"QPopupMenu::columns" qpopupmenu.html#columns
+"QPopupMenu::drawContents" qpopupmenu.html#drawContents
+"QPopupMenu::drawItem" qpopupmenu.html#drawItem
+"QPopupMenu::exec" qpopupmenu.html#exec
+"QPopupMenu::highlighted" qpopupmenu.html#highlighted
+"QPopupMenu::idAt" qpopupmenu.html#idAt
+"QPopupMenu::insertTearOffHandle" qpopupmenu.html#insertTearOffHandle
+"QPopupMenu::isCheckable" qpopupmenu.html#isCheckable
+"QPopupMenu::itemHeight" qpopupmenu.html#itemHeight
+"QPopupMenu::popup" qpopupmenu.html#popup
+"QPopupMenu::setActiveItem" qpopupmenu.html#setActiveItem
+"QPopupMenu::setCheckable" qpopupmenu.html#setCheckable
+"QPopupMenu::updateItem" qpopupmenu.html#updateItem
+"QPopupMenu::~QPopupMenu" qpopupmenu.html#~QPopupMenu
+"QPrintDialog::addButton" qprintdialog.html#addButton
+"QPrintDialog::getPrinterSetup" qprintdialog.html#getPrinterSetup
+"QPrintDialog::printer" qprintdialog.html#printer
+"QPrintDialog::setGlobalPrintDialog" qprintdialog.html#setGlobalPrintDialog
+"QPrintDialog::setPrinter" qprintdialog.html#setPrinter
+"QPrintDialog::~QPrintDialog" qprintdialog.html#~QPrintDialog
+"QPrinter" qprinter.html
+"QPrinter::ColorMode" qprinter.html#ColorMode
+"QPrinter::Orientation" qprinter.html#Orientation
+"QPrinter::PageOrder" qprinter.html#PageOrder
+"QPrinter::PageSize" qprinter.html#PageSize
+"QPrinter::PaperSource" qprinter.html#PaperSource
+"QPrinter::PrintRange" qprinter.html#PrintRange
+"QPrinter::PrinterMode" qprinter.html#PrinterMode
+"QPrinter::PrinterOption" qprinter.html#PrinterOption
+"QPrinter::abort" qprinter.html#abort
+"QPrinter::aborted" qprinter.html#aborted
+"QPrinter::colorMode" qprinter.html#colorMode
+"QPrinter::creator" qprinter.html#creator
+"QPrinter::docName" qprinter.html#docName
+"QPrinter::fromPage" qprinter.html#fromPage
+"QPrinter::fullPage" qprinter.html#fullPage
+"QPrinter::isOptionEnabled" qprinter.html#isOptionEnabled
+"QPrinter::margins" qprinter.html#margins
+"QPrinter::maxPage" qprinter.html#maxPage
+"QPrinter::minPage" qprinter.html#minPage
+"QPrinter::newPage" qprinter.html#newPage
+"QPrinter::numCopies" qprinter.html#numCopies
+"QPrinter::orientation" qprinter.html#orientation
+"QPrinter::outputFileName" qprinter.html#outputFileName
+"QPrinter::outputToFile" qprinter.html#outputToFile
+"QPrinter::pageOrder" qprinter.html#pageOrder
+"QPrinter::pageSize" qprinter.html#pageSize
+"QPrinter::paperSource" qprinter.html#paperSource
+"QPrinter::printProgram" qprinter.html#printProgram
+"QPrinter::printRange" qprinter.html#printRange
+"QPrinter::printerName" qprinter.html#printerName
+"QPrinter::printerSelectionOption" qprinter.html#printerSelectionOption
+"QPrinter::resolution" qprinter.html#resolution
+"QPrinter::setColorMode" qprinter.html#setColorMode
+"QPrinter::setCreator" qprinter.html#setCreator
+"QPrinter::setDocName" qprinter.html#setDocName
+"QPrinter::setFromTo" qprinter.html#setFromTo
+"QPrinter::setFullPage" qprinter.html#setFullPage
+"QPrinter::setMargins" qprinter.html#setMargins
+"QPrinter::setMinMax" qprinter.html#setMinMax
+"QPrinter::setNumCopies" qprinter.html#setNumCopies
+"QPrinter::setOptionEnabled" qprinter.html#setOptionEnabled
+"QPrinter::setOrientation" qprinter.html#setOrientation
+"QPrinter::setOutputFileName" qprinter.html#setOutputFileName
+"QPrinter::setOutputToFile" qprinter.html#setOutputToFile
+"QPrinter::setPageOrder" qprinter.html#setPageOrder
+"QPrinter::setPageSize" qprinter.html#setPageSize
+"QPrinter::setPaperSource" qprinter.html#setPaperSource
+"QPrinter::setPrintProgram" qprinter.html#setPrintProgram
+"QPrinter::setPrintRange" qprinter.html#setPrintRange
+"QPrinter::setPrinterName" qprinter.html#setPrinterName
+"QPrinter::setPrinterSelectionOption" qprinter.html#setPrinterSelectionOption
+"QPrinter::setResolution" qprinter.html#setResolution
+"QPrinter::setWinPageSize" qprinter.html#setWinPageSize
+"QPrinter::setup" qprinter.html#setup
+"QPrinter::toPage" qprinter.html#toPage
+"QPrinter::winPageSize" qprinter.html#winPageSize
+"QPrinter::~QPrinter" qprinter.html#~QPrinter
+"QProcess" qprocess.html
+"QProcess::Communication" qprocess.html#Communication
+"QProcess::addArgument" qprocess.html#addArgument
+"QProcess::arguments" qprocess.html#arguments
+"QProcess::canReadLineStderr" qprocess.html#canReadLineStderr
+"QProcess::canReadLineStdout" qprocess.html#canReadLineStdout
+"QProcess::clearArguments" qprocess.html#clearArguments
+"QProcess::closeStdin" qprocess.html#closeStdin
+"QProcess::communication" qprocess.html#communication
+"QProcess::exitStatus" qprocess.html#exitStatus
+"QProcess::isRunning" qprocess.html#isRunning
+"QProcess::kill" qprocess.html#kill
+"QProcess::launch" qprocess.html#launch
+"QProcess::launchFinished" qprocess.html#launchFinished
+"QProcess::normalExit" qprocess.html#normalExit
+"QProcess::processExited" qprocess.html#processExited
+"QProcess::processIdentifier" qprocess.html#processIdentifier
+"QProcess::readLineStderr" qprocess.html#readLineStderr
+"QProcess::readLineStdout" qprocess.html#readLineStdout
+"QProcess::readStderr" qprocess.html#readStderr
+"QProcess::readStdout" qprocess.html#readStdout
+"QProcess::readyReadStderr" qprocess.html#readyReadStderr
+"QProcess::readyReadStdout" qprocess.html#readyReadStdout
+"QProcess::setArguments" qprocess.html#setArguments
+"QProcess::setCommunication" qprocess.html#setCommunication
+"QProcess::setWorkingDirectory" qprocess.html#setWorkingDirectory
+"QProcess::start" qprocess.html#start
+"QProcess::tryTerminate" qprocess.html#tryTerminate
+"QProcess::workingDirectory" qprocess.html#workingDirectory
+"QProcess::writeToStdin" qprocess.html#writeToStdin
+"QProcess::wroteToStdin" qprocess.html#wroteToStdin
+"QProcess::~QProcess" qprocess.html#~QProcess
+"QProgressBar" qprogressbar.html
+"QProgressBar::centerIndicator" qprogressbar.html#centerIndicator
+"QProgressBar::centerIndicator" qprogressbar.html#centerIndicator-prop
+"QProgressBar::indicatorFollowsStyle" qprogressbar.html#indicatorFollowsStyle
+"QProgressBar::indicatorFollowsStyle" qprogressbar.html#indicatorFollowsStyle-prop
+"QProgressBar::percentageVisible" qprogressbar.html#percentageVisible
+"QProgressBar::percentageVisible" qprogressbar.html#percentageVisible-prop
+"QProgressBar::progress" qprogressbar.html#progress
+"QProgressBar::progress" qprogressbar.html#progress-prop
+"QProgressBar::progressString" qprogressbar.html#progressString
+"QProgressBar::progressString" qprogressbar.html#progressString-prop
+"QProgressBar::reset" qprogressbar.html#reset
+"QProgressBar::setCenterIndicator" qprogressbar.html#setCenterIndicator
+"QProgressBar::setIndicator" qprogressbar.html#setIndicator
+"QProgressBar::setIndicatorFollowsStyle" qprogressbar.html#setIndicatorFollowsStyle
+"QProgressBar::setPercentageVisible" qprogressbar.html#setPercentageVisible
+"QProgressBar::setProgress" qprogressbar.html#setProgress
+"QProgressBar::setTotalSteps" qprogressbar.html#setTotalSteps
+"QProgressBar::totalSteps" qprogressbar.html#totalSteps
+"QProgressBar::totalSteps" qprogressbar.html#totalSteps-prop
+"QProgressDialog" qprogressdialog.html
+"QProgressDialog::autoClose" qprogressdialog.html#autoClose
+"QProgressDialog::autoClose" qprogressdialog.html#autoClose-prop
+"QProgressDialog::autoReset" qprogressdialog.html#autoReset
+"QProgressDialog::autoReset" qprogressdialog.html#autoReset-prop
+"QProgressDialog::bar" qprogressdialog.html#bar
+"QProgressDialog::cancel" qprogressdialog.html#cancel
+"QProgressDialog::canceled" qprogressdialog.html#canceled
+"QProgressDialog::forceShow" qprogressdialog.html#forceShow
+"QProgressDialog::label" qprogressdialog.html#label
+"QProgressDialog::labelText" qprogressdialog.html#labelText
+"QProgressDialog::labelText" qprogressdialog.html#labelText-prop
+"QProgressDialog::minimumDuration" qprogressdialog.html#minimumDuration
+"QProgressDialog::minimumDuration" qprogressdialog.html#minimumDuration-prop
+"QProgressDialog::progress" qprogressdialog.html#progress
+"QProgressDialog::progress" qprogressdialog.html#progress-prop
+"QProgressDialog::reset" qprogressdialog.html#reset
+"QProgressDialog::setAutoClose" qprogressdialog.html#setAutoClose
+"QProgressDialog::setAutoReset" qprogressdialog.html#setAutoReset
+"QProgressDialog::setBar" qprogressdialog.html#setBar
+"QProgressDialog::setCancelButton" qprogressdialog.html#setCancelButton
+"QProgressDialog::setCancelButtonText" qprogressdialog.html#setCancelButtonText
+"QProgressDialog::setLabel" qprogressdialog.html#setLabel
+"QProgressDialog::setLabelText" qprogressdialog.html#setLabelText
+"QProgressDialog::setMinimumDuration" qprogressdialog.html#setMinimumDuration
+"QProgressDialog::setProgress" qprogressdialog.html#setProgress
+"QProgressDialog::setTotalSteps" qprogressdialog.html#setTotalSteps
+"QProgressDialog::sizeHint" qprogressdialog.html#sizeHint
+"QProgressDialog::totalSteps" qprogressdialog.html#totalSteps
+"QProgressDialog::totalSteps" qprogressdialog.html#totalSteps-prop
+"QProgressDialog::wasCanceled" qprogressdialog.html#wasCanceled
+"QProgressDialog::wasCanceled" qprogressdialog.html#wasCanceled-prop
+"QProgressDialog::~QProgressDialog" qprogressdialog.html#~QProgressDialog
+"QPtrCollection" qptrcollection.html
+"QPtrCollection::Item" qptrcollection.html#Item
+"QPtrCollection::autoDelete" qptrcollection.html#autoDelete
+"QPtrCollection::clear" qptrcollection.html#clear
+"QPtrCollection::count" qptrcollection.html#count
+"QPtrCollection::deleteItem" qptrcollection.html#deleteItem
+"QPtrCollection::newItem" qptrcollection.html#newItem
+"QPtrCollection::setAutoDelete" qptrcollection.html#setAutoDelete
+"QPtrCollection::~QPtrCollection" qptrcollection.html#~QPtrCollection
+"QPtrDict" qptrdict.html
+"QPtrDict::clear" qptrdict.html#clear
+"QPtrDict::count" qptrdict.html#count
+"QPtrDict::find" qptrdict.html#find
+"QPtrDict::insert" qptrdict.html#insert
+"QPtrDict::isEmpty" qptrdict.html#isEmpty
+"QPtrDict::operator=" qptrdict.html#operator-eq
+"QPtrDict::operator[]" qptrdict.html#operator[]
+"QPtrDict::read" qptrdict.html#read
+"QPtrDict::remove" qptrdict.html#remove
+"QPtrDict::replace" qptrdict.html#replace
+"QPtrDict::resize" qptrdict.html#resize
+"QPtrDict::size" qptrdict.html#size
+"QPtrDict::statistics" qptrdict.html#statistics
+"QPtrDict::take" qptrdict.html#take
+"QPtrDict::write" qptrdict.html#write
+"QPtrDict::~QPtrDict" qptrdict.html#~QPtrDict
+"QPtrDictIterator" qptrdictiterator.html
+"QPtrDictIterator::count" qptrdictiterator.html#count
+"QPtrDictIterator::current" qptrdictiterator.html#current
+"QPtrDictIterator::currentKey" qptrdictiterator.html#currentKey
+"QPtrDictIterator::isEmpty" qptrdictiterator.html#isEmpty
+"QPtrDictIterator::operator type *" qptrdictiterator.html#operator-type-*
+"QPtrDictIterator::operator()" qptrdictiterator.html#operator()
+"QPtrDictIterator::operator++" qptrdictiterator.html#operator++
+"QPtrDictIterator::operator+=" qptrdictiterator.html#operator+-eq
+"QPtrDictIterator::toFirst" qptrdictiterator.html#toFirst
+"QPtrDictIterator::~QPtrDictIterator" qptrdictiterator.html#~QPtrDictIterator
+"QPtrList" qptrlist.html
+"QPtrList::append" qptrlist.html#append
+"QPtrList::at" qptrlist.html#at
+"QPtrList::clear" qptrlist.html#clear
+"QPtrList::compareItems" qptrlist.html#compareItems
+"QPtrList::contains" qptrlist.html#contains
+"QPtrList::containsRef" qptrlist.html#containsRef
+"QPtrList::count" qptrlist.html#count
+"QPtrList::current" qptrlist.html#current
+"QPtrList::currentNode" qptrlist.html#currentNode
+"QPtrList::find" qptrlist.html#find
+"QPtrList::findNext" qptrlist.html#findNext
+"QPtrList::findNextRef" qptrlist.html#findNextRef
+"QPtrList::findRef" qptrlist.html#findRef
+"QPtrList::first" qptrlist.html#first
+"QPtrList::getFirst" qptrlist.html#getFirst
+"QPtrList::getLast" qptrlist.html#getLast
+"QPtrList::inSort" qptrlist.html#inSort
+"QPtrList::insert" qptrlist.html#insert
+"QPtrList::isEmpty" qptrlist.html#isEmpty
+"QPtrList::last" qptrlist.html#last
+"QPtrList::next" qptrlist.html#next
+"QPtrList::operator!=" qptrlist.html#operator!-eq
+"QPtrList::operator=" qptrlist.html#operator-eq
+"QPtrList::operator==" qptrlist.html#operator-eq-eq
+"QPtrList::prepend" qptrlist.html#prepend
+"QPtrList::prev" qptrlist.html#prev
+"QPtrList::read" qptrlist.html#read
+"QPtrList::remove" qptrlist.html#remove
+"QPtrList::removeFirst" qptrlist.html#removeFirst
+"QPtrList::removeLast" qptrlist.html#removeLast
+"QPtrList::removeNode" qptrlist.html#removeNode
+"QPtrList::removeRef" qptrlist.html#removeRef
+"QPtrList::replace" qptrlist.html#replace
+"QPtrList::sort" qptrlist.html#sort
+"QPtrList::take" qptrlist.html#take
+"QPtrList::takeNode" qptrlist.html#takeNode
+"QPtrList::toVector" qptrlist.html#toVector
+"QPtrList::write" qptrlist.html#write
+"QPtrList::~QPtrList" qptrlist.html#~QPtrList
+"QPtrListIterator" qptrlistiterator.html
+"QPtrListIterator::atFirst" qptrlistiterator.html#atFirst
+"QPtrListIterator::atLast" qptrlistiterator.html#atLast
+"QPtrListIterator::count" qptrlistiterator.html#count
+"QPtrListIterator::current" qptrlistiterator.html#current
+"QPtrListIterator::isEmpty" qptrlistiterator.html#isEmpty
+"QPtrListIterator::operator type *" qptrlistiterator.html#operator-type-*
+"QPtrListIterator::operator()" qptrlistiterator.html#operator()
+"QPtrListIterator::operator*" qptrlistiterator.html#operator*
+"QPtrListIterator::operator++" qptrlistiterator.html#operator++
+"QPtrListIterator::operator+=" qptrlistiterator.html#operator+-eq
+"QPtrListIterator::operator--" qptrlistiterator.html#operator--
+"QPtrListIterator::operator-=" qptrlistiterator.html#operator--eq
+"QPtrListIterator::operator=" qptrlistiterator.html#operator-eq
+"QPtrListIterator::toFirst" qptrlistiterator.html#toFirst
+"QPtrListIterator::toLast" qptrlistiterator.html#toLast
+"QPtrListIterator::~QPtrListIterator" qptrlistiterator.html#~QPtrListIterator
+"QPtrQueue" qptrqueue.html
+"QPtrQueue::autoDelete" qptrqueue.html#autoDelete
+"QPtrQueue::clear" qptrqueue.html#clear
+"QPtrQueue::count" qptrqueue.html#count
+"QPtrQueue::current" qptrqueue.html#current
+"QPtrQueue::dequeue" qptrqueue.html#dequeue
+"QPtrQueue::enqueue" qptrqueue.html#enqueue
+"QPtrQueue::head" qptrqueue.html#head
+"QPtrQueue::isEmpty" qptrqueue.html#isEmpty
+"QPtrQueue::operator type *" qptrqueue.html#operator-type-*
+"QPtrQueue::operator=" qptrqueue.html#operator-eq
+"QPtrQueue::read" qptrqueue.html#read
+"QPtrQueue::remove" qptrqueue.html#remove
+"QPtrQueue::setAutoDelete" qptrqueue.html#setAutoDelete
+"QPtrQueue::write" qptrqueue.html#write
+"QPtrQueue::~QPtrQueue" qptrqueue.html#~QPtrQueue
+"QPtrStack" qptrstack.html
+"QPtrStack::autoDelete" qptrstack.html#autoDelete
+"QPtrStack::clear" qptrstack.html#clear
+"QPtrStack::count" qptrstack.html#count
+"QPtrStack::current" qptrstack.html#current
+"QPtrStack::isEmpty" qptrstack.html#isEmpty
+"QPtrStack::operator type *" qptrstack.html#operator-type-*
+"QPtrStack::operator=" qptrstack.html#operator-eq
+"QPtrStack::pop" qptrstack.html#pop
+"QPtrStack::push" qptrstack.html#push
+"QPtrStack::read" qptrstack.html#read
+"QPtrStack::remove" qptrstack.html#remove
+"QPtrStack::setAutoDelete" qptrstack.html#setAutoDelete
+"QPtrStack::top" qptrstack.html#top
+"QPtrStack::write" qptrstack.html#write
+"QPtrStack::~QPtrStack" qptrstack.html#~QPtrStack
+"QPtrVector" qptrvector.html
+"QPtrVector::at" qptrvector.html#at
+"QPtrVector::bsearch" qptrvector.html#bsearch
+"QPtrVector::clear" qptrvector.html#clear
+"QPtrVector::compareItems" qptrvector.html#compareItems
+"QPtrVector::contains" qptrvector.html#contains
+"QPtrVector::containsRef" qptrvector.html#containsRef
+"QPtrVector::count" qptrvector.html#count
+"QPtrVector::data" qptrvector.html#data
+"QPtrVector::fill" qptrvector.html#fill
+"QPtrVector::find" qptrvector.html#find
+"QPtrVector::findRef" qptrvector.html#findRef
+"QPtrVector::insert" qptrvector.html#insert
+"QPtrVector::isEmpty" qptrvector.html#isEmpty
+"QPtrVector::isNull" qptrvector.html#isNull
+"QPtrVector::operator=" qptrvector.html#operator-eq
+"QPtrVector::operator==" qptrvector.html#operator-eq-eq
+"QPtrVector::operator[]" qptrvector.html#operator[]
+"QPtrVector::read" qptrvector.html#read
+"QPtrVector::remove" qptrvector.html#remove
+"QPtrVector::resize" qptrvector.html#resize
+"QPtrVector::size" qptrvector.html#size
+"QPtrVector::sort" qptrvector.html#sort
+"QPtrVector::take" qptrvector.html#take
+"QPtrVector::write" qptrvector.html#write
+"QPtrVector::~QPtrVector" qptrvector.html#~QPtrVector
+"QPushButton" qpushbutton.html
+"QPushButton::autoDefault" qpushbutton.html#autoDefault
+"QPushButton::autoDefault" qpushbutton.html#autoDefault-prop
+"QPushButton::autoMask" qpushbutton.html#autoMask-prop
+"QPushButton::default" qpushbutton.html#default-prop
+"QPushButton::flat" qpushbutton.html#flat-prop
+"QPushButton::iconSet" qpushbutton.html#iconSet
+"QPushButton::iconSet" qpushbutton.html#iconSet-prop
+"QPushButton::isDefault" qpushbutton.html#isDefault
+"QPushButton::isFlat" qpushbutton.html#isFlat
+"QPushButton::on" qpushbutton.html#on-prop
+"QPushButton::popup" qpushbutton.html#popup
+"QPushButton::setAutoDefault" qpushbutton.html#setAutoDefault
+"QPushButton::setDefault" qpushbutton.html#setDefault
+"QPushButton::setFlat" qpushbutton.html#setFlat
+"QPushButton::setIconSet" qpushbutton.html#setIconSet
+"QPushButton::setOn" qpushbutton.html#setOn
+"QPushButton::setPopup" qpushbutton.html#setPopup
+"QPushButton::setToggleButton" qpushbutton.html#setToggleButton
+"QPushButton::toggleButton" qpushbutton.html#toggleButton-prop
+"QPushButton::~QPushButton" qpushbutton.html#~QPushButton
+"QQueue Class Reference (obsolete)" qqueue.html
+"QRadioButton" qradiobutton.html
+"QRadioButton::autoMask" qradiobutton.html#autoMask-prop
+"QRadioButton::checked" qradiobutton.html#checked-prop
+"QRadioButton::isChecked" qradiobutton.html#isChecked
+"QRadioButton::setChecked" qradiobutton.html#setChecked
+"QRangeControl" qrangecontrol.html
+"QRangeControl::addLine" qrangecontrol.html#addLine
+"QRangeControl::addPage" qrangecontrol.html#addPage
+"QRangeControl::bound" qrangecontrol.html#bound
+"QRangeControl::directSetValue" qrangecontrol.html#directSetValue
+"QRangeControl::lineStep" qrangecontrol.html#lineStep
+"QRangeControl::maxValue" qrangecontrol.html#maxValue
+"QRangeControl::minValue" qrangecontrol.html#minValue
+"QRangeControl::pageStep" qrangecontrol.html#pageStep
+"QRangeControl::positionFromValue" qrangecontrol.html#positionFromValue
+"QRangeControl::prevValue" qrangecontrol.html#prevValue
+"QRangeControl::rangeChange" qrangecontrol.html#rangeChange
+"QRangeControl::setMaxValue" qrangecontrol.html#setMaxValue
+"QRangeControl::setMinValue" qrangecontrol.html#setMinValue
+"QRangeControl::setRange" qrangecontrol.html#setRange
+"QRangeControl::setSteps" qrangecontrol.html#setSteps
+"QRangeControl::setValue" qrangecontrol.html#setValue
+"QRangeControl::stepChange" qrangecontrol.html#stepChange
+"QRangeControl::subtractLine" qrangecontrol.html#subtractLine
+"QRangeControl::subtractPage" qrangecontrol.html#subtractPage
+"QRangeControl::value" qrangecontrol.html#value
+"QRangeControl::valueChange" qrangecontrol.html#valueChange
+"QRangeControl::valueFromPosition" qrangecontrol.html#valueFromPosition
+"QRangeControl::~QRangeControl" qrangecontrol.html#~QRangeControl
+"QRect" qrect.html
+"QRect::addCoords" qrect.html#addCoords
+"QRect::bottom" qrect.html#bottom
+"QRect::bottomLeft" qrect.html#bottomLeft
+"QRect::bottomRight" qrect.html#bottomRight
+"QRect::center" qrect.html#center
+"QRect::contains" qrect.html#contains
+"QRect::coords" qrect.html#coords
+"QRect::height" qrect.html#height
+"QRect::intersect" qrect.html#intersect
+"QRect::intersects" qrect.html#intersects
+"QRect::isEmpty" qrect.html#isEmpty
+"QRect::isNull" qrect.html#isNull
+"QRect::isValid" qrect.html#isValid
+"QRect::left" qrect.html#left
+"QRect::moveBottom" qrect.html#moveBottom
+"QRect::moveBottomLeft" qrect.html#moveBottomLeft
+"QRect::moveBottomRight" qrect.html#moveBottomRight
+"QRect::moveBy" qrect.html#moveBy
+"QRect::moveCenter" qrect.html#moveCenter
+"QRect::moveLeft" qrect.html#moveLeft
+"QRect::moveRight" qrect.html#moveRight
+"QRect::moveTop" qrect.html#moveTop
+"QRect::moveTopLeft" qrect.html#moveTopLeft
+"QRect::moveTopRight" qrect.html#moveTopRight
+"QRect::normalize" qrect.html#normalize
+"QRect::operator&" qrect.html#operator-and
+"QRect::operator&=" qrect.html#operator-and-eq
+"QRect::operator|" qrect.html#operator|
+"QRect::operator|=" qrect.html#operator|-eq
+"QRect::rBottom" qrect.html#rBottom
+"QRect::rLeft" qrect.html#rLeft
+"QRect::rRight" qrect.html#rRight
+"QRect::rTop" qrect.html#rTop
+"QRect::rect" qrect.html#rect
+"QRect::right" qrect.html#right
+"QRect::setBottom" qrect.html#setBottom
+"QRect::setBottomLeft" qrect.html#setBottomLeft
+"QRect::setBottomRight" qrect.html#setBottomRight
+"QRect::setCoords" qrect.html#setCoords
+"QRect::setHeight" qrect.html#setHeight
+"QRect::setLeft" qrect.html#setLeft
+"QRect::setRect" qrect.html#setRect
+"QRect::setRight" qrect.html#setRight
+"QRect::setSize" qrect.html#setSize
+"QRect::setTop" qrect.html#setTop
+"QRect::setTopLeft" qrect.html#setTopLeft
+"QRect::setTopRight" qrect.html#setTopRight
+"QRect::setWidth" qrect.html#setWidth
+"QRect::setX" qrect.html#setX
+"QRect::setY" qrect.html#setY
+"QRect::size" qrect.html#size
+"QRect::top" qrect.html#top
+"QRect::topLeft" qrect.html#topLeft
+"QRect::topRight" qrect.html#topRight
+"QRect::unite" qrect.html#unite
+"QRect::width" qrect.html#width
+"QRect::x" qrect.html#x
+"QRect::y" qrect.html#y
+"QRegExp" qregexp.html
+"QRegExp::CaretMode" qregexp.html#CaretMode
+"QRegExp::cap" qregexp.html#cap
+"QRegExp::capturedTexts" qregexp.html#capturedTexts
+"QRegExp::caseSensitive" qregexp.html#caseSensitive
+"QRegExp::errorString" qregexp.html#errorString
+"QRegExp::escape" qregexp.html#escape
+"QRegExp::exactMatch" qregexp.html#exactMatch
+"QRegExp::isEmpty" qregexp.html#isEmpty
+"QRegExp::isValid" qregexp.html#isValid
+"QRegExp::matchedLength" qregexp.html#matchedLength
+"QRegExp::minimal" qregexp.html#minimal
+"QRegExp::numCaptures" qregexp.html#numCaptures
+"QRegExp::operator!=" qregexp.html#operator!-eq
+"QRegExp::operator=" qregexp.html#operator-eq
+"QRegExp::operator==" qregexp.html#operator-eq-eq
+"QRegExp::pattern" qregexp.html#pattern
+"QRegExp::pos" qregexp.html#pos
+"QRegExp::search" qregexp.html#search
+"QRegExp::searchRev" qregexp.html#searchRev
+"QRegExp::setCaseSensitive" qregexp.html#setCaseSensitive
+"QRegExp::setMinimal" qregexp.html#setMinimal
+"QRegExp::setPattern" qregexp.html#setPattern
+"QRegExp::setWildcard" qregexp.html#setWildcard
+"QRegExp::wildcard" qregexp.html#wildcard
+"QRegExp::~QRegExp" qregexp.html#~QRegExp
+"QRegExpValidator" qregexpvalidator.html
+"QRegExpValidator::regExp" qregexpvalidator.html#regExp
+"QRegExpValidator::setRegExp" qregexpvalidator.html#setRegExp
+"QRegExpValidator::validate" qregexpvalidator.html#validate
+"QRegExpValidator::~QRegExpValidator" qregexpvalidator.html#~QRegExpValidator
+"QRegion" qregion.html
+"QRegion::RegionType" qregion.html#RegionType
+"QRegion::boundingRect" qregion.html#boundingRect
+"QRegion::contains" qregion.html#contains
+"QRegion::copy" qregion.html#copy
+"QRegion::detach" qregion.html#detach
+"QRegion::eor" qregion.html#eor
+"QRegion::handle" qregion.html#handle
+"QRegion::intersect" qregion.html#intersect
+"QRegion::isEmpty" qregion.html#isEmpty
+"QRegion::isNull" qregion.html#isNull
+"QRegion::operator!=" qregion.html#operator!-eq
+"QRegion::operator&" qregion.html#operator-and
+"QRegion::operator&=" qregion.html#operator-and-eq
+"QRegion::operator+" qregion.html#operator+
+"QRegion::operator+=" qregion.html#operator+-eq
+"QRegion::operator-" qregion.html#operator-
+"QRegion::operator-=" qregion.html#operator--eq
+"QRegion::operator=" qregion.html#operator-eq
+"QRegion::operator==" qregion.html#operator-eq-eq
+"QRegion::operator^" qregion.html#operator^
+"QRegion::operator^=" qregion.html#operator^-eq
+"QRegion::operator|" qregion.html#operator|
+"QRegion::operator|=" qregion.html#operator|-eq
+"QRegion::rects" qregion.html#rects
+"QRegion::subtract" qregion.html#subtract
+"QRegion::translate" qregion.html#translate
+"QRegion::unite" qregion.html#unite
+"QRegion::~QRegion" qregion.html#~QRegion
+"QRenderedFont::ascent" qrenderedfont.html#ascent
+"QRenderedFont::descent" qrenderedfont.html#descent
+"QRenderedFont::leftBearing" qrenderedfont.html#leftBearing
+"QRenderedFont::maxWidth" qrenderedfont.html#maxWidth
+"QRenderedFont::minLeftBearing" qrenderedfont.html#minLeftBearing
+"QRenderedFont::minRightBearing" qrenderedfont.html#minRightBearing
+"QRenderedFont::rightBearing" qrenderedfont.html#rightBearing
+"QRenderedFont::width" qrenderedfont.html#width
+"QRenderedFont::~QRenderedFont" qrenderedfont.html#~QRenderedFont
+"QResizeEvent" qresizeevent.html
+"QResizeEvent::oldSize" qresizeevent.html#oldSize
+"QResizeEvent::size" qresizeevent.html#size
+"QSGIStyle" qsgistyle.html
+"QSGIStyle::~QSGIStyle" qsgistyle.html#~QSGIStyle
+"QScreen" qscreen.html
+"QScreen::alloc" qscreen.html#alloc
+"QScreen::base" qscreen.html#base
+"QScreen::blank" qscreen.html#blank
+"QScreen::cache" qscreen.html#cache
+"QScreen::clut" qscreen.html#clut
+"QScreen::connect" qscreen.html#connect
+"QScreen::createGfx" qscreen.html#createGfx
+"QScreen::depth" qscreen.html#depth
+"QScreen::deviceHeight" qscreen.html#deviceHeight
+"QScreen::deviceWidth" qscreen.html#deviceWidth
+"QScreen::disconnect" qscreen.html#disconnect
+"QScreen::height" qscreen.html#height
+"QScreen::initCursor" qscreen.html#initCursor
+"QScreen::initDevice" qscreen.html#initDevice
+"QScreen::isInterlaced" qscreen.html#isInterlaced
+"QScreen::isTransformed" qscreen.html#isTransformed
+"QScreen::lastOp" qscreen.html#lastOp
+"QScreen::linestep" qscreen.html#linestep
+"QScreen::mapFromDevice" qscreen.html#mapFromDevice
+"QScreen::mapToDevice" qscreen.html#mapToDevice
+"QScreen::numCols" qscreen.html#numCols
+"QScreen::onCard" qscreen.html#onCard
+"QScreen::opType" qscreen.html#opType
+"QScreen::pixelType" qscreen.html#pixelType
+"QScreen::pixmapDepth" qscreen.html#pixmapDepth
+"QScreen::pixmapLinestepAlignment" qscreen.html#pixmapLinestepAlignment
+"QScreen::pixmapOffsetAlignment" qscreen.html#pixmapOffsetAlignment
+"QScreen::restore" qscreen.html#restore
+"QScreen::save" qscreen.html#save
+"QScreen::screenGfx" qscreen.html#screenGfx
+"QScreen::screenSize" qscreen.html#screenSize
+"QScreen::set" qscreen.html#set
+"QScreen::setDirty" qscreen.html#setDirty
+"QScreen::setMode" qscreen.html#setMode
+"QScreen::shutdownDevice" qscreen.html#shutdownDevice
+"QScreen::supportsDepth" qscreen.html#supportsDepth
+"QScreen::totalSize" qscreen.html#totalSize
+"QScreen::transformOrientation" qscreen.html#transformOrientation
+"QScreen::uncache" qscreen.html#uncache
+"QScreen::width" qscreen.html#width
+"QScreen::~QScreen" qscreen.html#~QScreen
+"QScrollBar" qscrollbar.html
+"QScrollBar::doAutoRepeat" qscrollbar.html#doAutoRepeat
+"QScrollBar::draggingSlider" qscrollbar.html#draggingSlider
+"QScrollBar::draggingSlider" qscrollbar.html#draggingSlider-prop
+"QScrollBar::hideEvent" qscrollbar.html#hideEvent
+"QScrollBar::lineStep" qscrollbar.html#lineStep
+"QScrollBar::lineStep" qscrollbar.html#lineStep-prop
+"QScrollBar::maxValue" qscrollbar.html#maxValue
+"QScrollBar::maxValue" qscrollbar.html#maxValue-prop
+"QScrollBar::minValue" qscrollbar.html#minValue
+"QScrollBar::minValue" qscrollbar.html#minValue-prop
+"QScrollBar::nextLine" qscrollbar.html#nextLine
+"QScrollBar::nextPage" qscrollbar.html#nextPage
+"QScrollBar::orientation" qscrollbar.html#orientation
+"QScrollBar::orientation" qscrollbar.html#orientation-prop
+"QScrollBar::pageStep" qscrollbar.html#pageStep
+"QScrollBar::pageStep" qscrollbar.html#pageStep-prop
+"QScrollBar::prevLine" qscrollbar.html#prevLine
+"QScrollBar::prevPage" qscrollbar.html#prevPage
+"QScrollBar::setLineStep" qscrollbar.html#setLineStep
+"QScrollBar::setMaxValue" qscrollbar.html#setMaxValue
+"QScrollBar::setMinValue" qscrollbar.html#setMinValue
+"QScrollBar::setOrientation" qscrollbar.html#setOrientation
+"QScrollBar::setPageStep" qscrollbar.html#setPageStep
+"QScrollBar::setPalette" qscrollbar.html#setPalette
+"QScrollBar::setTracking" qscrollbar.html#setTracking
+"QScrollBar::setValue" qscrollbar.html#setValue
+"QScrollBar::sliderMoved" qscrollbar.html#sliderMoved
+"QScrollBar::sliderPressed" qscrollbar.html#sliderPressed
+"QScrollBar::sliderRect" qscrollbar.html#sliderRect
+"QScrollBar::sliderReleased" qscrollbar.html#sliderReleased
+"QScrollBar::sliderStart" qscrollbar.html#sliderStart
+"QScrollBar::startAutoRepeat" qscrollbar.html#startAutoRepeat
+"QScrollBar::stopAutoRepeat" qscrollbar.html#stopAutoRepeat
+"QScrollBar::tracking" qscrollbar.html#tracking
+"QScrollBar::tracking" qscrollbar.html#tracking-prop
+"QScrollBar::value" qscrollbar.html#value
+"QScrollBar::value" qscrollbar.html#value-prop
+"QScrollBar::valueChanged" qscrollbar.html#valueChanged
+"QScrollBar::~QScrollBar" qscrollbar.html#~QScrollBar
+"QScrollView" qscrollview.html
+"QScrollView::ResizePolicy" qscrollview.html#ResizePolicy
+"QScrollView::ScrollBarMode" qscrollview.html#ScrollBarMode
+"QScrollView::addChild" qscrollview.html#addChild
+"QScrollView::bottomMargin" qscrollview.html#bottomMargin
+"QScrollView::center" qscrollview.html#center
+"QScrollView::childX" qscrollview.html#childX
+"QScrollView::childY" qscrollview.html#childY
+"QScrollView::clipper" qscrollview.html#clipper
+"QScrollView::contentsContextMenuEvent" qscrollview.html#contentsContextMenuEvent
+"QScrollView::contentsDragEnterEvent" qscrollview.html#contentsDragEnterEvent
+"QScrollView::contentsDragLeaveEvent" qscrollview.html#contentsDragLeaveEvent
+"QScrollView::contentsDragMoveEvent" qscrollview.html#contentsDragMoveEvent
+"QScrollView::contentsDropEvent" qscrollview.html#contentsDropEvent
+"QScrollView::contentsHeight" qscrollview.html#contentsHeight
+"QScrollView::contentsHeight" qscrollview.html#contentsHeight-prop
+"QScrollView::contentsMouseDoubleClickEvent" qscrollview.html#contentsMouseDoubleClickEvent
+"QScrollView::contentsMouseMoveEvent" qscrollview.html#contentsMouseMoveEvent
+"QScrollView::contentsMousePressEvent" qscrollview.html#contentsMousePressEvent
+"QScrollView::contentsMouseReleaseEvent" qscrollview.html#contentsMouseReleaseEvent
+"QScrollView::contentsMoving" qscrollview.html#contentsMoving
+"QScrollView::contentsToViewport" qscrollview.html#contentsToViewport
+"QScrollView::contentsWheelEvent" qscrollview.html#contentsWheelEvent
+"QScrollView::contentsWidth" qscrollview.html#contentsWidth
+"QScrollView::contentsWidth" qscrollview.html#contentsWidth-prop
+"QScrollView::contentsX" qscrollview.html#contentsX
+"QScrollView::contentsX" qscrollview.html#contentsX-prop
+"QScrollView::contentsY" qscrollview.html#contentsY
+"QScrollView::contentsY" qscrollview.html#contentsY-prop
+"QScrollView::cornerWidget" qscrollview.html#cornerWidget
+"QScrollView::dragAutoScroll" qscrollview.html#dragAutoScroll
+"QScrollView::dragAutoScroll" qscrollview.html#dragAutoScroll-prop
+"QScrollView::drawContents" qscrollview.html#drawContents
+"QScrollView::drawContentsOffset" qscrollview.html#drawContentsOffset
+"QScrollView::enableClipper" qscrollview.html#enableClipper
+"QScrollView::ensureVisible" qscrollview.html#ensureVisible
+"QScrollView::eventFilter" qscrollview.html#eventFilter
+"QScrollView::hScrollBarMode" qscrollview.html#hScrollBarMode
+"QScrollView::hScrollBarMode" qscrollview.html#hScrollBarMode-prop
+"QScrollView::hasStaticBackground" qscrollview.html#hasStaticBackground
+"QScrollView::horizontalScrollBar" qscrollview.html#horizontalScrollBar
+"QScrollView::horizontalSliderPressed" qscrollview.html#horizontalSliderPressed
+"QScrollView::horizontalSliderReleased" qscrollview.html#horizontalSliderReleased
+"QScrollView::isHorizontalSliderPressed" qscrollview.html#isHorizontalSliderPressed
+"QScrollView::isVerticalSliderPressed" qscrollview.html#isVerticalSliderPressed
+"QScrollView::leftMargin" qscrollview.html#leftMargin
+"QScrollView::moveChild" qscrollview.html#moveChild
+"QScrollView::moveContents" qscrollview.html#moveContents
+"QScrollView::removeChild" qscrollview.html#removeChild
+"QScrollView::repaintContents" qscrollview.html#repaintContents
+"QScrollView::resizeContents" qscrollview.html#resizeContents
+"QScrollView::resizePolicy" qscrollview.html#resizePolicy
+"QScrollView::resizePolicy" qscrollview.html#resizePolicy-prop
+"QScrollView::rightMargin" qscrollview.html#rightMargin
+"QScrollView::scrollBy" qscrollview.html#scrollBy
+"QScrollView::setContentsPos" qscrollview.html#setContentsPos
+"QScrollView::setCornerWidget" qscrollview.html#setCornerWidget
+"QScrollView::setDragAutoScroll" qscrollview.html#setDragAutoScroll
+"QScrollView::setHBarGeometry" qscrollview.html#setHBarGeometry
+"QScrollView::setHScrollBarMode" qscrollview.html#setHScrollBarMode
+"QScrollView::setMargins" qscrollview.html#setMargins
+"QScrollView::setResizePolicy" qscrollview.html#setResizePolicy
+"QScrollView::setStaticBackground" qscrollview.html#setStaticBackground
+"QScrollView::setVBarGeometry" qscrollview.html#setVBarGeometry
+"QScrollView::setVScrollBarMode" qscrollview.html#setVScrollBarMode
+"QScrollView::topMargin" qscrollview.html#topMargin
+"QScrollView::updateContents" qscrollview.html#updateContents
+"QScrollView::updateScrollBars" qscrollview.html#updateScrollBars
+"QScrollView::vScrollBarMode" qscrollview.html#vScrollBarMode
+"QScrollView::vScrollBarMode" qscrollview.html#vScrollBarMode-prop
+"QScrollView::verticalScrollBar" qscrollview.html#verticalScrollBar
+"QScrollView::verticalSliderPressed" qscrollview.html#verticalSliderPressed
+"QScrollView::verticalSliderReleased" qscrollview.html#verticalSliderReleased
+"QScrollView::viewport" qscrollview.html#viewport
+"QScrollView::viewportPaintEvent" qscrollview.html#viewportPaintEvent
+"QScrollView::viewportResizeEvent" qscrollview.html#viewportResizeEvent
+"QScrollView::viewportSize" qscrollview.html#viewportSize
+"QScrollView::viewportToContents" qscrollview.html#viewportToContents
+"QScrollView::visibleHeight" qscrollview.html#visibleHeight
+"QScrollView::visibleHeight" qscrollview.html#visibleHeight-prop
+"QScrollView::visibleWidth" qscrollview.html#visibleWidth
+"QScrollView::visibleWidth" qscrollview.html#visibleWidth-prop
+"QScrollView::~QScrollView" qscrollview.html#~QScrollView
+"QSemaphore" qsemaphore.html
+"QSemaphore::available" qsemaphore.html#available
+"QSemaphore::operator++" qsemaphore.html#operator++
+"QSemaphore::operator+=" qsemaphore.html#operator+-eq
+"QSemaphore::operator--" qsemaphore.html#operator--
+"QSemaphore::operator-=" qsemaphore.html#operator--eq
+"QSemaphore::total" qsemaphore.html#total
+"QSemaphore::tryAccess" qsemaphore.html#tryAccess
+"QSemaphore::~QSemaphore" qsemaphore.html#~QSemaphore
+"QServerSocket" qserversocket.html
+"QServerSocket::address" qserversocket.html#address
+"QServerSocket::newConnection" qserversocket.html#newConnection
+"QServerSocket::ok" qserversocket.html#ok
+"QServerSocket::port" qserversocket.html#port
+"QServerSocket::setSocket" qserversocket.html#setSocket
+"QServerSocket::socket" qserversocket.html#socket
+"QServerSocket::socketDevice" qserversocket.html#socketDevice
+"QServerSocket::~QServerSocket" qserversocket.html#~QServerSocket
+"QSessionManager" qsessionmanager.html
+"QSessionManager::RestartHint" qsessionmanager.html#RestartHint
+"QSessionManager::allowsErrorInteraction" qsessionmanager.html#allowsErrorInteraction
+"QSessionManager::allowsInteraction" qsessionmanager.html#allowsInteraction
+"QSessionManager::cancel" qsessionmanager.html#cancel
+"QSessionManager::discardCommand" qsessionmanager.html#discardCommand
+"QSessionManager::handle" qsessionmanager.html#handle
+"QSessionManager::isPhase2" qsessionmanager.html#isPhase2
+"QSessionManager::release" qsessionmanager.html#release
+"QSessionManager::requestPhase2" qsessionmanager.html#requestPhase2
+"QSessionManager::restartCommand" qsessionmanager.html#restartCommand
+"QSessionManager::restartHint" qsessionmanager.html#restartHint
+"QSessionManager::sessionId" qsessionmanager.html#sessionId
+"QSessionManager::sessionKey" qsessionmanager.html#sessionKey
+"QSessionManager::setDiscardCommand" qsessionmanager.html#setDiscardCommand
+"QSessionManager::setManagerProperty" qsessionmanager.html#setManagerProperty
+"QSessionManager::setRestartCommand" qsessionmanager.html#setRestartCommand
+"QSessionManager::setRestartHint" qsessionmanager.html#setRestartHint
+"QSettings" qsettings.html
+"QSettings::Format" qsettings.html#Format
+"QSettings::Scope" qsettings.html#Scope
+"QSettings::System" qsettings.html#System
+"QSettings::beginGroup" qsettings.html#beginGroup
+"QSettings::endGroup" qsettings.html#endGroup
+"QSettings::entryList" qsettings.html#entryList
+"QSettings::group" qsettings.html#group
+"QSettings::insertSearchPath" qsettings.html#insertSearchPath
+"QSettings::readBoolEntry" qsettings.html#readBoolEntry
+"QSettings::readDoubleEntry" qsettings.html#readDoubleEntry
+"QSettings::readEntry" qsettings.html#readEntry
+"QSettings::readListEntry" qsettings.html#readListEntry
+"QSettings::readNumEntry" qsettings.html#readNumEntry
+"QSettings::removeEntry" qsettings.html#removeEntry
+"QSettings::removeSearchPath" qsettings.html#removeSearchPath
+"QSettings::resetGroup" qsettings.html#resetGroup
+"QSettings::setPath" qsettings.html#setPath
+"QSettings::subkeyList" qsettings.html#subkeyList
+"QSettings::writeEntry" qsettings.html#writeEntry
+"QSettings::~QSettings" qsettings.html#~QSettings
+"QShowEvent" qshowevent.html
+"QSignal" qsignal.html
+"QSignal::activate" qsignal.html#activate
+"QSignal::connect" qsignal.html#connect
+"QSignal::disconnect" qsignal.html#disconnect
+"QSignal::setValue" qsignal.html#setValue
+"QSignal::value" qsignal.html#value
+"QSignal::~QSignal" qsignal.html#~QSignal
+"QSignalMapper" qsignalmapper.html
+"QSignalMapper::map" qsignalmapper.html#map
+"QSignalMapper::mapped" qsignalmapper.html#mapped
+"QSignalMapper::removeMappings" qsignalmapper.html#removeMappings
+"QSignalMapper::setMapping" qsignalmapper.html#setMapping
+"QSignalMapper::~QSignalMapper" qsignalmapper.html#~QSignalMapper
+"QSimpleRichText" qsimplerichtext.html
+"QSimpleRichText::adjustSize" qsimplerichtext.html#adjustSize
+"QSimpleRichText::anchorAt" qsimplerichtext.html#anchorAt
+"QSimpleRichText::context" qsimplerichtext.html#context
+"QSimpleRichText::draw" qsimplerichtext.html#draw
+"QSimpleRichText::height" qsimplerichtext.html#height
+"QSimpleRichText::inText" qsimplerichtext.html#inText
+"QSimpleRichText::setDefaultFont" qsimplerichtext.html#setDefaultFont
+"QSimpleRichText::setWidth" qsimplerichtext.html#setWidth
+"QSimpleRichText::width" qsimplerichtext.html#width
+"QSimpleRichText::widthUsed" qsimplerichtext.html#widthUsed
+"QSimpleRichText::~QSimpleRichText" qsimplerichtext.html#~QSimpleRichText
+"QSize" qsize.html
+"QSize::ScaleMode" qsize.html#ScaleMode
+"QSize::boundedTo" qsize.html#boundedTo
+"QSize::expandedTo" qsize.html#expandedTo
+"QSize::height" qsize.html#height
+"QSize::isEmpty" qsize.html#isEmpty
+"QSize::isNull" qsize.html#isNull
+"QSize::isValid" qsize.html#isValid
+"QSize::operator*=" qsize.html#operator*-eq
+"QSize::operator+=" qsize.html#operator+-eq
+"QSize::operator-=" qsize.html#operator--eq
+"QSize::operator/=" qsize.html#operator/-eq
+"QSize::rheight" qsize.html#rheight
+"QSize::rwidth" qsize.html#rwidth
+"QSize::scale" qsize.html#scale
+"QSize::setHeight" qsize.html#setHeight
+"QSize::setWidth" qsize.html#setWidth
+"QSize::transpose" qsize.html#transpose
+"QSize::width" qsize.html#width
+"QSizeGrip" qsizegrip.html
+"QSizeGrip::mouseMoveEvent" qsizegrip.html#mouseMoveEvent
+"QSizeGrip::mousePressEvent" qsizegrip.html#mousePressEvent
+"QSizeGrip::paintEvent" qsizegrip.html#paintEvent
+"QSizeGrip::sizeHint" qsizegrip.html#sizeHint
+"QSizeGrip::~QSizeGrip" qsizegrip.html#~QSizeGrip
+"QSizePolicy" qsizepolicy.html
+"QSizePolicy::ExpandData" qsizepolicy.html#ExpandData
+"QSizePolicy::SizeType" qsizepolicy.html#SizeType
+"QSizePolicy::expanding" qsizepolicy.html#expanding
+"QSizePolicy::hasHeightForWidth" qsizepolicy.html#hasHeightForWidth
+"QSizePolicy::horData" qsizepolicy.html#horData
+"QSizePolicy::horStretch" qsizepolicy.html#horStretch
+"QSizePolicy::mayGrowHorizontally" qsizepolicy.html#mayGrowHorizontally
+"QSizePolicy::mayGrowVertically" qsizepolicy.html#mayGrowVertically
+"QSizePolicy::mayShrinkHorizontally" qsizepolicy.html#mayShrinkHorizontally
+"QSizePolicy::mayShrinkVertically" qsizepolicy.html#mayShrinkVertically
+"QSizePolicy::operator!=" qsizepolicy.html#operator!-eq
+"QSizePolicy::operator==" qsizepolicy.html#operator-eq-eq
+"QSizePolicy::setHeightForWidth" qsizepolicy.html#setHeightForWidth
+"QSizePolicy::setHorData" qsizepolicy.html#setHorData
+"QSizePolicy::setHorStretch" qsizepolicy.html#setHorStretch
+"QSizePolicy::setVerData" qsizepolicy.html#setVerData
+"QSizePolicy::setVerStretch" qsizepolicy.html#setVerStretch
+"QSizePolicy::transpose" qsizepolicy.html#transpose
+"QSizePolicy::verData" qsizepolicy.html#verData
+"QSizePolicy::verStretch" qsizepolicy.html#verStretch
+"QSjisCodec" qsjiscodec.html
+"QSjisCodec::mimeName" qsjiscodec.html#mimeName
+"QSjisCodec::~QSjisCodec" qsjiscodec.html#~QSjisCodec
+"QSlider" qslider.html
+"QSlider::TickSetting" qslider.html#TickSetting
+"QSlider::addStep" qslider.html#addStep
+"QSlider::lineStep" qslider.html#lineStep
+"QSlider::lineStep" qslider.html#lineStep-prop
+"QSlider::maxValue" qslider.html#maxValue
+"QSlider::maxValue" qslider.html#maxValue-prop
+"QSlider::minValue" qslider.html#minValue
+"QSlider::minValue" qslider.html#minValue-prop
+"QSlider::moveSlider" qslider.html#moveSlider
+"QSlider::orientation" qslider.html#orientation
+"QSlider::orientation" qslider.html#orientation-prop
+"QSlider::pageStep" qslider.html#pageStep
+"QSlider::pageStep" qslider.html#pageStep-prop
+"QSlider::rangeChange" qslider.html#rangeChange
+"QSlider::setLineStep" qslider.html#setLineStep
+"QSlider::setMaxValue" qslider.html#setMaxValue
+"QSlider::setMinValue" qslider.html#setMinValue
+"QSlider::setOrientation" qslider.html#setOrientation
+"QSlider::setPageStep" qslider.html#setPageStep
+"QSlider::setPalette" qslider.html#setPalette
+"QSlider::setTickInterval" qslider.html#setTickInterval
+"QSlider::setTickmarks" qslider.html#setTickmarks
+"QSlider::setTracking" qslider.html#setTracking
+"QSlider::setValue" qslider.html#setValue
+"QSlider::sliderMoved" qslider.html#sliderMoved
+"QSlider::sliderPressed" qslider.html#sliderPressed
+"QSlider::sliderRect" qslider.html#sliderRect
+"QSlider::sliderReleased" qslider.html#sliderReleased
+"QSlider::sliderStart" qslider.html#sliderStart
+"QSlider::subtractStep" qslider.html#subtractStep
+"QSlider::tickInterval" qslider.html#tickInterval
+"QSlider::tickInterval" qslider.html#tickInterval-prop
+"QSlider::tickmarks" qslider.html#tickmarks
+"QSlider::tickmarks" qslider.html#tickmarks-prop
+"QSlider::tracking" qslider.html#tracking
+"QSlider::tracking" qslider.html#tracking-prop
+"QSlider::value" qslider.html#value
+"QSlider::value" qslider.html#value-prop
+"QSlider::valueChange" qslider.html#valueChange
+"QSlider::valueChanged" qslider.html#valueChanged
+"QSlider::~QSlider" qslider.html#~QSlider
+"QSocket" qsocket.html
+"QSocket::Error" qsocket.html#Error
+"QSocket::State" qsocket.html#State
+"QSocket::address" qsocket.html#address
+"QSocket::at" qsocket.html#at
+"QSocket::atEnd" qsocket.html#atEnd
+"QSocket::bytesAvailable" qsocket.html#bytesAvailable
+"QSocket::bytesToWrite" qsocket.html#bytesToWrite
+"QSocket::bytesWritten" qsocket.html#bytesWritten
+"QSocket::canReadLine" qsocket.html#canReadLine
+"QSocket::clearPendingData" qsocket.html#clearPendingData
+"QSocket::close" qsocket.html#close
+"QSocket::connectToHost" qsocket.html#connectToHost
+"QSocket::connected" qsocket.html#connected
+"QSocket::connectionClosed" qsocket.html#connectionClosed
+"QSocket::consumeWriteBuf" qsocket.html#consumeWriteBuf
+"QSocket::delayedCloseFinished" qsocket.html#delayedCloseFinished
+"QSocket::error" qsocket.html#error
+"QSocket::flush" qsocket.html#flush
+"QSocket::getch" qsocket.html#getch
+"QSocket::hostFound" qsocket.html#hostFound
+"QSocket::open" qsocket.html#open
+"QSocket::peerAddress" qsocket.html#peerAddress
+"QSocket::peerName" qsocket.html#peerName
+"QSocket::peerPort" qsocket.html#peerPort
+"QSocket::port" qsocket.html#port
+"QSocket::putch" qsocket.html#putch
+"QSocket::readBlock" qsocket.html#readBlock
+"QSocket::readBufferSize" qsocket.html#readBufferSize
+"QSocket::readLine" qsocket.html#readLine
+"QSocket::readyRead" qsocket.html#readyRead
+"QSocket::setReadBufferSize" qsocket.html#setReadBufferSize
+"QSocket::setSocket" qsocket.html#setSocket
+"QSocket::setSocketDevice" qsocket.html#setSocketDevice
+"QSocket::setSocketIntern" qsocket.html#setSocketIntern
+"QSocket::size" qsocket.html#size
+"QSocket::socket" qsocket.html#socket
+"QSocket::socketDevice" qsocket.html#socketDevice
+"QSocket::state" qsocket.html#state
+"QSocket::tryConnecting" qsocket.html#tryConnecting
+"QSocket::ungetch" qsocket.html#ungetch
+"QSocket::waitForMore" qsocket.html#waitForMore
+"QSocket::writeBlock" qsocket.html#writeBlock
+"QSocket::~QSocket" qsocket.html#~QSocket
+"QSocketDevice" qsocketdevice.html
+"QSocketDevice::Error" qsocketdevice.html#Error
+"QSocketDevice::Protocol" qsocketdevice.html#Protocol
+"QSocketDevice::Type" qsocketdevice.html#Type
+"QSocketDevice::accept" qsocketdevice.html#accept
+"QSocketDevice::address" qsocketdevice.html#address
+"QSocketDevice::addressReusable" qsocketdevice.html#addressReusable
+"QSocketDevice::bind" qsocketdevice.html#bind
+"QSocketDevice::blocking" qsocketdevice.html#blocking
+"QSocketDevice::bytesAvailable" qsocketdevice.html#bytesAvailable
+"QSocketDevice::connect" qsocketdevice.html#connect
+"QSocketDevice::createNewSocket" qsocketdevice.html#createNewSocket
+"QSocketDevice::error" qsocketdevice.html#error
+"QSocketDevice::fetchConnectionParameters" qsocketdevice.html#fetchConnectionParameters
+"QSocketDevice::isValid" qsocketdevice.html#isValid
+"QSocketDevice::listen" qsocketdevice.html#listen
+"QSocketDevice::option" qsocketdevice.html#option
+"QSocketDevice::peerAddress" qsocketdevice.html#peerAddress
+"QSocketDevice::peerPort" qsocketdevice.html#peerPort
+"QSocketDevice::port" qsocketdevice.html#port
+"QSocketDevice::protocol" qsocketdevice.html#protocol
+"QSocketDevice::readBlock" qsocketdevice.html#readBlock
+"QSocketDevice::receiveBufferSize" qsocketdevice.html#receiveBufferSize
+"QSocketDevice::sendBufferSize" qsocketdevice.html#sendBufferSize
+"QSocketDevice::setAddressReusable" qsocketdevice.html#setAddressReusable
+"QSocketDevice::setBlocking" qsocketdevice.html#setBlocking
+"QSocketDevice::setError" qsocketdevice.html#setError
+"QSocketDevice::setOption" qsocketdevice.html#setOption
+"QSocketDevice::setReceiveBufferSize" qsocketdevice.html#setReceiveBufferSize
+"QSocketDevice::setSendBufferSize" qsocketdevice.html#setSendBufferSize
+"QSocketDevice::setSocket" qsocketdevice.html#setSocket
+"QSocketDevice::socket" qsocketdevice.html#socket
+"QSocketDevice::type" qsocketdevice.html#type
+"QSocketDevice::waitForMore" qsocketdevice.html#waitForMore
+"QSocketDevice::writeBlock" qsocketdevice.html#writeBlock
+"QSocketDevice::~QSocketDevice" qsocketdevice.html#~QSocketDevice
+"QSocketNotifier" qsocketnotifier.html
+"QSocketNotifier::Type" qsocketnotifier.html#Type
+"QSocketNotifier::activated" qsocketnotifier.html#activated
+"QSocketNotifier::isEnabled" qsocketnotifier.html#isEnabled
+"QSocketNotifier::setEnabled" qsocketnotifier.html#setEnabled
+"QSocketNotifier::socket" qsocketnotifier.html#socket
+"QSocketNotifier::type" qsocketnotifier.html#type
+"QSocketNotifier::~QSocketNotifier" qsocketnotifier.html#~QSocketNotifier
+"QSortedList::operator=" qsortedlist.html#operator-eq
+"QSortedList::~QSortedList" qsortedlist.html#~QSortedList
+"QSound" qsound.html
+"QSound::available" qsound.html#available
+"QSound::fileName" qsound.html#fileName
+"QSound::isAvailable" qsound.html#isAvailable
+"QSound::isFinished" qsound.html#isFinished
+"QSound::loops" qsound.html#loops
+"QSound::loopsRemaining" qsound.html#loopsRemaining
+"QSound::play" qsound.html#play
+"QSound::setLoops" qsound.html#setLoops
+"QSound::stop" qsound.html#stop
+"QSound::~QSound" qsound.html#~QSound
+"QSpacerItem" qspaceritem.html
+"QSpacerItem::changeSize" qspaceritem.html#changeSize
+"QSpacerItem::expanding" qspaceritem.html#expanding
+"QSpacerItem::isEmpty" qspaceritem.html#isEmpty
+"QSpacerItem::maximumSize" qspaceritem.html#maximumSize
+"QSpacerItem::minimumSize" qspaceritem.html#minimumSize
+"QSpacerItem::setGeometry" qspaceritem.html#setGeometry
+"QSpacerItem::sizeHint" qspaceritem.html#sizeHint
+"QSpinBox" qspinbox.html
+"QSpinBox::ButtonSymbols" qspinbox.html#ButtonSymbols
+"QSpinBox::buttonSymbols" qspinbox.html#buttonSymbols
+"QSpinBox::buttonSymbols" qspinbox.html#buttonSymbols-prop
+"QSpinBox::cleanText" qspinbox.html#cleanText
+"QSpinBox::cleanText" qspinbox.html#cleanText-prop
+"QSpinBox::currentValueText" qspinbox.html#currentValueText
+"QSpinBox::downRect" qspinbox.html#downRect
+"QSpinBox::editor" qspinbox.html#editor
+"QSpinBox::eventFilter" qspinbox.html#eventFilter
+"QSpinBox::interpretText" qspinbox.html#interpretText
+"QSpinBox::lineStep" qspinbox.html#lineStep
+"QSpinBox::lineStep" qspinbox.html#lineStep-prop
+"QSpinBox::mapTextToValue" qspinbox.html#mapTextToValue
+"QSpinBox::mapValueToText" qspinbox.html#mapValueToText
+"QSpinBox::maxValue" qspinbox.html#maxValue
+"QSpinBox::maxValue" qspinbox.html#maxValue-prop
+"QSpinBox::minValue" qspinbox.html#minValue
+"QSpinBox::minValue" qspinbox.html#minValue-prop
+"QSpinBox::prefix" qspinbox.html#prefix
+"QSpinBox::prefix" qspinbox.html#prefix-prop
+"QSpinBox::rangeChange" qspinbox.html#rangeChange
+"QSpinBox::selectAll" qspinbox.html#selectAll
+"QSpinBox::setButtonSymbols" qspinbox.html#setButtonSymbols
+"QSpinBox::setLineStep" qspinbox.html#setLineStep
+"QSpinBox::setMaxValue" qspinbox.html#setMaxValue
+"QSpinBox::setMinValue" qspinbox.html#setMinValue
+"QSpinBox::setPrefix" qspinbox.html#setPrefix
+"QSpinBox::setSpecialValueText" qspinbox.html#setSpecialValueText
+"QSpinBox::setSuffix" qspinbox.html#setSuffix
+"QSpinBox::setValidator" qspinbox.html#setValidator
+"QSpinBox::setValue" qspinbox.html#setValue
+"QSpinBox::setWrapping" qspinbox.html#setWrapping
+"QSpinBox::specialValueText" qspinbox.html#specialValueText
+"QSpinBox::specialValueText" qspinbox.html#specialValueText-prop
+"QSpinBox::stepDown" qspinbox.html#stepDown
+"QSpinBox::stepUp" qspinbox.html#stepUp
+"QSpinBox::suffix" qspinbox.html#suffix
+"QSpinBox::suffix" qspinbox.html#suffix-prop
+"QSpinBox::text" qspinbox.html#text
+"QSpinBox::text" qspinbox.html#text-prop
+"QSpinBox::textChanged" qspinbox.html#textChanged
+"QSpinBox::upRect" qspinbox.html#upRect
+"QSpinBox::updateDisplay" qspinbox.html#updateDisplay
+"QSpinBox::validator" qspinbox.html#validator
+"QSpinBox::value" qspinbox.html#value
+"QSpinBox::value" qspinbox.html#value-prop
+"QSpinBox::valueChange" qspinbox.html#valueChange
+"QSpinBox::valueChanged" qspinbox.html#valueChanged
+"QSpinBox::wrapping" qspinbox.html#wrapping
+"QSpinBox::wrapping" qspinbox.html#wrapping-prop
+"QSpinBox::~QSpinBox" qspinbox.html#~QSpinBox
+"QSpinWidget::arrange" qspinwidget.html#arrange
+"QSpinWidget::buttonSymbols" qspinwidget.html#buttonSymbols
+"QSpinWidget::downRect" qspinwidget.html#downRect
+"QSpinWidget::editWidget" qspinwidget.html#editWidget
+"QSpinWidget::enableChanged" qspinwidget.html#enableChanged
+"QSpinWidget::isDownEnabled" qspinwidget.html#isDownEnabled
+"QSpinWidget::isUpEnabled" qspinwidget.html#isUpEnabled
+"QSpinWidget::mouseMoveEvent" qspinwidget.html#mouseMoveEvent
+"QSpinWidget::mouseReleaseEvent" qspinwidget.html#mouseReleaseEvent
+"QSpinWidget::paintEvent" qspinwidget.html#paintEvent
+"QSpinWidget::setButtonSymbols" qspinwidget.html#setButtonSymbols
+"QSpinWidget::setDownEnabled" qspinwidget.html#setDownEnabled
+"QSpinWidget::setEditWidget" qspinwidget.html#setEditWidget
+"QSpinWidget::setUpEnabled" qspinwidget.html#setUpEnabled
+"QSpinWidget::stepDown" qspinwidget.html#stepDown
+"QSpinWidget::stepUp" qspinwidget.html#stepUp
+"QSpinWidget::styleChange" qspinwidget.html#styleChange
+"QSpinWidget::upRect" qspinwidget.html#upRect
+"QSpinWidget::updateDisplay" qspinwidget.html#updateDisplay
+"QSpinWidget::wheelEvent" qspinwidget.html#wheelEvent
+"QSpinWidget::~QSpinWidget" qspinwidget.html#~QSpinWidget
+"QSplashScreen" qsplashscreen.html
+"QSplashScreen::clear" qsplashscreen.html#clear
+"QSplashScreen::drawContents" qsplashscreen.html#drawContents
+"QSplashScreen::finish" qsplashscreen.html#finish
+"QSplashScreen::message" qsplashscreen.html#message
+"QSplashScreen::messageChanged" qsplashscreen.html#messageChanged
+"QSplashScreen::pixmap" qsplashscreen.html#pixmap
+"QSplashScreen::repaint" qsplashscreen.html#repaint
+"QSplashScreen::setPixmap" qsplashscreen.html#setPixmap
+"QSplashScreen::~QSplashScreen" qsplashscreen.html#~QSplashScreen
+"QSplitter" qsplitter.html
+"QSplitter::ResizeMode" qsplitter.html#ResizeMode
+"QSplitter::adjustPos" qsplitter.html#adjustPos
+"QSplitter::childEvent" qsplitter.html#childEvent
+"QSplitter::childrenCollapsible" qsplitter.html#childrenCollapsible
+"QSplitter::childrenCollapsible" qsplitter.html#childrenCollapsible-prop
+"QSplitter::getRange" qsplitter.html#getRange
+"QSplitter::handleWidth" qsplitter.html#handleWidth
+"QSplitter::handleWidth" qsplitter.html#handleWidth-prop
+"QSplitter::idAfter" qsplitter.html#idAfter
+"QSplitter::moveSplitter" qsplitter.html#moveSplitter
+"QSplitter::moveToFirst" qsplitter.html#moveToFirst
+"QSplitter::moveToLast" qsplitter.html#moveToLast
+"QSplitter::opaqueResize" qsplitter.html#opaqueResize
+"QSplitter::opaqueResize" qsplitter.html#opaqueResize-prop
+"QSplitter::orientation" qsplitter.html#orientation
+"QSplitter::orientation" qsplitter.html#orientation-prop
+"QSplitter::processChildEvents" qsplitter.html#processChildEvents
+"QSplitter::refresh" qsplitter.html#refresh
+"QSplitter::setChildrenCollapsible" qsplitter.html#setChildrenCollapsible
+"QSplitter::setCollapsible" qsplitter.html#setCollapsible
+"QSplitter::setHandleWidth" qsplitter.html#setHandleWidth
+"QSplitter::setOpaqueResize" qsplitter.html#setOpaqueResize
+"QSplitter::setOrientation" qsplitter.html#setOrientation
+"QSplitter::setResizeMode" qsplitter.html#setResizeMode
+"QSplitter::setRubberband" qsplitter.html#setRubberband
+"QSplitter::setSizes" qsplitter.html#setSizes
+"QSplitter::sizes" qsplitter.html#sizes
+"QSplitter::~QSplitter" qsplitter.html#~QSplitter
+"QSql" qsql.html
+"QSql::Confirm" qsql.html#Confirm
+"QSql::Location" qsql.html#Location
+"QSql::Op" qsql.html#Op
+"QSql::ParameterType" qsql.html#ParameterType
+"QSql::TableType" qsql.html#TableType
+"QSqlCursor" qsqlcursor.html
+"QSqlCursor::Mode" qsqlcursor.html#Mode
+"QSqlCursor::append" qsqlcursor.html#append
+"QSqlCursor::calculateField" qsqlcursor.html#calculateField
+"QSqlCursor::canDelete" qsqlcursor.html#canDelete
+"QSqlCursor::canInsert" qsqlcursor.html#canInsert
+"QSqlCursor::canUpdate" qsqlcursor.html#canUpdate
+"QSqlCursor::clear" qsqlcursor.html#clear
+"QSqlCursor::del" qsqlcursor.html#del
+"QSqlCursor::editBuffer" qsqlcursor.html#editBuffer
+"QSqlCursor::filter" qsqlcursor.html#filter
+"QSqlCursor::index" qsqlcursor.html#index
+"QSqlCursor::insert" qsqlcursor.html#insert
+"QSqlCursor::isCalculated" qsqlcursor.html#isCalculated
+"QSqlCursor::isNull" qsqlcursor.html#isNull
+"QSqlCursor::isReadOnly" qsqlcursor.html#isReadOnly
+"QSqlCursor::isTrimmed" qsqlcursor.html#isTrimmed
+"QSqlCursor::mode" qsqlcursor.html#mode
+"QSqlCursor::name" qsqlcursor.html#name
+"QSqlCursor::operator=" qsqlcursor.html#operator-eq
+"QSqlCursor::primaryIndex" qsqlcursor.html#primaryIndex
+"QSqlCursor::primeDelete" qsqlcursor.html#primeDelete
+"QSqlCursor::primeInsert" qsqlcursor.html#primeInsert
+"QSqlCursor::primeUpdate" qsqlcursor.html#primeUpdate
+"QSqlCursor::remove" qsqlcursor.html#remove
+"QSqlCursor::select" qsqlcursor.html#select
+"QSqlCursor::setCalculated" qsqlcursor.html#setCalculated
+"QSqlCursor::setFilter" qsqlcursor.html#setFilter
+"QSqlCursor::setGenerated" qsqlcursor.html#setGenerated
+"QSqlCursor::setMode" qsqlcursor.html#setMode
+"QSqlCursor::setName" qsqlcursor.html#setName
+"QSqlCursor::setPrimaryIndex" qsqlcursor.html#setPrimaryIndex
+"QSqlCursor::setSort" qsqlcursor.html#setSort
+"QSqlCursor::setTrimmed" qsqlcursor.html#setTrimmed
+"QSqlCursor::sort" qsqlcursor.html#sort
+"QSqlCursor::toString" qsqlcursor.html#toString
+"QSqlCursor::update" qsqlcursor.html#update
+"QSqlCursor::~QSqlCursor" qsqlcursor.html#~QSqlCursor
+"QSqlDatabase" qsqldatabase.html
+"QSqlDatabase::addDatabase" qsqldatabase.html#addDatabase
+"QSqlDatabase::close" qsqldatabase.html#close
+"QSqlDatabase::commit" qsqldatabase.html#commit
+"QSqlDatabase::connectOptions" qsqldatabase.html#connectOptions
+"QSqlDatabase::connectOptions" qsqldatabase.html#connectOptions-prop
+"QSqlDatabase::contains" qsqldatabase.html#contains
+"QSqlDatabase::database" qsqldatabase.html#database
+"QSqlDatabase::databaseName" qsqldatabase.html#databaseName
+"QSqlDatabase::databaseName" qsqldatabase.html#databaseName-prop
+"QSqlDatabase::driver" qsqldatabase.html#driver
+"QSqlDatabase::driverName" qsqldatabase.html#driverName
+"QSqlDatabase::drivers" qsqldatabase.html#drivers
+"QSqlDatabase::exec" qsqldatabase.html#exec
+"QSqlDatabase::hostName" qsqldatabase.html#hostName
+"QSqlDatabase::hostName" qsqldatabase.html#hostName-prop
+"QSqlDatabase::isDriverAvailable" qsqldatabase.html#isDriverAvailable
+"QSqlDatabase::isOpen" qsqldatabase.html#isOpen
+"QSqlDatabase::isOpenError" qsqldatabase.html#isOpenError
+"QSqlDatabase::lastError" qsqldatabase.html#lastError
+"QSqlDatabase::open" qsqldatabase.html#open
+"QSqlDatabase::password" qsqldatabase.html#password
+"QSqlDatabase::password" qsqldatabase.html#password-prop
+"QSqlDatabase::port" qsqldatabase.html#port
+"QSqlDatabase::port" qsqldatabase.html#port-prop
+"QSqlDatabase::primaryIndex" qsqldatabase.html#primaryIndex
+"QSqlDatabase::record" qsqldatabase.html#record
+"QSqlDatabase::recordInfo" qsqldatabase.html#recordInfo
+"QSqlDatabase::registerSqlDriver" qsqldatabase.html#registerSqlDriver
+"QSqlDatabase::removeDatabase" qsqldatabase.html#removeDatabase
+"QSqlDatabase::rollback" qsqldatabase.html#rollback
+"QSqlDatabase::setConnectOptions" qsqldatabase.html#setConnectOptions
+"QSqlDatabase::setDatabaseName" qsqldatabase.html#setDatabaseName
+"QSqlDatabase::setHostName" qsqldatabase.html#setHostName
+"QSqlDatabase::setPassword" qsqldatabase.html#setPassword
+"QSqlDatabase::setPort" qsqldatabase.html#setPort
+"QSqlDatabase::setUserName" qsqldatabase.html#setUserName
+"QSqlDatabase::tables" qsqldatabase.html#tables
+"QSqlDatabase::transaction" qsqldatabase.html#transaction
+"QSqlDatabase::userName" qsqldatabase.html#userName
+"QSqlDatabase::userName" qsqldatabase.html#userName-prop
+"QSqlDatabase::~QSqlDatabase" qsqldatabase.html#~QSqlDatabase
+"QSqlDriver" qsqldriver.html
+"QSqlDriver::DriverFeature" qsqldriver.html#DriverFeature
+"QSqlDriver::beginTransaction" qsqldriver.html#beginTransaction
+"QSqlDriver::close" qsqldriver.html#close
+"QSqlDriver::commitTransaction" qsqldriver.html#commitTransaction
+"QSqlDriver::createQuery" qsqldriver.html#createQuery
+"QSqlDriver::formatValue" qsqldriver.html#formatValue
+"QSqlDriver::hasFeature" qsqldriver.html#hasFeature
+"QSqlDriver::isOpen" qsqldriver.html#isOpen
+"QSqlDriver::isOpenError" qsqldriver.html#isOpenError
+"QSqlDriver::lastError" qsqldriver.html#lastError
+"QSqlDriver::nullText" qsqldriver.html#nullText
+"QSqlDriver::open" qsqldriver.html#open
+"QSqlDriver::primaryIndex" qsqldriver.html#primaryIndex
+"QSqlDriver::record" qsqldriver.html#record
+"QSqlDriver::recordInfo" qsqldriver.html#recordInfo
+"QSqlDriver::rollbackTransaction" qsqldriver.html#rollbackTransaction
+"QSqlDriver::setLastError" qsqldriver.html#setLastError
+"QSqlDriver::setOpen" qsqldriver.html#setOpen
+"QSqlDriver::setOpenError" qsqldriver.html#setOpenError
+"QSqlDriver::tables" qsqldriver.html#tables
+"QSqlDriver::~QSqlDriver" qsqldriver.html#~QSqlDriver
+"QSqlDriverPlugin" qsqldriverplugin.html
+"QSqlDriverPlugin::create" qsqldriverplugin.html#create
+"QSqlDriverPlugin::keys" qsqldriverplugin.html#keys
+"QSqlDriverPlugin::~QSqlDriverPlugin" qsqldriverplugin.html#~QSqlDriverPlugin
+"QSqlEditorFactory" qsqleditorfactory.html
+"QSqlEditorFactory::createEditor" qsqleditorfactory.html#createEditor
+"QSqlEditorFactory::defaultFactory" qsqleditorfactory.html#defaultFactory
+"QSqlEditorFactory::installDefaultFactory" qsqleditorfactory.html#installDefaultFactory
+"QSqlEditorFactory::~QSqlEditorFactory" qsqleditorfactory.html#~QSqlEditorFactory
+"QSqlError" qsqlerror.html
+"QSqlError::Type" qsqlerror.html#Type
+"QSqlError::databaseText" qsqlerror.html#databaseText
+"QSqlError::driverText" qsqlerror.html#driverText
+"QSqlError::number" qsqlerror.html#number
+"QSqlError::operator=" qsqlerror.html#operator-eq
+"QSqlError::setDatabaseText" qsqlerror.html#setDatabaseText
+"QSqlError::setDriverText" qsqlerror.html#setDriverText
+"QSqlError::setNumber" qsqlerror.html#setNumber
+"QSqlError::setType" qsqlerror.html#setType
+"QSqlError::text" qsqlerror.html#text
+"QSqlError::type" qsqlerror.html#type
+"QSqlError::~QSqlError" qsqlerror.html#~QSqlError
+"QSqlField" qsqlfield.html
+"QSqlField::clear" qsqlfield.html#clear
+"QSqlField::isNull" qsqlfield.html#isNull
+"QSqlField::isReadOnly" qsqlfield.html#isReadOnly
+"QSqlField::name" qsqlfield.html#name
+"QSqlField::operator=" qsqlfield.html#operator-eq
+"QSqlField::operator==" qsqlfield.html#operator-eq-eq
+"QSqlField::setName" qsqlfield.html#setName
+"QSqlField::setNull" qsqlfield.html#setNull
+"QSqlField::setReadOnly" qsqlfield.html#setReadOnly
+"QSqlField::setValue" qsqlfield.html#setValue
+"QSqlField::type" qsqlfield.html#type
+"QSqlField::value" qsqlfield.html#value
+"QSqlField::~QSqlField" qsqlfield.html#~QSqlField
+"QSqlFieldInfo" qsqlfieldinfo.html
+"QSqlFieldInfo::defaultValue" qsqlfieldinfo.html#defaultValue
+"QSqlFieldInfo::isCalculated" qsqlfieldinfo.html#isCalculated
+"QSqlFieldInfo::isGenerated" qsqlfieldinfo.html#isGenerated
+"QSqlFieldInfo::isRequired" qsqlfieldinfo.html#isRequired
+"QSqlFieldInfo::isTrim" qsqlfieldinfo.html#isTrim
+"QSqlFieldInfo::length" qsqlfieldinfo.html#length
+"QSqlFieldInfo::name" qsqlfieldinfo.html#name
+"QSqlFieldInfo::operator=" qsqlfieldinfo.html#operator-eq
+"QSqlFieldInfo::operator==" qsqlfieldinfo.html#operator-eq-eq
+"QSqlFieldInfo::precision" qsqlfieldinfo.html#precision
+"QSqlFieldInfo::setCalculated" qsqlfieldinfo.html#setCalculated
+"QSqlFieldInfo::setGenerated" qsqlfieldinfo.html#setGenerated
+"QSqlFieldInfo::setTrim" qsqlfieldinfo.html#setTrim
+"QSqlFieldInfo::toField" qsqlfieldinfo.html#toField
+"QSqlFieldInfo::type" qsqlfieldinfo.html#type
+"QSqlFieldInfo::typeID" qsqlfieldinfo.html#typeID
+"QSqlFieldInfo::~QSqlFieldInfo" qsqlfieldinfo.html#~QSqlFieldInfo
+"QSqlForm" qsqlform.html
+"QSqlForm::clear" qsqlform.html#clear
+"QSqlForm::clearValues" qsqlform.html#clearValues
+"QSqlForm::count" qsqlform.html#count
+"QSqlForm::fieldToWidget" qsqlform.html#fieldToWidget
+"QSqlForm::insert" qsqlform.html#insert
+"QSqlForm::installPropertyMap" qsqlform.html#installPropertyMap
+"QSqlForm::readField" qsqlform.html#readField
+"QSqlForm::readFields" qsqlform.html#readFields
+"QSqlForm::remove" qsqlform.html#remove
+"QSqlForm::setRecord" qsqlform.html#setRecord
+"QSqlForm::widget" qsqlform.html#widget
+"QSqlForm::widgetToField" qsqlform.html#widgetToField
+"QSqlForm::writeField" qsqlform.html#writeField
+"QSqlForm::writeFields" qsqlform.html#writeFields
+"QSqlForm::~QSqlForm" qsqlform.html#~QSqlForm
+"QSqlIndex" qsqlindex.html
+"QSqlIndex::append" qsqlindex.html#append
+"QSqlIndex::cursorName" qsqlindex.html#cursorName
+"QSqlIndex::fromStringList" qsqlindex.html#fromStringList
+"QSqlIndex::isDescending" qsqlindex.html#isDescending
+"QSqlIndex::name" qsqlindex.html#name
+"QSqlIndex::operator=" qsqlindex.html#operator-eq
+"QSqlIndex::setCursorName" qsqlindex.html#setCursorName
+"QSqlIndex::setDescending" qsqlindex.html#setDescending
+"QSqlIndex::setName" qsqlindex.html#setName
+"QSqlIndex::~QSqlIndex" qsqlindex.html#~QSqlIndex
+"QSqlPropertyMap" qsqlpropertymap.html
+"QSqlPropertyMap::defaultMap" qsqlpropertymap.html#defaultMap
+"QSqlPropertyMap::insert" qsqlpropertymap.html#insert
+"QSqlPropertyMap::installDefaultMap" qsqlpropertymap.html#installDefaultMap
+"QSqlPropertyMap::property" qsqlpropertymap.html#property
+"QSqlPropertyMap::remove" qsqlpropertymap.html#remove
+"QSqlPropertyMap::setProperty" qsqlpropertymap.html#setProperty
+"QSqlPropertyMap::~QSqlPropertyMap" qsqlpropertymap.html#~QSqlPropertyMap
+"QSqlQuery" qsqlquery.html
+"QSqlQuery::addBindValue" qsqlquery.html#addBindValue
+"QSqlQuery::afterSeek" qsqlquery.html#afterSeek
+"QSqlQuery::at" qsqlquery.html#at
+"QSqlQuery::beforeSeek" qsqlquery.html#beforeSeek
+"QSqlQuery::bindValue" qsqlquery.html#bindValue
+"QSqlQuery::boundValue" qsqlquery.html#boundValue
+"QSqlQuery::boundValues" qsqlquery.html#boundValues
+"QSqlQuery::driver" qsqlquery.html#driver
+"QSqlQuery::exec" qsqlquery.html#exec
+"QSqlQuery::executedQuery" qsqlquery.html#executedQuery
+"QSqlQuery::first" qsqlquery.html#first
+"QSqlQuery::isActive" qsqlquery.html#isActive
+"QSqlQuery::isForwardOnly" qsqlquery.html#isForwardOnly
+"QSqlQuery::isNull" qsqlquery.html#isNull
+"QSqlQuery::isSelect" qsqlquery.html#isSelect
+"QSqlQuery::isValid" qsqlquery.html#isValid
+"QSqlQuery::last" qsqlquery.html#last
+"QSqlQuery::lastError" qsqlquery.html#lastError
+"QSqlQuery::lastQuery" qsqlquery.html#lastQuery
+"QSqlQuery::next" qsqlquery.html#next
+"QSqlQuery::numRowsAffected" qsqlquery.html#numRowsAffected
+"QSqlQuery::operator=" qsqlquery.html#operator-eq
+"QSqlQuery::prepare" qsqlquery.html#prepare
+"QSqlQuery::prev" qsqlquery.html#prev
+"QSqlQuery::result" qsqlquery.html#result
+"QSqlQuery::seek" qsqlquery.html#seek
+"QSqlQuery::setForwardOnly" qsqlquery.html#setForwardOnly
+"QSqlQuery::size" qsqlquery.html#size
+"QSqlQuery::value" qsqlquery.html#value
+"QSqlQuery::~QSqlQuery" qsqlquery.html#~QSqlQuery
+"QSqlRecord" qsqlrecord.html
+"QSqlRecord::append" qsqlrecord.html#append
+"QSqlRecord::clear" qsqlrecord.html#clear
+"QSqlRecord::clearValues" qsqlrecord.html#clearValues
+"QSqlRecord::contains" qsqlrecord.html#contains
+"QSqlRecord::count" qsqlrecord.html#count
+"QSqlRecord::field" qsqlrecord.html#field
+"QSqlRecord::fieldName" qsqlrecord.html#fieldName
+"QSqlRecord::insert" qsqlrecord.html#insert
+"QSqlRecord::isEmpty" qsqlrecord.html#isEmpty
+"QSqlRecord::isGenerated" qsqlrecord.html#isGenerated
+"QSqlRecord::isNull" qsqlrecord.html#isNull
+"QSqlRecord::operator=" qsqlrecord.html#operator-eq
+"QSqlRecord::position" qsqlrecord.html#position
+"QSqlRecord::remove" qsqlrecord.html#remove
+"QSqlRecord::setGenerated" qsqlrecord.html#setGenerated
+"QSqlRecord::setNull" qsqlrecord.html#setNull
+"QSqlRecord::setValue" qsqlrecord.html#setValue
+"QSqlRecord::toString" qsqlrecord.html#toString
+"QSqlRecord::toStringList" qsqlrecord.html#toStringList
+"QSqlRecord::value" qsqlrecord.html#value
+"QSqlRecord::~QSqlRecord" qsqlrecord.html#~QSqlRecord
+"QSqlRecordInfo" qsqlrecordinfo.html
+"QSqlRecordInfo::contains" qsqlrecordinfo.html#contains
+"QSqlRecordInfo::find" qsqlrecordinfo.html#find
+"QSqlRecordInfo::toRecord" qsqlrecordinfo.html#toRecord
+"QSqlResult" qsqlresult.html
+"QSqlResult::at" qsqlresult.html#at
+"QSqlResult::data" qsqlresult.html#data
+"QSqlResult::driver" qsqlresult.html#driver
+"QSqlResult::fetch" qsqlresult.html#fetch
+"QSqlResult::fetchFirst" qsqlresult.html#fetchFirst
+"QSqlResult::fetchLast" qsqlresult.html#fetchLast
+"QSqlResult::fetchNext" qsqlresult.html#fetchNext
+"QSqlResult::fetchPrev" qsqlresult.html#fetchPrev
+"QSqlResult::isActive" qsqlresult.html#isActive
+"QSqlResult::isForwardOnly" qsqlresult.html#isForwardOnly
+"QSqlResult::isNull" qsqlresult.html#isNull
+"QSqlResult::isSelect" qsqlresult.html#isSelect
+"QSqlResult::isValid" qsqlresult.html#isValid
+"QSqlResult::lastError" qsqlresult.html#lastError
+"QSqlResult::lastQuery" qsqlresult.html#lastQuery
+"QSqlResult::numRowsAffected" qsqlresult.html#numRowsAffected
+"QSqlResult::reset" qsqlresult.html#reset
+"QSqlResult::setActive" qsqlresult.html#setActive
+"QSqlResult::setAt" qsqlresult.html#setAt
+"QSqlResult::setForwardOnly" qsqlresult.html#setForwardOnly
+"QSqlResult::setLastError" qsqlresult.html#setLastError
+"QSqlResult::setQuery" qsqlresult.html#setQuery
+"QSqlResult::setSelect" qsqlresult.html#setSelect
+"QSqlResult::size" qsqlresult.html#size
+"QSqlResult::~QSqlResult" qsqlresult.html#~QSqlResult
+"QSqlSelectCursor" qsqlselectcursor.html
+"QSqlSelectCursor::~QSqlSelectCursor" qsqlselectcursor.html#~QSqlSelectCursor
+"QStack Class Reference (obsolete)" qstack.html
+"QStatusBar" qstatusbar.html
+"QStatusBar::addWidget" qstatusbar.html#addWidget
+"QStatusBar::clear" qstatusbar.html#clear
+"QStatusBar::hideOrShow" qstatusbar.html#hideOrShow
+"QStatusBar::isSizeGripEnabled" qstatusbar.html#isSizeGripEnabled
+"QStatusBar::message" qstatusbar.html#message
+"QStatusBar::messageChanged" qstatusbar.html#messageChanged
+"QStatusBar::paintEvent" qstatusbar.html#paintEvent
+"QStatusBar::reformat" qstatusbar.html#reformat
+"QStatusBar::removeWidget" qstatusbar.html#removeWidget
+"QStatusBar::setSizeGripEnabled" qstatusbar.html#setSizeGripEnabled
+"QStatusBar::sizeGripEnabled" qstatusbar.html#sizeGripEnabled-prop
+"QStatusBar::~QStatusBar" qstatusbar.html#~QStatusBar
+"QStoredDrag" qstoreddrag.html
+"QStoredDrag::encodedData" qstoreddrag.html#encodedData
+"QStoredDrag::setEncodedData" qstoreddrag.html#setEncodedData
+"QStoredDrag::~QStoredDrag" qstoreddrag.html#~QStoredDrag
+"QStrIList" qstrilist.html
+"QStrIList::~QStrIList" qstrilist.html#~QStrIList
+"QStrList" qstrlist.html
+"QStrList::operator=" qstrlist.html#operator-eq
+"QStrList::~QStrList" qstrlist.html#~QStrList
+"QStrListIterator" qstrlistiterator.html
+"QString" qstring.html
+"QString::SectionFlags" qstring.html#SectionFlags
+"QString::append" qstring.html#append
+"QString::arg" qstring.html#arg
+"QString::ascii" qstring.html#ascii
+"QString::at" qstring.html#at
+"QString::capacity" qstring.html#capacity
+"QString::compare" qstring.html#compare
+"QString::compose" qstring.html#compose
+"QString::constref" qstring.html#constref
+"QString::contains" qstring.html#contains
+"QString::detach" qstring.html#detach
+"QString::endsWith" qstring.html#endsWith
+"QString::fill" qstring.html#fill
+"QString::find" qstring.html#find
+"QString::findRev" qstring.html#findRev
+"QString::fromAscii" qstring.html#fromAscii
+"QString::fromLatin1" qstring.html#fromLatin1
+"QString::fromLocal8Bit" qstring.html#fromLocal8Bit
+"QString::fromUcs2" qstring.html#fromUcs2
+"QString::fromUtf8" qstring.html#fromUtf8
+"QString::insert" qstring.html#insert
+"QString::isEmpty" qstring.html#isEmpty
+"QString::isNull" qstring.html#isNull
+"QString::latin1" qstring.html#latin1
+"QString::latin1ToUnicode" qstring.html#latin1ToUnicode
+"QString::left" qstring.html#left
+"QString::leftJustify" qstring.html#leftJustify
+"QString::length" qstring.html#length
+"QString::local8Bit" qstring.html#local8Bit
+"QString::localeAwareCompare" qstring.html#localeAwareCompare
+"QString::lower" qstring.html#lower
+"QString::mid" qstring.html#mid
+"QString::number" qstring.html#number
+"QString::operator const char *" qstring.html#operator-const-char-*
+"QString::operator std::string" qstring.html#operator-std::string
+"QString::operator!" qstring.html#operator!
+"QString::operator+=" qstring.html#operator+-eq
+"QString::operator=" qstring.html#operator-eq
+"QString::operator[]" qstring.html#operator[]
+"QString::prepend" qstring.html#prepend
+"QString::real_detach" qstring.html#real_detach
+"QString::ref" qstring.html#ref
+"QString::remove" qstring.html#remove
+"QString::replace" qstring.html#replace
+"QString::reserve" qstring.html#reserve
+"QString::right" qstring.html#right
+"QString::rightJustify" qstring.html#rightJustify
+"QString::section" qstring.html#section
+"QString::setAscii" qstring.html#setAscii
+"QString::setLatin1" qstring.html#setLatin1
+"QString::setLength" qstring.html#setLength
+"QString::setNum" qstring.html#setNum
+"QString::setUnicode" qstring.html#setUnicode
+"QString::setUnicodeCodes" qstring.html#setUnicodeCodes
+"QString::simplifyWhiteSpace" qstring.html#simplifyWhiteSpace
+"QString::sprintf" qstring.html#sprintf
+"QString::squeeze" qstring.html#squeeze
+"QString::startsWith" qstring.html#startsWith
+"QString::stripWhiteSpace" qstring.html#stripWhiteSpace
+"QString::toDouble" qstring.html#toDouble
+"QString::toFloat" qstring.html#toFloat
+"QString::toInt" qstring.html#toInt
+"QString::toLong" qstring.html#toLong
+"QString::toLongLong" qstring.html#toLongLong
+"QString::toShort" qstring.html#toShort
+"QString::toUInt" qstring.html#toUInt
+"QString::toULong" qstring.html#toULong
+"QString::toULongLong" qstring.html#toULongLong
+"QString::toUShort" qstring.html#toUShort
+"QString::truncate" qstring.html#truncate
+"QString::ucs2" qstring.html#ucs2
+"QString::unicode" qstring.html#unicode
+"QString::unicodeToLatin1" qstring.html#unicodeToLatin1
+"QString::upper" qstring.html#upper
+"QString::utf8" qstring.html#utf8
+"QString::~QString" qstring.html#~QString
+"QStringList" qstringlist.html
+"QStringList::fromStrList" qstringlist.html#fromStrList
+"QStringList::grep" qstringlist.html#grep
+"QStringList::gres" qstringlist.html#gres
+"QStringList::join" qstringlist.html#join
+"QStringList::sort" qstringlist.html#sort
+"QStringList::split" qstringlist.html#split
+"QStyle" qstyle.html
+"QStyle::ComplexControl" qstyle.html#ComplexControl
+"QStyle::ContentsType" qstyle.html#ContentsType
+"QStyle::ControlElement" qstyle.html#ControlElement
+"QStyle::PixelMetric" qstyle.html#PixelMetric
+"QStyle::PrimitiveElement" qstyle.html#PrimitiveElement
+"QStyle::StyleFlags" qstyle.html#StyleFlags
+"QStyle::StyleHint" qstyle.html#StyleHint
+"QStyle::StylePixmap" qstyle.html#StylePixmap
+"QStyle::SubControl" qstyle.html#SubControl
+"QStyle::SubRect" qstyle.html#SubRect
+"QStyle::drawComplexControl" qstyle.html#drawComplexControl
+"QStyle::drawComplexControlMask" qstyle.html#drawComplexControlMask
+"QStyle::drawControl" qstyle.html#drawControl
+"QStyle::drawControlMask" qstyle.html#drawControlMask
+"QStyle::drawItem" qstyle.html#drawItem
+"QStyle::drawPrimitive" qstyle.html#drawPrimitive
+"QStyle::itemRect" qstyle.html#itemRect
+"QStyle::pixelMetric" qstyle.html#pixelMetric
+"QStyle::polish" qstyle.html#polish
+"QStyle::polishPopupMenu" qstyle.html#polishPopupMenu
+"QStyle::querySubControl" qstyle.html#querySubControl
+"QStyle::querySubControlMetrics" qstyle.html#querySubControlMetrics
+"QStyle::sizeFromContents" qstyle.html#sizeFromContents
+"QStyle::styleHint" qstyle.html#styleHint
+"QStyle::stylePixmap" qstyle.html#stylePixmap
+"QStyle::subRect" qstyle.html#subRect
+"QStyle::unPolish" qstyle.html#unPolish
+"QStyle::visualRect" qstyle.html#visualRect
+"QStyle::~QStyle" qstyle.html#~QStyle
+"QStyleFactory" qstylefactory.html
+"QStyleFactory::create" qstylefactory.html#create
+"QStyleFactory::keys" qstylefactory.html#keys
+"QStyleOption" qstyleoption.html
+"QStyleOption::StyleOptionDefault" qstyleoption.html#StyleOptionDefault
+"QStyleOption::arrowType" qstyleoption.html#arrowType
+"QStyleOption::checkListItem" qstyleoption.html#checkListItem
+"QStyleOption::color" qstyleoption.html#color
+"QStyleOption::day" qstyleoption.html#day
+"QStyleOption::frameShadow" qstyleoption.html#frameShadow
+"QStyleOption::frameShape" qstyleoption.html#frameShape
+"QStyleOption::headerSection" qstyleoption.html#headerSection
+"QStyleOption::isDefault" qstyleoption.html#isDefault
+"QStyleOption::lineWidth" qstyleoption.html#lineWidth
+"QStyleOption::listViewItem" qstyleoption.html#listViewItem
+"QStyleOption::maxIconWidth" qstyleoption.html#maxIconWidth
+"QStyleOption::menuItem" qstyleoption.html#menuItem
+"QStyleOption::midLineWidth" qstyleoption.html#midLineWidth
+"QStyleOption::rect" qstyleoption.html#rect
+"QStyleOption::tab" qstyleoption.html#tab
+"QStyleOption::tabWidth" qstyleoption.html#tabWidth
+"QStyleOption::widget" qstyleoption.html#widget
+"QStylePlugin" qstyleplugin.html
+"QStylePlugin::create" qstyleplugin.html#create
+"QStylePlugin::keys" qstyleplugin.html#keys
+"QStylePlugin::~QStylePlugin" qstyleplugin.html#~QStylePlugin
+"QStyleSheet" qstylesheet.html
+"QStyleSheet::convertFromPlainText" qstylesheet.html#convertFromPlainText
+"QStyleSheet::defaultSheet" qstylesheet.html#defaultSheet
+"QStyleSheet::error" qstylesheet.html#error
+"QStyleSheet::escape" qstylesheet.html#escape
+"QStyleSheet::item" qstylesheet.html#item
+"QStyleSheet::mightBeRichText" qstylesheet.html#mightBeRichText
+"QStyleSheet::scaleFont" qstylesheet.html#scaleFont
+"QStyleSheet::setDefaultSheet" qstylesheet.html#setDefaultSheet
+"QStyleSheet::tag" qstylesheet.html#tag
+"QStyleSheet::~QStyleSheet" qstylesheet.html#~QStyleSheet
+"QStyleSheetItem" qstylesheetitem.html
+"QStyleSheetItem::DisplayMode" qstylesheetitem.html#DisplayMode
+"QStyleSheetItem::ListStyle" qstylesheetitem.html#ListStyle
+"QStyleSheetItem::Margin" qstylesheetitem.html#Margin
+"QStyleSheetItem::VerticalAlignment" qstylesheetitem.html#VerticalAlignment
+"QStyleSheetItem::WhiteSpaceMode" qstylesheetitem.html#WhiteSpaceMode
+"QStyleSheetItem::alignment" qstylesheetitem.html#alignment
+"QStyleSheetItem::allowedInContext" qstylesheetitem.html#allowedInContext
+"QStyleSheetItem::color" qstylesheetitem.html#color
+"QStyleSheetItem::contexts" qstylesheetitem.html#contexts
+"QStyleSheetItem::definesFontItalic" qstylesheetitem.html#definesFontItalic
+"QStyleSheetItem::definesFontStrikeOut" qstylesheetitem.html#definesFontStrikeOut
+"QStyleSheetItem::definesFontUnderline" qstylesheetitem.html#definesFontUnderline
+"QStyleSheetItem::displayMode" qstylesheetitem.html#displayMode
+"QStyleSheetItem::fontFamily" qstylesheetitem.html#fontFamily
+"QStyleSheetItem::fontItalic" qstylesheetitem.html#fontItalic
+"QStyleSheetItem::fontSize" qstylesheetitem.html#fontSize
+"QStyleSheetItem::fontStrikeOut" qstylesheetitem.html#fontStrikeOut
+"QStyleSheetItem::fontUnderline" qstylesheetitem.html#fontUnderline
+"QStyleSheetItem::fontWeight" qstylesheetitem.html#fontWeight
+"QStyleSheetItem::isAnchor" qstylesheetitem.html#isAnchor
+"QStyleSheetItem::listStyle" qstylesheetitem.html#listStyle
+"QStyleSheetItem::logicalFontSize" qstylesheetitem.html#logicalFontSize
+"QStyleSheetItem::logicalFontSizeStep" qstylesheetitem.html#logicalFontSizeStep
+"QStyleSheetItem::margin" qstylesheetitem.html#margin
+"QStyleSheetItem::name" qstylesheetitem.html#name
+"QStyleSheetItem::operator=" qstylesheetitem.html#operator-eq
+"QStyleSheetItem::selfNesting" qstylesheetitem.html#selfNesting
+"QStyleSheetItem::setAlignment" qstylesheetitem.html#setAlignment
+"QStyleSheetItem::setAnchor" qstylesheetitem.html#setAnchor
+"QStyleSheetItem::setColor" qstylesheetitem.html#setColor
+"QStyleSheetItem::setContexts" qstylesheetitem.html#setContexts
+"QStyleSheetItem::setDisplayMode" qstylesheetitem.html#setDisplayMode
+"QStyleSheetItem::setFontFamily" qstylesheetitem.html#setFontFamily
+"QStyleSheetItem::setFontItalic" qstylesheetitem.html#setFontItalic
+"QStyleSheetItem::setFontSize" qstylesheetitem.html#setFontSize
+"QStyleSheetItem::setFontStrikeOut" qstylesheetitem.html#setFontStrikeOut
+"QStyleSheetItem::setFontUnderline" qstylesheetitem.html#setFontUnderline
+"QStyleSheetItem::setFontWeight" qstylesheetitem.html#setFontWeight
+"QStyleSheetItem::setListStyle" qstylesheetitem.html#setListStyle
+"QStyleSheetItem::setLogicalFontSize" qstylesheetitem.html#setLogicalFontSize
+"QStyleSheetItem::setLogicalFontSizeStep" qstylesheetitem.html#setLogicalFontSizeStep
+"QStyleSheetItem::setMargin" qstylesheetitem.html#setMargin
+"QStyleSheetItem::setSelfNesting" qstylesheetitem.html#setSelfNesting
+"QStyleSheetItem::setVerticalAlignment" qstylesheetitem.html#setVerticalAlignment
+"QStyleSheetItem::setWhiteSpaceMode" qstylesheetitem.html#setWhiteSpaceMode
+"QStyleSheetItem::styleSheet" qstylesheetitem.html#styleSheet
+"QStyleSheetItem::verticalAlignment" qstylesheetitem.html#verticalAlignment
+"QStyleSheetItem::whiteSpaceMode" qstylesheetitem.html#whiteSpaceMode
+"QStyleSheetItem::~QStyleSheetItem" qstylesheetitem.html#~QStyleSheetItem
+"QSvgDevice::boundingRect" qsvgdevice.html#boundingRect
+"QSvgDevice::load" qsvgdevice.html#load
+"QSvgDevice::metric" qsvgdevice.html#metric
+"QSvgDevice::play" qsvgdevice.html#play
+"QSvgDevice::save" qsvgdevice.html#save
+"QSvgDevice::setBoundingRect" qsvgdevice.html#setBoundingRect
+"QSvgDevice::toString" qsvgdevice.html#toString
+"QSvgDevice::~QSvgDevice" qsvgdevice.html#~QSvgDevice
+"QSyntaxHighlighter" qsyntaxhighlighter.html
+"QSyntaxHighlighter::currentParagraph" qsyntaxhighlighter.html#currentParagraph
+"QSyntaxHighlighter::highlightParagraph" qsyntaxhighlighter.html#highlightParagraph
+"QSyntaxHighlighter::rehighlight" qsyntaxhighlighter.html#rehighlight
+"QSyntaxHighlighter::setFormat" qsyntaxhighlighter.html#setFormat
+"QSyntaxHighlighter::textEdit" qsyntaxhighlighter.html#textEdit
+"QSyntaxHighlighter::~QSyntaxHighlighter" qsyntaxhighlighter.html#~QSyntaxHighlighter
+"QTSManip::exec" qtsmanip.html#exec
+"QTab" qtab.html
+"QTab::iconSet" qtab.html#iconSet
+"QTab::identifier" qtab.html#identifier
+"QTab::isEnabled" qtab.html#isEnabled
+"QTab::rect" qtab.html#rect
+"QTab::setEnabled" qtab.html#setEnabled
+"QTab::setIconSet" qtab.html#setIconSet
+"QTab::setIdentifier" qtab.html#setIdentifier
+"QTab::setRect" qtab.html#setRect
+"QTab::setText" qtab.html#setText
+"QTab::text" qtab.html#text
+"QTab::~QTab" qtab.html#~QTab
+"QTabBar" qtabbar.html
+"QTabBar::Shape" qtabbar.html#Shape
+"QTabBar::addTab" qtabbar.html#addTab
+"QTabBar::count" qtabbar.html#count
+"QTabBar::count" qtabbar.html#count-prop
+"QTabBar::currentTab" qtabbar.html#currentTab
+"QTabBar::currentTab" qtabbar.html#currentTab-prop
+"QTabBar::indexOf" qtabbar.html#indexOf
+"QTabBar::insertTab" qtabbar.html#insertTab
+"QTabBar::isTabEnabled" qtabbar.html#isTabEnabled
+"QTabBar::keyboardFocusTab" qtabbar.html#keyboardFocusTab
+"QTabBar::keyboardFocusTab" qtabbar.html#keyboardFocusTab-prop
+"QTabBar::layoutChanged" qtabbar.html#layoutChanged
+"QTabBar::layoutTabs" qtabbar.html#layoutTabs
+"QTabBar::paint" qtabbar.html#paint
+"QTabBar::paintEvent" qtabbar.html#paintEvent
+"QTabBar::paintLabel" qtabbar.html#paintLabel
+"QTabBar::removeTab" qtabbar.html#removeTab
+"QTabBar::removeToolTip" qtabbar.html#removeToolTip
+"QTabBar::selectTab" qtabbar.html#selectTab
+"QTabBar::selected" qtabbar.html#selected
+"QTabBar::setCurrentTab" qtabbar.html#setCurrentTab
+"QTabBar::setShape" qtabbar.html#setShape
+"QTabBar::setTabEnabled" qtabbar.html#setTabEnabled
+"QTabBar::setToolTip" qtabbar.html#setToolTip
+"QTabBar::shape" qtabbar.html#shape
+"QTabBar::shape" qtabbar.html#shape-prop
+"QTabBar::tab" qtabbar.html#tab
+"QTabBar::tabAt" qtabbar.html#tabAt
+"QTabBar::tabList" qtabbar.html#tabList
+"QTabBar::toolTip" qtabbar.html#toolTip
+"QTabBar::~QTabBar" qtabbar.html#~QTabBar
+"QTabDialog" qtabdialog.html
+"QTabDialog::aboutToShow" qtabdialog.html#aboutToShow
+"QTabDialog::addTab" qtabdialog.html#addTab
+"QTabDialog::applyButtonPressed" qtabdialog.html#applyButtonPressed
+"QTabDialog::cancelButtonPressed" qtabdialog.html#cancelButtonPressed
+"QTabDialog::changeTab" qtabdialog.html#changeTab
+"QTabDialog::currentChanged" qtabdialog.html#currentChanged
+"QTabDialog::currentPage" qtabdialog.html#currentPage
+"QTabDialog::defaultButtonPressed" qtabdialog.html#defaultButtonPressed
+"QTabDialog::hasApplyButton" qtabdialog.html#hasApplyButton
+"QTabDialog::hasCancelButton" qtabdialog.html#hasCancelButton
+"QTabDialog::hasDefaultButton" qtabdialog.html#hasDefaultButton
+"QTabDialog::hasHelpButton" qtabdialog.html#hasHelpButton
+"QTabDialog::hasOkButton" qtabdialog.html#hasOkButton
+"QTabDialog::helpButtonPressed" qtabdialog.html#helpButtonPressed
+"QTabDialog::insertTab" qtabdialog.html#insertTab
+"QTabDialog::isTabEnabled" qtabdialog.html#isTabEnabled
+"QTabDialog::removePage" qtabdialog.html#removePage
+"QTabDialog::setApplyButton" qtabdialog.html#setApplyButton
+"QTabDialog::setCancelButton" qtabdialog.html#setCancelButton
+"QTabDialog::setDefaultButton" qtabdialog.html#setDefaultButton
+"QTabDialog::setFont" qtabdialog.html#setFont
+"QTabDialog::setHelpButton" qtabdialog.html#setHelpButton
+"QTabDialog::setOkButton" qtabdialog.html#setOkButton
+"QTabDialog::setSizes" qtabdialog.html#setSizes
+"QTabDialog::setTabBar" qtabdialog.html#setTabBar
+"QTabDialog::setTabEnabled" qtabdialog.html#setTabEnabled
+"QTabDialog::setUpLayout" qtabdialog.html#setUpLayout
+"QTabDialog::showPage" qtabdialog.html#showPage
+"QTabDialog::showTab" qtabdialog.html#showTab
+"QTabDialog::tabBar" qtabdialog.html#tabBar
+"QTabDialog::tabLabel" qtabdialog.html#tabLabel
+"QTabDialog::~QTabDialog" qtabdialog.html#~QTabDialog
+"QTabWidget" qtabwidget.html
+"QTabWidget::TabPosition" qtabwidget.html#TabPosition
+"QTabWidget::TabShape" qtabwidget.html#TabShape
+"QTabWidget::addTab" qtabwidget.html#addTab
+"QTabWidget::autoMask" qtabwidget.html#autoMask-prop
+"QTabWidget::changeTab" qtabwidget.html#changeTab
+"QTabWidget::cornerWidget" qtabwidget.html#cornerWidget
+"QTabWidget::count" qtabwidget.html#count
+"QTabWidget::count" qtabwidget.html#count-prop
+"QTabWidget::currentChanged" qtabwidget.html#currentChanged
+"QTabWidget::currentPage" qtabwidget.html#currentPage
+"QTabWidget::currentPage" qtabwidget.html#currentPage-prop
+"QTabWidget::currentPageIndex" qtabwidget.html#currentPageIndex
+"QTabWidget::indexOf" qtabwidget.html#indexOf
+"QTabWidget::insertTab" qtabwidget.html#insertTab
+"QTabWidget::isTabEnabled" qtabwidget.html#isTabEnabled
+"QTabWidget::label" qtabwidget.html#label
+"QTabWidget::margin" qtabwidget.html#margin
+"QTabWidget::margin" qtabwidget.html#margin-prop
+"QTabWidget::page" qtabwidget.html#page
+"QTabWidget::removePage" qtabwidget.html#removePage
+"QTabWidget::removeTabToolTip" qtabwidget.html#removeTabToolTip
+"QTabWidget::setCornerWidget" qtabwidget.html#setCornerWidget
+"QTabWidget::setCurrentPage" qtabwidget.html#setCurrentPage
+"QTabWidget::setMargin" qtabwidget.html#setMargin
+"QTabWidget::setTabBar" qtabwidget.html#setTabBar
+"QTabWidget::setTabEnabled" qtabwidget.html#setTabEnabled
+"QTabWidget::setTabIconSet" qtabwidget.html#setTabIconSet
+"QTabWidget::setTabLabel" qtabwidget.html#setTabLabel
+"QTabWidget::setTabPosition" qtabwidget.html#setTabPosition
+"QTabWidget::setTabShape" qtabwidget.html#setTabShape
+"QTabWidget::setTabToolTip" qtabwidget.html#setTabToolTip
+"QTabWidget::showPage" qtabwidget.html#showPage
+"QTabWidget::showTab" qtabwidget.html#showTab
+"QTabWidget::tabBar" qtabwidget.html#tabBar
+"QTabWidget::tabIconSet" qtabwidget.html#tabIconSet
+"QTabWidget::tabLabel" qtabwidget.html#tabLabel
+"QTabWidget::tabPosition" qtabwidget.html#tabPosition
+"QTabWidget::tabPosition" qtabwidget.html#tabPosition-prop
+"QTabWidget::tabShape" qtabwidget.html#tabShape
+"QTabWidget::tabShape" qtabwidget.html#tabShape-prop
+"QTabWidget::tabToolTip" qtabwidget.html#tabToolTip
+"QTable" qtable.html
+"QTable::EditMode" qtable.html#EditMode
+"QTable::FocusStyle" qtable.html#FocusStyle
+"QTable::SelectionMode" qtable.html#SelectionMode
+"QTable::activateNextCell" qtable.html#activateNextCell
+"QTable::addSelection" qtable.html#addSelection
+"QTable::adjustColumn" qtable.html#adjustColumn
+"QTable::adjustRow" qtable.html#adjustRow
+"QTable::beginEdit" qtable.html#beginEdit
+"QTable::cellGeometry" qtable.html#cellGeometry
+"QTable::cellRect" qtable.html#cellRect
+"QTable::cellWidget" qtable.html#cellWidget
+"QTable::clearCell" qtable.html#clearCell
+"QTable::clearCellWidget" qtable.html#clearCellWidget
+"QTable::clearSelection" qtable.html#clearSelection
+"QTable::clicked" qtable.html#clicked
+"QTable::columnAt" qtable.html#columnAt
+"QTable::columnClicked" qtable.html#columnClicked
+"QTable::columnIndexChanged" qtable.html#columnIndexChanged
+"QTable::columnMovingEnabled" qtable.html#columnMovingEnabled
+"QTable::columnMovingEnabled" qtable.html#columnMovingEnabled-prop
+"QTable::columnPos" qtable.html#columnPos
+"QTable::columnWidth" qtable.html#columnWidth
+"QTable::columnWidthChanged" qtable.html#columnWidthChanged
+"QTable::contentsDragEnterEvent" qtable.html#contentsDragEnterEvent
+"QTable::contentsDragLeaveEvent" qtable.html#contentsDragLeaveEvent
+"QTable::contentsDragMoveEvent" qtable.html#contentsDragMoveEvent
+"QTable::contentsDropEvent" qtable.html#contentsDropEvent
+"QTable::contextMenuRequested" qtable.html#contextMenuRequested
+"QTable::createEditor" qtable.html#createEditor
+"QTable::currEditCol" qtable.html#currEditCol
+"QTable::currEditRow" qtable.html#currEditRow
+"QTable::currentChanged" qtable.html#currentChanged
+"QTable::currentColumn" qtable.html#currentColumn
+"QTable::currentRow" qtable.html#currentRow
+"QTable::currentSelection" qtable.html#currentSelection
+"QTable::doubleClicked" qtable.html#doubleClicked
+"QTable::dragEnabled" qtable.html#dragEnabled
+"QTable::dragObject" qtable.html#dragObject
+"QTable::drawContents" qtable.html#drawContents
+"QTable::dropped" qtable.html#dropped
+"QTable::editCell" qtable.html#editCell
+"QTable::editMode" qtable.html#editMode
+"QTable::endEdit" qtable.html#endEdit
+"QTable::ensureCellVisible" qtable.html#ensureCellVisible
+"QTable::focusStyle" qtable.html#focusStyle
+"QTable::focusStyle" qtable.html#focusStyle-prop
+"QTable::hideColumn" qtable.html#hideColumn
+"QTable::hideRow" qtable.html#hideRow
+"QTable::horizontalHeader" qtable.html#horizontalHeader
+"QTable::indexOf" qtable.html#indexOf
+"QTable::insertColumns" qtable.html#insertColumns
+"QTable::insertRows" qtable.html#insertRows
+"QTable::insertWidget" qtable.html#insertWidget
+"QTable::isColumnHidden" qtable.html#isColumnHidden
+"QTable::isColumnReadOnly" qtable.html#isColumnReadOnly
+"QTable::isColumnSelected" qtable.html#isColumnSelected
+"QTable::isColumnStretchable" qtable.html#isColumnStretchable
+"QTable::isEditing" qtable.html#isEditing
+"QTable::isReadOnly" qtable.html#isReadOnly
+"QTable::isRowHidden" qtable.html#isRowHidden
+"QTable::isRowReadOnly" qtable.html#isRowReadOnly
+"QTable::isRowSelected" qtable.html#isRowSelected
+"QTable::isRowStretchable" qtable.html#isRowStretchable
+"QTable::isSelected" qtable.html#isSelected
+"QTable::item" qtable.html#item
+"QTable::numCols" qtable.html#numCols
+"QTable::numCols" qtable.html#numCols-prop
+"QTable::numRows" qtable.html#numRows
+"QTable::numRows" qtable.html#numRows-prop
+"QTable::numSelections" qtable.html#numSelections
+"QTable::numSelections" qtable.html#numSelections-prop
+"QTable::paintCell" qtable.html#paintCell
+"QTable::paintEmptyArea" qtable.html#paintEmptyArea
+"QTable::paintFocus" qtable.html#paintFocus
+"QTable::pixmap" qtable.html#pixmap
+"QTable::pressed" qtable.html#pressed
+"QTable::readOnly" qtable.html#readOnly-prop
+"QTable::removeColumn" qtable.html#removeColumn
+"QTable::removeColumns" qtable.html#removeColumns
+"QTable::removeRow" qtable.html#removeRow
+"QTable::removeRows" qtable.html#removeRows
+"QTable::removeSelection" qtable.html#removeSelection
+"QTable::repaintSelections" qtable.html#repaintSelections
+"QTable::resizeData" qtable.html#resizeData
+"QTable::rowAt" qtable.html#rowAt
+"QTable::rowHeight" qtable.html#rowHeight
+"QTable::rowHeightChanged" qtable.html#rowHeightChanged
+"QTable::rowIndexChanged" qtable.html#rowIndexChanged
+"QTable::rowMovingEnabled" qtable.html#rowMovingEnabled
+"QTable::rowMovingEnabled" qtable.html#rowMovingEnabled-prop
+"QTable::rowPos" qtable.html#rowPos
+"QTable::selectCells" qtable.html#selectCells
+"QTable::selectColumn" qtable.html#selectColumn
+"QTable::selectRow" qtable.html#selectRow
+"QTable::selection" qtable.html#selection
+"QTable::selectionChanged" qtable.html#selectionChanged
+"QTable::selectionMode" qtable.html#selectionMode
+"QTable::selectionMode" qtable.html#selectionMode-prop
+"QTable::setCellContentFromEditor" qtable.html#setCellContentFromEditor
+"QTable::setCellWidget" qtable.html#setCellWidget
+"QTable::setColumnLabels" qtable.html#setColumnLabels
+"QTable::setColumnMovingEnabled" qtable.html#setColumnMovingEnabled
+"QTable::setColumnReadOnly" qtable.html#setColumnReadOnly
+"QTable::setColumnStretchable" qtable.html#setColumnStretchable
+"QTable::setColumnWidth" qtable.html#setColumnWidth
+"QTable::setCurrentCell" qtable.html#setCurrentCell
+"QTable::setDragEnabled" qtable.html#setDragEnabled
+"QTable::setEditMode" qtable.html#setEditMode
+"QTable::setFocusStyle" qtable.html#setFocusStyle
+"QTable::setItem" qtable.html#setItem
+"QTable::setLeftMargin" qtable.html#setLeftMargin
+"QTable::setNumCols" qtable.html#setNumCols
+"QTable::setNumRows" qtable.html#setNumRows
+"QTable::setPixmap" qtable.html#setPixmap
+"QTable::setReadOnly" qtable.html#setReadOnly
+"QTable::setRowHeight" qtable.html#setRowHeight
+"QTable::setRowLabels" qtable.html#setRowLabels
+"QTable::setRowMovingEnabled" qtable.html#setRowMovingEnabled
+"QTable::setRowReadOnly" qtable.html#setRowReadOnly
+"QTable::setRowStretchable" qtable.html#setRowStretchable
+"QTable::setSelectionMode" qtable.html#setSelectionMode
+"QTable::setShowGrid" qtable.html#setShowGrid
+"QTable::setSorting" qtable.html#setSorting
+"QTable::setText" qtable.html#setText
+"QTable::setTopMargin" qtable.html#setTopMargin
+"QTable::showColumn" qtable.html#showColumn
+"QTable::showGrid" qtable.html#showGrid
+"QTable::showGrid" qtable.html#showGrid-prop
+"QTable::showRow" qtable.html#showRow
+"QTable::sortColumn" qtable.html#sortColumn
+"QTable::sorting" qtable.html#sorting
+"QTable::sorting" qtable.html#sorting-prop
+"QTable::startDrag" qtable.html#startDrag
+"QTable::swapCells" qtable.html#swapCells
+"QTable::swapColumns" qtable.html#swapColumns
+"QTable::swapRows" qtable.html#swapRows
+"QTable::tableSize" qtable.html#tableSize
+"QTable::takeItem" qtable.html#takeItem
+"QTable::text" qtable.html#text
+"QTable::updateCell" qtable.html#updateCell
+"QTable::updateGeometries" qtable.html#updateGeometries
+"QTable::updateHeaderStates" qtable.html#updateHeaderStates
+"QTable::valueChanged" qtable.html#valueChanged
+"QTable::verticalHeader" qtable.html#verticalHeader
+"QTable::~QTable" qtable.html#~QTable
+"QTableItem" qtableitem.html
+"QTableItem::EditType" qtableitem.html#EditType
+"QTableItem::alignment" qtableitem.html#alignment
+"QTableItem::col" qtableitem.html#col
+"QTableItem::colSpan" qtableitem.html#colSpan
+"QTableItem::createEditor" qtableitem.html#createEditor
+"QTableItem::editType" qtableitem.html#editType
+"QTableItem::isEnabled" qtableitem.html#isEnabled
+"QTableItem::isReplaceable" qtableitem.html#isReplaceable
+"QTableItem::key" qtableitem.html#key
+"QTableItem::paint" qtableitem.html#paint
+"QTableItem::pixmap" qtableitem.html#pixmap
+"QTableItem::row" qtableitem.html#row
+"QTableItem::rowSpan" qtableitem.html#rowSpan
+"QTableItem::rtti" qtableitem.html#rtti
+"QTableItem::setCol" qtableitem.html#setCol
+"QTableItem::setContentFromEditor" qtableitem.html#setContentFromEditor
+"QTableItem::setEnabled" qtableitem.html#setEnabled
+"QTableItem::setPixmap" qtableitem.html#setPixmap
+"QTableItem::setReplaceable" qtableitem.html#setReplaceable
+"QTableItem::setRow" qtableitem.html#setRow
+"QTableItem::setSpan" qtableitem.html#setSpan
+"QTableItem::setText" qtableitem.html#setText
+"QTableItem::setWordWrap" qtableitem.html#setWordWrap
+"QTableItem::sizeHint" qtableitem.html#sizeHint
+"QTableItem::table" qtableitem.html#table
+"QTableItem::text" qtableitem.html#text
+"QTableItem::wordWrap" qtableitem.html#wordWrap
+"QTableItem::~QTableItem" qtableitem.html#~QTableItem
+"QTableSelection" qtableselection.html
+"QTableSelection::anchorCol" qtableselection.html#anchorCol
+"QTableSelection::anchorRow" qtableselection.html#anchorRow
+"QTableSelection::bottomRow" qtableselection.html#bottomRow
+"QTableSelection::expandTo" qtableselection.html#expandTo
+"QTableSelection::init" qtableselection.html#init
+"QTableSelection::isActive" qtableselection.html#isActive
+"QTableSelection::isEmpty" qtableselection.html#isEmpty
+"QTableSelection::leftCol" qtableselection.html#leftCol
+"QTableSelection::numCols" qtableselection.html#numCols
+"QTableSelection::numRows" qtableselection.html#numRows
+"QTableSelection::operator!=" qtableselection.html#operator!-eq
+"QTableSelection::operator==" qtableselection.html#operator-eq-eq
+"QTableSelection::rightCol" qtableselection.html#rightCol
+"QTableSelection::topRow" qtableselection.html#topRow
+"QTabletEvent" qtabletevent.html
+"QTabletEvent::TabletDevice" qtabletevent.html#TabletDevice
+"QTabletEvent::accept" qtabletevent.html#accept
+"QTabletEvent::device" qtabletevent.html#device
+"QTabletEvent::globalPos" qtabletevent.html#globalPos
+"QTabletEvent::globalX" qtabletevent.html#globalX
+"QTabletEvent::globalY" qtabletevent.html#globalY
+"QTabletEvent::ignore" qtabletevent.html#ignore
+"QTabletEvent::isAccepted" qtabletevent.html#isAccepted
+"QTabletEvent::pos" qtabletevent.html#pos
+"QTabletEvent::pressure" qtabletevent.html#pressure
+"QTabletEvent::uniqueId" qtabletevent.html#uniqueId
+"QTabletEvent::x" qtabletevent.html#x
+"QTabletEvent::xTilt" qtabletevent.html#xTilt
+"QTabletEvent::y" qtabletevent.html#y
+"QTabletEvent::yTilt" qtabletevent.html#yTilt
+"QTextBrowser" qtextbrowser.html
+"QTextBrowser::anchorClicked" qtextbrowser.html#anchorClicked
+"QTextBrowser::backward" qtextbrowser.html#backward
+"QTextBrowser::backwardAvailable" qtextbrowser.html#backwardAvailable
+"QTextBrowser::forward" qtextbrowser.html#forward
+"QTextBrowser::forwardAvailable" qtextbrowser.html#forwardAvailable
+"QTextBrowser::highlighted" qtextbrowser.html#highlighted
+"QTextBrowser::home" qtextbrowser.html#home
+"QTextBrowser::keyPressEvent" qtextbrowser.html#keyPressEvent
+"QTextBrowser::linkClicked" qtextbrowser.html#linkClicked
+"QTextBrowser::modified" qtextbrowser.html#modified-prop
+"QTextBrowser::overwriteMode" qtextbrowser.html#overwriteMode-prop
+"QTextBrowser::readOnly" qtextbrowser.html#readOnly-prop
+"QTextBrowser::reload" qtextbrowser.html#reload
+"QTextBrowser::setSource" qtextbrowser.html#setSource
+"QTextBrowser::setText" qtextbrowser.html#setText
+"QTextBrowser::source" qtextbrowser.html#source
+"QTextBrowser::source" qtextbrowser.html#source-prop
+"QTextBrowser::sourceChanged" qtextbrowser.html#sourceChanged
+"QTextBrowser::undoDepth" qtextbrowser.html#undoDepth-prop
+"QTextBrowser::undoRedoEnabled" qtextbrowser.html#undoRedoEnabled-prop
+"QTextCodec" qtextcodec.html
+"QTextCodec::canEncode" qtextcodec.html#canEncode
+"QTextCodec::codecForCStrings" qtextcodec.html#codecForCStrings
+"QTextCodec::codecForContent" qtextcodec.html#codecForContent
+"QTextCodec::codecForIndex" qtextcodec.html#codecForIndex
+"QTextCodec::codecForLocale" qtextcodec.html#codecForLocale
+"QTextCodec::codecForMib" qtextcodec.html#codecForMib
+"QTextCodec::codecForName" qtextcodec.html#codecForName
+"QTextCodec::codecForTr" qtextcodec.html#codecForTr
+"QTextCodec::deleteAllCodecs" qtextcodec.html#deleteAllCodecs
+"QTextCodec::fromUnicode" qtextcodec.html#fromUnicode
+"QTextCodec::heuristicContentMatch" qtextcodec.html#heuristicContentMatch
+"QTextCodec::heuristicNameMatch" qtextcodec.html#heuristicNameMatch
+"QTextCodec::loadCharmap" qtextcodec.html#loadCharmap
+"QTextCodec::loadCharmapFile" qtextcodec.html#loadCharmapFile
+"QTextCodec::locale" qtextcodec.html#locale
+"QTextCodec::makeDecoder" qtextcodec.html#makeDecoder
+"QTextCodec::makeEncoder" qtextcodec.html#makeEncoder
+"QTextCodec::mibEnum" qtextcodec.html#mibEnum
+"QTextCodec::mimeName" qtextcodec.html#mimeName
+"QTextCodec::name" qtextcodec.html#name
+"QTextCodec::setCodecForCStrings" qtextcodec.html#setCodecForCStrings
+"QTextCodec::setCodecForLocale" qtextcodec.html#setCodecForLocale
+"QTextCodec::setCodecForTr" qtextcodec.html#setCodecForTr
+"QTextCodec::simpleHeuristicNameMatch" qtextcodec.html#simpleHeuristicNameMatch
+"QTextCodec::toUnicode" qtextcodec.html#toUnicode
+"QTextCodec::~QTextCodec" qtextcodec.html#~QTextCodec
+"QTextCodecPlugin" qtextcodecplugin.html
+"QTextCodecPlugin::createForMib" qtextcodecplugin.html#createForMib
+"QTextCodecPlugin::createForName" qtextcodecplugin.html#createForName
+"QTextCodecPlugin::mibEnums" qtextcodecplugin.html#mibEnums
+"QTextCodecPlugin::names" qtextcodecplugin.html#names
+"QTextCodecPlugin::~QTextCodecPlugin" qtextcodecplugin.html#~QTextCodecPlugin
+"QTextDecoder" qtextdecoder.html
+"QTextDecoder::toUnicode" qtextdecoder.html#toUnicode
+"QTextDecoder::~QTextDecoder" qtextdecoder.html#~QTextDecoder
+"QTextDrag" qtextdrag.html
+"QTextDrag::canDecode" qtextdrag.html#canDecode
+"QTextDrag::decode" qtextdrag.html#decode
+"QTextDrag::setSubtype" qtextdrag.html#setSubtype
+"QTextDrag::setText" qtextdrag.html#setText
+"QTextDrag::~QTextDrag" qtextdrag.html#~QTextDrag
+"QTextEdit" qtextedit.html
+"QTextEdit::AutoFormatting" qtextedit.html#AutoFormatting
+"QTextEdit::CursorAction" qtextedit.html#CursorAction
+"QTextEdit::KeyboardAction" qtextedit.html#KeyboardAction
+"QTextEdit::VerticalAlignment" qtextedit.html#VerticalAlignment
+"QTextEdit::WordWrap" qtextedit.html#WordWrap
+"QTextEdit::WrapPolicy" qtextedit.html#WrapPolicy
+"QTextEdit::alignment" qtextedit.html#alignment
+"QTextEdit::anchorAt" qtextedit.html#anchorAt
+"QTextEdit::append" qtextedit.html#append
+"QTextEdit::autoFormatting" qtextedit.html#autoFormatting
+"QTextEdit::autoFormatting" qtextedit.html#autoFormatting-prop
+"QTextEdit::bold" qtextedit.html#bold
+"QTextEdit::charAt" qtextedit.html#charAt
+"QTextEdit::clear" qtextedit.html#clear
+"QTextEdit::clearParagraphBackground" qtextedit.html#clearParagraphBackground
+"QTextEdit::clicked" qtextedit.html#clicked
+"QTextEdit::color" qtextedit.html#color
+"QTextEdit::context" qtextedit.html#context
+"QTextEdit::copy" qtextedit.html#copy
+"QTextEdit::copyAvailable" qtextedit.html#copyAvailable
+"QTextEdit::createPopupMenu" qtextedit.html#createPopupMenu
+"QTextEdit::currentAlignmentChanged" qtextedit.html#currentAlignmentChanged
+"QTextEdit::currentColorChanged" qtextedit.html#currentColorChanged
+"QTextEdit::currentFont" qtextedit.html#currentFont
+"QTextEdit::currentFontChanged" qtextedit.html#currentFontChanged
+"QTextEdit::currentVerticalAlignmentChanged" qtextedit.html#currentVerticalAlignmentChanged
+"QTextEdit::cursorPositionChanged" qtextedit.html#cursorPositionChanged
+"QTextEdit::cut" qtextedit.html#cut
+"QTextEdit::del" qtextedit.html#del
+"QTextEdit::doKeyboardAction" qtextedit.html#doKeyboardAction
+"QTextEdit::documentTitle" qtextedit.html#documentTitle
+"QTextEdit::documentTitle" qtextedit.html#documentTitle-prop
+"QTextEdit::doubleClicked" qtextedit.html#doubleClicked
+"QTextEdit::ensureCursorVisible" qtextedit.html#ensureCursorVisible
+"QTextEdit::family" qtextedit.html#family
+"QTextEdit::find" qtextedit.html#find
+"QTextEdit::focusNextPrevChild" qtextedit.html#focusNextPrevChild
+"QTextEdit::getCursorPosition" qtextedit.html#getCursorPosition
+"QTextEdit::getSelection" qtextedit.html#getSelection
+"QTextEdit::hasSelectedText" qtextedit.html#hasSelectedText
+"QTextEdit::hasSelectedText" qtextedit.html#hasSelectedText-prop
+"QTextEdit::heightForWidth" qtextedit.html#heightForWidth
+"QTextEdit::insert" qtextedit.html#insert
+"QTextEdit::insertAt" qtextedit.html#insertAt
+"QTextEdit::insertParagraph" qtextedit.html#insertParagraph
+"QTextEdit::isModified" qtextedit.html#isModified
+"QTextEdit::isOverwriteMode" qtextedit.html#isOverwriteMode
+"QTextEdit::isReadOnly" qtextedit.html#isReadOnly
+"QTextEdit::isRedoAvailable" qtextedit.html#isRedoAvailable
+"QTextEdit::isUndoAvailable" qtextedit.html#isUndoAvailable
+"QTextEdit::isUndoRedoEnabled" qtextedit.html#isUndoRedoEnabled
+"QTextEdit::italic" qtextedit.html#italic
+"QTextEdit::keyPressEvent" qtextedit.html#keyPressEvent
+"QTextEdit::length" qtextedit.html#length
+"QTextEdit::length" qtextedit.html#length-prop
+"QTextEdit::lineOfChar" qtextedit.html#lineOfChar
+"QTextEdit::lines" qtextedit.html#lines
+"QTextEdit::linesOfParagraph" qtextedit.html#linesOfParagraph
+"QTextEdit::linkUnderline" qtextedit.html#linkUnderline
+"QTextEdit::linkUnderline" qtextedit.html#linkUnderline-prop
+"QTextEdit::maxLogLines" qtextedit.html#maxLogLines
+"QTextEdit::mimeSourceFactory" qtextedit.html#mimeSourceFactory
+"QTextEdit::modificationChanged" qtextedit.html#modificationChanged
+"QTextEdit::modified" qtextedit.html#modified-prop
+"QTextEdit::moveCursor" qtextedit.html#moveCursor
+"QTextEdit::optimCheckLimit" qtextedit.html#optimCheckLimit
+"QTextEdit::overwriteMode" qtextedit.html#overwriteMode-prop
+"QTextEdit::paper" qtextedit.html#paper
+"QTextEdit::paper" qtextedit.html#paper-prop
+"QTextEdit::paragraphAt" qtextedit.html#paragraphAt
+"QTextEdit::paragraphBackgroundColor" qtextedit.html#paragraphBackgroundColor
+"QTextEdit::paragraphLength" qtextedit.html#paragraphLength
+"QTextEdit::paragraphRect" qtextedit.html#paragraphRect
+"QTextEdit::paragraphs" qtextedit.html#paragraphs
+"QTextEdit::paste" qtextedit.html#paste
+"QTextEdit::pasteSpecial" qtextedit.html#pasteSpecial
+"QTextEdit::pasteSubType" qtextedit.html#pasteSubType
+"QTextEdit::placeCursor" qtextedit.html#placeCursor
+"QTextEdit::pointSize" qtextedit.html#pointSize
+"QTextEdit::readOnly" qtextedit.html#readOnly-prop
+"QTextEdit::redo" qtextedit.html#redo
+"QTextEdit::redoAvailable" qtextedit.html#redoAvailable
+"QTextEdit::removeParagraph" qtextedit.html#removeParagraph
+"QTextEdit::removeSelectedText" qtextedit.html#removeSelectedText
+"QTextEdit::removeSelection" qtextedit.html#removeSelection
+"QTextEdit::repaintChanged" qtextedit.html#repaintChanged
+"QTextEdit::returnPressed" qtextedit.html#returnPressed
+"QTextEdit::scrollToAnchor" qtextedit.html#scrollToAnchor
+"QTextEdit::scrollToBottom" qtextedit.html#scrollToBottom
+"QTextEdit::selectAll" qtextedit.html#selectAll
+"QTextEdit::selectedText" qtextedit.html#selectedText
+"QTextEdit::selectedText" qtextedit.html#selectedText-prop
+"QTextEdit::selectionChanged" qtextedit.html#selectionChanged
+"QTextEdit::setAlignment" qtextedit.html#setAlignment
+"QTextEdit::setAutoFormatting" qtextedit.html#setAutoFormatting
+"QTextEdit::setBold" qtextedit.html#setBold
+"QTextEdit::setColor" qtextedit.html#setColor
+"QTextEdit::setCurrentFont" qtextedit.html#setCurrentFont
+"QTextEdit::setCursorPosition" qtextedit.html#setCursorPosition
+"QTextEdit::setFamily" qtextedit.html#setFamily
+"QTextEdit::setItalic" qtextedit.html#setItalic
+"QTextEdit::setLinkUnderline" qtextedit.html#setLinkUnderline
+"QTextEdit::setMaxLogLines" qtextedit.html#setMaxLogLines
+"QTextEdit::setMimeSourceFactory" qtextedit.html#setMimeSourceFactory
+"QTextEdit::setModified" qtextedit.html#setModified
+"QTextEdit::setOverwriteMode" qtextedit.html#setOverwriteMode
+"QTextEdit::setPaper" qtextedit.html#setPaper
+"QTextEdit::setParagraphBackgroundColor" qtextedit.html#setParagraphBackgroundColor
+"QTextEdit::setPointSize" qtextedit.html#setPointSize
+"QTextEdit::setReadOnly" qtextedit.html#setReadOnly
+"QTextEdit::setSelection" qtextedit.html#setSelection
+"QTextEdit::setSelectionAttributes" qtextedit.html#setSelectionAttributes
+"QTextEdit::setStyleSheet" qtextedit.html#setStyleSheet
+"QTextEdit::setTabChangesFocus" qtextedit.html#setTabChangesFocus
+"QTextEdit::setTabStopWidth" qtextedit.html#setTabStopWidth
+"QTextEdit::setText" qtextedit.html#setText
+"QTextEdit::setTextFormat" qtextedit.html#setTextFormat
+"QTextEdit::setUnderline" qtextedit.html#setUnderline
+"QTextEdit::setUndoDepth" qtextedit.html#setUndoDepth
+"QTextEdit::setUndoRedoEnabled" qtextedit.html#setUndoRedoEnabled
+"QTextEdit::setVerticalAlignment" qtextedit.html#setVerticalAlignment
+"QTextEdit::setWordWrap" qtextedit.html#setWordWrap
+"QTextEdit::setWrapColumnOrWidth" qtextedit.html#setWrapColumnOrWidth
+"QTextEdit::setWrapPolicy" qtextedit.html#setWrapPolicy
+"QTextEdit::styleSheet" qtextedit.html#styleSheet
+"QTextEdit::sync" qtextedit.html#sync
+"QTextEdit::syntaxHighlighter" qtextedit.html#syntaxHighlighter
+"QTextEdit::tabChangesFocus" qtextedit.html#tabChangesFocus
+"QTextEdit::tabChangesFocus" qtextedit.html#tabChangesFocus-prop
+"QTextEdit::tabStopWidth" qtextedit.html#tabStopWidth
+"QTextEdit::tabStopWidth" qtextedit.html#tabStopWidth-prop
+"QTextEdit::text" qtextedit.html#text
+"QTextEdit::text" qtextedit.html#text-prop
+"QTextEdit::textChanged" qtextedit.html#textChanged
+"QTextEdit::textCursor" qtextedit.html#textCursor
+"QTextEdit::textFormat" qtextedit.html#textFormat
+"QTextEdit::textFormat" qtextedit.html#textFormat-prop
+"QTextEdit::underline" qtextedit.html#underline
+"QTextEdit::undo" qtextedit.html#undo
+"QTextEdit::undoAvailable" qtextedit.html#undoAvailable
+"QTextEdit::undoDepth" qtextedit.html#undoDepth
+"QTextEdit::undoDepth" qtextedit.html#undoDepth-prop
+"QTextEdit::undoRedoEnabled" qtextedit.html#undoRedoEnabled-prop
+"QTextEdit::wordWrap" qtextedit.html#wordWrap
+"QTextEdit::wordWrap" qtextedit.html#wordWrap-prop
+"QTextEdit::wrapColumnOrWidth" qtextedit.html#wrapColumnOrWidth
+"QTextEdit::wrapColumnOrWidth" qtextedit.html#wrapColumnOrWidth-prop
+"QTextEdit::wrapPolicy" qtextedit.html#wrapPolicy
+"QTextEdit::wrapPolicy" qtextedit.html#wrapPolicy-prop
+"QTextEdit::zoomIn" qtextedit.html#zoomIn
+"QTextEdit::zoomOut" qtextedit.html#zoomOut
+"QTextEdit::zoomTo" qtextedit.html#zoomTo
+"QTextEncoder" qtextencoder.html
+"QTextEncoder::fromUnicode" qtextencoder.html#fromUnicode
+"QTextEncoder::~QTextEncoder" qtextencoder.html#~QTextEncoder
+"QTextIStream" qtextistream.html
+"QTextOStream" qtextostream.html
+"QTextStream" qtextstream.html
+"QTextStream::Encoding" qtextstream.html#Encoding
+"QTextStream::atEnd" qtextstream.html#atEnd
+"QTextStream::codec" qtextstream.html#codec
+"QTextStream::device" qtextstream.html#device
+"QTextStream::fill" qtextstream.html#fill
+"QTextStream::flags" qtextstream.html#flags
+"QTextStream::operator<<" qtextstream.html#operator-lt-lt
+"QTextStream::operator>>" qtextstream.html#operator-gt-gt
+"QTextStream::precision" qtextstream.html#precision
+"QTextStream::read" qtextstream.html#read
+"QTextStream::readLine" qtextstream.html#readLine
+"QTextStream::readRawBytes" qtextstream.html#readRawBytes
+"QTextStream::reset" qtextstream.html#reset
+"QTextStream::setCodec" qtextstream.html#setCodec
+"QTextStream::setDevice" qtextstream.html#setDevice
+"QTextStream::setEncoding" qtextstream.html#setEncoding
+"QTextStream::setf" qtextstream.html#setf
+"QTextStream::skipWhiteSpace" qtextstream.html#skipWhiteSpace
+"QTextStream::ts_getbuf" qtextstream.html#ts_getbuf
+"QTextStream::ts_getline" qtextstream.html#ts_getline
+"QTextStream::ts_putc" qtextstream.html#ts_putc
+"QTextStream::unsetDevice" qtextstream.html#unsetDevice
+"QTextStream::unsetf" qtextstream.html#unsetf
+"QTextStream::width" qtextstream.html#width
+"QTextStream::writeRawBytes" qtextstream.html#writeRawBytes
+"QTextStream::~QTextStream" qtextstream.html#~QTextStream
+"QTextView::modified" qtextview.html#modified-prop
+"QTextView::overwriteMode" qtextview.html#overwriteMode-prop
+"QTextView::readOnly" qtextview.html#readOnly-prop
+"QTextView::undoDepth" qtextview.html#undoDepth-prop
+"QTextView::undoRedoEnabled" qtextview.html#undoRedoEnabled-prop
+"QThread" qthread.html
+"QThread::Priority" qthread.html#Priority
+"QThread::currentThread" qthread.html#currentThread
+"QThread::exit" qthread.html#exit
+"QThread::finished" qthread.html#finished
+"QThread::msleep" qthread.html#msleep
+"QThread::run" qthread.html#run
+"QThread::running" qthread.html#running
+"QThread::sleep" qthread.html#sleep
+"QThread::start" qthread.html#start
+"QThread::terminate" qthread.html#terminate
+"QThread::usleep" qthread.html#usleep
+"QThread::wait" qthread.html#wait
+"QThread::~QThread" qthread.html#~QThread
+"QThreadStorage" qthreadstorage.html
+"QThreadStorage::hasLocalData" qthreadstorage.html#hasLocalData
+"QThreadStorage::localData" qthreadstorage.html#localData
+"QThreadStorage::setLocalData" qthreadstorage.html#setLocalData
+"QThreadStorage::~QThreadStorage" qthreadstorage.html#~QThreadStorage
+"QTime" qtime.html
+"QTime::addMSecs" qtime.html#addMSecs
+"QTime::addSecs" qtime.html#addSecs
+"QTime::currentTime" qtime.html#currentTime
+"QTime::elapsed" qtime.html#elapsed
+"QTime::fromString" qtime.html#fromString
+"QTime::hour" qtime.html#hour
+"QTime::isNull" qtime.html#isNull
+"QTime::isValid" qtime.html#isValid
+"QTime::minute" qtime.html#minute
+"QTime::msec" qtime.html#msec
+"QTime::msecsTo" qtime.html#msecsTo
+"QTime::operator!=" qtime.html#operator!-eq
+"QTime::operator<" qtime.html#operator-lt
+"QTime::operator<=" qtime.html#operator-lt-eq
+"QTime::operator==" qtime.html#operator-eq-eq
+"QTime::operator>" qtime.html#operator-gt
+"QTime::operator>=" qtime.html#operator-gt-eq
+"QTime::restart" qtime.html#restart
+"QTime::second" qtime.html#second
+"QTime::secsTo" qtime.html#secsTo
+"QTime::setHMS" qtime.html#setHMS
+"QTime::start" qtime.html#start
+"QTime::toString" qtime.html#toString
+"QTimeEdit" qtimeedit.html
+"QTimeEdit::Display" qtimeedit.html#Display
+"QTimeEdit::autoAdvance" qtimeedit.html#autoAdvance
+"QTimeEdit::autoAdvance" qtimeedit.html#autoAdvance-prop
+"QTimeEdit::display" qtimeedit.html#display
+"QTimeEdit::display" qtimeedit.html#display-prop
+"QTimeEdit::maxValue" qtimeedit.html#maxValue
+"QTimeEdit::maxValue" qtimeedit.html#maxValue-prop
+"QTimeEdit::minValue" qtimeedit.html#minValue
+"QTimeEdit::minValue" qtimeedit.html#minValue-prop
+"QTimeEdit::sectionFormattedText" qtimeedit.html#sectionFormattedText
+"QTimeEdit::separator" qtimeedit.html#separator
+"QTimeEdit::setAutoAdvance" qtimeedit.html#setAutoAdvance
+"QTimeEdit::setDisplay" qtimeedit.html#setDisplay
+"QTimeEdit::setHour" qtimeedit.html#setHour
+"QTimeEdit::setMaxValue" qtimeedit.html#setMaxValue
+"QTimeEdit::setMinValue" qtimeedit.html#setMinValue
+"QTimeEdit::setMinute" qtimeedit.html#setMinute
+"QTimeEdit::setRange" qtimeedit.html#setRange
+"QTimeEdit::setSecond" qtimeedit.html#setSecond
+"QTimeEdit::setSeparator" qtimeedit.html#setSeparator
+"QTimeEdit::setTime" qtimeedit.html#setTime
+"QTimeEdit::time" qtimeedit.html#time
+"QTimeEdit::time" qtimeedit.html#time-prop
+"QTimeEdit::valueChanged" qtimeedit.html#valueChanged
+"QTimeEdit::~QTimeEdit" qtimeedit.html#~QTimeEdit
+"QTimer" qtimer.html
+"QTimer::changeInterval" qtimer.html#changeInterval
+"QTimer::isActive" qtimer.html#isActive
+"QTimer::singleShot" qtimer.html#singleShot
+"QTimer::start" qtimer.html#start
+"QTimer::stop" qtimer.html#stop
+"QTimer::timeout" qtimer.html#timeout
+"QTimer::timerId" qtimer.html#timerId
+"QTimer::~QTimer" qtimer.html#~QTimer
+"QTimerEvent" qtimerevent.html
+"QTimerEvent::timerId" qtimerevent.html#timerId
+"QToolBar" qtoolbar.html
+"QToolBar::addSeparator" qtoolbar.html#addSeparator
+"QToolBar::clear" qtoolbar.html#clear
+"QToolBar::label" qtoolbar.html#label
+"QToolBar::label" qtoolbar.html#label-prop
+"QToolBar::mainWindow" qtoolbar.html#mainWindow
+"QToolBar::setLabel" qtoolbar.html#setLabel
+"QToolBar::setStretchableWidget" qtoolbar.html#setStretchableWidget
+"QToolBox" qtoolbox.html
+"QToolBox::addItem" qtoolbox.html#addItem
+"QToolBox::count" qtoolbox.html#count
+"QToolBox::count" qtoolbox.html#count-prop
+"QToolBox::currentChanged" qtoolbox.html#currentChanged
+"QToolBox::currentIndex" qtoolbox.html#currentIndex
+"QToolBox::currentIndex" qtoolbox.html#currentIndex-prop
+"QToolBox::currentItem" qtoolbox.html#currentItem
+"QToolBox::indexOf" qtoolbox.html#indexOf
+"QToolBox::insertItem" qtoolbox.html#insertItem
+"QToolBox::isItemEnabled" qtoolbox.html#isItemEnabled
+"QToolBox::item" qtoolbox.html#item
+"QToolBox::itemIconSet" qtoolbox.html#itemIconSet
+"QToolBox::itemInserted" qtoolbox.html#itemInserted
+"QToolBox::itemLabel" qtoolbox.html#itemLabel
+"QToolBox::itemRemoved" qtoolbox.html#itemRemoved
+"QToolBox::itemToolTip" qtoolbox.html#itemToolTip
+"QToolBox::removeItem" qtoolbox.html#removeItem
+"QToolBox::setCurrentIndex" qtoolbox.html#setCurrentIndex
+"QToolBox::setCurrentItem" qtoolbox.html#setCurrentItem
+"QToolBox::setItemEnabled" qtoolbox.html#setItemEnabled
+"QToolBox::setItemIconSet" qtoolbox.html#setItemIconSet
+"QToolBox::setItemLabel" qtoolbox.html#setItemLabel
+"QToolBox::setItemToolTip" qtoolbox.html#setItemToolTip
+"QToolButton" qtoolbutton.html
+"QToolButton::TextPosition" qtoolbutton.html#TextPosition
+"QToolButton::autoRaise" qtoolbutton.html#autoRaise
+"QToolButton::autoRaise" qtoolbutton.html#autoRaise-prop
+"QToolButton::backgroundMode" qtoolbutton.html#backgroundMode-prop
+"QToolButton::iconSet" qtoolbutton.html#iconSet
+"QToolButton::iconSet" qtoolbutton.html#iconSet-prop
+"QToolButton::on" qtoolbutton.html#on-prop
+"QToolButton::openPopup" qtoolbutton.html#openPopup
+"QToolButton::pixmap" qtoolbutton.html#pixmap-prop
+"QToolButton::popup" qtoolbutton.html#popup
+"QToolButton::popupDelay" qtoolbutton.html#popupDelay
+"QToolButton::popupDelay" qtoolbutton.html#popupDelay-prop
+"QToolButton::setAutoRaise" qtoolbutton.html#setAutoRaise
+"QToolButton::setIconSet" qtoolbutton.html#setIconSet
+"QToolButton::setOn" qtoolbutton.html#setOn
+"QToolButton::setPopup" qtoolbutton.html#setPopup
+"QToolButton::setPopupDelay" qtoolbutton.html#setPopupDelay
+"QToolButton::setTextLabel" qtoolbutton.html#setTextLabel
+"QToolButton::setTextPosition" qtoolbutton.html#setTextPosition
+"QToolButton::setToggleButton" qtoolbutton.html#setToggleButton
+"QToolButton::setUsesBigPixmap" qtoolbutton.html#setUsesBigPixmap
+"QToolButton::setUsesTextLabel" qtoolbutton.html#setUsesTextLabel
+"QToolButton::textLabel" qtoolbutton.html#textLabel
+"QToolButton::textLabel" qtoolbutton.html#textLabel-prop
+"QToolButton::textPosition" qtoolbutton.html#textPosition
+"QToolButton::textPosition" qtoolbutton.html#textPosition-prop
+"QToolButton::toggle" qtoolbutton.html#toggle
+"QToolButton::toggleButton" qtoolbutton.html#toggleButton-prop
+"QToolButton::uses3D" qtoolbutton.html#uses3D
+"QToolButton::usesBigPixmap" qtoolbutton.html#usesBigPixmap
+"QToolButton::usesBigPixmap" qtoolbutton.html#usesBigPixmap-prop
+"QToolButton::usesTextLabel" qtoolbutton.html#usesTextLabel
+"QToolButton::usesTextLabel" qtoolbutton.html#usesTextLabel-prop
+"QToolButton::~QToolButton" qtoolbutton.html#~QToolButton
+"QToolTip" qtooltip.html
+"QToolTip::add" qtooltip.html#add
+"QToolTip::clear" qtooltip.html#clear
+"QToolTip::font" qtooltip.html#font
+"QToolTip::group" qtooltip.html#group
+"QToolTip::hide" qtooltip.html#hide
+"QToolTip::isGloballyEnabled" qtooltip.html#isGloballyEnabled
+"QToolTip::maybeTip" qtooltip.html#maybeTip
+"QToolTip::palette" qtooltip.html#palette
+"QToolTip::parentWidget" qtooltip.html#parentWidget
+"QToolTip::remove" qtooltip.html#remove
+"QToolTip::setFont" qtooltip.html#setFont
+"QToolTip::setGloballyEnabled" qtooltip.html#setGloballyEnabled
+"QToolTip::setPalette" qtooltip.html#setPalette
+"QToolTip::setWakeUpDelay" qtooltip.html#setWakeUpDelay
+"QToolTip::textFor" qtooltip.html#textFor
+"QToolTip::tip" qtooltip.html#tip
+"QToolTipGroup" qtooltipgroup.html
+"QToolTipGroup::delay" qtooltipgroup.html#delay
+"QToolTipGroup::delay" qtooltipgroup.html#delay-prop
+"QToolTipGroup::enabled" qtooltipgroup.html#enabled
+"QToolTipGroup::enabled" qtooltipgroup.html#enabled-prop
+"QToolTipGroup::removeTip" qtooltipgroup.html#removeTip
+"QToolTipGroup::setDelay" qtooltipgroup.html#setDelay
+"QToolTipGroup::setEnabled" qtooltipgroup.html#setEnabled
+"QToolTipGroup::showTip" qtooltipgroup.html#showTip
+"QToolTipGroup::~QToolTipGroup" qtooltipgroup.html#~QToolTipGroup
+"QTransformedScreen::transformOrientation" qtransformedscreen.html#transformOrientation
+"QTranslator" qtranslator.html
+"QTranslator::SaveMode" qtranslator.html#SaveMode
+"QTranslator::clear" qtranslator.html#clear
+"QTranslator::contains" qtranslator.html#contains
+"QTranslator::findMessage" qtranslator.html#findMessage
+"QTranslator::insert" qtranslator.html#insert
+"QTranslator::isEmpty" qtranslator.html#isEmpty
+"QTranslator::load" qtranslator.html#load
+"QTranslator::messages" qtranslator.html#messages
+"QTranslator::remove" qtranslator.html#remove
+"QTranslator::save" qtranslator.html#save
+"QTranslator::squeeze" qtranslator.html#squeeze
+"QTranslator::unsqueeze" qtranslator.html#unsqueeze
+"QTranslator::~QTranslator" qtranslator.html#~QTranslator
+"QTranslatorMessage" qtranslatormessage.html
+"QTranslatorMessage::Prefix" qtranslatormessage.html#Prefix
+"QTranslatorMessage::comment" qtranslatormessage.html#comment
+"QTranslatorMessage::commonPrefix" qtranslatormessage.html#commonPrefix
+"QTranslatorMessage::context" qtranslatormessage.html#context
+"QTranslatorMessage::hash" qtranslatormessage.html#hash
+"QTranslatorMessage::operator!=" qtranslatormessage.html#operator!-eq
+"QTranslatorMessage::operator<" qtranslatormessage.html#operator-lt
+"QTranslatorMessage::operator<=" qtranslatormessage.html#operator-lt-eq
+"QTranslatorMessage::operator=" qtranslatormessage.html#operator-eq
+"QTranslatorMessage::operator==" qtranslatormessage.html#operator-eq-eq
+"QTranslatorMessage::operator>" qtranslatormessage.html#operator-gt
+"QTranslatorMessage::operator>=" qtranslatormessage.html#operator-gt-eq
+"QTranslatorMessage::setTranslation" qtranslatormessage.html#setTranslation
+"QTranslatorMessage::sourceText" qtranslatormessage.html#sourceText
+"QTranslatorMessage::translation" qtranslatormessage.html#translation
+"QTranslatorMessage::write" qtranslatormessage.html#write
+"QTsciiCodec" qtsciicodec.html
+"QUriDrag" quridrag.html
+"QUriDrag::canDecode" quridrag.html#canDecode
+"QUriDrag::decode" quridrag.html#decode
+"QUriDrag::decodeLocalFiles" quridrag.html#decodeLocalFiles
+"QUriDrag::decodeToUnicodeUris" quridrag.html#decodeToUnicodeUris
+"QUriDrag::localFileToUri" quridrag.html#localFileToUri
+"QUriDrag::setFileNames" quridrag.html#setFileNames
+"QUriDrag::setUnicodeUris" quridrag.html#setUnicodeUris
+"QUriDrag::setUris" quridrag.html#setUris
+"QUriDrag::unicodeUriToUri" quridrag.html#unicodeUriToUri
+"QUriDrag::uriToLocalFile" quridrag.html#uriToLocalFile
+"QUriDrag::uriToUnicodeUri" quridrag.html#uriToUnicodeUri
+"QUriDrag::~QUriDrag" quridrag.html#~QUriDrag
+"QUrl" qurl.html
+"QUrl::addPath" qurl.html#addPath
+"QUrl::cdUp" qurl.html#cdUp
+"QUrl::decode" qurl.html#decode
+"QUrl::dirPath" qurl.html#dirPath
+"QUrl::encode" qurl.html#encode
+"QUrl::encodedPathAndQuery" qurl.html#encodedPathAndQuery
+"QUrl::fileName" qurl.html#fileName
+"QUrl::hasHost" qurl.html#hasHost
+"QUrl::hasPassword" qurl.html#hasPassword
+"QUrl::hasPath" qurl.html#hasPath
+"QUrl::hasPort" qurl.html#hasPort
+"QUrl::hasRef" qurl.html#hasRef
+"QUrl::hasUser" qurl.html#hasUser
+"QUrl::host" qurl.html#host
+"QUrl::isLocalFile" qurl.html#isLocalFile
+"QUrl::isRelativeUrl" qurl.html#isRelativeUrl
+"QUrl::isValid" qurl.html#isValid
+"QUrl::operator QString" qurl.html#operator-QString
+"QUrl::operator=" qurl.html#operator-eq
+"QUrl::operator==" qurl.html#operator-eq-eq
+"QUrl::parse" qurl.html#parse
+"QUrl::password" qurl.html#password
+"QUrl::path" qurl.html#path
+"QUrl::port" qurl.html#port
+"QUrl::protocol" qurl.html#protocol
+"QUrl::query" qurl.html#query
+"QUrl::ref" qurl.html#ref
+"QUrl::reset" qurl.html#reset
+"QUrl::setEncodedPathAndQuery" qurl.html#setEncodedPathAndQuery
+"QUrl::setFileName" qurl.html#setFileName
+"QUrl::setHost" qurl.html#setHost
+"QUrl::setPassword" qurl.html#setPassword
+"QUrl::setPath" qurl.html#setPath
+"QUrl::setPort" qurl.html#setPort
+"QUrl::setProtocol" qurl.html#setProtocol
+"QUrl::setQuery" qurl.html#setQuery
+"QUrl::setRef" qurl.html#setRef
+"QUrl::setUser" qurl.html#setUser
+"QUrl::toString" qurl.html#toString
+"QUrl::user" qurl.html#user
+"QUrl::~QUrl" qurl.html#~QUrl
+"QUrlInfo" qurlinfo.html
+"QUrlInfo::PermissionSpec" qurlinfo.html#PermissionSpec
+"QUrlInfo::equal" qurlinfo.html#equal
+"QUrlInfo::greaterThan" qurlinfo.html#greaterThan
+"QUrlInfo::group" qurlinfo.html#group
+"QUrlInfo::isDir" qurlinfo.html#isDir
+"QUrlInfo::isExecutable" qurlinfo.html#isExecutable
+"QUrlInfo::isFile" qurlinfo.html#isFile
+"QUrlInfo::isReadable" qurlinfo.html#isReadable
+"QUrlInfo::isSymLink" qurlinfo.html#isSymLink
+"QUrlInfo::isValid" qurlinfo.html#isValid
+"QUrlInfo::isWritable" qurlinfo.html#isWritable
+"QUrlInfo::lastModified" qurlinfo.html#lastModified
+"QUrlInfo::lastRead" qurlinfo.html#lastRead
+"QUrlInfo::lessThan" qurlinfo.html#lessThan
+"QUrlInfo::name" qurlinfo.html#name
+"QUrlInfo::operator=" qurlinfo.html#operator-eq
+"QUrlInfo::operator==" qurlinfo.html#operator-eq-eq
+"QUrlInfo::owner" qurlinfo.html#owner
+"QUrlInfo::permissions" qurlinfo.html#permissions
+"QUrlInfo::setDir" qurlinfo.html#setDir
+"QUrlInfo::setFile" qurlinfo.html#setFile
+"QUrlInfo::setGroup" qurlinfo.html#setGroup
+"QUrlInfo::setLastModified" qurlinfo.html#setLastModified
+"QUrlInfo::setName" qurlinfo.html#setName
+"QUrlInfo::setOwner" qurlinfo.html#setOwner
+"QUrlInfo::setPermissions" qurlinfo.html#setPermissions
+"QUrlInfo::setReadable" qurlinfo.html#setReadable
+"QUrlInfo::setSize" qurlinfo.html#setSize
+"QUrlInfo::setSymLink" qurlinfo.html#setSymLink
+"QUrlInfo::setWritable" qurlinfo.html#setWritable
+"QUrlInfo::size" qurlinfo.html#size
+"QUrlInfo::~QUrlInfo" qurlinfo.html#~QUrlInfo
+"QUrlOperator" qurloperator.html
+"QUrlOperator::addEntry" qurloperator.html#addEntry
+"QUrlOperator::clearEntries" qurloperator.html#clearEntries
+"QUrlOperator::connectionStateChanged" qurloperator.html#connectionStateChanged
+"QUrlOperator::copy" qurloperator.html#copy
+"QUrlOperator::createdDirectory" qurloperator.html#createdDirectory
+"QUrlOperator::data" qurloperator.html#data
+"QUrlOperator::dataTransferProgress" qurloperator.html#dataTransferProgress
+"QUrlOperator::deleteNetworkProtocol" qurloperator.html#deleteNetworkProtocol
+"QUrlOperator::finished" qurloperator.html#finished
+"QUrlOperator::get" qurloperator.html#get
+"QUrlOperator::getNetworkProtocol" qurloperator.html#getNetworkProtocol
+"QUrlOperator::info" qurloperator.html#info
+"QUrlOperator::isDir" qurloperator.html#isDir
+"QUrlOperator::itemChanged" qurloperator.html#itemChanged
+"QUrlOperator::listChildren" qurloperator.html#listChildren
+"QUrlOperator::mkdir" qurloperator.html#mkdir
+"QUrlOperator::nameFilter" qurloperator.html#nameFilter
+"QUrlOperator::newChildren" qurloperator.html#newChildren
+"QUrlOperator::put" qurloperator.html#put
+"QUrlOperator::remove" qurloperator.html#remove
+"QUrlOperator::removed" qurloperator.html#removed
+"QUrlOperator::rename" qurloperator.html#rename
+"QUrlOperator::setNameFilter" qurloperator.html#setNameFilter
+"QUrlOperator::start" qurloperator.html#start
+"QUrlOperator::startOperation" qurloperator.html#startOperation
+"QUrlOperator::startedNextCopy" qurloperator.html#startedNextCopy
+"QUrlOperator::stop" qurloperator.html#stop
+"QUrlOperator::~QUrlOperator" qurloperator.html#~QUrlOperator
+"QUuid" quuid.html
+"QUuid::Variant" quuid.html#Variant
+"QUuid::Version" quuid.html#Version
+"QUuid::createUuid" quuid.html#createUuid
+"QUuid::isNull" quuid.html#isNull
+"QUuid::operator QString" quuid.html#operator-QString
+"QUuid::operator!=" quuid.html#operator!-eq
+"QUuid::operator<" quuid.html#operator-lt
+"QUuid::operator=" quuid.html#operator-eq
+"QUuid::operator==" quuid.html#operator-eq-eq
+"QUuid::operator>" quuid.html#operator-gt
+"QUuid::toString" quuid.html#toString
+"QUuid::variant" quuid.html#variant
+"QUuid::version" quuid.html#version
+"QVBox" qvbox.html
+"QVBoxLayout" qvboxlayout.html
+"QVBoxLayout::~QVBoxLayout" qvboxlayout.html#~QVBoxLayout
+"QVButtonGroup" qvbuttongroup.html
+"QVButtonGroup::~QVButtonGroup" qvbuttongroup.html#~QVButtonGroup
+"QVGroupBox" qvgroupbox.html
+"QVGroupBox::~QVGroupBox" qvgroupbox.html#~QVGroupBox
+"QValidator" qvalidator.html
+"QValidator::State" qvalidator.html#State
+"QValidator::fixup" qvalidator.html#fixup
+"QValidator::validate" qvalidator.html#validate
+"QValidator::~QValidator" qvalidator.html#~QValidator
+"QValueList" qvaluelist.html
+"QValueList::ConstIterator" qvaluelist.html#ConstIterator
+"QValueList::Iterator" qvaluelist.html#Iterator
+"QValueList::append" qvaluelist.html#append
+"QValueList::at" qvaluelist.html#at
+"QValueList::back" qvaluelist.html#back
+"QValueList::begin" qvaluelist.html#begin
+"QValueList::clear" qvaluelist.html#clear
+"QValueList::constBegin" qvaluelist.html#constBegin
+"QValueList::constEnd" qvaluelist.html#constEnd
+"QValueList::const_iterator" qvaluelist.html#const_iterator
+"QValueList::const_pointer" qvaluelist.html#const_pointer
+"QValueList::const_reference" qvaluelist.html#const_reference
+"QValueList::contains" qvaluelist.html#contains
+"QValueList::count" qvaluelist.html#count
+"QValueList::empty" qvaluelist.html#empty
+"QValueList::end" qvaluelist.html#end
+"QValueList::erase" qvaluelist.html#erase
+"QValueList::find" qvaluelist.html#find
+"QValueList::findIndex" qvaluelist.html#findIndex
+"QValueList::first" qvaluelist.html#first
+"QValueList::fromLast" qvaluelist.html#fromLast
+"QValueList::front" qvaluelist.html#front
+"QValueList::insert" qvaluelist.html#insert
+"QValueList::isEmpty" qvaluelist.html#isEmpty
+"QValueList::iterator" qvaluelist.html#iterator
+"QValueList::last" qvaluelist.html#last
+"QValueList::operator!=" qvaluelist.html#operator!-eq
+"QValueList::operator+" qvaluelist.html#operator+
+"QValueList::operator+=" qvaluelist.html#operator+-eq
+"QValueList::operator<<" qvaluelist.html#operator-lt-lt
+"QValueList::operator=" qvaluelist.html#operator-eq
+"QValueList::operator==" qvaluelist.html#operator-eq-eq
+"QValueList::operator[]" qvaluelist.html#operator[]
+"QValueList::pointer" qvaluelist.html#pointer
+"QValueList::pop_back" qvaluelist.html#pop_back
+"QValueList::pop_front" qvaluelist.html#pop_front
+"QValueList::prepend" qvaluelist.html#prepend
+"QValueList::push_back" qvaluelist.html#push_back
+"QValueList::push_front" qvaluelist.html#push_front
+"QValueList::reference" qvaluelist.html#reference
+"QValueList::remove" qvaluelist.html#remove
+"QValueList::size" qvaluelist.html#size
+"QValueList::size_type" qvaluelist.html#size_type
+"QValueList::value_type" qvaluelist.html#value_type
+"QValueList::~QValueList" qvaluelist.html#~QValueList
+"QValueListConstIterator" qvaluelistconstiterator.html
+"QValueListConstIterator::operator!=" qvaluelistconstiterator.html#operator!-eq
+"QValueListConstIterator::operator*" qvaluelistconstiterator.html#operator*
+"QValueListConstIterator::operator++" qvaluelistconstiterator.html#operator++
+"QValueListConstIterator::operator--" qvaluelistconstiterator.html#operator--
+"QValueListConstIterator::operator==" qvaluelistconstiterator.html#operator-eq-eq
+"QValueListConstIterator::pointer" qvaluelistconstiterator.html#pointer
+"QValueListConstIterator::reference" qvaluelistconstiterator.html#reference
+"QValueListConstIterator::value_type" qvaluelistconstiterator.html#value_type
+"QValueListIterator" qvaluelistiterator.html
+"QValueListIterator::operator!=" qvaluelistiterator.html#operator!-eq
+"QValueListIterator::operator*" qvaluelistiterator.html#operator*
+"QValueListIterator::operator++" qvaluelistiterator.html#operator++
+"QValueListIterator::operator+=" qvaluelistiterator.html#operator+-eq
+"QValueListIterator::operator--" qvaluelistiterator.html#operator--
+"QValueListIterator::operator-=" qvaluelistiterator.html#operator--eq
+"QValueListIterator::operator==" qvaluelistiterator.html#operator-eq-eq
+"QValueListIterator::pointer" qvaluelistiterator.html#pointer
+"QValueListIterator::reference" qvaluelistiterator.html#reference
+"QValueListIterator::value_type" qvaluelistiterator.html#value_type
+"QValueStack" qvaluestack.html
+"QValueStack::pop" qvaluestack.html#pop
+"QValueStack::push" qvaluestack.html#push
+"QValueStack::top" qvaluestack.html#top
+"QValueStack::~QValueStack" qvaluestack.html#~QValueStack
+"QValueVector" qvaluevector.html
+"QValueVector::ConstIterator" qvaluevector.html#ConstIterator
+"QValueVector::Iterator" qvaluevector.html#Iterator
+"QValueVector::ValueType" qvaluevector.html#ValueType
+"QValueVector::append" qvaluevector.html#append
+"QValueVector::at" qvaluevector.html#at
+"QValueVector::back" qvaluevector.html#back
+"QValueVector::begin" qvaluevector.html#begin
+"QValueVector::capacity" qvaluevector.html#capacity
+"QValueVector::clear" qvaluevector.html#clear
+"QValueVector::constBegin" qvaluevector.html#constBegin
+"QValueVector::constEnd" qvaluevector.html#constEnd
+"QValueVector::const_iterator" qvaluevector.html#const_iterator
+"QValueVector::const_pointer" qvaluevector.html#const_pointer
+"QValueVector::const_reference" qvaluevector.html#const_reference
+"QValueVector::count" qvaluevector.html#count
+"QValueVector::difference_type" qvaluevector.html#difference_type
+"QValueVector::empty" qvaluevector.html#empty
+"QValueVector::end" qvaluevector.html#end
+"QValueVector::erase" qvaluevector.html#erase
+"QValueVector::first" qvaluevector.html#first
+"QValueVector::front" qvaluevector.html#front
+"QValueVector::insert" qvaluevector.html#insert
+"QValueVector::isEmpty" qvaluevector.html#isEmpty
+"QValueVector::iterator" qvaluevector.html#iterator
+"QValueVector::last" qvaluevector.html#last
+"QValueVector::operator=" qvaluevector.html#operator-eq
+"QValueVector::operator==" qvaluevector.html#operator-eq-eq
+"QValueVector::operator[]" qvaluevector.html#operator[]
+"QValueVector::pointer" qvaluevector.html#pointer
+"QValueVector::pop_back" qvaluevector.html#pop_back
+"QValueVector::push_back" qvaluevector.html#push_back
+"QValueVector::reference" qvaluevector.html#reference
+"QValueVector::reserve" qvaluevector.html#reserve
+"QValueVector::resize" qvaluevector.html#resize
+"QValueVector::size" qvaluevector.html#size
+"QValueVector::size_type" qvaluevector.html#size_type
+"QValueVector::value_type" qvaluevector.html#value_type
+"QValueVector::~QValueVector" qvaluevector.html#~QValueVector
+"QVariant" qvariant.html
+"QVariant::Type" qvariant.html#Type
+"QVariant::asBitArray" qvariant.html#asBitArray
+"QVariant::asBitmap" qvariant.html#asBitmap
+"QVariant::asBool" qvariant.html#asBool
+"QVariant::asBrush" qvariant.html#asBrush
+"QVariant::asByteArray" qvariant.html#asByteArray
+"QVariant::asCString" qvariant.html#asCString
+"QVariant::asColor" qvariant.html#asColor
+"QVariant::asColorGroup" qvariant.html#asColorGroup
+"QVariant::asCursor" qvariant.html#asCursor
+"QVariant::asDate" qvariant.html#asDate
+"QVariant::asDateTime" qvariant.html#asDateTime
+"QVariant::asDouble" qvariant.html#asDouble
+"QVariant::asFont" qvariant.html#asFont
+"QVariant::asIconSet" qvariant.html#asIconSet
+"QVariant::asImage" qvariant.html#asImage
+"QVariant::asInt" qvariant.html#asInt
+"QVariant::asKeySequence" qvariant.html#asKeySequence
+"QVariant::asList" qvariant.html#asList
+"QVariant::asLongLong" qvariant.html#asLongLong
+"QVariant::asMap" qvariant.html#asMap
+"QVariant::asPalette" qvariant.html#asPalette
+"QVariant::asPen" qvariant.html#asPen
+"QVariant::asPixmap" qvariant.html#asPixmap
+"QVariant::asPoint" qvariant.html#asPoint
+"QVariant::asPointArray" qvariant.html#asPointArray
+"QVariant::asRect" qvariant.html#asRect
+"QVariant::asRegion" qvariant.html#asRegion
+"QVariant::asSize" qvariant.html#asSize
+"QVariant::asSizePolicy" qvariant.html#asSizePolicy
+"QVariant::asString" qvariant.html#asString
+"QVariant::asStringList" qvariant.html#asStringList
+"QVariant::asTime" qvariant.html#asTime
+"QVariant::asUInt" qvariant.html#asUInt
+"QVariant::asULongLong" qvariant.html#asULongLong
+"QVariant::canCast" qvariant.html#canCast
+"QVariant::cast" qvariant.html#cast
+"QVariant::clear" qvariant.html#clear
+"QVariant::isNull" qvariant.html#isNull
+"QVariant::isValid" qvariant.html#isValid
+"QVariant::nameToType" qvariant.html#nameToType
+"QVariant::operator!=" qvariant.html#operator!-eq
+"QVariant::operator=" qvariant.html#operator-eq
+"QVariant::operator==" qvariant.html#operator-eq-eq
+"QVariant::toBitArray" qvariant.html#toBitArray
+"QVariant::toBitmap" qvariant.html#toBitmap
+"QVariant::toBool" qvariant.html#toBool
+"QVariant::toBrush" qvariant.html#toBrush
+"QVariant::toByteArray" qvariant.html#toByteArray
+"QVariant::toCString" qvariant.html#toCString
+"QVariant::toColor" qvariant.html#toColor
+"QVariant::toColorGroup" qvariant.html#toColorGroup
+"QVariant::toCursor" qvariant.html#toCursor
+"QVariant::toDate" qvariant.html#toDate
+"QVariant::toDateTime" qvariant.html#toDateTime
+"QVariant::toDouble" qvariant.html#toDouble
+"QVariant::toFont" qvariant.html#toFont
+"QVariant::toIconSet" qvariant.html#toIconSet
+"QVariant::toImage" qvariant.html#toImage
+"QVariant::toInt" qvariant.html#toInt
+"QVariant::toKeySequence" qvariant.html#toKeySequence
+"QVariant::toList" qvariant.html#toList
+"QVariant::toLongLong" qvariant.html#toLongLong
+"QVariant::toMap" qvariant.html#toMap
+"QVariant::toPalette" qvariant.html#toPalette
+"QVariant::toPen" qvariant.html#toPen
+"QVariant::toPixmap" qvariant.html#toPixmap
+"QVariant::toPoint" qvariant.html#toPoint
+"QVariant::toPointArray" qvariant.html#toPointArray
+"QVariant::toRect" qvariant.html#toRect
+"QVariant::toRegion" qvariant.html#toRegion
+"QVariant::toSize" qvariant.html#toSize
+"QVariant::toSizePolicy" qvariant.html#toSizePolicy
+"QVariant::toString" qvariant.html#toString
+"QVariant::toStringList" qvariant.html#toStringList
+"QVariant::toTime" qvariant.html#toTime
+"QVariant::toUInt" qvariant.html#toUInt
+"QVariant::toULongLong" qvariant.html#toULongLong
+"QVariant::type" qvariant.html#type
+"QVariant::typeName" qvariant.html#typeName
+"QVariant::typeToName" qvariant.html#typeToName
+"QVariant::~QVariant" qvariant.html#~QVariant
+"QVector Class Reference (obsolete)" qvector.html
+"QWMatrix" qwmatrix.html
+"QWMatrix::TransformationMode" qwmatrix.html#TransformationMode
+"QWMatrix::det" qwmatrix.html#det
+"QWMatrix::dx" qwmatrix.html#dx
+"QWMatrix::dy" qwmatrix.html#dy
+"QWMatrix::invert" qwmatrix.html#invert
+"QWMatrix::isIdentity" qwmatrix.html#isIdentity
+"QWMatrix::isInvertible" qwmatrix.html#isInvertible
+"QWMatrix::m11" qwmatrix.html#m11
+"QWMatrix::m12" qwmatrix.html#m12
+"QWMatrix::m21" qwmatrix.html#m21
+"QWMatrix::m22" qwmatrix.html#m22
+"QWMatrix::map" qwmatrix.html#map
+"QWMatrix::mapRect" qwmatrix.html#mapRect
+"QWMatrix::mapToPolygon" qwmatrix.html#mapToPolygon
+"QWMatrix::mapToRegion" qwmatrix.html#mapToRegion
+"QWMatrix::operator!=" qwmatrix.html#operator!-eq
+"QWMatrix::operator*=" qwmatrix.html#operator*-eq
+"QWMatrix::operator==" qwmatrix.html#operator-eq-eq
+"QWMatrix::reset" qwmatrix.html#reset
+"QWMatrix::rotate" qwmatrix.html#rotate
+"QWMatrix::scale" qwmatrix.html#scale
+"QWMatrix::setMatrix" qwmatrix.html#setMatrix
+"QWMatrix::setTransformationMode" qwmatrix.html#setTransformationMode
+"QWMatrix::shear" qwmatrix.html#shear
+"QWMatrix::transformationMode" qwmatrix.html#transformationMode
+"QWMatrix::translate" qwmatrix.html#translate
+"QWSDecoration" qwsdecoration.html
+"QWSDecoration::Region" qwsdecoration.html#Region
+"QWSDecoration::close" qwsdecoration.html#close
+"QWSDecoration::maximize" qwsdecoration.html#maximize
+"QWSDecoration::menu" qwsdecoration.html#menu
+"QWSDecoration::minimize" qwsdecoration.html#minimize
+"QWSDecoration::paint" qwsdecoration.html#paint
+"QWSDecoration::paintButton" qwsdecoration.html#paintButton
+"QWSDecoration::region" qwsdecoration.html#region
+"QWSDecoration::~QWSDecoration" qwsdecoration.html#~QWSDecoration
+"QWSInputMethod" qwsinputmethod.html
+"QWSInputMethod::filter" qwsinputmethod.html#filter
+"QWSInputMethod::reset" qwsinputmethod.html#reset
+"QWSInputMethod::sendIMEvent" qwsinputmethod.html#sendIMEvent
+"QWSInputMethod::setFont" qwsinputmethod.html#setFont
+"QWSInputMethod::setMicroFocus" qwsinputmethod.html#setMicroFocus
+"QWSInputMethod::~QWSInputMethod" qwsinputmethod.html#~QWSInputMethod
+"QWSKeyboardHandler" qwskeyboardhandler.html
+"QWSKeyboardHandler::processKeyEvent" qwskeyboardhandler.html#processKeyEvent
+"QWSKeyboardHandler::~QWSKeyboardHandler" qwskeyboardhandler.html#~QWSKeyboardHandler
+"QWSMouseHandler" qwsmousehandler.html
+"QWSMouseHandler::calibrate" qwsmousehandler.html#calibrate
+"QWSMouseHandler::clearCalibration" qwsmousehandler.html#clearCalibration
+"QWSMouseHandler::limitToScreen" qwsmousehandler.html#limitToScreen
+"QWSMouseHandler::mouseChanged" qwsmousehandler.html#mouseChanged
+"QWSMouseHandler::pos" qwsmousehandler.html#pos
+"QWSMouseHandler::~QWSMouseHandler" qwsmousehandler.html#~QWSMouseHandler
+"QWSServer" qwsserver.html
+"QWSServer::GUIMode" qwsserver.html#GUIMode
+"QWSServer::ServerFlags" qwsserver.html#ServerFlags
+"QWSServer::WindowEvent" qwsserver.html#WindowEvent
+"QWSServer::clientWindows" qwsserver.html#clientWindows
+"QWSServer::closeKeyboard" qwsserver.html#closeKeyboard
+"QWSServer::closeMouse" qwsserver.html#closeMouse
+"QWSServer::enablePainting" qwsserver.html#enablePainting
+"QWSServer::isCursorVisible" qwsserver.html#isCursorVisible
+"QWSServer::keyMap" qwsserver.html#keyMap
+"QWSServer::keyboardHandler" qwsserver.html#keyboardHandler
+"QWSServer::manager" qwsserver.html#manager
+"QWSServer::mouseHandler" qwsserver.html#mouseHandler
+"QWSServer::newChannel" qwsserver.html#newChannel
+"QWSServer::openKeyboard" qwsserver.html#openKeyboard
+"QWSServer::openMouse" qwsserver.html#openMouse
+"QWSServer::refresh" qwsserver.html#refresh
+"QWSServer::removedChannel" qwsserver.html#removedChannel
+"QWSServer::screenSaverActivate" qwsserver.html#screenSaverActivate
+"QWSServer::screenSaverActive" qwsserver.html#screenSaverActive
+"QWSServer::sendIMEvent" qwsserver.html#sendIMEvent
+"QWSServer::sendKeyEvent" qwsserver.html#sendKeyEvent
+"QWSServer::setCursorVisible" qwsserver.html#setCursorVisible
+"QWSServer::setDefaultKeyboard" qwsserver.html#setDefaultKeyboard
+"QWSServer::setDefaultMouse" qwsserver.html#setDefaultMouse
+"QWSServer::setDesktopBackground" qwsserver.html#setDesktopBackground
+"QWSServer::setKeyboardFilter" qwsserver.html#setKeyboardFilter
+"QWSServer::setKeyboardHandler" qwsserver.html#setKeyboardHandler
+"QWSServer::setMaxWindowRect" qwsserver.html#setMaxWindowRect
+"QWSServer::setScreenSaverInterval" qwsserver.html#setScreenSaverInterval
+"QWSServer::setScreenSaverIntervals" qwsserver.html#setScreenSaverIntervals
+"QWSServer::setWindowRegion" qwsserver.html#setWindowRegion
+"QWSServer::windowAt" qwsserver.html#windowAt
+"QWSServer::windowEvent" qwsserver.html#windowEvent
+"QWSServer::~QWSServer" qwsserver.html#~QWSServer
+"QWSWindow" qwswindow.html
+"QWSWindow::allocation" qwswindow.html#allocation
+"QWSWindow::caption" qwswindow.html#caption
+"QWSWindow::client" qwswindow.html#client
+"QWSWindow::hide" qwswindow.html#hide
+"QWSWindow::isFullyObscured" qwswindow.html#isFullyObscured
+"QWSWindow::isPartiallyObscured" qwswindow.html#isPartiallyObscured
+"QWSWindow::isVisible" qwswindow.html#isVisible
+"QWSWindow::lower" qwswindow.html#lower
+"QWSWindow::name" qwswindow.html#name
+"QWSWindow::raise" qwswindow.html#raise
+"QWSWindow::requested" qwswindow.html#requested
+"QWSWindow::setActiveWindow" qwswindow.html#setActiveWindow
+"QWSWindow::show" qwswindow.html#show
+"QWSWindow::winId" qwswindow.html#winId
+"QWSWindow::~QWSWindow" qwswindow.html#~QWSWindow
+"QWaitCondition" qwaitcondition.html
+"QWaitCondition::wait" qwaitcondition.html#wait
+"QWaitCondition::wakeAll" qwaitcondition.html#wakeAll
+"QWaitCondition::wakeOne" qwaitcondition.html#wakeOne
+"QWaitCondition::~QWaitCondition" qwaitcondition.html#~QWaitCondition
+"QWhatsThis" qwhatsthis.html
+"QWhatsThis::add" qwhatsthis.html#add
+"QWhatsThis::clicked" qwhatsthis.html#clicked
+"QWhatsThis::display" qwhatsthis.html#display
+"QWhatsThis::enterWhatsThisMode" qwhatsthis.html#enterWhatsThisMode
+"QWhatsThis::inWhatsThisMode" qwhatsthis.html#inWhatsThisMode
+"QWhatsThis::leaveWhatsThisMode" qwhatsthis.html#leaveWhatsThisMode
+"QWhatsThis::remove" qwhatsthis.html#remove
+"QWhatsThis::setFont" qwhatsthis.html#setFont
+"QWhatsThis::text" qwhatsthis.html#text
+"QWhatsThis::textFor" qwhatsthis.html#textFor
+"QWhatsThis::whatsThisButton" qwhatsthis.html#whatsThisButton
+"QWhatsThis::~QWhatsThis" qwhatsthis.html#~QWhatsThis
+"QWheelEvent" qwheelevent.html
+"QWheelEvent::accept" qwheelevent.html#accept
+"QWheelEvent::delta" qwheelevent.html#delta
+"QWheelEvent::globalPos" qwheelevent.html#globalPos
+"QWheelEvent::globalX" qwheelevent.html#globalX
+"QWheelEvent::globalY" qwheelevent.html#globalY
+"QWheelEvent::ignore" qwheelevent.html#ignore
+"QWheelEvent::isAccepted" qwheelevent.html#isAccepted
+"QWheelEvent::orientation" qwheelevent.html#orientation
+"QWheelEvent::pos" qwheelevent.html#pos
+"QWheelEvent::state" qwheelevent.html#state
+"QWheelEvent::x" qwheelevent.html#x
+"QWheelEvent::y" qwheelevent.html#y
+"QWidget" qwidget.html
+"QWidget::BackgroundOrigin" qwidget.html#BackgroundOrigin
+"QWidget::FocusPolicy" qwidget.html#FocusPolicy
+"QWidget::acceptDrops" qwidget.html#acceptDrops
+"QWidget::acceptDrops" qwidget.html#acceptDrops-prop
+"QWidget::adjustSize" qwidget.html#adjustSize
+"QWidget::autoMask" qwidget.html#autoMask
+"QWidget::autoMask" qwidget.html#autoMask-prop
+"QWidget::backgroundBrush" qwidget.html#backgroundBrush
+"QWidget::backgroundBrush" qwidget.html#backgroundBrush-prop
+"QWidget::backgroundMode" qwidget.html#backgroundMode
+"QWidget::backgroundMode" qwidget.html#backgroundMode-prop
+"QWidget::backgroundOrigin" qwidget.html#backgroundOrigin
+"QWidget::backgroundOrigin" qwidget.html#backgroundOrigin-prop
+"QWidget::baseSize" qwidget.html#baseSize
+"QWidget::baseSize" qwidget.html#baseSize-prop
+"QWidget::caption" qwidget.html#caption
+"QWidget::caption" qwidget.html#caption-prop
+"QWidget::childAt" qwidget.html#childAt
+"QWidget::childrenRect" qwidget.html#childrenRect
+"QWidget::childrenRect" qwidget.html#childrenRect-prop
+"QWidget::childrenRegion" qwidget.html#childrenRegion
+"QWidget::childrenRegion" qwidget.html#childrenRegion-prop
+"QWidget::clearFocus" qwidget.html#clearFocus
+"QWidget::clearMask" qwidget.html#clearMask
+"QWidget::clearWFlags" qwidget.html#clearWFlags
+"QWidget::clipRegion" qwidget.html#clipRegion
+"QWidget::close" qwidget.html#close
+"QWidget::closeEvent" qwidget.html#closeEvent
+"QWidget::colorGroup" qwidget.html#colorGroup
+"QWidget::colorGroup" qwidget.html#colorGroup-prop
+"QWidget::constPolish" qwidget.html#constPolish
+"QWidget::contextMenuEvent" qwidget.html#contextMenuEvent
+"QWidget::create" qwidget.html#create
+"QWidget::cursor" qwidget.html#cursor
+"QWidget::cursor" qwidget.html#cursor-prop
+"QWidget::customWhatsThis" qwidget.html#customWhatsThis
+"QWidget::customWhatsThis" qwidget.html#customWhatsThis-prop
+"QWidget::destroy" qwidget.html#destroy
+"QWidget::dragEnterEvent" qwidget.html#dragEnterEvent
+"QWidget::dragLeaveEvent" qwidget.html#dragLeaveEvent
+"QWidget::dragMoveEvent" qwidget.html#dragMoveEvent
+"QWidget::drawText" qwidget.html#drawText
+"QWidget::dropEvent" qwidget.html#dropEvent
+"QWidget::enabled" qwidget.html#enabled-prop
+"QWidget::enabledChange" qwidget.html#enabledChange
+"QWidget::enterEvent" qwidget.html#enterEvent
+"QWidget::erase" qwidget.html#erase
+"QWidget::eraseColor" qwidget.html#eraseColor
+"QWidget::erasePixmap" qwidget.html#erasePixmap
+"QWidget::event" qwidget.html#event
+"QWidget::find" qwidget.html#find
+"QWidget::focus" qwidget.html#focus-prop
+"QWidget::focusData" qwidget.html#focusData
+"QWidget::focusEnabled" qwidget.html#focusEnabled-prop
+"QWidget::focusInEvent" qwidget.html#focusInEvent
+"QWidget::focusNextPrevChild" qwidget.html#focusNextPrevChild
+"QWidget::focusOutEvent" qwidget.html#focusOutEvent
+"QWidget::focusPolicy" qwidget.html#focusPolicy
+"QWidget::focusPolicy" qwidget.html#focusPolicy-prop
+"QWidget::focusProxy" qwidget.html#focusProxy
+"QWidget::focusWidget" qwidget.html#focusWidget
+"QWidget::font" qwidget.html#font
+"QWidget::font" qwidget.html#font-prop
+"QWidget::fontChange" qwidget.html#fontChange
+"QWidget::fontInfo" qwidget.html#fontInfo
+"QWidget::fontMetrics" qwidget.html#fontMetrics
+"QWidget::foregroundColor" qwidget.html#foregroundColor
+"QWidget::frameGeometry" qwidget.html#frameGeometry
+"QWidget::frameGeometry" qwidget.html#frameGeometry-prop
+"QWidget::frameSize" qwidget.html#frameSize
+"QWidget::frameSize" qwidget.html#frameSize-prop
+"QWidget::fullScreen" qwidget.html#fullScreen-prop
+"QWidget::geometry" qwidget.html#geometry
+"QWidget::geometry" qwidget.html#geometry-prop
+"QWidget::getWFlags" qwidget.html#getWFlags
+"QWidget::grabKeyboard" qwidget.html#grabKeyboard
+"QWidget::grabMouse" qwidget.html#grabMouse
+"QWidget::hasFocus" qwidget.html#hasFocus
+"QWidget::hasMouse" qwidget.html#hasMouse
+"QWidget::hasMouseTracking" qwidget.html#hasMouseTracking
+"QWidget::height" qwidget.html#height
+"QWidget::height" qwidget.html#height-prop
+"QWidget::heightForWidth" qwidget.html#heightForWidth
+"QWidget::hidden" qwidget.html#hidden-prop
+"QWidget::hide" qwidget.html#hide
+"QWidget::hideEvent" qwidget.html#hideEvent
+"QWidget::icon" qwidget.html#icon
+"QWidget::icon" qwidget.html#icon-prop
+"QWidget::iconText" qwidget.html#iconText
+"QWidget::iconText" qwidget.html#iconText-prop
+"QWidget::imComposeEvent" qwidget.html#imComposeEvent
+"QWidget::imEndEvent" qwidget.html#imEndEvent
+"QWidget::imStartEvent" qwidget.html#imStartEvent
+"QWidget::inputMethodEnabled" qwidget.html#inputMethodEnabled-prop
+"QWidget::isActiveWindow" qwidget.html#isActiveWindow
+"QWidget::isActiveWindow" qwidget.html#isActiveWindow-prop
+"QWidget::isDesktop" qwidget.html#isDesktop
+"QWidget::isDesktop" qwidget.html#isDesktop-prop
+"QWidget::isDialog" qwidget.html#isDialog
+"QWidget::isDialog" qwidget.html#isDialog-prop
+"QWidget::isEnabled" qwidget.html#isEnabled
+"QWidget::isEnabledTo" qwidget.html#isEnabledTo
+"QWidget::isFocusEnabled" qwidget.html#isFocusEnabled
+"QWidget::isFullScreen" qwidget.html#isFullScreen
+"QWidget::isHidden" qwidget.html#isHidden
+"QWidget::isInputMethodEnabled" qwidget.html#isInputMethodEnabled
+"QWidget::isMaximized" qwidget.html#isMaximized
+"QWidget::isMinimized" qwidget.html#isMinimized
+"QWidget::isModal" qwidget.html#isModal
+"QWidget::isModal" qwidget.html#isModal-prop
+"QWidget::isPopup" qwidget.html#isPopup
+"QWidget::isPopup" qwidget.html#isPopup-prop
+"QWidget::isShown" qwidget.html#isShown
+"QWidget::isTopLevel" qwidget.html#isTopLevel
+"QWidget::isTopLevel" qwidget.html#isTopLevel-prop
+"QWidget::isUpdatesEnabled" qwidget.html#isUpdatesEnabled
+"QWidget::isVisible" qwidget.html#isVisible
+"QWidget::isVisibleTo" qwidget.html#isVisibleTo
+"QWidget::keyPressEvent" qwidget.html#keyPressEvent
+"QWidget::keyReleaseEvent" qwidget.html#keyReleaseEvent
+"QWidget::keyboardGrabber" qwidget.html#keyboardGrabber
+"QWidget::layout" qwidget.html#layout
+"QWidget::leaveEvent" qwidget.html#leaveEvent
+"QWidget::lower" qwidget.html#lower
+"QWidget::macEvent" qwidget.html#macEvent
+"QWidget::mapFrom" qwidget.html#mapFrom
+"QWidget::mapFromGlobal" qwidget.html#mapFromGlobal
+"QWidget::mapFromParent" qwidget.html#mapFromParent
+"QWidget::mapTo" qwidget.html#mapTo
+"QWidget::mapToGlobal" qwidget.html#mapToGlobal
+"QWidget::mapToParent" qwidget.html#mapToParent
+"QWidget::maximized" qwidget.html#maximized-prop
+"QWidget::maximumHeight" qwidget.html#maximumHeight
+"QWidget::maximumHeight" qwidget.html#maximumHeight-prop
+"QWidget::maximumSize" qwidget.html#maximumSize
+"QWidget::maximumSize" qwidget.html#maximumSize-prop
+"QWidget::maximumWidth" qwidget.html#maximumWidth
+"QWidget::maximumWidth" qwidget.html#maximumWidth-prop
+"QWidget::metric" qwidget.html#metric
+"QWidget::microFocusHint" qwidget.html#microFocusHint
+"QWidget::microFocusHint" qwidget.html#microFocusHint-prop
+"QWidget::minimized" qwidget.html#minimized-prop
+"QWidget::minimumHeight" qwidget.html#minimumHeight
+"QWidget::minimumHeight" qwidget.html#minimumHeight-prop
+"QWidget::minimumSize" qwidget.html#minimumSize
+"QWidget::minimumSize" qwidget.html#minimumSize-prop
+"QWidget::minimumSizeHint" qwidget.html#minimumSizeHint
+"QWidget::minimumSizeHint" qwidget.html#minimumSizeHint-prop
+"QWidget::minimumWidth" qwidget.html#minimumWidth
+"QWidget::minimumWidth" qwidget.html#minimumWidth-prop
+"QWidget::mouseDoubleClickEvent" qwidget.html#mouseDoubleClickEvent
+"QWidget::mouseGrabber" qwidget.html#mouseGrabber
+"QWidget::mouseMoveEvent" qwidget.html#mouseMoveEvent
+"QWidget::mousePressEvent" qwidget.html#mousePressEvent
+"QWidget::mouseReleaseEvent" qwidget.html#mouseReleaseEvent
+"QWidget::mouseTracking" qwidget.html#mouseTracking-prop
+"QWidget::move" qwidget.html#move
+"QWidget::moveEvent" qwidget.html#moveEvent
+"QWidget::ownCursor" qwidget.html#ownCursor
+"QWidget::ownCursor" qwidget.html#ownCursor-prop
+"QWidget::ownFont" qwidget.html#ownFont
+"QWidget::ownFont" qwidget.html#ownFont-prop
+"QWidget::ownPalette" qwidget.html#ownPalette
+"QWidget::ownPalette" qwidget.html#ownPalette-prop
+"QWidget::paintEvent" qwidget.html#paintEvent
+"QWidget::palette" qwidget.html#palette
+"QWidget::palette" qwidget.html#palette-prop
+"QWidget::paletteBackgroundColor" qwidget.html#paletteBackgroundColor
+"QWidget::paletteBackgroundColor" qwidget.html#paletteBackgroundColor-prop
+"QWidget::paletteBackgroundPixmap" qwidget.html#paletteBackgroundPixmap
+"QWidget::paletteBackgroundPixmap" qwidget.html#paletteBackgroundPixmap-prop
+"QWidget::paletteChange" qwidget.html#paletteChange
+"QWidget::paletteForegroundColor" qwidget.html#paletteForegroundColor
+"QWidget::paletteForegroundColor" qwidget.html#paletteForegroundColor-prop
+"QWidget::parentWidget" qwidget.html#parentWidget
+"QWidget::polish" qwidget.html#polish
+"QWidget::pos" qwidget.html#pos
+"QWidget::pos" qwidget.html#pos-prop
+"QWidget::qwsEvent" qwidget.html#qwsEvent
+"QWidget::raise" qwidget.html#raise
+"QWidget::rect" qwidget.html#rect
+"QWidget::rect" qwidget.html#rect-prop
+"QWidget::releaseKeyboard" qwidget.html#releaseKeyboard
+"QWidget::releaseMouse" qwidget.html#releaseMouse
+"QWidget::repaint" qwidget.html#repaint
+"QWidget::reparent" qwidget.html#reparent
+"QWidget::resetInputContext" qwidget.html#resetInputContext
+"QWidget::resize" qwidget.html#resize
+"QWidget::resizeEvent" qwidget.html#resizeEvent
+"QWidget::scroll" qwidget.html#scroll
+"QWidget::setAcceptDrops" qwidget.html#setAcceptDrops
+"QWidget::setActiveWindow" qwidget.html#setActiveWindow
+"QWidget::setAutoMask" qwidget.html#setAutoMask
+"QWidget::setBackgroundEmpty" qwidget.html#setBackgroundEmpty
+"QWidget::setBackgroundMode" qwidget.html#setBackgroundMode
+"QWidget::setBackgroundOrigin" qwidget.html#setBackgroundOrigin
+"QWidget::setBaseSize" qwidget.html#setBaseSize
+"QWidget::setCaption" qwidget.html#setCaption
+"QWidget::setCursor" qwidget.html#setCursor
+"QWidget::setDisabled" qwidget.html#setDisabled
+"QWidget::setEnabled" qwidget.html#setEnabled
+"QWidget::setEraseColor" qwidget.html#setEraseColor
+"QWidget::setErasePixmap" qwidget.html#setErasePixmap
+"QWidget::setFixedHeight" qwidget.html#setFixedHeight
+"QWidget::setFixedSize" qwidget.html#setFixedSize
+"QWidget::setFixedWidth" qwidget.html#setFixedWidth
+"QWidget::setFocus" qwidget.html#setFocus
+"QWidget::setFocusPolicy" qwidget.html#setFocusPolicy
+"QWidget::setFocusProxy" qwidget.html#setFocusProxy
+"QWidget::setFont" qwidget.html#setFont
+"QWidget::setGeometry" qwidget.html#setGeometry
+"QWidget::setHidden" qwidget.html#setHidden
+"QWidget::setIcon" qwidget.html#setIcon
+"QWidget::setIconText" qwidget.html#setIconText
+"QWidget::setInputMethodEnabled" qwidget.html#setInputMethodEnabled
+"QWidget::setKeyCompression" qwidget.html#setKeyCompression
+"QWidget::setMask" qwidget.html#setMask
+"QWidget::setMaximumHeight" qwidget.html#setMaximumHeight
+"QWidget::setMaximumSize" qwidget.html#setMaximumSize
+"QWidget::setMaximumWidth" qwidget.html#setMaximumWidth
+"QWidget::setMicroFocusHint" qwidget.html#setMicroFocusHint
+"QWidget::setMinimumHeight" qwidget.html#setMinimumHeight
+"QWidget::setMinimumSize" qwidget.html#setMinimumSize
+"QWidget::setMinimumWidth" qwidget.html#setMinimumWidth
+"QWidget::setMouseTracking" qwidget.html#setMouseTracking
+"QWidget::setPalette" qwidget.html#setPalette
+"QWidget::setPaletteBackgroundColor" qwidget.html#setPaletteBackgroundColor
+"QWidget::setPaletteBackgroundPixmap" qwidget.html#setPaletteBackgroundPixmap
+"QWidget::setPaletteForegroundColor" qwidget.html#setPaletteForegroundColor
+"QWidget::setShown" qwidget.html#setShown
+"QWidget::setSizeIncrement" qwidget.html#setSizeIncrement
+"QWidget::setSizePolicy" qwidget.html#setSizePolicy
+"QWidget::setStyle" qwidget.html#setStyle
+"QWidget::setTabOrder" qwidget.html#setTabOrder
+"QWidget::setUpdatesEnabled" qwidget.html#setUpdatesEnabled
+"QWidget::setWFlags" qwidget.html#setWFlags
+"QWidget::setWindowOpacity" qwidget.html#setWindowOpacity
+"QWidget::setWindowState" qwidget.html#setWindowState
+"QWidget::show" qwidget.html#show
+"QWidget::showEvent" qwidget.html#showEvent
+"QWidget::showFullScreen" qwidget.html#showFullScreen
+"QWidget::showMaximized" qwidget.html#showMaximized
+"QWidget::showMinimized" qwidget.html#showMinimized
+"QWidget::showNormal" qwidget.html#showNormal
+"QWidget::shown" qwidget.html#shown-prop
+"QWidget::size" qwidget.html#size
+"QWidget::size" qwidget.html#size-prop
+"QWidget::sizeHint" qwidget.html#sizeHint
+"QWidget::sizeHint" qwidget.html#sizeHint-prop
+"QWidget::sizeIncrement" qwidget.html#sizeIncrement
+"QWidget::sizeIncrement" qwidget.html#sizeIncrement-prop
+"QWidget::sizePolicy" qwidget.html#sizePolicy
+"QWidget::sizePolicy" qwidget.html#sizePolicy-prop
+"QWidget::stackUnder" qwidget.html#stackUnder
+"QWidget::style" qwidget.html#style
+"QWidget::styleChange" qwidget.html#styleChange
+"QWidget::tabletEvent" qwidget.html#tabletEvent
+"QWidget::testWFlags" qwidget.html#testWFlags
+"QWidget::topLevelWidget" qwidget.html#topLevelWidget
+"QWidget::underMouse" qwidget.html#underMouse-prop
+"QWidget::unsetCursor" qwidget.html#unsetCursor
+"QWidget::unsetFont" qwidget.html#unsetFont
+"QWidget::unsetPalette" qwidget.html#unsetPalette
+"QWidget::update" qwidget.html#update
+"QWidget::updateGeometry" qwidget.html#updateGeometry
+"QWidget::updateMask" qwidget.html#updateMask
+"QWidget::updatesEnabled" qwidget.html#updatesEnabled-prop
+"QWidget::visible" qwidget.html#visible-prop
+"QWidget::wheelEvent" qwidget.html#wheelEvent
+"QWidget::width" qwidget.html#width
+"QWidget::width" qwidget.html#width-prop
+"QWidget::winEvent" qwidget.html#winEvent
+"QWidget::winId" qwidget.html#winId
+"QWidget::windowActivationChange" qwidget.html#windowActivationChange
+"QWidget::windowOpacity" qwidget.html#windowOpacity
+"QWidget::windowOpacity" qwidget.html#windowOpacity-prop
+"QWidget::windowState" qwidget.html#windowState
+"QWidget::x" qwidget.html#x
+"QWidget::x" qwidget.html#x-prop
+"QWidget::x11Event" qwidget.html#x11Event
+"QWidget::y" qwidget.html#y
+"QWidget::y" qwidget.html#y-prop
+"QWidget::~QWidget" qwidget.html#~QWidget
+"QWidgetFactory" qwidgetfactory.html
+"QWidgetFactory::addWidgetFactory" qwidgetfactory.html#addWidgetFactory
+"QWidgetFactory::create" qwidgetfactory.html#create
+"QWidgetFactory::createWidget" qwidgetfactory.html#createWidget
+"QWidgetFactory::loadImages" qwidgetfactory.html#loadImages
+"QWidgetFactory::supportsWidget" qwidgetfactory.html#supportsWidget
+"QWidgetFactory::widgets" qwidgetfactory.html#widgets
+"QWidgetFactory::~QWidgetFactory" qwidgetfactory.html#~QWidgetFactory
+"QWidgetItem" qwidgetitem.html
+"QWidgetItem::expanding" qwidgetitem.html#expanding
+"QWidgetItem::isEmpty" qwidgetitem.html#isEmpty
+"QWidgetItem::maximumSize" qwidgetitem.html#maximumSize
+"QWidgetItem::minimumSize" qwidgetitem.html#minimumSize
+"QWidgetItem::setGeometry" qwidgetitem.html#setGeometry
+"QWidgetItem::sizeHint" qwidgetitem.html#sizeHint
+"QWidgetItem::widget" qwidgetitem.html#widget
+"QWidgetPlugin" qwidgetplugin.html
+"QWidgetPlugin::create" qwidgetplugin.html#create
+"QWidgetPlugin::group" qwidgetplugin.html#group
+"QWidgetPlugin::iconSet" qwidgetplugin.html#iconSet
+"QWidgetPlugin::includeFile" qwidgetplugin.html#includeFile
+"QWidgetPlugin::isContainer" qwidgetplugin.html#isContainer
+"QWidgetPlugin::keys" qwidgetplugin.html#keys
+"QWidgetPlugin::toolTip" qwidgetplugin.html#toolTip
+"QWidgetPlugin::whatsThis" qwidgetplugin.html#whatsThis
+"QWidgetPlugin::~QWidgetPlugin" qwidgetplugin.html#~QWidgetPlugin
+"QWidgetStack" qwidgetstack.html
+"QWidgetStack::aboutToShow" qwidgetstack.html#aboutToShow
+"QWidgetStack::addWidget" qwidgetstack.html#addWidget
+"QWidgetStack::id" qwidgetstack.html#id
+"QWidgetStack::raiseWidget" qwidgetstack.html#raiseWidget
+"QWidgetStack::removeWidget" qwidgetstack.html#removeWidget
+"QWidgetStack::setChildGeometries" qwidgetstack.html#setChildGeometries
+"QWidgetStack::visibleWidget" qwidgetstack.html#visibleWidget
+"QWidgetStack::widget" qwidgetstack.html#widget
+"QWidgetStack::~QWidgetStack" qwidgetstack.html#~QWidgetStack
+"QWindowsMime" qwindowsmime.html
+"QWindowsMime::all" qwindowsmime.html#all
+"QWindowsMime::canConvert" qwindowsmime.html#canConvert
+"QWindowsMime::cf" qwindowsmime.html#cf
+"QWindowsMime::cfFor" qwindowsmime.html#cfFor
+"QWindowsMime::cfToMime" qwindowsmime.html#cfToMime
+"QWindowsMime::convertFromMime" qwindowsmime.html#convertFromMime
+"QWindowsMime::convertToMime" qwindowsmime.html#convertToMime
+"QWindowsMime::convertor" qwindowsmime.html#convertor
+"QWindowsMime::convertorName" qwindowsmime.html#convertorName
+"QWindowsMime::countCf" qwindowsmime.html#countCf
+"QWindowsMime::initialize" qwindowsmime.html#initialize
+"QWindowsMime::mimeFor" qwindowsmime.html#mimeFor
+"QWindowsMime::~QWindowsMime" qwindowsmime.html#~QWindowsMime
+"QWindowsStyle" qwindowsstyle.html
+"QWizard" qwizard.html
+"QWizard::addPage" qwizard.html#addPage
+"QWizard::appropriate" qwizard.html#appropriate
+"QWizard::back" qwizard.html#back
+"QWizard::backButton" qwizard.html#backButton
+"QWizard::cancelButton" qwizard.html#cancelButton
+"QWizard::currentPage" qwizard.html#currentPage
+"QWizard::finishButton" qwizard.html#finishButton
+"QWizard::help" qwizard.html#help
+"QWizard::helpButton" qwizard.html#helpButton
+"QWizard::helpClicked" qwizard.html#helpClicked
+"QWizard::indexOf" qwizard.html#indexOf
+"QWizard::insertPage" qwizard.html#insertPage
+"QWizard::layOutButtonRow" qwizard.html#layOutButtonRow
+"QWizard::layOutTitleRow" qwizard.html#layOutTitleRow
+"QWizard::next" qwizard.html#next
+"QWizard::nextButton" qwizard.html#nextButton
+"QWizard::page" qwizard.html#page
+"QWizard::pageCount" qwizard.html#pageCount
+"QWizard::removePage" qwizard.html#removePage
+"QWizard::selected" qwizard.html#selected
+"QWizard::setAppropriate" qwizard.html#setAppropriate
+"QWizard::setBackEnabled" qwizard.html#setBackEnabled
+"QWizard::setFinishEnabled" qwizard.html#setFinishEnabled
+"QWizard::setHelpEnabled" qwizard.html#setHelpEnabled
+"QWizard::setNextEnabled" qwizard.html#setNextEnabled
+"QWizard::setTitle" qwizard.html#setTitle
+"QWizard::setTitleFont" qwizard.html#setTitleFont
+"QWizard::showPage" qwizard.html#showPage
+"QWizard::title" qwizard.html#title
+"QWizard::titleFont" qwizard.html#titleFont
+"QWizard::titleFont" qwizard.html#titleFont-prop
+"QWizard::~QWizard" qwizard.html#~QWizard
+"QWorkspace" qworkspace.html
+"QWorkspace::WindowOrder" qworkspace.html#WindowOrder
+"QWorkspace::activateNextWindow" qworkspace.html#activateNextWindow
+"QWorkspace::activatePrevWindow" qworkspace.html#activatePrevWindow
+"QWorkspace::activeWindow" qworkspace.html#activeWindow
+"QWorkspace::cascade" qworkspace.html#cascade
+"QWorkspace::closeActiveWindow" qworkspace.html#closeActiveWindow
+"QWorkspace::closeAllWindows" qworkspace.html#closeAllWindows
+"QWorkspace::scrollBarsEnabled" qworkspace.html#scrollBarsEnabled
+"QWorkspace::scrollBarsEnabled" qworkspace.html#scrollBarsEnabled-prop
+"QWorkspace::setScrollBarsEnabled" qworkspace.html#setScrollBarsEnabled
+"QWorkspace::tile" qworkspace.html#tile
+"QWorkspace::windowActivated" qworkspace.html#windowActivated
+"QWorkspace::windowList" qworkspace.html#windowList
+"QWorkspace::~QWorkspace" qworkspace.html#~QWorkspace
+"QXmlAttributes" qxmlattributes.html
+"QXmlAttributes::append" qxmlattributes.html#append
+"QXmlAttributes::clear" qxmlattributes.html#clear
+"QXmlAttributes::count" qxmlattributes.html#count
+"QXmlAttributes::index" qxmlattributes.html#index
+"QXmlAttributes::length" qxmlattributes.html#length
+"QXmlAttributes::localName" qxmlattributes.html#localName
+"QXmlAttributes::qName" qxmlattributes.html#qName
+"QXmlAttributes::type" qxmlattributes.html#type
+"QXmlAttributes::uri" qxmlattributes.html#uri
+"QXmlAttributes::value" qxmlattributes.html#value
+"QXmlAttributes::~QXmlAttributes" qxmlattributes.html#~QXmlAttributes
+"QXmlContentHandler" qxmlcontenthandler.html
+"QXmlContentHandler::characters" qxmlcontenthandler.html#characters
+"QXmlContentHandler::endDocument" qxmlcontenthandler.html#endDocument
+"QXmlContentHandler::endElement" qxmlcontenthandler.html#endElement
+"QXmlContentHandler::endPrefixMapping" qxmlcontenthandler.html#endPrefixMapping
+"QXmlContentHandler::errorString" qxmlcontenthandler.html#errorString
+"QXmlContentHandler::ignorableWhitespace" qxmlcontenthandler.html#ignorableWhitespace
+"QXmlContentHandler::processingInstruction" qxmlcontenthandler.html#processingInstruction
+"QXmlContentHandler::setDocumentLocator" qxmlcontenthandler.html#setDocumentLocator
+"QXmlContentHandler::skippedEntity" qxmlcontenthandler.html#skippedEntity
+"QXmlContentHandler::startDocument" qxmlcontenthandler.html#startDocument
+"QXmlContentHandler::startElement" qxmlcontenthandler.html#startElement
+"QXmlContentHandler::startPrefixMapping" qxmlcontenthandler.html#startPrefixMapping
+"QXmlDTDHandler" qxmldtdhandler.html
+"QXmlDTDHandler::errorString" qxmldtdhandler.html#errorString
+"QXmlDTDHandler::notationDecl" qxmldtdhandler.html#notationDecl
+"QXmlDTDHandler::unparsedEntityDecl" qxmldtdhandler.html#unparsedEntityDecl
+"QXmlDeclHandler" qxmldeclhandler.html
+"QXmlDeclHandler::attributeDecl" qxmldeclhandler.html#attributeDecl
+"QXmlDeclHandler::errorString" qxmldeclhandler.html#errorString
+"QXmlDeclHandler::externalEntityDecl" qxmldeclhandler.html#externalEntityDecl
+"QXmlDeclHandler::internalEntityDecl" qxmldeclhandler.html#internalEntityDecl
+"QXmlDefaultHandler" qxmldefaulthandler.html
+"QXmlDefaultHandler::~QXmlDefaultHandler" qxmldefaulthandler.html#~QXmlDefaultHandler
+"QXmlEntityResolver" qxmlentityresolver.html
+"QXmlEntityResolver::errorString" qxmlentityresolver.html#errorString
+"QXmlEntityResolver::resolveEntity" qxmlentityresolver.html#resolveEntity
+"QXmlErrorHandler" qxmlerrorhandler.html
+"QXmlErrorHandler::error" qxmlerrorhandler.html#error
+"QXmlErrorHandler::errorString" qxmlerrorhandler.html#errorString
+"QXmlErrorHandler::fatalError" qxmlerrorhandler.html#fatalError
+"QXmlErrorHandler::warning" qxmlerrorhandler.html#warning
+"QXmlInputSource" qxmlinputsource.html
+"QXmlInputSource::data" qxmlinputsource.html#data
+"QXmlInputSource::fetchData" qxmlinputsource.html#fetchData
+"QXmlInputSource::fromRawData" qxmlinputsource.html#fromRawData
+"QXmlInputSource::next" qxmlinputsource.html#next
+"QXmlInputSource::reset" qxmlinputsource.html#reset
+"QXmlInputSource::setData" qxmlinputsource.html#setData
+"QXmlInputSource::~QXmlInputSource" qxmlinputsource.html#~QXmlInputSource
+"QXmlLexicalHandler" qxmllexicalhandler.html
+"QXmlLexicalHandler::comment" qxmllexicalhandler.html#comment
+"QXmlLexicalHandler::endCDATA" qxmllexicalhandler.html#endCDATA
+"QXmlLexicalHandler::endDTD" qxmllexicalhandler.html#endDTD
+"QXmlLexicalHandler::endEntity" qxmllexicalhandler.html#endEntity
+"QXmlLexicalHandler::errorString" qxmllexicalhandler.html#errorString
+"QXmlLexicalHandler::startCDATA" qxmllexicalhandler.html#startCDATA
+"QXmlLexicalHandler::startDTD" qxmllexicalhandler.html#startDTD
+"QXmlLexicalHandler::startEntity" qxmllexicalhandler.html#startEntity
+"QXmlLocator" qxmllocator.html
+"QXmlLocator::columnNumber" qxmllocator.html#columnNumber
+"QXmlLocator::lineNumber" qxmllocator.html#lineNumber
+"QXmlLocator::~QXmlLocator" qxmllocator.html#~QXmlLocator
+"QXmlNamespaceSupport" qxmlnamespacesupport.html
+"QXmlNamespaceSupport::popContext" qxmlnamespacesupport.html#popContext
+"QXmlNamespaceSupport::prefix" qxmlnamespacesupport.html#prefix
+"QXmlNamespaceSupport::prefixes" qxmlnamespacesupport.html#prefixes
+"QXmlNamespaceSupport::processName" qxmlnamespacesupport.html#processName
+"QXmlNamespaceSupport::pushContext" qxmlnamespacesupport.html#pushContext
+"QXmlNamespaceSupport::reset" qxmlnamespacesupport.html#reset
+"QXmlNamespaceSupport::setPrefix" qxmlnamespacesupport.html#setPrefix
+"QXmlNamespaceSupport::splitName" qxmlnamespacesupport.html#splitName
+"QXmlNamespaceSupport::uri" qxmlnamespacesupport.html#uri
+"QXmlNamespaceSupport::~QXmlNamespaceSupport" qxmlnamespacesupport.html#~QXmlNamespaceSupport
+"QXmlParseException" qxmlparseexception.html
+"QXmlParseException::columnNumber" qxmlparseexception.html#columnNumber
+"QXmlParseException::lineNumber" qxmlparseexception.html#lineNumber
+"QXmlParseException::message" qxmlparseexception.html#message
+"QXmlParseException::publicId" qxmlparseexception.html#publicId
+"QXmlParseException::systemId" qxmlparseexception.html#systemId
+"QXmlReader" qxmlreader.html
+"QXmlReader::DTDHandler" qxmlreader.html#DTDHandler
+"QXmlReader::contentHandler" qxmlreader.html#contentHandler
+"QXmlReader::declHandler" qxmlreader.html#declHandler
+"QXmlReader::entityResolver" qxmlreader.html#entityResolver
+"QXmlReader::errorHandler" qxmlreader.html#errorHandler
+"QXmlReader::feature" qxmlreader.html#feature
+"QXmlReader::hasFeature" qxmlreader.html#hasFeature
+"QXmlReader::hasProperty" qxmlreader.html#hasProperty
+"QXmlReader::lexicalHandler" qxmlreader.html#lexicalHandler
+"QXmlReader::parse" qxmlreader.html#parse
+"QXmlReader::property" qxmlreader.html#property
+"QXmlReader::setContentHandler" qxmlreader.html#setContentHandler
+"QXmlReader::setDTDHandler" qxmlreader.html#setDTDHandler
+"QXmlReader::setDeclHandler" qxmlreader.html#setDeclHandler
+"QXmlReader::setEntityResolver" qxmlreader.html#setEntityResolver
+"QXmlReader::setErrorHandler" qxmlreader.html#setErrorHandler
+"QXmlReader::setFeature" qxmlreader.html#setFeature
+"QXmlReader::setLexicalHandler" qxmlreader.html#setLexicalHandler
+"QXmlReader::setProperty" qxmlreader.html#setProperty
+"QXmlSimpleReader" qxmlsimplereader.html
+"QXmlSimpleReader::parse" qxmlsimplereader.html#parse
+"QXmlSimpleReader::parseContinue" qxmlsimplereader.html#parseContinue
+"QXmlSimpleReader::setFeature" qxmlsimplereader.html#setFeature
+"QXmlSimpleReader::~QXmlSimpleReader" qxmlsimplereader.html#~QXmlSimpleReader
+"QXtWidget::isActiveWindow" qxtwidget.html#isActiveWindow
+"QXtWidget::setActiveWindow" qxtwidget.html#setActiveWindow
+"QXtWidget::x11Event" qxtwidget.html#x11Event
+"QXtWidget::xtWidget" qxtwidget.html#xtWidget
+"QXtWidget::~QXtWidget" qxtwidget.html#~QXtWidget
+"Q_ASSERT" qapplication.html#Q_ASSERT
+"Q_CHECK_PTR" qapplication.html#Q_CHECK_PTR
+"Qt" qt.html
+"Qt Commercial Editions" commercialeditions.html
+"Qt Demo" demo-example.html
+"Qt Distribution Example" distributor-example.html
+"Qt Editions" editions.html
+"Qt Motif Extension" motif-extension.html
+"Qt Motif Extension - A Migration Walkthrough" motif-walkthrough.html
+"Qt Netscape Plugin Extension" netscape-plugin.html
+"Qt Object Model" object.html
+"Qt Open Source Edition" opensourceedition.html
+"Qt Open Source Edition License Agreement" license.html
+"Qt OpenGL 3D Graphics" opengl.html
+"Qt Plugins HOWTO" plugins-howto.html
+"Qt Reference Documentation (Open Source Edition)" index.html
+"Qt Template Library" qt-template-lib.html
+"Qt Tutorial #1 - The 14 Steps" tutorial.html
+"Qt Tutorial - Chapter 10: Smooth as Silk" tutorial1-10.html
+"Qt Tutorial - Chapter 11: Giving It a Shot" tutorial1-11.html
+"Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't" tutorial1-12.html
+"Qt Tutorial - Chapter 13: Game Over" tutorial1-13.html
+"Qt Tutorial - Chapter 14: Facing the Wall" tutorial1-14.html
+"Qt Tutorial - Chapter 1: Hello, World!" tutorial1-01.html
+"Qt Tutorial - Chapter 2: Calling it Quits" tutorial1-02.html
+"Qt Tutorial - Chapter 3: Family Values" tutorial1-03.html
+"Qt Tutorial - Chapter 4: Let There Be Widgets" tutorial1-04.html
+"Qt Tutorial - Chapter 5: Building Blocks" tutorial1-05.html
+"Qt Tutorial - Chapter 6: Building Blocks Galore!" tutorial1-06.html
+"Qt Tutorial - Chapter 7: One Thing Leads to Another" tutorial1-07.html
+"Qt Tutorial - Chapter 8: Preparing for Battle" tutorial1-08.html
+"Qt Tutorial - Chapter 9: With Cannon You Can" tutorial1-09.html
+"Qt Widget Hierarchy" qaxserver-demo-hierarchy.html
+"Qt Widget Hierarchy (in-process)" qaxserver-example-hierarchy.html
+"Qt' OpenGL widgets as an ActiveX (executable)" qaxserver-example-opengl.html
+"Qt's Classes" classes.html
+"Qt's Main Classes" mainclasses.html
+"Qt's Tools" tools-list.html
+"Qt/Embedded Performance Tuning" emb-performance.html
+"Qt/Embedded Pointer Handling" emb-pointer.html
+"Qt/Embedded Virtual Framebuffer" emb-qvfb.html
+"Qt/Embedded as a VNC Server" emb-vnc.html
+"Qt/Embedded environment variables" emb-envvars.html
+"Qt/Mac Issues" mac-differences.html
+"Qt/Mac is Mac OS X Native" qtmac-as-native.html
+"Qt::AlignmentFlags" qt.html#AlignmentFlags
+"Qt::AnchorAttribute" qt.html#AnchorAttribute
+"Qt::ArrowType" qt.html#ArrowType
+"Qt::BGMode" qt.html#BGMode
+"Qt::BackgroundMode" qt.html#BackgroundMode
+"Qt::BrushStyle" qt.html#BrushStyle
+"Qt::ButtonState" qt.html#ButtonState
+"Qt::Corner" qt.html#Corner
+"Qt::CursorShape" qt.html#CursorShape
+"Qt::DateFormat" qt.html#DateFormat
+"Qt::Dock" qt.html#Dock
+"Qt::ImageConversionFlags" qt.html#ImageConversionFlags
+"Qt::Key" qt.html#Key
+"Qt::MacintoshVersion" qt.html#MacintoshVersion
+"Qt::Modifier" qt.html#Modifier
+"Qt::Orientation" qt.html#Orientation
+"Qt::PaintUnit" qt.html#PaintUnit
+"Qt::PenCapStyle" qt.html#PenCapStyle
+"Qt::PenJoinStyle" qt.html#PenJoinStyle
+"Qt::PenStyle" qt.html#PenStyle
+"Qt::RasterOp" qt.html#RasterOp
+"Qt::SequenceMatch" qt.html#SequenceMatch
+"Qt::SortOrder" qt.html#SortOrder
+"Qt::StringComparisonMode" qt.html#StringComparisonMode
+"Qt::TextFlags" qt.html#TextFlags
+"Qt::TextFormat" qt.html#TextFormat
+"Qt::TimeSpec" qt.html#TimeSpec
+"Qt::UIEffect" qt.html#UIEffect
+"Qt::WidgetFlags" qt.html#WidgetFlags
+"Qt::WidgetState" qt.html#WidgetState
+"Qt::WindowState" qt.html#WindowState
+"Qt::WindowsVersion" qt.html#WindowsVersion
+"Range controls" rangecontrols-example.html
+"Refactoring Existing Code" motif-walkthrough-7.html
+"Replacing the Print Dialog" motif-walkthrough-9.html
+"Replacing the View Widget" motif-walkthrough-8.html
+"Richtext" richtext-example.html
+"Rot13" rot-example.html
+"Running Qt/Embedded applications" emb-running.html
+"SQL Module" sql.html
+"SQL Module - Drivers" sql-driver.html
+"SQL Table" sqltable-example.html
+"Scrollview" scrollview-example.html
+"Session Management" session.html
+"Setting Options" tutorial2-09.html
+"Setting the Application Icon" appicon.html
+"Shared Classes" shclass.html
+"Show Image" showimg-example.html
+"Signals and Slots" signalsandslots.html
+"Simple Addressbook" addressbook-example.html
+"Simple Filemanager" fileiconview-example.html
+"Simple HTML Help Browser" helpviewer-example.html
+"Simple Painting Application" scribble-example.html
+"Simple editor that can load encodings" qwerty-example.html
+"Small Table Example" small-table-example-example.html
+"Sound Example" sound-example.html
+"Splitter" splitter-example.html
+"Standard Accelerator Keys" accelerators.html
+"Standard Qt widgets as ActiveX controls (in-process)" qaxserver-example-wrapper.html
+"Standard Qt widgets in an HTML page" qaxserver-demo-wrapper.html
+"Starting processes with IO redirection" process-example.html
+"Style overview" customstyles.html
+"Tabdialog" tabdialog-example.html
+"Table Example" statistics-example.html
+"Table Module" table.html
+"Table of Prime Numbers 2-9999" primes.html
+"Tablet Example" tablet-example.html
+"Taking Data" tutorial2-08.html
+"Tetrix" tetrix-example.html
+"Text Edit Example" textedit-example.html
+"Thanks!" credits.html
+"The 'Big Picture'" tutorial2-02.html
+"The ActiveQt framework" activeqt.html
+"The Coordinate System" coordsys.html
+"The DumpDoc Tool" activeqt-tools-dumpdoc.html
+"The Feature Definition File" emb-features.html
+"The IDC Tool" activeqt-tools-idc.html
+"The Project File" tutorial2-10.html
+"The QAxContainer Module" qaxcontainer.html
+"The QAxServer Module" qaxserver.html
+"The Qt FAQ" faq.html
+"The Qt/Embedded-specific classes" emb-classes.html
+"Themes (Styles)" themes-example.html
+"Thread Support in Qt" threads.html
+"Tic Tac Toe" tictac-example.html
+"Timers" timers.html
+"Toplevel Widgets" toplevel-example.html
+"Trademarks" trademarks.html
+"Transformed Graphics Demo" xform-example.html
+"Trivial Example" trivial-nsplugin-example.html
+"Tutorial #2" tutorial2.html
+"Two simple Qt widgets" qaxserver-demo-multiple.html
+"Two simple Qt widgets (in-process)" qaxserver-example-multiple.html
+"User Interface Compiler (uic)" uic.html
+"Using Custom QDialogs" motif-walkthrough-4.html
+"Using Existing Dialogs with QMotifDialog" motif-walkthrough-5.html
+"Using Qt Main Window Classes" motif-walkthrough-6.html
+"Using Qt Standard Dialogs" motif-walkthrough-3.html
+"Using menus" menu-example.html
+"Using the Meta Object Compiler" moc.html
+"Using the Motif Event Loop" motif-customwidget-example.html
+"Walkthrough: A Simple Application" simple-application.html
+"Walkthrough: How to use the Qt SAX2 classes" xml-sax-walkthrough.html
+"Walkthrough: Using Qt objects in Microsoft .NET" activeqt-dotnet.html
+"Walkthrough: Using SAX2 features with the Qt XML classes" xml-sax-features-walkthrough.html
+"Why doesn't Qt use templates for signals and slots?" templates.html
+"Widgets Example" widgets-example.html
+"Window Geometry" geometry.html
+"Window System-specific Notes" winsystem.html
+"Wizard" wizard-example.html
+"Workspace Module" workspace.html
+"Wrapping Up" tutorial2-11.html
+"Writing your own layout manager" customlayout.html
+"XML Module" xml.html
+"Year 2000 Compliance Statement" y2k.html
+"abstractwidgets" abstractwidgets.html
+"activeqt-tools" activeqt-tools.html
+"advanced" advanced.html
+"appearance" appearance.html
+"application" application.html
+"basic" basic.html
+"bitBlt" qimage.html#bitBlt
+"bitBlt" qpaintdevice.html#bitBlt
+"collection" collection.html
+"copyBlt" qpixmap.html#copyBlt
+"database" database.html
+"dialogs" dialogs.html
+"draganddrop" draganddrop.html
+"environment" environment.html
+"events" events.html
+"examples" examples.html
+"geomanagement" geomanagement.html
+"graphics" graphics.html
+"helpsystem" helpsystem.html
+"i18n" i18n.html
+"images" images.html
+"io" io.html
+"makeqpf" makeqpf.html
+"misc" misc.html
+"motif-examples" motif-examples.html
+"multimedia" multimedia.html
+"network-examples" network-examples.html
+"nsplugin-examples" nsplugin-examples.html
+"objectmodel" objectmodel.html
+"opengl-examples" opengl-examples.html
+"operator!=" qchar.html#operator!-eq
+"operator!=" qcstring.html#operator!-eq
+"operator!=" qpoint.html#operator!-eq
+"operator!=" qrect.html#operator!-eq
+"operator!=" qsize.html#operator!-eq
+"operator!=" qstring.html#operator!-eq
+"operator&" qbitarray.html#operator-and
+"operator*" qpoint.html#operator*
+"operator*" qsize.html#operator*
+"operator*" qwmatrix.html#operator*
+"operator+" qcstring.html#operator+
+"operator+" qpoint.html#operator+
+"operator+" qsize.html#operator+
+"operator+" qstring.html#operator+
+"operator-" qpoint.html#operator-
+"operator-" qsize.html#operator-
+"operator/" qpoint.html#operator/
+"operator/" qsize.html#operator/
+"operator<" qchar.html#operator-lt
+"operator<" qcstring.html#operator-lt
+"operator<" qstring.html#operator-lt
+"operator<<" qbitarray.html#operator-lt-lt
+"operator<<" qbrush.html#operator-lt-lt
+"operator<<" qcolor.html#operator-lt-lt
+"operator<<" qcolorgroup.html#operator-lt-lt
+"operator<<" qcstring.html#operator-lt-lt
+"operator<<" qcursor.html#operator-lt-lt
+"operator<<" qdate.html#operator-lt-lt
+"operator<<" qdatetime.html#operator-lt-lt
+"operator<<" qdockarea.html#operator-lt-lt
+"operator<<" qdomnode.html#operator-lt-lt
+"operator<<" qfont.html#operator-lt-lt
+"operator<<" qimage.html#operator-lt-lt
+"operator<<" qkeysequence.html#operator-lt-lt
+"operator<<" qmainwindow.html#operator-lt-lt
+"operator<<" qmap.html#operator-lt-lt
+"operator<<" qmemarray.html#operator-lt-lt
+"operator<<" qpalette.html#operator-lt-lt
+"operator<<" qpen.html#operator-lt-lt
+"operator<<" qpicture.html#operator-lt-lt
+"operator<<" qpixmap.html#operator-lt-lt
+"operator<<" qpoint.html#operator-lt-lt
+"operator<<" qpointarray.html#operator-lt-lt
+"operator<<" qrect.html#operator-lt-lt
+"operator<<" qregion.html#operator-lt-lt
+"operator<<" qsize.html#operator-lt-lt
+"operator<<" qsplitter.html#operator-lt-lt
+"operator<<" qstring.html#operator-lt-lt
+"operator<<" qtime.html#operator-lt-lt
+"operator<<" quuid.html#operator-lt-lt
+"operator<<" qvaluelist.html#operator-lt-lt
+"operator<<" qwmatrix.html#operator-lt-lt
+"operator<=" qchar.html#operator-lt-eq
+"operator<=" qcstring.html#operator-lt-eq
+"operator<=" qstring.html#operator-lt-eq
+"operator==" qchar.html#operator-eq-eq
+"operator==" qcstring.html#operator-eq-eq
+"operator==" qpoint.html#operator-eq-eq
+"operator==" qrect.html#operator-eq-eq
+"operator==" qsize.html#operator-eq-eq
+"operator==" qstring.html#operator-eq-eq
+"operator>" qchar.html#operator-gt
+"operator>" qcstring.html#operator-gt
+"operator>" qstring.html#operator-gt
+"operator>=" qchar.html#operator-gt-eq
+"operator>=" qcstring.html#operator-gt-eq
+"operator>=" qstring.html#operator-gt-eq
+"operator>>" qbitarray.html#operator-gt-gt
+"operator>>" qbrush.html#operator-gt-gt
+"operator>>" qcolor.html#operator-gt-gt
+"operator>>" qcstring.html#operator-gt-gt
+"operator>>" qcursor.html#operator-gt-gt
+"operator>>" qdate.html#operator-gt-gt
+"operator>>" qdatetime.html#operator-gt-gt
+"operator>>" qdockarea.html#operator-gt-gt
+"operator>>" qfont.html#operator-gt-gt
+"operator>>" qimage.html#operator-gt-gt
+"operator>>" qkeysequence.html#operator-gt-gt
+"operator>>" qmainwindow.html#operator-gt-gt
+"operator>>" qmap.html#operator-gt-gt
+"operator>>" qmemarray.html#operator-gt-gt
+"operator>>" qpalette.html#operator-gt-gt
+"operator>>" qpen.html#operator-gt-gt
+"operator>>" qpicture.html#operator-gt-gt
+"operator>>" qpixmap.html#operator-gt-gt
+"operator>>" qpoint.html#operator-gt-gt
+"operator>>" qpointarray.html#operator-gt-gt
+"operator>>" qrect.html#operator-gt-gt
+"operator>>" qregion.html#operator-gt-gt
+"operator>>" qsize.html#operator-gt-gt
+"operator>>" qsplitter.html#operator-gt-gt
+"operator>>" qstring.html#operator-gt-gt
+"operator>>" qtime.html#operator-gt-gt
+"operator>>" quuid.html#operator-gt-gt
+"operator>>" qvaluelist.html#operator-gt-gt
+"operator>>" qwmatrix.html#operator-gt-gt
+"operator^" qbitarray.html#operator^
+"operator|" qbitarray.html#operator|
+"organizers" organizers.html
+"plugins" plugins.html
+"qAddPostRoutine" qapplication.html#qAddPostRoutine
+"qAlpha" qcolor.html#qAlpha
+"qBlue" qcolor.html#qBlue
+"qChecksum" qmemarray.html#qChecksum
+"qCompress" qbytearray.html#qCompress
+"qDebug" qapplication.html#qDebug
+"qDrawPlainRect" qpainter.html#qDrawPlainRect
+"qDrawShadeLine" qpainter.html#qDrawShadeLine
+"qDrawShadePanel" qpainter.html#qDrawShadePanel
+"qDrawShadeRect" qpainter.html#qDrawShadeRect
+"qDrawWinButton" qpainter.html#qDrawWinButton
+"qDrawWinPanel" qpainter.html#qDrawWinPanel
+"qFatal" qapplication.html#qFatal
+"qGray" qcolor.html#qGray
+"qGreen" qcolor.html#qGreen
+"qInitNetworkProtocols" qurloperator.html#qInitNetworkProtocols
+"qInstallMsgHandler" qapplication.html#qInstallMsgHandler
+"qMakePair" qpair.html#qMakePair
+"qRed" qcolor.html#qRed
+"qRgb" qcolor.html#qRgb
+"qRgba" qcolor.html#qRgba
+"qSysInfo" qapplication.html#qSysInfo
+"qSystemWarning" qapplication.html#qSystemWarning
+"qUncompress" qbytearray.html#qUncompress
+"qVersion" qapplication.html#qVersion
+"qWarning" qapplication.html#qWarning
+"qaction-examples" qaction-examples.html
+"qaxcontainer-examples" qaxcontainer-examples.html
+"qaxserver-examples" qaxserver-examples.html
+"qfont-examples" qfont-examples.html
+"qmemmove" qcstring.html#qmemmove
+"qprocess-examples" qprocess-examples.html
+"qstrcmp" qcstring.html#qstrcmp
+"qstrcpy" qcstring.html#qstrcpy
+"qstrdup" qcstring.html#qstrdup
+"qstricmp" qcstring.html#qstricmp
+"qstrlen" qcstring.html#qstrlen
+"qstrncmp" qcstring.html#qstrncmp
+"qstrncpy" qcstring.html#qstrncpy
+"qstrnicmp" qcstring.html#qstrnicmp
+"qt_find_obj_child" qobject.html#qt_find_obj_child
+"qtl" qtl.html
+"qws" qws.html
+"shared" shared.html
+"sql-examples" sql-examples.html
+"step-by-step-examples" step-by-step-examples.html
+"table-examples" table-examples.html
+"text" text.html
+"thread" thread.html
+"time" time.html
+"tools" tools.html
+"xml-examples" xml-examples.html
+"xml-tools" xml-tools.html
+"" classchart.html
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000..39e84e3
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Reference Documentation (Open Source Edition)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Reference Documentation (Open Source Edition)</h1>
+
+
+<p>
+
+
+
+<table cellpadding=2 cellspacing=1 border=0 width="100%" bgcolor="#e5e5e5">
+<tr bgcolor="white"><td colspan=3 align="center"><b>Notice</b>: This edition is
+for the development of <a href="opensourceedition.html">Free and Open
+Source</a> software only; see <a href="commercialeditions.html">Commercial Editions</a>.</td></tr>
+
+
+<tr>
+<th bgcolor="#a2c511" width="33%">
+Qt Community
+</th>
+<th bgcolor="#a2c511" width="33%">
+Getting Started
+</th>
+<th bgcolor="#a2c511" width="33%">
+General
+</th>
+</tr>
+<tr>
+<td valign="top">
+<ul>
+<li> <a href="http://lists.trolltech.com">Mailing lists</a>
+<li> <a href="http://doc.trolltech.com/qq/index.html"><i>Qt Quarterly</i> newsletter</a>
+<li> <a href="http://www.trolltech.com/products/solutions/index.html">Qt
+Solutions</a>
+<li> <a href="http://www.trolltech.com/freesoftware/index.html">User contributed Qt additions</a>
+<li> <a href="bughowto.html">How to report a bug</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="how-to-learn-qt.html">How to Learn Qt</a>
+<li> <a href="http://www.trolltech.com/products/qt/readyforqt4.html">Getting Ready for Qt 4</a>
+<li> <a href="tutorial.html">Tutorial #1</a>,
+<a href="tutorial2.html">Tutorial #2</a>
+<li> <a href="examples.html">Examples</a>
+<li> <a href="http://www.trolltech.com/products/qt/whitepaper.html">Whitepaper</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="aboutqt.html">About Qt</a>
+<li> <a href="commercialeditions.html">Commercial Editions</a>
+<li> <a href="opensourceedition.html">Open Source Edition</a>
+<li> <a href="troll.html">About Trolltech</a>
+</ul>
+</td>
+</tr>
+<tr>
+<th bgcolor="#a2c511">
+API Reference
+</th>
+<th bgcolor="#a2c511">
+Modules
+<th bgcolor="#a2c511">
+Overviews
+</tr>
+<tr>
+<td valign="top">
+<ul>
+<li> <a href="classes.html">All Classes</a>
+<li> <a href="mainclasses.html">Main Classes</a>
+<li> <a href="groups.html">Grouped Classes</a>
+<li> <a href="annotated.html">Annotated Classes</a>
+<li> <a href="hierarchy.html">Inheritance Hierarchy</a>
+<li> <a href="classchart.html">Class Chart (clickable image)</a>
+<li> <a href="functions.html">All Functions (long)</a>
+<li> <a href="headers.html">Header File Index</a>
+<li> <a href="faq.html">FAQs</a>
+<li> <a href="http://www.trolltech.com/developer/changes/">Change History</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="modules.html">All Modules</a>
+<li> <a href="canvas.html">Canvas</a>
+<li> <a href="iconview.html">Iconview</a>
+<li> <a href="network.html">Network</a>
+<li> <a href="opengl.html">OpenGL</a>
+<li> <a href="sql.html">SQL</a>
+<li> <a href="table.html">Table</a>
+<li> <a href="workspace.html">Workspace</a>
+<li> <a href="xml.html">XML</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="overviews-list.html">All Overviews and HOWTOs</a>
+<li> <a href="object.html">Qt Object Model</a>
+<li> <a href="signalsandslots.html">Signals and Slots</a>
+<li> <a href="geometry.html">Window Geometry</a>
+<li> <a href="eventsandfilters.html">Events and Event Filters</a>
+<li> <a href="i18n.html">Internationalization (i18n)</a>
+<li> <a href="debug.html">Debugging Techniques</a>
+<li> <a href="threads.html">Thread Support in Qt</a>
+<li> <a href="plugins-howto.html">Qt Plugins</a>
+<li> <a href="accelerators.html">Standard Accelerators</a>
+</ul>
+</tr>
+<tr>
+<th bgcolor="#a2c511">
+Porting &amp; Platforms
+</th>
+<th bgcolor="#a2c511">
+Tools
+</th>
+<th bgcolor="#a2c511">
+Licenses &amp; Credits
+</th>
+</tr>
+<tr>
+<td valign="top">
+<ul>
+<li> <a href="winsystem.html">Window system specific notes</a>
+<li> <a href="activeqt.html">ActiveQt Framework</a>
+<li> <a href="motif-extension.html">Motif Extension</a>
+<li> <a href="mac-differences.html">Mac OS X development</a>
+<li> <a href="porting.html">Porting from Qt 2.x to Qt 3.x</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="tools-list.html">All Tools</a>
+<li> <a href="designer-manual.html">Qt Designer</a>
+<li> <a href="linguist-manual.html">Qt Linguist</a>
+<li> <a href="assistant.html">Qt Assistant</a>
+<li> <a href="qmake-manual.html">qmake</a>
+</ul>
+</td>
+<td valign="top">
+<ul>
+<li> <a href="license.html">Q Public License</a>
+<li> <a href="gpl.html">GNU General Public License</a>
+<li> <a href="3rdparty.html">Third Party Licenses used in Qt</a>
+<li> <a href="licenses.html">Other Licenses used in Qt</a>
+<li> <a href="credits.html">Credits</a>
+</ul>
+</td>
+</tr>
+</table>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/inputdialogs.png b/doc/html/inputdialogs.png
new file mode 100644
index 0000000..8923655
--- /dev/null
+++ b/doc/html/inputdialogs.png
Binary files differ
diff --git a/doc/html/install-mac.html b/doc/html/install-mac.html
new file mode 100644
index 0000000..d533808
--- /dev/null
+++ b/doc/html/install-mac.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/installation.doc:179 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installing Qt/Mac</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installing Qt/Mac</h1>
+
+
+<p> You may need to be logged in as root, depending on the permissions of
+the directories where you choose to install Qt.
+<p> <ol type=1>
+<li> Unpack the archive if you have not done so already:
+<p> <pre>
+ cd /Developer
+ gnutar xzf qt-mac-version.tar.gz
+</pre>
+
+<p> This creates the directory /Developer/qt-<em>version</em> containing the
+files from the main archive.
+<p> Rename qt-<em>version</em> to qt (or make a symlink):
+<p> <pre>
+ mv qt-version qt
+</pre>
+
+<p> The rest of this file assumes that Qt is unpacked in <tt>/Developer/qt</tt>.
+<p> <li> Set some environment variables in the file <tt>.profile</tt> (or <tt>.login</tt>,
+depending on your shell) in your home directory. Create the
+file if it is not there already.
+<p> <ul>
+<li> QTDIR -- the directory in which you're building Qt
+<li> PATH -- to locate the <a href="moc.html#moc">moc</a> program and other Qt tools
+<li> MANPATH -- to access the Qt man pages
+<li> LD_LIBRARY_PATH -- for the shared Qt library
+</ul>
+<p> This is done like this:
+<p> In <tt>.profile</tt> (if your shell is bash, ksh, zsh or sh), add the
+following lines:
+<p> <pre>
+ QTDIR=/Developer/qt
+ PATH=$QTDIR/bin:$PATH
+ MANPATH=$QTDIR/man:$MANPATH
+ DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
+
+ export QTDIR PATH MANPATH DYLD_LIBRARY_PATH
+</pre>
+
+<p> In <tt>.login</tt> (in case your shell is csh or tcsh), add the following lines:
+<p> <pre>
+ setenv QTDIR /Developer/qt
+ setenv PATH $QTDIR/bin:$PATH
+ setenv MANPATH $QTDIR/man:$MANPATH
+ setenv DYLD_LIBRARY_PATH $QTDIR/lib:$DYLD_LIBRARY_PATH
+</pre>
+
+<p> After you have done this, you will need to login again, or
+re-source the profile before continuing.
+<p> <li> If you have the commercial edition of Qt, install your license
+file as <tt>$HOME/.qt-license</tt>.
+<p> <li> Compile the Qt library, and build the example programs,
+the tutorial and the tools (e.g. <a href="designer-manual.html">Qt
+ Designer</a>) as follows.
+<p> Type:
+<pre>
+ cd $QTDIR
+ ./configure
+</pre>
+
+<p> This will configure the Qt library for your machine. Note that
+GIF support is turned off by default. Run <tt>./configure -help</tt>
+to get a list of configuration options.
+<p> To create the library and compile all examples and the tutorial:
+<pre>
+ make
+</pre>
+
+If you have problems, see
+<a href="http://www.trolltech.com/platforms/">http://www.trolltech.com/platforms/</a>.
+<p> <li> Once you have built Qt, it is ready to use. If Qt has not been
+configured with the -static option, then in order to be able to
+launch Qt applications from the Finder you must place the relevant
+libraries in a directory where they can be found. We recommend
+making these symbolic links (if you have configured Qt with -thread
+please change the libqt below with libqt-mt):
+<p> <pre>
+ ln -sf $QTDIR/lib/libqt.3.dylib /usr/lib
+ ln -sf $QTDIR/lib/libqui.1.dylib /usr/lib
+</pre>
+
+<p> You may need to have 'administrator' access to do this, (in which
+case, precede each command with <tt>sudo'</tt>, e.g. <tt>sudo ln -s ...</tt>). If
+you use sudo you'll be prompted for the administrator password.
+<p> If you do not have administrator access, or you would prefer to do
+a user install (rather than system install) of the libraries you
+can do (if you have configured Qt with -thread please change the libqt
+below with libqt-mt):
+<p> <pre>
+ ln -sf $QTDIR/lib/libqt.3.dylib $HOME/lib
+ ln -sf $QTDIR/lib/libqui.1.dylib $HOME/lib
+</pre>
+
+</ol>
+<p> That's all! Qt is now installed. Qt's documentation can be read with
+Qt Assistant or by any web browser; the contents page is
+<tt>$QTDIR/doc/html/index.html</tt>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/install-win.html b/doc/html/install-win.html
new file mode 100644
index 0000000..dad24f5
--- /dev/null
+++ b/doc/html/install-win.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/installation.doc:169 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installing Qt/Windows</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installing Qt/Windows</h1>
+
+
+<p> The Qt/Windows distribution is distributed as a self-extracting archive
+with a built-in installer. Just follow the installation wizard.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/install-x11.html b/doc/html/install-x11.html
new file mode 100644
index 0000000..0db0971
--- /dev/null
+++ b/doc/html/install-x11.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/installation.doc:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installing Qt/X11</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installing Qt/X11</h1>
+
+
+<p> You may need to be root, depending on the permissions of the directories
+where you choose to install Qt.
+<p> <ol type=1>
+<li> Unpack the archive if you have not done so already:
+<p> <pre>
+ cd /usr/local
+ gunzip qt-x11-version.tar.gz # uncompress the archive
+ tar xf qt-x11-version.tar # unpack it
+</pre>
+
+<p> This creates the directory /usr/local/qt-<em>version</em> containing the
+files from the main archive.
+<p> Rename qt-<em>version</em> to qt (or make a symlink):
+<p> <pre>
+ mv qt-version qt
+</pre>
+
+<p> The rest of this file assumes that Qt is installed in <tt>/usr/local/qt</tt>.
+<p> <li> Set some environment variables in the file <tt>.profile</tt> (or <tt>.login</tt>,
+depending on your shell) in your home directory. Create the
+file if it is not there already.
+<p> <ul>
+<li> QTDIR -- the directory in which you're building Qt
+<li> PATH -- to locate the <a href="moc.html#moc">moc</a> program and other Qt tools
+<li> MANPATH -- to access the Qt man pages
+<li> LD_LIBRARY_PATH -- for the shared Qt library
+</ul>
+<p> This is done like this:
+<p> In <tt>.profile</tt> (if your shell is bash, ksh, zsh or sh), add the
+following lines:
+<p> <pre>
+ QTDIR=/usr/local/qt
+ PATH=$QTDIR/bin:$PATH
+ MANPATH=$QTDIR/man:$MANPATH
+ LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+
+ export QTDIR PATH MANPATH LD_LIBRARY_PATH
+</pre>
+
+<p> In <tt>.login</tt> (in case your shell is csh or tcsh), add the following lines:
+<p> <pre>
+ setenv QTDIR /usr/local/qt
+ setenv PATH $QTDIR/bin:$PATH
+ setenv MANPATH $QTDIR/man:$MANPATH
+ setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
+</pre>
+
+<p> After you have done this, you will need to login again, or
+re-source the profile before continuing, so that at least <tt>$QTDIR</tt>
+is set. The installation will give an error message and not
+proceed otherwise.
+<p> On AIX set LIBPATH and on HP-UX set SHLIB_PATH instead of LD_LIBRARY_PATH.
+<p> Note that the SGI MIPSpro o32 and Sun WorkShop 5.0 targets are no
+longer supported as of Qt 3.3.
+<p> <li> Install your license file as <tt>$HOME/.qt-license</tt>.
+For the free edition and evaluation version, you do not need a license
+file.
+<p> <li> Compile the Qt library, and build the example programs,
+the tutorial and the tools (e.g. <a href="designer-manual.html">Qt
+ Designer</a>) as follows.
+<p> Type:
+<pre>
+ ./configure
+</pre>
+
+<p> This will configure the Qt library for your machine. Note that
+GIF support is turned off by default. Run <tt>./configure -help</tt>
+to get a list of configuration options. Read <tt>PLATFORMS</tt> for a
+list of supported platforms.
+<p> To create the library and compile all examples and the tutorial:
+<pre>
+ make
+</pre>
+
+If you have problems, see
+<a href="http://www.trolltech.com/platforms/">http://www.trolltech.com/platforms/</a>.
+<p> <li> In very few cases you may need to run <tt>/sbin/ldconfig</tt> or something
+similar at this point if you are using shared libraries.
+<p> If you have problems running the example programs, e.g. messages like
+<pre>
+ can't load library 'libqt.so.2'
+</pre>
+
+you probably need to put a reference to the qt library in a
+configuration file and run <tt>/sbin/ldconfig</tt> as root on your system.
+And don't forget to <tt>set</tt> LD_LIBRARY_PATH as explained in 2) above.
+<p> <li> The online HTML documentation is installed in <tt>/usr/local/qt/doc/html/</tt>
+The main page is <tt>/usr/local/qt/doc/html/index.html</tt>.
+The man pages are installed in <tt>/usr/local/qt/doc/man/</tt>.
+The documentation is also accessible using <a href="assistant.html">Qt
+ Assistant</a>.
+</ol>
+<p> You're done. Qt is now installed.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/installation.html b/doc/html/installation.html
new file mode 100644
index 0000000..9877115
--- /dev/null
+++ b/doc/html/installation.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/installation.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installation</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Installation</h1>
+
+
+<p> The installation procedure is different for the different Qt platforms:
+<p> <ul>
+<li> <a href="install-x11.html">Qt/X11</a>
+<li> <a href="install-win.html">Qt/Windows</a>
+<li> <a href="install-mac.html">Qt/Mac</a>
+<li> <a href="emb-install.html">Qt/Embedded</a>
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/integration.html b/doc/html/integration.html
new file mode 100644
index 0000000..a1bcc0c
--- /dev/null
+++ b/doc/html/integration.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/integration.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About the Visual Studio Integration Plugin</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>About the Visual Studio Integration Plugin</h1>
+
+
+
+<p> The Visual Studio Integration Plugin is currently available only to users of
+Visual Studio 6, it offers simple ways of doing common tasks when writing a
+Qt application.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> How to install the Visual Studio Integration Plugin
+</a>
+<li><a href="#2"> How to uninstall the Visual Studio Integration Plugin
+</a>
+<li><a href="#3"> What can the Visual Studio Integration Plugin do?
+</a>
+<ul>
+<li><a href="#3-1"> Using the 'New Qt Project' button
+</a>
+<li><a href="#3-2"> Using the 'New Qt Dialog' button
+</a>
+<li><a href="#3-3"> Using the 'Qt Designer' button
+</a>
+<li><a href="#3-4"> Using the 'Open Qt Project' button
+</a>
+<li><a href="#3-5"> Using the 'Write Qt Project' button
+</a>
+<li><a href="#3-6"> Using the 'Use Qt In Current Project' button
+</a>
+<li><a href="#3-7"> Using the 'Add MOC' button
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> How to install the Visual Studio Integration Plugin
+</h2>
+<a name="1"></a><p> When you install Qt, the integration plugin should be installed for you,
+and ready for use. However, sometimes this does not happen properly, so
+you need to manually carry out the following steps.
+<p> <ul>
+<li> Ensure that the file '%MSDevDir%&#92;addins&#92;qmsdev.dll' exists.
+<li> Start Visual Studio, if it isn't already running.
+<li> Select Tools|Customize|Add-ins and Macro Files.
+<li> Ensure the checkbox to the left of the "QMsDev Developer Studio-Add-In" add-in is checked.
+<li> Click Close.
+</ul>
+<p> Now the integration plugin should be properly installed. If this doesn't
+work, then contact Trolltech technical support giving details of
+what went wrong.
+<p> <h2> How to uninstall the Visual Studio Integration Plugin
+</h2>
+<a name="2"></a><p> When you want to uninstall the integration plugin, just carry out the
+following steps.
+<p> <ul>
+<li> Close down any instances of Visual Studio.
+<li> Delete the file '%MSDevDir%&#92;addins&#92;qmsdev.dll'
+</ul>
+<p> <h2> What can the Visual Studio Integration Plugin do?
+</h2>
+<a name="3"></a><p> The integration plugin adds the following options to Visual Studio:
+<p> <ul>
+<li> New Qt Project
+<li> New Qt Dialog
+<li> Qt Designer
+<li> Open Qt Project
+<li> Write Qt Project
+<li> Use Qt In Current Project
+<li> Add MOC
+</ul>
+<p> <h3> Using the 'New Qt Project' button
+</h3>
+<a name="3-1"></a><p> The 'New Qt Project' button allows you to create a simple Qt project
+ready for development. Simply fill in the form and if you select
+'Dialog' or 'Main Window' without MDI support then it will
+automatically start up <em>Qt Designer</em>. When you have finished with
+the form in <em>Qt Designer</em> just save it and it will appear in a
+ready made Qt project.
+<p> If you select 'Main Window' with 'MDI Support' then it will simply
+give you a code skeleton in a project ready for you to populate with
+your own code.
+<p> <h3> Using the 'New Qt Dialog' button
+</h3>
+<a name="3-2"></a><p> The 'New Qt Dialog' button works in two ways: You can use it to create a new
+dialog for your project; or you can use it to insert an existing
+dialog into your project.
+<p> If you want to create a new dialog then all you need to do is specify where
+the dialog file should be saved and give it a name. This will start up
+<em>Qt Designer</em> to allow you to design your new dialog, and will add it to
+the existing project.
+<p> If you want to add an existing dialog to your project, then just select the
+relevant <tt>.ui</tt> file. This will then add it to your existing project and add
+the relevant steps to create the generated code.
+<p> <h3> Using the 'Qt Designer' button
+</h3>
+<a name="3-3"></a><p> The 'Qt Designer' button simply starts up <em>Qt Designer</em>, it has no ties to
+your existing project so whatever you do with it will not affect your
+existing projects. It can also be started up by using the Ctrl+Shift+D key
+combination in Visual Studio.
+<p> <h3> Using the 'Open Qt Project' button
+</h3>
+<a name="3-4"></a><p> The 'Open Qt Project' button allows you to convert an existing <tt>qmake</tt> project file into a <tt>.dsp</tt> file which you can insert into
+your existing workspace. When you click the 'Open Qt Project'
+button, just select an existing <tt>qmake</tt> project file (a <tt>.pro</tt>
+file) and then click OK. You will get a message box at the end
+which asks you to insert the newly created <tt>.dsp</tt> file into your
+existing workspace.
+<p> <h3> Using the 'Write Qt Project' button
+</h3>
+<a name="3-5"></a><p> The 'Write Qt Project' button creates a <tt>qmake</tt> project (<tt>.pro</tt>)
+file for your current project so that you can easily copy the files
+onto another platform and be able to use <tt>qmake</tt> to create a Makefile
+on that other platform. All you need to do is make the project you
+want to create a <tt>.pro</tt> file for, and click on the button. Just
+name your <tt>qmake</tt> project file and click Save.
+<p> <h3> Using the 'Use Qt In Current Project' button
+</h3>
+<a name="3-6"></a><p> The 'Use Qt In Current Project' button simply adds in the necessary
+information for the current project so that it links against Qt and
+sets any other settings needed to use Qt in that project.
+<p> <h3> Using the 'Add MOC' button
+</h3>
+<a name="3-7"></a><p> The 'Add MOC' button will add in the custom build step for the selected file
+so that it creates any needed MOC files and it will add these generated
+files to the project. All you need to do to use it is click on a file that
+has <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> and click the button.
+<p> You only need to use this button if you added a file that has <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> in it by hand, you don't need to use this if you used any
+of the previously mentioned buttons. It can also be invoked by using
+the Ctrl+Shift+M key combination in Visual Studio.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/io.html b/doc/html/io.html
new file mode 100644
index 0000000..7c2e51e
--- /dev/null
+++ b/doc/html/io.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:526 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Input/Output and Networking</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Input/Output and Networking</h1>
+
+
+<p> These classes are used to handle input and output to and from external
+devices, processes, files etc. as well as manipulating files and directories.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbuffer.html">QBuffer</a></b><td>I/O device that operates on a QByteArray
+<tr bgcolor=#f0f0f0><td><b><a href="qclipboard.html">QClipboard</a></b><td>Access to the window system clipboard
+<tr bgcolor=#f0f0f0><td><b><a href="qdatastream.html">QDataStream</a></b><td>Serialization of binary data to a QIODevice
+<tr bgcolor=#f0f0f0><td><b><a href="qdir.html">QDir</a></b><td>Access to directory structures and their contents in a platform-independent way
+<tr bgcolor=#f0f0f0><td><b><a href="qdns.html">QDns</a></b><td>Asynchronous DNS lookups
+<tr bgcolor=#f0f0f0><td><b><a href="qfile.html">QFile</a></b><td>I/O device that operates on files
+<tr bgcolor=#f0f0f0><td><b><a href="qfileinfo.html">QFileInfo</a></b><td>System-independent file information
+<tr bgcolor=#f0f0f0><td><b><a href="qftp.html">QFtp</a></b><td>Implementation of the FTP protocol
+<tr bgcolor=#f0f0f0><td><b><a href="qhostaddress.html">QHostAddress</a></b><td>IP address
+<tr bgcolor=#f0f0f0><td><b><a href="qhttp.html">QHttp</a></b><td>Implementation of the HTTP protocol
+<tr bgcolor=#f0f0f0><td><b><a href="qhttpheader.html">QHttpHeader</a></b><td>Header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qhttprequestheader.html">QHttpRequestHeader</a></b><td>Request header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qhttpresponseheader.html">QHttpResponseHeader</a></b><td>Response header information for HTTP
+<tr bgcolor=#f0f0f0><td><b><a href="qimageio.html">QImageIO</a></b><td>Parameters for loading and saving images
+<tr bgcolor=#f0f0f0><td><b><a href="qiodevice.html">QIODevice</a></b><td>The base class of I/O devices
+<tr bgcolor=#f0f0f0><td><b><a href="qlocalfs.html">QLocalFs</a></b><td>Implementation of a QNetworkProtocol that works on the local file system
+<tr bgcolor=#f0f0f0><td><b><a href="qmacmime.html">QMacMime</a></b><td>Maps open-standard MIME to Mac flavors
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesource.html">QMimeSource</a></b><td>Abstraction of objects which provide formatted data of a certain MIME type
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesourcefactory.html">QMimeSourceFactory</a></b><td>Extensible provider of mime-typed data
+<tr bgcolor=#f0f0f0><td><b><a href="qnetworkoperation.html">QNetworkOperation</a></b><td>Common operations for network protocols
+<tr bgcolor=#f0f0f0><td><b><a href="qnetworkprotocol.html">QNetworkProtocol</a></b><td>Common API for network protocols
+<tr bgcolor=#f0f0f0><td><b><a href="qprocess.html">QProcess</a></b><td>Used to start external programs and to communicate with them
+<tr bgcolor=#f0f0f0><td><b><a href="qserversocket.html">QServerSocket</a></b><td>TCP-based server
+<tr bgcolor=#f0f0f0><td><b><a href="qsettings.html">QSettings</a></b><td>Persistent platform-independent application settings
+<tr bgcolor=#f0f0f0><td><b><a href="qsignal.html">QSignal</a></b><td>Can be used to send signals for classes that don't inherit QObject
+<tr bgcolor=#f0f0f0><td><b><a href="qsignalmapper.html">QSignalMapper</a></b><td>Bundles signals from identifiable senders
+<tr bgcolor=#f0f0f0><td><b><a href="qsocket.html">QSocket</a></b><td>Buffered TCP connection
+<tr bgcolor=#f0f0f0><td><b><a href="qsocketdevice.html">QSocketDevice</a></b><td>Platform-independent low-level socket API
+<tr bgcolor=#f0f0f0><td><b><a href="qsocketnotifier.html">QSocketNotifier</a></b><td>Support for socket callbacks
+<tr bgcolor=#f0f0f0><td><b><a href="qtextistream.html">QTextIStream</a></b><td>Convenience class for input streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextostream.html">QTextOStream</a></b><td>Convenience class for output streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextstream.html">QTextStream</a></b><td>Basic functions for reading and writing text using a QIODevice
+<tr bgcolor=#f0f0f0><td><b><a href="qurl.html">QUrl</a></b><td>URL parser and simplifies working with URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurlinfo.html">QUrlInfo</a></b><td>Stores information about URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurloperator.html">QUrlOperator</a></b><td>Common operations on URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsmime.html">QWindowsMime</a></b><td>Maps open-standard MIME to Window Clipboard formats
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/keyfeatures30.html b/doc/html/keyfeatures30.html
new file mode 100644
index 0000000..8a2258f
--- /dev/null
+++ b/doc/html/keyfeatures30.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/changes.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Key Features in Qt 3.0</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Key Features in Qt 3.0</h1>
+
+
+
+<p> Qt 3.0 adds a lot of new features and improvements over the Qt 2.x
+series. Some internals have undergone major redesign and new classes
+and methods have been added.
+<p> We have tried to keep the API of Qt 3.0 as compatible as possible with
+the Qt 2.x series. For most applications only minor changes will be
+needed to compile and run them successfully using Qt 3.0.
+<p> One of the major new features that has been added in the 3.0 release
+is a module allowing you to easily work with databases. The API is
+platform independent and database neutral. This module is seamlessly
+integrated into Qt Designer, greatly simplifying the process of
+building database applications and using data aware widgets.
+<p>
+Other major new features include a plugin architecture. You can use
+your own and third party plugins your own applications.
+The Unicode support of Qt 2.x has been greatly enhanced, it now
+includes full support for scripts written from right to left (e.g.
+Arabic and Hebrew) and also provides improved support for Asian
+languages.
+<p> Many new classes have been added to the Qt Library. Amongst them are
+classes that provide a docking architecture
+(<a href="qdockarea.html">QDockArea</a>/<a href="qdockwindow.html">QDockWindow</a>), a powerful rich text editor
+(<a href="qtextedit.html">QTextEdit</a>), a class to store and access application settings
+(<a href="qsettings.html">QSettings</a>) and a class to create and communicate with processes
+(<a href="qprocess.html">QProcess</a>).
+<p> Apart from the changes in the library itself a lot has been done to
+make the development of Qt applications with Qt 3.0 even easier than
+before. Two new applications have been added: Qt Linguist is a tool to
+help you translate your application into different languages; Qt
+Assistant is an easy to use help browser for the Qt documentation that
+supports bookmarks and can search by keyword.
+<p> Another change concerns the Qt build system, which has been reworked
+to make it a lot easier to port Qt to new platforms. You can use this
+platform independent build system for your own applications.
+<p> <h2> The Qt Library
+</h2>
+<a name="1"></a><p> A large number of new features has been added to Qt 3.0. The following
+list gives an overview of the most important new and changed aspects
+of the Qt library. A full list of every new method follows the
+overview.
+<p> <h3> Database support
+</h3>
+<a name="1-1"></a><p> One of the major new features in Qt 3.0 is the <a href="sql.html">SQL
+module</a> that provides multiplatform access to SQL databases,
+making database application programming with Qt seamless and portable.
+The API, built with standard SQL, is database-neutral and software
+development is independent of the underlying database.
+<p> A collection of tightly focused C++ classes are provided to give the
+programmer direct access to SQL databases. Developers can send raw SQL
+to the database server or have the Qt SQL classes generate SQL queries
+automatically. Drivers for Oracle, PostgreSQL, MySQL and ODBC are
+available and writing new drivers is straightforward.
+<p> Tying the results of SQL queries to GUI components is fully supported
+by Qt's SQL widgets. These classes include a tabular data widget
+(for spreadsheet-like data presentation with in-place editing), a
+form-based data browser (which provides data navigation and edit
+functions) and a form-based data viewer (which provides read-only
+forms). This framework can be extended by using custom field editors,
+allowing for example, a data table to use custom widgets for in-place
+editing. The SQL module fully supports Qt's signal/slots mechanism,
+making it easy for developers to include their own data validation and
+auditing code.
+<p> Qt Designer fully supports Qt's SQL module. All SQL widgets can be
+laid out within Qt Designer, and relationships can be established
+between controls visually. Many interactions can be defined purely in
+terms of Qt's signals/slots mechanism directly in Qt Designer.
+<p>
+<h3> Plugins
+</h3>
+<a name="1-2"></a><p> The <a href="qlibrary.html">QLibrary</a> class provides a platform independent wrapper for runtime
+loading of shared libraries. QPluginManager makes it trivial to implement
+plugin support in applications. The Qt library is able to load
+additional styles, database drivers and text codecs from plugins.
+<p> Qt Designer supports custom widgets in plugins, and will use the
+widgets both when designing and previewing forms.
+<p> See the <a href="plugins-howto.html">plugins documentation</a>.
+<p> <h3> Rich text engine and editor
+</h3>
+<a name="1-3"></a><p> The rich text engine originally introduced in Qt 2.0 has been further
+optimized and extended to support editing. It allows editing formatted
+text with different fonts, colors, paragraph styles, tables and
+images. The editor supports different word wrap modes, command-based
+undo/redo, multiple selections, drag and drop, and many other
+features. The new <a href="qtextedit.html">QTextEdit</a> engine is highly optimized for proccesing
+and displaying large documents quickly and efficiently.
+<p> <h3> Unicode
+</h3>
+<a name="1-4"></a><p> Apart from the rich text engine, another new feature of Qt 3.0 that
+relates to text handling is the greatly improved Unicode support. Qt
+3.0 includes an implementation of the bidirectional algorithm (BiDi)
+as defined in the Unicode standard and a shaping engine for Arabic,
+which gives full native language support to Arabic and Hebrew speaking
+people. At the same time the support for Asian languages has been
+greatly enhanced.
+<p> The support is almost transparent for the developer using Qt to
+develop their applications. This means that developers who developed
+applications using Qt 2.x will automatically gain the full support for
+these languages when switching to Qt 3.0. Developers can rely on their
+application to work for people using writing systems different from
+Latin1, without having to worry about the complexities involved with
+these scripts, as Qt takes care of this automatically.
+<p> <h3> Docked and Floating Windows
+</h3>
+<a name="1-5"></a><p> Qt 3.0 introduces the concept of Dock Windows and Dock Areas. Dock
+windows are widgets, that can be attached to, and detached from, dock
+areas. The commonest kind of dock window is a tool bar. Any number of
+dock windows may be placed in a dock area. A main window can have dock
+areas, for example, <a href="qmainwindow.html">QMainWindow</a> provides four dock areas (top, left,
+bottom, right) by default. The user can freely move dock windows and
+place them at a convenient place in a dock area, or drag them out of
+the application and have them float freely as top level windows in
+their own right. Dock windows can also be minimized or hidden.
+<p> For developers, dock windows behave just like ordinary widgets. QToolbar
+for example is now a specialized subclass of a dock window. The API
+of QMainWindow and <a href="qtoolbar.html">QToolBar</a> is source compatible with Qt 2.x, so
+existing code which uses these classes will continue to work.
+<p> <h3> Regular Expressions
+</h3>
+<a name="1-6"></a><p> Qt has always provided <a href="qregexp.html#regular-expression">regular expression</a> support, but that support
+was pretty much limited to what was required in common GUI control
+elements such as file dialogs. Qt 3.0 introduces a new regular
+expression engine, <a href="qregexp.html">QRegExp</a>, that supports most of Perl's regex
+features and is Unicode based. The most useful additions are support
+for parentheses (capturing and non-capturing) and backreferences.
+<p> <h3> Storing application settings
+</h3>
+<a name="1-7"></a><p> Most programs will need to store some settings between runs, for
+example, user selected fonts, colors and other preferences, or a list
+of recently used files. The new <a href="qsettings.html">QSettings</a> class provides a platform
+independent way to achieve this goal. The API makes it easy to store
+and retrieve most of the basic data types used in Qt (such as basic
+C++ types, strings, lists, colors, etc). The class uses the registry
+on the Windows platform and traditional resource files on Unix.
+<p> <h3> Creating and controlling other processes
+</h3>
+<a name="1-8"></a><p> <a href="qprocess.html">QProcess</a> is a class that allows you to start other programs from
+within a Qt application in a platform independent manner. It gives you
+full control over the started program, for example you can redirect
+the input and output of console applications.
+<p> <h3> Accessibility
+</h3>
+<a name="1-9"></a><p> Accessibility means making software usable and accessible to a wide
+range of users, including those with disabilities. In Qt 3.0, most
+widgets provide accessibility information for assistive tools that can
+be used by a wide range of disabled users. Qt standard widgets like
+buttons or range controls are fully supported. Support for complex
+widgets, like e.g. <a href="qlistview.html">QListView</a>, is in development. Existing applications
+that make use of standard widgets will become accessible just by using
+Qt 3.0.
+<p> Qt uses the Active Accessibility infrastructure on Windows, and needs
+the MSAA SDK, which is part of most platform SDKs. With improving
+standardization of accessibility on other platforms, Qt will support
+assistive technologies on other systems, too.
+<p> <h3> XML Improvements
+</h3>
+<a name="1-10"></a><p> The XML framework introduced in Qt 2.2 has been vastly improved. Qt
+2.2 already supported level 1 of the Document Object Model (DOM), a
+W3C standard for accessing and modifying XML documents. Qt 3.0 has
+added support for DOM Level 2 and XML namespaces.
+<p> The XML parser has been extended to allow incremental parsing of XML
+documents. This allows you to start parsing the document directly
+after the first parts of the data have arrived, and to continue
+whenever new data is available. This is especially useful if the XML
+document is read from a slow source, e.g. over the network, as it
+allows the application to start working on the data at a very early
+stage.
+<p> <h3> SVG support
+</h3>
+<a name="1-11"></a><p> SVG is a W3C standard for "Scalable Vector Graphics". Qt 3.0's XML
+support means that <a href="qpicture.html">QPicture</a> can optionally generate and import static
+SVG documents. All the SVG features that have an equivalent in
+<a href="qpainter.html">QPainter</a> are supported.
+<p> <h3> Multihead support
+</h3>
+<a name="1-12"></a><p> Many professional applications, such as DTP and CAD software, are able
+to display data on two or more monitors. In Qt 3.0 the <a href="qdesktopwidget.html">QDesktopWidget</a>
+class provides the application with runtime information about the
+number and geometry of the desktops on the different monitors and such
+allows applications to efficiently use a multi-monitor setup.
+<p> The virtual desktop of Mac OS X, Windows 98, and 2000 is supported, as well
+as the traditional multi-screen and the newer Xinerama multihead setups on
+X11.
+<p> <h3> X11 specific enhancements
+</h3>
+<a name="1-13"></a><p> Qt 3.0 now complies with the NET WM Specification, recently adopted
+by KDE 2.0. This allows easy integration and proper execution with
+desktop environments that support the NET WM specification.
+<p> The font handling on X11 has undergone major changes. <a href="qfont.html">QFont</a> no longer
+has a one-to-one relation with window system fonts. QFont is now a
+logical font that can load multiple window system fonts to simplify
+Unicode text display. This completely removes the burden of
+changing/setting fonts for a specific locale/language from the
+programmer. For end-users, any font can be used in any locale. For
+example, a user in Norway will be able to see Korean text without
+having to set their locale to Korean.
+<p> Qt 3.0 also supports the new render extension recently added to
+XFree86. This adds support for anti aliased text and pixmaps with
+alpha channel (semi transparency) on the systems that support the
+rendering extension (at the moment XFree 4.0.3 and later).
+<p> <h3> Printing
+</h3>
+<a name="1-14"></a><p> Printing support has been enhanced on all platforms. The <a href="qprinter.html">QPrinter</a>
+class now supports setting a virtual resolution for the painting
+process. This makes WYSIWYG printing trivial, and also allows you to
+take full advantage of the high resolution of a printer when painting
+on it.
+<p> The postscript driver built into Qt and used on Unix has been greatly
+enhanced. It supports the embedding of true/open type and type1 fonts
+into the document, and can correctly handle and display Unicode.
+Support for fonts built into the printer has been enhanced and Qt now
+knows about the most common printer fonts used for Asian languages.
+<p> <h3> <a href="qhttp.html">QHttp</a>
+</h3>
+<a name="1-15"></a><p> This class provides a simple interface for HTTP downloads and uploads.
+<p> <h3> Compatibility with the Standard Template Library (STL)
+</h3>
+<a name="1-16"></a><p> Support for the C++ Standard Template Library has been added to the
+<a href="qt-template-lib.html">Qt Template Library (QTL)</a>. The QTL
+classes now contain appropriate copy constructors and typedefs so that
+they can be freely mixed with other STL containers and algorithms. In
+addition, new member functions have been added to QTL template classes
+which correspond to STL-style naming conventions (e.g., push_back()).
+<p> <h2> Qt Designer
+</h2>
+<a name="2"></a><p> <a href="designer-manual.html">Qt Designer</a> was a pure dialog
+editor in Qt 2.2 but has now been extended to provide the full
+functionality of a GUI design tool.
+<p> This includes the ability to lay out main windows with menus and
+toolbars. Actions can be edited within Qt Designer and then plugged
+into toolbars and menu bars via drag and drop. Splitters can now be
+used in a way similar to layouts to group widgets horizontally or
+vertically.
+<p> In Qt 2.2, many of the dialogs created by Qt Designer had to be
+subclassed to implement functionality beyond the predefined signal and
+slot connections. Whilst the subclassing approach is still fully supported,
+Qt Designer now offers an alternative: a plugin for editing
+slots. The editor offers features such as syntax highlighting,
+completion, parentheses matching and incremental search.
+<p> The functionality of Qt Designer can now be extended via plugins.
+Using Qt Designer's interface or by implementing one of the provided
+interfaces in a plugin, a two way communication between plugin and Qt
+Designer can be established. This functionality is used to implement
+plugins for custom widgets, so that they can be used as real widgets
+inside the designer.
+<p> Basic support for project management has been added. This allows you
+to read and edit *.pro files, add and remove files to/from the project
+and do some global operations on the project. You can now open the
+project file and have one-click access to all the *.ui forms in the
+project.
+<p> In addition to generating code via uic, Qt Designer now supports the
+dynamic creation of widgets directly from XML user interface
+description files (*.ui files) at runtime. This eliminates the need of
+recompiling your application when the GUI changes, and could be used
+to enable your customers to do their own customizations. Technically,
+the feature is provided by a new class, <a href="qwidgetfactory.html">QWidgetFactory</a> in the
+QResource library.
+<p> <h2> Qt Linguist
+</h2>
+<a name="3"></a><p> <a href="linguist-manual.html">Qt Linguist</a> is a GUI utility to
+support translating the user-visible text in applications written with
+Qt. It comes with two command-line tools: lupdate and lrelease.
+<p> Translation of a Qt application is a three-step process:
+<p> <ul>
+<li> Run lupdate to extract user-visible text from the C++ source
+code of the Qt application, resulting in a translation source file
+(a *.ts file).
+<li> Provide translations for the source texts in the *.ts file using
+Qt Linguist.
+<li> Run lrelease to obtain a light-weight message file (a *.qm file)
+from the *.ts file, which provides very fast lookup for released
+applications.
+</ul>
+<p> Qt Linguist is a tool suitable for use by translators. Each
+user-visible (source) text is characterized by the text itself, a
+context (usually the name of the C++ class containing the text), and
+an optional comment to help the translator. The C++ class name will
+usually be the name of the relevant dialog, and the comment will often
+contain instructions that describe how to navigate to the relevant
+dialog.
+<p> You can create phrase books for Qt Linguist to provide common
+translations to help ensure consistency and to speed up the
+translation process. Whenever a translator navigates to a new text to
+translate, Qt Linguist uses an intelligent algorithm to provide a list
+of possible translations: the list is composed of relevant text from
+any open phrase books and also from identical or similar text that has
+already been translated.
+<p> Once a translation is complete it can be marked as "done"; such
+translations are included in the *.qm file. Text that has not been
+"done" is included in the *.qm file in its original form. Although Qt
+Linguist is a GUI application with dock windows and mouse control,
+toolbars, etc., it has a full set of keyboard shortcuts to make
+translation as fast and efficient as possible.
+<p> When the Qt application that you're developing evolves (e.g. from
+version 1.0 to version 1.1), the utility lupdate merges the source
+texts from the new version with the previous translation source file,
+reusing existing translations. In some typical cases, lupdate may
+suggest translations. These translations are marked as unfinished, so
+you can easily find and check them.
+<p> <h2> Qt Assistant
+</h2>
+<a name="4"></a><p> Thanks to the positive feedback we received about the <a href="helpsystem.html#help-system">help system</a>
+built into <a href="designer-manual.html">Qt Designer</a>, we decided
+to offer this part as a separate application called <a href="assistant.html">Qt Assistant</a>. Qt Assistant can be used to
+browse the Qt class documentation as well as the manuals for Qt
+Designer and Qt Linguist. It offers index searching, a contents
+overview, bookmarks history and incremental search. Qt Assistant is
+used by both Qt Designer and Qt Linguist for browsing their help
+documentation.
+<p> <h2> qmake
+</h2>
+<a name="5"></a><p> To ease portability we now provide the <a href="qmake-manual.html">qmake</a> utility to replace tmake. QMake is a C++ version of
+tmake which offers additional functionallity that is difficult to
+reproduce in tmake. Trolltech uses qmake in its build system for Qt
+and related products and we have released it as free software.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/layout-example.html b/doc/html/layout-example.html
new file mode 100644
index 0000000..8f8bf95
--- /dev/null
+++ b/doc/html/layout-example.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/layout/layout.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Layout Managers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Layout Managers</h1>
+
+
+<p>
+This example shows simple and intermediate use of Qt's layout
+classes, <a href="qgridlayout.html">QGridLayout</a>, <a href="qboxlayout.html">QBoxLayout</a> etc.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/layout.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+
+class ExampleWidget : public <a href="qwidget.html">QWidget</a>
+{
+public:
+ ExampleWidget( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+ ~ExampleWidget();
+};
+
+<a name="f260"></a>ExampleWidget::ExampleWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ // Make the top-level layout; a vertical box to contain all widgets
+ // and sub-layouts.
+ <a href="qboxlayout.html">QBoxLayout</a> *topLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 5 );
+
+ // Create a menubar...
+ <a href="qmenubar.html">QMenuBar</a> *menubar = new <a href="qmenubar.html">QMenuBar</a>( this );
+<a name="x540"></a> menubar-&gt;<a href="qmenubar.html#setSeparator">setSeparator</a>( QMenuBar::InWindowsStyle );
+ <a href="qpopupmenu.html">QPopupMenu</a>* popup;
+ popup = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ popup-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", popup );
+
+ // ...and tell the layout about it.
+<a name="x539"></a> topLayout-&gt;<a href="qlayout.html#setMenuBar">setMenuBar</a>( menubar );
+
+ // Make an hbox that will hold a row of buttons.
+ <a href="qboxlayout.html">QBoxLayout</a> *buttons = new <a href="qhboxlayout.html">QHBoxLayout</a>( topLayout );
+ int i;
+ for ( i = 1; i &lt;= 4; i++ ) {
+ <a href="qpushbutton.html">QPushButton</a>* but = new <a href="qpushbutton.html">QPushButton</a>( this );
+ <a href="qstring.html">QString</a> s;
+<a name="x542"></a> s.<a href="qstring.html#sprintf">sprintf</a>( "Button %d", i );
+<a name="x530"></a> but-&gt;<a href="qbutton.html#setText">setText</a>( s );
+
+ // Set horizontal <a href="layout.html#stretch-factor">stretch factor</a> to 10 to let the buttons
+ // stretch horizontally. The buttons will not stretch
+ // vertically, since bigWidget below will take up vertical
+ // stretch.
+<a name="x529"></a> buttons-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( but, 10 );
+ // (Actually, the result would have been the same with a
+ // stretch factor of 0; if no items in a layout have non-zero
+ // stretch, the space is divided equally between members.)
+ }
+
+ // Make another hbox that will hold a left-justified row of buttons.
+ <a href="qboxlayout.html">QBoxLayout</a> *buttons2 = new <a href="qhboxlayout.html">QHBoxLayout</a>( topLayout );
+
+ <a href="qpushbutton.html">QPushButton</a>* but = new <a href="qpushbutton.html">QPushButton</a>( "Button five", this );
+ buttons2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( but );
+
+ but = new <a href="qpushbutton.html">QPushButton</a>( "Button 6", this );
+ buttons2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( but );
+
+ // Fill up the rest of the hbox with stretchable space, so that
+ // the buttons get their minimum width and are pushed to the left.
+<a name="x528"></a> buttons2-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 10 );
+
+ // Make a big widget that will grab all space in the middle.
+ <a href="qmultilineedit.html">QMultiLineEdit</a> *bigWidget = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this );
+ bigWidget-&gt;<a href="qtextedit.html#setText">setText</a>( "This widget will get all the remaining space" );
+<a name="x531"></a> bigWidget-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Plain );
+
+ // Set vertical stretch factor to 10 to let the bigWidget stretch
+ // vertically. It will stretch horizontally because there are no
+ // widgets beside it to take up horizontal stretch.
+ // topLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bigWidget, 10 );
+ topLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( bigWidget );
+
+ // Make a grid that will hold a vertical table of QLabel/QLineEdit
+ // pairs next to a large QMultiLineEdit.
+
+ // Don't use hard-coded row/column numbers in QGridLayout, you'll
+ // regret it when you have to change the layout.
+ const int numRows = 3;
+ const int labelCol = 0;
+ const int linedCol = 1;
+ const int multiCol = 2;
+
+ // Let the grid-layout have a spacing of 10 pixels between
+ // widgets, overriding the default from topLayout.
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( topLayout, 0, 0, 10 );
+ int row;
+
+ for ( row = 0; row &lt; numRows; row++ ) {
+ <a href="qlineedit.html">QLineEdit</a> *ed = new <a href="qlineedit.html">QLineEdit</a>( this );
+ // The line edit goes in the second column
+<a name="x533"></a> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( ed, row, linedCol );
+
+ // Make a label that is a buddy of the line edit
+ <a href="qstring.html">QString</a> s;
+ s.<a href="qstring.html#sprintf">sprintf</a>( "Line &amp;%d", row+1 );
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>( ed, s, this );
+ // The label goes in the first column.
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( label, row, labelCol );
+ }
+
+ // The multiline edit will cover the entire vertical range of the
+ // grid (rows 0 to numRows) and stay in column 2.
+
+ <a href="qmultilineedit.html">QMultiLineEdit</a> *med = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this );
+<a name="x532"></a> grid-&gt;<a href="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</a>( med, 0, -1, multiCol, multiCol );
+
+ // The labels will take the space they need. Let the remaining
+ // horizontal space be shared so that the multiline edit gets
+ // twice as much as the line edit.
+<a name="x534"></a> grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( linedCol, 10 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( multiCol, 20 );
+
+ // Add a widget at the bottom.
+ <a href="qlabel.html">QLabel</a>* sb = new <a href="qlabel.html">QLabel</a>( this );
+ sb-&gt;<a href="qlabel.html#setText">setText</a>( "Let's pretend this is a status bar" );
+ sb-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+ // This widget will use all horizontal space, and have a fixed height.
+
+ // we should have made a subclass and implemented sizePolicy there...
+<a name="x545"></a><a name="x537"></a> sb-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( sb-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() );
+
+<a name="x535"></a> sb-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignVCenter | AlignLeft );
+ topLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( sb );
+
+<a name="x538"></a> topLayout-&gt;<a href="qlayout.html#activate">activate</a>();
+}
+
+ExampleWidget::~ExampleWidget()
+{
+ // All child widgets are deleted by Qt.
+ // The top-level layout and all its sub-layouts are deleted by Qt.
+}
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ExampleWidget f;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(&amp;f);
+ f.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Layouts");
+ f.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/layout.html b/doc/html/layout.html
new file mode 100644
index 0000000..a36f5a0
--- /dev/null
+++ b/doc/html/layout.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/layout.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Layout Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Layout Classes</h1>
+
+
+
+<p> The Qt layout system provides a simple and powerful way of specifying
+the layout of child widgets.
+<p> By specifying the logical layout once, you get the following benefits:
+<ul>
+<li> Positioning of child widgets.
+<li> Sensible default sizes for top-level widgets.
+<li> Sensible minimum sizes for top-level widgets.
+<li> Resize handling.
+<li> Automatic update when contents change:
+<ul>
+<li> Font size, text or other contents of subwidgets.
+<li> Hiding or showing a subwidget.
+<li> Removal of subwidget.
+</ul>
+</ul>
+<p> Qt's layout classes were designed for hand-written C++ code, so
+they're easy to understand and use.
+<p> The disadvantage of hand-written layout code is that it isn't very
+convenient when you're experimenting with the design of a form and you
+have to go through the compile, link and run cycle for each change.
+Our solution is <a href="designer-manual.html">Qt Designer</a>, a GUI
+visual design tool which makes it fast and easy to experiment with
+layouts and which generates the C++ layout code for you.
+<p> <h2> Layout Widgets
+</h2>
+<a name="1"></a><p> The easiest way to give your widgets a good layout is to use the
+layout widgets: <a href="qhbox.html">QHBox</a>, <a href="qvbox.html">QVBox</a> and <a href="qgrid.html">QGrid</a>. A layout widget
+automatically lays out its child widgets in the order they are
+constructed. To create more complex layouts, you can nest layout
+widgets inside each other. (Note that <a href="qwidget.html">QWidget</a> does not have a
+layout by default, you must add one if you want to lay out widgets
+inside a <a href="qwidget.html">QWidget</a>.)
+<p> <ul>
+<li> A <a href="qhbox.html">QHBox</a> lays out its child widgets in a horizontal row, left to right.
+<p> <center><img src="qhbox-m.png" alt="Horizontal box with five child widgets"></center>
+<p> <li> A <a href="qvbox.html">QVBox</a> lays out its child widgets in a vertical column, top to bottom.
+<p> <center><img src="qvbox-m.png" alt="Vertical box with five child widgets"></center>
+<p> <li> A <a href="qgrid.html">QGrid</a> lays out its child widgets in a two dimensional grid.
+You can specify how many columns the grid has, and it is populated left to
+right, beginning a new row when the previous row is full. The grid is
+fixed; the child widgets will not flow to other rows as the widget is
+resized.
+</ul>
+<p> <center><img src="qgrid-m.png" alt="Two-column grid with five child widgets"></center>
+<p> The grid shown above can be produced by the following code:
+<pre>
+ <a href="qgrid.html">QGrid</a> *mainGrid = new <a href="qgrid.html">QGrid</a>( 2 ); // a 2 x n grid
+ new <a href="qlabel.html">QLabel</a>( "One", mainGrid );
+ new <a href="qlabel.html">QLabel</a>( "Two", mainGrid );
+ new <a href="qlabel.html">QLabel</a>( "Three", mainGrid );
+ new <a href="qlabel.html">QLabel</a>( "Four", mainGrid );
+ new <a href="qlabel.html">QLabel</a>( "Five", mainGrid );
+</pre>
+
+<p> You can adjust the layout to some extent by calling
+<a href="qwidget.html#setMinimumSize">QWidget::setMinimumSize</a>() or <a href="qwidget.html#setFixedSize">QWidget::setFixedSize</a>() on the child widgets.
+<p> <h2> Adding Widgets to a Layout
+</h2>
+<a name="2"></a><p> When you add widgets to a layout the layout process works as follows:
+<ol type=1>
+<li> All the widgets will initially be allocated an amount of space in
+accordance with their <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>().
+<li> If any of the widgets have stretch factors set, with a value
+greater than zero, then they are allocated space in proportion to
+their <a href="#stretch">stretch factor</a>.
+<li> If any of the widgets have stretch factors set to zero they will
+only get more space if no other widgets want the space. Of these,
+space is allocated to widgets with an <tt>Expanding</tt> size policy first.
+<li> Any widgets that are allocated less space than their minimum size
+(or minimum size hint if no minimum size is specified) are allocated
+this minimum size they require. (Widgets don't have to have a minimum
+size or minimum size hint in which case the strech factor is their
+determining factor.)
+<li> Any widgets that are allocated more space than their maximum size
+are allocated the maximum size space they require. (Widgets don't have
+to have a maximum size in which case the strech factor is their
+determining factor.)
+</ol>
+<p> <a name="stretch"></a>
+<h3> Stretch Factors
+<!-- index stretch factor --><a name="stretch-factor"></a>
+</h3>
+<a name="2-1"></a><p> Widgets are normally created without any stretch factor set. When they
+are laid out in a layout the widgets are given a share of space in
+accordance with their <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>() or their minimum size hint
+whichever is the greater. Stretch factors are used to change how much
+space widgets are given in proportion to one another.
+<p> If we have three widgets laid out using a <a href="qhbox.html">QHBox</a> with no stretch
+factors set we will get a layout like this:
+<p> <center><img src="layout1.png" alt="3 widgets in a row"></center>
+<p> If we apply stretch factors to each widget, they will be laid out in
+proportion (but never less than their minimum size hint), e.g.
+<p> <center><img src="layout2.png" alt="3 stretch factored widgets in a row"></center>
+<p> <h2> <a href="qlayout.html">QLayout</a> subclassing
+</h2>
+<a name="3"></a><p> If you need more control over the layout, use a <a href="qlayout.html">QLayout</a> subclass. The layout classes included in Qt are <a href="qgridlayout.html">QGridLayout</a> and <a href="qboxlayout.html">QBoxLayout</a>. (<a href="qhboxlayout.html">QHBoxLayout</a> and <a href="qvboxlayout.html">QVBoxLayout</a> are trivial subclasses of <a href="qboxlayout.html">QBoxLayout</a>,
+that are simpler to use and make the code easier to read.)
+<p> When you use a layout, you must insert each child both into its parent
+widget (done in the constructor) and into its layout (typically done
+with a function called addWidget()). This way, you can give layout
+parameters for each widget, specifying properties like alignment,
+stretch, and placement.
+<p> The following code makes a grid like the one above, with a couple of
+improvements:
+<pre>
+ <a href="qwidget.html">QWidget</a> *main = new <a href="qwidget.html">QWidget</a>;
+
+ // make a 1x1 grid; it will auto-expand
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( main, 1, 1 );
+
+ // add the first four widgets with (row, column) addressing
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "One", main ), 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Two", main ), 0, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Three", main ), 1, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Four", main ), 1, 1 );
+
+ // add the last widget on row 2, spanning from column 0 to
+ // column 1, and center aligned
+ grid-&gt;<a href="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</a>( new <a href="qlabel.html">QLabel</a>( "Five", main ), 2, 2, 0, 1,
+ Qt::AlignCenter );
+
+ // let the ratio between the widths of columns 0 and 1 be 2:3
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 0, 2 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 3 );
+</pre>
+
+<p> You can insert layouts inside a layout by giving the parent layout as
+a parameter in the constructor.
+<pre>
+ <a href="qwidget.html">QWidget</a> *main = new <a href="qwidget.html">QWidget</a>;
+ <a href="qlineedit.html">QLineEdit</a> *field = new <a href="qlineedit.html">QLineEdit</a>( main );
+ <a href="qpushbutton.html">QPushButton</a> *ok = new <a href="qpushbutton.html">QPushButton</a>( "OK", main );
+ <a href="qpushbutton.html">QPushButton</a> *cancel = new <a href="qpushbutton.html">QPushButton</a>( "Cancel", main );
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>( "Write once, compile everywhere.", main );
+
+ // a layout on a widget
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox = new <a href="qvboxlayout.html">QVBoxLayout</a>( main );
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( field );
+
+ // a layout inside a layout
+ <a href="qhboxlayout.html">QHBoxLayout</a> *buttons = new <a href="qhboxlayout.html">QHBoxLayout</a>( vbox );
+ buttons-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( ok );
+ buttons-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cancel );
+</pre>
+
+If you are not satisfied with the default placement, you can create
+the layout without a parent and then insert it with addLayout().
+The inner layout then becomes a child of the layout it is inserted
+into.
+<p> <h2> Custom Layouts
+</h2>
+<a name="4"></a><p> If the built-in layout classes are not sufficient, you can define your
+own. You must make a subclass of <a href="qlayout.html">QLayout</a> that handles resizing and
+size calculations, as well as a subclass of <a href="qglayoutiterator.html">QGLayoutIterator</a> to
+iterate over your layout class.
+<p> See the <a href="customlayout.html">Custom Layout</a> page for an
+in-depth description.
+<p> <h2> Custom Widgets In Layouts
+</h2>
+<a name="5"></a><p> When you make your own widget class, you should also communicate its
+layout properties. If the widget has a <a href="qlayout.html">QLayout</a>, this is already taken
+care of. If the widget does not have any child widgets, or uses manual
+layout, you should reimplement the following <a href="qwidget.html">QWidget</a> member functions:
+<p> <ul>
+<li> <a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() returns the preferred size of the widget.
+<li> <a href="qwidget.html#minimumSizeHint">QWidget::minimumSizeHint</a>() returns the smallest size the widget can have.
+<li> <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>() returns a <a href="qsizepolicy.html">QSizePolicy</a>; a value describing
+the space requirements of the widget.
+</ul>
+<p> Call <a href="qwidget.html#updateGeometry">QWidget::updateGeometry</a>() whenever the size hint, minimum size
+hint or size policy changes. This will cause a layout recalculation.
+Multiple calls to updateGeometry() will only cause one recalculation.
+<p> If the preferred height of your widget depends on its actual width
+(e.g. a label with automatic word-breaking), set the <a href="qsizepolicy.html#hasHeightForWidth">hasHeightForWidth</a>() flag in
+<a href="qwidget.html#sizePolicy">sizePolicy</a>(), and reimplement <a href="qwidget.html#heightForWidth">QWidget::heightForWidth</a>().
+<p> Even if you implement heightForWidth(), it is still necessary to
+provide a good sizeHint(). The sizeHint() provides the preferred width
+of the widget, and it is used by <a href="qlayout.html">QLayout</a> subclasses that do not
+support heightForWidth() (both <a href="qgridlayout.html">QGridLayout</a> and <a href="qboxlayout.html">QBoxLayout</a> support it).
+<p> For further guidance when implementing these functions, see their
+implementations in existing Qt classes that have similar layout
+requirements to your new widget.
+<p> <h2> Manual Layout
+</h2>
+<a name="6"></a><p> If you are making a one-of-a-kind special layout, you can also make a
+custom widget as described above. Reimplement <a href="qwidget.html#resizeEvent">QWidget::resizeEvent</a>()
+to calculate the required distribution of sizes and call <a href="qwidget.html#setGeometry">setGeometry</a>() on each child.
+<p> The widget will get an event with <a href="qevent.html#type">type</a>
+<tt>LayoutHint</tt> when the layout needs to be recalculated. Reimplement
+<a href="qwidget.html#event">QWidget::event</a>() to be notified of <tt>LayoutHint</tt> events.
+<p> <h2> Layout Issues
+</h2>
+<a name="7"></a><p> The use of rich text in a label widget can introduce some problems to
+the layout of its parent widget. Problems occur due to the way rich text
+is handled by Qt's layout managers when the label is word wrapped.
+In certain cases the parent layout is put into QLayout::FreeResize mode,
+meaning that it will not adapt the layout of its contents to fit inside
+small sized windows, or even prevent the user from making the
+window too small to be usable. This can be overcome by subclassing
+the problematic widgets, and implementing suitable sizeHint() and
+minimumSizeHint() functions.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/layout1.png b/doc/html/layout1.png
new file mode 100644
index 0000000..ac7960a
--- /dev/null
+++ b/doc/html/layout1.png
Binary files differ
diff --git a/doc/html/layout2.png b/doc/html/layout2.png
new file mode 100644
index 0000000..304e536
--- /dev/null
+++ b/doc/html/layout2.png
Binary files differ
diff --git a/doc/html/license.html b/doc/html/license.html
new file mode 100644
index 0000000..7bdb897
--- /dev/null
+++ b/doc/html/license.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:292 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Open Source Edition License Agreement</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Open Source Edition License Agreement</h1>
+
+
+<p> The Qt Open Source Edition is distributed under the Q Public License (QPL).
+It allows free use of Qt Open Source Edition for running software developed by
+others, and free use of Qt Open Source Edition for development of free and open source
+software. There is <a href="http://www.trolltech.com/qpl/">more information
+about the QPL</a> at the Trolltech web site.
+<p> Note that the Qt/Embedded Open Source Edition is <b>not</b> distributed
+under the QPL, but under the <a href="gpl.html">GNU General Public
+License (GPL)</a>.
+<p> For development non-free/proprietary software, the Qt Professional
+Edition is available. It has a normal commercial library license, with
+none of the special restrictions of the QPL or the GPL.
+<p> <hr>
+<p> <center>
+<h2>
+THE Q PUBLIC LICENSE
+version 1.0
+</h2>
+<b>
+Copyright (C) 1999-2007 Trolltech ASA, Norway.<br>
+Everyone is permitted to copy and distribute this license document.
+</b>
+</center>
+<p> The intent of this license is to establish freedom to share and change the
+software regulated by this license under the open source model.
+<p> This license applies to any software containing a notice placed by the
+copyright holder saying that it may be distributed under the terms of
+the Q Public License version 1.0. Such software is herein referred to as
+the Software. This license covers modification and distribution of the
+Software, use of third-party application programs based on the Software,
+and development of free software which uses the Software.
+<p> <h3 align="center">
+Granted Rights
+</h3>
+<p> 1. You are granted the non-exclusive rights set forth in this license
+provided you agree to and comply with any and all conditions in this
+license. Whole or partial distribution of the Software, or software
+items that link with the Software, in any form signifies acceptance of
+this license.
+<p> 2. You may copy and distribute the Software in unmodified form provided
+that the entire package, including - but not restricted to - copyright,
+trademark notices and disclaimers, as released by the initial developer
+of the Software, is distributed.
+<p> 3. You may make modifications to the Software and distribute your
+modifications, in a form that is separate from the Software, such as
+patches. The following restrictions apply to modifications:
+<p> <blockquote>
+a. Modifications must not alter or remove any copyright notices in
+the Software.
+<p> b. When modifications to the Software are released under this
+license, a non-exclusive royalty-free right is granted to the
+initial developer of the Software to distribute your modification
+in future versions of the Software provided such versions remain
+available under these terms in addition to any other license(s) of
+the initial developer.
+</blockquote>
+<p> 4. You may distribute machine-executable forms of the Software or
+machine-executable forms of modified versions of the Software, provided
+that you meet these restrictions:
+<p> <blockquote>
+a. You must include this license document in the distribution.
+<p> b. You must ensure that all recipients of the machine-executable forms
+are also able to receive the complete machine-readable source code
+to the distributed Software, including all modifications, without
+any charge beyond the costs of data transfer, and place prominent
+notices in the distribution explaining this.
+<p> c. You must ensure that all modifications included in the
+machine-executable forms are available under the terms of this
+license.
+<p> </blockquote>
+<p> 5. You may use the original or modified versions of the Software to
+compile, link and run application programs legally developed by you
+or by others.
+<p> 6. You may develop application programs, reusable components and other
+software items that link with the original or modified versions of the
+Software. These items, when distributed, are subject to the following
+requirements:
+<p> <blockquote>
+a. You must ensure that all recipients of machine-executable forms of
+these items are also able to receive and use the complete
+machine-readable source code to the items without any charge
+beyond the costs of data transfer.
+<p> b. You must explicitly license all recipients of your items to use
+and re-distribute original and modified versions of the items in
+both machine-executable and source code forms. The recipients must
+be able to do so without any charges whatsoever, and they must be
+able to re-distribute to anyone they choose.
+<p> c. If the items are not available to the general public, and the
+initial developer of the Software requests a copy of the items,
+then you must supply one.
+</blockquote>
+<p> <h3 align="center">
+Limitations of Liability
+</h3>
+<p> In no event shall the initial developers or copyright holders be liable
+for any damages whatsoever, including - but not restricted to - lost
+revenue or profits or other direct, indirect, special, incidental or
+consequential damages, even if they have been advised of the possibility
+of such damages, except to the extent invariable law, if any, provides
+otherwise.
+<p> <h3 align="center">
+No Warranty
+</h3>
+<p> The Software and this license document are provided AS IS with NO WARRANTY
+OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE.
+<p> <h3 align="center">
+Choice of Law
+</h3>
+<p> This license is governed by the Laws of Norway. Disputes shall be settled
+by Oslo City Court.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/licenses.html b/doc/html/licenses.html
new file mode 100644
index 0000000..b00118f
--- /dev/null
+++ b/doc/html/licenses.html
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:1011 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Licenses for Code Used in Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Licenses for Code Used in Qt</h1>
+
+
+Qt contains a little code that is not under the <a href="license.html">QPL</a>, the <a href="gpl.html">GPL</a>, or the Qt Commercial
+License Agreement, but rather under specific highly permissive
+licenses from the original authors. This page lists the licenses used
+for that code, names the authors, and links to the points where it is
+used.
+<p> Trolltech gratefully acknowledges these and others contribution to
+Qt. We recommend that all programs that use Qt also acknowledge these
+contributions, and quote all these license statements in an appendix
+to the documentation.
+<p> <hr>
+<p> Copyright (C) 1989, 1991 by Jef Poskanzer.
+<p> Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation. This software is
+provided "as is" without express or implied warranty.
+<p><ul>
+<li><a href="qimage.html#smoothScale">QImage::smoothScale</a>
+</ul>
+<hr>
+<p> Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qeucjpcodec.html">QEucJpCodec</a>
+<li><a href="qjiscodec.html">QJisCodec</a>
+<li><a href="qsjiscodec.html">QSjisCodec</a>
+</ul>
+<hr>
+<p> Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met: <ol>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qeuckrcodec.html">QEucKrCodec</a>
+</ul>
+<hr>
+<p> Copyright (C) 2000 Ming-Che Chuang
+Copyright (C) 2001, 2002 James Su, Turbolinux Inc.
+Copyright (C) 2002 WU Yi, HancomLinux Inc.
+Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>
+</ul>
+<hr>
+<p> Copyright (C) 2000 Ming-Che Chuang
+Copyright (C) 2002 James Su, Turbolinux Inc.
+Copyright (C) 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qbig5codec.html">QBig5Codec</a>
+</ul>
+<hr>
+<p> Copyright (C) 2000 Hans Petter Bieker. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qtsciicodec.html">QTsciiCodec</a>
+</ul>
+<hr>
+<p> Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.
+Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su.
+Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.<ul>
+<li><a href="qgb18030codec.html">QGb18030Codec</a>
+</ul>
+<hr>
+<p> Copyright (c) 1989 The Regents of the University of California.
+All rights reserved.
+<p> Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+advertising materials, and other materials related to such
+distribution and use acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+<p><ul>
+<li><a href="qdate.html#weekNumber">QDate::weekNumber</a>
+</ul>
+<hr>
+<p> Copyright (c) 1991 by AT&T.
+<p> Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+<p> THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+<p> This product includes software developed by the University of
+California, Berkeley and its contributors.<ul>
+<li><a href="qlocale.html">QLocale</a>
+</ul>
+<hr>
+<p> Copyright (c) 2002 Jorge Acereda and Peter O'Gorman
+<p> Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+<p> The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+<p> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<ul>
+<li><a href="qlibrary.html#load">QLibrary::load</a>
+<li><a href="qlibrary.html#resolve">QLibrary::resolve</a>
+</ul>
+<hr>
+<p> Copyright 1995, Trinity College Computing Center.
+Written by David Chappell.
+<p> Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation. This software is
+provided "as is" without express or implied warranty.
+<p> TrueType font support. These functions allow PPR to generate
+PostScript fonts from Microsoft compatible TrueType font files.
+<p> The functions in this file do most of the work to convert a
+TrueType font to a type 3 PostScript font.
+<p> Most of the material in this file is derived from a program called
+"ttf2ps" which L. S. Ng posted to the usenet news group
+"comp.sources.postscript". The author did not provide a copyright
+notice or indicate any restrictions on use.
+<p> Last revised 11 July 1995.
+<p><ul>
+<li><a href="qprinter.html">QPrinter</a>
+</ul>
+<hr>
+<p> Copyright 1996 Daniel Dardailler.
+<p> Permission to use, copy, modify, distribute, and sell this software
+for any purpose is hereby granted without fee, provided that the above
+copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation,
+and that the name of Daniel Dardailler not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Daniel Dardailler makes no representations
+about the suitability of this software for any purpose. It is
+provided "as is" without express or implied warranty.
+<p> Modifications Copyright 1999 Matt Koss, under the same license as
+above.
+<p><ul>
+<li><a href="dnd.html">Drag and Drop</a>
+</ul>
+<hr>
+<p> Qt supports GIF reading if it is configured that way during
+installation (see qgif.h). If it is, we are required to state that
+"The Graphics Interchange Format(c) is the Copyright property of
+CompuServe Incorporated. GIF(sm) is a Service Mark property of
+CompuServe Incorporated."
+<p> <b>Warning:</b> If you are in a country that recognizes software patents
+and in which Unisys holds a patent on LZW compression and/or
+decompression and you want to use GIF, Unisys may require you to
+license that technology. Such countries include Canada, Japan,
+the USA, France, Germany, Italy and the UK.
+<p> GIF support may be removed completely in a future version of Qt.
+We recommend using the MNG or PNG format.<ul>
+<li><a href="qimagedecoder.html">QImageDecoder</a>
+</ul>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/life-example.html b/doc/html/life-example.html
new file mode 100644
index 0000000..fed6832
--- /dev/null
+++ b/doc/html/life-example.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/life/life.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Conway's Game of Life</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Conway's Game of Life</h1>
+
+
+<p>
+<hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/life.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LIFE_H
+#define LIFE_H
+
+#include &lt;<a href="qframe-h.html">qframe.h</a>&gt;
+
+
+class LifeWidget : public <a href="qframe.html">QFrame</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ LifeWidget( int s = 10, QWidget *parent = 0, const char *name = 0 );
+
+ void setPoint( int i, int j );
+
+ int maxCol() { return maxi; }
+ int maxRow() { return maxj; }
+
+public slots:
+ void nextGeneration();
+ void clear();
+
+protected:
+ virtual void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ virtual void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ virtual void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ virtual void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+ void mouseHandle( const <a href="qpoint.html">QPoint</a> &amp;pos );
+
+private:
+ enum { MAXSIZE = 50, MINSIZE = 10, BORDER = 5 };
+
+ bool cells[2][MAXSIZE + 2][MAXSIZE + 2];
+ int current;
+ int maxi, maxj;
+
+ int pos2index( int x )
+ {
+ return ( x - BORDER ) / SCALE + 1;
+ }
+ int index2pos( int i )
+ {
+ return ( i - 1 ) * SCALE + BORDER;
+ }
+
+ int SCALE;
+};
+
+
+#endif // LIFE_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/life.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "life.h"
+
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qdrawutil-h.html">qdrawutil.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+// The main game of life widget
+
+<a name="f517"></a>LifeWidget::LifeWidget( int s, QWidget *parent, const char *name )
+ : <a href="qframe.html">QFrame</a>( parent, name )
+{
+ SCALE = s;
+
+ maxi = maxj = 50;
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( MINSIZE * SCALE + 2 * BORDER,
+ MINSIZE * SCALE + 2 * BORDER );
+ <a href="qwidget.html#setMaximumSize">setMaximumSize</a>( MAXSIZE * SCALE + 2 * BORDER,
+ MAXSIZE * SCALE + 2 * BORDER );
+ <a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>( SCALE, SCALE);
+
+ clear();
+ <a href="qwidget.html#resize">resize</a>( maxi * SCALE + 2 * BORDER , maxj * SCALE + 2 * BORDER );
+
+}
+
+
+void <a name="f518"></a>LifeWidget::clear()
+{
+ current = 0;
+ for ( int t = 0; t &lt; 2; t++ )
+ for ( int i = 0; i &lt; MAXSIZE + 2; i++ )
+ for ( int j = 0; j &lt; MAXSIZE + 2; j++ )
+ cells[t][i][j] = FALSE;
+
+ <a href="qwidget.html#repaint">repaint</a>();
+}
+
+
+// We assume that the size will never be beyond the maximum size set
+// this is not in general TRUE, but in practice it's good enough for
+// this program
+
+<a name="x1889"></a>void LifeWidget::<a href="qframe.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * e )
+{
+<a name="x1895"></a> maxi = (e-&gt;<a href="qresizeevent.html#size">size</a>().width() - 2 * BORDER) / SCALE;
+ maxj = (e-&gt;<a href="qresizeevent.html#size">size</a>().height() - 2 * BORDER) / SCALE;
+}
+
+
+void <a name="f519"></a>LifeWidget::setPoint( int i, int j )
+{
+ if ( i &lt; 1 || i &gt; maxi || j &lt; 1 || j &gt; maxi )
+ return;
+ cells[current][i][j] = TRUE;
+ <a href="qwidget.html#repaint">repaint</a>( index2pos(i), index2pos(j), SCALE, SCALE, FALSE );
+}
+
+
+void <a name="f520"></a>LifeWidget::mouseHandle( const <a href="qpoint.html">QPoint</a> &amp;pos )
+{
+<a name="x1893"></a> int i = pos2index( pos.<a href="qpoint.html#x">x</a>() );
+<a name="x1894"></a> int j = pos2index( pos.<a href="qpoint.html#y">y</a>() );
+ setPoint( i, j );
+}
+
+
+<a name="x1896"></a>void LifeWidget::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+<a name="x1891"></a> mouseHandle( e-&gt;<a href="qmouseevent.html#pos">pos</a>() );
+}
+
+
+<a name="x1897"></a>void LifeWidget::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+<a name="x1890"></a> if ( e-&gt;<a href="qmouseevent.html#button">button</a>() == QMouseEvent::LeftButton )
+ mouseHandle( e-&gt;<a href="qmouseevent.html#pos">pos</a>() );
+}
+
+
+void <a name="f521"></a>LifeWidget::nextGeneration()
+{
+ for ( int i = 1; i &lt;= MAXSIZE; i++ ) {
+ for ( int j = 1; j &lt;= MAXSIZE; j++ ) {
+ int t = cells[current][i - 1][j - 1]
+ + cells[current][i - 1][j]
+ + cells[current][i - 1][j + 1]
+ + cells[current][i][j - 1]
+ + cells[current][i][j + 1]
+ + cells[current][i + 1][j - 1]
+ + cells[current][i + 1][j]
+ + cells[current][i + 1][j + 1];
+
+ cells[!current][i][j] = ( t == 3 ||
+ t == 2 &amp;&amp; cells[current][i][j] );
+ }
+ }
+ current = !current;
+ <a href="qwidget.html#repaint">repaint</a>( FALSE ); // repaint without erase
+}
+
+
+<a name="x1888"></a>void LifeWidget::<a href="qframe.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * e )
+{
+<a name="x1892"></a> int starti = pos2index( e-&gt;<a href="qpaintevent.html#rect">rect</a>().left() );
+ int stopi = pos2index( e-&gt;<a href="qpaintevent.html#rect">rect</a>().right() );
+ int startj = pos2index( e-&gt;<a href="qpaintevent.html#rect">rect</a>().top() );
+ int stopj = pos2index( e-&gt;<a href="qpaintevent.html#rect">rect</a>().bottom() );
+
+ if (stopi &gt; maxi)
+ stopi = maxi;
+ if (stopj &gt; maxj)
+ stopj = maxj;
+
+ <a href="qpainter.html">QPainter</a> paint( this );
+ for ( int i = starti; i &lt;= stopi; i++ ) {
+ for ( int j = startj; j &lt;= stopj; j++ ) {
+ if ( cells[current][i][j] )
+ <a href="qpainter.html#qDrawShadePanel">qDrawShadePanel</a>( &amp;paint, index2pos( i ), index2pos( j ),
+ SCALE - 1, SCALE - 1, colorGroup() );
+ else if ( cells[!current][i][j] )
+ <a href="qwidget.html#erase">erase</a>(index2pos( i ), index2pos( j ), SCALE - 1, SCALE - 1);
+ }
+ }
+ <a href="qframe.html#drawFrame">drawFrame</a>( &amp;paint );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "lifedlg.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+void usage()
+{
+ <a href="qapplication.html#qWarning">qWarning</a>( "Usage: life [-scale scale]" );
+}
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ int scale = 10;
+
+ for ( int i = 1; i &lt; argc; i++ ){
+ <a href="qstring.html">QString</a> arg = argv[i];
+ if ( arg == "-scale" )
+ scale = atoi( argv[++i] );
+ else {
+ usage();
+ exit(1);
+ }
+ }
+
+ if ( scale &lt; 2 )
+ scale = 2;
+
+ LifeDialog *life = new LifeDialog( scale );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( life );
+ life-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Life");
+ life-&gt;<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/lineedits-example.html b/doc/html/lineedits-example.html
new file mode 100644
index 0000000..c9a2a5a
--- /dev/null
+++ b/doc/html/lineedits-example.html
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/lineedits/lineedits.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Line Edits</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Line Edits</h1>
+
+
+<p>
+This example shows how to work with single lineedit widgets, and
+how to use different echo modes and validators.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/lineedits.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LINEDITS_H
+#define LINEDITS_H
+
+#include &lt;<a href="qgroupbox-h.html">qgroupbox.h</a>&gt;
+
+class QLineEdit;
+class QComboBox;
+
+class LineEdits : public <a href="qgroupbox.html">QGroupBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ LineEdits( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qlineedit.html">QLineEdit</a> *lined1, *lined2, *lined3, *lined4, *lined5;
+ <a href="qcombobox.html">QComboBox</a> *combo1, *combo2, *combo3, *combo4, *combo5;
+
+protected slots:
+ void slotEchoChanged( int );
+ void slotValidatorChanged( int );
+ void slotAlignmentChanged( int );
+ void slotInputMaskChanged( int );
+ void slotReadOnlyChanged( int );
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/lineedits.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "lineedits.h"
+
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qframe-h.html">qframe.h</a>&gt;
+#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+
+/*
+ * Constructor
+ *
+ * Creates child widgets of the LineEdits widget
+ */
+
+<a name="f219"></a>LineEdits::LineEdits( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qgroupbox.html">QGroupBox</a>( 0, Horizontal, "Line edits", parent, name )
+{
+ <a href="qframe.html#setMargin">setMargin</a>( 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a>* box = new <a href="qvboxlayout.html">QVBoxLayout</a>( <a href="qwidget.html#layout">layout</a>() );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> *row1 = new <a href="qhboxlayout.html">QHBoxLayout</a>( box );
+<a name="x173"></a> row1-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // Create a Label
+ <a href="qlabel.html">QLabel</a>* label = new <a href="qlabel.html">QLabel</a>( "Echo Mode: ", this);
+<a name="x169"></a> row1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+
+ // Create a Combobox with three items...
+ combo1 = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ row1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( combo1 );
+<a name="x171"></a> combo1-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Normal" );
+ combo1-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Password" );
+ combo1-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "No Echo" );
+ // ...and connect the activated() SIGNAL with the slotEchoChanged() SLOT to be able
+ // to react when an item is selected
+<a name="x170"></a> <a href="qobject.html#connect">connect</a>( combo1, SIGNAL( <a href="qcombobox.html#activated">activated</a>( int ) ), this, SLOT( slotEchoChanged( int ) ) );
+
+ // insert the first LineEdit
+ lined1 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lined1 );
+
+ // another widget which is used for layouting
+ <a href="qhboxlayout.html">QHBoxLayout</a> *row2 = new <a href="qhboxlayout.html">QHBoxLayout</a>( box );
+ row2-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // and the second label
+ label = new <a href="qlabel.html">QLabel</a>( "Validator: ", this );
+ row2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+
+ // A second Combobox with again three items...
+ combo2 = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ row2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( combo2 );
+ combo2-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "No Validator" );
+ combo2-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Integer Validator" );
+ combo2-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Double Validator" );
+ // ...and again the activated() SIGNAL gets connected with a SLOT
+ <a href="qobject.html#connect">connect</a>( combo2, SIGNAL( <a href="qcombobox.html#activated">activated</a>( int ) ), this, SLOT( slotValidatorChanged( int ) ) );
+
+ // and the second LineEdit
+ lined2 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lined2 );
+
+ // yet another widget which is used for layouting
+ <a href="qhboxlayout.html">QHBoxLayout</a> *row3 = new <a href="qhboxlayout.html">QHBoxLayout</a>( box );
+ row3-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // we need a label for this too
+ label = new <a href="qlabel.html">QLabel</a>( "Alignment: ", this );
+ row3-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+
+ // A combo box for setting alignment
+ combo3 = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ row3-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( combo3 );
+ combo3-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Left" );
+ combo3-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Centered" );
+ combo3-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Right" );
+ // ...and again the activated() SIGNAL gets connected with a SLOT
+ <a href="qobject.html#connect">connect</a>( combo3, SIGNAL( <a href="qcombobox.html#activated">activated</a>( int ) ), this, SLOT( slotAlignmentChanged( int ) ) );
+
+ // and the third lineedit
+ lined3 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lined3 );
+
+ // exactly the same for the fourth
+ <a href="qhboxlayout.html">QHBoxLayout</a> *row4 = new <a href="qhboxlayout.html">QHBoxLayout</a>( box );
+ row4-&gt;<a href="qlayout.html#setMargin">setMargin</a>( 5 );
+
+ // we need a label for this too
+ label = new <a href="qlabel.html">QLabel</a>( "Input mask: ", this );
+ row4-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+
+ // A combo box for choosing an input mask
+ combo4 = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ row4-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( combo4 );
+ combo4-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "No mask" );
+ combo4-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Phone number" );
+ combo4-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "ISO date" );
+ combo4-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "License key" );
+
+ // ...this time we use the activated( const <a href="qstring.html">QString</a> &amp; ) signal
+ <a href="qobject.html#connect">connect</a>( combo4, SIGNAL( <a href="qcombobox.html#activated">activated</a>( int ) ),
+ this, SLOT( slotInputMaskChanged( int ) ) );
+
+ // and the fourth lineedit
+ lined4 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lined4 );
+
+ // last widget used for layouting
+ <a href="qhbox.html">QHBox</a> *row5 = new <a href="qhbox.html">QHBox</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( row5 );
+ row5-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ // last label
+ (void)new <a href="qlabel.html">QLabel</a>( "Read-Only: ", row5 );
+
+ // A combo box for setting alignment
+ combo5 = new <a href="qcombobox.html">QComboBox</a>( FALSE, row5 );
+ combo5-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "False" );
+ combo5-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "True" );
+ // ...and again the activated() SIGNAL gets connected with a SLOT
+ <a href="qobject.html#connect">connect</a>( combo5, SIGNAL( <a href="qcombobox.html#activated">activated</a>( int ) ), this, SLOT( slotReadOnlyChanged( int ) ) );
+
+ // and the last lineedit
+ lined5 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ box-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lined5 );
+
+ // give the first LineEdit the focus at the beginning
+<a name="x181"></a> lined1-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+/*
+ * SLOT slotEchoChanged( int i )
+ *
+ * i contains the number of the item which the user has been chosen in the
+ * first Combobox. According to this value, we set the Echo-Mode for the
+ * first LineEdit.
+ */
+
+void <a name="f220"></a>LineEdits::slotEchoChanged( int i )
+{
+ switch ( i ) {
+ case 0:
+<a name="x176"></a> lined1-&gt;<a href="qlineedit.html#setEchoMode">setEchoMode</a>( QLineEdit::Normal );
+ break;
+ case 1:
+ lined1-&gt;<a href="qlineedit.html#setEchoMode">setEchoMode</a>( QLineEdit::Password );
+ break;
+ case 2:
+ lined1-&gt;<a href="qlineedit.html#setEchoMode">setEchoMode</a>( QLineEdit::NoEcho );
+ break;
+ }
+
+ lined1-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+/*
+ * SLOT slotValidatorChanged( int i )
+ *
+ * i contains the number of the item which the user has been chosen in the
+ * second Combobox. According to this value, we set a validator for the
+ * second LineEdit. A validator checks in a LineEdit each character which
+ * the user enters and accepts it if it is valid, else the character gets
+ * ignored and not inserted into the lineedit.
+ */
+
+void <a name="f221"></a>LineEdits::slotValidatorChanged( int i )
+{
+ switch ( i ) {
+ case 0:
+<a name="x180"></a> lined2-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( 0 );
+ break;
+ case 1:
+ lined2-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( new <a href="qintvalidator.html">QIntValidator</a>( lined2 ) );
+ break;
+ case 2:
+ lined2-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( new <a href="qdoublevalidator.html">QDoubleValidator</a>( -999.0, 999.0, 2,
+ lined2 ) );
+ break;
+ }
+
+<a name="x179"></a> lined2-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ lined2-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+
+/*
+ * SLOT slotAlignmentChanged( int i )
+ *
+ * i contains the number of the item which the user has been chosen in
+ * the third Combobox. According to this value, we set an alignment
+ * third LineEdit.
+ */
+
+void <a name="f222"></a>LineEdits::slotAlignmentChanged( int i )
+{
+ switch ( i ) {
+ case 0:
+<a name="x174"></a> lined3-&gt;<a href="qlineedit.html#setAlignment">setAlignment</a>( QLineEdit::AlignLeft );
+ break;
+ case 1:
+ lined3-&gt;<a href="qlineedit.html#setAlignment">setAlignment</a>( QLineEdit::AlignCenter );
+ break;
+ case 2:
+ lined3-&gt;<a href="qlineedit.html#setAlignment">setAlignment</a>( QLineEdit::AlignRight );
+ break;
+ }
+
+ lined3-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+/*
+ * SLOT slotInputMaskChanged( const <a href="qstring.html">QString</a> &amp;mask )
+ *
+ * i contains the number of the item which the user has been chosen in
+ * the third Combobox. According to this value, we set an input mask on
+ * third LineEdit.
+ */
+
+void <a name="f223"></a>LineEdits::slotInputMaskChanged( int i )
+{
+ switch( i ) {
+ case 0:
+<a name="x177"></a> lined4-&gt;<a href="qlineedit.html#setInputMask">setInputMask</a>( <a href="qstring.html#QString-null">QString::null</a> );
+ break;
+ case 1:
+ lined4-&gt;<a href="qlineedit.html#setInputMask">setInputMask</a>( "+99 99 99 99 99;_" );
+ break;
+ case 2:
+ lined4-&gt;<a href="qlineedit.html#setInputMask">setInputMask</a>( "0000-00-00" );
+ lined4-&gt;<a href="qlineedit.html#setText">setText</a>( "00000000" );
+<a name="x175"></a> lined4-&gt;<a href="qlineedit.html#setCursorPosition">setCursorPosition</a>( 0 );
+ break;
+ case 3:
+ lined4-&gt;<a href="qlineedit.html#setInputMask">setInputMask</a>( "&gt;AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#" );
+ break;
+ }
+ lined4-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+/*
+ * SLOT slotReadOnlyChanged( int i )
+ *
+ * i contains the number of the item which the user has been chosen in
+ * the fourth Combobox. According to this value, we toggle read-only.
+ */
+
+void <a name="f224"></a>LineEdits::slotReadOnlyChanged( int i )
+{
+ switch ( i ) {
+ case 0:
+<a name="x178"></a> lined5-&gt;<a href="qlineedit.html#setReadOnly">setReadOnly</a>( FALSE );
+ break;
+ case 1:
+ lined5-&gt;<a href="qlineedit.html#setReadOnly">setReadOnly</a>( TRUE );
+ break;
+ }
+
+ lined5-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "lineedits.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ LineEdits lineedits;
+ lineedits.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Lineedits" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;lineedits );
+ lineedits.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist-manual-1.html b/doc/html/linguist-manual-1.html
new file mode 100644
index 0000000..82460f0
--- /dev/null
+++ b/doc/html/linguist-manual-1.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/linguist/book/linguist-manual.book:6 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-2.html">Next: Release Manager</a>]</p>
+<h2 align="center">Introduction</h2>
+<p>Qt provides excellent support for translating applications into local languages. This Guide explains how to use Qt's translation tools for each of the roles involved in translating an application. The Guide begins with a brief overview of the issues that must be considered, followed by chapters devoted to each role and the supporting tools provided.</p>
+<p><a href="linguist-manual-2.html">Chapter 2: Release Manager</a> is aimed at the person with overall responsibility for the release of the application. They will typically coordinate the work of the software engineers and the translator. The chapter describes the use of two tools. The <a href="linguist-manual-2.html#2">lupdate</a> tool is used to synchronize source code and translations. The <a href="linguist-manual-2.html#3">lrelease</a> tool is used to create runtime translation files for use by the released application.</p>
+<p><a href="linguist-manual-3.html">Chapter 3: Translators</a> is for translators. It describes the use of the <em>Qt Linguist</em> tool. No computer knowledge beyond the ability to start a program and use a text editor or word processor is required.</p>
+<p><a href="linguist-manual-4.html">Chapter 4: Programmers</a> is for Qt programmers. It explains how to create Qt applications that are able to use translated text. It also provides guidance on how to help the translator identify the context in which phrases appear. This chapter's three short tutorials cover everything the programmer needs to do.</p>
+<h3><a name="1"></a>Overview of the Translation Process</h3>
+<p>Most of the text that must be translated in an application program consists of either single words or short phrases. These typically appear as window titles, menu items, pop-up help text (balloon help), and labels to buttons, check boxes and radio buttons.</p>
+<p>The phrases are entered into the source code by the programmer in their native language using a simple but special syntax to identify that the phrases require translation. The Qt tools provide context information for each of the phrases to help the translator, and the programmer is able to add additional context information to phrases when necessary. The release manager generates a set of translation files that are produced from the source files and passes these to the translator. The translator opens the translation files using <em>Qt Linguist</em>, enters their translations and saves the results back into the translation files, which they pass back to the release manager. The release manager then generates fast compact versions of these translation files ready for use by the application. The tools are designed to be used in repeated cycles as applications change and evolve, preserving existing translations and making it easy to identify which new translations are required. <em>Qt Linguist</em> also provides a phrase book facility to help ensure consistent translations across multiple applications and projects.</p>
+<p>Translators and programmers must address a number of issues because of the subtleties and complexities of human language:</p>
+<ul><li><p>A single phrase may need to be translated into several different forms depending on context, e.g. <em>open</em> in English might become <em></em><em>&ouml;ffnen</em>, "open file", or <em>aufbauen</em>, "open internet connection", in German.</p>
+<li><p>Keyboard accelerators may need to be changed but without introducing conflicts, e.g. "&amp;Quit" in English becomes "Avslutt" in Norwegian which doesn't contain a "Q". We cannot use a letter that is already in use -- unless we change several accelerators.</p>
+<li><p>Phrases that contain variables, for example, "The 25 files selected will take 63 seconds to process", where the two numbers are inserted programmatically at runtime may need to be reworded because in a different language the word order and therefore the placement of the variables may have to change.</p>
+</ul><p>The Qt translation tools provide clear and simple solutions to these issues.</p>
+<p><hr></p>
+<p>Please send comments and suggestions regarding this tutorial to the <a href="mailto:doc@trolltech.com?subject=Translation_Tutorial">Qt doc team</a>. Bugs in the tools should be sent to <a href="mailto:qt-bugs@trolltech.com?subject=Translation_Tutorial">qt-bugs</a>.</p>
+<!-- eof -->
+<p align="right">[<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-2.html">Next: Release Manager</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist-manual-2.html b/doc/html/linguist-manual-2.html
new file mode 100644
index 0000000..e95e386
--- /dev/null
+++ b/doc/html/linguist-manual-2.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/linguist/book/linguist-manager.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Release Manager</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="linguist-manual-1.html">Prev: Introduction</a>] [<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-3.html">Next: Translators</a>]</p>
+<h2 align="center">Release Manager</h2>
+<!-- index Release Manager --><p>Two tools are provided for the release manager, <a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a>. These tools depend on <em>qmake</em> project files. You don't have to use <em>qmake</em>, though.</p>
+<p>A third tool, <tt>qm2ts</tt>, can be used for converting Qt 2.x message files to <tt>.ts</tt> files.</p>
+<h3><a name="1"></a>Qt Project Files</h3>
+<!-- index .pro Files --><!-- index Project Files --><!-- index qmake!Project Files --><p><a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a> depend on information in the application's <tt>.pro</tt> Qt project file. There must be an entry in the <tt>TRANSLATIONS</tt> section of the project file for each language that is additional to the native language. A typical entry looks like this:</p>
+<!-- index TRANSLATIONS!in Project Files --><pre> TRANSLATIONS = tt2_fr.ts \
+ tt2_nl.ts
+</pre>
+ <p>Using a locale within the translation file name is useful for determining which language to load at runtime. This is explained in <a href="linguist-manual-4.html">Chapter 4: Programmers</a>.</p>
+<!-- index HEADERS!in Project Files --><!-- index SOURCES!in Project Files --><!-- index FORMS!in Project Files --><!-- index TRANSLATIONS!in Project Files --><p>An example of a complete <tt>.pro</tt> file with four translation source files:</p>
+<pre>
+ HEADERS = main-dlg.h \
+ options-dlg.h
+ SOURCES = main-dlg.cpp \
+ options-dlg.cpp \
+ main.cpp
+ FORMS = search-dlg.ui
+ TRANSLATIONS = superapp_dk.ts \
+ superapp_fi.ts \
+ superapp_no.ts \
+ superapp_se.ts
+</pre>
+<!-- index QApplication!defaultCodec() --><!-- index defaultCodec()!QApplication --><!-- index DEFAULTCODEC!in Project Files --><!-- index Chinese Language --><!-- index Japanese Language --><p><a href="qtextcodec.html#setCodecForTr">QTextCodec::setCodecForTr</a>() makes it possible to choose a 8-bit encoding for literal strings that appear within <tt>tr()</tt> calls. This is useful for applications whose source language is, for example, Chinese or Japanese. If no encoding is set, <tt>tr()</tt> uses Latin-1.</p>
+<p>If you do use the <a href="qtextcodec.html#codecForTr">QTextCodec::codecForTr</a>() mechanism in your application, <em>Qt Linguist</em> needs you to set the <tt>DEFAULTCODEC</tt> entry in the <tt>.pro</tt> file as well. For example:</p>
+<pre>
+ DEFAULTCODEC = ISO-8859-5
+</pre>
+<h3><a name="2"></a>lupdate</h3>
+<!-- index lupdate --><p>Usage: <tt>lupdate myproject.pro</tt></p>
+<!-- index Qt Designer --><p>This is a simple command line tool. <a href="linguist-manual-2.html#2">lupdate</a> reads a Qt <tt>.pro</tt> project file, finds the translatable strings in the specified source, header and <em>Qt Designer</em> interface files, and produces or updates the <tt>.ts</tt> translation files listed in the project file. The translation files are given to the translator who uses <em>Qt Linguist</em> to read the files and insert the translations.</p>
+<p>Companies that have their own translators in-house may find it useful to run <a href="linguist-manual-2.html#2">lupdate</a> regularly, perhaps monthly, as the application develops. This will lead to a fairly low volume of translation work spread evenly over the life of the project and will allow the translators to support a number of projects simultaneously.</p>
+<p>Companies that hire in translators as required may prefer to run <a href="linguist-manual-2.html#2">lupdate</a> only a few times in the application's life cycle, the first time might be just before the first test phase. This will provide the translator with a substantial single block of work and any bugs that the translator detects may easily be included with those found during the initial test phase. The second and any subsequent <a href="linguist-manual-2.html#2">lupdate</a> runs would probably take place during the final beta phase.</p>
+<!-- index .ts Files --><!-- index Translation Source Files --><!-- index XML --><p>The <tt>.ts</tt> file format is a simple human-readable XML format that can be used with version control systems if required.</p>
+<h3><a name="3"></a>lrelease</h3>
+<!-- index lrelease --><p>Usage: <tt>lrelease myproject.pro</tt></p>
+<!-- index .qm Files --><!-- index Qt Message Files --><p>This is another simple command line tool. It reads a Qt <tt>.pro</tt> project file and produces the <tt>.qm</tt> files used by the application, one for each <tt>.ts</tt> translation source file listed in the project file. The <tt>.qm</tt> file format is a compact binary format that provides extremely fast lookups for translations.</p>
+<p>This tool is run whenever a release of the application is to be made, from initial test version through to final release version. If the <tt>.qm</tt> files are not created, e.g. because an alpha release is required before any translation has been undertaken, the application will run perfectly well using the text the programmers placed in the source files. Once the <tt>.qm</tt> files are available the application will detect them and use them automatically.</p>
+<p>Note that <a href="linguist-manual-2.html#3">lrelease</a> will only incorporate translations that are marked as "done". If a translation is missing, or has failed validation, the original text will be used instead.</p>
+<h3><a name="4"></a>Missing Translations</h3>
+<p>Both <a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a> may be used with <tt>.ts</tt> translation source files which are incomplete. Missing translations will be replaced with the native language phrases at runtime.</p>
+<!-- eof -->
+<p align="right">[<a href="linguist-manual-1.html">Prev: Introduction</a>] [<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-3.html">Next: Translators</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist-manual-3.html b/doc/html/linguist-manual-3.html
new file mode 100644
index 0000000..fb83415
--- /dev/null
+++ b/doc/html/linguist-manual-3.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/linguist/book/linguist-translator.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Translators</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="linguist-manual-2.html">Prev: Release Manager</a>] [<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-4.html">Next: Programmers</a>]</p>
+<h2 align="center">Translators</h2>
+<p align="center"><img align="middle" src="linguist.png" width="799" height="587">
+</p>
+<blockquote><p align="center"><em>Linguist Main Window</em></p></blockquote>
+<h3><a name="1"></a>The One Minute Guide to Using Qt Linguist</h3>
+<!-- index Linguist --><!-- index Qt Linguist --><!-- index Contexts!for Translation --><p><em>Qt Linguist</em> is a tool for adding translations to Qt applications. It introduces the concept of a translation "context" which means a group of phrases that appear together on the screen e.g. in the same menu or dialog.</p>
+<p>To start, run <em>Qt Linguist</em>, either from the taskbar menu, or by double clicking the desktop icon, or type <tt>linguist</tt> (followed by <b>Enter</b>) at the command line. Once <em>Qt Linguist</em> has started choose <b>File|Open</b> from the menu bar and select a <tt>.ts</tt> translation source file to work on.</p>
+<p><em>Qt Linguist</em>'s main window is divided into four main areas. The left hand side contains the Context list, the top right is the Source text area, the middle right is the translation area and the bottom right is the phrases and guesses area. We'll describe them in detail later.</p>
+<p>Click on one of the contexts in the context list (left hand side) and then click on one of the phrases that appears in the Source text area (top right). The phrase will be copied into the translation area (middle right). Click under the word 'Translation' and type in the translation. Click <b>Ctrl+Enter</b> (Done &amp; Next) to confirm that you have completed the translation and to move on to the next phrase that requires translation.</p>
+<p>The cycle of entering a translation then pressing <b>Ctrl+Enter</b> can be repeated until all the translations are done or until you finish the session. Linguist will attempt to fill the "phrases and guesses" area with possible translations from any open phrase books and any previous translations. Each has a keyboard shortcut, e.g. <b>Ctrl+1</b>, <b>Ctrl+2</b>, etc., which you can use to copy the guess into the Translation area. (Mouse users can double click a phrase or guess to move it into the Translation area.) At the end of the session choose <b>File|Save</b> from the menu bar and then <b>File|Exit</b> to quit.</p>
+<h3><a name="2"></a>Qt Linguist's Main Window</h3>
+<h4><a name="2-1"></a>Context List</h4>
+<!-- index Contexts!for Translation --><p>This appears at the left hand side of the main window by default. The first column, 'Done', identifies whether or not the translations for the context have been done. A tick indicates that all the translations have been done and are valid. A question mark indicates that one or more translations have not been done or have failed validation. The second column, 'Context' is the name of the context in which the translation phrases appear. The third column, 'Items' shows two numbers, the first is the number of translations that have been done, and the second is the number of phrases that are in the context; if the numbers are equal then all the translations have been done. Note that a greyed out tick indicates an obsolete translation, i.e. a phrase that was translated in a previous version of the application but which does not occur in the new version.</p>
+<p>The contexts are ordered alphabetically. The phrases within each context are in the order in which they appear in the source program and this may not be the order in which they are shown on screen.</p>
+<p>The Context List is a dockable window so it can be dragged to another position in the main window, or dragged out of the main window to be a window in its own right. If you move the Context List, <em>Qt Linguist</em> will remember its position and restore it whenever you start the program.</p>
+<h4><a name="2-2"></a>Source Text Area</h4>
+<p>This appears at the top right of the main window by default. The first column, 'Done', signifies the status of the translation. A tick indicates that the phrase has been translated and passed validation. A question mark indicates that the translation has not been done. An exclamation mark indicates that the translation has failed validation. The second column 'Source text' shows the text that must be translated. The third column shows the translation.</p>
+<p><em>Qt Linguist</em> provides three kinds of validation: accelerator, punctuation and phrase. If the source text contains an accelerator i.e. an ampersand, '&amp;' and the translated text does not contain an ampersand the translation will fail the accelerator validation. Similarly, if the source text ends with a particular punctuation mark, e.g. '?', '!' or '.' and the translation ends with a different punctuation mark the translation will fail the punctuation validation. If the source text has a translation in one of the open phrase books that differs from the translation used the translation will fail phrase validation. (See <a href="linguist-manual-3.html#5">Validation</a>.)</p>
+<p>The Source Text Area is a dockable window.</p>
+<h4><a name="2-3"></a>Translation Area</h4>
+<p>This area appears at the middle right of the main window by default. It is comprised of three vertical sections. The first section is labelled 'Source text' below which the source text appears. The second section contains contextual information on a light blue background that the programmer has added to assist the translator. If no contextual information has been given this section does not appear. The third section is labelled 'Translation' and this is where you enter the translation of the source text.</p>
+<h4><a name="2-4"></a>Phrases and Guesses Area</h4>
+<!-- index Phrases!in Qt Linguist --><!-- index Guesses!in Qt Linguist --><p>This area appears at the bottom right of the main window by default. When you move to a new phrase if the phrase is in one of the phrase books that has been loaded the phrase will appear in this area with its translation. If the phrase is the same or similar to another phrase that has already been translated the phrase and translation will be shown in this area. To copy a translation from the phrases and guesses area press <b>F6</b> to move to the phrases and guesses area, use the up and down arrow keys to move to the phrase you want to use and press Enter to copy it. If you decide that you don't want to copy a phrase after all, press Esc. In both cases the focus will return to the Translation area. Alternatively, double click the translation you want to use and it will be copied into the translation area.</p>
+<p>The Phrases and Guesses Area is a dockable window.</p>
+<h3><a name="3"></a>Common Tasks</h3>
+<h4><a name="3-1"></a>Leaving a Translation for Later</h4>
+<p>If you wish to leave a translation press <b>Ctrl+L</b> (Next Unfinished) to move to the next unfinished translation. An unfinished translation is one that either has not been translated at all or one which fails validation. To move to the next phrase press <b>Shift+Ctrl+L</b>. You can also navigate using the Translation menu. If you want to go to a different context entirely, click the context you want to work on in the Context list, then click the source text in the Source Text area.</p>
+<h4><a name="3-2"></a>Phrases That Require Multiple Translations Depending on Context</h4>
+<!-- index Contexts!for Translation --><!-- index Comments!for Translators --><p>The same phrase may occur in two or more contexts without conflict. Once a phrase has been translated in one context, <em>Qt Linguist</em> notes that the translation has been made and when the translator reaches a later occurrence of the same phrase <em>Qt Linguist</em> will provide the previous translation as a possible translation candidate in the phrases and guesses area. If the previous translation is acceptable just click the <em>Done &amp; Next</em> button (press <b>Ctrl+Enter</b>) to move on to the next unfinished phrase.</p>
+<p>If a phrase occurs more than once in a particular context it will only be shown once in <em>Qt Linguist</em>'s context list and the translation will be applied to every occurrence within the context. If the same phrase needs to be translated differently within the same context the programmer must provide a distinguishing comment for each of the phrases concerned. If such comments are used the duplicate phrases will appear in the context list. The programmers comments will appear in the translation area on a light blue background.</p>
+<h4><a name="3-3"></a>Changing Keyboard Accelerators</h4>
+<!-- index Accelerators --><!-- index Keyboard Accelerators --><p>A keyboard accelerator is a key combination that when pressed will cause an application to perform an action. Keyboard accelerators normally come in two forms: Alt key and Ctrl key accelerators.</p>
+<!-- index Alt Key --><p>Alt key accelerators are used for menus and buttons. The underlining signifies that pressing the Alt key with the underlined letter is the same as clicking the menu item with the mouse. For example, most applications have a <em>File</em> menu with the "F" in the word "file" underlined. In these applications the file menu can be invoked either by clicking the word "File" on the menu bar or by pressing Alt+F. The accelerator key which is underlined is signified by preceeding it with an ampersand, e.g. <em></em>&amp;File. If a source phrase appears with an ampersand in it then the translation should also contain an ampersand, preferably in front of the same letter. The meaning of Alt key accelerators can be determined from the phrase in which the ampersand is embedded. The translator may need to change the letter used with the Alt key, e.g. if the translated phrase does not contain the original accelerator letter. Conflicts with other keys, i.e. having two Alt key accelerators using the same letter in the same context, must be avoided. Note that some Alt key accelerators, usually those on the menu bar, may apply in other contexts.</p>
+<!-- index Ctrl Key --><p>Ctrl key accelerators can exist independently of any visual control. They are often used to invoke actions in menus that would otherwise take several keystrokes or mouse clicks. They may also be used to perform actions that do not appear in any menu or on any button. For example, most applications that have a <em>File</em> menu have a submenu item called <em>New</em>. In many applications this will appear as "<u>N</u>ew... Ctrl+N". This menu option could be invoked by clicking <em>File</em> then clicking <em>New</em> with the mouse. Or you could press Alt+F then press N since these letters are underlined. But the same thing can be achieved simply by pressing <b>Ctrl+N</b>. Accelerators that use the Ctrl key are shown literally in the source text, e.g. <b>Ctrl+Enter</b>. Ctrl key accelerators have no phrase so the translator<!-- index Comments!for --> Translators must rely on the programmer to add a "comment" which appears in the top right hand pane. This comment should explain what action the Ctrl key accelerator performs. Ideally Ctrl key accelerators are translated simply by copying them by chossing the <em>Begin from Source</em> entry in the <b>Translations</b> menu. However in some cases the letter will not make sense in the target language and must be changed. Whatever letter (or digit) is chosen, the translation should always be in the form "Ctrl+" followed by the letter or digit in upper case. As with Alt key accelerators, if the translator changes the key it must not conflict with any other Ctrl key accelerator.</p>
+<p>Later versions of <em>Qt Linguist</em> are expected to help the translator avoid accelerator conflicts.</p>
+<h4><a name="3-4"></a>Dealing with Phrases that Contain Variables</h4>
+<p>Some phrases contain variables. Variables are placeholders for items of text that are filled in at runtime. They are signified in the source text with a percent sign followed by a digit, e.g. <em>After processing file %1, file %2 is next in line</em>. In this example, <tt>%1</tt> will be replaced at runtime with the name of the first file to be processed and <tt>%2</tt> with the name of the next file to be processed. In the translated version the variables must still appear. For example a German translation might reverse the phrases, e.g. <em>Datei %2 wird bearbeitet, wenn. Datei %1 fertig ist</em>. Note that both variables are still used but their order has changed. The order in which variables appear does not matter; <tt>%1</tt> will always be replaced by the same text at runtime no matter where it appears in the source text or translation and similarly <tt>%2</tt>, etc.</p>
+<h4><a name="3-5"></a>Reusing Translations</h4>
+<p>If the translated text is similar to the source text, choose the <em>Begin from Source</em> entry in the <b>Translations</b> menu (press <b>Ctrl+B</b>) which will copy the source text into the translation area.</p>
+<p><em>Qt Linguist</em> automatically lists phrases from the open phrase books and similar or identical phrases that have already been translated in the Phrases and guesses area.</p>
+<h3><a name="4"></a>Creating and Using Phrase Books</h3>
+<!-- index Phrases!in Qt Linguist --><!-- index Phrase Books --><p align="center"><img align="middle" src="phrasebookdialog.png" width="431" height="277">
+</p>
+<blockquote><p align="center"><em>Phrase Book Dialog</em></p></blockquote>
+<p>A <em>Qt Linguist</em> phrase book is a set of source phrases, target (translated) phrases, and optional definitions. Phrase Books are created independently of any application, although typically one phrase book will be created per application or family of applications.</p>
+<p>If the translator reaches an untranslated phrase that is the same as a source phrase in the phrase book, <em>Qt Linguist</em> will show the phrase book entry in the <em>Relevant phrases</em> panel at the bottom right of the main window. Phrases which have translations that conflict with those given in the phrase book are marked with a question mark in the source text pane. Phrase Books are used to provide a common set of translations to help ensure consistency. They can also be used to avoid duplication of effort since the translations for a family of applications can be produced once in the phrase book and the phrase book used for the majority of translations in each application.</p>
+<p>Before a phrase book can be edited it must be created or if it already exists, opened. Create a new phrase book by selecting <b>Phrase|New Phrase Book</b> from the menu bar. You must enter a filename and may change the location of the file if you wish. A newly created phrase book is automatically opened. Open an existing phrase book by choosing <b>Phrase|Open Phrase Book</b> from the menu bar.</p>
+<p>To add a new phrase click the <b>New Phrase</b> button (or press Alt+N) and type in a new source phrase. Press Tab and type in the translation. Optionally press Tab and enter a definition -- this is useful to distinguish different translations of the same source phrase. This process may be repeated as often as necessary.</p>
+<p>You can delete a phrase by selecting it in the phrases list and clicking Remove Phrase.</p>
+<p>Click the <em>Save</em> button (press Alt+S) and then click the <em>Close</em> button (press Esc) once you've finished adding (and removing) phrases.</p>
+<p>When a phrase or set of phrases appears in the phrase book double clicking the required target phrase will copy it to the translation pane at the text cursor position. If you want to <em>replace</em> the text in the translation pane with the target phrase, click the translation pane, choose <b>Edit|Select All</b> (press <b>Alt+A</b>) and then double click the target phrase.</p>
+<h3><a name="5"></a>Validation</h3>
+<!-- index Validation of Translations --><!-- index Accelerators!Validation --><!-- index Punctuation!Validation --><!-- index Phrases!Validation --><p><em>Qt Linguist</em> provides three kinds of validation on translated phrases.</p>
+<ol type=1><li><p><em>Accelerator validation</em> detects translated phrases that do not have an ampersand when the source phrase does and vice versa.</p>
+<li><p><em>Punctuation validation</em> detects differences in the terminating punctuation between source and translated phrases when this may be significant, e.g. warns if the source phrase ends with an ellipsis, exclamation mark or question mark, and the translated phrase doesn't and vice versa.</p>
+<li><p><em>Phrases validation</em> detects source phrases that are also in the phrase book but whose translation differs from that given in the phrase book.</p>
+</ol><p>Validation may be switched on or off from the menu bar's Validation item or using the toolbar buttons. Phrases that fail validation are marked with a question mark in the source text pane. If you switch validation off and then switch it on later, <em>Qt Linguist</em> will recheck all phrases and mark any that fail validation.</p>
+<p>If any phrase in a context is invalid then the context itself will be marked with a question mark; if all the phrases in a context are done and are valid the context will be marked with a tick.</p>
+<p>Note that only phrases which are marked as done (with a tick) will appear in the application. Invalid phrases and phrases which are translated but not marked as done are kept in the translation source file but are not used by the application.</p>
+<h3><a name="6"></a>Qt Linguist Reference</h3>
+<h4><a name="6-1"></a>File Types</h4>
+<p><em>Qt Linguist</em> makes use of three kinds of file:</p>
+<!-- index .ts Files --><!-- index Translation Source Files --><!-- index .qm Files --><!-- index Qt Message Files --><!-- index .qph Files --><!-- index Qt Phrase Book Files --><ul><li><p><tt>.ts</tt> <em>translation source files</em> <br> are human-readable XML files containing source phrases and their translations. These files are usually created and updated by <a href="linguist-manual-2.html#2">lupdate</a> and are specific to an application.</p>
+<li><p><tt>.qm</tt> <em>Qt message files</em> <br> are binary files that contain translations used by an application at runtime. These files are generated by <a href="linguist-manual-2.html#3">lrelease</a>, but can also be generated by <em>Qt Linguist</em>.</p>
+<li><p><tt>.qph</tt> <em>Qt phrase book files</em> <br> are human-readable XML files containing standard phrases and their translations. These files are created and updated by <em>Qt Linguist</em> and may be used by any number of projects and applications.</p>
+</ul><h4><a name="6-2"></a>The Menu Bar</h4>
+<p align="center"><img align="middle" src="menubar.png" width="276" height="21">
+</p>
+<blockquote><p align="center"><em>Menu Bar</em></p></blockquote>
+<ul><li><p><em>File</em></p>
+<ul><li><p><em>Open... Ctrl+O</em> <br> pops up an open file dialog from which a translation source <tt>.ts</tt> file can be chosen.</p>
+<li><p><em>Save Ctrl+S</em> <br> saves the current translation source <tt>.ts</tt> file.</p>
+<li><p><em>Save As...</em> <br> pops up a save as file dialog so that the current translation source <tt>.ts</tt> file may be saved with a different name and/or put in a different location.</p>
+<li><p><em>Release...</em> <br> pops up a save as file dialog. The filename entered will be a Qt message <tt>.qm</tt> file of the translation based on the current translation source file. The release manager's command line tool <a href="linguist-manual-2.html#3">lrelease</a> performs the same function on <em>all</em> of an application's translation source files.</p>
+<li><p><em>Print... Ctrl+P</em> <br> pops up a print dialog. If you click OK the translation source and the translations will be printed.</p>
+<li><p><em>Recently opened files</em> <br> shows the <tt>.ts</tt> files that have been opened recently, click one to open it.</p>
+<li><p><em>Exit Ctrl+Q</em> <br> closes <em>Qt Linguist</em>.</p>
+</ul><li><p><em>Edit</em></p>
+<ul><li><p><em>Undo Ctrl+Z</em> <br> undoes the last editing action in the translation pane.</p>
+<li><p><em>Redo Ctrl+Y</em> <br> redoes the last editing action in the translation pane.</p>
+<li><p><em>Cut Ctrl+X</em> <br> deletes any highlighted text in the translation pane and saves a copy to the clipboard.</p>
+<li><p><em>Copy Ctrl+C</em> <br> copies the highlighted text in the translation pane to the clipboard.</p>
+<li><p><em>Paste Ctrl+V</em> <br> pastes the clipboard text into the translation pane.</p>
+<li><p><em>Select All Ctrl+A</em> <br> selects all the text in the translation pane ready for copying or deleting.</p>
+<li><p><em>Find... Ctrl+F</em> <br> pops up the <a href="linguist-manual-3.html#6-4">Find dialog</a>. When the dialog pops up enter the text to be found and click the <em>Find Next</em> button. Source phrases, translations and comments may be searched.</p>
+<li><p><em>Find Next F3</em> <br> finds the next occurrence of the text that was last entered in the Find dialog.</p>
+</ul><li><p><em>Translation</em></p>
+<ul><li><p><em>Prev Unfinished Ctrl+K</em> <br> moves to the nearest previous unfinished source phrase (unfinished means untranslated or translated but failed validation).</p>
+<li><p><em>Next Unfinished Ctrl+L</em> <br> moves to the next unfinished source phrase.</p>
+<li><p><em>Prev Shift+Ctrl+K</em> <br> moves to the previous source phrase.</p>
+<li><p><em>Next Shift+Ctrl+L</em> <br> moves to the next source phrase.</p>
+<li><p><em>Done &amp; NextCtrl+Enter</em> <br> mark this phrase as 'done' (translated) and move to the next unfinished source phrase.</p>
+<li><p><em>Begin from Source Ctrl+B</em> <br> copies the source text into the translation.</p>
+</ul><li><p><em>Validation</em> (See the <a href="linguist-manual-3.html#5">Validation</a> section)</p>
+<ul><li><p><em>Accelerators</em> <br> toggles validation on or off for Alt accelerators.</p>
+<li><p><em>Ending Punctuation</em> <br> switches validation on or off for phrase ending punctuation, e.g. ellipsis, exclamation mark, question mark, etc.</p>
+<li><p><em>Phrase Matches</em> <br> sets validation on or off for matching against translations that are in the current phrase book.</p>
+</ul><li><p><em>Phrase</em> (See the section <a href="linguist-manual-3.html#4">Creating and Using Phrase Books</a> for details.)</p>
+<ul><li><p><em>New Phrase Book... Ctrl+N</em> <br> pops up a save as file dialog. You must enter a filename to be used for the phrase book and save the file. Once saved you should open the phrase book to begin using it.</p>
+<li><p><em>Open Phrase Book... Ctrl+H</em> <br> pops up an open file dialog. Find and choose a phrase book to open.</p>
+<li><p><em>Close Phrase Book</em> <br> closes the current phrase book. This will stop any further phrase validation taking place. The same effect can be achieved by switching off phrase validation using the Validation menu or the phrase toolbar button.</p>
+<li><p><em>Edit Phrase Book...</em> <br> pops up the <a href="linguist-manual-3.html#6-5">phrase book dialog</a> where you can add, edit or delete phrases.</p>
+<li><p><em>Print Phrase Book...</em> <br> pops up a print dialog. If you click OK the phrase book will be printed.</p>
+</ul><li><p><em>View</em></p>
+<ul><li><p><em>Revert Sorting</em> <br> puts the phrases in the source text pane into their original order.</p>
+<li><p><em>Display Guesses</em> <br> turns the display of phrases and guesses on or off.</p>
+<li><p><em>Statistics</em> <br> toggles the visibility of the Statistics dialog.</p>
+<li><p><em>Views</em> <br> toggles the visibility of the Context, Source text and Phrase views.</p>
+<li><p><em>Toolbars</em> <br> toggles the visibility of the different toolbars.</p>
+</ul></ul><h4><a name="6-3"></a>The Toolbar</h4>
+<p align="center"><img align="middle" src="toolbar.png" width="681" height="33">
+</p>
+<blockquote><p align="center"><em>Toolbar</em></p></blockquote>
+<ul><li><p><img align="middle" src="fileopen.png" width="24" height="23">
+<br> Pops up the open file dialog to open a new translation source <tt>.ts</tt> file.</p>
+<li><p><img align="middle" src="filesave.png" width="23" height="23">
+<br> Saves the current translation source <tt>.ts</tt> file.</p>
+<li><p><img align="middle" src="fileprint.png" width="24" height="23">
+<br> Prints the current translation source <tt>.ts</tt> file.</p>
+<li><p><img align="middle" src="phrasebookopen.png" width="24" height="23">
+<br> Pops up the file open dialog to open a new phrase book <tt>.qph</tt> file.</p>
+<li><p><img align="middle" src="editundo.png" width="23" height="23">
+<br> Undoes the last editing action in the translation pane.</p>
+<li><p><img align="middle" src="editredo.png" width="23" height="23">
+<br> Redoes the last editing action in the translation pane.</p>
+<li><p><img align="middle" src="editcut.png" width="21" height="25">
+<br> Deletes any highlighted text in the translation pane and save a copy to the clipboard.</p>
+<li><p><img align="middle" src="editcopy.png" width="24" height="23">
+<br> Copies the highlighted text in the translation pane to the clipboard.</p>
+<li><p><img align="middle" src="editpaste.png" width="25" height="24">
+<br> Pastes the clipboard text into the translation pane.</p>
+<li><p><img align="middle" src="editfind.png" width="22" height="23">
+<br> Pops up the <a href="linguist-manual-3.html#6-4">Find dialog</a>.</p>
+<li><p><img align="middle" src="prev.png" width="23" height="23">
+<br> Moves to the previous source phrase.</p>
+<li><p><img align="middle" src="next.png" width="23" height="23">
+<br> Moves to the next source phrase.</p>
+<li><p><img align="middle" src="prevunfinished.png" width="24" height="23">
+<br> Moves to the previous unfinished source phrase.</p>
+<li><p><img align="middle" src="nextunfinished.png" width="24" height="23">
+<br> Moves to the next unfinished source phrase.</p>
+<li><p><img align="middle" src="doneandnext.png" width="25" height="23">
+<br> Marks the phrase as 'done' (translated) and move to the next unfinished source phrase.</p>
+<li><p><img align="middle" src="validateaccelerators.png" width="23" height="23">
+<br> Toggles accelerator validation on and off.</p>
+<li><p><img align="middle" src="validatepunctuation.png" width="23" height="23">
+<br> Toggles phrase ending punctuation validation on and off.</p>
+<li><p><img align="middle" src="validatephrases.png" width="23" height="23">
+<br> Toggles phrase book validation on or off.</p>
+</ul><h4><a name="6-4"></a>The Find Dialog</h4>
+<p align="center"><img align="middle" src="finddialog.png" width="408" height="142">
+</p>
+<blockquote><p align="center"><em>The Find Dialog</em></p></blockquote>
+<p>Choose <b>Edit|Find</b> from the menu bar or press <b>Ctrl+F</b> to pop up the Find dialog. Press <b>F3</b> to repeat the last search. By default the source phrases, translations and comments will all be searched and the search will be case-insensitive. These settings can be changed by checking or unchecking the checkboxes to reflect your preferences.</p>
+<h4><a name="6-5"></a>The Phrase Dialog</h4>
+<p>This dialog is explained in the <a href="linguist-manual-3.html#4">Creating and Using Phrase Books</a> section.</p>
+<!-- eof -->
+<p align="right">[<a href="linguist-manual-2.html">Prev: Release Manager</a>] [<a href="linguist-manual.html">Home</a>] [<a href="linguist-manual-4.html">Next: Programmers</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist-manual-4.html b/doc/html/linguist-manual-4.html
new file mode 100644
index 0000000..c69bf1f
--- /dev/null
+++ b/doc/html/linguist-manual-4.html
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/linguist/book/linguist-programmer.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Programmers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="linguist-manual-3.html">Prev: Translators</a>] [<a href="linguist-manual.html">Home</a>]</p>
+<h2 align="center">Programmers</h2>
+<p>Support for multiple languages is extremely simple in Qt applications, and adds little overhead to the programmer's workload.</p>
+<p>Qt minimizes the performance cost of using translations by translating the phrases for each window as they are created. In most applications the main window is created just once. Dialogs are often created once and then shown and hidden as required. Once the initial translation has taken place there is no further runtime overhead for the translated windows. Only those windows that are created, destroyed and subsequently created will have a translation performance cost.</p>
+<p>Creating applications that can switch language at runtime is possible with Qt, but requires a certain amount of programmer intervention and will of course incur some runtime performance cost.</p>
+<h3><a name="1"></a>Making the Application Translation Aware</h3>
+<p>Programmers should make their application look for and load the appropriate translation file and mark user-visible text and Ctrl keyboard accelerators as targets for translation.</p>
+<p>Each piece of text that requires translating requires context to help the translator identify where in the program the text occurs. In the case of multiple identical texts that require different translations, the translator also requires some information to disambiguate the source texts. Marking text for translation will automatically cause the class name to be used as basic context information. In some cases the programmer may be required to add additional information to help the translator.</p>
+<h4><a name="1-1"></a>Creating Translation Files</h4>
+<!-- index .ts Files --><!-- index Translation Source Files --><p>Translation files consist of all the user-visible text and Ctrl key accelerators in an application and translations of that text. Translation files are created as follows:</p>
+<!-- index lupdate --><!-- index lrelease --><ol type=1><li><p>Run <a href="linguist-manual-2.html#2">lupdate</a> initially to generate the first set of <tt>.ts</tt> translation source files with all the user-visible text but no translations.</p>
+<li><p>The <tt>.ts</tt> files are given to the translator who adds translations using <em>Qt Linguist</em>. <em>Qt Linguist</em> takes care of any changed or deleted source text.</p>
+<li><p>Run <a href="linguist-manual-2.html#2">lupdate</a> to incorporate any new text added to the application. <a href="linguist-manual-2.html#2">lupdate</a> synchronizes the user-visible text from the application with the translations; it does not destroy any data.</p>
+<li><p>Steps 2 and 3 are repeated as often as necessary.</p>
+<li><p>When a release of the application is needed <a href="linguist-manual-2.html#3">lrelease</a> is run to read the <tt>.ts</tt> files and produce the <tt>.qm</tt> files used by the application at runtime.</p>
+</ol><!-- index .pro Files --><!-- index Project Files --><!-- index qmake!Project Files --><p>For <a href="linguist-manual-2.html#2">lupdate</a> to work successfully, it must know which translation files to produce. The files are simply listed in the application's <tt>.pro</tt> Qt project file, for example:</p>
+<pre> TRANSLATIONS = tt2_fr.ts \
+ tt2_nl.ts
+</pre>
+ <p>See the <a href="linguist-manual-2.html#2">"lupdate"</a> and <a href="linguist-manual-2.html#3">"lrelease"</a> sections.</p>
+<h4><a name="1-2"></a>Loading Translations</h4>
+<pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+</pre>
+<!-- index main() --> <p>This is how a simple <tt>main()</tt> function of a Qt application begins.</p>
+<!-- index QTranslator!load() --><!-- index load()!QTranslator --><!-- index QApplication!installTranslator() --><!-- index installTranslator()!QApplication --><pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qtranslator.html">QTranslator</a> translator( 0 );
+ translator.<a href="qtranslator.html#load">load</a>( "tt1_la", "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+</pre>
+ <p>For a translation-aware application a translator object is created, a translation is loaded and the translator object installed into the application.</p>
+<pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qtranslator.html">QTranslator</a> translator( 0 );
+ translator.<a href="qtranslator.html#load">load</a>( QString("tt2_") + QTextCodec::locale(), "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+</pre>
+ <p>In production applications a more flexible approach, for example, loading translations according to locale, might be more appropriate. If the <tt>.ts</tt> files are all named according to a convention such as <em>appname_locale</em>, e.g. <tt>tt2_fr</tt>, <tt>tt2_de</tt> etc, then the code above will load the current locale's translation at runtime.</p>
+<p>If there is no translation file for the current locale the application will fall back to using the original source text.</p>
+<h4><a name="1-3"></a>Making the Application Translate User-Visible Strings</h4>
+<!-- index tr() --><!-- index QObject!tr() --><p>User-visible strings are marked as translation targets by wrapping them in a <tt>tr()</tt> call, for example:</p>
+<pre>
+ button = new QPushButton( "&amp;Quit", this );
+</pre>
+<p>would become</p>
+<pre>
+ button = new QPushButton( tr("&amp;Quit"), this);
+</pre>
+<!-- index Q_OBJECT --><p>All <a href="qobject.html">QObject</a> subclasses that use the <tt>Q_OBJECT</tt> macro implement the <tt>tr()</tt> function.</p>
+<p>Although the <tt>tr()</tt> call is normally made directly since it is usually called as a member function of a <a href="qobject.html">QObject</a> subclass, in other cases an explicit class name can be supplied, for example:</p>
+<pre>
+ QPushButton::tr("&amp;Quit")
+</pre>
+<p>or</p>
+<pre>
+ QObject::tr("&amp;Quit")
+</pre>
+<h4><a name="1-4"></a>Distinguishing Identical Strings That Require Different Translations</h4>
+<!-- index Translation Contexts --><!-- index Contexts!for Translation --><!-- index lupdate --><p>The <a href="linguist-manual-2.html#2">lupdate</a> program automatically provides a <em>context</em> for every source text. This context is the class name of the class that contains the <tt>tr()</tt> call. This is sufficient in the vast majority of cases. Sometimes however, the translator will need further information to uniquely identify a source text; for example, a dialog that contained two separate frames, each of which contained an "Enabled" option would need each identified because in some languages the translation would differ between the two. This is easily achieved using the two argument form of the <tt>tr()</tt> call, e.g.</p>
+<pre>
+ rbc = new QRadioButton( tr("Enabled", "Color frame"), this );
+</pre>
+<p>and</p>
+<pre>
+ rbh = new QRadioButton( tr("Enabled", "Hue frame"), this );
+</pre>
+<!-- index Ctrl Key --><p>Ctrl key accelerators are also translatable:</p>
+<pre> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("E&amp;xit"), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()),
+ <a href="qobject.html#tr">tr</a>("Ctrl+Q", "Quit") );
+</pre>
+ <p>It is strongly recommended that the two argument form of <tt>tr()</tt> is used for Ctrl key accelerators. The second argument is the only clue the translator has as to the function performed by the accelerator.</p>
+<h4><a name="1-5"></a>Helping The Translator With Navigation Information</h4>
+<!-- index TRANSLATOR!in Comments --><!-- index Translator Comments --><!-- index Comments!for Translators --><p>In large complex applications it may be difficult for the translator to see where a particular source text comes from. This problem can be solved by adding a comment using the keyword <em>TRANSLATOR</em> which describes the navigation steps to reach the text in question; e.g.</p>
+<pre>
+ /* TRANSLATOR FindDialog
+
+ Choose Edit|Find from the menu bar or press Ctrl+F to pop up the
+ Find dialog.
+ */
+</pre>
+<p>These comments are particularly useful for widget classes.</p>
+<h4><a name="1-6"></a>Coping With C++ Namespaces</h4>
+<!-- index Namespaces --><!-- index C++!Namespaces --><!-- index lupdate --><p>C++ namespaces and the <tt>using namespace</tt> statement can confuse <a href="linguist-manual-2.html#2">lupdate</a>. It will interpret <tt>MyClass::tr()</tt> as meaning just that, not as <tt>MyNamespace::MyClass::tr()</tt>, even if <tt>MyClass</tt> is defined in the <tt>MyNamespace</tt> namespace. Runtime translation of these strings will fail because of that.</p>
+<!-- index TRANSLATOR!in Comments --><!-- index Translator Comments --><!-- index Comments!for Translators --><p>You can work around this limitation by putting a <em>TRANSLATOR</em> comment at the beginning of the source files that use <tt>MyClass::tr()</tt>:</p>
+<pre>
+ /* TRANSLATOR MyNamespace::MyClass */
+</pre>
+<p>After the comment, all references to <tt>MyClass::tr()</tt> will be understood as meaning <tt>MyNamespace::MyClass::tr()</tt>.</p>
+<h4><a name="1-7"></a>Translating Text that is Outside of a QObject subclass</h4>
+<h5><a name="1-7-1"></a>Using QApplication::translate()</h5>
+<p>If the quoted text is not in a member function of a QObject subclass, use either the tr() function of an appropriate class, or the QApplication::translate() function directly:</p>
+<pre>
+ void some_global_function( LoginWidget *logwid )
+ {
+ QLabel *label = new QLabel(
+ LoginWidget::tr("Password:"), logwid );
+ }
+
+ void same_global_function( LoginWidget *logwid )
+ {
+ QLabel *label = new QLabel(
+ qApp-&gt;translate("LoginWidget", "Password:"),
+ logwid );
+ }
+</pre>
+<h5><a name="1-7-2"></a>Using QT_TR_NOOP() and QT_TRANSLATE_NOOP()</h5>
+<p>If you need to have translatable text completely outside a function, there are two macros to help: QT_TR_NOOP() and QT_TRANSLATE_NOOP(). These macros merely mark the text for extraction by <a href="linguist-manual-2.html#2">lupdate</a>. The macros expand to just the text (without the context).</p>
+<p>Example of QT_TR_NOOP():</p>
+<pre>
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ static const char* greeting_strings[] = {
+ QT_TR_NOOP( "Hello" ),
+ QT_TR_NOOP( "Goodbye" )
+ };
+ return tr( greeting_strings[greet_type] );
+ }
+</pre>
+<p>Example of QT_TRANSLATE_NOOP():</p>
+<pre>
+ static const char* greeting_strings[] = {
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Hello" ),
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Goodbye" )
+ };
+
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ return tr( greeting_strings[greet_type] );
+ }
+
+ QString global_greeting( int greet_type )
+ {
+ return qApp-&gt;translate( "FriendlyConversation",
+ greeting_strings[greet_type] );
+ }
+</pre>
+<h3><a name="2"></a>Tutorials</h3>
+<p>Three tutorials are presented. The first demonstrates the creation of a <a href="qtranslator.html">QTranslator</a> object. It also shows the simplest use of the <tt>tr()</tt> function to mark user-visible source text for translation. The second tutorial explains how to make the application load the translation file applicable to the current locale. It also shows the use of the two-argument form of <tt>tr()</tt> which provides additional information to the translator. The third tutorial explains how identical source texts can be distinguished even when they occur in the same context. This tutorial also discusses how the translation tools help minimize the translator's work when an application is upgraded.</p>
+<h4><a name="2-1"></a>Tutorial 1: Loading and Using Translations</h4>
+<p align="center"><img align="middle" src="tt1_en.png" width="112" height="49">
+</p>
+<blockquote><p align="center"><em>Tutorial 1 Screenshot, English version</em></p></blockquote>
+<pre>TEMPLATE = app
+CONFIG += qt warn_on
+SOURCES = main.cpp
+TRANSLATIONS = tt1_la.ts
+</pre>
+<blockquote><p align="center"><em><tt>tt1.pro</tt></em></p></blockquote>
+<pre>/****************************************************************
+**
+** Translation tutorial 1
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtranslator-h.html">qtranslator.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qtranslator.html">QTranslator</a> translator( 0 );
+ translator.<a href="qtranslator.html#load">load</a>( "tt1_la", "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+
+ <a href="qpushbutton.html">QPushButton</a> hello( QPushButton::<a href="qobject.html#tr">tr</a>("Hello world!"), 0 );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;hello );
+ hello.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+<blockquote><p align="center"><em><tt>main.cpp</tt></em></p></blockquote>
+<p>This example is a reworking of the <a href="tutorial1-01.html">"hello-world"</a> example from <a href="tutorial.html">Tutorial #1</a>, with a Latin translation. The <em>Tutorial 1 Screenshot, English version</em>, above, shows the English version.</p>
+<h5><a name="2-1-1"></a>Line by Line Walk-through</h5>
+<pre> #include &lt;<a href="qtranslator-h.html">qtranslator.h</a>&gt;
+</pre>
+<!-- index QTranslator --> <p>This line includes the definition of the <a href="qtranslator.html">QTranslator</a> class. Objects of this class provide translations for user-visible text.</p>
+<pre> <a href="qtranslator.html">QTranslator</a> translator( 0 );
+</pre>
+ <p>Creates a <a href="qtranslator.html">QTranslator</a> object without a parent.</p>
+<pre> translator.<a href="qtranslator.html#load">load</a>( "tt1_la", "." );
+</pre>
+<!-- index tt1_la.qm --> <p>Tries to load a file called <tt>tt1_la.qm</tt> (the <tt>.qm</tt> file extension is implicit) that contains Latin translations for the source texts used in the program. No error will occur if the file is not found.</p>
+<!-- index QApplication!installTranslator() --><!-- index installTranslator()!QApplication --><pre> app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+</pre>
+ <p>Adds the translations from <tt>tt1_la.qm</tt> to the pool of translations used by the program.</p>
+<!-- index Hello World --><pre> <a href="qpushbutton.html">QPushButton</a> hello( QPushButton::<a href="qobject.html#tr">tr</a>("Hello world!"), 0 );
+</pre>
+ <p>Creates a push button that displays "Hello world!". If <tt>tt1_la.qm</tt> was found and contains a translation for "Hello world!", the translation appears; if not, the source text appears.</p>
+<!-- index tr() --><!-- index QObject!tr() --><p>All classes that inherit <a href="qobject.html">QObject</a> have a <tt>tr()</tt> function. Inside a member function of a <a href="qobject.html">QObject</a> class, we simply write <tt>tr("Hello world!")</tt> instead of <tt>QPushButton::tr("Hello world!")</tt> or <tt>QObject::tr("Hello world!")</tt>.</p>
+<h5><a name="2-1-2"></a>Running the Application in English</h5>
+<!-- index English Language --><p>Since we haven't made the translation file <tt>tt1_la.qm</tt>, the source text is shown when we run the application:</p>
+<p align="center"><img align="middle" src="tt1_en.png" width="112" height="49">
+</p>
+<blockquote><p align="center"><em>Tutorial 1 Screenshot, English version</em></p></blockquote>
+<h5><a name="2-1-3"></a>Creating a Latin Message File</h5>
+<!-- index tt1.pro --><!-- index Latin --><p>The first step is to create a project file, <tt>tt1.pro</tt>, that lists all the source files for the project. The project file can be a qmake project file, or even an ordinary makefile. Any file that contains</p>
+<!-- index SOURCES!in Project Files --><!-- index TRANSLATIONS!in Project Files --><pre> SOURCES = main.cpp
+ TRANSLATIONS = tt1_la.ts
+</pre>
+ <p>will work. <em>TRANSLATIONS</em> specifies the message files we want to maintain. In this example, we just maintain one set of translations, namely Latin.</p>
+<!-- index .ts Files --><!-- index Translation Source Files --><!-- index .qm Files --><!-- index Qt Message Files --><p>Note that the file extension is <tt>.ts</tt>, not <tt>.qm</tt>. The <tt>.ts</tt> translation source format is designed for use during the application's development. Programmers or release managers run the <a href="linguist-manual-2.html#2">lupdate</a> program to generate and update <tt>.ts</tt> files with the source text that is extracted from the source code. Translators read and update the <tt>.ts</tt> files using <em>Qt Linguist</em> adding and editing their translations.</p>
+<!-- index XML --><p>The <tt>.ts</tt> format is human-readable XML that can be emailed directly and is easy to put under version control. If you edit this file manually, be aware that the default encoding for XML is UTF-8, not Latin-1 (ISO 8859-1). One way to type in a Latin-1 character such as '&oslash;' (Norwegian o with slash) is to use an XML entity: "&amp;#xf8;". This will work for any Unicode character.</p>
+<p>Once the translations are complete the <a href="linguist-manual-2.html#3">lrelease</a> program is used to convert the <tt>.ts</tt> files into the <tt>.qm</tt> Qt message file format. The <tt>.qm</tt> format is a compact binary format designed to deliver very fast lookup performance. Both <a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a> read all the project's source and header files (as specified in the HEADERS and SOURCES lines of the project file) and extract the strings that appear in <tt>tr()</tt> function calls.</p>
+<!-- index lupdate --><p><a href="linguist-manual-2.html#2">lupdate</a> is used to create and update the message files (<tt>tt1_la.ts</tt> in this case) to keep them in sync with the source code. It is safe to run <a href="linguist-manual-2.html#2">lupdate</a> at any time, as <a href="linguist-manual-2.html#2">lupdate</a> does not remove any information. For example, you can put it in the makefile, so the <tt>.ts</tt> files are updated whenever the source changes.</p>
+<!-- index .ts Files --><!-- index Translation Source Files --><!-- index XML --><p>Try running <a href="linguist-manual-2.html#2">lupdate</a> right now, like this:</p>
+<pre>
+ lupdate -verbose tt1.pro
+</pre>
+<p>(The <tt>-verbose</tt> option instructs <tt>lupdate</tt> to display messages that explain what it is doing.) You should now have a file <tt>tt1_la.ts</tt> in the current directory, containing this:</p>
+<pre>
+ &lt;!DOCTYPE TS&gt;&lt;TS&gt;
+ &lt;context&gt;
+ &lt;name&gt;QPushButton&lt;/name&gt;
+ &lt;message&gt;
+ &lt;source&gt;Hello world!&lt;/source&gt;
+ &lt;translation type="unfinished"&gt;&lt;/translation&gt;
+ &lt;/message&gt;
+ &lt;/context&gt;
+ &lt;/TS&gt;
+</pre>
+<p>You don't need to understand the file format since it is read and updated using tools (<a href="linguist-manual-2.html#2">lupdate</a>, <em>Qt Linguist</em>, <a href="linguist-manual-2.html#3">lrelease</a>).</p>
+<h5><a name="2-1-4"></a>Translating to Latin with Qt Linguist</h5>
+<!-- index Qt Linguist --><!-- index Linguist --><p>We will use <em>Qt Linguist</em> to provide the translation, although you can use any XML or plain text editor to enter a translation into a <tt>.ts</tt> file.</p>
+<p>To start <em>Qt Linguist</em>, type</p>
+<pre>
+ linguist tt1_la.ts
+</pre>
+<p>You should now see the text "QPushButton" in the top left pane. Double-click it, then click on "Hello world!" and enter "Orbis, te saluto!" in the <em>Translation</em> pane (the middle right of the window). Don't forget the exclamation mark!</p>
+<p>Click the <em>Done</em> checkbox and choose <em>File|Save</em> from the menu bar. The <tt>.ts</tt> file will no longer contain</p>
+<pre>
+ &lt;translation type='unfinished'&gt;&lt;/translation&gt;
+</pre>
+<p>but instead will have</p>
+<pre>
+ &lt;translation&gt;Orbis, te saluto!&lt;/translation&gt;
+</pre>
+<h5><a name="2-1-5"></a>Running the Application in Latin</h5>
+<!-- index Latin --><!-- index lrelease --><p>To see the application running in Latin, we have to generate a <tt>.qm</tt> file from the <tt>.ts</tt> file. Generating a <tt>.qm</tt> file can be achieved either from within <em>Qt Linguist</em> (for a single <tt>.ts</tt> file), or by using the command line program <a href="linguist-manual-2.html#3">lrelease</a> which will produce one <tt>.qm</tt> file for each of the <tt>.ts</tt> files listed in the project file. Generate <tt>tt1_la.qm</tt> from <tt>tt1_la.ts</tt> by choosing <em>File|Release</em> from <em>Qt Linguist</em>'s menu bar and pressing <em>Save</em> in the file save dialog that pops up. Now run the <em>tt1</em> example program again. This time the button will be labelled "Orbis, te saluto!".</p>
+<p align="center"><img align="middle" src="tt1_la.png" width="112" height="49">
+</p>
+<blockquote><p align="center"><em>Tutorial 1 Screenshot, Latin version</em></p></blockquote>
+<h4><a name="2-2"></a>Tutorial 2: Using Two or More Languages</h4>
+<p align="center"><img align="middle" src="tt2_en.png" width="170" height="157">
+</p>
+<blockquote><p align="center"><em>Tutorial 2 Screenshot, English version</em></p></blockquote>
+<!-- index .pro Files --><!-- index Project Files --><!-- index qmake!Project Files --><pre>TEMPLATE = app
+CONFIG += qt warn_on
+HEADERS = arrowpad.h \
+ mainwindow.h
+SOURCES = arrowpad.cpp \
+ main.cpp \
+ mainwindow.cpp
+TRANSLATIONS = tt2_fr.ts \
+ tt2_nl.ts
+</pre>
+<blockquote><p align="center"><em>tt2.pro</em></p></blockquote>
+<!-- index Translation Contexts --><!-- index Contexts!for Translation --><p>This example is a slightly more involved and introduces a key <em>Qt Linguist</em> concept: "contexts".</p>
+<ul><li><p><tt>arrowpad.h</tt> contains the definition of <tt>ArrowPad</tt>, a custom widget;</p>
+<li><p><tt>arrowpad.cpp</tt> contains the implementation of <tt>ArrowPad</tt>;</p>
+<li><p><tt>mainwindow.h</tt> contains the definition of <tt>MainWindow</tt>, a subclass of <a href="qmainwindow.html">QMainWindow</a></p>
+<li><p><tt>mainwindow.cpp</tt> contains the implementation of <tt>MainWindow</tt>;</p>
+<li><p><tt>main.cpp</tt> contains main().</p>
+</ul><!-- index tt2.pro --><!-- index French Language --><!-- index Dutch Language --><p>We will use two translations, French and Dutch, although there is no effective limit on the number of possible translations that can be used with an application. The relevant lines of <tt>tt2.pro</tt> are</p>
+<pre> HEADERS = arrowpad.h \
+ mainwindow.h
+ SOURCES = arrowpad.cpp \
+ main.cpp \
+ mainwindow.cpp
+ TRANSLATIONS = tt2_fr.ts \
+ tt2_nl.ts
+</pre>
+<!-- index lupdate --><!-- index tt2_fr.ts --><!-- index tt2_nl.ts --> <p>Run <a href="linguist-manual-2.html#2">lupdate</a>; it should produce two identical message files <tt>tt2_fr.ts</tt> and <tt>tt2_nl.ts</tt>. These files will contain all the source texts marked for translation with <tt>tr()</tt> calls and their contexts.</p>
+<h5><a name="2-2-1"></a>Line by Line Walk-through</h5>
+<!-- index ArrowPad!in Translation Tutorial --><!-- index English Language --><p>In <tt>arrowpad.h</tt> we define the <tt>ArrowPad</tt> subclass which is a subclass of <a href="qwidget.html">QWidget</a>. In the <em>Tutorial 2 Screenshot, English version</em>, above, the central widget with the four buttons is an <tt>ArrowPad</tt>.</p>
+<pre> class ArrowPad : public <a href="qgrid.html">QGrid</a>
+</pre>
+<!-- index Q_OBJECT --><!-- index tr() --><!-- index QObject!tr() --><!-- index Translation Contexts --><!-- index Contexts!for Translation --> <p>When <a href="linguist-manual-2.html#2">lupdate</a> is run it not only extracts the source texts but it also groups them into contexts. A context is the name of the class in which the source text appears. Thus, in this example, "ArrowPad" is a context: it is the context of the texts in the <tt>ArrowPad</tt> class. The <tt>Q_OBJECT</tt> macro defines <tt>tr(x)</tt> in <tt>ArrowPad</tt> like this</p>
+<!-- index QApplication!translate() --><!-- index translate()!QApplication --><pre>
+ qApp-&gt;translate( "ArrowPad", x )
+</pre>
+<p>Knowing which class each source text appears in enables <em>Qt Linguist</em> to group texts that are logically related together, e.g. all the text in a dialog will have the context of the dialog's class name and will be shown together. This provides useful information for the translator since the context in which text appears may influence how it should be translated. For some translations keyboard accelerators may need to be changed and having all the source texts in a particular context (class) grouped together makes it easier for the translator to perform any accelerator changes without introducing conflicts.</p>
+<p>In <tt>arrowpad.cpp</tt> we implement the <tt>ArrowPad</tt> class.</p>
+<pre> (void) new <a href="qpushbutton.html">QPushButton</a>( <a href="qobject.html#tr">tr</a>("&amp;Up"), this );
+</pre>
+ <p>We call <tt>ArrowPad::tr()</tt> for each button's label since the labels are user-visible text.</p>
+<p align="center"><img align="middle" src="tt2_en.png" width="170" height="157">
+</p>
+<blockquote><p align="center"><em>Tutorial 2 Screenshot, English version</em></p></blockquote>
+<!-- index Q_OBJECT --><!-- index MainWindow!in Translation Tutorial --><pre> class MainWindow : public <a href="qmainwindow.html">QMainWindow</a>
+ {
+ Q_OBJECT
+</pre>
+ <p>In the <em>Tutorial 2 Screenshot, English version</em>, above, the whole window is a <tt>MainWindow</tt>. This is defined in the <tt>mainwindow.h</tt> header file. Here too, we use <tt>Q_OBJECT</tt>, so that <tt>MainWindow</tt> will become a context in <em>Qt Linguist</em>.</p>
+<p>In the implementation of <tt>MainWindow</tt>, <tt>mainwindow.cpp</tt>, we create an instance of our <tt>ArrowPad</tt> class</p>
+<pre> ArrowPad *ap = new ArrowPad( this, "arrow pad" );
+</pre>
+ <p>We also call <tt>MainWindow::tr()</tt> twice, once for the menu item and once for the accelerator.</p>
+<!-- index Ctrl Key --><!-- index Alt Key --><pre> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("E&amp;xit"), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()),
+ <a href="qobject.html#tr">tr</a>("Ctrl+Q", "Quit") );
+</pre>
+ <p>Note the use of <tt>tr()</tt> to support different keys in other languages. "Ctrl+Q" is a good choice for Quit in English, but a Dutch translator might want to use "Ctrl+A" (for Afsluiten) and a German translator "Strg+E" (for Beenden). When using <tt>tr()</tt> for Ctrl key accelerators, the two argument form should be used with the second argument describing the function that the accelerator performs.</p>
+<!-- index main() --><p>Our <tt>main()</tt> function is defined in <tt>main.cpp</tt> as usual.</p>
+<pre> <a href="qtranslator.html">QTranslator</a> translator( 0 );
+ translator.<a href="qtranslator.html#load">load</a>( QString("tt2_") + QTextCodec::locale(), "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+</pre>
+<!-- index QTextCodec!locale() --><!-- index locale()!QTextCodec --><!-- index LANG!Environment Variable --><!-- index Environment Variables!LANG --> <p>We choose which translation to use according to the current locale. <a href="qtextcodec.html#locale">QTextCodec::locale</a>() can be influenced by setting the <tt>LANG</tt> environment variable, for example. Notice that the use of a naming convention that incorporates the locale for <tt>.qm</tt> message files, (and <tt>.ts</tt> files), makes it easy to implement choosing the translation file according to locale.</p>
+<p>If there is no <tt>.qm</tt> message file for the locale chosen the original source text will be used and no error raised.</p>
+<h5><a name="2-2-2"></a>Translating to French and Dutch</h5>
+<p>We'll begin by translating the example application into French. Start <em>Qt Linguist</em> with <tt>tt2_fr.ts</tt>. You should get the seven source texts ("&amp;Up", "&amp;Left", etc.) grouped in two contexts ("ArrowPad" and "MainWindow").</p>
+<p>Now, enter the following translations:</p>
+<ul><li><p><tt>ArrowPad</tt></p>
+<ul><li><p>&amp;Up - &amp;Haut</p>
+<li><p>&amp;Left - &amp;Gauche</p>
+<li><p>&amp;Right - &amp;Droite</p>
+<li><p>&amp;Down - &amp;Bas</p>
+</ul><li><p><tt>MainWindow</tt></p>
+<ul><li><p>E&amp;xit - &amp;Quitter</p>
+<li><p>Ctrl+Q - Ctrl+Q</p>
+<li><p>&amp;File - &amp;Fichier</p>
+</ul></ul><p>It's quickest to press <b>Alt+D</b> (which clicks the <em>Done &amp; Next</em> button) after typing each translation, since this marks the translation as done and moves on to the next source text.</p>
+<p>Save the file and do the same for Dutch working with <tt>tt2_nl.ts</tt>:</p>
+<ul><li><p><tt>ArrowPad</tt></p>
+<ul><li><p>&amp;Up - &amp;Boven</p>
+<li><p>&amp;Left - &amp;Links</p>
+<li><p>&amp;Right - &amp;Rechts</p>
+<li><p>&amp;Down - &amp;Onder</p>
+</ul><li><p><tt>MainWindow</tt></p>
+<ul><li><p>E&amp;xit - &amp;Afsluiten</p>
+<li><p>Ctrl+Q - Ctrl+A</p>
+<li><p>File - &amp;Bestand</p>
+</ul></ul><p>We have to convert the <tt>tt1_fr.ts</tt> and <tt>tt1_nl.ts</tt> translation source files into <tt>.qm</tt> files. We could use <em>Qt Linguist</em> as we've done before; however using the command line tool <a href="linguist-manual-2.html#3">lrelease</a> ensures that <em>all</em> the <tt>.qm</tt> files for the application are created without us having to remember to load and <em>File|Release</em> each one individually from <em>Qt Linguist</em>.</p>
+<p>In practice we would include calls to <a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a> in the application's makefile to ensure that the latest translations are used.</p>
+<p>Type</p>
+<pre>
+ lrelease tt2.pro
+</pre>
+<!-- index LANG!Environment Variable --><!-- index export!Unix Command --><!-- index setenv!Unix Command --><p>This should create both <tt>tt2_fr.qm</tt> and <tt>tt2_nl.qm</tt>. Set the <tt>LANG</tt> environment variable to <tt>fr</tt>. In Unix, one of the two following commands should work</p>
+<pre>
+ export LANG=fr
+ setenv LANG fr
+</pre>
+<!-- index --><!-- index autoexec.bat --><!-- index set!Windows Command --><p>In Windows, either modify <tt>autoexec.bat</tt> or run</p>
+<pre>
+ set LANG=fr
+</pre>
+<p>When you run the program, you should now see the French version:</p>
+<p align="center"><img align="middle" src="tt2_fr.png" width="208" height="177">
+</p>
+<blockquote><p align="center"><em>Tutorial 2 Screenshot, French version</em></p></blockquote>
+<p>Try the same with Dutch, by setting <tt>LANG=nl</tt>. Now the Dutch version should appear:</p>
+<p align="center"><img align="middle" src="tt2_nl.png" width="208" height="177">
+</p>
+<blockquote><p align="center"><em>Tutorial 2 Screenshot, Dutch version</em></p></blockquote>
+<h5><a name="2-2-3"></a>Exercises</h5>
+<p>Mark one of the translations in <em>Qt Linguist</em> as not done, i.e. by unchecking the "done" checkbox; run <a href="linguist-manual-2.html#2">lupdate</a>, then <a href="linguist-manual-2.html#3">lrelease</a>, then the example. What effect did this change have?</p>
+<!-- index Canada --><!-- index French Canada --><p>Set <tt>LANG=fr_CA</tt> (French Canada) and run the example program again. Explain why the result is the same as with <tt>LANG=fr</tt>.</p>
+<p>Change one of the accelerators in the Dutch translation to eliminate the conflict between <em></em>&amp;Bestand and <em></em>&amp;Boven.</p>
+<h4><a name="2-3"></a>Tutorial 3: Disambiguating Identical Strings</h4>
+<p align="center"><img align="middle" src="tt3_10_en.png" width="208" height="177">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, "Troll Print 1.0", English version</em></p></blockquote>
+<pre>TEMPLATE = app
+CONFIG += qt warn_on
+HEADERS = mainwindow.h \
+ printpanel.h
+SOURCES = main.cpp \
+ mainwindow.cpp \
+ printpanel.cpp
+TRANSLATIONS = tt3_pt.ts
+</pre>
+<blockquote><p align="center"><em><tt>tt3.pro</tt></em></p></blockquote>
+<!-- index Portuguese Language --><!-- index Brazilian Language --><p>We've included a translation file, <tt>tt3_pt.ts</tt>, which contains some Portuguese translations for this example.</p>
+<!-- index Troll Print --><p>We will consider two releases of the same application: Troll Print 1.0 and 1.1. We will learn to reuse the translations created for one release in a subsequent release. (In this tutorial, you need to edit some source files. It's probably best to copy all the files to a new temporary directory and work from there.)</p>
+<p>Troll Print is a toy example application that lets the user choose printer settings. It comes in two versions: English and Portuguese.</p>
+<p>Version 1.0 consists of these files:</p>
+<!-- index tt3.pro --><!-- index tt3_pt.ts --><ul><li><p><tt>printpanel.h</tt> contains the definition of PrintPanel;</p>
+<li><p><tt>printpanel.cpp</tt> contains the implementation of PrintPanel;</p>
+<li><p><tt>mainwindow.h</tt> contains the definition of <tt>MainWindow</tt>;</p>
+<li><p><tt>mainwindow.cpp</tt> contains the implementation of <tt>MainWindow</tt>;</p>
+<li><p><tt>main.cpp</tt> contains main();</p>
+<li><p><tt>tt3.pro</tt> is the <em>qmake</em> project file.</p>
+<li><p><tt>tt3_pt.ts</tt> is the Portuguese message file.</p>
+</ul><h5><a name="2-3-1"></a>Line by Line Walk-through</h5>
+<p>The PrintPanel is defined in <tt>printpanel.h</tt>.</p>
+<pre> class PrintPanel : public <a href="qvbox.html">QVBox</a>
+ {
+ Q_OBJECT
+</pre>
+<!-- index Q_OBJECT --><!-- index PrintPanel!in Translation Tutorial --> <p>PrintPanel is a <a href="qwidget.html">QWidget</a>. It needs the <tt>Q_OBJECT</tt> macro for <tt>tr()</tt> to work properly.</p>
+<p>The implementation file is <tt>printpanel.cpp</tt>.</p>
+<pre> /*
+ <a href="qlabel.html">QLabel</a> *lab = new <a href="qlabel.html">QLabel</a>( <a href="qobject.html#tr">tr</a>("&lt;b&gt;TROLL PRINT&lt;/b&gt;"), this );
+ lab-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( <a href="qt.html#AlignmentFlags-enum">AlignCenter</a> );
+ */
+</pre>
+<!-- index Troll Print --> <p>Some of the code is commented out in Troll Print 1.0; you will uncomment it later, for Troll Print 1.1.</p>
+<pre> <a href="qhbuttongroup.html">QHButtonGroup</a> *twoSided = new <a href="qhbuttongroup.html">QHButtonGroup</a>( this );
+ twoSided-&gt;<a href="qgroupbox.html#setTitle">setTitle</a>( <a href="qobject.html#tr">tr</a>("2-sided") );
+ but = new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>("Enabled"), twoSided );
+ but = new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>("Disabled"), twoSided );
+ but-&gt;<a href="qbutton.html#toggle">toggle</a>();
+ <a href="qhbuttongroup.html">QHButtonGroup</a> *colors = new <a href="qhbuttongroup.html">QHButtonGroup</a>( this );
+ colors-&gt;<a href="qgroupbox.html#setTitle">setTitle</a>( <a href="qobject.html#tr">tr</a>("Colors") );
+ but = new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>("Enabled"), colors );
+ but = new <a href="qradiobutton.html">QRadioButton</a>( <a href="qobject.html#tr">tr</a>("Disabled"), colors );
+ but-&gt;<a href="qbutton.html#toggle">toggle</a>();
+</pre>
+ <p>Notice the two occurrences of <tt>tr("Enabled")</tt> and of <tt>tr("Disabled")</tt> in PrintPanel. Since both "Enabled"s and "Disabled"s appear in the same context <em>Qt Linguist</em> will only display one occurrence of each and will use the same translations for the duplicates that it doesn't display. Whilst this is a useful timesaver, in some languages, such as Portuguese, the second occurrence requires a separate translation. We will see how <em>Qt Linguist</em> can be made to display all the occurrences for separate translation shortly.</p>
+<!-- index MainWindow!in Translation Tutorial --><p>The header file for <tt>MainWindow</tt>, <tt>mainwindow.h</tt>, contains no surprises. In the implementation, <tt>mainwindow.cpp</tt>, we have some user-visible source texts that must be marked for translation.</p>
+<pre> <a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>("Troll Print 1.0") );
+</pre>
+ <p>We must translate the window's caption.</p>
+<pre> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("E&amp;xit"), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()),
+ <a href="qobject.html#tr">tr</a>("Ctrl+Q", "Quit") );
+ <a href="qpopupmenu.html">QPopupMenu</a> *help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;About"), this, SLOT(about()), Key_F1 );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("About &amp;Qt"), this, SLOT(aboutQt()) );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;File"), file );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;Help"), help );
+</pre>
+ <p>We also need to translate the menu items. Note that the two argument form of <tt>tr()</tt> is used for the keyboard accelerator, "Ctrl+Q", since the second argument is the only clue the translator has to indicate what function that accelerator will perform.</p>
+<pre> <a href="qtranslator.html">QTranslator</a> translator( 0 );
+ translator.<a href="qtranslator.html#load">load</a>( QString("tt3_") + QTextCodec::locale(), "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+</pre>
+<!-- index main() --> <p>The <tt>main()</tt> function in <tt>main.cpp</tt> is the same as the one in <a href="linguist-manual-4.html#2-2">Tutorial 2</a>. In particular it chooses a translation file based on the current locale.</p>
+<h5><a name="2-3-2"></a>Running Troll Print 1.0 in English and in Portuguese</h5>
+<p>We will use the translations in the <tt>tt3_pt.ts</tt> file that is provided.</p>
+<p>Set the <tt>LANG</tt> environment variable to <tt>pt</tt>, and then run <tt>tt3</tt>. You should still see the English version, as shown in the <em>Tutorial 3 Screenshot, "Troll Print 1.0", English version</em>, above. Now run <a href="linguist-manual-2.html#3">lrelease</a>, e.g. <tt>lrelease tt3.pro</tt>, and then run the example again. Now you should see the Portuguese edition (Troll Imprimir 1.0):</p>
+<p align="center"><img align="middle" src="tt3_10_pt_bad.png" width="208" height="177">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, "Troll Imprimir 1.0", (Bad) Portuguese version</em></p></blockquote>
+<p>Whilst the translation has appeared correctly, it is in fact wrong. In good Portuguese, the second occurrence of "Enabled" should be "Ativadas", not "Ativado" and the ending for the second translation of "Disabled" must change similarly too.</p>
+<p>If you open <tt>tt3_pt.ts</tt> using <em>Qt Linguist</em>, you will see that there is just one occurrence of "Enabled" and of "Disabled" in the translation source file, even though there are two of each in the source code. This is because <em>Qt Linguist</em> tries to minimize the translator's work by using the same translation for duplicate source texts. In cases such as this where an identical translation is wrong, the programmer must disambiguate the duplicate occurrences. This is easily achieved by using the two argument form of <tt>tr()</tt>.</p>
+<p>We can easily determine which file must be changed because the translator's "context" is in fact the class name for the class where the texts that must be changed appears. In this case the file is <tt>printpanel.cpp</tt>, where the there are four lines to change. Add the second argument "two-sided" in the appropriate <tt>tr()</tt> calls to the first pair of radio buttons:</p>
+<pre>
+ but = new QRadioButton( tr("Enabled", "two-sided"), twoSided );
+ but = new QRadioButton( tr("Disabled", "two-sided"), twoSided );
+</pre>
+<p>and add the second argument "colors" in the appropriate <tt>tr()</tt> calls for the second pair of radio buttons:</p>
+<pre>
+ but = new QRadioButton( tr("Enabled", "colors"), colors );
+ but = new QRadioButton( tr("Disabled", "colors"), colors );
+</pre>
+<!-- index lupdate --><!-- index tt3_pt.ts --><p>Now run <a href="linguist-manual-2.html#2">lupdate</a> and open <tt>tt3_pt.ts</tt> with <em>Qt Linguist</em>. You should now see two changes.</p>
+<p>First, the translation source file now contains <em>three</em> "Enabled", "Disabled" pairs. The first pair is marked "(obs.)" signifying that they are obsolete. This is because these texts appeared in <tt>tr()</tt> calls that have been replaced by new calls with two arguments. The second pair has "two-sided" as their comment, and the third pair has "colors" as their comment. The comments are shown in the <em>Source text and comments</em> area in <em>Qt Linguist</em>.</p>
+<p>Second, the translation text "Ativado" and "Desativado" have been automatically used as translations for the new "Enabled" and "Disabled" texts, again to minimize the translator's work. Of course in this case these are not correct for the second occurrence of each word, but they provide a good starting point.</p>
+<p>Change the second "Ativado" into "Ativadas" and the second "Desativado" into "Desativadas", then save and quit. Run <a href="linguist-manual-2.html#3">lrelease</a> to obtain an up-to-date binary <tt>tt3_pt.qm</tt> file, and run Troll Print (or rather Troll Imprimir).</p>
+<p align="center"><img align="middle" src="tt3_10_pt_good.png" width="208" height="177">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, "Troll Imprimir 1.0", (Good) Portuguese version</em></p></blockquote>
+<!-- index Translator Comments --><!-- index Comments!for Translators --><p>The second argument to <tt>tr()</tt> calls, called "comments" in <em>Qt Linguist</em>, distinguish between identical source texts that occur in the same context (class). They are also useful in other cases to give clues to the translator, and in the case of Ctrl key accelerators are the only means of conveying the function performed by the accelerator to the translator.</p>
+<!-- index TRANSLATOR!in Comments --><!-- index Translator Comments --><!-- index Comments!for Translators --><p>An additional way of helping the translator is to provide information on how to navigate to the particular part of the application that contains the source texts they must translate. This helps them see the context in which the translation appears and also helps them to find and test the translations. This can be achieved by using a <em>TRANSLATOR</em> comment in the source code:</p>
+<pre>
+ /* TRANSLATOR MainWindow
+
+ In this application the whole application is a MainWindow.
+ Choose Help|About from the menu bar to see some text
+ belonging to MainWindow.
+ */
+</pre>
+<p>Try adding these comments to some source files, particularly to dialog classes, describing the navigation necessary to reach the dialogs. You could also add them to the example files, e.g. <tt>mainwindow.cpp</tt> and <tt>printpanel.cpp</tt> are appropriate files. Run <a href="linguist-manual-2.html#2">lupdate</a> and then start <em>Qt Linguist</em> and load in <tt>tt3_pt.ts</tt>. You should see the comments in the <em>Source text and comments</em> area as you browse through the list of source texts.</p>
+<p>Sometimes, particularly with large programs, it can be difficult for the translator to find their translations and check that they're correct. Comments that provide good navigation information can save them time:</p>
+<pre>
+ /* TRANSLATOR ZClientErrorDialog
+
+ Choose Client|Edit to reach the Client Edit dialog, then choose
+ Client Specification from the drop down list at the top and pick
+ client Bartel Leendert van der Waerden. Now check the Profile
+ checkbox and then click the Start Processing button. You should
+ now see a pop up window with the text "Error: Name too long!".
+ This window is a ZClientErrorDialog.
+ */
+</pre>
+<h5><a name="2-3-3"></a>Troll Print 1.1</h5>
+<p>We'll now prepare release 1.1 of Troll Print. Start your favorite text editor and follow these steps:</p>
+<ul><li><p>Uncomment the two lines that create a <a href="qlabel.html">QLabel</a> with the text "&lt;b&gt;TROLL PRINT&lt;/b&gt;" in <tt>printpanel.cpp</tt>.</p>
+<li><p>Word-tidying: Replace "2-sided" by "Two-sided" in <tt>printpanel.cpp</tt>.</p>
+<li><p>Replace "1.0" with "1.1" everywhere it occurs in <tt>mainwindow.cpp</tt>.</p>
+<li><p>Update the copyright year to 1999-2000 in <tt>mainwindow.cpp</tt>.</p>
+</ul><p>(Of course the version number and copyright year would be consts or #defines in a real application.)</p>
+<p>Once finished, run <a href="linguist-manual-2.html#2">lupdate</a>, then open <tt>tt3_pt.ts</tt> in <em>Qt Linguist</em>. The following items are of special interest:</p>
+<ul><li><p><tt>MainWindow</tt></p>
+<ul><li><p>Troll Print 1.0 - marked "(obs.)", obsolete</p>
+<li><p>About Troll Print 1.0 - marked "(obs.)", obsolete</p>
+<li><p>Troll Print 1.0. Copyright 1999 Macroshaft, Inc. - marked "(obs.)", obsolete</p>
+<li><p>Troll Print 1.1 - automatically translated as "Troll Imprimir 1.1"</p>
+<li><p>About Troll Print 1.1 - automatically translated as "Troll Imprimir 1.1"</p>
+<li><p>Troll Print 1.1. Copyright 1999-2000 Macroshaft, Inc. - automatically translated as "Troll Imprimir 1.1. Copyright 1999-2000 Macroshaft, Inc."</p>
+</ul><li><p><tt>PrintPanel</tt></p>
+<ul><li><p>2-sided - marked "(obs.)", obsolete</p>
+<li><p>&lt;b&gt;TROLL PRINT&lt;/b&gt; - unmarked, i.e. untranslated</p>
+<li><p>Two-sided - unmarked, i.e. untranslated.</p>
+</ul></ul><p>Notice that <a href="linguist-manual-2.html#2">lupdate</a> works hard behind the scenes to make revisions easier, and it's pretty smart with numbers.</p>
+<p>Go over the translations in <tt>MainWindow</tt> and mark these as "done". Translate "&lt;b&gt;TROLL PRINT&lt;/b&gt;" as "&lt;b&gt;TROLL IMPRIMIR&lt;/b&gt;". When you're translating "Two-sided", press the <em>Guess Again</em> button to translate "Two-sided", but change the "2" into "Dois".</p>
+<p>Save and quit, then run <a href="linguist-manual-2.html#3">lrelease</a>. The Portuguese version should look like this:</p>
+<p align="center"><img align="middle" src="tt3_11_pt.png" width="198" height="187">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, "Troll Imprimir 1.1", Portuguese version</em></p></blockquote>
+<p>Choose <em>Ajuda|Sobre</em>, (<em>Help|About</em>), to see the about box</p>
+<p align="center"><img align="middle" src="tt3_11_about_pt.png" width="262" height="139">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, About box, Portuguese version</em></p></blockquote>
+<!-- index English Language --><!-- index Translating Qt --><!-- index Qt!Translating Qt --><p>If you choose <em>Ajuda|Sobre Qt</em>, (<em>Help|About Qt</em>), you'll get an English dialog. Oops! Qt itself needs to be translated. See the document <a href="i18n.html#qt-itself">Internationalization with Qt</a> for details.</p>
+<p>Now set <tt>LANG=en</tt> to get the original English version:</p>
+<p align="center"><img align="middle" src="tt3_11_en.png" width="208" height="189">
+</p>
+<blockquote><p align="center"><em>Tutorial 3 Screenshot, "Troll Print 1.1", English version</em></p></blockquote>
+<h4><a name="2-4"></a>Summary</h4>
+<p>These tutorials cover all that you need to know to prepare your Qt applications for translation.</p>
+<p>At the beginning of a project add the translation source files to be used to the project file and add calls to <a href="linguist-manual-2.html#2">lupdate</a> and <a href="linguist-manual-2.html#3">lrelease</a> to the make file.</p>
+<p>During the project all the programmer must do is wrap any user-visible text in <tt>tr()</tt> calls. They should also use the two argument form for Ctrl key accelerators, or when asked by the translator for the cases where the same text translates into two different forms in the same context. The programmer should also include <em>TRANSLATION</em> comments to help the translator navigate the application.</p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist-manual.html b/doc/html/linguist-manual.html
new file mode 100644
index 0000000..c094788
--- /dev/null
+++ b/doc/html/linguist-manual.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- (null):0 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Guide to the Qt Translation Tools</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Guide to the Qt Translation Tools</h1>
+
+<h2><a href="linguist-manual-1.html">Introduction</a></h2>
+<h2><a href="linguist-manual-2.html">Release Manager</a></h2>
+<h2><a href="linguist-manual-3.html">Translators</a></h2>
+<h2><a href="linguist-manual-4.html">Programmers</a></h2>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/linguist.dcf b/doc/html/linguist.dcf
new file mode 100644
index 0000000..e03e310
--- /dev/null
+++ b/doc/html/linguist.dcf
@@ -0,0 +1,7 @@
+<!DOCTYPE DCF>
+<DCF ref="linguist-manual.html" icon="linguist.png" imagedir="../../gif" title="Guide to the Qt Translation Tools">
+<section ref="linguist-manual-1.html" title="Introduction"/>
+<section ref="linguist-manual-2.html" title="Release Manager"/>
+<section ref="linguist-manual-3.html" title="Translators"/>
+<section ref="linguist-manual-4.html" title="Programmers"/>
+</DCF>
diff --git a/doc/html/linguist.png b/doc/html/linguist.png
new file mode 100644
index 0000000..519c185
--- /dev/null
+++ b/doc/html/linguist.png
Binary files differ
diff --git a/doc/html/listbox-example.html b/doc/html/listbox-example.html
new file mode 100644
index 0000000..ebf015f
--- /dev/null
+++ b/doc/html/listbox-example.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/listbox/listbox.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Listbox Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Listbox Example</h1>
+
+
+<p>
+This example shows how to use the different modes (single columns, multiple columns,
+fixed number of rows, etc.) of <a href="qlistbox.html">QListBox</a>.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/listbox.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LISTBOX_H
+#define LISTBOX_H
+
+
+class QSpinBox;
+class QListBox;
+class QButtonGroup;
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class ListBoxDemo: public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ ListBoxDemo();
+ ~ListBoxDemo();
+
+private slots:
+ void setNumRows();
+ void setNumCols();
+ void setRowsByHeight();
+ void setColsByWidth();
+ void setVariableWidth( bool );
+ void setVariableHeight( bool );
+ void setMultiSelection( bool );
+ void sortAscending();
+ void sortDescending();
+
+private:
+ <a href="qlistbox.html">QListBox</a> * l;
+ <a href="qspinbox.html">QSpinBox</a> * columns;
+ <a href="qspinbox.html">QSpinBox</a> * rows;
+ <a href="qbuttongroup.html">QButtonGroup</a> * bg;
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/listbox.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listbox.h"
+
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+
+
+<a name="f441"></a>ListBoxDemo::ListBoxDemo()
+ : <a href="qwidget.html">QWidget</a>( 0, 0 )
+{
+ <a href="qgridlayout.html">QGridLayout</a> * g = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 6 );
+
+ g-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "&lt;b&gt;Configuration:&lt;/b&gt;", this ), 0, 0 );
+ g-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "&lt;b&gt;Result:&lt;/b&gt;", this ), 0, 1 );
+
+ l = new <a href="qlistbox.html">QListBox</a>( this );
+ g-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( l, 1, 1 );
+<a name="x1447"></a> l-&gt;<a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>( QWidget::StrongFocus );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> * v = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+<a name="x1430"></a> g-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( v, 1, 0 );
+
+ <a href="qradiobutton.html">QRadioButton</a> * b;
+ bg = new <a href="qbuttongroup.html">QButtonGroup</a>( 0 );
+
+ b = new <a href="qradiobutton.html">QRadioButton</a>( "Fixed number of columns,\n"
+ "as many rows as needed.",
+ this );
+<a name="x1428"></a> bg-&gt;<a href="qbuttongroup.html#insert">insert</a>( b );
+<a name="x1425"></a> v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( b );
+<a name="x1440"></a> b-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+<a name="x1426"></a> <a href="qobject.html#connect">connect</a>( b, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(setNumCols()) );
+ <a href="qhboxlayout.html">QHBoxLayout</a> * h = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+<a name="x1422"></a> v-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( h );
+<a name="x1423"></a> h-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 30 );
+ h-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 100 );
+ h-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Columns:", this ) );
+ columns = new <a href="qspinbox.html">QSpinBox</a>( this );
+ h-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( columns );
+
+ v-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 12 );
+
+ b = new <a href="qradiobutton.html">QRadioButton</a>( "As many columns as fit on-screen,\n"
+ "as many rows as needed.",
+ this );
+ bg-&gt;<a href="qbuttongroup.html#insert">insert</a>( b );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( b );
+ <a href="qobject.html#connect">connect</a>( b, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(setColsByWidth()) );
+
+ v-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 12 );
+
+ b = new <a href="qradiobutton.html">QRadioButton</a>( "Fixed number of rows,\n"
+ "as many columns as needed.",
+ this );
+ bg-&gt;<a href="qbuttongroup.html#insert">insert</a>( b );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( b );
+ <a href="qobject.html#connect">connect</a>( b, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(setNumRows()) );
+ h = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ v-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( h );
+ h-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 30 );
+ h-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 100 );
+ h-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( new <a href="qlabel.html">QLabel</a>( "Rows:", this ) );
+ rows = new <a href="qspinbox.html">QSpinBox</a>( this );
+<a name="x1442"></a> rows-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ h-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( rows );
+
+ v-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 12 );
+
+ b = new <a href="qradiobutton.html">QRadioButton</a>( "As many rows as fit on-screen,\n"
+ "as many columns as needed.",
+ this );
+ bg-&gt;<a href="qbuttongroup.html#insert">insert</a>( b );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( b );
+ <a href="qobject.html#connect">connect</a>( b, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(setRowsByHeight()) );
+
+ v-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 12 );
+
+ <a href="qcheckbox.html">QCheckBox</a> * cb = new <a href="qcheckbox.html">QCheckBox</a>( "Variable-height rows", this );
+<a name="x1429"></a> cb-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+<a name="x1427"></a> <a href="qobject.html#connect">connect</a>( cb, SIGNAL(<a href="qbutton.html#toggled">toggled</a>(bool)), this, SLOT(setVariableHeight(bool)) );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cb );
+ v-&gt;<a href="qboxlayout.html#addSpacing">addSpacing</a>( 6 );
+
+ cb = new <a href="qcheckbox.html">QCheckBox</a>( "Variable-width columns", this );
+ <a href="qobject.html#connect">connect</a>( cb, SIGNAL(<a href="qbutton.html#toggled">toggled</a>(bool)), this, SLOT(setVariableWidth(bool)) );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cb );
+
+ cb = new <a href="qcheckbox.html">QCheckBox</a>( "Extended-Selection", this );
+ <a href="qobject.html#connect">connect</a>( cb, SIGNAL(<a href="qbutton.html#toggled">toggled</a>(bool)), this, SLOT(setMultiSelection(bool)) );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cb );
+
+ <a href="qpushbutton.html">QPushButton</a> *pb = new <a href="qpushbutton.html">QPushButton</a>( "Sort ascending", this );
+ <a href="qobject.html#connect">connect</a>( pb, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( sortAscending() ) );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( pb );
+
+ pb = new <a href="qpushbutton.html">QPushButton</a>( "Sort descending", this );
+ <a href="qobject.html#connect">connect</a>( pb, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( sortDescending() ) );
+ v-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( pb );
+
+<a name="x1424"></a> v-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 100 );
+
+ int i = 0;
+ while( ++i &lt;= 2560 )
+<a name="x1446"></a><a name="x1433"></a> l-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "Item " ) + QString::number( i ),
+ i );
+<a name="x1441"></a> columns-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 1, 256 );
+<a name="x1443"></a> columns-&gt;<a href="qspinbox.html#setValue">setValue</a>( 1 );
+ rows-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 1, 256 );
+ rows-&gt;<a href="qspinbox.html#setValue">setValue</a>( 256 );
+
+<a name="x1445"></a> <a href="qobject.html#connect">connect</a>( columns, SIGNAL(<a href="qspinbox.html#valueChanged">valueChanged</a>(int)), this, SLOT(setNumCols()) );
+ <a href="qobject.html#connect">connect</a>( rows, SIGNAL(<a href="qspinbox.html#valueChanged">valueChanged</a>(int)), this, SLOT(setNumRows()) );
+}
+
+
+ListBoxDemo::~ListBoxDemo()
+{
+ delete bg;
+}
+
+
+void <a name="f442"></a>ListBoxDemo::setNumRows()
+{
+ columns-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ rows-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+<a name="x1444"></a><a name="x1435"></a> l-&gt;<a href="qlistbox.html#setRowMode">setRowMode</a>( rows-&gt;<a href="qspinbox.html#value">value</a>() );
+}
+
+
+void <a name="f443"></a>ListBoxDemo::setNumCols()
+{
+ columns-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ rows-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+<a name="x1434"></a> l-&gt;<a href="qlistbox.html#setColumnMode">setColumnMode</a>( columns-&gt;<a href="qspinbox.html#value">value</a>() );
+}
+
+
+void <a name="f444"></a>ListBoxDemo::setRowsByHeight()
+{
+ columns-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ rows-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ l-&gt;<a href="qlistbox.html#setRowMode">setRowMode</a>( QListBox::FitToHeight );
+}
+
+
+void <a name="f445"></a>ListBoxDemo::setColsByWidth()
+{
+ columns-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ rows-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ l-&gt;<a href="qlistbox.html#setColumnMode">setColumnMode</a>( QListBox::FitToWidth );
+}
+
+
+void <a name="f446"></a>ListBoxDemo::setVariableWidth( bool b )
+{
+<a name="x1438"></a> l-&gt;<a href="qlistbox.html#setVariableWidth">setVariableWidth</a>( b );
+}
+
+
+void <a name="f447"></a>ListBoxDemo::setVariableHeight( bool b )
+{
+<a name="x1437"></a> l-&gt;<a href="qlistbox.html#setVariableHeight">setVariableHeight</a>( b );
+}
+
+void <a name="f448"></a>ListBoxDemo::setMultiSelection( bool b )
+{
+<a name="x1432"></a> l-&gt;<a href="qlistbox.html#clearSelection">clearSelection</a>();
+<a name="x1436"></a> l-&gt;<a href="qlistbox.html#setSelectionMode">setSelectionMode</a>( b ? QListBox::Extended : <a href="qlistbox.html">QListBox</a>::Single );
+}
+
+void <a name="f449"></a>ListBoxDemo::sortAscending()
+{
+<a name="x1439"></a> l-&gt;<a href="qlistbox.html#sort">sort</a>( TRUE );
+}
+
+void <a name="f450"></a>ListBoxDemo::sortDescending()
+{
+ l-&gt;<a href="qlistbox.html#sort">sort</a>( FALSE );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listbox.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ListBoxDemo t;
+ t.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Listbox" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;t );
+ t.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/listboxcombo-example.html b/doc/html/listboxcombo-example.html
new file mode 100644
index 0000000..df9efbb
--- /dev/null
+++ b/doc/html/listboxcombo-example.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/listboxcombo/listboxcombo.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Listboxes and Comboboxes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Listboxes and Comboboxes</h1>
+
+
+<p>
+This example program demonstrates how to use listboxes (with single selection
+and multi selection) and comboboxes (editable and non-editable).
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/listboxcombo.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LISTBOX_COMBO_H
+#define LISTBOX_COMBO_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QListBox;
+class QLabel;
+
+class ListBoxCombo : public <a href="qvbox.html">QVBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ListBoxCombo( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qlistbox.html">QListBox</a> *lb1, *lb2;
+ <a href="qlabel.html">QLabel</a> *label1, *label2;
+
+protected slots:
+ void slotLeft2Right();
+ void slotCombo1Activated( const <a href="qstring.html">QString</a> &amp;s );
+ void slotCombo2Activated( const <a href="qstring.html">QString</a> &amp;s );
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/listboxcombo.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listboxcombo.h"
+
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qstyle-h.html">qstyle.h</a>&gt;
+
+
+class MyListBoxItem : public <a href="qlistboxitem.html">QListBoxItem</a>
+{
+public:
+ MyListBoxItem()
+ : <a href="qlistboxitem.html">QListBoxItem</a>()
+ {
+ setCustomHighlighting( TRUE );
+ }
+
+protected:
+ virtual void paint( <a href="qpainter.html">QPainter</a> * );
+ virtual int width( const <a href="qlistbox.html">QListBox</a>* ) const { return 100; }
+ virtual int height( const <a href="qlistbox.html">QListBox</a>* ) const { return 16; }
+
+};
+
+<a name="x1410"></a>void MyListBoxItem::<a href="qlistboxitem.html#paint">paint</a>( <a href="qpainter.html">QPainter</a> *painter )
+{
+ // evil trick: find out whether we are painted onto our listbox
+<a name="x1413"></a> bool in_list_box = <a href="qlistboxitem.html#listBox">listBox</a>() &amp;&amp; listBox()-&gt;viewport() == painter-&gt;<a href="qpainter.html#device">device</a>();
+
+ <a href="qrect.html">QRect</a> r ( 0, 0, width( <a href="qlistboxitem.html#listBox">listBox</a>() ), height( <a href="qlistboxitem.html#listBox">listBox</a>() ) );
+ if ( in_list_box &amp;&amp; isSelected() )
+<a name="x1414"></a> painter-&gt;<a href="qpainter.html#eraseRect">eraseRect</a>( r );
+<a name="x1415"></a> painter-&gt;<a href="qpainter.html#fillRect">fillRect</a>( 5, 5, width( listBox() ) - 10, height( listBox() ) - 10, Qt::red );
+ if ( in_list_box &amp;&amp; isCurrent() )
+ listBox()-&gt;style().drawPrimitive( QStyle::PE_FocusRect, painter, r, listBox()-&gt;colorGroup() );
+}
+
+/*
+ * Constructor
+ *
+ * Creates child widgets of the ListBoxCombo widget
+ */
+
+<a name="f437"></a>ListBoxCombo::ListBoxCombo( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qframe.html#setMargin">setMargin</a>( 5 );
+ <a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ unsigned int i;
+ <a href="qstring.html">QString</a> str;
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( this );
+<a name="x1402"></a> row1-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ // Create a multi-selection ListBox...
+ lb1 = new <a href="qlistbox.html">QListBox</a>( row1 );
+<a name="x1408"></a> lb1-&gt;<a href="qlistbox.html#setSelectionMode">setSelectionMode</a>( QListBox::Multi );
+
+ // ...insert a pixmap item...
+<a name="x1406"></a> lb1-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( QPixmap( "qtlogo.png" ) );
+ // ...and 100 text items
+ for ( i = 0; i &lt; 100; i++ ) {
+ str = QString( "Listbox Item %1" ).arg( i );
+ if ( !( i % 4 ) )
+ lb1-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( QPixmap( "fileopen.xpm" ), str );
+ else
+ lb1-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( str );
+ }
+
+ // Create a pushbutton...
+ <a href="qpushbutton.html">QPushButton</a> *arrow1 = new <a href="qpushbutton.html">QPushButton</a>( " -&gt; ", row1 );
+ // ...and connect the clicked SIGNAL with the SLOT slotLeft2Right
+ <a href="qobject.html#connect">connect</a>( arrow1, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( slotLeft2Right() ) );
+
+ // create an empty single-selection ListBox
+ lb2 = new <a href="qlistbox.html">QListBox</a>( row1 );
+
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( this );
+ row2-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ <a href="qvbox.html">QVBox</a> *box1 = new <a href="qvbox.html">QVBox</a>( row2 );
+ box1-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ // Create a non-editable Combobox and a label below...
+ <a href="qcombobox.html">QComboBox</a> *cb1 = new <a href="qcombobox.html">QComboBox</a>( FALSE, box1 );
+ label1 = new <a href="qlabel.html">QLabel</a>( "Current Item: Combobox Item 0", box1 );
+<a name="x1416"></a><a name="x1404"></a> label1-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() * 2 );
+<a name="x1401"></a> label1-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ //...and insert 50 items into the Combobox
+ for ( i = 0; i &lt; 50; i++ ) {
+ str = QString( "Combobox Item %1" ).arg( i );
+ if ( i % 9 )
+<a name="x1399"></a> cb1-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( str );
+ else
+<a name="x1400"></a> cb1-&gt;<a href="qcombobox.html#listBox">listBox</a>()-&gt;insertItem( new MyListBoxItem );
+ }
+
+ <a href="qvbox.html">QVBox</a> *box2 = new <a href="qvbox.html">QVBox</a>( row2 );
+ box2-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ // Create an editable Combobox and a label below...
+ <a href="qcombobox.html">QComboBox</a> *cb2 = new <a href="qcombobox.html">QComboBox</a>( TRUE, box2 );
+ label2 = new <a href="qlabel.html">QLabel</a>( "Current Item: Combobox Item 0", box2 );
+ label2-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( label2-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() * 2 );
+ label2-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ // ... and insert 50 items into the Combobox
+ for ( i = 0; i &lt; 50; i++ ) {
+ str = QString( "Combobox Item %1" ).arg( i );
+ if ( !( i % 4 ) )
+ cb2-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( "fileopen.xpm" ), str );
+ else
+ cb2-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( str );
+ }
+
+ // Connect the activated SIGNALs of the Comboboxes with SLOTs
+<a name="x1398"></a> <a href="qobject.html#connect">connect</a>( cb1, SIGNAL( <a href="qcombobox.html#activated">activated</a>( const <a href="qstring.html">QString</a> &amp; ) ), this, SLOT( slotCombo1Activated( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( cb2, SIGNAL( <a href="qcombobox.html#activated">activated</a>( const <a href="qstring.html">QString</a> &amp; ) ), this, SLOT( slotCombo2Activated( const <a href="qstring.html">QString</a> &amp; ) ) );
+}
+
+/*
+ * SLOT slotLeft2Right
+ *
+ * Copies all selected items of the first ListBox into the
+ * second ListBox
+ */
+
+void <a name="f438"></a>ListBoxCombo::slotLeft2Right()
+{
+ // Go through all items of the first ListBox
+<a name="x1405"></a> for ( unsigned int i = 0; i &lt; lb1-&gt;<a href="qlistbox.html#count">count</a>(); i++ ) {
+<a name="x1407"></a> <a href="qlistboxitem.html">QListBoxItem</a> *item = lb1-&gt;<a href="qlistbox.html#item">item</a>( i );
+ // if the item is selected...
+<a name="x1409"></a> if ( item-&gt;<a href="qlistboxitem.html#isSelected">isSelected</a>() ) {
+ // ...and it is a text item...
+<a name="x1412"></a><a name="x1411"></a> if ( item-&gt;<a href="qlistboxitem.html#pixmap">pixmap</a>() &amp;&amp; !item-&gt;<a href="qlistboxitem.html#text">text</a>().isEmpty() )
+ lb2-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( *item-&gt;<a href="qlistboxitem.html#pixmap">pixmap</a>(), item-&gt;<a href="qlistboxitem.html#text">text</a>() );
+ else if ( !item-&gt;<a href="qlistboxitem.html#pixmap">pixmap</a>() )
+ lb2-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( item-&gt;<a href="qlistboxitem.html#text">text</a>() );
+ else if ( item-&gt;<a href="qlistboxitem.html#text">text</a>().isEmpty() )
+ lb2-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( *item-&gt;<a href="qlistboxitem.html#pixmap">pixmap</a>() );
+ }
+ }
+}
+
+/*
+ * SLOT slotCombo1Activated( const <a href="qstring.html">QString</a> &amp;s )
+ *
+ * Sets the text of the item which the user just selected
+ * in the first Combobox (and is now the value of s) to
+ * the first Label.
+ */
+
+void <a name="f439"></a>ListBoxCombo::slotCombo1Activated( const <a href="qstring.html">QString</a> &amp;s )
+{
+<a name="x1403"></a> label1-&gt;<a href="qlabel.html#setText">setText</a>( QString( "Current Item: %1" ).arg( s ) );
+}
+
+/*
+ * SLOT slotCombo2Activated( const <a href="qstring.html">QString</a> &amp;s )
+ *
+ * Sets the text of the item which the user just selected
+ * in the second Combobox (and is now the value of s) to
+ * the second Label.
+ */
+
+void <a name="f440"></a>ListBoxCombo::slotCombo2Activated( const <a href="qstring.html">QString</a> &amp;s )
+{
+ label2-&gt;<a href="qlabel.html#setText">setText</a>( QString( "Current Item: %1" ).arg( s ) );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listboxcombo.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ListBoxCombo listboxcombo;
+ listboxcombo.<a href="qwidget.html#resize">resize</a>( 400, 270 );
+ listboxcombo.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Listboxes and Comboboxes" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;listboxcombo );
+ listboxcombo.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/listviews-example.html b/doc/html/listviews-example.html
new file mode 100644
index 0000000..872aacd
--- /dev/null
+++ b/doc/html/listviews-example.html
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/listviews/listviews.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Listviews</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Listviews</h1>
+
+
+<p>
+This examples shows how to work with listviews (hierarchical and multi-column).
+It also shows how to subclass listview items for special reasons. It looks
+and works like the main window of a mail client.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/listviews.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef LISTVIEWS_H
+#define LISTVIEWS_H
+
+#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+
+class QListView;
+class QLabel;
+class QPainter;
+class QColorGroup;
+class QObjectList;
+class QPopupMenu;
+
+// -----------------------------------------------------------------
+
+class MessageHeader
+{
+public:
+ MessageHeader( const <a href="qstring.html">QString</a> &amp;_sender, const <a href="qstring.html">QString</a> &amp;_subject, const <a href="qdatetime.html">QDateTime</a> &amp;_datetime )
+ : msender( _sender ), msubject( _subject ), mdatetime( _datetime )
+ {}
+
+ MessageHeader( const MessageHeader &amp;mh );
+ MessageHeader &amp;operator=( const MessageHeader &amp;mh );
+
+ <a href="qstring.html">QString</a> sender() { return msender; }
+ <a href="qstring.html">QString</a> subject() { return msubject; }
+ <a href="qdatetime.html">QDateTime</a> datetime() { return mdatetime; }
+
+protected:
+ <a href="qstring.html">QString</a> msender, msubject;
+ <a href="qdatetime.html">QDateTime</a> mdatetime;
+
+};
+
+// -----------------------------------------------------------------
+
+class Message
+{
+public:
+ enum State { Read = 0,
+ Unread};
+
+ Message( const MessageHeader &amp;mh, const <a href="qstring.html">QString</a> &amp;_body )
+ : mheader( mh ), mbody( _body ), mstate( Unread )
+ {}
+
+ Message( const Message &amp;m )
+ : mheader( m.mheader ), mbody( m.mbody ), mstate( m.mstate )
+ {}
+
+ MessageHeader header() { return mheader; }
+ <a href="qstring.html">QString</a> body() { return mbody; }
+
+ void setState( const State &amp;s ) { mstate = s; }
+ State state() { return mstate; }
+
+protected:
+ MessageHeader mheader;
+ <a href="qstring.html">QString</a> mbody;
+ State mstate;
+
+};
+
+// -----------------------------------------------------------------
+
+class Folder : public <a href="qobject.html">QObject</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Folder( Folder *parent, const <a href="qstring.html">QString</a> &amp;name );
+ ~Folder()
+ {}
+
+ void addMessage( Message *m )
+<a name="x131"></a> { lstMessages.<a href="qptrlist.html#append">append</a>( m ); }
+
+ <a href="qstring.html">QString</a> folderName() { return fName; }
+
+<a name="x132"></a> Message *firstMessage() { return lstMessages.<a href="qptrlist.html#first">first</a>(); }
+<a name="x133"></a> Message *nextMessage() { return lstMessages.<a href="qptrlist.html#next">next</a>(); }
+
+protected:
+ <a href="qstring.html">QString</a> fName;
+ <a href="qptrlist.html">QPtrList</a>&lt;Message&gt; lstMessages;
+
+};
+
+// -----------------------------------------------------------------
+
+class FolderListItem : public <a href="qlistviewitem.html">QListViewItem</a>
+{
+public:
+ FolderListItem( <a href="qlistview.html">QListView</a> *parent, Folder *f );
+ FolderListItem( FolderListItem *parent, Folder *f );
+
+ void insertSubFolders( const <a href="qobjectlist.html">QObjectList</a> *lst );
+
+ Folder *folder() { return myFolder; }
+
+protected:
+ Folder *myFolder;
+
+};
+
+// -----------------------------------------------------------------
+
+class MessageListItem : public <a href="qlistviewitem.html">QListViewItem</a>
+{
+public:
+ MessageListItem( <a href="qlistview.html">QListView</a> *parent, Message *m );
+
+ virtual void paintCell( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ int column, int width, int alignment );
+
+ Message *message() { return myMessage; }
+
+protected:
+ Message *myMessage;
+
+};
+
+// -----------------------------------------------------------------
+
+class ListViews : public <a href="qsplitter.html">QSplitter</a>
+{
+ Q_OBJECT
+
+public:
+ ListViews( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+ ~ListViews()
+ {}
+
+protected:
+ void initFolders();
+ void initFolder( Folder *folder, unsigned int &amp;count );
+ void setupFolders();
+
+ <a href="qlistview.html">QListView</a> *messages, *folders;
+ <a href="qlabel.html">QLabel</a> *message;
+ <a href="qpopupmenu.html">QPopupMenu</a>* menu;
+
+ <a href="qptrlist.html">QPtrList</a>&lt;Folder&gt; lstFolders;
+
+protected slots:
+ void slotFolderChanged( <a href="qlistviewitem.html">QListViewItem</a>* );
+ void slotMessageChanged();
+ void slotRMB( <a href="qlistviewitem.html">QListViewItem</a>*, const <a href="qpoint.html">QPoint</a> &amp;, int );
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/listviews.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listviews.h"
+
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpalette-h.html">qpalette.h</a>&gt;
+#include &lt;<a href="qobjectlist-h.html">qobjectlist.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+
+// -----------------------------------------------------------------
+
+MessageHeader::MessageHeader( const MessageHeader &amp;mh )
+{
+ msender = mh.msender;
+ msubject = mh.msubject;
+ mdatetime = mh.mdatetime;
+}
+
+MessageHeader &amp;MessageHeader::operator=( const MessageHeader &amp;mh )
+{
+ msender = mh.msender;
+ msubject = mh.msubject;
+ mdatetime = mh.mdatetime;
+
+ return *this;
+}
+
+// -----------------------------------------------------------------
+
+<a name="f208"></a>Folder::Folder( Folder *parent, const <a href="qstring.html">QString</a> &amp;name )
+ : <a href="qobject.html">QObject</a>( parent, name ), fName( name )
+{
+ lstMessages.setAutoDelete( TRUE );
+}
+
+// -----------------------------------------------------------------
+
+<a name="f209"></a>FolderListItem::FolderListItem( <a href="qlistview.html">QListView</a> *parent, Folder *f )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent )
+{
+ myFolder = f;
+ <a href="qlistviewitem.html#setText">setText</a>( 0, f-&gt;folderName() );
+
+ if ( myFolder-&gt;children() )
+ insertSubFolders( myFolder-&gt;children() );
+}
+
+FolderListItem::FolderListItem( FolderListItem *parent, Folder *f )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent )
+{
+ myFolder = f;
+
+ <a href="qlistviewitem.html#setText">setText</a>( 0, f-&gt;folderName() );
+
+ if ( myFolder-&gt;children() )
+ insertSubFolders( myFolder-&gt;children() );
+}
+
+void <a name="f210"></a>FolderListItem::insertSubFolders( const <a href="qobjectlist.html">QObjectList</a> *lst )
+{
+ Folder *f;
+ for ( f = ( Folder* )( ( <a href="qobjectlist.html">QObjectList</a>* )lst )-&gt;first(); f; f = ( Folder* )( ( <a href="qobjectlist.html">QObjectList</a>* )lst )-&gt;next() )
+ (void)new FolderListItem( this, f );
+}
+
+// -----------------------------------------------------------------
+
+<a name="f218"></a>MessageListItem::MessageListItem( <a href="qlistview.html">QListView</a> *parent, Message *m )
+ : <a href="qlistviewitem.html">QListViewItem</a>( parent )
+{
+ myMessage = m;
+ <a href="qlistviewitem.html#setText">setText</a>( 0, myMessage-&gt;header().sender() );
+ <a href="qlistviewitem.html#setText">setText</a>( 1, myMessage-&gt;header().subject() );
+ <a href="qlistviewitem.html#setText">setText</a>( 2, myMessage-&gt;header().datetime().toString() );
+}
+
+<a name="x157"></a>void MessageListItem::<a href="qlistviewitem.html#paintCell">paintCell</a>( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ int column, int width, int alignment )
+{
+ <a href="qcolorgroup.html">QColorGroup</a> _cg( cg );
+<a name="x135"></a> <a href="qcolor.html">QColor</a> c = _cg.<a href="qcolorgroup.html#text">text</a>();
+
+ if ( myMessage-&gt;state() == Message::Unread )
+<a name="x134"></a> _cg.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::Text, Qt::red );
+
+ QListViewItem::<a href="qlistviewitem.html#paintCell">paintCell</a>( p, _cg, column, width, alignment );
+
+ _cg.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::Text, c );
+}
+
+// -----------------------------------------------------------------
+
+<a name="f211"></a>ListViews::ListViews( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qsplitter.html">QSplitter</a>( Qt::Horizontal, parent, name )
+{
+ lstFolders.setAutoDelete( TRUE );
+
+ folders = new <a href="qlistview.html">QListView</a>( this );
+<a name="x147"></a> folders-&gt;<a href="qlistview.html#header">header</a>()-&gt;setClickEnabled( FALSE );
+<a name="x141"></a> folders-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Folder" );
+
+ initFolders();
+ setupFolders();
+
+<a name="x152"></a> folders-&gt;<a href="qlistview.html#setRootIsDecorated">setRootIsDecorated</a>( TRUE );
+ <a href="qsplitter.html#setResizeMode">setResizeMode</a>( folders, QSplitter::KeepSize );
+
+ <a href="qsplitter.html">QSplitter</a> *vsplitter = new <a href="qsplitter.html">QSplitter</a>( Qt::Vertical, this );
+
+ messages = new <a href="qlistview.html">QListView</a>( vsplitter );
+ messages-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Sender" );
+ messages-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Subject" );
+ messages-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "Date" );
+<a name="x150"></a> messages-&gt;<a href="qlistview.html#setColumnAlignment">setColumnAlignment</a>( 1, Qt::AlignRight );
+<a name="x149"></a> messages-&gt;<a href="qlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</a>( TRUE );
+<a name="x155"></a> messages-&gt;<a href="qlistview.html#setShowSortIndicator">setShowSortIndicator</a>( TRUE );
+ menu = new <a href="qpopupmenu.html">QPopupMenu</a>( messages );
+ for( int i = 1; i &lt;= 10; i++ )
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QString( "Context Item %1" ).arg( i ) );
+<a name="x143"></a> <a href="qobject.html#connect">connect</a>(messages, SIGNAL( <a href="qlistview.html#contextMenuRequested">contextMenuRequested</a>( <a href="qlistviewitem.html">QListViewItem</a> *, const <a href="qpoint.html">QPoint</a>&amp; , int ) ),
+ this, SLOT( slotRMB( <a href="qlistviewitem.html">QListViewItem</a> *, const <a href="qpoint.html">QPoint</a> &amp;, int ) ) );
+<a name="x161"></a> vsplitter-&gt;<a href="qsplitter.html#setResizeMode">setResizeMode</a>( messages, QSplitter::KeepSize );
+
+ message = new <a href="qlabel.html">QLabel</a>( vsplitter );
+ message-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignTop );
+<a name="x163"></a> message-&gt;<a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( PaletteBase );
+
+<a name="x148"></a> <a href="qobject.html#connect">connect</a>( folders, SIGNAL( <a href="qlistview.html#selectionChanged">selectionChanged</a>( <a href="qlistviewitem.html">QListViewItem</a>* ) ),
+ this, SLOT( slotFolderChanged( <a href="qlistviewitem.html">QListViewItem</a>* ) ) );
+ <a href="qobject.html#connect">connect</a>( messages, SIGNAL( <a href="qlistview.html#selectionChanged">selectionChanged</a>() ),
+ this, SLOT( slotMessageChanged() ) );
+<a name="x144"></a> <a href="qobject.html#connect">connect</a>( messages, SIGNAL( <a href="qlistview.html#currentChanged">currentChanged</a>( <a href="qlistviewitem.html">QListViewItem</a> * ) ),
+ this, SLOT( slotMessageChanged() ) );
+
+<a name="x154"></a> messages-&gt;<a href="qlistview.html#setSelectionMode">setSelectionMode</a>( QListView::Extended );
+ // some preparations
+<a name="x146"></a> folders-&gt;<a href="qlistview.html#firstChild">firstChild</a>()-&gt;setOpen( TRUE );
+ folders-&gt;<a href="qlistview.html#firstChild">firstChild</a>()-&gt;firstChild()-&gt;setOpen( TRUE );
+<a name="x151"></a> folders-&gt;<a href="qlistview.html#setCurrentItem">setCurrentItem</a>( folders-&gt;<a href="qlistview.html#firstChild">firstChild</a>()-&gt;firstChild()-&gt;firstChild() );
+<a name="x153"></a> folders-&gt;<a href="qlistview.html#setSelected">setSelected</a>( folders-&gt;<a href="qlistview.html#firstChild">firstChild</a>()-&gt;firstChild()-&gt;firstChild(), TRUE );
+
+ messages-&gt;<a href="qlistview.html#setSelected">setSelected</a>( messages-&gt;<a href="qlistview.html#firstChild">firstChild</a>(), TRUE );
+ messages-&gt;<a href="qlistview.html#setCurrentItem">setCurrentItem</a>( messages-&gt;<a href="qlistview.html#firstChild">firstChild</a>() );
+ message-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; lst;
+<a name="x160"></a> lst.<a href="qptrlist.html#append">append</a>( 170 );
+ <a href="qsplitter.html#setSizes">setSizes</a>( lst );
+}
+
+void <a name="f212"></a>ListViews::initFolders()
+{
+ unsigned int mcount = 1;
+
+ for ( unsigned int i = 1; i &lt; 20; i++ ) {
+ <a href="qstring.html">QString</a> str;
+ str = QString( "Folder %1" ).arg( i );
+ Folder *f = new Folder( 0, str );
+ for ( unsigned int j = 1; j &lt; 5; j++ ) {
+ <a href="qstring.html">QString</a> str2;
+ str2 = QString( "Sub Folder %1" ).arg( j );
+ Folder *f2 = new Folder( f, str2 );
+ for ( unsigned int k = 1; k &lt; 3; k++ ) {
+ <a href="qstring.html">QString</a> str3;
+ str3 = QString( "Sub Sub Folder %1" ).arg( k );
+ Folder *f3 = new Folder( f2, str3 );
+ initFolder( f3, mcount );
+ }
+ }
+ lstFolders.append( f );
+ }
+}
+
+void <a name="f213"></a>ListViews::initFolder( Folder *folder, unsigned int &amp;count )
+{
+ for ( unsigned int i = 0; i &lt; 15; i++, count++ ) {
+ <a href="qstring.html">QString</a> str;
+ str = QString( "Message %1 " ).arg( count );
+<a name="x137"></a> <a href="qdatetime.html">QDateTime</a> dt = QDateTime::<a href="qdatetime.html#currentDateTime">currentDateTime</a>();
+<a name="x136"></a> dt = dt.<a href="qdatetime.html#addSecs">addSecs</a>( 60 * count );
+ MessageHeader mh( "Trolltech &lt;info@trolltech.com&gt; ", str, dt );
+
+ <a href="qstring.html">QString</a> body;
+ body = QString( "This is the message number %1 of this application, \n"
+ "which shows how to use QListViews, QListViewItems, \n"
+ "QSplitters and so on. The code should show how easy\n"
+ "this can be done in Qt." ).arg( count );
+ Message *msg = new Message( mh, body );
+ folder-&gt;addMessage( msg );
+ }
+}
+
+void <a name="f214"></a>ListViews::setupFolders()
+{
+<a name="x142"></a> folders-&gt;<a href="qlistview.html#clear">clear</a>();
+
+ for ( Folder* f = lstFolders.first(); f; f = lstFolders.next() )
+ (void)new FolderListItem( folders, f );
+}
+
+void <a name="f215"></a>ListViews::slotRMB( <a href="qlistviewitem.html">QListViewItem</a>* Item, const <a href="qpoint.html">QPoint</a> &amp; point, int )
+{
+ if( Item )
+<a name="x159"></a> menu-&gt;<a href="qpopupmenu.html#popup">popup</a>( point );
+}
+
+
+void <a name="f216"></a>ListViews::slotFolderChanged( <a href="qlistviewitem.html">QListViewItem</a> *i )
+{
+ if ( !i )
+ return;
+ messages-&gt;<a href="qlistview.html#clear">clear</a>();
+<a name="x140"></a> message-&gt;<a href="qlabel.html#setText">setText</a>( "" );
+
+ FolderListItem *item = ( FolderListItem* )i;
+
+ for ( Message* msg = item-&gt;folder()-&gt;firstMessage(); msg;
+ msg = item-&gt;folder()-&gt;nextMessage() )
+ (void)new MessageListItem( messages, msg );
+}
+
+void <a name="f217"></a>ListViews::slotMessageChanged()
+{
+<a name="x145"></a> <a href="qlistviewitem.html">QListViewItem</a> *i = messages-&gt;<a href="qlistview.html#currentItem">currentItem</a>();
+ if ( !i )
+ return;
+
+<a name="x156"></a> if ( !i-&gt;<a href="qlistviewitem.html#isSelected">isSelected</a>() ) {
+ message-&gt;<a href="qlabel.html#setText">setText</a>( "" );
+ return;
+ }
+
+ MessageListItem *item = ( MessageListItem* )i;
+ Message *msg = item-&gt;message();
+
+ <a href="qstring.html">QString</a> text;
+ <a href="qstring.html">QString</a> tmp = msg-&gt;header().sender();
+<a name="x162"></a> tmp = tmp.<a href="qstring.html#replace">replace</a>( "&lt;", "&amp;lt;" );
+ tmp = tmp.<a href="qstring.html#replace">replace</a>( "&gt;", "&amp;gt;" );
+ text = QString( "&lt;b&gt;&lt;i&gt;From:&lt;/i&gt;&lt;/b&gt; &lt;a href=\"mailto:info@trolltech.com\"&gt;%1&lt;/a&gt;&lt;br&gt;"
+ "&lt;b&gt;&lt;i&gt;Subject:&lt;/i&gt;&lt;/b&gt; &lt;big&gt;&lt;big&gt;&lt;b&gt;%2&lt;/b&gt;&lt;/big&gt;&lt;/big&gt;&lt;br&gt;"
+ "&lt;b&gt;&lt;i&gt;Date:&lt;/i&gt;&lt;/b&gt; %3&lt;br&gt;&lt;br&gt;"
+ "%4" ).
+ arg( tmp ).arg( msg-&gt;header().subject() ).
+ arg( msg-&gt;header().datetime().toString() ).arg( msg-&gt;body() );
+
+ message-&gt;<a href="qlabel.html#setText">setText</a>( text );
+
+ msg-&gt;setState( Message::Read );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "listviews.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ListViews listViews;
+<a name="x166"></a> listViews.<a href="qwidget.html#resize">resize</a>( 640, 480 );
+<a name="x167"></a> listViews.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Listview" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;listViews );
+ listViews.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/logo32.png b/doc/html/logo32.png
new file mode 100644
index 0000000..b29a896
--- /dev/null
+++ b/doc/html/logo32.png
Binary files differ
diff --git a/doc/html/mac-differences.html b/doc/html/mac-differences.html
new file mode 100644
index 0000000..bbbe861
--- /dev/null
+++ b/doc/html/mac-differences.html
@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/mac.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Mac Issues</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Mac Issues</h1>
+
+
+
+<p> This file will outline known issues and possible workarounds for
+limitations on Mac OS X with Qt. This list will not always be complete, so
+please contact Trolltech support with issues you find to be missing.
+<p> See also the document <a href="qtmac-as-native.html">Qt/Mac is Mac OS X
+Native</a>.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> GUI Applications
+</a>
+<li><a href="#2"> QCursor
+</a>
+<li><a href="#3"> Anti-aliased text
+</a>
+<li><a href="#4"> Library Support
+</a>
+<ul>
+<li><a href="#4-1"> Bundle-based Libraries
+</a>
+<li><a href="#4-2"> Combining Libraries
+</a>
+<li><a href="#4-3"> Initialization Order
+</a>
+<li><a href="#4-4"> Plugin Support
+</a>
+</ul>
+<li><a href="#5"> Compiler Settings
+</a>
+<ul>
+<li><a href="#5-1"> Compile-time Flags
+</a>
+</ul>
+<li><a href="#6"> Building and Configuring Qt/Mac
+</a>
+<ul>
+<li><a href="#6-1"> Problems building a static configuration
+</a>
+</ul>
+<li><a href="#7"> Macintosh Native API Access
+</a>
+<ul>
+<li><a href="#7-1"> Accessing the Bundle Path
+</a>
+<li><a href="#7-2"> Translating the Application Menu and native dialogs
+</a>
+</ul>
+<li><a href="#8"> User Interface
+</a>
+<ul>
+<li><a href="#8-1"> Right-Mouse Clicks
+</a>
+<li><a href="#8-2"> Menubar
+</a>
+</ul>
+<li><a href="#9"> Limitations
+</a>
+<ul>
+<li><a href="#9-1"> MenuItems
+</a>
+<li><a href="#9-2"> Unsupported Native Widgets
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> GUI Applications
+</h2>
+<a name="1"></a><p> GUI Applications must be run out of a bundle (something like widgets.app/)
+or using the open(1) command. Mac OS X needs this to dispatch events correctly,
+as well as gaining access to the menubar. If using GDB you must run with the
+full path to the executable.
+<p> <h2> <a href="qcursor.html">QCursor</a>
+</h2>
+<a name="2"></a><p> Due to Mac OS X having only 16x16 custom cursors QCursor is limited by this
+as well. For now the only workaround to this problem is to use a small
+cursor (16x16).
+<p> <h2> Anti-aliased text
+</h2>
+<a name="3"></a><p> Qt/Mac (starting with 3.0.5) has introduced some support for smooth text as
+suggested by Apple's Aqua Style Guildelines. This support is limited to Mac
+OS X >10.1.4, when this version is not detected it will fallback to the old
+text rendering library.
+<p> <h2> Library Support
+</h2>
+<a name="4"></a><p> <h3> Bundle-based Libraries
+</h3>
+<a name="4-1"></a><p> If you want to incorporate dynamic libraries as part of your Mac OS X
+application bundle (the application directory), then you place these into a
+directory called Frameworks, a subdirectory of the application bundle.
+<p> The application finds these dynamic libraries if the libraries have an
+install name of "@executable_path/../Frameworks/libname.dylib.
+<p> If you use qmake and Makefiles, use the QMAKE_LFFLAGS_SONAME setting:
+<p> <pre>
+QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../Frameworks/
+</pre>
+
+<p> In case of Project Builder, you set the Library targets to have their
+install path (in the Build Settings of the target) set to
+"@executable_path/.../Frameworks". You also need to add a custom build
+setting called "SKIP_INSTALL" and set this to YES. In the Application
+target you need to add a Copy Files build phase that will copy the library
+product into the applications wrapper's Framework sub-folder.
+<p> Note that DYLD_LIBRARY_PATH environment variables will override these
+settings, same with any other default paths such as a lookup of dynamic
+libraries inside /usr/lib and similar default locations.
+<p> We still strongly recommend to build static applications where the library
+code is incorporated into the Mac OS X binary. However, in case you ship
+applications that require plugin support,then you need to use dynamic
+libraries as part of your application.
+<p> <h3> Combining Libraries
+</h3>
+<a name="4-2"></a><p> If you want to build a new dynamic library combining the Qt 3.1 dynamic
+libraries, you need to introduce the ld -r flag so that relocation information
+is stored in the the output file, so that this file could be the subject of
+another ld run. This is done by setting the -r flag in the .pro file, and the
+LFLAGS settings.
+<p> <h3> Initialization Order
+</h3>
+<a name="4-3"></a><p> dyld(1) will call global static initializers in the order in which
+they are linked into your application. If a library links against Qt
+and references globals in Qt (from global initializers in your own
+library) you should be sure to link against Qt before your library,
+otherwise the result will be undefined (as Qt's global initializers
+have not been called yet).
+<p> <h3> Plugin Support
+</h3>
+<a name="4-4"></a><p> Note that it is not possible to build Qt plugins using Project Builder
+or Xcode. Use <a href="qmake-manual.html">qmake</a> to configure and
+build plugins.
+<p> <h2> Compiler Settings
+</h2>
+<a name="5"></a><p> <h3> Compile-time Flags
+</h3>
+<a name="5-1"></a><p> If you want to wrap any specific Mac OS X code in a define, use the Q_OS_MACX
+flag, as in:
+<p> <pre>
+#if defined(Q_OS_MACX)
+// the code used
+#endif
+</pre>
+
+<p> Note that when you build under Mac OS X 10.2, then the MACOSX_102 flag is
+automatically included in the make builds.
+<p> <h2> Building and Configuring Qt/Mac
+</h2>
+<a name="6"></a><p> <h3> Problems building a static configuration
+</h3>
+<a name="6-1"></a><p> If a static build fails with the following error messages during the
+designer make phase:
+<p> <pre>
+QWidget::<a href="qwidget.html#sizeHint">sizeHint</a>() const referenced from libqui expected to be defined in @executable_path/../Frameworks/libqt-mt.3.dylib
+non-virtual thunk [nv:-40] to QWidget::metric(int) const referenced from libqui
+ expected to be defined in @executable_path/../Frameworks/libqt-mt.3.dylib
+</pre>
+
+<p> then ensure that your library path does not have libqui libraries or
+symbolic links. If you remove these, then the build will continue.
+<p> <h2> Macintosh Native API Access
+</h2>
+<a name="7"></a><p> <h3> Accessing the Bundle Path
+</h3>
+<a name="7-1"></a><p> The Macintosh application is actually a directory (ending with .app). This
+directory has various other sub-directories and sources. In case you want
+to place for example the plugin directory inside this bundle, then you need
+to find out where the bundle resides on the disk. The following code will
+do this:
+<p> <pre>
+ CFURLRef pluginRef = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFStringRef macPath = CFURLCopyFileSystemPath(pluginRef,
+ kCFURLPOSIXPathStyle);
+ const char *pathPtr = CFStringGetCStringPtr(macPath,
+ CFStringGetSystemEncoding());
+ <a href="qapplication.html#qDebug">qDebug</a>("Path = %s", pathPtr);
+ CFRelease(pluginRef);
+ CFRelease(macPath);
+</pre>
+
+<p> Do not forget to enclosure this in an #if defined(Q_OS_MACX) macro statement.
+<p> <h3> Translating the Application Menu and native dialogs
+</h3>
+<a name="7-2"></a><p> You need to do a little extra to get the Application Menu and native dialogs
+localized. This is a requirement of Mac OS X and not of Qt.
+<p> First, you must add a localized resource folder inside the Bundle see:
+<p> http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/index.html
+<p> And look for the heading: Adding Localized Resources
+<p> The main thing you need to do is create a file called locversion.plist.
+Here is an example one for Norwegian:
+<p> <pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
+"http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
+&lt;plist version="1.0"&gt;
+&lt;dict&gt;
+ &lt;key&gt;LprojCompatibleVersion&lt;/key&gt;
+ &lt;string&gt;123&lt;/string&gt;
+ &lt;key&gt;LprojLocale&lt;/key&gt;
+ &lt;string&gt;no&lt;/string&gt;
+ &lt;key&gt;LprojRevisionLevel&lt;/key&gt;
+ &lt;string&gt;1&lt;/string&gt;
+ &lt;key&gt;LprojVersion&lt;/key&gt;
+ &lt;string&gt;123&lt;/string&gt;
+&lt;/dict&gt;
+&lt;/plist&gt;
+</pre>
+
+<p> Then when you run the application with your preferred language set to Norwegian
+you should see menu items like "Avslutt" instead of "Quit"
+<p> <h2> User Interface
+</h2>
+<a name="8"></a><p> <h3> Right-Mouse Clicks
+</h3>
+<a name="8-1"></a><p> If you want to provide right-mouse click support for Mac OS X, use the
+<a href="qcontextmenuevent.html">QContextMenuEvent</a> class. This will map to a context menu event, in other
+words a menu that will display a popup selection. This is the most common
+use of right-mouse clicks, and maps to a control-click with the Mac OS X
+one-button mouse support.
+<p> <h3> Menubar
+</h3>
+<a name="8-2"></a><p> Qt/Mac will automatically detect your menubars for you and turn them
+into Mac native menubars. Fitting this into your existing Qt application
+will normally be automatic, however, if you have special needs the Qt/Mac
+implementation currently selects a menubar by starting at the active window
+(ie <a href="qapplication.html#activeWindow">QApplication::activeWindow</a>()), and applying:
+<p> 1) If the window has a <a href="qmenubar.html">QMenuBar</a> then it is used.
+2) If the window is a modal then its menubar is used. If no menubar is
+specified then a default menubar is used (as documented below)
+3) If the window has no parent then the default menubar is used (as documented below).
+<p> The above 3 steps are applied all the way up the parent window chain until
+one of the above are satisifed. If all else fails a default menubar will be
+created, the default menubar on Qt/Mac is an empty menubar, however you can
+create a different default menubar by creating a parentless QMenuBar, the
+first one created will thus be designated the default menubar, and will be
+used whenever a default menubar is needed.
+<p> <h2> Limitations
+</h2>
+<a name="9"></a><p> <h3> MenuItems
+</h3>
+<a name="9-1"></a><p> <ul>
+<p> <li> QCustomMenuItems are not supported in Mac native menubars, they are supported
+in popupmenus that are not in the Mac native menubar.
+<p> <li> Items with accelerators that have more than one keystroke
+(<a href="qkeysequence.html">QKeySequence</a>) will not be honored, and the first key will be used.
+<p> </ul>
+<p> <h3> Unsupported Native Widgets
+</h3>
+<a name="9-2"></a><p> Qt/Mac 3.x has no support for sheets or drawers. Support for these types of windows is provided in Qt/Mac 4.x.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/mail-example.html b/doc/html/mail-example.html
new file mode 100644
index 0000000..375b3ad
--- /dev/null
+++ b/doc/html/mail-example.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/mail/mail.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A simple mail client</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A simple mail client</h1>
+
+
+<p>
+<p> This example shows how to use the <a href="qsocket.html">QSocket</a> class. The client can only be
+used to send mails. The interesting part is the implementation of the
+SMTP protocol.
+<p> <hr>
+<p> Header file (smtp.h):
+<p> <pre>/****************************************************************************
+** $Id: qt/smtp.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef SMTP_H
+#define SMTP_H
+
+#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+class QSocket;
+class QTextStream;
+class QDns;
+
+class Smtp : public <a href="qobject.html">QObject</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Smtp( const <a href="qstring.html">QString</a> &amp;from, const <a href="qstring.html">QString</a> &amp;to,
+ const <a href="qstring.html">QString</a> &amp;subject, const <a href="qstring.html">QString</a> &amp;body );
+ ~Smtp();
+
+signals:
+ void status( const <a href="qstring.html">QString</a> &amp; );
+
+private slots:
+ void dnsLookupHelper();
+ void readyRead();
+ void connected();
+
+private:
+ enum State {
+ Init,
+ Mail,
+ Rcpt,
+ Data,
+ Body,
+ Quit,
+ Close
+ };
+
+ <a href="qstring.html">QString</a> message;
+ <a href="qstring.html">QString</a> from;
+ <a href="qstring.html">QString</a> rcpt;
+ <a href="qsocket.html">QSocket</a> *socket;
+ <a href="qtextstream.html">QTextStream</a> * t;
+ int state;
+ <a href="qstring.html">QString</a> response;
+ <a href="qdns.html">QDns</a> * mxLookup;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation (smtp.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/smtp.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "smtp.h"
+
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+#include &lt;<a href="qdns-h.html">qdns.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+
+
+<a name="f297"></a>Smtp::Smtp( const <a href="qstring.html">QString</a> &amp;from, const <a href="qstring.html">QString</a> &amp;to,
+ const <a href="qstring.html">QString</a> &amp;subject,
+ const <a href="qstring.html">QString</a> &amp;body )
+{
+ socket = new <a href="qsocket.html">QSocket</a>( this );
+<a name="x714"></a> <a href="qobject.html#connect">connect</a> ( socket, SIGNAL( <a href="qsocket.html#readyRead">readyRead</a>() ),
+ this, SLOT( readyRead() ) );
+<a name="x711"></a> <a href="qobject.html#connect">connect</a> ( socket, SIGNAL( <a href="qsocket.html#connected">connected</a>() ),
+ this, SLOT( connected() ) );
+
+<a name="x717"></a><a name="x715"></a> mxLookup = new <a href="qdns.html">QDns</a>( to.<a href="qstring.html#mid">mid</a>( to.<a href="qstring.html#find">find</a>( '@' )+1 ), QDns::Mx );
+<a name="x707"></a> <a href="qobject.html#connect">connect</a>( mxLookup, SIGNAL(<a href="qdns.html#resultsReady">resultsReady</a>()),
+ this, SLOT(dnsLookupHelper()) );
+
+<a name="x716"></a> message = QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "From: " ) + from +
+ QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\nTo: " ) + to +
+ QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\nSubject: " ) + subject +
+ QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\n\n" ) + body + "\n";
+ message.replace( QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\n" ),
+ QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\r\n" ) );
+ message.replace( QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\r\n.\r\n" ),
+ QString::<a href="qstring.html#fromLatin1">fromLatin1</a>( "\r\n..\r\n" ) );
+
+ this-&gt;from = from;
+ rcpt = to;
+
+ state = Init;
+}
+
+
+Smtp::~Smtp()
+{
+ delete t;
+ delete socket;
+}
+
+
+void <a name="f298"></a>Smtp::dnsLookupHelper()
+{
+<a name="x706"></a> <a href="qvaluelist.html">QValueList</a>&lt;QDns::MailServer&gt; s = mxLookup-&gt;<a href="qdns.html#mailServers">mailServers</a>();
+<a name="x720"></a> if ( s.<a href="qvaluelist.html#isEmpty">isEmpty</a>() ) {
+<a name="x705"></a> if ( !mxLookup-&gt;<a href="qdns.html#isWorking">isWorking</a>() )
+ emit status( <a href="qobject.html#tr">tr</a>( "Error in MX record lookup" ) );
+ return;
+ }
+
+<a name="x719"></a> emit status( <a href="qobject.html#tr">tr</a>( "Connecting to %1" ).arg( s.<a href="qvaluelist.html#first">first</a>().name ) );
+
+<a name="x710"></a> socket-&gt;<a href="qsocket.html#connectToHost">connectToHost</a>( s.<a href="qvaluelist.html#first">first</a>().name, 25 );
+ t = new <a href="qtextstream.html">QTextStream</a>( socket );
+}
+
+
+void <a name="f299"></a>Smtp::connected()
+{
+<a name="x712"></a> emit status( <a href="qobject.html#tr">tr</a>( "Connected to %1" ).arg( socket-&gt;<a href="qsocket.html#peerName">peerName</a>() ) );
+}
+
+void <a name="f300"></a>Smtp::readyRead()
+{
+ // SMTP is line-oriented
+<a name="x709"></a> if ( !socket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() )
+ return;
+
+ <a href="qstring.html">QString</a> responseLine;
+ do {
+<a name="x713"></a> responseLine = socket-&gt;<a href="qsocket.html#readLine">readLine</a>();
+ response += responseLine;
+ } while( socket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() &amp;&amp; responseLine[3] != ' ' );
+<a name="x718"></a> responseLine.<a href="qstring.html#truncate">truncate</a>( 3 );
+
+ if ( state == Init &amp;&amp; responseLine[0] == '2' ) {
+ // banner was okay, let's go on
+ *t &lt;&lt; "HELO there\r\n";
+ state = Mail;
+ } else if ( state == Mail &amp;&amp; responseLine[0] == '2' ) {
+ // HELO response was okay (well, it has to be)
+ *t &lt;&lt; "MAIL FROM: &lt;" &lt;&lt; from &lt;&lt; "&gt;\r\n";
+ state = Rcpt;
+ } else if ( state == Rcpt &amp;&amp; responseLine[0] == '2' ) {
+ *t &lt;&lt; "RCPT TO: &lt;" &lt;&lt; rcpt &lt;&lt; "&gt;\r\n";
+ state = Data;
+ } else if ( state == Data &amp;&amp; responseLine[0] == '2' ) {
+ *t &lt;&lt; "DATA\r\n";
+ state = Body;
+ } else if ( state == Body &amp;&amp; responseLine[0] == '3' ) {
+ *t &lt;&lt; message &lt;&lt; ".\r\n";
+ state = Quit;
+ } else if ( state == Quit &amp;&amp; responseLine[0] == '2' ) {
+ *t &lt;&lt; "QUIT\r\n";
+ // here, we just close.
+ state = Close;
+ emit status( <a href="qobject.html#tr">tr</a>( "Message sent" ) );
+ } else if ( state == Close ) {
+ <a href="qobject.html#deleteLater">deleteLater</a>();
+ return;
+ } else {
+ // something broke.
+<a name="x708"></a><a name="x704"></a> QMessageBox::<a href="qmessagebox.html#warning">warning</a>( qApp-&gt;<a href="qapplication.html#activeWindow">activeWindow</a>(),
+ <a href="qobject.html#tr">tr</a>( "Qt Mail Example" ),
+ <a href="qobject.html#tr">tr</a>( "Unexpected reply from SMTP server:\n\n" ) +
+ response );
+ state = Close;
+ }
+
+ response = "";
+}
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/mainclasses.html b/doc/html/mainclasses.html
new file mode 100644
index 0000000..50404cc
--- /dev/null
+++ b/doc/html/mainclasses.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/classes.doc:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt's Main Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt's Main Classes</h1>
+
+
+
+<p> These are the most frequently used Qt classes.
+For the complete list (including XML, networking and container
+classes), see <a href="classes.html">Qt's Classes</a>.
+<p> <p><table width="100%">
+<tr>
+<td align="right"><b>A</b>
+<td><a href="qaction.html">QAction</a>
+<td align="right">
+<td><a href="qfiledialog.html">QFileDialog</a>
+<td align="right">
+<td><a href="qmessagebox.html">QMessageBox</a>
+<td align="right">
+<td><a href="qslider.html">QSlider</a>
+<td align="right">
+<td><a href="qtimer.html">QTimer</a>
+<tr>
+<td align="right">
+<td><a href="qapplication.html">QApplication</a>
+<td align="right">
+<td><a href="qfont.html">QFont</a>
+<td align="right">
+<td><a href="qmovie.html">QMovie</a>
+<td align="right">
+<td><a href="qsound.html">QSound</a>
+<td align="right">
+<td><a href="qtoolbar.html">QToolBar</a>
+<tr>
+<td align="right"><b>B</b>
+<td><a href="qbuttongroup.html">QButtonGroup</a>
+<td align="right">
+<td><a href="qfontdialog.html">QFontDialog</a>
+<td align="right"><b>N</b>
+<td><a href="qnetworkprotocol.html">QNetworkProtocol</a>
+<td align="right">
+<td><a href="qspinbox.html">QSpinBox</a>
+<td align="right">
+<td><a href="qtoolbox.html">QToolBox</a>
+<tr>
+<td align="right"><b>C</b>
+<td><a href="qcanvas.html">QCanvas</a>
+<td align="right"><b>G</b>
+<td><a href="qglwidget.html">QGLWidget</a>
+<td align="right"><b>O</b>
+<td><a href="qobject.html">QObject</a>
+<td align="right">
+<td><a href="qsplashscreen.html">QSplashScreen</a>
+<td align="right">
+<td><a href="qtoolbutton.html">QToolButton</a>
+<tr>
+<td align="right">
+<td><a href="qcheckbox.html">QCheckBox</a>
+<td align="right">
+<td><a href="qgridlayout.html">QGridLayout</a>
+<td align="right"><b>P</b>
+<td><a href="qpainter.html">QPainter</a>
+<td align="right">
+<td><a href="qsplitter.html">QSplitter</a>
+<td align="right">
+<td><a href="qtooltip.html">QToolTip</a>
+<tr>
+<td align="right">
+<td><a href="qclipboard.html">QClipboard</a>
+<td align="right">
+<td><a href="qgroupbox.html">QGroupBox</a>
+<td align="right">
+<td><a href="qpalette.html">QPalette</a>
+<td align="right">
+<td><a href="qsql.html">QSql</a>
+<td align="right">
+<td><a href="qtranslator.html">QTranslator</a>
+<tr>
+<td align="right">
+<td><a href="qcolordialog.html">QColorDialog</a>
+<td align="right">
+<td><a href="qguardedptr.html">QGuardedPtr</a>
+<td align="right">
+<td><a href="qpen.html">QPen</a>
+<td align="right">
+<td><a href="qsqldatabase.html">QSqlDatabase</a>
+<td align="right"><b>U</b>
+<td><a href="qurl.html">QUrl</a>
+<tr>
+<td align="right">
+<td><a href="qcombobox.html">QComboBox</a>
+<td align="right"><b>H</b>
+<td><a href="qhboxlayout.html">QHBoxLayout</a>
+<td align="right">
+<td><a href="qpixmap.html">QPixmap</a>
+<td align="right">
+<td><a href="qsqldriverplugin.html">QSqlDriverPlugin</a>
+<td align="right">
+<td><a href="qurloperator.html">QUrlOperator</a>
+<tr>
+<td align="right"><b>D</b>
+<td><a href="qdatabrowser.html">QDataBrowser</a>
+<td align="right"><b>I</b>
+<td><a href="qiconset.html">QIconSet</a>
+<td align="right">
+<td><a href="qpoint.html">QPoint</a>
+<td align="right">
+<td><a href="qsqlform.html">QSqlForm</a>
+<td align="right"><b>V</b>
+<td><a href="qvalidator.html">QValidator</a>
+<tr>
+<td align="right">
+<td><a href="qdatatable.html">QDataTable</a>
+<td align="right">
+<td><a href="qiconview.html">QIconView</a>
+<td align="right">
+<td><a href="qpopupmenu.html">QPopupMenu</a>
+<td align="right">
+<td><a href="qsqlquery.html">QSqlQuery</a>
+<td align="right">
+<td><a href="qvaluelist.html">QValueList</a>
+<tr>
+<td align="right">
+<td><a href="qdataview.html">QDataView</a>
+<td align="right">
+<td><a href="qimage.html">QImage</a>
+<td align="right">
+<td><a href="qprinter.html">QPrinter</a>
+<td align="right">
+<td><a href="qstatusbar.html">QStatusBar</a>
+<td align="right">
+<td><a href="qvaluestack.html">QValueStack</a>
+<tr>
+<td align="right">
+<td><a href="qdate.html">QDate</a>
+<td align="right">
+<td><a href="qinputdialog.html">QInputDialog</a>
+<td align="right">
+<td><a href="qprocess.html">QProcess</a>
+<td align="right">
+<td><a href="qstring.html">QString</a>
+<td align="right">
+<td><a href="qvaluevector.html">QValueVector</a>
+<tr>
+<td align="right">
+<td><a href="qdateedit.html">QDateEdit</a>
+<td align="right"><b>L</b>
+<td><a href="qlabel.html">QLabel</a>
+<td align="right">
+<td><a href="qprogressbar.html">QProgressBar</a>
+<td align="right">
+<td><a href="qstringlist.html">QStringList</a>
+<td align="right">
+<td><a href="qvariant.html">QVariant</a>
+<tr>
+<td align="right">
+<td><a href="qdatetime.html">QDateTime</a>
+<td align="right">
+<td><a href="qlcdnumber.html">QLCDNumber</a>
+<td align="right">
+<td><a href="qprogressdialog.html">QProgressDialog</a>
+<td align="right"><b>T</b>
+<td><a href="qtabdialog.html">QTabDialog</a>
+<td align="right">
+<td><a href="qvboxlayout.html">QVBoxLayout</a>
+<tr>
+<td align="right">
+<td><a href="qdatetimeedit.html">QDateTimeEdit</a>
+<td align="right">
+<td><a href="qlibrary.html">QLibrary</a>
+<td align="right">
+<td><a href="qpushbutton.html">QPushButton</a>
+<td align="right">
+<td><a href="qtable.html">QTable</a>
+<td align="right"><b>W</b>
+<td><a href="qwhatsthis.html">QWhatsThis</a>
+<tr>
+<td align="right">
+<td><a href="qdial.html">QDial</a>
+<td align="right">
+<td><a href="qlineedit.html">QLineEdit</a>
+<td align="right"><b>R</b>
+<td><a href="qradiobutton.html">QRadioButton</a>
+<td align="right">
+<td><a href="qtabwidget.html">QTabWidget</a>
+<td align="right">
+<td><a href="qwidget.html">QWidget</a>
+<tr>
+<td align="right">
+<td><a href="qdialog.html">QDialog</a>
+<td align="right">
+<td><a href="qlistbox.html">QListBox</a>
+<td align="right">
+<td><a href="qrect.html">QRect</a>
+<td align="right">
+<td><a href="qtextbrowser.html">QTextBrowser</a>
+<td align="right">
+<td><a href="qwidgetstack.html">QWidgetStack</a>
+<tr>
+<td align="right">
+<td><a href="qdict.html">QDict</a>
+<td align="right">
+<td><a href="qlistview.html">QListView</a>
+<td align="right">
+<td><a href="qregexp.html">QRegExp</a>
+<td align="right">
+<td><a href="qtextedit.html">QTextEdit</a>
+<td align="right">
+<td><a href="qwizard.html">QWizard</a>
+<tr>
+<td align="right">
+<td><a href="qdir.html">QDir</a>
+<td align="right"><b>M</b>
+<td><a href="qmainwindow.html">QMainWindow</a>
+<td align="right"><b>S</b>
+<td><a href="qscrollview.html">QScrollView</a>
+<td align="right">
+<td><a href="qtextstream.html">QTextStream</a>
+<td align="right">
+<td><a href="qworkspace.html">QWorkspace</a>
+<tr>
+<td align="right">
+<td><a href="qdockwindow.html">QDockWindow</a>
+<td align="right">
+<td><a href="qmap.html">QMap</a>
+<td align="right">
+<td><a href="qsettings.html">QSettings</a>
+<td align="right">
+<td><a href="qtime.html">QTime</a>
+<td align="right"><b>X</b>
+<td><a href="qxmlsimplereader.html">QXmlSimpleReader</a>
+<tr>
+<td align="right"><b>F</b>
+<td><a href="qfile.html">QFile</a>
+<td align="right">
+<td><a href="qmenubar.html">QMenuBar</a>
+<td align="right">
+<td><a href="qsimplerichtext.html">QSimpleRichText</a>
+<td align="right">
+<td><a href="qtimeedit.html">QTimeEdit</a>
+<td>
+<td>
+</table>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/mainwindow-w.png b/doc/html/mainwindow-w.png
new file mode 100644
index 0000000..c737a4c
--- /dev/null
+++ b/doc/html/mainwindow-w.png
Binary files differ
diff --git a/doc/html/makeqpf.html b/doc/html/makeqpf.html
new file mode 100644
index 0000000..54e1c11
--- /dev/null
+++ b/doc/html/makeqpf.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/makeqpf.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>makeqpf</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>makeqpf</h1>
+
+
+
+<p> Saves QPF font files by rendering and saving fonts.
+<p> <h2> Usage
+</h2>
+<a name="1"></a><p> <pre>
+makeqpf [-A] [-f spec-file] [font ...]
+</pre>
+
+<p> <ul>
+<li> -A - Render and save all fonts in fontdir
+<li> -f - File of lines: fontname character-ranges e.g. "smoothtimes 0-ff,20a0-20af"
+<li> font - Font to render and save
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/mdi-example.html b/doc/html/mdi-example.html
new file mode 100644
index 0000000..1fea1ec
--- /dev/null
+++ b/doc/html/mdi-example.html
@@ -0,0 +1,600 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/mdi/mdi.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>An MDI Application</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>An MDI Application</h1>
+
+
+<p>
+This example program is just like the application example, except
+that it provides a Multiple Document Interface (MDI).
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef APPLICATION_H
+#define APPLICATION_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+
+class QTextEdit;
+class QToolBar;
+class QPopupMenu;
+class QWorkspace;
+class QPopupMenu;
+class QMovie;
+
+class MDIWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ MDIWindow( <a href="qwidget.html">QWidget</a>* parent, const char* name, int wflags );
+ ~MDIWindow();
+
+ void load( const <a href="qstring.html">QString</a>&amp; fn );
+ void save();
+ void saveAs();
+ void print( <a href="qprinter.html">QPrinter</a>* );
+
+protected:
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+signals:
+ void message(const <a href="qstring.html">QString</a>&amp;, int );
+
+private:
+ <a href="qtextedit.html">QTextEdit</a>* medit;
+ <a href="qmovie.html">QMovie</a> * mmovie;
+ <a href="qstring.html">QString</a> filename;
+};
+
+
+class ApplicationWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ Q_OBJECT
+public:
+ ApplicationWindow();
+ ~ApplicationWindow();
+
+protected:
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+private slots:
+ MDIWindow* newDoc();
+ void load();
+ void save();
+ void saveAs();
+ void print();
+ void closeWindow();
+ void tileHorizontal();
+
+ void about();
+ void aboutQt();
+
+ void windowsMenuAboutToShow();
+ void windowsMenuActivated( int id );
+
+private:
+ <a href="qprinter.html">QPrinter</a> *printer;
+ <a href="qworkspace.html">QWorkspace</a>* ws;
+ <a href="qtoolbar.html">QToolBar</a> *fileTools;
+ <a href="qpopupmenu.html">QPopupMenu</a>* windowsMenu;
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "application.h"
+#include &lt;<a href="qworkspace-h.html">qworkspace.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qmovie-h.html">qmovie.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qtextedit-h.html">qtextedit.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;
+#include &lt;<a href="qwhatsthis-h.html">qwhatsthis.h</a>&gt;
+#include &lt;<a href="qobjectlist-h.html">qobjectlist.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>&gt;
+
+#include "filesave.xpm"
+#include "fileopen.xpm"
+#include "fileprint.xpm"
+
+
+const char * fileOpenText = "Click this button to open a &lt;em&gt;new file&lt;/em&gt;. &lt;br&gt;&lt;br&gt;"
+"You can also select the &lt;b&gt;Open command&lt;/b&gt; from the File menu.";
+const char * fileSaveText = "Click this button to save the file you are "
+"editing. You will be prompted for a file name.\n\n"
+"You can also select the Save command from the File menu.\n\n"
+"Note that implementing this function is left as an exercise for the reader.";
+const char * filePrintText = "Click this button to print the file you "
+"are editing.\n\n"
+"You can also select the Print command from the File menu.";
+
+<a name="f535"></a>ApplicationWindow::ApplicationWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "example application main window", WDestructiveClose )
+{
+ int id;
+
+ <a href="qpixmap.html">QPixmap</a> openIcon, saveIcon;
+
+ fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+ <a href="qmainwindow.html#addToolBar">addToolBar</a>( fileTools, tr( "File Operations" ), DockTop, TRUE );
+
+ openIcon = QPixmap( fileopen );
+ QToolButton * fileOpen
+ = new <a href="qtoolbutton.html">QToolButton</a>( openIcon, "Open File", <a href="qstring.html#QString-null">QString::null</a>,
+ this, SLOT(load()), fileTools, "open file" );
+
+ saveIcon = QPixmap( filesave );
+ QToolButton * fileSave
+ = new <a href="qtoolbutton.html">QToolButton</a>( saveIcon, "Save File", QString::null,
+ this, SLOT(save()), fileTools, "save file" );
+
+#ifndef QT_NO_PRINTER
+ printer = new <a href="qprinter.html">QPrinter</a>( QPrinter::HighResolution );
+ <a href="qpixmap.html">QPixmap</a> printIcon;
+
+ printIcon = QPixmap( fileprint );
+ QToolButton * filePrint
+ = new <a href="qtoolbutton.html">QToolButton</a>( printIcon, "Print File", QString::null,
+ this, SLOT(print()), fileTools, "print file" );
+<a name="x2075"></a> QWhatsThis::<a href="qwhatsthis.html#add">add</a>( filePrint, filePrintText );
+#endif
+
+ (void)QWhatsThis::whatsThisButton( fileTools );
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileOpen, fileOpenText );
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileSave, fileSaveText );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New", this, SLOT(newDoc()), CTRL+Key_N );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( openIcon, "&amp;Open...",
+ this, SLOT(load()), CTRL+Key_O );
+<a name="x2035"></a> file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileOpenText );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( saveIcon, "&amp;Save",
+ this, SLOT(save()), CTRL+Key_S );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save &amp;As...", this, SLOT(saveAs()) );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+#ifndef QT_NO_PRINTER
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( printIcon, "&amp;Print...",
+ this, SLOT(print()), CTRL+Key_P );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, filePrintText );
+#endif
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(closeWindow()), CTRL+Key_W );
+<a name="x2020"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT( <a href="qapplication.html#closeAllWindows">closeAllWindows</a>() ), CTRL+Key_Q );
+
+ windowsMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+<a name="x2049"></a> windowsMenu-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+<a name="x2048"></a> <a href="qobject.html#connect">connect</a>( windowsMenu, SIGNAL( <a href="qpopupmenu.html#aboutToShow">aboutToShow</a>() ),
+ this, SLOT( windowsMenuAboutToShow() ) );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Windows", windowsMenu );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+ <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1);
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()));
+ help-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "What's &amp;This", this, SLOT(<a href="qmainwindow.html#whatsThis">whatsThis</a>()), SHIFT+Key_F1);
+
+ <a href="qvbox.html">QVBox</a>* vb = new <a href="qvbox.html">QVBox</a>( this );
+ vb-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::StyledPanel | QFrame::Sunken );
+ ws = new <a href="qworkspace.html">QWorkspace</a>( vb );
+<a name="x2092"></a> ws-&gt;<a href="qworkspace.html#setScrollBarsEnabled">setScrollBarsEnabled</a>( TRUE );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( vb );
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+}
+
+
+ApplicationWindow::~ApplicationWindow()
+{
+#ifndef QT_NO_PRINTER
+ delete printer;
+#endif
+}
+
+
+
+MDIWindow* <a name="f536"></a>ApplicationWindow::newDoc()
+{
+ MDIWindow* w = new MDIWindow( ws, 0, WDestructiveClose );
+ <a href="qobject.html#connect">connect</a>( w, SIGNAL( message(const <a href="qstring.html">QString</a>&amp;, int) ), statusBar(), SLOT( message(const <a href="qstring.html">QString</a>&amp;, int )) );
+ w-&gt;<a href="qwidget.html#setCaption">setCaption</a>("unnamed document");
+<a name="x2085"></a> w-&gt;<a href="qwidget.html#setIcon">setIcon</a>( QPixmap("document.xpm") );
+ // show the very first window in maximized mode
+<a name="x2094"></a> if ( ws-&gt;<a href="qworkspace.html#windowList">windowList</a>().isEmpty() )
+<a name="x2087"></a> w-&gt;<a href="qwidget.html#showMaximized">showMaximized</a>();
+ else
+ w-&gt;<a href="qwidget.html#show">show</a>();
+ return w;
+}
+
+void <a name="f537"></a>ApplicationWindow::load()
+{
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ MDIWindow* w = newDoc();
+ w-&gt;load( fn );
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loading aborted", 2000 );
+ }
+}
+
+void <a name="f538"></a>ApplicationWindow::save()
+{
+<a name="x2090"></a> MDIWindow* m = (MDIWindow*)ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>();
+ if ( m )
+ m-&gt;save();
+}
+
+
+void <a name="f539"></a>ApplicationWindow::saveAs()
+{
+ MDIWindow* m = (MDIWindow*)ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>();
+ if ( m )
+ m-&gt;saveAs();
+}
+
+
+void <a name="f540"></a>ApplicationWindow::print()
+{
+#ifndef QT_NO_PRINTER
+ MDIWindow* m = (MDIWindow*)ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>();
+ if ( m )
+ m-&gt;print( printer );
+#endif
+}
+
+
+void <a name="f541"></a>ApplicationWindow::closeWindow()
+{
+ MDIWindow* m = (MDIWindow*)ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>();
+ if ( m )
+<a name="x2076"></a> m-&gt;<a href="qwidget.html#close">close</a>();
+}
+
+void <a name="f542"></a>ApplicationWindow::about()
+{
+<a name="x2036"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Application Example",
+ "This example demonstrates simple use of\n "
+ "Qt's Multiple Document Interface (MDI).");
+}
+
+
+void <a name="f543"></a>ApplicationWindow::aboutQt()
+{
+ QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Application Example" );
+}
+
+
+void <a name="f544"></a>ApplicationWindow::windowsMenuAboutToShow()
+{
+<a name="x2029"></a> windowsMenu-&gt;<a href="qmenudata.html#clear">clear</a>();
+<a name="x2091"></a> int cascadeId = windowsMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Cascade", ws, SLOT(<a href="qworkspace.html#cascade">cascade</a>() ) );
+<a name="x2093"></a> int tileId = windowsMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Tile", ws, SLOT(<a href="qworkspace.html#tile">tile</a>() ) );
+ int horTileId = windowsMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Tile &amp;Horizontally", this, SLOT(tileHorizontal() ) );
+ if ( ws-&gt;<a href="qworkspace.html#windowList">windowList</a>().isEmpty() ) {
+<a name="x2033"></a> windowsMenu-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( cascadeId, FALSE );
+ windowsMenu-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( tileId, FALSE );
+ windowsMenu-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( horTileId, FALSE );
+ }
+ windowsMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ QWidgetList windows = ws-&gt;<a href="qworkspace.html#windowList">windowList</a>();
+<a name="x2054"></a> for ( int i = 0; i &lt; int(windows.count()); ++i ) {
+<a name="x2053"></a> int id = windowsMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>(windows.at(i)-&gt;caption(),
+ this, SLOT( windowsMenuActivated( int ) ) );
+<a name="x2034"></a> windowsMenu-&gt;<a href="qmenudata.html#setItemParameter">setItemParameter</a>( id, i );
+<a name="x2032"></a> windowsMenu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( id, ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>() == windows.at(i) );
+ }
+}
+
+void <a name="f545"></a>ApplicationWindow::windowsMenuActivated( int id )
+{
+ <a href="qwidget.html">QWidget</a>* w = ws-&gt;<a href="qworkspace.html#windowList">windowList</a>().at( id );
+ if ( w )
+<a name="x2088"></a> w-&gt;<a href="qwidget.html#showNormal">showNormal</a>();
+<a name="x2084"></a> w-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+void <a name="f546"></a>ApplicationWindow::tileHorizontal()
+{
+ // primitive horizontal tiling
+ QWidgetList windows = ws-&gt;<a href="qworkspace.html#windowList">windowList</a>();
+ if ( !windows.count() )
+ return;
+
+ if (ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>())
+ ws-&gt;<a href="qworkspace.html#activeWindow">activeWindow</a>()-&gt;showNormal();
+
+<a name="x2078"></a> int heightForEach = ws-&gt;<a href="qwidget.html#height">height</a>() / windows.count();
+ int y = 0;
+ for ( int i = 0; i &lt; int(windows.count()); ++i ) {
+ <a href="qwidget.html">QWidget</a> *window = windows.at(i);
+<a name="x2081"></a><a name="x2080"></a> int preferredHeight = window-&gt;<a href="qwidget.html#minimumHeight">minimumHeight</a>()+window-&gt;<a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;baseSize().height();
+ int actHeight = QMAX(heightForEach, preferredHeight);
+
+<a name="x2089"></a> window-&gt;<a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;setGeometry( 0, y, ws-&gt;<a href="qwidget.html#width">width</a>(), actHeight );
+ y += actHeight;
+ }
+}
+
+<a name="x2077"></a>void ApplicationWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> *e )
+{
+ QWidgetList windows = ws-&gt;<a href="qworkspace.html#windowList">windowList</a>();
+ if ( windows.count() ) {
+ for ( int i = 0; i &lt; int(windows.count()); ++i ) {
+ <a href="qwidget.html">QWidget</a> *window = windows.at( i );
+ if ( !window-&gt;<a href="qwidget.html#close">close</a>() ) {
+<a name="x2022"></a> e-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ return;
+ }
+ }
+ }
+
+ QMainWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( e );
+}
+
+<a name="f547"></a>MDIWindow::MDIWindow( <a href="qwidget.html">QWidget</a>* parent, const char* name, int wflags )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name, wflags )
+{
+ mmovie = 0;
+ medit = new <a href="qtextedit.html">QTextEdit</a>( this );
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( medit );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( medit );
+}
+
+MDIWindow::~MDIWindow()
+{
+ delete mmovie;
+}
+
+void MDIWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> *e )
+{
+<a name="x2069"></a> if ( medit-&gt;<a href="qtextedit.html#isModified">isModified</a>() ) {
+ switch( QMessageBox::<a href="qmessagebox.html#warning">warning</a>( this, "Save Changes",
+ <a href="qobject.html#tr">tr</a>("Save changes to %1?").arg( <a href="qwidget.html#caption">caption</a>() ),
+ <a href="qobject.html#tr">tr</a>("Yes"), tr("No"), tr("Cancel") ) ) {
+ case 0:
+ {
+ save();
+ if ( !filename.isEmpty() )
+<a name="x2021"></a> e-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ else
+ e-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ }
+ break;
+ case 1:
+ e-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ default:
+ e-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+ }
+ } else {
+ e-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ }
+}
+
+void <a name="f548"></a>MDIWindow::load( const <a href="qstring.html">QString</a>&amp; fn )
+{
+ filename = fn;
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+<a name="x2064"></a> if(fn.<a href="qstring.html#contains">contains</a>(".gif")) {
+ <a href="qwidget.html">QWidget</a> * tmp=new <a href="qwidget.html">QWidget</a>(this);
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>(tmp);
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>(tmp);
+<a name="x2079"></a> medit-&gt;<a href="qwidget.html#hide">hide</a>();
+ delete medit;
+ <a href="qmovie.html">QMovie</a> * qm=new <a href="qmovie.html">QMovie</a>(fn);
+#ifdef Q_WS_QWS // temporary speed-test hack
+<a name="x2039"></a> qm-&gt;setDisplayWidget(tmp);
+#endif
+<a name="x2082"></a> tmp-&gt;<a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>(QWidget::NoBackground);
+ tmp-&gt;<a href="qwidget.html#show">show</a>();
+ mmovie=qm;
+ } else {
+ mmovie = 0;
+
+ <a href="qtextstream.html">QTextStream</a> t(&amp;f);
+<a name="x2074"></a> <a href="qstring.html">QString</a> s = t.<a href="qtextstream.html#read">read</a>();
+ medit-&gt;<a href="qtextedit.html#setText">setText</a>( s );
+<a name="x2023"></a> f.<a href="qfile.html#close">close</a>();
+
+
+ }
+ <a href="qwidget.html#setCaption">setCaption</a>( filename );
+ emit message( QString("Loaded document %1").arg(filename), 2000 );
+}
+
+void <a name="f549"></a>MDIWindow::save()
+{
+ if ( filename.isEmpty() ) {
+ saveAs();
+ return;
+ }
+
+<a name="x2073"></a> <a href="qstring.html">QString</a> text = medit-&gt;<a href="qtextedit.html#text">text</a>();
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ emit message( QString("Could not write to %1").arg(filename),
+ 2000 );
+ return;
+ }
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+ t &lt;&lt; text;
+ f.<a href="qfile.html#close">close</a>();
+
+ <a href="qwidget.html#setCaption">setCaption</a>( filename );
+
+ emit message( QString( "File %1 saved" ).arg( filename ), 2000 );
+}
+
+void <a name="f550"></a>MDIWindow::saveAs()
+{
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( filename, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ save();
+ } else {
+ emit message( "Saving aborted", 2000 );
+ }
+}
+
+void <a name="f551"></a>MDIWindow::print( <a href="qprinter.html">QPrinter</a>* printer)
+{
+#ifndef QT_NO_PRINTER
+ int pageNo = 1;
+
+<a name="x2052"></a> if ( printer-&gt;<a href="qprinter.html#setup">setup</a>(this) ) { // printer dialog
+<a name="x2051"></a> printer-&gt;<a href="qprinter.html#setFullPage">setFullPage</a>( TRUE );
+ emit message( "Printing...", 0 );
+ <a href="qpainter.html">QPainter</a> p;
+ if ( !p.<a href="qpainter.html#begin">begin</a>( printer ) )
+ return; // paint on printer
+<a name="x2044"></a> <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics( p.<a href="qpainter.html#device">device</a>() );
+<a name="x2041"></a> int dpiy = metrics.<a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>();
+ int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins
+<a name="x2042"></a><a name="x2040"></a> <a href="qrect.html">QRect</a> view( margin, margin, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*margin, metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - 2*margin );
+<a name="x2067"></a> <a href="qsimplerichtext.html">QSimpleRichText</a> richText( QStyleSheet::<a href="qstylesheet.html#convertFromPlainText">convertFromPlainText</a>(medit-&gt;<a href="qtextedit.html#text">text</a>()),
+ QFont(),
+<a name="x2068"></a> medit-&gt;<a href="qtextedit.html#context">context</a>(),
+<a name="x2072"></a> medit-&gt;<a href="qtextedit.html#styleSheet">styleSheet</a>(),
+<a name="x2070"></a> medit-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>(),
+ view.<a href="qrect.html#height">height</a>() );
+<a name="x2063"></a> richText.<a href="qsimplerichtext.html#setWidth">setWidth</a>( &amp;p, view.<a href="qrect.html#width">width</a>() );
+ int page = 1;
+ do {
+<a name="x2061"></a> richText.<a href="qsimplerichtext.html#draw">draw</a>( &amp;p, margin, margin, view, colorGroup() );
+<a name="x2057"></a> view.<a href="qrect.html#moveBy">moveBy</a>( 0, view.<a href="qrect.html#height">height</a>() );
+ p.<a href="qpainter.html#translate">translate</a>( 0 , -view.<a href="qrect.html#height">height</a>() );
+<a name="x2066"></a><a name="x2046"></a> p.<a href="qpainter.html#drawText">drawText</a>( view.<a href="qrect.html#right">right</a>() - p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().width( QString::<a href="qstring.html#number">number</a>( page ) ),
+ view.<a href="qrect.html#bottom">bottom</a>() + p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().ascent() + 5, QString::number( page ) );
+<a name="x2062"></a> if ( view.<a href="qrect.html#top">top</a>() - margin &gt;= richText.<a href="qsimplerichtext.html#height">height</a>() )
+ break;
+ <a href="qstring.html">QString</a> msg( "Printing (page " );
+ msg += QString::<a href="qstring.html#number">number</a>( ++pageNo );
+ msg += ")...";
+ emit message( msg, 0 );
+<a name="x2050"></a> printer-&gt;<a href="qprinter.html#newPage">newPage</a>();
+ page++;
+ } while (TRUE);
+ }
+#endif
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "application.h"
+
+int main( int argc, char ** argv ) {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ApplicationWindow * mw = new ApplicationWindow();
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(mw);
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Multiple Documents Interface (MDI)" );
+ mw-&gt;<a href="qwidget.html#show">show</a>();
+<a name="x2097"></a><a name="x2096"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ int res = a.<a href="qapplication.html#exec">exec</a>();
+ return res;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/menu-example.html b/doc/html/menu-example.html
new file mode 100644
index 0000000..2882a3f
--- /dev/null
+++ b/doc/html/menu-example.html
@@ -0,0 +1,472 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/menu/menu.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using menus</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using menus</h1>
+
+
+<p>
+This example demonstrates a menu bar with pull-down menus,
+sub-menus and custom menu items. It also demonstrates a pop-up
+context menu.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/menu.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef MENU_H
+#define MENU_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+
+
+class MenuExample : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ MenuExample( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+public slots:
+ void open();
+ void news();
+ void save();
+ void closeDoc();
+ void undo();
+ void redo();
+ void normal();
+ void bold();
+ void underline();
+ void about();
+ void aboutQt();
+ void printer();
+ void file();
+ void fax();
+ void printerSetup();
+
+protected:
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+
+signals:
+ void explain( const <a href="qstring.html">QString</a>&amp; );
+
+private:
+ void contextMenuEvent ( <a href="qcontextmenuevent.html">QContextMenuEvent</a> * );
+
+
+ <a href="qmenubar.html">QMenuBar</a> *menu;
+ <a href="qlabel.html">QLabel</a> *label;
+ bool isBold;
+ bool isUnderline;
+ int boldID, underlineID;
+};
+
+
+#endif // MENU_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/menu.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "menu.h"
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+
+/* XPM */
+static const char * p1_xpm[] = {
+"16 16 3 1",
+" c None",
+". c #000000000000",
+"X c #FFFFFFFF0000",
+" ",
+" ",
+" .... ",
+" .XXXX. ",
+" .............. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .XXXXXXXXXXXX. ",
+" .............. ",
+" "};
+
+/* XPM */
+static const char * p2_xpm[] = {
+"16 16 3 1",
+" c None",
+". c #000000000000",
+"X c #FFFFFFFFFFFF",
+" ",
+" ...... ",
+" .XXX.X. ",
+" .XXX.XX. ",
+" .XXX.XXX. ",
+" .XXX..... ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" .XXXXXXX. ",
+" ......... ",
+" ",
+" "};
+
+/* XPM */
+static const char * p3_xpm[] = {
+"16 16 3 1",
+" c None",
+". c #000000000000",
+"X c #FFFFFFFFFFFF",
+" ",
+" ",
+" ......... ",
+" ........... ",
+" ........ .. ",
+" ........... ",
+" ........... ",
+" ........... ",
+" ........... ",
+" ...XXXXX... ",
+" ...XXXXX... ",
+" ...XXXXX... ",
+" ...XXXXX... ",
+" ......... ",
+" ",
+" "};
+
+
+/*
+ Auxiliary class to provide fancy menu items with different
+ fonts. Used for the "bold" and "underline" menu items in the options
+ menu.
+ */
+class MyMenuItem : public <a href="qcustommenuitem.html">QCustomMenuItem</a>
+{
+public:
+ MyMenuItem( const <a href="qstring.html">QString</a>&amp; s, const <a href="qfont.html">QFont</a>&amp; f )
+ : string( s ), font( f ){};
+ ~MyMenuItem(){}
+
+ void paint( <a href="qpainter.html">QPainter</a>* p, const QColorGroup&amp; /*cg*/, bool /*act*/, bool /*enabled*/, int x, int y, int w, int h )
+ {
+ p-&gt;<a href="qpainter.html#setFont">setFont</a> ( font );
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>( x, y, w, h, AlignLeft | AlignVCenter | DontClip | ShowPrefix, string );
+ }
+
+ <a href="qsize.html">QSize</a> sizeHint()
+ {
+ return QFontMetrics( font ).size( AlignLeft | AlignVCenter | ShowPrefix | DontClip, string );
+ }
+private:
+ <a href="qstring.html">QString</a> string;
+ <a href="qfont.html">QFont</a> font;
+};
+
+
+<a name="f501"></a>MenuExample::MenuExample( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpixmap.html">QPixmap</a> p1( p1_xpm );
+ <a href="qpixmap.html">QPixmap</a> p2( p2_xpm );
+ <a href="qpixmap.html">QPixmap</a> p3( p3_xpm );
+ <a href="qpopupmenu.html">QPopupMenu</a> *print = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( print );
+<a name="x1879"></a> print-&gt;<a href="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</a>();
+<a name="x1869"></a> print-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print to printer", this, SLOT(printer()) );
+ print-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Print to &amp;file", this, SLOT(file()) );
+ print-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Print to fa&amp;x", this, SLOT(fax()) );
+<a name="x1870"></a> print-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ print-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Printer &amp;Setup", this, SLOT(printerSetup()) );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p1, "&amp;Open", this, SLOT(open()), CTRL+Key_O );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p2, "&amp;New", this, SLOT(news()), CTRL+Key_N );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p3, "&amp;Save", this, SLOT(save()), CTRL+Key_S );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(closeDoc()), CTRL+Key_W );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print", print, CTRL+Key_P );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "E&amp;xit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()), CTRL+Key_Q );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *edit = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( edit );
+ int undoID = edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Undo", this, SLOT(undo()) );
+ int redoID = edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Redo", this, SLOT(redo()) );
+<a name="x1873"></a> edit-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( undoID, FALSE );
+ edit-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( redoID, FALSE );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* options = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( options );
+ options-&gt;<a href="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</a>();
+ options-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Options");
+ options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Normal Font", this, SLOT(normal()) );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+<a name="x1883"></a> options-&gt;<a href="qwidget.html#polish">polish</a>(); // adjust system settings
+<a name="x1882"></a> <a href="qfont.html">QFont</a> f = options-&gt;<a href="qwidget.html#font">font</a>();
+<a name="x1860"></a> f.<a href="qfont.html#setBold">setBold</a>( TRUE );
+ boldID = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( new MyMenuItem( "Bold", f ) );
+<a name="x1871"></a> options-&gt;<a href="qmenudata.html#setAccel">setAccel</a>( CTRL+Key_B, boldID );
+<a name="x1868"></a> options-&gt;<a href="qmenudata.html#connectItem">connectItem</a>( boldID, this, SLOT(bold()) );
+ f = <a href="qwidget.html#font">font</a>();
+<a name="x1861"></a> f.<a href="qfont.html#setUnderline">setUnderline</a>( TRUE );
+ underlineID = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( new MyMenuItem( "Underline", f ) );
+ options-&gt;<a href="qmenudata.html#setAccel">setAccel</a>( CTRL+Key_U, underlineID );
+ options-&gt;<a href="qmenudata.html#connectItem">connectItem</a>( underlineID, this, SLOT(underline()) );
+
+ isBold = FALSE;
+ isUnderline = FALSE;
+<a name="x1880"></a> options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( help );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), CTRL+Key_H );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()) );
+
+ // If we used a QMainWindow we could use its built-in menuBar().
+ menu = new <a href="qmenubar.html">QMenuBar</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( menu );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Edit", edit );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Options", options );
+ menu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Help", help );
+<a name="x1867"></a> menu-&gt;<a href="qmenubar.html#setSeparator">setSeparator</a>( QMenuBar::InWindowsStyle );
+
+
+ <a href="qlabel.html">QLabel</a> *msg = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( msg );
+ msg-&gt;<a href="qlabel.html#setText">setText</a>( "A context menu is available.\n"
+ "Invoke it by right-clicking or by"
+ " pressing the 'context' button." );
+<a name="x1886"></a> msg-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 0, height() - 60, width(), 60 );
+<a name="x1864"></a> msg-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ label = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( label );
+ label-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 20, rect().center().y()-20, width()-40, 40 );
+ label-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Box | QFrame::Raised );
+<a name="x1863"></a> label-&gt;<a href="qframe.html#setLineWidth">setLineWidth</a>( 1 );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL(explain(const <a href="qstring.html">QString</a>&amp;)),
+ label, SLOT(<a href="qlabel.html#setText">setText</a>(const <a href="qstring.html">QString</a>&amp;)) );
+
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 100, 80 );
+ <a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>( QWidget::ClickFocus );
+}
+
+
+<a name="x1881"></a>void MenuExample::<a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>( <a href="qcontextmenuevent.html">QContextMenuEvent</a> * )
+{
+ <a href="qpopupmenu.html">QPopupMenu</a>* contextMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( contextMenu );
+ <a href="qlabel.html">QLabel</a> *caption = new <a href="qlabel.html">QLabel</a>( "&lt;font color=darkblue&gt;&lt;u&gt;&lt;b&gt;"
+ "Context Menu&lt;/b&gt;&lt;/u&gt;&lt;/font&gt;", this );
+ caption-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignCenter );
+ contextMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( caption );
+ contextMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New", this, SLOT(news()), CTRL+Key_N );
+ contextMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Open...", this, SLOT(open()), CTRL+Key_O );
+ contextMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Save", this, SLOT(save()), CTRL+Key_S );
+ <a href="qpopupmenu.html">QPopupMenu</a> *submenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( submenu );
+ submenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print to printer", this, SLOT(printer()) );
+ submenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Print to &amp;file", this, SLOT(file()) );
+ submenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Print to fa&amp;x", this, SLOT(fax()) );
+ contextMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print", submenu );
+<a name="x1878"></a><a name="x1859"></a> contextMenu-&gt;<a href="qpopupmenu.html#exec">exec</a>( QCursor::<a href="qcursor.html#pos">pos</a>() );
+ delete contextMenu;
+}
+
+
+void <a name="f502"></a>MenuExample::open()
+{
+ emit explain( "File/Open selected" );
+}
+
+
+void <a name="f503"></a>MenuExample::news()
+{
+ emit explain( "File/New selected" );
+}
+
+void <a name="f504"></a>MenuExample::save()
+{
+ emit explain( "File/Save selected" );
+}
+
+
+void <a name="f505"></a>MenuExample::closeDoc()
+{
+ emit explain( "File/Close selected" );
+}
+
+
+void <a name="f506"></a>MenuExample::undo()
+{
+ emit explain( "Edit/Undo selected" );
+}
+
+
+void <a name="f507"></a>MenuExample::redo()
+{
+ emit explain( "Edit/Redo selected" );
+}
+
+
+void <a name="f508"></a>MenuExample::normal()
+{
+ isBold = FALSE;
+ isUnderline = FALSE;
+ <a href="qfont.html">QFont</a> font;
+<a name="x1865"></a> label-&gt;<a href="qlabel.html#setFont">setFont</a>( font );
+<a name="x1872"></a> menu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( boldID, isBold );
+ menu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( underlineID, isUnderline );
+ emit explain( "Options/Normal selected" );
+}
+
+
+void <a name="f509"></a>MenuExample::bold()
+{
+ isBold = !isBold;
+ <a href="qfont.html">QFont</a> font;
+ font.<a href="qfont.html#setBold">setBold</a>( isBold );
+ font.<a href="qfont.html#setUnderline">setUnderline</a>( isUnderline );
+ label-&gt;<a href="qlabel.html#setFont">setFont</a>( font );
+ menu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( boldID, isBold );
+ emit explain( "Options/Bold selected" );
+}
+
+
+void <a name="f510"></a>MenuExample::underline()
+{
+ isUnderline = !isUnderline;
+ <a href="qfont.html">QFont</a> font;
+ font.<a href="qfont.html#setBold">setBold</a>( isBold );
+ font.<a href="qfont.html#setUnderline">setUnderline</a>( isUnderline );
+ label-&gt;<a href="qlabel.html#setFont">setFont</a>( font );
+ menu-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( underlineID, isUnderline );
+ emit explain( "Options/Underline selected" );
+}
+
+
+void <a name="f511"></a>MenuExample::about()
+{
+<a name="x1874"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Menu Example",
+ "This example demonstrates simple use of Qt menus.\n"
+ "You can cut and paste lines from it to your own\n"
+ "programs." );
+}
+
+
+void <a name="f512"></a>MenuExample::aboutQt()
+{
+<a name="x1875"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Menu Example" );
+}
+
+
+void <a name="f513"></a>MenuExample::printer()
+{
+ emit explain( "File/Printer/Print selected" );
+}
+
+void <a name="f514"></a>MenuExample::file()
+{
+ emit explain( "File/Printer/Print To File selected" );
+}
+
+void <a name="f515"></a>MenuExample::fax()
+{
+ emit explain( "File/Printer/Print To Fax selected" );
+}
+
+void <a name="f516"></a>MenuExample::printerSetup()
+{
+ emit explain( "File/Printer/Printer Setup selected" );
+}
+
+
+<a name="x1884"></a>void MenuExample::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+ label-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 20, rect().center().y()-20, width()-40, 40 );
+}
+
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ MenuExample m;
+ m.<a href="qwidget.html#setCaption">setCaption</a>("Qt Examples - Menus");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;m );
+ m.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/menubar.png b/doc/html/menubar.png
new file mode 100644
index 0000000..7ba43c6
--- /dev/null
+++ b/doc/html/menubar.png
Binary files differ
diff --git a/doc/html/metaobjects.html b/doc/html/metaobjects.html
new file mode 100644
index 0000000..b42f5bb
--- /dev/null
+++ b/doc/html/metaobjects.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/metaobjects.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Meta Object System</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Meta Object System</h1>
+
+
+
+<p> <!-- index meta object --><a name="meta-object"></a><!-- index Q_OBJECT --><a name="Q_OBJECT"></a>
+<p> Qt's Meta Object System provides the signals and slots mechanism for
+inter-object communication, runtime type information, and the dynamic
+property system.
+<p> The Meta Object System is based on three things:
+<ol type=1>
+<li> the <a href="qobject.html">QObject</a> class;
+<li> the Q_OBJECT macro inside the private section of the class
+declaration;
+<li> the <a href="moc.html">Meta Object Compiler (moc)</a>.
+</ol>
+<p> The <em><a href="moc.html#moc">moc</a></em> reads a C++ source file. If it finds one or more class
+declarations that contain the Q_OBJECT macro, it produces another C++
+source file which contains the meta object code for the classes that
+contain the Q_OBJECT macro. This generated source file is either
+#included into the class's source file or compiled and linked with the
+class's implementation.
+<p> In addition to providing the <a href="signalsandslots.html">signals and
+slots</a> mechanism for communication between objects (the main
+reason for introducing the system), the meta object code provides
+additional features in QObject:
+<p> <ul>
+<p> <li> the <a href="qobject.html#className">className()</a> function that
+returns the class name as a string at runtime, without requiring
+native runtime type information (RTTI) support through the C++
+compiler.
+<p> <li> the <a href="qobject.html#inherits">inherits()</a> function that
+returns whether an object is an instance of a class that inherits a
+specified class within the <a href="qobject.html">QObject</a> inheritance tree.
+<p> <li> the <a href="qobject.html#tr">tr()</a> and
+<a href="qobject.html#trUtf8">trUtf8()</a> functions for string
+translation as used for <a href="i18n.html#internationalization">internationalization</a>.
+<p> <li> the <a href="qobject.html#setProperty">setProperty()</a> and <a href="qobject.html#property">property()</a> functions for dynamically
+setting and getting <a href="properties.html">object properties</a> by
+name.
+<p> <li> the <a href="qobject.html#metaObject">metaObject()</a> function that
+returns the associated <a href="qmetaobject.html">meta object</a> for the
+class.
+<p> </ul>
+<p> While it is possible to use QObject as a base class without the
+Q_OBJECT macro and without meta object code, neither signals and slots
+nor the other features described here will be available if the
+Q_OBJECT macro is not used. From the meta object system's point of
+view, a QObject subclass without meta code is equivalent to its
+closest ancestor with meta object code. This means for example, that
+className() will not return the actual name of your class, but the
+class name of this ancestor. We <em>strongly</em> recommend that all
+subclasses of <a href="qobject.html">QObject</a> use the Q_OBJECT macro regardless of whether
+they actually use signals, slots and properties or not.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/misc.html b/doc/html/misc.html
new file mode 100644
index 0000000..dbef5a0
--- /dev/null
+++ b/doc/html/misc.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:730 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Miscellaneous Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Miscellaneous Classes</h1>
+
+
+<p> These classes are useful classes not fitting into any other category.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaccel.html">QAccel</a></b><td>Handles keyboard accelerator and shortcut keys
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessible.html">QAccessible</a></b><td>Enums and static functions relating to accessibility
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessibleinterface.html">QAccessibleInterface</a></b><td>Defines an interface that exposes information about accessible objects
+<tr bgcolor=#f0f0f0><td><b><a href="qaccessibleobject.html">QAccessibleObject</a></b><td>Implements parts of the QAccessibleInterface for QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qcustommenuitem.html">QCustomMenuItem</a></b><td>Abstract base class for custom menu items in popup menus
+<tr bgcolor=#f0f0f0><td><b><a href="qdoublevalidator.html">QDoubleValidator</a></b><td>Range checking of floating-point numbers
+<tr bgcolor=#f0f0f0><td><b><a href="qerrormessage.html">QErrorMessage</a></b><td>Error message display dialog
+<tr bgcolor=#f0f0f0><td><b><a href="qfileiconprovider.html">QFileIconProvider</a></b><td>Icons for QFileDialog to use
+<tr bgcolor=#f0f0f0><td><b><a href="qfilepreview.html">QFilePreview</a></b><td>File previewing in QFileDialog
+<tr bgcolor=#f0f0f0><td><b><a href="qfocusdata.html">QFocusData</a></b><td>Maintains the list of widgets in the focus chain
+<tr bgcolor=#f0f0f0><td><b><a href="qintvalidator.html">QIntValidator</a></b><td>Validator which ensures that a string contains a valid integer within a specified range
+<tr bgcolor=#f0f0f0><td><b><a href="qkeysequence.html">QKeySequence</a></b><td>Encapsulates a key sequence as used by accelerators
+<tr bgcolor=#f0f0f0><td><b><a href="qmacmime.html">QMacMime</a></b><td>Maps open-standard MIME to Mac flavors
+<tr bgcolor=#f0f0f0><td><b><a href="qmenudata.html">QMenuData</a></b><td>Base class for QMenuBar and QPopupMenu
+<tr bgcolor=#f0f0f0><td><b><a href="qmimesource.html">QMimeSource</a></b><td>Abstraction of objects which provide formatted data of a certain MIME type
+<tr bgcolor=#f0f0f0><td><b><a href="qprocess.html">QProcess</a></b><td>Used to start external programs and to communicate with them
+<tr bgcolor=#f0f0f0><td><b><a href="qrangecontrol.html">QRangeControl</a></b><td>Integer value within a range
+<tr bgcolor=#f0f0f0><td><b><a href="qregexp.html">QRegExp</a></b><td>Pattern matching using regular expressions
+<tr bgcolor=#f0f0f0><td><b><a href="qregexpvalidator.html">QRegExpValidator</a></b><td>Used to check a string against a regular expression
+<tr bgcolor=#f0f0f0><td><b><a href="qsettings.html">QSettings</a></b><td>Persistent platform-independent application settings
+<tr bgcolor=#f0f0f0><td><b><a href="qsignal.html">QSignal</a></b><td>Can be used to send signals for classes that don't inherit QObject
+<tr bgcolor=#f0f0f0><td><b><a href="qsplashscreen.html">QSplashScreen</a></b><td>Splash screen that can be shown during application startup
+<tr bgcolor=#f0f0f0><td><b><a href="qt.html">Qt</a></b><td>Namespace for miscellaneous identifiers that need to be global-like
+<tr bgcolor=#f0f0f0><td><b><a href="qurl.html">QUrl</a></b><td>URL parser and simplifies working with URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurlinfo.html">QUrlInfo</a></b><td>Stores information about URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qurloperator.html">QUrlOperator</a></b><td>Common operations on URLs
+<tr bgcolor=#f0f0f0><td><b><a href="qvalidator.html">QValidator</a></b><td>Validation of input text
+<tr bgcolor=#f0f0f0><td><b><a href="qvariant.html">QVariant</a></b><td>Acts like a union for the most common Qt data types
+<tr bgcolor=#f0f0f0><td><b><a href="qwindowsmime.html">QWindowsMime</a></b><td>Maps open-standard MIME to Window Clipboard formats
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/moc.html b/doc/html/moc.html
new file mode 100644
index 0000000..5861d95
--- /dev/null
+++ b/doc/html/moc.html
@@ -0,0 +1,452 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/moc.doc:39 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using the Meta Object Compiler</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using the Meta Object Compiler</h1>
+
+
+
+<p> <!-- index moc --><a name="moc"></a>
+<p> The Meta Object Compiler, moc among friends, is the program which
+handles Qt's <a href="metaobjects.html">C++ extensions.</a>
+<p> The moc reads a C++ source file. If it finds one or more class
+declarations that contain the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro, it produces another
+C++ source file which contains the <a href="metaobjects.html#meta-object">meta object</a> code for the classes
+that use the Q_OBJECT macro. Among other things, meta object code is
+required for the signal/slot mechanism, runtime type information and
+the dynamic property system.
+<p> The C++ source file generated by the moc must be compiled and linked
+with the implementation of the class (or it can be #included into the
+class's source file).
+<p> If you use <a href="qmake-manual.html">qmake</a> to create your
+Makefiles, build rules will be included that call the moc when
+required, so you will not need to use the moc directly. For more
+background information on moc, see <a href="templates.html">Why doesn't Qt
+use templates for signals and slots?</a>.
+<p> <h2> Usage
+</h2>
+<a name="1"></a><p> The moc is typically used with an input file containing class declarations
+like this:
+<p> <pre>
+ class MyClass : public <a href="qobject.html">QObject</a>
+ {
+ Q_OBJECT
+ public:
+ MyClass( <a href="qobject.html">QObject</a> * parent=0, const char * name=0 );
+ ~MyClass();
+
+ signals:
+ void mySignal();
+
+ public slots:
+ void mySlot();
+
+ };
+</pre>
+
+<p> In addition to the signals and slots shown above, the moc also
+implements object properties as in the next example. The Q_PROPERTY
+macro declares an object property, while Q_ENUMS declares a list of
+enumeration types within the class to be usable inside the
+<a href="properties.html">property system</a>. In this particular
+case we declare a property of the enumeration type <tt>Priority</tt> that is
+also called "priority" and has a get function <tt>priority()</tt> and a set
+function <tt>setPriority()</tt>.
+<p> <pre>
+ class MyClass : public <a href="qobject.html">QObject</a>
+ {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ MyClass( <a href="qobject.html">QObject</a> * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+</pre>
+
+<p> Properties can be modified in subclasses with the Q_OVERRIDE
+macro. The Q_SETS macro declares enums that are to be used as
+sets, i.e. OR'ed together. Another macro, Q_CLASSINFO, can be used to
+attach additional name/value-pairs to the class' meta object:
+<p> <pre>
+ class MyClass : public <a href="qobject.html">QObject</a>
+ {
+ Q_OBJECT
+ Q_CLASSINFO( "Author", "Oscar Peterson")
+ Q_CLASSINFO( "Status", "Active")
+ public:
+ MyClass( <a href="qobject.html">QObject</a> * parent=0, const char * name=0 );
+ ~MyClass();
+ };
+</pre>
+
+<p> The three concepts, signals and slots, properties and class
+meta-data, can be combined.
+<p> The output produced by the moc must be compiled and linked, just like
+the other C++ code in your program; otherwise the build will fail in
+the final link phase. By convention, this is done in one of the
+following two ways:
+<p> <dl>
+<p> <dt><b>Method A: The class declaration is found in a header
+(<em>.h</em>) file</b>
+<p> <dd>If the class declaration above is found in the file
+<em>myclass.h</em>, the moc output should be put in a file called
+<em>moc_myclass.cpp</em>. This file should then be compiled as
+usual, resulting in an object file <em>moc_myclass.o</em> (on Unix)
+or <em>moc_myclass.obj</em> (on Windows). This object should then be
+included in the list of object files that are linked together in the
+final building phase of the program.
+<p> <dt><b>Method B: The class declaration is found in an implementation
+(<em>.cpp</em>) file</b>
+<p> <dd>If the class declaration above is found in the file
+<em>myclass.cpp</em>, the moc output should be put in a file called
+<em>myclass.moc</em>. This file should be #included in the
+implementation file, i.e. <em>myclass.cpp</em> should contain the
+line
+<pre>
+ #include "myclass.moc"
+</pre>
+
+at the end. This will cause the moc-generated code to be compiled and
+linked together with the normal class definition in <em>myclass.cpp</em>, so
+it is not necessary to compile and link it separately, as in Method A.
+<p> </dl>
+<p> Method A is the normal method. Method B can be used in cases where you
+want the implementation file to be self-contained, or in cases where
+the Q_OBJECT class is implementation-internal and thus should not be
+visible in the header file.
+<p> <h2> Automating moc Usage with Makefiles
+</h2>
+<a name="2"></a><p> For anything but the simplest test programs, it is recommended that
+you automate running the moc. By adding some rules to your program's
+Makefile, <em>make</em> can take care of running moc when necessary and
+handling the moc output.
+<p> We recommend using Trolltech's free makefile generation tool, <a href="qmake-manual.html">qmake</a>, for building your Makefiles. This tool
+recognizes both Method A and B style source files, and generates a
+Makefile that does all the necessary moc handling.
+<p> If you want to create your Makefiles yourself, here are some tips on
+how to include moc handling.
+<p> For Q_OBJECT class declarations in header files, here is a useful
+makefile rule if you only use GNU make:
+<p> <pre>
+ moc_%.cpp: %.h
+ moc $&lt; -o $@
+</pre>
+
+<p> If you want to write portably, you can use individual rules with the
+following form:
+<p> <pre>
+ moc_NAME.cpp: NAME.h
+ moc $&lt; -o $@
+</pre>
+
+<p> You must also remember to add <em>moc_NAME.cpp</em> to your SOURCES
+(substitute your favorite name) variable and <em>moc_NAME.o</em> or
+<em>moc_NAME.obj</em> to your OBJECTS variable.
+<p> (While we prefer to name our C++ source files .cpp, the moc doesn't
+care, so you can use .C, .cc, .CC, .cxx or even .c++ if you
+prefer.)
+<p> For Q_OBJECT class declarations in implementation (.cpp) files, we
+suggest a makefile rule like this:
+<p> <pre>
+ NAME.o: NAME.moc
+
+ NAME.moc: NAME.cpp
+ moc -i $&lt; -o $@
+</pre>
+
+<p> This guarantees that make will run the moc before it compiles
+<em>NAME.cpp</em>. You can then put
+<p> <pre>
+ #include "NAME.moc"
+</pre>
+
+<p> at the end of <em>NAME.cpp</em>, where all the classes declared in
+that file are fully known.
+<p> <h2> Invoking moc
+</h2>
+<a name="3"></a><p> Here are the command-line options supported by the moc:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Option <th valign="top">Meaning
+<tr bgcolor="#f0f0f0">
+<td valign="top">-o <em>file</em>
+<td valign="top">Write output to <em>file</em> rather than to stdout.
+<tr bgcolor="#d0d0d0">
+<td valign="top">-f
+<td valign="top">Force the generation of an #include statement in the
+output. This is the default for files whose name matches the <a href="qregexp.html#regular-expression">regular expression</a> &#92;.[hH][^.]* (i.e. the extension starts with H or h). This
+option is only useful if you have header files that do not follow the
+standard naming conventions.
+<tr bgcolor="#f0f0f0">
+<td valign="top">-i
+<td valign="top">Do not generate an #include statement in the output.
+This may be used to run the moc on on a C++ file containing one or
+more class declarations. You should then #include the meta object
+code in the .cpp
+file. If both -i and -f are present, the last one wins.
+<tr bgcolor="#d0d0d0">
+<td valign="top">-nw
+<td valign="top">Do not generate any warnings. Not recommended.
+<tr bgcolor="#f0f0f0">
+<td valign="top">-ldbg
+<td valign="top">Write a flood of lex debug information to stdout.
+<tr bgcolor="#d0d0d0">
+<td valign="top">-p <em>path</em>
+<td valign="top">Makes the moc prepend <em>path</em>/ to
+the file name in the generated #include statement (if one is
+generated).
+<tr bgcolor="#f0f0f0">
+<td valign="top">-q <em>path</em>
+<td valign="top">Makes the moc prepend <em>path</em>/ to
+the file name of qt #include files in the generated code.
+</table></center>
+<p> You can explicitly tell the moc not to parse parts of a header
+file. It recognizes any C++ comment (//) that contains the substrings
+MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you
+can have several levels of them. The net result as seen by the moc is
+as if you had removed all lines between a MOC_SKIP_BEGIN and a
+MOC_SKIP_END.
+<p> <h2> Diagnostics
+</h2>
+<a name="4"></a><p> The moc will warn you about a number of dangerous or illegal
+constructs in the Q_OBJECT class declarations.
+<p> If you get linkage errors in the final building phase of your
+program, saying that YourClass::className() is undefined or that
+YourClass lacks a vtbl, something has been done wrong. Most often,
+you have forgotten to compile or #include the moc-generated C++ code, or
+(in the former case) include that object file in the link command.
+<p> <h2> Limitations
+</h2>
+<a name="5"></a><p> The moc does not expand #include or #define, it simply skips any
+preprocessor directives it encounters. This is regrettable, but is
+not usually a problem in practice.
+<p> The moc does not handle all of C++. The main problem is that class
+templates cannot have signals or slots. Here is an example:
+<p> <pre>
+ class SomeTemplate&lt;int&gt; : public <a href="qframe.html">QFrame</a> {
+ Q_OBJECT
+ ...
+ signals:
+ void bugInMocDetected( int );
+ };
+</pre>
+
+<p> Less importantly, the following constructs are illegal. All of them
+have alternatives which we think are usually better, so removing these
+limitations is not a high priority for us.
+<p> <h3> Multiple inheritance requires <a href="qobject.html">QObject</a> to be first
+</h3>
+<a name="5-1"></a><p> If you are using multiple inheritance, moc assumes that the <em>first</em>
+inherited class is a subclass of QObject. Also, be sure that <em>only</em>
+the first inherited class is a QObject.
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a>, public OtherClass {
+ ...
+ };
+</pre>
+
+<p> (This limitation is almost impossible to remove; since the moc does not expand
+#include or #define, it cannot find out which one of the base classes
+is a QObject.)
+<p> <h3> Function pointers cannot be arguments to signals or slots
+</h3>
+<a name="5-2"></a><p> In most cases where you would consider using function pointers as
+signal/slot arguments, we think inheritance is a better alternative.
+Here is an example of illegal syntax:
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ ...
+ public slots:
+ // illegal
+ void apply( void (*apply)(List *, void *), char * );
+ };
+</pre>
+
+<p> You can work around this restriction like this:
+<pre>
+ typedef void (*ApplyFunctionType)( List *, void * );
+
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ ...
+ public slots:
+ void apply( ApplyFunctionType, char * );
+ };
+</pre>
+
+<p> It may sometimes be even better to replace the function pointer with
+inheritance and virtual functions, signals or slots.
+<p> <h3> Friend declarations cannot be placed in signals or slots sections
+</h3>
+<a name="5-3"></a><p> Sometimes it will work, but in general, friend declarations cannot be
+placed in signals or slots sections. Put them in the private,
+protected or public sections instead. Here is an example of the
+illegal syntax:
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ ...
+ signals:
+ friend class ClassTemplate&lt;char&gt;; // WRONG
+ };
+</pre>
+
+<p> <h3> Signals and slots cannot be upgraded
+</h3>
+<a name="5-4"></a><p> The C++ feature of upgrading an inherited member function to
+public status is not extended to cover signals and slots. Here is an
+illegal example:
+<p> <pre>
+ class Whatever : public <a href="qbuttongroup.html">QButtonGroup</a> {
+ ...
+ public slots:
+ <a href="qbuttongroup.html">QButtonGroup</a>::buttonPressed; // WRONG
+ ...
+ };
+</pre>
+
+<p> The QButtonGroup::buttonPressed() slot is protected.
+<p> C++ quiz: What happens if you try to upgrade a protected member
+function which is overloaded?
+<ol type=1>
+<li> All the functions are overloaded.
+<li> That is not legal C++.
+</ol>
+<p>
+<p> <h3> Type macros cannot be used for signal and slot parameters
+</h3>
+<a name="5-5"></a><p> Since the moc does not expand #define, type macros that take an argument
+will not work in signals and slots. Here is an illegal example:
+<p> <pre>
+ #ifdef ultrix
+ #define SIGNEDNESS(a) unsigned a
+ #else
+ #define SIGNEDNESS(a) a
+ #endif
+
+ class Whatever : public <a href="qobject.html">QObject</a> {
+ ...
+ signals:
+ void someSignal( SIGNEDNESS(int) );
+ ...
+ };
+</pre>
+
+<p> A #define without parameters will work as expected.
+<p> <h3> Nested classes cannot be in the signals or slots sections nor have
+signals or slots
+</h3>
+<a name="5-6"></a><p> Here's an example:
+<p> <pre>
+ class A {
+ Q_OBJECT
+ public:
+ class B {
+ public slots: // WRONG
+ void b();
+ ...
+ };
+ signals:
+ class B { // WRONG
+ void b();
+ ...
+ }:
+ };
+</pre>
+
+<p> <h3> Constructors cannot be used in signals or slots sections
+</h3>
+<a name="5-7"></a><p> It is a mystery to us why anyone would put a constructor in
+either the signals or slots sections. You can't anyway (except
+that it happens to work in some cases). Put them in private,
+protected or public sections, where they belong. Here is an example
+of the illegal syntax:
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ public slots:
+ SomeClass( <a href="qobject.html">QObject</a> *parent, const char *name )
+ : <a href="qobject.html">QObject</a>( parent, name ) { } // WRONG
+ ...
+ };
+</pre>
+
+<p> <h3> Properties need to be declared before the public section that
+contains the respective get and set functions
+</h3>
+<a name="5-8"></a><p> Declaring the first property within or after the public section that
+contains the type definition and the respective get and set functions
+does not work as expected. The moc will complain that it can neither
+find the functions nor resolve the type. Here is an example of the
+illegal syntax:
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ public:
+ ...
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority ) // WRONG
+ Q_ENUMS( Priority ) // WRONG
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+ };
+</pre>
+
+<p> Work around this limitation by declaring all properties at the
+beginning of the class declaration, right after Q_OBJECT:
+<p> <pre>
+ class SomeClass : public <a href="qobject.html">QObject</a> {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ ...
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+ };
+</pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/modules.html b/doc/html/modules.html
new file mode 100644
index 0000000..0d996b6
--- /dev/null
+++ b/doc/html/modules.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/modules.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About Modules</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>About Modules</h1>
+
+
+
+<p> When you install Qt, certain modules are built into the library. For
+the Qt Enterprise Edition, Qt Evaluation Edition and Qt Open Source Edition
+this is all modules. For Qt Professional Edition, the base modules
+are available: the <em>tools</em>, <em>kernel</em>, <em>widgets</em>, <em>dialog</em>,
+<em>iconview</em>, and <em>workspace</em> modules. Trolltech does not currently
+offer modules for sale individually.
+<p> All modules may be used only under the terms of the licenses associated
+with each Edition.
+<p> <ul>
+<li> <a href="canvas.html">Canvas Module</a>
+<li> <a href="iconview.html">IconView Module</a>
+<li> <a href="network.html">Network Module</a>
+<li> <a href="opengl.html">OpenGL Module</a>
+<li> <a href="sql.html">SQL Module</a>
+<li> <a href="table.html">Table Module</a>
+<li> <a href="workspace.html">Workspace (MDI) Module</a>
+<li> <a href="xml.html">XML Module</a>
+<li> <a href="activeqt.html">ActiveQt Framework</a>:
+<ul>
+<li> <a href="qaxserver.html">QAxServer Module</a>
+<li> <a href="qaxcontainer.html">QAxContainer Module</a>
+</ul>
+<li> <a href="motif-extension.html">QMotif Extension</a>
+<li> <a href="netscape-plugin.html">Netscape Plugin Extension</a>
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-customwidget-example.html b/doc/html/motif-customwidget-example.html
new file mode 100644
index 0000000..9388a87
--- /dev/null
+++ b/doc/html/motif-customwidget-example.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/examples/customwidget/customwidget.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using the Motif Event Loop</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using the Motif Event Loop</h1>
+
+
+<p>
+<p>
+<p> <hr>
+<p> Header
+<p> <pre>#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+
+class QMotifWidget;
+
+class MainWindow : public <a href="qmainwindow.html">QMainWindow</a>
+{
+public:
+ MainWindow();
+
+private:
+ <a href="qmotifwidget.html">QMotifWidget</a> *customwidget;
+};
+
+#endif // MAINWINDOW_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>#include "mainwindow.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmotif-h.html">qmotif.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ XtSetLanguageProc( NULL, NULL, NULL );
+
+ <a href="qmotif.html">QMotif</a> integrator( "customwidget" );
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ MainWindow mainwindow;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;mainwindow );
+ mainwindow.<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <pre>#include "mainwindow.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+
+#include &lt;<a href="qmotifwidget-h.html">qmotifwidget.h</a>&gt;
+
+#include &lt;Xm/Form.h&gt;
+#include &lt;Xm/PushB.h&gt;
+#include &lt;Xm/Text.h&gt;
+
+
+<a name="f563"></a>MainWindow::MainWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "mainwindow" )
+{
+ <a href="qpopupmenu.html">QPopupMenu</a> *filemenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ filemenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>("&amp;Quit"), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( <a href="qobject.html#tr">tr</a>("&amp;File"), filemenu );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( <a href="qobject.html#tr">tr</a>("This is a QMainWindow with an XmText widget.") );
+
+ customwidget =
+ new <a href="qmotifwidget.html">QMotifWidget</a>( this, xmFormWidgetClass, NULL, 0, "form" );
+
+ XmString str;
+ Arg args[6];
+
+ str = XmStringCreateLocalized( "Push Button (XmPushButton)" );
+ XtSetArg( args[0], XmNlabelString, str );
+ XtSetArg( args[1], XmNleftAttachment, XmATTACH_FORM );
+ XtSetArg( args[2], XmNrightAttachment, XmATTACH_FORM );
+ XtSetArg( args[3], XmNbottomAttachment, XmATTACH_FORM );
+ Widget button =
+ XmCreatePushButton( customwidget-&gt;motifWidget(), "Push Button", args, 4 );
+ XmStringFree( str );
+
+ XtSetArg( args[0], XmNeditMode, XmMULTI_LINE_EDIT );
+ XtSetArg( args[1], XmNleftAttachment, XmATTACH_FORM );
+ XtSetArg( args[2], XmNrightAttachment, XmATTACH_FORM );
+ XtSetArg( args[3], XmNtopAttachment, XmATTACH_FORM );
+ XtSetArg( args[4], XmNbottomAttachment, XmATTACH_WIDGET );
+ XtSetArg( args[5], XmNbottomWidget, button );
+ Widget texteditor =
+ XmCreateScrolledText( customwidget-&gt;motifWidget(), "Text Editor", args, 6 );
+
+ XtManageChild( texteditor );
+ XtManageChild( button );
+
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( customwidget );
+
+ <a href="qwidget.html#resize">resize</a>( 400, 600 );
+}
+
+</pre>
+
+<p> <p>See also <a href="motif-examples.html">QMotif Support Extension</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-dialog-example.html b/doc/html/motif-dialog-example.html
new file mode 100644
index 0000000..238058c
--- /dev/null
+++ b/doc/html/motif-dialog-example.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/examples/dialog/dialog.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Motif Dialog</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Motif Dialog</h1>
+
+
+<p>
+<p>
+<p> <hr>
+<p> Header
+<p> <pre>#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include &lt;<a href="qmotifwidget-h.html">qmotifwidget.h</a>&gt;
+
+
+class MainWindow : public <a href="qmotifwidget.html">QMotifWidget</a>
+{
+public:
+ MainWindow();
+
+ void showMotifDialog();
+ void showQtDialog();
+};
+
+#endif // MAINWINDOW_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmotif-h.html">qmotif.h</a>&gt;
+
+#include "mainwindow.h"
+
+
+int main( int argc, char **argv )
+{
+ XtSetLanguageProc( NULL, NULL, NULL );
+
+ <a href="qmotif.html">QMotif</a> integrator( "dialog" );
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ MainWindow *mainwindow = new MainWindow;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( mainwindow );
+ mainwindow-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <pre>#include "mainwindow.h"
+#include "dialog.h"
+
+#include &lt;Xm/MainW.h&gt;
+#include &lt;Xm/RowColumn.h&gt;
+#include &lt;Xm/CascadeB.h&gt;
+#include &lt;Xm/PushB.h&gt;
+#include &lt;Xm/PushBG.h&gt;
+#include &lt;Xm/SeparatoG.h&gt;
+#include &lt;Xm/Text.h&gt;
+#include &lt;Xm/MessageB.h&gt;
+#include &lt;Xm/Form.h&gt;
+#include &lt;Xm/LabelG.h&gt;
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+static void motifDialogCallback( Widget, XtPointer client_data, XtPointer )
+{
+ MainWindow *mw = (MainWindow *) client_data;
+ mw-&gt;showMotifDialog();
+}
+
+static void qtDialogCallback( Widget, XtPointer client_data, XtPointer )
+{
+ MainWindow *mw = (MainWindow *) client_data;
+ mw-&gt;showQtDialog();
+}
+
+static void quitCallback( Widget, XtPointer client_data, XtPointer )
+{
+ MainWindow *mw = (MainWindow *) client_data;
+<a name="x2708"></a> mw-&gt;<a href="qwidget.html#close">close</a>();
+}
+
+
+<a name="f560"></a>MainWindow::MainWindow()
+ : <a href="qmotifwidget.html">QMotifWidget</a>( 0, xmMainWindowWidgetClass, NULL, 0, "mainwindow" )
+{
+ Widget menubar = XmCreateMenuBar( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "menubar", NULL, 0 );
+ Widget filemenu = XmCreatePulldownMenu( menubar, "filemenu", NULL, 0 );
+ Widget item;
+
+ item = XtVaCreateManagedWidget( "Motif Dialog...",
+ xmPushButtonGadgetClass, filemenu,
+ XmNmnemonic, 'C',
+ NULL );
+ XtAddCallback( item, XmNactivateCallback, motifDialogCallback, this );
+
+ item = XtVaCreateManagedWidget( "Qt Dialog...",
+ xmPushButtonGadgetClass, filemenu,
+ XmNmnemonic, 'Q',
+ NULL );
+ XtAddCallback( item, XmNactivateCallback, qtDialogCallback, this );
+
+ item = XtVaCreateManagedWidget( "sep",
+ xmSeparatorGadgetClass, filemenu,
+ NULL );
+
+ item = XtVaCreateManagedWidget( "Exit",
+ xmPushButtonGadgetClass, filemenu,
+ XmNmnemonic, 'x',
+ NULL );
+ XtAddCallback( item, XmNactivateCallback, quitCallback, this );
+
+ XmString str = XmStringCreateLocalized( "File" );
+ item = XtVaCreateManagedWidget( "File",
+ xmCascadeButtonWidgetClass, menubar,
+ XmNlabelString, str,
+ XmNmnemonic, 'F',
+ XmNsubMenuId, filemenu,
+ NULL );
+ XmStringFree( str );
+
+ Arg args[2];
+ XtSetArg( args[0], XmNeditMode, XmMULTI_LINE_EDIT );
+ Widget texteditor =
+ XmCreateScrolledText( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "texteditor",
+ args, 1 );
+
+ XtManageChild( menubar );
+ XtManageChild( texteditor );
+
+ // pick a nice default size
+ XtVaSetValues( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(),
+ XmNwidth, 400,
+ XmNheight, 300,
+ NULL );
+
+ <a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>("QMotif Dialog Example") );
+
+}
+
+void <a name="f561"></a>MainWindow::showMotifDialog()
+{
+ <a href="qmotifdialog.html">QMotifDialog</a> dialog( this, "custom dialog", TRUE );
+ dialog.<a href="qwidget.html#setCaption">setCaption</a>( <a href="qobject.html#tr">tr</a>("Custom <a href="motif-extension.html#Motif">Motif</a> Dialog") );
+
+<a name="x2707"></a> Widget form = XmCreateForm( dialog.<a href="qmotifdialog.html#shell">shell</a>(), "custom motif dialog", NULL, 0 );
+
+ XmString str;
+ Arg args[9];
+
+ str = XmStringCreateLocalized( "Close" );
+ XtSetArg( args[0], XmNlabelString, str );
+ XtSetArg( args[1], XmNshowAsDefault, True );
+ XtSetArg( args[2], XmNleftAttachment, XmATTACH_POSITION );
+ XtSetArg( args[3], XmNleftPosition, 40 );
+ XtSetArg( args[4], XmNrightAttachment, XmATTACH_POSITION );
+ XtSetArg( args[5], XmNrightPosition, 60 );
+ XtSetArg( args[7], XmNbottomAttachment, XmATTACH_FORM );
+ XtSetArg( args[6], XmNtopOffset, 10 );
+ XtSetArg( args[8], XmNbottomOffset, 10 );
+ Widget button = XmCreatePushButton( form, "Close", args, 9 );
+ XmStringFree( str );
+
+ str =
+ XmStringCreateLocalized( "This is a custom Motif-based dialog using\n"
+ "QMotifDialog with a QWidget-based parent." );
+ XtSetArg( args[0], XmNlabelString, str );
+ XtSetArg( args[1], XmNleftAttachment, XmATTACH_FORM );
+ XtSetArg( args[2], XmNrightAttachment, XmATTACH_FORM );
+ XtSetArg( args[3], XmNtopAttachment, XmATTACH_FORM );
+ XtSetArg( args[4], XmNbottomAttachment, XmATTACH_WIDGET );
+ XtSetArg( args[5], XmNbottomWidget, button );
+ XtSetArg( args[6], XmNtopOffset, 10 );
+ XtSetArg( args[7], XmNbottomOffset, 10 );
+ Widget label = XmCreateLabelGadget( form, "label", args, 8 );
+ XmStringFree( str );
+
+ XtManageChild( button );
+ XtManageChild( label );
+ XtManageChild( form );
+
+ XtAddCallback( button, XmNactivateCallback,
+ (XtCallbackProc) QMotifDialog::acceptCallback, &amp;dialog );
+
+<a name="x2706"></a> dialog.<a href="qdialog.html#exec">exec</a>();
+}
+
+void <a name="f562"></a>MainWindow::showQtDialog()
+{
+ // custom Qt-based dialog using a Motif-based parent
+ CustomDialog customdialog( <a href="qmotifwidget.html#motifWidget">motifWidget</a>(), "custom dialog", TRUE );
+ customdialog.<a href="qdialog.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="motif-examples.html">QMotif Support Extension</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-examples.html b/doc/html/motif-examples.html
new file mode 100644
index 0000000..40a73e9
--- /dev/null
+++ b/doc/html/motif-examples.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:471 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotif Support Extension</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotif Support Extension</h1>
+
+
+<p> The following example programs illustrate the use of the <a href="qmotif.html">QMotif</a> Extension
+assisting in the migration process of old Xt and <a href="motif-extension.html#Motif">Motif</a> based code
+to the more comfortable Qt toolkit.
+<p> For more information see the <a href="motif-extension.html">QMotif
+Support Extension documentation.</a>
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="motif-customwidget-example.html">Using the Motif Event Loop</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="motif-dialog-example.html">A Motif Dialog</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-extension.html b/doc/html/motif-extension.html
new file mode 100644
index 0000000..8f35018
--- /dev/null
+++ b/doc/html/motif-extension.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/index.doc:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Motif Extension</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Motif Extension</h1>
+
+
+<p> <!-- index Motif --><a name="Motif"></a>
+<p> This module is part of the <a href="commercialeditions.html">Qt Enterprise
+Edition</a> and is <em>not</em> part of the Free or Non-Commercial
+Editions.
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> The Qt Motif Extension assists the migration of old Xt and Motif based
+applications to the more comfortable Qt toolkit. This extension
+replaces the older Xt/Motif Support Extension included with earlier
+versions of Qt.
+<p> The Qt Motif Extension consists of the following classes:
+<p> <ul>
+<li> <a href="qmotif.html">QMotif</a> - Provides the basis of the Qt Motif Extension.
+<li> <a href="qmotifwidget.html">QMotifWidget</a> - Provides the <a href="qwidget.html">QWidget</a> API for Motif widgets.
+<li> <a href="qmotifdialog.html">QMotifDialog</a> - Provides the <a href="qdialog.html">QDialog</a> API for Motif dialogs.
+<li> <a href="qxtwidget.html">QXtWidget</a> - The Xt/Motif integration widget from the previous
+Xt/Motif extension. This class is unsupported and has many known
+problems and limitations. It is provided only to keep existing source
+working; it should not be used in new code.
+</ul>
+<p> <h3> Additional Documentation
+</h3>
+<a name="1-1"></a><p> <ul>
+<p> <li> <a href="motif-examples.html">Examples</a>
+<li> <a href="motif-walkthrough.html">Migration Walkthrough</a> - A
+complete migration of a Motif based program to the Qt toolkit.
+<p> </ul>
+<p> <h2> Common Problems
+</h2>
+<a name="2"></a><p> <h3> Incorrect CDE Color Scheme
+</h3>
+<a name="2-1"></a><p> <a href="qmotifwidget.html">QMotifWidget</a> and <a href="qmotifdialog.html">QMotifDialog</a> will use the same Visual, Colormap
+and color depth that <a href="qapplication.html">QApplication</a> uses. When using CDE, the color
+scheme may be incorrect when using a Visual, Colormap and color depth
+that is not the default. To work around this problem, add the
+following resource string to your startup files (for example,
+<tt>$HOME/.dt/sessions/current/dt.resources</tt>):
+<p> <pre>
+ *userColorObj: false
+</pre>
+
+<p> <h3> X11 Header Conflicts
+</h3>
+<a name="2-2"></a><p> The X11 headers define some constants that conflict with the Qt
+headers. The solution is to include all Qt headers first, followed by
+headers from this extension, and all Xt/Motif and X11 headers last.
+For example:
+<p> <pre>
+ // Qt headers first
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+ #include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+ ...
+
+ // QMotif* headers next
+ #include &lt;<a href="qmotif-h.html">qmotif.h</a>&gt;
+ #include &lt;<a href="qmotifdialog-h.html">qmotifdialog.h</a>&gt;
+ #include &lt;<a href="qmotifwidget-h.html">qmotifwidget.h</a>&gt;
+
+ // Xt/Motif and X11 headers last
+ #include &lt;X11/Xlib.h&gt;
+ #include &lt;Xt/Intrinsic.h&gt;
+ #include &lt;Xm/Xm.h&gt;
+ ...
+</pre>
+
+<p> <h3> Multiple Screen Support
+</h3>
+<a name="2-3"></a><p> <a href="qmotifwidget.html">QMotifWidget</a> can be used together with <a href="qdesktopwidget.html">QDesktopWidget</a> to create
+top-level windows on multiple screens. A common mistake is to create
+a QMotifWidget on a non-default screen while the Xt/Motif widgets are
+created on the default screen. The solution is to specify the screen
+to both QMotifWidget and the Xt/Motif child. For example:
+<p> <pre>
+ Display *dpy = QMotif::<a href="qmotif.html#x11Display">x11Display</a>();
+ Arg args[1];
+
+ // make sure both QMotifWidget and the XmMainWindow are on screen 1
+ XtSetArg(args[0], XtNscreen, ScreenOfDisplay(dpy, 1));
+ <a href="qmotifwidget.html">QMotifWidget</a> *toplevel =
+ new <a href="qmotifwidget.html">QMotifWidget</a>(QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;screen(1),
+ xmMainWindowWidgetClass, args, 1, "mainwindow");
+</pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-todo.png b/doc/html/motif-todo.png
new file mode 100644
index 0000000..fb63130
--- /dev/null
+++ b/doc/html/motif-todo.png
Binary files differ
diff --git a/doc/html/motif-walkthrough-1.html b/doc/html/motif-walkthrough-1.html
new file mode 100644
index 0000000..f320757
--- /dev/null
+++ b/doc/html/motif-walkthrough-1.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:147 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Getting Started</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Getting Started</h1>
+
+
+
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-2.html">Next: Preparing to Migrate the User Interface</a> ]
+<p> <h2> Starting with <a href="qmotif.html">QMotif</a> and <a href="qapplication.html">QApplication</a>
+</h2>
+<a name="1"></a><p> To be able to use Qt, we need to create a QApplication object. The
+QApplication class controls all the event delivery and display
+management for all other Qt objects and widgets. We need to use the
+QMotif class from the <em>Qt <a href="motif-extension.html#Motif">Motif</a> Extension</em> to allow QApplication
+and the <tt>XtAppContext</tt> to coexist.
+<p> The QApplication object must be created in the <tt>main()</tt> function.
+We will need to modify <tt>todo.c</tt> to compile with a C++ compiler, so we
+rename <tt>todo.c</tt> to <tt>todo.cpp</tt>.
+<p> Next, we add the appropriate includes for the QMotif and QApplication
+classes.
+<p>
+
+<pre></pre>
+<p> Next, we create the QMotif and QApplication objects. We create QMotif
+with a foreign <tt>XtAppContext</tt>, and we create QApplication with a
+foreign <tt>Display</tt>.
+<p> <pre></pre>
+<p> The next change is not yet necessary, but it is included to show that
+the <em>Qt Motif Extension</em> provides a complete integration.
+Normally, a Motif based program would use the <tt>XtAppMainLoop()</tt>
+function to run the application's event loop. This is still possible,
+but since we are migrating to the Qt toolkit, we prefer to use the
+<a href="qapplication.html#exec">QApplication::exec</a>() function for running the event loop.
+<p> <pre></pre>
+<p> Since we renamed <tt>todo.c</tt> to <tt>todo.cpp</tt>, we must change the
+project file and rerun <em>qmake</em> to regenerate our <tt>Makefile</tt>. When we
+build our project, there are compile and link errors: we will fix
+these in the following section.
+<p> <h2> Migrating to C++
+</h2>
+<a name="2"></a><p> We need to convert the code in this file to proper C++ code.
+Fortunately, the changes are not too large. Most files included from
+existing C projects are not C++ compatible, so we make them compatible
+by wrapping them in an <tt>extern "C"</tt> block.
+<p>
+
+<p> <pre></pre>
+<p> Global C functions that are forward declared must also be wrapped into
+an <tt>extern "C"</tt> block.
+<p> <pre></pre>
+<p> The <tt>manageCB()</tt> function needs to be converted to proper C++.
+<p> <pre></pre>
+<p> And we need to fix two invalid casts. One is in the <tt>Save()</tt> function.
+<p> <pre></pre>
+<p> The other invalid cast is in the <tt>Open()</tt> function.
+<p> <pre></pre>
+<p> After these changes, the project compiles and links, and the
+application runs and operates correctly.
+<p> [ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-2.html">Next: Preparing to Migrate the User Interface</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-10.html b/doc/html/motif-walkthrough-10.html
new file mode 100644
index 0000000..df73975
--- /dev/null
+++ b/doc/html/motif-walkthrough-10.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:1579 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Continuing Development</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Continuing Development</h1>
+
+
+
+[ <a href="motif-walkthrough-9.html">Previous: Replacing the Print Dialog</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+<p> We have not quite finished with the migration to Qt, even though our
+project does not use <a href="motif-extension.html#Motif">Motif</a> any more. Qt provides many useful features
+that we can begin using immediately. Some of the most interesting
+ones are presented below as a guide for where to start extending your
+existing projects.
+<p> <h2> Using Unicode
+</h2>
+<a name="1"></a><p> Support for <a href="i18n.html">internationalization</a> is very easy
+with Qt. Using <a href="qstring.html">QString</a> instead of <tt>char*</tt> for storing text gives
+us support for most of the written languages around the world. Our <tt>Page</tt> and <tt>Options</tt> structs look much simpler now.
+<p>
+
+<p> <pre></pre>
+<p> <pre></pre>
+<p> All functions that use the <tt>Page</tt> and <tt>Options</tt> structs need to be
+updated to use QString properly. Since QString is also an <a href="shclass.html#implicitly-shared">implicitly shared</a> class, we no longer have to do any memory management with our
+strings. We can remove all occurences of the <a href="qcstring.html#qstrdup">qstrdup</a>() function,
+and we never need to use <em>new</em> or <em>delete</em> when done with a string.
+QString will allocate and delete data when needed.
+<p> Here are the <tt>MainWindow::fileOpen()</tt> and <tt>MainWindow::pageChange()</tt>
+functions from <tt>mainwindow.ui.h</tt>. Notice that the code no longer
+uses <em>delete</em> or <a href="qcstring.html#qstrdup">qstrdup</a>() when storing text.
+<p>
+
+<p> <pre></pre>
+<p> <pre>
+ ...
+</pre>
+
+<p> <pre></pre>
+<p> Almost all of the functions in our application are affected by this
+change. In most cases, we end up removing more code than we are
+adding. To keep the size of this walkthrough reasonable, we've only
+shown a small portion of the required changes, since the changes are
+very similar to those shown above.
+<p> <h2> Writing Platform-Independent Code
+</h2>
+<a name="2"></a><p> Qt provides many <a href="io.html">input and output</a> classes. We
+can use these in <tt>MainWindow::readDB()</tt> and <tt>MainWindow::saveDB()</tt>.
+Currently, these functions use functions only found on UNIX machines.
+Using <a href="qfile.html">QFile</a> and <a href="qtextstream.html">QTextStream</a> removes this dependency on UNIX, and we can
+begin building and testing our application on Microsoft Windows and
+Apple Mac OS X.
+<p> The platform-independent versions of the <tt>MainWindow::readDB()</tt> and
+<tt>MainWindow::saveDB()</tt> functions can be found in the <tt>io.cpp</tt> file.
+<p> <h2> Designing a Modern User Interface
+</h2>
+<a name="3"></a><p> Since we used the <em>Qt Designer</em> to design the <em>Main Window</em>
+widget, we can extend the interface easily. We can use some of the
+more advanced features of <a href="qmainwindow.html">QMainWindow</a>, which includes dockable
+toolbars. Adding these is simple with the <em>Qt Designer</em>. The
+final version of our project includes a toolbar, which provides quick
+access to the <em>Open</em>, <em>Save</em>, <em>Print</em>, <em>New Page</em> and <em>Delete to Trash</em> actions.
+<p> The possibilities are endless. An <em>Edit</em> menu, with the common <em>Cut</em>, <em>Copy</em> and <em>Paste</em> actions, could be added in a relatively
+short period of time. As our project expands to other platforms, we
+could add menus and dialogs that allow us synchronize todo lists
+between a normal desktop computer and a handheld device running with
+Qt/Embedded.
+<p> [ <a href="motif-walkthrough-9.html">Previous: Replacing the Print Dialog</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-2.html b/doc/html/motif-walkthrough-2.html
new file mode 100644
index 0000000..59b1151
--- /dev/null
+++ b/doc/html/motif-walkthrough-2.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:243 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Preparing to Migrate the User Interface</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Preparing to Migrate the User Interface</h1>
+
+
+
+[ <a href="motif-walkthrough-1.html">Previous: Getting Started</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-3.html">Next: Using Qt Standard Dialogs</a> ]
+<p> We are ready to start migrating the user interface for our project.
+As mentioned in the introduction, we do this in steps, ensuring that
+our application is still usable at every step of the migration process.
+<p> The user interface can be viewed as a hierarchy; each top-level window
+and dialog depends upon a parent (which is another top-level window or
+dialog). When using <a href="motif-extension.html#Motif">Motif</a> <tt>XmMainWindow</tt> widgets, these should be
+viewed as two separate entities: the <em>Main Window</em> widget with the
+popup-menu hierarchy and the <em>View</em> widget contained in the <em>Main Window</em> widget. The <em>View</em> widget depends on the <em>Main Window</em>
+widget.
+<p> We begin migrating the pieces that have no dependencies, and work our
+way up the dependency tree until all the pieces have been migrated.
+<p> The hierarchy for this project looks something like this:
+<p> <center><img src="motif-todo.png" alt="Motif Todo Hierarchy"></center>
+<p> We will begin by migrating and replacing all of the dialogs, then the
+<em>Main Window</em> widget with popup-menu hierarchy, and finally the <em>View</em> widget.
+<p> However, we are not ready to begin just yet. The migration process can
+be long, but it does not have to be difficult. The <em>Open</em>, <em>Save As</em>, <em>Page Delete</em> and <em>IO Error</em> dialogs use Motif <tt>XmFileSelectionBox</tt> and <tt>XmMessageBox</tt> dialogs. Qt provides similar
+functionality with <a href="qfiledialog.html">QFileDialog</a> and <a href="qmessagebox.html">QMessageBox</a>, which we can begin
+using immediately.
+<p> The <em>Print</em> dialog is special, however. The <em>Print</em> dialog cannot be
+replaced until after we have replaced the <em>View</em> widget. Qt provides
+a complete printing mechanism with <a href="qprinter.html">QPrinter</a>, but we cannot start using
+it until we have replaced the <em>View</em> widget.
+<p> <h2> Removing the <em>Help</em> Dialog
+</h2>
+<a name="1"></a><p> The <em>Help</em> dialog is also special. Instead of replacing the <em>Help</em>
+dialog with a custom <a href="qdialog.html">QDialog</a>, we will use the <a href="helpsystem.html">Qt
+Help System</a> classes to provide a more advanced online help.
+However, we cannot start using classes like <a href="qtooltip.html">QToolTip</a> and <a href="qwhatsthis.html">QWhatsThis</a>
+until we replace the <em>Main Window</em> and <em>View</em> widgets.
+<p> The help text included with the original project is very small and
+only contains information about the <tt>XmNoteBook</tt> widget. The use of
+tooltips and whats-this text will suffice for this example. If your
+migration project has a large online <a href="helpsystem.html#help-system">help system</a>, we recommend looking
+at the <a href="helpviewer-example.html">Simple HTML Help Browser</a>
+example for information on how to build an rich text help system with
+hypertext navigation and full printing capabilities, or using <a href="assistant.html">Qt Assistant</a>.
+<p> Removing the existing <em>Help</em> dialog is relatively simple. We remove
+the <tt>Xmd/Help.h</tt>, <tt>Xmd/HelpP.h</tt> and <tt>Xmd/Help.c</tt> files from our
+project file and regenerate our <tt>Makefile</tt>.
+<p> The code to create the <em>Help</em> menu and <em>Help</em> dialog is in <tt>todo.cpp</tt>. We remove the <tt>Xmd/Help.h</tt> include, the <tt>*help_manager</tt>
+resource string, the <tt>help_cb()</tt> function forward declaration and the
+<tt>help_widget</tt> global variable. We also need to remove the code that
+creates the <em>Help</em> dialog. We will also remove the code to create
+the <em>Help</em> menu, since this menu is now empty. Finally, we remove
+the <tt>help_cb()</tt> function implementation.
+<p> The <em>Help</em> dialog is now removed from our project. We cannot add
+<a href="qtooltip.html">QToolTip</a> and <a href="qwhatsthis.html">QWhatsThis</a> help at the moment, since we are still using
+<tt>XmMainWindow</tt> for the <em>Main Window</em> widget. Once we have
+migrated the <em>Main Window</em> and the popup-menu hierarchy, we can
+begin using QToolTip and QWhatsThis for online help.
+<p> [ <a href="motif-walkthrough-1.html">Previous: Getting Started</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-3.html">Next: Using Qt Standard Dialogs</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-3.html b/doc/html/motif-walkthrough-3.html
new file mode 100644
index 0000000..2d250eb
--- /dev/null
+++ b/doc/html/motif-walkthrough-3.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:334 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Qt Standard Dialogs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using Qt Standard Dialogs</h1>
+
+
+
+[ <a href="motif-walkthrough-2.html">Previous: Preparing to Migrate the User Interface</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-4.html">Next: Using Custom QDialogs</a> ]
+<p> We start by using two of the <a href="dialogs.html">Qt Standard
+Dialogs</a>: <a href="qfiledialog.html">QFileDialog</a> and <a href="qmessagebox.html">QMessageBox</a>. Both of these classes
+provide useful static convenience functions.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">QFileDialog::getOpenFileName() <td valign="top">replacement for the <em>Open</em> dialog
+<tr bgcolor="#d0d0d0"> <td valign="top">QFileDialog::getSaveFileName() <td valign="top">replacement for the <em>Save As</em> dialog
+<tr bgcolor="#f0f0f0"> <td valign="top">QMessageBox::information() <td valign="top">replacement for <em>Page Delete</em> dialog
+<tr bgcolor="#d0d0d0"> <td valign="top">QMessageBox::warning() <td valign="top">replacement for <em>IO Error</em> dialog.
+</table></center>
+<p> Each of these functions takes a <em>QWidget *parent</em> argument. If we
+pass zero as the <em>parent</em> argument, then we will have dialogs that
+are centered on the screen, instead of being centered over our main
+window. We can have <a href="qmotifwidget.html">QMotifWidget</a> create our <tt>XmMainWindow</tt>, and we
+can then use this class as the parent for both <a href="motif-extension.html#Motif">Motif</a> dialogs and Qt
+dialogs.
+<p> We need to include the appropriate headers for QMotifWidget and
+<a href="qfiledialog.html">QFileDialog</a> in <tt>todo.cpp</tt>.
+<p>
+
+<pre></pre>
+<p> Next, we make a few modifications to how the application is
+initialized. We could initialize Xt/Motif and create the <tt>XtAppContext</tt> ourselves, but <a href="qmotif.html">QMotif</a> can do this for us.
+We also let <a href="qapplication.html">QApplication</a> open the connection to the X server. Next,
+we create a QMotifWidget, passing <tt>xmMainWindowWidgetClass</tt> as the <em>widgetclass</em> argument. We can now use the <a href="qmotifwidget.html#motifWidget">QMotifWidget::motifWidget</a>()
+function to access the Motif widget. The shell widget is created
+automatically by QMotifWidget. We use <tt>XtParent()</tt> to access it.
+The top-level window is now a QMotifWidget, which means we can use it
+as the parent for the Qt Standard Dialogs.
+<p> <pre></pre>
+<p> <h2> Replacing the <em>Open</em> and <em>Save As</em> Dialogs
+</h2>
+<a name="1"></a><p> First, we completely remove all use of the existing Motif file
+selection dialog. We remove the <tt>Xm/FileSB.h</tt> include, the global <tt>file_dialog</tt> variable, and the code to create the dialog. We also
+remove the <tt>PresentFDialog()</tt> callback function. None of this code
+is needed to use <a href="qfiledialog.html">QFileDialog</a>.
+<p> After removing the <tt>PresentFDialog()</tt> callback function, we need to
+make <em>Open</em> and <em>Save As</em> popup-menu callbacks call the <tt>Open()</tt>
+and <tt>Save()</tt> functions.
+<p> First we must change the declaration of these two functions.
+<p>
+
+<p> <pre></pre>
+<p> We also change the arguments to the callbacks. We pass the top-level
+<a href="qmotifwidget.html">QMotifWidget</a> as the <tt>client_data</tt> to these functions, since we will
+be using it as the parent for the QFileDialog.
+<p> <pre></pre>
+<p> <pre>
+ ...
+</pre>
+
+<p> <pre></pre>
+<p> Next, we modify the <tt>Save()</tt> function to use
+<a href="qfiledialog.html#getSaveFileName">QFileDialog::getSaveFileName</a>().
+<p> <pre></pre>
+<p> ... and the <tt>Open()</tt> function to use <a href="qfiledialog.html#getOpenFileName">QFileDialog::getOpenFileName</a>().
+<p> <pre></pre>
+<p> After we build the project, the application runs and operates as
+expected. The difference is that the <em>Open</em> and <em>Save As</em> dialogs
+now use <a href="qfiledialog.html">QFileDialog</a>.
+<p> <h2> Replacing the <em>Page Delete</em> and <em>IO Error</em> Dialogs
+</h2>
+<a name="2"></a><p> The <em>Page Delete</em> dialog is created and used in <tt>actions.c</tt>. We
+need to migrate this file to C++. We rename it to <tt>actions.cpp</tt>,
+modify the project file and regenerate the <tt>Makefile</tt>.
+<p> The changes required to make <tt>actions.cpp</tt> compile are minimal. We
+need to wrap more C header files and global variables in an <tt>extern "C"</tt> block.
+<p>
+
+<p> <pre></pre>
+<p> We need to forward declare the <tt>NewPage()</tt>, <tt>DeletePage()</tt>, <tt>EditPage()</tt> and <tt>SaveIt()</tt> functions so that the compiler generates
+the correct symbols for these functions.
+<p> <pre></pre>
+<p> We need to fix a single invalid pointer cast.
+<p> <pre></pre>
+<p> And we need to change the variable named <em>new</em> to <em>newstr</em> in the <tt>Trim()</tt> function.
+<p> We can now change the <tt>DeletePage()</tt> function to use
+<a href="qmessagebox.html#information">QMessageBox::information</a>().
+<p> First, we need to make sure we include the proper header for
+<a href="qmessagebox.html">QMessageBox</a>.
+<p>
+
+<pre></pre>
+<p> The code for <tt>DeletePage()</tt> looks like this:
+<p> <pre></pre>
+<p> At this point in the code, the page should be deleted. The code to do
+this is in the <tt>DoDeletePage()</tt> function. We move the contents of <tt>DoDeletePage()</tt> to this point and remove the <tt>DoDeletePage()</tt> function
+completely.
+<p> Next, we change <tt>todo.cpp</tt> to pass the top-level <a href="qmotifwidget.html">QMotifWidget</a> as the
+<tt>client_data</tt> tot he <tt>DeletePage()</tt> function.
+<p>
+
+<p> <pre></pre>
+<p> The <em>IO Error</em> dialog is created and used in <tt>io.c</tt>. We need to
+migrate this file to C++. We rename it to <tt>io.cpp</tt>, modify the
+project file and regenerate the <tt>Makefile</tt>.
+<p> The changes required to make <tt>io.cpp</tt> compile are minimal. We need
+to wrap more C header files and global variables in an <tt>extern "C"</tt>
+block.
+<p>
+
+<p> <pre></pre>
+<p> We need to forward declare the <tt>ReadDB()</tt> and <tt>SaveDB()</tt> functions
+so that the compiler generates the correct symbols for these
+functions.
+<p> <pre></pre>
+<p> The <tt>ParseNewLines()</tt> function needs to be converted to proper C++.
+<p> <pre></pre>
+<p> The <tt>PrintWithNewLines()</tt> function also needs to be converted to proper
+C++.
+<p> <pre></pre>
+<p> We can now change the <tt>ReadDB()</tt> and <tt>SaveDB()</tt> functions to use
+<a href="qmessagebox.html#warning">QMessageBox::warning</a>().
+<p> First, we need to make sure we include the proper header for <a href="qmessagebox.html">QMessageBox</a>.
+<p>
+
+<pre></pre>
+<p> The code for <tt>ReadDB()</tt> looks like this:
+<p> <pre></pre><pre>
+ ...
+</pre>
+
+<p> The code for <tt>SaveDB()</tt> looks like this:
+<p> <pre></pre><pre>
+ ...
+</pre>
+
+<p> After we build the project, the application runs and operates as
+expected. The difference is that the <em>Page Delete</em> and <em>IO Error</em> dialogs now use QMessageBox.
+<p> [ <a href="motif-walkthrough-2.html">Previous: Preparing to Migrate the User Interface</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-4.html">Next: Using Custom QDialogs</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-4.html b/doc/html/motif-walkthrough-4.html
new file mode 100644
index 0000000..699100c
--- /dev/null
+++ b/doc/html/motif-walkthrough-4.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:561 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Custom QDialogs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using Custom QDialogs</h1>
+
+
+
+[ <a href="motif-walkthrough-3.html">Previous: Using Qt Standard Dialogs</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-5.html">Next: Using Existing Dialogs with QMotifDialog</a> ]
+<p> After we have replaced the standard dialogs, we move onto the custom
+dialogs. This project has a single custom dialog: the <em>Page Edit</em>
+dialog.
+<p> Instead of writing the code ourselves, we use <a href="designer-manual.html">Qt Designer</a> to design our dialog.
+Designing a custom dialog is beyond the scope of
+this document: see the <a href="designer-manual.html">Qt Designer Manual</a> if you're unfamiliar
+with Qt's visual design tool.
+<p> <h2> Replacing the <em>Page Edit</em> Dialog
+</h2>
+<a name="1"></a><p> The custom <a href="qdialog.html">QDialog</a> description for the <em>Page Edit</em> dialog is saved
+as <tt>pageeditdialog.ui</tt>. We add this file to the project file by
+adding the line
+<pre>
+FORMS = pageeditdialog.ui
+</pre>
+
+to the <tt>.pro</tt> file, and regenerate the <tt>Makefile</tt>. The <em>uic</em>
+utility generates the code for our custom QDialog, which is then
+compiled and linked into our application. (<em>uic</em> is invoked
+automatically from makefiles generated from <tt>.pro</tt> files.)
+<p> We need to pass the top-level <a href="qmotifwidget.html">QMotifWidget</a> as the <em>client_data</em>
+argument to the <tt>EditPage</tt> function, which we will use as the parent
+for our new <tt>PageEditDialog</tt>. We do this the same way as we have
+done for the <em>Open</em> and <em>Save As</em> dialogs in <tt>todo.cpp</tt>.
+<p>
+
+<p> <pre></pre>
+<p> The <tt>EditPage()</tt> function is implemented in <tt>actions.cpp</tt>. We start
+by adding the includes needed for the <tt>PageEditDialog</tt> and <a href="qlineedit.html">QLineEdit</a>.
+<p>
+
+<p> <pre></pre>
+<p> In the <tt>EditPage()</tt> function, We create the <tt>PageEditDialog</tt>, set
+the initial values of the three QLineEdit widgets with values from the
+current page and execute the dialog.
+<p> <pre></pre><pre>
+ ...
+</pre>
+
+<p> At this point in the code, the page properties should be modified. The
+code to do this is in the <tt>DoEditPage()</tt> function. We move the
+contents of <tt>DoEditPage()</tt> to this point and remove the <tt>DoEditPage()</tt> function completely.
+<p> The <tt>Page</tt> struct defined in <tt>page.h</tt> stores strings in <tt>char*</tt>
+arrays. Since the PageEditDialog and the data it contains will be
+destroyed when we return from this function, we need to convert the
+unicode <a href="qstring.html">QString</a> data into a <a href="qcstring.html">QCString</a> in the local encoding and
+duplicate it with <a href="qcstring.html#qstrdup">qstrdup</a>().
+<p> <pre></pre>
+<p> The same process must be done for the minorTab text:
+<p> <pre></pre>
+<p> ... and for the majorTab text:
+<p> <pre></pre>
+<p> [ <a href="motif-walkthrough-3.html">Previous: Using Qt Standard Dialogs</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-5.html">Next: Using Existing Dialogs with QMotifDialog</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-5.html b/doc/html/motif-walkthrough-5.html
new file mode 100644
index 0000000..357fe93
--- /dev/null
+++ b/doc/html/motif-walkthrough-5.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:661 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Existing Dialogs with QMotifDialog</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using Existing Dialogs with QMotifDialog</h1>
+
+
+
+[ <a href="motif-walkthrough-4.html">Previous: Using Custom QDialogs</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-6.html">Next: Using Qt Main Window Classes</a> ]
+<p> As mentioned earlier, the <em>Print</em> dialog cannot be replaced until we
+have converted the <em>View</em> widget. The <em>Print</em> dialog will be
+removed once we have finished our migration, since we will use
+<a href="qprinter.html">QPrinter</a> instead. Based on this information, we decide that it is not
+worth replacing the <em>Print</em> dialog with a custom <a href="qdialog.html">QDialog</a> replacement.
+Instead, we will keep the <a href="motif-extension.html#Motif">Motif</a> based dialog and use <a href="qmotifdialog.html">QMotifDialog</a> to
+integrate the dialog with the application.
+<p> <h2> Modality Requirements
+</h2>
+<a name="1"></a><p> Modality with QDialog is different from Motif. The <a href="qdialog.html#exec">QDialog::exec</a>()
+function does not return until the dialog is finished. In Motif,
+modality is simply a property of the shell, and the application
+programmer must write QDialog::exec() style functionality if they
+want that behavior.
+<p> Since we will be using QMotifDialog (which is a QDialog subclass), we
+will need to have an <em>accept</em> and a <em>reject</em> callback for each
+dialog we integrate with QMotifDialog. The predefined Motif dialogs
+have these already: the <tt>XmNokCallback</tt> and <tt>XmNcancelCallback</tt>
+callbacks. However, the <em>Print</em> dialog only has an <em>accept</em> callback
+(the <tt>XmdNprintCallback</tt>), but it does not have a <em>reject</em> callback.
+We need to add this.
+<p> This is easily done. We add an <tt>XtCallbackList</tt> for the <tt>XmNcancelCallback</tt> callback in <tt>Xmd/PrintP.h</tt>:
+<p>
+
+<pre></pre>
+<p> We add the <tt>XmNcancelCallback</tt> callback to the list of resources for
+the <tt>XmdPrint</tt> widget class in <tt>Xmd/Print.c</tt>:
+<p>
+
+<pre></pre>
+<p> We need to activate this callback whenever we unmanage the widget and
+do not activate the <em>print</em> callback, which is in the <tt>do_help_cb()</tt>
+function:
+<p> <pre></pre>
+<p> ... and in the unmanage_cb() function:
+<p> <pre></pre>
+<p> <h2> Integrating the <em>Print</em> Dialog
+</h2>
+<a name="2"></a><p> Now that the <em>Print</em> dialog has the appropriate <em>accept</em> and <em>reject</em> callbacks, we can use <a href="qmotifdialog.html">QMotifDialog</a>. First we need to include
+the QMotifDialog header in <tt>todo.cpp</tt>.
+<p>
+
+<p> <pre></pre>
+<p> We add a <tt>ShowPrintDialog()</tt> function which will create and execute the
+print dialog.
+<p> <pre></pre>
+<p> We change the <em>Print</em> menu item callback to call the new <tt>ShowPrintDialog()</tt> function. We pass the top-level <a href="qmotifwidget.html">QMotifWidget</a>, which
+we will use as the parent for the dialog.
+<p> <pre></pre>
+<p> The <tt>ShowPrintDialog()</tt> function creates the <em>Print</em> dialog and
+executes it. We use the <tt>XmdNprintCallback</tt> callback to accept the
+dialog and the <tt>XmNcancelCallback</tt> callback to reject the dialog. We
+can do this easily by using the <a href="qmotifdialog.html#acceptCallback">QMotifDialog::acceptCallback</a>() and
+<a href="qmotifdialog.html#rejectCallback">QMotifDialog::rejectCallback</a>() functions, respectively. We also
+ensure that the <em>print</em> callback continues to call the <tt>Print()</tt> function as before.
+<p> <pre></pre>
+<p> After we build the project, the application runs and operates as
+expected. There is no visual or behavioral difference, even though
+the <em>Print</em> dialog is using <a href="qmotifdialog.html">QMotifDialog</a>.
+<p> [ <a href="motif-walkthrough-4.html">Previous: Using Custom QDialogs</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-6.html">Next: Using Qt Main Window Classes</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-6.html b/doc/html/motif-walkthrough-6.html
new file mode 100644
index 0000000..1c96358
--- /dev/null
+++ b/doc/html/motif-walkthrough-6.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:776 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Qt Main Window Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Using Qt Main Window Classes</h1>
+
+
+
+[ <a href="motif-walkthrough-5.html">Previous: Using Existing Dialogs with QMotifDialog</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-7.html">Next: Refactoring Existing Code</a> ]
+<p> After we have replaced all the dialogs, we are ready to begin replacing
+the <em>Main Window</em>. <a href="motif-walkthrough.html#4">As mentioned
+above</a>, we will replace the existing <tt>XmMainWindow</tt> and
+popup-menu heirarchy with <a href="application.html">Qt Main Window
+Classes</a>.
+<p> We will use <a href="designer-manual.html">Qt Designer</a> to design
+our new main window.
+<p> <h2> Implementing the <em>Main Window</em>
+</h2>
+<a name="1"></a><p> The description for the <em>Main Window</em> is saved as <tt>mainwindow.ui</tt>.
+We add this file to the project file and regenerate the <tt>Makefile</tt>.
+The <em>uic</em> utility generates the code for our <em>Main Window</em>, which
+is then compiled and linked into our application.
+<p> <em>Qt Designer</em> also created the <tt>mainwindow.ui.h</tt> file. We need to
+add the implementation for our <em>Main Window</em> to this skeleton
+implementation.
+<p> We begin by adding the necessary includes for <a href="qapplication.html">QApplication</a>
+and <a href="qmotifwidget.html">QMotifWidget</a>.
+<p>
+
+<p> <pre></pre>
+<p> We need includes for the <a href="motif-extension.html#Motif">Motif</a> callback structs and the <tt>XmdPrint</tt>
+widget.
+<p> <pre></pre><pre></pre>
+<p> We are now ready to add implementations for the slots in our <em>Main Window</em>. We have one slot per menu item. Each slot will call the
+existing callback functions found in <tt>todo.cpp</tt> and <tt>actions.cpp</tt>.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> File menu
+<tr bgcolor="#f0f0f0"> <td valign="top">New <td valign="top"><tt>MainWindow::fileNew()</tt> <td valign="top">calls the <tt>New()</tt> callback
+<tr bgcolor="#d0d0d0"> <td valign="top">Open <td valign="top"><tt>MainWindow::fileOpen()</tt> <td valign="top">calls the <tt>Open()</tt> callback
+<tr bgcolor="#f0f0f0"> <td valign="top">Save <td valign="top"><tt>MainWindow::fileSave()</tt> <td valign="top">calls the <tt>SaveIt()</tt> callback
+<tr bgcolor="#d0d0d0"> <td valign="top">Save As <td valign="top"><tt>MainWindow::fileSaveAs()</tt> <td valign="top">calls the <tt>Save()</tt> callback
+<tr bgcolor="#f0f0f0"> <td valign="top">Print <td valign="top"><tt>MainWindow::filePrint()</tt> <td valign="top">calls the <tt>ShowPrintDialog()</tt> callback
+<tr bgcolor="#d0d0d0"> <td valign="top">Exit <td valign="top"><tt>MainWindow::fileExit()</tt> <td valign="top">calls <a href="qapplication.html#quit">QApplication::quit</a>()
+<tr bgcolor="#a2c511"> <th valign="top" colspan="3" rowspan="1"> Selected menu
+<tr bgcolor="#f0f0f0"> <td valign="top">Properties <td valign="top"><tt>MainWindow::selProperties()</tt> <td valign="top">calls the <tt>EditPage()</tt> callback
+<tr bgcolor="#d0d0d0"> <td valign="top">New <td valign="top"><tt>MainWindow::selNewPage()</tt> <td valign="top">calls the <tt>NewPage()</tt> callback
+<tr bgcolor="#f0f0f0"> <td valign="top">Delete to Trash <td valign="top"><tt>MainWindow::selDeletePage()</tt> <td valign="top">calls the <tt>DeletePage()</tt> callback
+</table></center>
+<p> We need to add forward declarations for these callbacks before we can
+use them.
+<p> <pre></pre>
+<p> Each of the existing callback functions takes three arguments. We pass
+<em>NULL</em> to all of the arguments in this example (with a few exceptions,
+see below). The existing code does not rely on any of the arguments.
+Each slot implementation is a single line calling the related callback
+function. The code is not very interesting and would just take up
+space, so we've omitted it.
+<p> There are four exceptions to the above. The <tt>Open()</tt>, <tt>Save()</tt>, <tt>EditPage()</tt> and <tt>DeletePage()</tt> callbacks accept a pointer to the
+toplevel <a href="qwidget.html">QWidget</a> as argument 2 (the <em>client_data</em> argument). For
+these four functions, we pass <em>this</em> as the second argument, which is
+a toplevel <tt>MainWindow</tt> derived from <a href="qmainwindow.html">QMainWindow</a>.
+<p> <h2> Replacing the <em>Main Window</em>
+</h2>
+<a name="2"></a><p> The next step is to use the new <em>Main Window</em> in our application.
+The changes needed in <tt>todo.cpp</tt> are large due to the large amount of
+code being removed.
+<p> First, we add the include for our new <em>Main Window</em>.
+<p>
+
+<p> <pre></pre>
+<p> We can cleanup the Motif includes, since many of them are no longer
+needed.
+<p> <pre></pre><pre></pre><pre></pre>
+<p> The <tt>QuitAppl()</tt> and <tt>manageCB()</tt> callbacks are not needed any more,
+so we remove them. We do not need the global <tt>shell</tt> variable
+either. We remove it and all references to it in the <tt>New()</tt>, <tt>Save()</tt> and <tt>Open()</tt> callbacks.
+<p> In <tt>main()</tt>, we make the large changes. First, we use our new <tt>MainWindow</tt> instead of <a href="qmotifwidget.html">QMotifWidget</a> with <tt>XmMainWindow</tt>.
+<p>
+
+<p> <pre></pre>
+<p> We will now use QMotifWidget to create the <tt>XmNotebook</tt> widget.
+<p> <pre></pre>
+<p> We remove all of the code used to create the Motif menus. The
+remaining code in <tt>main()</tt> is self-explanatory.
+<p> <pre></pre>
+<p> Our application is now using <a href="qmainwindow.html">QMainWindow</a> instead of <tt>XmMainWindow</tt>.
+After we build the project, the application runs and operates as
+expected.
+<p> [ <a href="motif-walkthrough-5.html">Previous: Using Existing Dialogs with QMotifDialog</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-7.html">Next: Refactoring Existing Code</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-7.html b/doc/html/motif-walkthrough-7.html
new file mode 100644
index 0000000..11ffb48
--- /dev/null
+++ b/doc/html/motif-walkthrough-7.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:921 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Refactoring Existing Code</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Refactoring Existing Code</h1>
+
+
+
+[ <a href="motif-walkthrough-6.html">Previous: Using Qt Main Window Classes</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-8.html">Next: Replacing the View Widget</a> ]
+<p> In the author's view, the existing code is slightly disorganized.
+Even though the code <em>does</em> work, some cleanups and reorganization
+can only help with readability and maintainability. The steps
+described below are not necessary during the migration process but are
+included for completeness.
+<p> <h2> Migrating Data Structures to C++
+</h2>
+<a name="1"></a><p> The <tt>Page</tt> data structure is an opaque data type. The real data
+structure is called <tt>PageRec</tt>; <tt>Page</tt> defined to be a pointer to a
+<tt>PageRec</tt>. In addition, we have the <tt>AllocPage()</tt> function that
+allocates and initializes memory for a <tt>PageRec</tt> struct.
+<p> With C++, we can do this in the constructor. We can also write a
+destructor which automatically frees all resources in the <tt>PageRec</tt>,
+instead of having to do it in several different places.
+<p> The <tt>PageRec</tt> struct declaration is removed from <tt>page.h</tt>. We
+declare a <tt>Page</tt> struct with the same data members as <tt>PageRec</tt>, a
+constructor and a destructor.
+<p>
+
+<pre></pre>
+<p> The existing <tt>pages</tt>, <tt>currentPage</tt> and <tt>maxpages</tt> global variables
+are removed from the source files. We replace them with <tt>extern</tt>
+declarations in <tt>page.h</tt>.
+<p> <pre></pre>
+<p> The global variable instantiations are placed in <tt>todo.cpp</tt>.
+<p> Each source file contains function declarations that deal with the
+global <tt>Page</tt> related variables. We remove these declarations from
+the source files and declare them once in the <tt>page.h</tt> header file.
+<p> <pre></pre>
+<p> Now that <tt>Page</tt> has a constructor, we remove the <tt>AllocPage()</tt>
+function. It is no longer needed. The calls to <tt>AllocPage()</tt> are
+replaced with <tt>'new Page()'</tt> in the <tt>NewPage()</tt>, <tt>DeletePage()</tt>
+and <tt>ReadDB()</tt> functions. We also replace the code to deallocate
+pages with <tt>delete pages[X]</tt>, where <em>X</em> is the appropriate index
+value. This is done in the <tt>ReadDB</tt> and <tt>DeletePage()</tt> functions.
+<p> Code that accesses the global <tt>pages</tt> variable does not need to be
+modified since the data members of the <tt>Page</tt> struct did not change.
+The existing code will continue to work.
+<p> The <tt>OptionsRec</tt> struct declared in <tt>page.h</tt> is also updated,
+following the same pattern as the <tt>Page</tt> struct above.
+<p> <pre></pre>
+<p> The global variable instantiation is also placed in <tt>todo.cpp</tt>.
+<p> Code that accesses the global <tt>options</tt> variable does not need to be
+modified since the data members of the <tt>Options</tt> struct did not
+change. The existing code will continue to work.
+<p> <h2> Using <em>new</em> and <em>delete</em>
+</h2>
+<a name="2"></a><p> The destructors of the <tt>Page</tt> and <tt>Options</tt> structs use <em>delete</em>
+instead of <tt>XtFree()</tt> to deallocate all <tt>char*</tt> members. This is a
+necessary change since we are migrating away from Xt/Motif. We need
+to fix existing code that modifies the <tt>Page</tt> struct members to use
+<em>new</em> and <em>delete</em> ( instead of <tt>XtMalloc()</tt>, <tt>XtNewString()</tt> and
+<tt>XtFree()</tt> ).
+<p> The <tt>PageChange()</tt> function in <tt>todo.cpp</tt> simply saves the contents
+and cursor position of current page before calling <tt>SetPage()</tt>. We
+use <em>new</em> and <em>delete</em> when modifying members of the <tt>Page</tt> struct.
+<p>
+
+<pre></pre>
+<p> When storing the context of the <tt>XmText</tt> widget, we use <a href="qcstring.html#qstrdup">qstrdup</a>()
+to make a copy of the string returned by the <tt>XmTextGetString()</tt>
+function.
+<p> <pre></pre>
+<p> The <tt>ReadDB()</tt> function in <tt>io.cpp</tt> needs similar changes. We
+replace all use of <tt>XtMalloc()</tt> and <tt>XtNewString()</tt> with <em>new</em> and
+<a href="qcstring.html#qstrdup">qstrdup</a>(), respectively.
+<p> This needs to be done just after opening the file.
+<p>
+
+<pre></pre>
+<p> ... when starting a new page ...
+<p> <pre>
+ ...
+</pre>
+
+<pre></pre>
+<p> ... and when reading in the label and tab texts/
+<p> <pre>
+ ...
+</pre>
+
+<pre></pre><pre>
+ ...
+</pre>
+
+<pre></pre><pre>
+ ...
+</pre>
+
+<pre></pre>
+<p> The <tt>ReadDB()</tt> function uses <tt>XtRealloc()</tt> to expand the data
+storage buffer. Unfortunately, C++ does not provide a way to
+reallocate an existing block of data, so we have to do this ourselves.
+<p> <pre></pre>
+<p> There is also one occurence in <tt>ReadDB()</tt> where we call <tt>XtMalloc()</tt>
+with an argument of 2. This was done when a file could not be read.
+Creating an empty string is not necessary, so we remove this code
+instead of using <em>new</em>.
+<p> <pre></pre>
+<p> The <tt>SaveDB()</tt> function in <tt>io.cpp</tt> also needs these changes. We
+change one occurence of <tt>XtFree()</tt> to <em>delete</em>.
+<p> <pre></pre>
+<p> Finally, We need to replace two occurences of <tt>XtNewString()</tt> in the <tt>main()</tt> function in <tt>todo.cpp</tt>.
+<p>
+
+<pre></pre>
+<p> <h2> Moving Existing Code
+</h2>
+<a name="3"></a><p> The rest of the refactoring process involves moving existing code into
+new places. Currently, each function in the <tt>mainwindow.ui.h</tt> file
+simply calls the old callback handlers present in the other files.
+Instead of calling the old callback functions, the implementations are
+moved accordingly.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Original File <th valign="top">Moved to Function
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>New()</tt> <td valign="top"><tt>todo.cpp</tt> <td valign="top"><tt>MainWindow::fileNew()</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>Open()</tt> <td valign="top"><tt>todo.cpp</tt> <td valign="top"><tt>MainWindow::fileOpen()</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>SaveIt()</tt> <td valign="top"><tt>actions.cpp</tt> <td valign="top"><tt>MainWindow::fileSave()</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>Save()</tt> <td valign="top"><tt>todo.cpp</tt> <td valign="top"><tt>MainWindow::fileSaveAs()</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>ShowPrintDialog()</tt> <td valign="top"><tt>todo.cpp</tt> <td valign="top"><tt>MainWindow::filePrint()</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>EditPage()</tt> <td valign="top"><tt>actions.cpp</tt> <td valign="top"><tt>MainWindow::selProperties()</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>NewPage()</tt> <td valign="top"><tt>actions.cpp</tt> <td valign="top"><tt>MainWindow::selNewPage()</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>DeletePage()</tt> <td valign="top"><tt>actions.cpp</tt> <td valign="top"><tt>MainWindow::selDeletePage()</tt>
+</table></center>
+<p> The <tt>Print()</tt> callback function is still used by the <em>Print</em>
+dialog, so we move it into <tt>mainwindow.ui.h</tt> and make it <tt>static</tt>.
+<p> Previously, the <tt>Open()</tt>, <tt>Save()</tt>, <tt>EditPage()</tt> and <tt>DeletePage()</tt>
+functions created dialogs with <em>client_data</em> as the parent argument.
+Since we have moved the code directly into the <em>Main Window</em>
+implementation, we create these dialogs with <em>this</em> as the parent
+argument.
+<p> The <tt>PageChange()</tt> callback function is moved from <tt>actions.cpp</tt>
+to <tt>todo.cpp</tt> and made <tt>static</tt> since it is not used anywhere else.
+<p> Earlier modifications to <tt>actions.cpp</tt> caused the <tt>Trim()</tt> function
+to become redundant, so we remove it.
+<p> The <tt>MIN()</tt> and <tt>MAX()</tt> macros in <tt>todo.cpp</tt> are redundant. Qt
+provides the <tt>QMIN()</tt> and <tt>QMAX()</tt> macros which we will use.
+<p> Earlier modifications caused the <tt>fallback_resources</tt> array to become
+redundant, so we remove it.
+<p> In the near future, our program will not use <a href="motif-extension.html#Motif">Motif</a> any more, and we
+will no longer need to use <a href="qmotif.html">QMotif</a>. To prepare for this, we remove the
+<tt>resources</tt> and <tt>optionDesc</tt> arrays and create the QMotif instance
+with just the <em>APP_CLASS</em> argument.
+<p> The <tt>#include</tt> statements in the source files are mostly incorrect
+due to the refactoring changes. Many of the <tt>#include</tt> statements
+are no longer needed. The <tt>#include</tt> statements from each file are
+listed below, instead of describing which includes are removed and
+added to each file.
+<p> Includes for <tt>actions.cpp</tt>:
+<p>
+
+<pre></pre>
+<p> Includes for <tt>io.cpp</tt>:
+<p>
+
+<pre></pre><pre></pre><pre></pre>
+<p> Includes for <tt>todo.cpp</tt>:
+<p>
+
+<pre></pre><pre></pre><pre></pre>
+<p> Includes for <tt>mainwindow.ui.h</tt>:
+<p>
+
+<pre></pre><pre></pre><pre></pre><pre></pre><pre></pre>
+<p> [ <a href="motif-walkthrough-6.html">Previous: Using Qt Main Window Classes</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-8.html">Next: Replacing the View Widget</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-8.html b/doc/html/motif-walkthrough-8.html
new file mode 100644
index 0000000..f461b88
--- /dev/null
+++ b/doc/html/motif-walkthrough-8.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:1190 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Replacing the View Widget</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Replacing the View Widget</h1>
+
+
+
+[ <a href="motif-walkthrough-7.html">Previous: Refactoring Existing Code</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-9.html">Next: Replacing the Print Dialog</a> ]
+<p> We are ready to start replacing the <em>View</em> widget. However, our
+example program uses the <tt>XmNotebook</tt> widget class. Qt does not
+provide a direct equivalent of this class, so we are faced with three
+possibilities, each with several advantages and disadvantages.
+<p> <ol type=1>
+<p> <li> We can continue the conversion using existing Qt widgets.
+<p> <ul>
+<p> <li> Advantages - The widgets provided by Qt are well designed and
+tested, allowing us to quickly redesign the user interface.
+<p> <li> Disadvantages - Most, if not all, of the existing data structures
+and code will need to be modified or rewritten. New code must be
+written in a way that maintains compatibility with previous versions
+of our application.
+<p> </ul>
+<p> <li> We can write a new <a href="qwidget.html">QWidget</a> subclass that is identical to the <tt>XmNotebook</tt> widget class.
+<p> <ul>
+<p> <li> Advantages - The existing data structures will not change, allowing
+compatibility with previous and future versions.
+<p> <li> Disadvantages - The new widget will need to be written and
+regression tested. Existing code in our application will need to be
+changed in order to deal with the new widget's API.
+<p> </ul>
+<p> <li> We can leave the <tt>XmNotebook</tt> widget untouched.
+<p> <ul>
+<p> <li> Advantages - The existing data structures and code remain
+unchanged, allowing us to continue development on other projects,
+new features, etc.
+<p> <li> Disadvantages - This is the simplest solution, but the application
+will still be dependent upon X11; we will not be able to deploy our
+application on all platforms supported by Qt.
+<p> </ul>
+<p> </ol>
+<p> We will use the first approach to complete the migration of the
+example project used in this walkthrough, using <a href="qtextedit.html">QTextEdit</a>, <a href="qlabel.html">QLabel</a> and
+<a href="qspinbox.html">QSpinBox</a> to provide a similar look. The only difference is that we
+will not have tabs.
+<p> We use <a href="designer-manual.html">Qt Designer</a> to add the
+QTextEdit, QLabel and QSpinBox widgets to the <em>Main Window</em> widget.
+<p> <h2> Data Structure Modifications
+</h2>
+<a name="1"></a><p> The <tt>Page</tt> struct contains <tt>majorPB</tt> and <tt>minorPB</tt> members which
+need to be removed.  These members correspond to the tabs displayed in
+the existing version. The new version will not have any tabs, so we
+remove them.
+<p>
+
+<pre></pre>
+<p> <h2> Code Modifications
+</h2>
+<a name="2"></a><p> Most of the existing functions in our application need to be modified
+to work with the new <em>View</em> widget. The <tt>MainWindow</tt> class has five
+new functions that correspond to existing functions.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Existing Function <th valign="top">New Function
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>void SetPage( int )</tt> <td valign="top"><tt>void MainWindow::setPage( int )</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>void PageChange( ... )</tt> <td valign="top"><tt>void MainWnidow::pageChange( int )</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>void TextChanged( ... )</tt> <td valign="top"><tt>void MainWnidow::textChanged()</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>void ReadDB( char * )</tt> <td valign="top"><tt>void MainWindow::readDB( char * )</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>void SaveDB( char * )</tt> <td valign="top"><tt>void MainWindow::saveDB( char * )</tt>
+</table></center>
+<p> <a name="mainwindow-ui-h-view-widget-modifications"></a>
+<p> The <tt>SetPage()</tt> function implementation is moved to the <tt>MainWindow::setPage()</tt> function in <tt>mainwindow.ui.h</tt>. We remove the
+<tt>SetPage()</tt> function declaration and implementation from <tt>page.h</tt>
+and <tt>actions.cpp</tt>, respectively. In order to make <tt>MainWindow::setPage()</tt> work correctly, we need to modify the code to
+use the new widgets in our <em>Main Window</em> widget.
+<p>
+
+<pre></pre>
+<p> First, we set the current value of the <tt>spinbox</tt> to the current page
+number.
+<p> <pre></pre>
+<p> Next, we set the current text and cursor position of the <tt>textedit</tt>
+to the contents of the current page.
+<p> <pre></pre>
+<p> If the current page has a custom label, we set it as the current text
+of the <tt>textlabel</tt>; otherwise we set the <tt>textlabel</tt> contents to
+"Page X" (where X is the current page number).
+<p> <pre></pre>
+<p> If the current page has major and/or minor tab text, we append these
+to the <tt>labeltext</tt>. This ensures that all information entered by the
+user remains visible.
+<p> <pre></pre>
+<p> We should continue to handle the possibility that the current page
+does not exist. In this case, we clear the contents of the <tt>textedit</tt> widget and set the <tt>textlabel</tt> contents to the current page
+number (with an indication that the page is invalid).
+<p> <pre></pre>
+<p> The <tt>PageChange()</tt> function is moved from <tt>todo.cpp</tt> to the <tt>MainWindow::pageChange()</tt> function in <tt>mainwindow.ui.h</tt>. As with the
+<tt>MainWindow::setPae()</tt> function, we need to modify the code to use
+the new widgets in our <em>Main Window</em> widget.
+<p> Note: <a href="qtextedit.html#text">QTextEdit::text</a>() returns a <a href="qstring.html">QString</a>, which needs to be converted
+into a normal <tt>char*</tt> array. To do this we create a copy of the
+string in the local encoding. We need to make the copy using <a href="qcstring.html#qstrdup">qstrdup</a>() because the data contained in the <a href="qcstring.html">QCString</a> returned by
+<a href="qstring.html#local8Bit">QString::local8Bit</a>() is deallocated when the QCString is destroyed.
+<p> <pre></pre>
+<p> The <tt>TextChanged()</tt> function does nothing more than set the <tt>modified</tt> variable to 1. Our new <tt>MainWindow::textChanged()</tt> function
+does exactly the same.
+<p> <pre></pre>
+<p> Since both the <tt>MainWindow::pageChange()</tt> and <tt>MainWindow::textChanged()</tt> functions access the <tt>modified</tt> global
+variable, we add a forward declaration at the top of <tt>mainwindow.ui.h</tt>.
+<p> <a name="io-cpp-view-widget-modifications"></a>
+<p> The <tt>ReadDB()</tt> and \s SaveDB() implementations in <tt>io.cpp</tt> are
+renamed to <tt>MainWindow::readDB()</tt> and <tt>MainWindow::saveDB()</tt>,
+respectively. We need to modify the code in order to make the code
+work properly.
+<p> First, We add <tt>#include</tt> statements for the <tt>MainWindow</tt>, <a href="qspinbox.html">QSpinBox</a>
+and <a href="qtextedit.html">QTextEdit</a> classes.
+<p>
+
+<pre></pre><pre></pre>
+<p> The new <tt>MainWindow::readDB()</tt> and <tt>MainWindow::saveDB()</tt> functions
+will not use any Xt/Motif functions, so we remove the Xt/Motif <tt>#include</tt> statements and the global variables <tt>notebook</tt> and <tt>textw</tt>.
+These functions remain largely unchanged, maintaining compatibility
+with previous versions. Also, the <tt>ReadDB()</tt> and <tt>SaveDB()</tt>
+functions have been converted into <tt>MainWindow</tt> member functions, so
+we can pass <em>this</em> as the <em>parent</em> argument to the <a href="qmessagebox.html">QMessageBox</a>
+functions.
+<p> <pre></pre>
+<p> After reading the file in the <tt>MainWindow::readDB()</tt> function, we set
+the current and maximum values of the <tt>spinbox</tt> to the appropriate
+values.
+<p>
+
+<p> <pre></pre>
+<p> In the <tt>MainWindow::saveDB()</tt> function, we need to store the text
+currently displayed, so we use <a href="qtextedit.html#text">QTextEdit::text</a>() instead of <tt>XmTextGetString()</tt>. Note: QTextEdit::text() returns a <a href="qstring.html">QString</a>, which
+needs to be converted into a normal <tt>char*</tt> array. To do this we
+create a copy of the string in the local encoding. We need to make
+the copy using <a href="qcstring.html#qstrdup">qstrdup</a>() because the data contained in the <a href="qcstring.html">QCString</a>
+returned by <a href="qstring.html#local8Bit">QString::local8Bit</a>() is deallocated when the QCString is
+destroyed.
+<p> <pre></pre>
+<p> <a name="actions-cpp-viewwidget-modifications"></a>
+<p> Due to the removal of the <tt>majorPB</tt> and <tt>minorPB</tt> members from the
+<tt>Page</tt> struct, the <tt>FixPages()</tt> function in <tt>actions.cpp</tt> is no
+longer needed. We remove the implementation and forward declaration
+of <tt>FixPages()</tt> from <tt>actions.cpp</tt> and <tt>page.h</tt>, respectively.
+Calls to <tt>FixPages()</tt> are removed from the <tt>MainWindow::selNewPage()</tt> and <tt>MainWindow::selDeletePage()</tt>, both of
+which are in <tt>mainwindow.ui.h</tt>.
+<p> We move <tt>AdjustPages()</tt> to <tt>mainwindow.ui.h</tt> and make it <tt>static</tt>,
+since it is only used in this file. We remove the forward declaration
+from <tt>page.h</tt> as well.
+<p> After our modifications, the <tt>actions.cpp</tt> file is empty. We remove
+it from our project file and regenerate our <tt>Makefile</tt>.
+<p> <a name="todo-cpp-view-widget-modifications"></a>
+<p> Now that we have implemented our new <em>View</em> widget, we need to remove
+the old <a href="motif-extension.html#Motif">Motif</a> based view widget from <tt>todo.cpp</tt>.
+<p> Since we will not be using any Motif widgets, we remove all Motif <tt>#include</tt> statements, including <a href="qmotifwidget-h.html">qmotifwidget.h</a>.
+<p>
+
+<pre></pre><pre></pre>
+<p> We also remove the forward declarations of the <tt>ReadDB()</tt> function
+and the <tt>notebook</tt>, <tt>textw</tt> and <tt>labelw</tt> global variables.
+<p> <pre></pre>
+<p> Next, we remove the <tt>center</tt> widget, which uses <a href="qmotifwidget.html">QMotifWidget</a>. The <em>Main Window</em> widget and <em>View</em> widget are contained entirely in our
+<tt>MainWindow</tt> class, so no extra initialization is needed after
+creating the <tt>mainwindow</tt> widget.
+<p> <pre></pre>
+<p> Since the <tt>ReadDB()</tt> and <tt>SetPage()</tt> functions have been changed into
+<tt>MainWindow</tt> member functions, we need to call them using our <tt>mainwindow</tt> instance.
+<p> <pre></pre>
+<p> The <em>View</em> widget has now been replaced. After building our project,
+we confirm that the application works correctly.
+<p> [ <a href="motif-walkthrough-7.html">Previous: Refactoring Existing Code</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-9.html">Next: Replacing the Print Dialog</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough-9.html b/doc/html/motif-walkthrough-9.html
new file mode 100644
index 0000000..16b2a50
--- /dev/null
+++ b/doc/html/motif-walkthrough-9.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:1477 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Replacing the Print Dialog</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Replacing the Print Dialog</h1>
+
+
+
+[ <a href="motif-walkthrough-8.html">Previous: Replacing the View Widget</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-10.html">Next: Continuing Development</a> ]
+<p> The <em>Print</em> dialog is the last component in our application that
+uses <a href="motif-extension.html#Motif">Motif</a>. The current <tt>Print()</tt> function does nothing more than
+write the plain text to a temporary file, and then executes 'lpr' to
+send the text to the printer. Since we will use <a href="qprinter.html">QPrinter</a>, we do not
+this function any more, so we remove it. The current <tt>MainWindow::filePrint()</tt> implementation is removed as well. We will
+write a new <tt>MainWindow::filePrint()</tt> implementation in <tt>mainwindow.ui.h</tt>.
+<p> Note: The steps involved in using the QPrinter class are beyond the
+scope of this walkthrough and will not be discussed here. The
+QPrinter Class Reference, <a href="qsimplerichtext.html">QSimpleRichText</a> Class Reference and the
+<a href="simple-application.html">Simple Application Walkthrough</a>
+contain information on the use of QPrinter.
+<p> For completeness, the code to initialize a QPrinter object is included below.
+<p>
+
+<pre></pre>
+<p> <h2> Using Rich Text for Printing
+</h2>
+<a name="1"></a><p> Qt provides rich text using a subset of HTML. The QSimpleRichText
+class makes rich-text printing simple. All we need to do is create a
+string with the proper format tags inserted at the appropriate
+places. For our example, we will keep the printing output similar to
+previous versions.
+<p> First, we create the format tags that we will use.
+<p> <pre></pre>
+<p> Next we just loop over all pages, appending the page label, contents
+and formatting characters to a <tt>printtext</tt> variable (which is a
+<a href="qstring.html">QString</a>).
+<p> <pre></pre>
+<p> The rest of the <tt>MainWindow::filePrint()</tt> function is the actual
+printing code. Here we simply create a <a href="qsimplerichtext.html">QSimpleRichText</a> object using
+the string we created above, and draw this string on the <a href="qprinter.html">QPrinter</a>
+object using <a href="qpainter.html">QPainter</a>.
+<p> <pre></pre>
+<p> <h2> Removing the Dependency on Xt/Motif
+</h2>
+<a name="2"></a><p> Our application no longer uses any Xt or Motif widgets. We can now
+finish removing the dependencies on Xt and Motif.
+<p> First, we cleanup the <tt>#include</tt> statements in <tt>mainwindow.ui.h</tt>.
+<p>
+
+<p> <pre></pre><pre></pre>
+<p> The <tt>MainWindow::fileNew()</tt> function uses the <tt>Boolean</tt> and <tt>False</tt>
+keywords from the Xt library. C++ has these built into the language,
+so we use <tt>bool</tt> and <tt>false</tt> instead.
+<p> The last modification needed to completely remove Xt and Motif from
+our application is to stop using the <a href="qmotif.html">QMotif</a> class. We remove the
+qmotif.h <tt>#include</tt> statement from <tt>todo.cpp</tt>, and remove the
+instantiation from the <tt>main()</tt> function.
+<p> After doing this, we can remove the <tt>-lXm</tt> and <tt>-lqmotif</tt> from the
+<tt>LIBS</tt> variable in our project file. Our project file also contains
+source and headers for the the old custom Motif widgets previously
+used in our application. We remove these as well.
+<p> After regenerating the <tt>Makefile</tt> and building our project, we
+confirm that the application works correctly.
+<p> [ <a href="motif-walkthrough-8.html">Previous: Replacing the View Widget</a> ]
+[ <a href="motif-walkthrough.html">Home</a> ]
+[ <a href="motif-walkthrough-10.html">Next: Continuing Development</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/motif-walkthrough.html b/doc/html/motif-walkthrough.html
new file mode 100644
index 0000000..61699c8
--- /dev/null
+++ b/doc/html/motif-walkthrough.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/doc/walkthrough.doc:2 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Motif Extension - A Migration Walkthrough</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Motif Extension - A Migration Walkthrough</h1>
+
+
+
+[ <a href="motif-walkthrough-1.html">Next: Getting Started</a> ]
+<p> This walkthrough covers a complete migration of a <a href="motif-extension.html#Motif">Motif</a> based program
+to the Qt toolkit using the <em>Qt Motif Extension</em>.
+<p> It is rarely practical for a large project with hundreds of thousands
+or even millions of lines of code to be migrated all at once; such an
+endeavor would require too many development resources and would incur
+significant risks. Every line of code would have to be rewritten,
+every user interface redesigned, and quality assurance tests and
+procedures all rewritten. The <em>Qt Motif Extension</em> provides a
+complete and working solution for incremental migration that can be
+paced to suit each individual project and the available resources. The
+user interface and related code can be migrated in steps while the
+rest of the project need not be changed at all.
+<p> This walkthrough is intended for programmers who will be migrating an
+existing Motif based project to the Qt toolkit. We assume that they
+have experience with C/C++ and Xt/Motif. Some experience with the Qt
+toolkit is also necessary. For developers completely new to Qt we
+recommend following the learning plan outlined in <a href="how-to-learn-qt.html">How to Learn Qt</a>; or to go on a Qt
+training course. (See <a href="http://www.trolltech.com">http://www.trolltech.com</a> for
+details of training courses.)
+<p> <h2> Goals for the Walkthrough
+</h2>
+<a name="1"></a><p> The goal of this walkthrough is to provide the reader with enough
+knowledge to migrate Motif applications to the Qt toolkit. We will do
+this by example: We will convert a real-world Motif based program
+step-by-step. This walkthrough will discuss both techniques and their
+rationales throughout the process. This walkthrough is broken down
+into individual chapters which cover a specific topic:
+<p> <ul>
+<li> Chapter 1: <a href="motif-walkthrough-1.html">Getting Started</a>
+<li> Chapter 2: <a href="motif-walkthrough-2.html">Preparing to Migrate the User Interface</a>
+<li> Chapter 3: <a href="motif-walkthrough-3.html">Using Qt Standard Dialogs</a>
+<li> Chapter 4: <a href="motif-walkthrough-4.html">Using Custom QDialogs</a>
+<li> Chapter 5: <a href="motif-walkthrough-5.html">Using Existing Dialogs with QMotifDialog</a>
+<li> Chapter 6: <a href="motif-walkthrough-6.html">Using Qt Main Window Classes</a>
+<li> Chapter 7: <a href="motif-walkthrough-7.html">Refactoring Existing Code</a>
+<li> Chapter 8: <a href="motif-walkthrough-8.html">Replacing the View Widget</a>
+<li> Chapter 9: <a href="motif-walkthrough-9.html">Replacing the Print Dialog</a>
+<li> Chapter 10: <a href="motif-walkthrough-10.html">Continuing Development</a>
+</ul>
+<p> We will use the <em>todo</em> demo program included with the Motif 2.x
+distribution as our migration project. This walkthrough contains
+references to the source code, which is included in the <tt>extensions/motif/examples/walkthrough</tt> subdirectory.
+<p> <h2> Prerequisites
+</h2>
+<a name="2"></a><p> Before we can start using the <em>Qt Motif Extension</em>, we must satisfy
+these requirements:
+<p> <ol type=1>
+<li> We are using the X11R6.x and Motif 2.x libraries.
+<li> The project is compilable by a C++ compiler.
+<li> We have built and installed the <em>Qt Motif Extension</em>.
+<li> We have built and linked the project with the Qt toolkit and the <em>Qt Motif Extension</em>
+</ol>
+<p> <h3> X11R6.x and Motif 2.x Libraries
+</h3>
+<a name="2-1"></a><p> The mechanisms used by the <em>Qt Motif Extension</em> require development
+headers and libraries from the X11R6 release and the Motif 2.0
+release. Newer versions of these can also be used.
+<p> <h3> C++ Compiler
+</h3>
+<a name="2-2"></a><p> Since Qt is a C++ toolkit, all new code will be written in C++. In
+order for existing code to coexist with new code, a C++ compiler must
+be able to compile the existing code.
+<p> It is possible to keep existing code and new code separate, and only
+convert or rewrite existing code as needed. This is a normal part
+of the migration process, and does not need to be done before the
+migration process begins. This is the most common scenario, and we
+will demonstrate it by migrating existing C code to C++ as needed in
+this walkthrough.
+<p> <h3> Build and Install the Qt Motif Extension
+</h3>
+<a name="2-3"></a><p> The <em>Qt Motif Extension</em> is not built and installed along with the
+Qt toolkit. The extension resides in the <tt>extensions/motif</tt>
+subdirectory. Run <em>make</em> in this directory to build the extension
+and the examples. Once the extension has been built, run <em>make install</em>.
+<p> <pre>
+ $ cd extensions/motif
+ $ make
+ $ make install
+</pre>
+
+<p> The <em>Qt Motif Extension</em> is now installed and ready to use.
+<p> <h3> Build and Link the Project with the Qt Toolkit and the Qt Motif Extension
+</h3>
+<a name="2-4"></a><p> For simplicity, we use <em>qmake</em> to create the <tt>Makefile</tt>. The <tt>-project</tt> option causes <em>qmake</em> to automatically generate a project
+file. After <em>qmake -project</em> has generated our project file, we
+run <em>qmake</em> again to generate a <tt>Makefile</tt>. Now, we can just run <em>make</em> to build our project.
+<p> <pre>
+ $ qmake -project
+ $ qmake
+ $ make
+</pre>
+
+<p> Everything builds correctly, but fails to link because we don't link
+with the Motif library. We tell <em>qmake</em> to do this by adding the <tt>-lXm</tt> to the <tt>LIBS</tt> variable in our project file. Since we are
+planning to use the <em>Qt Motif Extension</em> in this project as well,
+we should also add <tt>-lqmotif</tt> to the list of libraries.
+<p> <pre>
+ LIBS += -lXm -lqmotif
+</pre>
+
+<p> Now we regenerate our <tt>Makefile</tt> by running <tt>qmake</tt> again, and
+rebuild using <tt>make</tt>. This time, our project successfully links, and
+the application runs as expected.
+<p> We are now ready to start using the <em>Qt Motif Extension</em>.
+<p> [ <a href="motif-walkthrough-1.html">Next: Getting Started</a> ]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/movies-example.html b/doc/html/movies-example.html
new file mode 100644
index 0000000..d3c837d
--- /dev/null
+++ b/doc/html/movies-example.html
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/movies/movies.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Movies or the Story of the Animated GIF file</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Movies or the Story of the Animated GIF file</h1>
+
+
+<p>
+The Movies example displays MNG and animated GIF files using the <a href="qmovie.html">QMovie</a> and
+<a href="qlabel.html">QLabel</a> classes.
+<p> The movies will only read an animated GIF if GIF reading was enabled when Qt was built.
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qmovie-h.html">qmovie.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+
+class MovieScreen : public <a href="qframe.html">QFrame</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ <a href="qmovie.html">QMovie</a> movie;
+ <a href="qstring.html">QString</a> filename;
+ <a href="qsize.html">QSize</a> sh;
+
+public:
+ MovieScreen(const char* fname, QMovie m, QWidget* p=0, const char* name=0, WFlags f=0) :
+ <a href="qframe.html">QFrame</a>(p, name, f),
+ sh(100,100)
+ {
+ setCaption(fname);
+ filename = fname;
+ movie = m;
+
+ // Set a frame around the movie.
+ setFrameStyle(QFrame::WinPanel|QFrame::Sunken);
+
+ // No background needed, since we draw on the whole widget.
+<a name="x523"></a> movie.<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>(backgroundColor());
+ setBackgroundMode(NoBackground);
+
+ // Get the movie to tell use when interesting things happen.
+<a name="x500"></a> movie.<a href="qmovie.html#connectUpdate">connectUpdate</a>(this, SLOT(movieUpdated(const <a href="qrect.html">QRect</a>&amp;)));
+<a name="x498"></a> movie.<a href="qmovie.html#connectResize">connectResize</a>(this, SLOT(movieResized(const <a href="qsize.html">QSize</a>&amp;)));
+<a name="x499"></a> movie.<a href="qmovie.html#connectStatus">connectStatus</a>(this, SLOT(movieStatus(int)));
+
+ setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding));
+ }
+
+ <a href="qsize.html">QSize</a> sizeHint() const
+ {
+ return sh;
+ }
+
+protected:
+
+ // Draw the contents of the QFrame - the movie and on-screen-display
+ void drawContents(QPainter* p)
+ {
+ // Get the current movie frame.
+<a name="x502"></a> <a href="qpixmap.html">QPixmap</a> pm = movie.<a href="qmovie.html#framePixmap">framePixmap</a>();
+
+ // Get the area we have to draw in.
+ <a href="qrect.html">QRect</a> r = contentsRect();
+
+<a name="x511"></a> if ( !pm.<a href="qpixmap.html#isNull">isNull</a>() ) {
+ // Only rescale is we need to - it can take CPU!
+<a name="x516"></a><a name="x512"></a> if ( r.<a href="qrect.html#size">size</a>() != pm.<a href="qpixmap.html#size">size</a>() ) {
+ <a href="qwmatrix.html">QWMatrix</a> m;
+<a name="x524"></a><a name="x517"></a><a name="x513"></a> m.<a href="qwmatrix.html#scale">scale</a>((double)r.<a href="qrect.html#width">width</a>()/pm.<a href="qpixmap.html#width">width</a>(),
+<a name="x515"></a><a name="x510"></a> (double)r.<a href="qrect.html#height">height</a>()/pm.<a href="qpixmap.html#height">height</a>());
+<a name="x514"></a> pm = pm.<a href="qpixmap.html#xForm">xForm</a>(m);
+ }
+
+ // Draw the [possibly scaled] frame. movieUpdated() below calls
+ // repaint with only the changed area, so clipping will ensure we
+ // only do the minimum amount of rendering.
+ //
+<a name="x519"></a><a name="x518"></a> p-&gt;drawPixmap(r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), pm);
+ }
+
+
+ // The on-screen display
+
+ const char* message = 0;
+
+<a name="x504"></a> if (movie.<a href="qmovie.html#paused">paused</a>()) {
+ message = "PAUSED";
+<a name="x501"></a> } else if (movie.<a href="qmovie.html#finished">finished</a>()) {
+ message = "THE END";
+<a name="x507"></a> } else if (movie.<a href="qmovie.html#steps">steps</a>() &gt; 0) {
+ message = "FF &gt;&gt;";
+ }
+
+ if (message) {
+ // Find a good font size...
+ p-&gt;setFont(QFont("Helvetica", 24));
+
+ <a href="qfontmetrics.html">QFontMetrics</a> fm = p-&gt;fontMetrics();
+<a name="x496"></a> if ( fm.<a href="qfontmetrics.html#width">width</a>(message) &gt; r.<a href="qrect.html#width">width</a>()-10 )
+ p-&gt;setFont(QFont("Helvetica", 18));
+
+ fm = p-&gt;fontMetrics();
+ if ( fm.<a href="qfontmetrics.html#width">width</a>(message) &gt; r.<a href="qrect.html#width">width</a>()-10 )
+ p-&gt;setFont(QFont("Helvetica", 14));
+
+ fm = p-&gt;fontMetrics();
+ if ( fm.<a href="qfontmetrics.html#width">width</a>(message) &gt; r.<a href="qrect.html#width">width</a>()-10 )
+ p-&gt;setFont(QFont("Helvetica", 12));
+
+ fm = p-&gt;fontMetrics();
+ if ( fm.<a href="qfontmetrics.html#width">width</a>(message) &gt; r.<a href="qrect.html#width">width</a>()-10 )
+ p-&gt;setFont(QFont("Helvetica", 10));
+
+ // "Shadow" effect.
+ p-&gt;setPen(black);
+ p-&gt;drawText(1, 1, width()-1, height()-1, AlignCenter, message);
+ p-&gt;setPen(white);
+ p-&gt;drawText(0, 0, width()-1, height()-1, AlignCenter, message);
+ }
+ }
+
+public slots:
+ void restart()
+ {
+<a name="x505"></a> movie.<a href="qmovie.html#restart">restart</a>();
+ repaint();
+ }
+
+ void togglePause()
+ {
+ if ( movie.<a href="qmovie.html#paused">paused</a>() )
+<a name="x508"></a> movie.<a href="qmovie.html#unpause">unpause</a>();
+ else
+<a name="x503"></a> movie.<a href="qmovie.html#pause">pause</a>();
+ repaint();
+ }
+
+ void step()
+ {
+<a name="x506"></a> movie.<a href="qmovie.html#step">step</a>();
+ repaint();
+ }
+
+ void step10()
+ {
+ movie.<a href="qmovie.html#step">step</a>(10);
+ repaint();
+ }
+
+private slots:
+ void movieUpdated(const <a href="qrect.html">QRect</a>&amp; area)
+ {
+ if (!isVisible())
+ show();
+
+ // The given area of the movie has changed.
+
+ <a href="qrect.html">QRect</a> r = contentsRect();
+
+ if ( r.<a href="qrect.html#size">size</a>() != movie.<a href="qmovie.html#framePixmap">framePixmap</a>().size() ) {
+ // Need to scale - redraw whole frame.
+ repaint( r );
+ } else {
+ // Only redraw the changed area of the frame
+ repaint( area.<a href="qrect.html#x">x</a>()+r.<a href="qrect.html#x">x</a>(), area.<a href="qrect.html#y">y</a>()+r.<a href="qrect.html#x">x</a>(),
+ area.<a href="qrect.html#width">width</a>(), area.<a href="qrect.html#height">height</a>() );
+ }
+ }
+
+ void movieResized(const <a href="qsize.html">QSize</a>&amp; size)
+ {
+ // The movie changed size, probably from its initial zero size.
+
+ int fw = frameWidth();
+<a name="x521"></a><a name="x520"></a> sh = QSize( size.<a href="qsize.html#width">width</a>() + fw*2, size.<a href="qsize.html#height">height</a>() + fw*2 );
+ <a href="qwidget.html#updateGeometry">updateGeometry</a>();
+ if ( <a href="qwidget.html#parentWidget">parentWidget</a>() &amp;&amp; parentWidget()-&gt;isHidden() )
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;show();
+ }
+
+ void movieStatus(int status)
+ {
+ // The movie has sent us a status message.
+
+ if (status &lt; 0) {
+ <a href="qstring.html">QString</a> msg;
+ msg.<a href="qstring.html#sprintf">sprintf</a>("Could not play movie \"%s\"", (const char*)filename);
+ QMessageBox::<a href="qmessagebox.html#warning">warning</a>(this, "movies", msg);
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;close();
+ } else if (status == QMovie::Paused || status == QMovie::EndOfMovie) {
+ <a href="qwidget.html#repaint">repaint</a>(); // Ensure status text is displayed
+ }
+ }
+};
+
+class MoviePlayer : public <a href="qvbox.html">QVBox</a> {
+ MovieScreen* movie;
+public:
+ MoviePlayer(const char* fname, QMovie m, QWidget* p=0, const char* name=0, WFlags f=0) :
+ <a href="qvbox.html">QVBox</a>(p,name,f)
+ {
+ movie = new MovieScreen(fname, m, this);
+ <a href="qhbox.html">QHBox</a>* hb = new <a href="qhbox.html">QHBox</a>(this);
+ <a href="qpushbutton.html">QPushButton</a>* btn;
+ btn = new <a href="qpushbutton.html">QPushButton</a>("&lt;&lt;", hb);
+ <a href="qobject.html#connect">connect</a>(btn, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), movie, SLOT(<a href="qmovie.html#restart">restart</a>()));
+ btn = new <a href="qpushbutton.html">QPushButton</a>("||", hb);
+ <a href="qobject.html#connect">connect</a>(btn, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), movie, SLOT(togglePause()));
+ btn = new <a href="qpushbutton.html">QPushButton</a>("&gt;|", hb);
+ <a href="qobject.html#connect">connect</a>(btn, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), movie, SLOT(<a href="qmovie.html#step">step</a>()));
+ btn = new <a href="qpushbutton.html">QPushButton</a>("&gt;&gt;|", hb);
+ <a href="qobject.html#connect">connect</a>(btn, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), movie, SLOT(step10()));
+ }
+};
+
+
+// A QFileDialog that chooses movies.
+//
+class MovieStarter: public <a href="qfiledialog.html">QFileDialog</a> {
+ Q_OBJECT
+public:
+ MovieStarter(const char *dir);
+
+public slots:
+ void startMovie(const <a href="qstring.html">QString</a>&amp; filename);
+ // QDialog's method - normally closes the file dialog.
+ // We want it left open, and we want Cancel to quit everything.
+ void done( int r );
+};
+
+
+<a name="f258"></a>MovieStarter::MovieStarter(const char *dir)
+ : <a href="qfiledialog.html">QFileDialog</a>(dir, "*.gif *.mng")
+{
+ //behave as in getOpenFilename
+ <a href="qfiledialog.html#setMode">setMode</a>( ExistingFile );
+ // When a file is selected, show it as a movie.
+ <a href="qobject.html#connect">connect</a>(this, SIGNAL(<a href="qfiledialog.html#fileSelected">fileSelected</a>(const <a href="qstring.html">QString</a>&amp;)),
+ this, SLOT(startMovie(const <a href="qstring.html">QString</a>&amp;)));
+}
+
+
+void <a name="f259"></a>MovieStarter::startMovie(const <a href="qstring.html">QString</a>&amp; filename)
+{
+ if ( filename ) // Start a new movie - have it delete when closed.
+ (new MoviePlayer( filename, QMovie(filename), 0, 0,
+ WDestructiveClose))-&gt;show();
+}
+
+<a name="x495"></a>void MovieStarter::<a href="qdialog.html#done">done</a>( int r )
+{
+ if (r != Accepted)
+ qApp-&gt;<a href="qapplication.html#quit">quit</a>(); // end on Cancel
+ <a href="qdialog.html#setResult">setResult</a>( r );
+
+ // And don't hide.
+}
+
+
+int main(int argc, char **argv)
+{
+ <a href="qapplication.html">QApplication</a> a(argc, argv);
+
+ if (argc &gt; 1) {
+ // Commandline mode - show movies given on the command line
+ //
+ bool gui=TRUE;
+ for (int arg=1; arg&lt;argc; arg++) {
+ if ( QString(argv[arg]) == "-i" )
+ gui = !gui;
+ else if ( gui )
+ (void)new MoviePlayer(argv[arg], QMovie(argv[arg]), 0, 0,
+ Qt::WDestructiveClose);
+ else
+ (void)new MovieScreen(argv[arg], QMovie(argv[arg]), 0, 0,
+ Qt::WDestructiveClose);
+ }
+ QObject::<a href="qobject.html#connect">connect</a>(qApp, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+ } else {
+ // "GUI" mode - open a chooser for movies
+ //
+ MovieStarter* fd = new MovieStarter(".");
+<a name="x494"></a> fd-&gt;<a href="qdialog.html#show">show</a>();
+ }
+
+ // Go!
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "main.moc"
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/multimedia.html b/doc/html/multimedia.html
new file mode 100644
index 0000000..7d64a7a
--- /dev/null
+++ b/doc/html/multimedia.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:750 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Multimedia Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Multimedia Classes</h1>
+
+
+<p> These classes provide support for graphics, sound, animation etc.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qimageconsumer.html">QImageConsumer</a></b><td>Abstraction used by QImageDecoder
+<tr bgcolor=#f0f0f0><td><b><a href="qimagedecoder.html">QImageDecoder</a></b><td>Incremental image decoder for all supported image formats
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformat.html">QImageFormat</a></b><td>Incremental image decoder for a specific image format
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformattype.html">QImageFormatType</a></b><td>Factory that makes QImageFormat objects
+<tr bgcolor=#f0f0f0><td><b><a href="qmovie.html">QMovie</a></b><td>Incremental loading of animations or images, signalling as it progresses
+<tr bgcolor=#f0f0f0><td><b><a href="qsound.html">QSound</a></b><td>Access to the platform audio facilities
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/mw-addmainwidg.png b/doc/html/mw-addmainwidg.png
new file mode 100644
index 0000000..69d1742
--- /dev/null
+++ b/doc/html/mw-addmainwidg.png
Binary files differ
diff --git a/doc/html/mw-coloriconv.png b/doc/html/mw-coloriconv.png
new file mode 100644
index 0000000..6224d55
--- /dev/null
+++ b/doc/html/mw-coloriconv.png
Binary files differ
diff --git a/doc/html/mw-colortable.png b/doc/html/mw-colortable.png
new file mode 100644
index 0000000..aa3f629
--- /dev/null
+++ b/doc/html/mw-colortable.png
Binary files differ
diff --git a/doc/html/mw-colortool1.png b/doc/html/mw-colortool1.png
new file mode 100644
index 0000000..0adaec9
--- /dev/null
+++ b/doc/html/mw-colortool1.png
Binary files differ
diff --git a/doc/html/mw-colortool2.png b/doc/html/mw-colortool2.png
new file mode 100644
index 0000000..0ef2239
--- /dev/null
+++ b/doc/html/mw-colortool2.png
Binary files differ
diff --git a/doc/html/mw-conn1.png b/doc/html/mw-conn1.png
new file mode 100644
index 0000000..a48ec62
--- /dev/null
+++ b/doc/html/mw-conn1.png
Binary files differ
diff --git a/doc/html/mw-conn2.png b/doc/html/mw-conn2.png
new file mode 100644
index 0000000..43f38fe
--- /dev/null
+++ b/doc/html/mw-conn2.png
Binary files differ
diff --git a/doc/html/mw-conn3.png b/doc/html/mw-conn3.png
new file mode 100644
index 0000000..387befa
--- /dev/null
+++ b/doc/html/mw-conn3.png
Binary files differ
diff --git a/doc/html/mw-conn4.png b/doc/html/mw-conn4.png
new file mode 100644
index 0000000..5b4eec3
--- /dev/null
+++ b/doc/html/mw-conn4.png
Binary files differ
diff --git a/doc/html/mw-dragaction.png b/doc/html/mw-dragaction.png
new file mode 100644
index 0000000..54e4717
--- /dev/null
+++ b/doc/html/mw-dragaction.png
Binary files differ
diff --git a/doc/html/mw-dragviewitem.png b/doc/html/mw-dragviewitem.png
new file mode 100644
index 0000000..2745a89
--- /dev/null
+++ b/doc/html/mw-dragviewitem.png
Binary files differ
diff --git a/doc/html/mw-editforw.png b/doc/html/mw-editforw.png
new file mode 100644
index 0000000..263f96c
--- /dev/null
+++ b/doc/html/mw-editforw.png
Binary files differ
diff --git a/doc/html/mw-editfunc.png b/doc/html/mw-editfunc.png
new file mode 100644
index 0000000..cda5d89
--- /dev/null
+++ b/doc/html/mw-editfunc.png
Binary files differ
diff --git a/doc/html/mw-editincimp.png b/doc/html/mw-editincimp.png
new file mode 100644
index 0000000..cc37dbd
--- /dev/null
+++ b/doc/html/mw-editincimp.png
Binary files differ
diff --git a/doc/html/mw-editvar.png b/doc/html/mw-editvar.png
new file mode 100644
index 0000000..8412294
--- /dev/null
+++ b/doc/html/mw-editvar.png
Binary files differ
diff --git a/doc/html/mw-laycoloriconv.png b/doc/html/mw-laycoloriconv.png
new file mode 100644
index 0000000..7606046
--- /dev/null
+++ b/doc/html/mw-laycoloriconv.png
Binary files differ
diff --git a/doc/html/mw-laycolortable.png b/doc/html/mw-laycolortable.png
new file mode 100644
index 0000000..6d50142
--- /dev/null
+++ b/doc/html/mw-laycolortable.png
Binary files differ
diff --git a/doc/html/mw-laymainwidg.png b/doc/html/mw-laymainwidg.png
new file mode 100644
index 0000000..e82bd56
--- /dev/null
+++ b/doc/html/mw-laymainwidg.png
Binary files differ
diff --git a/doc/html/mw-menuwiz.png b/doc/html/mw-menuwiz.png
new file mode 100644
index 0000000..153a5f1
--- /dev/null
+++ b/doc/html/mw-menuwiz.png
Binary files differ
diff --git a/doc/html/mw-newfile.png b/doc/html/mw-newfile.png
new file mode 100644
index 0000000..6ce5ede
--- /dev/null
+++ b/doc/html/mw-newfile.png
Binary files differ
diff --git a/doc/html/mw-newmenuitem.png b/doc/html/mw-newmenuitem.png
new file mode 100644
index 0000000..1dd96c6
--- /dev/null
+++ b/doc/html/mw-newmenuitem.png
Binary files differ
diff --git a/doc/html/mw-objexplor.png b/doc/html/mw-objexplor.png
new file mode 100644
index 0000000..f5c0974
--- /dev/null
+++ b/doc/html/mw-objexplor.png
Binary files differ
diff --git a/doc/html/mw-previewform.png b/doc/html/mw-previewform.png
new file mode 100644
index 0000000..0ad0262
--- /dev/null
+++ b/doc/html/mw-previewform.png
Binary files differ
diff --git a/doc/html/mw-projset.png b/doc/html/mw-projset.png
new file mode 100644
index 0000000..d6a7c55
--- /dev/null
+++ b/doc/html/mw-projset.png
Binary files differ
diff --git a/doc/html/mw-propedit.png b/doc/html/mw-propedit.png
new file mode 100644
index 0000000..c042350
--- /dev/null
+++ b/doc/html/mw-propedit.png
Binary files differ
diff --git a/doc/html/mw-separator.png b/doc/html/mw-separator.png
new file mode 100644
index 0000000..bd99e08
--- /dev/null
+++ b/doc/html/mw-separator.png
Binary files differ
diff --git a/doc/html/mw-settoolwiz.png b/doc/html/mw-settoolwiz.png
new file mode 100644
index 0000000..4d86e92
--- /dev/null
+++ b/doc/html/mw-settoolwiz.png
Binary files differ
diff --git a/doc/html/mw-startdesign.png b/doc/html/mw-startdesign.png
new file mode 100644
index 0000000..9e245ff
--- /dev/null
+++ b/doc/html/mw-startdesign.png
Binary files differ
diff --git a/doc/html/mw-toolbarpits.png b/doc/html/mw-toolbarpits.png
new file mode 100644
index 0000000..e9a1fae
--- /dev/null
+++ b/doc/html/mw-toolbarpits.png
Binary files differ
diff --git a/doc/html/netscape-plugin.html b/doc/html/netscape-plugin.html
new file mode 100644
index 0000000..961b6a3
--- /dev/null
+++ b/doc/html/netscape-plugin.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/doc/index.doc:14 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Netscape Plugin Extension</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Netscape Plugin Extension</h1>
+
+
+<p> <!-- index Netscape --><a name="Netscape"></a>
+<p> The Qt Netscape Plugin software makes it easy to write browser plugins
+that can be used on both Unix/Linux and MS-Windows, in Netscape,
+Mozilla, and any other web browser supporting Netscape's LiveConnect
+protocol. Modern versions of MSIE do not support this protocol. Use
+the <a href="activeqt.html#ActiveQt">ActiveQt</a> Framework to develop plugins for these browsers.
+<p> <h2> Information
+</h2>
+<a name="1"></a><p> The Netscape Plugin Extension consists of the follow classes:
+<ul>
+<li> <a href="qnplugin.html">QNPlugin</a>
+<li> <a href="qnpinstance.html">QNPInstance</a>
+<li> <a href="qnpwidget.html">QNPWidget</a>
+<li> <a href="qnpstream.html">QNPStream</a>
+</ul>
+<p> <h2> How-to
+</h2>
+<a name="2"></a><p> <ol type=1>
+<li> Download the
+<a href="http://home.netscape.com/comprod/development_partners/plugin_api/index.html">Plugin SDK from Netscape</a>, and copy the following files from there to
+<tt>$QTDIR/extensions/nsplugin/src</tt>
+<ul>
+<li> <tt>common/npwin.cpp</tt>
+<li> <tt>common/npunix.c</tt>
+<li> <tt>include/npapi.h</tt>
+<li> <tt>include/npupp.h</tt>
+<li> <tt>include/jri.h</tt>
+<li> <tt>include/jri_md.h</tt>
+<li> <tt>include/jritypes.h</tt>
+</ul>
+<li> Build the Netscape Plugin extension library, found in the
+<tt>extensions/nsplugin/src</tt> directory of your Qt distribution.
+This produces a static library to be linked with your plugin code.
+<li> Read the <a href="qnplugin.html">plugin class documentation</a>, and
+examine the <a href="nsplugin-examples.html">example plugins</a>.
+<li> Do most of your development as a stand-alone Qt application - debugging
+Netscape Plugins is cumbersome. You may want to use <tt>signal(2)</tt>
+in your plugin to enable core-dumps if your browser disables them.
+<li> Note the platform-specific build steps below.
+<li> Read about the raw plugin interface
+<a href="http://developer.netscape.com/docs/manuals/communicator/plugin/index.htm">in Netscape's handbook.</a>
+<li> If files viewed by a plugin are provided by an HTTP server
+(using a <a href="http://...">http://...</a> URL) then
+the server must be configured to send the correct MIME type
+for the file, e.g. by editing Apache's <tt>mime.types</tt> file.
+If the files are viewed via a <a href="file://...">//...</a>
+URL, then the browser will use the filename extension to decide
+the file type (and hence the plugin to load) - the user may need
+to set the filename extension in the Helpers or Applications
+section of their browser preferences.
+</ol>
+<p> <h3> Building under X11
+</h3>
+<a name="2-1"></a><p> <ul>
+<li> The Makefiles in the examples are appropriate for UNIX/X11.
+<li> The user must install the resulting Shared Object in the Plugins
+directory of the browser.
+</ul>
+<p> <h3> Building under Windows
+</h3>
+<a name="2-2"></a><p> <ul>
+<li> For Netscape plugins to work, Qt needs to be in the system DLL
+path or be compiled into the plugin as a static library.
+<li> Plugins must be named <tt>np</tt><em>name</em><tt>.dll</tt>,
+or the browser will ignore them.
+<li> The link step must include:
+<ul>
+<li> <tt>/def:</tt><em>name</em><tt>.def</tt>
+<li> <tt>/dll</tt>
+<li> a compiled resource file defining the
+file/MIME types accepted by the plugin.
+</ul>
+<li> The user must install the resulting DLL in the Plugins directory
+of the browser.
+</ul>
+<p> <h2> Known Bugs and Limitations
+</h2>
+<a name="3"></a><p> The Qt-based LiveConnect Plugin binding code has a number of bugs and
+limitations, but is sufficiently stable for many production
+applications.
+<p> <ul>
+<li> Keyboard input only works in secondary windows (e.g. dialogs created by the plugin).
+<li> You should not expect modality between the plugin and the browser to work.
+<li> Netscape 4.78 on Unix/X11 tends to terminate with a bus error.
+<li> Opaque resize behaviour is erratic due to browser behavior.
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/network-examples.html b/doc/html/network-examples.html
new file mode 100644
index 0000000..4b1287c
--- /dev/null
+++ b/doc/html/network-examples.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:415 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Network Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Network Examples</h1>
+
+
+<p> The following example programs demonstrate the use
+of the Qt network module.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="archivesearch-example.html">A qt-interest mail archive search</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="clientserver-example.html">A small client-server example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="ftpclient-example.html">An FTP client</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="httpd-example.html">A simple HTTP daemon</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="mail-example.html">A simple mail client</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="networkprotocol-example.html">A simple NNTP implementation</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/network.html b/doc/html/network.html
new file mode 100644
index 0000000..ba7be6d
--- /dev/null
+++ b/doc/html/network.html
@@ -0,0 +1,466 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/network.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Network Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Network Module</h1>
+
+
+
+<p>
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#2"> Working Network Protocol independently with QUrlOperator and QNetworkOperation
+</a>
+<ul>
+<li><a href="#2-1"> Implementing your own Network Protocol
+</a>
+<li><a href="#2-2"> Error Handling
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> The network module offers classes to make network programming easier
+and portable. Essentially, there are three sets of classes, first low
+level classes like <a href="qsocket.html">QSocket</a>, <a href="qserversocket.html">QServerSocket</a>, <a href="qdns.html">QDns</a>, etc. which
+allow you to work in a portable way with TCP/IP sockets. In addition,
+there are classes like <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qnetworkoperation.html">QNetworkOperation</a> in
+the Qt base library, which provide an abstract layer for implementing
+network protocols and <a href="qurloperator.html">QUrlOperator</a> which operates on such network
+protocols. Finally the third set of network classes are the passive
+ones, specifically <a href="qurl.html">QUrl</a> and <a href="qurlinfo.html">QUrlInfo</a> which do URL parsing and
+similar.
+<p> The first set of classes (<a href="qsocket.html">QSocket</a>, <a href="qserversocket.html">QServerSocket</a>, <a href="qdns.html">QDns</a>, <a href="qftp.html">QFtp</a>, etc.) are included in Qt's "network" module.
+<p> The <a href="qsocket.html">QSocket</a> classes are not directly related to the QNetwork classes,
+but QSocket should and will be used for implementing network
+protocols, which are directly related to the QNetwork classes. For
+example, the <a href="qftp.html">QFtp</a> class (which implements the FTP protocol) uses
+QSockets. But QSockets don't need to be used for protocol
+implementations, e.g. <a href="qlocalfs.html">QLocalFs</a> (which is an implementation of the
+local filesystem as network protocol) uses <a href="qdir.html">QDir</a> and doesn't use
+QSocket. Using QNetworkProtocols you can implement everything which
+fits into a hierarchical structure and can be accessed using URLs.
+This could be, for example, a protocol which can read pictures from a
+digital camera using a serial connection.
+<p> <h2> Working Network Protocol independently with <a href="qurloperator.html">QUrlOperator</a> and <a href="qnetworkoperation.html">QNetworkOperation</a>
+</h2>
+<a name="2"></a><p> It is quite easy to just use existing network protocol implementations
+and operate on URLs. For example, downloading a file from an FTP
+server to the local filesystem can be done with following code:
+<p> <pre>
+ <a href="qurloperator.html">QUrlOperator</a> op;
+ op.<a href="qurloperator.html#copy">copy</a>( "ftp://ftp.trolltech.com/qt/source/qt-2.1.0.tar.gz", "file:/tmp", FALSE );
+</pre>
+
+<p> And that's all! Of course an implementation of the FTP protocol has to
+be available and registered for doing that. More information on that
+later.
+<p> You can also do things like creating directories, removing files,
+renaming, etc. For example, to create a folder on a private FTP
+account do
+<p> <pre>
+ <a href="qurloperator.html">QUrlOperator</a> op( "ftp://username:password@host.domain.no/home/username" );
+ op.<a href="qurloperator.html#mkdir">mkdir</a>( "New Directory" );
+</pre>
+
+<p> To see all available operations, look at the <a href="qurloperator.html">QUrlOperator</a> class
+documentation.
+<p> Since networking works asynchronously, the function call for an
+operation will normally return before the operation has been
+completed. This means that the function cannot return a value
+indicating failure or success. Instead, the return value always is a
+pointer to a <a href="qnetworkoperation.html">QNetworkOperation</a>, and this object stores
+all the information about the operation.
+<p> For example, <a href="qnetworkoperation.html">QNetworkOperation</a> has a method which returns the state
+of this operation. Using this you can find out the state of the
+operation at any time. The object also makes available the arguments
+you passed to the <a href="qurloperator.html">QUrlOperator</a> method, the type of the operation
+and some more information. For more details see the class
+documentation of <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> The <a href="qurloperator.html">QUrlOperator</a> emits signals to inform you about the progress of
+the operations. As you can call many methods which operate on a <a href="qurloperator.html">QUrlOperator</a>'s URL, it queues up all the operations. So you can't know
+which operation the <a href="qurloperator.html">QUrlOperator</a> just processed. Clearly you will
+want to know which operation just took place, so each signal's last
+argument is a pointer to the <a href="qnetworkoperation.html">QNetworkOperation</a> object which was
+just processed and which caused the signal to be emitted.
+<p> Some of these operations send a <tt>start()</tt> signal at the beginning (if
+this makes sense), and some of them send some signals during
+processing. All operations send a <tt>finished()</tt> signal after they are
+done. To find that out if an operation finished successfully you can
+use the <a href="qnetworkoperation.html">QNetworkOperation</a> pointer you got with the <tt>finished()</tt>
+signal. If <a href="qnetworkoperation.html#state">QNetworkOperation::state</a>() equals <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StDone</a> the operation finished successfully, if it is
+<a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StFailed</a> the operation failed.
+<p> Example: A slot which you might connect to the
+<tt>QUrlOperator::finished( QNetworkOperation * )</tt>
+<pre>
+void MyClass::slotOperationFinished( <a href="qnetworkoperation.html">QNetworkOperation</a> *op )
+{
+ switch ( op-&gt;<a href="qnetworkoperation.html#operation">operation</a>() ) {
+ case QNetworkProtocol::OpMkDir:
+ if ( op-&gt;<a href="qnetworkoperation.html#state">state</a>() == QNetworkProtocol::StFailed )
+ <a href="qapplication.html#qDebug">qDebug</a>( "Couldn't create directory %s", op-&gt;<a href="qnetworkoperation.html#arg">arg</a>( 0 ).latin1() );
+ else
+ <a href="qapplication.html#qDebug">qDebug</a>( "Successfully created directory %s", op-&gt;<a href="qnetworkoperation.html#arg">arg</a>( 0 ).latin1() );
+ break;
+ // ... and so on
+ }
+}
+</pre>
+
+<p> As mentioned earlier, some operations send other signals too. Let's
+take the list children operation as an example (e.g. read a directory
+on a FTP server):
+<p> <pre>
+QUrlOperator op;
+
+MyClass::MyClass() : <a href="qobject.html">QObject</a>(), op( "ftp://ftp.trolltech.com" )
+{
+ connect( &amp;op, SIGNAL( newChildren( const <a href="qvaluelist.html">QValueList</a>&lt;QUrlInfo&gt; &amp;, QNetworkOperation * ) ),
+ this, SLOT( slotInsertEntries( const <a href="qvaluelist.html">QValueList</a>&lt;QUrlInfo&gt; &amp;, QNetworkOperation * ) ) );
+ connect( &amp;op, SIGNAL( start( <a href="qnetworkoperation.html">QNetworkOperation</a> * ) ),
+ this, SLOT( slotStart( <a href="qnetworkoperation.html">QNetworkOperation</a> *) ) );
+ connect( &amp;op, SIGNAL( finished( <a href="qnetworkoperation.html">QNetworkOperation</a> * ) ),
+ this, SLOT( slotFinished( <a href="qnetworkoperation.html">QNetworkOperation</a> *) ) );
+}
+
+void MyClass::slotInsertEntries( const <a href="qvaluelist.html">QValueList</a>&lt;QUrlInfo&gt; &amp;info, QNetworkOperation * )
+{
+ QValueList&lt;QUrlInfo&gt;::ConstIterator it = info.<a href="qvaluelist.html#begin">begin</a>();
+ for ( ; it != info.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ const <a href="qurlinfo.html">QUrlInfo</a> &amp;inf = *it;
+ <a href="qapplication.html#qDebug">qDebug</a>( "Name: %s, Size: %d, Last Modified: %s",
+ inf.<a href="qurlinfo.html#name">name</a>().latin1(), inf.<a href="qurlinfo.html#size">size</a>(), inf.<a href="qurlinfo.html#lastModified">lastModified</a>().toString().latin1() );
+ }
+}
+
+void MyClass::slotStart( <a href="qnetworkoperation.html">QNetworkOperation</a> * )
+{
+ <a href="qapplication.html#qDebug">qDebug</a>( "Start reading '%s'", op.toString().latin1() );
+}
+
+void MyClass::slotFinished( <a href="qnetworkoperation.html">QNetworkOperation</a> *operation )
+{
+ if ( operation-&gt;<a href="qnetworkoperation.html#operation">operation</a>() == QNetworkProtocol::OpListChildren ) {
+ if ( operation-&gt;<a href="qnetworkoperation.html#state">state</a>() == QNetworkProtocol::StFailed )
+ <a href="qapplication.html#qDebug">qDebug</a>( "Couldn't read '%s'! Following error occurred: %s",
+ op.toString().latin1(), operation-&gt;<a href="qnetworkoperation.html#protocolDetail">protocolDetail</a>().latin1() );
+ else
+ <a href="qapplication.html#qDebug">qDebug</a>( "Finished reading '%s'!", op.toString().latin1() );
+ }
+}
+
+</pre>
+
+<p> These examples demonstrate now how to use the <a href="qurloperator.html">QUrlOperator</a> and <tt>QNetworkOperations</tt>. The network extension also contains useful example
+code.
+<p> <h3> Implementing your own Network Protocol
+</h3>
+<a name="2-1"></a><p> <a href="qnetworkprotocol.html">QNetworkProtocol</a> provides a base class for implementations
+of network protocols and an architecture for the a dynamic
+registration and de-registration of network protocols. If you use this
+architecture you don't need to care about asynchronous programming, as
+the architecture hides this and does all the work for you.
+<p> <em>Note</em> It is difficult to design a base class for network protocols
+which is useful for all network protocols. The architecture described
+here is designed to work with all kinds of hierarchical structures,
+like filesystems. So everything which can be interpreted as
+hierarchical structure and accessed via URLs, can be implemented as
+network protocol and easily used in Qt. This is not limited to
+filesystems only!
+<p> To implement a network protocol create a class derived from
+<a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+<p> Other classes will use this network protocol implementation
+to operate on it. So you should reimplement following protected members
+<p> <pre>
+ void QNetworkProtocol::operationListChildren( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void QNetworkProtocol::operationMkDir( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void QNetworkProtocol::operationRemove( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void QNetworkProtocol::operationRename( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void QNetworkProtocol::operationGet( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void QNetworkProtocol::operationPut( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+</pre>
+
+<p> Some notes on reimplementing these methods: You always get a pointer
+to a <a href="qnetworkoperation.html">QNetworkOperation</a> as argument. This pointer holds all the
+information about the operation in the current state. If you start
+processing such an operation, set the state to <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StInProgress</a>. If you finished processing the
+operation, set the state to <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StDone</a> if it was
+successful or <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StFailed</a> if an error occurred. If
+an error occurred you must set an error code (see
+<a href="qnetworkoperation.html#setErrorCode">QNetworkOperation::setErrorCode</a>()) and if you know some details
+(e.g. an error message) you can also set this message to the operation
+pointer (see <a href="qnetworkoperation.html#setProtocolDetail">QNetworkOperation::setProtocolDetail</a>()). Also you get
+all the relevant information (type, arguments, etc.) about the
+operation from the <a href="qnetworkoperation.html">QNetworkOperation</a> pointer. For details about
+which arguments you can get and set look at <a href="qnetworkoperation.html">QNetworkOperation</a>'s
+class documentation.
+<p> If you reimplement an operation function, it's very important to emit
+the correct signals at the correct time: In general always emit <tt>finished()</tt> at the end of an operation (when you either successfully
+finished processing the operation or an error occurred) with the
+network operation as argument. The whole network architecture relies
+on correctly emitted <tt>finished()</tt> signals! Then there are some more
+specialized signals which are specific to operations:
+<ul>
+<li> Emit in <tt>operationListChildren</tt>:
+<ul>
+<li> <tt>start()</tt> just before starting to list the children
+<li> <tt>newChildren()</tt> when new children are read
+</ul>
+<li> Emit in <tt>operationMkDir</tt>:
+<ul>
+<li> <tt>createdDirectory()</tt> after the directory has been created
+<li> <tt>newChild()</tt> (or newChildren()) after the directory has been
+created (since a new directory is a new child)
+</ul>
+<li> Emit in <tt>operationRemove</tt>:
+<ul>
+<li> <tt>removed()</tt> after a child has been removed
+</ul>
+<li> Emit in <tt>operationRename</tt>:
+<ul>
+<li> <tt>itemChanged()</tt> after a child has been renamed
+</ul>
+<li> Emit in <tt>operationGet</tt>:
+<ul>
+<li> <tt>data()</tt> each time new data has been read
+<li> <tt>dataTransferProgress()</tt> each time new data has been read to
+indicate how much of the data has been read now.
+</ul>
+<li> Emit in <tt>operationPut</tt>:
+<ul>
+<li> <tt>dataTransferProgress()</tt> each time data has been written to
+indicate how much of the data has been written. Although you
+know the whole data when this operation is called, it's
+suggested not to write the whole data at once, but to do it
+step by step to avoid blocking the GUI. Doing things
+incrementally also means that progress can be made visible
+to the user.
+</ul>
+</ul>
+<p> And remember, always emit the <tt>finished()</tt> signal at the end!
+<p> For more details about these signals' arguments look at the <a href="qnetworkprotocol.html">QNetworkProtocol</a> class documentation.
+<p> Here is a list of which <a href="qnetworkoperation.html">QNetworkOperation</a> arguments you can get and
+which you must set in which function:
+<p> (To get the URL on which you should work, use the <a href="qnetworkprotocol.html#url">QNetworkProtocol::url</a>() method which returns a pointer to the URL
+operator. Using that you can get the path, host, name filter, etc.)
+<p> <ul>
+<li> In <tt>operationListChildren</tt>:
+<ul>
+<li> Nothing.
+</ul>
+<li> In <tt>operationMkDir</tt>:
+<ul>
+<li> <tt>QNetworkOperation::arg( 0 )</tt> contains the name of the directory which should be created
+</ul>
+<li> In <tt>operationRemove</tt>:
+<ul>
+<li> <tt>QNetworkOperation::arg( 0 )</tt> contains the name of the file
+which should be removed. Normally this is a relative name. But
+it could be absolute. Use <a href="qurl.html">QUrl</a>( op->arg( 0 ) ).fileName()
+to get the filename.
+</ul>
+<li> In <tt>operationRename</tt>:
+<ul>
+<li> <tt>QNetworkOperation::arg( 0 )</tt> contains the name of the file
+which should be renamed
+<li> <tt>QNetworkOperation::arg( 1 )</tt> contains the name to which it
+should be renamed.
+</ul>
+<li> In <tt>operationGet</tt>:
+<ul>
+<li> <tt>QNetworkOperation::arg( 0 )</tt> contains the full URL of the
+file which should be retrieved.
+</ul>
+<li> In <tt>operationPut</tt>:
+<ul>
+<li> <tt>QNetworkOperation::arg( 0 )</tt> contains the full URL of the
+file in which the data should be stored.
+<li> <tt>QNetworkOperation::rawArg( 1 )</tt> contains the data which
+should be stored in <tt>QNetworkOperation::arg( 0 )</tt>
+</ul>
+</ul>
+<p> In summary: If you reimplement an operation function, you must emit
+some special signals and at the end you must <em>always</em> emit a <tt>finished()</tt> signal, regardless of success or failure. Also you must
+change the state of the <a href="qnetworkoperation.html">QNetworkOperation</a> during processing. You
+can also get and set <a href="qnetworkoperation.html">QNetworkOperation</a> arguments as the operation
+progresses.
+<p> It may occur that the network protocol you implement only requires a
+subset of these operations. In such cases, simply reimplement the
+operations which are supported by the protocol. Additionally you must
+specify which operations you support. This is achieved by
+reimplementing
+<p> <pre>
+ int QNetworkProtocol::supportedOperations() const;
+</pre>
+
+<p> In your implementation of this method return an <tt>int</tt> value
+which is constructed by OR-ing together the correct values
+(supported operations) of the following enum (of <a href="qnetworkprotocol.html">QNetworkProtocol</a>):
+<p> <ul>
+<li> <tt>OpListChildren</tt>
+<li> <tt>OpMkDir</tt>
+<li> <tt>OpRemove</tt>
+<li> <tt>OpRename</tt>
+<li> <tt>OpGet</tt>
+<li> <tt>OpPut</tt>
+</ul>
+<p> For example, if your protocol supports listing children and renaming
+them, your implementation of <tt>supportedOperations()</tt> should do this:
+<p> <pre>
+ return OpListChildren | OpRename;
+</pre>
+
+<p> The last method you must reimplement is
+<p> <pre>
+ bool QNetworkProtocol::checkConnection( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+</pre>
+
+<p> Here you must return TRUE, if the connection is up and okay (this means
+operations on the protocol can be done). If the connection is not okay,
+return FALSE and start to try opening it. If you cannot open the
+connection at all (e.g. because the host is not found), emit a <tt>finished()</tt>
+signal and set an error code and the <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StFailed</a> state to
+the <a href="qnetworkoperation.html">QNetworkOperation</a> pointer you get here.
+<p> Now, you never need to check before doing an operation yourself, if
+the connection is okay. The network architecture does this, which
+means it uses <tt>checkConnection()</tt> to see if an operation can be done
+and if not, it tries it again and again for some time, only calling an
+operation function if the connection is okay.
+<p> To be able to use a network protocol with a <a href="qurloperator.html">QUrlOperator</a> (and so, for
+example, in the <a href="qfiledialog.html">QFileDialog</a>), you must register the network
+protocol implementation. This can be done like this:
+<p> <pre>
+ QNetworkProtocol::<a href="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</a>( "myprot", new QNetworkProtocolFactory&lt;MyProtocol&gt; );
+</pre>
+
+<p> In this case <tt>MyProtocol</tt> would be a class you implemented as
+described here (derived from <a href="qnetworkprotocol.html">QNetworkProtocol</a>) and the name of the
+protocol would be "myprot". So to use it, you would do something like
+<p> <pre>
+ <a href="qurloperator.html">QUrlOperator</a> op( "myprot://host/path" );
+ op.<a href="qurloperator.html#listChildren">listChildren</a>();
+</pre>
+
+<p> Finally, as example of a network protocol implementation you could
+look at the implementation of <a href="qlocalfs.html">QLocalFs</a>. The network extension also
+contains an example implementation of a network protocol.
+<p> <h3> Error Handling
+</h3>
+<a name="2-2"></a><p> Error handling is important for both implementing new network
+protocols for and using them (through <a href="qurloperator.html">QUrlOperator</a>).
+<p> After processing an operation has been finished the network operation
+the <a href="qurloperator.html">QUrlOperator</a> emits the <tt>finished()</tt> signal. This has as argument
+a pointer to the processed <a href="qnetworkoperation.html">QNetworkOperation</a>. If the state of this
+operation is <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::StFailed</a>, the operation contains
+some more information about this error. The following error codes are
+defined in <a href="qnetworkprotocol.html">QNetworkProtocol</a>:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Error <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::NoError</a>
+<td valign="top">No error occurred
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrValid</a>
+<td valign="top">The URL you are operating on is not valid
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrUnknownProtocol</a>
+<td valign="top">There is no protocol implementation available for the protocol
+of the URL you are operating on (e.g. if the protocol is http
+and no http implementation has been registered)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrUnsupported</a>
+<td valign="top">The operation is not supported by the protocol
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrParse</a>
+<td valign="top">Parse error of the URL
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrLoginIncorrect</a>
+<td valign="top">You needed to login but the username or password are wrong
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrHostNotFound</a>
+<td valign="top">The specified host (in the URL) couldn't be found
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrListChildren</a>
+<td valign="top">An error occurred while listing the children
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrMkDir</a>
+<td valign="top">An error occurred when creating a directory
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrRemove</a>
+<td valign="top">An error occurred while removing a child
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrRename</a>
+<td valign="top">An error occurred while renaming a child
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrGet</a>
+<td valign="top">An error occurred while getting (retrieving) data
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrPut</a>
+<td valign="top">An error occurred while putting (uploading) data
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrFileNotExisting</a>
+<td valign="top">A file which is needed by the operation doesn't exist
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::ErrPermissionDenied</a>
+<td valign="top">The permission for doing the operation has been denied
+</table></center>
+<p> <a href="qnetworkoperation.html#errorCode">QNetworkOperation::errorCode</a>() returns one of these codes or
+perhaps a different one if you use your an own network protocol
+implementation which defines additional error codes.
+<p> <tt>QNetworkOperation::protocolDetails()</tt> may also return a string which
+contains an error message then which might be suitable for display to
+the user.
+<p> If you implement your own network protocol, you must report any
+errors which occurred. First you always need to be able to
+access the <a href="qnetworkoperation.html">QNetworkOperation</a> which is being processed at the
+moment. This is done using <tt>QNetworkOperation::operationInProgress()</tt>, which returns a pointer to
+the current network operation or 0 if no operation is processed at the
+moment.
+<p> Now if an error occurred and you need to handle it, do this:
+<pre>
+ if ( operationInProgress() ) {
+ operationInProgress()-&gt;setErrorCode( error_code_of_your_error );
+ operationInProgress()-&gt;setProtocolDetails( detail ); // optional
+ emit finished( operationInProgress() );
+ return;
+ }
+</pre>
+
+<p> That's all. The connection to the <a href="qurloperator.html">QUrlOperator</a> and so on is done
+automatically. Additionally, if the error was really bad so that no
+more operations can be done in the current state (e.g. if the host
+couldn't be found), call <tt>QNetworkProtocol::clearOperationStack()</tt> <em>before</em> emitting <tt>finished()</tt>.
+<p> Ideally you should use one of the predefined error codes of <a href="qnetworkprotocol.html">QNetworkProtocol</a>. If this is not possible, you can add own error codes
+- they are just normal <tt>int</tt>s. Just be careful that the value of the
+error code doesn't conflict with an existing one.
+<p> An example to look at is in qt/examples/network/ftpclient.
+This is the implementation of a fairly complete FTP client, which
+supports uploading and downloading files, making directories, etc.,
+all done using <tt>QUrlOperators</tt>.
+<p> You might also like to look at <a href="qftp.html">QFtp</a> (in qt/src/network/qftp.cpp) or at
+the example in qt/examples/network/networkprotocol/nntp.cpp.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/networkprotocol-example.html b/doc/html/networkprotocol-example.html
new file mode 100644
index 0000000..6e90c9e
--- /dev/null
+++ b/doc/html/networkprotocol-example.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/network/networkprotocol/networkprotocol.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A simple NNTP implementation</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A simple NNTP implementation</h1>
+
+
+<p>
+<p> This example shows how to implement your own <a href="qnetworkprotocol.html">QNetworkProtocol</a>. The
+protocol that was chosen for this example is NTTP. Please note that this
+implementation is very simple since it is designed to be an example. It
+should not be used as a real NNTP implemention.
+<p> <hr>
+<p> Header file (nntp.h):
+<p> <pre>/****************************************************************************
+** $Id: qt/nntp.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef NNTP_H
+#define NNTP_H
+
+#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;
+#include &lt;<a href="qnetworkprotocol-h.html">qnetworkprotocol.h</a>&gt;
+
+class Nntp : public <a href="qnetworkprotocol.html">QNetworkProtocol</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Nntp();
+ virtual ~Nntp();
+ virtual int supportedOperations() const;
+
+protected:
+ virtual void operationListChildren( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ virtual void operationGet( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+
+ <a href="qsocket.html">QSocket</a> *commandSocket;
+ bool connectionReady;
+ bool readGroups;
+ bool readArticle;
+
+private:
+ bool checkConnection( <a href="qnetworkoperation.html">QNetworkOperation</a> *op );
+ void close();
+ void parseGroups();
+ void parseArticle();
+
+protected slots:
+ void hostFound();
+ void connected();
+ void closed();
+ void readyRead();
+ void error( int );
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation (nntp.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/nntp.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "nntp.h"
+#include &lt;<a href="qurlinfo-h.html">qurlinfo.h</a>&gt;
+#include &lt;stdlib.h&gt;
+#include &lt;<a href="qurloperator-h.html">qurloperator.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+
+<a name="f288"></a>Nntp::Nntp()
+ : <a href="qnetworkprotocol.html">QNetworkProtocol</a>(), connectionReady( FALSE ),
+ readGroups( FALSE ), readArticle( FALSE )
+{
+ // create the command socket and connect to its signals
+ commandSocket = new <a href="qsocket.html">QSocket</a>( this );
+<a name="x684"></a> <a href="qobject.html#connect">connect</a>( commandSocket, SIGNAL( <a href="qsocket.html#hostFound">hostFound</a>() ),
+ this, SLOT( hostFound() ) );
+<a name="x681"></a> <a href="qobject.html#connect">connect</a>( commandSocket, SIGNAL( <a href="qsocket.html#connected">connected</a>() ),
+ this, SLOT( connected() ) );
+<a name="x682"></a> <a href="qobject.html#connect">connect</a>( commandSocket, SIGNAL( <a href="qsocket.html#connectionClosed">connectionClosed</a>() ),
+ this, SLOT( closed() ) );
+<a name="x687"></a> <a href="qobject.html#connect">connect</a>( commandSocket, SIGNAL( <a href="qsocket.html#readyRead">readyRead</a>() ),
+ this, SLOT( readyRead() ) );
+<a name="x683"></a> <a href="qobject.html#connect">connect</a>( commandSocket, SIGNAL( <a href="qsocket.html#error">error</a>( int ) ),
+ this, SLOT( error( int ) ) );
+}
+
+Nntp::~Nntp()
+{
+ close();
+ delete commandSocket;
+}
+
+<a name="x675"></a>void Nntp::<a href="qnetworkprotocol.html#operationListChildren">operationListChildren</a>( <a href="qnetworkoperation.html">QNetworkOperation</a> * )
+{
+ // create a command
+ <a href="qstring.html">QString</a> path = <a href="qnetworkprotocol.html#url">url</a>()-&gt;path(), cmd;
+<a name="x691"></a> if ( path.<a href="qstring.html#isEmpty">isEmpty</a>() || path == "/" ) {
+ // if the path is empty or we are in the root dir,
+ // we want to read the list of available newsgroups
+ cmd = "list newsgroups\r\n";
+ } else if ( <a href="qnetworkprotocol.html#url">url</a>()-&gt;isDir() ) {
+ // if the path is a directory (in our case a news group)
+ // we want to list the articles of this group
+<a name="x694"></a> path = path.<a href="qstring.html#replace">replace</a>( "/", "" );
+ cmd = "listgroup " + path + "\r\n";
+ } else
+ return;
+
+ // write the command to the socket
+<a name="x693"></a><a name="x692"></a><a name="x689"></a> commandSocket-&gt;<a href="qsocket.html#writeBlock">writeBlock</a>( cmd.<a href="qstring.html#latin1">latin1</a>(), cmd.<a href="qstring.html#length">length</a>() );
+ readGroups = TRUE;
+}
+
+<a name="x674"></a>void Nntp::<a href="qnetworkprotocol.html#operationGet">operationGet</a>( <a href="qnetworkoperation.html">QNetworkOperation</a> *op )
+{
+ // get the dirPath of the URL (this is our news group)
+ // and the filename (which is the article we want to read)
+<a name="x672"></a> <a href="qurl.html">QUrl</a> u( op-&gt;<a href="qnetworkoperation.html#arg">arg</a>( 0 ) );
+<a name="x696"></a><a name="x695"></a> <a href="qstring.html">QString</a> dirPath = u.<a href="qurl.html#dirPath">dirPath</a>(), file = u.<a href="qurl.html#fileName">fileName</a>();
+ dirPath = dirPath.<a href="qstring.html#replace">replace</a>( "/", "" );
+
+ // go to the group in which the article is
+ <a href="qstring.html">QString</a> cmd;
+ cmd = "group " + dirPath + "\r\n";
+ commandSocket-&gt;<a href="qsocket.html#writeBlock">writeBlock</a>( cmd.<a href="qstring.html#latin1">latin1</a>(), cmd.<a href="qstring.html#length">length</a>() );
+
+ // read the head of the article
+ cmd = "article " + file + "\r\n";
+ commandSocket-&gt;<a href="qsocket.html#writeBlock">writeBlock</a>( cmd.<a href="qstring.html#latin1">latin1</a>(), cmd.<a href="qstring.html#length">length</a>() );
+ readArticle = TRUE;
+}
+
+<a name="x673"></a>bool Nntp::<a href="qnetworkprotocol.html#checkConnection">checkConnection</a>( <a href="qnetworkoperation.html">QNetworkOperation</a> * )
+{
+ // we are connected, return TRUE
+<a name="x670"></a> if ( commandSocket-&gt;<a href="qiodevice.html#isOpen">isOpen</a>() &amp;&amp; connectionReady )
+ return TRUE;
+
+ // seems that there is no chance to connect
+ if ( commandSocket-&gt;<a href="qiodevice.html#isOpen">isOpen</a>() )
+ return FALSE;
+
+ // don't call connectToHost() if we are already trying to connect
+<a name="x688"></a> if ( commandSocket-&gt;<a href="qsocket.html#state">state</a>() == QSocket::Connecting )
+ return FALSE;
+
+ // start connecting
+ connectionReady = FALSE;
+<a name="x680"></a> commandSocket-&gt;<a href="qsocket.html#connectToHost">connectToHost</a>( <a href="qnetworkprotocol.html#url">url</a>()-&gt;host(),
+ <a href="qnetworkprotocol.html#url">url</a>()-&gt;port() != -1 ? url()-&gt;port() : 119 );
+ return FALSE;
+}
+
+void <a name="f289"></a>Nntp::close()
+{
+ // close the command socket
+ if ( commandSocket-&gt;<a href="qiodevice.html#isOpen">isOpen</a>() ) {
+ commandSocket-&gt;<a href="qsocket.html#writeBlock">writeBlock</a>( "quit\r\n", strlen( "quit\r\n" ) );
+<a name="x679"></a> commandSocket-&gt;<a href="qsocket.html#close">close</a>();
+ }
+}
+
+<a name="x676"></a>int Nntp::<a href="qnetworkprotocol.html#supportedOperations">supportedOperations</a>() const
+{
+ // we only support listing children and getting data
+ return OpListChildren | OpGet;
+}
+
+void <a name="f290"></a>Nntp::hostFound()
+{
+ if ( <a href="qnetworkprotocol.html#url">url</a>() )
+ emit connectionStateChanged( ConHostFound, tr( "Host %1 found" ).arg( <a href="qnetworkprotocol.html#url">url</a>()-&gt;host() ) );
+ else
+ emit connectionStateChanged( ConHostFound, tr( "Host found" ) );
+}
+
+void <a name="f291"></a>Nntp::connected()
+{
+ if ( <a href="qnetworkprotocol.html#url">url</a>() )
+ emit connectionStateChanged( ConConnected, tr( "Connected to host %1" ).arg( <a href="qnetworkprotocol.html#url">url</a>()-&gt;host() ) );
+ else
+ emit connectionStateChanged( ConConnected, tr( "Connected to host" ) );
+}
+
+void <a name="f292"></a>Nntp::closed()
+{
+ if ( <a href="qnetworkprotocol.html#url">url</a>() )
+ emit connectionStateChanged( ConClosed, tr( "Connection to %1 closed" ).arg( <a href="qnetworkprotocol.html#url">url</a>()-&gt;host() ) );
+ else
+ emit connectionStateChanged( ConClosed, tr( "Connection closed" ) );
+}
+
+void <a name="f293"></a>Nntp::readyRead()
+{
+ // new data arrived on the command socket
+
+ // of we should read the list of available groups, let's do so
+ if ( readGroups ) {
+ parseGroups();
+ return;
+ }
+
+ // of we should read an article, let's do so
+ if ( readArticle ) {
+ parseArticle();
+ return;
+ }
+
+ // read the new data from the socket
+ <a href="qcstring.html">QCString</a> s;
+<a name="x677"></a><a name="x668"></a> s.<a href="qcstring.html#resize">resize</a>( commandSocket-&gt;<a href="qsocket.html#bytesAvailable">bytesAvailable</a>() + 1 );
+<a name="x685"></a><a name="x671"></a> commandSocket-&gt;<a href="qsocket.html#readBlock">readBlock</a>( s.<a href="qmemarray.html#data">data</a>(), commandSocket-&gt;<a href="qsocket.html#bytesAvailable">bytesAvailable</a>() );
+
+ if ( !url() )
+ return;
+
+ // of the code of the server response was 200, we know that the
+ // server is ready to get commands from us now
+<a name="x664"></a> if ( s.<a href="qcstring.html#left">left</a>( 3 ) == "200" )
+ connectionReady = TRUE;
+}
+
+void <a name="f294"></a>Nntp::parseGroups()
+{
+<a name="x678"></a> if ( !commandSocket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() )
+ return;
+
+ // read one line after the other
+ while ( commandSocket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() ) {
+<a name="x686"></a> <a href="qstring.html">QString</a> s = commandSocket-&gt;<a href="qsocket.html#readLine">readLine</a>();
+
+ // if the line starts with a dot, all groups or articles have been listed,
+ // so we finished processing the listChildren() command
+ if ( s[ 0 ] == '.' ) {
+ readGroups = FALSE;
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setState( StDone );
+ emit finished( <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>() );
+ return;
+ }
+
+ // if the code of the server response is 215 or 211
+ // the next line will be the first group or article (depending on what we read).
+ // So let others know that we start reading now...
+ if ( s.<a href="qcstring.html#left">left</a>( 3 ) == "215" || s.<a href="qcstring.html#left">left</a>( 3 ) == "211" ) {
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setState( StInProgress );
+ emit start( <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>() );
+ continue;
+ }
+
+ // parse the line and create a QUrlInfo object
+ // which describes the child (group or article)
+<a name="x663"></a> bool tab = s.<a href="qcstring.html#find">find</a>( '\t' ) != -1;
+<a name="x666"></a> <a href="qstring.html">QString</a> group = s.<a href="qcstring.html#mid">mid</a>( 0, s.<a href="qcstring.html#find">find</a>( tab ? '\t' : ' ' ) );
+ <a href="qurlinfo.html">QUrlInfo</a> inf;
+<a name="x700"></a> inf.<a href="qurlinfo.html#setName">setName</a>( group );
+ <a href="qstring.html">QString</a> path = <a href="qnetworkprotocol.html#url">url</a>()-&gt;path();
+<a name="x698"></a> inf.<a href="qurlinfo.html#setDir">setDir</a>( path.<a href="qstring.html#isEmpty">isEmpty</a>() || path == "/" );
+<a name="x702"></a> inf.<a href="qurlinfo.html#setSymLink">setSymLink</a>( FALSE );
+<a name="x699"></a><a name="x697"></a> inf.<a href="qurlinfo.html#setFile">setFile</a>( !inf.<a href="qurlinfo.html#isDir">isDir</a>() );
+<a name="x703"></a> inf.<a href="qurlinfo.html#setWritable">setWritable</a>( FALSE );
+<a name="x701"></a> inf.<a href="qurlinfo.html#setReadable">setReadable</a>( TRUE );
+
+ // let others know about our new child
+ emit newChild( inf, operationInProgress() );
+ }
+
+}
+
+void <a name="f295"></a>Nntp::parseArticle()
+{
+ if ( !commandSocket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() )
+ return;
+
+ // read an article one line after the other
+ while ( commandSocket-&gt;<a href="qsocket.html#canReadLine">canReadLine</a>() ) {
+ <a href="qstring.html">QString</a> s = commandSocket-&gt;<a href="qsocket.html#readLine">readLine</a>();
+
+ // if the line starts with a dot, we finished reading something
+ if ( s[ 0 ] == '.' ) {
+ readArticle = FALSE;
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setState( StDone );
+ emit finished( <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>() );
+ return;
+ }
+
+<a name="x669"></a> if ( s.<a href="qcstring.html#right">right</a>( 1 ) == "\n" )
+<a name="x667"></a><a name="x665"></a> s.<a href="qcstring.html#remove">remove</a>( s.<a href="qcstring.html#length">length</a>() - 1, 1 );
+
+ // emit the new data of the article which we read
+<a name="x690"></a> emit data( QCString( s.<a href="qstring.html#ascii">ascii</a>() ), operationInProgress() );
+ }
+}
+
+void <a name="f296"></a>Nntp::error( int code )
+{
+ if ( code == QSocket::ErrHostNotFound ||
+ code == QSocket::ErrConnectionRefused ) {
+ // this signal is called if connecting to the server failed
+ if ( <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>() ) {
+ <a href="qstring.html">QString</a> msg = <a href="qobject.html#tr">tr</a>( "Host not found or couldn't connect to: \n" + url()-&gt;host() );
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setState( StFailed );
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setProtocolDetail( msg );
+ <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()-&gt;setErrorCode( (int)ErrHostNotFound );
+ <a href="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</a>();
+ emit finished( <a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>() );
+ }
+ }
+}
+</pre>
+
+<p>See also <a href="network-examples.html">Network Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/next.png b/doc/html/next.png
new file mode 100644
index 0000000..7434fa2
--- /dev/null
+++ b/doc/html/next.png
Binary files differ
diff --git a/doc/html/nextunfinished.png b/doc/html/nextunfinished.png
new file mode 100644
index 0000000..618fc94
--- /dev/null
+++ b/doc/html/nextunfinished.png
Binary files differ
diff --git a/doc/html/nsplugin-examples.html b/doc/html/nsplugin-examples.html
new file mode 100644
index 0000000..ce3961a
--- /dev/null
+++ b/doc/html/nsplugin-examples.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:460 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Netscape Plugin Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Netscape Plugin Examples</h1>
+
+
+<p> The following example programs show how to write plugins
+that can be used with web browsers supporting the LiveConnect
+protocol.
+<p> For more information see the <a href="netscape-plugin.html">Plugin Howto</a>.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="grapher-nsplugin-example.html">Grapher Plugin</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="trivial-nsplugin-example.html">Trivial Example</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/object.html b/doc/html/object.html
new file mode 100644
index 0000000..81a4616
--- /dev/null
+++ b/doc/html/object.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Object Model</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Object Model</h1>
+
+
+
+<p> The standard C++ Object Model provides very efficient runtime support
+for the object paradigm. But the C++ Object Model's static nature is
+inflexibile in certain problem domains. Graphical User Interface
+programming is a domain that requires both runtime efficiency and a
+high level of flexibility. Qt provides this, by combining the speed of
+C++ with the flexibility of the Qt Object Model.
+<p> Qt adds these features to C++:
+<p> <ul>
+<li> a very powerful mechanism for seamless object
+communication called <a href="signalsandslots.html">signals and
+ slots</a>;
+<li> queryable and designable <a href="properties.html">object
+ properties</a>;
+<li> powerful <a href="eventsandfilters.html">events and event filters</a>,
+<li> contextual <a href="i18n.html">string translation for internationalization</a>;
+<li> sophisticated interval driven <a href="timers.html">timers</a>
+that make it possible to elegantly integrate many tasks in an
+event-driven GUI;
+<li> hierarchical and queryable <a href="objecttrees.html">object
+ trees</a> that organize object ownership in a natural way;
+<li> guarded pointers, <a href="qguardedptr.html">QGuardedPtr</a>, that are automatically
+set to 0 when the referenced object is destroyed, unlike normal C++
+pointers which become "dangling pointers" when their objects are destroyed.
+</ul>
+<p> Many of these Qt features are implemented with standard C++
+techniques, based on inheritance from <a href="qobject.html">QObject</a>. Others, like the
+object communication mechanism and the dynamic property system,
+require the <a href="metaobjects.html">Meta Object System</a> provided
+by Qt's own <a href="moc.html">Meta Object Compiler (moc)</a>.
+<p> The Meta Object System is a C++ extension that makes the language
+better suited to true component GUI programming. Although templates can
+be used to extend C++, the Meta Object System provides benefits using
+standard C++ that cannot be achieved with templates; see <a href="templates.html">Why doesn't Qt use templates for signals and
+slots?</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/objectmodel.html b/doc/html/objectmodel.html
new file mode 100644
index 0000000..68eb385
--- /dev/null
+++ b/doc/html/objectmodel.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:564 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Object Model</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Object Model</h1>
+
+
+<p> These classes form the basis of the <a href="object.html">Qt Object Model</a>.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qguardedptr.html">QGuardedPtr</a></b><td>Template class that provides guarded pointers to QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qmetaobject.html">QMetaObject</a></b><td>Meta information about Qt objects
+<tr bgcolor=#f0f0f0><td><b><a href="qmetaproperty.html">QMetaProperty</a></b><td>Stores meta data about a property
+<tr bgcolor=#f0f0f0><td><b><a href="qobject.html">QObject</a></b><td>The base class of all Qt objects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a></b><td>Watches the lifetime of multiple QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qvariant.html">QVariant</a></b><td>Acts like a union for the most common Qt data types
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/objecttrees.html b/doc/html/objecttrees.html
new file mode 100644
index 0000000..40b340a
--- /dev/null
+++ b/doc/html/objecttrees.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:572 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Object Trees and Object Ownership</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Object Trees and Object Ownership</h1>
+
+
+
+<p> <a href="qobject.html">QObjects</a> organize themselves in object trees.
+When you create a <a href="qobject.html">QObject</a> with another object as parent, it's added to
+the parent's <a href="qobject.html#children">children()</a> list, and
+is deleted when the parent is. It turns out that this approach fits
+the needs of GUI objects very well. For example, a <a href="qaccel.html">QAccel</a> (keyboard
+accelerator) is a child of the relevant window, so when the user closes
+that window, the accelerator is deleted too.
+<p> The static function <a href="qobject.html#objectTrees">QObject::objectTrees</a>() provides access to all
+the root objects that currently exist.
+<p> <a href="qwidget.html">QWidget</a>, the base class of everything that appears on the screen,
+extends the parent-child relationship. A child normally also becomes a
+child widget, i.e. it is displayed in its parent's coordinate system
+and is graphically clipped by its parent's boundaries. For example,
+when the an application deletes a message box after it has been
+closed, the message box's buttons and label are also deleted, just as
+we'd want, because the buttons and label are children of the message
+box.
+<p> You can also delete child objects yourself, and they will remove
+themselves from their parents. For example, when the user removes a
+toolbar it may lead to the application deleting one of its <a href="qtoolbar.html">QToolBar</a>
+objects, in which case the tool bar's <a href="qmainwindow.html">QMainWindow</a> parent would
+detect the change and reconfigure its screen space accordingly.
+<p> The debugging functions <a href="qobject.html#dumpObjectTree">QObject::dumpObjectTree</a>() and <a href="qobject.html#dumpObjectInfo">QObject::dumpObjectInfo</a>() are often useful when an application looks or
+acts strangely.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-box-example.html b/doc/html/opengl-box-example.html
new file mode 100644
index 0000000..a0459ee
--- /dev/null
+++ b/doc/html/opengl-box-example.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/box/box.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Box Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Box Example</h1>
+
+
+<p>
+This example demonstrates how to use OpenGL in Qt.
+<p> Essentially, all you do is put your OpenGL code in a class inherited
+from <a href="qglwidget.html">QGLWidget</a>. This class may then be used like any other Qt widget,
+including the use of signals and slots and geometry management.
+<p> See <tt>$QTDIR/examples/opengl/box</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-examples.html b/doc/html/opengl-examples.html
new file mode 100644
index 0000000..e3a6989
--- /dev/null
+++ b/doc/html/opengl-examples.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:424 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Examples</h1>
+
+
+<p> The following example programs demonstrate the use
+of the Qt OpenGL module.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-box-example.html">OpenGL Box Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-gear-example.html">OpenGL Gear Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-overlay-example.html">OpenGL Overlay Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-overlay-x11-example.html">OpenGL Overlay X11 Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-pixmap-example.html">OpenGL Pixmap Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-sharedbox-example.html">OpenGL Shared Box Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="opengl-texture-example.html">OpenGL Texture Example</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-gear-example.html b/doc/html/opengl-gear-example.html
new file mode 100644
index 0000000..e5259f6
--- /dev/null
+++ b/doc/html/opengl-gear-example.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/gear/gear.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Gear Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Gear Example</h1>
+
+
+<p>
+This example demonstrates how to use OpenGL display lists.
+<p> See <tt>$QTDIR/examples/opengl/gear</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-overlay-example.html b/doc/html/opengl-overlay-example.html
new file mode 100644
index 0000000..4042573
--- /dev/null
+++ b/doc/html/opengl-overlay-example.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/overlay/overlay.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Overlay Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Overlay Example</h1>
+
+
+<p>
+This example demonstrates how to use OpenGL overlays with the Qt OpenGL
+Extension. It features a <a href="qglwidget.html">QGLWidget</a> with a relatively expensive redrawing
+operation, and rubber-band drawing in the overlay plane. Using the
+overlay has the advantage that the rubber-band may be drawn and erased
+without damaging the image in the main plane, so costly redraws are
+avoided.
+<p> See <tt>$QTDIR/examples/opengl/overlay</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-overlay-x11-example.html b/doc/html/opengl-overlay-x11-example.html
new file mode 100644
index 0000000..6bc5136
--- /dev/null
+++ b/doc/html/opengl-overlay-x11-example.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/overlay_x11/overlay_x11.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Overlay X11 Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Overlay X11 Example</h1>
+
+
+<p>
+<b>Warning:</b> From version 5.0 onwards, the Qt OpenGL Extension includes
+direct support for use of OpenGL overlays. For many uses of overlays,
+this makes the technique described below redundant. See the <a href="opengl-overlay-example.html">overlay</a> example program. The
+following is a discussion on how to use non-QGL widgets in overlay
+planes.
+<p> Overlayrubber: An example program showing how to use Qt and Qt OpenGL
+Extension with X11 overlay visuals.
+<p> See <tt>$QTDIR/examples/opengl/overlay_x11</tt> for the source code.
+<p> Background information for this example can be found in the
+information on <a href="opengl-x11-overlays.html">overlays</a>.
+<p> The example program has three main parts:
+<p> <ol type=1>
+<li> <em>GearWidget</em> - a normal, simple <a href="qglwidget.html">QGLWidget</a>. This renders the usual
+gears. It has been modified to print a debug message every time it
+redraws (renders) itself. Thus, you can easily confirm that drawing in
+the overlay plane does not cause redrawings in the main plane where
+the QGLWidget resides.
+<p> <li> <em>RubberbandWidget</em> - Very simple standard (non-GL) Qt widget that
+implements rubberband drawing. Designed for use in an overlay plane.
+It takes the plane's transparent color as a constructor argument and
+uses that for its background color. Thus, the widget itself will be
+invisible, only the rubberbands it draws will be visible.
+<p> <li> <em>main.cpp</em> Creates a GearWidget and a Rubberbandwidget and puts the
+latter on top of the former. Contains a routine that checks that the
+default visual is in an overlay plane, and returns the transparent
+color of that plane.
+</ol>
+<p> <h2> Running the Example
+</h2>
+<a name="1"></a><p> Start the <tt>overlayrubber</tt> executable. Click and drag with the left
+mouse button to see rubberband drawing. Observe that the <a href="qglwidget.html">QGLWidget</a>
+does not redraw itself (no redraw debug messages are output), and yet
+the image is not destroyed. Marvel at the coolness of X11 overlays!
+<p> <h2> Using this technique in a real application
+</h2>
+<a name="2"></a><p> For clarity, this example program has been kept very simple. Here are
+some hints for real application usage:
+<p> <ul>
+<p> <li> <em>All normal widgets are in the overlay plane.</em> This means that you
+can put all kinds of Qt widgets (your own or standard Qt widgets) on
+top of the OpenGL image (widget), e.g. pushbuttons etc., and they can
+be moved, resized, or removed without destroying the OpenGL image.
+<p> <li> <em>Using with geometry management.</em> The <a href="qlayout.html">QLayout</a> classes don't permit
+putting one widget (the overlay) on top of another (the OpenGL
+widget); that would defy the whole purpose of the automatic layout.
+The solution is to add just one of them to the QLayout object. Have it
+keep a pointer to the other (i.e. the <a href="qglwidget.html">QGLWidget</a> knows about its
+overlay widget or vice versa). Implement the resizeEvent() method of
+the widget you put in the layout, and make it call setGeometry() on
+the other widget with its own geometry as parameters, thus keeping the
+two widgets' geometries synchronized.
+<p> <li> <em>Using together with <a href="qpalette.html">QPalette</a> and <a href="qcolorgroup.html">QColorGroup</a>.</em> Instead of the
+simplistic setBackgroundColor( transparentColor ), you can
+use Qt's QPalette system to make your overlay widgets use
+transparent color for what you want. This way, the normal Qt widgets
+can be used as overlays for fancy effects. Just create a palette for
+them with the transparent color for the relevant color roles, e.g.
+Background and Base, in the Normal and/or Active modes. This way, you
+can create see-through QPushButtons etc.
+</ul>
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-pixmap-example.html b/doc/html/opengl-pixmap-example.html
new file mode 100644
index 0000000..182b9af
--- /dev/null
+++ b/doc/html/opengl-pixmap-example.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/glpixmap/glpixmap.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Pixmap Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Pixmap Example</h1>
+
+
+<p>
+This example program is an extension of the <a href="opengl-box-example.html">OpenGL Box example</a>.
+<p> It demonstrates how to render OpenGL into a <a href="qpixmap.html">QPixmap</a>.
+<p> See <tt>$QTDIR/examples/opengl/glpixmap</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-sharedbox-example.html b/doc/html/opengl-sharedbox-example.html
new file mode 100644
index 0000000..e772578
--- /dev/null
+++ b/doc/html/opengl-sharedbox-example.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/sharedbox/sharedbox.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Shared Box Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Shared Box Example</h1>
+
+
+<p>
+This example program is an extension of the <a href="opengl-box-example.html">Box example</a>.
+<p> It demonstrates how to use OpenGL display list sharing with
+QGLWidgets.
+<p> See <tt>$QTDIR/examples/opengl/sharedbox</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-texture-example.html b/doc/html/opengl-texture-example.html
new file mode 100644
index 0000000..1517356
--- /dev/null
+++ b/doc/html/opengl-texture-example.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/opengl/texture/texture.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL Texture Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL Texture Example</h1>
+
+
+<p>
+This example program demonstrates how to use OpenGL 2D textures.
+<p> See <tt>$QTDIR/examples/opengl/texture</tt> for the source code.
+<p> <p>See also <a href="opengl-examples.html">OpenGL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl-x11-overlays.html b/doc/html/opengl-x11-overlays.html
new file mode 100644
index 0000000..59c5b66
--- /dev/null
+++ b/doc/html/opengl-x11-overlays.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/opengl-x11-overlays.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to use X11 overlays with the Qt OpenGL extension</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>How to use X11 overlays with the Qt OpenGL extension</h1>
+
+
+
+<p> X11 overlays are a powerful mechanism for drawing
+annotations etc., on top of an image without destroying it, thus saving
+a great deal of image rendering time. For more information, consult the highly
+recommended book <em>OpenGL Programming for the X Window System</em> (Mark
+Kilgard, Addison Wesley Developers Press 1996).
+<p> <b>Warning:</b> From version 5.0 onwards, the Qt OpenGL Extension includes
+direct support for the use of OpenGL overlays. For many uses of
+overlays, this makes the technique described below redundant. See the
+<a href="opengl-overlay-example.html">overlay</a> example program. The
+following is a discussion on how to use non-QGL widgets in overlay
+planes.
+<p> In the typical case, X11 overlays can easily be used together with the
+current version of Qt and the Qt OpenGL Extension. The following
+requirements apply:
+<p> <ol type=1>
+<li> Your X server and graphics card/hardware must support overlays.
+For many X servers, overlay support can be turned on with
+a configuration option; consult your X server installation
+documentation.
+<p> <li> Your X server must (be configured to) use an overlay visual as the
+default visual. Most modern X servers do this, since this has the
+added advantage that pop-up menus, overlapping windows etc., will
+<em>not</em> destroy underlying images in the main plane, thereby
+avoiding expensive redraws.
+<p> <li> The best (deepest) visual for OpenGL rendering is in the main
+plane. This is the normal case. Typically, X servers that support
+overlays provide a 24 bit deep TrueColor visual in the main plane,
+and an 8 bit PseudoColor (default) visual in the overlay plane.
+</ol>
+<p> The provided example program <a href="opengl-overlay-example.html">X11
+overlay</a> will check for these and report if anything is wrong.
+See <a href="#x11visuals">About X11 Visuals</a>, below for more
+information.
+<p> <h2> How it works
+</h2>
+<a name="1"></a><p> Given the above, a <a href="qglwidget.html">QGLWidget</a> will by default use the main plane
+visual, while all other widgets will use the overlay visual. Thus, we
+can place a normal widget on top of the QGLWidget, and do drawing on
+it, without destroying the image in the OpenGL window. In other words,
+we can use all the drawing capabilities of <a href="qpainter.html">QPainter</a> to draw the
+annotations, rubberbands, etc. For the typical use of overlays,
+this is much easier than using OpenGL for rendering the annotations.
+<p> An overlay plane has a specific color called the transparent
+color. Pixels drawn in this color will not be visible; instead the
+underlying OpenGL image will show through. In the example program
+<a href="opengl-overlay-example.html">X11 overlay</a>, the file
+<tt>main.cpp</tt> contains a routine that returns a <a href="qcolor.html">QColor</a> containing the
+transparent color. For the overlay widget, you will typically want to
+set the background color to the transparent color, so that the OpenGL
+image shows through except where explicitly overpainted.
+<p> Note: to use this technique, you must not use the "ManyColor" or
+"TrueColor" ColorSpec for <a href="qapplication.html">QApplication</a>, because this will force
+the normal Qt widgets to use a TrueColor visual, which will typically
+be in the main plane, not in the overlay plane as desired.
+<p> <a name="x11visuals"></a>
+<h2> About X11 visuals
+</h2>
+<a name="2"></a><p> The utilities directory contains two small programs that can help you
+determine the capabilities of your X server. These programs are from
+the OpenGL book mentioned above, see utilities/NOTICE for copyright
+information. The full set of example programs from this book is
+available at <a href="ftp://ftp.sgi.com/pub/opengl/opengl_for_x/">ftp://ftp.sgi.com/pub/opengl/opengl_for_x/</a>.
+<p> <tt>glxvisuals</tt> will list all the GL-capable visuals the X server
+provides, together with the depth and other GL-specific information
+for each. Note especially the column "lvl"; a number in this column
+means the visual is in an overlay plane.
+<p> <tt>sovinfo</tt> will list all available visuals, and provides special
+transparency information for overlay visuals.
+<p> The <a href="opengl-overlay-example.html">X11 overlay</a> example
+program will output what visual is used for the normal Qt widgets, and
+what visual is used by the <a href="qglwidget.html">QGLWidget</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opengl.html b/doc/html/opengl.html
new file mode 100644
index 0000000..78eff9c
--- /dev/null
+++ b/doc/html/opengl.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qgl.cpp:2250 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt OpenGL 3D Graphics</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt OpenGL 3D Graphics</h1>
+
+
+<p>
+<p>
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> OpenGL is a standard API for rendering 3D graphics.
+<p> OpenGL only deals with 3D rendering and provides little or no support
+for GUI programming issues. The user interface for an
+OpenGL<sup>*</sup> application must be created with another toolkit,
+such as <a href="motif-extension.html#Motif">Motif</a> on the X platform, Microsoft Foundation Classes (MFC)
+under Windows, or Qt on <em>both</em> platforms.
+<p> The Qt OpenGL module makes it easy to use OpenGL in Qt applications.
+It provides an OpenGL widget class that can be used just like any
+other Qt widget, except that it opens an OpenGL display buffer where
+you can use the OpenGL API to render the contents.
+<p> The Qt OpenGL module is implemented as a platform-independent Qt/C++
+wrapper around the platform-dependent GLX, WGL, or AGL C APIs. The
+functionality provided is very similar to Mark Kilgard's GLUT library,
+but with much more non-OpenGL-specific GUI functionality, i.e. the
+whole Qt API.
+<p> <h2> Installation
+</h2>
+<a name="2"></a><p> When you install Qt for X11, the configure script will autodetect if
+OpenGL headers and libraries are installed on your system, and if so,
+it will include the Qt OpenGL module in the Qt library. (If your
+OpenGL headers or libraries are placed in a non-standard directory,
+you may need to change the QMAKE_INCDIR_OPENGL and/or
+QMAKE_LIBDIR_OPENGL in the config file for your system). Some
+configurations require threading to be enabled for OpenGL, so if
+OpenGL is not detected, try <tt>configure -thread</tt>.
+<p> When you install Qt for Windows, the Qt OpenGL module is always
+included.
+<p> The Qt OpenGL module is not licensed for use with the Qt Professional
+Edition. Consider upgrading to the Qt Enterprise Edition if you
+require OpenGL support.
+<p> Note about using Mesa on X11: Mesa versions earlier than 3.1 would use
+the name "MesaGL" and "MesaGLU" for the libraries, instead of "GL" and
+"GLU". If you want to use a pre-3.1 version of Mesa, you must change
+the Makefiles to use these library names instead. The easiest way to
+do this is to edit the QMAKE_LIBS_OPENGL line in the config file you
+are using, changing "-lGL -lGLU" to "-lMesaGL -lMesaGLU"; then run
+"configure" again.
+<p> <h2> The <a href="qgl.html">QGL</a> Classes
+</h2>
+<a name="3"></a><p> The OpenGL support classes in Qt are:
+<ul>
+<li> <a href="qglwidget.html">QGLWidget</a>: An easy-to-use Qt
+widget for rendering OpenGL scenes.
+<li> <a href="qglcontext.html">QGLContext</a>: Encapsulates an OpenGL rendering context.
+<li> <a href="qglformat.html">QGLFormat</a>: Specifies the
+display format of a rendering context.
+<li> <a href="qglcolormap.html">QGLColormap</a>: Handles indexed
+colormaps in GL-index mode.
+</ul>
+<p> Many applications only need the high-level <a href="qglwidget.html">QGLWidget</a> class. The other
+QGL classes provide advanced features. X11 users might like to read
+the notes on <a href="opengl-x11-overlays.html">overlays</a>.
+<p> See also the <a href="opengl-examples.html">OpenGL examples</a>.
+<p> The QGL documentation assumes that you are familiar with OpenGL
+programming. If you're new to the subject a good starting point is
+<a href="http://www.opengl.org/">http://www.opengl.org/</a>.
+<p> <sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the
+United States and other countries.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/opensourceedition.html b/doc/html/opensourceedition.html
new file mode 100644
index 0000000..ad9b486
--- /dev/null
+++ b/doc/html/opensourceedition.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/freeeditions.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Open Source Edition</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Open Source Edition</h1>
+
+
+<p>
+<p> Open source software (also called "free software") is software that comes
+with a license that gives users certain rights. In particular the right to
+use the software, to modify it, to obtain its source, and to pass it on
+(under the same terms).
+<p> Trolltech supports the open source software concept by providing the Qt Open Source
+Edition. You can use this edition of Qt to create open source software, i.e.
+software that is licensed under the GNU GPL or a similarly recognized
+open source license. Trolltech's support of open source with the Qt Open Source
+Edition has enabled large successful software projects like KDE, to
+thrive, with thousands of developers around the world using the Qt Open Source
+Edition at no cost to themselves. The Qt Open Source Edition is available for
+Unix/X11, Macintosh, and embedded Linux.
+<p> The Open Source Edition can be downloaded from here:
+<a href="http://www.trolltech.com/download/">http://www.trolltech.com/download/</a>.
+<p> It is also possible to develop commercial software using Qt, but to do
+so you must buy a commercial license for the <a href="commercialeditions.html">Professional or Enterprise Edition</a>. If
+you buy a commercial edition of Qt you can sell your software for any
+price and with any license you like. Thousands of commercial companies
+use commercial editions of Qt to develop the products they sell.
+<p> If you use the Qt Open Source Edition, there are certain licensing
+conditions that the GNU GPL imposes on you, to ensure that your users
+enjoy the freedoms guaranteed by the GPL. Users are entitled to:
+<p> <ol type=1>
+<li> Run your software for any purpose.
+<li> Obtain and study your software's source code, and adapt it to their
+needs.
+<li> Redistribute your software and its source code to others (under the
+same terms).
+<li> Improve or modify your software, and release these changes to the
+public.
+</ol>
+<p> These freedoms apply to all the source code for all the modules your
+software is based on, regardless of whether they have been written by
+you or by others. The freedoms also apply to any associated interface
+definition files, and even include the scripts and control files used
+to control compilation and installation of the executable; otherwise
+users could not exercise their rights.
+<p> This means that you cannot use the Qt Open Source Edition if your software
+must be built with any modules that impose conditions on you that
+contradict the conditions of the GNU GPL, including, but not limited
+to, software patents, commercial license agreements, copyrighted
+interface definitions or any sort of non-disclosure agreement. In
+these circumstances you must use a commercial edition of Qt.
+<p> See the <a href="faq.html">FAQ</a> for answers to frequently
+asked questions on Qt Open Source Edition licensing and its implications.
+<p> More information on open source software is available online:
+<p> <ul>
+<li> GNU GPL: <a href="http://www.gnu.org/">http://www.gnu.org/</a>
+<li> Open source licensing: <a href="http://www.opensource.org/">http://www.opensource.org/</a>
+</ul>
+<p> Information about Qt Commercial License Agreements is available at
+<a href="http://www.trolltech.com/pricing.html">http://www.trolltech.com/pricing.html</a>. You can also email
+<a href="mailto:sales@trolltech.com">sales@trolltech.com</a>.
+<p> If you are in doubt what edition of Qt is right for your project,
+please contact
+<a href="mailto:info@trolltech.com">info@trolltech.com</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/organizers.html b/doc/html/organizers.html
new file mode 100644
index 0000000..2609e64
--- /dev/null
+++ b/doc/html/organizers.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:595 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Organizers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Organizers</h1>
+
+
+<p> These classes are used to organize and group GUI primitives into more
+complex applications or dialogs.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbuttongroup.html">QButtonGroup</a></b><td>Organizes QButton widgets in a group
+<tr bgcolor=#f0f0f0><td><b><a href="qgroupbox.html">QGroupBox</a></b><td>Group box frame with a title
+<tr bgcolor=#f0f0f0><td><b><a href="qhbox.html">QHBox</a></b><td>Horizontal geometry management for its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qhbuttongroup.html">QHButtonGroup</a></b><td>Organizes QButton widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qhgroupbox.html">QHGroupBox</a></b><td>Organizes widgets in a group with one horizontal row
+<tr bgcolor=#f0f0f0><td><b><a href="qsplitter.html">QSplitter</a></b><td>Implements a splitter widget
+<tr bgcolor=#f0f0f0><td><b><a href="qtabwidget.html">QTabWidget</a></b><td>Stack of tabbed widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qvbox.html">QVBox</a></b><td>Vertical geometry management of its child widgets
+<tr bgcolor=#f0f0f0><td><b><a href="qvbuttongroup.html">QVButtonGroup</a></b><td>Organizes QButton widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qvgroupbox.html">QVGroupBox</a></b><td>Organizes a group of widgets in a vertical column
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetstack.html">QWidgetStack</a></b><td>Stack of widgets of which only the top widget is user-visible
+<tr bgcolor=#f0f0f0><td><b><a href="qwizard.html">QWizard</a></b><td>Framework for wizard dialogs
+<tr bgcolor=#f0f0f0><td><b><a href="qworkspace.html">QWorkspace</a></b><td>Workspace window that can contain decorated windows, e.g. for MDI
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/outliner-example.html b/doc/html/outliner-example.html
new file mode 100644
index 0000000..d7a268f
--- /dev/null
+++ b/doc/html/outliner-example.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/xml/outliner/outliner.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Outliner to show use of DOM</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Outliner to show use of DOM</h1>
+
+
+<p>
+<p> This example presents a small outliner program to show the basic usage of
+the <a href="xml.html#dom">DOM classes</a>. The format of the outlines
+is the OPML format as described in http://www.opml.org/spec.
+<p> This example shows how to load a DOM tree from an XML file and how to
+traverse it.
+<p> <hr>
+<p> Sample XML file (todos.opml):
+<p> <pre>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
+&lt;opml version="1.0"&gt;
+ &lt;head&gt;
+ &lt;title&gt;Todo List&lt;/title&gt;
+ &lt;dateCreated&gt;Tue, 31 Oct 2000 17:00:17 CET&lt;/dateCreated&gt;
+ &lt;dateModified&gt;Tue, 31 Oct 2000 17:00:17 CET&lt;/dateModified&gt;
+ &lt;ownerName&gt;Arthur Dent&lt;/ownerName&gt;
+ &lt;ownerEmail&gt;info@trolltech.com&lt;/ownerEmail&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;outline text="Background"&gt;
+ &lt;outline text="This is an example todo list."/&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Books to read"&gt;
+ &lt;outline text="Science Fiction"&gt;
+ &lt;outline text="Philip K. Dick"&gt;
+ &lt;outline text="Do Androids Dream of Electical Sheep?"/&gt;
+ &lt;outline text="The Three Stigmata of Palmer Eldritch"/&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Robert A. Heinlein"&gt;
+ &lt;outline text="Stranger in a Strange Land"/&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Isaac Asimov"&gt;
+ &lt;outline text="Foundation and Empire"/&gt;
+ &lt;/outline&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Qt Books (in English)"&gt;
+ &lt;outline text="Blanchette &amp;amp; Summerfield: C++ GUI Programming with Qt 3"/&gt;
+ &lt;outline text="Dalheimer: Programming with Qt"/&gt;
+ &lt;outline text="Griffith: KDE 2/Qt Programming Bible"/&gt;
+ &lt;outline text="Hughes: Linux Rapid Application Development"/&gt;
+ &lt;outline text="Solin: <a href="qt.html">Qt</a> Programming in 24 hours"/&gt;
+ &lt;outline text="Ward: <a href="qt.html">Qt</a> 2 Programming for Linux and Windows 2000"/&gt;
+ &lt;/outline&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Shopping list"&gt;
+ &lt;outline text="General"&gt;
+ &lt;outline text="Towel"/&gt;
+ &lt;outline text="Hair dryer"/&gt;
+ &lt;outline text="Underpants"/&gt;
+ &lt;/outline&gt;
+ &lt;outline text="For Sunday"&gt;
+ &lt;outline text="Beef"/&gt;
+ &lt;outline text="Rice"/&gt;
+ &lt;outline text="Carrots"/&gt;
+ &lt;outline text="Beans"/&gt;
+ &lt;outline text="Beer"/&gt;
+ &lt;outline text="Wine"/&gt;
+ &lt;outline text="Orange juice"/&gt;
+ &lt;/outline&gt;
+ &lt;/outline&gt;
+ &lt;outline text="Write a letter to Ford"&gt;
+ &lt;/outline&gt;
+ &lt;/body&gt;
+&lt;/opml&gt;
+</pre>
+
+<p> <hr>
+<p> Header file (outlinetree.h):
+<p> <pre>/****************************************************************************
+** $Id: qt/outlinetree.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef OUTLINETREE_H
+#define OUTLINETREE_H
+
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;
+
+class OutlineTree : public <a href="qlistview.html">QListView</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ OutlineTree( const <a href="qstring.html">QString</a> fileName, QWidget *parent = 0, const char *name = 0 );
+ ~OutlineTree();
+
+private:
+ <a href="qdomdocument.html">QDomDocument</a> domTree;
+ void getHeaderInformation( const <a href="qdomelement.html">QDomElement</a> &amp;header );
+ void buildTree( <a href="qlistviewitem.html">QListViewItem</a> *parentItem, const <a href="qdomelement.html">QDomElement</a> &amp;parentElement );
+};
+
+#endif // OUTLINETREE_H
+</pre>
+
+<p> <hr>
+<p> Implementation (outlinetree.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/outlinetree.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "outlinetree.h"
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+
+<a name="f522"></a>OutlineTree::OutlineTree( const <a href="qstring.html">QString</a> fileName, QWidget *parent, const char *name )
+ : <a href="qlistview.html">QListView</a>( parent, name )
+{
+ // div. configuration of the list view
+ <a href="qlistview.html#addColumn">addColumn</a>( "Outlines" );
+ <a href="qlistview.html#setSorting">setSorting</a>( -1 );
+ <a href="qlistview.html#setRootIsDecorated">setRootIsDecorated</a>( TRUE );
+
+ // read the XML file and create DOM tree
+ <a href="qfile.html">QFile</a> opmlFile( fileName );
+<a name="x1915"></a> if ( !opmlFile.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+<a name="x1917"></a> QMessageBox::<a href="qmessagebox.html#critical">critical</a>( 0,
+ <a href="qobject.html#tr">tr</a>( "Critical Error" ),
+ <a href="qobject.html#tr">tr</a>( "Cannot open file %1" ).arg( fileName ) );
+ return;
+ }
+ if ( !domTree.setContent( &amp;opmlFile ) ) {
+ QMessageBox::<a href="qmessagebox.html#critical">critical</a>( 0,
+ <a href="qobject.html#tr">tr</a>( "Critical Error" ),
+ <a href="qobject.html#tr">tr</a>( "Parsing error for file %1" ).arg( fileName ) );
+<a name="x1914"></a> opmlFile.<a href="qfile.html#close">close</a>();
+ return;
+ }
+ opmlFile.<a href="qfile.html#close">close</a>();
+
+ // get the header information from the DOM
+ <a href="qdomelement.html">QDomElement</a> root = domTree.documentElement();
+ <a href="qdomnode.html">QDomNode</a> node;
+<a name="x1907"></a> node = root.<a href="qdomnode.html#firstChild">firstChild</a>();
+<a name="x1909"></a> while ( !node.<a href="qdomnode.html#isNull">isNull</a>() ) {
+<a name="x1911"></a><a name="x1908"></a> if ( node.<a href="qdomnode.html#isElement">isElement</a>() &amp;&amp; node.<a href="qdomnode.html#nodeName">nodeName</a>() == "head" ) {
+<a name="x1913"></a> <a href="qdomelement.html">QDomElement</a> header = node.<a href="qdomnode.html#toElement">toElement</a>();
+ getHeaderInformation( header );
+ break;
+ }
+<a name="x1910"></a> node = node.<a href="qdomnode.html#nextSibling">nextSibling</a>();
+ }
+ // create the tree view out of the DOM
+ node = root.<a href="qdomnode.html#firstChild">firstChild</a>();
+ while ( !node.<a href="qdomnode.html#isNull">isNull</a>() ) {
+ if ( node.<a href="qdomnode.html#isElement">isElement</a>() &amp;&amp; node.<a href="qdomnode.html#nodeName">nodeName</a>() == "body" ) {
+ <a href="qdomelement.html">QDomElement</a> body = node.<a href="qdomnode.html#toElement">toElement</a>();
+ buildTree( 0, body );
+ break;
+ }
+ node = node.<a href="qdomnode.html#nextSibling">nextSibling</a>();
+ }
+}
+
+OutlineTree::~OutlineTree()
+{
+}
+
+void <a name="f523"></a>OutlineTree::getHeaderInformation( const <a href="qdomelement.html">QDomElement</a> &amp;header )
+{
+ // visit all children of the header element and look if you can make
+ // something with it
+ <a href="qdomnode.html">QDomNode</a> node = header.<a href="qdomnode.html#firstChild">firstChild</a>();
+ while ( !node.<a href="qdomnode.html#isNull">isNull</a>() ) {
+ if ( node.<a href="qdomnode.html#isElement">isElement</a>() ) {
+ // case for the different header entries
+ if ( node.<a href="qdomnode.html#nodeName">nodeName</a>() == "title" ) {
+ <a href="qdomtext.html">QDomText</a> textChild = node.<a href="qdomnode.html#firstChild">firstChild</a>().toText();
+ if ( !textChild.<a href="qdomnode.html#isNull">isNull</a>() ) {
+<a name="x1912"></a> <a href="qlistview.html#setColumnText">setColumnText</a>( 0, textChild.<a href="qdomnode.html#nodeValue">nodeValue</a>() );
+ }
+ }
+ }
+ node = node.<a href="qdomnode.html#nextSibling">nextSibling</a>();
+ }
+}
+
+void <a name="f524"></a>OutlineTree::buildTree( <a href="qlistviewitem.html">QListViewItem</a> *parentItem, const <a href="qdomelement.html">QDomElement</a> &amp;parentElement )
+{
+ <a href="qlistviewitem.html">QListViewItem</a> *thisItem = 0;
+ <a href="qdomnode.html">QDomNode</a> node = parentElement.<a href="qdomnode.html#firstChild">firstChild</a>();
+ while ( !node.<a href="qdomnode.html#isNull">isNull</a>() ) {
+ if ( node.<a href="qdomnode.html#isElement">isElement</a>() &amp;&amp; node.<a href="qdomnode.html#nodeName">nodeName</a>() == "outline" ) {
+ // add a new list view item for the outline
+ if ( parentItem == 0 )
+ thisItem = new <a href="qlistviewitem.html">QListViewItem</a>( this, thisItem );
+ else
+ thisItem = new <a href="qlistviewitem.html">QListViewItem</a>( parentItem, thisItem );
+<a name="x1916"></a> thisItem-&gt;<a href="qlistviewitem.html#setText">setText</a>( 0, node.<a href="qdomnode.html#toElement">toElement</a>().attribute( "text" ) );
+ // recursive build of the tree
+ buildTree( thisItem, node.<a href="qdomnode.html#toElement">toElement</a>() );
+ }
+ node = node.<a href="qdomnode.html#nextSibling">nextSibling</a>();
+ }
+}
+</pre>
+
+<p> <hr>
+<p> Main (main.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "outlinetree.h"
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ OutlineTree outline( "todos.opml" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;outline );
+<a name="x1920"></a> outline.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="xml-examples.html">Qt XML Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/overviews-list.html b/doc/html/overviews-list.html
new file mode 100644
index 0000000..8630ec1
--- /dev/null
+++ b/doc/html/overviews-list.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/overviews-list.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>All Overviews and HOWTOs</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>All Overviews and HOWTOs</h1>
+
+
+
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Qt Object Model
+<th valign="top">Geometry and Layout
+<tr bgcolor="#f0f0f0">
+<td valign="top" colspan="1" rowspan="3">
+<ul>
+<li> <a href="object.html">Qt Object Model</a>
+<li> <a href="objecttrees.html">Object Trees and Object Ownership</a>
+<li> <a href="signalsandslots.html">Signals and Slots</a>
+<li> <a href="metaobjects.html">Meta Object System</a>
+<li> <a href="properties.html">Properties</a>
+<li> <a href="moc.html">Using the Meta Object Compiler</a>
+<li> <a href="templates.html">Why doesn't Qt use templates for signals and slots?</a>
+</ul>
+<p> <td valign="top">
+<ul>
+<li> <a href="layout.html">Layout Classes</a>
+<li> <a href="customlayout.html">Writing your own layout manager</a>
+<li> <a href="coordsys.html">The Coordinate System</a>
+<li> <a href="geometry.html">Window Geometry</a>
+</ul>
+<tr bgcolor="#a2c511">
+<th valign="top"><a href="i18n.html#internationalization">Internationalization</a>
+<tr bgcolor="#f0f0f0">
+<td valign="top">
+<ul>
+<li> <a href="i18n.html">Internationalization with Qt</a>
+<li> <a href="unicode.html">About Unicode</a>
+</ul>
+<tr bgcolor="#a2c511">
+<th valign="top">General
+<th valign="top">Qt/Embedded
+<tr bgcolor="#d0d0d0">
+<td valign="top">
+<ul>
+<li> <a href="installation.html">Installation</a>
+<li> <a href="plugins-howto.html">Qt Plugins</a>
+
+<li> <a href="datastreamformat.html">Format of the QDataStream Operators</a>
+<li> <a href="debug.html">Debugging Techniques</a>
+<li> <a href="dnd.html">Drag and Drop</a>
+<li> <a href="eventsandfilters.html">Events and Event Filters</a>
+<li> <a href="focus.html">Keyboard Focus Overview</a>
+<li> <a href="accelerators.html">Standard Accelerators</a>
+<li> <a href="netscape-plugin.html">Qt-based LiveConnect Plugins</a>
+<li> <a href="activeqt.html">ActiveX support</a>
+<li> <a href="motif-extension.html">Motif Support Extension</a>
+<li> <a href="opengl-x11-overlays.html">OpenGL Overlays (X11)</a>
+<li> <a href="appicon.html">Setting the Application Icon</a>
+<li> <a href="session.html">Session Management</a>
+<li> <a href="shclass.html">Shared Classes</a>
+<li> <a href="customstyles.html">Style overview</a>
+<li> <a href="qt-template-lib.html">Qt Template Library</a>
+<li> <a href="threads.html">Thread Support in Qt</a>
+<li> <a href="timers.html">Timers</a>
+<li> <a href="pictures.html">Pictures of Most Qt Widgets</a>
+<li> <a href="distributingqt.html">Deploying Qt Applications</a>
+
+</ul>
+<p> <td valign="top">
+<ul>
+<li> <a href="emb-qvfb.html">QVFb tool - virtual framebuffer for Qt/Embedded</a>
+<p>&nbsp;</p>
+<li> <a href="emb-install.html">Installing Qt/Embedded</a>
+<li> <a href="emb-features.html">The Feature Definition File</a>
+<li> <a href="emb-classes.html">The Qt/Embedded-specific classes</a>
+<li> <a href="emb-accel.html">Adding an accelerated graphics driver to Qt/Embedded</a>
+<li> <a href="emb-framebuffer-howto.html">Enabling the Linux Framebuffer</a>
+<li> <a href="emb-running.html">Running Qt/Embedded applications</a>
+<li> <a href="emb-charinput.html">Character input in Qt/Embedded</a>
+<li> <a href="emb-fonts.html">Fonts in Qt/Embedded</a>
+<li> <a href="emb-pointer.html">Qt/Embedded Pointer Handling</a>
+<li> <a href="emb-envvars.html">Qt/Embedded environment variables</a>
+<li> <a href="emb-porting.html">Porting your applications to Qt/Embedded</a>
+<li> <a href="embedporting.html">Issues when porting Qt/Embedded to another OS</a>
+<li> <a href="emb-performance.html">Qt/Embedded Performance Tuning</a>
+<li> <a href="emb-vnc.html">Qt/Embedded as a VNC Server</a>
+</ul>
+</table></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/palette.png b/doc/html/palette.png
new file mode 100644
index 0000000..0567db8
--- /dev/null
+++ b/doc/html/palette.png
Binary files differ
diff --git a/doc/html/pdf1.png b/doc/html/pdf1.png
new file mode 100644
index 0000000..104ac16
--- /dev/null
+++ b/doc/html/pdf1.png
Binary files differ
diff --git a/doc/html/pen-cap-styles.png b/doc/html/pen-cap-styles.png
new file mode 100644
index 0000000..4c2c0bc
--- /dev/null
+++ b/doc/html/pen-cap-styles.png
Binary files differ
diff --git a/doc/html/pen-join-styles.png b/doc/html/pen-join-styles.png
new file mode 100644
index 0000000..1aec8ec
--- /dev/null
+++ b/doc/html/pen-join-styles.png
Binary files differ
diff --git a/doc/html/pen-styles.png b/doc/html/pen-styles.png
new file mode 100644
index 0000000..df942b6
--- /dev/null
+++ b/doc/html/pen-styles.png
Binary files differ
diff --git a/doc/html/penstyles.png b/doc/html/penstyles.png
new file mode 100644
index 0000000..a12878b
--- /dev/null
+++ b/doc/html/penstyles.png
Binary files differ
diff --git a/doc/html/phrasebookdialog.png b/doc/html/phrasebookdialog.png
new file mode 100644
index 0000000..d1a323a
--- /dev/null
+++ b/doc/html/phrasebookdialog.png
Binary files differ
diff --git a/doc/html/phrasebookopen.png b/doc/html/phrasebookopen.png
new file mode 100644
index 0000000..4f76b7d
--- /dev/null
+++ b/doc/html/phrasebookopen.png
Binary files differ
diff --git a/doc/html/picture-example.html b/doc/html/picture-example.html
new file mode 100644
index 0000000..72c1640
--- /dev/null
+++ b/doc/html/picture-example.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/picture/picture.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Picture</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Picture</h1>
+
+
+<p>
+This example shows how to make a picture, store it to a file, and read it as
+a set of drawing commands.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/picture.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpicture-h.html">qpicture.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;ctype.h&gt;
+
+
+void paintCar( <a href="qpainter.html">QPainter</a> *p ) // paint a car
+{
+ <a href="qpointarray.html">QPointArray</a> a;
+ <a href="qbrush.html">QBrush</a> brush( Qt::yellow, Qt::SolidPattern );
+<a name="x120"></a> p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( brush ); // use solid, yellow brush
+
+<a name="x125"></a> a.setPoints( 5, 50,50, 350,50, 450,120, 450,250, 50,250 );
+<a name="x115"></a> p-&gt;<a href="qpainter.html#drawPolygon">drawPolygon</a>( a ); // draw car body
+
+ <a href="qfont.html">QFont</a> f( "courier", 12, QFont::Bold );
+<a name="x121"></a> p-&gt;<a href="qpainter.html#setFont">setFont</a>( f );
+
+ <a href="qcolor.html">QColor</a> windowColor( 120, 120, 255 ); // a light blue color
+<a name="x108"></a> brush.<a href="qbrush.html#setColor">setColor</a>( windowColor ); // set this brush color
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( brush ); // set brush
+<a name="x116"></a> p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( 80, 80, 250, 70 ); // car window
+<a name="x117"></a> p-&gt;<a href="qpainter.html#drawText">drawText</a>( 180, 80, 150, 70, Qt::AlignCenter, "-- Qt --\nTrolltech AS" );
+
+ <a href="qpixmap.html">QPixmap</a> pixmap;
+<a name="x124"></a> if ( pixmap.<a href="qpixmap.html#load">load</a>("flag.bmp") ) // load and draw image
+<a name="x114"></a> p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( 100, 85, pixmap );
+
+<a name="x119"></a> p-&gt;<a href="qpainter.html#setBackgroundMode">setBackgroundMode</a>( Qt::OpaqueMode ); // set opaque mode
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( Qt::DiagCrossPattern ); // black diagonal cross pattern
+<a name="x112"></a> p-&gt;<a href="qpainter.html#drawEllipse">drawEllipse</a>( 90, 210, 80, 80 ); // back wheel
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( Qt::CrossPattern ); // black cross fill pattern
+ p-&gt;<a href="qpainter.html#drawEllipse">drawEllipse</a>( 310, 210, 80, 80 ); // front wheel
+}
+
+
+class PictureDisplay : public <a href="qwidget.html">QWidget</a> // picture display widget
+{
+public:
+ PictureDisplay( const char *fileName );
+ ~PictureDisplay();
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void keyPressEvent( <a href="qkeyevent.html">QKeyEvent</a> * );
+private:
+ <a href="qpicture.html">QPicture</a> *pict;
+ <a href="qstring.html">QString</a> name;
+};
+
+<a name="f207"></a>PictureDisplay::PictureDisplay( const char *fileName )
+{
+ pict = new <a href="qpicture.html">QPicture</a>;
+ name = fileName;
+<a name="x122"></a> if ( !pict-&gt;<a href="qpicture.html#load">load</a>(fileName) ) { // cannot load picture
+ delete pict;
+ pict = 0;
+ name.<a href="qstring.html#sprintf">sprintf</a>( "Not able to load picture: %s", fileName );
+ }
+}
+
+PictureDisplay::~PictureDisplay()
+{
+ delete pict;
+}
+
+void PictureDisplay::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qpainter.html">QPainter</a> paint( this ); // paint widget
+ if ( pict )
+<a name="x113"></a> paint.<a href="qpainter.html#drawPicture">drawPicture</a>( *pict ); // draw picture
+ else
+ paint.<a href="qpainter.html#drawText">drawText</a>( <a href="qwidget.html#rect">rect</a>(), AlignCenter, name );
+}
+
+<a name="x127"></a>void PictureDisplay::<a href="qwidget.html#keyPressEvent">keyPressEvent</a>( <a href="qkeyevent.html">QKeyEvent</a> *k )
+{
+<a name="x109"></a> switch ( tolower(k-&gt;<a href="qkeyevent.html#ascii">ascii</a>()) ) {
+ case 'r': // reload
+ pict-&gt;<a href="qpicture.html#load">load</a>( name );
+ <a href="qwidget.html#update">update</a>();
+ break;
+ case 'q': // quit
+<a name="x106"></a> QApplication::<a href="qapplication.html#exit">exit</a>();
+ break;
+ }
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv ); // QApplication required!
+
+ const char *fileName = "car.pic"; // default picture file name
+
+ if ( argc == 2 ) // use argument as file name
+ fileName = argv[1];
+
+ if ( !QFile::exists(fileName) ) {
+ <a href="qpicture.html">QPicture</a> pict; // our picture
+ <a href="qpainter.html">QPainter</a> paint; // our painter
+
+<a name="x111"></a> paint.<a href="qpainter.html#begin">begin</a>( &amp;pict ); // begin painting onto picture
+ paintCar( &amp;paint ); // paint!
+<a name="x118"></a> paint.<a href="qpainter.html#end">end</a>(); // painting done
+
+<a name="x123"></a> pict.<a href="qpicture.html#save">save</a>( fileName ); // save picture
+<a name="x110"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>(0, "Qt Example - Picture", "Saved. Run me again!");
+ return 0;
+ } else {
+ PictureDisplay test( fileName ); // create picture display
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;test); // set main widget
+ test.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Picture");
+ test.<a href="qwidget.html#show">show</a>(); // show it
+
+ return a.<a href="qapplication.html#exec">exec</a>(); // start event loop
+ }
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/pictures.html b/doc/html/pictures.html
new file mode 100644
index 0000000..f953076
--- /dev/null
+++ b/doc/html/pictures.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/pictures.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Pictures of Most Qt Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Pictures of Most Qt Widgets</h1>
+
+
+
+<p> Most of these widgets are shown in either <a href="motif-extension.html#Motif">Motif</a> or Windows style.
+All widgets are supported in both styles (and other <a href="qstyle.html">styles</a>), but for clarity we just present a selection.
+<p> Qt provides more widgets than the selection shown below. And extra Qt
+are available from third parties, and as add-ons to Qt; see <a href="http://www.trolltech.com/products/solutions/index.html">Qt
+Solutions</a>, and <a href="http://www.trolltech.com/freesoftware/index.html">User contributed Qt
+additions</a>.
+<p>
+<p> Below we have three views seperated by <a href="qsplitter.html">QSplitter</a>s. At the
+top-left there's a <a href="qlistbox.html">QListBox</a>, at the top-right there's a <a href="qlistview.html">QListView</a> with a <a href="qheader.html">QHeader</a> and two <a href="qscrollbar.html">QScrollBar</a>s. And at the
+bottom there's a <a href="qiconview.html">QIconView</a>.
+<p> <center><img src="splitter-views-w.png"></center>
+<p> Below we present a <a href="qmainwindow.html">QMainWindow</a> which has
+a <a href="qmenubar.html">QMenuBar</a> and some <a href="qtoolbar.html">QToolBar</a>s that contain
+various widgets, e.g. <a href="qtoolbutton.html">QToolButton</a>s and <a href="qcombobox.html">QComboBox</a>es. The central
+widget is a <a href="qworkspace.html">QWorkspace</a> which is used for MDI window management and
+which contains an MDI-Window featuring a <a href="qtextedit.html">QTextEdit</a>. At the bottom
+you see a <a href="qstatusbar.html">QStatusBar</a> and at the bottom-right a <a href="qsizegrip.html">QSizeGrip</a>.
+<p> <center><img src="mainwindow-w.png"></center>
+<p> The image below shows a <a href="qfiledialog.html">QFileDialog</a>. On the Macintosh and Windows
+platforms you can either use a <a href="qfiledialog.html">QFileDialog</a> or the native file
+dialog. This is explained in the <a href="qfiledialog.html">QFileDialog</a> class documentation.
+<p> <center><img src="qfiledlg-w.png"></center>
+<p> Below is a QPrintDialog. On Macintosh and Windows the native print
+dialog is used, but for other platforms we provide QPrintDialog. Use
+<a href="qprinter.html#setup">QPrinter::setup</a>() for portability instead of the QPrintDialog if you
+need to be platform independent.
+<p> <center><img src="qprintdlg-m.png"></center>
+<p> Below is a <a href="qfontdialog.html">QFontDialog</a>.
+<p> <center><img src="qfontdlg-w.png"></center> <blockquote><p align="center"><em> Windows
+</em></p>
+</blockquote><p> The screenshot below shows a <a href="qcolordialog.html">QColorDialog</a>.
+<p> <center><img src="qcolordlg-w.png"></center>
+<p> Messages are presented using <a href="qmessagebox.html">QMessageBox</a>es, as shown below.
+<p> <center><img src="qmsgbox-w.png"></center>
+<p> The image below shows a <a href="qprogressdialog.html">QProgressDialog</a>. The <a href="qprogressbar.html">QProgressBar</a> can
+also be used as a separate widget.
+<p> <center><img src="qprogdlg-w.png"></center>
+<p> In the screenshot below we have a <a href="qgroupbox.html">QGroupBox</a> that contains a <a href="qlineedit.html">QLineEdit</a>, a read-only <a href="qcombobox.html">QComboBox</a> and an editable <a href="qcombobox.html">QComboBox</a>.
+<p> <center><img src="groupbox-w.png"></center>
+<p> The screenshot below shows a <a href="qpopupmenu.html">QPopupMenu</a>.
+<p> <center><img src="qpopmenu-w.png"></center>
+<p> In the screenshot below there's a <a href="qbuttongroup.html">QButtonGroup</a> containing four <a href="qradiobutton.html">QRadioButton</a>s and two <a href="qcheckbox.html">QCheckBox</a>es.
+<p> <center><img src="buttongroup-w.png"></center>
+<p>
+<p> The screenshot below shows a <a href="qtabdialog.html">QTabDialog</a>. The tabs (<a href="qtabbar.html">QTabBar</a>) or the
+more convenient class <a href="qtabwidget.html">QTabWidget</a>, which combines a tab bar with
+the pages, can be used separately. In the visible page you see a <a href="qlabel.html">QLabel</a>, the range controls <a href="qslider.html">QSlider</a> and <a href="qspinbox.html">QSpinBox</a> and below a <a href="qlcdnumber.html">QLCDNumber</a>. In the bottom row there are some <a href="qpushbutton.html">QPushButton</a>s.
+<p> <center><img src="qtabdlg-w.png"></center>
+<p> In the screenshot below there's a <a href="qtextbrowser.html">QTextBrowser</a> displaying a HTML
+page. See also <a href="qtextedit.html">QTextEdit</a>.
+<p> <center><img src="qtextbrowser-w.png"></center>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/plugins-howto.html b/doc/html/plugins-howto.html
new file mode 100644
index 0000000..b9a38d0
--- /dev/null
+++ b/doc/html/plugins-howto.html
@@ -0,0 +1,262 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/plugins-howto.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Plugins HOWTO</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Plugins HOWTO</h1>
+
+
+
+<p> Qt provides a simple plugin interface which makes it easy to create
+custom database drivers, image formats, text codecs, styles and
+widgets as stand-alone components.
+<a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a>
+<p> Writing a plugin is achieved by subclassing the appropriate plugin
+base clase, implementing a few functions, and adding a macro.
+<p> There are five plugin base classes. Derived plugins are stored
+by default in the standard plugin directory.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Base Class
+<th valign="top">Default Path
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qimageformatplugin.html">QImageFormatPlugin</a>
+<td valign="top"><tt>pluginsbase/imageformats</tt> <sup>*</sup>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="qsqldriverplugin.html">QSqlDriverPlugin</a>
+<td valign="top"><tt>pluginsbase/sqldrivers</tt> <sup>*</sup>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qstyleplugin.html">QStylePlugin</a>
+<td valign="top"><tt>pluginsbase/styles</tt> <sup>*</sup>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="qtextcodecplugin.html">QTextCodecPlugin</a>
+<td valign="top"><tt>pluginsbase/codecs</tt> <sup>*</sup>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qwidgetplugin.html">QWidgetPlugin</a>
+<td valign="top"><tt>pluginsbase/designer</tt> <sup>*</sup>
+</table></center>
+<p> But where is the <tt>pluginsbase</tt> directory? When the application is
+run, Qt will first treat the application's executable directory as the
+<tt>pluginsbase</tt>. For example if the application is in <tt>C:&#92;Program Files&#92;MyApp</tt> and has a style plugin, Qt will look in <tt>C:&#92;Program Files&#92;MyApp&#92;styles</tt>. (See <a href="qapplication.html#applicationDirPath">QApplication::applicationDirPath</a>() for
+how to find out where the application's executable is.) Qt will also
+look in the directory given by <tt>qInstallPathPlugins()</tt>. If you want
+Qt to look in additional places you can add as many paths as you need
+with calls to <a href="qapplication.html#addLibraryPath">QApplication::addLibraryPath</a>(). And if you want to
+set your own path or paths you can use
+<a href="qapplication.html#setLibraryPaths">QApplication::setLibraryPaths</a>().
+<p> Suppose that you have a new style class called 'MyStyle' that you want
+to make available as a plugin. The required code is straightforward:
+<pre>
+ class MyStylePlugin : public <a href="qstyleplugin.html">QStylePlugin</a>
+ {
+ public:
+ MyStylePlugin() {}
+ ~MyStylePlugin() {}
+
+ <a href="qstringlist.html">QStringList</a> keys() const {
+ return QStringList() &lt;&lt; "mystyle";
+ }
+
+ <a href="qstyle.html">QStyle</a>* create( const <a href="qstring.html">QString</a>&amp; key ) {
+ if ( key == "mystyle" )
+ return new MyStyle;
+ return 0;
+ }
+ };
+
+ Q_EXPORT_PLUGIN( MyStylePlugin )
+</pre>
+
+<p> (Note that <a href="qstylefactory.html">QStyleFactory</a> is case-insensitive, and the lower case
+version of the key is used; other factories, e.g. <a href="qwidgetfactory.html">QWidgetFactory</a>, are
+case sensitive.)
+<p> The constructor and destructor do not need to do anything, so are left
+empty. There are only two virtual functions that must be implemented.
+The first is keys() which returns a string list of the classes
+implemented in the plugin. (We've just implemented one class in the
+example above.) The second is a function that returns an object of the
+required class (or 0 if the plugin is asked to create an object of a
+class that it doesn't implement). For <a href="qstyleplugin.html">QStylePlugin</a>, this second
+function is called create().
+<p> It is possible to implement any number of plugin subclasses in a
+single plugin, providing they are all derived from the same base
+class, e.g. QStylePlugin.
+<p> For database drivers, image formats, custom widgets and text codecs,
+no explicit object creation is required. Qt will find and create them
+as required. Styles are an exception, since you might want to set a
+style explicitly in code. To apply a style, use code like this:
+<pre>
+ QApplication::<a href="qapplication.html#setStyle">setStyle</a>( QStyleFactory::<a href="qstylefactory.html#create">create</a>( "MyStyle" ) );
+</pre>
+
+<p> Some plugin classes require additional functions to be implemented.
+See the <a href="designer-manual.html">Qt Designer manual's</a>,
+'Creating Custom Widgets' section in the 'Creating Custom Widgets'
+chapter, for a complete example of a <a href="qwidgetplugin.html">QWidgetPlugin</a>, which implements
+extra functions to integrate the plugin into <em>Qt Designer</em>. The
+<a href="qwidgetfactory.html">QWidgetFactory</a> class provides additional information on
+QWidgetPlugins.
+<p> See the class documentation for details of the virtual functions that
+must be reimplemented for each type of plugin.
+<p> Qt applications automatically know which plugins are available,
+because plugins are stored in the standard plugin subdirectories.
+Because of this applications don't require any code to find and load
+plugins, since Qt handles them automatically.
+<p> The default directory for plugins is <tt>QTDIR/plugins</tt><sup>*</sup>,
+with each type of plugin in a subdirectory for that type, e.g. <tt>styles</tt>. If you want your applications to use plugins and you don't
+want to use the standard plugins path, have your installation process
+determine the path you want to use for the plugins, and save the path,
+e.g. using <a href="qsettings.html">QSettings</a>, for the application to read when it runs. The
+application can then call <a href="qapplication.html#addLibraryPath">QApplication::addLibraryPath</a>() with this
+path and your plugins will be available to the application. Note that
+the final part of the path, i.e. <tt>styles</tt>, <tt>widgets</tt>, etc., cannot
+be changed.
+<p> The normal way to include a plugin with an application is either to
+compile it in with the application, or to compile it into a <tt>DLL</tt> (or
+<tt>so</tt> or other platform specific library type) and use it like any
+other library. If you want the plugin to be loadable then one approach
+is to create a subdirectory under the application, e.g. <tt>appdir/plugins/designer</tt>, and place the plugin in that directory.
+<p> For <a href="designer-manual.html">Qt Designer</a>, you may need to
+call QApplication::addLibraryPath("QTDIR/plugins/designer") to load
+your <a href="designer-manual.html">Qt Designer</a> plugins.
+<p> <sup>*</sup><small> All references to <tt>QTDIR</tt> refer to the path
+where Qt was installed. </small>
+<p> <h2> Loading and Verifying Plugins
+</h2>
+<a name="1"></a><p> When loading plugins, the Qt library does some sanity checking to
+determine whether or not the plugin can be loaded and used. This
+provides the ability to have multiple versions and configurations of
+the Qt library installed side by side.
+<ul>
+<li> Plugins linked with a Qt library that has a higher major and/or
+minor version number will not be loaded by a library with a lower
+major and/or minor version number.
+<p> <em>Rationale</em>:
+<p> A plugin linked against a newer Qt library may use new
+features that are not available in older versions. Trolltech
+has a policy of adding new features and APIs only between minor
+releases, which is why this test only looks at the major and minor
+version numbers, and not at the patchlevel version number.
+<p> <li> Plugins linked against a Qt library <em>with</em> thread support can only be
+loaded by libraries that are built <em>with</em> thread support.
+<p> <em>Rationale</em>:
+<p> The threaded and non-threaded Qt libraries have different names.
+A library <em>with</em> thread support that loads a plugin linked against a
+Qt library <em>without</em> thread support will cause two versions of the same
+library to be in memory at the same time. On UNIX systems, this
+causes the non-threaded Qt library to be loaded. When this
+happens, the constructors for all static objects in the Qt library
+will be called a second time, but they will operate on the objects
+already in memory. There is no way to work around this, as this is
+a feature of the object binary format: the static symbols already
+defined by the threaded Qt library cannot be replaced or copied
+when the non-threaded Qt library is loaded.
+<p> <li> Plugins linked against a Qt library <em>without</em> thread support can only
+be loaded by libraries that are built <em>without</em> thread support.
+<p> <em>Rationale</em>:
+<p> See the Rationale above.
+<p> <li> Starting with Qt 3.0.5, both the Qt library and all plugins are
+built using a <em>build key</em>. The build key in the Qt library is
+examined against the build key in the plugin, and if they match,
+the plugin is loaded. If the build keys do not match, then the Qt
+library refuses to load the plugin.
+<p> <em>Rationale</em>:
+<p> See the Rationale for the build key below.
+</ul>
+<p> <h2> The Build Key
+</h2>
+<a name="2"></a><p> The build key contains the following information:
+<ul>
+<li> Architecture, operating system and compiler.
+<p> <em>Rationale</em>:
+<p> In cases where different versions of the same compiler do not
+produce binary compatible code, the version of the compiler is
+also present in the build key.
+<p> <li> Configuration of the Qt library. The configuration is a list
+of the missing features that affect the available API in the
+library.
+<p> <em>Rationale</em>:
+<p> Two different configurations of the same version of
+the Qt library are not binary compatible. The Qt library that
+loads the plugin uses the list of (missing) features to
+determine if the plugin is binary compatible.
+<p> <em>Note</em>: There are cases where a plugin can use features that are
+available in two different configurations. However, the
+developer writing plugins would need to know which features are
+in use, both in their plugin and internally by the utility
+classes in Qt. The Qt library would require complex feature
+and dependency queries and verification when loading plugins.
+Requiring this would place an unnecessary burden on the developer, and
+increase the overhead of loading a plugin. To reduce both
+development time and application runtime costs, a simple string
+comparision of the build keys is used.
+<p> <li> Optionally, an extra string may be specified on the configure
+script command line.
+<p> <em>Rationale</em>:
+<p> When distributing binaries of the Qt library with an
+application, this provides a way for developers to write
+plugins that can only be loaded by the library with which the
+plugins were linked.
+</ul>
+<p> <h2> Plugins and Threaded Applications
+</h2>
+<a name="3"></a><p> If you want to build a plugin which you want to use with a threaded Qt
+library (whether or not the plugin itself uses threads) you must use a
+threaded environment. Specifically, you must link the plugin with a
+threaded Qt library, and you must build <a href="designer-manual.html">Qt
+Designer</a> with that library. Your <tt>.pro</tt> file for your plugin
+must include the line:
+<pre>
+ CONFIG += thread
+</pre>
+
+<p> <b>Warning:</b> Do not mix the normal Qt library and the threaded Qt library in
+an application. If your application uses the threaded Qt library, you
+should not link your plugin with the normal Qt library. Nor should you
+dynamically load the normal Qt library or dynamically load another library,
+e.g. a plugin, that depends on the normal Qt library. On some systems,
+mixing threaded and non-threaded libraries or plugins will corrupt the
+static data used in the Qt library.
+<p>
+<hr>
+<ol> <li><a name="footnote1"></a>
+Qt 3.0.5 introduces changes into some aspects of plugins, in
+particular regarding loading, path handling and library versions. As
+a result of this change, <b><em>no</em></b> plugins compiled with Qt 3.0.4 and
+earlier will work with Qt 3.0.5 and later: they must be recompiled.
+ <a href="#footnote-call1">Back...</a></ol>
+</hr>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/plugins.html b/doc/html/plugins.html
new file mode 100644
index 0000000..936b94e
--- /dev/null
+++ b/doc/html/plugins.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:580 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Plugins</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Plugins</h1>
+
+
+<p> These classes deal with shared libraries, (e.g. .so and DLL files),
+and with Qt plugins.
+<p> See the <a href="plugins-howto.html">plugins documentation</a>.
+<p> See also the <a href="activeqt.html">ActiveQt framework</a> for
+Windows.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qgfxdriverplugin.html">QGfxDriverPlugin</a></b><td>Abstract base for Qt/Embedded graphics driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qimageformatplugin.html">QImageFormatPlugin</a></b><td>Abstract base for custom image format plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qkbddriverplugin.html">QKbdDriverPlugin</a></b><td>Abstract base for Qt/Embedded keyboard driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qlibrary.html">QLibrary</a></b><td>Wrapper for handling shared libraries
+<tr bgcolor=#f0f0f0><td><b><a href="qmousedriverplugin.html">QMouseDriverPlugin</a></b><td>Abstract base for Qt/Embedded mouse driver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qsqldriverplugin.html">QSqlDriverPlugin</a></b><td>Abstract base for custom QSqlDriver plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qstyleplugin.html">QStylePlugin</a></b><td>Abstract base for custom QStyle plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qtextcodecplugin.html">QTextCodecPlugin</a></b><td>Abstract base for custom QTextCodec plugins
+<tr bgcolor=#f0f0f0><td><b><a href="qwidgetplugin.html">QWidgetPlugin</a></b><td>Abstract base for custom QWidget plugins
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/popup-example.html b/doc/html/popup-example.html
new file mode 100644
index 0000000..c5444ef
--- /dev/null
+++ b/doc/html/popup-example.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/popup/popup.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Popup Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Popup Widgets</h1>
+
+
+<p>
+This example shows how to implement widgets that should
+pop up.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/popup.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of something or other
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef POPUP_H
+#define POPUP_H
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+
+class FancyPopup : public <a href="qlabel.html">QLabel</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ FancyPopup( <a href="qwidget.html">QWidget</a>* parent = 0, const char* name=0);
+
+ void popup( <a href="qwidget.html">QWidget</a>* parent = 0);
+protected:
+ virtual void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ virtual void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ virtual void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+private:
+ <a href="qwidget.html">QWidget</a>* popupParent;
+ int moves;
+};
+
+
+ class Frame : public <a href="qframe.html">QFrame</a>
+ {
+ Q_OBJECT
+ public:
+ Frame( <a href="qwidget.html">QWidget</a> *parent=0, const char* name=0);
+
+ protected:
+
+ private slots:
+ void button1Clicked();
+ void button2Pressed();
+
+ private:
+ <a href="qpushbutton.html">QPushButton</a> *button1;
+ <a href="qpushbutton.html">QPushButton</a> *button2;
+
+ <a href="qframe.html">QFrame</a>* popup1;
+ FancyPopup* popup2;
+ };
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/popup.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "popup.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+<a name="f468"></a>FancyPopup::FancyPopup( <a href="qwidget.html">QWidget</a>* parent, const char* name ):
+ <a href="qlabel.html">QLabel</a>( parent, name, WType_Popup ){
+ <a href="qframe.html#setFrameStyle">setFrameStyle</a>( WinPanel|Raised );
+ <a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+ <a href="qwidget.html#resize">resize</a>(150,100);
+ moves = 0;
+ <a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE );
+}
+
+<a name="x1620"></a>void FancyPopup::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * e){
+ moves++;
+ <a href="qstring.html">QString</a> s;
+<a name="x1611"></a> s.<a href="qstring.html#sprintf">sprintf</a>("%d/%d", e-&gt;<a href="qmouseevent.html#pos">pos</a>().x(), e-&gt;<a href="qmouseevent.html#pos">pos</a>().y());
+<a name="x1612"></a> if (e-&gt;<a href="qmouseevent.html#state">state</a>() &amp; QMouseEvent::LeftButton)
+ s += " (down)";
+ <a href="qlabel.html#setText">setText</a>(s);
+}
+
+<a name="x1621"></a>void FancyPopup::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * e){
+ if (<a href="qwidget.html#rect">rect</a>().contains( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) || moves &gt; 5)
+ <a href="qwidget.html#close">close</a>();
+}
+
+<a name="x1617"></a>void FancyPopup::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> *e ){
+<a name="x1607"></a> e-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ moves = 0;
+ if (!popupParent)
+ return;
+
+ // remember that we (as a popup) might recieve the mouse release
+ // event instead of the popupParent. This is due to the fact that
+ // the popupParent popped us up in its mousePressEvent handler. To
+ // avoid the button remaining in pressed state we simply send a
+ // faked mouse button release event to it.
+ <a href="qmouseevent.html">QMouseEvent</a> me( QEvent::MouseButtonRelease, QPoint(0,0), QPoint(0,0), QMouseEvent::LeftButton, QMouseEvent::NoButton);
+<a name="x1602"></a> QApplication::<a href="qapplication.html#sendEvent">sendEvent</a>( popupParent, &amp;me );
+}
+
+void <a name="f469"></a>FancyPopup::popup( <a href="qwidget.html">QWidget</a>* parent) {
+ popupParent = parent;
+ setText("Move the mouse!");
+ if (popupParent)
+ <a href="qwidget.html#move">move</a>( popupParent-&gt;mapToGlobal( popupParent-&gt;rect().bottomLeft() ) );
+ <a href="qwidget.html#show">show</a>();
+}
+
+
+
+
+
+
+<a name="f470"></a>Frame::Frame(QWidget* parent, const char* name): <a href="qframe.html">QFrame</a>(parent, name){
+ button1 = new <a href="qpushbutton.html">QPushButton</a>("Simple Popup", this);
+ <a href="qobject.html#connect">connect</a> ( button1, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), SLOT( button1Clicked() ) );
+ button2 = new <a href="qpushbutton.html">QPushButton</a>("Fancy Popup", this);
+<a name="x1606"></a> <a href="qobject.html#connect">connect</a> ( button2, SIGNAL( <a href="qbutton.html#pressed">pressed</a>() ), SLOT( button2Pressed() ) );
+
+ <a href="qboxlayout.html">QBoxLayout</a> * l = new <a href="qhboxlayout.html">QHBoxLayout</a>( this );
+<a name="x1627"></a><a name="x1614"></a> button1-&gt;<a href="qwidget.html#setMaximumSize">setMaximumSize</a>(button1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>());
+ button2-&gt;<a href="qwidget.html#setMaximumSize">setMaximumSize</a>(button2-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>());
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( button1 );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( button2 );
+<a name="x1609"></a> l-&gt;<a href="qlayout.html#activate">activate</a>();
+
+<a name="x1613"></a>// button1-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(20,20,100,30);
+// button2-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(140,20,100,30);
+ <a href="qwidget.html#resize">resize</a>(270, 70);
+
+ //create a very simple popup: it is just composed with other
+ //widget and will be shown after clicking on button1
+
+ popup1 = new <a href="qframe.html">QFrame</a>( this ,0, WType_Popup);
+ popup1-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( WinPanel|Raised );
+ popup1-&gt;<a href="qwidget.html#resize">resize</a>(150,100);
+ <a href="qlineedit.html">QLineEdit</a> *tmpE = new <a href="qlineedit.html">QLineEdit</a>( popup1 );
+<a name="x1619"></a><a name="x1610"></a> <a href="qobject.html#connect">connect</a>( tmpE, SIGNAL( <a href="qlineedit.html#returnPressed">returnPressed</a>() ), popup1, SLOT( <a href="qwidget.html#hide">hide</a>() ) );
+<a name="x1626"></a> tmpE-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(10,10, 130, 30);
+<a name="x1625"></a> tmpE-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ <a href="qpushbutton.html">QPushButton</a> *tmpB = new <a href="qpushbutton.html">QPushButton</a>("Click me!", popup1);
+<a name="x1616"></a> <a href="qobject.html#connect">connect</a>( tmpB, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), popup1, SLOT( <a href="qwidget.html#close">close</a>() ) );
+ tmpB-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(10, 50, 130, 30);
+
+ // the fancier version uses its own class. It will be shown when
+ // pressing button2, so they behavior is more like a modern menu
+ // or toolbar.
+
+ popup2 = new FancyPopup( this );
+
+ // you might also add new widgets to the popup, just like you do
+ // it with any other widget. The next four lines (if not
+ // commented out) will for instance add a line edit widget.
+
+// tmpE = new <a href="qlineedit.html">QLineEdit</a>( popup2 );
+// tmpE-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+// connect( tmpE, SIGNAL( <a href="qlineedit.html#returnPressed">returnPressed</a>() ), popup2, SLOT( <a href="qwidget.html#close">close</a>() ) );
+// tmpE-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(10, 10, 130, 30);
+}
+
+
+void <a name="f471"></a>Frame::button1Clicked(){
+<a name="x1622"></a><a name="x1618"></a> popup1-&gt;<a href="qwidget.html#move">move</a>( <a href="qwidget.html#mapToGlobal">mapToGlobal</a>( button1-&gt;<a href="qwidget.html#geometry">geometry</a>().bottomLeft() ) );
+<a name="x1628"></a> popup1-&gt;<a href="qwidget.html#show">show</a>();
+}
+
+void <a name="f472"></a>Frame::button2Pressed(){
+ popup2-&gt;popup(button2);
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+
+ Frame frame;
+ frame.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Custom Popups");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(&amp;frame);
+ frame.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/porting.html b/doc/html/porting.html
new file mode 100644
index 0000000..5d9d3c7
--- /dev/null
+++ b/doc/html/porting.html
@@ -0,0 +1,803 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting3.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Porting to Qt 3.x</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Porting to Qt 3.x</h1>
+
+
+
+<p> This document describes porting applications from Qt 2.x to Qt 3.x.
+<p> The Qt 3.x series is not binary compatible with the 2.x series. This
+means programs compiled for Qt 2.x must be recompiled to work with Qt
+3.x. Qt 3.x is also not completely <em>source</em> compatible with 2.x,
+however all points of incompatibility cause compiler errors or
+run-time messages (rather than mysterious results). Qt 3.x includes
+many additional features and discards obsolete functionality. Porting
+from Qt 2.x to Qt 3.x is straightforward, and once completed makes
+the considerable additional power and flexibility of Qt 3.x available
+for use in your applications.
+<p> To port code from Qt 2.x to Qt 3.x:
+<p> <ol type=1>
+<p> <li> Briefly read the porting notes below to get an idea of what to expect.
+<li> Be sure your code compiles and runs well on all your target platforms
+with Qt 2.x.
+<li> Recompile with Qt 3.x. For each error, search below for related
+identifiers (e.g. function names, class names). This document
+mentions all relevant identifiers to help you get the information
+you need at the cost of being a little verbose.
+<li> If you get stuck, ask on the <a href="http://qt-interest.trolltech.com/">qt-interest</a> mailing list, or Trolltech Technical Support if
+you're a registered licensee.
+<p> </ol>
+<p> Table of contents:
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Link Errors on Windows
+</a>
+<li><a href="#2"> Header file inclusion changes
+</a>
+<li><a href="#3"> Namespace
+</a>
+<li><a href="#4"> Removed Functions
+</a>
+<li><a href="#5"> Obsoleted Functions
+</a>
+<li><a href="#6"> Collection Class Renaming
+</a>
+<li><a href="#7"> QButtonGroup
+</a>
+<li><a href="#8"> QDate
+</a>
+<li><a href="#9"> QFileDialog
+</a>
+<li><a href="#10"> QFont
+</a>
+<li><a href="#11"> QInputDialog
+</a>
+<li><a href="#12"> QLayout and Other Abstract Layout Classes
+</a>
+<li><a href="#13"> QListViewItem
+</a>
+<li><a href="#14"> QMoveEvent
+</a>
+<li><a href="#15"> QMultiLineEdit
+</a>
+<li><a href="#16"> QPrinter
+</a>
+<li><a href="#17"> QRegExp
+</a>
+<ul>
+<li><a href="#17-1"> New special characters
+</a>
+<li><a href="#17-2"> QRegExp::operator=()
+</a>
+<li><a href="#17-3"> QRegExp::match()
+</a>
+<li><a href="#17-4"> QRegExp::find()
+</a>
+<li><a href="#17-5"> QString::findRev() and QString::contains()
+</a>
+<li><a href="#17-6"> QString::replace()
+</a>
+</ul>
+<li><a href="#18"> QSemiModal
+</a>
+<li><a href="#19"> QSortedList
+</a>
+<li><a href="#20"> QTableView
+</a>
+<li><a href="#21"> QToolButton
+</a>
+<li><a href="#22"> QTextStream
+</a>
+<li><a href="#23"> QTranslator
+</a>
+<li><a href="#24"> QWidget
+</a>
+<li><a href="#25"> QXml Classes
+</a>
+<ul>
+<li><a href="#25-1"> QXmlInputSource
+</a>
+<li><a href="#25-2"> QXmlLocator
+</a>
+</ul>
+<li><a href="#26"> Asynchronous I/O Classes
+</a>
+<li><a href="#27"> Transparent widgets
+</a>
+<li><a href="#28"> Bezier Curves
+</a>
+<li><a href="#29"> Locale-aware String Comparisons in QIconView, QListBox,
+QListView and QTable
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <a name="Linkerrors"></a>
+<h2> Link Errors on Windows
+</h2>
+<a name="1"></a><p> On Windows, originally in Qt 2.x, the default configuration of the Qt
+library is static. If you just use the default configuration you
+don't need to set certain preprocessor defines. In Qt 3.0, the
+default configuration of the Qt library is to build it as a shared
+library, therefore the preprocessor define <tt>QT_DLL</tt> is needed.
+<p> If you use tmake with Qt 2.x, and now use qmake with Qt 3.x, then the
+cause of the problem is with the project file. In the project file,
+there is usually line that looks like:
+<p> <tt>CONFIG</tt> = ...
+<p> this should be changed to
+<p> <tt>CONFIG</tt> += ...
+<p> so that qmake can look at the configuration that Qt was built with and
+set any relevant preprocessor defines in the makefile.
+<p> <a name="Headers"></a>
+<h2> Header file inclusion changes
+</h2>
+<a name="2"></a><p> Qt 3.x remove some unnecessary nested #include directives from
+header files. This speeds up compilation when you don't need those
+nested header files. But in some cases you will find you need to add
+an extra #include to your files.
+<p> For example, if you get a message about <a href="qstringlist.html">QStringList</a> or its functions
+not being defined, then add <tt>#include &lt;qstringlist.h&gt;</tt> at
+the top of the file giving the error.
+<p> Header files that you might need to add #include directives for include:
+<ul>
+<li> <tt>&lt;qcursor.h&gt;</tt>
+<li> <tt>&lt;qpainter.h&gt;</tt>
+<li> <tt>&lt;qpen.h&gt;</tt>
+<li> <tt>&lt;qstringlist.h&gt;</tt>
+<li> <tt>&lt;qregexp.h&gt;</tt>
+<li> <tt>&lt;qstrlist.h&gt;</tt>
+<li> <tt>&lt;qstyle.h&gt;</tt>
+<li> <tt>&lt;qvaluelist.h&gt;</tt>
+</ul>
+<p> <h2> Namespace
+</h2>
+<a name="3"></a><p> Qt 3.x is namespace clean. A few global identifiers that had been
+left in Qt 2.x have been discarded.
+<p> Enumeration <a href="qt.html#CursorShape-enum">Qt::CursorShape</a> and its values are now part of the
+special <a href="qt.html">Qt</a> class defined in qnamespace.h. If you get compilation
+errors about these being missing (unlikely, since most of your code will
+be in classes that inherit from the Qt namespace class), then apply
+the following changes:
+<p> <ul>
+<li> <tt>QCursorShape</tt> becomes <a href="qt.html#CursorShape-enum">Qt::CursorShape</a>
+<li> <tt>ArrowCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::ArrowCursor</a>
+<li> <tt>UpArrowCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::UpArrowCursor</a>
+<li> <tt>CrossCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::CrossCursor</a>
+<li> <tt>WaitCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::WaitCursor</a>
+<li> <tt>IbeamCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::IbeamCursor</a>
+<li> <tt>SizeVerCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SizeVerCursor</a>
+<li> <tt>SizeHorCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SizeHorCursor</a>
+<li> <tt>SizeBDiagCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SizeBDiagCursor</a>
+<li> <tt>SizeFDiagCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SizeFDiagCursor</a>
+<li> <tt>SizeAllCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SizeAllCursor</a>
+<li> <tt>BlankCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::BlankCursor</a>
+<li> <tt>SplitVCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SplitVCursor</a>
+<li> <tt>SplitHCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::SplitHCursor</a>
+<li> <tt>PointingHandCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::PointingHandCursor</a>
+<li> <tt>BitmapCursor</tt> becomes <a href="qt.html#CursorShape-enum">Qt::BitmapCursor</a>
+</ul>
+<p> The names of some debugging macro variables have been changed. We have
+tried not to break source compatibility as much as possible. If you observe
+error messages on the UNIX console or the Windows debugging stream that were
+previously disabled, please check these macro variables:
+<p> <ul>
+<li> <tt>DEBUG</tt> becomes <tt>QT_DEBUG</tt>
+<li> <tt>NO_DEBUG</tt> becomes <tt>QT_NO_DEBUG</tt>
+<li> <tt>NO_CHECK</tt> becomes <tt>QT_NO_CHECK</tt>
+<li> <tt>CHECK_STATE</tt> becomes <tt>QT_CHECK_STATE</tt>
+<li> <tt>CHECK_RANGE</tt> becomes <tt>QT_CHECK_RANGE</tt>
+<li> <tt>CHECK_NULL</tt> becomes <tt>QT_CHECK_NULL</tt>
+<li> <tt>CHECK_MATH</tt> becomes <tt>QT_CHECK_MATH</tt>
+</ul>
+<p> The name of some debugging macro functions has been changed as well
+but source compatibility should not be affected if the macro variable
+<tt>QT_CLEAN_NAMESPACE</tt> is not defined:
+<p> <ul>
+<li> <tt>ASSERT</tt> becomes <tt>Q_ASSERT</tt>
+<li> <tt>CHECK_PTR</tt> becomes <tt>Q_CHECK_PTR</tt>
+</ul>
+<p> For the record, undocumented macro variables that are not part of the API
+have been changed:
+<p> <ul>
+<li> <tt>_OS_*_</tt> becomes <tt>Q_OS_*</tt>
+<li> <tt>_WS_*_</tt> becomes <tt>Q_WS_*</tt>
+<li> <tt>_CC_*_</tt> becomes <tt>Q_CC_*</tt>
+</ul>
+<p> <h2> Removed Functions
+</h2>
+<a name="4"></a><p> All these functions have been removed in Qt 3.x:
+<ul>
+<li> QFont::charSet()
+<li> QFont::setCharSet()
+<li> QMenuBar::setActItem()
+<li> QMenuBar::setWindowsAltMode()
+<li> QObject::initMetaObject()
+<li> QPainter::drawQuadBezier()
+<li> QPointArray::quadBezier()
+<li> QRegExp::find()
+<li> QSpinBox::downButton()
+<li> QSpinBox::upButton()
+<li> QString::basicDirection()
+<li> QString::visual()
+<li> QStyle::set...() functions
+<li> QStyle::drawArrow()
+<li> QWidget::setFontPropagation()
+<li> QWidget::setPalettePropagation()
+</ul>
+<p> Also, to avoid conflicts with <tt>&lt;iostream&gt;</tt>, the following three
+global functions have been renamed:
+<ul>
+<li> setw() (renamed qSetW())
+<li> setfill() (renamed qSetFill())
+<li> setprecision() (renamed qSetPrecision())
+</ul>
+<p> <h2> Obsoleted Functions
+</h2>
+<a name="5"></a><p> The following functions have been obsoleted in Qt 3.0. The
+documentation of each of these functions should explain how to
+replace them in Qt 3.0.
+<p> <b>Warning:</b> It is best to consult <a href="http://doc.trolltech.com/3.0/">http://doc.trolltech.com/3.0/</a>
+rather than the documentation supplied with Qt to obtain the latest
+information regarding obsolete functions and how to replace them in
+new code.
+<p> <ul>
+<li> <a href="qaccel.html#keyToString">QAccel::keyToString</a>( <a href="qkeysequence.html">QKeySequence</a> k )
+<li> <a href="qaccel.html#stringToKey">QAccel::stringToKey</a>( const <a href="qstring.html">QString</a> &amp; s )
+<li> <a href="qactiongroup.html#insert">QActionGroup::insert</a>( <a href="qaction.html">QAction</a> *a )
+<li> <a href="qbutton.html#autoResize">QButton::autoResize</a>() const
+<li> <a href="qbutton.html#setAutoResize">QButton::setAutoResize</a>( bool )
+<li> <a href="qcanvasitem.html#active">QCanvasItem::active</a>() const
+<li> <a href="qcanvasitem.html#enabled">QCanvasItem::enabled</a>() const
+<li> <a href="qcanvasitem.html#selected">QCanvasItem::selected</a>() const
+<li> <a href="qcanvasitem.html#visible">QCanvasItem::visible</a>() const
+<li> <a href="qcanvaspixmaparray.html#QCanvasPixmapArray">QCanvasPixmapArray::QCanvasPixmapArray</a>( <a href="qptrlist.html">QPtrList</a>&lt;QPixmap&gt; list, QPtrList&lt;QPoint&gt; hotspots )
+<li> <a href="qcanvaspixmaparray.html#operator!">QCanvasPixmapArray::operator!</a>()
+<li> <a href="qcolorgroup.html#QColorGroup">QColorGroup::QColorGroup</a>( const <a href="qcolor.html">QColor</a> &amp; foreground, const QColor &amp; background, const QColor &amp; light, const QColor &amp; dark, const QColor &amp; mid, const QColor &amp; text, const QColor &amp; base )
+<li> <a href="qcombobox.html#autoResize">QComboBox::autoResize</a>() const
+<li> <a href="qcombobox.html#setAutoResize">QComboBox::setAutoResize</a>( bool )
+<li> <a href="qdate.html#dayName">QDate::dayName</a>( int weekday )
+<li> <a href="qdate.html#monthName">QDate::monthName</a>( int month )
+<li> <a href="qdir.html#encodedEntryList">QDir::encodedEntryList</a>( const <a href="qstring.html">QString</a> &amp; nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const
+<li> QDir::encodedEntryList( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const
+<li> <a href="qdockwindow.html#isHorizontalStretchable">QDockWindow::isHorizontalStretchable</a>() const
+<li> <a href="qdockwindow.html#isVerticalStretchable">QDockWindow::isVerticalStretchable</a>() const
+<li> <a href="qdockwindow.html#setHorizontalStretchable">QDockWindow::setHorizontalStretchable</a>( bool b )
+<li> <a href="qdockwindow.html#setVerticalStretchable">QDockWindow::setVerticalStretchable</a>( bool b )
+<li> <a href="qfont.html#defaultFont">QFont::defaultFont</a>()
+<li> <a href="qfont.html#setDefaultFont">QFont::setDefaultFont</a>( const <a href="qfont.html">QFont</a> &amp; f )
+<li> <a href="qfont.html#setPixelSizeFloat">QFont::setPixelSizeFloat</a>( float pixelSize )
+<li> <a href="qfontdatabase.html#bold">QFontDatabase::bold</a>( const QString &amp; family, const QString &amp; style, const <a href="qstring.html">QString</a> &amp; ) const
+<li> <a href="qfontdatabase.html#families">QFontDatabase::families</a>( bool ) const
+<li> <a href="qfontdatabase.html#font">QFontDatabase::font</a>( const QString &amp; familyName, const QString &amp; style, int pointSize, const QString &amp; )
+<li> <a href="qfontdatabase.html#isBitmapScalable">QFontDatabase::isBitmapScalable</a>( const QString &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#isFixedPitch">QFontDatabase::isFixedPitch</a>( const QString &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#isScalable">QFontDatabase::isScalable</a>( const QString &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#isSmoothlyScalable">QFontDatabase::isSmoothlyScalable</a>( const QString &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#italic">QFontDatabase::italic</a>( const <a href="qstring.html">QString</a> &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#pointSizes">QFontDatabase::pointSizes</a>( const QString &amp; family, const QString &amp; style, const QString &amp; )
+<li> <a href="qfontdatabase.html#smoothSizes">QFontDatabase::smoothSizes</a>( const QString &amp; family, const QString &amp; style, const QString &amp; )
+<li> <a href="qfontdatabase.html#styles">QFontDatabase::styles</a>( const QString &amp; family, const QString &amp; ) const
+<li> <a href="qfontdatabase.html#weight">QFontDatabase::weight</a>( const QString &amp; family, const QString &amp; style, const QString &amp; ) const
+<li> <a href="qlabel.html#autoResize">QLabel::autoResize</a>() const
+<li> <a href="qlabel.html#setAutoResize">QLabel::setAutoResize</a>( bool enable )
+<li> <a href="qlineedit.html#cursorLeft">QLineEdit::cursorLeft</a>( bool mark, int steps = 1 )
+<li> <a href="qlineedit.html#cursorRight">QLineEdit::cursorRight</a>( bool mark, int steps = 1 )
+<li> <a href="qlineedit.html#hasMarkedText">QLineEdit::hasMarkedText</a>() const
+<li> <a href="qlineedit.html#markedText">QLineEdit::markedText</a>() const
+<li> <a href="qlineedit.html#repaintArea">QLineEdit::repaintArea</a>( int, int )
+<li> <a href="qlistbox.html#cellHeight">QListBox::cellHeight</a>( int i ) const
+<li> QListBox::cellHeight() const
+<li> <a href="qlistbox.html#cellWidth">QListBox::cellWidth</a>() const
+<li> <a href="qlistbox.html#findItem">QListBox::findItem</a>( int yPos ) const
+<li> <a href="qlistbox.html#inSort">QListBox::inSort</a>( const <a href="qlistboxitem.html">QListBoxItem</a> *lbi )
+<li> QListBox::inSort( const <a href="qstring.html">QString</a> &amp; text )
+<li> <a href="qlistbox.html#itemYPos">QListBox::itemYPos</a>( int index, int *yPos ) const
+<li> <a href="qlistbox.html#numCols">QListBox::numCols</a>() const
+<li> <a href="qlistbox.html#totalHeight">QListBox::totalHeight</a>() const
+<li> <a href="qlistbox.html#totalWidth">QListBox::totalWidth</a>() const
+<li> <a href="qlistboxitem.html#current">QListBoxItem::current</a>() const
+<li> <a href="qlistboxitem.html#selected">QListBoxItem::selected</a>() const
+<li> <a href="qlistview.html#removeItem">QListView::removeItem</a>( <a href="qlistviewitem.html">QListViewItem</a> *item )
+<li> <a href="qlistviewitem.html#removeItem">QListViewItem::removeItem</a>( QListViewItem *item )
+<li> <a href="qmainwindow.html#addToolBar">QMainWindow::addToolBar</a>( <a href="qdockwindow.html">QDockWindow</a> *, Dock = DockTop, bool newLine = FALSE )
+<li> QMainWindow::addToolBar( QDockWindow *, const QString &amp; label, Dock = DockTop, bool newLine = FALSE )
+<li> <a href="qmainwindow.html#lineUpToolBars">QMainWindow::lineUpToolBars</a>( bool keepNewLines = FALSE )
+<li> <a href="qmainwindow.html#moveToolBar">QMainWindow::moveToolBar</a>( QDockWindow *, Dock = DockTop )
+<li> QMainWindow::moveToolBar( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 )
+<li> <a href="qmainwindow.html#removeToolBar">QMainWindow::removeToolBar</a>( QDockWindow *)
+<li> <a href="qmainwindow.html#setToolBarsMovable">QMainWindow::setToolBarsMovable</a>( bool )
+<li> <a href="qmainwindow.html#toolBarPositionChanged">QMainWindow::toolBarPositionChanged</a>( <a href="qtoolbar.html">QToolBar</a> *)
+<li> <a href="qmainwindow.html#toolBarsMovable">QMainWindow::toolBarsMovable</a>() const
+<li> <a href="qmessagebox.html#message">QMessageBox::message</a>( const <a href="qstring.html">QString</a> &amp; caption, const QString &amp; text, const QString &amp; buttonText = <a href="qstring.html#QString-null">QString::null</a>, <a href="qwidget.html">QWidget</a> *parent = 0, const char *= 0 )
+<li> <a href="qmessagebox.html#query">QMessageBox::query</a>( const QString &amp; caption, const QString &amp; text, const QString &amp; yesButtonText = QString::null, const QString &amp; noButtonText = QString::null, QWidget *parent = 0, const char *= 0 )
+<li> <a href="qmessagebox.html#standardIcon">QMessageBox::standardIcon</a>( Icon icon, GUIStyle style )
+<li> <a href="qpalette.html#normal">QPalette::normal</a>()
+<li> <a href="qregexp.html#match">QRegExp::match</a>( const QString &amp; str, int index = 0, int *len = 0, bool indexIsStart = TRUE ) const
+<li> <a href="qscrollview.html#childIsVisible">QScrollView::childIsVisible</a>( QWidget *child )
+<li> <a href="qscrollview.html#showChild">QScrollView::showChild</a>( QWidget *child, bool show = TRUE )
+<li> <a href="qsignal.html#block">QSignal::block</a>( bool b )
+<li> <a href="qsignal.html#isBlocked">QSignal::isBlocked</a>() const
+<li> <a href="qsignal.html#parameter">QSignal::parameter</a>() const
+<li> <a href="qsignal.html#setParameter">QSignal::setParameter</a>( int value )
+<li> <a href="qsimplerichtext.html#draw">QSimpleRichText::draw</a>( <a href="qpainter.html">QPainter</a> *p, int x, int y, const <a href="qregion.html">QRegion</a> &amp; clipRegion, const <a href="qcolorgroup.html">QColorGroup</a> &amp; cg, const <a href="qbrush.html">QBrush</a> *paper = 0 ) const
+<li> <a href="qstring.html#ascii">QString::ascii</a>() const
+<li> <a href="qstring.html#data">QString::data</a>() const
+<li> <a href="qstring.html#setExpand">QString::setExpand</a>( uint index, <a href="qchar.html">QChar</a> c )
+<li> <a href="qstyle.html#defaultFrameWidth">QStyle::defaultFrameWidth</a>() const
+<li> <a href="qstyle.html#scrollBarExtent">QStyle::scrollBarExtent</a>() const
+<li> <a href="qstyle.html#tabbarMetrics">QStyle::tabbarMetrics</a>( const <a href="qwidget.html">QWidget</a> *t, int &amp; hf, int &amp; vf, int &amp; ov ) const
+<li> <a href="qtabdialog.html#isTabEnabled">QTabDialog::isTabEnabled</a>( const char *name ) const
+<li> <a href="qtabdialog.html#selected">QTabDialog::selected</a>( const <a href="qstring.html">QString</a> &amp; )
+<li> QTabDialog::selected( const QString &amp; tabLabel )
+<li> <a href="qtabdialog.html#setTabEnabled">QTabDialog::setTabEnabled</a>( const char *name, bool enable )
+<li> <a href="qtextstream.html#QTextStream">QTextStream::QTextStream</a>( QString &amp; str, int filemode )
+<li> <a href="qtoolbar.html#QToolBar">QToolBar::QToolBar</a>( const QString &amp; label, <a href="qmainwindow.html">QMainWindow</a> *, ToolBarDock = DockTop, bool newLine = FALSE, const char *name = 0 )
+<li> <a href="qtoolbutton.html#iconSet">QToolButton::iconSet</a>( bool on ) const
+<li> <a href="qtoolbutton.html#offIconSet">QToolButton::offIconSet</a>() const
+<li> <a href="qtoolbutton.html#onIconSet">QToolButton::onIconSet</a>() const
+<li> <a href="qtoolbutton.html#setIconSet">QToolButton::setIconSet</a>( const <a href="qiconset.html">QIconSet</a> &amp; set, bool on )
+<li> <a href="qtoolbutton.html#setOffIconSet">QToolButton::setOffIconSet</a>( const QIconSet &amp; )
+<li> <a href="qtoolbutton.html#setOnIconSet">QToolButton::setOnIconSet</a>( const QIconSet &amp; )
+<li> <a href="qtooltip.html#enabled">QToolTip::enabled</a>()
+<li> <a href="qtooltip.html#setEnabled">QToolTip::setEnabled</a>( bool enable )
+<li> <a href="qtranslator.html#find">QTranslator::find</a>( const char *context, const char *sourceText, const char *comment = 0 ) const
+<li> <a href="qtranslator.html#insert">QTranslator::insert</a>( const char *context, const char *sourceText, const <a href="qstring.html">QString</a> &amp; translation )
+<li> <a href="qtranslator.html#remove">QTranslator::remove</a>( const char *context, const char *sourceText )
+<li> <a href="quridrag.html#setFilenames">QUriDrag::setFilenames</a>( const <a href="qstringlist.html">QStringList</a> &amp; fnames )
+<li> <a href="qwidget.html#backgroundColor">QWidget::backgroundColor</a>() const
+<li> <a href="qwidget.html#backgroundPixmap">QWidget::backgroundPixmap</a>() const
+<li> <a href="qwidget.html#iconify">QWidget::iconify</a>()
+<li> <a href="qwidget.html#setBackgroundColor">QWidget::setBackgroundColor</a>( const <a href="qcolor.html">QColor</a> &amp; c )
+<li> <a href="qwidget.html#setBackgroundPixmap">QWidget::setBackgroundPixmap</a>( const <a href="qpixmap.html">QPixmap</a> &amp; pm )
+<li> <a href="qwidget.html#setFont">QWidget::setFont</a>( const <a href="qfont.html">QFont</a> &amp; f, bool )
+<li> <a href="qwidget.html#setPalette">QWidget::setPalette</a>( const <a href="qpalette.html">QPalette</a> &amp; p, bool )
+<li> <a href="qwizard.html#setFinish">QWizard::setFinish</a>( <a href="qwidget.html">QWidget</a> *, bool )
+<li> <a href="qxmlinputsource.html#QXmlInputSource">QXmlInputSource::QXmlInputSource</a>( <a href="qfile.html">QFile</a> &amp; file )
+<li> QXmlInputSource::QXmlInputSource( <a href="qtextstream.html">QTextStream</a> &amp; stream )
+<li> <a href="qxmlreader.html#parse">QXmlReader::parse</a>( const <a href="qxmlinputsource.html">QXmlInputSource</a> &amp; input )
+</ul>
+<p> Additionally, these preprocessor directives have been removed:
+<p> <ul>
+<li> <tt>#define strlen qstrlen</tt>
+<li> <tt>#define strcpy qstrcpy</tt>
+<li> <tt>#define strcmp qstrcmp</tt>
+<li> <tt>#define strncmp qstrncmp</tt>
+<li> <tt>#define stricmp qstricmp</tt>
+<li> <tt>#define strnicmp qstrnicmp</tt>
+</ul>
+<p> See the changes-3.0.0 document for an explanation of why this had to be done.
+You might have been relying on the non-portable and unpredictable behavior
+resulting from these directives. We strongly recommend that you either make
+use of the safe qstr* variants directly or ensure that no 0 pointer is
+passed to the standard C functions in your code base.
+<p> <h2> Collection Class Renaming
+</h2>
+<a name="6"></a><p> The classes QArray, QCollection, QList, QListIterator, QQueue, QStack
+and QVector have been renamed. To ease porting, the old names and the
+old header-file names are still supported.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Old Name <th valign="top">New Name <th valign="top">New Header File
+<tr bgcolor="#f0f0f0"> <td valign="top">QArray <td valign="top"><a href="qmemarray.html">QMemArray</a> <td valign="top"><tt>&lt;qmemarray.h&gt;</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top">QCollection <td valign="top"><a href="qptrcollection.html">QPtrCollection</a> <td valign="top"><tt>&lt;qptrcollection.h&gt;</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top">QList <td valign="top"><a href="qptrlist.html">QPtrList</a> <td valign="top"><tt>&lt;qptrlist.h&gt;</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top">QListIterator <td valign="top"><a href="qptrlistiterator.html">QPtrListIterator</a> <td valign="top"><tt>&lt;qptrlist.h&gt;</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top">QQueue <td valign="top"><a href="qptrqueue.html">QPtrQueue</a> <td valign="top"><tt>&lt;qptrqueue.h&gt;</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top">QStack <td valign="top"><a href="qptrstack.html">QPtrStack</a> <td valign="top"><tt>&lt;qptrstack.h&gt;</tt>
+<tr bgcolor="#f0f0f0"> <td valign="top">QVector <td valign="top"><a href="qptrvector.html">QPtrVector</a> <td valign="top"><tt>&lt;qptrvector.h&gt;</tt>
+</table></center>
+<p> <h2> <a href="qbuttongroup.html">QButtonGroup</a>
+</h2>
+<a name="7"></a><p> In Qt 2.x, the function <a href="qbuttongroup.html#selected">QButtonGroup::selected</a>() returns the selected
+<em>radio</em> button (<a href="qradiobutton.html">QRadioButton</a>). In Qt 3.0, it returns the selected <em>toggle</em> button (<a href="qbutton.html#toggleButton-prop">QButton::toggleButton</a>), a more general concept.
+This might affect programs that use QButtonGroups that contain a
+mixture of radio buttons and non-radio (e.g. <a href="qcheckbox.html">QCheckBox</a>) toggle buttons.
+<p> <h2> <a href="qdate.html">QDate</a>
+</h2>
+<a name="8"></a><p> Two QDate member functions that were virtual in Qt 2.0 are not virtual
+in Qt 3.0. This is only relevant if you subclassed QDate and
+reimplemented these functions:
+<p> <ul>
+<li> <a href="qstring.html">QString</a> <a href="qdate.html#monthName">QDate::monthName</a>( int month ) const
+<li> QString <a href="qdate.html#dayName">QDate::dayName</a>( int weekday ) const
+</ul>
+<p> In addition to no longer being virtual, QDate::monthName() and
+QDate::dayName() have been renamed <a href="qdate.html#shortMonthName">QDate::shortMonthName</a>() and
+<a href="qdate.html#shortDayName">QDate::shortDayName</a>() and have been made static (as they should had
+been in the first place). The old names are still provided for source
+compatibility.
+<p> <h2> <a href="qfiledialog.html">QFileDialog</a>
+</h2>
+<a name="9"></a><p> If the mode was not set explicitly, and the user entered a
+non-existent file, the dialog would accept this. In Qt 3.x, you must
+set the mode, e.g. setMode(QFileDialog::AnyFile), to get the same
+behavior.
+<p> <h2> <a href="qfont.html">QFont</a>
+</h2>
+<a name="10"></a><p> The internals of QFont have changed significantly between Qt 2.2 and
+Qt 3.0, to give better Unicode support and to make developing
+internationalized applications easier. The original API has been
+preserved with minimal changes. The CharSet enum and its related
+functions have disappeared. This is because Qt now handles all charset
+related issues internally, and removes this burden from the developer.
+<p> If you used the CharSet enum or its related functions, e.g
+QFont::charSet() or QFont::setCharSet(), just remove them from your
+code. There are a few functions that took a QFont::CharSet as a
+parameter; in these cases simply remove the charset from the
+parameter list.
+<p> <h2> <a href="qinputdialog.html">QInputDialog</a>
+</h2>
+<a name="11"></a><p> The two static getText(...) methods in QInputDialog have been merged.
+The <tt>echo</tt> parameter is the third parameter and defaults to
+QLineEdit::Normal.
+<p> If you used calls to <a href="qinputdialog.html#getText">QInputDialog::getText</a>(...) that provided more
+than the first two required parameters you will must add a value
+for the <tt>echo</tt> parameter.
+<p> <h2> <a href="qlayout.html">QLayout</a> and Other Abstract Layout Classes
+</h2>
+<a name="12"></a><p> The definitions of <a href="qglayoutiterator.html">QGLayoutIterator</a>, <a href="qlayout.html">QLayout</a>, <a href="qlayoutitem.html">QLayoutItem</a>, <a href="qlayoutiterator.html">QLayoutIterator</a>, <a href="qspaceritem.html">QSpacerItem</a> and <a href="qwidgetitem.html">QWidgetItem</a> have been moved from <tt>&lt;qabstractlayout.h&gt;</tt> to <tt>&lt;qlayout.h&gt;</tt>. The header <tt>&lt;qabstractlayout.h&gt;</tt> now includes <tt>&lt;qlayout.h&gt;</tt> for compatibility. It
+might be removed in a future version.
+<p> <h2> <a href="qlistviewitem.html">QListViewItem</a>
+</h2>
+<a name="13"></a><p> The paintBranches() function in Qt 2.x had a GUIStyle parameter; this
+has been dropped for Qt 3.x since GUI style is handled by the new
+style engine (See <a href="qstyle.html">QStyle</a>.)
+<p> <h2> <a href="qmoveevent.html">QMoveEvent</a>
+</h2>
+<a name="14"></a><p> In Qt 2.x, the function <a href="qmoveevent.html#pos">QMoveEvent::pos</a>() returned the position of the
+widget in its parent widget, including the window frame. In Qt 3.0,
+it returns the new position of the widget, excluding window frame for
+top level widgets.
+<p> <h2> QMultiLineEdit
+</h2>
+<a name="15"></a><p> The QMultiLineEdit was a simple editor widget in previous Qt versions.
+Since Qt 3.0 includes a new richtext engine, which also supports
+editing, QMultiLineEdit is obsolete. For the sake of compatibility
+QMultiLineEdit is still provided. It is now a subclass of <a href="qtextedit.html">QTextEdit</a>
+which wraps the old QMultiLineEdit so that it is mostly source
+compatible to keep old applications working.
+<p> For new applications and when maintaining existing applications we
+recommend that you use QTextEdit instead of QMultiLineEdit wherever
+possible.
+<p> Although most of the old QMultiLineEdit API is still available, there
+is one important difference. The old QMultiLineEdit operated in terms
+of lines, whereas QTextEdit operates in terms of paragraphs. This is
+because lines change all the time during wordwrap, whereas paragraphs
+remain paragraphs. The consequence of this change is that functions
+which previously operated on lines, e.g. numLines(), textLine(), etc.,
+now work on paragraphs.
+<p> Also the function getString() has been removed since it
+published the internal data structure.
+<p> In most cases, applications that used QMultiLineEdit will continue to
+work without problems. Applications that worked in terms of lines may
+require some porting.
+<p> The source code for the old 2.x version of QMultiLineEdit can be found
+in <tt>$QTDIR/src/attic/qtmultilineedit.h/cpp</tt>. Note that the class has
+been renamed to QtMultiLineEdit to avoid name clashes. If you really
+need to keep compatibility with the old QMultiLineEdit, simply include
+this class in your project and rename QMultiLineEdit to
+QtMultiLineEdit throughout.
+<p> <h2> <a href="qprinter.html">QPrinter</a>
+</h2>
+<a name="16"></a><p> QPrinter has undergone some changes, to make it more flexible and
+to ensure it has the same runtime behaviour on both Unix and Windows. In 2.x,
+QPrinter behaved differently on Windows and Unix, when using view
+transformations on the <a href="qpainter.html">QPainter</a>. This has changed now, and QPrinter
+behaves consistently across all platforms. A compatibilty mode has been
+added that forces the old behaviour, to ease porting from Qt 2.x
+to Qt 3.x. This compatibilty mode can be enabled by passing the
+QPrinter::Compatible flag to the QPrinter constructor.
+<p> On X11, QPrinter used to generate encapsulated postscript when
+fullPage() was TRUE and only one page was printed. This does not
+happen by default anymore, providing a more consistent printing output.
+<p> <h2> <a href="qregexp.html">QRegExp</a>
+</h2>
+<a name="17"></a><p> The <a href="qregexp.html">QRegExp</a> class has been rewritten to support many of the features of Perl
+regular expressions. Both the <a href="qregexp.html#regular-expression">regular expression</a> syntax and the QRegExp
+interface have been modified.
+<p> Be also aware that <tt>&lt;qregexp.h&gt;</tt> is no longer included
+automatically when you include <tt>&lt;qstringlist.h&gt;</tt>. See
+<a href="#Headers">above</a> for details.
+<p>
+<p> <h3> New special characters
+</h3>
+<a name="17-1"></a><p> There are five new special characters: <tt>(</tt>, <tt>)</tt>, <tt>{</tt>,
+<tt>|</tt> and <tt>}</tt> (parentheses, braces and pipe). When porting old
+regular expressions, you must add <tt>&#92;</tt> (backslash) in front of any
+of these (actually, <tt>&#92;&#92;</tt> in C++ strings), unless it is already
+there.
+<p> Example: Old code like
+<pre>
+ <a href="qregexp.html">QRegExp</a> rx( "([0-9|]*\\)" ); // works in Qt 2.x
+</pre>
+
+should be converted into
+<pre>
+ <a href="qregexp.html">QRegExp</a> rx( "\\([0-9\\|]*\\)" ); // works in Qt 2.x and 3.x
+</pre>
+
+(Within character classes, the backslash is not necessary in front of certain
+characters, e.g. <tt>|</tt>, but it doesn't hurt.)
+<p> Wildcard patterns need no conversion. Here are two examples:
+<pre>
+ <a href="qregexp.html">QRegExp</a> wild( "(*.*)" );
+ wild.<a href="qregexp.html#setWildcard">setWildcard</a>( TRUE );
+</pre>
+
+<pre>
+ // TRUE as third argument means wildcard
+ <a href="qregexp.html">QRegExp</a> wild( "(*.*)", FALSE, TRUE );
+</pre>
+
+However, when they are used, make sure to use <a href="qregexp.html#exactMatch">QRegExp::exactMatch</a>()
+rather than the obsolete <a href="qregexp.html#match">QRegExp::match</a>(). QRegExp::match(), like
+QRegExp::find(), tries to find a match somewhere in the target
+string, while QRegExp::exactMatch() tries to match the whole target
+string.
+<p> <h3> <a href="qregexp.html#operator-eq">QRegExp::operator=</a>()
+</h3>
+<a name="17-2"></a><p> This function has been replaced by <a href="qregexp.html#setPattern">QRegExp::setPattern</a>() in Qt 2.2.
+Old code such as
+<pre>
+ <a href="qregexp.html">QRegExp</a> rx( "alpha" );
+ rx.<a href="qregexp.html#setCaseSensitive">setCaseSensitive</a>( FALSE );
+ rx.<a href="qregexp.html#setWildcard">setWildcard</a>( TRUE );
+ rx = "beta";
+</pre>
+
+still compiles with Qt 3, but produces a different result (the case sensitivity
+and wildcard options are forgotten). This way,
+<pre>
+ rx = "beta";
+</pre>
+
+is the same as
+<pre>
+ rx = QRegExp( "beta" );
+</pre>
+
+which is what one expects.
+<p> <h3> QRegExp::match()
+</h3>
+<a name="17-3"></a><p> The following function is now obsolete, as it has an unwieldy
+parameter list and was poorly named:
+<ul>
+<li> bool <a href="qregexp.html#match">QRegExp::match</a>( const <a href="qstring.html">QString</a> &amp; str, int index = 0,
+int * len = 0, bool indexIsStart = TRUE ) const
+</ul>
+It will be removed in a future version of Qt. Its <a href="qregexp.html#match">documentation</a> explains how to replace it.
+<p> <h3> QRegExp::find()
+</h3>
+<a name="17-4"></a><p> This function was removed, after a brief appearance in Qt 2.2. Its
+name clashed with <a href="qstring.html#find">QString::find</a>(). Use <a href="qregexp.html#search">QRegExp::search</a>() or <a href="qstring.html#find">QString::find</a>() instead.
+<p> <h3> <a href="qstring.html#findRev">QString::findRev</a>() and <a href="qstring.html#contains">QString::contains</a>()
+</h3>
+<a name="17-5"></a><p> <a href="qstring.html#findRev">QString::findRev</a>()'s and <a href="qstring.html#contains">QString::contains</a>()'s semantics have changed
+between 2.0 and 3.0 to be more consistent with the other overloads.
+<p> For example,
+<pre>
+ QString( "" ).contains( QRegExp("") )
+</pre>
+
+returns 1 in Qt 2.0; it returns 0 in Qt 3.0. Also, "^" now really means
+start of input, so
+<pre>
+ QString( "Heisan Hoppsan" ).contains( QRegExp("^.*$") )
+</pre>
+
+returns 1, not 13 or 14.
+<p> This change affect very few existing programs.
+<p> <h3> <a href="qstring.html#replace">QString::replace</a>()
+</h3>
+<a name="17-6"></a><p> With Qt 1.0 and 2.0, a <a href="qstring.html">QString</a> is converted implicitly into a <a href="qregexp.html">QRegExp</a>
+as the first argument to QString::replace():
+<pre>
+ <a href="qstring.html">QString</a> text = fetch_it_from_somewhere();
+ text.<a href="qstring.html#replace">replace</a>( QString("[A-Z]+"), "" );
+</pre>
+
+With Qt 3.0, the compiler gives an error. The solution is to use a
+QRegExp cast:
+<pre>
+ text.replace( QRegExp("[A-Z]+"), "" );
+</pre>
+
+This change makes it possible to introduce a
+QString::replace(QString, QString) overload in a future version of Qt
+without breaking source compatibility.
+<p> <h2> QSemiModal
+</h2>
+<a name="18"></a><p> The QSemiModal class is now obsolete. You should call show() on a
+modal dialog instead.
+<p> <h2> QSortedList
+</h2>
+<a name="19"></a><p> The QSortedList class is now obsolete. Consider using a <a href="qdict.html">QDict</a>, a <a href="qmap.html">QMap</a>
+or a plain <a href="qptrlist.html">QPtrList</a> instead.
+<p> <h2> QTableView
+</h2>
+<a name="20"></a><p> The QTableView class has been obsoleted and is no longer a part of the
+Qt API. Either use the powerful <a href="qtable.html">QTable</a> class or the simplistic
+<a href="qgridview.html">QGridView</a> in any new code you create. If you really need the old table
+view for compatibility you can find it in <tt>$QTDIR/src/attic/qttableview.{cpp,h}</tt>. Note that the class has been
+renamed from QTableView to QtTableView to avoid name clashes. To use
+it, simply include it in your project and rename QTableView to
+QtTableView throughout.
+<p> <h2> <a href="qtoolbutton.html">QToolButton</a>
+</h2>
+<a name="21"></a><p> The <a href="qtoolbutton.html">QToolButton</a> class used to distinguish between "on" and "off"
+icons. In 3.0, this mechanism was moved into the <a href="qiconset.html">QIconSet</a> class
+(see <a href="qiconset.html#State-enum">QIconSet::State</a>).
+<p> The old <a href="qtoolbutton.html#onIconSet-prop">QToolButton::onIconSet</a> and <a href="qtoolbutton.html#offIconSet-prop">QToolButton::offIconSet</a>
+properties are still provided so that old source will compile, but
+their semantics have changed: they are now synonyms for <a href="qtoolbutton.html#iconSet-prop">QToolButton::iconSet</a>. If you used that distinction in Qt 2.x, you will
+need to adjust your code to use the <a href="qiconset.html">QIconSet</a> On/Off mechanism.
+<p> Likewise, the <em>on</em> parameter of these two functions is now ignored:
+<p> <ul>
+<li> void QToolButton::setIconSet ( const QIconSet &amp; set, bool on )
+<li> QIconSet QToolButton::iconSet ( bool on ) const
+</ul>
+<p> These functions are only provided for ease of porting. New code
+should use the following instead:
+<p> <ul>
+<li> void <a href="qtoolbutton.html#setIconSet">QToolButton::setIconSet</a>( const QIconSet &amp; set )
+<li> QIconSet <a href="qtoolbutton.html#iconSet">QToolButton::iconSet</a>() const
+</ul>
+<p> Finally, this function is no longer virtual:
+<p> <ul>
+<li> void QToolButton::setIconSet( const QIconSet &amp; set, bool on )
+</ul>
+<p> If you have a class that inherits <a href="qtoolbutton.html">QToolButton</a> and that reimplements
+QToolButton::setIconSet(), you should make the signature of the
+reimplementation agree with the new <a href="qtoolbutton.html#setIconSet">QToolButton::setIconSet</a>(),
+a virtual function.
+<p> <h2> <a href="qtextstream.html">QTextStream</a>
+</h2>
+<a name="22"></a><p> The global QTextStream manipulators setw(), setfill() and setprecison()
+were renamed to qSetW(), qSetFill() and qSetPrecision() to avoid conflicts
+with <tt>&lt;iostream.h&gt;</tt>. If you used them, you must rename the occurrences to
+the new names.
+<p> <h2> <a href="qtranslator.html">QTranslator</a>
+</h2>
+<a name="23"></a><p> The <a href="qtranslator.html">QTranslator</a> class was extended in Qt 2.2, and these extensions
+lead to a new interface. This interface is used mainly by translation
+tools (for example, <a href="linguist-manual.html">Qt
+Linguist</a>). For source compatibility, no member function was
+effectively removed. The <a href="qtranslator.html">QTranslator</a> documentation points out
+which functions are obsolete.
+<p> This function is no longer virtual:
+<p> <ul>
+<li> <a href="qstring.html">QString</a> <a href="qtranslator.html#find">QTranslator::find</a>( const char * context,
+const char * sourceText ) const
+</ul>
+<p> If you have a class that inherits QTranslator and which reimplements
+QTranslator::find(), you should reimplement <a href="qtranslator.html#findMessage">QTranslator::findMessage</a>() instead.
+In fact, find() is now defined in terms of findMessage(). By doing the
+conversion, you will also gain support for translator comments and for any
+future extensions.
+<p> <h2> <a href="qwidget.html">QWidget</a>
+</h2>
+<a name="24"></a><p> <a href="qwidget.html#backgroundColor">QWidget::backgroundColor</a>(), <a href="qwidget.html#setBackgroundColor">QWidget::setBackgroundColor</a>(),
+<a href="qwidget.html#backgroundPixmap">QWidget::backgroundPixmap</a>() and <a href="qwidget.html#setBackgroundPixmap">QWidget::setBackgroundPixmap</a>() have
+often been the source of much confusion in previous releases. Qt 3.0
+addresses this by obsoleting these functions and by replacing them
+with eight new functions: <a href="qwidget.html#eraseColor">QWidget::eraseColor</a>(),
+<a href="qwidget.html#setEraseColor">QWidget::setEraseColor</a>(), <a href="qwidget.html#erasePixmap">QWidget::erasePixmap</a>(),
+<a href="qwidget.html#setErasePixmap">QWidget::setErasePixmap</a>(), <a href="qwidget.html#paletteBackgroundColor">QWidget::paletteBackgroundColor</a>(),
+<a href="qwidget.html#setPaletteBackgroundColor">QWidget::setPaletteBackgroundColor</a>(),
+<a href="qwidget.html#paletteBackgroundPixmap">QWidget::paletteBackgroundPixmap</a>() and
+<a href="qwidget.html#setPaletteBackgroundPixmap">QWidget::setPaletteBackgroundPixmap</a>(). See their documentation for
+details.
+<p> <h2> QXml Classes
+</h2>
+<a name="25"></a><p> <h3> <a href="qxmlinputsource.html">QXmlInputSource</a>
+</h3>
+<a name="25-1"></a><p> The semantics of QXmlInputSource has changed slightly. This change
+only affects code that parses the same data from the same input source
+multiple times. In such cases you must call
+<a href="qxmlinputsource.html#reset">QXmlInputSource::reset</a>() before the second call to
+<a href="qxmlsimplereader.html#parse">QXmlSimpleReader::parse</a>().
+<p> So code like
+<pre>
+ <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+ <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+ ...
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+ ...
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+
+must be changed to
+<pre>
+ <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+ <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+ ...
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+ ...
+ source.<a href="qxmlinputsource.html#reset">reset</a>();
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+
+<p> <h3> <a href="qxmllocator.html">QXmlLocator</a>
+</h3>
+<a name="25-2"></a><p> Due to some internal changes, it was necessary to clean-up the semantics of
+QXmlLocator: this class is now an abstract class. This shouldn't cause
+any problems, since programmers usually used the QXmlLocator that was
+reported by <a href="qxmlcontenthandler.html#setDocumentLocator">QXmlContentHandler::setDocumentLocator</a>(). If you used this
+class in some other way, you must adjust your code to use the
+QXmlLocator that is reported by the
+QXmlContentHandler::setDocumentLocator() function.
+<p> <h2> Asynchronous I/O Classes
+</h2>
+<a name="26"></a><p> QASyncIO, QDataSink, QDataSource, QIODeviceSource and QDataPump were
+used internally in previous versions of Qt, but are not used anymore.
+They are now obsolete.
+<p> <h2> Transparent widgets
+</h2>
+<a name="27"></a><p> In Qt 2.x, the AutoMask property was used to obtain a
+transparent-looking widget. In general, this approach is slow and
+processor hungry. Qt 3.0 uses the BackgroundOrigin which provides
+vastly improved performance and more flexibility in most cases. The
+few classes for which the AutoMask property is still the best approach
+are <a href="qcheckbox.html">QCheckBox</a>, <a href="qcombobox.html">QComboBox</a>, <a href="qpushbutton.html">QPushButton</a>, <a href="qradiobutton.html">QRadioButton</a> and <a href="qtabwidget.html">QTabWidget</a>.
+<p> <h2> Bezier Curves
+</h2>
+<a name="28"></a><p> The function names for Bezier curves in <a href="qpainter.html">QPainter</a> and <a href="qpointarray.html">QPointArray</a> have
+been corrected. They now properly reflect their cubic form instead of
+a quadratic one. If you have been using either
+QPainter::drawQuadBezier() or QPointArray::quadBezier() you must
+replace these calls with
+<ul>
+<li> void <a href="qpainter.html#drawCubicBezier">QPainter::drawCubicBezier</a>( const QPointArray &amp;, int index=0 ) and
+<li> QPointArray <a href="qpointarray.html#cubicBezier">QPointArray::cubicBezier</a>() const
+</ul>
+respectively. Neither the arguments nor the resulting curve have changed.
+<p> <h2> Locale-aware String Comparisons in <a href="qiconview.html">QIconView</a>, <a href="qlistbox.html">QListBox</a>,
+<a href="qlistview.html">QListView</a> and <a href="qtable.html">QTable</a>
+</h2>
+<a name="29"></a><p> In Qt 2.x, <a href="qstring.html">QString</a> only provided string comparisons using the Unicode
+values of the characters of a string. This is efficient and reliable,
+but it is not the appropriate order for most languages. For example,
+French users expect '&eacute;' (e acute) to be treated essentially as
+'e' and not put after 'z'.
+<p> In Qt 3.0, <a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>() implements locale aware
+string comparisions on certain platforms. The classes <a href="qiconview.html">QIconView</a>, <a href="qlistbox.html">QListBox</a>, <a href="qlistview.html">QListView</a> and <a href="qtable.html">QTable</a> now use
+QString::localeAwareCompare() instead of <a href="qstring.html#compare">QString::compare</a>(). If you
+want to control the behaviour yourself you can always reimplement
+<a href="qiconviewitem.html#compare">QIconViewItem::compare</a>(), <a href="qlistbox.html#text">QListBox::text</a>(), <a href="qlistviewitem.html#compare">QListViewItem::compare</a>()
+or <a href="qtableitem.html#key">QTableItem::key</a>() as appropriate.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/porting2.html b/doc/html/porting2.html
new file mode 100644
index 0000000..cfa84fd
--- /dev/null
+++ b/doc/html/porting2.html
@@ -0,0 +1,965 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Porting to Qt 2.x</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Porting to Qt 2.x</h1>
+
+
+
+<p> <p>
+You're probably looking at this page because you want to port
+your application from Qt 1.x to Qt 2.x, but to be sure, let's
+review the good reasons to do this:
+<ul>
+<li>To get access to all the new Qt 2.x features like the rich text
+HTML subset for formatted labels, tooltips, online help etc.
+and the much easier to use layout classes and widgets.
+<li>To make your application truly international, with support
+for Unicode and translations for the languages of the world.
+<li>To allow your application to fit into the new look of the
+Unix desktop with configurable, very powerful "themes". The
+extended style system also integrates Qt applications better
+on MS-Windows desktops. Qt will automatically chose the right
+colors and fonts and obey global system setting changes.
+<li>To stay up-to-date with the version of Qt that gets all the
+new features and bug-fixes.
+<li>To get more speed and smoother widgets display with all the
+new anti-flicker changes in Qt.
+<li>Most of all though, you want to port to Qt 2.x
+so that your Wheel Mouse works!
+</ul>
+<p> <p>
+The Qt 2.x series is not binary compatible with the 1.x series.
+This means programs compiled for Qt 1.x must be recompiled to work
+with Qt 2.x. Qt 2.x is also not completely <em>source</em> compatible
+with 1.x, however all points of incompatibility cause
+compiler errors (rather than mysterious results), or produce run-time
+messages. The result is that Qt 2.x includes many additional features,
+discards obsolete functionality that is easily converted to use the new
+features, and that porting an application from Qt 1.x to Qt 2.x is
+a simple task well worth the amount of effort required.
+<p> To port code using Qt 1.x to use Qt 2.x:
+<p> <ul>
+<li> Briefly read the porting notes below to get an idea of what to expect.
+<li> Be sure your code compiles and runs well on all your target platforms with Qt 1.x.
+<li> Recompile with Qt 2.x. For each error, search below for related
+identifiers (eg. function names, class names) - this documented is
+structured to mention all relevant identifiers to facilitate such
+searching, even if that makes it a little verbose.
+<li> If you get stuck, ask on the qt-interest mailing list, or
+Trolltech Technical Support if you're a Professional Edition
+licensee.
+</ul>
+<p> Many very major projects, such as <a href="http://www.kde.org/">KDE</a>
+have been port, so there is plenty of expertise in the collective conscious
+that is the Qt Developer Community!
+</p>
+<p> <hr>
+<p> <h2 align=center>The Porting Notes</h2>
+<p> <ul>
+<li><b><a href="#Namespace">Namespace</a></b>
+<li><b><a href="#Virtual">Virtual Functions</a></b>
+<li><b><a href="#Collection">Collection classes</a></b>
+<li><b><a href="#DefaultParent">No Default 0 Parent Widget</a></b>
+<li><b><a href="#DebugVsRelease">Debug vs. Release</a></b>
+<li><b><a href="#QApplication">QApplication</a></b>
+<li><b><a href="#QClipboard">QClipboard</a></b>
+<li><b><a href="#QColor">QColor</a></b>
+<li><b><a href="#QDataStream">QDataStream</a></b>
+<li><b><a href="#QDialog">QDialog</a></b>
+<li><b><a href="#QDropSite">QDropSite</a></b>
+<li><b><a href="#QEvent">QEvent</a></b>
+<li><b><a href="#QFile">QFile</a></b>
+<li><b><a href="#QFontMetrics">QFontMetrics</a></b>
+<li><b><a href="#QIODevice">QIODevice</a></b>
+<li><b><a href="#QLabel">QLabel</a></b>
+<li><b><a href="#QLayout">QLayout</a></b>
+<li><b><a href="#QListView">QListView</a></b>
+<li><b><a href="#QMenuData">QMenuData</a></b>
+<li><b><a href="#QMenuData">QPopupMenu</a></b>
+<li><b><a href="#QMultiLineEdit">QMultiLineEdit</a></b>
+<li><b><a href="#QPainter">QPainter</a></b>
+<li><b><a href="#QPicture">QPicture</a></b>
+<li><b><a href="#QPoint">QPoint, <a href="qpointarray.html">QPointArray</a>, <a href="qsize.html">QSize</a> and <a href="qrect.html">QRect</a></a></b>
+<li><b><a href="#QPixmap">QPixmap</a></b>
+<li><b><a href="#QRgb">QRgb</a></b>
+<li><b><a href="#QScrollView">QScrollView</a></b>
+<li><b><a href="#QStrList">QStrList</a></b>
+<li><b><a href="#QString">QString</a></b>
+<li><b><a href="#QTextStream">QTextStream</a></b>
+<li><b><a href="#QUriDrag">QUriDrag / QUrlDrag</a></b>
+<li><b><a href="#QValidator">QComboBox</a></b>
+<li><b><a href="#QValidator">QLineEdit</a></b>
+<li><b><a href="#QValidator">QSpinBox</a></b>
+<li><b><a href="#QValidator">QValidator</a></b>
+<li><b><a href="#QWidget">QWidget</a></b>
+<li><b><a href="#QWindow">QWindow</a></b>
+</ul>
+<p> <hr>
+<p> <h3><a name="Namespace">Namespace</a></h3>
+<p> <p> Qt 2.x is namespace-clean, unlike 1.x. Qt now uses very few
+global identifiers. Identifiers like <code>red, blue, LeftButton,
+AlignRight, Key_Up, Key_Down, NoBrush</code> etc. are now part of a
+special class <code>Qt</code> (defined in qnamespace.h),
+which is inherited by
+most Qt classes. Member functions of classes that inherit from <a href="qwidget.html">QWidget</a>,
+etc. are totally unaffected, but code that is
+<em>not</em> in functions of classes inherited from <code>Qt</code>,
+you must qualify these identifiers like this: <code>Qt::red,
+Qt::LeftButton, Qt::AlignRight</code>, etc.
+<p> <p>The <code>qt/bin/qt20fix</code> script helps to fix the code that
+needs adaption, though most code does not need changing.
+<p> Compiling with -DQT1COMPATIBILITY will help you get going with Qt 2.x
+- it allows all the old "dirty namespace" identifiers from Qt 1.x to
+continue working. Without it, you'll get compile errors that can
+easily be fixed by searching this page for the clean identifiers.
+<p> <h3><a name="DefaultParent">No Default 0 Parent Widget</a></h3>
+<p> In Qt 1.x, all widget constructors were defined with a default value
+of 0 for the parent widget. However, only the main window of the
+application should be created with a 0 parent, all other widgets
+should have parents. Having the 0 default made it too simple to create
+bugs by forgetting to specify the parent of non-mainwindow
+widgets. Such widgets would typically never be deleted (causing memory
+leaks), and they would become top-level widgets, confusing the window
+managers. Therefore, in Qt 2.x the 0 default parent has been removed
+for the widget classes that are not likely to be used as main windows.
+<p> Note also that programs no longer need (or should) use 0 parent just
+to indicate that a widget should be top-level. See
+<pre> QWidget::isTopLevel() </pre>
+ for details. See also the notes about
+<a href="#QMenuData">QPopupMenu</a> and <a href="#QDialog">QDialog</a>
+below.
+<p> <h3><a name="Virtual">Virtual Functions</a></h3>
+<p> <p> Some virtual functions have changed signature in Qt 2.x.
+If you override them in derived classes, you must change the signature
+of your functions accordingly.
+<p> <!-- warwick can check for additions to this with his qt-2-report -->
+<ul>
+<li><pre> QWidget::setStyle(GUIStyle)</pre>
+
+<li><pre> QListView::addColumn(const char *, int)</pre>
+
+<li><pre> QListView::setColumnText(int, const char *)</pre>
+
+<li><pre> QListViewItem::setText(int, const char *)</pre>
+
+<li><pre> QMultiLineEdit::insertLine(const char *, int)</pre>
+
+<li><pre> QMultiLineEdit::insertAt(const char *, int, int, bool)</pre>
+
+<li><pre> QSpinBox::setPrefix(const char *)</pre>
+
+<li><pre> QSpinBox::setSuffix(const char *)</pre>
+
+<li><pre> QToolButton::setTextLabel(const char *, bool)</pre>
+
+<li><pre> QDoubleValidator::validate(QString &amp;, int &amp;)</pre>
+
+<li><pre> QIntValidator::validate(QString &amp;, int &amp;)</pre>
+
+<li><pre> QValidator::fixup(QString &amp;)</pre>
+
+<li><pre> QSlider::paintSlider(QPainter *, const <a href="qrect.html">QRect</a> &amp;)</pre>
+
+</ul>
+<p> This is one class of changes that are
+not detected by the compiler,
+so you should mechanically search for each of
+these function names in your header files, eg.
+<p> <pre>
+egrep -w 'setStyle|addColumn|setColumnText|setText...' *.h
+</pre>
+
+<p> Of course, you'll get a few false positives (eg. if you have a setText
+function that is not in a subclass of <a href="qlistviewitem.html">QListViewItem</a>).
+<p> <h3><a name="Collection">Collection classes</a></h3>
+<p> <p> The <a href="collection.html#collection-classes">collection classes</a> include generic
+classes such as QGDict, QGList, and
+the subclasses such as <a href="qdict.html">QDict</a> and QList.
+<p> <p> The macro-based Qt collection classes are obsolete; use the
+template-based classes instead. Simply remove includes of qgeneric.h and
+replace e.g. Q_DECLARE(<a href="qcache.html">QCache</a>,QPixmap) with QCache<QPixmap>.
+<p> <p> The GCI global typedef is replaced by QCollection::Item. Only if you
+make your own subclasses of the undocumented generic collection classes
+will you have GCI in your code.
+This change has been made to avoid collisions with other namespaces.
+<p> <p> The GCF global typedef is removed (it was not used in Qt).
+<p> <h3><a name="DebugVsRelease">Debug vs. Release</a></h3>
+<p> <p>The Q_ASSERT macro is now a null expression if the QT_CHECK_STATE flag
+is not set (i.e. if the QT_NO_CHECK flag is defined).
+<p> <p>The debug() function now outputs nothing if Qt was compiled with
+the QT_NO_DEBUG macro defined.
+<p> <h3><a name="QString">QString</a></h3>
+<p> <a href="qstring.html">QString</a> has undergone major changes internally, and although it is highly
+backward compatible, it is worth studying in detail when porting to Qt 2.x.
+The Qt 1.x QString class has been renamed to <a href="qcstring.html">QCString</a> in Qt 2.x, though if
+you use that you will incur a performance penalty since all Qt functions
+that took const char* now take const QString&.
+<p> <p>
+To take full advantage of the new <a href="i18n.html#internationalization">Internationalization</a>
+functionality in Qt 2.x, the following steps are required:
+<p> <ul>
+<li> Start converting all uses of "const char*" in parameters to
+"const QString&" - this can often be done mechanically, eg.
+using Perl. Convert usage of char[] for temporary string
+building to QString (much software already uses QString for
+this purpose as it offers many more facilities).
+<p> If you find that you are mixing usage of QCString, QString,
+and <a href="qbytearray.html">QByteArray</a>, this causes lots of unnecessary copying and
+might indicate that the true nature of the data you are
+dealing with is uncertain. If the data is NUL-terminated
+8-bit data, use QCString; if it is unterminated (ie.
+contains NULs) 8-bit data, use QByteArray; if it is text,
+use <a href="qstring.html">QString</a>.
+</p>
+<li> Put a breakpoint in <pre> QString::latin1()</pre>
+
+to catch places where
+Unicode information is being converted to ASCII (loosing
+information if your user in not using Latin1). Qt has
+a small number of calls to this - ignore those. As a stricter
+alternative, compile your code with QT_NO_ASCII_CAST defined,
+which hides the automatic conversion of QString to const char*,
+so you can catch problems at compile time.
+</p>
+<li> See the Qt <a href="i18n.html">Internationalization page</a>
+for information about the full process of internationalizing
+your software.
+</ul>
+<p> <p>
+Points to note about the new QString are:
+<p> <dl compact>
+<dt><b>Unicode</b></dt>
+<dd>
+Qt now uses Unicode throughout.
+data() now returns a <em>const</em> reference to an ASCII version
+of the string - you cannot directly access the
+string as an array of bytes, because it isn't one. Often, latin1() is
+what you want rather than data(), or just leave it to convert to
+const char* automatically. data() is only used now to aide porting to Qt 2.x,
+and ideally you'll only need latin1() or implicit conversion when interfacing
+to facilities that do not have Unicode support.
+<p> <dt><b>Automatic-expanding</b></dt>
+<dd>
+A big advantage of the new <a href="qstring.html">QString</a> is that it automatically expands
+when you write to an indexed position.
+<p> <dt><b>QChar and <a href="qcharref.html">QCharRef</a></b></dt>
+<dd>
+<a href="qchar.html">QChar</a> are the Unicode characters that make up a QString. A QCharRef is
+a temporary reference to a QChar in a QString that when assigned to
+ensures that the <a href="shclass.html#implicit-sharing">implicit sharing</a> semantics of the QString are maintained.
+You are unlikely to use QCharRef in your own code - but so that you
+understand compiler error messages, just know that <tt>mystring[123]</tt>
+is a QCharRef whenever <tt>mystring</tt> is not a constant string. A QCharRef
+has basically the same functionality as a QChar, except it is more restricted
+in what you can assign to it and cast it to (to avoid programming errors).
+<p> <dt><b>Use QString</b></dt>
+<dd>
+Try to always use QString. If you <em>must</em>, use <a href="qcstring.html">QCString</a> which is the
+old implementation from Qt 1.x.
+<p> <dt><b>Unicode vs. ASCII</b></dt>
+<dd>
+Every conversion to and from ASCII is wasted time, so try to use <a href="qstring.html">QString</a>
+as much as possible rather than const char*. This also ensures you have
+full 16-bit support.
+<p> <dt><b>Convertion to ASCII</b></dt>
+<dd>
+The return value from operator const char*() is transient - don't expect
+it to remain valid while you make deep function calls.
+It is valid for as long as you don't modify or destroy the QString.
+<p> <dt><b>QString is simpler</b></dt>
+<dd>
+Expect your code to become simpler with the new QString, especially
+places where you have used a char* to wander over the string rather
+than using indexes into the string.
+<p> <dt><b>Some hacks don't work</b></dt>
+<dd>
+This hack:
+use_sub_string( &my_string[index] )
+should be replaced by:
+use_sub_string( my_string.mid(index) )
+<p> <dt><b>QString(const char*, int) is removed</b></dt>
+<dd>
+The QString constructor taking a const char* and an integer is removed.
+Use of this constructor was error-prone, since the length included the
+'&#92;0' terminator. Use <a href="qstring.html#left">QString::left</a>(int) or <a href="qstring.html#fromLatin1">QString::fromLatin1</a>( const char*,
+int ) -- in both cases the int parameter signifies the number of characters.
+<p> <dt><b>QString(int) is private</b></dt>
+<dd>
+The <a href="qstring.html">QString</a> constructor taking an integer is now private. This function
+is not meaningful anymore, since QString does all space allocation
+automatically. 99% of cases can simple be changed to use the
+default constructor, QString().
+<p>
+In Qt 1.x the constructor was used in two ways: accidentally,
+by attempting to convert a char to a QString (the char converts to int!) -
+giving strange bugs, and as a way to make a QString big enough prior to
+calling <pre> QString::sprintf()</pre>
+ . In Qt 2.x, the accidental bug case is
+prevented (you will get a compilation error) and QString::sprintf has
+been made safe - you no longer need to pre-allocate space (though for
+other reasons, sprintf is still a poor choice - eg. it doesn't pass Unicode).
+The only remaining common case is conversion of 0 (NULL) to QString, which
+would usually give expected results in Qt 1.x. For Qt 2.x the correct
+syntax is to use <a href="qstring.html#QString-null">QString::null</a>, though note that
+the default constructor, QString(), creates a null string too.
+Assignment of 0 to a <a href="qstring.html">QString</a> is ambiguous - assign
+QString::null; you'll mainly find these in code that has been converted
+from const char* types to QString.
+This also prevents a common error case from Qt 1.x - in
+that version, mystr = 'X' would <em>not</em> produce the expected
+results and was always a programming error; in Qt 2.x, it works - making
+a single-character string.
+<p> <p>
+Also see <a href="#QStrList">QStrList</a>.
+<p> <dt><b>Signals and Slots</b></dt>
+<dd>
+Many signal/slots have changed from const char* to QString. You will
+get run-time errors when you try to <pre> QObject::connect()</pre>
+
+to the old
+signals and slots, usually with a message indicating the const QString&
+replacement signal/slot.
+<p> <dt><b>Optimize with Q2HELPER</b></dt>
+<dd>
+In qt/src/tools/qstring.cpp there is a Q2HELPER - define it for some
+extra debugging/optimizing features (don't leave it it - it kills performance).
+You'll get an extra function, qt_qstring_stats(), which will print a
+summary of how much your application is doing Unicode and ASCII
+back-and-forth conversions.
+<p> <dt><b>QString::detach() is obsolete and removed</b></dt>
+<dd>
+Since <a href="qstring.html">QString</a> is now always shared, this function does nothing.
+Remove calls to QString::detach().
+<p> <dt><b>QString::resize(int size) is obsolete and removed</b></dt>
+<dd>
+Code using this to truncate a string should use
+<a href="qstring.html#truncate">truncate(size-1)</a>.
+Code using qstr.resize(0) should use qstr = QString::null.
+Code calling resize(n) prior to using
+<a href="qstring.html#operator[]">operator[]</a> up to n just remove
+the resize(n) completely.
+<p> <dt><b>QString::size() is obsolete and removed</b></dt>
+<dd>
+Calls to this function must be replaced by
+<a href="qstring.html#length">length()</a>+1.
+<p> <dt><b>QString::setStr(const char*) is removed</b></dt>
+<dd>Try to understand why you were using this.
+If you just meant assignment, use that. Otherwise,
+you are probably using QString as an array of bytes, in which case use
+<a href="qbytearray.html">QByteArray</a> or <a href="qcstring.html">QCString</a> instead.
+<p> <dt><b>QString is not an array of bytes</b></dt>
+<dd>
+Code that uses <a href="qstring.html">QString</a> as an array of bytes should use QByteArray
+or a char[], <em>then</em> convert that to a QString if needed.
+<p> <dt><b>"string = 0"</b></dt>
+<dd>
+Assigning 0 to a QString should be assigning the null string,
+ie. string = QString::null.
+<p> <dt><b>System functions</b></dt>
+<dd>
+You may find yourself needing latin1() for passing to the operating system
+or other libraries, and be tempted to use QCString to save the conversion,
+but you are better off using Unicode throughout, then when the operating
+system supports Unicode, you'll be prepared. Some Unix operating systems
+are now beginning to have basic Unicode support, and Qt will be tracking
+these improvements as they become more widespread.
+<p> <dt><b>Bugs removed</b></dt>
+<dd>
+toShort() returns 0 (and sets *ok to false) on error.
+toUInt() now works for big valid unsigned integers.
+insert() now works into the same string.
+<p> <dt><b>NULL pointers</b></dt>
+<dd>
+When converting "const char*" usage to QString in order to make your
+application fully Unicode-aware, use QString::null for the null value
+where you would have used 0 with char pointers.
+<p> <dt><b>QString is not null terminated</b></dt>
+<dd>
+This means that inserting a 0-character
+in the middle of the string does <em>not</em> change the length(). ie.
+<pre>
+ <a href="qstring.html">QString</a> s = "fred";
+ s[1] = '\0';
+ // s.<a href="qstring.html#length">length</a>() == 4
+ // s == "f\0ed"
+ // s.<a href="qstring.html#latin1">latin1</a>() == "f"
+ s[1] = 'r';
+ // s == "fred"
+ // s.<a href="qstring.html#latin1">latin1</a>() == "fred"
+ </pre>
+
+Especially look out for this type of code:
+<pre>
+ <a href="qstring.html">QString</a> s(2);
+ s[0] = '?';
+ s[1] = 0;
+ </pre>
+
+This creates a string 2 characters long.
+To find these problems while converting, you might like to
+add <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(strlen(d->ascii)==d->len) inside
+<pre> QString::latin1()</pre>
+ .
+<p> <dt><b>QString or Standard C++ string?</b></dt>
+<dd>
+<p>
+The Standard C++ Library string is not Unicode. Nor is wstring defined
+to be so (for the small number of platforms where it is defined at all).
+This is the same mistake made over and over
+in the history of C - only when non-8-bit characters are <em>the norm</em>
+do programmers find them usable. Though it is possible to convert between
+string and <a href="qstring.html">QString</a>, it is less efficient than using QString throughout.
+For example, when using:
+<pre>
+ QLabel::<a href="qlabel.html#setText">setText</a>( const <a href="qstring.html">QString</a>&amp; )
+</pre>
+
+if you use string, like this:
+<pre>
+ void myclass::dostuffwithtext( const string&amp; str )
+ {
+ mylabel.setText( QString(str.c_str()) );
+ }
+</pre>
+
+that will create a (ASCII only) copy of str, stored in mylabel.
+But this:
+<pre>
+ void myclass::dostuffwithtext( const <a href="qstring.html">QString</a>&amp; str )
+ {
+ mylabel.setText( str );
+ }
+</pre>
+
+will make an <a href="shclass.html#implicitly-shared">implicitly shared</a> reference to str in the <a href="qlabel.html">QLabel</a> - no copying
+at all. This function might be 10 nested function calls away from something
+like this:
+<pre>
+ void toplevelclass::initializationstuff()
+ {
+ doStuff( tr("Okay") );
+ }
+</pre>
+
+At this point, in Qt 2.x, the tr() does a very fast dictionary lookup
+through memory-mapped message files, returning some Unicode <a href="qstring.html">QString</a> for
+the appropriate language (the default being to just make a QString out
+of the text, of course - you're not <em>forced</em> to use any of these
+features), and that <em>same</em> memory mapped Unicode will be passed
+though the system. All occurrences of the translation of "Okay" can
+potentially be shared.
+<p> </dl>
+<p> <h3><a name="QApplication">QApplication</a></h3>
+<p> In the function <pre> QApplication::setColorSpec()</pre>
+ ,
+PrivateColor and TrueColor are obsolete. Use ManyColor instead.
+<p> <h3><a name="QColor">QColor</a></h3>
+<p> <p>
+All colors
+(color0,
+color1,
+black,
+white,
+darkGray,
+gray,
+lightGray,
+red,
+green,
+blue,
+cyan,
+magenta,
+yellow,
+darkRed,
+darkGreen,
+darkBlue,
+darkCyan,
+darkMagenta,
+and
+darkYellow)
+are in the Qt namespace.
+In members of classes that inherit the Qt namespace-class (eg. <a href="qwidget.html">QWidget</a>
+subclasses), you can use the unqualified names as before, but in global
+functions (eg. main()), you need to qualify them: Qt::red, Qt::white, etc.
+See also the <a href="#QRgb">QRgb</a> section below.
+<p> <h3><a name="QRgb">QRgb</a></h3>
+<p> In QRgb (a typedef of long), the order of the RGB channels has changed to
+be in the more efficient order (for typical contemporary hardware). If your
+code made assumptions about the order, you will get blue where you expect
+red and vice versa (you'll not notice the problem if you use shades of
+gray, green, or magenta). You should port your code to use the
+creator function <a href="qcolor.html#qRgb">qRgb</a>(int r,int g,int b) and the
+access functions <a href="qcolor.html#qRed">qRed</a>(QRgb), <a href="qcolor.html#qBlue">qBlue</a>(QRgb), and <a href="qcolor.html#qGreen">qGreen</a>(QRgb).
+If you are using the alpha channel, it hasn't moved, but you should use
+the functions <a href="qcolor.html#qRgba">qRgba</a>(int,int,int,int) and <a href="qcolor.html#qAlpha">qAlpha</a>(QRgb). Note also that
+<a href="qcolor.html#pixel">QColor::pixel</a>() does <i>not</i> return a QRgb (it never did on all platforms,
+but your code may have assumed so on your platform) - this may also produce
+strange color results - use <a href="qcolor.html#rgb">QColor::rgb</a>() if you want a QRgb.
+<p> <h3><a name="QDataStream">QDataStream</a></h3>
+<p> <p>The QDatastream serialization format of most Qt classes is changed
+in Qt 2.x. Use <pre> QDataStream::setVersion( 1 )</pre>
+ to get a
+datastream object that can read and write Qt 1.x format data streams.
+<p> <p>If you want to write Qt 1.x format datastreams, note the following
+compatibility issues:
+<ul>
+<li>QString: Qt 1.x has no Unicode support, so strings will be
+serialized by writing the classic C string returned by <pre>
+ QString::<a href="qstring.html#latin1">latin1</a>().</pre>
+
+<li><a href="#QPoint">QPoint & al.</a>: Coordinates will be
+truncated to the Qt 1.x 16 bit format.
+</ul>
+<p> <h3><a name="QWidget">QWidget</a></h3>
+<p> <h4>QWidget::recreate()</h4>
+<p>
+This function is now called <a href="qwidget.html#reparent">reparent()</a>.
+<p> <h4>QWidget::setAcceptFocus(bool)</h4>
+<p>
+This function is removed.
+Calls like QWidget::setAcceptFocus(TRUE) should be replaced by
+<pre> QWidget::setFocusPolicy(StrongFocus)</pre>
+ , and
+calls like QWidget::setAcceptFocus(FALSE) should be replaced by
+<pre> QWidget::setFocusPolicy(NoFocus)</pre>
+ .
+Additional policies are TabFocus and ClickFocus.
+<p> <h4>QWidget::paintEvent()</h4>
+<p>
+paintEvent(0) is not permitted - subclasses need not check for
+a null event, and might crash.
+Never pass 0 as the argument to paintEvent(). You probably
+just want repaint() or update() instead.
+<p>
+When processing a paintEvent, painting is only permitted within
+the update region specified in the event. Any painting outside will be
+clipped away. This shouldn't break any code (it was always like this
+on MS-Windows) but makes many explicit calls to
+<a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>() superfluous. Apart from the improved
+consistency, the change is likely to reduce flicker and to make Qt
+event slightly faster.
+<p> <h3><a name="QIODevice">QIODevice</a></h3>
+<p>
+The protected member QIODevice::index is renamed to QIODevice::ioIndex
+to avoid warnings and to allow compilation with bad C libraries that
+#define index to strchr. If you have made a subclass of <a href="qiodevice.html">QIODevice</a>,
+check every occurrence of the string "index" in the implementation, since
+a compiler will not always catch cases like <pre>(uint)index</pre>
+
+that need to be changed.
+<p> <h3><a name="QLabel">QLabel</a></h3>
+<p> <h4><pre> QLabel::setMargin()</pre>
+ </h4>
+<p>
+<pre> QLabel::setMargin()</pre>
+ and<pre> QLabel::margin()</pre>
+
+have been renamed to <pre> QLabel::setIndent()</pre>
+ and
+<pre> QLabel::indent()</pre>
+ , respectively. This was done to avoid
+collision with <a href="qframe.html#setMargin">QFrame::setMargin</a>(), which is now virtual.
+<p> <h4><pre> QLabel::setMovie()</pre>
+ </h4>
+<p>
+Previously, setting a movie on a label cleared the value of text().
+Now it doesn't. If you somehow used <tt>QLabel::text()</tt>
+to detect if a
+movie was set, you might have trouble. This is unlikely.
+<p> <h3><a name="QDialog">QDialog</a></h3>
+<p> <p> The semantics of the parent pointer changed for modeless dialogs:
+In Qt-2.x, dialogs are always top level windows. The parent, however,
+takes the ownership of the dialog, i.e. it will delete the dialog at
+destruction if it has not been explicitly deleted
+already. Furthermore, the window system will be able to tell that both
+the dialog and the parent belong together. Some X11 window managers
+will for instance provide a common taskbar entry in that case.
+<p> <p>
+If the dialog belongs to a top level main window
+of your application, pass this main window as parent to the dialog's
+constructor. Old code (with 0 pointer) will still run. Old code that
+included QDialogs as child widgets will no longer work (it never really did).
+If you think you might be doing this, put a breakpoint in
+<a href="qdialog.html#QDialog">QDialog::QDialog</a>() conditional on parent not being 0.
+<p> <h3><a name="QStrList">QStrList</a></h3>
+<p> Many methods that took a <a href="qstrlist.html">QStrList</a> can now instead take a <a href="qstringlist.html">QStringList</a>,
+which is a real list of <a href="qstring.html">QString</a> values.
+<p> To use QStringList rather than QStrList, change loops that look like this:
+<pre>
+ <a href="qstrlist.html">QStrList</a> list = ...;
+ const char* s;
+ for ( s = list.<a href="qptrlist.html#first">first</a>(); s; s = list.<a href="qptrlist.html#next">next</a>() ) {
+ process(s);
+ }
+</pre>
+
+to be like this:
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = ...;
+ QStringList::ConstIterator i;
+ for ( i = list.<a href="qvaluelist.html#begin">begin</a>(); i != list.<a href="qvaluelist.html#end">end</a>(); ++i ) {
+ process(*i);
+ }
+</pre>
+
+<p> In general, the QStrList functions are less efficient, building a temporary QStringList.
+<p> The following functions now use QStringList rather than QStrList
+for return types/parameters.
+<p> <ul>
+<li><tt>void <a href="qfiledialog.html#setFilters">QFileDialog::setFilters</a>(const <a href="qstrlist.html">QStrList</a>&)</tt>
+becomes <tt>void QFileDialog::setFilters(const <a href="qstringlist.html">QStringList</a>&)</tt>
+<li><tt>QStrList <a href="qfiledialog.html#getOpenFileNames">QFileDialog::getOpenFileNames</a>(...)</tt>
+becomes <tt>QStringList QFileDialog::getOpenFileNames(...)</tt>
+<li><tt>bool QUrlDrag::decodeLocalFiles(<a href="qmimesource.html">QMimeSource</a>*, QStrList&)</tt>
+becomes <tt>bool <a href="quridrag.html#decodeLocalFiles">QUriDrag::decodeLocalFiles</a>(QMimeSource*, QStringList&)</tt>
+<li><tt>const QStrList *QDir::entryList(...) const</tt>
+becomes <tt>QStringList <a href="qdir.html#entryList">QDir::entryList</a>(...) const</tt>
+(note that the return type is no longer a pointer). You may also
+choose to use encodedEntryList().
+</ul>
+<p> The following functions are added:
+<ul>
+<li><tt>QComboBox::insertStringList(const QStringList &, int index=-1)</tt>
+<li><tt>QListBox::insertStringList(const QStringList &,int index=-1)</tt>
+</ul>
+<p> The rarely used static function <tt>void
+QFont::listSubstitutions(<a href="qstrlist.html">QStrList</a>*)</tt> is replaced by <tt>QStringList
+<a href="qfont.html#substitutions">QFont::substitutions</a>()</tt>.
+<p> <h3><a name="QLayout">QLayout</a></h3>
+<p> <p> Calling resize(0,0) or resize(1,1) will no longer work magically.
+Remove all such calls. The default size of top level widgets will be their
+<a href="qwidget.html#sizeHint">sizeHint()</a>.
+<p> <p> The default implementation of <a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() will no longer
+return just an invalid size; if the widget has a layout, it will return
+the layout's preferred size.
+<p> <p> The special maximum MaximumHeight/Width is now QWIDGETSIZE_MAX,
+not QCOORD_MAX.
+<p> <p> <a href="qboxlayout.html#addWidget">QBoxLayout::addWidget()</a>
+now interprets the <em>alignment</em> parameter more aggressively. A
+non-default alignment now indicates that the widget should not grow to
+fill the available space, but should be sized according to sizeHint().
+If a widget is too small, set the alignment to 0. (Zero indicates no
+alignment, and is the default.)
+<p> <p> The class QGManager is removed. Subclasses of <a href="qlayout.html">QLayout</a> need to be rewritten
+to use the new, much simpler <a href="qlayout.html">QLayout API</a>.
+<p> <p> For typical layouts, all use of
+<a href="qwidget.html#setMinimumSize">setMinimumSize()</a>
+and
+<a href="qwidget.html#setFixedSize">setFixedSize()</a>
+can be removed.
+<a href="qlayout.html#activate">activate()</a> is no longer necessary.
+<p> <p>
+You might like to look at the <a href="qgrid.html">QGrid</a>, <a href="qvbox.html">QVBox</a>, and <a href="qhbox.html">QHBox</a> widgets - they offer
+a simple way to build nested widget structures.
+<p> <h3><a name="QListView">QListView</a></h3>
+<p> <p>In Qt 1.x mouse events to the viewport where redirected to the
+event handlers for the listview; in Qt 2.x, this functionality is
+in <a href="qscrollview.html">QScrollView</a> where mouse (and other position-oriented) events are
+redirected to viewportMousePressEvent() etc, which in turn translate
+the event to the coordinate system of the contents and call
+contentsMousePressEvent() etc, thus providing events in the most
+convenient coordinate system. If you overrode QListView::MouseButtonPress(),
+<a href="qwidget.html#mouseDoubleClickEvent">QListView::mouseDoubleClickEvent</a>(), <a href="qwidget.html#mouseMoveEvent">QListView::mouseMoveEvent</a>(), or
+<a href="qwidget.html#mouseReleaseEvent">QListView::mouseReleaseEvent</a>() you must instead override
+viewportMousePressEvent(),
+viewportMouseDoubleClickEvent(), viewportMouseMoveEvent(), or
+viewportMouseReleaseEvent() respectively. New code will usually override
+contentsMousePressEvent() etc.
+<p> <p>The signal <a href="qlistview.html#selectionChanged">QListView::selectionChanged</a>(<a href="qlistviewitem.html">QListViewItem</a> *) can now be
+emitted with a null pointer as parameter. Programs that use the
+argument without checking for 0, may crash.
+<p> <h3><a name="QMultiLineEdit">QMultiLineEdit</a></h3>
+<p> <p>
+The protected function
+<pre> QMultiLineEdit::textWidth(QString*)</pre>
+
+changed to
+<pre> QMultiLineEdit::textWidth(const <a href="qstring.html">QString</a>&amp;)</pre>
+ .
+This is unlikely to be a problem, and you'll get a compile error
+if you called it.
+<p> <h3><a name="QClipboard">QClipboard</a></h3>
+<p> <p>
+<pre> QClipboard::pixmap()</pre>
+ now returns a <a href="qpixmap.html">QPixmap</a>, not a QPixmap*.
+The pixmap
+will be <a href="qpixmap.html#isNull">null</a> if no pixmap is on the
+clipboard. <a href="qclipboard.html">QClipboard</a> now offers powerful MIME-based types on the
+clipboard, just like drag-and-drop (in fact, you can reuse most of your
+drag-and-drop code with clipboard operations).
+<p> <h3><a name="QDropSite">QDropSite</a></h3>
+<p> <P>
+QDropSite is obsolete. If you simply passed <tt>this</tt>, just remove
+the inheritance of QDropSite and call
+<a href="qwidget.html#setAcceptDrops">setAcceptDrops(TRUE)</a> in the class
+constructor.
+If you passed something other than <tt>this</tt>,
+your code will not work. A common case is passing
+the
+<a href="qscrollview.html#viewport">viewport()</a> of a <a href="qlistview.html">QListView</a>,
+in which case,
+override the
+<a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent()</a>,
+etc.
+functions rather than QListView's dragMoveEvent() etc. For other
+cases, you will need to use an event filter to act on the drag/drop events
+of another widget (as is the usual way to intercept foreign events).
+<p> <h3><a name="QScrollView">QScrollView</a></h3>
+<p> The parameters in the signal
+<a href="qscrollview.html#contentsMoving">contentsMoving(int,int)</a>
+are now positive rather than negative values, coinciding with
+<a href="qscrollview.html#setContentsPos">setContentsPos()</a>. Search for
+connections you make to this signal, and either change the slot they are
+connected to such that it also expects positive rather than negative
+values, or introduce an intermediate slot and signal that negates them.
+<p> If you used drag and drop with <a href="qscrollview.html">QScrollView</a>, you may experience the problem
+described for <a href="#QDropSite">QDropSite</a>.
+<p> <h3><a name="QTextStream">QTextStream</a></h3>
+<p> <p>
+<pre> operator&lt;&lt;(QTextStream&amp;, QChar&amp;)</pre>
+ does not skip whitespace.
+<pre> operator&lt;&lt;(QTextStream&amp;, char&amp;)</pre>
+ does,
+as was the case with Qt 1.x. This is for backward compatibility.
+<p> <h3><a name="QUriDrag">QUriDrag</a></h3>
+<p> The class QUrlDrag is renamed to <a href="quridrag.html">QUriDrag</a>, and the API has been
+broadened to include additional conversion routines, including
+conversions to Unicode filenames (see the class documentation
+for details). Note that in Qt 1.x
+the QUrlDrag class used the non-standard MIME type "url/url",
+while QUriDrag uses the standardized "text/uri-list" type. Other
+identifiers affected by the Url to Uri change are
+QUrlDrag::setUrls() and QUrlDrag::urlToLocalFile().
+<p> <h3><a name="QPainter">QPainter</a></h3>
+<p> <p> The GrayText painter flag has been removed. Use
+<a href="qpainter.html#setPen">setPen( palette().disabled().foreground() )</a>
+instead.
+<p> <p> The RasterOp enum
+(CopyROP,
+OrROP,
+XorROP,
+NotAndROP,
+EraseROP,
+NotCopyROP,
+NotOrROP,
+NotXorROP,
+AndROP, NotEraseROP,
+NotROP,
+ClearROP,
+SetROP,
+NopROP,
+AndNotROP,
+OrNotROP,
+NandROP,
+NorROP, LastROP)
+is now part of the Qt namespace class, so if you
+use it outside a member function, you'll need to prefix with Qt::.
+<p> <h3><a name="QPicture">QPicture</a></h3>
+<p> <p>The binary storage format of <a href="qpicture.html">QPicture</a> is changed, but the Qt 2.x
+QPicture class can both read and write Qt 1.x format QPictures. No
+special handling is required for reading; QPicture will automatically
+detect the version number. In order to write a Qt 1.x format QPicture,
+set the formatVersion parameter to 1 in the QPicture constructor.
+<p> <p>For writing Qt 1.x format QPictures, the compatibility issues of <a
+href="#QDataStream">QDataStream</a> applies.
+<p> <p>It is safe to try to read a QPicture file generated with Qt 2.x
+(without formatVersion set to 1) with a program compiled with Qt
+1.x. The program will not crash, it will just issue the warning
+"QPicture::play: Incompatible version 2.x" and refuse to load the
+picture.
+<p> <h3><a name="QPoint">QPoint, <a href="qpointarray.html">QPointArray</a>, <a href="qsize.html">QSize</a> and <a href="qrect.html">QRect</a></a></h3>
+<p> <p>The basic coordinate datatype in these classes, QCOORD, is now 32
+bit (int) instead of a 16 bit (short). The const values QCOORD_MIN and
+QCOORD_MAX have changed accordingly.
+<p> <p>QPointArray is now actually, not only seemingly, a QArray of <a href="qpoint.html">QPoint</a>
+objects. The semi-internal workaround classes QPointData and QPointVal
+are removed since they are no longer needed; QPoint is used directly
+instead. The function <pre> QPointArray::shortPoints()</pre>
+
+provides the point array converted to short (16bit) coordinates for
+use with external functions that demand that format.
+<p> <h3><a name="QImage">QImage</a></h3>
+<p> <a href="qimage.html">QImage</a> uses QRgb for the colors - see <a href="#QRgb">the changes to that</a>.
+<p> <h3><a name="QPixmap">QPixmap</a></h3>
+<p> <pre> QPixmap::convertToImage()</pre>
+ with bitmaps now guarantees that color0 pixels
+become color(0) in the resulting QImage. If you worked around the lack of
+this, you may be able to simplify your code. If you made assumptions
+about the previous undefined behavior, the symptom will be inverted
+bitmaps (eg. "inside-out" masks).
+<p> <p>
+<pre> QPixmap::optimize(TRUE)</pre>
+
+is replaced by
+<pre> QPixmap::setOptimization(QPixmap::NormalOptim)</pre>
+
+or
+<pre> QPixmap::setOptimization(QPixmap::BestOptim)</pre>
+
+- see the documentation
+to choose which is best for your application. NormalOptim is most like
+the Qt 1.x "TRUE" optimization.
+<p> <h3><a name="QMenuData">QMenuData / <a href="qpopupmenu.html">QPopupMenu</a></a></h3>
+<p> In Qt 1.x, new menu items were assigned either an application-wide
+unique identifier or an identifier equal to the index of the item, depending on the
+<a href="qmenudata.html#insertItem">insertItem(...)</a> function used.
+In Qt 2.x this confusing
+situation has been cleaned up: generated identifiers are always
+unique across the entire application.
+<p> If your code depends on generated ids
+being equal to the item's index, a quick fix is to use
+<pre> QMenuData::indexOf(int id)</pre>
+
+in the handling function instead. You may alternatively pass
+<pre> QMenuData::count()</pre>
+
+as identifier when you insert the items.
+<p> Furthermore, QPopupMenus can (and should!) be created with a parent
+widget now, for example the main window that is used to display the
+popup. This way, the popup will automatically be destroyed together
+with its main window. Otherwise you'll have to take care of the
+ownership manually.
+<p> QPopupMenus are also reusable in 2.x. They may occur in different
+locations within one menu structure or be used as both a menubar
+drop-down and as a context popup-menu. This should make it possible to
+significantly simplify many applications.
+<p> Last but not least, <a href="qpopupmenu.html">QPopupMenu</a> no longer inherits QTableView. Instead,
+it directly inherits <a href="qframe.html">QFrame</a>.
+<p> <h3><a name="QValidator">QValidator (<a href="qlineedit.html">QLineEdit</a>, <a href="qcombobox.html">QComboBox</a>, <a href="qspinbox.html">QSpinBox</a>) </a></h3>
+<p> <pre> QValidator::validate(...)</pre>
+
+and
+<pre> QValidator::fixup( <a href="qstring.html">QString</a> &amp; )</pre>
+
+are now const
+functions. If your subclass reimplements validate() as a
+non-const function,
+you will get a compile error (validate was pure virtual).
+<p> In QLineEdit, QComboBox, and QSpinBox,
+setValidator(...) now takes a const pointer to a <a href="qvalidator.html">QValidator</a>, and
+validator() returns a const pointer. This change highlights the fact
+that the widgets do not take the ownership of the validator (a validator is
+a <a href="qobject.html">QObject</a> on its own, with its own parent - you can easily set the same validator
+object on many different widgets), so changing the state of
+such an object or deleting it is very likely a bug.
+<p> <h3><a name="QFile">QFile, <a href="qfileinfo.html">QFileInfo</a>, <a href="qdir.html">QDir</a></a></h3>
+<p> File and directory names are now always Unicode strings (ie. <a href="qstring.html">QString</a>). If you used QString
+in the past for the simplicity it offers, you'll probably have little consequence. However,
+if you pass filenames to system functions rather than using Qt functions (eg. if you use the
+Unix <tt>unlink()</tt> function rather than <tt>QFile::remove()</tt>, your code will probably
+only work for Latin1 locales (eg. Western Europe, the U.S.). To ensure your code will support
+filenames in other locales, either use the Qt functions, or convert the filenames via
+<pre> QFile::encodeFilename()</pre>
+ and <pre> QFile::decodeFilename()</pre>
+ - but do it
+<em>just</em> as you call the system function - code that mixes encoded and unencoded filenames
+is very error prone. See the comments in QString, such as regarding QT_NO_ASCII_CAST that
+can help find potential problems.
+<p> <h3><a name="QFontMetrics">QFontMetrics</a></h3>
+<p> boundingRect(char) is replaced by
+boundingRect(<a href="qchar.html">QChar</a>), but since
+char auto-converts to QChar, you're not likely to run into problems
+with this.
+<p> <h3><a name="QWindow">QWindow</a></h3>
+<p> This class (which was just <a href="qwidget.html">QWidget</a> under a different name) has been
+removed. If you used it, do a global search-and-replace of the word
+"QWindow" with "QWidget".
+<p> <h3><a name="QEvent">QEvent</a></h3>
+<p> <p> The global #define macros in qevent.h have been replaced by an
+enum in <a href="qevent.html">QEvent</a>. Use e.g. QEvent::Paint instead of Event_Paint. Same
+for all of:
+Event_None,
+Event_Timer,
+Event_MouseButtonPress,
+Event_MouseButtonRelease,
+Event_MouseButtonDblClick,
+Event_MouseMove,
+Event_KeyPress,
+Event_KeyRelease,
+Event_FocusIn,
+Event_FocusOut,
+Event_Enter,
+Event_Leave,
+Event_Paint,
+Event_Move,
+Event_Resize,
+Event_Create,
+Event_Destroy,
+Event_Show,
+Event_Hide,
+Event_Close,
+Event_Quit,
+Event_Accel,
+Event_Clipboard,
+Event_SockAct,
+Event_DragEnter,
+Event_DragMove,
+Event_DragLeave,
+Event_Drop,
+Event_DragResponse,
+Event_ChildInserted,
+Event_ChildRemoved,
+Event_LayoutHint,
+Event_ActivateControl,
+Event_DeactivateControl,
+and
+Event_User.
+<p> <p> The Q_*_EVENT macros in qevent.h have been deleted. Use an
+explicit cast instead. The macros were:
+Q_TIMER_EVENT,
+Q_MOUSE_EVENT,
+Q_KEY_EVENT,
+Q_FOCUS_EVENT,
+Q_PAINT_EVENT,
+Q_MOVE_EVENT,
+Q_RESIZE_EVENT,
+Q_CLOSE_EVENT,
+Q_SHOW_EVENT,
+Q_HIDE_EVENT,
+and
+Q_CUSTOM_EVENT.
+<p> <p> QChildEvents are now sent for all QObjects, not just QWidgets.
+You may need to add extra checking if you use a <a href="qchildevent.html">QChildEvent</a> without
+much testing of its values.
+<p> <h3>All the removed functions</h3>
+<p> All <a href="removed20.html">these functions</a> have been removed in
+Qt 2.x. Most are simply cases where "const char*" has changed to
+"const <a href="qstring.html">QString</a>&", or when an enumeration type has moved into the Qt::
+namespace (which, technically, is a new name, but your code will
+compile just the same anyway). This list is provided for completeness.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/prev.png b/doc/html/prev.png
new file mode 100644
index 0000000..f9fbd93
--- /dev/null
+++ b/doc/html/prev.png
Binary files differ
diff --git a/doc/html/prevunfinished.png b/doc/html/prevunfinished.png
new file mode 100644
index 0000000..25cc1a2
--- /dev/null
+++ b/doc/html/prevunfinished.png
Binary files differ
diff --git a/doc/html/primes.html b/doc/html/primes.html
new file mode 100644
index 0000000..730769d
--- /dev/null
+++ b/doc/html/primes.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/primes.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Table of Prime Numbers 2-9999</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Table of Prime Numbers 2-9999</h1>
+
+
+
+<p> <!-- index prime --><a name="prime"></a><hr>
+<p> <pre>
+ 2 3 5 7 11 13 17 19 23 29
+ 31 37 41 43 47 53 59 61 67 71
+ 73 79 83 89 97 101 103 107 109 113
+ 127 131 137 139 149 151 157 163 167 173
+ 179 181 191 193 197 199 211 223 227 229
+ 233 239 241 251 257 263 269 271 277 281
+ 283 293 307 311 313 317 331 337 347 349
+ 353 359 367 373 379 383 389 397 401 409
+ 419 421 431 433 439 443 449 457 461 463
+ 467 479 487 491 499 503 509 521 523 541
+ 547 557 563 569 571 577 587 593 599 601
+ 607 613 617 619 631 641 643 647 653 659
+ 661 673 677 683 691 701 709 719 727 733
+ 739 743 751 757 761 769 773 787 797 809
+ 811 821 823 827 829 839 853 857 859 863
+ 877 881 883 887 907 911 919 929 937 941
+ 947 953 967 971 977 983 991 997 1009 1013
+ 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069
+ 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151
+ 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223
+ 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291
+ 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373
+ 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451
+ 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511
+ 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583
+ 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657
+ 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733
+ 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811
+ 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889
+ 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987
+ 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053
+ 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129
+ 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213
+ 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287
+ 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357
+ 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423
+ 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531
+ 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617
+ 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687
+ 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741
+ 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819
+ 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903
+ 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999
+ 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079
+ 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181
+ 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257
+ 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331
+ 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413
+ 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511
+ 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571
+ 3581 3583 3593 3607 3613 3617 3623 3631 3637 3643
+ 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727
+ 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821
+ 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907
+ 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989
+ 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057
+ 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139
+ 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231
+ 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297
+ 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409
+ 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493
+ 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583
+ 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657
+ 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751
+ 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831
+ 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937
+ 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003
+ 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087
+ 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179
+ 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279
+ 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387
+ 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443
+ 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521
+ 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639
+ 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693
+ 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791
+ 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857
+ 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939
+ 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053
+ 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133
+ 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221
+ 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301
+ 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367
+ 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473
+ 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571
+ 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673
+ 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761
+ 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833
+ 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917
+ 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997
+ 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103
+ 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207
+ 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297
+ 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411
+ 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499
+ 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561
+ 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643
+ 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723
+ 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829
+ 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919
+ 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017
+ 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111
+ 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219
+ 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291
+ 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387
+ 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501
+ 8513 8521 8527 8537 8539 8543 8563 8573 8581 8597
+ 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677
+ 8681 8689 8693 8699 8707 8713 8719 8731 8737 8741
+ 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831
+ 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929
+ 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011
+ 9013 9029 9041 9043 9049 9059 9067 9091 9103 9109
+ 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199
+ 9203 9209 9221 9227 9239 9241 9257 9277 9281 9283
+ 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377
+ 9391 9397 9403 9413 9419 9421 9431 9433 9437 9439
+ 9461 9463 9467 9473 9479 9491 9497 9511 9521 9533
+ 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631
+ 9643 9649 9661 9677 9679 9689 9697 9719 9721 9733
+ 9739 9743 9749 9767 9769 9781 9787 9791 9803 9811
+ 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887
+ 9901 9907 9923 9929 9931 9941 9949 9967 9973
+</pre><p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/process-example.html b/doc/html/process-example.html
new file mode 100644
index 0000000..4c226f3
--- /dev/null
+++ b/doc/html/process-example.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/process/process.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Starting processes with IO redirection</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Starting processes with IO redirection</h1>
+
+
+<p>
+<p> This example shows you how to start other processes with Qt and how
+IO redirection is done. The example tries to start the uic (a tool
+that comes with the Qt Designer) on a certain ui file and displays the
+output of the command.
+<p> <hr>
+<p> Implementation (process.cpp):
+<p> <pre>/****************************************************************************
+** $Id: qt/process.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+#include &lt;<a href="qprocess-h.html">qprocess.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+
+#include &lt;stdlib.h&gt;
+
+class UicManager : public <a href="qvbox.html">QVBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ UicManager();
+ ~UicManager() {}
+
+public slots:
+ void readFromStdout();
+ void scrollToTop();
+
+private:
+ <a href="qprocess.html">QProcess</a> *proc;
+ <a href="qtextview.html">QTextView</a> *output;
+ <a href="qpushbutton.html">QPushButton</a> *quitButton;
+};
+
+<a name="f204"></a>UicManager::UicManager()
+{
+ // Layout
+ output = new <a href="qtextview.html">QTextView</a>( this );
+ quitButton = new <a href="qpushbutton.html">QPushButton</a>( <a href="qobject.html#tr">tr</a>("Quit"), this );
+ <a href="qobject.html#connect">connect</a>( quitButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()),
+ qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ <a href="qwidget.html#resize">resize</a>( 500, 500 );
+
+ // QProcess related code
+ proc = new <a href="qprocess.html">QProcess</a>( this );
+
+ // Set up the command and arguments.
+ // On the command line you would do:
+ // uic -tr <a href="i18n.html#i18n">i18n</a> "small_dialog.ui"
+<a name="x97"></a> proc-&gt;<a href="qprocess.html#addArgument">addArgument</a>( "uic" );
+ proc-&gt;<a href="qprocess.html#addArgument">addArgument</a>( "-tr" );
+ proc-&gt;<a href="qprocess.html#addArgument">addArgument</a>( "i18n" );
+ proc-&gt;<a href="qprocess.html#addArgument">addArgument</a>( "small_dialog.ui" );
+
+<a name="x100"></a> <a href="qobject.html#connect">connect</a>( proc, SIGNAL(<a href="qprocess.html#readyReadStdout">readyReadStdout</a>()),
+ this, SLOT(readFromStdout()) );
+<a name="x98"></a> <a href="qobject.html#connect">connect</a>( proc, SIGNAL(<a href="qprocess.html#processExited">processExited</a>()),
+ this, SLOT(scrollToTop()) );
+
+<a name="x101"></a> if ( !proc-&gt;<a href="qprocess.html#start">start</a>() ) {
+ // error handling
+<a name="x96"></a> QMessageBox::<a href="qmessagebox.html#critical">critical</a>( 0,
+ <a href="qobject.html#tr">tr</a>("Fatal error"),
+ <a href="qobject.html#tr">tr</a>("Could not start the uic command."),
+ <a href="qobject.html#tr">tr</a>("Quit") );
+ exit( -1 );
+ }
+}
+
+void <a name="f205"></a>UicManager::readFromStdout()
+{
+ // Read and process the data.
+ // Bear in mind that the data might be output in chunks.
+<a name="x99"></a><a name="x103"></a> output-&gt;<a href="qtextedit.html#append">append</a>( proc-&gt;<a href="qprocess.html#readStdout">readStdout</a>() );
+}
+
+void <a name="f206"></a>UicManager::scrollToTop()
+{
+<a name="x102"></a> output-&gt;<a href="qscrollview.html#setContentsPos">setContentsPos</a>( 0, 0 );
+}
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ UicManager manager;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;manager );
+ manager.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "process.moc"
+</pre>
+
+<p>See also <a href="qprocess-examples.html">QProcess Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/progress-example.html b/doc/html/progress-example.html
new file mode 100644
index 0000000..5719c1f
--- /dev/null
+++ b/doc/html/progress-example.html
@@ -0,0 +1,390 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/progress/progress.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Progress Bar and Dialog Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Progress Bar and Dialog Example</h1>
+
+
+<p>
+This example displays either a simple (text-only) or a
+custom-labelled (user-supplied widget) progress dialog. It also
+demonstrates simple use of menus.
+<hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/progress.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qprogressdialog-h.html">qprogressdialog.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+class AnimatedThingy : public <a href="qlabel.html">QLabel</a> {
+public:
+ AnimatedThingy( <a href="qwidget.html">QWidget</a>* parent, const <a href="qstring.html">QString</a>&amp; s ) :
+ <a href="qlabel.html">QLabel</a>(parent),
+ label(s),
+ step(0)
+ {
+ setBackgroundColor(white);
+ label+="\n... and wasting CPU\nwith this animation!\n";
+
+ for (int i=0; i&lt;nqix; i++)
+ ox[0][i] = oy[0][i] = ox[1][i] = oy[1][i] = 0;
+ x0 = y0 = x1 = y1 = 0;
+ dx0 = rand()%8+2;
+ dy0 = rand()%8+2;
+ dx1 = rand()%8+2;
+ dy1 = rand()%8+2;
+ }
+
+ void show()
+ {
+ if (!isVisible()) startTimer(100);
+ QWidget::<a href="qwidget.html#show">show</a>();
+ }
+
+ void hide()
+ {
+<a name="x89"></a> QWidget::<a href="qwidget.html#hide">hide</a>();
+ killTimers();
+ }
+
+ <a href="qsize.html">QSize</a> sizeHint() const
+ {
+ return QSize(120,100);
+ }
+
+protected:
+ void timerEvent(QTimerEvent*)
+ {
+ <a href="qpainter.html">QPainter</a> p(this);
+<a name="x76"></a> <a href="qpen.html">QPen</a> pn=p.<a href="qpainter.html#pen">pen</a>();
+<a name="x80"></a> pn.<a href="qpen.html#setWidth">setWidth</a>(2);
+<a name="x79"></a> pn.<a href="qpen.html#setColor">setColor</a>(backgroundColor());
+<a name="x78"></a> p.<a href="qpainter.html#setPen">setPen</a>(pn);
+
+ step = (step + 1) % nqix;
+
+<a name="x73"></a> p.<a href="qpainter.html#drawLine">drawLine</a>(ox[0][step], oy[0][step], ox[1][step], oy[1][step]);
+
+ inc(x0, dx0, width());
+ inc(y0, dy0, height());
+ inc(x1, dx1, width());
+ inc(y1, dy1, height());
+ ox[0][step] = x0;
+ oy[0][step] = y0;
+ ox[1][step] = x1;
+ oy[1][step] = y1;
+
+ <a href="qcolor.html">QColor</a> c;
+<a name="x66"></a> c.<a href="qcolor.html#setHsv">setHsv</a>( (step*255)/nqix, 255, 255 ); // rainbow effect
+ pn.<a href="qpen.html#setColor">setColor</a>(c);
+ p.<a href="qpainter.html#setPen">setPen</a>(pn);
+ p.<a href="qpainter.html#drawLine">drawLine</a>(ox[0][step], oy[0][step], ox[1][step], oy[1][step]);
+ p.<a href="qpainter.html#setPen">setPen</a>(colorGroup().text());
+<a name="x74"></a> p.<a href="qpainter.html#drawText">drawText</a>(rect(), AlignCenter, label);
+ }
+
+ void paintEvent(QPaintEvent* event)
+ {
+ <a href="qpainter.html">QPainter</a> p(this);
+ <a href="qpen.html">QPen</a> pn=p.<a href="qpainter.html#pen">pen</a>();
+ pn.<a href="qpen.html#setWidth">setWidth</a>(2);
+ p.<a href="qpainter.html#setPen">setPen</a>(pn);
+<a name="x77"></a> p.<a href="qpainter.html#setClipRect">setClipRect</a>(event-&gt;rect());
+ for (int i=0; i&lt;nqix; i++) {
+ <a href="qcolor.html">QColor</a> c;
+ c.<a href="qcolor.html#setHsv">setHsv</a>( (i*255)/nqix, 255, 255 ); // rainbow effect
+ pn.<a href="qpen.html#setColor">setColor</a>(c);
+ p.<a href="qpainter.html#setPen">setPen</a>(pn);
+ p.<a href="qpainter.html#drawLine">drawLine</a>(ox[0][i], oy[0][i], ox[1][i], oy[1][i]);
+ }
+ p.<a href="qpainter.html#setPen">setPen</a>(colorGroup().text());
+ p.<a href="qpainter.html#drawText">drawText</a>(rect(), AlignCenter, label);
+ }
+
+private:
+ void inc(int&amp; x, int&amp; dx, int b)
+ {
+ x+=dx;
+ if (x&lt;0) { x=0; dx=rand()%8+2; }
+ else if (x&gt;=b) { x=b-1; dx=-(rand()%8+2); }
+ }
+
+ enum {nqix=10};
+ int ox[2][nqix];
+ int oy[2][nqix];
+ int x0,y0,x1,y1;
+ int dx0,dy0,dx1,dy1;
+ <a href="qstring.html">QString</a> label;
+ int step;
+};
+
+
+class CPUWaster : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+ enum { first_draw_item = 1000, last_draw_item = 1006 };
+
+ int drawItemRects(int id)
+ {
+ int n = id - first_draw_item;
+ int r = 100;
+ while (n--) r*=(n%3 ? 5 : 4);
+ return r;
+ }
+ <a href="qstring.html">QString</a> drawItemText(int id)
+ {
+ <a href="qstring.html">QString</a> str;
+ str.<a href="qstring.html#sprintf">sprintf</a>("%d Rectangles", drawItemRects(id));
+ return str;
+ }
+
+public:
+ CPUWaster() :
+ pb(0)
+ {
+ menubar = new <a href="qmenubar.html">QMenuBar</a>( this, "menu" );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( menubar );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+ for (int i=first_draw_item; i&lt;=last_draw_item; i++)
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( drawItemText(i), i );
+<a name="x67"></a> connect( menubar, SIGNAL(<a href="qmenubar.html#activated">activated</a>(int)), this, SLOT(doMenuItem(int)) );
+<a name="x69"></a> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Quit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ options = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( options );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Options", options );
+ td_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Timer driven", this, SLOT(timerDriven()) );
+ ld_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Loop driven", this, SLOT(loopDriven()) );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ dl_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Default label", this, SLOT(defaultLabel()) );
+ cl_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Custom label", this, SLOT(customLabel()) );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ md_id = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "No minimum duration", this, SLOT(toggleMinimumDuration()) );
+<a name="x81"></a> options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ loopDriven();
+ defaultLabel();
+
+ setFixedSize( 400, 300 );
+
+ setBackgroundColor( black );
+ }
+
+public slots:
+ void doMenuItem(int id)
+ {
+ if (id &gt;= first_draw_item &amp;&amp; id &lt;= last_draw_item)
+ draw(drawItemRects(id));
+ }
+
+ void stopDrawing() { got_stop = TRUE; }
+
+ void timerDriven()
+ {
+ timer_driven = TRUE;
+<a name="x71"></a> options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( td_id, TRUE );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ld_id, FALSE );
+ }
+
+ void loopDriven()
+ {
+ timer_driven = FALSE;
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ld_id, TRUE );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( td_id, FALSE );
+ }
+
+ void defaultLabel()
+ {
+ default_label = TRUE;
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( dl_id, TRUE );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( cl_id, FALSE );
+ }
+
+ void customLabel()
+ {
+ default_label = FALSE;
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( dl_id, FALSE );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( cl_id, TRUE );
+ }
+
+ void toggleMinimumDuration()
+ {
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( md_id,
+<a name="x70"></a> !options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>( md_id ) );
+ }
+
+private:
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a>* )
+ {
+ if (!got_stop)
+<a name="x86"></a><a name="x85"></a> pb-&gt;<a href="qprogressdialog.html#setProgress">setProgress</a>( pb-&gt;<a href="qprogressdialog.html#totalSteps">totalSteps</a>() - rects );
+ rects--;
+
+ {
+ <a href="qpainter.html">QPainter</a> p(this);
+
+ int ww = width();
+ int wh = height();
+
+ if ( ww &gt; 8 &amp;&amp; wh &gt; 8 ) {
+ <a href="qcolor.html">QColor</a> c(rand()%255, rand()%255, rand()%255);
+ int x = rand() % (ww-8);
+ int y = rand() % (wh-8);
+ int w = rand() % (ww-x);
+ int h = rand() % (wh-y);
+<a name="x75"></a> p.<a href="qpainter.html#fillRect">fillRect</a>( x, y, w, h, c );
+ }
+ }
+
+ if (!rects || got_stop) {
+ if (!got_stop)
+ pb-&gt;<a href="qprogressdialog.html#setProgress">setProgress</a>( pb-&gt;<a href="qprogressdialog.html#totalSteps">totalSteps</a>() );
+ <a href="qpainter.html">QPainter</a> p(this);
+ p.<a href="qpainter.html#fillRect">fillRect</a>(0, 0, width(), height(), backgroundColor());
+ enableDrawingItems(TRUE);
+ killTimers();
+ delete pb;
+ pb = 0;
+ }
+ }
+
+ <a href="qprogressdialog.html">QProgressDialog</a>* newProgressDialog( const char* label, int steps, bool modal )
+ {
+ <a href="qprogressdialog.html">QProgressDialog</a> *d = new <a href="qprogressdialog.html">QProgressDialog</a>(label, "Cancel", steps, this,
+ "progress", modal);
+ if ( options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>( md_id ) )
+<a name="x84"></a> d-&gt;<a href="qprogressdialog.html#setMinimumDuration">setMinimumDuration</a>(0);
+ if ( !default_label )
+<a name="x83"></a> d-&gt;<a href="qprogressdialog.html#setLabel">setLabel</a>( new AnimatedThingy(d,label) );
+ return d;
+ }
+
+ void enableDrawingItems(bool yes)
+ {
+ for (int i=first_draw_item; i&lt;=last_draw_item; i++) {
+<a name="x72"></a> menubar-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>(i, yes);
+ }
+ }
+
+ void draw(int n)
+ {
+ if ( timer_driven ) {
+ if ( pb ) {
+ <a href="qapplication.html#qWarning">qWarning</a>("This cannot happen!");
+ return;
+ }
+ rects = n;
+ pb = newProgressDialog("Drawing rectangles.\n"
+ "Using timer event.", n, FALSE);
+ pb-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Please Wait");
+<a name="x82"></a> connect(pb, SIGNAL(<a href="qprogressdialog.html#cancelled">cancelled</a>()), this, SLOT(stopDrawing()));
+ enableDrawingItems(FALSE);
+ startTimer(0);
+ got_stop = FALSE;
+ } else {
+ <a href="qprogressdialog.html">QProgressDialog</a>* lpb = newProgressDialog(
+ "Drawing rectangles.\nUsing loop.", n, TRUE);
+ lpb-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Please Wait");
+
+ <a href="qpainter.html">QPainter</a> p(this);
+ for (int i=0; i&lt;n; i++) {
+ lpb-&gt;<a href="qprogressdialog.html#setProgress">setProgress</a>(i);
+<a name="x87"></a> if ( lpb-&gt;<a href="qprogressdialog.html#wasCancelled">wasCancelled</a>() )
+ break;
+
+ <a href="qcolor.html">QColor</a> c(rand()%255, rand()%255, rand()%255);
+ int x = rand()%(width()-8);
+ int y = rand()%(height()-8);
+ int w = rand()%(width()-x);
+ int h = rand()%(height()-y);
+ p.<a href="qpainter.html#fillRect">fillRect</a>(x,y,w,h,c);
+ }
+
+ p.<a href="qpainter.html#fillRect">fillRect</a>(0, 0, width(), height(), backgroundColor());
+
+ delete lpb;
+ }
+ }
+
+ <a href="qmenubar.html">QMenuBar</a>* menubar;
+ <a href="qprogressdialog.html">QProgressDialog</a>* pb;
+ <a href="qpopupmenu.html">QPopupMenu</a>* options;
+ int td_id, ld_id;
+ int dl_id, cl_id;
+ int md_id;
+ int rects;
+ bool timer_driven;
+ bool default_label;
+ bool got_stop;
+};
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ int wincount = argc &gt; 1 ? atoi(argv[1]) : 1;
+
+ for ( int i=0; i&lt;wincount; i++ ) {
+ CPUWaster* cpuw = new CPUWaster;
+ if ( i == 0 ) a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(cpuw);
+ cpuw-&gt;<a href="qwidget.html#show">show</a>();
+ }
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "progress.moc"
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/progressbar-example.html b/doc/html/progressbar-example.html
new file mode 100644
index 0000000..fcd3aea
--- /dev/null
+++ b/doc/html/progressbar-example.html
@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/progressbar/progressbar.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Progress Bar</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Progress Bar</h1>
+
+
+<p>
+This example shows how to use a progress bar.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/progressbar.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef PROGRESSBAR_H
+#define PROGRESSBAR_H
+
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+
+class QRadioButton;
+class QPushButton;
+class QProgressBar;
+
+class ProgressBar : public <a href="qbuttongroup.html">QButtonGroup</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ProgressBar( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qradiobutton.html">QRadioButton</a> *slow, *normal, *fast;
+ <a href="qpushbutton.html">QPushButton</a> *start, *pause, *reset;
+ <a href="qprogressbar.html">QProgressBar</a> *progress;
+ <a href="qtimer.html">QTimer</a> timer;
+
+protected slots:
+ void slotStart();
+ void slotReset();
+ void slotTimeout();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/progressbar.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "progressbar.h"
+
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qprogressbar-h.html">qprogressbar.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include &lt;<a href="qmotifstyle-h.html">qmotifstyle.h</a>&gt;
+
+/*
+ * Constructor
+ *
+ * Creates child widgets of the ProgressBar widget
+ */
+
+<a name="f346"></a>ProgressBar::ProgressBar( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qbuttongroup.html">QButtonGroup</a>( 0, Horizontal, "Progress Bar", parent, name ), timer()
+{
+ <a href="qframe.html#setMargin">setMargin</a>( 10 );
+
+ <a href="qgridlayout.html">QGridLayout</a>* toplayout = new <a href="qgridlayout.html">QGridLayout</a>( <a href="qwidget.html#layout">layout</a>(), 2, 2, 5);
+
+ <a href="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</a>( TRUE );
+
+ // insert three radiobuttons which the user can use
+ // to set the speed of the progress and two pushbuttons
+ // to start/pause/continue and reset the progress
+ slow = new <a href="qradiobutton.html">QRadioButton</a>( "S&amp;low", this );
+ normal = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;Normal", this );
+ fast = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;Fast", this );
+ <a href="qvboxlayout.html">QVBoxLayout</a>* vb1 = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+<a name="x964"></a> toplayout-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( vb1, 0, 0 );
+ vb1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( slow );
+ vb1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( normal );
+ vb1-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fast );
+
+ // two push buttons, one for start, for for reset.
+ start = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Start", this );
+ reset = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Reset", this );
+ <a href="qvboxlayout.html">QVBoxLayout</a>* vb2 = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ toplayout-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( vb2, 0, 1 );
+ vb2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( start );
+ vb2-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( reset );
+
+ // Create the progressbar
+ progress = new <a href="qprogressbar.html">QProgressBar</a>( 100, this );
+<a name="x975"></a> // progress-&gt;<a href="qwidget.html#setStyle">setStyle</a>( new <a href="qmotifstyle.html">QMotifStyle</a>() );
+<a name="x965"></a> toplayout-&gt;<a href="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</a>( progress, 1, 1, 0, 1 );
+
+ // connect the clicked() SIGNALs of the pushbuttons to SLOTs
+<a name="x962"></a> <a href="qobject.html#connect">connect</a>( start, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( slotStart() ) );
+ <a href="qobject.html#connect">connect</a>( reset, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( slotReset() ) );
+
+ // connect the timeout() SIGNAL of the progress-timer to a SLOT
+ <a href="qobject.html#connect">connect</a>( &amp;timer, SIGNAL( timeout() ), this, SLOT( slotTimeout() ) );
+
+ // Let's start with normal speed...
+<a name="x972"></a> normal-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+
+
+ // some contraints
+<a name="x974"></a> start-&gt;<a href="qwidget.html#setFixedWidth">setFixedWidth</a>( 80 );
+ <a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( 300 );
+}
+
+/*
+ * SLOT slotStart
+ *
+ * This SLOT is called if the user clicks start/pause/continue
+ * button
+ */
+
+void <a name="f347"></a>ProgressBar::slotStart()
+{
+ // If the progress bar is at the beginning...
+<a name="x966"></a> if ( progress-&gt;<a href="qprogressbar.html#progress">progress</a>() == -1 ) {
+ // ...set according to the checked speed-radiobutton
+ // the number of steps which are needed to complete the process
+<a name="x971"></a> if ( slow-&gt;<a href="qradiobutton.html#isChecked">isChecked</a>() )
+<a name="x969"></a> progress-&gt;<a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>( 10000 );
+ else if ( normal-&gt;<a href="qradiobutton.html#isChecked">isChecked</a>() )
+ progress-&gt;<a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>( 1000 );
+ else
+ progress-&gt;<a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>( 50 );
+
+ // disable the speed-radiobuttons
+<a name="x973"></a> slow-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ normal-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ fast-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ }
+
+ // If the progress is not running...
+ if ( !timer.isActive() ) {
+ // ...start the timer (and so the progress) with a interval of 1 ms...
+ timer.start( 1 );
+ // ...and rename the start/pause/continue button to Pause
+<a name="x963"></a> start-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Pause" );
+ } else { // if the prgress is running...
+ // ...stop the timer (and so the prgress)...
+ timer.stop();
+ // ...and rename the start/pause/continue button to Continue
+ start-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Continue" );
+ }
+}
+
+/*
+ * SLOT slotReset
+ *
+ * This SLOT is called when the user clicks the reset button
+ */
+
+void <a name="f348"></a>ProgressBar::slotReset()
+{
+ // stop the timer and progress
+ timer.stop();
+
+ // rename the start/pause/continue button to Start...
+ start-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Start" );
+ // ...and enable this button
+ start-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+
+ // enable the speed-radiobuttons
+ slow-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ normal-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+ fast-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+
+ // reset the progressbar
+<a name="x967"></a> progress-&gt;<a href="qprogressbar.html#reset">reset</a>();
+}
+
+/*
+ * SLOT slotTimeout
+ *
+ * This SLOT is called each ms when the timer is
+ * active (== progress is running)
+ */
+
+void <a name="f349"></a>ProgressBar::slotTimeout()
+{
+ int p = progress-&gt;<a href="qprogressbar.html#progress">progress</a>();
+
+#if 1
+ // If the progress is complete...
+<a name="x970"></a> if ( p == progress-&gt;<a href="qprogressbar.html#totalSteps">totalSteps</a>() ) {
+ // ...rename the start/pause/continue button to Start...
+ start-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Start" );
+ // ...and disable it...
+ start-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ // ...and return
+ return;
+ }
+#endif
+
+ // If the process is not complete increase it
+<a name="x968"></a> progress-&gt;<a href="qprogressbar.html#setProgress">setProgress</a>( ++p );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "progressbar.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main(int argc,char **argv)
+{
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+
+ ProgressBar progressbar;
+ progressbar.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - ProgressBar");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(&amp;progressbar);
+ progressbar.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/properties.html b/doc/html/properties.html
new file mode 100644
index 0000000..2eaf0b3
--- /dev/null
+++ b/doc/html/properties.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:210 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Properties</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Properties</h1>
+
+
+
+<p> Qt provides a sophisticated property system similar to those supplied
+by some compiler vendors. However, as a compiler- and
+platform-independent library, Qt cannot rely on non-standard compiler
+features like <tt>__property</tt> or <tt>[property]</tt>. Our solution works with
+<em>any</em> standard C++ compiler on every platform we support. It's based
+on the meta-object system that also provides object communication
+through <a href="signalsandslots.html">signals and slots</a>.
+<p> The <tt>Q_PROPERTY</tt> macro in a class declaration declares a
+property. Properties can only be declared in classes that inherit <a href="qobject.html">QObject</a>. A second macro, <tt>Q_OVERRIDE</tt>, can be used to override some
+aspects of an inherited property in a subclass. (See <a href="#override">Q_OVERRIDE</a>.)
+<p> To the outer world, a property appears to be similar to a data member.
+But properties have several features that distinguish them from
+ordinary data members:
+<p> <ul>
+<li> A read function. This always exists.
+<p> <li> A write function. This is optional: read-only properties like <a href="qwidget.html#isDesktop">QWidget::isDesktop</a>() do not have one.
+<p> <li> An attribute "stored" that indicates persistence. Most properties
+are stored, but a few virtual properties are not. For example, <a href="qwidget.html#minimumWidth">QWidget::minimumWidth</a>() isn't stored, since it's just a view of
+<a href="qwidget.html#minimumSize">QWidget::minimumSize</a>(), and has no data of its own.
+<p> <li> A reset function to set a property back to its context specific
+default value. This is very rare, but for example, <a href="qwidget.html#font">QWidget::font</a>()
+needs this, since no call to <a href="qwidget.html#setFont">QWidget::setFont</a>() can mean 'reset to
+the context specific font'.
+<p> <li> An attribute "designable" that indicates whether it makes sense to
+make the property available in a GUI builder (e.g. <a href="designer-manual.html">Qt Designer</a>). For most properties this
+makes sense, but not for all, e.g. <a href="qbutton.html#isDown">QButton::isDown</a>(). The user can
+press buttons, and the application programmer can make the program
+press its own buttons, but a GUI design tool can't press buttons.
+<p> </ul>
+<p> The read, write, and reset functions must be public member functions
+from the class in which the property is defined.
+<p> Properties can be read and written through generic functions in
+<a href="qobject.html">QObject</a> without knowing anything about the class in use. These two
+function calls are equivalent:
+<p> <pre>
+ // QButton *b and QObject *o point to the same button
+ b-&gt;setDown( TRUE );
+ o-&gt;setProperty( "down", TRUE );
+</pre>
+
+<p> Equivalent, that is, except that the first is faster, and provides
+much better diagnostics at compile time. When practical, the first is
+better. However, since you can get a list of all available properties
+for any QObject through its <a href="qmetaobject.html">QMetaObject</a>, <a href="qobject.html#setProperty">QObject::setProperty</a>()
+can give you control over classes that weren't available at compile
+time.
+<p> As well as <a href="qobject.html#setProperty">QObject::setProperty</a>(), there is a corresponding <a href="qobject.html#property">QObject::property</a>() function. <a href="qmetaobject.html#propertyNames">QMetaObject::propertyNames</a>() returns
+the names of all available properties. <a href="qmetaobject.html#property">QMetaObject::property</a>()
+returns the property data for a named property: a <a href="qmetaproperty.html">QMetaProperty</a>
+object.
+<p> Here's a simple example that shows the most important property
+functions in use:
+<p> <pre>
+ class MyClass : public <a href="qobject.html">QObject</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ MyClass( <a href="qobject.html">QObject</a> * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+</pre>
+
+<p> The class has a property "priority" that is not yet known to the <a href="metaobjects.html#meta-object">meta object</a> system. In order to make the property known, you must
+declare it with the <tt>Q_PROPERTY</tt> macro. The syntax is as follows:
+<p> <pre>
+Q_PROPERTY( type name READ getFunction [WRITE setFunction]
+ [RESET resetFunction] [DESIGNABLE bool]
+ [SCRIPTABLE bool] [STORED bool] )
+</pre>
+
+<p> For the declaration to be valid, the get function must be const and
+to return either the type itself, a pointer to it, or a reference to
+it. The optional write function must return void and must take exactly
+one argument, either the type itself, a pointer or a const reference
+to it. The meta object compiler enforces this.
+<p> The type of a property can be any <a href="qvariant.html">QVariant</a> supported type or an
+enumeration type declared in the class itself. Since <tt>MyClass</tt> uses
+the enumeration type <tt>Priority</tt> for the property, this type must be
+registered with the property system as well.
+<p> There are two exceptions to the above: The type of a property can also
+be either <a href="qvaluelist.html">QValueList&lt;QVariant&gt;</a> or <a href="qmap.html">QMap&lt;QString,QVariant&gt;</a>. In
+these cases the type must be specified as <a href="qvaluelist.html">QValueList</a> or as <a href="qmap.html">QMap</a>
+(i.e. without their template parameters).
+<p> It is possible to set a value by name, like this:
+<pre>
+ obj-&gt;setProperty( "priority", "VeryHigh" );
+</pre>
+
+In the case of <a href="qvaluelist.html">QValueList</a> and <a href="qmap.html">QMap</a> properties the value passes
+is a <a href="qvariant.html">QVariant</a> whose value is the entire list or map.
+<p> Enumeration types are registered with the <tt>Q_ENUMS</tt> macro. Here's the
+final class declaration including the property related declarations:
+<p> <pre>
+ class MyClass : public <a href="qobject.html">QObject</a>
+ {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ MyClass( <a href="qobject.html">QObject</a> * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+</pre>
+
+<p> Another similar macro is <tt>Q_SETS</tt>. Like <tt>Q_ENUMS</tt>, it registers an
+enumeration type but marks it in addition as a "set", i.e. the
+enumeration values can be OR-ed together. An I/O class might have
+enumeration values "Read" and "Write" and accept "Read|Write": such an
+enum is best handled with <tt>Q_SETS</tt>, rather than <tt>Q_ENUMS</tt>.
+<p> The remaining keywords in the <tt>Q_PROPERTY</tt> section are <tt>RESET</tt>, <tt>DESIGNABLE</tt>, <tt>SCRIPTABLE</tt> and <tt>STORED</tt>.
+<p> <tt>RESET</tt> names a function that will set the property to its default
+state (which may have changed since initialization). The function
+must return void and take no arguments.
+<p> <tt>DESIGNABLE</tt> declares whether this property is suitable for
+modification by a GUI design tool. The default is <tt>TRUE</tt> for
+writable properties; otherwise <tt>FALSE</tt>. Instead of <tt>TRUE</tt> or <tt>FALSE</tt>, you can specify a boolean member function.
+<p> <tt>SCRIPTABLE</tt> declares whether this property is suited for access by a
+scripting engine. The default is <tt>TRUE</tt>. Instead of <tt>TRUE</tt> or <tt>FALSE</tt>,
+you can specify a boolean member function.
+<p> <tt>STORED</tt> declares whether the property's value must be remembered
+when storing an object's state. Stored makes only sense for writable
+properties. The default value is <tt>TRUE</tt>. Technically superfluous
+properties (like <a href="qpoint.html">QPoint</a> pos if <a href="qrect.html">QRect</a> geometry is already a property)
+define this to be <tt>FALSE</tt>.
+<p> Connected to the property system is an additional macro, "Q_CLASSINFO",
+that can be used to attach additional name/value-pairs to a class'
+meta object, for example:
+<p> <pre>
+ Q_CLASSINFO( "Version", "3.0.0" )
+</pre>
+
+<p> Like other meta data, class information is accessible at runtime
+through the meta object, see <a href="qmetaobject.html#classInfo">QMetaObject::classInfo</a>() for details.
+<p> <a name="override"></a>
+<h2> Q_OVERRIDE
+</h2>
+<a name="1"></a><p> When you inherit a <a href="qobject.html">QObject</a> subclass you may wish to override some
+aspects of some of the class's properties.
+<p> For example, in <a href="qwidget.html">QWidget</a> we have the autoMask property defined like
+this:
+<pre>
+ Q_PROPERTY( bool autoMask READ autoMask WRITE setAutoMask DESIGNABLE false SCRIPTABLE false )
+</pre>
+
+<p> But we need to make the auto mask property designable in some QWidget
+subclasses. Similarly some classes will need this property to be
+scriptable (e.g. for QSA). This is achieved by overriding these
+features of the property in a subclass. In <a href="qcheckbox.html">QCheckBox</a>, for example, we
+achieve this using the following code:
+<pre>
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+</pre>
+
+<p> Another example is <a href="qtoolbutton.html">QToolButton</a>. By default QToolButton has a read-only
+"toggleButton" property, because that's what it inherits from QButton:
+<pre>
+ Q_PROPERTY( bool toggleButton READ isToggleButton )
+</pre>
+
+<p> But we want to make our tool buttons able to be toggled, so we write a
+WRITE function in QToolButton, and use the following property override
+to make it acessible:
+<pre>
+ Q_OVERRIDE( bool toggleButton WRITE setToggleButton )
+</pre>
+
+The result is read-write (and scriptable and designable, since we now
+have a WRITE function) boolean property "toggleButton" for tool
+buttons.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/propertydocs b/doc/html/propertydocs
new file mode 100644
index 0000000..5c255c3
--- /dev/null
+++ b/doc/html/propertydocs
@@ -0,0 +1,5312 @@
+<!DOCTYPE PROP><PROP>
+<property>
+ <name>QAction::accel</name>
+ <doc href="qaction.html#accel-prop">
+&lt;p&gt;This property holds the action's accelerator key.
+&lt;p&gt;The keycodes can be found in &lt;a href="qt.html#Key-enum"&gt;Qt::Key&lt;/a&gt; and &lt;a href="qt.html#Modifier-enum"&gt;Qt::Modifier&lt;/a&gt;. There
+is no default accelerator key.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setAccel"&gt;setAccel&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#accel"&gt;accel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::enabled</name>
+ <doc href="qaction.html#enabled-prop">
+&lt;p&gt;This property holds whether the action is enabled.
+&lt;p&gt;Disabled actions can't be chosen by the user. They don't disappear
+from the menu/tool bar but are displayed in a way which indicates
+that they are unavailable, e.g. they might be displayed grayed
+out.
+&lt;p&gt; What's this? help on disabled actions is still available provided
+the &lt;a href="qaction.html#whatsThis-prop"&gt;QAction::whatsThis&lt;/a&gt; property is set.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setEnabled"&gt;setEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#isEnabled"&gt;isEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::iconSet</name>
+ <doc href="qaction.html#iconSet-prop">
+&lt;p&gt;This property holds the action's icon.
+&lt;p&gt;The icon is used as the tool button icon and in the menu to the
+left of the menu text. There is no default icon.
+&lt;p&gt; If a null icon (&lt;a href="qiconset.html#isNull"&gt;QIconSet::isNull&lt;/a&gt;() is passed into this function,
+the icon of the action is cleared.
+&lt;p&gt; (See the action/toggleaction/toggleaction.cpp example.)
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setIconSet"&gt;setIconSet&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#iconSet"&gt;iconSet&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::menuText</name>
+ <doc href="qaction.html#menuText-prop">
+&lt;p&gt;This property holds the action's menu text.
+&lt;p&gt;If the action is added to a menu the menu option will consist of
+the icon (if there is one), the menu text and the accelerator (if
+there is one). If the menu text is not explicitly set in the
+constructor or by using &lt;a href="qaction.html#setMenuText"&gt;setMenuText&lt;/a&gt;() the action's description
+text will be used as the menu text. There is no default menu text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#text-prop"&gt;text&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setMenuText"&gt;setMenuText&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#menuText"&gt;menuText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::on</name>
+ <doc href="qaction.html#on-prop">
+&lt;p&gt;This property holds whether a toggle action is on.
+&lt;p&gt;This property is always on (TRUE) for command actions and
+&lt;a href="qactiongroup.html"&gt;QActionGroup&lt;/a&gt;s; &lt;a href="qaction.html#setOn"&gt;setOn&lt;/a&gt;() has no effect on them. For action's
+where &lt;a href="qaction.html#isToggleAction"&gt;isToggleAction&lt;/a&gt;() is TRUE, this property's default value is
+off (FALSE).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#toggleAction-prop"&gt;toggleAction&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setOn"&gt;setOn&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#isOn"&gt;isOn&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::statusTip</name>
+ <doc href="qaction.html#statusTip-prop">
+&lt;p&gt;This property holds the action's status tip.
+&lt;p&gt;The statusTip is displayed on all status bars that this action's
+toplevel parent widget provides.
+&lt;p&gt; If no status tip is defined, the action uses the tool tip text.
+&lt;p&gt; There is no default statusTip text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#statusTip-prop"&gt;statusTip&lt;/a&gt; and &lt;a href="qaction.html#toolTip-prop"&gt;toolTip&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setStatusTip"&gt;setStatusTip&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#statusTip"&gt;statusTip&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::text</name>
+ <doc href="qaction.html#text-prop">
+&lt;p&gt;This property holds the action's descriptive text.
+&lt;p&gt;If &lt;a href="qmainwindow.html#usesTextLabel-prop"&gt;QMainWindow::usesTextLabel&lt;/a&gt; is TRUE, the text appears as a
+label in the relevant tool button. It also serves as the default
+text in menus and tool tips if these have not been specifically
+defined. There is no default text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#menuText-prop"&gt;menuText&lt;/a&gt;, &lt;a href="qaction.html#toolTip-prop"&gt;toolTip&lt;/a&gt;, and &lt;a href="qaction.html#statusTip-prop"&gt;statusTip&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::toggleAction</name>
+ <doc href="qaction.html#toggleAction-prop">
+&lt;p&gt;This property holds whether the action is a toggle action.
+&lt;p&gt;A toggle action is one which has an on/off state. For example a
+Bold toolbar button is either on or off. An action which is not a
+toggle action is a command action; a command action is simply
+executed, e.g. file save. This property's default is FALSE.
+&lt;p&gt; In some situations, the state of one toggle action should depend
+on the state of others. For example, "Left Align", "Center" and
+"Right Align" toggle actions are mutually exclusive. To achieve
+exclusive toggling, add the relevant toggle actions to a
+&lt;a href="qactiongroup.html"&gt;QActionGroup&lt;/a&gt; with the &lt;a href="qactiongroup.html#exclusive-prop"&gt;QActionGroup::exclusive&lt;/a&gt; property set to
+TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setToggleAction"&gt;setToggleAction&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#isToggleAction"&gt;isToggleAction&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::toolTip</name>
+ <doc href="qaction.html#toolTip-prop">
+&lt;p&gt;This property holds the action's tool tip.
+&lt;p&gt;This text is used for the tool tip. If no status tip has been set
+the tool tip will be used for the status tip.
+&lt;p&gt; If no tool tip is specified the action's text is used, and if that
+hasn't been specified the description text is used as the tool tip
+text.
+&lt;p&gt; There is no default tool tip text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#statusTip-prop"&gt;statusTip&lt;/a&gt; and &lt;a href="qaction.html#accel-prop"&gt;accel&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setToolTip"&gt;setToolTip&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#toolTip"&gt;toolTip&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::visible</name>
+ <doc href="qaction.html#visible-prop">
+&lt;p&gt;This property holds whether the action can be seen (e.g. in menus and toolbars).
+&lt;p&gt;If &lt;em&gt;visible&lt;/em&gt; is TRUE the action can be seen (e.g. in menus and
+toolbars) and chosen by the user; if &lt;em&gt;visible&lt;/em&gt; is FALSE the
+action cannot be seen or chosen by the user.
+&lt;p&gt; Actions which are not visible are &lt;em&gt;not&lt;/em&gt; grayed out; they do not
+appear at all.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setVisible"&gt;setVisible&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#isVisible"&gt;isVisible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAction::whatsThis</name>
+ <doc href="qaction.html#whatsThis-prop">
+&lt;p&gt;This property holds the action's "What's This?" help text.
+&lt;p&gt;The whats this text is used to provide a brief description of the
+action. The text may contain rich text (HTML-like tags -- see
+&lt;a href="qstylesheet.html"&gt;QStyleSheet&lt;/a&gt; for the list of supported tags). There is no default
+"What's This" text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwhatsthis.html"&gt;QWhatsThis&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaction.html#setWhatsThis"&gt;setWhatsThis&lt;/a&gt;() and get this property's value with &lt;a href="qaction.html#whatsThis"&gt;whatsThis&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QActionGroup::exclusive</name>
+ <doc href="qactiongroup.html#exclusive-prop">
+&lt;p&gt;This property holds whether the action group does exclusive toggling.
+&lt;p&gt;If exclusive is TRUE only one toggle action in the action group
+can ever be active at any one time. If the user chooses another
+toggle action in the group the one they chose becomes active and
+the one that was active becomes inactive.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qaction.html#toggleAction-prop"&gt;QAction::toggleAction&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qactiongroup.html#setExclusive"&gt;setExclusive&lt;/a&gt;() and get this property's value with &lt;a href="qactiongroup.html#isExclusive"&gt;isExclusive&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QActionGroup::usesDropDown</name>
+ <doc href="qactiongroup.html#usesDropDown-prop">
+&lt;p&gt;This property holds whether the group's actions are displayed in a subwidget of the widgets the action group is added to.
+&lt;p&gt;Exclusive action groups added to a toolbar display their actions
+in a combobox with the action's &lt;a href="qaction.html#text-prop"&gt;QAction::text&lt;/a&gt; and &lt;a href="qaction.html#iconSet-prop"&gt;QAction::iconSet&lt;/a&gt; properties shown. Non-exclusive groups are
+represented by a tool button showing their &lt;a href="qaction.html#iconSet-prop"&gt;QAction::iconSet&lt;/a&gt; and
+-- depending on &lt;a href="qmainwindow.html#usesTextLabel"&gt;QMainWindow::usesTextLabel&lt;/a&gt;() -- &lt;a href="qaction.html#text"&gt;text&lt;/a&gt;()
+property.
+&lt;p&gt; In a popup menu the member actions are displayed in a submenu.
+&lt;p&gt; Changing usesDropDown only affects &lt;em&gt;subsequent&lt;/em&gt; calls to &lt;a href="qactiongroup.html#addTo"&gt;addTo&lt;/a&gt;().
+&lt;p&gt; Note that setting this property for actions in a combobox causes
+calls to their &lt;a href="qaction.html#setVisible"&gt;QAction::setVisible&lt;/a&gt;(),
+&lt;a href="qaction.html#setEnabled"&gt;QAction::setEnabled&lt;/a&gt;(), and
+&lt;a href="qaction.html#setDisabled"&gt;QAction::setDisabled&lt;/a&gt;() functions to have no effect.
+&lt;p&gt; This property's default is FALSE.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qactiongroup.html#setUsesDropDown"&gt;setUsesDropDown&lt;/a&gt;() and get this property's value with &lt;a href="qactiongroup.html#usesDropDown"&gt;usesDropDown&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAssistantClient::open</name>
+ <doc href="qassistantclient.html#open-prop">
+&lt;p&gt;This property holds whether Qt Assistant is open.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qassistantclient.html#isOpen"&gt;isOpen&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QAxBase::control</name>
+ <doc href="qaxbase.html#control-prop">
+&lt;p&gt;This property holds the name of the COM object wrapped by this QAxBase object.
+&lt;p&gt;Setting this property initilializes the COM object. Any COM object
+previously set is shut down.
+&lt;p&gt; The most efficient way to set this property is by using the
+registered component's UUID, e.g.
+&lt;pre&gt;
+ ctrl-&amp;gt;setControl( "{8E27C92B-1264-101C-8A2F-040224009C02}" );
+ &lt;/pre&gt;
+
+The second fastest way is to use the registered control's class
+name (with or without version number), e.g.
+&lt;pre&gt;
+ ctrl-&amp;gt;setControl( "MSCal.Calendar" );
+ &lt;/pre&gt;
+
+The slowest, but easiest way to use is to use the control's full
+name, e.g.
+&lt;pre&gt;
+ ctrl-&amp;gt;setControl( "Calendar Control 9.0" );
+ &lt;/pre&gt;
+
+&lt;p&gt; If the component's UUID is used the following patterns can be used
+to initialize the control on a remote machine, to initialize a
+licensed control or to connect to a running object:
+&lt;ul&gt;
+&lt;li&gt; To initialize the control on a different machine use the following
+pattern:
+&lt;pre&gt;
+ &amp;lt;domain/username&amp;gt;:&amp;lt;password&amp;gt;@server/{8E27C92B-1264-101C-8A2F-040224009C02}
+ &lt;/pre&gt;
+
+&lt;li&gt; To initialize a licensed control use the following pattern:
+&lt;pre&gt;
+ {8E27C92B-1264-101C-8A2F-040224009C02}:&amp;lt;LicenseKey&amp;gt;
+ &lt;/pre&gt;
+
+&lt;li&gt; To connect to an already running object use the following pattern:
+&lt;pre&gt;
+ {8E27C92B-1264-101C-8A2F-040224009C02}&amp;amp;
+ &lt;/pre&gt;
+
+&lt;/ul&gt;
+The first two patterns can be combined, e.g. to initialize a licensed
+control on a remote machine:
+&lt;pre&gt;
+ ctrl-&amp;gt;setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");
+ &lt;/pre&gt;
+
+&lt;p&gt; The control's read function always returns the control's UUID, if provided including the license
+key, and the name of the server, but not including the username, the domain or the password.
+
+&lt;p&gt;Set this property's value with &lt;a href="qaxbase.html#setControl"&gt;setControl&lt;/a&gt;() and get this property's value with &lt;a href="qaxbase.html#control"&gt;control&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::accel</name>
+ <doc href="qbutton.html#accel-prop">
+&lt;p&gt;This property holds the accelerator associated with the button.
+&lt;p&gt;This property is 0 if there is no accelerator set. If you set this
+property to 0 then any current accelerator is removed.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setAccel"&gt;setAccel&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#accel"&gt;accel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::autoRepeat</name>
+ <doc href="qbutton.html#autoRepeat-prop">
+&lt;p&gt;This property holds whether autoRepeat is enabled.
+&lt;p&gt;If autoRepeat is enabled then the &lt;a href="qbutton.html#clicked"&gt;clicked&lt;/a&gt;() signal is emitted at
+regular intervals if the button is down. This property has no
+effect on toggle buttons. autoRepeat is off by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setAutoRepeat"&gt;setAutoRepeat&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#autoRepeat"&gt;autoRepeat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::autoResize</name>
+ <doc href="qbutton.html#autoResize-prop"> &lt;p&gt;This property holds whether autoResize is enabled.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; If autoResize is enabled then the button will resize itself
+whenever the contents are changed.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setAutoResize"&gt;setAutoResize&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#autoResize"&gt;autoResize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::down</name>
+ <doc href="qbutton.html#down-prop">
+&lt;p&gt;This property holds whether the button is pressed.
+&lt;p&gt;If this property is TRUE, the button is pressed down. The signals
+&lt;a href="qbutton.html#pressed"&gt;pressed&lt;/a&gt;() and &lt;a href="qbutton.html#clicked"&gt;clicked&lt;/a&gt;() are not emitted if you set this property
+to TRUE. The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setDown"&gt;setDown&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#isDown"&gt;isDown&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::exclusiveToggle</name>
+ <doc href="qbutton.html#exclusiveToggle-prop">
+&lt;p&gt;This property holds whether the button is an exclusive toggle.
+&lt;p&gt;If this property is TRUE and the button is in a &lt;a href="qbuttongroup.html"&gt;QButtonGroup&lt;/a&gt;, the
+button can only be toggled off by another one being toggled on.
+The default is FALSE.
+
+&lt;p&gt;Get this property's value with &lt;a href="qbutton.html#isExclusiveToggle"&gt;isExclusiveToggle&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::on</name>
+ <doc href="qbutton.html#on-prop">
+&lt;p&gt;This property holds whether the button is toggled.
+&lt;p&gt;This property should only be set for toggle buttons.
+
+&lt;p&gt;Get this property's value with &lt;a href="qbutton.html#isOn"&gt;isOn&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::pixmap</name>
+ <doc href="qbutton.html#pixmap-prop">
+&lt;p&gt;This property holds the pixmap shown on the button.
+&lt;p&gt;If the pixmap is monochrome (i.e. it is a &lt;a href="qbitmap.html"&gt;QBitmap&lt;/a&gt; or its &lt;a href="qpixmap.html#depth"&gt;depth&lt;/a&gt; is 1) and it does not have a mask,
+this property will set the pixmap to be its own mask. The purpose
+of this is to draw transparent bitmaps which are important for
+toggle buttons, for example.
+&lt;p&gt; &lt;a href="qbutton.html#pixmap"&gt;pixmap&lt;/a&gt;() returns 0 if no pixmap was set.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setPixmap"&gt;setPixmap&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#pixmap"&gt;pixmap&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::text</name>
+ <doc href="qbutton.html#text-prop">
+&lt;p&gt;This property holds the text shown on the button.
+&lt;p&gt;This property will return a &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt; if the button has no
+text. If the text has an ampersand (&amp;amp;) in it, then an
+accelerator is automatically created for it using the character
+that follows the '&amp;amp;' as the accelerator key. Any previous
+accelerator will be overwritten, or cleared if no accelerator is
+defined by the text.
+&lt;p&gt; There is no default text.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbutton.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qbutton.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::toggleButton</name>
+ <doc href="qbutton.html#toggleButton-prop">
+&lt;p&gt;This property holds whether the button is a toggle button.
+&lt;p&gt;The default value is FALSE.
+
+&lt;p&gt;Get this property's value with &lt;a href="qbutton.html#isToggleButton"&gt;isToggleButton&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::toggleState</name>
+ <doc href="qbutton.html#toggleState-prop">
+&lt;p&gt;This property holds the state of the toggle button.
+&lt;p&gt;If this property is changed then it does not cause the button
+to be repainted.
+
+&lt;p&gt;Get this property's value with &lt;a href="qbutton.html#state"&gt;state&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButton::toggleType</name>
+ <doc href="qbutton.html#toggleType-prop">
+&lt;p&gt;This property holds the type of toggle on the button.
+&lt;p&gt;The default toggle type is &lt;a href="qbutton.html#ToggleType-enum"&gt;SingleShot&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qbutton.html#ToggleType-enum"&gt;QButton::ToggleType&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qbutton.html#toggleType"&gt;toggleType&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButtonGroup::exclusive</name>
+ <doc href="qbuttongroup.html#exclusive-prop">
+&lt;p&gt;This property holds whether the button group is exclusive.
+&lt;p&gt;If this property is TRUE, then the buttons in the group are
+toggled, and to untoggle a button you must click on another button
+in the group. The default value is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbuttongroup.html#setExclusive"&gt;setExclusive&lt;/a&gt;() and get this property's value with &lt;a href="qbuttongroup.html#isExclusive"&gt;isExclusive&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButtonGroup::radioButtonExclusive</name>
+ <doc href="qbuttongroup.html#radioButtonExclusive-prop">
+&lt;p&gt;This property holds whether the radio buttons in the group are exclusive.
+&lt;p&gt;If this property is TRUE (the default), the &lt;a href="qradiobutton.html"&gt;radiobuttons&lt;/a&gt; in the group are treated exclusively.
+
+&lt;p&gt;Set this property's value with &lt;a href="qbuttongroup.html#setRadioButtonExclusive"&gt;setRadioButtonExclusive&lt;/a&gt;() and get this property's value with &lt;a href="qbuttongroup.html#isRadioButtonExclusive"&gt;isRadioButtonExclusive&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QButtonGroup::selectedId</name>
+ <doc href="qbuttongroup.html#selectedId-prop">
+&lt;p&gt;This property holds the selected toggle button.
+&lt;p&gt;The toggle button is specified as an ID.
+&lt;p&gt; If no toggle button is selected, this property holds -1.
+&lt;p&gt; If &lt;a href="qbuttongroup.html#setButton"&gt;setButton&lt;/a&gt;() is called on an exclusive group, the button with
+the given id will be set to on and all the others will be set to
+off.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qbuttongroup.html#selected"&gt;selected&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qbuttongroup.html#setButton"&gt;setButton&lt;/a&gt;() and get this property's value with &lt;a href="qbuttongroup.html#selectedId"&gt;selectedId&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QCheckBox::checked</name>
+ <doc href="qcheckbox.html#checked-prop">
+&lt;p&gt;This property holds whether the checkbox is checked.
+&lt;p&gt;The default is unchecked, i.e. FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcheckbox.html#setChecked"&gt;setChecked&lt;/a&gt;() and get this property's value with &lt;a href="qcheckbox.html#isChecked"&gt;isChecked&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QCheckBox::tristate</name>
+ <doc href="qcheckbox.html#tristate-prop">
+&lt;p&gt;This property holds whether the checkbox is a tri-state checkbox.
+&lt;p&gt;The default is two-state, i.e. tri-state is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcheckbox.html#setTristate"&gt;setTristate&lt;/a&gt;() and get this property's value with &lt;a href="qcheckbox.html#isTristate"&gt;isTristate&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::autoCompletion</name>
+ <doc href="qcombobox.html#autoCompletion-prop">
+&lt;p&gt;This property holds whether auto-completion is enabled.
+&lt;p&gt;This property can only be set for editable comboboxes, for
+non-editable comboboxes it has no effect. It is FALSE by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setAutoCompletion"&gt;setAutoCompletion&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#autoCompletion"&gt;autoCompletion&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::autoResize</name>
+ <doc href="qcombobox.html#autoResize-prop"> &lt;p&gt;This property holds whether auto resize is enabled.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; If this property is set to TRUE then the combobox will resize itself
+whenever its contents change. The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setAutoResize"&gt;setAutoResize&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#autoResize"&gt;autoResize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::count</name>
+ <doc href="qcombobox.html#count-prop">
+&lt;p&gt;This property holds the number of items in the combobox.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qcombobox.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::currentItem</name>
+ <doc href="qcombobox.html#currentItem-prop">
+&lt;p&gt;This property holds the index of the current item in the combobox.
+&lt;p&gt;Note that the &lt;a href="qcombobox.html#activated"&gt;activated&lt;/a&gt;() and &lt;a href="qcombobox.html#highlighted"&gt;highlighted&lt;/a&gt;() signals are only
+emitted when the user changes the current item, not when it is
+changed programmatically.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setCurrentItem"&gt;setCurrentItem&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#currentItem"&gt;currentItem&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::currentText</name>
+ <doc href="qcombobox.html#currentText-prop">
+&lt;p&gt;This property holds the text of the combobox's current item.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setCurrentText"&gt;setCurrentText&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#currentText"&gt;currentText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::duplicatesEnabled</name>
+ <doc href="qcombobox.html#duplicatesEnabled-prop">
+&lt;p&gt;This property holds whether duplicates are allowed.
+&lt;p&gt;If the combobox is editable and the user enters some text in the
+combobox's lineedit and presses Enter (and the &lt;a href="qcombobox.html#insertionPolicy"&gt;insertionPolicy&lt;/a&gt;()
+is not &lt;a href="qcombobox.html#Policy-enum"&gt;NoInsertion&lt;/a&gt;), then what happens is this:
+&lt;ul&gt;
+&lt;li&gt; If the text is not already in the list, the text is inserted.
+&lt;li&gt; If the text is in the list and this property is TRUE (the
+default), the text is inserted.
+&lt;li&gt; If the text is in the list and this property is FALSE, the text
+is &lt;em&gt;not&lt;/em&gt; inserted; instead the item which has matching text becomes
+the current item.
+&lt;/ul&gt;
+&lt;p&gt; This property only affects user-interaction. You can use
+&lt;a href="qcombobox.html#insertItem"&gt;insertItem&lt;/a&gt;() to insert duplicates if you wish regardless of this
+setting.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setDuplicatesEnabled"&gt;setDuplicatesEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#duplicatesEnabled"&gt;duplicatesEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::editable</name>
+ <doc href="qcombobox.html#editable-prop">
+&lt;p&gt;This property holds whether the combobox is editable.
+&lt;p&gt;This property's default is FALSE. Note that the combobox will be
+cleared if this property is set to TRUE for a 1.x &lt;a href="motif-extension.html#Motif"&gt;Motif&lt;/a&gt; style
+combobox. To avoid this, use &lt;a href="qcombobox.html#setEditable"&gt;setEditable&lt;/a&gt;() before inserting any
+items. Also note that the 1.x version of Motif didn't have any
+editable comboboxes, so the combobox will change it's appearance
+to a 2.0 style Motif combobox is it is set to be editable.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setEditable"&gt;setEditable&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#editable"&gt;editable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::insertionPolicy</name>
+ <doc href="qcombobox.html#insertionPolicy-prop">
+&lt;p&gt;This property holds the position of the items inserted by the user.
+&lt;p&gt;The default insertion policy is &lt;a href="qcombobox.html#Policy-enum"&gt;AtBottom&lt;/a&gt;. See &lt;a href="qcombobox.html#Policy-enum"&gt;Policy&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setInsertionPolicy"&gt;setInsertionPolicy&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#insertionPolicy"&gt;insertionPolicy&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::maxCount</name>
+ <doc href="qcombobox.html#maxCount-prop">
+&lt;p&gt;This property holds the maximum number of items allowed in the combobox.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setMaxCount"&gt;setMaxCount&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#maxCount"&gt;maxCount&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QComboBox::sizeLimit</name>
+ <doc href="qcombobox.html#sizeLimit-prop">
+&lt;p&gt;This property holds the maximum on-screen size of the combobox.
+&lt;p&gt;This property is ignored for both &lt;a href="motif-extension.html#Motif"&gt;Motif&lt;/a&gt; 1.x style and non-editable
+comboboxes in Mac style. The default limit is ten
+lines. If the number of items in the combobox is or grows larger
+than lines, a scrollbar is added.
+
+&lt;p&gt;Set this property's value with &lt;a href="qcombobox.html#setSizeLimit"&gt;setSizeLimit&lt;/a&gt;() and get this property's value with &lt;a href="qcombobox.html#sizeLimit"&gt;sizeLimit&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::autoEdit</name>
+ <doc href="qdatabrowser.html#autoEdit-prop">
+&lt;p&gt;This property holds whether the browser automatically applies edits.
+&lt;p&gt;The default value for this property is TRUE. When the user begins
+an insertion or an update on a form there are two possible
+outcomes when they navigate to another record:
+&lt;p&gt; &lt;ul&gt;
+&lt;li&gt; the insert or update is is performed -- this occurs if autoEdit is TRUE
+&lt;li&gt; the insert or update is discarded -- this occurs if autoEdit is FALSE
+&lt;/ul&gt;
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setAutoEdit"&gt;setAutoEdit&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#autoEdit"&gt;autoEdit&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::boundaryChecking</name>
+ <doc href="qdatabrowser.html#boundaryChecking-prop">
+&lt;p&gt;This property holds whether boundary checking is active.
+&lt;p&gt;When boundary checking is active (the default), signals are
+emitted indicating the current position of the default cursor.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#boundary"&gt;boundary&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setBoundaryChecking"&gt;setBoundaryChecking&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#boundaryChecking"&gt;boundaryChecking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::confirmCancels</name>
+ <doc href="qdatabrowser.html#confirmCancels-prop">
+&lt;p&gt;This property holds whether the browser confirms cancel operations.
+&lt;p&gt;If this property is TRUE, all cancels must be confirmed by the
+user through a message box (this behavior can be changed by
+overriding the &lt;a href="qdatabrowser.html#confirmCancel"&gt;confirmCancel&lt;/a&gt;() function), otherwise all cancels
+occur immediately. The default is FALSE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt; and &lt;a href="qdatabrowser.html#confirmCancel"&gt;confirmCancel&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setConfirmCancels"&gt;setConfirmCancels&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#confirmCancels"&gt;confirmCancels&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::confirmDelete</name>
+ <doc href="qdatabrowser.html#confirmDelete-prop">
+&lt;p&gt;This property holds whether the browser confirms deletions.
+&lt;p&gt;If this property is TRUE, the browser confirms deletions,
+otherwise deletions happen immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, and &lt;a href="qdatabrowser.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setConfirmDelete"&gt;setConfirmDelete&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#confirmDelete"&gt;confirmDelete&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::confirmEdits</name>
+ <doc href="qdatabrowser.html#confirmEdits-prop">
+&lt;p&gt;This property holds whether the browser confirms edits.
+&lt;p&gt;If this property is TRUE, the browser confirms all edit operations
+(insertions, updates and deletions), otherwise all edit operations
+happen immediately. Confirmation is achieved by presenting the
+user with a message box -- this behavior can be changed by
+reimplementing the &lt;a href="qdatabrowser.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;() function,
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;(), &lt;a href="qdatabrowser.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, and &lt;a href="qdatabrowser.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setConfirmEdits"&gt;setConfirmEdits&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#confirmEdits"&gt;confirmEdits&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::confirmInsert</name>
+ <doc href="qdatabrowser.html#confirmInsert-prop">
+&lt;p&gt;This property holds whether the data browser confirms insertions.
+&lt;p&gt;If this property is TRUE, the browser confirms insertions,
+otherwise insertions happen immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;, and &lt;a href="qdatabrowser.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setConfirmInsert"&gt;setConfirmInsert&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#confirmInsert"&gt;confirmInsert&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::confirmUpdate</name>
+ <doc href="qdatabrowser.html#confirmUpdate-prop">
+&lt;p&gt;This property holds whether the browser confirms updates.
+&lt;p&gt;If this property is TRUE, the browser confirms updates, otherwise
+updates happen immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, &lt;a href="qdatabrowser.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;, and &lt;a href="qdatabrowser.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setConfirmUpdate"&gt;setConfirmUpdate&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#confirmUpdate"&gt;confirmUpdate&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::filter</name>
+ <doc href="qdatabrowser.html#filter-prop">
+&lt;p&gt;This property holds the data browser's filter.
+&lt;p&gt;The filter applies to the data shown in the browser. Call
+&lt;a href="qdatabrowser.html#refresh"&gt;refresh&lt;/a&gt;() to apply the new filter. A filter is a string containing
+a SQL WHERE clause without the WHERE keyword, e.g. "id&gt;1000",
+"name LIKE 'A%'", etc.
+&lt;p&gt; There is no default filter.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatabrowser.html#sort-prop"&gt;sort&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setFilter"&gt;setFilter&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#filter"&gt;filter&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::readOnly</name>
+ <doc href="qdatabrowser.html#readOnly-prop">
+&lt;p&gt;This property holds whether the browser is read-only.
+&lt;p&gt;The default is FALSE, i.e. data can be edited. If the data browser
+is read-only, no database edits will be allowed.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setReadOnly"&gt;setReadOnly&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#isReadOnly"&gt;isReadOnly&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataBrowser::sort</name>
+ <doc href="qdatabrowser.html#sort-prop">
+&lt;p&gt;This property holds the data browser's sort.
+&lt;p&gt;The data browser's sort affects the order in which records are
+viewed in the browser. Call &lt;a href="qdatabrowser.html#refresh"&gt;refresh&lt;/a&gt;() to apply the new sort.
+&lt;p&gt; When retrieving the sort property, a string list is returned in
+the form 'fieldname order', e.g. 'id ASC', 'surname DESC'.
+&lt;p&gt; There is no default sort.
+&lt;p&gt; Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+&lt;pre&gt;
+ &lt;a href="qstringlist.html"&gt;QStringList&lt;/a&gt; list = myDataBrowser.sort();
+ QStringList::Iterator it = list.&lt;a href="qvaluelist.html#begin"&gt;begin&lt;/a&gt;();
+ while( it != list.&lt;a href="qvaluelist.html#end"&gt;end&lt;/a&gt;() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ &lt;/pre&gt;
+
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatabrowser.html#setSort"&gt;setSort&lt;/a&gt;() and get this property's value with &lt;a href="qdatabrowser.html#sort"&gt;sort&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::autoEdit</name>
+ <doc href="qdatatable.html#autoEdit-prop">
+&lt;p&gt;This property holds whether the data table automatically applies edits.
+&lt;p&gt;The default value for this property is TRUE. When the user begins
+an insert or update in the table there are two possible outcomes
+when they navigate to another record:
+&lt;p&gt; &lt;ol type=1&gt;
+&lt;li&gt; the insert or update is is performed -- this occurs if autoEdit is TRUE
+&lt;li&gt; the insert or update is abandoned -- this occurs if autoEdit is FALSE
+&lt;/ol&gt;
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setAutoEdit"&gt;setAutoEdit&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#autoEdit"&gt;autoEdit&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::confirmCancels</name>
+ <doc href="qdatatable.html#confirmCancels-prop">
+&lt;p&gt;This property holds whether the data table confirms cancel operations.
+&lt;p&gt;If the confirmCancel property is TRUE, all cancels must be
+confirmed by the user through a message box (this behavior can be
+changed by overriding the &lt;a href="qdatatable.html#confirmCancel"&gt;confirmCancel&lt;/a&gt;() function), otherwise all
+cancels occur immediately. The default is FALSE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt; and &lt;a href="qdatatable.html#confirmCancel"&gt;confirmCancel&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setConfirmCancels"&gt;setConfirmCancels&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#confirmCancels"&gt;confirmCancels&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::confirmDelete</name>
+ <doc href="qdatatable.html#confirmDelete-prop">
+&lt;p&gt;This property holds whether the data table confirms delete operations.
+&lt;p&gt;If the confirmDelete property is TRUE, all deletions must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the &lt;a href="qdatatable.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;() function), otherwise all
+delete operations occur immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatatable.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatatable.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, and &lt;a href="qdatatable.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setConfirmDelete"&gt;setConfirmDelete&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#confirmDelete"&gt;confirmDelete&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::confirmEdits</name>
+ <doc href="qdatatable.html#confirmEdits-prop">
+&lt;p&gt;This property holds whether the data table confirms edit operations.
+&lt;p&gt;If the confirmEdits property is TRUE, the data table confirms all
+edit operations (inserts, updates and deletes). Finer control of
+edit confirmation can be achieved using &lt;a href="qdatatable.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatatable.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, &lt;a href="qdatatable.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt; and &lt;a href="qdatatable.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatatable.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, &lt;a href="qdatatable.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, and &lt;a href="qdatatable.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setConfirmEdits"&gt;setConfirmEdits&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#confirmEdits"&gt;confirmEdits&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::confirmInsert</name>
+ <doc href="qdatatable.html#confirmInsert-prop">
+&lt;p&gt;This property holds whether the data table confirms insert operations.
+&lt;p&gt;If the confirmInsert property is TRUE, all insertions must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the &lt;a href="qdatatable.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;() function), otherwise all
+insert operations occur immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatatable.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatatable.html#confirmUpdate-prop"&gt;confirmUpdate&lt;/a&gt;, and &lt;a href="qdatatable.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setConfirmInsert"&gt;setConfirmInsert&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#confirmInsert"&gt;confirmInsert&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::confirmUpdate</name>
+ <doc href="qdatatable.html#confirmUpdate-prop">
+&lt;p&gt;This property holds whether the data table confirms update operations.
+&lt;p&gt;If the confirmUpdate property is TRUE, all updates must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the &lt;a href="qdatatable.html#confirmEdit"&gt;confirmEdit&lt;/a&gt;() function), otherwise all
+update operations occur immediately.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#confirmCancels-prop"&gt;confirmCancels&lt;/a&gt;, &lt;a href="qdatatable.html#confirmEdits-prop"&gt;confirmEdits&lt;/a&gt;, &lt;a href="qdatatable.html#confirmInsert-prop"&gt;confirmInsert&lt;/a&gt;, and &lt;a href="qdatatable.html#confirmDelete-prop"&gt;confirmDelete&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setConfirmUpdate"&gt;setConfirmUpdate&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#confirmUpdate"&gt;confirmUpdate&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::dateFormat</name>
+ <doc href="qdatatable.html#dateFormat-prop">
+&lt;p&gt;This property holds the format used for displaying date/time values.
+&lt;p&gt;The dateFormat property is used for displaying date/time values in
+the table. The default value is &lt;a href="qt.html#DateFormat-enum"&gt;Qt::LocalDate&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setDateFormat"&gt;setDateFormat&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#dateFormat"&gt;dateFormat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::falseText</name>
+ <doc href="qdatatable.html#falseText-prop">
+&lt;p&gt;This property holds the text used to represent false values.
+&lt;p&gt;The falseText property will be used to represent NULL values in
+the table. The default value is "False".
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setFalseText"&gt;setFalseText&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#falseText"&gt;falseText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::filter</name>
+ <doc href="qdatatable.html#filter-prop">
+&lt;p&gt;This property holds the data filter for the data table.
+&lt;p&gt;The filter applies to the data shown in the table. To view data
+with a new filter, use &lt;a href="qdatatable.html#refresh"&gt;refresh&lt;/a&gt;(). A filter string is an SQL WHERE
+clause without the WHERE keyword.
+&lt;p&gt; There is no default filter.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#sort-prop"&gt;sort&lt;/a&gt;.
+
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setFilter"&gt;setFilter&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#filter"&gt;filter&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::nullText</name>
+ <doc href="qdatatable.html#nullText-prop">
+&lt;p&gt;This property holds the text used to represent NULL values.
+&lt;p&gt;The nullText property will be used to represent NULL values in the
+table. The default value is provided by the cursor's driver.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setNullText"&gt;setNullText&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#nullText"&gt;nullText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::numCols</name>
+ <doc href="qdatatable.html#numCols-prop">
+&lt;p&gt;This property holds the number of columns in the table.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qdatatable.html#numCols"&gt;numCols&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::numRows</name>
+ <doc href="qdatatable.html#numRows-prop">
+&lt;p&gt;This property holds the number of rows in the table.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qdatatable.html#numRows"&gt;numRows&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::sort</name>
+ <doc href="qdatatable.html#sort-prop">
+&lt;p&gt;This property holds the data table's sort.
+&lt;p&gt;The table's sort affects the order in which data records are
+displayed in the table. To apply a sort, use &lt;a href="qdatatable.html#refresh"&gt;refresh&lt;/a&gt;().
+&lt;p&gt; When examining the sort property, a string list is returned with
+each item having the form 'fieldname order' (e.g., 'id ASC',
+'surname DESC').
+&lt;p&gt; There is no default sort.
+&lt;p&gt; Note that if you want to iterate over the sort list, you should
+iterate over a copy, e.g.
+&lt;pre&gt;
+ &lt;a href="qstringlist.html"&gt;QStringList&lt;/a&gt; list = myDataTable.sort();
+ QStringList::Iterator it = list.&lt;a href="qvaluelist.html#begin"&gt;begin&lt;/a&gt;();
+ while( it != list.&lt;a href="qvaluelist.html#end"&gt;end&lt;/a&gt;() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ &lt;/pre&gt;
+
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdatatable.html#filter-prop"&gt;filter&lt;/a&gt; and &lt;a href="qdatatable.html#refresh"&gt;refresh&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setSort"&gt;setSort&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#sort"&gt;sort&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDataTable::trueText</name>
+ <doc href="qdatatable.html#trueText-prop">
+&lt;p&gt;This property holds the text used to represent true values.
+&lt;p&gt;The trueText property will be used to represent NULL values in the
+table. The default value is "True".
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatatable.html#setTrueText"&gt;setTrueText&lt;/a&gt;() and get this property's value with &lt;a href="qdatatable.html#trueText"&gt;trueText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateEdit::autoAdvance</name>
+ <doc href="qdateedit.html#autoAdvance-prop">
+&lt;p&gt;This property holds whether the editor automatically advances to the next section.
+&lt;p&gt;If autoAdvance is TRUE, the editor will automatically advance
+focus to the next date section if a user has completed a section.
+The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdateedit.html#setAutoAdvance"&gt;setAutoAdvance&lt;/a&gt;() and get this property's value with &lt;a href="qdateedit.html#autoAdvance"&gt;autoAdvance&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateEdit::date</name>
+ <doc href="qdateedit.html#date-prop">
+&lt;p&gt;This property holds the editor's date value.
+&lt;p&gt;If the date property is not valid, the editor displays all zeroes
+and &lt;a href="qdateedit.html#date"&gt;QDateEdit::date&lt;/a&gt;() will return an invalid date. It is strongly
+recommended that the editor is given a default date value (e.g.
+currentDate()). That way, attempts to set the date property to an
+invalid date will fail.
+&lt;p&gt; When changing the date property, if the date is less than
+&lt;a href="qdateedit.html#minValue"&gt;minValue&lt;/a&gt;(), or is greater than &lt;a href="qdateedit.html#maxValue"&gt;maxValue&lt;/a&gt;(), nothing happens.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdateedit.html#setDate"&gt;setDate&lt;/a&gt;() and get this property's value with &lt;a href="qdateedit.html#date"&gt;date&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateEdit::maxValue</name>
+ <doc href="qdateedit.html#maxValue-prop">
+&lt;p&gt;This property holds the editor's maximum value.
+&lt;p&gt;Setting the maximum date value for the editor is equivalent to
+calling &lt;a href="qdateedit.html#setRange"&gt;QDateEdit::setRange&lt;/a&gt;( &lt;a href="qdateedit.html#minValue"&gt;minValue&lt;/a&gt;(), &lt;em&gt;d&lt;/em&gt; ), where &lt;em&gt;d&lt;/em&gt; is the
+maximum date. The default maximum date is 8000-12-31.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdateedit.html#minValue-prop"&gt;minValue&lt;/a&gt; and &lt;a href="qdateedit.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdateedit.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qdateedit.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateEdit::minValue</name>
+ <doc href="qdateedit.html#minValue-prop">
+&lt;p&gt;This property holds the editor's minimum value.
+&lt;p&gt;Setting the minimum date value is equivalent to calling
+&lt;a href="qdateedit.html#setRange"&gt;QDateEdit::setRange&lt;/a&gt;( &lt;em&gt;d&lt;/em&gt;, &lt;a href="qdateedit.html#maxValue"&gt;maxValue&lt;/a&gt;() ), where &lt;em&gt;d&lt;/em&gt; is the minimum
+date. The default minimum date is 1752-09-14.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdateedit.html#maxValue-prop"&gt;maxValue&lt;/a&gt; and &lt;a href="qdateedit.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdateedit.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qdateedit.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateEdit::order</name>
+ <doc href="qdateedit.html#order-prop">
+&lt;p&gt;This property holds the order in which the year, month and day appear.
+&lt;p&gt;The default order is locale dependent.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdateedit.html#Order-enum"&gt;Order&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdateedit.html#setOrder"&gt;setOrder&lt;/a&gt;() and get this property's value with &lt;a href="qdateedit.html#order"&gt;order&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDateTimeEdit::dateTime</name>
+ <doc href="qdatetimeedit.html#dateTime-prop">
+&lt;p&gt;This property holds the editor's datetime value.
+&lt;p&gt;The datetime edit's datetime which may be an invalid datetime.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdatetimeedit.html#setDateTime"&gt;setDateTime&lt;/a&gt;() and get this property's value with &lt;a href="qdatetimeedit.html#dateTime"&gt;dateTime&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::lineStep</name>
+ <doc href="qdial.html#lineStep-prop">
+&lt;p&gt;This property holds the current line step.
+&lt;p&gt;setLineStep() calls the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function if the new
+line step is different from the previous setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;QRangeControl::setSteps&lt;/a&gt;(), &lt;a href="qdial.html#pageStep-prop"&gt;pageStep&lt;/a&gt;, and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setLineStep"&gt;setLineStep&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#lineStep"&gt;lineStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::maxValue</name>
+ <doc href="qdial.html#maxValue-prop">
+&lt;p&gt;This property holds the current maximum value.
+&lt;p&gt;When setting this property, the &lt;a href="qdial.html#minValue-prop"&gt;QDial::minValue&lt;/a&gt; is adjusted if
+necessary to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::minValue</name>
+ <doc href="qdial.html#minValue-prop">
+&lt;p&gt;This property holds the current minimum value.
+&lt;p&gt;When setting this property, the &lt;a href="qdial.html#maxValue-prop"&gt;QDial::maxValue&lt;/a&gt; is adjusted if
+necessary to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::notchSize</name>
+ <doc href="qdial.html#notchSize-prop">
+&lt;p&gt;This property holds the current notch size.
+&lt;p&gt;The notch size is in range control units, not pixels, and if
+possible it is a multiple of &lt;a href="qdial.html#lineStep"&gt;lineStep&lt;/a&gt;() that results in an
+on-screen notch size near &lt;a href="qdial.html#notchTarget"&gt;notchTarget&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdial.html#notchTarget-prop"&gt;notchTarget&lt;/a&gt; and &lt;a href="qdial.html#lineStep-prop"&gt;lineStep&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qdial.html#notchSize"&gt;notchSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::notchTarget</name>
+ <doc href="qdial.html#notchTarget-prop">
+&lt;p&gt;This property holds the target number of pixels between notches.
+&lt;p&gt;The notch target is the number of pixels QDial attempts to put
+between each notch.
+&lt;p&gt; The actual size may differ from the target size.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setNotchTarget"&gt;setNotchTarget&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#notchTarget"&gt;notchTarget&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::notchesVisible</name>
+ <doc href="qdial.html#notchesVisible-prop">
+&lt;p&gt;This property holds whether the notches are shown.
+&lt;p&gt;If TRUE, the notches are shown. If FALSE (the default) notches are
+not shown.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setNotchesVisible"&gt;setNotchesVisible&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#notchesVisible"&gt;notchesVisible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::pageStep</name>
+ <doc href="qdial.html#pageStep-prop">
+&lt;p&gt;This property holds the current page step.
+&lt;p&gt;setPageStep() calls the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function if the new
+page step is different from the previous setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setPageStep"&gt;setPageStep&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#pageStep"&gt;pageStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::tracking</name>
+ <doc href="qdial.html#tracking-prop">
+&lt;p&gt;This property holds whether tracking is enabled.
+&lt;p&gt;If TRUE (the default), tracking is enabled. This means that the
+arrow can be moved using the mouse; otherwise the arrow cannot be
+moved with the mouse.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setTracking"&gt;setTracking&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#tracking"&gt;tracking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::value</name>
+ <doc href="qdial.html#value-prop">
+&lt;p&gt;This property holds the current dial value.
+&lt;p&gt;This is guaranteed to be within the range
+&lt;a href="qdial.html#minValue-prop"&gt;QDial::minValue&lt;/a&gt;..&lt;a href="qdial.html#maxValue-prop"&gt;QDial::maxValue&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdial.html#minValue-prop"&gt;minValue&lt;/a&gt; and &lt;a href="qdial.html#maxValue-prop"&gt;maxValue&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setValue"&gt;setValue&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#value"&gt;value&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDial::wrapping</name>
+ <doc href="qdial.html#wrapping-prop">
+&lt;p&gt;This property holds whether wrapping is enabled.
+&lt;p&gt;If TRUE, wrapping is enabled. This means that the arrow can be
+turned around 360°. Otherwise there is some space at the bottom of
+the dial which is skipped by the arrow.
+&lt;p&gt; This property's default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdial.html#setWrapping"&gt;setWrapping&lt;/a&gt;() and get this property's value with &lt;a href="qdial.html#wrapping"&gt;wrapping&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDialog::modal</name>
+ <doc href="qdialog.html#modal-prop"> &lt;p&gt;This property holds whether &lt;a href="qdialog.html#show"&gt;show&lt;/a&gt;() should pop up the dialog as modal or modeless.
+&lt;p&gt;By default, this property is false and show() pops up the dialog as
+modeless.
+&lt;p&gt; &lt;a href="qdialog.html#exec"&gt;exec&lt;/a&gt;() ignores the value of this property and always pops up the
+dialog as modal.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdialog.html#show"&gt;show&lt;/a&gt;() and &lt;a href="qdialog.html#exec"&gt;exec&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qdialog.html#setModal"&gt;setModal&lt;/a&gt;() and get this property's value with &lt;a href="qdialog.html#isModal"&gt;isModal&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDialog::sizeGripEnabled</name>
+ <doc href="qdialog.html#sizeGripEnabled-prop">
+&lt;p&gt;This property holds whether the size grip is enabled.
+&lt;p&gt;A &lt;a href="qsizegrip.html"&gt;QSizeGrip&lt;/a&gt; is placed in the bottom right corner of the dialog when this
+property is enabled. By default, the size grip is disabled.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdialog.html#setSizeGripEnabled"&gt;setSizeGripEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qdialog.html#isSizeGripEnabled"&gt;isSizeGripEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockArea::count</name>
+ <doc href="qdockarea.html#count-prop">
+&lt;p&gt;This property holds the number of dock windows in the dock area.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qdockarea.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockArea::empty</name>
+ <doc href="qdockarea.html#empty-prop">
+&lt;p&gt;This property holds whether the dock area is empty.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qdockarea.html#isEmpty"&gt;isEmpty&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockArea::handlePosition</name>
+ <doc href="qdockarea.html#handlePosition-prop">
+&lt;p&gt;This property holds where the dock window splitter handle is placed in the dock area.
+&lt;p&gt;The default position is &lt;a href="qdockarea.html#HandlePosition-enum"&gt;Normal&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qdockarea.html#handlePosition"&gt;handlePosition&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockArea::orientation</name>
+ <doc href="qdockarea.html#orientation-prop">
+&lt;p&gt;This property holds the dock area's orientation.
+&lt;p&gt;There is no default value; the orientation is specified in the
+constructor.
+
+&lt;p&gt;Get this property's value with &lt;a href="qdockarea.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::closeMode</name>
+ <doc href="qdockwindow.html#closeMode-prop">
+&lt;p&gt;This property holds the close mode of a dock window.
+&lt;p&gt;Defines when (if ever) the dock window has a close button. The
+choices are &lt;a href="qdockwindow.html#CloseMode-enum"&gt;Never&lt;/a&gt;, &lt;a href="qdockwindow.html#CloseMode-enum"&gt;Docked&lt;/a&gt; (i.e. only when docked), &lt;a href="qdockwindow.html#CloseMode-enum"&gt;Undocked&lt;/a&gt; (only when undocked, i.e. floated) or &lt;a href="qdockwindow.html#CloseMode-enum"&gt;Always&lt;/a&gt;.
+&lt;p&gt; The default is &lt;a href="qdockwindow.html#CloseMode-enum"&gt;Never&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setCloseMode"&gt;setCloseMode&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#closeMode"&gt;closeMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::horizontallyStretchable</name>
+ <doc href="qdockwindow.html#horizontallyStretchable-prop">
+&lt;p&gt;This property holds whether the dock window is horizontally stretchable.
+&lt;p&gt;A dock window is horizontally stretchable if you call
+&lt;a href="qdockwindow.html#setHorizontallyStretchable"&gt;setHorizontallyStretchable&lt;/a&gt;(TRUE) or &lt;a href="qdockwindow.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;(TRUE).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdockwindow.html#resizeEnabled-prop"&gt;resizeEnabled&lt;/a&gt;.
+
+&lt;p&gt;Bugs and limitations:
+&lt;ul&gt;
+&lt;li&gt; Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+&lt;/ul&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setHorizontallyStretchable"&gt;setHorizontallyStretchable&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#isHorizontallyStretchable"&gt;isHorizontallyStretchable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::movingEnabled</name>
+ <doc href="qdockwindow.html#movingEnabled-prop">
+&lt;p&gt;This property holds whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window.
+&lt;p&gt;This property is TRUE by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setMovingEnabled"&gt;setMovingEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#isMovingEnabled"&gt;isMovingEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::newLine</name>
+ <doc href="qdockwindow.html#newLine-prop">
+&lt;p&gt;This property holds whether the dock window prefers to start a new line in the dock area.
+&lt;p&gt;The default is FALSE, i.e. the dock window doesn't require a new
+line in the dock area.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setNewLine"&gt;setNewLine&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#newLine"&gt;newLine&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::offset</name>
+ <doc href="qdockwindow.html#offset-prop">
+&lt;p&gt;This property holds the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas).
+&lt;p&gt;The default is 0.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setOffset"&gt;setOffset&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#offset"&gt;offset&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::opaqueMoving</name>
+ <doc href="qdockwindow.html#opaqueMoving-prop">
+&lt;p&gt;This property holds whether the dock window will be shown normally whilst it is being moved.
+&lt;p&gt;If this property is FALSE, (the default), the dock window will be
+represented by an outline rectangle whilst it is being moved.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Currently opaque moving has some problems and we do not
+recommend using it at this time. We expect to fix these problems
+in a future release.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setOpaqueMoving"&gt;setOpaqueMoving&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#opaqueMoving"&gt;opaqueMoving&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::resizeEnabled</name>
+ <doc href="qdockwindow.html#resizeEnabled-prop">
+&lt;p&gt;This property holds whether the dock window is resizeable.
+&lt;p&gt;A resizeable dock window can be resized using splitter-like
+handles inside a dock area and like every other top level window
+when floating.
+&lt;p&gt; A dock window is both horizontally and vertically stretchable if
+you call &lt;a href="qdockwindow.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;(TRUE).
+&lt;p&gt; This property is FALSE by default.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdockwindow.html#verticallyStretchable-prop"&gt;verticallyStretchable&lt;/a&gt; and &lt;a href="qdockwindow.html#horizontallyStretchable-prop"&gt;horizontallyStretchable&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#isResizeEnabled"&gt;isResizeEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::stretchable</name>
+ <doc href="qdockwindow.html#stretchable-prop">
+&lt;p&gt;This property holds whether the dock window is stretchable in the current &lt;a href="qdockwindow.html#orientation"&gt;orientation&lt;/a&gt;().
+&lt;p&gt;This property can be set using &lt;a href="qdockwindow.html#setHorizontallyStretchable"&gt;setHorizontallyStretchable&lt;/a&gt;() and
+&lt;a href="qdockwindow.html#setVerticallyStretchable"&gt;setVerticallyStretchable&lt;/a&gt;(), or with &lt;a href="qdockwindow.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdockwindow.html#resizeEnabled-prop"&gt;resizeEnabled&lt;/a&gt;.
+
+&lt;p&gt;Bugs and limitations:
+&lt;ul&gt;
+&lt;li&gt; Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+&lt;/ul&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qdockwindow.html#isStretchable"&gt;isStretchable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDockWindow::verticallyStretchable</name>
+ <doc href="qdockwindow.html#verticallyStretchable-prop">
+&lt;p&gt;This property holds whether the dock window is vertically stretchable.
+&lt;p&gt;A dock window is vertically stretchable if you call
+&lt;a href="qdockwindow.html#setVerticallyStretchable"&gt;setVerticallyStretchable&lt;/a&gt;(TRUE) or &lt;a href="qdockwindow.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;(TRUE).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdockwindow.html#resizeEnabled-prop"&gt;resizeEnabled&lt;/a&gt;.
+
+&lt;p&gt;Bugs and limitations:
+&lt;ul&gt;
+&lt;li&gt; Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+&lt;/ul&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qdockwindow.html#setVerticallyStretchable"&gt;setVerticallyStretchable&lt;/a&gt;() and get this property's value with &lt;a href="qdockwindow.html#isVerticallyStretchable"&gt;isVerticallyStretchable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QDoubleValidator::bottom</name>
+ <doc href="qdoublevalidator.html#bottom-prop">
+&lt;p&gt;This property holds the validator's minimum acceptable value.
+&lt;p&gt;Set this property's value with &lt;a href="qdoublevalidator.html#setBottom"&gt;setBottom&lt;/a&gt;() and get this property's value with &lt;a href="qdoublevalidator.html#bottom"&gt;bottom&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qdoublevalidator.html#setRange"&gt;setRange&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QDoubleValidator::decimals</name>
+ <doc href="qdoublevalidator.html#decimals-prop">
+&lt;p&gt;This property holds the validator's maximum number of digits after the decimal point.
+&lt;p&gt;Set this property's value with &lt;a href="qdoublevalidator.html#setDecimals"&gt;setDecimals&lt;/a&gt;() and get this property's value with &lt;a href="qdoublevalidator.html#decimals"&gt;decimals&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qdoublevalidator.html#setRange"&gt;setRange&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QDoubleValidator::top</name>
+ <doc href="qdoublevalidator.html#top-prop">
+&lt;p&gt;This property holds the validator's maximum acceptable value.
+&lt;p&gt;Set this property's value with &lt;a href="qdoublevalidator.html#setTop"&gt;setTop&lt;/a&gt;() and get this property's value with &lt;a href="qdoublevalidator.html#top"&gt;top&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qdoublevalidator.html#setRange"&gt;setRange&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QFileDialog::contentsPreview</name>
+ <doc href="qfiledialog.html#contentsPreview-prop">
+&lt;p&gt;This property holds whether the file dialog can provide a contents preview of the currently selected file.
+&lt;p&gt;The default is FALSE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qfiledialog.html#setContentsPreview"&gt;setContentsPreview&lt;/a&gt;() and &lt;a href="qfiledialog.html#infoPreview-prop"&gt;infoPreview&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setContentsPreviewEnabled"&gt;setContentsPreviewEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#isContentsPreviewEnabled"&gt;isContentsPreviewEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::dirPath</name>
+ <doc href="qfiledialog.html#dirPath-prop">
+&lt;p&gt;This property holds the file dialog's working directory.
+&lt;p&gt;Get this property's value with &lt;a href="qfiledialog.html#dirPath"&gt;dirPath&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qfiledialog.html#dir"&gt;dir&lt;/a&gt;() and &lt;a href="qfiledialog.html#setDir"&gt;setDir&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QFileDialog::infoPreview</name>
+ <doc href="qfiledialog.html#infoPreview-prop">
+&lt;p&gt;This property holds whether the file dialog can provide preview information about the currently selected file.
+&lt;p&gt;The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setInfoPreviewEnabled"&gt;setInfoPreviewEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#isInfoPreviewEnabled"&gt;isInfoPreviewEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::mode</name>
+ <doc href="qfiledialog.html#mode-prop">
+&lt;p&gt;This property holds the file dialog's mode.
+&lt;p&gt;The default mode is &lt;a href="qfiledialog.html#Mode-enum"&gt;ExistingFile&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setMode"&gt;setMode&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#mode"&gt;mode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::previewMode</name>
+ <doc href="qfiledialog.html#previewMode-prop">
+&lt;p&gt;This property holds the preview mode for the file dialog.
+&lt;p&gt;If you set the mode to be a mode other than &lt;em&gt;NoPreview&lt;/em&gt;, you must
+use &lt;a href="qfiledialog.html#setInfoPreview"&gt;setInfoPreview&lt;/a&gt;() or &lt;a href="qfiledialog.html#setContentsPreview"&gt;setContentsPreview&lt;/a&gt;() to set the dialog's
+preview widget to your preview widget and enable the preview
+widget(s) with &lt;a href="qfiledialog.html#setInfoPreviewEnabled"&gt;setInfoPreviewEnabled&lt;/a&gt;() or
+&lt;a href="qfiledialog.html#setContentsPreviewEnabled"&gt;setContentsPreviewEnabled&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qfiledialog.html#infoPreview-prop"&gt;infoPreview&lt;/a&gt;, &lt;a href="qfiledialog.html#contentsPreview-prop"&gt;contentsPreview&lt;/a&gt;, and &lt;a href="qfiledialog.html#viewMode-prop"&gt;viewMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setPreviewMode"&gt;setPreviewMode&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#previewMode"&gt;previewMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::selectedFile</name>
+ <doc href="qfiledialog.html#selectedFile-prop">
+&lt;p&gt;This property holds the name of the selected file.
+&lt;p&gt;If a file was selected selectedFile contains the file's name including
+its absolute path; otherwise selectedFile is empty.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qstring.html#isEmpty"&gt;QString::isEmpty&lt;/a&gt;(), &lt;a href="qfiledialog.html#selectedFiles-prop"&gt;selectedFiles&lt;/a&gt;, and &lt;a href="qfiledialog.html#selectedFilter-prop"&gt;selectedFilter&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qfiledialog.html#selectedFile"&gt;selectedFile&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::selectedFiles</name>
+ <doc href="qfiledialog.html#selectedFiles-prop">
+&lt;p&gt;This property holds the list of selected files.
+&lt;p&gt;If one or more files are selected, selectedFiles contains their
+names including their absolute paths. If no files are selected or
+the mode isn't ExistingFiles selectedFiles is an empty list.
+&lt;p&gt; It is more convenient to use &lt;a href="qfiledialog.html#selectedFile"&gt;selectedFile&lt;/a&gt;() if the mode is
+&lt;a href="qfiledialog.html#Mode-enum"&gt;ExistingFile&lt;/a&gt;, &lt;a href="qfiledialog.html#Mode-enum"&gt;Directory&lt;/a&gt; or &lt;a href="qfiledialog.html#Mode-enum"&gt;DirectoryOnly&lt;/a&gt;.
+&lt;p&gt; Note that if you want to iterate over the list, you should
+iterate over a copy, e.g.
+&lt;pre&gt;
+ &lt;a href="qstringlist.html"&gt;QStringList&lt;/a&gt; list = myFileDialog.selectedFiles();
+ QStringList::Iterator it = list.&lt;a href="qvaluelist.html#begin"&gt;begin&lt;/a&gt;();
+ while( it != list.&lt;a href="qvaluelist.html#end"&gt;end&lt;/a&gt;() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ &lt;/pre&gt;
+
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qfiledialog.html#selectedFile-prop"&gt;selectedFile&lt;/a&gt;, &lt;a href="qfiledialog.html#selectedFilter-prop"&gt;selectedFilter&lt;/a&gt;, and &lt;a href="qvaluelist.html#empty"&gt;QValueList::empty&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qfiledialog.html#selectedFiles"&gt;selectedFiles&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::selectedFilter</name>
+ <doc href="qfiledialog.html#selectedFilter-prop">
+&lt;p&gt;This property holds the filter which the user has selected in the file dialog.
+&lt;p&gt;Get this property's value with &lt;a href="qfiledialog.html#selectedFilter"&gt;selectedFilter&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qfiledialog.html#filterSelected"&gt;filterSelected&lt;/a&gt;(), &lt;a href="qfiledialog.html#selectedFiles-prop"&gt;selectedFiles&lt;/a&gt;, and &lt;a href="qfiledialog.html#selectedFile-prop"&gt;selectedFile&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QFileDialog::showHiddenFiles</name>
+ <doc href="qfiledialog.html#showHiddenFiles-prop">
+&lt;p&gt;This property holds whether hidden files are shown in the file dialog.
+&lt;p&gt;The default is FALSE, i.e. don't show hidden files.
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setShowHiddenFiles"&gt;setShowHiddenFiles&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#showHiddenFiles"&gt;showHiddenFiles&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFileDialog::viewMode</name>
+ <doc href="qfiledialog.html#viewMode-prop">
+&lt;p&gt;This property holds the file dialog's view mode.
+&lt;p&gt;If you set the view mode to be &lt;em&gt;Detail&lt;/em&gt; (the default), then you
+will see the file's details, such as the size of the file and the
+date the file was last modified in addition to the file's name.
+&lt;p&gt; If you set the view mode to be &lt;em&gt;List&lt;/em&gt;, then you will just
+see a list of the files and folders.
+&lt;p&gt; See &lt;a href="qfiledialog.html#ViewMode-enum"&gt;QFileDialog::ViewMode&lt;/a&gt;
+
+&lt;p&gt;Set this property's value with &lt;a href="qfiledialog.html#setViewMode"&gt;setViewMode&lt;/a&gt;() and get this property's value with &lt;a href="qfiledialog.html#viewMode"&gt;viewMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFrame::contentsRect</name>
+ <doc href="qframe.html#contentsRect-prop">
+&lt;p&gt;This property holds the rectangle inside the frame.
+&lt;p&gt;Get this property's value with &lt;a href="qframe.html#contentsRect"&gt;contentsRect&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qframe.html#frameRect-prop"&gt;frameRect&lt;/a&gt; and &lt;a href="qframe.html#drawContents"&gt;drawContents&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QFrame::frameRect</name>
+ <doc href="qframe.html#frameRect-prop">
+&lt;p&gt;This property holds the frame rectangle.
+&lt;p&gt;The frame rectangle is the rectangle the frame is drawn in. By
+default, this is the entire widget. Setting this property does &lt;em&gt;not&lt;/em&gt; cause a widget update.
+&lt;p&gt; If this property is set to a null rectangle (for example
+&lt;tt&gt;QRect(0, 0, 0, 0)&lt;/tt&gt;), then the frame rectangle is equivalent to
+the &lt;a href="qwidget.html#rect"&gt;widget rectangle&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qframe.html#contentsRect-prop"&gt;contentsRect&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setFrameRect"&gt;setFrameRect&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#frameRect"&gt;frameRect&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFrame::frameShadow</name>
+ <doc href="qframe.html#frameShadow-prop">
+&lt;p&gt;This property holds the frame shadow value from the frame style.
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setFrameShadow"&gt;setFrameShadow&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#frameShadow"&gt;frameShadow&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qframe.html#frameStyle"&gt;frameStyle&lt;/a&gt;() and &lt;a href="qframe.html#frameShape-prop"&gt;frameShape&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QFrame::frameShape</name>
+ <doc href="qframe.html#frameShape-prop">
+&lt;p&gt;This property holds the frame shape value from the frame style.
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setFrameShape"&gt;setFrameShape&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#frameShape"&gt;frameShape&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qframe.html#frameStyle"&gt;frameStyle&lt;/a&gt;() and &lt;a href="qframe.html#frameShadow-prop"&gt;frameShadow&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QFrame::frameWidth</name>
+ <doc href="qframe.html#frameWidth-prop">
+&lt;p&gt;This property holds the width of the frame that is drawn.
+&lt;p&gt;Note that the frame width depends on the &lt;a href="qframe.html#setFrameStyle"&gt;frame style&lt;/a&gt;, not only the line
+width and the mid-line width. For example, the style &lt;a href="qframe.html#Shape-enum"&gt;NoFrame&lt;/a&gt;
+always has a frame width of 0, whereas the style &lt;a href="qframe.html#Shape-enum"&gt;Panel&lt;/a&gt; has a
+frame width equivalent to the line width. The frame width also
+includes the margin.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qframe.html#lineWidth-prop"&gt;lineWidth&lt;/a&gt;, &lt;a href="qframe.html#midLineWidth-prop"&gt;midLineWidth&lt;/a&gt;, &lt;a href="qframe.html#frameStyle"&gt;frameStyle&lt;/a&gt;(), and &lt;a href="qframe.html#margin-prop"&gt;margin&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qframe.html#frameWidth"&gt;frameWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFrame::lineWidth</name>
+ <doc href="qframe.html#lineWidth-prop">
+&lt;p&gt;This property holds the line width.
+&lt;p&gt;Note that the &lt;em&gt;total&lt;/em&gt; line width for &lt;a href="qframe.html#Shape-enum"&gt;HLine&lt;/a&gt; and &lt;a href="qframe.html#Shape-enum"&gt;VLine&lt;/a&gt; is
+given by &lt;a href="qframe.html#frameWidth"&gt;frameWidth&lt;/a&gt;(), not &lt;a href="qframe.html#lineWidth"&gt;lineWidth&lt;/a&gt;().
+&lt;p&gt; The default value is 1.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qframe.html#midLineWidth-prop"&gt;midLineWidth&lt;/a&gt; and &lt;a href="qframe.html#frameWidth-prop"&gt;frameWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setLineWidth"&gt;setLineWidth&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#lineWidth"&gt;lineWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFrame::margin</name>
+ <doc href="qframe.html#margin-prop">
+&lt;p&gt;This property holds the width of the margin.
+&lt;p&gt;The margin is the distance between the innermost pixel of the
+frame and the outermost pixel of &lt;a href="qframe.html#contentsRect"&gt;contentsRect&lt;/a&gt;(). It is included in
+&lt;a href="qframe.html#frameWidth"&gt;frameWidth&lt;/a&gt;().
+&lt;p&gt; The margin is filled according to &lt;a href="qwidget.html#backgroundMode"&gt;backgroundMode&lt;/a&gt;().
+&lt;p&gt; The default value is 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qframe.html#margin-prop"&gt;margin&lt;/a&gt;, &lt;a href="qframe.html#lineWidth-prop"&gt;lineWidth&lt;/a&gt;, and &lt;a href="qframe.html#frameWidth-prop"&gt;frameWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setMargin"&gt;setMargin&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#margin"&gt;margin&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QFrame::midLineWidth</name>
+ <doc href="qframe.html#midLineWidth-prop">
+&lt;p&gt;This property holds the width of the mid-line.
+&lt;p&gt;The default value is 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qframe.html#lineWidth-prop"&gt;lineWidth&lt;/a&gt; and &lt;a href="qframe.html#frameWidth-prop"&gt;frameWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qframe.html#setMidLineWidth"&gt;setMidLineWidth&lt;/a&gt;() and get this property's value with &lt;a href="qframe.html#midLineWidth"&gt;midLineWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGridView::cellHeight</name>
+ <doc href="qgridview.html#cellHeight-prop">
+&lt;p&gt;This property holds the height of a grid row.
+&lt;p&gt;All rows in a grid view have the same height.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qgridview.html#cellWidth-prop"&gt;cellWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgridview.html#setCellHeight"&gt;setCellHeight&lt;/a&gt;() and get this property's value with &lt;a href="qgridview.html#cellHeight"&gt;cellHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGridView::cellWidth</name>
+ <doc href="qgridview.html#cellWidth-prop">
+&lt;p&gt;This property holds the width of a grid column.
+&lt;p&gt;All columns in a grid view have the same width.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qgridview.html#cellHeight-prop"&gt;cellHeight&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgridview.html#setCellWidth"&gt;setCellWidth&lt;/a&gt;() and get this property's value with &lt;a href="qgridview.html#cellWidth"&gt;cellWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGridView::numCols</name>
+ <doc href="qgridview.html#numCols-prop">
+&lt;p&gt;This property holds the number of columns in the grid.
+&lt;p&gt;Set this property's value with &lt;a href="qgridview.html#setNumCols"&gt;setNumCols&lt;/a&gt;() and get this property's value with &lt;a href="qgridview.html#numCols"&gt;numCols&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qgridview.html#numRows-prop"&gt;numRows&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QGridView::numRows</name>
+ <doc href="qgridview.html#numRows-prop">
+&lt;p&gt;This property holds the number of rows in the grid.
+&lt;p&gt;Set this property's value with &lt;a href="qgridview.html#setNumRows"&gt;setNumRows&lt;/a&gt;() and get this property's value with &lt;a href="qgridview.html#numRows"&gt;numRows&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qgridview.html#numCols-prop"&gt;numCols&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QGroupBox::alignment</name>
+ <doc href="qgroupbox.html#alignment-prop">
+&lt;p&gt;This property holds the alignment of the group box title.
+&lt;p&gt;The title is always placed on the upper frame line. The horizontal
+alignment can be specified by the alignment parameter.
+&lt;p&gt; The alignment is one of the following flags:
+&lt;ul&gt;
+&lt;li&gt; &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignAuto&lt;/a&gt; aligns the title according to the language,
+usually to the left.
+&lt;li&gt; &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignLeft&lt;/a&gt; aligns the title text to the left.
+&lt;li&gt; &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignRight&lt;/a&gt; aligns the title text to the right.
+&lt;li&gt; &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignHCenter&lt;/a&gt; aligns the title text centered.
+&lt;/ul&gt;
+&lt;p&gt; The default alignment is &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignAuto&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignmentFlags&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setAlignment"&gt;setAlignment&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#alignment"&gt;alignment&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::checkable</name>
+ <doc href="qgroupbox.html#checkable-prop">
+&lt;p&gt;This property holds whether the group box has a checkbox in its title.
+&lt;p&gt;If this property is TRUE, the group box has a checkbox. If the
+checkbox is checked (which is the default), the group box's
+children are enabled.
+&lt;p&gt; &lt;a href="qgroupbox.html#setCheckable"&gt;setCheckable&lt;/a&gt;() controls whether or not the group box has a
+checkbox, and &lt;a href="qgroupbox.html#isCheckable"&gt;isCheckable&lt;/a&gt;() controls whether the checkbox is
+checked or not.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setCheckable"&gt;setCheckable&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#isCheckable"&gt;isCheckable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::checked</name>
+ <doc href="qgroupbox.html#checked-prop">
+&lt;p&gt;This property holds whether the group box's checkbox is checked.
+&lt;p&gt;If the group box has a check box (see &lt;a href="qgroupbox.html#isCheckable"&gt;isCheckable&lt;/a&gt;()), and the
+check box is checked (see &lt;a href="qgroupbox.html#isChecked"&gt;isChecked&lt;/a&gt;()), the group box's children
+are enabled. If the checkbox is unchecked the children are
+disabled.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setChecked"&gt;setChecked&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#isChecked"&gt;isChecked&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::columns</name>
+ <doc href="qgroupbox.html#columns-prop">
+&lt;p&gt;This property holds the number of columns or rows (depending on &lt;a href="qgroupbox.html#orientation-prop"&gt;QGroupBox::orientation&lt;/a&gt;) in the group box.
+&lt;p&gt;Usually it is not a good idea to set this property because it is
+slow (it does a complete layout). It is best to set the number
+of columns directly in the constructor.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setColumns"&gt;setColumns&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#columns"&gt;columns&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::flat</name>
+ <doc href="qgroupbox.html#flat-prop">
+&lt;p&gt;This property holds whether the group box is painted flat or has a frame.
+&lt;p&gt;By default a group box has a surrounding frame, with the title
+being placed on the upper frame line. In flat mode the right, left
+and bottom frame lines are omitted, and only the thin line at the
+top is drawn.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qgroupbox.html#title-prop"&gt;title&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setFlat"&gt;setFlat&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#isFlat"&gt;isFlat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::orientation</name>
+ <doc href="qgroupbox.html#orientation-prop">
+&lt;p&gt;This property holds the group box's orientation.
+&lt;p&gt;A horizontal group box arranges it's children in columns, while a
+vertical group box arranges them in rows.
+&lt;p&gt; Usually it is not a good idea to set this property because it is
+slow (it does a complete layout). It is better to set the
+orientation directly in the constructor.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setOrientation"&gt;setOrientation&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QGroupBox::title</name>
+ <doc href="qgroupbox.html#title-prop">
+&lt;p&gt;This property holds the group box title text.
+&lt;p&gt;The group box title text will have a focus-change keyboard
+accelerator if the title contains &amp;amp;, followed by a letter.
+&lt;p&gt; &lt;pre&gt;
+ g-&amp;gt;setTitle( "&amp;amp;User information" );
+ &lt;/pre&gt;
+
+This produces "&lt;u&gt;U&lt;/u&gt;ser information"; Alt+U moves the &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt; to the group box.
+&lt;p&gt; There is no default title text.
+
+&lt;p&gt;Set this property's value with &lt;a href="qgroupbox.html#setTitle"&gt;setTitle&lt;/a&gt;() and get this property's value with &lt;a href="qgroupbox.html#title"&gt;title&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::count</name>
+ <doc href="qheader.html#count-prop">
+&lt;p&gt;This property holds the number of sections in the header.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qheader.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::moving</name>
+ <doc href="qheader.html#moving-prop">
+&lt;p&gt;This property holds whether the header sections can be moved.
+&lt;p&gt;If this property is TRUE (the default) the user can move sections.
+If the user moves a section the &lt;a href="qheader.html#indexChange"&gt;indexChange&lt;/a&gt;() signal is emitted.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qheader.html#setClickEnabled"&gt;setClickEnabled&lt;/a&gt;() and &lt;a href="qheader.html#setResizeEnabled"&gt;setResizeEnabled&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qheader.html#setMovingEnabled"&gt;setMovingEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qheader.html#isMovingEnabled"&gt;isMovingEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::offset</name>
+ <doc href="qheader.html#offset-prop">
+&lt;p&gt;This property holds the header's left-most (or top-most) visible pixel.
+&lt;p&gt;Setting this property will scroll the header so that &lt;em&gt;offset&lt;/em&gt;
+becomes the left-most (or top-most for vertical headers) visible
+pixel.
+
+&lt;p&gt;Set this property's value with &lt;a href="qheader.html#setOffset"&gt;setOffset&lt;/a&gt;() and get this property's value with &lt;a href="qheader.html#offset"&gt;offset&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::orientation</name>
+ <doc href="qheader.html#orientation-prop">
+&lt;p&gt;This property holds the header's orientation.
+&lt;p&gt;The orientation is either &lt;a href="qt.html#Orientation-enum"&gt;Vertical&lt;/a&gt; or &lt;a href="qt.html#Orientation-enum"&gt;Horizontal&lt;/a&gt; (the
+default).
+&lt;p&gt; Call &lt;a href="qheader.html#setOrientation"&gt;setOrientation&lt;/a&gt;() before adding labels if you don't provide a
+size parameter otherwise the sizes will be incorrect.
+
+&lt;p&gt;Set this property's value with &lt;a href="qheader.html#setOrientation"&gt;setOrientation&lt;/a&gt;() and get this property's value with &lt;a href="qheader.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::stretching</name>
+ <doc href="qheader.html#stretching-prop">
+&lt;p&gt;This property holds whether the header sections always take up the full width (or height) of the header.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qheader.html#setStretchEnabled"&gt;setStretchEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qheader.html#isStretchEnabled"&gt;isStretchEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QHeader::tracking</name>
+ <doc href="qheader.html#tracking-prop">
+&lt;p&gt;This property holds whether the &lt;a href="qheader.html#sizeChange"&gt;sizeChange&lt;/a&gt;() signal is emitted continuously.
+&lt;p&gt;If tracking is on, the sizeChange() signal is emitted continuously
+while the mouse is moved (i.e. when the header is resized),
+otherwise it is only emitted when the mouse button is released at
+the end of resizing.
+&lt;p&gt; Tracking defaults to FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qheader.html#setTracking"&gt;setTracking&lt;/a&gt;() and get this property's value with &lt;a href="qheader.html#tracking"&gt;tracking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::arrangement</name>
+ <doc href="qiconview.html#arrangement-prop">
+&lt;p&gt;This property holds the arrangement mode of the icon view.
+&lt;p&gt;This can be &lt;a href="qiconview.html#Arrangement-enum"&gt;LeftToRight&lt;/a&gt; or &lt;a href="qiconview.html#Arrangement-enum"&gt;TopToBottom&lt;/a&gt;. The default is &lt;a href="qiconview.html#Arrangement-enum"&gt;LeftToRight&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setArrangement"&gt;setArrangement&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#arrangement"&gt;arrangement&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::autoArrange</name>
+ <doc href="qiconview.html#autoArrange-prop">
+&lt;p&gt;This property holds whether the icon view rearranges its items when a new item is inserted.
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; Note that if the icon view is not visible at the time of
+insertion, QIconView defers all position-related work until it is
+shown and then calls &lt;a href="qiconview.html#arrangeItemsInGrid"&gt;arrangeItemsInGrid&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setAutoArrange"&gt;setAutoArrange&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#autoArrange"&gt;autoArrange&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::count</name>
+ <doc href="qiconview.html#count-prop">
+&lt;p&gt;This property holds the number of items in the icon view.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qiconview.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::gridX</name>
+ <doc href="qiconview.html#gridX-prop">
+&lt;p&gt;This property holds the horizontal grid of the icon view.
+&lt;p&gt;If the value is -1, (the default), QIconView computes suitable
+column widths based on the icon view's contents.
+&lt;p&gt; Note that setting a grid width overrides &lt;a href="qiconview.html#setMaxItemWidth"&gt;setMaxItemWidth&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setGridX"&gt;setGridX&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#gridX"&gt;gridX&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::gridY</name>
+ <doc href="qiconview.html#gridY-prop">
+&lt;p&gt;This property holds the vertical grid of the icon view.
+&lt;p&gt;If the value is -1, (the default), QIconView computes suitable
+column heights based on the icon view's contents.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setGridY"&gt;setGridY&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#gridY"&gt;gridY&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::itemTextBackground</name>
+ <doc href="qiconview.html#itemTextBackground-prop">
+&lt;p&gt;This property holds the brush to use when drawing the background of an item's text.
+&lt;p&gt;By default this brush is set to NoBrush, meaning that only the
+normal icon view background is used.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setItemTextBackground"&gt;setItemTextBackground&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#itemTextBackground"&gt;itemTextBackground&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::itemTextPos</name>
+ <doc href="qiconview.html#itemTextPos-prop">
+&lt;p&gt;This property holds the position where the text of each item is drawn.
+&lt;p&gt;Valid values are &lt;a href="qiconview.html#ItemTextPos-enum"&gt;Bottom&lt;/a&gt; or &lt;a href="qiconview.html#ItemTextPos-enum"&gt;Right&lt;/a&gt;. The default is &lt;a href="qiconview.html#ItemTextPos-enum"&gt;Bottom&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setItemTextPos"&gt;setItemTextPos&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#itemTextPos"&gt;itemTextPos&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::itemsMovable</name>
+ <doc href="qiconview.html#itemsMovable-prop">
+&lt;p&gt;This property holds whether the user is allowed to move items around in the icon view.
+&lt;p&gt;The default is TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setItemsMovable"&gt;setItemsMovable&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#itemsMovable"&gt;itemsMovable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::maxItemTextLength</name>
+ <doc href="qiconview.html#maxItemTextLength-prop">
+&lt;p&gt;This property holds the maximum length (in characters) that an item's text may have.
+&lt;p&gt;The default is 255 characters.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setMaxItemTextLength"&gt;setMaxItemTextLength&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#maxItemTextLength"&gt;maxItemTextLength&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::maxItemWidth</name>
+ <doc href="qiconview.html#maxItemWidth-prop">
+&lt;p&gt;This property holds the maximum width that an item may have.
+&lt;p&gt;The default is 100 pixels.
+&lt;p&gt; Note that if the &lt;a href="qiconview.html#gridX"&gt;gridX&lt;/a&gt;() value is set QIconView will ignore
+this property.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setMaxItemWidth"&gt;setMaxItemWidth&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#maxItemWidth"&gt;maxItemWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::resizeMode</name>
+ <doc href="qiconview.html#resizeMode-prop">
+&lt;p&gt;This property holds the resize mode of the icon view.
+&lt;p&gt;This can be &lt;a href="qiconview.html#ResizeMode-enum"&gt;Fixed&lt;/a&gt; or &lt;a href="qiconview.html#ResizeMode-enum"&gt;Adjust&lt;/a&gt;. The default is &lt;a href="qiconview.html#ResizeMode-enum"&gt;Fixed&lt;/a&gt;.
+See &lt;a href="qiconview.html#ResizeMode-enum"&gt;ResizeMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setResizeMode"&gt;setResizeMode&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#resizeMode"&gt;resizeMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::selectionMode</name>
+ <doc href="qiconview.html#selectionMode-prop">
+&lt;p&gt;This property holds the selection mode of the icon view.
+&lt;p&gt;This can be &lt;a href="qiconview.html#SelectionMode-enum"&gt;Single&lt;/a&gt; (the default), &lt;a href="qiconview.html#SelectionMode-enum"&gt;Extended&lt;/a&gt;, &lt;a href="qiconview.html#SelectionMode-enum"&gt;Multi&lt;/a&gt; or &lt;a href="qiconview.html#SelectionMode-enum"&gt;NoSelection&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setSelectionMode"&gt;setSelectionMode&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#selectionMode"&gt;selectionMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::showToolTips</name>
+ <doc href="qiconview.html#showToolTips-prop">
+&lt;p&gt;This property holds whether the icon view will display a tool tip with the complete text for any truncated item text.
+&lt;p&gt;The default is TRUE. Note that this has no effect if
+&lt;a href="qiconview.html#setWordWrapIconText"&gt;setWordWrapIconText&lt;/a&gt;() is TRUE, as it is by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setShowToolTips"&gt;setShowToolTips&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#showToolTips"&gt;showToolTips&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::sortDirection</name>
+ <doc href="qiconview.html#sortDirection-prop">
+&lt;p&gt;This property holds whether the sort direction for inserting new items is ascending;.
+&lt;p&gt;The default is TRUE (i.e. ascending). This sort direction is only
+meaningful if both &lt;a href="qiconview.html#sorting"&gt;sorting&lt;/a&gt;() and &lt;a href="qiconview.html#autoArrange"&gt;autoArrange&lt;/a&gt;() are TRUE.
+&lt;p&gt; To set the sort direction, use &lt;a href="qiconview.html#setSorting"&gt;setSorting&lt;/a&gt;()
+
+&lt;p&gt;Get this property's value with &lt;a href="qiconview.html#sortDirection"&gt;sortDirection&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::sorting</name>
+ <doc href="qiconview.html#sorting-prop">
+&lt;p&gt;This property holds whether the icon view sorts on insertion.
+&lt;p&gt;The default is FALSE, i.e. no sorting on insertion.
+&lt;p&gt; To set the sorting, use &lt;a href="qiconview.html#setSorting"&gt;setSorting&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qiconview.html#sorting"&gt;sorting&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::spacing</name>
+ <doc href="qiconview.html#spacing-prop">
+&lt;p&gt;This property holds the space in pixels between icon view items.
+&lt;p&gt;The default is 5 pixels.
+&lt;p&gt; Negative values for spacing are illegal.
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setSpacing"&gt;setSpacing&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#spacing"&gt;spacing&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIconView::wordWrapIconText</name>
+ <doc href="qiconview.html#wordWrapIconText-prop">
+&lt;p&gt;This property holds whether the item text will be word-wrapped if it is too long.
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; If this property is FALSE, icon text that is too long is
+truncated, and an ellipsis (...) appended to indicate that
+truncation has occurred. The full text can still be seen by the
+user if they hover the mouse because the full text is shown in a
+tooltip; see &lt;a href="qiconview.html#setShowToolTips"&gt;setShowToolTips&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qiconview.html#setWordWrapIconText"&gt;setWordWrapIconText&lt;/a&gt;() and get this property's value with &lt;a href="qiconview.html#wordWrapIconText"&gt;wordWrapIconText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QIntValidator::bottom</name>
+ <doc href="qintvalidator.html#bottom-prop">
+&lt;p&gt;This property holds the validator's lowest acceptable value.
+&lt;p&gt;Set this property's value with &lt;a href="qintvalidator.html#setBottom"&gt;setBottom&lt;/a&gt;() and get this property's value with &lt;a href="qintvalidator.html#bottom"&gt;bottom&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qintvalidator.html#setRange"&gt;setRange&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QIntValidator::top</name>
+ <doc href="qintvalidator.html#top-prop">
+&lt;p&gt;This property holds the validator's highest acceptable value.
+&lt;p&gt;Set this property's value with &lt;a href="qintvalidator.html#setTop"&gt;setTop&lt;/a&gt;() and get this property's value with &lt;a href="qintvalidator.html#top"&gt;top&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qintvalidator.html#setRange"&gt;setRange&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::intValue</name>
+ <doc href="qlcdnumber.html#intValue-prop">
+&lt;p&gt;This property holds the displayed value rounded to the nearest integer.
+&lt;p&gt;This property corresponds to the nearest integer to the current
+value displayed by the LCDNumber. This is the value used for
+hexadecimal, octal and binary modes.
+&lt;p&gt; If the displayed value is not a number, the property has a value
+of 0.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#display"&gt;display&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#intValue"&gt;intValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::mode</name>
+ <doc href="qlcdnumber.html#mode-prop">
+&lt;p&gt;This property holds the current display mode (number base).
+&lt;p&gt;Corresponds to the current display mode, which is one of &lt;a href="qlcdnumber.html#Mode-enum"&gt;BIN&lt;/a&gt;,
+&lt;a href="qlcdnumber.html#Mode-enum"&gt;OCT&lt;/a&gt;, &lt;a href="qlcdnumber.html#Mode-enum"&gt;DEC&lt;/a&gt; (the default) and &lt;a href="qlcdnumber.html#Mode-enum"&gt;HEX&lt;/a&gt;. &lt;a href="qlcdnumber.html#Mode-enum"&gt;DEC&lt;/a&gt; mode can display
+floating point values, the other modes display the integer
+equivalent.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlcdnumber.html#smallDecimalPoint-prop"&gt;smallDecimalPoint&lt;/a&gt;, &lt;a href="qlcdnumber.html#setHexMode"&gt;setHexMode&lt;/a&gt;(), &lt;a href="qlcdnumber.html#setDecMode"&gt;setDecMode&lt;/a&gt;(), &lt;a href="qlcdnumber.html#setOctMode"&gt;setOctMode&lt;/a&gt;(), and &lt;a href="qlcdnumber.html#setBinMode"&gt;setBinMode&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#setMode"&gt;setMode&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#mode"&gt;mode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::numDigits</name>
+ <doc href="qlcdnumber.html#numDigits-prop">
+&lt;p&gt;This property holds the current number of digits displayed.
+&lt;p&gt;Corresponds to the current number of digits. If &lt;a href="qlcdnumber.html#smallDecimalPoint-prop"&gt;QLCDNumber::smallDecimalPoint&lt;/a&gt; is FALSE, the decimal point occupies
+one digit position.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlcdnumber.html#smallDecimalPoint-prop"&gt;smallDecimalPoint&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#setNumDigits"&gt;setNumDigits&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#numDigits"&gt;numDigits&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::segmentStyle</name>
+ <doc href="qlcdnumber.html#segmentStyle-prop">
+&lt;p&gt;This property holds the style of the LCDNumber.
+&lt;p&gt;&lt;center&gt;&lt;table cellpadding="4" cellspacing="2" border="0"&gt;
+&lt;tr bgcolor="#a2c511"&gt; &lt;th valign="top"&gt;Style &lt;th valign="top"&gt;Result
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;a href="qlcdnumber.html#SegmentStyle-enum"&gt;Outline&lt;/a&gt;
+&lt;td valign="top"&gt;Produces raised segments filled with the background color
+(this is the default).
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;a href="qlcdnumber.html#SegmentStyle-enum"&gt;Filled&lt;/a&gt;
+&lt;td valign="top"&gt;Produces raised segments filled with the foreground color.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;a href="qlcdnumber.html#SegmentStyle-enum"&gt;Flat&lt;/a&gt;
+&lt;td valign="top"&gt;Produces flat segments filled with the foreground color.
+&lt;/table&gt;&lt;/center&gt;
+&lt;p&gt; &lt;a href="qlcdnumber.html#SegmentStyle-enum"&gt;Outline&lt;/a&gt; and &lt;a href="qlcdnumber.html#SegmentStyle-enum"&gt;Filled&lt;/a&gt; will additionally use
+&lt;a href="qcolorgroup.html#light"&gt;QColorGroup::light&lt;/a&gt;() and &lt;a href="qcolorgroup.html#dark"&gt;QColorGroup::dark&lt;/a&gt;() for shadow effects.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#setSegmentStyle"&gt;setSegmentStyle&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#segmentStyle"&gt;segmentStyle&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::smallDecimalPoint</name>
+ <doc href="qlcdnumber.html#smallDecimalPoint-prop">
+&lt;p&gt;This property holds the style of the decimal point.
+&lt;p&gt;If TRUE the decimal point is drawn between two digit positions.
+Otherwise it occupies a digit position of its own, i.e. is drawn
+in a digit position. The default is FALSE.
+&lt;p&gt; The inter-digit space is made slightly wider when the decimal
+point is drawn between the digits.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlcdnumber.html#mode-prop"&gt;mode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#setSmallDecimalPoint"&gt;setSmallDecimalPoint&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#smallDecimalPoint"&gt;smallDecimalPoint&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLCDNumber::value</name>
+ <doc href="qlcdnumber.html#value-prop">
+&lt;p&gt;This property holds the displayed value.
+&lt;p&gt;This property corresponds to the current value displayed by the
+LCDNumber.
+&lt;p&gt; If the displayed value is not a number, the property has a value
+of 0.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlcdnumber.html#display"&gt;display&lt;/a&gt;() and get this property's value with &lt;a href="qlcdnumber.html#value"&gt;value&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::alignment</name>
+ <doc href="qlabel.html#alignment-prop">
+&lt;p&gt;This property holds the alignment of the label's contents.
+&lt;p&gt;The alignment is a bitwise OR of &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignmentFlags&lt;/a&gt; and &lt;a href="qt.html#TextFlags-enum"&gt;Qt::TextFlags&lt;/a&gt; values. The &lt;a href="qt.html#TextFlags-enum"&gt;ExpandTabs&lt;/a&gt;, &lt;a href="qt.html#TextFlags-enum"&gt;SingleLine&lt;/a&gt; and &lt;a href="qt.html#TextFlags-enum"&gt;ShowPrefix&lt;/a&gt; flags apply only if the label contains plain text;
+otherwise they are ignored. The &lt;a href="qt.html#TextFlags-enum"&gt;DontClip&lt;/a&gt; flag is always
+ignored. &lt;a href="qt.html#TextFlags-enum"&gt;WordBreak&lt;/a&gt; applies to both rich text and plain text
+labels. The &lt;a href="qt.html#TextFlags-enum"&gt;BreakAnywhere&lt;/a&gt; flag is not supported in QLabel.
+&lt;p&gt; If the label has a buddy, the &lt;a href="qt.html#TextFlags-enum"&gt;ShowPrefix&lt;/a&gt; flag is forced to
+TRUE.
+&lt;p&gt; The default alignment is &lt;tt&gt;AlignAuto | AlignVCenter | ExpandTabs&lt;/tt&gt;
+if the label doesn't have a buddy and &lt;tt&gt;AlignAuto | AlignVCenter | ExpandTabs | ShowPrefix&lt;/tt&gt; if the label has a buddy. If the label
+contains rich text, additionally &lt;a href="qt.html#TextFlags-enum"&gt;WordBreak&lt;/a&gt; is turned on.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignmentFlags&lt;/a&gt;, &lt;a href="qlabel.html#setBuddy"&gt;setBuddy&lt;/a&gt;(), and &lt;a href="qlabel.html#text-prop"&gt;text&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setAlignment"&gt;setAlignment&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#alignment"&gt;alignment&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::indent</name>
+ <doc href="qlabel.html#indent-prop">
+&lt;p&gt;This property holds the label's text indent in pixels.
+&lt;p&gt;If a label displays text, the indent applies to the left edge if
+&lt;a href="qlabel.html#alignment"&gt;alignment&lt;/a&gt;() is &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignLeft&lt;/a&gt;, to the right edge if alignment() is
+&lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignRight&lt;/a&gt;, to the top edge if alignment() is &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignTop&lt;/a&gt;, and
+to to the bottom edge if alignment() is &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignBottom&lt;/a&gt;.
+&lt;p&gt; If indent is negative, or if no indent has been set, the label
+computes the effective indent as follows: If &lt;a href="qframe.html#frameWidth"&gt;frameWidth&lt;/a&gt;() is 0,
+the effective indent becomes 0. If frameWidth() is greater than 0,
+the effective indent becomes half the width of the "x" character
+of the widget's current &lt;a href="qwidget.html#font"&gt;font&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlabel.html#alignment-prop"&gt;alignment&lt;/a&gt;, &lt;a href="qframe.html#frameWidth-prop"&gt;frameWidth&lt;/a&gt;, and &lt;a href="qwidget.html#font-prop"&gt;font&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setIndent"&gt;setIndent&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#indent"&gt;indent&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::pixmap</name>
+ <doc href="qlabel.html#pixmap-prop">
+&lt;p&gt;This property holds the label's pixmap.
+&lt;p&gt;If no pixmap has been set this will return an invalid pixmap.
+&lt;p&gt; Setting the pixmap clears any previous content, and resizes the
+label if &lt;a href="qlabel.html#autoResize"&gt;QLabel::autoResize&lt;/a&gt;() is TRUE. The buddy accelerator,
+if any, is disabled.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setPixmap"&gt;setPixmap&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#pixmap"&gt;pixmap&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::scaledContents</name>
+ <doc href="qlabel.html#scaledContents-prop">
+&lt;p&gt;This property holds whether the label will scale its contents to fill all available space.
+&lt;p&gt;When enabled and the label shows a pixmap, it will scale the
+pixmap to fill the available space.
+&lt;p&gt; This property's default is FALSE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlabel.html#scaledContents-prop"&gt;scaledContents&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setScaledContents"&gt;setScaledContents&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#hasScaledContents"&gt;hasScaledContents&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::text</name>
+ <doc href="qlabel.html#text-prop">
+&lt;p&gt;This property holds the label's text.
+&lt;p&gt;If no text has been set this will return an empty string. Setting
+the text clears any previous content, unless they are the same.
+&lt;p&gt; The text will be interpreted either as a plain text or as a rich
+text, depending on the text format setting; see &lt;a href="qlabel.html#setTextFormat"&gt;setTextFormat&lt;/a&gt;().
+The default setting is &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;, i.e. QLabel will try to
+auto-detect the format of the text set.
+&lt;p&gt; If the text is interpreted as a plain text and a buddy has been
+set, the buddy accelerator key is updated from the new text.
+&lt;p&gt; The label resizes itself if auto-resizing is enabled.
+&lt;p&gt; Note that Qlabel is well-suited to display small rich text
+documents, i.e. those small documents that get their document
+specific settings (font, text color, link color) from the label's
+palette and font properties. For large documents, use &lt;a href="qtextedit.html"&gt;QTextEdit&lt;/a&gt;
+in read-only mode instead. QTextEdit will flicker less on resize
+and can also provide a scrollbar when necessary.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlabel.html#textFormat-prop"&gt;textFormat&lt;/a&gt;, &lt;a href="qlabel.html#setBuddy"&gt;setBuddy&lt;/a&gt;(), and &lt;a href="qlabel.html#alignment-prop"&gt;alignment&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLabel::textFormat</name>
+ <doc href="qlabel.html#textFormat-prop">
+&lt;p&gt;This property holds the label's text format.
+&lt;p&gt;See the &lt;a href="qt.html#TextFormat-enum"&gt;Qt::TextFormat&lt;/a&gt; enum for an explanation of the possible
+options.
+&lt;p&gt; The default format is &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlabel.html#text-prop"&gt;text&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlabel.html#setTextFormat"&gt;setTextFormat&lt;/a&gt;() and get this property's value with &lt;a href="qlabel.html#textFormat"&gt;textFormat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLayout::margin</name>
+ <doc href="qlayout.html#margin-prop">
+&lt;p&gt;This property holds the width of the outside border of the layout.
+&lt;p&gt;For some layout classes this property has an effect only on
+top-level layouts; &lt;a href="qboxlayout.html"&gt;QBoxLayout&lt;/a&gt; and &lt;a href="qgridlayout.html"&gt;QGridLayout&lt;/a&gt; support margins for
+child layouts. The default value is 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlayout.html#spacing-prop"&gt;spacing&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlayout.html#setMargin"&gt;setMargin&lt;/a&gt;() and get this property's value with &lt;a href="qlayout.html#margin"&gt;margin&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLayout::resizeMode</name>
+ <doc href="qlayout.html#resizeMode-prop">
+&lt;p&gt;This property holds the resize mode of the layout.
+&lt;p&gt;The default mode is &lt;a href="qlayout.html#ResizeMode-enum"&gt;Auto&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlayout.html#ResizeMode-enum"&gt;QLayout::ResizeMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlayout.html#setResizeMode"&gt;setResizeMode&lt;/a&gt;() and get this property's value with &lt;a href="qlayout.html#resizeMode"&gt;resizeMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLayout::spacing</name>
+ <doc href="qlayout.html#spacing-prop">
+&lt;p&gt;This property holds the spacing between widgets inside the layout.
+&lt;p&gt;The default value is -1, which signifies that the layout's spacing
+should not override the widget's spacing.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlayout.html#margin-prop"&gt;margin&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlayout.html#setSpacing"&gt;setSpacing&lt;/a&gt;() and get this property's value with &lt;a href="qlayout.html#spacing"&gt;spacing&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::acceptableInput</name>
+ <doc href="qlineedit.html#acceptableInput-prop">
+&lt;p&gt;This property holds whether the input satisfies the inputMask and the validator.
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#hasAcceptableInput"&gt;hasAcceptableInput&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qlineedit.html#inputMask-prop"&gt;inputMask&lt;/a&gt; and &lt;a href="qlineedit.html#setValidator"&gt;setValidator&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QLineEdit::alignment</name>
+ <doc href="qlineedit.html#alignment-prop">
+&lt;p&gt;This property holds the alignment of the line edit.
+&lt;p&gt;Possible Values are &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignAuto&lt;/a&gt;, &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignLeft&lt;/a&gt;, &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignRight&lt;/a&gt; and &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignHCenter&lt;/a&gt;.
+&lt;p&gt; Attempting to set the alignment to an illegal flag combination
+does nothing.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignmentFlags&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setAlignment"&gt;setAlignment&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#alignment"&gt;alignment&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::cursorPosition</name>
+ <doc href="qlineedit.html#cursorPosition-prop">
+&lt;p&gt;This property holds the current cursor position for this line edit.
+&lt;p&gt;Setting the cursor position causes a repaint when appropriate.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setCursorPosition"&gt;setCursorPosition&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#cursorPosition"&gt;cursorPosition&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::displayText</name>
+ <doc href="qlineedit.html#displayText-prop">
+&lt;p&gt;This property holds the displayed text.
+&lt;p&gt;If &lt;a href="qlineedit.html#EchoMode-enum"&gt;EchoMode&lt;/a&gt; is &lt;a href="qlineedit.html#EchoMode-enum"&gt;Normal&lt;/a&gt; this returns the same as &lt;a href="qlineedit.html#text"&gt;text&lt;/a&gt;(); if
+&lt;a href="qlineedit.html#EchoMode-enum"&gt;EchoMode&lt;/a&gt; is &lt;a href="qlineedit.html#EchoMode-enum"&gt;Password&lt;/a&gt; it returns a string of asterisks
+text().length() characters long, e.g. "******"; if &lt;a href="qlineedit.html#EchoMode-enum"&gt;EchoMode&lt;/a&gt; is
+&lt;a href="qlineedit.html#EchoMode-enum"&gt;NoEcho&lt;/a&gt; returns an empty string, "".
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#echoMode-prop"&gt;echoMode&lt;/a&gt;, &lt;a href="qlineedit.html#text-prop"&gt;text&lt;/a&gt;, and &lt;a href="qlineedit.html#EchoMode-enum"&gt;EchoMode&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#displayText"&gt;displayText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::dragEnabled</name>
+ <doc href="qlineedit.html#dragEnabled-prop">
+&lt;p&gt;This property holds whether the lineedit starts a drag if the user presses and moves the mouse on some selected text.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setDragEnabled"&gt;setDragEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#dragEnabled"&gt;dragEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::echoMode</name>
+ <doc href="qlineedit.html#echoMode-prop">
+&lt;p&gt;This property holds the line edit's echo mode.
+&lt;p&gt;The initial setting is &lt;a href="qlineedit.html#EchoMode-enum"&gt;Normal&lt;/a&gt;, but QLineEdit also supports &lt;a href="qlineedit.html#EchoMode-enum"&gt;NoEcho&lt;/a&gt; and &lt;a href="qlineedit.html#EchoMode-enum"&gt;Password&lt;/a&gt; modes.
+&lt;p&gt; The widget's display and the ability to copy or drag the text is
+affected by this setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#EchoMode-enum"&gt;EchoMode&lt;/a&gt; and &lt;a href="qlineedit.html#displayText-prop"&gt;displayText&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setEchoMode"&gt;setEchoMode&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#echoMode"&gt;echoMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::edited</name>
+ <doc href="qlineedit.html#edited-prop">
+&lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds whether the line edit has been edited. Use modified instead.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setEdited"&gt;setEdited&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#edited"&gt;edited&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::frame</name>
+ <doc href="qlineedit.html#frame-prop">
+&lt;p&gt;This property holds whether the line edit draws itself with a frame.
+&lt;p&gt;If enabled (the default) the line edit draws itself inside a
+two-pixel frame, otherwise the line edit draws itself without any
+frame.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setFrame"&gt;setFrame&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#frame"&gt;frame&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::hasMarkedText</name>
+ <doc href="qlineedit.html#hasMarkedText-prop">
+&lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds whether part of the text has been selected by the user. Use hasSelectedText instead.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#hasMarkedText"&gt;hasMarkedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::hasSelectedText</name>
+ <doc href="qlineedit.html#hasSelectedText-prop">
+&lt;p&gt;This property holds whether there is any text selected.
+&lt;p&gt;hasSelectedText() returns TRUE if some or all of the text has been
+selected by the user; otherwise returns FALSE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#selectedText-prop"&gt;selectedText&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#hasSelectedText"&gt;hasSelectedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::inputMask</name>
+ <doc href="qlineedit.html#inputMask-prop">
+&lt;p&gt;This property holds the validation input mask.
+&lt;p&gt;If no mask is set, &lt;a href="qlineedit.html#inputMask"&gt;inputMask&lt;/a&gt;() returns &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; Sets the QLineEdit's validation mask. Validators can be used
+instead of, or in conjunction with masks; see &lt;a href="qlineedit.html#setValidator"&gt;setValidator&lt;/a&gt;().
+&lt;p&gt; Unset the mask and return to normal QLineEdit operation by passing
+an empty string ("") or just calling &lt;a href="qlineedit.html#setInputMask"&gt;setInputMask&lt;/a&gt;() with no
+arguments.
+&lt;p&gt; The mask format understands these mask characters:
+&lt;center&gt;&lt;table cellpadding="4" cellspacing="2" border="0"&gt;
+&lt;tr bgcolor="#a2c511"&gt; &lt;th valign="top"&gt;Character &lt;th valign="top"&gt;Meaning
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;A&lt;/tt&gt; &lt;td valign="top"&gt;ASCII alphabetic character required. A-Z, a-z.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;a&lt;/tt&gt; &lt;td valign="top"&gt;ASCII alphabetic character permitted but not required.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;N&lt;/tt&gt; &lt;td valign="top"&gt;ASCII alphanumeric character required. A-Z, a-z, 0-9.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;n&lt;/tt&gt; &lt;td valign="top"&gt;ASCII alphanumeric character permitted but not required.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;X&lt;/tt&gt; &lt;td valign="top"&gt;Any character required.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;a href="qwidget.html#x-prop"&gt;x&lt;/a&gt; &lt;td valign="top"&gt;Any character permitted but not required.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;9&lt;/tt&gt; &lt;td valign="top"&gt;ASCII digit required. 0-9.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;0&lt;/tt&gt; &lt;td valign="top"&gt;ASCII digit permitted but not required.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;D&lt;/tt&gt; &lt;td valign="top"&gt;ASCII digit required. 1-9.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;d&lt;/tt&gt; &lt;td valign="top"&gt;ASCII digit permitted but not required (1-9).
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;#&lt;/tt&gt; &lt;td valign="top"&gt;ASCII digit or plus/minus sign permitted but not required.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;&amp;gt;&lt;/tt&gt; &lt;td valign="top"&gt;All following alphabetic characters are uppercased.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;&amp;lt;&lt;/tt&gt; &lt;td valign="top"&gt;All following alphabetic characters are lowercased.
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;!&lt;/tt&gt; &lt;td valign="top"&gt;Switch off case conversion.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;&amp;#92;&lt;/tt&gt; &lt;td valign="top"&gt;Use &lt;tt&gt;&amp;#92;&lt;/tt&gt; to escape the special
+characters listed above to use them as
+separators.
+&lt;/table&gt;&lt;/center&gt;
+&lt;p&gt; The mask consists of a string of mask characters and separators,
+optionally followed by a semi-colon and the character used for
+blanks: the blank characters are always removed from the text
+after editing. The default blank character is space.
+&lt;p&gt; Examples:
+&lt;center&gt;&lt;table cellpadding="4" cellspacing="2" border="0"&gt;
+&lt;tr bgcolor="#a2c511"&gt; &lt;th valign="top"&gt;Mask &lt;th valign="top"&gt;Notes
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;000.000.000.000;_&lt;/tt&gt; &lt;td valign="top"&gt;IP address; blanks are &lt;tt&gt;_&lt;/tt&gt;.
+&lt;tr bgcolor="#f0f0f0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;0000-00-00&lt;/tt&gt; &lt;td valign="top"&gt;ISO Date; blanks are &lt;tt&gt;space&lt;/tt&gt;
+&lt;tr bgcolor="#d0d0d0"&gt; &lt;td valign="top"&gt;&lt;tt&gt;&amp;gt;AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#&lt;/tt&gt; &lt;td valign="top"&gt;License number;
+blanks are &lt;tt&gt;-&lt;/tt&gt; and all (alphabetic) characters are converted to
+uppercase.
+&lt;/table&gt;&lt;/center&gt;
+&lt;p&gt; To get range control (e.g. for an IP address) use masks together
+with &lt;a href="qlineedit.html#setValidator"&gt;validators&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#maxLength-prop"&gt;maxLength&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setInputMask"&gt;setInputMask&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#inputMask"&gt;inputMask&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::markedText</name>
+ <doc href="qlineedit.html#markedText-prop">
+&lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds the text selected by the user. Use selectedText instead.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#markedText"&gt;markedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::maxLength</name>
+ <doc href="qlineedit.html#maxLength-prop">
+&lt;p&gt;This property holds the maximum permitted length of the text.
+&lt;p&gt;If the text is too long, it is truncated at the limit.
+&lt;p&gt; If truncation occurs any selected text will be unselected, the
+cursor position is set to 0 and the first part of the string is
+shown.
+&lt;p&gt; If the line edit has an input mask, the mask defines the maximum
+string length.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#inputMask-prop"&gt;inputMask&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setMaxLength"&gt;setMaxLength&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#maxLength"&gt;maxLength&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::modified</name>
+ <doc href="qlineedit.html#modified-prop">
+&lt;p&gt;This property holds whether the line edit's contents has been modified by the user.
+&lt;p&gt;The modified flag is never read by QLineEdit; it has a default value
+of FALSE and is changed to TRUE whenever the user changes the line
+edit's contents.
+&lt;p&gt; This is useful for things that need to provide a default value but
+do not start out knowing what the default should be (perhaps it
+depends on other fields on the form). Start the line edit without
+the best default, and when the default is known, if modified()
+returns FALSE (the user hasn't entered any text), insert the
+default value.
+&lt;p&gt; Calling &lt;a href="qlineedit.html#clearModified"&gt;clearModified&lt;/a&gt;() or &lt;a href="qlineedit.html#setText"&gt;setText&lt;/a&gt;() resets the modified flag to
+FALSE.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#isModified"&gt;isModified&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::readOnly</name>
+ <doc href="qlineedit.html#readOnly-prop">
+&lt;p&gt;This property holds whether the line edit is read only.
+&lt;p&gt;In read-only mode, the user can still copy the text to the
+clipboard or drag-and-drop the text (if &lt;a href="qlineedit.html#echoMode"&gt;echoMode&lt;/a&gt;() is &lt;a href="qlineedit.html#EchoMode-enum"&gt;Normal&lt;/a&gt;),
+but cannot edit it.
+&lt;p&gt; QLineEdit does not show a cursor in read-only mode.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#enabled-prop"&gt;enabled&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setReadOnly"&gt;setReadOnly&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#isReadOnly"&gt;isReadOnly&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::redoAvailable</name>
+ <doc href="qlineedit.html#redoAvailable-prop">
+&lt;p&gt;This property holds whether redo is available.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#isRedoAvailable"&gt;isRedoAvailable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::selectedText</name>
+ <doc href="qlineedit.html#selectedText-prop">
+&lt;p&gt;This property holds the selected text.
+&lt;p&gt;If there is no selected text this property's value is
+&lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#hasSelectedText-prop"&gt;hasSelectedText&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#selectedText"&gt;selectedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::text</name>
+ <doc href="qlineedit.html#text-prop">
+&lt;p&gt;This property holds the line edit's text.
+&lt;p&gt;Note that setting this property clears the selection, clears the
+undo/redo history, moves the cursor to the end of the line and
+resets the &lt;a href="qlineedit.html#modified-prop"&gt;modified&lt;/a&gt; property to FALSE. The text is not
+validated when inserted with &lt;a href="qlineedit.html#setText"&gt;setText&lt;/a&gt;().
+&lt;p&gt; The text is truncated to &lt;a href="qlineedit.html#maxLength"&gt;maxLength&lt;/a&gt;() length.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlineedit.html#insert"&gt;insert&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qlineedit.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qlineedit.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QLineEdit::undoAvailable</name>
+ <doc href="qlineedit.html#undoAvailable-prop">
+&lt;p&gt;This property holds whether undo is available.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qlineedit.html#isUndoAvailable"&gt;isUndoAvailable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::columnMode</name>
+ <doc href="qlistbox.html#columnMode-prop">
+&lt;p&gt;This property holds the column layout mode for this list box.
+&lt;p&gt;setColumnMode() sets the layout mode and adjusts the number of
+displayed columns. The row layout mode automatically becomes &lt;a href="qlistbox.html#LayoutMode-enum"&gt;Variable&lt;/a&gt;, unless the column mode is &lt;a href="qlistbox.html#LayoutMode-enum"&gt;Variable&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#rowMode-prop"&gt;rowMode&lt;/a&gt;, &lt;a href="qlistbox.html#rowMode-prop"&gt;rowMode&lt;/a&gt;, and &lt;a href="qlistbox.html#numColumns-prop"&gt;numColumns&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setColumnMode"&gt;setColumnMode&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#columnMode"&gt;columnMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::count</name>
+ <doc href="qlistbox.html#count-prop">
+&lt;p&gt;This property holds the number of items in the list box.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qlistbox.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::currentItem</name>
+ <doc href="qlistbox.html#currentItem-prop">
+&lt;p&gt;This property holds the current highlighted item.
+&lt;p&gt;When setting this property, the highlighting is moved to the item
+and the list box scrolled as necessary.
+&lt;p&gt; If no item is current, &lt;a href="qlistbox.html#currentItem"&gt;currentItem&lt;/a&gt;() returns -1.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setCurrentItem"&gt;setCurrentItem&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#currentItem"&gt;currentItem&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::currentText</name>
+ <doc href="qlistbox.html#currentText-prop">
+&lt;p&gt;This property holds the text of the current item.
+&lt;p&gt;This is equivalent to &lt;a href="qlistbox.html#text"&gt;text&lt;/a&gt;(currentItem()).
+
+&lt;p&gt;Get this property's value with &lt;a href="qlistbox.html#currentText"&gt;currentText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::multiSelection</name>
+ <doc href="qlistbox.html#multiSelection-prop">
+&lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds whether or not the list box is in Multi selection mode.
+&lt;p&gt;Consider using the &lt;a href="qlistbox.html#selectionMode-prop"&gt;QListBox::selectionMode&lt;/a&gt; property instead of
+this property.
+&lt;p&gt; When setting this property, Multi selection mode is used if set to TRUE and
+to Single selection mode if set to FALSE.
+&lt;p&gt; When getting this property, TRUE is returned if the list box is in
+Multi selection mode or Extended selection mode, and FALSE if it is
+in Single selection mode or NoSelection mode.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#selectionMode-prop"&gt;selectionMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setMultiSelection"&gt;setMultiSelection&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#isMultiSelection"&gt;isMultiSelection&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::numColumns</name>
+ <doc href="qlistbox.html#numColumns-prop">
+&lt;p&gt;This property holds the number of columns in the list box.
+&lt;p&gt;This is normally 1, but can be different if &lt;a href="qlistbox.html#columnMode-prop"&gt;QListBox::columnMode&lt;/a&gt; or &lt;a href="qlistbox.html#rowMode-prop"&gt;QListBox::rowMode&lt;/a&gt; has been set.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#columnMode-prop"&gt;columnMode&lt;/a&gt;, &lt;a href="qlistbox.html#rowMode-prop"&gt;rowMode&lt;/a&gt;, and &lt;a href="qlistbox.html#numRows-prop"&gt;numRows&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlistbox.html#numColumns"&gt;numColumns&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::numItemsVisible</name>
+ <doc href="qlistbox.html#numItemsVisible-prop">
+&lt;p&gt;This property holds the number of visible items.
+&lt;p&gt;Both partially and entirely visible items are counted.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlistbox.html#numItemsVisible"&gt;numItemsVisible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::numRows</name>
+ <doc href="qlistbox.html#numRows-prop">
+&lt;p&gt;This property holds the number of rows in the list box.
+&lt;p&gt;This is equal to the number of items in the default single-column
+layout, but can be different.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#columnMode-prop"&gt;columnMode&lt;/a&gt;, &lt;a href="qlistbox.html#rowMode-prop"&gt;rowMode&lt;/a&gt;, and &lt;a href="qlistbox.html#numColumns-prop"&gt;numColumns&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qlistbox.html#numRows"&gt;numRows&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::rowMode</name>
+ <doc href="qlistbox.html#rowMode-prop">
+&lt;p&gt;This property holds the row layout mode for this list box.
+&lt;p&gt;This property is normally &lt;a href="qlistbox.html#LayoutMode-enum"&gt;Variable&lt;/a&gt;.
+&lt;p&gt; &lt;a href="qlistbox.html#setRowMode"&gt;setRowMode&lt;/a&gt;() sets the layout mode and adjusts the number of
+displayed rows. The column layout mode automatically becomes &lt;a href="qlistbox.html#LayoutMode-enum"&gt;Variable&lt;/a&gt;, unless the row mode is &lt;a href="qlistbox.html#LayoutMode-enum"&gt;Variable&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#columnMode-prop"&gt;columnMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setRowMode"&gt;setRowMode&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#rowMode"&gt;rowMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::selectionMode</name>
+ <doc href="qlistbox.html#selectionMode-prop">
+&lt;p&gt;This property holds the selection mode of the list box.
+&lt;p&gt;Sets the list box's selection mode, which may be one of &lt;a href="qlistbox.html#SelectionMode-enum"&gt;Single&lt;/a&gt;
+(the default), &lt;a href="qlistbox.html#SelectionMode-enum"&gt;Extended&lt;/a&gt;, &lt;a href="qlistbox.html#SelectionMode-enum"&gt;Multi&lt;/a&gt; or &lt;a href="qlistbox.html#SelectionMode-enum"&gt;NoSelection&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#SelectionMode-enum"&gt;SelectionMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setSelectionMode"&gt;setSelectionMode&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#selectionMode"&gt;selectionMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::topItem</name>
+ <doc href="qlistbox.html#topItem-prop">
+&lt;p&gt;This property holds the index of an item at the top of the screen.
+&lt;p&gt;When getting this property and the listbox has multiple columns,
+an arbitrary item is selected and returned.
+&lt;p&gt; When setting this property, the list box is scrolled so the item
+at position &lt;em&gt;index&lt;/em&gt; in the list is displayed in the top row of
+the list box.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setTopItem"&gt;setTopItem&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#topItem"&gt;topItem&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::variableHeight</name>
+ <doc href="qlistbox.html#variableHeight-prop">
+&lt;p&gt;This property holds whether this list box has variable-height rows.
+&lt;p&gt;When the list box has variable-height rows (the default), each row
+is as high as the highest item in that row. When it has same-sized
+rows, all rows are as high as the highest item in the list box.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#variableWidth-prop"&gt;variableWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setVariableHeight"&gt;setVariableHeight&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#variableHeight"&gt;variableHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListBox::variableWidth</name>
+ <doc href="qlistbox.html#variableWidth-prop">
+&lt;p&gt;This property holds whether this list box has variable-width columns.
+&lt;p&gt;When the list box has variable-width columns, each column is as
+wide as the widest item in that column. When it has same-sized
+columns (the default), all columns are as wide as the widest item
+in the list box.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistbox.html#variableHeight-prop"&gt;variableHeight&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistbox.html#setVariableWidth"&gt;setVariableWidth&lt;/a&gt;() and get this property's value with &lt;a href="qlistbox.html#variableWidth"&gt;variableWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::allColumnsShowFocus</name>
+ <doc href="qlistview.html#allColumnsShowFocus-prop">
+&lt;p&gt;This property holds whether items should show &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt; using all columns.
+&lt;p&gt;If this property is TRUE all columns will show focus and selection
+states, otherwise only column 0 will show focus.
+&lt;p&gt; The default is FALSE.
+&lt;p&gt; Setting this to TRUE if it's not necessary may cause noticeable
+flicker.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setAllColumnsShowFocus"&gt;setAllColumnsShowFocus&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#allColumnsShowFocus"&gt;allColumnsShowFocus&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::childCount</name>
+ <doc href="qlistview.html#childCount-prop">
+&lt;p&gt;This property holds the number of parentless (top-level) &lt;a href="qlistviewitem.html"&gt;QListViewItem&lt;/a&gt; objects in this QListView.
+&lt;p&gt;Holds the current number of parentless (top-level) QListViewItem
+objects in this QListView.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistviewitem.html#childCount"&gt;QListViewItem::childCount&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qlistview.html#childCount"&gt;childCount&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::columns</name>
+ <doc href="qlistview.html#columns-prop">
+&lt;p&gt;This property holds the number of columns in this list view.
+&lt;p&gt;Get this property's value with &lt;a href="qlistview.html#columns"&gt;columns&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qlistview.html#addColumn"&gt;addColumn&lt;/a&gt;() and &lt;a href="qlistview.html#removeColumn"&gt;removeColumn&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QListView::defaultRenameAction</name>
+ <doc href="qlistview.html#defaultRenameAction-prop">
+&lt;p&gt;This property holds what action to perform when the editor loses focus during renaming.
+&lt;p&gt;If this property is &lt;a href="qlistview.html#RenameAction-enum"&gt;Accept&lt;/a&gt;, and the user renames an item and
+the editor loses focus (without the user pressing Enter), the
+item will still be renamed. If the property's value is &lt;a href="qlistview.html#RenameAction-enum"&gt;Reject&lt;/a&gt;,
+the item will not be renamed unless the user presses Enter. The
+default is &lt;a href="qlistview.html#RenameAction-enum"&gt;Reject&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setDefaultRenameAction"&gt;setDefaultRenameAction&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#defaultRenameAction"&gt;defaultRenameAction&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::itemMargin</name>
+ <doc href="qlistview.html#itemMargin-prop">
+&lt;p&gt;This property holds the advisory item margin that list items may use.
+&lt;p&gt;The item margin defaults to one pixel and is the margin between
+the item's edges and the area where it draws its contents.
+&lt;a href="qlistviewitem.html#paintFocus"&gt;QListViewItem::paintFocus&lt;/a&gt;() draws in the margin.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistviewitem.html#paintCell"&gt;QListViewItem::paintCell&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setItemMargin"&gt;setItemMargin&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#itemMargin"&gt;itemMargin&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::multiSelection</name>
+ <doc href="qlistview.html#multiSelection-prop"> &lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds whether the list view is in multi-selection or extended-selection mode.
+&lt;p&gt;If you enable multi-selection, &lt;a href="qlistview.html#SelectionMode-enum"&gt;Multi&lt;/a&gt;, mode, it is possible to
+specify whether or not this mode should be extended. &lt;a href="qlistview.html#SelectionMode-enum"&gt;Extended&lt;/a&gt;
+means that the user can select multiple items only when pressing
+the Shift or Ctrl key at the same time.
+&lt;p&gt; The default selection mode is &lt;a href="qlistview.html#SelectionMode-enum"&gt;Single&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistview.html#selectionMode-prop"&gt;selectionMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setMultiSelection"&gt;setMultiSelection&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#isMultiSelection"&gt;isMultiSelection&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::resizeMode</name>
+ <doc href="qlistview.html#resizeMode-prop">
+&lt;p&gt;This property holds whether all, none or the only the last column should be resized.
+&lt;p&gt;Specifies whether all, none or only the last column should be
+resized to fit the full width of the list view. The values for this
+property can be one of: &lt;a href="qlistview.html#ResizeMode-enum"&gt;NoColumn&lt;/a&gt; (the default), &lt;a href="qlistview.html#ResizeMode-enum"&gt;AllColumns&lt;/a&gt;
+or &lt;a href="qlistview.html#ResizeMode-enum"&gt;LastColumn&lt;/a&gt;.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Setting the resize mode should be done after all necessary
+columns have been added to the list view, otherwise the behavior is
+undefined.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qheader.html"&gt;QHeader&lt;/a&gt; and &lt;a href="qlistview.html#header"&gt;header&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setResizeMode"&gt;setResizeMode&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#resizeMode"&gt;resizeMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::rootIsDecorated</name>
+ <doc href="qlistview.html#rootIsDecorated-prop">
+&lt;p&gt;This property holds whether the list view shows open/close signs on root items.
+&lt;p&gt;Open/close signs are small &lt;b&gt;+&lt;/b&gt; or &lt;b&gt;-&lt;/b&gt; symbols in windows
+style, or arrows in &lt;a href="motif-extension.html#Motif"&gt;Motif&lt;/a&gt; style. The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setRootIsDecorated"&gt;setRootIsDecorated&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#rootIsDecorated"&gt;rootIsDecorated&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::selectionMode</name>
+ <doc href="qlistview.html#selectionMode-prop">
+&lt;p&gt;This property holds the list view's selection mode.
+&lt;p&gt;The mode can be &lt;a href="qlistview.html#SelectionMode-enum"&gt;Single&lt;/a&gt; (the default), &lt;a href="qlistview.html#SelectionMode-enum"&gt;Extended&lt;/a&gt;, &lt;a href="qlistview.html#SelectionMode-enum"&gt;Multi&lt;/a&gt; or
+&lt;a href="qlistview.html#SelectionMode-enum"&gt;NoSelection&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qlistview.html#multiSelection-prop"&gt;multiSelection&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setSelectionMode"&gt;setSelectionMode&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#selectionMode"&gt;selectionMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::showSortIndicator</name>
+ <doc href="qlistview.html#showSortIndicator-prop">
+&lt;p&gt;This property holds whether the list view header should display a sort indicator.
+&lt;p&gt;If this property is TRUE, an arrow is drawn in the header of the
+list view to indicate the sort order of the list view contents.
+The arrow will be drawn in the correct column and will point up or
+down, depending on the current sort direction. The default is
+FALSE (don't show an indicator).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qheader.html#setSortIndicator"&gt;QHeader::setSortIndicator&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setShowSortIndicator"&gt;setShowSortIndicator&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#showSortIndicator"&gt;showSortIndicator&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::showToolTips</name>
+ <doc href="qlistview.html#showToolTips-prop">
+&lt;p&gt;This property holds whether this list view should show tooltips for truncated column texts.
+&lt;p&gt;The default is TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setShowToolTips"&gt;setShowToolTips&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#showToolTips"&gt;showToolTips&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QListView::treeStepSize</name>
+ <doc href="qlistview.html#treeStepSize-prop">
+&lt;p&gt;This property holds the number of pixels a child is offset from its parent.
+&lt;p&gt;The default is 20 pixels.
+&lt;p&gt; Of course, this property is only meaningful for hierarchical list
+views.
+
+&lt;p&gt;Set this property's value with &lt;a href="qlistview.html#setTreeStepSize"&gt;setTreeStepSize&lt;/a&gt;() and get this property's value with &lt;a href="qlistview.html#treeStepSize"&gt;treeStepSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMainWindow::dockWindowsMovable</name>
+ <doc href="qmainwindow.html#dockWindowsMovable-prop">
+&lt;p&gt;This property holds whether the dock windows are movable.
+&lt;p&gt;If TRUE (the default), the user will be able to move movable dock
+windows from one QMainWindow dock area to another, including the
+&lt;tt&gt;TearOff&lt;/tt&gt; area (i.e. where the dock window floats freely as a
+window in its own right), and the &lt;a href="qt.html#Dock-enum"&gt;Minimized&lt;/a&gt; area (where only
+the dock window's handle is shown below the menu bar). Moveable
+dock windows can also be moved within QMainWindow dock areas, i.e.
+to rearrange them within a dock area.
+&lt;p&gt; If FALSE the user will not be able to move any dock windows.
+&lt;p&gt; By default dock windows are moved transparently (i.e. only an
+outline rectangle is shown during the drag), but this setting can
+be changed with &lt;a href="qmainwindow.html#setOpaqueMoving"&gt;setOpaqueMoving&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmainwindow.html#setDockEnabled"&gt;setDockEnabled&lt;/a&gt;() and &lt;a href="qmainwindow.html#opaqueMoving-prop"&gt;opaqueMoving&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmainwindow.html#setDockWindowsMovable"&gt;setDockWindowsMovable&lt;/a&gt;() and get this property's value with &lt;a href="qmainwindow.html#dockWindowsMovable"&gt;dockWindowsMovable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMainWindow::opaqueMoving</name>
+ <doc href="qmainwindow.html#opaqueMoving-prop">
+&lt;p&gt;This property holds whether dock windows are moved opaquely.
+&lt;p&gt;If TRUE the dock windows of the main window are shown opaquely
+(i.e. it shows the toolbar as it looks when docked) whilst it is
+being moved. If FALSE (the default) they are shown transparently,
+(i.e. as an outline rectangle).
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Opaque moving of toolbars and dockwindows is known to
+have several problems. We recommend avoiding the use of this
+feature for the time being. We intend fixing the problems in a
+future release.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmainwindow.html#setOpaqueMoving"&gt;setOpaqueMoving&lt;/a&gt;() and get this property's value with &lt;a href="qmainwindow.html#opaqueMoving"&gt;opaqueMoving&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMainWindow::rightJustification</name>
+ <doc href="qmainwindow.html#rightJustification-prop">
+&lt;b&gt;This function is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; &lt;p&gt;This property holds whether the main window right-justifies its dock windows.
+&lt;p&gt;If disabled (the default), stretchable dock windows are expanded,
+and non-stretchable dock windows are given the minimum space they
+need. Since most dock windows are not stretchable, this usually
+results in an unjustified right edge (or unjustified bottom edge
+for a vertical dock area). If enabled, the main window will
+right-justify its dock windows.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qdockwindow.html#setVerticalStretchable"&gt;QDockWindow::setVerticalStretchable&lt;/a&gt;() and &lt;a href="qdockwindow.html#setHorizontalStretchable"&gt;QDockWindow::setHorizontalStretchable&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qmainwindow.html#setRightJustification"&gt;setRightJustification&lt;/a&gt;() and get this property's value with &lt;a href="qmainwindow.html#rightJustification"&gt;rightJustification&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMainWindow::usesBigPixmaps</name>
+ <doc href="qmainwindow.html#usesBigPixmaps-prop">
+&lt;p&gt;This property holds whether big pixmaps are enabled.
+&lt;p&gt;If FALSE (the default), the tool buttons will use small pixmaps;
+otherwise big pixmaps will be used.
+&lt;p&gt; Tool buttons and other widgets that wish to respond to this
+setting are responsible for reading the correct state on startup,
+and for connecting to the main window's widget's
+&lt;a href="qmainwindow.html#pixmapSizeChanged"&gt;pixmapSizeChanged&lt;/a&gt;() signal.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmainwindow.html#setUsesBigPixmaps"&gt;setUsesBigPixmaps&lt;/a&gt;() and get this property's value with &lt;a href="qmainwindow.html#usesBigPixmaps"&gt;usesBigPixmaps&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMainWindow::usesTextLabel</name>
+ <doc href="qmainwindow.html#usesTextLabel-prop">
+&lt;p&gt;This property holds whether text labels for toolbar buttons are enabled.
+&lt;p&gt;If disabled (the default), the tool buttons will not use text
+labels. If enabled, text labels will be used.
+&lt;p&gt; Tool buttons and other widgets that wish to respond to this
+setting are responsible for reading the correct state on startup,
+and for connecting to the main window's widget's
+&lt;a href="qmainwindow.html#usesTextLabelChanged"&gt;usesTextLabelChanged&lt;/a&gt;() signal.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtoolbutton.html#usesTextLabel-prop"&gt;QToolButton::usesTextLabel&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmainwindow.html#setUsesTextLabel"&gt;setUsesTextLabel&lt;/a&gt;() and get this property's value with &lt;a href="qmainwindow.html#usesTextLabel"&gt;usesTextLabel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMenuBar::defaultUp</name>
+ <doc href="qmenubar.html#defaultUp-prop">
+&lt;p&gt;This property holds the popup orientation.
+&lt;p&gt;The default popup orientation. By default, menus pop "down" the
+screen. By setting the property to TRUE, the menu will pop "up".
+You might call this for menus that are &lt;em&gt;below&lt;/em&gt; the document to
+which they refer.
+&lt;p&gt; If the menu would not fit on the screen, the other direction is
+used automatically.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmenubar.html#setDefaultUp"&gt;setDefaultUp&lt;/a&gt;() and get this property's value with &lt;a href="qmenubar.html#isDefaultUp"&gt;isDefaultUp&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMenuBar::separator</name>
+ <doc href="qmenubar.html#separator-prop">
+&lt;p&gt;This property holds in which cases a menubar sparator is drawn.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qmenubar.html#setSeparator"&gt;setSeparator&lt;/a&gt;() and get this property's value with &lt;a href="qmenubar.html#separator"&gt;separator&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMessageBox::icon</name>
+ <doc href="qmessagebox.html#icon-prop">
+&lt;p&gt;This property holds the message box's icon.
+&lt;p&gt;The icon of the message box can be one of the following predefined
+icons:
+&lt;ul&gt;
+&lt;li&gt; QMessageBox::NoIcon
+&lt;li&gt; QMessageBox::Question
+&lt;li&gt; QMessageBox::Information
+&lt;li&gt; QMessageBox::Warning
+&lt;li&gt; QMessageBox::Critical
+&lt;/ul&gt;
+&lt;p&gt; The actual pixmap used for displaying the icon depends on the
+current &lt;a href="qwidget.html#style"&gt;GUI style&lt;/a&gt;. You can also set
+a custom pixmap icon using the &lt;a href="qmessagebox.html#iconPixmap-prop"&gt;QMessageBox::iconPixmap&lt;/a&gt;
+property. The default icon is QMessageBox::NoIcon.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmessagebox.html#iconPixmap-prop"&gt;iconPixmap&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmessagebox.html#setIcon"&gt;setIcon&lt;/a&gt;() and get this property's value with &lt;a href="qmessagebox.html#icon"&gt;icon&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMessageBox::iconPixmap</name>
+ <doc href="qmessagebox.html#iconPixmap-prop">
+&lt;p&gt;This property holds the current icon.
+&lt;p&gt;The icon currently used by the message box. Note that it's often
+hard to draw one pixmap that looks appropriate in both &lt;a href="motif-extension.html#Motif"&gt;Motif&lt;/a&gt; and
+Windows GUI styles; you may want to draw two pixmaps.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmessagebox.html#icon-prop"&gt;icon&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmessagebox.html#setIconPixmap"&gt;setIconPixmap&lt;/a&gt;() and get this property's value with &lt;a href="qmessagebox.html#iconPixmap"&gt;iconPixmap&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMessageBox::text</name>
+ <doc href="qmessagebox.html#text-prop">
+&lt;p&gt;This property holds the message box text to be displayed.
+&lt;p&gt;The text will be interpreted either as a plain text or as rich
+text, depending on the text format setting (&lt;a href="qmessagebox.html#textFormat-prop"&gt;QMessageBox::textFormat&lt;/a&gt;). The default setting is &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;, i.e.
+the message box will try to auto-detect the format of the text.
+&lt;p&gt; The default value of this property is &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmessagebox.html#textFormat-prop"&gt;textFormat&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmessagebox.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qmessagebox.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMessageBox::textFormat</name>
+ <doc href="qmessagebox.html#textFormat-prop">
+&lt;p&gt;This property holds the format of the text displayed by the message box.
+&lt;p&gt;The current text format used by the message box. See the &lt;a href="qt.html#TextFormat-enum"&gt;Qt::TextFormat&lt;/a&gt; enum for an explanation of the possible options.
+&lt;p&gt; The default format is &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmessagebox.html#text-prop"&gt;text&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmessagebox.html#setTextFormat"&gt;setTextFormat&lt;/a&gt;() and get this property's value with &lt;a href="qmessagebox.html#textFormat"&gt;textFormat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMultiLineEdit::alignment</name>
+ <doc href="qmultilineedit.html#alignment-prop"> &lt;p&gt;This property holds the editor's paragraph alignment.
+&lt;p&gt;Sets the alignment to flag, which must be &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignLeft&lt;/a&gt;, &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignHCenter&lt;/a&gt; or &lt;a href="qt.html#AlignmentFlags-enum"&gt;AlignRight&lt;/a&gt;.
+&lt;p&gt; If flag is an illegal flag nothing happens.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qt.html#AlignmentFlags-enum"&gt;Qt::AlignmentFlags&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmultilineedit.html#setAlignment"&gt;setAlignment&lt;/a&gt;() and get this property's value with &lt;a href="qmultilineedit.html#alignment"&gt;alignment&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMultiLineEdit::atBeginning</name>
+ <doc href="qmultilineedit.html#atBeginning-prop"> &lt;p&gt;This property holds whether the cursor is placed at the beginning of the text.
+&lt;p&gt;Get this property's value with &lt;a href="qmultilineedit.html#atBeginning"&gt;atBeginning&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qmultilineedit.html#atEnd-prop"&gt;atEnd&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QMultiLineEdit::atEnd</name>
+ <doc href="qmultilineedit.html#atEnd-prop"> &lt;p&gt;This property holds whether the cursor is placed at the end of the text.
+&lt;p&gt;Get this property's value with &lt;a href="qmultilineedit.html#atEnd"&gt;atEnd&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qmultilineedit.html#atBeginning-prop"&gt;atBeginning&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QMultiLineEdit::edited</name>
+ <doc href="qmultilineedit.html#edited-prop"> &lt;p&gt;This property holds whether the document has been edited by the user.
+&lt;p&gt;This is the same as &lt;a href="qtextedit.html"&gt;QTextEdit&lt;/a&gt;'s "modifed" property.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#modified-prop"&gt;QTextEdit::modified&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qmultilineedit.html#setEdited"&gt;setEdited&lt;/a&gt;() and get this property's value with &lt;a href="qmultilineedit.html#edited"&gt;edited&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QMultiLineEdit::numLines</name>
+ <doc href="qmultilineedit.html#numLines-prop"> &lt;p&gt;This property holds the number of paragraphs in the editor.
+&lt;p&gt;The count includes any empty paragraph at top and bottom, so for an
+empty editor this method returns 1.
+
+&lt;p&gt;Get this property's value with &lt;a href="qmultilineedit.html#numLines"&gt;numLines&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QObject::name</name>
+ <doc href="qobject.html#name-prop">
+&lt;p&gt;This property holds the name of this object.
+&lt;p&gt;You can find an object by name (and type) using &lt;a href="qobject.html#child"&gt;child&lt;/a&gt;(). You can
+find a set of objects with &lt;a href="qobject.html#queryList"&gt;queryList&lt;/a&gt;().
+&lt;p&gt; The object name is set by the constructor or by the &lt;a href="qobject.html#setName"&gt;setName&lt;/a&gt;()
+function. The object name is not very useful in the current
+version of Qt, but will become increasingly important in the
+future.
+&lt;p&gt; If the object does not have a name, the &lt;a href="qobject.html#name"&gt;name&lt;/a&gt;() function returns
+"unnamed", so printf() (used in &lt;a href="qapplication.html#qDebug"&gt;qDebug&lt;/a&gt;()) will not be asked to
+output a null pointer. If you want a null pointer to be returned
+for unnamed objects, you can call name( 0 ).
+&lt;p&gt; &lt;pre&gt;
+ &lt;a href="qapplication.html#qDebug"&gt;qDebug&lt;/a&gt;( "MyClass::setPrecision(): (%s) invalid precision %f",
+ &lt;a href="qobject.html#name"&gt;name&lt;/a&gt;(), newPrecision );
+ &lt;/pre&gt;
+
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qobject.html#className"&gt;className&lt;/a&gt;(), &lt;a href="qobject.html#child"&gt;child&lt;/a&gt;(), and &lt;a href="qobject.html#queryList"&gt;queryList&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qobject.html#setName"&gt;setName&lt;/a&gt;() and get this property's value with &lt;a href="qobject.html#name"&gt;name&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPopupMenu::checkable</name>
+ <doc href="qpopupmenu.html#checkable-prop">
+&lt;p&gt;This property holds whether the display of check marks on menu items is enabled.
+&lt;p&gt;When TRUE, the display of check marks on menu items is enabled.
+Checking is always enabled when in Windows-style.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qmenudata.html#setItemChecked"&gt;QMenuData::setItemChecked&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qpopupmenu.html#setCheckable"&gt;setCheckable&lt;/a&gt;() and get this property's value with &lt;a href="qpopupmenu.html#isCheckable"&gt;isCheckable&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::centerIndicator</name>
+ <doc href="qprogressbar.html#centerIndicator-prop">
+&lt;p&gt;This property holds whether the indicator string should be centered.
+&lt;p&gt;Changing this property sets &lt;a href="qprogressbar.html#indicatorFollowsStyle-prop"&gt;QProgressBar::indicatorFollowsStyle&lt;/a&gt;
+to FALSE. The default is TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressbar.html#setCenterIndicator"&gt;setCenterIndicator&lt;/a&gt;() and get this property's value with &lt;a href="qprogressbar.html#centerIndicator"&gt;centerIndicator&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::indicatorFollowsStyle</name>
+ <doc href="qprogressbar.html#indicatorFollowsStyle-prop">
+&lt;p&gt;This property holds whether the display of the indicator string should follow the GUI style.
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qprogressbar.html#centerIndicator-prop"&gt;centerIndicator&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressbar.html#setIndicatorFollowsStyle"&gt;setIndicatorFollowsStyle&lt;/a&gt;() and get this property's value with &lt;a href="qprogressbar.html#indicatorFollowsStyle"&gt;indicatorFollowsStyle&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::percentageVisible</name>
+ <doc href="qprogressbar.html#percentageVisible-prop">
+&lt;p&gt;This property holds whether the current progress value is displayed.
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qprogressbar.html#centerIndicator-prop"&gt;centerIndicator&lt;/a&gt; and &lt;a href="qprogressbar.html#indicatorFollowsStyle-prop"&gt;indicatorFollowsStyle&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressbar.html#setPercentageVisible"&gt;setPercentageVisible&lt;/a&gt;() and get this property's value with &lt;a href="qprogressbar.html#percentageVisible"&gt;percentageVisible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::progress</name>
+ <doc href="qprogressbar.html#progress-prop">
+&lt;p&gt;This property holds the current amount of progress.
+&lt;p&gt;This property is -1 if progress counting has not started.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressbar.html#setProgress"&gt;setProgress&lt;/a&gt;() and get this property's value with &lt;a href="qprogressbar.html#progress"&gt;progress&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::progressString</name>
+ <doc href="qprogressbar.html#progressString-prop">
+&lt;p&gt;This property holds the amount of progress as a string.
+&lt;p&gt;This property is &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt; if progress counting has not started.
+
+&lt;p&gt;Get this property's value with &lt;a href="qprogressbar.html#progressString"&gt;progressString&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressBar::totalSteps</name>
+ <doc href="qprogressbar.html#totalSteps-prop">
+&lt;p&gt;This property holds the total number of steps.
+&lt;p&gt;If totalSteps is 0, the progress bar will display a busy
+indicator.
+&lt;p&gt; &lt;p&gt;See also
+&lt;p&gt;Set this property's value with &lt;a href="qprogressbar.html#setTotalSteps"&gt;setTotalSteps&lt;/a&gt;() and get this property's value with &lt;a href="qprogressbar.html#totalSteps"&gt;totalSteps&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::autoClose</name>
+ <doc href="qprogressdialog.html#autoClose-prop">
+&lt;p&gt;This property holds whether the dialog gets hidden by &lt;a href="qprogressdialog.html#reset"&gt;reset&lt;/a&gt;().
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qprogressdialog.html#autoReset-prop"&gt;autoReset&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setAutoClose"&gt;setAutoClose&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#autoClose"&gt;autoClose&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::autoReset</name>
+ <doc href="qprogressdialog.html#autoReset-prop">
+&lt;p&gt;This property holds whether the progress dialog calls &lt;a href="qprogressdialog.html#reset"&gt;reset&lt;/a&gt;() as soon as &lt;a href="qprogressdialog.html#progress"&gt;progress&lt;/a&gt;() equals &lt;a href="qprogressdialog.html#totalSteps"&gt;totalSteps&lt;/a&gt;().
+&lt;p&gt;The default is TRUE.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qprogressdialog.html#autoClose-prop"&gt;autoClose&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setAutoReset"&gt;setAutoReset&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#autoReset"&gt;autoReset&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::labelText</name>
+ <doc href="qprogressdialog.html#labelText-prop">
+&lt;p&gt;This property holds the label's text.
+&lt;p&gt;The default text is &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setLabelText"&gt;setLabelText&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#labelText"&gt;labelText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::minimumDuration</name>
+ <doc href="qprogressdialog.html#minimumDuration-prop">
+&lt;p&gt;This property holds the time that must pass before the dialog appears.
+&lt;p&gt;If the expected duration of the task is less than the
+minimumDuration, the dialog will not appear at all. This prevents
+the dialog popping up for tasks that are quickly over. For tasks
+that are expected to exceed the minimumDuration, the dialog will
+pop up after the minimumDuration time or as soon as any progress
+is set.
+&lt;p&gt; If set to 0, the dialog is always shown as soon as any progress is
+set. The default is 4000 milliseconds.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setMinimumDuration"&gt;setMinimumDuration&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#minimumDuration"&gt;minimumDuration&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::progress</name>
+ <doc href="qprogressdialog.html#progress-prop">
+&lt;p&gt;This property holds the current amount of progress made.
+&lt;p&gt;For the progress dialog to work as expected, you should initially set
+this property to 0 and finally set it to
+&lt;a href="qprogressdialog.html#totalSteps"&gt;QProgressDialog::totalSteps&lt;/a&gt;(); you can call &lt;a href="qprogressdialog.html#setProgress"&gt;setProgress&lt;/a&gt;() any number of times
+in-between.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; If the progress dialog is modal
+(see &lt;a href="qprogressdialog.html#QProgressDialog"&gt;QProgressDialog::QProgressDialog&lt;/a&gt;()),
+this function calls &lt;a href="qapplication.html#processEvents"&gt;QApplication::processEvents&lt;/a&gt;(), so take care that
+this does not cause undesirable re-entrancy in your code. For example,
+don't use a QProgressDialog inside a &lt;a href="qwidget.html#paintEvent"&gt;paintEvent&lt;/a&gt;()!
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qprogressdialog.html#totalSteps-prop"&gt;totalSteps&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setProgress"&gt;setProgress&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#progress"&gt;progress&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::totalSteps</name>
+ <doc href="qprogressdialog.html#totalSteps-prop">
+&lt;p&gt;This property holds the total number of steps.
+&lt;p&gt;The default is 0.
+
+&lt;p&gt;Set this property's value with &lt;a href="qprogressdialog.html#setTotalSteps"&gt;setTotalSteps&lt;/a&gt;() and get this property's value with &lt;a href="qprogressdialog.html#totalSteps"&gt;totalSteps&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::wasCanceled</name>
+ <doc href="qprogressdialog.html#wasCanceled-prop">
+&lt;p&gt;This property holds whether the dialog was canceled.
+&lt;p&gt;Get this property's value with &lt;a href="qprogressdialog.html#wasCanceled"&gt;wasCanceled&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qprogressdialog.html#progress-prop"&gt;progress&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QProgressDialog::wasCancelled</name>
+ <doc href="qprogressdialog.html#wasCancelled-prop">
+&lt;p&gt;This property holds whether the dialog was canceled.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; Use &lt;a href="qprogressdialog.html#wasCanceled-prop"&gt;wasCanceled&lt;/a&gt; instead.
+
+&lt;p&gt;Get this property's value with &lt;a href="qprogressdialog.html#wasCancelled"&gt;wasCancelled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPushButton::autoDefault</name>
+ <doc href="qpushbutton.html#autoDefault-prop">
+&lt;p&gt;This property holds whether the push button is the auto default button.
+&lt;p&gt;If this property is set to TRUE then the push button is the auto
+default button in a dialog.
+&lt;p&gt; In some GUI styles a default button is drawn with an extra frame
+around it, up to 3 pixels or more. Qt automatically keeps this
+space free around auto-default buttons, i.e. auto-default buttons
+may have a slightly larger size hint.
+&lt;p&gt; This property's default is TRUE for buttons that have a &lt;a href="qdialog.html"&gt;QDialog&lt;/a&gt;
+parent; otherwise it defaults to FALSE.
+&lt;p&gt; See the &lt;a href="qpushbutton.html#default-prop"&gt;default&lt;/a&gt; property for details of how &lt;a href="qpushbutton.html#default-prop"&gt;default&lt;/a&gt; and
+auto-default interact.
+
+&lt;p&gt;Set this property's value with &lt;a href="qpushbutton.html#setAutoDefault"&gt;setAutoDefault&lt;/a&gt;() and get this property's value with &lt;a href="qpushbutton.html#autoDefault"&gt;autoDefault&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPushButton::default</name>
+ <doc href="qpushbutton.html#default-prop">
+&lt;p&gt;This property holds whether the push button is the default button.
+&lt;p&gt;If this property is set to TRUE then the push button will be
+pressed if the user presses the Enter (or Return) key in a dialog.
+&lt;p&gt; Regardless of focus, if the user presses Enter: If there is a
+default button the default button is pressed; otherwise, if
+there are one or more &lt;a href="qpushbutton.html#autoDefault-prop"&gt;autoDefault&lt;/a&gt; buttons the first &lt;a href="qpushbutton.html#autoDefault-prop"&gt;autoDefault&lt;/a&gt;
+button that is next in the tab order is pressed. If there are no
+default or &lt;a href="qpushbutton.html#autoDefault-prop"&gt;autoDefault&lt;/a&gt; buttons only pressing Space on a button
+with focus, mouse clicking, or using an accelerator will press a
+button.
+&lt;p&gt; In a dialog, only one push button at a time can be the default
+button. This button is then displayed with an additional frame
+(depending on the GUI style).
+&lt;p&gt; The default button behavior is provided only in dialogs. Buttons
+can always be clicked from the keyboard by pressing Enter (or
+Return) or the Spacebar when the button has focus.
+&lt;p&gt; This property's default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qpushbutton.html#setDefault"&gt;setDefault&lt;/a&gt;() and get this property's value with &lt;a href="qpushbutton.html#isDefault"&gt;isDefault&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPushButton::flat</name>
+ <doc href="qpushbutton.html#flat-prop">
+&lt;p&gt;This property holds whether the border is disabled.
+&lt;p&gt;This property's default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qpushbutton.html#setFlat"&gt;setFlat&lt;/a&gt;() and get this property's value with &lt;a href="qpushbutton.html#isFlat"&gt;isFlat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPushButton::iconSet</name>
+ <doc href="qpushbutton.html#iconSet-prop">
+&lt;p&gt;This property holds the icon set on the push button.
+&lt;p&gt;This property will return 0 if the push button has no iconset.
+
+&lt;p&gt;Set this property's value with &lt;a href="qpushbutton.html#setIconSet"&gt;setIconSet&lt;/a&gt;() and get this property's value with &lt;a href="qpushbutton.html#iconSet"&gt;iconSet&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QPushButton::menuButton</name>
+ <doc href="qpushbutton.html#menuButton-prop"> &lt;p&gt;This property holds whether the push button has a menu button on it.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; If this property is set to TRUE, then a down arrow is drawn on the push
+button to indicate that a menu will pop up if the user clicks on the
+arrow.
+
+&lt;p&gt;Get this property's value with &lt;a href="qpushbutton.html#isMenuButton"&gt;isMenuButton&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QRadioButton::checked</name>
+ <doc href="qradiobutton.html#checked-prop">
+&lt;p&gt;This property holds whether the radio button is checked.
+&lt;p&gt;This property will not effect any other radio buttons unless they
+have been placed in the same &lt;a href="qbuttongroup.html"&gt;QButtonGroup&lt;/a&gt;. The default value is
+FALSE (unchecked).
+
+&lt;p&gt;Set this property's value with &lt;a href="qradiobutton.html#setChecked"&gt;setChecked&lt;/a&gt;() and get this property's value with &lt;a href="qradiobutton.html#isChecked"&gt;isChecked&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::draggingSlider</name>
+ <doc href="qscrollbar.html#draggingSlider-prop">
+&lt;p&gt;This property holds whether the user has clicked the mouse on the slider and is currently dragging it.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollbar.html#draggingSlider"&gt;draggingSlider&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::lineStep</name>
+ <doc href="qscrollbar.html#lineStep-prop">
+&lt;p&gt;This property holds the line step.
+&lt;p&gt;When setting lineStep, the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function will be
+called if the new line step is different from the previous
+setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;setSteps&lt;/a&gt;(), &lt;a href="qrangecontrol.html#pageStep"&gt;QRangeControl::pageStep&lt;/a&gt;(), and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setLineStep"&gt;setLineStep&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#lineStep"&gt;lineStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::maxValue</name>
+ <doc href="qscrollbar.html#maxValue-prop">
+&lt;p&gt;This property holds the scroll bar's maximum value.
+&lt;p&gt;When setting this property, the &lt;a href="qscrollbar.html#minValue-prop"&gt;QScrollBar::minValue&lt;/a&gt; is
+adjusted if necessary to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::minValue</name>
+ <doc href="qscrollbar.html#minValue-prop">
+&lt;p&gt;This property holds the scroll bar's minimum value.
+&lt;p&gt;When setting this property, the &lt;a href="qscrollbar.html#maxValue-prop"&gt;QScrollBar::maxValue&lt;/a&gt; is
+adjusted if necessary to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::orientation</name>
+ <doc href="qscrollbar.html#orientation-prop">
+&lt;p&gt;This property holds the orientation of the scroll bar.
+&lt;p&gt;The orientation must be &lt;a href="qt.html#Orientation-enum"&gt;Qt::Vertical&lt;/a&gt; (the default) or &lt;a href="qt.html#Orientation-enum"&gt;Qt::Horizontal&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setOrientation"&gt;setOrientation&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::pageStep</name>
+ <doc href="qscrollbar.html#pageStep-prop">
+&lt;p&gt;This property holds the page step.
+&lt;p&gt;When setting pageStep, the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function will be
+called if the new page step is different from the previous
+setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;QRangeControl::setSteps&lt;/a&gt;(), &lt;a href="qscrollbar.html#lineStep-prop"&gt;lineStep&lt;/a&gt;, and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setPageStep"&gt;setPageStep&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#pageStep"&gt;pageStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::tracking</name>
+ <doc href="qscrollbar.html#tracking-prop">
+&lt;p&gt;This property holds whether scroll bar tracking is enabled.
+&lt;p&gt;If tracking is enabled (the default), the scroll bar emits the
+&lt;a href="qscrollbar.html#valueChanged"&gt;valueChanged&lt;/a&gt;() signal while the slider is being dragged. If
+tracking is disabled, the scroll bar emits the valueChanged()
+signal only when the user releases the mouse button after moving
+the slider.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setTracking"&gt;setTracking&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#tracking"&gt;tracking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollBar::value</name>
+ <doc href="qscrollbar.html#value-prop">
+&lt;p&gt;This property holds the scroll bar's value.
+&lt;p&gt;Set this property's value with &lt;a href="qscrollbar.html#setValue"&gt;setValue&lt;/a&gt;() and get this property's value with &lt;a href="qscrollbar.html#value"&gt;value&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qrangecontrol.html#value"&gt;QRangeControl::value&lt;/a&gt;() and &lt;a href="qrangecontrol.html#prevValue"&gt;prevValue&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QScrollView::contentsHeight</name>
+ <doc href="qscrollview.html#contentsHeight-prop">
+&lt;p&gt;This property holds the height of the contents area.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#contentsHeight"&gt;contentsHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::contentsWidth</name>
+ <doc href="qscrollview.html#contentsWidth-prop">
+&lt;p&gt;This property holds the width of the contents area.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#contentsWidth"&gt;contentsWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::contentsX</name>
+ <doc href="qscrollview.html#contentsX-prop">
+&lt;p&gt;This property holds the X coordinate of the contents that are at the left edge of the viewport.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#contentsX"&gt;contentsX&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::contentsY</name>
+ <doc href="qscrollview.html#contentsY-prop">
+&lt;p&gt;This property holds the Y coordinate of the contents that are at the top edge of the viewport.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#contentsY"&gt;contentsY&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::dragAutoScroll</name>
+ <doc href="qscrollview.html#dragAutoScroll-prop">
+&lt;p&gt;This property holds whether autoscrolling in drag move events is enabled.
+&lt;p&gt;If this property is set to TRUE (the default), the QScrollView
+automatically scrolls the contents in drag move events if the user
+moves the cursor close to a border of the view. Of course this
+works only if the viewport accepts drops. Specifying FALSE
+disables this autoscroll feature.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Enabling this property might not be enough to
+effectively turn on autoscrolling. If you put a custom widget in
+the QScrollView, you might need to call QDragEvent::ignore() on
+the event in the &lt;a href="qwidget.html#dragEnterEvent"&gt;dragEnterEvent&lt;/a&gt;() and &lt;a href="qwidget.html#dragMoveEvent"&gt;dragMoveEvent&lt;/a&gt;()
+reimplementations.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollview.html#setDragAutoScroll"&gt;setDragAutoScroll&lt;/a&gt;() and get this property's value with &lt;a href="qscrollview.html#dragAutoScroll"&gt;dragAutoScroll&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::hScrollBarMode</name>
+ <doc href="qscrollview.html#hScrollBarMode-prop">
+&lt;p&gt;This property holds the mode for the horizontal scroll bar.
+&lt;p&gt;The default mode is &lt;a href="qscrollview.html#ScrollBarMode-enum"&gt;QScrollView::Auto&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qscrollview.html#vScrollBarMode-prop"&gt;vScrollBarMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollview.html#setHScrollBarMode"&gt;setHScrollBarMode&lt;/a&gt;() and get this property's value with &lt;a href="qscrollview.html#hScrollBarMode"&gt;hScrollBarMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::resizePolicy</name>
+ <doc href="qscrollview.html#resizePolicy-prop">
+&lt;p&gt;This property holds the resize policy.
+&lt;p&gt;The default is &lt;a href="qscrollview.html#ResizePolicy-enum"&gt;Default&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qscrollview.html#ResizePolicy-enum"&gt;ResizePolicy&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollview.html#setResizePolicy"&gt;setResizePolicy&lt;/a&gt;() and get this property's value with &lt;a href="qscrollview.html#resizePolicy"&gt;resizePolicy&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::vScrollBarMode</name>
+ <doc href="qscrollview.html#vScrollBarMode-prop">
+&lt;p&gt;This property holds the mode for the vertical scroll bar.
+&lt;p&gt;The default mode is &lt;a href="qscrollview.html#ScrollBarMode-enum"&gt;QScrollView::Auto&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qscrollview.html#hScrollBarMode-prop"&gt;hScrollBarMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qscrollview.html#setVScrollBarMode"&gt;setVScrollBarMode&lt;/a&gt;() and get this property's value with &lt;a href="qscrollview.html#vScrollBarMode"&gt;vScrollBarMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::visibleHeight</name>
+ <doc href="qscrollview.html#visibleHeight-prop">
+&lt;p&gt;This property holds the vertical amount of the content that is visible.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#visibleHeight"&gt;visibleHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QScrollView::visibleWidth</name>
+ <doc href="qscrollview.html#visibleWidth-prop">
+&lt;p&gt;This property holds the horizontal amount of the content that is visible.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qscrollview.html#visibleWidth"&gt;visibleWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::lineStep</name>
+ <doc href="qslider.html#lineStep-prop">
+&lt;p&gt;This property holds the current line step.
+&lt;p&gt;When setting lineStep, the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function will be
+called if the new line step is different from the previous
+setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;setSteps&lt;/a&gt;(), &lt;a href="qrangecontrol.html#pageStep"&gt;QRangeControl::pageStep&lt;/a&gt;(), and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setLineStep"&gt;setLineStep&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#lineStep"&gt;lineStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::maxValue</name>
+ <doc href="qslider.html#maxValue-prop">
+&lt;p&gt;This property holds the current maximum value of the slider.
+&lt;p&gt;When setting this property, the &lt;a href="qslider.html#minValue-prop"&gt;QSlider::minValue&lt;/a&gt; is adjusted,
+if necessary, to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::minValue</name>
+ <doc href="qslider.html#minValue-prop">
+&lt;p&gt;This property holds the current minimum value of the slider.
+&lt;p&gt;When setting this property, the &lt;a href="qslider.html#maxValue-prop"&gt;QSlider::maxValue&lt;/a&gt; is adjusted,
+if necessary, to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::orientation</name>
+ <doc href="qslider.html#orientation-prop">
+&lt;p&gt;This property holds the slider's orientation.
+&lt;p&gt;The orientation must be &lt;a href="qt.html#Orientation-enum"&gt;Qt::Vertical&lt;/a&gt; (the default) or &lt;a href="qt.html#Orientation-enum"&gt;Qt::Horizontal&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setOrientation"&gt;setOrientation&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::pageStep</name>
+ <doc href="qslider.html#pageStep-prop">
+&lt;p&gt;This property holds the current page step.
+&lt;p&gt;When setting pageStep, the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function will be
+called if the new page step is different from the previous
+setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;QRangeControl::setSteps&lt;/a&gt;(), &lt;a href="qslider.html#lineStep-prop"&gt;lineStep&lt;/a&gt;, and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setPageStep"&gt;setPageStep&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#pageStep"&gt;pageStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::tickInterval</name>
+ <doc href="qslider.html#tickInterval-prop">
+&lt;p&gt;This property holds the interval between tickmarks.
+&lt;p&gt;This is a value interval, not a pixel interval. If it is 0, the
+slider will choose between &lt;a href="qslider.html#lineStep"&gt;lineStep&lt;/a&gt;() and &lt;a href="qslider.html#pageStep"&gt;pageStep&lt;/a&gt;(). The initial
+value of tickInterval is 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#lineStep"&gt;QRangeControl::lineStep&lt;/a&gt;() and &lt;a href="qrangecontrol.html#pageStep"&gt;QRangeControl::pageStep&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setTickInterval"&gt;setTickInterval&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#tickInterval"&gt;tickInterval&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::tickmarks</name>
+ <doc href="qslider.html#tickmarks-prop">
+&lt;p&gt;This property holds the tickmark settings for this slider.
+&lt;p&gt;The valid values are in &lt;a href="qslider.html#TickSetting-enum"&gt;QSlider::TickSetting&lt;/a&gt;. The default is
+&lt;a href="qslider.html#TickSetting-enum"&gt;NoMarks&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qslider.html#tickInterval-prop"&gt;tickInterval&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setTickmarks"&gt;setTickmarks&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#tickmarks"&gt;tickmarks&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::tracking</name>
+ <doc href="qslider.html#tracking-prop">
+&lt;p&gt;This property holds whether slider tracking is enabled.
+&lt;p&gt;If tracking is enabled (the default), the slider emits the
+&lt;a href="qslider.html#valueChanged"&gt;valueChanged&lt;/a&gt;() signal whenever the slider is being dragged. If
+tracking is disabled, the slider emits the valueChanged() signal
+when the user releases the mouse button (unless the value happens
+to be the same as before).
+
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setTracking"&gt;setTracking&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#tracking"&gt;tracking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSlider::value</name>
+ <doc href="qslider.html#value-prop">
+&lt;p&gt;This property holds the current slider value.
+&lt;p&gt;Set this property's value with &lt;a href="qslider.html#setValue"&gt;setValue&lt;/a&gt;() and get this property's value with &lt;a href="qslider.html#value"&gt;value&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qrangecontrol.html#value"&gt;QRangeControl::value&lt;/a&gt;() and &lt;a href="qrangecontrol.html#prevValue"&gt;prevValue&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QSpinBox::buttonSymbols</name>
+ <doc href="qspinbox.html#buttonSymbols-prop">
+&lt;p&gt;This property holds the current button symbol mode.
+&lt;p&gt;The possible values can be either &lt;a href="qspinbox.html#ButtonSymbols-enum"&gt;UpDownArrows&lt;/a&gt; or &lt;a href="qspinbox.html#ButtonSymbols-enum"&gt;PlusMinus&lt;/a&gt;.
+The default is &lt;a href="qspinbox.html#ButtonSymbols-enum"&gt;UpDownArrows&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qspinbox.html#ButtonSymbols-enum"&gt;ButtonSymbols&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setButtonSymbols"&gt;setButtonSymbols&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#buttonSymbols"&gt;buttonSymbols&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::cleanText</name>
+ <doc href="qspinbox.html#cleanText-prop">
+&lt;p&gt;This property holds the spin box's text with no &lt;a href="qspinbox.html#prefix"&gt;prefix&lt;/a&gt;(), &lt;a href="qspinbox.html#suffix"&gt;suffix&lt;/a&gt;() or leading or trailing whitespace.
+&lt;p&gt;Get this property's value with &lt;a href="qspinbox.html#cleanText"&gt;cleanText&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qspinbox.html#text-prop"&gt;text&lt;/a&gt;, &lt;a href="qspinbox.html#prefix-prop"&gt;prefix&lt;/a&gt;, and &lt;a href="qspinbox.html#suffix-prop"&gt;suffix&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QSpinBox::lineStep</name>
+ <doc href="qspinbox.html#lineStep-prop">
+&lt;p&gt;This property holds the line step.
+&lt;p&gt;When the user uses the arrows to change the spin box's value the
+value will be incremented/decremented by the amount of the line
+step.
+&lt;p&gt; The &lt;a href="qspinbox.html#setLineStep"&gt;setLineStep&lt;/a&gt;() function calls the virtual &lt;a href="qrangecontrol.html#stepChange"&gt;stepChange&lt;/a&gt;() function
+if the new line step is different from the previous setting.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setSteps"&gt;QRangeControl::setSteps&lt;/a&gt;() and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setLineStep"&gt;setLineStep&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#lineStep"&gt;lineStep&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::maxValue</name>
+ <doc href="qspinbox.html#maxValue-prop">
+&lt;p&gt;This property holds the maximum value of the spin box.
+&lt;p&gt;When setting this property, &lt;a href="qspinbox.html#minValue-prop"&gt;QSpinBox::minValue&lt;/a&gt; is adjusted, if
+necessary, to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;() and &lt;a href="qspinbox.html#specialValueText-prop"&gt;specialValueText&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::minValue</name>
+ <doc href="qspinbox.html#minValue-prop">
+&lt;p&gt;This property holds the minimum value of the spin box.
+&lt;p&gt;When setting this property, &lt;a href="qspinbox.html#maxValue-prop"&gt;QSpinBox::maxValue&lt;/a&gt; is adjusted, if
+necessary, to ensure that the range remains valid.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;() and &lt;a href="qspinbox.html#specialValueText-prop"&gt;specialValueText&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::prefix</name>
+ <doc href="qspinbox.html#prefix-prop">
+&lt;p&gt;This property holds the spin box's prefix.
+&lt;p&gt;The prefix is prepended to the start of the displayed value.
+Typical use is to display a unit of measurement or a currency
+symbol. For example:
+&lt;p&gt; &lt;pre&gt;
+ sb-&amp;gt;setPrefix( "$" );
+ &lt;/pre&gt;
+
+&lt;p&gt; To turn off the prefix display, set this property to an empty
+string. The default is no prefix. The prefix is not displayed for
+the &lt;a href="qspinbox.html#minValue"&gt;minValue&lt;/a&gt;() if &lt;a href="qspinbox.html#specialValueText"&gt;specialValueText&lt;/a&gt;() is not empty.
+&lt;p&gt; If no prefix is set, &lt;a href="qspinbox.html#prefix"&gt;prefix&lt;/a&gt;() returns &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qspinbox.html#suffix-prop"&gt;suffix&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setPrefix"&gt;setPrefix&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#prefix"&gt;prefix&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::specialValueText</name>
+ <doc href="qspinbox.html#specialValueText-prop">
+&lt;p&gt;This property holds the special-value text.
+&lt;p&gt;If set, the spin box will display this text instead of a numeric
+value whenever the current value is equal to minVal(). Typical use
+is to indicate that this choice has a special (default) meaning.
+&lt;p&gt; For example, if your spin box allows the user to choose the margin
+width in a print dialog and your application is able to
+automatically choose a good margin width, you can set up the spin
+box like this:
+&lt;pre&gt;
+ QSpinBox marginBox( -1, 20, 1, parent, "marginBox" );
+ marginBox-&amp;gt;&lt;a href="qspinbox.html#setSuffix"&gt;setSuffix&lt;/a&gt;( " mm" );
+ marginBox-&amp;gt;&lt;a href="qspinbox.html#setSpecialValueText"&gt;setSpecialValueText&lt;/a&gt;( "Auto" );
+ &lt;/pre&gt;
+
+The user will then be able to choose a margin width from 0-20
+millimeters or select "Auto" to leave it to the application to
+choose. Your code must then interpret the spin box value of -1 as
+the user requesting automatic margin width.
+&lt;p&gt; All values are displayed with the &lt;a href="qspinbox.html#prefix"&gt;prefix&lt;/a&gt;() and &lt;a href="qspinbox.html#suffix"&gt;suffix&lt;/a&gt;() (if set),
+&lt;em&gt;except&lt;/em&gt; for the special value, which only shows the special
+value text.
+&lt;p&gt; To turn off the special-value text display, call this function
+with an empty string. The default is no special-value text, i.e.
+the numeric value is shown as usual.
+&lt;p&gt; If no special-value text is set, &lt;a href="qspinbox.html#specialValueText"&gt;specialValueText&lt;/a&gt;() returns
+&lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setSpecialValueText"&gt;setSpecialValueText&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#specialValueText"&gt;specialValueText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::suffix</name>
+ <doc href="qspinbox.html#suffix-prop">
+&lt;p&gt;This property holds the suffix of the spin box.
+&lt;p&gt;The suffix is appended to the end of the displayed value. Typical
+use is to display a unit of measurement or a currency symbol. For
+example:
+&lt;p&gt; &lt;pre&gt;
+ sb-&amp;gt;setSuffix( " km" );
+ &lt;/pre&gt;
+
+&lt;p&gt; To turn off the suffix display, set this property to an empty
+string. The default is no suffix. The suffix is not displayed for
+the &lt;a href="qspinbox.html#minValue"&gt;minValue&lt;/a&gt;() if &lt;a href="qspinbox.html#specialValueText"&gt;specialValueText&lt;/a&gt;() is not empty.
+&lt;p&gt; If no suffix is set, &lt;a href="qspinbox.html#suffix"&gt;suffix&lt;/a&gt;() returns a &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qspinbox.html#prefix-prop"&gt;prefix&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setSuffix"&gt;setSuffix&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#suffix"&gt;suffix&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::text</name>
+ <doc href="qspinbox.html#text-prop">
+&lt;p&gt;This property holds the spin box's text, including any &lt;a href="qspinbox.html#prefix"&gt;prefix&lt;/a&gt;() and &lt;a href="qspinbox.html#suffix"&gt;suffix&lt;/a&gt;().
+&lt;p&gt;There is no default text.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qspinbox.html#value-prop"&gt;value&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qspinbox.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSpinBox::value</name>
+ <doc href="qspinbox.html#value-prop">
+&lt;p&gt;This property holds the value of the spin box.
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setValue"&gt;setValue&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#value"&gt;value&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qrangecontrol.html#setValue"&gt;QRangeControl::setValue&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QSpinBox::wrapping</name>
+ <doc href="qspinbox.html#wrapping-prop">
+&lt;p&gt;This property holds whether it is possible to step the value from the highest value to the lowest value and vice versa.
+&lt;p&gt;By default, wrapping is turned off.
+&lt;p&gt; If you have a range of 0..100 and wrapping is off when the user
+reaches 100 and presses the Up Arrow nothing will happen; but if
+wrapping is on the value will change from 100 to 0, then to 1,
+etc. When wrapping is on, navigating past the highest value takes
+you to the lowest and vice versa.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qspinbox.html#minValue-prop"&gt;minValue&lt;/a&gt;, &lt;a href="qspinbox.html#maxValue-prop"&gt;maxValue&lt;/a&gt;, and &lt;a href="qrangecontrol.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qspinbox.html#setWrapping"&gt;setWrapping&lt;/a&gt;() and get this property's value with &lt;a href="qspinbox.html#wrapping"&gt;wrapping&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSplitter::childrenCollapsible</name>
+ <doc href="qsplitter.html#childrenCollapsible-prop">
+&lt;p&gt;This property holds whether child widgets can be resized down to size 0 by the user.
+&lt;p&gt;By default, children are collapsible. It is possible to enable
+and disable the collapsing of individual children; see
+&lt;a href="qsplitter.html#setCollapsible"&gt;setCollapsible&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qsplitter.html#setChildrenCollapsible"&gt;setChildrenCollapsible&lt;/a&gt;() and get this property's value with &lt;a href="qsplitter.html#childrenCollapsible"&gt;childrenCollapsible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSplitter::handleWidth</name>
+ <doc href="qsplitter.html#handleWidth-prop">
+&lt;p&gt;This property holds the width of the splitter handle.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qsplitter.html#setHandleWidth"&gt;setHandleWidth&lt;/a&gt;() and get this property's value with &lt;a href="qsplitter.html#handleWidth"&gt;handleWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSplitter::opaqueResize</name>
+ <doc href="qsplitter.html#opaqueResize-prop">
+&lt;p&gt;This property holds whether resizing is opaque.
+&lt;p&gt;Opaque resizing is off by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsplitter.html#setOpaqueResize"&gt;setOpaqueResize&lt;/a&gt;() and get this property's value with &lt;a href="qsplitter.html#opaqueResize"&gt;opaqueResize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSplitter::orientation</name>
+ <doc href="qsplitter.html#orientation-prop">
+&lt;p&gt;This property holds the orientation of the splitter.
+&lt;p&gt;By default the orientation is horizontal (the widgets are side by
+side). The possible orientations are &lt;a href="qt.html#Orientation-enum"&gt;Horizontal&lt;/a&gt; and
+&lt;a href="qt.html#Orientation-enum"&gt;Vertical&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsplitter.html#setOrientation"&gt;setOrientation&lt;/a&gt;() and get this property's value with &lt;a href="qsplitter.html#orientation"&gt;orientation&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::connectOptions</name>
+ <doc href="qsqldatabase.html#connectOptions-prop">
+&lt;p&gt;This property holds the database connect options.
+&lt;p&gt;The format of the options string is a semi-colon separated list of
+option names or option = value pairs. The options depend on the
+database client used:
+&lt;p&gt; &lt;center&gt;&lt;table cellpadding="4" cellspacing="2" border="0"&gt;
+&lt;tr bgcolor="#a2c511"&gt; &lt;th valign="top"&gt;ODBC &lt;th valign="top"&gt;MySQL &lt;th valign="top"&gt;PostgreSQL
+&lt;tr bgcolor="#f0f0f0"&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;ul&gt;
+&lt;li&gt; SQL_ATTR_ACCESS_MODE
+&lt;li&gt; SQL_ATTR_LOGIN_TIMEOUT
+&lt;li&gt; SQL_ATTR_CONNECTION_TIMEOUT
+&lt;li&gt; SQL_ATTR_CURRENT_CATALOG
+&lt;li&gt; SQL_ATTR_METADATA_ID
+&lt;li&gt; SQL_ATTR_PACKET_SIZE
+&lt;li&gt; SQL_ATTR_TRACEFILE
+&lt;li&gt; SQL_ATTR_TRACE
+&lt;/ul&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;ul&gt;
+&lt;li&gt; CLIENT_COMPRESS
+&lt;li&gt; CLIENT_FOUND_ROWS
+&lt;li&gt; CLIENT_IGNORE_SPACE
+&lt;li&gt; CLIENT_SSL
+&lt;li&gt; CLIENT_ODBC
+&lt;li&gt; CLIENT_NO_SCHEMA
+&lt;li&gt; CLIENT_INTERACTIVE
+&lt;/ul&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;ul&gt;
+&lt;li&gt; connect_timeout
+&lt;li&gt; options
+&lt;li&gt; tty
+&lt;li&gt; requiressl
+&lt;li&gt; service
+&lt;/ul&gt;
+&lt;tr bgcolor="#a2c511"&gt; &lt;th valign="top"&gt;DB2 &lt;th valign="top"&gt;OCI &lt;th valign="top"&gt;TDS
+&lt;tr bgcolor="#d0d0d0"&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;ul&gt;
+&lt;li&gt; SQL_ATTR_ACCESS_MODE
+&lt;li&gt; SQL_ATTR_LOGIN_TIMEOUT
+&lt;/ul&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;em&gt;none&lt;/em&gt;
+&lt;p&gt; &lt;td valign="top"&gt;
+&lt;em&gt;none&lt;/em&gt;
+&lt;p&gt; &lt;/table&gt;&lt;/center&gt;
+&lt;p&gt; Example of usage:
+&lt;pre&gt;
+ ...
+ // MySQL connection
+ db-&amp;gt;setConnectOptions( "CLIENT_SSL;CLIENT_IGNORE_SPACE" ); // use an SSL connection to the server
+ if ( !db-&amp;gt;open() ) {
+ db-&amp;gt;setConnectOptions(); // clears the connect option string
+ ...
+ }
+ ...
+ // PostgreSQL connection
+ db-&amp;gt;setConnectOptions( "requiressl=1" ); // enable PostgreSQL SSL connections
+ if ( !db-&amp;gt;open() ) {
+ db-&amp;gt;setConnectOptions(); // clear options
+ ...
+ }
+ ...
+ // ODBC connection
+ db-&amp;gt;setConnectOptions( "SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON" ); // set ODBC options
+ if ( !db-&amp;gt;open() ) {
+ db-&amp;gt;setConnectOptions(); // don't try to set this option
+ ...
+ }
+ &lt;/pre&gt;
+
+&lt;p&gt; Please refer to the client library documentation for more
+information about the different options. The options will be set
+prior to opening the database connection. Setting new options
+without re-opening the connection does nothing.
+&lt;p&gt; &lt;p&gt;See also
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setConnectOptions"&gt;setConnectOptions&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#connectOptions"&gt;connectOptions&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::databaseName</name>
+ <doc href="qsqldatabase.html#databaseName-prop">
+&lt;p&gt;This property holds the name of the database.
+&lt;p&gt;Note that the database name is the TNS Service Name for the &lt;a href="sql-driver.html#QOCI8"&gt;QOCI8&lt;/a&gt;
+(Oracle) driver.
+&lt;p&gt; For the &lt;a href="sql-driver.html#QODBC3"&gt;QODBC3&lt;/a&gt; driver it can either be a DSN, a DSN filename (the
+file must have a &lt;tt&gt;.dsn&lt;/tt&gt; extension), or a connection string. MS
+Access users can for example use the following connection string
+to open a &lt;tt&gt;.mdb&lt;/tt&gt; file directly, instead of having to create a DSN
+entry in the ODBC manager:
+&lt;p&gt; &lt;pre&gt;
+ ...
+ db = QSqlDatabase::&lt;a href="qsqldatabase.html#addDatabase"&gt;addDatabase&lt;/a&gt;( "QODBC3" );
+ db-&amp;gt;setDatabaseName( "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb" );
+ if ( db-&amp;gt;open() ) {
+ // success!
+ }
+ ...
+ &lt;/pre&gt;
+
+("FIL" is the required spelling in Microsoft's API.)
+&lt;p&gt; There is no default value.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setDatabaseName"&gt;setDatabaseName&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#databaseName"&gt;databaseName&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::hostName</name>
+ <doc href="qsqldatabase.html#hostName-prop">
+&lt;p&gt;This property holds the host name where the database resides.
+&lt;p&gt;There is no default value.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setHostName"&gt;setHostName&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#hostName"&gt;hostName&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::password</name>
+ <doc href="qsqldatabase.html#password-prop">
+&lt;p&gt;This property holds the password used to connect to the database.
+&lt;p&gt;There is no default value.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; This function stores the password in plain text within
+Qt. Use the &lt;a href="qsqldatabase.html#open"&gt;open&lt;/a&gt;() call that takes a password as parameter to
+avoid this behaviour.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qsqldatabase.html#open"&gt;open&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setPassword"&gt;setPassword&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#password"&gt;password&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::port</name>
+ <doc href="qsqldatabase.html#port-prop">
+&lt;p&gt;This property holds the port used to connect to the database.
+&lt;p&gt;There is no default value.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setPort"&gt;setPort&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#port"&gt;port&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QSqlDatabase::userName</name>
+ <doc href="qsqldatabase.html#userName-prop">
+&lt;p&gt;This property holds the user name connected to the database.
+&lt;p&gt;There is no default value.
+
+&lt;p&gt;Set this property's value with &lt;a href="qsqldatabase.html#setUserName"&gt;setUserName&lt;/a&gt;() and get this property's value with &lt;a href="qsqldatabase.html#userName"&gt;userName&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QStatusBar::sizeGripEnabled</name>
+ <doc href="qstatusbar.html#sizeGripEnabled-prop">
+&lt;p&gt;This property holds whether the &lt;a href="qsizegrip.html"&gt;QSizeGrip&lt;/a&gt; in the bottom right of the status bar is enabled.
+&lt;p&gt;Enables or disables the QSizeGrip in the bottom right of the
+status bar. By default, the size grip is enabled.
+
+&lt;p&gt;Set this property's value with &lt;a href="qstatusbar.html#setSizeGripEnabled"&gt;setSizeGripEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qstatusbar.html#isSizeGripEnabled"&gt;isSizeGripEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabBar::count</name>
+ <doc href="qtabbar.html#count-prop">
+&lt;p&gt;This property holds the number of tabs in the tab bar.
+&lt;p&gt;Get this property's value with &lt;a href="qtabbar.html#count"&gt;count&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtabbar.html#tab"&gt;tab&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QTabBar::currentTab</name>
+ <doc href="qtabbar.html#currentTab-prop">
+&lt;p&gt;This property holds the id of the tab bar's visible tab.
+&lt;p&gt;If no tab page is currently visible, the property's value is -1.
+Even if the property's value is not -1, you cannot assume that the
+user can see the relevant page, or that the tab is enabled. When
+you need to display something the value of this property
+represents the best page to display.
+&lt;p&gt; When this property is set to &lt;em&gt;id&lt;/em&gt;, it will raise the tab with the
+id &lt;em&gt;id&lt;/em&gt; and emit the &lt;a href="qtabbar.html#selected"&gt;selected&lt;/a&gt;() signal.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtabbar.html#selected"&gt;selected&lt;/a&gt;() and &lt;a href="qtabbar.html#isTabEnabled"&gt;isTabEnabled&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtabbar.html#setCurrentTab"&gt;setCurrentTab&lt;/a&gt;() and get this property's value with &lt;a href="qtabbar.html#currentTab"&gt;currentTab&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabBar::keyboardFocusTab</name>
+ <doc href="qtabbar.html#keyboardFocusTab-prop">
+&lt;p&gt;This property holds the id of the tab that has the &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt;.
+&lt;p&gt;This property contains the id of the tab that has the keyboard
+focus or -1 if the tab bar does not have the keyboard focus.
+
+&lt;p&gt;Get this property's value with &lt;a href="qtabbar.html#keyboardFocusTab"&gt;keyboardFocusTab&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabBar::shape</name>
+ <doc href="qtabbar.html#shape-prop">
+&lt;p&gt;This property holds the shape of the tabs in the tab bar.
+&lt;p&gt;The value of this property is one of the following: &lt;a href="qtabbar.html#Shape-enum"&gt;RoundedAbove&lt;/a&gt; (default), &lt;a href="qtabbar.html#Shape-enum"&gt;RoundedBelow&lt;/a&gt;, &lt;a href="qtabbar.html#Shape-enum"&gt;TriangularAbove&lt;/a&gt; or &lt;a href="qtabbar.html#Shape-enum"&gt;TriangularBelow&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtabbar.html#Shape-enum"&gt;Shape&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtabbar.html#setShape"&gt;setShape&lt;/a&gt;() and get this property's value with &lt;a href="qtabbar.html#shape"&gt;shape&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabWidget::count</name>
+ <doc href="qtabwidget.html#count-prop">
+&lt;p&gt;This property holds the number of tabs in the tab bar.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qtabwidget.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabWidget::currentPage</name>
+ <doc href="qtabwidget.html#currentPage-prop">
+&lt;p&gt;This property holds the index position of the current tab page.
+&lt;p&gt;Set this property's value with &lt;a href="qtabwidget.html#setCurrentPage"&gt;setCurrentPage&lt;/a&gt;() and get this property's value with &lt;a href="qtabwidget.html#currentPageIndex"&gt;currentPageIndex&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtabbar.html#currentTab-prop"&gt;QTabBar::currentTab&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QTabWidget::margin</name>
+ <doc href="qtabwidget.html#margin-prop">
+&lt;p&gt;This property holds the margin in this tab widget.
+&lt;p&gt;The margin is the distance between the innermost pixel of the
+frame and the outermost pixel of the pages.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtabwidget.html#setMargin"&gt;setMargin&lt;/a&gt;() and get this property's value with &lt;a href="qtabwidget.html#margin"&gt;margin&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabWidget::tabPosition</name>
+ <doc href="qtabwidget.html#tabPosition-prop">
+&lt;p&gt;This property holds the position of the tabs in this tab widget.
+&lt;p&gt;Possible values for this property are &lt;a href="qtabwidget.html#TabPosition-enum"&gt;QTabWidget::Top&lt;/a&gt; and &lt;a href="qtabwidget.html#TabPosition-enum"&gt;QTabWidget::Bottom&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtabwidget.html#TabPosition-enum"&gt;TabPosition&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtabwidget.html#setTabPosition"&gt;setTabPosition&lt;/a&gt;() and get this property's value with &lt;a href="qtabwidget.html#tabPosition"&gt;tabPosition&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTabWidget::tabShape</name>
+ <doc href="qtabwidget.html#tabShape-prop">
+&lt;p&gt;This property holds the shape of the tabs in this tab widget.
+&lt;p&gt;Possible values for this property are &lt;a href="qtabwidget.html#TabShape-enum"&gt;QTabWidget::Rounded&lt;/a&gt;
+(default) or &lt;a href="qtabwidget.html#TabShape-enum"&gt;QTabWidget::Triangular&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtabwidget.html#TabShape-enum"&gt;TabShape&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtabwidget.html#setTabShape"&gt;setTabShape&lt;/a&gt;() and get this property's value with &lt;a href="qtabwidget.html#tabShape"&gt;tabShape&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::columnMovingEnabled</name>
+ <doc href="qtable.html#columnMovingEnabled-prop">
+&lt;p&gt;This property holds whether columns can be moved by the user.
+&lt;p&gt;The default is FALSE. Columns are moved by dragging whilst holding
+down the Ctrl key.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; If QTable is used to move header sections as a result of user
+interaction, the mapping between header indexes and section exposed by
+&lt;a href="qheader.html"&gt;QHeader&lt;/a&gt; will not reflect the order of the headers in the table; i.e.,
+QTable does not call &lt;a href="qheader.html#moveSection"&gt;QHeader::moveSection&lt;/a&gt;() to move sections but handles
+move operations internally.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtable.html#rowMovingEnabled-prop"&gt;rowMovingEnabled&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setColumnMovingEnabled"&gt;setColumnMovingEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#columnMovingEnabled"&gt;columnMovingEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::focusStyle</name>
+ <doc href="qtable.html#focusStyle-prop">
+&lt;p&gt;This property holds how the current (focus) cell is drawn.
+&lt;p&gt;The default style is &lt;a href="qtable.html#FocusStyle-enum"&gt;SpreadSheet&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtable.html#FocusStyle-enum"&gt;QTable::FocusStyle&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setFocusStyle"&gt;setFocusStyle&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#focusStyle"&gt;focusStyle&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::numCols</name>
+ <doc href="qtable.html#numCols-prop">
+&lt;p&gt;This property holds the number of columns in the table.
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setNumCols"&gt;setNumCols&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#numCols"&gt;numCols&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtable.html#numRows-prop"&gt;numRows&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QTable::numRows</name>
+ <doc href="qtable.html#numRows-prop">
+&lt;p&gt;This property holds the number of rows in the table.
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setNumRows"&gt;setNumRows&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#numRows"&gt;numRows&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtable.html#numCols-prop"&gt;numCols&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QTable::numSelections</name>
+ <doc href="qtable.html#numSelections-prop">
+&lt;p&gt;This property holds the number of selections.
+&lt;p&gt;Get this property's value with &lt;a href="qtable.html#numSelections"&gt;numSelections&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtable.html#currentSelection"&gt;currentSelection&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QTable::readOnly</name>
+ <doc href="qtable.html#readOnly-prop">
+&lt;p&gt;This property holds whether the table is read-only.
+&lt;p&gt;Whether a cell in the table is editable or read-only depends on
+the cell's &lt;a href="qtableitem.html#EditType-enum"&gt;EditType&lt;/a&gt;, and this setting:
+see &lt;a href="qtableitem.html#wheneditable"&gt;QTableItem::EditType&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#enabled-prop"&gt;QWidget::enabled&lt;/a&gt;, &lt;a href="qtable.html#setColumnReadOnly"&gt;setColumnReadOnly&lt;/a&gt;(), and &lt;a href="qtable.html#setRowReadOnly"&gt;setRowReadOnly&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setReadOnly"&gt;setReadOnly&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#isReadOnly"&gt;isReadOnly&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::rowMovingEnabled</name>
+ <doc href="qtable.html#rowMovingEnabled-prop">
+&lt;p&gt;This property holds whether rows can be moved by the user.
+&lt;p&gt;The default is FALSE. Rows are moved by dragging whilst holding
+down the Ctrl key.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; If QTable is used to move header sections as a result of user
+interaction, the mapping between header indexes and section exposed by
+&lt;a href="qheader.html"&gt;QHeader&lt;/a&gt; will not reflect the order of the headers in the table; i.e.,
+QTable does not call &lt;a href="qheader.html#moveSection"&gt;QHeader::moveSection&lt;/a&gt;() to move sections but handles
+move operations internally.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtable.html#columnMovingEnabled-prop"&gt;columnMovingEnabled&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setRowMovingEnabled"&gt;setRowMovingEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#rowMovingEnabled"&gt;rowMovingEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::selectionMode</name>
+ <doc href="qtable.html#selectionMode-prop">
+&lt;p&gt;This property holds the current selection mode.
+&lt;p&gt;The default mode is &lt;a href="qtable.html#SelectionMode-enum"&gt;Multi&lt;/a&gt; which allows the user to select
+multiple ranges of cells.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtable.html#SelectionMode-enum"&gt;SelectionMode&lt;/a&gt; and &lt;a href="qtable.html#selectionMode-prop"&gt;selectionMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setSelectionMode"&gt;setSelectionMode&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#selectionMode"&gt;selectionMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::showGrid</name>
+ <doc href="qtable.html#showGrid-prop">
+&lt;p&gt;This property holds whether the table's grid is displayed.
+&lt;p&gt;The grid is shown by default.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setShowGrid"&gt;setShowGrid&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#showGrid"&gt;showGrid&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTable::sorting</name>
+ <doc href="qtable.html#sorting-prop">
+&lt;p&gt;This property holds whether a click on the header of a column sorts that column.
+&lt;p&gt;Set this property's value with &lt;a href="qtable.html#setSorting"&gt;setSorting&lt;/a&gt;() and get this property's value with &lt;a href="qtable.html#sorting"&gt;sorting&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtable.html#sortColumn"&gt;sortColumn&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QTextBrowser::source</name>
+ <doc href="qtextbrowser.html#source-prop">
+&lt;p&gt;This property holds the name of the displayed document.
+&lt;p&gt;This is a &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt; if no document is displayed or if the
+source is unknown.
+&lt;p&gt; Setting this property uses the &lt;a href="qtextedit.html#mimeSourceFactory"&gt;mimeSourceFactory&lt;/a&gt;() to lookup the
+named document. It also checks for optional anchors and scrolls
+the document accordingly.
+&lt;p&gt; If the first tag in the document is &lt;tt&gt;&amp;lt;qt type=detail&amp;gt;&lt;/tt&gt;, the
+document is displayed as a popup rather than as new document in
+the browser window itself. Otherwise, the document is displayed
+normally in the text browser with the text set to the contents of
+the named document with &lt;a href="qtextedit.html#setText"&gt;setText&lt;/a&gt;().
+&lt;p&gt; If you are using the filesystem access capabilities of the mime
+source factory, you must ensure that the factory knows about the
+encoding of specified files; otherwise no data will be available.
+The default factory handles a couple of common file extensions
+such as &lt;tt&gt;*.html&lt;/tt&gt; and &lt;tt&gt;*.txt&lt;/tt&gt; with reasonable defaults. See
+&lt;a href="qmimesourcefactory.html#data"&gt;QMimeSourceFactory::data&lt;/a&gt;() for details.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextbrowser.html#setSource"&gt;setSource&lt;/a&gt;() and get this property's value with &lt;a href="qtextbrowser.html#source"&gt;source&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::autoFormatting</name>
+ <doc href="qtextedit.html#autoFormatting-prop">
+&lt;p&gt;This property holds the enabled set of auto formatting features.
+&lt;p&gt;The value can be any combination of the values in the &lt;a href="qtextedit.html#AutoFormatting-enum"&gt;AutoFormatting&lt;/a&gt; enum. The default is &lt;a href="qtextedit.html#AutoFormatting-enum"&gt;AutoAll&lt;/a&gt;. Choose &lt;a href="qtextedit.html#AutoFormatting-enum"&gt;AutoNone&lt;/a&gt;
+to disable all automatic formatting.
+&lt;p&gt; Currently, the only automatic formatting feature provided is &lt;a href="qtextedit.html#AutoFormatting-enum"&gt;AutoBulletList&lt;/a&gt;; future versions of Qt may offer more.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setAutoFormatting"&gt;setAutoFormatting&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#autoFormatting"&gt;autoFormatting&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::documentTitle</name>
+ <doc href="qtextedit.html#documentTitle-prop">
+&lt;p&gt;This property holds the title of the document parsed from the text.
+&lt;p&gt;For &lt;a href="qt.html#TextFormat-enum"&gt;PlainText&lt;/a&gt; the title will be an empty string. For &lt;a href="qt.html#TextFormat-enum"&gt;RichText&lt;/a&gt; the title will be the text between the &lt;tt&gt;&amp;lt;title&amp;gt;&lt;/tt&gt; tags,
+if present, otherwise an empty string.
+
+&lt;p&gt;Get this property's value with &lt;a href="qtextedit.html#documentTitle"&gt;documentTitle&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::hasSelectedText</name>
+ <doc href="qtextedit.html#hasSelectedText-prop">
+&lt;p&gt;This property holds whether some text is selected in selection 0.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qtextedit.html#hasSelectedText"&gt;hasSelectedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::length</name>
+ <doc href="qtextedit.html#length-prop">
+&lt;p&gt;This property holds the number of characters in the text.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qtextedit.html#length"&gt;length&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::linkUnderline</name>
+ <doc href="qtextedit.html#linkUnderline-prop">
+&lt;p&gt;This property holds whether hypertext links will be underlined.
+&lt;p&gt;If TRUE (the default) hypertext links will be displayed
+underlined. If FALSE links will not be displayed underlined.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setLinkUnderline"&gt;setLinkUnderline&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#linkUnderline"&gt;linkUnderline&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::modified</name>
+ <doc href="qtextedit.html#modified-prop">
+&lt;p&gt;This property holds whether the document has been modified by the user.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setModified"&gt;setModified&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#isModified"&gt;isModified&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::overwriteMode</name>
+ <doc href="qtextedit.html#overwriteMode-prop">
+&lt;p&gt;This property holds the text edit's overwrite mode.
+&lt;p&gt;If FALSE (the default) characters entered by the user are inserted
+with any characters to the right being moved out of the way. If
+TRUE, the editor is in overwrite mode, i.e. characters entered by
+the user overwrite any characters to the right of the cursor
+position.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setOverwriteMode"&gt;setOverwriteMode&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#isOverwriteMode"&gt;isOverwriteMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::paper</name>
+ <doc href="qtextedit.html#paper-prop">
+&lt;p&gt;This property holds the background (paper) brush.
+&lt;p&gt;The brush that is currently used to draw the background of the
+text edit. The initial setting is an empty brush.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setPaper"&gt;setPaper&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#paper"&gt;paper&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::readOnly</name>
+ <doc href="qtextedit.html#readOnly-prop">
+&lt;p&gt;This property holds whether the text edit is read-only.
+&lt;p&gt;In a read-only text edit the user can only navigate through the
+text and select text; modifying the text is not possible.
+&lt;p&gt; This property's default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setReadOnly"&gt;setReadOnly&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#isReadOnly"&gt;isReadOnly&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::selectedText</name>
+ <doc href="qtextedit.html#selectedText-prop">
+&lt;p&gt;This property holds the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0).
+&lt;p&gt;The text is always returned as &lt;a href="qt.html#TextFormat-enum"&gt;PlainText&lt;/a&gt; if the &lt;a href="qtextedit.html#textFormat"&gt;textFormat&lt;/a&gt;() is
+&lt;a href="qt.html#TextFormat-enum"&gt;PlainText&lt;/a&gt; or &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;, otherwise it is returned as HTML.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#hasSelectedText-prop"&gt;hasSelectedText&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qtextedit.html#selectedText"&gt;selectedText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::tabChangesFocus</name>
+ <doc href="qtextedit.html#tabChangesFocus-prop"> &lt;p&gt;This property holds whether TAB changes focus or is accepted as input.
+&lt;p&gt;In some occasions text edits should not allow the user to input
+tabulators or change indentation using the TAB key, as this breaks
+the focus chain. The default is FALSE.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setTabChangesFocus"&gt;setTabChangesFocus&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#tabChangesFocus"&gt;tabChangesFocus&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::tabStopWidth</name>
+ <doc href="qtextedit.html#tabStopWidth-prop">
+&lt;p&gt;This property holds the tab stop width in pixels.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setTabStopWidth"&gt;setTabStopWidth&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#tabStopWidth"&gt;tabStopWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::text</name>
+ <doc href="qtextedit.html#text-prop">
+&lt;p&gt;This property holds the text edit's text.
+&lt;p&gt;There is no default text.
+&lt;p&gt; On setting, any previous text is deleted.
+&lt;p&gt; The text may be interpreted either as plain text or as rich text,
+depending on the &lt;a href="qtextedit.html#textFormat"&gt;textFormat&lt;/a&gt;(). The default setting is &lt;a href="qt.html#TextFormat-enum"&gt;AutoText&lt;/a&gt;,
+i.e. the text edit auto-detects the format of the text.
+&lt;p&gt; For richtext, calling &lt;a href="qtextedit.html#text"&gt;text&lt;/a&gt;() on an editable QTextEdit will cause
+the text to be regenerated from the textedit. This may mean that
+the &lt;a href="qstring.html"&gt;QString&lt;/a&gt; returned may not be exactly the same as the one that
+was set.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#textFormat-prop"&gt;textFormat&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setText"&gt;setText&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#text"&gt;text&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::textFormat</name>
+ <doc href="qtextedit.html#textFormat-prop">
+&lt;p&gt;This property holds the text format: rich text, plain text, log text or auto text.
+&lt;p&gt;The text format is one of the following:
+&lt;ul&gt;
+&lt;li&gt; PlainText - all characters, except newlines, are displayed
+verbatim, including spaces. Whenever a newline appears in the text
+the text edit inserts a hard line break and begins a new
+paragraph.
+&lt;li&gt; RichText - rich text rendering. The available styles are
+defined in the default stylesheet &lt;a href="qstylesheet.html#defaultSheet"&gt;QStyleSheet::defaultSheet&lt;/a&gt;().
+&lt;li&gt; LogText - optimized mode for very large texts. Supports a very
+limited set of formatting tags (color, bold, underline and italic
+settings).
+&lt;li&gt; AutoText - this is the default. The text edit autodetects which
+rendering style is best, &lt;a href="qt.html#TextFormat-enum"&gt;PlainText&lt;/a&gt; or &lt;a href="qt.html#TextFormat-enum"&gt;RichText&lt;/a&gt;. This is done
+by using the &lt;a href="qstylesheet.html#mightBeRichText"&gt;QStyleSheet::mightBeRichText&lt;/a&gt;() function.
+&lt;/ul&gt;
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setTextFormat"&gt;setTextFormat&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#textFormat"&gt;textFormat&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::undoDepth</name>
+ <doc href="qtextedit.html#undoDepth-prop">
+&lt;p&gt;This property holds the depth of the undo history.
+&lt;p&gt;The maximum number of steps in the undo/redo history. The default
+is 100.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#undo"&gt;undo&lt;/a&gt;() and &lt;a href="qtextedit.html#redo"&gt;redo&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setUndoDepth"&gt;setUndoDepth&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#undoDepth"&gt;undoDepth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::undoRedoEnabled</name>
+ <doc href="qtextedit.html#undoRedoEnabled-prop">
+&lt;p&gt;This property holds whether undo/redo is enabled.
+&lt;p&gt;When changing this property, the undo/redo history is cleared.
+&lt;p&gt; The default is TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setUndoRedoEnabled"&gt;setUndoRedoEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#isUndoRedoEnabled"&gt;isUndoRedoEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::wordWrap</name>
+ <doc href="qtextedit.html#wordWrap-prop">
+&lt;p&gt;This property holds the word wrap mode.
+&lt;p&gt;The default mode is &lt;a href="qtextedit.html#WordWrap-enum"&gt;WidgetWidth&lt;/a&gt; which causes words to be
+wrapped at the right edge of the text edit. Wrapping occurs at
+whitespace, keeping whole words intact. If you want wrapping to
+occur within words use &lt;a href="qtextedit.html#setWrapPolicy"&gt;setWrapPolicy&lt;/a&gt;(). If you set a wrap mode of
+&lt;a href="qtextedit.html#WordWrap-enum"&gt;FixedPixelWidth&lt;/a&gt; or &lt;a href="qtextedit.html#WordWrap-enum"&gt;FixedColumnWidth&lt;/a&gt; you should also call
+&lt;a href="qtextedit.html#setWrapColumnOrWidth"&gt;setWrapColumnOrWidth&lt;/a&gt;() with the width you want.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#WordWrap-enum"&gt;WordWrap&lt;/a&gt;, &lt;a href="qtextedit.html#wrapColumnOrWidth-prop"&gt;wrapColumnOrWidth&lt;/a&gt;, and &lt;a href="qtextedit.html#wrapPolicy-prop"&gt;wrapPolicy&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setWordWrap"&gt;setWordWrap&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#wordWrap"&gt;wordWrap&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::wrapColumnOrWidth</name>
+ <doc href="qtextedit.html#wrapColumnOrWidth-prop">
+&lt;p&gt;This property holds the position (in pixels or columns depending on the wrap mode) where text will be wrapped.
+&lt;p&gt;If the wrap mode is &lt;a href="qtextedit.html#WordWrap-enum"&gt;FixedPixelWidth&lt;/a&gt;, the value is the number of
+pixels from the left edge of the text edit at which text should be
+wrapped. If the wrap mode is &lt;a href="qtextedit.html#WordWrap-enum"&gt;FixedColumnWidth&lt;/a&gt;, the value is the
+column number (in character columns) from the left edge of the
+text edit at which text should be wrapped.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#wordWrap-prop"&gt;wordWrap&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setWrapColumnOrWidth"&gt;setWrapColumnOrWidth&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#wrapColumnOrWidth"&gt;wrapColumnOrWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTextEdit::wrapPolicy</name>
+ <doc href="qtextedit.html#wrapPolicy-prop">
+&lt;p&gt;This property holds the word wrap policy, at whitespace or anywhere.
+&lt;p&gt;Defines where text can be wrapped when word wrap mode is not &lt;a href="qtextedit.html#WordWrap-enum"&gt;NoWrap&lt;/a&gt;. The choices are &lt;a href="qtextedit.html#WrapPolicy-enum"&gt;AtWordBoundary&lt;/a&gt; (the default), &lt;a href="qtextedit.html#WrapPolicy-enum"&gt;Anywhere&lt;/a&gt; and &lt;a href="qtextedit.html#WrapPolicy-enum"&gt;AtWordOrDocumentBoundary&lt;/a&gt;
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtextedit.html#wordWrap-prop"&gt;wordWrap&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtextedit.html#setWrapPolicy"&gt;setWrapPolicy&lt;/a&gt;() and get this property's value with &lt;a href="qtextedit.html#wrapPolicy"&gt;wrapPolicy&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTimeEdit::autoAdvance</name>
+ <doc href="qtimeedit.html#autoAdvance-prop">
+&lt;p&gt;This property holds whether the editor automatically advances to the next section.
+&lt;p&gt;If autoAdvance is TRUE, the editor will automatically advance
+focus to the next time section if a user has completed a section.
+The default is FALSE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtimeedit.html#setAutoAdvance"&gt;setAutoAdvance&lt;/a&gt;() and get this property's value with &lt;a href="qtimeedit.html#autoAdvance"&gt;autoAdvance&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTimeEdit::display</name>
+ <doc href="qtimeedit.html#display-prop">
+&lt;p&gt;This property holds the sections that are displayed in the time edit.
+&lt;p&gt;The value can be any combination of the values in the Display enum.
+By default, the widget displays hours, minutes and seconds.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtimeedit.html#setDisplay"&gt;setDisplay&lt;/a&gt;() and get this property's value with &lt;a href="qtimeedit.html#display"&gt;display&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTimeEdit::maxValue</name>
+ <doc href="qtimeedit.html#maxValue-prop">
+&lt;p&gt;This property holds the maximum time value.
+&lt;p&gt;Setting the maximum time value is equivalent to calling
+&lt;a href="qtimeedit.html#setRange"&gt;QTimeEdit::setRange&lt;/a&gt;( &lt;a href="qtimeedit.html#minValue"&gt;minValue&lt;/a&gt;(), &lt;em&gt;t&lt;/em&gt; ), where &lt;em&gt;t&lt;/em&gt; is the maximum
+time. The default maximum time is 23:59:59.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtimeedit.html#minValue-prop"&gt;minValue&lt;/a&gt; and &lt;a href="qtimeedit.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtimeedit.html#setMaxValue"&gt;setMaxValue&lt;/a&gt;() and get this property's value with &lt;a href="qtimeedit.html#maxValue"&gt;maxValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTimeEdit::minValue</name>
+ <doc href="qtimeedit.html#minValue-prop">
+&lt;p&gt;This property holds the minimum time value.
+&lt;p&gt;Setting the minimum time value is equivalent to calling
+&lt;a href="qtimeedit.html#setRange"&gt;QTimeEdit::setRange&lt;/a&gt;( &lt;em&gt;t&lt;/em&gt;, &lt;a href="qtimeedit.html#maxValue"&gt;maxValue&lt;/a&gt;() ), where &lt;em&gt;t&lt;/em&gt; is the minimum
+time. The default minimum time is 00:00:00.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtimeedit.html#maxValue-prop"&gt;maxValue&lt;/a&gt; and &lt;a href="qtimeedit.html#setRange"&gt;setRange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtimeedit.html#setMinValue"&gt;setMinValue&lt;/a&gt;() and get this property's value with &lt;a href="qtimeedit.html#minValue"&gt;minValue&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QTimeEdit::time</name>
+ <doc href="qtimeedit.html#time-prop">
+&lt;p&gt;This property holds the editor's time value.
+&lt;p&gt;When changing the time property, if the time is less than
+&lt;a href="qtimeedit.html#minValue"&gt;minValue&lt;/a&gt;(), or is greater than &lt;a href="qtimeedit.html#maxValue"&gt;maxValue&lt;/a&gt;(), nothing happens.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtimeedit.html#setTime"&gt;setTime&lt;/a&gt;() and get this property's value with &lt;a href="qtimeedit.html#time"&gt;time&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolBar::label</name>
+ <doc href="qtoolbar.html#label-prop">
+&lt;p&gt;This property holds the toolbar's label.
+&lt;p&gt;If the toolbar is floated the label becomes the toolbar window's
+caption. There is no default label text.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbar.html#setLabel"&gt;setLabel&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbar.html#label"&gt;label&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolBox::count</name>
+ <doc href="qtoolbox.html#count-prop">
+&lt;p&gt;This property holds the number of items contained in the toolbox.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qtoolbox.html#count"&gt;count&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolBox::currentIndex</name>
+ <doc href="qtoolbox.html#currentIndex-prop">
+&lt;p&gt;This property holds the index of the current item, or -1 if the toolbox is empty.
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbox.html#setCurrentIndex"&gt;setCurrentIndex&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbox.html#currentIndex"&gt;currentIndex&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qtoolbox.html#currentItem"&gt;currentItem&lt;/a&gt;(), &lt;a href="qtoolbox.html#indexOf"&gt;indexOf&lt;/a&gt;(), and &lt;a href="qtoolbox.html#item"&gt;item&lt;/a&gt;().
+
+</doc>
+</property>
+<property>
+ <name>QToolButton::autoRaise</name>
+ <doc href="qtoolbutton.html#autoRaise-prop">
+&lt;p&gt;This property holds whether auto-raising is enabled.
+&lt;p&gt;The default is disabled (i.e. FALSE).
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setAutoRaise"&gt;setAutoRaise&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#autoRaise"&gt;autoRaise&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::iconSet</name>
+ <doc href="qtoolbutton.html#iconSet-prop">
+&lt;p&gt;This property holds the icon set providing the icon shown on the button.
+&lt;p&gt;Setting this property sets &lt;a href="qtoolbutton.html#pixmap-prop"&gt;QToolButton::pixmap&lt;/a&gt; to a null
+pixmap. There is no default iconset.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtoolbutton.html#pixmap-prop"&gt;pixmap&lt;/a&gt;, &lt;a href="qtoolbutton.html#toggleButton-prop"&gt;toggleButton&lt;/a&gt;, and &lt;a href="qtoolbutton.html#on-prop"&gt;on&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setIconSet"&gt;setIconSet&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#iconSet"&gt;iconSet&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::offIconSet</name>
+ <doc href="qtoolbutton.html#offIconSet-prop">
+&lt;p&gt;This property holds the icon set that is used when the button is in an "off" state.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; Since Qt 3.0, &lt;a href="qiconset.html"&gt;QIconSet&lt;/a&gt; contains both the On and Off icons. There is
+now an &lt;a href="qtoolbutton.html#iconSet-prop"&gt;QToolButton::iconSet&lt;/a&gt; property that replaces both &lt;a href="qtoolbutton.html#onIconSet-prop"&gt;QToolButton::onIconSet&lt;/a&gt; and &lt;a href="qtoolbutton.html#offIconSet-prop"&gt;QToolButton::offIconSet&lt;/a&gt;.
+&lt;p&gt; For ease of porting, this property is a synonym for &lt;a href="qtoolbutton.html#iconSet-prop"&gt;QToolButton::iconSet&lt;/a&gt;. You probably want to go over your application
+code and use the QIconSet On/Off mechanism.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtoolbutton.html#iconSet-prop"&gt;iconSet&lt;/a&gt; and &lt;a href="qiconset.html#State-enum"&gt;QIconSet::State&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setOffIconSet"&gt;setOffIconSet&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#offIconSet"&gt;offIconSet&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::onIconSet</name>
+ <doc href="qtoolbutton.html#onIconSet-prop">
+&lt;p&gt;This property holds the icon set that is used when the button is in an "on" state.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; Since Qt 3.0, &lt;a href="qiconset.html"&gt;QIconSet&lt;/a&gt; contains both the On and Off icons. There is
+now an &lt;a href="qtoolbutton.html#iconSet-prop"&gt;QToolButton::iconSet&lt;/a&gt; property that replaces both &lt;a href="qtoolbutton.html#onIconSet-prop"&gt;QToolButton::onIconSet&lt;/a&gt; and &lt;a href="qtoolbutton.html#offIconSet-prop"&gt;QToolButton::offIconSet&lt;/a&gt;.
+&lt;p&gt; For ease of porting, this property is a synonym for &lt;a href="qtoolbutton.html#iconSet-prop"&gt;QToolButton::iconSet&lt;/a&gt;. You probably want to go over your application
+code and use the QIconSet On/Off mechanism.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtoolbutton.html#iconSet-prop"&gt;iconSet&lt;/a&gt; and &lt;a href="qiconset.html#State-enum"&gt;QIconSet::State&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setOnIconSet"&gt;setOnIconSet&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#onIconSet"&gt;onIconSet&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::popupDelay</name>
+ <doc href="qtoolbutton.html#popupDelay-prop">
+&lt;p&gt;This property holds the time delay between pressing the button and the appearance of the associated popup menu in milliseconds.
+&lt;p&gt;Usually this is around half a second. A value of 0 draws the down
+arrow button to the side of the button which can be used to open
+up the popup menu.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qtoolbutton.html#setPopup"&gt;setPopup&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setPopupDelay"&gt;setPopupDelay&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#popupDelay"&gt;popupDelay&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::textLabel</name>
+ <doc href="qtoolbutton.html#textLabel-prop">
+&lt;p&gt;This property holds the label of this button.
+&lt;p&gt;Setting this property automatically sets the text as a tool tip
+too. There is no default text.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setTextLabel"&gt;setTextLabel&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#textLabel"&gt;textLabel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::textPosition</name>
+ <doc href="qtoolbutton.html#textPosition-prop">
+&lt;p&gt;This property holds the position of the text label of this button.
+&lt;p&gt;
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setTextPosition"&gt;setTextPosition&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#textPosition"&gt;textPosition&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::usesBigPixmap</name>
+ <doc href="qtoolbutton.html#usesBigPixmap-prop">
+&lt;p&gt;This property holds whether this toolbutton uses big pixmaps.
+&lt;p&gt;QToolButton automatically connects this property to the relevant
+signal in the &lt;a href="qmainwindow.html"&gt;QMainWindow&lt;/a&gt; in which it resides. We strongly
+recommend that you use &lt;a href="qmainwindow.html#setUsesBigPixmaps"&gt;QMainWindow::setUsesBigPixmaps&lt;/a&gt;() instead.
+&lt;p&gt; This property's default is TRUE.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; If you set some buttons (in a QMainWindow) to have big
+pixmaps and others to have small pixmaps, QMainWindow may not get
+the geometry right.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setUsesBigPixmap"&gt;setUsesBigPixmap&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#usesBigPixmap"&gt;usesBigPixmap&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolButton::usesTextLabel</name>
+ <doc href="qtoolbutton.html#usesTextLabel-prop">
+&lt;p&gt;This property holds whether the toolbutton displays a text label below the button pixmap.
+&lt;p&gt;The default is FALSE.
+&lt;p&gt; QToolButton automatically connects this slot to the relevant
+signal in the &lt;a href="qmainwindow.html"&gt;QMainWindow&lt;/a&gt; in which is resides.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtoolbutton.html#setUsesTextLabel"&gt;setUsesTextLabel&lt;/a&gt;() and get this property's value with &lt;a href="qtoolbutton.html#usesTextLabel"&gt;usesTextLabel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolTipGroup::delay</name>
+ <doc href="qtooltipgroup.html#delay-prop">
+&lt;p&gt;This property holds whether the display of the group text is delayed.
+&lt;p&gt;If set to TRUE (the default), the group text is displayed at the
+same time as the tool tip. Otherwise, the group text is displayed
+immediately when the cursor enters the widget.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtooltipgroup.html#setDelay"&gt;setDelay&lt;/a&gt;() and get this property's value with &lt;a href="qtooltipgroup.html#delay"&gt;delay&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QToolTipGroup::enabled</name>
+ <doc href="qtooltipgroup.html#enabled-prop">
+&lt;p&gt;This property holds whether tool tips in the group are enabled.
+&lt;p&gt;This property's default is TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qtooltipgroup.html#setEnabled"&gt;setEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qtooltipgroup.html#enabled"&gt;enabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::acceptDrops</name>
+ <doc href="qwidget.html#acceptDrops-prop">
+&lt;p&gt;This property holds whether drop events are enabled for this widget.
+&lt;p&gt;Setting this property to TRUE announces to the system that this
+widget &lt;em&gt;may&lt;/em&gt; be able to accept drop events.
+&lt;p&gt; If the widget is the desktop (&lt;a href="qwidget.html#isDesktop"&gt;QWidget::isDesktop&lt;/a&gt;()), this may
+fail if another application is using the desktop; you can call
+&lt;a href="qwidget.html#acceptDrops"&gt;acceptDrops&lt;/a&gt;() to test if this occurs.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt;
+Do not modify this property in a Drag&amp;Drop event handler.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setAcceptDrops"&gt;setAcceptDrops&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#acceptDrops"&gt;acceptDrops&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::autoMask</name>
+ <doc href="qwidget.html#autoMask-prop">
+&lt;p&gt;This property holds whether the auto mask feature is enabled for the widget.
+&lt;p&gt;Transparent widgets use a mask to define their visible region.
+QWidget has some built-in support to make the task of
+recalculating the mask easier. When setting auto mask to TRUE,
+&lt;a href="qwidget.html#updateMask"&gt;updateMask&lt;/a&gt;() will be called whenever the widget is resized or
+changes its focus state. Note that you must reimplement
+updateMask() (which should include a call to &lt;a href="qwidget.html#setMask"&gt;setMask&lt;/a&gt;()) or nothing
+will happen.
+&lt;p&gt; Note: when you re-implement &lt;a href="qwidget.html#resizeEvent"&gt;resizeEvent&lt;/a&gt;(), &lt;a href="qwidget.html#focusInEvent"&gt;focusInEvent&lt;/a&gt;() or
+&lt;a href="qwidget.html#focusOutEvent"&gt;focusOutEvent&lt;/a&gt;() in your custom widgets and still want to ensure
+that the auto mask calculation works, you should add:
+&lt;p&gt; &lt;pre&gt;
+ if ( &lt;a href="qwidget.html#autoMask"&gt;autoMask&lt;/a&gt;() )
+ &lt;a href="qwidget.html#updateMask"&gt;updateMask&lt;/a&gt;();
+ &lt;/pre&gt;
+
+&lt;p&gt; at the end of your event handlers. This is true for all member
+functions that change the appearance of the widget in a way that
+requires a recalculation of the mask.
+&lt;p&gt; While being a technically appealing concept, masks have a big
+drawback: when using complex masks that cannot be expressed easily
+with relatively simple regions, they can be very slow on some
+window systems. The classic example is a transparent label. The
+complex shape of its contents makes it necessary to represent its
+mask by a bitmap, which consumes both memory and time. If all you
+want is to blend the background of several neighboring widgets
+together seamlessly, you will probably want to use
+&lt;a href="qwidget.html#setBackgroundOrigin"&gt;setBackgroundOrigin&lt;/a&gt;() rather than a mask.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#updateMask"&gt;updateMask&lt;/a&gt;(), &lt;a href="qwidget.html#setMask"&gt;setMask&lt;/a&gt;(), &lt;a href="qwidget.html#clearMask"&gt;clearMask&lt;/a&gt;(), and &lt;a href="qwidget.html#backgroundOrigin-prop"&gt;backgroundOrigin&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setAutoMask"&gt;setAutoMask&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#autoMask"&gt;autoMask&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::backgroundBrush</name>
+ <doc href="qwidget.html#backgroundBrush-prop">
+&lt;p&gt;This property holds the widget's background brush.
+&lt;p&gt;The background brush depends on a widget's palette and its
+background mode.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#backgroundColor"&gt;backgroundColor&lt;/a&gt;(), &lt;a href="qwidget.html#backgroundPixmap"&gt;backgroundPixmap&lt;/a&gt;(), &lt;a href="qwidget.html#eraseColor"&gt;eraseColor&lt;/a&gt;(), &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;, and &lt;a href="qapplication.html#setPalette"&gt;QApplication::setPalette&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#backgroundBrush"&gt;backgroundBrush&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::backgroundMode</name>
+ <doc href="qwidget.html#backgroundMode-prop">
+&lt;p&gt;This property holds the color role used for painting the background of the widget.
+&lt;p&gt;setPaletteBackgroundColor() reads this property to determine which
+entry of the &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt; to set.
+&lt;p&gt; For most widgets the default suffices (&lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteBackground&lt;/a&gt;,
+typically gray), but some need to use &lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteBase&lt;/a&gt; (the
+background color for text output, typically white) or another
+role.
+&lt;p&gt; &lt;a href="qlistbox.html"&gt;QListBox&lt;/a&gt;, which is "sunken" and uses the base color to contrast
+with its environment, does this in its constructor:
+&lt;p&gt; &lt;pre&gt;
+ &lt;a href="qwidget.html#setBackgroundMode"&gt;setBackgroundMode&lt;/a&gt;( &lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteBase&lt;/a&gt; );
+ &lt;/pre&gt;
+
+&lt;p&gt; You will never need to set the background mode of a built-in
+widget in Qt, but you might consider setting it in your custom
+widgets, so that &lt;a href="qwidget.html#setPaletteBackgroundColor"&gt;setPaletteBackgroundColor&lt;/a&gt;() works as expected.
+&lt;p&gt; Note that two of the BackgroundMode values make no sense for
+&lt;a href="qwidget.html#setBackgroundMode"&gt;setBackgroundMode&lt;/a&gt;(), namely &lt;a href="qt.html#BackgroundMode-enum"&gt;FixedPixmap&lt;/a&gt; and &lt;a href="qt.html#BackgroundMode-enum"&gt;FixedColor&lt;/a&gt;. You
+must call &lt;a href="qwidget.html#setBackgroundPixmap"&gt;setBackgroundPixmap&lt;/a&gt;() and setPaletteBackgroundColor()
+instead.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setBackgroundMode"&gt;setBackgroundMode&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#backgroundMode"&gt;backgroundMode&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::backgroundOrigin</name>
+ <doc href="qwidget.html#backgroundOrigin-prop">
+&lt;p&gt;This property holds the origin of the widget's background.
+&lt;p&gt;The origin is either WidgetOrigin (the default), ParentOrigin,
+WindowOrigin or AncestorOrigin.
+&lt;p&gt; This only makes a difference if the widget has a background
+pixmap, in which case positioning matters. Using &lt;a href="qwidget.html#BackgroundOrigin-enum"&gt;WindowOrigin&lt;/a&gt;
+for several neighboring widgets makes the background blend
+together seamlessly. &lt;a href="qwidget.html#BackgroundOrigin-enum"&gt;AncestorOrigin&lt;/a&gt; allows blending backgrounds
+seamlessly when an ancestor of the widget has an origin other than
+&lt;a href="qwidget.html#BackgroundOrigin-enum"&gt;WindowOrigin&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#backgroundPixmap"&gt;backgroundPixmap&lt;/a&gt;() and &lt;a href="qwidget.html#backgroundMode-prop"&gt;backgroundMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setBackgroundOrigin"&gt;setBackgroundOrigin&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#backgroundOrigin"&gt;backgroundOrigin&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::baseSize</name>
+ <doc href="qwidget.html#baseSize-prop">
+&lt;p&gt;This property holds the base size of the widget.
+&lt;p&gt;The base size is used to calculate a proper widget size if the
+widget defines &lt;a href="qwidget.html#sizeIncrement"&gt;sizeIncrement&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#sizeIncrement-prop"&gt;sizeIncrement&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setBaseSize"&gt;setBaseSize&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#baseSize"&gt;baseSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::caption</name>
+ <doc href="qwidget.html#caption-prop">
+&lt;p&gt;This property holds the window caption (title).
+&lt;p&gt;This property only makes sense for top-level widgets. If no
+caption has been set, the caption is &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#icon-prop"&gt;icon&lt;/a&gt; and &lt;a href="qwidget.html#iconText-prop"&gt;iconText&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setCaption"&gt;setCaption&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#caption"&gt;caption&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::childrenRect</name>
+ <doc href="qwidget.html#childrenRect-prop">
+&lt;p&gt;This property holds the bounding rectangle of the widget's children.
+&lt;p&gt;Hidden children are excluded.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#childrenRegion-prop"&gt;childrenRegion&lt;/a&gt; and &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#childrenRect"&gt;childrenRect&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::childrenRegion</name>
+ <doc href="qwidget.html#childrenRegion-prop">
+&lt;p&gt;This property holds the combined region occupied by the widget's children.
+&lt;p&gt;Hidden children are excluded.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#childrenRect-prop"&gt;childrenRect&lt;/a&gt; and &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#childrenRegion"&gt;childrenRegion&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::colorGroup</name>
+ <doc href="qwidget.html#colorGroup-prop">
+&lt;p&gt;This property holds the current color group of the widget palette.
+&lt;p&gt;The color group is determined by the state of the widget. A
+disabled widget has the &lt;a href="qpalette.html#disabled"&gt;QPalette::disabled&lt;/a&gt;() color group, a widget
+with &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt; has the &lt;a href="qpalette.html#active"&gt;QPalette::active&lt;/a&gt;() color group, and an
+inactive widget has the &lt;a href="qpalette.html#inactive"&gt;QPalette::inactive&lt;/a&gt;() color group.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#colorGroup"&gt;colorGroup&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::cursor</name>
+ <doc href="qwidget.html#cursor-prop">
+&lt;p&gt;This property holds the cursor shape for this widget.
+&lt;p&gt;The mouse cursor will assume this shape when it's over this
+widget. See the &lt;a href="qt.html#CursorShape-enum"&gt;list of predefined cursor
+ objects&lt;/a&gt; for a range of useful shapes.
+&lt;p&gt; An editor widget might use an I-beam cursor:
+&lt;pre&gt;
+ &lt;a href="qwidget.html#setCursor"&gt;setCursor&lt;/a&gt;( &lt;a href="qt.html#CursorShape-enum"&gt;IbeamCursor&lt;/a&gt; );
+ &lt;/pre&gt;
+
+&lt;p&gt; If no cursor has been set, or after a call to &lt;a href="qwidget.html#unsetCursor"&gt;unsetCursor&lt;/a&gt;(), the
+parent's cursor is used. The function unsetCursor() has no effect
+on top-level widgets.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qapplication.html#setOverrideCursor"&gt;QApplication::setOverrideCursor&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setCursor"&gt;setCursor&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#cursor"&gt;cursor&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetCursor"&gt;unsetCursor&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::customWhatsThis</name>
+ <doc href="qwidget.html#customWhatsThis-prop">
+&lt;p&gt;This property holds whether the widget wants to handle What's This help manually.
+&lt;p&gt;The default implementation of &lt;a href="qwidget.html#customWhatsThis"&gt;customWhatsThis&lt;/a&gt;() returns FALSE,
+which means the widget will not receive any events in Whats This
+mode.
+&lt;p&gt; The widget may leave What's This mode by calling
+&lt;a href="qwhatsthis.html#leaveWhatsThisMode"&gt;QWhatsThis::leaveWhatsThisMode&lt;/a&gt;(), with or without actually
+displaying any help text.
+&lt;p&gt; You can also reimplement customWhatsThis() if your widget is a
+"passive interactor" supposed to work under all circumstances.
+Simply don't call QWhatsThis::leaveWhatsThisMode() in that case.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwhatsthis.html#inWhatsThisMode"&gt;QWhatsThis::inWhatsThisMode&lt;/a&gt;() and &lt;a href="qwhatsthis.html#leaveWhatsThisMode"&gt;QWhatsThis::leaveWhatsThisMode&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#customWhatsThis"&gt;customWhatsThis&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::enabled</name>
+ <doc href="qwidget.html#enabled-prop">
+&lt;p&gt;This property holds whether the widget is enabled.
+&lt;p&gt;An enabled widget receives keyboard and mouse events; a disabled
+widget does not. In fact, an enabled widget only receives keyboard
+events when it is in focus.
+&lt;p&gt; Some widgets display themselves differently when they are
+disabled. For example a button might draw its label grayed out. If
+your widget needs to know when it becomes enabled or disabled, you
+can reimplement the &lt;a href="qwidget.html#enabledChange"&gt;enabledChange&lt;/a&gt;() function.
+&lt;p&gt; Disabling a widget implicitly disables all its children. Enabling
+respectively enables all child widgets unless they have been
+explicitly disabled.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#enabled-prop"&gt;enabled&lt;/a&gt;, &lt;a href="qwidget.html#isEnabledTo"&gt;isEnabledTo&lt;/a&gt;(), &lt;a href="qkeyevent.html"&gt;QKeyEvent&lt;/a&gt;, &lt;a href="qmouseevent.html"&gt;QMouseEvent&lt;/a&gt;, and &lt;a href="qwidget.html#enabledChange"&gt;enabledChange&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setEnabled"&gt;setEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#isEnabled"&gt;isEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::focus</name>
+ <doc href="qwidget.html#focus-prop">
+&lt;p&gt;This property holds whether this widget (or its focus proxy) has the keyboard input focus.
+&lt;p&gt;Effectively equivalent to &lt;tt&gt;qApp-&amp;gt;focusWidget() == this&lt;/tt&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#setFocus"&gt;setFocus&lt;/a&gt;(), &lt;a href="qwidget.html#clearFocus"&gt;clearFocus&lt;/a&gt;(), &lt;a href="qwidget.html#focusPolicy-prop"&gt;focusPolicy&lt;/a&gt;, and &lt;a href="qapplication.html#focusWidget"&gt;QApplication::focusWidget&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#hasFocus"&gt;hasFocus&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::focusEnabled</name>
+ <doc href="qwidget.html#focusEnabled-prop">
+&lt;p&gt;This property holds whether the widget accepts &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt;.
+&lt;p&gt;Keyboard focus is initially disabled (i.e. &lt;a href="qwidget.html#focusPolicy"&gt;focusPolicy&lt;/a&gt;() ==
+&lt;a href="qwidget.html#FocusPolicy-enum"&gt;QWidget::NoFocus&lt;/a&gt;).
+&lt;p&gt; You must enable keyboard focus for a widget if it processes
+keyboard events. This is normally done from the widget's
+constructor. For instance, the &lt;a href="qlineedit.html"&gt;QLineEdit&lt;/a&gt; constructor calls
+&lt;a href="qwidget.html#setFocusPolicy"&gt;setFocusPolicy&lt;/a&gt;(QWidget::StrongFocus).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#focusPolicy-prop"&gt;focusPolicy&lt;/a&gt;, &lt;a href="qwidget.html#focusInEvent"&gt;focusInEvent&lt;/a&gt;(), &lt;a href="qwidget.html#focusOutEvent"&gt;focusOutEvent&lt;/a&gt;(), &lt;a href="qwidget.html#keyPressEvent"&gt;keyPressEvent&lt;/a&gt;(), &lt;a href="qwidget.html#keyReleaseEvent"&gt;keyReleaseEvent&lt;/a&gt;(), and &lt;a href="qwidget.html#enabled-prop"&gt;enabled&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isFocusEnabled"&gt;isFocusEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::focusPolicy</name>
+ <doc href="qwidget.html#focusPolicy-prop">
+&lt;p&gt;This property holds the way the widget accepts &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt;.
+&lt;p&gt;The policy is &lt;a href="qwidget.html#FocusPolicy-enum"&gt;QWidget::TabFocus&lt;/a&gt; if the widget accepts keyboard
+focus by tabbing, &lt;a href="qwidget.html#FocusPolicy-enum"&gt;QWidget::ClickFocus&lt;/a&gt; if the widget accepts
+focus by clicking, &lt;a href="qwidget.html#FocusPolicy-enum"&gt;QWidget::StrongFocus&lt;/a&gt; if it accepts both, and
+&lt;a href="qwidget.html#FocusPolicy-enum"&gt;QWidget::NoFocus&lt;/a&gt; (the default) if it does not accept focus at
+all.
+&lt;p&gt; You must enable keyboard focus for a widget if it processes
+keyboard events. This is normally done from the widget's
+constructor. For instance, the &lt;a href="qlineedit.html"&gt;QLineEdit&lt;/a&gt; constructor calls
+&lt;a href="qwidget.html#setFocusPolicy"&gt;setFocusPolicy&lt;/a&gt;(QWidget::StrongFocus).
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#focusEnabled-prop"&gt;focusEnabled&lt;/a&gt;, &lt;a href="qwidget.html#focusInEvent"&gt;focusInEvent&lt;/a&gt;(), &lt;a href="qwidget.html#focusOutEvent"&gt;focusOutEvent&lt;/a&gt;(), &lt;a href="qwidget.html#keyPressEvent"&gt;keyPressEvent&lt;/a&gt;(), &lt;a href="qwidget.html#keyReleaseEvent"&gt;keyReleaseEvent&lt;/a&gt;(), and &lt;a href="qwidget.html#enabled-prop"&gt;enabled&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setFocusPolicy"&gt;setFocusPolicy&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#focusPolicy"&gt;focusPolicy&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::font</name>
+ <doc href="qwidget.html#font-prop">
+&lt;p&gt;This property holds the font currently set for the widget.
+&lt;p&gt;The &lt;a href="qwidget.html#fontInfo"&gt;fontInfo&lt;/a&gt;() function reports the actual font that is being used
+by the widget.
+&lt;p&gt; As long as no special font has been set, or after &lt;a href="qwidget.html#unsetFont"&gt;unsetFont&lt;/a&gt;() is
+called, this is either a special font for the widget class, the
+parent's font or (if this widget is a top level widget), the
+default application font.
+&lt;p&gt; This code fragment sets a 12 point helvetica bold font:
+&lt;pre&gt;
+ &lt;a href="qfont.html"&gt;QFont&lt;/a&gt; f( "Helvetica", 12, QFont::Bold );
+ &lt;a href="qwidget.html#setFont"&gt;setFont&lt;/a&gt;( f );
+ &lt;/pre&gt;
+
+&lt;p&gt; In addition to setting the font, &lt;a href="qwidget.html#setFont"&gt;setFont&lt;/a&gt;() informs all children
+about the change.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#fontChange"&gt;fontChange&lt;/a&gt;(), &lt;a href="qwidget.html#fontInfo"&gt;fontInfo&lt;/a&gt;(), &lt;a href="qwidget.html#fontMetrics"&gt;fontMetrics&lt;/a&gt;(), and &lt;a href="qwidget.html#ownFont-prop"&gt;ownFont&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setFont"&gt;setFont&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#font"&gt;font&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetFont"&gt;unsetFont&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::frameGeometry</name>
+ <doc href="qwidget.html#frameGeometry-prop">
+&lt;p&gt;This property holds geometry of the widget relative to its parent including any window frame.
+&lt;p&gt;See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of geometry issues with top-level widgets.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;, &lt;a href="qwidget.html#x-prop"&gt;x&lt;/a&gt;, &lt;a href="qwidget.html#y-prop"&gt;y&lt;/a&gt;, and &lt;a href="qwidget.html#pos-prop"&gt;pos&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#frameGeometry"&gt;frameGeometry&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::frameSize</name>
+ <doc href="qwidget.html#frameSize-prop">
+&lt;p&gt;This property holds the size of the widget including any window frame.
+&lt;p&gt;
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#frameSize"&gt;frameSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::fullScreen</name>
+ <doc href="qwidget.html#fullScreen-prop">
+&lt;p&gt;This property holds whether the widget is full screen.
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isFullScreen"&gt;isFullScreen&lt;/a&gt;().
+&lt;p&gt;&lt;p&gt;See also &lt;a href="qwidget.html#windowState"&gt;windowState&lt;/a&gt;(), &lt;a href="qwidget.html#minimized-prop"&gt;minimized&lt;/a&gt;, and &lt;a href="qwidget.html#maximized-prop"&gt;maximized&lt;/a&gt;.
+
+</doc>
+</property>
+<property>
+ <name>QWidget::geometry</name>
+ <doc href="qwidget.html#geometry-prop">
+&lt;p&gt;This property holds the geometry of the widget relative to its parent and excluding the window frame.
+&lt;p&gt;When changing the geometry, the widget, if visible, receives a
+move event (&lt;a href="qwidget.html#moveEvent"&gt;moveEvent&lt;/a&gt;()) and/or a resize event (&lt;a href="qwidget.html#resizeEvent"&gt;resizeEvent&lt;/a&gt;())
+immediately. If the widget is not currently visible, it is
+guaranteed to receive appropriate events before it is shown.
+&lt;p&gt; The size component is adjusted if it lies outside the range
+defined by &lt;a href="qwidget.html#minimumSize"&gt;minimumSize&lt;/a&gt;() and &lt;a href="qwidget.html#maximumSize"&gt;maximumSize&lt;/a&gt;().
+&lt;p&gt; &lt;a href="qwidget.html#setGeometry"&gt;setGeometry&lt;/a&gt;() is virtual, and all other overloaded setGeometry()
+implementations in Qt call it.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Calling setGeometry() inside resizeEvent() or moveEvent()
+can lead to infinite recursion.
+&lt;p&gt; See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#frameGeometry-prop"&gt;frameGeometry&lt;/a&gt;, &lt;a href="qwidget.html#rect-prop"&gt;rect&lt;/a&gt;, &lt;a href="qwidget.html#pos-prop"&gt;pos&lt;/a&gt;, &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;, &lt;a href="qwidget.html#moveEvent"&gt;moveEvent&lt;/a&gt;(), &lt;a href="qwidget.html#resizeEvent"&gt;resizeEvent&lt;/a&gt;(), &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, and &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setGeometry"&gt;setGeometry&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#geometry"&gt;geometry&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::height</name>
+ <doc href="qwidget.html#height-prop">
+&lt;p&gt;This property holds the height of the widget excluding any window frame.
+&lt;p&gt;See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;, &lt;a href="qwidget.html#width-prop"&gt;width&lt;/a&gt;, and &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#height"&gt;height&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::hidden</name>
+ <doc href="qwidget.html#hidden-prop">
+&lt;p&gt;This property holds whether the widget is explicitly hidden.
+&lt;p&gt;If FALSE, the widget is visible or would become visible if all its
+ancestors became visible.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;(), &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;(), &lt;a href="qwidget.html#visible-prop"&gt;visible&lt;/a&gt;, &lt;a href="qwidget.html#isVisibleTo"&gt;isVisibleTo&lt;/a&gt;(), and &lt;a href="qwidget.html#shown-prop"&gt;shown&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setHidden"&gt;setHidden&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#isHidden"&gt;isHidden&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::icon</name>
+ <doc href="qwidget.html#icon-prop">
+&lt;p&gt;This property holds the widget's icon.
+&lt;p&gt;This property only makes sense for top-level widgets. If no icon
+has been set, &lt;a href="qwidget.html#icon"&gt;icon&lt;/a&gt;() returns 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#iconText-prop"&gt;iconText&lt;/a&gt;, &lt;a href="qwidget.html#caption-prop"&gt;caption&lt;/a&gt;, and &lt;a href="appicon.html"&gt;Setting the Application Icon&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setIcon"&gt;setIcon&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#icon"&gt;icon&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::iconText</name>
+ <doc href="qwidget.html#iconText-prop">
+&lt;p&gt;This property holds the widget's icon text.
+&lt;p&gt;This property only makes sense for top-level widgets. If no icon
+text has been set, this functions returns &lt;a href="qstring.html#QString-null"&gt;QString::null&lt;/a&gt;.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#icon-prop"&gt;icon&lt;/a&gt; and &lt;a href="qwidget.html#caption-prop"&gt;caption&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setIconText"&gt;setIconText&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#iconText"&gt;iconText&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::inputMethodEnabled</name>
+ <doc href="qwidget.html#inputMethodEnabled-prop">
+&lt;p&gt;This property holds enables or disables the use of input methods for this widget.
+&lt;p&gt;Most Widgets (as eg. buttons) that do not handle text input should have
+the input method disabled if they have focus. This is the default.
+&lt;p&gt; If a widget handles text input it should set this property to TRUE.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setInputMethodEnabled"&gt;setInputMethodEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#isInputMethodEnabled"&gt;isInputMethodEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isActiveWindow</name>
+ <doc href="qwidget.html#isActiveWindow-prop">
+&lt;p&gt;This property holds whether this widget is the active window.
+&lt;p&gt;The active window is the window that contains the widget
+that has &lt;a href="focus.html#keyboard-focus"&gt;keyboard focus&lt;/a&gt;.
+&lt;p&gt; When popup windows are visible, this property is TRUE for both the
+active window &lt;em&gt;and&lt;/em&gt; for the popup.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#setActiveWindow"&gt;setActiveWindow&lt;/a&gt;() and &lt;a href="qapplication.html#activeWindow"&gt;QApplication::activeWindow&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isActiveWindow"&gt;isActiveWindow&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isDesktop</name>
+ <doc href="qwidget.html#isDesktop-prop">
+&lt;p&gt;This property holds whether the widget is a desktop widget, i.e. represents the desktop.
+&lt;p&gt;A desktop widget is also a top-level widget.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#isTopLevel-prop"&gt;isTopLevel&lt;/a&gt; and &lt;a href="qapplication.html#desktop"&gt;QApplication::desktop&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isDesktop"&gt;isDesktop&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isDialog</name>
+ <doc href="qwidget.html#isDialog-prop">
+&lt;p&gt;This property holds whether the widget is a dialog widget.
+&lt;p&gt;A dialog widget is a secondary top-level widget, i.e. a top-level
+widget with a parent.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#isTopLevel-prop"&gt;isTopLevel&lt;/a&gt; and &lt;a href="qdialog.html"&gt;QDialog&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isDialog"&gt;isDialog&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isModal</name>
+ <doc href="qwidget.html#isModal-prop">
+&lt;p&gt;This property holds whether the widget is a modal widget.
+&lt;p&gt;This property only makes sense for top-level widgets. A modal
+widget prevents widgets in all other top-level widgets from
+getting any input.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#isTopLevel-prop"&gt;isTopLevel&lt;/a&gt;, &lt;a href="qwidget.html#isDialog-prop"&gt;isDialog&lt;/a&gt;, and &lt;a href="qdialog.html"&gt;QDialog&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isModal"&gt;isModal&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isPopup</name>
+ <doc href="qwidget.html#isPopup-prop">
+&lt;p&gt;This property holds whether the widget is a popup widget.
+&lt;p&gt;A popup widget is created by specifying the &lt;a href="qt.html#WidgetFlags"&gt;widget flag&lt;/a&gt; &lt;a href="qt.html#WidgetFlags-enum"&gt;WType_Popup&lt;/a&gt; to the widget constructor. A popup widget is also a
+top-level widget.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#isTopLevel-prop"&gt;isTopLevel&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isPopup"&gt;isPopup&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::isTopLevel</name>
+ <doc href="qwidget.html#isTopLevel-prop">
+&lt;p&gt;This property holds whether the widget is a top-level widget.
+&lt;p&gt;A top-level widget is a widget which usually has a frame and a
+&lt;a href="qwidget.html#caption-prop"&gt;caption (title)&lt;/a&gt;. &lt;a href="qwidget.html#isPopup"&gt;Popup&lt;/a&gt; and &lt;a href="qwidget.html#isDesktop"&gt;desktop&lt;/a&gt; widgets are also top-level widgets.
+&lt;p&gt; A top-level widget can have a &lt;a href="qwidget.html#parentWidget"&gt;parent
+ widget&lt;/a&gt;. It will then be grouped with its parent and deleted
+when the parent is deleted, minimized when the parent is minimized
+etc. If supported by the window manager, it will also have a
+common taskbar entry with its parent.
+&lt;p&gt; &lt;a href="qdialog.html"&gt;QDialog&lt;/a&gt; and &lt;a href="qmainwindow.html"&gt;QMainWindow&lt;/a&gt; widgets are by default top-level, even if
+a parent widget is specified in the constructor. This behavior is
+specified by the &lt;a href="qt.html#WidgetFlags-enum"&gt;WType_TopLevel&lt;/a&gt; widget flag.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#topLevelWidget"&gt;topLevelWidget&lt;/a&gt;(), &lt;a href="qwidget.html#isDialog-prop"&gt;isDialog&lt;/a&gt;, &lt;a href="qwidget.html#isModal-prop"&gt;isModal&lt;/a&gt;, &lt;a href="qwidget.html#isPopup-prop"&gt;isPopup&lt;/a&gt;, &lt;a href="qwidget.html#isDesktop-prop"&gt;isDesktop&lt;/a&gt;, and &lt;a href="qwidget.html#parentWidget"&gt;parentWidget&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isTopLevel"&gt;isTopLevel&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::maximized</name>
+ <doc href="qwidget.html#maximized-prop">
+&lt;p&gt;This property holds whether this widget is maximized.
+&lt;p&gt;This property is only relevant for top-level widgets.
+&lt;p&gt; Note that due to limitations in some window-systems, this does not
+always report the expected results (e.g. if the user on X11
+maximizes the window via the window manager, Qt has no way of
+distinguishing this from any other resize). This is expected to
+improve as window manager protocols evolve.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#windowState"&gt;windowState&lt;/a&gt;(), &lt;a href="qwidget.html#showMaximized"&gt;showMaximized&lt;/a&gt;(), &lt;a href="qwidget.html#visible-prop"&gt;visible&lt;/a&gt;, &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;(), &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;(), &lt;a href="qwidget.html#showNormal"&gt;showNormal&lt;/a&gt;(), and &lt;a href="qwidget.html#minimized-prop"&gt;minimized&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isMaximized"&gt;isMaximized&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::maximumHeight</name>
+ <doc href="qwidget.html#maximumHeight-prop">
+&lt;p&gt;This property holds the widget's maximum height.
+&lt;p&gt;This property corresponds to &lt;a href="qwidget.html#maximumSize"&gt;maximumSize&lt;/a&gt;().&lt;a href="qwidget.html#height"&gt;height&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt; and &lt;a href="qwidget.html#maximumWidth-prop"&gt;maximumWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMaximumHeight"&gt;setMaximumHeight&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#maximumHeight"&gt;maximumHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::maximumSize</name>
+ <doc href="qwidget.html#maximumSize-prop">
+&lt;p&gt;This property holds the widget's maximum size.
+&lt;p&gt;The widget cannot be resized to a larger size than the maximum
+widget size.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#maximumWidth-prop"&gt;maximumWidth&lt;/a&gt;, &lt;a href="qwidget.html#maximumHeight-prop"&gt;maximumHeight&lt;/a&gt;, &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt;, &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, and &lt;a href="qwidget.html#sizeIncrement-prop"&gt;sizeIncrement&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMaximumSize"&gt;setMaximumSize&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#maximumSize"&gt;maximumSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::maximumWidth</name>
+ <doc href="qwidget.html#maximumWidth-prop">
+&lt;p&gt;This property holds the widget's maximum width.
+&lt;p&gt;This property corresponds to &lt;a href="qwidget.html#maximumSize"&gt;maximumSize&lt;/a&gt;().&lt;a href="qwidget.html#width"&gt;width&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt; and &lt;a href="qwidget.html#maximumHeight-prop"&gt;maximumHeight&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMaximumWidth"&gt;setMaximumWidth&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#maximumWidth"&gt;maximumWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::microFocusHint</name>
+ <doc href="qwidget.html#microFocusHint-prop">
+&lt;p&gt;This property holds the currently set micro focus hint for this widget.
+&lt;p&gt;See the documentation of &lt;a href="qwidget.html#setMicroFocusHint"&gt;setMicroFocusHint&lt;/a&gt;() for more information.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#microFocusHint"&gt;microFocusHint&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::minimized</name>
+ <doc href="qwidget.html#minimized-prop">
+&lt;p&gt;This property holds whether this widget is minimized (iconified).
+&lt;p&gt;This property is only relevant for top-level widgets.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#showMinimized"&gt;showMinimized&lt;/a&gt;(), &lt;a href="qwidget.html#visible-prop"&gt;visible&lt;/a&gt;, &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;(), &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;(), &lt;a href="qwidget.html#showNormal"&gt;showNormal&lt;/a&gt;(), and &lt;a href="qwidget.html#maximized-prop"&gt;maximized&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isMinimized"&gt;isMinimized&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::minimumHeight</name>
+ <doc href="qwidget.html#minimumHeight-prop">
+&lt;p&gt;This property holds the widget's minimum height.
+&lt;p&gt;This property corresponds to &lt;a href="qwidget.html#minimumSize"&gt;minimumSize&lt;/a&gt;().&lt;a href="qwidget.html#height"&gt;height&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt; and &lt;a href="qwidget.html#minimumWidth-prop"&gt;minimumWidth&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMinimumHeight"&gt;setMinimumHeight&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#minimumHeight"&gt;minimumHeight&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::minimumSize</name>
+ <doc href="qwidget.html#minimumSize-prop">
+&lt;p&gt;This property holds the widget's minimum size.
+&lt;p&gt;The widget cannot be resized to a smaller size than the minimum
+widget size. The widget's size is forced to the minimum size if
+the current size is smaller.
+&lt;p&gt; If you use a layout inside the widget, the minimum size will be
+set by the layout and not by &lt;a href="qwidget.html#setMinimumSize"&gt;setMinimumSize&lt;/a&gt;(), unless you set the
+layout's resize mode to QLayout::FreeResize.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#minimumWidth-prop"&gt;minimumWidth&lt;/a&gt;, &lt;a href="qwidget.html#minimumHeight-prop"&gt;minimumHeight&lt;/a&gt;, &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt;, &lt;a href="qwidget.html#sizeIncrement-prop"&gt;sizeIncrement&lt;/a&gt;, and &lt;a href="qlayout.html#resizeMode-prop"&gt;QLayout::resizeMode&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMinimumSize"&gt;setMinimumSize&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#minimumSize"&gt;minimumSize&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::minimumSizeHint</name>
+ <doc href="qwidget.html#minimumSizeHint-prop">
+&lt;p&gt;This property holds the recommended minimum size for the widget.
+&lt;p&gt;If the value of this property is an invalid size, no minimum size
+is recommended.
+&lt;p&gt; The default implementation of &lt;a href="qwidget.html#minimumSizeHint"&gt;minimumSizeHint&lt;/a&gt;() returns an invalid
+size if there is no layout for this widget, and returns the
+layout's minimum size otherwise. Most built-in widgets reimplement
+minimumSizeHint().
+&lt;p&gt; &lt;a href="qlayout.html"&gt;QLayout&lt;/a&gt; will never resize a widget to a size smaller than
+minimumSizeHint.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qsize.html#isValid"&gt;QSize::isValid&lt;/a&gt;(), &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;, &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, and &lt;a href="qwidget.html#sizePolicy-prop"&gt;sizePolicy&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#minimumSizeHint"&gt;minimumSizeHint&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::minimumWidth</name>
+ <doc href="qwidget.html#minimumWidth-prop">
+&lt;p&gt;This property holds the widget's minimum width.
+&lt;p&gt;This property corresponds to &lt;a href="qwidget.html#minimumSize"&gt;minimumSize&lt;/a&gt;().&lt;a href="qwidget.html#width"&gt;width&lt;/a&gt;().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt; and &lt;a href="qwidget.html#minimumHeight-prop"&gt;minimumHeight&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMinimumWidth"&gt;setMinimumWidth&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#minimumWidth"&gt;minimumWidth&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::mouseTracking</name>
+ <doc href="qwidget.html#mouseTracking-prop">
+&lt;p&gt;This property holds whether mouse tracking is enabled for the widget.
+&lt;p&gt;If mouse tracking is disabled (the default), the widget only
+receives mouse move events when at least one mouse button is
+pressed while the mouse is being moved.
+&lt;p&gt; If mouse tracking is enabled, the widget receives mouse move
+events even if no buttons are pressed.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#mouseMoveEvent"&gt;mouseMoveEvent&lt;/a&gt;() and &lt;a href="qapplication.html#setGlobalMouseTracking"&gt;QApplication::setGlobalMouseTracking&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setMouseTracking"&gt;setMouseTracking&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#hasMouseTracking"&gt;hasMouseTracking&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::ownCursor</name>
+ <doc href="qwidget.html#ownCursor-prop">
+&lt;p&gt;This property holds whether the widget uses its own cursor.
+&lt;p&gt;If FALSE, the widget uses its parent widget's cursor.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#cursor-prop"&gt;cursor&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#ownCursor"&gt;ownCursor&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::ownFont</name>
+ <doc href="qwidget.html#ownFont-prop">
+&lt;p&gt;This property holds whether the widget uses its own font.
+&lt;p&gt;If FALSE, the widget uses its parent widget's font.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#font-prop"&gt;font&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#ownFont"&gt;ownFont&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::ownPalette</name>
+ <doc href="qwidget.html#ownPalette-prop">
+&lt;p&gt;This property holds whether the widget uses its own palette.
+&lt;p&gt;If FALSE, the widget uses its parent widget's palette.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#ownPalette"&gt;ownPalette&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::palette</name>
+ <doc href="qwidget.html#palette-prop">
+&lt;p&gt;This property holds the widget's palette.
+&lt;p&gt;As long as no special palette has been set, or after &lt;a href="qwidget.html#unsetPalette"&gt;unsetPalette&lt;/a&gt;()
+has been called, this is either a special palette for the widget
+class, the parent's palette or (if this widget is a top level
+widget), the default application palette.
+&lt;p&gt; Instead of defining an entirely new palette, you can also use the
+&lt;a href="qwidget.html#paletteBackgroundColor-prop"&gt;paletteBackgroundColor&lt;/a&gt;,
+&lt;a href="qwidget.html#paletteBackgroundPixmap-prop"&gt;paletteBackgroundPixmap&lt;/a&gt; and
+&lt;a href="qwidget.html#paletteForegroundColor-prop"&gt;paletteForegroundColor&lt;/a&gt;
+convenience properties to change a widget's
+background and foreground appearance only.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#ownPalette-prop"&gt;ownPalette&lt;/a&gt;, &lt;a href="qwidget.html#colorGroup-prop"&gt;colorGroup&lt;/a&gt;, and &lt;a href="qapplication.html#palette"&gt;QApplication::palette&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setPalette"&gt;setPalette&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#palette"&gt;palette&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetPalette"&gt;unsetPalette&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::paletteBackgroundColor</name>
+ <doc href="qwidget.html#paletteBackgroundColor-prop">
+&lt;p&gt;This property holds the background color of the widget.
+&lt;p&gt;The palette background color is usually set implicitly by
+&lt;a href="qwidget.html#setBackgroundMode"&gt;setBackgroundMode&lt;/a&gt;(), although it can also be set explicitly by
+&lt;a href="qwidget.html#setPaletteBackgroundColor"&gt;setPaletteBackgroundColor&lt;/a&gt;(). setPaletteBackgroundColor() is a
+convenience function that creates and sets a modified &lt;a href="qpalette.html"&gt;QPalette&lt;/a&gt;
+with &lt;a href="qwidget.html#setPalette"&gt;setPalette&lt;/a&gt;(). The palette is modified according to the
+widget's background mode. For example, if the background mode is
+&lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteButton&lt;/a&gt; the color used for the palette's &lt;a href="qcolorgroup.html#ColorRole-enum"&gt;QColorGroup::Button&lt;/a&gt; color entry is set.
+&lt;p&gt; If there is a background pixmap (set using
+&lt;a href="qwidget.html#setPaletteBackgroundPixmap"&gt;setPaletteBackgroundPixmap&lt;/a&gt;()), then the return value of this
+function is indeterminate.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#paletteBackgroundPixmap-prop"&gt;paletteBackgroundPixmap&lt;/a&gt;, &lt;a href="qwidget.html#paletteForegroundColor-prop"&gt;paletteForegroundColor&lt;/a&gt;, &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;, and &lt;a href="qwidget.html#colorGroup-prop"&gt;colorGroup&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setPaletteBackgroundColor"&gt;setPaletteBackgroundColor&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#paletteBackgroundColor"&gt;paletteBackgroundColor&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetPalette"&gt;unsetPalette&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::paletteBackgroundPixmap</name>
+ <doc href="qwidget.html#paletteBackgroundPixmap-prop">
+&lt;p&gt;This property holds the background pixmap of the widget.
+&lt;p&gt;The palette background pixmap is usually set implicitly by
+&lt;a href="qwidget.html#setBackgroundMode"&gt;setBackgroundMode&lt;/a&gt;(), although it can also be set explicitly by
+&lt;a href="qwidget.html#setPaletteBackgroundPixmap"&gt;setPaletteBackgroundPixmap&lt;/a&gt;(). setPaletteBackgroundPixmap() is a
+convenience function that creates and sets a modified &lt;a href="qpalette.html"&gt;QPalette&lt;/a&gt;
+with &lt;a href="qwidget.html#setPalette"&gt;setPalette&lt;/a&gt;(). The palette is modified according to the
+widget's background mode. For example, if the background mode is
+&lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteButton&lt;/a&gt; the pixmap used for the palette's
+&lt;a href="qcolorgroup.html#ColorRole-enum"&gt;QColorGroup::Button&lt;/a&gt; color entry is set.
+&lt;p&gt; If there is a plain background color (set using
+&lt;a href="qwidget.html#setPaletteBackgroundColor"&gt;setPaletteBackgroundColor&lt;/a&gt;()), then this function returns 0.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#paletteBackgroundColor-prop"&gt;paletteBackgroundColor&lt;/a&gt;, &lt;a href="qwidget.html#paletteForegroundColor-prop"&gt;paletteForegroundColor&lt;/a&gt;, &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;, and &lt;a href="qwidget.html#colorGroup-prop"&gt;colorGroup&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setPaletteBackgroundPixmap"&gt;setPaletteBackgroundPixmap&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#paletteBackgroundPixmap"&gt;paletteBackgroundPixmap&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetPalette"&gt;unsetPalette&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::paletteForegroundColor</name>
+ <doc href="qwidget.html#paletteForegroundColor-prop">
+&lt;p&gt;This property holds the foreground color of the widget.
+&lt;p&gt;setPaletteForegroundColor() is a convenience function that creates
+and sets a modified &lt;a href="qpalette.html"&gt;QPalette&lt;/a&gt; with &lt;a href="qwidget.html#setPalette"&gt;setPalette&lt;/a&gt;(). The palette is
+modified according to the widget's &lt;em&gt;background mode&lt;/em&gt;. For
+example, if the background mode is &lt;a href="qt.html#BackgroundMode-enum"&gt;PaletteButton&lt;/a&gt; the palette entry
+&lt;a href="qcolorgroup.html#ColorRole-enum"&gt;QColorGroup::ButtonText&lt;/a&gt; is set to color.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#palette-prop"&gt;palette&lt;/a&gt;, &lt;a href="qapplication.html#setPalette"&gt;QApplication::setPalette&lt;/a&gt;(), &lt;a href="qwidget.html#backgroundMode-prop"&gt;backgroundMode&lt;/a&gt;, &lt;a href="qwidget.html#foregroundColor"&gt;foregroundColor&lt;/a&gt;(), &lt;a href="qwidget.html#backgroundMode-prop"&gt;backgroundMode&lt;/a&gt;, and &lt;a href="qwidget.html#setEraseColor"&gt;setEraseColor&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setPaletteForegroundColor"&gt;setPaletteForegroundColor&lt;/a&gt;(), get this property's value with &lt;a href="qwidget.html#paletteForegroundColor"&gt;paletteForegroundColor&lt;/a&gt;(), and reset this property's value with &lt;a href="qwidget.html#unsetPalette"&gt;unsetPalette&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::pos</name>
+ <doc href="qwidget.html#pos-prop">
+&lt;p&gt;This property holds the position of the widget within its parent widget.
+&lt;p&gt;If the widget is a top-level widget, the position is that of the
+widget on the desktop, including its frame.
+&lt;p&gt; When changing the position, the widget, if visible, receives a
+move event (&lt;a href="qwidget.html#moveEvent"&gt;moveEvent&lt;/a&gt;()) immediately. If the widget is not
+currently visible, it is guaranteed to receive an event before it
+is shown.
+&lt;p&gt; &lt;a href="qwidget.html#move"&gt;move&lt;/a&gt;() is virtual, and all other overloaded move() implementations
+in Qt call it.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Calling move() or &lt;a href="qwidget.html#setGeometry"&gt;setGeometry&lt;/a&gt;() inside moveEvent() can
+lead to infinite recursion.
+&lt;p&gt; See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#frameGeometry-prop"&gt;frameGeometry&lt;/a&gt;, &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;, &lt;a href="qwidget.html#x-prop"&gt;x&lt;/a&gt;, and &lt;a href="qwidget.html#y-prop"&gt;y&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#move"&gt;move&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#pos"&gt;pos&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::rect</name>
+ <doc href="qwidget.html#rect-prop">
+&lt;p&gt;This property holds the internal geometry of the widget excluding any window frame.
+&lt;p&gt;The rect property equals &lt;a href="qrect.html"&gt;QRect&lt;/a&gt;(0, 0, &lt;a href="qwidget.html#width"&gt;width&lt;/a&gt;(), &lt;a href="qwidget.html#height"&gt;height&lt;/a&gt;()).
+&lt;p&gt; See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#rect"&gt;rect&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::shown</name>
+ <doc href="qwidget.html#shown-prop">
+&lt;p&gt;This property holds whether the widget is shown.
+&lt;p&gt;If TRUE, the widget is visible or would become visible if all its
+ancestors became visible.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;(), &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;(), &lt;a href="qwidget.html#visible-prop"&gt;visible&lt;/a&gt;, &lt;a href="qwidget.html#isVisibleTo"&gt;isVisibleTo&lt;/a&gt;(), and &lt;a href="qwidget.html#hidden-prop"&gt;hidden&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setShown"&gt;setShown&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#isShown"&gt;isShown&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::size</name>
+ <doc href="qwidget.html#size-prop">
+&lt;p&gt;This property holds the size of the widget excluding any window frame.
+&lt;p&gt;When resizing, the widget, if visible, receives a resize event
+(&lt;a href="qwidget.html#resizeEvent"&gt;resizeEvent&lt;/a&gt;()) immediately. If the widget is not currently
+visible, it is guaranteed to receive an event before it is shown.
+&lt;p&gt; The size is adjusted if it lies outside the range defined by
+&lt;a href="qwidget.html#minimumSize"&gt;minimumSize&lt;/a&gt;() and &lt;a href="qwidget.html#maximumSize"&gt;maximumSize&lt;/a&gt;(). Furthermore, the size is always
+at least &lt;a href="qsize.html"&gt;QSize&lt;/a&gt;(1, 1). For toplevel widgets, the minimum size
+might be larger, depending on the window manager.
+&lt;p&gt; If you want a top-level window to have a fixed size, call
+setResizeMode( QLayout::FreeResize ) on its layout.
+&lt;p&gt; &lt;a href="qwidget.html#resize"&gt;resize&lt;/a&gt;() is virtual, and all other overloaded resize()
+implementations in Qt call it.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Calling resize() or &lt;a href="qwidget.html#setGeometry"&gt;setGeometry&lt;/a&gt;() inside resizeEvent() can
+lead to infinite recursion.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#pos-prop"&gt;pos&lt;/a&gt;, &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;, &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt;, and &lt;a href="qwidget.html#resizeEvent"&gt;resizeEvent&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#resize"&gt;resize&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#size"&gt;size&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::sizeHint</name>
+ <doc href="qwidget.html#sizeHint-prop">
+&lt;p&gt;This property holds the recommended size for the widget.
+&lt;p&gt;If the value of this property is an invalid size, no size is
+recommended.
+&lt;p&gt; The default implementation of &lt;a href="qwidget.html#sizeHint"&gt;sizeHint&lt;/a&gt;() returns an invalid size
+if there is no layout for this widget, and returns the layout's
+preferred size otherwise.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qsize.html#isValid"&gt;QSize::isValid&lt;/a&gt;(), &lt;a href="qwidget.html#minimumSizeHint-prop"&gt;minimumSizeHint&lt;/a&gt;, &lt;a href="qwidget.html#sizePolicy-prop"&gt;sizePolicy&lt;/a&gt;, &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, and &lt;a href="qwidget.html#updateGeometry"&gt;updateGeometry&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#sizeHint"&gt;sizeHint&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::sizeIncrement</name>
+ <doc href="qwidget.html#sizeIncrement-prop">
+&lt;p&gt;This property holds the size increment of the widget.
+&lt;p&gt;When the user resizes the window, the size will move in steps of
+&lt;a href="qwidget.html#sizeIncrement"&gt;sizeIncrement&lt;/a&gt;().&lt;a href="qwidget.html#width"&gt;width&lt;/a&gt;() pixels horizontally and
+sizeIncrement.&lt;a href="qwidget.html#height"&gt;height&lt;/a&gt;() pixels vertically, with &lt;a href="qwidget.html#baseSize"&gt;baseSize&lt;/a&gt;() as the
+basis. Preferred widget sizes are for non-negative integers &lt;em&gt;i&lt;/em&gt;
+and &lt;em&gt;j&lt;/em&gt;:
+&lt;pre&gt;
+ &lt;a href="qwidget.html#width-prop"&gt;width&lt;/a&gt; = &lt;a href="qwidget.html#baseSize"&gt;baseSize&lt;/a&gt;().width() + i * sizeIncrement().width();
+ &lt;a href="qwidget.html#height-prop"&gt;height&lt;/a&gt; = &lt;a href="qwidget.html#baseSize"&gt;baseSize&lt;/a&gt;().height() + j * sizeIncrement().height();
+ &lt;/pre&gt;
+
+&lt;p&gt; Note that while you can set the size increment for all widgets, it
+only affects top-level widgets.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; The size increment has no effect under Windows, and may
+be disregarded by the window manager on X.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;, &lt;a href="qwidget.html#minimumSize-prop"&gt;minimumSize&lt;/a&gt;, and &lt;a href="qwidget.html#maximumSize-prop"&gt;maximumSize&lt;/a&gt;.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setSizeIncrement"&gt;setSizeIncrement&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#sizeIncrement"&gt;sizeIncrement&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::sizePolicy</name>
+ <doc href="qwidget.html#sizePolicy-prop">
+&lt;p&gt;This property holds the default layout behavior of the widget.
+&lt;p&gt;If there is a &lt;a href="qlayout.html"&gt;QLayout&lt;/a&gt; that manages this widget's children, the
+size policy specified by that layout is used. If there is no such
+QLayout, the result of this function is used.
+&lt;p&gt; The default policy is Preferred/Preferred, which means that the
+widget can be freely resized, but prefers to be the size
+&lt;a href="qwidget.html#sizeHint"&gt;sizeHint&lt;/a&gt;() returns. Button-like widgets set the size policy to
+specify that they may stretch horizontally, but are fixed
+vertically. The same applies to lineedit controls (such as
+&lt;a href="qlineedit.html"&gt;QLineEdit&lt;/a&gt;, &lt;a href="qspinbox.html"&gt;QSpinBox&lt;/a&gt; or an editable &lt;a href="qcombobox.html"&gt;QComboBox&lt;/a&gt;) and other
+horizontally orientated widgets (such as &lt;a href="qprogressbar.html"&gt;QProgressBar&lt;/a&gt;).
+&lt;a href="qtoolbutton.html"&gt;QToolButton&lt;/a&gt;'s are normally square, so they allow growth in both
+directions. Widgets that support different directions (such as
+&lt;a href="qslider.html"&gt;QSlider&lt;/a&gt;, &lt;a href="qscrollbar.html"&gt;QScrollBar&lt;/a&gt; or &lt;a href="qheader.html"&gt;QHeader&lt;/a&gt;) specify stretching in the
+respective direction only. Widgets that can provide scrollbars
+(usually subclasses of &lt;a href="qscrollview.html"&gt;QScrollView&lt;/a&gt;) tend to specify that they can
+use additional space, and that they can make do with less than
+sizeHint().
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#sizeHint-prop"&gt;sizeHint&lt;/a&gt;, &lt;a href="qlayout.html"&gt;QLayout&lt;/a&gt;, &lt;a href="qsizepolicy.html"&gt;QSizePolicy&lt;/a&gt;, and &lt;a href="qwidget.html#updateGeometry"&gt;updateGeometry&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setSizePolicy"&gt;setSizePolicy&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#sizePolicy"&gt;sizePolicy&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::underMouse</name>
+ <doc href="qwidget.html#underMouse-prop">
+&lt;p&gt;This property holds whether the widget is under the mouse cursor.
+&lt;p&gt;This value is not updated properly during drag and drop
+operations.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qevent.html#Type-enum"&gt;QEvent::Enter&lt;/a&gt; and &lt;a href="qevent.html#Type-enum"&gt;QEvent::Leave&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#hasMouse"&gt;hasMouse&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::updatesEnabled</name>
+ <doc href="qwidget.html#updatesEnabled-prop">
+&lt;p&gt;This property holds whether updates are enabled.
+&lt;p&gt;Calling &lt;a href="qwidget.html#update"&gt;update&lt;/a&gt;() and &lt;a href="qwidget.html#repaint"&gt;repaint&lt;/a&gt;() has no effect if updates are
+disabled. Paint events from the window system are processed
+normally even if updates are disabled.
+&lt;p&gt; &lt;a href="qwidget.html#setUpdatesEnabled"&gt;setUpdatesEnabled&lt;/a&gt;() is normally used to disable updates for a
+short period of time, for instance to avoid screen flicker during
+large changes.
+&lt;p&gt; Example:
+&lt;pre&gt;
+ &lt;a href="qwidget.html#setUpdatesEnabled"&gt;setUpdatesEnabled&lt;/a&gt;( FALSE );
+ bigVisualChanges();
+ &lt;a href="qwidget.html#setUpdatesEnabled"&gt;setUpdatesEnabled&lt;/a&gt;( TRUE );
+ &lt;a href="qwidget.html#repaint"&gt;repaint&lt;/a&gt;();
+ &lt;/pre&gt;
+
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#update"&gt;update&lt;/a&gt;(), &lt;a href="qwidget.html#repaint"&gt;repaint&lt;/a&gt;(), and &lt;a href="qwidget.html#paintEvent"&gt;paintEvent&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setUpdatesEnabled"&gt;setUpdatesEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#isUpdatesEnabled"&gt;isUpdatesEnabled&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::visible</name>
+ <doc href="qwidget.html#visible-prop">
+&lt;p&gt;This property holds whether the widget is visible.
+&lt;p&gt;Calling &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;() sets the widget to visible status if all its parent
+widgets up to the top-level widget are visible. If an ancestor is
+not visible, the widget won't become visible until all its
+ancestors are shown.
+&lt;p&gt; Calling &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;() hides a widget explicitly. An explicitly hidden
+widget will never become visible, even if all its ancestors become
+visible, unless you show it.
+&lt;p&gt; A widget receives show and hide events when its visibility status
+changes. Between a hide and a show event, there is no need to
+waste CPU cycles preparing or displaying information to the user.
+A video application, for example, might simply stop generating new
+frames.
+&lt;p&gt; A widget that happens to be obscured by other windows on the
+screen is considered to be visible. The same applies to iconified
+top-level widgets and windows that exist on another virtual
+desktop (on platforms that support this concept). A widget
+receives spontaneous show and hide events when its mapping status
+is changed by the window system, e.g. a spontaneous hide event
+when the user minimizes the window, and a spontaneous show event
+when the window is restored again.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#show"&gt;show&lt;/a&gt;(), &lt;a href="qwidget.html#hide"&gt;hide&lt;/a&gt;(), &lt;a href="qwidget.html#hidden-prop"&gt;hidden&lt;/a&gt;, &lt;a href="qwidget.html#isVisibleTo"&gt;isVisibleTo&lt;/a&gt;(), &lt;a href="qwidget.html#minimized-prop"&gt;minimized&lt;/a&gt;, &lt;a href="qwidget.html#showEvent"&gt;showEvent&lt;/a&gt;(), and &lt;a href="qwidget.html#hideEvent"&gt;hideEvent&lt;/a&gt;().
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#isVisible"&gt;isVisible&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::visibleRect</name>
+ <doc href="qwidget.html#visibleRect-prop">
+&lt;p&gt;This property holds the visible rectangle.
+&lt;p&gt;&lt;b&gt;This property is obsolete.&lt;/b&gt; It is provided to keep old source working. We strongly advise against using it in new code.
+&lt;p&gt; No longer necessary, you can simply call &lt;a href="qwidget.html#repaint"&gt;repaint&lt;/a&gt;(). If you do not
+need the rectangle for repaint(), use &lt;a href="qwidget.html#clipRegion"&gt;clipRegion&lt;/a&gt;() instead.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#visibleRect"&gt;visibleRect&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::width</name>
+ <doc href="qwidget.html#width-prop">
+&lt;p&gt;This property holds the width of the widget excluding any window frame.
+&lt;p&gt;See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#geometry-prop"&gt;geometry&lt;/a&gt;, &lt;a href="qwidget.html#height-prop"&gt;height&lt;/a&gt;, and &lt;a href="qwidget.html#size-prop"&gt;size&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#width"&gt;width&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::windowOpacity</name>
+ <doc href="qwidget.html#windowOpacity-prop">
+&lt;p&gt;This property holds the level of opacity for the window.
+&lt;p&gt;The valid range of opacity is from 1.0 (completely opaque) to
+0.0 (completely transparent).
+&lt;p&gt; By default the value of this property is 1.0.
+&lt;p&gt; This feature is only present on Mac OS X and Windows 2000 and up.
+&lt;p&gt; &lt;b&gt;Warning:&lt;/b&gt; Changing this property from opaque to transparent might issue a
+paint event that needs to be processed before the window is displayed
+correctly. This affects mainly the use of &lt;a href="qpixmap.html#grabWindow"&gt;QPixmap::grabWindow&lt;/a&gt;(). Also note
+that semi-transparent windows update and resize significantely slower than
+opaque windows.
+
+&lt;p&gt;Set this property's value with &lt;a href="qwidget.html#setWindowOpacity"&gt;setWindowOpacity&lt;/a&gt;() and get this property's value with &lt;a href="qwidget.html#windowOpacity"&gt;windowOpacity&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::x</name>
+ <doc href="qwidget.html#x-prop"> &lt;p&gt;This property holds the x coordinate of the widget relative to its parent including any window frame.
+&lt;p&gt;See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#frameGeometry-prop"&gt;frameGeometry&lt;/a&gt;, &lt;a href="qwidget.html#y-prop"&gt;y&lt;/a&gt;, and &lt;a href="qwidget.html#pos-prop"&gt;pos&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#x"&gt;x&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWidget::y</name>
+ <doc href="qwidget.html#y-prop">
+&lt;p&gt;This property holds the y coordinate of the widget relative to its parent and including any window frame.
+&lt;p&gt;See the &lt;a href="geometry.html"&gt;Window Geometry documentation&lt;/a&gt;
+for an overview of top-level widget geometry.
+&lt;p&gt; &lt;p&gt;See also &lt;a href="qwidget.html#frameGeometry-prop"&gt;frameGeometry&lt;/a&gt;, &lt;a href="qwidget.html#x-prop"&gt;x&lt;/a&gt;, and &lt;a href="qwidget.html#pos-prop"&gt;pos&lt;/a&gt;.
+
+&lt;p&gt;Get this property's value with &lt;a href="qwidget.html#y"&gt;y&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWizard::titleFont</name>
+ <doc href="qwizard.html#titleFont-prop">
+&lt;p&gt;This property holds the font used for page titles.
+&lt;p&gt;The default is &lt;a href="qapplication.html#font"&gt;QApplication::font&lt;/a&gt;().
+
+&lt;p&gt;Set this property's value with &lt;a href="qwizard.html#setTitleFont"&gt;setTitleFont&lt;/a&gt;() and get this property's value with &lt;a href="qwizard.html#titleFont"&gt;titleFont&lt;/a&gt;().
+</doc>
+</property>
+<property>
+ <name>QWorkspace::scrollBarsEnabled</name>
+ <doc href="qworkspace.html#scrollBarsEnabled-prop">
+&lt;p&gt;This property holds whether the workspace provides scrollbars.
+&lt;p&gt;If this property is set to TRUE, it is possible to resize child
+windows over the right or the bottom edge out of the visible area
+of the workspace. The workspace shows scrollbars to make it
+possible for the user to access those windows. If this property is
+set to FALSE (the default), resizing windows out of the visible
+area of the workspace is not permitted.
+
+&lt;p&gt;Set this property's value with &lt;a href="qworkspace.html#setScrollBarsEnabled"&gt;setScrollBarsEnabled&lt;/a&gt;() and get this property's value with &lt;a href="qworkspace.html#scrollBarsEnabled"&gt;scrollBarsEnabled&lt;/a&gt;().
+</doc>
+</property>
+</PROP>
diff --git a/doc/html/propertyindex b/doc/html/propertyindex
new file mode 100644
index 0000000..c108faa
--- /dev/null
+++ b/doc/html/propertyindex
@@ -0,0 +1,425 @@
+"QAction/accel" qaction.html#accel-prop
+"QAction/enabled" qaction.html#enabled-prop
+"QAction/iconSet" qaction.html#iconSet-prop
+"QAction/menuText" qaction.html#menuText-prop
+"QAction/on" qaction.html#on-prop
+"QAction/statusTip" qaction.html#statusTip-prop
+"QAction/text" qaction.html#text-prop
+"QAction/toggleAction" qaction.html#toggleAction-prop
+"QAction/toolTip" qaction.html#toolTip-prop
+"QAction/visible" qaction.html#visible-prop
+"QAction/whatsThis" qaction.html#whatsThis-prop
+"QActionGroup/exclusive" qactiongroup.html#exclusive-prop
+"QActionGroup/usesDropDown" qactiongroup.html#usesDropDown-prop
+"QAssistantClient/open" qassistantclient.html#open-prop
+"QAxBase/control" qaxbase.html#control-prop
+"QButton/accel" qbutton.html#accel-prop
+"QButton/autoRepeat" qbutton.html#autoRepeat-prop
+"QButton/autoResize" qbutton.html#autoResize-prop
+"QButton/down" qbutton.html#down-prop
+"QButton/exclusiveToggle" qbutton.html#exclusiveToggle-prop
+"QButton/on" qbutton.html#on-prop
+"QButton/pixmap" qbutton.html#pixmap-prop
+"QButton/text" qbutton.html#text-prop
+"QButton/toggleButton" qbutton.html#toggleButton-prop
+"QButton/toggleState" qbutton.html#toggleState-prop
+"QButton/toggleType" qbutton.html#toggleType-prop
+"QButtonGroup/exclusive" qbuttongroup.html#exclusive-prop
+"QButtonGroup/radioButtonExclusive" qbuttongroup.html#radioButtonExclusive-prop
+"QButtonGroup/selectedId" qbuttongroup.html#selectedId-prop
+"QCheckBox/checked" qcheckbox.html#checked-prop
+"QCheckBox/tristate" qcheckbox.html#tristate-prop
+"QComboBox/autoCompletion" qcombobox.html#autoCompletion-prop
+"QComboBox/autoResize" qcombobox.html#autoResize-prop
+"QComboBox/count" qcombobox.html#count-prop
+"QComboBox/currentItem" qcombobox.html#currentItem-prop
+"QComboBox/currentText" qcombobox.html#currentText-prop
+"QComboBox/duplicatesEnabled" qcombobox.html#duplicatesEnabled-prop
+"QComboBox/editable" qcombobox.html#editable-prop
+"QComboBox/insertionPolicy" qcombobox.html#insertionPolicy-prop
+"QComboBox/maxCount" qcombobox.html#maxCount-prop
+"QComboBox/sizeLimit" qcombobox.html#sizeLimit-prop
+"QDataBrowser/autoEdit" qdatabrowser.html#autoEdit-prop
+"QDataBrowser/boundaryChecking" qdatabrowser.html#boundaryChecking-prop
+"QDataBrowser/confirmCancels" qdatabrowser.html#confirmCancels-prop
+"QDataBrowser/confirmDelete" qdatabrowser.html#confirmDelete-prop
+"QDataBrowser/confirmEdits" qdatabrowser.html#confirmEdits-prop
+"QDataBrowser/confirmInsert" qdatabrowser.html#confirmInsert-prop
+"QDataBrowser/confirmUpdate" qdatabrowser.html#confirmUpdate-prop
+"QDataBrowser/filter" qdatabrowser.html#filter-prop
+"QDataBrowser/readOnly" qdatabrowser.html#readOnly-prop
+"QDataBrowser/sort" qdatabrowser.html#sort-prop
+"QDataTable/autoEdit" qdatatable.html#autoEdit-prop
+"QDataTable/confirmCancels" qdatatable.html#confirmCancels-prop
+"QDataTable/confirmDelete" qdatatable.html#confirmDelete-prop
+"QDataTable/confirmEdits" qdatatable.html#confirmEdits-prop
+"QDataTable/confirmInsert" qdatatable.html#confirmInsert-prop
+"QDataTable/confirmUpdate" qdatatable.html#confirmUpdate-prop
+"QDataTable/dateFormat" qdatatable.html#dateFormat-prop
+"QDataTable/falseText" qdatatable.html#falseText-prop
+"QDataTable/filter" qdatatable.html#filter-prop
+"QDataTable/nullText" qdatatable.html#nullText-prop
+"QDataTable/numCols" qdatatable.html#numCols-prop
+"QDataTable/numRows" qdatatable.html#numRows-prop
+"QDataTable/sort" qdatatable.html#sort-prop
+"QDataTable/trueText" qdatatable.html#trueText-prop
+"QDateEdit/autoAdvance" qdateedit.html#autoAdvance-prop
+"QDateEdit/date" qdateedit.html#date-prop
+"QDateEdit/maxValue" qdateedit.html#maxValue-prop
+"QDateEdit/minValue" qdateedit.html#minValue-prop
+"QDateEdit/order" qdateedit.html#order-prop
+"QDateTimeEdit/dateTime" qdatetimeedit.html#dateTime-prop
+"QDial/lineStep" qdial.html#lineStep-prop
+"QDial/maxValue" qdial.html#maxValue-prop
+"QDial/minValue" qdial.html#minValue-prop
+"QDial/notchSize" qdial.html#notchSize-prop
+"QDial/notchTarget" qdial.html#notchTarget-prop
+"QDial/notchesVisible" qdial.html#notchesVisible-prop
+"QDial/pageStep" qdial.html#pageStep-prop
+"QDial/tracking" qdial.html#tracking-prop
+"QDial/value" qdial.html#value-prop
+"QDial/wrapping" qdial.html#wrapping-prop
+"QDialog/modal" qdialog.html#modal-prop
+"QDialog/sizeGripEnabled" qdialog.html#sizeGripEnabled-prop
+"QDockArea/count" qdockarea.html#count-prop
+"QDockArea/empty" qdockarea.html#empty-prop
+"QDockArea/handlePosition" qdockarea.html#handlePosition-prop
+"QDockArea/orientation" qdockarea.html#orientation-prop
+"QDockWindow/closeMode" qdockwindow.html#closeMode-prop
+"QDockWindow/horizontallyStretchable" qdockwindow.html#horizontallyStretchable-prop
+"QDockWindow/movingEnabled" qdockwindow.html#movingEnabled-prop
+"QDockWindow/newLine" qdockwindow.html#newLine-prop
+"QDockWindow/offset" qdockwindow.html#offset-prop
+"QDockWindow/opaqueMoving" qdockwindow.html#opaqueMoving-prop
+"QDockWindow/place" qdockwindow.html
+"QDockWindow/resizeEnabled" qdockwindow.html#resizeEnabled-prop
+"QDockWindow/stretchable" qdockwindow.html#stretchable-prop
+"QDockWindow/verticallyStretchable" qdockwindow.html#verticallyStretchable-prop
+"QDoubleValidator/bottom" qdoublevalidator.html#bottom-prop
+"QDoubleValidator/decimals" qdoublevalidator.html#decimals-prop
+"QDoubleValidator/top" qdoublevalidator.html#top-prop
+"QFileDialog/contentsPreview" qfiledialog.html#contentsPreview-prop
+"QFileDialog/dirPath" qfiledialog.html#dirPath-prop
+"QFileDialog/infoPreview" qfiledialog.html#infoPreview-prop
+"QFileDialog/mode" qfiledialog.html#mode-prop
+"QFileDialog/previewMode" qfiledialog.html#previewMode-prop
+"QFileDialog/selectedFile" qfiledialog.html#selectedFile-prop
+"QFileDialog/selectedFiles" qfiledialog.html#selectedFiles-prop
+"QFileDialog/selectedFilter" qfiledialog.html#selectedFilter-prop
+"QFileDialog/showHiddenFiles" qfiledialog.html#showHiddenFiles-prop
+"QFileDialog/viewMode" qfiledialog.html#viewMode-prop
+"QFrame/contentsRect" qframe.html#contentsRect-prop
+"QFrame/frameRect" qframe.html#frameRect-prop
+"QFrame/frameShadow" qframe.html#frameShadow-prop
+"QFrame/frameShape" qframe.html#frameShape-prop
+"QFrame/frameWidth" qframe.html#frameWidth-prop
+"QFrame/lineWidth" qframe.html#lineWidth-prop
+"QFrame/margin" qframe.html#margin-prop
+"QFrame/midLineWidth" qframe.html#midLineWidth-prop
+"QGridView/cellHeight" qgridview.html#cellHeight-prop
+"QGridView/cellWidth" qgridview.html#cellWidth-prop
+"QGridView/numCols" qgridview.html#numCols-prop
+"QGridView/numRows" qgridview.html#numRows-prop
+"QGroupBox/alignment" qgroupbox.html#alignment-prop
+"QGroupBox/checkable" qgroupbox.html#checkable-prop
+"QGroupBox/checked" qgroupbox.html#checked-prop
+"QGroupBox/columns" qgroupbox.html#columns-prop
+"QGroupBox/flat" qgroupbox.html#flat-prop
+"QGroupBox/orientation" qgroupbox.html#orientation-prop
+"QGroupBox/title" qgroupbox.html#title-prop
+"QHeader/count" qheader.html#count-prop
+"QHeader/moving" qheader.html#moving-prop
+"QHeader/offset" qheader.html#offset-prop
+"QHeader/orientation" qheader.html#orientation-prop
+"QHeader/stretching" qheader.html#stretching-prop
+"QHeader/tracking" qheader.html#tracking-prop
+"QIconView/arrangement" qiconview.html#arrangement-prop
+"QIconView/autoArrange" qiconview.html#autoArrange-prop
+"QIconView/count" qiconview.html#count-prop
+"QIconView/gridX" qiconview.html#gridX-prop
+"QIconView/gridY" qiconview.html#gridY-prop
+"QIconView/itemTextBackground" qiconview.html#itemTextBackground-prop
+"QIconView/itemTextPos" qiconview.html#itemTextPos-prop
+"QIconView/itemsMovable" qiconview.html#itemsMovable-prop
+"QIconView/maxItemTextLength" qiconview.html#maxItemTextLength-prop
+"QIconView/maxItemWidth" qiconview.html#maxItemWidth-prop
+"QIconView/resizeMode" qiconview.html#resizeMode-prop
+"QIconView/selectionMode" qiconview.html#selectionMode-prop
+"QIconView/showToolTips" qiconview.html#showToolTips-prop
+"QIconView/sortDirection" qiconview.html#sortDirection-prop
+"QIconView/sorting" qiconview.html#sorting-prop
+"QIconView/spacing" qiconview.html#spacing-prop
+"QIconView/wordWrapIconText" qiconview.html#wordWrapIconText-prop
+"QIntValidator/bottom" qintvalidator.html#bottom-prop
+"QIntValidator/top" qintvalidator.html#top-prop
+"QLCDNumber/intValue" qlcdnumber.html#intValue-prop
+"QLCDNumber/mode" qlcdnumber.html#mode-prop
+"QLCDNumber/numDigits" qlcdnumber.html#numDigits-prop
+"QLCDNumber/segmentStyle" qlcdnumber.html#segmentStyle-prop
+"QLCDNumber/smallDecimalPoint" qlcdnumber.html#smallDecimalPoint-prop
+"QLCDNumber/value" qlcdnumber.html#value-prop
+"QLabel/alignment" qlabel.html#alignment-prop
+"QLabel/indent" qlabel.html#indent-prop
+"QLabel/pixmap" qlabel.html#pixmap-prop
+"QLabel/scaledContents" qlabel.html#scaledContents-prop
+"QLabel/text" qlabel.html#text-prop
+"QLabel/textFormat" qlabel.html#textFormat-prop
+"QLayout/margin" qlayout.html#margin-prop
+"QLayout/resizeMode" qlayout.html#resizeMode-prop
+"QLayout/spacing" qlayout.html#spacing-prop
+"QLineEdit/acceptableInput" qlineedit.html#acceptableInput-prop
+"QLineEdit/alignment" qlineedit.html#alignment-prop
+"QLineEdit/cursorPosition" qlineedit.html#cursorPosition-prop
+"QLineEdit/displayText" qlineedit.html#displayText-prop
+"QLineEdit/dragEnabled" qlineedit.html#dragEnabled-prop
+"QLineEdit/echoMode" qlineedit.html#echoMode-prop
+"QLineEdit/edited" qlineedit.html#edited-prop
+"QLineEdit/frame" qlineedit.html#frame-prop
+"QLineEdit/hasMarkedText" qlineedit.html#hasMarkedText-prop
+"QLineEdit/hasSelectedText" qlineedit.html#hasSelectedText-prop
+"QLineEdit/inputMask" qlineedit.html#inputMask-prop
+"QLineEdit/markedText" qlineedit.html#markedText-prop
+"QLineEdit/maxLength" qlineedit.html#maxLength-prop
+"QLineEdit/modified" qlineedit.html#modified-prop
+"QLineEdit/readOnly" qlineedit.html#readOnly-prop
+"QLineEdit/redoAvailable" qlineedit.html#redoAvailable-prop
+"QLineEdit/selectedText" qlineedit.html#selectedText-prop
+"QLineEdit/text" qlineedit.html#text-prop
+"QLineEdit/undoAvailable" qlineedit.html#undoAvailable-prop
+"QListBox/columnMode" qlistbox.html#columnMode-prop
+"QListBox/count" qlistbox.html#count-prop
+"QListBox/currentItem" qlistbox.html#currentItem-prop
+"QListBox/currentText" qlistbox.html#currentText-prop
+"QListBox/multiSelection" qlistbox.html#multiSelection-prop
+"QListBox/numColumns" qlistbox.html#numColumns-prop
+"QListBox/numItemsVisible" qlistbox.html#numItemsVisible-prop
+"QListBox/numRows" qlistbox.html#numRows-prop
+"QListBox/rowMode" qlistbox.html#rowMode-prop
+"QListBox/selectionMode" qlistbox.html#selectionMode-prop
+"QListBox/topItem" qlistbox.html#topItem-prop
+"QListBox/variableHeight" qlistbox.html#variableHeight-prop
+"QListBox/variableWidth" qlistbox.html#variableWidth-prop
+"QListView/allColumnsShowFocus" qlistview.html#allColumnsShowFocus-prop
+"QListView/childCount" qlistview.html#childCount-prop
+"QListView/columns" qlistview.html#columns-prop
+"QListView/defaultRenameAction" qlistview.html#defaultRenameAction-prop
+"QListView/itemMargin" qlistview.html#itemMargin-prop
+"QListView/multiSelection" qlistview.html#multiSelection-prop
+"QListView/resizeMode" qlistview.html#resizeMode-prop
+"QListView/rootIsDecorated" qlistview.html#rootIsDecorated-prop
+"QListView/selectionMode" qlistview.html#selectionMode-prop
+"QListView/showSortIndicator" qlistview.html#showSortIndicator-prop
+"QListView/showToolTips" qlistview.html#showToolTips-prop
+"QListView/treeStepSize" qlistview.html#treeStepSize-prop
+"QMainWindow/dockWindowsMovable" qmainwindow.html#dockWindowsMovable-prop
+"QMainWindow/opaqueMoving" qmainwindow.html#opaqueMoving-prop
+"QMainWindow/rightJustification" qmainwindow.html#rightJustification-prop
+"QMainWindow/usesBigPixmaps" qmainwindow.html#usesBigPixmaps-prop
+"QMainWindow/usesTextLabel" qmainwindow.html#usesTextLabel-prop
+"QMenuBar/defaultUp" qmenubar.html#defaultUp-prop
+"QMenuBar/separator" qmenubar.html#separator-prop
+"QMessageBox/icon" qmessagebox.html#icon-prop
+"QMessageBox/iconPixmap" qmessagebox.html#iconPixmap-prop
+"QMessageBox/text" qmessagebox.html#text-prop
+"QMessageBox/textFormat" qmessagebox.html#textFormat-prop
+"QMultiLineEdit/alignment" qmultilineedit.html#alignment-prop
+"QMultiLineEdit/atBeginning" qmultilineedit.html#atBeginning-prop
+"QMultiLineEdit/atEnd" qmultilineedit.html#atEnd-prop
+"QMultiLineEdit/edited" qmultilineedit.html#edited-prop
+"QMultiLineEdit/numLines" qmultilineedit.html#numLines-prop
+"QObject/name" qobject.html#name-prop
+"QPopupMenu/checkable" qpopupmenu.html#checkable-prop
+"QProgressBar/centerIndicator" qprogressbar.html#centerIndicator-prop
+"QProgressBar/indicatorFollowsStyle" qprogressbar.html#indicatorFollowsStyle-prop
+"QProgressBar/percentageVisible" qprogressbar.html#percentageVisible-prop
+"QProgressBar/progress" qprogressbar.html#progress-prop
+"QProgressBar/progressString" qprogressbar.html#progressString-prop
+"QProgressBar/totalSteps" qprogressbar.html#totalSteps-prop
+"QProgressDialog/autoClose" qprogressdialog.html#autoClose-prop
+"QProgressDialog/autoReset" qprogressdialog.html#autoReset-prop
+"QProgressDialog/labelText" qprogressdialog.html#labelText-prop
+"QProgressDialog/minimumDuration" qprogressdialog.html#minimumDuration-prop
+"QProgressDialog/progress" qprogressdialog.html#progress-prop
+"QProgressDialog/totalSteps" qprogressdialog.html#totalSteps-prop
+"QProgressDialog/wasCanceled" qprogressdialog.html#wasCanceled-prop
+"QProgressDialog/wasCancelled" qprogressdialog.html#wasCancelled-prop
+"QPushButton/autoDefault" qpushbutton.html#autoDefault-prop
+"QPushButton/default" qpushbutton.html#default-prop
+"QPushButton/flat" qpushbutton.html#flat-prop
+"QPushButton/iconSet" qpushbutton.html#iconSet-prop
+"QPushButton/menuButton" qpushbutton.html#menuButton-prop
+"QRadioButton/checked" qradiobutton.html#checked-prop
+"QScrollBar/draggingSlider" qscrollbar.html#draggingSlider-prop
+"QScrollBar/lineStep" qscrollbar.html#lineStep-prop
+"QScrollBar/maxValue" qscrollbar.html#maxValue-prop
+"QScrollBar/minValue" qscrollbar.html#minValue-prop
+"QScrollBar/orientation" qscrollbar.html#orientation-prop
+"QScrollBar/pageStep" qscrollbar.html#pageStep-prop
+"QScrollBar/tracking" qscrollbar.html#tracking-prop
+"QScrollBar/value" qscrollbar.html#value-prop
+"QScrollView/contentsHeight" qscrollview.html#contentsHeight-prop
+"QScrollView/contentsWidth" qscrollview.html#contentsWidth-prop
+"QScrollView/contentsX" qscrollview.html#contentsX-prop
+"QScrollView/contentsY" qscrollview.html#contentsY-prop
+"QScrollView/dragAutoScroll" qscrollview.html#dragAutoScroll-prop
+"QScrollView/hScrollBarMode" qscrollview.html#hScrollBarMode-prop
+"QScrollView/resizePolicy" qscrollview.html#resizePolicy-prop
+"QScrollView/vScrollBarMode" qscrollview.html#vScrollBarMode-prop
+"QScrollView/visibleHeight" qscrollview.html#visibleHeight-prop
+"QScrollView/visibleWidth" qscrollview.html#visibleWidth-prop
+"QSlider/lineStep" qslider.html#lineStep-prop
+"QSlider/maxValue" qslider.html#maxValue-prop
+"QSlider/minValue" qslider.html#minValue-prop
+"QSlider/orientation" qslider.html#orientation-prop
+"QSlider/pageStep" qslider.html#pageStep-prop
+"QSlider/tickInterval" qslider.html#tickInterval-prop
+"QSlider/tickmarks" qslider.html#tickmarks-prop
+"QSlider/tracking" qslider.html#tracking-prop
+"QSlider/value" qslider.html#value-prop
+"QSpinBox/buttonSymbols" qspinbox.html#buttonSymbols-prop
+"QSpinBox/cleanText" qspinbox.html#cleanText-prop
+"QSpinBox/lineStep" qspinbox.html#lineStep-prop
+"QSpinBox/maxValue" qspinbox.html#maxValue-prop
+"QSpinBox/minValue" qspinbox.html#minValue-prop
+"QSpinBox/prefix" qspinbox.html#prefix-prop
+"QSpinBox/specialValueText" qspinbox.html#specialValueText-prop
+"QSpinBox/suffix" qspinbox.html#suffix-prop
+"QSpinBox/text" qspinbox.html#text-prop
+"QSpinBox/value" qspinbox.html#value-prop
+"QSpinBox/wrapping" qspinbox.html#wrapping-prop
+"QSplitter/childrenCollapsible" qsplitter.html#childrenCollapsible-prop
+"QSplitter/handleWidth" qsplitter.html#handleWidth-prop
+"QSplitter/opaqueResize" qsplitter.html#opaqueResize-prop
+"QSplitter/orientation" qsplitter.html#orientation-prop
+"QSqlDatabase/connectOptions" qsqldatabase.html#connectOptions-prop
+"QSqlDatabase/databaseName" qsqldatabase.html#databaseName-prop
+"QSqlDatabase/hostName" qsqldatabase.html#hostName-prop
+"QSqlDatabase/password" qsqldatabase.html#password-prop
+"QSqlDatabase/port" qsqldatabase.html#port-prop
+"QSqlDatabase/userName" qsqldatabase.html#userName-prop
+"QStatusBar/sizeGripEnabled" qstatusbar.html#sizeGripEnabled-prop
+"QTabBar/count" qtabbar.html#count-prop
+"QTabBar/currentTab" qtabbar.html#currentTab-prop
+"QTabBar/keyboardFocusTab" qtabbar.html#keyboardFocusTab-prop
+"QTabBar/shape" qtabbar.html#shape-prop
+"QTabWidget/count" qtabwidget.html#count-prop
+"QTabWidget/currentPage" qtabwidget.html#currentPage-prop
+"QTabWidget/margin" qtabwidget.html#margin-prop
+"QTabWidget/tabPosition" qtabwidget.html#tabPosition-prop
+"QTabWidget/tabShape" qtabwidget.html#tabShape-prop
+"QTable/columnMovingEnabled" qtable.html#columnMovingEnabled-prop
+"QTable/focusStyle" qtable.html#focusStyle-prop
+"QTable/numCols" qtable.html#numCols-prop
+"QTable/numRows" qtable.html#numRows-prop
+"QTable/numSelections" qtable.html#numSelections-prop
+"QTable/readOnly" qtable.html#readOnly-prop
+"QTable/rowMovingEnabled" qtable.html#rowMovingEnabled-prop
+"QTable/selectionMode" qtable.html#selectionMode-prop
+"QTable/showGrid" qtable.html#showGrid-prop
+"QTable/sorting" qtable.html#sorting-prop
+"QTextBrowser/source" qtextbrowser.html#source-prop
+"QTextEdit/autoFormatting" qtextedit.html#autoFormatting-prop
+"QTextEdit/documentTitle" qtextedit.html#documentTitle-prop
+"QTextEdit/hasSelectedText" qtextedit.html#hasSelectedText-prop
+"QTextEdit/length" qtextedit.html#length-prop
+"QTextEdit/linkUnderline" qtextedit.html#linkUnderline-prop
+"QTextEdit/modified" qtextedit.html#modified-prop
+"QTextEdit/overwriteMode" qtextedit.html#overwriteMode-prop
+"QTextEdit/paper" qtextedit.html#paper-prop
+"QTextEdit/readOnly" qtextedit.html#readOnly-prop
+"QTextEdit/selectedText" qtextedit.html#selectedText-prop
+"QTextEdit/tabChangesFocus" qtextedit.html#tabChangesFocus-prop
+"QTextEdit/tabStopWidth" qtextedit.html#tabStopWidth-prop
+"QTextEdit/text" qtextedit.html#text-prop
+"QTextEdit/textFormat" qtextedit.html#textFormat-prop
+"QTextEdit/undoDepth" qtextedit.html#undoDepth-prop
+"QTextEdit/undoRedoEnabled" qtextedit.html#undoRedoEnabled-prop
+"QTextEdit/wordWrap" qtextedit.html#wordWrap-prop
+"QTextEdit/wrapColumnOrWidth" qtextedit.html#wrapColumnOrWidth-prop
+"QTextEdit/wrapPolicy" qtextedit.html#wrapPolicy-prop
+"QTimeEdit/autoAdvance" qtimeedit.html#autoAdvance-prop
+"QTimeEdit/display" qtimeedit.html#display-prop
+"QTimeEdit/maxValue" qtimeedit.html#maxValue-prop
+"QTimeEdit/minValue" qtimeedit.html#minValue-prop
+"QTimeEdit/time" qtimeedit.html#time-prop
+"QToolBar/label" qtoolbar.html#label-prop
+"QToolBox/count" qtoolbox.html#count-prop
+"QToolBox/currentIndex" qtoolbox.html#currentIndex-prop
+"QToolButton/autoRaise" qtoolbutton.html#autoRaise-prop
+"QToolButton/iconSet" qtoolbutton.html#iconSet-prop
+"QToolButton/offIconSet" qtoolbutton.html#offIconSet-prop
+"QToolButton/onIconSet" qtoolbutton.html#onIconSet-prop
+"QToolButton/popupDelay" qtoolbutton.html#popupDelay-prop
+"QToolButton/textLabel" qtoolbutton.html#textLabel-prop
+"QToolButton/textPosition" qtoolbutton.html#textPosition-prop
+"QToolButton/usesBigPixmap" qtoolbutton.html#usesBigPixmap-prop
+"QToolButton/usesTextLabel" qtoolbutton.html#usesTextLabel-prop
+"QToolTipGroup/delay" qtooltipgroup.html#delay-prop
+"QToolTipGroup/enabled" qtooltipgroup.html#enabled-prop
+"QWidget/acceptDrops" qwidget.html#acceptDrops-prop
+"QWidget/autoMask" qwidget.html#autoMask-prop
+"QWidget/backgroundBrush" qwidget.html#backgroundBrush-prop
+"QWidget/backgroundMode" qwidget.html#backgroundMode-prop
+"QWidget/backgroundOrigin" qwidget.html#backgroundOrigin-prop
+"QWidget/baseSize" qwidget.html#baseSize-prop
+"QWidget/caption" qwidget.html#caption-prop
+"QWidget/childrenRect" qwidget.html#childrenRect-prop
+"QWidget/childrenRegion" qwidget.html#childrenRegion-prop
+"QWidget/colorGroup" qwidget.html#colorGroup-prop
+"QWidget/cursor" qwidget.html#cursor-prop
+"QWidget/customWhatsThis" qwidget.html#customWhatsThis-prop
+"QWidget/enabled" qwidget.html#enabled-prop
+"QWidget/focus" qwidget.html#focus-prop
+"QWidget/focusEnabled" qwidget.html#focusEnabled-prop
+"QWidget/focusPolicy" qwidget.html#focusPolicy-prop
+"QWidget/font" qwidget.html#font-prop
+"QWidget/frameGeometry" qwidget.html#frameGeometry-prop
+"QWidget/frameSize" qwidget.html#frameSize-prop
+"QWidget/fullScreen" qwidget.html#fullScreen-prop
+"QWidget/geometry" qwidget.html#geometry-prop
+"QWidget/height" qwidget.html#height-prop
+"QWidget/hidden" qwidget.html#hidden-prop
+"QWidget/icon" qwidget.html#icon-prop
+"QWidget/iconText" qwidget.html#iconText-prop
+"QWidget/inputMethodEnabled" qwidget.html#inputMethodEnabled-prop
+"QWidget/isActiveWindow" qwidget.html#isActiveWindow-prop
+"QWidget/isDesktop" qwidget.html#isDesktop-prop
+"QWidget/isDialog" qwidget.html#isDialog-prop
+"QWidget/isModal" qwidget.html#isModal-prop
+"QWidget/isPopup" qwidget.html#isPopup-prop
+"QWidget/isTopLevel" qwidget.html#isTopLevel-prop
+"QWidget/maximized" qwidget.html#maximized-prop
+"QWidget/maximumHeight" qwidget.html#maximumHeight-prop
+"QWidget/maximumSize" qwidget.html#maximumSize-prop
+"QWidget/maximumWidth" qwidget.html#maximumWidth-prop
+"QWidget/microFocusHint" qwidget.html#microFocusHint-prop
+"QWidget/minimized" qwidget.html#minimized-prop
+"QWidget/minimumHeight" qwidget.html#minimumHeight-prop
+"QWidget/minimumSize" qwidget.html#minimumSize-prop
+"QWidget/minimumSizeHint" qwidget.html#minimumSizeHint-prop
+"QWidget/minimumWidth" qwidget.html#minimumWidth-prop
+"QWidget/mouseTracking" qwidget.html#mouseTracking-prop
+"QWidget/ownCursor" qwidget.html#ownCursor-prop
+"QWidget/ownFont" qwidget.html#ownFont-prop
+"QWidget/ownPalette" qwidget.html#ownPalette-prop
+"QWidget/palette" qwidget.html#palette-prop
+"QWidget/paletteBackgroundColor" qwidget.html#paletteBackgroundColor-prop
+"QWidget/paletteBackgroundPixmap" qwidget.html#paletteBackgroundPixmap-prop
+"QWidget/paletteForegroundColor" qwidget.html#paletteForegroundColor-prop
+"QWidget/pos" qwidget.html#pos-prop
+"QWidget/rect" qwidget.html#rect-prop
+"QWidget/shown" qwidget.html#shown-prop
+"QWidget/size" qwidget.html#size-prop
+"QWidget/sizeHint" qwidget.html#sizeHint-prop
+"QWidget/sizeIncrement" qwidget.html#sizeIncrement-prop
+"QWidget/sizePolicy" qwidget.html#sizePolicy-prop
+"QWidget/underMouse" qwidget.html#underMouse-prop
+"QWidget/updatesEnabled" qwidget.html#updatesEnabled-prop
+"QWidget/visible" qwidget.html#visible-prop
+"QWidget/visibleRect" qwidget.html#visibleRect-prop
+"QWidget/width" qwidget.html#width-prop
+"QWidget/windowOpacity" qwidget.html#windowOpacity-prop
+"QWidget/x" qwidget.html#x-prop
+"QWidget/y" qwidget.html#y-prop
+"QWizard/titleFont" qwizard.html#titleFont-prop
+"QWorkspace/scrollBarsEnabled" qworkspace.html#scrollBarsEnabled-prop
diff --git a/doc/html/qaccel-h.html b/doc/html/qaccel-h.html
new file mode 100644
index 0000000..fab4f2f
--- /dev/null
+++ b/doc/html/qaccel-h.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccel.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaccel.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaccel.h</h1>
+
+<p>This is the verbatim text of the qaccel.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaccel.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QAccel class
+**
+** Created : 950419
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QACCEL_H
+#define QACCEL_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qkeysequence.h"
+#endif // QT_H
+
+#ifndef QT_NO_ACCEL
+
+class QAccelPrivate;
+
+class Q_EXPORT QAccel : public QObject // accelerator class
+{
+ Q_OBJECT
+public:
+ QAccel( QWidget *parent, const char *name=0 );
+ QAccel( QWidget* watch, QObject *parent, const char *name=0 );
+ ~QAccel();
+
+ bool isEnabled() const;
+ void setEnabled( bool );
+
+ uint count() const;
+
+ int insertItem( const QKeySequence&amp; key, int id=-1);
+ void removeItem( int id );
+ void clear();
+
+ QKeySequence key( int id );
+ int findKey( const QKeySequence&amp; key ) const;
+
+ bool isItemEnabled( int id ) const;
+ void setItemEnabled( int id, bool enable );
+
+ bool connectItem( int id, const QObject *receiver, const char* member );
+ bool disconnectItem( int id, const QObject *receiver, const char* member );
+
+ void repairEventFilter();
+
+ void setWhatsThis( int id, const QString&amp; );
+ QString whatsThis( int id ) const;
+ void setIgnoreWhatsThis( bool );
+ bool ignoreWhatsThis() const;
+
+ static QKeySequence shortcutKey( const QString &amp; );
+ static QString keyToString(QKeySequence k );
+ static QKeySequence stringToKey( const QString &amp; );
+
+signals:
+ void activated( int id );
+ void activatedAmbiguously( int id );
+
+protected:
+ bool eventFilter( QObject *, QEvent * );
+
+private:
+ QAccelPrivate * d;
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QAccel( const QAccel &amp; );
+ QAccel &amp;operator=( const QAccel &amp; );
+#endif
+ friend class QAccelPrivate;
+ friend class QAccelManager;
+};
+
+#endif // QT_NO_ACCEL
+#endif // QACCEL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccel-members.html b/doc/html/qaccel-members.html
new file mode 100644
index 0000000..390f471
--- /dev/null
+++ b/doc/html/qaccel-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccel.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccel Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAccel</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaccel.html">QAccel</a>, including inherited members.
+
+<ul>
+<li><a href="qaccel.html#QAccel">QAccel</a>()
+<li><a href="qaccel.html#~QAccel">~QAccel</a>()
+<li><a href="qaccel.html#activated">activated</a>()
+<li><a href="qaccel.html#activatedAmbiguously">activatedAmbiguously</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qaccel.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qaccel.html#connectItem">connectItem</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qaccel.html#count">count</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qaccel.html#disconnectItem">disconnectItem</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qaccel.html#eventFilter">eventFilter</a>()
+<li><a href="qaccel.html#findKey">findKey</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qaccel.html#insertItem">insertItem</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaccel.html#isEnabled">isEnabled</a>()
+<li><a href="qaccel.html#isItemEnabled">isItemEnabled</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qaccel.html#key">key</a>()
+<li><a href="qaccel.html#keyToString">keyToString</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaccel.html#removeItem">removeItem</a>()
+<li><a href="qaccel.html#repairEventFilter">repairEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaccel.html#setEnabled">setEnabled</a>()
+<li><a href="qaccel.html#setItemEnabled">setItemEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaccel.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qaccel.html#shortcutKey">shortcutKey</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaccel.html#stringToKey">stringToKey</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qaccel.html#whatsThis">whatsThis</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccel.html b/doc/html/qaccel.html
new file mode 100644
index 0000000..b49547c
--- /dev/null
+++ b/doc/html/qaccel.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qaccel.cpp:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccel Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAccel Class Reference</h1>
+
+<p>The QAccel class handles keyboard accelerator and shortcut keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qaccel-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAccel"><b>QAccel</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QAccel-2"><b>QAccel</b></a> ( QWidget&nbsp;*&nbsp;watch, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QAccel"><b>~QAccel</b></a> ()</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>int <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;key, int&nbsp;id = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>QKeySequence <a href="#key"><b>key</b></a> ( int&nbsp;id )</li>
+<li class=fn>int <a href="#findKey"><b>findKey</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>bool <a href="#isItemEnabled"><b>isItemEnabled</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemEnabled"><b>setItemEnabled</b></a> ( int&nbsp;id, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#connectItem"><b>connectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#disconnectItem"><b>disconnectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>void repairEventFilter () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setWhatsThis"><b>setWhatsThis</b></a> ( int&nbsp;id, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#whatsThis"><b>whatsThis</b></a> ( int&nbsp;id ) const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#activatedAmbiguously"><b>activatedAmbiguously</b></a> ( int&nbsp;id )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QKeySequence <a href="#shortcutKey"><b>shortcutKey</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString keyToString ( QKeySequence&nbsp;k ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QKeySequence stringToKey ( const&nbsp;QString&nbsp;&amp;&nbsp;s ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool eventFilter ( QObject *, QEvent * ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAccel class handles keyboard accelerator and shortcut keys.
+<p>
+<p> A keyboard accelerator triggers an action when a certain key
+combination is pressed. The accelerator handles all keyboard
+activity for all the children of one top-level widget, so it is
+not affected by the <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p> In most cases, you will not need to use this class directly. Use
+the <a href="qaction.html">QAction</a> class to create actions with accelerators that can be
+used in both menus and toolbars. If you're only interested in
+menus use <a href="qmenudata.html#insertItem">QMenuData::insertItem</a>() or <a href="qmenudata.html#setAccel">QMenuData::setAccel</a>() to make
+accelerators for operations that are also available on menus. Many
+widgets automatically generate accelerators, such as <a href="qbutton.html">QButton</a>,
+<a href="qgroupbox.html">QGroupBox</a>, <a href="qlabel.html">QLabel</a> (with <a href="qlabel.html#setBuddy">QLabel::setBuddy</a>()), <a href="qmenubar.html">QMenuBar</a> and <a href="qtabbar.html">QTabBar</a>.
+Example:
+<pre>
+ <a href="qpushbutton.html">QPushButton</a> p( "&amp;Exit", parent ); // automatic shortcut ALT+Key_E
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu = new fileMenu( parent );
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Undo", parent, SLOT(undo()), CTRL+Key_Z );
+ </pre>
+
+<p> A QAccel contains a list of accelerator items that can be
+manipulated using <a href="#insertItem">insertItem</a>(), <a href="#removeItem">removeItem</a>(), <a href="#clear">clear</a>(), <a href="#key">key</a>() and
+<a href="#findKey">findKey</a>().
+<p> Each accelerator item consists of an identifier and a <a href="qkeysequence.html">QKeySequence</a>. A single key sequence consists of a keyboard code
+combined with modifiers (<a href="qt.html#Modifier-enum">SHIFT</a>, <a href="qt.html#Modifier-enum">CTRL</a>, <a href="qt.html#Modifier-enum">ALT</a> or <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a>). For example, <tt>CTRL + Key_P</tt> could be a shortcut
+for printing a document. The key codes are listed in <a href="qnamespace-h.html">qnamespace.h</a>. As an alternative, use <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a> with the
+unicode code point of the character. For example, <tt>UNICODE_ACCEL + 'A'</tt> gives the same accelerator as <a href="qt.html#Key-enum">Key_A</a>.
+<p> When an accelerator key is pressed, the accelerator sends out the
+signal <a href="#activated">activated</a>() with a number that identifies this particular
+accelerator item. Accelerator items can also be individually
+connected, so that two different keys will activate two different
+slots (see <a href="#connectItem">connectItem</a>() and <a href="#disconnectItem">disconnectItem</a>()).
+<p> The activated() signal is <em>not</em> emitted when two or more
+accelerators match the same key. Instead, the first matching
+accelerator sends out the <a href="#activatedAmbiguously">activatedAmbiguously</a>() signal. By
+pressing the key multiple times, users can navigate between all
+matching accelerators. Some standard controls like <a href="qpushbutton.html">QPushButton</a> and
+<a href="qcheckbox.html">QCheckBox</a> connect the activatedAmbiguously() signal to the
+harmless setFocus() slot, whereas activated() is connected to a
+slot invoking the button's action. Most controls, like <a href="qlabel.html">QLabel</a> and
+<a href="qtabbar.html">QTabBar</a>, treat activated() and activatedAmbiguously() as
+equivalent.
+<p> Use <a href="#setEnabled">setEnabled</a>() to enable or disable all the items in an
+accelerator, or <a href="#setItemEnabled">setItemEnabled</a>() to enable or disable individual
+items. An item is active only when both the QAccel and the item
+itself are enabled.
+<p> The function <a href="#setWhatsThis">setWhatsThis</a>() specifies a help text that appears
+when the user presses an accelerator key in What's This mode.
+<p> The accelerator will be deleted when <em>parent</em> is deleted,
+and will consume relevant key events until then.
+<p> Please note that the accelerator
+<pre>
+ accelerator-&gt;insertItem( QKeySequence("M") );
+ </pre>
+
+can be triggered with both the 'M' key, and with Shift+M,
+unless a second accelerator is defined for the Shift+M
+combination.
+<p> Example:
+<pre>
+ QAccel *a = new QAccel( myWindow ); // create accels for myWindow
+ a-&gt;<a href="#connectItem">connectItem</a>( a-&gt;<a href="#insertItem">insertItem</a>(Key_P+CTRL), // adds Ctrl+P accelerator
+ myWindow, // connected to myWindow's
+ SLOT(printDoc()) ); // printDoc() slot
+ </pre>
+
+<p> <p>See also <a href="qkeyevent.html">QKeyEvent</a>, <a href="qwidget.html#keyPressEvent">QWidget::keyPressEvent</a>(), <a href="qmenudata.html#setAccel">QMenuData::setAccel</a>(), <a href="qbutton.html#accel-prop">QButton::accel</a>, <a href="qlabel.html#setBuddy">QLabel::setBuddy</a>(), <a href="qkeysequence.html">QKeySequence</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Keyboard Shortcuts</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAccel"></a>QAccel::QAccel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QAccel object called <em>name</em>, with parent <em>parent</em>.
+The accelerator operates on <em>parent</em>.
+
+<h3 class=fn><a name="QAccel-2"></a>QAccel::QAccel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;watch, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QAccel object called <em>name</em>, that operates on <em>watch</em>, and is a child of <em>parent</em>.
+<p> This constructor is not needed for normal application programming.
+
+<h3 class=fn><a name="~QAccel"></a>QAccel::~QAccel ()
+</h3>
+Destroys the accelerator object and frees all allocated resources.
+
+<h3 class=fn>void <a name="activated"></a>QAccel::activated ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an accelerator key is pressed. <em>id</em>
+is a number that identifies this particular accelerator item.
+<p> <p>See also <a href="#activatedAmbiguously">activatedAmbiguously</a>().
+
+<h3 class=fn>void <a name="activatedAmbiguously"></a>QAccel::activatedAmbiguously ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an accelerator key is pressed. <em>id</em>
+is a number that identifies this particular accelerator item.
+<p> <p>See also <a href="#activated">activated</a>().
+
+<h3 class=fn>void <a name="clear"></a>QAccel::clear ()
+</h3>
+Removes all accelerator items.
+
+<h3 class=fn>bool <a name="connectItem"></a>QAccel::connectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the accelerator item <em>id</em> to the slot <em>member</em> of <em>receiver</em>.
+<p> <pre>
+ a-&gt;connectItem( 201, mainView, SLOT(quit()) );
+ </pre>
+
+<p> Of course, you can also send a signal as <em>member</em>.
+<p> Normally accelerators are connected to slots which then receive
+the <tt>activated(int id)</tt> signal with the id of the accelerator
+item that was activated. If you choose to connect a specific
+accelerator item using this function, the <a href="#activated">activated</a>() signal is
+emitted if the associated key sequence is pressed but no <tt>activated(int id)</tt> signal is emitted.
+<p> <p>See also <a href="#disconnectItem">disconnectItem</a>().
+
+<p>Example: <a href="tutorial1-14.html#x2437">t14/gamebrd.cpp</a>.
+<h3 class=fn>uint <a name="count"></a>QAccel::count () const
+</h3>
+Returns the number of accelerator items in this accelerator.
+
+<h3 class=fn>bool <a name="disconnectItem"></a>QAccel::disconnectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Disconnects an accelerator item with id <em>id</em> from the function
+called <em>member</em> in the <em>receiver</em> object.
+<p> <p>See also <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>bool <a name="eventFilter"></a>QAccel::eventFilter ( <a href="qobject.html">QObject</a>&nbsp;*, <a href="qevent.html">QEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+serves no purpose anymore
+<p>Reimplemented from <a href="qobject.html#eventFilter">QObject</a>.
+<h3 class=fn>int <a name="findKey"></a>QAccel::findKey ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns the identifier of the accelerator item with the key code
+<em>key</em>, or -1 if the item cannot be found.
+
+<h3 class=fn>int <a name="insertItem"></a>QAccel::insertItem ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;key, int&nbsp;id = -1 )
+</h3>
+Inserts an accelerator item and returns the item's identifier.
+<p> <em>key</em> is a key code and an optional combination of SHIFT, CTRL
+and ALT. <em>id</em> is the accelerator item id.
+<p> If <em>id</em> is negative, then the item will be assigned a unique
+negative identifier less than -1.
+<p> <pre>
+ QAccel *a = new QAccel( myWindow ); // create accels for myWindow
+ a-&gt;<a href="#insertItem">insertItem</a>( CTRL + Key_P, 200 ); // Ctrl+P, e.g. to print document
+ a-&gt;<a href="#insertItem">insertItem</a>( ALT + Key_X, 201 ); // Alt+X, e.g. to quit
+ a-&gt;<a href="#insertItem">insertItem</a>( UNICODE_ACCEL + 'q', 202 ); // Unicode 'q', e.g. to quit
+ a-&gt;<a href="#insertItem">insertItem</a>( <a href="qt.html#Key-enum">Key_D</a> ); // gets a unique negative id &lt; -1
+ a-&gt;<a href="#insertItem">insertItem</a>( CTRL + SHIFT + Key_P ); // gets a unique negative id &lt; -1
+ </pre>
+
+
+<p>Example: <a href="tutorial1-14.html#x2438">t14/gamebrd.cpp</a>.
+<h3 class=fn>bool <a name="isEnabled"></a>QAccel::isEnabled () const
+</h3>
+Returns TRUE if the accelerator is enabled; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>() and <a href="#isItemEnabled">isItemEnabled</a>().
+
+<h3 class=fn>bool <a name="isItemEnabled"></a>QAccel::isItemEnabled ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the accelerator item with the identifier <em>id</em> is
+enabled. Returns FALSE if the item is disabled or cannot be found.
+<p> <p>See also <a href="#setItemEnabled">setItemEnabled</a>() and <a href="#isEnabled">isEnabled</a>().
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="key"></a>QAccel::key ( int&nbsp;id )
+</h3>
+Returns the key sequence of the accelerator item with identifier
+<em>id</em>, or an invalid key sequence (0) if the id cannot be found.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="keyToString"></a>QAccel::keyToString ( <a href="qkeysequence.html">QKeySequence</a>&nbsp;k )<tt> [static]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Creates an accelerator string for the key <em>k</em>.
+For instance CTRL+Key_O gives "Ctrl+O". The "Ctrl" etc.
+are translated (using <a href="qobject.html#tr">QObject::tr</a>()) in the "QAccel" context.
+<p> The function is superfluous. Cast the <a href="qkeysequence.html">QKeySequence</a> <em>k</em> to a
+<a href="qstring.html">QString</a> for the same effect.
+
+<h3 class=fn>void <a name="removeItem"></a>QAccel::removeItem ( int&nbsp;id )
+</h3>
+Removes the accelerator item with the identifier <em>id</em>.
+
+<h3 class=fn>void <a name="repairEventFilter"></a>QAccel::repairEventFilter ()
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+serves no purpose anymore
+<h3 class=fn>void <a name="setEnabled"></a>QAccel::setEnabled ( bool&nbsp;enable )
+</h3>
+Enables the accelerator if <em>enable</em> is TRUE, or disables it if <em>enable</em> is FALSE.
+<p> Individual keys can also be enabled or disabled using
+<a href="#setItemEnabled">setItemEnabled</a>(). To work, a key must be an enabled item in an
+enabled QAccel.
+<p> <p>See also <a href="#isEnabled">isEnabled</a>() and <a href="#setItemEnabled">setItemEnabled</a>().
+
+<h3 class=fn>void <a name="setItemEnabled"></a>QAccel::setItemEnabled ( int&nbsp;id, bool&nbsp;enable )
+</h3>
+Enables the accelerator item with the identifier <em>id</em> if <em>enable</em> is TRUE, and disables item <em>id</em> if <em>enable</em> is FALSE.
+<p> To work, an item must be enabled and be in an enabled QAccel.
+<p> <p>See also <a href="#isItemEnabled">isItemEnabled</a>() and <a href="#isEnabled">isEnabled</a>().
+
+<h3 class=fn>void <a name="setWhatsThis"></a>QAccel::setWhatsThis ( int&nbsp;id, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Sets a What's This help text for the accelerator item <em>id</em> to <em>text</em>.
+<p> The text will be shown when the application is in What's This mode
+and the user hits the accelerator key.
+<p> To set What's This help on a menu item (with or without an
+accelerator key), use <a href="qmenudata.html#setWhatsThis">QMenuData::setWhatsThis</a>().
+<p> <p>See also <a href="#whatsThis">whatsThis</a>(), <a href="qwhatsthis.html#inWhatsThisMode">QWhatsThis::inWhatsThisMode</a>(), <a href="qmenudata.html#setWhatsThis">QMenuData::setWhatsThis</a>(), and <a href="qaction.html#whatsThis-prop">QAction::whatsThis</a>.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="shortcutKey"></a>QAccel::shortcutKey ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )<tt> [static]</tt>
+</h3>
+Returns the shortcut key sequence for <em>str</em>, or an invalid key
+sequence (0) if <em>str</em> has no shortcut sequence.
+<p> For example, <a href="#shortcutKey">shortcutKey</a>("E&amp;xit") returns ALT+Key_X,
+shortcutKey("&amp;Quit") returns ALT+Key_Q and shortcutKey("Quit")
+returns 0. (In code that does not inherit the Qt namespace class,
+you must write e.g. Qt::ALT+Qt::Key_Q.)
+<p> We provide a <a href="accelerators.html">list of common accelerators</a> in English. At the time of writing, Microsoft and Open
+Group do not appear to have issued equivalent recommendations for
+other languages.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="stringToKey"></a>QAccel::stringToKey ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [static]</tt>
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns an accelerator code for the string <em>s</em>. For example
+"Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl",
+"Shift", "Alt" are recognized, as well as their translated
+equivalents in the "QAccel" context (using <a href="qobject.html#tr">QObject::tr</a>()). Returns 0
+if <em>s</em> is not recognized.
+<p> This function is typically used with <a href="qobject.html#tr">tr</a>(), so that accelerator keys can be replaced in
+translations:
+<p> <pre>
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p1, tr("&amp;Open..."), this, SLOT(open()),
+ QAccel::<a href="#stringToKey">stringToKey</a>(<a href="qobject.html#tr">tr</a>("Ctrl+O", "File|Open")) );
+ </pre>
+
+<p> Notice the <tt>"File|Open"</tt> translator comment. It is by no means
+necessary, but it provides some context for the human translator.
+<p> The function is superfluous. Construct a <a href="qkeysequence.html">QKeySequence</a> from the
+string <em>s</em> for the same effect.
+<p> <p>See also <a href="qobject.html#tr">QObject::tr</a>() and <a href="i18n.html">Internationalization with Qt</a>.
+
+<p>Example: <a href="i18n-example.html#x1921">i18n/mywidget.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis"></a>QAccel::whatsThis ( int&nbsp;id ) const
+</h3>
+Returns the What's This help text for the specified item <em>id</em> or
+<a href="qstring.html#QString-null">QString::null</a> if no text has been specified.
+<p> <p>See also <a href="#setWhatsThis">setWhatsThis</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessible-h.html b/doc/html/qaccessible-h.html
new file mode 100644
index 0000000..3f75742
--- /dev/null
+++ b/doc/html/qaccessible-h.html
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccessible.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaccessible.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaccessible.h</h1>
+
+<p>This is the verbatim text of the qaccessible.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaccessible.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QAccessible and QAccessibleObject classes
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QACCESSIBLE_H
+#define QACCESSIBLE_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include &lt;private/qcom_p.h&gt;
+#include "qrect.h"
+#include "qguardedptr.h"
+#include "qmemarray.h"
+#endif // QT_H
+
+#if defined(QT_ACCESSIBILITY_SUPPORT)
+
+struct QAccessibleInterface;
+
+class Q_EXPORT QAccessible
+{
+private:
+#ifdef Q_WS_MAC
+ static QMAC_PASCAL OSStatus globalEventProcessor(EventHandlerCallRef, EventRef, void *);
+ static QObject *queryAccessibleObject(QAccessibleInterface *);
+#endif
+public:
+ enum Event {
+ SoundPlayed = 0x0001,
+ Alert = 0x0002,
+ ForegroundChanged = 0x0003,
+ MenuStart = 0x0004,
+ MenuEnd = 0x0005,
+ PopupMenuStart = 0x0006,
+ PopupMenuEnd = 0x0007,
+ ContextHelpStart = 0x000C,
+ ContextHelpEnd = 0x000D,
+ DragDropStart = 0x000E,
+ DragDropEnd = 0x000F,
+ DialogStart = 0x0010,
+ DialogEnd = 0x0011,
+ ScrollingStart = 0x0012,
+ ScrollingEnd = 0x0013,
+
+ MenuCommand = 0x0018,
+
+ ObjectCreated = 0x8000,
+ ObjectDestroyed = 0x8001,
+ ObjectShow = 0x8002,
+ ObjectHide = 0x8003,
+ ObjectReorder = 0x8004,
+ Focus = 0x8005,
+ Selection = 0x8006,
+ SelectionAdd = 0x8007,
+ SelectionRemove = 0x8008,
+ SelectionWithin = 0x8009,
+ StateChanged = 0x800A,
+ LocationChanged = 0x800B,
+ NameChanged = 0x800C,
+ DescriptionChanged = 0x800D,
+ ValueChanged = 0x800E,
+ ParentChanged = 0x800F,
+ HelpChanged = 0x80A0,
+ DefaultActionChanged= 0x80B0,
+ AcceleratorChanged = 0x80C0
+ };
+
+ enum State {
+ Normal = 0x00000000,
+ Unavailable = 0x00000001,
+ Selected = 0x00000002,
+ Focused = 0x00000004,
+ Pressed = 0x00000008,
+ Checked = 0x00000010,
+ Mixed = 0x00000020,
+ ReadOnly = 0x00000040,
+ HotTracked = 0x00000080,
+ Default = 0x00000100,
+ Expanded = 0x00000200,
+ Collapsed = 0x00000400,
+ Busy = 0x00000800,
+ Floating = 0x00001000,
+ Marqueed = 0x00002000,
+ Animated = 0x00004000,
+ Invisible = 0x00008000,
+ Offscreen = 0x00010000,
+ Sizeable = 0x00020000,
+ Moveable = 0x00040000,
+ SelfVoicing = 0x00080000,
+ Focusable = 0x00100000,
+ Selectable = 0x00200000,
+ Linked = 0x00400000,
+ Traversed = 0x00800000,
+ MultiSelectable = 0x01000000,
+ ExtSelectable = 0x02000000,
+ AlertLow = 0x04000000,
+ AlertMedium = 0x08000000,
+ AlertHigh = 0x10000000,
+ Protected = 0x20000000,
+ Valid = 0x3fffffff
+ };
+
+ enum Role {
+ NoRole = 0x00000000,
+ TitleBar = 0x00000001,
+ MenuBar = 0x00000002,
+ ScrollBar = 0x00000003,
+ Grip = 0x00000004,
+ Sound = 0x00000005,
+ Cursor = 0x00000006,
+ Caret = 0x00000007,
+ AlertMessage = 0x00000008,
+ Window = 0x00000009,
+ Client = 0x0000000A,
+ PopupMenu = 0x0000000B,
+ MenuItem = 0x0000000C,
+ ToolTip = 0x0000000D,
+ Application = 0x0000000E,
+ Document = 0x0000000F,
+ Pane = 0x00000010,
+ Chart = 0x00000011,
+ Dialog = 0x00000012,
+ Border = 0x00000013,
+ Grouping = 0x00000014,
+ Separator = 0x00000015,
+ ToolBar = 0x00000016,
+ StatusBar = 0x00000017,
+ Table = 0x00000018,
+ ColumnHeader = 0x00000019,
+ RowHeader = 0x0000001A,
+ Column = 0x0000001B,
+ Row = 0x0000001C,
+ Cell = 0x0000001D,
+ Link = 0x0000001E,
+ HelpBalloon = 0x0000001F,
+ Character = 0x00000020,
+ List = 0x00000021,
+ ListItem = 0x00000022,
+ Outline = 0x00000023,
+ OutlineItem = 0x00000024,
+ PageTab = 0x00000025,
+ PropertyPage = 0x00000026,
+ Indicator = 0x00000027,
+ Graphic = 0x00000028,
+ StaticText = 0x00000029,
+ EditableText = 0x0000002A, // Editable, selectable, etc.
+ PushButton = 0x0000002B,
+ CheckBox = 0x0000002C,
+ RadioButton = 0x0000002D,
+ ComboBox = 0x0000002E,
+ DropLest = 0x0000002F,
+ ProgressBar = 0x00000030,
+ Dial = 0x00000031,
+ HotkeyField = 0x00000032,
+ Slider = 0x00000033,
+ SpinBox = 0x00000034,
+ Diagram = 0x00000035,
+ Animation = 0x00000036,
+ Equation = 0x00000037,
+ ButtonDropDown = 0x00000038,
+ ButtonMenu = 0x00000039,
+ ButtonDropGrid = 0x0000003A,
+ Whitespace = 0x0000003B,
+ PageTabList = 0x0000003C,
+ Clock = 0x0000003D
+ };
+
+ enum NavDirection {
+ NavUp = 0x00000001,
+ NavDown = 0x00000002,
+ NavLeft = 0x00000003,
+ NavRight = 0x00000004,
+ NavNext = 0x00000005,
+ NavPrevious = 0x00000006,
+ NavFirstChild = 0x00000007,
+ NavLastChild = 0x00000008,
+ NavFocusChild = 0x00000009
+ };
+
+ enum Text {
+ Name = 0,
+ Description,
+ Value,
+ Help,
+ Accelerator,
+ DefaultAction
+ };
+
+ static QRESULT queryAccessibleInterface( QObject *, QAccessibleInterface ** );
+ static void updateAccessibility( QObject *, int who, Event reason );
+ static bool isActive();
+
+ static void initialize();
+ static void cleanup();
+};
+
+// {EC86CB9C-5DA0-4c43-A739-13EBDF1C6B14}
+#define IID_QAccessible QUuid( 0xec86cb9c, 0x5da0, 0x4c43, 0xa7, 0x39, 0x13, 0xeb, 0xdf, 0x1c, 0x6b, 0x14 )
+
+struct Q_EXPORT QAccessibleInterface : public QAccessible, public QUnknownInterface
+{
+ // check for valid pointers
+ virtual bool isValid() const = 0;
+
+ // hierarchy
+ virtual int childCount() const = 0;
+ virtual QRESULT queryChild( int control, QAccessibleInterface** ) const = 0;
+ virtual QRESULT queryParent( QAccessibleInterface** ) const = 0;
+
+ // navigation
+ virtual int controlAt( int x, int y ) const = 0;
+ virtual QRect rect( int control ) const = 0;
+ virtual int navigate( NavDirection direction, int startControl ) const = 0;
+
+ // properties and state
+ virtual QString text( Text t, int control ) const = 0;
+ virtual void setText( Text t, int control, const QString &amp;text ) = 0;
+ virtual Role role( int control ) const = 0;
+ virtual State state( int control ) const = 0;
+ virtual QMemArray&lt;int&gt; selection() const = 0;
+
+ // methods
+ virtual bool doDefaultAction( int control ) = 0;
+ virtual bool setFocus( int control ) = 0;
+ virtual bool setSelected( int control, bool on, bool extend ) = 0;
+ virtual void clearSelection() = 0;
+};
+
+// {49F4C6A7-412F-41DE-9E24-648843421FD3}
+#ifndef IID_QAccessibleFactory
+#define IID_QAccessibleFactory QUuid( 0x49f4c6a7, 0x412f, 0x41de, 0x9e, 0x24, 0x64, 0x88, 0x43, 0x42, 0x1f, 0xd3 )
+#endif
+
+struct Q_EXPORT QAccessibleFactoryInterface : public QAccessible, public QFeatureListInterface
+{
+ virtual QRESULT createAccessibleInterface( const QString &amp;, QObject *, QAccessibleInterface** ) = 0;
+};
+
+class Q_EXPORT QAccessibleObject : public QObject, public QAccessibleInterface
+{
+public:
+ QAccessibleObject( QObject *object );
+ virtual ~QAccessibleObject();
+
+ QRESULT queryInterface( const QUuid &amp;, QUnknownInterface** );
+ Q_REFCOUNT
+
+ bool isValid() const;
+
+protected:
+ QObject *object() const;
+
+private:
+ QGuardedPtr&lt;QObject&gt; object_;
+};
+
+#define Q_DEFINED_QACCESSIBLE_OBJECT
+#include "qwinexport.h"
+#endif //QT_ACCESSIBILITY_SUPPORT
+
+#endif //QACCESSIBLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessible-members.html b/doc/html/qaccessible-members.html
new file mode 100644
index 0000000..4dff4dd
--- /dev/null
+++ b/doc/html/qaccessible-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccessible.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessible Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAccessible</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaccessible.html">QAccessible</a>, including inherited members.
+
+<ul>
+<li><a href="qaccessible.html#isActive">isActive</a>()
+<li><a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>()
+<li><a href="qaccessible.html#updateAccessibility">updateAccessibility</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessible.html b/doc/html/qaccessible.html
new file mode 100644
index 0000000..7116b39
--- /dev/null
+++ b/doc/html/qaccessible.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qaccessible.cpp:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessible Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAccessible Class Reference</h1>
+
+<p>The QAccessible class provides enums and static functions
+relating to accessibility.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaccessible-h.html">qaccessible.h</a>&gt;</tt>
+<p>Inherited by <a href="qaccessibleinterface.html">QAccessibleInterface</a>.
+<p><a href="qaccessible-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Event-enum"><b>Event</b></a> { SoundPlayed = 0x0001, Alert = 0x0002, ForegroundChanged = 0x0003, MenuStart = 0x0004, MenuEnd = 0x0005, PopupMenuStart = 0x0006, PopupMenuEnd = 0x0007, ContextHelpStart = 0x000C, ContextHelpEnd = 0x000D, DragDropStart = 0x000E, DragDropEnd = 0x000F, DialogStart = 0x0010, DialogEnd = 0x0011, ScrollingStart = 0x0012, ScrollingEnd = 0x0013, MenuCommand = 0x0018, ObjectCreated = 0x8000, ObjectDestroyed = 0x8001, ObjectShow = 0x8002, ObjectHide = 0x8003, ObjectReorder = 0x8004, Focus = 0x8005, Selection = 0x8006, SelectionAdd = 0x8007, SelectionRemove = 0x8008, SelectionWithin = 0x8009, StateChanged = 0x800A, LocationChanged = 0x800B, NameChanged = 0x800C, DescriptionChanged = 0x800D, ValueChanged = 0x800E, ParentChanged = 0x800F, HelpChanged = 0x80A0, DefaultActionChanged = 0x80B0, AcceleratorChanged = 0x80C0 }</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Normal = 0x00000000, Unavailable = 0x00000001, Selected = 0x00000002, Focused = 0x00000004, Pressed = 0x00000008, Checked = 0x00000010, Mixed = 0x00000020, ReadOnly = 0x00000040, HotTracked = 0x00000080, Default = 0x00000100, Expanded = 0x00000200, Collapsed = 0x00000400, Busy = 0x00000800, Floating = 0x00001000, Marqueed = 0x00002000, Animated = 0x00004000, Invisible = 0x00008000, Offscreen = 0x00010000, Sizeable = 0x00020000, Moveable = 0x00040000, SelfVoicing = 0x00080000, Focusable = 0x00100000, Selectable = 0x00200000, Linked = 0x00400000, Traversed = 0x00800000, MultiSelectable = 0x01000000, ExtSelectable = 0x02000000, AlertLow = 0x04000000, AlertMedium = 0x08000000, AlertHigh = 0x10000000, Protected = 0x20000000, Valid = 0x3fffffff }</li>
+<li class=fn>enum <a href="#Role-enum"><b>Role</b></a> { NoRole = 0x00000000, TitleBar = 0x00000001, MenuBar = 0x00000002, ScrollBar = 0x00000003, Grip = 0x00000004, Sound = 0x00000005, Cursor = 0x00000006, Caret = 0x00000007, AlertMessage = 0x00000008, Window = 0x00000009, Client = 0x0000000A, PopupMenu = 0x0000000B, MenuItem = 0x0000000C, ToolTip = 0x0000000D, Application = 0x0000000E, Document = 0x0000000F, Pane = 0x00000010, Chart = 0x00000011, Dialog = 0x00000012, Border = 0x00000013, Grouping = 0x00000014, Separator = 0x00000015, ToolBar = 0x00000016, StatusBar = 0x00000017, Table = 0x00000018, ColumnHeader = 0x00000019, RowHeader = 0x0000001A, Column = 0x0000001B, Row = 0x0000001C, Cell = 0x0000001D, Link = 0x0000001E, HelpBalloon = 0x0000001F, Character = 0x00000020, List = 0x00000021, ListItem = 0x00000022, Outline = 0x00000023, OutlineItem = 0x00000024, PageTab = 0x00000025, PropertyPage = 0x00000026, Indicator = 0x00000027, Graphic = 0x00000028, StaticText = 0x00000029, EditableText = 0x0000002A, PushButton = 0x0000002B, CheckBox = 0x0000002C, RadioButton = 0x0000002D, ComboBox = 0x0000002E, DropLest = 0x0000002F, ProgressBar = 0x00000030, Dial = 0x00000031, HotkeyField = 0x00000032, Slider = 0x00000033, SpinBox = 0x00000034, Diagram = 0x00000035, Animation = 0x00000036, Equation = 0x00000037, ButtonDropDown = 0x00000038, ButtonMenu = 0x00000039, ButtonDropGrid = 0x0000003A, Whitespace = 0x0000003B, PageTabList = 0x0000003C, Clock = 0x0000003D }</li>
+<li class=fn>enum <a href="#NavDirection-enum"><b>NavDirection</b></a> { NavUp = 0x00000001, NavDown = 0x00000002, NavLeft = 0x00000003, NavRight = 0x00000004, NavNext = 0x00000005, NavPrevious = 0x00000006, NavFirstChild = 0x00000007, NavLastChild = 0x00000008, NavFocusChild = 0x00000009 }</li>
+<li class=fn>enum <a href="#Text-enum"><b>Text</b></a> { Name = 0, Description, Value, Help, Accelerator, DefaultAction }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QRESULT <a href="#queryAccessibleInterface"><b>queryAccessibleInterface</b></a> ( QObject&nbsp;*&nbsp;object, QAccessibleInterface&nbsp;**&nbsp;iface )</li>
+<li class=fn>void <a href="#updateAccessibility"><b>updateAccessibility</b></a> ( QObject&nbsp;*&nbsp;object, int&nbsp;control, Event&nbsp;reason )</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAccessible class provides enums and static functions
+relating to accessibility.
+<p>
+<p> Accessibility clients use implementations of the
+<a href="qaccessibleinterface.html">QAccessibleInterface</a> to read the information an accessible object
+exposes, or to call functions to manipulate the accessible object.
+<p>
+<p> See the <a href="plugins-howto.html">plugin documentation</a> for
+more details about how to redistribute Qt plugins.
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Event-enum"></a>QAccessible::Event</h3>
+
+<p> This enum type defines event types when the state of the
+accessible object has changed. The event types are:
+<ul>
+<li><tt>QAccessible::SoundPlayed</tt>
+<li><tt>QAccessible::Alert</tt>
+<li><tt>QAccessible::ForegroundChanged</tt>
+<li><tt>QAccessible::MenuStart</tt>
+<li><tt>QAccessible::MenuEnd</tt>
+<li><tt>QAccessible::PopupMenuStart</tt>
+<li><tt>QAccessible::PopupMenuEnd</tt>
+<li><tt>QAccessible::ContextHelpStart</tt>
+<li><tt>QAccessible::ContextHelpEnd</tt>
+<li><tt>QAccessible::DragDropStart</tt>
+<li><tt>QAccessible::DragDropEnd</tt>
+<li><tt>QAccessible::DialogStart</tt>
+<li><tt>QAccessible::DialogEnd</tt>
+<li><tt>QAccessible::ScrollingStart</tt>
+<li><tt>QAccessible::ScrollingEnd</tt>
+<li><tt>QAccessible::ObjectCreated</tt>
+<li><tt>QAccessible::ObjectDestroyed</tt>
+<li><tt>QAccessible::ObjectShow</tt>
+<li><tt>QAccessible::ObjectHide</tt>
+<li><tt>QAccessible::ObjectReorder</tt>
+<li><tt>QAccessible::Focus</tt>
+<li><tt>QAccessible::Selection</tt>
+<li><tt>QAccessible::SelectionAdd</tt>
+<li><tt>QAccessible::SelectionRemove</tt>
+<li><tt>QAccessible::SelectionWithin</tt>
+<li><tt>QAccessible::StateChanged</tt>
+<li><tt>QAccessible::LocationChanged</tt>
+<li><tt>QAccessible::NameChanged</tt>
+<li><tt>QAccessible::DescriptionChanged</tt>
+<li><tt>QAccessible::ValueChanged</tt>
+<li><tt>QAccessible::ParentChanged</tt>
+<li><tt>QAccessible::HelpChanged</tt>
+<li><tt>QAccessible::DefaultActionChanged</tt>
+<li><tt>QAccessible::AcceleratorChanged</tt>
+<li><tt>QAccessible::MenuCommand</tt>
+</ul>
+<h3 class=fn><a name="NavDirection-enum"></a>QAccessible::NavDirection</h3>
+
+<p> This enum specifies which item to move to when navigating.
+<ul>
+<li><tt>QAccessible::NavUp</tt> - sibling above
+<li><tt>QAccessible::NavDown</tt> - sibling below
+<li><tt>QAccessible::NavLeft</tt> - left sibling
+<li><tt>QAccessible::NavRight</tt> - right sibling
+<li><tt>QAccessible::NavNext</tt> - next sibling
+<li><tt>QAccessible::NavPrevious</tt> - previous sibling
+<li><tt>QAccessible::NavFirstChild</tt> - first child
+<li><tt>QAccessible::NavLastChild</tt> - last child
+<li><tt>QAccessible::NavFocusChild</tt> - child with focus
+</ul>
+<h3 class=fn><a name="Role-enum"></a>QAccessible::Role</h3>
+
+<p> This enum defines a number of roles an accessible object can have.
+The roles are:
+<ul>
+<li><tt>QAccessible::NoRole</tt>
+<li><tt>QAccessible::TitleBar</tt>
+<li><tt>QAccessible::MenuBar</tt>
+<li><tt>QAccessible::ScrollBar</tt>
+<li><tt>QAccessible::Grip</tt>
+<li><tt>QAccessible::Sound</tt>
+<li><tt>QAccessible::Cursor</tt>
+<li><tt>QAccessible::Caret</tt>
+<li><tt>QAccessible::AlertMessage</tt>
+<li><tt>QAccessible::Window</tt>
+<li><tt>QAccessible::Client</tt>
+<li><tt>QAccessible::PopupMenu</tt>
+<li><tt>QAccessible::MenuItem</tt>
+<li><tt>QAccessible::ToolTip</tt>
+<li><tt>QAccessible::Application</tt>
+<li><tt>QAccessible::Document</tt>
+<li><tt>QAccessible::Pane</tt>
+<li><tt>QAccessible::Chart</tt>
+<li><tt>QAccessible::Dialog</tt>
+<li><tt>QAccessible::Border</tt>
+<li><tt>QAccessible::Grouping</tt>
+<li><tt>QAccessible::Separator</tt>
+<li><tt>QAccessible::ToolBar</tt>
+<li><tt>QAccessible::StatusBar</tt>
+<li><tt>QAccessible::Table</tt>
+<li><tt>QAccessible::ColumnHeader</tt>
+<li><tt>QAccessible::RowHeader</tt>
+<li><tt>QAccessible::Column</tt>
+<li><tt>QAccessible::Row</tt>
+<li><tt>QAccessible::Cell</tt>
+<li><tt>QAccessible::Link</tt>
+<li><tt>QAccessible::HelpBalloon</tt>
+<li><tt>QAccessible::Character</tt>
+<li><tt>QAccessible::List</tt>
+<li><tt>QAccessible::ListItem</tt>
+<li><tt>QAccessible::Outline</tt>
+<li><tt>QAccessible::OutlineItem</tt>
+<li><tt>QAccessible::PageTab</tt>
+<li><tt>QAccessible::PropertyPage</tt>
+<li><tt>QAccessible::Indicator</tt>
+<li><tt>QAccessible::Graphic</tt>
+<li><tt>QAccessible::StaticText</tt>
+<li><tt>QAccessible::EditableText</tt>
+<li><tt>QAccessible::PushButton</tt>
+<li><tt>QAccessible::CheckBox</tt>
+<li><tt>QAccessible::RadioButton</tt>
+<li><tt>QAccessible::ComboBox</tt>
+<li><tt>QAccessible::DropLest</tt>
+<li><tt>QAccessible::ProgressBar</tt>
+<li><tt>QAccessible::Dial</tt>
+<li><tt>QAccessible::HotkeyField</tt>
+<li><tt>QAccessible::Slider</tt>
+<li><tt>QAccessible::SpinBox</tt>
+<li><tt>QAccessible::Diagram</tt>
+<li><tt>QAccessible::Animation</tt>
+<li><tt>QAccessible::Equation</tt>
+<li><tt>QAccessible::ButtonDropDown</tt>
+<li><tt>QAccessible::ButtonMenu</tt>
+<li><tt>QAccessible::ButtonDropGrid</tt>
+<li><tt>QAccessible::Whitespace</tt>
+<li><tt>QAccessible::PageTabList</tt>
+<li><tt>QAccessible::Clock</tt>
+</ul>
+<h3 class=fn><a name="State-enum"></a>QAccessible::State</h3>
+
+<p> This enum type defines bitflags that can be combined to indicate
+the state of the accessible object. The values are:
+<ul>
+<li><tt>QAccessible::Normal</tt>
+<li><tt>QAccessible::Unavailable</tt>
+<li><tt>QAccessible::Selected</tt>
+<li><tt>QAccessible::Focused</tt>
+<li><tt>QAccessible::Pressed</tt>
+<li><tt>QAccessible::Checked</tt>
+<li><tt>QAccessible::Mixed</tt>
+<li><tt>QAccessible::ReadOnly</tt>
+<li><tt>QAccessible::HotTracked</tt>
+<li><tt>QAccessible::Default</tt>
+<li><tt>QAccessible::Expanded</tt>
+<li><tt>QAccessible::Collapsed</tt>
+<li><tt>QAccessible::Busy</tt>
+<li><tt>QAccessible::Floating</tt>
+<li><tt>QAccessible::Marqueed</tt>
+<li><tt>QAccessible::Animated</tt>
+<li><tt>QAccessible::Invisible</tt>
+<li><tt>QAccessible::Offscreen</tt>
+<li><tt>QAccessible::Sizeable</tt>
+<li><tt>QAccessible::Moveable</tt>
+<li><tt>QAccessible::SelfVoicing</tt>
+<li><tt>QAccessible::Focusable</tt>
+<li><tt>QAccessible::Selectable</tt>
+<li><tt>QAccessible::Linked</tt>
+<li><tt>QAccessible::Traversed</tt>
+<li><tt>QAccessible::MultiSelectable</tt>
+<li><tt>QAccessible::ExtSelectable</tt>
+<li><tt>QAccessible::AlertLow</tt>
+<li><tt>QAccessible::AlertMedium</tt>
+<li><tt>QAccessible::AlertHigh</tt>
+<li><tt>QAccessible::Protected</tt>
+<li><tt>QAccessible::Valid</tt>
+</ul>
+<h3 class=fn><a name="Text-enum"></a>QAccessible::Text</h3>
+
+<p> This enum specifies string information that an accessible object
+returns.
+<ul>
+<li><tt>QAccessible::Name</tt> - The name of the object
+<li><tt>QAccessible::Description</tt> - A short text describing the object
+<li><tt>QAccessible::Value</tt> - The value of the object
+<li><tt>QAccessible::Help</tt> - A longer text giving information about how
+to use the object
+<li><tt>QAccessible::DefaultAction</tt> - The default method to interact with the object
+<li><tt>QAccessible::Accelerator</tt> - The keyboard shortcut that executes the
+default action
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="isActive"></a>QAccessible::isActive ()<tt> [static]</tt>
+</h3>
+Returns TRUE if an accessibility implementation has been requested,
+during the runtime of the application, otherwise returns FALSE.
+<p> Use this function to prevent potentially expensive notifications via
+<a href="#updateAccessibility">updateAccessibility</a>().
+<p>
+
+<h3 class=fn>QRESULT <a name="queryAccessibleInterface"></a>QAccessible::queryAccessibleInterface ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object, <a href="qaccessibleinterface.html">QAccessibleInterface</a>&nbsp;**&nbsp;iface )<tt> [static]</tt>
+</h3>
+Sets <em>iface</em> to point to the implementation of the
+<a href="qaccessibleinterface.html">QAccessibleInterface</a> for <em>object</em>, and returns <tt>QS_OK</tt> if
+successfull, or sets <em>iface</em> to 0 and returns <tt>QE_NOCOMPONENT</tt> if
+no accessibility implementation for <em>object</em> exists.
+<p> The function uses the <a href="qobject.html#className">classname</a> of <em>object</em> to find a suitable implementation. If no
+implementation for the object's class is available the function
+tries to find an implementation for the object's parent class.
+<p> This function is called to answer an accessibility client's
+request for object information. You should never need to call this
+function yourself.
+
+<h3 class=fn>void <a name="updateAccessibility"></a>QAccessible::updateAccessibility ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object, int&nbsp;control, <a href="qaccessible.html#Event-enum">Event</a>&nbsp;reason )<tt> [static]</tt>
+</h3>
+
+<p> Notifies accessibility clients about a change in <em>object</em>'s
+accessibility information.
+<p> <em>reason</em> specifies the cause of the change, for example,
+ValueChange when the position of a slider has been changed. <em>control</em> is the ID of the child element that has changed. When <em>control</em> is 0, the object itself has changed.
+<p> Call this function whenever the state of your accessible object or
+one of it's sub-elements has been changed either programmatically
+(e.g. by calling <a href="qlabel.html#setText">QLabel::setText</a>()) or by user interaction.
+<p> If there are no accessibility tools listening to this event, the
+performance penalty for calling this function is minor, but if determining
+the parameters of the call is expensive you can use <a href="#isActive">isActive</a>() to
+avoid unnecessary performance penalties if no client is listening.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessibleinterface-members.html b/doc/html/qaccessibleinterface-members.html
new file mode 100644
index 0000000..217fe8c
--- /dev/null
+++ b/doc/html/qaccessibleinterface-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccessible.h:231 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessibleInterface Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAccessibleInterface</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaccessibleinterface.html">QAccessibleInterface</a>, including inherited members.
+
+<ul>
+<li><a href="qaccessibleinterface.html#childCount">childCount</a>()
+<li><a href="qaccessibleinterface.html#clearSelection">clearSelection</a>()
+<li><a href="qaccessibleinterface.html#controlAt">controlAt</a>()
+<li><a href="qaccessibleinterface.html#doDefaultAction">doDefaultAction</a>()
+<li><a href="qaccessible.html#isActive">isActive</a>()
+<li><a href="qaccessibleinterface.html#isValid">isValid</a>()
+<li><a href="qaccessibleinterface.html#navigate">navigate</a>()
+<li><a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>()
+<li><a href="qaccessibleinterface.html#queryChild">queryChild</a>()
+<li><a href="qaccessibleinterface.html#queryParent">queryParent</a>()
+<li><a href="qaccessibleinterface.html#rect">rect</a>()
+<li><a href="qaccessibleinterface.html#role">role</a>()
+<li><a href="qaccessibleinterface.html#selection">selection</a>()
+<li><a href="qaccessibleinterface.html#setFocus">setFocus</a>()
+<li><a href="qaccessibleinterface.html#setSelected">setSelected</a>()
+<li><a href="qaccessibleinterface.html#setText">setText</a>()
+<li><a href="qaccessibleinterface.html#state">state</a>()
+<li><a href="qaccessibleinterface.html#text">text</a>()
+<li><a href="qaccessible.html#updateAccessibility">updateAccessibility</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessibleinterface.html b/doc/html/qaccessibleinterface.html
new file mode 100644
index 0000000..110a1e5
--- /dev/null
+++ b/doc/html/qaccessibleinterface.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qaccessible.cpp:421 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessibleInterface Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAccessibleInterface Class Reference</h1>
+
+<p>The QAccessibleInterface class defines an interface that exposes information about accessible objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaccessible-h.html">qaccessible.h</a>&gt;</tt>
+<p>Inherits <a href="qaccessible.html">QAccessible</a>.
+<p>Inherited by <a href="qaccessibleobject.html">QAccessibleObject</a>.
+<p><a href="qaccessibleinterface-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#isValid"><b>isValid</b></a> () const = 0</li>
+<li class=fn>virtual int <a href="#childCount"><b>childCount</b></a> () const = 0</li>
+<li class=fn>virtual QRESULT <a href="#queryChild"><b>queryChild</b></a> ( int&nbsp;control, QAccessibleInterface&nbsp;**&nbsp;iface ) const = 0</li>
+<li class=fn>virtual QRESULT <a href="#queryParent"><b>queryParent</b></a> ( QAccessibleInterface&nbsp;**&nbsp;iface ) const = 0</li>
+<li class=fn>virtual int <a href="#controlAt"><b>controlAt</b></a> ( int&nbsp;x, int&nbsp;y ) const = 0</li>
+<li class=fn>virtual QRect <a href="#rect"><b>rect</b></a> ( int&nbsp;control ) const = 0</li>
+<li class=fn>virtual int <a href="#navigate"><b>navigate</b></a> ( NavDirection&nbsp;direction, int&nbsp;startControl ) const = 0</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> ( Text&nbsp;t, int&nbsp;control ) const = 0</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( Text&nbsp;t, int&nbsp;control, const&nbsp;QString&nbsp;&amp;&nbsp;text ) = 0</li>
+<li class=fn>virtual Role <a href="#role"><b>role</b></a> ( int&nbsp;control ) const = 0</li>
+<li class=fn>virtual State <a href="#state"><b>state</b></a> ( int&nbsp;control ) const = 0</li>
+<li class=fn>virtual QMemArray&lt;int&gt; <a href="#selection"><b>selection</b></a> () const = 0</li>
+<li class=fn>virtual bool <a href="#doDefaultAction"><b>doDefaultAction</b></a> ( int&nbsp;control ) = 0</li>
+<li class=fn>virtual bool <a href="#setFocus"><b>setFocus</b></a> ( int&nbsp;control ) = 0</li>
+<li class=fn>virtual bool <a href="#setSelected"><b>setSelected</b></a> ( int&nbsp;control, bool&nbsp;on, bool&nbsp;extend ) = 0</li>
+<li class=fn>virtual void <a href="#clearSelection"><b>clearSelection</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAccessibleInterface class defines an interface that exposes information about accessible objects.
+<p>
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>int <a name="childCount"></a>QAccessibleInterface::childCount () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the number of children that belong to this object. A child
+can provide accessibility information on it's own (e.g. a child
+widget), or be a sub-element of this accessible object.
+<p> All objects provide this information.
+<p> <p>See also <a href="#queryChild">queryChild</a>().
+
+<h3 class=fn>void <a name="clearSelection"></a>QAccessibleInterface::clearSelection ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Removes any selection from the object.
+<p> <p>See also <a href="#setSelected">setSelected</a>().
+
+<h3 class=fn>int <a name="controlAt"></a>QAccessibleInterface::controlAt ( int&nbsp;x, int&nbsp;y ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the ID of the child that contains the screen coordinates
+(<em>x</em>, <em>y</em>). This function returns 0 if the point is positioned
+on the object itself. If the tested point is outside the
+boundaries of the object this function returns -1.
+<p> All visual objects provide this information.
+
+<h3 class=fn>bool <a name="doDefaultAction"></a>QAccessibleInterface::doDefaultAction ( int&nbsp;control )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Calling this function performs the default action of the child
+object specified by <em>control</em>, or the default action of the
+object itself if <em>control</em> is 0.
+
+<h3 class=fn>bool <a name="isValid"></a>QAccessibleInterface::isValid () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if all the data necessary to use this interface
+implementation is valid (e.g. all pointers are non-null),
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="navigate"></a>QAccessibleInterface::navigate ( <a href="qaccessible.html#NavDirection-enum">NavDirection</a>&nbsp;direction, int&nbsp;startControl ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function traverses to another object, or to a sub-element of
+the current object. <em>direction</em> specifies in which direction to
+navigate, and <em>startControl</em> specifies the start point of the
+navigation, which is either 0 if the navigation starts at the
+object itself, or an ID of one of the object's sub-elements.
+<p> The function returns the ID of the sub-element located in the <em>direction</em> specified. If there is nothing in the navigated <em>direction</em>, this function returns -1.
+<p> All objects support navigation.
+
+<h3 class=fn>QRESULT <a name="queryChild"></a>QAccessibleInterface::queryChild ( int&nbsp;control, <a href="qaccessibleinterface.html">QAccessibleInterface</a>&nbsp;**&nbsp;iface ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets <em>iface</em> to point to the implementation of the
+QAccessibleInterface for the child specified with <em>control</em>. If
+the child doesn't provide accessibility information on it's own,
+the value of <em>iface</em> is set to 0. For those elements, this
+object is responsible for exposing the child's properties.
+<p> All objects provide this information.
+<p> <p>See also <a href="#childCount">childCount</a>() and <a href="#queryParent">queryParent</a>().
+
+<h3 class=fn>QRESULT <a name="queryParent"></a>QAccessibleInterface::queryParent ( <a href="qaccessibleinterface.html">QAccessibleInterface</a>&nbsp;**&nbsp;iface ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets <em>iface</em> to point to the implementation of the
+QAccessibleInterface for the parent object, or to 0 if there is
+no such implementation or object.
+<p> All objects provide this information.
+<p> <p>See also <a href="#queryChild">queryChild</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QAccessibleInterface::rect ( int&nbsp;control ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the location of the child specified with <em>control</em> in
+screen coordinates. This function returns the location of the
+object itself if <em>control</em> is 0.
+<p> All visual objects provide this information.
+
+<h3 class=fn><a href="qaccessible.html#Role-enum">Role</a> <a name="role"></a>QAccessibleInterface::role ( int&nbsp;control ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the role of the object if <em>control</em> is 0, or the role of
+the object's sub-element with ID <em>control</em>. The role of an object
+is usually static. All accessible objects have a role.
+<p> <p>See also <a href="#text">text</a>(), <a href="#state">state</a>(), and <a href="#selection">selection</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;int&gt; <a name="selection"></a>QAccessibleInterface::selection () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of all the element IDs that are selected.
+<p> <p>See also <a href="#text">text</a>(), <a href="#role">role</a>(), and <a href="#state">state</a>().
+
+<h3 class=fn>bool <a name="setFocus"></a>QAccessibleInterface::setFocus ( int&nbsp;control )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Gives the focus to the child object specified by <em>control</em>, or to
+the object itself if <em>control</em> is 0.
+<p> Returns TRUE if the focus could be set; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="setSelected"></a>QAccessibleInterface::setSelected ( int&nbsp;control, bool&nbsp;on, bool&nbsp;extend )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the selection of the child object with ID <em>control</em> to <em>on</em>. If <em>extend</em> is TRUE, all child elements between the focused
+item and the specified child object have their selection set to <em>on</em>.
+<p> Returns TRUE if the selection could be set; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setFocus">setFocus</a>() and <a href="#clearSelection">clearSelection</a>().
+
+<h3 class=fn>void <a name="setText"></a>QAccessibleInterface::setText ( <a href="qaccessible.html#Text-enum">Text</a>&nbsp;t, int&nbsp;control, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the text property <em>t</em> of the child object <em>control</em> to <em>text</em>. If <em>control</em> is 0, the text property of the object itself
+is set.
+
+<h3 class=fn><a href="qaccessible.html#State-enum">State</a> <a name="state"></a>QAccessibleInterface::state ( int&nbsp;control ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the current state of the object if <em>control</em> is 0, or the
+state of the object's sub-element element with ID <em>control</em>. All
+objects have a state.
+<p> <p>See also <a href="#text">text</a>(), <a href="#role">role</a>(), and <a href="#selection">selection</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QAccessibleInterface::text ( <a href="qaccessible.html#Text-enum">Text</a>&nbsp;t, int&nbsp;control ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a string property <em>t</em> of the child object specified by <em>control</em>, or the string property of the object itself if <em>control</em>
+is 0.
+<p> The <em>Name</em> is a string used by clients to identify, find or
+announce an accessible object for the user. All objects must have
+a name that is unique within their container.
+<p> An accessible object's <em>Description</em> provides textual information
+about an object's visual appearance. The description is primarily
+used to provide greater context for low-vision or blind users, but
+is also used for context searching or other applications. Not all
+objects have a description. An "OK" button would not need a
+description, but a toolbutton that shows a picture of a smiley
+would.
+<p> The <em>Value</em> of an accessible object represents visual information
+contained by the object, e.g. the text in a line edit. Usually,
+the value can be modified by the user. Not all objects have a
+value, e.g. static text labels don't, and some objects have a
+state that already is the value, e.g. toggle buttons.
+<p> The <em>Help</em> text provides information about the function and
+usage of an accessible object. Not all objects provide this
+information.
+<p> An accessible object's <em>DefaultAction</em> describes the object's
+primary method of manipulation, and should be a verb or a short
+phrase, e.g. "Press" for a button.
+<p> The accelerator is a keyboard shortcut that activates the default
+action of the object. A keyboard shortcut is the underlined
+character in the text of a menu, menu item or control, and is
+either the character itself, or a combination of this character
+and a modifier key like ALT, CTRL or SHIFT. Command controls like
+tool buttons also have shortcut keys and usually display them in
+their tooltip.
+<p> <p>See also <a href="#role">role</a>(), <a href="#state">state</a>(), and <a href="#selection">selection</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessibleobject-members.html b/doc/html/qaccessibleobject-members.html
new file mode 100644
index 0000000..64601be
--- /dev/null
+++ b/doc/html/qaccessibleobject-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaccessible.h:270 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessibleObject Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAccessibleObject</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaccessibleobject.html">QAccessibleObject</a>, including inherited members.
+
+<ul>
+<li><a href="qaccessibleobject.html#QAccessibleObject">QAccessibleObject</a>()
+<li><a href="qaccessibleobject.html#~QAccessibleObject">~QAccessibleObject</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qaccessibleinterface.html#childCount">childCount</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qaccessibleinterface.html#clearSelection">clearSelection</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qaccessibleinterface.html#controlAt">controlAt</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qaccessibleinterface.html#doDefaultAction">doDefaultAction</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaccessible.html#isActive">isActive</a>()
+<li><a href="qaccessibleinterface.html#isValid">isValid</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qaccessibleinterface.html#navigate">navigate</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qaccessibleobject.html#object">object</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>()
+<li><a href="qaccessibleinterface.html#queryChild">queryChild</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qaccessibleinterface.html#queryParent">queryParent</a>()
+<li><a href="qaccessibleinterface.html#rect">rect</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaccessibleinterface.html#role">role</a>()
+<li><a href="qaccessibleinterface.html#selection">selection</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaccessibleinterface.html#setFocus">setFocus</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaccessibleinterface.html#setSelected">setSelected</a>()
+<li><a href="qaccessibleinterface.html#setText">setText</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaccessibleinterface.html#state">state</a>()
+<li><a href="qaccessibleinterface.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qaccessible.html#updateAccessibility">updateAccessibility</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaccessibleobject.html b/doc/html/qaccessibleobject.html
new file mode 100644
index 0000000..08656bd
--- /dev/null
+++ b/doc/html/qaccessibleobject.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qaccessible.cpp:632 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAccessibleObject Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAccessibleObject Class Reference</h1>
+
+<p>The QAccessibleObject class implements parts of the
+QAccessibleInterface for QObjects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaccessible-h.html">qaccessible.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qaccessibleinterface.html">QAccessibleInterface</a>.
+<p><a href="qaccessibleobject-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAccessibleObject"><b>QAccessibleObject</b></a> ( QObject&nbsp;*&nbsp;object )</li>
+<li class=fn>virtual <a href="#~QAccessibleObject"><b>~QAccessibleObject</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>QObject * <a href="#object"><b>object</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAccessibleObject class implements parts of the
+<a href="qaccessibleinterface.html">QAccessibleInterface</a> for QObjects.
+<p>
+<p> This class is mainly provided for convenience. All subclasses of
+the QAccessibleInterface should use this class as the base class.
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAccessibleObject"></a>QAccessibleObject::QAccessibleObject ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object )
+</h3>
+Creates a QAccessibleObject for <em>object</em>.
+
+<h3 class=fn><a name="~QAccessibleObject"></a>QAccessibleObject::~QAccessibleObject ()<tt> [virtual]</tt>
+</h3>
+Destroys the QAccessibleObject.
+<p> This only happens when a call to release() decrements the internal
+reference counter to zero.
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="object"></a>QAccessibleObject::object () const<tt> [protected]</tt>
+</h3>
+Returns the <a href="qobject.html">QObject</a> for which this <a href="qaccessibleinterface.html">QAccessibleInterface</a>
+implementation provides information. Use <a href="qaccessibleinterface.html#isValid">isValid</a>() to make sure
+the object pointer is safe to use.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaction-application-example.html b/doc/html/qaction-application-example.html
new file mode 100644
index 0000000..406d3f6
--- /dev/null
+++ b/doc/html/qaction-application-example.html
@@ -0,0 +1,438 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/action/application.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Complete Application Window with Actions</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Complete Application Window with Actions</h1>
+
+
+<p>
+<p> The <a href="qaction.html">QAction</a> class provides a way of associating user input from different
+user interface elements with abstract high level actions. This approach makes
+it easy to customize applications for different types of users.
+<p> This example program is just like the
+<a href="simple-application-example.html">application example</a>,
+but uses QAction to build the menu and the toolbar.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.h 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef APPLICATION_H
+#define APPLICATION_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class QTextEdit;
+
+class ApplicationWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ApplicationWindow();
+ ~ApplicationWindow();
+
+protected:
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a>* );
+
+private slots:
+ void newDoc();
+ void choose();
+ void load( const <a href="qstring.html">QString</a> &amp;fileName );
+ void save();
+ void saveAs();
+ void print();
+
+ void about();
+ void aboutQt();
+
+private:
+ <a href="qprinter.html">QPrinter</a> *printer;
+ <a href="qtextedit.html">QTextEdit</a> *e;
+ <a href="qstring.html">QString</a> filename;
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.cpp 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "application.h"
+
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qtextedit-h.html">qtextedit.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;
+#include &lt;<a href="qwhatsthis-h.html">qwhatsthis.h</a>&gt;
+#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;
+#include &lt;<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>&gt;
+
+#include "filesave.xpm"
+#include "fileopen.xpm"
+#include "fileprint.xpm"
+
+
+<a name="f375"></a>ApplicationWindow::ApplicationWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "example application main window", WDestructiveClose )
+{
+ printer = new <a href="qprinter.html">QPrinter</a>( QPrinter::HighResolution );
+
+ <a href="qaction.html">QAction</a> * fileNewAction;
+ <a href="qaction.html">QAction</a> * fileOpenAction;
+ <a href="qaction.html">QAction</a> * fileSaveAction, * fileSaveAsAction, * filePrintAction;
+ <a href="qaction.html">QAction</a> * fileCloseAction, * fileQuitAction;
+
+ fileNewAction = new <a href="qaction.html">QAction</a>( "&amp;New", CTRL+Key_N, this, "new" );
+<a name="x1123"></a> <a href="qobject.html#connect">connect</a>( fileNewAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this,
+ SLOT( newDoc() ) );
+
+ fileOpenAction = new <a href="qaction.html">QAction</a>( QPixmap( fileopen ), "&amp;Open...",
+ CTRL+Key_O, this, "open" );
+ <a href="qobject.html#connect">connect</a>( fileOpenAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this, SLOT( choose() ) );
+
+ const char * fileOpenText = "&lt;p&gt;&lt;img source=\"fileopen\"&gt; "
+ "Click this button to open a &lt;em&gt;new file&lt;/em&gt;. &lt;br&gt;"
+ "You can also select the &lt;b&gt;Open&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+<a name="x1140"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen",
+<a name="x1125"></a> fileOpenAction-&gt;<a href="qaction.html#iconSet">iconSet</a>().pixmap() );
+<a name="x1126"></a> fileOpenAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileOpenText );
+
+ fileSaveAction = new <a href="qaction.html">QAction</a>( QPixmap( filesave ),
+ "&amp;Save", CTRL+Key_S, this, "save" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this, SLOT( save() ) );
+
+ const char * fileSaveText = "&lt;p&gt;Click this button to save the file you "
+ "are editing. You will be prompted for a file name.\n"
+ "You can also select the &lt;b&gt;Save&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+ fileSaveAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileSaveText );
+
+ fileSaveAsAction = new <a href="qaction.html">QAction</a>( "Save File As", "Save &amp;As...", 0, this,
+ "save as" );
+ <a href="qobject.html#connect">connect</a>( fileSaveAsAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this,
+ SLOT( saveAs() ) );
+ fileSaveAsAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileSaveText );
+
+ filePrintAction = new <a href="qaction.html">QAction</a>( "Print File", QPixmap( fileprint ),
+ "&amp;Print...", CTRL+Key_P, this, "print" );
+ <a href="qobject.html#connect">connect</a>( filePrintAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this,
+ SLOT( print() ) );
+
+ const char * filePrintText = "Click this button to print the file you "
+ "are editing.\n You can also select the Print "
+ "command from the File menu.";
+ filePrintAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( filePrintText );
+
+ fileCloseAction = new <a href="qaction.html">QAction</a>( "Close", "&amp;Close", CTRL+Key_W, this,
+ "close" );
+ <a href="qobject.html#connect">connect</a>( fileCloseAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this,
+ SLOT( <a href="qwidget.html#close">close</a>() ) );
+
+ fileQuitAction = new <a href="qaction.html">QAction</a>( "Quit", "&amp;Quit", CTRL+Key_Q, this,
+ "quit" );
+<a name="x1127"></a> <a href="qobject.html#connect">connect</a>( fileQuitAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , qApp,
+ SLOT( <a href="qapplication.html#closeAllWindows">closeAllWindows</a>() ) );
+
+ // populate a tool bar with some actions
+
+ <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+<a name="x1172"></a> fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+<a name="x1124"></a> fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ (void)QWhatsThis::whatsThisButton( fileTools );
+
+
+ // populate a menu with all actions
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ fileSaveAsAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ filePrintAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fileCloseAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+ fileQuitAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+
+ // add a help menu
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1 );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()) );
+ help-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "What's &amp;This", this, SLOT(<a href="qmainwindow.html#whatsThis">whatsThis</a>()),
+ SHIFT+Key_F1 );
+
+
+ // create and define the central widget
+
+ e = new <a href="qtextedit.html">QTextEdit</a>( this, "editor" );
+ e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( e );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+
+ <a href="qwidget.html#resize">resize</a>( 450, 600 );
+}
+
+
+ApplicationWindow::~ApplicationWindow()
+{
+ delete printer;
+}
+
+
+
+void <a name="f376"></a>ApplicationWindow::newDoc()
+{
+ ApplicationWindow *ed = new ApplicationWindow;
+ ed-&gt;<a href="qwidget.html#show">show</a>();
+}
+
+void <a name="f377"></a>ApplicationWindow::choose()
+{
+<a name="x1132"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString::null,
+ this);
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( fn );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loading aborted", 2000 );
+}
+
+
+void <a name="f378"></a>ApplicationWindow::load( const <a href="qstring.html">QString</a> &amp;fileName )
+{
+ <a href="qfile.html">QFile</a> f( fileName );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;f );
+<a name="x1171"></a><a name="x1168"></a> e-&gt;<a href="qtextedit.html#setText">setText</a>( ts.<a href="qtextstream.html#read">read</a>() );
+<a name="x1167"></a> e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+ <a href="qwidget.html#setCaption">setCaption</a>( fileName );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loaded document " + fileName, 2000 );
+}
+
+
+void <a name="f379"></a>ApplicationWindow::save()
+{
+ if ( filename.isEmpty() ) {
+ saveAs();
+ return;
+ }
+
+<a name="x1170"></a> <a href="qstring.html">QString</a> text = e-&gt;<a href="qtextedit.html#text">text</a>();
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString("Could not write to %1").arg(filename),
+ 2000 );
+ return;
+ }
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+ t &lt;&lt; text;
+ f.<a href="qfile.html#close">close</a>();
+
+ e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+
+ <a href="qwidget.html#setCaption">setCaption</a>( filename );
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "File %1 saved" ).arg( filename ), 2000 );
+}
+
+
+void <a name="f380"></a>ApplicationWindow::saveAs()
+{
+<a name="x1133"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null,
+ this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ save();
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving aborted", 2000 );
+ }
+}
+
+
+void <a name="f381"></a>ApplicationWindow::print()
+{
+<a name="x1150"></a> printer-&gt;<a href="qprinter.html#setFullPage">setFullPage</a>( TRUE );
+<a name="x1151"></a> if ( printer-&gt;<a href="qprinter.html#setup">setup</a>(this) ) { // printer dialog
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing..." );
+ <a href="qpainter.html">QPainter</a> p;
+ if( !p.<a href="qpainter.html#begin">begin</a>( printer ) ) { // paint on printer
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ return;
+ }
+
+<a name="x1145"></a> <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics( p.<a href="qpainter.html#device">device</a>() );
+<a name="x1142"></a> int dpiy = metrics.<a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>();
+ int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins
+<a name="x1143"></a><a name="x1141"></a> <a href="qrect.html">QRect</a> view( margin, margin, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*margin, metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - 2*margin );
+<a name="x1163"></a> <a href="qsimplerichtext.html">QSimpleRichText</a> richText( QStyleSheet::<a href="qstylesheet.html#convertFromPlainText">convertFromPlainText</a>(e-&gt;<a href="qtextedit.html#text">text</a>()),
+ QFont(),
+<a name="x1164"></a> e-&gt;<a href="qtextedit.html#context">context</a>(),
+<a name="x1169"></a> e-&gt;<a href="qtextedit.html#styleSheet">styleSheet</a>(),
+<a name="x1166"></a> e-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>(),
+ view.<a href="qrect.html#height">height</a>() );
+<a name="x1160"></a> richText.<a href="qsimplerichtext.html#setWidth">setWidth</a>( &amp;p, view.<a href="qrect.html#width">width</a>() );
+ int page = 1;
+ do {
+<a name="x1158"></a> richText.<a href="qsimplerichtext.html#draw">draw</a>( &amp;p, margin, margin, view, colorGroup() );
+<a name="x1154"></a> view.<a href="qrect.html#moveBy">moveBy</a>( 0, view.<a href="qrect.html#height">height</a>() );
+<a name="x1148"></a> p.<a href="qpainter.html#translate">translate</a>( 0 , -view.<a href="qrect.html#height">height</a>() );
+<a name="x1155"></a><a name="x1147"></a> p.<a href="qpainter.html#drawText">drawText</a>( view.<a href="qrect.html#right">right</a>() - p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().width( QString::<a href="qstring.html#number">number</a>( page ) ),
+<a name="x1152"></a> view.<a href="qrect.html#bottom">bottom</a>() + p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().ascent() + 5, QString::number( page ) );
+<a name="x1159"></a> if ( view.<a href="qrect.html#top">top</a>() - margin &gt;= richText.<a href="qsimplerichtext.html#height">height</a>() )
+ break;
+<a name="x1149"></a> printer-&gt;<a href="qprinter.html#newPage">newPage</a>();
+ page++;
+ } while (TRUE);
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing completed", 2000 );
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ }
+}
+
+<a name="x1173"></a>void ApplicationWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a>* ce )
+{
+<a name="x1165"></a> if ( !e-&gt;<a href="qtextedit.html#isModified">isModified</a>() ) {
+<a name="x1128"></a> ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ return;
+ }
+
+<a name="x1139"></a> switch( QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Qt Application Example",
+ "The document has been changed since "
+ "the last save.",
+ "Save Now", "Cancel", "Leave Anyway",
+ 0, 1 ) ) {
+ case 0:
+ save();
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ case 1:
+ default: // just for sanity
+<a name="x1129"></a> ce-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+ case 2:
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ }
+}
+
+
+void <a name="f382"></a>ApplicationWindow::about()
+{
+<a name="x1137"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Application Example",
+ "This example demonstrates simple use of "
+ "QMainWindow,\nQMenuBar and QToolBar.");
+}
+
+
+void <a name="f383"></a>ApplicationWindow::aboutQt()
+{
+<a name="x1138"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Application Example" );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:36 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "application.h"
+
+int main( int argc, char ** argv ) {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ApplicationWindow * mw = new ApplicationWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Document 1" );
+<a name="x1178"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+<a name="x1179"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="qaction-examples.html">QAction Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaction-examples.html b/doc/html/qaction-examples.html
new file mode 100644
index 0000000..14d6985
--- /dev/null
+++ b/doc/html/qaction-examples.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:388 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAction Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAction Examples</h1>
+
+
+<p> The following example programs show how to use the
+<a href="qaction.html">QAction</a> and <a href="qactiongroup.html">QActionGroup</a> classes.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaction-application-example.html">A Complete Application Window with Actions</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="toggleaction-example.html">A Tiny Example Featuring a Toggle Action</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaction-h.html b/doc/html/qaction-h.html
new file mode 100644
index 0000000..7ea3b4a
--- /dev/null
+++ b/doc/html/qaction-h.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaction.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaction.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaction.h</h1>
+
+<p>This is the verbatim text of the qaction.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaction.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QAction class
+**
+** Created : 000000
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QACTION_H
+#define QACTION_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qiconset.h"
+#include "qstring.h"
+#include "qkeysequence.h"
+#endif // QT_H
+
+#ifndef QT_NO_ACTION
+
+class QActionPrivate;
+class QActionGroupPrivate;
+class QStatusBar;
+class QPopupMenu;
+class QToolTipGroup;
+
+class Q_EXPORT QAction : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY( bool toggleAction READ isToggleAction WRITE setToggleAction)
+ Q_PROPERTY( bool on READ isOn WRITE setOn )
+ Q_PROPERTY( bool enabled READ isEnabled WRITE setEnabled )
+ Q_PROPERTY( QIconSet iconSet READ iconSet WRITE setIconSet )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( QString menuText READ menuText WRITE setMenuText )
+ Q_PROPERTY( QString toolTip READ toolTip WRITE setToolTip )
+ Q_PROPERTY( QString statusTip READ statusTip WRITE setStatusTip )
+ Q_PROPERTY( QString whatsThis READ whatsThis WRITE setWhatsThis )
+#ifndef QT_NO_ACCEL
+ Q_PROPERTY( QKeySequence accel READ accel WRITE setAccel )
+#endif
+ Q_PROPERTY( bool visible READ isVisible WRITE setVisible )
+
+public:
+ QAction( QObject* parent, const char* name = 0 );
+#ifndef QT_NO_ACCEL
+ QAction( const QString&amp; menuText, QKeySequence accel,
+ QObject* parent, const char* name = 0 );
+ QAction( const QIconSet&amp; icon, const QString&amp; menuText, QKeySequence accel,
+ QObject* parent, const char* name = 0 );
+
+ QAction( const QString&amp; text, const QIconSet&amp; icon, const QString&amp; menuText, QKeySequence accel,
+ QObject* parent, const char* name = 0, bool toggle = FALSE ); // obsolete
+ QAction( const QString&amp; text, const QString&amp; menuText, QKeySequence accel, QObject* parent,
+ const char* name = 0, bool toggle = FALSE ); // obsolete
+#endif
+ QAction( QObject* parent, const char* name , bool toggle ); // obsolete
+ ~QAction();
+
+ virtual void setIconSet( const QIconSet&amp; );
+ QIconSet iconSet() const;
+ virtual void setText( const QString&amp; );
+ QString text() const;
+ virtual void setMenuText( const QString&amp; );
+ QString menuText() const;
+ virtual void setToolTip( const QString&amp; );
+ QString toolTip() const;
+ virtual void setStatusTip( const QString&amp; );
+ QString statusTip() const;
+ virtual void setWhatsThis( const QString&amp; );
+ QString whatsThis() const;
+#ifndef QT_NO_ACCEL
+ virtual void setAccel( const QKeySequence&amp; key );
+ QKeySequence accel() const;
+#endif
+ virtual void setToggleAction( bool );
+
+ bool isToggleAction() const;
+ bool isOn() const;
+ bool isEnabled() const;
+ bool isVisible() const;
+ virtual bool addTo( QWidget* );
+ virtual bool removeFrom( QWidget* );
+
+protected:
+ virtual void addedTo( QWidget *actionWidget, QWidget *container );
+ virtual void addedTo( int index, QPopupMenu *menu );
+
+public slots:
+ void activate();
+ void toggle();
+ virtual void setOn( bool );
+ virtual void setEnabled( bool );
+ void setDisabled( bool );
+ void setVisible( bool );
+
+signals:
+ void activated();
+ void toggled( bool );
+
+private slots:
+ void internalActivation();
+ void toolButtonToggled( bool );
+ void objectDestroyed();
+ void menuStatusText( int id );
+ void showStatusText( const QString&amp; );
+ void clearStatusText();
+
+private:
+ void init();
+
+ friend class QActionGroup;
+ friend class QActionGroupPrivate;
+ QActionPrivate* d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QAction( const QAction &amp; );
+ QAction &amp;operator=( const QAction &amp; );
+#endif
+};
+
+class Q_EXPORT QActionGroup : public QAction
+{
+ Q_OBJECT
+ Q_PROPERTY( bool exclusive READ isExclusive WRITE setExclusive )
+ Q_PROPERTY( bool usesDropDown READ usesDropDown WRITE setUsesDropDown )
+
+public:
+ QActionGroup( QObject* parent, const char* name = 0 );
+ QActionGroup( QObject* parent, const char* name , bool exclusive ); // obsolete
+ ~QActionGroup();
+ void setExclusive( bool );
+ bool isExclusive() const;
+ void add( QAction* a);
+ void addSeparator();
+ bool addTo( QWidget* );
+ bool removeFrom( QWidget* );
+ void setEnabled( bool );
+ void setToggleAction( bool toggle );
+ void setOn( bool on );
+
+ void setUsesDropDown( bool enable );
+ bool usesDropDown() const;
+
+ void setIconSet( const QIconSet&amp; );
+ void setText( const QString&amp; );
+ void setMenuText( const QString&amp; );
+ void setToolTip( const QString&amp; );
+ void setWhatsThis( const QString&amp; );
+
+protected:
+ void childEvent( QChildEvent* );
+ virtual void addedTo( QWidget *actionWidget, QWidget *container, QAction *a );
+ virtual void addedTo( int index, QPopupMenu *menu, QAction *a );
+ virtual void addedTo( QWidget *actionWidget, QWidget *container );
+ virtual void addedTo( int index, QPopupMenu *menu );
+
+signals:
+ void selected( QAction* );
+
+private slots:
+ void childToggled( bool );
+ void childDestroyed();
+ void internalComboBoxActivated( int );
+ void internalComboBoxHighlighted( int );
+ void internalToggle( QAction* );
+ void objectDestroyed();
+
+private:
+ QActionGroupPrivate* d;
+
+#ifndef QT_NO_COMPAT
+public:
+ void insert( QAction* a ) { add( a ); }
+#endif
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QActionGroup( const QActionGroup &amp; );
+ QActionGroup &amp;operator=( const QActionGroup &amp; );
+#endif
+};
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaction-members.html b/doc/html/qaction-members.html
new file mode 100644
index 0000000..f1925f7
--- /dev/null
+++ b/doc/html/qaction-members.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaction.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAction Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAction</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaction.html">QAction</a>, including inherited members.
+
+<ul>
+<li><a href="qaction.html#QAction">QAction</a>()
+<li><a href="qaction.html#~QAction">~QAction</a>()
+<li><a href="qaction.html#accel">accel</a>()
+<li><a href="qaction.html#activate">activate</a>()
+<li><a href="qaction.html#activated">activated</a>()
+<li><a href="qaction.html#addTo">addTo</a>()
+<li><a href="qaction.html#addedTo">addedTo</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qaction.html#iconSet">iconSet</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaction.html#isEnabled">isEnabled</a>()
+<li><a href="qaction.html#isOn">isOn</a>()
+<li><a href="qaction.html#isToggleAction">isToggleAction</a>()
+<li><a href="qaction.html#isVisible">isVisible</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qaction.html#menuText">menuText</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaction.html#removeFrom">removeFrom</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaction.html#setAccel">setAccel</a>()
+<li><a href="qaction.html#setDisabled">setDisabled</a>()
+<li><a href="qaction.html#setEnabled">setEnabled</a>()
+<li><a href="qaction.html#setIconSet">setIconSet</a>()
+<li><a href="qaction.html#setMenuText">setMenuText</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qaction.html#setOn">setOn</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaction.html#setStatusTip">setStatusTip</a>()
+<li><a href="qaction.html#setText">setText</a>()
+<li><a href="qaction.html#setToggleAction">setToggleAction</a>()
+<li><a href="qaction.html#setToolTip">setToolTip</a>()
+<li><a href="qaction.html#setVisible">setVisible</a>()
+<li><a href="qaction.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaction.html#statusTip">statusTip</a>()
+<li><a href="qaction.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qaction.html#toggle">toggle</a>()
+<li><a href="qaction.html#toggled">toggled</a>()
+<li><a href="qaction.html#toolTip">toolTip</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qaction.html#whatsThis">whatsThis</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaction.html b/doc/html/qaction.html
new file mode 100644
index 0000000..51db1eb
--- /dev/null
+++ b/doc/html/qaction.html
@@ -0,0 +1,520 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qaction.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAction Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAction Class Reference</h1>
+
+<p>The QAction class provides an abstract user interface
+action that can appear both in menus and tool bars.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qactiongroup.html">QActionGroup</a>.
+<p><a href="qaction-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAction"><b>QAction</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QAction-2"><b>QAction</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;menuText, QKeySequence&nbsp;accel, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QAction-3"><b>QAction</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;menuText, QKeySequence&nbsp;accel, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QAction ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;menuText, QKeySequence&nbsp;accel, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;toggle = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QAction ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;menuText, QKeySequence&nbsp;accel, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;toggle = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QAction ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;toggle ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#~QAction"><b>~QAction</b></a> ()</li>
+<li class=fn>virtual void <a href="#setIconSet"><b>setIconSet</b></a> ( const QIconSet &amp; )</li>
+<li class=fn>QIconSet <a href="#iconSet"><b>iconSet</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMenuText"><b>setMenuText</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#menuText"><b>menuText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setToolTip"><b>setToolTip</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#toolTip"><b>toolTip</b></a> () const</li>
+<li class=fn>virtual void <a href="#setStatusTip"><b>setStatusTip</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#statusTip"><b>statusTip</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWhatsThis"><b>setWhatsThis</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#whatsThis"><b>whatsThis</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setToggleAction"><b>setToggleAction</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isToggleAction"><b>isToggleAction</b></a> () const</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isVisible"><b>isVisible</b></a> () const</li>
+<li class=fn>virtual bool <a href="#addTo"><b>addTo</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual bool <a href="#removeFrom"><b>removeFrom</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#activate"><b>activate</b></a> ()</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOn"><b>setOn</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool )</li>
+<li class=fn>void <a href="#setDisabled"><b>setDisabled</b></a> ( bool&nbsp;disable )</li>
+<li class=fn>void <a href="#setVisible"><b>setVisible</b></a> ( bool )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ()</li>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QKeySequence <a href="#accel-prop"><b>accel</b></a>&nbsp;- the action's accelerator key</li>
+<li class=fn>bool <a href="#enabled-prop"><b>enabled</b></a>&nbsp;- whether the action is enabled</li>
+<li class=fn>QIconSet <a href="#iconSet-prop"><b>iconSet</b></a>&nbsp;- the action's icon</li>
+<li class=fn>QString <a href="#menuText-prop"><b>menuText</b></a>&nbsp;- the action's menu text</li>
+<li class=fn>bool <a href="#on-prop"><b>on</b></a>&nbsp;- whether a toggle action is on</li>
+<li class=fn>QString <a href="#statusTip-prop"><b>statusTip</b></a>&nbsp;- the action's status tip</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the action's descriptive text</li>
+<li class=fn>bool <a href="#toggleAction-prop"><b>toggleAction</b></a>&nbsp;- whether the action is a toggle action</li>
+<li class=fn>QString <a href="#toolTip-prop"><b>toolTip</b></a>&nbsp;- the action's tool tip</li>
+<li class=fn>bool <a href="#visible-prop"><b>visible</b></a>&nbsp;- whether the action can be seen (e.g. in menus and toolbars)</li>
+<li class=fn>QString <a href="#whatsThis-prop"><b>whatsThis</b></a>&nbsp;- the action's "What's This?" help text</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#addedTo"><b>addedTo</b></a> ( QWidget&nbsp;*&nbsp;actionWidget, QWidget&nbsp;*&nbsp;container )</li>
+<li class=fn>virtual void <a href="#addedTo-2"><b>addedTo</b></a> ( int&nbsp;index, QPopupMenu&nbsp;*&nbsp;menu )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAction class provides an abstract user interface
+action that can appear both in menus and tool bars.
+<p>
+
+
+<p> In GUI applications many commands can be invoked via a menu
+option, a toolbar button and a keyboard accelerator. Since the
+same action must be performed regardless of how the action was
+invoked, and since the menu and toolbar should be kept in sync, it
+is useful to represent a command as an <em>action</em>. An action can be
+added to a menu and a toolbar and will automatically keep them in
+sync. For example, if the user presses a Bold toolbar button the
+Bold menu item will automatically be checked.
+<p> A QAction may contain an icon, a menu text, an accelerator, a
+status text, a whats this text and a tool tip. Most of these can
+be set in the constructor. They can also be set independently with
+<a href="#setIconSet">setIconSet</a>(), <a href="#setText">setText</a>(), <a href="#setMenuText">setMenuText</a>(), <a href="#setToolTip">setToolTip</a>(),
+<a href="#setStatusTip">setStatusTip</a>(), <a href="#setWhatsThis">setWhatsThis</a>() and <a href="#setAccel">setAccel</a>().
+<p> An action may be a toggle action e.g. a Bold toolbar button, or a
+command action, e.g. 'Open File' to invoke an open file dialog.
+Toggle actions emit the <a href="#toggled">toggled</a>() signal when their state changes.
+Both command and toggle actions emit the <a href="#activated">activated</a>() signal when
+they are invoked. Use <a href="#setToggleAction">setToggleAction</a>() to set an action's toggled
+status. To see if an action is a toggle action use
+<a href="#isToggleAction">isToggleAction</a>(). A toggle action may be "on", <a href="#isOn">isOn</a>() returns
+TRUE, or "off", isOn() returns FALSE.
+<p> Actions are added to widgets (menus or toolbars) using <a href="#addTo">addTo</a>(),
+and removed using <a href="#removeFrom">removeFrom</a>().
+<p> Once a QAction has been created it should be added to the relevant
+menu and toolbar and then connected to the slot which will perform
+the action. For example:
+<p>
+
+<pre> fileOpenAction = new QAction( QPixmap( fileopen ), "&amp;Open...",
+ CTRL+Key_O, this, "open" );
+ <a href="qobject.html#connect">connect</a>( fileOpenAction, SIGNAL( <a href="#activated">activated</a>() ) , this, SLOT( choose() ) );
+</pre>
+<p> We create a "File Save" action with a menu text of "&Save" and
+<em>Ctrl+S</em> as the keyboard accelerator. We connect the
+fileSaveAction's <a href="#activated">activated</a>() signal to our own save() slot. Note
+that at this point there is no menu or toolbar action, we'll add
+them next:
+<p> <pre> <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+</pre><pre> fileSaveAction-&gt;<a href="#addTo">addTo</a>( fileTools );
+</pre><pre> <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+</pre><pre> fileSaveAction-&gt;<a href="#addTo">addTo</a>( file );
+</pre>
+<p> We create a toolbar and add our fileSaveAction to it. Similarly we
+create a menu, add a top-level menu item, and add our
+fileSaveAction.
+<p> We recommend that actions are created as children of the window
+that they are used in. In most cases actions will be children of
+the application's main window.
+<p> To prevent recursion, don't create an action as a child of a
+widget that the action is later added to.
+<p>See also <a href="application.html">Main Window and Related Classes</a> and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAction"></a>QAction::QAction ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an action called <em>name</em> with parent <em>parent</em>.
+<p> If <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>, the new action inserts itself into
+<em>parent</em>.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+<p> <b>Warning:</b> To prevent recursion, don't create an action as a child
+of a widget that the action is later added to.
+
+<h3 class=fn><a name="QAction-2"></a>QAction::QAction ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;menuText, <a href="qkeysequence.html">QKeySequence</a>&nbsp;accel, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This constructor results in an icon-less action with the the menu
+text <em>menuText</em> and keyboard accelerator <em>accel</em>. It is a child
+of <em>parent</em> and called <em>name</em>.
+<p> If <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>, the action automatically becomes
+a member of it.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+<p> The action uses a stripped version of <em>menuText</em> (e.g. "&amp;Menu
+Option..." becomes "Menu Option") as descriptive text for
+toolbuttons. You can override this by setting a specific
+description with <a href="#setText">setText</a>(). The same text and <em>accel</em> will be
+used for tool tips and status tips unless you provide text for
+these using <a href="#setToolTip">setToolTip</a>() and <a href="#setStatusTip">setStatusTip</a>().
+<p> Call <a href="#setToggleAction">setToggleAction</a>(TRUE) to make the action a toggle action.
+<p> <b>Warning:</b> To prevent recursion, don't create an action as a child
+of a widget that the action is later added to.
+
+<h3 class=fn><a name="QAction-3"></a>QAction::QAction ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;menuText, <a href="qkeysequence.html">QKeySequence</a>&nbsp;accel, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This constructor creates an action with the following properties:
+the icon or iconset <em>icon</em>, the menu text <em>menuText</em> and
+keyboard accelerator <em>accel</em>. It is a child of <em>parent</em> and
+called <em>name</em>.
+<p> If <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>, the action automatically becomes
+a member of it.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+<p> The action uses a stripped version of <em>menuText</em> (e.g. "&amp;Menu
+Option..." becomes "Menu Option") as descriptive text for
+toolbuttons. You can override this by setting a specific
+description with <a href="#setText">setText</a>(). The same text and <em>accel</em> will be
+used for tool tips and status tips unless you provide text for
+these using <a href="#setToolTip">setToolTip</a>() and <a href="#setStatusTip">setStatusTip</a>().
+<p> Call <a href="#setToggleAction">setToggleAction</a>(TRUE) to make the action a toggle action.
+<p> <b>Warning:</b> To prevent recursion, don't create an action as a child
+of a widget that the action is later added to.
+
+<h3 class=fn><a name="QAction-4"></a>QAction::QAction ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;menuText, <a href="qkeysequence.html">QKeySequence</a>&nbsp;accel, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;toggle = FALSE )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This constructor creates an action with the following properties:
+the description <em>text</em>, the icon or iconset <em>icon</em>, the menu
+text <em>menuText</em> and keyboard accelerator <em>accel</em>. It is a child
+of <em>parent</em> and called <em>name</em>. If <em>toggle</em> is TRUE the action
+will be a toggle action, otherwise it will be a command action.
+<p> If <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>, the action automatically becomes
+a member of it.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+<p> The <em>text</em> and <em>accel</em> will be used for tool tips and status
+tips unless you provide specific text for these using <a href="#setToolTip">setToolTip</a>()
+and <a href="#setStatusTip">setStatusTip</a>().
+
+<h3 class=fn><a name="QAction-5"></a>QAction::QAction ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;menuText, <a href="qkeysequence.html">QKeySequence</a>&nbsp;accel, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;toggle = FALSE )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This constructor results in an icon-less action with the
+description <em>text</em>, the menu text <em>menuText</em> and the keyboard
+accelerator <em>accel</em>. Its parent is <em>parent</em> and it is called <em>name</em>. If <em>toggle</em> is TRUE the action will be a toggle action,
+otherwise it will be a command action.
+<p> The action automatically becomes a member of <em>parent</em> if <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+<p> The <em>text</em> and <em>accel</em> will be used for tool tips and status
+tips unless you provide specific text for these using <a href="#setToolTip">setToolTip</a>()
+and <a href="#setStatusTip">setStatusTip</a>().
+
+<h3 class=fn><a name="QAction-6"></a>QAction::QAction ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;toggle )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Constructs an action called <em>name</em> with parent <em>parent</em>.
+<p> If <em>toggle</em> is TRUE the action will be a toggle action, otherwise
+it will be a command action.
+<p> If <em>parent</em> is a <a href="qactiongroup.html">QActionGroup</a>, the new action inserts itself into
+<em>parent</em>.
+<p> For accelerators and status tips to work, <em>parent</em> must either be
+a widget, or an action group whose parent is a widget.
+
+<h3 class=fn><a name="~QAction"></a>QAction::~QAction ()
+</h3>
+Destroys the object and frees allocated resources.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QAction::accel () const
+</h3><p>Returns the action's accelerator key.
+See the <a href="qaction.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="activate"></a>QAction::activate ()<tt> [slot]</tt>
+</h3>
+Activates the action and executes all connected slots.
+This only works for actions that are not toggle action.
+<p> <p>See also <a href="#toggle">toggle</a>().
+
+<h3 class=fn>void <a name="activated"></a>QAction::activated ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an action is activated by the user,
+e.g. when the user clicks a menu option or a toolbar button or
+presses an action's accelerator key combination.
+<p> Connect to this signal for command actions. Connect to the
+<a href="#toggled">toggled</a>() signal for toggle actions.
+
+<p>Examples: <a href="qaction-application-example.html#x1123">action/application.cpp</a>, <a href="canvas-chart-example.html#x2869">chart/chartform.cpp</a>, and <a href="themes-example.html#x316">themes/themes.cpp</a>.
+<h3 class=fn>bool <a name="addTo"></a>QAction::addTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Adds this action to widget <em>w</em>.
+<p> Currently actions may be added to <a href="qtoolbar.html">QToolBar</a> and <a href="qpopupmenu.html">QPopupMenu</a> widgets.
+<p> An action added to a tool bar is automatically displayed as a tool
+button; an action added to a pop up menu appears as a menu option.
+<p> <a href="#addTo">addTo</a>() returns TRUE if the action was added successfully and
+FALSE otherwise. (If <em>w</em> is not a QToolBar or QPopupMenu the
+action will not be added and FALSE will be returned.)
+<p> <p>See also <a href="#removeFrom">removeFrom</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1124">action/application.cpp</a>, <a href="toggleaction-example.html#x2971">action/toggleaction/toggleaction.cpp</a>, and <a href="canvas-chart-example.html#x2870">chart/chartform.cpp</a>.
+<p>Reimplemented in <a href="qactiongroup.html#addTo">QActionGroup</a>.
+<h3 class=fn>void <a name="addedTo"></a>QAction::addedTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;actionWidget, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;container )<tt> [virtual protected]</tt>
+</h3>
+This function is called from the <a href="#addTo">addTo</a>() function when it has
+created a widget (<em>actionWidget</em>) for the action in the <em>container</em>.
+
+<h3 class=fn>void <a name="addedTo-2"></a>QAction::addedTo ( int&nbsp;index, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;menu )<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function is called from the <a href="#addTo">addTo</a>() function when it has
+created a menu item at the index position <em>index</em> in the popup
+menu <em>menu</em>.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet"></a>QAction::iconSet () const
+</h3><p>Returns the action's icon.
+See the <a href="qaction.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn>bool <a name="isEnabled"></a>QAction::isEnabled () const
+</h3><p>Returns TRUE if the action is enabled; otherwise returns FALSE.
+See the <a href="qaction.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>bool <a name="isOn"></a>QAction::isOn () const
+</h3><p>Returns TRUE if a toggle action is on; otherwise returns FALSE.
+See the <a href="qaction.html#on-prop">"on"</a> property for details.
+<h3 class=fn>bool <a name="isToggleAction"></a>QAction::isToggleAction () const
+</h3><p>Returns TRUE if the action is a toggle action; otherwise returns FALSE.
+See the <a href="qaction.html#toggleAction-prop">"toggleAction"</a> property for details.
+<h3 class=fn>bool <a name="isVisible"></a>QAction::isVisible () const
+</h3><p>Returns TRUE if the action can be seen (e.g. in menus and toolbars); otherwise returns FALSE.
+See the <a href="qaction.html#visible-prop">"visible"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="menuText"></a>QAction::menuText () const
+</h3><p>Returns the action's menu text.
+See the <a href="qaction.html#menuText-prop">"menuText"</a> property for details.
+<h3 class=fn>bool <a name="removeFrom"></a>QAction::removeFrom ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Removes the action from widget <em>w</em>.
+<p> Returns TRUE if the action was removed successfully; otherwise
+returns FALSE.
+<p> <p>See also <a href="#addTo">addTo</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QAction::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;key )<tt> [virtual]</tt>
+</h3><p>Sets the action's accelerator key to <em>key</em>.
+See the <a href="qaction.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="setDisabled"></a>QAction::setDisabled ( bool&nbsp;disable )<tt> [slot]</tt>
+</h3>
+Disables the action if <em>disable</em> is TRUE; otherwise
+enables the action.
+<p> See the <a href="#enabled-prop">enabled</a> documentation for more information.
+
+<h3 class=fn>void <a name="setEnabled"></a>QAction::setEnabled ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the action is enabled.
+See the <a href="qaction.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>void <a name="setIconSet"></a>QAction::setIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's icon.
+See the <a href="qaction.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn>void <a name="setMenuText"></a>QAction::setMenuText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's menu text.
+See the <a href="qaction.html#menuText-prop">"menuText"</a> property for details.
+<h3 class=fn>void <a name="setOn"></a>QAction::setOn ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether a toggle action is on.
+See the <a href="qaction.html#on-prop">"on"</a> property for details.
+<h3 class=fn>void <a name="setStatusTip"></a>QAction::setStatusTip ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's status tip.
+See the <a href="qaction.html#statusTip-prop">"statusTip"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QAction::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's descriptive text.
+See the <a href="qaction.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setToggleAction"></a>QAction::setToggleAction ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the action is a toggle action.
+See the <a href="qaction.html#toggleAction-prop">"toggleAction"</a> property for details.
+<h3 class=fn>void <a name="setToolTip"></a>QAction::setToolTip ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's tool tip.
+See the <a href="qaction.html#toolTip-prop">"toolTip"</a> property for details.
+<h3 class=fn>void <a name="setVisible"></a>QAction::setVisible ( bool )<tt> [slot]</tt>
+</h3><p>Sets whether the action can be seen (e.g. in menus and toolbars).
+See the <a href="qaction.html#visible-prop">"visible"</a> property for details.
+<h3 class=fn>void <a name="setWhatsThis"></a>QAction::setWhatsThis ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the action's "What's This?" help text.
+See the <a href="qaction.html#whatsThis-prop">"whatsThis"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="statusTip"></a>QAction::statusTip () const
+</h3><p>Returns the action's status tip.
+See the <a href="qaction.html#statusTip-prop">"statusTip"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QAction::text () const
+</h3><p>Returns the action's descriptive text.
+See the <a href="qaction.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QAction::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of a toggle action.
+<p> <p>See also <a href="#on-prop">on</a>, <a href="#activate">activate</a>(), <a href="#toggled">toggled</a>(), and <a href="#toggleAction-prop">toggleAction</a>.
+
+<h3 class=fn>void <a name="toggled"></a>QAction::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a toggle action changes state; command
+actions and <a href="qactiongroup.html">QActionGroup</a>s don't emit <a href="#toggled">toggled</a>().
+<p> The <em>on</em> argument denotes the new state: If <em>on</em> is TRUE the
+toggle action is switched on, and if <em>on</em> is FALSE the toggle
+action is switched off.
+<p> To trigger a user command depending on whether a toggle action has
+been switched on or off connect it to a slot that takes a bool to
+indicate the state, e.g.
+<p>
+
+<pre> <a href="qmainwindow.html">QMainWindow</a> * window = new <a href="qmainwindow.html">QMainWindow</a>;
+</pre><pre> QAction * labelonoffaction = new QAction( window, "labelonoff" );
+</pre><pre> <a name="x2108"></a> QObject::<a href="qobject.html#connect">connect</a>( labelonoffaction, SIGNAL( <a href="#toggled">toggled</a>( bool ) ),
+ <a name="x2109"></a> window, SLOT( <a href="qmainwindow.html#setUsesTextLabel">setUsesTextLabel</a>( bool ) ) );
+</pre>
+<p> <p>See also <a href="#activated">activated</a>(), <a href="#toggleAction-prop">toggleAction</a>, and <a href="#on-prop">on</a>.
+
+<p>Example: <a href="qaction.html#x2108">action/toggleaction/toggleaction.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toolTip"></a>QAction::toolTip () const
+</h3><p>Returns the action's tool tip.
+See the <a href="qaction.html#toolTip-prop">"toolTip"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis"></a>QAction::whatsThis () const
+</h3><p>Returns the action's "What's This?" help text.
+See the <a href="qaction.html#whatsThis-prop">"whatsThis"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel-prop"></a>accel</h3>
+<p>This property holds the action's accelerator key.
+<p>The keycodes can be found in <a href="qt.html#Key-enum">Qt::Key</a> and <a href="qt.html#Modifier-enum">Qt::Modifier</a>. There
+is no default accelerator key.
+
+<p>Set this property's value with <a href="#setAccel">setAccel</a>() and get this property's value with <a href="#accel">accel</a>().
+<h3 class=fn>bool <a name="enabled-prop"></a>enabled</h3>
+<p>This property holds whether the action is enabled.
+<p>Disabled actions can't be chosen by the user. They don't disappear
+from the menu/tool bar but are displayed in a way which indicates
+that they are unavailable, e.g. they might be displayed grayed
+out.
+<p> What's this? help on disabled actions is still available provided
+the <a href="#whatsThis-prop">QAction::whatsThis</a> property is set.
+
+<p>Set this property's value with <a href="#setEnabled">setEnabled</a>() and get this property's value with <a href="#isEnabled">isEnabled</a>().
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet-prop"></a>iconSet</h3>
+<p>This property holds the action's icon.
+<p>The icon is used as the tool button icon and in the menu to the
+left of the menu text. There is no default icon.
+<p> If a null icon (<a href="qiconset.html#isNull">QIconSet::isNull</a>() is passed into this function,
+the icon of the action is cleared.
+<p> (See the action/toggleaction/toggleaction.cpp example.)
+<p>
+<p>Set this property's value with <a href="#setIconSet">setIconSet</a>() and get this property's value with <a href="#iconSet">iconSet</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="menuText-prop"></a>menuText</h3>
+<p>This property holds the action's menu text.
+<p>If the action is added to a menu the menu option will consist of
+the icon (if there is one), the menu text and the accelerator (if
+there is one). If the menu text is not explicitly set in the
+constructor or by using <a href="#setMenuText">setMenuText</a>() the action's description
+text will be used as the menu text. There is no default menu text.
+<p> <p>See also <a href="#text-prop">text</a>.
+
+<p>Set this property's value with <a href="#setMenuText">setMenuText</a>() and get this property's value with <a href="#menuText">menuText</a>().
+<h3 class=fn>bool <a name="on-prop"></a>on</h3>
+<p>This property holds whether a toggle action is on.
+<p>This property is always on (TRUE) for command actions and
+<a href="qactiongroup.html">QActionGroup</a>s; <a href="#setOn">setOn</a>() has no effect on them. For action's
+where <a href="#isToggleAction">isToggleAction</a>() is TRUE, this property's default value is
+off (FALSE).
+<p> <p>See also <a href="#toggleAction-prop">toggleAction</a>.
+
+<p>Set this property's value with <a href="#setOn">setOn</a>() and get this property's value with <a href="#isOn">isOn</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="statusTip-prop"></a>statusTip</h3>
+<p>This property holds the action's status tip.
+<p>The statusTip is displayed on all status bars that this action's
+toplevel parent widget provides.
+<p> If no status tip is defined, the action uses the tool tip text.
+<p> There is no default statusTip text.
+<p> <p>See also <a href="#statusTip-prop">statusTip</a> and <a href="#toolTip-prop">toolTip</a>.
+
+<p>Set this property's value with <a href="#setStatusTip">setStatusTip</a>() and get this property's value with <a href="#statusTip">statusTip</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the action's descriptive text.
+<p>If <a href="qmainwindow.html#usesTextLabel-prop">QMainWindow::usesTextLabel</a> is TRUE, the text appears as a
+label in the relevant tool button. It also serves as the default
+text in menus and tool tips if these have not been specifically
+defined. There is no default text.
+<p> <p>See also <a href="#menuText-prop">menuText</a>, <a href="#toolTip-prop">toolTip</a>, and <a href="#statusTip-prop">statusTip</a>.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn>bool <a name="toggleAction-prop"></a>toggleAction</h3>
+<p>This property holds whether the action is a toggle action.
+<p>A toggle action is one which has an on/off state. For example a
+Bold toolbar button is either on or off. An action which is not a
+toggle action is a command action; a command action is simply
+executed, e.g. file save. This property's default is FALSE.
+<p> In some situations, the state of one toggle action should depend
+on the state of others. For example, "Left Align", "Center" and
+"Right Align" toggle actions are mutually exclusive. To achieve
+exclusive toggling, add the relevant toggle actions to a
+<a href="qactiongroup.html">QActionGroup</a> with the <a href="qactiongroup.html#exclusive-prop">QActionGroup::exclusive</a> property set to
+TRUE.
+
+<p>Set this property's value with <a href="#setToggleAction">setToggleAction</a>() and get this property's value with <a href="#isToggleAction">isToggleAction</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toolTip-prop"></a>toolTip</h3>
+<p>This property holds the action's tool tip.
+<p>This text is used for the tool tip. If no status tip has been set
+the tool tip will be used for the status tip.
+<p> If no tool tip is specified the action's text is used, and if that
+hasn't been specified the description text is used as the tool tip
+text.
+<p> There is no default tool tip text.
+<p> <p>See also <a href="#statusTip-prop">statusTip</a> and <a href="#accel-prop">accel</a>.
+
+<p>Set this property's value with <a href="#setToolTip">setToolTip</a>() and get this property's value with <a href="#toolTip">toolTip</a>().
+<h3 class=fn>bool <a name="visible-prop"></a>visible</h3>
+<p>This property holds whether the action can be seen (e.g. in menus and toolbars).
+<p>If <em>visible</em> is TRUE the action can be seen (e.g. in menus and
+toolbars) and chosen by the user; if <em>visible</em> is FALSE the
+action cannot be seen or chosen by the user.
+<p> Actions which are not visible are <em>not</em> grayed out; they do not
+appear at all.
+
+<p>Set this property's value with <a href="#setVisible">setVisible</a>() and get this property's value with <a href="#isVisible">isVisible</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis-prop"></a>whatsThis</h3>
+<p>This property holds the action's "What's This?" help text.
+<p>The whats this text is used to provide a brief description of the
+action. The text may contain rich text (HTML-like tags -- see
+<a href="qstylesheet.html">QStyleSheet</a> for the list of supported tags). There is no default
+"What's This" text.
+<p> <p>See also <a href="qwhatsthis.html">QWhatsThis</a>.
+
+<p>Set this property's value with <a href="#setWhatsThis">setWhatsThis</a>() and get this property's value with <a href="#whatsThis">whatsThis</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qactiongroup-members.html b/doc/html/qactiongroup-members.html
new file mode 100644
index 0000000..dd25c5c
--- /dev/null
+++ b/doc/html/qactiongroup-members.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaction.h:151 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QActionGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QActionGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qactiongroup.html">QActionGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qactiongroup.html#QActionGroup">QActionGroup</a>()
+<li><a href="qactiongroup.html#~QActionGroup">~QActionGroup</a>()
+<li><a href="qaction.html#accel">accel</a>()
+<li><a href="qaction.html#activate">activate</a>()
+<li><a href="qaction.html#activated">activated</a>()
+<li><a href="qactiongroup.html#add">add</a>()
+<li><a href="qactiongroup.html#addSeparator">addSeparator</a>()
+<li><a href="qactiongroup.html#addTo">addTo</a>()
+<li><a href="qaction.html#addedTo">addedTo</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qaction.html#iconSet">iconSet</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qactiongroup.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaction.html#isEnabled">isEnabled</a>()
+<li><a href="qactiongroup.html#isExclusive">isExclusive</a>()
+<li><a href="qaction.html#isOn">isOn</a>()
+<li><a href="qaction.html#isToggleAction">isToggleAction</a>()
+<li><a href="qaction.html#isVisible">isVisible</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qaction.html#menuText">menuText</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaction.html#removeFrom">removeFrom</a>()
+<li><a href="qactiongroup.html#selected">selected</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaction.html#setAccel">setAccel</a>()
+<li><a href="qaction.html#setDisabled">setDisabled</a>()
+<li><a href="qaction.html#setEnabled">setEnabled</a>()
+<li><a href="qactiongroup.html#setExclusive">setExclusive</a>()
+<li><a href="qaction.html#setIconSet">setIconSet</a>()
+<li><a href="qaction.html#setMenuText">setMenuText</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qaction.html#setOn">setOn</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaction.html#setStatusTip">setStatusTip</a>()
+<li><a href="qaction.html#setText">setText</a>()
+<li><a href="qaction.html#setToggleAction">setToggleAction</a>()
+<li><a href="qaction.html#setToolTip">setToolTip</a>()
+<li><a href="qactiongroup.html#setUsesDropDown">setUsesDropDown</a>()
+<li><a href="qaction.html#setVisible">setVisible</a>()
+<li><a href="qaction.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaction.html#statusTip">statusTip</a>()
+<li><a href="qaction.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qaction.html#toggle">toggle</a>()
+<li><a href="qaction.html#toggled">toggled</a>()
+<li><a href="qaction.html#toolTip">toolTip</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qactiongroup.html#usesDropDown">usesDropDown</a>()
+<li><a href="qaction.html#whatsThis">whatsThis</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qactiongroup.html b/doc/html/qactiongroup.html
new file mode 100644
index 0000000..2abb933
--- /dev/null
+++ b/doc/html/qactiongroup.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qaction.cpp:1375 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QActionGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QActionGroup Class Reference</h1>
+
+<p>The QActionGroup class groups actions together.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;</tt>
+<p>Inherits <a href="qaction.html">QAction</a>.
+<p><a href="qactiongroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QActionGroup"><b>QActionGroup</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QActionGroup-2"><b>QActionGroup</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;exclusive )</li>
+<li class=fn><a href="#~QActionGroup"><b>~QActionGroup</b></a> ()</li>
+<li class=fn>void <a href="#setExclusive"><b>setExclusive</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isExclusive"><b>isExclusive</b></a> () const</li>
+<li class=fn>void <a href="#add"><b>add</b></a> ( QAction&nbsp;*&nbsp;action )</li>
+<li class=fn>void <a href="#addSeparator"><b>addSeparator</b></a> ()</li>
+<li class=fn>virtual bool <a href="#addTo"><b>addTo</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#setUsesDropDown"><b>setUsesDropDown</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#usesDropDown"><b>usesDropDown</b></a> () const</li>
+<li class=fn>void insert ( QAction&nbsp;*&nbsp;a ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#selected"><b>selected</b></a> ( QAction * )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#exclusive-prop"><b>exclusive</b></a>&nbsp;- whether the action group does exclusive toggling</li>
+<li class=fn>bool <a href="#usesDropDown-prop"><b>usesDropDown</b></a>&nbsp;- whether the group's actions are displayed in a subwidget of the widgets the action group is added to</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QActionGroup class groups actions together.
+<p>
+
+<p> In some situations it is useful to group actions together. For
+example, if you have a left justify action, a right justify action
+and a center action, only one of these actions should be active at
+any one time, and one simple way of achieving this is to group the
+actions together in an action group.
+<p> An action group can also be added to a menu or a toolbar as a
+single unit, with all the actions within the action group
+appearing as separate menu options and toolbar buttons.
+<p> Here's an example from examples/textedit:
+
+
+<pre> QActionGroup *grp = new QActionGroup( this );
+ <a name="x2112"></a> <a href="qobject.html#connect">connect</a>( grp, SIGNAL( <a href="#selected">selected</a>( <a href="qaction.html">QAction</a>* ) ), this, SLOT( textAlign( <a href="qaction.html">QAction</a>* ) ) );
+</pre>
+<p> Here we create a new action group. Since the action group is exclusive
+by default, only one of the actions in the group is ever active at any
+one time. We then connect the group's <a href="#selected">selected</a>() signal to our
+textAlign() slot.
+<p> <pre> <a name="x2113"></a> actionAlignLeft = new <a href="qaction.html">QAction</a>( QPixmap::<a href="qpixmap.html#fromMimeSource">fromMimeSource</a>( "textleft.xpm" ), tr( "&amp;Left" ), CTRL + Key_L, grp, "textLeft" );
+ <a name="x2111"></a> actionAlignLeft-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+</pre>
+<p> We create a left align action, add it to the toolbar and the menu
+and make it a toggle action. We create center and right align
+actions in exactly the same way.
+<p>
+The actions in an action group emit their <a href="qaction.html#activated">activated</a>() (and for
+toggle actions, <a href="qaction.html#toggled">toggled</a>()) signals as usual.
+<p> The <a href="#setExclusive">setExclusive</a>() function is used to ensure that only one action
+is active at any one time: it should be used with actions which
+have their <a href="qaction.html#toggleAction-prop">toggleAction</a> set to TRUE.
+<p> Action group actions appear as individual menu options and toolbar
+buttons. For exclusive action groups use <a href="#setUsesDropDown">setUsesDropDown</a>() to
+display the actions in a subwidget of any widget the action group
+is added to. For example, the actions would appear in a combobox
+in a toolbar or as a submenu in a menu.
+<p> Actions can be added to an action group using <a href="#add">add</a>(), but normally
+they are added by creating the action with the action group as
+parent. Actions can have separators dividing them using
+<a href="#addSeparator">addSeparator</a>(). Action groups are added to widgets with <a href="#addTo">addTo</a>().
+<p>See also <a href="application.html">Main Window and Related Classes</a> and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QActionGroup"></a>QActionGroup::QActionGroup ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an action group called <em>name</em>, with parent <em>parent</em>.
+<p> The action group is exclusive by default. Call <a href="#setExclusive">setExclusive</a>(FALSE) to make
+the action group non-exclusive.
+
+<h3 class=fn><a name="QActionGroup-2"></a>QActionGroup::QActionGroup ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;exclusive )
+</h3>
+Constructs an action group called <em>name</em>, with parent <em>parent</em>.
+<p> If <em>exclusive</em> is TRUE only one toggle action in the group will
+ever be active.
+<p> <p>See also <a href="#exclusive-prop">exclusive</a>.
+
+<h3 class=fn><a name="~QActionGroup"></a>QActionGroup::~QActionGroup ()
+</h3>
+Destroys the object and frees allocated resources.
+
+<h3 class=fn>void <a name="add"></a>QActionGroup::add ( <a href="qaction.html">QAction</a>&nbsp;*&nbsp;action )
+</h3>
+Adds action <em>action</em> to this group.
+<p> Normally an action is added to a group by creating it with the
+group as parent, so this function is not usually used.
+<p> <p>See also <a href="#addTo">addTo</a>().
+
+<h3 class=fn>void <a name="addSeparator"></a>QActionGroup::addSeparator ()
+</h3>
+Adds a separator to the group.
+
+<h3 class=fn>bool <a name="addTo"></a>QActionGroup::addTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Adds this action group to the widget <em>w</em>.
+<p> If <a href="#isExclusive">isExclusive</a>() is FALSE or <a href="#usesDropDown">usesDropDown</a>() is FALSE, the actions within
+the group are added to the widget individually. For example, if the widget
+is a menu, the actions will appear as individual menu options, and
+if the widget is a toolbar, the actions will appear as toolbar buttons.
+<p> If both isExclusive() and usesDropDown() are TRUE, the actions
+are presented either in a combobox (if <em>w</em> is a toolbar) or in a
+submenu (if <em>w</em> is a menu).
+<p> All actions should be added to the action group <em>before</em> the
+action group is added to the widget. If actions are added to the
+action group <em>after</em> the action group has been added to the
+widget these later actions will <em>not</em> appear.
+<p> <p>See also <a href="#exclusive-prop">exclusive</a>, <a href="#usesDropDown-prop">usesDropDown</a>, and <a href="qaction.html#removeFrom">removeFrom</a>().
+
+<p>Example: <a href="themes-example.html#x318">themes/themes.cpp</a>.
+<p>Reimplemented from <a href="qaction.html#addTo">QAction</a>.
+<h3 class=fn>void <a name="insert"></a>QActionGroup::insert ( <a href="qaction.html">QAction</a>&nbsp;*&nbsp;a )
+</h3>
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#add">add</a>() instead, or better still create the action with the action
+group as its parent.
+
+<h3 class=fn>bool <a name="isExclusive"></a>QActionGroup::isExclusive () const
+</h3><p>Returns TRUE if the action group does exclusive toggling; otherwise returns FALSE.
+See the <a href="qactiongroup.html#exclusive-prop">"exclusive"</a> property for details.
+<h3 class=fn>void <a name="selected"></a>QActionGroup::selected ( <a href="qaction.html">QAction</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted from exclusive groups when toggle actions
+change state.
+<p> The argument is the action whose state changed to "on".
+<p> <p>See also <a href="#exclusive-prop">exclusive</a>, <a href="qaction.html#on-prop">on</a>, and <a href="qaction.html#toggled">QAction::toggled</a>().
+
+<p>Examples: <a href="canvas-chart-example.html#x2873">chart/chartform.cpp</a> and <a href="qactiongroup.html#x2112">textedit/textedit.cpp</a>.
+<h3 class=fn>void <a name="setExclusive"></a>QActionGroup::setExclusive ( bool )
+</h3><p>Sets whether the action group does exclusive toggling.
+See the <a href="qactiongroup.html#exclusive-prop">"exclusive"</a> property for details.
+<h3 class=fn>void <a name="setUsesDropDown"></a>QActionGroup::setUsesDropDown ( bool&nbsp;enable )
+</h3><p>Sets whether the group's actions are displayed in a subwidget of the widgets the action group is added to to <em>enable</em>.
+See the <a href="qactiongroup.html#usesDropDown-prop">"usesDropDown"</a> property for details.
+<h3 class=fn>bool <a name="usesDropDown"></a>QActionGroup::usesDropDown () const
+</h3><p>Returns TRUE if the group's actions are displayed in a subwidget of the widgets the action group is added to; otherwise returns FALSE.
+See the <a href="qactiongroup.html#usesDropDown-prop">"usesDropDown"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="exclusive-prop"></a>exclusive</h3>
+<p>This property holds whether the action group does exclusive toggling.
+<p>If exclusive is TRUE only one toggle action in the action group
+can ever be active at any one time. If the user chooses another
+toggle action in the group the one they chose becomes active and
+the one that was active becomes inactive.
+<p> <p>See also <a href="qaction.html#toggleAction-prop">QAction::toggleAction</a>.
+
+<p>Set this property's value with <a href="#setExclusive">setExclusive</a>() and get this property's value with <a href="#isExclusive">isExclusive</a>().
+<h3 class=fn>bool <a name="usesDropDown-prop"></a>usesDropDown</h3>
+<p>This property holds whether the group's actions are displayed in a subwidget of the widgets the action group is added to.
+<p>Exclusive action groups added to a toolbar display their actions
+in a combobox with the action's <a href="qaction.html#text-prop">QAction::text</a> and <a href="qaction.html#iconSet-prop">QAction::iconSet</a> properties shown. Non-exclusive groups are
+represented by a tool button showing their <a href="qaction.html#iconSet-prop">QAction::iconSet</a> and
+-- depending on <a href="qmainwindow.html#usesTextLabel">QMainWindow::usesTextLabel</a>() -- <a href="qaction.html#text">text</a>()
+property.
+<p> In a popup menu the member actions are displayed in a submenu.
+<p> Changing usesDropDown only affects <em>subsequent</em> calls to <a href="#addTo">addTo</a>().
+<p> Note that setting this property for actions in a combobox causes
+calls to their <a href="qaction.html#setVisible">QAction::setVisible</a>(),
+<a href="qaction.html#setEnabled">QAction::setEnabled</a>(), and
+<a href="qaction.html#setDisabled">QAction::setDisabled</a>() functions to have no effect.
+<p> This property's default is FALSE.
+<p>
+<p>Set this property's value with <a href="#setUsesDropDown">setUsesDropDown</a>() and get this property's value with <a href="#usesDropDown">usesDropDown</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qactiongroup_menu.png b/doc/html/qactiongroup_menu.png
new file mode 100644
index 0000000..1331822
--- /dev/null
+++ b/doc/html/qactiongroup_menu.png
Binary files differ
diff --git a/doc/html/qactiongroup_menu_subwidget.png b/doc/html/qactiongroup_menu_subwidget.png
new file mode 100644
index 0000000..5a75e68
--- /dev/null
+++ b/doc/html/qactiongroup_menu_subwidget.png
Binary files differ
diff --git a/doc/html/qactiongroup_toolbar.png b/doc/html/qactiongroup_toolbar.png
new file mode 100644
index 0000000..dc131ef
--- /dev/null
+++ b/doc/html/qactiongroup_toolbar.png
Binary files differ
diff --git a/doc/html/qactiongroup_toolbar_exclusive_subwidget.png b/doc/html/qactiongroup_toolbar_exclusive_subwidget.png
new file mode 100644
index 0000000..ff7454c
--- /dev/null
+++ b/doc/html/qactiongroup_toolbar_exclusive_subwidget.png
Binary files differ
diff --git a/doc/html/qactiongroup_toolbar_nonexclusive_subwidget.png b/doc/html/qactiongroup_toolbar_nonexclusive_subwidget.png
new file mode 100644
index 0000000..161b853
--- /dev/null
+++ b/doc/html/qactiongroup_toolbar_nonexclusive_subwidget.png
Binary files differ
diff --git a/doc/html/qapplication-h.html b/doc/html/qapplication-h.html
new file mode 100644
index 0000000..ffd71a7
--- /dev/null
+++ b/doc/html/qapplication-h.html
@@ -0,0 +1,576 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qapplication.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qapplication.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qapplication.h</h1>
+
+<p>This is the verbatim text of the qapplication.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qapplication.h 3.3.8 edited Jan 16 10:54 $
+**
+** Definition of QApplication class
+**
+** Created : 931107
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QAPPLICATION_H
+#define QAPPLICATION_H
+
+#ifndef QT_H
+#include "qdesktopwidget.h"
+#include "qasciidict.h"
+#include "qpalette.h"
+#include "qtranslator.h"
+#include "qstrlist.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+class QSessionManager;
+class QStyle;
+class QTranslator;
+class QEventLoop;
+#if defined(Q_WS_QWS)
+class QWSDecoration;
+#endif
+
+#ifdef QT_THREAD_SUPPORT
+class QMutex;
+#endif // QT_THREAD_SUPPORT
+
+
+class QApplication;
+extern Q_EXPORT QApplication *qApp; // global application object
+
+
+class Q_EXPORT QApplication : public QObject
+{
+ Q_OBJECT
+public:
+ QApplication( int &amp;argc, char **argv );
+ QApplication( int &amp;argc, char **argv, bool GUIenabled );
+ enum Type { Tty, GuiClient, GuiServer };
+ QApplication( int &amp;argc, char **argv, Type );
+#if defined(Q_WS_X11)
+ QApplication( Display* dpy, HANDLE visual = 0, HANDLE cmap = 0 );
+ QApplication( Display *dpy, int argc, char **argv,
+ HANDLE visual = 0, HANDLE cmap= 0 );
+#endif
+ virtual ~QApplication();
+
+ int argc() const;
+ char **argv() const;
+
+ Type type() const;
+
+#ifndef QT_NO_STYLE
+ static QStyle &amp;style();
+ static void setStyle( QStyle* );
+ static QStyle* setStyle( const QString&amp; );
+#endif
+#ifndef Q_QDOC
+ enum ColorMode { NormalColors, CustomColors };
+ static ColorMode colorMode();
+ static void setColorMode( QApplication::ColorMode );
+#endif
+
+ enum ColorSpec { NormalColor=0, CustomColor=1, ManyColor=2 };
+ static int colorSpec();
+ static void setColorSpec( int );
+#ifndef QT_NO_CURSOR
+ static QCursor *overrideCursor();
+ static void setOverrideCursor( const QCursor &amp;, bool replace=FALSE );
+ static void restoreOverrideCursor();
+#endif
+ static bool hasGlobalMouseTracking();
+ static void setGlobalMouseTracking( bool enable );
+#ifndef QT_NO_PALETTE
+ static QPalette palette( const QWidget* = 0 );
+ static void setPalette( const QPalette &amp;, bool informWidgets=FALSE,
+ const char* className = 0 );
+#endif
+ static QFont font( const QWidget* = 0 );
+ static void setFont( const QFont &amp;, bool informWidgets=FALSE,
+ const char* className = 0 );
+ static QFontMetrics fontMetrics();
+
+ QWidget *mainWidget() const;
+ virtual void setMainWidget( QWidget * );
+ virtual void polish( QWidget * );
+
+ static QWidgetList *allWidgets();
+ static QWidgetList *topLevelWidgets();
+
+ static QDesktopWidget *desktop();
+
+ static QWidget *activePopupWidget();
+ static QWidget *activeModalWidget();
+#ifndef QT_NO_CLIPBOARD
+ static QClipboard *clipboard();
+#endif
+ QWidget *focusWidget() const;
+ QWidget *activeWindow() const;
+
+ static QWidget *widgetAt( int x, int y, bool child=FALSE );
+ static QWidget *widgetAt( const QPoint &amp;, bool child=FALSE );
+
+ static QEventLoop *eventLoop();
+
+ int exec();
+ void processEvents();
+ void processEvents( int maxtime );
+ void processOneEvent();
+ bool hasPendingEvents();
+ int enter_loop();
+ void exit_loop();
+ int loopLevel() const;
+ static void exit( int retcode=0 );
+
+ static bool sendEvent( QObject *receiver, QEvent *event );
+ static void postEvent( QObject *receiver, QEvent *event );
+ static void sendPostedEvents( QObject *receiver, int event_type );
+ static void sendPostedEvents();
+
+ static void removePostedEvents( QObject *receiver );
+
+ virtual bool notify( QObject *, QEvent * );
+
+ static bool startingUp();
+ static bool closingDown();
+
+ static void flushX();
+ static void flush();
+ static void syncX();
+
+ static void beep();
+
+#ifndef QT_NO_TRANSLATION
+# ifndef QT_NO_TEXTCODEC
+ void setDefaultCodec( QTextCodec * );
+ QTextCodec* defaultCodec() const;
+# endif
+ void installTranslator( QTranslator * );
+ void removeTranslator( QTranslator * );
+#endif
+ enum Encoding { DefaultCodec, UnicodeUTF8 };
+ QString translate( const char * context,
+ const char * key,
+ const char * comment = 0,
+ Encoding encoding = DefaultCodec ) const;
+#ifndef QT_NO_DIR
+ QString applicationDirPath();
+ QString applicationFilePath();
+#endif
+#ifndef QT_NO_PALETTE
+ // obsolete functions
+ static void setWinStyleHighlightColor( const QColor &amp;c ) {
+ QPalette p( palette() );
+ p.setColor( QColorGroup::Highlight, c );
+ setPalette( p, TRUE);
+ }
+ static const QColor &amp;winStyleHighlightColor() {
+ return palette().active().highlight();
+ }
+#endif
+ static void setDesktopSettingsAware( bool );
+ static bool desktopSettingsAware();
+
+ static void setCursorFlashTime( int );
+ static int cursorFlashTime();
+
+ static void setDoubleClickInterval( int );
+ static int doubleClickInterval();
+#ifndef QT_NO_WHEELEVENT
+ static void setWheelScrollLines( int );
+ static int wheelScrollLines();
+#endif
+ static void setGlobalStrut( const QSize &amp; );
+ static QSize globalStrut();
+
+#ifndef QT_NO_COMPONENT
+ static void setLibraryPaths( const QStringList &amp; );
+ static QStringList libraryPaths();
+ static void addLibraryPath( const QString &amp; );
+ static void removeLibraryPath( const QString &amp; );
+#endif // QT_NO_COMPONENT
+ static void setStartDragTime( int ms );
+ static int startDragTime();
+ static void setStartDragDistance( int l );
+ static int startDragDistance();
+
+ static void setReverseLayout( bool b );
+ static bool reverseLayout();
+
+ static int horizontalAlignment( int align );
+
+ static bool isEffectEnabled( Qt::UIEffect );
+ static void setEffectEnabled( Qt::UIEffect, bool enable = TRUE );
+
+#if defined(Q_WS_MAC)
+ virtual bool macEventFilter( EventHandlerCallRef, EventRef );
+#endif
+#if defined(Q_WS_WIN)
+ virtual bool winEventFilter( MSG * );
+#endif
+#if defined(Q_WS_X11)
+ virtual bool x11EventFilter( XEvent * );
+ virtual int x11ClientMessage( QWidget*, XEvent*, bool passive_only);
+ int x11ProcessEvent( XEvent* );
+#endif
+#if defined(Q_WS_QWS)
+ virtual bool qwsEventFilter( QWSEvent * );
+ int qwsProcessEvent( QWSEvent* );
+ void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
+/*!
+ \internal
+ Returns true if the process is GUI server
+*/
+ bool qwsIsGUIServer();
+#ifndef QT_NO_QWS_MANAGER
+ static QWSDecoration &amp;qwsDecoration();
+ static void qwsSetDecoration( QWSDecoration *);
+#endif
+#endif
+
+#if defined(Q_OS_WIN32) || defined(Q_OS_CYGWIN)
+ static WindowsVersion winVersion();
+#elif defined(Q_OS_MAC)
+ static MacintoshVersion macVersion();
+#endif
+#if defined(Q_WS_WIN)
+ void winFocus( QWidget *, bool );
+ static void winMouseButtonUp();
+#endif
+
+#ifndef QT_NO_SESSIONMANAGER
+ // session management
+ bool isSessionRestored() const;
+ QString sessionId() const;
+ QString sessionKey() const;
+ virtual void commitData( QSessionManager&amp; sm );
+ virtual void saveState( QSessionManager&amp; sm );
+#endif
+#if defined(Q_WS_X11)
+ static void create_xim();
+ static void close_xim();
+ static bool x11_apply_settings();
+#endif
+ void wakeUpGuiThread();
+#if defined(QT_THREAD_SUPPORT)
+ void lock();
+ void unlock(bool wakeUpGui = TRUE);
+ bool locked();
+ bool tryLock();
+#endif
+
+signals:
+ void lastWindowClosed();
+ void aboutToQuit();
+ void guiThreadAwake();
+
+public slots:
+ void quit();
+ void closeAllWindows();
+ void aboutQt();
+
+#if defined(Q_WS_QWS)
+protected:
+ void setArgs(int, char **);
+#endif
+
+protected:
+ bool event(QEvent *);
+
+private:
+ void construct( int &amp;argc, char **argv, Type );
+ void initialize( int, char ** );
+ void init_precmdline();
+ void process_cmdline( int* argcptr, char ** argv );
+ bool internalNotify( QObject *, QEvent * );
+#if defined(Q_WS_QWS)
+ static QWidget *findChildWidget( const QWidget *p, const QPoint &amp;pos );
+ static QWidget *findWidget( const QObjectList&amp;, const QPoint &amp;, bool rec );
+#endif
+
+#if defined(Q_WS_MAC)
+ bool do_mouse_down(Point *, bool *);
+ static QMAC_PASCAL OSStatus globalEventProcessor(EventHandlerCallRef, EventRef, void *);
+ static QMAC_PASCAL OSStatus globalAppleEventProcessor(const AppleEvent *, AppleEvent *, long);
+ static QMAC_PASCAL void qt_context_timer_callbk(EventLoopTimerRef, void *);
+ static QMAC_PASCAL void qt_select_timer_callbk(EventLoopTimerRef, void *);
+ static bool qt_mac_apply_settings();
+ friend class QMacInputMethod;
+ friend QMAC_PASCAL OSStatus qt_window_event(EventHandlerCallRef, EventRef, void *);
+ friend void qt_mac_update_os_settings();
+ friend bool qt_set_socket_handler( int, int, QObject *, bool);
+ friend void qt_mac_destroy_widget(QWidget *);
+ friend void qt_init(int *, char **, QApplication::Type);
+#endif
+
+#ifdef QT_THREAD_SUPPORT
+ static QMutex *qt_mutex;
+#endif // QT_THREAD_SUPPORT
+
+ int app_argc;
+ char **app_argv;
+ bool quit_now;
+ int quit_code;
+ static QStyle *app_style;
+ static int app_cspec;
+#ifndef QT_NO_PALETTE
+ static QPalette *app_pal;
+#endif
+ static QFont *app_font;
+#ifndef QT_NO_CURSOR
+ static QCursor *app_cursor;
+#endif
+ static QEventLoop* eventloop;
+ static int app_tracking;
+ static bool is_app_running;
+ static bool is_app_closing;
+ static bool app_exit_loop;
+ static int loop_level;
+ static QWidget *main_widget;
+ static QWidget *focus_widget;
+ static QWidget *active_window;
+ static bool obey_desktop_settings;
+ static int cursor_flash_time;
+ static int mouse_double_click_time;
+ static int wheel_scroll_lines;
+ static int composedUnicode; // Value, meta-composed character
+
+ static bool animate_ui;
+ static bool animate_menu;
+ static bool animate_tooltip;
+ static bool animate_combo;
+ static bool fade_menu;
+ static bool fade_tooltip;
+ static bool animate_toolbox;
+ static bool widgetCount; // Coupled with -widgetcount switch
+ static bool metaComposeUnicode;
+
+ QValueList&lt;QTranslator*&gt; *translators;
+#ifndef QT_NO_SESSIONMANAGER
+ QSessionManager *session_manager;
+ QString session_id;
+ static QString* session_key;
+ bool is_session_restored;
+#endif
+#if defined(Q_WS_X11) &amp;&amp; !defined (QT_NO_STYLE )
+ static void x11_initialize_style();
+#endif
+
+ static QSize app_strut;
+#ifndef QT_NO_COMPONENT
+ static QStringList *app_libpaths;
+#endif
+ static QAsciiDict&lt;QPalette&gt; *app_palettes;
+ static QAsciiDict&lt;QFont&gt; *app_fonts;
+
+ static QWidgetList *popupWidgets;
+ bool inPopupMode() const;
+ void closePopup( QWidget *popup );
+ void openPopup( QWidget *popup );
+ void setActiveWindow( QWidget* act );
+
+ static bool sendSpontaneousEvent( QObject *receiver, QEvent *event );
+ static void removePostedEvent( QEvent * );
+
+ friend class QWidget;
+ friend class QETWidget;
+ friend class QDialog;
+ friend class QAccelManager;
+ friend class QEvent;
+ friend class QTranslator;
+ friend class QEventLoop;
+ friend Q_EXPORT void qt_ucm_initialize( QApplication * );
+#if defined(Q_WS_WIN)
+ friend bool qt_sendSpontaneousEvent( QObject*, QEvent* );
+#endif
+#if defined(Q_WS_QWS)
+ friend class QInputContext;
+#endif
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QApplication( const QApplication &amp; );
+ QApplication &amp;operator=( const QApplication &amp; );
+#endif
+};
+
+inline int QApplication::argc() const
+{
+ return app_argc;
+}
+
+inline char **QApplication::argv() const
+{
+ return app_argv;
+}
+
+#if defined(Q_WS_QWS)
+inline void QApplication::setArgs(int c, char **v)
+{
+ app_argc = c;
+ app_argv = v;
+}
+#endif
+
+#ifndef QT_NO_CURSOR
+inline QCursor *QApplication::overrideCursor()
+{
+ return app_cursor;
+}
+#endif
+inline bool QApplication::hasGlobalMouseTracking()
+{
+ return app_tracking &gt; 0;
+}
+
+inline QWidget *QApplication::mainWidget() const
+{
+ return main_widget;
+}
+
+inline QWidget *QApplication::focusWidget() const
+{
+ return focus_widget;
+}
+
+inline QWidget *QApplication::activeWindow() const
+{
+ return active_window;
+}
+
+inline QWidget *QApplication::widgetAt( const QPoint &amp;p, bool child )
+{
+ return widgetAt( p.x(), p.y(), child );
+}
+
+inline bool QApplication::inPopupMode() const
+{
+ return popupWidgets != 0;
+}
+#ifndef QT_NO_SESSIONMANAGER
+inline bool QApplication::isSessionRestored() const
+{
+ return is_session_restored;
+}
+
+inline QString QApplication::sessionId() const
+{
+ return session_id;
+}
+
+inline QString QApplication::sessionKey() const
+{
+ return session_key ? *session_key : QString::null;
+}
+#endif
+inline QSize QApplication::globalStrut()
+{
+ return app_strut;
+}
+
+inline bool QApplication::sendEvent( QObject *receiver, QEvent *event )
+{ if ( event ) event-&gt;spont = FALSE; return qApp ? qApp-&gt;notify( receiver, event ) : FALSE; }
+
+inline bool QApplication::sendSpontaneousEvent( QObject *receiver, QEvent *event )
+{ if ( event ) event-&gt;spont = TRUE; return qApp ? qApp-&gt;notify( receiver, event ) : FALSE; }
+
+#ifdef QT_NO_TRANSLATION
+// Simple versions
+inline QString QApplication::translate( const char *, const char *sourceText,
+ const char *, Encoding encoding ) const
+{
+#ifndef QT_NO_TEXTCODEC
+ if ( encoding == UnicodeUTF8 )
+ return QString::fromUtf8( sourceText );
+ else
+#endif
+ return QString::fromLatin1( sourceText );
+}
+#endif
+
+inline int QApplication::horizontalAlignment( int align )
+{
+ align &amp;= AlignHorizontal_Mask;
+ if ( align == AlignAuto ) {
+ if ( reverseLayout() )
+ align = AlignRight;
+ else
+ align = AlignLeft;
+ }
+ return align;
+}
+
+#endif // QAPPLICATION_H
+
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qapplication-members.html b/doc/html/qapplication-members.html
new file mode 100644
index 0000000..c209386
--- /dev/null
+++ b/doc/html/qapplication-members.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qapplication.h:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QApplication Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QApplication</h1>
+
+<p>This is the complete list of member functions for
+<a href="qapplication.html">QApplication</a>, including inherited members.
+
+<ul>
+<li><a href="qapplication.html#QApplication">QApplication</a>()
+<li><a href="qapplication.html#~QApplication">~QApplication</a>()
+<li><a href="qapplication.html#aboutQt">aboutQt</a>()
+<li><a href="qapplication.html#aboutToQuit">aboutToQuit</a>()
+<li><a href="qapplication.html#activeModalWidget">activeModalWidget</a>()
+<li><a href="qapplication.html#activePopupWidget">activePopupWidget</a>()
+<li><a href="qapplication.html#activeWindow">activeWindow</a>()
+<li><a href="qapplication.html#addLibraryPath">addLibraryPath</a>()
+<li><a href="qapplication.html#allWidgets">allWidgets</a>()
+<li><a href="qapplication.html#applicationDirPath">applicationDirPath</a>()
+<li><a href="qapplication.html#applicationFilePath">applicationFilePath</a>()
+<li><a href="qapplication.html#argc">argc</a>()
+<li><a href="qapplication.html#argv">argv</a>()
+<li><a href="qapplication.html#beep">beep</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qapplication.html#clipboard">clipboard</a>()
+<li><a href="qapplication.html#closeAllWindows">closeAllWindows</a>()
+<li><a href="qapplication.html#closingDown">closingDown</a>()
+<li><a href="qapplication.html#colorSpec">colorSpec</a>()
+<li><a href="qapplication.html#commitData">commitData</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qapplication.html#cursorFlashTime">cursorFlashTime</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qapplication.html#defaultCodec">defaultCodec</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qapplication.html#desktop">desktop</a>()
+<li><a href="qapplication.html#desktopSettingsAware">desktopSettingsAware</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qapplication.html#doubleClickInterval">doubleClickInterval</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qapplication.html#enter_loop">enter_loop</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qapplication.html#eventLoop">eventLoop</a>()
+<li><a href="qapplication.html#exec">exec</a>()
+<li><a href="qapplication.html#exit">exit</a>()
+<li><a href="qapplication.html#exit_loop">exit_loop</a>()
+<li><a href="qapplication.html#flush">flush</a>()
+<li><a href="qapplication.html#flushX">flushX</a>()
+<li><a href="qapplication.html#focusWidget">focusWidget</a>()
+<li><a href="qapplication.html#font">font</a>()
+<li><a href="qapplication.html#fontMetrics">fontMetrics</a>()
+<li><a href="qapplication.html#globalStrut">globalStrut</a>()
+<li><a href="qapplication.html#guiThreadAwake">guiThreadAwake</a>()
+<li><a href="qapplication.html#hasGlobalMouseTracking">hasGlobalMouseTracking</a>()
+<li><a href="qapplication.html#hasPendingEvents">hasPendingEvents</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qapplication.html#horizontalAlignment">horizontalAlignment</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qapplication.html#installTranslator">installTranslator</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qapplication.html#isEffectEnabled">isEffectEnabled</a>()
+<li><a href="qapplication.html#isSessionRestored">isSessionRestored</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()
+<li><a href="qapplication.html#libraryPaths">libraryPaths</a>()
+<li><a href="qapplication.html#lock">lock</a>()
+<li><a href="qapplication.html#locked">locked</a>()
+<li><a href="qapplication.html#loopLevel">loopLevel</a>()
+<li><a href="qapplication.html#macEventFilter">macEventFilter</a>()
+<li><a href="qapplication.html#mainWidget">mainWidget</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qapplication.html#notify">notify</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qapplication.html#overrideCursor">overrideCursor</a>()
+<li><a href="qapplication.html#palette">palette</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qapplication.html#polish">polish</a>()
+<li><a href="qapplication.html#postEvent">postEvent</a>()
+<li><a href="qapplication.html#processEvents">processEvents</a>()
+<li><a href="qapplication.html#processOneEvent">processOneEvent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qapplication.html#quit">quit</a>()
+<li><a href="qapplication.html#qwsDecoration">qwsDecoration</a>()
+<li><a href="qapplication.html#qwsEventFilter">qwsEventFilter</a>()
+<li><a href="qapplication.html#qwsSetCustomColors">qwsSetCustomColors</a>()
+<li><a href="qapplication.html#qwsSetDecoration">qwsSetDecoration</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qapplication.html#removeLibraryPath">removeLibraryPath</a>()
+<li><a href="qapplication.html#removePostedEvents">removePostedEvents</a>()
+<li><a href="qapplication.html#removeTranslator">removeTranslator</a>()
+<li><a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>()
+<li><a href="qapplication.html#reverseLayout">reverseLayout</a>()
+<li><a href="qapplication.html#saveState">saveState</a>()
+<li><a href="qapplication.html#sendEvent">sendEvent</a>()
+<li><a href="qapplication.html#sendPostedEvents">sendPostedEvents</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qapplication.html#sessionId">sessionId</a>()
+<li><a href="qapplication.html#sessionKey">sessionKey</a>()
+<li><a href="qapplication.html#setColorSpec">setColorSpec</a>()
+<li><a href="qapplication.html#setCursorFlashTime">setCursorFlashTime</a>()
+<li><a href="qapplication.html#setDefaultCodec">setDefaultCodec</a>()
+<li><a href="qapplication.html#setDesktopSettingsAware">setDesktopSettingsAware</a>()
+<li><a href="qapplication.html#setDoubleClickInterval">setDoubleClickInterval</a>()
+<li><a href="qapplication.html#setEffectEnabled">setEffectEnabled</a>()
+<li><a href="qapplication.html#setFont">setFont</a>()
+<li><a href="qapplication.html#setGlobalMouseTracking">setGlobalMouseTracking</a>()
+<li><a href="qapplication.html#setGlobalStrut">setGlobalStrut</a>()
+<li><a href="qapplication.html#setLibraryPaths">setLibraryPaths</a>()
+<li><a href="qapplication.html#setMainWidget">setMainWidget</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>()
+<li><a href="qapplication.html#setPalette">setPalette</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qapplication.html#setReverseLayout">setReverseLayout</a>()
+<li><a href="qapplication.html#setStartDragDistance">setStartDragDistance</a>()
+<li><a href="qapplication.html#setStartDragTime">setStartDragTime</a>()
+<li><a href="qapplication.html#setStyle">setStyle</a>()
+<li><a href="qapplication.html#setWheelScrollLines">setWheelScrollLines</a>()
+<li><a href="qapplication.html#setWinStyleHighlightColor">setWinStyleHighlightColor</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qapplication.html#startDragDistance">startDragDistance</a>()
+<li><a href="qapplication.html#startDragTime">startDragTime</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qapplication.html#startingUp">startingUp</a>()
+<li><a href="qapplication.html#style">style</a>()
+<li><a href="qapplication.html#syncX">syncX</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qapplication.html#topLevelWidgets">topLevelWidgets</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qapplication.html#translate">translate</a>()
+<li><a href="qapplication.html#tryLock">tryLock</a>()
+<li><a href="qapplication.html#type">type</a>()
+<li><a href="qapplication.html#unlock">unlock</a>()
+<li><a href="qapplication.html#wakeUpGuiThread">wakeUpGuiThread</a>()
+<li><a href="qapplication.html#wheelScrollLines">wheelScrollLines</a>()
+<li><a href="qapplication.html#widgetAt">widgetAt</a>()
+<li><a href="qapplication.html#winEventFilter">winEventFilter</a>()
+<li><a href="qapplication.html#winFocus">winFocus</a>()
+<li><a href="qapplication.html#winStyleHighlightColor">winStyleHighlightColor</a>()
+<li><a href="qapplication.html#x11EventFilter">x11EventFilter</a>()
+<li><a href="qapplication.html#x11ProcessEvent">x11ProcessEvent</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qapplication.html b/doc/html/qapplication.html
new file mode 100644
index 0000000..411f37e
--- /dev/null
+++ b/doc/html/qapplication.html
@@ -0,0 +1,2046 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qapplication.cpp:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QApplication Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QApplication Class Reference</h1>
+
+<p>The QApplication class manages the GUI application's control
+flow and main settings.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qapplication-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QApplication"><b>QApplication</b></a> ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv )</li>
+<li class=fn><a href="#QApplication-2"><b>QApplication</b></a> ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, bool&nbsp;GUIenabled )</li>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { Tty, GuiClient, GuiServer }</li>
+<li class=fn><a href="#QApplication-3"><b>QApplication</b></a> ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, Type&nbsp;type )</li>
+<li class=fn><a href="#QApplication-4"><b>QApplication</b></a> ( Display&nbsp;*&nbsp;dpy, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )</li>
+<li class=fn><a href="#QApplication-5"><b>QApplication</b></a> ( Display&nbsp;*&nbsp;dpy, int&nbsp;argc, char&nbsp;**&nbsp;argv, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )</li>
+<li class=fn>virtual <a href="#~QApplication"><b>~QApplication</b></a> ()</li>
+<li class=fn>int <a href="#argc"><b>argc</b></a> () const</li>
+<li class=fn>char ** <a href="#argv"><b>argv</b></a> () const</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>enum <a href="#ColorSpec-enum"><b>ColorSpec</b></a> { NormalColor = 0, CustomColor = 1, ManyColor = 2 }</li>
+<li class=fn>QWidget * <a href="#mainWidget"><b>mainWidget</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMainWidget"><b>setMainWidget</b></a> ( QWidget&nbsp;*&nbsp;mainWidget )</li>
+<li class=fn>virtual void <a href="#polish"><b>polish</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#focusWidget"><b>focusWidget</b></a> () const</li>
+<li class=fn>QWidget * <a href="#activeWindow"><b>activeWindow</b></a> () const</li>
+<li class=fn>int <a href="#exec"><b>exec</b></a> ()</li>
+<li class=fn>void <a href="#processEvents"><b>processEvents</b></a> ()</li>
+<li class=fn>void <a href="#processEvents-2"><b>processEvents</b></a> ( int&nbsp;maxtime )</li>
+<li class=fn>void processOneEvent () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#hasPendingEvents"><b>hasPendingEvents</b></a> ()</li>
+<li class=fn>int enter_loop () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void exit_loop () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int loopLevel () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual bool <a href="#notify"><b>notify</b></a> ( QObject&nbsp;*&nbsp;receiver, QEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>void setDefaultCodec ( QTextCodec&nbsp;*&nbsp;codec ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QTextCodec * defaultCodec () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#installTranslator"><b>installTranslator</b></a> ( QTranslator&nbsp;*&nbsp;mf )</li>
+<li class=fn>void <a href="#removeTranslator"><b>removeTranslator</b></a> ( QTranslator&nbsp;*&nbsp;mf )</li>
+<li class=fn>enum <a href="#Encoding-enum"><b>Encoding</b></a> { DefaultCodec, UnicodeUTF8 }</li>
+<li class=fn>QString <a href="#translate"><b>translate</b></a> ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0, Encoding&nbsp;encoding = DefaultCodec ) const</li>
+<li class=fn>QString <a href="#applicationDirPath"><b>applicationDirPath</b></a> ()</li>
+<li class=fn>QString <a href="#applicationFilePath"><b>applicationFilePath</b></a> ()</li>
+<li class=fn>virtual bool <a href="#macEventFilter"><b>macEventFilter</b></a> ( EventHandlerCallRef, EventRef )</li>
+<li class=fn>virtual bool <a href="#winEventFilter"><b>winEventFilter</b></a> ( MSG * )</li>
+<li class=fn>virtual bool <a href="#x11EventFilter"><b>x11EventFilter</b></a> ( XEvent * )</li>
+<li class=fn>int <a href="#x11ProcessEvent"><b>x11ProcessEvent</b></a> ( XEvent&nbsp;*&nbsp;event )</li>
+<li class=fn>virtual bool <a href="#qwsEventFilter"><b>qwsEventFilter</b></a> ( QWSEvent * )</li>
+<li class=fn>void <a href="#qwsSetCustomColors"><b>qwsSetCustomColors</b></a> ( QRgb&nbsp;*&nbsp;colorTable, int&nbsp;start, int&nbsp;numColors )</li>
+<li class=fn>void <a href="#winFocus"><b>winFocus</b></a> ( QWidget&nbsp;*&nbsp;widget, bool&nbsp;gotFocus )</li>
+<li class=fn>bool <a href="#isSessionRestored"><b>isSessionRestored</b></a> () const</li>
+<li class=fn>QString <a href="#sessionId"><b>sessionId</b></a> () const</li>
+<li class=fn>QString <a href="#sessionKey"><b>sessionKey</b></a> () const</li>
+<li class=fn>virtual void <a href="#commitData"><b>commitData</b></a> ( QSessionManager&nbsp;&amp;&nbsp;sm )</li>
+<li class=fn>virtual void <a href="#saveState"><b>saveState</b></a> ( QSessionManager&nbsp;&amp;&nbsp;sm )</li>
+<li class=fn>void <a href="#wakeUpGuiThread"><b>wakeUpGuiThread</b></a> ()</li>
+<li class=fn>void <a href="#lock"><b>lock</b></a> ()</li>
+<li class=fn>void <a href="#unlock"><b>unlock</b></a> ( bool&nbsp;wakeUpGui = TRUE )</li>
+<li class=fn>bool <a href="#locked"><b>locked</b></a> ()</li>
+<li class=fn>bool <a href="#tryLock"><b>tryLock</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#quit"><b>quit</b></a> ()</li>
+<li class=fn>void <a href="#closeAllWindows"><b>closeAllWindows</b></a> ()</li>
+<li class=fn>void <a href="#aboutQt"><b>aboutQt</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#lastWindowClosed"><b>lastWindowClosed</b></a> ()</li>
+<li class=fn>void <a href="#aboutToQuit"><b>aboutToQuit</b></a> ()</li>
+<li class=fn>void <a href="#guiThreadAwake"><b>guiThreadAwake</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStyle &amp; <a href="#style"><b>style</b></a> ()</li>
+<li class=fn>void <a href="#setStyle"><b>setStyle</b></a> ( QStyle&nbsp;*&nbsp;style )</li>
+<li class=fn>QStyle * <a href="#setStyle-2"><b>setStyle</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;style )</li>
+<li class=fn>int <a href="#colorSpec"><b>colorSpec</b></a> ()</li>
+<li class=fn>void <a href="#setColorSpec"><b>setColorSpec</b></a> ( int&nbsp;spec )</li>
+<li class=fn>QCursor * <a href="#overrideCursor"><b>overrideCursor</b></a> ()</li>
+<li class=fn>void <a href="#setOverrideCursor"><b>setOverrideCursor</b></a> ( const&nbsp;QCursor&nbsp;&amp;&nbsp;cursor, bool&nbsp;replace = FALSE )</li>
+<li class=fn>void <a href="#restoreOverrideCursor"><b>restoreOverrideCursor</b></a> ()</li>
+<li class=fn>bool <a href="#hasGlobalMouseTracking"><b>hasGlobalMouseTracking</b></a> ()</li>
+<li class=fn>void <a href="#setGlobalMouseTracking"><b>setGlobalMouseTracking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>QPalette <a href="#palette"><b>palette</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;w = 0 )</li>
+<li class=fn>void <a href="#setPalette"><b>setPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;palette, bool&nbsp;informWidgets = FALSE, const&nbsp;char&nbsp;*&nbsp;className = 0 )</li>
+<li class=fn>QFont <a href="#font"><b>font</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;w = 0 )</li>
+<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font, bool&nbsp;informWidgets = FALSE, const&nbsp;char&nbsp;*&nbsp;className = 0 )</li>
+<li class=fn>QFontMetrics <a href="#fontMetrics"><b>fontMetrics</b></a> ()</li>
+<li class=fn>QWidgetList * <a href="#allWidgets"><b>allWidgets</b></a> ()</li>
+<li class=fn>QWidgetList * <a href="#topLevelWidgets"><b>topLevelWidgets</b></a> ()</li>
+<li class=fn>QDesktopWidget * <a href="#desktop"><b>desktop</b></a> ()</li>
+<li class=fn>QWidget * <a href="#activePopupWidget"><b>activePopupWidget</b></a> ()</li>
+<li class=fn>QWidget * <a href="#activeModalWidget"><b>activeModalWidget</b></a> ()</li>
+<li class=fn>QClipboard * <a href="#clipboard"><b>clipboard</b></a> ()</li>
+<li class=fn>QWidget * <a href="#widgetAt"><b>widgetAt</b></a> ( int&nbsp;x, int&nbsp;y, bool&nbsp;child = FALSE )</li>
+<li class=fn>QWidget * <a href="#widgetAt-2"><b>widgetAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, bool&nbsp;child = FALSE )</li>
+<li class=fn>QEventLoop * <a href="#eventLoop"><b>eventLoop</b></a> ()</li>
+<li class=fn>void <a href="#exit"><b>exit</b></a> ( int&nbsp;retcode = 0 )</li>
+<li class=fn>bool <a href="#sendEvent"><b>sendEvent</b></a> ( QObject&nbsp;*&nbsp;receiver, QEvent&nbsp;*&nbsp;event )</li>
+<li class=fn>void <a href="#postEvent"><b>postEvent</b></a> ( QObject&nbsp;*&nbsp;receiver, QEvent&nbsp;*&nbsp;event )</li>
+<li class=fn>void <a href="#sendPostedEvents"><b>sendPostedEvents</b></a> ( QObject&nbsp;*&nbsp;receiver, int&nbsp;event_type )</li>
+<li class=fn>void <a href="#sendPostedEvents-2"><b>sendPostedEvents</b></a> ()</li>
+<li class=fn>void <a href="#removePostedEvents"><b>removePostedEvents</b></a> ( QObject&nbsp;*&nbsp;receiver )</li>
+<li class=fn>bool <a href="#startingUp"><b>startingUp</b></a> ()</li>
+<li class=fn>bool <a href="#closingDown"><b>closingDown</b></a> ()</li>
+<li class=fn>void <a href="#flushX"><b>flushX</b></a> ()</li>
+<li class=fn>void <a href="#flush"><b>flush</b></a> ()</li>
+<li class=fn>void <a href="#syncX"><b>syncX</b></a> ()</li>
+<li class=fn>void <a href="#beep"><b>beep</b></a> ()</li>
+<li class=fn>void setWinStyleHighlightColor ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>const QColor &amp; winStyleHighlightColor () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setDesktopSettingsAware"><b>setDesktopSettingsAware</b></a> ( bool&nbsp;on )</li>
+<li class=fn>bool <a href="#desktopSettingsAware"><b>desktopSettingsAware</b></a> ()</li>
+<li class=fn>void <a href="#setCursorFlashTime"><b>setCursorFlashTime</b></a> ( int&nbsp;msecs )</li>
+<li class=fn>int <a href="#cursorFlashTime"><b>cursorFlashTime</b></a> ()</li>
+<li class=fn>void <a href="#setDoubleClickInterval"><b>setDoubleClickInterval</b></a> ( int&nbsp;ms )</li>
+<li class=fn>int <a href="#doubleClickInterval"><b>doubleClickInterval</b></a> ()</li>
+<li class=fn>void <a href="#setWheelScrollLines"><b>setWheelScrollLines</b></a> ( int&nbsp;n )</li>
+<li class=fn>int <a href="#wheelScrollLines"><b>wheelScrollLines</b></a> ()</li>
+<li class=fn>void <a href="#setGlobalStrut"><b>setGlobalStrut</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;strut )</li>
+<li class=fn>QSize <a href="#globalStrut"><b>globalStrut</b></a> ()</li>
+<li class=fn>void <a href="#setLibraryPaths"><b>setLibraryPaths</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;paths )</li>
+<li class=fn>QStringList <a href="#libraryPaths"><b>libraryPaths</b></a> ()</li>
+<li class=fn>void <a href="#addLibraryPath"><b>addLibraryPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>void <a href="#removeLibraryPath"><b>removeLibraryPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>void <a href="#setStartDragTime"><b>setStartDragTime</b></a> ( int&nbsp;ms )</li>
+<li class=fn>int <a href="#startDragTime"><b>startDragTime</b></a> ()</li>
+<li class=fn>void <a href="#setStartDragDistance"><b>setStartDragDistance</b></a> ( int&nbsp;l )</li>
+<li class=fn>int <a href="#startDragDistance"><b>startDragDistance</b></a> ()</li>
+<li class=fn>void <a href="#setReverseLayout"><b>setReverseLayout</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#reverseLayout"><b>reverseLayout</b></a> ()</li>
+<li class=fn>int <a href="#horizontalAlignment"><b>horizontalAlignment</b></a> ( int&nbsp;align )</li>
+<li class=fn>bool <a href="#isEffectEnabled"><b>isEffectEnabled</b></a> ( Qt::UIEffect&nbsp;effect )</li>
+<li class=fn>void <a href="#setEffectEnabled"><b>setEffectEnabled</b></a> ( Qt::UIEffect&nbsp;effect, bool&nbsp;enable = TRUE )</li>
+<li class=fn>QWSDecoration &amp; <a href="#qwsDecoration"><b>qwsDecoration</b></a> ()</li>
+<li class=fn>void <a href="#qwsSetDecoration"><b>qwsSetDecoration</b></a> ( QWSDecoration&nbsp;*&nbsp;d )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void <a href="#qAddPostRoutine"><b>qAddPostRoutine</b></a> ( QtCleanUpFunction&nbsp;p )</li>
+<li class=fn>const char * <a href="#qVersion"><b>qVersion</b></a> ()</li>
+<li class=fn>bool <a href="#qSysInfo"><b>qSysInfo</b></a> ( int&nbsp;*&nbsp;wordSize, bool&nbsp;*&nbsp;bigEndian )</li>
+<li class=fn>void <a href="#qDebug"><b>qDebug</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg, ... )</li>
+<li class=fn>void <a href="#qWarning"><b>qWarning</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg, ... )</li>
+<li class=fn>void <a href="#qFatal"><b>qFatal</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg, ... )</li>
+<li class=fn>void <a href="#qSystemWarning"><b>qSystemWarning</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg, int&nbsp;code )</li>
+<li class=fn>void <a href="#Q_ASSERT"><b>Q_ASSERT</b></a> ( bool&nbsp;test )</li>
+<li class=fn>void <a href="#Q_CHECK_PTR"><b>Q_CHECK_PTR</b></a> ( void&nbsp;*&nbsp;p )</li>
+<li class=fn>QtMsgHandler <a href="#qInstallMsgHandler"><b>qInstallMsgHandler</b></a> ( QtMsgHandler&nbsp;h )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QApplication class manages the GUI application's control
+flow and main settings.
+<p>
+
+<p> It contains the main event loop, where all events from the window
+system and other sources are processed and dispatched. It also
+handles the application's initialization and finalization, and
+provides session management. It also handles most system-wide and
+application-wide settings.
+<p> For any GUI application that uses Qt, there is precisely one
+QApplication object, no matter whether the application has 0, 1, 2
+or more windows at any time.
+<p> The QApplication object is accessible through the global pointer <tt>qApp</tt>. Its main areas of responsibility are:
+<ul>
+<p> <li> It initializes the application with the user's desktop settings
+such as <a href="#palette">palette</a>(), <a href="#font">font</a>() and <a href="#doubleClickInterval">doubleClickInterval</a>(). It keeps track
+of these properties in case the user changes the desktop globally, for
+example through some kind of control panel.
+<p> <li> It performs event handling, meaning that it receives events
+from the underlying window system and dispatches them to the relevant
+widgets. By using <a href="#sendEvent">sendEvent</a>() and <a href="#postEvent">postEvent</a>() you can send your own
+events to widgets.
+<p> <li> It parses common command line arguments and sets its internal
+state accordingly. See the <a href="#QApplication">constructor documentation</a> below for more details about this.
+<p> <li> It defines the application's look and feel, which is
+encapsulated in a <a href="qstyle.html">QStyle</a> object. This can be changed at runtime
+with <a href="#setStyle">setStyle</a>().
+<p> <li> It specifies how the application is to allocate colors.
+See <a href="#setColorSpec">setColorSpec</a>() for details.
+<p> <li> It provides <a href="i18n.html#localization">localization</a> of strings that are visible to the user
+via <a href="#translate">translate</a>().
+<p> <li> It provides some magical objects like the <a href="#desktop">desktop</a>() and the
+<a href="#clipboard">clipboard</a>().
+<p> <li> It knows about the application's windows. You can ask which
+widget is at a certain position using <a href="#widgetAt">widgetAt</a>(), get a list of
+<a href="#topLevelWidgets">topLevelWidgets</a>() and <a href="#closeAllWindows">closeAllWindows</a>(), etc.
+<p> <li> It manages the application's mouse cursor handling,
+see <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>().
+<p> <li> On the X window system, it provides functions to flush and sync
+the communication stream, see <a href="#flushX">flushX</a>() and <a href="#syncX">syncX</a>().
+<p> <li> It provides support for sophisticated <a href="session.html">session management</a>. This makes it possible
+for applications to terminate gracefully when the user logs out, to
+cancel a shutdown process if termination isn't possible and even to
+preserve the entire application's state for a future session. See
+<a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>() and <a href="#commitData">commitData</a>() and <a href="#saveState">saveState</a>()
+for details.
+<p> </ul>
+<p> The <a href="simple-application.html">Application walk-through
+example</a> contains a typical complete main() that does the usual
+things with QApplication.
+<p> Since the QApplication object does so much initialization, it
+<b>must</b> be created before any other objects related to the user
+interface are created.
+<p> Since it also deals with common command line arguments, it is
+usually a good idea to create it <em>before</em> any interpretation or
+modification of <tt>argv</tt> is done in the application itself. (Note
+also that for X11, <a href="#setMainWidget">setMainWidget</a>() may change the main widget
+according to the <tt>-geometry</tt> option. To preserve this
+functionality, you must set your defaults before setMainWidget() and
+any overrides after.)
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top" colspan="2" rowspan="1"> Groups of functions
+<tr bgcolor="#f0f0f0">
+<td valign="top">System settings
+<td valign="top">
+<a href="#desktopSettingsAware">desktopSettingsAware</a>(),
+<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(),
+<a href="#cursorFlashTime">cursorFlashTime</a>(),
+<a href="#setCursorFlashTime">setCursorFlashTime</a>(),
+<a href="#doubleClickInterval">doubleClickInterval</a>(),
+<a href="#setDoubleClickInterval">setDoubleClickInterval</a>(),
+<a href="#wheelScrollLines">wheelScrollLines</a>(),
+<a href="#setWheelScrollLines">setWheelScrollLines</a>(),
+<a href="#palette">palette</a>(),
+<a href="#setPalette">setPalette</a>(),
+<a href="#font">font</a>(),
+<a href="#setFont">setFont</a>(),
+<a href="#fontMetrics">fontMetrics</a>().
+<tr bgcolor="#d0d0d0">
+<td valign="top">Event handling
+<td valign="top">
+<a href="#exec">exec</a>(),
+<a href="#processEvents">processEvents</a>(),
+<a href="#enter_loop">enter_loop</a>(),
+<a href="#exit_loop">exit_loop</a>(),
+<a href="#exit">exit</a>(),
+<a href="#quit">quit</a>().
+<a href="#sendEvent">sendEvent</a>(),
+<a href="#postEvent">postEvent</a>(),
+<a href="#sendPostedEvents">sendPostedEvents</a>(),
+<a href="#removePostedEvents">removePostedEvents</a>(),
+<a href="#hasPendingEvents">hasPendingEvents</a>(),
+<a href="#notify">notify</a>(),
+<a href="#macEventFilter">macEventFilter</a>(),
+<a href="#qwsEventFilter">qwsEventFilter</a>(),
+<a href="#x11EventFilter">x11EventFilter</a>(),
+<a href="#x11ProcessEvent">x11ProcessEvent</a>(),
+<a href="#winEventFilter">winEventFilter</a>().
+<tr bgcolor="#f0f0f0">
+<td valign="top">GUI Styles
+<td valign="top">
+<a href="#style">style</a>(),
+<a href="#setStyle">setStyle</a>(),
+<a href="#polish">polish</a>().
+<tr bgcolor="#d0d0d0">
+<td valign="top">Color usage
+<td valign="top">
+<a href="#colorSpec">colorSpec</a>(),
+<a href="#setColorSpec">setColorSpec</a>(),
+<a href="#qwsSetCustomColors">qwsSetCustomColors</a>().
+<tr bgcolor="#f0f0f0">
+<td valign="top">Text handling
+<td valign="top">
+<a href="#installTranslator">installTranslator</a>(),
+<a href="#removeTranslator">removeTranslator</a>()
+<a href="#translate">translate</a>().
+<tr bgcolor="#d0d0d0">
+<td valign="top">Widgets
+<td valign="top">
+<a href="#mainWidget">mainWidget</a>(),
+<a href="#setMainWidget">setMainWidget</a>(),
+<a href="#allWidgets">allWidgets</a>(),
+<a href="#topLevelWidgets">topLevelWidgets</a>(),
+<a href="#desktop">desktop</a>(),
+<a href="#activePopupWidget">activePopupWidget</a>(),
+<a href="#activeModalWidget">activeModalWidget</a>(),
+<a href="#clipboard">clipboard</a>(),
+<a href="#focusWidget">focusWidget</a>(),
+<a href="#winFocus">winFocus</a>(),
+<a href="#activeWindow">activeWindow</a>(),
+<a href="#widgetAt">widgetAt</a>().
+<tr bgcolor="#f0f0f0">
+<td valign="top">Advanced cursor handling
+<td valign="top">
+<a href="#hasGlobalMouseTracking">hasGlobalMouseTracking</a>(),
+<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(),
+<a href="#overrideCursor">overrideCursor</a>(),
+<a href="#setOverrideCursor">setOverrideCursor</a>(),
+<a href="#restoreOverrideCursor">restoreOverrideCursor</a>().
+<tr bgcolor="#d0d0d0">
+<td valign="top">X Window System synchronization
+<td valign="top">
+<a href="#flushX">flushX</a>(),
+<a href="#syncX">syncX</a>().
+<tr bgcolor="#f0f0f0">
+<td valign="top">Session management
+<td valign="top">
+<a href="#isSessionRestored">isSessionRestored</a>(),
+<a href="#sessionId">sessionId</a>(),
+<a href="#commitData">commitData</a>(),
+<a href="#saveState">saveState</a>().
+<tr bgcolor="#d0d0d0">
+<td valign="top">Threading
+<td valign="top">
+<a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), <a href="#locked">locked</a>(), <a href="#tryLock">tryLock</a>(),
+<a href="#wakeUpGuiThread">wakeUpGuiThread</a>()
+<tr bgcolor="#f0f0f0">
+<td valign="top">Miscellaneous
+<td valign="top">
+<a href="#closeAllWindows">closeAllWindows</a>(),
+<a href="#startingUp">startingUp</a>(),
+<a href="#closingDown">closingDown</a>(),
+<a href="#type">type</a>().
+</table></center>
+<p> <em>Non-GUI programs:</em> While Qt is not optimized or
+designed for writing non-GUI programs, it's possible to use
+<a href="tools.html">some of its classes</a> without creating a
+QApplication. This can be useful if you wish to share code between
+a non-GUI server and a GUI client.
+
+
+
+<p>See also <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ColorSpec-enum"></a>QApplication::ColorSpec</h3>
+
+<ul>
+<li><tt>QApplication::NormalColor</tt> - the default color allocation policy
+<li><tt>QApplication::CustomColor</tt> - the same as NormalColor for X11; allocates colors
+to a palette on demand under Windows
+<li><tt>QApplication::ManyColor</tt> - the right choice for applications that use thousands of
+colors
+</ul><p> See <a href="#setColorSpec">setColorSpec</a>() for full details.
+
+<h3 class=fn><a name="Encoding-enum"></a>QApplication::Encoding</h3>
+<p> This enum type defines the 8-bit encoding of character string
+arguments to <a href="#translate">translate</a>():
+<ul>
+<li><tt>QApplication::DefaultCodec</tt> - the encoding specified by
+<a href="qtextcodec.html#codecForTr">QTextCodec::codecForTr</a>() (Latin-1 if none has been set)
+<li><tt>QApplication::UnicodeUTF8</tt> - UTF-8
+</ul><p> <p>See also <a href="qobject.html#tr">QObject::tr</a>(), <a href="qobject.html#trUtf8">QObject::trUtf8</a>(), and <a href="qstring.html#fromUtf8">QString::fromUtf8</a>().
+
+<h3 class=fn><a name="Type-enum"></a>QApplication::Type</h3>
+
+<ul>
+<li><tt>QApplication::Tty</tt> - a console application
+<li><tt>QApplication::GuiClient</tt> - a GUI client application
+<li><tt>QApplication::GuiServer</tt> - a GUI server application
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QApplication"></a>QApplication::QApplication ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv )
+</h3>
+Initializes the window system and constructs an application object
+with <em>argc</em> command line arguments in <em>argv</em>.
+<p> The global <tt>qApp</tt> pointer refers to this application object. Only
+one application object should be created.
+<p> This application object must be constructed before any <a href="qpaintdevice.html">paint devices</a> (including widgets, pixmaps, bitmaps
+etc.).
+<p> Note that <em>argc</em> and <em>argv</em> might be changed. Qt removes command
+line arguments that it recognizes. The modified <em>argc</em> and <em>argv</em>
+can also be accessed later with <tt>qApp-&gt;argc()</tt> and <tt>qApp-&gt;argv()</tt>.
+The documentation for <a href="#argv">argv</a>() contains a detailed description of how
+to process command line arguments.
+<p> Qt debugging options (not available if Qt was compiled with the
+QT_NO_DEBUG flag defined):
+<ul>
+<li> -nograb, tells Qt that it must never grab the mouse or the keyboard.
+<li> -dograb (only under X11), running under a debugger can cause
+an implicit -nograb, use -dograb to override.
+<li> -sync (only under X11), switches to synchronous mode for
+debugging.
+</ul>
+<p> See <a href="debug.html">Debugging Techniques</a> for a more
+detailed explanation.
+<p> All Qt programs automatically support the following command line options:
+<ul>
+<li> -reverse causes text to be formatted for right-to-left languages
+rather than in the usual left-to-right direction.
+<li> -style= <em>style</em>, sets the application GUI style. Possible values
+are <tt>motif</tt>, <tt>windows</tt>, and <tt>platinum</tt>. If you compiled Qt
+with additional styles or have additional styles as plugins these
+will be available to the <tt>-style</tt> command line option.
+<li> -style <em>style</em>, is the same as listed above.
+<li> -session= <em>session</em>, restores the application from an earlier
+<a href="session.html">session</a>.
+<li> -session <em>session</em>, is the same as listed above.
+<li> -widgetcount, prints debug message at the end about number of widgets left
+undestroyed and maximum number of widgets existed at the same time
+</ul>
+<p> The X11 version of Qt also supports some traditional X11
+command line options:
+<ul>
+<li> -display <em>display</em>, sets the X display (default is $DISPLAY).
+<li> -geometry <em>geometry</em>, sets the client geometry of the
+<a href="#setMainWidget">main widget</a>.
+<li> -fn or <tt>-font</tt> <em>font</em>, defines the application font. The
+font should be specified using an X logical font description.
+<li> -bg or <tt>-background</tt> <em>color</em>, sets the default background color
+and an application palette (light and dark shades are calculated).
+<li> -fg or <tt>-foreground</tt> <em>color</em>, sets the default foreground color.
+<li> -btn or <tt>-button</tt> <em>color</em>, sets the default button color.
+<li> -name <em>name</em>, sets the application name.
+<li> -title <em>title</em>, sets the application title (caption).
+<li> -visual <tt>TrueColor</tt>, forces the application to use a TrueColor visual
+on an 8-bit display.
+<li> -ncols <em>count</em>, limits the number of colors allocated in the
+color cube on an 8-bit display, if the application is using the
+<a href="#ColorSpec-enum">QApplication::ManyColor</a> color specification. If <em>count</em> is
+216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green,
+and 6 of blue); for other values, a cube
+approximately proportional to a 2x3x1 cube is used.
+<li> -cmap, causes the application to install a private color map
+on an 8-bit display.
+</ul>
+<p> <p>See also <a href="#argc">argc</a>() and <a href="#argv">argv</a>().
+
+<h3 class=fn><a name="QApplication-2"></a>QApplication::QApplication ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, bool&nbsp;GUIenabled )
+</h3>
+Constructs an application object with <em>argc</em> command line arguments
+in <em>argv</em>. If <em>GUIenabled</em> is TRUE, a GUI application is
+constructed, otherwise a non-GUI (console) application is created.
+<p> Set <em>GUIenabled</em> to FALSE for programs without a graphical user
+interface that should be able to run without a window system.
+<p> On X11, the window system is initialized if <em>GUIenabled</em> is TRUE.
+If <em>GUIenabled</em> is FALSE, the application does not connect to the
+X-server.
+On Windows and Macintosh, currently the window system is always
+initialized, regardless of the value of GUIenabled. This may change in
+future versions of Qt.
+<p> The following example shows how to create an application that
+uses a graphical interface when available.
+<pre>
+ int main( int argc, char **argv )
+ {
+#ifdef Q_WS_X11
+ bool useGUI = getenv( "DISPLAY" ) != 0;
+#else
+ bool useGUI = TRUE;
+#endif
+ QApplication app(argc, argv, useGUI);
+
+ if ( useGUI ) {
+ //start GUI version
+ ...
+ } else {
+ //start non-GUI version
+ ...
+ }
+ return app.<a href="#exec">exec</a>();
+ }
+</pre>
+
+
+<h3 class=fn><a name="QApplication-3"></a>QApplication::QApplication ( int&nbsp;&amp;&nbsp;argc, char&nbsp;**&nbsp;argv, <a href="qapplication.html#Type-enum">Type</a>&nbsp;type )
+</h3>
+Constructs an application object with <em>argc</em> command line arguments
+in <em>argv</em>.
+<p> For Qt/Embedded, passing <a href="#Type-enum">QApplication::GuiServer</a> for <em>type</em>
+makes this application the server (equivalent to running with the
+-qws option).
+
+<h3 class=fn><a name="QApplication-4"></a>QApplication::QApplication ( Display&nbsp;*&nbsp;dpy, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )
+</h3>
+Create an application, given an already open display <em>dpy</em>. If <em>visual</em> and <em>colormap</em> are non-zero, the application will use those as
+the default Visual and Colormap contexts.
+<p> <b>Warning:</b> Qt only supports TrueColor visuals at depths higher than 8
+bits-per-pixel.
+<p> This is available only on X11.
+
+<h3 class=fn><a name="QApplication-5"></a>QApplication::QApplication ( Display&nbsp;*&nbsp;dpy, int&nbsp;argc, char&nbsp;**&nbsp;argv, HANDLE&nbsp;visual = 0, HANDLE&nbsp;colormap = 0 )
+</h3>
+Create an application, given an already open display <em>dpy</em> and using
+<em>argc</em> command line arguments in <em>argv</em>. If <em>visual</em> and <em>colormap</em> are non-zero, the application will use those as
+the default Visual and Colormap contexts.
+<p> <b>Warning:</b> Qt only supports TrueColor visuals at depths higher than 8
+bits-per-pixel.
+<p> This is available only on X11.
+<p>
+<h3 class=fn><a name="~QApplication"></a>QApplication::~QApplication ()<tt> [virtual]</tt>
+</h3>
+Cleans up any window system resources that were allocated by this
+application. Sets the global variable <tt>qApp</tt> to 0.
+
+<h3 class=fn>void <a name="aboutQt"></a>QApplication::aboutQt ()<tt> [slot]</tt>
+</h3>
+Displays a simple message box about Qt. The message includes the
+version number of Qt being used by the application.
+<p> This is useful for inclusion in the Help menu of an application.
+See the examples/menu/menu.cpp example.
+<p> This function is a convenience slot for <a href="qmessagebox.html#aboutQt">QMessageBox::aboutQt</a>().
+
+<h3 class=fn>void <a name="aboutToQuit"></a>QApplication::aboutToQuit ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the application is about to quit the
+main event loop, e.g. when the event loop level drops to zero.
+This may happen either after a call to <a href="#quit">quit</a>() from inside the
+application or when the users shuts down the entire desktop session.
+<p> The signal is particularly useful if your application has to do some
+last-second cleanup. Note that no user interaction is possible in
+this state.
+<p> <p>See also <a href="#quit">quit</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activeModalWidget"></a>QApplication::activeModalWidget ()<tt> [static]</tt>
+</h3>
+Returns the active modal widget.
+<p> A modal widget is a special top level widget which is a subclass of
+<a href="qdialog.html">QDialog</a> that specifies the modal parameter of the constructor as
+TRUE. A modal widget must be closed before the user can continue
+with other parts of the program.
+<p> Modal widgets are organized in a stack. This function returns
+the active modal widget at the top of the stack.
+<p> <p>See also <a href="#activePopupWidget">activePopupWidget</a>() and <a href="#topLevelWidgets">topLevelWidgets</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activePopupWidget"></a>QApplication::activePopupWidget ()<tt> [static]</tt>
+</h3>
+Returns the active popup widget.
+<p> A popup widget is a special top level widget that sets the <a href="qt.html#WidgetFlags-enum">WType_Popup</a> widget flag, e.g. the <a href="qpopupmenu.html">QPopupMenu</a> widget. When the
+application opens a popup widget, all events are sent to the popup.
+Normal widgets and modal widgets cannot be accessed before the popup
+widget is closed.
+<p> Only other popup widgets may be opened when a popup widget is shown.
+The popup widgets are organized in a stack. This function returns
+the active popup widget at the top of the stack.
+<p> <p>See also <a href="#activeModalWidget">activeModalWidget</a>() and <a href="#topLevelWidgets">topLevelWidgets</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activeWindow"></a>QApplication::activeWindow () const
+</h3>
+
+<p> Returns the application top-level window that has the keyboard input
+focus, or 0 if no application window has the focus. Note that
+there might be an <a href="#activeWindow">activeWindow</a>() even if there is no <a href="#focusWidget">focusWidget</a>(),
+for example if no widget in that window accepts key events.
+<p> <p>See also <a href="qwidget.html#setFocus">QWidget::setFocus</a>(), <a href="qwidget.html#focus-prop">QWidget::focus</a>, and <a href="#focusWidget">focusWidget</a>().
+
+<p>Example: <a href="mail-example.html#x704">network/mail/smtp.cpp</a>.
+<h3 class=fn>void <a name="addLibraryPath"></a>QApplication::addLibraryPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [static]</tt>
+</h3>
+Append <em>path</em> to the end of the library path list. If <em>path</em> is
+empty or already in the path list, the path list is not changed.
+<p> The default path list consists of a single entry, the installation
+directory for plugins. The default installation directory for plugins
+is <tt>INSTALL/plugins</tt>, where <tt>INSTALL</tt> is the directory where Qt was
+installed.
+<p> <p>See also <a href="#removeLibraryPath">removeLibraryPath</a>(), <a href="#libraryPaths">libraryPaths</a>(), and <a href="#setLibraryPaths">setLibraryPaths</a>().
+
+<h3 class=fn>QWidgetList * <a name="allWidgets"></a>QApplication::allWidgets ()<tt> [static]</tt>
+</h3>
+Returns a list of all the widgets in the application.
+<p> The list is created using <tt>new</tt> and must be deleted by the caller.
+<p> The list is empty (<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()) if there are no widgets.
+<p> Note that some of the widgets may be hidden.
+<p> Example that updates all widgets:
+<pre>
+ QWidgetList *list = QApplication::<a href="#allWidgets">allWidgets</a>();
+ QWidgetListIt it( *list ); // iterate over the widgets
+ <a href="qwidget.html">QWidget</a> * w;
+ while ( (w=it.current()) != 0 ) { // for each widget...
+ ++it;
+ w-&gt;<a href="qwidget.html#update">update</a>();
+ }
+ delete list; // delete the list, not the widgets
+ </pre>
+
+<p> The QWidgetList class is defined in the <tt>qwidgetlist.h</tt> header
+file.
+<p> <b>Warning:</b> Delete the list as soon as you have finished using it.
+The widgets in the list may be deleted by someone else at any time.
+<p> <p>See also <a href="#topLevelWidgets">topLevelWidgets</a>(), <a href="qwidget.html#visible-prop">QWidget::visible</a>, and <a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="applicationDirPath"></a>QApplication::applicationDirPath ()
+</h3>
+Returns the directory that contains the application executable.
+<p> For example, if you have installed Qt in the <tt>C:&#92;Trolltech&#92;Qt</tt>
+directory, and you run the <tt>demo</tt> example, this function will
+return "C:/Trolltech/Qt/examples/demo".
+<p> On Mac OS X this will point to the directory actually containing the
+executable, which may be inside of an application bundle (if the
+application is bundled).
+<p> <b>Warning:</b> On Unix, this function assumes that argv[0] contains the file
+name of the executable (which it normally does). It also assumes that
+the current directory hasn't been changed by the application.
+<p> <p>See also <a href="#applicationFilePath">applicationFilePath</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="applicationFilePath"></a>QApplication::applicationFilePath ()
+</h3>
+Returns the file path of the application executable.
+<p> For example, if you have installed Qt in the <tt>C:&#92;Trolltech&#92;Qt</tt>
+directory, and you run the <tt>demo</tt> example, this function will
+return "C:/Trolltech/Qt/examples/demo/demo.exe".
+<p> <b>Warning:</b> On Unix, this function assumes that argv[0] contains the file
+name of the executable (which it normally does). It also assumes that
+the current directory hasn't been changed by the application.
+<p> <p>See also <a href="#applicationDirPath">applicationDirPath</a>().
+
+<h3 class=fn>int <a name="argc"></a>QApplication::argc () const
+</h3>
+
+<p> Returns the number of command line arguments.
+<p> The documentation for <a href="#argv">argv</a>() describes how to process command line
+arguments.
+<p> <p>See also <a href="#argv">argv</a>() and <a href="#QApplication">QApplication::QApplication</a>().
+
+<p>Examples: <a href="tutorial2-04.html#x2557">chart/main.cpp</a> and <a href="scribble-example.html#x906">scribble/scribble.cpp</a>.
+<h3 class=fn>char ** <a name="argv"></a>QApplication::argv () const
+</h3>
+
+<p> Returns the command line argument vector.
+<p> <tt>argv()[0]</tt> is the program name, <tt>argv()[1]</tt> is the first
+argument and <tt>argv()[argc()-1]</tt> is the last argument.
+<p> A QApplication object is constructed by passing <em>argc</em> and <em>argv</em> from the <tt>main()</tt> function. Some of the arguments may be
+recognized as Qt options and removed from the argument vector. For
+example, the X11 version of Qt knows about <tt>-display</tt>, <tt>-font</tt>
+and a few more options.
+<p> Example:
+<pre>
+ // showargs.cpp - displays program arguments in a list box
+
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+
+ int main( int argc, char **argv )
+ {
+ QApplication a( argc, argv );
+ <a href="qlistbox.html">QListBox</a> b;
+ a.<a href="#setMainWidget">setMainWidget</a>( &amp;b );
+ for ( int i = 0; i &lt; a.<a href="#argc">argc</a>(); i++ ) // a.<a href="#argc">argc</a>() == argc
+ b.<a href="qlistbox.html#insertItem">insertItem</a>( a.<a href="#argv">argv</a>()[i] ); // a.<a href="#argv">argv</a>()[i] == argv[i]
+ b.<a href="qwidget.html#show">show</a>();
+ return a.<a href="#exec">exec</a>();
+ }
+ </pre>
+
+<p> If you run <tt>showargs -display unix:0 -font 9x15bold hello world</tt>
+under X11, the list box contains the three strings "showargs",
+"hello" and "world".
+<p> Qt provides a global pointer, <tt>qApp</tt>, that points to the
+QApplication object, and through which you can access <a href="#argc">argc</a>() and
+<a href="#argv">argv</a>() in functions other than main().
+<p> <p>See also <a href="#argc">argc</a>() and <a href="#QApplication">QApplication::QApplication</a>().
+
+<p>Examples: <a href="tutorial2-04.html#x2558">chart/main.cpp</a> and <a href="scribble-example.html#x907">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="beep"></a>QApplication::beep ()<tt> [static]</tt>
+</h3>
+Sounds the bell, using the default volume and sound.
+
+<h3 class=fn><a href="qclipboard.html">QClipboard</a>&nbsp;* <a name="clipboard"></a>QApplication::clipboard ()<tt> [static]</tt>
+</h3>
+Returns a pointer to the application global clipboard.
+
+<p>Examples: <a href="regexptester-example.html#x2468">regexptester/regexptester.cpp</a> and <a href="showimg-example.html#x1308">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="closeAllWindows"></a>QApplication::closeAllWindows ()<tt> [slot]</tt>
+</h3>
+Closes all top-level windows.
+<p> This function is particularly useful for applications with many
+top-level windows. It could, for example, be connected to a "Quit"
+entry in the file menu as shown in the following code example:
+<p> <pre>
+ // the "Quit" menu entry should try to close all windows
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT(<a href="#closeAllWindows">closeAllWindows</a>()), CTRL+Key_Q );
+
+ // when the last window is closed, the application should quit
+ <a href="qobject.html#connect">connect</a>( qApp, SIGNAL( <a href="#lastWindowClosed">lastWindowClosed</a>() ), qApp, SLOT( <a href="#quit">quit</a>() ) );
+ </pre>
+
+<p> The windows are closed in random order, until one window does not
+accept the close event.
+<p> <p>See also <a href="qwidget.html#close">QWidget::close</a>(), <a href="qwidget.html#closeEvent">QWidget::closeEvent</a>(), <a href="#lastWindowClosed">lastWindowClosed</a>(), <a href="#quit">quit</a>(), <a href="#topLevelWidgets">topLevelWidgets</a>(), and <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>.
+
+<p>
+<p>Examples: <a href="qaction-application-example.html#x1127">action/application.cpp</a>, <a href="simple-application-example.html#x1544">application/application.cpp</a>, <a href="helpviewer-example.html#x980">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2020">mdi/application.cpp</a>, and <a href="qwerty-example.html#x358">qwerty/qwerty.cpp</a>.
+<h3 class=fn>bool <a name="closingDown"></a>QApplication::closingDown ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the application objects are being destroyed;
+otherwise returns FALSE.
+<p> <p>See also <a href="#startingUp">startingUp</a>().
+
+<h3 class=fn>int <a name="colorSpec"></a>QApplication::colorSpec ()<tt> [static]</tt>
+</h3>
+Returns the color specification.
+<p>See also <a href="#setColorSpec">QApplication::setColorSpec</a>().
+
+<p>Example: <a href="showimg-example.html#x1309">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="commitData"></a>QApplication::commitData ( <a href="qsessionmanager.html">QSessionManager</a>&nbsp;&amp;&nbsp;sm )<tt> [virtual]</tt>
+</h3>
+
+<p> This function deals with <a href="session.html">session
+ management</a>. It is invoked when the <a href="qsessionmanager.html">QSessionManager</a> wants the
+application to commit all its data.
+<p> Usually this means saving all open files, after getting
+permission from the user. Furthermore you may want to provide a means
+by which the user can cancel the shutdown.
+<p> Note that you should not exit the application within this function.
+Instead, the session manager may or may not do this afterwards,
+depending on the context.
+<p> <b>Warning:</b> Within this function, no user interaction is possible, <em>unless</em> you ask the session manager <em>sm</em> for explicit permission.
+See <a href="qsessionmanager.html#allowsInteraction">QSessionManager::allowsInteraction</a>() and
+<a href="qsessionmanager.html#allowsErrorInteraction">QSessionManager::allowsErrorInteraction</a>() for details and example
+usage.
+<p> The default implementation requests interaction and sends a close
+event to all visible top level widgets. If any event was
+rejected, the shutdown is canceled.
+<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#saveState">saveState</a>(), and <a href="session.html">the Session Management overview</a>.
+
+<h3 class=fn>int <a name="cursorFlashTime"></a>QApplication::cursorFlashTime ()<tt> [static]</tt>
+</h3>
+Returns the text cursor's flash (blink) time in milliseconds. The
+flash time is the time required to display, invert and restore the
+caret display.
+<p> The default value on X11 is 1000 milliseconds. On Windows, the
+control panel value is used.
+<p> Widgets should not cache this value since it may be changed at any
+time by the user changing the global desktop settings.
+<p> <p>See also <a href="#setCursorFlashTime">setCursorFlashTime</a>().
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="defaultCodec"></a>QApplication::defaultCodec () const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns <a href="qtextcodec.html#codecForTr">QTextCodec::codecForTr</a>().
+
+<h3 class=fn><a href="qdesktopwidget.html">QDesktopWidget</a>&nbsp;* <a name="desktop"></a>QApplication::desktop ()<tt> [static]</tt>
+</h3>
+Returns the desktop widget (also called the root window).
+<p> The desktop widget is useful for obtaining the size of the screen.
+It may also be possible to draw on the desktop. We recommend against
+assuming that it's possible to draw on the desktop, since this does
+not work on all operating systems.
+<p> <pre>
+ <a href="qdesktopwidget.html">QDesktopWidget</a> *d = QApplication::<a href="#desktop">desktop</a>();
+ int w = d-&gt;<a href="qwidget.html#width">width</a>(); // returns desktop width
+ int h = d-&gt;<a href="qwidget.html#height">height</a>(); // returns desktop height
+ </pre>
+
+
+<p>Examples: <a href="canvas-example.html#x2958">canvas/main.cpp</a>, <a href="desktop-example.html#x1721">desktop/desktop.cpp</a>, <a href="helpviewer-example.html#x1037">helpviewer/main.cpp</a>, <a href="i18n-example.html#x1928">i18n/main.cpp</a>, <a href="qmag-example.html#x1765">qmag/qmag.cpp</a>, <a href="qwerty-example.html#x414">qwerty/main.cpp</a>, and <a href="scribble-example.html#x954">scribble/main.cpp</a>.
+<h3 class=fn>bool <a name="desktopSettingsAware"></a>QApplication::desktopSettingsAware ()<tt> [static]</tt>
+</h3>
+Returns the value set by <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(); by default TRUE.
+<p> <p>See also <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>().
+
+<h3 class=fn>int <a name="doubleClickInterval"></a>QApplication::doubleClickInterval ()<tt> [static]</tt>
+</h3>
+Returns the maximum duration for a double click.
+<p> The default value on X11 is 400 milliseconds. On Windows, the
+control panel value is used.
+<p> <p>See also <a href="#setDoubleClickInterval">setDoubleClickInterval</a>().
+
+<h3 class=fn>int <a name="enter_loop"></a>QApplication::enter_loop ()
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function enters the main event loop (recursively). Do not call
+it unless you really know what you are doing.
+<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->enterLoop() instead.
+<p>
+<h3 class=fn><a href="qeventloop.html">QEventLoop</a>&nbsp;* <a name="eventLoop"></a>QApplication::eventLoop ()<tt> [static]</tt>
+</h3>
+Returns the application event loop. This function will return
+zero if called during and after destroying QApplication.
+<p> To create your own instance of <a href="qeventloop.html">QEventLoop</a> or QEventLoop subclass create
+it before you create the QApplication object.
+<p> <p>See also <a href="qeventloop.html">QEventLoop</a>.
+
+<p>Example: <a href="distributor-example.html#x2651">distributor/distributor.ui.h</a>.
+<h3 class=fn>int <a name="exec"></a>QApplication::exec ()
+</h3>
+Enters the main event loop and waits until <a href="#exit">exit</a>() is called or the
+main widget is destroyed, and returns the value that was set to
+exit() (which is 0 if exit() is called via <a href="#quit">quit</a>()).
+<p> It is necessary to call this function to start event handling. The
+main event loop receives events from the window system and
+dispatches these to the application widgets.
+<p> Generally speaking, no user interaction can take place before
+calling <a href="#exec">exec</a>(). As a special case, modal widgets like <a href="qmessagebox.html">QMessageBox</a>
+can be used before calling exec(), because modal widgets call
+exec() to start a local event loop.
+<p> To make your application perform idle processing, i.e. executing a
+special function whenever there are no pending events, use a
+<a href="qtimer.html">QTimer</a> with 0 timeout. More advanced idle processing schemes can
+be achieved using <a href="#processEvents">processEvents</a>().
+<p> <p>See also <a href="#quit">quit</a>(), <a href="#exit">exit</a>(), <a href="#processEvents">processEvents</a>(), and <a href="#setMainWidget">setMainWidget</a>().
+
+<p>Examples: <a href="helpsystem-example.html#x2700">helpsystem/main.cpp</a>, <a href="qdialog.html#x2132">life/main.cpp</a>, <a href="archivesearch-example.html#x486">network/archivesearch/main.cpp</a>, <a href="ftpclient-example.html#x777">network/ftpclient/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2731">opengl/main.cpp</a>, <a href="tutorial1-01.html#x2283">t1/main.cpp</a>, and <a href="tutorial1-04.html#x2303">t4/main.cpp</a>.
+<h3 class=fn>void <a name="exit"></a>QApplication::exit ( int&nbsp;retcode = 0 )<tt> [static]</tt>
+</h3>
+Tells the application to exit with a return code.
+<p> After this function has been called, the application leaves the main
+event loop and returns from the call to <a href="#exec">exec</a>(). The exec() function
+returns <em>retcode</em>.
+<p> By convention, a <em>retcode</em> of 0 means success, and any non-zero
+value indicates an error.
+<p> Note that unlike the C library function of the same name, this
+function <em>does</em> return to the caller -- it is event processing that
+stops.
+<p> <p>See also <a href="#quit">quit</a>() and <a href="#exec">exec</a>().
+
+<p>Examples: <a href="canvas-chart-example.html#x2875">chart/chartform.cpp</a>, <a href="extension-dialog-example.html#x2865">extension/mainform.ui.h</a>, and <a href="picture-example.html#x106">picture/picture.cpp</a>.
+<h3 class=fn>void <a name="exit_loop"></a>QApplication::exit_loop ()
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function exits from a recursive call to the main event loop.
+Do not call it unless you are an expert.
+<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->exitLoop() instead.
+<p>
+<h3 class=fn>void <a name="flush"></a>QApplication::flush ()<tt> [static]</tt>
+</h3>
+Flushes the window system specific event queues.
+<p> If you are doing graphical changes inside a loop that does not
+return to the event loop on asynchronous window systems like X11
+or double buffered window systems like MacOS X, and you want to
+visualize these changes immediately (e.g. Splash Screens), call
+this function.
+<p> <p>See also <a href="#flushX">flushX</a>(), <a href="#sendPostedEvents">sendPostedEvents</a>(), and <a href="qpainter.html#flush">QPainter::flush</a>().
+
+<h3 class=fn>void <a name="flushX"></a>QApplication::flushX ()<tt> [static]</tt>
+</h3>
+Flushes the X event queue in the X11 implementation. This normally
+returns almost immediately. Does nothing on other platforms.
+<p> <p>See also <a href="#syncX">syncX</a>().
+
+<p>Example: <a href="xform-example.html#x1217">xform/xform.cpp</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="focusWidget"></a>QApplication::focusWidget () const
+</h3>
+
+<p> Returns the application widget that has the keyboard input focus, or
+0 if no widget in this application has the focus.
+<p> <p>See also <a href="qwidget.html#setFocus">QWidget::setFocus</a>(), <a href="qwidget.html#focus-prop">QWidget::focus</a>, and <a href="#activeWindow">activeWindow</a>().
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QApplication::font ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w = 0 )<tt> [static]</tt>
+</h3>
+Returns the default font for the widget <em>w</em>, or the default
+application font if <em>w</em> is 0.
+<p> <p>See also <a href="#setFont">setFont</a>(), <a href="#fontMetrics">fontMetrics</a>(), and <a href="qwidget.html#font-prop">QWidget::font</a>.
+
+<p>Examples: <a href="qfd-example.html#x1979">qfd/fontdisplayer.cpp</a>, <a href="themes-example.html#x264">themes/metal.cpp</a>, and <a href="themes-example.html#x321">themes/themes.cpp</a>.
+<h3 class=fn><a href="qfontmetrics.html">QFontMetrics</a> <a name="fontMetrics"></a>QApplication::fontMetrics ()<tt> [static]</tt>
+</h3>
+Returns display (screen) font metrics for the application font.
+<p> <p>See also <a href="#font">font</a>(), <a href="#setFont">setFont</a>(), <a href="qwidget.html#fontMetrics">QWidget::fontMetrics</a>(), and <a href="qpainter.html#fontMetrics">QPainter::fontMetrics</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="globalStrut"></a>QApplication::globalStrut ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the application's global strut.
+<p> The strut is a size object whose dimensions are the minimum that any
+GUI element that the user can interact with should have. For example
+no button should be resized to be smaller than the global strut size.
+<p> <p>See also <a href="#setGlobalStrut">setGlobalStrut</a>().
+
+<h3 class=fn>void <a name="guiThreadAwake"></a>QApplication::guiThreadAwake ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after the event loop returns from a function
+that could block.
+<p> <p>See also <a href="#wakeUpGuiThread">wakeUpGuiThread</a>().
+
+<h3 class=fn>bool <a name="hasGlobalMouseTracking"></a>QApplication::hasGlobalMouseTracking ()<tt> [static]</tt>
+</h3>
+
+<p> Returns TRUE if global mouse tracking is enabled; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>().
+
+<h3 class=fn>bool <a name="hasPendingEvents"></a>QApplication::hasPendingEvents ()
+</h3>
+This function returns TRUE if there are pending events; otherwise
+returns FALSE. Pending events can be either from the window system
+or posted events using <a href="#postEvent">QApplication::postEvent</a>().
+
+<h3 class=fn>int <a name="horizontalAlignment"></a>QApplication::horizontalAlignment ( int&nbsp;align )<tt> [static]</tt>
+</h3>
+
+<p> Strips out vertical alignment flags and transforms an
+alignment <em>align</em> of AlignAuto into AlignLeft or
+AlignRight according to the language used. The other horizontal
+alignment flags are left untouched.
+
+<h3 class=fn>void <a name="installTranslator"></a>QApplication::installTranslator ( <a href="qtranslator.html">QTranslator</a>&nbsp;*&nbsp;mf )
+</h3>
+Adds the message file <em>mf</em> to the list of message files to be used
+for translations.
+<p> Multiple message files can be installed. Translations are searched
+for in the last installed message file, then the one from last, and
+so on, back to the first installed message file. The search stops as
+soon as a matching translation is found.
+<p> <p>See also <a href="#removeTranslator">removeTranslator</a>(), <a href="#translate">translate</a>(), and <a href="qtranslator.html#load">QTranslator::load</a>().
+
+<p>Example: <a href="i18n-example.html#x1930">i18n/main.cpp</a>.
+<h3 class=fn>bool <a name="isEffectEnabled"></a>QApplication::isEffectEnabled ( <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>&nbsp;effect )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>effect</em> is enabled; otherwise returns FALSE.
+<p> By default, Qt will try to use the desktop settings. Call
+<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>(FALSE) to prevent this.
+<p> Note: All effects are disabled on screens running at less than
+16-bit color depth.
+<p> <p>See also <a href="#setEffectEnabled">setEffectEnabled</a>() and <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>.
+
+<h3 class=fn>bool <a name="isSessionRestored"></a>QApplication::isSessionRestored () const
+</h3>
+
+<p> Returns TRUE if the application has been restored from an earlier
+<a href="session.html">session</a>; otherwise returns FALSE.
+<p> <p>See also <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>().
+
+<h3 class=fn>void <a name="lastWindowClosed"></a>QApplication::lastWindowClosed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user has closed the last
+top level window.
+<p> The signal is very useful when your application has many top level
+widgets but no main widget. You can then connect it to the <a href="#quit">quit</a>()
+slot.
+<p> For convenience, this signal is <em>not</em> emitted for transient top level
+widgets such as popup menus and dialogs.
+<p> <p>See also <a href="#mainWidget">mainWidget</a>(), <a href="#topLevelWidgets">topLevelWidgets</a>(), <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>, and <a href="qwidget.html#close">QWidget::close</a>().
+
+<p>Examples: <a href="addressbook-example.html#x608">addressbook/main.cpp</a>, <a href="extension-dialog-example.html#x2867">extension/main.cpp</a>, <a href="helpviewer-example.html#x1039">helpviewer/main.cpp</a>, <a href="mdi-example.html#x2096">mdi/main.cpp</a>, <a href="archivesearch-example.html#x487">network/archivesearch/main.cpp</a>, <a href="qwerty-example.html#x416">qwerty/main.cpp</a>, and <a href="regexptester-example.html#x2509">regexptester/main.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="libraryPaths"></a>QApplication::libraryPaths ()<tt> [static]</tt>
+</h3>
+Returns a list of paths that the application will search when
+dynamically loading libraries.
+The installation directory for plugins is the only entry if no
+paths have been set. The default installation directory for plugins
+is <tt>INSTALL/plugins</tt>, where <tt>INSTALL</tt> is the directory where Qt was
+installed. The directory of the application executable (NOT the
+working directory) is also added to the plugin paths.
+<p> If you want to iterate over the list, you should iterate over a
+copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = app.libraryPaths();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> See the <a href="plugins-howto.html">plugins documentation</a> for a
+description of how the library paths are used.
+<p> <p>See also <a href="#setLibraryPaths">setLibraryPaths</a>(), <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#removeLibraryPath">removeLibraryPath</a>(), and <a href="qlibrary.html">QLibrary</a>.
+
+<h3 class=fn>void <a name="lock"></a>QApplication::lock ()
+</h3>
+<p> Lock the Qt Library Mutex. If another thread has already locked the
+mutex, the calling thread will block until the other thread has
+unlocked the mutex.
+<p> <p>See also <a href="#unlock">unlock</a>(), <a href="#locked">locked</a>(), and <a href="threads.html">Thread Support in Qt</a>.
+
+<h3 class=fn>bool <a name="locked"></a>QApplication::locked ()
+</h3>
+<p> Returns TRUE if the Qt Library Mutex is locked by a different thread;
+otherwise returns FALSE.
+<p> <b>Warning:</b> Due to different implementations of recursive mutexes on
+the supported platforms, calling this function from the same thread
+that previously locked the mutex will give undefined results.
+<p> <p>See also <a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), and <a href="threads.html">Thread Support in Qt</a>.
+
+<h3 class=fn>int <a name="loopLevel"></a>QApplication::loopLevel () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the current loop level.
+<p> Use <a href="#eventLoop">QApplication::eventLoop</a>()->loopLevel() instead.
+<p>
+<h3 class=fn>bool <a name="macEventFilter"></a>QApplication::macEventFilter ( EventHandlerCallRef, EventRef )<tt> [virtual]</tt>
+</h3>
+This virtual function is only implemented under Macintosh.
+<p> If you create an application that inherits QApplication and
+reimplement this function, you get direct access to all Carbon Events
+that are received from the MacOS.
+<p> Return TRUE if you want to stop the event from being processed.
+Return FALSE for normal event dispatching.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="mainWidget"></a>QApplication::mainWidget () const
+</h3>
+
+<p> Returns the main application widget, or 0 if there is no main
+widget.
+<p> <p>See also <a href="#setMainWidget">setMainWidget</a>().
+
+<h3 class=fn>bool <a name="notify"></a>QApplication::notify ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual]</tt>
+</h3>
+Sends event <em>e</em> to <em>receiver</em>: <em>receiver</em>->event(<em>e</em>).
+Returns the value that is returned from the receiver's event handler.
+<p> For certain types of events (e.g. mouse and key events),
+the event will be propagated to the receiver's parent and so on up to
+the top-level object if the receiver is not interested in the event
+(i.e., it returns FALSE).
+<p> There are five different ways that events can be processed;
+reimplementing this virtual function is just one of them. All five
+approaches are listed below:
+<ol type=1>
+<li> Reimplementing this function. This is very powerful, providing
+complete control; but only one subclass can be qApp.
+<p> <li> Installing an event filter on qApp. Such an event filter is able
+to process all events for all widgets, so it's just as powerful as
+reimplementing <a href="#notify">notify</a>(); furthermore, it's possible to have more
+than one application-global event filter. Global event filters even
+see mouse events for <a href="qwidget.html#isEnabled">disabled
+ widgets,</a> and if <a href="#setGlobalMouseTracking">global mouse
+ tracking</a> is enabled, as well as mouse move events for all
+widgets.
+<p> <li> Reimplementing <a href="qobject.html#event">QObject::event</a>() (as <a href="qwidget.html">QWidget</a> does). If you do
+this you get Tab key presses, and you get to see the events before
+any widget-specific event filters.
+<p> <li> Installing an event filter on the object. Such an event filter
+gets all the events except Tab and Shift-Tab key presses.
+<p> <li> Reimplementing paintEvent(), mousePressEvent() and so
+on. This is the commonest, easiest and least powerful way.
+</ol>
+<p> <p>See also <a href="qobject.html#event">QObject::event</a>() and <a href="qobject.html#installEventFilter">installEventFilter</a>().
+
+<h3 class=fn><a href="qcursor.html">QCursor</a>&nbsp;* <a name="overrideCursor"></a>QApplication::overrideCursor ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the active application override cursor.
+<p> This function returns 0 if no application cursor has been defined
+(i.e. the internal cursor stack is empty).
+<p> <p>See also <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#restoreOverrideCursor">restoreOverrideCursor</a>().
+
+<h3 class=fn><a href="qpalette.html">QPalette</a> <a name="palette"></a>QApplication::palette ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w = 0 )<tt> [static]</tt>
+</h3>
+Returns the application palette.
+<p> If a widget is passed in <em>w</em>, the default palette for the
+widget's class is returned. This may or may not be the application
+palette. In most cases there isn't a special palette for certain
+types of widgets, but one notable exception is the popup menu under
+Windows, if the user has defined a special background color for
+menus in the display settings.
+<p> <p>See also <a href="#setPalette">setPalette</a>() and <a href="qwidget.html#palette-prop">QWidget::palette</a>.
+
+<p>Examples: <a href="desktop-example.html#x1723">desktop/desktop.cpp</a>, <a href="themes-example.html#x265">themes/metal.cpp</a>, and <a href="themes-example.html#x186">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="polish"></a>QApplication::polish ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Initialization of the appearance of the widget <em>w</em> <em>before</em> it is first
+shown.
+<p> Usually widgets call this automatically when they are polished. It
+may be used to do some style-based central customization of widgets.
+<p> Note that you are not limited to the public functions of <a href="qwidget.html">QWidget</a>.
+Instead, based on meta information like <a href="qobject.html#className">QObject::className</a>() you are
+able to customize any kind of widget.
+<p> <p>See also <a href="qstyle.html#polish">QStyle::polish</a>(), <a href="qwidget.html#polish">QWidget::polish</a>(), <a href="#setPalette">setPalette</a>(), and <a href="#setFont">setFont</a>().
+
+<h3 class=fn>void <a name="postEvent"></a>QApplication::postEvent ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;event )<tt> [static]</tt>
+</h3><p><b>Note:</b> This function is <a href="threads.html#threadsafe">thread-safe</a> when Qt is built withthread support.</p>
+
+Adds the event <em>event</em> with the object <em>receiver</em> as the receiver of the
+event, to an event queue and returns immediately.
+<p> The event must be allocated on the heap since the post event queue
+will take ownership of the event and delete it once it has been posted.
+<p> When control returns to the main event loop, all events that are
+stored in the queue will be sent using the <a href="#notify">notify</a>() function.
+<p>
+<p> <p>See also <a href="#sendEvent">sendEvent</a>() and <a href="#notify">notify</a>().
+
+<h3 class=fn>void <a name="processEvents"></a>QApplication::processEvents ()
+</h3>
+Processes pending events, for 3 seconds or until there are no more
+events to process, whichever is shorter.
+<p> You can call this function occasionally when your program is busy
+performing a long operation (e.g. copying a file).
+<p> <p>See also <a href="#exec">exec</a>(), <a href="qtimer.html">QTimer</a>, and <a href="qeventloop.html#processEvents">QEventLoop::processEvents</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x808">fileiconview/qfileiconview.cpp</a> and <a href="ftpclient-example.html#x778">network/ftpclient/main.cpp</a>.
+<h3 class=fn>void <a name="processEvents-2"></a>QApplication::processEvents ( int&nbsp;maxtime )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Processes pending events for <em>maxtime</em> milliseconds or until
+there are no more events to process, whichever is shorter.
+<p> You can call this function occasionally when you program is busy
+doing a long operation (e.g. copying a file).
+<p> <p>See also <a href="#exec">exec</a>(), <a href="qtimer.html">QTimer</a>, and <a href="qeventloop.html#processEvents">QEventLoop::processEvents</a>().
+
+<h3 class=fn>void <a name="processOneEvent"></a>QApplication::processOneEvent ()
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Waits for an event to occur, processes it, then returns.
+<p> This function is useful for adapting Qt to situations where the
+event processing must be grafted onto existing program loops.
+<p> Using this function in new applications may be an indication of design
+problems.
+<p> <p>See also <a href="#processEvents">processEvents</a>(), <a href="#exec">exec</a>(), and <a href="qtimer.html">QTimer</a>.
+
+<h3 class=fn>void <a name="quit"></a>QApplication::quit ()<tt> [slot]</tt>
+</h3>
+Tells the application to exit with return code 0 (success).
+Equivalent to calling <a href="#exit">QApplication::exit</a>( 0 ).
+<p> It's common to connect the <a href="#lastWindowClosed">lastWindowClosed</a>() signal to <a href="#quit">quit</a>(), and
+you also often connect e.g. <a href="qbutton.html#clicked">QButton::clicked</a>() or signals in
+<a href="qaction.html">QAction</a>, <a href="qpopupmenu.html">QPopupMenu</a> or <a href="qmenubar.html">QMenuBar</a> to it.
+<p> Example:
+<pre>
+ <a href="qpushbutton.html">QPushButton</a> *quitButton = new <a href="qpushbutton.html">QPushButton</a>( "Quit" );
+ <a href="qobject.html#connect">connect</a>( quitButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="#quit">quit</a>()) );
+ </pre>
+
+<p> <p>See also <a href="#exit">exit</a>(), <a href="#aboutToQuit">aboutToQuit</a>(), <a href="#lastWindowClosed">lastWindowClosed</a>(), and <a href="qaction.html">QAction</a>.
+
+<p>Examples: <a href="addressbook-example.html#x609">addressbook/main.cpp</a>, <a href="mdi-example.html#x2097">mdi/main.cpp</a>, <a href="archivesearch-example.html#x488">network/archivesearch/main.cpp</a>, <a href="regexptester-example.html#x2510">regexptester/main.cpp</a>, <a href="tutorial1-02.html#x2288">t2/main.cpp</a>, <a href="tutorial1-04.html#x2304">t4/main.cpp</a>, and <a href="tutorial1-06.html#x2321">t6/main.cpp</a>.
+<h3 class=fn><a href="qwsdecoration.html">QWSDecoration</a>&nbsp;&amp; <a name="qwsDecoration"></a>QApplication::qwsDecoration ()<tt> [static]</tt>
+</h3>
+Return the <a href="qwsdecoration.html">QWSDecoration</a> used for decorating windows.
+<p> This method is non-portable. It is available <em>only</em> in Qt/Embedded.
+<p> <p>See also <a href="qwsdecoration.html">QWSDecoration</a>.
+
+<h3 class=fn>bool <a name="qwsEventFilter"></a>QApplication::qwsEventFilter ( QWSEvent * )<tt> [virtual]</tt>
+</h3>
+This virtual function is only implemented under Qt/Embedded.
+<p> If you create an application that inherits QApplication and
+reimplement this function, you get direct access to all QWS (Q
+Window System) events that the are received from the QWS master
+process.
+<p> Return TRUE if you want to stop the event from being processed.
+Return FALSE for normal event dispatching.
+
+<h3 class=fn>void <a name="qwsSetCustomColors"></a>QApplication::qwsSetCustomColors ( QRgb&nbsp;*&nbsp;colorTable, int&nbsp;start, int&nbsp;numColors )
+</h3>
+Set Qt/Embedded custom color table.
+<p> Qt/Embedded on 8-bpp displays allocates a standard 216 color cube.
+The remaining 40 colors may be used by setting a custom color
+table in the QWS master process before any clients connect.
+<p> <em>colorTable</em> is an array of up to 40 custom colors. <em>start</em> is
+the starting index (0-39) and <em>numColors</em> is the number of colors
+to be set (1-40).
+<p> This method is non-portable. It is available <em>only</em> in
+Qt/Embedded.
+
+<h3 class=fn>void <a name="qwsSetDecoration"></a>QApplication::qwsSetDecoration ( <a href="qwsdecoration.html">QWSDecoration</a>&nbsp;*&nbsp;d )<tt> [static]</tt>
+</h3>
+Set the <a href="qwsdecoration.html">QWSDecoration</a> derived class to use for decorating the
+Qt/Embedded windows to <em>d</em>.
+<p> This method is non-portable. It is available <em>only</em> in
+Qt/Embedded.
+<p> <p>See also <a href="qwsdecoration.html">QWSDecoration</a>.
+
+<h3 class=fn>void <a name="removeLibraryPath"></a>QApplication::removeLibraryPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [static]</tt>
+</h3>
+Removes <em>path</em> from the library path list. If <em>path</em> is empty or not
+in the path list, the list is not changed.
+<p> <p>See also <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#libraryPaths">libraryPaths</a>(), and <a href="#setLibraryPaths">setLibraryPaths</a>().
+
+<h3 class=fn>void <a name="removePostedEvents"></a>QApplication::removePostedEvents ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver )<tt> [static]</tt>
+</h3><p><b>Note:</b> This function is <a href="threads.html#threadsafe">thread-safe</a> when Qt is built withthread support.</p>
+
+Removes all events posted using <a href="#postEvent">postEvent</a>() for <em>receiver</em>.
+<p> The events are <em>not</em> dispatched, instead they are removed from the
+queue. You should never need to call this function. If you do call it,
+be aware that killing events may cause <em>receiver</em> to break one or
+more invariants.
+<p>
+
+<h3 class=fn>void <a name="removeTranslator"></a>QApplication::removeTranslator ( <a href="qtranslator.html">QTranslator</a>&nbsp;*&nbsp;mf )
+</h3>
+Removes the message file <em>mf</em> from the list of message files used by
+this application. (It does not delete the message file from the file
+system.)
+<p> <p>See also <a href="#installTranslator">installTranslator</a>(), <a href="#translate">translate</a>(), and <a href="qobject.html#tr">QObject::tr</a>().
+
+<p>Example: <a href="i18n-example.html#x1932">i18n/main.cpp</a>.
+<h3 class=fn>void <a name="restoreOverrideCursor"></a>QApplication::restoreOverrideCursor ()<tt> [static]</tt>
+</h3>
+Undoes the last <a href="#setOverrideCursor">setOverrideCursor</a>().
+<p> If setOverrideCursor() has been called twice, calling
+<a href="#restoreOverrideCursor">restoreOverrideCursor</a>() will activate the first cursor set.
+Calling this function a second time restores the original widgets'
+cursors.
+<p> <p>See also <a href="#setOverrideCursor">setOverrideCursor</a>() and <a href="#overrideCursor">overrideCursor</a>().
+
+<p>Examples: <a href="distributor-example.html#x2652">distributor/distributor.ui.h</a>, <a href="archivesearch-example.html#x473">network/archivesearch/archivedialog.ui.h</a>, <a href="ftpclient-example.html#x737">network/ftpclient/ftpmainwindow.ui.h</a>, and <a href="showimg-example.html#x1311">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="reverseLayout"></a>QApplication::reverseLayout ()<tt> [static]</tt>
+</h3>
+Returns TRUE if all dialogs and widgets will be laid out in a
+mirrored (right to left) fashion. Returns FALSE if dialogs and
+widgets will be laid out left to right.
+<p> <p>See also <a href="#setReverseLayout">setReverseLayout</a>().
+
+<h3 class=fn>void <a name="saveState"></a>QApplication::saveState ( <a href="qsessionmanager.html">QSessionManager</a>&nbsp;&amp;&nbsp;sm )<tt> [virtual]</tt>
+</h3>
+
+<p> This function deals with <a href="session.html">session
+ management</a>. It is invoked when the
+<a href="qsessionmanager.html">session manager</a> wants the application
+to preserve its state for a future session.
+<p> For example, a text editor would create a temporary file that
+includes the current contents of its edit buffers, the location of
+the cursor and other aspects of the current editing session.
+<p> Note that you should never exit the application within this
+function. Instead, the session manager may or may not do this
+afterwards, depending on the context. Futhermore, most session
+managers will very likely request a saved state immediately after
+the application has been started. This permits the session manager
+to learn about the application's restart policy.
+<p> <b>Warning:</b> Within this function, no user interaction is possible, <em>unless</em> you ask the session manager <em>sm</em> for explicit permission.
+See <a href="qsessionmanager.html#allowsInteraction">QSessionManager::allowsInteraction</a>() and
+<a href="qsessionmanager.html#allowsErrorInteraction">QSessionManager::allowsErrorInteraction</a>() for details.
+<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="session.html">the Session Management overview</a>.
+
+<h3 class=fn>bool <a name="sendEvent"></a>QApplication::sendEvent ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;event )<tt> [static]</tt>
+</h3>
+
+<p> Sends event <em>event</em> directly to receiver <em>receiver</em>, using the
+<a href="#notify">notify</a>() function. Returns the value that was returned from the event
+handler.
+<p> The event is <em>not</em> deleted when the event has been sent. The normal
+approach is to create the event on the stack, e.g.
+<pre>
+ <a href="qmouseevent.html">QMouseEvent</a> me( QEvent::MouseButtonPress, pos, 0, 0 );
+ QApplication::<a href="#sendEvent">sendEvent</a>( mainWindow, &amp;me );
+ </pre>
+
+If you create the event on the heap you must delete it.
+<p> <p>See also <a href="#postEvent">postEvent</a>() and <a href="#notify">notify</a>().
+
+<p>Example: <a href="popup-example.html#x1602">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="sendPostedEvents"></a>QApplication::sendPostedEvents ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, int&nbsp;event_type )<tt> [static]</tt>
+</h3>
+Immediately dispatches all events which have been previously queued
+with <a href="#postEvent">QApplication::postEvent</a>() and which are for the object <em>receiver</em>
+and have the event type <em>event_type</em>.
+<p> Note that events from the window system are <em>not</em> dispatched by this
+function, but by <a href="#processEvents">processEvents</a>().
+<p> If <em>receiver</em> is null, the events of <em>event_type</em> are sent for all
+objects. If <em>event_type</em> is 0, all the events are sent for <em>receiver</em>.
+
+<h3 class=fn>void <a name="sendPostedEvents-2"></a>QApplication::sendPostedEvents ()<tt> [static]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Dispatches all posted events, i.e. empties the event queue.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionId"></a>QApplication::sessionId () const
+</h3>
+
+<p> Returns the current <a href="session.html">session's</a> identifier.
+<p> If the application has been restored from an earlier session, this
+identifier is the same as it was in that previous session.
+<p> The session identifier is guaranteed to be unique both for different
+applications and for different instances of the same application.
+<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionKey">sessionKey</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionKey"></a>QApplication::sessionKey () const
+</h3>
+
+<p> Returns the session key in the current <a href="session.html">session</a>.
+<p> If the application has been restored from an earlier session, this
+key is the same as it was when the previous session ended.
+<p> The session key changes with every call of <a href="#commitData">commitData</a>() or
+<a href="#saveState">saveState</a>().
+<p> <p>See also <a href="#isSessionRestored">isSessionRestored</a>(), <a href="#sessionId">sessionId</a>(), <a href="#commitData">commitData</a>(), and <a href="#saveState">saveState</a>().
+
+<h3 class=fn>void <a name="setColorSpec"></a>QApplication::setColorSpec ( int&nbsp;spec )<tt> [static]</tt>
+</h3>
+Sets the color specification for the application to <em>spec</em>.
+<p> The color specification controls how the application allocates colors
+when run on a display with a limited amount of colors, e.g. 8 bit / 256
+color displays.
+<p> The color specification must be set before you create the QApplication
+object.
+<p> The options are:
+<ul>
+<li> QApplication::NormalColor.
+This is the default color allocation strategy. Use this option if
+your application uses buttons, menus, texts and pixmaps with few
+colors. With this option, the application uses system global
+colors. This works fine for most applications under X11, but on
+Windows machines it may cause dithering of non-standard colors.
+<li> QApplication::CustomColor.
+Use this option if your application needs a small number of custom
+colors. On X11, this option is the same as NormalColor. On Windows, Qt
+creates a Windows palette, and allocates colors to it on demand.
+<li> QApplication::ManyColor.
+Use this option if your application is very color hungry
+(e.g. it requires thousands of colors).
+Under X11 the effect is:
+<ul>
+<li> For 256-color displays which have at best a 256 color true color
+visual, the default visual is used, and colors are allocated
+from a color cube. The color cube is the 6x6x6 (216 color) "Web
+palette"<sup>*</sup>, but the number of colors can be changed
+by the <em>-ncols</em> option. The user can force the application to
+use the true color visual with the <a href="#QApplication">-visual</a> option.
+<li> For 256-color displays which have a true color visual with more
+than 256 colors, use that visual. Silicon Graphics X servers
+have this feature, for example. They provide an 8 bit visual
+by default but can deliver true color when asked.
+</ul>
+On Windows, Qt creates a Windows palette, and fills it with a color cube.
+</ul>
+<p> Be aware that the CustomColor and ManyColor choices may lead to colormap
+flashing: The foreground application gets (most) of the available
+colors, while the background windows will look less attractive.
+<p> Example:
+<pre>
+ int main( int argc, char **argv )
+ {
+ QApplication::<a href="#setColorSpec">setColorSpec</a>( QApplication::<a href="#ColorSpec-enum">ManyColor</a> );
+ QApplication a( argc, argv );
+ ...
+ }
+ </pre>
+
+<p> <a href="qcolor.html">QColor</a> provides more functionality for controlling color allocation and
+freeing up certain colors. See <a href="qcolor.html#enterAllocContext">QColor::enterAllocContext</a>() for more
+information.
+<p> To check what mode you end up with, call <a href="qcolor.html#numBitPlanes">QColor::numBitPlanes</a>() once
+the QApplication object exists. A value greater than 8 (typically
+16, 24 or 32) means true color.
+<p> <sup>*</sup> The color cube used by Qt has 216 colors whose red,
+green, and blue components always have one of the following values:
+0x00, 0x33, 0x66, 0x99, 0xCC, or 0xFF.
+<p> <p>See also <a href="#colorSpec">colorSpec</a>(), <a href="qcolor.html#numBitPlanes">QColor::numBitPlanes</a>(), and <a href="qcolor.html#enterAllocContext">QColor::enterAllocContext</a>().
+
+<p>Examples: <a href="helpviewer-example.html#x1041">helpviewer/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2732">opengl/main.cpp</a>, <a href="showimg-example.html#x1361">showimg/main.cpp</a>, <a href="tutorial1-09.html#x2347">t9/main.cpp</a>, <a href="qaxserver-example-tetrax.html#x2716">tetrax/tetrax.cpp</a>, <a href="tetrix-example.html#x354">tetrix/tetrix.cpp</a>, and <a href="themes-example.html#x348">themes/main.cpp</a>.
+<h3 class=fn>void <a name="setCursorFlashTime"></a>QApplication::setCursorFlashTime ( int&nbsp;msecs )<tt> [static]</tt>
+</h3>
+Sets the text cursor's flash (blink) time to <em>msecs</em>
+milliseconds. The flash time is the time required to display,
+invert and restore the caret display. Usually the text cursor is
+displayed for <em>msecs/2</em> milliseconds, then hidden for <em>msecs/2</em>
+milliseconds, but this may vary.
+<p> Note that on Microsoft Windows, calling this function sets the
+cursor flash time for all windows.
+<p> <p>See also <a href="#cursorFlashTime">cursorFlashTime</a>().
+
+<h3 class=fn>void <a name="setDefaultCodec"></a>QApplication::setDefaultCodec ( <a href="qtextcodec.html">QTextCodec</a>&nbsp;*&nbsp;codec )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is the same as <a href="qtextcodec.html#setCodecForTr">QTextCodec::setCodecForTr</a>().
+
+<h3 class=fn>void <a name="setDesktopSettingsAware"></a>QApplication::setDesktopSettingsAware ( bool&nbsp;on )<tt> [static]</tt>
+</h3>
+By default, Qt will try to use the current standard colors, fonts
+etc., from the underlying window system's desktop settings,
+and use them for all relevant widgets. This behavior can be switched off
+by calling this function with <em>on</em> set to FALSE.
+<p> This static function must be called before creating the QApplication
+object, like this:
+<p> <pre>
+ int main( int argc, char** argv ) {
+ QApplication::<a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>( FALSE ); // I know better than the user
+ QApplication myApp( argc, argv ); // Use default fonts &amp; colors
+ ...
+ }
+ </pre>
+
+<p> <p>See also <a href="#desktopSettingsAware">desktopSettingsAware</a>().
+
+<h3 class=fn>void <a name="setDoubleClickInterval"></a>QApplication::setDoubleClickInterval ( int&nbsp;ms )<tt> [static]</tt>
+</h3>
+Sets the time limit that distinguishes a double click from two
+consecutive mouse clicks to <em>ms</em> milliseconds.
+<p> Note that on Microsoft Windows, calling this function sets the
+double click interval for all windows.
+<p> <p>See also <a href="#doubleClickInterval">doubleClickInterval</a>().
+
+<h3 class=fn>void <a name="setEffectEnabled"></a>QApplication::setEffectEnabled ( <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>&nbsp;effect, bool&nbsp;enable = TRUE )<tt> [static]</tt>
+</h3>
+Enables the UI effect <em>effect</em> if <em>enable</em> is TRUE, otherwise
+the effect will not be used.
+<p> Note: All effects are disabled on screens running at less than
+16-bit color depth.
+<p> <p>See also <a href="#isEffectEnabled">isEffectEnabled</a>(), <a href="qt.html#UIEffect-enum">Qt::UIEffect</a>, and <a href="#setDesktopSettingsAware">setDesktopSettingsAware</a>().
+
+<h3 class=fn>void <a name="setFont"></a>QApplication::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, bool&nbsp;informWidgets = FALSE, const&nbsp;char&nbsp;*&nbsp;className = 0 )<tt> [static]</tt>
+</h3> Changes the default application font to <em>font</em>. If <em>informWidgets</em> is TRUE, then existing widgets are informed about the
+change and may adjust themselves to the new application
+setting. If <em>informWidgets</em> is FALSE, the change only affects newly
+created widgets. If <em>className</em> is passed, the change applies only
+to classes that inherit <em>className</em> (as reported by
+<a href="qobject.html#inherits">QObject::inherits</a>()).
+<p> On application start-up, the default font depends on the window
+system. It can vary depending on both the window system version and
+the locale. This function lets you override the default font; but
+overriding may be a bad idea because, for example, some locales need
+extra-large fonts to support their special characters.
+<p> <p>See also <a href="#font">font</a>(), <a href="#fontMetrics">fontMetrics</a>(), and <a href="qwidget.html#font-prop">QWidget::font</a>.
+
+<p>Examples: <a href="desktop-example.html#x1724">desktop/desktop.cpp</a>, <a href="themes-example.html#x266">themes/metal.cpp</a>, and <a href="themes-example.html#x323">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="setGlobalMouseTracking"></a>QApplication::setGlobalMouseTracking ( bool&nbsp;enable )<tt> [static]</tt>
+</h3>
+Enables global mouse tracking if <em>enable</em> is TRUE, or disables it
+if <em>enable</em> is FALSE.
+<p> Enabling global mouse tracking makes it possible for widget event
+filters or application event filters to get all mouse move events,
+even when no button is depressed. This is useful for special GUI
+elements, e.g. tooltips.
+<p> Global mouse tracking does not affect widgets and their
+mouseMoveEvent(). For a widget to get mouse move events when no
+button is depressed, it must do <a href="qwidget.html#setMouseTracking">QWidget::setMouseTracking</a>(TRUE).
+<p> This function uses an internal counter. Each
+<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>(TRUE) must have a corresponding
+setGlobalMouseTracking(FALSE):
+<pre>
+ // at this point global mouse tracking is off
+ QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( TRUE );
+ QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( TRUE );
+ QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( FALSE );
+ // at this point it's still on
+ QApplication::<a href="#setGlobalMouseTracking">setGlobalMouseTracking</a>( FALSE );
+ // but now it's off
+ </pre>
+
+<p> <p>See also <a href="#hasGlobalMouseTracking">hasGlobalMouseTracking</a>() and <a href="qwidget.html#mouseTracking-prop">QWidget::mouseTracking</a>.
+
+<h3 class=fn>void <a name="setGlobalStrut"></a>QApplication::setGlobalStrut ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;strut )<tt> [static]</tt>
+</h3>
+Sets the application's global strut to <em>strut</em>.
+<p> The strut is a size object whose dimensions are the minimum that any
+GUI element that the user can interact with should have. For example
+no button should be resized to be smaller than the global strut size.
+<p> The strut size should be considered when reimplementing GUI controls
+that may be used on touch-screens or similar IO-devices.
+<p> Example:
+<pre>
+ QSize&amp; WidgetClass::sizeHint() const
+ {
+ return QSize( 80, 25 ).expandedTo( QApplication::<a href="#globalStrut">globalStrut</a>() );
+ }
+ </pre>
+
+<p> <p>See also <a href="#globalStrut">globalStrut</a>().
+
+<h3 class=fn>void <a name="setLibraryPaths"></a>QApplication::setLibraryPaths ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;paths )<tt> [static]</tt>
+</h3>
+Sets the list of directories to search when loading libraries to <em>paths</em>.
+All existing paths will be deleted and the path list will consist of the
+paths given in <em>paths</em>.
+<p> <p>See also <a href="#libraryPaths">libraryPaths</a>(), <a href="#addLibraryPath">addLibraryPath</a>(), <a href="#removeLibraryPath">removeLibraryPath</a>(), and <a href="qlibrary.html">QLibrary</a>.
+
+<h3 class=fn>void <a name="setMainWidget"></a>QApplication::setMainWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;mainWidget )<tt> [virtual]</tt>
+</h3>
+Sets the application's main widget to <em>mainWidget</em>.
+<p> In most respects the main widget is like any other widget, except
+that if it is closed, the application exits. Note that
+QApplication does <em>not</em> take ownership of the <em>mainWidget</em>, so
+if you create your main widget on the heap you must delete it
+yourself.
+<p> You need not have a main widget; connecting <a href="#lastWindowClosed">lastWindowClosed</a>() to
+<a href="#quit">quit</a>() is an alternative.
+<p> For X11, this function also resizes and moves the main widget
+according to the <em>-geometry</em> command-line option, so you should
+set the default geometry (using <a href="qwidget.html#setGeometry">QWidget::setGeometry</a>()) before
+calling <a href="#setMainWidget">setMainWidget</a>().
+<p> <p>See also <a href="#mainWidget">mainWidget</a>(), <a href="#exec">exec</a>(), and <a href="#quit">quit</a>().
+
+<p>Examples: <a href="tutorial2-04.html#x2560">chart/main.cpp</a>, <a href="helpsystem-example.html#x2701">helpsystem/main.cpp</a>, <a href="qdialog.html#x2133">life/main.cpp</a>, <a href="ftpclient-example.html#x779">network/ftpclient/main.cpp</a>, <a href="qaxserver-example-opengl.html#x2733">opengl/main.cpp</a>, <a href="tutorial1-01.html#x2284">t1/main.cpp</a>, and <a href="tutorial1-04.html#x2305">t4/main.cpp</a>.
+<h3 class=fn>void <a name="setOverrideCursor"></a>QApplication::setOverrideCursor ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;cursor, bool&nbsp;replace = FALSE )<tt> [static]</tt>
+</h3>
+Sets the application override cursor to <em>cursor</em>.
+<p> Application override cursors are intended for showing the user
+that the application is in a special state, for example during an
+operation that might take some time.
+<p> This cursor will be displayed in all the application's widgets
+until <a href="#restoreOverrideCursor">restoreOverrideCursor</a>() or another <a href="#setOverrideCursor">setOverrideCursor</a>() is
+called.
+<p> Application cursors are stored on an internal stack.
+setOverrideCursor() pushes the cursor onto the stack, and
+restoreOverrideCursor() pops the active cursor off the stack.
+Every setOverrideCursor() must eventually be followed by a
+corresponding restoreOverrideCursor(), otherwise the stack will
+never be emptied.
+<p> If <em>replace</em> is TRUE, the new cursor will replace the last
+override cursor (the stack keeps its depth). If <em>replace</em> is
+FALSE, the new stack is pushed onto the top of the stack.
+<p> Example:
+<pre>
+ QApplication::<a href="#setOverrideCursor">setOverrideCursor</a>( QCursor(Qt::<a href="qt.html#CursorShape-enum">WaitCursor</a>) );
+ calculateHugeMandelbrot(); // lunch time...
+ QApplication::<a href="#restoreOverrideCursor">restoreOverrideCursor</a>();
+ </pre>
+
+<p> <p>See also <a href="#overrideCursor">overrideCursor</a>(), <a href="#restoreOverrideCursor">restoreOverrideCursor</a>(), and <a href="qwidget.html#cursor-prop">QWidget::cursor</a>.
+
+<p>Examples: <a href="distributor-example.html#x2653">distributor/distributor.ui.h</a>, <a href="archivesearch-example.html#x474">network/archivesearch/archivedialog.ui.h</a>, <a href="ftpclient-example.html#x738">network/ftpclient/ftpmainwindow.ui.h</a>, and <a href="showimg-example.html#x1312">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="setPalette"></a>QApplication::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;palette, bool&nbsp;informWidgets = FALSE, const&nbsp;char&nbsp;*&nbsp;className = 0 )<tt> [static]</tt>
+</h3>
+Changes the default application palette to <em>palette</em>. If <em>informWidgets</em> is TRUE, then existing widgets are informed about the
+change and may adjust themselves to the new application
+setting. If <em>informWidgets</em> is FALSE, the change only affects newly
+created widgets.
+<p> If <em>className</em> is passed, the change applies only to widgets that
+inherit <em>className</em> (as reported by <a href="qobject.html#inherits">QObject::inherits</a>()). If
+<em>className</em> is left 0, the change affects all widgets, thus overriding
+any previously set class specific palettes.
+<p> The palette may be changed according to the current GUI style in
+<a href="qstyle.html#polish">QStyle::polish</a>().
+<p> <p>See also <a href="qwidget.html#palette-prop">QWidget::palette</a>, <a href="#palette">palette</a>(), and <a href="qstyle.html#polish">QStyle::polish</a>().
+
+<p>Examples: <a href="i18n-example.html#x1934">i18n/main.cpp</a>, <a href="themes-example.html#x267">themes/metal.cpp</a>, <a href="themes-example.html#x324">themes/themes.cpp</a>, and <a href="themes-example.html#x187">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setReverseLayout"></a>QApplication::setReverseLayout ( bool&nbsp;b )<tt> [static]</tt>
+</h3>
+If <em>b</em> is TRUE, all dialogs and widgets will be laid out in a
+mirrored fashion, as required by right to left languages such as
+Arabic and Hebrew. If <em>b</em> is FALSE, dialogs and widgets are laid
+out left to right.
+<p> Changing this flag in runtime does not cause a relayout of already
+instantiated widgets.
+<p> <p>See also <a href="#reverseLayout">reverseLayout</a>().
+
+<h3 class=fn>void <a name="setStartDragDistance"></a>QApplication::setStartDragDistance ( int&nbsp;l )<tt> [static]</tt>
+</h3>
+Sets the distance after which a drag should start to <em>l</em> pixels.
+<p> <p>See also <a href="#startDragDistance">startDragDistance</a>().
+
+<h3 class=fn>void <a name="setStartDragTime"></a>QApplication::setStartDragTime ( int&nbsp;ms )<tt> [static]</tt>
+</h3>
+Sets the time after which a drag should start to <em>ms</em> ms.
+<p> <p>See also <a href="#startDragTime">startDragTime</a>().
+
+<h3 class=fn>void <a name="setStyle"></a>QApplication::setStyle ( <a href="qstyle.html">QStyle</a>&nbsp;*&nbsp;style )<tt> [static]</tt>
+</h3>
+Sets the application's GUI style to <em>style</em>. Ownership of the style
+object is transferred to QApplication, so QApplication will delete
+the style object on application exit or when a new style is set.
+<p> Example usage:
+<pre>
+ QApplication::<a href="#setStyle">setStyle</a>( new <a href="qwindowsstyle.html">QWindowsStyle</a> );
+ </pre>
+
+<p> When switching application styles, the color palette is set back to
+the initial colors or the system defaults. This is necessary since
+certain styles have to adapt the color palette to be fully
+style-guide compliant.
+<p> <p>See also <a href="#style">style</a>(), <a href="qstyle.html">QStyle</a>, <a href="#setPalette">setPalette</a>(), and <a href="#desktopSettingsAware">desktopSettingsAware</a>().
+
+<p>Example: <a href="themes-example.html#x325">themes/themes.cpp</a>.
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;* <a name="setStyle-2"></a>QApplication::setStyle ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Requests a <a href="qstyle.html">QStyle</a> object for <em>style</em> from the <a href="qstylefactory.html">QStyleFactory</a>.
+<p> The string must be one of the <a href="qstylefactory.html#keys">QStyleFactory::keys</a>(), typically one
+of "windows", "motif", "cde", "motifplus", "platinum", "sgi" and
+"compact". Depending on the platform, "windowsxp", "aqua" or
+"macintosh" may be available.
+<p> A later call to the QApplication constructor will override the
+requested style when a "-style" option is passed in as a commandline
+parameter.
+<p> Returns 0 if an unknown <em>style</em> is passed, otherwise the QStyle object
+returned is set as the application's GUI style.
+
+<h3 class=fn>void <a name="setWheelScrollLines"></a>QApplication::setWheelScrollLines ( int&nbsp;n )<tt> [static]</tt>
+</h3>
+Sets the number of lines to scroll when the mouse wheel is rotated
+to <em>n</em>.
+<p> If this number exceeds the number of visible lines in a certain
+widget, the widget should interpret the scroll operation as a
+single page up / page down operation instead.
+<p> <p>See also <a href="#wheelScrollLines">wheelScrollLines</a>().
+
+<h3 class=fn>void <a name="setWinStyleHighlightColor"></a>QApplication::setWinStyleHighlightColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [static]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the color used to mark selections in windows style for all widgets
+in the application. Will repaint all widgets if the color is changed.
+<p> The default color is <tt>darkBlue</tt>.
+<p>See also <a href="#winStyleHighlightColor">winStyleHighlightColor</a>().
+
+<h3 class=fn>int <a name="startDragDistance"></a>QApplication::startDragDistance ()<tt> [static]</tt>
+</h3>
+If you support drag and drop in you application and a drag should
+start after a mouse click and after moving the mouse a certain
+distance, you should use the value which this method returns as the
+distance.
+<p> For example, if the mouse position of the click is stored in <tt>startPos</tt> and the current position (e.g. in the mouse move event) is
+<tt>currPos</tt>, you can find out if a drag should be started with code
+like this:
+<pre>
+ if ( ( startPos - currPos ).manhattanLength() &gt;
+ QApplication::<a href="#startDragDistance">startDragDistance</a>() )
+ startTheDrag();
+ </pre>
+
+<p> Qt uses this value internally, e.g. in <a href="qfiledialog.html">QFileDialog</a>.
+<p> The default value is 4 pixels.
+<p> <p>See also <a href="#setStartDragDistance">setStartDragDistance</a>(), <a href="#startDragTime">startDragTime</a>(), and <a href="qpoint.html#manhattanLength">QPoint::manhattanLength</a>().
+
+<h3 class=fn>int <a name="startDragTime"></a>QApplication::startDragTime ()<tt> [static]</tt>
+</h3>
+If you support drag and drop in you application and a drag should
+start after a mouse click and after a certain time elapsed, you
+should use the value which this method returns as the delay (in ms).
+<p> Qt also uses this delay internally, e.g. in <a href="qtextedit.html">QTextEdit</a> and <a href="qlineedit.html">QLineEdit</a>,
+for starting a drag.
+<p> The default value is 500 ms.
+<p> <p>See also <a href="#setStartDragTime">setStartDragTime</a>() and <a href="#startDragDistance">startDragDistance</a>().
+
+<h3 class=fn>bool <a name="startingUp"></a>QApplication::startingUp ()<tt> [static]</tt>
+</h3>
+Returns TRUE if an application object has not been created yet;
+otherwise returns FALSE.
+<p> <p>See also <a href="#closingDown">closingDown</a>().
+
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;&amp; <a name="style"></a>QApplication::style ()<tt> [static]</tt>
+</h3>
+Returns the application's style object.
+<p> <p>See also <a href="#setStyle">setStyle</a>() and <a href="qstyle.html">QStyle</a>.
+
+<h3 class=fn>void <a name="syncX"></a>QApplication::syncX ()<tt> [static]</tt>
+</h3>
+Synchronizes with the X server in the X11 implementation. This
+normally takes some time. Does nothing on other platforms.
+<p> <p>See also <a href="#flushX">flushX</a>().
+
+<h3 class=fn>QWidgetList * <a name="topLevelWidgets"></a>QApplication::topLevelWidgets ()<tt> [static]</tt>
+</h3>
+Returns a list of the top level widgets in the application.
+<p> The list is created using <tt>new</tt> and must be deleted by the caller.
+<p> The list is empty (<a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>()) if there are no top level
+widgets.
+<p> Note that some of the top level widgets may be hidden, for example
+the tooltip if no tooltip is currently shown.
+<p> Example:
+<pre>
+ // Show all hidden top level widgets.
+ QWidgetList *list = QApplication::<a href="#topLevelWidgets">topLevelWidgets</a>();
+ QWidgetListIt it( *list ); // iterate over the widgets
+ <a href="qwidget.html">QWidget</a> * w;
+ while ( (w=it.current()) != 0 ) { // for each top level widget...
+ ++it;
+ if ( !w-&gt;<a href="qwidget.html#isVisible">isVisible</a>() )
+ w-&gt;<a href="qwidget.html#show">show</a>();
+ }
+ delete list; // delete the list, not the widgets
+ </pre>
+
+<p> <b>Warning:</b> Delete the list as soon you have finished using it.
+The widgets in the list may be deleted by someone else at any time.
+<p> <p>See also <a href="#allWidgets">allWidgets</a>(), <a href="qwidget.html#isTopLevel-prop">QWidget::isTopLevel</a>, <a href="qwidget.html#visible-prop">QWidget::visible</a>, and <a href="qptrlist.html#isEmpty">QPtrList::isEmpty</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="translate"></a>QApplication::translate ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0, <a href="qapplication.html#Encoding-enum">Encoding</a>&nbsp;encoding = DefaultCodec ) const
+</h3><p><b>Note:</b> This function is <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+
+Returns the translation text for <em>sourceText</em>, by querying the
+installed messages files. The message files are searched from the most
+recently installed message file back to the first installed message
+file.
+<p> <a href="qobject.html#tr">QObject::tr</a>() and <a href="qobject.html#trUtf8">QObject::trUtf8</a>() provide this functionality more
+conveniently.
+<p> <em>context</em> is typically a class name (e.g., "MyDialog") and
+<em>sourceText</em> is either English text or a short identifying text, if
+the output text will be very long (as for help texts).
+<p> <em>comment</em> is a disambiguating comment, for when the same <em>sourceText</em> is used in different roles within the same context. By
+default, it is null. <em>encoding</em> indicates the 8-bit encoding of
+character stings
+<p> See the <a href="qtranslator.html">QTranslator</a> documentation for more information about
+contexts and comments.
+<p> If none of the message files contain a translation for <em>sourceText</em> in <em>context</em>, this function returns a <a href="qstring.html">QString</a>
+equivalent of <em>sourceText</em>. The encoding of <em>sourceText</em> is
+specified by <em>encoding</em>; it defaults to <a href="#Encoding-enum">DefaultCodec</a>.
+<p> This function is not virtual. You can use alternative translation
+techniques by subclassing <a href="qtranslator.html">QTranslator</a>.
+<p> <b>Warning:</b> This method is reentrant only if all translators are
+installed <em>before</em> calling this method. Installing or removing
+translators while performing translations is not supported. Doing
+so will most likely result in crashes or other undesirable behavior.
+<p> <p>See also <a href="qobject.html#tr">QObject::tr</a>(), <a href="#installTranslator">installTranslator</a>(), and <a href="#defaultCodec">defaultCodec</a>().
+
+<h3 class=fn>bool <a name="tryLock"></a>QApplication::tryLock ()
+</h3>
+<p> Attempts to lock the Qt Library Mutex, and returns immediately. If
+the lock was obtained, this function returns TRUE. If another thread
+has locked the mutex, this function returns FALSE, instead of
+waiting for the lock to become available.
+<p> The mutex must be unlocked with <a href="#unlock">unlock</a>() before another thread can
+successfully lock it.
+<p> <p>See also <a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), and <a href="threads.html">Thread Support in Qt</a>.
+
+<h3 class=fn><a href="qapplication.html#Type-enum">Type</a> <a name="type"></a>QApplication::type () const
+</h3>
+Returns the type of application, Tty, GuiClient or GuiServer.
+
+<h3 class=fn>void <a name="unlock"></a>QApplication::unlock ( bool&nbsp;wakeUpGui = TRUE )
+</h3>
+<p> Unlock the Qt Library Mutex. If <em>wakeUpGui</em> is TRUE (the default),
+then the GUI thread will be woken with <a href="#wakeUpGuiThread">QApplication::wakeUpGuiThread</a>().
+<p> <p>See also <a href="#lock">lock</a>(), <a href="#locked">locked</a>(), and <a href="threads.html">Thread Support in Qt</a>.
+
+<h3 class=fn>void <a name="wakeUpGuiThread"></a>QApplication::wakeUpGuiThread ()
+</h3>
+<p> Wakes up the GUI thread.
+<p> <p>See also <a href="#guiThreadAwake">guiThreadAwake</a>() and <a href="threads.html">Thread Support in Qt</a>.
+
+<h3 class=fn>int <a name="wheelScrollLines"></a>QApplication::wheelScrollLines ()<tt> [static]</tt>
+</h3>
+Returns the number of lines to scroll when the mouse wheel is
+rotated.
+<p> <p>See also <a href="#setWheelScrollLines">setWheelScrollLines</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widgetAt"></a>QApplication::widgetAt ( int&nbsp;x, int&nbsp;y, bool&nbsp;child = FALSE )<tt> [static]</tt>
+</h3>
+Returns a pointer to the widget at global screen position <em>(x, y)</em>, or 0 if there is no Qt widget there.
+<p> If <em>child</em> is FALSE and there is a child widget at position <em>(x, y)</em>, the top-level widget containing it is returned. If <em>child</em>
+is TRUE the child widget at position <em>(x, y)</em> is returned.
+<p> This function is normally rather slow.
+<p> <p>See also <a href="qcursor.html#pos">QCursor::pos</a>(), <a href="qwidget.html#grabMouse">QWidget::grabMouse</a>(), and <a href="qwidget.html#grabKeyboard">QWidget::grabKeyboard</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widgetAt-2"></a>QApplication::widgetAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, bool&nbsp;child = FALSE )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a pointer to the widget at global screen position <em>pos</em>,
+or 0 if there is no Qt widget there.
+<p> If <em>child</em> is FALSE and there is a child widget at position <em>pos</em>, the top-level widget containing it is returned. If <em>child</em>
+is TRUE the child widget at position <em>pos</em> is returned.
+
+<h3 class=fn>bool <a name="winEventFilter"></a>QApplication::winEventFilter ( MSG * )<tt> [virtual]</tt>
+</h3>
+This virtual function is only implemented under Windows.
+<p> The message procedure calls this function for every message
+received. Reimplement this function if you want to process window
+messages that are not processed by Qt. If you don't want
+the event to be processed by Qt, then return TRUE; otherwise
+return FALSE.
+
+<h3 class=fn>void <a name="winFocus"></a>QApplication::winFocus ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, bool&nbsp;gotFocus )
+</h3>
+This function is available only on Windows.
+<p> If <em>gotFocus</em> is TRUE, <em>widget</em> will become the active window.
+Otherwise the active window is reset to NULL.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="winStyleHighlightColor"></a>QApplication::winStyleHighlightColor ()<tt> [static]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the color used to mark selections in windows style.
+<p> <p>See also <a href="#setWinStyleHighlightColor">setWinStyleHighlightColor</a>().
+
+<h3 class=fn>bool <a name="x11EventFilter"></a>QApplication::x11EventFilter ( XEvent * )<tt> [virtual]</tt>
+</h3>
+This virtual function is only implemented under X11.
+<p> If you create an application that inherits QApplication and
+reimplement this function, you get direct access to all X events
+that the are received from the X server.
+<p> Return TRUE if you want to stop the event from being processed.
+Return FALSE for normal event dispatching.
+<p> <p>See also <a href="#x11ProcessEvent">x11ProcessEvent</a>().
+
+<h3 class=fn>int <a name="x11ProcessEvent"></a>QApplication::x11ProcessEvent ( XEvent&nbsp;*&nbsp;event )
+</h3>
+This function does the core processing of individual X
+<em>event</em>s, normally by dispatching Qt events to the right
+destination.
+<p> It returns 1 if the event was consumed by special handling, 0 if
+the <em>event</em> was consumed by normal handling, and -1 if the <em>event</em> was for an unrecognized widget.
+<p> <p>See also <a href="#x11EventFilter">x11EventFilter</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="Q_ASSERT"></a>Q_ASSERT ( bool&nbsp;test )
+</h3>
+
+<p>
+<p> Prints a warning message containing the source code file name and
+line number if <em>test</em> is FALSE.
+<p> This is really a macro defined in <a href="qglobal-h.html">qglobal.h</a>.
+<p> Q_ASSERT is useful for testing pre- and post-conditions.
+<p> Example:
+<pre>
+ //
+ // File: div.cpp
+ //
+
+ #include &lt;<a href="qglobal-h.html">qglobal.h</a>&gt;
+
+ int divide( int a, int b )
+ {
+ <a href="#Q_ASSERT">Q_ASSERT</a>( b != 0 ); // this is line 9
+ return a/b;
+ }
+ </pre>
+
+<p> If <tt>b</tt> is zero, the Q_ASSERT statement will output the following
+message using the <a href="#qWarning">qWarning</a>() function:
+<pre>
+ ASSERT: "b != 0" in div.cpp (9)
+ </pre>
+
+<p> <p>See also <a href="#qWarning">qWarning</a>() and <a href="debug.html">Debugging</a>.
+
+<h3 class=fn>void <a name="Q_CHECK_PTR"></a>Q_CHECK_PTR ( void&nbsp;*&nbsp;p )
+</h3>
+
+<p>
+<p> If <em>p</em> is 0, prints a warning message containing the source code file
+name and line number, saying that the program ran out of memory.
+<p> This is really a macro defined in <a href="qglobal-h.html">qglobal.h</a>.
+<p> Example:
+<pre>
+ int *a;
+
+ <a href="#Q_CHECK_PTR">Q_CHECK_PTR</a>( a = new int[80] ); // WRONG!
+
+ a = new (nothrow) int[80]; // Right
+ <a href="#Q_CHECK_PTR">Q_CHECK_PTR</a>( a );
+ </pre>
+
+<p> <p>See also <a href="#qWarning">qWarning</a>() and <a href="debug.html">Debugging</a>.
+
+<h3 class=fn>void <a name="qAddPostRoutine"></a>qAddPostRoutine ( QtCleanUpFunction&nbsp;p )
+</h3>
+
+<p> Adds a global routine that will be called from the QApplication
+destructor. This function is normally used to add cleanup routines
+for program-wide functionality.
+<p> The function given by <em>p</em> should take no arguments and return
+nothing, like this:
+<pre>
+ static int *global_ptr = 0;
+
+ static void cleanup_ptr()
+ {
+ delete [] global_ptr;
+ global_ptr = 0;
+ }
+
+ void init_ptr()
+ {
+ global_ptr = new int[100]; // allocate data
+ <a href="#qAddPostRoutine">qAddPostRoutine</a>( cleanup_ptr ); // delete later
+ }
+ </pre>
+
+<p> Note that for an application- or module-wide cleanup,
+<a href="#qAddPostRoutine">qAddPostRoutine</a>() is often not suitable. People have a tendency to
+make such modules dynamically loaded, and then unload those modules
+long before the QApplication destructor is called, for example.
+<p> For modules and libraries, using a reference-counted initialization
+manager or Qt' parent-child delete mechanism may be better. Here is
+an example of a private class which uses the parent-child mechanism
+to call a cleanup function at the right time:
+<p> <pre>
+ class MyPrivateInitStuff: public <a href="qobject.html">QObject</a> {
+ private:
+ MyPrivateInitStuff( <a href="qobject.html">QObject</a> * parent ): <a href="qobject.html">QObject</a>( parent) {
+ // initialization goes here
+ }
+ MyPrivateInitStuff * p;
+
+ public:
+ static MyPrivateInitStuff * initStuff( <a href="qobject.html">QObject</a> * parent ) {
+ if ( !p )
+ p = new MyPrivateInitStuff( parent );
+ return p;
+ }
+
+ ~MyPrivateInitStuff() {
+ // cleanup (the "post routine") goes here
+ }
+ }
+ </pre>
+
+<p> By selecting the right parent widget/object, this can often be made
+to clean up the module's data at the exact right moment.
+
+<h3 class=fn>void <a name="qDebug"></a>qDebug ( const&nbsp;char&nbsp;*&nbsp;msg, ... )
+</h3>
+
+<p>
+<p> Prints a debug message <em>msg</em>, or calls the message handler (if it
+has been installed).
+<p> This function takes a format string and a list of arguments,
+similar to the C printf() function.
+<p> Example:
+<pre>
+ <a href="#qDebug">qDebug</a>( "my window handle = %x", myWidget-&gt;id() );
+ </pre>
+
+<p> Under X11, the text is printed to stderr. Under Windows, the text
+is sent to the debugger.
+<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including
+the '&#92;0'-terminator).
+<p> <b>Warning:</b> Passing (const char *)0 as argument to qDebug might lead
+to crashes on certain platforms due to the platforms printf implementation.
+<p> <p>See also <a href="#qWarning">qWarning</a>(), <a href="#qFatal">qFatal</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>.
+
+<h3 class=fn>void <a name="qFatal"></a>qFatal ( const&nbsp;char&nbsp;*&nbsp;msg, ... )
+</h3>
+
+<p>
+<p> Prints a fatal error message <em>msg</em> and exits, or calls the
+message handler (if it has been installed).
+<p> This function takes a format string and a list of arguments,
+similar to the C printf() function.
+<p> Example:
+<pre>
+ int divide( int a, int b )
+ {
+ if ( b == 0 ) // program error
+ <a href="#qFatal">qFatal</a>( "divide: cannot divide by zero" );
+ return a/b;
+ }
+ </pre>
+
+<p> Under X11, the text is printed to stderr. Under Windows, the text
+is sent to the debugger.
+<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including
+the '&#92;0'-terminator).
+<p> <b>Warning:</b> Passing (const char *)0 as argument to qFatal might lead
+to crashes on certain platforms due to the platforms printf implementation.
+<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qWarning">qWarning</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>.
+
+<h3 class=fn>QtMsgHandler <a name="qInstallMsgHandler"></a>qInstallMsgHandler ( QtMsgHandler&nbsp;h )
+</h3>
+
+<p> Installs a Qt message handler <em>h</em>. Returns a pointer to the
+message handler previously defined.
+<p> The message handler is a function that prints out debug messages,
+warnings and fatal error messages. The Qt library (debug version)
+contains hundreds of warning messages that are printed when
+internal errors (usually invalid function arguments) occur. If you
+implement your own message handler, you get total control of these
+messages.
+<p> The default message handler prints the message to the standard
+output under X11 or to the debugger under Windows. If it is a
+fatal message, the application aborts immediately.
+<p> Only one message handler can be defined, since this is usually
+done on an application-wide basis to control debug output.
+<p> To restore the message handler, call <tt>qInstallMsgHandler(0)</tt>.
+<p> Example:
+<pre>
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;stdio.h&gt;
+ #include &lt;stdlib.h&gt;
+
+ void myMessageOutput( QtMsgType type, const char *msg )
+ {
+ switch ( type ) {
+ case QtDebugMsg:
+ fprintf( stderr, "Debug: %s\n", msg );
+ break;
+ case QtWarningMsg:
+ fprintf( stderr, "Warning: %s\n", msg );
+ break;
+ case QtFatalMsg:
+ fprintf( stderr, "Fatal: %s\n", msg );
+ abort(); // deliberately core dump
+ }
+ }
+
+ int main( int argc, char **argv )
+ {
+ <a href="#qInstallMsgHandler">qInstallMsgHandler</a>( myMessageOutput );
+ QApplication a( argc, argv );
+ ...
+ return a.<a href="#exec">exec</a>();
+ }
+ </pre>
+
+<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qWarning">qWarning</a>(), <a href="#qFatal">qFatal</a>(), and <a href="debug.html">Debugging</a>.
+
+<h3 class=fn>bool <a name="qSysInfo"></a>qSysInfo ( int&nbsp;*&nbsp;wordSize, bool&nbsp;*&nbsp;bigEndian )
+</h3>
+
+<p> Obtains information about the system.
+<p> The system's word size in bits (typically 32) is returned in <em>*wordSize</em>. The <em>*bigEndian</em> is set to TRUE if this is a big-endian
+machine, or to FALSE if this is a little-endian machine.
+<p> In debug mode, this function calls <a href="#qFatal">qFatal</a>() with a message if the
+computer is truly weird (i.e. different endianness for 16 bit and
+32 bit integers); in release mode it returns FALSE.
+
+<h3 class=fn>void <a name="qSystemWarning"></a>qSystemWarning ( const&nbsp;char&nbsp;*&nbsp;msg, int&nbsp;code )
+</h3>
+
+<p> Prints the message <em>msg</em> and uses <em>code</em> to get a system specific
+error message. When <em>code</em> is -1 (the default), the system's last
+error code will be used if possible. Use this method to handle
+failures in platform specific API calls.
+<p> This function does nothing when Qt is built with <tt>QT_NO_DEBUG</tt>
+defined.
+
+<h3 class=fn>const char * <a name="qVersion"></a>qVersion ()
+</h3>
+
+<p> Returns the Qt version number as a string, for example, "2.3.0" or
+"3.0.5".
+<p> The <tt>QT_VERSION</tt> define has the numeric value in the form:
+0xmmiibb (m = major, i = minor, b = bugfix). For example, Qt
+3.0.5's <tt>QT_VERSION</tt> is 0x030005.
+
+<h3 class=fn>void <a name="qWarning"></a>qWarning ( const&nbsp;char&nbsp;*&nbsp;msg, ... )
+</h3>
+
+<p>
+<p> Prints a warning message <em>msg</em>, or calls the message handler (if
+it has been installed).
+<p> This function takes a format string and a list of arguments,
+similar to the C printf() function.
+<p> Example:
+<pre>
+ void f( int c )
+ {
+ if ( c &gt; 200 )
+ <a href="#qWarning">qWarning</a>( "f: bad argument, c == %d", c );
+ }
+ </pre>
+
+<p> Under X11, the text is printed to stderr. Under Windows, the text
+is sent to the debugger.
+<p> <b>Warning:</b> The internal buffer is limited to 8196 bytes (including
+the '&#92;0'-terminator).
+<p> <b>Warning:</b> Passing (const char *)0 as argument to qWarning might lead
+to crashes on certain platforms due to the platforms printf implementation.
+<p> <p>See also <a href="#qDebug">qDebug</a>(), <a href="#qFatal">qFatal</a>(), <a href="#qInstallMsgHandler">qInstallMsgHandler</a>(), and <a href="debug.html">Debugging</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qarray.html b/doc/html/qarray.html
new file mode 100644
index 0000000..5f30927
--- /dev/null
+++ b/doc/html/qarray.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QArray Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QArray Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qarray.h&gt;</pre>
+
+<p> The QArray class has been renamed <b> <a href="qmemarray.html">QMemArray</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciicache-h.html b/doc/html/qasciicache-h.html
new file mode 100644
index 0000000..8ad8bde
--- /dev/null
+++ b/doc/html/qasciicache-h.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciicache.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qasciicache.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qasciicache.h</h1>
+
+<p>This is the verbatim text of the qasciicache.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qasciicache.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QAsciiCache template/macro class
+**
+** Created : 950209
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QASCIICACHE_H
+#define QASCIICACHE_H
+
+#ifndef QT_H
+#include "qgcache.h"
+#endif // QT_H
+
+
+template&lt;class type&gt;
+class QAsciiCache
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGCache
+#endif
+{
+public:
+ QAsciiCache( const QAsciiCache&lt;type&gt; &amp;c ) : QGCache(c) {}
+ QAsciiCache( int maxCost=100, int size=17, bool caseSensitive=TRUE,
+ bool copyKeys=TRUE )
+ : QGCache( maxCost, size, AsciiKey, caseSensitive, copyKeys ) {}
+ ~QAsciiCache() { clear(); }
+ QAsciiCache&lt;type&gt; &amp;operator=( const QAsciiCache&lt;type&gt; &amp;c )
+ { return (QAsciiCache&lt;type&gt;&amp;)QGCache::operator=(c); }
+ int maxCost() const { return QGCache::maxCost(); }
+ int totalCost() const { return QGCache::totalCost(); }
+ void setMaxCost( int m ) { QGCache::setMaxCost(m); }
+ uint count() const { return QGCache::count(); }
+ uint size() const { return QGCache::size(); }
+ bool isEmpty() const { return QGCache::count() == 0; }
+ void clear() { QGCache::clear(); }
+ bool insert( const char *k, const type *d, int c=1, int p=0 )
+ { return QGCache::insert_other(k,(Item)d,c,p);}
+ bool remove( const char *k )
+ { return QGCache::remove_other(k); }
+ type *take( const char *k )
+ { return (type *)QGCache::take_other(k); }
+ type *find( const char *k, bool ref=TRUE ) const
+ { return (type *)QGCache::find_other(k,ref);}
+ type *operator[]( const char *k ) const
+ { return (type *)QGCache::find_other(k);}
+ void statistics() const { QGCache::statistics(); }
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QAsciiCache&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QAsciiCache&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+
+template&lt;class type&gt;
+class QAsciiCacheIterator : public QGCacheIterator
+{
+public:
+ QAsciiCacheIterator( const QAsciiCache&lt;type&gt; &amp;c ):QGCacheIterator((QGCache &amp;)c) {}
+ QAsciiCacheIterator( const QAsciiCacheIterator&lt;type&gt; &amp;ci)
+ : QGCacheIterator( (QGCacheIterator &amp;)ci ) {}
+ QAsciiCacheIterator&lt;type&gt; &amp;operator=(const QAsciiCacheIterator&lt;type&gt;&amp;ci)
+ { return ( QAsciiCacheIterator&lt;type&gt;&amp;)QGCacheIterator::operator=( ci ); }
+ uint count() const { return QGCacheIterator::count(); }
+ bool isEmpty() const { return QGCacheIterator::count() == 0; }
+ bool atFirst() const { return QGCacheIterator::atFirst(); }
+ bool atLast() const { return QGCacheIterator::atLast(); }
+ type *toFirst() { return (type *)QGCacheIterator::toFirst(); }
+ type *toLast() { return (type *)QGCacheIterator::toLast(); }
+ operator type *() const { return (type *)QGCacheIterator::get(); }
+ type *current() const { return (type *)QGCacheIterator::get(); }
+ const char *currentKey() const { return QGCacheIterator::getKeyAscii(); }
+ type *operator()() { return (type *)QGCacheIterator::operator()();}
+ type *operator++() { return (type *)QGCacheIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGCacheIterator::operator+=(j);}
+ type *operator--() { return (type *)QGCacheIterator::operator--(); }
+ type *operator-=(uint j) { return (type *)QGCacheIterator::operator-=(j);}
+};
+
+
+#endif // QASCIICACHE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciicache-members.html b/doc/html/qasciicache-members.html
new file mode 100644
index 0000000..3fb13c7
--- /dev/null
+++ b/doc/html/qasciicache-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciicache.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiCache Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAsciiCache</h1>
+
+<p>This is the complete list of member functions for
+<a href="qasciicache.html">QAsciiCache</a>, including inherited members.
+
+<ul>
+<li><a href="qasciicache.html#~QAsciiCache">~QAsciiCache</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qasciicache.html#clear">clear</a>()
+<li><a href="qasciicache.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qasciicache.html#find">find</a>()
+<li><a href="qasciicache.html#insert">insert</a>()
+<li><a href="qasciicache.html#isEmpty">isEmpty</a>()
+<li><a href="qasciicache.html#maxCost">maxCost</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qasciicache.html#operator[]">operator[]</a>()
+<li><a href="qasciicache.html#remove">remove</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qasciicache.html#setMaxCost">setMaxCost</a>()
+<li><a href="qasciicache.html#size">size</a>()
+<li><a href="qasciicache.html#statistics">statistics</a>()
+<li><a href="qasciicache.html#take">take</a>()
+<li><a href="qasciicache.html#totalCost">totalCost</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciicache.html b/doc/html/qasciicache.html
new file mode 100644
index 0000000..4571170
--- /dev/null
+++ b/doc/html/qasciicache.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qasciicache.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiCache Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAsciiCache Class Reference</h1>
+
+<p>The QAsciiCache class is a template class that provides a cache based on char* keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasciicache-h.html">qasciicache.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qasciicache-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAsciiCache-2"><b>QAsciiCache</b></a> ( int&nbsp;maxCost = 100, int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE, bool&nbsp;copyKeys = TRUE )</li>
+<li class=fn><a href="#~QAsciiCache"><b>~QAsciiCache</b></a> ()</li>
+<li class=fn>int <a href="#maxCost"><b>maxCost</b></a> () const</li>
+<li class=fn>int <a href="#totalCost"><b>totalCost</b></a> () const</li>
+<li class=fn>void <a href="#setMaxCost"><b>setMaxCost</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( const&nbsp;char&nbsp;*&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( const&nbsp;char&nbsp;*&nbsp;k )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( const&nbsp;char&nbsp;*&nbsp;k )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( const&nbsp;char&nbsp;*&nbsp;k, bool&nbsp;ref = TRUE ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( const&nbsp;char&nbsp;*&nbsp;k ) const</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QAsciiCache class is a template class that provides a cache based on char* keys.
+<p>
+
+<p> QAsciiCache is implemented as a template class. Define a template
+instance QAsciiCache&lt;X&gt; to create a cache that operates on
+pointers to X (X*).
+<p> A cache is a least recently used (LRU) list of cache items. The
+cache items are accessed via <tt>char*</tt> keys. For Unicode keys use
+the <a href="qcache.html">QCache</a> template instead, which uses <a href="qstring.html">QString</a> keys. A QCache
+has the same performace as a QAsciiCache.
+<p> Each cache item has a cost. The sum of item costs, <a href="#totalCost">totalCost</a>(),
+will not exceed the maximum cache cost, <a href="#maxCost">maxCost</a>(). If inserting a
+new item would cause the total cost to exceed the maximum cost,
+the least recently used items in the cache are removed.
+<p> Apart from <a href="#insert">insert</a>(), by far the most important function is <a href="#find">find</a>()
+(which also exists as <a href="#operator[]">operator[]</a>()). This function looks up an
+item, returns it, and by default marks it as being the most
+recently used item.
+<p> There are also methods to <a href="#remove">remove</a>() or <a href="#take">take</a>() an object from the
+cache. Calling <a href="qptrcollection.html#setAutoDelete">setAutoDelete(TRUE)</a> tells the cache to delete items that
+are removed. The default is to not delete items when then are
+removed (i.e., remove() and take() are equivalent).
+<p> When inserting an item into the cache, only the pointer is copied,
+not the item itself. This is called a <a href="shclass.html#shallow-copy">shallow copy</a>. It is possible
+to make the cache copy all of the item's data (known as a <a href="shclass.html#deep-copy">deep copy</a>) when an item is inserted. insert() calls the virtual
+function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item to be inserted.
+Inherit a cache and reimplement <a href="qptrcollection.html#newItem">newItem</a>() if you want deep copies.
+<p> When removing a cache item the virtual function
+<a href="qptrcollection.html#deleteItem">QPtrCollection::deleteItem</a>() is called. Its default implementation
+in QAsciiCache is to delete the item if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> There is a <a href="qasciicacheiterator.html">QAsciiCacheIterator</a> which may be used to traverse the
+items in the cache in arbitrary order.
+<p> <p>See also <a href="qasciicacheiterator.html">QAsciiCacheIterator</a>, <a href="qcache.html">QCache</a>, <a href="qintcache.html">QIntCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAsciiCache-2"></a>QAsciiCache::QAsciiCache ( int&nbsp;maxCost = 100, int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE, bool&nbsp;copyKeys = TRUE )
+</h3>
+
+<p> Constructs a cache whose contents will never have a total cost
+greater than <em>maxCost</em> and which is expected to contain less than
+<em>size</em> items.
+<p> <em>size</em> is actually the size of an internal hash array; it's
+usually best to make it <a href="primes.html#prime">prime</a> and at least 50% bigger than the
+largest expected number of items in the cache.
+<p> Each inserted item has an associated cost. When inserting a new
+item, if the total cost of all items in the cache will exceed <em>maxCost</em>, the cache will start throwing out the older (least
+recently used) items until there is enough room for the new item
+to be inserted.
+<p> If <em>caseSensitive</em> is TRUE (the default), the cache keys are case
+sensitive; if it is FALSE, they are case-insensitive.
+Case-insensitive comparison only affects the 26 letters in
+US-ASCII. If <em>copyKeys</em> is TRUE (the default), QAsciiCache makes
+a copy of the cache keys, otherwise it copies just the const char
+* pointer - slightly faster if you can guarantee that the keys
+will never change, but very risky.
+
+<h3 class=fn><a name="~QAsciiCache"></a>QAsciiCache::~QAsciiCache ()
+</h3>
+
+<p> Removes all items from the cache and destroys it.
+All iterators that access this cache will be reset.
+
+<h3 class=fn>void <a name="clear"></a>QAsciiCache::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the cache, and deletes them if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> has been
+enabled.
+<p> All cache iterators that operate on this cache are reset.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#take">take</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QAsciiCache::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the cache.
+<p> <p>See also <a href="#totalCost">totalCost</a>() and <a href="#size">size</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QAsciiCache::find ( const&nbsp;char&nbsp;*&nbsp;k, bool&nbsp;ref = TRUE ) const
+</h3>
+
+<p> Returns the item with key <em>k</em>, or 0 if the key does not exist
+in the cache. If <em>ref</em> is TRUE (the default), the item is moved
+to the front of the least recently used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is returned.
+
+<h3 class=fn>bool <a name="insert"></a>QAsciiCache::insert ( const&nbsp;char&nbsp;*&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )
+</h3>
+
+<p> Inserts the item <em>d</em> into the cache using key <em>k</em>, and with an
+associated cost of <em>c</em>. Returns TRUE if the item is successfully
+inserted. Returns FALSE if the item is not inserted, for example,
+if the cost of the item exceeds <a href="#maxCost">maxCost</a>().
+<p> The cache's size is limited, and if the total cost is too high,
+QAsciiCache will remove old, least recently used items until there
+is room for this new item.
+<p> Items with duplicate keys can be inserted.
+<p> The parameter <em>p</em> is internal and should be left at the default
+value (0).
+<p> <b>Warning:</b> If this function returns FALSE, you must delete <em>d</em>
+yourself. Additionally, be very careful about using <em>d</em> after
+calling this function, because any other insertions into the
+cache, from anywhere in the application or within Qt itself, could
+cause the object to be discarded from the cache and the pointer to
+become invalid.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QAsciiCache::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="maxCost"></a>QAsciiCache::maxCost () const
+</h3>
+
+<p> Returns the maximum allowed total cost of the cache.
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>type * <a name="operator[]"></a>QAsciiCache::operator[] ( const&nbsp;char&nbsp;*&nbsp;k ) const
+</h3>
+
+<p> Returns the item with key <em>k</em>, or 0 if <em>k</em> does not exist in
+the cache, and moves the item to the front of the least recently
+used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is returned.
+<p> This is the same as <a href="#find">find</a>( k, TRUE ).
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QAsciiCache::remove ( const&nbsp;char&nbsp;*&nbsp;k )
+</h3>
+
+<p> Removes the item with key <em>k</em> and returns TRUE if the item was
+present in the cache; otherwise returns FALSE.
+<p> The item is deleted if auto-deletion has been enabled, i.e., if
+you have called <a href="qptrcollection.html#setAutoDelete">setAutoDelete(TRUE)</a>.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is removed.
+<p> All iterators that refer to the removed item are set to point to
+the next item in the cache's traversal order.
+<p> <p>See also <a href="#take">take</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setMaxCost"></a>QAsciiCache::setMaxCost ( int&nbsp;m )
+</h3>
+
+<p> Sets the maximum allowed total cost of the cache to <em>m</em>. If the
+current total cost is greater than <em>m</em>, some items are removed
+immediately.
+<p> <p>See also <a href="#maxCost">maxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>uint <a name="size"></a>QAsciiCache::size () const
+</h3>
+
+<p> Returns the size of the hash array used to implement the cache.
+This should be a bit bigger than <a href="#count">count</a>() is likely to be.
+
+<h3 class=fn>void <a name="statistics"></a>QAsciiCache::statistics () const
+</h3>
+
+<p> A debug-only utility function. Prints out cache usage, hit/miss,
+and distribution information using <a href="qapplication.html#qDebug">qDebug</a>(). This function does
+nothing in the release library.
+
+<h3 class=fn>type * <a name="take"></a>QAsciiCache::take ( const&nbsp;char&nbsp;*&nbsp;k )
+</h3>
+
+<p> Takes the item associated with <em>k</em> out of the cache without
+deleting it and returns a pointer to the item taken out, or 0
+if the key does not exist in the cache.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is taken.
+<p> All iterators that refer to the taken item are set to point to the
+next item in the cache's traversal order.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>int <a name="totalCost"></a>QAsciiCache::totalCost () const
+</h3>
+
+<p> Returns the total cost of the items in the cache. This is an
+integer in the range 0 to <a href="#maxCost">maxCost</a>().
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciicacheiterator-members.html b/doc/html/qasciicacheiterator-members.html
new file mode 100644
index 0000000..88f946d
--- /dev/null
+++ b/doc/html/qasciicacheiterator-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciicache.h:97 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiCacheIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAsciiCacheIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qasciicacheiterator.html">QAsciiCacheIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qasciicacheiterator.html#QAsciiCacheIterator">QAsciiCacheIterator</a>()
+<li><a href="qasciicacheiterator.html#atFirst">atFirst</a>()
+<li><a href="qasciicacheiterator.html#atLast">atLast</a>()
+<li><a href="qasciicacheiterator.html#count">count</a>()
+<li><a href="qasciicacheiterator.html#current">current</a>()
+<li><a href="qasciicacheiterator.html#currentKey">currentKey</a>()
+<li><a href="qasciicacheiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qasciicacheiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qasciicacheiterator.html#operator()">operator()</a>()
+<li><a href="qasciicacheiterator.html#operator++">operator++</a>()
+<li><a href="qasciicacheiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qasciicacheiterator.html#operator--">operator--</a>()
+<li><a href="qasciicacheiterator.html#operator--eq">operator-=</a>()
+<li><a href="qasciicacheiterator.html#operator-eq">operator=</a>()
+<li><a href="qasciicacheiterator.html#toFirst">toFirst</a>()
+<li><a href="qasciicacheiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciicacheiterator.html b/doc/html/qasciicacheiterator.html
new file mode 100644
index 0000000..aece77f
--- /dev/null
+++ b/doc/html/qasciicacheiterator.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qasciicache.doc:300 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiCacheIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAsciiCacheIterator Class Reference</h1>
+
+<p>The QAsciiCacheIterator class provides an iterator for QAsciiCache collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasciicache-h.html">qasciicache.h</a>&gt;</tt>
+<p><a href="qasciicacheiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAsciiCacheIterator"><b>QAsciiCacheIterator</b></a> ( const&nbsp;QAsciiCache&lt;type&gt;&nbsp;&amp;&nbsp;cache )</li>
+<li class=fn><a href="#QAsciiCacheIterator-2"><b>QAsciiCacheIterator</b></a> ( const&nbsp;QAsciiCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>QAsciiCacheIterator&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QAsciiCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#atFirst"><b>atFirst</b></a> () const</li>
+<li class=fn>bool <a href="#atLast"><b>atLast</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn>type * <a href="#toLast"><b>toLast</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>const char * <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+<li class=fn>type * <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>type * <a href="#operator--eq"><b>operator-=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAsciiCacheIterator class provides an iterator for <a href="qasciicache.html">QAsciiCache</a> collections.
+<p>
+
+<p> Note that the traversal order is arbitrary; you are not guaranteed
+any particular order. If new objects are inserted into the cache
+while the iterator is active, the iterator may or may not see
+them.
+<p> Multiple iterators are completely independent, even when they
+operate on the same QAsciiCache. QAsciiCache updates all iterators
+that refer an item when that item is removed.
+<p> QAsciiCacheIterator provides an <a href="#operator++">operator++</a>() and an <a href="#operator+-eq">operator+=</a>()
+to traverse the cache; <a href="#current">current</a>() and <a href="#currentKey">currentKey</a>() to access the
+current cache item and its key. It also provides <a href="#atFirst">atFirst</a>() and
+<a href="#atLast">atLast</a>(), which return TRUE if the iterator points to the first or
+last item in the cache respectively. The <a href="#isEmpty">isEmpty</a>() function
+returns TRUE if the cache is empty; and <a href="#count">count</a>() returns the number
+of items in the cache.
+<p> Note that atFirst() and atLast() refer to the iterator's arbitrary
+ordering, not to the cache's internal least recently used list.
+<p> <p>See also <a href="qasciicache.html">QAsciiCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAsciiCacheIterator"></a>QAsciiCacheIterator::QAsciiCacheIterator ( const&nbsp;<a href="qasciicache.html">QAsciiCache</a>&lt;type&gt;&nbsp;&amp;&nbsp;cache )
+</h3>
+
+<p> Constructs an iterator for <em>cache</em>. The current iterator item is
+set to point to the first item in the <em>cache</em>.
+
+<h3 class=fn><a name="QAsciiCacheIterator-2"></a>QAsciiCacheIterator::QAsciiCacheIterator ( const&nbsp;<a href="qasciicacheiterator.html">QAsciiCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Constructs an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>() but moves
+independently from there on.
+
+<h3 class=fn>bool <a name="atFirst"></a>QAsciiCacheIterator::atFirst () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the first item in the
+cache; otherwise returns FALSE. Note that this refers to the
+iterator's arbitrary ordering, not to the cache's internal least
+recently used list.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>().
+
+<h3 class=fn>bool <a name="atLast"></a>QAsciiCacheIterator::atLast () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the last item in the cache;
+otherwise returns FALSE. Note that this refers to the iterator's
+arbitrary ordering, not to the cache's internal least recently
+used list.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>().
+
+<h3 class=fn>uint <a name="count"></a>QAsciiCacheIterator::count () const
+</h3>
+
+<p> Returns the number of items in the cache over which this iterator
+operates.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QAsciiCacheIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item.
+
+<h3 class=fn>const char * <a name="currentKey"></a>QAsciiCacheIterator::currentKey () const
+</h3>
+
+<p> Returns the key for the current iterator item.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QAsciiCacheIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty, i.e. <a href="#count">count</a>() == 0; otherwise
+returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QAsciiCacheIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QAsciiCacheIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the cache or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QAsciiCacheIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the iterator point to the item just after
+<a href="#current">current</a>(), and makes that the new current item for the iterator. If
+current() was the last item, <a href="#operator++">operator++</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QAsciiCacheIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions after the current item, or 0
+if it is beyond the last item. Makes this the current item.
+
+<h3 class=fn>type * <a name="operator--"></a>QAsciiCacheIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the iterator point to the item just before
+<a href="#current">current</a>(), and makes that the new current item for the iterator. If
+current() was the first item, <a href="#operator--">operator--</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator--eq"></a>QAsciiCacheIterator::operator-= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions before the current item, or 0
+if it is before the first item. Makes this the current item.
+
+<h3 class=fn><a href="qasciicacheiterator.html">QAsciiCacheIterator</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QAsciiCacheIterator::operator= ( const&nbsp;<a href="qasciicacheiterator.html">QAsciiCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Makes this an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>(), but moves
+independently thereafter.
+
+<h3 class=fn>type * <a name="toFirst"></a>QAsciiCacheIterator::toFirst ()
+</h3>
+
+<p> Sets the iterator to point to the first item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0 and returns 0 if the cache is empty.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="toLast"></a>QAsciiCacheIterator::toLast ()
+</h3>
+
+<p> Sets the iterator to point to the last item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0 and returns 0 if the cache is empty.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciidict-h.html b/doc/html/qasciidict-h.html
new file mode 100644
index 0000000..0ec4ad2
--- /dev/null
+++ b/doc/html/qasciidict-h.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciidict.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qasciidict.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qasciidict.h</h1>
+
+<p>This is the verbatim text of the qasciidict.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qasciidict.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QAsciiDict template class
+**
+** Created : 920821
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QASCIIDICT_H
+#define QASCIIDICT_H
+
+#ifndef QT_H
+#include "qgdict.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QAsciiDict
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGDict
+#endif
+{
+public:
+ QAsciiDict(int size=17, bool caseSensitive=TRUE, bool copyKeys=TRUE )
+ : QGDict(size,AsciiKey,caseSensitive,copyKeys) {}
+ QAsciiDict( const QAsciiDict&lt;type&gt; &amp;d ) : QGDict(d) {}
+ ~QAsciiDict() { clear(); }
+ QAsciiDict&lt;type&gt; &amp;operator=(const QAsciiDict&lt;type&gt; &amp;d)
+ { return (QAsciiDict&lt;type&gt;&amp;)QGDict::operator=(d); }
+ uint count() const { return QGDict::count(); }
+ uint size() const { return QGDict::size(); }
+ bool isEmpty() const { return QGDict::count() == 0; }
+
+ void insert( const char *k, const type *d )
+ { QGDict::look_ascii(k,(Item)d,1); }
+ void replace( const char *k, const type *d )
+ { QGDict::look_ascii(k,(Item)d,2); }
+ bool remove( const char *k ) { return QGDict::remove_ascii(k); }
+ type *take( const char *k ) { return (type *)QGDict::take_ascii(k); }
+ type *find( const char *k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_ascii(k,0,0); }
+ type *operator[]( const char *k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_ascii(k,0,0); }
+
+ void clear() { QGDict::clear(); }
+ void resize( uint n ) { QGDict::resize(n); }
+ void statistics() const { QGDict::statistics(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream &amp;, QPtrCollection::Item &amp; );
+ virtual QDataStream&amp; write( QDataStream &amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QAsciiDict&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QAsciiDict&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QAsciiDictIterator : public QGDictIterator
+{
+public:
+ QAsciiDictIterator(const QAsciiDict&lt;type&gt; &amp;d)
+ : QGDictIterator((QGDict &amp;)d) {}
+ ~QAsciiDictIterator() {}
+ uint count() const { return dict-&gt;count(); }
+ bool isEmpty() const { return dict-&gt;count() == 0; }
+ type *toFirst() { return (type *)QGDictIterator::toFirst(); }
+ operator type *() const { return (type *)QGDictIterator::get(); }
+ type *current() const { return (type *)QGDictIterator::get(); }
+ const char *currentKey() const { return QGDictIterator::getKeyAscii(); }
+ type *operator()() { return (type *)QGDictIterator::operator()(); }
+ type *operator++() { return (type *)QGDictIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGDictIterator::operator+=(j);}
+};
+
+#define Q_DEFINED_QASCIIDICT
+#include "qwinexport.h"
+#endif // QASCIIDICT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciidict-members.html b/doc/html/qasciidict-members.html
new file mode 100644
index 0000000..47344e9
--- /dev/null
+++ b/doc/html/qasciidict-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciidict.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiDict Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAsciiDict</h1>
+
+<p>This is the complete list of member functions for
+<a href="qasciidict.html">QAsciiDict</a>, including inherited members.
+
+<ul>
+<li><a href="qasciidict.html#QAsciiDict">QAsciiDict</a>()
+<li><a href="qasciidict.html#~QAsciiDict">~QAsciiDict</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qasciidict.html#clear">clear</a>()
+<li><a href="qasciidict.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qasciidict.html#find">find</a>()
+<li><a href="qasciidict.html#insert">insert</a>()
+<li><a href="qasciidict.html#isEmpty">isEmpty</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qasciidict.html#operator-eq">operator=</a>()
+<li><a href="qasciidict.html#operator[]">operator[]</a>()
+<li><a href="qasciidict.html#read">read</a>()
+<li><a href="qasciidict.html#remove">remove</a>()
+<li><a href="qasciidict.html#replace">replace</a>()
+<li><a href="qasciidict.html#resize">resize</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qasciidict.html#size">size</a>()
+<li><a href="qasciidict.html#statistics">statistics</a>()
+<li><a href="qasciidict.html#take">take</a>()
+<li><a href="qasciidict.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciidict.html b/doc/html/qasciidict.html
new file mode 100644
index 0000000..4bea9ff
--- /dev/null
+++ b/doc/html/qasciidict.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qasciidict.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiDict Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAsciiDict Class Reference</h1>
+
+<p>The QAsciiDict class is a template class that provides a dictionary based on char* keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasciidict-h.html">qasciidict.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qasciidict-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAsciiDict"><b>QAsciiDict</b></a> ( int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE, bool&nbsp;copyKeys = TRUE )</li>
+<li class=fn><a href="#QAsciiDict-2"><b>QAsciiDict</b></a> ( const&nbsp;QAsciiDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QAsciiDict"><b>~QAsciiDict</b></a> ()</li>
+<li class=fn>QAsciiDict&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QAsciiDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#replace"><b>replace</b></a> ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( const&nbsp;char&nbsp;*&nbsp;key )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( const&nbsp;char&nbsp;*&nbsp;key )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( const&nbsp;char&nbsp;*&nbsp;key ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( const&nbsp;char&nbsp;*&nbsp;key ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( uint&nbsp;newsize )</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAsciiDict class is a template class that provides a dictionary based on char* keys.
+<p>
+
+<p>
+<p> QAsciiDict is implemented as a template class. Define a template
+instance QAsciiDict&lt;X&gt; to create a dictionary that operates on
+pointers to X (X*).
+<p> A dictionary is a collection of key-value pairs. The key is a
+char* used for insertion, removal and lookup. The value is a
+pointer. Dictionaries provide very fast insertion and lookup.
+<p> QAsciiDict cannot handle Unicode keys; use the <a href="qdict.html">QDict</a> template
+instead, which uses <a href="qstring.html">QString</a> keys. A QDict has the same
+performace as a QAsciiDict.
+<p> Example:
+<pre>
+ QAsciiDict&lt;QLineEdit&gt; fields; // char* keys, QLineEdit* values
+ fields.<a href="#insert">insert</a>( "forename", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="#insert">insert</a>( "surname", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields["forename"]-&gt;setText( "Homer" );
+ fields["surname"]-&gt;setText( "Simpson" );
+
+ <a href="qasciidictiterator.html">QAsciiDictIterator</a>&lt;QLineEdit&gt; it( fields ); // See QAsciiDictIterator
+ for( ; it.<a href="qasciidictiterator.html#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="qasciidictiterator.html#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="qasciidictiterator.html#current">current</a>()-&gt;text() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ if ( fields["forename"] &amp;&amp; fields["surname"] )
+ cout &lt;&lt; fields["forename"]-&gt;text() &lt;&lt; " "
+ &lt;&lt; fields["surname"]-&gt;text() &lt;&lt; endl; // Prints "Homer Simpson"
+
+ fields.<a href="#remove">remove</a>( "forename" ); // Does not delete the line edit
+ if ( ! fields["forename"] )
+ cout &lt;&lt; "forename is not in the dictionary" &lt;&lt; endl;
+ </pre>
+
+In this example we use a dictionary to keep track of the line
+edits we're using. We insert each line edit into the dictionary
+with a unique name and then access the line edits via the
+dictionary. See <a href="qptrdict.html">QPtrDict</a>, <a href="qintdict.html">QIntDict</a> and <a href="qdict.html">QDict</a>.
+<p> See QDict for full details, including the choice of dictionary
+size, and how deletions are handled.
+<p> <p>See also <a href="qasciidictiterator.html">QAsciiDictIterator</a>, <a href="qdict.html">QDict</a>, <a href="qintdict.html">QIntDict</a>, <a href="qptrdict.html">QPtrDict</a>, <a href="collection.html">Collection Classes</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAsciiDict"></a>QAsciiDict::QAsciiDict ( int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE, bool&nbsp;copyKeys = TRUE )
+</h3>
+
+<p> Constructs a dictionary optimized for less than <em>size</em> entries.
+<p> We recommend setting <em>size</em> to a suitably large <a href="primes.html#prime">prime</a> number (a
+bit larger than the expected number of entries). This makes the
+hash distribution better and will improve lookup performance.
+<p> When <em>caseSensitive</em> is TRUE (the default) QAsciiDict treats
+"abc" and "Abc" as different keys; when it is FALSE "abc" and
+"Abc" are the same. Case-insensitive comparison only considers the
+26 letters in US-ASCII.
+<p> If <em>copyKeys</em> is TRUE (the default), the dictionary copies keys
+using strcpy(); if it is FALSE, the dictionary just copies the
+pointers.
+
+<h3 class=fn><a name="QAsciiDict-2"></a>QAsciiDict::QAsciiDict ( const&nbsp;<a href="qasciidict.html">QAsciiDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs a copy of <em>dict</em>.
+<p> Each item in <em>dict</em> is inserted into this dictionary. Only the
+pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QAsciiDict"></a>QAsciiDict::~QAsciiDict ()
+</h3>
+
+<p> Removes all items from the dictionary and destroys it.
+<p> The items are deleted if auto-delete is enabled.
+<p> All iterators that access this dictionary will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QAsciiDict::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the dictionary.
+<p> The removed items are deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that operate on dictionary are reset.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#take">take</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QAsciiDict::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the dictionary.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QAsciiDict::find ( const&nbsp;char&nbsp;*&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> This function uses an internal hashing algorithm to optimize
+lookup.
+<p> If there are two or more items with equal keys, then the item that
+was most recently inserted will be found.
+<p> Equivalent to the [] operator.
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<h3 class=fn>void <a name="insert"></a>QAsciiDict::insert ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>key</em> with the <em>item</em> into the dictionary.
+<p> Multiple items can have the same key, in which case only the last
+item will be accessible using <a href="#operator[]">operator[]</a>().
+<p> <em>item</em> may not be 0.
+<p> <p>See also <a href="#replace">replace</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QAsciiDict::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty, i.e. <a href="#count">count</a>() == 0;
+otherwise it returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qasciidict.html">QAsciiDict</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QAsciiDict::operator= ( const&nbsp;<a href="qasciidict.html">QAsciiDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Assigns <em>dict</em> to this dictionary and returns a reference to this
+dictionary.
+<p> This dictionary is first cleared and then each item in <em>dict</em> is
+inserted into this dictionary. Only the pointers are copied
+(shallow copy) unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented().
+
+<h3 class=fn>type * <a name="operator[]"></a>QAsciiDict::operator[] ( const&nbsp;char&nbsp;*&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does
+not exist in the dictionary.
+<p> This function uses an internal hashing algorithm to optimize
+lookup.
+<p> If there are two or more items with equal keys, then the item that
+was most recently inserted will be found.
+<p> Equivalent to the <a href="#find">find</a>() function.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QAsciiDict::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a dictionary item from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QAsciiDict::remove ( const&nbsp;char&nbsp;*&nbsp;key )
+</h3>
+
+<p> Removes the item associated with <em>key</em> from the dictionary.
+Returns TRUE if successful, i.e. if the key existed in the
+dictionary; otherwise returns FALSE.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be removed.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that refer to the removed item will be
+set to point to the next item in the dictionary traversal order.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="replace"></a>QAsciiDict::replace ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Replaces an item that has a key equal to <em>key</em> with <em>item</em>.
+<p> If the item does not already exist, it will be inserted.
+<p> <em>item</em> may not be 0.
+<p> Equivalent to:
+<pre>
+ QAsciiDict&lt;char&gt; dict;
+ ...
+ if ( dict.<a href="#find">find</a>(key) )
+ dict.<a href="#remove">remove</a>( key );
+ dict.<a href="#insert">insert</a>( key, item );
+ </pre>
+
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be replaced.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="resize"></a>QAsciiDict::resize ( uint&nbsp;newsize )
+</h3>
+
+<p> Changes the size of the hashtable to <em>newsize</em>. The contents of
+the dictionary are preserved but all iterators on the dictionary
+become invalid.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QAsciiDict::size () const
+</h3>
+
+<p> Returns the size of the internal hash array (as specified in the
+constructor).
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="statistics"></a>QAsciiDict::statistics () const
+</h3>
+
+<p> Debugging-only function that prints out the dictionary
+distribution using <a href="qapplication.html#qDebug">qDebug</a>().
+
+<h3 class=fn>type * <a name="take"></a>QAsciiDict::take ( const&nbsp;char&nbsp;*&nbsp;key )
+</h3>
+
+<p> Takes the item associated with <em>key</em> out of the dictionary
+without deleting it (even if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be taken.
+<p> Returns a pointer to the item taken out, or 0 if the key does not
+exist in the dictionary.
+<p> All dictionary iterators that refer to the taken item will be set
+to point to the next item in the dictionary traversal order.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QAsciiDict::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a dictionary item to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciidictiterator-members.html b/doc/html/qasciidictiterator-members.html
new file mode 100644
index 0000000..936dc23
--- /dev/null
+++ b/doc/html/qasciidictiterator-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasciidict.h:101 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiDictIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAsciiDictIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qasciidictiterator.html">QAsciiDictIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qasciidictiterator.html#QAsciiDictIterator">QAsciiDictIterator</a>()
+<li><a href="qasciidictiterator.html#~QAsciiDictIterator">~QAsciiDictIterator</a>()
+<li><a href="qasciidictiterator.html#count">count</a>()
+<li><a href="qasciidictiterator.html#current">current</a>()
+<li><a href="qasciidictiterator.html#currentKey">currentKey</a>()
+<li><a href="qasciidictiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qasciidictiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qasciidictiterator.html#operator()">operator()</a>()
+<li><a href="qasciidictiterator.html#operator++">operator++</a>()
+<li><a href="qasciidictiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qasciidictiterator.html#toFirst">toFirst</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasciidictiterator.html b/doc/html/qasciidictiterator.html
new file mode 100644
index 0000000..f738f22
--- /dev/null
+++ b/doc/html/qasciidictiterator.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qasciidict.doc:337 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsciiDictIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAsciiDictIterator Class Reference</h1>
+
+<p>The QAsciiDictIterator class provides an iterator for QAsciiDict collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasciidict-h.html">qasciidict.h</a>&gt;</tt>
+<p><a href="qasciidictiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAsciiDictIterator"><b>QAsciiDictIterator</b></a> ( const&nbsp;QAsciiDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QAsciiDictIterator"><b>~QAsciiDictIterator</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>const char * <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAsciiDictIterator class provides an iterator for <a href="qasciidict.html">QAsciiDict</a> collections.
+<p>
+
+<p> QAsciiDictIterator is implemented as a template class. Define a
+template instance QAsciiDictIterator&lt;X&gt; to create a dictionary
+iterator that operates on QAsciiDict&lt;X&gt; (dictionary of X*).
+<p> Example:
+<pre>
+ <a href="qasciidict.html">QAsciiDict</a>&lt;QLineEdit&gt; fields;
+ fields.<a href="qasciidict.html#insert">insert</a>( "forename", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="qasciidict.html#insert">insert</a>( "surname", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="qasciidict.html#insert">insert</a>( "age", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields["forename"]-&gt;setText( "Homer" );
+ fields["surname"]-&gt;setText( "Simpson" );
+ fields["age"]-&gt;setText( "45" );
+
+ QAsciiDictIterator&lt;QLineEdit&gt; it( fields );
+ for( ; it.<a href="#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="#current">current</a>()-&gt;text() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ // Output (random order):
+ // age: 45
+ // surname: Simpson
+ // forename: Homer
+ </pre>
+
+In the example we insert some line edits into a dictionary, then
+iterate over the dictionary printing the strings associated with
+those line edits.
+<p> Note that the traversal order is arbitrary; you are not guaranteed
+any particular order.
+<p> Multiple iterators may independently traverse the same dictionary.
+A <a href="qasciidict.html">QAsciiDict</a> knows about all the iterators that are operating on
+the dictionary. When an item is removed from the dictionary,
+QAsciiDict updates all the iterators that are referring to the
+removed item to point to the next item in the (arbitrary)
+traversal order.
+<p> <p>See also <a href="qasciidict.html">QAsciiDict</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAsciiDictIterator"></a>QAsciiDictIterator::QAsciiDictIterator ( const&nbsp;<a href="qasciidict.html">QAsciiDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs an iterator for <em>dict</em>. The current iterator item is
+set to point on the first item in the <em>dict</em>.
+
+<h3 class=fn><a name="~QAsciiDictIterator"></a>QAsciiDictIterator::~QAsciiDictIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn>uint <a name="count"></a>QAsciiDictIterator::count () const
+</h3>
+
+<p> Returns the number of items in the dictionary this iterator
+operates over.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QAsciiDictIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item.
+
+<h3 class=fn>const char * <a name="currentKey"></a>QAsciiDictIterator::currentKey () const
+</h3>
+
+<p> Returns a pointer to the key for the current iterator item.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QAsciiDictIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty, i.e. <a href="#count">count</a>() == 0,
+otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QAsciiDictIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QAsciiDictIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QAsciiDictIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns the new
+current item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QAsciiDictIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Sets the current item to the item <em>jump</em> positions after the
+current item, and returns a pointer to that item.
+<p> If that item is beyond the last item or if the dictionary is
+empty, it sets the current item to 0 and returns 0.
+
+<h3 class=fn>type * <a name="toFirst"></a>QAsciiDictIterator::toFirst ()
+</h3>
+
+<p> Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. If the dictionary is
+empty it sets the current item to 0 and returns 0.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qassistantclient-h.html b/doc/html/qassistantclient-h.html
new file mode 100644
index 0000000..0f72496
--- /dev/null
+++ b/doc/html/qassistantclient-h.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qassistantclient.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qassistantclient.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qassistantclient.h</h1>
+
+<p>This is the verbatim text of the qassistantclient.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the QAssistantClient library.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QASSISTANTCLIENT_H
+#define QASSISTANTCLIENT_H
+
+#include &lt;qobject.h&gt;
+
+class QSocket;
+class QProcess;
+
+class QAssistantClient : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY( bool open READ isOpen )
+
+public:
+ QAssistantClient( const QString &amp;path, QObject *parent = 0, const char *name = 0 );
+ ~QAssistantClient();
+
+ bool isOpen() const;
+
+ void setArguments( const QStringList &amp;args );
+
+public slots:
+ virtual void openAssistant();
+ virtual void closeAssistant();
+ virtual void showPage( const QString &amp;page );
+
+signals:
+ void assistantOpened();
+ void assistantClosed();
+ void error( const QString &amp;msg );
+
+private slots:
+ void socketConnected();
+ void socketConnectionClosed();
+ void readPort();
+ void socketError( int );
+ void readStdError();
+
+private:
+ QSocket *socket;
+ QProcess *proc;
+ Q_UINT16 port;
+ QString host, assistantCommand, pageBuffer;
+ bool opened;
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qassistantclient-members.html b/doc/html/qassistantclient-members.html
new file mode 100644
index 0000000..cbeb6e1
--- /dev/null
+++ b/doc/html/qassistantclient-members.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/lib/qassistantclient.h:35 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAssistantClient Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAssistantClient</h1>
+
+<p>This is the complete list of member functions for
+<a href="qassistantclient.html">QAssistantClient</a>, including inherited members.
+
+<ul>
+<li><a href="qassistantclient.html#QAssistantClient">QAssistantClient</a>()
+<li><a href="qassistantclient.html#~QAssistantClient">~QAssistantClient</a>()
+<li><a href="qassistantclient.html#assistantClosed">assistantClosed</a>()
+<li><a href="qassistantclient.html#assistantOpened">assistantOpened</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qassistantclient.html#closeAssistant">closeAssistant</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qassistantclient.html#error">error</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qassistantclient.html#isOpen">isOpen</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qassistantclient.html#openAssistant">openAssistant</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qassistantclient.html#setArguments">setArguments</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qassistantclient.html#showPage">showPage</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qassistantclient.html b/doc/html/qassistantclient.html
new file mode 100644
index 0000000..af3a3c1
--- /dev/null
+++ b/doc/html/qassistantclient.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/assistant/lib/qassistantclient.cpp:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAssistantClient Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAssistantClient Class Reference</h1>
+
+<p>The QAssistantClient class provides a means of using Qt
+Assistant as an application's help tool.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qassistantclient-h.html">qassistantclient.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qassistantclient-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAssistantClient"><b>QAssistantClient</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QAssistantClient"><b>~QAssistantClient</b></a> ()</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> () const</li>
+<li class=fn>void <a href="#setArguments"><b>setArguments</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;args )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#openAssistant"><b>openAssistant</b></a> ()</li>
+<li class=fn>virtual void <a href="#closeAssistant"><b>closeAssistant</b></a> ()</li>
+<li class=fn>virtual void <a href="#showPage"><b>showPage</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;page )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#assistantOpened"><b>assistantOpened</b></a> ()</li>
+<li class=fn>void <a href="#assistantClosed"><b>assistantClosed</b></a> ()</li>
+<li class=fn>void <a href="#error"><b>error</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;msg )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#open-prop"><b>open</b></a>&nbsp;- whether Qt Assistant is open &nbsp;<em>(read only)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QAssistantClient class provides a means of using Qt
+Assistant as an application's help tool.
+<p> Using Qt Assistant is simple: Create a QAssistantClient instance,
+then call <a href="#showPage">showPage</a>() as often as necessary to show your help
+pages. When you call showPage(), Qt Assistant will be launched if
+it isn't already running.
+<p> The QAssistantClient instance can open (<a href="#openAssistant">openAssistant</a>()) or close
+(<a href="#closeAssistant">closeAssistant</a>()) Qt Assistant whenever required. If Qt Assistant
+is open, <a href="#isOpen">isOpen</a>() returns TRUE.
+<p> One QAssistantClient instance interacts with one Qt Assistant
+instance, so every time you call openAssistant(), showPage() or
+closeAssistant() they are applied to the particular Qt Assistant
+instance associated with the QAssistantClient.
+<p> When you call openAssistant() the <a href="#assistantOpened">assistantOpened</a>() signal is
+emitted. Similarly when closeAssistant() is called,
+<a href="#assistantClosed">assistantClosed</a>() is emitted. In either case, if an error occurs,
+<a href="#error">error</a>() is emitted.
+<p> This class is not included in the Qt library itself. To use it you
+must link against <tt>libqassistantclient.a</tt> (Unix) or <tt>qassistantclient.lib</tt> (Windows), which is built into <tt>INSTALL/lib</tt>
+if you built the Qt tools (<tt>INSTALL</tt> is the directory where Qt is
+installed). If you use qmake, then you can simply add the following
+line to your pro file:
+<p> <pre>
+ LIBS += -lqassistantclient
+ </pre>
+
+<p> See also "Adding Documentation to Qt Assistant" in the <a href="assistant.html">Qt Assistant manual</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAssistantClient"></a>QAssistantClient::QAssistantClient ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an assistant client object. The <em>path</em> specifies the
+path to the Qt Assistant executable. If <em>path</em> is an empty
+string the system path (<tt>%PATH%</tt> or <tt>$PATH</tt>) is used.
+<p> The assistant client object is a child of <em>parent</em> and is called
+<em>name</em>.
+
+<h3 class=fn><a name="~QAssistantClient"></a>QAssistantClient::~QAssistantClient ()
+</h3>
+Destroys the assistant client object and frees up all allocated
+resources.
+
+<h3 class=fn>void <a name="assistantClosed"></a>QAssistantClient::assistantClosed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the connection to Qt Assistant is
+closed. This happens when the user exits Qt Assistant, or when an
+error in the server or client occurs, or if <a href="#closeAssistant">closeAssistant</a>() is
+called.
+
+<h3 class=fn>void <a name="assistantOpened"></a>QAssistantClient::assistantOpened ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when Qt Assistant is open and the
+client-server communication is set up.
+
+<h3 class=fn>void <a name="closeAssistant"></a>QAssistantClient::closeAssistant ()<tt> [virtual slot]</tt>
+</h3>
+Use this function to close Qt Assistant.
+<p> <p>See also <a href="#assistantClosed">assistantClosed</a>().
+
+<h3 class=fn>void <a name="error"></a>QAssistantClient::error ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;msg )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if Qt Assistant cannot be started or if an
+error occurs during the initialization of the connection between
+Qt Assistant and the calling application. The <em>msg</em> provides an
+explanation of the error.
+
+<h3 class=fn>bool <a name="isOpen"></a>QAssistantClient::isOpen () const
+</h3><p>Returns TRUE if Qt Assistant is open; otherwise returns FALSE.
+See the <a href="qassistantclient.html#open-prop">"open"</a> property for details.
+<h3 class=fn>void <a name="openAssistant"></a>QAssistantClient::openAssistant ()<tt> [virtual slot]</tt>
+</h3>
+This function opens Qt Assistant and sets up the client-server
+communiction between the application and Qt Assistant. If it is
+already open, this function does nothing. If an error occurs,
+<a href="#error">error</a>() is emitted.
+<p> <p>See also <a href="#assistantOpened">assistantOpened</a>().
+
+<h3 class=fn>void <a name="setArguments"></a>QAssistantClient::setArguments ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;args )
+</h3>
+Sets the command line arguments used when Qt Assistant is
+started to <em>args</em>.
+
+<h3 class=fn>void <a name="showPage"></a>QAssistantClient::showPage ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;page )<tt> [virtual slot]</tt>
+</h3>
+Call this function to make Qt Assistant show a particular <em>page</em>.
+The <em>page</em> is a filename (e.g. <tt>myhelpfile.html</tt>). See "Adding
+Documentation to Qt Assistant" in the <a href="assistant.html">Qt
+ Assistant manual</a> for further information.
+<p> If Qt Assistant hasn't been <a href="#openAssistant">opened</a>
+yet, this function will do nothing. You can use <a href="#isOpen">isOpen</a>() to
+determine whether Qt Assistant is up and running, or you can
+connect to the asssistantOpened() signal.
+<p> <p>See also <a href="#open-prop">open</a> and <a href="#assistantOpened">assistantOpened</a>().
+
+<p>Example: <a href="helpsystem-example.html#x2686">helpsystem/mainwindow.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="open-prop"></a>open</h3>
+<p>This property holds whether Qt Assistant is open.
+<p>
+<p>Get this property's value with <a href="#isOpen">isOpen</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasyncimageio-h.html b/doc/html/qasyncimageio-h.html
new file mode 100644
index 0000000..7b9dc4b
--- /dev/null
+++ b/doc/html/qasyncimageio-h.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncimageio.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qasyncimageio.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qasyncimageio.h</h1>
+
+<p>This is the verbatim text of the qasyncimageio.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qasyncimageio.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of asynchronous image/movie loading classes
+**
+** Created : 970617
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QASYNCIMAGEIO_H
+#define QASYNCIMAGEIO_H
+
+#ifndef QT_H
+#include "qimage.h"
+#endif // QT_H
+
+#ifndef QT_NO_ASYNC_IMAGE_IO
+
+#if __GNUC__ - 0 &gt; 3
+#pragma GCC system_header
+#endif
+
+class Q_EXPORT QImageConsumer {
+public:
+ virtual void end()=0;
+
+ // Change transfer type 1.
+ virtual void changed( const QRect&amp; ) = 0;
+ virtual void frameDone() = 0;
+
+ // Change transfer type 2.
+ virtual void frameDone( const QPoint&amp;, const QRect&amp; ) = 0;
+
+ virtual void setLooping( int ) = 0;
+ virtual void setFramePeriod( int ) = 0;
+ virtual void setSize( int, int ) = 0;
+};
+
+class Q_EXPORT QImageFormat {
+public:
+ virtual ~QImageFormat();
+ virtual int decode( QImage&amp; img, QImageConsumer* consumer,
+ const uchar* buffer, int length ) = 0;
+};
+
+class Q_EXPORT QImageFormatType {
+public:
+ virtual ~QImageFormatType();
+ virtual QImageFormat* decoderFor( const uchar* buffer, int length ) = 0;
+ virtual const char* formatName() const = 0;
+protected:
+ QImageFormatType();
+};
+
+class QImageDecoderPrivate;
+class Q_EXPORT QImageDecoder {
+public:
+ QImageDecoder( QImageConsumer* c );
+ ~QImageDecoder();
+
+ const QImage&amp; image() { return img; }
+ int decode( const uchar* buffer, int length );
+
+ static const char* formatName( const uchar* buffer, int length );
+ static QImageFormatType* format( const char* name ); // direct use - no decode()
+
+ static QStrList inputFormats();
+ static void registerDecoderFactory( QImageFormatType* );
+ static void unregisterDecoderFactory( QImageFormatType* );
+
+private:
+ QImageFormat* actual_decoder;
+ QImageConsumer* consumer;
+ QImage img;
+ QImageDecoderPrivate *d;
+};
+
+#endif // QT_NO_ASYNC_IMAGE_IO
+
+#endif // QASYNCIMAGEIO_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasyncio-h.html b/doc/html/qasyncio-h.html
new file mode 100644
index 0000000..41f44a4
--- /dev/null
+++ b/doc/html/qasyncio-h.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qasyncio.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qasyncio.h</h1>
+
+<p>This is the verbatim text of the qasyncio.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qasyncio.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of asynchronous I/O classes
+**
+** Created : 970617
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QASYNCIO_H
+#define QASYNCIO_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qsignal.h"
+#include "qtimer.h"
+#endif // QT_H
+
+#ifndef QT_NO_ASYNC_IO
+
+class QIODevice;
+
+class Q_EXPORT QAsyncIO {
+public:
+ virtual ~QAsyncIO();
+ void connect(QObject*, const char *member);
+
+protected:
+ void ready();
+
+private:
+ QSignal signal;
+};
+
+class Q_EXPORT QDataSink : public QAsyncIO {
+public:
+ // Call this to know how much I can take.
+ virtual int readyToReceive()=0;
+ virtual void receive(const uchar*, int count)=0;
+ virtual void eof()=0;
+ void maybeReady();
+};
+
+class Q_EXPORT QDataSource : public QAsyncIO {
+public:
+ virtual int readyToSend()=0; // returns -1 when never any more ready
+ virtual void sendTo(QDataSink*, int count)=0;
+ void maybeReady();
+
+ virtual bool rewindable() const;
+ virtual void enableRewind(bool);
+ virtual void rewind();
+};
+
+class Q_EXPORT QIODeviceSource : public QDataSource {
+ const int buf_size;
+ uchar *buffer;
+ QIODevice* iod;
+ bool rew;
+
+public:
+ QIODeviceSource(QIODevice*, int bufsize=4096);
+ ~QIODeviceSource();
+
+ int readyToSend();
+ void sendTo(QDataSink* sink, int n);
+ bool rewindable() const;
+ void enableRewind(bool on);
+ void rewind();
+};
+
+class Q_EXPORT QDataPump : public QObject {
+ Q_OBJECT
+ int interval;
+ QTimer timer;
+ QDataSource* source;
+ QDataSink* sink;
+
+public:
+ QDataPump(QDataSource*, QDataSink*);
+
+private slots:
+ void kickStart();
+ void tryToPump();
+};
+
+#endif // QT_NO_ASYNC_IO
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasyncio-members.html b/doc/html/qasyncio-members.html
new file mode 100644
index 0000000..d447c62
--- /dev/null
+++ b/doc/html/qasyncio-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsyncIO Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAsyncIO</h1>
+
+<p>This is the complete list of member functions for
+<a href="qasyncio.html">QAsyncIO</a>, including inherited members.
+
+<ul>
+<li><a href="qasyncio.html#~QAsyncIO">~QAsyncIO</a>()
+<li><a href="qasyncio.html#connect">connect</a>()
+<li><a href="qasyncio.html#ready">ready</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qasyncio.html b/doc/html/qasyncio.html
new file mode 100644
index 0000000..e6a1771
--- /dev/null
+++ b/doc/html/qasyncio.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAsyncIO Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAsyncIO Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QAsyncIO class encapsulates I/O asynchronicity.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
+<p>Inherited by <a href="qdatasink.html">QDataSink</a> and <a href="qdatasource.html">QDataSource</a>.
+<p><a href="qasyncio-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QAsyncIO"><b>~QAsyncIO</b></a> ()</li>
+<li class=fn>void <a href="#connect"><b>connect</b></a> ( QObject&nbsp;*&nbsp;obj, const&nbsp;char&nbsp;*&nbsp;member )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#ready"><b>ready</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QAsyncIO class encapsulates I/O asynchronicity.
+<p> The Qt classes for asynchronous input/output provide a simple
+mechanism to allow large files or slow data sources to be processed
+without using large amounts of memory or blocking the user interface.
+<p> This facility is used in Qt to drive animated images. See <a href="qimageconsumer.html">QImageConsumer</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="~QAsyncIO"></a>QAsyncIO::~QAsyncIO ()<tt> [virtual]</tt>
+</h3>
+Destroys the async IO object.
+
+<h3 class=fn>void <a name="connect"></a>QAsyncIO::connect ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Ensures that only one object, <em>obj</em> and function, <em>member</em>, can
+respond to changes in readiness.
+
+<h3 class=fn>void <a name="ready"></a>QAsyncIO::ready ()<tt> [protected]</tt>
+</h3>
+Derived classes should call this when they change from being
+unready to ready.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxaggregated-members.html b/doc/html/qaxaggregated-members.html
new file mode 100644
index 0000000..fdcca0b
--- /dev/null
+++ b/doc/html/qaxaggregated-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbindable.h:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxAggregated Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxAggregated</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxaggregated.html">QAxAggregated</a>, including inherited members.
+
+<ul>
+<li><a href="qaxaggregated.html#controllingUnknown">controllingUnknown</a>()
+<li><a href="qaxaggregated.html#object">object</a>()
+<li><a href="qaxaggregated.html#queryInterface">queryInterface</a>()
+<li><a href="qaxaggregated.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxaggregated.html b/doc/html/qaxaggregated.html
new file mode 100644
index 0000000..6c8c672
--- /dev/null
+++ b/doc/html/qaxaggregated.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/control/qaxbindable.cpp:185 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxAggregated Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxAggregated Class Reference<br><small>[<a href="qaxserver.html">QAxServer module</a>]</small></h1>
+
+<p>The QAxAggregated class is an abstract base class for implementations of
+additional COM interfaces.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxbindable-h.html">qaxbindable.h</a>&gt;</tt>
+<p><a href="qaxaggregated-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual long <a href="#queryInterface"><b>queryInterface</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;iid, void&nbsp;**&nbsp;iface ) = 0</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>IUnknown * <a href="#controllingUnknown"><b>controllingUnknown</b></a> () const</li>
+<li class=fn>QWidget * <a href="#widget"><b>widget</b></a> () const</li>
+<li class=fn>QObject * <a href="#object"><b>object</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxAggregated class is an abstract base class for implementations of
+additional COM interfaces.
+
+<p>
+
+<p> Create a subclass of QAxAggregated and reimplement
+<a href="#queryInterface">queryInterface</a>() to support additional COM interfaces. Use
+multiple inheritance from those COM interfaces. Implement the
+IUnknown interface of those COM interfaces by delegating the calls
+to QueryInterface(), AddRef() and Release() to the interface
+provided by <a href="#controllingUnknown">controllingUnknown</a>().
+<p> Use the <a href="#widget">widget</a>() method if you need to make calls to the <a href="qwidget.html">QWidget</a>
+implementing the ActiveX control. You must not store that pointer
+in your subclass (unless you use <a href="qguardedptr.html">QGuardedPtr</a>), as the QWidget can
+be destroyed by the ActiveQt framework at any time.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>IUnknown * <a name="controllingUnknown"></a>QAxAggregated::controllingUnknown () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns the IUnknown interface of the ActiveX control. Implement
+the IUnknown interface in your QAxAggregated subclass to delegate
+calls to QueryInterface(), AddRef() and Release() to the interface
+provided by this function.
+<p> <pre>
+ HRESULT AxImpl::QueryInterface( REFIID iid, void **iface )
+ {
+ return controllingUnknown()-&gt;QueryInterface( iid, iface );
+ }
+
+ unsigned long AxImpl::AddRef()
+ {
+ return controllingUnknown()-&gt;AddRef();
+ }
+
+ unsigned long AxImpl::Release()
+ {
+ return controllingUnknown()-&gt;Release();
+ }
+ </pre>
+
+<p> The QAXAGG_IUNKNOWN macro expands to the code above, and you can
+use it in the class declaration of your subclass.
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="object"></a>QAxAggregated::object () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns a pointer to the <a href="qobject.html">QObject</a> subclass implementing the COM object.
+This function might return 0.
+<p> <b>Warning:</b>
+You must not store the returned pointer, unless you use a
+<a href="qguardedptr.html">QGuardedPtr</a>, since the QObject can be destroyed by <a href="activeqt.html#ActiveQt">ActiveQt</a> at any
+time.
+
+<h3 class=fn>long <a name="queryInterface"></a>QAxAggregated::queryInterface ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;iid, void&nbsp;**&nbsp;iface )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Reimplement this pure virtual function to support additional COM
+interfaces. Set the value of <em>iface</em> to point to this object to
+support the interface <em>iid</em>. Note that you must cast the <tt>this</tt> pointer to the appropriate superclass.
+<p> <pre>
+ long AxImpl::queryInterface( const <a href="quuid.html">QUuid</a> &amp;iid, void **iface )
+ {
+ *iface = 0;
+ if ( iid == IID_ISomeCOMInterface )
+ *iface = (ISomeCOMInterface*)this;
+ else
+ return E_NOINTERFACE;
+
+ AddRef();
+ return S_OK;
+ }
+ </pre>
+
+<p> Return the standard COM results S_OK (interface is supported) or
+E_NOINTERFACE (requested interface is not supported).
+<p> <b>Warning:</b>
+Even though you must implement the IUnknown interface if you
+implement any COM interface you must not support the IUnknown
+interface in your <a href="#queryInterface">queryInterface</a>() implementation.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QAxAggregated::widget () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns a pointer to the <a href="qwidget.html">QWidget</a> subclass implementing the ActiveX control.
+This function might return 0.
+<p> <b>Warning:</b>
+You must not store the returned pointer, unless you use a
+<a href="qguardedptr.html">QGuardedPtr</a>, since the QWidget can be destroyed by <a href="activeqt.html#ActiveQt">ActiveQt</a> at any
+time.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbase-h.html b/doc/html/qaxbase-h.html
new file mode 100644
index 0000000..27e1e36
--- /dev/null
+++ b/doc/html/qaxbase-h.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbase.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxbase.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxbase.h</h1>
+
+<p>This is the verbatim text of the qaxbase.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxbase.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxBase class
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef UNICODE
+#define UNICODE
+#endif
+
+#ifndef QAXBASE_H
+#define QAXBASE_H
+
+#include &lt;qvariant.h&gt;
+#include &lt;qobject.h&gt;
+
+struct IUnknown;
+struct QUuid;
+class QAxEventSink;
+class QAxObject;
+class QAxBasePrivate;
+
+class QAxBase
+{
+#ifdef Q_QDOC
+#error "The Symbol Q_QDOC is reserved for documentation purposes."
+ Q_PROPERTY( QString control READ control WRITE setControl )
+#endif
+public:
+#ifndef Q_QDOC
+ typedef QMap&lt;QCString, QVariant&gt; PropertyBag;
+#endif
+
+ QAxBase( IUnknown *iface = 0 );
+ virtual ~QAxBase();
+
+ QString control() const;
+
+ long queryInterface( const QUuid &amp;, void** ) const;
+
+ QVariant dynamicCall( const QCString&amp;, const QVariant &amp;v1 = QVariant(),
+ const QVariant &amp;v2 = QVariant(),
+ const QVariant &amp;v3 = QVariant(),
+ const QVariant &amp;v4 = QVariant(),
+ const QVariant &amp;v5 = QVariant(),
+ const QVariant &amp;v6 = QVariant(),
+ const QVariant &amp;v7 = QVariant(),
+ const QVariant &amp;v8 = QVariant() );
+ QVariant dynamicCall( const QCString&amp;, QValueList&lt;QVariant&gt; &amp;vars );
+ QAxObject *querySubObject( const QCString &amp;name, const QVariant &amp;v1 = QVariant(),
+ const QVariant &amp;v2 = QVariant(),
+ const QVariant &amp;v3 = QVariant(),
+ const QVariant &amp;v4 = QVariant(),
+ const QVariant &amp;v5 = QVariant(),
+ const QVariant &amp;v6 = QVariant(),
+ const QVariant &amp;v7 = QVariant(),
+ const QVariant &amp;v8 = QVariant() );
+
+ virtual QMetaObject *metaObject() const;
+ virtual bool qt_invoke( int, QUObject* );
+ virtual bool qt_property( int, int, QVariant* );
+ virtual bool qt_emit( int, QUObject* ) = 0;
+ virtual const char *className() const = 0;
+ virtual QObject *qObject() = 0;
+
+ PropertyBag propertyBag() const;
+ void setPropertyBag( const PropertyBag&amp; );
+
+ QString generateDocumentation();
+
+ virtual bool propertyWritable( const char* ) const;
+ virtual void setPropertyWritable( const char*, bool );
+
+ bool isNull() const;
+
+ QVariant asVariant() const;
+
+#ifdef Q_QDOC
+#error "The Symbol Q_QDOC is reserved for documentation purposes."
+ enum PropertyBag {};
+signals:
+ void signal(const QString&amp;,int,void*);
+ void propertyChanged(const QString&amp;);
+ void exception(int,const QString&amp;,const QString&amp;,const QString&amp;);
+#endif
+
+public:
+ virtual void clear();
+ bool setControl( const QString&amp; );
+
+ void disableMetaObject();
+ void disableClassInfo();
+ void disableEventSink();
+
+protected:
+ virtual bool initialize( IUnknown** ptr );
+ bool initializeRemote(IUnknown** ptr);
+ bool initializeLicensed(IUnknown** ptr);
+ bool initializeActive(IUnknown** ptr);
+
+private:
+ bool initializeLicensedHelper(void *factory, const QString &amp;key, IUnknown **ptr);
+ QAxBasePrivate *d;
+
+ static QMetaObject *staticMetaObject() { return 0; }
+ virtual QMetaObject *parentMetaObject() const = 0;
+ bool internalInvoke( const QCString &amp;name, void *out, QVariant var[], QCString &amp;type );
+
+ QString ctrl;
+};
+
+inline QString QAxBase::generateDocumentation()
+{
+ extern QString qax_generateDocumentation(QAxBase *, QAxBasePrivate *);
+ return qax_generateDocumentation(this, d);
+}
+
+#ifndef QT_NO_DATASTREAM
+inline QDataStream &amp;operator &gt;&gt;( QDataStream &amp;s, QAxBase &amp;c )
+{
+ QAxBase::PropertyBag bag;
+ c.qObject()-&gt;blockSignals( TRUE );
+ QString control;
+ s &gt;&gt; control;
+ c.setControl( control );
+ s &gt;&gt; bag;
+ c.setPropertyBag( bag );
+ c.qObject()-&gt;blockSignals( FALSE );
+
+ return s;
+}
+
+inline QDataStream &amp;operator &lt;&lt;( QDataStream &amp;s, const QAxBase &amp;c )
+{
+ QAxBase::PropertyBag bag = c.propertyBag();
+ s &lt;&lt; c.control();
+ s &lt;&lt; bag;
+
+ return s;
+}
+#endif // QT_NO_DATASTREAM
+
+#endif // QAXBASE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbase-members.html b/doc/html/qaxbase-members.html
new file mode 100644
index 0000000..51cde92
--- /dev/null
+++ b/doc/html/qaxbase-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbase.h:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxBase Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxBase</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxbase.html">QAxBase</a>, including inherited members.
+
+<ul>
+<li><a href="qaxbase.html#QAxBase">QAxBase</a>()
+<li><a href="qaxbase.html#~QAxBase">~QAxBase</a>()
+<li><a href="qaxbase.html#asVariant">asVariant</a>()
+<li><a href="qaxbase.html#clear">clear</a>()
+<li><a href="qaxbase.html#control">control</a>()
+<li><a href="qaxbase.html#disableClassInfo">disableClassInfo</a>()
+<li><a href="qaxbase.html#disableEventSink">disableEventSink</a>()
+<li><a href="qaxbase.html#disableMetaObject">disableMetaObject</a>()
+<li><a href="qaxbase.html#dynamicCall">dynamicCall</a>()
+<li><a href="qaxbase.html#exception">exception</a>()
+<li><a href="qaxbase.html#generateDocumentation">generateDocumentation</a>()
+<li><a href="qaxbase.html#initialize">initialize</a>()
+<li><a href="qaxbase.html#initializeActive">initializeActive</a>()
+<li><a href="qaxbase.html#initializeLicensed">initializeLicensed</a>()
+<li><a href="qaxbase.html#initializeRemote">initializeRemote</a>()
+<li><a href="qaxbase.html#isNull">isNull</a>()
+<li><a href="qaxbase.html#propertyBag">propertyBag</a>()
+<li><a href="qaxbase.html#propertyChanged">propertyChanged</a>()
+<li><a href="qaxbase.html#propertyWritable">propertyWritable</a>()
+<li><a href="qaxbase.html#queryInterface">queryInterface</a>()
+<li><a href="qaxbase.html#querySubObject">querySubObject</a>()
+<li><a href="qaxbase.html#setControl">setControl</a>()
+<li><a href="qaxbase.html#setPropertyBag">setPropertyBag</a>()
+<li><a href="qaxbase.html#setPropertyWritable">setPropertyWritable</a>()
+<li><a href="qaxbase.html#signal">signal</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbase.html b/doc/html/qaxbase.html
new file mode 100644
index 0000000..95ef8ba
--- /dev/null
+++ b/doc/html/qaxbase.html
@@ -0,0 +1,658 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxbase.cpp:556 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxBase Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxBase Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxBase class is an abstract class that provides an API
+to initalize and access a COM object.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxbase-h.html">qaxbase.h</a>&gt;</tt>
+<p>Inherited by <a href="qaxobject.html">QAxObject</a> and <a href="qaxwidget.html">QAxWidget</a>.
+<p><a href="qaxbase-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxBase"><b>QAxBase</b></a> ( IUnknown&nbsp;*&nbsp;iface = 0 )</li>
+<li class=fn>virtual <a href="#~QAxBase"><b>~QAxBase</b></a> ()</li>
+<li class=fn>QString <a href="#control"><b>control</b></a> () const</li>
+<li class=fn>long <a href="#queryInterface"><b>queryInterface</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;uuid, void&nbsp;**&nbsp;iface ) const</li>
+<li class=fn>QVariant <a href="#dynamicCall"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>QVariant <a href="#dynamicCall-2"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )</li>
+<li class=fn>QAxObject * <a href="#querySubObject"><b>querySubObject</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>PropertyBag <a href="#propertyBag"><b>propertyBag</b></a> () const</li>
+<li class=fn>void <a href="#setPropertyBag"><b>setPropertyBag</b></a> ( const&nbsp;PropertyBag&nbsp;&amp;&nbsp;bag )</li>
+<li class=fn>QString <a href="#generateDocumentation"><b>generateDocumentation</b></a> ()</li>
+<li class=fn>virtual bool <a href="#propertyWritable"><b>propertyWritable</b></a> ( const&nbsp;char&nbsp;*&nbsp;prop ) const</li>
+<li class=fn>virtual void <a href="#setPropertyWritable"><b>setPropertyWritable</b></a> ( const&nbsp;char&nbsp;*&nbsp;prop, bool&nbsp;ok )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>QVariant <a href="#asVariant"><b>asVariant</b></a> () const</li>
+<li class=fn>enum <a href="#PropertyBag-enum"><b>PropertyBag</b></a> { }</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#setControl"><b>setControl</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#disableMetaObject"><b>disableMetaObject</b></a> ()</li>
+<li class=fn>void <a href="#disableClassInfo"><b>disableClassInfo</b></a> ()</li>
+<li class=fn>void <a href="#disableEventSink"><b>disableEventSink</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#signal"><b>signal</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, int&nbsp;argc, void&nbsp;*&nbsp;argv )</li>
+<li class=fn>void <a href="#propertyChanged"><b>propertyChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>void <a href="#exception"><b>exception</b></a> ( int&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;source, const&nbsp;QString&nbsp;&amp;&nbsp;desc, const&nbsp;QString&nbsp;&amp;&nbsp;help )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QString <a href="#control-prop"><b>control</b></a>&nbsp;- the name of the COM object wrapped by this QAxBase object</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#initialize"><b>initialize</b></a> ( IUnknown&nbsp;**&nbsp;ptr )</li>
+<li class=fn>bool <a href="#initializeRemote"><b>initializeRemote</b></a> ( IUnknown&nbsp;**&nbsp;ptr )</li>
+<li class=fn>bool <a href="#initializeLicensed"><b>initializeLicensed</b></a> ( IUnknown&nbsp;**&nbsp;ptr )</li>
+<li class=fn>bool <a href="#initializeActive"><b>initializeActive</b></a> ( IUnknown&nbsp;**&nbsp;ptr )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+<p> The QAxBase class is an abstract class that provides an API
+to initalize and access a COM object.
+
+<p>
+
+<p> QAxBase is an abstract class that cannot be used directly, and is
+instantiated through the subclasses <a href="qaxobject.html">QAxObject</a> and <a href="qaxwidget.html">QAxWidget</a>. This
+class provides the API to access the COM object directly
+through its IUnknown implementation. If the COM object implements
+the IDispatch interface, the properties and methods of that object
+become available as Qt properties and slots.
+<p> <pre>
+ connect( buttonBack, SIGNAL(clicked()), webBrowser, SLOT(GoBack()) );
+ </pre>
+
+<p> Properties exposed by the object's IDispatch implementation can be
+read and written through the property system provided by the Qt
+Object Model (both subclasses are QObjects, so you can use <a href="qobject.html#setProperty">setProperty()</a> and <a href="qobject.html#property">property()</a> as with <a href="qobject.html">QObject</a>). Properties
+with multiple parameters are not supported.
+<p> <pre>
+ activeX-&gt;setProperty( "text", "some text" );
+ int value = activeX-&gt;property( "value" );
+ </pre>
+
+<p> Write-functions for properties and other methods exposed by the
+object's IDispatch implementation can be called directly using
+<a href="#dynamicCall">dynamicCall</a>(), or indirectly as slots connected to a signal.
+<p> <pre>
+ webBrowser-&gt;dynamicCall( "GoHome()" );
+ </pre>
+
+<p> Outgoing events supported by the COM object are emitted as
+standard Qt signals.
+<p> <pre>
+ connect( webBrowser, SIGNAL(TitleChanged(const <a href="qstring.html">QString</a>&amp;)),
+ this, SLOT(setCaption(const <a href="qstring.html">QString</a>&amp;)) );
+ </pre>
+
+<p> QAxBase transparently converts between COM data types and the
+equivalent Qt data types. Some COM types have no equivalent Qt data structure.
+<p> Supported COM datatypes are listed in the first column of following table.
+The second column is the Qt type that can be used with the <a href="qobject.html">QObject</a> property
+functions. The third column is the Qt type that is used in the prototype of
+generated signals and slots for in-parameters, and the last column is the Qt
+type that is used in the prototype of signals and slots for out-parameters.
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">COM type
+<th valign="top">Qt property
+<th valign="top">in-parameter
+<th valign="top">out-parameter
+<tr bgcolor="#f0f0f0">
+<td valign="top">VARIANT_BOOL
+<td valign="top">bool
+<td valign="top">bool
+<td valign="top">bool&
+<tr bgcolor="#d0d0d0">
+<td valign="top">BSTR
+<td valign="top">QString
+<td valign="top">const <a href="qstring.html">QString</a>&
+<td valign="top">QString&
+<tr bgcolor="#f0f0f0">
+<td valign="top">char, short, int, long
+<td valign="top">int
+<td valign="top">int
+<td valign="top">int&
+<tr bgcolor="#d0d0d0">
+<td valign="top">uchar, ushort, uint, ulong
+<td valign="top">uint
+<td valign="top">uint
+<td valign="top">uint&
+<tr bgcolor="#f0f0f0">
+<td valign="top">float, double
+<td valign="top">double
+<td valign="top">double
+<td valign="top">double&
+<tr bgcolor="#d0d0d0">
+<td valign="top">DATE
+<td valign="top">QDateTime
+<td valign="top">const <a href="qdatetime.html">QDateTime</a>&
+<td valign="top">QDateTime&
+<tr bgcolor="#f0f0f0">
+<td valign="top">CY
+<td valign="top">Q_LLONG
+<td valign="top">Q_LLONG
+<td valign="top">Q_LLONG&
+<tr bgcolor="#d0d0d0">
+<td valign="top">OLE_COLOR
+<td valign="top">QColor
+<td valign="top">const <a href="qcolor.html">QColor</a>&
+<td valign="top">QColor&
+<tr bgcolor="#f0f0f0">
+<td valign="top">SAFEARRAY(VARIANT)
+<td valign="top">QValueList&lt;QVariant&gt;
+<td valign="top">const <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&
+<td valign="top">QValueList&lt;QVariant&gt;&
+<tr bgcolor="#d0d0d0">
+<td valign="top">SAFEARRAY(BYTE)
+<td valign="top">QByteArray
+<td valign="top">const <a href="qbytearray.html">QByteArray</a>&
+<td valign="top">QByteArray&
+<tr bgcolor="#f0f0f0">
+<td valign="top">SAFEARRAY(BSTR)
+<td valign="top">QStringList
+<td valign="top">const <a href="qstringlist.html">QStringList</a>&
+<td valign="top">QStringList&
+<tr bgcolor="#d0d0d0">
+<td valign="top">VARIANT
+<td valign="top">type-dependent
+<td valign="top">const <a href="qvariant.html">QVariant</a>&
+<td valign="top">QVariant&
+<tr bgcolor="#f0f0f0">
+<td valign="top">IFontDisp*
+<td valign="top">QFont
+<td valign="top">const <a href="qfont.html">QFont</a>&
+<td valign="top">QFont&
+<tr bgcolor="#d0d0d0">
+<td valign="top">IPictureDisp*
+<td valign="top">QPixmap
+<td valign="top">const <a href="qpixmap.html">QPixmap</a>&
+<td valign="top">QPixmap&
+<tr bgcolor="#f0f0f0">
+<td valign="top">IDispatch*
+<td valign="top">QAxObject* (read-only)
+<td valign="top"><a href="#asVariant">QAxBase::asVariant</a>()
+<td valign="top">QAxObject* (return value)
+<tr bgcolor="#d0d0d0">
+<td valign="top">IUnknown*
+<td valign="top">QAxObject* (read-only)
+<td valign="top"><a href="#asVariant">QAxBase::asVariant</a>()
+<td valign="top">QAxObject* (return value)
+<tr bgcolor="#f0f0f0">
+<td valign="top">SCODE, DECIMAL
+<td valign="top"><em>unsupported</em>
+<td valign="top"><em>unsupported</em>
+<td valign="top"><em>unsupported</em>
+</table></center>
+<p> Supported are also enumerations, and typedefs to supported types.
+<p> To call the methods of a COM interface described by the following IDL
+<pre>
+ dispinterface IControl
+ {
+ properties:
+ [id(1)] BSTR text;
+ [id(2)] IFontDisp *font;
+
+ methods:
+ [id(6)] void showColumn( [in] int i );
+ [id(3)] bool addColumn( [in] BSTR t );
+ [id(4)] int fillList( [in, out] SAFEARRAY(VARIANT) *list );
+ [id(5)] IDispatch *item( [in] int i );
+ };
+ </pre>
+
+use the QAxBase API like this:
+<pre>
+ <a href="qaxobject.html">QAxObject</a> object( "&lt;CLSID&gt;" );
+
+ <a href="qstring.html">QString</a> text = object.<a href="qobject.html#property">property</a>( "text" ).toString();
+ object.<a href="qobject.html#setProperty">setProperty</a>( "font", QFont( "Times New Roman", 12 ) );
+
+ connect( this, SIGNAL(clicked(int)), &amp;object, SLOT(showColumn(int)) );
+ bool ok = object.<a href="#dynamicCall">dynamicCall</a>( "addColumn(const <a href="qstring.html">QString</a>&amp;)", "Column 1" ).toBool();
+
+ <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; varlist;
+ <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; parameters;
+ parameters &lt;&lt; QVariant( varlist );
+ int n = object.<a href="#dynamicCall">dynamicCall</a>( "fillList(QValueList&lt;QVariant&gt;&amp;)", parameters ).toInt();
+
+ <a href="qaxobject.html">QAxObject</a> *item = object.querySubItem( "item(int)", 5 );
+ </pre>
+
+<p> Note that the <a href="qvaluelist.html">QValueList</a> the object should fill has to be provided as an
+element in the parameter list of QVariants.
+<p> If you need to access properties or pass parameters of unsupported
+datatypes you must access the COM object directly through its
+IDispatch implementation or other interfaces. Those interfaces can be
+retrieved through <a href="#queryInterface">queryInterface</a>().
+<p> <pre>
+ IUnknown *iface = 0;
+ activeX-&gt;queryInterface( IID_IUnknown, (void**)&amp;iface );
+ if ( iface ) {
+ // use the interface
+ iface-&gt;Release();
+ }
+ </pre>
+
+<p> To get the definition of the COM interfaces you will have to use the header
+files provided with the component you want to use. Some compilers can also
+import type libraries using the #import compiler directive. See the component
+documentation to find out which type libraries you have to import, and how to use
+them.
+<p> If you need to react to events that pass parameters of unsupported
+datatypes you can use the generic signal that delivers the event
+data as provided by the COM event.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="PropertyBag-enum"></a>QAxBase::PropertyBag</h3>
+
+<p> A <a href="qmap.html">QMap</a><QString,QVariant> that can store properties as name:value pairs.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxBase"></a>QAxBase::QAxBase ( IUnknown&nbsp;*&nbsp;iface = 0 )
+</h3>
+Creates a QAxBase object that wraps the COM object <em>iface</em>. If <em>iface</em> is 0 (the default), use <a href="#setControl">setControl</a>() to instantiate a COM
+object.
+
+<h3 class=fn><a name="~QAxBase"></a>QAxBase::~QAxBase ()<tt> [virtual]</tt>
+</h3>
+Shuts down the COM object and destroys the QAxBase object.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="asVariant"></a>QAxBase::asVariant () const
+</h3>
+Returns a <a href="qvariant.html">QVariant</a> that wraps the COM object. The variant can
+then be used as a parameter in e.g. <a href="#dynamicCall">dynamicCall</a>().
+
+<h3 class=fn>void <a name="clear"></a>QAxBase::clear ()<tt> [virtual]</tt>
+</h3>
+Disconnects and destroys the COM object.
+<p> If you reimplement this function you must also reimplement the
+destructor to call <a href="#clear">clear</a>(), and call this implementation at the
+end of your clear() function.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="control"></a>QAxBase::control () const
+</h3><p>Returns the name of the COM object wrapped by this QAxBase object.
+See the <a href="qaxbase.html#control-prop">"control"</a> property for details.
+<h3 class=fn>void <a name="disableClassInfo"></a>QAxBase::disableClassInfo ()
+</h3>
+Disables the class info generation for this ActiveX container. If
+you don't require any class information about the ActiveX control
+use this function to speed up the <a href="metaobjects.html#meta-object">meta object</a> generation.
+<p> Note that this function must be called immediately after
+construction of the object (without passing an object identifier),
+and before calling <a href="qaxwidget.html">QAxWidget</a>->setControl().
+
+<h3 class=fn>void <a name="disableEventSink"></a>QAxBase::disableEventSink ()
+</h3>
+Disables the event sink implementation for this ActiveX container.
+If you don't intend to listen to the ActiveX control's events use
+this function to speed up the <a href="metaobjects.html#meta-object">meta object</a> generation.
+<p> Some ActiveX controls might be unstable when connected to an event
+sink. To get OLE events you must use standard COM methods to
+register your own event sink. Use <a href="#queryInterface">queryInterface</a>() to get access
+to the raw COM object.
+<p> Note that this function should be called immediately after
+construction of the object (without passing an object identifier),
+and before calling <a href="qaxwidget.html">QAxWidget</a>->setControl().
+
+<h3 class=fn>void <a name="disableMetaObject"></a>QAxBase::disableMetaObject ()
+</h3>
+Disables the <a href="metaobjects.html#meta-object">meta object</a> generation for this ActiveX container.
+This also disables the event sink and class info generation. If
+you don't intend to use the Qt meta object implementation call
+this function to speed up the meta object generation.
+<p> Some ActiveX controls might be unstable when used with OLE
+automation. Use standard COM methods to use those controls through
+the COM interfaces provided by <a href="#queryInterface">queryInterface</a>().
+<p> Note that this function must be called immediately after
+construction of the object (without passing an object identifier),
+and before calling <a href="qaxwidget.html">QAxWidget</a>->setControl().
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Calls the COM object's method <em>function</em>, passing the
+parameters <em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>,
+<em>var6</em>, <em>var7</em> and <em>var8</em>, and returns the value returned by
+the method, or an invalid <a href="qvariant.html">QVariant</a> if the method does not return
+a value or when the function call failed.
+<p> If <em>function</em> is a method of the object the string must be provided
+as the full prototype, for example as it would be written in a
+<a href="qobject.html#connect">QObject::connect</a>() call.
+<pre>
+ activeX-&gt;dynamicCall( "Navigate(const <a href="qstring.html">QString</a>&amp;)", "www.trolltech.com" );
+ </pre>
+
+<p> Alternatively a function can be called passing the parameters embedded
+in the string, e.g. above function can also be invoked using
+<pre>
+ activeX-&gt;dynamicCall("Navigate(\"www.trolltech.com\");
+ </pre>
+
+All parameters are passed as strings; it depends on the control whether
+they are interpreted correctly, and is slower than using the prototype
+with correctly typed parameters.
+<p> If <em>function</em> is a property the string has to be the name of the
+property. The property setter is called when <em>var1</em> is a valid QVariant,
+otherwise the getter is called.
+<pre>
+ activeX-&gt;dynamicCall( "Value", 5 );
+ <a href="qstring.html">QString</a> text = activeX-&gt;dynamicCall( "Text" ).toString();
+ </pre>
+
+Note that it is faster to get and set properties using
+<a href="qobject.html#property">QObject::property</a>() and <a href="qobject.html#setProperty">QObject::setProperty</a>().
+<p> It is only possible to call functions through <a href="#dynamicCall">dynamicCall</a>() that
+have parameters or return values of datatypes supported by
+<a href="qvariant.html">QVariant</a>. See the QAxBase class documentation for a list of
+supported and unsupported datatypes. If you want to call functions
+that have unsupported datatypes in the parameter list, use
+<a href="#queryInterface">queryInterface</a>() to retrieve the appropriate COM interface, and
+use the function directly.
+<p> <pre>
+ IWebBrowser2 *webBrowser = 0;
+ activeX-&gt;queryInterface( IID_IWebBrowser2, (void**)&amp;webBrowser );
+ if ( webBrowser ) {
+ webBrowser-&gt;Navigate2( pvarURL );
+ webBrowser-&gt;Release();
+ }
+ </pre>
+
+<p> This is also more efficient.
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2720">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall-2"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calls the COM object's method <em>function</em>, passing the
+parameters in <em>vars</em>, and returns the value returned by
+the method. If the method does not return a value or when
+the function call failed this function returns an invalid
+<a href="qvariant.html">QVariant</a> object.
+<p> The QVariant objects in <em>vars</em> are updated when the method has
+out-parameters.
+
+<h3 class=fn>void <a name="exception"></a>QAxBase::exception ( int&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;source, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;desc, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;help )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the COM object throws an exception while called using the OLE automation
+interface IDispatch. <em>code</em>, <em>source</em>, <em>desc</em> and <em>help</em> provide information about the exception as
+provided by the COM server and can be used to provide useful feedback to the end user. <em>help</em> includes
+the help file, and the help context ID in brackets, e.g. "filename [id]".
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="generateDocumentation"></a>QAxBase::generateDocumentation ()
+</h3>
+
+<p> Returns a rich text string with documentation for the
+wrapped COM object. Dump the string to an HTML-file,
+or use it in e.g. a <a href="qtextbrowser.html">QTextBrowser</a> widget.
+
+<h3 class=fn>bool <a name="initialize"></a>QAxBase::initialize ( IUnknown&nbsp;**&nbsp;ptr )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called by <a href="#setControl">setControl</a>() and creates the
+requested COM object. <em>ptr</em> is set to the object's IUnknown
+implementation. The function returns TRUE if the object
+initialization succeeded; otherwise the function returns FALSE.
+<p> The default implementation interprets the string returned by
+<a href="#control">control</a>(), and calls <a href="#initializeRemote">initializeRemote</a>(), <a href="#initializeLicensed">initializeLicensed</a>()
+or <a href="#initializeActive">initializeActive</a>() if the string matches the respective
+patterns. If no pattern is matched, or if remote or licensed
+initialization fails, CoCreateInstance is used directly to create
+the object.
+<p> See the <a href="#control-prop">control</a> property documentation for details about
+supported patterns.
+<p> The interface returned in <em>ptr</em> must be referenced exactly once
+when this function returns. The interface provided by e.g.
+CoCreateInstance is already referenced, and there is no need to
+reference it again.
+
+<h3 class=fn>bool <a name="initializeActive"></a>QAxBase::initializeActive ( IUnknown&nbsp;**&nbsp;ptr )<tt> [protected]</tt>
+</h3>
+Returns an active instance running on the current machine, and returns the
+IUnknown interface to the running object in <em>ptr</em>. This function returns TRUE
+if successful, otherwise returns FALSE.
+<p> This function is called by <a href="#initialize">initialize</a>() if the control string contains the
+substring "}&".
+<p> <p>See also <a href="#initialize">initialize</a>().
+
+<h3 class=fn>bool <a name="initializeLicensed"></a>QAxBase::initializeLicensed ( IUnknown&nbsp;**&nbsp;ptr )<tt> [protected]</tt>
+</h3>
+Creates an instance of a licensed control, and returns the IUnknown interface
+to the object in <em>ptr</em>. This functions returns TRUE if successful, otherwise
+returns FALSE.
+<p> This function is called by <a href="#initialize">initialize</a>() if the control string contains the
+substring "}:". The license key needs to follow this substring.
+<p> <p>See also <a href="#initialize">initialize</a>().
+
+<h3 class=fn>bool <a name="initializeRemote"></a>QAxBase::initializeRemote ( IUnknown&nbsp;**&nbsp;ptr )<tt> [protected]</tt>
+</h3>
+Creates the instance on a remote server, and returns the IUnknown interface
+to the object in <em>ptr</em>. This function returns TRUE if successful, otherwise
+returns FALSE.
+<p> This function is called by <a href="#initialize">initialize</a>() if the control string contains the
+substring "/{". The information about the remote machine needs to be provided
+in front of the substring.
+<p> <p>See also <a href="#initialize">initialize</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QAxBase::isNull () const
+</h3>
+Returns TRUE if there is no COM object loaded by this wrapper;
+otherwise return FALSE.
+<p> <p>See also <a href="#control-prop">control</a>.
+
+<h3 class=fn><a href="qaxbase.html#PropertyBag-enum">PropertyBag</a> <a name="propertyBag"></a>QAxBase::propertyBag () const
+</h3>
+Returns a name:value map of all the properties exposed by the COM
+object.
+<p> This is more efficient than getting multiple properties
+individually if the COM object supports property bags.
+<p> <b>Warning:</b> It is not guaranteed that the property bag implementation
+of the COM object returns all properties, or that the properties
+returned are the same as those available through the IDispatch
+interface.
+
+<h3 class=fn>void <a name="propertyChanged"></a>QAxBase::propertyChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [signal]</tt>
+</h3>
+
+<p> If the COM object supports property notification, this signal gets
+emitted when the property called <em>name</em> is changed.
+
+<h3 class=fn>bool <a name="propertyWritable"></a>QAxBase::propertyWritable ( const&nbsp;char&nbsp;*&nbsp;prop ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the property <em>prop</em> is writable; otherwise
+returns FALSE. By default, all properties are writable.
+<p> <b>Warning:</b>
+Depending on the control implementation this setting might be
+ignored for some properties.
+<p> <p>See also <a href="#setPropertyWritable">setPropertyWritable</a>() and <a href="#propertyChanged">propertyChanged</a>().
+
+<h3 class=fn>long <a name="queryInterface"></a>QAxBase::queryInterface ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;uuid, void&nbsp;**&nbsp;iface ) const
+</h3>
+Requests the interface <em>uuid</em> from the COM object and sets the
+value of <em>iface</em> to the provided interface, or to 0 if the
+requested interface could not be provided.
+<p> Returns the result of the QueryInterface implementation of the COM object.
+<p> <p>See also <a href="#control-prop">control</a>.
+
+<h3 class=fn><a href="qaxobject.html">QAxObject</a>&nbsp;* <a name="querySubObject"></a>QAxBase::querySubObject ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Returns a pointer to a <a href="qaxobject.html">QAxObject</a> wrapping the COM object provided
+by the method or property <em>name</em>, passing passing the parameters
+<em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>, <em>var6</em>,
+<em>var7</em> and <em>var8</em>.
+<p> If <em>name</em> is provided by a method the string must include the
+full function prototype.
+<p> If <em>name</em> is a property the string must be the name of the property,
+and <em>var1</em>, ... <em>var8</em> are ignored.
+<p> The returned QAxObject is a child of this object (which is either of
+type QAxObject or <a href="qaxwidget.html">QAxWidget</a>), and is deleted when this object is
+deleted. It is however safe to delete the returned object yourself,
+and you should do so when you iterate over lists of subobjects.
+<p> COM enabled applications usually have an object model publishing
+certain elements of the application as dispatch interfaces. Use
+this method to navigate the hierarchy of the object model, e.g.
+<p> <pre>
+ <a href="qaxwidget.html">QAxWidget</a> outlook( "Outlook.Application" );
+ <a href="qaxobject.html">QAxObject</a> *session = outlook.<a href="#querySubObject">querySubObject</a>( "Session" );
+ if ( session ) {
+ <a href="qaxobject.html">QAxObject</a> *defFolder = session-&gt;<a href="#querySubObject">querySubObject</a>(
+ "GetDefaultFolder(OlDefaultFolders)",
+ "olFolderContacts" );
+ //...
+ }
+ </pre>
+
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2721">qutlook/centralwidget.cpp</a>.
+<h3 class=fn>bool <a name="setControl"></a>QAxBase::setControl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )
+</h3><p>Sets the name of the COM object wrapped by this QAxBase object.
+See the <a href="qaxbase.html#control-prop">"control"</a> property for details.
+<h3 class=fn>void <a name="setPropertyBag"></a>QAxBase::setPropertyBag ( const&nbsp;<a href="qaxbase.html#PropertyBag-enum">PropertyBag</a>&nbsp;&amp;&nbsp;bag )
+</h3>
+Sets the properties of the COM object to the corresponding values
+in <em>bag</em>.
+<p> <b>Warning:</b>
+You should only set property bags that have been returned by the
+propertyBag function, as it cannot be guaranteed that the property
+bag implementation of the COM object supports the same properties
+that are available through the IDispatch interface.
+<p> <p>See also <a href="#propertyBag">propertyBag</a>().
+
+<h3 class=fn>void <a name="setPropertyWritable"></a>QAxBase::setPropertyWritable ( const&nbsp;char&nbsp;*&nbsp;prop, bool&nbsp;ok )<tt> [virtual]</tt>
+</h3>
+Sets the property <em>prop</em> to writable if <em>ok</em> is TRUE, otherwise
+sets <em>prop</em> to be read-only. By default, all properties are
+writable.
+<p> <b>Warning:</b>
+Depending on the control implementation this setting might be
+ignored for some properties.
+<p> <p>See also <a href="#propertyWritable">propertyWritable</a>() and <a href="#propertyChanged">propertyChanged</a>().
+
+<h3 class=fn>void <a name="signal"></a>QAxBase::signal ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, int&nbsp;argc, void&nbsp;*&nbsp;argv )<tt> [signal]</tt>
+</h3>
+
+<p> This generic signal gets emitted when the COM object issues the
+event <em>name</em>. <em>argc</em> is the number of parameters provided by the
+event (DISPPARAMS.cArgs), and <em>argv</em> is the pointer to the
+parameter values (DISPPARAMS.rgvarg). Note that the order of parameter
+values is turned around, ie. the last element of the array is the first
+parameter in the function.
+<p> <pre>
+ void Receiver::slot( const <a href="qstring.html">QString</a> &amp;name, int argc, void *argv )
+ {
+ VARIANTARG *params = (VARIANTARG*)argv;
+ if ( name.<a href="qstring.html#startsWith">startsWith</a>( "BeforeNavigate2(" ) ) {
+ IDispatch *pDisp = params[argc-1].pdispVal;
+ VARIANTARG URL = *params[argc-2].pvarVal;
+ VARIANTARG Flags = *params[argc-3].pvarVal;
+ VARIANTARG TargetFrameName = *params[argc-4].pvarVal;
+ VARIANTARG PostData = *params[argc-5].pvarVal;
+ VARIANTARG Headers = *params[argc-6].pvarVal;
+ bool *Cancel = params[argc-7].pboolVal;
+ }
+ }
+ </pre>
+
+<p> Use this signal if the event has parameters of unsupported data
+types. Otherwise, connect directly to the signal <em>name</em>.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="control-prop"></a>control</h3>
+<p>This property holds the name of the COM object wrapped by this QAxBase object.
+<p>Setting this property initilializes the COM object. Any COM object
+previously set is shut down.
+<p> The most efficient way to set this property is by using the
+registered component's UUID, e.g.
+<pre>
+ ctrl-&gt;setControl( "{8E27C92B-1264-101C-8A2F-040224009C02}" );
+ </pre>
+
+The second fastest way is to use the registered control's class
+name (with or without version number), e.g.
+<pre>
+ ctrl-&gt;setControl( "MSCal.Calendar" );
+ </pre>
+
+The slowest, but easiest way to use is to use the control's full
+name, e.g.
+<pre>
+ ctrl-&gt;setControl( "Calendar Control 9.0" );
+ </pre>
+
+<p> If the component's UUID is used the following patterns can be used
+to initialize the control on a remote machine, to initialize a
+licensed control or to connect to a running object:
+<ul>
+<li> To initialize the control on a different machine use the following
+pattern:
+<pre>
+ &lt;domain/username&gt;:&lt;password&gt;@server/{8E27C92B-1264-101C-8A2F-040224009C02}
+ </pre>
+
+<li> To initialize a licensed control use the following pattern:
+<pre>
+ {8E27C92B-1264-101C-8A2F-040224009C02}:&lt;LicenseKey&gt;
+ </pre>
+
+<li> To connect to an already running object use the following pattern:
+<pre>
+ {8E27C92B-1264-101C-8A2F-040224009C02}&amp;
+ </pre>
+
+</ul>
+The first two patterns can be combined, e.g. to initialize a licensed
+control on a remote machine:
+<pre>
+ ctrl-&gt;setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");
+ </pre>
+
+<p> The control's read function always returns the control's UUID, if provided including the license
+key, and the name of the server, but not including the username, the domain or the password.
+
+<p>Set this property's value with <a href="#setControl">setControl</a>() and get this property's value with <a href="#control">control</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbindable-h.html b/doc/html/qaxbindable-h.html
new file mode 100644
index 0000000..58e1d69
--- /dev/null
+++ b/doc/html/qaxbindable-h.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbindable.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxbindable.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxbindable.h</h1>
+
+<p>This is the verbatim text of the qaxbindable.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxbindable.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxBindable class
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QAXBINDABLE_H
+#define QAXBINDABLE_H
+
+#include &lt;qwidget.h&gt;
+#include &lt;private/qcom_p.h&gt;
+
+struct IAxServerBase;
+struct IUnknown;
+
+class QAxAggregated
+{
+ friend class QAxServerBase;
+public:
+ virtual long queryInterface( const QUuid &amp;iid, void **iface ) = 0;
+
+protected:
+ virtual ~QAxAggregated();
+
+ IUnknown *controllingUnknown() const
+ { return controlling_unknown; }
+ QWidget *widget() const
+ {
+ if ( the_object &amp;&amp; the_object-&gt;isWidgetType() )
+ return (QWidget*)the_object;
+ return 0;
+ }
+ QObject *object() const { return the_object; }
+
+private:
+ IUnknown *controlling_unknown;
+ QObject *the_object;
+};
+
+#define QAXAGG_IUNKNOWN \
+ HRESULT WINAPI QueryInterface( REFIID iid, LPVOID *iface ) { \
+ return controllingUnknown()-&gt;QueryInterface( iid, iface ); } \
+ ULONG WINAPI AddRef() {return controllingUnknown()-&gt;AddRef(); } \
+ ULONG WINAPI Release() {return controllingUnknown()-&gt;Release(); } \
+
+
+class QAxBindable
+{
+ friend class QAxServerBase;
+public:
+ QAxBindable();
+ virtual ~QAxBindable();
+
+ virtual QAxAggregated *createAggregate();
+ static void reportError( int code, const QString &amp;src, const QString &amp;desc, const QString &amp;help = QString::null );
+
+protected:
+ bool requestPropertyChange( const char *property );
+ void propertyChanged( const char *property );
+
+ IUnknown *clientSite() const;
+
+private:
+ IAxServerBase *activex;
+};
+
+#endif // QAXBINDABLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbindable-members.html b/doc/html/qaxbindable-members.html
new file mode 100644
index 0000000..78e2d93
--- /dev/null
+++ b/doc/html/qaxbindable-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbindable.h:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxBindable Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxBindable</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxbindable.html">QAxBindable</a>, including inherited members.
+
+<ul>
+<li><a href="qaxbindable.html#QAxBindable">QAxBindable</a>()
+<li><a href="qaxbindable.html#~QAxBindable">~QAxBindable</a>()
+<li><a href="qaxbindable.html#clientSite">clientSite</a>()
+<li><a href="qaxbindable.html#createAggregate">createAggregate</a>()
+<li><a href="qaxbindable.html#propertyChanged">propertyChanged</a>()
+<li><a href="qaxbindable.html#reportError">reportError</a>()
+<li><a href="qaxbindable.html#requestPropertyChange">requestPropertyChange</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxbindable.html b/doc/html/qaxbindable.html
new file mode 100644
index 0000000..f49d34a
--- /dev/null
+++ b/doc/html/qaxbindable.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/control/qaxbindable.cpp:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxBindable Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxBindable Class Reference<br><small>[<a href="qaxserver.html">QAxServer module</a>]</small></h1>
+
+<p>The QAxBindable class provides an interface between a
+QWidget and an ActiveX client.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxbindable-h.html">qaxbindable.h</a>&gt;</tt>
+<p><a href="qaxbindable-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxBindable"><b>QAxBindable</b></a> ()</li>
+<li class=fn>virtual <a href="#~QAxBindable"><b>~QAxBindable</b></a> ()</li>
+<li class=fn>virtual QAxAggregated * <a href="#createAggregate"><b>createAggregate</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#reportError"><b>reportError</b></a> ( int&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;src, const&nbsp;QString&nbsp;&amp;&nbsp;desc, const&nbsp;QString&nbsp;&amp;&nbsp;context = QString::null )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>bool <a href="#requestPropertyChange"><b>requestPropertyChange</b></a> ( const&nbsp;char&nbsp;*&nbsp;property )</li>
+<li class=fn>void <a href="#propertyChanged"><b>propertyChanged</b></a> ( const&nbsp;char&nbsp;*&nbsp;property )</li>
+<li class=fn>IUnknown * <a href="#clientSite"><b>clientSite</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxBindable class provides an interface between a
+<a href="qwidget.html">QWidget</a> and an ActiveX client.
+
+<p>
+
+<p> The functions provided by this class allow an ActiveX control to
+communicate property changes to a client application. Inherit
+your control class from both QWidget (directly or indirectly) and
+this class to get access to this class's functions. The <a href="moc.html">meta object compiler</a> requires you to inherit from
+QWidget <em>first</em>.
+<p> <pre>
+ class MyActiveX : public <a href="qwidget.html">QWidget</a>, public QAxBindable
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ Q_PROPERTY( int value READ value WRITE setValue )
+ public:
+ MyActiveX( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+ ...
+
+ int value() const;
+ void setValue( int );
+ };
+ </pre>
+
+<p> When implementing the property write function, use
+<a href="#requestPropertyChange">requestPropertyChange</a>() to get permission from the ActiveX client
+application to change this property. When the property changes,
+call <a href="#propertyChanged">propertyChanged</a>() to notify the ActiveX client application
+about the change. If a fatal error occurs in the control, use the
+static <a href="#reportError">reportError</a>() function to notify the client.
+<p> Use the interface returned by <a href="#clientSite">clientSite</a>() to call the ActiveX
+client. To implement additional COM interfaces in your ActiveX
+control, reimplement <a href="#createAggregate">createAggregate</a>() to return a new object of a
+<a href="qaxaggregated.html">QAxAggregated</a> subclass.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxBindable"></a>QAxBindable::QAxBindable ()
+</h3>
+Constructs an empty QAxBindable object.
+
+<h3 class=fn><a name="~QAxBindable"></a>QAxBindable::~QAxBindable ()<tt> [virtual]</tt>
+</h3>
+Destroys the QAxBindable object.
+
+<h3 class=fn>IUnknown * <a name="clientSite"></a>QAxBindable::clientSite () const<tt> [protected]</tt>
+</h3>
+Returns a pointer to the client site interface for this ActiveX object,
+or null if no client site has been set.
+<p> Call QueryInterface() on the returned interface to get the interface you
+want to call.
+
+<h3 class=fn><a href="qaxaggregated.html">QAxAggregated</a>&nbsp;* <a name="createAggregate"></a>QAxBindable::createAggregate ()<tt> [virtual]</tt>
+</h3>
+Reimplement this function when you want to implement additional
+COM interfaces in the ActiveX control, or when you want to provide
+alternative implementations of COM interfaces. Return a new object
+of a <a href="qaxaggregated.html">QAxAggregated</a> subclass.
+<p> The default implementation returns the null pointer.
+
+<h3 class=fn>void <a name="propertyChanged"></a>QAxBindable::propertyChanged ( const&nbsp;char&nbsp;*&nbsp;property )<tt> [protected]</tt>
+</h3>
+Call this function to notify the client that is hosting this
+ActiveX control that the property <em>property</em> has been changed.
+<p> This function is usually called at the end of the property's write
+function.
+<p> <p>See also <a href="#requestPropertyChange">requestPropertyChange</a>().
+
+<h3 class=fn>void <a name="reportError"></a>QAxBindable::reportError ( int&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;src, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;desc, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context = QString::null )<tt> [static]</tt>
+</h3>
+
+<p> Reports an error to the client application. <em>code</em> is a
+control-defined error code. <em>desc</em> is a human-readable description
+of the error intended for the application user. <em>src</em> is the name
+of the source for the error, typically the ActiveX server name. <em>context</em> can be the location of a help file with more information
+about the error. If <em>context</em> ends with a number in brackets,
+e.g. [12], this number will be interpreted as the context ID in
+the help file.
+
+<h3 class=fn>bool <a name="requestPropertyChange"></a>QAxBindable::requestPropertyChange ( const&nbsp;char&nbsp;*&nbsp;property )<tt> [protected]</tt>
+</h3>
+Call this function to request permission to change the property
+<em>property</em> from the client that is hosting this ActiveX control.
+Returns TRUE if the client allows the change; otherwise returns
+FALSE.
+<p> This function is usually called first in the write function for <em>property</em>, and writing is abandoned if the function returns FALSE.
+<p> <pre>
+ void MyActiveQt::setText( const <a href="qstring.html">QString</a> &amp;text )
+ {
+ if ( !requestPropertyChange( "text" ) )
+ return;
+
+ // update property
+
+ <a href="#propertyChanged">propertyChanged</a>( "text" );
+ }
+ </pre>
+
+<p> <p>See also <a href="#propertyChanged">propertyChanged</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxcontainer-example-qutlook.html b/doc/html/qaxcontainer-example-qutlook.html
new file mode 100644
index 0000000..fb9241f
--- /dev/null
+++ b/doc/html/qaxcontainer-example-qutlook.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/qutlook/qutlook.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>In Sync with Outlook</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>In Sync with Outlook</h1>
+
+
+
+This example is a modified version of the standard
+<a href="addressbook-example.html">Qt addressbook</a> example.
+<p> It demonstrates the use of <a href="qaxobject.html">QAxObject</a> and querySubObject to instantiate and
+navigate the Outlook Object Model, and the use of the Qt property system to
+read and write values of items in the Outlook contact folder.
+<p>
+
+The modifications in the class declaration of the central widget are
+a forward declaration of the QAxObject class and the IDispatch interface,
+and a new <a href="qlistviewitem.html">QListViewItem</a> subclass <tt>ABListViewItem</tt> that implements a
+constructor and a destructor and has a member <tt>contact_item</tt> of type
+<a href="qaxobject.html">QAxObject</a>.
+<pre> class QAxObject;
+ struct IDispatch;
+
+ class ABListViewItem : public <a href="qlistviewitem.html">QListViewItem</a>
+ {
+ public:
+ ABListViewItem( <a href="qlistview.html">QListView</a> *listview, QString firstName, QString lastName, QString address, QString eMail, QAxObject *contact );
+ ~ABListViewItem();
+
+ <a href="qaxobject.html">QAxObject</a> *contactItem() const;
+
+ private:
+ <a href="qaxobject.html">QAxObject</a> *contact_item;
+ };
+</pre>
+<p> The ABCentralWidget gets a destructor, a new protected function <tt>setupOutlook</tt>,
+a new protected slot <tt>updateOutlook</tt>, and also three members of type <a href="qaxobject.html">QAxObject</a>.
+<pre> void findEntries();
+
+ void updateOutlook();
+
+ protected:
+ void setupTabWidget();
+ void setupListView();
+ void setupOutlook();
+
+ <a href="qaxobject.html">QAxObject</a> *outlook, *outlookSession, *contactItems;
+
+ <a href="qgridlayout.html">QGridLayout</a> *mainGrid;
+</pre>
+<p>
+
+The implementation of the ABListViewItem class is trivial:
+<pre> ABListViewItem::ABListViewItem( <a href="qlistview.html">QListView</a> *listview,
+ <a href="qstring.html">QString</a> firstName,
+ <a href="qstring.html">QString</a> lastName,
+ <a href="qstring.html">QString</a> address,
+ <a href="qstring.html">QString</a> eMail,
+ <a href="qaxobject.html">QAxObject</a> *contact )
+ : <a href="qlistviewitem.html">QListViewItem</a>( listview, firstName, lastName, address, eMail ), contact_item( contact )
+ {
+ }
+
+ ABListViewItem::~ABListViewItem()
+ {
+ delete contact_item;
+ }
+
+ QAxObject *ABListViewItem::contactItem() const
+ {
+ return contact_item;
+ }
+</pre>The ABCentralWidget constructor initializes the <a href="qaxobject.html">QAxObject</a> pointers to zero and
+calls the <tt>setupOutlook</tt> function. The ABCentralWidget destructor calls the
+Logoff method of the outlookSession object.
+<pre> ABCentralWidget::ABCentralWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name ), outlook( 0 ), outlookSession( 0 ), contactItems( 0 )
+ {
+ mainGrid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 1, 5, 5 );
+
+ setupTabWidget();
+ setupListView();
+ setupOutlook();
+
+ <a name="x2722"></a> mainGrid-&gt;<a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 0, 0 );
+ mainGrid-&gt;<a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 1, 1 );
+ }
+
+ ABCentralWidget::~ABCentralWidget()
+ {
+ if ( outlookSession )
+ outlookSession-&gt;dynamicCall( "Logoff()" );
+ }
+</pre>The <tt>setupOutlook</tt> implementation creates a QAxObject to wrap the
+Outlook.Application COM object.
+<pre> void ABCentralWidget::setupOutlook()
+ {
+ outlook = new <a href="qaxobject.html">QAxObject</a>( "Outlook.Application", this );
+</pre>The call to <tt>querySubObject</tt> returns a new <a href="qaxobject.html">QAxObject</a> wrapper around the
+"Session" object of the Outlook Object hierarchy. If the call fails for
+some reason setupOutlook returns, otherwise it calls the "Logon" method
+of the Session object.
+<pre> // Get a session object
+ <a name="x2721"></a> outlookSession = outlook-&gt;<a href="qaxbase.html#querySubObject">querySubObject</a>( "Session" );
+ if ( !outlookSession )
+ return;
+ // Login; doesn't hurt if you are already running and logged on...
+ outlookSession-&gt;dynamicCall( "Logon()" );
+</pre>The following call to <tt>querySubObject</tt> returns a new QAxObject wrapper
+around the default folder for "contacts".
+<pre> // Get the default folder for contacts
+ <a href="qaxobject.html">QAxObject</a> *defFolder = outlookSession-&gt;querySubObject( "GetDefaultFolder(OlDefaultFolders)", "olFolderContacts" );
+</pre><tt>querySubObject</tt> is then used again to get the list of all items in the
+folder. The <tt>connect</tt> statement connects the new ABCentralWidget slot
+to the signals provided by the "Items" COM object. Finally, it calls the
+<tt>updateOutlook</tt> function to populate the listview.
+<pre> // Get all items
+ if ( defFolder ) {
+ contactItems = defFolder-&gt;<a href="qaxbase.html#querySubObject">querySubObject</a>( "Items" );
+ <a href="qobject.html#connect">connect</a>( contactItems, SIGNAL(ItemAdd(IDispatch*)), this, SLOT(updateOutlook()) );
+ <a href="qobject.html#connect">connect</a>( contactItems, SIGNAL(ItemChange(IDispatch*)), this, SLOT(updateOutlook()) );
+ <a href="qobject.html#connect">connect</a>( contactItems, SIGNAL(ItemRemove()), this, SLOT(updateOutlook()) );
+ }
+
+ updateOutlook();
+ }
+</pre>
+<p> The implementation of the <tt>updateOutlook</tt> slot clears the listview, and uses
+<tt>querySubObject</tt> to iterate through the list of items. For every item provided a new
+ABListViewItem object is created and filled with the properties of the item
+object. The object returned by <tt>querySubObject</tt> is a child of the callee (ie. "contactItems"),
+but the list view item should take ownership to provide a cleaner relation between
+entries, so the item has to be removed from its parent object.
+<pre> void ABCentralWidget::updateOutlook()
+ {
+ <a name="x2725"></a> listView-&gt;<a href="qlistview.html#clear">clear</a>();
+ if ( !contactItems )
+ return;
+
+ <a href="qaxobject.html">QAxObject</a> *item = contactItems-&gt;querySubObject( "GetFirst()" );
+ while ( item ) {
+ <a name="x2729"></a> <a href="qstring.html">QString</a> firstName = item-&gt;<a href="qobject.html#property">property</a>( "FirstName" ).toString();
+ <a href="qstring.html">QString</a> lastName = item-&gt;<a href="qobject.html#property">property</a>( "LastName" ).toString();
+ <a href="qstring.html">QString</a> address = item-&gt;<a href="qobject.html#property">property</a>( "HomeAddress" ).toString();
+ <a href="qstring.html">QString</a> email = item-&gt;<a href="qobject.html#property">property</a>( "Email1Address" ).toString();
+
+ (void)new ABListViewItem( listView, firstName, lastName, address, email, item );
+ // the listviewitem takes ownership
+ <a name="x2727"></a> item-&gt;<a href="qlistviewitem.html#parent">parent</a>()-&gt;removeChild( item );
+
+ item = contactItems-&gt;querySubObject( "GetNext()" );
+ }
+ }
+</pre>
+<p> The <tt>addEntry</tt> implementation calls the CreateItem method of the Outlook.Application
+object to create a new contact item, and creates a new ABListViewItem if the call
+succeeds.
+<pre> void ABCentralWidget::addEntry()
+ {
+ <a name="x2724"></a> if ( !iFirstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iLastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ||
+ !iAddress-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iEMail-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ) {
+ <a href="qaxobject.html">QAxObject</a> *contactItem = outlook-&gt;<a href="qaxbase.html#querySubObject">querySubObject</a>( "CreateItem(OlItemType)", "olContactItem" );
+ if ( contactItem ) {
+ <a name="x2730"></a> contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "FirstName", iFirstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "LastName", iLastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "HomeAddress", iAddress-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "Email1Address", iEMail-&gt;<a href="qlineedit.html#text">text</a>() );
+ <a name="x2720"></a> contactItem-&gt;<a href="qaxbase.html#dynamicCall">dynamicCall</a>( "Save()" );
+
+ new ABListViewItem( listView, iFirstName-&gt;<a href="qlineedit.html#text">text</a>(),
+ iLastName-&gt;<a href="qlineedit.html#text">text</a>(), iAddress-&gt;<a href="qlineedit.html#text">text</a>(), iEMail-&gt;<a href="qlineedit.html#text">text</a>(), contactItem );
+ }
+ }
+
+ <a name="x2723"></a> iFirstName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iLastName-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iAddress-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ iEMail-&gt;<a href="qlineedit.html#setText">setText</a>( "" );
+ }
+</pre>
+<p> The <tt>changeEntry</tt> implementation updates the values in the contact item of the current
+listview item as well as the values of the listview item itself.
+<pre> void ABCentralWidget::changeEntry()
+ {
+ <a name="x2726"></a> ABListViewItem *item = (ABListViewItem*)listView-&gt;<a href="qlistview.html#currentItem">currentItem</a>();
+
+ if ( item &amp;&amp;
+ ( !iFirstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iLastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ||
+ !iAddress-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() || !iEMail-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() ) ) {
+
+ <a href="qaxobject.html">QAxObject</a> *contactItem = item-&gt;contactItem();
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "FirstName", iFirstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "LastName", iLastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "HomeAddress", iAddress-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qobject.html#setProperty">setProperty</a>( "Email1Address", iEMail-&gt;<a href="qlineedit.html#text">text</a>() );
+ contactItem-&gt;<a href="qaxbase.html#dynamicCall">dynamicCall</a>( "Save()" );
+
+ <a name="x2728"></a> item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 0, iFirstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 1, iLastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 2, iAddress-&gt;<a href="qlineedit.html#text">text</a>() );
+ item-&gt;<a href="qlistviewitem.html#setText">setText</a>( 3, iEMail-&gt;<a href="qlineedit.html#text">text</a>() );
+ }
+ }
+</pre>
+<p> To build the example you must first build the <a href="qaxcontainer.html">QAxContainer</a>
+library. Then run your make tool in <tt>examples/qutlook</tt> and run the resulting <tt>qutlok.exe</tt>.
+<p>See also <a href="qaxcontainer-examples.html">The QAxContainer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxcontainer-example-webbrowser.html b/doc/html/qaxcontainer-example-webbrowser.html
new file mode 100644
index 0000000..cae40a7
--- /dev/null
+++ b/doc/html/qaxcontainer-example-webbrowser.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/webbrowser/webbrowser.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Web Browser</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Web Browser</h1>
+
+
+
+This example utilizes the Microsoft Web Browser ActiveX control
+to implement a fully functional Web Browser application. The
+user interface has been developed using the Qt Designer
+integration of the <a href="qaxwidget.html">QAxWidget</a> class.
+<p> The code demonstrates how the Qt application can communicate
+with the embedded ActiveX controls using signals, slots and the
+dynamicCall() function. Most signal and slot connections have
+already been set up within Qt Designer.
+<p>
+
+<pre> void MainWindow::init()
+ {
+ pb = new <a href="qprogressbar.html">QProgressBar</a>( statusBar() );
+ <a name="x2513"></a> pb-&gt;<a href="qprogressbar.html#setPercentageVisible">setPercentageVisible</a>( FALSE );
+ <a name="x2516"></a> pb-&gt;<a href="qwidget.html#hide">hide</a>();
+ statusBar()-&gt;addWidget( pb, 0, TRUE );
+
+ connect( WebBrowser, SIGNAL(ProgressChange(int,int)), this, SLOT(setProgress(int,int)) );
+ connect( WebBrowser, SIGNAL(StatusTextChange(const <a href="qstring.html">QString</a>&amp;)), statusBar(), SLOT(message(const <a href="qstring.html">QString</a>&amp;)) );
+
+ WebBrowser-&gt;dynamicCall( "GoHome()" );
+ }
+</pre>The init() function is implemented to create a progress bar as
+the child of the status bar, and to connect Internet Explorer's
+<tt>ProgressChange()</tt> and <tt>StatusTextChange()</tt> signals to the
+respective displays.
+<p> Finally the <tt>GoHome()</tt> function of Internet Explorer is invoked
+using the <a href="qaxbase.html#dynamicCall">QAxBase::dynamicCall</a>() dynamicCall() API.
+<p> <pre> void MainWindow::go()
+ {
+ actionStop-&gt;setEnabled( TRUE );
+ WebBrowser-&gt;dynamicCall( "Navigate(const <a href="qstring.html">QString</a>&amp;)", addressEdit-&gt;text() );
+ }
+</pre>The go() function calls the <tt>NavigateTo()</tt> function of Internet
+Explorer, passing the text of the address bar as the argument.
+<p> <pre> void MainWindow::setTitle( const <a href="qstring.html">QString</a> &amp;title )
+ {
+ setCaption( "Qt WebBrowser - " + title );
+ }
+</pre>The setTitle() slot is connected to the TitleChange() signal
+of Internet Explorer, and updates the caption of the window
+using the provided title string.
+<p> <pre> void MainWindow::setProgress( int a, int b )
+ {
+ if ( a &lt;= 0 || b &lt;= 0 ) {
+ pb-&gt;<a href="qwidget.html#hide">hide</a>();
+ return;
+ }
+ pb-&gt;<a href="qwidget.html#show">show</a>();
+ <a name="x2515"></a> pb-&gt;<a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>( b );
+ <a name="x2514"></a> pb-&gt;<a href="qprogressbar.html#setProgress">setProgress</a>( a );
+ }
+
+ void MainWindow::setCommandState( int cmd, bool on )
+ {
+ switch ( cmd ) {
+ case 1:
+ actionForward-&gt;setEnabled( on );
+ break;
+ case 2:
+ actionBack-&gt;setEnabled( on );
+ break;
+ }
+ }
+
+ void MainWindow::navigateBegin()
+ {
+ actionStop-&gt;setEnabled( TRUE );
+ }
+
+ void MainWindow::navigateComplete()
+ {
+ actionStop-&gt;setEnabled( FALSE );
+ }
+</pre>The setProgress(), setCommandState(), navigateBegin() and
+navigateComplete() slots are connected to the respective
+signals of Internet Explorer and update the user interface.
+<p> The rest of the implementation is not related to <a href="activeqt.html#ActiveQt">ActiveQt</a> and
+omitted for brevity.
+<p> To build the example you must first build the
+<a href="qaxcontainer.html">QAxContainer</a> library.
+Then run your make tool in <tt>examples/webbrowser</tt> and
+run the resulting <tt>webbrowser.exe</tt>.
+<p>See also <a href="qaxcontainer-examples.html">The QAxContainer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxcontainer-examples.html b/doc/html/qaxcontainer-examples.html
new file mode 100644
index 0000000..19c2068
--- /dev/null
+++ b/doc/html/qaxcontainer-examples.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/examples.doc:13 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The QAxContainer Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The QAxContainer Examples</h1>
+
+
+
+The following example programs illustrate the embedding of ActiveX
+controls using the QAxContainer module.
+<p> For more information see the <a href="qaxcontainer.html">QAxContainer</a> documentation.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qaxcontainer-example-qutlook.html">In Sync with Outlook</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxcontainer-example-webbrowser.html">A Web Browser</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxcontainer.html b/doc/html/qaxcontainer.html
new file mode 100644
index 0000000..b94986c
--- /dev/null
+++ b/doc/html/qaxcontainer.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/doc/container.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The QAxContainer Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The QAxContainer Module</h1>
+
+
+<p>
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#2"> Building the library
+</a>
+<li><a href="#3"> Using the library
+</a>
+<ul>
+<li><a href="#3-1"> Distributing QAxContainer applications
+</a>
+</ul>
+<li><a href="#4"> Instantiating COM objects
+</a>
+<li><a href="#5"> Accessing the object API
+</a>
+<ul>
+<li><a href="#5-1"> Typical error messages
+</a>
+<ul>
+<li><a href="#5-1-1"> Requested control could not be instantiated
+</a>
+<li><a href="#5-1-2"> QAxBase::internalInvoke: No such method
+</a>
+<li><a href="#5-1-3"> Error calling IDispatch member: Non-optional parameter
+missing
+</a>
+<li><a href="#5-1-4"> Error calling IDispatch member: Type mismatch in
+parameter n
+</a>
+<li><a href="#5-1-5"> QAxScriptManager::call(): No script provides this function
+</a>
+</ul>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> The QAxContainer module provides a library implementing a <a href="qwidget.html">QWidget</a>
+subclass, <a href="qaxwidget.html">QAxWidget</a>, that acts as a container for ActiveX
+controls, and a <a href="qobject.html">QObject</a> subclass, <a href="qaxobject.html">QAxObject</a>, that can be used to
+easily access non-visual COM objects. Scripting COM objects embedded
+using these classes is possible through the <a href="qaxscript.html">QAxScript</a>, <a href="qaxscriptmanager.html">QAxScriptManager</a>
+and <a href="qaxscriptengine.html">QAxScriptEngine</a> classes.
+<p> This module is part of the <a href="activeqt.html">ActiveQt
+ framework</a>. (To make an application into an ActiveX server
+see the <a href="qaxserver.html">QAxServer module</a>.)
+<p> The module consists of six classes
+<ol type=1>
+<li> <a href="qaxbase.html">QAxBase</a> is an abstract class that provides an API to initialize
+and access a COM/ActiveX object.
+<li> <a href="qaxobject.html">QAxObject</a> provides a QObject that wraps a COM object.
+<li> <a href="qaxwidget.html">QAxWidget</a> is a <a href="qwidget.html">QWidget</a> that wraps an ActiveX control.
+<li> <a href="qaxscriptmanager.html">QAxScriptManager</a>, QAxScript and QAxScriptEngine provide an
+interface to the Windows Script Host.
+</ol>
+<p> Some <a href="qaxcontainer-examples.html">example applications</a>
+that use standard ActiveX controls to provide high level user
+interface functionality are provided.
+<p> <h2> Building the library
+</h2>
+<a name="2"></a><p> In the <tt>activeqt</tt> directory (usually <tt>QTDIR/extensions/activeqt</tt>)
+enter the <tt>container</tt> subdirectory and run <tt>qmake</tt> to generate the
+makefile, and use the make tool (<tt>nmake</tt> for VC++, <tt>make</tt> for Borland)
+to build the library. The library <tt>qaxcontainer.lib</tt> will be linked
+into <tt>QTDIR/lib</tt>.
+<p> If you have a shared configuration of Qt enter the <tt>plugin</tt> subdirectory
+and run <tt>qmake</tt> and your make tool to build a plugin that integrates the
+<a href="qaxwidget.html">QAxWidget</a> class into <a href="designer-manual.html">Qt Designer</a>.
+<p> <h2> Using the library
+</h2>
+<a name="3"></a><p> To build Qt applications that can host COM objects and ActiveX controls
+link the application against the QAxContainer module by adding
+<p> <pre>
+ LIBS += qaxcontainer.lib
+ </pre>
+
+<p> to the application's <tt>.pro</tt> file.
+<p> <h3> Distributing QAxContainer applications
+</h3>
+<a name="3-1"></a><p> The QAxContainer library is static, so there is no need to redistribute
+any additional files when using this module. Note however that the
+ActiveX server binaries you are using might not be installed on the
+target system, so you have to ship them with your package and register
+them during the installation process of your application.
+<p> <h2> Instantiating COM objects
+</h2>
+<a name="4"></a><p> To instantiate a COM object use the <a href="qaxbase.html#setControl">QAxBase::setControl</a>() API, or pass
+the name of the object directly into the constructor of the <a href="qaxbase.html">QAxBase</a>
+subclass you are using.
+<p> The control can be specified in a variety of formats, but the fastest
+and most powerful format is to use the class ID (CLSID) of the object
+directly. The class ID can be prepended with information about a remote
+machine that the object should run on, and can include a license key
+for licensed controls.
+<p> <h2> Accessing the object API
+</h2>
+<a name="5"></a><p> <a href="activeqt.html#ActiveQt">ActiveQt</a> provides a Qt API to the COM object, and replaces COM
+datatypes with Qt equivalents. Use the <tt>dumpdoc</tt> tool to get the
+documentation of the Qt API for any COM object and it's subobjects.
+<p> See the <a href="qaxwidget.html">QAxWidget</a> and <a href="qaxobject.html">QAxObject</a> API documentation about how to
+use this class to use ActiveX controls and COM objects in Qt
+applications. To access the COM object with scripting languages use
+the <a href="qaxscript.html">QAxScript</a> class.
+<p> To call functions of the COM object that can not be accessed via
+ActiveQt it is possible to request the COM interface directly using
+<a href="qaxbase.html#queryInterface">QAxBase::queryInterface</a>(). To get a C++ definition of the respective
+interface classes use the <tt>#import</tt> directive with the type library
+provided with the control.
+<p> <h3> Typical error messages
+</h3>
+<a name="5-1"></a><p> ActiveQt prints error messages to the debug output when it
+encounters error situations at runtime. Usually you must run
+your program in the debugger to see these messages (e.g. in Visual
+Studio's Debug output).
+<p> <h4> Requested control could not be instantiated
+</h4>
+<a name="5-1-1"></a><p> The control requested in <a href="qaxbase.html#setControl">QAxBase::setControl</a>() is not installed
+on this system, or is not accessible for the current user.
+<p> The control might require administrator rights, or a license key.
+If the control is licensed, reimplement initialize() and use the
+COM APIs to call the IClassFactory2 interface functions.
+<p> <h4> QAxBase::internalInvoke: No such method
+</h4>
+<a name="5-1-2"></a><p> A <tt>dynamicCall()</tt> failed - the function prototype did not
+match any function available in the object's API.
+<p> <h4> Error calling IDispatch member: Non-optional parameter
+missing
+</h4>
+<a name="5-1-3"></a><p> A <tt>dynamicCall()</tt> failed - the function prototype was correct,
+but too few parameters were provided.
+<p> <h4> Error calling IDispatch member: Type mismatch in
+parameter n
+</h4>
+<a name="5-1-4"></a><p> A <tt>dynamicCall()</tt> failed - the function prototype was correct,
+but the paramter at index <tt>n</tt> was of the wrong type and could
+not be coerced to the correct type.
+<p> <h4> <a href="qaxscriptmanager.html#call">QAxScriptManager::call</a>(): No script provides this function
+</h4>
+<a name="5-1-5"></a><p> You try to call a function that is provided through an engine
+that doesn't provide introspection (ie. ActivePython or
+ActivePerl). You need to call the function directly on the
+respective <a href="qaxscript.html">QAxScript</a> object.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxfactory-h.html b/doc/html/qaxfactory-h.html
new file mode 100644
index 0000000..6372f66
--- /dev/null
+++ b/doc/html/qaxfactory-h.html
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxfactory.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxfactory.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxfactory.h</h1>
+
+<p>This is the verbatim text of the qaxfactory.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxfactory.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxFactory class
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QAXFACTORY_H
+#define QAXFACTORY_H
+
+#include &lt;qdict.h&gt;
+#include &lt;quuid.h&gt;
+#include &lt;private/qcom_p.h&gt;
+#include &lt;qmetaobject.h&gt;
+
+// {22B230F6-8722-4051-ADCB-E7C9CE872EB3}
+#ifndef IID_QAxFactory
+#define IID_QAxFactory QUuid( 0x22b230f6, 0x8722, 0x4051, 0xad, 0xcb, 0xe7, 0xc9, 0xce, 0x87, 0x2e, 0xb3 )
+#endif
+
+class QWidget;
+class QMetaObject;
+class QSettings;
+struct IDispatch;
+
+struct QAxFactoryInterface : public QFeatureListInterface
+{
+public:
+#ifndef Q_QDOC
+ virtual QWidget *create( const QString &amp;key, QWidget *parent = 0, const char *name = 0 ) = 0;
+ virtual QObject *createObject( const QString &amp;key, QObject *parent = 0, const char *name = 0 ) = 0;
+ virtual QMetaObject *metaObject( const QString &amp;key ) const = 0;
+ virtual bool createObjectWrapper(QObject *object, IDispatch **wrapper) = 0;
+
+ virtual QUuid classID( const QString &amp;key ) const = 0;
+ virtual QUuid interfaceID( const QString &amp;key ) const = 0;
+ virtual QUuid eventsID( const QString &amp;key ) const = 0;
+ virtual QUuid typeLibID() const = 0;
+ virtual QUuid appID() const = 0;
+
+ virtual void registerClass( const QString &amp;key, QSettings * ) const = 0;
+ virtual void unregisterClass( const QString &amp;key, QSettings * ) const = 0;
+
+ virtual bool validateLicenseKey( const QString &amp;key, const QString &amp;licenseKey) const = 0;
+
+ virtual QString exposeToSuperClass( const QString &amp;key ) const = 0;
+ virtual bool stayTopLevel( const QString &amp;key ) const = 0;
+ virtual bool hasStockEvents( const QString &amp;key ) const = 0;
+ virtual bool isService() const = 0;
+#endif
+};
+
+extern QAxFactoryInterface *qAxFactory();
+
+class QAxFactory : public QAxFactoryInterface
+{
+public:
+ QAxFactory( const QUuid &amp;, const QUuid &amp;);
+ virtual ~QAxFactory();
+ Q_REFCOUNT;
+
+ QRESULT queryInterface( const QUuid &amp;iid, QUnknownInterface **iface );
+
+#ifdef Q_QDOC
+ virtual QStringList featureList() const = 0;
+#endif
+ virtual QWidget *create( const QString &amp;key, QWidget *parent = 0, const char *name = 0 );
+ virtual QObject *createObject( const QString &amp;key, QObject *parent = 0, const char *name = 0 );
+ virtual QMetaObject *metaObject( const QString &amp;key ) const;
+ virtual bool createObjectWrapper(QObject *object, IDispatch **wrapper);
+
+ virtual QUuid classID( const QString &amp;key ) const;
+ virtual QUuid interfaceID( const QString &amp;key ) const;
+ virtual QUuid eventsID( const QString &amp;key ) const;
+
+ virtual QUuid typeLibID() const;
+ virtual QUuid appID() const;
+
+ virtual void registerClass( const QString &amp;key, QSettings * ) const;
+ virtual void unregisterClass( const QString &amp;key, QSettings * ) const;
+
+ virtual bool validateLicenseKey( const QString &amp;key, const QString &amp;licenseKey) const;
+
+ virtual QString exposeToSuperClass( const QString &amp;key ) const;
+ virtual bool stayTopLevel( const QString &amp;key ) const;
+ virtual bool hasStockEvents( const QString &amp;key ) const;
+ virtual bool isService() const;
+
+ enum ServerType {
+ SingleInstance,
+ MultipleInstances
+ };
+
+ static bool isServer();
+ static QString serverDirPath();
+ static QString serverFilePath();
+ static bool startServer(ServerType type = MultipleInstances);
+ static bool stopServer();
+
+private:
+ QUuid typelib;
+ QUuid app;
+};
+
+inline bool QAxFactory::startServer(ServerType type)
+{
+ // implementation in qaxservermain.cpp
+ extern bool qax_startServer(ServerType);
+ return qax_startServer(type);
+}
+
+inline bool QAxFactory::stopServer()
+{
+ // implementation in qaxservermain.cpp
+ extern bool qax_stopServer();
+ return qax_stopServer();
+}
+
+#define QAXFACTORY_EXPORT( IMPL, TYPELIB, APPID ) \
+ QUnknownInterface *ucm_instantiate() \
+ { \
+ IMPL *impl = new IMPL( QUuid(TYPELIB), QUuid(APPID) ); \
+ QUnknownInterface* iface = 0; \
+ impl-&gt;queryInterface( IID_QUnknown, &amp;iface ); \
+ return iface; \
+ }
+
+#define QAXFACTORY_DEFAULT( Class, IIDClass, IIDInterface, IIDEvents, IIDTypeLib, IIDApp ) \
+ class QAxDefaultFactory : public QAxFactory \
+ { \
+ public: \
+ QAxDefaultFactory( const QUuid &amp;app, const QUuid &amp;lib) \
+ : QAxFactory( app, lib ) {} \
+ QStringList featureList() const \
+ { \
+ QStringList list; \
+ list &lt;&lt; #Class; \
+ return list; \
+ } \
+ QMetaObject *metaObject( const QString &amp;key ) const \
+ { \
+ if ( key == #Class ) \
+ return Class::staticMetaObject(); \
+ return 0; \
+ } \
+ QWidget *create( const QString &amp;key, QWidget *parent, const char *name ) \
+ { \
+ if ( key == #Class ) \
+ return new Class( parent, name ); \
+ return 0; \
+ } \
+ QUuid classID( const QString &amp;key ) const \
+ { \
+ if ( key == #Class ) \
+ return QUuid( IIDClass ); \
+ return QUuid(); \
+ } \
+ QUuid interfaceID( const QString &amp;key ) const \
+ { \
+ if ( key == #Class ) \
+ return QUuid( IIDInterface ); \
+ return QUuid(); \
+ } \
+ QUuid eventsID( const QString &amp;key ) const \
+ { \
+ if ( key == #Class ) \
+ return QUuid( IIDEvents ); \
+ return QUuid(); \
+ } \
+ }; \
+ QAXFACTORY_EXPORT( QAxDefaultFactory, IIDTypeLib, IIDApp ) \
+
+template&lt;class T&gt;
+class QAxClass : public QAxFactory
+{
+public:
+ QAxClass(const QString &amp;appId, const QString &amp;libId)
+ : QAxFactory(appId, libId)
+ {}
+
+ QMetaObject *metaObject(const QString &amp;key) const { return T::staticMetaObject(); }
+ QStringList featureList() const { return QString(T::staticMetaObject()-&gt;className()); }
+ QWidget *create(const QString &amp;key, QWidget *parent, const char *name)
+ {
+ if (key != QString(T::staticMetaObject()-&gt;className())) return 0;
+ if (!qstrcmp(T::staticMetaObject()-&gt;classInfo("Creatable", TRUE), "no")) return 0;
+ return new T(parent, name);
+ }
+};
+
+#define QAXFACTORY_BEGIN(IDTypeLib, IDApp) \
+ class QAxFactoryList : public QAxFactory \
+ { \
+ QStringList factoryKeys; \
+ QDict&lt;QAxFactoryInterface&gt; factories; \
+ public: \
+ QAxFactoryList() \
+ : QAxFactory(IDApp, IDTypeLib) \
+ { \
+ factories.setAutoDelete(TRUE); \
+ QAxFactoryInterface *factory = 0; \
+ QStringList keys; \
+ QStringList::Iterator it; \
+
+#define QAXCLASS(Class) \
+ factory = new QAxClass&lt;Class&gt;(appID(), typeLibID()); \
+ keys = factory-&gt;featureList(); \
+ for (it = keys.begin(); it != keys.end(); ++it) { \
+ factoryKeys += *it; \
+ factories.insert(*it, factory); \
+ }\
+
+#define QAXFACTORY_END() \
+ } \
+ QStringList featureList() const { return factoryKeys; } \
+ QWidget *create(const QString &amp;key, QWidget *parent, const char *name) { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;create(key, parent, name) : 0; \
+ } \
+ QUuid classID(const QString &amp;key) { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;classID(key) : QUuid(); \
+ } \
+ QUuid interfaceID(const QString &amp;key) { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;interfaceID(key) : QUuid(); \
+ } \
+ QUuid eventsID(const QString &amp;key) { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;eventsID(key) : QUuid(); \
+ } \
+ void registerClass( const QString &amp;key, QSettings *s ) const { \
+ QAxFactoryInterface *f = factories[key]; \
+ if (f) f-&gt;registerClass(key, s); \
+ } \
+ void unregisterClass( const QString &amp;key, QSettings *s ) const { \
+ QAxFactoryInterface *f = factories[key]; \
+ if (f) f-&gt;unregisterClass(key, s); \
+ } \
+ QString exposeToSuperClass( const QString &amp;key ) const { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;exposeToSuperClass(key) : QString(); \
+ } \
+ bool stayTopLevel( const QString &amp;key ) const { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;stayTopLevel(key) : FALSE; \
+ } \
+ bool hasStockEvents( const QString &amp;key ) const { \
+ QAxFactoryInterface *f = factories[key]; \
+ return f ? f-&gt;hasStockEvents(key) : FALSE; \
+ } \
+ }; \
+ QUnknownInterface *ucm_instantiate() \
+ { \
+ QAxFactoryList *impl = new QAxFactoryList(); \
+ QUnknownInterface* iface = 0; \
+ impl-&gt;queryInterface( IID_QUnknown, &amp;iface ); \
+ return iface; \
+ }
+
+
+#endif // QAXFACTORY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxfactory-members.html b/doc/html/qaxfactory-members.html
new file mode 100644
index 0000000..6f55177
--- /dev/null
+++ b/doc/html/qaxfactory-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxfactory.h:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxfactory.html">QAxFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qaxfactory.html#QAxFactory">QAxFactory</a>()
+<li><a href="qaxfactory.html#~QAxFactory">~QAxFactory</a>()
+<li><a href="qaxfactory.html#appID">appID</a>()
+<li><a href="qaxfactory.html#classID">classID</a>()
+<li><a href="qaxfactory.html#create">create</a>()
+<li><a href="qaxfactory.html#createObject">createObject</a>()
+<li><a href="qaxfactory.html#createObjectWrapper">createObjectWrapper</a>()
+<li><a href="qaxfactory.html#eventsID">eventsID</a>()
+<li><a href="qaxfactory.html#exposeToSuperClass">exposeToSuperClass</a>()
+<li><a href="qaxfactory.html#featureList">featureList</a>()
+<li><a href="qaxfactory.html#hasStockEvents">hasStockEvents</a>()
+<li><a href="qaxfactory.html#interfaceID">interfaceID</a>()
+<li><a href="qaxfactory.html#isServer">isServer</a>()
+<li><a href="qaxfactory.html#isService">isService</a>()
+<li><a href="qaxfactory.html#metaObject">metaObject</a>()
+<li><a href="qaxfactory.html#registerClass">registerClass</a>()
+<li><a href="qaxfactory.html#serverDirPath">serverDirPath</a>()
+<li><a href="qaxfactory.html#serverFilePath">serverFilePath</a>()
+<li><a href="qaxfactory.html#startServer">startServer</a>()
+<li><a href="qaxfactory.html#stayTopLevel">stayTopLevel</a>()
+<li><a href="qaxfactory.html#stopServer">stopServer</a>()
+<li><a href="qaxfactory.html#typeLibID">typeLibID</a>()
+<li><a href="qaxfactory.html#unregisterClass">unregisterClass</a>()
+<li><a href="qaxfactory.html#validateLicenseKey">validateLicenseKey</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxfactory.html b/doc/html/qaxfactory.html
new file mode 100644
index 0000000..82ffb5d
--- /dev/null
+++ b/doc/html/qaxfactory.html
@@ -0,0 +1,424 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/control/qaxfactory.cpp:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxFactory Class Reference<br><small>[<a href="qaxserver.html">QAxServer module</a>]</small></h1>
+
+<p>The QAxFactory class defines a factory for the creation of COM components.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxfactory-h.html">qaxfactory.h</a>&gt;</tt>
+<p><a href="qaxfactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxFactory"><b>QAxFactory</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;libid, const&nbsp;QUuid&nbsp;&amp;&nbsp;appid )</li>
+<li class=fn>virtual <a href="#~QAxFactory"><b>~QAxFactory</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#featureList"><b>featureList</b></a> () const = 0</li>
+<li class=fn>virtual QWidget * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual QObject * <a href="#createObject"><b>createObject</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual QMetaObject * <a href="#metaObject"><b>metaObject</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual bool <a href="#createObjectWrapper"><b>createObjectWrapper</b></a> ( QObject&nbsp;*&nbsp;object, IDispatch&nbsp;**&nbsp;wrapper )</li>
+<li class=fn>virtual QUuid <a href="#classID"><b>classID</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QUuid <a href="#interfaceID"><b>interfaceID</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QUuid <a href="#eventsID"><b>eventsID</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QUuid <a href="#typeLibID"><b>typeLibID</b></a> () const</li>
+<li class=fn>virtual QUuid <a href="#appID"><b>appID</b></a> () const</li>
+<li class=fn>virtual void <a href="#registerClass"><b>registerClass</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QSettings&nbsp;*&nbsp;settings ) const</li>
+<li class=fn>virtual void <a href="#unregisterClass"><b>unregisterClass</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QSettings&nbsp;*&nbsp;settings ) const</li>
+<li class=fn>virtual bool <a href="#validateLicenseKey"><b>validateLicenseKey</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;licenseKey ) const</li>
+<li class=fn>virtual QString <a href="#exposeToSuperClass"><b>exposeToSuperClass</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual bool <a href="#stayTopLevel"><b>stayTopLevel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual bool <a href="#hasStockEvents"><b>hasStockEvents</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual bool <a href="#isService"><b>isService</b></a> () const</li>
+<li class=fn>enum <a href="#ServerType-enum"><b>ServerType</b></a> { SingleInstance, MultipleInstances }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#isServer"><b>isServer</b></a> ()</li>
+<li class=fn>QString <a href="#serverDirPath"><b>serverDirPath</b></a> ()</li>
+<li class=fn>QString <a href="#serverFilePath"><b>serverFilePath</b></a> ()</li>
+<li class=fn>bool <a href="#startServer"><b>startServer</b></a> ( ServerType&nbsp;type = MultipleInstances )</li>
+<li class=fn>bool <a href="#stopServer"><b>stopServer</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxFactory class defines a factory for the creation of COM components.
+
+<p>
+
+<!-- index QAXFACTORY_DEFAULT --><a name="QAXFACTORY_DEFAULT"></a><!-- index QAXFACTORY_EXPORT --><a name="QAXFACTORY_EXPORT"></a><!-- index QAXFACTORY_BEGIN --><a name="QAXFACTORY_BEGIN"></a><!-- index QAXFACTORY_END --><a name="QAXFACTORY_END"></a><!-- index QAXCLASS --><a name="QAXCLASS"></a>
+<p> Implement this factory once in your ActiveX server to provide
+information about the components the server can create. If your
+server supports just a single ActiveX control, you can use the
+default factory implementation instead of implementing the factory
+yourself. Use the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro in any
+implementation file (e.g. main.cpp) to instantiate and export the
+default factory:
+<p> <pre>
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qaxfactory-h.html">qaxfactory.h</a>&gt;
+
+ #include "theactivex.h"
+
+ QAXFACTORY_DEFAULT(
+ TheActiveX, // widget class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // class ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // event interface ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+ )
+ </pre>
+
+<p> If you implement your own factory reimplement the pure virtual
+functions, provide the unique identifiers for the ActiveX
+controls, and use the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a> macro to instantiate
+and export it:
+<p> <pre>
+ QStringList ActiveQtFactory::featureList() const
+ {
+ <a href="qstringlist.html">QStringList</a> list;
+ list &lt;&lt; "ActiveX1";
+ list &lt;&lt; "ActiveX2";
+ ...
+ return list;
+ }
+
+ QWidget *ActiveQtFactory::create( const <a href="qstring.html">QString</a> &amp;key, QWidget *parent, const char *name )
+ {
+ if ( key == "ActiveX1" )
+ return new ActiveX1( parent, name );
+ if ( key == "ActiveX2" )
+ return new ActiveX2( parent, name );
+ ...
+ return 0;
+ }
+
+ QUuid ActiveQtFactory::classID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "ActiveX1" )
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+ }
+
+ QUuid ActiveQtFactory::interfaceID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "ActiveX1" )
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+ }
+
+ QUuid ActiveQtFactory::eventsID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "ActiveX1" )
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+ ...
+ return QUuid();
+ }
+
+ QAXFACTORY_EXPORT(
+ MyFactory, // factory class
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+ )
+ </pre>
+
+<p> If you use the <tt>Q_CLASSINFO</tt> macro to provide the unique identifiers
+or other attributes for your class you can use the <a href="qaxfactory.html#QAXFACTORY_BEGIN">QAXFACTORY_BEGIN</a>,
+<a href="qaxfactory.html#QAXCLASS">QAXCLASS</a> and <a href="qaxfactory.html#QAXFACTORY_END">QAXFACTORY_END</a> macros to expose one or more classes
+as COM objects.
+<p> <pre>
+ QAXFACTORY_BEGIN(
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+ )
+ QAXCLASS(Class1)
+ QAXCLASS(Class2)
+ QAXFACTORY_END()
+ </pre>
+
+<p> Only one QAxFactory implementation may be instantiated and
+exported by an ActiveX server application. This instance is accessible
+through the global qAxFactory() function.
+<p> A factory can also reimplement the <a href="#registerClass">registerClass</a>() and
+<a href="#unregisterClass">unregisterClass</a>() functions to set additional flags for an ActiveX
+control in the registry. To limit the number of methods or
+properties a widget class exposes from its parent classes
+reimplement <a href="#exposeToSuperClass">exposeToSuperClass</a>().
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ServerType-enum"></a>QAxFactory::ServerType</h3>
+
+<p> This enum specifies the different types of servers that can be
+started with startServer.
+<ul>
+<li><tt>QAxFactory::SingleInstance</tt> - The server can create only one instance of each
+supplied class.
+<li><tt>QAxFactory::MultipleInstances</tt> - The server can create multiple instances of
+each supplied class.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxFactory"></a>QAxFactory::QAxFactory ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;libid, const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;appid )
+</h3>
+Constructs a QAxFactory object that returns <em>libid</em> and <em>appid</em>
+in the implementation of the respective interface functions.
+
+<h3 class=fn><a name="~QAxFactory"></a>QAxFactory::~QAxFactory ()<tt> [virtual]</tt>
+</h3>
+Destroys the QAxFactory object.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="appID"></a>QAxFactory::appID () const<tt> [virtual]</tt>
+</h3>
+
+<p> Reimplement this function to return the ActiveX server's
+application identifier.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="classID"></a>QAxFactory::classID ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return the class identifier for each
+<em>key</em> returned by the <a href="#featureList">featureList</a>() implementation, or an empty
+<a href="quuid.html">QUuid</a> if this factory doesn't support the value of <em>key</em>.
+<p> The default implementation interprets <em>key</em> as the class name,
+and returns the value of the Q_CLASSINFO entry "ClassID".
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="create"></a>QAxFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return a new widget for <em>key</em>.
+Propagate <em>parent</em> and <em>name</em> to the <a href="qwidget.html">QWidget</a> constructor. Return
+0 if this factory doesn't support the value of <em>key</em>.
+<p> The returned widget will be exposed as an ActiveX control, e.g.
+a COM object that can be embedded as a control into applications.
+<p> The default implementation returns 0.
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="createObject"></a>QAxFactory::createObject ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return a new object for <em>key</em>.
+Propagate <em>parent</em> and <em>name</em> to the <a href="qwidget.html">QWidget</a> constructor. Return
+0 if this factory doesn't support the value of <em>key</em>.
+<p> If the object returned is a QWidget it will be exposed as an ActiveX
+control, otherwise the returned object will be exposed as a COM object.
+<p> The default implementation returns the result <a href="#create">QAxFactory::create</a>() if
+<em>parent</em> is 0 or a widget, otherwise returns 0.
+
+<h3 class=fn>bool <a name="createObjectWrapper"></a>QAxFactory::createObjectWrapper ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object, IDispatch&nbsp;**&nbsp;wrapper )<tt> [virtual]</tt>
+</h3>
+
+<p> Reimplement this function to provide the COM object for <em>object</em>
+in <em>wrapper</em>. Return TRUE if the function was successfull, otherwise
+return FALSE.
+<p> The default implementation creates a generic automation wrapper based
+on the <a href="metaobjects.html#meta-object">meta object</a> information of <em>object</em>.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="eventsID"></a>QAxFactory::eventsID ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return the identifier of the event
+interface for each <em>key</em> returned by the <a href="#featureList">featureList</a>()
+implementation, or an empty <a href="quuid.html">QUuid</a> if this factory doesn't support
+the value of <em>key</em>.
+<p> The default implementation interprets <em>key</em> as the class name,
+and returns the value of the Q_CLASSINFO entry "EventsID".
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="exposeToSuperClass"></a>QAxFactory::exposeToSuperClass ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return the name of the super class of
+<em>key</em> up to which methods and properties should be exposed by the
+ActiveX control.
+<p> The default implementation interprets <em>key</em> as the class name,
+and returns the value of the Q_CLASSINFO entry "ToSuperClass". If
+no such value is set the null-string is returned, and the functions
+and properties of all the super classes including <a href="qwidget.html">QWidget</a> will be
+exposed.
+<p> To only expose the functions and properties of the class itself,
+reimplement this function to return <em>key</em>.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="featureList"></a>QAxFactory::featureList () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Reimplement this function to return a list of the widgets (class
+names) supported by this factory.
+
+<h3 class=fn>bool <a name="hasStockEvents"></a>QAxFactory::hasStockEvents ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return TRUE if the ActiveX control
+<em>key</em> should support the standard ActiveX events
+<ul>
+<li> Click
+<li> DblClick
+<li> KeyDown
+<li> KeyPress
+<li> KeyUp
+<li> MouseDown
+<li> MouseUp
+<li> MouseMove
+</ul>
+<p> The default implementation interprets <em>key</em> as the class name,
+and returns TRUE if the value of the Q_CLASSINFO entry "StockEvents"
+is "yes". Otherwise this function returns FALSE.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="interfaceID"></a>QAxFactory::interfaceID ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return the interface identifier for
+each <em>key</em> returned by the <a href="#featureList">featureList</a>() implementation, or an
+empty <a href="quuid.html">QUuid</a> if this factory doesn't support the value of <em>key</em>.
+<p> The default implementation interprets <em>key</em> as the class name,
+and returns the value of the Q_CLASSINFO entry "InterfaceID".
+
+<h3 class=fn>bool <a name="isServer"></a>QAxFactory::isServer ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the application has been started (by COM) as an ActiveX
+server, otherwise returns FALSE.
+<p> <pre>
+ int main( int argc, char**argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( !QAxFactory::isServer() ) {
+ // initialize for stand-alone execution
+ }
+
+ return app.<a href="qapplication.html#exec">exec</a>() // standard event processing
+ }
+ </pre>
+
+
+<h3 class=fn>bool <a name="isService"></a>QAxFactory::isService () const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return TRUE if the server is
+running as a persistent service (e.g. an NT service) and should
+not terminate even when all objects provided have been released.
+<p> The default implementation returns FALSE.
+
+<h3 class=fn><a href="qmetaobject.html">QMetaObject</a>&nbsp;* <a name="metaObject"></a>QAxFactory::metaObject ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return the <a href="qmetaobject.html">QMetaObject</a> corresponding to
+<em>key</em>, or 0 if this factory doesn't support the value of <em>key</em>.
+<p> The default implementation returns the QMetaObject for the class
+<em>key</em>.
+
+<h3 class=fn>void <a name="registerClass"></a>QAxFactory::registerClass ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qsettings.html">QSettings</a>&nbsp;*&nbsp;settings ) const<tt> [virtual]</tt>
+</h3>
+Registers additional values for the class <em>key</em> in the system
+registry using the <em>settings</em> object. The standard values have
+already been registed by the framework, but additional values,
+e.g. implemented categories, can be added in an implementation of
+this function.
+<p> <pre>
+ settings-&gt;writeEntry( "/CLSID/" + classID(key) + "/Implemented Categories/{00000000-0000-0000-000000000000}/.", QString::null );
+ </pre>
+
+<p> If you reimplement this function you must also reimplement
+<a href="#unregisterClass">unregisterClass</a>() to remove the additional registry values.
+<p> <p>See also <a href="qsettings.html">QSettings</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="serverDirPath"></a>QAxFactory::serverDirPath ()<tt> [static]</tt>
+</h3>
+Returns the directory that contains the server binary.
+<p> For out-of-process servers this is the same as
+<a href="qapplication.html#applicationDirPath">QApplication::applicationDirPath</a>(). For in-process servers
+that function returns the directory that contains the hosting
+application.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="serverFilePath"></a>QAxFactory::serverFilePath ()<tt> [static]</tt>
+</h3>
+Returns the file path of the server binary.
+<p> For out-of-process servers this is the same as
+<a href="qapplication.html#applicationFilePath">QApplication::applicationFilePath</a>(). For in-process servers
+that function returns the file path of the hosting application.
+
+<h3 class=fn>bool <a name="startServer"></a>QAxFactory::startServer ( <a href="qaxfactory.html#ServerType-enum">ServerType</a>&nbsp;type = MultipleInstances )<tt> [static]</tt>
+</h3>
+
+<p> Starts the COM server with <em>type</em> and returns TRUE if successful,
+otherwise returns FALSE.
+<p> Calling this function if the server is already running (or for an
+in-process server) does nothing and returns TRUE.
+<p> The server is started automatically with <em>type</em> set to MultipleUse
+if the server executable has been started with the <tt>-activex</tt>
+command line parameter.
+
+<h3 class=fn>bool <a name="stayTopLevel"></a>QAxFactory::stayTopLevel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return TRUE if the ActiveX control <em>key</em>
+should be a top level window, e.g. a dialog. The default implementation
+returns FALSE.
+
+<h3 class=fn>bool <a name="stopServer"></a>QAxFactory::stopServer ()<tt> [static]</tt>
+</h3>
+
+<p> Stops the COM server and returns TRUE if successful, otherwise
+returns FALSE.
+<p> Calling this function if the server is not running (or for an
+in-process server) does nothing and returns TRUE.
+<p> Stopping the server will not invalidate existing objects, but no
+new objects can be created from the existing server process. Usually
+COM will start a new server process if additional objects are requested.
+<p> The server is stopped automatically when the main() function returns.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="typeLibID"></a>QAxFactory::typeLibID () const<tt> [virtual]</tt>
+</h3>
+
+<p> Reimplement this function to return the ActiveX server's type
+library identifier.
+
+<h3 class=fn>void <a name="unregisterClass"></a>QAxFactory::unregisterClass ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qsettings.html">QSettings</a>&nbsp;*&nbsp;settings ) const<tt> [virtual]</tt>
+</h3>
+Unregisters any additional values for the class <em>key</em> from the
+system registry using the <em>settings</em> object.
+<p> <pre>
+ settings-&gt;removeEntry( "/CLSID/" + classID(key) + "/Implemented Categories/{00000000-0000-0000-000000000000}/." );
+ </pre>
+
+<p> <p>See also <a href="#registerClass">registerClass</a>() and <a href="qsettings.html">QSettings</a>.
+
+<h3 class=fn>bool <a name="validateLicenseKey"></a>QAxFactory::validateLicenseKey ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;licenseKey ) const<tt> [virtual]</tt>
+</h3>
+Reimplement this function to return TRUE if <em>licenseKey</em> is a valid
+license for the class <em>key</em>, or if the current machine is licensed.
+<p> The default implementation returns TRUE if the class <em>key</em> is not
+licensed (ie. no Q_CLASSINFO attribute "LicenseKey"), or if
+<em>licenseKey</em> matches the value of the "LicenseKey" attribute, or
+if the machine is licensed through a .LIC file with the same filename
+as this COM server.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxobject-h.html b/doc/html/qaxobject-h.html
new file mode 100644
index 0000000..fde636a
--- /dev/null
+++ b/doc/html/qaxobject-h.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxobject.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxobject.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxobject.h</h1>
+
+<p>This is the verbatim text of the qaxobject.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxobject.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxObject class
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef UNICODE
+#define UNICODE
+#endif
+
+#ifndef QAXOBJECT_H
+#define QAXOBJECT_H
+
+#include "qaxbase.h"
+#include &lt;qobject.h&gt;
+
+class QAxObject : public QObject, public QAxBase
+{
+ friend class QAxEventSink;
+public:
+ QMetaObject *metaObject() const;
+ const char *className() const;
+ void* qt_cast( const char* );
+ bool qt_invoke( int, QUObject* );
+ bool qt_emit( int, QUObject* );
+ bool qt_property( int, int, QVariant* );
+ QObject* qObject() { return (QObject*)this; }
+
+ QAxObject( QObject *parent = 0, const char *name = 0 );
+ QAxObject( const QString &amp;c, QObject *parent = 0, const char *name = 0 );
+ QAxObject( IUnknown *iface, QObject *parent = 0, const char *name = 0 );
+ ~QAxObject();
+
+private:
+ QMetaObject *parentMetaObject() const;
+};
+
+#endif //QAXOBJECT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxobject-members.html b/doc/html/qaxobject-members.html
new file mode 100644
index 0000000..61ffc77
--- /dev/null
+++ b/doc/html/qaxobject-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxobject.h:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxObject Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxObject</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxobject.html">QAxObject</a>, including inherited members.
+
+<ul>
+<li><a href="qaxobject.html#QAxObject">QAxObject</a>()
+<li><a href="qaxobject.html#~QAxObject">~QAxObject</a>()
+<li><a href="qaxbase.html#asVariant">asVariant</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qaxbase.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qaxbase.html#control">control</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qaxbase.html#disableClassInfo">disableClassInfo</a>()
+<li><a href="qaxbase.html#disableEventSink">disableEventSink</a>()
+<li><a href="qaxbase.html#disableMetaObject">disableMetaObject</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qaxbase.html#dynamicCall">dynamicCall</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qaxbase.html#exception">exception</a>()
+<li><a href="qaxbase.html#generateDocumentation">generateDocumentation</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qaxbase.html#initialize">initialize</a>()
+<li><a href="qaxbase.html#initializeActive">initializeActive</a>()
+<li><a href="qaxbase.html#initializeLicensed">initializeLicensed</a>()
+<li><a href="qaxbase.html#initializeRemote">initializeRemote</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaxbase.html#isNull">isNull</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qaxbase.html#propertyBag">propertyBag</a>()
+<li><a href="qaxbase.html#propertyChanged">propertyChanged</a>()
+<li><a href="qaxbase.html#propertyWritable">propertyWritable</a>()
+<li><a href="qaxbase.html#queryInterface">queryInterface</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qaxbase.html#querySubObject">querySubObject</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaxbase.html#setControl">setControl</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaxbase.html#setPropertyBag">setPropertyBag</a>()
+<li><a href="qaxbase.html#setPropertyWritable">setPropertyWritable</a>()
+<li><a href="qaxbase.html#signal">signal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxobject.html b/doc/html/qaxobject.html
new file mode 100644
index 0000000..863ca57
--- /dev/null
+++ b/doc/html/qaxobject.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxobject.cpp:33 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxObject Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxObject Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxObject class provides a QObject that wraps a COM object.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxobject-h.html">qaxobject.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qaxbase.html">QAxBase</a>.
+<p>Inherited by <a href="qaxscriptengine.html">QAxScriptEngine</a>.
+<p><a href="qaxobject-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxObject"><b>QAxObject</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QAxObject-2"><b>QAxObject</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;c, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QAxObject-3"><b>QAxObject</b></a> ( IUnknown&nbsp;*&nbsp;iface, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QAxObject"><b>~QAxObject</b></a> ()</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QVariant <a href="#dynamicCall"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>QVariant <a href="#dynamicCall-2"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )</li>
+<li class=fn>QAxObject * <a href="#querySubObject"><b>querySubObject</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxObject class provides a <a href="qobject.html">QObject</a> that wraps a COM object.
+
+<p>
+
+<p> A QAxObject can be instantiated as an empty object, with the name
+of the COM object it should wrap, or with a pointer to the
+IUnknown that represents an existing COM object. If the COM object
+implements the IDispatch interface, the properties, methods and
+events of that object become available as Qt properties, slots and
+signals. The base class, <a href="qaxbase.html">QAxBase</a>, provides an API to access the
+COM object directly through the IUnknown pointer.
+<p> QAxObject is a QObject and can be used as such, e.g. it can be
+organized in an object hierarchy, receive events and connect to
+signals and slots.
+<p> <b>Warning:</b>
+You can subclass QAxObject, but you cannot use the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro
+in the subclass (the generated <a href="moc.html#moc">moc</a>-file will not compile), so you
+cannot add further signals, slots or properties. This limitation is
+due to the metaobject information generated in runtime.
+To work around this problem, aggregate the QAxObject as a member of
+the <a href="qobject.html">QObject</a> subclass.
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxObject"></a>QAxObject::QAxObject ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates an empty COM object and propagates <em>parent</em> and <em>name</em>
+to the <a href="qobject.html">QObject</a> constructor. To initialize the object, call <a href="qaxbase.html#setControl">setControl</a>.
+
+<h3 class=fn><a name="QAxObject-2"></a>QAxObject::QAxObject ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;c, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a QAxObject that wraps the COM object <em>c</em>. <em>parent</em> and
+<em>name</em> are propagated to the <a href="qwidget.html">QWidget</a> contructor.
+<p> <p>See also <a href="qaxbase.html#control-prop">control</a>.
+
+<h3 class=fn><a name="QAxObject-3"></a>QAxObject::QAxObject ( IUnknown&nbsp;*&nbsp;iface, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a QAxObject that wraps the COM object referenced by <em>iface</em>. <em>parent</em> and <em>name</em> are propagated to the <a href="qobject.html">QObject</a>
+contructor.
+
+<h3 class=fn><a name="~QAxObject"></a>QAxObject::~QAxObject ()
+</h3>
+Releases the COM object and destroys the QAxObject,
+cleaning up all allocated resources.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Calls the COM object's method <em>function</em>, passing the
+parameters <em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>,
+<em>var6</em>, <em>var7</em> and <em>var8</em>, and returns the value returned by
+the method, or an invalid <a href="qvariant.html">QVariant</a> if the method does not return
+a value or when the function call failed.
+<p> If <em>function</em> is a method of the object the string must be provided
+as the full prototype, for example as it would be written in a
+<a href="qobject.html#connect">QObject::connect</a>() call.
+<pre>
+ activeX-&gt;dynamicCall( "Navigate(const <a href="qstring.html">QString</a>&amp;)", "www.trolltech.com" );
+ </pre>
+
+<p> Alternatively a function can be called passing the parameters embedded
+in the string, e.g. above function can also be invoked using
+<pre>
+ activeX-&gt;dynamicCall("Navigate(\"www.trolltech.com\");
+ </pre>
+
+All parameters are passed as strings; it depends on the control whether
+they are interpreted correctly, and is slower than using the prototype
+with correctly typed parameters.
+<p> If <em>function</em> is a property the string has to be the name of the
+property. The property setter is called when <em>var1</em> is a valid QVariant,
+otherwise the getter is called.
+<pre>
+ activeX-&gt;dynamicCall( "Value", 5 );
+ <a href="qstring.html">QString</a> text = activeX-&gt;dynamicCall( "Text" ).toString();
+ </pre>
+
+Note that it is faster to get and set properties using
+<a href="qobject.html#property">QObject::property</a>() and <a href="qobject.html#setProperty">QObject::setProperty</a>().
+<p> It is only possible to call functions through <a href="qaxbase.html#dynamicCall">dynamicCall</a>() that
+have parameters or return values of datatypes supported by
+<a href="qvariant.html">QVariant</a>. See the <a href="qaxbase.html">QAxBase</a> class documentation for a list of
+supported and unsupported datatypes. If you want to call functions
+that have unsupported datatypes in the parameter list, use
+<a href="qaxbase.html#queryInterface">queryInterface</a>() to retrieve the appropriate COM interface, and
+use the function directly.
+<p> <pre>
+ IWebBrowser2 *webBrowser = 0;
+ activeX-&gt;queryInterface( IID_IWebBrowser2, (void**)&amp;webBrowser );
+ if ( webBrowser ) {
+ webBrowser-&gt;Navigate2( pvarURL );
+ webBrowser-&gt;Release();
+ }
+ </pre>
+
+<p> This is also more efficient.
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2720">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall-2"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calls the COM object's method <em>function</em>, passing the
+parameters in <em>vars</em>, and returns the value returned by
+the method. If the method does not return a value or when
+the function call failed this function returns an invalid
+<a href="qvariant.html">QVariant</a> object.
+<p> The QVariant objects in <em>vars</em> are updated when the method has
+out-parameters.
+
+<h3 class=fn><a href="qaxobject.html">QAxObject</a>&nbsp;* <a name="querySubObject"></a>QAxBase::querySubObject ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Returns a pointer to a QAxObject wrapping the COM object provided
+by the method or property <em>name</em>, passing passing the parameters
+<em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>, <em>var6</em>,
+<em>var7</em> and <em>var8</em>.
+<p> If <em>name</em> is provided by a method the string must include the
+full function prototype.
+<p> If <em>name</em> is a property the string must be the name of the property,
+and <em>var1</em>, ... <em>var8</em> are ignored.
+<p> The returned QAxObject is a child of this object (which is either of
+type QAxObject or <a href="qaxwidget.html">QAxWidget</a>), and is deleted when this object is
+deleted. It is however safe to delete the returned object yourself,
+and you should do so when you iterate over lists of subobjects.
+<p> COM enabled applications usually have an object model publishing
+certain elements of the application as dispatch interfaces. Use
+this method to navigate the hierarchy of the object model, e.g.
+<p> <pre>
+ <a href="qaxwidget.html">QAxWidget</a> outlook( "Outlook.Application" );
+ QAxObject *session = outlook.<a href="qaxbase.html#querySubObject">querySubObject</a>( "Session" );
+ if ( session ) {
+ QAxObject *defFolder = session-&gt;<a href="qaxbase.html#querySubObject">querySubObject</a>(
+ "GetDefaultFolder(OlDefaultFolders)",
+ "olFolderContacts" );
+ //...
+ }
+ </pre>
+
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2721">qutlook/centralwidget.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscript-h.html b/doc/html/qaxscript-h.html
new file mode 100644
index 0000000..4bf3ce0
--- /dev/null
+++ b/doc/html/qaxscript-h.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxscript.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxscript.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxscript.h</h1>
+
+<p>This is the verbatim text of the qaxscript.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxscript.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxScriptEngine, QAxScript and QAxScriptManager classes
+**
+** Copyright (C) 2002-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QAXSCRIPT_H
+#define QAXSCRIPT_H
+
+#include &lt;qaxobject.h&gt;
+
+class QAxBase;
+class QAxScript;
+class QAxScriptSite;
+class QAxScriptEngine;
+class QAxScriptManager;
+class QAxScriptManagerPrivate;
+struct IActiveScript;
+
+class QAxScriptEngine : public QAxObject
+{
+public:
+ enum State {
+ Uninitialized = 0,
+ Initialized = 5,
+ Started = 1,
+ Connected = 2,
+ Disconnected = 3,
+ Closed = 4
+ };
+
+ QAxScriptEngine(const QString &amp;language, QAxScript *script);
+ ~QAxScriptEngine();
+
+ bool isValid() const;
+ bool hasIntrospection() const;
+
+ QString scriptLanguage() const;
+
+ State state() const;
+ void setState(State st);
+
+ void addItem(const QString &amp;name);
+
+ long queryInterface( const QUuid &amp;, void** ) const;
+
+protected:
+ bool initialize(IUnknown** ptr);
+
+private:
+ QAxScript *script_code;
+ IActiveScript *engine;
+
+ QString script_language;
+};
+
+class QAxScript : public QObject
+{
+ Q_OBJECT
+
+public:
+ enum FunctionFlags {
+ FunctionNames = 0,
+ FunctionSignatures
+ };
+
+ QAxScript(const QString &amp;name, QAxScriptManager *manager);
+ ~QAxScript();
+
+ bool load(const QString &amp;code, const QString &amp;language = QString::null);
+
+ QStringList functions(FunctionFlags = FunctionNames) const;
+
+ QString scriptCode() const;
+ QString scriptName() const;
+ QAxScriptEngine *scriptEngine() const;
+
+ QVariant call(const QString &amp;function, const QVariant &amp;v1 = QVariant(),
+ const QVariant &amp;v2 = QVariant(),
+ const QVariant &amp;v3 = QVariant(),
+ const QVariant &amp;v4 = QVariant(),
+ const QVariant &amp;v5 = QVariant(),
+ const QVariant &amp;v6 = QVariant(),
+ const QVariant &amp;v7 = QVariant(),
+ const QVariant &amp;v8 = QVariant());
+ QVariant call(const QString &amp;function, QValueList&lt;QVariant&gt; &amp;arguments);
+
+signals:
+ void entered();
+ void finished();
+ void finished(const QVariant &amp;result);
+ void finished(int code, const QString &amp;source,const QString &amp;description, const QString &amp;help);
+ void stateChanged(int state);
+ void error(int code, const QString &amp;description, int sourcePosition, const QString &amp;sourceText);
+
+private:
+ friend class QAxScriptSite;
+ friend class QAxScriptEngine;
+
+ void updateObjects();
+ QAxBase *findObject(const QString &amp;name);
+
+ QString script_name;
+ QString script_code;
+ QAxScriptManager *script_manager;
+ QAxScriptEngine *script_engine;
+ QAxScriptSite *script_site;
+};
+
+class QAxScriptManager : public QObject
+{
+ Q_OBJECT
+
+public:
+ QAxScriptManager( QObject *parent = 0, const char *name = 0 );
+ ~QAxScriptManager();
+
+ void addObject(QAxBase *object);
+ void addObject(QObject *object);
+
+ QStringList functions(QAxScript::FunctionFlags = QAxScript::FunctionNames) const;
+ QStringList scriptNames() const;
+ QAxScript *script(const QString &amp;name) const;
+
+ QAxScript* load(const QString &amp;code, const QString &amp;name, const QString &amp;language);
+ QAxScript* load(const QString &amp;file, const QString &amp;name);
+
+ QVariant call(const QString &amp;function, const QVariant &amp;v1 = QVariant(),
+ const QVariant &amp;v2 = QVariant(),
+ const QVariant &amp;v3 = QVariant(),
+ const QVariant &amp;v4 = QVariant(),
+ const QVariant &amp;v5 = QVariant(),
+ const QVariant &amp;v6 = QVariant(),
+ const QVariant &amp;v7 = QVariant(),
+ const QVariant &amp;v8 = QVariant());
+ QVariant call(const QString &amp;function, QValueList&lt;QVariant&gt; &amp;arguments);
+
+ static bool registerEngine(const QString &amp;name, const QString &amp;extension, const QString &amp;code = QString());
+ static QString scriptFileFilter();
+
+signals:
+ void error(QAxScript *script, int code, const QString &amp;description, int sourcePosition, const QString &amp;sourceText);
+
+private slots:
+ void objectDestroyed(QObject *o);
+ void scriptError(int code, const QString &amp;description, int sourcePosition, const QString &amp;sourceText);
+
+private:
+ friend class QAxScript;
+ QAxScriptManagerPrivate *d;
+
+ void updateScript(QAxScript*);
+ QAxScript *scriptForFunction(const QString &amp;function) const;
+};
+
+
+// QAxScript inlines
+
+inline QString QAxScript::scriptCode() const
+{
+ return script_code;
+}
+
+inline QString QAxScript::scriptName() const
+{
+ return script_name;
+}
+
+inline QAxScriptEngine *QAxScript::scriptEngine() const
+{
+ return script_engine;
+}
+
+// QAxScriptEngine inlines
+
+inline bool QAxScriptEngine::isValid() const
+{
+ return engine != 0;
+}
+
+inline QString QAxScriptEngine::scriptLanguage() const
+{
+ return script_language;
+}
+
+// QAxScriptManager inlines
+
+inline void QAxScriptManager::addObject(QObject *object)
+{
+ extern QAxBase *qax_create_object_wrapper(QObject*);
+ QAxBase *wrapper = qax_create_object_wrapper(object);
+ addObject(wrapper);
+}
+
+#endif // QAXSCRIPT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscript-members.html b/doc/html/qaxscript-members.html
new file mode 100644
index 0000000..4ab4438
--- /dev/null
+++ b/doc/html/qaxscript-members.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxscript.h:78 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScript Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxScript</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxscript.html">QAxScript</a>, including inherited members.
+
+<ul>
+<li><a href="qaxscript.html#QAxScript">QAxScript</a>()
+<li><a href="qaxscript.html#~QAxScript">~QAxScript</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qaxscript.html#call">call</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qaxscript.html#entered">entered</a>()
+<li><a href="qaxscript.html#error">error</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qaxscript.html#finished">finished</a>()
+<li><a href="qaxscript.html#functions">functions</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qaxscript.html#load">load</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaxscript.html#scriptCode">scriptCode</a>()
+<li><a href="qaxscript.html#scriptEngine">scriptEngine</a>()
+<li><a href="qaxscript.html#scriptName">scriptName</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaxscript.html#stateChanged">stateChanged</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscript.html b/doc/html/qaxscript.html
new file mode 100644
index 0000000..8219b0a
--- /dev/null
+++ b/doc/html/qaxscript.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxscript.cpp:593 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScript Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxScript Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxScript class provides a wrapper around script code.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxscript-h.html">qaxscript.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qaxscript-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#FunctionFlags-enum"><b>FunctionFlags</b></a> { FunctionNames = 0, FunctionSignatures }</li>
+<li class=fn><a href="#QAxScript"><b>QAxScript</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, QAxScriptManager&nbsp;*&nbsp;manager )</li>
+<li class=fn><a href="#~QAxScript"><b>~QAxScript</b></a> ()</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;language = QString::null )</li>
+<li class=fn>QStringList <a href="#functions"><b>functions</b></a> ( FunctionFlags&nbsp;flags = FunctionNames ) const</li>
+<li class=fn>QString <a href="#scriptCode"><b>scriptCode</b></a> () const</li>
+<li class=fn>QString <a href="#scriptName"><b>scriptName</b></a> () const</li>
+<li class=fn>QAxScriptEngine * <a href="#scriptEngine"><b>scriptEngine</b></a> () const</li>
+<li class=fn>QVariant <a href="#call"><b>call</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;function, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>QVariant <a href="#call-2"><b>call</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;function, QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;arguments )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#entered"><b>entered</b></a> ()</li>
+<li class=fn>void <a href="#finished"><b>finished</b></a> ()</li>
+<li class=fn>void <a href="#finished-2"><b>finished</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;result )</li>
+<li class=fn>void <a href="#finished-3"><b>finished</b></a> ( int&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;source, const&nbsp;QString&nbsp;&amp;&nbsp;description, const&nbsp;QString&nbsp;&amp;&nbsp;help )</li>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+<li class=fn>void <a href="#error"><b>error</b></a> ( int&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;description, int&nbsp;sourcePosition, const&nbsp;QString&nbsp;&amp;&nbsp;sourceText )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxScript class provides a wrapper around script code.
+
+
+<p> Every instance of the QAxScript class represents a piece of
+scripting code in a particular scripting language. The code is
+loaded into the script engine using <a href="#load">load</a>(). Functions declared
+in the code can be called using <a href="#call">call</a>().
+<p> The script provides <a href="#scriptEngine">scriptEngine</a>() provides feedback to the
+application through signals. The most important signal is the
+<a href="#error">error</a>() signal. Direct access to the <a href="qaxscriptengine.html">QAxScriptEngine</a> is provided
+through the scriptEngine() function.
+<p> <b>Warning:</b> This class is not available with the bcc5.5 and MingW
+compilers.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="FunctionFlags-enum"></a>QAxScript::FunctionFlags</h3>
+
+<p> This FunctionFlags enum describes formatting for function introspection.
+<ul>
+<li><tt>QAxScript::FunctionNames</tt> - Only function names are returned.
+<li><tt>QAxScript::FunctionSignatures</tt> - Returns the functions with signatures.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxScript"></a>QAxScript::QAxScript ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, <a href="qaxscriptmanager.html">QAxScriptManager</a>&nbsp;*&nbsp;manager )
+</h3>
+Constructs a QAxScript object called <em>name</em> and registers
+it with the <a href="qaxscriptmanager.html">QAxScriptManager</a> <em>manager</em>. This is usually done by the
+QAxScriptManager class when <a href="qaxscriptmanager.html#load">loading a
+ script</a>.
+<p> A script should always have a name. A manager is necessary to allow
+the script code to reference objects in the application. The <em>manager</em>
+takes ownership of the object.
+
+<h3 class=fn><a name="~QAxScript"></a>QAxScript::~QAxScript ()
+</h3>
+Destroys the object, releasing all allocated resources.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="call"></a>QAxScript::call ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;function, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Calls <em>function</em>, passing the parameters <em>var1</em>, <em>var1</em>,
+<em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>, <em>var6</em>, <em>var7</em> and <em>var8</em>
+as arguments and returns the value returned by the function, or an
+invalid <a href="qvariant.html">QVariant</a> if the function does not return a value or when
+the function call failed.
+<p> See <a href="qaxscriptmanager.html#call">QAxScriptManager::call</a>() for more information about how to call
+script functions.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="call-2"></a>QAxScript::call ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;function, <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;arguments )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calls <em>function</em> passing <em>arguments</em> as parameters, and returns
+the result. Returns when the script's execution has finished.
+<p> See <a href="qaxscriptmanager.html#call">QAxScriptManager::call</a>() for more information about how to call
+script functions.
+
+<h3 class=fn>void <a name="entered"></a>QAxScript::entered ()<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted when a script engine has started executing code.
+
+<h3 class=fn>void <a name="error"></a>QAxScript::error ( int&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;description, int&nbsp;sourcePosition, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sourceText )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an execution error occured while
+running a script.
+<p> <em>code</em>, <em>description</em>, <em>sourcePosition</em> and <em>sourceText</em>
+contain information about the execution error.
+
+<h3 class=fn>void <a name="finished"></a>QAxScript::finished ()<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted when a script engine has finished executing code.
+
+<h3 class=fn>void <a name="finished-2"></a>QAxScript::finished ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;result )<tt> [signal]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>result</em> contains the script's result. This will be an invalid
+<a href="qvariant.html">QVariant</a> if the script has no return value.
+
+<h3 class=fn>void <a name="finished-3"></a>QAxScript::finished ( int&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;source, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;description, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;help )<tt> [signal]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>code</em>, <em>source</em>, <em>description</em> and <em>help</em> contain exception information
+when the script terminated.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="functions"></a>QAxScript::functions ( <a href="qaxscript.html#FunctionFlags-enum">FunctionFlags</a>&nbsp;flags = FunctionNames ) const
+</h3>
+Returns a list of all the functions in this script if the respective
+script engine supports introspection; otherwise returns an empty list.
+The functions are either provided with full prototypes or only as
+names, depending on the value of <em>flags</em>.
+<p> <p>See also <a href="qaxscriptengine.html#hasIntrospection">QAxScriptEngine::hasIntrospection</a>().
+
+<h3 class=fn>bool <a name="load"></a>QAxScript::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;language = QString::null )
+</h3>
+Loads the script source <em>code</em> written in language <em>language</em>
+into the script engine. Returns TRUE if <em>code</em> was successfully
+entered into the script engine; otherwise returns FALSE.
+<p> If <em>language</em> is empty (the default) it will be determined
+heuristically. If <em>code</em> contains the string <tt>End Sub</tt> it will
+be interpreted as VBScript, otherwise as JScript. Additional
+scripting languages can be registered using
+QAxScript::registerEngine().
+<p> This function can only be called once for each QAxScript object,
+which is done automatically when using <a href="qaxscriptmanager.html#load">QAxScriptManager::load</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptCode"></a>QAxScript::scriptCode () const
+</h3>
+Returns the script's code, or the null-string if no
+code has been loaded yet.
+<p> <p>See also <a href="#load">load</a>().
+
+<h3 class=fn><a href="qaxscriptengine.html">QAxScriptEngine</a>&nbsp;* <a name="scriptEngine"></a>QAxScript::scriptEngine () const
+</h3>
+Returns a pointer to the script engine.
+<p> You can use the object returned to connect signals to the
+script functions, or to access the script engine directly.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptName"></a>QAxScript::scriptName () const
+</h3>
+Returns the name of the script.
+
+<h3 class=fn>void <a name="stateChanged"></a>QAxScript::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted when a script engine changes state.
+<em>state</em> can be any value in the QAxScriptEngineState enumeration.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscriptengine-members.html b/doc/html/qaxscriptengine-members.html
new file mode 100644
index 0000000..2ba9fce
--- /dev/null
+++ b/doc/html/qaxscriptengine-members.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxscript.h:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScriptEngine Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxScriptEngine</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxscriptengine.html">QAxScriptEngine</a>, including inherited members.
+
+<ul>
+<li><a href="qaxscriptengine.html#QAxScriptEngine">QAxScriptEngine</a>()
+<li><a href="qaxscriptengine.html#~QAxScriptEngine">~QAxScriptEngine</a>()
+<li><a href="qaxscriptengine.html#addItem">addItem</a>()
+<li><a href="qaxbase.html#asVariant">asVariant</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qaxbase.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qaxbase.html#control">control</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qaxbase.html#disableClassInfo">disableClassInfo</a>()
+<li><a href="qaxbase.html#disableEventSink">disableEventSink</a>()
+<li><a href="qaxbase.html#disableMetaObject">disableMetaObject</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qaxbase.html#dynamicCall">dynamicCall</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qaxbase.html#exception">exception</a>()
+<li><a href="qaxbase.html#generateDocumentation">generateDocumentation</a>()
+<li><a href="qaxscriptengine.html#hasIntrospection">hasIntrospection</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qaxbase.html#initialize">initialize</a>()
+<li><a href="qaxbase.html#initializeActive">initializeActive</a>()
+<li><a href="qaxbase.html#initializeLicensed">initializeLicensed</a>()
+<li><a href="qaxbase.html#initializeRemote">initializeRemote</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qaxbase.html#isNull">isNull</a>()
+<li><a href="qaxscriptengine.html#isValid">isValid</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qaxbase.html#propertyBag">propertyBag</a>()
+<li><a href="qaxbase.html#propertyChanged">propertyChanged</a>()
+<li><a href="qaxbase.html#propertyWritable">propertyWritable</a>()
+<li><a href="qaxscriptengine.html#queryInterface">queryInterface</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qaxbase.html#querySubObject">querySubObject</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaxscriptengine.html#scriptLanguage">scriptLanguage</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qaxbase.html#setControl">setControl</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaxbase.html#setPropertyBag">setPropertyBag</a>()
+<li><a href="qaxbase.html#setPropertyWritable">setPropertyWritable</a>()
+<li><a href="qaxscriptengine.html#setState">setState</a>()
+<li><a href="qaxbase.html#signal">signal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qaxscriptengine.html#state">state</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscriptengine.html b/doc/html/qaxscriptengine.html
new file mode 100644
index 0000000..99eda80
--- /dev/null
+++ b/doc/html/qaxscriptengine.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxscript.cpp:360 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScriptEngine Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxScriptEngine Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxScriptEngine class provides a wrapper around a script engine.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxscript-h.html">qaxscript.h</a>&gt;</tt>
+<p>Inherits <a href="qaxobject.html">QAxObject</a>.
+<p><a href="qaxscriptengine-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Uninitialized = 0, Initialized = 5, Started = 1, Connected = 2, Disconnected = 3, Closed = 4 }</li>
+<li class=fn><a href="#QAxScriptEngine"><b>QAxScriptEngine</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;language, QAxScript&nbsp;*&nbsp;script )</li>
+<li class=fn><a href="#~QAxScriptEngine"><b>~QAxScriptEngine</b></a> ()</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#hasIntrospection"><b>hasIntrospection</b></a> () const</li>
+<li class=fn>QString <a href="#scriptLanguage"><b>scriptLanguage</b></a> () const</li>
+<li class=fn>State <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>void <a href="#setState"><b>setState</b></a> ( State&nbsp;st )</li>
+<li class=fn>void <a href="#addItem"><b>addItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>long <a href="#queryInterface"><b>queryInterface</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;uuid, void&nbsp;**&nbsp;iface ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxScriptEngine class provides a wrapper around a script engine.
+
+
+<p> Every instance of the QAxScriptEngine class represents an interpreter
+for script code in a particular scripting language. The class is usually
+not used directly. The <a href="qaxscript.html">QAxScript</a> and <a href="qaxscriptmanager.html">QAxScriptManager</a> classes provide
+convenient functions to handle and call script code.
+<p> Direct access to the script engine is provided through
+<a href="#queryInterface">queryInterface</a>().
+<p> <b>Warning:</b> This class is not available with the bcc5.5 and MingW
+compilers.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="State-enum"></a>QAxScriptEngine::State</h3>
+
+<p> The State enumeration defines the different states a script
+engine can be in.
+<ul>
+<li><tt>QAxScriptEngine::Uninitialized</tt> - The script has been created, but not yet initialized
+<li><tt>QAxScriptEngine::Initialized</tt> - The script has been initialized, but is not running
+<li><tt>QAxScriptEngine::Started</tt> - The script can execute code, but does not yet handle events
+<li><tt>QAxScriptEngine::Connected</tt> - The script can execute code and is connected so
+that it can handle events
+<li><tt>QAxScriptEngine::Disconnected</tt> - The script is loaded, but is not connected to
+event sources
+<li><tt>QAxScriptEngine::Closed</tt> - The script has been closed.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxScriptEngine"></a>QAxScriptEngine::QAxScriptEngine ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;language, <a href="qaxscript.html">QAxScript</a>&nbsp;*&nbsp;script )
+</h3>
+Constructs a QAxScriptEngine object interpreting script code in <em>language</em>
+provided by the code in <em>script</em>. This is usually done by the <a href="qaxscript.html">QAxScript</a>
+class when <a href="qaxscript.html#load">loading a script</a>.
+<p> Instances of QAxScriptEngine should always have both a language and a
+script.
+
+<h3 class=fn><a name="~QAxScriptEngine"></a>QAxScriptEngine::~QAxScriptEngine ()
+</h3>
+Destroys the QAxScriptEngine object, releasing all allocated
+resources.
+
+<h3 class=fn>void <a name="addItem"></a>QAxScriptEngine::addItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Registers an item with the script engine. Script code can
+refer to this item using <em>name</em>.
+
+<h3 class=fn>bool <a name="hasIntrospection"></a>QAxScriptEngine::hasIntrospection () const
+</h3>
+Returns TRUE if the script engine supports introspection;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isValid"></a>QAxScriptEngine::isValid () const
+</h3>
+
+<p> Returns TRUE if the script engine has been initialized
+correctly; otherwise returns FALSE.
+
+<h3 class=fn>long <a name="queryInterface"></a>QAxScriptEngine::queryInterface ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;uuid, void&nbsp;**&nbsp;iface ) const
+</h3>
+Requests the interface <em>uuid</em> from the script engine object and
+sets the value of <em>iface</em> to the provided interface, or to 0 if
+the requested interface could not be provided.
+<p> Returns the result of the QueryInterface implementation of the COM
+object.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptLanguage"></a>QAxScriptEngine::scriptLanguage () const
+</h3>
+Returns the scripting language, for example "VBScript",
+or "JScript".
+
+<h3 class=fn>void <a name="setState"></a>QAxScriptEngine::setState ( <a href="qaxscriptengine.html#State-enum">State</a>&nbsp;st )
+</h3>
+Sets the state of the script engine to <em>st</em>.
+Calling this function is usually not necessary.
+
+<h3 class=fn><a href="qaxscriptengine.html#State-enum">State</a> <a name="state"></a>QAxScriptEngine::state () const
+</h3>
+Returns the state of the script engine.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscriptmanager-members.html b/doc/html/qaxscriptmanager-members.html
new file mode 100644
index 0000000..3d14a91
--- /dev/null
+++ b/doc/html/qaxscriptmanager-members.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxscript.h:131 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScriptManager Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxScriptManager</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxscriptmanager.html">QAxScriptManager</a>, including inherited members.
+
+<ul>
+<li><a href="qaxscriptmanager.html#QAxScriptManager">QAxScriptManager</a>()
+<li><a href="qaxscriptmanager.html#~QAxScriptManager">~QAxScriptManager</a>()
+<li><a href="qaxscriptmanager.html#addObject">addObject</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qaxscriptmanager.html#call">call</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qaxscriptmanager.html#error">error</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qaxscriptmanager.html#functions">functions</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qaxscriptmanager.html#load">load</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qaxscriptmanager.html#registerEngine">registerEngine</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qaxscriptmanager.html#script">script</a>()
+<li><a href="qaxscriptmanager.html#scriptFileFilter">scriptFileFilter</a>()
+<li><a href="qaxscriptmanager.html#scriptNames">scriptNames</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxscriptmanager.html b/doc/html/qaxscriptmanager.html
new file mode 100644
index 0000000..4513e7d
--- /dev/null
+++ b/doc/html/qaxscriptmanager.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxscript.cpp:867 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxScriptManager Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxScriptManager Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxScriptManager class provides a bridge between application objects
+and script code.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxscript-h.html">qaxscript.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qaxscriptmanager-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxScriptManager"><b>QAxScriptManager</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QAxScriptManager"><b>~QAxScriptManager</b></a> ()</li>
+<li class=fn>void <a href="#addObject"><b>addObject</b></a> ( QAxBase&nbsp;*&nbsp;object )</li>
+<li class=fn>void <a href="#addObject-2"><b>addObject</b></a> ( QObject&nbsp;*&nbsp;object )</li>
+<li class=fn>QStringList <a href="#functions"><b>functions</b></a> ( QAxScript::FunctionFlags&nbsp;flags = QAxScript::FunctionNames ) const</li>
+<li class=fn>QStringList <a href="#scriptNames"><b>scriptNames</b></a> () const</li>
+<li class=fn>QAxScript * <a href="#script"><b>script</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>QAxScript * <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;language )</li>
+<li class=fn>QAxScript * <a href="#load-2"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;file, const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QVariant <a href="#call"><b>call</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;function, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>QVariant <a href="#call-2"><b>call</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;function, QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;arguments )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#error"><b>error</b></a> ( QAxScript&nbsp;*&nbsp;script, int&nbsp;code, const&nbsp;QString&nbsp;&amp;&nbsp;description, int&nbsp;sourcePosition, const&nbsp;QString&nbsp;&amp;&nbsp;sourceText )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#registerEngine"><b>registerEngine</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;extension, const&nbsp;QString&nbsp;&amp;&nbsp;code = QString ( ) )</li>
+<li class=fn>QString <a href="#scriptFileFilter"><b>scriptFileFilter</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxScriptManager class provides a bridge between application objects
+and script code.
+
+
+<p> The QAxScriptManager acts as a bridge between the COM objects embedded
+in the Qt application through <a href="qaxobject.html">QAxObject</a> or <a href="qaxwidget.html">QAxWidget</a>, and the scripting
+languages available through the Windows Script technologies, usually JScript
+and VBScript.
+<p> Create one QAxScriptManager for each separate document in your
+application, and add the COM objects the scripts need to access
+using <a href="#addObject">addObject</a>(). Then <a href="#load">load</a>() the script sources and invoke the
+functions using <a href="#call">call</a>().
+<p> <b>Warning:</b> This class is not available with the bcc5.5 and MingW
+compilers.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxScriptManager"></a>QAxScriptManager::QAxScriptManager ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a QAxScriptManager object. <em>parent</em> and <em>name</em> are passed
+on to the <a href="qobject.html">QObject</a> constructor.
+<p> It is usual to create one QAxScriptManager for each document in an
+application.
+
+<h3 class=fn><a name="~QAxScriptManager"></a>QAxScriptManager::~QAxScriptManager ()
+</h3>
+Destroys the objects, releasing all allocated resources.
+
+<h3 class=fn>void <a name="addObject"></a>QAxScriptManager::addObject ( <a href="qaxbase.html">QAxBase</a>&nbsp;*&nbsp;object )
+</h3>
+Adds <em>object</em> to the manager. Scripts handled by this
+manager can access the object in the code using the object's <a href="qobject.html#name-prop">name</a> property.
+<p> You must add all the necessary objects before loading any scripts.
+
+<h3 class=fn>void <a name="addObject-2"></a>QAxScriptManager::addObject ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a generic COM wrapper for <em>object</em> to the manager. <em>object</em>
+must be exposed as a COM object using the functionality provided
+by the <a href="qaxserver.html">QAxServer module.</a>. Applications
+using this function you must link against the qaxserver library.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="call"></a>QAxScriptManager::call ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;function, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Calls <em>function</em>, passing the parameters <em>var1</em>, <em>var1</em>,
+<em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>, <em>var6</em>, <em>var7</em> and <em>var8</em>
+as arguments and returns the value returned by the function, or an
+invalid <a href="qvariant.html">QVariant</a> if the function does not return a value or when
+the function call failed. The call returns when the script's
+execution has finished.
+<p> In most script engines the only supported parameter type is "const
+QVariant&", for example, to call a JavaScript function
+<pre>
+ function setNumber(number)
+ {
+ n = number;
+ }
+ </pre>
+
+use
+<pre>
+ <a href="qvaluelist.html">QValueList</a> args;
+ args &lt;&lt; 5;
+ script-&gt;call("setNumber(const <a href="qvariant.html">QVariant</a>&amp;)", args);
+ </pre>
+
+As with <a href="qaxbase.html#dynamicCall">dynamicCall</a> the
+parameters can directly be embedded in the function string.
+<pre>
+ script-&gt;call("setNumber(5)");
+ </pre>
+
+However, this is slower.
+<p> Functions provided by script engines that don't support
+introspection are not available and must be called directly
+using <a href="qaxscript.html#call">QAxScript::call</a>() on the respective <a href="#script">script</a> object.
+<p> Note that calling this function can be significantely slower than
+using <a href="#call">call</a>() on the respective <a href="qaxscript.html">QAxScript</a> directly.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="call-2"></a>QAxScriptManager::call ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;function, <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;arguments )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calls <em>function</em> passing <em>arguments</em> as parameters, and returns
+the result. Returns when the script's execution has finished.
+
+<h3 class=fn>void <a name="error"></a>QAxScriptManager::error ( <a href="qaxscript.html">QAxScript</a>&nbsp;*&nbsp;script, int&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;description, int&nbsp;sourcePosition, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sourceText )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an execution error occured while
+running <em>script</em>.
+<p> <em>code</em>, <em>description</em>, <em>sourcePosition</em> and <em>sourceText</em>
+contain information about the execution error.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="functions"></a>QAxScriptManager::functions ( <a href="qaxscript.html#FunctionFlags-enum">QAxScript::FunctionFlags</a>&nbsp;flags = QAxScript::FunctionNames ) const
+</h3>
+Returns a list with all the functions that are available.
+Functions provided by script engines that don't support
+introspection are not included in the list.
+The functions are either provided with full prototypes or
+only as names, depending on the value of <em>flags</em>.
+
+<h3 class=fn><a href="qaxscript.html">QAxScript</a>&nbsp;* <a name="load"></a>QAxScriptManager::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;code, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;language )
+</h3>
+Loads the script source <em>code</em> using the script engine for <em>language</em>. The script can later be referred to using its <em>name</em>
+which should not be empty.
+<p> The function returns a pointer to the script for the given
+<em>code</em> if the <em>code</em> was loaded successfully; otherwise it
+returns 0.
+<p> If <em>language</em> is empty it will be determined heuristically. If <em>code</em> contains the string "End Sub" it will be interpreted as
+VBScript, otherwise as JScript. Additional script engines can be
+registered using <a href="#registerEngine">registerEngine</a>().
+<p> You must add all the objects necessary (using <a href="#addObject">addObject</a>()) <em>before</em> loading any scripts. If <em>code</em> declares a function that is
+already available (no matter in which language) the first function
+is overloaded and can no longer be called via <a href="#call">call</a>(); but it will
+still be available by calling its <a href="#script">script</a>
+directly.
+<p> <p>See also <a href="#addObject">addObject</a>(), <a href="#scriptNames">scriptNames</a>(), and <a href="#functions">functions</a>().
+
+<h3 class=fn><a href="qaxscript.html">QAxScript</a>&nbsp;* <a name="load-2"></a>QAxScriptManager::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads the source code from the <em>file</em>. The script can later be
+referred to using its <em>name</em> which should not be empty.
+<p> The function returns a pointer to the script engine for the code
+in <em>file</em> if <em>file</em> was loaded successfully; otherwise it
+returns 0.
+<p> The script engine used is determined from the file's extension. By
+default ".js" files are interpreted as JScript files, and ".vbs"
+and ".dsm" files are interpreted as VBScript. Additional script
+engines can be registered using <a href="#registerEngine">registerEngine</a>().
+
+<h3 class=fn>bool <a name="registerEngine"></a>QAxScriptManager::registerEngine ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;extension, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;code = QString ( ) )<tt> [static]</tt>
+</h3>
+Registers the script engine called <em>name</em> and returns TRUE if the
+engine was found; otherwise does nothing and returns FALSE.
+<p> The script engine will be used when loading files with the given
+<em>extension</em>, or when loading source code that contains the string
+<em>code</em>.
+
+<h3 class=fn><a href="qaxscript.html">QAxScript</a>&nbsp;* <a name="script"></a>QAxScriptManager::script ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns the script called <em>name</em>.
+<p> You can use the returned pointer to call functions directly
+through <a href="qaxscript.html#call">QAxScript::call</a>(), to access the script engine directly, or
+to delete and thus unload the script.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptFileFilter"></a>QAxScriptManager::scriptFileFilter ()<tt> [static]</tt>
+</h3>
+Returns a file filter listing all the supported script languages.
+This filter string is convenient for use with <a href="qfiledialog.html">QFileDialog</a>.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="scriptNames"></a>QAxScriptManager::scriptNames () const
+</h3>
+Returns a list with the names of all the scripts.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-hierarchy.html b/doc/html/qaxserver-demo-hierarchy.html
new file mode 100644
index 0000000..59092a9
--- /dev/null
+++ b/doc/html/qaxserver-demo-hierarchy.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/hierarchy/hierarchy.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Widget Hierarchy</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Widget Hierarchy</h1>
+
+
+<p>
+<script language=javascript>
+function createSubWidget( form )
+{
+ ParentWidget.createSubWidget( form.nameEdit.value );
+}
+
+function renameSubWidget( form )
+{
+ var SubWidget = ParentWidget.subWidget( form.nameEdit.value );
+ if ( !SubWidget ) {
+ alert( "No such widget " + form.nameEdit.value + "!" );
+ return;
+ }
+ SubWidget.label = form.labelEdit.value;
+ form.nameEdit.value = SubWidget.label;
+}
+
+function setFont( form )
+{
+ ParentWidget.font = form.fontEdit.value;
+}
+</script>
+
+<p>
+This widget can have many children!<br>
+<object ID="ParentWidget" CLASSID="CLSID:d574a747-8016-46db-a07c-b2b4854ee75c"
+CODEBASE=http://www.trolltech.com/demos/hierarchy.cab>
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+<form>
+<input type="edit" ID="nameEdit" value = "<enter object name>">
+<input type="button" value = "Create" onClick="createSubWidget(this.form)">
+<input type="edit" ID="labelEdit">
+<input type="button" value = "Rename" onClick="renameSubWidget(this.form)">
+<br>
+<input type="edit" ID="fontEdit" value = "MS Sans Serif">
+<input type="button" value = "Set Font" onClick="setFont(this.form)">
+</form>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-menus.html b/doc/html/qaxserver-demo-menus.html
new file mode 100644
index 0000000..7064ed1
--- /dev/null
+++ b/doc/html/qaxserver-demo-menus.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/menus/menus.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Menubar merging</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Menubar merging</h1>
+
+
+<p><b>This documentation is under development and is subject to change.</b>
+<p> This example is not full functional at the moment.
+<p>
+<object ID="QMenus" CLASSID="CLSID:4dc3f340-a6f7-44e4-a79b-3e9217695fbd"
+CODEBASE=http://www.trolltech.com/demos/menusax.cab>
+[Object not available! Did you forget to build and register the server?]
+</object>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-multiple.html b/doc/html/qaxserver-demo-multiple.html
new file mode 100644
index 0000000..5c9a159
--- /dev/null
+++ b/doc/html/qaxserver-demo-multiple.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/multiple/multiple.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Two simple Qt widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Two simple Qt widgets</h1>
+
+
+<p>
+<script language=javascript>
+function setColor( form )
+{
+ Ax1.fillColor = form.colorEdit.value;
+}
+
+function setWidth( form )
+{
+ Ax2.lineWidth = form.widthEdit.value;
+}
+</script>
+
+<p>
+This is one <a href="qwidget.html">QWidget</a> subclass:<br>
+<object ID="Ax1" CLASSID="CLSID:1D9928BD-4453-4bdd-903D-E525ED17FDE5"
+CODEBASE=http://www.trolltech.com/demos/multipleax.cab>
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+<form>
+Fill Color: <input type="edit" ID="colorEdit" value = "red">
+<input type="button" value = "Set" onClick="setColor(this.form)">
+<input type="button" value = "Hide" onClick="Ax1.hide()">
+<input type="button" value = "Show" onClick="Ax1.show()">
+</form>
+
+<p>
+This is another QWidget subclass:<br>
+<object ID="Ax2" CLASSID="CLSID:58139D56-6BE9-4b17-937D-1B1EDEDD5B71"
+CODEBASE=http://www.trolltech.com/demos/multipleax.cab>
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+<form>
+Line width: <input type="edit" ID="widthEdit" value = "1">
+<input type="button" value = "Set" onClick="setWidth(this.form)">
+</form>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-opengl.html b/doc/html/qaxserver-demo-opengl.html
new file mode 100644
index 0000000..842247f
--- /dev/null
+++ b/doc/html/qaxserver-demo-opengl.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/opengl/opengl.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>OpenGL in an HTML page</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>OpenGL in an HTML page</h1>
+
+
+<p>
+<SCRIPT LANGUAGE=JavaScript>
+function setRot( form )
+{
+ GLBox.setXRotation( form.XEdit.value );
+ GLBox.setYRotation( form.YEdit.value );
+ GLBox.setZRotation( form.ZEdit.value );
+}
+</SCRIPT>
+
+<p>
+An OpenGL scene:<br>
+<object ID="GLBox" CLASSID="CLSID:5fd9c22e-ed45-43fa-ba13-1530bb6b03e0"
+CODEBASE=http://www.trolltech.com/demos/openglax.cab>
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+
+<form>
+Rotate the scene:<br>
+X:<input type="edit" ID="XEdit" value="0"><br>
+Y:<input type="edit" name="YEdit" value="0"><br>
+Z:<input type="edit" name="ZEdit" value="0"><br>
+<input type="button" value="Set" onClick="setRot(this.form)">
+</form>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-simple.html b/doc/html/qaxserver-demo-simple.html
new file mode 100644
index 0000000..607fb92
--- /dev/null
+++ b/doc/html/qaxserver-demo-simple.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/simple/simple.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A standard ActiveX and the "simple" ActiveQt widget.</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A standard ActiveX and the "simple" ActiveQt widget.</h1>
+
+
+<p>
+<object ID="QSimpleAX" CLASSID="CLSID:DF16845C-92CD-4AAB-A982-EB9840E74669"
+CODEBASE=http://www.trolltech.com/demos/simpleax.cab>
+ <PARAM NAME="text" VALUE="A simple control">
+ <PARAM NAME="value" VALUE="1">
+[Object not available! Did you forget to build and register the server?]
+</object>
+
+<FORM>
+ <INPUT TYPE="BUTTON" VALUE="About..." onClick="QSimpleAX.about()">
+</FORM>
+
+<object ID="Calendar" CLASSID="CLSID:8E27C92B-1264-101C-8A2F-040224009C02">
+[Standard Calendar control not available!]
+ <PARAM NAME="day" VALUE="1">
+</object>
+
+<FORM>
+ <INPUT TYPE="BUTTON" VALUE="Today" onClick="Calendar.Today()">
+</FORM>
+
+<SCRIPT LANGUAGE=VBScript>
+Sub Calendar_Click()
+ MsgBox( "Calendar Clicked!" )
+End Sub
+
+Sub QSimpleAX_TextChanged( str )
+ document.title = str
+End Sub
+</SCRIPT>
+
+<SCRIPT LANGUAGE=JavaScript>
+function QSimpleAX::ValueChanged( Newvalue )
+{
+ Calendar.Day = Newvalue;
+}
+</SCRIPT>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-tetrax.html b/doc/html/qaxserver-demo-tetrax.html
new file mode 100644
index 0000000..ae50b65
--- /dev/null
+++ b/doc/html/qaxserver-demo-tetrax.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/tetrax/tetrax.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Play Tetrix!</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Play Tetrix!</h1>
+
+
+<p>
+<object ID="QTetrax" width=550 height=370
+ CLASSID="CLSID:852558AD-CBD6-4f07-844C-D1E8983CD6FC"
+ CODEBASE=http://www.trolltech.com/demos/tetrax.cab>
+ <PARAM NAME="score" VALUE="0">
+[Object not available! Did you forget to build and register the server?]
+</object>
+
+<form>
+ <input type="button" value="Start Game..."
+ onClick="QTetrax.startGame()">
+</form>
+
+<SCRIPT LANGUAGE=JavaScript>
+function QTetrax::gameOver()
+{
+ alert( "GameOver!" );
+}
+</SCRIPT>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-demo-wrapper.html b/doc/html/qaxserver-demo-wrapper.html
new file mode 100644
index 0000000..eb6f8e9
--- /dev/null
+++ b/doc/html/qaxserver-demo-wrapper.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/wrapper/wrapper.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Standard Qt widgets in an HTML page</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Standard Qt widgets in an HTML page</h1>
+
+
+<p>
+<SCRIPT LANGUAGE=VBScript>
+Sub ToolButton_Clicked()
+ RadioButton.text = InputBox( "Enter something", "Wrapper Demo" )
+End Sub
+
+Sub PushButton_clicked()
+ MsgBox( "Thank you!" )
+End Sub
+
+Sub CheckBox_toggled( state )
+ if state = 0 then
+ CheckBox.text = "Check me!"
+ else
+ CheckBox.text = "Uncheck me!"
+ end if
+End Sub
+</SCRIPT>
+<p>
+A QPushButton:<br>
+<object ID="PushButton" CLASSID="CLSID:2B262458-A4B6-468B-B7D4-CF5FEE0A7092"
+CODEBASE=http://www.trolltech.com/demos/wrapperax.cab>
+ <PARAM NAME="text" VALUE="Click me!">
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+
+<p>
+A QCheckBox:<br>
+<object ID="CheckBox" CLASSID="CLSID:6E795de9-872d-43cf-a831-496ef9d86c68"
+CODEBASE=http://www.trolltech.com/demos/wrapperax.cab>
+ <PARAM NAME="text" VALUE="Check me!">
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+
+<p>
+A QToolButton:<br>
+<object ID="ToolButton" CLASSID="CLSID:7c0ffe7a-60c3-4666-bde2-5cf2b54390a1"
+CODEBASE=http://www.trolltech.com/demos/wrapperax.cab>
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+
+<p>
+A QRadioButton:<br>
+<object ID="RadioButton" CLASSID="CLSID:afcf78c8-446c-409a-93b3-ba2959039189"
+CODEBASE=http://www.trolltech.com/demos/wrapperax.cab>
+ <PARAM NAME="text" VALUE="Tune me!">
+[Object not available! Did you forget to build and register the server?]
+</object><br>
+
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-hierarchy.html b/doc/html/qaxserver-example-hierarchy.html
new file mode 100644
index 0000000..0a67304
--- /dev/null
+++ b/doc/html/qaxserver-example-hierarchy.html
@@ -0,0 +1,262 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/hierarchy/hierarchy.doc:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Widget Hierarchy (in-process)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Widget Hierarchy (in-process)</h1>
+
+
+
+The ActiveX control in this example is a <a href="qwidget.html">QWidget</a>
+subclass with child widgets that are accessible as sub types.
+<p>
+
+<pre> class QParentWidget : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ QParentWidget( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, WFlags f = 0 );
+
+ <a href="qsize.html">QSize</a> sizeHint() const;
+
+ public slots:
+ void createSubWidget( const <a href="qstring.html">QString</a> &amp;name );
+
+ QSubWidget *subWidget( const <a href="qstring.html">QString</a> &amp;name );
+
+ private:
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox;
+ };
+</pre>The <tt>QParentWidget</tt> class provides slots to create a widget
+with a name, and to return a pointer to a named widget.
+<p>
+
+<pre> QParentWidget::QParentWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name, WFlags f )
+ : <a href="qwidget.html">QWidget</a>( parent, name, f )
+ {
+ vbox = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+ <a name="x2649"></a> vbox-&gt;<a href="qlayout.html#setAutoAdd">setAutoAdd</a>( TRUE );
+ }
+</pre>The constructor of QParentWidget creates a vertical box layout.
+New child widgets are automatically added to the layout.
+<p> <pre> void QParentWidget::createSubWidget( const <a href="qstring.html">QString</a> &amp;name )
+ {
+ QSubWidget *sw = new QSubWidget( this, name );
+ sw-&gt;setLabel( name );
+ sw-&gt;<a href="qwidget.html#show">show</a>();
+ }
+</pre>The <tt>createSubWidget</tt> slot creates a new <tt>QSubWidget</tt> with
+the name provided in the parameter, and sets the label to that
+name. The widget is also shown explicitly.
+<p> <pre> QSubWidget *QParentWidget::subWidget( const <a href="qstring.html">QString</a> &amp;name )
+ {
+ return (QSubWidget*)<a href="qobject.html#child">child</a>( name, "QSubWidget" );
+ }
+</pre>The <tt>subWidget</tt> slot uses the <a href="qobject.html#child">QObject::child</a>() function and
+returns the first child of type <tt>QSubWidget</tt> that has the requested
+name.
+<p>
+
+<pre> class QSubWidget : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+ Q_PROPERTY( QString label READ label WRITE setLabel )
+ public:
+ QSubWidget( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, WFlags f = 0 );
+
+ void setLabel( const <a href="qstring.html">QString</a> &amp;text );
+ <a href="qstring.html">QString</a> label() const;
+
+ <a href="qsize.html">QSize</a> sizeHint() const;
+
+ protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *e );
+
+ private:
+ <a href="qstring.html">QString</a> lbl;
+ };
+</pre>The <tt>QSubWidget</tt> class has a single string-property <tt>label</tt>,
+and implements the paintEvent to draw the label.
+<p>
+
+<pre> QSubWidget::QSubWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name, WFlags f )
+ : <a href="qwidget.html">QWidget</a>( parent, name, f )
+ {
+ }
+
+ void QSubWidget::setLabel( const <a href="qstring.html">QString</a> &amp;text )
+ {
+ lbl = text;
+ <a href="qobject.html#setName">setName</a>( text );
+ <a href="qwidget.html#update">update</a>();
+ }
+
+ QString QSubWidget::label() const
+ {
+ return lbl;
+ }
+
+ QSize QSubWidget::<a href="qwidget.html#sizeHint">sizeHint</a>() const
+ {
+ <a href="qfontmetrics.html">QFontMetrics</a> fm( <a href="qwidget.html#font">font</a>() );
+ return QSize( fm.<a href="qfontmetrics.html#width">width</a>(lbl), fm.<a href="qfontmetrics.html#height">height</a>() );
+ }
+
+ void QSubWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> painter(this);
+ painter.<a href="qpainter.html#setPen">setPen</a>( <a href="qwidget.html#colorGroup">colorGroup</a>().text() );
+ painter.<a href="qpainter.html#drawText">drawText</a>( <a href="qwidget.html#rect">rect</a>(), AlignCenter, lbl );
+ }
+</pre>The implementation of the QSubWidget class is self-explanatory.
+<p>
+
+<pre> class ActiveQtFactory : public <a href="qaxfactory.html">QAxFactory</a>
+ {
+ public:
+ ActiveQtFactory( const <a href="quuid.html">QUuid</a> &amp;lib, const <a href="quuid.html">QUuid</a> &amp;app )
+ : <a href="qaxfactory.html">QAxFactory</a>( lib, app )
+ {}
+ <a href="qstringlist.html">QStringList</a> featureList() const
+ {
+ <a href="qstringlist.html">QStringList</a> list;
+ list &lt;&lt; "QParentWidget";
+ list &lt;&lt; "QSubWidget";
+ return list;
+ }
+</pre>The <tt>ActiveQtFactory</tt> class implements a <a href="qaxfactory.html">QAxFactory</a>. It returns
+the class names of all supported types, <tt>QParentWidget</tt> and
+<tt>QSubWidget</tt>, from the <tt>featureList()</tt> reimplementation.
+<p> <pre> <a href="qwidget.html">QWidget</a> *create( const <a href="qstring.html">QString</a> &amp;key, QWidget *parent, const char *name )
+ {
+ if ( key == "QParentWidget" )
+ return new QParentWidget( parent, name );
+
+ return 0;
+ }
+</pre>The factory can however only create objects of the <tt>QParentWidget</tt>
+type directly - objects of subtypes can only be created through the
+interface of <tt>QParentWidget</tt> objects.
+<p> <pre> <a href="quuid.html">QUuid</a> classID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QParentWidget" )
+ return QUuid( "{d574a747-8016-46db-a07c-b2b4854ee75c}" );
+ if ( key == "QSubWidget" )
+ return QUuid( "{850652f4-8f71-4f69-b745-bce241ccdc30}" );
+
+ return QUuid();
+ }
+ <a href="quuid.html">QUuid</a> interfaceID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QParentWidget" )
+ return QUuid( "{4a30719d-d9c2-4659-9d16-67378209f822}" );
+ if ( key == "QSubWidget" )
+ return QUuid( "{2d76cc2f-3488-417a-83d6-debff88b3c3f}" );
+
+ return QUuid();
+ }
+ <a href="quuid.html">QUuid</a> eventsID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QParentWidget" )
+ return QUuid( "{aac9f855-c3dc-4cae-b747-c77f4d509f4c}" );
+ if ( key == "QSubWidget" )
+ return QUuid( "{25fac47e-c723-4696-8c74-6185903bdf65}" );
+
+ return QUuid();
+ }
+</pre>COM however requires the IDs for the interfaces of the sub types as
+well to be able to marshal calls correctly.
+<p> <pre> <a href="qstring.html">QString</a> exposeToSuperClass( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QSubWidget" )
+ return key;
+ return QAxFactory::exposeToSuperClass(key);
+ }
+ };
+</pre>Objects of the <tt>QSubWidget</tt> type should not expose the full
+functionality of e.g. <a href="qwidget.html">QWidget</a>. Only those properties and slots
+explicitly declared in the type are accessible.
+<p> <pre> QAXFACTORY_EXPORT( ActiveQtFactory, "{9e626211-be62-4d18-9483-9419358fbb03}", "{75c276de-1df5-451f-a004-e4fa1a587df1}" )
+</pre>The factory is then exported using the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a>
+macro.
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/multiple</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-hierarchy.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p>
+
+<pre> &lt;script language=javascript&gt;
+ function createSubWidget( form )
+ {
+ ParentWidget.createSubWidget( form.nameEdit.value );
+ }
+
+ function renameSubWidget( form )
+ {
+ var SubWidget = ParentWidget.subWidget( form.nameEdit.value );
+ if ( !SubWidget ) {
+ alert( "No such widget " + form.nameEdit.value + "!" );
+ return;
+ }
+ SubWidget.label = form.labelEdit.value;
+ form.nameEdit.value = SubWidget.label;
+ }
+
+ function setFont( form )
+ {
+ ParentWidget.font = form.fontEdit.value;
+ }
+ &lt;/script&gt;
+
+ &lt;p&gt;
+ This widget can have many children!&lt;br&gt;
+ &lt;object ID="ParentWidget" CLASSID="CLSID:d574a747-8016-46db-a07c-b2b4854ee75c"
+ CODEBASE=http://www.trolltech.com/demos/hierarchy.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+ &lt;form&gt;
+ &lt;input type="edit" ID="nameEdit" value = "&lt;enter object name&gt;"&gt;
+ &lt;input type="button" value = "Create" onClick="createSubWidget(this.form)"&gt;
+ &lt;input type="edit" ID="labelEdit"&gt;
+ &lt;input type="button" value = "Rename" onClick="renameSubWidget(this.form)"&gt;
+ &lt;br&gt;
+ &lt;input type="edit" ID="fontEdit" value = "MS Sans Serif"&gt;
+ &lt;input type="button" value = "Set Font" onClick="setFont(this.form)"&gt;
+ &lt;/form&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-menus.html b/doc/html/qaxserver-example-menus.html
new file mode 100644
index 0000000..b5d014d
--- /dev/null
+++ b/doc/html/qaxserver-example-menus.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/menus/menus.doc:16 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Menubar merging</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Menubar merging</h1>
+
+
+
+<p><b>This documentation is under development and is subject to change.</b>
+<p> This example demonstrates the use of <a href="qmenubar.html">QMenuBar</a> and <a href="qstatusbar.html">QStatusBar</a> in
+a <a href="qmainwindow.html">QMainWindow</a> to implement an in-place active control.
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/menus</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-menus.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p>
+
+<pre> &lt;object ID="QMenus" CLASSID="CLSID:4dc3f340-a6f7-44e4-a79b-3e9217695fbd"
+ CODEBASE=http://www.trolltech.com/demos/menusax.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-multiple.html b/doc/html/qaxserver-example-multiple.html
new file mode 100644
index 0000000..3d55855
--- /dev/null
+++ b/doc/html/qaxserver-example-multiple.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/multiple/multiple.doc:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Two simple Qt widgets (in-process)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Two simple Qt widgets (in-process)</h1>
+
+
+
+The ActiveX controls in this example are simple <a href="qwidget.html">QWidget</a>
+subclasses reimplementing the paintEvent() method. The classes use
+the Q_CLASSINFO macro to
+<p> The example demonstrates the use of the Q_CLASSINFO macro to set
+<a href="activeqt.html#ActiveQt">ActiveQt</a>-specific attributes for <a href="qobject.html">QObject</a> sub classes, and the use of
+the <a href="qaxfactory.html#QAXFACTORY_BEGIN">QAXFACTORY_BEGIN</a>, <a href="qaxfactory.html#QAXCLASS">QAXCLASS</a> and <a href="qaxfactory.html#QAXFACTORY_END">QAXFACTORY_END</a> macros.
+<p>
+
+<pre> class QAxWidget1 : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ Q_CLASSINFO("ClassID", "{1D9928BD-4453-4bdd-903D-E525ED17FDE5}")
+ Q_CLASSINFO("InterfaceID", "{99F6860E-2C5A-42ec-87F2-43396F4BE389}")
+ Q_CLASSINFO("EventsID", "{0A3E9F27-E4F1-45bb-9E47-63099BCCD0E3}")
+</pre>The class declaration includes the Q_OBJECT macro to activate Qt's <a href="metaobjects.html#meta-object">meta object</a> system, and sets COM identifiers for the class using the
+Q_CLASSINFO macro.
+<pre> Q_PROPERTY( QColor fillColor READ fillColor WRITE setFillColor )
+ public:
+ QAxWidget1( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, WFlags f = 0 )
+ : <a href="qwidget.html">QWidget</a>( parent, name, f ), fill_color( red )
+ {
+ }
+
+ <a href="qcolor.html">QColor</a> fillColor() const
+ {
+ return fill_color;
+ }
+ void setFillColor( const <a href="qcolor.html">QColor</a> &amp;fc )
+ {
+ fill_color = fc;
+ repaint();
+ }
+
+ protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a href="qpainter.html">QPainter</a> paint( this );
+ <a href="qrect.html">QRect</a> r = rect();
+ <a name="x2544"></a> r.<a href="qrect.html#addCoords">addCoords</a>( 10, 10, -10, -10 );
+ <a name="x2543"></a> paint.<a href="qpainter.html#fillRect">fillRect</a>( r, fill_color );
+ }
+
+ private:
+ <a href="qcolor.html">QColor</a> fill_color;
+ };
+</pre>The control draws a filled rectangle. The fill color is exposed as a
+property using the Q_PROPERTY macro.
+<p>
+
+<pre> class QAxWidget2 : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+ Q_CLASSINFO("ClassID", "{58139D56-6BE9-4b17-937D-1B1EDEDD5B71}")
+ Q_CLASSINFO("InterfaceID", "{B66280AB-08CC-4dcc-924F-58E6D7975B7D}")
+ Q_CLASSINFO("EventsID", "{D72BACBA-03C4-4480-B4BB-DE4FE3AA14A0}")
+ Q_CLASSINFO("ToSuperClass", "QAxWidget2")
+ Q_CLASSINFO("StockEvents", "yes")
+</pre>The declaration of the second control class uses the Q_CLASSINFO macro
+to set the COM identifiers as well as additional COM attributes for the
+class. Objects of that class will not expose the <a href="qwidget.html">QWidget</a> API, and provide
+the ActiveX stock events (ie. Click, KeyDown etc.).
+<pre> Q_PROPERTY( int lineWidth READ lineWidth WRITE setLineWidth )
+ public:
+ QAxWidget2( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, WFlags f = 0 )
+ : <a href="qwidget.html">QWidget</a>( parent, name, f ), line_width( 1 )
+ {
+ }
+
+ int lineWidth() const
+ {
+ return line_width;
+ }
+ void setLineWidth( int lw )
+ {
+ line_width = lw;
+ repaint();
+ }
+
+ protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a href="qpainter.html">QPainter</a> paint( this );
+ <a name="x2546"></a> <a href="qpen.html">QPen</a> pen = paint.<a href="qpainter.html#pen">pen</a>();
+ <a name="x2548"></a> pen.<a href="qpen.html#setWidth">setWidth</a>( line_width );
+ <a name="x2547"></a> paint.<a href="qpainter.html#setPen">setPen</a>( pen );
+
+ <a href="qrect.html">QRect</a> r = rect();
+ <a name="x2549"></a> r.<a href="qrect.html#addCoords">addCoords</a>( 10, 10, -10, -10 );
+ <a name="x2545"></a> paint.<a href="qpainter.html#drawEllipse">drawEllipse</a>( r );
+ }
+
+ private:
+ int line_width;
+ };
+</pre>The control draws a circle. The line width is exposed as a property
+using the Q_PROPERTY macro.
+<p> The controls are exposed by the implementation of <a href="qaxfactory.html">QAxFactory</a> as provided
+by the QAXFACTORY_BEGIN and QAXFACTORY_END macros.
+
+
+<pre> #include &lt;<a href="qaxfactory-h.html">qaxfactory.h</a>&gt;
+
+ #include "ax1.h"
+ #include "ax2.h"
+
+ QAXFACTORY_BEGIN("{98DE28B6-6CD3-4e08-B9FA-3D1DB43F1D2F}", "{05828915-AD1C-47ab-AB96-D6AD1E25F0E2}")
+</pre>The factory is initialied using the QAXFACTORY_BEGIN macro, providing
+the IDs for the application and the type library.
+<pre> QAXCLASS(QAxWidget1)
+ QAXCLASS(QAxWidget2)
+</pre>The classes exposed are listed using the QAXCLASS macro.
+<pre> QAXFACTORY_END()
+</pre>Finally the factory declaration is closed using the QAXFACTORY_END
+macro.
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/multiple</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-multiple.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p>
+
+<pre> &lt;script language=javascript&gt;
+ function setColor( form )
+ {
+ Ax1.fillColor = form.colorEdit.value;
+ }
+
+ function setWidth( form )
+ {
+ Ax2.lineWidth = form.widthEdit.value;
+ }
+ &lt;/script&gt;
+
+ &lt;p&gt;
+ This is one QWidget subclass:&lt;br&gt;
+ &lt;object ID="Ax1" CLASSID="CLSID:1D9928BD-4453-4bdd-903D-E525ED17FDE5"
+ CODEBASE=http://www.trolltech.com/demos/multipleax.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+ &lt;form&gt;
+ Fill Color: &lt;input type="edit" ID="colorEdit" value = "red"&gt;
+ &lt;input type="button" value = "Set" onClick="setColor(this.form)"&gt;
+ &lt;input type="button" value = "Hide" onClick="Ax1.hide()"&gt;
+ &lt;input type="button" value = "Show" onClick="Ax1.show()"&gt;
+ &lt;/form&gt;
+
+ &lt;p&gt;
+ This is another QWidget subclass:&lt;br&gt;
+ &lt;object ID="Ax2" CLASSID="CLSID:58139D56-6BE9-4b17-937D-1B1EDEDD5B71"
+ CODEBASE=http://www.trolltech.com/demos/multipleax.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+ &lt;form&gt;
+ Line width: &lt;input type="edit" ID="widthEdit" value = "1"&gt;
+ &lt;input type="button" value = "Set" onClick="setWidth(this.form)"&gt;
+ &lt;/form&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-opengl.html b/doc/html/qaxserver-example-opengl.html
new file mode 100644
index 0000000..33d884e
--- /dev/null
+++ b/doc/html/qaxserver-example-opengl.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/opengl/opengl.doc:33 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt' OpenGL widgets as an ActiveX (executable)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt' OpenGL widgets as an ActiveX (executable)</h1>
+
+
+
+The ActiveX control in this example uses the QGlWidget class in
+Qt to render an OpenGL scene in an ActiveX. The control exposes a few
+methods to change the scene. The example is based on the
+<a href="opengl-box-example.html">"box" example</a> from the standard
+Qt distribution.
+<p> The example demonstrates the use of the default factory and
+<a href="qaxfactory.html#isServer">QAxFactory::isServer</a>(), and the implementation of an additional COM
+interface using <a href="qaxbindable.html">QAxBindable</a> and <a href="qaxaggregated.html">QAxAggregated</a>. The server executable
+can run both as an ActiveX server and as a stand alone application.
+<p>
+
+The application uses the default factory as provided by the
+<a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro to expose the <tt>GLBox</tt> widget as an ActiveX
+control.
+<pre> #include &lt;<a href="qaxfactory-h.html">qaxfactory.h</a>&gt;
+
+ QAXFACTORY_DEFAULT( GLBox,
+ "{5fd9c22e-ed45-43fa-ba13-1530bb6b03e0}",
+ "{33b051af-bb25-47cf-a390-5cfd2987d26a}",
+ "{8c996c29-eafa-46ac-a6f9-901951e765b5}",
+ "{2c3c183a-eeda-41a4-896e-3d9c12c3577d}",
+ "{83e16271-6480-45d5-aaf1-3f40b7661ae4}"
+ )
+</pre>The implementation of <tt>main</tt> initializes the <a href="qapplication.html">QApplication</a> object,
+and uses <a href="qaxfactory.html#isServer">QAxFactory::isServer</a>() to determine whether or not it is
+appropriate to create and show the application interface.
+<pre> /*
+ The main program is here.
+ */
+
+ int main( int argc, char **argv )
+ {
+ <a name="x2732"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+
+ if ( !QGLFormat::hasOpenGL() ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "This system has no OpenGL support. Exiting." );
+ return -1;
+ }
+
+ if ( !QAxFactory::isServer() ) {
+ GLObjectWindow w;
+ w.<a href="qwidget.html#resize">resize</a>( 400, 350 );
+ <a name="x2733"></a> a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+ }
+ <a name="x2731"></a> return a.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p>
+
+The <tt>GLBox</tt> class inherits from both the <a href="qglwidget.html">QGLWidget</a> class to be able
+to render OpenGL, and from <a href="qaxbindable.html">QAxBindable</a>.
+<pre> #include &lt;<a href="qaxbindable-h.html">qaxbindable.h</a>&gt;
+
+ class GLBox : public <a href="qglwidget.html">QGLWidget</a>,
+ public QAxBindable
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+</pre>The class reimplements the <a href="qaxbindable.html#createAggregate">QAxBindable::createAggregate</a>() function from <a href="qaxbindable.html">QAxBindable</a>
+to return the pointer to a <a href="qaxaggregated.html">QAxAggregated</a> object.
+<pre> public:
+
+ GLBox( <a href="qwidget.html">QWidget</a>* parent, const char* name );
+ ~GLBox();
+
+ <a href="qaxaggregated.html">QAxAggregated</a> *createAggregate();
+
+ public slots:
+
+ void setXRotation( int degrees );
+</pre>The rest of the class declaration and the implementation of the OpenGL
+rendering is identical to the original "box" example.
+<p>
+
+The implementation file of the <tt>GLBox</tt> class includes the <tt>objsafe.h</tt>
+system header, in which the <tt>IObjectSafety</tt> COM interface is defined.
+<pre> #include &lt;objsafe.h&gt;
+</pre>A class <tt>ObjectSafetyImpl</tt> is declared using multiple inheritance
+to subclass the <a href="qaxaggregated.html">QAxAggregated</a> class, and to implement the IObjectSafety
+interface.
+<pre> class ObjectSafetyImpl : public <a href="qaxaggregated.html">QAxAggregated</a>,
+ public IObjectSafety
+ {
+ public:
+</pre>The class declares a default constructor, and implements the queryInterface
+function to support the IObjectSafety interface.
+<pre> ObjectSafetyImpl() {}
+
+ long queryInterface( const <a href="quuid.html">QUuid</a> &amp;iid, void **iface )
+ {
+ *iface = 0;
+ if ( iid == IID_IObjectSafety )
+ *iface = (IObjectSafety*)this;
+ else
+ return E_NOINTERFACE;
+
+ AddRef();
+ return S_OK;
+ }
+</pre>Since every COM interface inherits <tt>IUnknown</tt> the <tt>QAXAGG_IUNKNOWN</tt> macro
+is used to provide the default implementation of the <tt>IUnknown</tt> interface.
+The macro is defined to delegate all calls to <tt>QueryInterface</tt>, <tt>AddRef</tt>
+and <tt>Release</tt> to the interface returned by the controllingUnknown() function.
+<pre> QAXAGG_IUNKNOWN;
+</pre>The implementation of the <tt>IObjectSafety</tt> interface provides the caller
+with information about supported and enabled safety options, and returns
+<tt>S_OK</tt> for all calls to indicate that the ActiveX control is safe.
+<pre> HRESULT WINAPI GetInterfaceSafetyOptions( REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions )
+ {
+ *pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACESAFE_FOR_UNTRUSTED_CALLER;
+ *pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACESAFE_FOR_UNTRUSTED_CALLER;
+ return S_OK;
+ }
+ HRESULT WINAPI SetInterfaceSafetyOptions( REFIID riid, DWORD pdwSupportedOptions, DWORD pdwEnabledOptions )
+ {
+ return S_OK;
+ }
+ };
+</pre>The implementation of the <tt>createAggregate()</tt> function just returns a new
+<tt>ObjectSafetyImpl</tt> object.
+<pre> QAxAggregated *GLBox::createAggregate()
+ {
+ return new ObjectSafetyImpl();
+ }
+</pre>
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/wrapper</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-opengl.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p> In contrast to the other QAxServer examples Internet Explorer will not
+open a dialog box to ask the user whether or not the scripting of the GLBox
+control should be allowed (the exact browser behaviour depends on the security
+settings in the Internet Options dialog).
+<p>
+
+<pre> &lt;SCRIPT LANGUAGE=JavaScript&gt;
+ function setRot( form )
+ {
+ GLBox.setXRotation( form.XEdit.value );
+ GLBox.setYRotation( form.YEdit.value );
+ GLBox.setZRotation( form.ZEdit.value );
+ }
+ &lt;/SCRIPT&gt;
+
+ &lt;p&gt;
+ An OpenGL scene:&lt;br&gt;
+ &lt;object ID="GLBox" CLASSID="CLSID:5fd9c22e-ed45-43fa-ba13-1530bb6b03e0"
+ CODEBASE=http://www.trolltech.com/demos/openglax.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+
+ &lt;form&gt;
+ Rotate the scene:&lt;br&gt;
+ X:&lt;input type="edit" ID="XEdit" value="0"&gt;&lt;br&gt;
+ Y:&lt;input type="edit" name="YEdit" value="0"&gt;&lt;br&gt;
+ Z:&lt;input type="edit" name="ZEdit" value="0"&gt;&lt;br&gt;
+ &lt;input type="button" value="Set" onClick="setRot(this.form)"&gt;
+ &lt;/form&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-simple.html b/doc/html/qaxserver-example-simple.html
new file mode 100644
index 0000000..20bba81
--- /dev/null
+++ b/doc/html/qaxserver-example-simple.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/simple/simple.doc:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A simple ActiveQt control (executable)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A simple ActiveQt control (executable)</h1>
+
+
+
+The ActiveX control in this example is a layouted <a href="qwidget.html">QWidget</a>
+with a <a href="qslider.html">QSlider</a>, a <a href="qlcdnumber.html">QLCDNumber</a> and a <a href="qlineedit.html">QLineEdit</a>.
+It provides a signal/slot/property interface to change the
+values of the slider and the line edit, and to get notified
+of any property changes.
+<p> It demonstrates the use of <a href="qaxbindable.html#requestPropertyChange">QAxBindable::requestPropertyChange</a>()
+and <a href="qaxbindable.html#propertyChanged">QAxBindable::propertyChanged</a>(), and the use of the default
+<a href="qaxfactory.html">QAxFactory</a> through the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro.
+<p>
+
+<p> The Qt implementation of the ActiveX for this example is
+<pre> class QSimpleAX : public <a href="qwidget.html">QWidget</a>, public QAxBindable
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( int value READ value WRITE setValue )
+ public:
+ QSimpleAX( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+ <a href="qvboxlayout.html">QVBoxLayout</a> *vbox = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+
+ slider = new <a href="qslider.html">QSlider</a>( 0, 100, 1, 0, QSlider::Horizontal, this );
+ LCD = new <a href="qlcdnumber.html">QLCDNumber</a>( 3, this );
+ edit = new <a href="qlineedit.html">QLineEdit</a>( this );
+
+ <a name="x2528"></a> connect( slider, SIGNAL( <a href="qslider.html#valueChanged">valueChanged</a>( int ) ), this, SLOT( setValue(int) ) );
+ <a name="x2523"></a> connect( edit, SIGNAL(<a href="qlineedit.html#textChanged">textChanged</a>(const <a href="qstring.html">QString</a>&amp;)), this, SLOT(setText(const <a href="qstring.html">QString</a>&amp;)) );
+
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( slider );
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( LCD );
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( edit );
+ }
+
+ <a href="qstring.html">QString</a> text() const
+ {
+ <a name="x2522"></a> return edit-&gt;<a href="qlineedit.html#text">text</a>();
+ }
+ int value() const
+ {
+ <a name="x2527"></a> return slider-&gt;<a href="qslider.html#value">value</a>();
+ }
+
+ signals:
+ void someSignal();
+ void valueChanged(int);
+ void textChanged(const <a href="qstring.html">QString</a>&amp;);
+
+ public slots:
+ void setText( const <a href="qstring.html">QString</a> &amp;string )
+ {
+ if ( !requestPropertyChange( "text" ) )
+ return;
+
+ <a name="x2525"></a> edit-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( TRUE );
+ <a name="x2521"></a> edit-&gt;<a href="qlineedit.html#setText">setText</a>( string );
+ edit-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( FALSE );
+ emit someSignal();
+ emit textChanged( string );
+
+ propertyChanged( "text" );
+ }
+ void about()
+ {
+ <a name="x2524"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "About QSimpleAX", "This is a Qt widget, and this slot has been\n"
+ "called through ActiveX/OLE automation!" );
+ }
+ void setValue( int i )
+ {
+ if ( !requestPropertyChange( "value" ) )
+ return;
+ slider-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( TRUE );
+ <a name="x2526"></a> slider-&gt;<a href="qslider.html#setValue">setValue</a>( i );
+ slider-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( FALSE );
+ LCD-&gt;<a href="qlcdnumber.html#display">display</a>( i );
+ emit valueChanged( i );
+
+ propertyChanged( "value" );
+ }
+
+ private:
+ <a href="qslider.html">QSlider</a> *slider;
+ <a href="qlcdnumber.html">QLCDNumber</a> *LCD;
+ <a href="qlineedit.html">QLineEdit</a> *edit;
+ };
+</pre>
+<p> The control is exported using the default <a href="qaxfactory.html">QAxFactory</a>
+<pre> QAXFACTORY_DEFAULT(QSimpleAX,
+ "{DF16845C-92CD-4AAB-A982-EB9840E74669}",
+ "{616F620B-91C5-4410-A74E-6B81C76FFFE0}",
+ "{E1816BBA-BF5D-4A31-9855-D6BA432055FF}",
+ "{EC08F8FC-2754-47AB-8EFE-56A54057F34E}",
+ "{A095BA0C-224F-4933-A458-2DD7F6B85D8F}")
+</pre>
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/simple</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-simple.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p> The simple ActiveX control is embedded using the <tt>&lt;object&gt;</tt> tag.
+
+
+<pre> &lt;object ID="QSimpleAX" CLASSID="CLSID:DF16845C-92CD-4AAB-A982-EB9840E74669"
+ CODEBASE=http://www.trolltech.com/demos/simpleax.cab&gt;
+ &lt;PARAM NAME="text" VALUE="A simple control"&gt;
+ &lt;PARAM NAME="value" VALUE="1"&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;
+</pre>
+<p> A simple HTML button is connected to the <a href="activeqt.html#ActiveQt">ActiveQt</a>'s about() slot.
+<pre> &lt;FORM&gt;
+ &lt;INPUT TYPE="BUTTON" VALUE="About..." onClick="QSimpleAX.about()"&gt;
+ &lt;/FORM&gt;
+</pre>
+<p> A second ActiveX control - the standard Calendar Control - is instantiated
+<pre> &lt;object ID="Calendar" CLASSID="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"&gt;
+ [Standard Calendar control not available!]
+ &lt;PARAM NAME="day" VALUE="1"&gt;
+ &lt;/object&gt;
+</pre>
+<p> Events from the ActiveX controls are handled using both Visual Basic Script
+and JavaScript.
+<pre> &lt;SCRIPT LANGUAGE=VBScript&gt;
+ Sub Calendar_Click()
+ MsgBox( "Calendar Clicked!" )
+ End Sub
+
+ Sub QSimpleAX_TextChanged( str )
+ document.title = str
+ End Sub
+ &lt;/SCRIPT&gt;
+ &lt;SCRIPT LANGUAGE=JavaScript&gt;
+ function QSimpleAX::ValueChanged( Newvalue )
+ {
+ Calendar.Day = Newvalue;
+ }
+ &lt;/SCRIPT&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-tetrax.html b/doc/html/qaxserver-example-tetrax.html
new file mode 100644
index 0000000..bc0dd18
--- /dev/null
+++ b/doc/html/qaxserver-example-tetrax.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/tetrax/tetrax.doc:27 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Qt example as a scriptable ActiveX control (executable)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Qt example as a scriptable ActiveX control (executable)</h1>
+
+
+
+This example shows how to turn an existing Qt application
+into an ActiveX control server. The ActiveX control is based
+on the Qt tetrix example.
+<p> It demonstrates the use of the default factory provied by the
+<a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro, and of <a href="qaxfactory.html#isServer">QAxFactory::isServer</a>().
+<p> The code changes for the tetrix GUI are minimal (a property <tt>score</tt>,
+a signal <tt>gameOver</tt> and a slot <tt>startGame</tt>) and provide a better scripting
+interface for the use of the control in a web environment.
+<p> The implementation of the ActiveX server functionality is only in the
+tetrax.cpp file.
+
+
+The default implementation of the <a href="qaxfactory.html">QAxFactory</a> is used through the
+QAXFACTORY_DEFAULT macro, and exports the QTetrax object specifying
+the five unique IDs required by COM to instantiate and communicate with
+the server.
+<pre> #include "qtetrax.h"
+ #include "qdragapp.h"
+ #include "qfont.h"
+
+ #include &lt;<a href="qaxfactory-h.html">qaxfactory.h</a>&gt;
+
+ QAXFACTORY_DEFAULT( QTetrax,
+ "{852558AD-CBD6-4f07-844C-D1E8983CD6FC}",
+ "{2F5D0068-772C-4d1e-BCD2-D3F6BC7FD315}",
+ "{769F4820-9F28-490f-BA50-5545BD381DCB}",
+ "{5753B1A8-53B9-4abe-8690-6F14EC5CA8D0}",
+ "{DE2F7CE3-CFA7-4938-A9FC-867E2FEB63BA}" )
+</pre>The <tt>main</tt> entry point method instantiates a <a href="qapplication.html">QApplication</a> object, and
+creates the GUI only if the program is not running as an ActiveX server (ie.
+the program has been started by the user, not by COM).
+<pre> int main( int argc, char **argv )
+ {
+ <a name="x2716"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ QDragApplication a(argc,argv);
+
+ QTetrax *tetrax = 0;
+ if ( !QAxFactory::isServer() ) {
+ tetrax = new QTetrax;
+ <a name="x2718"></a> tetrax-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Tetrax");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(tetrax);
+ tetrax-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Tetrax");
+ tetrax-&gt;<a href="qwidget.html#show">show</a>();
+ }
+</pre>The server enters the application event loop, and destroys the GUI before exiting.
+<pre> int res = a.<a href="qapplication.html#exec">exec</a>();
+ delete tetrax;
+ return res;
+ }
+</pre>
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/tetrix</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-tetrax.html">demonstration</a> requires your
+Web browser to support ActiveX controls, and scripting to be enabled.
+<p>
+
+The "Tetrix" control is embedded using the <tt>&lt;object&gt;</tt> tag. Note that the
+dimensions of the control are provided explicitely, as the control itself
+does not use Qt's layout engine.
+<pre> &lt;object ID="QTetrax" width=550 height=370
+ CLASSID="CLSID:852558AD-CBD6-4f07-844C-D1E8983CD6FC"
+ CODEBASE=http://www.trolltech.com/demos/tetrax.cab&gt;
+ &lt;PARAM NAME="score" VALUE="0"&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;
+</pre>An HTML button is added to start the game.
+<pre> &lt;form&gt;
+ &lt;input type="button" value="Start Game..."
+ onClick="QTetrax.startGame()"&gt;
+ &lt;/form&gt;
+</pre>And an event handler for the <tt>gameOver()</tt> event is implemented in JavaScript
+to display a simple message box.
+<pre> &lt;SCRIPT LANGUAGE=JavaScript&gt;
+ function QTetrax::gameOver()
+ {
+ alert( "GameOver!" );
+ }
+ &lt;/SCRIPT&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-example-wrapper.html b/doc/html/qaxserver-example-wrapper.html
new file mode 100644
index 0000000..9f2b2f5
--- /dev/null
+++ b/doc/html/qaxserver-example-wrapper.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/wrapper/wrapper.doc:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Standard Qt widgets as ActiveX controls (in-process)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Standard Qt widgets as ActiveX controls (in-process)</h1>
+
+
+
+The ActiveX controls in this example are the standard button
+classes <a href="qpushbutton.html">QPushButton</a>, <a href="qcheckbox.html">QCheckBox</a> and <a href="qradiobutton.html">QRadioButton</a> as provided by
+Qt.
+<p> It demonstrates how to export existing <a href="qwidget.html">QWidget</a> classes as ActiveX
+controls, and the use of <a href="qaxfactory.html">QAxFactory</a> together with the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a>
+macro.
+<p>
+
+<pre> class ActiveQtFactory : public <a href="qaxfactory.html">QAxFactory</a>
+ {
+ public:
+ ActiveQtFactory( const <a href="quuid.html">QUuid</a> &amp;lib, const <a href="quuid.html">QUuid</a> &amp;app )
+ : <a href="qaxfactory.html">QAxFactory</a>( lib, app )
+ {}
+ <a href="qstringlist.html">QStringList</a> featureList() const
+ {
+ <a href="qstringlist.html">QStringList</a> list;
+ list &lt;&lt; "QButton";
+ list &lt;&lt; "QCheckBox";
+ list &lt;&lt; "QRadioButton";
+ list &lt;&lt; "QPushButton";
+ list &lt;&lt; "QToolButton";
+ return list;
+ }
+ <a href="qwidget.html">QWidget</a> *create( const <a href="qstring.html">QString</a> &amp;key, QWidget *parent, const char *name )
+ {
+ if ( key == "QButton" )
+ return new <a href="qbutton.html">QButton</a>( parent, name );
+ if ( key == "QCheckBox" )
+ return new <a href="qcheckbox.html">QCheckBox</a>( parent, name );
+ if ( key == "QRadioButton" )
+ return new <a href="qradiobutton.html">QRadioButton</a>( parent, name );
+ if ( key == "QPushButton" )
+ return new <a href="qpushbutton.html">QPushButton</a>( parent, name );
+ if ( key == "QToolButton" ) {
+ <a href="qtoolbutton.html">QToolButton</a> *tb = new <a href="qtoolbutton.html">QToolButton</a>( parent, name );
+ <a name="x2518"></a> tb-&gt;<a href="qbutton.html#setPixmap">setPixmap</a>( QPixmap(fileopen) );
+ return tb;
+ }
+
+ return 0;
+ }
+ <a href="qmetaobject.html">QMetaObject</a> *metaObject( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QButton" )
+ return QButton::staticMetaObject();
+ if ( key == "QCheckBox" )
+ return QCheckBox::staticMetaObject();
+ if ( key == "QRadioButton" )
+ return QRadioButton::staticMetaObject();
+ if ( key == "QPushButton" )
+ return QPushButton::staticMetaObject();
+ if ( key == "QToolButton" )
+ return QToolButton::staticMetaObject();
+
+ return 0;
+ }
+ <a href="quuid.html">QUuid</a> classID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QButton" )
+ return "{23F5012A-7333-43D3-BCA8-836AABC61B4A}";
+ if ( key == "QCheckBox" )
+ return "{6E795DE9-872D-43CF-A831-496EF9D86C68}";
+ if ( key == "QRadioButton" )
+ return "{AFCF78C8-446C-409A-93B3-BA2959039189}";
+ if ( key == "QPushButton" )
+ return "{2B262458-A4B6-468B-B7D4-CF5FEE0A7092}";
+ if ( key == "QToolButton" )
+ return "{7c0ffe7a-60c3-4666-bde2-5cf2b54390a1}";
+
+ return QUuid();
+ }
+ <a href="quuid.html">QUuid</a> interfaceID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QButton" )
+ return "{6DA689FB-928F-423C-8632-678C3D3606DB}";
+ if ( key == "QCheckBox" )
+ return "{4FD39DD7-2DE0-43C1-A8C2-27C51A052810}";
+ if ( key == "QRadioButton" )
+ return "{7CC8AE30-206C-48A3-A009-B0A088026C2F}";
+ if ( key == "QPushButton" )
+ return "{06831CC9-59B6-436A-9578-6D53E5AD03D3}";
+ if ( key == "QToolButton" )
+ return "{6726080f-d63d-4950-a366-9bf33e5cdf84}";
+
+ return QUuid();
+ }
+ <a href="quuid.html">QUuid</a> eventsID( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "QButton" )
+ return "{73A5D03F-8ADE-4D84-9AE0-A93B4F85A130}";
+ if ( key == "QCheckBox" )
+ return "{FDB6FFBE-56A3-4E90-8F4D-198488418B3A}";
+ if ( key == "QRadioButton" )
+ return "{73EE4860-684C-4A66-BF63-9B9EFFA0CBE5}";
+ if ( key == "QPushButton" )
+ return "{3CC3F17F-EA59-4B58-BBD3-842D467131DD}";
+ if ( key == "QToolButton" )
+ return "{f4d421fd-4ead-4fd9-8a25-440766939639}";
+
+ return QUuid();
+ }
+ };
+</pre>The factory implementation returns the list of supported controls,
+creates controls on request and provides information about the unique
+IDs of the COM classes and interfaces for each control.
+<p> <pre> QAXFACTORY_EXPORT( ActiveQtFactory, "{3B756301-0075-4E40-8BE8-5A81DE2426B7}", "{AB068077-4924-406a-BBAF-42D91C8727DD}" )
+</pre>The factory is exported using the QAXFACTORY_EXPORT macro.
+<p> To build the example you must first build the <a href="qaxserver.html">QAxServer</a> library. Then run qmake and your make tool in
+<tt>examples/wrapper</tt>.
+<p> <hr>
+<p> The <a href="qaxserver-demo-wrapper.html">demonstration</a> requires your
+WebBrowser to support ActiveX controls, and scripting to be enabled.
+<p>
+
+<pre> &lt;SCRIPT LANGUAGE=VBScript&gt;
+ Sub ToolButton_Clicked()
+ RadioButton.text = InputBox( "Enter something", "Wrapper Demo" )
+ End Sub
+
+ Sub PushButton_clicked()
+ MsgBox( "Thank you!" )
+ End Sub
+
+ Sub CheckBox_toggled( state )
+ if state = 0 then
+ CheckBox.text = "Check me!"
+ else
+ CheckBox.text = "Uncheck me!"
+ end if
+ End Sub
+ &lt;/SCRIPT&gt;
+ &lt;p&gt;
+ A QPushButton:&lt;br&gt;
+ &lt;object ID="PushButton" CLASSID="CLSID:2B262458-A4B6-468B-B7D4-CF5FEE0A7092"
+ CODEBASE=http://www.trolltech.com/demos/wrapperax.cab&gt;
+ &lt;PARAM NAME="text" VALUE="Click me!"&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+
+ &lt;p&gt;
+ A QCheckBox:&lt;br&gt;
+ &lt;object ID="CheckBox" CLASSID="CLSID:6E795de9-872d-43cf-a831-496ef9d86c68"
+ CODEBASE=http://www.trolltech.com/demos/wrapperax.cab&gt;
+ &lt;PARAM NAME="text" VALUE="Check me!"&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+
+ &lt;p&gt;
+ A QToolButton:&lt;br&gt;
+ &lt;object ID="ToolButton" CLASSID="CLSID:7c0ffe7a-60c3-4666-bde2-5cf2b54390a1"
+ CODEBASE=http://www.trolltech.com/demos/wrapperax.cab&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+
+ &lt;p&gt;
+ A QRadioButton:&lt;br&gt;
+ &lt;object ID="RadioButton" CLASSID="CLSID:afcf78c8-446c-409a-93b3-ba2959039189"
+ CODEBASE=http://www.trolltech.com/demos/wrapperax.cab&gt;
+ &lt;PARAM NAME="text" VALUE="Tune me!"&gt;
+ [Object not available! Did you forget to build and register the server?]
+ &lt;/object&gt;&lt;br&gt;
+</pre><p>See also <a href="qaxserver-examples.html">The QAxServer Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver-examples.html b/doc/html/qaxserver-examples.html
new file mode 100644
index 0000000..057e379
--- /dev/null
+++ b/doc/html/qaxserver-examples.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/examples/examples.doc:24 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The QAxServer Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The QAxServer Examples</h1>
+
+
+
+The following example programs illustrate the development of ActiveX
+controls using the the QAxServer module.
+<p> For more information see the <a href="qaxserver.html">QAxServer</a>
+documentation.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="activeqt-dotnet.html">Walkthrough: Using Qt objects in Microsoft .NET</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-hierarchy.html">Qt Widget Hierarchy (in-process)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-menus.html">Menubar merging</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-multiple.html">Two simple Qt widgets (in-process)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-opengl.html">Qt' OpenGL widgets as an ActiveX (executable)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-simple.html">A simple ActiveQt control (executable)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-tetrax.html">A Qt example as a scriptable ActiveX control (executable)</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="qaxserver-example-wrapper.html">Standard Qt widgets as ActiveX controls (in-process)</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxserver.html b/doc/html/qaxserver.html
new file mode 100644
index 0000000..73408d8
--- /dev/null
+++ b/doc/html/qaxserver.html
@@ -0,0 +1,1073 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/doc/control.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The QAxServer Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The QAxServer Module</h1>
+
+
+<p>
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#2"> Building the library
+</a>
+<li><a href="#3"> Using the library
+</a>
+<ul>
+<li><a href="#3-1"> Out-of-process vs. In-process
+</a>
+</ul>
+<li><a href="#4"> The QAxServer build system
+</a>
+<ul>
+<li><a href="#4-1"> Typical build problems
+</a>
+<ul>
+<li><a href="#4-1-1"> Compiler errors
+</a>
+<ul>
+<li><a href="#4-1-1-1"> "No overloaded function takes 2 parameters"
+</a>
+<li><a href="#4-1-1-2"> "syntax error: bad suffix on number"
+</a>
+</ul>
+<li><a href="#4-1-2"> Linker errors
+</a>
+<ul>
+<li><a href="#4-1-2-1"> "unresolved external symbol _ucm_instantiate"
+</a>
+<li><a href="#4-1-2-2"> "_ucm_initialize already defined in ..."
+</a>
+<li><a href="#4-1-2-3"> "cannot open file ... "
+</a>
+</ul>
+<li><a href="#4-1-3"> Postprocessing and runtime errors
+</a>
+<ul>
+<li><a href="#4-1-3-1"> The server executable crashes
+</a>
+<li><a href="#4-1-3-2"> The server executable is not a valid Win32 application
+</a>
+<li><a href="#4-1-3-3"> "Unable to Locate DLL"
+</a>
+<li><a href="#4-1-3-4"> The Server does not respond
+</a>
+<li><a href="#4-1-3-5"> The Object cannot be created
+</a>
+</ul>
+</ul>
+<li><a href="#4-2"> Debugging runtime errors
+</a>
+</ul>
+<li><a href="#5"> Implementing Controls
+</a>
+<ul>
+<li><a href="#5-1"> Data Types
+</a>
+<li><a href="#5-2"> Sub-Objects
+</a>
+<li><a href="#5-3"> Property Notification
+</a>
+</ul>
+<li><a href="#6"> Serving Controls
+</a>
+<ul>
+<li><a href="#6-1"> Distributing QAxServer binaries
+</a>
+<ul>
+<li><a href="#6-1-1"> Installing stand-alone Servers
+</a>
+<li><a href="#6-1-2"> Installing In-process Servers
+</a>
+<li><a href="#6-1-3"> Distributing Servers over the Internet
+</a>
+</ul>
+</ul>
+<li><a href="#7"> Using the Controls
+</a>
+<ul>
+<li><a href="#7-1"> Supported and Unsupported ActiveX clients
+</a>
+<ul>
+<li><a href="#7-1-1"> Supported Clients
+</a>
+<li><a href="#7-1-2"> Unsupported Clients
+</a>
+</ul>
+</ul>
+<li><a href="#8"> Enhanced features
+</a>
+<ul>
+<li><a href="#8-1"> Fewer methods and properties
+</a>
+<li><a href="#8-2"> Class Information and Tuning
+</a>
+<li><a href="#8-3"> Developing licensed components
+</a>
+<li><a href="#8-4"> More Interfaces
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> The QAxServer module provides a static library implementing the
+functions required to turn a standard Qt binary into an ActiveX
+control server.
+<p> This module is part of the <a href="activeqt.html">ActiveQt
+ framework</a>. (To incorporate ActiveX controls in a Qt
+application see the <a href="qaxcontainer.html">QAxContainer
+ module</a>.)
+<p> The module consists of three classes
+<ul>
+<li> <a href="qaxfactory.html">QAxFactory</a> defines a factory for the creation of ActiveX components.
+<li> <a href="qaxbindable.html">QAxBindable</a> provides an interface between the Qt widget and the
+ActiveX control.
+<li> <a href="qaxaggregated.html">QAxAggregated</a> can be subclassed to implement additional COM interfaces.
+</ul>
+<p> Some <a href="qaxserver-examples.html">example implementations</a>
+of ActiveX controls are provided.
+<p> <h2> Building the library
+</h2>
+<a name="2"></a><p> In the <tt>activeqt</tt> directory (usually <tt>QTDIR/extensions/activeqt</tt>)
+enter the <tt>control</tt> subdirectory and run <tt>qmake</tt> to generate the
+makefile, and use the make tool (<tt>nmake</tt> for VC++, <tt>make</tt> for Borland)
+to build the library. The library <tt>qaxserver.lib</tt> will be linked into
+<tt>QTDIR/lib</tt>.
+<p> <h2> Using the library
+</h2>
+<a name="3"></a><p> To turn a standard Qt application into an ActiveX server using the
+QAxServer library you must add <tt>activeqt</tt> as a CONFIG setting
+in your <tt>.pro</tt> file.
+<p> An out-of-process executable server is generated from a <tt>.pro</tt>
+file like this:
+<pre>
+ TEMPLATE = app
+ CONFIG += qt activeqt
+
+ RC_FILE = qaxserver.rc
+ ...
+ </pre>
+
+<p> To build an in-process server, use a <tt>.pro</tt> file like this:
+<pre>
+ TEMPLATE = lib
+ CONFIG += qt activeqt dll
+
+ DEF_FILE = qaxserver.def
+ RC_FILE = qaxserver.rc
+ ...
+ </pre>
+
+<p> The files <tt>qaxserver.rc</tt> and <tt>qaxserver.def</tt> are part of the
+framework and can be used from their usual location (specify a
+path in the <tt>.pro</tt> file), or copied into the project directory.
+You can modify these files as long as it includes any file as the
+type library entry, ie. you can add version information or use a
+different toolbox icon.
+<p> The <tt>activeqt</tt> configuration will cause the <tt>qmake</tt> tool to add the
+required build steps to the build system:
+<ul>
+<li> link the binary against <tt>qaxserver.lib</tt>
+<li> generate an interface definition and link the type library into
+the binary
+<li> register the server
+</ul>
+<p> Additionally you can specify a version number using the <tt>VERSION</tt>
+variable, e.g.
+<pre>
+ TEMPLATE = lib
+ VERSION = 2.5
+ ...
+ </pre>
+
+The version number specified will be used as the version of the type
+library and of the server when registering.
+<p> <h3> Out-of-process vs. In-process
+</h3>
+<a name="3-1"></a><p> Whether your ActiveX server should run as a stand-alone executable
+or as a shared library in the client process depends mainly on the
+type of controls you want to provide in the server.
+<p> An executable server has the advantage of being able to run as a
+stand-alone application, but adds considerable overhead to the
+communication between the ActiveX client and the control. If the
+control has a programming error only the server process running
+the control will crash, and the client application will probably
+continue to run.
+<p> An in-process server is usually smaller and has faster startup
+time. The communication between client and server is done directly
+through virtual function calls and does not introduce the overhead
+required for remote procedure calls. But if the server crashes the
+client application is likely to crash as well.
+<p> Both server types can use Qt either as a shared library, or
+statically linked into the server binary.
+<p> <h2> The QAxServer build system
+</h2>
+<a name="4"></a><p> To be able to build ActiveX controls with Qt, the build system
+must be extended to include some additional build steps that are
+used when the <tt>.pro</tt> file includes <tt>activeqt</tt> in the <tt>CONFIG</tt>
+settings. The resulting makefile will:
+<p> <ul>
+<li> Link the executable against <tt>qaxserver.lib</tt> instead of <tt>qtmain.lib</tt>
+<li> Call the resulting executable with the <tt>-dumpidl</tt> parameter to
+generate an IDL description of the ActiveX controls provided by
+the server.
+<li> Compile the IDL into a type library using the MIDL tool
+<li> Attach the resulting type library as a binary resource to the server
+executable
+</ul>
+<p> Attaching resources to an executable is not supported by
+Windows&nbsp;95/98/ME, but a server built on
+Windows&nbsp;NT/2000/XP will work on those versions.
+<p> <h3> Typical build problems
+</h3>
+<a name="4-1"></a><p> The compiler/linker errors listed are based on those issued by the
+Microsoft Visual C++ 6.0 compiler.
+<p> <h4> Compiler errors
+</h4>
+<a name="4-1-1"></a><p> <h5> "No overloaded function takes 2 parameters"
+</h5>
+<a name="4-1-1-1"></a><p> When the error occurs in code that uses the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a>
+macro, the widget class had no constructor that can be used by the
+default factory. Either add a standard widget constructor or
+implement a custom factory that doesn't require one.
+<p> When the error occurs in code that uses the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a>
+macro, the <a href="qaxfactory.html">QAxFactory</a> subclass had no appropriate constructor.
+Provide a public class constructor like
+<pre>
+ MyFactory( const <a href="quuid.html">QUuid</a> &amp;, const <a href="quuid.html">QUuid</a> &amp; );
+ </pre>
+
+for your factory class.
+<p> <h5> "syntax error: bad suffix on number"
+</h5>
+<a name="4-1-1-2"></a><p> The unique identifiers have not been passed as strings into the
+<a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a> or <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro.
+<p> <h4> Linker errors
+</h4>
+<a name="4-1-2"></a><p> <h5> "unresolved external symbol _ucm_instantiate"
+</h5>
+<a name="4-1-2-1"></a><p> The server does not export an implementation of a QAxFactory. Use
+the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a> macro in one of the project's
+implementation files to instantiate and export a factory, or use
+the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro to use the default factory.
+<p> <h5> "_ucm_initialize already defined in ..."
+</h5>
+<a name="4-1-2-2"></a><p> The server exports more than one implementation of a <a href="qaxfactory.html">QAxFactory</a>,
+or exports the same implementation twice. If you use the default
+factory, the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro must only be used once in
+the project. Use a custom QAxFactory implementation and the <a href="qaxfactory.html#QAXFACTORY_EXPORT">QAXFACTORY_EXPORT</a> macro if the server provides multiple ActiveX
+controls.
+<p> <h5> "cannot open file ... "
+</h5>
+<a name="4-1-2-3"></a><p> The ActiveX server could not shut down properly when the last
+client stopped using it. It usually takes about two seconds for
+the application to terminate, but you might have to use the task
+manager to kill the process (e.g. when a client doesn't release
+the controls properly).
+<p> <h4> Postprocessing and runtime errors
+</h4>
+<a name="4-1-3"></a><p> The <a href="activeqt.html#ActiveQt">ActiveQt</a> build system performs four commands after the linking
+of the binary to make it into an ActiveX server.
+<p> <ul>
+<li> Call the server to dump the IDL for the controls
+<li> Compile the IDL into a type library
+<li> Attach the type library as a binary resource to the server
+<li> Register the server
+</ul>
+<p> For this to work the server has to meet some requirements:
+<p> <ul>
+<li> All controls exposed can be created with nothing but a <a href="qapplication.html">QApplication</a>
+instance being present
+<li> The initial linking of the server includes a temporary type
+library resource
+<li> All dependencies required to run the server are in the system path
+(or in the path used by the calling environment; note that Visual
+Studio has it's own set of environment variables listed in the
+Tools|Options|Directories dialog).
+</ul>
+<p> If those requirements are not met one ore more of the following
+errors are likely to occure:
+<p> <h5> The server executable crashes
+</h5>
+<a name="4-1-3-1"></a><p> To generate the IDL the widgets exposed as ActiveX controls need to
+be instantiated (the constructor is called). At this point, nothing
+else but a QApplication object exists. Your widget constructor must
+not rely on any other objects to be created, e.g. it should check for
+null-pointers.
+<p> To debug your server run it with -dumpidl outputfile and check where
+it crashes.
+<p> Note that no functions of the control are called.
+<p> <h5> The server executable is not a valid Win32 application
+</h5>
+<a name="4-1-3-2"></a><p> Attaching the type library corrupted the server binary. This is a
+bug in Windows and happens only with release builds.
+<p> The first linking step has to link a dummy type library into the
+executable that can later be replaced by idc. Add a resource file
+with a type library to your project as demonstrated in the examples.
+<p> <h5> "Unable to Locate DLL"
+</h5>
+<a name="4-1-3-3"></a><p> The build system needs to run the server executable to generate
+the interface definition, and to register the server. If a dynamic
+link library the server links against is not in the path this
+might fail (e.g. Visual Studio calls the server using the
+enivronment settings specified in the "Directories" option). Make
+sure that all DLLs required by your server are located in a
+directory that is listed in the path as printed in the error
+message box.
+<p> <h5> The Server does not respond
+</h5>
+<a name="4-1-3-4"></a><p> If the system is unable to start the server (check with the task
+manager whether the server runs a process), make sure that no DLL
+the server depends on is missing from the system path (e.g. the Qt
+DLL!). Use a dependency walker to view all dependencies of the server
+binary.
+<p> If the server runs (e.g. the task manager lists a process), see
+the following section for information on debugging your server.
+<p> <h5> The Object cannot be created
+</h5>
+<a name="4-1-3-5"></a><p> If the server could be built and registered correctly during the build
+process, but the object cannot be initiliazed e.g. by the OLE/COM Object
+Viewer application, make sure that no DLL the server depends on is
+missing from the system path (e.g. the Qt DLL). Use a dependency walker
+to view all dependencies of the server binary.
+<p> If the server runs, see the following section for information on
+debugging your server.
+<p> <h3> Debugging runtime errors
+</h3>
+<a name="4-2"></a><p> To debug an in-process server in Visual Studio, set the server project
+as the active project, and specify a client "executable for debug
+session" in the project settings (e.g. use the ActiveX Test Container).
+You can set breakpoints in your code, and also step into ActiveQt and
+Qt code if you installed the debug version.
+<p> To debug an executable server, run the application in a debugger
+and start with the command line parameter "-activex". Then start
+your client and create an instance of your ActiveX control. COM
+will use the existing process for the next client trying to create
+an ActiveX control.
+<p> <h2> Implementing Controls
+</h2>
+<a name="5"></a><p> To implement an ActiveX control with Qt, create a subclass of <a href="qwidget.html">QWidget</a>
+or any existing QWidget subclass:
+<p> <pre>
+ #include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+ class MyActiveX : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ </pre>
+
+<p> The <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro is required to provide the <a href="metaobjects.html#meta-object">meta object</a> information
+about the widget to the ActiveQt framework.
+Use the <tt>Q_PROPERTY</tt> macro to declare properties for the ActiveX control:
+<p> <pre>
+ Q_PROPERTY( int value READ value WRITE setValue )
+ </pre>
+
+<p> Declare a standard QWidget constructor taking a parent widget and a name,
+and functions, signals and slots like any normal QWidget.
+<a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a>
+<p> <pre>
+ public:
+ MyActiveX( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 )
+ ...
+
+ int value() const;
+
+ public slots:
+ void setValue( int );
+ ...
+
+ signals:
+ void valueChange( int );
+ ...
+
+ };
+ </pre>
+
+<p> The ActiveQt framework will expose properties and public slots as ActiveX
+properties and methods, and signals as ActiveX events, and convert between
+the Qt data types and the equivalent COM data types.
+<p> <h3> Data Types
+</h3>
+<a name="5-1"></a><p> The Qt data types that are supported for properties are:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Qt data type
+<th valign="top">COM property
+<tr bgcolor="#f0f0f0">
+<td valign="top">bool
+<td valign="top">VARIANT_BOOL
+<tr bgcolor="#d0d0d0">
+<td valign="top">QString
+<td valign="top">BSTR
+<tr bgcolor="#f0f0f0">
+<td valign="top">QCString
+<td valign="top">BSTR
+<tr bgcolor="#d0d0d0">
+<td valign="top">int
+<td valign="top">int
+<tr bgcolor="#f0f0f0">
+<td valign="top">uint
+<td valign="top">unsigned int
+<tr bgcolor="#d0d0d0">
+<td valign="top">double
+<td valign="top">double
+<tr bgcolor="#f0f0f0">
+<td valign="top">Q_LLONG
+<td valign="top">CY
+<tr bgcolor="#d0d0d0">
+<td valign="top">Q_ULLONG
+<td valign="top">CY
+<tr bgcolor="#f0f0f0">
+<td valign="top">QColor
+<td valign="top">OLE_COLOR
+<tr bgcolor="#d0d0d0">
+<td valign="top">QDate
+<td valign="top">DATE
+<tr bgcolor="#f0f0f0">
+<td valign="top">QDateTime
+<td valign="top">DATE
+<tr bgcolor="#d0d0d0">
+<td valign="top">QTime
+<td valign="top">DATE
+<tr bgcolor="#f0f0f0">
+<td valign="top">QFont
+<td valign="top">IFontDisp*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QPixmap
+<td valign="top">IPictureDisp*
+<a href="#footnote2"><sup>(2)</sup></a><a name="footnote-call2"></a>
+<tr bgcolor="#f0f0f0">
+<td valign="top">QVariant
+<td valign="top">VARIANT
+<tr bgcolor="#d0d0d0">
+<td valign="top">QValueList&lt;QVariant&gt;
+<td valign="top">SAFEARRAY(VARIANT)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QStringList
+<td valign="top">SAFEARRAY(BSTR)
+<tr bgcolor="#d0d0d0">
+<td valign="top">QByteArray
+<td valign="top">SAFEARRAY(BYTE)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QRect
+<td valign="top">User defined type
+<tr bgcolor="#d0d0d0">
+<td valign="top">QSize
+<td valign="top">User defined type
+<tr bgcolor="#f0f0f0">
+<td valign="top">QPoint
+<td valign="top">User defined type
+</table></center>
+<p> The Qt data types that are supported for parameters in signals and
+slots are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Qt data type
+<th valign="top">COM parameter
+<tr bgcolor="#d0d0d0">
+<td valign="top">bool
+<td valign="top">[in] VARIANT_BOOL
+<tr bgcolor="#f0f0f0">
+<td valign="top">bool&
+<td valign="top">[in, out] VARIANT_BOOL*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QString, const <a href="qstring.html">QString</a>&
+<td valign="top">[in] BSTR
+<tr bgcolor="#f0f0f0">
+<td valign="top">QString&
+<td valign="top">[in, out] BSTR*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QCString, const <a href="qcstring.html">QCString</a>&
+<td valign="top">[in] BSTR
+<tr bgcolor="#f0f0f0">
+<td valign="top">QString&
+<td valign="top">[in, out] BSTR*
+<tr bgcolor="#d0d0d0">
+<td valign="top">int
+<td valign="top">[in] int
+<tr bgcolor="#f0f0f0">
+<td valign="top">int&
+<td valign="top">[in,out] int
+<tr bgcolor="#d0d0d0">
+<td valign="top">uint
+<td valign="top">[in] unsigned int
+<tr bgcolor="#f0f0f0">
+<td valign="top">uint&
+<td valign="top">[in, out] unsigned int*
+<tr bgcolor="#d0d0d0">
+<td valign="top">double
+<td valign="top">[in] double
+<tr bgcolor="#f0f0f0">
+<td valign="top">double&
+<td valign="top">[in, out] double*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QColor, const <a href="qcolor.html">QColor</a>&
+<td valign="top">[in] OLE_COLOR
+<tr bgcolor="#f0f0f0">
+<td valign="top">QColor&
+<td valign="top">[in, out] OLE_COLOR*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QDate, const <a href="qdate.html">QDate</a>&
+<td valign="top">[in] DATE
+<tr bgcolor="#f0f0f0">
+<td valign="top">QDate&
+<td valign="top">[in, out] DATE*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QDateTime, const <a href="qdatetime.html">QDateTime</a>&
+<td valign="top">[in] DATE
+<tr bgcolor="#f0f0f0">
+<td valign="top">QDateTime&
+<td valign="top">[in, out] DATE*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QFont, const <a href="qfont.html">QFont</a>&
+<td valign="top">[in] IFontDisp*
+<tr bgcolor="#f0f0f0">
+<td valign="top">QFont&
+<td valign="top">[in, out] IFontDisp**
+<tr bgcolor="#d0d0d0">
+<td valign="top">QPixmap, const <a href="qpixmap.html">QPixmap</a>&
+<td valign="top">[in] IPictureDisp*
+<tr bgcolor="#f0f0f0">
+<td valign="top">QPixmap&
+<td valign="top">[in, out] IPictureDisp**
+<tr bgcolor="#d0d0d0">
+<td valign="top">QValueList&lt;QVariant&gt;, const <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&
+<td valign="top">[in] SAFEARRAY(VARIANT)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QValueList&lt;QVariant&gt;&
+<td valign="top">[in, out] SAFEARRAY(VARIANT)*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QStringList, const <a href="qstringlist.html">QStringList</a>&
+<td valign="top">[in] SAFEARRAY(BSTR)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QStringList&
+<td valign="top">[in, out] SAFEARRAY(BSTR)*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QByteArray, const <a href="qbytearray.html">QByteArray</a>&
+<td valign="top">[in] SAFEARRAY(BYTE)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QByteArray&
+<td valign="top">[in, out] SAFEARRAY(BYTE)*
+<tr bgcolor="#d0d0d0">
+<td valign="top">QObject*
+<td valign="top">[in] IDispatch*
+<tr bgcolor="#f0f0f0">
+<td valign="top">QRect&
+<a href="#footnote3"><sup>(3)</sup></a><a name="footnote-call3"></a>
+<td valign="top">[in, out] struct <a href="qrect.html">QRect</a> (user defined)
+<tr bgcolor="#d0d0d0">
+<td valign="top">QSize&
+<td valign="top">[in, out] struct <a href="qsize.html">QSize</a> (user defined)
+<tr bgcolor="#f0f0f0">
+<td valign="top">QPoint&
+<td valign="top">[in, out] struct <a href="qpoint.html">QPoint</a> (user defined)
+</table></center>
+<p> Also supported are exported enums and sets (see Q_ENUMS and Q_SETS).
+The in-parameter types are also supported as return values.
+<p> Properties and signals/slots that have parameters using any other
+data types are ignored by the QActiveX framework.
+<p> <h3> Sub-Objects
+</h3>
+<a name="5-2"></a><p> COM objects can have multiple sub-objects that can represent a sub element
+of the COM object. A COM object representing a multi-document spread sheet
+application can for example provide one sub-object for each spread sheet.
+<p> Any <a href="qobject.html">QObject</a> subclass can be used as the type for a sub object in ActiveX. The
+<a href="qaxfactory.html">QAxFactory</a> implementation (see below) needs to return the classname of the
+sub type as one key in the featureList() implementation, as well as the IDs
+for the COM class, the interface and event interface of that type. Then the
+type can be used as e.g. the return value or paramter of a slot.
+<p> <h3> Property Notification
+</h3>
+<a name="5-3"></a><p> To make the properties bindable for the ActiveX client, use multiple
+inheritance from the <a href="qaxbindable.html">QAxBindable</a> class:
+<p>
+ <pre>
+ #include &lt;qwidget.h&gt;
+ <b>#include &lt;qaxbindable.h&gt;</b>
+
+ class MyActiveX : public <a href="qwidget.html">QWidget</a><b>, public QAxBindable</b>
+ {
+ Q_OBJECT
+ </pre>
+
+When implementing the property write functions, use the
+QAxBindable class's requestPropertyChange() and propertyChanged()
+functions to allow ActiveX clients to bind to the control
+properties.
+<a href="#footnote4"><sup>(4)</sup></a><a name="footnote-call4"></a>
+<p> <h2> Serving Controls
+</h2>
+<a name="6"></a><p> To make an ActiveX control available to the COM system it must
+be registered in the system registry using five unique
+identifiers. These identifiers are provided by tools like <tt>guidgen</tt> or <tt>uuidgen</tt>. The registration information allows COM to
+localize the binary providing a requested ActiveX control,
+marshall remote procedure calls to the control and read type
+information about the methods and properties exposed by the
+control.
+<p> To create the ActiveX control when the client asks for it the
+server must export an implementation of a <a href="qaxfactory.html">QAxFactory</a>. Use the
+default factory when the server provides only a single ActiveX
+control, and implement a subclass of QAxFactory to provide
+multiple ActiveX controls. The default factory is available
+through a macro that takes the identifiers COM requires to locate
+the ActiveX control on the target system:
+<p> <pre>
+ QAXFACTORY_DEFAULT ( MyActiveX,
+ "{ad90301a-849e-4e8b-9a91-0a6dc5f6461f}",
+ "{87a5b65e-7fa9-4dc6-a176-47295988dcbd}",
+ "{a6130ae9-8327-47ec-815b-d0b45a0d6e5e}",
+ "{26c4e136-4e23-4347-af37-faf933b027e9}",
+ "{a8f21901-7ff7-4f6a-b939-789620c03d83}" )
+ </pre>
+
+<p> The <a href="qaxfactory.html">QAxFactory class documentation</a> explains
+how to use this macro, and how to implement and use custom factories.
+<p> For out-of-process executable servers you can implement a main()
+function to instantiate a <a href="qapplication.html">QApplication</a> object and enter the event
+loop just like any normal Qt application. By default the
+application will start as a standard Qt application, but if you
+pass <tt>-activex</tt> on the command line it will start as an ActiveX
+server. Use <a href="qaxfactory.html#isServer">QAxFactory::isServer</a>() to create and run a standard
+application interface, or to prevent a stand-alone execution:
+<p>
+ <pre>
+ #include &lt;qapplication.h&gt;
+ <b>#include &lt;qaxfactory.h&gt;</b>
+
+ int main( int argc, char **argv )
+ {
+ QApplication app( argc, argv );
+ <b>if ( !QAxFactory::isServer() ) {
+ // create and show main window...
+ }</b>
+ return app.exec();
+ }
+ </pre>
+
+This is however not necessary as ActiveQt provides a default implementation
+of a main function. The default implemenation calls <a href="qaxfactory.html#startServer">QAxFactory::startServer</a>(),
+creates a QApplication instance and calls exec().
+<p> To build the ActiveX server executable run <a href="qmake-manual.html">qmake</a> to generate the makefile, and use your compiler's
+make tool as for any other Qt application. The make process will
+also register the controls in the system registry by calling the
+resulting executable with the <tt>-regserver</tt> command line option.
+<p> If the ActiveX server is an executable, the following command line
+options are supported:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Option <th valign="top">Result
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>-regserver</tt> <td valign="top">Registers the server in the system registry
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>-unregserver</tt> <td valign="top">Unregisters the server from the system registry
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>-activex</tt> <td valign="top">Starts the application as an ActiveX server
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>-dumpidl &lt;file&gt; -version x.y</tt> <td valign="top">Writes the server's IDL to the
+specified file. The type library will have version x.y
+</table></center>
+<p> In-process servers can be registered using the <tt>regsvr32</tt> tool available
+on all Windows systems.
+<p> <h3> Distributing QAxServer binaries
+</h3>
+<a name="6-1"></a><p> ActiveX servers written with Qt can use Qt either as a shared
+library, or have Qt linked statically into the binary. Both ways
+will produce rather large packages (either the server binary
+itself becomes large, or you have to ship the Qt DLL).
+<p> <h4> Installing stand-alone Servers
+</h4>
+<a name="6-1-1"></a><p> When your ActiveX server can also run as a stand-alone application,
+run the server executable with the <tt>-regserver</tt> command line
+parameter after installing the executable on the target system.
+After that the controls provided by the server will be available to
+ActiveX clients.
+<p> <h4> Installing In-process Servers
+</h4>
+<a name="6-1-2"></a><p> When your ActiveX server is part of an installation package, use the
+<tt>regsvr32</tt> tool provided by Microsoft to register the controls on
+the target system. If this tool is not present, load the DLL into
+your installer process, resolve the <tt>DllRegisterServer</tt> symbol and
+call the function:
+<p> <pre>
+ HMODULE dll = LoadLibrary( "myserver.dll" );
+ typedef HRESULT(__stdcall *DllRegisterServerProc)();
+ DllRegisterServerProc DllRegisterServer =
+ (DllRegisterServerProc)GetProcAddress( dll, "DllRegisterServer" );
+
+ HRESULT res = E_FAIL;
+ if ( DllRegisterServer )
+ res = DllRegisterServer();
+ if ( res != S_OK )
+ // error handling
+ </pre>
+
+<p> <h4> Distributing Servers over the Internet
+</h4>
+<a name="6-1-3"></a><p> If you want to use controls in your server in web-pages you need to
+make the server available to the browser used to view your page, and
+you need to specify the location of the server package in your page.
+<p> To specify the location of a server, use the CODEBASE attribute in
+the OBJECT tag of your web-site. The value can point to the server
+file itself, to an <tt>INF</tt> file listing other files the server requires
+(e.g. the Qt DLL), or a compressed <tt>CAB</tt> archive.
+<p> INF and CAB files are documented in almost every book available about
+ActiveX and COM programming as well as in the MSDN library and various
+other Online resources. The examples include INF files that can be used
+to build CAB archives:
+<p>
+
+<pre> [version]
+ signature="$CHICAGO$"
+ AdvancedINF=2.0
+ [Add.Code]
+ simpleax.exe=simpleax.exe
+ [simpleax.exe]
+ file-win32-x86=thiscab
+ clsid={DF16845C-92CD-4AAB-A982-EB9840E74669}
+ RegisterServer=yes
+</pre>
+<p> The CABARC tool from Microsoft can easily generate CAB archives:
+<pre> cabarc N simpleax.cab simpleax.exe simple.inf </pre>
+
+<p> The INF files assume a static build of Qt, so no dependencies to other DLLs
+are listed in the INF files. To distribute an ActiveX server depending on
+DLLs you must add the dependencies, and provide the library files
+with the archive.
+<p> <h2> Using the Controls
+</h2>
+<a name="7"></a><p> To use the ActiveX controls, e.g. to embed them in a web page, use
+the <tt>&lt;object&gt;</tt> HTML tag.
+<p> <pre>
+ &lt;object ID="MyActiveX1" CLASSID="CLSID:ad90301a-849e-4e8b-9a91-0a6dc5f6461f"&gt;
+ ...
+ &lt;\object&gt;
+ </pre>
+
+<p> To initialize the control's properties, use
+<pre>
+ &lt;object ID=...&gt;
+ &lt;param name="name" value="value"&gt;
+ &lt;\object&gt;
+ </pre>
+
+<p> If the web browser supports scripting use JavaScript, VBScript and
+forms to script the control. The <a href="qaxserver-examples.html">examples</a> include demonstration HTML pages for the
+example controls.
+<p> <h3> Supported and Unsupported ActiveX clients
+</h3>
+<a name="7-1"></a><p> The following is largly based on our own experiements with ActiveX
+controls and client applications, and is by no means complete.
+<p> <h4> Supported Clients
+</h4>
+<a name="7-1-1"></a><p> These standard applications work with ActiveX controls developed with
+ActiveQt. Note that some clients support only in-process controls.
+<p> <ul>
+<li> Internet Explorer
+<li> Microsoft ActiveX Control Test Container
+<li> Microsoft Visual Studio 6.0
+<li> Microsoft Visual Studio.NET/2003
+<li> Microsoft Visual Basic 6.0
+<li> MFC- and ATL-based containers
+<li> Sybase PowerBuilder
+<li> ActiveQt based containers
+</ul>
+<p> Microsoft Office applications are supported, but you need to register
+the controls as "Insertable" objects. Reimplement <tt>QAxFactory::registerClass</tt>
+to add this attribute to the COM class, or set the "Insertable" class info
+for your class to "yes" using the Q_CLASSINFO macro.
+<p> <h4> Unsupported Clients
+</h4>
+<a name="7-1-2"></a><p> We have not managed to make ActiveQt based COM objects work with the
+following client applications.
+<p> <ul>
+<li> Borland C++ Builder (Versions 5 and 6)
+<li> Borland Delphi
+</ul>
+<p> <h2> Enhanced features
+</h2>
+<a name="8"></a><p> <h3> Fewer methods and properties
+</h3>
+<a name="8-1"></a><p> By default all ActiveX controls expose not only their own methods
+and properties to ActiveX clients, but also those of all super
+classes, including <a href="qwidget.html">QWidget</a>.
+<p> This can be controlled by reimplementing <a href="qaxfactory.html">QAxFactory</a>'s
+exposeToSuperClass() function. Reimplement the function to return
+the last (furthest up the inheritance hierarchy) super class that
+should be exposed:
+<p> <pre>
+ QString MyFactory::exposeToSuperClass( const <a href="qstring.html">QString</a> &amp;key ) const
+ {
+ if ( key == "SmallActiveX" )
+ return key;
+ return QAxFactory::exposeToSuperClass( key );
+ }
+ </pre>
+
+<p> The SmallActiveX control will only expose its own functions and
+properties to clients, while all other ActiveX controls provided
+by this factory will expose their own functions and properties and
+also those of all their super classes including QWidget. The
+SmallActiveX class can of course propagate some of the QWidget
+functions and properties into its own interface.
+<p> <h3> Class Information and Tuning
+</h3>
+<a name="8-2"></a><p> An alternative way to reimplementing QAxFactory to have more control
+about how objects are registered or exposed is to provide class
+specific information using the Q_CLASSINFO macro, which is part of
+Qt's meta object system.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">Key
+<th valign="top">Meaning of value
+<tr bgcolor="#d0d0d0">
+<td valign="top">Version
+<td valign="top">The version of the class (1.0 is default)
+<tr bgcolor="#f0f0f0">
+<td valign="top">Description
+<td valign="top">A string describing the class.
+<tr bgcolor="#d0d0d0">
+<td valign="top">ClassID
+<td valign="top">The class ID.
+You must reimplement QAxFactory::classID if not specified.
+<tr bgcolor="#f0f0f0">
+<td valign="top">InterfaceID
+<td valign="top">The interface ID.
+You must reimplement QAxFactory::interfaceID if not specified.
+<tr bgcolor="#d0d0d0">
+<td valign="top">EventsID
+<td valign="top">The event interface ID.
+No signals are exposed as COM events if not specified.
+<tr bgcolor="#f0f0f0">
+<td valign="top">DefaultProperty
+<td valign="top">The property specified represents the default property of this class.
+Ie. the default property of a push button would be "text".
+<tr bgcolor="#d0d0d0">
+<td valign="top">DefaultSignal
+<td valign="top">The signal specified respresents the default signal of this class.
+Ie. the default signal of a push button would be "clicked".
+<tr bgcolor="#f0f0f0">
+<td valign="top">LicenseKey
+<td valign="top">Object creation requires the specified license key. The key can be
+empty to require a licensed machine. By default classes are not
+licensed. Also see the following section.
+<tr bgcolor="#d0d0d0">
+<td valign="top">StockEvents
+<td valign="top">Objects expose stock events if value is "yes".
+See <a href="qaxfactory.html#hasStockEvents">QAxFactory::hasStockEvents</a>()
+<tr bgcolor="#f0f0f0">
+<td valign="top">ToSuperClass
+<td valign="top">Objects expose functionality of all super classes up to and
+including the class name in value.
+See <a href="qaxfactory.html#exposeToSuperClass">QAxFactory::exposeToSuperClass</a>()
+<tr bgcolor="#d0d0d0">
+<td valign="top">Insertable
+<td valign="top">If the value is "yes" the class is registered to be "Insertable"
+and will be listed in OLE 2 containers (ie. Microsoft Office). This
+attribute is not be set by default.
+<tr bgcolor="#f0f0f0">
+<td valign="top">Aggregatable
+<td valign="top">If the value is "no" the class does not support aggregation. By
+default aggregation is supported.
+<tr bgcolor="#d0d0d0">
+<td valign="top">Creatable
+<td valign="top">If the value is "no" the class cannot be created by the client,
+and is only available through the API of another class (ie. the
+class is a sub-type).
+<tr bgcolor="#f0f0f0">
+<td valign="top">RegisterObject
+<td valign="top">If the value is "yes" objects of this class are registered with
+OLE and accessible from the running object table (ie. clients
+can connect to an already running instance of this class). This
+attribute is only supported in out-of-process servers.
+</table></center>
+<p> Note that both keys and values are case sensitive.
+<p> The following declares version 2.0 of a class that exposes only its
+own API, and is available in the "Insert Objects" dialog of Microsoft
+Office applications.
+<p>
+ <pre>
+ class MyActiveX : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+ <b>Q_CLASSINFO("Version", "2.0")
+ Q_CLASSINFO("ClassID", "{7a4cffd8-cbcd-4ae9-ae7e-343e1e5710df}")
+ Q_CLASSINFO("InterfaceID", "{6fb035bf-8019-48d8-be51-ef05427d8994}")
+ Q_CLASSINFO("EventsID", "{c42fffdf-6557-47c9-817a-2da2228bc29c}")
+ Q_CLASSINFO("Insertable", "yes")
+ Q_CLASSINFO("ToSuperClass", "MyActiveX")</b>
+
+ Q_PROPERTY( ...
+ public:
+ MyActiveX(QWidget *parent = 0, const char *name = 0);
+
+ ...
+ };
+ </pre>
+
+<h3> Developing licensed components
+</h3>
+<a name="8-3"></a><p> If you develop components you might want to control who is able to instantiate
+those components. Since the server binary can be shipped to and registered on
+any client machine it is possible for anybody to use those components in his
+own software.
+<p> Licensing components can be done using a variety of techniques, e.g. the code
+creating the control can provide a license key, or the machine on which the
+control is supposed to run needs to be licensed.
+<p> To mark a Qt class as licensed specify a "LicenseKey" using the <tt>Q_CLASSINFO</tt>
+macro.
+
+ <pre>
+ class MyLicensedControl : public <a href="qwidget.html">QWidget</a>
+ {
+ Q_OBJECT
+ <b>Q_CLASSINFO("LicenseKey", "&lt;key string&gt;")</b>
+ ...
+ };
+ </pre>
+
+The key is required to be able to create an instance of <tt>MyLicensedControl</tt>
+on a machine that is not licensed itself. The licensed developer can now
+redistributes the server binary with his application, which creates the control
+using the value of "LicenseKey", while users of the application cannot create
+the control without the license key.
+<p> If a single license key for the control is not sufficient (ie. you want
+differnet developers to receive different license keys) you can specify an
+empty key to indicate that the control requires a license, and reimplement
+<a href="qaxfactory.html#validateLicenseKey">QAxFactory::validateLicenseKey</a>() to verify that a license exists on the
+system (ie. through a license file).
+<p> <h3> More Interfaces
+</h3>
+<a name="8-4"></a><p> ActiveX controls provided by ActiveQt servers support a minimal set of COM
+interfaces to implement the OLE specifications. When the ActiveX class inherits
+from the <a href="qaxbindable.html">QAxBindable</a> class it can also implement additional COM interfaces.
+<p> Create a new subclass of <a href="qaxaggregated.html">QAxAggregated</a> and use multiple inheritance
+to subclass additional COM interface classes.
+<p> <pre>
+ class AxImpl : public <a href="qaxaggregated.html">QAxAggregated</a>, public ISomeCOMInterface
+ {
+ public:
+ AxImpl() {}
+
+ long queryInterface( const <a href="quuid.html">QUuid</a> &amp;iid, void **iface );
+
+ // IUnknown
+ QAXAGG_IUNKNOWN
+
+ // ISomeCOMInterface
+ ...
+ }
+ </pre>
+
+<p> Reimplement the <tt>queryInterface()</tt> function to support the additional
+COM interfaces.
+<p> <pre>
+ long AxImpl::queryInterface( const <a href="quuid.html">QUuid</a> &amp;iid, void **iface )
+ {
+ *iface = 0;
+ if ( iid == IID_ISomeCOMInterface )
+ *iface = (ISomeCOMInterface*)this;
+ else
+ return E_NOINTERFACE;
+
+ AddRef();
+ return S_OK;
+ }
+ </pre>
+
+<p> Since <tt>ISomeCOMInterface</tt> is a subclass of <tt>IUnknown</tt> you will have
+to implement the <tt>QueryInterface</tt>, <tt>AddRef</tt> and <tt>Release</tt> functions.
+Use the <tt>QAXAGG_IUNKNOWN</tt> macro in your class definition to do that. If
+you implement the IUnknown functions manually, delegate the calls to the
+interface pointer returned by the controllingUnknown() function, e.g.
+<pre>
+ HRESULT AxImpl::QueryInterface( REFIID iid, void **iface )
+ {
+ return controllingUnknown()-&gt;QueryInterface( iid, iface );
+ }
+ </pre>
+
+Do not support the <tt>IUnknown</tt> interface itself in your <tt>queryInterface()</tt>
+implementation.
+<p> Implement the methods of the COM interfaces, and use QAxAggregated::Object()
+if you need to make calls to the <a href="qobject.html">QObject</a> subclass implementing the control.
+<p> In your <a href="qaxbindable.html">QAxBindable</a> subclass, implement <tt>createAggregate()</tt> to return
+a new object of the <a href="qaxaggregated.html">QAxAggregated</a> subclass.
+<p>
+ <pre>
+ class MyActiveX : public <a href="qwidget.html">QWidget</a>,
+ <b>public QAxBindable</b>
+ {
+ Q_OBJECT
+ public:
+ MyActiveX( QWidget *parent, const char *name = 0 );
+
+ <b>QAxAggregated *createAggregate()
+ {
+ return new AxImpl();
+ }
+ </b>
+ };
+ </pre>
+
+<hr>
+<ol> <li><a name="footnote1"></a>
+
+If a standard constructor is not present the compiler will issue
+an error "no overloaded function takes 2 parameters" when using
+the default factory through the <a href="qaxfactory.html#QAXFACTORY_DEFAULT">QAXFACTORY_DEFAULT</a> macro. If you
+cannot provide a standard constructor you must implement a <a href="qaxfactory.html">QAxFactory</a> custom factory and call the constructor you have in
+your implementation of QAxFactory::create.
+ <a href="#footnote-call1">Back...</a> <li><a name="footnote2"></a>
+
+COM cannot marshal IPictureDisp accross process boundaries,
+so <a href="qpixmap.html">QPixmap</a> properties cannot be called for out-of-process servers. You
+can however marshal the image data via e.g. temporary files. See the
+Microsoft
+<a href="http://support.microsoft.com/default.aspx?scid=kb;[LN];Q150034">KB article
+ Q150034</a> for more information.
+ <a href="#footnote-call2">Back...</a> <li><a name="footnote3"></a>
+
+OLE needs to marshal user defined types by reference (ByRef), and cannot
+marshal them by value (ByVal). This is why const-references and object
+parameters are not supported for <a href="qrect.html">QRect</a>, <a href="qsize.html">QSize</a> and <a href="qpoint.html">QPoint</a>. Also note that
+servers with this datatype require Windows 98 or DCOM 1.2 to be installed.
+ <a href="#footnote-call3">Back...</a> <li><a name="footnote4"></a>
+
+This is not required, but gives the client more control over
+the ActiveX control.
+ <a href="#footnote-call4">Back...</a></ol>
+</hr>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxwidget-h.html b/doc/html/qaxwidget-h.html
new file mode 100644
index 0000000..2d4ac7e
--- /dev/null
+++ b/doc/html/qaxwidget-h.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qaxwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxwidget.h</h1>
+
+<p>This is the verbatim text of the qaxwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qaxwidget.h 3.3.8 edited Jan 11 14:46 $
+**
+** Declaration of the QAxWidget class
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Active Qt integration.
+**
+** Licensees holding valid Qt Enterprise Edition
+** licenses for Windows may use this file in accordance with the Qt Commercial
+** License Agreement provided with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QAXWIDGET_H
+#define QAXWIDGET_H
+
+#include "qaxbase.h"
+#include &lt;qwidget.h&gt;
+
+class QAxHostWindow;
+
+class QAxWidget : public QWidget, public QAxBase
+{
+public:
+ QMetaObject *metaObject() const;
+ const char *className() const;
+ void* qt_cast( const char* );
+ bool qt_invoke( int, QUObject* );
+ bool qt_emit( int, QUObject* );
+ bool qt_property( int, int, QVariant* );
+ QObject* qObject() { return (QObject*)this; }
+
+ QAxWidget( QWidget* parent = 0, const char* name = 0, WFlags f = 0 );
+ QAxWidget( const QString &amp;c, QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
+ QAxWidget( IUnknown *iface, QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
+ ~QAxWidget();
+
+ void clear();
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+protected:
+ bool initialize( IUnknown** );
+ virtual bool createHostWindow( bool );
+
+ void enabledChange( bool old );
+ void paletteChange( const QPalette &amp;old );
+ void fontChange( const QFont &amp;old );
+ void windowActivationChange( bool old );
+
+ void resizeEvent( QResizeEvent * );
+ virtual bool translateKeyEvent(int message, int keycode) const;
+private:
+ friend class QAxHostWindow;
+
+ QMetaObject *parentMetaObject() const;
+
+ QAxHostWindow *container;
+};
+
+#endif // QAXWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxwidget-members.html b/doc/html/qaxwidget-members.html
new file mode 100644
index 0000000..6013ad8
--- /dev/null
+++ b/doc/html/qaxwidget-members.html
@@ -0,0 +1,363 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxwidget.h:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QAxWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qaxwidget.html">QAxWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qaxwidget.html#QAxWidget">QAxWidget</a>()
+<li><a href="qaxwidget.html#~QAxWidget">~QAxWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qaxbase.html#asVariant">asVariant</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qaxbase.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qaxbase.html#control">control</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qaxwidget.html#createHostWindow">createHostWindow</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qaxbase.html#disableClassInfo">disableClassInfo</a>()
+<li><a href="qaxbase.html#disableEventSink">disableEventSink</a>()
+<li><a href="qaxbase.html#disableMetaObject">disableMetaObject</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qaxbase.html#dynamicCall">dynamicCall</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qaxbase.html#exception">exception</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qaxbase.html#generateDocumentation">generateDocumentation</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qaxbase.html#initialize">initialize</a>()
+<li><a href="qaxbase.html#initializeActive">initializeActive</a>()
+<li><a href="qaxbase.html#initializeLicensed">initializeLicensed</a>()
+<li><a href="qaxbase.html#initializeRemote">initializeRemote</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qaxbase.html#isNull">isNull</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qaxbase.html#propertyBag">propertyBag</a>()
+<li><a href="qaxbase.html#propertyChanged">propertyChanged</a>()
+<li><a href="qaxbase.html#propertyWritable">propertyWritable</a>()
+<li><a href="qaxbase.html#queryInterface">queryInterface</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qaxbase.html#querySubObject">querySubObject</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qaxbase.html#setControl">setControl</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qaxbase.html#setPropertyBag">setPropertyBag</a>()
+<li><a href="qaxbase.html#setPropertyWritable">setPropertyWritable</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qaxbase.html#signal">signal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qaxwidget.html#translateKeyEvent">translateKeyEvent</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qaxwidget.html b/doc/html/qaxwidget.html
new file mode 100644
index 0000000..897fd1b
--- /dev/null
+++ b/doc/html/qaxwidget.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/activeqt/container/qaxwidget.cpp:1336 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QAxWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QAxWidget Class Reference<br><small>[<a href="qaxcontainer.html">QAxContainer module</a>]</small></h1>
+
+<p>The QAxWidget class is a QWidget that wraps an ActiveX control.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt ActiveQt Extension</b>.
+<p><tt>#include &lt;<a href="qaxwidget-h.html">qaxwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qaxbase.html">QAxBase</a>.
+<p><a href="qaxwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QAxWidget"><b>QAxWidget</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QAxWidget-2"><b>QAxWidget</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;c, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QAxWidget-3"><b>QAxWidget</b></a> ( IUnknown&nbsp;*&nbsp;iface, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QAxWidget"><b>~QAxWidget</b></a> ()</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QVariant <a href="#dynamicCall"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+<li class=fn>QVariant <a href="#dynamicCall-2"><b>dynamicCall</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;function, QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )</li>
+<li class=fn>QAxObject * <a href="#querySubObject"><b>querySubObject</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;QVariant&nbsp;&amp;&nbsp;var8 = QVariant ( ) )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#createHostWindow"><b>createHostWindow</b></a> ( bool&nbsp;initialized )</li>
+<li class=fn>virtual bool <a href="#translateKeyEvent"><b>translateKeyEvent</b></a> ( int&nbsp;message, int&nbsp;keycode ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="activeqt.html#ActiveQt">ActiveQt</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QAxWidget class is a <a href="qwidget.html">QWidget</a> that wraps an ActiveX control.
+
+<p>
+
+<p> A QAxWidget can be instantiated as an empty object, with the name
+of the ActiveX control it should wrap, or with an existing
+interface pointer to the ActiveX control. The ActiveX control's
+properties, methods and events which only use <a href="qaxbase.html">supported data types</a>, become available as Qt properties,
+slots and signals. The base class <a href="qaxbase.html">QAxBase</a> provides an API to
+access the ActiveX directly through the IUnknown pointer.
+<p> QAxWidget is a QWidget and can be used as such, e.g. it can be
+organized in a widget hierarchy, receive events or act as an event
+filter. Standard widget properties, e.g. <a href="qwidget.html#enabled-prop">enabled</a> are supported, but it depends on the ActiveX
+control to implement support for ambient properties like e.g.
+palette or font. QAxWidget tries to provide the necessary hints.
+<p> <b>Warning:</b>
+You can subclass QAxWidget, but you cannot use the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro
+in the subclass (the generated <a href="moc.html#moc">moc</a>-file will not compile), so you
+cannot add further signals, slots or properties. This limitation
+is due to the metaobject information generated in runtime. To work
+around this problem, aggregate the QAxWidget as a member of the
+<a href="qobject.html">QObject</a> subclass.
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QAxWidget"></a>QAxWidget::QAxWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Creates an empty QAxWidget widget and propagates <em>parent</em>, <em>name</em> and <em>f</em> to the <a href="qwidget.html">QWidget</a> constructor. To initialize a control,
+call <a href="qaxbase.html#setControl">setControl</a>.
+
+<h3 class=fn><a name="QAxWidget-2"></a>QAxWidget::QAxWidget ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;c, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Creates an QAxWidget widget and initializes the ActiveX control <em>c</em>.
+<em>parent</em>, <em>name</em> and <em>f</em> are propagated to the <a href="qwidget.html">QWidget</a> contructor.
+<p> <p>See also <a href="qaxbase.html#control-prop">control</a>.
+
+<h3 class=fn><a name="QAxWidget-3"></a>QAxWidget::QAxWidget ( IUnknown&nbsp;*&nbsp;iface, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Creates a QAxWidget that wraps the COM object referenced by <em>iface</em>.
+<em>parent</em>, <em>name</em> and <em>f</em> are propagated to the <a href="qwidget.html">QWidget</a> contructor.
+
+<h3 class=fn><a name="~QAxWidget"></a>QAxWidget::~QAxWidget ()
+</h3>
+Shuts down the ActiveX control and destroys the QAxWidget widget,
+cleaning up all allocated resources.
+<p> <p>See also <a href="qaxbase.html#clear">clear</a>().
+
+<h3 class=fn>bool <a name="createHostWindow"></a>QAxWidget::createHostWindow ( bool&nbsp;initialized )<tt> [virtual protected]</tt>
+</h3>
+Creates the client site for the ActiveX control, and returns TRUE if
+the control could be embedded successfully, otherwise returns FALSE.
+If <em>initialized</em> is TRUE the control has already been initialized.
+<p> This function is called by <a href="qaxbase.html#initialize">initialize</a>(). If you reimplement initialize
+to customize the actual control instantiation, call this function in your
+reimplementation to have the control embedded by the default client side.
+Creates the client site for the ActiveX control, and returns TRUE if
+the control could be embedded successfully, otherwise returns FALSE.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Calls the COM object's method <em>function</em>, passing the
+parameters <em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>,
+<em>var6</em>, <em>var7</em> and <em>var8</em>, and returns the value returned by
+the method, or an invalid <a href="qvariant.html">QVariant</a> if the method does not return
+a value or when the function call failed.
+<p> If <em>function</em> is a method of the object the string must be provided
+as the full prototype, for example as it would be written in a
+<a href="qobject.html#connect">QObject::connect</a>() call.
+<pre>
+ activeX-&gt;dynamicCall( "Navigate(const <a href="qstring.html">QString</a>&amp;)", "www.trolltech.com" );
+ </pre>
+
+<p> Alternatively a function can be called passing the parameters embedded
+in the string, e.g. above function can also be invoked using
+<pre>
+ activeX-&gt;dynamicCall("Navigate(\"www.trolltech.com\");
+ </pre>
+
+All parameters are passed as strings; it depends on the control whether
+they are interpreted correctly, and is slower than using the prototype
+with correctly typed parameters.
+<p> If <em>function</em> is a property the string has to be the name of the
+property. The property setter is called when <em>var1</em> is a valid QVariant,
+otherwise the getter is called.
+<pre>
+ activeX-&gt;dynamicCall( "Value", 5 );
+ <a href="qstring.html">QString</a> text = activeX-&gt;dynamicCall( "Text" ).toString();
+ </pre>
+
+Note that it is faster to get and set properties using
+<a href="qobject.html#property">QObject::property</a>() and <a href="qobject.html#setProperty">QObject::setProperty</a>().
+<p> It is only possible to call functions through <a href="qaxbase.html#dynamicCall">dynamicCall</a>() that
+have parameters or return values of datatypes supported by
+<a href="qvariant.html">QVariant</a>. See the <a href="qaxbase.html">QAxBase</a> class documentation for a list of
+supported and unsupported datatypes. If you want to call functions
+that have unsupported datatypes in the parameter list, use
+<a href="qaxbase.html#queryInterface">queryInterface</a>() to retrieve the appropriate COM interface, and
+use the function directly.
+<p> <pre>
+ IWebBrowser2 *webBrowser = 0;
+ activeX-&gt;queryInterface( IID_IWebBrowser2, (void**)&amp;webBrowser );
+ if ( webBrowser ) {
+ webBrowser-&gt;Navigate2( pvarURL );
+ webBrowser-&gt;Release();
+ }
+ </pre>
+
+<p> This is also more efficient.
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2720">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="dynamicCall-2"></a>QAxBase::dynamicCall ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;function, <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;vars )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calls the COM object's method <em>function</em>, passing the
+parameters in <em>vars</em>, and returns the value returned by
+the method. If the method does not return a value or when
+the function call failed this function returns an invalid
+<a href="qvariant.html">QVariant</a> object.
+<p> The QVariant objects in <em>vars</em> are updated when the method has
+out-parameters.
+
+<h3 class=fn><a href="qaxobject.html">QAxObject</a>&nbsp;* <a name="querySubObject"></a>QAxBase::querySubObject ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var1 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var2 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var3 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var4 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var5 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var6 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var7 = QVariant ( ), const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;var8 = QVariant ( ) )
+</h3>
+Returns a pointer to a <a href="qaxobject.html">QAxObject</a> wrapping the COM object provided
+by the method or property <em>name</em>, passing passing the parameters
+<em>var1</em>, <em>var1</em>, <em>var2</em>, <em>var3</em>, <em>var4</em>, <em>var5</em>, <em>var6</em>,
+<em>var7</em> and <em>var8</em>.
+<p> If <em>name</em> is provided by a method the string must include the
+full function prototype.
+<p> If <em>name</em> is a property the string must be the name of the property,
+and <em>var1</em>, ... <em>var8</em> are ignored.
+<p> The returned QAxObject is a child of this object (which is either of
+type QAxObject or QAxWidget), and is deleted when this object is
+deleted. It is however safe to delete the returned object yourself,
+and you should do so when you iterate over lists of subobjects.
+<p> COM enabled applications usually have an object model publishing
+certain elements of the application as dispatch interfaces. Use
+this method to navigate the hierarchy of the object model, e.g.
+<p> <pre>
+ QAxWidget outlook( "Outlook.Application" );
+ <a href="qaxobject.html">QAxObject</a> *session = outlook.<a href="qaxbase.html#querySubObject">querySubObject</a>( "Session" );
+ if ( session ) {
+ <a href="qaxobject.html">QAxObject</a> *defFolder = session-&gt;<a href="qaxbase.html#querySubObject">querySubObject</a>(
+ "GetDefaultFolder(OlDefaultFolders)",
+ "olFolderContacts" );
+ //...
+ }
+ </pre>
+
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2721">qutlook/centralwidget.cpp</a>.
+<h3 class=fn>bool <a name="translateKeyEvent"></a>QAxWidget::translateKeyEvent ( int&nbsp;message, int&nbsp;keycode ) const<tt> [virtual protected]</tt>
+</h3>
+Reimplement this function to pass certain key events to the
+ActiveX control. <em>message</em> is the Window message identifier
+specifying the message type (ie. WM_KEYDOWN), and <em>keycode</em> is
+the virtual keycode (ie. VK_TAB).
+<p> If the function returns TRUE the key event is passed on to the
+ActiveX control, which then either processes the event or passes
+the event on to Qt.
+<p> If the function returns FALSE the processing of the key event is
+ignored by <a href="activeqt.html#ActiveQt">ActiveQt</a>, ie. the ActiveX control might handle it or
+not.
+<p> The default implementation returns TRUE for the following cases:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511">
+<th valign="top">WM_SYSKEYDOWN
+<th valign="top">WM_SYSKEYUP
+<th valign="top">WM_KEYDOWN
+<tr bgcolor="#f0f0f0">
+<td valign="top">All keycodes
+<td valign="top">VK_MENU
+<td valign="top">VK_TAB, VK_DELETE and all non-arrow-keys in combination with VK_SHIFT,
+VK_CONTROL or VK_MENU
+</table></center>
+<p> This table is the result of experimenting with popular ActiveX controls,
+ie. Internet Explorer and Microsoft Office applications, but for some
+controls it might require modification.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbig5codec-h.html b/doc/html/qbig5codec-h.html
new file mode 100644
index 0000000..24e10b1
--- /dev/null
+++ b/doc/html/qbig5codec-h.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbig5codec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbig5codec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbig5codec.h</h1>
+
+<p>This is the verbatim text of the qbig5codec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbig5codec.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QBig5Codec class
+**
+** Created : 990713
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Most of the code here was originally written by Ming-Che Chuang and
+// is included in Qt with the author's permission, and the grateful
+// thanks of the Trolltech team.
+
+#ifndef QBIG5CODEC_H
+#define QBIG5CODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+#ifndef QT_NO_BIG_CODECS
+
+class QBig5Codec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+class QBig5hkscsCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbig5codec-members.html b/doc/html/qbig5codec-members.html
new file mode 100644
index 0000000..3308f26
--- /dev/null
+++ b/doc/html/qbig5codec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbig5codec.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBig5Codec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBig5Codec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbig5codec.html">QBig5Codec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbig5codec.html b/doc/html/qbig5codec.html
new file mode 100644
index 0000000..32bc2a0
--- /dev/null
+++ b/doc/html/qbig5codec.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qbig5codec.cpp:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBig5Codec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBig5Codec Class Reference</h1>
+
+<p>The QBig5Codec class provides conversion to and from the Big5 encoding.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbig5codec-h.html">qbig5codec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qbig5codec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QBig5Codec class provides conversion to and from the Big5 encoding.
+<p> QBig5Codec was originally contributed by Ming-Che Chuang
+&lt;mingche@cobra.ee.ntu.edu.tw&gt; for the Big-5+ encoding, and was
+included in Qt with the author's permission, and the grateful
+thanks of the Trolltech team. (Note: Ming-Che's code is QPL'd, as
+per an mail to info@trolltech.com.)
+<p> However, since Big-5+ was never formally approved, and was never
+used by anyone, the Taiwan Free Software community and the Li18nux
+Big5 Standard Subgroup agree that the de-facto standard Big5-ETen
+(zh_TW.Big5 or zh_TW.TW-Big5) be used instead.
+<p> QBig5Codec is currently implemented as a pure subset of
+<a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>, so more fine-tuning is needed to make it
+identical to the standard Big5 mapping as determined by
+Li18nux-Big5. See <a href="http://www.autrijus.org/xml/">http://www.autrijus.org/xml/</a> for the draft
+Big5 (2002) standard.
+<p> James Su &lt;suzhe@turbolinux.com.cn&gt; &lt;suzhe@gnuchina.org&gt;
+generated the Big5-HKSCS&lt;-&gt;Unicode tables with a very
+space-efficient algorithm. He generously donated his code to glibc
+in May 2002. Subsequently, James has kindly allowed Anthony Fok
+&lt;anthony@thizlinux.com&gt; &lt;foka@debian.org&gt; to adapt the code
+for Qt.
+<p>
+<p> Copyright (C) 2000 Ming-Che Chuang
+Copyright (C) 2002 James Su, Turbolinux Inc.
+Copyright (C) 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbig5hkscscodec-members.html b/doc/html/qbig5hkscscodec-members.html
new file mode 100644
index 0000000..34cac6d
--- /dev/null
+++ b/doc/html/qbig5hkscscodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbig5codec.h:68 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBig5hkscsCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBig5hkscsCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbig5hkscscodec.html b/doc/html/qbig5hkscscodec.html
new file mode 100644
index 0000000..930315e
--- /dev/null
+++ b/doc/html/qbig5hkscscodec.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qbig5codec.cpp:746 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBig5hkscsCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBig5hkscsCodec Class Reference</h1>
+
+<p>The QBig5hkscsCodec class provides conversion to and from the Big5-HKSCS encoding.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbig5codec-h.html">qbig5codec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qbig5hkscscodec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+<p> The QBig5hkscsCodec class provides conversion to and from the Big5-HKSCS encoding.
+<p> QBig5hkscsCodec grew out of the <a href="qbig5codec.html">QBig5Codec</a> originally contributed by
+Ming-Che Chuang &lt;mingche@cobra.ee.ntu.edu.tw&gt;. James Su
+&lt;suzhe@turbolinux.com.cn&gt; &lt;suzhe@gnuchina.org&gt; and Anthony Fok
+&lt;anthony@thizlinux.com&gt; &lt;foka@debian.org&gt; implemented HKSCS-1999
+QBig5hkscsCodec for Qt-2.3.x, but it was too late in Qt development
+schedule to be officially included in the Qt-2.3.x series.
+<p> Wu Yi &lt;wuyi@hancom.com&gt; ported the HKSCS-1999 QBig5hkscsCodec to
+Qt-3.0.1 in March 2002.
+<p> With the advent of the new HKSCS-2001 standard, James Su
+&lt;suzhe@turbolinux.com.cn&gt; &lt;suzhe@gnuchina.org&gt; generated the
+Big5-HKSCS<->Unicode tables with a very space-efficient algorithm.
+He generously donated his code to glibc in May 2002. Subsequently,
+James has generously allowed Anthony Fok to adapt the code for
+Qt-3.0.5.
+<p> Currently, the Big5-HKSCS tables are generated from the following
+sources, and with the Euro character added:
+<ol type=1>
+<li> <a href="http://www.microsoft.com/typography/unicode/950.txt">http://www.microsoft.com/typography/unicode/950.txt</a>
+<li> <a href="http://www.info.gov.hk/digital21/chi/hkscs/download/big5-iso.txt">http://www.info.gov.hk/digital21/chi/hkscs/download/big5-iso.txt</a>
+<li> <a href="http://www.info.gov.hk/digital21/chi/hkscs/download/big5cmp.txt">http://www.info.gov.hk/digital21/chi/hkscs/download/big5cmp.txt</a>
+</ol>
+<p> There may be more fine-tuning to the QBig5hkscsCodec to maximize its
+compatibility with the standard Big5 (2002) mapping as determined by
+Li18nux Big5 Standard Subgroup. See <a href="http://www.autrijus.org/xml/">http://www.autrijus.org/xml/</a>
+for the various Big5 CharMapML tables.
+<p>
+<p> Copyright (C) 2000 Ming-Che Chuang
+Copyright (C) 2001, 2002 James Su, Turbolinux Inc.
+Copyright (C) 2002 WU Yi, HancomLinux Inc.
+Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitarray-h.html b/doc/html/qbitarray-h.html
new file mode 100644
index 0000000..f39ba79
--- /dev/null
+++ b/doc/html/qbitarray-h.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbitarray.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbitarray.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbitarray.h</h1>
+
+<p>This is the verbatim text of the qbitarray.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbitarray.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QBitArray class
+**
+** Created : 940118
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBITARRAY_H
+#define QBITARRAY_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+
+/*****************************************************************************
+ QBitVal class; a context class for QBitArray::operator[]
+ *****************************************************************************/
+
+class QBitArray;
+
+class Q_EXPORT QBitVal
+{
+private:
+ QBitArray *array;
+ uint index;
+public:
+ QBitVal( QBitArray *a, uint i ) : array(a), index(i) {}
+ operator int();
+ QBitVal &amp;operator=( const QBitVal &amp;v );
+ QBitVal &amp;operator=( bool v );
+};
+
+
+/*****************************************************************************
+ QBitArray class
+ *****************************************************************************/
+
+class Q_EXPORT QBitArray : public QByteArray
+{
+public:
+ QBitArray();
+ QBitArray( uint size );
+ QBitArray( const QBitArray &amp;a ) : QByteArray( a ) {}
+
+ QBitArray &amp;operator=( const QBitArray &amp; );
+
+ uint size() const;
+ bool resize( uint size );
+
+ bool fill( bool v, int size = -1 );
+
+ void detach();
+ QBitArray copy() const;
+
+ bool testBit( uint index ) const;
+ void setBit( uint index );
+ void setBit( uint index, bool value );
+ void clearBit( uint index );
+ bool toggleBit( uint index );
+
+ bool at( uint index ) const;
+ QBitVal operator[]( int index );
+ bool operator[]( int index ) const;
+
+ QBitArray &amp;operator&amp;=( const QBitArray &amp; );
+ QBitArray &amp;operator|=( const QBitArray &amp; );
+ QBitArray &amp;operator^=( const QBitArray &amp; );
+ QBitArray operator~() const;
+
+protected:
+ struct bitarr_data : public QGArray::array_data {
+ uint nbits;
+ };
+ array_data *newData() { return new bitarr_data; }
+ void deleteData( array_data *d ) { delete (bitarr_data*)d; }
+private:
+ void pad0();
+};
+
+
+inline QBitArray &amp;QBitArray::operator=( const QBitArray &amp;a )
+{ return (QBitArray&amp;)assign( a ); }
+
+inline uint QBitArray::size() const
+{ return ((bitarr_data*)sharedBlock())-&gt;nbits; }
+
+inline void QBitArray::setBit( uint index, bool value )
+{ if ( value ) setBit(index); else clearBit(index); }
+
+inline bool QBitArray::at( uint index ) const
+{ return testBit(index); }
+
+inline QBitVal QBitArray::operator[]( int index )
+{ return QBitVal( (QBitArray*)this, index ); }
+
+inline bool QBitArray::operator[]( int index ) const
+{ return testBit( index ); }
+
+
+/*****************************************************************************
+ Misc. QBitArray operator functions
+ *****************************************************************************/
+
+Q_EXPORT QBitArray operator&amp;( const QBitArray &amp;, const QBitArray &amp; );
+Q_EXPORT QBitArray operator|( const QBitArray &amp;, const QBitArray &amp; );
+Q_EXPORT QBitArray operator^( const QBitArray &amp;, const QBitArray &amp; );
+
+
+inline QBitVal::operator int()
+{
+ return array-&gt;testBit( index );
+}
+
+inline QBitVal &amp;QBitVal::operator=( const QBitVal &amp;v )
+{
+ array-&gt;setBit( index, v.array-&gt;testBit(v.index) );
+ return *this;
+}
+
+inline QBitVal &amp;QBitVal::operator=( bool v )
+{
+ array-&gt;setBit( index, v );
+ return *this;
+}
+
+
+/*****************************************************************************
+ QBitArray stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QBitArray &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QBitArray &amp; );
+#endif
+
+#endif // QBITARRAY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitarray-members.html b/doc/html/qbitarray-members.html
new file mode 100644
index 0000000..bc05455
--- /dev/null
+++ b/doc/html/qbitarray-members.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbitarray.h:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitArray Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBitArray</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbitarray.html">QBitArray</a>, including inherited members.
+
+<ul>
+<li><a href="qbitarray.html#QBitArray">QBitArray</a>()
+<li><a href="qmemarray.html#assign">assign</a>()
+<li><a href="qbitarray.html#at">at</a>()
+<li><a href="qmemarray.html#begin">begin</a>()
+<li><a href="qmemarray.html#bsearch">bsearch</a>()
+<li><a href="qbitarray.html#clearBit">clearBit</a>()
+<li><a href="qmemarray.html#contains">contains</a>()
+<li><a href="qbitarray.html#copy">copy</a>()
+<li><a href="qmemarray.html#count">count</a>()
+<li><a href="qmemarray.html#data">data</a>()
+<li><a href="qbitarray.html#detach">detach</a>()
+<li><a href="qmemarray.html#duplicate">duplicate</a>()
+<li><a href="qmemarray.html#end">end</a>()
+<li><a href="qbitarray.html#fill">fill</a>()
+<li><a href="qmemarray.html#find">find</a>()
+<li><a href="qmemarray.html#isEmpty">isEmpty</a>()
+<li><a href="qmemarray.html#isNull">isNull</a>()
+<li><a href="qmemarray.html#nrefs">nrefs</a>()
+<li><a href="qmemarray.html#operator-const-type-*">operator const type *</a>()
+<li><a href="qmemarray.html#operator!-eq">operator!=</a>()
+<li><a href="qbitarray.html#operator-and-eq">operator&amp;=</a>()
+<li><a href="qbitarray.html#operator-eq">operator=</a>()
+<li><a href="qmemarray.html#operator-eq-eq">operator==</a>()
+<li><a href="qbitarray.html#operator[]">operator[]</a>()
+<li><a href="qbitarray.html#operator^-eq">operator^=</a>()
+<li><a href="qbitarray.html#operator|-eq">operator|=</a>()
+<li><a href="qbitarray.html#operator~">operator~</a>()
+<li><a href="qmemarray.html#resetRawData">resetRawData</a>()
+<li><a href="qbitarray.html#resize">resize</a>()
+<li><a href="qbitarray.html#setBit">setBit</a>()
+<li><a href="qmemarray.html#setRawData">setRawData</a>()
+<li><a href="qbitarray.html#size">size</a>()
+<li><a href="qmemarray.html#sort">sort</a>()
+<li><a href="qbitarray.html#testBit">testBit</a>()
+<li><a href="qbitarray.html#toggleBit">toggleBit</a>()
+<li><a href="qmemarray.html#truncate">truncate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitarray.html b/doc/html/qbitarray.html
new file mode 100644
index 0000000..c2492b4
--- /dev/null
+++ b/doc/html/qbitarray.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qbitarray.cpp:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitArray Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBitArray Class Reference</h1>
+
+<p>The QBitArray class provides an array of bits.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qbitarray-h.html">qbitarray.h</a>&gt;</tt>
+<p>Inherits <a href="qbytearray.html">QByteArray</a>.
+<p><a href="qbitarray-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QBitArray"><b>QBitArray</b></a> ()</li>
+<li class=fn><a href="#QBitArray-2"><b>QBitArray</b></a> ( uint&nbsp;size )</li>
+<li class=fn><a href="#QBitArray-3"><b>QBitArray</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QBitArray &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#resize"><b>resize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>bool <a href="#fill"><b>fill</b></a> ( bool&nbsp;v, int&nbsp;size = -1 )</li>
+<li class=fn>virtual void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>QBitArray <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>bool <a href="#testBit"><b>testBit</b></a> ( uint&nbsp;index ) const</li>
+<li class=fn>void <a href="#setBit-2"><b>setBit</b></a> ( uint&nbsp;index )</li>
+<li class=fn>void <a href="#setBit"><b>setBit</b></a> ( uint&nbsp;index, bool&nbsp;value )</li>
+<li class=fn>void <a href="#clearBit"><b>clearBit</b></a> ( uint&nbsp;index )</li>
+<li class=fn>bool <a href="#toggleBit"><b>toggleBit</b></a> ( uint&nbsp;index )</li>
+<li class=fn>bool <a href="#at"><b>at</b></a> ( uint&nbsp;index ) const</li>
+<li class=fn>QBitVal <a href="#operator[]"><b>operator[]</b></a> ( int&nbsp;index )</li>
+<li class=fn>bool <a href="#operator[]-2"><b>operator[]</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QBitArray &amp; <a href="#operator-and-eq"><b>operator&amp;=</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QBitArray &amp; <a href="#operator|-eq"><b>operator|=</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QBitArray &amp; <a href="#operator^-eq"><b>operator^=</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QBitArray <a href="#operator~"><b>operator~</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QBitArray <a href="#operator-and"><b>operator&amp;</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a1, const&nbsp;QBitArray&nbsp;&amp;&nbsp;a2 )</li>
+<li class=fn>QBitArray <a href="#operator|"><b>operator|</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a1, const&nbsp;QBitArray&nbsp;&amp;&nbsp;a2 )</li>
+<li class=fn>QBitArray <a href="#operator^"><b>operator^</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;a1, const&nbsp;QBitArray&nbsp;&amp;&nbsp;a2 )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QBitArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QBitArray&nbsp;&amp;&nbsp;a )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QBitArray class provides an array of bits.
+<p>
+
+
+<p> Because QBitArray is a <a href="qmemarray.html">QMemArray</a>, it uses explicit <a href="shclass.html">sharing</a> with a reference count.
+<p> A QBitArray is a special byte array that can access individual
+bits and perform bit-operations (AND, OR, XOR and NOT) on entire
+arrays or bits.
+<p> Bits can be manipulated by the <a href="#setBit">setBit</a>() and <a href="#clearBit">clearBit</a>() functions,
+but it is also possible to use the indexing [] operator to test
+and set individual bits. The [] operator is a little slower than
+setBit() and clearBit() because some tricks are required to
+implement single-bit assignments.
+<p> Example:
+<pre>
+ QBitArray a(3);
+ a.<a href="#setBit">setBit</a>( 0 );
+ a.<a href="#clearBit">clearBit</a>( 1 );
+ a.<a href="#setBit">setBit</a>( 2 ); // a = [1 0 1]
+
+ QBitArray b(3);
+ b[0] = 1;
+ b[1] = 1;
+ b[2] = 0; // b = [1 1 0]
+
+ QBitArray c;
+ c = ~a &amp; b; // c = [0 1 0]
+ </pre>
+
+<p> When a QBitArray is constructed the bits are uninitialized. Use
+<a href="#fill">fill</a>() to set all the bits to 0 or 1. The array can be resized
+with <a href="#resize">resize</a>() and copied with <a href="#copy">copy</a>(). Bits can be set with
+setBit() and cleared with clearBit(). Bits can be toggled with
+<a href="#toggleBit">toggleBit</a>(). A bit's value can be obtained with <a href="#testBit">testBit</a>() and with
+<a href="#at">at</a>().
+<p> QBitArray supports the &amp; (AND), | (OR), ^ (XOR) and ~ (NOT)
+operators.
+<p>See also <a href="collection.html">Collection Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBitArray"></a>QBitArray::QBitArray ()
+</h3>
+Constructs an empty bit array.
+
+<h3 class=fn><a name="QBitArray-2"></a>QBitArray::QBitArray ( uint&nbsp;size )
+</h3>
+Constructs a bit array of <em>size</em> bits. The bits are uninitialized.
+<p> <p>See also <a href="#fill">fill</a>().
+
+<h3 class=fn><a name="QBitArray-3"></a>QBitArray::QBitArray ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Constructs a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>a</em>.
+
+<h3 class=fn>bool <a name="at"></a>QBitArray::at ( uint&nbsp;index ) const
+</h3>
+
+<p> Returns the value (0 or 1) of the bit at position <em>index</em>.
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<h3 class=fn>void <a name="clearBit"></a>QBitArray::clearBit ( uint&nbsp;index )
+</h3>
+Clears the bit at position <em>index</em>, i.e. sets it to 0.
+<p> <p>See also <a href="#setBit">setBit</a>() and <a href="#toggleBit">toggleBit</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="copy"></a>QBitArray::copy () const
+</h3>
+Returns a <a href="shclass.html#deep-copy">deep copy</a> of the bit array.
+<p> <p>See also <a href="#detach">detach</a>().
+
+<h3 class=fn>void <a name="detach"></a>QBitArray::detach ()<tt> [virtual]</tt>
+</h3>
+Detaches from shared bit array data and makes sure that this bit
+array is the only one referring to the data.
+<p> If multiple bit arrays share common data, this bit array
+dereferences the data and gets a copy of the data. Nothing happens
+if there is only a single reference.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<p>Reimplemented from <a href="qmemarray.html#detach">QMemArray</a>.
+<h3 class=fn>bool <a name="fill"></a>QBitArray::fill ( bool&nbsp;v, int&nbsp;size = -1 )
+</h3>
+Fills the bit array with <em>v</em> (1's if <em>v</em> is TRUE, or 0's if <em>v</em>
+is FALSE).
+<p> <a href="#fill">fill</a>() resizes the bit array to <em>size</em> bits if <em>size</em> is
+nonnegative.
+<p> Returns FALSE if a nonnegative <em>size</em> was specified and the bit
+array could not be resized; otherwise returns TRUE.
+<p> <p>See also <a href="#resize">resize</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a>&nbsp;&amp; <a name="operator-and-eq"></a>QBitArray::operator&amp;= ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+Performs the AND operation between all bits in this bit array and
+<em>a</em>. Returns a reference to this bit array.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<pre>
+ QBitArray a( 3 ), b( 2 );
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+ b[0] = 1; b[1] = 0; // b = [1 0]
+ a &amp;= b; // a = [1 0 0]
+ </pre>
+
+<p> <p>See also <a href="#operator|-eq">operator|=</a>(), <a href="#operator^-eq">operator^=</a>(), and <a href="#operator~">operator~</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a>&nbsp;&amp; <a name="operator-eq"></a>QBitArray::operator= ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Assigns a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>a</em> to this bit array and returns a
+reference to this array.
+
+<h3 class=fn><a href="qbitval.html">QBitVal</a> <a name="operator[]"></a>QBitArray::operator[] ( int&nbsp;index )
+</h3>
+
+<p> Implements the [] operator for bit arrays.
+<p> The returned <a href="qbitval.html">QBitVal</a> is a context object. It makes it possible to
+get and set a single bit value by its <em>index</em> position.
+<p> Example:
+<pre>
+ QBitArray a( 3 );
+ a[0] = 0;
+ a[1] = 1;
+ a[2] = a[0] ^ a[1];
+ </pre>
+
+<p> The functions <a href="#testBit">testBit</a>(), <a href="#setBit">setBit</a>() and <a href="#clearBit">clearBit</a>() are faster.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>bool <a name="operator[]-2"></a>QBitArray::operator[] ( int&nbsp;index ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Implements the [] operator for constant bit arrays.
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a>&nbsp;&amp; <a name="operator^-eq"></a>QBitArray::operator^= ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+Performs the XOR operation between all bits in this bit array and
+<em>a</em>. Returns a reference to this bit array.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<pre>
+ QBitArray a( 3 ), b( 2 );
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+ b[0] = 1; b[1] = 0; // b = [1 0]
+ a ^= b; // a = [0 0 1]
+ </pre>
+
+<p> <p>See also <a href="#operator-and-eq">operator&amp;=</a>(), <a href="#operator|-eq">operator|=</a>(), and <a href="#operator~">operator~</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a>&nbsp;&amp; <a name="operator|-eq"></a>QBitArray::operator|= ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+Performs the OR operation between all bits in this bit array and
+<em>a</em>. Returns a reference to this bit array.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<pre>
+ QBitArray a( 3 ), b( 2 );
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+ b[0] = 1; b[1] = 0; // b = [1 0]
+ a |= b; // a = [1 0 1]
+ </pre>
+
+<p> <p>See also <a href="#operator-and-eq">operator&amp;=</a>(), <a href="#operator^-eq">operator^=</a>(), and <a href="#operator~">operator~</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="operator~"></a>QBitArray::operator~ () const
+</h3>
+Returns a bit array that contains the inverted bits of this bit array.
+<p> Example:
+<pre>
+ QBitArray a( 3 ), b;
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+ b = ~a; // b = [0 1 0]
+ </pre>
+
+
+<h3 class=fn>bool <a name="resize"></a>QBitArray::resize ( uint&nbsp;size )
+</h3>
+Resizes the bit array to <em>size</em> bits and returns TRUE if the bit
+array could be resized; otherwise returns FALSE. The array becomes
+a null array if <em>size</em> == 0.
+<p> If the array is expanded, the new bits are set to 0.
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn>void <a name="setBit"></a>QBitArray::setBit ( uint&nbsp;index, bool&nbsp;value )
+</h3>
+
+<p> Sets the bit at position <em>index</em> to <em>value</em>.
+<p> Equivalent to:
+<pre>
+ if ( value )
+ <a href="#setBit">setBit</a>( index );
+ else
+ <a href="#clearBit">clearBit</a>( index );
+ </pre>
+
+<p> <p>See also <a href="#clearBit">clearBit</a>() and <a href="#toggleBit">toggleBit</a>().
+
+<h3 class=fn>void <a name="setBit-2"></a>QBitArray::setBit ( uint&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the bit at position <em>index</em> to 1.
+<p> <p>See also <a href="#clearBit">clearBit</a>() and <a href="#toggleBit">toggleBit</a>().
+
+<h3 class=fn>uint <a name="size"></a>QBitArray::size () const
+</h3>
+
+<p> Returns the bit array's size (number of bits).
+<p> <p>See also <a href="#resize">resize</a>().
+
+<h3 class=fn>bool <a name="testBit"></a>QBitArray::testBit ( uint&nbsp;index ) const
+</h3>
+Returns TRUE if the bit at position <em>index</em> is set, i.e. is 1;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setBit">setBit</a>() and <a href="#clearBit">clearBit</a>().
+
+<h3 class=fn>bool <a name="toggleBit"></a>QBitArray::toggleBit ( uint&nbsp;index )
+</h3>
+Toggles the bit at position <em>index</em>.
+<p> If the previous value was 0, the new value will be 1. If the
+previous value was 1, the new value will be 0.
+<p> <p>See also <a href="#setBit">setBit</a>() and <a href="#clearBit">clearBit</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="operator-and"></a>operator&amp; ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a2 )
+</h3>
+
+<p> Returns the AND result between the bit arrays <em>a1</em> and <em>a2</em>.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<p> <p>See also <a href="#operator-and-eq">QBitArray::operator&=</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Writes bit array <em>a</em> to stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Reads a bit array into <em>a</em> from stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="operator^"></a>operator^ ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a2 )
+</h3>
+
+<p> Returns the XOR result between the bit arrays <em>a1</em> and <em>a2</em>.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<p> <p>See also <a href="#operator^">QBitArray::operator^</a>().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a> <a name="operator|"></a>operator| ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;a2 )
+</h3>
+
+<p> Returns the OR result between the bit arrays <em>a1</em> and <em>a2</em>.
+<p> The result has the length of the longest of the two bit arrays,
+with any missing bits (i.e. if one array is shorter than the
+other), taken to be 0.
+<p> <p>See also <a href="#operator|-eq">QBitArray::operator|=</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitmap-h.html b/doc/html/qbitmap-h.html
new file mode 100644
index 0000000..69258cb
--- /dev/null
+++ b/doc/html/qbitmap-h.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbitmap.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbitmap.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbitmap.h</h1>
+
+<p>This is the verbatim text of the qbitmap.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbitmap.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QBitmap class
+**
+** Created : 941020
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBITMAP_H
+#define QBITMAP_H
+
+#ifndef QT_H
+#include "qpixmap.h"
+#endif // QT_H
+
+
+class Q_EXPORT QBitmap : public QPixmap
+{
+public:
+ QBitmap();
+ QBitmap( int w, int h, bool clear = FALSE,
+ QPixmap::Optimization = QPixmap::DefaultOptim );
+ QBitmap( const QSize &amp;, bool clear = FALSE,
+ QPixmap::Optimization = QPixmap::DefaultOptim );
+ QBitmap( int w, int h, const uchar *bits, bool isXbitmap=FALSE );
+ QBitmap( const QSize &amp;, const uchar *bits, bool isXbitmap=FALSE );
+ QBitmap( const QBitmap &amp; );
+#ifndef QT_NO_IMAGEIO
+ QBitmap( const QString &amp;fileName, const char *format=0 );
+#endif
+ QBitmap &amp;operator=( const QBitmap &amp; );
+ QBitmap &amp;operator=( const QPixmap &amp; );
+ QBitmap &amp;operator=( const QImage &amp; );
+
+#ifndef QT_NO_PIXMAP_TRANSFORMATION
+ QBitmap xForm( const QWMatrix &amp; ) const;
+#endif
+};
+
+
+#endif // QBITMAP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitmap-members.html b/doc/html/qbitmap-members.html
new file mode 100644
index 0000000..9540cf2
--- /dev/null
+++ b/doc/html/qbitmap-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbitmap.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitmap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBitmap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbitmap.html">QBitmap</a>, including inherited members.
+
+<ul>
+<li><a href="qbitmap.html#QBitmap">QBitmap</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qpixmap.html#convertFromImage">convertFromImage</a>()
+<li><a href="qpixmap.html#convertToImage">convertToImage</a>()
+<li><a href="qpixmap.html#createHeuristicMask">createHeuristicMask</a>()
+<li><a href="qpixmap.html#defaultDepth">defaultDepth</a>()
+<li><a href="qpixmap.html#defaultOptimization">defaultOptimization</a>()
+<li><a href="qpixmap.html#depth">depth</a>()
+<li><a href="qpixmap.html#detach">detach</a>()
+<li><a href="qpixmap.html#fill">fill</a>()
+<li><a href="qpixmap.html#fromMimeSource">fromMimeSource</a>()
+<li><a href="qpixmap.html#grabWidget">grabWidget</a>()
+<li><a href="qpixmap.html#grabWindow">grabWindow</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpixmap.html#hasAlpha">hasAlpha</a>()
+<li><a href="qpixmap.html#hasAlphaChannel">hasAlphaChannel</a>()
+<li><a href="qpixmap.html#height">height</a>()
+<li><a href="qpixmap.html#imageFormat">imageFormat</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpixmap.html#isNull">isNull</a>()
+<li><a href="qpixmap.html#isQBitmap">isQBitmap</a>()
+<li><a href="qpixmap.html#load">load</a>()
+<li><a href="qpixmap.html#loadFromData">loadFromData</a>()
+<li><a href="qpixmap.html#mask">mask</a>()
+<li><a href="qpixmap.html#metric">metric</a>()
+<li><a href="qbitmap.html#operator-eq">operator=</a>()
+<li><a href="qpixmap.html#optimization">optimization</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qpixmap.html#rect">rect</a>()
+<li><a href="qpixmap.html#resize">resize</a>()
+<li><a href="qpixmap.html#save">save</a>()
+<li><a href="qpixmap.html#selfMask">selfMask</a>()
+<li><a href="qpixmap.html#serialNumber">serialNumber</a>()
+<li><a href="qpixmap.html#setDefaultOptimization">setDefaultOptimization</a>()
+<li><a href="qpixmap.html#setMask">setMask</a>()
+<li><a href="qpixmap.html#setOptimization">setOptimization</a>()
+<li><a href="qpixmap.html#size">size</a>()
+<li><a href="qpixmap.html#trueMatrix">trueMatrix</a>()
+<li><a href="qpixmap.html#width">width</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qbitmap.html#xForm">xForm</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitmap.html b/doc/html/qbitmap.html
new file mode 100644
index 0000000..59dabe5
--- /dev/null
+++ b/doc/html/qbitmap.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qbitmap.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitmap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBitmap Class Reference</h1>
+
+<p>The QBitmap class provides monochrome (1-bit depth) pixmaps.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbitmap-h.html">qbitmap.h</a>&gt;</tt>
+<p>Inherits <a href="qpixmap.html">QPixmap</a>.
+<p><a href="qbitmap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QBitmap"><b>QBitmap</b></a> ()</li>
+<li class=fn><a href="#QBitmap-2"><b>QBitmap</b></a> ( int&nbsp;w, int&nbsp;h, bool&nbsp;clear = FALSE, QPixmap::Optimization&nbsp;optimization = QPixmap::DefaultOptim )</li>
+<li class=fn><a href="#QBitmap-3"><b>QBitmap</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size, bool&nbsp;clear = FALSE, QPixmap::Optimization&nbsp;optimization = QPixmap::DefaultOptim )</li>
+<li class=fn><a href="#QBitmap-4"><b>QBitmap</b></a> ( int&nbsp;w, int&nbsp;h, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap = FALSE )</li>
+<li class=fn><a href="#QBitmap-5"><b>QBitmap</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap = FALSE )</li>
+<li class=fn><a href="#QBitmap-6"><b>QBitmap</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;bitmap )</li>
+<li class=fn><a href="#QBitmap-7"><b>QBitmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>QBitmap &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;bitmap )</li>
+<li class=fn>QBitmap &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>QBitmap &amp; <a href="#operator-eq-3"><b>operator=</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>QBitmap <a href="#xForm"><b>xForm</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;matrix ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QBitmap class provides monochrome (1-bit depth) pixmaps.
+<p>
+
+
+<p> The QBitmap class is a monochrome off-screen paint device used
+mainly for creating custom <a href="qcursor.html">QCursor</a> and <a href="qbrush.html">QBrush</a> objects, in
+<a href="qpixmap.html#setMask">QPixmap::setMask</a>() and for <a href="qregion.html">QRegion</a>.
+<p> A QBitmap is a <a href="qpixmap.html">QPixmap</a> with a <a href="qpixmap.html#depth">depth</a>
+of 1. If a pixmap with a depth greater than 1 is assigned to a
+bitmap, the bitmap will be dithered automatically. A QBitmap is
+guaranteed to always have the depth 1, unless it is
+<a href="qpixmap.html#isNull">QPixmap::isNull</a>() which has depth 0.
+<p> When drawing in a QBitmap (or QPixmap with depth 1), we recommend
+using the <a href="qcolor.html">QColor</a> objects <tt>Qt::color0</tt> and <tt>Qt::color1</tt>.
+Painting with <tt>color0</tt> sets the bitmap bits to 0, and painting
+with <tt>color1</tt> sets the bits to 1. For a bitmap, 0-bits indicate
+background (or transparent) and 1-bits indicate foreground (or
+opaque). Using the <tt>black</tt> and <tt>white</tt> QColor objects make no
+sense because the <a href="qcolor.html#pixel">QColor::pixel</a>() value is not necessarily 0 for
+black and 1 for white.
+<p> The QBitmap can be transformed (translated, scaled, sheared or
+rotated) using <a href="#xForm">xForm</a>().
+<p> Just like the <a href="qpixmap.html">QPixmap</a> class, QBitmap is optimized by the use of
+<a href="shclass.html">implicit sharing</a>, so it is very
+efficient to pass QBitmap objects as arguments.
+<p> <p>See also <a href="qpixmap.html">QPixmap</a>, <a href="qpainter.html#drawPixmap">QPainter::drawPixmap</a>(), <a href="qpaintdevice.html#bitBlt">bitBlt</a>(), <a href="shclass.html">Shared Classes</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBitmap"></a>QBitmap::QBitmap ()
+</h3>
+Constructs a null bitmap.
+<p> <p>See also <a href="qpixmap.html#isNull">QPixmap::isNull</a>().
+
+<h3 class=fn><a name="QBitmap-2"></a>QBitmap::QBitmap ( int&nbsp;w, int&nbsp;h, bool&nbsp;clear = FALSE, <a href="qpixmap.html#Optimization-enum">QPixmap::Optimization</a>&nbsp;optimization = QPixmap::DefaultOptim )
+</h3>
+Constructs a bitmap with width <em>w</em> and height <em>h</em>.
+<p> The contents of the bitmap is uninitialized if <em>clear</em> is FALSE;
+otherwise it is filled with pixel value 0 (the <a href="qcolor.html">QColor</a> <tt>Qt::color0</tt>).
+<p> The optional <em>optimization</em> argument specifies the optimization
+setting for the bitmap. The default optimization should be used in
+most cases. Games and other pixmap-intensive applications may
+benefit from setting this argument; see <a href="qpixmap.html#Optimization-enum">QPixmap::Optimization</a>.
+<p> <p>See also <a href="qpixmap.html#setOptimization">QPixmap::setOptimization</a>() and <a href="qpixmap.html#setDefaultOptimization">QPixmap::setDefaultOptimization</a>().
+
+<h3 class=fn><a name="QBitmap-3"></a>QBitmap::QBitmap ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size, bool&nbsp;clear = FALSE, <a href="qpixmap.html#Optimization-enum">QPixmap::Optimization</a>&nbsp;optimization = QPixmap::DefaultOptim )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a bitmap with the size <em>size</em>.
+<p> The contents of the bitmap is uninitialized if <em>clear</em> is FALSE;
+otherwise it is filled with pixel value 0 (the <a href="qcolor.html">QColor</a> <tt>Qt::color0</tt>).
+<p> The optional <em>optimization</em> argument specifies the optimization
+setting for the bitmap. The default optimization should be used in
+most cases. Games and other pixmap-intensive applications may
+benefit from setting this argument; see <a href="qpixmap.html#Optimization-enum">QPixmap::Optimization</a>.
+
+<h3 class=fn><a name="QBitmap-4"></a>QBitmap::QBitmap ( int&nbsp;w, int&nbsp;h, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap = FALSE )
+</h3>
+Constructs a bitmap with width <em>w</em> and height <em>h</em> and sets the
+contents to <em>bits</em>.
+<p> The <em>isXbitmap</em> flag should be TRUE if <em>bits</em> was generated by
+the X11 bitmap program. The X bitmap bit order is little endian.
+The <a href="qimage.html">QImage</a> documentation discusses bit order of monochrome images.
+<p> Example (creates an arrow bitmap):
+<pre>
+ uchar arrow_bits[] = { 0x3f, 0x1f, 0x0f, 0x1f, 0x3b, 0x71, 0xe0, 0xc0 };
+ QBitmap bm( 8, 8, arrow_bits, TRUE );
+ </pre>
+
+
+<h3 class=fn><a name="QBitmap-5"></a>QBitmap::QBitmap ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap = FALSE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a bitmap with the size <em>size</em> and sets the contents to
+<em>bits</em>.
+<p> The <em>isXbitmap</em> flag should be TRUE if <em>bits</em> was generated by
+the X11 bitmap program. The X bitmap bit order is little endian.
+The <a href="qimage.html">QImage</a> documentation discusses bit order of monochrome images.
+
+<h3 class=fn><a name="QBitmap-6"></a>QBitmap::QBitmap ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;bitmap )
+</h3>
+Constructs a bitmap that is a copy of <em>bitmap</em>.
+
+<h3 class=fn><a name="QBitmap-7"></a>QBitmap::QBitmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Constructs a bitmap from the file <em>fileName</em>. If the file does
+not exist or is of an unknown format, the bitmap becomes a null
+bitmap.
+<p> The parameters <em>fileName</em> and <em>format</em> are passed on to
+<a href="qpixmap.html#load">QPixmap::load</a>(). Dithering will be performed if the file format
+uses more than 1 bit per pixel.
+<p> <p>See also <a href="qpixmap.html#isNull">QPixmap::isNull</a>(), <a href="qpixmap.html#load">QPixmap::load</a>(), <a href="qpixmap.html#loadFromData">QPixmap::loadFromData</a>(), <a href="qpixmap.html#save">QPixmap::save</a>(), and <a href="qpixmap.html#imageFormat">QPixmap::imageFormat</a>().
+
+<h3 class=fn><a href="qbitmap.html">QBitmap</a>&nbsp;&amp; <a name="operator-eq"></a>QBitmap::operator= ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;bitmap )
+</h3>
+Assigns the bitmap <em>bitmap</em> to this bitmap and returns a
+reference to this bitmap.
+
+<h3 class=fn><a href="qbitmap.html">QBitmap</a>&nbsp;&amp; <a name="operator-eq-2"></a>QBitmap::operator= ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns the pixmap <em>pixmap</em> to this bitmap and returns a
+reference to this bitmap.
+<p> Dithering will be performed if the pixmap has a <a href="qpixmap.html#depth">QPixmap::depth</a>()
+greater than 1.
+
+<h3 class=fn><a href="qbitmap.html">QBitmap</a>&nbsp;&amp; <a name="operator-eq-3"></a>QBitmap::operator= ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Converts the image <em>image</em> to a bitmap and assigns the result to
+this bitmap. Returns a reference to the bitmap.
+<p> Dithering will be performed if the image has a <a href="qimage.html#depth">QImage::depth</a>()
+greater than 1.
+
+<h3 class=fn><a href="qbitmap.html">QBitmap</a> <a name="xForm"></a>QBitmap::xForm ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;matrix ) const
+</h3>
+Returns a transformed copy of this bitmap by using <em>matrix</em>.
+<p> This function does exactly the same as <a href="qpixmap.html#xForm">QPixmap::xForm</a>(), except
+that it returns a QBitmap instead of a <a href="qpixmap.html">QPixmap</a>.
+<p> <p>See also <a href="qpixmap.html#xForm">QPixmap::xForm</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitval-members.html b/doc/html/qbitval-members.html
new file mode 100644
index 0000000..afc73e9
--- /dev/null
+++ b/doc/html/qbitval-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbitarray.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitVal Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBitVal</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbitval.html">QBitVal</a>, including inherited members.
+
+<ul>
+<li><a href="qbitval.html#QBitVal">QBitVal</a>()
+<li><a href="qbitval.html#operator-int">operator int</a>()
+<li><a href="qbitval.html#operator-eq">operator=</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbitval.html b/doc/html/qbitval.html
new file mode 100644
index 0000000..9cc8f7c
--- /dev/null
+++ b/doc/html/qbitval.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qbitarray.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBitVal Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBitVal Class Reference</h1>
+
+<p>The QBitVal class is an internal class, used with QBitArray.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qbitarray-h.html">qbitarray.h</a>&gt;</tt>
+<p><a href="qbitval-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QBitVal"><b>QBitVal</b></a> ( QBitArray&nbsp;*&nbsp;a, uint&nbsp;i )</li>
+<li class=fn><a href="#operator-int"><b>operator int</b></a> ()</li>
+<li class=fn>QBitVal &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QBitVal&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>QBitVal &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( bool&nbsp;v )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QBitVal class is an internal class, used with <a href="qbitarray.html">QBitArray</a>.
+<p>
+<p> The QBitVal is required by the indexing [] operator on bit arrays.
+It is not for use in any other context.
+<p>See also <a href="collection.html">Collection Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBitVal"></a>QBitVal::QBitVal ( <a href="qbitarray.html">QBitArray</a>&nbsp;*&nbsp;a, uint&nbsp;i )
+</h3>
+
+<p> Constructs a reference to element <em>i</em> in the <a href="qbitarray.html">QBitArray</a> <em>a</em>.
+This is what QBitArray::operator[] constructs its return value
+with.
+
+<h3 class=fn><a name="operator-int"></a>QBitVal::operator int ()
+</h3>
+
+<p> Returns the value referenced by the QBitVal.
+
+<h3 class=fn><a href="qbitval.html">QBitVal</a>&nbsp;&amp; <a name="operator-eq"></a>QBitVal::operator= ( const&nbsp;<a href="qbitval.html">QBitVal</a>&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Sets the value referenced by the QBitVal to that referenced by
+QBitVal <em>v</em>.
+
+<h3 class=fn><a href="qbitval.html">QBitVal</a>&nbsp;&amp; <a name="operator-eq-2"></a>QBitVal::operator= ( bool&nbsp;v )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the value referenced by the QBitVal to <em>v</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qboxlayout-members.html b/doc/html/qboxlayout-members.html
new file mode 100644
index 0000000..0341d5d
--- /dev/null
+++ b/doc/html/qboxlayout-members.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:365 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBoxLayout Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBoxLayout</h1>
+
+<p>This is the complete list of member functions for
+<a href="qboxlayout.html">QBoxLayout</a>, including inherited members.
+
+<ul>
+<li><a href="qboxlayout.html#QBoxLayout">QBoxLayout</a>()
+<li><a href="qboxlayout.html#~QBoxLayout">~QBoxLayout</a>()
+<li><a href="qlayout.html#activate">activate</a>()
+<li><a href="qlayout.html#add">add</a>()
+<li><a href="qlayout.html#addChildLayout">addChildLayout</a>()
+<li><a href="qboxlayout.html#addItem">addItem</a>()
+<li><a href="qboxlayout.html#addLayout">addLayout</a>()
+<li><a href="qboxlayout.html#addSpacing">addSpacing</a>()
+<li><a href="qboxlayout.html#addStretch">addStretch</a>()
+<li><a href="qboxlayout.html#addStrut">addStrut</a>()
+<li><a href="qboxlayout.html#addWidget">addWidget</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayout.html#alignmentRect">alignmentRect</a>()
+<li><a href="qlayout.html#autoAdd">autoAdd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qlayout.html#deleteAllItems">deleteAllItems</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qboxlayout.html#direction">direction</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qboxlayout.html#expanding">expanding</a>()
+<li><a href="qboxlayout.html#findWidget">findWidget</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qboxlayout.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qboxlayout.html#heightForWidth">heightForWidth</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qboxlayout.html#insertItem">insertItem</a>()
+<li><a href="qboxlayout.html#insertLayout">insertLayout</a>()
+<li><a href="qboxlayout.html#insertSpacing">insertSpacing</a>()
+<li><a href="qboxlayout.html#insertStretch">insertStretch</a>()
+<li><a href="qboxlayout.html#insertWidget">insertWidget</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qboxlayout.html#invalidate">invalidate</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qlayout.html#isEmpty">isEmpty</a>()
+<li><a href="qlayout.html#isEnabled">isEnabled</a>()
+<li><a href="qlayout.html#isTopLevel">isTopLevel</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlayout.html#iterator">iterator</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayout.html#mainWidget">mainWidget</a>()
+<li><a href="qlayout.html#margin">margin</a>()
+<li><a href="qboxlayout.html#maximumSize">maximumSize</a>()
+<li><a href="qlayout.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qboxlayout.html#minimumSize">minimumSize</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qlayout.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlayout.html#removeItem">removeItem</a>()
+<li><a href="qlayout.html#resizeMode">resizeMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayout.html#setAutoAdd">setAutoAdd</a>()
+<li><a href="qboxlayout.html#setDirection">setDirection</a>()
+<li><a href="qlayout.html#setEnabled">setEnabled</a>()
+<li><a href="qboxlayout.html#setGeometry">setGeometry</a>()
+<li><a href="qlayout.html#setMargin">setMargin</a>()
+<li><a href="qlayout.html#setMenuBar">setMenuBar</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlayout.html#setResizeMode">setResizeMode</a>()
+<li><a href="qlayout.html#setSpacing">setSpacing</a>()
+<li><a href="qboxlayout.html#setStretchFactor">setStretchFactor</a>()
+<li><a href="qlayout.html#setSupportsMargin">setSupportsMargin</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qboxlayout.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayout.html#spacing">spacing</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qlayout.html#supportsMargin">supportsMargin</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qboxlayout.html b/doc/html/qboxlayout.html
new file mode 100644
index 0000000..3becc1c
--- /dev/null
+++ b/doc/html/qboxlayout.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qlayout.cpp:1616 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBoxLayout Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBoxLayout Class Reference</h1>
+
+<p>The QBoxLayout class lines up child widgets horizontally or
+vertically.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qlayout.html">QLayout</a>.
+<p>Inherited by <a href="qhboxlayout.html">QHBoxLayout</a> and <a href="qvboxlayout.html">QVBoxLayout</a>.
+<p><a href="qboxlayout-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Direction-enum"><b>Direction</b></a> { LeftToRight, RightToLeft, TopToBottom, BottomToTop, Down = TopToBottom, Up = BottomToTop }</li>
+<li class=fn><a href="#QBoxLayout"><b>QBoxLayout</b></a> ( QWidget&nbsp;*&nbsp;parent, Direction&nbsp;d, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QBoxLayout-2"><b>QBoxLayout</b></a> ( QLayout&nbsp;*&nbsp;parentLayout, Direction&nbsp;d, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QBoxLayout-3"><b>QBoxLayout</b></a> ( Direction&nbsp;d, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QBoxLayout"><b>~QBoxLayout</b></a> ()</li>
+<li class=fn>virtual void <a href="#addItem"><b>addItem</b></a> ( QLayoutItem&nbsp;*&nbsp;item )</li>
+<li class=fn>Direction <a href="#direction"><b>direction</b></a> () const</li>
+<li class=fn>void <a href="#setDirection"><b>setDirection</b></a> ( Direction&nbsp;direction )</li>
+<li class=fn>void <a href="#addSpacing"><b>addSpacing</b></a> ( int&nbsp;size )</li>
+<li class=fn>void <a href="#addStretch"><b>addStretch</b></a> ( int&nbsp;stretch = 0 )</li>
+<li class=fn>void <a href="#addWidget"><b>addWidget</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, int&nbsp;alignment = 0 )</li>
+<li class=fn>void <a href="#addLayout"><b>addLayout</b></a> ( QLayout&nbsp;*&nbsp;layout, int&nbsp;stretch = 0 )</li>
+<li class=fn>void <a href="#addStrut"><b>addStrut</b></a> ( int&nbsp;size )</li>
+<li class=fn>void <a href="#insertSpacing"><b>insertSpacing</b></a> ( int&nbsp;index, int&nbsp;size )</li>
+<li class=fn>void <a href="#insertStretch"><b>insertStretch</b></a> ( int&nbsp;index, int&nbsp;stretch = 0 )</li>
+<li class=fn>void <a href="#insertWidget"><b>insertWidget</b></a> ( int&nbsp;index, QWidget&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, int&nbsp;alignment = 0 )</li>
+<li class=fn>void <a href="#insertLayout"><b>insertLayout</b></a> ( int&nbsp;index, QLayout&nbsp;*&nbsp;layout, int&nbsp;stretch = 0 )</li>
+<li class=fn>bool <a href="#setStretchFactor"><b>setStretchFactor</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;stretch )</li>
+<li class=fn>bool <a href="#setStretchFactor-2"><b>setStretchFactor</b></a> ( QLayout&nbsp;*&nbsp;l, int&nbsp;stretch )</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>virtual bool <a href="#hasHeightForWidth"><b>hasHeightForWidth</b></a> () const</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>virtual void <a href="#invalidate"><b>invalidate</b></a> ()</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>int <a href="#findWidget"><b>findWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#insertItem"><b>insertItem</b></a> ( int&nbsp;index, QLayoutItem&nbsp;*&nbsp;item )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QBoxLayout class lines up child widgets horizontally or
+vertically.
+<p>
+
+<p> QBoxLayout takes the space it gets (from its parent layout or from
+the <a href="qlayout.html#mainWidget">mainWidget</a>()), divides it up into a row of boxes, and makes
+each managed widget fill one box.
+<p> <center><img src="qhbox-m.png" alt="Horizontal box with five child widgets"></center>
+<p> If the QBoxLayout's orientation is <a href="qt.html#Orientation-enum">Horizontal</a> the boxes are
+placed in a row, with suitable sizes. Each widget (or other box)
+will get at least its minimum size and at most its maximum size.
+Any excess space is shared according to the stretch factors (more
+about that below).
+<p> <center><img src="qvbox-m.png" alt="Vertical box with five child widgets"></center>
+<p> If the QBoxLayout's orientation is <a href="qt.html#Orientation-enum">Vertical</a>, the boxes are
+placed in a column, again with suitable sizes.
+<p> The easiest way to create a QBoxLayout is to use one of the
+convenience classes, e.g. <a href="qhboxlayout.html">QHBoxLayout</a> (for <a href="qt.html#Orientation-enum">Horizontal</a> boxes) or
+<a href="qvboxlayout.html">QVBoxLayout</a> (for <a href="qt.html#Orientation-enum">Vertical</a> boxes). You can also use the
+QBoxLayout constructor directly, specifying its direction as <a href="#Direction-enum">LeftToRight</a>, <a href="#Direction-enum">Down</a>, <a href="#Direction-enum">RightToLeft</a> or <a href="#Direction-enum">Up</a>.
+<p> If the QBoxLayout is not the top-level layout (i.e. it is not
+managing all of the widget's area and children), you must add it
+to its parent layout before you can do anything with it. The
+normal way to add a layout is by calling
+parentLayout-&gt;addLayout().
+<p> Once you have done this, you can add boxes to the QBoxLayout using
+one of four functions:
+<p> <ul>
+<li> <a href="#addWidget">addWidget</a>() to add a widget to the QBoxLayout and set the
+widget's <a href="layout.html#stretch-factor">stretch factor</a>. (The stretch factor is along the row of
+boxes.)
+<p> <li> <a href="#addSpacing">addSpacing</a>() to create an empty box; this is one of the
+functions you use to create nice and spacious dialogs. See below
+for ways to set margins.
+<p> <li> <a href="#addStretch">addStretch</a>() to create an empty, stretchable box.
+<p> <li> <a href="#addLayout">addLayout</a>() to add a box containing another <a href="qlayout.html">QLayout</a> to the row
+and set that layout's stretch factor.
+</ul>
+<p> Use <a href="#insertWidget">insertWidget</a>(), <a href="#insertSpacing">insertSpacing</a>(), <a href="#insertStretch">insertStretch</a>() or
+<a href="#insertLayout">insertLayout</a>() to insert a box at a specified position in the
+layout.
+<p> QBoxLayout also includes two margin widths:
+<p> <ul>
+<li> <a href="qlayout.html#setMargin">setMargin</a>() sets the width of the outer border. This is the width
+of the reserved space along each of the QBoxLayout's four sides.
+<li> <a href="qlayout.html#setSpacing">setSpacing</a>() sets the width between neighboring boxes. (You
+can use <a href="#addSpacing">addSpacing</a>() to get more space at a particular spot.)
+</ul>
+<p> The margin defaults to 0. The spacing defaults to the same as the
+margin width for a top-level layout, or to the same as the parent
+layout. Both are parameters to the constructor.
+<p> To remove a widget from a layout, call <a href="qlayout.html#remove">remove</a>(). Calling
+<a href="qwidget.html#hide">QWidget::hide</a>() on a widget also effectively removes the widget
+from the layout until <a href="qwidget.html#show">QWidget::show</a>() is called.
+<p> You will almost always want to use <a href="qvboxlayout.html">QVBoxLayout</a> and <a href="qhboxlayout.html">QHBoxLayout</a>
+rather than QBoxLayout because of their convenient constructors.
+<p> <p>See also <a href="qgrid.html">QGrid</a>, <a href="layout.html">Layout Overview</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Direction-enum"></a>QBoxLayout::Direction</h3>
+
+<p> This type is used to determine the direction of a box layout.
+<ul>
+<li><tt>QBoxLayout::LeftToRight</tt> - Horizontal, from left to right
+<li><tt>QBoxLayout::RightToLeft</tt> - Horizontal, from right to left
+<li><tt>QBoxLayout::TopToBottom</tt> - Vertical, from top to bottom
+<li><tt>QBoxLayout::Down</tt> - The same as <a href="#Direction-enum">TopToBottom</a>
+<li><tt>QBoxLayout::BottomToTop</tt> - Vertical, from bottom to top
+<li><tt>QBoxLayout::Up</tt> - The same as <a href="#Direction-enum">BottomToTop</a>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBoxLayout"></a>QBoxLayout::QBoxLayout ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, <a href="qboxlayout.html#Direction-enum">Direction</a>&nbsp;d, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new QBoxLayout with direction <em>d</em> and main widget <em>parent</em>. <em>parent</em> may not be 0.
+<p> The <em>margin</em> is the number of pixels between the edge of the
+widget and its managed children. The <em>spacing</em> is the default
+number of pixels between neighboring children. If <em>spacing</em> is -1
+the value of <em>margin</em> is used for <em>spacing</em>.
+<p> <em>name</em> is the internal object name.
+<p> <p>See also <a href="#direction">direction</a>().
+
+<h3 class=fn><a name="QBoxLayout-2"></a>QBoxLayout::QBoxLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;parentLayout, <a href="qboxlayout.html#Direction-enum">Direction</a>&nbsp;d, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new QBoxLayout called <em>name</em>, with direction <em>d</em>,
+and inserts it into <em>parentLayout</em>.
+<p> The <em>spacing</em> is the default number of pixels between neighboring
+children. If <em>spacing</em> is -1, the layout will inherit its
+parent's <a href="qlayout.html#spacing">spacing</a>().
+
+<h3 class=fn><a name="QBoxLayout-3"></a>QBoxLayout::QBoxLayout ( <a href="qboxlayout.html#Direction-enum">Direction</a>&nbsp;d, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new QBoxLayout called <em>name</em>, with direction <em>d</em>.
+<p> If <em>spacing</em> is -1, the layout will inherit its parent's
+<a href="qlayout.html#spacing">spacing</a>(); otherwise <em>spacing</em> is used.
+<p> You must insert this box into another layout.
+
+<h3 class=fn><a name="~QBoxLayout"></a>QBoxLayout::~QBoxLayout ()
+</h3>
+Destroys this box layout.
+<p> The layout's widgets aren't destroyed.
+
+<h3 class=fn>void <a name="addItem"></a>QBoxLayout::addItem ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Adds <em>item</em> to the end of this box layout.
+
+<p>Examples: <a href="tutorial2-09.html#x2629">chart/optionsform.cpp</a> and <a href="tutorial2-08.html#x2593">chart/setdataform.cpp</a>.
+<p>Reimplemented from <a href="qlayout.html#addItem">QLayout</a>.
+<h3 class=fn>void <a name="addLayout"></a>QBoxLayout::addLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;layout, int&nbsp;stretch = 0 )
+</h3>
+Adds <em>layout</em> to the end of the box, with serial <a href="layout.html#stretch-factor">stretch factor</a>
+<em>stretch</em>.
+<p> When a layout is constructed with another layout as its parent,
+you don't need to call <a href="#addLayout">addLayout</a>(); the child layout is
+automatically added to the parent layout as it is constructed.
+<p> <p>See also <a href="#insertLayout">insertLayout</a>(), <a href="qlayout.html#setAutoAdd">setAutoAdd</a>(), <a href="#addWidget">addWidget</a>(), and <a href="#addSpacing">addSpacing</a>().
+
+<p>Examples: <a href="tutorial2-09.html#x2630">chart/optionsform.cpp</a>, <a href="tutorial2-08.html#x2594">chart/setdataform.cpp</a>, <a href="simple-font-demo-example.html#x2835">fonts/simple-qfont-demo/viewer.cpp</a>, <a href="listbox-example.html#x1422">listbox/listbox.cpp</a>, <a href="regexptester-example.html#x2469">regexptester/regexptester.cpp</a>, and <a href="tictac-example.html#x19">tictac/tictac.cpp</a>.
+<h3 class=fn>void <a name="addSpacing"></a>QBoxLayout::addSpacing ( int&nbsp;size )
+</h3>
+Adds a non-stretchable space with size <em>size</em> to the end of this
+box layout. QBoxLayout provides default margin and spacing. This
+function adds additional space.
+<p> <p>See also <a href="#insertSpacing">insertSpacing</a>() and <a href="#addStretch">addStretch</a>().
+
+<p>Example: <a href="listbox-example.html#x1423">listbox/listbox.cpp</a>.
+<h3 class=fn>void <a name="addStretch"></a>QBoxLayout::addStretch ( int&nbsp;stretch = 0 )
+</h3>
+Adds a stretchable space with zero minimum size and <a href="layout.html#stretch-factor">stretch factor</a>
+<em>stretch</em> to the end of this box layout.
+<p> <p>See also <a href="#addSpacing">addSpacing</a>().
+
+<p>Examples: <a href="layout-example.html#x528">layout/layout.cpp</a>, <a href="listbox-example.html#x1424">listbox/listbox.cpp</a>, <a href="regexptester-example.html#x2470">regexptester/regexptester.cpp</a>, and <a href="tutorial1-13.html#x2410">t13/gamebrd.cpp</a>.
+<h3 class=fn>void <a name="addStrut"></a>QBoxLayout::addStrut ( int&nbsp;size )
+</h3>
+Limits the perpendicular dimension of the box (e.g. height if the
+box is LeftToRight) to a minimum of <em>size</em>. Other constraints may
+increase the limit.
+
+<h3 class=fn>void <a name="addWidget"></a>QBoxLayout::addWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, int&nbsp;alignment = 0 )
+</h3>
+Adds <em>widget</em> to the end of this box layout, with a <a href="layout.html#stretch-factor">stretch factor</a> of <em>stretch</em> and alignment <em>alignment</em>.
+<p> The stretch factor applies only in the <a href="#direction">direction</a> of the QBoxLayout, and is relative to the other boxes and
+widgets in this QBoxLayout. Widgets and boxes with higher stretch
+factors grow more.
+<p> If the stretch factor is 0 and nothing else in the QBoxLayout has
+a stretch factor greater than zero, the space is distributed
+according to the QWidget:sizePolicy() of each widget that's
+involved.
+<p> Alignment is specified by <em>alignment</em> which is a bitwise OR of <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0, which means
+that the widget fills the entire cell.
+<p> From Qt 3.0, the <em>alignment</em> parameter is interpreted more
+aggressively than in previous versions of Qt. A non-default
+alignment now indicates that the widget should not grow to fill
+the available space, but should be sized according to <a href="#sizeHint">sizeHint</a>().
+<p> <p>See also <a href="#insertWidget">insertWidget</a>(), <a href="qlayout.html#setAutoAdd">setAutoAdd</a>(), <a href="#addLayout">addLayout</a>(), and <a href="#addSpacing">addSpacing</a>().
+
+<p>Examples: <a href="tutorial2-09.html#x2631">chart/optionsform.cpp</a>, <a href="checklists-example.html#x423">checklists/checklists.cpp</a>, <a href="layout-example.html#x529">layout/layout.cpp</a>, <a href="lineedits-example.html#x169">lineedits/lineedits.cpp</a>, <a href="listbox-example.html#x1425">listbox/listbox.cpp</a>, <a href="tutorial1-13.html#x2411">t13/gamebrd.cpp</a>, and <a href="tutorial1-13.html#x2401">t13/lcdrange.cpp</a>.
+<h3 class=fn><a href="qboxlayout.html#Direction-enum">Direction</a> <a name="direction"></a>QBoxLayout::direction () const
+</h3>
+
+<p> Returns the direction of the box. <a href="#addWidget">addWidget</a>() and <a href="#addSpacing">addSpacing</a>()
+work in this direction; the stretch stretches in this direction.
+<p> <p>See also <a href="#Direction-enum">QBoxLayout::Direction</a>, <a href="#addWidget">addWidget</a>(), and <a href="#addSpacing">addSpacing</a>().
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QBoxLayout::expanding () const<tt> [virtual]</tt>
+</h3>
+Returns whether this layout can make use of more space than
+<a href="#sizeHint">sizeHint</a>(). A value of <a href="qt.html#Orientation-enum">Vertical</a> or <a href="qt.html#Orientation-enum">Horizontal</a> means that it wants
+to grow in only one dimension, whereas <tt>BothDirections</tt> means that
+it wants to grow in both dimensions.
+
+<p>Reimplemented from <a href="qlayout.html#expanding">QLayout</a>.
+<h3 class=fn>int <a name="findWidget"></a>QBoxLayout::findWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Searches for widget <em>w</em> in this layout (not including child
+layouts).
+<p> Returns the index of <em>w</em>, or -1 if <em>w</em> is not found.
+
+<h3 class=fn>bool <a name="hasHeightForWidth"></a>QBoxLayout::hasHeightForWidth () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this layout's preferred height depends on its width;
+otherwise returns FALSE.
+
+<p>Reimplemented from <a href="qlayoutitem.html#hasHeightForWidth">QLayoutItem</a>.
+<h3 class=fn>int <a name="heightForWidth"></a>QBoxLayout::heightForWidth ( int&nbsp;w ) const<tt> [virtual]</tt>
+</h3>
+Returns the layout's preferred height when it is <em>w</em> pixels wide.
+
+<p>Reimplemented from <a href="qlayoutitem.html#heightForWidth">QLayoutItem</a>.
+<h3 class=fn>void <a name="insertItem"></a>QBoxLayout::insertItem ( int&nbsp;index, <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item )<tt> [protected]</tt>
+</h3>
+Inserts <em>item</em> into this box layout at position <em>index</em>. If <em>index</em> is negative, the item is added at the end.
+<p> <b>Warning:</b> Does not call QLayout::insertChildLayout() if <em>item</em> is
+a <a href="qlayout.html">QLayout</a>.
+<p> <p>See also <a href="#addItem">addItem</a>() and <a href="#findWidget">findWidget</a>().
+
+<h3 class=fn>void <a name="insertLayout"></a>QBoxLayout::insertLayout ( int&nbsp;index, <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;layout, int&nbsp;stretch = 0 )
+</h3>
+Inserts <em>layout</em> at position <em>index</em>, with <a href="layout.html#stretch-factor">stretch factor</a> <em>stretch</em>. If <em>index</em> is negative, the layout is added at the end.
+<p> <em>layout</em> becomes a child of the box layout.
+<p> <p>See also <a href="qlayout.html#setAutoAdd">setAutoAdd</a>(), <a href="#insertWidget">insertWidget</a>(), and <a href="#insertSpacing">insertSpacing</a>().
+
+<h3 class=fn>void <a name="insertSpacing"></a>QBoxLayout::insertSpacing ( int&nbsp;index, int&nbsp;size )
+</h3>
+Inserts a non-stretchable space at position <em>index</em>, with size <em>size</em>. If <em>index</em> is negative the space is added at the end.
+<p> The box layout has default margin and spacing. This function adds
+additional space.
+<p> <p>See also <a href="#insertStretch">insertStretch</a>().
+
+<h3 class=fn>void <a name="insertStretch"></a>QBoxLayout::insertStretch ( int&nbsp;index, int&nbsp;stretch = 0 )
+</h3>
+Inserts a stretchable space at position <em>index</em>, with zero
+minimum size and <a href="layout.html#stretch-factor">stretch factor</a> <em>stretch</em>. If <em>index</em> is
+negative the space is added at the end.
+<p> <p>See also <a href="#insertSpacing">insertSpacing</a>().
+
+<h3 class=fn>void <a name="insertWidget"></a>QBoxLayout::insertWidget ( int&nbsp;index, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, int&nbsp;alignment = 0 )
+</h3>
+Inserts <em>widget</em> at position <em>index</em>, with <a href="layout.html#stretch-factor">stretch factor</a> <em>stretch</em> and alignment <em>alignment</em>. If <em>index</em> is negative, the
+widget is added at the end.
+<p> The stretch factor applies only in the <a href="#direction">direction</a> of the QBoxLayout, and is relative to the other boxes and
+widgets in this QBoxLayout. Widgets and boxes with higher stretch
+factors grow more.
+<p> If the stretch factor is 0 and nothing else in the QBoxLayout has
+a stretch factor greater than zero, the space is distributed
+according to the QWidget:sizePolicy() of each widget that's
+involved.
+<p> Alignment is specified by <em>alignment</em>, which is a bitwise OR of
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0, which
+means that the widget fills the entire cell.
+<p> From Qt 3.0, the <em>alignment</em> parameter is interpreted more
+aggressively than in previous versions of Qt. A non-default
+alignment now indicates that the widget should not grow to fill
+the available space, but should be sized according to <a href="#sizeHint">sizeHint</a>().
+<p> <p>See also <a href="qlayout.html#setAutoAdd">setAutoAdd</a>(), <a href="#insertLayout">insertLayout</a>(), and <a href="#insertSpacing">insertSpacing</a>().
+
+<h3 class=fn>void <a name="invalidate"></a>QBoxLayout::invalidate ()<tt> [virtual]</tt>
+</h3>
+Resets cached information.
+
+<p>Reimplemented from <a href="qlayout.html#invalidate">QLayout</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QBoxLayout::maximumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the maximum size needed by this box layout.
+
+<p>Reimplemented from <a href="qlayout.html#maximumSize">QLayout</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QBoxLayout::minimumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the minimum size needed by this box layout.
+
+<p>Reimplemented from <a href="qlayout.html#minimumSize">QLayout</a>.
+<h3 class=fn>void <a name="setDirection"></a>QBoxLayout::setDirection ( <a href="qboxlayout.html#Direction-enum">Direction</a>&nbsp;direction )
+</h3>
+Sets the direction of this layout to <em>direction</em>.
+
+<h3 class=fn>void <a name="setGeometry"></a>QBoxLayout::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Resizes managed widgets within the rectangle <em>r</em>.
+
+<p>Reimplemented from <a href="qlayout.html#setGeometry">QLayout</a>.
+<h3 class=fn>bool <a name="setStretchFactor"></a>QBoxLayout::setStretchFactor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;stretch )
+</h3>
+Sets the <a href="layout.html#stretch-factor">stretch factor</a> for widget <em>w</em> to <em>stretch</em> and returns
+TRUE if <em>w</em> is found in this layout (not including child
+layouts); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="setStretchFactor-2"></a>QBoxLayout::setStretchFactor ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;l, int&nbsp;stretch )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the <a href="layout.html#stretch-factor">stretch factor</a> for the layout <em>l</em> to <em>stretch</em> and
+returns TRUE if <em>l</em> is found in this layout (not including child
+layouts); otherwise returns FALSE.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QBoxLayout::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns the preferred size of this box layout.
+
+<p>Reimplemented from <a href="qlayoutitem.html#sizeHint">QLayoutItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbrush-h.html b/doc/html/qbrush-h.html
new file mode 100644
index 0000000..1a36148
--- /dev/null
+++ b/doc/html/qbrush-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbrush.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbrush.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbrush.h</h1>
+
+<p>This is the verbatim text of the qbrush.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbrush.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QBrush class
+**
+** Created : 940112
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBRUSH_H
+#define QBRUSH_H
+
+#ifndef QT_H
+#include "qcolor.h"
+#include "qshared.h"
+#endif // QT_H
+
+
+class Q_EXPORT QBrush: public Qt
+{
+friend class QPainter;
+public:
+ QBrush();
+ QBrush( BrushStyle );
+ QBrush( const QColor &amp;, BrushStyle=SolidPattern );
+ QBrush( const QColor &amp;, const QPixmap &amp; );
+ QBrush( const QBrush &amp; );
+ ~QBrush();
+ QBrush &amp;operator=( const QBrush &amp; );
+
+ BrushStyle style() const { return data-&gt;style; }
+ void setStyle( BrushStyle );
+ const QColor &amp;color()const { return data-&gt;color; }
+ void setColor( const QColor &amp; );
+ QPixmap *pixmap() const { return data-&gt;pixmap; }
+ void setPixmap( const QPixmap &amp; );
+
+ bool operator==( const QBrush &amp;p ) const;
+ bool operator!=( const QBrush &amp;b ) const
+ { return !(operator==(b)); }
+
+private:
+ QBrush copy() const;
+ void detach();
+ void init( const QColor &amp;, BrushStyle );
+ struct QBrushData : public QShared { // brush data
+ BrushStyle style;
+ QColor color;
+ QPixmap *pixmap;
+ } *data;
+};
+
+
+/*****************************************************************************
+ QBrush stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QBrush &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QBrush &amp; );
+#endif
+
+#endif // QBRUSH_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbrush-members.html b/doc/html/qbrush-members.html
new file mode 100644
index 0000000..e25b13d
--- /dev/null
+++ b/doc/html/qbrush-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbrush.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBrush Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBrush</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbrush.html">QBrush</a>, including inherited members.
+
+<ul>
+<li><a href="qbrush.html#QBrush">QBrush</a>()
+<li><a href="qbrush.html#~QBrush">~QBrush</a>()
+<li><a href="qbrush.html#color">color</a>()
+<li><a href="qbrush.html#operator!-eq">operator!=</a>()
+<li><a href="qbrush.html#operator-eq">operator=</a>()
+<li><a href="qbrush.html#operator-eq-eq">operator==</a>()
+<li><a href="qbrush.html#pixmap">pixmap</a>()
+<li><a href="qbrush.html#setColor">setColor</a>()
+<li><a href="qbrush.html#setPixmap">setPixmap</a>()
+<li><a href="qbrush.html#setStyle">setStyle</a>()
+<li><a href="qbrush.html#style">style</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbrush.html b/doc/html/qbrush.html
new file mode 100644
index 0000000..38827be
--- /dev/null
+++ b/doc/html/qbrush.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpainter.cpp:3567 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBrush Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBrush Class Reference</h1>
+
+<p>The QBrush class defines the fill pattern of shapes drawn by a QPainter.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbrush-h.html">qbrush.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qbrush-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QBrush"><b>QBrush</b></a> ()</li>
+<li class=fn><a href="#QBrush-2"><b>QBrush</b></a> ( BrushStyle&nbsp;style )</li>
+<li class=fn><a href="#QBrush-3"><b>QBrush</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color, BrushStyle&nbsp;style = SolidPattern )</li>
+<li class=fn><a href="#QBrush-4"><b>QBrush</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn><a href="#QBrush-5"><b>QBrush</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn><a href="#~QBrush"><b>~QBrush</b></a> ()</li>
+<li class=fn>QBrush &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>BrushStyle <a href="#style"><b>style</b></a> () const</li>
+<li class=fn>void <a href="#setStyle"><b>setStyle</b></a> ( BrushStyle&nbsp;s )</li>
+<li class=fn>const QColor &amp; <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;b ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;b ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QBrush&nbsp;&amp;&nbsp;b )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QBrush class defines the fill pattern of shapes drawn by a <a href="qpainter.html">QPainter</a>.
+<p>
+
+
+<p> A brush has a style and a color. One of the brush styles is a
+custom pattern, which is defined by a <a href="qpixmap.html">QPixmap</a>.
+<p> The brush style defines the fill pattern. The default brush style
+is <a href="qt.html#BrushStyle-enum">NoBrush</a> (depending on how you construct a brush). This style
+tells the painter to not fill shapes. The standard style for
+filling is <a href="qt.html#BrushStyle-enum">SolidPattern</a>.
+<p> The brush color defines the color of the fill pattern. The <a href="qcolor.html">QColor</a>
+documentation lists the predefined colors.
+<p> Use the <a href="qpen.html">QPen</a> class for specifying line/outline styles.
+<p> Example:
+<pre>
+ <a href="qpainter.html">QPainter</a> painter;
+ QBrush brush( yellow ); // yellow solid pattern
+ painter.<a href="qpainter.html#begin">begin</a>( &amp;anyPaintDevice ); // paint something
+ painter.<a href="qpainter.html#setBrush">setBrush</a>( brush ); // set the yellow brush
+ painter.<a href="qpainter.html#setPen">setPen</a>( <a href="qt.html#PenStyle-enum">NoPen</a> ); // do not draw outline
+ painter.<a href="qpainter.html#drawRect">drawRect</a>( 40,30, 200,100 ); // draw filled rectangle
+ painter.<a href="qpainter.html#setBrush">setBrush</a>( <a href="qt.html#BrushStyle-enum">NoBrush</a> ); // do not fill
+ painter.<a href="qpainter.html#setPen">setPen</a>( black ); // set black pen, 0 pixel width
+ painter.<a href="qpainter.html#drawRect">drawRect</a>( 10,10, 30,20 ); // draw rectangle outline
+ painter.<a href="qpainter.html#end">end</a>(); // painting done
+ </pre>
+
+<p> See the <a href="#setStyle">setStyle</a>() function for a complete list of brush styles.
+<p> <center><img src="brush-styles.png" alt="Brush Styles"></center>
+<p> <p>See also <a href="qpainter.html">QPainter</a>, <a href="qpainter.html#setBrush">QPainter::setBrush</a>(), <a href="qpainter.html#setBrushOrigin">QPainter::setBrushOrigin</a>(), <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBrush"></a>QBrush::QBrush ()
+</h3>
+Constructs a default black brush with the style <a href="qt.html#BrushStyle-enum">NoBrush</a> (will
+not fill shapes).
+
+<h3 class=fn><a name="QBrush-2"></a>QBrush::QBrush ( <a href="qt.html#BrushStyle-enum">BrushStyle</a>&nbsp;style )
+</h3>
+Constructs a black brush with the style <em>style</em>.
+<p> <p>See also <a href="#setStyle">setStyle</a>().
+
+<h3 class=fn><a name="QBrush-3"></a>QBrush::QBrush ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color, <a href="qt.html#BrushStyle-enum">BrushStyle</a>&nbsp;style = SolidPattern )
+</h3>
+Constructs a brush with the color <em>color</em> and the style <em>style</em>.
+<p> <p>See also <a href="#setColor">setColor</a>() and <a href="#setStyle">setStyle</a>().
+
+<h3 class=fn><a name="QBrush-4"></a>QBrush::QBrush ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Constructs a brush with the color <em>color</em> and a custom pattern
+stored in <em>pixmap</em>.
+<p> The color will only have an effect for monochrome pixmaps, i.e.
+for <a href="qpixmap.html#depth">QPixmap::depth</a>() == 1.
+<p> Pixmap brushes are currently not supported when printing on X11.
+<p> <p>See also <a href="#setColor">setColor</a>() and <a href="#setPixmap">setPixmap</a>().
+
+<h3 class=fn><a name="QBrush-5"></a>QBrush::QBrush ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+Constructs a brush that is a <a href="shclass.html">shallow
+ copy</a> of <em>b</em>.
+
+<h3 class=fn><a name="~QBrush"></a>QBrush::~QBrush ()
+</h3>
+Destroys the brush.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="color"></a>QBrush::color () const
+</h3>
+
+<p> Returns the brush color.
+<p> <p>See also <a href="#setColor">setColor</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QBrush::operator!= ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b ) const
+</h3>
+
+<p> Returns TRUE if the brush is different from <em>b</em>; otherwise
+returns FALSE.
+<p> Two brushes are different if they have different styles, colors or
+pixmaps.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn><a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="operator-eq"></a>QBrush::operator= ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+Assigns <em>b</em> to this brush and returns a reference to this brush.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QBrush::operator== ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b ) const
+</h3>
+Returns TRUE if the brush is equal to <em>b</em>; otherwise returns
+FALSE.
+<p> Two brushes are equal if they have equal styles, colors and
+pixmaps.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QBrush::pixmap () const
+</h3>
+
+<p> Returns a pointer to the custom brush pattern, or 0 if no custom
+brush pattern has been set.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>().
+
+<p>Example: <a href="richtext-example.html#x460">richtext/richtext.cpp</a>.
+<h3 class=fn>void <a name="setColor"></a>QBrush::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the brush color to <em>c</em>.
+<p> <p>See also <a href="#color">color</a>() and <a href="#setStyle">setStyle</a>().
+
+<p>Example: <a href="picture-example.html#x108">picture/picture.cpp</a>.
+<h3 class=fn>void <a name="setPixmap"></a>QBrush::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Sets the brush pixmap to <em>pixmap</em>. The style is set to <a href="qt.html#BrushStyle-enum">CustomPattern</a>.
+<p> The current brush color will only have an effect for monochrome
+pixmaps, i.e. for <a href="qpixmap.html#depth">QPixmap::depth</a>() == 1.
+<p> Pixmap brushes are currently not supported when printing on X11.
+<p> <p>See also <a href="#pixmap">pixmap</a>() and <a href="#color">color</a>().
+
+<p>Example: <a href="richtext-example.html#x461">richtext/richtext.cpp</a>.
+<h3 class=fn>void <a name="setStyle"></a>QBrush::setStyle ( <a href="qt.html#BrushStyle-enum">BrushStyle</a>&nbsp;s )
+</h3>
+Sets the brush style to <em>s</em>.
+<p> The brush styles are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Pattern <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">NoBrush <td valign="top">will not fill shapes (default).
+<tr bgcolor="#d0d0d0"> <td valign="top">SolidPattern <td valign="top">solid (100%) fill pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">Dense1Pattern <td valign="top" colspan="1" rowspan="1"> 94% fill pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">Dense2Pattern <td valign="top" colspan="1" rowspan="1"> 88% fill pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">Dense3Pattern <td valign="top" colspan="1" rowspan="1"> 63% fill pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">Dense4Pattern <td valign="top" colspan="1" rowspan="1"> 50% fill pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">Dense5Pattern <td valign="top" colspan="1" rowspan="1"> 37% fill pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">Dense6Pattern <td valign="top" colspan="1" rowspan="1"> 12% fill pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">Dense7Pattern <td valign="top" colspan="1" rowspan="1"> 6% fill pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">HorPattern <td valign="top">horizontal lines pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">VerPattern <td valign="top">vertical lines pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">CrossPattern <td valign="top">crossing lines pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">BDiagPattern <td valign="top">diagonal lines (directed /) pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">FDiagPattern <td valign="top">diagonal lines (directed &#92;) pattern.
+<tr bgcolor="#f0f0f0"> <td valign="top">DiagCrossPattern <td valign="top">diagonal crossing lines pattern.
+<tr bgcolor="#d0d0d0"> <td valign="top">CustomPattern <td valign="top">set when a pixmap pattern is being used.
+</table></center>
+<p> On Windows, dense and custom patterns cannot be transparent.
+<p> See the <a href="#details">Detailed Description</a> for a picture
+of all the styles.
+<p> <p>See also <a href="#style">style</a>().
+
+<h3 class=fn><a href="qt.html#BrushStyle-enum">BrushStyle</a> <a name="style"></a>QBrush::style () const
+</h3>
+
+<p> Returns the brush style.
+<p> <p>See also <a href="#setStyle">setStyle</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+
+<p> Writes the brush <em>b</em> to the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+
+<p> Reads the brush <em>b</em> from the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbttngrp-m.png b/doc/html/qbttngrp-m.png
new file mode 100644
index 0000000..fd77647
--- /dev/null
+++ b/doc/html/qbttngrp-m.png
Binary files differ
diff --git a/doc/html/qbttngrp-w.png b/doc/html/qbttngrp-w.png
new file mode 100644
index 0000000..fdbc76f
--- /dev/null
+++ b/doc/html/qbttngrp-w.png
Binary files differ
diff --git a/doc/html/qbuffer-h.html b/doc/html/qbuffer-h.html
new file mode 100644
index 0000000..d79a68c
--- /dev/null
+++ b/doc/html/qbuffer-h.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbuffer.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbuffer.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbuffer.h</h1>
+
+<p>This is the verbatim text of the qbuffer.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbuffer.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QBuffer class
+**
+** Created : 930812
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBUFFER_H
+#define QBUFFER_H
+
+#ifndef QT_H
+#include "qiodevice.h"
+#include "qstring.h"
+#endif // QT_H
+
+
+class Q_EXPORT QBuffer : public QIODevice
+{
+public:
+ QBuffer();
+ QBuffer( QByteArray );
+ ~QBuffer();
+
+ QByteArray buffer() const;
+ bool setBuffer( QByteArray );
+
+ bool open( int );
+ void close();
+ void flush();
+
+ Offset size() const;
+ Offset at() const;
+ bool at( Offset );
+
+ Q_LONG readBlock( char *p, Q_ULONG );
+ Q_LONG writeBlock( const char *p, Q_ULONG );
+ Q_LONG writeBlock( const QByteArray&amp; data )
+ { return QIODevice::writeBlock(data); }
+ Q_LONG readLine( char *p, Q_ULONG );
+
+ int getch();
+ int putch( int );
+ int ungetch( int );
+
+protected:
+ QByteArray a;
+
+private:
+ uint a_len;
+ uint a_inc;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QBuffer( const QBuffer &amp; );
+ QBuffer &amp;operator=( const QBuffer &amp; );
+#endif
+};
+
+
+inline QByteArray QBuffer::buffer() const
+{ return a; }
+
+inline QIODevice::Offset QBuffer::size() const
+{ return (Offset)a.size(); }
+
+inline QIODevice::Offset QBuffer::at() const
+{ return ioIndex; }
+
+
+#endif // QBUFFER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbuffer-members.html b/doc/html/qbuffer-members.html
new file mode 100644
index 0000000..22aeb15
--- /dev/null
+++ b/doc/html/qbuffer-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbuffer.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBuffer Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QBuffer</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbuffer.html">QBuffer</a>, including inherited members.
+
+<ul>
+<li><a href="qbuffer.html#QBuffer">QBuffer</a>()
+<li><a href="qbuffer.html#~QBuffer">~QBuffer</a>()
+<li><a href="qiodevice.html#at">at</a>()
+<li><a href="qiodevice.html#atEnd">atEnd</a>()
+<li><a href="qbuffer.html#buffer">buffer</a>()
+<li><a href="qiodevice.html#close">close</a>()
+<li><a href="qiodevice.html#flags">flags</a>()
+<li><a href="qiodevice.html#flush">flush</a>()
+<li><a href="qiodevice.html#getch">getch</a>()
+<li><a href="qiodevice.html#isAsynchronous">isAsynchronous</a>()
+<li><a href="qiodevice.html#isBuffered">isBuffered</a>()
+<li><a href="qiodevice.html#isCombinedAccess">isCombinedAccess</a>()
+<li><a href="qiodevice.html#isDirectAccess">isDirectAccess</a>()
+<li><a href="qiodevice.html#isInactive">isInactive</a>()
+<li><a href="qiodevice.html#isOpen">isOpen</a>()
+<li><a href="qiodevice.html#isRaw">isRaw</a>()
+<li><a href="qiodevice.html#isReadWrite">isReadWrite</a>()
+<li><a href="qiodevice.html#isReadable">isReadable</a>()
+<li><a href="qiodevice.html#isSequentialAccess">isSequentialAccess</a>()
+<li><a href="qiodevice.html#isSynchronous">isSynchronous</a>()
+<li><a href="qiodevice.html#isTranslated">isTranslated</a>()
+<li><a href="qiodevice.html#isWritable">isWritable</a>()
+<li><a href="qiodevice.html#mode">mode</a>()
+<li><a href="qiodevice.html#open">open</a>()
+<li><a href="qiodevice.html#putch">putch</a>()
+<li><a href="qiodevice.html#readAll">readAll</a>()
+<li><a href="qiodevice.html#readBlock">readBlock</a>()
+<li><a href="qiodevice.html#readLine">readLine</a>()
+<li><a href="qiodevice.html#reset">reset</a>()
+<li><a href="qiodevice.html#resetStatus">resetStatus</a>()
+<li><a href="qbuffer.html#setBuffer">setBuffer</a>()
+<li><a href="qiodevice.html#setFlags">setFlags</a>()
+<li><a href="qiodevice.html#setMode">setMode</a>()
+<li><a href="qiodevice.html#setState">setState</a>()
+<li><a href="qiodevice.html#setStatus">setStatus</a>()
+<li><a href="qiodevice.html#setType">setType</a>()
+<li><a href="qiodevice.html#size">size</a>()
+<li><a href="qiodevice.html#state">state</a>()
+<li><a href="qiodevice.html#status">status</a>()
+<li><a href="qiodevice.html#ungetch">ungetch</a>()
+<li><a href="qbuffer.html#writeBlock">writeBlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbuffer.html b/doc/html/qbuffer.html
new file mode 100644
index 0000000..9c98c9c
--- /dev/null
+++ b/doc/html/qbuffer.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qbuffer.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QBuffer Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QBuffer Class Reference</h1>
+
+<p>The QBuffer class is an I/O device that operates on a QByteArray.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qbuffer-h.html">qbuffer.h</a>&gt;</tt>
+<p>Inherits <a href="qiodevice.html">QIODevice</a>.
+<p><a href="qbuffer-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QBuffer"><b>QBuffer</b></a> ()</li>
+<li class=fn><a href="#QBuffer-2"><b>QBuffer</b></a> ( QByteArray&nbsp;buf )</li>
+<li class=fn><a href="#~QBuffer"><b>~QBuffer</b></a> ()</li>
+<li class=fn>QByteArray <a href="#buffer"><b>buffer</b></a> () const</li>
+<li class=fn>bool <a href="#setBuffer"><b>setBuffer</b></a> ( QByteArray&nbsp;buf )</li>
+<li class=fn>virtual Q_LONG <a href="#writeBlock"><b>writeBlock</b></a> ( const&nbsp;char&nbsp;*&nbsp;p, Q_ULONG&nbsp;len )</li>
+<li class=fn>Q_LONG <a href="#writeBlock-2"><b>writeBlock</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QBuffer class is an I/O device that operates on a <a href="qbytearray.html">QByteArray</a>.
+<p>
+
+<p> QBuffer is used to read and write to a memory buffer. It is
+normally used with a <a href="qtextstream.html">QTextStream</a> or a <a href="qdatastream.html">QDataStream</a>. QBuffer has an
+associated QByteArray which holds the buffer data. The <a href="qiodevice.html#size">size</a>() of
+the buffer is automatically adjusted as data is written.
+<p> The constructor <tt>QBuffer(QByteArray)</tt> creates a QBuffer using an
+existing byte array. The byte array can also be set with
+<a href="#setBuffer">setBuffer</a>(). Writing to the QBuffer will modify the original byte
+array because QByteArray is <a href="shclass.html">explicitly
+ shared.</a>
+<p> Use <a href="qiodevice.html#open">open</a>() to open the buffer before use and to set the mode
+(read-only, write-only, etc.). <a href="qiodevice.html#close">close</a>() closes the buffer. The
+buffer must be closed before reopening or calling setBuffer().
+<p> A common way to use QBuffer is through <a href="qdatastream.html">QDataStream</a> or <a href="qtextstream.html">QTextStream</a>, which have constructors that take a QBuffer
+parameter. For convenience, there are also QDataStream and
+<a href="qtextstream.html">QTextStream</a> constructors that take a <a href="qbytearray.html">QByteArray</a> parameter. These
+constructors create and open an internal QBuffer.
+<p> Note that QTextStream can also operate on a <a href="qstring.html">QString</a> (a Unicode
+string); a QBuffer cannot.
+<p> You can also use QBuffer directly through the standard <a href="qiodevice.html">QIODevice</a>
+functions <a href="qiodevice.html#readBlock">readBlock</a>(), <a href="#writeBlock">writeBlock</a>() <a href="qiodevice.html#readLine">readLine</a>(), <a href="qiodevice.html#at">at</a>(), <a href="qiodevice.html#getch">getch</a>(),
+<a href="qiodevice.html#putch">putch</a>() and <a href="qiodevice.html#ungetch">ungetch</a>().
+<p> <p>See also <a href="qfile.html">QFile</a>, <a href="qdatastream.html">QDataStream</a>, <a href="qtextstream.html">QTextStream</a>, <a href="qbytearray.html">QByteArray</a>, <a href="shclass.html">Shared Classes</a>, <a href="collection.html">Collection Classes</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QBuffer"></a>QBuffer::QBuffer ()
+</h3>
+Constructs an empty buffer.
+
+<h3 class=fn><a name="QBuffer-2"></a>QBuffer::QBuffer ( <a href="qbytearray.html">QByteArray</a>&nbsp;buf )
+</h3>
+Constructs a buffer that operates on <em>buf</em>.
+<p> If you open the buffer in write mode (<a href="qfile.html#open"><a href="qfile.html#open">IO_WriteOnly</a></a> or
+<a href="qfile.html#open">IO_ReadWrite</a>) and write something into the buffer, <em>buf</em>
+will be modified.
+<p> Example:
+<pre>
+ <a href="qcstring.html">QCString</a> str = "abc";
+ QBuffer b( str );
+ b.<a href="qiodevice.html#open">open</a>( IO_WriteOnly );
+ b.<a href="qiodevice.html#at">at</a>( 3 ); // position at the 4th character (the terminating \0)
+ b.<a href="#writeBlock">writeBlock</a>( "def", 4 ); // write "def" including the terminating \0
+ b.<a href="qiodevice.html#close">close</a>();
+ // Now, str == "abcdef" with a terminating \0
+ </pre>
+
+<p> <p>See also <a href="#setBuffer">setBuffer</a>().
+
+<h3 class=fn><a name="~QBuffer"></a>QBuffer::~QBuffer ()
+</h3>
+Destroys the buffer.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="buffer"></a>QBuffer::buffer () const
+</h3>
+
+<p> Returns this buffer's byte array.
+<p> <p>See also <a href="#setBuffer">setBuffer</a>().
+
+<h3 class=fn>bool <a name="setBuffer"></a>QBuffer::setBuffer ( <a href="qbytearray.html">QByteArray</a>&nbsp;buf )
+</h3>
+Replaces the buffer's contents with <em>buf</em> and returns TRUE.
+<p> Does nothing (and returns FALSE) if <a href="qiodevice.html#isOpen">isOpen</a>() is TRUE.
+<p> Note that if you open the buffer in write mode (<a href="qfile.html#open"><a href="qfile.html#open">IO_WriteOnly</a></a> or
+<a href="qfile.html#open">IO_ReadWrite</a>) and write something into the buffer, <em>buf</em> is also
+modified because <a href="qbytearray.html">QByteArray</a> is an <a href="shclass.html#explicitly-shared">explicitly shared</a> class.
+<p> <p>See also <a href="#buffer">buffer</a>(), <a href="qiodevice.html#open">open</a>(), and <a href="qiodevice.html#close">close</a>().
+
+<h3 class=fn>Q_LONG <a name="writeBlock"></a>QBuffer::writeBlock ( const&nbsp;char&nbsp;*&nbsp;p, Q_ULONG&nbsp;len )<tt> [virtual]</tt>
+</h3>
+Writes <em>len</em> bytes from <em>p</em> into the buffer at the current
+index position, overwriting any characters there and extending the
+buffer if necessary. Returns the number of bytes actually written.
+<p> Returns -1 if an error occurred.
+<p> <p>See also <a href="qiodevice.html#readBlock">readBlock</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#writeBlock">QIODevice</a>.
+<h3 class=fn>Q_LONG <a name="writeBlock-2"></a>QBuffer::writeBlock ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This convenience function is the same as calling
+<tt>writeBlock( data.data(), data.size() )</tt> with <em>data</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbutton-h.html b/doc/html/qbutton-h.html
new file mode 100644
index 0000000..a6ef981
--- /dev/null
+++ b/doc/html/qbutton-h.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbutton.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbutton.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbutton.h</h1>
+
+<p>This is the verbatim text of the qbutton.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbutton.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QButton widget class
+**
+** Created : 940206
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBUTTON_H
+#define QBUTTON_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qkeysequence.h"
+#endif // QT_H
+
+#ifndef QT_NO_BUTTON
+
+
+class QButtonGroup;
+class QToolBar;
+class QButtonData;
+
+class Q_EXPORT QButton : public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( ToggleType ToggleState )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( QPixmap pixmap READ pixmap WRITE setPixmap )
+ Q_PROPERTY( QKeySequence accel READ accel WRITE setAccel )
+ Q_PROPERTY( bool toggleButton READ isToggleButton )
+ Q_PROPERTY( ToggleType toggleType READ toggleType )
+ Q_PROPERTY( bool down READ isDown WRITE setDown DESIGNABLE false )
+ Q_PROPERTY( bool on READ isOn )
+ Q_PROPERTY( ToggleState toggleState READ state )
+ Q_PROPERTY( bool autoResize READ autoResize WRITE setAutoResize DESIGNABLE false )
+ Q_PROPERTY( bool autoRepeat READ autoRepeat WRITE setAutoRepeat )
+ Q_PROPERTY( bool exclusiveToggle READ isExclusiveToggle )
+
+public:
+ QButton( QWidget* parent=0, const char* name=0, WFlags f=0 );
+ ~QButton();
+
+ QString text() const;
+ virtual void setText( const QString &amp;);
+ const QPixmap *pixmap() const;
+ virtual void setPixmap( const QPixmap &amp; );
+
+#ifndef QT_NO_ACCEL
+ QKeySequence accel() const;
+ virtual void setAccel( const QKeySequence&amp; );
+#endif
+
+ bool isToggleButton() const;
+
+ enum ToggleType { SingleShot, Toggle, Tristate };
+ ToggleType toggleType() const;
+
+ virtual void setDown( bool );
+ bool isDown() const;
+
+ bool isOn() const;
+
+ enum ToggleState { Off, NoChange, On };
+ ToggleState state() const;
+
+#ifndef QT_NO_COMPAT
+ bool autoResize() const;
+ void setAutoResize( bool );
+#endif
+
+ bool autoRepeat() const;
+ virtual void setAutoRepeat( bool );
+ bool isExclusiveToggle() const;
+
+ QButtonGroup *group() const;
+
+public slots:
+ void animateClick();
+ void toggle();
+
+signals:
+ void pressed();
+ void released();
+ void clicked();
+ void toggled( bool );
+ void stateChanged( int );
+
+protected:
+ void setToggleButton( bool );
+ virtual void setToggleType( ToggleType );
+ void setOn( bool );
+ virtual void setState( ToggleState );
+
+ virtual bool hitButton( const QPoint &amp;pos ) const;
+ virtual void drawButton( QPainter * );
+ virtual void drawButtonLabel( QPainter * );
+
+ void keyPressEvent( QKeyEvent *);
+ void keyReleaseEvent( QKeyEvent *);
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void paintEvent( QPaintEvent * );
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+
+ void enabledChange( bool );
+
+private slots:
+ void animateTimeout();
+ void autoRepeatTimeout();
+ void emulateClick();
+
+private:
+ QString btext;
+ QPixmap *bpixmap;
+ uint toggleTyp : 2;
+ uint buttonDown : 1;
+ uint stat : 2;
+ uint mlbDown : 1;
+ uint autoresize : 1;
+ uint animation : 1;
+ uint repeat : 1;
+ QButtonData *d;
+
+ friend class QButtonGroup;
+ friend class QToolBar;
+ void ensureData();
+ virtual void setGroup( QButtonGroup* );
+ QTimer *timer();
+ void nextState();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QButton( const QButton &amp; );
+ QButton &amp;operator=( const QButton &amp; );
+#endif
+};
+
+
+inline QString QButton::text() const
+{
+ return btext;
+}
+
+inline const QPixmap *QButton::pixmap() const
+{
+ return bpixmap;
+}
+
+inline bool QButton::isToggleButton() const
+{
+ return toggleTyp != SingleShot;
+}
+
+inline bool QButton::isDown() const
+{
+ return buttonDown;
+}
+
+inline bool QButton::isOn() const
+{
+ return stat != Off;
+}
+
+#ifndef QT_NO_COMPAT
+inline bool QButton::autoResize() const
+{
+ return autoresize;
+}
+#endif
+
+inline bool QButton::autoRepeat() const
+{
+ return repeat;
+}
+
+inline QButton::ToggleState QButton::state() const
+{
+ return ToggleState(stat);
+}
+
+inline void QButton::setToggleButton( bool b )
+{
+ setToggleType( b ? Toggle : SingleShot );
+}
+
+inline void QButton::setOn( bool y )
+{
+ setState( y ? On : Off );
+}
+
+inline QButton::ToggleType QButton::toggleType() const
+{
+ return ToggleType(toggleTyp);
+}
+
+
+#endif // QT_NO_BUTTON
+
+#endif // QBUTTON_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbutton-members.html b/doc/html/qbutton-members.html
new file mode 100644
index 0000000..57f12df
--- /dev/null
+++ b/doc/html/qbutton-members.html
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbutton.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QButton Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QButton</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbutton.html">QButton</a>, including inherited members.
+
+<ul>
+<li><a href="qbutton.html#QButton">QButton</a>()
+<li><a href="qbutton.html#~QButton">~QButton</a>()
+<li><a href="qbutton.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qbutton.html#animateClick">animateClick</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qbutton.html#autoRepeat">autoRepeat</a>()
+<li><a href="qbutton.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbutton.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qbutton.html#drawButton">drawButton</a>()
+<li><a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qbutton.html#group">group</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qbutton.html#hitButton">hitButton</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qbutton.html#isDown">isDown</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbutton.html#isExclusiveToggle">isExclusiveToggle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qbutton.html#isOn">isOn</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qbutton.html#isToggleButton">isToggleButton</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qbutton.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qbutton.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbutton.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbutton.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qbutton.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()
+<li><a href="qbutton.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qbutton.html#setDown">setDown</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qbutton.html#setOn">setOn</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qbutton.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qbutton.html#setState">setState</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qbutton.html#setText">setText</a>()
+<li><a href="qbutton.html#setToggleButton">setToggleButton</a>()
+<li><a href="qbutton.html#setToggleType">setToggleType</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qbutton.html#state">state</a>()
+<li><a href="qbutton.html#stateChanged">stateChanged</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qbutton.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qbutton.html#toggle">toggle</a>()
+<li><a href="qbutton.html#toggleType">toggleType</a>()
+<li><a href="qbutton.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbutton.html b/doc/html/qbutton.html
new file mode 100644
index 0000000..fffa3e3
--- /dev/null
+++ b/doc/html/qbutton.html
@@ -0,0 +1,477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qbutton.cpp:126 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QButton Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QButton Class Reference</h1>
+
+<p>The QButton class is the abstract base class of button
+widgets, providing functionality common to buttons.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbutton-h.html">qbutton.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p>Inherited by <a href="qcheckbox.html">QCheckBox</a>, <a href="qpushbutton.html">QPushButton</a>, <a href="qradiobutton.html">QRadioButton</a>, and <a href="qtoolbutton.html">QToolButton</a>.
+<p><a href="qbutton-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QButton"><b>QButton</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QButton"><b>~QButton</b></a> ()</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const QKeySequence &amp; )</li>
+<li class=fn>bool <a href="#isToggleButton"><b>isToggleButton</b></a> () const</li>
+<li class=fn>enum <a href="#ToggleType-enum"><b>ToggleType</b></a> { SingleShot, Toggle, Tristate }</li>
+<li class=fn>ToggleType <a href="#toggleType"><b>toggleType</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDown"><b>setDown</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isDown"><b>isDown</b></a> () const</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>enum <a href="#ToggleState-enum"><b>ToggleState</b></a> { Off, NoChange, On }</li>
+<li class=fn>ToggleState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool autoResize () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setAutoResize ( bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#autoRepeat"><b>autoRepeat</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoRepeat"><b>setAutoRepeat</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isExclusiveToggle"><b>isExclusiveToggle</b></a> () const</li>
+<li class=fn>QButtonGroup * <a href="#group"><b>group</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#animateClick"><b>animateClick</b></a> ()</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ()</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ()</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ()</li>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QKeySequence <a href="#accel-prop"><b>accel</b></a>&nbsp;- the accelerator associated with the button</li>
+<li class=fn>bool <a href="#autoRepeat-prop"><b>autoRepeat</b></a>&nbsp;- whether autoRepeat is enabled</li>
+<li class=fn>bool autoResize&nbsp;- whether autoResize is enabled &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#down-prop"><b>down</b></a>&nbsp;- whether the button is pressed</li>
+<li class=fn>bool <a href="#exclusiveToggle-prop"><b>exclusiveToggle</b></a>&nbsp;- whether the button is an exclusive toggle &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#on-prop"><b>on</b></a>&nbsp;- whether the button is toggled &nbsp;<em>(read only)</em></li>
+<li class=fn>QPixmap <a href="#pixmap-prop"><b>pixmap</b></a>&nbsp;- the pixmap shown on the button</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the text shown on the button</li>
+<li class=fn>bool <a href="#toggleButton-prop"><b>toggleButton</b></a>&nbsp;- whether the button is a toggle button &nbsp;<em>(read only)</em></li>
+<li class=fn>ToggleState <a href="#toggleState-prop"><b>toggleState</b></a>&nbsp;- the state of the toggle button &nbsp;<em>(read only)</em></li>
+<li class=fn>ToggleType <a href="#toggleType-prop"><b>toggleType</b></a>&nbsp;- the type of toggle on the button &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setToggleButton"><b>setToggleButton</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setToggleType"><b>setToggleType</b></a> ( ToggleType&nbsp;type )</li>
+<li class=fn>void <a href="#setOn"><b>setOn</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual void <a href="#setState"><b>setState</b></a> ( ToggleState&nbsp;s )</li>
+<li class=fn>virtual bool <a href="#hitButton"><b>hitButton</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>virtual void <a href="#drawButton"><b>drawButton</b></a> ( QPainter * )</li>
+<li class=fn>virtual void <a href="#drawButtonLabel"><b>drawButtonLabel</b></a> ( QPainter * )</li>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent * )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QButton class is the abstract base class of button
+widgets, providing functionality common to buttons.
+<p>
+<p> <b>If you want to create a button use <a href="qpushbutton.html">QPushButton</a>.</b>
+<p> The QButton class implements an <em>abstract</em> button, and lets
+subclasses specify how to reply to user actions and how to draw
+the button.
+<p> QButton provides both push and toggle buttons. The <a href="qradiobutton.html">QRadioButton</a>
+and <a href="qcheckbox.html">QCheckBox</a> classes provide only toggle buttons; QPushButton and
+<a href="qtoolbutton.html">QToolButton</a> provide both toggle and push buttons.
+<p> Any button can have either a text or pixmap label. <a href="#setText">setText</a>() sets
+the button to be a text button and <a href="#setPixmap">setPixmap</a>() sets it to be a
+pixmap button. The text/pixmap is manipulated as necessary to
+create the "disabled" appearance when the button is disabled.
+<p> QButton provides most of the states used for buttons:
+<ul>
+<li> <a href="#isDown">isDown</a>() indicates whether the button is <em>pressed</em> down.
+<li> <a href="#isOn">isOn</a>() indicates whether the button is <em>on</em>.
+Only toggle buttons can be switched on and off (see below).
+<li> <a href="qwidget.html#isEnabled">isEnabled</a>() indicates whether the button can be pressed by the
+user.
+<li> <a href="#setAutoRepeat">setAutoRepeat</a>() sets whether the button will auto-repeat
+if the user holds it down.
+<li> <a href="#setToggleButton">setToggleButton</a>() sets whether the button is a toggle
+button or not.
+</ul>
+<p> The difference between isDown() and isOn() is as follows: When the
+user clicks a toggle button to toggle it on, the button is first
+<em>pressed</em> and then released into the <em>on</em> state. When the user
+clicks it again (to toggle it off), the button moves first to the
+<em>pressed</em> state, then to the <em>off</em> state (isOn() and isDown()
+are both FALSE).
+<p> Default buttons (as used in many dialogs) are provided by
+<a href="qpushbutton.html#setDefault">QPushButton::setDefault</a>() and <a href="qpushbutton.html#setAutoDefault">QPushButton::setAutoDefault</a>().
+<p> QButton provides five signals:
+<ol type=1>
+<li> <a href="#pressed">pressed</a>() is emitted when the button is pressed. E.g. with the mouse
+or when <a href="#animateClick">animateClick</a>() is called.
+<li> <a href="#released">released</a>() is emitted when the button is released. E.g. when the mouse
+is released or the cursor is moved outside the widget.
+<li> <a href="#clicked">clicked</a>() is emitted when the button is first pressed and then
+released when the accelerator key is typed, or when
+animateClick() is called.
+<li> <a href="#toggled">toggled</a>(bool) is emitted when the state of a toggle button changes.
+<li> <a href="#stateChanged">stateChanged</a>(int) is emitted when the state of a tristate
+toggle button changes.
+</ol>
+<p> If the button is a text button with an ampersand (&amp;) in its text,
+QButton creates an automatic accelerator key. This code creates a
+push button labelled "Ro<u>c</u>k &amp; Roll" (where the c is
+underlined). The button gets an automatic accelerator key, Alt+C:
+<p> <pre>
+ <a href="qpushbutton.html">QPushButton</a> *p = new <a href="qpushbutton.html">QPushButton</a>( "Ro&amp;ck &amp;&amp; Roll", this );
+ </pre>
+
+<p> In this example, when the user presses Alt+C the button will call
+<a href="#animateClick">animateClick</a>().
+<p> You can also set a custom accelerator using the <a href="#setAccel">setAccel</a>()
+function. This is useful mostly for pixmap buttons because they
+have no automatic accelerator.
+<p> <pre>
+ p-&gt;setPixmap( QPixmap("print.png") );
+ p-&gt;setAccel( ALT+Key_F7 );
+ </pre>
+
+<p> All of the buttons provided by Qt (<a href="qpushbutton.html">QPushButton</a>, <a href="qtoolbutton.html">QToolButton</a>,
+<a href="qcheckbox.html">QCheckBox</a> and <a href="qradiobutton.html">QRadioButton</a>) can display both text and
+pixmaps.
+<p> To subclass QButton, you must reimplement at least <a href="#drawButton">drawButton</a>()
+(to draw the button's outline) and <a href="#drawButtonLabel">drawButtonLabel</a>() (to draw its
+text or pixmap). It is generally advisable to reimplement
+<a href="qwidget.html#sizeHint">sizeHint</a>() as well, and sometimes <a href="#hitButton">hitButton</a>() (to determine
+whether a button press is within the button).
+<p> To reduce flickering, <a href="#paintEvent">QButton::paintEvent</a>() sets up a pixmap that
+the drawButton() function draws in. You should not reimplement
+<a href="#paintEvent">paintEvent</a>() for a subclass of QButton unless you want to take
+over all drawing.
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a> and <a href="abstractwidgets.html">Abstract Widget Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ToggleState-enum"></a>QButton::ToggleState</h3>
+
+<p> This enum defines the state of a toggle button.
+<ul>
+<li><tt>QButton::Off</tt> - the button is in the "off" state
+<li><tt>QButton::NoChange</tt> - the button is in the default/unchanged state
+<li><tt>QButton::On</tt> - the button is in the "on" state
+</ul>
+<h3 class=fn><a name="ToggleType-enum"></a>QButton::ToggleType</h3>
+
+<p> This enum type defines what a button can do in response to a
+mouse/keyboard press:
+<ul>
+<li><tt>QButton::SingleShot</tt> - pressing the button causes an action, then the
+button returns to the unpressed state.
+<li><tt>QButton::Toggle</tt> - pressing the button toggles it between an <a href="#ToggleState-enum">On</a> and
+an <a href="#ToggleState-enum">Off</a> state.
+<li><tt>QButton::Tristate</tt> - pressing the button cycles between the three
+states <a href="#ToggleState-enum">On</a>, <a href="#ToggleState-enum">Off</a> and <a href="#ToggleState-enum">NoChange</a>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QButton"></a>QButton::QButton ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a standard button called <em>name</em> with parent <em>parent</em>,
+using the widget flags <em>f</em>.
+<p> If <em>parent</em> is a <a href="qbuttongroup.html">QButtonGroup</a>, this constructor calls
+<a href="qbuttongroup.html#insert">QButtonGroup::insert</a>().
+
+<h3 class=fn><a name="~QButton"></a>QButton::~QButton ()
+</h3>
+Destroys the button.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QButton::accel () const
+</h3><p>Returns the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="animateClick"></a>QButton::animateClick ()<tt> [slot]</tt>
+</h3>
+Performs an animated click: the button is pressed and released a
+short while later.
+<p> The <a href="#pressed">pressed</a>(), <a href="#released">released</a>(), <a href="#clicked">clicked</a>(), <a href="#toggled">toggled</a>(), and
+<a href="#stateChanged">stateChanged</a>() signals are emitted as appropriate.
+<p> This function does nothing if the button is <a href="qwidget.html#setEnabled">disabled.</a>
+<p> <p>See also <a href="#accel-prop">accel</a>.
+
+<h3 class=fn>bool <a name="autoRepeat"></a>QButton::autoRepeat () const
+</h3><p>Returns TRUE if autoRepeat is enabled; otherwise returns FALSE.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>bool <a name="autoResize"></a>QButton::autoResize () const
+</h3><p>Returns TRUE if autoResize is enabled; otherwise returns FALSE.
+See the <a href="qbutton.html#autoResize-prop">"autoResize"</a> property for details.
+<h3 class=fn>void <a name="clicked"></a>QButton::clicked ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is activated (i.e. first
+pressed down and then released when the mouse cursor is inside the
+button), when the accelerator key is typed or when <a href="#animateClick">animateClick</a>()
+is called. This signal is <em>not</em> emitted if you call <a href="#setDown">setDown</a>().
+<p> The <a href="qbuttongroup.html#clicked">QButtonGroup::clicked</a>() signal does the same job, if you want
+to connect several buttons to the same slot.
+<p> <b>Warning:</b> Don't launch a model dialog in response to this signal
+for a button that has <a href="#autoRepeat-prop">autoRepeat</a> turned on.
+<p> <p>See also <a href="#pressed">pressed</a>(), <a href="#released">released</a>(), <a href="#toggled">toggled</a>(), <a href="#autoRepeat-prop">autoRepeat</a>, and <a href="#down-prop">down</a>.
+
+<p>Examples: <a href="tutorial2-08.html#x2596">chart/setdataform.cpp</a>, <a href="listbox-example.html#x1426">listbox/listbox.cpp</a>, <a href="clientserver-example.html#x792">network/clientserver/client/client.cpp</a>, <a href="progressbar-example.html#x962">progressbar/progressbar.cpp</a>, <a href="richtext-example.html#x462">richtext/richtext.cpp</a>, <a href="tutorial1-02.html#x2290">t2/main.cpp</a>, and <a href="tutorial1-04.html#x2306">t4/main.cpp</a>.
+<h3 class=fn>void <a name="drawButton"></a>QButton::drawButton ( <a href="qpainter.html">QPainter</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Draws the button. The default implementation does nothing.
+<p> This virtual function is reimplemented by subclasses to draw real
+buttons. At some point, these reimplementations should call
+<a href="#drawButtonLabel">drawButtonLabel</a>().
+<p> <p>See also <a href="#drawButtonLabel">drawButtonLabel</a>() and <a href="#paintEvent">paintEvent</a>().
+
+<h3 class=fn>void <a name="drawButtonLabel"></a>QButton::drawButtonLabel ( <a href="qpainter.html">QPainter</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Draws the button text or pixmap.
+<p> This virtual function is reimplemented by subclasses to draw real
+buttons. It is invoked by <a href="#drawButton">drawButton</a>().
+<p> <p>See also <a href="#drawButton">drawButton</a>() and <a href="#paintEvent">paintEvent</a>().
+
+<h3 class=fn><a href="qbuttongroup.html">QButtonGroup</a>&nbsp;* <a name="group"></a>QButton::group () const
+</h3>
+Returns the group that this button belongs to.
+<p> If the button is not a member of any <a href="qbuttongroup.html">QButtonGroup</a>, this function
+returns 0.
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a>.
+
+<h3 class=fn>bool <a name="hitButton"></a>QButton::hitButton ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const<tt> [virtual protected]</tt>
+</h3>
+Returns TRUE if <em>pos</em> is inside the clickable button rectangle;
+otherwise returns FALSE.
+<p> By default, the clickable area is the entire widget. Subclasses
+may reimplement it, though.
+
+<h3 class=fn>bool <a name="isDown"></a>QButton::isDown () const
+</h3><p>Returns TRUE if the button is pressed; otherwise returns FALSE.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>bool <a name="isExclusiveToggle"></a>QButton::isExclusiveToggle () const
+</h3><p>Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE.
+See the <a href="qbutton.html#exclusiveToggle-prop">"exclusiveToggle"</a> property for details.
+<h3 class=fn>bool <a name="isOn"></a>QButton::isOn () const
+</h3><p>Returns TRUE if the button is toggled; otherwise returns FALSE.
+See the <a href="qbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>bool <a name="isToggleButton"></a>QButton::isToggleButton () const
+</h3><p>Returns TRUE if the button is a toggle button; otherwise returns FALSE.
+See the <a href="qbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn>void <a name="paintEvent"></a>QButton::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Handles paint events for buttons. Small and typically complex
+buttons are painted double-buffered to reduce flicker. The
+actually drawing is done in the virtual functions <a href="#drawButton">drawButton</a>() and
+<a href="#drawButtonLabel">drawButtonLabel</a>().
+<p> <p>See also <a href="#drawButton">drawButton</a>() and <a href="#drawButtonLabel">drawButtonLabel</a>().
+
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QButton::pixmap () const
+</h3><p>Returns the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="pressed"></a>QButton::pressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is pressed down.
+<p> <p>See also <a href="#released">released</a>() and <a href="#clicked">clicked</a>().
+
+<p>Examples: <a href="httpd-example.html#x724">network/httpd/httpd.cpp</a> and <a href="popup-example.html#x1606">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="released"></a>QButton::released ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is released.
+<p> <p>See also <a href="#pressed">pressed</a>(), <a href="#clicked">clicked</a>(), and <a href="#toggled">toggled</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QButton::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="setAutoRepeat"></a>QButton::setAutoRepeat ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether autoRepeat is enabled.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="setAutoResize"></a>QButton::setAutoResize ( bool )
+</h3><p>Sets whether autoResize is enabled.
+See the <a href="qbutton.html#autoResize-prop">"autoResize"</a> property for details.
+<h3 class=fn>void <a name="setDown"></a>QButton::setDown ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the button is pressed.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>void <a name="setOn"></a>QButton::setOn ( bool&nbsp;on )<tt> [protected]</tt>
+</h3>
+
+<p> Sets the state of this button to On if <em>on</em> is TRUE; otherwise to
+Off.
+<p> <p>See also <a href="#toggleState-prop">toggleState</a>.
+
+<h3 class=fn>void <a name="setPixmap"></a>QButton::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setState"></a>QButton::setState ( <a href="qbutton.html#ToggleState-enum">ToggleState</a>&nbsp;s )<tt> [virtual protected]</tt>
+</h3>
+Sets the toggle state of the button to <em>s</em>. <em>s</em> can be <a href="#ToggleState-enum">Off</a>, <a href="#ToggleState-enum">NoChange</a> or <a href="#ToggleState-enum">On</a>.
+
+<h3 class=fn>void <a name="setText"></a>QButton::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setToggleButton"></a>QButton::setToggleButton ( bool&nbsp;b )<tt> [protected]</tt>
+</h3>
+
+<p> If <em>b</em> is TRUE, this button becomes a toggle button; if <em>b</em> is
+FALSE, this button becomes a command button.
+<p> <p>See also <a href="#toggleButton-prop">toggleButton</a>.
+
+<h3 class=fn>void <a name="setToggleType"></a>QButton::setToggleType ( <a href="qbutton.html#ToggleType-enum">ToggleType</a>&nbsp;type )<tt> [virtual protected]</tt>
+</h3>
+Sets the toggle type of the button to <em>type</em>.
+<p> <em>type</em> can be set to <a href="#ToggleType-enum">SingleShot</a>, <a href="#ToggleType-enum">Toggle</a> and <a href="#ToggleType-enum">Tristate</a>.
+
+<h3 class=fn><a href="qbutton.html#ToggleState-enum">ToggleState</a> <a name="state"></a>QButton::state () const
+</h3><p>Returns the state of the toggle button.
+See the <a href="qbutton.html#toggleState-prop">"toggleState"</a> property for details.
+<h3 class=fn>void <a name="stateChanged"></a>QButton::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes state. <em>state</em> is <a href="#ToggleState-enum">On</a> if the button is on, <a href="#ToggleState-enum">NoChange</a> if it is in the
+<a href="qcheckbox.html#setTristate">"no change" state</a> or <a href="#ToggleState-enum">Off</a>
+if the button is off.
+<p> This may be the result of a user action, <a href="#toggle">toggle</a>() slot activation,
+<a href="#setState">setState</a>(), or because <a href="#setOn">setOn</a>() was called.
+<p> <p>See also <a href="#clicked">clicked</a>() and <a href="#ToggleState-enum">QButton::ToggleState</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QButton::text () const
+</h3><p>Returns the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QButton::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of a toggle button.
+<p> <p>See also <a href="#on-prop">on</a>, <a href="#setOn">setOn</a>(), <a href="#toggled">toggled</a>(), and <a href="#toggleButton-prop">toggleButton</a>.
+
+<h3 class=fn><a href="qbutton.html#ToggleType-enum">ToggleType</a> <a name="toggleType"></a>QButton::toggleType () const
+</h3><p>Returns the type of toggle on the button.
+See the <a href="qbutton.html#toggleType-prop">"toggleType"</a> property for details.
+<h3 class=fn>void <a name="toggled"></a>QButton::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes status. <em>on</em> is TRUE if the button is on, or FALSE if the button is off.
+<p> This may be the result of a user action, <a href="#toggle">toggle</a>() slot activation,
+or because <a href="#setOn">setOn</a>() was called.
+<p> <p>See also <a href="#clicked">clicked</a>().
+
+<p>Example: <a href="listbox-example.html#x1427">listbox/listbox.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel-prop"></a>accel</h3>
+<p>This property holds the accelerator associated with the button.
+<p>This property is 0 if there is no accelerator set. If you set this
+property to 0 then any current accelerator is removed.
+
+<p>Set this property's value with <a href="#setAccel">setAccel</a>() and get this property's value with <a href="#accel">accel</a>().
+<h3 class=fn>bool <a name="autoRepeat-prop"></a>autoRepeat</h3>
+<p>This property holds whether autoRepeat is enabled.
+<p>If autoRepeat is enabled then the <a href="#clicked">clicked</a>() signal is emitted at
+regular intervals if the button is down. This property has no
+effect on toggle buttons. autoRepeat is off by default.
+
+<p>Set this property's value with <a href="#setAutoRepeat">setAutoRepeat</a>() and get this property's value with <a href="#autoRepeat">autoRepeat</a>().
+<h3 class=fn>bool <a name="autoResize-prop"></a>autoResize</h3> <p>This property holds whether autoResize is enabled.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If autoResize is enabled then the button will resize itself
+whenever the contents are changed.
+
+<p>Set this property's value with <a href="#setAutoResize">setAutoResize</a>() and get this property's value with <a href="#autoResize">autoResize</a>().
+<h3 class=fn>bool <a name="down-prop"></a>down</h3>
+<p>This property holds whether the button is pressed.
+<p>If this property is TRUE, the button is pressed down. The signals
+<a href="#pressed">pressed</a>() and <a href="#clicked">clicked</a>() are not emitted if you set this property
+to TRUE. The default is FALSE.
+
+<p>Set this property's value with <a href="#setDown">setDown</a>() and get this property's value with <a href="#isDown">isDown</a>().
+<h3 class=fn>bool <a name="exclusiveToggle-prop"></a>exclusiveToggle</h3>
+<p>This property holds whether the button is an exclusive toggle.
+<p>If this property is TRUE and the button is in a <a href="qbuttongroup.html">QButtonGroup</a>, the
+button can only be toggled off by another one being toggled on.
+The default is FALSE.
+
+<p>Get this property's value with <a href="#isExclusiveToggle">isExclusiveToggle</a>().
+<h3 class=fn>bool <a name="on-prop"></a>on</h3>
+<p>This property holds whether the button is toggled.
+<p>This property should only be set for toggle buttons.
+
+<p>Get this property's value with <a href="#isOn">isOn</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3>
+<p>This property holds the pixmap shown on the button.
+<p>If the pixmap is monochrome (i.e. it is a <a href="qbitmap.html">QBitmap</a> or its <a href="qpixmap.html#depth">depth</a> is 1) and it does not have a mask,
+this property will set the pixmap to be its own mask. The purpose
+of this is to draw transparent bitmaps which are important for
+toggle buttons, for example.
+<p> <a href="#pixmap">pixmap</a>() returns 0 if no pixmap was set.
+
+<p>Set this property's value with <a href="#setPixmap">setPixmap</a>() and get this property's value with <a href="#pixmap">pixmap</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the text shown on the button.
+<p>This property will return a <a href="qstring.html#QString-null">QString::null</a> if the button has no
+text. If the text has an ampersand (&amp;) in it, then an
+accelerator is automatically created for it using the character
+that follows the '&amp;' as the accelerator key. Any previous
+accelerator will be overwritten, or cleared if no accelerator is
+defined by the text.
+<p> There is no default text.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn>bool <a name="toggleButton-prop"></a>toggleButton</h3>
+<p>This property holds whether the button is a toggle button.
+<p>The default value is FALSE.
+
+<p>Get this property's value with <a href="#isToggleButton">isToggleButton</a>().
+<h3 class=fn><a href="qbutton.html#ToggleState-enum">ToggleState</a> <a name="toggleState-prop"></a>toggleState</h3>
+<p>This property holds the state of the toggle button.
+<p>If this property is changed then it does not cause the button
+to be repainted.
+
+<p>Get this property's value with <a href="#state">state</a>().
+<h3 class=fn><a href="qbutton.html#ToggleType-enum">ToggleType</a> <a name="toggleType-prop"></a>toggleType</h3>
+<p>This property holds the type of toggle on the button.
+<p>The default toggle type is <a href="#ToggleType-enum">SingleShot</a>.
+<p> <p>See also <a href="#ToggleType-enum">QButton::ToggleType</a>.
+
+<p>Get this property's value with <a href="#toggleType">toggleType</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbuttongroup-h.html b/doc/html/qbuttongroup-h.html
new file mode 100644
index 0000000..c72f56d
--- /dev/null
+++ b/doc/html/qbuttongroup-h.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbuttongroup.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qbuttongroup.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qbuttongroup.h</h1>
+
+<p>This is the verbatim text of the qbuttongroup.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qbuttongroup.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QButtonGroup class
+**
+** Created : 950130
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QBUTTONGROUP_H
+#define QBUTTONGROUP_H
+
+#ifndef QT_H
+#include "qgroupbox.h"
+#endif // QT_H
+
+#ifndef QT_NO_BUTTONGROUP
+
+
+class QButton;
+class QButtonList;
+
+
+class Q_EXPORT QButtonGroup : public QGroupBox
+{
+ Q_OBJECT
+ Q_PROPERTY( bool exclusive READ isExclusive WRITE setExclusive )
+ Q_PROPERTY( bool radioButtonExclusive READ isRadioButtonExclusive WRITE setRadioButtonExclusive )
+ Q_PROPERTY( int selectedId READ selectedId WRITE setButton )
+
+public:
+ QButtonGroup( QWidget* parent=0, const char* name=0 );
+ QButtonGroup( const QString &amp;title,
+ QWidget* parent=0, const char* name=0 );
+ QButtonGroup( int columns, Orientation o,
+ QWidget* parent=0, const char* name=0 );
+ QButtonGroup( int columns, Orientation o, const QString &amp;title,
+ QWidget* parent=0, const char* name=0 );
+ ~QButtonGroup();
+
+ bool isExclusive() const;
+ bool isRadioButtonExclusive() const { return radio_excl; }
+ virtual void setExclusive( bool );
+ virtual void setRadioButtonExclusive( bool );
+
+public:
+ int insert( QButton *, int id=-1 );
+ void remove( QButton * );
+ QButton *find( int id ) const;
+ int id( QButton * ) const;
+ int count() const;
+
+ virtual void setButton( int id );
+
+ virtual void moveFocus( int );
+
+ QButton *selected() const;
+ int selectedId() const;
+
+signals:
+ void pressed( int id );
+ void released( int id );
+ void clicked( int id );
+
+protected slots:
+ void buttonPressed();
+ void buttonReleased();
+ void buttonClicked();
+ void buttonToggled( bool on );
+
+protected:
+ bool event( QEvent * e );
+
+private:
+ void init();
+ bool excl_grp;
+ bool radio_excl;
+ QButtonList *buttons;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QButtonGroup( const QButtonGroup &amp; );
+ QButtonGroup &amp;operator=( const QButtonGroup &amp; );
+#endif
+};
+
+
+#endif // QT_NO_BUTTONGROUP
+
+#endif // QBUTTONGROUP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbuttongroup-h.png b/doc/html/qbuttongroup-h.png
new file mode 100644
index 0000000..2a21094
--- /dev/null
+++ b/doc/html/qbuttongroup-h.png
Binary files differ
diff --git a/doc/html/qbuttongroup-members.html b/doc/html/qbuttongroup-members.html
new file mode 100644
index 0000000..2af17e4
--- /dev/null
+++ b/doc/html/qbuttongroup-members.html
@@ -0,0 +1,392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qbuttongroup.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QButtonGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QButtonGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbuttongroup.html">QButtonGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qbuttongroup.html#QButtonGroup">QButtonGroup</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbuttongroup.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qbuttongroup.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qbuttongroup.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qbuttongroup.html#id">id</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qbuttongroup.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbuttongroup.html#isExclusive">isExclusive</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qbuttongroup.html#isRadioButtonExclusive">isRadioButtonExclusive</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qbuttongroup.html#moveFocus">moveFocus</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbuttongroup.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbuttongroup.html#released">released</a>()
+<li><a href="qbuttongroup.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qbuttongroup.html#selected">selected</a>()
+<li><a href="qbuttongroup.html#selectedId">selectedId</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qbuttongroup.html#setButton">setButton</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qbuttongroup.html#setExclusive">setExclusive</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbuttongroup-v.png b/doc/html/qbuttongroup-v.png
new file mode 100644
index 0000000..e5070b6
--- /dev/null
+++ b/doc/html/qbuttongroup-v.png
Binary files differ
diff --git a/doc/html/qbuttongroup.html b/doc/html/qbuttongroup.html
new file mode 100644
index 0000000..94f3a23
--- /dev/null
+++ b/doc/html/qbuttongroup.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qbuttongroup.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QButtonGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QButtonGroup Class Reference</h1>
+
+<p>The QButtonGroup widget organizes QButton widgets in a group.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;</tt>
+<p>Inherits <a href="qgroupbox.html">QGroupBox</a>.
+<p>Inherited by <a href="qhbuttongroup.html">QHButtonGroup</a> and <a href="qvbuttongroup.html">QVButtonGroup</a>.
+<p><a href="qbuttongroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QButtonGroup"><b>QButtonGroup</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QButtonGroup-2"><b>QButtonGroup</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QButtonGroup-3"><b>QButtonGroup</b></a> ( int&nbsp;strips, Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QButtonGroup-4"><b>QButtonGroup</b></a> ( int&nbsp;strips, Orientation&nbsp;orientation, const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>bool <a href="#isExclusive"><b>isExclusive</b></a> () const</li>
+<li class=fn>bool <a href="#isRadioButtonExclusive"><b>isRadioButtonExclusive</b></a> () const</li>
+<li class=fn>virtual void <a href="#setExclusive"><b>setExclusive</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setRadioButtonExclusive"><b>setRadioButtonExclusive</b></a> ( bool )</li>
+<li class=fn>int <a href="#insert"><b>insert</b></a> ( QButton&nbsp;*&nbsp;button, int&nbsp;id = -1 )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( QButton&nbsp;*&nbsp;button )</li>
+<li class=fn>QButton * <a href="#find"><b>find</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>int <a href="#id"><b>id</b></a> ( QButton&nbsp;*&nbsp;button ) const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>virtual void <a href="#setButton"><b>setButton</b></a> ( int&nbsp;id )</li>
+<li class=fn>virtual void <a href="#moveFocus"><b>moveFocus</b></a> ( int&nbsp;key )</li>
+<li class=fn>QButton * <a href="#selected"><b>selected</b></a> () const</li>
+<li class=fn>int <a href="#selectedId"><b>selectedId</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( int&nbsp;id )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#exclusive-prop"><b>exclusive</b></a>&nbsp;- whether the button group is exclusive</li>
+<li class=fn>bool <a href="#radioButtonExclusive-prop"><b>radioButtonExclusive</b></a>&nbsp;- whether the radio buttons in the group are exclusive</li>
+<li class=fn>int <a href="#selectedId-prop"><b>selectedId</b></a>&nbsp;- the selected toggle button</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QButtonGroup widget organizes <a href="qbutton.html">QButton</a> widgets in a group.
+<p>
+
+
+
+<p> A button group widget makes it easier to deal with groups of
+buttons. Each button in a button group has a unique identifier.
+The button group emits a <a href="#clicked">clicked</a>() signal with this identifier
+when a button in the group is clicked. This makes a button group
+particularly useful when you have several similar buttons and want
+to connect all their clicked() signals to a single slot.
+<p> An <a href="#setExclusive">exclusive</a> button group switches
+off all toggle buttons except the one that was clicked. A button
+group is, by default, non-exclusive. Note that all radio buttons
+that are inserted into a button group are mutually exclusive even
+if the button group is non-exclusive. (See
+<a href="#setRadioButtonExclusive">setRadioButtonExclusive</a>().)
+<p> There are two ways of using a button group:
+<ul>
+<li> The button group is the parent widget of a number of buttons,
+i.e. the button group is the parent argument in the button
+constructor. The buttons are assigned identifiers 0, 1, 2, etc.,
+in the order they are created. A QButtonGroup can display a frame
+and a title because it inherits <a href="qgroupbox.html">QGroupBox</a>.
+<li> The button group is an invisible widget and the contained
+buttons have some other parent widget. In this usage, each button
+must be manually inserted, using <a href="#insert">insert</a>(), into the button group
+and given an identifier.
+</ul>
+<p> A button can be removed from the group with <a href="#remove">remove</a>(). A pointer to
+a button with a given id can be obtained using <a href="#find">find</a>(). The id of a
+button is available using <a href="#id">id</a>(). A button can be set <em>on</em> with
+<a href="#setButton">setButton</a>(). The number of buttons in the group is returned by
+<a href="#count">count</a>().
+<p> <img src=qbttngrp-m.png> <img src=qbttngrp-w.png>
+<p> <p>See also <a href="qpushbutton.html">QPushButton</a>, <a href="qcheckbox.html">QCheckBox</a>, <a href="qradiobutton.html">QRadioButton</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QButtonGroup"></a>QButtonGroup::QButtonGroup ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a button group with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QButtonGroup-2"></a>QButtonGroup::QButtonGroup ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a button group with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QButtonGroup-3"></a>QButtonGroup::QButtonGroup ( int&nbsp;strips, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a button group with no title. Child widgets will be
+arranged in <em>strips</em> rows or columns (depending on <em>orientation</em>).
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QButtonGroup-4"></a>QButtonGroup::QButtonGroup ( int&nbsp;strips, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a button group with title <em>title</em>. Child widgets will
+be arranged in <em>strips</em> rows or columns (depending on <em>orientation</em>).
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn>void <a name="clicked"></a>QButtonGroup::clicked ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a button in the group is <a href="qbutton.html#clicked">clicked</a>. The <em>id</em> argument is the
+button's identifier.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1062">drawdemo/drawdemo.cpp</a> and <a href="xform-example.html#x1221">xform/xform.cpp</a>.
+<h3 class=fn>int <a name="count"></a>QButtonGroup::count () const
+</h3>
+Returns the number of buttons in the group.
+
+<h3 class=fn><a href="qbutton.html">QButton</a>&nbsp;* <a name="find"></a>QButtonGroup::find ( int&nbsp;id ) const
+</h3>
+Returns the button with the specified identifier <em>id</em>, or 0 if
+the button was not found.
+
+<h3 class=fn>int <a name="id"></a>QButtonGroup::id ( <a href="qbutton.html">QButton</a>&nbsp;*&nbsp;button ) const
+</h3>
+Returns the id of <em>button</em>, or -1 if <em>button</em> is not a member of
+this group.
+<p> <p>See also <a href="#selectedId-prop">selectedId</a>.
+
+<h3 class=fn>int <a name="insert"></a>QButtonGroup::insert ( <a href="qbutton.html">QButton</a>&nbsp;*&nbsp;button, int&nbsp;id = -1 )
+</h3>
+Inserts the <em>button</em> with the identifier <em>id</em> into the button
+group. Returns the button identifier.
+<p> Buttons are normally inserted into a button group automatically by
+passing the button group as the parent when the button is
+constructed. So it is not necessary to manually insert buttons
+that have this button group as their parent widget. An exception
+is when you want custom identifiers instead of the default 0, 1,
+2, etc., or if you want the buttons to have some other parent.
+<p> The button is assigned the identifier <em>id</em> or an automatically
+generated identifier. It works as follows: If <em>id</em> >= 0, this
+identifier is assigned. If <em>id</em> == -1 (default), the identifier
+is equal to the number of buttons in the group. If <em>id</em> is any
+other negative integer, for instance -2, a unique identifier
+(negative integer &lt;= -2) is generated. No button has an id of -1.
+<p> <p>See also <a href="#find">find</a>(), <a href="#remove">remove</a>(), and <a href="#exclusive-prop">exclusive</a>.
+
+<p>Examples: <a href="listbox-example.html#x1428">listbox/listbox.cpp</a> and <a href="xform-example.html#x1222">xform/xform.cpp</a>.
+<h3 class=fn>bool <a name="isExclusive"></a>QButtonGroup::isExclusive () const
+</h3><p>Returns TRUE if the button group is exclusive; otherwise returns FALSE.
+See the <a href="qbuttongroup.html#exclusive-prop">"exclusive"</a> property for details.
+<h3 class=fn>bool <a name="isRadioButtonExclusive"></a>QButtonGroup::isRadioButtonExclusive () const
+</h3><p>Returns TRUE if the radio buttons in the group are exclusive; otherwise returns FALSE.
+See the <a href="qbuttongroup.html#radioButtonExclusive-prop">"radioButtonExclusive"</a> property for details.
+<h3 class=fn>void <a name="moveFocus"></a>QButtonGroup::moveFocus ( int&nbsp;key )<tt> [virtual]</tt>
+</h3>
+Moves the <a href="focus.html#keyboard-focus">keyboard focus</a> according to <em>key</em>, and if appropriate
+checks the new focus item.
+<p> This function does nothing unless the keyboard focus points to one
+of the button group members and <em>key</em> is one of <a href="qt.html#Key-enum">Key_Up</a>, <a href="qt.html#Key-enum">Key_Down</a>, <a href="qt.html#Key-enum">Key_Left</a> and <a href="qt.html#Key-enum">Key_Right</a>.
+
+<h3 class=fn>void <a name="pressed"></a>QButtonGroup::pressed ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a button in the group is <a href="qbutton.html#pressed">pressed</a>. The <em>id</em> argument is the
+button's identifier.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="released"></a>QButtonGroup::released ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a button in the group is <a href="qbutton.html#released">released</a>. The <em>id</em> argument is the
+button's identifier.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="remove"></a>QButtonGroup::remove ( <a href="qbutton.html">QButton</a>&nbsp;*&nbsp;button )
+</h3>
+Removes the <em>button</em> from the button group.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qbutton.html">QButton</a>&nbsp;* <a name="selected"></a>QButtonGroup::selected () const
+</h3>
+Returns the selected toggle button if exactly one is selected;
+otherwise returns 0.
+<p> <p>See also <a href="#selectedId-prop">selectedId</a>.
+
+<h3 class=fn>int <a name="selectedId"></a>QButtonGroup::selectedId () const
+</h3><p>Returns the selected toggle button.
+See the <a href="qbuttongroup.html#selectedId-prop">"selectedId"</a> property for details.
+<h3 class=fn>void <a name="setButton"></a>QButtonGroup::setButton ( int&nbsp;id )<tt> [virtual]</tt>
+</h3><p>Sets the selected toggle button to <em>id</em>.
+See the <a href="qbuttongroup.html#selectedId-prop">"selectedId"</a> property for details.
+<h3 class=fn>void <a name="setExclusive"></a>QButtonGroup::setExclusive ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the button group is exclusive.
+See the <a href="qbuttongroup.html#exclusive-prop">"exclusive"</a> property for details.
+<h3 class=fn>void <a name="setRadioButtonExclusive"></a>QButtonGroup::setRadioButtonExclusive ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the radio buttons in the group are exclusive.
+See the <a href="qbuttongroup.html#radioButtonExclusive-prop">"radioButtonExclusive"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="exclusive-prop"></a>exclusive</h3>
+<p>This property holds whether the button group is exclusive.
+<p>If this property is TRUE, then the buttons in the group are
+toggled, and to untoggle a button you must click on another button
+in the group. The default value is FALSE.
+
+<p>Set this property's value with <a href="#setExclusive">setExclusive</a>() and get this property's value with <a href="#isExclusive">isExclusive</a>().
+<h3 class=fn>bool <a name="radioButtonExclusive-prop"></a>radioButtonExclusive</h3>
+<p>This property holds whether the radio buttons in the group are exclusive.
+<p>If this property is TRUE (the default), the <a href="qradiobutton.html">radiobuttons</a> in the group are treated exclusively.
+
+<p>Set this property's value with <a href="#setRadioButtonExclusive">setRadioButtonExclusive</a>() and get this property's value with <a href="#isRadioButtonExclusive">isRadioButtonExclusive</a>().
+<h3 class=fn>int <a name="selectedId-prop"></a>selectedId</h3>
+<p>This property holds the selected toggle button.
+<p>The toggle button is specified as an ID.
+<p> If no toggle button is selected, this property holds -1.
+<p> If <a href="#setButton">setButton</a>() is called on an exclusive group, the button with
+the given id will be set to on and all the others will be set to
+off.
+<p> <p>See also <a href="#selected">selected</a>().
+
+<p>Set this property's value with <a href="#setButton">setButton</a>() and get this property's value with <a href="#selectedId">selectedId</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbytearray-members.html b/doc/html/qbytearray-members.html
new file mode 100644
index 0000000..ca9a849
--- /dev/null
+++ b/doc/html/qbytearray-members.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcstring.h:109 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QByteArray Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QByteArray</h1>
+
+<p>This is the complete list of member functions for
+<a href="qbytearray.html">QByteArray</a>, including inherited members.
+
+<ul>
+<li><a href="qbytearray.html#QByteArray">QByteArray</a>()
+<li><a href="qmemarray.html#assign">assign</a>()
+<li><a href="qmemarray.html#at">at</a>()
+<li><a href="qmemarray.html#begin">begin</a>()
+<li><a href="qmemarray.html#bsearch">bsearch</a>()
+<li><a href="qmemarray.html#contains">contains</a>()
+<li><a href="qmemarray.html#copy">copy</a>()
+<li><a href="qmemarray.html#count">count</a>()
+<li><a href="qmemarray.html#data">data</a>()
+<li><a href="qmemarray.html#detach">detach</a>()
+<li><a href="qmemarray.html#duplicate">duplicate</a>()
+<li><a href="qmemarray.html#end">end</a>()
+<li><a href="qmemarray.html#fill">fill</a>()
+<li><a href="qmemarray.html#find">find</a>()
+<li><a href="qmemarray.html#isEmpty">isEmpty</a>()
+<li><a href="qmemarray.html#isNull">isNull</a>()
+<li><a href="qmemarray.html#nrefs">nrefs</a>()
+<li><a href="qmemarray.html#operator-const-type-*">operator const type *</a>()
+<li><a href="qmemarray.html#operator!-eq">operator!=</a>()
+<li><a href="qmemarray.html#operator-eq">operator=</a>()
+<li><a href="qmemarray.html#operator-eq-eq">operator==</a>()
+<li><a href="qmemarray.html#operator[]">operator[]</a>()
+<li><a href="qmemarray.html#resetRawData">resetRawData</a>()
+<li><a href="qmemarray.html#resize">resize</a>()
+<li><a href="qmemarray.html#setRawData">setRawData</a>()
+<li><a href="qmemarray.html#size">size</a>()
+<li><a href="qmemarray.html#sort">sort</a>()
+<li><a href="qmemarray.html#truncate">truncate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qbytearray.html b/doc/html/qbytearray.html
new file mode 100644
index 0000000..b693ec9
--- /dev/null
+++ b/doc/html/qbytearray.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qcstring.cpp:488 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QByteArray Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QByteArray Class Reference</h1>
+
+<p>The QByteArray class provides an array of bytes.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qcstring-h.html">qcstring.h</a>&gt;</tt>
+<p>Inherits <a href="qmemarray.html">QMemArray</a>&lt;char&gt;.
+<p>Inherited by <a href="qbitarray.html">QBitArray</a> and <a href="qcstring.html">QCString</a>.
+<p><a href="qbytearray-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QByteArray"><b>QByteArray</b></a> ()</li>
+<li class=fn><a href="#QByteArray-2"><b>QByteArray</b></a> ( int&nbsp;size )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QByteArray <a href="#qCompress"><b>qCompress</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+<li class=fn>QByteArray <a href="#qCompress-2"><b>qCompress</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;nbytes )</li>
+<li class=fn>QByteArray <a href="#qUncompress"><b>qUncompress</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+<li class=fn>QByteArray <a href="#qUncompress-2"><b>qUncompress</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;nbytes )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QByteArray class provides an array of bytes.
+<p>
+
+<p> The QByteArray class provides an <a href="shclass.html#explicitly-shared">explicitly shared</a> array of bytes.
+It is useful for manipulating memory areas with custom data.
+QByteArray is implemented as a <a href="qmemarray.html">QMemArray</a>&lt;char&gt;. See the <a href="qmemarray.html">QMemArray</a> documentation for further information.
+<p>See also <a href="collection.html">Collection Classes</a> and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QByteArray"></a>QByteArray::QByteArray ()
+</h3>
+
+<p> Constructs an empty QByteArray.
+
+<h3 class=fn><a name="QByteArray-2"></a>QByteArray::QByteArray ( int&nbsp;size )
+</h3>
+
+<p> Constructs a QByteArray of size <em>size</em>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="qCompress"></a>qCompress ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )
+</h3>
+
+<p>
+<p> Compresses the array <em>data</em> and returns the compressed byte
+array using zlib.
+<p> <p>See also <a href="#qUncompress">qUncompress</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="qCompress-2"></a>qCompress ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;nbytes )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Compresses the array <em>data</em> which is <em>nbytes</em> long and returns the
+compressed byte array.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="qUncompress"></a>qUncompress ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )
+</h3>
+
+<p>
+<p> Uncompresses the array <em>data</em> and returns the uncompressed byte
+array.
+<p> Returns an empty QByteArray if the input data was corrupt.
+
+<p> <p>See also <a href="#qCompress">qCompress</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="qUncompress-2"></a>qUncompress ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;nbytes )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Uncompresses the array <em>data</em> which is <em>nbytes</em> long and returns
+the uncompressed byte array.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcache-h.html b/doc/html/qcache-h.html
new file mode 100644
index 0000000..6710cc2
--- /dev/null
+++ b/doc/html/qcache-h.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcache.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcache.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcache.h</h1>
+
+<p>This is the verbatim text of the qcache.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcache.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QCache template class
+**
+** Created : 950209
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCACHE_H
+#define QCACHE_H
+
+#ifndef QT_H
+#include "qgcache.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QCache
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGCache
+#endif
+{
+public:
+ QCache( const QCache&lt;type&gt; &amp;c ) : QGCache(c) {}
+ QCache( int maxCost=100, int size=17, bool caseSensitive=TRUE )
+ : QGCache( maxCost, size, StringKey, caseSensitive, FALSE ) {}
+ ~QCache() { clear(); }
+ QCache&lt;type&gt; &amp;operator=( const QCache&lt;type&gt; &amp;c )
+ { return (QCache&lt;type&gt;&amp;)QGCache::operator=(c); }
+ int maxCost() const { return QGCache::maxCost(); }
+ int totalCost() const { return QGCache::totalCost(); }
+ void setMaxCost( int m ) { QGCache::setMaxCost(m); }
+ uint count() const { return QGCache::count(); }
+ uint size() const { return QGCache::size(); }
+ bool isEmpty() const { return QGCache::count() == 0; }
+ void clear() { QGCache::clear(); }
+ bool insert( const QString &amp;k, const type *d, int c=1, int p=0 )
+ { return QGCache::insert_string(k,(Item)d,c,p);}
+ bool remove( const QString &amp;k )
+ { return QGCache::remove_string(k); }
+ type *take( const QString &amp;k )
+ { return (type *)QGCache::take_string(k); }
+ type *find( const QString &amp;k, bool ref=TRUE ) const
+ { return (type *)QGCache::find_string(k,ref);}
+ type *operator[]( const QString &amp;k ) const
+ { return (type *)QGCache::find_string(k);}
+ void statistics() const { QGCache::statistics(); }
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QCache&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QCache&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QCacheIterator : public QGCacheIterator
+{
+public:
+ QCacheIterator( const QCache&lt;type&gt; &amp;c ):QGCacheIterator((QGCache &amp;)c) {}
+ QCacheIterator( const QCacheIterator&lt;type&gt; &amp;ci)
+ : QGCacheIterator( (QGCacheIterator &amp;)ci ) {}
+ QCacheIterator&lt;type&gt; &amp;operator=(const QCacheIterator&lt;type&gt;&amp;ci)
+ { return ( QCacheIterator&lt;type&gt;&amp;)QGCacheIterator::operator=( ci ); }
+ uint count() const { return QGCacheIterator::count(); }
+ bool isEmpty() const { return QGCacheIterator::count() == 0; }
+ bool atFirst() const { return QGCacheIterator::atFirst(); }
+ bool atLast() const { return QGCacheIterator::atLast(); }
+ type *toFirst() { return (type *)QGCacheIterator::toFirst(); }
+ type *toLast() { return (type *)QGCacheIterator::toLast(); }
+ operator type *() const { return (type *)QGCacheIterator::get(); }
+ type *current() const { return (type *)QGCacheIterator::get(); }
+ QString currentKey() const{ return QGCacheIterator::getKeyString(); }
+ type *operator()() { return (type *)QGCacheIterator::operator()();}
+ type *operator++() { return (type *)QGCacheIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGCacheIterator::operator+=(j);}
+ type *operator--() { return (type *)QGCacheIterator::operator--(); }
+ type *operator-=(uint j) { return (type *)QGCacheIterator::operator-=(j);}
+};
+
+#endif // QCACHE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcache-members.html b/doc/html/qcache-members.html
new file mode 100644
index 0000000..56f051e
--- /dev/null
+++ b/doc/html/qcache-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcache.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCache Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCache</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcache.html">QCache</a>, including inherited members.
+
+<ul>
+<li><a href="qcache.html#~QCache">~QCache</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qcache.html#clear">clear</a>()
+<li><a href="qcache.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qcache.html#find">find</a>()
+<li><a href="qcache.html#insert">insert</a>()
+<li><a href="qcache.html#isEmpty">isEmpty</a>()
+<li><a href="qcache.html#maxCost">maxCost</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qcache.html#operator[]">operator[]</a>()
+<li><a href="qcache.html#remove">remove</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qcache.html#setMaxCost">setMaxCost</a>()
+<li><a href="qcache.html#size">size</a>()
+<li><a href="qcache.html#statistics">statistics</a>()
+<li><a href="qcache.html#take">take</a>()
+<li><a href="qcache.html#totalCost">totalCost</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcache.html b/doc/html/qcache.html
new file mode 100644
index 0000000..577b996
--- /dev/null
+++ b/doc/html/qcache.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcache.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCache Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCache Class Reference</h1>
+
+<p>The QCache class is a template class that provides a cache based on QString keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcache-h.html">qcache.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qcache-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCache-2"><b>QCache</b></a> ( int&nbsp;maxCost = 100, int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE )</li>
+<li class=fn><a href="#~QCache"><b>~QCache</b></a> ()</li>
+<li class=fn>int <a href="#maxCost"><b>maxCost</b></a> () const</li>
+<li class=fn>int <a href="#totalCost"><b>totalCost</b></a> () const</li>
+<li class=fn>void <a href="#setMaxCost"><b>setMaxCost</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k, bool&nbsp;ref = TRUE ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k ) const</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCache class is a template class that provides a cache based on <a href="qstring.html">QString</a> keys.
+<p>
+
+<p>
+<p> A cache is a least recently used (LRU) list of cache items. Each
+cache item has a key and a certain cost. The sum of item costs,
+<a href="#totalCost">totalCost</a>(), never exceeds the maximum cache cost, <a href="#maxCost">maxCost</a>(). If
+inserting a new item would cause the total cost to exceed the
+maximum cost, the least recently used items in the cache are
+removed.
+<p> QCache is a template class. QCache&lt;X&gt; defines a cache that
+operates on pointers to X, or X*.
+<p> Apart from <a href="#insert">insert</a>(), by far the most important function is <a href="#find">find</a>()
+(which also exists as <a href="#operator[]">operator[]</a>()). This function looks up an
+item, returns it, and by default marks it as being the most
+recently used item.
+<p> There are also methods to <a href="#remove">remove</a>() or <a href="#take">take</a>() an object from the
+cache. Calling <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE) for a cache tells it to delete
+items that are removed. The default is to not delete items when
+they are removed (i.e., remove() and take() are equivalent).
+<p> When inserting an item into the cache, only the pointer is copied,
+not the item itself. This is called a <a href="shclass.html#shallow-copy">shallow copy</a>. It is possible
+to make the cache copy all of the item's data (known as a <a href="shclass.html#deep-copy">deep copy</a>) when an item is inserted. insert() calls the virtual
+function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item to be inserted.
+Inherit a cache and reimplement <a href="qptrcollection.html#newItem">newItem</a>() if you want deep copies.
+<p> When removing a cache item, the virtual function
+<a href="qptrcollection.html#deleteItem">QPtrCollection::deleteItem</a>() is called. The default
+implementation deletes the item if auto-deletion is enabled, and
+does nothing otherwise.
+<p> There is a <a href="qcacheiterator.html">QCacheIterator</a> that can be used to traverse the items
+in the cache in arbitrary order.
+<p> In QCache, the cache items are accessed via <a href="qstring.html">QString</a> keys, which
+are Unicode strings. If you want to use non-Unicode, plain 8-bit
+<tt>char*</tt> keys, use the <a href="qasciicache.html">QAsciiCache</a> template. A QCache has the
+same performance as a QAsciiCache.
+<p> <p>See also <a href="qcacheiterator.html">QCacheIterator</a>, <a href="qasciicache.html">QAsciiCache</a>, <a href="qintcache.html">QIntCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCache-2"></a>QCache::QCache ( int&nbsp;maxCost = 100, int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE )
+</h3>
+
+<p> Constructs a cache whose contents will never have a total cost
+greater than <em>maxCost</em> and which is expected to contain less than
+<em>size</em> items.
+<p> <em>size</em> is actually the size of an internal hash array; it's
+usually best to make it a <a href="primes.html#prime">prime</a> number and at least 50% bigger
+than the largest expected number of items in the cache.
+<p> Each inserted item has an associated cost. When inserting a new
+item, if the total cost of all items in the cache will exceed <em>maxCost</em>, the cache will start throwing out the older (least
+recently used) items until there is enough room for the new item
+to be inserted.
+<p> If <em>caseSensitive</em> is TRUE (the default), the cache keys are case
+sensitive; if it is FALSE, they are case-insensitive.
+Case-insensitive comparison considers all Unicode letters.
+
+<h3 class=fn><a name="~QCache"></a>QCache::~QCache ()
+</h3>
+
+<p> Removes all items from the cache and destroys it. All iterators
+that access this cache will be reset.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QCache::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the cache and deletes them if auto-deletion
+has been enabled.
+<p> All cache iterators that operate this on cache are reset.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#take">take</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QCache::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the cache.
+<p> <p>See also <a href="#totalCost">totalCost</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QCache::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k, bool&nbsp;ref = TRUE ) const
+</h3>
+
+<p> Returns the item associated with key <em>k</em>, or 0 if the key does
+not exist in the cache. If <em>ref</em> is TRUE (the default), the item
+is moved to the front of the least recently used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is returned.
+
+<h3 class=fn>bool <a name="insert"></a>QCache::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )
+</h3>
+
+<p> Inserts the item <em>d</em> into the cache with key <em>k</em> and associated
+cost, <em>c</em>. Returns TRUE if it is successfully inserted; otherwise
+returns FALSE.
+<p> The cache's size is limited, and if the total cost is too high,
+QCache will remove old, least recently used items until there is
+room for this new item.
+<p> The parameter <em>p</em> is internal and should be left at the default
+value (0).
+<p> <b>Warning:</b> If this function returns FALSE (which could happen, e.g.
+if the cost of this item alone exceeds <a href="#maxCost">maxCost</a>()) you must delete
+<em>d</em> yourself. Additionally, be very careful about using <em>d</em>
+after calling this function because any other insertions into the
+cache, from anywhere in the application or within Qt itself, could
+cause the object to be discarded from the cache and the pointer to
+become invalid.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QCache::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="maxCost"></a>QCache::maxCost () const
+</h3>
+
+<p> Returns the maximum allowed total cost of the cache.
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>type * <a name="operator[]"></a>QCache::operator[] ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k ) const
+</h3>
+
+<p> Returns the item associated with key <em>k</em>, or 0 if <em>k</em> does not
+exist in the cache, and moves the item to the front of the least
+recently used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is returned.
+<p> This is the same as <a href="#find">find</a>( k, TRUE ).
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QCache::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> Removes the item associated with <em>k</em>, and returns TRUE if the
+item was present in the cache; otherwise returns FALSE.
+<p> The item is deleted if auto-deletion has been enabled, i.e., if
+you have called <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE).
+<p> If there are two or more items with equal keys, the one that was
+inserted last is removed.
+<p> All iterators that refer to the removed item are set to point to
+the next item in the cache's traversal order.
+<p> <p>See also <a href="#take">take</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="setMaxCost"></a>QCache::setMaxCost ( int&nbsp;m )
+</h3>
+
+<p> Sets the maximum allowed total cost of the cache to <em>m</em>. If the
+current total cost is greater than <em>m</em>, some items are deleted
+immediately.
+<p> <p>See also <a href="#maxCost">maxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>uint <a name="size"></a>QCache::size () const
+</h3>
+
+<p> Returns the size of the hash array used to implement the cache.
+This should be a bit bigger than <a href="#count">count</a>() is likely to be.
+
+<h3 class=fn>void <a name="statistics"></a>QCache::statistics () const
+</h3>
+
+<p> A debug-only utility function. Prints out cache usage, hit/miss,
+and distribution information using <a href="qapplication.html#qDebug">qDebug</a>(). This function does
+nothing in the release library.
+
+<h3 class=fn>type * <a name="take"></a>QCache::take ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> Takes the item associated with <em>k</em> out of the cache without
+deleting it, and returns a pointer to the item taken out, or 0
+if the key does not exist in the cache.
+<p> If there are two or more items with equal keys, the one that was
+inserted last is taken.
+<p> All iterators that refer to the taken item are set to point to the
+next item in the cache's traversal order.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>int <a name="totalCost"></a>QCache::totalCost () const
+</h3>
+
+<p> Returns the total cost of the items in the cache. This is an
+integer in the range 0 to <a href="#maxCost">maxCost</a>().
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcacheiterator-members.html b/doc/html/qcacheiterator-members.html
new file mode 100644
index 0000000..794af4f
--- /dev/null
+++ b/doc/html/qcacheiterator-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcache.h:94 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCacheIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCacheIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcacheiterator.html">QCacheIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qcacheiterator.html#QCacheIterator">QCacheIterator</a>()
+<li><a href="qcacheiterator.html#atFirst">atFirst</a>()
+<li><a href="qcacheiterator.html#atLast">atLast</a>()
+<li><a href="qcacheiterator.html#count">count</a>()
+<li><a href="qcacheiterator.html#current">current</a>()
+<li><a href="qcacheiterator.html#currentKey">currentKey</a>()
+<li><a href="qcacheiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qcacheiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qcacheiterator.html#operator()">operator()</a>()
+<li><a href="qcacheiterator.html#operator++">operator++</a>()
+<li><a href="qcacheiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qcacheiterator.html#operator--">operator--</a>()
+<li><a href="qcacheiterator.html#operator--eq">operator-=</a>()
+<li><a href="qcacheiterator.html#operator-eq">operator=</a>()
+<li><a href="qcacheiterator.html#toFirst">toFirst</a>()
+<li><a href="qcacheiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcacheiterator.html b/doc/html/qcacheiterator.html
new file mode 100644
index 0000000..05256e8
--- /dev/null
+++ b/doc/html/qcacheiterator.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcache.doc:293 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCacheIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCacheIterator Class Reference</h1>
+
+<p>The QCacheIterator class provides an iterator for QCache collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcache-h.html">qcache.h</a>&gt;</tt>
+<p><a href="qcacheiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCacheIterator"><b>QCacheIterator</b></a> ( const&nbsp;QCache&lt;type&gt;&nbsp;&amp;&nbsp;cache )</li>
+<li class=fn><a href="#QCacheIterator-2"><b>QCacheIterator</b></a> ( const&nbsp;QCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>QCacheIterator&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#atFirst"><b>atFirst</b></a> () const</li>
+<li class=fn>bool <a href="#atLast"><b>atLast</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn>type * <a href="#toLast"><b>toLast</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>QString <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+<li class=fn>type * <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>type * <a href="#operator--eq"><b>operator-=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCacheIterator class provides an iterator for <a href="qcache.html">QCache</a> collections.
+<p>
+
+<p> Note that the traversal order is arbitrary; you are not guaranteed
+any particular order. If new objects are inserted into the cache
+while the iterator is active, the iterator may or may not see
+them.
+<p> Multiple iterators are completely independent, even when they
+operate on the same QCache. QCache updates all iterators that
+refer an item when that item is removed.
+<p> QCacheIterator provides an <a href="#operator++">operator++</a>(), and an <a href="#operator+-eq">operator+=</a>() to
+traverse the cache. The <a href="#current">current</a>() and <a href="#currentKey">currentKey</a>() functions are
+used to access the current cache item and its key. The <a href="#atFirst">atFirst</a>()
+and <a href="#atLast">atLast</a>() return TRUE if the iterator points to the first or
+last item in the cache respectively. The <a href="#isEmpty">isEmpty</a>() function
+returns TRUE if the cache is empty, and <a href="#count">count</a>() returns the number
+of items in the cache.
+<p> Note that atFirst() and atLast() refer to the iterator's arbitrary
+ordering, not to the cache's internal least recently used list.
+<p> <p>See also <a href="qcache.html">QCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCacheIterator"></a>QCacheIterator::QCacheIterator ( const&nbsp;<a href="qcache.html">QCache</a>&lt;type&gt;&nbsp;&amp;&nbsp;cache )
+</h3>
+
+<p> Constructs an iterator for <em>cache</em>. The current iterator item is
+set to point to the first item in the <em>cache</em>.
+
+<h3 class=fn><a name="QCacheIterator-2"></a>QCacheIterator::QCacheIterator ( const&nbsp;<a href="qcacheiterator.html">QCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Constructs an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>(), but moves
+independently from there on.
+
+<h3 class=fn>bool <a name="atFirst"></a>QCacheIterator::atFirst () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the first item in the
+cache; otherwise returns FALSE. Note that this refers to the
+iterator's arbitrary ordering, not to the cache's internal least
+recently used list.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>().
+
+<h3 class=fn>bool <a name="atLast"></a>QCacheIterator::atLast () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the last item in the cache;
+otherwise returns FALSE. Note that this refers to the iterator's
+arbitrary ordering, not to the cache's internal least recently
+used list.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>().
+
+<h3 class=fn>uint <a name="count"></a>QCacheIterator::count () const
+</h3>
+
+<p> Returns the number of items in the cache on which this iterator
+operates.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QCacheIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentKey"></a>QCacheIterator::currentKey () const
+</h3>
+
+<p> Returns the key for the current iterator item.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QCacheIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty, i.e. <a href="#count">count</a>() == 0; otherwise
+it returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QCacheIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QCacheIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the cache or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QCacheIterator::operator++ ()
+</h3>
+
+<p> Prefix++ makes the iterator point to the item just after <a href="#current">current</a>()
+and makes that the new current item for the iterator. If current()
+was the last item, <a href="#operator++">operator++</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QCacheIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions after the current item, or 0 if
+it is beyond the last item. Makes this the current item.
+
+<h3 class=fn>type * <a name="operator--"></a>QCacheIterator::operator-- ()
+</h3>
+
+<p> Prefix-- makes the iterator point to the item just before
+<a href="#current">current</a>() and makes that the new current item for the iterator. If
+current() was the first item, <a href="#operator--">operator--</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator--eq"></a>QCacheIterator::operator-= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions before the current item, or 0
+if it is before the first item. Makes this the current item.
+
+<h3 class=fn><a href="qcacheiterator.html">QCacheIterator</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QCacheIterator::operator= ( const&nbsp;<a href="qcacheiterator.html">QCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Makes this an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>(), but moves
+independently thereafter.
+
+<h3 class=fn>type * <a name="toFirst"></a>QCacheIterator::toFirst ()
+</h3>
+
+<p> Sets the iterator to point to the first item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0 and returns 0 if the cache is empty.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="toLast"></a>QCacheIterator::toLast ()
+</h3>
+
+<p> Sets the iterator to point to the last item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0 and returns 0 if the cache is empty.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvas-h.html b/doc/html/qcanvas-h.html
new file mode 100644
index 0000000..3ce0133
--- /dev/null
+++ b/doc/html/qcanvas-h.html
@@ -0,0 +1,861 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcanvas.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcanvas.h</h1>
+
+<p>This is the verbatim text of the qcanvas.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qcanvas.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QCanvas classes
+**
+** Created : 991211
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the canvas module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCANVAS_H
+#define QCANVAS_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#include "qpixmap.h"
+#include "qptrlist.h"
+#include "qbrush.h"
+#include "qpen.h"
+#include "qvaluelist.h"
+#include "qpointarray.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_CANVAS ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_CANVAS )
+#define QM_EXPORT_CANVAS
+#define QM_TEMPLATE_EXTERN_CANVAS
+#else
+#define QM_EXPORT_CANVAS Q_EXPORT
+#define QM_TEMPLATE_EXTERN_CANVAS Q_TEMPLATE_EXTERN
+#endif
+
+#ifndef QT_NO_CANVAS
+
+
+class QCanvasSprite;
+class QCanvasPolygonalItem;
+class QCanvasRectangle;
+class QCanvasPolygon;
+class QCanvasEllipse;
+class QCanvasText;
+class QCanvasLine;
+class QCanvasChunk;
+class QCanvas;
+class QCanvasItem;
+class QCanvasView;
+class QCanvasPixmap;
+
+#if defined(Q_TEMPLATEDLL) &amp;&amp; ( !defined(Q_CC_BOR) || !defined(QT_MAKEDLL) || defined(Q_EXPORT_TEMPLATES) )
+// MOC_SKIP_BEGIN
+QM_TEMPLATE_EXTERN_CANVAS template class QM_EXPORT_CANVAS QValueListIterator&lt; QCanvasItem* &gt;;
+QM_TEMPLATE_EXTERN_CANVAS template class QM_EXPORT_CANVAS QValueList&lt; QCanvasItem* &gt;;
+// MOC_SKIP_END
+#endif
+
+class QM_EXPORT_CANVAS QCanvasItemList : public QValueList&lt;QCanvasItem*&gt; {
+public:
+ void sort();
+ void drawUnique( QPainter&amp; painter );
+ QCanvasItemList operator+(const QCanvasItemList &amp;l) const;
+};
+
+
+class QCanvasItemExtra;
+
+class QM_EXPORT_CANVAS QCanvasItem : public Qt
+{
+public:
+ QCanvasItem(QCanvas* canvas);
+ virtual ~QCanvasItem();
+
+ double x() const
+ { return myx; }
+ double y() const
+ { return myy; }
+ double z() const
+ { return myz; } // (depth)
+
+ virtual void moveBy(double dx, double dy);
+ void move(double x, double y);
+ void setX(double a) { move(a,y()); }
+ void setY(double a) { move(x(),a); }
+ void setZ(double a) { myz=a; changeChunks(); }
+
+ bool animated() const;
+ virtual void setAnimated(bool y);
+ virtual void setVelocity( double vx, double vy);
+ void setXVelocity( double vx ) { setVelocity(vx,yVelocity()); }
+ void setYVelocity( double vy ) { setVelocity(xVelocity(),vy); }
+ double xVelocity() const;
+ double yVelocity() const;
+ virtual void advance(int stage);
+
+ virtual bool collidesWith( const QCanvasItem* ) const=0;
+
+ QCanvasItemList collisions(bool exact /* NO DEFAULT */ ) const;
+
+ virtual void setCanvas(QCanvas*);
+
+ virtual void draw(QPainter&amp;)=0;
+
+ void show();
+ void hide();
+
+ virtual void setVisible(bool yes);
+ bool isVisible() const
+ { return (bool)vis; }
+ virtual void setSelected(bool yes);
+ bool isSelected() const
+ { return (bool)sel; }
+ virtual void setEnabled(bool yes);
+ bool isEnabled() const
+ { return (bool)ena; }
+ virtual void setActive(bool yes);
+ bool isActive() const
+ { return (bool)act; }
+#ifndef QT_NO_COMPAT
+ bool visible() const
+ { return (bool)vis; }
+ bool selected() const
+ { return (bool)sel; }
+ bool enabled() const
+ { return (bool)ena; }
+ bool active() const
+ { return (bool)act; }
+#endif
+
+ enum RttiValues {
+ Rtti_Item = 0,
+ Rtti_Sprite = 1,
+ Rtti_PolygonalItem = 2,
+ Rtti_Text = 3,
+ Rtti_Polygon = 4,
+ Rtti_Rectangle = 5,
+ Rtti_Ellipse = 6,
+ Rtti_Line = 7,
+ Rtti_Spline = 8
+ };
+
+ virtual int rtti() const;
+ static int RTTI;
+
+ virtual QRect boundingRect() const=0;
+ virtual QRect boundingRectAdvanced() const;
+
+ QCanvas* canvas() const
+ { return cnv; }
+
+protected:
+ void update() { changeChunks(); }
+
+private:
+ // For friendly subclasses...
+
+ friend class QCanvasPolygonalItem;
+ friend class QCanvasSprite;
+ friend class QCanvasRectangle;
+ friend class QCanvasPolygon;
+ friend class QCanvasEllipse;
+ friend class QCanvasText;
+ friend class QCanvasLine;
+
+ virtual QPointArray chunks() const;
+ virtual void addToChunks();
+ virtual void removeFromChunks();
+ virtual void changeChunks();
+ virtual bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const = 0;
+ // End of friend stuff
+
+ QCanvas* cnv;
+ static QCanvas* current_canvas;
+ double myx,myy,myz;
+ QCanvasItemExtra *ext;
+ QCanvasItemExtra&amp; extra();
+ uint ani:1;
+ uint vis:1;
+ uint val:1;
+ uint sel:1;
+ uint ena:1;
+ uint act:1;
+};
+
+
+class QCanvasData;
+
+class QM_EXPORT_CANVAS QCanvas : public QObject
+{
+ Q_OBJECT
+public:
+ QCanvas( QObject* parent = 0, const char* name = 0 );
+ QCanvas(int w, int h);
+ QCanvas( QPixmap p, int h, int v, int tilewidth, int tileheight );
+
+ virtual ~QCanvas();
+
+ virtual void setTiles( QPixmap tiles, int h, int v,
+ int tilewidth, int tileheight );
+ virtual void setBackgroundPixmap( const QPixmap&amp; p );
+ QPixmap backgroundPixmap() const;
+
+ virtual void setBackgroundColor( const QColor&amp; c );
+ QColor backgroundColor() const;
+
+ virtual void setTile( int x, int y, int tilenum );
+ int tile( int x, int y ) const
+ { return grid[x+y*htiles]; }
+
+ int tilesHorizontally() const
+ { return htiles; }
+ int tilesVertically() const
+ { return vtiles; }
+
+ int tileWidth() const
+ { return tilew; }
+ int tileHeight() const
+ { return tileh; }
+
+ virtual void resize(int width, int height);
+ int width() const
+ { return awidth; }
+ int height() const
+ { return aheight; }
+ QSize size() const
+ { return QSize(awidth,aheight); }
+ QRect rect() const
+ { return QRect( 0, 0, awidth, aheight ); }
+ bool onCanvas( int x, int y ) const
+ { return x&gt;=0 &amp;&amp; y&gt;=0 &amp;&amp; x&lt;awidth &amp;&amp; y&lt;aheight; }
+ bool onCanvas( const QPoint&amp; p ) const
+ { return onCanvas(p.x(),p.y()); }
+ bool validChunk( int x, int y ) const
+ { return x&gt;=0 &amp;&amp; y&gt;=0 &amp;&amp; x&lt;chwidth &amp;&amp; y&lt;chheight; }
+ bool validChunk( const QPoint&amp; p ) const
+ { return validChunk(p.x(),p.y()); }
+
+ int chunkSize() const
+ { return chunksize; }
+ virtual void retune(int chunksize, int maxclusters=100);
+
+ bool sameChunk(int x1, int y1, int x2, int y2) const
+ { return x1/chunksize==x2/chunksize &amp;&amp; y1/chunksize==y2/chunksize; }
+ virtual void setChangedChunk(int i, int j);
+ virtual void setChangedChunkContaining(int x, int y);
+ virtual void setAllChanged();
+ virtual void setChanged(const QRect&amp; area);
+ virtual void setUnchanged(const QRect&amp; area);
+
+ // These call setChangedChunk.
+ void addItemToChunk(QCanvasItem*, int i, int j);
+ void removeItemFromChunk(QCanvasItem*, int i, int j);
+ void addItemToChunkContaining(QCanvasItem*, int x, int y);
+ void removeItemFromChunkContaining(QCanvasItem*, int x, int y);
+
+ QCanvasItemList allItems();
+ QCanvasItemList collisions( const QPoint&amp;) const;
+ QCanvasItemList collisions( const QRect&amp;) const;
+ QCanvasItemList collisions( const QPointArray&amp; pa, const QCanvasItem* item,
+ bool exact) const;
+
+ void drawArea(const QRect&amp;, QPainter* p, bool double_buffer=FALSE);
+
+ // These are for QCanvasView to call
+ virtual void addView(QCanvasView*);
+ virtual void removeView(QCanvasView*);
+ void drawCanvasArea(const QRect&amp;, QPainter* p=0, bool double_buffer=TRUE);
+ void drawViewArea( QCanvasView* view, QPainter* p, const QRect&amp; r, bool dbuf );
+
+ // These are for QCanvasItem to call
+ virtual void addItem(QCanvasItem*);
+ virtual void addAnimation(QCanvasItem*);
+ virtual void removeItem(QCanvasItem*);
+ virtual void removeAnimation(QCanvasItem*);
+
+ virtual void setAdvancePeriod(int ms);
+ virtual void setUpdatePeriod(int ms);
+
+ virtual void setDoubleBuffering(bool y);
+
+signals:
+ void resized();
+
+public slots:
+ virtual void advance();
+ virtual void update();
+
+protected:
+ virtual void drawBackground(QPainter&amp;, const QRect&amp; area);
+ virtual void drawForeground(QPainter&amp;, const QRect&amp; area);
+
+private:
+ void init(int w, int h, int chunksze=16, int maxclust=100);
+
+ QCanvasChunk&amp; chunk(int i, int j) const;
+ QCanvasChunk&amp; chunkContaining(int x, int y) const;
+
+ QRect changeBounds(const QRect&amp; inarea);
+ void drawChanges(const QRect&amp; inarea);
+
+ QPixmap offscr;
+ int awidth,aheight;
+ int chunksize;
+ int maxclusters;
+ int chwidth,chheight;
+ QCanvasChunk* chunks;
+
+ QCanvasData* d;
+
+ void initTiles(QPixmap p, int h, int v, int tilewidth, int tileheight);
+ ushort *grid;
+ ushort htiles;
+ ushort vtiles;
+ ushort tilew;
+ ushort tileh;
+ bool oneone;
+ QPixmap pm;
+ QTimer* update_timer;
+ QColor bgcolor;
+ bool debug_redraw_areas;
+ bool dblbuf;
+
+ friend void qt_unview(QCanvas* c);
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QCanvas( const QCanvas &amp; );
+ QCanvas &amp;operator=( const QCanvas &amp; );
+#endif
+};
+
+class QCanvasViewData;
+
+class QM_EXPORT_CANVAS QCanvasView : public QScrollView
+{
+ Q_OBJECT
+public:
+
+ QCanvasView(QWidget* parent=0, const char* name=0, WFlags f=0);
+ QCanvasView(QCanvas* viewing, QWidget* parent=0, const char* name=0, WFlags f=0);
+ ~QCanvasView();
+
+ QCanvas* canvas() const
+ { return viewing; }
+ void setCanvas(QCanvas* v);
+
+ const QWMatrix &amp;worldMatrix() const;
+ const QWMatrix &amp;inverseWorldMatrix() const;
+ bool setWorldMatrix( const QWMatrix &amp; );
+
+protected:
+ void drawContents( QPainter*, int cx, int cy, int cw, int ch );
+ QSize sizeHint() const;
+
+private:
+ void drawContents( QPainter* );
+ QCanvas* viewing;
+ QCanvasViewData* d;
+ friend void qt_unview(QCanvas* c);
+
+private slots:
+ void cMoving(int,int);
+ void updateContentsSize();
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QCanvasView( const QCanvasView &amp; );
+ QCanvasView &amp;operator=( const QCanvasView &amp; );
+#endif
+};
+
+
+class QM_EXPORT_CANVAS QCanvasPixmap : public QPixmap
+{
+public:
+#ifndef QT_NO_IMAGEIO
+ QCanvasPixmap(const QString&amp; datafilename);
+#endif
+ QCanvasPixmap(const QImage&amp; image);
+ QCanvasPixmap(const QPixmap&amp;, const QPoint&amp; hotspot);
+ ~QCanvasPixmap();
+
+ int offsetX() const
+ { return hotx; }
+ int offsetY() const
+ { return hoty; }
+ void setOffset(int x, int y) { hotx = x; hoty = y; }
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QCanvasPixmap( const QCanvasPixmap &amp; );
+ QCanvasPixmap &amp;operator=( const QCanvasPixmap &amp; );
+#endif
+ void init(const QImage&amp;);
+ void init(const QPixmap&amp; pixmap, int hx, int hy);
+
+ friend class QCanvasSprite;
+ friend class QCanvasPixmapArray;
+ friend bool qt_testCollision(const QCanvasSprite* s1, const QCanvasSprite* s2);
+
+ int hotx,hoty;
+
+ QImage* collision_mask;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasPixmapArray
+{
+public:
+ QCanvasPixmapArray();
+#ifndef QT_NO_IMAGEIO
+ QCanvasPixmapArray(const QString&amp; datafilenamepattern, int framecount=0);
+#endif
+ // this form is deprecated
+ QCanvasPixmapArray(QPtrList&lt;QPixmap&gt;, QPtrList&lt;QPoint&gt; hotspots);
+
+ QCanvasPixmapArray(QValueList&lt;QPixmap&gt;, QPointArray hotspots = QPointArray() );
+ ~QCanvasPixmapArray();
+
+#ifndef QT_NO_IMAGEIO
+ bool readPixmaps(const QString&amp; datafilenamepattern, int framecount=0);
+ bool readCollisionMasks(const QString&amp; filenamepattern);
+#endif
+
+ // deprecated
+ bool operator!(); // Failure check.
+ bool isValid() const;
+
+ QCanvasPixmap* image(int i) const
+ { return img ? img[i] : 0; }
+ void setImage(int i, QCanvasPixmap* p);
+ uint count() const
+ { return (uint)framecount; }
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QCanvasPixmapArray( const QCanvasPixmapArray &amp; );
+ QCanvasPixmapArray &amp;operator=( const QCanvasPixmapArray &amp; );
+#endif
+#ifndef QT_NO_IMAGEIO
+ bool readPixmaps(const QString&amp; datafilenamepattern, int framecount, bool maskonly);
+#endif
+
+ void reset();
+ int framecount;
+ QCanvasPixmap** img;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasSprite : public QCanvasItem
+{
+public:
+ QCanvasSprite(QCanvasPixmapArray* array, QCanvas* canvas);
+
+ void setSequence(QCanvasPixmapArray* seq);
+
+ virtual ~QCanvasSprite();
+
+ void move(double x, double y);
+ virtual void move(double x, double y, int frame);
+ void setFrame(int);
+ enum FrameAnimationType { Cycle, Oscillate };
+ virtual void setFrameAnimation(FrameAnimationType=Cycle, int step=1, int state=0);
+ int frame() const
+ { return frm; }
+ int frameCount() const
+ { return images-&gt;count(); }
+
+ int rtti() const;
+ static int RTTI;
+
+ bool collidesWith( const QCanvasItem* ) const;
+
+ QRect boundingRect() const;
+
+ // is there a reason for these to be protected? Lars
+//protected:
+
+ int width() const;
+ int height() const;
+
+ int leftEdge() const;
+ int topEdge() const;
+ int rightEdge() const;
+ int bottomEdge() const;
+
+ int leftEdge(int nx) const;
+ int topEdge(int ny) const;
+ int rightEdge(int nx) const;
+ int bottomEdge(int ny) const;
+ QCanvasPixmap* image() const
+ { return images-&gt;image(frm); }
+ virtual QCanvasPixmap* imageAdvanced() const;
+ QCanvasPixmap* image(int f) const
+ { return images-&gt;image(f); }
+ virtual void advance(int stage);
+
+public:
+ void draw(QPainter&amp; painter);
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QCanvasSprite( const QCanvasSprite &amp; );
+ QCanvasSprite &amp;operator=( const QCanvasSprite &amp; );
+#endif
+ void addToChunks();
+ void removeFromChunks();
+ void changeChunks();
+
+ int frm;
+ ushort anim_val;
+ uint anim_state:2;
+ uint anim_type:14;
+ bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const;
+
+ friend bool qt_testCollision( const QCanvasSprite* s1,
+ const QCanvasSprite* s2 );
+
+ QCanvasPixmapArray* images;
+};
+
+class QPolygonalProcessor;
+
+class QM_EXPORT_CANVAS QCanvasPolygonalItem : public QCanvasItem
+{
+public:
+ QCanvasPolygonalItem(QCanvas* canvas);
+ virtual ~QCanvasPolygonalItem();
+
+ bool collidesWith( const QCanvasItem* ) const;
+
+ virtual void setPen(QPen p);
+ virtual void setBrush(QBrush b);
+
+ QPen pen() const
+ { return pn; }
+ QBrush brush() const
+ { return br; }
+
+ virtual QPointArray areaPoints() const=0;
+ virtual QPointArray areaPointsAdvanced() const;
+ QRect boundingRect() const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void draw(QPainter &amp;);
+ virtual void drawShape(QPainter &amp;) = 0;
+
+ bool winding() const;
+ void setWinding(bool);
+
+ void invalidate();
+ bool isValid() const
+ { return (bool)val; }
+
+private:
+ void scanPolygon( const QPointArray&amp; pa, int winding,
+ QPolygonalProcessor&amp; process ) const;
+ QPointArray chunks() const;
+
+ bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const;
+
+ QBrush br;
+ QPen pn;
+ uint wind:1;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasRectangle : public QCanvasPolygonalItem
+{
+public:
+ QCanvasRectangle(QCanvas* canvas);
+ QCanvasRectangle(const QRect&amp;, QCanvas* canvas);
+ QCanvasRectangle(int x, int y, int width, int height, QCanvas* canvas);
+
+ ~QCanvasRectangle();
+
+ int width() const;
+ int height() const;
+ void setSize(int w, int h);
+ QSize size() const
+ { return QSize(w,h); }
+ QPointArray areaPoints() const;
+ QRect rect() const
+ { return QRect(int(x()),int(y()),w,h); }
+
+ bool collidesWith( const QCanvasItem* ) const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void drawShape(QPainter &amp;);
+ QPointArray chunks() const;
+
+private:
+ bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const;
+
+ int w, h;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasPolygon : public QCanvasPolygonalItem
+{
+public:
+ QCanvasPolygon(QCanvas* canvas);
+ ~QCanvasPolygon();
+ void setPoints(QPointArray);
+ QPointArray points() const;
+ void moveBy(double dx, double dy);
+
+ QPointArray areaPoints() const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void drawShape(QPainter &amp;);
+ QPointArray poly;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasSpline : public QCanvasPolygon
+{
+public:
+ QCanvasSpline(QCanvas* canvas);
+ ~QCanvasSpline();
+
+ void setControlPoints(QPointArray, bool closed=TRUE);
+ QPointArray controlPoints() const;
+ bool closed() const;
+
+ int rtti() const;
+ static int RTTI;
+
+private:
+ void recalcPoly();
+ QPointArray bez;
+ bool cl;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasLine : public QCanvasPolygonalItem
+{
+public:
+ QCanvasLine(QCanvas* canvas);
+ ~QCanvasLine();
+ void setPoints(int x1, int y1, int x2, int y2);
+
+ QPoint startPoint() const
+ { return QPoint(x1,y1); }
+ QPoint endPoint() const
+ { return QPoint(x2,y2); }
+
+ int rtti() const;
+ static int RTTI;
+
+ void setPen(QPen p);
+ void moveBy(double dx, double dy);
+
+protected:
+ void drawShape(QPainter &amp;);
+ QPointArray areaPoints() const;
+
+private:
+ int x1,y1,x2,y2;
+};
+
+
+class QM_EXPORT_CANVAS QCanvasEllipse : public QCanvasPolygonalItem
+{
+
+public:
+ QCanvasEllipse( QCanvas* canvas );
+ QCanvasEllipse( int width, int height, QCanvas* canvas );
+ QCanvasEllipse( int width, int height, int startangle, int angle,
+ QCanvas* canvas );
+
+ ~QCanvasEllipse();
+
+ int width() const;
+ int height() const;
+ void setSize(int w, int h);
+ void setAngles(int start, int length);
+ int angleStart() const
+ { return a1; }
+ int angleLength() const
+ { return a2; }
+ QPointArray areaPoints() const;
+
+ bool collidesWith( const QCanvasItem* ) const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void drawShape(QPainter &amp;);
+
+private:
+ bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const;
+ int w, h;
+ int a1, a2;
+};
+
+
+class QCanvasTextExtra;
+
+class QM_EXPORT_CANVAS QCanvasText : public QCanvasItem
+{
+public:
+ QCanvasText(QCanvas* canvas);
+ QCanvasText(const QString&amp;, QCanvas* canvas);
+ QCanvasText(const QString&amp;, QFont, QCanvas* canvas);
+
+ virtual ~QCanvasText();
+
+ void setText( const QString&amp; );
+ void setFont( const QFont&amp; );
+ void setColor( const QColor&amp; );
+ QString text() const;
+ QFont font() const;
+ QColor color() const;
+
+ void moveBy(double dx, double dy);
+
+ int textFlags() const
+ { return flags; }
+ void setTextFlags(int);
+
+ QRect boundingRect() const;
+
+ bool collidesWith( const QCanvasItem* ) const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ virtual void draw(QPainter&amp;);
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QCanvasText( const QCanvasText &amp; );
+ QCanvasText &amp;operator=( const QCanvasText &amp; );
+#endif
+ void addToChunks();
+ void removeFromChunks();
+ void changeChunks();
+
+ void setRect();
+ QRect brect;
+ QString txt;
+ int flags;
+ QFont fnt;
+ QColor col;
+ QCanvasTextExtra* extra;
+
+ bool collidesWith( const QCanvasSprite*,
+ const QCanvasPolygonalItem*,
+ const QCanvasRectangle*,
+ const QCanvasEllipse*,
+ const QCanvasText* ) const;
+};
+
+#define Q_DEFINED_QCANVAS
+#include "qwinexport.h"
+#endif // QT_NO_CANVAS
+
+#endif // QCANVAS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvas-members.html b/doc/html/qcanvas-members.html
new file mode 100644
index 0000000..161d4fa
--- /dev/null
+++ b/doc/html/qcanvas-members.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:216 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvas Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvas</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvas.html">QCanvas</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvas.html#QCanvas">QCanvas</a>()
+<li><a href="qcanvas.html#~QCanvas">~QCanvas</a>()
+<li><a href="qcanvas.html#advance">advance</a>()
+<li><a href="qcanvas.html#allItems">allItems</a>()
+<li><a href="qcanvas.html#backgroundColor">backgroundColor</a>()
+<li><a href="qcanvas.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qcanvas.html#chunkSize">chunkSize</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qcanvas.html#collisions">collisions</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qcanvas.html#drawArea">drawArea</a>()
+<li><a href="qcanvas.html#drawBackground">drawBackground</a>()
+<li><a href="qcanvas.html#drawForeground">drawForeground</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qcanvas.html#height">height</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qcanvas.html#onCanvas">onCanvas</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qcanvas.html#rect">rect</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qcanvas.html#resize">resize</a>()
+<li><a href="qcanvas.html#resized">resized</a>()
+<li><a href="qcanvas.html#retune">retune</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qcanvas.html#setAdvancePeriod">setAdvancePeriod</a>()
+<li><a href="qcanvas.html#setAllChanged">setAllChanged</a>()
+<li><a href="qcanvas.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qcanvas.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qcanvas.html#setChanged">setChanged</a>()
+<li><a href="qcanvas.html#setDoubleBuffering">setDoubleBuffering</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qcanvas.html#setTile">setTile</a>()
+<li><a href="qcanvas.html#setTiles">setTiles</a>()
+<li><a href="qcanvas.html#setUnchanged">setUnchanged</a>()
+<li><a href="qcanvas.html#setUpdatePeriod">setUpdatePeriod</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qcanvas.html#size">size</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qcanvas.html#tile">tile</a>()
+<li><a href="qcanvas.html#tileHeight">tileHeight</a>()
+<li><a href="qcanvas.html#tileWidth">tileWidth</a>()
+<li><a href="qcanvas.html#tilesHorizontally">tilesHorizontally</a>()
+<li><a href="qcanvas.html#tilesVertically">tilesVertically</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qcanvas.html#update">update</a>()
+<li><a href="qcanvas.html#validChunk">validChunk</a>()
+<li><a href="qcanvas.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvas.html b/doc/html/qcanvas.html
new file mode 100644
index 0000000..264b578
--- /dev/null
+++ b/doc/html/qcanvas.html
@@ -0,0 +1,588 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:435 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvas Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvas Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvas class provides a 2D area that can contain QCanvasItem objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qcanvas-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvas"><b>QCanvas</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QCanvas-2"><b>QCanvas</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn><a href="#QCanvas-3"><b>QCanvas</b></a> ( QPixmap&nbsp;p, int&nbsp;h, int&nbsp;v, int&nbsp;tilewidth, int&nbsp;tileheight )</li>
+<li class=fn>virtual <a href="#~QCanvas"><b>~QCanvas</b></a> ()</li>
+<li class=fn>virtual void <a href="#setTiles"><b>setTiles</b></a> ( QPixmap&nbsp;p, int&nbsp;h, int&nbsp;v, int&nbsp;tilewidth, int&nbsp;tileheight )</li>
+<li class=fn>virtual void <a href="#setBackgroundPixmap"><b>setBackgroundPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QPixmap <a href="#backgroundPixmap"><b>backgroundPixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setBackgroundColor"><b>setBackgroundColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QColor <a href="#backgroundColor"><b>backgroundColor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTile"><b>setTile</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;tilenum )</li>
+<li class=fn>int <a href="#tile"><b>tile</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>int <a href="#tilesHorizontally"><b>tilesHorizontally</b></a> () const</li>
+<li class=fn>int <a href="#tilesVertically"><b>tilesVertically</b></a> () const</li>
+<li class=fn>int <a href="#tileWidth"><b>tileWidth</b></a> () const</li>
+<li class=fn>int <a href="#tileHeight"><b>tileHeight</b></a> () const</li>
+<li class=fn>virtual void <a href="#resize"><b>resize</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>bool <a href="#onCanvas"><b>onCanvas</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>bool <a href="#onCanvas-2"><b>onCanvas</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#validChunk"><b>validChunk</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>bool <a href="#validChunk-2"><b>validChunk</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>int <a href="#chunkSize"><b>chunkSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#retune"><b>retune</b></a> ( int&nbsp;chunksze, int&nbsp;mxclusters = 100 )</li>
+<li class=fn>virtual void <a href="#setAllChanged"><b>setAllChanged</b></a> ()</li>
+<li class=fn>virtual void <a href="#setChanged"><b>setChanged</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;area )</li>
+<li class=fn>virtual void <a href="#setUnchanged"><b>setUnchanged</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;area )</li>
+<li class=fn>QCanvasItemList <a href="#allItems"><b>allItems</b></a> ()</li>
+<li class=fn>QCanvasItemList <a href="#collisions"><b>collisions</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>QCanvasItemList <a href="#collisions-2"><b>collisions</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QCanvasItemList <a href="#collisions-3"><b>collisions</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;chunklist, const&nbsp;QCanvasItem&nbsp;*&nbsp;item, bool&nbsp;exact ) const</li>
+<li class=fn>void <a href="#drawArea"><b>drawArea</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;clip, QPainter&nbsp;*&nbsp;painter, bool&nbsp;dbuf = FALSE )</li>
+<li class=fn>virtual void <a href="#setAdvancePeriod"><b>setAdvancePeriod</b></a> ( int&nbsp;ms )</li>
+<li class=fn>virtual void <a href="#setUpdatePeriod"><b>setUpdatePeriod</b></a> ( int&nbsp;ms )</li>
+<li class=fn>virtual void <a href="#setDoubleBuffering"><b>setDoubleBuffering</b></a> ( bool&nbsp;y )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#advance"><b>advance</b></a> ()</li>
+<li class=fn>virtual void <a href="#update"><b>update</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#resized"><b>resized</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawBackground"><b>drawBackground</b></a> ( QPainter&nbsp;&amp;&nbsp;painter, const&nbsp;QRect&nbsp;&amp;&nbsp;clip )</li>
+<li class=fn>virtual void <a href="#drawForeground"><b>drawForeground</b></a> ( QPainter&nbsp;&amp;&nbsp;painter, const&nbsp;QRect&nbsp;&amp;&nbsp;clip )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvas class provides a 2D area that can contain <a href="qcanvasitem.html">QCanvasItem</a> objects.
+
+<p>
+
+
+
+
+<p> The QCanvas class manages its 2D graphic area and all the canvas
+items the area contains. The canvas has no visual appearance of
+its own. Instead, it is displayed on screen using a <a href="qcanvasview.html">QCanvasView</a>.
+Multiple QCanvasView widgets may be associated with a canvas to
+provide multiple views of the same canvas.
+<p> The canvas is optimized for large numbers of items, particularly
+where only a small percentage of the items change at any
+one time. If the entire display changes very frequently, you should
+consider using your own custom <a href="qscrollview.html">QScrollView</a> subclass.
+<p> Qt provides a rich
+set of canvas item classes, e.g. <a href="qcanvasellipse.html">QCanvasEllipse</a>, <a href="qcanvasline.html">QCanvasLine</a>,
+<a href="qcanvaspolygon.html">QCanvasPolygon</a>, <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>, <a href="qcanvasrectangle.html">QCanvasRectangle</a>, <a href="qcanvasspline.html">QCanvasSpline</a>,
+<a href="qcanvassprite.html">QCanvasSprite</a> and <a href="qcanvastext.html">QCanvasText</a>. You can subclass to create your own
+canvas items; QCanvasPolygonalItem is the most common base class used
+for this purpose.
+<p> Items appear on the canvas after their <a href="qcanvasitem.html#show">show()</a> function has been called (or <a href="qcanvasitem.html#setVisible">setVisible(TRUE)</a>), and <em>after</em>
+<a href="#update">update</a>() has been called. The canvas only shows items that are
+<a href="qcanvasitem.html#setVisible">visible</a>, and then only if
+<a href="#update">update</a>() is called. (By default the canvas is white and so are
+canvas items, so if nothing appears try changing colors.)
+<p> If you created the canvas without passing a width and height to
+the constructor you must also call <a href="#resize">resize</a>().
+<p> Although a canvas may appear to be similar to a widget with child
+widgets, there are several notable differences:
+<p> <ul>
+<li> Canvas items are usually much faster to manipulate and redraw than
+child widgets, with the speed advantage becoming especially great when
+there are <em>many</em> canvas items and non-rectangular items. In most
+situations canvas items are also a lot more memory efficient than child
+widgets.
+<p> <li> It's easy to detect overlapping items (collision detection).
+<p> <li> The canvas can be larger than a widget. A million-by-million canvas
+is perfectly possible. At such a size a widget might be very
+inefficient, and some window systems might not support it at all,
+whereas QCanvas scales well. Even with a billion pixels and a million
+items, finding a particular canvas item, detecting collisions, etc.,
+is still fast (though the memory consumption may be prohibitive
+at such extremes).
+<p> <li> Two or more <a href="qcanvasview.html">QCanvasView</a> objects can view the same canvas.
+<p> <li> An arbitrary <a href="qwmatrix.html#TransformationMode">transformation matrix</a> can be set on each QCanvasView
+which makes it easy to zoom, rotate or shear the viewed canvas.
+<p> <li> Widgets provide a lot more functionality, such as input (<a href="qkeyevent.html">QKeyEvent</a>,
+<a href="qmouseevent.html">QMouseEvent</a> etc.) and layout management (<a href="qgridlayout.html">QGridLayout</a> etc.).
+<p> </ul>
+<p> A canvas consists of a background, a number of canvas items organized by
+x, y and z coordinates, and a foreground. A canvas item's z coordinate
+can be treated as a layer number -- canvas items with a higher z
+coordinate appear in front of canvas items with a lower z coordinate.
+<p> The background is white by default, but can be set to a different color
+using <a href="#setBackgroundColor">setBackgroundColor</a>(), or to a repeated pixmap using
+<a href="#setBackgroundPixmap">setBackgroundPixmap</a>() or to a mosaic of smaller pixmaps using
+<a href="#setTiles">setTiles</a>(). Individual tiles can be set with <a href="#setTile">setTile</a>(). There
+are corresponding get functions, e.g. <a href="#backgroundColor">backgroundColor</a>() and
+<a href="#backgroundPixmap">backgroundPixmap</a>().
+<p> Note that QCanvas does not inherit from <a href="qwidget.html">QWidget</a>, even though it has some
+functions which provide the same functionality as those in QWidget. One
+of these is setBackgroundPixmap(); some others are <a href="#resize">resize</a>(), <a href="#size">size</a>(),
+<a href="#width">width</a>() and <a href="#height">height</a>(). <a href="qcanvasview.html">QCanvasView</a> is the widget used to display a
+canvas on the screen.
+<p> Canvas items are added to a canvas by constructing them and passing the
+canvas to the canvas item's constructor. An item can be moved to a
+different canvas using <a href="qcanvasitem.html#setCanvas">QCanvasItem::setCanvas</a>().
+<p> Canvas items are movable (and in the case of QCanvasSprites, animated)
+objects that inherit <a href="qcanvasitem.html">QCanvasItem</a>. Each canvas item has a position on the
+canvas (x, y coordinates) and a height (z coordinate), all of which are
+held as floating-point numbers. Moving canvas items also have x and y
+velocities. It's possible for a canvas item to be outside the canvas
+(for example <a href="qcanvasitem.html#x">QCanvasItem::x</a>() is greater than width()). When a canvas
+item is off the canvas, <a href="#onCanvas">onCanvas</a>() returns FALSE and the canvas
+disregards the item. (Canvas items off the canvas do not slow down any
+of the common operations on the canvas.)
+<p> Canvas items can be moved with <a href="qcanvasitem.html#move">QCanvasItem::move</a>(). The <a href="#advance">advance</a>()
+function moves all <a href="qcanvasitem.html#animated">QCanvasItem::animated</a>() canvas items and
+<a href="#setAdvancePeriod">setAdvancePeriod</a>() makes QCanvas move them automatically on a periodic
+basis. In the context of the QCanvas classes, to `animate' a canvas item
+is to set it in motion, i.e. using <a href="qcanvasitem.html#setVelocity">QCanvasItem::setVelocity</a>(). Animation
+of a canvas item itself, i.e. items which change over time, is enabled
+by calling <a href="qcanvassprite.html#setFrameAnimation">QCanvasSprite::setFrameAnimation</a>(), or more generally by
+subclassing and reimplementing <a href="qcanvasitem.html#advance">QCanvasItem::advance</a>(). To detect collisions
+use one of the <a href="qcanvasitem.html#collisions">QCanvasItem::collisions</a>() functions.
+<p> The changed parts of the canvas are redrawn (if they are visible in a
+canvas view) whenever <a href="#update">update</a>() is called. You can either call update()
+manually after having changed the contents of the canvas, or force
+periodic updates using <a href="#setUpdatePeriod">setUpdatePeriod</a>(). If you have moving objects on
+the canvas, you must call <a href="#advance">advance</a>() every time the objects should
+move one step further. Periodic calls to advance() can be forced using
+<a href="#setAdvancePeriod">setAdvancePeriod</a>(). The advance() function will call
+QCanvasItem::advance() on every item that is <a href="qcanvasitem.html#animated">animated</a> and trigger an update of the
+affected areas afterwards. (A canvas item that is `animated' is simply
+a canvas item that is in motion.)
+<p> QCanvas organizes its canvas items into <em>chunks</em>; these are areas on
+the canvas that are used to speed up most operations. Many operations
+start by eliminating most chunks (i.e. those which haven't changed)
+and then process only the canvas items that are in the few interesting
+(i.e. changed) chunks. A valid chunk, <a href="#validChunk">validChunk</a>(), is one which is on
+the canvas.
+<p> The chunk size is a key factor to QCanvas's speed: if there are too many
+chunks, the speed benefit of grouping canvas items into chunks is
+reduced. If the chunks are too large, it takes too long to process each
+one. The QCanvas constructor tries to pick a suitable size, but you
+can call <a href="#retune">retune</a>() to change it at any time. The <a href="#chunkSize">chunkSize</a>() function
+returns the current chunk size. The canvas items always make sure
+they're in the right chunks; all you need to make sure of is that
+the canvas uses the right chunk size. A good rule of thumb is that
+the size should be a bit smaller than the average canvas item
+size. If you have moving objects, the chunk size should be a bit
+smaller than the average size of the moving items.
+<p> The foreground is normally nothing, but if you reimplement
+<a href="#drawForeground">drawForeground</a>(), you can draw things in front of all the canvas
+items.
+<p> Areas can be set as changed with <a href="#setChanged">setChanged</a>() and set unchanged with
+<a href="#setUnchanged">setUnchanged</a>(). The entire canvas can be set as changed with
+<a href="#setAllChanged">setAllChanged</a>(). A list of all the items on the canvas is returned by
+<a href="#allItems">allItems</a>().
+<p> An area can be copied (painted) to a <a href="qpainter.html">QPainter</a> with <a href="#drawArea">drawArea</a>().
+<p> If the canvas is resized it emits the <a href="#resized">resized</a>() signal.
+<p> The examples/canvas application and the 2D graphics page of the
+examples/demo application demonstrate many of QCanvas's facilities.
+<p> <p>See also <a href="qcanvasview.html">QCanvasView</a>, <a href="qcanvasitem.html">QCanvasItem</a>, <a href="abstractwidgets.html">Abstract Widget Classes</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvas"></a>QCanvas::QCanvas ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Create a QCanvas with no size. <em>parent</em> and <em>name</em> are passed to
+the <a href="qobject.html">QObject</a> superclass.
+<p> <b>Warning:</b> You <em>must</em> call <a href="#resize">resize</a>() at some time after creation to
+be able to use the canvas.
+
+<h3 class=fn><a name="QCanvas-2"></a>QCanvas::QCanvas ( int&nbsp;w, int&nbsp;h )
+</h3>
+Constructs a QCanvas that is <em>w</em> pixels wide and <em>h</em> pixels high.
+
+<h3 class=fn><a name="QCanvas-3"></a>QCanvas::QCanvas ( <a href="qpixmap.html">QPixmap</a>&nbsp;p, int&nbsp;h, int&nbsp;v, int&nbsp;tilewidth, int&nbsp;tileheight )
+</h3>
+Constructs a QCanvas which will be composed of <em>h</em> tiles
+horizontally and <em>v</em> tiles vertically. Each tile will be an image
+<em>tilewidth</em> by <em>tileheight</em> pixels taken from pixmap <em>p</em>.
+<p> The pixmap <em>p</em> is a list of tiles, arranged left to right, (and
+in the case of pixmaps that have multiple rows of tiles, top to
+bottom), with tile 0 in the top-left corner, tile 1 next to the
+right, and so on, e.g.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">0 <td valign="top">1 <td valign="top">2 <td valign="top">3
+<tr bgcolor="#d0d0d0"> <td valign="top">4 <td valign="top">5 <td valign="top">6 <td valign="top">7
+</table></center>
+<p> The QCanvas is initially sized to show exactly the given number of
+tiles horizontally and vertically. If it is resized to be larger,
+the entire matrix of tiles will be repeated as often as necessary
+to cover the area. If it is smaller, tiles to the right and bottom
+will not be visible.
+<p> <p>See also <a href="#setTiles">setTiles</a>().
+
+<h3 class=fn><a name="~QCanvas"></a>QCanvas::~QCanvas ()<tt> [virtual]</tt>
+</h3>
+Destroys the canvas and all the canvas's canvas items.
+
+<h3 class=fn>void <a name="advance"></a>QCanvas::advance ()<tt> [virtual slot]</tt>
+</h3>
+Moves all <a href="qcanvasitem.html#animated">QCanvasItem::animated</a>() canvas items on the canvas and
+refreshes all changes to all views of the canvas. (An `animated'
+item is an item that is in motion; see setVelocity().)
+<p> The advance takes place in two phases. In phase 0, the
+<a href="qcanvasitem.html#advance">QCanvasItem::advance</a>() function of each QCanvasItem::animated()
+canvas item is called with paramater 0. Then all these canvas
+items are called again, with parameter 1. In phase 0, the canvas
+items should not change position, merely examine other items on
+the canvas for which special processing is required, such as
+collisions between items. In phase 1, all canvas items should
+change positions, ignoring any other items on the canvas. This
+two-phase approach allows for considerations of "fairness",
+although no <a href="qcanvasitem.html">QCanvasItem</a> subclasses supplied with Qt do anything
+interesting in phase 0.
+<p> The canvas can be configured to call this function periodically
+with <a href="#setAdvancePeriod">setAdvancePeriod</a>().
+<p> <p>See also <a href="#update">update</a>().
+
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="allItems"></a>QCanvas::allItems ()
+</h3>
+Returns a list of all the items in the canvas.
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="backgroundColor"></a>QCanvas::backgroundColor () const
+</h3>
+Returns the color set by <a href="#setBackgroundColor">setBackgroundColor</a>(). By default, this is
+white.
+<p> This function is not a reimplementation of
+<a href="qwidget.html#backgroundColor">QWidget::backgroundColor</a>() (QCanvas is not a subclass of <a href="qwidget.html">QWidget</a>),
+but all QCanvasViews that are viewing the canvas will set their
+backgrounds to this color.
+<p> <p>See also <a href="#setBackgroundColor">setBackgroundColor</a>() and <a href="#backgroundPixmap">backgroundPixmap</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="backgroundPixmap"></a>QCanvas::backgroundPixmap () const
+</h3>
+Returns the pixmap set by <a href="#setBackgroundPixmap">setBackgroundPixmap</a>(). By default,
+this is a null pixmap.
+<p> <p>See also <a href="#setBackgroundPixmap">setBackgroundPixmap</a>() and <a href="#backgroundColor">backgroundColor</a>().
+
+<h3 class=fn>int <a name="chunkSize"></a>QCanvas::chunkSize () const
+</h3>
+
+<p> Returns the chunk size of the canvas.
+<p> <p>See also <a href="#retune">retune</a>().
+
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="collisions"></a>QCanvas::collisions ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+Returns a list of canvas items that collide with the point <em>p</em>.
+The list is ordered by z coordinates, from highest z coordinate
+(front-most item) to lowest z coordinate (rear-most item).
+
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="collisions-2"></a>QCanvas::collisions ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of items which collide with the rectangle <em>r</em>. The
+list is ordered by z coordinates, from highest z coordinate
+(front-most item) to lowest z coordinate (rear-most item).
+
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="collisions-3"></a>QCanvas::collisions ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;chunklist, const&nbsp;<a href="qcanvasitem.html">QCanvasItem</a>&nbsp;*&nbsp;item, bool&nbsp;exact ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of canvas items which intersect with the chunks
+listed in <em>chunklist</em>, excluding <em>item</em>. If <em>exact</em> is TRUE,
+only those which actually <a href="qcanvasitem.html#collidesWith">collide with</a> <em>item</em> are returned; otherwise canvas items
+are included just for being in the chunks.
+<p> This is a utility function mainly used to implement the simpler
+<a href="qcanvasitem.html#collisions">QCanvasItem::collisions</a>() function.
+
+<h3 class=fn>void <a name="drawArea"></a>QCanvas::drawArea ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;clip, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter, bool&nbsp;dbuf = FALSE )
+</h3>
+Paints all canvas items that are in the area <em>clip</em> to <em>painter</em>, using double-buffering if <em>dbuf</em> is TRUE.
+<p> e.g. to print the canvas to a printer:
+<pre>
+ <a href="qprinter.html">QPrinter</a> pr;
+ if ( pr.<a href="qprinter.html#setup">setup</a>() ) {
+ <a href="qpainter.html">QPainter</a> p(&amp;pr);
+ canvas.drawArea( canvas.rect(), &amp;p );
+ }
+ </pre>
+
+
+<p>Example: <a href="canvas-example.html#x2908">canvas/canvas.cpp</a>.
+<h3 class=fn>void <a name="drawBackground"></a>QCanvas::drawBackground ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;painter, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;clip )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called for all updates of the canvas. It
+renders any background graphics using the painter <em>painter</em>, in
+the area <em>clip</em>. If the canvas has a background pixmap or a tiled
+background, that graphic is used, otherwise the canvas is cleared
+using the background color.
+<p> If the graphics for an area change, you must explicitly call
+<a href="#setChanged">setChanged</a>(const <a href="qrect.html">QRect</a>&) for the result to be visible when
+<a href="#update">update</a>() is next called.
+<p> <p>See also <a href="#setBackgroundColor">setBackgroundColor</a>(), <a href="#setBackgroundPixmap">setBackgroundPixmap</a>(), and <a href="#setTiles">setTiles</a>().
+
+<h3 class=fn>void <a name="drawForeground"></a>QCanvas::drawForeground ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;painter, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;clip )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called for all updates of the canvas. It
+renders any foreground graphics using the painter <em>painter</em>, in
+the area <em>clip</em>.
+<p> If the graphics for an area change, you must explicitly call
+<a href="#setChanged">setChanged</a>(const <a href="qrect.html">QRect</a>&) for the result to be visible when
+<a href="#update">update</a>() is next called.
+<p> The default is to draw nothing.
+
+<h3 class=fn>int <a name="height"></a>QCanvas::height () const
+</h3>
+
+<p> Returns the height of the canvas, in pixels.
+
+<p>Example: <a href="canvas-example.html#x2909">canvas/canvas.cpp</a>.
+<h3 class=fn>bool <a name="onCanvas"></a>QCanvas::onCanvas ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+
+<p> Returns TRUE if the pixel position (<em>x</em>, <em>y</em>) is on the canvas;
+otherwise returns FALSE.
+<p> <p>See also <a href="#validChunk">validChunk</a>().
+
+<h3 class=fn>bool <a name="onCanvas-2"></a>QCanvas::onCanvas ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the pixel position <em>p</em> is on the canvas;
+otherwise returns FALSE.
+<p> <p>See also <a href="#validChunk">validChunk</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QCanvas::rect () const
+</h3>
+
+<p> Returns a rectangle the size of the canvas.
+
+<h3 class=fn>void <a name="resize"></a>QCanvas::resize ( int&nbsp;w, int&nbsp;h )<tt> [virtual]</tt>
+</h3>
+Changes the size of the canvas to have a width of <em>w</em> and a
+height of <em>h</em>. This is a slow operation.
+
+<p>Examples: <a href="canvas-example.html#x2910">canvas/canvas.cpp</a> and <a href="canvas-chart-example.html#x2876">chart/chartform.cpp</a>.
+<h3 class=fn>void <a name="resized"></a>QCanvas::resized ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the canvas is resized. Each
+<a href="qcanvasview.html">QCanvasView</a> connects to this signal to keep the scrollview's size
+correct.
+
+<h3 class=fn>void <a name="retune"></a>QCanvas::retune ( int&nbsp;chunksze, int&nbsp;mxclusters = 100 )<tt> [virtual]</tt>
+</h3>
+Change the efficiency tuning parameters to <em>mxclusters</em> clusters,
+each of size <em>chunksze</em>. This is a slow operation if there are
+many objects on the canvas.
+<p> The canvas is divided into chunks which are rectangular areas <em>chunksze</em> wide by <em>chunksze</em> high. Use a chunk size which is about
+the average size of the canvas items. If you choose a chunk size
+which is too small it will increase the amount of calculation
+required when drawing since each change will affect many chunks.
+If you choose a chunk size which is too large the amount of
+drawing required will increase because for each change, a lot of
+drawing will be required since there will be many (unchanged)
+canvas items which are in the same chunk as the changed canvas
+items.
+<p> Internally, a canvas uses a low-resolution "chunk matrix" to keep
+track of all the items in the canvas. A 64x64 chunk matrix is the
+default for a 1024x1024 pixel canvas, where each chunk collects
+canvas items in a 16x16 pixel square. This default is also
+affected by <a href="#setTiles">setTiles</a>(). You can tune this default using this
+function. For example if you have a very large canvas and want to
+trade off speed for memory then you might set the chunk size to 32
+or 64.
+<p> The <em>mxclusters</em> argument is the number of rectangular groups of
+chunks that will be separately drawn. If the canvas has a large
+number of small, dispersed items, this should be about that
+number. Our testing suggests that a large number of clusters is
+almost always best.
+<p>
+<h3 class=fn>void <a name="setAdvancePeriod"></a>QCanvas::setAdvancePeriod ( int&nbsp;ms )<tt> [virtual]</tt>
+</h3>
+Sets the canvas to call <a href="#advance">advance</a>() every <em>ms</em> milliseconds. Any
+previous setting by <a href="#setAdvancePeriod">setAdvancePeriod</a>() or <a href="#setUpdatePeriod">setUpdatePeriod</a>() is
+overridden.
+<p> If <em>ms</em> is less than 0 advancing will be stopped.
+
+<p>Example: <a href="canvas-example.html#x2962">canvas/main.cpp</a>.
+<h3 class=fn>void <a name="setAllChanged"></a>QCanvas::setAllChanged ()<tt> [virtual]</tt>
+</h3>
+Marks the whole canvas as changed.
+All views of the canvas will be entirely redrawn when
+<a href="#update">update</a>() is called next.
+
+<h3 class=fn>void <a name="setBackgroundColor"></a>QCanvas::setBackgroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [virtual]</tt>
+</h3>
+Sets the solid background to be the color <em>c</em>.
+<p> <p>See also <a href="#backgroundColor">backgroundColor</a>(), <a href="#setBackgroundPixmap">setBackgroundPixmap</a>(), and <a href="#setTiles">setTiles</a>().
+
+<h3 class=fn>void <a name="setBackgroundPixmap"></a>QCanvas::setBackgroundPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Sets the solid background to be the pixmap <em>p</em> repeated as
+necessary to cover the entire canvas.
+<p> <p>See also <a href="#backgroundPixmap">backgroundPixmap</a>(), <a href="#setBackgroundColor">setBackgroundColor</a>(), and <a href="#setTiles">setTiles</a>().
+
+<h3 class=fn>void <a name="setChanged"></a>QCanvas::setChanged ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;area )<tt> [virtual]</tt>
+</h3>
+Marks <em>area</em> as changed. This <em>area</em> will be redrawn in all
+views that are showing it when <a href="#update">update</a>() is called next.
+
+<h3 class=fn>void <a name="setDoubleBuffering"></a>QCanvas::setDoubleBuffering ( bool&nbsp;y )<tt> [virtual]</tt>
+</h3>
+If <em>y</em> is TRUE (the default) double-buffering is switched on;
+otherwise double-buffering is switched off.
+<p> Turning off double-buffering causes the redrawn areas to flicker a
+little and also gives a (usually small) performance improvement.
+
+<p>Example: <a href="canvas-example.html#x2911">canvas/canvas.cpp</a>.
+<h3 class=fn>void <a name="setTile"></a>QCanvas::setTile ( int&nbsp;x, int&nbsp;y, int&nbsp;tilenum )<tt> [virtual]</tt>
+</h3>
+Sets the tile at (<em>x</em>, <em>y</em>) to use tile number <em>tilenum</em>, which
+is an index into the tile pixmaps. The canvas will update
+appropriately when <a href="#update">update</a>() is next called.
+<p> The images are taken from the pixmap set by <a href="#setTiles">setTiles</a>() and are
+arranged left to right, (and in the case of pixmaps that have
+multiple rows of tiles, top to bottom), with tile 0 in the
+top-left corner, tile 1 next to the right, and so on, e.g.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">0 <td valign="top">1 <td valign="top">2 <td valign="top">3
+<tr bgcolor="#d0d0d0"> <td valign="top">4 <td valign="top">5 <td valign="top">6 <td valign="top">7
+</table></center>
+<p> <p>See also <a href="#tile">tile</a>() and <a href="#setTiles">setTiles</a>().
+
+<h3 class=fn>void <a name="setTiles"></a>QCanvas::setTiles ( <a href="qpixmap.html">QPixmap</a>&nbsp;p, int&nbsp;h, int&nbsp;v, int&nbsp;tilewidth, int&nbsp;tileheight )<tt> [virtual]</tt>
+</h3>
+Sets the QCanvas to be composed of <em>h</em> tiles horizontally and <em>v</em> tiles vertically. Each tile will be an image <em>tilewidth</em> by <em>tileheight</em> pixels from pixmap <em>p</em>.
+<p> The pixmap <em>p</em> is a list of tiles, arranged left to right, (and
+in the case of pixmaps that have multiple rows of tiles, top to
+bottom), with tile 0 in the top-left corner, tile 1 next to the
+right, and so on, e.g.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">0 <td valign="top">1 <td valign="top">2 <td valign="top">3
+<tr bgcolor="#d0d0d0"> <td valign="top">4 <td valign="top">5 <td valign="top">6 <td valign="top">7
+</table></center>
+<p> If the canvas is larger than the matrix of tiles, the entire
+matrix is repeated as necessary to cover the whole canvas. If it
+is smaller, tiles to the right and bottom are not visible.
+<p> The width and height of <em>p</em> must be a multiple of <em>tilewidth</em>
+and <em>tileheight</em>. If they are not the function will do nothing.
+<p> If you want to unset any tiling set, then just pass in a null
+pixmap and 0 for <em>h</em>, <em>v</em>, <em>tilewidth</em>, and
+<em>tileheight</em>.
+
+<h3 class=fn>void <a name="setUnchanged"></a>QCanvas::setUnchanged ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;area )<tt> [virtual]</tt>
+</h3>
+Marks <em>area</em> as <em>unchanged</em>. The area will <em>not</em> be redrawn in
+the views for the next <a href="#update">update</a>(), unless it is marked or changed
+again before the next call to update().
+
+<h3 class=fn>void <a name="setUpdatePeriod"></a>QCanvas::setUpdatePeriod ( int&nbsp;ms )<tt> [virtual]</tt>
+</h3>
+Sets the canvas to call <a href="#update">update</a>() every <em>ms</em> milliseconds. Any
+previous setting by <a href="#setAdvancePeriod">setAdvancePeriod</a>() or <a href="#setUpdatePeriod">setUpdatePeriod</a>() is
+overridden.
+<p> If <em>ms</em> is less than 0 automatic updating will be stopped.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QCanvas::size () const
+</h3>
+
+<p> Returns the size of the canvas, in pixels.
+
+<h3 class=fn>int <a name="tile"></a>QCanvas::tile ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+
+<p> Returns the tile at position (<em>x</em>, <em>y</em>). Initially, all tiles
+are 0.
+<p> The parameters must be within range, i.e.
+0 &lt; <em>x</em> &lt; <a href="#tilesHorizontally">tilesHorizontally</a>() and
+0 &lt; <em>y</em> &lt; <a href="#tilesVertically">tilesVertically</a>().
+<p> <p>See also <a href="#setTile">setTile</a>().
+
+<h3 class=fn>int <a name="tileHeight"></a>QCanvas::tileHeight () const
+</h3>
+
+<p> Returns the height of each tile.
+
+<h3 class=fn>int <a name="tileWidth"></a>QCanvas::tileWidth () const
+</h3>
+
+<p> Returns the width of each tile.
+
+<h3 class=fn>int <a name="tilesHorizontally"></a>QCanvas::tilesHorizontally () const
+</h3>
+
+<p> Returns the number of tiles horizontally.
+
+<h3 class=fn>int <a name="tilesVertically"></a>QCanvas::tilesVertically () const
+</h3>
+
+<p> Returns the number of tiles vertically.
+
+<h3 class=fn>void <a name="update"></a>QCanvas::update ()<tt> [virtual slot]</tt>
+</h3>
+Repaints changed areas in all views of the canvas.
+<p> <p>See also <a href="#advance">advance</a>().
+
+<h3 class=fn>bool <a name="validChunk"></a>QCanvas::validChunk ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+
+<p> Returns TRUE if the chunk position (<em>x</em>, <em>y</em>) is on the canvas;
+otherwise returns FALSE.
+<p> <p>See also <a href="#onCanvas">onCanvas</a>().
+
+<h3 class=fn>bool <a name="validChunk-2"></a>QCanvas::validChunk ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the chunk position <em>p</em> is on the canvas; otherwise
+returns FALSE.
+<p> <p>See also <a href="#onCanvas">onCanvas</a>().
+
+<h3 class=fn>int <a name="width"></a>QCanvas::width () const
+</h3>
+
+<p> Returns the width of the canvas, in pixels.
+
+<p>Example: <a href="canvas-example.html#x2912">canvas/canvas.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvas.png b/doc/html/qcanvas.png
new file mode 100644
index 0000000..0fe8ae8
--- /dev/null
+++ b/doc/html/qcanvas.png
Binary files differ
diff --git a/doc/html/qcanvasellipse-members.html b/doc/html/qcanvasellipse-members.html
new file mode 100644
index 0000000..72d21ff
--- /dev/null
+++ b/doc/html/qcanvasellipse-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:711 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasEllipse Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasEllipse</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasellipse.html">QCanvasEllipse</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasellipse.html#QCanvasEllipse">QCanvasEllipse</a>()
+<li><a href="qcanvasellipse.html#~QCanvasEllipse">~QCanvasEllipse</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasellipse.html#angleLength">angleLength</a>()
+<li><a href="qcanvasellipse.html#angleStart">angleStart</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvasellipse.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasellipse.html#height">height</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvasellipse.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasellipse.html#setAngles">setAngles</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasellipse.html#setSize">setSize</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvasellipse.html#width">width</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasellipse.html b/doc/html/qcanvasellipse.html
new file mode 100644
index 0000000..b809cf5
--- /dev/null
+++ b/doc/html/qcanvasellipse.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4671 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasEllipse Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasEllipse Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasEllipse class provides an ellipse or ellipse segment on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>.
+<p><a href="qcanvasellipse-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasEllipse"><b>QCanvasEllipse</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasEllipse-2"><b>QCanvasEllipse</b></a> ( int&nbsp;width, int&nbsp;height, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasEllipse-3"><b>QCanvasEllipse</b></a> ( int&nbsp;width, int&nbsp;height, int&nbsp;startangle, int&nbsp;angle, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#~QCanvasEllipse"><b>~QCanvasEllipse</b></a> ()</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>void <a href="#setSize"><b>setSize</b></a> ( int&nbsp;width, int&nbsp;height )</li>
+<li class=fn>void <a href="#setAngles"><b>setAngles</b></a> ( int&nbsp;start, int&nbsp;length )</li>
+<li class=fn>int <a href="#angleStart"><b>angleStart</b></a> () const</li>
+<li class=fn>int <a href="#angleLength"><b>angleLength</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawShape"><b>drawShape</b></a> ( QPainter&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasEllipse class provides an ellipse or ellipse segment on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A canvas item that paints an ellipse or ellipse segment with a <a href="qbrush.html">QBrush</a>.
+The ellipse's height, width, start angle and angle length can be set
+at construction time. The size can be changed at runtime with
+<a href="#setSize">setSize</a>(), and the angles can be changed (if you're displaying an
+ellipse segment rather than a whole ellipse) with <a href="#setAngles">setAngles</a>().
+<p> Note that angles are specified in 16ths of a degree.
+<p> <a name="anglediagram"></a>
+<center><img src="qcanvasellipse.png" alt="Ellipse"></center>
+<p> If a start angle and length angle are set then an ellipse segment
+will be drawn. The start angle is the angle that goes from zero in a
+counter-clockwise direction (shown in green in the diagram). The
+length angle is the angle from the start angle in a
+counter-clockwise direction (shown in blue in the diagram). The blue
+segment is the segment of the ellipse that would be drawn. If no
+start angle and length angle are specified the entire ellipse is
+drawn.
+<p> The ellipse can be drawn on a painter with <a href="#drawShape">drawShape</a>().
+<p> Like any other canvas item ellipses can be moved with <a href="qcanvasitem.html#move">move</a>() and
+<a href="qcanvasitem.html#moveBy">moveBy</a>(), or by setting coordinates with <a href="qcanvasitem.html#setX">setX</a>(), <a href="qcanvasitem.html#setY">setY</a>() and <a href="qcanvasitem.html#setZ">setZ</a>().
+<p> Note: QCanvasEllipse does not use the pen.
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasEllipse"></a>QCanvasEllipse::QCanvasEllipse ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a 32x32 ellipse, centered at (0, 0) on <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasEllipse-2"></a>QCanvasEllipse::QCanvasEllipse ( int&nbsp;width, int&nbsp;height, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a <em>width</em> by <em>height</em> pixel ellipse, centered at
+(0, 0) on <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasEllipse-3"></a>QCanvasEllipse::QCanvasEllipse ( int&nbsp;width, int&nbsp;height, int&nbsp;startangle, int&nbsp;angle, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a <em>width</em> by <em>height</em> pixel ellipse, centered at
+(0, 0) on <em>canvas</em>. Only a segment of the ellipse is drawn,
+starting at angle <em>startangle</em>, and extending for angle <em>angle</em>
+(the angle length).
+<p> Note that angles are specified in
+<small><sup>1</sup>/<sub>16</sub></small>ths of a degree.
+
+<h3 class=fn><a name="~QCanvasEllipse"></a>QCanvasEllipse::~QCanvasEllipse ()
+</h3>
+Destroys the ellipse.
+
+<h3 class=fn>int <a name="angleLength"></a>QCanvasEllipse::angleLength () const
+</h3>
+
+<p> Returns the length angle (the extent of the ellipse segment) in
+16ths of a degree. Initially this will be 360 * 16 (a complete
+ellipse).
+<p> <p>See also <a href="#setAngles">setAngles</a>() and <a href="#angleStart">angleStart</a>().
+
+<h3 class=fn>int <a name="angleStart"></a>QCanvasEllipse::angleStart () const
+</h3>
+
+<p> Returns the start angle in 16ths of a degree. Initially
+this will be 0.
+<p> <p>See also <a href="#setAngles">setAngles</a>() and <a href="#angleLength">angleLength</a>().
+
+<h3 class=fn>void <a name="drawShape"></a>QCanvasEllipse::drawShape ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the ellipse, centered at <a href="qcanvasitem.html#x">x</a>(), <a href="qcanvasitem.html#y">y</a>() using the painter <em>p</em>.
+<p> Note that QCanvasEllipse does not support an outline (the pen is
+always NoPen).
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#drawShape">QCanvasPolygonalItem</a>.
+<h3 class=fn>int <a name="height"></a>QCanvasEllipse::height () const
+</h3>
+Returns the height of the ellipse.
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasEllipse::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 6 (QCanvasItem::Rtti_Ellipse).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a>.
+<h3 class=fn>void <a name="setAngles"></a>QCanvasEllipse::setAngles ( int&nbsp;start, int&nbsp;length )
+</h3>
+Sets the angles for the ellipse. The start angle is <em>start</em> and
+the extent of the segment is <em>length</em> (the angle length) from the
+<em>start</em>. The angles are specified in 16ths of a degree. By
+default the ellipse will start at 0 and have an angle length of
+360 * 16 (a complete ellipse).
+<p> <p>See also <a href="#angleStart">angleStart</a>() and <a href="#angleLength">angleLength</a>().
+
+<h3 class=fn>void <a name="setSize"></a>QCanvasEllipse::setSize ( int&nbsp;width, int&nbsp;height )
+</h3>
+Sets the <em>width</em> and <em>height</em> of the ellipse.
+
+<h3 class=fn>int <a name="width"></a>QCanvasEllipse::width () const
+</h3>
+Returns the width of the ellipse.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasellipse.png b/doc/html/qcanvasellipse.png
new file mode 100644
index 0000000..2abfb6b
--- /dev/null
+++ b/doc/html/qcanvasellipse.png
Binary files differ
diff --git a/doc/html/qcanvasitem-members.html b/doc/html/qcanvasitem-members.html
new file mode 100644
index 0000000..189b83e
--- /dev/null
+++ b/doc/html/qcanvasitem-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:92 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasitem.html">QCanvasItem</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasitem.html#QCanvasItem">QCanvasItem</a>()
+<li><a href="qcanvasitem.html#~QCanvasItem">~QCanvasItem</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvasitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvasitem.html#draw">draw</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvasitem.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasitem.html b/doc/html/qcanvasitem.html
new file mode 100644
index 0000000..1edfee5
--- /dev/null
+++ b/doc/html/qcanvasitem.html
@@ -0,0 +1,480 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:1843 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasItem Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasItem class provides an abstract graphic object on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qcanvassprite.html">QCanvasSprite</a>, <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>, and <a href="qcanvastext.html">QCanvasText</a>.
+<p><a href="qcanvasitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasItem"><b>QCanvasItem</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn>virtual <a href="#~QCanvasItem"><b>~QCanvasItem</b></a> ()</li>
+<li class=fn>double <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>double <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>double <a href="#z"><b>z</b></a> () const</li>
+<li class=fn>virtual void <a href="#moveBy"><b>moveBy</b></a> ( double&nbsp;dx, double&nbsp;dy )</li>
+<li class=fn>void <a href="#move"><b>move</b></a> ( double&nbsp;x, double&nbsp;y )</li>
+<li class=fn>void <a href="#setX"><b>setX</b></a> ( double&nbsp;x )</li>
+<li class=fn>void <a href="#setY"><b>setY</b></a> ( double&nbsp;y )</li>
+<li class=fn>void <a href="#setZ"><b>setZ</b></a> ( double&nbsp;z )</li>
+<li class=fn>bool <a href="#animated"><b>animated</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAnimated"><b>setAnimated</b></a> ( bool&nbsp;y )</li>
+<li class=fn>virtual void <a href="#setVelocity"><b>setVelocity</b></a> ( double&nbsp;vx, double&nbsp;vy )</li>
+<li class=fn>void <a href="#setXVelocity"><b>setXVelocity</b></a> ( double&nbsp;vx )</li>
+<li class=fn>void <a href="#setYVelocity"><b>setYVelocity</b></a> ( double&nbsp;vy )</li>
+<li class=fn>double <a href="#xVelocity"><b>xVelocity</b></a> () const</li>
+<li class=fn>double <a href="#yVelocity"><b>yVelocity</b></a> () const</li>
+<li class=fn>virtual void <a href="#advance"><b>advance</b></a> ( int&nbsp;phase )</li>
+<li class=fn>virtual bool <a href="#collidesWith"><b>collidesWith</b></a> ( const&nbsp;QCanvasItem&nbsp;*&nbsp;other ) const = 0</li>
+<li class=fn>QCanvasItemList <a href="#collisions"><b>collisions</b></a> ( bool&nbsp;exact ) const</li>
+<li class=fn>virtual void <a href="#setCanvas"><b>setCanvas</b></a> ( QCanvas&nbsp;*&nbsp;c )</li>
+<li class=fn>virtual void <a href="#draw"><b>draw</b></a> ( QPainter&nbsp;&amp;&nbsp;painter ) = 0</li>
+<li class=fn>void <a href="#show"><b>show</b></a> ()</li>
+<li class=fn>void <a href="#hide"><b>hide</b></a> ()</li>
+<li class=fn>virtual void <a href="#setVisible"><b>setVisible</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>bool <a href="#isVisible"><b>isVisible</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> () const</li>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>virtual void <a href="#setActive"><b>setActive</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>bool visible () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool selected () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool enabled () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool active () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#RttiValues-enum"><b>RttiValues</b></a> { Rtti_Item = 0, Rtti_Sprite = 1, Rtti_PolygonalItem = 2, Rtti_Text = 3, Rtti_Polygon = 4, Rtti_Rectangle = 5, Rtti_Ellipse = 6, Rtti_Line = 7, Rtti_Spline = 8 }</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+<li class=fn>virtual QRect <a href="#boundingRect"><b>boundingRect</b></a> () const = 0</li>
+<li class=fn>virtual QRect <a href="#boundingRectAdvanced"><b>boundingRectAdvanced</b></a> () const</li>
+<li class=fn>QCanvas * <a href="#canvas"><b>canvas</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#update"><b>update</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasItem class provides an abstract graphic object on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A variety of QCanvasItem subclasses provide immediately usable
+behaviour. This class is a pure abstract superclass providing the
+behaviour that is shared among all the concrete canvas item classes.
+QCanvasItem is not intended for direct subclassing. It is much easier
+to subclass one of its subclasses, e.g. <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a> (the
+commonest base class), <a href="qcanvasrectangle.html">QCanvasRectangle</a>, <a href="qcanvassprite.html">QCanvasSprite</a>, <a href="qcanvasellipse.html">QCanvasEllipse</a>
+or <a href="qcanvastext.html">QCanvasText</a>.
+<p> Canvas items are added to a canvas by constructing them and passing the
+canvas to the canvas item's constructor. An item can be moved to a
+different canvas using <a href="#setCanvas">setCanvas</a>().
+<p> Items appear on the canvas after their <a href="#show">show()</a>
+function has been called (or <a href="#setVisible">setVisible(TRUE)</a>), and <em>after</em> <a href="#update">update</a>() has been called. The
+canvas only shows items that are <a href="#setVisible">visible</a>,
+and then only if <a href="#update">update</a>() is called. If you created the canvas
+without passing a width and height to the constructor you'll also need
+to call <a href="qcanvas.html#resize">resize()</a>. Since the canvas
+background defaults to white and canvas items default to white,
+you may need to change colors to see your items.
+<p> A QCanvasItem object can be moved in the <a href="#x">x</a>(), <a href="#y">y</a>() and <a href="#z">z</a>() dimensions
+using functions such as <a href="#move">move</a>(), <a href="#moveBy">moveBy</a>(), <a href="#setX">setX</a>(), <a href="#setY">setY</a>() and <a href="#setZ">setZ</a>(). A
+canvas item can be set in motion, `animated', using <a href="#setAnimated">setAnimated</a>() and
+given a velocity in the x and y directions with <a href="#setXVelocity">setXVelocity</a>() and
+<a href="#setYVelocity">setYVelocity</a>() -- the same effect can be achieved by calling
+<a href="#setVelocity">setVelocity</a>(). Use the <a href="#collidesWith">collidesWith</a>() function to see if the canvas item
+will collide on the <em>next</em> <a href="#advance">advance</a>(1) and use <a href="#collisions">collisions</a>() to see what
+collisions have occurred.
+<p> Use <a href="qcanvassprite.html">QCanvasSprite</a> or your own subclass of QCanvasSprite to create canvas
+items which are animated, i.e. which change over time.
+<p> The size of a canvas item is given by <a href="#boundingRect">boundingRect</a>(). Use
+<a href="#boundingRectAdvanced">boundingRectAdvanced</a>() to see what the size of the canvas item will be
+<em>after</em> the next advance(1) call.
+<p> The <a href="#rtti">rtti</a>() function is used for identifying subclasses of QCanvasItem.
+The <a href="#canvas">canvas</a>() function returns a pointer to the canvas which contains the
+canvas item.
+<p> QCanvasItem provides the <a href="#show">show</a>() and <a href="#isVisible">isVisible</a>() functions like those in
+<a href="qwidget.html">QWidget</a>.
+<p> QCanvasItem also provides the <a href="#setEnabled">setEnabled</a>(), <a href="#setActive">setActive</a>() and
+<a href="#setSelected">setSelected</a>() functions; these functions set the relevant boolean and
+cause a repaint but the boolean values they set are not used in
+QCanvasItem itself. You can make use of these booleans in your subclasses.
+<p> By default, canvas items have no velocity, no size, and are not in
+motion. The subclasses provided in Qt do not change these defaults
+except where noted.
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="RttiValues-enum"></a>QCanvasItem::RttiValues</h3>
+
+<p> This enum is used to name the different types of canvas item.
+<ul>
+<li><tt>QCanvasItem::Rtti_Item</tt> - Canvas item abstract base class
+<li><tt>QCanvasItem::Rtti_Ellipse</tt>
+<li><tt>QCanvasItem::Rtti_Line</tt>
+<li><tt>QCanvasItem::Rtti_Polygon</tt>
+<li><tt>QCanvasItem::Rtti_PolygonalItem</tt>
+<li><tt>QCanvasItem::Rtti_Rectangle</tt>
+<li><tt>QCanvasItem::Rtti_Spline</tt>
+<li><tt>QCanvasItem::Rtti_Sprite</tt>
+<li><tt>QCanvasItem::Rtti_Text</tt>
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasItem"></a>QCanvasItem::QCanvasItem ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasItem on canvas <em>canvas</em>.
+<p> <p>See also <a href="#setCanvas">setCanvas</a>().
+
+<h3 class=fn><a name="~QCanvasItem"></a>QCanvasItem::~QCanvasItem ()<tt> [virtual]</tt>
+</h3>
+Destroys the QCanvasItem and removes it from its canvas.
+
+<h3 class=fn>bool <a name="active"></a>QCanvasItem::active () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Use <a href="#isActive">isActive</a>() instead.
+
+<h3 class=fn>void <a name="advance"></a>QCanvasItem::advance ( int&nbsp;phase )<tt> [virtual]</tt>
+</h3>
+The default implementation moves the canvas item, if it is
+<a href="#animated">animated</a>(), by the preset velocity if <em>phase</em> is 1, and does
+nothing if <em>phase</em> is 0.
+<p> Note that if you reimplement this function, the reimplementation
+must not change the canvas in any way, for example it must not add
+or remove items.
+<p> <p>See also <a href="qcanvas.html#advance">QCanvas::advance</a>() and <a href="#setVelocity">setVelocity</a>().
+
+<p>Example: <a href="canvas-example.html#x2913">canvas/canvas.cpp</a>.
+<p>Reimplemented in <a href="qcanvassprite.html#advance">QCanvasSprite</a>.
+<h3 class=fn>bool <a name="animated"></a>QCanvasItem::animated () const
+</h3>
+Returns TRUE if the canvas item is in motion; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setVelocity">setVelocity</a>() and <a href="#setAnimated">setAnimated</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QCanvasItem::boundingRect () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the bounding rectangle in pixels that the canvas item covers.
+<p> <p>See also <a href="#boundingRectAdvanced">boundingRectAdvanced</a>().
+
+<p>Reimplemented in <a href="qcanvassprite.html#boundingRect">QCanvasSprite</a>, <a href="qcanvaspolygonalitem.html#boundingRect">QCanvasPolygonalItem</a>, and <a href="qcanvastext.html#boundingRect">QCanvasText</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRectAdvanced"></a>QCanvasItem::boundingRectAdvanced () const<tt> [virtual]</tt>
+</h3>
+Returns the bounding rectangle of pixels that the canvas item <em>will</em> cover after <a href="#advance">advance</a>(1) is called.
+<p> <p>See also <a href="#boundingRect">boundingRect</a>().
+
+<h3 class=fn><a href="qcanvas.html">QCanvas</a>&nbsp;* <a name="canvas"></a>QCanvasItem::canvas () const
+</h3>
+
+<p> Returns the canvas containing the canvas item.
+
+<h3 class=fn>bool <a name="collidesWith"></a>QCanvasItem::collidesWith ( const&nbsp;<a href="qcanvasitem.html">QCanvasItem</a>&nbsp;*&nbsp;other ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the canvas item will collide with the <em>other</em>
+item <em>after</em> they have moved by their current velocities;
+otherwise returns FALSE.
+<p> <p>See also <a href="#collisions">collisions</a>().
+
+<p>Example: <a href="canvas-example.html#x2914">canvas/canvas.cpp</a>.
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="collisions"></a>QCanvasItem::collisions ( bool&nbsp;exact ) const
+</h3>
+Returns the list of canvas items that this canvas item has
+collided with.
+<p> A collision is generally defined as occurring when the pixels of
+one item draw on the pixels of another item, but not all
+subclasses are so precise. Also, since pixel-wise collision
+detection can be slow, this function works in either exact or
+inexact mode, according to the <em>exact</em> parameter.
+<p> If <em>exact</em> is TRUE, the canvas items returned have been
+accurately tested for collision with the canvas item.
+<p> If <em>exact</em> is FALSE, the canvas items returned are <em>near</em> the
+canvas item. You can test the canvas items returned using
+<a href="#collidesWith">collidesWith</a>() if any are interesting collision candidates. By
+using this approach, you can ignore some canvas items for which
+collisions are not relevant.
+<p> The returned list is a list of QCanvasItems, but often you will
+need to cast the items to their subclass types. The safe way to do
+this is to use <a href="#rtti">rtti</a>() before casting. This provides some of the
+functionality of the standard C++ dynamic cast operation even on
+compilers where dynamic casts are not available.
+<p> Note that a canvas item may be `on' a canvas, e.g. it was created
+with the canvas as parameter, even though its coordinates place it
+beyond the edge of the canvas's area. Collision detection only
+works for canvas items which are wholly or partly within the
+canvas's area.
+<p> Note that if items have a velocity (see <a href="#setVelocity">setVelocity</a>()), then
+collision testing is done based on where the item <em>will</em> be when
+it moves, not its current location. For example, a "ball" item
+doesn't need to actually embed into a "wall" item before a
+collision is detected. For items without velocity, plain
+intersection is used.
+
+<h3 class=fn>void <a name="draw"></a>QCanvasItem::draw ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;painter )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This abstract virtual function draws the canvas item using <em>painter</em>.
+<p> <b>Warning:</b> When you reimplement this function, make sure that you
+leave the painter in the same state as you found it. For example,
+if you start by calling <a href="qpainter.html#translate">QPainter::translate</a>(50, 50), end your
+code by calling QPainter::translate(-50, -50). Be also aware that
+the painter might already have some transformations set (i.e.,
+don't call <a href="qpainter.html#resetXForm">QPainter::resetXForm</a>() when you're done).
+
+<p>Reimplemented in <a href="qcanvassprite.html#draw">QCanvasSprite</a>, <a href="qcanvaspolygonalitem.html#draw">QCanvasPolygonalItem</a>, and <a href="qcanvastext.html#draw">QCanvasText</a>.
+<h3 class=fn>bool <a name="enabled"></a>QCanvasItem::enabled () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Use <a href="#isEnabled">isEnabled</a>() instead.
+
+<h3 class=fn>void <a name="hide"></a>QCanvasItem::hide ()
+</h3> Shorthand for <a href="#setVisible">setVisible</a>(FALSE).
+<h3 class=fn>bool <a name="isActive"></a>QCanvasItem::isActive () const
+</h3>
+
+<p> Returns TRUE if the QCanvasItem is active; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isEnabled"></a>QCanvasItem::isEnabled () const
+</h3>
+
+<p> Returns TRUE if the QCanvasItem is enabled; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSelected"></a>QCanvasItem::isSelected () const
+</h3>
+
+<p> Returns TRUE if the canvas item is selected; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isVisible"></a>QCanvasItem::isVisible () const
+</h3>
+
+<p> Returns TRUE if the canvas item is visible; otherwise returns
+FALSE.
+<p> Note that in this context TRUE does <em>not</em> mean that the canvas
+item is currently in a view, merely that if a view is showing the
+area where the canvas item is positioned, and the item is not
+obscured by items with higher z values, and the view is not
+obscured by overlaying windows, it would be visible.
+<p> <p>See also <a href="#setVisible">setVisible</a>() and <a href="#z">z</a>().
+
+<h3 class=fn>void <a name="move"></a>QCanvasItem::move ( double&nbsp;x, double&nbsp;y )
+</h3>
+Moves the canvas item to the absolute position (<em>x</em>, <em>y</em>).
+
+<p>Example: <a href="canvas-example.html#x2915">canvas/canvas.cpp</a>.
+<h3 class=fn>void <a name="moveBy"></a>QCanvasItem::moveBy ( double&nbsp;dx, double&nbsp;dy )<tt> [virtual]</tt>
+</h3>
+Moves the canvas item relative to its current position by (<em>dx</em>,
+<em>dy</em>).
+
+<p>Example: <a href="canvas-example.html#x2916">canvas/canvas.cpp</a>.
+<h3 class=fn>int <a name="rtti"></a>QCanvasItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 0 (QCanvasItem::Rtti_Item).
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>(), so
+that you can distinguish between objects returned by
+QCanvas::at(). You should use values greater than 1000 to allow
+for extensions to this class.
+<p> Overuse of this functionality can damage it's extensibility. For
+example, once you have identified a base class of a QCanvasItem
+found by QCanvas::at(), cast it to that type and call meaningful
+methods rather than acting upon the object based on its rtti
+value.
+<p> For example:
+<p> <pre>
+ QCanvasItem* item;
+ // Find an item, e.g. with QCanvasItem::collisions().
+ ...
+ if (item-&gt;<a href="#rtti">rtti</a>() == MySprite::RTTI ) {
+ MySprite* s = (MySprite*)item;
+ if (s-&gt;isDamagable()) s-&gt;loseHitPoints(1000);
+ if (s-&gt;isHot()) myself-&gt;loseHitPoints(1000);
+ ...
+ }
+ </pre>
+
+
+<p>Example: <a href="canvas-example.html#x2917">canvas/canvas.cpp</a>.
+<p>Reimplemented in <a href="qcanvassprite.html#rtti">QCanvasSprite</a>, <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a>, and <a href="qcanvastext.html#rtti">QCanvasText</a>.
+<h3 class=fn>bool <a name="selected"></a>QCanvasItem::selected () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Use <a href="#isSelected">isSelected</a>() instead.
+
+<h3 class=fn>void <a name="setActive"></a>QCanvasItem::setActive ( bool&nbsp;yes )<tt> [virtual]</tt>
+</h3>
+Sets the active flag of the item to <em>yes</em>. If this changes the
+item's active state the item will be redrawn when
+<a href="qcanvas.html#update">QCanvas::update</a>() is next called.
+<p> The <a href="qcanvas.html">QCanvas</a>, QCanvasItem and the Qt-supplied QCanvasItem
+subclasses do not make use of this value. The <a href="#setActive">setActive</a>() function
+is supplied because many applications need it, but it is up to you
+how you use the <a href="#isActive">isActive</a>() value.
+
+<h3 class=fn>void <a name="setAnimated"></a>QCanvasItem::setAnimated ( bool&nbsp;y )<tt> [virtual]</tt>
+</h3>
+Sets the canvas item to be in motion if <em>y</em> is TRUE, or not if <em>y</em> is FALSE. The speed and direction of the motion is set with
+<a href="#setVelocity">setVelocity</a>(), or with <a href="#setXVelocity">setXVelocity</a>() and <a href="#setYVelocity">setYVelocity</a>().
+<p> <p>See also <a href="#advance">advance</a>() and <a href="qcanvas.html#advance">QCanvas::advance</a>().
+
+<h3 class=fn>void <a name="setCanvas"></a>QCanvasItem::setCanvas ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;c )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="qcanvas.html">QCanvas</a> upon which the canvas item is to be drawn to <em>c</em>.
+<p> <p>See also <a href="#canvas">canvas</a>().
+
+<h3 class=fn>void <a name="setEnabled"></a>QCanvasItem::setEnabled ( bool&nbsp;yes )<tt> [virtual]</tt>
+</h3>
+Sets the enabled flag of the item to <em>yes</em>. If this changes the
+item's enabled state the item will be redrawn when
+<a href="qcanvas.html#update">QCanvas::update</a>() is next called.
+<p> The <a href="qcanvas.html">QCanvas</a>, QCanvasItem and the Qt-supplied QCanvasItem
+subclasses do not make use of this value. The <a href="#setEnabled">setEnabled</a>()
+function is supplied because many applications need it, but it is
+up to you how you use the <a href="#isEnabled">isEnabled</a>() value.
+
+<h3 class=fn>void <a name="setSelected"></a>QCanvasItem::setSelected ( bool&nbsp;yes )<tt> [virtual]</tt>
+</h3>
+Sets the selected flag of the item to <em>yes</em>. If this changes the
+item's selected state the item will be redrawn when
+<a href="qcanvas.html#update">QCanvas::update</a>() is next called.
+<p> The <a href="qcanvas.html">QCanvas</a>, QCanvasItem and the Qt-supplied QCanvasItem
+subclasses do not make use of this value. The <a href="#setSelected">setSelected</a>()
+function is supplied because many applications need it, but it is
+up to you how you use the <a href="#isSelected">isSelected</a>() value.
+
+<h3 class=fn>void <a name="setVelocity"></a>QCanvasItem::setVelocity ( double&nbsp;vx, double&nbsp;vy )<tt> [virtual]</tt>
+</h3>
+Sets the canvas item to be in motion, moving by <em>vx</em> and <em>vy</em>
+pixels in the horizontal and vertical directions respectively.
+<p> <p>See also <a href="#advance">advance</a>(), <a href="#setXVelocity">setXVelocity</a>(), and <a href="#setYVelocity">setYVelocity</a>().
+
+<h3 class=fn>void <a name="setVisible"></a>QCanvasItem::setVisible ( bool&nbsp;yes )<tt> [virtual]</tt>
+</h3>
+Makes the canvas item visible if <em>yes</em> is TRUE, or invisible if
+<em>yes</em> is FALSE. The change takes effect when <a href="qcanvas.html#update">QCanvas::update</a>() is
+next called.
+
+<h3 class=fn>void <a name="setX"></a>QCanvasItem::setX ( double&nbsp;x )
+</h3>
+
+<p> Moves the canvas item so that its x-position is <em>x</em>.
+<p> <p>See also <a href="#x">x</a>() and <a href="#move">move</a>().
+
+<p>Example: <a href="tutorial2-06.html#x2568">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setXVelocity"></a>QCanvasItem::setXVelocity ( double&nbsp;vx )
+</h3>
+
+<p> Sets the horizontal component of the canvas item's velocity to <em>vx</em>.
+<p> <p>See also <a href="#setYVelocity">setYVelocity</a>() and <a href="#setVelocity">setVelocity</a>().
+
+<h3 class=fn>void <a name="setY"></a>QCanvasItem::setY ( double&nbsp;y )
+</h3>
+
+<p> Moves the canvas item so that its y-position is <em>y</em>.
+<p> <p>See also <a href="#y">y</a>() and <a href="#move">move</a>().
+
+<p>Example: <a href="tutorial2-06.html#x2569">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setYVelocity"></a>QCanvasItem::setYVelocity ( double&nbsp;vy )
+</h3>
+
+<p> Sets the vertical component of the canvas item's velocity to <em>vy</em>.
+<p> <p>See also <a href="#setXVelocity">setXVelocity</a>() and <a href="#setVelocity">setVelocity</a>().
+
+<h3 class=fn>void <a name="setZ"></a>QCanvasItem::setZ ( double&nbsp;z )
+</h3>
+
+<p> Sets the z index of the canvas item to <em>z</em>. Higher-z items
+obscure (are in front of) lower-z items.
+<p> <p>See also <a href="#z">z</a>() and <a href="#move">move</a>().
+
+<p>Examples: <a href="canvas-example.html#x2918">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2570">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="show"></a>QCanvasItem::show ()
+</h3> Shorthand for <a href="#setVisible">setVisible</a>(TRUE).
+<p>Examples: <a href="canvas-example.html#x2919">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2571">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="update"></a>QCanvasItem::update ()<tt> [protected]</tt>
+</h3>
+
+<p> Call this function to repaint the canvas's changed chunks.
+
+<h3 class=fn>bool <a name="visible"></a>QCanvasItem::visible () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Use <a href="#isVisible">isVisible</a>() instead.
+
+<h3 class=fn>double <a name="x"></a>QCanvasItem::x () const
+</h3>
+
+<p> Returns the horizontal position of the canvas item. Note that
+subclasses often have an origin other than the top-left corner.
+
+<p>Example: <a href="canvas-example.html#x2920">canvas/canvas.cpp</a>.
+<h3 class=fn>double <a name="xVelocity"></a>QCanvasItem::xVelocity () const
+</h3>
+Returns the horizontal velocity component of the canvas item.
+
+<h3 class=fn>double <a name="y"></a>QCanvasItem::y () const
+</h3>
+
+<p> Returns the vertical position of the canvas item. Note that
+subclasses often have an origin other than the top-left corner.
+
+<p>Example: <a href="canvas-example.html#x2921">canvas/canvas.cpp</a>.
+<h3 class=fn>double <a name="yVelocity"></a>QCanvasItem::yVelocity () const
+</h3>
+Returns the vertical velocity component of the canvas item.
+
+<h3 class=fn>double <a name="z"></a>QCanvasItem::z () const
+</h3>
+
+<p> Returns the z index of the canvas item, which is used for visual
+order: higher-z items obscure (are in front of) lower-z items.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasitemlist-members.html b/doc/html/qcanvasitemlist-members.html
new file mode 100644
index 0000000..a5f6bf9
--- /dev/null
+++ b/doc/html/qcanvasitemlist-members.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:82 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasItemList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasItemList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasitemlist.html">QCanvasItemList</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluelist.html#append">append</a>()
+<li><a href="qvaluelist.html#at">at</a>()
+<li><a href="qvaluelist.html#back">back</a>()
+<li><a href="qvaluelist.html#begin">begin</a>()
+<li><a href="qvaluelist.html#clear">clear</a>()
+<li><a href="qvaluelist.html#constBegin">constBegin</a>()
+<li><a href="qvaluelist.html#constEnd">constEnd</a>()
+<li><a href="qvaluelist.html#contains">contains</a>()
+<li><a href="qvaluelist.html#count">count</a>()
+<li><a href="qvaluelist.html#empty">empty</a>()
+<li><a href="qvaluelist.html#end">end</a>()
+<li><a href="qvaluelist.html#erase">erase</a>()
+<li><a href="qvaluelist.html#find">find</a>()
+<li><a href="qvaluelist.html#findIndex">findIndex</a>()
+<li><a href="qvaluelist.html#first">first</a>()
+<li><a href="qvaluelist.html#fromLast">fromLast</a>()
+<li><a href="qvaluelist.html#front">front</a>()
+<li><a href="qvaluelist.html#insert">insert</a>()
+<li><a href="qvaluelist.html#isEmpty">isEmpty</a>()
+<li><a href="qvaluelist.html#last">last</a>()
+<li><a href="qvaluelist.html#operator!-eq">operator!=</a>()
+<li><a href="qcanvasitemlist.html#operator+">operator+</a>()
+<li><a href="qvaluelist.html#operator+-eq">operator+=</a>()
+<li><a href="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qvaluelist.html#operator-eq">operator=</a>()
+<li><a href="qvaluelist.html#operator-eq-eq">operator==</a>()
+<li><a href="qvaluelist.html#operator[]">operator[]</a>()
+<li><a href="qvaluelist.html#pop_back">pop_back</a>()
+<li><a href="qvaluelist.html#pop_front">pop_front</a>()
+<li><a href="qvaluelist.html#prepend">prepend</a>()
+<li><a href="qvaluelist.html#push_back">push_back</a>()
+<li><a href="qvaluelist.html#push_front">push_front</a>()
+<li><a href="qvaluelist.html#remove">remove</a>()
+<li><a href="qvaluelist.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasitemlist.html b/doc/html/qcanvasitemlist.html
new file mode 100644
index 0000000..85c31c0
--- /dev/null
+++ b/doc/html/qcanvasitemlist.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:314 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasItemList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasItemList Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasItemList class is a list of QCanvasItems.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qvaluelist.html">QValueList</a>&lt;QCanvasItem&nbsp;*&nbsp;&gt;.
+<p><a href="qcanvasitemlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>QCanvasItemList <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QCanvasItemList&nbsp;&amp;&nbsp;l ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasItemList class is a list of QCanvasItems.
+
+<p>
+
+
+<p> QCanvasItemList is a <a href="qvaluelist.html">QValueList</a> of pointers to <a href="qcanvasitem.html">QCanvasItem</a>s.
+This class is used by some methods in <a href="qcanvas.html">QCanvas</a> that need to return
+a list of canvas items.
+<p> The <a href="qvaluelist.html">QValueList</a> documentation describes how to use this list.
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qcanvasitemlist.html">QCanvasItemList</a> <a name="operator+"></a>QCanvasItemList::operator+ ( const&nbsp;<a href="qcanvasitemlist.html">QCanvasItemList</a>&nbsp;&amp;&nbsp;l ) const
+</h3>
+Returns the concatenation of this list and list <em>l</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasline-members.html b/doc/html/qcanvasline-members.html
new file mode 100644
index 0000000..f3f3971
--- /dev/null
+++ b/doc/html/qcanvasline-members.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:684 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasLine Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasLine</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasline.html">QCanvasLine</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasline.html#QCanvasLine">QCanvasLine</a>()
+<li><a href="qcanvasline.html#~QCanvasLine">~QCanvasLine</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvaspolygonalitem.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasline.html#endPoint">endPoint</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvasline.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvasline.html#setPoints">setPoints</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasline.html#startPoint">startPoint</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasline.html b/doc/html/qcanvasline.html
new file mode 100644
index 0000000..07e8768
--- /dev/null
+++ b/doc/html/qcanvasline.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4389 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasLine Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasLine Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasLine class provides a line on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>.
+<p><a href="qcanvasline-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasLine"><b>QCanvasLine</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#~QCanvasLine"><b>~QCanvasLine</b></a> ()</li>
+<li class=fn>void <a href="#setPoints"><b>setPoints</b></a> ( int&nbsp;xa, int&nbsp;ya, int&nbsp;xb, int&nbsp;yb )</li>
+<li class=fn>QPoint <a href="#startPoint"><b>startPoint</b></a> () const</li>
+<li class=fn>QPoint <a href="#endPoint"><b>endPoint</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasLine class provides a line on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> The line inherits functionality from <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>, for
+example the <a href="qcanvaspolygonalitem.html#setPen">setPen</a>() function. The start and end points of the
+line are set with <a href="#setPoints">setPoints</a>().
+<p> Like any other canvas item lines can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting
+coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and
+<a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasLine"></a>QCanvasLine::QCanvasLine ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a line from (0,0) to (0,0) on <em>canvas</em>.
+<p> <p>See also <a href="#setPoints">setPoints</a>().
+
+<h3 class=fn><a name="~QCanvasLine"></a>QCanvasLine::~QCanvasLine ()
+</h3>
+Destroys the line.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="endPoint"></a>QCanvasLine::endPoint () const
+</h3>
+
+<p> Returns the end point of the line.
+<p> <p>See also <a href="#setPoints">setPoints</a>() and <a href="#startPoint">startPoint</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasLine::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 7 (QCanvasItem::Rtti_Line).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a>.
+<h3 class=fn>void <a name="setPoints"></a>QCanvasLine::setPoints ( int&nbsp;xa, int&nbsp;ya, int&nbsp;xb, int&nbsp;yb )
+</h3>
+Sets the line's start point to (<em>xa</em>, <em>ya</em>) and its end point to
+(<em>xb</em>, <em>yb</em>).
+
+<p>Example: <a href="canvas-example.html#x2922">canvas/canvas.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="startPoint"></a>QCanvasLine::startPoint () const
+</h3>
+
+<p> Returns the start point of the line.
+<p> <p>See also <a href="#setPoints">setPoints</a>() and <a href="#endPoint">endPoint</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspixmap-members.html b/doc/html/qcanvaspixmap-members.html
new file mode 100644
index 0000000..30dbdbe
--- /dev/null
+++ b/doc/html/qcanvaspixmap-members.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:400 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPixmap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasPixmap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvaspixmap.html">QCanvasPixmap</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvaspixmap.html#QCanvasPixmap">QCanvasPixmap</a>()
+<li><a href="qcanvaspixmap.html#~QCanvasPixmap">~QCanvasPixmap</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qpixmap.html#convertFromImage">convertFromImage</a>()
+<li><a href="qpixmap.html#convertToImage">convertToImage</a>()
+<li><a href="qpixmap.html#createHeuristicMask">createHeuristicMask</a>()
+<li><a href="qpixmap.html#defaultDepth">defaultDepth</a>()
+<li><a href="qpixmap.html#defaultOptimization">defaultOptimization</a>()
+<li><a href="qpixmap.html#depth">depth</a>()
+<li><a href="qpixmap.html#detach">detach</a>()
+<li><a href="qpixmap.html#fill">fill</a>()
+<li><a href="qpixmap.html#fromMimeSource">fromMimeSource</a>()
+<li><a href="qpixmap.html#grabWidget">grabWidget</a>()
+<li><a href="qpixmap.html#grabWindow">grabWindow</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpixmap.html#hasAlpha">hasAlpha</a>()
+<li><a href="qpixmap.html#hasAlphaChannel">hasAlphaChannel</a>()
+<li><a href="qpixmap.html#height">height</a>()
+<li><a href="qpixmap.html#imageFormat">imageFormat</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpixmap.html#isNull">isNull</a>()
+<li><a href="qpixmap.html#isQBitmap">isQBitmap</a>()
+<li><a href="qpixmap.html#load">load</a>()
+<li><a href="qpixmap.html#loadFromData">loadFromData</a>()
+<li><a href="qpixmap.html#mask">mask</a>()
+<li><a href="qpixmap.html#metric">metric</a>()
+<li><a href="qcanvaspixmap.html#offsetX">offsetX</a>()
+<li><a href="qcanvaspixmap.html#offsetY">offsetY</a>()
+<li><a href="qpixmap.html#operator-eq">operator=</a>()
+<li><a href="qpixmap.html#optimization">optimization</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qpixmap.html#rect">rect</a>()
+<li><a href="qpixmap.html#resize">resize</a>()
+<li><a href="qpixmap.html#save">save</a>()
+<li><a href="qpixmap.html#selfMask">selfMask</a>()
+<li><a href="qpixmap.html#serialNumber">serialNumber</a>()
+<li><a href="qpixmap.html#setDefaultOptimization">setDefaultOptimization</a>()
+<li><a href="qpixmap.html#setMask">setMask</a>()
+<li><a href="qcanvaspixmap.html#setOffset">setOffset</a>()
+<li><a href="qpixmap.html#setOptimization">setOptimization</a>()
+<li><a href="qpixmap.html#size">size</a>()
+<li><a href="qpixmap.html#trueMatrix">trueMatrix</a>()
+<li><a href="qpixmap.html#width">width</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qpixmap.html#xForm">xForm</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspixmap.html b/doc/html/qcanvaspixmap.html
new file mode 100644
index 0000000..cb4424b
--- /dev/null
+++ b/doc/html/qcanvaspixmap.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:2800 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPixmap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasPixmap Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasPixmap class provides pixmaps for QCanvasSprites.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qpixmap.html">QPixmap</a>.
+<p><a href="qcanvaspixmap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasPixmap"><b>QCanvasPixmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;datafilename )</li>
+<li class=fn><a href="#QCanvasPixmap-2"><b>QCanvasPixmap</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn><a href="#QCanvasPixmap-3"><b>QCanvasPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm, const&nbsp;QPoint&nbsp;&amp;&nbsp;offset )</li>
+<li class=fn><a href="#~QCanvasPixmap"><b>~QCanvasPixmap</b></a> ()</li>
+<li class=fn>int <a href="#offsetX"><b>offsetX</b></a> () const</li>
+<li class=fn>int <a href="#offsetY"><b>offsetY</b></a> () const</li>
+<li class=fn>void <a href="#setOffset"><b>setOffset</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasPixmap class provides pixmaps for QCanvasSprites.
+
+<p>
+
+
+<p> If you want to show a single pixmap on a <a href="qcanvas.html">QCanvas</a> use a
+<a href="qcanvassprite.html">QCanvasSprite</a> with just one pixmap.
+<p> When pixmaps are inserted into a <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a> they are held
+as QCanvasPixmaps. <a href="qcanvassprite.html">QCanvasSprite</a>s are used to show pixmaps on
+<a href="qcanvas.html">QCanvas</a>es and hold their pixmaps in a QCanvasPixmapArray. If
+you retrieve a frame (pixmap) from a QCanvasSprite it will be
+returned as a QCanvasPixmap.
+<p> The pixmap is a <a href="qpixmap.html">QPixmap</a> and can only be set in the constructor.
+There are three different constructors, one taking a QPixmap, one
+a <a href="qimage.html">QImage</a> and one a file name that refers to a file in any
+supported file format (see <a href="qimageio.html">QImageIO</a>).
+<p> QCanvasPixmap can have a hotspot which is defined in terms of an (x,
+y) offset. When you create a QCanvasPixmap from a PNG file or from
+a QImage that has a <a href="qimage.html#offset">QImage::offset</a>(), the offset() is initialized
+appropriately, otherwise the constructor leaves it at (0, 0). You
+can set it later using <a href="#setOffset">setOffset</a>(). When the QCanvasPixmap is used
+in a <a href="qcanvassprite.html">QCanvasSprite</a>, the offset position is the point at
+<a href="qcanvasitem.html#x">QCanvasItem::x</a>() and <a href="qcanvasitem.html#y">QCanvasItem::y</a>(), not the top-left corner of
+the pixmap.
+<p> Note that for QCanvasPixmap objects created by a QCanvasSprite, the
+position of each QCanvasPixmap object is set so that the hotspot
+stays in the same position.
+<p> <p>See also <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>, <a href="qcanvasitem.html">QCanvasItem</a>, <a href="qcanvassprite.html">QCanvasSprite</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasPixmap"></a>QCanvasPixmap::QCanvasPixmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;datafilename )
+</h3>
+Constructs a QCanvasPixmap that uses the image stored in <em>datafilename</em>.
+
+<h3 class=fn><a name="QCanvasPixmap-2"></a>QCanvasPixmap::QCanvasPixmap ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+Constructs a QCanvasPixmap from the image <em>image</em>.
+
+<h3 class=fn><a name="QCanvasPixmap-3"></a>QCanvasPixmap::QCanvasPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;offset )
+</h3>
+Constructs a QCanvasPixmap from the pixmap <em>pm</em> using the offset
+<em>offset</em>.
+
+<h3 class=fn><a name="~QCanvasPixmap"></a>QCanvasPixmap::~QCanvasPixmap ()
+</h3>
+Destroys the pixmap.
+
+<h3 class=fn>int <a name="offsetX"></a>QCanvasPixmap::offsetX () const
+</h3>
+
+<p> Returns the x-offset of the pixmap's hotspot.
+<p> <p>See also <a href="#setOffset">setOffset</a>().
+
+<h3 class=fn>int <a name="offsetY"></a>QCanvasPixmap::offsetY () const
+</h3>
+
+<p> Returns the y-offset of the pixmap's hotspot.
+<p> <p>See also <a href="#setOffset">setOffset</a>().
+
+<h3 class=fn>void <a name="setOffset"></a>QCanvasPixmap::setOffset ( int&nbsp;x, int&nbsp;y )
+</h3>
+
+<p> Sets the offset of the pixmap's hotspot to (<em>x</em>, <em>y</em>).
+<p> <b>Warning:</b> Do not call this function if any QCanvasSprites are
+currently showing this pixmap.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspixmaparray-members.html b/doc/html/qcanvaspixmaparray-members.html
new file mode 100644
index 0000000..b706cf4
--- /dev/null
+++ b/doc/html/qcanvaspixmaparray-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:435 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPixmapArray Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasPixmapArray</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvaspixmaparray.html#QCanvasPixmapArray">QCanvasPixmapArray</a>()
+<li><a href="qcanvaspixmaparray.html#~QCanvasPixmapArray">~QCanvasPixmapArray</a>()
+<li><a href="qcanvaspixmaparray.html#count">count</a>()
+<li><a href="qcanvaspixmaparray.html#image">image</a>()
+<li><a href="qcanvaspixmaparray.html#isValid">isValid</a>()
+<li><a href="qcanvaspixmaparray.html#operator!">operator!</a>()
+<li><a href="qcanvaspixmaparray.html#readCollisionMasks">readCollisionMasks</a>()
+<li><a href="qcanvaspixmaparray.html#readPixmaps">readPixmaps</a>()
+<li><a href="qcanvaspixmaparray.html#setImage">setImage</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspixmaparray.html b/doc/html/qcanvaspixmaparray.html
new file mode 100644
index 0000000..5defc5e
--- /dev/null
+++ b/doc/html/qcanvaspixmaparray.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:2930 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPixmapArray Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasPixmapArray Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasPixmapArray class provides an array of QCanvasPixmaps.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p><a href="qcanvaspixmaparray-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasPixmapArray"><b>QCanvasPixmapArray</b></a> ()</li>
+<li class=fn><a href="#QCanvasPixmapArray-2"><b>QCanvasPixmapArray</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;datafilenamepattern, int&nbsp;fc = 0 )</li>
+<li class=fn>QCanvasPixmapArray ( QPtrList&lt;QPixmap&gt;&nbsp;list, QPtrList&lt;QPoint&gt;&nbsp;hotspots ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QCanvasPixmapArray-4"><b>QCanvasPixmapArray</b></a> ( QValueList&lt;QPixmap&gt;&nbsp;list, QPointArray&nbsp;hotspots = QPointArray ( ) )</li>
+<li class=fn><a href="#~QCanvasPixmapArray"><b>~QCanvasPixmapArray</b></a> ()</li>
+<li class=fn>bool <a href="#readPixmaps"><b>readPixmaps</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filenamepattern, int&nbsp;fc = 0 )</li>
+<li class=fn>bool <a href="#readCollisionMasks"><b>readCollisionMasks</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>bool operator! () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QCanvasPixmap * <a href="#image"><b>image</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>void <a href="#setImage"><b>setImage</b></a> ( int&nbsp;i, QCanvasPixmap&nbsp;*&nbsp;p )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasPixmapArray class provides an array of QCanvasPixmaps.
+
+<p>
+
+
+<p> This class is used by <a href="qcanvassprite.html">QCanvasSprite</a> to hold an array of pixmaps.
+It is used to implement animated sprites, i.e. images that change
+over time, with each pixmap in the array holding one frame.
+<p> Depending on the constructor you use you can load multiple pixmaps
+into the array either from a directory (specifying a wildcard
+pattern for the files), or from a list of QPixmaps. You can also
+read in a set of pixmaps after construction using <a href="#readPixmaps">readPixmaps</a>().
+<p> Individual pixmaps can be set with <a href="#setImage">setImage</a>() and retrieved with
+<a href="#image">image</a>(). The number of pixmaps in the array is returned by
+<a href="#count">count</a>().
+<p> QCanvasSprite uses an image's mask for collision detection. You
+can change this by reading in a separate set of image masks using
+<a href="#readCollisionMasks">readCollisionMasks</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasPixmapArray"></a>QCanvasPixmapArray::QCanvasPixmapArray ()
+</h3>
+Constructs an invalid array (i.e. <a href="#isValid">isValid</a>() will return FALSE).
+You must call <a href="#readPixmaps">readPixmaps</a>() before being able to use this
+QCanvasPixmapArray.
+
+<h3 class=fn><a name="QCanvasPixmapArray-2"></a>QCanvasPixmapArray::QCanvasPixmapArray ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;datafilenamepattern, int&nbsp;fc = 0 )
+</h3>
+Constructs a QCanvasPixmapArray from files.
+<p> The <em>fc</em> parameter sets the number of frames to be loaded for
+this image.
+<p> If <em>fc</em> is not 0, <em>datafilenamepattern</em> should contain "%1",
+e.g. "foo%1.png". The actual filenames are formed by replacing the
+%1 with four-digit integers from 0 to (fc - 1), e.g. foo0000.png,
+foo0001.png, foo0002.png, etc.
+<p> If <em>fc</em> is 0, <em>datafilenamepattern</em> is asssumed to be a
+filename, and the image contained in this file will be loaded as
+the first (and only) frame.
+<p> If <em>datafilenamepattern</em> does not exist, is not readable, isn't
+an image, or some other error occurs, the array ends up empty and
+<a href="#isValid">isValid</a>() returns FALSE.
+
+<h3 class=fn><a name="QCanvasPixmapArray-3"></a>QCanvasPixmapArray::QCanvasPixmapArray ( <a href="qptrlist.html">QPtrList</a>&lt;QPixmap&gt;&nbsp;list, <a href="qptrlist.html">QPtrList</a>&lt;QPoint&gt;&nbsp;hotspots )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#QCanvasPixmapArray">QCanvasPixmapArray::QCanvasPixmapArray</a>( <a href="qvaluelist.html">QValueList</a><QPixmap>, <a href="qpointarray.html">QPointArray</a> )
+instead.
+<p> Constructs a QCanvasPixmapArray from the list of QPixmaps <em>list</em>. The <em>hotspots</em> list has to be of the same size as <em>list</em>.
+
+<h3 class=fn><a name="QCanvasPixmapArray-4"></a>QCanvasPixmapArray::QCanvasPixmapArray ( <a href="qvaluelist.html">QValueList</a>&lt;QPixmap&gt;&nbsp;list, <a href="qpointarray.html">QPointArray</a>&nbsp;hotspots = QPointArray ( ) )
+</h3>
+Constructs a QCanvasPixmapArray from the list of QPixmaps in the
+<em>list</em>. Each pixmap will get a hotspot according to the <em>hotspots</em> array. If no hotspots are specified, each one is set to
+be at position (0, 0).
+<p> If an error occurs, <a href="#isValid">isValid</a>() will return FALSE.
+
+<h3 class=fn><a name="~QCanvasPixmapArray"></a>QCanvasPixmapArray::~QCanvasPixmapArray ()
+</h3>
+Destroys the pixmap array and all the pixmaps it contains.
+
+<h3 class=fn>uint <a name="count"></a>QCanvasPixmapArray::count () const
+</h3>
+
+<p> Returns the number of pixmaps in the array.
+
+<h3 class=fn><a href="qcanvaspixmap.html">QCanvasPixmap</a>&nbsp;* <a name="image"></a>QCanvasPixmapArray::image ( int&nbsp;i ) const
+</h3>
+
+<p> Returns pixmap <em>i</em> in the array, if <em>i</em> is non-negative and less
+than than <a href="#count">count</a>(), and returns an unspecified value otherwise.
+
+<h3 class=fn>bool <a name="isValid"></a>QCanvasPixmapArray::isValid () const
+</h3>
+Returns TRUE if the pixmap array is valid; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="operator!"></a>QCanvasPixmapArray::operator! ()
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#isValid">isValid</a>() instead.
+<p> This returns FALSE if the array is valid, and TRUE if it is not.
+
+<h3 class=fn>bool <a name="readCollisionMasks"></a>QCanvasPixmapArray::readCollisionMasks ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )
+</h3>
+Reads new collision masks for the array.
+<p> By default, <a href="qcanvassprite.html">QCanvasSprite</a> uses the image mask of a sprite to
+detect collisions. Use this function to set your own collision
+image masks.
+<p> If <a href="#count">count</a>() is 1 <em>filename</em> must specify a real filename to read
+the mask from. If count() is greater than 1, the <em>filename</em> must
+contain a "%1" that will get replaced by the number of the mask to
+be loaded, just like <a href="#readPixmaps">QCanvasPixmapArray::readPixmaps</a>().
+<p> All collision masks must be 1-bit images or this function call
+will fail.
+<p> If the file isn't readable, contains the wrong number of images,
+or there is some other error, this function will return FALSE, and
+the array will be flagged as invalid; otherwise this function
+returns TRUE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="readPixmaps"></a>QCanvasPixmapArray::readPixmaps ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filenamepattern, int&nbsp;fc = 0 )
+</h3>
+Reads one or more pixmaps into the pixmap array.
+<p> If <em>fc</em> is not 0, <em>filenamepattern</em> should contain "%1", e.g.
+"foo%1.png". The actual filenames are formed by replacing the %1
+with four-digit integers from 0 to (fc - 1), e.g. foo0000.png,
+foo0001.png, foo0002.png, etc.
+<p> If <em>fc</em> is 0, <em>filenamepattern</em> is asssumed to be a filename,
+and the image contained in this file will be loaded as the first
+(and only) frame.
+<p> If <em>filenamepattern</em> does not exist, is not readable, isn't an
+image, or some other error occurs, this function will return
+FALSE, and <a href="#isValid">isValid</a>() will return FALSE; otherwise this function
+will return TRUE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setImage"></a>QCanvasPixmapArray::setImage ( int&nbsp;i, <a href="qcanvaspixmap.html">QCanvasPixmap</a>&nbsp;*&nbsp;p )
+</h3>
+Replaces the pixmap at index <em>i</em> with pixmap <em>p</em>.
+<p> The array takes ownership of <em>p</em> and will delete <em>p</em> when the
+array itself is deleted.
+<p> If <em>i</em> is beyond the end of the array the array is extended to at
+least i+1 elements, with elements <a href="#count">count</a>() to i-1 being initialized
+to 0.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspolygon-members.html b/doc/html/qcanvaspolygon-members.html
new file mode 100644
index 0000000..2faf695
--- /dev/null
+++ b/doc/html/qcanvaspolygon-members.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:644 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPolygon Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasPolygon</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvaspolygon.html">QCanvasPolygon</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvaspolygon.html#QCanvasPolygon">QCanvasPolygon</a>()
+<li><a href="qcanvaspolygon.html#~QCanvasPolygon">~QCanvasPolygon</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygon.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvaspolygon.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvaspolygon.html#points">points</a>()
+<li><a href="qcanvaspolygon.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvaspolygon.html#setPoints">setPoints</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspolygon.html b/doc/html/qcanvaspolygon.html
new file mode 100644
index 0000000..82c948a
--- /dev/null
+++ b/doc/html/qcanvaspolygon.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4134 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPolygon Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasPolygon Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasPolygon class provides a polygon on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>.
+<p>Inherited by <a href="qcanvasspline.html">QCanvasSpline</a>.
+<p><a href="qcanvaspolygon-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasPolygon"><b>QCanvasPolygon</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#~QCanvasPolygon"><b>~QCanvasPolygon</b></a> ()</li>
+<li class=fn>void <a href="#setPoints"><b>setPoints</b></a> ( QPointArray&nbsp;pa )</li>
+<li class=fn>QPointArray <a href="#points"><b>points</b></a> () const</li>
+<li class=fn>virtual QPointArray <a href="#areaPoints"><b>areaPoints</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawShape"><b>drawShape</b></a> ( QPainter&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasPolygon class provides a polygon on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> Paints a polygon with a <a href="qbrush.html">QBrush</a>. The polygon's points can be set in
+the constructor or set or changed later using <a href="#setPoints">setPoints</a>(). Use
+<a href="#points">points</a>() to retrieve the points, or <a href="#areaPoints">areaPoints</a>() to retrieve the
+points relative to the canvas's origin.
+<p> The polygon can be drawn on a painter with <a href="#drawShape">drawShape</a>().
+<p> Like any other canvas item polygons can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting
+coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and
+<a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p> Note: QCanvasPolygon does not use the pen.
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasPolygon"></a>QCanvasPolygon::QCanvasPolygon ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a point-less polygon on the canvas <em>canvas</em>. You
+should call <a href="#setPoints">setPoints</a>() before using it further.
+
+<h3 class=fn><a name="~QCanvasPolygon"></a>QCanvasPolygon::~QCanvasPolygon ()
+</h3>
+Destroys the polygon.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="areaPoints"></a>QCanvasPolygon::areaPoints () const<tt> [virtual]</tt>
+</h3>
+Returns the vertices of the polygon translated by the polygon's
+current <a href="qcanvasitem.html#x">x</a>(), <a href="qcanvasitem.html#y">y</a>() position, i.e. relative to the canvas's origin.
+<p> <p>See also <a href="#setPoints">setPoints</a>() and <a href="#points">points</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#areaPoints">QCanvasPolygonalItem</a>.
+<h3 class=fn>void <a name="drawShape"></a>QCanvasPolygon::drawShape ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the polygon using the painter <em>p</em>.
+<p> Note that QCanvasPolygon does not support an outline (the pen is
+always NoPen).
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#drawShape">QCanvasPolygonalItem</a>.
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="points"></a>QCanvasPolygon::points () const
+</h3>
+
+<p> Returns the vertices of the polygon, not translated by the position.
+<p> <p>See also <a href="#setPoints">setPoints</a>() and <a href="#areaPoints">areaPoints</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasPolygon::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 4 (QCanvasItem::Rtti_Polygon).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a>.
+<p>Reimplemented in <a href="qcanvasspline.html#rtti">QCanvasSpline</a>.
+<h3 class=fn>void <a name="setPoints"></a>QCanvasPolygon::setPoints ( <a href="qpointarray.html">QPointArray</a>&nbsp;pa )
+</h3>
+Sets the points of the polygon to be <em>pa</em>. These points will have
+their x and y coordinates automatically translated by <a href="qcanvasitem.html#x">x</a>(), <a href="qcanvasitem.html#y">y</a>() as
+the polygon is moved.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspolygonalitem-members.html b/doc/html/qcanvaspolygonalitem-members.html
new file mode 100644
index 0000000..77ca462
--- /dev/null
+++ b/doc/html/qcanvaspolygonalitem-members.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:555 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPolygonalItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasPolygonalItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvaspolygonalitem.html#QCanvasPolygonalItem">QCanvasPolygonalItem</a>()
+<li><a href="qcanvaspolygonalitem.html#~QCanvasPolygonalItem">~QCanvasPolygonalItem</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvaspolygonalitem.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvaspolygonalitem.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvaspolygonalitem.html b/doc/html/qcanvaspolygonalitem.html
new file mode 100644
index 0000000..11bacf7
--- /dev/null
+++ b/doc/html/qcanvaspolygonalitem.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:3725 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasPolygonalItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasPolygonalItem Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasPolygonalItem class provides a polygonal canvas item
+on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvasitem.html">QCanvasItem</a>.
+<p>Inherited by <a href="qcanvasrectangle.html">QCanvasRectangle</a>, <a href="qcanvaspolygon.html">QCanvasPolygon</a>, <a href="qcanvasline.html">QCanvasLine</a>, and <a href="qcanvasellipse.html">QCanvasEllipse</a>.
+<p><a href="qcanvaspolygonalitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasPolygonalItem"><b>QCanvasPolygonalItem</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn>virtual <a href="#~QCanvasPolygonalItem"><b>~QCanvasPolygonalItem</b></a> ()</li>
+<li class=fn>virtual void <a href="#setPen"><b>setPen</b></a> ( QPen&nbsp;p )</li>
+<li class=fn>virtual void <a href="#setBrush"><b>setBrush</b></a> ( QBrush&nbsp;b )</li>
+<li class=fn>QPen <a href="#pen"><b>pen</b></a> () const</li>
+<li class=fn>QBrush <a href="#brush"><b>brush</b></a> () const</li>
+<li class=fn>virtual QPointArray <a href="#areaPoints"><b>areaPoints</b></a> () const = 0</li>
+<li class=fn>virtual QPointArray <a href="#areaPointsAdvanced"><b>areaPointsAdvanced</b></a> () const</li>
+<li class=fn>virtual QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#draw"><b>draw</b></a> ( QPainter&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>virtual void <a href="#drawShape"><b>drawShape</b></a> ( QPainter&nbsp;&amp;&nbsp;p ) = 0</li>
+<li class=fn>bool <a href="#winding"><b>winding</b></a> () const</li>
+<li class=fn>void <a href="#setWinding"><b>setWinding</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>void <a href="#invalidate"><b>invalidate</b></a> ()</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasPolygonalItem class provides a polygonal canvas item
+on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> The mostly rectangular classes, such as <a href="qcanvassprite.html">QCanvasSprite</a> and
+<a href="qcanvastext.html">QCanvasText</a>, use the object's bounding rectangle for movement,
+repainting and collision calculations. For most other items, the
+bounding rectangle can be far too large -- a diagonal line being
+the worst case, and there are many other cases which are also bad.
+QCanvasPolygonalItem provides polygon-based bounding rectangle
+handling, etc., which is much faster for non-rectangular items.
+<p> Derived classes should try to define as small an area as possible
+to maximize efficiency, but the polygon must <em>definitely</em> be
+contained completely within the polygonal area. Calculating the
+exact requirements is usually difficult, but if you allow a small
+overestimate it can be easy and quick, while still getting almost
+all of QCanvasPolygonalItem's speed.
+<p> Note that all subclasses <em>must</em> call <a href="qcanvasitem.html#hide">hide</a>() in their destructor
+since hide() needs to be able to access <a href="#areaPoints">areaPoints</a>().
+<p> Normally, QCanvasPolygonalItem uses the odd-even algorithm for
+determining whether an object intersects this object. You can
+change this to the winding algorithm using <a href="#setWinding">setWinding</a>().
+<p> The bounding rectangle is available using <a href="#boundingRect">boundingRect</a>(). The
+points bounding the polygonal item are retrieved with
+areaPoints(). Use <a href="#areaPointsAdvanced">areaPointsAdvanced</a>() to retrieve the bounding
+points the polygonal item <em>will</em> have after
+<a href="qcanvasitem.html#advance">QCanvasItem::advance</a>(1) has been called.
+<p> If the shape of the polygonal item is about to change while the
+item is visible, call <a href="#invalidate">invalidate</a>() before updating with a
+different result from <a href="#areaPoints">areaPoints</a>().
+<p> By default, QCanvasPolygonalItem objects have a black pen and no
+brush (the default <a href="qpen.html">QPen</a> and <a href="qbrush.html">QBrush</a> constructors). You can change
+this with <a href="#setPen">setPen</a>() and <a href="#setBrush">setBrush</a>(), but note that some
+QCanvasPolygonalItem subclasses only use the brush, ignoring the
+pen setting.
+<p> The polygonal item can be drawn on a painter with <a href="#draw">draw</a>().
+Subclasses must reimplement <a href="#drawShape">drawShape</a>() to draw themselves.
+<p> Like any other canvas item polygonal items can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting coordinates
+with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and <a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasPolygonalItem"></a>QCanvasPolygonalItem::QCanvasPolygonalItem ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasPolygonalItem on the canvas <em>canvas</em>.
+
+<h3 class=fn><a name="~QCanvasPolygonalItem"></a>QCanvasPolygonalItem::~QCanvasPolygonalItem ()<tt> [virtual]</tt>
+</h3>
+Note that all subclasses <em>must</em> call <a href="qcanvasitem.html#hide">hide</a>() in their destructor
+since hide() needs to be able to access <a href="#areaPoints">areaPoints</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="areaPoints"></a>QCanvasPolygonalItem::areaPoints () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function must be reimplemented by subclasses. It <em>must</em>
+return the points bounding (i.e. outside and not touching) the
+shape or drawing errors will occur.
+
+<p>Reimplemented in <a href="qcanvaspolygon.html#areaPoints">QCanvasPolygon</a>.
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="areaPointsAdvanced"></a>QCanvasPolygonalItem::areaPointsAdvanced () const<tt> [virtual]</tt>
+</h3>
+Returns the points the polygonal item <em>will</em> have after
+<a href="qcanvasitem.html#advance">QCanvasItem::advance</a>(1) is called, i.e. what the points are when
+advanced by the current <a href="qcanvasitem.html#xVelocity">xVelocity</a>() and <a href="qcanvasitem.html#yVelocity">yVelocity</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QCanvasPolygonalItem::boundingRect () const<tt> [virtual]</tt>
+</h3>
+Returns the bounding rectangle of the polygonal item, based on
+<a href="#areaPoints">areaPoints</a>().
+
+<p>Reimplemented from <a href="qcanvasitem.html#boundingRect">QCanvasItem</a>.
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="brush"></a>QCanvasPolygonalItem::brush () const
+</h3>
+
+<p> Returns the <a href="qbrush.html">QBrush</a> used to fill the item, if filled.
+<p> <p>See also <a href="#setBrush">setBrush</a>().
+
+<h3 class=fn>void <a name="draw"></a>QCanvasPolygonalItem::draw ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Reimplemented from <a href="qcanvasitem.html">QCanvasItem</a>, this draws the polygonal item by
+setting the pen and brush for the item on the painter <em>p</em> and
+calling <a href="#drawShape">drawShape</a>().
+
+<p>Reimplemented from <a href="qcanvasitem.html#draw">QCanvasItem</a>.
+<h3 class=fn>void <a name="drawShape"></a>QCanvasPolygonalItem::drawShape ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;p )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Subclasses must reimplement this function to draw their shape. The
+pen and brush of <em>p</em> are already set to <a href="#pen">pen</a>() and <a href="#brush">brush</a>() prior
+to calling this function.
+<p> <b>Warning:</b> When you reimplement this function, make sure that you
+leave the painter in the same state as you found it. For example,
+if you start by calling <a href="qpainter.html#translate">QPainter::translate</a>(50, 50), end your
+code by calling QPainter::translate(-50, -50). Be also aware that
+the painter might already have some transformations set (i.e.,
+don't call <a href="qpainter.html#resetXForm">QPainter::resetXForm</a>() when you're done).
+<p> <p>See also <a href="#draw">draw</a>().
+
+<p>Reimplemented in <a href="qcanvasrectangle.html#drawShape">QCanvasRectangle</a>, <a href="qcanvaspolygon.html#drawShape">QCanvasPolygon</a>, and <a href="qcanvasellipse.html#drawShape">QCanvasEllipse</a>.
+<h3 class=fn>void <a name="invalidate"></a>QCanvasPolygonalItem::invalidate ()<tt> [protected]</tt>
+</h3>
+Invalidates all information about the area covered by the canvas
+item. The item will be updated automatically on the next call that
+changes the item's status, for example, <a href="qcanvasitem.html#move">move</a>() or <a href="qcanvasitem.html#update">update</a>(). Call
+this function if you are going to change the shape of the item (as
+returned by <a href="#areaPoints">areaPoints</a>()) while the item is visible.
+
+<h3 class=fn>bool <a name="isValid"></a>QCanvasPolygonalItem::isValid () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns TRUE if the polygonal item's area information has not been
+invalidated; otherwise returns FALSE.
+<p> <p>See also <a href="#invalidate">invalidate</a>().
+
+<h3 class=fn><a href="qpen.html">QPen</a> <a name="pen"></a>QCanvasPolygonalItem::pen () const
+</h3>
+
+<p> Returns the <a href="qpen.html">QPen</a> used to draw the outline of the item, if any.
+<p> <p>See also <a href="#setPen">setPen</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasPolygonalItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 2 (QCanvasItem::Rtti_PolygonalItem).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvasitem.html#rtti">QCanvasItem</a>.
+<p>Reimplemented in <a href="qcanvasrectangle.html#rtti">QCanvasRectangle</a>, <a href="qcanvaspolygon.html#rtti">QCanvasPolygon</a>, <a href="qcanvasline.html#rtti">QCanvasLine</a>, and <a href="qcanvasellipse.html#rtti">QCanvasEllipse</a>.
+<h3 class=fn>void <a name="setBrush"></a>QCanvasPolygonalItem::setBrush ( <a href="qbrush.html">QBrush</a>&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="qbrush.html">QBrush</a> used when drawing the polygonal item to the brush <em>b</em>.
+<p> <p>See also <a href="#setPen">setPen</a>(), <a href="#brush">brush</a>(), and <a href="#drawShape">drawShape</a>().
+
+<p>Examples: <a href="canvas-example.html#x2923">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2572">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setPen"></a>QCanvasPolygonalItem::setPen ( <a href="qpen.html">QPen</a>&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="qpen.html">QPen</a> used when drawing the item to the pen <em>p</em>.
+Note that many QCanvasPolygonalItems do not use the pen value.
+<p> <p>See also <a href="#setBrush">setBrush</a>(), <a href="#pen">pen</a>(), and <a href="#drawShape">drawShape</a>().
+
+<p>Examples: <a href="canvas-example.html#x2924">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2573">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setWinding"></a>QCanvasPolygonalItem::setWinding ( bool&nbsp;enable )<tt> [protected]</tt>
+</h3>
+If <em>enable</em> is TRUE, the polygonal item will use the winding
+algorithm to determine the "inside" of the polygon; otherwise the
+odd-even algorithm will be used.
+<p> The default is to use the odd-even algorithm.
+<p> <p>See also <a href="#winding">winding</a>().
+
+<h3 class=fn>bool <a name="winding"></a>QCanvasPolygonalItem::winding () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the polygonal item uses the winding algorithm to
+determine the "inside" of the polygon. Returns FALSE if it uses
+the odd-even algorithm.
+<p> The default is to use the odd-even algorithm.
+<p> <p>See also <a href="#setWinding">setWinding</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasrectangle-members.html b/doc/html/qcanvasrectangle-members.html
new file mode 100644
index 0000000..de5e5cb
--- /dev/null
+++ b/doc/html/qcanvasrectangle-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:606 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasRectangle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasRectangle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasrectangle.html">QCanvasRectangle</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasrectangle.html#QCanvasRectangle">QCanvasRectangle</a>()
+<li><a href="qcanvasrectangle.html#~QCanvasRectangle">~QCanvasRectangle</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasrectangle.html#chunks">chunks</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvasrectangle.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasrectangle.html#height">height</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvasrectangle.html#rect">rect</a>()
+<li><a href="qcanvasrectangle.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasrectangle.html#setSize">setSize</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasrectangle.html#size">size</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvasrectangle.html#width">width</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasrectangle.html b/doc/html/qcanvasrectangle.html
new file mode 100644
index 0000000..7a6764f
--- /dev/null
+++ b/doc/html/qcanvasrectangle.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4533 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasRectangle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasRectangle Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasRectangle class provides a rectangle on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvaspolygonalitem.html">QCanvasPolygonalItem</a>.
+<p><a href="qcanvasrectangle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasRectangle"><b>QCanvasRectangle</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasRectangle-2"><b>QCanvasRectangle</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasRectangle-3"><b>QCanvasRectangle</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;width, int&nbsp;height, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#~QCanvasRectangle"><b>~QCanvasRectangle</b></a> ()</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>void <a href="#setSize"><b>setSize</b></a> ( int&nbsp;width, int&nbsp;height )</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawShape"><b>drawShape</b></a> ( QPainter&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>virtual QPointArray <a href="#chunks"><b>chunks</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasRectangle class provides a rectangle on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> This item paints a single rectangle which may have any <a href="qcanvaspolygonalitem.html#pen">pen</a>() and
+<a href="qcanvaspolygonalitem.html#brush">brush</a>(), but may not be tilted/rotated. For rotated rectangles,
+use <a href="qcanvaspolygon.html">QCanvasPolygon</a>.
+<p> The rectangle's size and initial position can be set in the
+constructor. The size can be set or changed later using <a href="#setSize">setSize</a>().
+Use <a href="#height">height</a>() and <a href="#width">width</a>() to retrieve the rectangle's dimensions.
+<p> The rectangle can be drawn on a painter with <a href="#drawShape">drawShape</a>().
+<p> Like any other canvas item rectangles can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting
+coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and
+<a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasRectangle"></a>QCanvasRectangle::QCanvasRectangle ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a rectangle at position (0,0) with both width and
+height set to 32 pixels on <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasRectangle-2"></a>QCanvasRectangle::QCanvasRectangle ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a rectangle positioned and sized by <em>r</em> on <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasRectangle-3"></a>QCanvasRectangle::QCanvasRectangle ( int&nbsp;x, int&nbsp;y, int&nbsp;width, int&nbsp;height, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a rectangle at position (<em>x</em>, <em>y</em>) and size <em>width</em>
+by <em>height</em>, on <em>canvas</em>.
+
+<h3 class=fn><a name="~QCanvasRectangle"></a>QCanvasRectangle::~QCanvasRectangle ()
+</h3>
+Destroys the rectangle.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="chunks"></a>QCanvasRectangle::chunks () const<tt> [virtual protected]</tt>
+</h3>
+Simply calls QCanvasItem::chunks().
+
+<h3 class=fn>void <a name="drawShape"></a>QCanvasRectangle::drawShape ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the rectangle on painter <em>p</em>.
+
+<p>Example: <a href="canvas-example.html#x2925">canvas/canvas.cpp</a>.
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#drawShape">QCanvasPolygonalItem</a>.
+<h3 class=fn>int <a name="height"></a>QCanvasRectangle::height () const
+</h3>
+Returns the height of the rectangle.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QCanvasRectangle::rect () const
+</h3>
+
+<p> Returns the integer-converted <a href="qcanvasitem.html#x">x</a>(), <a href="qcanvasitem.html#y">y</a>() position and <a href="#size">size</a>() of the
+rectangle as a <a href="qrect.html">QRect</a>.
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasRectangle::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 5 (QCanvasItem::Rtti_Rectangle).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygonalitem.html#rtti">QCanvasPolygonalItem</a>.
+<h3 class=fn>void <a name="setSize"></a>QCanvasRectangle::setSize ( int&nbsp;width, int&nbsp;height )
+</h3>
+Sets the <em>width</em> and <em>height</em> of the rectangle.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QCanvasRectangle::size () const
+</h3>
+
+<p> Returns the <a href="#width">width</a>() and <a href="#height">height</a>() of the rectangle.
+<p> <p>See also <a href="#rect">rect</a>() and <a href="#setSize">setSize</a>().
+
+<h3 class=fn>int <a name="width"></a>QCanvasRectangle::width () const
+</h3>
+Returns the width of the rectangle.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasspline-members.html b/doc/html/qcanvasspline-members.html
new file mode 100644
index 0000000..b12e5a2
--- /dev/null
+++ b/doc/html/qcanvasspline-members.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:664 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasSpline Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasSpline</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasspline.html">QCanvasSpline</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasspline.html#QCanvasSpline">QCanvasSpline</a>()
+<li><a href="qcanvasspline.html#~QCanvasSpline">~QCanvasSpline</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvaspolygon.html#areaPoints">areaPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvaspolygonalitem.html#brush">brush</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasspline.html#closed">closed</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvasspline.html#controlPoints">controlPoints</a>()
+<li><a href="qcanvaspolygonalitem.html#draw">draw</a>()
+<li><a href="qcanvaspolygon.html#drawShape">drawShape</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvaspolygonalitem.html#invalidate">invalidate</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvaspolygonalitem.html#isValid">isValid</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvaspolygonalitem.html#pen">pen</a>()
+<li><a href="qcanvaspolygon.html#points">points</a>()
+<li><a href="qcanvasspline.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasspline.html#setControlPoints">setControlPoints</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvaspolygonalitem.html#setPen">setPen</a>()
+<li><a href="qcanvaspolygon.html#setPoints">setPoints</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvaspolygonalitem.html#setWinding">setWinding</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvaspolygonalitem.html#winding">winding</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasspline.html b/doc/html/qcanvasspline.html
new file mode 100644
index 0000000..50e940d
--- /dev/null
+++ b/doc/html/qcanvasspline.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4227 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasSpline Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasSpline Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasSpline class provides multi-bezier splines on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvaspolygon.html">QCanvasPolygon</a>.
+<p><a href="qcanvasspline-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasSpline"><b>QCanvasSpline</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#~QCanvasSpline"><b>~QCanvasSpline</b></a> ()</li>
+<li class=fn>void <a href="#setControlPoints"><b>setControlPoints</b></a> ( QPointArray&nbsp;ctrl, bool&nbsp;close = TRUE )</li>
+<li class=fn>QPointArray <a href="#controlPoints"><b>controlPoints</b></a> () const</li>
+<li class=fn>bool <a href="#closed"><b>closed</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasSpline class provides multi-bezier splines on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A QCanvasSpline is a sequence of 4-point bezier curves joined
+together to make a curved shape.
+<p> You set the control points of the spline with <a href="#setControlPoints">setControlPoints</a>().
+<p> If the bezier is <a href="#closed">closed</a>(), then the first control point will be
+re-used as the last control point. Therefore, a closed bezier must
+have a multiple of 3 control points and an open bezier must have
+one extra point.
+<p> The beziers are not necessarily joined "smoothly". To ensure this,
+set control points appropriately (general reference texts about
+beziers will explain this in detail).
+<p> Like any other canvas item splines can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting
+coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and
+<a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasSpline"></a>QCanvasSpline::QCanvasSpline ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Create a spline with no control points on the canvas <em>canvas</em>.
+<p> <p>See also <a href="#setControlPoints">setControlPoints</a>().
+
+<h3 class=fn><a name="~QCanvasSpline"></a>QCanvasSpline::~QCanvasSpline ()
+</h3>
+Destroy the spline.
+
+<h3 class=fn>bool <a name="closed"></a>QCanvasSpline::closed () const
+</h3>
+Returns TRUE if the control points are a closed set; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="controlPoints"></a>QCanvasSpline::controlPoints () const
+</h3>
+Returns the current set of control points.
+<p> <p>See also <a href="#setControlPoints">setControlPoints</a>() and <a href="#closed">closed</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasSpline::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 8 (QCanvasItem::Rtti_Spline).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvaspolygon.html#rtti">QCanvasPolygon</a>.
+<h3 class=fn>void <a name="setControlPoints"></a>QCanvasSpline::setControlPoints ( <a href="qpointarray.html">QPointArray</a>&nbsp;ctrl, bool&nbsp;close = TRUE )
+</h3>
+Set the spline control points to <em>ctrl</em>.
+<p> If <em>close</em> is TRUE, then the first point in <em>ctrl</em> will be
+re-used as the last point, and the number of control points must
+be a multiple of 3. If <em>close</em> is FALSE, one additional control
+point is required, and the number of control points must be one of
+(4, 7, 10, 13, ...).
+<p> If the number of control points doesn't meet the above conditions,
+the number of points will be truncated to the largest number of
+points that do meet the requirement.
+
+<p>Example: <a href="canvas-example.html#x2926">canvas/canvas.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvassprite-members.html b/doc/html/qcanvassprite-members.html
new file mode 100644
index 0000000..12af709
--- /dev/null
+++ b/doc/html/qcanvassprite-members.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:477 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasSprite Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasSprite</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvassprite.html">QCanvasSprite</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvassprite.html#QCanvasSprite">QCanvasSprite</a>()
+<li><a href="qcanvassprite.html#~QCanvasSprite">~QCanvasSprite</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvassprite.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvassprite.html#bottomEdge">bottomEdge</a>()
+<li><a href="qcanvassprite.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvassprite.html#draw">draw</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvassprite.html#frame">frame</a>()
+<li><a href="qcanvassprite.html#frameCount">frameCount</a>()
+<li><a href="qcanvassprite.html#height">height</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvassprite.html#image">image</a>()
+<li><a href="qcanvassprite.html#imageAdvanced">imageAdvanced</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvassprite.html#leftEdge">leftEdge</a>()
+<li><a href="qcanvassprite.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvassprite.html#rightEdge">rightEdge</a>()
+<li><a href="qcanvassprite.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvassprite.html#setFrame">setFrame</a>()
+<li><a href="qcanvassprite.html#setFrameAnimation">setFrameAnimation</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvassprite.html#setSequence">setSequence</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvassprite.html#topEdge">topEdge</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvassprite.html#width">width</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvassprite.html b/doc/html/qcanvassprite.html
new file mode 100644
index 0000000..13c4599
--- /dev/null
+++ b/doc/html/qcanvassprite.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:2483 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasSprite Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasSprite Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasSprite class provides an animated canvas item on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvasitem.html">QCanvasItem</a>.
+<p><a href="qcanvassprite-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasSprite"><b>QCanvasSprite</b></a> ( QCanvasPixmapArray&nbsp;*&nbsp;a, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn>void <a href="#setSequence"><b>setSequence</b></a> ( QCanvasPixmapArray&nbsp;*&nbsp;a )</li>
+<li class=fn>virtual <a href="#~QCanvasSprite"><b>~QCanvasSprite</b></a> ()</li>
+<li class=fn>virtual void <a href="#move"><b>move</b></a> ( double&nbsp;nx, double&nbsp;ny, int&nbsp;nf )</li>
+<li class=fn>void <a href="#setFrame"><b>setFrame</b></a> ( int&nbsp;f )</li>
+<li class=fn>enum <a href="#FrameAnimationType-enum"><b>FrameAnimationType</b></a> { Cycle, Oscillate }</li>
+<li class=fn>virtual void <a href="#setFrameAnimation"><b>setFrameAnimation</b></a> ( FrameAnimationType&nbsp;type = Cycle, int&nbsp;step = 1, int&nbsp;state = 0 )</li>
+<li class=fn>int <a href="#frame"><b>frame</b></a> () const</li>
+<li class=fn>int <a href="#frameCount"><b>frameCount</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+<li class=fn>virtual QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>int <a href="#leftEdge"><b>leftEdge</b></a> () const</li>
+<li class=fn>int <a href="#topEdge"><b>topEdge</b></a> () const</li>
+<li class=fn>int <a href="#rightEdge"><b>rightEdge</b></a> () const</li>
+<li class=fn>int <a href="#bottomEdge"><b>bottomEdge</b></a> () const</li>
+<li class=fn>int <a href="#leftEdge-2"><b>leftEdge</b></a> ( int&nbsp;nx ) const</li>
+<li class=fn>int <a href="#topEdge-2"><b>topEdge</b></a> ( int&nbsp;ny ) const</li>
+<li class=fn>int <a href="#rightEdge-2"><b>rightEdge</b></a> ( int&nbsp;nx ) const</li>
+<li class=fn>int <a href="#bottomEdge-2"><b>bottomEdge</b></a> ( int&nbsp;ny ) const</li>
+<li class=fn>QCanvasPixmap * <a href="#image"><b>image</b></a> () const</li>
+<li class=fn>virtual QCanvasPixmap * <a href="#imageAdvanced"><b>imageAdvanced</b></a> () const</li>
+<li class=fn>QCanvasPixmap * <a href="#image-2"><b>image</b></a> ( int&nbsp;f ) const</li>
+<li class=fn>virtual void <a href="#advance"><b>advance</b></a> ( int&nbsp;phase )</li>
+<li class=fn>virtual void <a href="#draw"><b>draw</b></a> ( QPainter&nbsp;&amp;&nbsp;painter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasSprite class provides an animated canvas item on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A canvas sprite is an object which can contain any number of images
+(referred to as frames), only one of which is current, i.e.
+displayed, at any one time. The images can be passed in the
+constructor or set or changed later with <a href="#setSequence">setSequence</a>(). If you
+subclass QCanvasSprite you can change the frame that is displayed
+periodically, e.g. whenever <a href="qcanvasitem.html#advance">QCanvasItem::advance</a>(1) is called to
+create the effect of animation.
+<p> The current frame can be set with <a href="#setFrame">setFrame</a>() or with <a href="#move">move</a>(). The
+number of frames available is given by <a href="#frameCount">frameCount</a>(). The bounding
+rectangle of the current frame is returned by <a href="#boundingRect">boundingRect</a>().
+<p> The current frame's image can be retrieved with <a href="#image">image</a>(); use
+<a href="#imageAdvanced">imageAdvanced</a>() to retrieve the image for the frame that will be
+shown after <a href="#advance">advance</a>(1) is called. Use the image() overload passing
+it an integer index to retrieve a particular image from the list of
+frames.
+<p> Use <a href="#width">width</a>() and <a href="#height">height</a>() to retrieve the dimensions of the current
+frame.
+<p> Use <a href="#leftEdge">leftEdge</a>() and <a href="#rightEdge">rightEdge</a>() to retrieve the current frame's
+left-hand and right-hand x-coordinates respectively. Use
+<a href="#bottomEdge">bottomEdge</a>() and <a href="#topEdge">topEdge</a>() to retrieve the current frame's bottom
+and top y-coordinates respectively. These functions have an overload
+which will accept an integer frame number to retrieve the
+coordinates of a particular frame.
+<p> QCanvasSprite draws very quickly, at the expense of memory.
+<p> The current frame's image can be drawn on a painter with <a href="#draw">draw</a>().
+<p> Like any other canvas item, canvas sprites can be moved with
+<a href="#move">move</a>() which sets the x and y coordinates and the frame number, as
+well as with <a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by
+setting coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>()
+and <a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="FrameAnimationType-enum"></a>QCanvasSprite::FrameAnimationType</h3>
+
+<p> This enum is used to identify the different types of frame
+animation offered by QCanvasSprite.
+<ul>
+<li><tt>QCanvasSprite::Cycle</tt> - at each advance the frame number will be incremented by
+1 (modulo the frame count).
+<li><tt>QCanvasSprite::Oscillate</tt> - at each advance the frame number will be
+incremented by 1 up to the frame count then decremented to by 1 to
+0, repeating this sequence forever.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasSprite"></a>QCanvasSprite::QCanvasSprite ( <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>&nbsp;*&nbsp;a, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasSprite which uses images from the
+<a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a> <em>a</em>.
+<p> The sprite in initially positioned at (0, 0) on <em>canvas</em>, using
+frame 0.
+
+<h3 class=fn><a name="~QCanvasSprite"></a>QCanvasSprite::~QCanvasSprite ()<tt> [virtual]</tt>
+</h3>
+Destroys the sprite and removes it from the canvas. Does <em>not</em>
+delete the images.
+
+<h3 class=fn>void <a name="advance"></a>QCanvasSprite::advance ( int&nbsp;phase )<tt> [virtual]</tt>
+</h3>
+Extends the default <a href="qcanvasitem.html">QCanvasItem</a> implementation to provide the
+functionality of <a href="#setFrameAnimation">setFrameAnimation</a>().
+<p> The <em>phase</em> is 0 or 1: see <a href="qcanvasitem.html#advance">QCanvasItem::advance</a>() for details.
+<p> <p>See also <a href="qcanvasitem.html#advance">QCanvasItem::advance</a>() and <a href="qcanvasitem.html#setVelocity">setVelocity</a>().
+
+<p>Example: <a href="canvas-example.html#x2927">canvas/canvas.cpp</a>.
+<p>Reimplemented from <a href="qcanvasitem.html#advance">QCanvasItem</a>.
+<h3 class=fn>int <a name="bottomEdge"></a>QCanvasSprite::bottomEdge () const
+</h3>
+Returns the y-coordinate of the current bottom edge of the sprite.
+(This may change as the sprite animates since different frames may
+have different bottom edges.)
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#rightEdge">rightEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn>int <a name="bottomEdge-2"></a>QCanvasSprite::bottomEdge ( int&nbsp;ny ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns what the y-coordinate of the top edge of the sprite would
+be if the sprite (actually its hotspot) were moved to y-position
+<em>ny</em>.
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#rightEdge">rightEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QCanvasSprite::boundingRect () const<tt> [virtual]</tt>
+</h3>
+Returns the bounding rectangle for the image in the sprite's
+current frame. This assumes that the images are tightly cropped
+(i.e. do not have transparent pixels all along a side).
+
+<p>Reimplemented from <a href="qcanvasitem.html#boundingRect">QCanvasItem</a>.
+<h3 class=fn>void <a name="draw"></a>QCanvasSprite::draw ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;painter )<tt> [virtual]</tt>
+</h3>
+Draws the current frame's image at the sprite's current position
+on painter <em>painter</em>.
+
+<p>Reimplemented from <a href="qcanvasitem.html#draw">QCanvasItem</a>.
+<h3 class=fn>int <a name="frame"></a>QCanvasSprite::frame () const
+</h3>
+
+<p> Returns the index of the current animation frame in the
+QCanvasSprite's <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>.
+<p> <p>See also <a href="#setFrame">setFrame</a>() and <a href="#move">move</a>().
+
+<h3 class=fn>int <a name="frameCount"></a>QCanvasSprite::frameCount () const
+</h3>
+
+<p> Returns the number of frames in the QCanvasSprite's
+<a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>.
+
+<h3 class=fn>int <a name="height"></a>QCanvasSprite::height () const
+</h3>
+The height of the sprite for the current frame's image.
+<p> <p>See also <a href="#frame">frame</a>().
+
+<h3 class=fn><a href="qcanvaspixmap.html">QCanvasPixmap</a>&nbsp;* <a name="image"></a>QCanvasSprite::image () const
+</h3>
+
+<p> Returns the current frame's image.
+<p> <p>See also <a href="#frame">frame</a>() and <a href="#setFrame">setFrame</a>().
+
+<h3 class=fn><a href="qcanvaspixmap.html">QCanvasPixmap</a>&nbsp;* <a name="image-2"></a>QCanvasSprite::image ( int&nbsp;f ) const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the image for frame <em>f</em>. Does not do any bounds checking on <em>f</em>.
+
+<h3 class=fn><a href="qcanvaspixmap.html">QCanvasPixmap</a>&nbsp;* <a name="imageAdvanced"></a>QCanvasSprite::imageAdvanced () const<tt> [virtual]</tt>
+</h3>
+Returns the image the sprite <em>will</em> have after <a href="#advance">advance</a>(1) is
+called. By default this is the same as <a href="#image">image</a>().
+
+<h3 class=fn>int <a name="leftEdge"></a>QCanvasSprite::leftEdge () const
+</h3>
+Returns the x-coordinate of the current left edge of the sprite.
+(This may change as the sprite animates since different frames may
+have different left edges.)
+<p> <p>See also <a href="#rightEdge">rightEdge</a>(), <a href="#bottomEdge">bottomEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn>int <a name="leftEdge-2"></a>QCanvasSprite::leftEdge ( int&nbsp;nx ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns what the x-coordinate of the left edge of the sprite would
+be if the sprite (actually its hotspot) were moved to x-position
+<em>nx</em>.
+<p> <p>See also <a href="#rightEdge">rightEdge</a>(), <a href="#bottomEdge">bottomEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn>void <a name="move"></a>QCanvasSprite::move ( double&nbsp;nx, double&nbsp;ny, int&nbsp;nf )<tt> [virtual]</tt>
+</h3>
+
+<p> Set the position of the sprite to <em>nx</em>, <em>ny</em> and the current
+frame to <em>nf</em>. <em>nf</em> will be ignored if it is larger than
+<a href="#frameCount">frameCount</a>() or smaller than 0.
+
+<h3 class=fn>int <a name="rightEdge"></a>QCanvasSprite::rightEdge () const
+</h3>
+Returns the x-coordinate of the current right edge of the sprite.
+(This may change as the sprite animates since different frames may
+have different right edges.)
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#bottomEdge">bottomEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn>int <a name="rightEdge-2"></a>QCanvasSprite::rightEdge ( int&nbsp;nx ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns what the x-coordinate of the right edge of the sprite
+would be if the sprite (actually its hotspot) were moved to
+x-position <em>nx</em>.
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#bottomEdge">bottomEdge</a>(), and <a href="#topEdge">topEdge</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasSprite::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 1 (QCanvasItem::Rtti_Sprite).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Example: <a href="canvas-example.html#x2928">canvas/canvas.cpp</a>.
+<p>Reimplemented from <a href="qcanvasitem.html#rtti">QCanvasItem</a>.
+<h3 class=fn>void <a name="setFrame"></a>QCanvasSprite::setFrame ( int&nbsp;f )
+</h3>
+Sets the animation frame used for displaying the sprite to <em>f</em>,
+an index into the QCanvasSprite's <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>. The call
+will be ignored if <em>f</em> is larger than <a href="#frameCount">frameCount</a>() or smaller
+than 0.
+<p> <p>See also <a href="#frame">frame</a>() and <a href="#move">move</a>().
+
+<h3 class=fn>void <a name="setFrameAnimation"></a>QCanvasSprite::setFrameAnimation ( <a href="qcanvassprite.html#FrameAnimationType-enum">FrameAnimationType</a>&nbsp;type = Cycle, int&nbsp;step = 1, int&nbsp;state = 0 )<tt> [virtual]</tt>
+</h3>
+Sets the animation characteristics for the sprite.
+<p> For <em>type</em> == <a href="#FrameAnimationType-enum">Cycle</a>, the frames will increase by <em>step</em>
+at each advance, modulo the <a href="#frameCount">frameCount</a>().
+<p> For <em>type</em> == <a href="#FrameAnimationType-enum">Oscillate</a>, the frames will increase by <em>step</em>
+at each advance, up to the frameCount(), then decrease by <em>step</em>
+back to 0, repeating forever.
+<p> The <em>state</em> parameter is for internal use.
+
+<h3 class=fn>void <a name="setSequence"></a>QCanvasSprite::setSequence ( <a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a>&nbsp;*&nbsp;a )
+</h3>
+Set the array of images used for displaying the sprite to the
+<a href="qcanvaspixmaparray.html">QCanvasPixmapArray</a> <em>a</em>.
+<p> If the current <a href="#frame">frame</a>() is larger than the number of images in <em>a</em>, the current frame will be reset to 0.
+
+<h3 class=fn>int <a name="topEdge"></a>QCanvasSprite::topEdge () const
+</h3>
+Returns the y-coordinate of the top edge of the sprite. (This may
+change as the sprite animates since different frames may have
+different top edges.)
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#rightEdge">rightEdge</a>(), and <a href="#bottomEdge">bottomEdge</a>().
+
+<h3 class=fn>int <a name="topEdge-2"></a>QCanvasSprite::topEdge ( int&nbsp;ny ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns what the y-coordinate of the top edge of the sprite would
+be if the sprite (actually its hotspot) were moved to y-position
+<em>ny</em>.
+<p> <p>See also <a href="#leftEdge">leftEdge</a>(), <a href="#rightEdge">rightEdge</a>(), and <a href="#bottomEdge">bottomEdge</a>().
+
+<h3 class=fn>int <a name="width"></a>QCanvasSprite::width () const
+</h3>
+The width of the sprite for the current frame's image.
+<p> <p>See also <a href="#frame">frame</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvastext-members.html b/doc/html/qcanvastext-members.html
new file mode 100644
index 0000000..16a0df9
--- /dev/null
+++ b/doc/html/qcanvastext-members.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:753 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasText Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasText</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvastext.html">QCanvasText</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvastext.html#QCanvasText">QCanvasText</a>()
+<li><a href="qcanvastext.html#~QCanvasText">~QCanvasText</a>()
+<li><a href="qcanvasitem.html#active">active</a>()
+<li><a href="qcanvasitem.html#advance">advance</a>()
+<li><a href="qcanvasitem.html#animated">animated</a>()
+<li><a href="qcanvastext.html#boundingRect">boundingRect</a>()
+<li><a href="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</a>()
+<li><a href="qcanvasitem.html#canvas">canvas</a>()
+<li><a href="qcanvasitem.html#collidesWith">collidesWith</a>()
+<li><a href="qcanvasitem.html#collisions">collisions</a>()
+<li><a href="qcanvastext.html#color">color</a>()
+<li><a href="qcanvastext.html#draw">draw</a>()
+<li><a href="qcanvasitem.html#enabled">enabled</a>()
+<li><a href="qcanvastext.html#font">font</a>()
+<li><a href="qcanvasitem.html#hide">hide</a>()
+<li><a href="qcanvasitem.html#isActive">isActive</a>()
+<li><a href="qcanvasitem.html#isEnabled">isEnabled</a>()
+<li><a href="qcanvasitem.html#isSelected">isSelected</a>()
+<li><a href="qcanvasitem.html#isVisible">isVisible</a>()
+<li><a href="qcanvasitem.html#move">move</a>()
+<li><a href="qcanvasitem.html#moveBy">moveBy</a>()
+<li><a href="qcanvastext.html#rtti">rtti</a>()
+<li><a href="qcanvasitem.html#selected">selected</a>()
+<li><a href="qcanvasitem.html#setActive">setActive</a>()
+<li><a href="qcanvasitem.html#setAnimated">setAnimated</a>()
+<li><a href="qcanvasitem.html#setCanvas">setCanvas</a>()
+<li><a href="qcanvastext.html#setColor">setColor</a>()
+<li><a href="qcanvasitem.html#setEnabled">setEnabled</a>()
+<li><a href="qcanvastext.html#setFont">setFont</a>()
+<li><a href="qcanvasitem.html#setSelected">setSelected</a>()
+<li><a href="qcanvastext.html#setText">setText</a>()
+<li><a href="qcanvastext.html#setTextFlags">setTextFlags</a>()
+<li><a href="qcanvasitem.html#setVelocity">setVelocity</a>()
+<li><a href="qcanvasitem.html#setVisible">setVisible</a>()
+<li><a href="qcanvasitem.html#setX">setX</a>()
+<li><a href="qcanvasitem.html#setXVelocity">setXVelocity</a>()
+<li><a href="qcanvasitem.html#setY">setY</a>()
+<li><a href="qcanvasitem.html#setYVelocity">setYVelocity</a>()
+<li><a href="qcanvasitem.html#setZ">setZ</a>()
+<li><a href="qcanvasitem.html#show">show</a>()
+<li><a href="qcanvastext.html#text">text</a>()
+<li><a href="qcanvastext.html#textFlags">textFlags</a>()
+<li><a href="qcanvasitem.html#update">update</a>()
+<li><a href="qcanvasitem.html#visible">visible</a>()
+<li><a href="qcanvasitem.html#x">x</a>()
+<li><a href="qcanvasitem.html#xVelocity">xVelocity</a>()
+<li><a href="qcanvasitem.html#y">y</a>()
+<li><a href="qcanvasitem.html#yVelocity">yVelocity</a>()
+<li><a href="qcanvasitem.html#z">z</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvastext.html b/doc/html/qcanvastext.html
new file mode 100644
index 0000000..e985ca0
--- /dev/null
+++ b/doc/html/qcanvastext.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:4858 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasText Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasText Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasText class provides a text object on a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qcanvasitem.html">QCanvasItem</a>.
+<p><a href="qcanvastext-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasText"><b>QCanvasText</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasText-2"><b>QCanvasText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;t, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn><a href="#QCanvasText-3"><b>QCanvasText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;t, QFont&nbsp;f, QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn>virtual <a href="#~QCanvasText"><b>~QCanvasText</b></a> ()</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;t )</li>
+<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>QFont <a href="#font"><b>font</b></a> () const</li>
+<li class=fn>QColor <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>int <a href="#textFlags"><b>textFlags</b></a> () const</li>
+<li class=fn>void <a href="#setTextFlags"><b>setTextFlags</b></a> ( int&nbsp;f )</li>
+<li class=fn>virtual QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#draw"><b>draw</b></a> ( QPainter&nbsp;&amp;&nbsp;painter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasText class provides a text object on a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A canvas text item has text with font, color and alignment
+attributes. The text and font can be set in the constructor or set
+or changed later with <a href="#setText">setText</a>() and <a href="#setFont">setFont</a>(). The color is set
+with <a href="#setColor">setColor</a>() and the alignment with <a href="#setTextFlags">setTextFlags</a>(). The text
+item's bounding rectangle is retrieved with <a href="#boundingRect">boundingRect</a>().
+<p> The text can be drawn on a painter with <a href="#draw">draw</a>().
+<p> Like any other canvas item text items can be moved with
+<a href="qcanvasitem.html#move">QCanvasItem::move</a>() and <a href="qcanvasitem.html#moveBy">QCanvasItem::moveBy</a>(), or by setting
+coordinates with <a href="qcanvasitem.html#setX">QCanvasItem::setX</a>(), <a href="qcanvasitem.html#setY">QCanvasItem::setY</a>() and
+<a href="qcanvasitem.html#setZ">QCanvasItem::setZ</a>().
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasText"></a>QCanvasText::QCanvasText ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasText with the text "&lt;text&gt;", on <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasText-2"></a>QCanvasText::QCanvasText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasText with the text <em>t</em>, on canvas <em>canvas</em>.
+
+<h3 class=fn><a name="QCanvasText-3"></a>QCanvasText::QCanvasText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t, <a href="qfont.html">QFont</a>&nbsp;f, <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Constructs a QCanvasText with the text <em>t</em> and font <em>f</em>, on the
+canvas <em>canvas</em>.
+
+<h3 class=fn><a name="~QCanvasText"></a>QCanvasText::~QCanvasText ()<tt> [virtual]</tt>
+</h3>
+Destroys the canvas text item.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QCanvasText::boundingRect () const<tt> [virtual]</tt>
+</h3>
+Returns the bounding rectangle of the text.
+
+<p>Reimplemented from <a href="qcanvasitem.html#boundingRect">QCanvasItem</a>.
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="color"></a>QCanvasText::color () const
+</h3>
+Returns the color of the text.
+<p> <p>See also <a href="#setColor">setColor</a>().
+
+<h3 class=fn>void <a name="draw"></a>QCanvasText::draw ( <a href="qpainter.html">QPainter</a>&nbsp;&amp;&nbsp;painter )<tt> [virtual protected]</tt>
+</h3>
+Draws the text using the painter <em>painter</em>.
+
+<p>Reimplemented from <a href="qcanvasitem.html#draw">QCanvasItem</a>.
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QCanvasText::font () const
+</h3>
+Returns the font in which the text is drawn.
+<p> <p>See also <a href="#setFont">setFont</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCanvasText::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 3 (QCanvasItem::Rtti_Text).
+<p> <p>See also <a href="qcanvasitem.html#rtti">QCanvasItem::rtti</a>().
+
+<p>Reimplemented from <a href="qcanvasitem.html#rtti">QCanvasItem</a>.
+<h3 class=fn>void <a name="setColor"></a>QCanvasText::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the color of the text to the color <em>c</em>.
+<p> <p>See also <a href="#color">color</a>() and <a href="#setFont">setFont</a>().
+
+<p>Example: <a href="tutorial2-06.html#x2574">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setFont"></a>QCanvasText::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )
+</h3>
+Sets the font in which the text is drawn to font <em>f</em>.
+<p> <p>See also <a href="#font">font</a>().
+
+<h3 class=fn>void <a name="setText"></a>QCanvasText::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t )
+</h3>
+Sets the text item's text to <em>t</em>. The text may contain newlines.
+<p> <p>See also <a href="#text">text</a>(), <a href="#setFont">setFont</a>(), <a href="#setColor">setColor</a>(), and <a href="#setTextFlags">setTextFlags</a>().
+
+<p>Example: <a href="canvas-example.html#x2929">canvas/canvas.cpp</a>.
+<h3 class=fn>void <a name="setTextFlags"></a>QCanvasText::setTextFlags ( int&nbsp;f )
+</h3>
+Sets the alignment flags to <em>f</em>. These are a bitwise OR of the
+flags available to <a href="qpainter.html#drawText">QPainter::drawText</a>() -- see the
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+<p> <p>See also <a href="#setFont">setFont</a>() and <a href="#setColor">setColor</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QCanvasText::text () const
+</h3>
+Returns the text item's text.
+<p> <p>See also <a href="#setText">setText</a>().
+
+<h3 class=fn>int <a name="textFlags"></a>QCanvasText::textFlags () const
+</h3>
+
+<p> Returns the currently set alignment flags.
+<p> <p>See also <a href="#setTextFlags">setTextFlags</a>() and <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasview-members.html b/doc/html/qcanvasview-members.html
new file mode 100644
index 0000000..c05044d
--- /dev/null
+++ b/doc/html/qcanvasview-members.html
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcanvas.h:361 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCanvasView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcanvasview.html">QCanvasView</a>, including inherited members.
+
+<ul>
+<li><a href="qcanvasview.html#QCanvasView">QCanvasView</a>()
+<li><a href="qcanvasview.html#~QCanvasView">~QCanvasView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qcanvasview.html#canvas">canvas</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qcanvasview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qcanvasview.html#inverseWorldMatrix">inverseWorldMatrix</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qcanvasview.html#setCanvas">setCanvas</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qcanvasview.html#setWorldMatrix">setWorldMatrix</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qcanvasview.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qcanvasview.html#worldMatrix">worldMatrix</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcanvasview.html b/doc/html/qcanvasview.html
new file mode 100644
index 0000000..6203f0b
--- /dev/null
+++ b/doc/html/qcanvasview.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/canvas/qcanvas.cpp:3456 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCanvasView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCanvasView Class Reference<br><small>[<a href="canvas.html">canvas module</a>]</small></h1>
+
+<p>The QCanvasView class provides an on-screen view of a QCanvas.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcanvas-h.html">qcanvas.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p><a href="qcanvasview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCanvasView"><b>QCanvasView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QCanvasView-2"><b>QCanvasView</b></a> ( QCanvas&nbsp;*&nbsp;canvas, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QCanvasView"><b>~QCanvasView</b></a> ()</li>
+<li class=fn>QCanvas * <a href="#canvas"><b>canvas</b></a> () const</li>
+<li class=fn>void <a href="#setCanvas"><b>setCanvas</b></a> ( QCanvas&nbsp;*&nbsp;canvas )</li>
+<li class=fn>const QWMatrix &amp; <a href="#worldMatrix"><b>worldMatrix</b></a> () const</li>
+<li class=fn>const QWMatrix &amp; <a href="#inverseWorldMatrix"><b>inverseWorldMatrix</b></a> () const</li>
+<li class=fn>bool <a href="#setWorldMatrix"><b>setWorldMatrix</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;wm )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCanvasView class provides an on-screen view of a <a href="qcanvas.html">QCanvas</a>.
+
+<p>
+
+
+<p> A QCanvasView is widget which provides a view of a QCanvas.
+<p> If you want users to be able to interact with a canvas view,
+subclass QCanvasView. You might then reimplement
+<a href="qscrollview.html#contentsMousePressEvent">QScrollView::contentsMousePressEvent</a>(). For example, assuming no
+<a href="qwmatrix.html#TransformationMode">transformation matrix</a> is set:
+<p> <pre>
+ void MyCanvasView::contentsMousePressEvent( <a href="qmouseevent.html">QMouseEvent</a>* e )
+ {
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> l = <a href="#canvas">canvas</a>()-&gt;collisions(e-&gt;<a href="qmouseevent.html#pos">pos</a>());
+ for (QCanvasItemList::Iterator it=l.<a href="qvaluelist.html#begin">begin</a>(); it!=l.<a href="qvaluelist.html#end">end</a>(); ++it) {
+ if ( (*it)-&gt;rtti() == QCanvasRectangle::RTTI )
+ <a href="qapplication.html#qDebug">qDebug</a>("A QCanvasRectangle lies somewhere at this point");
+ }
+ }
+ </pre>
+
+<p> The canvas view shows canvas <a href="#canvas">canvas</a>(); this can be changed using
+<a href="#setCanvas">setCanvas</a>().
+<p> A transformation matrix can be used to transform the view of the
+canvas in various ways, for example, zooming in or out or rotating.
+For example:
+<p> <pre>
+ <a href="qwmatrix.html">QWMatrix</a> wm;
+ wm.<a href="qwmatrix.html#scale">scale</a>( 2, 2 ); // Zooms in by 2 times
+ wm.<a href="qwmatrix.html#rotate">rotate</a>( 90 ); // Rotates 90 degrees counter clockwise
+ // around the origin.
+ wm.<a href="qwmatrix.html#translate">translate</a>( 0, -canvas-&gt;height() );
+ // moves the canvas down so what was visible
+ // before is still visible.
+ myCanvasView-&gt;setWorldMatrix( wm );
+ </pre>
+
+<p> Use <a href="#setWorldMatrix">setWorldMatrix</a>() to set the canvas view's world matrix: you must
+ensure that the world matrix is invertible. The current world matrix
+is retrievable with <a href="#worldMatrix">worldMatrix</a>(), and its inversion is retrievable
+with <a href="#inverseWorldMatrix">inverseWorldMatrix</a>().
+<p> Example:
+<p> The following code finds the part of the canvas that is visible in
+this view, i.e. the bounding rectangle of the view in canvas coordinates.
+<p> <pre>
+ <a href="qrect.html">QRect</a> rc = QRect( myCanvasView-&gt;contentsX(), myCanvasView-&gt;contentsY(),
+ myCanvasView-&gt;visibleWidth(), myCanvasView-&gt;visibleHeight() );
+ <a href="qrect.html">QRect</a> canvasRect = myCanvasView-&gt;inverseWorldMatrix().mapRect(rc);
+ </pre>
+
+<p> <p>See also <a href="qwmatrix.html">QWMatrix</a>, <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>(), <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCanvasView"></a>QCanvasView::QCanvasView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a QCanvasView with parent <em>parent</em>, and name <em>name</em>,
+using the widget flags <em>f</em>. The canvas view is not associated
+with a canvas, so you must to call <a href="#setCanvas">setCanvas</a>() to view a
+canvas.
+
+<h3 class=fn><a name="QCanvasView-2"></a>QCanvasView::QCanvasView ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a QCanvasView which views canvas <em>canvas</em>, with parent
+<em>parent</em>, and name <em>name</em>, using the widget flags <em>f</em>.
+
+<h3 class=fn><a name="~QCanvasView"></a>QCanvasView::~QCanvasView ()
+</h3>
+Destroys the canvas view. The associated canvas is <em>not</em> deleted.
+
+<h3 class=fn><a href="qcanvas.html">QCanvas</a>&nbsp;* <a name="canvas"></a>QCanvasView::canvas () const
+</h3>
+
+<p> Returns a pointer to the canvas which the QCanvasView is currently
+showing.
+
+<h3 class=fn>void <a name="drawContents"></a>QCanvasView::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )<tt> [virtual protected]</tt>
+</h3>
+Repaints part of the <a href="qcanvas.html">QCanvas</a> that the canvas view is showing
+starting at <em>cx</em> by <em>cy</em>, with a width of <em>cw</em> and a height of <em>ch</em> using the painter <em>p</em>.
+<p> <b>Warning:</b> When double buffering is enabled, <a href="#drawContents">drawContents</a>() will
+not respect the current settings of the painter when setting up
+the painter for the double buffer (e.g., <a href="qscrollview.html#viewport">viewport</a>() and
+window()). Also, be aware that <a href="qcanvas.html#update">QCanvas::update</a>() bypasses
+drawContents(), which means any reimplementation of
+drawContents() is not called.
+<p> <p>See also <a href="qcanvas.html#setDoubleBuffering">QCanvas::setDoubleBuffering</a>().
+
+<p>Reimplemented from <a href="qscrollview.html#drawContents">QScrollView</a>.
+<h3 class=fn>const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="inverseWorldMatrix"></a>QCanvasView::inverseWorldMatrix () const
+</h3>
+Returns a reference to the inverse of the canvas view's current
+<a href="qwmatrix.html#TransformationMode">transformation matrix</a>.
+<p> <p>See also <a href="#setWorldMatrix">setWorldMatrix</a>() and <a href="#worldMatrix">worldMatrix</a>().
+
+<h3 class=fn>void <a name="setCanvas"></a>QCanvasView::setCanvas ( <a href="qcanvas.html">QCanvas</a>&nbsp;*&nbsp;canvas )
+</h3>
+Sets the canvas that the QCanvasView is showing to the canvas <em>canvas</em>.
+
+<h3 class=fn>bool <a name="setWorldMatrix"></a>QCanvasView::setWorldMatrix ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;wm )
+</h3>
+Sets the <a href="qwmatrix.html#TransformationMode">transformation matrix</a> of the QCanvasView to <em>wm</em>. The
+matrix must be invertible (i.e. if you create a world matrix that
+zooms out by 2 times, then the inverse of this matrix is one that
+will zoom in by 2 times).
+<p> When you use this, you should note that the performance of the
+QCanvasView will decrease considerably.
+<p> Returns FALSE if <em>wm</em> is not invertable; otherwise returns TRUE.
+<p> <p>See also <a href="#worldMatrix">worldMatrix</a>(), <a href="#inverseWorldMatrix">inverseWorldMatrix</a>(), and <a href="qwmatrix.html#isInvertible">QWMatrix::isInvertible</a>().
+
+<p>Example: <a href="canvas-example.html#x2930">canvas/canvas.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QCanvasView::sizeHint () const<tt> [virtual protected]</tt>
+</h3>
+Suggests a size sufficient to view the entire canvas.
+
+<h3 class=fn>const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="worldMatrix"></a>QCanvasView::worldMatrix () const
+</h3>
+Returns a reference to the canvas view's current <a href="qwmatrix.html#TransformationMode">transformation matrix</a>.
+<p> <p>See also <a href="#setWorldMatrix">setWorldMatrix</a>() and <a href="#inverseWorldMatrix">inverseWorldMatrix</a>().
+
+<p>Example: <a href="canvas-example.html#x2931">canvas/canvas.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcdestyle-h.html b/doc/html/qcdestyle-h.html
new file mode 100644
index 0000000..56b81d0
--- /dev/null
+++ b/doc/html/qcdestyle-h.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcdestyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcdestyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcdestyle.h</h1>
+
+<p>This is the verbatim text of the qcdestyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcdestyle.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the CDE-like style class
+**
+** Created : 990513
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+#ifndef QCDESTYLE_H
+#define QCDESTYLE_H
+
+#ifndef QT_H
+#include "qmotifstyle.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_CDE) || defined(QT_PLUGIN)
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_CDE
+#else
+#define Q_EXPORT_STYLE_CDE Q_EXPORT
+#endif
+
+class Q_EXPORT_STYLE_CDE QCDEStyle : public QMotifStyle
+{
+ Q_OBJECT
+public:
+
+ QCDEStyle( bool useHighlightCols = FALSE );
+ virtual ~QCDEStyle();
+
+ int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+};
+
+#endif // QT_NO_STYLE_CDE
+
+#endif // QCDESTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcdestyle-members.html b/doc/html/qcdestyle-members.html
new file mode 100644
index 0000000..3e451bd
--- /dev/null
+++ b/doc/html/qcdestyle-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcdestyle.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCDEStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCDEStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcdestyle.html">QCDEStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qcdestyle.html#QCDEStyle">QCDEStyle</a>()
+<li><a href="qcdestyle.html#~QCDEStyle">~QCDEStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmotifstyle.html#setUseHighlightColors">setUseHighlightColors</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qmotifstyle.html#useHighlightColors">useHighlightColors</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcdestyle.html b/doc/html/qcdestyle.html
new file mode 100644
index 0000000..4fa0bc9
--- /dev/null
+++ b/doc/html/qcdestyle.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qcdestyle.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCDEStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCDEStyle Class Reference</h1>
+
+<p>The QCDEStyle class provides a CDE look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcdestyle-h.html">qcdestyle.h</a>&gt;</tt>
+<p>Inherits <a href="qmotifstyle.html">QMotifStyle</a>.
+<p><a href="qcdestyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCDEStyle"><b>QCDEStyle</b></a> ( bool&nbsp;useHighlightCols = FALSE )</li>
+<li class=fn>virtual <a href="#~QCDEStyle"><b>~QCDEStyle</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCDEStyle class provides a CDE look and feel.
+<p>
+<p> This style provides a slightly improved <a href="motif-extension.html#Motif">Motif</a> look similar to some
+versions of the Common Desktop Environment (CDE). The main
+differences are thinner frames and more modern radio buttons and
+checkboxes. Together with a dark background and a bright
+text/foreground color, the style looks quite attractive (at least
+for Motif fans).
+<p> Note that the functions provided by QCDEStyle are
+reimplementations of <a href="qstyle.html">QStyle</a> functions; see QStyle for their
+documentation.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCDEStyle"></a>QCDEStyle::QCDEStyle ( bool&nbsp;useHighlightCols = FALSE )
+</h3>
+Constructs a QCDEStyle.
+<p> If <em>useHighlightCols</em> is FALSE (the default), then the style will
+polish the application's color palette to emulate the <a href="motif-extension.html#Motif">Motif</a> way of
+highlighting, which is a simple inversion between the base and the
+text color.
+
+<h3 class=fn><a name="~QCDEStyle"></a>QCDEStyle::~QCDEStyle ()<tt> [virtual]</tt>
+</h3>
+Destroys the style.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchar-members.html b/doc/html/qchar-members.html
new file mode 100644
index 0000000..113bac0
--- /dev/null
+++ b/doc/html/qchar-members.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstring.h:73 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QChar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QChar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qchar.html">QChar</a>, including inherited members.
+
+<ul>
+<li><a href="qchar.html#QChar">QChar</a>()
+<li><a href="qchar.html#category">category</a>()
+<li><a href="qchar.html#cell">cell</a>()
+<li><a href="qchar.html#combiningClass">combiningClass</a>()
+<li><a href="qchar.html#decomposition">decomposition</a>()
+<li><a href="qchar.html#decompositionTag">decompositionTag</a>()
+<li><a href="qchar.html#digitValue">digitValue</a>()
+<li><a href="qchar.html#direction">direction</a>()
+<li><a href="qchar.html#isDigit">isDigit</a>()
+<li><a href="qchar.html#isLetter">isLetter</a>()
+<li><a href="qchar.html#isLetterOrNumber">isLetterOrNumber</a>()
+<li><a href="qchar.html#isMark">isMark</a>()
+<li><a href="qchar.html#isNull">isNull</a>()
+<li><a href="qchar.html#isNumber">isNumber</a>()
+<li><a href="qchar.html#isPrint">isPrint</a>()
+<li><a href="qchar.html#isPunct">isPunct</a>()
+<li><a href="qchar.html#isSpace">isSpace</a>()
+<li><a href="qchar.html#isSymbol">isSymbol</a>()
+<li><a href="qchar.html#joining">joining</a>()
+<li><a href="qchar.html#latin1">latin1</a>()
+<li><a href="qchar.html#lower">lower</a>()
+<li><a href="qchar.html#mirrored">mirrored</a>()
+<li><a href="qchar.html#mirroredChar">mirroredChar</a>()
+<li><a href="qchar.html#networkOrdered">networkOrdered</a>()
+<li><a href="qchar.html#operator-char">operator char</a>()
+<li><a href="qchar.html#row">row</a>()
+<li><a href="qchar.html#unicode">unicode</a>()
+<li><a href="qchar.html#upper">upper</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchar.html b/doc/html/qchar.html
new file mode 100644
index 0000000..7f2ae63
--- /dev/null
+++ b/doc/html/qchar.html
@@ -0,0 +1,599 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qstring.cpp:166 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QChar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QChar Class Reference</h1>
+
+<p>The QChar class provides a lightweight Unicode character.
+<a href="#details">More...</a>
+<p>Almost all the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support. The exception is <a href="#decomposition"><b>decomposition</b></a>().
+</p><p><tt>#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;</tt>
+<p><a href="qchar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QChar"><b>QChar</b></a> ()</li>
+<li class=fn><a href="#QChar-2"><b>QChar</b></a> ( char&nbsp;c )</li>
+<li class=fn><a href="#QChar-3"><b>QChar</b></a> ( uchar&nbsp;c )</li>
+<li class=fn><a href="#QChar-4"><b>QChar</b></a> ( uchar&nbsp;c, uchar&nbsp;r )</li>
+<li class=fn><a href="#QChar-5"><b>QChar</b></a> ( const&nbsp;QChar&nbsp;&amp;&nbsp;c )</li>
+<li class=fn><a href="#QChar-6"><b>QChar</b></a> ( ushort&nbsp;rc )</li>
+<li class=fn><a href="#QChar-7"><b>QChar</b></a> ( short&nbsp;rc )</li>
+<li class=fn><a href="#QChar-8"><b>QChar</b></a> ( uint&nbsp;rc )</li>
+<li class=fn><a href="#QChar-9"><b>QChar</b></a> ( int&nbsp;rc )</li>
+<li class=fn>enum <a href="#Category-enum"><b>Category</b></a> { NoCategory, Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, Number_Other, Separator_Space, Separator_Line, Separator_Paragraph, Other_Control, Other_Format, Other_Surrogate, Other_PrivateUse, Other_NotAssigned, Letter_Uppercase, Letter_Lowercase, Letter_Titlecase, Letter_Modifier, Letter_Other, Punctuation_Connector, Punctuation_Dash, Punctuation_Dask = Punctuation_Dash, Punctuation_Open, Punctuation_Close, Punctuation_InitialQuote, Punctuation_FinalQuote, Punctuation_Other, Symbol_Math, Symbol_Currency, Symbol_Modifier, Symbol_Other }</li>
+<li class=fn>enum <a href="#Direction-enum"><b>Direction</b></a> { DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN }</li>
+<li class=fn>enum <a href="#Decomposition-enum"><b>Decomposition</b></a> { Single, Canonical, Font, NoBreak, Initial, Medial, Final, Isolated, Circle, Super, Sub, Vertical, Wide, Narrow, Small, Square, Compat, Fraction }</li>
+<li class=fn>enum <a href="#Joining-enum"><b>Joining</b></a> { OtherJoining, Dual, Right, Center }</li>
+<li class=fn>enum <a href="#CombiningClass-enum"><b>CombiningClass</b></a> { Combining_BelowLeftAttached = 200, Combining_BelowAttached = 202, Combining_BelowRightAttached = 204, Combining_LeftAttached = 208, Combining_RightAttached = 210, Combining_AboveLeftAttached = 212, Combining_AboveAttached = 214, Combining_AboveRightAttached = 216, Combining_BelowLeft = 218, Combining_Below = 220, Combining_BelowRight = 222, Combining_Left = 224, Combining_Right = 226, Combining_AboveLeft = 228, Combining_Above = 230, Combining_AboveRight = 232, Combining_DoubleBelow = 233, Combining_DoubleAbove = 234, Combining_IotaSubscript = 240 }</li>
+<li class=fn>int <a href="#digitValue"><b>digitValue</b></a> () const</li>
+<li class=fn>QChar <a href="#lower"><b>lower</b></a> () const</li>
+<li class=fn>QChar <a href="#upper"><b>upper</b></a> () const</li>
+<li class=fn>Category <a href="#category"><b>category</b></a> () const</li>
+<li class=fn>Direction <a href="#direction"><b>direction</b></a> () const</li>
+<li class=fn>Joining <a href="#joining"><b>joining</b></a> () const</li>
+<li class=fn>bool <a href="#mirrored"><b>mirrored</b></a> () const</li>
+<li class=fn>QChar <a href="#mirroredChar"><b>mirroredChar</b></a> () const</li>
+<li class=fn>const QString &amp; <a href="#decomposition"><b>decomposition</b></a> () const</li>
+<li class=fn>Decomposition <a href="#decompositionTag"><b>decompositionTag</b></a> () const</li>
+<li class=fn>unsigned char <a href="#combiningClass"><b>combiningClass</b></a> () const</li>
+<li class=fn>char <a href="#latin1"><b>latin1</b></a> () const</li>
+<li class=fn>ushort <a href="#unicode"><b>unicode</b></a> () const</li>
+<li class=fn>ushort &amp; <a href="#unicode-2"><b>unicode</b></a> ()</li>
+<li class=fn><a href="#operator-char"><b>operator char</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isPrint"><b>isPrint</b></a> () const</li>
+<li class=fn>bool <a href="#isPunct"><b>isPunct</b></a> () const</li>
+<li class=fn>bool <a href="#isSpace"><b>isSpace</b></a> () const</li>
+<li class=fn>bool <a href="#isMark"><b>isMark</b></a> () const</li>
+<li class=fn>bool <a href="#isLetter"><b>isLetter</b></a> () const</li>
+<li class=fn>bool <a href="#isNumber"><b>isNumber</b></a> () const</li>
+<li class=fn>bool <a href="#isLetterOrNumber"><b>isLetterOrNumber</b></a> () const</li>
+<li class=fn>bool <a href="#isDigit"><b>isDigit</b></a> () const</li>
+<li class=fn>bool <a href="#isSymbol"><b>isSymbol</b></a> () const</li>
+<li class=fn>uchar <a href="#cell"><b>cell</b></a> () const</li>
+<li class=fn>uchar <a href="#row"><b>row</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool networkOrdered () &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+<li class=fn>bool <a href="#operator-eq-eq-3"><b>operator==</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator!-eq"><b>operator!=</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>int <a href="#operator!-eq-2"><b>operator!=</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+<li class=fn>int <a href="#operator!-eq-3"><b>operator!=</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>int <a href="#operator-lt-eq-2"><b>operator&lt;=</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator-lt-eq-3"><b>operator&lt;=</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+<li class=fn>int <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>int <a href="#operator-gt-eq-2"><b>operator&gt;=</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator-gt-eq-3"><b>operator&gt;=</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+<li class=fn>int <a href="#operator-lt"><b>operator&lt;</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>int <a href="#operator-lt-2"><b>operator&lt;</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator-lt-3"><b>operator&lt;</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+<li class=fn>int <a href="#operator-gt"><b>operator&gt;</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>int <a href="#operator-gt-2"><b>operator&gt;</b></a> ( QChar&nbsp;c, char&nbsp;ch )</li>
+<li class=fn>int <a href="#operator-gt-3"><b>operator&gt;</b></a> ( char&nbsp;ch, QChar&nbsp;c )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QChar class provides a lightweight Unicode character.
+<p>
+<p> Unicode characters are (so far) 16-bit entities without any markup
+or structure. This class represents such an entity. It is
+lightweight, so it can be used everywhere. Most compilers treat it
+like a "short int". (In a few years it may be necessary to make
+QChar 32-bit when more than 65536 Unicode code points have been
+defined and come into use.)
+<p> QChar provides a full complement of testing/classification
+functions, converting to and from other formats, converting from
+composed to decomposed Unicode, and trying to compare and
+case-convert if you ask it to.
+<p> The classification functions include functions like those in
+ctype.h, but operating on the full range of Unicode characters.
+They all return TRUE if the character is a certain type of
+character; otherwise they return FALSE. These classification
+functions are <a href="#isNull">isNull</a>() (returns TRUE if the character is U+0000),
+<a href="#isPrint">isPrint</a>() (TRUE if the character is any sort of printable
+character, including whitespace), <a href="#isPunct">isPunct</a>() (any sort of
+punctation), <a href="#isMark">isMark</a>() (Unicode Mark), isLetter (a letter),
+<a href="#isNumber">isNumber</a>() (any sort of numeric character), <a href="#isLetterOrNumber">isLetterOrNumber</a>(),
+and <a href="#isDigit">isDigit</a>() (decimal digits). All of these are wrappers around
+<a href="#category">category</a>() which return the Unicode-defined category of each
+character.
+<p> QChar further provides <a href="#direction">direction</a>(), which indicates the "natural"
+writing direction of this character. The <a href="#joining">joining</a>() function
+indicates how the character joins with its neighbors (needed
+mostly for Arabic) and finally <a href="#mirrored">mirrored</a>(), which indicates whether
+the character needs to be mirrored when it is printed in its
+"unnatural" writing direction.
+<p> Composed Unicode characters (like &aring;) can be converted to
+decomposed Unicode ("a" followed by "ring above") by using
+<a href="#decomposition">decomposition</a>().
+<p> In Unicode, comparison is not necessarily possible and case
+conversion is very difficult at best. Unicode, covering the
+"entire" world, also includes most of the world's case and sorting
+problems. Qt tries, but not very hard: <a href="#operator-eq-eq">operator==</a>() and friends
+will do comparison based purely on the numeric Unicode value (code
+point) of the characters, and <a href="#upper">upper</a>() and <a href="#lower">lower</a>() will do case
+changes when the character has a well-defined upper/lower-case
+equivalent. There is no provision for locale-dependent case
+folding rules or comparison; these functions are meant to be fast
+so they can be used unambiguously in data structures. (See
+<a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>() though.)
+<p> The conversion functions include <a href="#unicode">unicode</a>() (to a scalar), <a href="#latin1">latin1</a>()
+(to scalar, but converts all non-Latin-1 characters to 0), <a href="#row">row</a>()
+(gives the Unicode row), <a href="#cell">cell</a>() (gives the Unicode cell),
+<a href="#digitValue">digitValue</a>() (gives the integer value of any of the numerous digit
+characters), and a host of constructors.
+<p> More information can be found in the document <a href="unicode.html">About Unicode.</a>
+<p> <p>See also <a href="qstring.html">QString</a>, <a href="qcharref.html">QCharRef</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Category-enum"></a>QChar::Category</h3>
+
+<p> This enum maps the Unicode character categories.
+<p> The following characters are normative in Unicode:
+<ul>
+<li><tt>QChar::Mark_NonSpacing</tt> - Unicode class name Mn
+<li><tt>QChar::Mark_SpacingCombining</tt> - Unicode class name Mc
+<li><tt>QChar::Mark_Enclosing</tt> - Unicode class name Me
+<li><tt>QChar::Number_DecimalDigit</tt> - Unicode class name Nd
+<li><tt>QChar::Number_Letter</tt> - Unicode class name Nl
+<li><tt>QChar::Number_Other</tt> - Unicode class name No
+<li><tt>QChar::Separator_Space</tt> - Unicode class name Zs
+<li><tt>QChar::Separator_Line</tt> - Unicode class name Zl
+<li><tt>QChar::Separator_Paragraph</tt> - Unicode class name Zp
+<li><tt>QChar::Other_Control</tt> - Unicode class name Cc
+<li><tt>QChar::Other_Format</tt> - Unicode class name Cf
+<li><tt>QChar::Other_Surrogate</tt> - Unicode class name Cs
+<li><tt>QChar::Other_PrivateUse</tt> - Unicode class name Co
+<li><tt>QChar::Other_NotAssigned</tt> - Unicode class name Cn
+</ul><p> The following categories are informative in Unicode:
+<ul>
+<li><tt>QChar::Letter_Uppercase</tt> - Unicode class name Lu
+<li><tt>QChar::Letter_Lowercase</tt> - Unicode class name Ll
+<li><tt>QChar::Letter_Titlecase</tt> - Unicode class name Lt
+<li><tt>QChar::Letter_Modifier</tt> - Unicode class name Lm
+<li><tt>QChar::Letter_Other</tt> - Unicode class name Lo
+<li><tt>QChar::Punctuation_Connector</tt> - Unicode class name Pc
+<li><tt>QChar::Punctuation_Dash</tt> - Unicode class name Pd
+<li><tt>QChar::Punctuation_Open</tt> - Unicode class name Ps
+<li><tt>QChar::Punctuation_Close</tt> - Unicode class name Pe
+<li><tt>QChar::Punctuation_InitialQuote</tt> - Unicode class name Pi
+<li><tt>QChar::Punctuation_FinalQuote</tt> - Unicode class name Pf
+<li><tt>QChar::Punctuation_Other</tt> - Unicode class name Po
+<li><tt>QChar::Symbol_Math</tt> - Unicode class name Sm
+<li><tt>QChar::Symbol_Currency</tt> - Unicode class name Sc
+<li><tt>QChar::Symbol_Modifier</tt> - Unicode class name Sk
+<li><tt>QChar::Symbol_Other</tt> - Unicode class name So
+</ul><p> There are two categories that are specific to Qt:
+<ul>
+<li><tt>QChar::NoCategory</tt> - used when Qt is dazed and confused and cannot
+make sense of anything.
+<li><tt>QChar::Punctuation_Dask</tt> - old typo alias for Punctuation_Dash
+</ul><p>
+<h3 class=fn><a name="CombiningClass-enum"></a>QChar::CombiningClass</h3>
+
+<p> This enum type defines names for some of the Unicode combining
+classes. See <a href="http://www.unicode.org/">the Unicode
+ Standard</a> for a description of the values.
+
+<h3 class=fn><a name="Decomposition-enum"></a>QChar::Decomposition</h3>
+
+<p> This enum type defines the Unicode decomposition attributes. See
+<a href="http://www.unicode.org/">the Unicode Standard</a> for a
+description of the values.
+
+<h3 class=fn><a name="Direction-enum"></a>QChar::Direction</h3>
+
+<p> This enum type defines the Unicode direction attributes. See <a href="http://www.unicode.org/">the Unicode Standard</a> for a
+description of the values.
+<p> In order to conform to C/C++ naming conventions "Dir" is prepended
+to the codes used in the Unicode Standard.
+
+<h3 class=fn><a name="Joining-enum"></a>QChar::Joining</h3>
+
+<p> This enum type defines the Unicode joining attributes. See <a href="http://www.unicode.org/">the Unicode Standard</a> for a
+description of the values.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QChar"></a>QChar::QChar ()
+</h3>
+
+<p> Constructs a null QChar (one that <a href="#isNull">isNull</a>()).
+
+<h3 class=fn><a name="QChar-2"></a>QChar::QChar ( char&nbsp;c )
+</h3>
+
+<p> Constructs a QChar corresponding to ASCII/Latin-1 character <em>c</em>.
+
+<h3 class=fn><a name="QChar-3"></a>QChar::QChar ( uchar&nbsp;c )
+</h3>
+
+<p> Constructs a QChar corresponding to ASCII/Latin-1 character <em>c</em>.
+
+<h3 class=fn><a name="QChar-4"></a>QChar::QChar ( uchar&nbsp;c, uchar&nbsp;r )
+</h3>
+
+<p> Constructs a QChar for Unicode cell <em>c</em> in row <em>r</em>.
+
+<h3 class=fn><a name="QChar-5"></a>QChar::QChar ( const&nbsp;<a href="qchar.html">QChar</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+<p> Constructs a copy of <em>c</em>. This is a <a href="shclass.html#deep-copy">deep copy</a>, if such a
+lightweight object can be said to have deep copies.
+
+<h3 class=fn><a name="QChar-6"></a>QChar::QChar ( ushort&nbsp;rc )
+</h3>
+
+<p> Constructs a QChar for the character with Unicode code point <em>rc</em>.
+
+<h3 class=fn><a name="QChar-7"></a>QChar::QChar ( short&nbsp;rc )
+</h3>
+
+<p> Constructs a QChar for the character with Unicode code point <em>rc</em>.
+
+<h3 class=fn><a name="QChar-8"></a>QChar::QChar ( uint&nbsp;rc )
+</h3>
+
+<p> Constructs a QChar for the character with Unicode code point <em>rc</em>.
+
+<h3 class=fn><a name="QChar-9"></a>QChar::QChar ( int&nbsp;rc )
+</h3>
+
+<p> Constructs a QChar for the character with Unicode code point <em>rc</em>.
+
+<h3 class=fn><a href="qchar.html#Category-enum">Category</a> <a name="category"></a>QChar::category () const
+</h3>
+Returns the character category.
+<p> <p>See also <a href="#Category-enum">Category</a>.
+
+<h3 class=fn>uchar <a name="cell"></a>QChar::cell () const
+</h3>
+
+<p> Returns the cell (least significant byte) of the Unicode
+character.
+
+<h3 class=fn>unsigned char <a name="combiningClass"></a>QChar::combiningClass () const
+</h3>
+Returns the combining class for the character as defined in the
+Unicode standard. This is mainly useful as a positioning hint for
+marks attached to a base character.
+<p> The Qt text rendering engine uses this information to correctly
+position non spacing marks around a base character.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="decomposition"></a>QChar::decomposition () const
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Decomposes a character into its parts. Returns <a href="qstring.html#QString-null">QString::null</a> if no
+decomposition exists.
+
+<h3 class=fn><a href="qchar.html#Decomposition-enum">Decomposition</a> <a name="decompositionTag"></a>QChar::decompositionTag () const
+</h3>
+Returns the tag defining the composition of the character. Returns
+QChar::Single if no decomposition exists.
+
+<h3 class=fn>int <a name="digitValue"></a>QChar::digitValue () const
+</h3>
+Returns the numeric value of the digit, or -1 if the character is
+not a digit.
+
+<h3 class=fn><a href="qchar.html#Direction-enum">Direction</a> <a name="direction"></a>QChar::direction () const
+</h3>
+Returns the character's direction.
+<p> <p>See also <a href="#Direction-enum">Direction</a>.
+
+<h3 class=fn>bool <a name="isDigit"></a>QChar::isDigit () const
+</h3>
+Returns TRUE if the character is a decimal digit
+(Number_DecimalDigit); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isLetter"></a>QChar::isLetter () const
+</h3>
+Returns TRUE if the character is a letter (Letter_* categories);
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isLetterOrNumber"></a>QChar::isLetterOrNumber () const
+</h3>
+Returns TRUE if the character is a letter or number (Letter_* or
+Number_* categories); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isMark"></a>QChar::isMark () const
+</h3>
+Returns TRUE if the character is a mark (Mark_* categories);
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isNull"></a>QChar::isNull () const
+</h3>
+
+<p> Returns TRUE if the character is the Unicode character 0x0000
+(ASCII NUL); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isNumber"></a>QChar::isNumber () const
+</h3>
+Returns TRUE if the character is a number (of any sort - Number_*
+categories); otherwise returns FALSE.
+<p> <p>See also <a href="#isDigit">isDigit</a>().
+
+<h3 class=fn>bool <a name="isPrint"></a>QChar::isPrint () const
+</h3>
+Returns TRUE if the character is a printable character; otherwise
+returns FALSE. This is any character not of category Cc or Cn.
+<p> Note that this gives no indication of whether the character is
+available in a particular <a href="qfont.html">font</a>.
+
+<h3 class=fn>bool <a name="isPunct"></a>QChar::isPunct () const
+</h3>
+Returns TRUE if the character is a punctuation mark (Punctuation_*
+categories); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSpace"></a>QChar::isSpace () const
+</h3>
+Returns TRUE if the character is a separator character
+(Separator_* categories); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSymbol"></a>QChar::isSymbol () const
+</h3>
+Returns TRUE if the character is a symbol (Symbol_* categories);
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qchar.html#Joining-enum">Joining</a> <a name="joining"></a>QChar::joining () const
+</h3>
+<b>Warning:</b> This function is not supported (it may change to use
+Unicode character classes).
+<p> Returns information about the joining properties of the character
+(needed for example, for Arabic).
+
+<h3 class=fn>char <a name="latin1"></a>QChar::latin1 () const
+</h3>
+
+<p> Returns the Latin-1 value of this character, or 0 if it
+cannot be represented in Latin-1.
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="lower"></a>QChar::lower () const
+</h3>
+Returns the lowercase equivalent if the character is uppercase;
+otherwise returns the character itself.
+
+<h3 class=fn>bool <a name="mirrored"></a>QChar::mirrored () const
+</h3>
+Returns TRUE if the character is a mirrored character (one that
+should be reversed if the text direction is reversed); otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="mirroredChar"></a>QChar::mirroredChar () const
+</h3>
+Returns the mirrored character if this character is a mirrored
+character, otherwise returns the character itself.
+
+<h3 class=fn>bool <a name="networkOrdered"></a>QChar::networkOrdered ()<tt> [static]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if this character is in network byte order (MSB
+first); otherwise returns FALSE. This is platform dependent.
+
+<h3 class=fn><a name="operator-char"></a>QChar::operator char () const
+</h3>
+
+<p> Returns the Latin-1 character equivalent to the QChar, or 0. This
+is mainly useful for non-internationalized software.
+<p> <p>See also <a href="#unicode">unicode</a>().
+
+<h3 class=fn>uchar <a name="row"></a>QChar::row () const
+</h3>
+
+<p> Returns the row (most significant byte) of the Unicode character.
+
+<h3 class=fn>ushort <a name="unicode"></a>QChar::unicode () const
+</h3>
+
+<p> Returns the numeric Unicode value equal to the QChar. Normally,
+you should use QChar objects as they are equivalent, but for some
+low-level tasks (e.g. indexing into an array of Unicode
+information), this function is useful.
+
+<h3 class=fn>ushort &amp; <a name="unicode-2"></a>QChar::unicode ()
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a reference to the numeric Unicode value equal to the
+QChar.
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="upper"></a>QChar::upper () const
+</h3>
+Returns the uppercase equivalent if the character is lowercase;
+otherwise returns the character itself.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>int <a name="operator!-eq"></a>operator!= ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>c1</em> and <em>c2</em> are not the same Unicode
+character; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator!-eq-2"></a>operator!= ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>c</em> is not the ASCII/Latin-1 character <em>ch</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator!-eq-3"></a>operator!= ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>c</em> is not the ASCII/Latin-1 character <em>ch</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-lt"></a>operator&lt; ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c1</em> is less than
+that of <em>c2</em>; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-lt-2"></a>operator&lt; ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c</em> is less than that
+of the ASCII/Latin-1 character <em>ch</em>; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-lt-3"></a>operator&lt; ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of the ASCII/Latin-1
+character <em>ch</em> is less than that of <em>c</em>; otherwise returns
+FALSE.
+
+<h3 class=fn>int <a name="operator-lt-eq"></a>operator&lt;= ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c1</em> is less than
+that of <em>c2</em>, or they are the same Unicode character; otherwise
+returns FALSE.
+
+<h3 class=fn>int <a name="operator-lt-eq-2"></a>operator&lt;= ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c</em> is less than or
+equal to that of the ASCII/Latin-1 character <em>ch</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>int <a name="operator-lt-eq-3"></a>operator&lt;= ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of the ASCII/Latin-1
+character <em>ch</em> is less than or equal to that of <em>c</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>c1</em> and <em>c2</em> are the same Unicode character;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>operator== ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>c</em> is the ASCII/Latin-1 character <em>ch</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq-3"></a>operator== ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>c</em> is the ASCII/Latin-1 character <em>ch</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-gt"></a>operator&gt; ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c1</em> is greater than
+that of <em>c2</em>; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-gt-2"></a>operator&gt; ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c</em> is greater than
+that of the ASCII/Latin-1 character <em>ch</em>; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator-gt-3"></a>operator&gt; ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of the ASCII/Latin-1
+character <em>ch</em> is greater than that of <em>c</em>; otherwise returns
+FALSE.
+
+<h3 class=fn>int <a name="operator-gt-eq"></a>operator&gt;= ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3>
+
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c1</em> is greater than
+that of <em>c2</em>, or they are the same Unicode character; otherwise
+returns FALSE.
+
+<h3 class=fn>int <a name="operator-gt-eq-2"></a>operator&gt;= ( <a href="qchar.html">QChar</a>&nbsp;c, char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of <em>c</em> is greater than
+or equal to that of the ASCII/Latin-1 character <em>ch</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>int <a name="operator-gt-eq-3"></a>operator&gt;= ( char&nbsp;ch, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the numeric Unicode value of the ASCII/Latin-1
+character <em>ch</em> is greater than or equal to that of <em>c</em>;
+otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcharref-members.html b/doc/html/qcharref-members.html
new file mode 100644
index 0000000..8b3b166
--- /dev/null
+++ b/doc/html/qcharref-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstring.h:753 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCharRef Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCharRef</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcharref.html">QCharRef</a>, including inherited members.
+
+<ul>
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcharref.html b/doc/html/qcharref.html
new file mode 100644
index 0000000..0a16d0b
--- /dev/null
+++ b/doc/html/qcharref.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qstring.cpp:147 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCharRef Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCharRef Class Reference</h1>
+
+<p>The QCharRef class is a helper class for QString.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;</tt>
+<p><a href="qcharref-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QCharRef class is a helper class for <a href="qstring.html">QString</a>.
+<p>
+<p> When you get an object of type QCharRef, if you can assign to it,
+the assignment will apply to the character in the string from
+which you got the reference. That is its whole purpose in life.
+The QCharRef becomes invalid once modifications are made to the
+string: if you want to keep the character, copy it into a <a href="qchar.html">QChar</a>.
+<p> Most of the QChar member functions also exist in QCharRef.
+However, they are not explicitly documented here.
+<p> <p>See also <a href="qstring.html#operator[]">QString::operator[]</a>(), <a href="qstring.html#at">QString::at</a>(), <a href="qchar.html">QChar</a>, and <a href="text.html">Text Related Classes</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcheckbox-h.html b/doc/html/qcheckbox-h.html
new file mode 100644
index 0000000..fdb57e5
--- /dev/null
+++ b/doc/html/qcheckbox-h.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcheckbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcheckbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcheckbox.h</h1>
+
+<p>This is the verbatim text of the qcheckbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcheckbox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QCheckBox class
+**
+** Created : 940222
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCHECKBOX_H
+#define QCHECKBOX_H
+
+#ifndef QT_H
+#include "qbutton.h"
+#endif // QT_H
+
+#ifndef QT_NO_CHECKBOX
+
+class Q_EXPORT QCheckBox : public QButton
+{
+ Q_OBJECT
+ Q_PROPERTY( bool checked READ isChecked WRITE setChecked )
+ Q_PROPERTY( bool tristate READ isTristate WRITE setTristate )
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+
+public:
+ QCheckBox( QWidget *parent, const char* name=0 );
+ QCheckBox( const QString &amp;text, QWidget *parent, const char* name=0 );
+
+ bool isChecked() const;
+
+ void setNoChange();
+
+ void setTristate(bool y=TRUE);
+ bool isTristate() const;
+
+ QSize sizeHint() const;
+
+public slots:
+ void setChecked( bool check );
+
+protected:
+ void resizeEvent( QResizeEvent* );
+ void drawButton( QPainter * );
+ void drawButtonLabel( QPainter * );
+ void updateMask();
+ bool hitButton( const QPoint &amp;pos ) const;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QCheckBox( const QCheckBox &amp; );
+ QCheckBox &amp;operator=( const QCheckBox &amp; );
+#endif
+};
+
+
+inline bool QCheckBox::isChecked() const
+{ return isOn(); }
+
+inline void QCheckBox::setChecked( bool check )
+{ setOn( check ); }
+
+
+#endif // QT_NO_CHECKBOX
+
+#endif // QCHECKBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcheckbox-members.html b/doc/html/qcheckbox-members.html
new file mode 100644
index 0000000..b34409b
--- /dev/null
+++ b/doc/html/qcheckbox-members.html
@@ -0,0 +1,374 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcheckbox.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCheckBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcheckbox.html">QCheckBox</a>, including inherited members.
+
+<ul>
+<li><a href="qcheckbox.html#QCheckBox">QCheckBox</a>()
+<li><a href="qbutton.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qbutton.html#animateClick">animateClick</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qbutton.html#autoRepeat">autoRepeat</a>()
+<li><a href="qbutton.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbutton.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qbutton.html#drawButton">drawButton</a>()
+<li><a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qbutton.html#group">group</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qbutton.html#hitButton">hitButton</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qcheckbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qbutton.html#isDown">isDown</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbutton.html#isExclusiveToggle">isExclusiveToggle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qbutton.html#isOn">isOn</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qbutton.html#isToggleButton">isToggleButton</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qcheckbox.html#isTristate">isTristate</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qbutton.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qbutton.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbutton.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbutton.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qbutton.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()
+<li><a href="qbutton.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qcheckbox.html#setChecked">setChecked</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qbutton.html#setDown">setDown</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qcheckbox.html#setNoChange">setNoChange</a>()
+<li><a href="qbutton.html#setOn">setOn</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qbutton.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qbutton.html#setState">setState</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qbutton.html#setText">setText</a>()
+<li><a href="qbutton.html#setToggleButton">setToggleButton</a>()
+<li><a href="qbutton.html#setToggleType">setToggleType</a>()
+<li><a href="qcheckbox.html#setTristate">setTristate</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qbutton.html#state">state</a>()
+<li><a href="qbutton.html#stateChanged">stateChanged</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qbutton.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qbutton.html#toggle">toggle</a>()
+<li><a href="qbutton.html#toggleType">toggleType</a>()
+<li><a href="qbutton.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcheckbox.html b/doc/html/qcheckbox.html
new file mode 100644
index 0000000..04a3342
--- /dev/null
+++ b/doc/html/qcheckbox.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qcheckbox.cpp:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCheckBox Class Reference</h1>
+
+<p>The QCheckBox widget provides a checkbox with a text label.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;</tt>
+<p>Inherits <a href="qbutton.html">QButton</a>.
+<p><a href="qcheckbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCheckBox"><b>QCheckBox</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QCheckBox-2"><b>QCheckBox</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>bool <a href="#isChecked"><b>isChecked</b></a> () const</li>
+<li class=fn>void <a href="#setNoChange"><b>setNoChange</b></a> ()</li>
+<li class=fn>void <a href="#setTristate"><b>setTristate</b></a> ( bool&nbsp;y = TRUE )</li>
+<li class=fn>bool <a href="#isTristate"><b>isTristate</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setChecked"><b>setChecked</b></a> ( bool&nbsp;check )</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const QKeySequence &amp; )</li>
+<li class=fn>bool <a href="#isToggleButton"><b>isToggleButton</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDown"><b>setDown</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isDown"><b>isDown</b></a> () const</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>ToggleState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool <a href="#autoRepeat"><b>autoRepeat</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoRepeat"><b>setAutoRepeat</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isExclusiveToggle"><b>isExclusiveToggle</b></a> () const</li>
+<li class=fn>QButtonGroup * <a href="#group"><b>group</b></a> () const</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ()</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ()</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ()</li>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the checkbox is automatically masked &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#checked-prop"><b>checked</b></a>&nbsp;- whether the checkbox is checked</li>
+<li class=fn>bool <a href="#tristate-prop"><b>tristate</b></a>&nbsp;- whether the checkbox is a tri-state checkbox</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCheckBox widget provides a checkbox with a text label.
+<p>
+
+<p> QCheckBox and <a href="qradiobutton.html">QRadioButton</a> are both option buttons. That is, they
+can be switched on (checked) or off (unchecked). The classes
+differ in how the choices for the user are restricted. Radio
+buttons define a "one of many" choice, whereas checkboxes provide
+"many of many" choices.
+<p> A <a href="qbuttongroup.html">QButtonGroup</a> can be used to group check buttons visually.
+<p> Whenever a checkbox is checked or cleared it emits the signal
+<a href="qbutton.html#toggled">toggled</a>(). Connect to this signal if you want to trigger an action
+each time the checkbox changes state. You can use <a href="#isChecked">isChecked</a>() to
+query whether or not a checkbox is checked.
+<p> <b>Warning:</b> The toggled() signal can not be trusted for tristate
+checkboxes.
+<p> In addition to the usual checked and unchecked states, QCheckBox
+optionally provides a third state to indicate "no change". This
+is useful whenever you need to give the user the option of neither
+checking nor unchecking a checkbox. If you need this third state,
+enable it with <a href="#setTristate">setTristate</a>() and use <a href="qbutton.html#state">state</a>() to query the current
+toggle state. When a tristate checkbox changes state, it emits the
+<a href="qbutton.html#stateChanged">stateChanged</a>() signal.
+<p> Just like <a href="qpushbutton.html">QPushButton</a>, a checkbox can display text or a pixmap.
+The text can be set in the constructor or with <a href="qbutton.html#setText">setText</a>(); the
+pixmap is set with <a href="qbutton.html#setPixmap">setPixmap</a>().
+<p>
+<p> <img src=qchkbox-m.png> <img src=qchkbox-w.png>
+<p> <p>See also <a href="qbutton.html">QButton</a>, <a href="qradiobutton.html">QRadioButton</a>, <a href="guibooks.html#fowler">Fowler: Check Box</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCheckBox"></a>QCheckBox::QCheckBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a checkbox with no text.
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QCheckBox-2"></a>QCheckBox::QCheckBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a checkbox with text <em>text</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QButton::accel () const
+</h3><p>Returns the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>bool <a name="autoRepeat"></a>QButton::autoRepeat () const
+</h3><p>Returns TRUE if autoRepeat is enabled; otherwise returns FALSE.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="clicked"></a>QButton::clicked ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is activated (i.e. first
+pressed down and then released when the mouse cursor is inside the
+button), when the accelerator key is typed or when <a href="qbutton.html#animateClick">animateClick</a>()
+is called. This signal is <em>not</em> emitted if you call <a href="qbutton.html#setDown">setDown</a>().
+<p> The <a href="qbuttongroup.html#clicked">QButtonGroup::clicked</a>() signal does the same job, if you want
+to connect several buttons to the same slot.
+<p> <b>Warning:</b> Don't launch a model dialog in response to this signal
+for a button that has <a href="qbutton.html#autoRepeat-prop">autoRepeat</a> turned on.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#released">released</a>(), <a href="qbutton.html#toggled">toggled</a>(), <a href="qbutton.html#autoRepeat-prop">autoRepeat</a>, and <a href="qbutton.html#down-prop">down</a>.
+
+<p>Examples: <a href="tutorial2-08.html#x2596">chart/setdataform.cpp</a>, <a href="listbox-example.html#x1426">listbox/listbox.cpp</a>, <a href="clientserver-example.html#x792">network/clientserver/client/client.cpp</a>, <a href="progressbar-example.html#x962">progressbar/progressbar.cpp</a>, <a href="richtext-example.html#x462">richtext/richtext.cpp</a>, <a href="tutorial1-02.html#x2290">t2/main.cpp</a>, and <a href="tutorial1-04.html#x2306">t4/main.cpp</a>.
+<h3 class=fn><a href="qbuttongroup.html">QButtonGroup</a>&nbsp;* <a name="group"></a>QButton::group () const
+</h3>
+Returns the group that this button belongs to.
+<p> If the button is not a member of any <a href="qbuttongroup.html">QButtonGroup</a>, this function
+returns 0.
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a>.
+
+<h3 class=fn>bool <a name="isChecked"></a>QCheckBox::isChecked () const
+</h3><p>Returns TRUE if the checkbox is checked; otherwise returns FALSE.
+See the <a href="qcheckbox.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>bool <a name="isDown"></a>QButton::isDown () const
+</h3><p>Returns TRUE if the button is pressed; otherwise returns FALSE.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>bool <a name="isExclusiveToggle"></a>QButton::isExclusiveToggle () const
+</h3><p>Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE.
+See the <a href="qbutton.html#exclusiveToggle-prop">"exclusiveToggle"</a> property for details.
+<h3 class=fn>bool <a name="isOn"></a>QButton::isOn () const
+</h3><p>Returns TRUE if the button is toggled; otherwise returns FALSE.
+See the <a href="qbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>bool <a name="isToggleButton"></a>QButton::isToggleButton () const
+</h3><p>Returns TRUE if the button is a toggle button; otherwise returns FALSE.
+See the <a href="qbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn>bool <a name="isTristate"></a>QCheckBox::isTristate () const
+</h3><p>Returns TRUE if the checkbox is a tri-state checkbox; otherwise returns FALSE.
+See the <a href="qcheckbox.html#tristate-prop">"tristate"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QButton::pixmap () const
+</h3><p>Returns the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="pressed"></a>QButton::pressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is pressed down.
+<p> <p>See also <a href="qbutton.html#released">released</a>() and <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Examples: <a href="httpd-example.html#x724">network/httpd/httpd.cpp</a> and <a href="popup-example.html#x1606">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="released"></a>QButton::released ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is released.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#clicked">clicked</a>(), and <a href="qbutton.html#toggled">toggled</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QButton::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="setAutoRepeat"></a>QButton::setAutoRepeat ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether autoRepeat is enabled.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="setChecked"></a>QCheckBox::setChecked ( bool&nbsp;check )<tt> [slot]</tt>
+</h3><p>Sets whether the checkbox is checked to <em>check</em>.
+See the <a href="qcheckbox.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>void <a name="setDown"></a>QButton::setDown ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the button is pressed.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>void <a name="setNoChange"></a>QCheckBox::setNoChange ()
+</h3>
+Sets the checkbox to the "no change" state.
+<p> <p>See also <a href="#tristate-prop">tristate</a>.
+
+<h3 class=fn>void <a name="setPixmap"></a>QButton::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QButton::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setTristate"></a>QCheckBox::setTristate ( bool&nbsp;y = TRUE )
+</h3><p>Sets whether the checkbox is a tri-state checkbox to <em>y</em>.
+See the <a href="qcheckbox.html#tristate-prop">"tristate"</a> property for details.
+<h3 class=fn><a href="qbutton.html#ToggleState-enum">ToggleState</a> <a name="state"></a>QButton::state () const
+</h3><p>Returns the state of the toggle button.
+See the <a href="qbutton.html#toggleState-prop">"toggleState"</a> property for details.
+<h3 class=fn>void <a name="stateChanged"></a>QButton::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes state. <em>state</em> is <a href="qbutton.html#ToggleState-enum">On</a> if the button is on, <a href="qbutton.html#ToggleState-enum">NoChange</a> if it is in the
+<a href="#setTristate">"no change" state</a> or <a href="qbutton.html#ToggleState-enum">Off</a>
+if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+<a href="qbutton.html#setState">setState</a>(), or because <a href="qbutton.html#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>() and <a href="qbutton.html#ToggleState-enum">QButton::ToggleState</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QButton::text () const
+</h3><p>Returns the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QButton::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of a toggle button.
+<p> <p>See also <a href="qbutton.html#on-prop">on</a>, <a href="qbutton.html#setOn">setOn</a>(), <a href="qbutton.html#toggled">toggled</a>(), and <a href="qbutton.html#toggleButton-prop">toggleButton</a>.
+
+<h3 class=fn>void <a name="toggled"></a>QButton::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes status. <em>on</em> is TRUE if the button is on, or FALSE if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+or because <a href="qbutton.html#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Example: <a href="listbox-example.html#x1427">listbox/listbox.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel-prop"></a>accel</h3>
+<p>This property holds the accelerator associated with the button.
+<p>This property is 0 if there is no accelerator set. If you set this
+property to 0 then any current accelerator is removed.
+
+<p>Set this property's value with <a href="#setAccel">setAccel</a>() and get this property's value with <a href="#accel">accel</a>().
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the checkbox is automatically masked.
+<p><p><p>See also <a href="qwidget.html#autoMask-prop">QWidget::autoMask</a>.
+
+<h3 class=fn>bool <a name="autoRepeat-prop"></a>autoRepeat</h3>
+<p>This property holds whether autoRepeat is enabled.
+<p>If autoRepeat is enabled then the <a href="qbutton.html#clicked">clicked</a>() signal is emitted at
+regular intervals if the button is down. This property has no
+effect on toggle buttons. autoRepeat is off by default.
+
+<p>Set this property's value with <a href="#setAutoRepeat">setAutoRepeat</a>() and get this property's value with <a href="#autoRepeat">autoRepeat</a>().
+<h3 class=fn>bool <a name="checked-prop"></a>checked</h3>
+<p>This property holds whether the checkbox is checked.
+<p>The default is unchecked, i.e. FALSE.
+
+<p>Set this property's value with <a href="#setChecked">setChecked</a>() and get this property's value with <a href="#isChecked">isChecked</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3>
+<p>This property holds the pixmap shown on the button.
+<p>If the pixmap is monochrome (i.e. it is a <a href="qbitmap.html">QBitmap</a> or its <a href="qpixmap.html#depth">depth</a> is 1) and it does not have a mask,
+this property will set the pixmap to be its own mask. The purpose
+of this is to draw transparent bitmaps which are important for
+toggle buttons, for example.
+<p> <a href="qbutton.html#pixmap">pixmap</a>() returns 0 if no pixmap was set.
+
+<p>Set this property's value with <a href="#setPixmap">setPixmap</a>() and get this property's value with <a href="#pixmap">pixmap</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the text shown on the button.
+<p>This property will return a <a href="qstring.html#QString-null">QString::null</a> if the button has no
+text. If the text has an ampersand (&amp;) in it, then an
+accelerator is automatically created for it using the character
+that follows the '&amp;' as the accelerator key. Any previous
+accelerator will be overwritten, or cleared if no accelerator is
+defined by the text.
+<p> There is no default text.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn>bool <a name="tristate-prop"></a>tristate</h3>
+<p>This property holds whether the checkbox is a tri-state checkbox.
+<p>The default is two-state, i.e. tri-state is FALSE.
+
+<p>Set this property's value with <a href="#setTristate">setTristate</a>() and get this property's value with <a href="#isTristate">isTristate</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchecklistitem-members.html b/doc/html/qchecklistitem-members.html
new file mode 100644
index 0000000..b2c739a
--- /dev/null
+++ b/doc/html/qchecklistitem-members.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistview.h:467 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckListItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCheckListItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qchecklistitem.html">QCheckListItem</a>, including inherited members.
+
+<ul>
+<li><a href="qchecklistitem.html#QCheckListItem">QCheckListItem</a>()
+<li><a href="qchecklistitem.html#~QCheckListItem">~QCheckListItem</a>()
+<li><a href="qlistviewitem.html#acceptDrop">acceptDrop</a>()
+<li><a href="qchecklistitem.html#activate">activate</a>()
+<li><a href="qlistviewitem.html#activatedPos">activatedPos</a>()
+<li><a href="qlistviewitem.html#cancelRename">cancelRename</a>()
+<li><a href="qlistviewitem.html#childCount">childCount</a>()
+<li><a href="qlistviewitem.html#compare">compare</a>()
+<li><a href="qlistviewitem.html#depth">depth</a>()
+<li><a href="qlistviewitem.html#dragEnabled">dragEnabled</a>()
+<li><a href="qlistviewitem.html#dragEntered">dragEntered</a>()
+<li><a href="qlistviewitem.html#dragLeft">dragLeft</a>()
+<li><a href="qlistviewitem.html#dropEnabled">dropEnabled</a>()
+<li><a href="qlistviewitem.html#dropped">dropped</a>()
+<li><a href="qlistviewitem.html#enforceSortOrder">enforceSortOrder</a>()
+<li><a href="qlistviewitem.html#firstChild">firstChild</a>()
+<li><a href="qlistviewitem.html#height">height</a>()
+<li><a href="qlistviewitem.html#insertItem">insertItem</a>()
+<li><a href="qlistviewitem.html#invalidateHeight">invalidateHeight</a>()
+<li><a href="qlistviewitem.html#isEnabled">isEnabled</a>()
+<li><a href="qlistviewitem.html#isExpandable">isExpandable</a>()
+<li><a href="qchecklistitem.html#isOn">isOn</a>()
+<li><a href="qlistviewitem.html#isOpen">isOpen</a>()
+<li><a href="qlistviewitem.html#isSelectable">isSelectable</a>()
+<li><a href="qlistviewitem.html#isSelected">isSelected</a>()
+<li><a href="qchecklistitem.html#isTristate">isTristate</a>()
+<li><a href="qlistviewitem.html#isVisible">isVisible</a>()
+<li><a href="qlistviewitem.html#itemAbove">itemAbove</a>()
+<li><a href="qlistviewitem.html#itemBelow">itemBelow</a>()
+<li><a href="qlistviewitem.html#itemPos">itemPos</a>()
+<li><a href="qlistviewitem.html#key">key</a>()
+<li><a href="qlistviewitem.html#listView">listView</a>()
+<li><a href="qlistviewitem.html#moveItem">moveItem</a>()
+<li><a href="qlistviewitem.html#multiLinesEnabled">multiLinesEnabled</a>()
+<li><a href="qlistviewitem.html#nextSibling">nextSibling</a>()
+<li><a href="qlistviewitem.html#okRename">okRename</a>()
+<li><a href="qlistviewitem.html#paintBranches">paintBranches</a>()
+<li><a href="qchecklistitem.html#paintCell">paintCell</a>()
+<li><a href="qchecklistitem.html#paintFocus">paintFocus</a>()
+<li><a href="qlistviewitem.html#parent">parent</a>()
+<li><a href="qlistviewitem.html#pixmap">pixmap</a>()
+<li><a href="qlistviewitem.html#removeItem">removeItem</a>()
+<li><a href="qlistviewitem.html#renameEnabled">renameEnabled</a>()
+<li><a href="qlistviewitem.html#repaint">repaint</a>()
+<li><a href="qchecklistitem.html#rtti">rtti</a>()
+<li><a href="qlistviewitem.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qlistviewitem.html#setDropEnabled">setDropEnabled</a>()
+<li><a href="qlistviewitem.html#setEnabled">setEnabled</a>()
+<li><a href="qlistviewitem.html#setExpandable">setExpandable</a>()
+<li><a href="qlistviewitem.html#setHeight">setHeight</a>()
+<li><a href="qlistviewitem.html#setMultiLinesEnabled">setMultiLinesEnabled</a>()
+<li><a href="qchecklistitem.html#setOn">setOn</a>()
+<li><a href="qlistviewitem.html#setOpen">setOpen</a>()
+<li><a href="qlistviewitem.html#setPixmap">setPixmap</a>()
+<li><a href="qlistviewitem.html#setRenameEnabled">setRenameEnabled</a>()
+<li><a href="qlistviewitem.html#setSelectable">setSelectable</a>()
+<li><a href="qlistviewitem.html#setSelected">setSelected</a>()
+<li><a href="qchecklistitem.html#setState">setState</a>()
+<li><a href="qlistviewitem.html#setText">setText</a>()
+<li><a href="qchecklistitem.html#setTristate">setTristate</a>()
+<li><a href="qlistviewitem.html#setVisible">setVisible</a>()
+<li><a href="qlistviewitem.html#setup">setup</a>()
+<li><a href="qlistviewitem.html#sort">sort</a>()
+<li><a href="qlistviewitem.html#sortChildItems">sortChildItems</a>()
+<li><a href="qlistviewitem.html#startRename">startRename</a>()
+<li><a href="qchecklistitem.html#state">state</a>()
+<li><a href="qchecklistitem.html#stateChange">stateChange</a>()
+<li><a href="qlistviewitem.html#takeItem">takeItem</a>()
+<li><a href="qchecklistitem.html#text">text</a>()
+<li><a href="qlistviewitem.html#totalHeight">totalHeight</a>()
+<li><a href="qchecklistitem.html#turnOffChild">turnOffChild</a>()
+<li><a href="qchecklistitem.html#type">type</a>()
+<li><a href="qlistviewitem.html#width">width</a>()
+<li><a href="qlistviewitem.html#widthChanged">widthChanged</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchecklistitem.html b/doc/html/qchecklistitem.html
new file mode 100644
index 0000000..e00e24e
--- /dev/null
+++ b/doc/html/qchecklistitem.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistview.cpp:5987 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckListItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCheckListItem Class Reference</h1>
+
+<p>The QCheckListItem class provides checkable list view items.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;</tt>
+<p>Inherits <a href="qlistviewitem.html">QListViewItem</a>.
+<p><a href="qchecklistitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { RadioButton, CheckBox, Controller, RadioButtonController = Controller, CheckBoxController }</li>
+<li class=fn>enum <a href="#ToggleState-enum"><b>ToggleState</b></a> { Off, NoChange, On }</li>
+<li class=fn><a href="#QCheckListItem"><b>QCheckListItem</b></a> ( QCheckListItem&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-2"><b>QCheckListItem</b></a> ( QCheckListItem&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-3"><b>QCheckListItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-4"><b>QCheckListItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-5"><b>QCheckListItem</b></a> ( QListView&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-6"><b>QCheckListItem</b></a> ( QListView&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text, Type&nbsp;tt = RadioButtonController )</li>
+<li class=fn><a href="#QCheckListItem-7"><b>QCheckListItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPixmap&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#QCheckListItem-8"><b>QCheckListItem</b></a> ( QListView&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPixmap&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#~QCheckListItem"><b>~QCheckListItem</b></a> ()</li>
+<li class=fn>virtual void <a href="#paintCell"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, int&nbsp;column, int&nbsp;width, int&nbsp;align )</li>
+<li class=fn>virtual void <a href="#paintFocus"><b>paintFocus</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>virtual void <a href="#setOn"><b>setOn</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>void <a href="#setTristate"><b>setTristate</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isTristate"><b>isTristate</b></a> () const</li>
+<li class=fn>ToggleState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>void <a href="#setState"><b>setState</b></a> ( ToggleState&nbsp;s )</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#activate"><b>activate</b></a> ()</li>
+<li class=fn>void <a href="#turnOffChild"><b>turnOffChild</b></a> ()</li>
+<li class=fn>virtual void <a href="#stateChange"><b>stateChange</b></a> ( bool )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCheckListItem class provides checkable list view items.
+<p>
+<p> QCheckListItems are used in <a href="qlistview.html">QListView</a>s to provide
+<a href="qlistviewitem.html">QListViewItem</a>s that are checkboxes, radio buttons or
+controllers.
+<p> Checkbox and controller check list items may be inserted at any
+level in a list view. Radio button check list items must be
+children of a controller check list item.
+<p> The item can be checked or unchecked with <a href="#setOn">setOn</a>(). Its type can be
+retrieved with <a href="#type">type</a>() and its text retrieved with <a href="#text">text</a>().
+<p> <center><img src="qlistviewitems.png" alt="List View Items"></center>
+<p> <p>See also <a href="qlistviewitem.html">QListViewItem</a>, <a href="qlistview.html">QListView</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ToggleState-enum"></a>QCheckListItem::ToggleState</h3>
+
+<p> This enum specifies a QCheckListItem's toggle state.
+<ul>
+<li><tt>QCheckListItem::Off</tt>
+<li><tt>QCheckListItem::NoChange</tt>
+<li><tt>QCheckListItem::On</tt>
+</ul>
+<h3 class=fn><a name="Type-enum"></a>QCheckListItem::Type</h3>
+
+<p> This enum type specifies a QCheckListItem's type:
+<ul>
+<li><tt>QCheckListItem::RadioButton</tt>
+<li><tt>QCheckListItem::CheckBox</tt>
+<li><tt>QCheckListItem::Controller</tt> - <em>obsolete</em> (use <a href="#Type-enum">RadioButtonController</a> instead)
+<li><tt>QCheckListItem::RadioButtonController</tt>
+<li><tt>QCheckListItem::CheckBoxController</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCheckListItem"></a>QCheckListItem::QCheckListItem ( <a href="qchecklistitem.html">QCheckListItem</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, text <em>text</em>
+and of type <em>tt</em>. Note that a <a href="#Type-enum">RadioButton</a> must be the child of a
+<a href="#Type-enum">RadioButtonController</a>, otherwise it will not toggle.
+
+<h3 class=fn><a name="QCheckListItem-2"></a>QCheckListItem::QCheckListItem ( <a href="qchecklistitem.html">QCheckListItem</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, which is after
+<em>after</em> in the parent's list of children, and with text <em>text</em>
+and of type <em>tt</em>. Note that a <a href="#Type-enum">RadioButton</a> must be the child of
+a <a href="#Type-enum">RadioButtonController</a>, otherwise it will not toggle.
+
+<h3 class=fn><a name="QCheckListItem-3"></a>QCheckListItem::QCheckListItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, text <em>text</em>
+and of type <em>tt</em>. Note that this item must <em>not</em> be a <a href="#Type-enum">RadioButton</a>. Radio buttons must be children of a <a href="#Type-enum">RadioButtonController</a>.
+
+<h3 class=fn><a name="QCheckListItem-4"></a>QCheckListItem::QCheckListItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, which is after
+<em>after</em> in the parent's list of children, with text <em>text</em> and
+of type <em>tt</em>. Note that this item must <em>not</em> be a <a href="#Type-enum">RadioButton</a>. Radio buttons must be children of a <a href="#Type-enum">RadioButtonController</a>.
+
+<h3 class=fn><a name="QCheckListItem-5"></a>QCheckListItem::QCheckListItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, text <em>text</em>
+and of type <em>tt</em>. Note that <em>tt</em> must <em>not</em> be <a href="#Type-enum">RadioButton</a>.
+Radio buttons must be children of a <a href="#Type-enum">RadioButtonController</a>.
+
+<h3 class=fn><a name="QCheckListItem-6"></a>QCheckListItem::QCheckListItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qchecklistitem.html#Type-enum">Type</a>&nbsp;tt = RadioButtonController )
+</h3>
+Constructs a checkable item with parent <em>parent</em>, which is after
+<em>after</em> in the parent's list of children, with text <em>text</em> and
+of type <em>tt</em>. Note that <em>tt</em> must <em>not</em> be <a href="#Type-enum">RadioButton</a>.
+Radio buttons must be children of a <a href="#Type-enum">RadioButtonController</a>.
+
+<h3 class=fn><a name="QCheckListItem-7"></a>QCheckListItem::QCheckListItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Constructs a <a href="#Type-enum">RadioButtonController</a> item with parent <em>parent</em>,
+text <em>text</em> and pixmap <em>p</em>.
+
+<h3 class=fn><a name="QCheckListItem-8"></a>QCheckListItem::QCheckListItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Constructs a <a href="#Type-enum">RadioButtonController</a> item with parent <em>parent</em>,
+text <em>text</em> and pixmap <em>p</em>.
+
+<h3 class=fn><a name="~QCheckListItem"></a>QCheckListItem::~QCheckListItem ()
+</h3>
+Destroys the item, and all its children to any depth, freeing up
+all allocated resources.
+
+<h3 class=fn>void <a name="activate"></a>QCheckListItem::activate ()<tt> [virtual protected]</tt>
+</h3>
+Toggle check box or set radio button to on.
+
+<p>Reimplemented from <a href="qlistviewitem.html#activate">QListViewItem</a>.
+<h3 class=fn>bool <a name="isOn"></a>QCheckListItem::isOn () const
+</h3>
+
+<p> Returns TRUE if the item is toggled on; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isTristate"></a>QCheckListItem::isTristate () const
+</h3>
+Returns TRUE if the item is tristate; otherwise returns FALSE.
+<p> <p>See also <a href="#setTristate">setTristate</a>().
+
+<h3 class=fn>void <a name="paintCell"></a>QCheckListItem::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, int&nbsp;column, int&nbsp;width, int&nbsp;align )<tt> [virtual]</tt>
+</h3>
+Paints the item using the painter <em>p</em> and the color group <em>cg</em>.
+The item is in column <em>column</em>, has width <em>width</em> and has
+alignment <em>align</em>. (See Qt::AlignmentFlags for valid alignments.)
+
+<p>Reimplemented from <a href="qlistviewitem.html#paintCell">QListViewItem</a>.
+<h3 class=fn>void <a name="paintFocus"></a>QCheckListItem::paintFocus ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Draws the focus rectangle <em>r</em> using the color group <em>cg</em> on the
+painter <em>p</em>.
+
+<p>Reimplemented from <a href="qlistviewitem.html#paintFocus">QListViewItem</a>.
+<h3 class=fn>int <a name="rtti"></a>QCheckListItem::rtti () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns 1.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>(), and
+you can distinguish between list view items. You should use values
+greater than 1000, to allow for extensions to this class.
+
+<p>Reimplemented from <a href="qlistviewitem.html#rtti">QListViewItem</a>.
+<h3 class=fn>void <a name="setOn"></a>QCheckListItem::setOn ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Sets the button on if <em>b</em> is TRUE, otherwise sets it off.
+Maintains radio button exclusivity.
+
+<h3 class=fn>void <a name="setState"></a>QCheckListItem::setState ( <a href="qchecklistitem.html#ToggleState-enum">ToggleState</a>&nbsp;s )
+</h3>
+Sets the toggle state of the checklistitem to <em>s</em>. <em>s</em> can be
+<a href="#ToggleState-enum">Off</a>, <a href="#ToggleState-enum">NoChange</a> or <a href="#ToggleState-enum">On</a>.
+<p> Tristate can only be enabled for <a href="#Type-enum">CheckBox</a> or <a href="#Type-enum">CheckBoxController</a>,
+therefore the <a href="#ToggleState-enum">NoChange</a> only applies to them.
+<p> Setting the state to <a href="#ToggleState-enum">On</a> or <a href="#ToggleState-enum">Off</a> on a <a href="#Type-enum">CheckBoxController</a>
+will recursivly set the states of its children to the same state.
+<p> Setting the state to <a href="#ToggleState-enum">NoChange</a> on a <a href="#Type-enum">CheckBoxController</a> will
+make it recursivly recall the previous stored state of its
+children. If there was no previous stored state the children are
+all set to <a href="#ToggleState-enum">On</a>.
+
+<h3 class=fn>void <a name="setTristate"></a>QCheckListItem::setTristate ( bool&nbsp;b )
+</h3>
+Sets tristate to <em>b</em> if the <a href="#Type-enum">Type</a> is either a <a href="#Type-enum">CheckBoxController</a> or
+a <a href="#Type-enum">CheckBox</a>.
+<p> <tt>CheckBoxControllers</tt> are tristate by default.
+<p> <p>See also <a href="#state">state</a>() and <a href="#isTristate">isTristate</a>().
+
+<h3 class=fn><a href="qchecklistitem.html#ToggleState-enum">ToggleState</a> <a name="state"></a>QCheckListItem::state () const
+</h3>
+Returns the state of the item.
+<p> <p>See also <a href="#ToggleState-enum">QCheckListItem::ToggleState</a>.
+
+<h3 class=fn>void <a name="stateChange"></a>QCheckListItem::stateChange ( bool )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called when the item changes its state.
+<a href="#ToggleState-enum">NoChange</a> (if tristate is enabled and the type is either <a href="#Type-enum">CheckBox</a> or <a href="#Type-enum">CheckBoxController</a>) reports the same as <a href="#ToggleState-enum">Off</a>, so
+use <a href="#state">state</a>() to determine if the state is actually <a href="#ToggleState-enum">Off</a> or <a href="#ToggleState-enum">NoChange</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QCheckListItem::text () const
+</h3>
+
+<p> Returns the item's text.
+
+<h3 class=fn>void <a name="turnOffChild"></a>QCheckListItem::turnOffChild ()<tt> [protected]</tt>
+</h3>
+If this is a <a href="#Type-enum">RadioButtonController</a> that has <a href="#Type-enum">RadioButton</a>
+children, turn off the child that is on.
+
+<h3 class=fn><a href="qchecklistitem.html#Type-enum">Type</a> <a name="type"></a>QCheckListItem::type () const
+</h3>
+
+<p> Returns the type of this item.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchecktableitem-members.html b/doc/html/qchecktableitem-members.html
new file mode 100644
index 0000000..9879d2e
--- /dev/null
+++ b/doc/html/qchecktableitem-members.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:220 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckTableItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCheckTableItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qchecktableitem.html">QCheckTableItem</a>, including inherited members.
+
+<ul>
+<li><a href="qchecktableitem.html#QCheckTableItem">QCheckTableItem</a>()
+<li><a href="qtableitem.html#alignment">alignment</a>()
+<li><a href="qtableitem.html#col">col</a>()
+<li><a href="qtableitem.html#colSpan">colSpan</a>()
+<li><a href="qtableitem.html#createEditor">createEditor</a>()
+<li><a href="qtableitem.html#editType">editType</a>()
+<li><a href="qchecktableitem.html#isChecked">isChecked</a>()
+<li><a href="qtableitem.html#isEnabled">isEnabled</a>()
+<li><a href="qtableitem.html#isReplaceable">isReplaceable</a>()
+<li><a href="qtableitem.html#key">key</a>()
+<li><a href="qtableitem.html#paint">paint</a>()
+<li><a href="qtableitem.html#pixmap">pixmap</a>()
+<li><a href="qtableitem.html#row">row</a>()
+<li><a href="qtableitem.html#rowSpan">rowSpan</a>()
+<li><a href="qchecktableitem.html#rtti">rtti</a>()
+<li><a href="qchecktableitem.html#setChecked">setChecked</a>()
+<li><a href="qtableitem.html#setCol">setCol</a>()
+<li><a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>()
+<li><a href="qtableitem.html#setEnabled">setEnabled</a>()
+<li><a href="qtableitem.html#setPixmap">setPixmap</a>()
+<li><a href="qtableitem.html#setReplaceable">setReplaceable</a>()
+<li><a href="qtableitem.html#setRow">setRow</a>()
+<li><a href="qtableitem.html#setSpan">setSpan</a>()
+<li><a href="qtableitem.html#setText">setText</a>()
+<li><a href="qtableitem.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtableitem.html#sizeHint">sizeHint</a>()
+<li><a href="qtableitem.html#table">table</a>()
+<li><a href="qtableitem.html#text">text</a>()
+<li><a href="qtableitem.html#wordWrap">wordWrap</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchecktableitem.html b/doc/html/qchecktableitem.html
new file mode 100644
index 0000000..92ec0da
--- /dev/null
+++ b/doc/html/qchecktableitem.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1468 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCheckTableItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCheckTableItem Class Reference<br><small>[<a href="table.html">table module</a>]</small></h1>
+
+<p>The QCheckTableItem class provides checkboxes in QTables.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;</tt>
+<p>Inherits <a href="qtableitem.html">QTableItem</a>.
+<p><a href="qchecktableitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCheckTableItem"><b>QCheckTableItem</b></a> ( QTable&nbsp;*&nbsp;table, const&nbsp;QString&nbsp;&amp;&nbsp;txt )</li>
+<li class=fn>virtual void <a href="#setChecked"><b>setChecked</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isChecked"><b>isChecked</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCheckTableItem class provides checkboxes in QTables.
+
+<p>
+
+<p> A QCheckTableItem is a table item which looks and behaves like a
+checkbox. The advantage of using QCheckTableItems rather than real
+checkboxes is that a QCheckTableItem uses far less resources than
+a real checkbox would in a <a href="qtable.html">QTable</a>. When the cell has the focus
+it displays a real checkbox which the user can interact with. When
+the cell does not have the focus the cell <em>looks</em> like a
+checkbox. Pixmaps may not be used in QCheckTableItems.
+<p> QCheckTableItem items have the edit type <a href="qtableitem.html#EditType-enum">WhenCurrent</a> (see
+<a href="qtableitem.html#EditType-enum">EditType</a>).
+<p> To change the checkbox's label use <a href="qtableitem.html#setText">setText</a>(). The checkbox can be
+checked and unchecked with <a href="#setChecked">setChecked</a>() and its state retrieved
+using <a href="#isChecked">isChecked</a>().
+<p> To populate a table cell with a QCheckTableItem use
+<a href="qtable.html#setItem">QTable::setItem</a>().
+<p> QCheckTableItems can be distinguished from <a href="qtableitem.html">QTableItem</a>s and
+<a href="qcombotableitem.html">QComboTableItem</a>s using their Run Time Type Identification
+(rtti) value.
+<p> <center><img src="qtableitems.png" alt="Table Items"></center>
+<p> <p>See also <a href="#rtti">rtti</a>(), <a href="qtableitem.html#EditType-enum">EditType</a>, <a href="qcombotableitem.html">QComboTableItem</a>, <a href="qtableitem.html">QTableItem</a>, <a href="qcheckbox.html">QCheckBox</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCheckTableItem"></a>QCheckTableItem::QCheckTableItem ( <a href="qtable.html">QTable</a>&nbsp;*&nbsp;table, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt )
+</h3>
+Creates a QCheckTableItem with an <a href="qtableitem.html#EditType-enum">EditType</a> of <a href="qtableitem.html#EditType-enum">WhenCurrent</a>
+as a child of <em>table</em>. The checkbox is initially unchecked and
+its label is set to the string <em>txt</em>.
+
+<h3 class=fn>bool <a name="isChecked"></a>QCheckTableItem::isChecked () const
+</h3>
+Returns TRUE if the checkbox table item is checked; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setChecked">setChecked</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QCheckTableItem::rtti () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns 2.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>()to
+distinguish between different table item subclasses. You should
+use values greater than 1000, preferably a large random number, to
+allow for extensions to this class.
+<p> <p>See also <a href="qtableitem.html#rtti">QTableItem::rtti</a>().
+
+<p>Reimplemented from <a href="qtableitem.html#rtti">QTableItem</a>.
+<h3 class=fn>void <a name="setChecked"></a>QCheckTableItem::setChecked ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE the checkbox is checked; if <em>b</em> is FALSE the
+checkbox is unchecked.
+<p> <p>See also <a href="#isChecked">isChecked</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchildevent-members.html b/doc/html/qchildevent-members.html
new file mode 100644
index 0000000..635cf7a
--- /dev/null
+++ b/doc/html/qchildevent-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:589 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QChildEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QChildEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qchildevent.html">QChildEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qchildevent.html#QChildEvent">QChildEvent</a>()
+<li><a href="qchildevent.html#child">child</a>()
+<li><a href="qchildevent.html#inserted">inserted</a>()
+<li><a href="qchildevent.html#removed">removed</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchildevent.html b/doc/html/qchildevent.html
new file mode 100644
index 0000000..a015e04
--- /dev/null
+++ b/doc/html/qchildevent.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2143 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QChildEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QChildEvent Class Reference</h1>
+
+<p>The QChildEvent class contains event parameters for child object
+events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qchildevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QChildEvent"><b>QChildEvent</b></a> ( Type&nbsp;type, QObject&nbsp;*&nbsp;child )</li>
+<li class=fn>QObject * <a href="#child"><b>child</b></a> () const</li>
+<li class=fn>bool <a href="#inserted"><b>inserted</b></a> () const</li>
+<li class=fn>bool <a href="#removed"><b>removed</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QChildEvent class contains event parameters for child object
+events.
+<p>
+<p> Child events are sent to objects when children are inserted or
+removed.
+<p> A <a href="qevent.html#Type-enum">ChildRemoved</a> event is sent immediately, but a <a href="qevent.html#Type-enum">ChildInserted</a> event is <em>posted</em> (with <a href="qapplication.html#postEvent">QApplication::postEvent</a>()).
+<p> Note that if a child is removed immediately after it is inserted,
+the <a href="qevent.html#Type-enum">ChildInserted</a> event may be suppressed, but the <a href="qevent.html#Type-enum">ChildRemoved</a> event will always be sent. In this case there will be
+a <a href="qevent.html#Type-enum">ChildRemoved</a> event without a corresponding <a href="qevent.html#Type-enum">ChildInserted</a>
+event.
+<p> The handler for these events is <a href="qobject.html#childEvent">QObject::childEvent</a>().
+<p>See also <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QChildEvent"></a>QChildEvent::QChildEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;child )
+</h3>
+
+<p> Constructs a child event object. The <em>child</em> is the object that
+is to be removed or inserted.
+<p> The <em>type</em> parameter must be either <a href="qevent.html#Type-enum">QEvent::ChildInserted</a> or
+<a href="qevent.html#Type-enum">QEvent::ChildRemoved</a>.
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="child"></a>QChildEvent::child () const
+</h3>
+
+<p> Returns the child widget that was inserted or removed.
+
+<h3 class=fn>bool <a name="inserted"></a>QChildEvent::inserted () const
+</h3>
+
+<p> Returns TRUE if the widget received a new child; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="removed"></a>QChildEvent::removed () const
+</h3>
+
+<p> Returns TRUE if the object lost a child; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qchkbox-m.png b/doc/html/qchkbox-m.png
new file mode 100644
index 0000000..a3d344d
--- /dev/null
+++ b/doc/html/qchkbox-m.png
Binary files differ
diff --git a/doc/html/qchkbox-w.png b/doc/html/qchkbox-w.png
new file mode 100644
index 0000000..7a8f18a
--- /dev/null
+++ b/doc/html/qchkbox-w.png
Binary files differ
diff --git a/doc/html/qclipboard-h.html b/doc/html/qclipboard-h.html
new file mode 100644
index 0000000..cecf1ed
--- /dev/null
+++ b/doc/html/qclipboard-h.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qclipboard.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qclipboard.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qclipboard.h</h1>
+
+<p>This is the verbatim text of the qclipboard.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qclipboard.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QClipboard class
+**
+** Created : 960430
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCLIPBOARD_H
+#define QCLIPBOARD_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_CLIPBOARD
+
+class QMimeSource;
+
+class Q_EXPORT QClipboard : public QObject
+{
+ Q_OBJECT
+private:
+ QClipboard( QObject *parent=0, const char *name=0 );
+ ~QClipboard();
+
+public:
+ enum Mode { Clipboard, Selection };
+
+ void clear( Mode mode ); // ### default arg = Clipboard in 4.0
+ void clear(); // ### remove 4.0
+
+ bool supportsSelection() const;
+ bool ownsSelection() const;
+ bool ownsClipboard() const;
+
+ void setSelectionMode(bool enable); // ### remove 4.0
+ bool selectionModeEnabled() const; // ### remove 4.0
+
+ // ### default arg mode = Clipboard in 4.0 for all of these
+ QString text( Mode mode ) const;
+ QString text( QCString&amp; subtype, Mode mode ) const;
+ void setText( const QString &amp;, Mode mode );
+
+#ifndef QT_NO_MIMECLIPBOARD
+ QMimeSource *data( Mode mode ) const;
+ void setData( QMimeSource*, Mode mode );
+
+ QImage image( Mode mode ) const;
+ QPixmap pixmap( Mode mode ) const;
+ void setImage( const QImage &amp;, Mode mode );
+ void setPixmap( const QPixmap &amp;, Mode mode );
+#endif
+
+ // ### remove all of these in 4.0
+ QString text() const;
+ QString text(QCString&amp; subtype) const;
+ void setText( const QString &amp;);
+
+#ifndef QT_NO_MIMECLIPBOARD
+ QMimeSource *data() const;
+ void setData( QMimeSource* );
+
+ QImage image() const;
+ QPixmap pixmap() const;
+ void setImage( const QImage &amp; );
+ void setPixmap( const QPixmap &amp; );
+#endif
+
+signals:
+ void selectionChanged();
+ void dataChanged();
+
+private slots:
+ void ownerDestroyed();
+
+protected:
+ void connectNotify( const char * );
+ bool event( QEvent * );
+
+ friend class QApplication;
+ friend class QBaseApplication;
+ friend class QDragManager;
+ friend class QMimeSource;
+
+private:
+#if defined(Q_WS_MAC)
+ void loadScrap(bool convert);
+ void saveScrap();
+#endif
+
+ // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QClipboard( const QClipboard &amp; );
+ QClipboard &amp;operator=( const QClipboard &amp; );
+#endif
+};
+
+#endif // QT_NO_CLIPBOARD
+
+#endif // QCLIPBOARD_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qclipboard-members.html b/doc/html/qclipboard-members.html
new file mode 100644
index 0000000..7978a5c
--- /dev/null
+++ b/doc/html/qclipboard-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qclipboard.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QClipboard Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QClipboard</h1>
+
+<p>This is the complete list of member functions for
+<a href="qclipboard.html">QClipboard</a>, including inherited members.
+
+<ul>
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qclipboard.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qclipboard.html#data">data</a>()
+<li><a href="qclipboard.html#dataChanged">dataChanged</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qclipboard.html#image">image</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qclipboard.html#ownsClipboard">ownsClipboard</a>()
+<li><a href="qclipboard.html#ownsSelection">ownsSelection</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qclipboard.html#pixmap">pixmap</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qclipboard.html#selectionChanged">selectionChanged</a>()
+<li><a href="qclipboard.html#selectionModeEnabled">selectionModeEnabled</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qclipboard.html#setData">setData</a>()
+<li><a href="qclipboard.html#setImage">setImage</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qclipboard.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qclipboard.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qclipboard.html#setText">setText</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qclipboard.html#supportsSelection">supportsSelection</a>()
+<li><a href="qclipboard.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qclipboard.html b/doc/html/qclipboard.html
new file mode 100644
index 0000000..6a6c1e3
--- /dev/null
+++ b/doc/html/qclipboard.html
@@ -0,0 +1,447 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qclipboard.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QClipboard Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QClipboard Class Reference</h1>
+
+<p>The QClipboard class provides access to the window system clipboard.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qclipboard-h.html">qclipboard.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qclipboard-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { Clipboard, Selection }</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ( Mode&nbsp;mode )</li>
+<li class=fn>void <a href="#clear-2"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#supportsSelection"><b>supportsSelection</b></a> () const</li>
+<li class=fn>bool <a href="#ownsSelection"><b>ownsSelection</b></a> () const</li>
+<li class=fn>bool <a href="#ownsClipboard"><b>ownsClipboard</b></a> () const</li>
+<li class=fn>void setSelectionMode ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool selectionModeEnabled () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( Mode&nbsp;mode ) const</li>
+<li class=fn>QString <a href="#text-2"><b>text</b></a> ( QCString&nbsp;&amp;&nbsp;subtype, Mode&nbsp;mode ) const</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, Mode&nbsp;mode )</li>
+<li class=fn>QMimeSource * <a href="#data"><b>data</b></a> ( Mode&nbsp;mode ) const</li>
+<li class=fn>void <a href="#setData"><b>setData</b></a> ( QMimeSource&nbsp;*&nbsp;src, Mode&nbsp;mode )</li>
+<li class=fn>QImage <a href="#image"><b>image</b></a> ( Mode&nbsp;mode ) const</li>
+<li class=fn>QPixmap <a href="#pixmap"><b>pixmap</b></a> ( Mode&nbsp;mode ) const</li>
+<li class=fn>void <a href="#setImage"><b>setImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image, Mode&nbsp;mode )</li>
+<li class=fn>void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, Mode&nbsp;mode )</li>
+<li class=fn>QString <a href="#text-3"><b>text</b></a> () const</li>
+<li class=fn>QString <a href="#text-4"><b>text</b></a> ( QCString&nbsp;&amp;&nbsp;subtype ) const</li>
+<li class=fn>void <a href="#setText-2"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QMimeSource * <a href="#data-2"><b>data</b></a> () const</li>
+<li class=fn>void <a href="#setData-2"><b>setData</b></a> ( QMimeSource&nbsp;*&nbsp;src )</li>
+<li class=fn>QImage <a href="#image-2"><b>image</b></a> () const</li>
+<li class=fn>QPixmap <a href="#pixmap-2"><b>pixmap</b></a> () const</li>
+<li class=fn>void <a href="#setImage-2"><b>setImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>void <a href="#setPixmap-2"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#dataChanged"><b>dataChanged</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QClipboard class provides access to the window system clipboard.
+<p>
+
+
+<p> The clipboard offers a simple mechanism to copy and paste data
+between applications.
+<p> QClipboard supports the same data types that <a href="qdragobject.html">QDragObject</a> does, and
+uses similar mechanisms. For advanced clipboard usage
+read <a href="dnd.html">the drag-and-drop documentation</a>.
+<p> There is a single QClipboard object in an application, and you can
+access it using <a href="qapplication.html#clipboard">QApplication::clipboard</a>().
+<p> Example:
+<pre>
+ QClipboard *cb = QApplication::<a href="qapplication.html#clipboard">clipboard</a>();
+
+ // Copy text from the clipboard (paste)
+ <a href="qstring.html">QString</a> text = cb-&gt;<a href="#text">text</a>(QClipboard::<a href="#Mode-enum">Clipboard</a>);
+ if ( !text.<a href="qstring.html#isNull">isNull</a>() )
+ <a href="qapplication.html#qDebug">qDebug</a>( "The clipboard contains: " + text );
+
+ // Copy text into the clipboard
+ cb-&gt;<a href="#setText">setText</a>( "This text can be pasted by other programs",
+ QClipboard::<a href="#Mode-enum">Clipboard</a> );
+ </pre>
+
+<p> QClipboard features some convenience functions to access common data
+types: <a href="#setText">setText</a>() allows the exchange of Unicode text and
+<a href="#setPixmap">setPixmap</a>() and <a href="#setImage">setImage</a>() allows the exchange of QPixmaps
+and QImages between applications. The <a href="#setData">setData</a>() function is the
+ultimate in flexibility: it allows you to add any <a href="qmimesource.html">QMimeSource</a> into the
+clipboard. There are corresponding getters for each of these, e.g.
+<a href="#text">text</a>(), <a href="#image">image</a>() and <a href="#pixmap">pixmap</a>().
+<p> You can clear the clipboard by calling <a href="#clear">clear</a>().
+<p> <h3> Platform Specific Information
+</h3>
+<a name="1"></a><p> <h4> X11
+</h4>
+<a name="1-1"></a><p> <ul>
+<p> <li> The X11 Window System has the concept of a separate selection
+and clipboard. When text is selected, it is immediately available
+as the global mouse selection. The global mouse selection may
+later be copied to the clipboard. By convention, the middle mouse
+button is used to paste the global mouse selection.
+<p> <li> X11 also has the concept of ownership; if you change the
+selection within a window, X11 will only notify the owner and the
+previous owner of the change, i.e. it will not notify all
+applications that the selection or clipboard data changed.
+<p> <li> Lastly, the X11 clipboard is event driven, i.e. the clipboard
+will not function properly if the event loop is not running.
+Similarly, it is recommended that the contents of the clipboard
+are stored or retrieved in direct response to user-input events,
+e.g. mouse button or key presses and releases. You should not
+store or retrieve the clipboard contents in response to timer or
+non-user-input events.
+<p> </ul>
+<p> <h4> Windows
+</h4>
+<a name="1-1-1"></a><p> <ul>
+<p> <li> Microsoft Windows does not support the global mouse selection;
+it only supports the global clipboard, e.g. Windows only adds text
+to the clipboard when an explicit copy or cut is made.
+<p> <li> Windows does not have the concept of ownership; the clipboard
+is a fully global resource so all applications are notified of
+changes.
+<p> </ul>
+<p> See the multiclip example in the <em>Qt Designer</em> examples
+directory for an example of a multiplatform clipboard application
+that also demonstrates selection handling.
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Mode-enum"></a>QClipboard::Mode</h3>
+<!-- index clipboard mode -->
+<p> This enum type is used to control which part of the system clipboard is
+used by <a href="#data">QClipboard::data</a>(), <a href="#setData">QClipboard::setData</a>() and related functions.
+<ul>
+<li><tt>QClipboard::Clipboard</tt> - indicates that data should be stored and retrieved from
+the global clipboard.
+<li><tt>QClipboard::Selection</tt> - indicates that data should be stored and retrieved from
+the global mouse selection.
+</ul><p> <em>Note</em>: Support for <a href="#Mode-enum">Selection</a> is provided only on systems with a
+global mouse selection (e.g. X11).
+<p> <p>See also <a href="#supportsSelection">QClipboard::supportsSelection</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>void <a name="clear"></a>QClipboard::clear ( <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode )
+</h3>
+Clear the clipboard contents.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, this
+function clears the the global clipboard contents. If <em>mode</em> is
+QClipboard::Selection, this function clears the global mouse
+selection contents.
+<p> <p>See also <a href="#Mode-enum">QClipboard::Mode</a> and <a href="#supportsSelection">supportsSelection</a>().
+
+<h3 class=fn>void <a name="clear-2"></a>QClipboard::clear ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#clear">QClipboard::clear</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+
+<h3 class=fn><a href="qmimesource.html">QMimeSource</a>&nbsp;* <a name="data"></a>QClipboard::data ( <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode ) const
+</h3>
+Returns a reference to a <a href="qmimesource.html">QMimeSource</a> representation of the current
+clipboard data.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+data is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the data is retrieved from the global
+mouse selection.
+<p> <p>See also <a href="#setData">setData</a>().
+
+<h3 class=fn><a href="qmimesource.html">QMimeSource</a>&nbsp;* <a name="data-2"></a>QClipboard::data () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#data">QClipboard::data</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>void <a name="dataChanged"></a>QClipboard::dataChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the clipboard data is changed.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="image"></a>QClipboard::image ( <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode ) const
+</h3>
+Returns the clipboard image, or returns a null image if the
+clipboard does not contain an image or if it contains an image in
+an unsupported image format.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+image is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the image is retrieved from the global
+mouse selection.
+<p> <p>See also <a href="#setImage">setImage</a>(), <a href="#pixmap">pixmap</a>(), <a href="#data">data</a>(), and <a href="qimage.html#isNull">QImage::isNull</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="image-2"></a>QClipboard::image () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#image">QClipboard::image</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>bool <a name="ownsClipboard"></a>QClipboard::ownsClipboard () const
+</h3>
+Returns TRUE if this clipboard object owns the clipboard data;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="ownsSelection"></a>QClipboard::ownsSelection () const
+</h3>
+Returns TRUE if this clipboard object owns the mouse selection
+data; otherwise returns FALSE.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap"></a>QClipboard::pixmap ( <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode ) const
+</h3>
+Returns the clipboard pixmap, or null if the clipboard does not
+contain a pixmap. Note that this can lose information. For
+example, if the image is 24-bit and the display is 8-bit, the
+result is converted to 8 bits, and if the image has an alpha
+channel, the result just has a mask.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+pixmap is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the pixmap is retrieved from the global
+mouse selection.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>(), <a href="#image">image</a>(), <a href="#data">data</a>(), and <a href="qpixmap.html#convertFromImage">QPixmap::convertFromImage</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-2"></a>QClipboard::pixmap () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#pixmap">QClipboard::pixmap</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>void <a name="selectionChanged"></a>QClipboard::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the selection is changed. This only
+applies to windowing systems that support selections, e.g. X11.
+Windows doesn't support selections.
+
+<h3 class=fn>bool <a name="selectionModeEnabled"></a>QClipboard::selectionModeEnabled () const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use the <a href="#data">QClipboard::data</a>(), <a href="#setData">QClipboard::setData</a>() and related functions
+which take a QClipboard::Mode argument.
+<p> Returns the selection mode.
+<p> <p>See also <a href="#setSelectionMode">setSelectionMode</a>() and <a href="#supportsSelection">supportsSelection</a>().
+
+<h3 class=fn>void <a name="setData"></a>QClipboard::setData ( <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;src, <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode )
+</h3>
+Sets the clipboard data to <em>src</em>. Ownership of the data is
+transferred to the clipboard. If you want to remove the data
+either call <a href="#clear">clear</a>() or call <a href="#setData">setData</a>() again with new data.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+data is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the data is retrieved from the global
+mouse selection.
+<p> The <a href="qdragobject.html">QDragObject</a> subclasses are reasonable objects to put into the
+clipboard (but do not try to call <a href="qdragobject.html#drag">QDragObject::drag</a>() on the same
+object). Any QDragObject placed in the clipboard should have a
+parent of 0. Do not put <a href="qdragmoveevent.html">QDragMoveEvent</a> or <a href="qdropevent.html">QDropEvent</a> subclasses in
+the clipboard, as they do not belong to the event handler which
+receives them.
+<p> The <a href="#setText">setText</a>(), <a href="#setImage">setImage</a>() and <a href="#setPixmap">setPixmap</a>() functions are simpler
+wrappers for setting text, image and pixmap data respectively.
+<p> <p>See also <a href="#data">data</a>().
+
+<h3 class=fn>void <a name="setData-2"></a>QClipboard::setData ( <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;src )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#setData">QClipboard::setData</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>void <a name="setImage"></a>QClipboard::setImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image, <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode )
+</h3>
+Copies <em>image</em> into the clipboard.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+image is stored in the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the data is stored in the global
+mouse selection.
+<p> This is shorthand for:
+<pre>
+ <a href="#setData">setData</a>( new <a href="qimagedrag.html">QImageDrag</a>(image), mode )
+ </pre>
+
+<p> <p>See also <a href="#image">image</a>(), <a href="#setPixmap">setPixmap</a>(), and <a href="#setData">setData</a>().
+
+<h3 class=fn>void <a name="setImage-2"></a>QClipboard::setImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#setImage">QClipboard::setImage</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>void <a name="setPixmap"></a>QClipboard::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode )
+</h3>
+Copies <em>pixmap</em> into the clipboard. Note that this is slower
+than <a href="#setImage">setImage</a>() because it needs to convert the <a href="qpixmap.html">QPixmap</a> to a
+<a href="qimage.html">QImage</a> first.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+pixmap is stored in the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the pixmap is stored in the global
+mouse selection.
+<p> <p>See also <a href="#pixmap">pixmap</a>(), <a href="#setImage">setImage</a>(), and <a href="#setData">setData</a>().
+
+<h3 class=fn>void <a name="setPixmap-2"></a>QClipboard::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#setPixmap">QClipboard::setPixmap</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>void <a name="setSelectionMode"></a>QClipboard::setSelectionMode ( bool&nbsp;enable )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use the <a href="#data">QClipboard::data</a>(), <a href="#setData">QClipboard::setData</a>() and related functions
+which take a QClipboard::Mode argument.
+<p> Sets the clipboard selection mode. If <em>enable</em> is TRUE, then
+subsequent calls to QClipboard::setData() and other functions
+which put data into the clipboard will put the data into the mouse
+selection, otherwise the data will be put into the clipboard.
+<p> <p>See also <a href="#supportsSelection">supportsSelection</a>() and <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+
+<h3 class=fn>void <a name="setText"></a>QClipboard::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode )
+</h3>
+Copies <em>text</em> into the clipboard as plain text.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+text is stored in the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the text is stored in the global
+mouse selection.
+<p> <p>See also <a href="#text">text</a>() and <a href="#setData">setData</a>().
+
+<p>Example: <a href="regexptester-example.html#x2476">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="setText-2"></a>QClipboard::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#setText">QClipboard::setText</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn>bool <a name="supportsSelection"></a>QClipboard::supportsSelection () const
+</h3>
+Returns TRUE if the clipboard supports mouse selection; otherwise
+returns FALSE.
+
+<p>Example: <a href="regexptester-example.html#x2477">regexptester/regexptester.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QClipboard::text ( <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode ) const
+</h3>
+Returns the clipboard text as plain text, or a null string if the
+clipboard does not contain any text.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+text is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the text is retrieved from the global
+mouse selection.
+<p> <p>See also <a href="#setText">setText</a>(), <a href="#data">data</a>(), and <a href="qstring.html#operator!">QString::operator!</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-2"></a>QClipboard::text ( <a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;subtype, <a href="qclipboard.html#Mode-enum">Mode</a>&nbsp;mode ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the clipboard text in subtype <em>subtype</em>, or a null string
+if the clipboard does not contain any text. If <em>subtype</em> is null,
+any subtype is acceptable, and <em>subtype</em> is set to the chosen
+subtype.
+<p> The <em>mode</em> argument is used to control which part of the system
+clipboard is used. If <em>mode</em> is QClipboard::Clipboard, the
+text is retrieved from the global clipboard. If <em>mode</em> is
+QClipboard::Selection, the text is retrieved from the global
+mouse selection.
+<p> Common values for <em>subtype</em> are "plain" and "html".
+<p> <p>See also <a href="#setText">setText</a>(), <a href="#data">data</a>(), and <a href="qstring.html#operator!">QString::operator!</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-3"></a>QClipboard::text () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses the <a href="#text">QClipboard::text</a>() function which takes
+a QClipboard::Mode argument. The value of the mode argument is
+determined by the return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>().
+If selectionModeEnabled() returns TRUE, the mode argument is
+QClipboard::Selection, otherwise the mode argument is
+QClipboard::Clipboard.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-4"></a>QClipboard::text ( <a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;subtype ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the clipboard text in subtype <em>subtype</em>, or a null string
+if the clipboard does not contain any text. This function uses the
+<a href="#text">QClipboard::text</a>() function which takes a QClipboard::Mode
+argument. The value of the mode argument is determined by the
+return value of <a href="#selectionModeEnabled">selectionModeEnabled</a>(). If selectionModeEnabled()
+returns TRUE, the mode argument is QClipboard::Selection,
+otherwise the mode argument is QClipboard::Clipboard.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcloseevent-members.html b/doc/html/qcloseevent-members.html
new file mode 100644
index 0000000..ac582e8
--- /dev/null
+++ b/doc/html/qcloseevent-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:382 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCloseEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCloseEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcloseevent.html">QCloseEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qcloseevent.html#QCloseEvent">QCloseEvent</a>()
+<li><a href="qcloseevent.html#accept">accept</a>()
+<li><a href="qcloseevent.html#ignore">ignore</a>()
+<li><a href="qcloseevent.html#isAccepted">isAccepted</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcloseevent.html b/doc/html/qcloseevent.html
new file mode 100644
index 0000000..6d3789c
--- /dev/null
+++ b/doc/html/qcloseevent.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1392 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCloseEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCloseEvent Class Reference</h1>
+
+<p>The QCloseEvent class contains parameters that describe a close event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qcloseevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCloseEvent"><b>QCloseEvent</b></a> ()</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCloseEvent class contains parameters that describe a close event.
+<p>
+<p> Close events are sent to widgets that the user wants to close,
+usually by choosing "Close" from the window menu, or by clicking
+the `X' titlebar button. They are also sent when you call
+<a href="qwidget.html#close">QWidget::close</a>() to close a widget programmatically.
+<p> Close events contain a flag that indicates whether the receiver
+wants the widget to be closed or not. When a widget accepts the
+close event, it is hidden (and destroyed if it was created with
+the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> flag). If it refuses to accept the close
+event nothing happens. (Under X11 it is possible that the window
+manager will forcibly close the window; but at the time of writing
+we are not aware of any window manager that does this.)
+<p> The application's main widget -- <a href="qapplication.html#mainWidget">QApplication::mainWidget</a>() --
+is a special case. When it accepts the close event, Qt leaves the
+main event loop and the application is immediately terminated
+(i.e. it returns from the call to <a href="qapplication.html#exec">QApplication::exec</a>() in the
+main() function).
+<p> The event handler <a href="qwidget.html#closeEvent">QWidget::closeEvent</a>() receives close events. The
+default implementation of this event handler accepts the close
+event. If you do not want your widget to be hidden, or want some
+special handing, you should reimplement the event handler.
+<p> The <a href="simple-application.html#closeEvent">closeEvent() in the
+ Application Walkthrough</a> shows a close event handler that
+asks whether to save a document before closing.
+<p> If you want the widget to be deleted when it is closed, create it
+with the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> widget flag. This is very useful for
+independent top-level windows in a multi-window application.
+<p> <a href="qobject.html">QObject</a>s emits the <a href="qobject.html#destroyed">destroyed()</a> signal when they are deleted.
+<p> If the last top-level window is closed, the
+<a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>() signal is emitted.
+<p> The <a href="#isAccepted">isAccepted</a>() function returns TRUE if the event's receiver has
+agreed to close the widget; call <a href="#accept">accept</a>() to agree to close the
+widget and call <a href="#ignore">ignore</a>() if the receiver of this event does not
+want the widget to be closed.
+<p> <p>See also <a href="qwidget.html#close">QWidget::close</a>(), <a href="qwidget.html#hide">QWidget::hide</a>(), <a href="qobject.html#destroyed">QObject::destroyed</a>(), <a href="qapplication.html#setMainWidget">QApplication::setMainWidget</a>(), <a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>(), <a href="qapplication.html#exec">QApplication::exec</a>(), <a href="qapplication.html#quit">QApplication::quit</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCloseEvent"></a>QCloseEvent::QCloseEvent ()
+</h3>
+
+<p> Constructs a close event object with the accept parameter flag set
+to FALSE.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>void <a name="accept"></a>QCloseEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the close event object.
+<p> Setting the accept flag indicates that the receiver of this event
+agrees to close the widget.
+<p> The accept flag is <em>not</em> set by default.
+<p> If you choose to accept in <a href="qwidget.html#closeEvent">QWidget::closeEvent</a>(), the widget will
+be hidden. If the widget's <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> flag is set, it
+will also be destroyed.
+<p> <p>See also <a href="#ignore">ignore</a>() and <a href="qwidget.html#hide">QWidget::hide</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1128">action/application.cpp</a>, <a href="simple-application-example.html#x1545">application/application.cpp</a>, <a href="mdi-example.html#x2021">mdi/application.cpp</a>, <a href="popup-example.html#x1607">popup/popup.cpp</a>, and <a href="qwerty-example.html#x360">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="ignore"></a>QCloseEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag of the close event object.
+<p> Clearing the accept flag indicates that the receiver of this event
+does not want the widget to be closed.
+<p> The close event is constructed with the accept flag cleared.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1129">action/application.cpp</a>, <a href="simple-application-example.html#x1546">application/application.cpp</a>, <a href="mdi-example.html#x2022">mdi/application.cpp</a>, and <a href="qwerty-example.html#x361">qwerty/qwerty.cpp</a>.
+<h3 class=fn>bool <a name="isAccepted"></a>QCloseEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event has agreed to close the
+widget; otherwise returns FALSE.
+<p> <p>See also <a href="#accept">accept</a>() and <a href="#ignore">ignore</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcollection.html b/doc/html/qcollection.html
new file mode 100644
index 0000000..95b9cce
--- /dev/null
+++ b/doc/html/qcollection.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCollection Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCollection Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qcollection.h&gt;</pre>
+
+<p> The QCollection class has been renamed <b> <a href="qptrcollection.html">QPtrCollection</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolor-h.html b/doc/html/qcolor-h.html
new file mode 100644
index 0000000..27f9bdb
--- /dev/null
+++ b/doc/html/qcolor-h.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcolor.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcolor.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcolor.h</h1>
+
+<p>This is the verbatim text of the qcolor.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcolor.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QColor class
+**
+** Created : 940112
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCOLOR_H
+#define QCOLOR_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+const QRgb RGB_MASK = 0x00ffffff; // masks RGB values
+
+Q_EXPORT inline int qRed( QRgb rgb ) // get red part of RGB
+{ return (int)((rgb &gt;&gt; 16) &amp; 0xff); }
+
+Q_EXPORT inline int qGreen( QRgb rgb ) // get green part of RGB
+{ return (int)((rgb &gt;&gt; 8) &amp; 0xff); }
+
+Q_EXPORT inline int qBlue( QRgb rgb ) // get blue part of RGB
+{ return (int)(rgb &amp; 0xff); }
+
+Q_EXPORT inline int qAlpha( QRgb rgb ) // get alpha part of RGBA
+{ return (int)((rgb &gt;&gt; 24) &amp; 0xff); }
+
+Q_EXPORT inline QRgb qRgb( int r, int g, int b )// set RGB value
+{ return (0xff &lt;&lt; 24) | ((r &amp; 0xff) &lt;&lt; 16) | ((g &amp; 0xff) &lt;&lt; 8) | (b &amp; 0xff); }
+
+Q_EXPORT inline QRgb qRgba( int r, int g, int b, int a )// set RGBA value
+{ return ((a &amp; 0xff) &lt;&lt; 24) | ((r &amp; 0xff) &lt;&lt; 16) | ((g &amp; 0xff) &lt;&lt; 8) | (b &amp; 0xff); }
+
+Q_EXPORT inline int qGray( int r, int g, int b )// convert R,G,B to gray 0..255
+{ return (r*11+g*16+b*5)/32; }
+
+Q_EXPORT inline int qGray( QRgb rgb ) // convert RGB to gray 0..255
+{ return qGray( qRed(rgb), qGreen(rgb), qBlue(rgb) ); }
+
+
+class Q_EXPORT QColor
+{
+public:
+ enum Spec { Rgb, Hsv };
+
+ QColor();
+ QColor( int r, int g, int b );
+ QColor( int x, int y, int z, Spec );
+ QColor( QRgb rgb, uint pixel=0xffffffff);
+ QColor( const QString&amp; name );
+ QColor( const char *name );
+ QColor( const QColor &amp; );
+ QColor &amp;operator=( const QColor &amp; );
+
+ bool isValid() const;
+ bool isDirty() const;
+ QString name() const;
+ void setNamedColor( const QString&amp; name );
+
+ QRgb rgb() const;
+ void setRgb( int r, int g, int b );
+ void setRgb( QRgb rgb );
+ void getRgb( int *r, int *g, int *b ) const { rgb( r, g, b ); }
+ void rgb( int *r, int *g, int *b ) const; // obsolete
+
+ int red() const;
+ int green() const;
+ int blue() const;
+
+ void setHsv( int h, int s, int v );
+ void getHsv( int *h, int *s, int *v ) const { hsv( h, s, v ); }
+ void hsv( int *h, int *s, int *v ) const; // obsolete
+ void getHsv( int &amp;h, int &amp;s, int &amp;v ) const { hsv( &amp;h, &amp;s, &amp;v ); } // obsolete
+
+ QColor light( int f = 150 ) const;
+ QColor dark( int f = 200 ) const;
+
+ bool operator==( const QColor &amp;c ) const;
+ bool operator!=( const QColor &amp;c ) const;
+
+ uint alloc();
+ uint pixel() const;
+
+#if defined(Q_WS_X11)
+ // ### in 4.0, make this take a default argument of -1 for default screen?
+ uint alloc( int screen );
+ uint pixel( int screen ) const;
+#endif
+
+ static int maxColors();
+ static int numBitPlanes();
+
+ static int enterAllocContext();
+ static void leaveAllocContext();
+ static int currentAllocContext();
+ static void destroyAllocContext( int );
+
+#if defined(Q_WS_WIN)
+ static const QRgb* palette( int* numEntries = 0 );
+ static int setPaletteEntries( const QRgb* entries, int numEntries,
+ int base = -1 );
+ static HPALETTE hPal() { return hpal; }
+ static uint realizePal( QWidget * );
+#endif
+
+ static void initialize();
+ static void cleanup();
+#ifndef QT_NO_STRINGLIST
+ static QStringList colorNames();
+#endif
+ enum { Dirt = 0x44495254, Invalid = 0x49000000 };
+
+private:
+ void setSystemNamedColor( const QString&amp; name );
+ void setPixel( uint pixel );
+ static void initGlobalColors();
+ static uint argbToPix32(QRgb);
+ static QColor* globalColors();
+ static bool color_init;
+ static bool globals_init;
+#if defined(Q_WS_WIN)
+ static HPALETTE hpal;
+#endif
+ static enum ColorModel { d8, d32 } colormodel;
+ union {
+ QRgb argb;
+ struct D8 {
+ QRgb argb;
+ uchar pix;
+ uchar invalid;
+ uchar dirty;
+ uchar direct;
+ } d8;
+ struct D32 {
+ QRgb argb;
+ uint pix;
+ bool invalid() const { return argb == QColor::Invalid &amp;&amp; pix == QColor::Dirt; }
+ bool probablyDirty() const { return pix == QColor::Dirt; }
+ } d32;
+ } d;
+};
+
+
+inline QColor::QColor()
+{ d.d32.argb = Invalid; d.d32.pix = Dirt; }
+
+inline QColor::QColor( int r, int g, int b )
+{
+ d.d32.argb = Invalid;
+ d.d32.pix = Dirt;
+ setRgb( r, g, b );
+}
+
+inline QRgb QColor::rgb() const
+{ return d.argb; }
+
+inline int QColor::red() const
+{ return qRed(d.argb); }
+
+inline int QColor::green() const
+{ return qGreen(d.argb); }
+
+inline int QColor::blue() const
+{ return qBlue(d.argb); }
+
+inline bool QColor::isValid() const
+{
+ if ( colormodel == d8 )
+ return !d.d8.invalid;
+ else
+ return !d.d32.invalid();
+}
+
+inline bool QColor::operator==( const QColor &amp;c ) const
+{
+ return d.argb == c.d.argb &amp;&amp; isValid() == c.isValid();
+}
+
+inline bool QColor::operator!=( const QColor &amp;c ) const
+{
+ return !operator==(c);
+}
+
+
+/*****************************************************************************
+ QColor stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QColor &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QColor &amp; );
+#endif
+
+#endif // QCOLOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolor-members.html b/doc/html/qcolor-members.html
new file mode 100644
index 0000000..0a0d0ee
--- /dev/null
+++ b/doc/html/qcolor-members.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcolor.h:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColor Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QColor</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcolor.html">QColor</a>, including inherited members.
+
+<ul>
+<li><a href="qcolor.html#QColor">QColor</a>()
+<li><a href="qcolor.html#alloc">alloc</a>()
+<li><a href="qcolor.html#blue">blue</a>()
+<li><a href="qcolor.html#cleanup">cleanup</a>()
+<li><a href="qcolor.html#colorNames">colorNames</a>()
+<li><a href="qcolor.html#currentAllocContext">currentAllocContext</a>()
+<li><a href="qcolor.html#dark">dark</a>()
+<li><a href="qcolor.html#destroyAllocContext">destroyAllocContext</a>()
+<li><a href="qcolor.html#enterAllocContext">enterAllocContext</a>()
+<li><a href="qcolor.html#getHsv">getHsv</a>()
+<li><a href="qcolor.html#getRgb">getRgb</a>()
+<li><a href="qcolor.html#green">green</a>()
+<li><a href="qcolor.html#hsv">hsv</a>()
+<li><a href="qcolor.html#initialize">initialize</a>()
+<li><a href="qcolor.html#isValid">isValid</a>()
+<li><a href="qcolor.html#leaveAllocContext">leaveAllocContext</a>()
+<li><a href="qcolor.html#light">light</a>()
+<li><a href="qcolor.html#maxColors">maxColors</a>()
+<li><a href="qcolor.html#name">name</a>()
+<li><a href="qcolor.html#numBitPlanes">numBitPlanes</a>()
+<li><a href="qcolor.html#operator!-eq">operator!=</a>()
+<li><a href="qcolor.html#operator-eq">operator=</a>()
+<li><a href="qcolor.html#operator-eq-eq">operator==</a>()
+<li><a href="qcolor.html#pixel">pixel</a>()
+<li><a href="qcolor.html#red">red</a>()
+<li><a href="qcolor.html#rgb">rgb</a>()
+<li><a href="qcolor.html#setHsv">setHsv</a>()
+<li><a href="qcolor.html#setNamedColor">setNamedColor</a>()
+<li><a href="qcolor.html#setRgb">setRgb</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolor.html b/doc/html/qcolor.html
new file mode 100644
index 0000000..556aafa
--- /dev/null
+++ b/doc/html/qcolor.html
@@ -0,0 +1,618 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qcolor.cpp:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColor Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QColor Class Reference</h1>
+
+<p>The QColor class provides colors based on RGB or HSV values.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;</tt>
+<p><a href="qcolor-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Spec-enum"><b>Spec</b></a> { Rgb, Hsv }</li>
+<li class=fn><a href="#QColor"><b>QColor</b></a> ()</li>
+<li class=fn><a href="#QColor-2"><b>QColor</b></a> ( int&nbsp;r, int&nbsp;g, int&nbsp;b )</li>
+<li class=fn><a href="#QColor-3"><b>QColor</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;z, Spec&nbsp;colorSpec )</li>
+<li class=fn><a href="#QColor-4"><b>QColor</b></a> ( QRgb&nbsp;rgb, uint&nbsp;pixel = 0xffffffff )</li>
+<li class=fn><a href="#QColor-5"><b>QColor</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn><a href="#QColor-6"><b>QColor</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</li>
+<li class=fn><a href="#QColor-7"><b>QColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QColor &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>void <a href="#setNamedColor"><b>setNamedColor</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QRgb <a href="#rgb"><b>rgb</b></a> () const</li>
+<li class=fn>void <a href="#setRgb"><b>setRgb</b></a> ( int&nbsp;r, int&nbsp;g, int&nbsp;b )</li>
+<li class=fn>void <a href="#setRgb-2"><b>setRgb</b></a> ( QRgb&nbsp;rgb )</li>
+<li class=fn>void <a href="#getRgb"><b>getRgb</b></a> ( int&nbsp;*&nbsp;r, int&nbsp;*&nbsp;g, int&nbsp;*&nbsp;b ) const</li>
+<li class=fn>void rgb ( int&nbsp;*&nbsp;r, int&nbsp;*&nbsp;g, int&nbsp;*&nbsp;b ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#red"><b>red</b></a> () const</li>
+<li class=fn>int <a href="#green"><b>green</b></a> () const</li>
+<li class=fn>int <a href="#blue"><b>blue</b></a> () const</li>
+<li class=fn>void <a href="#setHsv"><b>setHsv</b></a> ( int&nbsp;h, int&nbsp;s, int&nbsp;v )</li>
+<li class=fn>void <a href="#getHsv"><b>getHsv</b></a> ( int&nbsp;*&nbsp;h, int&nbsp;*&nbsp;s, int&nbsp;*&nbsp;v ) const</li>
+<li class=fn>void hsv ( int&nbsp;*&nbsp;h, int&nbsp;*&nbsp;s, int&nbsp;*&nbsp;v ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void getHsv ( int&nbsp;&amp;&nbsp;h, int&nbsp;&amp;&nbsp;s, int&nbsp;&amp;&nbsp;v ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QColor <a href="#light"><b>light</b></a> ( int&nbsp;factor = 150 ) const</li>
+<li class=fn>QColor <a href="#dark"><b>dark</b></a> ( int&nbsp;factor = 200 ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) const</li>
+<li class=fn>uint <a href="#alloc"><b>alloc</b></a> ()</li>
+<li class=fn>uint <a href="#pixel"><b>pixel</b></a> () const</li>
+<li class=fn>uint <a href="#pixel-2"><b>pixel</b></a> ( int&nbsp;screen ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>int <a href="#maxColors"><b>maxColors</b></a> ()</li>
+<li class=fn>int <a href="#numBitPlanes"><b>numBitPlanes</b></a> ()</li>
+<li class=fn>int <a href="#enterAllocContext"><b>enterAllocContext</b></a> ()</li>
+<li class=fn>void <a href="#leaveAllocContext"><b>leaveAllocContext</b></a> ()</li>
+<li class=fn>int <a href="#currentAllocContext"><b>currentAllocContext</b></a> ()</li>
+<li class=fn>void <a href="#destroyAllocContext"><b>destroyAllocContext</b></a> ( int&nbsp;context )</li>
+<li class=fn>void <a href="#initialize"><b>initialize</b></a> ()</li>
+<li class=fn>void <a href="#cleanup"><b>cleanup</b></a> ()</li>
+<li class=fn>QStringList <a href="#colorNames"><b>colorNames</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>int <a href="#qRed"><b>qRed</b></a> ( QRgb&nbsp;rgb )</li>
+<li class=fn>int <a href="#qGreen"><b>qGreen</b></a> ( QRgb&nbsp;rgb )</li>
+<li class=fn>int <a href="#qBlue"><b>qBlue</b></a> ( QRgb&nbsp;rgb )</li>
+<li class=fn>int <a href="#qAlpha"><b>qAlpha</b></a> ( QRgb&nbsp;rgba )</li>
+<li class=fn>QRgb <a href="#qRgb"><b>qRgb</b></a> ( int&nbsp;r, int&nbsp;g, int&nbsp;b )</li>
+<li class=fn>QRgb <a href="#qRgba"><b>qRgba</b></a> ( int&nbsp;r, int&nbsp;g, int&nbsp;b, int&nbsp;a )</li>
+<li class=fn>int <a href="#qGray"><b>qGray</b></a> ( int&nbsp;r, int&nbsp;g, int&nbsp;b )</li>
+<li class=fn>int <a href="#qGray-2"><b>qGray</b></a> ( qRgb&nbsp;rgb )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QColor class provides colors based on RGB or HSV values.
+<p>
+
+
+<p> A color is normally specified in terms of RGB (red, green and blue)
+components, but it is also possible to specify HSV (hue, saturation
+and value) or set a color name (the names are copied from from the
+X11 color database).
+<p> In addition to the RGB value, a QColor also has a pixel value and a
+validity. The pixel value is used by the underlying window system
+to refer to a color. It can be thought of as an index into the
+display hardware's color table.
+<p> The validity (<a href="#isValid">isValid</a>()) indicates whether the color is legal at
+all. For example, a RGB color with RGB values out of range is
+illegal. For performance reasons, QColor mostly disregards illegal
+colors. The result of using an invalid color is unspecified and
+will usually be surprising.
+<p> There are 19 predefined QColor objects: <tt>white</tt>, <tt>black</tt>, <tt>red</tt>, <tt>darkRed</tt>, <tt>green</tt>, <tt>darkGreen</tt>, <tt>blue</tt>, <tt>darkBlue</tt>, <tt>cyan</tt>, <tt>darkCyan</tt>, <tt>magenta</tt>, <tt>darkMagenta</tt>, <tt>yellow</tt>, <tt>darkYellow</tt>, <tt>gray</tt>, <tt>darkGray</tt>, <tt>lightGray</tt>, <tt>color0</tt> and <tt>color1</tt>, accessible as members of the Qt namespace (ie. <tt>Qt::red</tt>).
+<p> <center><img src="qt-colors.png" alt="Qt Colors"></center>
+<p> The colors <tt>color0</tt> (zero pixel value) and <tt>color1</tt> (non-zero
+pixel value) are special colors for drawing in <a href="qbitmap.html">bitmaps</a>. Painting with <tt>color0</tt> sets the bitmap bits to 0
+(transparent, i.e. background), and painting with <tt>color1</tt> sets the
+bits to 1 (opaque, i.e. foreground).
+<p> The QColor class has an efficient, dynamic color allocation
+strategy. A color is normally allocated the first time it is used
+(lazy allocation), that is, whenever the <a href="#pixel">pixel</a>() function is called.
+The following steps are taken to allocate a color. If, at any point,
+a suitable color is found then the appropriate pixel value is
+returned and the subsequent steps are not taken:
+<p> <ol type=1>
+<li> Is the pixel value valid? If it is, just return it; otherwise,
+allocate a pixel value.
+<li> Check an internal hash table to see if we allocated an equal RGB
+value earlier. If we did, set the corresponding pixel value for the
+color and return it.
+<li> Try to allocate the RGB value. If we succeed, we get a pixel value
+that we save in the internal table with the RGB value.
+Return the pixel value.
+<li> The color could not be allocated. Find the closest matching
+color, save it in the internal table, and return it.
+</ol>
+<p> A color can be set by passing <a href="#setNamedColor">setNamedColor</a>() an RGB string like
+"#112233", or a color name, e.g. "blue". The names are taken from
+X11's rgb.txt database but can also be used under Windows. To get
+a lighter or darker color use <a href="#light">light</a>() and <a href="#dark">dark</a>() respectively.
+Colors can also be set using <a href="#setRgb">setRgb</a>() and <a href="#setHsv">setHsv</a>(). The color
+components can be accessed in one go with <a href="#rgb">rgb</a>() and <a href="#hsv">hsv</a>(), or
+individually with <a href="#red">red</a>(), <a href="#green">green</a>() and <a href="#blue">blue</a>().
+<p> Use <a href="#maxColors">maxColors</a>() and <a href="#numBitPlanes">numBitPlanes</a>() to determine the maximum number
+of colors and the number of bit planes supported by the underlying
+window system,
+<p> If you need to allocate many colors temporarily, for example in an
+image viewer application, <a href="#enterAllocContext">enterAllocContext</a>(), <a href="#leaveAllocContext">leaveAllocContext</a>() and
+<a href="#destroyAllocContext">destroyAllocContext</a>() will prove useful.
+<p> <h3> HSV Colors
+</h3>
+<a name="1"></a><p> Because many people don't know the HSV color model very well, we'll
+cover it briefly here.
+<p> The RGB model is hardware-oriented. Its representation is close to
+what most monitors show. In contrast, HSV represents color in a way
+more suited to the human perception of color. For example, the
+relationships "stronger than", "darker than" and "the opposite of"
+are easily expressed in HSV but are much harder to express in RGB.
+<p> HSV, like RGB, has three components:
+<p> <ul>
+<p> <li> H, for hue, is either 0-359 if the color is chromatic (not
+gray), or meaningless if it is gray. It represents degrees on the
+color wheel familiar to most people. Red is 0 (degrees), green is
+120 and blue is 240.
+<p> <li> S, for saturation, is 0-255, and the bigger it is, the
+stronger the color is. Grayish colors have saturation near 0; very
+strong colors have saturation near 255.
+<p> <li> V, for value, is 0-255 and represents lightness or brightness
+of the color. 0 is black; 255 is as far from black as possible.
+<p> </ul>
+<p> Here are some examples: Pure red is H=0, S=255, V=255. A dark red,
+moving slightly towards the magenta, could be H=350 (equivalent to
+-10), S=255, V=180. A grayish light red could have H about 0 (say
+350-359 or 0-10), S about 50-100, and S=255.
+<p> Qt returns a hue value of -1 for achromatic colors. If you pass a
+too-big hue value, Qt forces it into range. Hue 360 or 720 is
+treated as 0; hue 540 is treated as 180.
+<p> <p>See also <a href="qpalette.html">QPalette</a>, <a href="qcolorgroup.html">QColorGroup</a>, <a href="qapplication.html#setColorSpec">QApplication::setColorSpec</a>(), <a href="http://www.poynton.com/ColorFAQ.html">Color FAQ</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Spec-enum"></a>QColor::Spec</h3>
+
+<p> The type of color specified, either RGB or HSV, e.g. in the
+<tt>QColor::QColor( x, y, z, colorSpec)</tt> constructor.
+<ul>
+<li><tt>QColor::Rgb</tt>
+<li><tt>QColor::Hsv</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QColor"></a>QColor::QColor ()
+</h3>
+
+<p> Constructs an invalid color with the RGB value (0, 0, 0). An
+invalid color is a color that is not properly set up for the
+underlying window system.
+<p> The alpha value of an invalid color is unspecified.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QColor-2"></a>QColor::QColor ( int&nbsp;r, int&nbsp;g, int&nbsp;b )
+</h3>
+
+<p> Constructs a color with the RGB value <em>r</em>, <em>g</em>, <em>b</em>, in the
+same way as <a href="#setRgb">setRgb</a>().
+<p> The color is left invalid if any or the arguments are illegal.
+<p> <p>See also <a href="#setRgb">setRgb</a>().
+
+<h3 class=fn><a name="QColor-3"></a>QColor::QColor ( int&nbsp;x, int&nbsp;y, int&nbsp;z, <a href="qcolor.html#Spec-enum">Spec</a>&nbsp;colorSpec )
+</h3>
+Constructs a color with the RGB or HSV value <em>x</em>, <em>y</em>, <em>z</em>.
+<p> The arguments are an RGB value if <em>colorSpec</em> is QColor::Rgb. <em>x</em> (red), <em>y</em> (green), and <em>z</em> (blue). All of them must be in the
+range 0-255.
+<p> The arguments are an HSV value if <em>colorSpec</em> is QColor::Hsv. <em>x</em> (hue) must be -1 for achromatic colors and 0-359 for chromatic
+colors; <em>y</em> (saturation) and <em>z</em> (value) must both be in the
+range 0-255.
+<p> <p>See also <a href="#setRgb">setRgb</a>() and <a href="#setHsv">setHsv</a>().
+
+<h3 class=fn><a name="QColor-4"></a>QColor::QColor ( QRgb&nbsp;rgb, uint&nbsp;pixel = 0xffffffff )
+</h3>
+Constructs a color with the RGB value <em>rgb</em> and a custom pixel
+value <em>pixel</em>.
+<p> If <em>pixel</em> == 0xffffffff (the default), then the color uses the
+RGB value in a standard way. If <em>pixel</em> is something else, then
+the pixel value is set directly to <em>pixel</em>, skipping the normal
+allocation procedure.
+
+<h3 class=fn><a name="QColor-5"></a>QColor::QColor ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Constructs a named color in the same way as <a href="#setNamedColor">setNamedColor</a>() using
+name <em>name</em>.
+<p> The color is left invalid if <em>name</em> cannot be parsed.
+<p> <p>See also <a href="#setNamedColor">setNamedColor</a>().
+
+<h3 class=fn><a name="QColor-6"></a>QColor::QColor ( const&nbsp;char&nbsp;*&nbsp;name )
+</h3>
+Constructs a named color in the same way as <a href="#setNamedColor">setNamedColor</a>() using
+name <em>name</em>.
+<p> The color is left invalid if <em>name</em> cannot be parsed.
+<p> <p>See also <a href="#setNamedColor">setNamedColor</a>().
+
+<h3 class=fn><a name="QColor-7"></a>QColor::QColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Constructs a color that is a copy of <em>c</em>.
+
+<h3 class=fn>uint <a name="alloc"></a>QColor::alloc ()
+</h3>
+Allocates the RGB color and returns the pixel value.
+<p> Allocating a color means to obtain a pixel value from the RGB
+specification. The pixel value is an index into the global color
+table, but should be considered an arbitrary platform-dependent value.
+<p> The <a href="#pixel">pixel</a>() function calls <a href="#alloc">alloc</a>() if necessary, so in general you
+don't need to call this function.
+<p> <p>See also <a href="#enterAllocContext">enterAllocContext</a>().
+
+<h3 class=fn>int <a name="blue"></a>QColor::blue () const
+</h3>
+
+<p> Returns the B (blue) component of the RGB value.
+
+<h3 class=fn>void <a name="cleanup"></a>QColor::cleanup ()<tt> [static]</tt>
+</h3>
+Internal clean up required for QColor.
+This function is called from the <a href="qapplication.html">QApplication</a> destructor.
+<p> <p>See also <a href="#initialize">initialize</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="colorNames"></a>QColor::colorNames ()<tt> [static]</tt>
+</h3>
+
+Returns a <a href="qstringlist.html">QStringList</a> containing the color names Qt knows about.
+
+<h3 class=fn>int <a name="currentAllocContext"></a>QColor::currentAllocContext ()<tt> [static]</tt>
+</h3>
+Returns the current color allocation context.
+<p> The default context is 0.
+<p> <p>See also <a href="#enterAllocContext">enterAllocContext</a>() and <a href="#leaveAllocContext">leaveAllocContext</a>().
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="dark"></a>QColor::dark ( int&nbsp;factor = 200 ) const
+</h3>
+Returns a darker (or lighter) color, but does not change this
+object.
+<p> Returns a darker color if <em>factor</em> is greater than 100. Setting
+<em>factor</em> to 300 returns a color that has one-third the
+brightness.
+<p> Returns a lighter color if <em>factor</em> is less than 100. We
+recommend using lighter() for this purpose. If <em>factor</em> is 0 or
+negative, the return value is unspecified.
+<p> (This function converts the current RGB color to HSV, divides V by
+<em>factor</em> and converts back to RGB.)
+<p> <p>See also <a href="#light">light</a>().
+
+<p>Examples: <a href="desktop-example.html#x1725">desktop/desktop.cpp</a> and <a href="themes-example.html#x192">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="destroyAllocContext"></a>QColor::destroyAllocContext ( int&nbsp;context )<tt> [static]</tt>
+</h3>
+Destroys a color allocation context, <em>context</em>.
+<p> This function deallocates all colors that were allocated in the
+specified <em>context</em>. If <em>context</em> == -1, it frees up all colors
+that the application has allocated. If <em>context</em> == -2, it frees
+up all colors that the application has allocated, except those in
+the default context.
+<p> The function does nothing for true color displays.
+<p> <p>See also <a href="#enterAllocContext">enterAllocContext</a>() and <a href="#alloc">alloc</a>().
+
+<p>Example: <a href="showimg-example.html#x1313">showimg/showimg.cpp</a>.
+<h3 class=fn>int <a name="enterAllocContext"></a>QColor::enterAllocContext ()<tt> [static]</tt>
+</h3>
+Enters a color allocation context and returns a non-zero unique
+identifier.
+<p> Color allocation contexts are useful for programs that need to
+allocate many colors and throw them away later, like image
+viewers. The allocation context functions work for true color
+displays as well as for colormap displays, except that
+<a href="#destroyAllocContext">QColor::destroyAllocContext</a>() does nothing for true color.
+<p> Example:
+<pre>
+ <a href="qpixmap.html">QPixmap</a> loadPixmap( <a href="qstring.html">QString</a> fileName )
+ {
+ static int alloc_context = 0;
+ if ( alloc_context )
+ QColor::<a href="#destroyAllocContext">destroyAllocContext</a>( alloc_context );
+ alloc_context = QColor::<a href="#enterAllocContext">enterAllocContext</a>();
+ <a href="qpixmap.html">QPixmap</a> pm( fileName );
+ QColor::<a href="#leaveAllocContext">leaveAllocContext</a>();
+ return pm;
+ }
+ </pre>
+
+<p> The example code loads a pixmap from file. It frees up all colors
+that were allocated the last time loadPixmap() was called.
+<p> The initial/default context is 0. Qt keeps a list of colors
+associated with their allocation contexts. You can call
+<a href="#destroyAllocContext">destroyAllocContext</a>() to get rid of all colors that were allocated
+in a specific context.
+<p> Calling <a href="#enterAllocContext">enterAllocContext</a>() enters an allocation context. The
+allocation context lasts until you call <a href="#leaveAllocContext">leaveAllocContext</a>().
+QColor has an internal stack of allocation contexts. Each call to
+enterAllocContex() must have a corresponding leaveAllocContext().
+<p> <pre>
+ // context 0 active
+ int c1 = QColor::<a href="#enterAllocContext">enterAllocContext</a>(); // enter context c1
+ // context c1 active
+ int c2 = QColor::<a href="#enterAllocContext">enterAllocContext</a>(); // enter context c2
+ // context c2 active
+ QColor::<a href="#leaveAllocContext">leaveAllocContext</a>(); // leave context c2
+ // context c1 active
+ QColor::<a href="#leaveAllocContext">leaveAllocContext</a>(); // leave context c1
+ // context 0 active
+ // Now, free all colors that were allocated in context c2
+ QColor::<a href="#destroyAllocContext">destroyAllocContext</a>( c2 );
+ </pre>
+
+<p> You may also want to set the application's color specification.
+See <a href="qapplication.html#setColorSpec">QApplication::setColorSpec</a>() for more information.
+<p> <p>See also <a href="#leaveAllocContext">leaveAllocContext</a>(), <a href="#currentAllocContext">currentAllocContext</a>(), <a href="#destroyAllocContext">destroyAllocContext</a>(), and <a href="qapplication.html#setColorSpec">QApplication::setColorSpec</a>().
+
+<p>Example: <a href="showimg-example.html#x1314">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="getHsv"></a>QColor::getHsv ( int&nbsp;*&nbsp;h, int&nbsp;*&nbsp;s, int&nbsp;*&nbsp;v ) const
+</h3>
+<p> Returns the current RGB value as HSV. The contents of the <em>h</em>, <em>s</em> and <em>v</em> pointers are set to the HSV values. If any of the three
+pointers are null, the function does nothing.
+<p> The hue (which <em>h</em> points to) is set to -1 if the color is
+achromatic.
+<p> <b>Warning:</b> Colors are stored internally as RGB values, so getHSv()
+may return slightly different values to those set by <a href="#setHsv">setHsv</a>().
+<p> <p>See also <a href="#setHsv">setHsv</a>() and <a href="#rgb">rgb</a>().
+
+<h3 class=fn>void <a name="getHsv-2"></a>QColor::getHsv ( int&nbsp;&amp;&nbsp;h, int&nbsp;&amp;&nbsp;s, int&nbsp;&amp;&nbsp;v ) const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="getRgb"></a>QColor::getRgb ( int&nbsp;*&nbsp;r, int&nbsp;*&nbsp;g, int&nbsp;*&nbsp;b ) const
+</h3>
+<p> Sets the contents pointed to by <em>r</em>, <em>g</em> and <em>b</em> to the red,
+green and blue components of the RGB value respectively. The value
+range for a component is 0..255.
+<p> <p>See also <a href="#rgb">rgb</a>(), <a href="#setRgb">setRgb</a>(), and <a href="#getHsv">getHsv</a>().
+
+<h3 class=fn>int <a name="green"></a>QColor::green () const
+</h3>
+
+<p> Returns the G (green) component of the RGB value.
+
+<h3 class=fn>void <a name="hsv"></a>QColor::hsv ( int&nbsp;*&nbsp;h, int&nbsp;*&nbsp;s, int&nbsp;*&nbsp;v ) const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#getHsv">getHsv</a>() instead.
+
+<p>Example: <a href="themes-example.html#x272">themes/metal.cpp</a>.
+<h3 class=fn>void <a name="initialize"></a>QColor::initialize ()<tt> [static]</tt>
+</h3>
+Internal initialization required for QColor.
+This function is called from the <a href="qapplication.html">QApplication</a> constructor.
+<p> <p>See also <a href="#cleanup">cleanup</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QColor::isValid () const
+</h3>
+
+<p> Returns FALSE if the color is invalid, i.e. it was constructed using the
+default constructor; otherwise returns TRUE.
+
+<p>Examples: <a href="tutorial2-03.html#x2550">chart/element.cpp</a>, <a href="tutorial2-08.html#x2599">chart/setdataform.cpp</a>, and <a href="scribble-example.html#x908">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="leaveAllocContext"></a>QColor::leaveAllocContext ()<tt> [static]</tt>
+</h3>
+Leaves a color allocation context.
+<p> See <a href="#enterAllocContext">enterAllocContext</a>() for a detailed explanation.
+<p> <p>See also <a href="#enterAllocContext">enterAllocContext</a>() and <a href="#currentAllocContext">currentAllocContext</a>().
+
+<p>Example: <a href="showimg-example.html#x1315">showimg/showimg.cpp</a>.
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="light"></a>QColor::light ( int&nbsp;factor = 150 ) const
+</h3>
+Returns a lighter (or darker) color, but does not change this
+object.
+<p> Returns a lighter color if <em>factor</em> is greater than 100. Setting
+<em>factor</em> to 150 returns a color that is 50% brighter.
+<p> Returns a darker color if <em>factor</em> is less than 100. We recommend
+using <a href="#dark">dark</a>() for this purpose. If <em>factor</em> is 0 or negative, the
+return value is unspecified.
+<p> (This function converts the current RGB color to HSV, multiplies V
+by <em>factor</em>, and converts the result back to RGB.)
+<p> <p>See also <a href="#dark">dark</a>().
+
+<p>Examples: <a href="desktop-example.html#x1726">desktop/desktop.cpp</a> and <a href="themes-example.html#x193">themes/wood.cpp</a>.
+<h3 class=fn>int <a name="maxColors"></a>QColor::maxColors ()<tt> [static]</tt>
+</h3>
+Returns the maximum number of colors supported by the underlying
+window system if the window system uses a palette.
+<p> Otherwise returns -1. Use <a href="#numBitPlanes">numBitPlanes</a>() to calculate the available
+colors in that case.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QColor::name () const
+</h3>
+Returns the name of the color in the format "#RRGGBB", i.e. a "#"
+character followed by three two-digit hexadecimal numbers.
+<p> <p>See also <a href="#setNamedColor">setNamedColor</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2600">chart/setdataform.cpp</a>.
+<h3 class=fn>int <a name="numBitPlanes"></a>QColor::numBitPlanes ()<tt> [static]</tt>
+</h3>
+Returns the number of color bit planes for the underlying window
+system.
+<p> The returned value is equal to the default pixmap depth.
+<p> <p>See also <a href="qpixmap.html#defaultDepth">QPixmap::defaultDepth</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QColor::operator!= ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c ) const
+</h3>
+
+Returns TRUE if this color has a different RGB value from <em>c</em>;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="operator-eq"></a>QColor::operator= ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Assigns a copy of the color <em>c</em> and returns a reference to this
+color.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QColor::operator== ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c ) const
+</h3>
+
+<p> Returns TRUE if this color has the same RGB value as <em>c</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>uint <a name="pixel"></a>QColor::pixel () const
+</h3>
+Returns the pixel value.
+<p> This value is used by the underlying window system to refer to a
+color. It can be thought of as an index into the display
+hardware's color table, but the value is an arbitrary 32-bit
+value.
+<p> <p>See also <a href="#alloc">alloc</a>().
+
+<h3 class=fn>uint <a name="pixel-2"></a>QColor::pixel ( int&nbsp;screen ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the pixel value for screen <em>screen</em>.
+<p> This value is used by the underlying window system to refer to a color.
+It can be thought of as an index into the display hardware's color table,
+but the value is an arbitrary 32-bit value.
+<p> <p>See also <a href="#alloc">alloc</a>().
+
+<h3 class=fn>int <a name="red"></a>QColor::red () const
+</h3>
+
+<p> Returns the R (red) component of the RGB value.
+
+<h3 class=fn>QRgb <a name="rgb"></a>QColor::rgb () const
+</h3>
+
+<p> Returns the RGB value.
+<p> The return type <em>QRgb</em> is equivalent to <tt>unsigned</tt> <tt>int</tt>.
+<p> For an invalid color, the alpha value of the returned color is
+unspecified.
+<p> <p>See also <a href="#setRgb">setRgb</a>(), <a href="#hsv">hsv</a>(), <a href="#qRed">qRed</a>(), <a href="#qBlue">qBlue</a>(), <a href="#qGreen">qGreen</a>(), and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="rgb-2"></a>QColor::rgb ( int&nbsp;*&nbsp;r, int&nbsp;*&nbsp;g, int&nbsp;*&nbsp;b ) const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#getRgb">getRgb</a>() instead
+<h3 class=fn>void <a name="setHsv"></a>QColor::setHsv ( int&nbsp;h, int&nbsp;s, int&nbsp;v )
+</h3>
+Sets a HSV color value. <em>h</em> is the hue, <em>s</em> is the saturation
+and <em>v</em> is the value of the HSV color.
+<p> If <em>s</em> or <em>v</em> are not in the range 0-255, or <em>h</em> is < -1, the
+color is not changed.
+<p> <b>Warning:</b> Colors are stored internally as RGB values, so getHSv()
+may return slightly different values to those set by <a href="#setHsv">setHsv</a>().
+<p> <p>See also <a href="#hsv">hsv</a>() and <a href="#setRgb">setRgb</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1063">drawdemo/drawdemo.cpp</a>, <a href="grapher-nsplugin-example.html#x2740">grapher/grapher.cpp</a>, and <a href="progress-example.html#x66">progress/progress.cpp</a>.
+<h3 class=fn>void <a name="setNamedColor"></a>QColor::setNamedColor ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Sets the RGB value to <em>name</em>, which may be in one of these
+formats:
+<ul>
+<li> #RGB (each of R, G and B is a single hex digit)
+<li> #RRGGBB
+<li> #RRRGGGBBB
+<li> #RRRRGGGGBBBB
+<li> A name from the X color database (rgb.txt) (e.g.
+"steelblue" or "gainsboro"). These color names also work
+under Windows.
+</ul>
+<p> The color is invalid if <em>name</em> cannot be parsed.
+
+<h3 class=fn>void <a name="setRgb"></a>QColor::setRgb ( int&nbsp;r, int&nbsp;g, int&nbsp;b )
+</h3>
+Sets the RGB value to <em>r</em>, <em>g</em>, <em>b</em>. The arguments, <em>r</em>, <em>g</em>
+and <em>b</em> must all be in the range 0..255. If any of them are
+outside the legal range, the color is not changed.
+<p> <p>See also <a href="#rgb">rgb</a>() and <a href="#setHsv">setHsv</a>().
+
+<h3 class=fn>void <a name="setRgb-2"></a>QColor::setRgb ( QRgb&nbsp;rgb )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the RGB value to <em>rgb</em>.
+<p> The type <em>QRgb</em> is equivalent to <tt>unsigned</tt> <tt>int</tt>.
+<p> <p>See also <a href="#rgb">rgb</a>() and <a href="#setHsv">setHsv</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+Writes a color object, <em>c</em> to the stream, <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+Reads a color object, <em>c</em>, from the stream, <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>int <a name="qAlpha"></a>qAlpha ( QRgb&nbsp;rgba )
+</h3>
+
+
+<p> Returns the alpha component of the RGBA quadruplet <em>rgba</em>.
+
+<h3 class=fn>int <a name="qBlue"></a>qBlue ( QRgb&nbsp;rgb )
+</h3>
+
+
+<p> Returns the blue component of the RGB triplet <em>rgb</em>.
+<p>See also <a href="#qRgb">qRgb</a>() and <a href="#blue">QColor::blue</a>().
+
+<h3 class=fn>int <a name="qGray"></a>qGray ( int&nbsp;r, int&nbsp;g, int&nbsp;b )
+</h3>
+
+
+<p> Returns a gray value 0..255 from the (<em>r</em>, <em>g</em>, <em>b</em>) triplet.
+<p> The gray value is calculated using the formula (r*11 + g*16 +
+b*5)/32.
+
+<h3 class=fn>int <a name="qGray-2"></a>qGray ( qRgb&nbsp;rgb )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a gray value 0..255 from the given <em>rgb</em> colour.
+
+<h3 class=fn>int <a name="qGreen"></a>qGreen ( QRgb&nbsp;rgb )
+</h3>
+
+
+<p> Returns the green component of the RGB triplet <em>rgb</em>.
+<p>See also <a href="#qRgb">qRgb</a>() and <a href="#green">QColor::green</a>().
+
+<h3 class=fn>int <a name="qRed"></a>qRed ( QRgb&nbsp;rgb )
+</h3>
+
+
+<p> Returns the red component of the RGB triplet <em>rgb</em>.
+<p>See also <a href="#qRgb">qRgb</a>() and <a href="#red">QColor::red</a>().
+
+<h3 class=fn>QRgb <a name="qRgb"></a>qRgb ( int&nbsp;r, int&nbsp;g, int&nbsp;b )
+</h3>
+
+
+<p> Returns the RGB triplet <em>(r,g,b)</em>.
+<p> The return type QRgb is equivalent to <tt>unsigned</tt> <tt>int</tt>.
+<p> <p>See also <a href="#qRgba">qRgba</a>(), <a href="#qRed">qRed</a>(), <a href="#qGreen">qGreen</a>(), and <a href="#qBlue">qBlue</a>().
+
+<h3 class=fn>QRgb <a name="qRgba"></a>qRgba ( int&nbsp;r, int&nbsp;g, int&nbsp;b, int&nbsp;a )
+</h3>
+
+
+<p> Returns the RGBA quadruplet <em>(r,g,b,a)</em>.
+<p> The return type QRgba is equivalent to <tt>unsigned</tt> <tt>int</tt>.
+<p> <p>See also <a href="#qRgb">qRgb</a>(), <a href="#qRed">qRed</a>(), <a href="#qGreen">qGreen</a>(), and <a href="#qBlue">qBlue</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolordialog-h.html b/doc/html/qcolordialog-h.html
new file mode 100644
index 0000000..ba12d72
--- /dev/null
+++ b/doc/html/qcolordialog-h.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcolordialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcolordialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcolordialog.h</h1>
+
+<p>This is the verbatim text of the qcolordialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcolordialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QColorDialog class
+**
+** Created : 990222
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCOLORDIALOG_H
+#define QCOLORDIALOG_H
+
+#ifndef QT_H
+#include "qdialog.h"
+#endif // QT_H
+
+#ifndef QT_NO_COLORDIALOG
+
+class QColorDialogPrivate;
+
+class Q_EXPORT QColorDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ static QColor getColor( const QColor&amp; init = white, QWidget* parent=0, const char* name=0 );
+ static QRgb getRgba( QRgb, bool* ok = 0,
+ QWidget* parent=0, const char* name=0 );
+
+ static int customCount();
+ static QRgb customColor( int );
+ static void setCustomColor( int, QRgb );
+ static void setStandardColor( int, QRgb );
+
+private:
+ ~QColorDialog();
+ QColorDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE );
+
+ void setColor( const QColor&amp; );
+ QColor color() const;
+
+ bool selectColor( const QColor&amp; );
+
+ void setSelectedAlpha( int );
+ int selectedAlpha() const;
+
+ void showCustom( bool=TRUE );
+
+private: // Disabled copy constructor and operator=
+ QColorDialogPrivate *d;
+ friend class QColorDialogPrivate;
+ friend class QColorShower;
+
+#if defined(Q_DISABLE_COPY)
+ QColorDialog( const QColorDialog &amp; );
+ QColorDialog&amp; operator=( const QColorDialog &amp; );
+#endif
+};
+
+#endif
+
+#endif //QCOLORDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolordialog-members.html b/doc/html/qcolordialog-members.html
new file mode 100644
index 0000000..572bbc0
--- /dev/null
+++ b/doc/html/qcolordialog-members.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcolordialog.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QColorDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcolordialog.html">QColorDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qcolordialog.html#customColor">customColor</a>()
+<li><a href="qcolordialog.html#customCount">customCount</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qcolordialog.html#getColor">getColor</a>()
+<li><a href="qcolordialog.html#getRgba">getRgba</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qcolordialog.html#setCustomColor">setCustomColor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qcolordialog.html#setStandardColor">setStandardColor</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolordialog.html b/doc/html/qcolordialog.html
new file mode 100644
index 0000000..023ccee
--- /dev/null
+++ b/doc/html/qcolordialog.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qcolordialog.cpp:1411 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QColorDialog Class Reference</h1>
+
+<p>The QColorDialog class provides a dialog widget for specifying colors.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcolordialog-h.html">qcolordialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qcolordialog-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QColor <a href="#getColor"><b>getColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;initial = white, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QRgb <a href="#getRgba"><b>getRgba</b></a> ( QRgb&nbsp;initial, bool&nbsp;*&nbsp;ok = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>int <a href="#customCount"><b>customCount</b></a> ()</li>
+<li class=fn>QRgb <a href="#customColor"><b>customColor</b></a> ( int&nbsp;i )</li>
+<li class=fn>void <a href="#setCustomColor"><b>setCustomColor</b></a> ( int&nbsp;i, QRgb&nbsp;c )</li>
+<li class=fn>void <a href="#setStandardColor"><b>setStandardColor</b></a> ( int&nbsp;i, QRgb&nbsp;c )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QColorDialog class provides a dialog widget for specifying colors.
+
+
+
+<p> The color dialog's function is to allow users to choose colors.
+For example, you might use this in a drawing program to allow the
+user to set the brush color.
+<p> The static functions provide modal color dialogs.
+
+<p> The static <a href="#getColor">getColor</a>() function shows the dialog and allows the
+user to specify a color. The <a href="#getRgba">getRgba</a>() function does the same but
+also allows the user to specify a color with an alpha channel
+(transparency) value.
+<p> The user can store <a href="#customCount">customCount</a>() different custom colors. The
+custom colors are shared by all color dialogs, and remembered
+during the execution of the program. Use <a href="#setCustomColor">setCustomColor</a>() to set
+the custom colors, and use <a href="#customColor">customColor</a>() to get them.
+<p> <center><img src="qcolordlg-w.png"></center> <p>See also <a href="dialogs.html">Dialog Classes</a> and <a href="graphics.html">Graphics Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>QRgb <a name="customColor"></a>QColorDialog::customColor ( int&nbsp;i )<tt> [static]</tt>
+</h3>
+Returns custom color number <em>i</em> as a QRgb.
+
+<h3 class=fn>int <a name="customCount"></a>QColorDialog::customCount ()<tt> [static]</tt>
+</h3>
+Returns the number of custom colors supported by QColorDialog. All
+color dialogs share the same custom colors.
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="getColor"></a>QColorDialog::getColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;initial = white, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Pops up a modal color dialog, lets the user choose a color, and
+returns that color. The color is initially set to <em>initial</em>. The
+dialog is a child of <em>parent</em> and is called <em>name</em>. It returns
+an invalid (see <a href="qcolor.html#isValid">QColor::isValid</a>()) color if the user cancels the
+dialog. All colors allocated by the dialog will be deallocated
+before this function returns.
+
+<p>Examples: <a href="tutorial2-08.html#x2601">chart/setdataform.cpp</a> and <a href="scribble-example.html#x909">scribble/scribble.cpp</a>.
+<h3 class=fn>QRgb <a name="getRgba"></a>QColorDialog::getRgba ( QRgb&nbsp;initial, bool&nbsp;*&nbsp;ok = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Pops up a modal color dialog to allow the user to choose a color
+and an alpha channel (transparency) value. The color+alpha is
+initially set to <em>initial</em>. The dialog is a child of <em>parent</em>
+and called <em>name</em>.
+<p> If <em>ok</em> is non-null, <em>*</em><em>ok</em> is set to TRUE if the user clicked
+OK, and to FALSE if the user clicked Cancel.
+<p> If the user clicks Cancel, the <em>initial</em> value is returned.
+
+<h3 class=fn>void <a name="setCustomColor"></a>QColorDialog::setCustomColor ( int&nbsp;i, QRgb&nbsp;c )<tt> [static]</tt>
+</h3>
+Sets custom color number <em>i</em> to the QRgb value <em>c</em>.
+
+<h3 class=fn>void <a name="setStandardColor"></a>QColorDialog::setStandardColor ( int&nbsp;i, QRgb&nbsp;c )<tt> [static]</tt>
+</h3>
+Sets standard color number <em>i</em> to the QRgb value <em>c</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolordlg-w.png b/doc/html/qcolordlg-w.png
new file mode 100644
index 0000000..ddeb833
--- /dev/null
+++ b/doc/html/qcolordlg-w.png
Binary files differ
diff --git a/doc/html/qcolordrag-members.html b/doc/html/qcolordrag-members.html
new file mode 100644
index 0000000..2b7d517
--- /dev/null
+++ b/doc/html/qcolordrag-members.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:196 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QColorDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcolordrag.html">QColorDrag</a>, including inherited members.
+
+<ul>
+<li><a href="qcolordrag.html#QColorDrag">QColorDrag</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qcolordrag.html#canDecode">canDecode</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qcolordrag.html#decode">decode</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qstoreddrag.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qcolordrag.html#setColor">setColor</a>()
+<li><a href="qstoreddrag.html#setEncodedData">setEncodedData</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolordrag.html b/doc/html/qcolordrag.html
new file mode 100644
index 0000000..610eb47
--- /dev/null
+++ b/doc/html/qcolordrag.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:1695 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QColorDrag Class Reference</h1>
+
+<p>The QColorDrag class provides a drag and drop object for
+transferring colors.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qstoreddrag.html">QStoredDrag</a>.
+<p><a href="qcolordrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QColorDrag"><b>QColorDrag</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;col, QWidget&nbsp;*&nbsp;dragsource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QColorDrag-2"><b>QColorDrag</b></a> ( QWidget&nbsp;*&nbsp;dragsource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;col )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#canDecode"><b>canDecode</b></a> ( QMimeSource&nbsp;*&nbsp;e )</li>
+<li class=fn>bool <a href="#decode"><b>decode</b></a> ( QMimeSource&nbsp;*&nbsp;e, QColor&nbsp;&amp;&nbsp;col )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QColorDrag class provides a drag and drop object for
+transferring colors.
+<p>
+<p> This class provides a drag object which can be used to transfer data
+about colors for drag and drop and in the clipboard. For example, it
+is used in <a href="qcolordialog.html">QColorDialog</a>.
+<p> The color is set in the constructor but can be changed with
+<a href="#setColor">setColor</a>().
+<p> For more information about drag and drop, see the <a href="qdragobject.html">QDragObject</a> class
+and the <a href="dnd.html">drag and drop documentation</a>.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QColorDrag"></a>QColorDrag::QColorDrag ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;col, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragsource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a color drag object with the color <em>col</em>. Passes <em>dragsource</em> and <em>name</em> to the <a href="qstoreddrag.html">QStoredDrag</a> constructor.
+
+<h3 class=fn><a name="QColorDrag-2"></a>QColorDrag::QColorDrag ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragsource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a color drag object with a white color. Passes <em>dragsource</em> and <em>name</em> to the <a href="qstoreddrag.html">QStoredDrag</a> constructor.
+
+<h3 class=fn>bool <a name="canDecode"></a>QColorDrag::canDecode ( <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e )<tt> [static]</tt>
+</h3>
+Returns TRUE if the color drag object can decode the mime source
+<em>e</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="decode"></a>QColorDrag::decode ( <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;col )<tt> [static]</tt>
+</h3>
+Decodes the mime source <em>e</em> and sets the decoded values to <em>col</em>.
+
+<h3 class=fn>void <a name="setColor"></a>QColorDrag::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;col )
+</h3>
+Sets the color of the color drag to <em>col</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolorgroup-members.html b/doc/html/qcolorgroup-members.html
new file mode 100644
index 0000000..1facb0b
--- /dev/null
+++ b/doc/html/qcolorgroup-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpalette.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QColorGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcolorgroup.html">QColorGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qcolorgroup.html#QColorGroup">QColorGroup</a>()
+<li><a href="qcolorgroup.html#~QColorGroup">~QColorGroup</a>()
+<li><a href="qcolorgroup.html#background">background</a>()
+<li><a href="qcolorgroup.html#base">base</a>()
+<li><a href="qcolorgroup.html#brightText">brightText</a>()
+<li><a href="qcolorgroup.html#brush">brush</a>()
+<li><a href="qcolorgroup.html#button">button</a>()
+<li><a href="qcolorgroup.html#buttonText">buttonText</a>()
+<li><a href="qcolorgroup.html#color">color</a>()
+<li><a href="qcolorgroup.html#dark">dark</a>()
+<li><a href="qcolorgroup.html#foreground">foreground</a>()
+<li><a href="qcolorgroup.html#highlight">highlight</a>()
+<li><a href="qcolorgroup.html#highlightedText">highlightedText</a>()
+<li><a href="qcolorgroup.html#light">light</a>()
+<li><a href="qcolorgroup.html#link">link</a>()
+<li><a href="qcolorgroup.html#linkVisited">linkVisited</a>()
+<li><a href="qcolorgroup.html#mid">mid</a>()
+<li><a href="qcolorgroup.html#midlight">midlight</a>()
+<li><a href="qcolorgroup.html#operator!-eq">operator!=</a>()
+<li><a href="qcolorgroup.html#operator-eq">operator=</a>()
+<li><a href="qcolorgroup.html#operator-eq-eq">operator==</a>()
+<li><a href="qcolorgroup.html#setBrush">setBrush</a>()
+<li><a href="qcolorgroup.html#setColor">setColor</a>()
+<li><a href="qcolorgroup.html#shadow">shadow</a>()
+<li><a href="qcolorgroup.html#text">text</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcolorgroup.html b/doc/html/qcolorgroup.html
new file mode 100644
index 0000000..6bea37f
--- /dev/null
+++ b/doc/html/qcolorgroup.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpalette.cpp:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QColorGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QColorGroup Class Reference</h1>
+
+<p>The QColorGroup class contains a group of widget colors.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpalette-h.html">qpalette.h</a>&gt;</tt>
+<p><a href="qcolorgroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QColorGroup"><b>QColorGroup</b></a> ()</li>
+<li class=fn>QColorGroup ( const&nbsp;QColor&nbsp;&amp;&nbsp;foreground, const&nbsp;QColor&nbsp;&amp;&nbsp;background, const&nbsp;QColor&nbsp;&amp;&nbsp;light, const&nbsp;QColor&nbsp;&amp;&nbsp;dark, const&nbsp;QColor&nbsp;&amp;&nbsp;mid, const&nbsp;QColor&nbsp;&amp;&nbsp;text, const&nbsp;QColor&nbsp;&amp;&nbsp;base ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QColorGroup-3"><b>QColorGroup</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;foreground, const&nbsp;QBrush&nbsp;&amp;&nbsp;button, const&nbsp;QBrush&nbsp;&amp;&nbsp;light, const&nbsp;QBrush&nbsp;&amp;&nbsp;dark, const&nbsp;QBrush&nbsp;&amp;&nbsp;mid, const&nbsp;QBrush&nbsp;&amp;&nbsp;text, const&nbsp;QBrush&nbsp;&amp;&nbsp;bright_text, const&nbsp;QBrush&nbsp;&amp;&nbsp;base, const&nbsp;QBrush&nbsp;&amp;&nbsp;background )</li>
+<li class=fn><a href="#QColorGroup-4"><b>QColorGroup</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#~QColorGroup"><b>~QColorGroup</b></a> ()</li>
+<li class=fn>QColorGroup &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>enum <a href="#ColorRole-enum"><b>ColorRole</b></a> { Foreground, Button, Light, Midlight, Dark, Mid, Text, BrightText, ButtonText, Base, Background, Shadow, Highlight, HighlightedText, Link, LinkVisited, NColorRoles }</li>
+<li class=fn>const QColor &amp; <a href="#color"><b>color</b></a> ( ColorRole&nbsp;r ) const</li>
+<li class=fn>const QBrush &amp; <a href="#brush"><b>brush</b></a> ( ColorRole&nbsp;r ) const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( ColorRole&nbsp;r, const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>void <a href="#setBrush"><b>setBrush</b></a> ( ColorRole&nbsp;r, const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>const QColor &amp; <a href="#foreground"><b>foreground</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#button"><b>button</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#light"><b>light</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#dark"><b>dark</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#mid"><b>mid</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#base"><b>base</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#background"><b>background</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#midlight"><b>midlight</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#brightText"><b>brightText</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#buttonText"><b>buttonText</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#shadow"><b>shadow</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#highlight"><b>highlight</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#highlightedText"><b>highlightedText</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#link"><b>link</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#linkVisited"><b>linkVisited</b></a> () const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QColorGroup class contains a group of widget colors.
+<p>
+
+
+<p> A color group contains a group of colors used by widgets for
+drawing themselves. We recommend that widgets use color group
+roles such as "foreground" and "base" rather than literal colors
+like "red" or "turquoise". The color roles are enumerated and
+defined in the <a href="#ColorRole-enum">ColorRole</a> documentation.
+<p> The most common use of QColorGroup is like this:
+<p> <pre>
+ <a href="qpainter.html">QPainter</a> p;
+ ...
+ p.<a href="qpainter.html#setPen">setPen</a>( colorGroup().foreground() );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( ... )
+ </pre>
+
+<p> It is also possible to modify color groups or create new color
+groups from scratch.
+<p> The color group class can be created using three different
+constructors or by modifying one supplied by Qt. The default
+constructor creates an all-black color group, which can then be
+modified using set functions; there's also a constructor for
+specifying all the color group colors. And there is also a copy
+constructor.
+<p> We strongly recommend using a system-supplied color group and
+modifying that as necessary.
+<p> You modify a color group by calling the access functions
+<a href="#setColor">setColor</a>() and <a href="#setBrush">setBrush</a>(), depending on whether you want a pure
+color or a pixmap pattern.
+<p> There are also corresponding <a href="#color">color</a>() and <a href="#brush">brush</a>() getters, and a
+commonly used convenience function to get each ColorRole:
+<a href="#background">background</a>(), <a href="#foreground">foreground</a>(), <a href="#base">base</a>(), etc.
+<p> <p>See also <a href="qcolor.html">QColor</a>, <a href="qpalette.html">QPalette</a>, <a href="qwidget.html#colorGroup-prop">QWidget::colorGroup</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ColorRole-enum"></a>QColorGroup::ColorRole</h3>
+
+<p> The ColorRole enum defines the different symbolic color roles used
+in current GUIs.
+<p> The central roles are:
+<ul>
+<li><tt>QColorGroup::Background</tt> - general background color.
+<li><tt>QColorGroup::Foreground</tt> - general foreground color.
+<li><tt>QColorGroup::Base</tt> - used as background color for text entry widgets, for example;
+usually white or another light color.
+<li><tt>QColorGroup::Text</tt> - the foreground color used with <a href="#ColorRole-enum">Base</a>. Usually this
+is the same as the <a href="#ColorRole-enum">Foreground</a>, in which case it must provide good
+contrast with <a href="#ColorRole-enum">Background</a> and <a href="#ColorRole-enum">Base</a>.
+<li><tt>QColorGroup::Button</tt> - general button background color in which buttons need a
+background different from <a href="#ColorRole-enum">Background</a>, as in the Macintosh style.
+<li><tt>QColorGroup::ButtonText</tt> - a foreground color used with the <a href="#ColorRole-enum">Button</a> color.
+</ul><p> There are some color roles used mostly for 3D bevel and shadow
+effects:
+<ul>
+<li><tt>QColorGroup::Light</tt> - lighter than <a href="#ColorRole-enum">Button</a> color.
+<li><tt>QColorGroup::Midlight</tt> - between <a href="#ColorRole-enum">Button</a> and <a href="#ColorRole-enum">Light</a>.
+<li><tt>QColorGroup::Dark</tt> - darker than <a href="#ColorRole-enum">Button</a>.
+<li><tt>QColorGroup::Mid</tt> - between <a href="#ColorRole-enum">Button</a> and <a href="#ColorRole-enum">Dark</a>.
+<li><tt>QColorGroup::Shadow</tt> - a very dark color.
+By default, the shadow color is <tt>Qt::black</tt>.
+</ul><p> All of these are normally derived from <a href="#ColorRole-enum">Background</a> and used in
+ways that depend on that relationship. For example, buttons depend
+on it to make the bevels look attractive, and <a href="motif-extension.html#Motif">Motif</a> scroll bars
+depend on <a href="#ColorRole-enum">Mid</a> to be slightly different from <a href="#ColorRole-enum">Background</a>.
+<p> Selected (marked) items have two roles:
+<ul>
+<li><tt>QColorGroup::Highlight</tt> - a color to indicate a selected item or the
+current item. By default, the highlight color is <tt>Qt::darkBlue</tt>.
+<li><tt>QColorGroup::HighlightedText</tt> - a text color that contrasts with <a href="#ColorRole-enum">Highlight</a>.
+By default, the highlighted text color is <tt>Qt::white</tt>.
+</ul><p> Finally, there is a special role for text that needs to be
+drawn where <a href="#ColorRole-enum">Text</a> or <a href="#ColorRole-enum">Foreground</a> would give poor contrast,
+such as on pressed push buttons:
+<ul>
+<li><tt>QColorGroup::BrightText</tt> - a text color that is very different from <a href="#ColorRole-enum">Foreground</a> and contrasts well with e.g. <a href="#ColorRole-enum">Dark</a>.
+<li><tt>QColorGroup::Link</tt> - a text color used for unvisited hyperlinks.
+By default, the link color is <tt>Qt::blue</tt>.
+<li><tt>QColorGroup::LinkVisited</tt> - a text color used for already visited hyperlinks.
+By default, the linkvisited color is <tt>Qt::magenta</tt>.
+<li><tt>QColorGroup::NColorRoles</tt> - Internal.
+</ul><p> Note that text colors can be used for things other than just
+words; text colors are <em>usually</em> used for text, but it's quite
+common to use the text color roles for lines, icons, etc.
+<p> This image shows most of the color roles in use:
+<center><img src="palette.png" alt="Color Roles"></center>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QColorGroup"></a>QColorGroup::QColorGroup ()
+</h3>
+Constructs a color group with all colors set to black.
+
+<h3 class=fn><a name="QColorGroup-2"></a>QColorGroup::QColorGroup ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;foreground, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;background, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;light, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;dark, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;mid, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;base )
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Constructs a color group with the specified colors. The button
+color will be set to the background color.
+
+<h3 class=fn><a name="QColorGroup-3"></a>QColorGroup::QColorGroup ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;foreground, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;button, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;light, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;dark, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;mid, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;bright_text, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;base, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;background )
+</h3>
+Constructs a color group. You can pass either brushes, pixmaps or
+plain colors for <em>foreground</em>, <em>button</em>, <em>light</em>, <em>dark</em>, <em>mid</em>, <em>text</em>, <em>bright_text</em>, <em>base</em> and <em>background</em>.
+<p> <p>See also <a href="qbrush.html">QBrush</a>.
+
+<h3 class=fn><a name="QColorGroup-4"></a>QColorGroup::QColorGroup ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a color group that is an independent copy of <em>other</em>.
+
+<h3 class=fn><a name="~QColorGroup"></a>QColorGroup::~QColorGroup ()
+</h3>
+Destroys the color group.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="background"></a>QColorGroup::background () const
+</h3>
+
+<p> Returns the background color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="base"></a>QColorGroup::base () const
+</h3>
+
+<p> Returns the base color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="brightText"></a>QColorGroup::brightText () const
+</h3>
+
+<p> Returns the bright text foreground color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x273">themes/metal.cpp</a> and <a href="themes-example.html#x194">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="brush"></a>QColorGroup::brush ( <a href="qcolorgroup.html#ColorRole-enum">ColorRole</a>&nbsp;r ) const
+</h3>
+Returns the brush that has been set for color role <em>r</em>.
+<p> <p>See also <a href="#color">color</a>(), <a href="#setBrush">setBrush</a>(), and <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x274">themes/metal.cpp</a> and <a href="themes-example.html#x195">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="button"></a>QColorGroup::button () const
+</h3>
+
+<p> Returns the button color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x275">themes/metal.cpp</a> and <a href="themes-example.html#x196">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="buttonText"></a>QColorGroup::buttonText () const
+</h3>
+
+<p> Returns the button text foreground color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x276">themes/metal.cpp</a> and <a href="themes-example.html#x197">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="color"></a>QColorGroup::color ( <a href="qcolorgroup.html#ColorRole-enum">ColorRole</a>&nbsp;r ) const
+</h3>
+Returns the color that has been set for color role <em>r</em>.
+<p> <p>See also <a href="#brush">brush</a>() and <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="dark"></a>QColorGroup::dark () const
+</h3>
+
+<p> Returns the dark color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Example: <a href="themes-example.html#x198">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="foreground"></a>QColorGroup::foreground () const
+</h3>
+
+<p> Returns the foreground color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x277">themes/metal.cpp</a> and <a href="themes-example.html#x199">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="highlight"></a>QColorGroup::highlight () const
+</h3>
+
+<p> Returns the highlight color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="highlightedText"></a>QColorGroup::highlightedText () const
+</h3>
+
+<p> Returns the highlighted text color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="light"></a>QColorGroup::light () const
+</h3>
+
+<p> Returns the light color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Example: <a href="themes-example.html#x200">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="link"></a>QColorGroup::link () const
+</h3>
+
+<p> Returns the unvisited link text color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="linkVisited"></a>QColorGroup::linkVisited () const
+</h3>
+
+<p> Returns the visited link text color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="mid"></a>QColorGroup::mid () const
+</h3>
+
+<p> Returns the mid color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="themes-example.html#x278">themes/metal.cpp</a> and <a href="themes-example.html#x201">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="midlight"></a>QColorGroup::midlight () const
+</h3>
+
+<p> Returns the midlight color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QColorGroup::operator!= ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g ) const
+</h3>
+
+<p> Returns TRUE if this color group is different from <em>g</em>; otherwise
+returns FALSE.
+<p> <p>See also
+<h3 class=fn><a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="operator-eq"></a>QColorGroup::operator= ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Copies the colors of <em>other</em> to this color group.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QColorGroup::operator== ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g ) const
+</h3>
+Returns TRUE if this color group is equal to <em>g</em>; otherwise
+returns FALSE.
+<p> <p>See also
+<h3 class=fn>void <a name="setBrush"></a>QColorGroup::setBrush ( <a href="qcolorgroup.html#ColorRole-enum">ColorRole</a>&nbsp;r, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+Sets the brush used for color role <em>r</em> to <em>b</em>.
+<p> <p>See also <a href="#brush">brush</a>(), <a href="#setColor">setColor</a>(), and <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Example: <a href="themes-example.html#x202">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setColor"></a>QColorGroup::setColor ( <a href="qcolorgroup.html#ColorRole-enum">ColorRole</a>&nbsp;r, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the brush used for color role <em>r</em> to a solid color <em>c</em>.
+<p> <p>See also <a href="#brush">brush</a>() and <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Examples: <a href="listviews-example.html#x134">listviews/listviews.cpp</a>, <a href="statistics-example.html#x2779">table/statistics/statistics.cpp</a>, and <a href="themes-example.html#x279">themes/metal.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="shadow"></a>QColorGroup::shadow () const
+</h3>
+
+<p> Returns the shadow color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="text"></a>QColorGroup::text () const
+</h3>
+
+<p> Returns the text foreground color of the color group.
+<p> <p>See also <a href="#ColorRole-enum">ColorRole</a>.
+
+<p>Example: <a href="listviews-example.html#x135">listviews/listviews.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g )
+</h3>
+
+<p> Writes color group, <em>g</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcombo1-m.png b/doc/html/qcombo1-m.png
new file mode 100644
index 0000000..1ca2ea8
--- /dev/null
+++ b/doc/html/qcombo1-m.png
Binary files differ
diff --git a/doc/html/qcombo1-w.png b/doc/html/qcombo1-w.png
new file mode 100644
index 0000000..fbebfdc
--- /dev/null
+++ b/doc/html/qcombo1-w.png
Binary files differ
diff --git a/doc/html/qcombo2-m.png b/doc/html/qcombo2-m.png
new file mode 100644
index 0000000..8a67542
--- /dev/null
+++ b/doc/html/qcombo2-m.png
Binary files differ
diff --git a/doc/html/qcombo3-m.png b/doc/html/qcombo3-m.png
new file mode 100644
index 0000000..e5fe6b3
--- /dev/null
+++ b/doc/html/qcombo3-m.png
Binary files differ
diff --git a/doc/html/qcombobox-h.html b/doc/html/qcombobox-h.html
new file mode 100644
index 0000000..53fcc0e
--- /dev/null
+++ b/doc/html/qcombobox-h.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcombobox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcombobox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcombobox.h</h1>
+
+<p>This is the verbatim text of the qcombobox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qcombobox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QComboBox class
+**
+** Created : 950426
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCOMBOBOX_H
+#define QCOMBOBOX_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_COMBOBOX
+
+
+class QStrList;
+class QStringList;
+class QLineEdit;
+class QValidator;
+class QListBox;
+class QComboBoxData;
+class QWheelEvent;
+
+class Q_EXPORT QComboBox : public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( Policy )
+ Q_PROPERTY( bool editable READ editable WRITE setEditable )
+ Q_PROPERTY( int count READ count )
+ Q_PROPERTY( QString currentText READ currentText WRITE setCurrentText DESIGNABLE false )
+ Q_PROPERTY( int currentItem READ currentItem WRITE setCurrentItem )
+ Q_PROPERTY( bool autoResize READ autoResize WRITE setAutoResize DESIGNABLE false )
+ Q_PROPERTY( int sizeLimit READ sizeLimit WRITE setSizeLimit )
+ Q_PROPERTY( int maxCount READ maxCount WRITE setMaxCount )
+ Q_PROPERTY( Policy insertionPolicy READ insertionPolicy WRITE setInsertionPolicy )
+ Q_PROPERTY( bool autoCompletion READ autoCompletion WRITE setAutoCompletion )
+ Q_PROPERTY( bool duplicatesEnabled READ duplicatesEnabled WRITE setDuplicatesEnabled )
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+
+public:
+ QComboBox( QWidget* parent=0, const char* name=0 );
+ QComboBox( bool rw, QWidget* parent=0, const char* name=0 );
+ ~QComboBox();
+
+ int count() const;
+
+ void insertStringList( const QStringList &amp;, int index=-1 );
+ void insertStrList( const QStrList &amp;, int index=-1 );
+ void insertStrList( const QStrList *, int index=-1 );
+ void insertStrList( const char **, int numStrings=-1, int index=-1);
+
+ void insertItem( const QString &amp;text, int index=-1 );
+ void insertItem( const QPixmap &amp;pixmap, int index=-1 );
+ void insertItem( const QPixmap &amp;pixmap, const QString &amp;text, int index=-1 );
+
+ void removeItem( int index );
+
+ int currentItem() const;
+ virtual void setCurrentItem( int index );
+
+ QString currentText() const;
+ virtual void setCurrentText( const QString&amp; );
+
+ QString text( int index ) const;
+ const QPixmap *pixmap( int index ) const;
+
+ void changeItem( const QString &amp;text, int index );
+ void changeItem( const QPixmap &amp;pixmap, int index );
+ void changeItem( const QPixmap &amp;pixmap, const QString &amp;text, int index );
+
+ bool autoResize() const;
+ virtual void setAutoResize( bool );
+ QSize sizeHint() const;
+
+ void setPalette( const QPalette &amp; );
+ void setFont( const QFont &amp; );
+ void setEnabled( bool );
+
+ virtual void setSizeLimit( int );
+ int sizeLimit() const;
+
+ virtual void setMaxCount( int );
+ int maxCount() const;
+
+ enum Policy { NoInsertion, AtTop, AtCurrent, AtBottom,
+ AfterCurrent, BeforeCurrent };
+
+ virtual void setInsertionPolicy( Policy policy );
+ Policy insertionPolicy() const;
+
+ virtual void setValidator( const QValidator * );
+ const QValidator * validator() const;
+
+ virtual void setListBox( QListBox * );
+ QListBox * listBox() const;
+
+ virtual void setLineEdit( QLineEdit *edit );
+ QLineEdit* lineEdit() const;
+
+ virtual void setAutoCompletion( bool );
+ bool autoCompletion() const;
+
+ bool eventFilter( QObject *object, QEvent *event );
+
+ void setDuplicatesEnabled( bool enable );
+ bool duplicatesEnabled() const;
+
+ bool editable() const;
+ void setEditable( bool );
+
+ virtual void popup();
+
+ void hide();
+
+public slots:
+ void clear();
+ void clearValidator();
+ void clearEdit();
+ virtual void setEditText( const QString &amp;);
+
+signals:
+ void activated( int index );
+ void highlighted( int index );
+ void activated( const QString &amp;);
+ void highlighted( const QString &amp;);
+ void textChanged( const QString &amp;);
+
+private slots:
+ void internalActivate( int );
+ void internalHighlight( int );
+ void internalClickTimeout();
+ void returnPressed();
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void resizeEvent( QResizeEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void keyPressEvent( QKeyEvent *e );
+ void focusInEvent( QFocusEvent *e );
+ void focusOutEvent( QFocusEvent *e );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent *e );
+#endif
+ void styleChange( QStyle&amp; );
+
+ void updateMask();
+
+private:
+ void setUpListBox();
+ void setUpLineEdit();
+ void popDownListBox();
+ void reIndex();
+ void currentChanged();
+ int completionIndex( const QString &amp;, int ) const;
+
+ QComboBoxData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QComboBox( const QComboBox &amp; );
+ QComboBox &amp;operator=( const QComboBox &amp; );
+#endif
+};
+
+
+#endif // QT_NO_COMBOBOX
+
+#endif // QCOMBOBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcombobox-members.html b/doc/html/qcombobox-members.html
new file mode 100644
index 0000000..25033f7
--- /dev/null
+++ b/doc/html/qcombobox-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcombobox.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QComboBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QComboBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcombobox.html">QComboBox</a>, including inherited members.
+
+<ul>
+<li><a href="qcombobox.html#QComboBox">QComboBox</a>()
+<li><a href="qcombobox.html#~QComboBox">~QComboBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qcombobox.html#activated">activated</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qcombobox.html#autoCompletion">autoCompletion</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qcombobox.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qcombobox.html#changeItem">changeItem</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qcombobox.html#clear">clear</a>()
+<li><a href="qcombobox.html#clearEdit">clearEdit</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qcombobox.html#clearValidator">clearValidator</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qcombobox.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qcombobox.html#currentItem">currentItem</a>()
+<li><a href="qcombobox.html#currentText">currentText</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qcombobox.html#duplicatesEnabled">duplicatesEnabled</a>()
+<li><a href="qcombobox.html#editable">editable</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qcombobox.html#highlighted">highlighted</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qcombobox.html#insertItem">insertItem</a>()
+<li><a href="qcombobox.html#insertStrList">insertStrList</a>()
+<li><a href="qcombobox.html#insertStringList">insertStringList</a>()
+<li><a href="qcombobox.html#insertionPolicy">insertionPolicy</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qcombobox.html#lineEdit">lineEdit</a>()
+<li><a href="qcombobox.html#listBox">listBox</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qcombobox.html#maxCount">maxCount</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qcombobox.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qcombobox.html#popup">popup</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qcombobox.html#removeItem">removeItem</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qcombobox.html#setAutoCompletion">setAutoCompletion</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qcombobox.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qcombobox.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qcombobox.html#setCurrentText">setCurrentText</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qcombobox.html#setDuplicatesEnabled">setDuplicatesEnabled</a>()
+<li><a href="qcombobox.html#setEditText">setEditText</a>()
+<li><a href="qcombobox.html#setEditable">setEditable</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qcombobox.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qcombobox.html#setInsertionPolicy">setInsertionPolicy</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qcombobox.html#setLineEdit">setLineEdit</a>()
+<li><a href="qcombobox.html#setListBox">setListBox</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qcombobox.html#setMaxCount">setMaxCount</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qcombobox.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qcombobox.html#setSizeLimit">setSizeLimit</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qcombobox.html#setValidator">setValidator</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qcombobox.html#sizeLimit">sizeLimit</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qcombobox.html#text">text</a>()
+<li><a href="qcombobox.html#textChanged">textChanged</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qcombobox.html#validator">validator</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcombobox.html b/doc/html/qcombobox.html
new file mode 100644
index 0000000..3698bc0
--- /dev/null
+++ b/doc/html/qcombobox.html
@@ -0,0 +1,602 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qcombobox.cpp:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QComboBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QComboBox Class Reference</h1>
+
+<p>The QComboBox widget is a combined button and popup list.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qcombobox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QComboBox"><b>QComboBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QComboBox-2"><b>QComboBox</b></a> ( bool&nbsp;rw, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QComboBox"><b>~QComboBox</b></a> ()</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>void <a href="#insertStringList"><b>insertStringList</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList-2"><b>insertStrList</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList-3"><b>insertStrList</b></a> ( const&nbsp;QStrList&nbsp;*&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList"><b>insertStrList</b></a> ( const&nbsp;char&nbsp;**&nbsp;strings, int&nbsp;numStrings = -1, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;t, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem-2"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem-3"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>int <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>QString <a href="#currentText"><b>currentText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCurrentText"><b>setCurrentText</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>void <a href="#changeItem"><b>changeItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;t, int&nbsp;index )</li>
+<li class=fn>void <a href="#changeItem-2"><b>changeItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;im, int&nbsp;index )</li>
+<li class=fn>void <a href="#changeItem-3"><b>changeItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;im, const&nbsp;QString&nbsp;&amp;&nbsp;t, int&nbsp;index )</li>
+<li class=fn>bool autoResize () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setAutoResize ( bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#setPalette"><b>setPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;palette )</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>virtual void <a href="#setSizeLimit"><b>setSizeLimit</b></a> ( int )</li>
+<li class=fn>int <a href="#sizeLimit"><b>sizeLimit</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMaxCount"><b>setMaxCount</b></a> ( int )</li>
+<li class=fn>int <a href="#maxCount"><b>maxCount</b></a> () const</li>
+<li class=fn>enum <a href="#Policy-enum"><b>Policy</b></a> { NoInsertion, AtTop, AtCurrent, AtBottom, AfterCurrent, BeforeCurrent }</li>
+<li class=fn>virtual void <a href="#setInsertionPolicy"><b>setInsertionPolicy</b></a> ( Policy&nbsp;policy )</li>
+<li class=fn>Policy <a href="#insertionPolicy"><b>insertionPolicy</b></a> () const</li>
+<li class=fn>virtual void <a href="#setValidator"><b>setValidator</b></a> ( const&nbsp;QValidator&nbsp;*&nbsp;v )</li>
+<li class=fn>const QValidator * <a href="#validator"><b>validator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setListBox"><b>setListBox</b></a> ( QListBox&nbsp;*&nbsp;newListBox )</li>
+<li class=fn>QListBox * <a href="#listBox"><b>listBox</b></a> () const</li>
+<li class=fn>virtual void <a href="#setLineEdit"><b>setLineEdit</b></a> ( QLineEdit&nbsp;*&nbsp;edit )</li>
+<li class=fn>QLineEdit * <a href="#lineEdit"><b>lineEdit</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoCompletion"><b>setAutoCompletion</b></a> ( bool )</li>
+<li class=fn>bool <a href="#autoCompletion"><b>autoCompletion</b></a> () const</li>
+<li class=fn>void <a href="#setDuplicatesEnabled"><b>setDuplicatesEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#duplicatesEnabled"><b>duplicatesEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#editable"><b>editable</b></a> () const</li>
+<li class=fn>void <a href="#setEditable"><b>setEditable</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#popup"><b>popup</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#clearValidator"><b>clearValidator</b></a> ()</li>
+<li class=fn>void <a href="#clearEdit"><b>clearEdit</b></a> ()</li>
+<li class=fn>virtual void <a href="#setEditText"><b>setEditText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;newText )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#highlighted"><b>highlighted</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#activated-2"><b>activated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;string )</li>
+<li class=fn>void <a href="#highlighted-2"><b>highlighted</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;string )</li>
+<li class=fn>void <a href="#textChanged"><b>textChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;string )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoCompletion-prop"><b>autoCompletion</b></a>&nbsp;- whether auto-completion is enabled</li>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the combobox is automatically masked &nbsp;<em>(read only)</em></li>
+<li class=fn>bool autoResize&nbsp;- whether auto resize is enabled &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of items in the combobox &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#currentItem-prop"><b>currentItem</b></a>&nbsp;- the index of the current item in the combobox</li>
+<li class=fn>QString <a href="#currentText-prop"><b>currentText</b></a>&nbsp;- the text of the combobox's current item</li>
+<li class=fn>bool <a href="#duplicatesEnabled-prop"><b>duplicatesEnabled</b></a>&nbsp;- whether duplicates are allowed</li>
+<li class=fn>bool <a href="#editable-prop"><b>editable</b></a>&nbsp;- whether the combobox is editable</li>
+<li class=fn>Policy <a href="#insertionPolicy-prop"><b>insertionPolicy</b></a>&nbsp;- the position of the items inserted by the user</li>
+<li class=fn>int <a href="#maxCount-prop"><b>maxCount</b></a>&nbsp;- the maximum number of items allowed in the combobox</li>
+<li class=fn>int <a href="#sizeLimit-prop"><b>sizeLimit</b></a>&nbsp;- the maximum on-screen size of the combobox</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QComboBox widget is a combined button and popup list.
+<p>
+
+<p> A combobox is a selection widget which displays the current item
+and can pop up a list of items. A combobox may be editable in
+which case the user can enter arbitrary strings.
+<p> Comboboxes provide a means of showing the user's current choice
+out of a list of options in a way that takes up the minimum amount
+of screen space.
+<p> QComboBox supports three different display styles: Aqua/Motif 1.x,
+<a href="motif-extension.html#Motif">Motif</a> 2.0 and Windows. In Motif 1.x, a combobox was called
+XmOptionMenu. In Motif 2.0, OSF introduced an improved combobox
+and named that XmComboBox. QComboBox provides both.
+<p> QComboBox provides two different constructors. The simplest
+constructor creates an "old-style" combobox in Motif (or Aqua)
+style:
+<pre>
+ QComboBox *c = new QComboBox( this, "read-only combobox" );
+ </pre>
+
+<p> The other constructor creates a new-style combobox in Motif style,
+and can create both read-only and editable comboboxes:
+<pre>
+ QComboBox *c1 = new QComboBox( FALSE, this, "read-only combobox" );
+ QComboBox *c2 = new QComboBox( TRUE, this, "editable combobox" );
+ </pre>
+
+<p> New-style comboboxes use a list box in both Motif and Windows
+styles, and both the content size and the on-screen size of the
+list box can be limited with <a href="#sizeLimit">sizeLimit</a>() and <a href="#setMaxCount">setMaxCount</a>()
+respectively. Old-style comboboxes use a popup in Aqua and Motif
+style, and that popup will happily grow larger than the desktop if
+you put enough data into it.
+<p> The two constructors create identical-looking comboboxes in
+Windows style.
+<p> Comboboxes can contain pixmaps as well as strings; the
+<a href="#insertItem">insertItem</a>() and <a href="#changeItem">changeItem</a>() functions are suitably overloaded.
+For editable comboboxes, the function <a href="#clearEdit">clearEdit</a>() is provided,
+to clear the displayed string without changing the combobox's
+contents.
+<p> A combobox emits two signals, <a href="#activated">activated</a>() and <a href="#highlighted">highlighted</a>(), when
+a new item has been activated (selected) or highlighted (made
+current). Both signals exist in two versions, one with a <a href="qstring.html">QString</a> argument and one with an <tt>int</tt> argument. If the user
+highlights or activates a pixmap, only the <tt>int</tt> signals are
+emitted. Whenever the text of an editable combobox is changed the
+<a href="#textChanged">textChanged</a>() signal is emitted.
+<p> When the user enters a new string in an editable combobox, the
+widget may or may not insert it, and it can insert it in several
+locations. The default policy is is <a href="#Policy-enum">AtBottom</a> but you can change
+this using <a href="#setInsertionPolicy">setInsertionPolicy</a>().
+<p> It is possible to constrain the input to an editable combobox
+using <a href="qvalidator.html">QValidator</a>; see <a href="#setValidator">setValidator</a>(). By default, any input is
+accepted.
+<p> If the combobox is not editable then it has a default
+<a href="qwidget.html#focusPolicy">focusPolicy</a>() of <a href="qwidget.html#FocusPolicy-enum">TabFocus</a>, i.e. it will not grab focus if
+clicked. This differs from both Windows and Motif. If the combobox
+is editable then it has a default focusPolicy() of <a href="qwidget.html#FocusPolicy-enum">StrongFocus</a>,
+i.e. it will grab focus if clicked.
+<p> A combobox can be populated using the insert functions,
+<a href="#insertStringList">insertStringList</a>() and <a href="#insertItem">insertItem</a>() for example. Items can be
+changed with <a href="#changeItem">changeItem</a>(). An item can be removed with
+<a href="#removeItem">removeItem</a>() and all items can be removed with <a href="#clear">clear</a>(). The text
+of the current item is returned by <a href="#currentText">currentText</a>(), and the text of
+a numbered item is returned with <a href="#text">text</a>(). The current item can be
+set with <a href="#setCurrentItem">setCurrentItem</a>() or <a href="#setCurrentText">setCurrentText</a>(). The number of items
+in the combobox is returned by <a href="#count">count</a>(); the maximum number of
+items can be set with <a href="#setMaxCount">setMaxCount</a>(). You can allow editing using
+<a href="#setEditable">setEditable</a>(). For editable comboboxes you can set auto-completion
+using <a href="#setAutoCompletion">setAutoCompletion</a>() and whether or not the user can add
+duplicates is set with <a href="#setDuplicatesEnabled">setDuplicatesEnabled</a>().
+<p> <img src="qcombo1-m.png">(Motif 1, read-only)<br clear=all>
+<img src="qcombo2-m.png">(Motif 2, editable)<br clear=all>
+<img src="qcombo3-m.png">(Motif 2, read-only)<br clear=all>
+<img src="qcombo1-w.png">(Windows style)
+<p> Depending on the style, QComboBox will use a <a href="qlistbox.html">QListBox</a> or a
+<a href="qpopupmenu.html">QPopupMenu</a> to display the list of items. See <a href="#setListBox">setListBox</a>() for
+more information.
+<p> <p>See also <a href="qlineedit.html">QLineEdit</a>, <a href="qlistbox.html">QListBox</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="qradiobutton.html">QRadioButton</a>, <a href="qbuttongroup.html">QButtonGroup</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Combo Box</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Drop-Down List Box</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Policy-enum"></a>QComboBox::Policy</h3>
+
+<p> This enum specifies what the QComboBox should do when a new string
+is entered by the user.
+<ul>
+<li><tt>QComboBox::NoInsertion</tt> - the string will not be inserted into the
+combobox.
+<li><tt>QComboBox::AtTop</tt> - insert the string as the first item in the combobox.
+<li><tt>QComboBox::AtCurrent</tt> - replace the previously selected item with the
+string the user has entered.
+<li><tt>QComboBox::AtBottom</tt> - insert the string as the last item in the
+combobox.
+<li><tt>QComboBox::AfterCurrent</tt> - insert the string after the previously
+selected item.
+<li><tt>QComboBox::BeforeCurrent</tt> - insert the string before the previously
+selected item.
+</ul><p> <a href="#activated">activated</a>() is always emitted when the string is entered.
+<p> If inserting the new string would cause the combobox to breach its
+content size limit, the item at the other end of the list is
+deleted. The definition of "other end" is
+implementation-dependent.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QComboBox"></a>QComboBox::QComboBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a combobox widget with parent <em>parent</em> called <em>name</em>.
+<p> This constructor creates a popup list if the program uses <a href="motif-extension.html#Motif">Motif</a>
+(or Aqua) look and feel; this is compatible with Motif 1.x and
+Aqua.
+<p> Note: If you use this constructor to create your QComboBox, then
+the <a href="#pixmap">pixmap</a>() function will always return 0. To workaround this,
+use the other constructor.
+<p>
+<h3 class=fn><a name="QComboBox-2"></a>QComboBox::QComboBox ( bool&nbsp;rw, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a combobox with a maximum size and either <a href="motif-extension.html#Motif">Motif</a> 2.0 or
+Windows look and feel.
+<p> The input field can be edited if <em>rw</em> is TRUE, otherwise the user
+may only choose one of the items in the combobox.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QComboBox"></a>QComboBox::~QComboBox ()
+</h3>
+Destroys the combobox.
+
+<h3 class=fn>void <a name="activated"></a>QComboBox::activated ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a new item has been activated
+(selected). The <em>index</em> is the position of the item in the
+combobox.
+<p> This signal is not emitted if the item is changed
+programmatically, e.g. using <a href="#setCurrentItem">setCurrentItem</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x877">fileiconview/mainwindow.cpp</a>, <a href="helpviewer-example.html#x981">helpviewer/helpwindow.cpp</a>, <a href="lineedits-example.html#x170">lineedits/lineedits.cpp</a>, <a href="listboxcombo-example.html#x1398">listboxcombo/listboxcombo.cpp</a>, and <a href="qmag-example.html#x1772">qmag/qmag.cpp</a>.
+<h3 class=fn>void <a name="activated-2"></a>QComboBox::activated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;string )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when a new item has been activated
+(selected). <em>string</em> is the selected string.
+<p> You can also use the <a href="#activated">activated</a>(int) signal, but be aware that its
+argument is meaningful only for selected strings, not for user
+entered strings.
+
+<h3 class=fn>bool <a name="autoCompletion"></a>QComboBox::autoCompletion () const
+</h3><p>Returns TRUE if auto-completion is enabled; otherwise returns FALSE.
+See the <a href="qcombobox.html#autoCompletion-prop">"autoCompletion"</a> property for details.
+<h3 class=fn>bool <a name="autoResize"></a>QComboBox::autoResize () const
+</h3><p>Returns TRUE if auto resize is enabled; otherwise returns FALSE.
+See the <a href="qcombobox.html#autoResize-prop">"autoResize"</a> property for details.
+<h3 class=fn>void <a name="changeItem"></a>QComboBox::changeItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t, int&nbsp;index )
+</h3>
+Replaces the item at position <em>index</em> with the text <em>t</em>.
+
+<h3 class=fn>void <a name="changeItem-2"></a>QComboBox::changeItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;im, int&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces the item at position <em>index</em> with the pixmap <em>im</em>,
+unless the combobox is editable.
+<p> <p>See also <a href="#insertItem">insertItem</a>().
+
+<h3 class=fn>void <a name="changeItem-3"></a>QComboBox::changeItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;im, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t, int&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces the item at position <em>index</em> with the pixmap <em>im</em> and
+the text <em>t</em>.
+<p> <p>See also <a href="#insertItem">insertItem</a>().
+
+<h3 class=fn>void <a name="clear"></a>QComboBox::clear ()<tt> [slot]</tt>
+</h3>
+Removes all combobox items.
+
+<h3 class=fn>void <a name="clearEdit"></a>QComboBox::clearEdit ()<tt> [slot]</tt>
+</h3>
+Clears the line edit without changing the combobox's contents.
+Does nothing if the combobox isn't editable.
+<p> This is particularly useful when using a combobox as a line edit
+with history. For example you can connect the combobox's
+<a href="#activated">activated</a>() signal to <a href="#clearEdit">clearEdit</a>() in order to present the user
+with a new, empty line as soon as Enter is pressed.
+<p> <p>See also <a href="#setEditText">setEditText</a>().
+
+<h3 class=fn>void <a name="clearValidator"></a>QComboBox::clearValidator ()<tt> [slot]</tt>
+</h3>
+This slot is equivalent to <a href="#setValidator">setValidator</a>( 0 ).
+
+<h3 class=fn>int <a name="count"></a>QComboBox::count () const
+</h3><p>Returns the number of items in the combobox.
+See the <a href="qcombobox.html#count-prop">"count"</a> property for details.
+<h3 class=fn>int <a name="currentItem"></a>QComboBox::currentItem () const
+</h3><p>Returns the index of the current item in the combobox.
+See the <a href="qcombobox.html#currentItem-prop">"currentItem"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentText"></a>QComboBox::currentText () const
+</h3><p>Returns the text of the combobox's current item.
+See the <a href="qcombobox.html#currentText-prop">"currentText"</a> property for details.
+<h3 class=fn>bool <a name="duplicatesEnabled"></a>QComboBox::duplicatesEnabled () const
+</h3><p>Returns TRUE if duplicates are allowed; otherwise returns FALSE.
+See the <a href="qcombobox.html#duplicatesEnabled-prop">"duplicatesEnabled"</a> property for details.
+<h3 class=fn>bool <a name="editable"></a>QComboBox::editable () const
+</h3><p>Returns TRUE if the combobox is editable; otherwise returns FALSE.
+See the <a href="qcombobox.html#editable-prop">"editable"</a> property for details.
+<h3 class=fn>void <a name="highlighted"></a>QComboBox::highlighted ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a new item has been set to be the
+current item. The <em>index</em> is the position of the item in the
+combobox.
+<p> This signal is not emitted if the item is changed
+programmatically, e.g. using <a href="#setCurrentItem">setCurrentItem</a>().
+
+<h3 class=fn>void <a name="highlighted-2"></a>QComboBox::highlighted ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;string )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when a new item has been set to be the
+current item. <em>string</em> is the item's text.
+<p> You can also use the <a href="#highlighted">highlighted</a>(int) signal.
+
+<h3 class=fn>void <a name="insertItem"></a>QComboBox::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;t, int&nbsp;index = -1 )
+</h3>
+Inserts a text item with text <em>t</em>, at position <em>index</em>. The item
+will be appended if <em>index</em> is negative.
+
+<p>Examples: <a href="tutorial2-09.html#x2633">chart/optionsform.cpp</a>, <a href="fileiconview-example.html#x879">fileiconview/mainwindow.cpp</a>, <a href="helpviewer-example.html#x983">helpviewer/helpwindow.cpp</a>, <a href="lineedits-example.html#x171">lineedits/lineedits.cpp</a>, <a href="listboxcombo-example.html#x1399">listboxcombo/listboxcombo.cpp</a>, <a href="regexptester-example.html#x2479">regexptester/regexptester.cpp</a>, and <a href="tictac-example.html#x23">tictac/tictac.cpp</a>.
+<h3 class=fn>void <a name="insertItem-2"></a>QComboBox::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a <em>pixmap</em> item at position <em>index</em>. The item will be
+appended if <em>index</em> is negative.
+
+<h3 class=fn>void <a name="insertItem-3"></a>QComboBox::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a <em>pixmap</em> item with additional text <em>text</em> at position
+<em>index</em>. The item will be appended if <em>index</em> is negative.
+
+<h3 class=fn>void <a name="insertStrList"></a>QComboBox::insertStrList ( const&nbsp;char&nbsp;**&nbsp;strings, int&nbsp;numStrings = -1, int&nbsp;index = -1 )
+</h3>
+Inserts the array of char * <em>strings</em> at position <em>index</em> in the
+combobox.
+<p> The <em>numStrings</em> argument is the number of strings. If <em>numStrings</em> is -1 (default), the <em>strings</em> array must be
+terminated with 0.
+<p> Example:
+<pre>
+ static const char* items[] = { "red", "green", "blue", 0 };
+ combo-&gt;insertStrList( items );
+ </pre>
+
+<p> <p>See also <a href="#insertStringList">insertStringList</a>().
+
+<p>Example: <a href="qmag-example.html#x1773">qmag/qmag.cpp</a>.
+<h3 class=fn>void <a name="insertStrList-2"></a>QComboBox::insertStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the <em>list</em> of strings at position <em>index</em> in the
+combobox.
+<p> This is only for compatibility since it does not support Unicode
+strings. See <a href="#insertStringList">insertStringList</a>().
+
+<h3 class=fn>void <a name="insertStrList-3"></a>QComboBox::insertStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;*&nbsp;list, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the <em>list</em> of strings at position <em>index</em> in the
+combobox.
+<p> This is only for compatibility since it does not support Unicode
+strings. See <a href="#insertStringList">insertStringList</a>().
+
+<h3 class=fn>void <a name="insertStringList"></a>QComboBox::insertStringList ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )
+</h3>
+Inserts the <em>list</em> of strings at position <em>index</em> in the
+combobox.
+
+<h3 class=fn><a href="qcombobox.html#Policy-enum">Policy</a> <a name="insertionPolicy"></a>QComboBox::insertionPolicy () const
+</h3><p>Returns the position of the items inserted by the user.
+See the <a href="qcombobox.html#insertionPolicy-prop">"insertionPolicy"</a> property for details.
+<h3 class=fn><a href="qlineedit.html">QLineEdit</a>&nbsp;* <a name="lineEdit"></a>QComboBox::lineEdit () const
+</h3>
+Returns the line edit, or 0 if there is no line edit.
+<p> Only editable listboxes have a line editor.
+
+<h3 class=fn><a href="qlistbox.html">QListBox</a>&nbsp;* <a name="listBox"></a>QComboBox::listBox () const
+</h3>
+Returns the current list box, or 0 if there is no list box.
+(QComboBox can use <a href="qpopupmenu.html">QPopupMenu</a> instead of <a href="qlistbox.html">QListBox</a>.) Provided to
+match <a href="#setListBox">setListBox</a>().
+<p> <p>See also <a href="#setListBox">setListBox</a>().
+
+<p>Example: <a href="listboxcombo-example.html#x1400">listboxcombo/listboxcombo.cpp</a>.
+<h3 class=fn>int <a name="maxCount"></a>QComboBox::maxCount () const
+</h3><p>Returns the maximum number of items allowed in the combobox.
+See the <a href="qcombobox.html#maxCount-prop">"maxCount"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QComboBox::pixmap ( int&nbsp;index ) const
+</h3>
+Returns the pixmap item at position <em>index</em>, or 0 if the item is
+not a pixmap.
+
+<h3 class=fn>void <a name="popup"></a>QComboBox::popup ()<tt> [virtual]</tt>
+</h3>
+Pops up the combobox popup list.
+<p> If the list is empty, no items appear.
+
+<h3 class=fn>void <a name="removeItem"></a>QComboBox::removeItem ( int&nbsp;index )
+</h3>
+Removes the item at position <em>index</em>.
+
+<h3 class=fn>void <a name="setAutoCompletion"></a>QComboBox::setAutoCompletion ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether auto-completion is enabled.
+See the <a href="qcombobox.html#autoCompletion-prop">"autoCompletion"</a> property for details.
+<h3 class=fn>void <a name="setAutoResize"></a>QComboBox::setAutoResize ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether auto resize is enabled.
+See the <a href="qcombobox.html#autoResize-prop">"autoResize"</a> property for details.
+<h3 class=fn>void <a name="setCurrentItem"></a>QComboBox::setCurrentItem ( int&nbsp;index )<tt> [virtual]</tt>
+</h3><p>Sets the index of the current item in the combobox to <em>index</em>.
+See the <a href="qcombobox.html#currentItem-prop">"currentItem"</a> property for details.
+<h3 class=fn>void <a name="setCurrentText"></a>QComboBox::setCurrentText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the text of the combobox's current item.
+See the <a href="qcombobox.html#currentText-prop">"currentText"</a> property for details.
+<h3 class=fn>void <a name="setDuplicatesEnabled"></a>QComboBox::setDuplicatesEnabled ( bool&nbsp;enable )
+</h3><p>Sets whether duplicates are allowed to <em>enable</em>.
+See the <a href="qcombobox.html#duplicatesEnabled-prop">"duplicatesEnabled"</a> property for details.
+<h3 class=fn>void <a name="setEditText"></a>QComboBox::setEditText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newText )<tt> [virtual slot]</tt>
+</h3>
+Sets the text in the line edit to <em>newText</em> without changing the
+combobox's contents. Does nothing if the combobox isn't editable.
+<p> This is useful e.g. for providing a good starting point for the
+user's editing and entering the change in the combobox only when
+the user presses Enter.
+<p> <p>See also <a href="#clearEdit">clearEdit</a>() and <a href="#insertItem">insertItem</a>().
+
+<h3 class=fn>void <a name="setEditable"></a>QComboBox::setEditable ( bool )
+</h3><p>Sets whether the combobox is editable.
+See the <a href="qcombobox.html#editable-prop">"editable"</a> property for details.
+<h3 class=fn>void <a name="setFont"></a>QComboBox::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )<tt> [virtual]</tt>
+</h3>
+Sets the font for both the combobox button and the combobox popup
+list to <em>font</em>.
+
+<p>Reimplemented from <a href="qwidget.html#setFont">QWidget</a>.
+<h3 class=fn>void <a name="setInsertionPolicy"></a>QComboBox::setInsertionPolicy ( <a href="qcombobox.html#Policy-enum">Policy</a>&nbsp;policy )<tt> [virtual]</tt>
+</h3><p>Sets the position of the items inserted by the user to <em>policy</em>.
+See the <a href="qcombobox.html#insertionPolicy-prop">"insertionPolicy"</a> property for details.
+<h3 class=fn>void <a name="setLineEdit"></a>QComboBox::setLineEdit ( <a href="qlineedit.html">QLineEdit</a>&nbsp;*&nbsp;edit )<tt> [virtual]</tt>
+</h3>
+Sets the line edit to use <em>edit</em> instead of the current line edit.
+
+<h3 class=fn>void <a name="setListBox"></a>QComboBox::setListBox ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;newListBox )<tt> [virtual]</tt>
+</h3>
+Sets the combobox to use <em>newListBox</em> instead of the current list
+box or popup. As a side effect, it clears the combobox of its
+current contents.
+<p> <b>Warning:</b> QComboBox assumes that newListBox->text(n) returns
+non-null for 0 &lt;= n &lt; newListbox->count(). This assumption is
+necessary because of the line edit in QComboBox.
+
+<h3 class=fn>void <a name="setMaxCount"></a>QComboBox::setMaxCount ( int )<tt> [virtual]</tt>
+</h3><p>Sets the maximum number of items allowed in the combobox.
+See the <a href="qcombobox.html#maxCount-prop">"maxCount"</a> property for details.
+<h3 class=fn>void <a name="setPalette"></a>QComboBox::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;palette )<tt> [virtual]</tt>
+</h3>
+Sets the palette for both the combobox button and the combobox
+popup list to <em>palette</em>.
+
+<p>Reimplemented from <a href="qwidget.html#setPalette">QWidget</a>.
+<h3 class=fn>void <a name="setSizeLimit"></a>QComboBox::setSizeLimit ( int )<tt> [virtual]</tt>
+</h3><p>Sets the maximum on-screen size of the combobox.
+See the <a href="qcombobox.html#sizeLimit-prop">"sizeLimit"</a> property for details.
+<h3 class=fn>void <a name="setValidator"></a>QComboBox::setValidator ( const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;*&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Applies the validator <em>v</em> to the combobox so that only text which
+is valid according to <em>v</em> is accepted.
+<p> This function does nothing if the combobox is not editable.
+<p> <p>See also <a href="#validator">validator</a>(), <a href="#clearValidator">clearValidator</a>(), and <a href="qvalidator.html">QValidator</a>.
+
+<h3 class=fn>int <a name="sizeLimit"></a>QComboBox::sizeLimit () const
+</h3><p>Returns the maximum on-screen size of the combobox.
+See the <a href="qcombobox.html#sizeLimit-prop">"sizeLimit"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QComboBox::text ( int&nbsp;index ) const
+</h3>
+Returns the text item at position <em>index</em>, or <a href="qstring.html#QString-null">QString::null</a> if
+the item is not a string.
+<p> <p>See also <a href="#currentText-prop">currentText</a>.
+
+<p>Examples: <a href="fileiconview-example.html#x882">fileiconview/mainwindow.cpp</a> and <a href="helpviewer-example.html#x985">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="textChanged"></a>QComboBox::textChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;string )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is used for editable comboboxes. It is emitted
+whenever the contents of the text entry field changes. <em>string</em>
+contains the new text.
+
+<h3 class=fn>const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;* <a name="validator"></a>QComboBox::validator () const
+</h3>
+Returns the validator which constrains editing for this combobox
+if there is one; otherwise returns 0.
+<p> <p>See also <a href="#setValidator">setValidator</a>(), <a href="#clearValidator">clearValidator</a>(), and <a href="qvalidator.html">QValidator</a>.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoCompletion-prop"></a>autoCompletion</h3>
+<p>This property holds whether auto-completion is enabled.
+<p>This property can only be set for editable comboboxes, for
+non-editable comboboxes it has no effect. It is FALSE by default.
+
+<p>Set this property's value with <a href="#setAutoCompletion">setAutoCompletion</a>() and get this property's value with <a href="#autoCompletion">autoCompletion</a>().
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the combobox is automatically masked.
+<p><p><p>See also <a href="qwidget.html#autoMask-prop">QWidget::autoMask</a>.
+
+<h3 class=fn>bool <a name="autoResize-prop"></a>autoResize</h3> <p>This property holds whether auto resize is enabled.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If this property is set to TRUE then the combobox will resize itself
+whenever its contents change. The default is FALSE.
+
+<p>Set this property's value with <a href="#setAutoResize">setAutoResize</a>() and get this property's value with <a href="#autoResize">autoResize</a>().
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of items in the combobox.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>int <a name="currentItem-prop"></a>currentItem</h3>
+<p>This property holds the index of the current item in the combobox.
+<p>Note that the <a href="#activated">activated</a>() and <a href="#highlighted">highlighted</a>() signals are only
+emitted when the user changes the current item, not when it is
+changed programmatically.
+
+<p>Set this property's value with <a href="#setCurrentItem">setCurrentItem</a>() and get this property's value with <a href="#currentItem">currentItem</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentText-prop"></a>currentText</h3>
+<p>This property holds the text of the combobox's current item.
+<p>
+<p>Set this property's value with <a href="#setCurrentText">setCurrentText</a>() and get this property's value with <a href="#currentText">currentText</a>().
+<h3 class=fn>bool <a name="duplicatesEnabled-prop"></a>duplicatesEnabled</h3>
+<p>This property holds whether duplicates are allowed.
+<p>If the combobox is editable and the user enters some text in the
+combobox's lineedit and presses Enter (and the <a href="#insertionPolicy">insertionPolicy</a>()
+is not <a href="#Policy-enum">NoInsertion</a>), then what happens is this:
+<ul>
+<li> If the text is not already in the list, the text is inserted.
+<li> If the text is in the list and this property is TRUE (the
+default), the text is inserted.
+<li> If the text is in the list and this property is FALSE, the text
+is <em>not</em> inserted; instead the item which has matching text becomes
+the current item.
+</ul>
+<p> This property only affects user-interaction. You can use
+<a href="#insertItem">insertItem</a>() to insert duplicates if you wish regardless of this
+setting.
+
+<p>Set this property's value with <a href="#setDuplicatesEnabled">setDuplicatesEnabled</a>() and get this property's value with <a href="#duplicatesEnabled">duplicatesEnabled</a>().
+<h3 class=fn>bool <a name="editable-prop"></a>editable</h3>
+<p>This property holds whether the combobox is editable.
+<p>This property's default is FALSE. Note that the combobox will be
+cleared if this property is set to TRUE for a 1.x <a href="motif-extension.html#Motif">Motif</a> style
+combobox. To avoid this, use <a href="#setEditable">setEditable</a>() before inserting any
+items. Also note that the 1.x version of Motif didn't have any
+editable comboboxes, so the combobox will change it's appearance
+to a 2.0 style Motif combobox is it is set to be editable.
+
+<p>Set this property's value with <a href="#setEditable">setEditable</a>() and get this property's value with <a href="#editable">editable</a>().
+<h3 class=fn><a href="qcombobox.html#Policy-enum">Policy</a> <a name="insertionPolicy-prop"></a>insertionPolicy</h3>
+<p>This property holds the position of the items inserted by the user.
+<p>The default insertion policy is <a href="#Policy-enum">AtBottom</a>. See <a href="#Policy-enum">Policy</a>.
+
+<p>Set this property's value with <a href="#setInsertionPolicy">setInsertionPolicy</a>() and get this property's value with <a href="#insertionPolicy">insertionPolicy</a>().
+<h3 class=fn>int <a name="maxCount-prop"></a>maxCount</h3>
+<p>This property holds the maximum number of items allowed in the combobox.
+<p>
+<p>Set this property's value with <a href="#setMaxCount">setMaxCount</a>() and get this property's value with <a href="#maxCount">maxCount</a>().
+<h3 class=fn>int <a name="sizeLimit-prop"></a>sizeLimit</h3>
+<p>This property holds the maximum on-screen size of the combobox.
+<p>This property is ignored for both <a href="motif-extension.html#Motif">Motif</a> 1.x style and non-editable
+comboboxes in Mac style. The default limit is ten
+lines. If the number of items in the combobox is or grows larger
+than lines, a scrollbar is added.
+
+<p>Set this property's value with <a href="#setSizeLimit">setSizeLimit</a>() and get this property's value with <a href="#sizeLimit">sizeLimit</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcombotableitem-members.html b/doc/html/qcombotableitem-members.html
new file mode 100644
index 0000000..2d55a2f
--- /dev/null
+++ b/doc/html/qcombotableitem-members.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:182 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QComboTableItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QComboTableItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcombotableitem.html">QComboTableItem</a>, including inherited members.
+
+<ul>
+<li><a href="qcombotableitem.html#QComboTableItem">QComboTableItem</a>()
+<li><a href="qcombotableitem.html#~QComboTableItem">~QComboTableItem</a>()
+<li><a href="qtableitem.html#alignment">alignment</a>()
+<li><a href="qtableitem.html#col">col</a>()
+<li><a href="qtableitem.html#colSpan">colSpan</a>()
+<li><a href="qcombotableitem.html#count">count</a>()
+<li><a href="qtableitem.html#createEditor">createEditor</a>()
+<li><a href="qcombotableitem.html#currentItem">currentItem</a>()
+<li><a href="qcombotableitem.html#currentText">currentText</a>()
+<li><a href="qtableitem.html#editType">editType</a>()
+<li><a href="qcombotableitem.html#isEditable">isEditable</a>()
+<li><a href="qtableitem.html#isEnabled">isEnabled</a>()
+<li><a href="qtableitem.html#isReplaceable">isReplaceable</a>()
+<li><a href="qtableitem.html#key">key</a>()
+<li><a href="qtableitem.html#paint">paint</a>()
+<li><a href="qtableitem.html#pixmap">pixmap</a>()
+<li><a href="qtableitem.html#row">row</a>()
+<li><a href="qtableitem.html#rowSpan">rowSpan</a>()
+<li><a href="qcombotableitem.html#rtti">rtti</a>()
+<li><a href="qtableitem.html#setCol">setCol</a>()
+<li><a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>()
+<li><a href="qcombotableitem.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qcombotableitem.html#setEditable">setEditable</a>()
+<li><a href="qtableitem.html#setEnabled">setEnabled</a>()
+<li><a href="qtableitem.html#setPixmap">setPixmap</a>()
+<li><a href="qtableitem.html#setReplaceable">setReplaceable</a>()
+<li><a href="qtableitem.html#setRow">setRow</a>()
+<li><a href="qtableitem.html#setSpan">setSpan</a>()
+<li><a href="qcombotableitem.html#setStringList">setStringList</a>()
+<li><a href="qtableitem.html#setText">setText</a>()
+<li><a href="qtableitem.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtableitem.html#sizeHint">sizeHint</a>()
+<li><a href="qtableitem.html#table">table</a>()
+<li><a href="qcombotableitem.html#text">text</a>()
+<li><a href="qtableitem.html#wordWrap">wordWrap</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcombotableitem.html b/doc/html/qcombotableitem.html
new file mode 100644
index 0000000..c71ea8d
--- /dev/null
+++ b/doc/html/qcombotableitem.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1154 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QComboTableItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QComboTableItem Class Reference<br><small>[<a href="table.html">table module</a>]</small></h1>
+
+<p>The QComboTableItem class provides a means of using
+comboboxes in QTables.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;</tt>
+<p>Inherits <a href="qtableitem.html">QTableItem</a>.
+<p><a href="qcombotableitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QComboTableItem"><b>QComboTableItem</b></a> ( QTable&nbsp;*&nbsp;table, const&nbsp;QStringList&nbsp;&amp;&nbsp;list, bool&nbsp;editable = FALSE )</li>
+<li class=fn><a href="#~QComboTableItem"><b>~QComboTableItem</b></a> ()</li>
+<li class=fn>virtual void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( int&nbsp;i )</li>
+<li class=fn>virtual void <a href="#setCurrentItem-2"><b>setCurrentItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>int <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>QString <a href="#currentText"><b>currentText</b></a> () const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>virtual void <a href="#setEditable"><b>setEditable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isEditable"><b>isEditable</b></a> () const</li>
+<li class=fn>virtual void <a href="#setStringList"><b>setStringList</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QComboTableItem class provides a means of using
+comboboxes in QTables.
+
+<p>
+
+<p> A QComboTableItem is a table item which looks and behaves like a
+combobox. The advantage of using QComboTableItems rather than real
+comboboxes is that a QComboTableItem uses far less resources than
+real comboboxes in <a href="qtable.html">QTable</a>s. When the cell has the focus it
+displays a real combobox which the user can interact with. When
+the cell does not have the focus the cell <em>looks</em> like a
+combobox. Only text items (i.e. no pixmaps) may be used in
+QComboTableItems.
+<p> QComboTableItem items have the edit type <a href="qtableitem.html#EditType-enum">WhenCurrent</a> (see
+<a href="qtableitem.html#EditType-enum">EditType</a>). The QComboTableItem's list of items is provided by
+a <a href="qstringlist.html">QStringList</a> passed to the constructor.
+<p> The list of items may be changed using <a href="#setStringList">setStringList</a>(). The
+current item can be set with <a href="#setCurrentItem">setCurrentItem</a>() and retrieved with
+<a href="#currentItem">currentItem</a>(). The text of the current item can be obtained with
+<a href="#currentText">currentText</a>(), and the text of a particular item can be retrieved
+with <a href="#text">text</a>().
+<p> If <a href="#isEditable">isEditable</a>() is TRUE the QComboTableItem will permit the user
+to either choose an existing list item, or create a new list item
+by entering their own text; otherwise the user may only choose one
+of the existing list items.
+<p> To populate a table cell with a QComboTableItem use
+<a href="qtable.html#setItem">QTable::setItem</a>().
+<p> QComboTableItems may be deleted with <a href="qtable.html#clearCell">QTable::clearCell</a>().
+<p> QComboTableItems can be distinguished from <a href="qtableitem.html">QTableItem</a>s and
+<a href="qchecktableitem.html">QCheckTableItem</a>s using their Run Time Type Identification
+number (see <a href="#rtti">rtti</a>()).
+<p> <center><img src="qtableitems.png" alt="Table Items"></center>
+<p> <p>See also <a href="qchecktableitem.html">QCheckTableItem</a>, <a href="qtableitem.html">QTableItem</a>, <a href="qcombobox.html">QComboBox</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QComboTableItem"></a>QComboTableItem::QComboTableItem ( <a href="qtable.html">QTable</a>&nbsp;*&nbsp;table, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;list, bool&nbsp;editable = FALSE )
+</h3>
+Creates a combo table item for the table <em>table</em>. The combobox's
+list of items is passed in the <em>list</em> argument. If <em>editable</em> is
+TRUE the user may type in new list items; if <em>editable</em> is FALSE
+the user may only select from the list of items provided.
+<p> By default QComboTableItems cannot be replaced by other table
+items since <a href="qtableitem.html#isReplaceable">isReplaceable</a>() returns FALSE by default.
+<p> <p>See also <a href="qtable.html#clearCell">QTable::clearCell</a>() and <a href="qtableitem.html#EditType-enum">EditType</a>.
+
+<h3 class=fn><a name="~QComboTableItem"></a>QComboTableItem::~QComboTableItem ()
+</h3>
+QComboTableItem destructor.
+
+<h3 class=fn>int <a name="count"></a>QComboTableItem::count () const
+</h3>
+Returns the total number of list items in the combo table item.
+
+<h3 class=fn>int <a name="currentItem"></a>QComboTableItem::currentItem () const
+</h3>
+Returns the index of the combo table item's current list item.
+<p> <p>See also <a href="#setCurrentItem">setCurrentItem</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentText"></a>QComboTableItem::currentText () const
+</h3>
+Returns the text of the combo table item's current list item.
+<p> <p>See also <a href="#currentItem">currentItem</a>() and <a href="#text">text</a>().
+
+<h3 class=fn>bool <a name="isEditable"></a>QComboTableItem::isEditable () const
+</h3>
+Returns TRUE if the user can add their own list items to the
+combobox's list of items; otherwise returns FALSE.
+<p> <p>See also <a href="#setEditable">setEditable</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QComboTableItem::rtti () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns 1.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>()to
+distinguish between different table item subclasses. You should
+use values greater than 1000, preferably a large random number, to
+allow for extensions to this class.
+<p> <p>See also <a href="qtableitem.html#rtti">QTableItem::rtti</a>().
+
+<p>Reimplemented from <a href="qtableitem.html#rtti">QTableItem</a>.
+<h3 class=fn>void <a name="setCurrentItem"></a>QComboTableItem::setCurrentItem ( int&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Sets the list item <em>i</em> to be the combo table item's current list
+item.
+<p> <p>See also <a href="#currentItem">currentItem</a>().
+
+<p>Example: <a href="small-table-example-example.html#x2797">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="setCurrentItem-2"></a>QComboTableItem::setCurrentItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the list item whose text is <em>s</em> to be the combo table item's
+current list item. Does nothing if no list item has the text <em>s</em>.
+<p> <p>See also <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="setEditable"></a>QComboTableItem::setEditable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE the combo table item can be edited, i.e. the user
+may enter a new text item themselves. If <em>b</em> is FALSE the user may
+may only choose one of the existing items.
+<p> <p>See also <a href="#isEditable">isEditable</a>().
+
+<h3 class=fn>void <a name="setStringList"></a>QComboTableItem::setStringList ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;l )<tt> [virtual]</tt>
+</h3>
+Sets the list items of this QComboTableItem to the strings in the
+string list <em>l</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QComboTableItem::text ( int&nbsp;i ) const
+</h3>
+Returns the text of the combo's list item at index <em>i</em>.
+<p> <p>See also <a href="#currentText">currentText</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcommonstyle-h.html b/doc/html/qcommonstyle-h.html
new file mode 100644
index 0000000..506c22a
--- /dev/null
+++ b/doc/html/qcommonstyle-h.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcommonstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcommonstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcommonstyle.h</h1>
+
+<p>This is the verbatim text of the qcommonstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcommonstyle.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QCommonStyle class
+**
+** Created : 980616
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCOMMONSTYLE_H
+#define QCOMMONSTYLE_H
+
+#ifndef QT_H
+#include "qstyle.h"
+#endif // QT_H
+
+#ifndef QT_NO_STYLE
+
+class Q_EXPORT QCommonStyle: public QStyle
+{
+ Q_OBJECT
+
+public:
+ QCommonStyle();
+ ~QCommonStyle();
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControlMask( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect subRect( SubRect r, const QWidget *widget ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControlMask( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ SubControl querySubControl( ComplexControl control,
+ const QWidget *widget,
+ const QPoint &amp;pos,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric m, const QWidget *widget = 0 ) const;
+
+ QSize sizeFromContents( ContentsType s,
+ const QWidget *widget,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int styleHint(StyleHint sh, const QWidget *, const QStyleOption &amp;, QStyleHintReturn *) const;
+
+ QPixmap stylePixmap( StylePixmap sp,
+ const QWidget *widget = 0,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+
+private:
+ // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QCommonStyle( const QCommonStyle &amp; );
+ QCommonStyle &amp;operator=( const QCommonStyle &amp; );
+#endif
+};
+
+
+
+#endif // QT_NO_STYLE
+
+#endif // QCOMMONSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcommonstyle-members.html b/doc/html/qcommonstyle-members.html
new file mode 100644
index 0000000..1466d68
--- /dev/null
+++ b/doc/html/qcommonstyle-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcommonstyle.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCommonStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCommonStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcommonstyle.html">QCommonStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qcommonstyle.html#QCommonStyle">QCommonStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcommonstyle.html b/doc/html/qcommonstyle.html
new file mode 100644
index 0000000..065f4b4
--- /dev/null
+++ b/doc/html/qcommonstyle.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qcommonstyle.cpp:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCommonStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCommonStyle Class Reference</h1>
+
+<p>The QCommonStyle class encapsulates the common Look and Feel of a GUI.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcommonstyle-h.html">qcommonstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qstyle.html">QStyle</a>.
+<p>Inherited by <a href="qmotifstyle.html">QMotifStyle</a> and <a href="qwindowsstyle.html">QWindowsStyle</a>.
+<p><a href="qcommonstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCommonStyle"><b>QCommonStyle</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCommonStyle class encapsulates the common Look and Feel of a GUI.
+<p>
+<p> This abstract class implements some of the widget's look and feel
+that is common to all GUI styles provided and shipped as part of
+Qt.
+<p> All the functions are documented in <a href="qstyle.html">QStyle</a>.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCommonStyle"></a>QCommonStyle::QCommonStyle ()
+</h3>
+Constructs a QCommonStyle.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qconststring-members.html b/doc/html/qconststring-members.html
new file mode 100644
index 0000000..30613ef
--- /dev/null
+++ b/doc/html/qconststring-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstring.h:813 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QConstString Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QConstString</h1>
+
+<p>This is the complete list of member functions for
+<a href="qconststring.html">QConstString</a>, including inherited members.
+
+<ul>
+<li><a href="qconststring.html#QConstString">QConstString</a>()
+<li><a href="qconststring.html#~QConstString">~QConstString</a>()
+<li><a href="qconststring.html#string">string</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qconststring.html b/doc/html/qconststring.html
new file mode 100644
index 0000000..6c1f5aa
--- /dev/null
+++ b/doc/html/qconststring.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qstring.cpp:6903 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QConstString Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QConstString Class Reference</h1>
+
+<p>The QConstString class provides string objects using constant Unicode data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;</tt>
+<p><a href="qconststring-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QConstString"><b>QConstString</b></a> ( const&nbsp;QChar&nbsp;*&nbsp;unicode, uint&nbsp;length )</li>
+<li class=fn><a href="#~QConstString"><b>~QConstString</b></a> ()</li>
+<li class=fn>const QString &amp; <a href="#string"><b>string</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QConstString class provides string objects using constant Unicode data.
+<p> In order to minimize copying, highly optimized applications can
+use QConstString to provide a <a href="qstring.html">QString</a>-compatible object from
+existing Unicode data. It is then the programmer's responsibility
+to ensure that the Unicode data exists for the entire lifetime of
+the QConstString object.
+<p> A QConstString is created with the QConstString constructor. The
+string held by the object can be obtained by calling <a href="#string">string</a>().
+<p>See also <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QConstString"></a>QConstString::QConstString ( const&nbsp;<a href="qchar.html">QChar</a>&nbsp;*&nbsp;unicode, uint&nbsp;length )
+</h3>
+Constructs a QConstString that uses the first <em>length</em> Unicode
+characters in the array <em>unicode</em>. Any attempt to modify copies
+of the string will cause it to create a copy of the data, thus it
+remains forever unmodified.
+<p> The data in <em>unicode</em> is not copied. The caller must be able to
+guarantee that <em>unicode</em> will not be deleted or modified.
+
+<h3 class=fn><a name="~QConstString"></a>QConstString::~QConstString ()
+</h3>
+Destroys the QConstString, creating a copy of the data if other
+strings are still using it.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="string"></a>QConstString::string () const
+</h3>
+
+<p> Returns a constant string referencing the data passed during
+construction.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcontextmenuevent-members.html b/doc/html/qcontextmenuevent-members.html
new file mode 100644
index 0000000..f021c26
--- /dev/null
+++ b/doc/html/qcontextmenuevent-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:423 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QContextMenuEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QContextMenuEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcontextmenuevent.html">QContextMenuEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qcontextmenuevent.html#QContextMenuEvent">QContextMenuEvent</a>()
+<li><a href="qcontextmenuevent.html#accept">accept</a>()
+<li><a href="qcontextmenuevent.html#consume">consume</a>()
+<li><a href="qcontextmenuevent.html#globalPos">globalPos</a>()
+<li><a href="qcontextmenuevent.html#globalX">globalX</a>()
+<li><a href="qcontextmenuevent.html#globalY">globalY</a>()
+<li><a href="qcontextmenuevent.html#ignore">ignore</a>()
+<li><a href="qcontextmenuevent.html#isAccepted">isAccepted</a>()
+<li><a href="qcontextmenuevent.html#isConsumed">isConsumed</a>()
+<li><a href="qcontextmenuevent.html#pos">pos</a>()
+<li><a href="qcontextmenuevent.html#reason">reason</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qcontextmenuevent.html#state">state</a>()
+<li><a href="qevent.html#type">type</a>()
+<li><a href="qcontextmenuevent.html#x">x</a>()
+<li><a href="qcontextmenuevent.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcontextmenuevent.html b/doc/html/qcontextmenuevent.html
new file mode 100644
index 0000000..962594d
--- /dev/null
+++ b/doc/html/qcontextmenuevent.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1549 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QContextMenuEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QContextMenuEvent Class Reference</h1>
+
+<p>The QContextMenuEvent class contains parameters that describe a context menu event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qcontextmenuevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Reason-enum"><b>Reason</b></a> { Mouse, Keyboard, Other }</li>
+<li class=fn><a href="#QContextMenuEvent"><b>QContextMenuEvent</b></a> ( Reason&nbsp;reason, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos, int&nbsp;state )</li>
+<li class=fn><a href="#QContextMenuEvent-2"><b>QContextMenuEvent</b></a> ( Reason&nbsp;reason, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;state )</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>int <a href="#globalX"><b>globalX</b></a> () const</li>
+<li class=fn>int <a href="#globalY"><b>globalY</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#globalPos"><b>globalPos</b></a> () const</li>
+<li class=fn>ButtonState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>bool <a href="#isConsumed"><b>isConsumed</b></a> () const</li>
+<li class=fn>void <a href="#consume"><b>consume</b></a> ()</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+<li class=fn>Reason <a href="#reason"><b>reason</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QContextMenuEvent class contains parameters that describe a context menu event.
+<p>
+<p> Context menu events are sent to widgets when a user triggers a
+context menu. What triggers this is platform dependent. For
+example, on Windows, pressing the menu button or releasing the
+right mouse button will cause this event to be sent.
+<p> When this event occurs it is customary to show a <a href="qpopupmenu.html">QPopupMenu</a> with a
+context menu, if this is relevant to the context.
+<p> Context menu events contain a special accept flag that indicates
+whether the receiver accepted the event. If the event handler does
+not accept the event, then whatever triggered the event will be
+handled as a regular input event if possible.
+<p> <p>See also <a href="qpopupmenu.html">QPopupMenu</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Reason-enum"></a>QContextMenuEvent::Reason</h3>
+
+<p> This enum describes the reason the ContextMenuEvent was sent. The
+values are:
+<ul>
+<li><tt>QContextMenuEvent::Mouse</tt> - The mouse caused the event to be sent. Normally this
+means the right mouse button was clicked, but this is platform
+specific.
+<li><tt>QContextMenuEvent::Keyboard</tt> - The keyboard caused this event to be sent. On
+Windows this means the menu button was pressed.
+<li><tt>QContextMenuEvent::Other</tt> - The event was sent by some other means (i.e. not by
+the mouse or keyboard).
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QContextMenuEvent"></a>QContextMenuEvent::QContextMenuEvent ( <a href="qcontextmenuevent.html#Reason-enum">Reason</a>&nbsp;reason, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos, int&nbsp;state )
+</h3>
+
+<p> Constructs a context menu event object with the accept parameter
+flag set to FALSE.
+<p> The <em>reason</em> parameter must be <a href="#Reason-enum">QContextMenuEvent::Mouse</a> or <a href="#Reason-enum">QContextMenuEvent::Keyboard</a>.
+<p> The <em>pos</em> parameter specifies the mouse position relative to the
+receiving widget. <em>globalPos</em> is the mouse position in absolute
+coordinates. <em>state</em> is the ButtonState at the time of the event.
+
+<h3 class=fn><a name="QContextMenuEvent-2"></a>QContextMenuEvent::QContextMenuEvent ( <a href="qcontextmenuevent.html#Reason-enum">Reason</a>&nbsp;reason, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;state )
+</h3>
+
+<p> Constructs a context menu event object with the accept parameter
+flag set to FALSE.
+<p> The <em>reason</em> parameter must be <a href="#Reason-enum">QContextMenuEvent::Mouse</a> or <a href="#Reason-enum">QContextMenuEvent::Keyboard</a>.
+<p> The <em>pos</em> parameter specifies the mouse position relative to the
+receiving widget. <em>state</em> is the ButtonState at the time of the
+event.
+<p> The <a href="#globalPos">globalPos</a>() is initialized to <a href="qcursor.html#pos">QCursor::pos</a>(), which may not be
+appropriate. Use the other constructor to specify the global
+position explicitly.
+
+<h3 class=fn>void <a name="accept"></a>QContextMenuEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the context event object.
+<p> Setting the accept flag indicates that the receiver of this event
+has processed the event. Processing the event means you did
+something with it and it will be implicitly consumed.
+<p> The accept flag is not set by default.
+<p> <p>See also <a href="#ignore">ignore</a>() and <a href="#consume">consume</a>().
+
+<h3 class=fn>void <a name="consume"></a>QContextMenuEvent::consume ()
+</h3>
+
+<p> Sets the consume flag of the context event object.
+<p> Setting the consume flag indicates that the receiver of this event
+does not want the event to be propagated further (i.e. not sent to
+parent classes.)
+<p> The consumed flag is not set by default.
+<p> <p>See also <a href="#ignore">ignore</a>() and <a href="#accept">accept</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="globalPos"></a>QContextMenuEvent::globalPos () const
+</h3>
+
+<p> Returns the global position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#pos">pos</a>().
+
+<h3 class=fn>int <a name="globalX"></a>QContextMenuEvent::globalX () const
+</h3>
+
+<p> Returns the global x-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>int <a name="globalY"></a>QContextMenuEvent::globalY () const
+</h3>
+
+<p> Returns the global y-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QContextMenuEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag of the context event object.
+<p> Clearing the accept flag indicates that the receiver of this event
+does not need to show a context menu. This will implicitly remove
+the consumed flag as well.
+<p> The accept flag is not set by default.
+<p> <p>See also <a href="#accept">accept</a>() and <a href="#consume">consume</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QContextMenuEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver has processed the event; otherwise
+returns FALSE.
+<p> <p>See also <a href="#accept">accept</a>(), <a href="#ignore">ignore</a>(), and <a href="#consume">consume</a>().
+
+<h3 class=fn>bool <a name="isConsumed"></a>QContextMenuEvent::isConsumed () const
+</h3>
+
+<p> Returns TRUE (which stops propagation of the event) if the
+receiver has blocked the event; otherwise returns FALSE.
+<p> <p>See also <a href="#accept">accept</a>(), <a href="#ignore">ignore</a>(), and <a href="#consume">consume</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QContextMenuEvent::pos () const
+</h3>
+
+<p> Returns the position of the mouse pointer relative to the widget
+that received the event.
+<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn><a href="qcontextmenuevent.html#Reason-enum">Reason</a> <a name="reason"></a>QContextMenuEvent::reason () const
+</h3>
+
+<p> Returns the reason for this context event.
+
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="state"></a>QContextMenuEvent::state () const
+</h3>
+
+<p> Returns the button state (a combination of mouse buttons and
+keyboard modifiers), i.e. what buttons and keys were being
+pressed immediately before the event was generated.
+<p> The returned value is <a href="qt.html#ButtonState-enum">LeftButton</a>, <a href="qt.html#ButtonState-enum">RightButton</a>, <a href="qt.html#ButtonState-enum">MidButton</a>,
+<a href="qt.html#ButtonState-enum">ShiftButton</a>, <a href="qt.html#ButtonState-enum">ControlButton</a> and <a href="qt.html#ButtonState-enum">AltButton</a> OR'ed together.
+
+<h3 class=fn>int <a name="x"></a>QContextMenuEvent::x () const
+</h3>
+
+<p> Returns the x-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#y">y</a>() and <a href="#pos">pos</a>().
+
+<h3 class=fn>int <a name="y"></a>QContextMenuEvent::y () const
+</h3>
+
+<p> Returns the y-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#x">x</a>() and <a href="#pos">pos</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcopchannel-members.html b/doc/html/qcopchannel-members.html
new file mode 100644
index 0000000..611ed85
--- /dev/null
+++ b/doc/html/qcopchannel-members.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcopchannel_qws.h:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCopChannel Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCopChannel</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcopchannel.html">QCopChannel</a>, including inherited members.
+
+<ul>
+<li><a href="qcopchannel.html#QCopChannel">QCopChannel</a>()
+<li><a href="qcopchannel.html#~QCopChannel">~QCopChannel</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qcopchannel.html#channel">channel</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qcopchannel.html#isRegistered">isRegistered</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qcopchannel.html#receive">receive</a>()
+<li><a href="qcopchannel.html#received">received</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qcopchannel.html#send">send</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcopchannel.html b/doc/html/qcopchannel.html
new file mode 100644
index 0000000..a9beb1b
--- /dev/null
+++ b/doc/html/qcopchannel.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qcopchannel_qws.cpp:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCopChannel Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCopChannel Class Reference</h1>
+
+<p>The QCopChannel class provides communication capabilities
+between several clients.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcopchannel_qws-h.html">qcopchannel_qws.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qcopchannel-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCopChannel"><b>QCopChannel</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;channel, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QCopChannel"><b>~QCopChannel</b></a> ()</li>
+<li class=fn>QCString <a href="#channel"><b>channel</b></a> () const</li>
+<li class=fn>virtual void <a href="#receive"><b>receive</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;msg, const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#received"><b>received</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;msg, const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#isRegistered"><b>isRegistered</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;channel )</li>
+<li class=fn>bool <a href="#send-2"><b>send</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;channel, const&nbsp;QCString&nbsp;&amp;&nbsp;msg )</li>
+<li class=fn>bool <a href="#send"><b>send</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;channel, const&nbsp;QCString&nbsp;&amp;&nbsp;msg, const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QCopChannel class provides communication capabilities
+between several clients.
+<p> The Qt Cop (QCOP) is a COmmunication Protocol, allowing clients to
+communicate both within the same address space and between
+different processes.
+<p> Currently, this facility is only available on Qt/Embedded. On X11
+and Windows we are exploring the use of existing standards such as
+DCOP and COM.
+<p> QCopChannel provides <a href="#send">send</a>() and <a href="#isRegistered">isRegistered</a>() which are static
+functions usable without an object.
+<p> The <a href="#channel">channel</a>() function returns the name of the channel.
+<p> In order to <em>listen</em> to the traffic on a channel, you should
+either subclass QCopChannel and reimplement <a href="#receive">receive</a>(), or
+<a href="qobject.html#connect">connect</a>() to the <a href="#received">received</a>() signal.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCopChannel"></a>QCopChannel::QCopChannel ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;channel, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QCop channel and registers it with the server using
+the name <em>channel</em>. The standard <em>parent</em> and <em>name</em> arguments
+are passed on to the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="~QCopChannel"></a>QCopChannel::~QCopChannel ()<tt> [virtual]</tt>
+</h3>
+Destroys the client's end of the channel and notifies the server
+that the client has closed its connection. The server will keep
+the channel open until the last registered client detaches.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="channel"></a>QCopChannel::channel () const
+</h3>
+Returns the name of the channel.
+
+<h3 class=fn>bool <a name="isRegistered"></a>QCopChannel::isRegistered ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;channel )<tt> [static]</tt>
+</h3>
+Queries the server for the existence of <em>channel</em>.
+<p> Returns TRUE if <em>channel</em> is registered; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="receive"></a>QCopChannel::receive ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;msg, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )<tt> [virtual]</tt>
+</h3>
+This virtual function allows subclasses of QCopChannel to process
+data received from their channel.
+<p> The default implementation emits the <a href="#received">received</a>() signal.
+<p> Note that the format of <em>data</em> has to be well defined in order to
+extract the information it contains.
+<p> Example:
+<pre>
+ void MyClass::receive( const <a href="qcstring.html">QCString</a> &amp;msg, const <a href="qbytearray.html">QByteArray</a> &amp;data )
+ {
+ <a href="qdatastream.html">QDataStream</a> stream( data, <a href="qfile.html#open">IO_ReadOnly</a> );
+ if ( msg == "execute(QString,QString)" ) {
+ <a href="qstring.html">QString</a> cmd, arg;
+ stream &gt;&gt; cmd &gt;&gt; arg;
+ ...
+ } else if ( msg == "delete(QString)" ) {
+ <a href="qstring.html">QString</a> filenname;
+ stream &gt;&gt; filename;
+ ...
+ } else ...
+ }
+ </pre>
+
+This example assumes that the <em>msg</em> is a DCOP-style function
+signature and the <em>data</em> contains the function's arguments. (See
+<a href="#send">send</a>().)
+<p> Using the DCOP convention is a recommendation, but not a
+requirement. Whatever convention you use the sender and receiver
+<em>must</em> agree on the argument types.
+<p> <p>See also <a href="#send">send</a>().
+
+<h3 class=fn>void <a name="received"></a>QCopChannel::received ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;msg, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted with the <em>msg</em> and <em>data</em> whenever the
+<a href="#receive">receive</a>() function gets incoming data.
+
+<h3 class=fn>bool <a name="send"></a>QCopChannel::send ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;channel, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;msg, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )<tt> [static]</tt>
+</h3>
+Send the message <em>msg</em> on channel <em>channel</em> with data <em>data</em>.
+The message will be distributed to all clients subscribed to the
+channel.
+<p> Note that <a href="qdatastream.html">QDataStream</a> provides a convenient way to fill the byte
+array with auxiliary data.
+<p> Example:
+<pre>
+ <a href="qbytearray.html">QByteArray</a> ba;
+ <a href="qdatastream.html">QDataStream</a> stream( ba, <a href="qfile.html#open">IO_WriteOnly</a> );
+ stream &lt;&lt; QString("cat") &lt;&lt; QString("file.txt");
+ QCopChannel::<a href="#send">send</a>( "System/Shell", "execute(QString,QString)", ba );
+ </pre>
+
+Here the channel is "System/Shell". The <em>msg</em> is an arbitrary
+string, but in the example we've used the DCOP convention of
+passing a function signature. Such a signature is formatted as
+functionname(types) where types is a list of zero or more
+comma-separated type names, with no whitespace, no consts and no
+pointer or reference marks, i.e. no "*" or "&".
+<p> Using the DCOP convention is a recommendation, but not a
+requirement. Whatever convention you use the sender and receiver
+<em>must</em> agree on the argument types.
+<p> <p>See also <a href="#receive">receive</a>().
+
+<h3 class=fn>bool <a name="send-2"></a>QCopChannel::send ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;channel, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;msg )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Send the message <em>msg</em> on channel <em>channel</em>. The message will be
+distributed to all clients subscribed to the <em>channel</em>.
+<p> <p>See also <a href="#receive">receive</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcopchannel_qws-h.html b/doc/html/qcopchannel_qws-h.html
new file mode 100644
index 0000000..48fd3d8
--- /dev/null
+++ b/doc/html/qcopchannel_qws-h.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcopchannel_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcopchannel_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcopchannel_qws.h</h1>
+
+<p>This is the verbatim text of the qcopchannel_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcopchannel_qws.h 3.3.8 edited Jan 11 14:46 $
+**
+** QCOP protocol classes
+**
+** Created : 20000616
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCOPCHANNEL_QWS_H
+#define QCOPCHANNEL_QWS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_COP
+
+class QWSClient;
+class QCopChannelPrivate;
+
+class QCopChannel : public QObject
+{
+ Q_OBJECT
+public:
+ QCopChannel( const QCString&amp; channel, QObject* parent=0, const char* name=0 );
+ virtual ~QCopChannel();
+
+ QCString channel() const;
+
+ static bool isRegistered( const QCString&amp; channel );
+ static bool send( const QCString &amp;channel, const QCString &amp;msg );
+ static bool send( const QCString &amp;channel, const QCString &amp;msg,
+ const QByteArray &amp;data );
+
+ static void sendLocally( const QCString &amp;ch, const QCString &amp;msg,
+ const QByteArray &amp;data );
+
+ virtual void receive( const QCString &amp;msg, const QByteArray &amp;data );
+
+signals:
+ void received( const QCString &amp;msg, const QByteArray &amp;data );
+
+private:
+ // server side
+ static void registerChannel( const QString &amp;ch, const QWSClient *cl );
+ static void detach( const QWSClient *cl );
+ static void answer( QWSClient *cl, const QCString &amp;ch,
+ const QCString &amp;msg, const QByteArray &amp;data );
+ // client side
+ QCopChannelPrivate* d;
+
+ friend class QWSServer;
+ friend class QApplication;
+};
+
+#endif
+
+#endif // QCOPCHANNEL_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcstring-h.html b/doc/html/qcstring-h.html
new file mode 100644
index 0000000..5219aa9
--- /dev/null
+++ b/doc/html/qcstring-h.html
@@ -0,0 +1,437 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcstring.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcstring.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcstring.h</h1>
+
+<p>This is the verbatim text of the qcstring.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcstring.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the extended char array operations,
+** and QByteArray and QCString classes
+**
+** Created : 920609
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCSTRING_H
+#define QCSTRING_H
+
+#ifndef QT_H
+#include "qmemarray.h"
+#endif // QT_H
+
+#include &lt;string.h&gt;
+
+
+/*****************************************************************************
+ Safe and portable C string functions; extensions to standard string.h
+ *****************************************************************************/
+
+Q_EXPORT void *qmemmove( void *dst, const void *src, uint len );
+
+Q_EXPORT char *qstrdup( const char * );
+
+Q_EXPORT inline uint qstrlen( const char *str )
+{ return str ? (uint)strlen(str) : 0u; }
+
+Q_EXPORT inline char *qstrcpy( char *dst, const char *src )
+{ return src ? strcpy(dst, src) : 0; }
+
+Q_EXPORT char *qstrncpy( char *dst, const char *src, uint len );
+
+Q_EXPORT inline int qstrcmp( const char *str1, const char *str2 )
+{
+ return ( str1 &amp;&amp; str2 ) ? strcmp( str1, str2 )
+ : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
+}
+
+Q_EXPORT inline int qstrncmp( const char *str1, const char *str2, uint len )
+{
+ return ( str1 &amp;&amp; str2 ) ? strncmp( str1, str2, len )
+ : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
+}
+
+Q_EXPORT int qstricmp( const char *, const char * );
+
+Q_EXPORT int qstrnicmp( const char *, const char *, uint len );
+
+#ifndef QT_CLEAN_NAMESPACE
+Q_EXPORT inline uint cstrlen( const char *str )
+{ return (uint)strlen(str); }
+
+Q_EXPORT inline char *cstrcpy( char *dst, const char *src )
+{ return strcpy(dst,src); }
+
+Q_EXPORT inline int cstrcmp( const char *str1, const char *str2 )
+{ return strcmp(str1,str2); }
+
+Q_EXPORT inline int cstrncmp( const char *str1, const char *str2, uint len )
+{ return strncmp(str1,str2,len); }
+#endif
+
+
+// qChecksum: Internet checksum
+
+Q_EXPORT Q_UINT16 qChecksum( const char *s, uint len );
+
+/*****************************************************************************
+ QByteArray class
+ *****************************************************************************/
+
+#if defined(Q_QDOC)
+/*
+ We want qdoc to document QByteArray as a real class that inherits
+ QMemArray&lt;char&gt; and that is inherited by QBitArray.
+*/
+class QByteArray : public QMemArray&lt;char&gt;
+{
+public:
+ QByteArray();
+ QByteArray( int size );
+};
+#else
+typedef QMemArray&lt;char&gt; QByteArray;
+#endif
+
+#ifndef QT_NO_COMPRESS
+Q_EXPORT QByteArray qCompress( const uchar* data, int nbytes );
+Q_EXPORT QByteArray qUncompress( const uchar* data, int nbytes );
+Q_EXPORT inline QByteArray qCompress( const QByteArray&amp; data)
+{ return qCompress( (const uchar*)data.data(), data.size() ); }
+Q_EXPORT inline QByteArray qUncompress( const QByteArray&amp; data )
+{ return qUncompress( (const uchar*)data.data(), data.size() ); }
+#endif
+
+/*****************************************************************************
+ QByteArray stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QByteArray &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QByteArray &amp; );
+#endif
+
+/*****************************************************************************
+ QCString class
+ *****************************************************************************/
+
+class QRegExp;
+
+class Q_EXPORT QCString : public QByteArray // C string class
+{
+public:
+ QCString() {} // make null string
+ QCString( int size ); // allocate size incl. \0
+ QCString( const QCString &amp;s ) : QByteArray( s ) {}
+ QCString( const char *str ); // deep copy
+ QCString( const char *str, uint maxlen ); // deep copy, max length
+ ~QCString();
+
+ QCString &amp;operator=( const QCString &amp;s );// shallow copy
+ QCString &amp;operator=( const char *str ); // deep copy
+
+ bool isNull() const;
+ bool isEmpty() const;
+ uint length() const;
+ bool resize( uint newlen );
+ bool truncate( uint pos );
+ bool fill( char c, int len = -1 );
+
+ QCString copy() const;
+
+ QCString &amp;sprintf( const char *format, ... );
+
+ int find( char c, int index=0, bool cs=TRUE ) const;
+ int find( const char *str, int index=0, bool cs=TRUE ) const;
+#ifndef QT_NO_REGEXP
+ int find( const QRegExp &amp;, int index=0 ) const;
+#endif
+ int findRev( char c, int index=-1, bool cs=TRUE) const;
+ int findRev( const char *str, int index=-1, bool cs=TRUE) const;
+#ifndef QT_NO_REGEXP_CAPTURE
+ int findRev( const QRegExp &amp;, int index=-1 ) const;
+#endif
+ int contains( char c, bool cs=TRUE ) const;
+ int contains( const char *str, bool cs=TRUE ) const;
+#ifndef QT_NO_REGEXP
+ int contains( const QRegExp &amp; ) const;
+#endif
+ QCString left( uint len ) const;
+ QCString right( uint len ) const;
+ QCString mid( uint index, uint len=0xffffffff) const;
+
+ QCString leftJustify( uint width, char fill=' ', bool trunc=FALSE)const;
+ QCString rightJustify( uint width, char fill=' ',bool trunc=FALSE)const;
+
+ QCString lower() const;
+ QCString upper() const;
+
+ QCString stripWhiteSpace() const;
+ QCString simplifyWhiteSpace() const;
+
+ QCString &amp;insert( uint index, const char * );
+ QCString &amp;insert( uint index, char );
+ QCString &amp;append( const char * );
+ QCString &amp;prepend( const char * );
+ QCString &amp;remove( uint index, uint len );
+ QCString &amp;replace( uint index, uint len, const char * );
+#ifndef QT_NO_REGEXP
+ QCString &amp;replace( const QRegExp &amp;, const char * );
+#endif
+ QCString &amp;replace( char c, const char *after );
+ QCString &amp;replace( const char *, const char * );
+ QCString &amp;replace( char, char );
+
+ short toShort( bool *ok=0 ) const;
+ ushort toUShort( bool *ok=0 ) const;
+ int toInt( bool *ok=0 ) const;
+ uint toUInt( bool *ok=0 ) const;
+ long toLong( bool *ok=0 ) const;
+ ulong toULong( bool *ok=0 ) const;
+ float toFloat( bool *ok=0 ) const;
+ double toDouble( bool *ok=0 ) const;
+
+ QCString &amp;setStr( const char *s );
+ QCString &amp;setNum( short );
+ QCString &amp;setNum( ushort );
+ QCString &amp;setNum( int );
+ QCString &amp;setNum( uint );
+ QCString &amp;setNum( long );
+ QCString &amp;setNum( ulong );
+ QCString &amp;setNum( float, char f='g', int prec=6 );
+ QCString &amp;setNum( double, char f='g', int prec=6 );
+
+ bool setExpand( uint index, char c );
+
+ operator const char *() const;
+ QCString &amp;operator+=( const char *str );
+ QCString &amp;operator+=( char c );
+private:
+ int find( const char *str, int index, bool cs, uint l ) const;
+};
+
+
+/*****************************************************************************
+ QCString stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QCString &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QCString &amp; );
+#endif
+
+/*****************************************************************************
+ QCString inline functions
+ *****************************************************************************/
+
+inline QCString &amp;QCString::operator=( const QCString &amp;s )
+{ return (QCString&amp;)assign( s ); }
+
+inline QCString &amp;QCString::operator=( const char *str )
+{ return (QCString&amp;)duplicate( str, qstrlen(str)+1 ); }
+
+inline bool QCString::isNull() const
+{ return data() == 0; }
+
+inline bool QCString::isEmpty() const
+{ return data() == 0 || *data() == '\0'; }
+
+inline uint QCString::length() const
+{ return qstrlen( data() ); }
+
+inline bool QCString::truncate( uint pos )
+{ return resize(pos+1); }
+
+inline QCString QCString::copy() const
+{ return QCString( data() ); }
+
+inline QCString &amp;QCString::prepend( const char *s )
+{ return insert(0,s); }
+
+inline QCString &amp;QCString::append( const char *s )
+{ return operator+=(s); }
+
+inline QCString &amp;QCString::setNum( short n )
+{ return setNum((long)n); }
+
+inline QCString &amp;QCString::setNum( ushort n )
+{ return setNum((ulong)n); }
+
+inline QCString &amp;QCString::setNum( int n )
+{ return setNum((long)n); }
+
+inline QCString &amp;QCString::setNum( uint n )
+{ return setNum((ulong)n); }
+
+inline QCString &amp;QCString::setNum( float n, char f, int prec )
+{ return setNum((double)n,f,prec); }
+
+inline QCString::operator const char *() const
+{ return (const char *)data(); }
+
+
+/*****************************************************************************
+ QCString non-member operators
+ *****************************************************************************/
+
+Q_EXPORT inline bool operator==( const QCString &amp;s1, const QCString &amp;s2 )
+{ return qstrcmp( s1.data(), s2.data() ) == 0; }
+
+Q_EXPORT inline bool operator==( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) == 0; }
+
+Q_EXPORT inline bool operator==( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) == 0; }
+
+Q_EXPORT inline bool operator!=( const QCString &amp;s1, const QCString &amp;s2 )
+{ return qstrcmp( s1.data(), s2.data() ) != 0; }
+
+Q_EXPORT inline bool operator!=( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) != 0; }
+
+Q_EXPORT inline bool operator!=( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) != 0; }
+
+Q_EXPORT inline bool operator&lt;( const QCString &amp;s1, const QCString&amp; s2 )
+{ return qstrcmp( s1.data(), s2.data() ) &lt; 0; }
+
+Q_EXPORT inline bool operator&lt;( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) &lt; 0; }
+
+Q_EXPORT inline bool operator&lt;( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) &lt; 0; }
+
+Q_EXPORT inline bool operator&lt;=( const QCString &amp;s1, const QCString &amp;s2 )
+{ return qstrcmp( s1.data(), s2.data() ) &lt;= 0; }
+
+Q_EXPORT inline bool operator&lt;=( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) &lt;= 0; }
+
+Q_EXPORT inline bool operator&lt;=( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) &lt;= 0; }
+
+Q_EXPORT inline bool operator&gt;( const QCString &amp;s1, const QCString &amp;s2 )
+{ return qstrcmp( s1.data(), s2.data() ) &gt; 0; }
+
+Q_EXPORT inline bool operator&gt;( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) &gt; 0; }
+
+Q_EXPORT inline bool operator&gt;( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) &gt; 0; }
+
+Q_EXPORT inline bool operator&gt;=( const QCString &amp;s1, const QCString&amp; s2 )
+{ return qstrcmp( s1.data(), s2.data() ) &gt;= 0; }
+
+Q_EXPORT inline bool operator&gt;=( const QCString &amp;s1, const char *s2 )
+{ return qstrcmp( s1.data(), s2 ) &gt;= 0; }
+
+Q_EXPORT inline bool operator&gt;=( const char *s1, const QCString &amp;s2 )
+{ return qstrcmp( s1, s2.data() ) &gt;= 0; }
+
+Q_EXPORT inline const QCString operator+( const QCString &amp;s1,
+ const QCString &amp;s2 )
+{
+ QCString tmp( s1.data() );
+ tmp += s2;
+ return tmp;
+}
+
+Q_EXPORT inline const QCString operator+( const QCString &amp;s1, const char *s2 )
+{
+ QCString tmp( s1.data() );
+ tmp += s2;
+ return tmp;
+}
+
+Q_EXPORT inline const QCString operator+( const char *s1, const QCString &amp;s2 )
+{
+ QCString tmp( s1 );
+ tmp += s2;
+ return tmp;
+}
+
+Q_EXPORT inline const QCString operator+( const QCString &amp;s1, char c2 )
+{
+ QCString tmp( s1.data() );
+ tmp += c2;
+ return tmp;
+}
+
+Q_EXPORT inline const QCString operator+( char c1, const QCString &amp;s2 )
+{
+ QCString tmp;
+ tmp += c1;
+ tmp += s2;
+ return tmp;
+}
+#include "qwinexport.h"
+#endif // QCSTRING_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcstring-members.html b/doc/html/qcstring-members.html
new file mode 100644
index 0000000..38c3569
--- /dev/null
+++ b/doc/html/qcstring-members.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcstring.h:142 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCString Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCString</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcstring.html">QCString</a>, including inherited members.
+
+<ul>
+<li><a href="qcstring.html#QCString">QCString</a>()
+<li><a href="qcstring.html#append">append</a>()
+<li><a href="qmemarray.html#assign">assign</a>()
+<li><a href="qmemarray.html#at">at</a>()
+<li><a href="qmemarray.html#begin">begin</a>()
+<li><a href="qmemarray.html#bsearch">bsearch</a>()
+<li><a href="qcstring.html#contains">contains</a>()
+<li><a href="qcstring.html#copy">copy</a>()
+<li><a href="qmemarray.html#count">count</a>()
+<li><a href="qmemarray.html#data">data</a>()
+<li><a href="qmemarray.html#detach">detach</a>()
+<li><a href="qmemarray.html#duplicate">duplicate</a>()
+<li><a href="qmemarray.html#end">end</a>()
+<li><a href="qcstring.html#fill">fill</a>()
+<li><a href="qcstring.html#find">find</a>()
+<li><a href="qcstring.html#findRev">findRev</a>()
+<li><a href="qcstring.html#insert">insert</a>()
+<li><a href="qcstring.html#isEmpty">isEmpty</a>()
+<li><a href="qcstring.html#isNull">isNull</a>()
+<li><a href="qcstring.html#left">left</a>()
+<li><a href="qcstring.html#leftJustify">leftJustify</a>()
+<li><a href="qcstring.html#length">length</a>()
+<li><a href="qcstring.html#lower">lower</a>()
+<li><a href="qcstring.html#mid">mid</a>()
+<li><a href="qmemarray.html#nrefs">nrefs</a>()
+<li><a href="qcstring.html#operator-const-char-*">operator const char *</a>()
+<li><a href="qmemarray.html#operator-const-type-*">operator const type *</a>()
+<li><a href="qcstring.html#operator+-eq">operator+=</a>()
+<li><a href="qcstring.html#operator-eq">operator=</a>()
+<li><a href="qmemarray.html#operator[]">operator[]</a>()
+<li><a href="qcstring.html#prepend">prepend</a>()
+<li><a href="qcstring.html#remove">remove</a>()
+<li><a href="qcstring.html#replace">replace</a>()
+<li><a href="qmemarray.html#resetRawData">resetRawData</a>()
+<li><a href="qcstring.html#resize">resize</a>()
+<li><a href="qcstring.html#right">right</a>()
+<li><a href="qcstring.html#rightJustify">rightJustify</a>()
+<li><a href="qcstring.html#setExpand">setExpand</a>()
+<li><a href="qcstring.html#setNum">setNum</a>()
+<li><a href="qmemarray.html#setRawData">setRawData</a>()
+<li><a href="qcstring.html#setStr">setStr</a>()
+<li><a href="qcstring.html#simplifyWhiteSpace">simplifyWhiteSpace</a>()
+<li><a href="qmemarray.html#size">size</a>()
+<li><a href="qmemarray.html#sort">sort</a>()
+<li><a href="qcstring.html#sprintf">sprintf</a>()
+<li><a href="qcstring.html#stripWhiteSpace">stripWhiteSpace</a>()
+<li><a href="qcstring.html#toDouble">toDouble</a>()
+<li><a href="qcstring.html#toFloat">toFloat</a>()
+<li><a href="qcstring.html#toInt">toInt</a>()
+<li><a href="qcstring.html#toLong">toLong</a>()
+<li><a href="qcstring.html#toShort">toShort</a>()
+<li><a href="qcstring.html#toUInt">toUInt</a>()
+<li><a href="qcstring.html#toULong">toULong</a>()
+<li><a href="qcstring.html#toUShort">toUShort</a>()
+<li><a href="qcstring.html#truncate">truncate</a>()
+<li><a href="qcstring.html#upper">upper</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcstring.html b/doc/html/qcstring.html
new file mode 100644
index 0000000..251055c
--- /dev/null
+++ b/doc/html/qcstring.html
@@ -0,0 +1,1105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qcstring.cpp:567 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCString Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCString Class Reference</h1>
+
+<p>The QCString class provides an abstraction of the classic C
+zero-terminated char array (char *).
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qcstring-h.html">qcstring.h</a>&gt;</tt>
+<p>Inherits <a href="qbytearray.html">QByteArray</a>.
+<p><a href="qcstring-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCString"><b>QCString</b></a> ()</li>
+<li class=fn><a href="#QCString-2"><b>QCString</b></a> ( int&nbsp;size )</li>
+<li class=fn><a href="#QCString-3"><b>QCString</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn><a href="#QCString-4"><b>QCString</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn><a href="#QCString-5"><b>QCString</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, uint&nbsp;maxsize )</li>
+<li class=fn>QCString &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QCString &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>uint <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>bool <a href="#resize"><b>resize</b></a> ( uint&nbsp;len )</li>
+<li class=fn>bool <a href="#truncate"><b>truncate</b></a> ( uint&nbsp;pos )</li>
+<li class=fn>bool <a href="#fill"><b>fill</b></a> ( char&nbsp;c, int&nbsp;len = -1 )</li>
+<li class=fn>QCString <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>QCString &amp; <a href="#sprintf"><b>sprintf</b></a> ( const&nbsp;char&nbsp;*&nbsp;format, ... )</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( char&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#find-2"><b>find</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#find-3"><b>find</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, int&nbsp;index = 0 ) const</li>
+<li class=fn>int <a href="#findRev"><b>findRev</b></a> ( char&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#findRev-2"><b>findRev</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#findRev-3"><b>findRev</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, int&nbsp;index = -1 ) const</li>
+<li class=fn>int <a href="#contains"><b>contains</b></a> ( char&nbsp;c, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-2"><b>contains</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-3"><b>contains</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx ) const</li>
+<li class=fn>QCString <a href="#left"><b>left</b></a> ( uint&nbsp;len ) const</li>
+<li class=fn>QCString <a href="#right"><b>right</b></a> ( uint&nbsp;len ) const</li>
+<li class=fn>QCString <a href="#mid"><b>mid</b></a> ( uint&nbsp;index, uint&nbsp;len = 0xffffffff ) const</li>
+<li class=fn>QCString <a href="#leftJustify"><b>leftJustify</b></a> ( uint&nbsp;width, char&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const</li>
+<li class=fn>QCString <a href="#rightJustify"><b>rightJustify</b></a> ( uint&nbsp;width, char&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const</li>
+<li class=fn>QCString <a href="#lower"><b>lower</b></a> () const</li>
+<li class=fn>QCString <a href="#upper"><b>upper</b></a> () const</li>
+<li class=fn>QCString <a href="#stripWhiteSpace"><b>stripWhiteSpace</b></a> () const</li>
+<li class=fn>QCString <a href="#simplifyWhiteSpace"><b>simplifyWhiteSpace</b></a> () const</li>
+<li class=fn>QCString &amp; <a href="#insert-2"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QCString &amp; <a href="#insert"><b>insert</b></a> ( uint&nbsp;index, char&nbsp;c )</li>
+<li class=fn>QCString &amp; <a href="#append"><b>append</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QCString &amp; <a href="#prepend"><b>prepend</b></a> ( const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QCString &amp; <a href="#remove"><b>remove</b></a> ( uint&nbsp;index, uint&nbsp;len )</li>
+<li class=fn>QCString &amp; <a href="#replace"><b>replace</b></a> ( uint&nbsp;index, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QCString &amp; <a href="#replace-2"><b>replace</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QCString &amp; <a href="#replace-3"><b>replace</b></a> ( char&nbsp;c, const&nbsp;char&nbsp;*&nbsp;after )</li>
+<li class=fn>QCString &amp; <a href="#replace-4"><b>replace</b></a> ( const&nbsp;char&nbsp;*&nbsp;before, const&nbsp;char&nbsp;*&nbsp;after )</li>
+<li class=fn>QCString &amp; <a href="#replace-5"><b>replace</b></a> ( char&nbsp;c1, char&nbsp;c2 )</li>
+<li class=fn>short <a href="#toShort"><b>toShort</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>ushort <a href="#toUShort"><b>toUShort</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>int <a href="#toInt"><b>toInt</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>uint <a href="#toUInt"><b>toUInt</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>long <a href="#toLong"><b>toLong</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>ulong <a href="#toULong"><b>toULong</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>float <a href="#toFloat"><b>toFloat</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>double <a href="#toDouble"><b>toDouble</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>QCString &amp; <a href="#setStr"><b>setStr</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QCString &amp; <a href="#setNum-2"><b>setNum</b></a> ( short&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-3"><b>setNum</b></a> ( ushort&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-4"><b>setNum</b></a> ( int&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-5"><b>setNum</b></a> ( uint&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-6"><b>setNum</b></a> ( long&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-7"><b>setNum</b></a> ( ulong&nbsp;n )</li>
+<li class=fn>QCString &amp; <a href="#setNum-8"><b>setNum</b></a> ( float&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )</li>
+<li class=fn>QCString &amp; <a href="#setNum"><b>setNum</b></a> ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )</li>
+<li class=fn>bool <a href="#setExpand"><b>setExpand</b></a> ( uint&nbsp;index, char&nbsp;c )</li>
+<li class=fn><a href="#operator-const-char-*"><b>operator const char *</b></a> () const</li>
+<li class=fn>QCString &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QCString &amp; <a href="#operator+-eq-2"><b>operator+=</b></a> ( char&nbsp;c )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void * <a href="#qmemmove"><b>qmemmove</b></a> ( void&nbsp;*&nbsp;dst, const&nbsp;void&nbsp;*&nbsp;src, uint&nbsp;len )</li>
+<li class=fn>char * <a href="#qstrdup"><b>qstrdup</b></a> ( const&nbsp;char&nbsp;*&nbsp;src )</li>
+<li class=fn>char * <a href="#qstrcpy"><b>qstrcpy</b></a> ( char&nbsp;*&nbsp;dst, const&nbsp;char&nbsp;*&nbsp;src )</li>
+<li class=fn>char * <a href="#qstrncpy"><b>qstrncpy</b></a> ( char&nbsp;*&nbsp;dst, const&nbsp;char&nbsp;*&nbsp;src, uint&nbsp;len )</li>
+<li class=fn>uint <a href="#qstrlen"><b>qstrlen</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>int <a href="#qstrcmp"><b>qstrcmp</b></a> ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2 )</li>
+<li class=fn>int <a href="#qstrncmp"><b>qstrncmp</b></a> ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2, uint&nbsp;len )</li>
+<li class=fn>int <a href="#qstricmp"><b>qstricmp</b></a> ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2 )</li>
+<li class=fn>int <a href="#qstrnicmp"><b>qstrnicmp</b></a> ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2, uint&nbsp;len )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QCString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QCString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-eq-eq-3"><b>operator==</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq-2"><b>operator!=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq-3"><b>operator!=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-2"><b>operator&lt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-eq-2"><b>operator&lt;=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-2"><b>operator&gt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-eq-2"><b>operator&gt;=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QCString <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QCString <a href="#operator+-2"><b>operator+</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>const QCString <a href="#operator+-3"><b>operator+</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QCString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QCString <a href="#operator+-4"><b>operator+</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s, char&nbsp;c )</li>
+<li class=fn>const QCString <a href="#operator+-5"><b>operator+</b></a> ( char&nbsp;c, const&nbsp;QCString&nbsp;&amp;&nbsp;s )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QCString class provides an abstraction of the classic C
+zero-terminated char array (char *).
+<p>
+
+
+
+<p> QCString inherits <a href="qbytearray.html">QByteArray</a>, which is defined as
+<a href="qmemarray.html">QMemArray</a>&lt;char&gt;. Since QCString is a QMemArray, it uses <a href="shclass.html">explicit sharing</a> with a reference count.
+<p> QCString tries to behave like a more convenient <tt>const char *</tt>.
+The price of doing this is that some algorithms will perform
+badly. For example, <a href="#append">append</a>() is O(length()) since it scans for a
+null terminator. Although you might use QCString for text that is
+never exposed to the user, for most purposes, and especially for
+user-visible text, you should use <a href="qstring.html">QString</a>. QString provides
+<a href="shclass.html#implicit-sharing">implicit sharing</a>, Unicode and other <a href="i18n.html#internationalization">internationalization</a> support,
+and is well optimized.
+<p> Note that for the QCString methods that take a <tt>const char *</tt>
+parameter the <tt>const char *</tt> must either be 0 (null) or not-null
+and '&#92;0' (NUL byte) terminated; otherwise the results are
+undefined.
+<p> A QCString that has not been assigned to anything is <em>null</em>, i.e.
+both the length and the data pointer is 0. A QCString that
+references the empty string ("", a single '&#92;0' char) is <em>empty</em>.
+Both null and empty QCStrings are legal parameters to the methods.
+Assigning <tt>const char *</tt> 0 to QCString produces a null QCString.
+<p> The <a href="#length">length</a>() function returns the length of the string; <a href="#resize">resize</a>()
+resizes the string and <a href="#truncate">truncate</a>() truncates the string. A string
+can be filled with a character using <a href="#fill">fill</a>(). Strings can be left
+or right padded with characters using <a href="#leftJustify">leftJustify</a>() and
+<a href="#rightJustify">rightJustify</a>(). Characters, strings and regular expressions can be
+searched for using <a href="#find">find</a>() and <a href="#findRev">findRev</a>(), and counted using
+<a href="#contains">contains</a>().
+<p> Strings and characters can be inserted with <a href="#insert">insert</a>() and appended
+with <a href="#append">append</a>(). A string can be prepended with <a href="#prepend">prepend</a>().
+Characters can be removed from the string with <a href="#remove">remove</a>() and
+replaced with <a href="#replace">replace</a>().
+<p> Portions of a string can be extracted using <a href="#left">left</a>(), <a href="#right">right</a>() and
+<a href="#mid">mid</a>(). Whitespace can be removed using <a href="#stripWhiteSpace">stripWhiteSpace</a>() and
+<a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>(). Strings can be converted to uppercase or
+lowercase with <a href="#upper">upper</a>() and <a href="#lower">lower</a>() respectively.
+<p> Strings that contain numbers can be converted to numbers with
+<a href="#toShort">toShort</a>(), <a href="#toInt">toInt</a>(), <a href="#toLong">toLong</a>(), <a href="#toULong">toULong</a>(), <a href="#toFloat">toFloat</a>() and <a href="#toDouble">toDouble</a>().
+Numbers can be converted to strings with <a href="#setNum">setNum</a>().
+<p> Many operators are overloaded to work with QCStrings. QCString
+also supports some more obscure functions, e.g. <a href="#sprintf">sprintf</a>(),
+<a href="#setStr">setStr</a>() and <a href="#setExpand">setExpand</a>().
+<p> <a name="asciinotion"></a>
+<blockquote><p align="center"><b> Note on Character Comparisons
+</b>
+<p><p> In QCString the notion of uppercase and lowercase and of which
+character is greater than or less than another character is locale
+dependent. This affects functions which support a case insensitive
+option or which compare or lowercase or uppercase their arguments.
+Case insensitive operations and comparisons will be accurate if
+both strings contain only ASCII characters. (If <tt>$LC_CTYPE</tt> is
+set, most Unix systems do "the right thing".) Functions that this
+affects include <a href="#contains">contains</a>(), <a href="#find">find</a>(), <a href="#findRev">findRev</a>(), <a href="#operator-lt">operator&lt;</a>(), <a href="#operator-lt-eq">operator&lt;=</a>(), <a href="#operator-gt">operator&gt;</a>(), <a href="#operator-gt-eq">operator&gt;=</a>(), <a href="#lower">lower</a>() and
+<a href="#upper">upper</a>().
+<p> This issue does not apply to <a href="qstring.html">QString</a>s since they represent
+characters using Unicode.
+</blockquote>
+<p>
+<p> Performance note: The QCString methods for <a href="qregexp.html">QRegExp</a> searching are
+implemented by converting the QCString to a <a href="qstring.html">QString</a> and performing
+the search on that. This implies a <a href="shclass.html#deep-copy">deep copy</a> of the QCString data.
+If you are going to perform many QRegExp searches on a large
+QCString, you will get better performance by converting the
+QCString to a QString yourself, and then searching in the QString.
+<p>See also <a href="collection.html">Collection Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, <a href="text.html">Text Related Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCString"></a>QCString::QCString ()
+</h3>
+
+<p> Constructs a null string.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QCString-2"></a>QCString::QCString ( int&nbsp;size )
+</h3>
+Constructs a string with room for <em>size</em> characters, including
+the '&#92;0'-terminator. Makes a null string if <em>size</em> == 0.
+<p> If <em>size</em> &gt; 0, then the first and last characters in the string
+are initialized to '&#92;0'. All other characters are uninitialized.
+<p> <p>See also <a href="#resize">resize</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QCString-3"></a>QCString::QCString ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Constructs a <a href="shclass.html#shallow-copy">shallow copy</a> <em>s</em>.
+<p> <p>See also <a href="qmemarray.html#assign">assign</a>().
+
+<h3 class=fn><a name="QCString-4"></a>QCString::QCString ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>.
+<p> If <em>str</em> is 0 a null string is created.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QCString-5"></a>QCString::QCString ( const&nbsp;char&nbsp;*&nbsp;str, uint&nbsp;maxsize )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>. The copy will
+be at most <em>maxsize</em> bytes long including the '&#92;0'-terminator.
+<p> Example:
+<pre>
+ QCString str( "helloworld", 6 ); // assigns "hello" to str
+ </pre>
+
+<p> If <em>str</em> contains a 0 byte within the first <em>maxsize</em> bytes, the
+resulting QCString will be terminated by this 0. If <em>str</em> is 0 a
+null string is created.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="append"></a>QCString::append ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+
+<p> Appends string <em>str</em> to the string and returns a reference to the
+string. Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn>int <a name="contains"></a>QCString::contains ( char&nbsp;c, bool&nbsp;cs = TRUE ) const
+</h3>
+Returns the number of times the character <em>c</em> occurs in the
+string.
+<p> The match is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> if FALSE.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>int <a name="contains-2"></a>QCString::contains ( const&nbsp;char&nbsp;*&nbsp;str, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the number of times <em>str</em> occurs in the string.
+<p> The match is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> if FALSE.
+<p> This function counts overlapping substrings, for example, "banana"
+contains two occurrences of "ana".
+<p> <p>See also <a href="#findRev">findRev</a>() and <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>int <a name="contains-3"></a>QCString::contains ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Counts the number of overlapping occurrences of <em>rx</em> in the string.
+<p> Example:
+<pre>
+ <a href="qstring.html">QString</a> s = "banana and panama";
+ <a href="qregexp.html">QRegExp</a> r = QRegExp( "a[nm]a", TRUE, FALSE );
+ s.<a href="qstring.html#contains">contains</a>( r ); // 4 matches
+ </pre>
+
+<p> <p>See also <a href="#find">find</a>() and <a href="#findRev">findRev</a>().
+
+<p> <b>Warning:</b> If you want to apply this function repeatedly to the same
+string it is more efficient to convert the string to a <a href="qstring.html">QString</a> and
+apply the function to that.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="copy"></a>QCString::copy () const
+</h3>
+
+<p> Returns a <a href="shclass.html#deep-copy">deep copy</a> of this string.
+<p> <p>See also <a href="qmemarray.html#detach">detach</a>().
+
+<h3 class=fn>bool <a name="fill"></a>QCString::fill ( char&nbsp;c, int&nbsp;len = -1 )
+</h3>
+Fills the string with <em>len</em> bytes of character <em>c</em>, followed by
+a '&#92;0'-terminator.
+<p> If <em>len</em> is negative, then the current string length is used.
+<p> Returns FALSE is <em>len</em> is nonnegative and there is not enough
+memory to resize the string; otherwise returns TRUE.
+
+<h3 class=fn>int <a name="find"></a>QCString::find ( char&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const
+</h3>
+Finds the first occurrence of the character <em>c</em>, starting at
+position <em>index</em>.
+<p> The search is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> is FALSE.
+<p> Returns the position of <em>c</em>, or -1 if <em>c</em> could not be found.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<p>Example: <a href="networkprotocol-example.html#x663">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>int <a name="find-2"></a>QCString::find ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the string <em>str</em>, starting at
+position <em>index</em>.
+<p> The search is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> is FALSE.
+<p> Returns the position of <em>str</em>, or -1 if <em>str</em> could not be
+found.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>int <a name="find-3"></a>QCString::find ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, int&nbsp;index = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em>,
+starting at position <em>index</em>.
+<p> Returns the position of the next match, or -1 if <em>rx</em> was not
+found.
+<p> <b>Warning:</b> If you want to apply this function repeatedly to the same
+string it is more efficient to convert the string to a <a href="qstring.html">QString</a> and
+apply the function to that.
+
+<h3 class=fn>int <a name="findRev"></a>QCString::findRev ( char&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const
+</h3>
+Finds the first occurrence of the character <em>c</em>, starting at
+position <em>index</em> and searching backwards.
+<p> The search is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> is FALSE.
+<p> Returns the position of <em>c</em>, or -1 if <em>c</em> could not be found.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>int <a name="findRev-2"></a>QCString::findRev ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the string <em>str</em>, starting at
+position <em>index</em> and searching backwards.
+<p> The search is case sensitive if <em>cs</em> is TRUE, or case insensitive
+if <em>cs</em> is FALSE.
+<p> Returns the position of <em>str</em>, or -1 if <em>str</em> could not be
+found.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>int <a name="findRev-3"></a>QCString::findRev ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, int&nbsp;index = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em>,
+starting at position <em>index</em> and searching backwards.
+<p> Returns the position of the next match (backwards), or -1 if <em>rx</em>
+was not found.
+<p> <b>Warning:</b> If you want to apply this function repeatedly to the same
+string it is more efficient to convert the string to a <a href="qstring.html">QString</a> and
+apply the function to that.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="insert"></a>QCString::insert ( uint&nbsp;index, char&nbsp;c )
+</h3>
+Inserts character <em>c</em> into the string at position <em>index</em> and
+returns a reference to the string.
+<p> If <em>index</em> is beyond the end of the string, the string is
+padded with spaces (ASCII 32) to length <em>index</em> and then <em>c</em>
+is appended.
+<p> Example:
+<pre>
+ QCString s = "Yes";
+ s.<a href="#insert">insert</a>( 3, '!'); // s == "Yes!"
+ </pre>
+
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#replace">replace</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="insert-2"></a>QCString::insert ( uint&nbsp;index, const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts string <em>s</em> into the string at position <em>index</em>.
+<p> If <em>index</em> is beyond the end of the string, the string is
+padded with spaces (ASCII 32) to length <em>index</em> and then <em>s</em>
+is appended.
+<p> <pre>
+ QCString s = "I like fish";
+ s.<a href="#insert">insert</a>( 2, "don't "); // s == "I don't like fish"
+
+ s = "x"; // index 01234
+ s.<a href="#insert">insert</a>( 3, "yz" ); // s == "x yz"
+ </pre>
+
+
+<h3 class=fn>bool <a name="isEmpty"></a>QCString::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the string is empty, i.e. if <a href="#length">length</a>() == 0;
+otherwise returns FALSE. An empty string is not always a null
+string.
+<p> See example in <a href="#isNull">isNull</a>().
+<p> <p>See also <a href="#isNull">isNull</a>(), <a href="#length">length</a>(), and <a href="qmemarray.html#size">size</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QCString::isNull () const
+</h3>
+
+<p> Returns TRUE if the string is null, i.e. if <a href="qmemarray.html#data">data</a>() == 0; otherwise
+returns FALSE. A null string is also an empty string.
+<p> Example:
+<pre>
+ QCString a; // a.<a href="qmemarray.html#data">data</a>() == 0, a.<a href="qmemarray.html#size">size</a>() == 0, a.<a href="#length">length</a>() == 0
+ QCString b == ""; // b.<a href="qmemarray.html#data">data</a>() == "", b.<a href="qmemarray.html#size">size</a>() == 1, b.<a href="#length">length</a>() == 0
+ a.<a href="#isNull">isNull</a>(); // TRUE because a.<a href="qmemarray.html#data">data</a>() == 0
+ a.<a href="#isEmpty">isEmpty</a>(); // TRUE because a.<a href="#length">length</a>() == 0
+ b.<a href="#isNull">isNull</a>(); // FALSE because b.<a href="qmemarray.html#data">data</a>() == ""
+ b.<a href="#isEmpty">isEmpty</a>(); // TRUE because b.<a href="#length">length</a>() == 0
+ </pre>
+
+<p> <p>See also <a href="#isEmpty">isEmpty</a>(), <a href="#length">length</a>(), and <a href="qmemarray.html#size">size</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="left"></a>QCString::left ( uint&nbsp;len ) const
+</h3>
+Returns a substring that contains the <em>len</em> leftmost characters
+of the string.
+<p> The whole string is returned if <em>len</em> exceeds the length of the
+string.
+<p> Example:
+<pre>
+ QCString s = "Pineapple";
+ QCString t = s.<a href="#left">left</a>( 4 ); // t == "Pine"
+ </pre>
+
+<p> <p>See also <a href="#right">right</a>() and <a href="#mid">mid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x664">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="leftJustify"></a>QCString::leftJustify ( uint&nbsp;width, char&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const
+</h3>
+Returns a string of length <em>width</em> (plus one for the terminating
+'&#92;0') that contains this string padded with the <em>fill</em> character.
+<p> If the length of the string exceeds <em>width</em> and <em>truncate</em> is
+FALSE (the default), then the returned string is a copy of the
+string. If the length of the string exceeds <em>width</em> and <em>truncate</em> is TRUE, then the returned string is a <a href="#left">left</a>(<em>width</em>).
+<p> Example:
+<pre>
+ QCString s("apple");
+ QCString t = s.<a href="#leftJustify">leftJustify</a>(8, '.'); // t == "apple..."
+ </pre>
+
+<p> <p>See also <a href="#rightJustify">rightJustify</a>().
+
+<h3 class=fn>uint <a name="length"></a>QCString::length () const
+</h3>
+
+<p> Returns the length of the string, excluding the '&#92;0'-terminator.
+Equivalent to calling <tt>strlen(data())</tt>.
+<p> Null strings and empty strings have zero length.
+<p> <p>See also <a href="qmemarray.html#size">size</a>(), <a href="#isNull">isNull</a>(), and <a href="#isEmpty">isEmpty</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x665">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="lower"></a>QCString::lower () const
+</h3>
+Returns a new string that is a copy of this string converted to lower
+case.
+<p> Example:
+<pre>
+ QCString s("Credit");
+ QCString t = s.<a href="#lower">lower</a>(); // t == "credit"
+ </pre>
+
+<p> <p>See also <a href="#upper">upper</a>() and <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="mid"></a>QCString::mid ( uint&nbsp;index, uint&nbsp;len = 0xffffffff ) const
+</h3>
+Returns a substring that contains at most <em>len</em> characters from
+this string, starting at position <em>index</em>.
+<p> Returns a null string if the string is empty or if <em>index</em> is out
+of range. Returns the whole string from <em>index</em> if <em>index+len</em>
+exceeds the length of the string.
+<p> Example:
+<pre>
+ QCString s = "Two pineapples";
+ QCString t = s.<a href="#mid">mid</a>( 4, 3 ); // t == "pin"
+ </pre>
+
+<p> <p>See also <a href="#left">left</a>() and <a href="#right">right</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x666">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a name="operator-const-char-*"></a>QCString::operator const char * () const
+</h3>
+
+<p> Returns the string data.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="operator+-eq"></a>QCString::operator+= ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+Appends string <em>str</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="operator+-eq-2"></a>QCString::operator+= ( char&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends character <em>c</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="operator-eq"></a>QCString::operator= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Assigns a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>s</em> to this string and returns a
+reference to this string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="operator-eq-2"></a>QCString::operator= ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em> to this string and returns a
+reference to this string.
+<p> If <em>str</em> is 0 a null string is created.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="prepend"></a>QCString::prepend ( const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+
+<p> Prepend <em>s</em> to the string. Equivalent to <a href="#insert">insert</a>(0, s).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="remove"></a>QCString::remove ( uint&nbsp;index, uint&nbsp;len )
+</h3>
+Removes <em>len</em> characters from the string, starting at position <em>index</em>, and returns a reference to the string.
+<p> If <em>index</em> is out of range, nothing happens. If <em>index</em> is
+valid, but <em>index</em> + <em>len</em> is larger than the length of the
+string, the string is truncated at position <em>index</em>.
+<p> <pre>
+ QCString s = "Montreal";
+ s.<a href="#remove">remove</a>( 1, 4 ); // s == "Meal"
+ </pre>
+
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#replace">replace</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x667">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="replace"></a>QCString::replace ( uint&nbsp;index, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+Replaces <em>len</em> characters from the string, starting at position
+<em>index</em>, with <em>str</em>, and returns a reference to the string.
+<p> If <em>index</em> is out of range, nothing is removed and <em>str</em> is
+appended at the end of the string. If <em>index</em> is valid, but <em>index</em> + <em>len</em> is larger than the length of the string, <em>str</em>
+replaces the rest of the string from position <em>index</em>.
+<p> <pre>
+ QCString s = "Say yes!";
+ s.<a href="#replace">replace</a>( 4, 3, "NO" ); // s == "Say NO!"
+ </pre>
+
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="replace-2"></a>QCString::replace ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of <em>rx</em> in the string with <em>str</em>.
+Returns a reference to the string.
+<p> Example:
+<pre>
+ <a href="qstring.html">QString</a> s = "banana";
+ s.<a href="qstring.html#replace">replace</a>( QRegExp("a.*a"), "" ); // becomes "b"
+
+ s = "banana";
+ s.<a href="qstring.html#replace">replace</a>( QRegExp("^[bn]a"), "X" ); // becomes "Xnana"
+
+ s = "banana";
+ s.<a href="qstring.html#replace">replace</a>( QRegExp("^[bn]a"), "" ); // becomes "nana"
+ </pre>
+
+<p> <b>Warning:</b> If you want to apply this function repeatedly to the same
+string it is more efficient to convert the string to a <a href="qstring.html">QString</a> and
+apply the function to that.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="replace-3"></a>QCString::replace ( char&nbsp;c, const&nbsp;char&nbsp;*&nbsp;after )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the character <em>c</em> in the string
+with <em>after</em>. Returns a reference to the string.
+<p> Example:
+<pre>
+ QCString s = "a,b,c";
+ s.<a href="#replace">replace</a>( ',', " or " );
+ // s == "a or b or c"
+ </pre>
+
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="replace-4"></a>QCString::replace ( const&nbsp;char&nbsp;*&nbsp;before, const&nbsp;char&nbsp;*&nbsp;after )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the string <em>before</em> in the string
+with the string <em>after</em>. Returns a reference to the string.
+<p> Example:
+<pre>
+ QCString s = "Greek is Greek";
+ s.<a href="#replace">replace</a>( "Greek", "English" );
+ // s == "English is English"
+ </pre>
+
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="replace-5"></a>QCString::replace ( char&nbsp;c1, char&nbsp;c2 )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of <em>c1</em> with the char <em>c2</em>.
+Returns a reference to the string.
+
+<h3 class=fn>bool <a name="resize"></a>QCString::resize ( uint&nbsp;len )
+</h3>
+Extends or shrinks the string to <em>len</em> bytes, including the
+'&#92;0'-terminator.
+<p> A '&#92;0'-terminator is set at position <tt>len - 1</tt> unless
+<tt>len == 0</tt>.
+<p> Example:
+<pre>
+ QCString s = "resize this string";
+ s.<a href="#resize">resize</a>( 7 ); // s == "resize"
+ </pre>
+
+<p> <p>See also <a href="#truncate">truncate</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x668">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="right"></a>QCString::right ( uint&nbsp;len ) const
+</h3>
+Returns a substring that contains the <em>len</em> rightmost characters
+of the string.
+<p> The whole string is returned if <em>len</em> exceeds the length of the
+string.
+<p> Example:
+<pre>
+ QCString s = "Pineapple";
+ QCString t = s.<a href="#right">right</a>( 5 ); // t == "apple"
+ </pre>
+
+<p> <p>See also <a href="#left">left</a>() and <a href="#mid">mid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x669">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="rightJustify"></a>QCString::rightJustify ( uint&nbsp;width, char&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const
+</h3>
+Returns a string of length <em>width</em> (plus one for the terminating
+'&#92;0') that contains zero or more of the <em>fill</em> character followed
+by this string.
+<p> If the length of the string exceeds <em>width</em> and <em>truncate</em> is
+FALSE (the default), then the returned string is a copy of the
+string. If the length of the string exceeds <em>width</em> and <em>truncate</em> is TRUE, then the returned string is a <a href="#left">left</a>(<em>width</em>).
+<p> Example:
+<pre>
+ QCString s("pie");
+ QCString t = s.<a href="#rightJustify">rightJustify</a>(8, '.'); // t == ".....pie"
+ </pre>
+
+<p> <p>See also <a href="#leftJustify">leftJustify</a>().
+
+<h3 class=fn>bool <a name="setExpand"></a>QCString::setExpand ( uint&nbsp;index, char&nbsp;c )
+</h3>
+Sets the character at position <em>index</em> to <em>c</em> and expands the
+string if necessary, padding with spaces.
+<p> Returns FALSE if <em>index</em> was out of range and the string could
+not be expanded; otherwise returns TRUE.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum"></a>QCString::setNum ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )
+</h3>
+Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+<p> The format of the string representation is specified by the format
+character <em>f</em>, and the precision (number of digits after the
+decimal point) is specified with <em>prec</em>.
+<p> The valid formats for <em>f</em> are 'e', 'E', 'f', 'g' and 'G'. The
+formats are the same as for <a href="#sprintf">sprintf</a>(); they are explained in <a href="qstring.html#arg">QString::arg</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-2"></a>QCString::setNum ( short&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-3"></a>QCString::setNum ( ushort&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-4"></a>QCString::setNum ( int&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-5"></a>QCString::setNum ( uint&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-6"></a>QCString::setNum ( long&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-7"></a>QCString::setNum ( ulong&nbsp;n )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the string representation of the number <em>n</em>
+and returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setNum-8"></a>QCString::setNum ( float&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="setStr"></a>QCString::setStr ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+Makes a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>. Returns a reference to the string.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="simplifyWhiteSpace"></a>QCString::simplifyWhiteSpace () const
+</h3>
+Returns a new string that has white space removed from the start
+and the end, plus any sequence of internal white space replaced
+with a single space (ASCII 32).
+<p> White space means the decimal ASCII codes 9, 10, 11, 12, 13 and
+32.
+<p> <pre>
+ QCString s = " lots\t of\nwhite space ";
+ QCString t = s.<a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>(); // t == "lots of white space"
+ </pre>
+
+<p> <p>See also <a href="#stripWhiteSpace">stripWhiteSpace</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="sprintf"></a>QCString::sprintf ( const&nbsp;char&nbsp;*&nbsp;format, ... )
+</h3>
+Implemented as a call to the native vsprintf() (see the manual for
+your C library).
+<p> If the string is shorter than 256 characters, this <a href="#sprintf">sprintf</a>() calls
+<a href="#resize">resize</a>(256) to decrease the chance of memory corruption. The
+string is resized back to its actual length before sprintf()
+returns.
+<p> Example:
+<pre>
+ QCString s;
+ s.<a href="#sprintf">sprintf</a>( "%d - %s", 1, "first" ); // result &lt; 256 chars
+
+ QCString big( 25000 ); // very long string
+ big.<a href="#sprintf">sprintf</a>( "%d - %s", 2, longString ); // result &lt; 25000 chars
+ </pre>
+
+<p> <b>Warning:</b> All vsprintf() implementations will write past the end of
+the target string (*this) if the <em>format</em> specification and
+arguments happen to be longer than the target string, and some
+will also fail if the target string is longer than some arbitrary
+implementation limit.
+<p> Giving user-supplied arguments to sprintf() is risky: Sooner or
+later someone will paste a huge line into your application.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="stripWhiteSpace"></a>QCString::stripWhiteSpace () const
+</h3>
+Returns a new string that has white space removed from the start
+and the end.
+<p> White space means the decimal ASCII codes 9, 10, 11, 12, 13 and
+32.
+<p> Example:
+<pre>
+ QCString s = " space ";
+ QCString t = s.<a href="#stripWhiteSpace">stripWhiteSpace</a>(); // t == "space"
+ </pre>
+
+<p> <p>See also <a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>().
+
+<h3 class=fn>double <a name="toDouble"></a>QCString::toDouble ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>double</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>float <a name="toFloat"></a>QCString::toFloat ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>float</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>int <a name="toInt"></a>QCString::toInt ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>int</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>long <a name="toLong"></a>QCString::toLong ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>long</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>short <a name="toShort"></a>QCString::toShort ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>short</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, is out of range, or if it has trailing garbage; otherwise
+<em>*ok</em> is set to TRUE.
+
+<h3 class=fn>uint <a name="toUInt"></a>QCString::toUInt ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to an <tt>unsigned int</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>ulong <a name="toULong"></a>QCString::toULong ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to an <tt>unsigned long</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, or if it has trailing garbage; otherwise <em>*ok</em> is set to
+TRUE.
+
+<h3 class=fn>ushort <a name="toUShort"></a>QCString::toUShort ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to an <tt>unsigned short</tt> value.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to FALSE if the string is not a
+number, is out of range, or if it has trailing garbage; otherwise
+<em>*ok</em> is set to TRUE.
+
+<h3 class=fn>bool <a name="truncate"></a>QCString::truncate ( uint&nbsp;pos )
+</h3>
+
+<p> Truncates the string at position <em>pos</em>.
+<p> Equivalent to calling <tt>resize(pos+1)</tt>.
+<p> Example:
+<pre>
+ QCString s = "truncate this string";
+ s.<a href="#truncate">truncate</a>( 5 ); // s == "trunc"
+ </pre>
+
+<p> <p>See also <a href="#resize">resize</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="upper"></a>QCString::upper () const
+</h3>
+Returns a new string that is a copy of this string converted to upper case.
+<p> Example:
+<pre>
+ QCString s( "Debit" );
+ QCString t = s.<a href="#upper">upper</a>(); // t == "DEBIT"
+ </pre>
+
+<p> <p>See also <a href="#lower">lower</a>() and <a href="#asciinotion">Note on character comparisons</a>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>bool <a name="operator!-eq"></a>operator!= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are different; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) != 0.
+
+<h3 class=fn>bool <a name="operator!-eq-2"></a>operator!= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are different; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) != 0.
+
+<h3 class=fn>bool <a name="operator!-eq-3"></a>operator!= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are different; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) != 0.
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="operator+"></a>operator+ ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns a string which consists of the concatenation of <em>s1</em> and
+<em>s2</em>.
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="operator+-2"></a>operator+ ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which consists of the concatenation of <em>s1</em> and <em>s2</em>.
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="operator+-3"></a>operator+ ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which consists of the concatenation of <em>s1</em> and <em>s2</em>.
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="operator+-4"></a>operator+ ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s, char&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which consists of the concatenation of <em>s</em> and <em>c</em>.
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="operator+-5"></a>operator+ ( char&nbsp;c, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which consists of the concatenation of <em>c</em> and <em>s</em>.
+
+<h3 class=fn>bool <a name="operator-lt"></a>operator&lt; ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is less than <em>s2</em>; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &lt; 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-lt-2"></a>operator&lt; ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is less than <em>s2</em>; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &lt; 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+<p> Writes string <em>str</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>operator&lt;= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is less than or equal to <em>s2</em>; otherwise
+returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &lt;= 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-lt-eq-2"></a>operator&lt;= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is less than or equal to <em>s2</em>; otherwise
+returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &lt;= 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are equal; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) == 0.
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>operator== ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are equal; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) == 0.
+
+<h3 class=fn>bool <a name="operator-eq-eq-3"></a>operator== ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> and <em>s2</em> are equal; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) == 0.
+
+<h3 class=fn>bool <a name="operator-gt"></a>operator&gt; ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is greater than <em>s2</em>; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &gt; 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-gt-2"></a>operator&gt; ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is greater than <em>s2</em>; otherwise returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &gt; 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>operator&gt;= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is greater than or equal to <em>s2</em>; otherwise
+returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &gt;= 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>bool <a name="operator-gt-eq-2"></a>operator&gt;= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is greater than or equal to <em>s2</em>; otherwise
+returns FALSE.
+<p> Equivalent to <a href="#qstrcmp">qstrcmp</a>(<em>s1</em>, <em>s2</em>) &gt;= 0.
+<p> <p>See also <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+<p> Reads a string into <em>str</em> from the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>void * <a name="qmemmove"></a>qmemmove ( void&nbsp;*&nbsp;dst, const&nbsp;void&nbsp;*&nbsp;src, uint&nbsp;len )
+</h3>
+
+<p> This function is normally part of the C library. Qt implements
+memmove() for platforms that do not provide it.
+<p> memmove() copies <em>len</em> bytes from <em>src</em> into <em>dst</em>. The data
+is copied correctly even if <em>src</em> and <em>dst</em> overlap.
+
+<h3 class=fn>int <a name="qstrcmp"></a>qstrcmp ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2 )
+</h3>
+
+<p>
+<p> A safe strcmp() function.
+<p> Compares <em>str1</em> and <em>str2</em>. Returns a negative value if <em>str1</em>
+is less than <em>str2</em>, 0 if <em>str1</em> is equal to <em>str2</em> or a
+positive value if <em>str1</em> is greater than <em>str2</em>.
+<p> Special case I: Returns 0 if <em>str1</em> and <em>str2</em> are both 0.
+<p> Special case II: Returns a random nonzero value if <em>str1</em> is 0
+or <em>str2</em> is 0 (but not both).
+<p> <p>See also <a href="#qstrncmp">qstrncmp</a>(), <a href="#qstricmp">qstricmp</a>(), <a href="#qstrnicmp">qstrnicmp</a>(), and <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>char * <a name="qstrcpy"></a>qstrcpy ( char&nbsp;*&nbsp;dst, const&nbsp;char&nbsp;*&nbsp;src )
+</h3>
+
+<p>
+<p> A safe strcpy() function.
+<p> Copies all characters up to and including the '&#92;0' from <em>src</em>
+into <em>dst</em> and returns a pointer to <em>dst</em>.
+
+<h3 class=fn>char * <a name="qstrdup"></a>qstrdup ( const&nbsp;char&nbsp;*&nbsp;src )
+</h3>
+
+<p> Returns a duplicate string.
+<p> Allocates space for a copy of <em>src</em>, copies it, and returns a
+pointer to the copy. If <em>src</em> is 0, it immediately returns 0.
+<p> The returned string must be deleted using <tt>delete[]</tt>.
+
+<h3 class=fn>int <a name="qstricmp"></a>qstricmp ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2 )
+</h3>
+
+<p> A safe stricmp() function.
+<p> Compares <em>str1</em> and <em>str2</em> ignoring the case.
+<p> Returns a negative value if <em>str1</em> is less than <em>str2</em>, 0 if <em>str1</em> is equal to <em>str2</em> or a positive value if <em>str1</em> is greater
+than <em>str2</em>.
+<p> Special case I: Returns 0 if <em>str1</em> and <em>str2</em> are both 0.
+<p> Special case II: Returns a random nonzero value if <em>str1</em> is 0
+or <em>str2</em> is 0 (but not both).
+<p> <p>See also <a href="#qstrcmp">qstrcmp</a>(), <a href="#qstrncmp">qstrncmp</a>(), <a href="#qstrnicmp">qstrnicmp</a>(), and <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>uint <a name="qstrlen"></a>qstrlen ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+
+<p>
+<p> A safe strlen function.
+<p> Returns the number of characters that precede the terminating '&#92;0'.
+or 0 if <em>str</em> is 0.
+
+<h3 class=fn>int <a name="qstrncmp"></a>qstrncmp ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2, uint&nbsp;len )
+</h3>
+
+<p>
+<p> A safe strncmp() function.
+<p> Compares at most <em>len</em> bytes of <em>str1</em> and <em>str2</em>.
+<p> Returns a negative value if <em>str1</em> is less than <em>str2</em>, 0 if <em>str1</em> is equal to <em>str2</em> or a positive value if <em>str1</em> is greater
+than <em>str2</em>.
+<p> Special case I: Returns 0 if <em>str1</em> and <em>str2</em> are both 0.
+<p> Special case II: Returns a random nonzero value if <em>str1</em> is 0
+or <em>str2</em> is 0 (but not both).
+<p> <p>See also <a href="#qstrcmp">qstrcmp</a>(), <a href="#qstricmp">qstricmp</a>(), <a href="#qstrnicmp">qstrnicmp</a>(), and <a href="#asciinotion">Note on character comparisons</a>.
+
+<h3 class=fn>char * <a name="qstrncpy"></a>qstrncpy ( char&nbsp;*&nbsp;dst, const&nbsp;char&nbsp;*&nbsp;src, uint&nbsp;len )
+</h3>
+
+<p> A safe strncpy() function.
+<p> Copies at most <em>len</em> bytes from <em>src</em> (stopping at <em>len</em> or the
+terminating '&#92;0' whichever comes first) into <em>dst</em> and returns a
+pointer to <em>dst</em>. Guarantees that <em>dst</em> is '&#92;0'-terminated. If
+<em>src</em> or <em>dst</em> is 0, returns 0 immediately.
+<p> <p>See also <a href="#qstrcpy">qstrcpy</a>().
+
+<h3 class=fn>int <a name="qstrnicmp"></a>qstrnicmp ( const&nbsp;char&nbsp;*&nbsp;str1, const&nbsp;char&nbsp;*&nbsp;str2, uint&nbsp;len )
+</h3>
+
+<p> A safe strnicmp() function.
+<p> Compares at most <em>len</em> bytes of <em>str1</em> and <em>str2</em> ignoring the case.
+<p> Returns a negative value if <em>str1</em> is less than <em>str2</em>, 0 if <em>str1</em>
+is equal to <em>str2</em> or a positive value if <em>str1</em> is greater than <em>str2</em>.
+<p> Special case I: Returns 0 if <em>str1</em> and <em>str2</em> are both 0.
+<p> Special case II: Returns a random nonzero value if <em>str1</em> is 0
+or <em>str2</em> is 0 (but not both).
+<p> <p>See also <a href="#qstrcmp">qstrcmp</a>(), <a href="#qstrncmp">qstrncmp</a>(), <a href="#qstricmp">qstricmp</a>(), and <a href="#asciinotion">Note on character comparisons</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcursor-h.html b/doc/html/qcursor-h.html
new file mode 100644
index 0000000..0823646
--- /dev/null
+++ b/doc/html/qcursor-h.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcursor.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qcursor.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qcursor.h</h1>
+
+<p>This is the verbatim text of the qcursor.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qcursor.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QCursor class
+**
+** Created : 940219
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QCURSOR_H
+#define QCURSOR_H
+
+#ifndef QT_H
+#include "qpoint.h"
+#include "qshared.h"
+#endif // QT_H
+
+/*
+ ### The fake cursor has to go first with old qdoc.
+*/
+#ifdef QT_NO_CURSOR
+
+class Q_EXPORT QCursor : public Qt
+{
+public:
+ static QPoint pos();
+ static void setPos( int x, int y );
+ static void setPos( const QPoint &amp; );
+private:
+ QCursor();
+};
+
+#endif // QT_NO_CURSOR
+
+#ifndef QT_NO_CURSOR
+
+struct QCursorData;
+
+
+class Q_EXPORT QCursor : public Qt
+{
+public:
+ QCursor(); // create default arrow cursor
+ QCursor( int shape );
+ QCursor( const QBitmap &amp;bitmap, const QBitmap &amp;mask,
+ int hotX=-1, int hotY=-1 );
+ QCursor( const QPixmap &amp;pixmap,
+ int hotX=-1, int hotY=-1 );
+ QCursor( const QCursor &amp; );
+ ~QCursor();
+ QCursor &amp;operator=( const QCursor &amp; );
+
+ int shape() const;
+ void setShape( int );
+
+ const QBitmap *bitmap() const;
+ const QBitmap *mask() const;
+ QPoint hotSpot() const;
+
+#if defined(Q_WS_WIN)
+ HCURSOR handle() const;
+ QCursor( HCURSOR );
+#elif defined(Q_WS_X11)
+ HANDLE handle() const;
+ QCursor( HANDLE );
+#elif defined(Q_WS_MAC)
+ HANDLE handle() const;
+#elif defined(Q_WS_QWS)
+ HANDLE handle() const;
+#endif
+
+ static QPoint pos();
+ static void setPos( int x, int y );
+ static void setPos( const QPoint &amp; );
+
+ static void initialize();
+ static void cleanup();
+
+#if defined(Q_WS_X11)
+ static int x11Screen();
+#endif
+private:
+ void setBitmap( const QBitmap &amp;bitmap, const QBitmap &amp;mask,
+ int hotX, int hotY );
+ void update() const;
+ QCursorData *data;
+ QCursor *find_cur(int);
+#if defined(Q_WS_MAC)
+ friend void qt_mac_set_cursor(const QCursor *c, const Point *p);
+#endif
+};
+
+
+#if !defined(QT_CLEAN_NAMESPACE)
+// CursorShape is defined in X11/X.h
+#ifdef CursorShape
+#define X_CursorShape CursorShape
+#undef CursorShape
+#endif
+typedef Qt::CursorShape QCursorShape;
+#ifdef X_CursorShape
+#define CursorShape X_CursorShape
+#endif
+#endif
+
+
+/*****************************************************************************
+ QCursor stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QCursor &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QCursor &amp; );
+#endif
+#endif // QT_NO_CURSOR
+
+
+inline void QCursor::setPos( const QPoint &amp;p )
+{
+ setPos( p.x(), p.y() );
+}
+
+#endif // QCURSOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcursor-members.html b/doc/html/qcursor-members.html
new file mode 100644
index 0000000..136e50f
--- /dev/null
+++ b/doc/html/qcursor-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qcursor.h:68 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCursor Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCursor</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcursor.html">QCursor</a>, including inherited members.
+
+<ul>
+<li><a href="qcursor.html#QCursor">QCursor</a>()
+<li><a href="qcursor.html#~QCursor">~QCursor</a>()
+<li><a href="qcursor.html#bitmap">bitmap</a>()
+<li><a href="qcursor.html#cleanup">cleanup</a>()
+<li><a href="qcursor.html#handle">handle</a>()
+<li><a href="qcursor.html#hotSpot">hotSpot</a>()
+<li><a href="qcursor.html#initialize">initialize</a>()
+<li><a href="qcursor.html#mask">mask</a>()
+<li><a href="qcursor.html#operator-eq">operator=</a>()
+<li><a href="qcursor.html#pos">pos</a>()
+<li><a href="qcursor.html#setPos">setPos</a>()
+<li><a href="qcursor.html#setShape">setShape</a>()
+<li><a href="qcursor.html#shape">shape</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcursor.html b/doc/html/qcursor.html
new file mode 100644
index 0000000..927c182
--- /dev/null
+++ b/doc/html/qcursor.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qcursor.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCursor Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCursor Class Reference</h1>
+
+<p>The QCursor class provides a mouse cursor with an arbitrary
+shape.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qcursor-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCursor"><b>QCursor</b></a> ()</li>
+<li class=fn><a href="#QCursor-2"><b>QCursor</b></a> ( int&nbsp;shape )</li>
+<li class=fn><a href="#QCursor-3"><b>QCursor</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;bitmap, const&nbsp;QBitmap&nbsp;&amp;&nbsp;mask, int&nbsp;hotX = -1, int&nbsp;hotY = -1 )</li>
+<li class=fn><a href="#QCursor-4"><b>QCursor</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;hotX = -1, int&nbsp;hotY = -1 )</li>
+<li class=fn><a href="#QCursor-5"><b>QCursor</b></a> ( const&nbsp;QCursor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn><a href="#~QCursor"><b>~QCursor</b></a> ()</li>
+<li class=fn>QCursor &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QCursor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>int <a href="#shape"><b>shape</b></a> () const</li>
+<li class=fn>void <a href="#setShape"><b>setShape</b></a> ( int&nbsp;shape )</li>
+<li class=fn>const QBitmap * <a href="#bitmap"><b>bitmap</b></a> () const</li>
+<li class=fn>const QBitmap * <a href="#mask"><b>mask</b></a> () const</li>
+<li class=fn>QPoint <a href="#hotSpot"><b>hotSpot</b></a> () const</li>
+<li class=fn>HCURSOR <b>handle</b> () const</li>
+<li class=fn><a href="#QCursor-6"><b>QCursor</b></a> ( HCURSOR&nbsp;handle )</li>
+<li class=fn>HANDLE <a href="#handle"><b>handle</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QPoint <a href="#pos"><b>pos</b></a> ()</li>
+<li class=fn>void <a href="#setPos"><b>setPos</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#setPos-2"><b>setPos</b></a> ( const QPoint &amp; )</li>
+<li class=fn>void <a href="#initialize"><b>initialize</b></a> ()</li>
+<li class=fn>void <a href="#cleanup"><b>cleanup</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QCursor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QCursor&nbsp;&amp;&nbsp;c )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QCursor class provides a mouse cursor with an arbitrary
+shape.
+<p>
+
+<p> This class is mainly used to create mouse cursors that are
+associated with particular widgets and to get and set the position
+of the mouse cursor.
+<p> Qt has a number of standard cursor shapes, but you can also make
+custom cursor shapes based on a <a href="qbitmap.html">QBitmap</a>, a mask and a hotspot.
+<p> To associate a cursor with a widget, use <a href="qwidget.html#setCursor">QWidget::setCursor</a>(). To
+associate a cursor with all widgets (normally for a short period
+of time), use <a href="qapplication.html#setOverrideCursor">QApplication::setOverrideCursor</a>().
+<p> To set a cursor shape use <a href="#setShape">QCursor::setShape</a>() or use the QCursor
+constructor which takes the shape as argument, or you can use one
+of the predefined cursors defined in the <a href="qt.html#CursorShape-enum">CursorShape</a> enum.
+<p> If you want to create a cursor with your own bitmap, either use
+the QCursor constructor which takes a bitmap and a mask or the
+constructor which takes a pixmap as arguments.
+<p> To set or get the position of the mouse cursor use the static
+methods <a href="#pos">QCursor::pos</a>() and <a href="#setPos">QCursor::setPos</a>().
+<p> <center><img src="cursors.png" alt="Cursor Shapes"></center>
+<p> <p>See also <a href="qwidget.html">QWidget</a>, <a href="guibooks.html#fowler">GUI Design Handbook:
+ Cursors</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<p> On X11, Qt supports the <a href="http://www.xfree86.org/4.3.0/Xcursor.3.html">Xcursor</a>
+library, which allows for full color icon themes. The table below
+shows the cursor name used for each Qt::CursorShape value. If a
+cursor cannot be found using the name shown below, a standard X11
+cursor will be used instead. Note: X11 does not provide
+appropriate cursors for all possible Qt::CursorShape values. It
+is possible that some cursors will be taken from the Xcursor
+theme, while others will use an internal bitmap cursor.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Qt::CursorShape Values <th valign="top">Cursor Names
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::ArrowCursor <td valign="top">left_ptr
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::UpArrowCursor <td valign="top">up_arrow
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::CrossCursor <td valign="top">cross
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::WaitCursor <td valign="top">wait
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::BusyCursor <td valign="top">left_ptr_watch
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::IbeamCursor <td valign="top">ibeam
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::SizeVerCursor <td valign="top">size_ver
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::SizeHorCursor <td valign="top">size_hor
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::SizeBDiagCursor <td valign="top">size_bdiag
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::SizeFDiagCursor <td valign="top">size_fdiag
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::SizeAllCursor <td valign="top">size_all
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::SplitVCursor <td valign="top">split_v
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::SplitHCursor <td valign="top">split_h
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::PointingHandCursor <td valign="top">pointing_hand
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt::ForbiddenCursor <td valign="top">forbidden
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt::WhatsThisCursor <td valign="top">whats_this
+</table></center>
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCursor"></a>QCursor::QCursor ()
+</h3>
+Constructs a cursor with the default arrow shape.
+
+<h3 class=fn><a name="QCursor-2"></a>QCursor::QCursor ( int&nbsp;shape )
+</h3>
+Constructs a cursor with the specified <em>shape</em>.
+<p> See <a href="qt.html#CursorShape-enum">CursorShape</a> for a list of shapes.
+<p> <p>See also <a href="#setShape">setShape</a>().
+
+<h3 class=fn><a name="QCursor-3"></a>QCursor::QCursor ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;bitmap, const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;mask, int&nbsp;hotX = -1, int&nbsp;hotY = -1 )
+</h3>
+Constructs a custom bitmap cursor.
+<p> <em>bitmap</em> and
+<em>mask</em> make up the bitmap.
+<em>hotX</em> and
+<em>hotY</em> define the cursor's hot spot.
+<p> If <em>hotX</em> is negative, it is set to the <tt>bitmap().width()/2</tt>.
+If <em>hotY</em> is negative, it is set to the <tt>bitmap().height()/2</tt>.
+<p> The cursor <em>bitmap</em> (B) and <em>mask</em> (M) bits are combined like this:
+<ul>
+<li> B=1 and M=1 gives black.
+<li> B=0 and M=1 gives white.
+<li> B=0 and M=0 gives transparent.
+<li> B=1 and M=0 gives an undefined result.
+</ul>
+<p> Use the global Qt color <tt>color0</tt> to draw 0-pixels and <tt>color1</tt> to
+draw 1-pixels in the bitmaps.
+<p> Valid cursor sizes depend on the display hardware (or the
+underlying window system). We recommend using 32x32 cursors,
+because this size is supported on all platforms. Some platforms
+also support 16x16, 48x48 and 64x64 cursors.
+<p> <p>See also <a href="qbitmap.html#QBitmap">QBitmap::QBitmap</a>() and <a href="qpixmap.html#setMask">QBitmap::setMask</a>().
+
+<h3 class=fn><a name="QCursor-4"></a>QCursor::QCursor ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;hotX = -1, int&nbsp;hotY = -1 )
+</h3>
+Constructs a custom pixmap cursor.
+<p> <em>pixmap</em> is the image. It is usual to give it a mask (set using
+<a href="qpixmap.html#setMask">QPixmap::setMask</a>()). <em>hotX</em> and <em>hotY</em> define the cursor's hot
+spot.
+<p> If <em>hotX</em> is negative, it is set to the <tt>pixmap().width()/2</tt>.
+If <em>hotY</em> is negative, it is set to the <tt>pixmap().height()/2</tt>.
+<p> Valid cursor sizes depend on the display hardware (or the
+underlying window system). We recommend using 32x32 cursors,
+because this size is supported on all platforms. Some platforms
+also support 16x16, 48x48 and 64x64 cursors.
+<p> Currently, only black-and-white pixmaps can be used.
+<p> <p>See also <a href="qpixmap.html#QPixmap">QPixmap::QPixmap</a>() and <a href="qpixmap.html#setMask">QPixmap::setMask</a>().
+
+<h3 class=fn><a name="QCursor-5"></a>QCursor::QCursor ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Constructs a copy of the cursor <em>c</em>.
+
+<h3 class=fn><a name="QCursor-6"></a>QCursor::QCursor ( HCURSOR&nbsp;handle )
+</h3>
+
+<p> Creates a cursor with the specified window system handle <em>handle</em>.
+<p> <b>Warning:</b>
+Portable in principle, but if you use it you are probably about to
+do something non-portable. Be careful.
+
+<h3 class=fn><a name="~QCursor"></a>QCursor::~QCursor ()
+</h3>
+Destroys the cursor.
+
+<h3 class=fn>const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;* <a name="bitmap"></a>QCursor::bitmap () const
+</h3>
+Returns the cursor bitmap, or 0 if it is one of the standard
+cursors.
+
+<h3 class=fn>void <a name="cleanup"></a>QCursor::cleanup ()<tt> [static]</tt>
+</h3>
+Internal function that deinitializes the predefined cursors.
+This function is called from the <a href="qapplication.html">QApplication</a> destructor.
+<p> <p>See also <a href="#initialize">initialize</a>().
+
+<h3 class=fn>HANDLE <a name="handle"></a>QCursor::handle () const
+</h3>
+Returns the window system cursor handle.
+<p> <b>Warning:</b>
+Portable in principle, but if you use it you are probably about to
+do something non-portable. Be careful.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="hotSpot"></a>QCursor::hotSpot () const
+</h3>
+Returns the cursor hot spot, or (0, 0) if it is one of the
+standard cursors.
+
+<h3 class=fn>void <a name="initialize"></a>QCursor::initialize ()<tt> [static]</tt>
+</h3>
+Internal function that initializes the predefined cursors.
+This function is called from the <a href="qapplication.html">QApplication</a> constructor.
+<p> <p>See also <a href="#cleanup">cleanup</a>().
+
+<h3 class=fn>const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;* <a name="mask"></a>QCursor::mask () const
+</h3>
+Returns the cursor bitmap mask, or 0 if it is one of the standard
+cursors.
+
+<h3 class=fn><a href="qcursor.html">QCursor</a>&nbsp;&amp; <a name="operator-eq"></a>QCursor::operator= ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Assigns <em>c</em> to this cursor and returns a reference to this
+cursor.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pos"></a>QCursor::pos ()<tt> [static]</tt>
+</h3>
+Returns the position of the cursor (hot spot) in global screen
+coordinates.
+<p> You can call <a href="qwidget.html#mapFromGlobal">QWidget::mapFromGlobal</a>() to translate it to widget
+coordinates.
+<p> <p>See also <a href="#setPos">setPos</a>(), <a href="qwidget.html#mapFromGlobal">QWidget::mapFromGlobal</a>(), and <a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>().
+
+<p>Examples: <a href="tutorial2-06.html#x2579">chart/canvasview.cpp</a>, <a href="fileiconview-example.html#x809">fileiconview/qfileiconview.cpp</a>, and <a href="menu-example.html#x1859">menu/menu.cpp</a>.
+<h3 class=fn>void <a name="setPos"></a>QCursor::setPos ( int&nbsp;x, int&nbsp;y )<tt> [static]</tt>
+</h3>
+Moves the cursor (hot spot) to the global screen position (<em>x</em>,
+<em>y</em>).
+<p> You can call <a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>() to translate widget
+coordinates to global screen coordinates.
+<p> <p>See also <a href="#pos">pos</a>(), <a href="qwidget.html#mapFromGlobal">QWidget::mapFromGlobal</a>(), and <a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>().
+
+<h3 class=fn>void <a name="setPos-2"></a>QCursor::setPos ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setShape"></a>QCursor::setShape ( int&nbsp;shape )
+</h3>
+Sets the cursor to the shape identified by <em>shape</em>.
+<p> See <a href="qt.html#CursorShape-enum">CursorShape</a> for the list of cursor shapes.
+<p> <p>See also <a href="#shape">shape</a>().
+
+<h3 class=fn>int <a name="shape"></a>QCursor::shape () const
+</h3>
+Returns the cursor shape identifier. The return value is one of
+the <a href="qt.html#CursorShape-enum">CursorShape</a> enum values (cast to an int).
+<p> <p>See also <a href="#setShape">setShape</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+Writes the cursor <em>c</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+Reads a cursor from the stream <em>s</em> and sets <em>c</em> to the read data.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcustomevent-members.html b/doc/html/qcustomevent-members.html
new file mode 100644
index 0000000..ef2ee89
--- /dev/null
+++ b/doc/html/qcustomevent-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:602 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCustomEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCustomEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcustomevent.html">QCustomEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qcustomevent.html#QCustomEvent">QCustomEvent</a>()
+<li><a href="qcustomevent.html#data">data</a>()
+<li><a href="qcustomevent.html#setData">setData</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcustomevent.html b/doc/html/qcustomevent.html
new file mode 100644
index 0000000..49bda8b
--- /dev/null
+++ b/doc/html/qcustomevent.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2197 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCustomEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCustomEvent Class Reference</h1>
+
+<p>The QCustomEvent class provides support for custom events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qcustomevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCustomEvent"><b>QCustomEvent</b></a> ( int&nbsp;type )</li>
+<li class=fn><a href="#QCustomEvent-2"><b>QCustomEvent</b></a> ( Type&nbsp;type, void&nbsp;*&nbsp;data )</li>
+<li class=fn>void * <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>void <a href="#setData"><b>setData</b></a> ( void&nbsp;*&nbsp;data )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCustomEvent class provides support for custom events.
+<p>
+<p> QCustomEvent is a generic event class for user-defined events.
+User defined events can be sent to widgets or other <a href="qobject.html">QObject</a>
+instances using <a href="qapplication.html#postEvent">QApplication::postEvent</a>() or
+<a href="qapplication.html#sendEvent">QApplication::sendEvent</a>(). Subclasses of QObject can easily
+receive custom events by implementing the <a href="qobject.html#customEvent">QObject::customEvent</a>()
+event handler function.
+<p> QCustomEvent objects should be created with a type ID that
+uniquely identifies the event type. To avoid clashes with the
+Qt-defined events types, the value should be at least as large as
+the value of the "User" entry in the QEvent::Type enum.
+<p> QCustomEvent contains a generic void* data member that may be used
+for transferring event-specific data to the receiver. Note that
+since events are normally delivered asynchronously, the data
+pointer, if used, must remain valid until the event has been
+received and processed.
+<p> QCustomEvent can be used as-is for simple user-defined event
+types, but normally you will want to make a subclass of it for
+your event types. In a subclass, you can add data members that are
+suitable for your event type.
+<p> Example:
+<pre>
+ class ColorChangeEvent : public QCustomEvent
+ {
+ public:
+ ColorChangeEvent( <a href="qcolor.html">QColor</a> color )
+ : QCustomEvent( 65432 ), c( color ) {}
+ <a href="qcolor.html">QColor</a> color() const { return c; }
+ private:
+ <a href="qcolor.html">QColor</a> c;
+ };
+
+ // To send an event of this custom event type:
+
+ ColorChangeEvent* ce = new ColorChangeEvent( blue );
+ QApplication::<a href="qapplication.html#postEvent">postEvent</a>( receiver, ce ); // Qt will delete it when done
+
+ // To receive an event of this custom event type:
+
+ void MyWidget::customEvent( QCustomEvent * e )
+ {
+ if ( e-&gt;<a href="qevent.html#type">type</a>() == 65432 ) { // It must be a ColorChangeEvent
+ ColorChangeEvent* ce = (ColorChangeEvent*)e;
+ newColor = ce-&gt;color();
+ }
+ }
+ </pre>
+
+<p> <p>See also <a href="qobject.html#customEvent">QWidget::customEvent</a>(), <a href="qapplication.html#notify">QApplication::notify</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCustomEvent"></a>QCustomEvent::QCustomEvent ( int&nbsp;type )
+</h3>
+Constructs a custom event object with event type <em>type</em>. The
+value of <em>type</em> must be at least as large as QEvent::User. The
+data pointer is set to 0.
+
+<h3 class=fn><a name="QCustomEvent-2"></a>QCustomEvent::QCustomEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, void&nbsp;*&nbsp;data )
+</h3>
+
+<p> Constructs a custom event object with the event type <em>type</em> and a
+pointer to <em>data</em>. (Note that any int value may safely be cast to
+QEvent::Type).
+
+<h3 class=fn>void * <a name="data"></a>QCustomEvent::data () const
+</h3>
+
+<p> Returns a pointer to the generic event data.
+<p> <p>See also <a href="#setData">setData</a>().
+
+<h3 class=fn>void <a name="setData"></a>QCustomEvent::setData ( void&nbsp;*&nbsp;data )
+</h3>
+
+<p> Sets the generic data pointer to <em>data</em>.
+<p> <p>See also <a href="#data">data</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcustommenuitem-members.html b/doc/html/qcustommenuitem-members.html
new file mode 100644
index 0000000..5d22946
--- /dev/null
+++ b/doc/html/qcustommenuitem-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmenudata.h:123 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCustomMenuItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QCustomMenuItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qcustommenuitem.html">QCustomMenuItem</a>, including inherited members.
+
+<ul>
+<li><a href="qcustommenuitem.html#QCustomMenuItem">QCustomMenuItem</a>()
+<li><a href="qcustommenuitem.html#~QCustomMenuItem">~QCustomMenuItem</a>()
+<li><a href="qcustommenuitem.html#fullSpan">fullSpan</a>()
+<li><a href="qcustommenuitem.html#isSeparator">isSeparator</a>()
+<li><a href="qcustommenuitem.html#paint">paint</a>()
+<li><a href="qcustommenuitem.html#setFont">setFont</a>()
+<li><a href="qcustommenuitem.html#sizeHint">sizeHint</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qcustommenuitem.html b/doc/html/qcustommenuitem.html
new file mode 100644
index 0000000..2525fb0
--- /dev/null
+++ b/doc/html/qcustommenuitem.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qmenudata.cpp:1461 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QCustomMenuItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCustomMenuItem Class Reference</h1>
+
+<p>The QCustomMenuItem class is an abstract base class for custom menu items in popup menus.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmenudata-h.html">qmenudata.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qcustommenuitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QCustomMenuItem"><b>QCustomMenuItem</b></a> ()</li>
+<li class=fn>virtual <a href="#~QCustomMenuItem"><b>~QCustomMenuItem</b></a> ()</li>
+<li class=fn>virtual bool <a href="#fullSpan"><b>fullSpan</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isSeparator"><b>isSeparator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, bool&nbsp;act, bool&nbsp;enabled, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h ) = 0</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QCustomMenuItem class is an abstract base class for custom menu items in popup menus.
+<p>
+<p> A custom menu item is a menu item that is defined by two pure
+virtual functions, <a href="#paint">paint</a>() and <a href="#sizeHint">sizeHint</a>(). The size hint tells the
+menu how much space it needs to reserve for this item, and paint
+is called whenever the item needs painting.
+<p> This simple mechanism allows you to create all kinds of
+application specific menu items. Examples are items showing
+different fonts in a word processor or menus that allow the
+selection of drawing utilities in a vector drawing program.
+<p> A custom item is inserted into a popup menu with
+<a href="qmenudata.html#insertItem">QPopupMenu::insertItem</a>().
+<p> By default, a custom item can also have an icon and a keyboard
+accelerator. You can reimplement <a href="#fullSpan">fullSpan</a>() to return TRUE if you
+want the item to span the entire popup menu width. This is
+particularly useful for labels.
+<p> If you want the custom item to be treated just as a separator,
+reimplement <a href="#isSeparator">isSeparator</a>() to return TRUE.
+<p> Note that you can insert pixmaps or bitmaps as items into a popup
+menu without needing to create a QCustomMenuItem. However, custom
+menu items offer more flexibility, and -- especially important
+with Windows style -- provide the possibility of drawing the item
+with a different color when it is highlighted.
+<p> <a href="menu-example.html">menu/menu.cpp</a> shows a simple
+example how custom menu items can be used.
+<p> Note: the current implementation of QCustomMenuItem will not
+recognize shortcut keys that are from text with ampersands. Normal
+accelerators work though.
+<p> <img src=qpopmenu-fancy.png>
+<p> <p>See also <a href="qmenudata.html">QMenuData</a>, <a href="qpopupmenu.html">QPopupMenu</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QCustomMenuItem"></a>QCustomMenuItem::QCustomMenuItem ()
+</h3>
+Constructs a QCustomMenuItem
+
+<h3 class=fn><a name="~QCustomMenuItem"></a>QCustomMenuItem::~QCustomMenuItem ()<tt> [virtual]</tt>
+</h3>
+Destroys a QCustomMenuItem
+
+<h3 class=fn>bool <a name="fullSpan"></a>QCustomMenuItem::fullSpan () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this item wants to span the entire popup menu
+width; otherwise returns FALSE. The default is FALSE, meaning that
+the menu may show an icon and an accelerator key for this item as
+well.
+
+<h3 class=fn>bool <a name="isSeparator"></a>QCustomMenuItem::isSeparator () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this item is just a separator; otherwise returns
+FALSE.
+
+<h3 class=fn>void <a name="paint"></a>QCustomMenuItem::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, bool&nbsp;act, bool&nbsp;enabled, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Paints this item. When this function is invoked, the painter <em>p</em>
+is set to a font and foreground color suitable for a menu item
+text using color group <em>cg</em>. The item is active if <em>act</em> is TRUE
+and enabled if <em>enabled</em> is TRUE. The geometry values <em>x</em>, <em>y</em>,
+<em>w</em> and <em>h</em> specify where to draw the item.
+<p> Do not draw any background, this has already been done by the
+popup menu according to the current GUI style.
+
+<h3 class=fn>void <a name="setFont"></a>QCustomMenuItem::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )<tt> [virtual]</tt>
+</h3>
+Sets the font of the custom menu item to <em>font</em>.
+<p> This function is called whenever the font in the popup menu
+changes. For menu items that show their own individual font entry,
+you want to ignore this.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QCustomMenuItem::sizeHint ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the item's size hint.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qd-actioneditor.png b/doc/html/qd-actioneditor.png
new file mode 100644
index 0000000..d2825de
--- /dev/null
+++ b/doc/html/qd-actioneditor.png
Binary files differ
diff --git a/doc/html/qd-colortool-name.png b/doc/html/qd-colortool-name.png
new file mode 100644
index 0000000..cdce323
--- /dev/null
+++ b/doc/html/qd-colortool-name.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzd.png b/doc/html/qd-databrowserwzd.png
new file mode 100644
index 0000000..a8e1f6d
--- /dev/null
+++ b/doc/html/qd-databrowserwzd.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzdpage2.png b/doc/html/qd-databrowserwzdpage2.png
new file mode 100644
index 0000000..3279346
--- /dev/null
+++ b/doc/html/qd-databrowserwzdpage2.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzdpage3.png b/doc/html/qd-databrowserwzdpage3.png
new file mode 100644
index 0000000..45c850c
--- /dev/null
+++ b/doc/html/qd-databrowserwzdpage3.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzdpage4.png b/doc/html/qd-databrowserwzdpage4.png
new file mode 100644
index 0000000..5915448
--- /dev/null
+++ b/doc/html/qd-databrowserwzdpage4.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzdpage5.png b/doc/html/qd-databrowserwzdpage5.png
new file mode 100644
index 0000000..0f950d8
--- /dev/null
+++ b/doc/html/qd-databrowserwzdpage5.png
Binary files differ
diff --git a/doc/html/qd-databrowserwzdpage6.png b/doc/html/qd-databrowserwzdpage6.png
new file mode 100644
index 0000000..3530203
--- /dev/null
+++ b/doc/html/qd-databrowserwzdpage6.png
Binary files differ
diff --git a/doc/html/qd-datatablewzd.png b/doc/html/qd-datatablewzd.png
new file mode 100644
index 0000000..515b4df
--- /dev/null
+++ b/doc/html/qd-datatablewzd.png
Binary files differ
diff --git a/doc/html/qd-datatablewzdpage2.png b/doc/html/qd-datatablewzdpage2.png
new file mode 100644
index 0000000..9312a3d
--- /dev/null
+++ b/doc/html/qd-datatablewzdpage2.png
Binary files differ
diff --git a/doc/html/qd-datatablewzdpage3.png b/doc/html/qd-datatablewzdpage3.png
new file mode 100644
index 0000000..96e73fd
--- /dev/null
+++ b/doc/html/qd-datatablewzdpage3.png
Binary files differ
diff --git a/doc/html/qd-datatablewzdpage4.png b/doc/html/qd-datatablewzdpage4.png
new file mode 100644
index 0000000..fb2609b
--- /dev/null
+++ b/doc/html/qd-datatablewzdpage4.png
Binary files differ
diff --git a/doc/html/qd-datatablewzdpage5.png b/doc/html/qd-datatablewzdpage5.png
new file mode 100644
index 0000000..2c5f64e
--- /dev/null
+++ b/doc/html/qd-datatablewzdpage5.png
Binary files differ
diff --git a/doc/html/qd-dataviewwzd.png b/doc/html/qd-dataviewwzd.png
new file mode 100644
index 0000000..a9c325e
--- /dev/null
+++ b/doc/html/qd-dataviewwzd.png
Binary files differ
diff --git a/doc/html/qd-dataviewwzdpage2.png b/doc/html/qd-dataviewwzdpage2.png
new file mode 100644
index 0000000..abc092d
--- /dev/null
+++ b/doc/html/qd-dataviewwzdpage2.png
Binary files differ
diff --git a/doc/html/qd-dataviewwzdpage3.png b/doc/html/qd-dataviewwzdpage3.png
new file mode 100644
index 0000000..c6aa160
--- /dev/null
+++ b/doc/html/qd-dataviewwzdpage3.png
Binary files differ
diff --git a/doc/html/qd-dataviewwzdpage4.png b/doc/html/qd-dataviewwzdpage4.png
new file mode 100644
index 0000000..e830c0c
--- /dev/null
+++ b/doc/html/qd-dataviewwzdpage4.png
Binary files differ
diff --git a/doc/html/qd-helptoolbuttons3.png b/doc/html/qd-helptoolbuttons3.png
new file mode 100644
index 0000000..dfb06a9
--- /dev/null
+++ b/doc/html/qd-helptoolbuttons3.png
Binary files differ
diff --git a/doc/html/qd-mainwinwzd.png b/doc/html/qd-mainwinwzd.png
new file mode 100644
index 0000000..17fc2d5
--- /dev/null
+++ b/doc/html/qd-mainwinwzd.png
Binary files differ
diff --git a/doc/html/qd-mainwinwzdpage2.png b/doc/html/qd-mainwinwzdpage2.png
new file mode 100644
index 0000000..f27a67b
--- /dev/null
+++ b/doc/html/qd-mainwinwzdpage2.png
Binary files differ
diff --git a/doc/html/qd-preface.png b/doc/html/qd-preface.png
new file mode 100644
index 0000000..2832f52
--- /dev/null
+++ b/doc/html/qd-preface.png
Binary files differ
diff --git a/doc/html/qd-preferences-dlg.png b/doc/html/qd-preferences-dlg.png
new file mode 100644
index 0000000..1ef446a
--- /dev/null
+++ b/doc/html/qd-preferences-dlg.png
Binary files differ
diff --git a/doc/html/qdatabrowser-h.html b/doc/html/qdatabrowser-h.html
new file mode 100644
index 0000000..c9b3a88
--- /dev/null
+++ b/doc/html/qdatabrowser-h.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatabrowser.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdatabrowser.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdatabrowser.h</h1>
+
+<p>This is the verbatim text of the qdatabrowser.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QDataBrowser class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATABROWSER_H
+#define QDATABROWSER_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qstring.h"
+#include "qstringlist.h"
+#include "qsql.h"
+#include "qsqlindex.h"
+#include "qsqlcursor.h"
+#include "qsqlerror.h"
+#endif // QT_H
+
+#ifndef QT_NO_SQL_VIEW_WIDGETS
+
+class QSqlForm;
+class QDataBrowserPrivate;
+
+class Q_EXPORT QDataBrowser : public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY( bool boundaryChecking READ boundaryChecking WRITE setBoundaryChecking )
+ Q_PROPERTY( QString filter READ filter WRITE setFilter )
+ Q_PROPERTY( QStringList sort READ sort WRITE setSort )
+ Q_PROPERTY( bool confirmEdits READ confirmEdits WRITE setConfirmEdits )
+ Q_PROPERTY( bool confirmInsert READ confirmInsert WRITE setConfirmInsert )
+ Q_PROPERTY( bool confirmUpdate READ confirmUpdate WRITE setConfirmUpdate )
+ Q_PROPERTY( bool confirmDelete READ confirmDelete WRITE setConfirmDelete )
+ Q_PROPERTY( bool confirmCancels READ confirmCancels WRITE setConfirmCancels )
+ Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
+ Q_PROPERTY( bool autoEdit READ autoEdit WRITE setAutoEdit )
+
+public:
+ QDataBrowser( QWidget* parent=0, const char* name=0, WFlags fl = 0 );
+ ~QDataBrowser();
+
+ enum Boundary {
+ Unknown,
+ None,
+ BeforeBeginning,
+ Beginning,
+ End,
+ AfterEnd
+ };
+
+ Boundary boundary();
+ void setBoundaryChecking( bool active );
+ bool boundaryChecking() const;
+
+ void setSort( const QSqlIndex&amp; sort );
+ void setSort( const QStringList&amp; sort );
+ QStringList sort() const;
+ void setFilter( const QString&amp; filter );
+ QString filter() const;
+ virtual void setSqlCursor( QSqlCursor* cursor, bool autoDelete = FALSE );
+ QSqlCursor* sqlCursor() const;
+ virtual void setForm( QSqlForm* form );
+ QSqlForm* form();
+
+ virtual void setConfirmEdits( bool confirm );
+ virtual void setConfirmInsert( bool confirm );
+ virtual void setConfirmUpdate( bool confirm );
+ virtual void setConfirmDelete( bool confirm );
+ virtual void setConfirmCancels( bool confirm );
+ bool confirmEdits() const;
+ bool confirmInsert() const;
+ bool confirmUpdate() const;
+ bool confirmDelete() const;
+ bool confirmCancels() const;
+
+ virtual void setReadOnly( bool active );
+ bool isReadOnly() const;
+ virtual void setAutoEdit( bool autoEdit );
+ bool autoEdit() const;
+
+ virtual bool seek( int i, bool relative = FALSE );
+
+signals:
+ void firstRecordAvailable( bool available );
+ void lastRecordAvailable( bool available );
+ void nextRecordAvailable( bool available );
+ void prevRecordAvailable( bool available );
+
+ void currentChanged( const QSqlRecord* record );
+ void primeInsert( QSqlRecord* buf );
+ void primeUpdate( QSqlRecord* buf );
+ void primeDelete( QSqlRecord* buf );
+ void beforeInsert( QSqlRecord* buf );
+ void beforeUpdate( QSqlRecord* buf );
+ void beforeDelete( QSqlRecord* buf );
+ void cursorChanged( QSqlCursor::Mode mode );
+
+public slots:
+ virtual void refresh();
+
+ virtual void insert();
+ virtual void update();
+ virtual void del();
+
+ virtual void first();
+ virtual void last();
+ virtual void next();
+ virtual void prev();
+
+ virtual void readFields();
+ virtual void writeFields();
+ virtual void clearValues();
+
+ void updateBoundary();
+
+protected:
+ virtual bool insertCurrent();
+ virtual bool updateCurrent();
+ virtual bool deleteCurrent();
+ virtual bool currentEdited();
+
+ virtual QSql::Confirm confirmEdit( QSql::Op m );
+ virtual QSql::Confirm confirmCancel( QSql::Op m );
+
+ virtual void handleError( const QSqlError&amp; error );
+
+private:
+ typedef bool (QSqlCursor::*Nav)();
+ bool preNav();
+ void postNav( bool primeUpd );
+ void nav( Nav nav );
+ QDataBrowserPrivate* d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDataBrowser( const QDataBrowser &amp; );
+ QDataBrowser &amp;operator=( const QDataBrowser &amp; );
+#endif
+};
+
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatabrowser-members.html b/doc/html/qdatabrowser-members.html
new file mode 100644
index 0000000..892b120
--- /dev/null
+++ b/doc/html/qdatabrowser-members.html
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatabrowser.h:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataBrowser Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataBrowser</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatabrowser.html">QDataBrowser</a>, including inherited members.
+
+<ul>
+<li><a href="qdatabrowser.html#QDataBrowser">QDataBrowser</a>()
+<li><a href="qdatabrowser.html#~QDataBrowser">~QDataBrowser</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdatabrowser.html#autoEdit">autoEdit</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qdatabrowser.html#beforeDelete">beforeDelete</a>()
+<li><a href="qdatabrowser.html#beforeInsert">beforeInsert</a>()
+<li><a href="qdatabrowser.html#beforeUpdate">beforeUpdate</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qdatabrowser.html#boundary">boundary</a>()
+<li><a href="qdatabrowser.html#boundaryChecking">boundaryChecking</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qdatabrowser.html#clearValues">clearValues</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qdatabrowser.html#confirmCancel">confirmCancel</a>()
+<li><a href="qdatabrowser.html#confirmCancels">confirmCancels</a>()
+<li><a href="qdatabrowser.html#confirmDelete">confirmDelete</a>()
+<li><a href="qdatabrowser.html#confirmEdit">confirmEdit</a>()
+<li><a href="qdatabrowser.html#confirmEdits">confirmEdits</a>()
+<li><a href="qdatabrowser.html#confirmInsert">confirmInsert</a>()
+<li><a href="qdatabrowser.html#confirmUpdate">confirmUpdate</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qdatabrowser.html#currentChanged">currentChanged</a>()
+<li><a href="qdatabrowser.html#currentEdited">currentEdited</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qdatabrowser.html#cursorChanged">cursorChanged</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qdatabrowser.html#del">del</a>()
+<li><a href="qdatabrowser.html#deleteCurrent">deleteCurrent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdatabrowser.html#filter">filter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qdatabrowser.html#first">first</a>()
+<li><a href="qdatabrowser.html#firstRecordAvailable">firstRecordAvailable</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qdatabrowser.html#form">form</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qdatabrowser.html#handleError">handleError</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qdatabrowser.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qdatabrowser.html#insertCurrent">insertCurrent</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qdatabrowser.html#isReadOnly">isReadOnly</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qdatabrowser.html#last">last</a>()
+<li><a href="qdatabrowser.html#lastRecordAvailable">lastRecordAvailable</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qdatabrowser.html#next">next</a>()
+<li><a href="qdatabrowser.html#nextRecordAvailable">nextRecordAvailable</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qdatabrowser.html#prev">prev</a>()
+<li><a href="qdatabrowser.html#prevRecordAvailable">prevRecordAvailable</a>()
+<li><a href="qdatabrowser.html#primeDelete">primeDelete</a>()
+<li><a href="qdatabrowser.html#primeInsert">primeInsert</a>()
+<li><a href="qdatabrowser.html#primeUpdate">primeUpdate</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qdatabrowser.html#readFields">readFields</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdatabrowser.html#refresh">refresh</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qdatabrowser.html#seek">seek</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qdatabrowser.html#setAutoEdit">setAutoEdit</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qdatabrowser.html#setBoundaryChecking">setBoundaryChecking</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qdatabrowser.html#setConfirmCancels">setConfirmCancels</a>()
+<li><a href="qdatabrowser.html#setConfirmDelete">setConfirmDelete</a>()
+<li><a href="qdatabrowser.html#setConfirmEdits">setConfirmEdits</a>()
+<li><a href="qdatabrowser.html#setConfirmInsert">setConfirmInsert</a>()
+<li><a href="qdatabrowser.html#setConfirmUpdate">setConfirmUpdate</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdatabrowser.html#setFilter">setFilter</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qdatabrowser.html#setForm">setForm</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdatabrowser.html#setReadOnly">setReadOnly</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qdatabrowser.html#setSort">setSort</a>()
+<li><a href="qdatabrowser.html#setSqlCursor">setSqlCursor</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qdatabrowser.html#sort">sort</a>()
+<li><a href="qdatabrowser.html#sqlCursor">sqlCursor</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qdatabrowser.html#update">update</a>()
+<li><a href="qdatabrowser.html#updateBoundary">updateBoundary</a>()
+<li><a href="qdatabrowser.html#updateCurrent">updateCurrent</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qdatabrowser.html#writeFields">writeFields</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatabrowser.html b/doc/html/qdatabrowser.html
new file mode 100644
index 0000000..bdfdf98
--- /dev/null
+++ b/doc/html/qdatabrowser.html
@@ -0,0 +1,715 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qdatabrowser.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataBrowser Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataBrowser Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QDataBrowser class provides data manipulation and
+navigation for data entry forms.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatabrowser-h.html">qdatabrowser.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qdatabrowser-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDataBrowser"><b>QDataBrowser</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;fl = 0 )</li>
+<li class=fn><a href="#~QDataBrowser"><b>~QDataBrowser</b></a> ()</li>
+<li class=fn>enum <a href="#Boundary-enum"><b>Boundary</b></a> { Unknown, None, BeforeBeginning, Beginning, End, AfterEnd }</li>
+<li class=fn>Boundary <a href="#boundary"><b>boundary</b></a> ()</li>
+<li class=fn>void <a href="#setBoundaryChecking"><b>setBoundaryChecking</b></a> ( bool&nbsp;active )</li>
+<li class=fn>bool <a href="#boundaryChecking"><b>boundaryChecking</b></a> () const</li>
+<li class=fn>void <a href="#setSort-2"><b>setSort</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>void <a href="#setSort"><b>setSort</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>QStringList <a href="#sort"><b>sort</b></a> () const</li>
+<li class=fn>void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</li>
+<li class=fn>QString <a href="#filter"><b>filter</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSqlCursor"><b>setSqlCursor</b></a> ( QSqlCursor&nbsp;*&nbsp;cursor, bool&nbsp;autoDelete = FALSE )</li>
+<li class=fn>QSqlCursor * <a href="#sqlCursor"><b>sqlCursor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setForm"><b>setForm</b></a> ( QSqlForm&nbsp;*&nbsp;form )</li>
+<li class=fn>QSqlForm * <a href="#form"><b>form</b></a> ()</li>
+<li class=fn>virtual void <a href="#setConfirmEdits"><b>setConfirmEdits</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmInsert"><b>setConfirmInsert</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmUpdate"><b>setConfirmUpdate</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmDelete"><b>setConfirmDelete</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmCancels"><b>setConfirmCancels</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>bool <a href="#confirmEdits"><b>confirmEdits</b></a> () const</li>
+<li class=fn>bool <a href="#confirmInsert"><b>confirmInsert</b></a> () const</li>
+<li class=fn>bool <a href="#confirmUpdate"><b>confirmUpdate</b></a> () const</li>
+<li class=fn>bool <a href="#confirmDelete"><b>confirmDelete</b></a> () const</li>
+<li class=fn>bool <a href="#confirmCancels"><b>confirmCancels</b></a> () const</li>
+<li class=fn>virtual void <a href="#setReadOnly"><b>setReadOnly</b></a> ( bool&nbsp;active )</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoEdit"><b>setAutoEdit</b></a> ( bool&nbsp;autoEdit )</li>
+<li class=fn>bool <a href="#autoEdit"><b>autoEdit</b></a> () const</li>
+<li class=fn>virtual bool <a href="#seek"><b>seek</b></a> ( int&nbsp;i, bool&nbsp;relative = FALSE )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#refresh"><b>refresh</b></a> ()</li>
+<li class=fn>virtual void <a href="#insert"><b>insert</b></a> ()</li>
+<li class=fn>virtual void <a href="#update"><b>update</b></a> ()</li>
+<li class=fn>virtual void <a href="#del"><b>del</b></a> ()</li>
+<li class=fn>virtual void <a href="#first"><b>first</b></a> ()</li>
+<li class=fn>virtual void <a href="#last"><b>last</b></a> ()</li>
+<li class=fn>virtual void <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>virtual void <a href="#prev"><b>prev</b></a> ()</li>
+<li class=fn>virtual void <a href="#readFields"><b>readFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#writeFields"><b>writeFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearValues"><b>clearValues</b></a> ()</li>
+<li class=fn>void <a href="#updateBoundary"><b>updateBoundary</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#firstRecordAvailable"><b>firstRecordAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#lastRecordAvailable"><b>lastRecordAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#nextRecordAvailable"><b>nextRecordAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#prevRecordAvailable"><b>prevRecordAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( const&nbsp;QSqlRecord&nbsp;*&nbsp;record )</li>
+<li class=fn>void <a href="#primeInsert"><b>primeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#primeUpdate"><b>primeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#primeDelete"><b>primeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeInsert"><b>beforeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeUpdate"><b>beforeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeDelete"><b>beforeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#cursorChanged"><b>cursorChanged</b></a> ( QSqlCursor::Mode&nbsp;mode )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoEdit-prop"><b>autoEdit</b></a>&nbsp;- whether the browser automatically applies edits</li>
+<li class=fn>bool <a href="#boundaryChecking-prop"><b>boundaryChecking</b></a>&nbsp;- whether boundary checking is active</li>
+<li class=fn>bool <a href="#confirmCancels-prop"><b>confirmCancels</b></a>&nbsp;- whether the browser confirms cancel operations</li>
+<li class=fn>bool <a href="#confirmDelete-prop"><b>confirmDelete</b></a>&nbsp;- whether the browser confirms deletions</li>
+<li class=fn>bool <a href="#confirmEdits-prop"><b>confirmEdits</b></a>&nbsp;- whether the browser confirms edits</li>
+<li class=fn>bool <a href="#confirmInsert-prop"><b>confirmInsert</b></a>&nbsp;- whether the data browser confirms insertions</li>
+<li class=fn>bool <a href="#confirmUpdate-prop"><b>confirmUpdate</b></a>&nbsp;- whether the browser confirms updates</li>
+<li class=fn>QString <a href="#filter-prop"><b>filter</b></a>&nbsp;- the data browser's filter</li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the browser is read-only</li>
+<li class=fn>QStringList <a href="#sort-prop"><b>sort</b></a>&nbsp;- the data browser's sort</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#insertCurrent"><b>insertCurrent</b></a> ()</li>
+<li class=fn>virtual bool <a href="#updateCurrent"><b>updateCurrent</b></a> ()</li>
+<li class=fn>virtual bool <a href="#deleteCurrent"><b>deleteCurrent</b></a> ()</li>
+<li class=fn>virtual bool <a href="#currentEdited"><b>currentEdited</b></a> ()</li>
+<li class=fn>virtual QSql::Confirm <a href="#confirmEdit"><b>confirmEdit</b></a> ( QSql::Op&nbsp;m )</li>
+<li class=fn>virtual QSql::Confirm <a href="#confirmCancel"><b>confirmCancel</b></a> ( QSql::Op&nbsp;m )</li>
+<li class=fn>virtual void <a href="#handleError"><b>handleError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;error )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDataBrowser class provides data manipulation and
+navigation for data entry forms.
+<p>
+
+
+<p> A high-level API is provided for navigating through data records
+in a cursor, for inserting, updating and deleting records, and for
+refreshing data in the display.
+<p> If you want a read-only form to present database data use
+<a href="qdataview.html">QDataView</a>; if you want a table-based presentation of your data use
+<a href="qdatatable.html">QDataTable</a>.
+<p> A QDataBrowser is used to associate a dataset with a form in much
+the same way as a QDataTable associates a dataset with a table.
+Once the data browser has been constructed it can be associated
+with a dataset with <a href="#setSqlCursor">setSqlCursor</a>(), and with a form with
+<a href="#setForm">setForm</a>(). Boundary checking, sorting and filtering can be set
+with <a href="#setBoundaryChecking">setBoundaryChecking</a>(), <a href="#setSort">setSort</a>() and <a href="#setFilter">setFilter</a>(),
+respectively.
+<p> The <a href="#insertCurrent">insertCurrent</a>() function reads the fields from the default
+form into the default cursor and performs the insert. The
+<a href="#updateCurrent">updateCurrent</a>() and <a href="#deleteCurrent">deleteCurrent</a>() functions perform similarly to
+update and delete the current record respectively.
+<p> The user can be asked to confirm all edits with <a href="#setConfirmEdits">setConfirmEdits</a>().
+For more precise control use <a href="#setConfirmInsert">setConfirmInsert</a>(),
+<a href="#setConfirmUpdate">setConfirmUpdate</a>(), <a href="#setConfirmDelete">setConfirmDelete</a>() and <a href="#setConfirmCancels">setConfirmCancels</a>().
+Use <a href="#setAutoEdit">setAutoEdit</a>() to control the behaviour of the form when the
+user edits a record and then navigates.
+<p> The record set is navigated using <a href="#first">first</a>(), <a href="#next">next</a>(), <a href="#prev">prev</a>(), <a href="#last">last</a>()
+and <a href="#seek">seek</a>(). The form's display is updated with <a href="#refresh">refresh</a>(). When
+navigation takes place the <a href="#firstRecordAvailable">firstRecordAvailable</a>(),
+<a href="#lastRecordAvailable">lastRecordAvailable</a>(), <a href="#nextRecordAvailable">nextRecordAvailable</a>() and
+<a href="#prevRecordAvailable">prevRecordAvailable</a>() signals are emitted. When the cursor record
+is changed due to navigation the <a href="#cursorChanged">cursorChanged</a>() signal is
+emitted.
+<p> If you want finer control of the insert, update and delete
+processes then you can use the lower level functions to perform
+these operations as described below.
+<p> The form is populated with data from the database with
+<a href="#readFields">readFields</a>(). If the user is allowed to edit, (see <a href="#setReadOnly">setReadOnly</a>()),
+write the form's data back to the cursor's edit buffer with
+<a href="#writeFields">writeFields</a>(). You can clear the values in the form with
+<a href="#clearValues">clearValues</a>(). Editing is performed as follows:
+<ul>
+<li> <em>insert</em> When the data browser enters insertion mode it emits the
+<a href="#primeInsert">primeInsert</a>() signal which you can connect to, for example to
+pre-populate fields. Call writeFields() to write the user's edits to
+the cursor's edit buffer then call <a href="#insert">insert</a>() to insert the record
+into the database. The <a href="#beforeInsert">beforeInsert</a>() signal is emitted just before
+the cursor's edit buffer is inserted into the database; connect to
+this for example, to populate fields such as an auto-generated
+primary key.
+<li> <em>update</em> For updates the <a href="#primeUpdate">primeUpdate</a>() signal is emitted when
+the data browser enters update mode. After calling writeFields()
+call <a href="#update">update</a>() to update the record and connect to the <a href="#beforeUpdate">beforeUpdate</a>()
+signal to manipulate the user's data before the update takes place.
+<li> <em>delete</em> For deletion the <a href="#primeDelete">primeDelete</a>() signal is emitted when
+the data browser enters deletion mode. After calling <a href="#writeFields">writeFields</a>()
+call <a href="#del">del</a>() to delete the record and connect to the <a href="#beforeDelete">beforeDelete</a>()
+signal, for example to record an audit of the deleted record.
+</ul>
+<p> <p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Boundary-enum"></a>QDataBrowser::Boundary</h3>
+
+<p> This enum describes where the data browser is positioned.
+<ul>
+<li><tt>QDataBrowser::Unknown</tt> - the boundary cannot be determined (usually because
+there is no default cursor, or the default cursor is not active).
+<li><tt>QDataBrowser::None</tt> - the browser is not positioned on a boundary, but it is
+positioned on a record somewhere in the middle.
+<li><tt>QDataBrowser::BeforeBeginning</tt> - the browser is positioned before the
+first available record.
+<li><tt>QDataBrowser::Beginning</tt> - the browser is positioned at the first record.
+<li><tt>QDataBrowser::End</tt> - the browser is positioned at the last
+record.
+<li><tt>QDataBrowser::AfterEnd</tt> - the browser is positioned after the last
+available record.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDataBrowser"></a>QDataBrowser::QDataBrowser ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;fl = 0 )
+</h3>
+Constructs a data browser which is a child of <em>parent</em>, with the
+name <em>name</em> and widget flags set to <em>fl</em>.
+
+<h3 class=fn><a name="~QDataBrowser"></a>QDataBrowser::~QDataBrowser ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoEdit"></a>QDataBrowser::autoEdit () const
+</h3><p>Returns TRUE if the browser automatically applies edits; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#autoEdit-prop">"autoEdit"</a> property for details.
+<h3 class=fn>void <a name="beforeDelete"></a>QDataBrowser::beforeDelete ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the cursor's edit buffer is
+deleted from the database. The <em>buf</em> parameter points to the edit
+buffer being deleted. You might connect to this signal to capture
+some auditing information about the deletion.
+
+<h3 class=fn>void <a name="beforeInsert"></a>QDataBrowser::beforeInsert ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the cursor's edit buffer is
+inserted into the database. The <em>buf</em> parameter points to the
+edit buffer being inserted. You might connect to this signal to
+populate a generated primary key for example.
+
+<h3 class=fn>void <a name="beforeUpdate"></a>QDataBrowser::beforeUpdate ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the cursor's edit buffer is
+updated in the database. The <em>buf</em> parameter points to the edit
+buffer being updated. You might connect to this signal to capture
+some auditing information about the update.
+
+<h3 class=fn><a href="qdatabrowser.html#Boundary-enum">Boundary</a> <a name="boundary"></a>QDataBrowser::boundary ()
+</h3>
+Returns an enum indicating the boundary status of the browser.
+<p> This is achieved by moving the default cursor and checking the
+position, however the current default form values will not be
+altered. After checking for the boundary, the cursor is moved back
+to its former position. See <a href="#Boundary-enum">QDataBrowser::Boundary</a>.
+<p> <p>See also <a href="#Boundary-enum">Boundary</a>.
+
+<h3 class=fn>bool <a name="boundaryChecking"></a>QDataBrowser::boundaryChecking () const
+</h3><p>Returns TRUE if boundary checking is active; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#boundaryChecking-prop">"boundaryChecking"</a> property for details.
+<h3 class=fn>void <a name="clearValues"></a>QDataBrowser::clearValues ()<tt> [virtual slot]</tt>
+</h3>
+Clears all the values in the form.
+<p> All the edit buffer field values are set to their 'zero state',
+e.g. 0 for numeric fields and "" for string fields. Then the
+widgets are updated using the property map. For example, a
+combobox that is property-mapped to integers would scroll to the
+first item. See the <a href="qsqlpropertymap.html">QSqlPropertyMap</a> constructor for the default
+mappings of widgets to properties.
+
+<h3 class=fn><a href="qsql.html#Confirm-enum">QSql::Confirm</a> <a name="confirmCancel"></a>QDataBrowser::confirmCancel ( <a href="qsql.html#Op-enum">QSql::Op</a>&nbsp;m )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which returns a confirmation for
+cancelling an edit mode <em>m</em>. Derived classes can reimplement this
+function and provide their own confirmation dialog. The default
+implementation uses a message box which prompts the user to
+confirm the edit action.
+
+<h3 class=fn>bool <a name="confirmCancels"></a>QDataBrowser::confirmCancels () const
+</h3><p>Returns TRUE if the browser confirms cancel operations; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#confirmCancels-prop">"confirmCancels"</a> property for details.
+<h3 class=fn>bool <a name="confirmDelete"></a>QDataBrowser::confirmDelete () const
+</h3><p>Returns TRUE if the browser confirms deletions; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#confirmDelete-prop">"confirmDelete"</a> property for details.
+<h3 class=fn><a href="qsql.html#Confirm-enum">QSql::Confirm</a> <a name="confirmEdit"></a>QDataBrowser::confirmEdit ( <a href="qsql.html#Op-enum">QSql::Op</a>&nbsp;m )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which returns a confirmation for an
+edit of mode <em>m</em>. Derived classes can reimplement this function
+and provide their own confirmation dialog. The default
+implementation uses a message box which prompts the user to
+confirm the edit action.
+
+<h3 class=fn>bool <a name="confirmEdits"></a>QDataBrowser::confirmEdits () const
+</h3><p>Returns TRUE if the browser confirms edits; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#confirmEdits-prop">"confirmEdits"</a> property for details.
+<h3 class=fn>bool <a name="confirmInsert"></a>QDataBrowser::confirmInsert () const
+</h3><p>Returns TRUE if the data browser confirms insertions; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#confirmInsert-prop">"confirmInsert"</a> property for details.
+<h3 class=fn>bool <a name="confirmUpdate"></a>QDataBrowser::confirmUpdate () const
+</h3><p>Returns TRUE if the browser confirms updates; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#confirmUpdate-prop">"confirmUpdate"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QDataBrowser::currentChanged ( const&nbsp;<a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;record )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the current cursor position
+changes. The <em>record</em> parameter points to the contents of the
+current cursor's record.
+
+<h3 class=fn>bool <a name="currentEdited"></a>QDataBrowser::currentEdited ()<tt> [virtual protected]</tt>
+</h3>
+Returns TRUE if the form's edit buffer differs from the current
+cursor buffer; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="cursorChanged"></a>QDataBrowser::cursorChanged ( <a href="qsqlcursor.html#Mode-enum">QSqlCursor::Mode</a>&nbsp;mode )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the cursor record was changed due
+to navigation. The <em>mode</em> parameter is the edit that just took
+place, e.g. Insert, Update or Delete. See <a href="qsqlcursor.html#Mode-enum">QSqlCursor::Mode</a>.
+
+<h3 class=fn>void <a name="del"></a>QDataBrowser::del ()<tt> [virtual slot]</tt>
+</h3>
+Performs a delete operation on the data browser's cursor. If there
+is no default cursor or no default form, nothing happens.
+<p> Otherwise, the following happens:
+<p> The current form's record is deleted from the database, providing
+that the data browser is not in insert mode. If the data browser
+is actively inserting a record (see <a href="#insert">insert</a>()), the insert action
+is canceled, and the browser navigates to the last valid record
+that was current. If there is an error, <a href="#handleError">handleError</a>() is called.
+
+<h3 class=fn>bool <a name="deleteCurrent"></a>QDataBrowser::deleteCurrent ()<tt> [virtual protected]</tt>
+</h3>
+Performs a delete on the default cursor using the values from the
+default form and updates the default form. If there is no default
+form or no default cursor, nothing happens. If the deletion was
+successful, the cursor is repositioned to the nearest record and
+TRUE is returned. The nearest record is the next record if there
+is one otherwise the previous record if there is one. If an error
+occurred during the deletion from the database, <a href="#handleError">handleError</a>() is
+called and FALSE is returned.
+<p> <p>See also <a href="qwidget.html#cursor-prop">cursor</a>, <a href="#form">form</a>(), and <a href="#handleError">handleError</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filter"></a>QDataBrowser::filter () const
+</h3><p>Returns the data browser's filter.
+See the <a href="qdatabrowser.html#filter-prop">"filter"</a> property for details.
+<h3 class=fn>void <a name="first"></a>QDataBrowser::first ()<tt> [virtual slot]</tt>
+</h3>
+Moves the default cursor to the first record and refreshes the
+default form to display this record. If there is no default form
+or no default cursor, nothing happens. If the data browser
+successfully navigated to the first record, the default cursor is
+primed for update and the <a href="#primeUpdate">primeUpdate</a>() signal is emitted.
+<p> If the browser is already positioned on the first record nothing
+happens.
+<p>
+<h3 class=fn>void <a name="firstRecordAvailable"></a>QDataBrowser::firstRecordAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the position of the cursor
+changes. The <em>available</em> parameter indicates whether or not the
+first record in the default cursor is available.
+
+<h3 class=fn><a href="qsqlform.html">QSqlForm</a>&nbsp;* <a name="form"></a>QDataBrowser::form ()
+</h3>
+Returns the data browser's default form or 0 if no form has been
+set.
+
+<h3 class=fn>void <a name="handleError"></a>QDataBrowser::handleError ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;error )<tt> [virtual protected]</tt>
+</h3>
+Virtual function which handles the error <em>error</em>. The default
+implementation warns the user with a message box.
+
+<h3 class=fn>void <a name="insert"></a>QDataBrowser::insert ()<tt> [virtual slot]</tt>
+</h3>
+Performs an insert operation on the data browser's cursor. If
+there is no default cursor or no default form, nothing happens.
+<p> If auto-editing is on (see <a href="#setAutoEdit">setAutoEdit</a>()), the following happens:
+<p> <ul>
+<li> If the browser is already actively inserting a record,
+the current form's data is inserted into the database.
+<li> If the browser is not inserting a record, but the current record
+was changed by the user, the record is updated in the database with
+the current form's data (i.e. with the changes).
+</ul>
+<p> If there is an error handling any of the above auto-edit actions,
+<a href="#handleError">handleError</a>() is called and no insert or update is performed.
+<p> If no error occurred, or auto-editing is not enabled, the data browser
+begins actively inserting a record into the database by performing the
+following actions:
+<p> <ul>
+<li> The default cursor is primed for insert using <a href="qsqlcursor.html#primeInsert">QSqlCursor::primeInsert</a>().
+<li> The <a href="#primeInsert">primeInsert</a>() signal is emitted.
+<li> The form is updated with the values in the default cursor's.
+edit buffer so that the user can fill in the values to be inserted.
+</ul>
+<p>
+<h3 class=fn>bool <a name="insertCurrent"></a>QDataBrowser::insertCurrent ()<tt> [virtual protected]</tt>
+</h3>
+Reads the fields from the default form into the default cursor and
+performs an insert on the default cursor. If there is no default
+form or no default cursor, nothing happens. If an error occurred
+during the insert into the database, <a href="#handleError">handleError</a>() is called and
+FALSE is returned. If the insert was successfull, the cursor is
+refreshed and relocated to the newly inserted record, the
+<a href="#cursorChanged">cursorChanged</a>() signal is emitted, and TRUE is returned.
+<p> <p>See also <a href="#cursorChanged">cursorChanged</a>(), <a href="#sqlCursor">sqlCursor</a>(), <a href="#form">form</a>(), and <a href="#handleError">handleError</a>().
+
+<h3 class=fn>bool <a name="isReadOnly"></a>QDataBrowser::isReadOnly () const
+</h3><p>Returns TRUE if the browser is read-only; otherwise returns FALSE.
+See the <a href="qdatabrowser.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>void <a name="last"></a>QDataBrowser::last ()<tt> [virtual slot]</tt>
+</h3>
+Moves the default cursor to the last record and refreshes the
+default form to display this record. If there is no default form
+or no default cursor, nothing happens. If the data browser
+successfully navigated to the last record, the default cursor is
+primed for update and the <a href="#primeUpdate">primeUpdate</a>() signal is emitted.
+<p> If the browser is already positioned on the last record nothing
+happens.
+
+<h3 class=fn>void <a name="lastRecordAvailable"></a>QDataBrowser::lastRecordAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the position of the cursor
+changes. The <em>available</em> parameter indicates whether or not the
+last record in the default cursor is available.
+
+<h3 class=fn>void <a name="next"></a>QDataBrowser::next ()<tt> [virtual slot]</tt>
+</h3>
+Moves the default cursor to the next record and refreshes the
+default form to display this record. If there is no default form
+or no default cursor, nothing happens. If the data browser
+successfully navigated to the next record, the default cursor is
+primed for update and the <a href="#primeUpdate">primeUpdate</a>() signal is emitted.
+<p> If the browser is positioned on the last record nothing happens.
+
+<h3 class=fn>void <a name="nextRecordAvailable"></a>QDataBrowser::nextRecordAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the position of the cursor
+changes. The <em>available</em> parameter indicates whether or not the
+next record in the default cursor is available.
+
+<h3 class=fn>void <a name="prev"></a>QDataBrowser::prev ()<tt> [virtual slot]</tt>
+</h3>
+Moves the default cursor to the previous record and refreshes the
+default form to display this record. If there is no default form
+or no default cursor, nothing happens. If the data browser
+successfully navigated to the previous record, the default cursor
+is primed for update and the <a href="#primeUpdate">primeUpdate</a>() signal is emitted.
+<p> If the browser is positioned on the first record nothing happens.
+
+<h3 class=fn>void <a name="prevRecordAvailable"></a>QDataBrowser::prevRecordAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the position of the cursor
+changes. The <em>available</em> parameter indicates whether or not the
+previous record in the default cursor is available.
+
+<h3 class=fn>void <a name="primeDelete"></a>QDataBrowser::primeDelete ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the data browser enters deletion mode.
+The <em>buf</em> parameter points to the record buffer being deleted.
+(Note that <a href="qsqlcursor.html#primeDelete">QSqlCursor::primeDelete</a>() is <em>not</em> called on the
+default cursor, as this would corrupt values in the form.)
+Connect to this signal in order to, for example, save a copy of
+the deleted record for auditing purposes.
+<p> <p>See also <a href="#del">del</a>().
+
+<h3 class=fn>void <a name="primeInsert"></a>QDataBrowser::primeInsert ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the data browser enters insertion
+mode. The <em>buf</em> parameter points to the record buffer that is to
+be inserted. Connect to this signal to, for example, <a href="primes.html#prime">prime</a> the
+record buffer with default data values, auto-numbered fields etc.
+(Note that <a href="qsqlcursor.html#primeInsert">QSqlCursor::primeInsert</a>() is <em>not</em> called on the
+default cursor, as this would corrupt values in the form.)
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="primeUpdate"></a>QDataBrowser::primeUpdate ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the data browser enters update mode.
+Note that during navigation (<a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#next">next</a>(), <a href="#prev">prev</a>()),
+each record that is shown in the default form is primed for
+update. The <em>buf</em> parameter points to the record buffer being
+updated. (Note that <a href="qsqlcursor.html#primeUpdate">QSqlCursor::primeUpdate</a>() is <em>not</em> called on
+the default cursor, as this would corrupt values in the form.)
+Connect to this signal in order to, for example, keep track of
+which records have been updated, perhaps for auditing purposes.
+<p> <p>See also <a href="#update">update</a>().
+
+<h3 class=fn>void <a name="readFields"></a>QDataBrowser::readFields ()<tt> [virtual slot]</tt>
+</h3>
+Reads the fields from the default cursor's edit buffer and
+displays them in the form. If there is no default cursor or no
+default form, nothing happens.
+
+<h3 class=fn>void <a name="refresh"></a>QDataBrowser::refresh ()<tt> [virtual slot]</tt>
+</h3>
+Refreshes the data browser's data using the default cursor. The
+browser's current filter and sort are applied if they have been
+set.
+<p> <p>See also <a href="#filter-prop">filter</a> and <a href="#sort-prop">sort</a>.
+
+<h3 class=fn>bool <a name="seek"></a>QDataBrowser::seek ( int&nbsp;i, bool&nbsp;relative = FALSE )<tt> [virtual]</tt>
+</h3>
+Moves the default cursor to the record specified by the index <em>i</em>
+and refreshes the default form to display this record. If there is
+no default form or no default cursor, nothing happens. If <em>relative</em> is TRUE (the default is FALSE), the cursor is moved
+relative to its current position. If the data browser successfully
+navigated to the desired record, the default cursor is primed for
+update and the <a href="#primeUpdate">primeUpdate</a>() signal is emitted.
+<p> If the browser is already positioned on the desired record nothing
+happens.
+
+<h3 class=fn>void <a name="setAutoEdit"></a>QDataBrowser::setAutoEdit ( bool&nbsp;autoEdit )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser automatically applies edits to <em>autoEdit</em>.
+See the <a href="qdatabrowser.html#autoEdit-prop">"autoEdit"</a> property for details.
+<h3 class=fn>void <a name="setBoundaryChecking"></a>QDataBrowser::setBoundaryChecking ( bool&nbsp;active )
+</h3><p>Sets whether boundary checking is active to <em>active</em>.
+See the <a href="qdatabrowser.html#boundaryChecking-prop">"boundaryChecking"</a> property for details.
+<h3 class=fn>void <a name="setConfirmCancels"></a>QDataBrowser::setConfirmCancels ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser confirms cancel operations to <em>confirm</em>.
+See the <a href="qdatabrowser.html#confirmCancels-prop">"confirmCancels"</a> property for details.
+<h3 class=fn>void <a name="setConfirmDelete"></a>QDataBrowser::setConfirmDelete ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser confirms deletions to <em>confirm</em>.
+See the <a href="qdatabrowser.html#confirmDelete-prop">"confirmDelete"</a> property for details.
+<h3 class=fn>void <a name="setConfirmEdits"></a>QDataBrowser::setConfirmEdits ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser confirms edits to <em>confirm</em>.
+See the <a href="qdatabrowser.html#confirmEdits-prop">"confirmEdits"</a> property for details.
+<h3 class=fn>void <a name="setConfirmInsert"></a>QDataBrowser::setConfirmInsert ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data browser confirms insertions to <em>confirm</em>.
+See the <a href="qdatabrowser.html#confirmInsert-prop">"confirmInsert"</a> property for details.
+<h3 class=fn>void <a name="setConfirmUpdate"></a>QDataBrowser::setConfirmUpdate ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser confirms updates to <em>confirm</em>.
+See the <a href="qdatabrowser.html#confirmUpdate-prop">"confirmUpdate"</a> property for details.
+<h3 class=fn>void <a name="setFilter"></a>QDataBrowser::setFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter )
+</h3><p>Sets the data browser's filter to <em>filter</em>.
+See the <a href="qdatabrowser.html#filter-prop">"filter"</a> property for details.
+<h3 class=fn>void <a name="setForm"></a>QDataBrowser::setForm ( <a href="qsqlform.html">QSqlForm</a>&nbsp;*&nbsp;form )<tt> [virtual]</tt>
+</h3>
+Sets the browser's default form to <em>form</em>. The cursor and all
+navigation and data manipulation functions that the browser
+provides become available to the <em>form</em>.
+
+<h3 class=fn>void <a name="setReadOnly"></a>QDataBrowser::setReadOnly ( bool&nbsp;active )<tt> [virtual]</tt>
+</h3><p>Sets whether the browser is read-only to <em>active</em>.
+See the <a href="qdatabrowser.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>void <a name="setSort"></a>QDataBrowser::setSort ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;sort )
+</h3><p>Sets the data browser's sort to <em>sort</em>.
+See the <a href="qdatabrowser.html#sort-prop">"sort"</a> property for details.
+<h3 class=fn>void <a name="setSort-2"></a>QDataBrowser::setSort ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the data browser's sort to the <a href="qsqlindex.html">QSqlIndex</a> <em>sort</em>. To apply
+the new sort, use <a href="#refresh">refresh</a>().
+<p>
+<h3 class=fn>void <a name="setSqlCursor"></a>QDataBrowser::setSqlCursor ( <a href="qsqlcursor.html">QSqlCursor</a>&nbsp;*&nbsp;cursor, bool&nbsp;autoDelete = FALSE )<tt> [virtual]</tt>
+</h3>
+Sets the default cursor used by the data browser to <em>cursor</em>. If
+<em>autoDelete</em> is TRUE (the default is FALSE), the data browser
+takes ownership of the <em>cursor</em> pointer, which will be deleted
+when the browser is destroyed, or when <a href="#setSqlCursor">setSqlCursor</a>() is called
+again. To activate the <em>cursor</em> use <a href="#refresh">refresh</a>(). The cursor's edit
+buffer is used in the default form to browse and edit records.
+<p> <p>See also <a href="#sqlCursor">sqlCursor</a>(), <a href="#form">form</a>(), and <a href="#setForm">setForm</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="sort"></a>QDataBrowser::sort () const
+</h3><p>Returns the data browser's sort.
+See the <a href="qdatabrowser.html#sort-prop">"sort"</a> property for details.
+<h3 class=fn><a href="qsqlcursor.html">QSqlCursor</a>&nbsp;* <a name="sqlCursor"></a>QDataBrowser::sqlCursor () const
+</h3>
+Returns the default cursor used for navigation, or 0 if there is
+no default cursor.
+<p> <p>See also <a href="#setSqlCursor">setSqlCursor</a>().
+
+<h3 class=fn>void <a name="update"></a>QDataBrowser::update ()<tt> [virtual slot]</tt>
+</h3>
+Performs an update operation on the data browser's cursor.
+<p> If there is no default cursor or no default form, nothing happens.
+Otherwise, the following happens:
+<p> If the data browser is actively inserting a record (see <a href="#insert">insert</a>()),
+that record is inserted into the database using <a href="#insertCurrent">insertCurrent</a>().
+Otherwise, the database is updated with the current form's data
+using <a href="#updateCurrent">updateCurrent</a>(). If there is an error handling either
+action, <a href="#handleError">handleError</a>() is called.
+
+<h3 class=fn>void <a name="updateBoundary"></a>QDataBrowser::updateBoundary ()<tt> [slot]</tt>
+</h3>
+If <a href="#boundaryChecking">boundaryChecking</a>() is TRUE, checks the boundary of the current
+default cursor and emits signals which indicate the position of
+the cursor.
+
+<h3 class=fn>bool <a name="updateCurrent"></a>QDataBrowser::updateCurrent ()<tt> [virtual protected]</tt>
+</h3>
+Reads the fields from the default form into the default cursor and
+performs an update on the default cursor. If there is no default
+form or no default cursor, nothing happens. If an error occurred
+during the update on the database, <a href="#handleError">handleError</a>() is called and
+FALSE is returned. If the update was successfull, the cursor is
+refreshed and relocated to the updated record, the <a href="#cursorChanged">cursorChanged</a>()
+signal is emitted, and TRUE is returned.
+<p> <p>See also <a href="qwidget.html#cursor-prop">cursor</a>, <a href="#form">form</a>(), and <a href="#handleError">handleError</a>().
+
+<h3 class=fn>void <a name="writeFields"></a>QDataBrowser::writeFields ()<tt> [virtual slot]</tt>
+</h3>
+Writes the form's data to the default cursor's edit buffer. If
+there is no default cursor or no default form, nothing happens.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoEdit-prop"></a>autoEdit</h3>
+<p>This property holds whether the browser automatically applies edits.
+<p>The default value for this property is TRUE. When the user begins
+an insertion or an update on a form there are two possible
+outcomes when they navigate to another record:
+<p> <ul>
+<li> the insert or update is is performed -- this occurs if autoEdit is TRUE
+<li> the insert or update is discarded -- this occurs if autoEdit is FALSE
+</ul>
+
+<p>Set this property's value with <a href="#setAutoEdit">setAutoEdit</a>() and get this property's value with <a href="#autoEdit">autoEdit</a>().
+<h3 class=fn>bool <a name="boundaryChecking-prop"></a>boundaryChecking</h3>
+<p>This property holds whether boundary checking is active.
+<p>When boundary checking is active (the default), signals are
+emitted indicating the current position of the default cursor.
+<p> <p>See also <a href="#boundary">boundary</a>().
+
+<p>Set this property's value with <a href="#setBoundaryChecking">setBoundaryChecking</a>() and get this property's value with <a href="#boundaryChecking">boundaryChecking</a>().
+<h3 class=fn>bool <a name="confirmCancels-prop"></a>confirmCancels</h3>
+<p>This property holds whether the browser confirms cancel operations.
+<p>If this property is TRUE, all cancels must be confirmed by the
+user through a message box (this behavior can be changed by
+overriding the <a href="#confirmCancel">confirmCancel</a>() function), otherwise all cancels
+occur immediately. The default is FALSE.
+<p> <p>See also <a href="#confirmEdits-prop">confirmEdits</a> and <a href="#confirmCancel">confirmCancel</a>().
+
+<p>Set this property's value with <a href="#setConfirmCancels">setConfirmCancels</a>() and get this property's value with <a href="#confirmCancels">confirmCancels</a>().
+<h3 class=fn>bool <a name="confirmDelete-prop"></a>confirmDelete</h3>
+<p>This property holds whether the browser confirms deletions.
+<p>If this property is TRUE, the browser confirms deletions,
+otherwise deletions happen immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, <a href="#confirmInsert-prop">confirmInsert</a>, and <a href="#confirmEdit">confirmEdit</a>().
+
+<p>Set this property's value with <a href="#setConfirmDelete">setConfirmDelete</a>() and get this property's value with <a href="#confirmDelete">confirmDelete</a>().
+<h3 class=fn>bool <a name="confirmEdits-prop"></a>confirmEdits</h3>
+<p>This property holds whether the browser confirms edits.
+<p>If this property is TRUE, the browser confirms all edit operations
+(insertions, updates and deletions), otherwise all edit operations
+happen immediately. Confirmation is achieved by presenting the
+user with a message box -- this behavior can be changed by
+reimplementing the <a href="#confirmEdit">confirmEdit</a>() function,
+<p> <p>See also <a href="#confirmEdit">confirmEdit</a>(), <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmInsert-prop">confirmInsert</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, and <a href="#confirmDelete-prop">confirmDelete</a>.
+
+<p>Set this property's value with <a href="#setConfirmEdits">setConfirmEdits</a>() and get this property's value with <a href="#confirmEdits">confirmEdits</a>().
+<h3 class=fn>bool <a name="confirmInsert-prop"></a>confirmInsert</h3>
+<p>This property holds whether the data browser confirms insertions.
+<p>If this property is TRUE, the browser confirms insertions,
+otherwise insertions happen immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, <a href="#confirmDelete-prop">confirmDelete</a>, and <a href="#confirmEdit">confirmEdit</a>().
+
+<p>Set this property's value with <a href="#setConfirmInsert">setConfirmInsert</a>() and get this property's value with <a href="#confirmInsert">confirmInsert</a>().
+<h3 class=fn>bool <a name="confirmUpdate-prop"></a>confirmUpdate</h3>
+<p>This property holds whether the browser confirms updates.
+<p>If this property is TRUE, the browser confirms updates, otherwise
+updates happen immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmInsert-prop">confirmInsert</a>, <a href="#confirmDelete-prop">confirmDelete</a>, and <a href="#confirmEdit">confirmEdit</a>().
+
+<p>Set this property's value with <a href="#setConfirmUpdate">setConfirmUpdate</a>() and get this property's value with <a href="#confirmUpdate">confirmUpdate</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filter-prop"></a>filter</h3>
+<p>This property holds the data browser's filter.
+<p>The filter applies to the data shown in the browser. Call
+<a href="#refresh">refresh</a>() to apply the new filter. A filter is a string containing
+a SQL WHERE clause without the WHERE keyword, e.g. "id>1000",
+"name LIKE 'A%'", etc.
+<p> There is no default filter.
+<p> <p>See also <a href="#sort-prop">sort</a>.
+
+<p>Set this property's value with <a href="#setFilter">setFilter</a>() and get this property's value with <a href="#filter">filter</a>().
+<h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the browser is read-only.
+<p>The default is FALSE, i.e. data can be edited. If the data browser
+is read-only, no database edits will be allowed.
+
+<p>Set this property's value with <a href="#setReadOnly">setReadOnly</a>() and get this property's value with <a href="#isReadOnly">isReadOnly</a>().
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="sort-prop"></a>sort</h3>
+<p>This property holds the data browser's sort.
+<p>The data browser's sort affects the order in which records are
+viewed in the browser. Call <a href="#refresh">refresh</a>() to apply the new sort.
+<p> When retrieving the sort property, a string list is returned in
+the form 'fieldname order', e.g. 'id ASC', 'surname DESC'.
+<p> There is no default sort.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDataBrowser.sort();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<p>Set this property's value with <a href="#setSort">setSort</a>() and get this property's value with <a href="#sort">sort</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatapump-members.html b/doc/html/qdatapump-members.html
new file mode 100644
index 0000000..d1b6fe7
--- /dev/null
+++ b/doc/html/qdatapump-members.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:100 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataPump Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataPump</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatapump.html">QDataPump</a>, including inherited members.
+
+<ul>
+<li><a href="qdatapump.html#QDataPump">QDataPump</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatapump.html b/doc/html/qdatapump.html
new file mode 100644
index 0000000..9be5b15
--- /dev/null
+++ b/doc/html/qdatapump.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:296 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataPump Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataPump Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QDataPump class moves data from a QDataSource to a QDataSink during event processing.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qdatapump-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDataPump"><b>QDataPump</b></a> ( QDataSource&nbsp;*&nbsp;data_source, QDataSink&nbsp;*&nbsp;data_sink )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QDataPump class moves data from a QDataSource to a QDataSink during event processing.
+<p> For a QDataSource to provide data to a QDataSink, a controller must exist
+to examine the <a href="qdatasource.html#readyToSend">QDataSource::readyToSend</a>() and <a href="qdatasink.html#readyToReceive">QDataSink::readyToReceive</a>()
+methods and respond to the QASyncIO::activate() signal of the source and
+sink. One very useful way to do this is interleaved with other event
+processing. QDataPump provides this - create a pipe between a source
+and a sink, and data will be moved during subsequent event processing.
+<p> Note that each source can only provide data to one sink and each sink
+can only receive data from one source (although it is quite possible
+to write a multiplexing sink that is multiple sources).
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDataPump"></a>QDataPump::QDataPump ( <a href="qdatasource.html">QDataSource</a>&nbsp;*&nbsp;data_source, <a href="qdatasink.html">QDataSink</a>&nbsp;*&nbsp;data_sink )
+</h3>
+Constructs a QDataPump to move data from a given <em>data_source</em>
+to a given <em>data_sink</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatasink-members.html b/doc/html/qdatasink-members.html
new file mode 100644
index 0000000..2d2e4b4
--- /dev/null
+++ b/doc/html/qdatasink-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataSink Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataSink</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatasink.html">QDataSink</a>, including inherited members.
+
+<ul>
+<li><a href="qasyncio.html#connect">connect</a>()
+<li><a href="qdatasink.html#eof">eof</a>()
+<li><a href="qdatasink.html#maybeReady">maybeReady</a>()
+<li><a href="qasyncio.html#ready">ready</a>()
+<li><a href="qdatasink.html#readyToReceive">readyToReceive</a>()
+<li><a href="qdatasink.html#receive">receive</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatasink.html b/doc/html/qdatasink.html
new file mode 100644
index 0000000..5f6190a
--- /dev/null
+++ b/doc/html/qdatasink.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:85 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataSink Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataSink Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QDataSink class is an asynchronous consumer of data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
+<p>Inherits <a href="qasyncio.html">QAsyncIO</a>.
+<p><a href="qdatasink-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#readyToReceive"><b>readyToReceive</b></a> () = 0</li>
+<li class=fn>virtual void <a href="#receive"><b>receive</b></a> ( const uchar *, int&nbsp;count ) = 0</li>
+<li class=fn>virtual void <a href="#eof"><b>eof</b></a> () = 0</li>
+<li class=fn>void <a href="#maybeReady"><b>maybeReady</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QDataSink class is an asynchronous consumer of data.
+<p> A data sink is an object which receives data from some source in an
+asynchronous manner. This means that at some time not determined by
+the data sink, blocks of data are given to it from processing. The
+data sink is able to limit the maximum size of such blocks which it
+is currently able to process.
+<p> <p>See also <a href="qasyncio.html">QAsyncIO</a>, <a href="qdatasource.html">QDataSource</a>, and <a href="qdatapump.html">QDataPump</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>void <a name="eof"></a>QDataSink::eof ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function will be called when no more data is available for
+processing.
+
+<h3 class=fn>void <a name="maybeReady"></a>QDataSink::maybeReady ()
+</h3>
+This should be called whenever <a href="#readyToReceive">readyToReceive</a>() might have become non-zero.
+It is merely calls <a href="qasyncio.html#ready">QAsyncIO::ready</a>() if readyToReceive() is non-zero.
+
+<h3 class=fn>int <a name="readyToReceive"></a>QDataSink::readyToReceive ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The data sink should return a value indicating how much data it is ready
+to consume. This may be 0.
+
+<h3 class=fn>void <a name="receive"></a>QDataSink::receive ( const uchar *, int&nbsp;count )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function is called to provide data for the data sink. The <em>count</em>
+will be no more than the amount indicated by the most recent call to
+<a href="#readyToReceive">readyToReceive</a>(). The sink must use all the provided data.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatasource-members.html b/doc/html/qdatasource-members.html
new file mode 100644
index 0000000..d1e07dd
--- /dev/null
+++ b/doc/html/qdatasource-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:72 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataSource Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataSource</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatasource.html">QDataSource</a>, including inherited members.
+
+<ul>
+<li><a href="qasyncio.html#connect">connect</a>()
+<li><a href="qdatasource.html#enableRewind">enableRewind</a>()
+<li><a href="qdatasource.html#maybeReady">maybeReady</a>()
+<li><a href="qasyncio.html#ready">ready</a>()
+<li><a href="qdatasource.html#readyToSend">readyToSend</a>()
+<li><a href="qdatasource.html#rewind">rewind</a>()
+<li><a href="qdatasource.html#rewindable">rewindable</a>()
+<li><a href="qdatasource.html#sendTo">sendTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatasource.html b/doc/html/qdatasource.html
new file mode 100644
index 0000000..2b22073
--- /dev/null
+++ b/doc/html/qdatasource.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:131 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataSource Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataSource Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QDataSource class is an asynchronous producer of data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
+<p>Inherits <a href="qasyncio.html">QAsyncIO</a>.
+<p>Inherited by <a href="qiodevicesource.html">QIODeviceSource</a>.
+<p><a href="qdatasource-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#readyToSend"><b>readyToSend</b></a> () = 0</li>
+<li class=fn>virtual void <a href="#sendTo"><b>sendTo</b></a> ( QDataSink *, int&nbsp;count ) = 0</li>
+<li class=fn>void <a href="#maybeReady"><b>maybeReady</b></a> ()</li>
+<li class=fn>virtual bool <a href="#rewindable"><b>rewindable</b></a> () const</li>
+<li class=fn>virtual void <a href="#enableRewind"><b>enableRewind</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual void <a href="#rewind"><b>rewind</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QDataSource class is an asynchronous producer of data.
+<p> A data source is an object which provides data from some source in an
+asynchronous manner. This means that at some time not determined by
+the data source, blocks of data will be taken from it for processing.
+The data source is able to limit the maximum size of such blocks which
+it is currently able to provide.
+<p> <p>See also <a href="qasyncio.html">QAsyncIO</a>, <a href="qdatasink.html">QDataSink</a>, and <a href="qdatapump.html">QDataPump</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>void <a name="enableRewind"></a>QDataSource::enableRewind ( bool&nbsp;on )<tt> [virtual]</tt>
+</h3>
+If this function is called with <em>on</em> set to TRUE, and <a href="#rewindable">rewindable</a>()
+is TRUE, then the data source must take measures to allow the <a href="#rewind">rewind</a>()
+function to subsequently operate as described. If rewindable() is FALSE,
+the function should call <a href="#enableRewind">QDataSource::enableRewind</a>(), which aborts with
+a <a href="qapplication.html#qFatal">qFatal</a>() error.
+<p> For example, a network connection may choose to use a disk cache
+of input only if rewinding is enabled before the first buffer-full of
+data is discarded, returning FALSE in rewindable() if that first buffer
+is discarded.
+
+<p>Reimplemented in <a href="qiodevicesource.html#enableRewind">QIODeviceSource</a>.
+<h3 class=fn>void <a name="maybeReady"></a>QDataSource::maybeReady ()
+</h3>
+This should be called whenever <a href="#readyToSend">readyToSend</a>() might have become non-zero.
+It is merely calls <a href="qasyncio.html#ready">QAsyncIO::ready</a>() if readyToSend() is non-zero.
+
+<h3 class=fn>int <a name="readyToSend"></a>QDataSource::readyToSend ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The data source should return a value indicating how much data it is ready
+to provide. This may be 0. If the data source knows it will never be
+able to provide any more data (until after a <a href="#rewind">rewind</a>()), it may return -1.
+
+<p>Reimplemented in <a href="qiodevicesource.html#readyToSend">QIODeviceSource</a>.
+<h3 class=fn>void <a name="rewind"></a>QDataSource::rewind ()<tt> [virtual]</tt>
+</h3>
+This function rewinds the data source. This may only be called if
+<a href="#enableRewind">enableRewind</a>(TRUE) has been previously called.
+
+<p>Reimplemented in <a href="qiodevicesource.html#rewind">QIODeviceSource</a>.
+<h3 class=fn>bool <a name="rewindable"></a>QDataSource::rewindable () const<tt> [virtual]</tt>
+</h3>
+This function should return TRUE if the data source can be rewound.
+<p> The default returns FALSE.
+
+<p>Reimplemented in <a href="qiodevicesource.html#rewindable">QIODeviceSource</a>.
+<h3 class=fn>void <a name="sendTo"></a>QDataSource::sendTo ( <a href="qdatasink.html">QDataSink</a>&nbsp;*, int&nbsp;count )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function is called to extract data from the source, by sending
+it to the given data sink. The <em>count</em> will be no more than the amount
+indicated by the most recent call to <a href="#readyToSend">readyToSend</a>(). The source must
+use all the provided data, and the sink will be prepared to accept at
+least this much data.
+
+<p>Reimplemented in <a href="qiodevicesource.html#sendTo">QIODeviceSource</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatastream-h.html b/doc/html/qdatastream-h.html
new file mode 100644
index 0000000..2d874f9
--- /dev/null
+++ b/doc/html/qdatastream-h.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatastream.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdatastream.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdatastream.h</h1>
+
+<p>This is the verbatim text of the qdatastream.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdatastream.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDataStream class
+**
+** Created : 930831
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATASTREAM_H
+#define QDATASTREAM_H
+
+#ifndef QT_H
+#include "qiodevice.h"
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_DATASTREAM
+class Q_EXPORT QDataStream // data stream class
+{
+public:
+ QDataStream();
+ QDataStream( QIODevice * );
+ QDataStream( QByteArray, int mode );
+ virtual ~QDataStream();
+
+ QIODevice *device() const;
+ void setDevice( QIODevice * );
+ void unsetDevice();
+
+ bool atEnd() const;
+ bool eof() const;
+
+ enum ByteOrder { BigEndian, LittleEndian };
+ int byteOrder() const;
+ void setByteOrder( int );
+
+ bool isPrintableData() const;
+ void setPrintableData( bool );
+
+ int version() const;
+ void setVersion( int );
+
+ QDataStream &amp;operator&gt;&gt;( Q_INT8 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_UINT8 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_INT16 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_UINT16 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_INT32 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_UINT32 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_INT64 &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_UINT64 &amp;i );
+#if !defined(Q_OS_WIN64)
+ QDataStream &amp;operator&gt;&gt;( Q_LONG &amp;i );
+ QDataStream &amp;operator&gt;&gt;( Q_ULONG &amp;i );
+#endif
+
+ QDataStream &amp;operator&gt;&gt;( float &amp;f );
+ QDataStream &amp;operator&gt;&gt;( double &amp;f );
+ QDataStream &amp;operator&gt;&gt;( char *&amp;str );
+
+ QDataStream &amp;operator&lt;&lt;( Q_INT8 i );
+ QDataStream &amp;operator&lt;&lt;( Q_UINT8 i );
+ QDataStream &amp;operator&lt;&lt;( Q_INT16 i );
+ QDataStream &amp;operator&lt;&lt;( Q_UINT16 i );
+ QDataStream &amp;operator&lt;&lt;( Q_INT32 i );
+ QDataStream &amp;operator&lt;&lt;( Q_UINT32 i );
+ QDataStream &amp;operator&lt;&lt;( Q_INT64 i );
+ QDataStream &amp;operator&lt;&lt;( Q_UINT64 i );
+#if !defined(Q_OS_WIN64)
+ QDataStream &amp;operator&lt;&lt;( Q_LONG i );
+ QDataStream &amp;operator&lt;&lt;( Q_ULONG i );
+#endif
+ QDataStream &amp;operator&lt;&lt;( float f );
+ QDataStream &amp;operator&lt;&lt;( double f );
+ QDataStream &amp;operator&lt;&lt;( const char *str );
+
+ QDataStream &amp;readBytes( char *&amp;, uint &amp;len );
+ QDataStream &amp;readRawBytes( char *, uint len );
+
+ QDataStream &amp;writeBytes( const char *, uint len );
+ QDataStream &amp;writeRawBytes( const char *, uint len );
+
+private:
+ QIODevice *dev;
+ bool owndev;
+ int byteorder;
+ bool printable;
+ bool noswap;
+ int ver;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QDataStream( const QDataStream &amp; );
+ QDataStream &amp;operator=( const QDataStream &amp; );
+#endif
+};
+
+
+/*****************************************************************************
+ QDataStream inline functions
+ *****************************************************************************/
+
+inline QIODevice *QDataStream::device() const
+{ return dev; }
+
+inline bool QDataStream::atEnd() const
+{ return dev ? dev-&gt;atEnd() : TRUE; }
+
+inline bool QDataStream::eof() const
+{ return atEnd(); }
+
+inline int QDataStream::byteOrder() const
+{ return byteorder; }
+
+inline bool QDataStream::isPrintableData() const
+{ return printable; }
+
+inline void QDataStream::setPrintableData( bool p )
+{ printable = p; }
+
+inline int QDataStream::version() const
+{ return ver; }
+
+inline void QDataStream::setVersion( int v )
+{ ver = v; }
+
+inline QDataStream &amp;QDataStream::operator&gt;&gt;( Q_UINT8 &amp;i )
+{ return *this &gt;&gt; (Q_INT8&amp;)i; }
+
+inline QDataStream &amp;QDataStream::operator&gt;&gt;( Q_UINT16 &amp;i )
+{ return *this &gt;&gt; (Q_INT16&amp;)i; }
+
+inline QDataStream &amp;QDataStream::operator&gt;&gt;( Q_UINT32 &amp;i )
+{ return *this &gt;&gt; (Q_INT32&amp;)i; }
+
+inline QDataStream &amp;QDataStream::operator&gt;&gt;( Q_UINT64 &amp;i )
+{ return *this &gt;&gt; (Q_INT64&amp;)i; }
+
+#if !defined(Q_OS_WIN64)
+inline QDataStream &amp;QDataStream::operator&gt;&gt;( Q_ULONG &amp;i )
+{ return *this &gt;&gt; (Q_LONG&amp;)i; }
+#endif
+
+inline QDataStream &amp;QDataStream::operator&lt;&lt;( Q_UINT8 i )
+{ return *this &lt;&lt; (Q_INT8)i; }
+
+inline QDataStream &amp;QDataStream::operator&lt;&lt;( Q_UINT16 i )
+{ return *this &lt;&lt; (Q_INT16)i; }
+
+inline QDataStream &amp;QDataStream::operator&lt;&lt;( Q_UINT32 i )
+{ return *this &lt;&lt; (Q_INT32)i; }
+
+inline QDataStream &amp;QDataStream::operator&lt;&lt;( Q_UINT64 i )
+{ return *this &lt;&lt; (Q_INT64)i; }
+
+#if !defined(Q_OS_WIN64)
+inline QDataStream &amp;QDataStream::operator&lt;&lt;( Q_ULONG i )
+{ return *this &lt;&lt; (Q_LONG)i; }
+#endif
+
+#endif // QT_NO_DATASTREAM
+#endif // QDATASTREAM_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatastream-members.html b/doc/html/qdatastream-members.html
new file mode 100644
index 0000000..8845d0a
--- /dev/null
+++ b/doc/html/qdatastream-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatastream.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataStream Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataStream</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatastream.html">QDataStream</a>, including inherited members.
+
+<ul>
+<li><a href="qdatastream.html#QDataStream">QDataStream</a>()
+<li><a href="qdatastream.html#~QDataStream">~QDataStream</a>()
+<li><a href="qdatastream.html#atEnd">atEnd</a>()
+<li><a href="qdatastream.html#byteOrder">byteOrder</a>()
+<li><a href="qdatastream.html#device">device</a>()
+<li><a href="qdatastream.html#eof">eof</a>()
+<li><a href="qdatastream.html#isPrintableData">isPrintableData</a>()
+<li><a href="qdatastream.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qdatastream.html#operator-gt-gt">operator&gt;&gt;</a>()
+<li><a href="qdatastream.html#readBytes">readBytes</a>()
+<li><a href="qdatastream.html#readRawBytes">readRawBytes</a>()
+<li><a href="qdatastream.html#setByteOrder">setByteOrder</a>()
+<li><a href="qdatastream.html#setDevice">setDevice</a>()
+<li><a href="qdatastream.html#setPrintableData">setPrintableData</a>()
+<li><a href="qdatastream.html#setVersion">setVersion</a>()
+<li><a href="qdatastream.html#unsetDevice">unsetDevice</a>()
+<li><a href="qdatastream.html#version">version</a>()
+<li><a href="qdatastream.html#writeBytes">writeBytes</a>()
+<li><a href="qdatastream.html#writeRawBytes">writeRawBytes</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatastream.html b/doc/html/qdatastream.html
new file mode 100644
index 0000000..3e9e9ce
--- /dev/null
+++ b/doc/html/qdatastream.html
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdatastream.cpp:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataStream Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataStream Class Reference</h1>
+
+<p>The QDataStream class provides serialization of binary data
+to a QIODevice.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdatastream-h.html">qdatastream.h</a>&gt;</tt>
+<p><a href="qdatastream-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDataStream"><b>QDataStream</b></a> ()</li>
+<li class=fn><a href="#QDataStream-2"><b>QDataStream</b></a> ( QIODevice&nbsp;*&nbsp;d )</li>
+<li class=fn><a href="#QDataStream-3"><b>QDataStream</b></a> ( QByteArray&nbsp;a, int&nbsp;mode )</li>
+<li class=fn>virtual <a href="#~QDataStream"><b>~QDataStream</b></a> ()</li>
+<li class=fn>QIODevice * <a href="#device"><b>device</b></a> () const</li>
+<li class=fn>void <a href="#setDevice"><b>setDevice</b></a> ( QIODevice&nbsp;*&nbsp;d )</li>
+<li class=fn>void <a href="#unsetDevice"><b>unsetDevice</b></a> ()</li>
+<li class=fn>bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>bool eof () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#ByteOrder-enum"><b>ByteOrder</b></a> { BigEndian, LittleEndian }</li>
+<li class=fn>int <a href="#byteOrder"><b>byteOrder</b></a> () const</li>
+<li class=fn>void <a href="#setByteOrder"><b>setByteOrder</b></a> ( int&nbsp;bo )</li>
+<li class=fn>bool <a href="#isPrintableData"><b>isPrintableData</b></a> () const</li>
+<li class=fn>void <a href="#setPrintableData"><b>setPrintableData</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>int <a href="#version"><b>version</b></a> () const</li>
+<li class=fn>void <a href="#setVersion"><b>setVersion</b></a> ( int&nbsp;v )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( Q_INT8&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-2"><b>operator&gt;&gt;</b></a> ( Q_UINT8&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-3"><b>operator&gt;&gt;</b></a> ( Q_INT16&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-4"><b>operator&gt;&gt;</b></a> ( Q_UINT16&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-5"><b>operator&gt;&gt;</b></a> ( Q_INT32&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-6"><b>operator&gt;&gt;</b></a> ( Q_UINT32&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-7"><b>operator&gt;&gt;</b></a> ( Q_INT64&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-8"><b>operator&gt;&gt;</b></a> ( Q_UINT64&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-9"><b>operator&gt;&gt;</b></a> ( Q_LONG&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-a"><b>operator&gt;&gt;</b></a> ( Q_ULONG&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-b"><b>operator&gt;&gt;</b></a> ( float&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-c"><b>operator&gt;&gt;</b></a> ( double&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt-d"><b>operator&gt;&gt;</b></a> ( char&nbsp;*&amp;&nbsp;s )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( Q_INT8&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-2"><b>operator&lt;&lt;</b></a> ( Q_UINT8&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-3"><b>operator&lt;&lt;</b></a> ( Q_INT16&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-4"><b>operator&lt;&lt;</b></a> ( Q_UINT16&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-5"><b>operator&lt;&lt;</b></a> ( Q_INT32&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-6"><b>operator&lt;&lt;</b></a> ( Q_UINT32&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-7"><b>operator&lt;&lt;</b></a> ( Q_INT64&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-8"><b>operator&lt;&lt;</b></a> ( Q_UINT64&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-9"><b>operator&lt;&lt;</b></a> ( Q_LONG&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-a"><b>operator&lt;&lt;</b></a> ( Q_ULONG&nbsp;i )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-b"><b>operator&lt;&lt;</b></a> ( float&nbsp;f )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-c"><b>operator&lt;&lt;</b></a> ( double&nbsp;f )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-d"><b>operator&lt;&lt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QDataStream &amp; <a href="#readBytes"><b>readBytes</b></a> ( char&nbsp;*&amp;&nbsp;s, uint&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>QDataStream &amp; <a href="#readRawBytes"><b>readRawBytes</b></a> ( char&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+<li class=fn>QDataStream &amp; <a href="#writeBytes"><b>writeBytes</b></a> ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+<li class=fn>QDataStream &amp; <a href="#writeRawBytes"><b>writeRawBytes</b></a> ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDataStream class provides serialization of binary data
+to a <a href="qiodevice.html">QIODevice</a>.
+<p>
+<p> A data stream is a binary stream of encoded information which is
+100% independent of the host computer's operating system, CPU or
+byte order. For example, a data stream that is written by a PC
+under Windows can be read by a Sun SPARC running Solaris.
+<p> You can also use a data stream to read/write <a href="#raw">raw
+ unencoded binary data</a>. If you want a "parsing" input
+stream, see <a href="qtextstream.html">QTextStream</a>.
+<p> The QDataStream class implements the serialization of C++'s basic
+data types, like <tt>char</tt>, <tt>short</tt>, <tt>int</tt>, <tt>char*</tt>, etc.
+Serialization of more complex data is accomplished by breaking up
+the data into primitive units.
+<p> A data stream cooperates closely with a QIODevice. A QIODevice
+represents an input/output medium one can read data from and write
+data to. The <a href="qfile.html">QFile</a> class is an example of an IO device.
+<p> Example (write binary data to a stream):
+<pre>
+ <a href="qfile.html">QFile</a> file( "file.dat" );
+ file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> );
+ QDataStream stream( &amp;file ); // we will serialize the data into the file
+ stream &lt;&lt; "the answer is"; // serialize a string
+ stream &lt;&lt; (Q_INT32)42; // serialize an integer
+ </pre>
+
+<p> Example (read binary data from a stream):
+<pre>
+ <a href="qfile.html">QFile</a> file( "file.dat" );
+ file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> );
+ QDataStream stream( &amp;file ); // read the data serialized from the file
+ <a href="qstring.html">QString</a> str;
+ Q_INT32 a;
+ stream &gt;&gt; str &gt;&gt; a; // extract "the answer is" and 42
+ </pre>
+
+<p> Each item written to the stream is written in a predefined binary
+format that varies depending on the item's type. Supported Qt
+types include <a href="qbrush.html">QBrush</a>, <a href="qcolor.html">QColor</a>, <a href="qdatetime.html">QDateTime</a>, <a href="qfont.html">QFont</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qstring.html">QString</a>,
+<a href="qvariant.html">QVariant</a> and many others. For the complete list of all Qt types
+supporting data streaming see the <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+<p> For integers it is best to always cast to a Qt integer type for
+writing, and to read back into the same Qt integer type. This
+ensures that you get integers of the size you want and insulates
+you from compiler and platform differences.
+<p> To take one example, a <tt>char*</tt> string is written as a 32-bit
+integer equal to the length of the string including the NUL byte
+('&#92;0'), followed by all the characters of the string including the
+NUL byte. When reading a <tt>char*</tt> string, 4 bytes are read to
+create the 32-bit length value, then that many characters for the
+<tt>char*</tt> string including the NUL are read.
+<p> The initial IODevice is usually set in the constructor, but can be
+changed with <a href="#setDevice">setDevice</a>(). If you've reached the end of the data
+(or if there is no IODevice set) <a href="#atEnd">atEnd</a>() will return TRUE.
+<p> If you want the data to be compatible with an earlier version of
+Qt use <a href="#setVersion">setVersion</a>().
+<p> If you want the data to be human-readable, e.g. for debugging, you
+can set the data stream into printable data mode with
+<a href="#setPrintableData">setPrintableData</a>(). The data is then written slower, in a bloated
+but human readable format.
+<p> If you are producing a new binary data format, such as a file
+format for documents created by your application, you could use a
+QDataStream to write the data in a portable format. Typically, you
+would write a brief header containing a magic string and a version
+number to give yourself room for future expansion. For example:
+<p> <pre>
+ <a href="qfile.html">QFile</a> file( "file.xxx" );
+ file.<a href="qfile.html#open">open</a>( IO_WriteOnly );
+ QDataStream stream( &amp;file );
+
+ // Write a header with a "magic number" and a version
+ stream &lt;&lt; (Q_UINT32)0xA0B0C0D0;
+ stream &lt;&lt; (Q_INT32)123;
+
+ // Write the data
+ stream &lt;&lt; [lots of interesting data]
+ </pre>
+
+<p> Then read it in with:
+<p> <pre>
+ <a href="qfile.html">QFile</a> file( "file.xxx" );
+ file.<a href="qfile.html#open">open</a>( IO_ReadOnly );
+ QDataStream stream( &amp;file );
+
+ // Read and check the header
+ Q_UINT32 magic;
+ stream &gt;&gt; magic;
+ if ( magic != 0xA0B0C0D0 )
+ return XXX_BAD_FILE_FORMAT;
+
+ // Read the version
+ Q_INT32 version;
+ stream &gt;&gt; version;
+ if ( version &lt; 100 )
+ return XXX_BAD_FILE_TOO_OLD;
+ if ( version &gt; 123 )
+ return XXX_BAD_FILE_TOO_NEW;
+ if ( version &lt;= 110 )
+ stream.<a href="#setVersion">setVersion</a>(1);
+
+ // Read the data
+ stream &gt;&gt; [lots of interesting data];
+ if ( version &gt; 120 )
+ stream &gt;&gt; [data new in XXX version 1.2];
+ stream &gt;&gt; [other interesting data];
+ </pre>
+
+<p> You can select which byte order to use when serializing data. The
+default setting is big endian (MSB first). Changing it to little
+endian breaks the portability (unless the reader also changes to
+little endian). We recommend keeping this setting unless you have
+special requirements.
+<p> <a name="raw"></a>
+<h3> Reading and writing raw binary data
+</h3>
+<a name="1"></a><p> You may wish to read/write your own raw binary data to/from the
+data stream directly. Data may be read from the stream into a
+preallocated char* using <a href="#readRawBytes">readRawBytes</a>(). Similarly data can be
+written to the stream using <a href="#writeRawBytes">writeRawBytes</a>(). Notice that any
+encoding/decoding of the data must be done by you.
+<p> A similar pair of functions is <a href="#readBytes">readBytes</a>() and <a href="#writeBytes">writeBytes</a>(). These
+differ from their <em>raw</em> counterparts as follows: readBytes()
+reads a Q_UINT32 which is taken to be the length of the data to be
+read, then that number of bytes is read into the preallocated
+char*; writeBytes() writes a Q_UINT32 containing the length of the
+data, followed by the data. Notice that any encoding/decoding of
+the data (apart from the length Q_UINT32) must be done by you.
+<p> <p>See also <a href="qtextstream.html">QTextStream</a>, <a href="qvariant.html">QVariant</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ByteOrder-enum"></a>QDataStream::ByteOrder</h3>
+
+<p> The byte order used for reading/writing the data.
+<ul>
+<li><tt>QDataStream::BigEndian</tt> - the default
+<li><tt>QDataStream::LittleEndian</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDataStream"></a>QDataStream::QDataStream ()
+</h3>
+Constructs a data stream that has no IO device.
+<p> <p>See also <a href="#setDevice">setDevice</a>().
+
+<h3 class=fn><a name="QDataStream-2"></a>QDataStream::QDataStream ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;d )
+</h3>
+Constructs a data stream that uses the IO device <em>d</em>.
+<p> <b>Warning:</b> If you use <a href="qsocket.html">QSocket</a> or <a href="qsocketdevice.html">QSocketDevice</a> as the IO device <em>d</em>
+for reading data, you must make sure that enough data is available
+on the socket for the operation to successfully proceed;
+QDataStream does not have any means to handle or recover from
+short-reads.
+<p> <p>See also <a href="#setDevice">setDevice</a>() and <a href="#device">device</a>().
+
+<h3 class=fn><a name="QDataStream-3"></a>QDataStream::QDataStream ( <a href="qbytearray.html">QByteArray</a>&nbsp;a, int&nbsp;mode )
+</h3>
+Constructs a data stream that operates on a byte array, <em>a</em>,
+through an internal <a href="qbuffer.html">QBuffer</a> device. The <em>mode</em> is a
+<a href="qiodevice.html#mode">QIODevice::mode</a>(), usually either <a href="qfile.html#open">IO_ReadOnly</a> or <a href="qfile.html#open">IO_WriteOnly</a>.
+<p> Example:
+<pre>
+ static char bindata[] = { 231, 1, 44, ... };
+ <a href="qbytearray.html">QByteArray</a> a;
+ a.<a href="qmemarray.html#setRawData">setRawData</a>( bindata, sizeof(bindata) ); // a points to bindata
+ QDataStream stream( a, <a href="qfile.html#open">IO_ReadOnly</a> ); // open on a's data
+ stream &gt;&gt; [something]; // read raw bindata
+ a.<a href="qmemarray.html#resetRawData">resetRawData</a>( bindata, sizeof(bindata) ); // finished
+ </pre>
+
+<p> The <a href="qmemarray.html#setRawData">QByteArray::setRawData</a>() function is not for the inexperienced.
+
+<h3 class=fn><a name="~QDataStream"></a>QDataStream::~QDataStream ()<tt> [virtual]</tt>
+</h3>
+Destroys the data stream.
+<p> The destructor will not affect the current IO device, unless it is
+an internal IO device processing a <a href="qbytearray.html">QByteArray</a> passed in the <em>constructor</em>, in which case the internal IO device is destroyed.
+
+<h3 class=fn>bool <a name="atEnd"></a>QDataStream::atEnd () const
+</h3>
+
+<p> Returns TRUE if the IO device has reached the end position (end of
+the stream or file) or if there is no IO device set; otherwise
+returns FALSE, i.e. if the current position of the IO device is
+before the end position.
+<p> <p>See also <a href="qiodevice.html#atEnd">QIODevice::atEnd</a>().
+
+<h3 class=fn>int <a name="byteOrder"></a>QDataStream::byteOrder () const
+</h3>
+
+<p> Returns the current byte order setting -- either <a href="#ByteOrder-enum">BigEndian</a> or
+<a href="#ByteOrder-enum">LittleEndian</a>.
+<p> <p>See also <a href="#setByteOrder">setByteOrder</a>().
+
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="device"></a>QDataStream::device () const
+</h3>
+
+<p> Returns the IO device currently set.
+<p> <p>See also <a href="#setDevice">setDevice</a>() and <a href="#unsetDevice">unsetDevice</a>().
+
+<h3 class=fn>bool <a name="eof"></a>QDataStream::eof () const
+</h3>
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if the IO device has reached the end position (end of
+stream or file) or if there is no IO device set.
+<p> Returns FALSE if the current position of the read/write head of the IO
+device is somewhere before the end position.
+<p> <p>See also <a href="qiodevice.html#atEnd">QIODevice::atEnd</a>().
+
+<h3 class=fn>bool <a name="isPrintableData"></a>QDataStream::isPrintableData () const
+</h3>
+
+<p> Returns TRUE if the printable data flag has been set; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setPrintableData">setPrintableData</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>QDataStream::operator&lt;&lt; ( Q_INT8&nbsp;i )
+</h3>
+Writes a signed byte, <em>i</em>, to the stream and returns a reference
+to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-2"></a>QDataStream::operator&lt;&lt; ( Q_UINT8&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an unsigned byte, <em>i</em>, to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-3"></a>QDataStream::operator&lt;&lt; ( Q_INT16&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a signed 16-bit integer, <em>i</em>, to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-4"></a>QDataStream::operator&lt;&lt; ( Q_UINT16&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an unsigned 16-bit integer, <em>i</em>, to the stream and returns
+a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-5"></a>QDataStream::operator&lt;&lt; ( Q_INT32&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a signed 32-bit integer, <em>i</em>, to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-6"></a>QDataStream::operator&lt;&lt; ( Q_UINT32&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an unsigned integer, <em>i</em>, to the stream as a 32-bit
+unsigned integer (Q_UINT32). Returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-7"></a>QDataStream::operator&lt;&lt; ( Q_INT64&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a signed 64-bit integer, <em>i</em>, to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-8"></a>QDataStream::operator&lt;&lt; ( Q_UINT64&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an unsigned 64-bit integer, <em>i</em>, to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-9"></a>QDataStream::operator&lt;&lt; ( Q_LONG&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a signed integer <em>i</em>, of the system's word length, to the
+stream and returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-a"></a>QDataStream::operator&lt;&lt; ( Q_ULONG&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an unsigned integer <em>i</em>, of the system's word length, to
+the stream and returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-b"></a>QDataStream::operator&lt;&lt; ( float&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a 32-bit floating point number, <em>f</em>, to the stream using
+the standard IEEE754 format. Returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-c"></a>QDataStream::operator&lt;&lt; ( double&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a 64-bit floating point number, <em>f</em>, to the stream using
+the standard IEEE754 format. Returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-d"></a>QDataStream::operator&lt;&lt; ( const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the '&#92;0'-terminated string <em>s</em> to the stream and returns a
+reference to the stream.
+<p> The string is serialized using <a href="#writeBytes">writeBytes</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>QDataStream::operator&gt;&gt; ( Q_INT8&nbsp;&amp;&nbsp;i )
+</h3>
+Reads a signed byte from the stream into <em>i</em>, and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-2"></a>QDataStream::operator&gt;&gt; ( Q_UINT8&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned byte from the stream into <em>i</em>, and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-3"></a>QDataStream::operator&gt;&gt; ( Q_INT16&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed 16-bit integer from the stream into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-4"></a>QDataStream::operator&gt;&gt; ( Q_UINT16&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned 16-bit integer from the stream into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-5"></a>QDataStream::operator&gt;&gt; ( Q_INT32&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed 32-bit integer from the stream into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-6"></a>QDataStream::operator&gt;&gt; ( Q_UINT32&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned 32-bit integer from the stream into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-7"></a>QDataStream::operator&gt;&gt; ( Q_INT64&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed 64-bit integer from the stream into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-8"></a>QDataStream::operator&gt;&gt; ( Q_UINT64&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned 64-bit integer from the stream, into <em>i</em>, and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-9"></a>QDataStream::operator&gt;&gt; ( Q_LONG&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed integer of the system's word length from the stream
+into <em>i</em>, and returns a reference to the stream.
+<p>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-a"></a>QDataStream::operator&gt;&gt; ( Q_ULONG&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned integer of the system's word length from the
+stream, into <em>i</em>, and returns a reference to the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-b"></a>QDataStream::operator&gt;&gt; ( float&nbsp;&amp;&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a 32-bit floating point number from the stream into <em>f</em>,
+using the standard IEEE754 format. Returns a reference to the
+stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-c"></a>QDataStream::operator&gt;&gt; ( double&nbsp;&amp;&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a 64-bit floating point number from the stream into <em>f</em>,
+using the standard IEEE754 format. Returns a reference to the
+stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt-d"></a>QDataStream::operator&gt;&gt; ( char&nbsp;*&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads the '&#92;0'-terminated string <em>s</em> from the stream and returns
+a reference to the stream.
+<p> Space for the string is allocated using <tt>new</tt> -- the caller must
+destroy it with delete[].
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="readBytes"></a>QDataStream::readBytes ( char&nbsp;*&amp;&nbsp;s, uint&nbsp;&amp;&nbsp;l )
+</h3>
+Reads the buffer <em>s</em> from the stream and returns a reference to
+the stream.
+<p> The buffer <em>s</em> is allocated using <tt>new</tt>. Destroy it with the <tt>delete[]</tt> operator. If the length is zero or <em>s</em> cannot be
+allocated, <em>s</em> is set to 0.
+<p> The <em>l</em> parameter will be set to the length of the buffer.
+<p> The serialization format is a Q_UINT32 length specifier first,
+then <em>l</em> bytes of data. Note that the data is <em>not</em> encoded.
+<p> <p>See also <a href="#readRawBytes">readRawBytes</a>() and <a href="#writeBytes">writeBytes</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="readRawBytes"></a>QDataStream::readRawBytes ( char&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+Reads <em>len</em> bytes from the stream into <em>s</em> and returns a
+reference to the stream.
+<p> The buffer <em>s</em> must be preallocated. The data is <em>not</em> encoded.
+<p> <p>See also <a href="#readBytes">readBytes</a>(), <a href="qiodevice.html#readBlock">QIODevice::readBlock</a>(), and <a href="#writeRawBytes">writeRawBytes</a>().
+
+<h3 class=fn>void <a name="setByteOrder"></a>QDataStream::setByteOrder ( int&nbsp;bo )
+</h3>
+Sets the serialization byte order to <em>bo</em>.
+<p> The <em>bo</em> parameter can be <a href="#ByteOrder-enum">QDataStream::BigEndian</a> or <a href="#ByteOrder-enum">QDataStream::LittleEndian</a>.
+<p> The default setting is big endian. We recommend leaving this
+setting unless you have special requirements.
+<p> <p>See also <a href="#byteOrder">byteOrder</a>().
+
+<h3 class=fn>void <a name="setDevice"></a>QDataStream::setDevice ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;d )
+</h3>
+void <a href="#setDevice">QDataStream::setDevice</a>(<a href="qiodevice.html">QIODevice</a> *d )
+<p> Sets the IO device to <em>d</em>.
+<p> <p>See also <a href="#device">device</a>() and <a href="#unsetDevice">unsetDevice</a>().
+
+<h3 class=fn>void <a name="setPrintableData"></a>QDataStream::setPrintableData ( bool&nbsp;enable )
+</h3>
+
+<p> If <em>enable</em> is TRUE, data will be output in a human readable
+format. If <em>enable</em> is FALSE, data will be output in a binary
+format.
+<p> If <em>enable</em> is TRUE, the write functions will generate output
+that consists of printable characters (7 bit ASCII). This output
+will typically be a lot larger than the default binary output, and
+consequently slower to write.
+<p> We recommend only enabling printable data for debugging purposes.
+
+<h3 class=fn>void <a name="setVersion"></a>QDataStream::setVersion ( int&nbsp;v )
+</h3>
+
+<p> Sets the version number of the data serialization format to <em>v</em>.
+<p> You don't need to set a version if you are using the current
+version of Qt.
+<p> In order to accommodate new functionality, the datastream
+serialization format of some Qt classes has changed in some
+versions of Qt. If you want to read data that was created by an
+earlier version of Qt, or write data that can be read by a program
+that was compiled with an earlier version of Qt, use this function
+to modify the serialization format of QDataStream.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Qt Version <th valign="top">QDataStream Version
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt 3.3 <td valign="top" colspan="1" rowspan="1"> 6
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt 3.2 <td valign="top" colspan="1" rowspan="1"> 5
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt 3.1 <td valign="top" colspan="1" rowspan="1"> 5
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt 3.0 <td valign="top" colspan="1" rowspan="1"> 4
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt 2.1.x and Qt 2.2.x <td valign="top" colspan="1" rowspan="1"> 3
+<tr bgcolor="#d0d0d0"> <td valign="top">Qt 2.0.x <td valign="top" colspan="1" rowspan="1"> 2
+<tr bgcolor="#f0f0f0"> <td valign="top">Qt 1.x <td valign="top" colspan="1" rowspan="1"> 1
+</table></center>
+<p> <p>See also <a href="#version">version</a>().
+
+<h3 class=fn>void <a name="unsetDevice"></a>QDataStream::unsetDevice ()
+</h3>
+Unsets the IO device. This is the same as calling <a href="#setDevice">setDevice</a>( 0 ).
+<p> <p>See also <a href="#device">device</a>() and <a href="#setDevice">setDevice</a>().
+
+<h3 class=fn>int <a name="version"></a>QDataStream::version () const
+</h3>
+
+<p> Returns the version number of the data serialization format. In Qt
+3.1, this number is 5.
+<p> <p>See also <a href="#setVersion">setVersion</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="writeBytes"></a>QDataStream::writeBytes ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+Writes the length specifier <em>len</em> and the buffer <em>s</em> to the
+stream and returns a reference to the stream.
+<p> The <em>len</em> is serialized as a Q_UINT32, followed by <em>len</em> bytes
+from <em>s</em>. Note that the data is <em>not</em> encoded.
+<p> <p>See also <a href="#writeRawBytes">writeRawBytes</a>() and <a href="#readBytes">readBytes</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="writeRawBytes"></a>QDataStream::writeRawBytes ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+Writes <em>len</em> bytes from <em>s</em> to the stream and returns a
+reference to the stream. The data is <em>not</em> encoded.
+<p> <p>See also <a href="#writeBytes">writeBytes</a>(), <a href="qiodevice.html#writeBlock">QIODevice::writeBlock</a>(), and <a href="#readRawBytes">readRawBytes</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatatable-h.html b/doc/html/qdatatable-h.html
new file mode 100644
index 0000000..fbb4b5b
--- /dev/null
+++ b/doc/html/qdatatable-h.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatatable.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdatatable.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdatatable.h</h1>
+
+<p>This is the verbatim text of the qdatatable.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QDataTable class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATATABLE_H
+#define QDATATABLE_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qvariant.h"
+#include "qtable.h"
+#include "qsql.h"
+#include "qsqlcursor.h"
+#include "qsqlindex.h"
+#include "qsqleditorfactory.h"
+#include "qiconset.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL_VIEW_WIDGETS
+
+class QPainter;
+class QSqlField;
+class QSqlPropertyMap;
+class QDataTablePrivate;
+
+class QM_EXPORT_SQL QDataTable : public QTable
+{
+ Q_OBJECT
+
+ Q_PROPERTY( QString nullText READ nullText WRITE setNullText )
+ Q_PROPERTY( QString trueText READ trueText WRITE setTrueText )
+ Q_PROPERTY( QString falseText READ falseText WRITE setFalseText )
+ Q_PROPERTY( DateFormat dateFormat READ dateFormat WRITE setDateFormat )
+ Q_PROPERTY( bool confirmEdits READ confirmEdits WRITE setConfirmEdits )
+ Q_PROPERTY( bool confirmInsert READ confirmInsert WRITE setConfirmInsert )
+ Q_PROPERTY( bool confirmUpdate READ confirmUpdate WRITE setConfirmUpdate )
+ Q_PROPERTY( bool confirmDelete READ confirmDelete WRITE setConfirmDelete )
+ Q_PROPERTY( bool confirmCancels READ confirmCancels WRITE setConfirmCancels )
+ Q_PROPERTY( bool autoEdit READ autoEdit WRITE setAutoEdit )
+ Q_PROPERTY( QString filter READ filter WRITE setFilter )
+ Q_PROPERTY( QStringList sort READ sort WRITE setSort )
+ Q_PROPERTY( int numCols READ numCols )
+ Q_PROPERTY( int numRows READ numRows )
+
+public:
+ QDataTable ( QWidget* parent=0, const char* name=0 );
+ QDataTable ( QSqlCursor* cursor, bool autoPopulate = FALSE, QWidget* parent=0, const char* name=0 );
+ ~QDataTable();
+
+ virtual void addColumn( const QString&amp; fieldName,
+ const QString&amp; label = QString::null,
+ int width = -1,
+ const QIconSet&amp; iconset = QIconSet() );
+ virtual void removeColumn( uint col );
+ virtual void setColumn( uint col, const QString&amp; fieldName,
+ const QString&amp; label = QString::null,
+ int width = -1,
+ const QIconSet&amp; iconset = QIconSet() );
+
+ QString nullText() const;
+ QString trueText() const;
+ QString falseText() const;
+ DateFormat dateFormat() const;
+ bool confirmEdits() const;
+ bool confirmInsert() const;
+ bool confirmUpdate() const;
+ bool confirmDelete() const;
+ bool confirmCancels() const;
+ bool autoDelete() const;
+ bool autoEdit() const;
+ QString filter() const;
+ QStringList sort() const;
+
+ virtual void setSqlCursor( QSqlCursor* cursor = 0,
+ bool autoPopulate = FALSE, bool autoDelete = FALSE );
+ QSqlCursor* sqlCursor() const;
+
+ virtual void setNullText( const QString&amp; nullText );
+ virtual void setTrueText( const QString&amp; trueText );
+ virtual void setFalseText( const QString&amp; falseText );
+ virtual void setDateFormat( const DateFormat f );
+ virtual void setConfirmEdits( bool confirm );
+ virtual void setConfirmInsert( bool confirm );
+ virtual void setConfirmUpdate( bool confirm );
+ virtual void setConfirmDelete( bool confirm );
+ virtual void setConfirmCancels( bool confirm );
+ virtual void setAutoDelete( bool enable );
+ virtual void setAutoEdit( bool autoEdit );
+ virtual void setFilter( const QString&amp; filter );
+ virtual void setSort( const QStringList&amp; sort );
+ virtual void setSort( const QSqlIndex&amp; sort );
+
+ enum Refresh {
+ RefreshData = 1,
+ RefreshColumns = 2,
+ RefreshAll = 3
+ };
+ void refresh( Refresh mode );
+ void sortColumn ( int col, bool ascending = TRUE,
+ bool wholeRows = FALSE );
+ QString text ( int row, int col ) const;
+ QVariant value ( int row, int col ) const;
+ QSqlRecord* currentRecord() const;
+
+ void installEditorFactory( QSqlEditorFactory * f );
+ void installPropertyMap( QSqlPropertyMap* m );
+
+ int numCols() const;
+ int numRows() const;
+ void setNumCols( int c );
+ void setNumRows ( int r );
+ bool findBuffer( const QSqlIndex&amp; idx, int atHint = 0 );
+
+ void hideColumn( int col );
+ void showColumn( int col );
+signals:
+ void currentChanged( QSqlRecord* record );
+ void primeInsert( QSqlRecord* buf );
+ void primeUpdate( QSqlRecord* buf );
+ void primeDelete( QSqlRecord* buf );
+ void beforeInsert( QSqlRecord* buf );
+ void beforeUpdate( QSqlRecord* buf );
+ void beforeDelete( QSqlRecord* buf );
+ void cursorChanged( QSql::Op mode );
+
+public slots:
+ virtual void find( const QString &amp; str, bool caseSensitive,
+ bool backwards );
+ virtual void sortAscending( int col );
+ virtual void sortDescending( int col );
+ virtual void refresh();
+ void setColumnWidth( int col, int w );
+ void adjustColumn( int col );
+ void setColumnStretchable( int col, bool stretch );
+ void swapColumns( int col1, int col2, bool swapHeaders = FALSE );
+
+protected:
+ virtual bool insertCurrent();
+ virtual bool updateCurrent();
+ virtual bool deleteCurrent();
+
+ virtual QSql::Confirm confirmEdit( QSql::Op m );
+ virtual QSql::Confirm confirmCancel( QSql::Op m );
+
+ virtual void handleError( const QSqlError&amp; e );
+
+ virtual bool beginInsert();
+ virtual QWidget* beginUpdate ( int row, int col, bool replace );
+
+ bool eventFilter( QObject *o, QEvent *e );
+ void keyPressEvent( QKeyEvent* );
+ void resizeEvent ( QResizeEvent * );
+ void contentsMousePressEvent( QMouseEvent* e );
+ void contentsContextMenuEvent( QContextMenuEvent* e );
+ void endEdit( int row, int col, bool accept, bool replace );
+ QWidget * createEditor( int row, int col, bool initFromCell ) const;
+ void activateNextCell();
+ int indexOf( uint i ) const; // ### make this public in 4.0
+ void reset();
+ void setSize( QSqlCursor* sql );
+ void repaintCell( int row, int col );
+ void paintCell ( QPainter * p, int row, int col, const QRect &amp; cr,
+ bool selected, const QColorGroup &amp;cg );
+ virtual void paintField( QPainter * p, const QSqlField* field, const QRect &amp; cr,
+ bool selected );
+ void drawContents( QPainter * p, int cx, int cy, int cw, int ch );
+ virtual int fieldAlignment( const QSqlField* field );
+ void columnClicked ( int col );
+ void resizeData ( int len );
+
+ QTableItem * item ( int row, int col ) const;
+ void setItem ( int row, int col, QTableItem * item );
+ void clearCell ( int row, int col ) ;
+ void setPixmap ( int row, int col, const QPixmap &amp; pix );
+ void takeItem ( QTableItem * i );
+
+private slots:
+ void loadNextPage();
+ void setCurrentSelection( int row, int col );
+ void updateCurrentSelection();
+ void sliderPressed();
+ void sliderReleased();
+ void doInsertCurrent();
+ void doUpdateCurrent();
+
+private:
+ QString fieldToString( const QSqlField * field );
+ void init();
+ QWidget* beginEdit ( int row, int col, bool replace );
+ void updateRow( int row );
+ void endInsert();
+ void endUpdate();
+ QDataTablePrivate* d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDataTable( const QDataTable &amp; );
+ QDataTable &amp;operator=( const QDataTable &amp; );
+#endif
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatatable-members.html b/doc/html/qdatatable-members.html
new file mode 100644
index 0000000..fb1f84c
--- /dev/null
+++ b/doc/html/qdatatable-members.html
@@ -0,0 +1,604 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatatable.h:64 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataTable Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataTable</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatatable.html">QDataTable</a>, including inherited members.
+
+<ul>
+<li><a href="qdatatable.html#QDataTable">QDataTable</a>()
+<li><a href="qdatatable.html#~QDataTable">~QDataTable</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtable.html#activateNextCell">activateNextCell</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qdatatable.html#addColumn">addColumn</a>()
+<li><a href="qtable.html#addSelection">addSelection</a>()
+<li><a href="qdatatable.html#adjustColumn">adjustColumn</a>()
+<li><a href="qtable.html#adjustRow">adjustRow</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdatatable.html#autoDelete">autoDelete</a>()
+<li><a href="qdatatable.html#autoEdit">autoEdit</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qdatatable.html#beforeDelete">beforeDelete</a>()
+<li><a href="qdatatable.html#beforeInsert">beforeInsert</a>()
+<li><a href="qdatatable.html#beforeUpdate">beforeUpdate</a>()
+<li><a href="qtable.html#beginEdit">beginEdit</a>()
+<li><a href="qdatatable.html#beginInsert">beginInsert</a>()
+<li><a href="qdatatable.html#beginUpdate">beginUpdate</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qtable.html#cellGeometry">cellGeometry</a>()
+<li><a href="qtable.html#cellRect">cellRect</a>()
+<li><a href="qtable.html#cellWidget">cellWidget</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtable.html#clearCell">clearCell</a>()
+<li><a href="qtable.html#clearCellWidget">clearCellWidget</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtable.html#clearSelection">clearSelection</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtable.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qtable.html#columnAt">columnAt</a>()
+<li><a href="qtable.html#columnClicked">columnClicked</a>()
+<li><a href="qtable.html#columnIndexChanged">columnIndexChanged</a>()
+<li><a href="qtable.html#columnMovingEnabled">columnMovingEnabled</a>()
+<li><a href="qtable.html#columnPos">columnPos</a>()
+<li><a href="qtable.html#columnWidth">columnWidth</a>()
+<li><a href="qtable.html#columnWidthChanged">columnWidthChanged</a>()
+<li><a href="qdatatable.html#confirmCancel">confirmCancel</a>()
+<li><a href="qdatatable.html#confirmCancels">confirmCancels</a>()
+<li><a href="qdatatable.html#confirmDelete">confirmDelete</a>()
+<li><a href="qdatatable.html#confirmEdit">confirmEdit</a>()
+<li><a href="qdatatable.html#confirmEdits">confirmEdits</a>()
+<li><a href="qdatatable.html#confirmInsert">confirmInsert</a>()
+<li><a href="qdatatable.html#confirmUpdate">confirmUpdate</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qtable.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qtable.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qtable.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qtable.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtable.html#contextMenuRequested">contextMenuRequested</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtable.html#createEditor">createEditor</a>()
+<li><a href="qtable.html#currEditCol">currEditCol</a>()
+<li><a href="qtable.html#currEditRow">currEditRow</a>()
+<li><a href="qdatatable.html#currentChanged">currentChanged</a>()
+<li><a href="qtable.html#currentColumn">currentColumn</a>()
+<li><a href="qdatatable.html#currentRecord">currentRecord</a>()
+<li><a href="qtable.html#currentRow">currentRow</a>()
+<li><a href="qtable.html#currentSelection">currentSelection</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qdatatable.html#cursorChanged">cursorChanged</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qdatatable.html#dateFormat">dateFormat</a>()
+<li><a href="qdatatable.html#deleteCurrent">deleteCurrent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtable.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qtable.html#dragEnabled">dragEnabled</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qtable.html#dragObject">dragObject</a>()
+<li><a href="qtable.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qtable.html#dropped">dropped</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qtable.html#editCell">editCell</a>()
+<li><a href="qtable.html#editMode">editMode</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qtable.html#endEdit">endEdit</a>()
+<li><a href="qtable.html#ensureCellVisible">ensureCellVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qdatatable.html#falseText">falseText</a>()
+<li><a href="qdatatable.html#fieldAlignment">fieldAlignment</a>()
+<li><a href="qdatatable.html#filter">filter</a>()
+<li><a href="qdatatable.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qtable.html#focusStyle">focusStyle</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qdatatable.html#handleError">handleError</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qtable.html#hideColumn">hideColumn</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qtable.html#hideRow">hideRow</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qtable.html#horizontalHeader">horizontalHeader</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qdatatable.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtable.html#insertColumns">insertColumns</a>()
+<li><a href="qdatatable.html#insertCurrent">insertCurrent</a>()
+<li><a href="qtable.html#insertRows">insertRows</a>()
+<li><a href="qtable.html#insertWidget">insertWidget</a>()
+<li><a href="qdatatable.html#installEditorFactory">installEditorFactory</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qdatatable.html#installPropertyMap">installPropertyMap</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qtable.html#isColumnHidden">isColumnHidden</a>()
+<li><a href="qtable.html#isColumnReadOnly">isColumnReadOnly</a>()
+<li><a href="qtable.html#isColumnSelected">isColumnSelected</a>()
+<li><a href="qtable.html#isColumnStretchable">isColumnStretchable</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qtable.html#isEditing">isEditing</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtable.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtable.html#isRowHidden">isRowHidden</a>()
+<li><a href="qtable.html#isRowReadOnly">isRowReadOnly</a>()
+<li><a href="qtable.html#isRowSelected">isRowSelected</a>()
+<li><a href="qtable.html#isRowStretchable">isRowStretchable</a>()
+<li><a href="qtable.html#isSelected">isSelected</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtable.html#item">item</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qdatatable.html#nullText">nullText</a>()
+<li><a href="qdatatable.html#numCols">numCols</a>()
+<li><a href="qdatatable.html#numRows">numRows</a>()
+<li><a href="qtable.html#numSelections">numSelections</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qtable.html#paintCell">paintCell</a>()
+<li><a href="qtable.html#paintEmptyArea">paintEmptyArea</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qdatatable.html#paintField">paintField</a>()
+<li><a href="qtable.html#paintFocus">paintFocus</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtable.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qtable.html#pressed">pressed</a>()
+<li><a href="qdatatable.html#primeDelete">primeDelete</a>()
+<li><a href="qdatatable.html#primeInsert">primeInsert</a>()
+<li><a href="qdatatable.html#primeUpdate">primeUpdate</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdatatable.html#refresh">refresh</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qdatatable.html#removeColumn">removeColumn</a>()
+<li><a href="qtable.html#removeColumns">removeColumns</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtable.html#removeRow">removeRow</a>()
+<li><a href="qtable.html#removeRows">removeRows</a>()
+<li><a href="qtable.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qtable.html#repaintSelections">repaintSelections</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qdatatable.html#reset">reset</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qtable.html#resizeData">resizeData</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qtable.html#rowAt">rowAt</a>()
+<li><a href="qtable.html#rowHeight">rowHeight</a>()
+<li><a href="qtable.html#rowHeightChanged">rowHeightChanged</a>()
+<li><a href="qtable.html#rowIndexChanged">rowIndexChanged</a>()
+<li><a href="qtable.html#rowMovingEnabled">rowMovingEnabled</a>()
+<li><a href="qtable.html#rowPos">rowPos</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtable.html#selectCells">selectCells</a>()
+<li><a href="qtable.html#selectColumn">selectColumn</a>()
+<li><a href="qtable.html#selectRow">selectRow</a>()
+<li><a href="qtable.html#selection">selection</a>()
+<li><a href="qtable.html#selectionChanged">selectionChanged</a>()
+<li><a href="qtable.html#selectionMode">selectionMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qdatatable.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qdatatable.html#setAutoEdit">setAutoEdit</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtable.html#setCellContentFromEditor">setCellContentFromEditor</a>()
+<li><a href="qtable.html#setCellWidget">setCellWidget</a>()
+<li><a href="qdatatable.html#setColumn">setColumn</a>()
+<li><a href="qtable.html#setColumnLabels">setColumnLabels</a>()
+<li><a href="qtable.html#setColumnMovingEnabled">setColumnMovingEnabled</a>()
+<li><a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>()
+<li><a href="qtable.html#setColumnStretchable">setColumnStretchable</a>()
+<li><a href="qdatatable.html#setColumnWidth">setColumnWidth</a>()
+<li><a href="qdatatable.html#setConfirmCancels">setConfirmCancels</a>()
+<li><a href="qdatatable.html#setConfirmDelete">setConfirmDelete</a>()
+<li><a href="qdatatable.html#setConfirmEdits">setConfirmEdits</a>()
+<li><a href="qdatatable.html#setConfirmInsert">setConfirmInsert</a>()
+<li><a href="qdatatable.html#setConfirmUpdate">setConfirmUpdate</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtable.html#setCurrentCell">setCurrentCell</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qdatatable.html#setDateFormat">setDateFormat</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qtable.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qtable.html#setEditMode">setEditMode</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdatatable.html#setFalseText">setFalseText</a>()
+<li><a href="qdatatable.html#setFilter">setFilter</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qtable.html#setFocusStyle">setFocusStyle</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtable.html#setItem">setItem</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qtable.html#setLeftMargin">setLeftMargin</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdatatable.html#setNullText">setNullText</a>()
+<li><a href="qtable.html#setNumCols">setNumCols</a>()
+<li><a href="qtable.html#setNumRows">setNumRows</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtable.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtable.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtable.html#setRowHeight">setRowHeight</a>()
+<li><a href="qtable.html#setRowLabels">setRowLabels</a>()
+<li><a href="qtable.html#setRowMovingEnabled">setRowMovingEnabled</a>()
+<li><a href="qtable.html#setRowReadOnly">setRowReadOnly</a>()
+<li><a href="qtable.html#setRowStretchable">setRowStretchable</a>()
+<li><a href="qtable.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qtable.html#setShowGrid">setShowGrid</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdatatable.html#setSize">setSize</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qdatatable.html#setSort">setSort</a>()
+<li><a href="qtable.html#setSorting">setSorting</a>()
+<li><a href="qdatatable.html#setSqlCursor">setSqlCursor</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtable.html#setText">setText</a>()
+<li><a href="qtable.html#setTopMargin">setTopMargin</a>()
+<li><a href="qdatatable.html#setTrueText">setTrueText</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qtable.html#showColumn">showColumn</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qtable.html#showGrid">showGrid</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qtable.html#showRow">showRow</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qdatatable.html#sort">sort</a>()
+<li><a href="qdatatable.html#sortAscending">sortAscending</a>()
+<li><a href="qdatatable.html#sortColumn">sortColumn</a>()
+<li><a href="qdatatable.html#sortDescending">sortDescending</a>()
+<li><a href="qtable.html#sorting">sorting</a>()
+<li><a href="qdatatable.html#sqlCursor">sqlCursor</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qtable.html#startDrag">startDrag</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtable.html#swapCells">swapCells</a>()
+<li><a href="qtable.html#swapColumns">swapColumns</a>()
+<li><a href="qtable.html#swapRows">swapRows</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qtable.html#takeItem">takeItem</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qdatatable.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qdatatable.html#trueText">trueText</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qtable.html#updateCell">updateCell</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qdatatable.html#updateCurrent">updateCurrent</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qtable.html#updateHeaderStates">updateHeaderStates</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qdatatable.html#value">value</a>()
+<li><a href="qtable.html#valueChanged">valueChanged</a>()
+<li><a href="qtable.html#verticalHeader">verticalHeader</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatatable.html b/doc/html/qdatatable.html
new file mode 100644
index 0000000..6673b35
--- /dev/null
+++ b/doc/html/qdatatable.html
@@ -0,0 +1,809 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qdatatable.cpp:130 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataTable Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataTable Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QDataTable class provides a flexible SQL table widget that supports browsing and editing.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;</tt>
+<p>Inherits <a href="qtable.html">QTable</a>.
+<p><a href="qdatatable-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDataTable"><b>QDataTable</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QDataTable-2"><b>QDataTable</b></a> ( QSqlCursor&nbsp;*&nbsp;cursor, bool&nbsp;autoPopulate = FALSE, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDataTable"><b>~QDataTable</b></a> ()</li>
+<li class=fn>virtual void <a href="#addColumn"><b>addColumn</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName, const&nbsp;QString&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )</li>
+<li class=fn>virtual void <a href="#removeColumn"><b>removeColumn</b></a> ( uint&nbsp;col )</li>
+<li class=fn>virtual void <a href="#setColumn"><b>setColumn</b></a> ( uint&nbsp;col, const&nbsp;QString&nbsp;&amp;&nbsp;fieldName, const&nbsp;QString&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )</li>
+<li class=fn>QString <a href="#nullText"><b>nullText</b></a> () const</li>
+<li class=fn>QString <a href="#trueText"><b>trueText</b></a> () const</li>
+<li class=fn>QString <a href="#falseText"><b>falseText</b></a> () const</li>
+<li class=fn>DateFormat <a href="#dateFormat"><b>dateFormat</b></a> () const</li>
+<li class=fn>bool <a href="#confirmEdits"><b>confirmEdits</b></a> () const</li>
+<li class=fn>bool <a href="#confirmInsert"><b>confirmInsert</b></a> () const</li>
+<li class=fn>bool <a href="#confirmUpdate"><b>confirmUpdate</b></a> () const</li>
+<li class=fn>bool <a href="#confirmDelete"><b>confirmDelete</b></a> () const</li>
+<li class=fn>bool <a href="#confirmCancels"><b>confirmCancels</b></a> () const</li>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>bool <a href="#autoEdit"><b>autoEdit</b></a> () const</li>
+<li class=fn>QString <a href="#filter"><b>filter</b></a> () const</li>
+<li class=fn>QStringList <a href="#sort"><b>sort</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSqlCursor"><b>setSqlCursor</b></a> ( QSqlCursor&nbsp;*&nbsp;cursor = 0, bool&nbsp;autoPopulate = FALSE, bool&nbsp;autoDelete = FALSE )</li>
+<li class=fn>QSqlCursor * <a href="#sqlCursor"><b>sqlCursor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNullText"><b>setNullText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nullText )</li>
+<li class=fn>virtual void <a href="#setTrueText"><b>setTrueText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;trueText )</li>
+<li class=fn>virtual void <a href="#setFalseText"><b>setFalseText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;falseText )</li>
+<li class=fn>virtual void <a href="#setDateFormat"><b>setDateFormat</b></a> ( const&nbsp;DateFormat&nbsp;f )</li>
+<li class=fn>virtual void <a href="#setConfirmEdits"><b>setConfirmEdits</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmInsert"><b>setConfirmInsert</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmUpdate"><b>setConfirmUpdate</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmDelete"><b>setConfirmDelete</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setConfirmCancels"><b>setConfirmCancels</b></a> ( bool&nbsp;confirm )</li>
+<li class=fn>virtual void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setAutoEdit"><b>setAutoEdit</b></a> ( bool&nbsp;autoEdit )</li>
+<li class=fn>virtual void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</li>
+<li class=fn>virtual void <a href="#setSort"><b>setSort</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>virtual void <a href="#setSort-2"><b>setSort</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>enum <a href="#Refresh-enum"><b>Refresh</b></a> { RefreshData = 1, RefreshColumns = 2, RefreshAll = 3 }</li>
+<li class=fn>void <a href="#refresh-2"><b>refresh</b></a> ( Refresh&nbsp;mode )</li>
+<li class=fn>virtual void <a href="#sortColumn"><b>sortColumn</b></a> ( int&nbsp;col, bool&nbsp;ascending = TRUE, bool&nbsp;wholeRows = FALSE )</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>QVariant <a href="#value"><b>value</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>QSqlRecord * <a href="#currentRecord"><b>currentRecord</b></a> () const</li>
+<li class=fn>void <a href="#installEditorFactory"><b>installEditorFactory</b></a> ( QSqlEditorFactory&nbsp;*&nbsp;f )</li>
+<li class=fn>void <a href="#installPropertyMap"><b>installPropertyMap</b></a> ( QSqlPropertyMap&nbsp;*&nbsp;m )</li>
+<li class=fn>virtual int <a href="#numCols"><b>numCols</b></a> () const</li>
+<li class=fn>virtual int <a href="#numRows"><b>numRows</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;caseSensitive, bool&nbsp;backwards )</li>
+<li class=fn>virtual void <a href="#sortAscending"><b>sortAscending</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#sortDescending"><b>sortDescending</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#refresh"><b>refresh</b></a> ()</li>
+<li class=fn>virtual void <a href="#setColumnWidth"><b>setColumnWidth</b></a> ( int&nbsp;col, int&nbsp;w )</li>
+<li class=fn>virtual void <a href="#adjustColumn"><b>adjustColumn</b></a> ( int&nbsp;col )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QSqlRecord&nbsp;*&nbsp;record )</li>
+<li class=fn>void <a href="#primeInsert"><b>primeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#primeUpdate"><b>primeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#primeDelete"><b>primeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeInsert"><b>beforeInsert</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeUpdate"><b>beforeUpdate</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#beforeDelete"><b>beforeDelete</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>void <a href="#cursorChanged"><b>cursorChanged</b></a> ( QSql::Op&nbsp;mode )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoEdit-prop"><b>autoEdit</b></a>&nbsp;- whether the data table automatically applies edits</li>
+<li class=fn>bool <a href="#confirmCancels-prop"><b>confirmCancels</b></a>&nbsp;- whether the data table confirms cancel operations</li>
+<li class=fn>bool <a href="#confirmDelete-prop"><b>confirmDelete</b></a>&nbsp;- whether the data table confirms delete operations</li>
+<li class=fn>bool <a href="#confirmEdits-prop"><b>confirmEdits</b></a>&nbsp;- whether the data table confirms edit operations</li>
+<li class=fn>bool <a href="#confirmInsert-prop"><b>confirmInsert</b></a>&nbsp;- whether the data table confirms insert operations</li>
+<li class=fn>bool <a href="#confirmUpdate-prop"><b>confirmUpdate</b></a>&nbsp;- whether the data table confirms update operations</li>
+<li class=fn>DateFormat <a href="#dateFormat-prop"><b>dateFormat</b></a>&nbsp;- the format used for displaying date/time values</li>
+<li class=fn>QString <a href="#falseText-prop"><b>falseText</b></a>&nbsp;- the text used to represent false values</li>
+<li class=fn>QString <a href="#filter-prop"><b>filter</b></a>&nbsp;- the data filter for the data table</li>
+<li class=fn>QString <a href="#nullText-prop"><b>nullText</b></a>&nbsp;- the text used to represent NULL values</li>
+<li class=fn>int <a href="#numCols-prop"><b>numCols</b></a>&nbsp;- the number of columns in the table &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#numRows-prop"><b>numRows</b></a>&nbsp;- the number of rows in the table &nbsp;<em>(read only)</em></li>
+<li class=fn>QStringList <a href="#sort-prop"><b>sort</b></a>&nbsp;- the data table's sort</li>
+<li class=fn>QString <a href="#trueText-prop"><b>trueText</b></a>&nbsp;- the text used to represent true values</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#insertCurrent"><b>insertCurrent</b></a> ()</li>
+<li class=fn>virtual bool <a href="#updateCurrent"><b>updateCurrent</b></a> ()</li>
+<li class=fn>virtual bool <a href="#deleteCurrent"><b>deleteCurrent</b></a> ()</li>
+<li class=fn>virtual QSql::Confirm <a href="#confirmEdit"><b>confirmEdit</b></a> ( QSql::Op&nbsp;m )</li>
+<li class=fn>virtual QSql::Confirm <a href="#confirmCancel"><b>confirmCancel</b></a> ( QSql::Op&nbsp;m )</li>
+<li class=fn>virtual void <a href="#handleError"><b>handleError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;e )</li>
+<li class=fn>virtual bool <a href="#beginInsert"><b>beginInsert</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#beginUpdate"><b>beginUpdate</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace )</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( uint&nbsp;i ) const</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>void <a href="#setSize"><b>setSize</b></a> ( QSqlCursor&nbsp;*&nbsp;sql )</li>
+<li class=fn>virtual void <a href="#paintField"><b>paintField</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QSqlField&nbsp;*&nbsp;field, const&nbsp;QRect&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )</li>
+<li class=fn>virtual int <a href="#fieldAlignment"><b>fieldAlignment</b></a> ( const&nbsp;QSqlField&nbsp;*&nbsp;field )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDataTable class provides a flexible SQL table widget that supports browsing and editing.
+<p>
+
+
+<p> QDataTable supports various functions for presenting and editing
+SQL data from a <a href="qsqlcursor.html">QSqlCursor</a> in a table.
+<p> If you want a to present your data in a form use <a href="qdatabrowser.html">QDataBrowser</a>, or
+for read-only forms, <a href="qdataview.html">QDataView</a>.
+<p> When displaying data, QDataTable only retrieves data for visible
+rows. If the driver supports the 'query size' property the
+QDataTable will have the correct number of rows and the vertical
+scrollbar will accurately reflect the number of rows displayed in
+proportion to the number of rows in the dataset. If the driver
+does not support the 'query size' property, rows are dynamically
+fetched from the database on an as-needed basis with the scrollbar
+becoming more accurate as the user scrolls down through the
+records. This allows extremely large queries to be displayed as
+quickly as possible, with minimum memory usage.
+<p> QDataTable inherits <a href="qtable.html">QTable</a>'s API and extends it with functions to
+sort and filter the data and sort columns. See <a href="#setSqlCursor">setSqlCursor</a>(),
+<a href="#setFilter">setFilter</a>(), <a href="#setSort">setSort</a>(), <a href="qtable.html#setSorting">setSorting</a>(), <a href="#sortColumn">sortColumn</a>() and <a href="#refresh">refresh</a>().
+<p> When displaying editable cursors, cell editing will be enabled.
+(For more information on editable cursors, see <a href="qsqlcursor.html">QSqlCursor</a>).
+QDataTable can be used to modify existing data and to add new
+records. When a user makes changes to a field in the table, the
+cursor's edit buffer is used. The table will not send changes in
+the edit buffer to the database until the user moves to a
+different record in the grid or presses Enter. Cell editing is
+initiated by pressing F2 (or right clicking and then clicking the
+appropriate popup menu item) and canceled by pressing Esc. If
+there is a problem updating or adding data, errors are handled
+automatically (see <a href="#handleError">handleError</a>() to change this behavior). Note
+that if <a href="#autoEdit">autoEdit</a>() is FALSE navigating to another record will
+cancel the insert or update.
+<p> The user can be asked to confirm all edits with <a href="#setConfirmEdits">setConfirmEdits</a>().
+For more precise control use <a href="#setConfirmInsert">setConfirmInsert</a>(),
+<a href="#setConfirmUpdate">setConfirmUpdate</a>(), <a href="#setConfirmDelete">setConfirmDelete</a>() and <a href="#setConfirmCancels">setConfirmCancels</a>().
+Use <a href="#setAutoEdit">setAutoEdit</a>() to control the behaviour of the table when the
+user edits a record and then navigates. (Note that <a href="#setAutoDelete">setAutoDelete</a>()
+is unrelated; it is used to set whether the <a href="qsqlcursor.html">QSqlCursor</a> is deleted
+when the table is deleted.)
+<p> Since the data table can perform edits, it must be able to
+uniquely identify every record so that edits are correctly
+applied. Because of this the underlying cursor must have a valid
+primary index to ensure that a unique record is inserted, updated
+or deleted within the database otherwise the database may be
+changed to an inconsistent state.
+<p> QDataTable creates editors using the default <a href="qsqleditorfactory.html">QSqlEditorFactory</a>.
+Different editor factories can be used by calling
+<a href="#installEditorFactory">installEditorFactory</a>(). A property map is used to map between the
+cell's value and the editor. You can use your own property map
+with <a href="#installPropertyMap">installPropertyMap</a>().
+<p> The contents of a cell is available as a <a href="qstring.html">QString</a> with <a href="#text">text</a>() or as
+a <a href="qvariant.html">QVariant</a> with <a href="#value">value</a>(). The current record is returned by
+<a href="#currentRecord">currentRecord</a>(). Use the <a href="#find">find</a>() function to search for a string in
+the table.
+<p> Editing actions can be applied programatically. For example, the
+<a href="#insertCurrent">insertCurrent</a>() function reads the fields from the current record
+into the cursor and performs the insert. The <a href="#updateCurrent">updateCurrent</a>() and
+<a href="#deleteCurrent">deleteCurrent</a>() functions perform similarly to update and delete
+the current record respectively.
+<p> Columns in the table can be created automatically based on the
+cursor (see <a href="#setSqlCursor">setSqlCursor</a>()). Columns can be manipulated manually
+using <a href="#addColumn">addColumn</a>(), <a href="#removeColumn">removeColumn</a>() and <a href="#setColumn">setColumn</a>().
+<p> The table automatically copies many of the properties of the
+cursor to format the display of data within cells (alignment,
+visibility, etc.). The cursor can be changed with setSqlCursor().
+The filter (see <a href="#setFilter">setFilter</a>()) and sort defined within the table are
+used instead of the filter and sort set on the cursor. For sorting
+options see <a href="#setSort">setSort</a>(), <a href="#sortColumn">sortColumn</a>(), <a href="#sortAscending">sortAscending</a>() and
+<a href="#sortDescending">sortDescending</a>(). Note that sorting operations will not behave as
+expected if you are using a <a href="qsqlselectcursor.html">QSqlSelectCursor</a> because it uses
+user-defined SQL queries to obtain data.
+<p> The text used to represent NULL, TRUE and FALSE values can be
+changed with <a href="#setNullText">setNullText</a>(), <a href="#setTrueText">setTrueText</a>() and <a href="#setFalseText">setFalseText</a>()
+respectively. You can change the appearance of cells by
+reimplementing <a href="#paintField">paintField</a>().
+<p> Whenever a new row is selected in the table the <a href="#currentChanged">currentChanged</a>()
+signal is emitted. The <a href="#primeInsert">primeInsert</a>() signal is emitted when an
+insert is initiated. The <a href="#primeUpdate">primeUpdate</a>() and <a href="#primeDelete">primeDelete</a>() signals
+are emitted when update and deletion are initiated respectively.
+Just before the database is updated a signal is emitted;
+<a href="#beforeInsert">beforeInsert</a>(), <a href="#beforeUpdate">beforeUpdate</a>() or <a href="#beforeDelete">beforeDelete</a>() as appropriate.
+<p> <p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Refresh-enum"></a>QDataTable::Refresh</h3>
+
+<p> This enum describes the refresh options.
+<ul>
+<li><tt>QDataTable::RefreshData</tt> - refresh the data, i.e. read it from the database
+<li><tt>QDataTable::RefreshColumns</tt> - refresh the list of fields, e.g. the column headings
+<li><tt>QDataTable::RefreshAll</tt> - refresh both the data and the list of fields
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDataTable"></a>QDataTable::QDataTable ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a data table which is a child of <em>parent</em>, called
+name <em>name</em>.
+
+<h3 class=fn><a name="QDataTable-2"></a>QDataTable::QDataTable ( <a href="qsqlcursor.html">QSqlCursor</a>&nbsp;*&nbsp;cursor, bool&nbsp;autoPopulate = FALSE, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a data table which is a child of <em>parent</em>, called name
+<em>name</em> using the cursor <em>cursor</em>.
+<p> If <em>autoPopulate</em> is TRUE (the default is FALSE), columns are
+automatically created based upon the fields in the <em>cursor</em>
+record. Note that <em>autoPopulate</em> only governs the creation of
+columns; to load the cursor's data into the table use <a href="#refresh">refresh</a>().
+<p> If the <em>cursor</em> is read-only, the table also becomes read-only.
+In addition, the table adopts the cursor's driver's definition for
+representing NULL values as strings.
+
+<h3 class=fn><a name="~QDataTable"></a>QDataTable::~QDataTable ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="addColumn"></a>QDataTable::addColumn ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )<tt> [virtual]</tt>
+</h3>
+Adds the next column to be displayed using the field <em>fieldName</em>,
+column label <em>label</em>, width <em>width</em> and iconset <em>iconset</em>.
+<p> If <em>label</em> is specified, it is used as the column's header label,
+otherwise the field's display label is used when <a href="#setSqlCursor">setSqlCursor</a>() is
+called. The <em>iconset</em> is used to set the icon used by the column
+header; by default there is no icon.
+<p> <p>See also <a href="#setSqlCursor">setSqlCursor</a>() and <a href="#refresh">refresh</a>().
+
+<p>Examples: <a href="sql.html#x2255">sql/overview/subclass1/main.cpp</a>, <a href="sql.html#x2258">sql/overview/subclass3/main.cpp</a>, <a href="sql.html#x2214">sql/overview/table2/main.cpp</a>, and <a href="sqltable-example.html#x2451">sql/sqltable/main.cpp</a>.
+<h3 class=fn>void <a name="adjustColumn"></a>QDataTable::adjustColumn ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Resizes column <em>col</em> so that the column width is wide enough to
+display the widest item the column contains (including the column
+label). If the table's <a href="qsqlcursor.html">QSqlCursor</a> is not currently active, the
+cursor will be refreshed before the column width is calculated. Be
+aware that this function may be slow on tables that contain large
+result sets.
+
+<p>Reimplemented from <a href="qtable.html#adjustColumn">QTable</a>.
+<h3 class=fn>bool <a name="autoDelete"></a>QDataTable::autoDelete () const
+</h3>
+Returns TRUE if the table will automatically delete the cursor
+specified by <a href="#setSqlCursor">setSqlCursor</a>(); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="autoEdit"></a>QDataTable::autoEdit () const
+</h3><p>Returns TRUE if the data table automatically applies edits; otherwise returns FALSE.
+See the <a href="qdatatable.html#autoEdit-prop">"autoEdit"</a> property for details.
+<h3 class=fn>void <a name="beforeDelete"></a>QDataTable::beforeDelete ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the currently selected record
+is deleted from the database. The <em>buf</em> parameter points to the
+edit buffer being deleted. Connect to this signal to, for example,
+copy some of the fields for later use.
+
+<h3 class=fn>void <a name="beforeInsert"></a>QDataTable::beforeInsert ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the cursor's edit buffer is
+inserted into the database. The <em>buf</em> parameter points to the
+edit buffer being inserted. Connect to this signal to, for
+example, populate a key field with a unique sequence number.
+
+<h3 class=fn>void <a name="beforeUpdate"></a>QDataTable::beforeUpdate ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the cursor's edit buffer is
+updated in the database. The <em>buf</em> parameter points to the edit
+buffer being updated. Connect to this signal when you want to
+transform the user's data behind-the-scenes.
+
+<h3 class=fn>bool <a name="beginInsert"></a>QDataTable::beginInsert ()<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function called when editing is about to begin
+on a new record. If the table is read-only, or if there's no
+cursor or the cursor does not allow inserts, nothing happens.
+<p> Editing takes place using the cursor's edit buffer(see
+<a href="qsqlcursor.html#editBuffer">QSqlCursor::editBuffer</a>()).
+<p> When editing begins, a new row is created in the table marked with
+an asterisk '*' in the row's vertical header column, i.e. at the
+left of the row.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="beginUpdate"></a>QDataTable::beginUpdate ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function called when editing is about to begin
+on an existing row. If the table is read-only, or if there's no
+cursor, nothing happens.
+<p> Editing takes place using the cursor's edit buffer (see
+<a href="qsqlcursor.html#editBuffer">QSqlCursor::editBuffer</a>()).
+<p> <em>row</em> and <em>col</em> refer to the row and column in the QDataTable.
+<p> (<em>replace</em> is provided for reimplementors and reflects the API of
+<a href="qtable.html#beginEdit">QTable::beginEdit</a>().)
+
+<h3 class=fn><a href="qsql.html#Confirm-enum">QSql::Confirm</a> <a name="confirmCancel"></a>QDataTable::confirmCancel ( <a href="qsql.html#Op-enum">QSql::Op</a>&nbsp;m )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which returns a confirmation for
+cancelling an edit mode of <em>m</em>. Derived classes can reimplement
+this function to provide their own cancel dialog. The default
+implementation uses a message box which prompts the user to
+confirm the cancel.
+
+<h3 class=fn>bool <a name="confirmCancels"></a>QDataTable::confirmCancels () const
+</h3><p>Returns TRUE if the data table confirms cancel operations; otherwise returns FALSE.
+See the <a href="qdatatable.html#confirmCancels-prop">"confirmCancels"</a> property for details.
+<h3 class=fn>bool <a name="confirmDelete"></a>QDataTable::confirmDelete () const
+</h3><p>Returns TRUE if the data table confirms delete operations; otherwise returns FALSE.
+See the <a href="qdatatable.html#confirmDelete-prop">"confirmDelete"</a> property for details.
+<h3 class=fn><a href="qsql.html#Confirm-enum">QSql::Confirm</a> <a name="confirmEdit"></a>QDataTable::confirmEdit ( <a href="qsql.html#Op-enum">QSql::Op</a>&nbsp;m )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which returns a confirmation for an
+edit of mode <em>m</em>. Derived classes can reimplement this function
+to provide their own confirmation dialog. The default
+implementation uses a message box which prompts the user to
+confirm the edit action.
+
+<h3 class=fn>bool <a name="confirmEdits"></a>QDataTable::confirmEdits () const
+</h3><p>Returns TRUE if the data table confirms edit operations; otherwise returns FALSE.
+See the <a href="qdatatable.html#confirmEdits-prop">"confirmEdits"</a> property for details.
+<h3 class=fn>bool <a name="confirmInsert"></a>QDataTable::confirmInsert () const
+</h3><p>Returns TRUE if the data table confirms insert operations; otherwise returns FALSE.
+See the <a href="qdatatable.html#confirmInsert-prop">"confirmInsert"</a> property for details.
+<h3 class=fn>bool <a name="confirmUpdate"></a>QDataTable::confirmUpdate () const
+</h3><p>Returns TRUE if the data table confirms update operations; otherwise returns FALSE.
+See the <a href="qdatatable.html#confirmUpdate-prop">"confirmUpdate"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QDataTable::currentChanged ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;record )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a new row is selected in the
+table. The <em>record</em> parameter points to the contents of the newly
+selected record.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="currentRecord"></a>QDataTable::currentRecord () const
+</h3>
+Returns the currently selected record, or 0 if there is no current
+selection. The table owns the pointer, so do <em>not</em> delete it or
+otherwise modify it or the cursor it points to.
+
+<h3 class=fn>void <a name="cursorChanged"></a>QDataTable::cursorChanged ( <a href="qsql.html#Op-enum">QSql::Op</a>&nbsp;mode )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the cursor record was changed due
+to an edit. The <em>mode</em> parameter is the type of edit that just
+took place.
+
+<h3 class=fn><a href="qt.html#DateFormat-enum">DateFormat</a> <a name="dateFormat"></a>QDataTable::dateFormat () const
+</h3><p>Returns the format used for displaying date/time values.
+See the <a href="qdatatable.html#dateFormat-prop">"dateFormat"</a> property for details.
+<h3 class=fn>bool <a name="deleteCurrent"></a>QDataTable::deleteCurrent ()<tt> [virtual protected]</tt>
+</h3>
+For an editable table, issues a delete on the current cursor's
+primary index using the values of the currently selected row. If
+there is no current cursor or there is no current selection,
+nothing happens. If <a href="#confirmEdits">confirmEdits</a>() or <a href="#confirmDelete">confirmDelete</a>() is TRUE,
+<a href="#confirmEdit">confirmEdit</a>() is called to confirm the delete. Returns TRUE if the
+delete succeeded; otherwise FALSE.
+<p> The underlying cursor must have a valid primary index to ensure
+that a unique record is deleted within the database otherwise the
+database may be changed to an inconsistent state.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="falseText"></a>QDataTable::falseText () const
+</h3><p>Returns the text used to represent false values.
+See the <a href="qdatatable.html#falseText-prop">"falseText"</a> property for details.
+<h3 class=fn>int <a name="fieldAlignment"></a>QDataTable::fieldAlignment ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field )<tt> [virtual protected]</tt>
+</h3>
+Returns the alignment for <em>field</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filter"></a>QDataTable::filter () const
+</h3><p>Returns the data filter for the data table.
+See the <a href="qdatatable.html#filter-prop">"filter"</a> property for details.
+<h3 class=fn>void <a name="find"></a>QDataTable::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;caseSensitive, bool&nbsp;backwards )<tt> [virtual slot]</tt>
+</h3>
+Searches the current cursor for a cell containing the string <em>str</em> starting at the current cell and working forwards (or
+backwards if <em>backwards</em> is TRUE). If the string is found, the
+cell containing the string is set as the current cell. If <em>caseSensitive</em> is FALSE the case of <em>str</em> will be ignored.
+<p> The search will wrap, i.e. if the first (or if backwards is TRUE,
+last) cell is reached without finding <em>str</em> the search will
+continue until it reaches the starting cell. If <em>str</em> is not
+found the search will fail and the current cell will remain
+unchanged.
+
+<h3 class=fn>void <a name="handleError"></a>QDataTable::handleError ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which is called when an error <em>e</em> has
+occurred on the current <a href="qwidget.html#cursor">cursor</a>(). The default implementation
+displays a warning message to the user with information about the
+error.
+
+<h3 class=fn>int <a name="indexOf"></a>QDataTable::indexOf ( uint&nbsp;i ) const<tt> [protected]</tt>
+</h3>
+Returns the index of the field within the current SQL query that
+is displayed in column <em>i</em>.
+
+<h3 class=fn>bool <a name="insertCurrent"></a>QDataTable::insertCurrent ()<tt> [virtual protected]</tt>
+</h3>
+For an editable table, issues an insert on the current cursor
+using the values in the cursor's edit buffer. If there is no
+current cursor or there is no current "insert" row, nothing
+happens. If <a href="#confirmEdits">confirmEdits</a>() or <a href="#confirmInsert">confirmInsert</a>() is TRUE,
+<a href="#confirmEdit">confirmEdit</a>() is called to confirm the insert. Returns TRUE if the
+insert succeeded; otherwise returns FALSE.
+<p> The underlying cursor must have a valid primary index to ensure
+that a unique record is inserted within the database otherwise the
+database may be changed to an inconsistent state.
+
+<h3 class=fn>void <a name="installEditorFactory"></a>QDataTable::installEditorFactory ( <a href="qsqleditorfactory.html">QSqlEditorFactory</a>&nbsp;*&nbsp;f )
+</h3>
+Installs a new SQL editor factory <em>f</em>. This enables the user to
+create and instantiate their own editors for use in cell editing.
+Note that QDataTable takes ownership of this pointer, and will
+delete it when it is no longer needed or when
+<a href="#installEditorFactory">installEditorFactory</a>() is called again.
+<p> <p>See also <a href="qsqleditorfactory.html">QSqlEditorFactory</a>.
+
+<h3 class=fn>void <a name="installPropertyMap"></a>QDataTable::installPropertyMap ( <a href="qsqlpropertymap.html">QSqlPropertyMap</a>&nbsp;*&nbsp;m )
+</h3>
+Installs a new property map <em>m</em>. This enables the user to create
+and instantiate their own property maps for use in cell editing.
+Note that QDataTable takes ownership of this pointer, and will
+delete it when it is no longer needed or when installPropertMap()
+is called again.
+<p> <p>See also <a href="qsqlpropertymap.html">QSqlPropertyMap</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nullText"></a>QDataTable::nullText () const
+</h3><p>Returns the text used to represent NULL values.
+See the <a href="qdatatable.html#nullText-prop">"nullText"</a> property for details.
+<h3 class=fn>int <a name="numCols"></a>QDataTable::numCols () const<tt> [virtual]</tt>
+</h3><p>Returns the number of columns in the table.
+See the <a href="qdatatable.html#numCols-prop">"numCols"</a> property for details.
+<p>Reimplemented from <a href="qtable.html#numCols">QTable</a>.
+<h3 class=fn>int <a name="numRows"></a>QDataTable::numRows () const<tt> [virtual]</tt>
+</h3><p>Returns the number of rows in the table.
+See the <a href="qdatatable.html#numRows-prop">"numRows"</a> property for details.
+<p>Reimplemented from <a href="qtable.html#numRows">QTable</a>.
+<h3 class=fn>void <a name="paintField"></a>QDataTable::paintField ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )<tt> [virtual protected]</tt>
+</h3>
+Paints the <em>field</em> on the painter <em>p</em>. The painter has already
+been translated to the appropriate cell's origin where the <em>field</em> is to be rendered. <em>cr</em> describes the cell coordinates in
+the content coordinate system. The <em>selected</em> parameter is
+ignored.
+<p> If you want to draw custom field content you must reimplement
+<a href="#paintField">paintField</a>() to do the custom drawing. The default implementation
+renders the <em>field</em> value as text. If the field is NULL,
+<a href="#nullText">nullText</a>() is displayed in the cell. If the field is Boolean,
+<a href="#trueText">trueText</a>() or <a href="#falseText">falseText</a>() is displayed as appropriate.
+
+<p>Example: <a href="sql.html#x2245">sql/overview/table4/main.cpp</a>.
+<h3 class=fn>void <a name="primeDelete"></a>QDataTable::primeDelete ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after the cursor is primed for delete by
+the table, when a delete action is beginning on the table. The <em>buf</em> parameter points to the edit buffer being deleted. Connect to
+this signal in order to, for example, record auditing information
+on deletions.
+
+<h3 class=fn>void <a name="primeInsert"></a>QDataTable::primeInsert ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after the cursor is primed for insert by
+the table, when an insert action is beginning on the table. The <em>buf</em> parameter points to the edit buffer being inserted. Connect to
+this signal in order to, for example, <a href="primes.html#prime">prime</a> the record buffer with
+default data values.
+
+<h3 class=fn>void <a name="primeUpdate"></a>QDataTable::primeUpdate ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after the cursor is primed for update by
+the table, when an update action is beginning on the table. The <em>buf</em> parameter points to the edit buffer being updated. Connect to
+this signal in order to, for example, provide some visual feedback
+that the user is in 'edit mode'.
+
+<h3 class=fn>void <a name="refresh"></a>QDataTable::refresh ()<tt> [virtual slot]</tt>
+</h3>
+Refreshes the table. The cursor is refreshed using the current
+filter, the current sort, and the currently defined columns.
+Equivalent to calling <a href="#refresh">refresh</a>( QDataTable::RefreshData ).
+
+<p>Examples: <a href="sql.html#x2256">sql/overview/subclass1/main.cpp</a>, <a href="sql.html#x2211">sql/overview/table1/main.cpp</a>, <a href="sql.html#x2215">sql/overview/table2/main.cpp</a>, and <a href="sqltable-example.html#x2452">sql/sqltable/main.cpp</a>.
+<h3 class=fn>void <a name="refresh-2"></a>QDataTable::refresh ( <a href="qdatatable.html#Refresh-enum">Refresh</a>&nbsp;mode )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Refreshes the table. If there is no currently defined cursor (see
+<a href="#setSqlCursor">setSqlCursor</a>()), nothing happens. The <em>mode</em> parameter determines
+which type of refresh will take place.
+<p> <p>See also <a href="#Refresh-enum">Refresh</a>, <a href="#setSqlCursor">setSqlCursor</a>(), and <a href="#addColumn">addColumn</a>().
+
+<h3 class=fn>void <a name="removeColumn"></a>QDataTable::removeColumn ( uint&nbsp;col )<tt> [virtual]</tt>
+</h3>
+Removes column <em>col</em> from the list of columns to be displayed. If
+<em>col</em> does not exist, nothing happens.
+<p> <p>See also <a href="qsqlfield.html">QSqlField</a>.
+
+<h3 class=fn>void <a name="reset"></a>QDataTable::reset ()<tt> [protected]</tt>
+</h3>
+Resets the table so that it displays no data.
+<p> <p>See also <a href="#setSqlCursor">setSqlCursor</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QDataTable::setAutoDelete ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Sets the cursor auto-delete flag to <em>enable</em>. If <em>enable</em> is
+TRUE, the table will automatically delete the cursor specified by
+<a href="#setSqlCursor">setSqlCursor</a>(). If <em>enable</em> is FALSE (the default), the cursor
+will not be deleted.
+
+<h3 class=fn>void <a name="setAutoEdit"></a>QDataTable::setAutoEdit ( bool&nbsp;autoEdit )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table automatically applies edits to <em>autoEdit</em>.
+See the <a href="qdatatable.html#autoEdit-prop">"autoEdit"</a> property for details.
+<h3 class=fn>void <a name="setColumn"></a>QDataTable::setColumn ( uint&nbsp;col, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label = QString::null, int&nbsp;width = -1, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset = QIconSet ( ) )<tt> [virtual]</tt>
+</h3>
+Sets the <em>col</em> column to display using the field <em>fieldName</em>,
+column label <em>label</em>, width <em>width</em> and iconset <em>iconset</em>.
+<p> If <em>label</em> is specified, it is used as the column's header label,
+otherwise the field's display label is used when <a href="#setSqlCursor">setSqlCursor</a>() is
+called. The <em>iconset</em> is used to set the icon used by the column
+header; by default there is no icon.
+<p> <p>See also <a href="#setSqlCursor">setSqlCursor</a>() and <a href="#refresh">refresh</a>().
+
+<h3 class=fn>void <a name="setColumnWidth"></a>QDataTable::setColumnWidth ( int&nbsp;col, int&nbsp;w )<tt> [virtual slot]</tt>
+</h3>
+Sets the column <em>col</em> to the width <em>w</em>. Note that unlike <a href="qtable.html">QTable</a>
+the QDataTable is not immediately redrawn, you must call
+<a href="#refresh">refresh</a>(QDataTable::RefreshColumns)
+yourself.
+<p> <p>See also <a href="#refresh">refresh</a>().
+
+<p>Reimplemented from <a href="qtable.html#setColumnWidth">QTable</a>.
+<h3 class=fn>void <a name="setConfirmCancels"></a>QDataTable::setConfirmCancels ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table confirms cancel operations to <em>confirm</em>.
+See the <a href="qdatatable.html#confirmCancels-prop">"confirmCancels"</a> property for details.
+<h3 class=fn>void <a name="setConfirmDelete"></a>QDataTable::setConfirmDelete ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table confirms delete operations to <em>confirm</em>.
+See the <a href="qdatatable.html#confirmDelete-prop">"confirmDelete"</a> property for details.
+<h3 class=fn>void <a name="setConfirmEdits"></a>QDataTable::setConfirmEdits ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table confirms edit operations to <em>confirm</em>.
+See the <a href="qdatatable.html#confirmEdits-prop">"confirmEdits"</a> property for details.
+<h3 class=fn>void <a name="setConfirmInsert"></a>QDataTable::setConfirmInsert ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table confirms insert operations to <em>confirm</em>.
+See the <a href="qdatatable.html#confirmInsert-prop">"confirmInsert"</a> property for details.
+<h3 class=fn>void <a name="setConfirmUpdate"></a>QDataTable::setConfirmUpdate ( bool&nbsp;confirm )<tt> [virtual]</tt>
+</h3><p>Sets whether the data table confirms update operations to <em>confirm</em>.
+See the <a href="qdatatable.html#confirmUpdate-prop">"confirmUpdate"</a> property for details.
+<h3 class=fn>void <a name="setDateFormat"></a>QDataTable::setDateFormat ( const&nbsp;<a href="qt.html#DateFormat-enum">DateFormat</a>&nbsp;f )<tt> [virtual]</tt>
+</h3><p>Sets the format used for displaying date/time values to <em>f</em>.
+See the <a href="qdatatable.html#dateFormat-prop">"dateFormat"</a> property for details.
+<h3 class=fn>void <a name="setFalseText"></a>QDataTable::setFalseText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;falseText )<tt> [virtual]</tt>
+</h3><p>Sets the text used to represent false values to <em>falseText</em>.
+See the <a href="qdatatable.html#falseText-prop">"falseText"</a> property for details.
+<h3 class=fn>void <a name="setFilter"></a>QDataTable::setFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter )<tt> [virtual]</tt>
+</h3><p>Sets the data filter for the data table to <em>filter</em>.
+See the <a href="qdatatable.html#filter-prop">"filter"</a> property for details.
+<h3 class=fn>void <a name="setNullText"></a>QDataTable::setNullText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nullText )<tt> [virtual]</tt>
+</h3><p>Sets the text used to represent NULL values to <em>nullText</em>.
+See the <a href="qdatatable.html#nullText-prop">"nullText"</a> property for details.
+<h3 class=fn>void <a name="setSize"></a>QDataTable::setSize ( <a href="qsqlcursor.html">QSqlCursor</a>&nbsp;*&nbsp;sql )<tt> [protected]</tt>
+</h3>
+If the cursor's <em>sql</em> driver supports query sizes, the number of
+rows in the table is set to the size of the query. Otherwise, the
+table dynamically resizes itself as it is scrolled. If <em>sql</em> is
+not active, it is made active by issuing a select() on the cursor
+using the <em>sql</em> cursor's current filter and current sort.
+
+<h3 class=fn>void <a name="setSort"></a>QDataTable::setSort ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;sort )<tt> [virtual]</tt>
+</h3><p>Sets the data table's sort to <em>sort</em>.
+See the <a href="qdatatable.html#sort-prop">"sort"</a> property for details.
+<h3 class=fn>void <a name="setSort-2"></a>QDataTable::setSort ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the sort to be applied to the displayed data to <em>sort</em>. If
+there is no current cursor, nothing happens. A <a href="qsqlindex.html">QSqlIndex</a> contains
+field names and their ordering (ASC or DESC); these are used to
+compose the ORDER BY clause.
+<p> <p>See also <a href="#sort-prop">sort</a>.
+
+<h3 class=fn>void <a name="setSqlCursor"></a>QDataTable::setSqlCursor ( <a href="qsqlcursor.html">QSqlCursor</a>&nbsp;*&nbsp;cursor = 0, bool&nbsp;autoPopulate = FALSE, bool&nbsp;autoDelete = FALSE )<tt> [virtual]</tt>
+</h3>
+Sets <em>cursor</em> as the data source for the table. To force the
+display of the data from <em>cursor</em>, use <a href="#refresh">refresh</a>(). If <em>autoPopulate</em> is TRUE, columns are automatically created based upon
+the fields in the <em>cursor</em> record. If <em>autoDelete</em> is TRUE (the
+default is FALSE), the table will take ownership of the <em>cursor</em>
+and delete it when appropriate. If the <em>cursor</em> is read-only, the
+table becomes read-only. The table adopts the cursor's driver's
+definition for representing NULL values as strings.
+<p> <p>See also <a href="#refresh">refresh</a>(), <a href="qtable.html#readOnly-prop">readOnly</a>, <a href="#setAutoDelete">setAutoDelete</a>(), and <a href="qsqldriver.html#nullText">QSqlDriver::nullText</a>().
+
+<h3 class=fn>void <a name="setTrueText"></a>QDataTable::setTrueText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;trueText )<tt> [virtual]</tt>
+</h3><p>Sets the text used to represent true values to <em>trueText</em>.
+See the <a href="qdatatable.html#trueText-prop">"trueText"</a> property for details.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="sort"></a>QDataTable::sort () const
+</h3><p>Returns the data table's sort.
+See the <a href="qdatatable.html#sort-prop">"sort"</a> property for details.
+<h3 class=fn>void <a name="sortAscending"></a>QDataTable::sortAscending ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Sorts column <em>col</em> in ascending order.
+<p> <p>See also <a href="qtable.html#sorting-prop">sorting</a>.
+
+<h3 class=fn>void <a name="sortColumn"></a>QDataTable::sortColumn ( int&nbsp;col, bool&nbsp;ascending = TRUE, bool&nbsp;wholeRows = FALSE )<tt> [virtual]</tt>
+</h3>
+Sorts column <em>col</em> in ascending order if <em>ascending</em> is TRUE
+(the default); otherwise sorts in descending order.
+<p> The <em>wholeRows</em> parameter is ignored; QDataTable always sorts
+whole rows by the specified column.
+
+<p>Reimplemented from <a href="qtable.html#sortColumn">QTable</a>.
+<h3 class=fn>void <a name="sortDescending"></a>QDataTable::sortDescending ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Sorts column <em>col</em> in descending order.
+<p> <p>See also <a href="qtable.html#sorting-prop">sorting</a>.
+
+<h3 class=fn><a href="qsqlcursor.html">QSqlCursor</a>&nbsp;* <a name="sqlCursor"></a>QDataTable::sqlCursor () const
+</h3>
+Returns the cursor used by the data table.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QDataTable::text ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the text in cell <em>row</em>, <em>col</em>, or an empty string if the
+cell is empty. If the cell's value is NULL then <a href="#nullText">nullText</a>() will be
+returned. If the cell does not exist then <a href="qstring.html#QString-null">QString::null</a> is
+returned.
+
+<p>Reimplemented from <a href="qtable.html#text">QTable</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="trueText"></a>QDataTable::trueText () const
+</h3><p>Returns the text used to represent true values.
+See the <a href="qdatatable.html#trueText-prop">"trueText"</a> property for details.
+<h3 class=fn>bool <a name="updateCurrent"></a>QDataTable::updateCurrent ()<tt> [virtual protected]</tt>
+</h3>
+For an editable table, issues an update using the cursor's edit
+buffer. If there is no current cursor or there is no current
+selection, nothing happens. If <a href="#confirmEdits">confirmEdits</a>() or <a href="#confirmUpdate">confirmUpdate</a>()
+is TRUE, <a href="#confirmEdit">confirmEdit</a>() is called to confirm the update. Returns
+TRUE if the update succeeded; otherwise returns FALSE.
+<p> The underlying cursor must have a valid primary index to ensure
+that a unique record is updated within the database otherwise the
+database may be changed to an inconsistent state.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QDataTable::value ( int&nbsp;row, int&nbsp;col ) const
+</h3>
+Returns the value in cell <em>row</em>, <em>col</em>, or an invalid value if
+the cell does not exist or has no value.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoEdit-prop"></a>autoEdit</h3>
+<p>This property holds whether the data table automatically applies edits.
+<p>The default value for this property is TRUE. When the user begins
+an insert or update in the table there are two possible outcomes
+when they navigate to another record:
+<p> <ol type=1>
+<li> the insert or update is is performed -- this occurs if autoEdit is TRUE
+<li> the insert or update is abandoned -- this occurs if autoEdit is FALSE
+</ol>
+
+<p>Set this property's value with <a href="#setAutoEdit">setAutoEdit</a>() and get this property's value with <a href="#autoEdit">autoEdit</a>().
+<h3 class=fn>bool <a name="confirmCancels-prop"></a>confirmCancels</h3>
+<p>This property holds whether the data table confirms cancel operations.
+<p>If the confirmCancel property is TRUE, all cancels must be
+confirmed by the user through a message box (this behavior can be
+changed by overriding the <a href="#confirmCancel">confirmCancel</a>() function), otherwise all
+cancels occur immediately. The default is FALSE.
+<p> <p>See also <a href="#confirmEdits-prop">confirmEdits</a> and <a href="#confirmCancel">confirmCancel</a>().
+
+<p>Set this property's value with <a href="#setConfirmCancels">setConfirmCancels</a>() and get this property's value with <a href="#confirmCancels">confirmCancels</a>().
+<h3 class=fn>bool <a name="confirmDelete-prop"></a>confirmDelete</h3>
+<p>This property holds whether the data table confirms delete operations.
+<p>If the confirmDelete property is TRUE, all deletions must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the <a href="#confirmEdit">confirmEdit</a>() function), otherwise all
+delete operations occur immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, and <a href="#confirmInsert-prop">confirmInsert</a>.
+
+<p>Set this property's value with <a href="#setConfirmDelete">setConfirmDelete</a>() and get this property's value with <a href="#confirmDelete">confirmDelete</a>().
+<h3 class=fn>bool <a name="confirmEdits-prop"></a>confirmEdits</h3>
+<p>This property holds whether the data table confirms edit operations.
+<p>If the confirmEdits property is TRUE, the data table confirms all
+edit operations (inserts, updates and deletes). Finer control of
+edit confirmation can be achieved using <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmInsert-prop">confirmInsert</a>, <a href="#confirmUpdate-prop">confirmUpdate</a> and <a href="#confirmDelete-prop">confirmDelete</a>.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmInsert-prop">confirmInsert</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, and <a href="#confirmDelete-prop">confirmDelete</a>.
+
+<p>Set this property's value with <a href="#setConfirmEdits">setConfirmEdits</a>() and get this property's value with <a href="#confirmEdits">confirmEdits</a>().
+<h3 class=fn>bool <a name="confirmInsert-prop"></a>confirmInsert</h3>
+<p>This property holds whether the data table confirms insert operations.
+<p>If the confirmInsert property is TRUE, all insertions must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the <a href="#confirmEdit">confirmEdit</a>() function), otherwise all
+insert operations occur immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmUpdate-prop">confirmUpdate</a>, and <a href="#confirmDelete-prop">confirmDelete</a>.
+
+<p>Set this property's value with <a href="#setConfirmInsert">setConfirmInsert</a>() and get this property's value with <a href="#confirmInsert">confirmInsert</a>().
+<h3 class=fn>bool <a name="confirmUpdate-prop"></a>confirmUpdate</h3>
+<p>This property holds whether the data table confirms update operations.
+<p>If the confirmUpdate property is TRUE, all updates must be
+confirmed by the user through a message box (this behaviour can be
+changed by overriding the <a href="#confirmEdit">confirmEdit</a>() function), otherwise all
+update operations occur immediately.
+<p> <p>See also <a href="#confirmCancels-prop">confirmCancels</a>, <a href="#confirmEdits-prop">confirmEdits</a>, <a href="#confirmInsert-prop">confirmInsert</a>, and <a href="#confirmDelete-prop">confirmDelete</a>.
+
+<p>Set this property's value with <a href="#setConfirmUpdate">setConfirmUpdate</a>() and get this property's value with <a href="#confirmUpdate">confirmUpdate</a>().
+<h3 class=fn><a href="qt.html#DateFormat-enum">DateFormat</a> <a name="dateFormat-prop"></a>dateFormat</h3>
+<p>This property holds the format used for displaying date/time values.
+<p>The dateFormat property is used for displaying date/time values in
+the table. The default value is <a href="qt.html#DateFormat-enum">Qt::LocalDate</a>.
+
+<p>Set this property's value with <a href="#setDateFormat">setDateFormat</a>() and get this property's value with <a href="#dateFormat">dateFormat</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="falseText-prop"></a>falseText</h3>
+<p>This property holds the text used to represent false values.
+<p>The falseText property will be used to represent NULL values in
+the table. The default value is "False".
+
+<p>Set this property's value with <a href="#setFalseText">setFalseText</a>() and get this property's value with <a href="#falseText">falseText</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filter-prop"></a>filter</h3>
+<p>This property holds the data filter for the data table.
+<p>The filter applies to the data shown in the table. To view data
+with a new filter, use <a href="#refresh">refresh</a>(). A filter string is an SQL WHERE
+clause without the WHERE keyword.
+<p> There is no default filter.
+<p> <p>See also <a href="#sort-prop">sort</a>.
+
+<p>
+<p>Set this property's value with <a href="#setFilter">setFilter</a>() and get this property's value with <a href="#filter">filter</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nullText-prop"></a>nullText</h3>
+<p>This property holds the text used to represent NULL values.
+<p>The nullText property will be used to represent NULL values in the
+table. The default value is provided by the cursor's driver.
+
+<p>Set this property's value with <a href="#setNullText">setNullText</a>() and get this property's value with <a href="#nullText">nullText</a>().
+<h3 class=fn>int <a name="numCols-prop"></a>numCols</h3>
+<p>This property holds the number of columns in the table.
+<p>
+<p>Get this property's value with <a href="#numCols">numCols</a>().
+<h3 class=fn>int <a name="numRows-prop"></a>numRows</h3>
+<p>This property holds the number of rows in the table.
+<p>
+<p>Get this property's value with <a href="#numRows">numRows</a>().
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="sort-prop"></a>sort</h3>
+<p>This property holds the data table's sort.
+<p>The table's sort affects the order in which data records are
+displayed in the table. To apply a sort, use <a href="#refresh">refresh</a>().
+<p> When examining the sort property, a string list is returned with
+each item having the form 'fieldname order' (e.g., 'id ASC',
+'surname DESC').
+<p> There is no default sort.
+<p> Note that if you want to iterate over the sort list, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDataTable.sort();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#filter-prop">filter</a> and <a href="#refresh">refresh</a>().
+
+<p>Set this property's value with <a href="#setSort">setSort</a>() and get this property's value with <a href="#sort">sort</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="trueText-prop"></a>trueText</h3>
+<p>This property holds the text used to represent true values.
+<p>The trueText property will be used to represent NULL values in the
+table. The default value is "True".
+
+<p>Set this property's value with <a href="#setTrueText">setTrueText</a>() and get this property's value with <a href="#trueText">trueText</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdataview-h.html b/doc/html/qdataview-h.html
new file mode 100644
index 0000000..51abec9
--- /dev/null
+++ b/doc/html/qdataview-h.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdataview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdataview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdataview.h</h1>
+
+<p>This is the verbatim text of the qdataview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QDataView class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATAVIEW_H
+#define QDATAVIEW_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL_VIEW_WIDGETS
+
+class QSqlForm;
+class QSqlRecord;
+class QDataViewPrivate;
+
+class QM_EXPORT_SQL QDataView : public QWidget
+{
+ Q_OBJECT
+
+public:
+ QDataView( QWidget* parent=0, const char* name=0, WFlags fl = 0 );
+ ~QDataView();
+
+ virtual void setForm( QSqlForm* form );
+ QSqlForm* form();
+ virtual void setRecord( QSqlRecord* record );
+ QSqlRecord* record();
+
+public slots:
+ virtual void refresh( QSqlRecord* buf );
+ virtual void readFields();
+ virtual void writeFields();
+ virtual void clearValues();
+
+private:
+ QDataViewPrivate* d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDataView( const QDataView &amp; );
+ QDataView &amp;operator=( const QDataView &amp; );
+#endif
+};
+
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdataview-members.html b/doc/html/qdataview-members.html
new file mode 100644
index 0000000..23594ac
--- /dev/null
+++ b/doc/html/qdataview-members.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdataview.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDataView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdataview.html">QDataView</a>, including inherited members.
+
+<ul>
+<li><a href="qdataview.html#QDataView">QDataView</a>()
+<li><a href="qdataview.html#~QDataView">~QDataView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qdataview.html#clearValues">clearValues</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qdataview.html#form">form</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qdataview.html#readFields">readFields</a>()
+<li><a href="qdataview.html#record">record</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdataview.html#refresh">refresh</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qdataview.html#setForm">setForm</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdataview.html#setRecord">setRecord</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qdataview.html#writeFields">writeFields</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdataview.html b/doc/html/qdataview.html
new file mode 100644
index 0000000..bb8277e
--- /dev/null
+++ b/doc/html/qdataview.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qdataview.cpp:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDataView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataView Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QDataView class provides read-only SQL forms.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdataview-h.html">qdataview.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qdataview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDataView"><b>QDataView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;fl = 0 )</li>
+<li class=fn><a href="#~QDataView"><b>~QDataView</b></a> ()</li>
+<li class=fn>virtual void <a href="#setForm"><b>setForm</b></a> ( QSqlForm&nbsp;*&nbsp;form )</li>
+<li class=fn>QSqlForm * <a href="#form"><b>form</b></a> ()</li>
+<li class=fn>virtual void <a href="#setRecord"><b>setRecord</b></a> ( QSqlRecord&nbsp;*&nbsp;record )</li>
+<li class=fn>QSqlRecord * <a href="#record"><b>record</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#refresh"><b>refresh</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+<li class=fn>virtual void <a href="#readFields"><b>readFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#writeFields"><b>writeFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearValues"><b>clearValues</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDataView class provides read-only SQL forms.
+<p>
+
+
+<p> This class provides a form which displays SQL field data from a
+record buffer. Because QDataView does not support editing it uses
+less resources than a <a href="qdatabrowser.html">QDataBrowser</a>. This class is well suited for
+displaying read-only data from a SQL database.
+<p> If you want a to present your data in an editable form use
+QDataBrowser; if you want a table-based presentation of your data
+use <a href="qdatatable.html">QDataTable</a>.
+<p> The form is associated with the data view with <a href="#setForm">setForm</a>() and the
+record is associated with <a href="#setRecord">setRecord</a>(). You can also pass a
+<a href="qsqlrecord.html">QSqlRecord</a> to the <a href="#refresh">refresh</a>() function which will set the record to
+the given record and read the record's fields into the form.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDataView"></a>QDataView::QDataView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;fl = 0 )
+</h3>
+Constructs a data view which is a child of <em>parent</em>, called <em>name</em>, and with widget flags <em>fl</em>.
+
+<h3 class=fn><a name="~QDataView"></a>QDataView::~QDataView ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="clearValues"></a>QDataView::clearValues ()<tt> [virtual slot]</tt>
+</h3>
+Clears the default form's values. If there is no default form,
+nothing happens. All the values are set to their 'zero state',
+e.g. 0 for numeric fields, "" for string fields.
+
+<h3 class=fn><a href="qsqlform.html">QSqlForm</a>&nbsp;* <a name="form"></a>QDataView::form ()
+</h3>
+Returns the default form used by the data view, or 0 if there is
+none.
+<p> <p>See also <a href="#setForm">setForm</a>().
+
+<h3 class=fn>void <a name="readFields"></a>QDataView::readFields ()<tt> [virtual slot]</tt>
+</h3>
+Causes the default form to read its fields from the record buffer.
+If there is no default form, or no record, nothing happens.
+<p> <p>See also <a href="#setForm">setForm</a>().
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="record"></a>QDataView::record ()
+</h3>
+Returns the default record used by the data view, or 0 if there is
+none.
+<p> <p>See also <a href="#setRecord">setRecord</a>().
+
+<h3 class=fn>void <a name="refresh"></a>QDataView::refresh ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [virtual slot]</tt>
+</h3>
+Causes the default form to display the contents of <em>buf</em>. If
+there is no default form, nothing happens.The <em>buf</em> also becomes
+the default record for all subsequent calls to <a href="#readFields">readFields</a>() and
+writefields(). This slot is equivalant to calling:
+<p> <pre>
+ myView.setRecord( record );
+ myView.readFields();
+ </pre>
+
+<p> <p>See also <a href="#setRecord">setRecord</a>() and <a href="#readFields">readFields</a>().
+
+<h3 class=fn>void <a name="setForm"></a>QDataView::setForm ( <a href="qsqlform.html">QSqlForm</a>&nbsp;*&nbsp;form )<tt> [virtual]</tt>
+</h3>
+Sets the form used by the data view to <em>form</em>. If a record has
+already been assigned to the data view, the form will display that
+record's data.
+<p> <p>See also <a href="#form">form</a>().
+
+<h3 class=fn>void <a name="setRecord"></a>QDataView::setRecord ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;record )<tt> [virtual]</tt>
+</h3>
+Sets the record used by the data view to <em>record</em>. If a form has
+already been assigned to the data view, the form will display the
+data from <em>record</em> in that form.
+<p> <p>See also <a href="#record">record</a>().
+
+<h3 class=fn>void <a name="writeFields"></a>QDataView::writeFields ()<tt> [virtual slot]</tt>
+</h3>
+Causes the default form to write its fields to the record buffer.
+If there is no default form, or no record, nothing happens.
+<p> <p>See also <a href="#setForm">setForm</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdate-members.html b/doc/html/qdate-members.html
new file mode 100644
index 0000000..ecd3f88
--- /dev/null
+++ b/doc/html/qdate-members.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetime.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDate Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDate</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdate.html">QDate</a>, including inherited members.
+
+<ul>
+<li><a href="qdate.html#QDate">QDate</a>()
+<li><a href="qdate.html#addDays">addDays</a>()
+<li><a href="qdate.html#addMonths">addMonths</a>()
+<li><a href="qdate.html#addYears">addYears</a>()
+<li><a href="qdate.html#currentDate">currentDate</a>()
+<li><a href="qdate.html#day">day</a>()
+<li><a href="qdate.html#dayName">dayName</a>()
+<li><a href="qdate.html#dayOfWeek">dayOfWeek</a>()
+<li><a href="qdate.html#dayOfYear">dayOfYear</a>()
+<li><a href="qdate.html#daysInMonth">daysInMonth</a>()
+<li><a href="qdate.html#daysInYear">daysInYear</a>()
+<li><a href="qdate.html#daysTo">daysTo</a>()
+<li><a href="qdate.html#fromString">fromString</a>()
+<li><a href="qdate.html#isNull">isNull</a>()
+<li><a href="qdate.html#isValid">isValid</a>()
+<li><a href="qdate.html#leapYear">leapYear</a>()
+<li><a href="qdate.html#longDayName">longDayName</a>()
+<li><a href="qdate.html#longMonthName">longMonthName</a>()
+<li><a href="qdate.html#month">month</a>()
+<li><a href="qdate.html#monthName">monthName</a>()
+<li><a href="qdate.html#operator!-eq">operator!=</a>()
+<li><a href="qdate.html#operator-lt">operator&lt;</a>()
+<li><a href="qdate.html#operator-lt-eq">operator&lt;=</a>()
+<li><a href="qdate.html#operator-eq-eq">operator==</a>()
+<li><a href="qdate.html#operator-gt">operator&gt;</a>()
+<li><a href="qdate.html#operator-gt-eq">operator&gt;=</a>()
+<li><a href="qdate.html#setYMD">setYMD</a>()
+<li><a href="qdate.html#shortDayName">shortDayName</a>()
+<li><a href="qdate.html#shortMonthName">shortMonthName</a>()
+<li><a href="qdate.html#toString">toString</a>()
+<li><a href="qdate.html#weekNumber">weekNumber</a>()
+<li><a href="qdate.html#year">year</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdate.html b/doc/html/qdate.html
new file mode 100644
index 0000000..94c3596
--- /dev/null
+++ b/doc/html/qdate.html
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdatetime.cpp:201 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDate Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDate Class Reference</h1>
+
+<p>The QDate class provides date functions.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;</tt>
+<p><a href="qdate-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDate"><b>QDate</b></a> ()</li>
+<li class=fn><a href="#QDate-2"><b>QDate</b></a> ( int&nbsp;y, int&nbsp;m, int&nbsp;d )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>int <a href="#year"><b>year</b></a> () const</li>
+<li class=fn>int <a href="#month"><b>month</b></a> () const</li>
+<li class=fn>int <a href="#day"><b>day</b></a> () const</li>
+<li class=fn>int <a href="#dayOfWeek"><b>dayOfWeek</b></a> () const</li>
+<li class=fn>int <a href="#dayOfYear"><b>dayOfYear</b></a> () const</li>
+<li class=fn>int <a href="#daysInMonth"><b>daysInMonth</b></a> () const</li>
+<li class=fn>int <a href="#daysInYear"><b>daysInYear</b></a> () const</li>
+<li class=fn>int <a href="#weekNumber"><b>weekNumber</b></a> ( int&nbsp;*&nbsp;yearNumber = 0 ) const</li>
+<li class=fn>QString <a href="#toString-2"><b>toString</b></a> ( Qt::DateFormat&nbsp;f = Qt::TextDate ) const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;format ) const</li>
+<li class=fn>bool <a href="#setYMD"><b>setYMD</b></a> ( int&nbsp;y, int&nbsp;m, int&nbsp;d )</li>
+<li class=fn>QDate <a href="#addDays"><b>addDays</b></a> ( int&nbsp;ndays ) const</li>
+<li class=fn>QDate <a href="#addMonths"><b>addMonths</b></a> ( int&nbsp;nmonths ) const</li>
+<li class=fn>QDate <a href="#addYears"><b>addYears</b></a> ( int&nbsp;nyears ) const</li>
+<li class=fn>int <a href="#daysTo"><b>daysTo</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString monthName ( int&nbsp;month ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString dayName ( int&nbsp;weekday ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString <a href="#shortMonthName"><b>shortMonthName</b></a> ( int&nbsp;month )</li>
+<li class=fn>QString <a href="#shortDayName"><b>shortDayName</b></a> ( int&nbsp;weekday )</li>
+<li class=fn>QString <a href="#longMonthName"><b>longMonthName</b></a> ( int&nbsp;month )</li>
+<li class=fn>QString <a href="#longDayName"><b>longDayName</b></a> ( int&nbsp;weekday )</li>
+<li class=fn>QDate <a href="#currentDate-2"><b>currentDate</b></a> ()</li>
+<li class=fn>QDate <a href="#currentDate"><b>currentDate</b></a> ( Qt::TimeSpec&nbsp;ts )</li>
+<li class=fn>QDate <a href="#fromString"><b>fromString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, Qt::DateFormat&nbsp;f = Qt::TextDate )</li>
+<li class=fn>bool <a href="#isValid-2"><b>isValid</b></a> ( int&nbsp;y, int&nbsp;m, int&nbsp;d )</li>
+<li class=fn>bool <a href="#leapYear"><b>leapYear</b></a> ( int&nbsp;y )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QDate&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QDate&nbsp;&amp;&nbsp;d )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDate class provides date functions.
+<p>
+
+<p> A QDate object contains a calendar date, i.e. year, month, and day
+numbers, in the modern Western (Gregorian) calendar. It can read
+the current date from the system clock. It provides functions for
+comparing dates and for manipulating dates, e.g. by adding a
+number of days or months or years.
+<p> A QDate object is typically created either by giving the year,
+month and day numbers explicitly, or by using the static function
+<a href="#currentDate">currentDate</a>(), which creates a QDate object containing the system
+clock's date. An explicit date can also be set using <a href="#setYMD">setYMD</a>(). The
+<a href="#fromString">fromString</a>() function returns a QDate given a string and a date
+format which is used to interpret the date within the string.
+<p> The <a href="#year">year</a>(), <a href="#month">month</a>(), and <a href="#day">day</a>() functions provide access to the
+year, month, and day numbers. Also, <a href="#dayOfWeek">dayOfWeek</a>() and <a href="#dayOfYear">dayOfYear</a>()
+functions are provided. The same information is provided in
+textual format by the <a href="#toString">toString</a>(), <a href="#shortDayName">shortDayName</a>(), <a href="#longDayName">longDayName</a>(),
+<a href="#shortMonthName">shortMonthName</a>() and <a href="#longMonthName">longMonthName</a>() functions.
+<p> QDate provides a full set of operators to compare two QDate
+objects where smaller means earlier and larger means later.
+<p> You can increment (or decrement) a date by a given number of days
+using <a href="#addDays">addDays</a>(). Similarly you can use <a href="#addMonths">addMonths</a>() and <a href="#addYears">addYears</a>().
+The <a href="#daysTo">daysTo</a>() function returns the number of days between two
+dates.
+<p> The <a href="#daysInMonth">daysInMonth</a>() and <a href="#daysInYear">daysInYear</a>() functions return how many days
+there are in this date's month and year, respectively. The
+<a href="#leapYear">leapYear</a>() function indicates whether this date is in a leap year.
+<p> Note that QDate should not be used for date calculations for dates
+prior to the introduction of the Gregorian calendar. This calendar
+was adopted by England from the 14<sup><small>th</small></sup>
+September 1752 (hence this is the earliest valid QDate), and
+subsequently by most other Western countries, until 1923.
+<p> The end of time is reached around the year 8000, by which time we
+expect Qt to be obsolete.
+<p> <p>See also <a href="qtime.html">QTime</a>, <a href="qdatetime.html">QDateTime</a>, <a href="qdateedit.html">QDateEdit</a>, <a href="qdatetimeedit.html">QDateTimeEdit</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDate"></a>QDate::QDate ()
+</h3>
+
+<p> Constructs a null date. Null dates are invalid.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QDate-2"></a>QDate::QDate ( int&nbsp;y, int&nbsp;m, int&nbsp;d )
+</h3>
+Constructs a date with year <em>y</em>, month <em>m</em> and day <em>d</em>.
+<p> <em>y</em> must be in the range 1752..8000, <em>m</em> must be in the range
+1..12, and <em>d</em> must be in the range 1..31.
+<p> <b>Warning:</b> If <em>y</em> is in the range 0..99, it is interpreted as
+1900..1999.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="addDays"></a>QDate::addDays ( int&nbsp;ndays ) const
+</h3>
+Returns a QDate object containing a date <em>ndays</em> later than the
+date of this object (or earlier if <em>ndays</em> is negative).
+<p> <p>See also <a href="#addMonths">addMonths</a>(), <a href="#addYears">addYears</a>(), and <a href="#daysTo">daysTo</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="addMonths"></a>QDate::addMonths ( int&nbsp;nmonths ) const
+</h3>
+Returns a QDate object containing a date <em>nmonths</em> later than the
+date of this object (or earlier if <em>nmonths</em> is negative).
+<p> <p>See also <a href="#addDays">addDays</a>() and <a href="#addYears">addYears</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="addYears"></a>QDate::addYears ( int&nbsp;nyears ) const
+</h3>
+Returns a QDate object containing a date <em>nyears</em> later than the
+date of this object (or earlier if <em>nyears</em> is negative).
+<p> <p>See also <a href="#addDays">addDays</a>() and <a href="#addMonths">addMonths</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="currentDate"></a>QDate::currentDate ( <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>&nbsp;ts )<tt> [static]</tt>
+</h3>
+Returns the current date, as reported by the system clock, for the
+TimeSpec <em>ts</em>. The default TimeSpec is LocalTime.
+<p> <p>See also <a href="qtime.html#currentTime">QTime::currentTime</a>(), <a href="qdatetime.html#currentDateTime">QDateTime::currentDateTime</a>(), and <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>.
+
+<p>Example: <a href="dclock-example.html#x1098">dclock/dclock.cpp</a>.
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="currentDate-2"></a>QDate::currentDate ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the current date, as reported by the system clock.
+<p> <p>See also <a href="qtime.html#currentTime">QTime::currentTime</a>() and <a href="qdatetime.html#currentDateTime">QDateTime::currentDateTime</a>().
+
+<h3 class=fn>int <a name="day"></a>QDate::day () const
+</h3>
+Returns the day of the month (1..31) of this date.
+<p> <p>See also <a href="#year">year</a>(), <a href="#month">month</a>(), and <a href="#dayOfWeek">dayOfWeek</a>().
+
+<p>Example: <a href="dclock-example.html#x1099">dclock/dclock.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dayName"></a>QDate::dayName ( int&nbsp;weekday )<tt> [static]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#shortDayName">shortDayName</a>() instead.
+
+<h3 class=fn>int <a name="dayOfWeek"></a>QDate::dayOfWeek () const
+</h3>
+Returns the weekday (Monday=1..Sunday=7) for this date.
+<p> <p>See also <a href="#day">day</a>() and <a href="#dayOfYear">dayOfYear</a>().
+
+<h3 class=fn>int <a name="dayOfYear"></a>QDate::dayOfYear () const
+</h3>
+Returns the day of the year (1..365) for this date.
+<p> <p>See also <a href="#day">day</a>() and <a href="#dayOfWeek">dayOfWeek</a>().
+
+<h3 class=fn>int <a name="daysInMonth"></a>QDate::daysInMonth () const
+</h3>
+Returns the number of days in the month (28..31) for this date.
+<p> <p>See also <a href="#day">day</a>() and <a href="#daysInYear">daysInYear</a>().
+
+<h3 class=fn>int <a name="daysInYear"></a>QDate::daysInYear () const
+</h3>
+Returns the number of days in the year (365 or 366) for this date.
+<p> <p>See also <a href="#day">day</a>() and <a href="#daysInMonth">daysInMonth</a>().
+
+<h3 class=fn>int <a name="daysTo"></a>QDate::daysTo ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+Returns the number of days from this date to <em>d</em> (which is
+negative if <em>d</em> is earlier than this date).
+<p> Example:
+<pre>
+ QDate d1( 1995, 5, 17 ); // May 17th 1995
+ QDate d2( 1995, 5, 20 ); // May 20th 1995
+ d1.<a href="#daysTo">daysTo</a>( d2 ); // returns 3
+ d2.<a href="#daysTo">daysTo</a>( d1 ); // returns -3
+ </pre>
+
+<p> <p>See also <a href="#addDays">addDays</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="fromString"></a>QDate::fromString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate )<tt> [static]</tt>
+</h3>
+Returns the QDate represented by the string <em>s</em>, using the format
+<em>f</em>, or an invalid date if the string cannot be parsed.
+<p> Note for <a href="qt.html#DateFormat-enum">Qt::TextDate</a>: It is recommended that you use the
+English short month names (e.g. "Jan"). Although localized month
+names can also be used, they depend on the user's locale settings.
+<p> <b>Warning:</b> <a href="qt.html#DateFormat-enum">Qt::LocalDate</a> cannot be used here.
+
+<h3 class=fn>bool <a name="isNull"></a>QDate::isNull () const
+</h3>
+
+<p> Returns TRUE if the date is null; otherwise returns FALSE. A null
+date is invalid.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QDate::isValid () const
+</h3>
+Returns TRUE if this date is valid; otherwise returns FALSE.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn>bool <a name="isValid-2"></a>QDate::isValid ( int&nbsp;y, int&nbsp;m, int&nbsp;d )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the specified date (year <em>y</em>, month <em>m</em> and day
+<em>d</em>) is valid; otherwise returns FALSE.
+<p> Example:
+<pre>
+ QDate::<a href="#isValid">isValid</a>( 2002, 5, 17 ); // TRUE May 17th 2002 is valid
+ QDate::<a href="#isValid">isValid</a>( 2002, 2, 30 ); // FALSE Feb 30th does not exist
+ QDate::<a href="#isValid">isValid</a>( 2004, 2, 29 ); // TRUE 2004 is a leap year
+ QDate::<a href="#isValid">isValid</a>( 1202, 6, 6 ); // FALSE 1202 is pre-Gregorian
+ </pre>
+
+<p> <b>Warning:</b> A <em>y</em> value in the range 00..99 is interpreted as
+1900..1999.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#setYMD">setYMD</a>().
+
+<h3 class=fn>bool <a name="leapYear"></a>QDate::leapYear ( int&nbsp;y )<tt> [static]</tt>
+</h3>
+Returns TRUE if the specified year <em>y</em> is a leap year; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="longDayName"></a>QDate::longDayName ( int&nbsp;weekday )<tt> [static]</tt>
+</h3>
+Returns the long name of the <em>weekday</em>.
+<p> 1 = "Monday", 2 = "Tuesday", ... 7 = "Sunday"
+<p> The day names will be localized according to the system's locale
+settings.
+<p> <p>See also <a href="#toString">toString</a>(), <a href="#shortDayName">shortDayName</a>(), <a href="#shortMonthName">shortMonthName</a>(), and <a href="#longMonthName">longMonthName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="longMonthName"></a>QDate::longMonthName ( int&nbsp;month )<tt> [static]</tt>
+</h3>
+Returns the long name of the <em>month</em>.
+<p> 1 = "January", 2 = "February", ... 12 = "December"
+<p> The month names will be localized according to the system's locale
+settings.
+<p> <p>See also <a href="#toString">toString</a>(), <a href="#shortMonthName">shortMonthName</a>(), <a href="#shortDayName">shortDayName</a>(), and <a href="#longDayName">longDayName</a>().
+
+<h3 class=fn>int <a name="month"></a>QDate::month () const
+</h3>
+Returns the month (January=1..December=12) of this date.
+<p> <p>See also <a href="#year">year</a>() and <a href="#day">day</a>().
+
+<p>Example: <a href="dclock-example.html#x1100">dclock/dclock.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="monthName"></a>QDate::monthName ( int&nbsp;month )<tt> [static]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#shortMonthName">shortMonthName</a>() instead.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDate::operator!= ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is different from <em>d</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt"></a>QDate::operator&lt; ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is earlier than <em>d</em>, otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>QDate::operator&lt;= ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is earlier than or equal to <em>d</em>,
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDate::operator== ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is equal to <em>d</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt"></a>QDate::operator&gt; ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is later than <em>d</em>, otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>QDate::operator&gt;= ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d ) const
+</h3>
+
+<p> Returns TRUE if this date is later than or equal to <em>d</em>,
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="setYMD"></a>QDate::setYMD ( int&nbsp;y, int&nbsp;m, int&nbsp;d )
+</h3>
+Sets the date's year <em>y</em>, month <em>m</em> and day <em>d</em>.
+<p> <em>y</em> must be in the range 1752..8000, <em>m</em> must be in the range
+1..12, and <em>d</em> must be in the range 1..31.
+<p> <b>Warning:</b> If <em>y</em> is in the range 0..99, it is interpreted as
+1900..1999.
+<p> Returns TRUE if the date is valid; otherwise returns FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="shortDayName"></a>QDate::shortDayName ( int&nbsp;weekday )<tt> [static]</tt>
+</h3>
+Returns the name of the <em>weekday</em>.
+<p> 1 = "Mon", 2 = "Tue", ... 7 = "Sun"
+<p> The day names will be localized according to the system's locale
+settings.
+<p> <p>See also <a href="#toString">toString</a>(), <a href="#shortMonthName">shortMonthName</a>(), <a href="#longMonthName">longMonthName</a>(), and <a href="#longDayName">longDayName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="shortMonthName"></a>QDate::shortMonthName ( int&nbsp;month )<tt> [static]</tt>
+</h3>
+Returns the name of the <em>month</em>.
+<p> 1 = "Jan", 2 = "Feb", ... 12 = "Dec"
+<p> The month names will be localized according to the system's locale
+settings.
+<p> <p>See also <a href="#toString">toString</a>(), <a href="#longMonthName">longMonthName</a>(), <a href="#shortDayName">shortDayName</a>(), and <a href="#longDayName">longDayName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QDate::toString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;format ) const
+</h3>
+Returns the date as a string. The <em>format</em> parameter determines
+the format of the result string.
+<p> These expressions may be used:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Expression <th valign="top">Output
+<tr bgcolor="#f0f0f0"> <td valign="top">d <td valign="top">the day as number without a leading zero (1-31)
+<tr bgcolor="#d0d0d0"> <td valign="top">dd <td valign="top">the day as number with a leading zero (01-31)
+<tr bgcolor="#f0f0f0"> <td valign="top">ddd
+<td valign="top">the abbreviated localized day name (e.g. 'Mon'..'Sun').
+Uses <a href="#shortDayName">QDate::shortDayName</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">dddd
+<td valign="top">the long localized day name (e.g. 'Monday'..'Sunday').
+Uses <a href="#longDayName">QDate::longDayName</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">M <td valign="top">the month as number without a leading zero (1-12)
+<tr bgcolor="#d0d0d0"> <td valign="top">MM <td valign="top">the month as number with a leading zero (01-12)
+<tr bgcolor="#f0f0f0"> <td valign="top">MMM
+<td valign="top">the abbreviated localized month name (e.g. 'Jan'..'Dec').
+Uses <a href="#shortMonthName">QDate::shortMonthName</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">MMMM
+<td valign="top">the long localized month name (e.g. 'January'..'December').
+Uses <a href="#longMonthName">QDate::longMonthName</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">yy <td valign="top">the year as two digit number (00-99)
+<tr bgcolor="#d0d0d0"> <td valign="top">yyyy <td valign="top">the year as four digit number (1752-8000)
+</table></center>
+<p> All other input characters will be ignored.
+<p> Example format strings (assuming that the QDate is the
+20<sup><small>th</small></sup> July 1969):
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Format <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top">dd.MM.yyyy <td valign="top" colspan="1" rowspan="1"> 20.07.1969
+<tr bgcolor="#d0d0d0"> <td valign="top">ddd MMMM d yy <td valign="top" colspan="1" rowspan="1"> Sun July 20 69
+</table></center>
+<p> If the date is an invalid date, then <a href="qstring.html#QString-null">QString::null</a> will be returned.
+<p> <p>See also <a href="qdatetime.html#toString">QDateTime::toString</a>() and <a href="qtime.html#toString">QTime::toString</a>().
+
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-2"></a>QDate::toString ( <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the date as a string. The <em>f</em> parameter determines the
+format of the string.
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::TextDate</a>, the string format is "Sat May 20 1995"
+(using the <a href="#shortDayName">shortDayName</a>() and <a href="#shortMonthName">shortMonthName</a>() functions to
+generate the string, so the day and month names are locale
+specific).
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::ISODate</a>, the string format corresponds to the
+ISO 8601 specification for representations of dates, which is
+YYYY-MM-DD where YYYY is the year, MM is the month of the year
+(between 01 and 12), and DD is the day of the month between 01 and
+31.
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::LocalDate</a>, the string format depends on the
+locale settings of the system.
+<p> If the date is an invalid date, then <a href="qstring.html#QString-null">QString::null</a> will be returned.
+<p> <p>See also <a href="#shortDayName">shortDayName</a>() and <a href="#shortMonthName">shortMonthName</a>().
+
+<h3 class=fn>int <a name="weekNumber"></a>QDate::weekNumber ( int&nbsp;*&nbsp;yearNumber = 0 ) const
+</h3>
+Returns the week number (1 to 53), and stores the year in <em>*yearNumber</em> unless <em>yearNumber</em> is null (the default).
+<p> Returns 0 if the date is invalid.
+<p> In accordance with ISO 8601, weeks start on Monday and the first
+Thursday of a year is always in week 1 of that year. Most years
+have 52 weeks, but some have 53.
+<p> <em>*yearNumber</em> is not always the same as <a href="#year">year</a>(). For example, 1
+January 2000 has week number 52 in the year 1999, and 31 December
+2002 has week number 1 in the year 2003.
+<p>
+<p> Copyright (c) 1989 The Regents of the University of California.
+All rights reserved.
+<p> Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+advertising materials, and other materials related to such
+distribution and use acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>int <a name="year"></a>QDate::year () const
+</h3>
+Returns the year (1752..8000) of this date.
+<p> <p>See also <a href="#month">month</a>() and <a href="#day">day</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d )
+</h3>
+
+<p> Writes the date, <em>d</em>, to the data stream, <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d )
+</h3>
+
+<p> Reads a date from the stream <em>s</em> into <em>d</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdateedit-members.html b/doc/html/qdateedit-members.html
new file mode 100644
index 0000000..a5d3f1f
--- /dev/null
+++ b/doc/html/qdateedit-members.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetimeedit.h:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDateEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdateedit.html">QDateEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qdateedit.html#QDateEdit">QDateEdit</a>()
+<li><a href="qdateedit.html#~QDateEdit">~QDateEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdateedit.html#autoAdvance">autoAdvance</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qdateedit.html#date">date</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qdateedit.html#fix">fix</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qdateedit.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qdateedit.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdateedit.html#order">order</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qdateedit.html#sectionFormattedText">sectionFormattedText</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qdateedit.html#separator">separator</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qdateedit.html#setAutoAdvance">setAutoAdvance</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qdateedit.html#setDate">setDate</a>()
+<li><a href="qdateedit.html#setDay">setDay</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qdateedit.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qdateedit.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdateedit.html#setMonth">setMonth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdateedit.html#setOrder">setOrder</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdateedit.html#setRange">setRange</a>()
+<li><a href="qdateedit.html#setSeparator">setSeparator</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdateedit.html#setYear">setYear</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qdateedit.html#updateButtons">updateButtons</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qdateedit.html#valueChanged">valueChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdateedit.html b/doc/html/qdateedit.html
new file mode 100644
index 0000000..625d55e
--- /dev/null
+++ b/doc/html/qdateedit.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdatetimeedit.cpp:844 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDateEdit Class Reference</h1>
+
+<p>The QDateEdit class provides a date editor.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatetimeedit-h.html">qdatetimeedit.h</a>&gt;</tt>
+<p>Inherits <a href="qdatetimeeditbase.html">QDateTimeEditBase</a>.
+<p><a href="qdateedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDateEdit"><b>QDateEdit</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QDateEdit-2"><b>QDateEdit</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDateEdit"><b>~QDateEdit</b></a> ()</li>
+<li class=fn>enum <a href="#Order-enum"><b>Order</b></a> { DMY, MDY, YMD, YDM }</li>
+<li class=fn>QDate <a href="#date"><b>date</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOrder"><b>setOrder</b></a> ( Order&nbsp;order )</li>
+<li class=fn>Order <a href="#order"><b>order</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoAdvance"><b>setAutoAdvance</b></a> ( bool&nbsp;advance )</li>
+<li class=fn>bool <a href="#autoAdvance"><b>autoAdvance</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMinValue"><b>setMinValue</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QDate <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMaxValue"><b>setMaxValue</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QDate <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRange"><b>setRange</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;min, const&nbsp;QDate&nbsp;&amp;&nbsp;max )</li>
+<li class=fn>QString <a href="#separator"><b>separator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSeparator"><b>setSeparator</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setDate"><b>setDate</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoAdvance-prop"><b>autoAdvance</b></a>&nbsp;- whether the editor automatically advances to the next section</li>
+<li class=fn>QDate <a href="#date-prop"><b>date</b></a>&nbsp;- the editor's date value</li>
+<li class=fn>QDate <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the editor's maximum value</li>
+<li class=fn>QDate <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the editor's minimum value</li>
+<li class=fn>Order <a href="#order-prop"><b>order</b></a>&nbsp;- the order in which the year, month and day appear</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QString <a href="#sectionFormattedText"><b>sectionFormattedText</b></a> ( int&nbsp;sec )</li>
+<li class=fn>virtual void <a href="#setYear"><b>setYear</b></a> ( int&nbsp;year )</li>
+<li class=fn>virtual void <a href="#setMonth"><b>setMonth</b></a> ( int&nbsp;month )</li>
+<li class=fn>virtual void <a href="#setDay"><b>setDay</b></a> ( int&nbsp;day )</li>
+<li class=fn>virtual void <a href="#fix"><b>fix</b></a> ()</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>void <a href="#updateButtons"><b>updateButtons</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDateEdit class provides a date editor.
+<p>
+
+
+<p> QDateEdit allows the user to edit dates by using the keyboard or
+the arrow keys to increase/decrease date values. The arrow keys
+can be used to move from section to section within the QDateEdit
+box. Dates appear in accordance with the local date/time settings
+or in year, month, day order if the system doesn't provide this
+information. It is recommended that the QDateEdit be initialised
+with a date, e.g.
+<p> <pre>
+ QDateEdit *dateEdit = new QDateEdit( QDate::<a href="qdate.html#currentDate">currentDate</a>(), this );
+ dateEdit-&gt;<a href="#setRange">setRange</a>( QDate::<a href="qdate.html#currentDate">currentDate</a>().addDays( -365 ),
+ QDate::<a href="qdate.html#currentDate">currentDate</a>().addDays( 365 ) );
+ dateEdit-&gt;<a href="#setOrder">setOrder</a>( QDateEdit::<a href="#Order-enum">MDY</a> );
+ dateEdit-&gt;<a href="#setAutoAdvance">setAutoAdvance</a>( TRUE );
+ </pre>
+
+<p> Here we've created a new QDateEdit object initialised with today's
+date and restricted the valid date range to today plus or minus
+365 days. We've set the order to month, day, year. If the auto
+advance property is TRUE (as we've set it here) when the user
+completes a section of the date, e.g. enters two digits for the
+month, they are automatically taken to the next section.
+<p> The maximum and minimum values for a date value in the date editor
+default to the maximum and minimum values for a <a href="qdate.html">QDate</a>. You can
+change this by calling <a href="#setMinValue">setMinValue</a>(), <a href="#setMaxValue">setMaxValue</a>() or <a href="#setRange">setRange</a>().
+<p> Terminology: A QDateEdit widget comprises three 'sections', one
+each for the year, month and day. You can change the separator
+character using QDateTimeEditor::setSeparator(), by default the
+separator will be taken from the systems settings. If that is
+not possible, it defaults to "-".
+<p> <center><img src="datetimewidgets.png" alt="Date Time Widgets"></center>
+<p> <p>See also <a href="qdate.html">QDate</a>, <a href="qtimeedit.html">QTimeEdit</a>, <a href="qdatetimeedit.html">QDateTimeEdit</a>, <a href="advanced.html">Advanced Widgets</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Order-enum"></a>QDateEdit::Order</h3>
+
+<p> This enum defines the order in which the sections that comprise a
+date appear.
+<ul>
+<li><tt>QDateEdit::MDY</tt> - month-day-year
+<li><tt>QDateEdit::DMY</tt> - day-month-year
+<li><tt>QDateEdit::YMD</tt> - year-month-day (the default)
+<li><tt>QDateEdit::YDM</tt> - year-day-month (included for completeness; but should
+not be used)
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDateEdit"></a>QDateEdit::QDateEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty date editor which is a child of <em>parent</em> and
+called name <em>name</em>.
+
+<h3 class=fn><a name="QDateEdit-2"></a>QDateEdit::QDateEdit ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a date editor with the initial value <em>date</em>, parent <em>parent</em> and called <em>name</em>.
+<p> The date editor is initialized with <em>date</em>.
+
+<h3 class=fn><a name="~QDateEdit"></a>QDateEdit::~QDateEdit ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoAdvance"></a>QDateEdit::autoAdvance () const
+</h3><p>Returns TRUE if the editor automatically advances to the next section; otherwise returns FALSE.
+See the <a href="qdateedit.html#autoAdvance-prop">"autoAdvance"</a> property for details.
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="date"></a>QDateEdit::date () const
+</h3><p>Returns the editor's date value.
+See the <a href="qdateedit.html#date-prop">"date"</a> property for details.
+<h3 class=fn>void <a name="fix"></a>QDateEdit::fix ()<tt> [virtual protected]</tt>
+</h3>
+Attempts to fix any invalid date entries.
+<p> The rules applied are as follows:
+<p> <ul>
+<li> If the year has four digits it is left unchanged.
+<li> If the year has two digits, the year will be changed to four
+digits in the range current year - 70 to current year + 29.
+<li> If the year has three digits in the range 100..999, the
+current millennium, i.e. 2000, will be added giving a year
+in the range 2100..2999.
+<li> If the day or month is 0 then it will be set to 1 or the
+minimum valid day\month in the range.
+</ul>
+<p>
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="maxValue"></a>QDateEdit::maxValue () const
+</h3><p>Returns the editor's maximum value.
+See the <a href="qdateedit.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="minValue"></a>QDateEdit::minValue () const
+</h3><p>Returns the editor's minimum value.
+See the <a href="qdateedit.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn><a href="qdateedit.html#Order-enum">Order</a> <a name="order"></a>QDateEdit::order () const
+</h3><p>Returns the order in which the year, month and day appear.
+See the <a href="qdateedit.html#order-prop">"order"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sectionFormattedText"></a>QDateEdit::sectionFormattedText ( int&nbsp;sec )<tt> [virtual protected]</tt>
+</h3>
+Returns the formatted number for section <em>sec</em>. This will
+correspond to either the year, month or day section, depending on
+the current display order.
+<p> <p>See also <a href="#order-prop">order</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="separator"></a>QDateEdit::separator () const
+</h3>
+Returns the editor's separator.
+
+<h3 class=fn>void <a name="setAutoAdvance"></a>QDateEdit::setAutoAdvance ( bool&nbsp;advance )<tt> [virtual]</tt>
+</h3><p>Sets whether the editor automatically advances to the next section to <em>advance</em>.
+See the <a href="qdateedit.html#autoAdvance-prop">"autoAdvance"</a> property for details.
+<h3 class=fn>void <a name="setDate"></a>QDateEdit::setDate ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date )<tt> [virtual slot]</tt>
+</h3><p>Sets the editor's date value to <em>date</em>.
+See the <a href="qdateedit.html#date-prop">"date"</a> property for details.
+<h3 class=fn>void <a name="setDay"></a>QDateEdit::setDay ( int&nbsp;day )<tt> [virtual protected]</tt>
+</h3>
+Sets the day to <em>day</em>, which must be a valid day. The function
+will ensure that the <em>day</em> set is valid for the month and year.
+
+<h3 class=fn>void <a name="setMaxValue"></a>QDateEdit::setMaxValue ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3><p>Sets the editor's maximum value to <em>d</em>.
+See the <a href="qdateedit.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QDateEdit::setMinValue ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3><p>Sets the editor's minimum value to <em>d</em>.
+See the <a href="qdateedit.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setMonth"></a>QDateEdit::setMonth ( int&nbsp;month )<tt> [virtual protected]</tt>
+</h3>
+Sets the month to <em>month</em>, which must be a valid month, i.e.
+between 1 and 12.
+
+<h3 class=fn>void <a name="setOrder"></a>QDateEdit::setOrder ( <a href="qdateedit.html#Order-enum">Order</a>&nbsp;order )<tt> [virtual]</tt>
+</h3><p>Sets the order in which the year, month and day appear to <em>order</em>.
+See the <a href="qdateedit.html#order-prop">"order"</a> property for details.
+<h3 class=fn>void <a name="setRange"></a>QDateEdit::setRange ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;min, const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;max )<tt> [virtual]</tt>
+</h3>
+Sets the valid input range for the editor to be from <em>min</em> to <em>max</em> inclusive. If <em>min</em> is invalid no minimum date will be set.
+Similarly, if <em>max</em> is invalid no maximum date will be set.
+
+<h3 class=fn>void <a name="setSeparator"></a>QDateEdit::setSeparator ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+Sets the separator to <em>s</em>. Note that currently only the first
+character of <em>s</em> is used.
+
+<h3 class=fn>void <a name="setYear"></a>QDateEdit::setYear ( int&nbsp;year )<tt> [virtual protected]</tt>
+</h3>
+Sets the year to <em>year</em>, which must be a valid year. The range
+currently supported is from 1752 to 8000.
+<p> <p>See also <a href="qdate.html">QDate</a>.
+
+<h3 class=fn>void <a name="updateButtons"></a>QDateEdit::updateButtons ()<tt> [protected slot]</tt>
+</h3>
+Enables/disables the push buttons according to the min/max date
+for this widget.
+
+<h3 class=fn>void <a name="valueChanged"></a>QDateEdit::valueChanged ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the editor's value changes. The <em>date</em> parameter is the new value.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoAdvance-prop"></a>autoAdvance</h3>
+<p>This property holds whether the editor automatically advances to the next section.
+<p>If autoAdvance is TRUE, the editor will automatically advance
+focus to the next date section if a user has completed a section.
+The default is FALSE.
+
+<p>Set this property's value with <a href="#setAutoAdvance">setAutoAdvance</a>() and get this property's value with <a href="#autoAdvance">autoAdvance</a>().
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="date-prop"></a>date</h3>
+<p>This property holds the editor's date value.
+<p>If the date property is not valid, the editor displays all zeroes
+and <a href="#date">QDateEdit::date</a>() will return an invalid date. It is strongly
+recommended that the editor is given a default date value (e.g.
+currentDate()). That way, attempts to set the date property to an
+invalid date will fail.
+<p> When changing the date property, if the date is less than
+<a href="#minValue">minValue</a>(), or is greater than <a href="#maxValue">maxValue</a>(), nothing happens.
+
+<p>Set this property's value with <a href="#setDate">setDate</a>() and get this property's value with <a href="#date">date</a>().
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the editor's maximum value.
+<p>Setting the maximum date value for the editor is equivalent to
+calling <a href="#setRange">QDateEdit::setRange</a>( <a href="#minValue">minValue</a>(), <em>d</em> ), where <em>d</em> is the
+maximum date. The default maximum date is 8000-12-31.
+<p> <p>See also <a href="#minValue-prop">minValue</a> and <a href="#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the editor's minimum value.
+<p>Setting the minimum date value is equivalent to calling
+<a href="#setRange">QDateEdit::setRange</a>( <em>d</em>, <a href="#maxValue">maxValue</a>() ), where <em>d</em> is the minimum
+date. The default minimum date is 1752-09-14.
+<p> <p>See also <a href="#maxValue-prop">maxValue</a> and <a href="#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn><a href="qdateedit.html#Order-enum">Order</a> <a name="order-prop"></a>order</h3>
+<p>This property holds the order in which the year, month and day appear.
+<p>The default order is locale dependent.
+<p> <p>See also <a href="#Order-enum">Order</a>.
+
+<p>Set this property's value with <a href="#setOrder">setOrder</a>() and get this property's value with <a href="#order">order</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetime-h.html b/doc/html/qdatetime-h.html
new file mode 100644
index 0000000..5b4003d
--- /dev/null
+++ b/doc/html/qdatetime-h.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetime.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdatetime.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdatetime.h</h1>
+
+<p>This is the verbatim text of the qdatetime.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/*************************************************************************
+** $Id: qt/qdatetime.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of date and time classes
+**
+** Created : 940124
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATETIME_H
+#define QDATETIME_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qnamespace.h"
+#endif // QT_H
+
+
+/*****************************************************************************
+ QDate class
+ *****************************************************************************/
+
+class Q_EXPORT QDate
+{
+public:
+ QDate() { jd = 0; }
+ QDate( int y, int m, int d );
+
+ bool isNull() const { return jd == 0; }
+ bool isValid() const;
+
+ int year() const;
+ int month() const;
+ int day() const;
+ int dayOfWeek() const;
+ int dayOfYear() const;
+ int daysInMonth() const;
+ int daysInYear() const;
+ int weekNumber( int *yearNum = 0 ) const;
+
+#ifndef QT_NO_TEXTDATE
+#ifndef QT_NO_COMPAT
+ static QString monthName( int month ) { return shortMonthName( month ); }
+ static QString dayName( int weekday ) { return shortDayName( weekday ); }
+#endif
+ static QString shortMonthName( int month );
+ static QString shortDayName( int weekday );
+ static QString longMonthName( int month );
+ static QString longDayName( int weekday );
+#endif //QT_NO_TEXTDATE
+#ifndef QT_NO_TEXTSTRING
+#if !defined(QT_NO_SPRINTF)
+ QString toString( Qt::DateFormat f = Qt::TextDate ) const;
+#endif
+ QString toString( const QString&amp; format ) const;
+#endif
+ bool setYMD( int y, int m, int d );
+
+ QDate addDays( int days ) const;
+ QDate addMonths( int months ) const;
+ QDate addYears( int years ) const;
+ int daysTo( const QDate &amp; ) const;
+
+ bool operator==( const QDate &amp;d ) const { return jd == d.jd; }
+ bool operator!=( const QDate &amp;d ) const { return jd != d.jd; }
+ bool operator&lt;( const QDate &amp;d ) const { return jd &lt; d.jd; }
+ bool operator&lt;=( const QDate &amp;d ) const { return jd &lt;= d.jd; }
+ bool operator&gt;( const QDate &amp;d ) const { return jd &gt; d.jd; }
+ bool operator&gt;=( const QDate &amp;d ) const { return jd &gt;= d.jd; }
+
+ static QDate currentDate();
+ static QDate currentDate( Qt::TimeSpec );
+#ifndef QT_NO_DATESTRING
+ static QDate fromString( const QString&amp; s, Qt::DateFormat f = Qt::TextDate );
+#endif
+ static bool isValid( int y, int m, int d );
+ static bool leapYear( int year );
+
+ static uint gregorianToJulian( int y, int m, int d );
+ static void julianToGregorian( uint jd, int &amp;y, int &amp;m, int &amp;d );
+private:
+ uint jd;
+ friend class QDateTime;
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QDate &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QDate &amp; );
+#endif
+};
+
+
+/*****************************************************************************
+ QTime class
+ *****************************************************************************/
+
+class Q_EXPORT QTime
+{
+public:
+ QTime() { ds=0; } // set null time
+ QTime( int h, int m, int s=0, int ms=0 ); // set time
+
+ bool isNull() const { return ds == 0; }
+ bool isValid() const; // valid time
+
+ int hour() const; // 0..23
+ int minute() const; // 0..59
+ int second() const; // 0..59
+ int msec() const; // 0..999
+#ifndef QT_NO_DATESTRING
+#ifndef QT_NO_SPRINTF
+ QString toString( Qt::DateFormat f = Qt::TextDate ) const;
+#endif
+ QString toString( const QString&amp; format ) const;
+#endif
+ bool setHMS( int h, int m, int s, int ms=0 );
+
+ QTime addSecs( int secs ) const;
+ int secsTo( const QTime &amp; ) const;
+ QTime addMSecs( int ms ) const;
+ int msecsTo( const QTime &amp; ) const;
+
+ bool operator==( const QTime &amp;d ) const { return ds == d.ds; }
+ bool operator!=( const QTime &amp;d ) const { return ds != d.ds; }
+ bool operator&lt;( const QTime &amp;d ) const { return ds &lt; d.ds; }
+ bool operator&lt;=( const QTime &amp;d ) const { return ds &lt;= d.ds; }
+ bool operator&gt;( const QTime &amp;d ) const { return ds &gt; d.ds; }
+ bool operator&gt;=( const QTime &amp;d ) const { return ds &gt;= d.ds; }
+
+ static QTime currentTime();
+ static QTime currentTime( Qt::TimeSpec );
+#ifndef QT_NO_DATESTRING
+ static QTime fromString( const QString&amp; s, Qt::DateFormat f = Qt::TextDate );
+#endif
+ static bool isValid( int h, int m, int s, int ms=0 );
+
+ void start();
+ int restart();
+ int elapsed() const;
+
+private:
+ static bool currentTime( QTime * );
+ static bool currentTime( QTime *, Qt::TimeSpec );
+
+ uint ds;
+ friend class QDateTime;
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QTime &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QTime &amp; );
+#endif
+};
+
+
+/*****************************************************************************
+ QDateTime class
+ *****************************************************************************/
+
+class Q_EXPORT QDateTime
+{
+public:
+ QDateTime() {} // set null date and null time
+ QDateTime( const QDate &amp; );
+ QDateTime( const QDate &amp;, const QTime &amp; );
+
+ bool isNull() const { return d.isNull() &amp;&amp; t.isNull(); }
+ bool isValid() const { return d.isValid() &amp;&amp; t.isValid(); }
+
+ QDate date() const { return d; }
+ QTime time() const { return t; }
+ uint toTime_t() const;
+ void setDate( const QDate &amp;date ) { d = date; }
+ void setTime( const QTime &amp;time ) { t = time; }
+ void setTime_t( uint secsSince1Jan1970UTC );
+ void setTime_t( uint secsSince1Jan1970UTC, Qt::TimeSpec );
+#ifndef QT_NO_DATESTRING
+#ifndef QT_NO_SPRINTF
+ QString toString( Qt::DateFormat f = Qt::TextDate ) const;
+#endif
+ QString toString( const QString&amp; format ) const;
+#endif
+ QDateTime addDays( int days ) const;
+ QDateTime addMonths( int months ) const;
+ QDateTime addYears( int years ) const;
+ QDateTime addSecs( int secs ) const;
+ int daysTo( const QDateTime &amp; ) const;
+ int secsTo( const QDateTime &amp; ) const;
+
+ bool operator==( const QDateTime &amp;dt ) const;
+ bool operator!=( const QDateTime &amp;dt ) const;
+ bool operator&lt;( const QDateTime &amp;dt ) const;
+ bool operator&lt;=( const QDateTime &amp;dt ) const;
+ bool operator&gt;( const QDateTime &amp;dt ) const;
+ bool operator&gt;=( const QDateTime &amp;dt ) const;
+
+ static QDateTime currentDateTime();
+ static QDateTime currentDateTime( Qt::TimeSpec );
+#ifndef QT_NO_DATESTRING
+ static QDateTime fromString( const QString&amp; s, Qt::DateFormat f = Qt::TextDate );
+#endif
+private:
+ QDate d;
+ QTime t;
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QDateTime &amp;);
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QDateTime &amp; );
+#endif
+};
+
+
+/*****************************************************************************
+ Date and time stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QDate &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QDate &amp; );
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QTime &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QTime &amp; );
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QDateTime &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QDateTime &amp; );
+#endif // QT_NO_DATASTREAM
+
+#endif // QDATETIME_H
+
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetime-members.html b/doc/html/qdatetime-members.html
new file mode 100644
index 0000000..ba55132
--- /dev/null
+++ b/doc/html/qdatetime-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetime.h:185 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTime Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDateTime</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatetime.html">QDateTime</a>, including inherited members.
+
+<ul>
+<li><a href="qdatetime.html#QDateTime">QDateTime</a>()
+<li><a href="qdatetime.html#addDays">addDays</a>()
+<li><a href="qdatetime.html#addMonths">addMonths</a>()
+<li><a href="qdatetime.html#addSecs">addSecs</a>()
+<li><a href="qdatetime.html#addYears">addYears</a>()
+<li><a href="qdatetime.html#currentDateTime">currentDateTime</a>()
+<li><a href="qdatetime.html#date">date</a>()
+<li><a href="qdatetime.html#daysTo">daysTo</a>()
+<li><a href="qdatetime.html#fromString">fromString</a>()
+<li><a href="qdatetime.html#isNull">isNull</a>()
+<li><a href="qdatetime.html#isValid">isValid</a>()
+<li><a href="qdatetime.html#operator!-eq">operator!=</a>()
+<li><a href="qdatetime.html#operator-lt">operator&lt;</a>()
+<li><a href="qdatetime.html#operator-lt-eq">operator&lt;=</a>()
+<li><a href="qdatetime.html#operator-eq-eq">operator==</a>()
+<li><a href="qdatetime.html#operator-gt">operator&gt;</a>()
+<li><a href="qdatetime.html#operator-gt-eq">operator&gt;=</a>()
+<li><a href="qdatetime.html#secsTo">secsTo</a>()
+<li><a href="qdatetime.html#setDate">setDate</a>()
+<li><a href="qdatetime.html#setTime">setTime</a>()
+<li><a href="qdatetime.html#setTime_t">setTime_t</a>()
+<li><a href="qdatetime.html#time">time</a>()
+<li><a href="qdatetime.html#toString">toString</a>()
+<li><a href="qdatetime.html#toTime_t">toTime_t</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetime.html b/doc/html/qdatetime.html
new file mode 100644
index 0000000..8e96b03
--- /dev/null
+++ b/doc/html/qdatetime.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdatetime.cpp:1861 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTime Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDateTime Class Reference</h1>
+
+<p>The QDateTime class provides date and time functions.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;</tt>
+<p><a href="qdatetime-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDateTime"><b>QDateTime</b></a> ()</li>
+<li class=fn><a href="#QDateTime-2"><b>QDateTime</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date )</li>
+<li class=fn><a href="#QDateTime-3"><b>QDateTime</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date, const&nbsp;QTime&nbsp;&amp;&nbsp;time )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QDate <a href="#date"><b>date</b></a> () const</li>
+<li class=fn>QTime <a href="#time"><b>time</b></a> () const</li>
+<li class=fn>uint <a href="#toTime_t"><b>toTime_t</b></a> () const</li>
+<li class=fn>void <a href="#setDate"><b>setDate</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;date )</li>
+<li class=fn>void <a href="#setTime"><b>setTime</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;time )</li>
+<li class=fn>void <a href="#setTime_t-2"><b>setTime_t</b></a> ( uint&nbsp;secsSince1Jan1970UTC )</li>
+<li class=fn>void <a href="#setTime_t"><b>setTime_t</b></a> ( uint&nbsp;secsSince1Jan1970UTC, Qt::TimeSpec&nbsp;ts )</li>
+<li class=fn>QString <a href="#toString-2"><b>toString</b></a> ( Qt::DateFormat&nbsp;f = Qt::TextDate ) const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;format ) const</li>
+<li class=fn>QDateTime <a href="#addDays"><b>addDays</b></a> ( int&nbsp;ndays ) const</li>
+<li class=fn>QDateTime <a href="#addMonths"><b>addMonths</b></a> ( int&nbsp;nmonths ) const</li>
+<li class=fn>QDateTime <a href="#addYears"><b>addYears</b></a> ( int&nbsp;nyears ) const</li>
+<li class=fn>QDateTime <a href="#addSecs"><b>addSecs</b></a> ( int&nbsp;nsecs ) const</li>
+<li class=fn>int <a href="#daysTo"><b>daysTo</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>int <a href="#secsTo"><b>secsTo</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QDateTime <a href="#currentDateTime-2"><b>currentDateTime</b></a> ()</li>
+<li class=fn>QDateTime <a href="#currentDateTime"><b>currentDateTime</b></a> ( Qt::TimeSpec&nbsp;ts )</li>
+<li class=fn>QDateTime <a href="#fromString"><b>fromString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, Qt::DateFormat&nbsp;f = Qt::TextDate )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QDateTime&nbsp;&amp;&nbsp;dt )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDateTime class provides date and time functions.
+<p>
+
+<p> A QDateTime object contains a calendar date and a clock time (a
+"datetime"). It is a combination of the <a href="qdate.html">QDate</a> and <a href="qtime.html">QTime</a> classes.
+It can read the current datetime from the system clock. It
+provides functions for comparing datetimes and for manipulating a
+datetime by adding a number of seconds, days, months or years.
+<p> A QDateTime object is typically created either by giving a date
+and time explicitly in the constructor, or by using the static
+function <a href="#currentDateTime">currentDateTime</a>(), which returns a QDateTime object set
+to the system clock's time. The date and time can be changed with
+<a href="#setDate">setDate</a>() and <a href="#setTime">setTime</a>(). A datetime can also be set using the
+<a href="#setTime_t">setTime_t</a>() function, which takes a POSIX-standard "number of
+seconds since 00:00:00 on January 1, 1970" value. The <a href="#fromString">fromString</a>()
+function returns a QDateTime given a string and a date format
+which is used to interpret the date within the string.
+<p> The <a href="#date">date</a>() and <a href="#time">time</a>() functions provide access to the date and
+time parts of the datetime. The same information is provided in
+textual format by the <a href="#toString">toString</a>() function.
+<p> QDateTime provides a full set of operators to compare two
+QDateTime objects where smaller means earlier and larger means
+later.
+<p> You can increment (or decrement) a datetime by a given number of
+seconds using <a href="#addSecs">addSecs</a>() or days using <a href="#addDays">addDays</a>(). Similarly you can
+use <a href="#addMonths">addMonths</a>() and <a href="#addYears">addYears</a>(). The <a href="#daysTo">daysTo</a>() function returns the
+number of days between two datetimes, and <a href="#secsTo">secsTo</a>() returns the
+number of seconds between two datetimes.
+<p> The range of a datetime object is constrained to the ranges of the
+<a href="qdate.html">QDate</a> and <a href="qtime.html">QTime</a> objects which it embodies.
+<p> <p>See also <a href="qdate.html">QDate</a>, <a href="qtime.html">QTime</a>, <a href="qdatetimeedit.html">QDateTimeEdit</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDateTime"></a>QDateTime::QDateTime ()
+</h3>
+
+<p> Constructs a null datetime (i.e. null date and null time). A null
+datetime is invalid, since the date is invalid.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QDateTime-2"></a>QDateTime::QDateTime ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date )
+</h3>
+Constructs a datetime with date <em>date</em> and null (but valid) time
+(00:00:00.000).
+
+<h3 class=fn><a name="QDateTime-3"></a>QDateTime::QDateTime ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date, const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;time )
+</h3>
+Constructs a datetime with date <em>date</em> and time <em>time</em>.
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="addDays"></a>QDateTime::addDays ( int&nbsp;ndays ) const
+</h3>
+Returns a QDateTime object containing a datetime <em>ndays</em> days
+later than the datetime of this object (or earlier if <em>ndays</em> is
+negative).
+<p> <p>See also <a href="#daysTo">daysTo</a>(), <a href="#addMonths">addMonths</a>(), <a href="#addYears">addYears</a>(), and <a href="#addSecs">addSecs</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="addMonths"></a>QDateTime::addMonths ( int&nbsp;nmonths ) const
+</h3>
+Returns a QDateTime object containing a datetime <em>nmonths</em> months
+later than the datetime of this object (or earlier if <em>nmonths</em>
+is negative).
+<p> <p>See also <a href="#daysTo">daysTo</a>(), <a href="#addDays">addDays</a>(), <a href="#addYears">addYears</a>(), and <a href="#addSecs">addSecs</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="addSecs"></a>QDateTime::addSecs ( int&nbsp;nsecs ) const
+</h3>
+Returns a QDateTime object containing a datetime <em>nsecs</em> seconds
+later than the datetime of this object (or earlier if <em>nsecs</em> is
+negative).
+<p> <p>See also <a href="#secsTo">secsTo</a>(), <a href="#addDays">addDays</a>(), <a href="#addMonths">addMonths</a>(), and <a href="#addYears">addYears</a>().
+
+<p>Example: <a href="listviews-example.html#x136">listviews/listviews.cpp</a>.
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="addYears"></a>QDateTime::addYears ( int&nbsp;nyears ) const
+</h3>
+Returns a QDateTime object containing a datetime <em>nyears</em> years
+later than the datetime of this object (or earlier if <em>nyears</em> is
+negative).
+<p> <p>See also <a href="#daysTo">daysTo</a>(), <a href="#addDays">addDays</a>(), <a href="#addMonths">addMonths</a>(), and <a href="#addSecs">addSecs</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="currentDateTime"></a>QDateTime::currentDateTime ( <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>&nbsp;ts )<tt> [static]</tt>
+</h3>
+Returns the current datetime, as reported by the system clock, for the
+TimeSpec <em>ts</em>. The default TimeSpec is LocalTime.
+<p> <p>See also <a href="qdate.html#currentDate">QDate::currentDate</a>(), <a href="qtime.html#currentTime">QTime::currentTime</a>(), and <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>.
+
+<p>Example: <a href="listviews-example.html#x137">listviews/listviews.cpp</a>.
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="currentDateTime-2"></a>QDateTime::currentDateTime ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the current datetime, as reported by the system clock.
+<p> <p>See also <a href="qdate.html#currentDate">QDate::currentDate</a>() and <a href="qtime.html#currentTime">QTime::currentTime</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a> <a name="date"></a>QDateTime::date () const
+</h3>
+
+<p> Returns the date part of the datetime.
+<p> <p>See also <a href="#setDate">setDate</a>() and <a href="#time">time</a>().
+
+<h3 class=fn>int <a name="daysTo"></a>QDateTime::daysTo ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns the number of days from this datetime to <em>dt</em> (which is
+negative if <em>dt</em> is earlier than this datetime).
+<p> <p>See also <a href="#addDays">addDays</a>() and <a href="#secsTo">secsTo</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="fromString"></a>QDateTime::fromString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate )<tt> [static]</tt>
+</h3>
+Returns the QDateTime represented by the string <em>s</em>, using the
+format <em>f</em>, or an invalid datetime if this is not possible.
+<p> Note for <a href="qt.html#DateFormat-enum">Qt::TextDate</a>: It is recommended that you use the
+English short month names (e.g. "Jan"). Although localized month
+names can also be used, they depend on the user's locale settings.
+<p> <b>Warning:</b> Note that <a href="qt.html#DateFormat-enum">Qt::LocalDate</a> cannot be used here.
+
+<h3 class=fn>bool <a name="isNull"></a>QDateTime::isNull () const
+</h3>
+
+<p> Returns TRUE if both the date and the time are null; otherwise
+returns FALSE. A null datetime is invalid.
+<p> <p>See also <a href="qdate.html#isNull">QDate::isNull</a>() and <a href="qtime.html#isNull">QTime::isNull</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QDateTime::isValid () const
+</h3>
+
+<p> Returns TRUE if both the date and the time are valid; otherwise
+returns FALSE.
+<p> <p>See also <a href="qdate.html#isValid">QDate::isValid</a>() and <a href="qtime.html#isValid">QTime::isValid</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDateTime::operator!= ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is different from <em>dt</em>; otherwise
+returns FALSE.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn>bool <a name="operator-lt"></a>QDateTime::operator&lt; ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is earlier than <em>dt</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>QDateTime::operator&lt;= ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is earlier than or equal to <em>dt</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDateTime::operator== ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is equal to <em>dt</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<h3 class=fn>bool <a name="operator-gt"></a>QDateTime::operator&gt; ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is later than <em>dt</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>QDateTime::operator&gt;= ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns TRUE if this datetime is later than or equal to <em>dt</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="secsTo"></a>QDateTime::secsTo ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt ) const
+</h3>
+Returns the number of seconds from this datetime to <em>dt</em> (which
+is negative if <em>dt</em> is earlier than this datetime).
+<p> Example:
+<pre>
+ QDateTime dt = QDateTime::<a href="#currentDateTime">currentDateTime</a>();
+ QDateTime xmas( QDate(dt.<a href="#date">date</a>().year(),12,24), QTime(17,00) );
+ <a href="qapplication.html#qDebug">qDebug</a>( "There are %d seconds to Christmas", dt.<a href="#secsTo">secsTo</a>(xmas) );
+ </pre>
+
+<p> <p>See also <a href="#addSecs">addSecs</a>(), <a href="#daysTo">daysTo</a>(), and <a href="qtime.html#secsTo">QTime::secsTo</a>().
+
+<h3 class=fn>void <a name="setDate"></a>QDateTime::setDate ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;date )
+</h3>
+
+<p> Sets the date part of this datetime to <em>date</em>.
+<p> <p>See also <a href="#date">date</a>() and <a href="#setTime">setTime</a>().
+
+<h3 class=fn>void <a name="setTime"></a>QDateTime::setTime ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;time )
+</h3>
+
+<p> Sets the time part of this datetime to <em>time</em>.
+<p> <p>See also <a href="#time">time</a>() and <a href="#setDate">setDate</a>().
+
+<h3 class=fn>void <a name="setTime_t"></a>QDateTime::setTime_t ( uint&nbsp;secsSince1Jan1970UTC, <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>&nbsp;ts )
+</h3>
+Sets the date and time to <em>ts</em> time (<a href="qt.html#TimeSpec-enum">Qt::LocalTime</a> or <a href="qt.html#TimeSpec-enum">Qt::UTC</a>) given the number of seconds that have passed since
+1970-01-01T00:00:00, Coordinated Universal Time (UTC). On systems
+that do not support timezones this function will behave as if
+local time were UTC.
+<p> On Windows, only a subset of <em>secsSince1Jan1970UTC</em> values are
+supported, as Windows starts counting from 1980.
+<p> <p>See also <a href="#toTime_t">toTime_t</a>().
+
+<h3 class=fn>void <a name="setTime_t-2"></a>QDateTime::setTime_t ( uint&nbsp;secsSince1Jan1970UTC )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Convenience function that sets the date and time to local time
+based on the given UTC time.
+
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="time"></a>QDateTime::time () const
+</h3>
+
+<p> Returns the time part of the datetime.
+<p> <p>See also <a href="#setTime">setTime</a>() and <a href="#date">date</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QDateTime::toString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;format ) const
+</h3>
+Returns the datetime as a string. The <em>format</em> parameter
+determines the format of the result string.
+<p> These expressions may be used for the date:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Expression <th valign="top">Output
+<tr bgcolor="#f0f0f0"> <td valign="top">d <td valign="top">the day as number without a leading zero (1-31)
+<tr bgcolor="#d0d0d0"> <td valign="top">dd <td valign="top">the day as number with a leading zero (01-31)
+<tr bgcolor="#f0f0f0"> <td valign="top">ddd
+<td valign="top">the abbreviated localized day name (e.g. 'Mon'..'Sun').
+Uses <a href="qdate.html#shortDayName">QDate::shortDayName</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">dddd
+<td valign="top">the long localized day name (e.g. 'Monday'..'Sunday').
+Uses <a href="qdate.html#longDayName">QDate::longDayName</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">M <td valign="top">the month as number without a leading zero (1-12)
+<tr bgcolor="#d0d0d0"> <td valign="top">MM <td valign="top">the month as number with a leading zero (01-12)
+<tr bgcolor="#f0f0f0"> <td valign="top">MMM
+<td valign="top">the abbreviated localized month name (e.g. 'Jan'..'Dec').
+Uses <a href="qdate.html#shortMonthName">QDate::shortMonthName</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">MMMM
+<td valign="top">the long localized month name (e.g. 'January'..'December').
+Uses <a href="qdate.html#longMonthName">QDate::longMonthName</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">yy <td valign="top">the year as two digit number (00-99)
+<tr bgcolor="#d0d0d0"> <td valign="top">yyyy <td valign="top">the year as four digit number (1752-8000)
+</table></center>
+<p> These expressions may be used for the time:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Expression <th valign="top">Output
+<tr bgcolor="#f0f0f0"> <td valign="top">h
+<td valign="top">the hour without a leading zero (0..23 or 1..12 if AM/PM display)
+<tr bgcolor="#d0d0d0"> <td valign="top">hh
+<td valign="top">the hour with a leading zero (00..23 or 01..12 if AM/PM display)
+<tr bgcolor="#f0f0f0"> <td valign="top">m <td valign="top">the minute without a leading zero (0..59)
+<tr bgcolor="#d0d0d0"> <td valign="top">mm <td valign="top">the minute with a leading zero (00..59)
+<tr bgcolor="#f0f0f0"> <td valign="top">s <td valign="top">the second whithout a leading zero (0..59)
+<tr bgcolor="#d0d0d0"> <td valign="top">ss <td valign="top">the second whith a leading zero (00..59)
+<tr bgcolor="#f0f0f0"> <td valign="top">z <td valign="top">the milliseconds without leading zeroes (0..999)
+<tr bgcolor="#d0d0d0"> <td valign="top">zzz <td valign="top">the milliseconds with leading zeroes (000..999)
+<tr bgcolor="#f0f0f0"> <td valign="top">AP
+<td valign="top">use AM/PM display. <em>AP</em> will be replaced by either "AM" or "PM".
+<tr bgcolor="#d0d0d0"> <td valign="top">ap
+<td valign="top">use am/pm display. <em>ap</em> will be replaced by either "am" or "pm".
+</table></center>
+<p> All other input characters will be ignored.
+<p> Example format strings (assumed that the QDateTime is
+21<small><sup>st</sup></small> May 2001 14:13:09)
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Format <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top">dd.MM.yyyy <td valign="top" colspan="1" rowspan="1"> 21.05.2001
+<tr bgcolor="#d0d0d0"> <td valign="top">ddd MMMM d yy <td valign="top" colspan="1" rowspan="1"> Tue May 21 01
+<tr bgcolor="#f0f0f0"> <td valign="top">hh:mm:ss.zzz <td valign="top" colspan="1" rowspan="1"> 14:13:09.042
+<tr bgcolor="#d0d0d0"> <td valign="top">h:m:s ap <td valign="top" colspan="1" rowspan="1"> 2:13:9 pm
+</table></center>
+<p> If the datetime is an invalid datetime, then <a href="qstring.html#QString-null">QString::null</a> will be returned.
+<p> <p>See also <a href="qdate.html#toString">QDate::toString</a>() and <a href="qtime.html#toString">QTime::toString</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-2"></a>QDateTime::toString ( <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the datetime as a string. The <em>f</em> parameter determines
+the format of the string.
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::TextDate</a>, the string format is "Wed May 20
+03:40:13 1998" (using <a href="qdate.html#shortDayName">QDate::shortDayName</a>(), <a href="qdate.html#shortMonthName">QDate::shortMonthName</a>(),
+and <a href="qtime.html#toString">QTime::toString</a>() to generate the string, so the day and month
+names will have localized names).
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::ISODate</a>, the string format corresponds to the
+ISO 8601 extended specification for representations of dates and
+times, which is YYYY-MM-DDTHH:MM:SS.
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::LocalDate</a>, the string format depends on the
+locale settings of the system.
+<p> If the format <em>f</em> is invalid or the datetime is invalid, <a href="#toString">toString</a>()
+returns a null string.
+<p> <p>See also <a href="qdate.html#toString">QDate::toString</a>() and <a href="qtime.html#toString">QTime::toString</a>().
+
+<h3 class=fn>uint <a name="toTime_t"></a>QDateTime::toTime_t () const
+</h3>
+Returns the datetime as the number of seconds that have passed
+since 1970-01-01T00:00:00, Coordinated Universal Time (UTC).
+<p> On systems that do not support timezones, this function will
+behave as if local time were UTC.
+<p> <p>See also <a href="#setTime_t">setTime_t</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt )
+</h3>
+
+<p> Writes the datetime <em>dt</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt )
+</h3>
+
+<p> Reads a datetime from the stream <em>s</em> into <em>dt</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetimeedit-h.html b/doc/html/qdatetimeedit-h.html
new file mode 100644
index 0000000..48ef1be
--- /dev/null
+++ b/doc/html/qdatetimeedit-h.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetimeedit.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdatetimeedit.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdatetimeedit.h</h1>
+
+<p>This is the verbatim text of the qdatetimeedit.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdatetimeedit.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of date and time edit classes
+**
+** Created : 001103
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDATETIMEEDIT_H
+#define QDATETIMEEDIT_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qstring.h"
+#include "qdatetime.h"
+#endif // QT_H
+
+#ifndef QT_NO_DATETIMEEDIT
+
+class Q_EXPORT QDateTimeEditBase : public QWidget
+{
+ Q_OBJECT
+public:
+ QDateTimeEditBase( QWidget* parent=0, const char* name=0 )
+ : QWidget( parent, name ) {}
+
+ virtual bool setFocusSection( int sec ) = 0;
+ virtual QString sectionFormattedText( int sec ) = 0;
+ virtual void addNumber( int sec, int num ) = 0;
+ virtual void removeLastNumber( int sec ) = 0;
+
+public slots:
+ virtual void stepUp() = 0;
+ virtual void stepDown() = 0;
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDateTimeEditBase( const QDateTimeEditBase &amp; );
+ QDateTimeEditBase &amp;operator=( const QDateTimeEditBase &amp; );
+#endif
+};
+
+class QDateEditPrivate;
+
+class Q_EXPORT QDateEdit : public QDateTimeEditBase
+{
+ Q_OBJECT
+ Q_ENUMS( Order )
+ Q_PROPERTY( Order order READ order WRITE setOrder )
+ Q_PROPERTY( QDate date READ date WRITE setDate )
+ Q_PROPERTY( bool autoAdvance READ autoAdvance WRITE setAutoAdvance )
+ Q_PROPERTY( QDate maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( QDate minValue READ minValue WRITE setMinValue )
+
+public:
+ QDateEdit( QWidget* parent=0, const char* name=0 );
+ QDateEdit( const QDate&amp; date, QWidget* parent=0, const char* name=0 );
+ ~QDateEdit();
+
+ enum Order { DMY, MDY, YMD, YDM };
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+public slots:
+ virtual void setDate( const QDate&amp; date );
+
+public:
+ QDate date() const;
+ virtual void setOrder( Order order );
+ Order order() const;
+ virtual void setAutoAdvance( bool advance );
+ bool autoAdvance() const;
+
+ virtual void setMinValue( const QDate&amp; d ) { setRange( d, maxValue() ); }
+ QDate minValue() const;
+ virtual void setMaxValue( const QDate&amp; d ) { setRange( minValue(), d ); }
+ QDate maxValue() const;
+ virtual void setRange( const QDate&amp; min, const QDate&amp; max );
+ QString separator() const;
+ virtual void setSeparator( const QString&amp; s );
+
+ // Make removeFirstNumber() virtual in QDateTimeEditBase in 4.0
+ void removeFirstNumber( int sec );
+
+signals:
+ void valueChanged( const QDate&amp; date );
+
+protected:
+ bool event( QEvent *e );
+ void timerEvent( QTimerEvent * );
+ void resizeEvent( QResizeEvent * );
+ void stepUp();
+ void stepDown();
+ QString sectionFormattedText( int sec );
+ void addNumber( int sec, int num );
+
+ void removeLastNumber( int sec );
+ bool setFocusSection( int s );
+
+ virtual void setYear( int year );
+ virtual void setMonth( int month );
+ virtual void setDay( int day );
+ virtual void fix();
+ virtual bool outOfRange( int y, int m, int d ) const;
+
+protected slots:
+ void updateButtons();
+
+private:
+ void init();
+ int sectionOffsetEnd( int sec ) const;
+ int sectionLength( int sec ) const;
+ QString sectionText( int sec ) const;
+ QDateEditPrivate* d;
+
+#if defined(Q_DISABLE_COPY)
+ QDateEdit( const QDateEdit &amp; );
+ QDateEdit &amp;operator=( const QDateEdit &amp; );
+#endif
+};
+
+class QTimeEditPrivate;
+
+class Q_EXPORT QTimeEdit : public QDateTimeEditBase
+{
+ Q_OBJECT
+ Q_SETS( Display )
+ Q_PROPERTY( QTime time READ time WRITE setTime )
+ Q_PROPERTY( bool autoAdvance READ autoAdvance WRITE setAutoAdvance )
+ Q_PROPERTY( QTime maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( QTime minValue READ minValue WRITE setMinValue )
+ Q_PROPERTY( Display display READ display WRITE setDisplay )
+
+public:
+ enum Display {
+ Hours = 0x01,
+ Minutes = 0x02,
+ Seconds = 0x04,
+ /*Reserved = 0x08,*/
+ AMPM = 0x10
+ };
+
+ QTimeEdit( QWidget* parent=0, const char* name=0 );
+ QTimeEdit( const QTime&amp; time, QWidget* parent=0, const char* name=0 );
+ ~QTimeEdit();
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+public slots:
+ virtual void setTime( const QTime&amp; time );
+
+public:
+ QTime time() const;
+ virtual void setAutoAdvance( bool advance );
+ bool autoAdvance() const;
+
+ virtual void setMinValue( const QTime&amp; d ) { setRange( d, maxValue() ); }
+ QTime minValue() const;
+ virtual void setMaxValue( const QTime&amp; d ) { setRange( minValue(), d ); }
+ QTime maxValue() const;
+ virtual void setRange( const QTime&amp; min, const QTime&amp; max );
+ QString separator() const;
+ virtual void setSeparator( const QString&amp; s );
+
+ uint display() const;
+ void setDisplay( uint disp );
+
+ // Make removeFirstNumber() virtual in QDateTimeEditBase in 4.0
+ void removeFirstNumber( int sec );
+
+signals:
+ void valueChanged( const QTime&amp; time );
+
+protected:
+ bool event( QEvent *e );
+ void timerEvent( QTimerEvent *e );
+ void resizeEvent( QResizeEvent * );
+ void stepUp();
+ void stepDown();
+ QString sectionFormattedText( int sec );
+ void addNumber( int sec, int num );
+ void removeLastNumber( int sec );
+ bool setFocusSection( int s );
+
+ virtual bool outOfRange( int h, int m, int s ) const;
+ virtual void setHour( int h );
+ virtual void setMinute( int m );
+ virtual void setSecond( int s );
+
+protected slots:
+ void updateButtons();
+
+private:
+ void init();
+ QString sectionText( int sec );
+ QTimeEditPrivate* d;
+
+#if defined(Q_DISABLE_COPY)
+ QTimeEdit( const QTimeEdit &amp; );
+ QTimeEdit &amp;operator=( const QTimeEdit &amp; );
+#endif
+};
+
+
+class QDateTimeEditPrivate;
+
+class Q_EXPORT QDateTimeEdit : public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY( QDateTime dateTime READ dateTime WRITE setDateTime )
+
+public:
+ QDateTimeEdit( QWidget* parent=0, const char* name=0 );
+ QDateTimeEdit( const QDateTime&amp; datetime, QWidget* parent=0,
+ const char* name=0 );
+ ~QDateTimeEdit();
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+public slots:
+ virtual void setDateTime( const QDateTime &amp; dt );
+
+public:
+ QDateTime dateTime() const;
+
+ QDateEdit* dateEdit() { return de; }
+ QTimeEdit* timeEdit() { return te; }
+
+ virtual void setAutoAdvance( bool advance );
+ bool autoAdvance() const;
+
+signals:
+ void valueChanged( const QDateTime&amp; datetime );
+
+protected:
+ // ### make init() private in Qt 4.0
+ void init();
+ void resizeEvent( QResizeEvent * );
+
+protected slots:
+ // ### make these two functions private in Qt 4.0,
+ // and merge them into one with no parameter
+ void newValue( const QDate&amp; d );
+ void newValue( const QTime&amp; t );
+
+private:
+ QDateEdit* de;
+ QTimeEdit* te;
+ QDateTimeEditPrivate* d;
+
+#if defined(Q_DISABLE_COPY)
+ QDateTimeEdit( const QDateTimeEdit &amp; );
+ QDateTimeEdit &amp;operator=( const QDateTimeEdit &amp; );
+#endif
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetimeedit-members.html b/doc/html/qdatetimeedit-members.html
new file mode 100644
index 0000000..5468242
--- /dev/null
+++ b/doc/html/qdatetimeedit-members.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetimeedit.h:238 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTimeEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDateTimeEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatetimeedit.html">QDateTimeEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qdatetimeedit.html#QDateTimeEdit">QDateTimeEdit</a>()
+<li><a href="qdatetimeedit.html#~QDateTimeEdit">~QDateTimeEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdatetimeedit.html#autoAdvance">autoAdvance</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qdatetimeedit.html#dateEdit">dateEdit</a>()
+<li><a href="qdatetimeedit.html#dateTime">dateTime</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qdatetimeedit.html#setAutoAdvance">setAutoAdvance</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qdatetimeedit.html#setDateTime">setDateTime</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qdatetimeedit.html#timeEdit">timeEdit</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qdatetimeedit.html#valueChanged">valueChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetimeedit.html b/doc/html/qdatetimeedit.html
new file mode 100644
index 0000000..0166c6c
--- /dev/null
+++ b/doc/html/qdatetimeedit.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdatetimeedit.cpp:2599 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTimeEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDateTimeEdit Class Reference</h1>
+
+<p>The QDateTimeEdit class combines a QDateEdit and QTimeEdit
+widget into a single widget for editing datetimes.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatetimeedit-h.html">qdatetimeedit.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qdatetimeedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDateTimeEdit"><b>QDateTimeEdit</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QDateTimeEdit-2"><b>QDateTimeEdit</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;datetime, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDateTimeEdit"><b>~QDateTimeEdit</b></a> ()</li>
+<li class=fn>QDateTime <a href="#dateTime"><b>dateTime</b></a> () const</li>
+<li class=fn>QDateEdit * <a href="#dateEdit"><b>dateEdit</b></a> ()</li>
+<li class=fn>QTimeEdit * <a href="#timeEdit"><b>timeEdit</b></a> ()</li>
+<li class=fn>virtual void <a href="#setAutoAdvance"><b>setAutoAdvance</b></a> ( bool&nbsp;advance )</li>
+<li class=fn>bool <a href="#autoAdvance"><b>autoAdvance</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setDateTime"><b>setDateTime</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;datetime )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QDateTime <a href="#dateTime-prop"><b>dateTime</b></a>&nbsp;- the editor's datetime value</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDateTimeEdit class combines a <a href="qdateedit.html">QDateEdit</a> and <a href="qtimeedit.html">QTimeEdit</a>
+widget into a single widget for editing datetimes.
+<p>
+
+
+<p> QDateTimeEdit consists of a QDateEdit and QTimeEdit widget placed
+side by side and offers the functionality of both. The user can
+edit the date and time by using the keyboard or the arrow keys to
+increase/decrease date or time values. The Tab key can be used to
+move from section to section within the QDateTimeEdit widget, and
+the user can be moved automatically when they complete a section
+using <a href="#setAutoAdvance">setAutoAdvance</a>(). The datetime can be set with
+<a href="#setDateTime">setDateTime</a>().
+<p> The date format is read from the system's locale settings. It is
+set to year, month, day order if that is not possible. See
+<a href="qdateedit.html#setOrder">QDateEdit::setOrder</a>() to change this. Times appear in the order
+hours, minutes, seconds using the 24 hour clock.
+<p> It is recommended that the QDateTimeEdit is initialised with a
+datetime, e.g.
+<pre>
+ QDateTimeEdit *dateTimeEdit = new QDateTimeEdit( QDateTime::<a href="qdatetime.html#currentDateTime">currentDateTime</a>(), this );
+ dateTimeEdit-&gt;<a href="#dateEdit">dateEdit</a>()-&gt;setRange( QDateTime::currentDate(),
+ QDateTime::currentDate().addDays( 7 ) );
+ </pre>
+
+Here we've created a new QDateTimeEdit set to the current date and
+time, and set the date to have a minimum date of now and a maximum
+date of a week from now.
+<p> Terminology: A <a href="qdateedit.html">QDateEdit</a> widget consists of three 'sections', one
+each for the year, month and day. Similarly a <a href="qtimeedit.html">QTimeEdit</a> consists
+of three sections, one each for the hour, minute and second. The
+character that separates each date section is specified with
+setDateSeparator(); similarly setTimeSeparator() is used for the
+time sections.
+<p> <center><img src="datetimewidgets.png" alt="Date Time Widgets"></center>
+<p> <p>See also <a href="qdateedit.html">QDateEdit</a>, <a href="qtimeedit.html">QTimeEdit</a>, <a href="advanced.html">Advanced Widgets</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDateTimeEdit"></a>QDateTimeEdit::QDateTimeEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty datetime edit with parent <em>parent</em> and called
+<em>name</em>.
+
+<h3 class=fn><a name="QDateTimeEdit-2"></a>QDateTimeEdit::QDateTimeEdit ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;datetime, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a datetime edit with the initial value <em>datetime</em>,
+parent <em>parent</em> and called <em>name</em>.
+
+<h3 class=fn><a name="~QDateTimeEdit"></a>QDateTimeEdit::~QDateTimeEdit ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoAdvance"></a>QDateTimeEdit::autoAdvance () const
+</h3>
+Returns TRUE if auto-advance is enabled, otherwise returns FALSE.
+<p> <p>See also <a href="#setAutoAdvance">setAutoAdvance</a>().
+
+<h3 class=fn><a href="qdateedit.html">QDateEdit</a>&nbsp;* <a name="dateEdit"></a>QDateTimeEdit::dateEdit ()
+</h3>
+
+<p> Returns the internal widget used for editing the date part of the
+datetime.
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="dateTime"></a>QDateTimeEdit::dateTime () const
+</h3><p>Returns the editor's datetime value.
+See the <a href="qdatetimeedit.html#dateTime-prop">"dateTime"</a> property for details.
+<h3 class=fn>void <a name="setAutoAdvance"></a>QDateTimeEdit::setAutoAdvance ( bool&nbsp;advance )<tt> [virtual]</tt>
+</h3>
+Sets the auto advance property of the editor to <em>advance</em>. If set
+to TRUE, the editor will automatically advance focus to the next
+date or time section if the user has completed a section.
+
+<h3 class=fn>void <a name="setDateTime"></a>QDateTimeEdit::setDateTime ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt )<tt> [virtual slot]</tt>
+</h3><p>Sets the editor's datetime value to <em>dt</em>.
+See the <a href="qdatetimeedit.html#dateTime-prop">"dateTime"</a> property for details.
+<h3 class=fn><a href="qtimeedit.html">QTimeEdit</a>&nbsp;* <a name="timeEdit"></a>QDateTimeEdit::timeEdit ()
+</h3>
+
+<p> Returns the internal widget used for editing the time part of the
+datetime.
+
+<h3 class=fn>void <a name="valueChanged"></a>QDateTimeEdit::valueChanged ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;datetime )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted every time the date or time changes. The <em>datetime</em> argument is the new datetime.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="dateTime-prop"></a>dateTime</h3>
+<p>This property holds the editor's datetime value.
+<p>The datetime edit's datetime which may be an invalid datetime.
+
+<p>Set this property's value with <a href="#setDateTime">setDateTime</a>() and get this property's value with <a href="#dateTime">dateTime</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetimeeditbase-members.html b/doc/html/qdatetimeeditbase-members.html
new file mode 100644
index 0000000..abef363
--- /dev/null
+++ b/doc/html/qdatetimeeditbase-members.html
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetimeedit.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTimeEditBase Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDateTimeEditBase</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdatetimeeditbase.html">QDateTimeEditBase</a>, including inherited members.
+
+<ul>
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdatetimeeditbase.html b/doc/html/qdatetimeeditbase.html
new file mode 100644
index 0000000..a7cd5d6
--- /dev/null
+++ b/doc/html/qdatetimeeditbase.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdatetimeedit.cpp:757 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDateTimeEditBase Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDateTimeEditBase Class Reference</h1>
+
+<p>The QDateTimeEditBase class provides an abstraction for date and edit editors.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatetimeedit-h.html">qdatetimeedit.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p>Inherited by <a href="qdateedit.html">QDateEdit</a> and <a href="qtimeedit.html">QTimeEdit</a>.
+<p><a href="qdatetimeeditbase-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+The QDateTimeEditBase class provides an abstraction for date and edit editors.
+<p> Small abstract class that provides some functions that are common
+for both <a href="qdateedit.html">QDateEdit</a> and <a href="qtimeedit.html">QTimeEdit</a>. It is used internally by
+QDateTimeEditor.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdeepcopy-h.html b/doc/html/qdeepcopy-h.html
new file mode 100644
index 0000000..e1abc22
--- /dev/null
+++ b/doc/html/qdeepcopy-h.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdeepcopy.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdeepcopy.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdeepcopy.h</h1>
+
+<p>This is the verbatim text of the qdeepcopy.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdeepcopy.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDeepCopy class
+**
+** Created : 20020613
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDEEPCOPY_H
+#define QDEEPCOPY_H
+
+#ifndef QT_H
+# include "qglobal.h"
+#endif // QT_H
+
+template &lt;class T&gt;
+class QDeepCopy
+{
+public:
+ inline QDeepCopy()
+ {
+ }
+
+ inline QDeepCopy( const T &amp;t )
+ : deepcopy( t )
+ {
+ deepcopy.detach();
+ }
+
+ inline QDeepCopy&lt;T&gt; &amp;operator=( const T &amp;t )
+ {
+ deepcopy = t;
+ deepcopy.detach();
+ return *this;
+ }
+
+ inline operator T ()
+ {
+ T tmp = deepcopy;
+ tmp.detach();
+ return tmp;
+ }
+
+private:
+ T deepcopy;
+};
+
+#endif // QDEEPCOPY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdeepcopy-members.html b/doc/html/qdeepcopy-members.html
new file mode 100644
index 0000000..925df8a
--- /dev/null
+++ b/doc/html/qdeepcopy-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdeepcopy.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDeepCopy Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDeepCopy</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdeepcopy.html">QDeepCopy</a>, including inherited members.
+
+<ul>
+<li><a href="qdeepcopy.html#QDeepCopy">QDeepCopy</a>()
+<li><a href="qdeepcopy.html#operator-T">operator T</a>()
+<li><a href="qdeepcopy.html#operator-eq">operator=</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdeepcopy.html b/doc/html/qdeepcopy.html
new file mode 100644
index 0000000..3d5cf61
--- /dev/null
+++ b/doc/html/qdeepcopy.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdeepcopy.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDeepCopy Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDeepCopy Class Reference</h1>
+
+<p>The QDeepCopy class is a template class which ensures that
+implicitly shared and explicitly shared classes reference unique
+data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdeepcopy-h.html">qdeepcopy.h</a>&gt;</tt>
+<p><a href="qdeepcopy-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDeepCopy"><b>QDeepCopy</b></a> ()</li>
+<li class=fn><a href="#QDeepCopy-2"><b>QDeepCopy</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;t )</li>
+<li class=fn>QDeepCopy&lt;T&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;t )</li>
+<li class=fn><a href="#operator-T"><b>operator T</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDeepCopy class is a template class which ensures that
+<a href="shclass.html#implicitly-shared">implicitly shared</a> and <a href="shclass.html#explicitly-shared">explicitly shared</a> classes reference unique
+data.
+<p>
+<p>
+
+<p> Normally, shared copies reference the same data to optimize memory
+use and for maximum speed. In the example below, <tt>s1</tt>, <tt>s2</tt>, <tt>s3</tt>, <tt>s4</tt> and <tt>s5</tt> share data.
+<p> <pre>
+ // all 5 strings share the same data
+ <a href="qstring.html">QString</a> s1 = "abcd";
+ <a href="qstring.html">QString</a> s2 = s1;
+ <a href="qstring.html">QString</a> s3 = s2;
+ <a href="qstring.html">QString</a> s4 = s3;
+ <a href="qstring.html">QString</a> s5 = s2;
+ </pre>
+
+<p> QDeepCopy can be used several ways to ensure that an object
+references unique, unshared data. In the example below, <tt>s1</tt>, <tt>s2</tt> and <tt>s5</tt> share data, while neither <tt>s3</tt> nor <tt>s4</tt> share data.
+<pre>
+ // s1, s2 and s5 share the same data, neither s3 nor s4 are shared
+ <a href="qstring.html">QString</a> s1 = "abcd";
+ <a href="qstring.html">QString</a> s2 = s1;
+ QDeepCopy&lt;QString&gt; s3 = s2; // s3 is a <a href="shclass.html#deep-copy">deep copy</a> of s2
+ <a href="qstring.html">QString</a> s4 = s3; // s4 is a deep copy of s3
+ <a href="qstring.html">QString</a> s5 = s2;
+ </pre>
+
+<p> In the example below, <tt>s1</tt>, <tt>s2</tt> and <tt>s5</tt> share data, and <tt>s3</tt>
+and <tt>s4</tt> share data.
+<pre>
+ // s1, s2 and s5 share the same data, s3 and s4 share the same data
+ <a href="qstring.html">QString</a> s1 = "abcd";
+ <a href="qstring.html">QString</a> s2 = s1;
+ <a href="qstring.html">QString</a> s3 = QDeepCopy&lt;QString&gt;( s2 ); // s3 is a deep copy of s2
+ <a href="qstring.html">QString</a> s4 = s3; // s4 is a <a href="shclass.html#shallow-copy">shallow copy</a> of s3
+ <a href="qstring.html">QString</a> s5 = s2;
+ </pre>
+
+<p> QDeepCopy can also provide safety in multithreaded applications
+that use shared classes. In the example below, the variable <tt>global_string</tt> is used safely since the data contained in <tt>global_string</tt> is always a deep copy. This ensures that all threads
+get a unique copy of the data, and that any assignments to <tt>global_string</tt> will result in a deep copy.
+<p> <pre>
+ QDeepCopy&lt;QString&gt; global_string; // global string data
+ <a href="qmutex.html">QMutex</a> global_mutex; // mutex to protext global_string
+
+ ...
+
+ void setGlobalString( const <a href="qstring.html">QString</a> &amp;str )
+ {
+ global_mutex.<a href="qmutex.html#lock">lock</a>();
+ global_string = str; // global_string is a deep copy of str
+ global_mutex.<a href="qmutex.html#unlock">unlock</a>();
+ }
+
+ ...
+
+ void MyThread::run()
+ {
+ global_mutex.<a href="qmutex.html#lock">lock</a>();
+ <a href="qstring.html">QString</a> str = global_string; // str is a deep copy of global_string
+ global_mutex.<a href="qmutex.html#unlock">unlock</a>();
+
+ // process the string data
+ ...
+
+ // update global_string
+ setGlobalString( str );
+ }
+ </pre>
+
+<p> <b>Warning:</b> It is the application developer's responsibility to
+protect the object shared across multiple threads.
+<p> The examples above use <a href="qstring.html">QString</a>, which is an implicitly shared
+class. The behavior of QDeepCopy is the same when using explicitly
+shared classes like <a href="qbytearray.html">QByteArray</a>.
+<p> Currently, QDeepCopy works with the following classes:
+<ul>
+<li> <a href="qmemarray.html">QMemArray</a> (including subclasses like QByteArray and <a href="qcstring.html">QCString</a>)
+<li> <a href="qmap.html">QMap</a>
+<li> QString
+<li> <a href="qvaluelist.html">QValueList</a> (including subclasses like <a href="qstringlist.html">QStringList</a> and <a href="qvaluestack.html">QValueStack</a>)
+<li> <a href="qvaluevector.html">QValueVector</a>
+</ul>
+<p> <p>See also <a href="threads.html">Thread Support in Qt</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDeepCopy"></a>QDeepCopy::QDeepCopy ()
+</h3>
+
+<p> Constructs an empty instance of type <em>T</em>.
+
+<h3 class=fn><a name="QDeepCopy-2"></a>QDeepCopy::QDeepCopy ( const&nbsp;T&nbsp;&amp;&nbsp;t )
+</h3>
+
+<p> Constructs a <a href="shclass.html#deep-copy">deep copy</a> of <em>t</em>.
+
+<h3 class=fn><a name="operator-T"></a>QDeepCopy::operator T ()
+</h3>
+
+<p> Returns a <a href="shclass.html#deep-copy">deep copy</a> of the encapsulated data.
+
+<h3 class=fn><a href="qdeepcopy.html">QDeepCopy</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq"></a>QDeepCopy::operator= ( const&nbsp;T&nbsp;&amp;&nbsp;t )
+</h3>
+
+<p> Assigns a <a href="shclass.html#deep-copy">deep copy</a> of <em>t</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdesktopwidget-h.html b/doc/html/qdesktopwidget-h.html
new file mode 100644
index 0000000..a8e3e22
--- /dev/null
+++ b/doc/html/qdesktopwidget-h.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdesktopwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdesktopwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdesktopwidget.h</h1>
+
+<p>This is the verbatim text of the qdesktopwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdesktopwidget.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDesktopWidget class.
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDESKTOPWIDGET_H
+#define QDESKTOPWIDGET_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+class QApplication;
+class QDesktopWidgetPrivate; /* Don't touch! */
+
+class Q_EXPORT QDesktopWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ QDesktopWidget();
+ ~QDesktopWidget();
+
+ bool isVirtualDesktop() const;
+
+ int numScreens() const;
+ int primaryScreen() const;
+
+ int screenNumber( QWidget *widget = 0 ) const; // ### 4.0: const QWidget*
+ int screenNumber( const QPoint &amp; ) const;
+
+ QWidget *screen( int screen = -1 );
+
+ const QRect&amp; screenGeometry( int screen = -1 ) const;
+ const QRect&amp; screenGeometry( QWidget *widget ) const
+ { return screenGeometry( screenNumber( widget ) ); }
+ const QRect&amp; screenGeometry( const QPoint &amp;point ) const
+ { return screenGeometry( screenNumber( point ) ); }
+
+ const QRect&amp; availableGeometry( int screen = -1 ) const;
+ const QRect&amp; availableGeometry( QWidget *widget ) const
+ { return availableGeometry( screenNumber( widget ) ); }
+ const QRect&amp; availableGeometry( const QPoint &amp;point ) const
+ { return availableGeometry( screenNumber( point ) ); }
+
+ void insertChild( QObject * );
+
+signals:
+ void resized( int );
+ void workAreaResized( int );
+
+protected:
+ void resizeEvent( QResizeEvent *e );
+
+private:
+ QDesktopWidgetPrivate *d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDesktopWidget( const QDesktopWidget &amp; );
+ QDesktopWidget &amp;operator=( const QDesktopWidget &amp; );
+#endif
+
+ friend class QApplication;
+#ifdef Q_WS_QWS
+ friend class QWSDisplay;
+#endif
+};
+
+#endif //QDESKTOPWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdesktopwidget-members.html b/doc/html/qdesktopwidget-members.html
new file mode 100644
index 0000000..6e37f97
--- /dev/null
+++ b/doc/html/qdesktopwidget-members.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdesktopwidget.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDesktopWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDesktopWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdesktopwidget.html">QDesktopWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qdesktopwidget.html#QDesktopWidget">QDesktopWidget</a>()
+<li><a href="qdesktopwidget.html#~QDesktopWidget">~QDesktopWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qdesktopwidget.html#availableGeometry">availableGeometry</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qdesktopwidget.html#isVirtualDesktop">isVirtualDesktop</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qdesktopwidget.html#numScreens">numScreens</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qdesktopwidget.html#primaryScreen">primaryScreen</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdesktopwidget.html#resized">resized</a>()
+<li><a href="qdesktopwidget.html#screen">screen</a>()
+<li><a href="qdesktopwidget.html#screenGeometry">screenGeometry</a>()
+<li><a href="qdesktopwidget.html#screenNumber">screenNumber</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdesktopwidget.html b/doc/html/qdesktopwidget.html
new file mode 100644
index 0000000..7380743
--- /dev/null
+++ b/doc/html/qdesktopwidget.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdesktopwidget_win.cpp:226 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDesktopWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDesktopWidget Class Reference</h1>
+
+<p>The QDesktopWidget class provides access to screen information on multi-head systems.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdesktopwidget-h.html">qdesktopwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qdesktopwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDesktopWidget"><b>QDesktopWidget</b></a> ()</li>
+<li class=fn><a href="#~QDesktopWidget"><b>~QDesktopWidget</b></a> ()</li>
+<li class=fn>bool <a href="#isVirtualDesktop"><b>isVirtualDesktop</b></a> () const</li>
+<li class=fn>int <a href="#numScreens"><b>numScreens</b></a> () const</li>
+<li class=fn>int <a href="#primaryScreen"><b>primaryScreen</b></a> () const</li>
+<li class=fn>int <a href="#screenNumber"><b>screenNumber</b></a> ( QWidget&nbsp;*&nbsp;widget = 0 ) const</li>
+<li class=fn>int <a href="#screenNumber-2"><b>screenNumber</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;point ) const</li>
+<li class=fn>QWidget * <a href="#screen"><b>screen</b></a> ( int&nbsp;screen = -1 )</li>
+<li class=fn>const QRect &amp; <a href="#screenGeometry"><b>screenGeometry</b></a> ( int&nbsp;screen = -1 ) const</li>
+<li class=fn>const QRect &amp; <a href="#screenGeometry-2"><b>screenGeometry</b></a> ( QWidget&nbsp;*&nbsp;widget ) const</li>
+<li class=fn>const QRect &amp; <a href="#screenGeometry-3"><b>screenGeometry</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>const QRect &amp; <a href="#availableGeometry"><b>availableGeometry</b></a> ( int&nbsp;screen = -1 ) const</li>
+<li class=fn>const QRect &amp; <a href="#availableGeometry-2"><b>availableGeometry</b></a> ( QWidget&nbsp;*&nbsp;widget ) const</li>
+<li class=fn>const QRect &amp; <a href="#availableGeometry-3"><b>availableGeometry</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#resized"><b>resized</b></a> ( int&nbsp;screen )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDesktopWidget class provides access to screen information on multi-head systems.
+<p>
+
+<p> Systems with more than one graphics card and monitor can manage the
+physical screen space available either as multiple desktops, or as a
+large virtual desktop, which usually has the size of the bounding
+rectangle of all the screens (see <a href="#isVirtualDesktop">isVirtualDesktop</a>()). For an
+application, one of the available screens is the primary screen, i.e.
+the screen where the main widget resides (see <a href="#primaryScreen">primaryScreen</a>()). All
+windows opened in the context of the application must be
+constrained to the boundaries of the primary screen; for example,
+it would be inconvenient if a dialog box popped up on a different
+screen, or split over two screens.
+<p> The QDesktopWidget provides information about the geometry of the
+available screens with <a href="#screenGeometry">screenGeometry</a>(). The number of screens
+available is returned by <a href="#numScreens">numScreens</a>(). The screen number that a
+particular point or widget is located in is returned by
+<a href="#screenNumber">screenNumber</a>().
+<p> Widgets provided by Qt use this class, for example, to place
+tooltips, menus and dialog boxes according to the parent or
+application widget.
+<p> Applications can use this class to save window positions, or to place
+child widgets on one screen.
+<p> <center><img src="qdesktopwidget.png" alt="Managing Multiple Screens"></center>
+<p> In the illustration above, Application One's primary screen is
+screen 0, and App Two's primary screen is screen 1.
+<p> <p>See also <a href="advanced.html">Advanced Widgets</a> and <a href="environment.html">Environment Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDesktopWidget"></a>QDesktopWidget::QDesktopWidget ()
+</h3>
+Creates the desktop widget.
+<p> If the system supports a virtual desktop, this widget will have
+the size of the virtual desktop; otherwise this widget will have
+the size of the primary screen.
+<p> Instead of using QDesktopWidget directly, use
+<a href="qapplication.html#desktop">QApplication::desktop</a>().
+
+<h3 class=fn><a name="~QDesktopWidget"></a>QDesktopWidget::~QDesktopWidget ()
+</h3>
+Destroy the object and free allocated resources.
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="availableGeometry"></a>QDesktopWidget::availableGeometry ( int&nbsp;screen = -1 ) const
+</h3>
+Returns the available geometry of the screen with index <em>screen</em>. What
+is available will be subrect of <a href="#screenGeometry">screenGeometry</a>() based on what the
+platform decides is available (for example excludes the Dock and Menubar
+on Mac OS X, or the taskbar on Windows).
+<p> <p>See also <a href="#screenNumber">screenNumber</a>() and <a href="#screenGeometry">screenGeometry</a>().
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="availableGeometry-2"></a>QDesktopWidget::availableGeometry ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the available geometry of the screen which contains <em>widget</em>.
+<p> <p>See also <a href="#screenGeometry">screenGeometry</a>().
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="availableGeometry-3"></a>QDesktopWidget::availableGeometry ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the available geometry of the screen which contains <em>p</em>.
+<p> <p>See also <a href="#screenGeometry">screenGeometry</a>().
+
+<h3 class=fn>bool <a name="isVirtualDesktop"></a>QDesktopWidget::isVirtualDesktop () const
+</h3>
+Returns TRUE if the system manages the available screens in a
+virtual desktop; otherwise returns FALSE.
+<p> For virtual desktops, <a href="#screen">screen</a>() will always return the same widget.
+The size of the virtual desktop is the size of this desktop
+widget.
+
+<h3 class=fn>int <a name="numScreens"></a>QDesktopWidget::numScreens () const
+</h3>
+Returns the number of available screens.
+<p> <p>See also <a href="#primaryScreen">primaryScreen</a>().
+
+<h3 class=fn>int <a name="primaryScreen"></a>QDesktopWidget::primaryScreen () const
+</h3>
+Returns the index of the primary screen.
+<p> <p>See also <a href="#numScreens">numScreens</a>().
+
+<h3 class=fn>void <a name="resized"></a>QDesktopWidget::resized ( int&nbsp;screen )<tt> [signal]</tt>
+</h3>
+This signal is emitted when the size of <em>screen</em> changes.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="screen"></a>QDesktopWidget::screen ( int&nbsp;screen = -1 )
+</h3>
+Returns a widget that represents the screen with index <em>screen</em>.
+This widget can be used to draw directly on the desktop, using an
+unclipped painter like this:
+<p> <pre>
+ <a href="qpainter.html">QPainter</a> paint( QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;screen( 0 ), TRUE );
+ paint.draw...
+ ...
+ paint.<a href="qpainter.html#end">end</a>();
+ </pre>
+
+<p> If the system uses a virtual desktop, the returned widget will
+have the geometry of the entire virtual desktop i.e. bounding
+every <em>screen</em>.
+<p> <p>See also <a href="#primaryScreen">primaryScreen</a>(), <a href="#numScreens">numScreens</a>(), and <a href="#isVirtualDesktop">isVirtualDesktop</a>().
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="screenGeometry"></a>QDesktopWidget::screenGeometry ( int&nbsp;screen = -1 ) const
+</h3>
+Returns the geometry of the screen with index <em>screen</em>.
+<p> <p>See also <a href="#screenNumber">screenNumber</a>().
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="screenGeometry-2"></a>QDesktopWidget::screenGeometry ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the geometry of the screen which contains <em>widget</em>.
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="screenGeometry-3"></a>QDesktopWidget::screenGeometry ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the geometry of the screen which contains <em>p</em>.
+
+<h3 class=fn>int <a name="screenNumber"></a>QDesktopWidget::screenNumber ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget = 0 ) const
+</h3>
+Returns the index of the screen that contains the largest
+part of <em>widget</em>, or -1 if the widget not on a screen.
+<p> <p>See also <a href="#primaryScreen">primaryScreen</a>().
+
+<h3 class=fn>int <a name="screenNumber-2"></a>QDesktopWidget::screenNumber ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;point ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the index of the screen that contains <em>point</em>, or -1 if
+no screen contains the point.
+<p> <p>See also <a href="#primaryScreen">primaryScreen</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdesktopwidget.png b/doc/html/qdesktopwidget.png
new file mode 100644
index 0000000..0729528
--- /dev/null
+++ b/doc/html/qdesktopwidget.png
Binary files differ
diff --git a/doc/html/qdial-h.html b/doc/html/qdial-h.html
new file mode 100644
index 0000000..6891c6c
--- /dev/null
+++ b/doc/html/qdial-h.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdial.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdial.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdial.h</h1>
+
+<p>This is the verbatim text of the qdial.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdial.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the dial widget
+**
+** Created : 990104
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+#ifndef QDIAL_H
+#define QDIAL_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#endif // QT_H
+
+#ifndef QT_NO_DIAL
+
+class QDialPrivate;
+
+class Q_EXPORT QDial: public QWidget, public QRangeControl
+{
+ Q_OBJECT
+ Q_PROPERTY( bool tracking READ tracking WRITE setTracking )
+ Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
+ Q_PROPERTY( int notchSize READ notchSize )
+ Q_PROPERTY( double notchTarget READ notchTarget WRITE setNotchTarget )
+ Q_PROPERTY( bool notchesVisible READ notchesVisible WRITE setNotchesVisible )
+ Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
+ Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( int lineStep READ lineStep WRITE setLineStep )
+ Q_PROPERTY( int pageStep READ pageStep WRITE setPageStep )
+ Q_PROPERTY( int value READ value WRITE setValue )
+
+public:
+ QDial( QWidget* parent=0, const char* name=0, WFlags f = 0 );
+ QDial( int minValue, int maxValue, int pageStep, int value,
+ QWidget* parent=0, const char* name=0 );
+ ~QDial();
+
+ bool tracking() const;
+
+ bool wrapping() const;
+
+ int notchSize() const;
+
+ virtual void setNotchTarget( double );
+ double notchTarget() const;
+
+ bool notchesVisible() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue( int );
+ void setMaxValue( int );
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep( int );
+ void setPageStep( int );
+ int value() const;
+
+public slots:
+ virtual void setValue( int );
+ void addLine();
+ void subtractLine();
+ void addPage();
+ void subtractPage();
+ virtual void setNotchesVisible( bool b );
+ virtual void setWrapping( bool on );
+ virtual void setTracking( bool enable );
+
+signals:
+ void valueChanged( int value );
+ void dialPressed();
+ void dialMoved( int value );
+ void dialReleased();
+
+protected:
+ void resizeEvent( QResizeEvent * );
+ void paintEvent( QPaintEvent * );
+
+ void keyPressEvent( QKeyEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+
+ void valueChange();
+ void rangeChange();
+
+ virtual void repaintScreen( const QRect *cr = 0 );
+
+private:
+ QDialPrivate * d;
+
+ int valueFromPoint( const QPoint &amp; ) const;
+ double angle( const QPoint &amp;, const QPoint &amp; ) const;
+ QPointArray calcArrow( double &amp;a ) const;
+ QRect calcDial() const;
+ int calcBigLineSize() const;
+ void calcLines();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QDial( const QDial &amp; );
+ QDial &amp;operator=( const QDial &amp; );
+#endif
+
+};
+
+#endif // QT_NO_DIAL
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdial-m.png b/doc/html/qdial-m.png
new file mode 100644
index 0000000..37d90af
--- /dev/null
+++ b/doc/html/qdial-m.png
Binary files differ
diff --git a/doc/html/qdial-members.html b/doc/html/qdial-members.html
new file mode 100644
index 0000000..24592a3
--- /dev/null
+++ b/doc/html/qdial-members.html
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdial.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDial Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDial</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdial.html">QDial</a>, including inherited members.
+
+<ul>
+<li><a href="qdial.html#QDial">QDial</a>()
+<li><a href="qdial.html#~QDial">~QDial</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qdial.html#addLine">addLine</a>()
+<li><a href="qdial.html#addPage">addPage</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qrangecontrol.html#bound">bound</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qdial.html#dialMoved">dialMoved</a>()
+<li><a href="qdial.html#dialPressed">dialPressed</a>()
+<li><a href="qdial.html#dialReleased">dialReleased</a>()
+<li><a href="qrangecontrol.html#directSetValue">directSetValue</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qdial.html#lineStep">lineStep</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qdial.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qdial.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qdial.html#notchSize">notchSize</a>()
+<li><a href="qdial.html#notchTarget">notchTarget</a>()
+<li><a href="qdial.html#notchesVisible">notchesVisible</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qdial.html#pageStep">pageStep</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qrangecontrol.html#positionFromValue">positionFromValue</a>()
+<li><a href="qrangecontrol.html#prevValue">prevValue</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qdial.html#rangeChange">rangeChange</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qdial.html#repaintScreen">repaintScreen</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qdial.html#setLineStep">setLineStep</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qdial.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qdial.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdial.html#setNotchTarget">setNotchTarget</a>()
+<li><a href="qdial.html#setNotchesVisible">setNotchesVisible</a>()
+<li><a href="qdial.html#setPageStep">setPageStep</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qrangecontrol.html#setRange">setRange</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qrangecontrol.html#setSteps">setSteps</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qdial.html#setTracking">setTracking</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qdial.html#setValue">setValue</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdial.html#setWrapping">setWrapping</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qrangecontrol.html#stepChange">stepChange</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qdial.html#subtractLine">subtractLine</a>()
+<li><a href="qdial.html#subtractPage">subtractPage</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qdial.html#tracking">tracking</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qdial.html#value">value</a>()
+<li><a href="qdial.html#valueChange">valueChange</a>()
+<li><a href="qdial.html#valueChanged">valueChanged</a>()
+<li><a href="qrangecontrol.html#valueFromPosition">valueFromPosition</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qdial.html#wrapping">wrapping</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdial-w.png b/doc/html/qdial-w.png
new file mode 100644
index 0000000..83a1cbe
--- /dev/null
+++ b/doc/html/qdial-w.png
Binary files differ
diff --git a/doc/html/qdial.html b/doc/html/qdial.html
new file mode 100644
index 0000000..e826027
--- /dev/null
+++ b/doc/html/qdial.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdial.cpp:86 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDial Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDial Class Reference</h1>
+
+<p>The QDial class provides a rounded range control (like a speedometer or potentiometer).
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdial-h.html">qdial.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qrangecontrol.html">QRangeControl</a>.
+<p><a href="qdial-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDial"><b>QDial</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QDial-2"><b>QDial</b></a> ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;pageStep, int&nbsp;value, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDial"><b>~QDial</b></a> ()</li>
+<li class=fn>bool <a href="#tracking"><b>tracking</b></a> () const</li>
+<li class=fn>bool <a href="#wrapping"><b>wrapping</b></a> () const</li>
+<li class=fn>int <a href="#notchSize"><b>notchSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNotchTarget"><b>setNotchTarget</b></a> ( double )</li>
+<li class=fn>double <a href="#notchTarget"><b>notchTarget</b></a> () const</li>
+<li class=fn>bool <a href="#notchesVisible"><b>notchesVisible</b></a> () const</li>
+<li class=fn>int <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int )</li>
+<li class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int )</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</li>
+<li class=fn>int <a href="#pageStep"><b>pageStep</b></a> () const</li>
+<li class=fn>void <a href="#setLineStep"><b>setLineStep</b></a> ( int )</li>
+<li class=fn>void <a href="#setPageStep"><b>setPageStep</b></a> ( int )</li>
+<li class=fn>int <a href="#value"><b>value</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( int )</li>
+<li class=fn>void <a href="#addLine"><b>addLine</b></a> ()</li>
+<li class=fn>void <a href="#subtractLine"><b>subtractLine</b></a> ()</li>
+<li class=fn>void <a href="#addPage"><b>addPage</b></a> ()</li>
+<li class=fn>void <a href="#subtractPage"><b>subtractPage</b></a> ()</li>
+<li class=fn>virtual void <a href="#setNotchesVisible"><b>setNotchesVisible</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setWrapping"><b>setWrapping</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual void <a href="#setTracking"><b>setTracking</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#dialPressed"><b>dialPressed</b></a> ()</li>
+<li class=fn>void <a href="#dialMoved"><b>dialMoved</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#dialReleased"><b>dialReleased</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#lineStep-prop"><b>lineStep</b></a>&nbsp;- the current line step</li>
+<li class=fn>int <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the current maximum value</li>
+<li class=fn>int <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the current minimum value</li>
+<li class=fn>int <a href="#notchSize-prop"><b>notchSize</b></a>&nbsp;- the current notch size &nbsp;<em>(read only)</em></li>
+<li class=fn>double <a href="#notchTarget-prop"><b>notchTarget</b></a>&nbsp;- the target number of pixels between notches</li>
+<li class=fn>bool <a href="#notchesVisible-prop"><b>notchesVisible</b></a>&nbsp;- whether the notches are shown</li>
+<li class=fn>int <a href="#pageStep-prop"><b>pageStep</b></a>&nbsp;- the current page step</li>
+<li class=fn>bool <a href="#tracking-prop"><b>tracking</b></a>&nbsp;- whether tracking is enabled</li>
+<li class=fn>int <a href="#value-prop"><b>value</b></a>&nbsp;- the current dial value</li>
+<li class=fn>bool <a href="#wrapping-prop"><b>wrapping</b></a>&nbsp;- whether wrapping is enabled</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#valueChange"><b>valueChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#rangeChange"><b>rangeChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#repaintScreen"><b>repaintScreen</b></a> ( const&nbsp;QRect&nbsp;*&nbsp;cr = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QDial class provides a rounded range control (like a speedometer or potentiometer).
+<p>
+
+<p> QDial is used when the user needs to control a value within a
+program-definable range, and the range either wraps around
+(typically, 0..359 degrees) or the dialog layout needs a square
+widget.
+<p> Both API- and UI-wise, the dial is very similar to a <a href="qslider.html">slider.</a> Indeed, when <a href="#wrapping">wrapping</a>() is FALSE (the default)
+there is no real difference between a slider and a dial. They
+have the same signals, slots and member functions, all of which do
+the same things. Which one you use depends only on your taste
+and on the application.
+<p> The dial initially emits <a href="#valueChanged">valueChanged</a>() signals continuously while
+the slider is being moved; you can make it emit the signal less
+often by calling <a href="#setTracking">setTracking</a>(FALSE). <a href="#dialMoved">dialMoved</a>() is emitted
+continuously even when <a href="#tracking">tracking</a>() is FALSE.
+<p> The slider also emits <a href="#dialPressed">dialPressed</a>() and <a href="#dialReleased">dialReleased</a>() signals
+when the mouse button is pressed and released. But note that the
+dial's value can change without these signals being emitted; the
+keyboard and wheel can be used to change the value.
+<p> Unlike the slider, QDial attempts to draw a "nice" number of
+notches rather than one per <a href="#lineStep">lineStep</a>(). If possible, the number
+of notches drawn is one per lineStep(), but if there aren't enough
+pixels to draw every one, QDial will draw every second, third
+etc., notch. <a href="#notchSize">notchSize</a>() returns the number of units per notch,
+hopefully a multiple of lineStep(); <a href="#setNotchTarget">setNotchTarget</a>() sets the
+target distance between neighbouring notches in pixels. The
+default is 3.75 pixels.
+<p> Like the slider, the dial makes the <a href="qrangecontrol.html">QRangeControl</a> functions
+<a href="#setValue">setValue</a>(), <a href="#addLine">addLine</a>(), <a href="#subtractLine">subtractLine</a>(), <a href="#addPage">addPage</a>() and
+<a href="#subtractPage">subtractPage</a>() available as slots.
+<p> The dial's keyboard interface is fairly simple: The left/up and
+right/down arrow keys move by lineStep(), page up and page down by
+<a href="#pageStep">pageStep</a>() and Home and End to <a href="#minValue">minValue</a>() and <a href="#maxValue">maxValue</a>().
+<p> <img src=qdial-m.png> <img src=qdial-w.png>
+<p> <p>See also <a href="qscrollbar.html">QScrollBar</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Slider</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDial"></a>QDial::QDial ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a dial called <em>name</em> with parent <em>parent</em>. <em>f</em> is
+propagated to the <a href="qwidget.html">QWidget</a> constructor. It has the default range of
+a <a href="qrangecontrol.html">QRangeControl</a>.
+
+<h3 class=fn><a name="QDial-2"></a>QDial::QDial ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;pageStep, int&nbsp;value, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a dial called <em>name</em> with parent <em>parent</em>. The dial's
+value can never be smaller than <em>minValue</em> or greater than <em>maxValue</em>. Its page step size is <em>pageStep</em>, and its initial value
+is <em>value</em>.
+<p> <em>value</em> is forced to be within the legal range.
+
+<h3 class=fn><a name="~QDial"></a>QDial::~QDial ()
+</h3>
+Destroys the dial.
+
+<h3 class=fn>void <a name="addLine"></a>QDial::addLine ()<tt> [slot]</tt>
+</h3>
+Increments the dial's <a href="#value">value</a>() by one <a href="#lineStep">lineStep</a>().
+
+<h3 class=fn>void <a name="addPage"></a>QDial::addPage ()<tt> [slot]</tt>
+</h3>
+Increments the dial's <a href="#value">value</a>() by one <a href="#pageStep">pageStep</a>() of steps.
+
+<h3 class=fn>void <a name="dialMoved"></a>QDial::dialMoved ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the dial <em>value</em> changes. The
+frequency of this signal is <em>not</em> influenced by <a href="#setTracking">setTracking</a>().
+<p> <p>See also <a href="#valueChanged">valueChanged</a>().
+
+<h3 class=fn>void <a name="dialPressed"></a>QDial::dialPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user begins mouse interaction with
+the dial.
+<p> <p>See also <a href="#dialReleased">dialReleased</a>().
+
+<h3 class=fn>void <a name="dialReleased"></a>QDial::dialReleased ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user ends mouse interaction with
+the dial.
+<p> <p>See also <a href="#dialPressed">dialPressed</a>().
+
+<h3 class=fn>int <a name="lineStep"></a>QDial::lineStep () const
+</h3><p>Returns the current line step.
+See the <a href="qdial.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>int <a name="maxValue"></a>QDial::maxValue () const
+</h3><p>Returns the current maximum value.
+See the <a href="qdial.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>int <a name="minValue"></a>QDial::minValue () const
+</h3><p>Returns the current minimum value.
+See the <a href="qdial.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>int <a name="notchSize"></a>QDial::notchSize () const
+</h3><p>Returns the current notch size.
+See the <a href="qdial.html#notchSize-prop">"notchSize"</a> property for details.
+<h3 class=fn>double <a name="notchTarget"></a>QDial::notchTarget () const
+</h3><p>Returns the target number of pixels between notches.
+See the <a href="qdial.html#notchTarget-prop">"notchTarget"</a> property for details.
+<h3 class=fn>bool <a name="notchesVisible"></a>QDial::notchesVisible () const
+</h3><p>Returns TRUE if the notches are shown; otherwise returns FALSE.
+See the <a href="qdial.html#notchesVisible-prop">"notchesVisible"</a> property for details.
+<h3 class=fn>int <a name="pageStep"></a>QDial::pageStep () const
+</h3><p>Returns the current page step.
+See the <a href="qdial.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="rangeChange"></a>QDial::rangeChange ()<tt> [virtual protected]</tt>
+</h3>
+Reimplemented to ensure tick-marks are consistent with the new range.
+
+<p>Reimplemented from <a href="qrangecontrol.html#rangeChange">QRangeControl</a>.
+<h3 class=fn>void <a name="repaintScreen"></a>QDial::repaintScreen ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;*&nbsp;cr = 0 )<tt> [virtual protected]</tt>
+</h3>
+Paints the dial using clip region <em>cr</em>.
+
+<h3 class=fn>void <a name="setLineStep"></a>QDial::setLineStep ( int )
+</h3><p>Sets the current line step.
+See the <a href="qdial.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>void <a name="setMaxValue"></a>QDial::setMaxValue ( int )
+</h3><p>Sets the current maximum value.
+See the <a href="qdial.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QDial::setMinValue ( int )
+</h3><p>Sets the current minimum value.
+See the <a href="qdial.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setNotchTarget"></a>QDial::setNotchTarget ( double )<tt> [virtual]</tt>
+</h3><p>Sets the target number of pixels between notches.
+See the <a href="qdial.html#notchTarget-prop">"notchTarget"</a> property for details.
+<h3 class=fn>void <a name="setNotchesVisible"></a>QDial::setNotchesVisible ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the notches are shown to <em>b</em>.
+See the <a href="qdial.html#notchesVisible-prop">"notchesVisible"</a> property for details.
+<h3 class=fn>void <a name="setPageStep"></a>QDial::setPageStep ( int )
+</h3><p>Sets the current page step.
+See the <a href="qdial.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="setTracking"></a>QDial::setTracking ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether tracking is enabled to <em>enable</em>.
+See the <a href="qdial.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>void <a name="setValue"></a>QDial::setValue ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the current dial value.
+See the <a href="qdial.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="setWrapping"></a>QDial::setWrapping ( bool&nbsp;on )<tt> [virtual slot]</tt>
+</h3><p>Sets whether wrapping is enabled to <em>on</em>.
+See the <a href="qdial.html#wrapping-prop">"wrapping"</a> property for details.
+<h3 class=fn>void <a name="subtractLine"></a>QDial::subtractLine ()<tt> [slot]</tt>
+</h3>
+Decrements the dial's <a href="#value">value</a>() by one <a href="#lineStep">lineStep</a>().
+
+<h3 class=fn>void <a name="subtractPage"></a>QDial::subtractPage ()<tt> [slot]</tt>
+</h3>
+Decrements the dial's <a href="#value">value</a>() by one <a href="#pageStep">pageStep</a>() of steps.
+
+<h3 class=fn>bool <a name="tracking"></a>QDial::tracking () const
+</h3><p>Returns TRUE if tracking is enabled; otherwise returns FALSE.
+See the <a href="qdial.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>int <a name="value"></a>QDial::value () const
+</h3><p>Returns the current dial value.
+See the <a href="qdial.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="valueChange"></a>QDial::valueChange ()<tt> [virtual protected]</tt>
+</h3>
+Reimplemented to ensure the display is correct and to emit the
+<a href="#valueChanged">valueChanged</a>(int) signal when appropriate.
+
+<p>Reimplemented from <a href="qrangecontrol.html#valueChange">QRangeControl</a>.
+<h3 class=fn>void <a name="valueChanged"></a>QDial::valueChanged ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the dial's <em>value</em> changes. The
+frequency of this signal is influenced by <a href="#setTracking">setTracking</a>().
+
+<h3 class=fn>bool <a name="wrapping"></a>QDial::wrapping () const
+</h3><p>Returns TRUE if wrapping is enabled; otherwise returns FALSE.
+See the <a href="qdial.html#wrapping-prop">"wrapping"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="lineStep-prop"></a>lineStep</h3>
+<p>This property holds the current line step.
+<p>setLineStep() calls the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function if the new
+line step is different from the previous setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">QRangeControl::setSteps</a>(), <a href="#pageStep-prop">pageStep</a>, and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setLineStep">setLineStep</a>() and get this property's value with <a href="#lineStep">lineStep</a>().
+<h3 class=fn>int <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the current maximum value.
+<p>When setting this property, the <a href="#minValue-prop">QDial::minValue</a> is adjusted if
+necessary to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn>int <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the current minimum value.
+<p>When setting this property, the <a href="#maxValue-prop">QDial::maxValue</a> is adjusted if
+necessary to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn>int <a name="notchSize-prop"></a>notchSize</h3>
+<p>This property holds the current notch size.
+<p>The notch size is in range control units, not pixels, and if
+possible it is a multiple of <a href="#lineStep">lineStep</a>() that results in an
+on-screen notch size near <a href="#notchTarget">notchTarget</a>().
+<p> <p>See also <a href="#notchTarget-prop">notchTarget</a> and <a href="#lineStep-prop">lineStep</a>.
+
+<p>Get this property's value with <a href="#notchSize">notchSize</a>().
+<h3 class=fn>double <a name="notchTarget-prop"></a>notchTarget</h3>
+<p>This property holds the target number of pixels between notches.
+<p>The notch target is the number of pixels QDial attempts to put
+between each notch.
+<p> The actual size may differ from the target size.
+
+<p>Set this property's value with <a href="#setNotchTarget">setNotchTarget</a>() and get this property's value with <a href="#notchTarget">notchTarget</a>().
+<h3 class=fn>bool <a name="notchesVisible-prop"></a>notchesVisible</h3>
+<p>This property holds whether the notches are shown.
+<p>If TRUE, the notches are shown. If FALSE (the default) notches are
+not shown.
+
+<p>Set this property's value with <a href="#setNotchesVisible">setNotchesVisible</a>() and get this property's value with <a href="#notchesVisible">notchesVisible</a>().
+<h3 class=fn>int <a name="pageStep-prop"></a>pageStep</h3>
+<p>This property holds the current page step.
+<p>setPageStep() calls the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function if the new
+page step is different from the previous setting.
+<p> <p>See also <a href="qrangecontrol.html#stepChange">stepChange</a>().
+
+<p>Set this property's value with <a href="#setPageStep">setPageStep</a>() and get this property's value with <a href="#pageStep">pageStep</a>().
+<h3 class=fn>bool <a name="tracking-prop"></a>tracking</h3>
+<p>This property holds whether tracking is enabled.
+<p>If TRUE (the default), tracking is enabled. This means that the
+arrow can be moved using the mouse; otherwise the arrow cannot be
+moved with the mouse.
+
+<p>Set this property's value with <a href="#setTracking">setTracking</a>() and get this property's value with <a href="#tracking">tracking</a>().
+<h3 class=fn>int <a name="value-prop"></a>value</h3>
+<p>This property holds the current dial value.
+<p>This is guaranteed to be within the range
+<a href="#minValue-prop">QDial::minValue</a>..<a href="#maxValue-prop">QDial::maxValue</a>.
+<p> <p>See also <a href="#minValue-prop">minValue</a> and <a href="#maxValue-prop">maxValue</a>.
+
+<p>Set this property's value with <a href="#setValue">setValue</a>() and get this property's value with <a href="#value">value</a>().
+<h3 class=fn>bool <a name="wrapping-prop"></a>wrapping</h3>
+<p>This property holds whether wrapping is enabled.
+<p>If TRUE, wrapping is enabled. This means that the arrow can be
+turned around 360°. Otherwise there is some space at the bottom of
+the dial which is skipped by the arrow.
+<p> This property's default is FALSE.
+
+<p>Set this property's value with <a href="#setWrapping">setWrapping</a>() and get this property's value with <a href="#wrapping">wrapping</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdialog-h.html b/doc/html/qdialog-h.html
new file mode 100644
index 0000000..be5681e
--- /dev/null
+++ b/doc/html/qdialog-h.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdialog.h</h1>
+
+<p>This is the verbatim text of the qdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QDialog class
+**
+** Created : 950502
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDIALOG_H
+#define QDIALOG_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+#ifndef QT_NO_DIALOG
+#if 0
+Q_OBJECT
+#endif
+
+class QPushButton;
+class QDialogPrivate;
+
+class Q_EXPORT QDialog : public QWidget
+{
+friend class QPushButton;
+ Q_OBJECT
+ Q_PROPERTY( bool sizeGripEnabled READ isSizeGripEnabled WRITE setSizeGripEnabled )
+ Q_PROPERTY( bool modal READ isModal WRITE setModal )
+
+public:
+ Q_EXPLICIT QDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE,
+ WFlags f=0 );
+ ~QDialog();
+
+ enum DialogCode { Rejected, Accepted };
+
+ int result() const { return rescode; }
+
+ void show();
+ void hide();
+ void move( int x, int y );
+ void move( const QPoint &amp;p );
+ void resize( int w, int h );
+ void resize( const QSize &amp; );
+ void setGeometry( int x, int y, int w, int h );
+ void setGeometry( const QRect &amp; );
+
+ void setOrientation( Orientation orientation );
+ Orientation orientation() const;
+
+ void setExtension( QWidget* extension );
+ QWidget* extension() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ void setSizeGripEnabled( bool );
+ bool isSizeGripEnabled() const;
+
+ void setModal( bool modal );
+ bool isModal() const;
+#ifdef Q_OS_TEMP
+ bool event( QEvent * );
+#endif
+
+public slots:
+ int exec();
+
+protected slots:
+ virtual void done( int );
+ virtual void accept();
+ virtual void reject();
+
+ void showExtension( bool );
+
+protected:
+ void setResult( int r ) { rescode = r; }
+ void keyPressEvent( QKeyEvent * );
+ void closeEvent( QCloseEvent * );
+ void resizeEvent( QResizeEvent * );
+ void contextMenuEvent( QContextMenuEvent * );
+ bool eventFilter( QObject *, QEvent * );
+ void adjustPosition( QWidget*);
+
+private:
+ void setDefault( QPushButton * );
+ void setMainDefault( QPushButton * );
+ void hideDefault();
+#ifdef Q_OS_TEMP
+ void hideSpecial();
+#endif
+
+ int rescode;
+ uint did_move : 1;
+ uint has_relpos : 1;
+ uint did_resize : 1;
+ uint in_loop: 1;
+ void adjustPositionInternal( QWidget*, bool useRelPos = FALSE );
+ QDialogPrivate* d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QDialog( const QDialog &amp; );
+ QDialog &amp;operator=( const QDialog &amp; );
+#endif
+};
+
+#endif // QT_NO_DIALOG
+#endif // QDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdialog-members.html b/doc/html/qdialog-members.html
new file mode 100644
index 0000000..04340af
--- /dev/null
+++ b/doc/html/qdialog-members.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdialog.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdialog.html">QDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qdialog.html#QDialog">QDialog</a>()
+<li><a href="qdialog.html#~QDialog">~QDialog</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdialog.html b/doc/html/qdialog.html
new file mode 100644
index 0000000..cf0a168
--- /dev/null
+++ b/doc/html/qdialog.html
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qdialog.cpp:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDialog Class Reference</h1>
+
+<p>The QDialog class is the base class of dialog windows.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p>Inherited by <a href="qcolordialog.html">QColorDialog</a>, <a href="qerrormessage.html">QErrorMessage</a>, <a href="qfiledialog.html">QFileDialog</a>, <a href="qfontdialog.html">QFontDialog</a>, <a href="qinputdialog.html">QInputDialog</a>, <a href="qmessagebox.html">QMessageBox</a>, <a href="qmotifdialog.html">QMotifDialog</a>, <a href="qprogressdialog.html">QProgressDialog</a>, <a href="qtabdialog.html">QTabDialog</a>, and <a href="qwizard.html">QWizard</a>.
+<p><a href="qdialog-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>explicit <a href="#QDialog"><b>QDialog</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QDialog"><b>~QDialog</b></a> ()</li>
+<li class=fn>enum <a href="#DialogCode-enum"><b>DialogCode</b></a> { Rejected, Accepted }</li>
+<li class=fn>int <a href="#result"><b>result</b></a> () const</li>
+<li class=fn>virtual void <a href="#show"><b>show</b></a> ()</li>
+<li class=fn>void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation&nbsp;orientation )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>void <a href="#setExtension"><b>setExtension</b></a> ( QWidget&nbsp;*&nbsp;extension )</li>
+<li class=fn>QWidget * <a href="#extension"><b>extension</b></a> () const</li>
+<li class=fn>void <a href="#setSizeGripEnabled"><b>setSizeGripEnabled</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isSizeGripEnabled"><b>isSizeGripEnabled</b></a> () const</li>
+<li class=fn>void <a href="#setModal"><b>setModal</b></a> ( bool&nbsp;modal )</li>
+<li class=fn>bool <a href="#isModal"><b>isModal</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>int <a href="#exec"><b>exec</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#modal-prop"><b>modal</b></a>&nbsp;- whether show() should pop up the dialog as modal or modeless</li>
+<li class=fn>bool <a href="#sizeGripEnabled-prop"><b>sizeGripEnabled</b></a>&nbsp;- whether the size grip is enabled</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setResult"><b>setResult</b></a> ( int&nbsp;i )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#done"><b>done</b></a> ( int&nbsp;r )</li>
+<li class=fn>virtual void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>virtual void <a href="#reject"><b>reject</b></a> ()</li>
+<li class=fn>void <a href="#showExtension"><b>showExtension</b></a> ( bool&nbsp;showIt )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDialog class is the base class of dialog windows.
+<p>
+
+
+<p> A dialog window is a top-level window mostly used for short-term
+tasks and brief communications with the user. QDialogs may be
+modal or modeless. QDialogs support <a href="#extensibility">extensibility</a> and can provide a <a href="#return">return
+ value</a>. They can have <a href="#default">default
+ buttons</a>. QDialogs can also have a <a href="qsizegrip.html">QSizeGrip</a> in their
+lower-right corner, using <a href="#setSizeGripEnabled">setSizeGripEnabled</a>().
+<p> Note that QDialog uses the parent widget slightly differently from
+other classes in Qt. A dialog is always a top-level widget, but if
+it has a parent, its default location is centered on top of the
+parent's top-level widget (if it is not top-level itself). It will
+also share the parent's taskbar entry.
+<p> <a name="modal"></a>
+<h3> Modal Dialogs
+</h3>
+<a name="1"></a><p> A <b>modal</b> dialog is a dialog that blocks input to other
+visible windows in the same application. Users must finish
+interacting with the dialog and close it before they can access
+any other window in the application. Dialogs that are used to
+request a file name from the user or that are used to set
+application preferences are usually modal.
+<p> The most common way to display a modal dialog is to call its
+<a href="#exec">exec</a>() function. When the user closes the dialog, exec() will
+provide a useful <a href="#return">return value</a>. Typically we
+connect a default button, e.g. "OK", to the <a href="#accept">accept</a>() slot and a
+"Cancel" button to the <a href="#reject">reject</a>() slot, to get the dialog to close
+and return the appropriate value. Alternatively you can connect to
+the <a href="#done">done</a>() slot, passing it <a href="#DialogCode-enum">Accepted</a> or <a href="#DialogCode-enum">Rejected</a>.
+<p> An alternative is to call <a href="#setModal">setModal</a>(TRUE), then <a href="#show">show</a>(). Unlike
+exec(), show() returns control to the caller immediately. Calling
+setModal(TRUE) is especially useful for progress dialogs, where
+the user must have the ability to interact with the dialog, e.g.
+to cancel a long running operation. If you use show() and
+setModal(TRUE) together you must call
+<a href="qapplication.html#processEvents">QApplication::processEvents</a>() periodically during processing to
+enable the user to interact with the dialog. (See <a href="qprogressdialog.html">QProgressDialog</a>.)
+<p> <a name="modeless"></a>
+<h3> Modeless Dialogs
+</h3>
+<a name="1-1"></a><p> A <b>modeless</b> dialog is a dialog that operates
+independently of other windows in the same application. Find and
+replace dialogs in word-processors are often modeless to allow the
+user to interact with both the application's main window and with
+the dialog.
+<p> Modeless dialogs are displayed using show(), which returns control
+to the caller immediately.
+<p> <a name="default"></a>
+<h3> Default button
+</h3>
+<a name="1-2"></a><p> A dialog's <em>default</em> button is the button that's pressed when the
+user presses Enter (Return). This button is used to signify that
+the user accepts the dialog's settings and wants to close the
+dialog. Use <a href="qpushbutton.html#setDefault">QPushButton::setDefault</a>(), <a href="qpushbutton.html#isDefault">QPushButton::isDefault</a>()
+and <a href="qpushbutton.html#autoDefault">QPushButton::autoDefault</a>() to set and control the dialog's
+default button.
+<p> <a name="escapekey"></a>
+<h3> Escape Key
+</h3>
+<a name="1-3"></a><p> If the user presses the Esc key in a dialog, <a href="#reject">QDialog::reject</a>()
+will be called. This will cause the window to close: the <a href="qcloseevent.html">closeEvent</a> cannot be <a href="qcloseevent.html#ignore">ignored</a>.
+<p> <a name="extensibility"></a>
+<h3> Extensibility
+</h3>
+<a name="1-4"></a><p> Extensibility is the ability to show the dialog in two ways: a
+partial dialog that shows the most commonly used options, and a
+full dialog that shows all the options. Typically an extensible
+dialog will initially appear as a partial dialog, but with a
+"More" toggle button. If the user presses the "More" button down,
+the full dialog will appear. The extension widget will be resized
+to its <a href="qwidget.html#sizeHint">sizeHint</a>(). If orientation is <a href="qt.html#Orientation-enum">Horizontal</a> the extension
+widget's <a href="qwidget.html#height">height</a>() will be expanded to the height() of the dialog.
+If the orientation is <a href="qt.html#Orientation-enum">Vertical</a> the extension widget's <a href="qwidget.html#width">width</a>()
+will be expanded to the width() of the dialog. Extensibility is
+controlled with <a href="#setExtension">setExtension</a>(), <a href="#setOrientation">setOrientation</a>() and
+<a href="#showExtension">showExtension</a>().
+<p> <a name="return"></a>
+<h3> Return value (modal dialogs)
+</h3>
+<a name="1-5"></a><p> Modal dialogs are often used in situations where a return value is
+required, e.g. to indicate whether the user pressed "OK" or
+"Cancel". A dialog can be closed by calling the <a href="#accept">accept</a>() or the
+<a href="#reject">reject</a>() slots, and <a href="#exec">exec</a>() will return <a href="#DialogCode-enum">Accepted</a> or <a href="#DialogCode-enum">Rejected</a>
+as appropriate. The exec() call returns the result of the dialog.
+The result is also available from <a href="#result">result</a>() if the dialog has not
+been destroyed. If the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> flag is set, the
+dialog is deleted after exec() returns.
+<p> <a name="examples"></a>
+<h3> Examples
+</h3>
+<a name="1-6"></a><p> A modal dialog.
+<p>
+
+<pre> <a href="qfiledialog.html">QFileDialog</a> *dlg = new <a href="qfiledialog.html">QFileDialog</a>( workingDirectory,
+ <a href="qstring.html#QString-null">QString::null</a>, 0, 0, TRUE );
+ <a name="x2130"></a> dlg-&gt;<a href="qwidget.html#setCaption">setCaption</a>( QFileDialog::<a href="qobject.html#tr">tr</a>( "Open" ) );
+ <a name="x2128"></a> dlg-&gt;<a href="qfiledialog.html#setMode">setMode</a>( QFileDialog::ExistingFile );
+ <a href="qstring.html">QString</a> result;
+ <a name="x2126"></a> if ( dlg-&gt;<a href="#exec">exec</a>() == QDialog::<a href="#DialogCode-enum">Accepted</a> ) {
+ <a name="x2127"></a> result = dlg-&gt;<a href="qfiledialog.html#selectedFile">selectedFile</a>();
+ <a name="x2129"></a> workingDirectory = dlg-&gt;<a href="qfiledialog.html#url">url</a>();
+ }
+ delete dlg;
+ return result;
+</pre>
+<p> A modeless dialog. After the <a href="#show">show</a>() call, control returns to the main
+event loop.
+
+
+<pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+</pre><pre> int scale = 10;
+</pre><pre> LifeDialog *life = new LifeDialog( scale );
+ <a name="x2133"></a> a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( life );
+ <a name="x2134"></a> life-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Life");
+ <a name="x2135"></a> life-&gt;<a href="qwidget.html#show">show</a>();
+</pre><pre> <a name="x2132"></a> return a.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p> <p>See also <a href="qtabdialog.html">QTabDialog</a>, <a href="qwidget.html">QWidget</a>, <a href="qprogressdialog.html">QProgressDialog</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Dialogs, Standard</a>, <a href="abstractwidgets.html">Abstract Widget Classes</a>, and <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DialogCode-enum"></a>QDialog::DialogCode</h3>
+<p> The value returned by a modal dialog.
+<ul>
+<li><tt>QDialog::Accepted</tt>
+<li><tt>QDialog::Rejected</tt>
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>explicit <a name="QDialog"></a>QDialog::QDialog ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a dialog called <em>name</em>, with parent <em>parent</em>.
+<p> A dialog is always a top-level widget, but if it has a parent, its
+default location is centered on top of the parent. It will also
+share the parent's taskbar entry.
+<p> The widget flags <em>f</em> are passed on to the <a href="qwidget.html">QWidget</a> constructor.
+If, for example, you don't want a What's This button in the titlebar
+of the dialog, pass WStyle_Customize | WStyle_NormalBorder |
+WStyle_Title | WStyle_SysMenu in <em>f</em>.
+<p> <b>Warning:</b> In Qt 3.2, the <em>modal</em> flag is obsolete. There is now a
+<a href="#setModal">setModal</a>() function that can be used for obtaining a modal behavior
+when calling <a href="#show">show</a>(). This is rarely needed, because modal dialogs
+are usually invoked using <a href="#exec">exec</a>(), which ignores the <em>modal</em> flag.
+<p> <p>See also <a href="qwidget.html#setWFlags">QWidget::setWFlags</a>() and <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+
+<h3 class=fn><a name="~QDialog"></a>QDialog::~QDialog ()
+</h3>
+Destroys the QDialog, deleting all its children.
+
+<h3 class=fn>void <a name="accept"></a>QDialog::accept ()<tt> [virtual protected slot]</tt>
+</h3>
+Hides the modal dialog and sets the result code to <a href="#DialogCode-enum">Accepted</a>.
+<p> <p>See also <a href="#reject">reject</a>() and <a href="#done">done</a>().
+
+<p>Examples: <a href="tutorial2-08.html#x2604">chart/setdataform.cpp</a> and <a href="distributor-example.html#x2654">distributor/distributor.ui.h</a>.
+<h3 class=fn>void <a name="done"></a>QDialog::done ( int&nbsp;r )<tt> [virtual protected slot]</tt>
+</h3> Closes the dialog and sets its result code to <em>r</em>. If this dialog
+is shown with <a href="#exec">exec</a>(), <a href="#done">done</a>() causes the local event loop to finish,
+and exec() to return <em>r</em>.
+<p> As with <a href="qwidget.html#close">QWidget::close</a>(), done() deletes the dialog if the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> flag is set. If the dialog is the application's
+main widget, the application terminates. If the dialog is the
+last window closed, the <a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>() signal is
+emitted.
+<p> <p>See also <a href="#accept">accept</a>(), <a href="#reject">reject</a>(), <a href="qapplication.html#mainWidget">QApplication::mainWidget</a>(), and <a href="qapplication.html#quit">QApplication::quit</a>().
+
+<h3 class=fn>int <a name="exec"></a>QDialog::exec ()<tt> [slot]</tt>
+</h3>
+Shows the dialog as a <a href="#modal">modal</a> dialog,
+blocking until the user closes it. The function returns a <a href="#DialogCode-enum">DialogCode</a> result.
+<p> Users cannot interact with any other window in the same
+application until they close the dialog.
+<p> <p>See also <a href="#show">show</a>() and <a href="#result">result</a>().
+
+<p>Examples: <a href="canvas-chart-example.html#x2877">chart/chartform.cpp</a>, <a href="motif-dialog-example.html#x2706">dialog/mainwindow.cpp</a>, <a href="i18n-example.html#x1936">i18n/main.cpp</a>, <a href="ftpclient-example.html#x739">network/ftpclient/ftpmainwindow.ui.h</a>, <a href="qdialog.html#x2126">network/networkprotocol/view.cpp</a>, <a href="qdir-example.html#x1812">qdir/qdir.cpp</a>, and <a href="wizard-example.html#x16">wizard/main.cpp</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="extension"></a>QDialog::extension () const
+</h3>
+Returns the dialog's extension or 0 if no extension has been
+defined.
+<p> <p>See also <a href="#setExtension">setExtension</a>().
+
+<h3 class=fn>bool <a name="isModal"></a>QDialog::isModal () const
+</h3><p>Returns TRUE if <a href="#show">show</a>() should pop up the dialog as modal or modeless; otherwise returns FALSE.
+See the <a href="qdialog.html#modal-prop">"modal"</a> property for details.
+<h3 class=fn>bool <a name="isSizeGripEnabled"></a>QDialog::isSizeGripEnabled () const
+</h3><p>Returns TRUE if the size grip is enabled; otherwise returns FALSE.
+See the <a href="qdialog.html#sizeGripEnabled-prop">"sizeGripEnabled"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QDialog::orientation () const
+</h3>
+Returns the dialog's extension orientation.
+<p> <p>See also <a href="#setOrientation">setOrientation</a>().
+
+<h3 class=fn>void <a name="reject"></a>QDialog::reject ()<tt> [virtual protected slot]</tt>
+</h3>
+Hides the modal dialog and sets the result code to <a href="#DialogCode-enum">Rejected</a>.
+<p> <p>See also <a href="#accept">accept</a>() and <a href="#done">done</a>().
+
+<h3 class=fn>int <a name="result"></a>QDialog::result () const
+</h3>
+
+<p> Returns the modal dialog's result code, <a href="#DialogCode-enum">Accepted</a> or <a href="#DialogCode-enum">Rejected</a>.
+<p> Do not call this function if the dialog was constructed with the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> flag.
+
+<h3 class=fn>void <a name="setExtension"></a>QDialog::setExtension ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;extension )
+</h3>
+Sets the widget, <em>extension</em>, to be the dialog's extension,
+deleting any previous extension. The dialog takes ownership of the
+extension. Note that if 0 is passed any existing extension will be
+deleted.
+<p> This function must only be called while the dialog is hidden.
+<p> <p>See also <a href="#showExtension">showExtension</a>(), <a href="#setOrientation">setOrientation</a>(), and <a href="#extension">extension</a>().
+
+<h3 class=fn>void <a name="setModal"></a>QDialog::setModal ( bool&nbsp;modal )
+</h3><p>Sets whether <a href="#show">show</a>() should pop up the dialog as modal or modeless to <em>modal</em>.
+See the <a href="qdialog.html#modal-prop">"modal"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QDialog::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation )
+</h3>
+If <em>orientation</em> is <a href="qt.html#Orientation-enum">Horizontal</a>, the extension will be displayed
+to the right of the dialog's main area. If <em>orientation</em> is <a href="qt.html#Orientation-enum">Vertical</a>, the extension will be displayed below the dialog's main
+area.
+<p> <p>See also <a href="#orientation">orientation</a>() and <a href="#setExtension">setExtension</a>().
+
+<h3 class=fn>void <a name="setResult"></a>QDialog::setResult ( int&nbsp;i )<tt> [protected]</tt>
+</h3>
+
+<p> Sets the modal dialog's result code to <em>i</em>.
+
+<h3 class=fn>void <a name="setSizeGripEnabled"></a>QDialog::setSizeGripEnabled ( bool )
+</h3><p>Sets whether the size grip is enabled.
+See the <a href="qdialog.html#sizeGripEnabled-prop">"sizeGripEnabled"</a> property for details.
+<h3 class=fn>void <a name="show"></a>QDialog::show ()<tt> [virtual]</tt>
+</h3>
+Shows the dialog as a <a href="#modeless">modeless</a> dialog.
+Control returns immediately to the calling code.
+<p> The dialog will be modal or modeless according to the value
+of the <a href="#modal-prop">modal</a> property.
+<p> <p>See also <a href="#exec">exec</a>() and <a href="#modal-prop">modal</a>.
+
+<p>Examples: <a href="movies-example.html#x494">movies/main.cpp</a>, <a href="regexptester-example.html#x2511">regexptester/main.cpp</a>, <a href="showimg-example.html#x1317">showimg/showimg.cpp</a>, and <a href="sql.html#x2220">sql/overview/form1/main.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#show">QWidget</a>.
+<h3 class=fn>void <a name="showExtension"></a>QDialog::showExtension ( bool&nbsp;showIt )<tt> [protected slot]</tt>
+</h3>
+If <em>showIt</em> is TRUE, the dialog's extension is shown; otherwise the
+extension is hidden.
+<p> This slot is usually connected to the <a href="qbutton.html#toggled">QButton::toggled</a>() signal
+of a <a href="qpushbutton.html">QPushButton</a>.
+<p> A dialog with a visible extension is not resizeable.
+<p> <p>See also <a href="#show">show</a>(), <a href="#setExtension">setExtension</a>(), and <a href="#setOrientation">setOrientation</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="modal-prop"></a>modal</h3> <p>This property holds whether <a href="#show">show</a>() should pop up the dialog as modal or modeless.
+<p>By default, this property is false and show() pops up the dialog as
+modeless.
+<p> <a href="#exec">exec</a>() ignores the value of this property and always pops up the
+dialog as modal.
+<p> <p>See also <a href="#show">show</a>() and <a href="#exec">exec</a>().
+
+<p>Set this property's value with <a href="#setModal">setModal</a>() and get this property's value with <a href="#isModal">isModal</a>().
+<h3 class=fn>bool <a name="sizeGripEnabled-prop"></a>sizeGripEnabled</h3>
+<p>This property holds whether the size grip is enabled.
+<p>A <a href="qsizegrip.html">QSizeGrip</a> is placed in the bottom right corner of the dialog when this
+property is enabled. By default, the size grip is disabled.
+
+<p>Set this property's value with <a href="#setSizeGripEnabled">setSizeGripEnabled</a>() and get this property's value with <a href="#isSizeGripEnabled">isSizeGripEnabled</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdict-h.html b/doc/html/qdict-h.html
new file mode 100644
index 0000000..9e6e4ed
--- /dev/null
+++ b/doc/html/qdict-h.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdict.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdict.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdict.h</h1>
+
+<p>This is the verbatim text of the qdict.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdict.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDict template class
+**
+** Created : 920821
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDICT_H
+#define QDICT_H
+
+#ifndef QT_H
+#include "qgdict.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QDict
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGDict
+#endif
+{
+public:
+ QDict( int size = 17, bool caseSensitive = TRUE )
+ : QGDict( size, StringKey, caseSensitive, FALSE ) { }
+ QDict( const QDict&lt;type&gt; &amp;d ) : QGDict( d ) { }
+ ~QDict() { clear(); }
+ QDict&lt;type&gt; &amp;operator=(const QDict&lt;type&gt; &amp;d)
+ { return (QDict&lt;type&gt;&amp;)QGDict::operator=(d); }
+ uint count() const { return QGDict::count(); }
+ uint size() const { return QGDict::size(); }
+ bool isEmpty() const { return QGDict::count() == 0; }
+
+ void insert( const QString &amp;k, const type *d )
+ { QGDict::look_string(k,(Item)d,1); }
+ void replace( const QString &amp;k, const type *d )
+ { QGDict::look_string(k,(Item)d,2); }
+ bool remove( const QString &amp;k ) { return QGDict::remove_string(k); }
+ type *take( const QString &amp;k ) { return (type *)QGDict::take_string(k); }
+ type *find( const QString &amp;k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_string(k,0,0); }
+ type *operator[]( const QString &amp;k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_string(k,0,0); }
+
+ void clear() { QGDict::clear(); }
+ void resize( uint n ) { QGDict::resize(n); }
+ void statistics() const { QGDict::statistics(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream &amp;, QPtrCollection::Item &amp; );
+ virtual QDataStream&amp; write( QDataStream &amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QDict&lt;void&gt;::deleteItem( Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QDict&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QDictIterator : public QGDictIterator
+{
+public:
+ QDictIterator(const QDict&lt;type&gt; &amp;d) : QGDictIterator((QGDict &amp;)d) { }
+ ~QDictIterator() {}
+ uint count() const { return dict-&gt;count(); }
+ bool isEmpty() const { return dict-&gt;count() == 0; }
+ type *toFirst() { return (type *)QGDictIterator::toFirst(); }
+ operator type *() const { return (type *)QGDictIterator::get(); }
+ type *operator*() { return (type *)QGDictIterator::get(); }
+ type *current() const { return (type *)QGDictIterator::get(); }
+ QString currentKey() const{ return QGDictIterator::getKeyString(); }
+ type *operator()() { return (type *)QGDictIterator::operator()(); }
+ type *operator++() { return (type *)QGDictIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGDictIterator::operator+=(j); }
+};
+
+#define Q_DEFINED_QDICT
+#include "qwinexport.h"
+#endif // QDICT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdict-members.html b/doc/html/qdict-members.html
new file mode 100644
index 0000000..640736e
--- /dev/null
+++ b/doc/html/qdict-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdict.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDict Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDict</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdict.html">QDict</a>, including inherited members.
+
+<ul>
+<li><a href="qdict.html#QDict">QDict</a>()
+<li><a href="qdict.html#~QDict">~QDict</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qdict.html#clear">clear</a>()
+<li><a href="qdict.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qdict.html#find">find</a>()
+<li><a href="qdict.html#insert">insert</a>()
+<li><a href="qdict.html#isEmpty">isEmpty</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qdict.html#operator-eq">operator=</a>()
+<li><a href="qdict.html#operator[]">operator[]</a>()
+<li><a href="qdict.html#read">read</a>()
+<li><a href="qdict.html#remove">remove</a>()
+<li><a href="qdict.html#replace">replace</a>()
+<li><a href="qdict.html#resize">resize</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qdict.html#size">size</a>()
+<li><a href="qdict.html#statistics">statistics</a>()
+<li><a href="qdict.html#take">take</a>()
+<li><a href="qdict.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdict.html b/doc/html/qdict.html
new file mode 100644
index 0000000..04c3047
--- /dev/null
+++ b/doc/html/qdict.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qdict.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDict Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDict Class Reference</h1>
+
+<p>The QDict class is a template class that provides a
+dictionary based on QString keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdict-h.html">qdict.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qdict-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDict"><b>QDict</b></a> ( int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE )</li>
+<li class=fn><a href="#QDict-2"><b>QDict</b></a> ( const&nbsp;QDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QDict"><b>~QDict</b></a> ()</li>
+<li class=fn>QDict&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#replace"><b>replace</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( uint&nbsp;newsize )</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDict class is a template class that provides a
+dictionary based on <a href="qstring.html">QString</a> keys.
+<p>
+
+
+<p>
+<p> <a href="qmap.html">QMap</a> is an STL-compatible alternative to this class.
+<p> QDict is implemented as a template class. Define a template
+instance QDict&lt;X&gt; to create a dictionary that operates on
+pointers to X (X *).
+<p> A dictionary is a collection of key-value pairs. The key is a
+QString used for insertion, removal and lookup. The value is a
+pointer. Dictionaries provide very fast insertion and lookup.
+<p> If you want to use non-Unicode, plain 8-bit <tt>char*</tt> keys, use the
+<a href="qasciidict.html">QAsciiDict</a> template. A QDict has the same performance as a
+QAsciiDict. If you want to have a dictionary that maps QStrings to
+QStrings use QMap.
+<p> The <a href="#size">size</a>() of the dictionary is very important. In order to get
+good performance, you should use a suitably large <a href="primes.html#prime">prime</a> number.
+Suitable means equal to or larger than the maximum expected number
+of dictionary items. Size is set in the constructor but may be
+changed with <a href="#resize">resize</a>().
+<p> Items are inserted with <a href="#insert">insert</a>(); 0 pointers cannot be inserted.
+Items are removed with <a href="#remove">remove</a>(). All the items in a dictionary can
+be removed with <a href="#clear">clear</a>(). The number of items in the dictionary is
+returned by <a href="#count">count</a>(). If the dictionary contains no items <a href="#isEmpty">isEmpty</a>()
+returns TRUE. You can change an item's value with <a href="#replace">replace</a>(). Items
+are looked up with <a href="#operator[]">operator[]</a>(), or with <a href="#find">find</a>() which return a
+pointer to the value or 0 if the given key does not exist. You can
+take an item out of the dictionary with <a href="#take">take</a>().
+<p> Calling <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE) for a dictionary tells it to delete
+items that are removed. The default behaviour is not to delete
+items when they are removed.
+<p> When an item is inserted, the key is converted (hashed) to an
+integer index into an internal hash array. This makes lookup very
+fast.
+<p> Items with equal keys are allowed. When inserting two items with
+the same key, only the last inserted item will be accessible (last
+in, first out) until it is removed.
+<p> The <a href="qdictiterator.html">QDictIterator</a> class can traverse the dictionary, but only in
+an arbitrary order. Multiple iterators may independently traverse
+the same dictionary.
+<p> When inserting an item into a dictionary, only the pointer is
+copied, not the item itself, i.e. a <a href="shclass.html#shallow-copy">shallow copy</a> is made. It is
+possible to make the dictionary copy all of the item's data (a
+<a href="shclass.html#deep-copy">deep copy</a>) when an item is inserted. <a href="#insert">insert</a>() calls the virtual
+function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item to be inserted.
+Inherit a dictionary and reimplement <a href="qptrcollection.html#newItem">newItem</a>() if you want deep
+copies.
+<p> When removing a dictionary item, the virtual function
+<a href="qptrcollection.html#deleteItem">QPtrCollection::deleteItem</a>() is called. QDict's default
+implementation is to delete the item if auto-deletion is enabled.
+<p> Example #1:
+<pre>
+ QDict&lt;QLineEdit&gt; fields; // QString keys, QLineEdit* values
+ fields.<a href="#insert">insert</a>( "forename", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="#insert">insert</a>( "surname", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields["forename"]-&gt;setText( "Homer" );
+ fields["surname"]-&gt;setText( "Simpson" );
+
+ <a href="qdictiterator.html">QDictIterator</a>&lt;QLineEdit&gt; it( fields ); // See QDictIterator
+ for( ; it.<a href="qdictiterator.html#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="qdictiterator.html#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="qdictiterator.html#current">current</a>()-&gt;text() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ if ( fields["forename"] &amp;&amp; fields["surname"] )
+ cout &lt;&lt; fields["forename"]-&gt;text() &lt;&lt; " "
+ &lt;&lt; fields["surname"]-&gt;text() &lt;&lt; endl; // Prints "Homer Simpson"
+
+ fields.<a href="#remove">remove</a>( "forename" ); // Does not delete the line edit
+ if ( ! fields["forename"] )
+ cout &lt;&lt; "forename is not in the dictionary" &lt;&lt; endl;
+ </pre>
+
+In this example we use a dictionary to keep track of the line
+edits we're using. We insert each line edit into the dictionary
+with a unique name and then access the line edits via the
+dictionary.
+<p> Example #2:
+<pre>
+ <a href="qstringlist.html">QStringList</a> styleList = QStyleFactory::styles();
+ styleList.<a href="qstringlist.html#sort">sort</a>();
+ QDict&lt;int&gt; letterDict( 17, FALSE );
+ for ( QStringList::Iterator it = styleList.<a href="qvaluelist.html#begin">begin</a>(); it != styleList.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ <a href="qstring.html">QString</a> styleName = *it;
+ <a href="qstring.html">QString</a> styleAccel = styleName;
+ if ( letterDict[styleAccel.<a href="qstring.html#left">left</a>(1)] ) {
+ for ( uint i = 0; i &lt; styleAccel.<a href="qstring.html#length">length</a>(); i++ ) {
+ if ( ! letterDict[styleAccel.<a href="qstring.html#mid">mid</a>( i, 1 )] ) {
+ styleAccel = styleAccel.<a href="qstring.html#insert">insert</a>( i, '&amp;' );
+ letterDict.<a href="#insert">insert</a>(styleAccel.<a href="qstring.html#mid">mid</a>( i, 1 ), (const int *)1);
+ break;
+ }
+ }
+ } else {
+ styleAccel = "&amp;" + styleAccel;
+ letterDict.<a href="#insert">insert</a>(styleAccel.<a href="qstring.html#left">left</a>(1), (const int *)1);
+ }
+ (void) new <a href="qaction.html">QAction</a>( styleName, QIconSet(), styleAccel, parent );
+ }
+ </pre>
+
+In the example we are using the dictionary to provide fast random
+access to the keys, and we don't care what the values are. The
+example is used to generate a menu of QStyles, each with a unique
+accelerator key (or no accelerator if there are no unused letters
+left).
+<p> We first obtain the list of available styles, then sort them so
+that the menu items will be ordered alphabetically. Next we create
+a dictionary of int pointers. The keys in the dictionary are each
+one character long, representing letters that have been used for
+accelerators. We iterate through our list of style names. If the
+first letter of the style name is in the dictionary, i.e. has been
+used, we iterate over all the characters in the style name to see
+if we can find a letter that hasn't been used. If we find an
+unused letter we put the accelerator ampersand (&) in front of it
+and add that letter to the dictionary. If we can't find an unused
+letter the style will simply have no accelerator. If the first
+letter of the style name is not in the dictionary we use it for
+the accelerator and add it to the dictionary. Finally we create a
+<a href="qaction.html">QAction</a> for each style.
+<p> <p>See also <a href="qdictiterator.html">QDictIterator</a>, <a href="qasciidict.html">QAsciiDict</a>, <a href="qintdict.html">QIntDict</a>, <a href="qptrdict.html">QPtrDict</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDict"></a>QDict::QDict ( int&nbsp;size = 17, bool&nbsp;caseSensitive = TRUE )
+</h3>
+
+<p> Constructs a dictionary optimized for less than <em>size</em> entries.
+<p> We recommend setting <em>size</em> to a suitably large <a href="primes.html#prime">prime</a> number
+(e.g. a prime that's slightly larger than the expected number of
+entries). This makes the hash distribution better which will lead
+to faster lookup.
+<p> If <em>caseSensitive</em> is TRUE (the default), keys which differ only
+by case are considered different.
+
+<h3 class=fn><a name="QDict-2"></a>QDict::QDict ( const&nbsp;<a href="qdict.html">QDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs a copy of <em>dict</em>.
+<p> Each item in <em>dict</em> is inserted into this dictionary. Only the
+pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QDict"></a>QDict::~QDict ()
+</h3>
+
+<p> Removes all items from the dictionary and destroys it. If
+<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>() is TRUE, each value is deleted. All iterators that
+access this dictionary will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QDict::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the dictionary.
+<p> The removed items are deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that operate on the dictionary are reset.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#take">take</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QDict::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the dictionary.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QDict::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+
+<p> Returns the item with key <em>key</em>, or 0 if the key does not exist
+in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to the [] operator.
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<h3 class=fn>void <a name="insert"></a>QDict::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the key <em>key</em> with value <em>item</em> into the dictionary.
+<p> Multiple items can have the same key, in which case only the last
+item will be accessible using <a href="#operator[]">operator[]</a>().
+<p> <em>item</em> may not be 0.
+<p> <p>See also <a href="#replace">replace</a>().
+
+<p>Example: <a href="themes-example.html#x326">themes/themes.cpp</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QDict::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty, i.e. <a href="#count">count</a>() == 0;
+otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qdict.html">QDict</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QDict::operator= ( const&nbsp;<a href="qdict.html">QDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Assigns <em>dict</em> to this dictionary and returns a reference to this
+dictionary.
+<p> This dictionary is first cleared, then each item in <em>dict</em> is
+inserted into this dictionary. Only the pointers are copied
+(shallow copy), unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented.
+
+<h3 class=fn>type * <a name="operator[]"></a>QDict::operator[] ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+
+<p> Returns the item with key <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to the <a href="#find">find</a>() function.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QDict::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a dictionary item from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QDict::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )
+</h3>
+
+<p> Removes the item with <em>key</em> from the dictionary. Returns TRUE if
+successful, i.e. if the item is in the dictionary; otherwise
+returns FALSE.
+<p> If there are two or more items with equal keys, then the last item
+that was inserted will be removed.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that refer to the removed item will be
+set to point to the next item in the dictionary's traversal order.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="replace"></a>QDict::replace ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Replaces the value of the key, <em>key</em> with <em>item</em>.
+<p> If the item does not already exist, it will be inserted.
+<p> <em>item</em> may not be 0.
+<p> Equivalent to:
+<pre>
+ QDict&lt;char&gt; dict;
+ ...
+ if ( dict.<a href="#find">find</a>( key ) )
+ dict.<a href="#remove">remove</a>( key );
+ dict.<a href="#insert">insert</a>( key, item );
+ </pre>
+
+<p> If there are two or more items with equal keys, then the last item
+that was inserted will be replaced.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="resize"></a>QDict::resize ( uint&nbsp;newsize )
+</h3>
+
+<p> Changes the size of the hash table to <em>newsize</em>. The contents of
+the dictionary are preserved, but all iterators on the dictionary
+become invalid.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QDict::size () const
+</h3>
+
+<p> Returns the size of the internal hash array (as specified in the
+constructor).
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="statistics"></a>QDict::statistics () const
+</h3>
+
+<p> Debugging-only function that prints out the dictionary
+distribution using <a href="qapplication.html#qDebug">qDebug</a>().
+
+<h3 class=fn>type * <a name="take"></a>QDict::take ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )
+</h3>
+
+<p> Takes the item with <em>key</em> out of the dictionary without deleting
+it (even if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+<p> If there are two or more items with equal keys, then the last item
+that was inserted will be taken.
+<p> Returns a pointer to the item taken out, or 0 if the key does not
+exist in the dictionary.
+<p> All dictionary iterators that refer to the taken item will be set
+to point to the next item in the dictionary traversal order.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QDict::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a dictionary item to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdictiterator-members.html b/doc/html/qdictiterator-members.html
new file mode 100644
index 0000000..f04f2e4
--- /dev/null
+++ b/doc/html/qdictiterator-members.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdict.h:101 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDictIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDictIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdictiterator.html">QDictIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qdictiterator.html#QDictIterator">QDictIterator</a>()
+<li><a href="qdictiterator.html#~QDictIterator">~QDictIterator</a>()
+<li><a href="qdictiterator.html#count">count</a>()
+<li><a href="qdictiterator.html#current">current</a>()
+<li><a href="qdictiterator.html#currentKey">currentKey</a>()
+<li><a href="qdictiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qdictiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qdictiterator.html#operator()">operator()</a>()
+<li><a href="qdictiterator.html#operator++">operator++</a>()
+<li><a href="qdictiterator.html#toFirst">toFirst</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdictiterator.html b/doc/html/qdictiterator.html
new file mode 100644
index 0000000..f7ed1af
--- /dev/null
+++ b/doc/html/qdictiterator.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qdict.doc:410 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDictIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDictIterator Class Reference</h1>
+
+<p>The QDictIterator class provides an iterator for QDict collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdict-h.html">qdict.h</a>&gt;</tt>
+<p><a href="qdictiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDictIterator"><b>QDictIterator</b></a> ( const&nbsp;QDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QDictIterator"><b>~QDictIterator</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>QString <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDictIterator class provides an iterator for <a href="qdict.html">QDict</a> collections.
+<p>
+
+<p> QDictIterator is implemented as a template class. Define a
+template instance QDictIterator&lt;X&gt; to create a dictionary
+iterator that operates on QDict&lt;X&gt; (dictionary of X*).
+<p> The traversal order is arbitrary; when we speak of the "first",
+"last" and "next" item we are talking in terms of this arbitrary
+order.
+<p> Multiple iterators may independently traverse the same dictionary.
+A QDict knows about all the iterators that are operating on the
+dictionary. When an item is removed from the dictionary, QDict
+updates all iterators that are referring to the removed item to
+point to the next item in the (arbitrary) traversal order.
+<p> Example:
+<pre>
+ <a href="qdict.html">QDict</a>&lt;QLineEdit&gt; fields;
+ fields.<a href="qdict.html#insert">insert</a>( "forename", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="qdict.html#insert">insert</a>( "surname", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+ fields.<a href="qdict.html#insert">insert</a>( "age", new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields["forename"]-&gt;setText( "Homer" );
+ fields["surname"]-&gt;setText( "Simpson" );
+ fields["age"]-&gt;setText( "45" );
+
+ QDictIterator&lt;QLineEdit&gt; it( fields );
+ for( ; it.<a href="#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="#current">current</a>()-&gt;text() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ // Output (random order):
+ // age: 45
+ // surname: Simpson
+ // forename: Homer
+ </pre>
+
+In the example we insert some pointers to line edits into a
+dictionary, then iterate over the dictionary printing the strings
+associated with the line edits.
+<p> <p>See also <a href="qdict.html">QDict</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDictIterator"></a>QDictIterator::QDictIterator ( const&nbsp;<a href="qdict.html">QDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs an iterator for <em>dict</em>. The current iterator item is
+set to point to the first item in the dictionary, <em>dict</em>. First
+in this context means first in the arbitrary traversal order.
+
+<h3 class=fn><a name="~QDictIterator"></a>QDictIterator::~QDictIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn>uint <a name="count"></a>QDictIterator::count () const
+</h3>
+
+<p> Returns the number of items in the dictionary over which the
+iterator is operating.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QDictIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item's value.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentKey"></a>QDictIterator::currentKey () const
+</h3>
+
+<p> Returns the current iterator item's key.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QDictIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty, i.e. <a href="#count">count</a>() == 0;
+otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QDictIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QDictIterator::operator() ()
+</h3>
+
+<p> Makes the next item current and returns the original current item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QDictIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the next item current and returns the new current
+item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="toFirst"></a>QDictIterator::toFirst ()
+</h3>
+
+<p> Resets the iterator, making the first item the first current item.
+First in this context means first in the arbitrary traversal
+order. Returns a pointer to this item.
+<p> If the dictionary is empty it sets the current item to 0 and
+returns 0.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdir-example.html b/doc/html/qdir-example.html
new file mode 100644
index 0000000..70d7211
--- /dev/null
+++ b/doc/html/qdir-example.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/qdir/qdir.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDir</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDir</h1>
+
+
+<p>
+<hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/qdir.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "../dirview/dirview.h"
+#include "qdir.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qtooltip-h.html">qtooltip.h</a>&gt;
+
+#include &lt;stdlib.h&gt;
+
+/* XPM */
+static const char *bookmarks[]={
+ "22 14 8 1",
+ "# c #000080",
+ "a c #585858",
+ "b c #000000",
+ "c c #ffffff",
+ "d c #ffffff",
+ "e c #ffffff",
+ "f c #000000",
+ ". c None",
+ "...bb.................",
+ "..bacb....bbb.........",
+ "..badcb.bbccbab.......",
+ "..bacccbadccbab.......",
+ "..baecdbcccdbab.......",
+ "..bacccbacccbab.......",
+ "..badcdbcecdfab.......",
+ "..bacecbacccbab.......",
+ "..baccdbcccdbab.......",
+ "...badcbacdbbab.......",
+ "....bacbcbbccab.......",
+ ".....babbaaaaab.......",
+ ".....bbabbbbbbb.......",
+ "......bb.............."
+};
+
+/* XPM */
+static const char *home[]={
+ "16 15 4 1",
+ "# c #000000",
+ "a c #ffffff",
+ "b c #c0c0c0",
+ ". c None",
+ ".......##.......",
+ "..#...####......",
+ "..#..#aabb#.....",
+ "..#.#aaaabb#....",
+ "..##aaaaaabb#...",
+ "..#aaaaaaaabb#..",
+ ".#aaaaaaaaabbb#.",
+ "###aaaaaaaabb###",
+ "..#aaaaaaaabb#..",
+ "..#aaa###aabb#..",
+ "..#aaa#.#aabb#..",
+ "..#aaa#.#aabb#..",
+ "..#aaa#.#aabb#..",
+ "..#aaa#.#aabb#..",
+ "..#####.######.."
+};
+
+// ****************************************************************************************************
+
+<a name="f495"></a>PixmapView::PixmapView( <a href="qwidget.html">QWidget</a> *parent )
+ : <a href="qscrollview.html">QScrollView</a>( parent )
+{
+ <a href="qscrollview.html#viewport">viewport</a>()-&gt;setBackgroundMode( PaletteBase );
+}
+
+void <a name="f496"></a>PixmapView::setPixmap( const <a href="qpixmap.html">QPixmap</a> &amp;pix )
+{
+ pixmap = pix;
+<a name="x1855"></a> <a href="qscrollview.html#resizeContents">resizeContents</a>( pixmap.<a href="qwidget.html#size">size</a>().width(), pixmap.<a href="qwidget.html#size">size</a>().height() );
+ <a href="qscrollview.html#viewport">viewport</a>()-&gt;repaint( FALSE );
+}
+
+<a name="x1837"></a>void PixmapView::<a href="qscrollview.html#drawContents">drawContents</a>( <a href="qpainter.html">QPainter</a> *p, int cx, int cy, int cw, int ch )
+{
+<a name="x1833"></a> p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( cx, cy, cw, ch, colorGroup().brush( QColorGroup::Base ) );
+<a name="x1832"></a> p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( 0, 0, pixmap );
+}
+
+// ****************************************************************************************************
+
+<a name="f497"></a>Preview::Preview( <a href="qwidget.html">QWidget</a> *parent )
+ : <a href="qwidgetstack.html">QWidgetStack</a>( parent )
+{
+ normalText = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this );
+<a name="x1845"></a> normalText-&gt;<a href="qtextedit.html#setReadOnly">setReadOnly</a>( TRUE );
+ html = new <a href="qtextview.html">QTextView</a>( this );
+ pixmap = new PixmapView( this );
+ <a href="qwidgetstack.html#raiseWidget">raiseWidget</a>( normalText );
+}
+
+void <a name="f498"></a>Preview::showPreview( const <a href="qurl.html">QUrl</a> &amp;u, int size )
+{
+<a name="x1849"></a> if ( u.<a href="qurl.html#isLocalFile">isLocalFile</a>() ) {
+<a name="x1850"></a> <a href="qstring.html">QString</a> path = u.<a href="qurl.html#path">path</a>();
+ <a href="qfileinfo.html">QFileInfo</a> fi( path );
+<a name="x1825"></a><a name="x1824"></a> if ( fi.<a href="qfileinfo.html#isFile">isFile</a>() &amp;&amp; (int)fi.<a href="qfileinfo.html#size">size</a>() &gt; size * 1000 ) {
+<a name="x1846"></a> normalText-&gt;<a href="qtextedit.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>( "The File\n%1\nis too large, so I don't show it!" ).arg( path ) );
+ <a href="qwidgetstack.html#raiseWidget">raiseWidget</a>( normalText );
+ return;
+ }
+
+ <a href="qpixmap.html">QPixmap</a> pix( path );
+<a name="x1834"></a> if ( pix.<a href="qpixmap.html#isNull">isNull</a>() ) {
+ if ( fi.<a href="qfileinfo.html#isFile">isFile</a>() ) {
+ <a href="qfile.html">QFile</a> f( path );
+<a name="x1815"></a> if ( f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;f );
+<a name="x1847"></a> <a href="qstring.html">QString</a> text = ts.<a href="qtextstream.html#read">read</a>();
+<a name="x1814"></a> f.<a href="qfile.html#close">close</a>();
+<a name="x1823"></a> if ( fi.<a href="qfileinfo.html#extension">extension</a>().lower().contains( "htm" ) ) {
+<a name="x1844"></a><a name="x1843"></a> <a href="qstring.html">QString</a> url = html-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()-&gt;makeAbsolute( path, html-&gt;<a href="qtextedit.html#context">context</a>() );
+ html-&gt;<a href="qtextedit.html#setText">setText</a>( text, url );
+ raiseWidget( html );
+ return;
+ } else {
+ normalText-&gt;<a href="qtextedit.html#setText">setText</a>( text );
+ raiseWidget( normalText );
+ return;
+ }
+ }
+ }
+ normalText-&gt;<a href="qtextedit.html#setText">setText</a>( <a href="qstring.html#QString-null">QString::null</a> );
+ raiseWidget( normalText );
+ } else {
+ pixmap-&gt;setPixmap( pix );
+ raiseWidget( pixmap );
+ }
+ } else {
+ normalText-&gt;<a href="qtextedit.html#setText">setText</a>( "I only show local files!" );
+ raiseWidget( normalText );
+ }
+}
+
+// ****************************************************************************************************
+
+<a name="f499"></a>PreviewWidget::PreviewWidget( <a href="qwidget.html">QWidget</a> *parent )
+ : <a href="qvbox.html">QVBox</a>( parent ), QFilePreview()
+{
+ setSpacing( 5 );
+ setMargin( 5 );
+ <a href="qhbox.html">QHBox</a> *row = new <a href="qhbox.html">QHBox</a>( this );
+<a name="x1826"></a> row-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+ (void)new <a href="qlabel.html">QLabel</a>( <a href="qobject.html#tr">tr</a>( "Only show files smaller than: " ), row );
+ sizeSpinBox = new <a href="qspinbox.html">QSpinBox</a>( 1, 10000, 1, row );
+<a name="x1838"></a> sizeSpinBox-&gt;<a href="qspinbox.html#setSuffix">setSuffix</a>( " KB" );
+<a name="x1839"></a> sizeSpinBox-&gt;<a href="qspinbox.html#setValue">setValue</a>( 64 );
+<a name="x1852"></a><a name="x1840"></a> row-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( 10 + sizeSpinBox-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() );
+ preview = new Preview( this );
+}
+
+void <a name="f500"></a>PreviewWidget::previewUrl( const <a href="qurl.html">QUrl</a> &amp;u )
+{
+<a name="x1841"></a> preview-&gt;showPreview( u, sizeSpinBox-&gt;<a href="qspinbox.html#value">value</a>() );
+}
+
+// ****************************************************************************************************
+
+<a name="f491"></a>CustomFileDialog::CustomFileDialog()
+ : <a href="qfiledialog.html">QFileDialog</a>( 0, 0, TRUE )
+{
+ <a href="qfiledialog.html#setDir">setDir</a>( "/" );
+
+ dirView = new DirectoryView( this, 0, TRUE );
+<a name="x1827"></a> dirView-&gt;<a href="qlistview.html#addColumn">addColumn</a>( "" );
+<a name="x1828"></a> dirView-&gt;<a href="qlistview.html#header">header</a>()-&gt;hide();
+ ::Directory *root = new ::Directory( dirView, "/" );
+ root-&gt;setOpen( TRUE );
+<a name="x1853"></a> dirView-&gt;<a href="qwidget.html#setFixedWidth">setFixedWidth</a>( 150 );
+
+ <a href="qfiledialog.html#addLeftWidget">addLeftWidget</a>( dirView );
+
+ <a href="qpushbutton.html">QPushButton</a> *p = new <a href="qpushbutton.html">QPushButton</a>( this );
+<a name="x1811"></a> p-&gt;<a href="qbutton.html#setPixmap">setPixmap</a>( QPixmap( bookmarks ) );
+<a name="x1848"></a> QToolTip::<a href="qtooltip.html#add">add</a>( p, tr( "Bookmarks" ) );
+
+ bookmarkMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+<a name="x1835"></a> <a href="qobject.html#connect">connect</a>( bookmarkMenu, SIGNAL( <a href="qpopupmenu.html#activated">activated</a>( int ) ),
+ this, SLOT( bookmarkChosen( int ) ) );
+ addId = bookmarkMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qobject.html#tr">tr</a>( "Add bookmark" ) );
+ bookmarkMenu-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ <a href="qfile.html">QFile</a> f( ".bookmarks" );
+ if ( f.<a href="qfile.html#open">open</a>( IO_ReadOnly ) ) {
+ <a href="qdatastream.html">QDataStream</a> ds( &amp;f );
+ ds &gt;&gt; bookmarkList;
+ f.<a href="qfile.html#close">close</a>();
+
+ QStringList::Iterator it = bookmarkList.begin();
+ for ( ; it != bookmarkList.end(); ++it ) {
+ bookmarkMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( *it );
+ }
+ }
+
+<a name="x1836"></a> p-&gt;<a href="qpushbutton.html#setPopup">setPopup</a>( bookmarkMenu );
+
+ <a href="qfiledialog.html#addToolButton">addToolButton</a>( p, TRUE );
+
+ <a href="qobject.html#connect">connect</a>( dirView, SIGNAL( folderSelected( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( setDir2( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qfiledialog.html#dirEntered">dirEntered</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ dirView, SLOT( <a href="qfiledialog.html#setDir">setDir</a>( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ <a href="qtoolbutton.html">QToolButton</a> *b = new <a href="qtoolbutton.html">QToolButton</a>( this );
+ QToolTip::<a href="qtooltip.html#add">add</a>( b, tr( "Go Home!" ) );
+ b-&gt;<a href="qbutton.html#setPixmap">setPixmap</a>( QPixmap( home ) );
+ <a href="qobject.html#connect">connect</a>( b, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ),
+ this, SLOT( goHome() ) );
+
+ <a href="qfiledialog.html#addToolButton">addToolButton</a>( b );
+
+ <a href="qwidget.html#resize">resize</a>( <a href="qwidget.html#width">width</a>() + width() / 3, height() );
+}
+
+CustomFileDialog::~CustomFileDialog()
+{
+ if ( !bookmarkList.isEmpty() ) {
+ <a href="qfile.html">QFile</a> f( ".bookmarks" );
+ if ( f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qdatastream.html">QDataStream</a> ds( &amp;f );
+ ds &lt;&lt; bookmarkList;
+ f.<a href="qfile.html#close">close</a>();
+ }
+ }
+}
+
+void <a name="f492"></a>CustomFileDialog::setDir2( const <a href="qstring.html">QString</a> &amp;s )
+{
+ <a href="qobject.html#blockSignals">blockSignals</a>( TRUE );
+ <a href="qfiledialog.html#setDir">setDir</a>( s );
+ <a href="qobject.html#blockSignals">blockSignals</a>( FALSE );
+}
+
+<a name="x1854"></a>void CustomFileDialog::<a href="qwidget.html#showEvent">showEvent</a>( <a href="qshowevent.html">QShowEvent</a> *e )
+{
+ QFileDialog::<a href="qwidget.html#showEvent">showEvent</a>( e );
+ dirView-&gt;setDir( <a href="qfiledialog.html#dirPath">dirPath</a>() );
+}
+
+void <a name="f493"></a>CustomFileDialog::bookmarkChosen( int i )
+{
+ if ( i == addId ) {
+ bookmarkList &lt;&lt; dirPath();
+ bookmarkMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( <a href="qfiledialog.html#dirPath">dirPath</a>() );
+ } else {
+<a name="x1831"></a> <a href="qfiledialog.html#setDir">setDir</a>( bookmarkMenu-&gt;<a href="qmenudata.html#text">text</a>( i ) );
+ }
+}
+
+void <a name="f494"></a>CustomFileDialog::goHome()
+{
+ if ( getenv( "HOME" ) )
+ <a href="qfiledialog.html#setDir">setDir</a>( getenv( "HOME" ) );
+ else
+ <a href="qfiledialog.html#setDir">setDir</a>( "/" );
+}
+
+// ****************************************************************************************************
+
+int main( int argc, char ** argv )
+{
+ QFileDialog::Mode mode = QFileDialog::ExistingFile;
+ <a href="qstring.html">QString</a> start;
+ <a href="qstring.html">QString</a> filter;
+ <a href="qstring.html">QString</a> caption;
+ bool preview = FALSE;
+ bool custom = FALSE;
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ for (int i=1; i&lt;argc; i++) {
+ <a href="qstring.html">QString</a> arg = argv[i];
+ if ( arg == "-any" )
+ mode = QFileDialog::AnyFile;
+ else if ( arg == "-dir" )
+ mode = QFileDialog::Directory;
+ else if ( arg == "-default" )
+ start = argv[++i];
+ else if ( arg == "-filter" )
+ filter = argv[++i];
+ else if ( arg == "-preview" )
+ preview = TRUE;
+ else if ( arg == "-custom" )
+ custom = TRUE;
+ else if ( arg[0] == '-' ) {
+ <a href="qapplication.html#qDebug">qDebug</a>("Usage: qdir [-any | -dir | -custom] [-preview] [-default f] {-filter f} [caption ...]\n"
+ " -any Get any filename, need not exist.\n"
+ " -dir Return a directory rather than a file.\n"
+ " -custom Opens a customized QFileDialog with \n"
+ " dir browser, bookmark menu, etc.\n"
+ " -preview Show a preview widget.\n"
+ " -default f Start from directory/file f.\n"
+ " -filter f eg. '*.gif' '*.bmp'\n"
+ " caption ... Caption for dialog.\n"
+ );
+ return 1;
+ } else {
+<a name="x1842"></a> if ( !caption.<a href="qstring.html#isNull">isNull</a>() )
+ caption += ' ';
+ caption += arg;
+ }
+ }
+
+ if ( !start )
+<a name="x1813"></a> start = QDir::<a href="qdir.html#currentDirPath">currentDirPath</a>();
+
+ if ( !caption )
+ caption = mode == QFileDialog::Directory
+ ? "Choose directory..." : "Choose file...";
+
+ if ( !custom ) {
+ <a href="qfiledialog.html">QFileDialog</a> fd( QString::null, filter, 0, 0, TRUE );
+<a name="x1819"></a> fd.<a href="qfiledialog.html#setMode">setMode</a>( mode );
+ if ( preview ) {
+<a name="x1818"></a> fd.<a href="qfiledialog.html#setContentsPreviewEnabled">setContentsPreviewEnabled</a>( TRUE );
+ PreviewWidget *pw = new PreviewWidget( &amp;fd );
+<a name="x1817"></a> fd.<a href="qfiledialog.html#setContentsPreview">setContentsPreview</a>( pw, pw );
+<a name="x1822"></a> fd.<a href="qfiledialog.html#setViewMode">setViewMode</a>( QFileDialog::List );
+<a name="x1820"></a> fd.<a href="qfiledialog.html#setPreviewMode">setPreviewMode</a>( QFileDialog::Contents );
+ }
+ fd.<a href="qwidget.html#setCaption">setCaption</a>( caption );
+<a name="x1821"></a> fd.<a href="qfiledialog.html#setSelection">setSelection</a>( start );
+<a name="x1812"></a> if ( fd.<a href="qdialog.html#exec">exec</a>() == QDialog::Accepted ) {
+<a name="x1816"></a> <a href="qstring.html">QString</a> result = fd.<a href="qfiledialog.html#selectedFile">selectedFile</a>();
+ printf("%s\n", (const char*)result);
+ return 0;
+ } else {
+ return 1;
+ }
+ } else {
+ CustomFileDialog fd;
+ fd.<a href="qdialog.html#exec">exec</a>();
+ return 1;
+ }
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdir-h.html b/doc/html/qdir-h.html
new file mode 100644
index 0000000..a51e179
--- /dev/null
+++ b/doc/html/qdir-h.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdir.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdir.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdir.h</h1>
+
+<p>This is the verbatim text of the qdir.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdir.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDir class
+**
+** Created : 950427
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDIR_H
+#define QDIR_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qstrlist.h"
+#include "qfileinfo.h"
+#endif // QT_H
+
+
+#ifndef QT_NO_DIR
+typedef QPtrList&lt;QFileInfo&gt; QFileInfoList;
+typedef QPtrListIterator&lt;QFileInfo&gt; QFileInfoListIterator;
+class QStringList;
+template &lt;class T&gt; class QDeepCopy;
+
+
+class Q_EXPORT QDir
+{
+public:
+ enum FilterSpec { Dirs = 0x001,
+ Files = 0x002,
+ Drives = 0x004,
+ NoSymLinks = 0x008,
+ All = 0x007,
+ TypeMask = 0x00F,
+
+ Readable = 0x010,
+ Writable = 0x020,
+ Executable = 0x040,
+ RWEMask = 0x070,
+
+ Modified = 0x080,
+ Hidden = 0x100,
+ System = 0x200,
+ AccessMask = 0x3F0,
+
+ DefaultFilter = -1 };
+
+ enum SortSpec { Name = 0x00,
+ Time = 0x01,
+ Size = 0x02,
+ Unsorted = 0x03,
+ SortByMask = 0x03,
+
+ DirsFirst = 0x04,
+ Reversed = 0x08,
+ IgnoreCase = 0x10,
+ LocaleAware = 0x20,
+ DefaultSort = -1 };
+
+ QDir();
+ QDir( const QString &amp;path, const QString &amp;nameFilter = QString::null,
+ int sortSpec = Name | IgnoreCase, int filterSpec = All );
+ QDir( const QDir &amp; );
+
+ virtual ~QDir();
+
+ QDir &amp;operator=( const QDir &amp; );
+ QDir &amp;operator=( const QString &amp;path );
+
+ virtual void setPath( const QString &amp;path );
+ virtual QString path() const;
+ virtual QString absPath() const;
+ virtual QString canonicalPath() const;
+
+ virtual QString dirName() const;
+ virtual QString filePath( const QString &amp;fileName,
+ bool acceptAbsPath = TRUE ) const;
+ virtual QString absFilePath( const QString &amp;fileName,
+ bool acceptAbsPath = TRUE ) const;
+
+ static QString convertSeparators( const QString &amp;pathName );
+
+ virtual bool cd( const QString &amp;dirName, bool acceptAbsPath = TRUE );
+ virtual bool cdUp();
+
+ QString nameFilter() const;
+ virtual void setNameFilter( const QString &amp;nameFilter );
+ FilterSpec filter() const;
+ virtual void setFilter( int filterSpec );
+ SortSpec sorting() const;
+ virtual void setSorting( int sortSpec );
+
+ bool matchAllDirs() const;
+ virtual void setMatchAllDirs( bool );
+
+ uint count() const;
+ QString operator[]( int ) const;
+
+ virtual QStrList encodedEntryList( int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+ virtual QStrList encodedEntryList( const QString &amp;nameFilter,
+ int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+ virtual QStringList entryList( int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+ virtual QStringList entryList( const QString &amp;nameFilter,
+ int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+
+ virtual const QFileInfoList *entryInfoList( int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+ virtual const QFileInfoList *entryInfoList( const QString &amp;nameFilter,
+ int filterSpec = DefaultFilter,
+ int sortSpec = DefaultSort ) const;
+
+ static const QFileInfoList *drives();
+
+ virtual bool mkdir( const QString &amp;dirName,
+ bool acceptAbsPath = TRUE ) const;
+ virtual bool rmdir( const QString &amp;dirName,
+ bool acceptAbsPath = TRUE ) const;
+
+ virtual bool isReadable() const;
+ virtual bool exists() const;
+ virtual bool isRoot() const;
+
+ virtual bool isRelative() const;
+ virtual void convertToAbs();
+
+ virtual bool operator==( const QDir &amp; ) const;
+ virtual bool operator!=( const QDir &amp; ) const;
+
+ virtual bool remove( const QString &amp;fileName,
+ bool acceptAbsPath = TRUE );
+ virtual bool rename( const QString &amp;name, const QString &amp;newName,
+ bool acceptAbsPaths = TRUE );
+ virtual bool exists( const QString &amp;name,
+ bool acceptAbsPath = TRUE );
+
+ static char separator();
+
+ static bool setCurrent( const QString &amp;path );
+ static QDir current();
+ static QDir home();
+ static QDir root();
+ static QString currentDirPath();
+ static QString homeDirPath();
+ static QString rootDirPath();
+
+ static bool match( const QStringList &amp;filters, const QString &amp;fileName );
+ static bool match( const QString &amp;filter, const QString &amp;fileName );
+ static QString cleanDirPath( const QString &amp;dirPath );
+ static bool isRelativePath( const QString &amp;path );
+ void refresh() const;
+
+private:
+#ifdef Q_OS_MAC
+ typedef struct FSSpec FSSpec;
+ static FSSpec *make_spec(const QString &amp;);
+#endif
+ void init();
+ virtual bool readDirEntries( const QString &amp;nameFilter,
+ int FilterSpec, int SortSpec );
+
+ static void slashify( QString &amp; );
+
+ QString dPath;
+ QStringList *fList;
+ QFileInfoList *fiList;
+ QString nameFilt;
+ FilterSpec filtS;
+ SortSpec sortS;
+ uint dirty : 1;
+ uint allDirs : 1;
+
+ void detach();
+ friend class QDeepCopy&lt; QDir &gt;;
+};
+
+
+inline QString QDir::path() const
+{
+ return dPath;
+}
+
+inline QString QDir::nameFilter() const
+{
+ return nameFilt;
+}
+
+inline QDir::FilterSpec QDir::filter() const
+{
+ return filtS;
+}
+
+inline QDir::SortSpec QDir::sorting() const
+{
+ return sortS;
+}
+
+inline bool QDir::matchAllDirs() const
+{
+ return allDirs;
+}
+
+inline bool QDir::operator!=( const QDir &amp;d ) const
+{
+ return !(*this == d);
+}
+
+
+struct QDirSortItem {
+ QString filename_cache;
+ QFileInfo* item;
+};
+
+#endif // QT_NO_DIR
+#endif // QDIR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdir-members.html b/doc/html/qdir-members.html
new file mode 100644
index 0000000..4fdeefb
--- /dev/null
+++ b/doc/html/qdir-members.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdir.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDir Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDir</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdir.html">QDir</a>, including inherited members.
+
+<ul>
+<li><a href="qdir.html#QDir">QDir</a>()
+<li><a href="qdir.html#~QDir">~QDir</a>()
+<li><a href="qdir.html#absFilePath">absFilePath</a>()
+<li><a href="qdir.html#absPath">absPath</a>()
+<li><a href="qdir.html#canonicalPath">canonicalPath</a>()
+<li><a href="qdir.html#cd">cd</a>()
+<li><a href="qdir.html#cdUp">cdUp</a>()
+<li><a href="qdir.html#cleanDirPath">cleanDirPath</a>()
+<li><a href="qdir.html#convertSeparators">convertSeparators</a>()
+<li><a href="qdir.html#convertToAbs">convertToAbs</a>()
+<li><a href="qdir.html#count">count</a>()
+<li><a href="qdir.html#current">current</a>()
+<li><a href="qdir.html#currentDirPath">currentDirPath</a>()
+<li><a href="qdir.html#dirName">dirName</a>()
+<li><a href="qdir.html#drives">drives</a>()
+<li><a href="qdir.html#encodedEntryList">encodedEntryList</a>()
+<li><a href="qdir.html#entryInfoList">entryInfoList</a>()
+<li><a href="qdir.html#entryList">entryList</a>()
+<li><a href="qdir.html#exists">exists</a>()
+<li><a href="qdir.html#filePath">filePath</a>()
+<li><a href="qdir.html#filter">filter</a>()
+<li><a href="qdir.html#home">home</a>()
+<li><a href="qdir.html#homeDirPath">homeDirPath</a>()
+<li><a href="qdir.html#isReadable">isReadable</a>()
+<li><a href="qdir.html#isRelative">isRelative</a>()
+<li><a href="qdir.html#isRelativePath">isRelativePath</a>()
+<li><a href="qdir.html#isRoot">isRoot</a>()
+<li><a href="qdir.html#match">match</a>()
+<li><a href="qdir.html#matchAllDirs">matchAllDirs</a>()
+<li><a href="qdir.html#mkdir">mkdir</a>()
+<li><a href="qdir.html#nameFilter">nameFilter</a>()
+<li><a href="qdir.html#operator!-eq">operator!=</a>()
+<li><a href="qdir.html#operator-eq">operator=</a>()
+<li><a href="qdir.html#operator-eq-eq">operator==</a>()
+<li><a href="qdir.html#operator[]">operator[]</a>()
+<li><a href="qdir.html#path">path</a>()
+<li><a href="qdir.html#refresh">refresh</a>()
+<li><a href="qdir.html#remove">remove</a>()
+<li><a href="qdir.html#rename">rename</a>()
+<li><a href="qdir.html#rmdir">rmdir</a>()
+<li><a href="qdir.html#root">root</a>()
+<li><a href="qdir.html#rootDirPath">rootDirPath</a>()
+<li><a href="qdir.html#separator">separator</a>()
+<li><a href="qdir.html#setCurrent">setCurrent</a>()
+<li><a href="qdir.html#setFilter">setFilter</a>()
+<li><a href="qdir.html#setMatchAllDirs">setMatchAllDirs</a>()
+<li><a href="qdir.html#setNameFilter">setNameFilter</a>()
+<li><a href="qdir.html#setPath">setPath</a>()
+<li><a href="qdir.html#setSorting">setSorting</a>()
+<li><a href="qdir.html#sorting">sorting</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdir.html b/doc/html/qdir.html
new file mode 100644
index 0000000..c453145
--- /dev/null
+++ b/doc/html/qdir.html
@@ -0,0 +1,818 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdir.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDir Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDir Class Reference</h1>
+
+<p>The QDir class provides access to directory structures and their contents in a platform-independent way.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;</tt>
+<p><a href="qdir-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#FilterSpec-enum"><b>FilterSpec</b></a> { Dirs = 0x001, Files = 0x002, Drives = 0x004, NoSymLinks = 0x008, All = 0x007, TypeMask = 0x00F, Readable = 0x010, Writable = 0x020, Executable = 0x040, RWEMask = 0x070, Modified = 0x080, Hidden = 0x100, System = 0x200, AccessMask = 0x3F0, DefaultFilter = -1 }</li>
+<li class=fn>enum <a href="#SortSpec-enum"><b>SortSpec</b></a> { Name = 0x00, Time = 0x01, Size = 0x02, Unsorted = 0x03, SortByMask = 0x03, DirsFirst = 0x04, Reversed = 0x08, IgnoreCase = 0x10, LocaleAware = 0x20, DefaultSort = -1 }</li>
+<li class=fn><a href="#QDir"><b>QDir</b></a> ()</li>
+<li class=fn><a href="#QDir-2"><b>QDir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path, const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter = QString::null, int&nbsp;sortSpec = Name | IgnoreCase, int&nbsp;filterSpec = All )</li>
+<li class=fn><a href="#QDir-3"><b>QDir</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>virtual <a href="#~QDir"><b>~QDir</b></a> ()</li>
+<li class=fn>QDir &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QDir &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>virtual void <a href="#setPath"><b>setPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>virtual QString <a href="#path"><b>path</b></a> () const</li>
+<li class=fn>virtual QString <a href="#absPath"><b>absPath</b></a> () const</li>
+<li class=fn>virtual QString <a href="#canonicalPath"><b>canonicalPath</b></a> () const</li>
+<li class=fn>virtual QString <a href="#dirName"><b>dirName</b></a> () const</li>
+<li class=fn>virtual QString <a href="#filePath"><b>filePath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE ) const</li>
+<li class=fn>virtual QString <a href="#absFilePath"><b>absFilePath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE ) const</li>
+<li class=fn>virtual bool <a href="#cd"><b>cd</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE )</li>
+<li class=fn>virtual bool <a href="#cdUp"><b>cdUp</b></a> ()</li>
+<li class=fn>QString <a href="#nameFilter"><b>nameFilter</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNameFilter"><b>setNameFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter )</li>
+<li class=fn>FilterSpec <a href="#filter"><b>filter</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFilter"><b>setFilter</b></a> ( int&nbsp;filterSpec )</li>
+<li class=fn>SortSpec <a href="#sorting"><b>sorting</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSorting"><b>setSorting</b></a> ( int&nbsp;sortSpec )</li>
+<li class=fn>bool <a href="#matchAllDirs"><b>matchAllDirs</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMatchAllDirs"><b>setMatchAllDirs</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QString <a href="#operator[]"><b>operator[]</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>virtual QStrList encodedEntryList ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual QStrList encodedEntryList ( const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual QStringList <a href="#entryList-2"><b>entryList</b></a> ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const</li>
+<li class=fn>virtual QStringList <a href="#entryList"><b>entryList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const</li>
+<li class=fn>virtual const QFileInfoList * <a href="#entryInfoList-2"><b>entryInfoList</b></a> ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const</li>
+<li class=fn>virtual const QFileInfoList * <a href="#entryInfoList"><b>entryInfoList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const</li>
+<li class=fn>virtual bool <a href="#mkdir"><b>mkdir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE ) const</li>
+<li class=fn>virtual bool <a href="#rmdir"><b>rmdir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE ) const</li>
+<li class=fn>virtual bool <a href="#isReadable"><b>isReadable</b></a> () const</li>
+<li class=fn>virtual bool <a href="#exists-2"><b>exists</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isRoot"><b>isRoot</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isRelative"><b>isRelative</b></a> () const</li>
+<li class=fn>virtual void <a href="#convertToAbs"><b>convertToAbs</b></a> ()</li>
+<li class=fn>virtual bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>virtual bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d ) const</li>
+<li class=fn>virtual bool <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE )</li>
+<li class=fn>virtual bool <a href="#rename"><b>rename</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;oldName, const&nbsp;QString&nbsp;&amp;&nbsp;newName, bool&nbsp;acceptAbsPaths = TRUE )</li>
+<li class=fn>virtual bool <a href="#exists"><b>exists</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;acceptAbsPath = TRUE )</li>
+<li class=fn>void <a href="#refresh"><b>refresh</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#convertSeparators"><b>convertSeparators</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pathName )</li>
+<li class=fn>const QFileInfoList * <a href="#drives"><b>drives</b></a> ()</li>
+<li class=fn>char <a href="#separator"><b>separator</b></a> ()</li>
+<li class=fn>bool <a href="#setCurrent"><b>setCurrent</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>QDir <a href="#current"><b>current</b></a> ()</li>
+<li class=fn>QDir <a href="#home"><b>home</b></a> ()</li>
+<li class=fn>QDir <a href="#root"><b>root</b></a> ()</li>
+<li class=fn>QString <a href="#currentDirPath"><b>currentDirPath</b></a> ()</li>
+<li class=fn>QString <a href="#homeDirPath"><b>homeDirPath</b></a> ()</li>
+<li class=fn>QString <a href="#rootDirPath"><b>rootDirPath</b></a> ()</li>
+<li class=fn>bool <a href="#match-2"><b>match</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;filters, const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>bool <a href="#match"><b>match</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter, const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>QString <a href="#cleanDirPath"><b>cleanDirPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filePath )</li>
+<li class=fn>bool <a href="#isRelativePath"><b>isRelativePath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDir class provides access to directory structures and their contents in a platform-independent way.
+<p>
+
+<p> A QDir is used to manipulate path names, access information
+regarding paths and files, and manipulate the underlying file
+system.
+<p> A QDir can point to a file using either a relative or an absolute
+path. Absolute paths begin with the directory separator "/"
+(optionally preceded by a drive specification under Windows). If
+you always use "/" as a directory separator, Qt will translate
+your paths to conform to the underlying operating system. Relative
+file names begin with a directory name or a file name and specify
+a path relative to the current directory.
+<p> The "current" path refers to the application's working directory.
+A QDir's own path is set and retrieved with <a href="#setPath">setPath</a>() and <a href="#path">path</a>().
+<p> An example of an absolute path is the string "/tmp/quartz", a
+relative path might look like "src/fatlib". You can use the
+function <a href="#isRelative">isRelative</a>() to check if a QDir is using a relative or an
+absolute file path. Call <a href="#convertToAbs">convertToAbs</a>() to convert a relative QDir
+to an absolute one. For a simplified path use <a href="#cleanDirPath">cleanDirPath</a>(). To
+obtain a path which has no symbolic links or redundant ".."
+elements use <a href="#canonicalPath">canonicalPath</a>(). The path can be set with setPath(),
+and changed with <a href="#cd">cd</a>() and <a href="#cdUp">cdUp</a>().
+<p> QDir provides several static functions, for example, <a href="#setCurrent">setCurrent</a>()
+to set the application's working directory and <a href="#currentDirPath">currentDirPath</a>() to
+retrieve the application's working directory. Access to some
+common paths is provided with the static functions, <a href="#current">current</a>(),
+<a href="#home">home</a>() and <a href="#root">root</a>() which return QDir objects or currentDirPath(),
+<a href="#homeDirPath">homeDirPath</a>() and <a href="#rootDirPath">rootDirPath</a>() which return the path as a string.
+If you want to know about your application's path use
+<a href="qapplication.html#applicationDirPath">QApplication::applicationDirPath</a>().
+<p> The number of entries in a directory is returned by <a href="#count">count</a>().
+Obtain a string list of the names of all the files and directories
+in a directory with <a href="#entryList">entryList</a>(). If you prefer a list of <a href="qfileinfo.html">QFileInfo</a>
+pointers use <a href="#entryInfoList">entryInfoList</a>(). Both these functions can apply a
+name filter, an attributes filter (e.g. read-only, files not
+directories, etc.), and a sort order. The filters and sort may be
+set with calls to <a href="#setNameFilter">setNameFilter</a>(), <a href="#setFilter">setFilter</a>() and <a href="#setSorting">setSorting</a>().
+They may also be specified in the entryList() and
+entryInfoList()'s arguments.
+<p> Create a new directory with <a href="#mkdir">mkdir</a>(), rename a directory with
+<a href="#rename">rename</a>() and remove an existing directory with <a href="#rmdir">rmdir</a>(). Remove a
+file with <a href="#remove">remove</a>(). You can interrogate a directory with <a href="#exists">exists</a>(),
+<a href="#isReadable">isReadable</a>() and <a href="#isRoot">isRoot</a>().
+<p> To get a path with a filename use <a href="#filePath">filePath</a>(), and to get a
+directory name use <a href="#dirName">dirName</a>(); neither of these functions checks
+for the existence of the file or directory.
+<p> The list of root directories is provided by <a href="#drives">drives</a>(); on Unix
+systems this returns a list containing one root directory, "/"; on
+Windows the list will usually contain "C:/", and possibly "D:/",
+etc.
+<p> It is easiest to work with "/" separators in Qt code. If you need
+to present a path to the user or need a path in a form suitable
+for a function in the underlying operating system use
+<a href="#convertSeparators">convertSeparators</a>().
+<p> Examples:
+<p> See if a directory exists.
+<pre>
+ QDir d( "example" ); // "./example"
+ if ( !d.<a href="#exists">exists</a>() )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Cannot find the example directory" );
+ </pre>
+
+<p> Traversing directories and reading a file.
+<pre>
+ QDir d = QDir::<a href="#root">root</a>(); // "/"
+ if ( !d.<a href="#cd">cd</a>("tmp") ) { // "/tmp"
+ <a href="qapplication.html#qWarning">qWarning</a>( "Cannot find the \"/tmp\" directory" );
+ } else {
+ <a href="qfile.html">QFile</a> f( d.<a href="#filePath">filePath</a>("ex1.txt") ); // "/tmp/ex1.txt"
+ if ( !f.<a href="qfile.html#open">open</a>(IO_ReadWrite) )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Cannot create the file %s", f.<a href="qfile.html#name">name</a>() );
+ }
+ </pre>
+
+<p> A program that lists all the files in the current directory
+(excluding symbolic links), sorted by size, smallest first:
+<pre>
+ #include &lt;stdio.h&gt;
+ #include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+
+ int main( int argc, char **argv )
+ {
+ QDir d;
+ d.<a href="#setFilter">setFilter</a>( QDir::<a href="#FilterSpec-enum">Files</a> | QDir::<a href="#FilterSpec-enum">Hidden</a> | QDir::<a href="#FilterSpec-enum">NoSymLinks</a> );
+ d.<a href="#setSorting">setSorting</a>( QDir::<a href="#SortSpec-enum">Size</a> | QDir::<a href="#SortSpec-enum">Reversed</a> );
+
+ const QFileInfoList *list = d.<a href="#entryInfoList">entryInfoList</a>();
+ QFileInfoListIterator it( *list );
+ <a href="qfileinfo.html">QFileInfo</a> *fi;
+
+ printf( " Bytes Filename\n" );
+ while ( (fi = it.current()) != 0 ) {
+ printf( "%10li %s\n", fi-&gt;<a href="qfileinfo.html#size">size</a>(), fi-&gt;<a href="qfileinfo.html#fileName">fileName</a>().latin1() );
+ ++it;
+ }
+ return 0;
+ }
+ </pre>
+
+<p> <p>See also <a href="qapplication.html#applicationDirPath">QApplication::applicationDirPath</a>() and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="FilterSpec-enum"></a>QDir::FilterSpec</h3>
+
+<p> This enum describes the filtering options available to QDir, e.g.
+for <a href="#entryList">entryList</a>() and <a href="#entryInfoList">entryInfoList</a>(). The filter value is specified
+by OR-ing together values from the following list:
+<ul>
+<li><tt>QDir::Dirs</tt> - List directories only.
+<li><tt>QDir::Files</tt> - List files only.
+<li><tt>QDir::Drives</tt> - List disk drives (ignored under Unix).
+<li><tt>QDir::NoSymLinks</tt> - Do not list symbolic links (ignored by operating
+systems that don't support symbolic links).
+<li><tt>QDir::All</tt> - List directories, files, drives and symlinks (this does not list
+broken symlinks unless you specify System).
+<li><tt>QDir::TypeMask</tt> - A mask for the the Dirs, Files, Drives and
+NoSymLinks flags.
+<li><tt>QDir::Readable</tt> - List files for which the application has read access.
+<li><tt>QDir::Writable</tt> - List files for which the application has write access.
+<li><tt>QDir::Executable</tt> - List files for which the application has execute
+access. Executables needs to be combined with Dirs or Files.
+<li><tt>QDir::RWEMask</tt> - A mask for the Readable, Writable and Executable flags.
+<li><tt>QDir::Modified</tt> - Only list files that have been modified (ignored
+under Unix).
+<li><tt>QDir::Hidden</tt> - List hidden files (on Unix, files starting with a .).
+<li><tt>QDir::System</tt> - List system files (on Unix, FIFOs, sockets and
+device files)
+<li><tt>QDir::AccessMask</tt> - A mask for the Readable, Writable, Executable
+Modified, Hidden and System flags
+<li><tt>QDir::DefaultFilter</tt> - Internal flag.
+</ul><p> If you do not set any of <a href="#FilterSpec-enum">Readable</a>, <a href="#FilterSpec-enum">Writable</a> or <a href="#FilterSpec-enum">Executable</a>, QDir will set all three of them. This makes the
+default easy to write and at the same time useful.
+<p> Examples: <tt>Readable|Writable</tt> means list all files for which the
+application has read access, write access or both. <tt>Dirs|Drives</tt>
+means list drives, directories, all files that the application can
+read, write or execute, and also symlinks to such
+files/directories.
+
+<h3 class=fn><a name="SortSpec-enum"></a>QDir::SortSpec</h3>
+
+<p> This enum describes the sort options available to QDir, e.g. for
+<a href="#entryList">entryList</a>() and <a href="#entryInfoList">entryInfoList</a>(). The sort value is specified by
+OR-ing together values from the following list:
+<ul>
+<li><tt>QDir::Name</tt> - Sort by name.
+<li><tt>QDir::Time</tt> - Sort by time (modification time).
+<li><tt>QDir::Size</tt> - Sort by file size.
+<li><tt>QDir::Unsorted</tt> - Do not sort.
+<li><tt>QDir::SortByMask</tt> - A mask for Name, Time and Size.
+<li><tt>QDir::DirsFirst</tt> - Put the directories first, then the files.
+<li><tt>QDir::Reversed</tt> - Reverse the sort order.
+<li><tt>QDir::IgnoreCase</tt> - Sort case-insensitively.
+<li><tt>QDir::LocaleAware</tt> - Sort names using locale aware compares
+<li><tt>QDir::DefaultSort</tt> - Internal flag.
+</ul><p> You can only specify one of the first four.
+<p> If you specify both <a href="#SortSpec-enum">DirsFirst</a> and <a href="#SortSpec-enum">Reversed</a>, directories are
+still put first, but in reverse order; the files will be listed
+after the directories, again in reverse order.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDir"></a>QDir::QDir ()
+</h3>
+Constructs a QDir pointing to the current directory (".").
+<p> <p>See also <a href="#currentDirPath">currentDirPath</a>().
+
+<h3 class=fn><a name="QDir-2"></a>QDir::QDir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter = QString::null, int&nbsp;sortSpec = Name | IgnoreCase, int&nbsp;filterSpec = All )
+</h3>
+Constructs a QDir with path <em>path</em>, that filters its entries by
+name using <em>nameFilter</em> and by attributes using <em>filterSpec</em>. It
+also sorts the names using <em>sortSpec</em>.
+<p> The default <em>nameFilter</em> is an empty string, which excludes
+nothing; the default <em>filterSpec</em> is <a href="#FilterSpec-enum">All</a>, which also means
+exclude nothing. The default <em>sortSpec</em> is <tt>Name|IgnoreCase</tt>,
+i.e. sort by name case-insensitively.
+<p> Example that lists all the files in "/tmp":
+<pre>
+ QDir d( "/tmp" );
+ for ( int i = 0; i &lt; d.<a href="#count">count</a>(); i++ )
+ printf( "%s\n", d[i] );
+ </pre>
+
+<p> If <em>path</em> is "" or <a href="qstring.html#QString-null">QString::null</a>, QDir uses "." (the current
+directory). If <em>nameFilter</em> is "" or QString::null, QDir uses the
+name filter "*" (all files).
+<p> Note that <em>path</em> need not exist.
+<p> <p>See also <a href="#exists">exists</a>(), <a href="#setPath">setPath</a>(), <a href="#setNameFilter">setNameFilter</a>(), <a href="#setFilter">setFilter</a>(), and <a href="#setSorting">setSorting</a>().
+
+<h3 class=fn><a name="QDir-3"></a>QDir::QDir ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d )
+</h3>
+Constructs a QDir that is a copy of the directory <em>d</em>.
+<p> <p>See also <a href="#operator-eq">operator=</a>().
+
+<h3 class=fn><a name="~QDir"></a>QDir::~QDir ()<tt> [virtual]</tt>
+</h3>
+Destroys the QDir frees up its resources.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="absFilePath"></a>QDir::absFilePath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Returns the absolute path name of a file in the directory. Does <em>not</em> check if the file actually exists in the directory. Redundant
+multiple separators or "." and ".." directories in <em>fileName</em>
+will not be removed (see <a href="#cleanDirPath">cleanDirPath</a>()).
+<p> If <em>acceptAbsPath</em> is TRUE a <em>fileName</em> starting with a
+separator "/" will be returned without change. If <em>acceptAbsPath</em>
+is FALSE an absolute path will be prepended to the fileName and
+the resultant string returned.
+<p> <p>See also <a href="#filePath">filePath</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="absPath"></a>QDir::absPath () const<tt> [virtual]</tt>
+</h3>
+Returns the absolute path (a path that starts with "/" or with a
+drive specification), which may contain symbolic links, but never
+contains redundant ".", ".." or multiple separators.
+<p> <p>See also <a href="#setPath">setPath</a>(), <a href="#canonicalPath">canonicalPath</a>(), <a href="#exists">exists</a>(), <a href="#cleanDirPath">cleanDirPath</a>(), <a href="#dirName">dirName</a>(), and <a href="#absFilePath">absFilePath</a>().
+
+<p>Example: <a href="fileiconview-example.html#x810">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="canonicalPath"></a>QDir::canonicalPath () const<tt> [virtual]</tt>
+</h3>
+Returns the canonical path, i.e. a path without symbolic links or
+redundant "." or ".." elements.
+<p> On systems that do not have symbolic links this function will
+always return the same string that <a href="#absPath">absPath</a>() returns. If the
+canonical path does not exist (normally due to dangling symbolic
+links) <a href="#canonicalPath">canonicalPath</a>() returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#path">path</a>(), <a href="#absPath">absPath</a>(), <a href="#exists">exists</a>(), <a href="#cleanDirPath">cleanDirPath</a>(), <a href="#dirName">dirName</a>(), <a href="#absFilePath">absFilePath</a>(), and <a href="qstring.html#isNull">QString::isNull</a>().
+
+<h3 class=fn>bool <a name="cd"></a>QDir::cd ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE )<tt> [virtual]</tt>
+</h3>
+Changes the QDir's directory to <em>dirName</em>.
+<p> If <em>acceptAbsPath</em> is TRUE a path starting with separator "/"
+will cause the function to change to the absolute directory. If <em>acceptAbsPath</em> is FALSE any number of separators at the beginning
+of <em>dirName</em> will be removed and the function will descend into
+<em>dirName</em>.
+<p> Returns TRUE if the new directory exists and is readable;
+otherwise returns FALSE. Note that the logical <a href="#cd">cd</a>() operation is
+not performed if the new directory does not exist.
+<p> Calling cd( ".." ) is equivalent to calling <a href="#cdUp">cdUp</a>().
+<p> <p>See also <a href="#cdUp">cdUp</a>(), <a href="#isReadable">isReadable</a>(), <a href="#exists">exists</a>(), and <a href="#path">path</a>().
+
+<p>Example: <a href="fileiconview-example.html#x883">fileiconview/mainwindow.cpp</a>.
+<h3 class=fn>bool <a name="cdUp"></a>QDir::cdUp ()<tt> [virtual]</tt>
+</h3>
+Changes directory by moving one directory up from the QDir's
+current directory.
+<p> Returns TRUE if the new directory exists and is readable;
+otherwise returns FALSE. Note that the logical <a href="#cdUp">cdUp</a>() operation is
+not performed if the new directory does not exist.
+<p> <p>See also <a href="#cd">cd</a>(), <a href="#isReadable">isReadable</a>(), <a href="#exists">exists</a>(), and <a href="#path">path</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="cleanDirPath"></a>QDir::cleanDirPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filePath )<tt> [static]</tt>
+</h3>
+Removes all multiple directory separators "/" and resolves any
+"."s or ".."s found in the path, <em>filePath</em>.
+<p> Symbolic links are kept. This function does not return the
+canonical path, but rather the simplest version of the input.
+For example, "./local" becomes "local", "local/../bin" becomes
+"bin" and "/local/usr/../bin" becomes "/local/bin".
+<p> <p>See also <a href="#absPath">absPath</a>() and <a href="#canonicalPath">canonicalPath</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="convertSeparators"></a>QDir::convertSeparators ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pathName )<tt> [static]</tt>
+</h3>
+Returns <em>pathName</em> with the '/' separators converted to
+separators that are appropriate for the underlying operating
+system.
+<p> On Windows, <a href="#convertSeparators">convertSeparators</a>("c:/winnt/system32") returns
+"c:\winnt\system32".
+<p> The returned string may be the same as the argument on some
+operating systems, for example on Unix.
+
+<p>Examples: <a href="dirview-example.html#x1664">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x811">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="convertToAbs"></a>QDir::convertToAbs ()<tt> [virtual]</tt>
+</h3>
+Converts the directory path to an absolute path. If it is already
+absolute nothing is done.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn>uint <a name="count"></a>QDir::count () const
+</h3>
+Returns the total number of directories and files that were found.
+<p> Equivalent to <a href="#entryList">entryList</a>().<a href="#count">count</a>().
+<p> <p>See also <a href="#operator[]">operator[]</a>() and <a href="#entryList">entryList</a>().
+
+<h3 class=fn><a href="qdir.html">QDir</a> <a name="current"></a>QDir::current ()<tt> [static]</tt>
+</h3>
+Returns the application's current directory.
+<p> Use <a href="#path">path</a>() to access a QDir object's path.
+<p> <p>See also <a href="#currentDirPath">currentDirPath</a>() and <a href="#QDir">QDir::QDir</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentDirPath"></a>QDir::currentDirPath ()<tt> [static]</tt>
+</h3>
+Returns the absolute path of the application's current directory.
+<p> <p>See also <a href="#current">current</a>().
+
+<p>Examples: <a href="dirview-example.html#x1665">dirview/dirview.cpp</a>, <a href="helpviewer-example.html#x986">helpviewer/helpwindow.cpp</a>, and <a href="qdir-example.html#x1813">qdir/qdir.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dirName"></a>QDir::dirName () const<tt> [virtual]</tt>
+</h3>
+Returns the name of the directory; this is <em>not</em> the same as the
+path, e.g. a directory with the name "mail", might have the path
+"/var/spool/mail". If the directory has no name (e.g. it is the
+root directory) <a href="qstring.html#QString-null">QString::null</a> is returned.
+<p> No check is made to ensure that a directory with this name
+actually exists.
+<p> <p>See also <a href="#path">path</a>(), <a href="#absPath">absPath</a>(), <a href="#absFilePath">absFilePath</a>(), <a href="#exists">exists</a>(), and <a href="qstring.html#isNull">QString::isNull</a>().
+
+<h3 class=fn>const QFileInfoList * <a name="drives"></a>QDir::drives ()<tt> [static]</tt>
+</h3>
+Returns a list of the root directories on this system. On Windows
+this returns a number of <a href="qfileinfo.html">QFileInfo</a> objects containing "C:/", "D:/"
+etc. On other operating systems, it returns a list containing just
+one root directory (e.g. "/").
+<p> The returned pointer is owned by Qt. Callers should <em>not</em> delete
+or modify it.
+
+<p>Example: <a href="dirview-example.html#x1712">dirview/main.cpp</a>.
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="encodedEntryList"></a>QDir::encodedEntryList ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function is included to easy porting from Qt 1.x to Qt 2.0,
+it is the same as <a href="#entryList">entryList</a>(), but encodes the filenames as 8-bit
+strings using QFile::encodedName().
+<p> It is more efficient to use entryList().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="encodedEntryList-2"></a>QDir::encodedEntryList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function is included to easy porting from Qt 1.x to Qt 2.0,
+it is the same as <a href="#entryList">entryList</a>(), but encodes the filenames as 8-bit
+strings using QFile::encodedName().
+<p> It is more efficient to use entryList().
+
+<h3 class=fn>const QFileInfoList * <a name="entryInfoList"></a>QDir::entryInfoList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+Returns a list of <a href="qfileinfo.html">QFileInfo</a> objects for all the files and
+directories in the directory, ordered in accordance with
+<a href="#setSorting">setSorting</a>() and filtered in accordance with <a href="#setFilter">setFilter</a>() and
+<a href="#setNameFilter">setNameFilter</a>().
+<p> The filter and sorting specifications can be overridden using the
+<em>nameFilter</em>, <em>filterSpec</em> and <em>sortSpec</em> arguments.
+<p> Returns 0 if the directory is unreadable or does not exist.
+<p> The returned pointer is a const pointer to a QFileInfoList. The
+list is owned by the QDir object and will be reused on the next
+call to <a href="#entryInfoList">entryInfoList</a>() for the same QDir instance. If you want to
+keep the entries of the list after a subsequent call to this
+function you must copy them.
+<p> Note: QFileInfoList is really a <a href="qptrlist.html">QPtrList</a><QFileInfo>.
+<p> <p>See also <a href="#entryList">entryList</a>(), <a href="#setNameFilter">setNameFilter</a>(), <a href="#setSorting">setSorting</a>(), and <a href="#setFilter">setFilter</a>().
+
+<p>Examples: <a href="dirview-example.html#x1666">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x812">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>const QFileInfoList * <a name="entryInfoList-2"></a>QDir::entryInfoList ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of <a href="qfileinfo.html">QFileInfo</a> objects for all the files and
+directories in the directory, ordered in accordance with
+<a href="#setSorting">setSorting</a>() and filtered in accordance with <a href="#setFilter">setFilter</a>() and
+<a href="#setNameFilter">setNameFilter</a>().
+<p> The filter and sorting specifications can be overridden using the
+<em>filterSpec</em> and <em>sortSpec</em> arguments.
+<p> Returns 0 if the directory is unreadable or does not exist.
+<p> The returned pointer is a const pointer to a QFileInfoList. The
+list is owned by the QDir object and will be reused on the next
+call to <a href="#entryInfoList">entryInfoList</a>() for the same QDir instance. If you want to
+keep the entries of the list after a subsequent call to this
+function you must copy them.
+<p> Note: QFileInfoList is really a <a href="qptrlist.html">QPtrList</a><QFileInfo>.
+<p> <p>See also <a href="#entryList">entryList</a>(), <a href="#setNameFilter">setNameFilter</a>(), <a href="#setSorting">setSorting</a>(), and <a href="#setFilter">setFilter</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="entryList"></a>QDir::entryList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter, int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+Returns a list of the names of all the files and directories in
+the directory, ordered in accordance with <a href="#setSorting">setSorting</a>() and
+filtered in accordance with <a href="#setFilter">setFilter</a>() and <a href="#setNameFilter">setNameFilter</a>().
+<p> The filter and sorting specifications can be overridden using the
+<em>nameFilter</em>, <em>filterSpec</em> and <em>sortSpec</em> arguments.
+<p> Returns an empty list if the directory is unreadable or does not
+exist.
+<p> <p>See also <a href="#entryInfoList">entryInfoList</a>(), <a href="#setNameFilter">setNameFilter</a>(), <a href="#setSorting">setSorting</a>(), and <a href="#setFilter">setFilter</a>().
+
+<p>Example: <a href="statistics-example.html#x2780">table/statistics/statistics.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="entryList-2"></a>QDir::entryList ( int&nbsp;filterSpec = DefaultFilter, int&nbsp;sortSpec = DefaultSort ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of the names of all the files and directories in
+the directory, ordered in accordance with <a href="#setSorting">setSorting</a>() and
+filtered in accordance with <a href="#setFilter">setFilter</a>() and <a href="#setNameFilter">setNameFilter</a>().
+<p> The filter and sorting specifications can be overridden using the
+<em>filterSpec</em> and <em>sortSpec</em> arguments.
+<p> Returns an empty list if the directory is unreadable or does not
+exist.
+<p> <p>See also <a href="#entryInfoList">entryInfoList</a>(), <a href="#setNameFilter">setNameFilter</a>(), <a href="#setSorting">setSorting</a>(), and <a href="#setFilter">setFilter</a>().
+
+<h3 class=fn>bool <a name="exists"></a>QDir::exists ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;acceptAbsPath = TRUE )<tt> [virtual]</tt>
+</h3>
+Checks for the existence of the file <em>name</em>.
+<p> If <em>acceptAbsPath</em> is TRUE a path starting with separator "/"
+will check the file with the absolute path. If <em>acceptAbsPath</em> is
+FALSE any number of separators at the beginning of <em>name</em> will be
+removed and the resultant file name will be checked.
+<p> Returns TRUE if the file exists; otherwise returns FALSE.
+<p> <p>See also <a href="qfileinfo.html#exists">QFileInfo::exists</a>() and <a href="qfile.html#exists">QFile::exists</a>().
+
+<h3 class=fn>bool <a name="exists-2"></a>QDir::exists () const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the <em>directory</em> exists; otherwise returns FALSE.
+(If a file with the same name is found this function will return
+FALSE).
+<p> <p>See also <a href="qfileinfo.html#exists">QFileInfo::exists</a>() and <a href="qfile.html#exists">QFile::exists</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filePath"></a>QDir::filePath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Returns the path name of a file in the directory. Does <em>not</em>
+check if the file actually exists in the directory. If the QDir is
+relative the returned path name will also be relative. Redundant
+multiple separators or "." and ".." directories in <em>fileName</em>
+will not be removed (see <a href="#cleanDirPath">cleanDirPath</a>()).
+<p> If <em>acceptAbsPath</em> is TRUE a <em>fileName</em> starting with a
+separator "/" will be returned without change. If <em>acceptAbsPath</em>
+is FALSE an absolute path will be prepended to the fileName and
+the resultant string returned.
+<p> <p>See also <a href="#absFilePath">absFilePath</a>(), <a href="#isRelative">isRelative</a>(), and <a href="#canonicalPath">canonicalPath</a>().
+
+<h3 class=fn><a href="qdir.html#FilterSpec-enum">FilterSpec</a> <a name="filter"></a>QDir::filter () const
+</h3>
+
+<p> Returns the value set by <a href="#setFilter">setFilter</a>()
+
+<h3 class=fn><a href="qdir.html">QDir</a> <a name="home"></a>QDir::home ()<tt> [static]</tt>
+</h3>
+Returns the home directory.
+<p> Under Windows the <tt>HOME</tt> environment variable is used. If this
+does not exist the <tt>USERPROFILE</tt> environment variable is used. If
+that does not exist the path is formed by concatenating the <tt>HOMEDRIVE</tt> and <tt>HOMEPATH</tt> environment variables. If they don't
+exist the <a href="#rootDirPath">rootDirPath</a>() is used (this uses the <tt>SystemDrive</tt>
+environment variable). If none of these exist "C:&#92;" is used.
+<p> Under non-Windows operating systems the <tt>HOME</tt> environment
+variable is used if it exists, otherwise rootDirPath() is used.
+<p> <p>See also <a href="#homeDirPath">homeDirPath</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="homeDirPath"></a>QDir::homeDirPath ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the absolute path of the user's home directory.
+<p> <p>See also <a href="#home">home</a>().
+
+<h3 class=fn>bool <a name="isReadable"></a>QDir::isReadable () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the directory is readable <em>and</em> we can open files
+by name; otherwise returns FALSE.
+<p> <b>Warning:</b> A FALSE value from this function is not a guarantee that
+files in the directory are not accessible.
+<p> <p>See also <a href="qfileinfo.html#isReadable">QFileInfo::isReadable</a>().
+
+<p>Examples: <a href="dirview-example.html#x1667">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x813">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="isRelative"></a>QDir::isRelative () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the directory path is relative to the current
+directory and returns FALSE if the path is absolute (e.g. under
+UNIX a path is relative if it does not start with a "/").
+<p> <p>See also <a href="#convertToAbs">convertToAbs</a>().
+
+<h3 class=fn>bool <a name="isRelativePath"></a>QDir::isRelativePath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>path</em> is relative; returns FALSE if it is
+absolute.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn>bool <a name="isRoot"></a>QDir::isRoot () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the directory is the root directory; otherwise
+returns FALSE.
+<p> Note: If the directory is a symbolic link to the root directory
+this function returns FALSE. If you want to test for this use
+<a href="#canonicalPath">canonicalPath</a>(), e.g.
+<pre>
+ QDir d( "/tmp/root_link" );
+ d = d.<a href="#canonicalPath">canonicalPath</a>();
+ if ( d.<a href="#isRoot">isRoot</a>() )
+ <a href="qapplication.html#qWarning">qWarning</a>( "It is a root link" );
+ </pre>
+
+<p> <p>See also <a href="#root">root</a>() and <a href="#rootDirPath">rootDirPath</a>().
+
+<h3 class=fn>bool <a name="match"></a>QDir::match ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+Returns TRUE if the <em>fileName</em> matches the wildcard (glob)
+pattern <em>filter</em>; otherwise returns FALSE. The <em>filter</em> may
+contain multiple patterns separated by spaces or semicolons.
+<p> (See <a href="qregexp.html#wildcard-matching">QRegExp wildcard
+ matching.</a>)
+<p>See also <a href="qregexp.html#match">QRegExp::match</a>().
+
+<h3 class=fn>bool <a name="match-2"></a>QDir::match ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;filters, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the <em>fileName</em> matches any of the wildcard (glob)
+patterns in the list of <em>filters</em>; otherwise returns FALSE.
+<p> (See <a href="qregexp.html#wildcard-matching">QRegExp wildcard
+ matching.</a>)
+<p>See also <a href="qregexp.html#match">QRegExp::match</a>().
+
+<h3 class=fn>bool <a name="matchAllDirs"></a>QDir::matchAllDirs () const
+</h3>
+
+<p> Returns the value set by <a href="#setMatchAllDirs">setMatchAllDirs</a>()
+<p> <p>See also <a href="#setMatchAllDirs">setMatchAllDirs</a>().
+
+<h3 class=fn>bool <a name="mkdir"></a>QDir::mkdir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Creates a directory.
+<p> If <em>acceptAbsPath</em> is TRUE a path starting with a separator ('/')
+will create the absolute directory; if <em>acceptAbsPath</em> is FALSE
+any number of separators at the beginning of <em>dirName</em> will be
+removed.
+<p> Returns TRUE if successful; otherwise returns FALSE.
+<p> <p>See also <a href="#rmdir">rmdir</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nameFilter"></a>QDir::nameFilter () const
+</h3>
+
+<p> Returns the string set by <a href="#setNameFilter">setNameFilter</a>()
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDir::operator!= ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns TRUE if directory <em>d</em> and this directory have different
+paths or different sort or filter settings; otherwise returns
+FALSE.
+<p> Example:
+<pre>
+ // The current directory is "/usr/local"
+ QDir d1( "/usr/local/bin" );
+ QDir d2( "bin" );
+ if ( d1 != d2 )
+ <a href="qapplication.html#qDebug">qDebug</a>( "They differ" );
+ </pre>
+
+
+<h3 class=fn><a href="qdir.html">QDir</a>&nbsp;&amp; <a name="operator-eq"></a>QDir::operator= ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d )
+</h3>
+Makes a copy of QDir <em>d</em> and assigns it to this QDir.
+
+<h3 class=fn><a href="qdir.html">QDir</a>&nbsp;&amp; <a name="operator-eq-2"></a>QDir::operator= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the directory path to be the given <em>path</em>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDir::operator== ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if directory <em>d</em> and this directory have the same
+path and their sort and filter settings are the same; otherwise
+returns FALSE.
+<p> Example:
+<pre>
+ // The current directory is "/usr/local"
+ QDir d1( "/usr/local/bin" );
+ QDir d2( "bin" );
+ d2.<a href="#convertToAbs">convertToAbs</a>();
+ if ( d1 == d2 )
+ <a href="qapplication.html#qDebug">qDebug</a>( "They're the same" );
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="operator[]"></a>QDir::operator[] ( int&nbsp;index ) const
+</h3>
+Returns the file name at position <em>index</em> in the list of file
+names. Equivalent to <a href="#entryList">entryList</a>().at(index).
+<p> Returns a <a href="qstring.html#QString-null">QString::null</a> if the <em>index</em> is out of range or if the
+entryList() function failed.
+<p> <p>See also <a href="#count">count</a>() and <a href="#entryList">entryList</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="path"></a>QDir::path () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the path, this may contain symbolic links, but never
+contains redundant ".", ".." or multiple separators.
+<p> The returned path can be either absolute or relative (see
+<a href="#setPath">setPath</a>()).
+<p> <p>See also <a href="#setPath">setPath</a>(), <a href="#absPath">absPath</a>(), <a href="#exists">exists</a>(), <a href="#cleanDirPath">cleanDirPath</a>(), <a href="#dirName">dirName</a>(), <a href="#absFilePath">absFilePath</a>(), and <a href="#convertSeparators">convertSeparators</a>().
+
+<h3 class=fn>void <a name="refresh"></a>QDir::refresh () const
+</h3>
+Refreshes the directory information.
+
+<h3 class=fn>bool <a name="remove"></a>QDir::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, bool&nbsp;acceptAbsPath = TRUE )<tt> [virtual]</tt>
+</h3>
+Removes the file, <em>fileName</em>.
+<p> If <em>acceptAbsPath</em> is TRUE a path starting with separator "/"
+will remove the file with the absolute path. If <em>acceptAbsPath</em>
+is FALSE any number of separators at the beginning of <em>fileName</em>
+will be removed and the resultant file name will be removed.
+<p> Returns TRUE if the file is removed successfully; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="rename"></a>QDir::rename ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;oldName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newName, bool&nbsp;acceptAbsPaths = TRUE )<tt> [virtual]</tt>
+</h3>
+Renames a file or directory.
+<p> If <em>acceptAbsPaths</em> is TRUE a path starting with a separator
+('/') will rename the file with the absolute path; if <em>acceptAbsPaths</em> is FALSE any number of separators at the beginning
+of the names will be removed.
+<p> Returns TRUE if successful; otherwise returns FALSE.
+<p> On most file systems, <a href="#rename">rename</a>() fails only if <em>oldName</em> does not
+exist or if <em>newName</em> and <em>oldName</em> are not on the same
+partition. On Windows, rename() will fail if <em>newName</em> already
+exists. However, there are also other reasons why rename() can
+fail. For example, on at least one file system rename() fails if
+<em>newName</em> points to an open file.
+
+<p>Example: <a href="fileiconview-example.html#x814">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="rmdir"></a>QDir::rmdir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dirName, bool&nbsp;acceptAbsPath = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Removes a directory.
+<p> If <em>acceptAbsPath</em> is TRUE a path starting with a separator ('/')
+will remove the absolute directory; if <em>acceptAbsPath</em> is FALSE
+any number of separators at the beginning of <em>dirName</em> will be
+removed.
+<p> The directory must be empty for <a href="#rmdir">rmdir</a>() to succeed.
+<p> Returns TRUE if successful; otherwise returns FALSE.
+<p> <p>See also <a href="#mkdir">mkdir</a>().
+
+<h3 class=fn><a href="qdir.html">QDir</a> <a name="root"></a>QDir::root ()<tt> [static]</tt>
+</h3>
+Returns the root directory.
+<p> <p>See also <a href="#rootDirPath">rootDirPath</a>() and <a href="#drives">drives</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="rootDirPath"></a>QDir::rootDirPath ()<tt> [static]</tt>
+</h3>
+Returns the absolute path for the root directory.
+<p> For UNIX operating systems this returns "/". For Windows file
+systems this normally returns "c:/".
+<p> <p>See also <a href="#root">root</a>() and <a href="#drives">drives</a>().
+
+<h3 class=fn>char <a name="separator"></a>QDir::separator ()<tt> [static]</tt>
+</h3>
+Returns the native directory separator; "/" under UNIX (including
+Mac OS X) and "&#92;" under Windows.
+<p> You do not need to use this function to build file paths. If you
+always use "/", Qt will translate your paths to conform to the
+underlying operating system.
+
+<h3 class=fn>bool <a name="setCurrent"></a>QDir::setCurrent ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [static]</tt>
+</h3>
+Sets the application's current working directory to <em>path</em>.
+Returns TRUE if the directory was successfully changed; otherwise
+returns FALSE.
+
+<h3 class=fn>void <a name="setFilter"></a>QDir::setFilter ( int&nbsp;filterSpec )<tt> [virtual]</tt>
+</h3>
+Sets the filter used by <a href="#entryList">entryList</a>() and <a href="#entryInfoList">entryInfoList</a>() to <em>filterSpec</em>. The filter is used to specify the kind of files that
+should be returned by entryList() and entryInfoList(). See
+<a href="#FilterSpec-enum">QDir::FilterSpec</a>.
+<p> <p>See also <a href="#filter">filter</a>() and <a href="#setNameFilter">setNameFilter</a>().
+
+<h3 class=fn>void <a name="setMatchAllDirs"></a>QDir::setMatchAllDirs ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+If <em>enable</em> is TRUE then all directories are included (e.g. in
+<a href="#entryList">entryList</a>()), and the <a href="#nameFilter">nameFilter</a>() is only applied to the files.
+If <em>enable</em> is FALSE then the nameFilter() is applied to both
+directories and files.
+<p> <p>See also <a href="#matchAllDirs">matchAllDirs</a>().
+
+<h3 class=fn>void <a name="setNameFilter"></a>QDir::setNameFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter )<tt> [virtual]</tt>
+</h3>
+Sets the name filter used by <a href="#entryList">entryList</a>() and <a href="#entryInfoList">entryInfoList</a>() to <em>nameFilter</em>.
+<p> The <em>nameFilter</em> is a wildcard (globbing) filter that understands
+"*" and "?" wildcards. (See <a href="qregexp.html#wildcard-matching">QRegExp wildcard matching</a>.) You may specify several filter
+entries all separated by a single space " " or by a semi-colon
+";".
+<p> For example, if you want entryList() and entryInfoList() to list
+all files ending with either ".cpp" or ".h", you would use either
+dir.<a href="#setNameFilter">setNameFilter</a>("*.cpp *.h") or dir.setNameFilter("*.cpp;*.h").
+<p> <p>See also <a href="#nameFilter">nameFilter</a>() and <a href="#setFilter">setFilter</a>().
+
+<h3 class=fn>void <a name="setPath"></a>QDir::setPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [virtual]</tt>
+</h3>
+Sets the path of the directory to <em>path</em>. The path is cleaned of
+redundant ".", ".." and of multiple separators. No check is made
+to ensure that a directory with this path exists.
+<p> The path can be either absolute or relative. Absolute paths begin
+with the directory separator "/" (optionally preceded by a drive
+specification under Windows). Relative file names begin with a
+directory name or a file name and specify a path relative to the
+current directory. An example of an absolute path is the string
+"/tmp/quartz", a relative path might look like "src/fatlib".
+<p> <p>See also <a href="#path">path</a>(), <a href="#absPath">absPath</a>(), <a href="#exists">exists</a>(), <a href="#cleanDirPath">cleanDirPath</a>(), <a href="#dirName">dirName</a>(), <a href="#absFilePath">absFilePath</a>(), <a href="#isRelative">isRelative</a>(), and <a href="#convertToAbs">convertToAbs</a>().
+
+<h3 class=fn>void <a name="setSorting"></a>QDir::setSorting ( int&nbsp;sortSpec )<tt> [virtual]</tt>
+</h3>
+Sets the sort order used by <a href="#entryList">entryList</a>() and <a href="#entryInfoList">entryInfoList</a>().
+<p> The <em>sortSpec</em> is specified by OR-ing values from the enum
+<a href="#SortSpec-enum">QDir::SortSpec</a>.
+<p> <p>See also <a href="#sorting">sorting</a>() and <a href="#SortSpec-enum">SortSpec</a>.
+
+<h3 class=fn><a href="qdir.html#SortSpec-enum">SortSpec</a> <a name="sorting"></a>QDir::sorting () const
+</h3>
+
+<p> Returns the value set by <a href="#setSorting">setSorting</a>()
+<p> <p>See also <a href="#setSorting">setSorting</a>() and <a href="#SortSpec-enum">SortSpec</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdirectpainter-members.html b/doc/html/qdirectpainter-members.html
new file mode 100644
index 0000000..1583600
--- /dev/null
+++ b/doc/html/qdirectpainter-members.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdirectpainter_qws.h:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDirectPainter Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDirectPainter</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdirectpainter.html">QDirectPainter</a>, including inherited members.
+
+<ul>
+<li><a href="qdirectpainter.html#QDirectPainter">QDirectPainter</a>()
+<li><a href="qdirectpainter.html#~QDirectPainter">~QDirectPainter</a>()
+<li><a href="qpainter.html#backgroundColor">backgroundColor</a>()
+<li><a href="qpainter.html#backgroundMode">backgroundMode</a>()
+<li><a href="qpainter.html#begin">begin</a>()
+<li><a href="qpainter.html#boundingRect">boundingRect</a>()
+<li><a href="qpainter.html#brush">brush</a>()
+<li><a href="qpainter.html#brushOrigin">brushOrigin</a>()
+<li><a href="qpainter.html#clipRegion">clipRegion</a>()
+<li><a href="qdirectpainter.html#depth">depth</a>()
+<li><a href="qpainter.html#device">device</a>()
+<li><a href="qpainter.html#drawArc">drawArc</a>()
+<li><a href="qpainter.html#drawChord">drawChord</a>()
+<li><a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>()
+<li><a href="qpainter.html#drawCubicBezier">drawCubicBezier</a>()
+<li><a href="qpainter.html#drawEllipse">drawEllipse</a>()
+<li><a href="qpainter.html#drawImage">drawImage</a>()
+<li><a href="qpainter.html#drawLine">drawLine</a>()
+<li><a href="qpainter.html#drawLineSegments">drawLineSegments</a>()
+<li><a href="qpainter.html#drawPicture">drawPicture</a>()
+<li><a href="qpainter.html#drawPie">drawPie</a>()
+<li><a href="qpainter.html#drawPixmap">drawPixmap</a>()
+<li><a href="qpainter.html#drawPoint">drawPoint</a>()
+<li><a href="qpainter.html#drawPoints">drawPoints</a>()
+<li><a href="qpainter.html#drawPolygon">drawPolygon</a>()
+<li><a href="qpainter.html#drawPolyline">drawPolyline</a>()
+<li><a href="qpainter.html#drawRect">drawRect</a>()
+<li><a href="qpainter.html#drawRoundRect">drawRoundRect</a>()
+<li><a href="qpainter.html#drawText">drawText</a>()
+<li><a href="qpainter.html#drawTiledPixmap">drawTiledPixmap</a>()
+<li><a href="qpainter.html#drawWinFocusRect">drawWinFocusRect</a>()
+<li><a href="qpainter.html#end">end</a>()
+<li><a href="qpainter.html#eraseRect">eraseRect</a>()
+<li><a href="qpainter.html#fillRect">fillRect</a>()
+<li><a href="qpainter.html#flush">flush</a>()
+<li><a href="qpainter.html#font">font</a>()
+<li><a href="qpainter.html#fontInfo">fontInfo</a>()
+<li><a href="qpainter.html#fontMetrics">fontMetrics</a>()
+<li><a href="qdirectpainter.html#frameBuffer">frameBuffer</a>()
+<li><a href="qpainter.html#handle">handle</a>()
+<li><a href="qpainter.html#hasClipping">hasClipping</a>()
+<li><a href="qpainter.html#hasViewXForm">hasViewXForm</a>()
+<li><a href="qpainter.html#hasWorldXForm">hasWorldXForm</a>()
+<li><a href="qdirectpainter.html#height">height</a>()
+<li><a href="qpainter.html#isActive">isActive</a>()
+<li><a href="qdirectpainter.html#lineStep">lineStep</a>()
+<li><a href="qpainter.html#lineTo">lineTo</a>()
+<li><a href="qpainter.html#moveTo">moveTo</a>()
+<li><a href="qdirectpainter.html#numRects">numRects</a>()
+<li><a href="qdirectpainter.html#offset">offset</a>()
+<li><a href="qpainter.html#pen">pen</a>()
+<li><a href="qpainter.html#pos">pos</a>()
+<li><a href="qpainter.html#rasterOp">rasterOp</a>()
+<li><a href="qdirectpainter.html#rect">rect</a>()
+<li><a href="qpainter.html#redirect">redirect</a>()
+<li><a href="qdirectpainter.html#region">region</a>()
+<li><a href="qpainter.html#resetXForm">resetXForm</a>()
+<li><a href="qpainter.html#restore">restore</a>()
+<li><a href="qpainter.html#restoreWorldMatrix">restoreWorldMatrix</a>()
+<li><a href="qpainter.html#rotate">rotate</a>()
+<li><a href="qpainter.html#save">save</a>()
+<li><a href="qpainter.html#saveWorldMatrix">saveWorldMatrix</a>()
+<li><a href="qpainter.html#scale">scale</a>()
+<li><a href="qdirectpainter.html#setAreaChanged">setAreaChanged</a>()
+<li><a href="qpainter.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qpainter.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qpainter.html#setBrush">setBrush</a>()
+<li><a href="qpainter.html#setBrushOrigin">setBrushOrigin</a>()
+<li><a href="qpainter.html#setClipRect">setClipRect</a>()
+<li><a href="qpainter.html#setClipRegion">setClipRegion</a>()
+<li><a href="qpainter.html#setClipping">setClipping</a>()
+<li><a href="qpainter.html#setFont">setFont</a>()
+<li><a href="qpainter.html#setPen">setPen</a>()
+<li><a href="qpainter.html#setRasterOp">setRasterOp</a>()
+<li><a href="qpainter.html#setTabArray">setTabArray</a>()
+<li><a href="qpainter.html#setTabStops">setTabStops</a>()
+<li><a href="qpainter.html#setViewXForm">setViewXForm</a>()
+<li><a href="qpainter.html#setViewport">setViewport</a>()
+<li><a href="qpainter.html#setWindow">setWindow</a>()
+<li><a href="qpainter.html#setWorldMatrix">setWorldMatrix</a>()
+<li><a href="qpainter.html#setWorldXForm">setWorldXForm</a>()
+<li><a href="qpainter.html#shear">shear</a>()
+<li><a href="qdirectpainter.html#size">size</a>()
+<li><a href="qpainter.html#tabArray">tabArray</a>()
+<li><a href="qpainter.html#tabStops">tabStops</a>()
+<li><a href="qdirectpainter.html#transformOrientation">transformOrientation</a>()
+<li><a href="qpainter.html#translate">translate</a>()
+<li><a href="qpainter.html#viewport">viewport</a>()
+<li><a href="qdirectpainter.html#width">width</a>()
+<li><a href="qpainter.html#window">window</a>()
+<li><a href="qpainter.html#worldMatrix">worldMatrix</a>()
+<li><a href="qpainter.html#xForm">xForm</a>()
+<li><a href="qpainter.html#xFormDev">xFormDev</a>()
+<li><a href="qdirectpainter.html#xOffset">xOffset</a>()
+<li><a href="qdirectpainter.html#yOffset">yOffset</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdirectpainter.html b/doc/html/qdirectpainter.html
new file mode 100644
index 0000000..c4eea9d
--- /dev/null
+++ b/doc/html/qdirectpainter.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdirectpainter_qws.cpp:72 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDirectPainter Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDirectPainter Class Reference</h1>
+
+<p>The QDirectPainter class provides direct access to the video hardware.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdirectpainter_qws-h.html">qdirectpainter_qws.h</a>&gt;</tt>
+<p>Inherits <a href="qpainter.html">QPainter</a>.
+<p><a href="qdirectpainter-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDirectPainter"><b>QDirectPainter</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn><a href="#~QDirectPainter"><b>~QDirectPainter</b></a> ()</li>
+<li class=fn>uchar * <a href="#frameBuffer"><b>frameBuffer</b></a> ()</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> ()</li>
+<li class=fn>int <a href="#transformOrientation"><b>transformOrientation</b></a> ()</li>
+<li class=fn>int <a href="#numRects"><b>numRects</b></a> () const</li>
+<li class=fn>const QRect &amp; <a href="#rect"><b>rect</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>QRegion <a href="#region"><b>region</b></a> () const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>int <a href="#xOffset"><b>xOffset</b></a> () const</li>
+<li class=fn>int <a href="#yOffset"><b>yOffset</b></a> () const</li>
+<li class=fn>QPoint <a href="#offset"><b>offset</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>void <a href="#setAreaChanged"><b>setAreaChanged</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDirectPainter class provides direct access to the video hardware.
+<p>
+<p> Only available in Qt/Embedded.
+<p> When the hardware is known and well defined, as is often the case
+with software for embedded devices, it may be useful to manipulate
+the underlying video hardware directly. In order to do this in a
+way that is co-operative with other applications, you must lock
+the video hardware for exclusive use for a small time while you
+write to it, and you must know the clipping region which is
+allocated to a widget.
+<p> QDirectPainter provides this functionality.
+<p> In the simplest case, you make a QDirectPainter on a widget and
+then, observing the clip region, perform some platform-specific
+operation. For example:
+<pre>
+ void MyWidget::updatePlatformGraphics()
+ {
+ QDirectPainter dp( this );
+ for ( int i = 0; i &lt; dp.numRects; i++ ) {
+ const <a href="qrect.html">QRect</a>&amp; clip = dp.<a href="#rect">rect</a>(i);
+ ... // platform specific operation
+ }
+ }
+ </pre>
+
+<p> The platform-specific code has access to the display, but should
+only modify graphics in the rectangles specified by <a href="#numRects">numRects</a>() and
+<a href="#rect">rect</a>(). Note that these rectangles are relative to the entire
+display.
+<p> The <a href="#offset">offset</a>() function returns the position of the widget relative
+to the entire display, allowing you to offset platform-specific
+operations appropriately. The <a href="#xOffset">xOffset</a>() and <a href="#yOffset">yOffset</a>() functions
+merely return the component values of offset().
+<p> For simple frame-buffer hardware, the <a href="#frameBuffer">frameBuffer</a>(), <a href="#lineStep">lineStep</a>(),
+and <a href="#depth">depth</a>() functions provide basic access, though some hardware
+configurations are insufficiently specified by such simple
+parameters.
+<p> Note that while a QDirectPainter exists, the entire Qt/Embedded
+window system is locked from use by other applications. Always
+construct the QDirectPainter as an auto (stack) variable, and be
+very careful to write robust and stable code within its scope.
+<p>See also <a href="graphics.html">Graphics Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDirectPainter"></a>QDirectPainter::QDirectPainter ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Construct a direct painter on <em>w</em>. The display is locked and the
+mouse cursor is hidden if it is above <em>w</em>.
+
+<h3 class=fn><a name="~QDirectPainter"></a>QDirectPainter::~QDirectPainter ()
+</h3>
+Destroys the direct painter. The mouse cursor is revealed if
+necessary and the display is unlocked.
+
+<h3 class=fn>int <a name="depth"></a>QDirectPainter::depth () const
+</h3>
+Returns the bit-depth of the display.
+
+<h3 class=fn>uchar * <a name="frameBuffer"></a>QDirectPainter::frameBuffer ()
+</h3>
+Returns a pointer to the framebuffer memory if available.
+
+<h3 class=fn>int <a name="height"></a>QDirectPainter::height () const
+</h3>
+Returns the height of the widget drawn upon.
+
+<h3 class=fn>int <a name="lineStep"></a>QDirectPainter::lineStep ()
+</h3>
+Returns the spacing in bytes from one framebuffer line to the
+next.
+
+<h3 class=fn>int <a name="numRects"></a>QDirectPainter::numRects () const
+</h3>
+Returns the number of rectangles in the drawable region.
+<p> <p>See also <a href="#rect">rect</a>() and <a href="#region">region</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="offset"></a>QDirectPainter::offset () const
+</h3>
+Returns the position of the widget relative to the entire display.
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="rect"></a>QDirectPainter::rect ( int&nbsp;i ) const
+</h3>
+Returns a reference to rectangle <em>i</em> of the drawable region.
+Valid values for <em>i</em> are 0..<a href="#numRects">numRects</a>()-1.
+<p> <p>See also <a href="#region">region</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="region"></a>QDirectPainter::region () const
+</h3>
+Returns the region of the framebuffer which represents the exposed
+area of the widget being painted on. Note that this may be a sub-area of
+the clip region, because of child widgets and overlapping cousin widgets.
+<p> <p>See also <a href="#numRects">numRects</a>() and <a href="#rect">rect</a>().
+
+<h3 class=fn>void <a name="setAreaChanged"></a>QDirectPainter::setAreaChanged ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Sets the area changed by the transaction to <em>r</em>. By default, the
+entire widget is assumed to have changed. The area changed is only
+used by some graphics drivers, so often calling this function for
+a smaller area will make no difference to performance.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QDirectPainter::size () const
+</h3>
+Returns the size of the widget drawn upon.
+<p> <p>See also <a href="#width">width</a>() and <a href="#height">height</a>().
+
+<h3 class=fn>int <a name="transformOrientation"></a>QDirectPainter::transformOrientation ()
+</h3>
+Returns a number that signifies the orientation of the
+framebuffer.
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="1"> 0 <td valign="top" colspan="1" rowspan="1"> no rotation
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="1"> 1 <td valign="top" colspan="1" rowspan="1"> 90 degrees rotation
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="1"> 2 <td valign="top" colspan="1" rowspan="1"> 180 degrees rotation
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="1"> 3 <td valign="top" colspan="1" rowspan="1"> 270 degrees rotation
+</table></center>
+
+<h3 class=fn>int <a name="width"></a>QDirectPainter::width () const
+</h3>
+Returns the width of the widget drawn upon.
+
+<h3 class=fn>int <a name="xOffset"></a>QDirectPainter::xOffset () const
+</h3>
+Returns the X-position of the widget relative to the entire
+display.
+
+<h3 class=fn>int <a name="yOffset"></a>QDirectPainter::yOffset () const
+</h3>
+Returns the Y-position of the widget relative to the entire
+display.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdirectpainter_qws-h.html b/doc/html/qdirectpainter_qws-h.html
new file mode 100644
index 0000000..f4878a2
--- /dev/null
+++ b/doc/html/qdirectpainter_qws-h.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdirectpainter_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdirectpainter_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdirectpainter_qws.h</h1>
+
+<p>This is the verbatim text of the qdirectpainter_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdirectpainter_qws.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QDirectPainter class
+**
+** Created : 010101
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDIRECTPAINTER_QWS_H
+#define QDIRECTPAINTER_QWS_H
+
+#ifndef QT_H
+#include "qpainter.h"
+#endif // QT_H
+
+#ifdef Q_WS_QWS
+#ifndef QT_NO_DIRECTPAINTER
+class Q_EXPORT QDirectPainter : public QPainter {
+public:
+ QDirectPainter( const QWidget* );
+ ~QDirectPainter();
+
+ uchar* frameBuffer();
+ int lineStep();
+ int transformOrientation();
+
+ int numRects() const;
+ const QRect&amp; rect(int i) const;
+ QRegion region() const;
+
+ int depth() const;
+ int width() const;
+ int height() const;
+ int xOffset() const;
+ int yOffset() const;
+
+ QPoint offset() const;
+ QSize size() const;
+
+ void setAreaChanged( const QRect&amp; );
+
+private:
+ class Private;
+ Private* d;
+};
+
+#endif
+#endif
+
+#endif // QDIRECTPAINTER_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdns-h.html b/doc/html/qdns-h.html
new file mode 100644
index 0000000..efe8ea3
--- /dev/null
+++ b/doc/html/qdns-h.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdns.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdns.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdns.h</h1>
+
+<p>This is the verbatim text of the qdns.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdns.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QDns class.
+**
+** Created : 991122
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDNS_H
+#define QDNS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qhostaddress.h"
+#include "qsocketnotifier.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_DNS
+#else
+#define QM_EXPORT_DNS Q_EXPORT
+#endif
+
+#ifndef QT_NO_DNS
+
+//#define Q_DNS_SYNCHRONOUS
+
+class QDnsPrivate;
+
+class QM_EXPORT_DNS QDns: public QObject {
+ Q_OBJECT
+public:
+ enum RecordType {
+ None,
+ A, Aaaa,
+ Mx, Srv,
+ Cname,
+ Ptr,
+ Txt
+ };
+
+ QDns();
+ QDns( const QString &amp; label, RecordType rr = A );
+ QDns( const QHostAddress &amp; address, RecordType rr = Ptr );
+ virtual ~QDns();
+
+ // to set/change the query
+ virtual void setLabel( const QString &amp; label );
+ virtual void setLabel( const QHostAddress &amp; address );
+ QString label() const { return l; }
+
+ virtual void setRecordType( RecordType rr = A );
+ RecordType recordType() const { return t; }
+
+ // whether something is happening behind the scenes
+ bool isWorking() const;
+
+ // to query for replies
+ QValueList&lt;QHostAddress&gt; addresses() const;
+
+ class QM_EXPORT_DNS MailServer {
+ public:
+ MailServer( const QString &amp; n=QString::null, Q_UINT16 p=0 )
+ :name(n), priority(p) {}
+ QString name;
+ Q_UINT16 priority;
+ Q_DUMMY_COMPARISON_OPERATOR(MailServer)
+ };
+ QValueList&lt;MailServer&gt; mailServers() const;
+
+ class QM_EXPORT_DNS Server {
+ public:
+ Server(const QString &amp; n=QString::null, Q_UINT16 p=0, Q_UINT16 w=0, Q_UINT16 po=0 )
+ : name(n), priority(p), weight(w), port(po) {}
+ QString name;
+ Q_UINT16 priority;
+ Q_UINT16 weight;
+ Q_UINT16 port;
+ Q_DUMMY_COMPARISON_OPERATOR(Server)
+ };
+ QValueList&lt;Server&gt; servers() const;
+
+ QStringList hostNames() const;
+
+ QStringList texts() const;
+
+ QString canonicalName() const; // ### real-world but uncommon: QStringList
+
+ QStringList qualifiedNames() const { return n; }
+
+#if defined(Q_DNS_SYNCHRONOUS)
+protected:
+ void connectNotify( const char *signal );
+#endif
+
+signals:
+ void resultsReady();
+
+private slots:
+ void startQuery();
+
+private:
+ static void doResInit();
+ void setStartQueryTimer();
+ static QString toInAddrArpaDomain( const QHostAddress &amp;address );
+#if defined(Q_DNS_SYNCHRONOUS)
+ void doSynchronousLookup();
+#endif
+
+ QString l;
+ QStringList n;
+ RecordType t;
+ QDnsPrivate * d;
+
+ friend class QDnsAnswer;
+ friend class QDnsManager;
+};
+
+
+// QDnsSocket are sockets that are used for DNS lookup
+
+class QDnsSocket: public QObject {
+ Q_OBJECT
+ // note: Private not public. This class contains NO public API.
+protected:
+ QDnsSocket( QObject *, const char * );
+ virtual ~QDnsSocket();
+
+private slots:
+ virtual void cleanCache();
+ virtual void retransmit();
+ virtual void answer();
+};
+
+#endif // QT_NO_DNS
+
+#endif // QDNS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdns-members.html b/doc/html/qdns-members.html
new file mode 100644
index 0000000..31ef428
--- /dev/null
+++ b/doc/html/qdns-members.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdns.h:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDns Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDns</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdns.html">QDns</a>, including inherited members.
+
+<ul>
+<li><a href="qdns.html#QDns">QDns</a>()
+<li><a href="qdns.html#~QDns">~QDns</a>()
+<li><a href="qdns.html#addresses">addresses</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qdns.html#canonicalName">canonicalName</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qdns.html#hostNames">hostNames</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qdns.html#isWorking">isWorking</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qdns.html#label">label</a>()
+<li><a href="qdns.html#mailServers">mailServers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qdns.html#qualifiedNames">qualifiedNames</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qdns.html#recordType">recordType</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qdns.html#resultsReady">resultsReady</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qdns.html#servers">servers</a>()
+<li><a href="qdns.html#setLabel">setLabel</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdns.html#setRecordType">setRecordType</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdns.html#texts">texts</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdns.html b/doc/html/qdns.html
new file mode 100644
index 0000000..1b5934c
--- /dev/null
+++ b/doc/html/qdns.html
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qdns.cpp:1597 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDns Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDns Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QDns class provides asynchronous DNS lookups.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdns-h.html">qdns.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qdns-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#RecordType-enum"><b>RecordType</b></a> { None, A, Aaaa, Mx, Srv, Cname, Ptr, Txt }</li>
+<li class=fn><a href="#QDns"><b>QDns</b></a> ()</li>
+<li class=fn><a href="#QDns-2"><b>QDns</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;label, RecordType&nbsp;rr = A )</li>
+<li class=fn><a href="#QDns-3"><b>QDns</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address, RecordType&nbsp;rr = Ptr )</li>
+<li class=fn>virtual <a href="#~QDns"><b>~QDns</b></a> ()</li>
+<li class=fn>virtual void <a href="#setLabel"><b>setLabel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>virtual void <a href="#setLabel-2"><b>setLabel</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address )</li>
+<li class=fn>QString <a href="#label"><b>label</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRecordType"><b>setRecordType</b></a> ( RecordType&nbsp;rr = A )</li>
+<li class=fn>RecordType <a href="#recordType"><b>recordType</b></a> () const</li>
+<li class=fn>bool <a href="#isWorking"><b>isWorking</b></a> () const</li>
+<li class=fn>QValueList&lt;QHostAddress&gt; <a href="#addresses"><b>addresses</b></a> () const</li>
+<li class=fn>QValueList&lt;MailServer&gt; <a href="#mailServers"><b>mailServers</b></a> () const</li>
+<li class=fn>QValueList&lt;Server&gt; <a href="#servers"><b>servers</b></a> () const</li>
+<li class=fn>QStringList <a href="#hostNames"><b>hostNames</b></a> () const</li>
+<li class=fn>QStringList <a href="#texts"><b>texts</b></a> () const</li>
+<li class=fn>QString <a href="#canonicalName"><b>canonicalName</b></a> () const</li>
+<li class=fn>QStringList <a href="#qualifiedNames"><b>qualifiedNames</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#resultsReady"><b>resultsReady</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDns class provides asynchronous DNS lookups.
+
+<p>
+
+<p> Both Windows and Unix provide synchronous DNS lookups; Windows
+provides some asynchronous support too. At the time of writing
+neither operating system provides asynchronous support for
+anything other than hostname-to-address mapping.
+<p> QDns rectifies this shortcoming, by providing asynchronous caching
+lookups for the record types that we expect modern GUI
+applications to need in the near future.
+<p> The class is <em>not</em> straightforward to use (although it is much
+simpler than the native APIs); <a href="qsocket.html">QSocket</a> provides much easier to use
+TCP connection facilities. The aim of QDns is to provide a correct
+and small API to the DNS and nothing more. (We use "correctness"
+to mean that the DNS information is correctly cached, and
+correctly timed out.)
+<p> The API comprises a constructor, functions to set the DNS node
+(the domain in DNS terminology) and record type (<a href="#setLabel">setLabel</a>() and
+<a href="#setRecordType">setRecordType</a>()), the corresponding get functions, an <a href="#isWorking">isWorking</a>()
+function to determine whether QDns is working or reading, a
+<a href="#resultsReady">resultsReady</a>() signal and query functions for the result.
+<p> There is one query function for each RecordType, namely
+<a href="#addresses">addresses</a>(), <a href="#mailServers">mailServers</a>(), <a href="#servers">servers</a>(), <a href="#hostNames">hostNames</a>() and <a href="#texts">texts</a>().
+There are also two generic query functions: <a href="#canonicalName">canonicalName</a>()
+returns the name you'll presumably end up using (the exact meaning
+of this depends on the record type) and <a href="#qualifiedNames">qualifiedNames</a>() returns a
+list of the fully qualified names <a href="#label">label</a>() maps to.
+<p> <p>See also <a href="qsocket.html">QSocket</a> and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="RecordType-enum"></a>QDns::RecordType</h3>
+
+<p> This enum type defines the record types QDns can handle. The DNS
+provides many more; these are the ones we've judged to be in
+current use, useful for GUI programs and important enough to
+support right away:
+<ul>
+<li><tt>QDns::None</tt> - No information. This exists only so that QDns can
+have a default.
+<li><tt>QDns::A</tt> - IPv4 addresses. By far the most common type.
+<li><tt>QDns::Aaaa</tt> - IPv6 addresses. So far mostly unused.
+<li><tt>QDns::Mx</tt> - Mail eXchanger names. Used for mail delivery.
+<li><tt>QDns::Srv</tt> - SeRVer names. Generic record type for finding
+servers. So far mostly unused.
+<li><tt>QDns::Cname</tt> - Canonical names. Maps from nicknames to the true
+name (the canonical name) for a host.
+<li><tt>QDns::Ptr</tt> - name PoinTeRs. Maps from IPv4 or IPv6 addresses to hostnames.
+<li><tt>QDns::Txt</tt> - arbitrary TeXT for domains.
+</ul><p> We expect that some support for the
+<a href="http://www.dns.net/dnsrd/rfc/rfc2535.html">RFC-2535</a>
+extensions will be added in future versions.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDns"></a>QDns::QDns ()
+</h3>
+Constructs a DNS query object with invalid settings for both the
+label and the search type.
+
+<h3 class=fn><a name="QDns-2"></a>QDns::QDns ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qdns.html#RecordType-enum">RecordType</a>&nbsp;rr = A )
+</h3>
+Constructs a DNS query object that will return record type <em>rr</em>
+information about <em>label</em>.
+<p> The DNS lookup is started the next time the application enters the
+event loop. When the result is found the signal <a href="#resultsReady">resultsReady</a>() is
+emitted.
+<p> <em>rr</em> defaults to <a href="#RecordType-enum">A</a>, IPv4 addresses.
+
+<h3 class=fn><a name="QDns-3"></a>QDns::QDns ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address, <a href="qdns.html#RecordType-enum">RecordType</a>&nbsp;rr = Ptr )
+</h3>
+Constructs a DNS query object that will return record type <em>rr</em>
+information about host address <em>address</em>. The label is set to the
+IN-ADDR.ARPA domain name. This is useful in combination with the
+<a href="#RecordType-enum">Ptr</a> record type (e.g. if you want to look up a hostname for a
+given address).
+<p> The DNS lookup is started the next time the application enters the
+event loop. When the result is found the signal <a href="#resultsReady">resultsReady</a>() is
+emitted.
+<p> <em>rr</em> defaults to <a href="#RecordType-enum">Ptr</a>, that maps addresses to hostnames.
+
+<h3 class=fn><a name="~QDns"></a>QDns::~QDns ()<tt> [virtual]</tt>
+</h3>
+Destroys the DNS query object and frees its allocated resources.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;QHostAddress&gt; <a name="addresses"></a>QDns::addresses () const
+</h3>
+Returns a list of the addresses for this name if this QDns object
+has a <a href="#recordType">recordType</a>() of <a href="#RecordType-enum">QDns::A</a> or <a href="#RecordType-enum">QDns::Aaaa</a> and the answer
+is available; otherwise returns an empty list.
+<p> As a special case, if <a href="#label">label</a>() is a valid numeric IP address, this
+function returns that address.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QHostAddress&gt; list = myDns.addresses();
+ QValueList&lt;QHostAddress&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="canonicalName"></a>QDns::canonicalName () const
+</h3>
+Returns the canonical name for this DNS node. (This works
+regardless of what <a href="#recordType">recordType</a>() is set to.)
+<p> If the canonical name isn't known, this function returns a null
+string.
+<p> The canonical name of a DNS node is its full name, or the full
+name of the target of its CNAME. For example, if l.trolltech.com
+is a CNAME to lillian.troll.no, and the search path for QDns is
+"trolltech.com", then the canonical name for all of "lillian",
+"l", "lillian.troll.no." and "l.trolltech.com" is
+"lillian.troll.no.".
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="hostNames"></a>QDns::hostNames () const
+</h3>
+Returns a list of host names if the record type is <a href="#RecordType-enum">Ptr</a>.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDns.hostNames();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p>
+<h3 class=fn>bool <a name="isWorking"></a>QDns::isWorking () const
+</h3>
+Returns TRUE if QDns is doing a lookup for this object (i.e. if it
+does not already have the necessary information); otherwise
+returns FALSE.
+<p> QDns emits the <a href="#resultsReady">resultsReady</a>() signal when the status changes to FALSE.
+
+<p>Example: <a href="mail-example.html#x705">network/mail/smtp.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="label"></a>QDns::label () const
+</h3>
+
+<p> Returns the domain name for which this object returns information.
+<p> <p>See also <a href="#setLabel">setLabel</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;MailServer&gt; <a name="mailServers"></a>QDns::mailServers () const
+</h3>
+Returns a list of mail servers if the record type is <a href="#RecordType-enum">Mx</a>. The
+class <tt>QDns::MailServer</tt> contains the following public variables:
+<ul>
+<li> <a href="qstring.html">QString</a> QDns::MailServer::name
+<li> Q_UINT16 QDns::MailServer::priority
+</ul>
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QDns::MailServer&gt; list = myDns.mailServers();
+ QValueList&lt;QDns::MailServer&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p>
+<p>Example: <a href="mail-example.html#x706">network/mail/smtp.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="qualifiedNames"></a>QDns::qualifiedNames () const
+</h3>
+
+<p> Returns a list of the fully qualified names <a href="#label">label</a>() maps to.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDns.qualifiedNames();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p>
+<h3 class=fn><a href="qdns.html#RecordType-enum">RecordType</a> <a name="recordType"></a>QDns::recordType () const
+</h3>
+
+<p> Returns the record type of this DNS query object.
+<p> <p>See also <a href="#setRecordType">setRecordType</a>() and <a href="#RecordType-enum">RecordType</a>.
+
+<h3 class=fn>void <a name="resultsReady"></a>QDns::resultsReady ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when results are available for one of the
+<a href="#qualifiedNames">qualifiedNames</a>().
+
+<p>Example: <a href="mail-example.html#x707">network/mail/smtp.cpp</a>.
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;Server&gt; <a name="servers"></a>QDns::servers () const
+</h3>
+Returns a list of servers if the record type is <a href="#RecordType-enum">Srv</a>. The class
+<tt>QDns::Server</tt> contains the following public variables:
+<ul>
+<li> <a href="qstring.html">QString</a> QDns::Server::name
+<li> Q_UINT16 QDns::Server::priority
+<li> Q_UINT16 QDns::Server::weight
+<li> Q_UINT16 QDns::Server::port
+</ul>
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QDns::Server&gt; list = myDns.servers();
+ QValueList&lt;QDns::Server&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>void <a name="setLabel"></a>QDns::setLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )<tt> [virtual]</tt>
+</h3>
+Sets this DNS query object to query for information about <em>label</em>.
+<p> This does not change the <a href="#recordType">recordType</a>(), but its <a href="#isWorking">isWorking</a>() status
+will probably change as a result.
+<p> The DNS lookup is started the next time the application enters the
+event loop. When the result is found the signal <a href="#resultsReady">resultsReady</a>() is
+emitted.
+
+<h3 class=fn>void <a name="setLabel-2"></a>QDns::setLabel ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets this DNS query object to query for information about the host
+address <em>address</em>. The label is set to the IN-ADDR.ARPA domain
+name. This is useful in combination with the <a href="#RecordType-enum">Ptr</a> record type
+(e.g. if you want to look up a hostname for a given address).
+
+<h3 class=fn>void <a name="setRecordType"></a>QDns::setRecordType ( <a href="qdns.html#RecordType-enum">RecordType</a>&nbsp;rr = A )<tt> [virtual]</tt>
+</h3>
+Sets this object to query for record type <em>rr</em> records.
+<p> The DNS lookup is started the next time the application enters the
+event loop. When the result is found the signal <a href="#resultsReady">resultsReady</a>() is
+emitted.
+<p> <p>See also <a href="#RecordType-enum">RecordType</a>.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="texts"></a>QDns::texts () const
+</h3>
+Returns a list of texts if the record type is <a href="#RecordType-enum">Txt</a>.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDns.texts();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockarea-h.html b/doc/html/qdockarea-h.html
new file mode 100644
index 0000000..0d40e1e
--- /dev/null
+++ b/doc/html/qdockarea-h.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdockarea.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdockarea.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdockarea.h</h1>
+
+<p>This is the verbatim text of the qdockarea.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdockarea.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the QDockArea class
+**
+** Created : 001010
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the workspace module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDOCKAREA_H
+#define QDOCKAREA_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qptrlist.h"
+#include "qdockwindow.h"
+#include "qlayout.h"
+#include "qvaluelist.h"
+#include "qguardedptr.h"
+#include "qtextstream.h"
+#endif // QT_H
+
+#ifndef QT_NO_MAINWINDOW
+
+class QSplitter;
+class QBoxLayout;
+class QDockAreaLayout;
+class QMouseEvent;
+class QDockWindowResizeHandle;
+class QDockAreaPrivate;
+
+class Q_EXPORT QDockAreaLayout : public QLayout
+{
+ Q_OBJECT
+ friend class QDockArea;
+
+public:
+ QDockAreaLayout( QWidget* parent, Qt::Orientation o, QPtrList&lt;QDockWindow&gt; *wl, int space = -1, int margin = -1, const char *name = 0 )
+ : QLayout( parent, space, margin, name ), orient( o ), dockWindows( wl ), parentWidget( parent ) { init(); }
+ ~QDockAreaLayout() {}
+
+ void addItem( QLayoutItem * ) {}
+ bool hasHeightForWidth() const;
+ int heightForWidth( int ) const;
+ int widthForHeight( int ) const;
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QLayoutIterator iterator();
+ QSizePolicy::ExpandData expanding() const { return QSizePolicy::NoDirection; }
+ void invalidate();
+ Qt::Orientation orientation() const { return orient; }
+ QValueList&lt;QRect&gt; lineList() const { return lines; }
+ QPtrList&lt;QDockWindow&gt; lineStarts() const { return ls; }
+
+protected:
+ void setGeometry( const QRect&amp; );
+
+private:
+ void init();
+ int layoutItems( const QRect&amp;, bool testonly = FALSE );
+ Qt::Orientation orient;
+ bool dirty;
+ int cached_width, cached_height;
+ int cached_hfw, cached_wfh;
+ QPtrList&lt;QDockWindow&gt; *dockWindows;
+ QWidget *parentWidget;
+ QValueList&lt;QRect&gt; lines;
+ QPtrList&lt;QDockWindow&gt; ls;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDockAreaLayout( const QDockAreaLayout &amp; );
+ QDockAreaLayout &amp;operator=( const QDockAreaLayout &amp; );
+#endif
+};
+
+class Q_EXPORT QDockArea : public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( HandlePosition )
+ Q_PROPERTY( Orientation orientation READ orientation )
+ Q_PROPERTY( int count READ count )
+ Q_PROPERTY( bool empty READ isEmpty )
+ Q_PROPERTY( HandlePosition handlePosition READ handlePosition )
+
+ friend class QDockWindow;
+ friend class QDockWindowResizeHandle;
+ friend class QDockAreaLayout;
+
+public:
+ enum HandlePosition { Normal, Reverse };
+
+ QDockArea( Orientation o, HandlePosition h = Normal, QWidget* parent=0, const char* name=0 );
+ ~QDockArea();
+
+ void moveDockWindow( QDockWindow *w, const QPoint &amp;globalPos, const QRect &amp;rect, bool swap );
+ void removeDockWindow( QDockWindow *w, bool makeFloating, bool swap, bool fixNewLines = TRUE );
+ void moveDockWindow( QDockWindow *w, int index = -1 );
+ bool hasDockWindow( QDockWindow *w, int *index = 0 );
+
+ void invalidNextOffset( QDockWindow *dw );
+
+ Orientation orientation() const { return orient; }
+ HandlePosition handlePosition() const { return hPos; }
+
+ bool eventFilter( QObject *, QEvent * );
+ bool isEmpty() const;
+ int count() const;
+ QPtrList&lt;QDockWindow&gt; dockWindowList() const;
+
+ bool isDockWindowAccepted( QDockWindow *dw );
+ void setAcceptDockWindow( QDockWindow *dw, bool accept );
+
+public slots:
+ void lineUp( bool keepNewLines );
+
+private:
+ struct DockWindowData
+ {
+ int index;
+ int offset;
+ int line;
+ QSize fixedExtent;
+ QGuardedPtr&lt;QDockArea&gt; area;
+ };
+
+ int findDockWindow( QDockWindow *w );
+ int lineOf( int index );
+ DockWindowData *dockWindowData( QDockWindow *w );
+ void dockWindow( QDockWindow *dockWindow, DockWindowData *data );
+ void updateLayout();
+ void invalidateFixedSizes();
+ int maxSpace( int hint, QDockWindow *dw );
+ void setFixedExtent( int d, QDockWindow *dw );
+ bool isLastDockWindow( QDockWindow *dw );
+
+private:
+ Orientation orient;
+ QPtrList&lt;QDockWindow&gt; *dockWindows;
+ QDockAreaLayout *layout;
+ HandlePosition hPos;
+ QPtrList&lt;QDockWindow&gt; forbiddenWidgets;
+ QDockAreaPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QDockArea( const QDockArea &amp; );
+ QDockArea&amp; operator=( const QDockArea &amp; );
+#endif
+
+};
+
+#ifndef QT_NO_TEXTSTREAM
+Q_EXPORT QTextStream &amp;operator&lt;&lt;( QTextStream &amp;, const QDockArea &amp; );
+Q_EXPORT QTextStream &amp;operator&gt;&gt;( QTextStream &amp;, QDockArea &amp; );
+#endif
+
+#define Q_DEFINED_QDOCKAREA
+#include "qwinexport.h"
+#endif
+
+#endif //QT_NO_MAINWINDOW
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockarea-members.html b/doc/html/qdockarea-members.html
new file mode 100644
index 0000000..d17d1f2
--- /dev/null
+++ b/doc/html/qdockarea-members.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdockarea.h:103 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDockArea Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDockArea</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdockarea.html">QDockArea</a>, including inherited members.
+
+<ul>
+<li><a href="qdockarea.html#QDockArea">QDockArea</a>()
+<li><a href="qdockarea.html#~QDockArea">~QDockArea</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qdockarea.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdockarea.html#dockWindowList">dockWindowList</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qdockarea.html#handlePosition">handlePosition</a>()
+<li><a href="qdockarea.html#hasDockWindow">hasDockWindow</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qdockarea.html#isDockWindowAccepted">isDockWindowAccepted</a>()
+<li><a href="qdockarea.html#isEmpty">isEmpty</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qdockarea.html#lineUp">lineUp</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qdockarea.html#moveDockWindow">moveDockWindow</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdockarea.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qdockarea.html#removeDockWindow">removeDockWindow</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qdockarea.html#setAcceptDockWindow">setAcceptDockWindow</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockarea.html b/doc/html/qdockarea.html
new file mode 100644
index 0000000..b70ea1a
--- /dev/null
+++ b/doc/html/qdockarea.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdockarea.cpp:450 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDockArea Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDockArea Class Reference</h1>
+
+<p>The QDockArea class manages and lays out QDockWindows.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdockarea-h.html">qdockarea.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qdockarea-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#HandlePosition-enum"><b>HandlePosition</b></a> { Normal, Reverse }</li>
+<li class=fn><a href="#QDockArea"><b>QDockArea</b></a> ( Orientation&nbsp;o, HandlePosition&nbsp;h = Normal, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDockArea"><b>~QDockArea</b></a> ()</li>
+<li class=fn>void <a href="#moveDockWindow-2"><b>moveDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;w, const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;r, bool&nbsp;swap )</li>
+<li class=fn>void <a href="#removeDockWindow"><b>removeDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;w, bool&nbsp;makeFloating, bool&nbsp;swap, bool&nbsp;fixNewLines = TRUE )</li>
+<li class=fn>void <a href="#moveDockWindow"><b>moveDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;w, int&nbsp;index = -1 )</li>
+<li class=fn>bool <a href="#hasDockWindow"><b>hasDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;w, int&nbsp;*&nbsp;index = 0 )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>HandlePosition <a href="#handlePosition"><b>handlePosition</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QPtrList&lt;QDockWindow&gt; <a href="#dockWindowList"><b>dockWindowList</b></a> () const</li>
+<li class=fn>bool <a href="#isDockWindowAccepted"><b>isDockWindowAccepted</b></a> ( QDockWindow&nbsp;*&nbsp;dw )</li>
+<li class=fn>void <a href="#setAcceptDockWindow"><b>setAcceptDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dw, bool&nbsp;accept )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#lineUp"><b>lineUp</b></a> ( bool&nbsp;keepNewLines )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of dock windows in the dock area &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#empty-prop"><b>empty</b></a>&nbsp;- whether the dock area is empty &nbsp;<em>(read only)</em></li>
+<li class=fn>HandlePosition <a href="#handlePosition-prop"><b>handlePosition</b></a>&nbsp;- where the dock window splitter handle is placed in the dock area &nbsp;<em>(read only)</em></li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the dock area's orientation &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, const&nbsp;QDockArea&nbsp;&amp;&nbsp;dockArea )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, QDockArea&nbsp;&amp;&nbsp;dockArea )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDockArea class manages and lays out QDockWindows.
+<p>
+<p> A QDockArea is a container which manages a list of
+<a href="qdockwindow.html">QDockWindow</a>s which it lays out within its area. In cooperation
+with the <a href="qdockwindow.html">QDockWindow</a>s it is responsible for the docking and
+undocking of <a href="qdockwindow.html">QDockWindow</a>s and moving them inside the dock
+area. QDockAreas also handle the wrapping of <a href="qdockwindow.html">QDockWindow</a>s to
+fill the available space as compactly as possible. QDockAreas can
+contain QToolBars since <a href="qtoolbar.html">QToolBar</a> is a <a href="qdockwindow.html">QDockWindow</a> subclass.
+<p> <a href="qmainwindow.html">QMainWindow</a> contains four QDockAreas which you can use for your
+QToolBars and QDockWindows, so in most situations you do not need
+to use the QDockArea class directly. Although QMainWindow contains
+support for its own dock areas it isn't convenient for adding new
+QDockAreas. If you need to create your own dock areas we suggest
+that you create a subclass of <a href="qwidget.html">QWidget</a> and add your QDockAreas to
+your subclass.
+<p> <center><img src="qmainwindow-qdockareas.png" alt="QMainWindow's QDockAreas"></center>
+<p> <a name="lines"></a>
+<em>Lines</em>. QDockArea uses the concept of lines. A line is a
+horizontal region which may contain dock windows side-by-side. A
+dock area may have room for more than one line. When dock windows
+are docked into a dock area they are usually added at the right
+hand side of the top-most line that has room (unless manually
+placed by the user). When users move dock windows they may leave
+empty lines or gaps in non-empty lines. Dock windows can be lined
+up to minimize wasted space using the <a href="#lineUp">lineUp</a>() function.
+<p> The QDockArea class maintains a position list of all its child
+dock windows. Dock windows are added to a dock area from position
+0 onwards. Dock windows are laid out sequentially in position
+order from left to right, and in the case of multiple lines of
+dock windows, from top to bottom. If a dock window is floated it
+still retains its position since this is where the window will
+return if the user double clicks its caption. A dock window's
+position can be determined with <a href="#hasDockWindow">hasDockWindow</a>(). The position can
+be changed with <a href="#moveDockWindow">moveDockWindow</a>().
+<p> To dock or undock a dock window use <a href="qdockwindow.html#dock">QDockWindow::dock</a>() and
+<a href="qdockwindow.html#undock">QDockWindow::undock</a>() respectively. If you want to control which
+dock windows can dock in a dock area use <a href="#setAcceptDockWindow">setAcceptDockWindow</a>(). To
+see if a dock area contains a particular dock window use
+<a href="#hasDockWindow">hasDockWindow</a>(); to see how many dock windows a dock area
+contains use <a href="#count">count</a>().
+<p> The streaming operators can write the positions of the dock
+windows in the dock area to a <a href="qtextstream.html">QTextStream</a>. The positions can be
+read back later to restore the saved positions.
+<p> Save the positions to a QTextStream:
+<pre>
+ ts &lt;&lt; *myDockArea;
+ </pre>
+
+<p> Restore the positions from a QTextStream:
+<pre>
+ ts &gt;&gt; *myDockArea;
+ </pre>
+
+<p>See also <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="HandlePosition-enum"></a>QDockArea::HandlePosition</h3>
+
+<p> A dock window has two kinds of handles, the dock window handle
+used for dragging the dock window, and the splitter handle used to
+resize the dock window in relation to other dock windows using a
+splitter. (The splitter handle is only visible for docked
+windows.)
+<p> This enum specifies where the dock window splitter handle is
+placed in the dock area.
+<ul>
+<li><tt>QDockArea::Normal</tt> - The splitter handles of dock windows are placed at
+the right or bottom.
+<li><tt>QDockArea::Reverse</tt> - The splitter handles of dock windows are placed at
+the left or top.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDockArea"></a>QDockArea::QDockArea ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;o, <a href="qdockarea.html#HandlePosition-enum">HandlePosition</a>&nbsp;h = Normal, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QDockArea with orientation <em>o</em>, HandlePosition <em>h</em>,
+parent <em>parent</em> and called <em>name</em>.
+
+<h3 class=fn><a name="~QDockArea"></a>QDockArea::~QDockArea ()
+</h3>
+Destroys the dock area and all the dock windows docked in the dock
+area.
+<p> Does not affect any floating dock windows or dock windows in other
+dock areas, even if they first appeared in this dock area.
+Floating dock windows are effectively top level windows and are
+not child windows of the dock area. When a floating dock window is
+docked (dragged into a dock area) its parent becomes the dock
+area.
+
+<h3 class=fn>int <a name="count"></a>QDockArea::count () const
+</h3><p>Returns the number of dock windows in the dock area.
+See the <a href="qdockarea.html#count-prop">"count"</a> property for details.
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QDockWindow&gt; <a name="dockWindowList"></a>QDockArea::dockWindowList () const
+</h3>
+Returns a list of the dock windows in the dock area.
+
+<h3 class=fn><a href="qdockarea.html#HandlePosition-enum">HandlePosition</a> <a name="handlePosition"></a>QDockArea::handlePosition () const
+</h3><p>Returns where the dock window splitter handle is placed in the dock area.
+See the <a href="qdockarea.html#handlePosition-prop">"handlePosition"</a> property for details.
+<h3 class=fn>bool <a name="hasDockWindow"></a>QDockArea::hasDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;w, int&nbsp;*&nbsp;index = 0 )
+</h3>
+Returns TRUE if the dock area contains the dock window <em>w</em>;
+otherwise returns FALSE. If <em>index</em> is not 0 it will be set as
+follows: if the dock area contains the dock window <em>*index</em> is
+set to <em>w</em>'s index position; otherwise <em>*index</em> is set to -1.
+
+<h3 class=fn>bool <a name="isDockWindowAccepted"></a>QDockArea::isDockWindowAccepted ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw )
+</h3>
+Returns TRUE if dock window <em>dw</em> could be docked into the dock
+area; otherwise returns FALSE.
+<p> <p>See also <a href="#setAcceptDockWindow">setAcceptDockWindow</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QDockArea::isEmpty () const
+</h3><p>Returns TRUE if the dock area is empty; otherwise returns FALSE.
+See the <a href="qdockarea.html#empty-prop">"empty"</a> property for details.
+<h3 class=fn>void <a name="lineUp"></a>QDockArea::lineUp ( bool&nbsp;keepNewLines )<tt> [slot]</tt>
+</h3>
+Lines up the dock windows in this dock area to minimize wasted
+space. If <em>keepNewLines</em> is TRUE, only space within lines is
+cleaned up. If <em>keepNewLines</em> is FALSE the number of lines might
+be changed.
+
+<h3 class=fn>void <a name="moveDockWindow"></a>QDockArea::moveDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;w, int&nbsp;index = -1 )
+</h3>
+Moves the <a href="qdockwindow.html">QDockWindow</a> <em>w</em> within the dock area. If <em>w</em> is not
+already docked in this area, <em>w</em> is docked first. If <em>index</em> is
+-1 or larger than the number of docked widgets, <em>w</em> is appended
+at the end, otherwise it is inserted at the position <em>index</em>.
+
+<h3 class=fn>void <a name="moveDockWindow-2"></a>QDockArea::moveDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, bool&nbsp;swap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves the dock window <em>w</em> inside the dock area where <em>p</em> is the
+new position (in global screen coordinates), <em>r</em> is the suggested
+rectangle of the dock window and <em>swap</em> specifies whether or not
+the orientation of the docked widget needs to be changed.
+<p> This function is used internally by <a href="qdockwindow.html">QDockWindow</a>. You shouldn't
+need to call it yourself.
+
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QDockArea::orientation () const
+</h3><p>Returns the dock area's orientation.
+See the <a href="qdockarea.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="removeDockWindow"></a>QDockArea::removeDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;w, bool&nbsp;makeFloating, bool&nbsp;swap, bool&nbsp;fixNewLines = TRUE )
+</h3>
+Removes the dock window <em>w</em> from the dock area. If <em>makeFloating</em> is TRUE, <em>w</em> gets floated, and if <em>swap</em> is TRUE,
+the orientation of <em>w</em> gets swapped. If <em>fixNewLines</em> is TRUE
+(the default) newlines in the area will be fixed.
+<p> You should never need to call this function yourself. Use
+<a href="qdockwindow.html#dock">QDockWindow::dock</a>() and <a href="qdockwindow.html#undock">QDockWindow::undock</a>() instead.
+
+<h3 class=fn>void <a name="setAcceptDockWindow"></a>QDockArea::setAcceptDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw, bool&nbsp;accept )
+</h3>
+If <em>accept</em> is TRUE, dock window <em>dw</em> can be docked in the dock
+area. If <em>accept</em> is FALSE, dock window <em>dw</em> cannot be docked in
+the dock area.
+<p> <p>See also <a href="#isDockWindowAccepted">isDockWindowAccepted</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of dock windows in the dock area.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>bool <a name="empty-prop"></a>empty</h3>
+<p>This property holds whether the dock area is empty.
+<p>
+<p>Get this property's value with <a href="#isEmpty">isEmpty</a>().
+<h3 class=fn><a href="qdockarea.html#HandlePosition-enum">HandlePosition</a> <a name="handlePosition-prop"></a>handlePosition</h3>
+<p>This property holds where the dock window splitter handle is placed in the dock area.
+<p>The default position is <a href="#HandlePosition-enum">Normal</a>.
+
+<p>Get this property's value with <a href="#handlePosition">handlePosition</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the dock area's orientation.
+<p>There is no default value; the orientation is specified in the
+constructor.
+
+<p>Get this property's value with <a href="#orientation">orientation</a>().
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, const&nbsp;<a href="qdockarea.html">QDockArea</a>&nbsp;&amp;&nbsp;dockArea )
+</h3>
+
+<p> Writes the layout of the dock windows in dock area <em>dockArea</em> to
+the text stream <em>ts</em>.
+<p> <p>See also <a href="#operator-gt-gt">operator&gt;&gt;</a>().
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, <a href="qdockarea.html">QDockArea</a>&nbsp;&amp;&nbsp;dockArea )
+</h3>
+
+<p> Reads the layout description of the dock windows in dock area <em>dockArea</em> from the text stream <em>ts</em> and restores it. The layout
+description must have been previously written by the <a href="#operator-lt-lt">operator&lt;&lt;</a>()
+function.
+<p> <p>See also <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockwindow-h.html b/doc/html/qdockwindow-h.html
new file mode 100644
index 0000000..329ad1c
--- /dev/null
+++ b/doc/html/qdockwindow-h.html
@@ -0,0 +1,282 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdockwindow.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdockwindow.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdockwindow.h</h1>
+
+<p>This is the verbatim text of the qdockwindow.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdockwindow.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the QDockWindow class
+**
+** Created : 001010
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the workspace module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDOCKWINDOW_H
+#define QDOCKWINDOW_H
+
+#ifndef QT_H
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_MAINWINDOW
+
+class QDockWindowHandle;
+class QDockWindowTitleBar;
+class QPainter;
+class QDockWindowResizeHandle;
+class QBoxLayout;
+class QHBoxLayout;
+class QVBoxLayout;
+class QDockArea;
+class QWidgetResizeHandler;
+class QMainWindow;
+class QDockAreaLayout;
+class QDockWindowPrivate;
+class QToolBar;
+class QWindowsXPStyle;
+
+class Q_EXPORT QDockWindow : public QFrame
+{
+ Q_OBJECT
+ Q_ENUMS( CloseMode Place )
+ Q_PROPERTY( int closeMode READ closeMode WRITE setCloseMode ) //### this shouldn't be of type int?!
+ Q_PROPERTY( bool resizeEnabled READ isResizeEnabled WRITE setResizeEnabled )
+ Q_PROPERTY( bool movingEnabled READ isMovingEnabled WRITE setMovingEnabled )
+ Q_PROPERTY( bool horizontallyStretchable READ isHorizontallyStretchable WRITE setHorizontallyStretchable )
+ Q_PROPERTY( bool verticallyStretchable READ isVerticallyStretchable WRITE setVerticallyStretchable )
+ Q_PROPERTY( bool stretchable READ isStretchable )
+ Q_PROPERTY( bool newLine READ newLine WRITE setNewLine )
+ Q_PROPERTY( bool opaqueMoving READ opaqueMoving WRITE setOpaqueMoving )
+ Q_PROPERTY( int offset READ offset WRITE setOffset )
+ Q_PROPERTY( Place place READ place )
+
+ friend class QDockWindowHandle;
+ friend class QDockWindowTitleBar;
+ friend class QDockArea;
+ friend class QDockAreaLayout;
+ friend class QMainWindow;
+ friend class QCEMainWindow;
+ friend class QToolBar;
+ friend class QWindowsXPStyle;
+
+public:
+ enum Place { InDock, OutsideDock };
+ enum CloseMode { Never = 0, Docked = 1, Undocked = 2, Always = Docked | Undocked };
+
+ QDockWindow( Place p = InDock, QWidget* parent=0, const char* name=0, WFlags f = 0 );
+ QDockWindow( QWidget* parent, const char* name=0, WFlags f = 0 );
+ ~QDockWindow();
+
+ virtual void setWidget( QWidget *w );
+ QWidget *widget() const;
+
+ Place place() const { return curPlace; }
+
+ QDockArea *area() const;
+
+ virtual void setCloseMode( int m );
+ bool isCloseEnabled() const;
+ int closeMode() const;
+
+ virtual void setResizeEnabled( bool b );
+ virtual void setMovingEnabled( bool b );
+ bool isResizeEnabled() const;
+ bool isMovingEnabled() const;
+
+ virtual void setHorizontallyStretchable( bool b );
+ virtual void setVerticallyStretchable( bool b );
+ bool isHorizontallyStretchable() const;
+ bool isVerticallyStretchable() const;
+ void setHorizontalStretchable( bool b ) { setHorizontallyStretchable( b ); }
+ void setVerticalStretchable( bool b ) { setVerticallyStretchable( b ); }
+ bool isHorizontalStretchable() const { return isHorizontallyStretchable(); }
+ bool isVerticalStretchable() const { return isVerticallyStretchable(); }
+ bool isStretchable() const;
+
+ virtual void setOffset( int o );
+ int offset() const;
+
+ virtual void setFixedExtentWidth( int w );
+ virtual void setFixedExtentHeight( int h );
+ QSize fixedExtent() const;
+
+ virtual void setNewLine( bool b );
+ bool newLine() const;
+
+ Qt::Orientation orientation() const;
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+
+ QBoxLayout *boxLayout();
+
+ virtual void setOpaqueMoving( bool b );
+ bool opaqueMoving() const;
+
+ bool eventFilter( QObject *o, QEvent *e );
+
+#ifdef QT_NO_WIDGET_TOPEXTRA
+ QString caption() const;
+#endif
+
+signals:
+ void orientationChanged( Orientation o );
+ void placeChanged( QDockWindow::Place p );
+ void visibilityChanged( bool );
+
+public slots:
+ virtual void undock( QWidget *w );
+ virtual void undock() { undock( 0 ); }
+ virtual void dock();
+ virtual void setOrientation( Orientation o );
+ void setCaption( const QString &amp;s );
+
+protected:
+ void resizeEvent( QResizeEvent *e );
+ void showEvent( QShowEvent *e );
+ void hideEvent( QHideEvent *e );
+ void contextMenuEvent( QContextMenuEvent *e );
+
+ void drawFrame( QPainter * );
+ void drawContents( QPainter * );
+
+ bool event( QEvent *e );
+
+private slots:
+ void toggleVisible() { if ( !isVisible() ) show(); else hide(); }
+
+private:
+ QDockWindow( Place p, QWidget* parent, const char* name, WFlags f, bool toolbar );
+
+ void handleMove( const QPoint &amp;pos, const QPoint &amp;gp, bool drawRect );
+ void updateGui();
+ void updateSplitterVisibility( bool visible );
+
+ void startRectDraw( const QPoint &amp;so, bool drawRect );
+ void endRectDraw( bool drawRect );
+ void updatePosition( const QPoint &amp;globalPos );
+ QWidget *areaAt( const QPoint &amp;gp );
+ void removeFromDock( bool fixNewLines = TRUE );
+ void swapRect( QRect &amp;r, Qt::Orientation o, const QPoint &amp;offset, QDockArea *area );
+ void init();
+
+private:
+ QDockWindowHandle *horHandle, *verHandle;
+ QDockWindowTitleBar *titleBar;
+ QWidget *wid;
+ QPainter *unclippedPainter;
+ QDockArea *dockArea, *tmpDockArea;
+ QRect currRect;
+ Place curPlace;
+ Place state;
+ bool resizeEnabled : 1;
+ bool moveEnabled : 1;
+ bool nl : 1;
+ bool opaque : 1;
+ bool isToolbar : 1;
+ bool stretchable[ 3 ];
+ Orientation startOrientation;
+ int cMode;
+ QPoint startOffset;
+ int offs;
+ QSize fExtent;
+ QDockWindowResizeHandle *hHandleTop, *hHandleBottom, *vHandleLeft, *vHandleRight;
+ QVBoxLayout *hbox;
+ QHBoxLayout *vbox;
+ QBoxLayout *childBox;
+ void *dockWindowData;
+ QPoint lastPos;
+ QSize lastSize;
+ QWidgetResizeHandler *widgetResizeHandler;
+ QDockWindowPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QDockWindow( const QDockWindow &amp; );
+ QDockWindow&amp; operator=( const QDockWindow &amp; );
+#endif
+};
+
+inline QDockArea *QDockWindow::area() const
+{
+ return dockArea;
+}
+
+#define Q_DEFINED_QDOCKWINDOW
+#include "qwinexport.h"
+#endif
+
+#endif // QDOCKWINDOW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockwindow-members.html b/doc/html/qdockwindow-members.html
new file mode 100644
index 0000000..cf34fa3
--- /dev/null
+++ b/doc/html/qdockwindow-members.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdockwindow.h:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDockWindow Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDockWindow</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdockwindow.html">QDockWindow</a>, including inherited members.
+
+<ul>
+<li><a href="qdockwindow.html#QDockWindow">QDockWindow</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdockwindow.html#area">area</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qdockwindow.html#boxLayout">boxLayout</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qdockwindow.html#closeMode">closeMode</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdockwindow.html#dock">dock</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qdockwindow.html#fixedExtent">fixedExtent</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qdockwindow.html#isCloseEnabled">isCloseEnabled</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qdockwindow.html#isHorizontalStretchable">isHorizontalStretchable</a>()
+<li><a href="qdockwindow.html#isHorizontallyStretchable">isHorizontallyStretchable</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qdockwindow.html#isMovingEnabled">isMovingEnabled</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qdockwindow.html#isResizeEnabled">isResizeEnabled</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdockwindow.html#isStretchable">isStretchable</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qdockwindow.html#isVerticalStretchable">isVerticalStretchable</a>()
+<li><a href="qdockwindow.html#isVerticallyStretchable">isVerticallyStretchable</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qdockwindow.html#newLine">newLine</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdockwindow.html#offset">offset</a>()
+<li><a href="qdockwindow.html#opaqueMoving">opaqueMoving</a>()
+<li><a href="qdockwindow.html#orientation">orientation</a>()
+<li><a href="qdockwindow.html#orientationChanged">orientationChanged</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qdockwindow.html#place">place</a>()
+<li><a href="qdockwindow.html#placeChanged">placeChanged</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qdockwindow.html#setCloseMode">setCloseMode</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdockwindow.html#setFixedExtentHeight">setFixedExtentHeight</a>()
+<li><a href="qdockwindow.html#setFixedExtentWidth">setFixedExtentWidth</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qdockwindow.html#setHorizontalStretchable">setHorizontalStretchable</a>()
+<li><a href="qdockwindow.html#setHorizontallyStretchable">setHorizontallyStretchable</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qdockwindow.html#setMovingEnabled">setMovingEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdockwindow.html#setNewLine">setNewLine</a>()
+<li><a href="qdockwindow.html#setOffset">setOffset</a>()
+<li><a href="qdockwindow.html#setOpaqueMoving">setOpaqueMoving</a>()
+<li><a href="qdockwindow.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdockwindow.html#setResizeEnabled">setResizeEnabled</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qdockwindow.html#setVerticalStretchable">setVerticalStretchable</a>()
+<li><a href="qdockwindow.html#setVerticallyStretchable">setVerticallyStretchable</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qdockwindow.html#setWidget">setWidget</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qdockwindow.html#undock">undock</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qdockwindow.html#visibilityChanged">visibilityChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qdockwindow.html#widget">widget</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockwindow.html b/doc/html/qdockwindow.html
new file mode 100644
index 0000000..80a657f
--- /dev/null
+++ b/doc/html/qdockwindow.html
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdockwindow.cpp:701 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDockWindow Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDockWindow Class Reference</h1>
+
+<p>The QDockWindow class provides a widget which can be docked
+inside a QDockArea or floated as a top level window on the
+desktop.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdockwindow-h.html">qdockwindow.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p>Inherited by <a href="qtoolbar.html">QToolBar</a>.
+<p><a href="qdockwindow-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Place-enum"><b>Place</b></a> { InDock, OutsideDock }</li>
+<li class=fn>enum <a href="#CloseMode-enum"><b>CloseMode</b></a> { Never = 0, Docked = 1, Undocked = 2, Always = Docked | Undocked }</li>
+<li class=fn><a href="#QDockWindow"><b>QDockWindow</b></a> ( Place&nbsp;p = InDock, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QDockWindow-2"><b>QDockWindow</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>virtual void <a href="#setWidget"><b>setWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#widget"><b>widget</b></a> () const</li>
+<li class=fn>Place <a href="#place"><b>place</b></a> () const</li>
+<li class=fn>QDockArea * <a href="#area"><b>area</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCloseMode"><b>setCloseMode</b></a> ( int&nbsp;m )</li>
+<li class=fn>bool <a href="#isCloseEnabled"><b>isCloseEnabled</b></a> () const</li>
+<li class=fn>int <a href="#closeMode"><b>closeMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setResizeEnabled"><b>setResizeEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setMovingEnabled"><b>setMovingEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isResizeEnabled"><b>isResizeEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isMovingEnabled"><b>isMovingEnabled</b></a> () const</li>
+<li class=fn>virtual void <a href="#setHorizontallyStretchable"><b>setHorizontallyStretchable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setVerticallyStretchable"><b>setVerticallyStretchable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isHorizontallyStretchable"><b>isHorizontallyStretchable</b></a> () const</li>
+<li class=fn>bool <a href="#isVerticallyStretchable"><b>isVerticallyStretchable</b></a> () const</li>
+<li class=fn>void setHorizontalStretchable ( bool&nbsp;b ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setVerticalStretchable ( bool&nbsp;b ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isHorizontalStretchable () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isVerticalStretchable () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#isStretchable"><b>isStretchable</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOffset"><b>setOffset</b></a> ( int&nbsp;o )</li>
+<li class=fn>int <a href="#offset"><b>offset</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFixedExtentWidth"><b>setFixedExtentWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>virtual void <a href="#setFixedExtentHeight"><b>setFixedExtentHeight</b></a> ( int&nbsp;h )</li>
+<li class=fn>QSize <a href="#fixedExtent"><b>fixedExtent</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNewLine"><b>setNewLine</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#newLine"><b>newLine</b></a> () const</li>
+<li class=fn>Qt::Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>QBoxLayout * <a href="#boxLayout"><b>boxLayout</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOpaqueMoving"><b>setOpaqueMoving</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#opaqueMoving"><b>opaqueMoving</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#undock"><b>undock</b></a> ()</li>
+<li class=fn>virtual void <a href="#dock"><b>dock</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation&nbsp;o )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#orientationChanged"><b>orientationChanged</b></a> ( Orientation&nbsp;o )</li>
+<li class=fn>void <a href="#placeChanged"><b>placeChanged</b></a> ( QDockWindow::Place&nbsp;p )</li>
+<li class=fn>void <a href="#visibilityChanged"><b>visibilityChanged</b></a> ( bool&nbsp;visible )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#closeMode-prop"><b>closeMode</b></a>&nbsp;- the close mode of a dock window</li>
+<li class=fn>bool <a href="#horizontallyStretchable-prop"><b>horizontallyStretchable</b></a>&nbsp;- whether the dock window is horizontally stretchable</li>
+<li class=fn>bool <a href="#movingEnabled-prop"><b>movingEnabled</b></a>&nbsp;- whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window</li>
+<li class=fn>bool <a href="#newLine-prop"><b>newLine</b></a>&nbsp;- whether the dock window prefers to start a new line in the dock area</li>
+<li class=fn>int <a href="#offset-prop"><b>offset</b></a>&nbsp;- the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas)</li>
+<li class=fn>bool <a href="#opaqueMoving-prop"><b>opaqueMoving</b></a>&nbsp;- whether the dock window will be shown normally whilst it is being moved</li>
+<li class=fn>Place <b>place</b> &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#resizeEnabled-prop"><b>resizeEnabled</b></a>&nbsp;- whether the dock window is resizeable</li>
+<li class=fn>bool <a href="#stretchable-prop"><b>stretchable</b></a>&nbsp;- whether the dock window is stretchable in the current orientation() &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#verticallyStretchable-prop"><b>verticallyStretchable</b></a>&nbsp;- whether the dock window is vertically stretchable</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDockWindow class provides a widget which can be docked
+inside a <a href="qdockarea.html">QDockArea</a> or floated as a top level window on the
+desktop.
+<p>
+
+<p> This class handles moving, resizing, docking and undocking dock
+windows. <a href="qtoolbar.html">QToolBar</a> is a subclass of QDockWindow so the
+functionality provided for dock windows is available with the same
+API for toolbars.
+<p> <center><img src="qmainwindow-qdockareas.png" alt="QDockWindows in a QDockArea"></center> <blockquote><p align="center"><em> Two QDockWindows (<a href="qtoolbar.html">QToolBar</a>s) in a <a href="qdockarea.html">QDockArea</a>
+</em></p>
+</blockquote><p> <center><img src="qdockwindow.png" alt="A QDockWindow"></center> <blockquote><p align="center"><em> A Floating QDockWindow
+</em></p>
+</blockquote><p> If the user drags the dock window into the dock area the dock
+window will be docked. If the user drags the dock area outside any
+dock areas the dock window will be undocked (floated) and will
+become a top level window. Double clicking a floating dock
+window's titlebar will dock the dock window to the last dock area
+it was docked in. Double clicking a docked dock window's handle
+will undock (float) the dock window.
+
+If the user clicks the close button (which does not appear on
+dock windows by default - see <a href="#closeMode-prop">closeMode</a>) the dock window will
+disappear. You can control whether or not a dock window has a
+close button with <a href="#setCloseMode">setCloseMode</a>().
+<p> <a href="qmainwindow.html">QMainWindow</a> provides four dock areas (top, left, right and bottom)
+which can be used by dock windows. For many applications using the
+dock areas provided by QMainWindow is sufficient. (See the <a href="qdockarea.html">QDockArea</a> documentation if you want to create your own dock
+areas.) In QMainWindow a right-click popup menu (the dock window
+menu) is available which lists dock windows and can be used to
+show or hide them. (The popup menu only lists dock windows that
+have a <a href="qwidget.html#setCaption">caption</a>.)
+<p> When you construct a dock window you <em>must</em> pass it a <a href="qdockarea.html">QDockArea</a>
+or a QMainWindow as its parent if you want it docked. Pass 0 for
+the parent if you want it floated.
+<p> <pre>
+ <a href="qtoolbar.html">QToolBar</a> *fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "File Actions" );
+ moveDockWindow( fileTools, Left );
+ </pre>
+
+<p> In the example above we create a new <a href="qtoolbar.html">QToolBar</a> in the constructor
+of a <a href="qmainwindow.html">QMainWindow</a> subclass (so that the <em>this</em> pointer points to
+the QMainWindow). By default the toolbar will be added to the <a href="qt.html#Dock-enum">Top</a> dock area, but we've moved it to the <a href="qt.html#Dock-enum">Left</a> dock area.
+<p> A dock window is often used to contain a single widget. In these
+cases the widget can be set by calling <a href="#setWidget">setWidget</a>(). If you're
+constructing a dock window that contains multiple widgets, e.g. a
+toolbar, arrange the widgets within a box layout inside the dock
+window. To do this use the <a href="#boxLayout">boxLayout</a>() function to get a pointer
+to the dock window's box layout, then add widgets to the layout
+using the box layout's <a href="qboxlayout.html#addWidget">QBoxLayout::addWidget</a>() function. The dock
+window will dynamically set the orientation of the layout to be
+vertical or horizontal as necessary, although you can control this
+yourself with <a href="#setOrientation">setOrientation</a>().
+<p> Although a common use of dock windows is for toolbars, they can be
+used with any widgets. (See the <a href="designer-manual.html">Qt
+ Designer</a> and <a href="linguist-manual.html">Qt
+ Linguist</a> applications, for example.) When using larger
+widgets it may make sense for the dock window to be resizable by
+calling <a href="#setResizeEnabled">setResizeEnabled</a>(). Resizable dock windows are given
+splitter-like handles to allow the user to resize them within
+their dock area. When resizable dock windows are undocked they
+become top level windows and can be resized like any other top
+level windows, e.g. by dragging a corner or edge.
+<p> Dock windows can be docked and undocked using <a href="#dock">dock</a>() and <a href="#undock">undock</a>().
+A dock window's orientation can be set with setOrientation(). You
+can also use <a href="qdockarea.html#moveDockWindow">QDockArea::moveDockWindow</a>(). If you're using a
+<a href="qmainwindow.html">QMainWindow</a>, <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>() and
+<a href="qmainwindow.html#removeDockWindow">QMainWindow::removeDockWindow</a>() are available.
+<p> A dock window can have some preferred settings, for example, you
+can set a preferred offset from the left edge (or top edge for
+vertical dock areas) of the dock area using <a href="#setOffset">setOffset</a>(). If you'd
+prefer a dock window to start on a new <a href="qdockarea.html#lines">line</a> when it is docked use <a href="#setNewLine">setNewLine</a>(). The
+<a href="#setFixedExtentWidth">setFixedExtentWidth</a>() and <a href="#setFixedExtentHeight">setFixedExtentHeight</a>() functions can be
+used to define the dock window's preferred size, and the
+<a href="#setHorizontallyStretchable">setHorizontallyStretchable</a>() and <a href="#setVerticallyStretchable">setVerticallyStretchable</a>()
+functions set whether the dock window can be stretched or not.
+Dock windows can be moved by default, but this can be changed with
+<a href="#setMovingEnabled">setMovingEnabled</a>(). When a dock window is moved it is shown as a
+rectangular outline, but it can be shown normally using
+<a href="#setOpaqueMoving">setOpaqueMoving</a>().
+<p> When a dock window's visibility changes, i.e. it is shown or
+hidden, the <a href="#visibilityChanged">visibilityChanged</a>() signal is emitted. When a dock
+window is docked, undocked or moved inside the dock area the
+<a href="#placeChanged">placeChanged</a>() signal is emitted.
+<p>See also <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="CloseMode-enum"></a>QDockWindow::CloseMode</h3>
+
+<p> This enum type specifies when (if ever) a dock window has a close
+button.
+<ul>
+<li><tt>QDockWindow::Never</tt> - The dock window never has a close button and cannot
+be closed by the user.
+<li><tt>QDockWindow::Docked</tt> - The dock window has a close button only when
+docked.
+<li><tt>QDockWindow::Undocked</tt> - The dock window has a close button only when
+floating.
+<li><tt>QDockWindow::Always</tt> - The dock window always has a close button.
+
+</ul>
+<h3 class=fn><a name="Place-enum"></a>QDockWindow::Place</h3>
+
+<p> This enum specifies the possible locations for a QDockWindow:
+<ul>
+<li><tt>QDockWindow::InDock</tt> - Inside a <a href="qdockarea.html">QDockArea</a>.
+<li><tt>QDockWindow::OutsideDock</tt> - Floating as a top level window on the desktop.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDockWindow"></a>QDockWindow::QDockWindow ( <a href="qdockwindow.html#Place-enum">Place</a>&nbsp;p = InDock, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a QDockWindow with parent <em>parent</em>, called <em>name</em> and
+with widget flags <em>f</em>.
+<p> If <em>p</em> is <a href="#Place-enum">InDock</a>, the dock window is docked into a dock area
+and <em>parent</em> <em>must</em> be a <a href="qdockarea.html">QDockArea</a> or a <a href="qmainwindow.html">QMainWindow</a>. If the <em>parent</em> is a QMainWindow the dock window will be docked in the main
+window's <a href="qt.html#Dock-enum">Top</a> dock area.
+<p> If <em>p</em> is <a href="#Place-enum">OutsideDock</a>, the dock window is created as a floating
+window.
+<p> We recommend creating the dock area <a href="#Place-enum">InDock</a> with a QMainWindow
+as parent then calling <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>() to move the
+dock window where you want it.
+
+<h3 class=fn><a name="QDockWindow-2"></a>QDockWindow::QDockWindow ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a QDockWindow with parent <em>parent</em>, called <em>name</em> and
+with widget flags <em>f</em>.
+
+<h3 class=fn><a href="qdockarea.html">QDockArea</a>&nbsp;* <a name="area"></a>QDockWindow::area () const
+</h3>
+
+<p> Returns the dock area in which this dock window is docked, or 0 if
+the dock window is floating.
+
+<h3 class=fn><a href="qboxlayout.html">QBoxLayout</a>&nbsp;* <a name="boxLayout"></a>QDockWindow::boxLayout ()
+</h3>
+Returns the layout which is used for adding widgets to the dock
+window. The layout's orientation is set automatically to match the
+orientation of the dock window. You can add widgets to the layout
+using the box layout's <a href="qboxlayout.html#addWidget">QBoxLayout::addWidget</a>() function.
+<p> If the dock window only needs to contain a single widget use
+<a href="#setWidget">setWidget</a>() instead.
+<p> <p>See also <a href="#setWidget">setWidget</a>() and <a href="#setOrientation">setOrientation</a>().
+
+<h3 class=fn>int <a name="closeMode"></a>QDockWindow::closeMode () const
+</h3><p>Returns the close mode of a dock window.
+See the <a href="qdockwindow.html#closeMode-prop">"closeMode"</a> property for details.
+<h3 class=fn>void <a name="dock"></a>QDockWindow::dock ()<tt> [virtual slot]</tt>
+</h3>
+Docks the dock window into the last dock area in which it was
+docked.
+<p> If the dock window has no last dock area (e.g. it was created as a
+floating window and has never been docked), or if the last dock
+area it was docked in does not exist (e.g. the dock area has been
+deleted), nothing happens.
+<p> The dock window will dock with the dock area regardless of the return value
+of <a href="qdockarea.html#isDockWindowAccepted">QDockArea::isDockWindowAccepted</a>().
+<p> <p>See also <a href="#undock">undock</a>(), <a href="qdockarea.html#moveDockWindow">QDockArea::moveDockWindow</a>(), <a href="qdockarea.html#removeDockWindow">QDockArea::removeDockWindow</a>(), <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>(), <a href="qmainwindow.html#removeDockWindow">QMainWindow::removeDockWindow</a>(), and <a href="qdockarea.html#isDockWindowAccepted">QDockArea::isDockWindowAccepted</a>().
+
+<p>
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="fixedExtent"></a>QDockWindow::fixedExtent () const
+</h3>
+Returns the dock window's preferred size (fixed extent).
+<p> <p>See also <a href="#setFixedExtentWidth">setFixedExtentWidth</a>() and <a href="#setFixedExtentHeight">setFixedExtentHeight</a>().
+
+<h3 class=fn>bool <a name="isCloseEnabled"></a>QDockWindow::isCloseEnabled () const
+</h3>
+Returns TRUE if the dock window has a close button; otherwise
+returns FALSE. The result depends on the dock window's <a href="#Place-enum">Place</a>
+and its <a href="#CloseMode-enum">CloseMode</a>.
+<p> <p>See also <a href="#closeMode-prop">closeMode</a>.
+
+<h3 class=fn>bool <a name="isHorizontalStretchable"></a>QDockWindow::isHorizontalStretchable () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>bool <a name="isHorizontallyStretchable"></a>QDockWindow::isHorizontallyStretchable () const
+</h3><p>Returns TRUE if the dock window is horizontally stretchable; otherwise returns FALSE.
+See the <a href="qdockwindow.html#horizontallyStretchable-prop">"horizontallyStretchable"</a> property for details.
+<h3 class=fn>bool <a name="isMovingEnabled"></a>QDockWindow::isMovingEnabled () const
+</h3><p>Returns TRUE if the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window; otherwise returns FALSE.
+See the <a href="qdockwindow.html#movingEnabled-prop">"movingEnabled"</a> property for details.
+<h3 class=fn>bool <a name="isResizeEnabled"></a>QDockWindow::isResizeEnabled () const
+</h3><p>Returns TRUE if the dock window is resizeable; otherwise returns FALSE.
+See the <a href="qdockwindow.html#resizeEnabled-prop">"resizeEnabled"</a> property for details.
+<h3 class=fn>bool <a name="isStretchable"></a>QDockWindow::isStretchable () const
+</h3><p>Returns TRUE if the dock window is stretchable in the current <a href="#orientation">orientation</a>(); otherwise returns FALSE.
+See the <a href="qdockwindow.html#stretchable-prop">"stretchable"</a> property for details.
+<h3 class=fn>bool <a name="isVerticalStretchable"></a>QDockWindow::isVerticalStretchable () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>bool <a name="isVerticallyStretchable"></a>QDockWindow::isVerticallyStretchable () const
+</h3><p>Returns TRUE if the dock window is vertically stretchable; otherwise returns FALSE.
+See the <a href="qdockwindow.html#verticallyStretchable-prop">"verticallyStretchable"</a> property for details.
+<h3 class=fn>bool <a name="newLine"></a>QDockWindow::newLine () const
+</h3><p>Returns TRUE if the dock window prefers to start a new line in the dock area; otherwise returns FALSE.
+See the <a href="qdockwindow.html#newLine-prop">"newLine"</a> property for details.
+<h3 class=fn>int <a name="offset"></a>QDockWindow::offset () const
+</h3><p>Returns the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas).
+See the <a href="qdockwindow.html#offset-prop">"offset"</a> property for details.
+<h3 class=fn>bool <a name="opaqueMoving"></a>QDockWindow::opaqueMoving () const
+</h3><p>Returns TRUE if the dock window will be shown normally whilst it is being moved; otherwise returns FALSE.
+See the <a href="qdockwindow.html#opaqueMoving-prop">"opaqueMoving"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Qt::Orientation</a> <a name="orientation"></a>QDockWindow::orientation () const
+</h3>
+Returns the orientation of the dock window.
+<p> <p>See also <a href="#orientationChanged">orientationChanged</a>().
+
+<h3 class=fn>void <a name="orientationChanged"></a>QDockWindow::orientationChanged ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;o )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the orientation of the dock window is
+changed. The new orientation is <em>o</em>.
+
+<h3 class=fn><a href="qdockwindow.html#Place-enum">Place</a> <a name="place"></a>QDockWindow::place () const
+</h3>
+
+<p> This function returns where the dock window is placed. This is
+either <a href="#Place-enum">InDock</a> or <a href="#Place-enum">OutsideDock</a>.
+<p> <p>See also <a href="qdockarea.html#moveDockWindow">QDockArea::moveDockWindow</a>(), <a href="qdockarea.html#removeDockWindow">QDockArea::removeDockWindow</a>(), <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>(), and <a href="qmainwindow.html#removeDockWindow">QMainWindow::removeDockWindow</a>().
+
+<h3 class=fn>void <a name="placeChanged"></a>QDockWindow::placeChanged ( <a href="qdockwindow.html#Place-enum">QDockWindow::Place</a>&nbsp;p )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the dock window is docked (<em>p</em> is <a href="#Place-enum">InDock</a>), undocked (<em>p</em> is <a href="#Place-enum">OutsideDock</a>) or moved inside the
+the dock area.
+<p> <p>See also <a href="qdockarea.html#moveDockWindow">QDockArea::moveDockWindow</a>(), <a href="qdockarea.html#removeDockWindow">QDockArea::removeDockWindow</a>(), <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>(), and <a href="qmainwindow.html#removeDockWindow">QMainWindow::removeDockWindow</a>().
+
+<h3 class=fn>void <a name="setCloseMode"></a>QDockWindow::setCloseMode ( int&nbsp;m )<tt> [virtual]</tt>
+</h3><p>Sets the close mode of a dock window to <em>m</em>.
+See the <a href="qdockwindow.html#closeMode-prop">"closeMode"</a> property for details.
+<h3 class=fn>void <a name="setFixedExtentHeight"></a>QDockWindow::setFixedExtentHeight ( int&nbsp;h )<tt> [virtual]</tt>
+</h3>
+Sets the dock window's preferred height for its fixed extent
+(size) to <em>h</em>.
+<p> <p>See also <a href="#setFixedExtentWidth">setFixedExtentWidth</a>().
+
+<h3 class=fn>void <a name="setFixedExtentWidth"></a>QDockWindow::setFixedExtentWidth ( int&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the dock window's preferred width for its fixed extent (size)
+to <em>w</em>.
+<p> <p>See also <a href="#setFixedExtentHeight">setFixedExtentHeight</a>().
+
+<h3 class=fn>void <a name="setHorizontalStretchable"></a>QDockWindow::setHorizontalStretchable ( bool&nbsp;b )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="setHorizontallyStretchable"></a>QDockWindow::setHorizontallyStretchable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the dock window is horizontally stretchable to <em>b</em>.
+See the <a href="qdockwindow.html#horizontallyStretchable-prop">"horizontallyStretchable"</a> property for details.
+<h3 class=fn>void <a name="setMovingEnabled"></a>QDockWindow::setMovingEnabled ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window to <em>b</em>.
+See the <a href="qdockwindow.html#movingEnabled-prop">"movingEnabled"</a> property for details.
+<h3 class=fn>void <a name="setNewLine"></a>QDockWindow::setNewLine ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the dock window prefers to start a new line in the dock area to <em>b</em>.
+See the <a href="qdockwindow.html#newLine-prop">"newLine"</a> property for details.
+<h3 class=fn>void <a name="setOffset"></a>QDockWindow::setOffset ( int&nbsp;o )<tt> [virtual]</tt>
+</h3><p>Sets the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas) to <em>o</em>.
+See the <a href="qdockwindow.html#offset-prop">"offset"</a> property for details.
+<h3 class=fn>void <a name="setOpaqueMoving"></a>QDockWindow::setOpaqueMoving ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the dock window will be shown normally whilst it is being moved to <em>b</em>.
+See the <a href="qdockwindow.html#opaqueMoving-prop">"opaqueMoving"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QDockWindow::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;o )<tt> [virtual slot]</tt>
+</h3>
+Sets the orientation of the dock window to <em>o</em>. The orientation
+is propagated to the layout <a href="#boxLayout">boxLayout</a>().
+<p> <b>Warning:</b> All undocked QToolBars will always have a horizontal orientation.
+
+<h3 class=fn>void <a name="setResizeEnabled"></a>QDockWindow::setResizeEnabled ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the dock window is resizeable to <em>b</em>.
+See the <a href="qdockwindow.html#resizeEnabled-prop">"resizeEnabled"</a> property for details.
+<h3 class=fn>void <a name="setVerticalStretchable"></a>QDockWindow::setVerticalStretchable ( bool&nbsp;b )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="setVerticallyStretchable"></a>QDockWindow::setVerticallyStretchable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the dock window is vertically stretchable to <em>b</em>.
+See the <a href="qdockwindow.html#verticallyStretchable-prop">"verticallyStretchable"</a> property for details.
+<h3 class=fn>void <a name="setWidget"></a>QDockWindow::setWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the dock window's main widget to <em>w</em>.
+<p> <p>See also <a href="#boxLayout">boxLayout</a>().
+
+<h3 class=fn>void <a name="undock"></a>QDockWindow::undock ()<tt> [virtual slot]</tt>
+</h3>
+
+<p> Undocks the QDockWindow from its current dock area if it is
+docked; otherwise does nothing.
+<p> <p>See also <a href="#dock">dock</a>(), <a href="qdockarea.html#moveDockWindow">QDockArea::moveDockWindow</a>(), <a href="qdockarea.html#removeDockWindow">QDockArea::removeDockWindow</a>(), <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>(), and <a href="qmainwindow.html#removeDockWindow">QMainWindow::removeDockWindow</a>().
+
+<h3 class=fn>void <a name="visibilityChanged"></a>QDockWindow::visibilityChanged ( bool&nbsp;visible )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the visibility of the dock window
+relatively to its dock area is changed. If <em>visible</em> is TRUE, the
+QDockWindow is now visible to the dock area, otherwise it has been
+hidden.
+<p> A dock window can be hidden if it has a close button which the
+user has clicked. In the case of a <a href="qmainwindow.html">QMainWindow</a> a dock window can
+have its visibility changed (hidden or shown) by clicking its name
+in the dock window menu that lists the QMainWindow's dock windows.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QDockWindow::widget () const
+</h3>
+Returns the dock window's main widget.
+<p> <p>See also <a href="#setWidget">setWidget</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="closeMode-prop"></a>closeMode</h3>
+<p>This property holds the close mode of a dock window.
+<p>Defines when (if ever) the dock window has a close button. The
+choices are <a href="#CloseMode-enum">Never</a>, <a href="#CloseMode-enum">Docked</a> (i.e. only when docked), <a href="#CloseMode-enum">Undocked</a> (only when undocked, i.e. floated) or <a href="#CloseMode-enum">Always</a>.
+<p> The default is <a href="#CloseMode-enum">Never</a>.
+
+<p>Set this property's value with <a href="#setCloseMode">setCloseMode</a>() and get this property's value with <a href="#closeMode">closeMode</a>().
+<h3 class=fn>bool <a name="horizontallyStretchable-prop"></a>horizontallyStretchable</h3>
+<p>This property holds whether the dock window is horizontally stretchable.
+<p>A dock window is horizontally stretchable if you call
+<a href="#setHorizontallyStretchable">setHorizontallyStretchable</a>(TRUE) or <a href="#setResizeEnabled">setResizeEnabled</a>(TRUE).
+<p> <p>See also <a href="#resizeEnabled-prop">resizeEnabled</a>.
+
+<p>Bugs and limitations:
+<ul>
+<li> Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+</ul>
+<p>Set this property's value with <a href="#setHorizontallyStretchable">setHorizontallyStretchable</a>() and get this property's value with <a href="#isHorizontallyStretchable">isHorizontallyStretchable</a>().
+<h3 class=fn>bool <a name="movingEnabled-prop"></a>movingEnabled</h3>
+<p>This property holds whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window.
+<p>This property is TRUE by default.
+
+<p>Set this property's value with <a href="#setMovingEnabled">setMovingEnabled</a>() and get this property's value with <a href="#isMovingEnabled">isMovingEnabled</a>().
+<h3 class=fn>bool <a name="newLine-prop"></a>newLine</h3>
+<p>This property holds whether the dock window prefers to start a new line in the dock area.
+<p>The default is FALSE, i.e. the dock window doesn't require a new
+line in the dock area.
+
+<p>Set this property's value with <a href="#setNewLine">setNewLine</a>() and get this property's value with <a href="#newLine">newLine</a>().
+<h3 class=fn>int <a name="offset-prop"></a>offset</h3>
+<p>This property holds the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas).
+<p>The default is 0.
+
+<p>Set this property's value with <a href="#setOffset">setOffset</a>() and get this property's value with <a href="#offset">offset</a>().
+<h3 class=fn>bool <a name="opaqueMoving-prop"></a>opaqueMoving</h3>
+<p>This property holds whether the dock window will be shown normally whilst it is being moved.
+<p>If this property is FALSE, (the default), the dock window will be
+represented by an outline rectangle whilst it is being moved.
+<p> <b>Warning:</b> Currently opaque moving has some problems and we do not
+recommend using it at this time. We expect to fix these problems
+in a future release.
+
+<p>Set this property's value with <a href="#setOpaqueMoving">setOpaqueMoving</a>() and get this property's value with <a href="#opaqueMoving">opaqueMoving</a>().
+<h3 class=fn>bool <a name="resizeEnabled-prop"></a>resizeEnabled</h3>
+<p>This property holds whether the dock window is resizeable.
+<p>A resizeable dock window can be resized using splitter-like
+handles inside a dock area and like every other top level window
+when floating.
+<p> A dock window is both horizontally and vertically stretchable if
+you call <a href="#setResizeEnabled">setResizeEnabled</a>(TRUE).
+<p> This property is FALSE by default.
+<p> <p>See also <a href="#verticallyStretchable-prop">verticallyStretchable</a> and <a href="#horizontallyStretchable-prop">horizontallyStretchable</a>.
+
+<p>Set this property's value with <a href="#setResizeEnabled">setResizeEnabled</a>() and get this property's value with <a href="#isResizeEnabled">isResizeEnabled</a>().
+<h3 class=fn>bool <a name="stretchable-prop"></a>stretchable</h3>
+<p>This property holds whether the dock window is stretchable in the current <a href="#orientation">orientation</a>().
+<p>This property can be set using <a href="#setHorizontallyStretchable">setHorizontallyStretchable</a>() and
+<a href="#setVerticallyStretchable">setVerticallyStretchable</a>(), or with <a href="#setResizeEnabled">setResizeEnabled</a>().
+<p> <p>See also <a href="#resizeEnabled-prop">resizeEnabled</a>.
+
+<p>Bugs and limitations:
+<ul>
+<li> Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+</ul>
+<p>Get this property's value with <a href="#isStretchable">isStretchable</a>().
+<h3 class=fn>bool <a name="verticallyStretchable-prop"></a>verticallyStretchable</h3>
+<p>This property holds whether the dock window is vertically stretchable.
+<p>A dock window is vertically stretchable if you call
+<a href="#setVerticallyStretchable">setVerticallyStretchable</a>(TRUE) or <a href="#setResizeEnabled">setResizeEnabled</a>(TRUE).
+<p> <p>See also <a href="#resizeEnabled-prop">resizeEnabled</a>.
+
+<p>Bugs and limitations:
+<ul>
+<li> Strecthability is broken. You must call setResizeEnabled(TRUE) to get
+proper behavior and even then QDockWindow does not limit stretchablilty.
+</ul>
+<p>Set this property's value with <a href="#setVerticallyStretchable">setVerticallyStretchable</a>() and get this property's value with <a href="#isVerticallyStretchable">isVerticallyStretchable</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdockwindow.png b/doc/html/qdockwindow.png
new file mode 100644
index 0000000..75ccaa4
--- /dev/null
+++ b/doc/html/qdockwindow.png
Binary files differ
diff --git a/doc/html/qdom-h.html b/doc/html/qdom-h.html
new file mode 100644
index 0000000..2cfb98e
--- /dev/null
+++ b/doc/html/qdom-h.html
@@ -0,0 +1,722 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdom.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdom.h</h1>
+
+<p>This is the verbatim text of the qdom.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdom.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QDomDocument and related classes.
+**
+** Created : 000518
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the xml module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDOM_H
+#define QDOM_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#if !defined(QT_MODULE_XML) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_XML )
+#define QM_EXPORT_DOM
+#else
+#define QM_EXPORT_DOM Q_EXPORT
+#endif
+
+#ifndef QT_NO_DOM
+
+class QIODevice;
+class QTextStream;
+
+class QXmlInputSource;
+class QXmlReader;
+
+class QDomDocumentPrivate;
+class QDomDocumentTypePrivate;
+class QDomDocumentFragmentPrivate;
+class QDomNodePrivate;
+class QDomNodeListPrivate;
+class QDomImplementationPrivate;
+class QDomElementPrivate;
+class QDomNotationPrivate;
+class QDomEntityPrivate;
+class QDomEntityReferencePrivate;
+class QDomProcessingInstructionPrivate;
+class QDomAttrPrivate;
+class QDomCharacterDataPrivate;
+class QDomTextPrivate;
+class QDomCommentPrivate;
+class QDomCDATASectionPrivate;
+class QDomNamedNodeMapPrivate;
+class QDomImplementationPrivate;
+
+class QDomNodeList;
+class QDomElement;
+class QDomText;
+class QDomComment;
+class QDomCDATASection;
+class QDomProcessingInstruction;
+class QDomAttr;
+class QDomEntityReference;
+class QDomDocument;
+class QDomNamedNodeMap;
+class QDomDocument;
+class QDomDocumentFragment;
+class QDomDocumentType;
+class QDomImplementation;
+class QDomNode;
+class QDomEntity;
+class QDomNotation;
+class QDomCharacterData;
+
+class QM_EXPORT_DOM QDomImplementation
+{
+public:
+ QDomImplementation();
+ QDomImplementation( const QDomImplementation&amp; );
+ virtual ~QDomImplementation();
+ QDomImplementation&amp; operator= ( const QDomImplementation&amp; );
+ bool operator== ( const QDomImplementation&amp; ) const;
+ bool operator!= ( const QDomImplementation&amp; ) const;
+
+ // functions
+ virtual bool hasFeature( const QString&amp; feature, const QString&amp; version );
+ virtual QDomDocumentType createDocumentType( const QString&amp; qName, const QString&amp; publicId, const QString&amp; systemId );
+ virtual QDomDocument createDocument( const QString&amp; nsURI, const QString&amp; qName, const QDomDocumentType&amp; doctype );
+
+ // Qt extension
+ bool isNull();
+
+private:
+ QDomImplementationPrivate* impl;
+ QDomImplementation( QDomImplementationPrivate* );
+
+ friend class QDomDocument;
+};
+
+class QM_EXPORT_DOM QDomNode
+{
+public:
+ enum NodeType {
+ ElementNode = 1,
+ AttributeNode = 2,
+ TextNode = 3,
+ CDATASectionNode = 4,
+ EntityReferenceNode = 5,
+ EntityNode = 6,
+ ProcessingInstructionNode = 7,
+ CommentNode = 8,
+ DocumentNode = 9,
+ DocumentTypeNode = 10,
+ DocumentFragmentNode = 11,
+ NotationNode = 12,
+ BaseNode = 21,// this is not in the standard
+ CharacterDataNode = 22 // this is not in the standard
+ };
+
+ QDomNode();
+ QDomNode( const QDomNode&amp; );
+ QDomNode&amp; operator= ( const QDomNode&amp; );
+ bool operator== ( const QDomNode&amp; ) const;
+ bool operator!= ( const QDomNode&amp; ) const;
+ virtual ~QDomNode();
+
+ // DOM functions
+ virtual QDomNode insertBefore( const QDomNode&amp; newChild, const QDomNode&amp; refChild );
+ virtual QDomNode insertAfter( const QDomNode&amp; newChild, const QDomNode&amp; refChild );
+ virtual QDomNode replaceChild( const QDomNode&amp; newChild, const QDomNode&amp; oldChild );
+ virtual QDomNode removeChild( const QDomNode&amp; oldChild );
+ virtual QDomNode appendChild( const QDomNode&amp; newChild );
+ virtual bool hasChildNodes() const;
+ virtual QDomNode cloneNode( bool deep = TRUE ) const;
+ virtual void normalize();
+ virtual bool isSupported( const QString&amp; feature, const QString&amp; version ) const;
+
+ // DOM read only attributes
+ virtual QString nodeName() const;
+ virtual QDomNode::NodeType nodeType() const;
+ virtual QDomNode parentNode() const;
+ virtual QDomNodeList childNodes() const;
+ virtual QDomNode firstChild() const;
+ virtual QDomNode lastChild() const;
+ virtual QDomNode previousSibling() const;
+ virtual QDomNode nextSibling() const;
+ virtual QDomNamedNodeMap attributes() const;
+ virtual QDomDocument ownerDocument() const;
+ virtual QString namespaceURI() const;
+ virtual QString localName() const;
+ virtual bool hasAttributes() const;
+
+ // DOM attributes
+ virtual QString nodeValue() const;
+ virtual void setNodeValue( const QString&amp; );
+ virtual QString prefix() const;
+ virtual void setPrefix( const QString&amp; pre );
+
+ // Qt extensions
+ virtual bool isAttr() const;
+ virtual bool isCDATASection() const;
+ virtual bool isDocumentFragment() const;
+ virtual bool isDocument() const;
+ virtual bool isDocumentType() const;
+ virtual bool isElement() const;
+ virtual bool isEntityReference() const;
+ virtual bool isText() const;
+ virtual bool isEntity() const;
+ virtual bool isNotation() const;
+ virtual bool isProcessingInstruction() const;
+ virtual bool isCharacterData() const;
+ virtual bool isComment() const;
+
+ /**
+ * Shortcut to avoid dealing with QDomNodeList
+ * all the time.
+ */
+ QDomNode namedItem( const QString&amp; name ) const;
+
+ bool isNull() const;
+ void clear();
+
+ QDomAttr toAttr();
+ QDomCDATASection toCDATASection();
+ QDomDocumentFragment toDocumentFragment();
+ QDomDocument toDocument();
+ QDomDocumentType toDocumentType();
+ QDomElement toElement();
+ QDomEntityReference toEntityReference();
+ QDomText toText();
+ QDomEntity toEntity();
+ QDomNotation toNotation();
+ QDomProcessingInstruction toProcessingInstruction();
+ QDomCharacterData toCharacterData();
+ QDomComment toComment();
+
+ void save( QTextStream&amp;, int ) const;
+
+protected:
+ QDomNodePrivate* impl;
+ QDomNode( QDomNodePrivate* );
+
+private:
+ friend class QDomDocument;
+ friend class QDomDocumentType;
+ friend class QDomNodeList;
+ friend class QDomNamedNodeMap;
+};
+
+class QM_EXPORT_DOM QDomNodeList
+{
+public:
+ QDomNodeList();
+ QDomNodeList( const QDomNodeList&amp; );
+ QDomNodeList&amp; operator= ( const QDomNodeList&amp; );
+ bool operator== ( const QDomNodeList&amp; ) const;
+ bool operator!= ( const QDomNodeList&amp; ) const;
+ virtual ~QDomNodeList();
+
+ // DOM functions
+ virtual QDomNode item( int index ) const;
+
+ // DOM read only attributes
+ virtual uint length() const;
+ uint count() const { return length(); } // Qt API consitancy
+
+private:
+ QDomNodeListPrivate* impl;
+ QDomNodeList( QDomNodeListPrivate* );
+
+ friend class QDomNode;
+ friend class QDomElement;
+ friend class QDomDocument;
+};
+
+class QM_EXPORT_DOM QDomDocumentType : public QDomNode
+{
+public:
+ QDomDocumentType();
+ QDomDocumentType( const QDomDocumentType&amp; x );
+ QDomDocumentType&amp; operator= ( const QDomDocumentType&amp; );
+ ~QDomDocumentType();
+
+ // DOM read only attributes
+ virtual QString name() const;
+ virtual QDomNamedNodeMap entities() const;
+ virtual QDomNamedNodeMap notations() const;
+ virtual QString publicId() const;
+ virtual QString systemId() const;
+ virtual QString internalSubset() const;
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isDocumentType() const;
+
+private:
+ QDomDocumentType( QDomDocumentTypePrivate* );
+
+ friend class QDomImplementation;
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomDocument : public QDomNode
+{
+public:
+ QDomDocument();
+ Q_EXPLICIT QDomDocument( const QString&amp; name );
+ Q_EXPLICIT QDomDocument( const QDomDocumentType&amp; doctype );
+ QDomDocument( const QDomDocument&amp; x );
+ QDomDocument&amp; operator= ( const QDomDocument&amp; );
+ ~QDomDocument();
+
+ // DOM functions
+ QDomElement createElement( const QString&amp; tagName );
+ QDomDocumentFragment createDocumentFragment();
+ QDomText createTextNode( const QString&amp; data );
+ QDomComment createComment( const QString&amp; data );
+ QDomCDATASection createCDATASection( const QString&amp; data );
+ QDomProcessingInstruction createProcessingInstruction( const QString&amp; target, const QString&amp; data );
+ QDomAttr createAttribute( const QString&amp; name );
+ QDomEntityReference createEntityReference( const QString&amp; name );
+ QDomNodeList elementsByTagName( const QString&amp; tagname ) const;
+ QDomNode importNode( const QDomNode&amp; importedNode, bool deep );
+ QDomElement createElementNS( const QString&amp; nsURI, const QString&amp; qName );
+ QDomAttr createAttributeNS( const QString&amp; nsURI, const QString&amp; qName );
+ QDomNodeList elementsByTagNameNS( const QString&amp; nsURI, const QString&amp; localName );
+ QDomElement elementById( const QString&amp; elementId );
+
+ // DOM read only attributes
+ QDomDocumentType doctype() const;
+ QDomImplementation implementation() const;
+ QDomElement documentElement() const;
+
+ // Qt extensions
+ bool setContent( const QCString&amp; text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( const QByteArray&amp; text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( const QString&amp; text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( QIODevice* dev, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( const QCString&amp; text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( const QByteArray&amp; text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( const QString&amp; text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+ bool setContent( QIODevice* dev, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+
+ bool setContent( QXmlInputSource *source, QXmlReader *reader, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isDocument() const;
+
+ // Qt extensions
+ QString toString() const; // ### Qt 4: merge the two overloads
+ QString toString( int ) const;
+ QCString toCString() const; // ### Qt 4: merge the two overloads
+ QCString toCString( int ) const;
+
+private:
+ QDomDocument( QDomDocumentPrivate* );
+
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomNamedNodeMap
+{
+public:
+ QDomNamedNodeMap();
+ QDomNamedNodeMap( const QDomNamedNodeMap&amp; );
+ QDomNamedNodeMap&amp; operator= ( const QDomNamedNodeMap&amp; );
+ bool operator== ( const QDomNamedNodeMap&amp; ) const;
+ bool operator!= ( const QDomNamedNodeMap&amp; ) const;
+ ~QDomNamedNodeMap();
+
+ // DOM functions
+ QDomNode namedItem( const QString&amp; name ) const;
+ QDomNode setNamedItem( const QDomNode&amp; newNode );
+ QDomNode removeNamedItem( const QString&amp; name );
+ QDomNode item( int index ) const;
+ QDomNode namedItemNS( const QString&amp; nsURI, const QString&amp; localName ) const;
+ QDomNode setNamedItemNS( const QDomNode&amp; newNode );
+ QDomNode removeNamedItemNS( const QString&amp; nsURI, const QString&amp; localName );
+
+ // DOM read only attributes
+ uint length() const;
+ uint count() const { return length(); } // Qt API consitancy
+
+ // Qt extension
+ bool contains( const QString&amp; name ) const;
+
+private:
+ QDomNamedNodeMapPrivate* impl;
+ QDomNamedNodeMap( QDomNamedNodeMapPrivate* );
+
+ friend class QDomNode;
+ friend class QDomDocumentType;
+ friend class QDomElement;
+};
+
+class QM_EXPORT_DOM QDomDocumentFragment : public QDomNode
+{
+public:
+ QDomDocumentFragment();
+ QDomDocumentFragment( const QDomDocumentFragment&amp; x );
+ QDomDocumentFragment&amp; operator= ( const QDomDocumentFragment&amp; );
+ ~QDomDocumentFragment();
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isDocumentFragment() const;
+
+private:
+ QDomDocumentFragment( QDomDocumentFragmentPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomCharacterData : public QDomNode
+{
+public:
+ QDomCharacterData();
+ QDomCharacterData( const QDomCharacterData&amp; x );
+ QDomCharacterData&amp; operator= ( const QDomCharacterData&amp; );
+ ~QDomCharacterData();
+
+ // DOM functions
+ virtual QString substringData( unsigned long offset, unsigned long count );
+ virtual void appendData( const QString&amp; arg );
+ virtual void insertData( unsigned long offset, const QString&amp; arg );
+ virtual void deleteData( unsigned long offset, unsigned long count );
+ virtual void replaceData( unsigned long offset, unsigned long count, const QString&amp; arg );
+
+ // DOM read only attributes
+ virtual uint length() const;
+
+ // DOM attributes
+ virtual QString data() const;
+ virtual void setData( const QString&amp; );
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isCharacterData() const;
+
+private:
+ QDomCharacterData( QDomCharacterDataPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomText;
+ friend class QDomComment;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomAttr : public QDomNode
+{
+public:
+ QDomAttr();
+ QDomAttr( const QDomAttr&amp; x );
+ QDomAttr&amp; operator= ( const QDomAttr&amp; );
+ ~QDomAttr();
+
+ // DOM read only attributes
+ virtual QString name() const;
+ virtual bool specified() const;
+ virtual QDomElement ownerElement() const;
+
+ // DOM attributes
+ virtual QString value() const;
+ virtual void setValue( const QString&amp; );
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isAttr() const;
+
+private:
+ QDomAttr( QDomAttrPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomElement;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomElement : public QDomNode
+{
+public:
+ QDomElement();
+ QDomElement( const QDomElement&amp; x );
+ QDomElement&amp; operator= ( const QDomElement&amp; );
+ ~QDomElement();
+
+ // DOM functions
+ QString attribute( const QString&amp; name, const QString&amp; defValue = QString::null ) const;
+ void setAttribute( const QString&amp; name, const QString&amp; value );
+ void setAttribute( const QString&amp; name, int value );
+ void setAttribute( const QString&amp; name, uint value );
+ void setAttribute( const QString&amp; name, long value );
+ void setAttribute( const QString&amp; name, ulong value );
+ void setAttribute( const QString&amp; name, double value );
+ void removeAttribute( const QString&amp; name );
+ QDomAttr attributeNode( const QString&amp; name);
+ QDomAttr setAttributeNode( const QDomAttr&amp; newAttr );
+ QDomAttr removeAttributeNode( const QDomAttr&amp; oldAttr );
+ virtual QDomNodeList elementsByTagName( const QString&amp; tagname ) const;
+ bool hasAttribute( const QString&amp; name ) const;
+
+ QString attributeNS( const QString nsURI, const QString&amp; localName, const QString&amp; defValue ) const;
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, const QString&amp; value );
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, int value );
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, uint value );
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, long value );
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, ulong value );
+ void setAttributeNS( const QString nsURI, const QString&amp; qName, double value );
+ void removeAttributeNS( const QString&amp; nsURI, const QString&amp; localName );
+ QDomAttr attributeNodeNS( const QString&amp; nsURI, const QString&amp; localName );
+ QDomAttr setAttributeNodeNS( const QDomAttr&amp; newAttr );
+ virtual QDomNodeList elementsByTagNameNS( const QString&amp; nsURI, const QString&amp; localName ) const;
+ bool hasAttributeNS( const QString&amp; nsURI, const QString&amp; localName ) const;
+
+ // DOM read only attributes
+ QString tagName() const;
+ void setTagName( const QString&amp; name ); // Qt extension
+
+ // Reimplemented from QDomNode
+ QDomNamedNodeMap attributes() const;
+ QDomNode::NodeType nodeType() const;
+ bool isElement() const;
+
+ QString text() const;
+
+private:
+ QDomElement( QDomElementPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+ friend class QDomAttr;
+};
+
+class QM_EXPORT_DOM QDomText : public QDomCharacterData
+{
+public:
+ QDomText();
+ QDomText( const QDomText&amp; x );
+ QDomText&amp; operator= ( const QDomText&amp; );
+ ~QDomText();
+
+ // DOM functions
+ QDomText splitText( int offset );
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isText() const;
+
+private:
+ QDomText( QDomTextPrivate* );
+
+ friend class QDomCDATASection;
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomComment : public QDomCharacterData
+{
+public:
+ QDomComment();
+ QDomComment( const QDomComment&amp; x );
+ QDomComment&amp; operator= ( const QDomComment&amp; );
+ ~QDomComment();
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isComment() const;
+
+private:
+ QDomComment( QDomCommentPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomCDATASection : public QDomText
+{
+public:
+ QDomCDATASection();
+ QDomCDATASection( const QDomCDATASection&amp; x );
+ QDomCDATASection&amp; operator= ( const QDomCDATASection&amp; );
+ ~QDomCDATASection();
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isCDATASection() const;
+
+private:
+ QDomCDATASection( QDomCDATASectionPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomNotation : public QDomNode
+{
+public:
+ QDomNotation();
+ QDomNotation( const QDomNotation&amp; x );
+ QDomNotation&amp; operator= ( const QDomNotation&amp; );
+ ~QDomNotation();
+
+ // DOM read only attributes
+ QString publicId() const;
+ QString systemId() const;
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isNotation() const;
+
+private:
+ QDomNotation( QDomNotationPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomEntity : public QDomNode
+{
+public:
+ QDomEntity();
+ QDomEntity( const QDomEntity&amp; x );
+ QDomEntity&amp; operator= ( const QDomEntity&amp; );
+ ~QDomEntity();
+
+ // DOM read only attributes
+ virtual QString publicId() const;
+ virtual QString systemId() const;
+ virtual QString notationName() const;
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isEntity() const;
+
+private:
+ QDomEntity( QDomEntityPrivate* );
+
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomEntityReference : public QDomNode
+{
+public:
+ QDomEntityReference();
+ QDomEntityReference( const QDomEntityReference&amp; x );
+ QDomEntityReference&amp; operator= ( const QDomEntityReference&amp; );
+ ~QDomEntityReference();
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isEntityReference() const;
+
+private:
+ QDomEntityReference( QDomEntityReferencePrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+class QM_EXPORT_DOM QDomProcessingInstruction : public QDomNode
+{
+public:
+ QDomProcessingInstruction();
+ QDomProcessingInstruction( const QDomProcessingInstruction&amp; x );
+ QDomProcessingInstruction&amp; operator= ( const QDomProcessingInstruction&amp; );
+ ~QDomProcessingInstruction();
+
+ // DOM read only attributes
+ virtual QString target() const;
+
+ // DOM attributes
+ virtual QString data() const;
+ virtual void setData( const QString&amp; d );
+
+ // Reimplemented from QDomNode
+ QDomNode::NodeType nodeType() const;
+ bool isProcessingInstruction() const;
+
+private:
+ QDomProcessingInstruction( QDomProcessingInstructionPrivate* );
+
+ friend class QDomDocument;
+ friend class QDomNode;
+};
+
+
+QM_EXPORT_DOM QTextStream&amp; operator&lt;&lt;( QTextStream&amp;, const QDomNode&amp; );
+
+#endif //QT_NO_DOM
+#endif // QDOM_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomattr-members.html b/doc/html/qdomattr-members.html
new file mode 100644
index 0000000..90a4c26
--- /dev/null
+++ b/doc/html/qdomattr-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:434 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomAttr Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomAttr</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomattr.html">QDomAttr</a>, including inherited members.
+
+<ul>
+<li><a href="qdomattr.html#QDomAttr">QDomAttr</a>()
+<li><a href="qdomattr.html#~QDomAttr">~QDomAttr</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomattr.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomattr.html#name">name</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomattr.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomattr.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomattr.html#ownerElement">ownerElement</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomattr.html#setValue">setValue</a>()
+<li><a href="qdomattr.html#specified">specified</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+<li><a href="qdomattr.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomattr.html b/doc/html/qdomattr.html
new file mode 100644
index 0000000..d26279f
--- /dev/null
+++ b/doc/html/qdomattr.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:3717 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomAttr Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomAttr Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomAttr class represents one attribute of a QDomElement.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomattr-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomAttr"><b>QDomAttr</b></a> ()</li>
+<li class=fn><a href="#QDomAttr-2"><b>QDomAttr</b></a> ( const&nbsp;QDomAttr&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomAttr &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomAttr&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomAttr"><b>~QDomAttr</b></a> ()</li>
+<li class=fn>virtual QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>virtual bool <a href="#specified"><b>specified</b></a> () const</li>
+<li class=fn>virtual QDomElement <a href="#ownerElement"><b>ownerElement</b></a> () const</li>
+<li class=fn>virtual QString <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isAttr"><b>isAttr</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomAttr class represents one attribute of a <a href="qdomelement.html">QDomElement</a>.
+
+<p>
+
+<p> For example, the following piece of XML produces an element with
+no children, but two attributes:
+<p> <pre>
+ &lt;link href="http://www.trolltech.com" color="red" /&gt;
+ </pre>
+
+<p> You can access the attributes of an element with code like this:
+<p> <pre>
+ <a href="qdomelement.html">QDomElement</a> e = //...
+ //...
+ QDomAttr a = e.<a href="qdomelement.html#attributeNode">attributeNode</a>( "href" );
+ cout &lt;&lt; a.<a href="#value">value</a>() &lt;&lt; endl; // prints "http://www.trolltech.com"
+ a.<a href="#setValue">setValue</a>( "http://doc.trolltech.com" ); // change the node's attribute
+ QDomAttr a2 = e.<a href="qdomelement.html#attributeNode">attributeNode</a>( "href" );
+ cout &lt;&lt; a2.<a href="#value">value</a>() &lt;&lt; endl; // prints "http://doc.trolltech.com"
+ </pre>
+
+<p> This example also shows that changing an attribute received from
+an element changes the attribute of the element. If you do not
+want to change the value of the element's attribute you must
+use <a href="qdomnode.html#cloneNode">cloneNode</a>() to get an independent copy of the attribute.
+<p> QDomAttr can return the <a href="#name">name</a>() and <a href="#value">value</a>() of an attribute. An
+attribute's value is set with <a href="#setValue">setValue</a>(). If <a href="#specified">specified</a>() returns
+TRUE the value was either set in the document or set with
+setValue(); otherwise the value hasn't been set. The node this
+attribute is attached to (if any) is returned by <a href="#ownerElement">ownerElement</a>().
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomAttr"></a>QDomAttr::QDomAttr ()
+</h3>
+Constructs an empty attribute.
+
+<h3 class=fn><a name="QDomAttr-2"></a>QDomAttr::QDomAttr ( const&nbsp;<a href="qdomattr.html">QDomAttr</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomAttr"></a>QDomAttr::~QDomAttr ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isAttr"></a>QDomAttr::isAttr () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isAttr">QDomNode</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QDomAttr::name () const<tt> [virtual]</tt>
+</h3>
+Returns the attribute's name.
+
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomAttr::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">AttributeNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a>&nbsp;&amp; <a name="operator-eq"></a>QDomAttr::operator= ( const&nbsp;<a href="qdomattr.html">QDomAttr</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM attribute.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="ownerElement"></a>QDomAttr::ownerElement () const<tt> [virtual]</tt>
+</h3>
+Returns the element node this attribute is attached to or a <a href="qdomnode.html#isNull">null node</a> if this attribute is not
+attached to any element.
+
+<h3 class=fn>void <a name="setValue"></a>QDomAttr::setValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Sets the attribute's value to <em>v</em>.
+<p> <p>See also <a href="#value">value</a>().
+
+<h3 class=fn>bool <a name="specified"></a>QDomAttr::specified () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the attribute has either been expicitly specified
+in the XML document or was set by the user with <a href="#setValue">setValue</a>().
+Returns FALSE if the value hasn't been specified or set.
+<p> <p>See also <a href="#setValue">setValue</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value"></a>QDomAttr::value () const<tt> [virtual]</tt>
+</h3>
+Returns the value of the attribute or <a href="qstring.html#QString-null">QString::null</a> if the
+attribute has not been specified.
+<p> <p>See also <a href="#specified">specified</a>() and <a href="#setValue">setValue</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcdatasection-members.html b/doc/html/qdomcdatasection-members.html
new file mode 100644
index 0000000..11a69bc
--- /dev/null
+++ b/doc/html/qdomcdatasection-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:560 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomCDATASection Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomCDATASection</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomcdatasection.html">QDomCDATASection</a>, including inherited members.
+
+<ul>
+<li><a href="qdomcdatasection.html#QDomCDATASection">QDomCDATASection</a>()
+<li><a href="qdomcdatasection.html#~QDomCDATASection">~QDomCDATASection</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomcharacterdata.html#appendData">appendData</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomcharacterdata.html#data">data</a>()
+<li><a href="qdomcharacterdata.html#deleteData">deleteData</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomcharacterdata.html#insertData">insertData</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomcdatasection.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomcharacterdata.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomtext.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomcharacterdata.html#length">length</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomcdatasection.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomcdatasection.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomcharacterdata.html#replaceData">replaceData</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomcharacterdata.html#setData">setData</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomtext.html#splitText">splitText</a>()
+<li><a href="qdomcharacterdata.html#substringData">substringData</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcdatasection.html b/doc/html/qdomcdatasection.html
new file mode 100644
index 0000000..2681657
--- /dev/null
+++ b/doc/html/qdomcdatasection.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:4952 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomCDATASection Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomCDATASection Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomCDATASection class represents an XML CDATA section.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomtext.html">QDomText</a>.
+<p><a href="qdomcdatasection-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomCDATASection"><b>QDomCDATASection</b></a> ()</li>
+<li class=fn><a href="#QDomCDATASection-2"><b>QDomCDATASection</b></a> ( const&nbsp;QDomCDATASection&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomCDATASection &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomCDATASection&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomCDATASection"><b>~QDomCDATASection</b></a> ()</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isCDATASection"><b>isCDATASection</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomCDATASection class represents an XML CDATA section.
+
+<p>
+
+<p> CDATA sections are used to escape blocks of text containing
+characters that would otherwise be regarded as markup. The only
+delimiter that is recognized in a CDATA section is the "]]&gt;"
+string that terminates the CDATA section. CDATA sections cannot be
+nested. Their primary purpose is for including material such as
+XML fragments, without needing to escape all the delimiters.
+<p> Adjacent QDomCDATASection nodes are not merged by the
+<a href="qdomnode.html#normalize">QDomNode::normalize</a>() function.
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomCDATASection"></a>QDomCDATASection::QDomCDATASection ()
+</h3>
+Constructs an empty CDATA section. To create a CDATA section with
+content, use the <a href="qdomdocument.html#createCDATASection">QDomDocument::createCDATASection</a>() function.
+
+<h3 class=fn><a name="QDomCDATASection-2"></a>QDomCDATASection::QDomCDATASection ( const&nbsp;<a href="qdomcdatasection.html">QDomCDATASection</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomCDATASection"></a>QDomCDATASection::~QDomCDATASection ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isCDATASection"></a>QDomCDATASection::isCDATASection () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isCDATASection">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomCDATASection::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <tt>CDATASection</tt>.
+
+<p>Reimplemented from <a href="qdomtext.html#nodeType">QDomText</a>.
+<h3 class=fn><a href="qdomcdatasection.html">QDomCDATASection</a>&nbsp;&amp; <a name="operator-eq"></a>QDomCDATASection::operator= ( const&nbsp;<a href="qdomcdatasection.html">QDomCDATASection</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this CDATA section.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcharacterdata-members.html b/doc/html/qdomcharacterdata-members.html
new file mode 100644
index 0000000..37a0239
--- /dev/null
+++ b/doc/html/qdomcharacterdata-members.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:399 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomCharacterData Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomCharacterData</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomcharacterdata.html">QDomCharacterData</a>, including inherited members.
+
+<ul>
+<li><a href="qdomcharacterdata.html#QDomCharacterData">QDomCharacterData</a>()
+<li><a href="qdomcharacterdata.html#~QDomCharacterData">~QDomCharacterData</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomcharacterdata.html#appendData">appendData</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomcharacterdata.html#data">data</a>()
+<li><a href="qdomcharacterdata.html#deleteData">deleteData</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomcharacterdata.html#insertData">insertData</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomcharacterdata.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomcharacterdata.html#length">length</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomcharacterdata.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomcharacterdata.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomcharacterdata.html#replaceData">replaceData</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomcharacterdata.html#setData">setData</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomcharacterdata.html#substringData">substringData</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcharacterdata.html b/doc/html/qdomcharacterdata.html
new file mode 100644
index 0000000..5bc1d3f
--- /dev/null
+++ b/doc/html/qdomcharacterdata.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:3415 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomCharacterData Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomCharacterData Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomCharacterData class represents a generic string in the DOM.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p>Inherited by <a href="qdomtext.html">QDomText</a> and <a href="qdomcomment.html">QDomComment</a>.
+<p><a href="qdomcharacterdata-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomCharacterData"><b>QDomCharacterData</b></a> ()</li>
+<li class=fn><a href="#QDomCharacterData-2"><b>QDomCharacterData</b></a> ( const&nbsp;QDomCharacterData&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomCharacterData &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomCharacterData&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomCharacterData"><b>~QDomCharacterData</b></a> ()</li>
+<li class=fn>virtual QString <a href="#substringData"><b>substringData</b></a> ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count )</li>
+<li class=fn>virtual void <a href="#appendData"><b>appendData</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>virtual void <a href="#insertData"><b>insertData</b></a> ( unsigned&nbsp;long&nbsp;offset, const&nbsp;QString&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>virtual void <a href="#deleteData"><b>deleteData</b></a> ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count )</li>
+<li class=fn>virtual void <a href="#replaceData"><b>replaceData</b></a> ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count, const&nbsp;QString&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>virtual uint <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>virtual QString <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isCharacterData"><b>isCharacterData</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomCharacterData class represents a generic string in the DOM.
+
+<p>
+
+<p> Character data as used in XML specifies a generic data string.
+More specialized versions of this class are <a href="qdomtext.html">QDomText</a>, <a href="qdomcomment.html">QDomComment</a>
+and <a href="qdomcdatasection.html">QDomCDATASection</a>.
+<p> The data string is set with <a href="#setData">setData</a>() and retrieved with <a href="#data">data</a>().
+You can retrieve a portion of the data string using
+<a href="#substringData">substringData</a>(). Extra data can be appended with <a href="#appendData">appendData</a>(), or
+inserted with <a href="#insertData">insertData</a>(). Portions of the data string can be
+deleted with <a href="#deleteData">deleteData</a>() or replaced with <a href="#replaceData">replaceData</a>(). The
+length of the data string is returned by <a href="#length">length</a>().
+<p> The node type of the node containing this character data is
+returned by <a href="#nodeType">nodeType</a>().
+<p> <p>See also <a href="qdomtext.html">QDomText</a>, <a href="qdomcomment.html">QDomComment</a>, <a href="qdomcdatasection.html">QDomCDATASection</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomCharacterData"></a>QDomCharacterData::QDomCharacterData ()
+</h3>
+Constructs an empty character data object.
+
+<h3 class=fn><a name="QDomCharacterData-2"></a>QDomCharacterData::QDomCharacterData ( const&nbsp;<a href="qdomcharacterdata.html">QDomCharacterData</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomCharacterData"></a>QDomCharacterData::~QDomCharacterData ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>void <a name="appendData"></a>QDomCharacterData::appendData ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg )<tt> [virtual]</tt>
+</h3>
+Appends the string <em>arg</em> to the stored string.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="data"></a>QDomCharacterData::data () const<tt> [virtual]</tt>
+</h3>
+Returns the string stored in this object.
+<p> If the node is a <a href="qdomnode.html#isNull">null node</a>, it will return
+<a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn>void <a name="deleteData"></a>QDomCharacterData::deleteData ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count )<tt> [virtual]</tt>
+</h3>
+Deletes a substring of length <em>count</em> from position <em>offset</em>.
+
+<h3 class=fn>void <a name="insertData"></a>QDomCharacterData::insertData ( unsigned&nbsp;long&nbsp;offset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg )<tt> [virtual]</tt>
+</h3>
+Inserts the string <em>arg</em> into the stored string at position <em>offset</em>.
+
+<h3 class=fn>bool <a name="isCharacterData"></a>QDomCharacterData::isCharacterData () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isCharacterData">QDomNode</a>.
+<h3 class=fn>uint <a name="length"></a>QDomCharacterData::length () const<tt> [virtual]</tt>
+</h3>
+Returns the length of the stored string.
+
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomCharacterData::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns the type of node this object refers to (i.e. <a href="qdomnode.html#NodeType-enum">TextNode</a>,
+<a href="qdomnode.html#NodeType-enum">CDATASectionNode</a>, <a href="qdomnode.html#NodeType-enum">CommentNode</a> or <a href="qdomnode.html#NodeType-enum">CharacterDataNode</a>). For
+a <a href="qdomnode.html#isNull">null node</a> <a href="qdomnode.html#NodeType-enum">CharacterDataNode</a> is
+returned.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<p>Reimplemented in <a href="qdomtext.html#nodeType">QDomText</a> and <a href="qdomcomment.html#nodeType">QDomComment</a>.
+<h3 class=fn><a href="qdomcharacterdata.html">QDomCharacterData</a>&nbsp;&amp; <a name="operator-eq"></a>QDomCharacterData::operator= ( const&nbsp;<a href="qdomcharacterdata.html">QDomCharacterData</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this character data.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn>void <a name="replaceData"></a>QDomCharacterData::replaceData ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg )<tt> [virtual]</tt>
+</h3>
+Replaces the substring of length <em>count</em> starting at position <em>offset</em> with the string <em>arg</em>.
+
+<h3 class=fn>void <a name="setData"></a>QDomCharacterData::setData ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Sets this object's string to <em>v</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="substringData"></a>QDomCharacterData::substringData ( unsigned&nbsp;long&nbsp;offset, unsigned&nbsp;long&nbsp;count )<tt> [virtual]</tt>
+</h3>
+Returns the substring of length <em>count</em> from position <em>offset</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcomment-members.html b/doc/html/qdomcomment-members.html
new file mode 100644
index 0000000..ec8d75f
--- /dev/null
+++ b/doc/html/qdomcomment-members.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:541 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomComment Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomComment</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomcomment.html">QDomComment</a>, including inherited members.
+
+<ul>
+<li><a href="qdomcomment.html#QDomComment">QDomComment</a>()
+<li><a href="qdomcomment.html#~QDomComment">~QDomComment</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomcharacterdata.html#appendData">appendData</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomcharacterdata.html#data">data</a>()
+<li><a href="qdomcharacterdata.html#deleteData">deleteData</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomcharacterdata.html#insertData">insertData</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomcharacterdata.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomcomment.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomcharacterdata.html#length">length</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomcomment.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomcomment.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomcharacterdata.html#replaceData">replaceData</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomcharacterdata.html#setData">setData</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomcharacterdata.html#substringData">substringData</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomcomment.html b/doc/html/qdomcomment.html
new file mode 100644
index 0000000..e134f96
--- /dev/null
+++ b/doc/html/qdomcomment.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:4820 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomComment Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomComment Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomComment class represents an XML comment.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomcharacterdata.html">QDomCharacterData</a>.
+<p><a href="qdomcomment-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomComment"><b>QDomComment</b></a> ()</li>
+<li class=fn><a href="#QDomComment-2"><b>QDomComment</b></a> ( const&nbsp;QDomComment&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomComment &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomComment&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomComment"><b>~QDomComment</b></a> ()</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isComment"><b>isComment</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomComment class represents an XML comment.
+
+<p>
+
+<p> A comment in the parsed XML such as this:
+<pre>
+ &lt;!-- this is a comment --&gt;
+ </pre>
+
+is represented by QDomComment objects in the parsed Dom tree.
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomComment"></a>QDomComment::QDomComment ()
+</h3>
+Constructs an empty comment. To construct a comment with content,
+use the <a href="qdomdocument.html#createComment">QDomDocument::createComment</a>() function.
+
+<h3 class=fn><a name="QDomComment-2"></a>QDomComment::QDomComment ( const&nbsp;<a href="qdomcomment.html">QDomComment</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomComment"></a>QDomComment::~QDomComment ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isComment"></a>QDomComment::isComment () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isComment">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomComment::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">CommentNode</a>.
+
+<p>Reimplemented from <a href="qdomcharacterdata.html#nodeType">QDomCharacterData</a>.
+<h3 class=fn><a href="qdomcomment.html">QDomComment</a>&nbsp;&amp; <a name="operator-eq"></a>QDomComment::operator= ( const&nbsp;<a href="qdomcomment.html">QDomComment</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM comment.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocument-members.html b/doc/html/qdomdocument-members.html
new file mode 100644
index 0000000..4ccdc3c
--- /dev/null
+++ b/doc/html/qdomdocument-members.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:286 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocument Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomDocument</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomdocument.html">QDomDocument</a>, including inherited members.
+
+<ul>
+<li><a href="qdomdocument.html#QDomDocument">QDomDocument</a>()
+<li><a href="qdomdocument.html#~QDomDocument">~QDomDocument</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomdocument.html#createAttribute">createAttribute</a>()
+<li><a href="qdomdocument.html#createAttributeNS">createAttributeNS</a>()
+<li><a href="qdomdocument.html#createCDATASection">createCDATASection</a>()
+<li><a href="qdomdocument.html#createComment">createComment</a>()
+<li><a href="qdomdocument.html#createDocumentFragment">createDocumentFragment</a>()
+<li><a href="qdomdocument.html#createElement">createElement</a>()
+<li><a href="qdomdocument.html#createElementNS">createElementNS</a>()
+<li><a href="qdomdocument.html#createEntityReference">createEntityReference</a>()
+<li><a href="qdomdocument.html#createProcessingInstruction">createProcessingInstruction</a>()
+<li><a href="qdomdocument.html#createTextNode">createTextNode</a>()
+<li><a href="qdomdocument.html#doctype">doctype</a>()
+<li><a href="qdomdocument.html#documentElement">documentElement</a>()
+<li><a href="qdomdocument.html#elementById">elementById</a>()
+<li><a href="qdomdocument.html#elementsByTagName">elementsByTagName</a>()
+<li><a href="qdomdocument.html#elementsByTagNameNS">elementsByTagNameNS</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomdocument.html#implementation">implementation</a>()
+<li><a href="qdomdocument.html#importNode">importNode</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomdocument.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomdocument.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomdocument.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomdocument.html#setContent">setContent</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomdocument.html#toCString">toCString</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomdocument.html#toString">toString</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocument.html b/doc/html/qdomdocument.html
new file mode 100644
index 0000000..e83b528
--- /dev/null
+++ b/doc/html/qdomdocument.html
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:6043 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocument Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomDocument Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomDocument class represents an XML document.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomdocument-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomDocument"><b>QDomDocument</b></a> ()</li>
+<li class=fn>explicit <a href="#QDomDocument-2"><b>QDomDocument</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>explicit <a href="#QDomDocument-3"><b>QDomDocument</b></a> ( const&nbsp;QDomDocumentType&nbsp;&amp;&nbsp;doctype )</li>
+<li class=fn><a href="#QDomDocument-4"><b>QDomDocument</b></a> ( const&nbsp;QDomDocument&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomDocument &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomDocument&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomDocument"><b>~QDomDocument</b></a> ()</li>
+<li class=fn>QDomElement <a href="#createElement"><b>createElement</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tagName )</li>
+<li class=fn>QDomDocumentFragment <a href="#createDocumentFragment"><b>createDocumentFragment</b></a> ()</li>
+<li class=fn>QDomText <a href="#createTextNode"><b>createTextNode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>QDomComment <a href="#createComment"><b>createComment</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>QDomCDATASection <a href="#createCDATASection"><b>createCDATASection</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>QDomProcessingInstruction <a href="#createProcessingInstruction"><b>createProcessingInstruction</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;target, const&nbsp;QString&nbsp;&amp;&nbsp;data )</li>
+<li class=fn>QDomAttr <a href="#createAttribute"><b>createAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QDomEntityReference <a href="#createEntityReference"><b>createEntityReference</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QDomNodeList <a href="#elementsByTagName"><b>elementsByTagName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tagname ) const</li>
+<li class=fn>QDomNode <a href="#importNode"><b>importNode</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;importedNode, bool&nbsp;deep )</li>
+<li class=fn>QDomElement <a href="#createElementNS"><b>createElementNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName )</li>
+<li class=fn>QDomAttr <a href="#createAttributeNS"><b>createAttributeNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName )</li>
+<li class=fn>QDomNodeList <a href="#elementsByTagNameNS"><b>elementsByTagNameNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName )</li>
+<li class=fn>QDomElement <a href="#elementById"><b>elementById</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;elementId )</li>
+<li class=fn>QDomDocumentType <a href="#doctype"><b>doctype</b></a> () const</li>
+<li class=fn>QDomImplementation <a href="#implementation"><b>implementation</b></a> () const</li>
+<li class=fn>QDomElement <a href="#documentElement"><b>documentElement</b></a> () const</li>
+<li class=fn>bool <a href="#setContent-2"><b>setContent</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;buffer, bool&nbsp;namespaceProcessing, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent"><b>setContent</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;buffer, bool&nbsp;namespaceProcessing, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-3"><b>setContent</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, bool&nbsp;namespaceProcessing, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-4"><b>setContent</b></a> ( QIODevice&nbsp;*&nbsp;dev, bool&nbsp;namespaceProcessing, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-5"><b>setContent</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;buffer, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-6"><b>setContent</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;buffer, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-7"><b>setContent</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-8"><b>setContent</b></a> ( QIODevice&nbsp;*&nbsp;dev, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>bool <a href="#setContent-9"><b>setContent</b></a> ( QXmlInputSource&nbsp;*&nbsp;source, QXmlReader&nbsp;*&nbsp;reader, QString&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocument"><b>isDocument</b></a> () const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn>QString <a href="#toString-2"><b>toString</b></a> ( int&nbsp;indent ) const</li>
+<li class=fn>QCString <a href="#toCString"><b>toCString</b></a> () const</li>
+<li class=fn>QCString <a href="#toCString-2"><b>toCString</b></a> ( int&nbsp;indent ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomDocument class represents an XML document.
+
+<p>
+
+<p> The QDomDocument class represents the entire XML document.
+Conceptually, it is the root of the document tree, and provides
+the primary access to the document's data.
+<p> Since elements, text nodes, comments, processing instructions,
+etc., cannot exist outside the context of a document, the document
+class also contains the factory functions needed to create these
+objects. The node objects created have an <a href="qdomnode.html#ownerDocument">ownerDocument</a>() function
+which associates them with the document within whose context they
+were created. The DOM classes that will be used most often are
+<a href="qdomnode.html">QDomNode</a>, QDomDocument, <a href="qdomelement.html">QDomElement</a> and <a href="qdomtext.html">QDomText</a>.
+<p> The parsed XML is represented internally by a tree of objects that
+can be accessed using the various QDom classes. All QDom classes
+only <em>reference</em> objects in the internal tree. The internal
+objects in the DOM tree will get deleted once the last QDom
+object referencing them and the QDomDocument itself are deleted.
+<p> Creation of elements, text nodes, etc. is done using the various
+factory functions provided in this class. Using the default
+constructors of the QDom classes will only result in empty
+objects that cannot be manipulated or inserted into the Document.
+<p> The QDomDocument class has several functions for creating document
+data, for example, <a href="#createElement">createElement</a>(), <a href="#createTextNode">createTextNode</a>(),
+<a href="#createComment">createComment</a>(), <a href="#createCDATASection">createCDATASection</a>(),
+<a href="#createProcessingInstruction">createProcessingInstruction</a>(), <a href="#createAttribute">createAttribute</a>() and
+<a href="#createEntityReference">createEntityReference</a>(). Some of these functions have versions
+that support namespaces, i.e. <a href="#createElementNS">createElementNS</a>() and
+<a href="#createAttributeNS">createAttributeNS</a>(). The <a href="#createDocumentFragment">createDocumentFragment</a>() function is used
+to hold parts of the document; this is useful for manipulating for
+complex documents.
+<p> The entire content of the document is set with <a href="#setContent">setContent</a>(). This
+function parses the string it is passed as an XML document and
+creates the DOM tree that represents the document. The root
+element is available using <a href="#documentElement">documentElement</a>(). The textual
+representation of the document can be obtained using <a href="#toString">toString</a>().
+<p> It is possible to insert a node from another document into the
+document using <a href="#importNode">importNode</a>().
+<p> You can obtain a list of all the elements that have a particular
+tag with <a href="#elementsByTagName">elementsByTagName</a>() or with <a href="#elementsByTagNameNS">elementsByTagNameNS</a>().
+<p> The QDom classes are typically used as follows:
+<pre>
+ QDomDocument doc( "mydocument" );
+ <a href="qfile.html">QFile</a> file( "mydocument.xml" );
+ if ( !file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+ if ( !doc.<a href="#setContent">setContent</a>( &amp;file ) ) {
+ file.<a href="qfile.html#close">close</a>();
+ return;
+ }
+ file.<a href="qfile.html#close">close</a>();
+
+ // print out the element names of all elements that are direct children
+ // of the outermost element.
+ <a href="qdomelement.html">QDomElement</a> docElem = doc.<a href="#documentElement">documentElement</a>();
+
+ <a href="qdomnode.html">QDomNode</a> n = docElem.<a href="qdomnode.html#firstChild">firstChild</a>();
+ while( !n.<a href="qdomnode.html#isNull">isNull</a>() ) {
+ <a href="qdomelement.html">QDomElement</a> e = n.<a href="qdomnode.html#toElement">toElement</a>(); // try to convert the node to an element.
+ if( !e.<a href="qdomnode.html#isNull">isNull</a>() ) {
+ cout &lt;&lt; e.<a href="qdomelement.html#tagName">tagName</a>() &lt;&lt; endl; // the node really is an element.
+ }
+ n = n.<a href="qdomnode.html#nextSibling">nextSibling</a>();
+ }
+
+ // Here we append a new element to the end of the document
+ <a href="qdomelement.html">QDomElement</a> elem = doc.<a href="#createElement">createElement</a>( "img" );
+ elem.<a href="qdomelement.html#setAttribute">setAttribute</a>( "src", "myimage.png" );
+ docElem.<a href="qdomnode.html#appendChild">appendChild</a>( elem );
+ </pre>
+
+<p> Once <tt>doc</tt> and <tt>elem</tt> go out of scope, the whole internal tree
+representing the XML document is deleted.
+<p> To create a document using DOM use code like this:
+<pre>
+ QDomDocument doc( "MyML" );
+ <a href="qdomelement.html">QDomElement</a> root = doc.<a href="#createElement">createElement</a>( "MyML" );
+ doc.<a href="qdomnode.html#appendChild">appendChild</a>( root );
+
+ <a href="qdomelement.html">QDomElement</a> tag = doc.<a href="#createElement">createElement</a>( "Greeting" );
+ root.<a href="qdomnode.html#appendChild">appendChild</a>( tag );
+
+ <a href="qdomtext.html">QDomText</a> t = doc.<a href="#createTextNode">createTextNode</a>( "Hello World" );
+ tag.<a href="qdomnode.html#appendChild">appendChild</a>( t );
+
+ <a href="qstring.html">QString</a> xml = doc.<a href="#toString">toString</a>();
+ </pre>
+
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+QDomDocument documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomDocument"></a>QDomDocument::QDomDocument ()
+</h3>
+Constructs an empty document.
+
+<h3 class=fn>explicit <a name="QDomDocument-2"></a>QDomDocument::QDomDocument ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Creates a document and sets the name of the document type to <em>name</em>.
+
+<h3 class=fn>explicit <a name="QDomDocument-3"></a>QDomDocument::QDomDocument ( const&nbsp;<a href="qdomdocumenttype.html">QDomDocumentType</a>&nbsp;&amp;&nbsp;doctype )
+</h3>
+Creates a document with the document type <em>doctype</em>.
+<p> <p>See also <a href="qdomimplementation.html#createDocumentType">QDomImplementation::createDocumentType</a>().
+
+<h3 class=fn><a name="QDomDocument-4"></a>QDomDocument::QDomDocument ( const&nbsp;<a href="qdomdocument.html">QDomDocument</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomDocument"></a>QDomDocument::~QDomDocument ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="createAttribute"></a>QDomDocument::createAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Creates a new attribute called <em>name</em> that can be inserted into
+an element, e.g. using <a href="qdomelement.html#setAttributeNode">QDomElement::setAttributeNode</a>().
+<p> <p>See also <a href="#createAttributeNS">createAttributeNS</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="createAttributeNS"></a>QDomDocument::createAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName )
+</h3>
+Creates a new attribute with namespace support that can be
+inserted into an element. The name of the attribute is <em>qName</em>
+and the namespace URI is <em>nsURI</em>. This function also sets
+<a href="qdomnode.html#prefix">QDomNode::prefix</a>() and <a href="qdomnode.html#localName">QDomNode::localName</a>() to appropriate values
+(depending on <em>qName</em>).
+<p> <p>See also <a href="#createAttribute">createAttribute</a>().
+
+<h3 class=fn><a href="qdomcdatasection.html">QDomCDATASection</a> <a name="createCDATASection"></a>QDomDocument::createCDATASection ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Creates a new CDATA section for the string <em>value</em> that can be
+inserted into the document, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+<p> <p>See also <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomcomment.html">QDomComment</a> <a name="createComment"></a>QDomDocument::createComment ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Creates a new comment for the string <em>value</em> that can be inserted
+into the document, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+<p> <p>See also <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomdocumentfragment.html">QDomDocumentFragment</a> <a name="createDocumentFragment"></a>QDomDocument::createDocumentFragment ()
+</h3>
+Creates a new document fragment, that can be used to hold parts of
+the document, e.g. when doing complex manipulations of the
+document tree.
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="createElement"></a>QDomDocument::createElement ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tagName )
+</h3>
+Creates a new element called <em>tagName</em> that can be inserted into
+the DOM tree, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+<p> <p>See also <a href="#createElementNS">createElementNS</a>(), <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="createElementNS"></a>QDomDocument::createElementNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName )
+</h3>
+Creates a new element with namespace support that can be inserted
+into the DOM tree. The name of the element is <em>qName</em> and the
+namespace URI is <em>nsURI</em>. This function also sets
+<a href="qdomnode.html#prefix">QDomNode::prefix</a>() and <a href="qdomnode.html#localName">QDomNode::localName</a>() to appropriate values
+(depending on <em>qName</em>).
+<p> <p>See also <a href="#createElement">createElement</a>().
+
+<h3 class=fn><a href="qdomentityreference.html">QDomEntityReference</a> <a name="createEntityReference"></a>QDomDocument::createEntityReference ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Creates a new entity reference called <em>name</em> that can be inserted
+into the document, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+<p> <p>See also <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a> <a name="createProcessingInstruction"></a>QDomDocument::createProcessingInstruction ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;target, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;data )
+</h3>
+Creates a new processing instruction that can be inserted into the
+document, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(). This function sets
+the target for the processing instruction to <em>target</em> and the
+data to <em>data</em>.
+<p> <p>See also <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomtext.html">QDomText</a> <a name="createTextNode"></a>QDomDocument::createTextNode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Creates a text node for the string <em>value</em> that can be inserted
+into the document tree, e.g. using <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+<p> <b>Warning:</b> All characters within an XML document must be in the range:
+<p> #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
+<p> This rule also applies to characters encoded as character entities and
+characters in CDATA sections. If you use this function to insert
+characters outside of this range, the document will not be well-formed.
+<p> If you want to store binary data in an XML document you must either use
+your own scheme to escape illegal characters, or you must store it in
+an external unparsed entity.
+<p> <p>See also <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), and <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>().
+
+<h3 class=fn><a href="qdomdocumenttype.html">QDomDocumentType</a> <a name="doctype"></a>QDomDocument::doctype () const
+</h3>
+Returns the document type of this document.
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="documentElement"></a>QDomDocument::documentElement () const
+</h3>
+Returns the root element of the document.
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="elementById"></a>QDomDocument::elementById ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;elementId )
+</h3>
+Returns the element whose ID is equal to <em>elementId</em>. If no
+element with the ID was found, this function returns a <a href="qdomnode.html#isNull">null element</a>.
+<p> Since the QDomClasses do not know which attributes are element
+IDs, this function returns always a <a href="qdomnode.html#isNull">null
+ element</a>. This may change in a future version.
+
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a> <a name="elementsByTagName"></a>QDomDocument::elementsByTagName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tagname ) const
+</h3>
+Returns a <a href="qdomnodelist.html">QDomNodeList</a>, that contains all the elements in the
+document with the name <em>tagname</em>. The order of the node list is
+the order they are encountered in a preorder traversal of the
+element tree.
+<p> <p>See also <a href="#elementsByTagNameNS">elementsByTagNameNS</a>() and <a href="qdomelement.html#elementsByTagName">QDomElement::elementsByTagName</a>().
+
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a> <a name="elementsByTagNameNS"></a>QDomDocument::elementsByTagNameNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName )
+</h3>
+Returns a <a href="qdomnodelist.html">QDomNodeList</a> that contains all the elements in the
+document with the local name <em>localName</em> and a namespace URI of
+<em>nsURI</em>. The order of the node list is the order they are
+encountered in a preorder traversal of the element tree.
+<p> <p>See also <a href="#elementsByTagName">elementsByTagName</a>() and <a href="qdomelement.html#elementsByTagNameNS">QDomElement::elementsByTagNameNS</a>().
+
+<h3 class=fn><a href="qdomimplementation.html">QDomImplementation</a> <a name="implementation"></a>QDomDocument::implementation () const
+</h3>
+Returns a <a href="qdomimplementation.html">QDomImplementation</a> object.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="importNode"></a>QDomDocument::importNode ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;importedNode, bool&nbsp;deep )
+</h3>
+Imports the node <em>importedNode</em> from another document to this
+document. <em>importedNode</em> remains in the original document; this
+function creates a copy that can be used within this document.
+<p> This function returns the imported node that belongs to this
+document. The returned node has no parent. It is not possible to
+import QDomDocument and <a href="qdomdocumenttype.html">QDomDocumentType</a> nodes. In those cases
+this function returns a <a href="qdomnode.html#isNull">null node</a>.
+<p> If <em>deep</em> is TRUE, this function imports not only the node <em>importedNode</em> but its whole subtree; if it is FALSE, only the <em>importedNode</em> is imported. The argument <em>deep</em> has no effect on
+<a href="qdomattr.html">QDomAttr</a> and <a href="qdomentityreference.html">QDomEntityReference</a> nodes, since the descendents of
+QDomAttr nodes are always imported and those of
+QDomEntityReference nodes are never imported.
+<p> The behavior of this function is slightly different depending on
+the node types:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Node Type <th valign="top">Behaviour
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomAttr
+<td valign="top">The owner element is set to 0 and the specified flag is
+set to TRUE in the generated attribute. The whole subtree
+of <em>importedNode</em> is always imported for attribute nodes:
+<em>deep</em> has no effect.
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomDocument
+<td valign="top">Document nodes cannot be imported.
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomDocumentFragment
+<td valign="top">If <em>deep</em> is TRUE, this function imports the whole
+document fragment; otherwise it only generates an empty
+document fragment.
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomDocumentType
+<td valign="top">Document type nodes cannot be imported.
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomElement
+<td valign="top">Attributes for which <a href="qdomattr.html#specified">QDomAttr::specified</a>() is TRUE are
+also imported, other attributes are not imported. If <em>deep</em> is TRUE, this function also imports the subtree of <em>importedNode</em>; otherwise it imports only the element node
+(and some attributes, see above).
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomEntity
+<td valign="top">Entity nodes can be imported, but at the moment there is
+no way to use them since the document type is read-only in
+DOM level 2.
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomEntityReference
+<td valign="top">Descendents of entity reference nodes are never imported:
+<em>deep</em> has no effect.
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomNotation
+<td valign="top">Notation nodes can be imported, but at the moment there is
+no way to use them since the document type is read-only in
+DOM level 2.
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomProcessingInstruction
+<td valign="top">The target and value of the processing instruction is
+copied to the new node.
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomText
+<td valign="top">The text is copied to the new node.
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomCDATASection
+<td valign="top">The text is copied to the new node.
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomComment
+<td valign="top">The text is copied to the new node.
+</table></center>
+<p> <p>See also <a href="qdomelement.html#setAttribute">QDomElement::setAttribute</a>(), <a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>(), <a href="qdomnode.html#replaceChild">QDomNode::replaceChild</a>(), <a href="qdomnode.html#removeChild">QDomNode::removeChild</a>(), and <a href="qdomnode.html#appendChild">QDomNode::appendChild</a>().
+
+<h3 class=fn>bool <a name="isDocument"></a>QDomDocument::isDocument () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isDocument">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomDocument::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">DocumentNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomdocument.html">QDomDocument</a>&nbsp;&amp; <a name="operator-eq"></a>QDomDocument::operator= ( const&nbsp;<a href="qdomdocument.html">QDomDocument</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM document.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn>bool <a name="setContent"></a>QDomDocument::setContent ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;buffer, bool&nbsp;namespaceProcessing, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This function parses the XML document from the byte array <em>buffer</em> and sets it as the content of the document. It tries to
+detect the encoding of the document as required by the XML
+specification.
+<p> If <em>namespaceProcessing</em> is TRUE, the parser recognizes
+namespaces in the XML file and sets the prefix name, local name
+and namespace URI to appropriate values. If <em>namespaceProcessing</em>
+is FALSE, the parser does no namespace processing when it reads
+the XML file.
+<p> If a parse error occurs, the function returns FALSE; otherwise it
+returns TRUE. If a parse error occurs and <em>errorMsg</em>, <em>errorLine</em> and <em>errorColumn</em> are not 0, the error message is
+placed in <em>*errorMsg</em>, the line number <em>*errorLine</em> and the
+column number in <em>*errorColumn</em>.
+<p> If <em>namespaceProcessing</em> is TRUE, the function <a href="qdomnode.html#prefix">QDomNode::prefix</a>()
+returns a string for all elements and attributes. It returns an
+empty string if the element or attribute has no prefix.
+<p> If <em>namespaceProcessing</em> is FALSE, the functions
+QDomNode::prefix(), <a href="qdomnode.html#localName">QDomNode::localName</a>() and
+<a href="qdomnode.html#namespaceURI">QDomNode::namespaceURI</a>() return <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="qdomnode.html#namespaceURI">QDomNode::namespaceURI</a>(), <a href="qdomnode.html#localName">QDomNode::localName</a>(), <a href="qdomnode.html#prefix">QDomNode::prefix</a>(), <a href="qstring.html#isNull">QString::isNull</a>(), and <a href="qstring.html#isEmpty">QString::isEmpty</a>().
+
+<h3 class=fn>bool <a name="setContent-2"></a>QDomDocument::setContent ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;buffer, bool&nbsp;namespaceProcessing, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the C string <em>buffer</em>.
+<p> <b>Warning:</b> This function does not try to detect the encoding:
+instead it assumes that the C string is UTF-8 encoded.
+
+<h3 class=fn>bool <a name="setContent-3"></a>QDomDocument::setContent ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, bool&nbsp;namespaceProcessing, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the string <em>text</em>.
+Since <em>text</em> is already a Unicode string, no encoding detection
+is done.
+
+<h3 class=fn>bool <a name="setContent-4"></a>QDomDocument::setContent ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, bool&nbsp;namespaceProcessing, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the IO device <em>dev</em>.
+
+<h3 class=fn>bool <a name="setContent-5"></a>QDomDocument::setContent ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;buffer, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the C string <em>buffer</em>.
+<p> No namespace processing is performed.
+<p> <b>Warning:</b> This function does not try to detect the encoding:
+instead it assumes that the C string is UTF-8 encoded.
+
+<h3 class=fn>bool <a name="setContent-6"></a>QDomDocument::setContent ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;buffer, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the byte array <em>buffer</em>.
+<p> No namespace processing is performed.
+
+<h3 class=fn>bool <a name="setContent-7"></a>QDomDocument::setContent ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the string <em>text</em>.
+Since <em>text</em> is already a Unicode string, no encoding detection
+is performed.
+<p> No namespace processing is performed either.
+
+<h3 class=fn>bool <a name="setContent-8"></a>QDomDocument::setContent ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the IO device <em>dev</em>.
+<p> No namespace processing is performed.
+
+<h3 class=fn>bool <a name="setContent-9"></a>QDomDocument::setContent ( <a href="qxmlinputsource.html">QXmlInputSource</a>&nbsp;*&nbsp;source, <a href="qxmlreader.html">QXmlReader</a>&nbsp;*&nbsp;reader, <a href="qstring.html">QString</a>&nbsp;*&nbsp;errorMsg = 0, int&nbsp;*&nbsp;errorLine = 0, int&nbsp;*&nbsp;errorColumn = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function reads the XML document from the <a href="qxmlinputsource.html">QXmlInputSource</a> <em>source</em> and
+parses it with the <a href="qxmlreader.html">QXmlReader</a> <em>reader</em>.
+<p> This function doesn't change the features of the <em>reader</em>. If you want to
+use certain features for parsing you can use this function to set up the
+reader appropriate.
+<p> <p>See also <a href="qxmlsimplereader.html">QXmlSimpleReader</a>.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="toCString"></a>QDomDocument::toCString () const
+</h3>
+Converts the parsed document back to its textual representation
+and returns a <a href="qcstring.html">QCString</a> for that is encoded in UTF-8.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="toCString-2"></a>QDomDocument::toCString ( int&nbsp;indent ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses <em>indent</em> as the amount of space to indent
+subelements.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QDomDocument::toString () const
+</h3>
+Converts the parsed document back to its textual representation.
+<p> <p>See also <a href="#toCString">toCString</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-2"></a>QDomDocument::toString ( int&nbsp;indent ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function uses <em>indent</em> as the amount of space to indent
+subelements.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocumentfragment-members.html b/doc/html/qdomdocumentfragment-members.html
new file mode 100644
index 0000000..8787d28
--- /dev/null
+++ b/doc/html/qdomdocumentfragment-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:380 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocumentFragment Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomDocumentFragment</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, including inherited members.
+
+<ul>
+<li><a href="qdomdocumentfragment.html#QDomDocumentFragment">QDomDocumentFragment</a>()
+<li><a href="qdomdocumentfragment.html#~QDomDocumentFragment">~QDomDocumentFragment</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomdocumentfragment.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomdocumentfragment.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomdocumentfragment.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocumentfragment.html b/doc/html/qdomdocumentfragment.html
new file mode 100644
index 0000000..25d1b67
--- /dev/null
+++ b/doc/html/qdomdocumentfragment.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:3252 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocumentFragment Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomDocumentFragment Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomDocumentFragment class is a tree of QDomNodes which is not usually a complete QDomDocument.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomdocumentfragment-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomDocumentFragment"><b>QDomDocumentFragment</b></a> ()</li>
+<li class=fn><a href="#QDomDocumentFragment-2"><b>QDomDocumentFragment</b></a> ( const&nbsp;QDomDocumentFragment&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomDocumentFragment &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomDocumentFragment&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomDocumentFragment"><b>~QDomDocumentFragment</b></a> ()</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocumentFragment"><b>isDocumentFragment</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomDocumentFragment class is a tree of QDomNodes which is not usually a complete <a href="qdomdocument.html">QDomDocument</a>.
+
+<p>
+
+<p> If you want to do complex tree operations it is useful to have a
+lightweight class to store nodes and their relations.
+QDomDocumentFragment stores a subtree of a document which does not
+necessarily represent a well-formed XML document.
+<p> QDomDocumentFragment is also useful if you want to group several
+nodes in a list and insert them all together as children of some
+node. In these cases QDomDocumentFragment can be used as a
+temporary container for this list of children.
+<p> The most important feature of QDomDocumentFragment is that it is
+treated in a special way by <a href="qdomnode.html#insertAfter">QDomNode::insertAfter</a>(),
+<a href="qdomnode.html#insertBefore">QDomNode::insertBefore</a>(), <a href="qdomnode.html#replaceChild">QDomNode::replaceChild</a>() and
+<a href="qdomnode.html#appendChild">QDomNode::appendChild</a>(): instead of inserting the fragment itself, all
+the fragment's children are inserted.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomDocumentFragment"></a>QDomDocumentFragment::QDomDocumentFragment ()
+</h3>
+Constructs an empty document fragment.
+
+<h3 class=fn><a name="QDomDocumentFragment-2"></a>QDomDocumentFragment::QDomDocumentFragment ( const&nbsp;<a href="qdomdocumentfragment.html">QDomDocumentFragment</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomDocumentFragment"></a>QDomDocumentFragment::~QDomDocumentFragment ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isDocumentFragment"></a>QDomDocumentFragment::isDocumentFragment () const<tt> [virtual]</tt>
+</h3>
+This function reimplements <a href="qdomnode.html#isDocumentFragment">QDomNode::isDocumentFragment</a>().
+<p> <p>See also <a href="#nodeType">nodeType</a>() and <a href="qdomnode.html#toDocumentFragment">QDomNode::toDocumentFragment</a>().
+
+<p>Reimplemented from <a href="qdomnode.html#isDocumentFragment">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomDocumentFragment::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <tt>DocumentFragment</tt>.
+<p> <p>See also <a href="#isDocumentFragment">isDocumentFragment</a>() and <a href="qdomnode.html#toDocumentFragment">QDomNode::toDocumentFragment</a>().
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomdocumentfragment.html">QDomDocumentFragment</a>&nbsp;&amp; <a name="operator-eq"></a>QDomDocumentFragment::operator= ( const&nbsp;<a href="qdomdocumentfragment.html">QDomDocumentFragment</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM document fragment.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocumenttype-members.html b/doc/html/qdomdocumenttype-members.html
new file mode 100644
index 0000000..00ccf5e
--- /dev/null
+++ b/doc/html/qdomdocumenttype-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:258 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocumentType Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomDocumentType</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomdocumenttype.html">QDomDocumentType</a>, including inherited members.
+
+<ul>
+<li><a href="qdomdocumenttype.html#QDomDocumentType">QDomDocumentType</a>()
+<li><a href="qdomdocumenttype.html#~QDomDocumentType">~QDomDocumentType</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomdocumenttype.html#entities">entities</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomdocumenttype.html#internalSubset">internalSubset</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomdocumenttype.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomdocumenttype.html#name">name</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomdocumenttype.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomdocumenttype.html#notations">notations</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomdocumenttype.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomdocumenttype.html#publicId">publicId</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomdocumenttype.html#systemId">systemId</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomdocumenttype.html b/doc/html/qdomdocumenttype.html
new file mode 100644
index 0000000..1d31075
--- /dev/null
+++ b/doc/html/qdomdocumenttype.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:3055 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomDocumentType Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomDocumentType Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomDocumentType class is the representation of the DTD
+in the document tree.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomdocumenttype-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomDocumentType"><b>QDomDocumentType</b></a> ()</li>
+<li class=fn><a href="#QDomDocumentType-2"><b>QDomDocumentType</b></a> ( const&nbsp;QDomDocumentType&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>QDomDocumentType &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomDocumentType&nbsp;&amp;&nbsp;n )</li>
+<li class=fn><a href="#~QDomDocumentType"><b>~QDomDocumentType</b></a> ()</li>
+<li class=fn>virtual QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>virtual QDomNamedNodeMap <a href="#entities"><b>entities</b></a> () const</li>
+<li class=fn>virtual QDomNamedNodeMap <a href="#notations"><b>notations</b></a> () const</li>
+<li class=fn>virtual QString <a href="#publicId"><b>publicId</b></a> () const</li>
+<li class=fn>virtual QString <a href="#systemId"><b>systemId</b></a> () const</li>
+<li class=fn>virtual QString <a href="#internalSubset"><b>internalSubset</b></a> () const</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocumentType"><b>isDocumentType</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomDocumentType class is the representation of the DTD
+in the document tree.
+
+<p>
+
+<p> The QDomDocumentType class allows read-only access to some of the
+data structures in the DTD: it can return a map of all <a href="#entities">entities</a>()
+and <a href="#notations">notations</a>(). In addition the function <a href="#name">name</a>() returns the name
+of the document type as specified in the &lt;!DOCTYPE name&gt;
+tag. This class also provides the <a href="#publicId">publicId</a>(), <a href="#systemId">systemId</a>() and
+<a href="#internalSubset">internalSubset</a>() functions.
+<p> <p>See also <a href="qdomdocument.html">QDomDocument</a> and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomDocumentType"></a>QDomDocumentType::QDomDocumentType ()
+</h3>
+Creates an empty QDomDocumentType object.
+
+<h3 class=fn><a name="QDomDocumentType-2"></a>QDomDocumentType::QDomDocumentType ( const&nbsp;<a href="qdomdocumenttype.html">QDomDocumentType</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Constructs a copy of <em>n</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomDocumentType"></a>QDomDocumentType::~QDomDocumentType ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qdomnamednodemap.html">QDomNamedNodeMap</a> <a name="entities"></a>QDomDocumentType::entities () const<tt> [virtual]</tt>
+</h3>
+Returns a map of all entities described in the DTD.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="internalSubset"></a>QDomDocumentType::internalSubset () const<tt> [virtual]</tt>
+</h3>
+Returns the internal subset of the document type or <a href="qstring.html#QString-null">QString::null</a>
+if there is no internal subset.
+<p> <p>See also <a href="#publicId">publicId</a>() and <a href="#systemId">systemId</a>().
+
+<h3 class=fn>bool <a name="isDocumentType"></a>QDomDocumentType::isDocumentType () const<tt> [virtual]</tt>
+</h3>
+This function overloads <a href="qdomnode.html#isDocumentType">QDomNode::isDocumentType</a>().
+<p> <p>See also <a href="#nodeType">nodeType</a>() and <a href="qdomnode.html#toDocumentType">QDomNode::toDocumentType</a>().
+
+<p>Reimplemented from <a href="qdomnode.html#isDocumentType">QDomNode</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QDomDocumentType::name () const<tt> [virtual]</tt>
+</h3>
+Returns the name of the document type as specified in the
+&lt;!DOCTYPE name&gt; tag.
+<p> <p>See also <a href="qdomnode.html#nodeName">nodeName</a>().
+
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomDocumentType::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">DocumentTypeNode</a>.
+<p> <p>See also <a href="#isDocumentType">isDocumentType</a>() and <a href="qdomnode.html#toDocumentType">QDomNode::toDocumentType</a>().
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomnamednodemap.html">QDomNamedNodeMap</a> <a name="notations"></a>QDomDocumentType::notations () const<tt> [virtual]</tt>
+</h3>
+Returns a map of all notations described in the DTD.
+
+<h3 class=fn><a href="qdomdocumenttype.html">QDomDocumentType</a>&nbsp;&amp; <a name="operator-eq"></a>QDomDocumentType::operator= ( const&nbsp;<a href="qdomdocumenttype.html">QDomDocumentType</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Assigns <em>n</em> to this document type.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="publicId"></a>QDomDocumentType::publicId () const<tt> [virtual]</tt>
+</h3>
+Returns the public identifier of the external DTD subset or
+<a href="qstring.html#QString-null">QString::null</a> if there is no public identifier.
+<p> <p>See also <a href="#systemId">systemId</a>(), <a href="#internalSubset">internalSubset</a>(), and <a href="qdomimplementation.html#createDocumentType">QDomImplementation::createDocumentType</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="systemId"></a>QDomDocumentType::systemId () const<tt> [virtual]</tt>
+</h3>
+Returns the system identifier of the external DTD subset or
+<a href="qstring.html#QString-null">QString::null</a> if there is no system identifier.
+<p> <p>See also <a href="#publicId">publicId</a>(), <a href="#internalSubset">internalSubset</a>(), and <a href="qdomimplementation.html#createDocumentType">QDomImplementation::createDocumentType</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomelement-members.html b/doc/html/qdomelement-members.html
new file mode 100644
index 0000000..b4c8a60
--- /dev/null
+++ b/doc/html/qdomelement-members.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:463 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomElement Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomElement</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomelement.html">QDomElement</a>, including inherited members.
+
+<ul>
+<li><a href="qdomelement.html#QDomElement">QDomElement</a>()
+<li><a href="qdomelement.html#~QDomElement">~QDomElement</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomelement.html#attribute">attribute</a>()
+<li><a href="qdomelement.html#attributeNS">attributeNS</a>()
+<li><a href="qdomelement.html#attributeNode">attributeNode</a>()
+<li><a href="qdomelement.html#attributeNodeNS">attributeNodeNS</a>()
+<li><a href="qdomelement.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomelement.html#elementsByTagName">elementsByTagName</a>()
+<li><a href="qdomelement.html#elementsByTagNameNS">elementsByTagNameNS</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomelement.html#hasAttribute">hasAttribute</a>()
+<li><a href="qdomelement.html#hasAttributeNS">hasAttributeNS</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomelement.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomelement.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomelement.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomelement.html#removeAttribute">removeAttribute</a>()
+<li><a href="qdomelement.html#removeAttributeNS">removeAttributeNS</a>()
+<li><a href="qdomelement.html#removeAttributeNode">removeAttributeNode</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomelement.html#setAttribute">setAttribute</a>()
+<li><a href="qdomelement.html#setAttributeNS">setAttributeNS</a>()
+<li><a href="qdomelement.html#setAttributeNode">setAttributeNode</a>()
+<li><a href="qdomelement.html#setAttributeNodeNS">setAttributeNodeNS</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomelement.html#setTagName">setTagName</a>()
+<li><a href="qdomelement.html#tagName">tagName</a>()
+<li><a href="qdomelement.html#text">text</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomelement.html b/doc/html/qdomelement.html
new file mode 100644
index 0000000..bbe4b0b
--- /dev/null
+++ b/doc/html/qdomelement.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:4118 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomElement Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomElement Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomElement class represents one element in the DOM tree.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomelement-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomElement"><b>QDomElement</b></a> ()</li>
+<li class=fn><a href="#QDomElement-2"><b>QDomElement</b></a> ( const&nbsp;QDomElement&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomElement &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomElement&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomElement"><b>~QDomElement</b></a> ()</li>
+<li class=fn>QString <a href="#attribute"><b>attribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;defValue = QString::null ) const</li>
+<li class=fn>void <a href="#setAttribute"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>void <a href="#setAttribute-2"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, int&nbsp;value )</li>
+<li class=fn>void <a href="#setAttribute-3"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, uint&nbsp;value )</li>
+<li class=fn>void <a href="#setAttribute-4"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, long&nbsp;value )</li>
+<li class=fn>void <a href="#setAttribute-5"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, ulong&nbsp;value )</li>
+<li class=fn>void <a href="#setAttribute-6"><b>setAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, double&nbsp;value )</li>
+<li class=fn>void <a href="#removeAttribute"><b>removeAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QDomAttr <a href="#attributeNode"><b>attributeNode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QDomAttr <a href="#setAttributeNode"><b>setAttributeNode</b></a> ( const&nbsp;QDomAttr&nbsp;&amp;&nbsp;newAttr )</li>
+<li class=fn>QDomAttr <a href="#removeAttributeNode"><b>removeAttributeNode</b></a> ( const&nbsp;QDomAttr&nbsp;&amp;&nbsp;oldAttr )</li>
+<li class=fn>virtual QDomNodeList <a href="#elementsByTagName"><b>elementsByTagName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tagname ) const</li>
+<li class=fn>bool <a href="#hasAttribute"><b>hasAttribute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>QString <a href="#attributeNS"><b>attributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName, const&nbsp;QString&nbsp;&amp;&nbsp;defValue ) const</li>
+<li class=fn>void <a href="#setAttributeNS"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>void <a href="#setAttributeNS-2"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, int&nbsp;value )</li>
+<li class=fn>void <a href="#setAttributeNS-3"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, uint&nbsp;value )</li>
+<li class=fn>void <a href="#setAttributeNS-4"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, long&nbsp;value )</li>
+<li class=fn>void <a href="#setAttributeNS-5"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, ulong&nbsp;value )</li>
+<li class=fn>void <a href="#setAttributeNS-6"><b>setAttributeNS</b></a> ( const&nbsp;QString&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, double&nbsp;value )</li>
+<li class=fn>void <a href="#removeAttributeNS"><b>removeAttributeNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName )</li>
+<li class=fn>QDomAttr <a href="#attributeNodeNS"><b>attributeNodeNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName )</li>
+<li class=fn>QDomAttr <a href="#setAttributeNodeNS"><b>setAttributeNodeNS</b></a> ( const&nbsp;QDomAttr&nbsp;&amp;&nbsp;newAttr )</li>
+<li class=fn>virtual QDomNodeList <a href="#elementsByTagNameNS"><b>elementsByTagNameNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName ) const</li>
+<li class=fn>bool <a href="#hasAttributeNS"><b>hasAttributeNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName ) const</li>
+<li class=fn>QString <a href="#tagName"><b>tagName</b></a> () const</li>
+<li class=fn>void <a href="#setTagName"><b>setTagName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual QDomNamedNodeMap <a href="#attributes"><b>attributes</b></a> () const</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isElement"><b>isElement</b></a> () const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomElement class represents one element in the DOM tree.
+
+<p>
+
+<p> Elements have a <a href="#tagName">tagName</a>() and zero or more attributes associated
+with them. The tag name can be changed with <a href="#setTagName">setTagName</a>().
+<p> Element attributes are represented by <a href="qdomattr.html">QDomAttr</a> objects that can
+be queried using the <a href="#attribute">attribute</a>() and <a href="#attributeNode">attributeNode</a>() functions.
+You can set attributes with the <a href="#setAttribute">setAttribute</a>() and
+<a href="#setAttributeNode">setAttributeNode</a>() functions. Attributes can be removed with
+<a href="#removeAttribute">removeAttribute</a>(). There are namespace-aware equivalents to these
+functions, i.e. <a href="#setAttributeNS">setAttributeNS</a>(), <a href="#setAttributeNodeNS">setAttributeNodeNS</a>() and
+<a href="#removeAttributeNS">removeAttributeNS</a>().
+<p> If you want to access the text of a node use <a href="#text">text</a>(), e.g.
+<pre>
+ QDomElement e = //...
+ //...
+ <a href="qstring.html">QString</a> s = e.<a href="#text">text</a>()
+ </pre>
+
+The text() function operates recursively to find the text (since
+not all elements contain text). If you want to find all the text
+in all of a node's children, iterate over the children looking for
+<a href="qdomtext.html">QDomText</a> nodes, e.g.
+<pre>
+ <a href="qstring.html">QString</a> text;
+ QDomElement element = doc.documentElement();
+ for( <a href="qdomnode.html">QDomNode</a> n = element.<a href="qdomnode.html#firstChild">firstChild</a>(); !n.<a href="qdomnode.html#isNull">isNull</a>(); n = n.<a href="qdomnode.html#nextSibling">nextSibling</a>() )
+ {
+ <a href="qdomtext.html">QDomText</a> t = n.<a href="qdomnode.html#toText">toText</a>();
+ if ( !t.<a href="qdomnode.html#isNull">isNull</a>() )
+ text += t.<a href="qdomcharacterdata.html#data">data</a>();
+ }
+ </pre>
+
+Note that we attempt to convert each node to a text node and use
+<a href="#text">text</a>() rather than using <a href="qdomnode.html#firstChild">firstChild</a>().<a href="qdomnode.html#toText">toText</a>().data() or
+n.toText().data() directly on the node, because the node may not
+be a text element.
+<p> You can get a list of all the decendents of an element which have
+a specified tag name with <a href="#elementsByTagName">elementsByTagName</a>() or
+<a href="#elementsByTagNameNS">elementsByTagNameNS</a>().
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomElement"></a>QDomElement::QDomElement ()
+</h3>
+Constructs an empty element. Use the <a href="qdomdocument.html#createElement">QDomDocument::createElement</a>()
+function to construct elements with content.
+
+<h3 class=fn><a name="QDomElement-2"></a>QDomElement::QDomElement ( const&nbsp;<a href="qdomelement.html">QDomElement</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomElement"></a>QDomElement::~QDomElement ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="attribute"></a>QDomElement::attribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;defValue = QString::null ) const
+</h3>
+Returns the attribute called <em>name</em>. If the attribute does not
+exist <em>defValue</em> is returned.
+<p> <p>See also <a href="#setAttribute">setAttribute</a>(), <a href="#attributeNode">attributeNode</a>(), <a href="#setAttributeNode">setAttributeNode</a>(), and <a href="#attributeNS">attributeNS</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="attributeNS"></a>QDomElement::attributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;defValue ) const
+</h3>
+Returns the attribute with the local name <em>localName</em> and the
+namespace URI <em>nsURI</em>. If the attribute does not exist <em>defValue</em> is returned.
+<p> <p>See also <a href="#setAttributeNS">setAttributeNS</a>(), <a href="#attributeNodeNS">attributeNodeNS</a>(), <a href="#setAttributeNodeNS">setAttributeNodeNS</a>(), and <a href="#attribute">attribute</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="attributeNode"></a>QDomElement::attributeNode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Returns the <a href="qdomattr.html">QDomAttr</a> object that corresponds to the attribute
+called <em>name</em>. If no such attribute exists a <a href="qdomnode.html#isNull">null attribute</a> is returned.
+<p> <p>See also <a href="#setAttributeNode">setAttributeNode</a>(), <a href="#attribute">attribute</a>(), <a href="#setAttribute">setAttribute</a>(), and <a href="#attributeNodeNS">attributeNodeNS</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="attributeNodeNS"></a>QDomElement::attributeNodeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName )
+</h3>
+Returns the <a href="qdomattr.html">QDomAttr</a> object that corresponds to the attribute with
+the local name <em>localName</em> and the namespace URI <em>nsURI</em>. If no
+such attribute exists a <a href="qdomnode.html#isNull">null
+ attribute</a> is returned.
+<p> <p>See also <a href="#setAttributeNode">setAttributeNode</a>(), <a href="#attribute">attribute</a>(), and <a href="#setAttribute">setAttribute</a>().
+
+<h3 class=fn><a href="qdomnamednodemap.html">QDomNamedNodeMap</a> <a name="attributes"></a>QDomElement::attributes () const<tt> [virtual]</tt>
+</h3>
+Returns a <a href="qdomnamednodemap.html">QDomNamedNodeMap</a> containing all this element's attributes.
+<p> <p>See also <a href="#attribute">attribute</a>(), <a href="#setAttribute">setAttribute</a>(), <a href="#attributeNode">attributeNode</a>(), and <a href="#setAttributeNode">setAttributeNode</a>().
+
+<p>Reimplemented from <a href="qdomnode.html#attributes">QDomNode</a>.
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a> <a name="elementsByTagName"></a>QDomElement::elementsByTagName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tagname ) const<tt> [virtual]</tt>
+</h3>
+Returns a <a href="qdomnodelist.html">QDomNodeList</a> containing all descendent elements of this
+element that are called <em>tagname</em>. The order they are in the node
+list is the order they are encountered in a preorder traversal of
+the element tree.
+<p> <p>See also <a href="#elementsByTagNameNS">elementsByTagNameNS</a>() and <a href="qdomdocument.html#elementsByTagName">QDomDocument::elementsByTagName</a>().
+
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a> <a name="elementsByTagNameNS"></a>QDomElement::elementsByTagNameNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName ) const<tt> [virtual]</tt>
+</h3>
+Returns a <a href="qdomnodelist.html">QDomNodeList</a> containing all the descendent elements of
+this element with the local name <em>localName</em> and the namespace
+URI <em>nsURI</em>. The order they are in the node list is the order
+they are encountered in a preorder traversal of the element tree.
+<p> <p>See also <a href="#elementsByTagName">elementsByTagName</a>() and <a href="qdomdocument.html#elementsByTagNameNS">QDomDocument::elementsByTagNameNS</a>().
+
+<h3 class=fn>bool <a name="hasAttribute"></a>QDomElement::hasAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if this element has an attribute called <em>name</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="hasAttributeNS"></a>QDomElement::hasAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName ) const
+</h3>
+Returns TRUE if this element has an attribute with the local name
+<em>localName</em> and the namespace URI <em>nsURI</em>; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="isElement"></a>QDomElement::isElement () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isElement">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomElement::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">ElementNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomelement.html">QDomElement</a>&nbsp;&amp; <a name="operator-eq"></a>QDomElement::operator= ( const&nbsp;<a href="qdomelement.html">QDomElement</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM element.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn>void <a name="removeAttribute"></a>QDomElement::removeAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Removes the attribute called name <em>name</em> from this element.
+<p> <p>See also <a href="#setAttribute">setAttribute</a>(), <a href="#attribute">attribute</a>(), and <a href="#removeAttributeNS">removeAttributeNS</a>().
+
+<h3 class=fn>void <a name="removeAttributeNS"></a>QDomElement::removeAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName )
+</h3>
+Removes the attribute with the local name <em>localName</em> and the
+namespace URI <em>nsURI</em> from this element.
+<p> <p>See also <a href="#setAttributeNS">setAttributeNS</a>(), <a href="#attributeNS">attributeNS</a>(), and <a href="#removeAttribute">removeAttribute</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="removeAttributeNode"></a>QDomElement::removeAttributeNode ( const&nbsp;<a href="qdomattr.html">QDomAttr</a>&nbsp;&amp;&nbsp;oldAttr )
+</h3>
+Removes the attribute <em>oldAttr</em> from the element and returns it.
+<p> <p>See also <a href="#attributeNode">attributeNode</a>() and <a href="#setAttributeNode">setAttributeNode</a>().
+
+<h3 class=fn>void <a name="setAttribute"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Adds an attribute called <em>name</em> with value <em>value</em>. If an
+attribute with the same name exists, its value is replaced by <em>value</em>.
+<p> <p>See also <a href="#attribute">attribute</a>(), <a href="#setAttributeNode">setAttributeNode</a>(), and <a href="#setAttributeNS">setAttributeNS</a>().
+
+<h3 class=fn>void <a name="setAttribute-2"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, int&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttribute-3"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, uint&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttribute-4"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, long&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttribute-5"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, ulong&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttribute-6"></a>QDomElement::setAttribute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, double&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttributeNS"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Adds an attribute with the qualified name <em>qName</em> and the
+namespace URI <em>nsURI</em> with the value <em>value</em>. If an attribute
+with the same local name and namespace URI exists, its prefix is
+replaced by the prefix of <em>qName</em> and its value is repaced by <em>value</em>.
+<p> Although <em>qName</em> is the qualified name, the local name is used to
+decide if an existing attribute's value should be replaced.
+<p> <p>See also <a href="#attributeNS">attributeNS</a>(), <a href="#setAttributeNodeNS">setAttributeNodeNS</a>(), and <a href="#setAttribute">setAttribute</a>().
+
+<h3 class=fn>void <a name="setAttributeNS-2"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, int&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttributeNS-3"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, uint&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttributeNS-4"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, long&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttributeNS-5"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, ulong&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setAttributeNS-6"></a>QDomElement::setAttributeNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, double&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="setAttributeNode"></a>QDomElement::setAttributeNode ( const&nbsp;<a href="qdomattr.html">QDomAttr</a>&nbsp;&amp;&nbsp;newAttr )
+</h3>
+Adds the attribute <em>newAttr</em> to this element.
+<p> If the element has another attribute that has the same name as <em>newAttr</em>, this function replaces that attribute and returns it;
+otherwise the function returns a <a href="qdomnode.html#isNull">null
+ attribute</a>.
+<p> <p>See also <a href="#attributeNode">attributeNode</a>(), <a href="#setAttribute">setAttribute</a>(), and <a href="#setAttributeNodeNS">setAttributeNodeNS</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="setAttributeNodeNS"></a>QDomElement::setAttributeNodeNS ( const&nbsp;<a href="qdomattr.html">QDomAttr</a>&nbsp;&amp;&nbsp;newAttr )
+</h3>
+Adds the attribute <em>newAttr</em> to this element.
+<p> If the element has another attribute that has the same local name
+and namespace URI as <em>newAttr</em>, this function replaces that
+attribute and returns it; otherwise the function returns a <a href="qdomnode.html#isNull">null attribute</a>.
+<p> <p>See also <a href="#attributeNodeNS">attributeNodeNS</a>(), <a href="#setAttributeNS">setAttributeNS</a>(), and <a href="#setAttributeNode">setAttributeNode</a>().
+
+<h3 class=fn>void <a name="setTagName"></a>QDomElement::setTagName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Sets this element's tag name to <em>name</em>.
+<p> <p>See also <a href="#tagName">tagName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="tagName"></a>QDomElement::tagName () const
+</h3>
+Returns the tag name of this element. For an XML element like this:
+<pre>
+ &lt;img src="myimg.png"&gt;
+ </pre>
+
+the tagname would return "img".
+<p> <p>See also <a href="#setTagName">setTagName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QDomElement::text () const
+</h3>
+Returns the element's text or <a href="qstring.html#QString-null">QString::null</a>.
+<p> Example:
+<pre>
+ &lt;h1&gt;Hello &lt;b&gt;Qt&lt;/b&gt; &lt;![CDATA[&lt;xml is cool&gt;]]&gt;&lt;/h1&gt;
+ </pre>
+
+<p> The function <a href="#text">text</a>() of the QDomElement for the &lt;h1&gt; tag,
+will return "Hello Qt &lt;xml is cool&gt;".
+<p> Comments are ignored by this function. It only evaluates <a href="qdomtext.html">QDomText</a>
+and <a href="qdomcdatasection.html">QDomCDATASection</a> objects.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomentity-members.html b/doc/html/qdomentity-members.html
new file mode 100644
index 0000000..e501366
--- /dev/null
+++ b/doc/html/qdomentity-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:602 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomEntity Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomEntity</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomentity.html">QDomEntity</a>, including inherited members.
+
+<ul>
+<li><a href="qdomentity.html#QDomEntity">QDomEntity</a>()
+<li><a href="qdomentity.html#~QDomEntity">~QDomEntity</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomentity.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomentity.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomentity.html#notationName">notationName</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomentity.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomentity.html#publicId">publicId</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomentity.html#systemId">systemId</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomentity.html b/doc/html/qdomentity.html
new file mode 100644
index 0000000..0b81287
--- /dev/null
+++ b/doc/html/qdomentity.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:5312 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomEntity Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomEntity Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomEntity class represents an XML entity.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomentity-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomEntity"><b>QDomEntity</b></a> ()</li>
+<li class=fn><a href="#QDomEntity-2"><b>QDomEntity</b></a> ( const&nbsp;QDomEntity&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomEntity &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomEntity&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomEntity"><b>~QDomEntity</b></a> ()</li>
+<li class=fn>virtual QString <a href="#publicId"><b>publicId</b></a> () const</li>
+<li class=fn>virtual QString <a href="#systemId"><b>systemId</b></a> () const</li>
+<li class=fn>virtual QString <a href="#notationName"><b>notationName</b></a> () const</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEntity"><b>isEntity</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomEntity class represents an XML entity.
+
+<p>
+
+<p> This class represents an entity in an XML document, either parsed
+or unparsed. Note that this models the entity itself not the
+entity declaration.
+<p> DOM does not support editing entity nodes; if a user wants to make
+changes to the contents of an entity, every related
+<a href="qdomentityreference.html">QDomEntityReference</a> node must be replaced in the DOM tree by a
+clone of the entity's contents, and then the desired changes must
+be made to each of the clones instead. All the descendents of an
+entity node are read-only.
+<p> An entity node does not have any parent.
+<p> You can access the entity's <a href="#publicId">publicId</a>(), <a href="#systemId">systemId</a>() and
+<a href="#notationName">notationName</a>() when available.
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomEntity"></a>QDomEntity::QDomEntity ()
+</h3>
+Constructs an empty entity.
+
+<h3 class=fn><a name="QDomEntity-2"></a>QDomEntity::QDomEntity ( const&nbsp;<a href="qdomentity.html">QDomEntity</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomEntity"></a>QDomEntity::~QDomEntity ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isEntity"></a>QDomEntity::isEntity () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isEntity">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomEntity::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">EntityNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="notationName"></a>QDomEntity::notationName () const<tt> [virtual]</tt>
+</h3>
+For unparsed entities this function returns the name of the
+notation for the entity. For parsed entities this function returns
+<a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn><a href="qdomentity.html">QDomEntity</a>&nbsp;&amp; <a name="operator-eq"></a>QDomEntity::operator= ( const&nbsp;<a href="qdomentity.html">QDomEntity</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM entity.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="publicId"></a>QDomEntity::publicId () const<tt> [virtual]</tt>
+</h3>
+Returns the public identifier associated with this entity. If the
+public identifier was not specified <a href="qstring.html#QString-null">QString::null</a> is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="systemId"></a>QDomEntity::systemId () const<tt> [virtual]</tt>
+</h3>
+Returns the system identifier associated with this entity. If the
+system identifier was not specified <a href="qstring.html#QString-null">QString::null</a> is returned.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomentityreference-members.html b/doc/html/qdomentityreference-members.html
new file mode 100644
index 0000000..c02bfea
--- /dev/null
+++ b/doc/html/qdomentityreference-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:625 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomEntityReference Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomEntityReference</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomentityreference.html">QDomEntityReference</a>, including inherited members.
+
+<ul>
+<li><a href="qdomentityreference.html#QDomEntityReference">QDomEntityReference</a>()
+<li><a href="qdomentityreference.html#~QDomEntityReference">~QDomEntityReference</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomentityreference.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomentityreference.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomentityreference.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomentityreference.html b/doc/html/qdomentityreference.html
new file mode 100644
index 0000000..be244e9
--- /dev/null
+++ b/doc/html/qdomentityreference.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:5486 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomEntityReference Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomEntityReference Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomEntityReference class represents an XML entity reference.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomentityreference-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomEntityReference"><b>QDomEntityReference</b></a> ()</li>
+<li class=fn><a href="#QDomEntityReference-2"><b>QDomEntityReference</b></a> ( const&nbsp;QDomEntityReference&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomEntityReference &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomEntityReference&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomEntityReference"><b>~QDomEntityReference</b></a> ()</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEntityReference"><b>isEntityReference</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomEntityReference class represents an XML entity reference.
+
+<p>
+
+<p> A QDomEntityReference object may be inserted into the DOM tree
+when an entity reference is in the source document, or when the
+user wishes to insert an entity reference.
+<p> Note that character references and references to predefined
+entities are expanded by the XML processor so that characters are
+represented by their Unicode equivalent rather than by an entity
+reference.
+<p> Moreover, the XML processor may completely expand references to
+entities while building the DOM tree, instead of providing
+QDomEntityReference objects.
+<p> If it does provide such objects, then for a given entity reference
+node, it may be that there is no entity node representing the
+referenced entity; but if such an entity exists, then the child
+list of the entity reference node is the same as that of the
+entity node. As with the entity node, all descendents of the
+entity reference are read-only.
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomEntityReference"></a>QDomEntityReference::QDomEntityReference ()
+</h3>
+Constructs an empty entity reference. Use
+<a href="qdomdocument.html#createEntityReference">QDomDocument::createEntityReference</a>() to create a entity reference
+with content.
+
+<h3 class=fn><a name="QDomEntityReference-2"></a>QDomEntityReference::QDomEntityReference ( const&nbsp;<a href="qdomentityreference.html">QDomEntityReference</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomEntityReference"></a>QDomEntityReference::~QDomEntityReference ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isEntityReference"></a>QDomEntityReference::isEntityReference () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isEntityReference">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomEntityReference::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <tt>EntityReference</tt>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomentityreference.html">QDomEntityReference</a>&nbsp;&amp; <a name="operator-eq"></a>QDomEntityReference::operator= ( const&nbsp;<a href="qdomentityreference.html">QDomEntityReference</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this entity reference.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomimplementation-members.html b/doc/html/qdomimplementation-members.html
new file mode 100644
index 0000000..2ad1b91
--- /dev/null
+++ b/doc/html/qdomimplementation-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:98 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomImplementation Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomImplementation</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomimplementation.html">QDomImplementation</a>, including inherited members.
+
+<ul>
+<li><a href="qdomimplementation.html#QDomImplementation">QDomImplementation</a>()
+<li><a href="qdomimplementation.html#~QDomImplementation">~QDomImplementation</a>()
+<li><a href="qdomimplementation.html#createDocument">createDocument</a>()
+<li><a href="qdomimplementation.html#createDocumentType">createDocumentType</a>()
+<li><a href="qdomimplementation.html#hasFeature">hasFeature</a>()
+<li><a href="qdomimplementation.html#isNull">isNull</a>()
+<li><a href="qdomimplementation.html#operator!-eq">operator!=</a>()
+<li><a href="qdomimplementation.html#operator-eq">operator=</a>()
+<li><a href="qdomimplementation.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomimplementation.html b/doc/html/qdomimplementation.html
new file mode 100644
index 0000000..5b6947b
--- /dev/null
+++ b/doc/html/qdomimplementation.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:609 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomImplementation Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomImplementation Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomImplementation class provides information about the
+features of the DOM implementation.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p><a href="qdomimplementation-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomImplementation"><b>QDomImplementation</b></a> ()</li>
+<li class=fn><a href="#QDomImplementation-2"><b>QDomImplementation</b></a> ( const&nbsp;QDomImplementation&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>virtual <a href="#~QDomImplementation"><b>~QDomImplementation</b></a> ()</li>
+<li class=fn>QDomImplementation &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomImplementation&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDomImplementation&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDomImplementation&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>virtual bool <a href="#hasFeature"><b>hasFeature</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;feature, const&nbsp;QString&nbsp;&amp;&nbsp;version )</li>
+<li class=fn>virtual QDomDocumentType <a href="#createDocumentType"><b>createDocumentType</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qName, const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId )</li>
+<li class=fn>virtual QDomDocument <a href="#createDocument"><b>createDocument</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;qName, const&nbsp;QDomDocumentType&nbsp;&amp;&nbsp;doctype )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomImplementation class provides information about the
+features of the DOM implementation.
+
+<p>
+
+<p> This class describes the features that are supported by the DOM
+implementation. Currently the XML subset of DOM Level 1 and DOM
+Level 2 Core are supported.
+<p> Normally you will use the function <a href="qdomdocument.html#implementation">QDomDocument::implementation</a>()
+to get the implementation object.
+<p> You can create a new document type with <a href="#createDocumentType">createDocumentType</a>() and a
+new document with <a href="#createDocument">createDocument</a>().
+<p> For further information about the Document Object Model see <a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>. For a more general
+introduction of the DOM implementation see the <a href="qdomdocument.html">QDomDocument</a>
+documentation.
+<p> <p>See also <a href="#hasFeature">hasFeature</a>() and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomImplementation"></a>QDomImplementation::QDomImplementation ()
+</h3>
+Constructs a QDomImplementation object.
+
+<h3 class=fn><a name="QDomImplementation-2"></a>QDomImplementation::QDomImplementation ( const&nbsp;<a href="qdomimplementation.html">QDomImplementation</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+
+<h3 class=fn><a name="~QDomImplementation"></a>QDomImplementation::~QDomImplementation ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qdomdocument.html">QDomDocument</a> <a name="createDocument"></a>QDomImplementation::createDocument ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, const&nbsp;<a href="qdomdocumenttype.html">QDomDocumentType</a>&nbsp;&amp;&nbsp;doctype )<tt> [virtual]</tt>
+</h3>
+Creates a DOM document with the document type <em>doctype</em>. This
+function also adds a root element node with the qualified name <em>qName</em> and the namespace URI <em>nsURI</em>.
+
+<h3 class=fn><a href="qdomdocumenttype.html">QDomDocumentType</a> <a name="createDocumentType"></a>QDomImplementation::createDocumentType ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId )<tt> [virtual]</tt>
+</h3>
+Creates a document type node for the name <em>qName</em>.
+<p> <em>publicId</em> specifies the public identifier of the external
+subset. If you specify <a href="qstring.html#QString-null">QString::null</a> as the <em>publicId</em>, this
+means that the document type has no public identifier.
+<p> <em>systemId</em> specifies the system identifier of the external
+subset. If you specify QString::null as the <em>systemId</em>, this
+means that the document type has no system identifier.
+<p> Since you cannot have a public identifier without a system
+identifier, the public identifier is set to QString::null if there
+is no system identifier.
+<p> DOM level 2 does not support any other document type declaration
+features.
+<p> The only way you can use a document type that was created this
+way, is in combination with the <a href="#createDocument">createDocument</a>() function to
+create a <a href="qdomdocument.html">QDomDocument</a> with this document type.
+<p> <p>See also <a href="#createDocument">createDocument</a>().
+
+<h3 class=fn>bool <a name="hasFeature"></a>QDomImplementation::hasFeature ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;feature, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;version )<tt> [virtual]</tt>
+</h3>
+The function returns TRUE if QDom implements the requested <em>version</em> of a <em>feature</em>; otherwise returns FALSE.
+<p> The currently supported features and their versions:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Feature <th valign="top">Version
+<tr bgcolor="#f0f0f0"> <td valign="top">XML <td valign="top">1.0
+</table></center>
+
+<h3 class=fn>bool <a name="isNull"></a>QDomImplementation::isNull ()
+</h3>
+Returns FALSE if the object was created by
+<a href="qdomdocument.html#implementation">QDomDocument::implementation</a>(); otherwise returns TRUE.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDomImplementation::operator!= ( const&nbsp;<a href="qdomimplementation.html">QDomImplementation</a>&nbsp;&amp;&nbsp;x ) const
+</h3>
+Returns TRUE if <em>x</em> and this DOM implementation object were
+created from different QDomDocuments; otherwise returns FALSE.
+
+<h3 class=fn><a href="qdomimplementation.html">QDomImplementation</a>&nbsp;&amp; <a name="operator-eq"></a>QDomImplementation::operator= ( const&nbsp;<a href="qdomimplementation.html">QDomImplementation</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM implementation.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDomImplementation::operator== ( const&nbsp;<a href="qdomimplementation.html">QDomImplementation</a>&nbsp;&amp;&nbsp;x ) const
+</h3>
+Returns TRUE if <em>x</em> and this DOM implementation object were
+created from the same <a href="qdomdocument.html">QDomDocument</a>; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnamednodemap-members.html b/doc/html/qdomnamednodemap-members.html
new file mode 100644
index 0000000..6846eac
--- /dev/null
+++ b/doc/html/qdomnamednodemap-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:346 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNamedNodeMap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomNamedNodeMap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomnamednodemap.html">QDomNamedNodeMap</a>, including inherited members.
+
+<ul>
+<li><a href="qdomnamednodemap.html#QDomNamedNodeMap">QDomNamedNodeMap</a>()
+<li><a href="qdomnamednodemap.html#~QDomNamedNodeMap">~QDomNamedNodeMap</a>()
+<li><a href="qdomnamednodemap.html#contains">contains</a>()
+<li><a href="qdomnamednodemap.html#count">count</a>()
+<li><a href="qdomnamednodemap.html#item">item</a>()
+<li><a href="qdomnamednodemap.html#length">length</a>()
+<li><a href="qdomnamednodemap.html#namedItem">namedItem</a>()
+<li><a href="qdomnamednodemap.html#namedItemNS">namedItemNS</a>()
+<li><a href="qdomnamednodemap.html#operator!-eq">operator!=</a>()
+<li><a href="qdomnamednodemap.html#operator-eq">operator=</a>()
+<li><a href="qdomnamednodemap.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnamednodemap.html#removeNamedItem">removeNamedItem</a>()
+<li><a href="qdomnamednodemap.html#removeNamedItemNS">removeNamedItemNS</a>()
+<li><a href="qdomnamednodemap.html#setNamedItem">setNamedItem</a>()
+<li><a href="qdomnamednodemap.html#setNamedItemNS">setNamedItemNS</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnamednodemap.html b/doc/html/qdomnamednodemap.html
new file mode 100644
index 0000000..5a5150a
--- /dev/null
+++ b/doc/html/qdomnamednodemap.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:2639 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNamedNodeMap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomNamedNodeMap Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomNamedNodeMap class contains a collection of nodes
+that can be accessed by name.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p><a href="qdomnamednodemap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomNamedNodeMap"><b>QDomNamedNodeMap</b></a> ()</li>
+<li class=fn><a href="#QDomNamedNodeMap-2"><b>QDomNamedNodeMap</b></a> ( const&nbsp;QDomNamedNodeMap&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>QDomNamedNodeMap &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomNamedNodeMap&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDomNamedNodeMap&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDomNamedNodeMap&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn><a href="#~QDomNamedNodeMap"><b>~QDomNamedNodeMap</b></a> ()</li>
+<li class=fn>QDomNode <a href="#namedItem"><b>namedItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>QDomNode <a href="#setNamedItem"><b>setNamedItem</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newNode )</li>
+<li class=fn>QDomNode <a href="#removeNamedItem"><b>removeNamedItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QDomNode <a href="#item"><b>item</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QDomNode <a href="#namedItemNS"><b>namedItemNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName ) const</li>
+<li class=fn>QDomNode <a href="#setNamedItemNS"><b>setNamedItemNS</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newNode )</li>
+<li class=fn>QDomNode <a href="#removeNamedItemNS"><b>removeNamedItemNS</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nsURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName )</li>
+<li class=fn>uint <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomNamedNodeMap class contains a collection of nodes
+that can be accessed by name.
+
+<p>
+
+<p> Note that QDomNamedNodeMap does not inherit from <a href="qdomnodelist.html">QDomNodeList</a>.
+QDomNamedNodeMaps do not provide any specific node ordering.
+Although nodes in a QDomNamedNodeMap may be accessed by an ordinal
+index, this is simply to allow a convenient enumeration of the
+contents of a QDomNamedNodeMap, and does not imply that the DOM
+specifies an ordering of the nodes.
+<p> The QDomNamedNodeMap is used in three places:
+<ol type=1>
+<li> <a href="qdomdocumenttype.html#entities">QDomDocumentType::entities</a>() returns a map of all entities
+described in the DTD.
+<li> <a href="qdomdocumenttype.html#notations">QDomDocumentType::notations</a>() returns a map of all notations
+described in the DTD.
+<li> <a href="qdomnode.html#attributes">QDomNode::attributes</a>() returns a map of all attributes of an
+element.
+</ol>
+<p> Items in the map are identified by the name which QDomNode::name()
+returns. Nodes are retrieved using <a href="#namedItem">namedItem</a>(), <a href="#namedItemNS">namedItemNS</a>() or
+<a href="#item">item</a>(). New nodes are inserted with <a href="#setNamedItem">setNamedItem</a>() or
+<a href="#setNamedItemNS">setNamedItemNS</a>() and removed with <a href="#removeNamedItem">removeNamedItem</a>() or
+<a href="#removeNamedItemNS">removeNamedItemNS</a>(). Use <a href="#contains">contains</a>() to see if an item with the
+given name is in the named node map. The number of items is
+returned by <a href="#length">length</a>().
+<p> Terminology: in this class we use "item" and "node"
+interchangeably.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomNamedNodeMap"></a>QDomNamedNodeMap::QDomNamedNodeMap ()
+</h3>
+Constructs an empty named node map.
+
+<h3 class=fn><a name="QDomNamedNodeMap-2"></a>QDomNamedNodeMap::QDomNamedNodeMap ( const&nbsp;<a href="qdomnamednodemap.html">QDomNamedNodeMap</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Constructs a copy of <em>n</em>.
+
+<h3 class=fn><a name="~QDomNamedNodeMap"></a>QDomNamedNodeMap::~QDomNamedNodeMap ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="contains"></a>QDomNamedNodeMap::contains ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if the map contains a node called <em>name</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>uint <a name="count"></a>QDomNamedNodeMap::count () const
+</h3>
+
+<p> Returns the number of nodes in the map.
+<p> This function is the same as <a href="#length">length</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="item"></a>QDomNamedNodeMap::item ( int&nbsp;index ) const
+</h3>
+Retrieves the node at position <em>index</em>.
+<p> This can be used to iterate over the map. Note that the nodes in
+the map are ordered arbitrarily.
+<p> <p>See also <a href="#length">length</a>().
+
+<h3 class=fn>uint <a name="length"></a>QDomNamedNodeMap::length () const
+</h3>
+Returns the number of nodes in the map.
+<p> <p>See also <a href="#item">item</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="namedItem"></a>QDomNamedNodeMap::namedItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns the node called <em>name</em>.
+<p> If the named node map does not contain such a node, a <a href="qdomnode.html#isNull">null node</a> is returned. A node's name is
+the name returned by <a href="qdomnode.html#nodeName">QDomNode::nodeName</a>().
+<p> <p>See also <a href="#setNamedItem">setNamedItem</a>() and <a href="#namedItemNS">namedItemNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="namedItemNS"></a>QDomNamedNodeMap::namedItemNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName ) const
+</h3>
+Returns the node associated with the local name <em>localName</em> and
+the namespace URI <em>nsURI</em>.
+<p> If the map does not contain such a node, a <a href="qdomnode.html#isNull">null node</a> is returned.
+<p> <p>See also <a href="#setNamedItemNS">setNamedItemNS</a>() and <a href="#namedItem">namedItem</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDomNamedNodeMap::operator!= ( const&nbsp;<a href="qdomnamednodemap.html">QDomNamedNodeMap</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE if <em>n</em> and this named node map are not equal;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qdomnamednodemap.html">QDomNamedNodeMap</a>&nbsp;&amp; <a name="operator-eq"></a>QDomNamedNodeMap::operator= ( const&nbsp;<a href="qdomnamednodemap.html">QDomNamedNodeMap</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Assigns <em>n</em> to this named node map.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDomNamedNodeMap::operator== ( const&nbsp;<a href="qdomnamednodemap.html">QDomNamedNodeMap</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE if <em>n</em> and this named node map are equal; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="removeNamedItem"></a>QDomNamedNodeMap::removeNamedItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Removes the node called <em>name</em> from the map.
+<p> The function returns the removed node or a <a href="qdomnode.html#isNull">null node</a> if the map did not contain a
+node called <em>name</em>.
+<p> <p>See also <a href="#setNamedItem">setNamedItem</a>(), <a href="#namedItem">namedItem</a>(), and <a href="#removeNamedItemNS">removeNamedItemNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="removeNamedItemNS"></a>QDomNamedNodeMap::removeNamedItemNS ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName )
+</h3>
+Removes the node with the local name <em>localName</em> and the
+namespace URI <em>nsURI</em> from the map.
+<p> The function returns the removed node or a <a href="qdomnode.html#isNull">null node</a> if the map did not contain a
+node with the local name <em>localName</em> and the namespace URI <em>nsURI</em>.
+<p> <p>See also <a href="#setNamedItemNS">setNamedItemNS</a>(), <a href="#namedItemNS">namedItemNS</a>(), and <a href="#removeNamedItem">removeNamedItem</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="setNamedItem"></a>QDomNamedNodeMap::setNamedItem ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newNode )
+</h3>
+Inserts the node <em>newNode</em> into the named node map. The name used
+by the map is the node name of <em>newNode</em> as returned by
+<a href="qdomnode.html#nodeName">QDomNode::nodeName</a>().
+<p> If the new node replaces an existing node, i.e. the map contains a
+node with the same name, the replaced node is returned.
+<p> <p>See also <a href="#namedItem">namedItem</a>(), <a href="#removeNamedItem">removeNamedItem</a>(), and <a href="#setNamedItemNS">setNamedItemNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="setNamedItemNS"></a>QDomNamedNodeMap::setNamedItemNS ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newNode )
+</h3>
+Inserts the node <em>newNode</em> in the map. If a node with the same
+namespace URI and the same local name already exists in the map,
+it is replaced by <em>newNode</em>. If the new node replaces an existing
+node, the replaced node is returned.
+<p> <p>See also <a href="#namedItemNS">namedItemNS</a>(), <a href="#removeNamedItemNS">removeNamedItemNS</a>(), and <a href="#setNamedItem">setNamedItem</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnode-members.html b/doc/html/qdomnode-members.html
new file mode 100644
index 0000000..14eeadd
--- /dev/null
+++ b/doc/html/qdomnode-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:123 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNode Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomNode</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomnode.html">QDomNode</a>, including inherited members.
+
+<ul>
+<li><a href="qdomnode.html#QDomNode">QDomNode</a>()
+<li><a href="qdomnode.html#~QDomNode">~QDomNode</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomnode.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomnode.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnode.html b/doc/html/qdomnode.html
new file mode 100644
index 0000000..df211f6
--- /dev/null
+++ b/doc/html/qdomnode.html
@@ -0,0 +1,741 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:1528 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNode Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomNode Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomNode class is the base class for all the nodes in a DOM tree.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherited by <a href="qdomdocumenttype.html">QDomDocumentType</a>, <a href="qdomdocument.html">QDomDocument</a>, <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, <a href="qdomcharacterdata.html">QDomCharacterData</a>, <a href="qdomattr.html">QDomAttr</a>, <a href="qdomelement.html">QDomElement</a>, <a href="qdomnotation.html">QDomNotation</a>, <a href="qdomentity.html">QDomEntity</a>, <a href="qdomentityreference.html">QDomEntityReference</a>, and <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>.
+<p><a href="qdomnode-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#NodeType-enum"><b>NodeType</b></a> { ElementNode = 1, AttributeNode = 2, TextNode = 3, CDATASectionNode = 4, EntityReferenceNode = 5, EntityNode = 6, ProcessingInstructionNode = 7, CommentNode = 8, DocumentNode = 9, DocumentTypeNode = 10, DocumentFragmentNode = 11, NotationNode = 12, BaseNode = 21, CharacterDataNode = 22 }</li>
+<li class=fn><a href="#QDomNode"><b>QDomNode</b></a> ()</li>
+<li class=fn><a href="#QDomNode-2"><b>QDomNode</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>QDomNode &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn>virtual <a href="#~QDomNode"><b>~QDomNode</b></a> ()</li>
+<li class=fn>virtual QDomNode <a href="#insertBefore"><b>insertBefore</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newChild, const&nbsp;QDomNode&nbsp;&amp;&nbsp;refChild )</li>
+<li class=fn>virtual QDomNode <a href="#insertAfter"><b>insertAfter</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newChild, const&nbsp;QDomNode&nbsp;&amp;&nbsp;refChild )</li>
+<li class=fn>virtual QDomNode <a href="#replaceChild"><b>replaceChild</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newChild, const&nbsp;QDomNode&nbsp;&amp;&nbsp;oldChild )</li>
+<li class=fn>virtual QDomNode <a href="#removeChild"><b>removeChild</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;oldChild )</li>
+<li class=fn>virtual QDomNode <a href="#appendChild"><b>appendChild</b></a> ( const&nbsp;QDomNode&nbsp;&amp;&nbsp;newChild )</li>
+<li class=fn>virtual bool <a href="#hasChildNodes"><b>hasChildNodes</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#cloneNode"><b>cloneNode</b></a> ( bool&nbsp;deep = TRUE ) const</li>
+<li class=fn>virtual void <a href="#normalize"><b>normalize</b></a> ()</li>
+<li class=fn>virtual bool <a href="#isSupported"><b>isSupported</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;feature, const&nbsp;QString&nbsp;&amp;&nbsp;version ) const</li>
+<li class=fn>virtual QString <a href="#nodeName"><b>nodeName</b></a> () const</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#parentNode"><b>parentNode</b></a> () const</li>
+<li class=fn>virtual QDomNodeList <a href="#childNodes"><b>childNodes</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#firstChild"><b>firstChild</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#lastChild"><b>lastChild</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#previousSibling"><b>previousSibling</b></a> () const</li>
+<li class=fn>virtual QDomNode <a href="#nextSibling"><b>nextSibling</b></a> () const</li>
+<li class=fn>virtual QDomNamedNodeMap <a href="#attributes"><b>attributes</b></a> () const</li>
+<li class=fn>virtual QDomDocument <a href="#ownerDocument"><b>ownerDocument</b></a> () const</li>
+<li class=fn>virtual QString <a href="#namespaceURI"><b>namespaceURI</b></a> () const</li>
+<li class=fn>virtual QString <a href="#localName"><b>localName</b></a> () const</li>
+<li class=fn>virtual bool <a href="#hasAttributes"><b>hasAttributes</b></a> () const</li>
+<li class=fn>virtual QString <a href="#nodeValue"><b>nodeValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNodeValue"><b>setNodeValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>virtual QString <a href="#prefix"><b>prefix</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPrefix"><b>setPrefix</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pre )</li>
+<li class=fn>virtual bool <a href="#isAttr"><b>isAttr</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isCDATASection"><b>isCDATASection</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocumentFragment"><b>isDocumentFragment</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocument"><b>isDocument</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isDocumentType"><b>isDocumentType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isElement"><b>isElement</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEntityReference"><b>isEntityReference</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isText"><b>isText</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEntity"><b>isEntity</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isNotation"><b>isNotation</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isProcessingInstruction"><b>isProcessingInstruction</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isCharacterData"><b>isCharacterData</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isComment"><b>isComment</b></a> () const</li>
+<li class=fn>QDomNode <a href="#namedItem"><b>namedItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>QDomAttr <a href="#toAttr"><b>toAttr</b></a> ()</li>
+<li class=fn>QDomCDATASection <a href="#toCDATASection"><b>toCDATASection</b></a> ()</li>
+<li class=fn>QDomDocumentFragment <a href="#toDocumentFragment"><b>toDocumentFragment</b></a> ()</li>
+<li class=fn>QDomDocument <a href="#toDocument"><b>toDocument</b></a> ()</li>
+<li class=fn>QDomDocumentType <a href="#toDocumentType"><b>toDocumentType</b></a> ()</li>
+<li class=fn>QDomElement <a href="#toElement"><b>toElement</b></a> ()</li>
+<li class=fn>QDomEntityReference <a href="#toEntityReference"><b>toEntityReference</b></a> ()</li>
+<li class=fn>QDomText <a href="#toText"><b>toText</b></a> ()</li>
+<li class=fn>QDomEntity <a href="#toEntity"><b>toEntity</b></a> ()</li>
+<li class=fn>QDomNotation <a href="#toNotation"><b>toNotation</b></a> ()</li>
+<li class=fn>QDomProcessingInstruction <a href="#toProcessingInstruction"><b>toProcessingInstruction</b></a> ()</li>
+<li class=fn>QDomCharacterData <a href="#toCharacterData"><b>toCharacterData</b></a> ()</li>
+<li class=fn>QDomComment <a href="#toComment"><b>toComment</b></a> ()</li>
+<li class=fn>void <a href="#save"><b>save</b></a> ( QTextStream&nbsp;&amp;&nbsp;str, int&nbsp;indent ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;str, const&nbsp;QDomNode&nbsp;&amp;&nbsp;node )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomNode class is the base class for all the nodes in a DOM tree.
+
+<p>
+
+<p> Many functions in the DOM return a QDomNode.
+<p> You can find out the type of a node using <a href="#isAttr">isAttr</a>(),
+<a href="#isCDATASection">isCDATASection</a>(), <a href="#isDocumentFragment">isDocumentFragment</a>(), <a href="#isDocument">isDocument</a>(),
+<a href="#isDocumentType">isDocumentType</a>(), <a href="#isElement">isElement</a>(), <a href="#isEntityReference">isEntityReference</a>(), <a href="#isText">isText</a>(),
+<a href="#isEntity">isEntity</a>(), <a href="#isNotation">isNotation</a>(), <a href="#isProcessingInstruction">isProcessingInstruction</a>(),
+<a href="#isCharacterData">isCharacterData</a>() and <a href="#isComment">isComment</a>().
+<p> A QDomNode can be converted into one of its subclasses using
+<a href="#toAttr">toAttr</a>(), <a href="#toCDATASection">toCDATASection</a>(), <a href="#toDocumentFragment">toDocumentFragment</a>(), <a href="#toDocument">toDocument</a>(),
+<a href="#toDocumentType">toDocumentType</a>(), <a href="#toElement">toElement</a>(), <a href="#toEntityReference">toEntityReference</a>(), <a href="#toText">toText</a>(),
+<a href="#toEntity">toEntity</a>(), <a href="#toNotation">toNotation</a>(), <a href="#toProcessingInstruction">toProcessingInstruction</a>(),
+<a href="#toCharacterData">toCharacterData</a>() or <a href="#toComment">toComment</a>(). You can convert a node to a null
+node with <a href="#clear">clear</a>().
+<p> Copies of the QDomNode class share their data using <a href="shclass.html#explicit-sharing">explicit sharing</a>. This means that modifying one node will change all
+copies. This is especially useful in combination with functions
+which return a QDomNode, e.g. <a href="#firstChild">firstChild</a>(). You can make an
+independent (deep) copy of the node with <a href="#cloneNode">cloneNode</a>().
+<p> Nodes are inserted with <a href="#insertBefore">insertBefore</a>(), <a href="#insertAfter">insertAfter</a>() or
+<a href="#appendChild">appendChild</a>(). You can replace one node with another using
+<a href="#replaceChild">replaceChild</a>() and remove a node with <a href="#removeChild">removeChild</a>().
+<p> To traverse nodes use firstChild() to get a node's first child (if
+any), and <a href="#nextSibling">nextSibling</a>() to traverse. QDomNode also provides
+<a href="#lastChild">lastChild</a>(), <a href="#previousSibling">previousSibling</a>() and <a href="#parentNode">parentNode</a>(). To find the first
+child node with a particular node name use <a href="#namedItem">namedItem</a>().
+<p> To find out if a node has children use <a href="#hasChildNodes">hasChildNodes</a>() and to get
+a list of all of a node's children use <a href="#childNodes">childNodes</a>().
+<p> The node's name and value (the meaning of which varies depending
+on its type) is returned by <a href="#nodeName">nodeName</a>() and <a href="#nodeValue">nodeValue</a>()
+respectively. The node's type is returned by <a href="#nodeType">nodeType</a>(). The
+node's value can be set with <a href="#setNodeValue">setNodeValue</a>().
+<p> The document to which the node belongs is returned by
+<a href="#ownerDocument">ownerDocument</a>().
+<p> Adjacent <a href="qdomtext.html">QDomText</a> nodes can be merged into a single node with
+<a href="#normalize">normalize</a>().
+<p> <a href="qdomelement.html">QDomElement</a> nodes have attributes which can be retrieved with
+<a href="#attributes">attributes</a>().
+<p> <a href="qdomelement.html">QDomElement</a> and <a href="qdomattr.html">QDomAttr</a> nodes can have namespaces which can be
+retrieved with <a href="#namespaceURI">namespaceURI</a>(). Their local name is retrieved with
+<a href="#localName">localName</a>(), and their prefix with <a href="#prefix">prefix</a>(). The prefix can be set
+with <a href="#setPrefix">setPrefix</a>().
+<p> You can write the XML representation of the node to a text stream
+with <a href="#save">save</a>().
+<p> The following example looks for the first element in an XML document and
+prints the names of all the elements that are its direct children.
+<pre>
+ <a href="qdomdocument.html">QDomDocument</a> d;
+ d.<a href="qdomdocument.html#setContent">setContent</a>( someXML );
+ QDomNode n = d.<a href="#firstChild">firstChild</a>();
+ while ( !n.<a href="#isNull">isNull</a>() ) {
+ if ( n.<a href="#isElement">isElement</a>() ) {
+ <a href="qdomelement.html">QDomElement</a> e = n.<a href="#toElement">toElement</a>();
+ cout &lt;&lt; "Element name: " &lt;&lt; e.<a href="qdomelement.html#tagName">tagName</a>() &lt;&lt; endl;
+ break;
+ }
+ n = n.<a href="#nextSibling">nextSibling</a>();
+ }
+ </pre>
+
+<p> For further information about the Document Object Model see <a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>. For a more general
+introduction of the DOM implementation see the <a href="qdomdocument.html">QDomDocument</a>
+documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="NodeType-enum"></a>QDomNode::NodeType</h3>
+
+<p> This enum defines the type of the node:
+<ul>
+<li><tt>QDomNode::ElementNode</tt>
+<li><tt>QDomNode::AttributeNode</tt>
+<li><tt>QDomNode::TextNode</tt>
+<li><tt>QDomNode::CDATASectionNode</tt>
+<li><tt>QDomNode::EntityReferenceNode</tt>
+<li><tt>QDomNode::EntityNode</tt>
+<li><tt>QDomNode::ProcessingInstructionNode</tt>
+<li><tt>QDomNode::CommentNode</tt>
+<li><tt>QDomNode::DocumentNode</tt>
+<li><tt>QDomNode::DocumentTypeNode</tt>
+<li><tt>QDomNode::DocumentFragmentNode</tt>
+<li><tt>QDomNode::NotationNode</tt>
+<li><tt>QDomNode::BaseNode</tt> - A QDomNode object, i.e. not a QDomNode subclass.
+<li><tt>QDomNode::CharacterDataNode</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomNode"></a>QDomNode::QDomNode ()
+</h3>
+Constructs a <a href="#isNull">null</a> node.
+
+<h3 class=fn><a name="QDomNode-2"></a>QDomNode::QDomNode ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Constructs a copy of <em>n</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomNode"></a>QDomNode::~QDomNode ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="appendChild"></a>QDomNode::appendChild ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newChild )<tt> [virtual]</tt>
+</h3>
+Appends <em>newChild</em> as the node's last child.
+<p> If <em>newChild</em> is the child of another node, it is reparented to
+this node. If <em>newChild</em> is a child of this node, then its
+position in the list of children is changed.
+<p> If <em>newChild</em> is a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, then the children of the
+fragment are removed from the fragment and appended.
+<p> Returns a new reference to <em>newChild</em>.
+<p> <p>See also <a href="#insertBefore">insertBefore</a>(), <a href="#insertAfter">insertAfter</a>(), <a href="#replaceChild">replaceChild</a>(), and <a href="#removeChild">removeChild</a>().
+
+<h3 class=fn><a href="qdomnamednodemap.html">QDomNamedNodeMap</a> <a name="attributes"></a>QDomNode::attributes () const<tt> [virtual]</tt>
+</h3>
+Returns a named node map of all attributes. Attributes are only
+provided for <a href="qdomelement.html">QDomElement</a>s.
+<p> Changing the attributes in the map will also change the attributes
+of this QDomNode.
+
+<p>Reimplemented in <a href="qdomelement.html#attributes">QDomElement</a>.
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a> <a name="childNodes"></a>QDomNode::childNodes () const<tt> [virtual]</tt>
+</h3>
+Returns a list of all direct child nodes.
+<p> Most often you will call this function on a <a href="qdomelement.html">QDomElement</a> object.
+<p> For example, if the XML document looks like this:
+<pre>
+ &lt;body&gt;
+ &lt;h1&gt;Heading&lt;/h1&gt;
+ &lt;p&gt;Hello &lt;b&gt;you&lt;/b&gt;&lt;/p&gt;
+ &lt;/body&gt;
+ </pre>
+
+Then the list of child nodes for the "body"-element will contain
+the node created by the &lt;h1&gt; tag and the node created by the
+&lt;p&gt; tag.
+<p> The nodes in the list are not copied; so changing the nodes in the
+list will also change the children of this node.
+<p> <p>See also <a href="#firstChild">firstChild</a>() and <a href="#lastChild">lastChild</a>().
+
+<h3 class=fn>void <a name="clear"></a>QDomNode::clear ()
+</h3>
+Converts the node into a null node; if it was not a null node
+before, its type and contents are deleted.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="cloneNode"></a>QDomNode::cloneNode ( bool&nbsp;deep = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Creates a deep (not shallow) copy of the QDomNode.
+<p> If <em>deep</em> is TRUE, then the cloning is done recursively which
+means that all the node's children are deep copied too. If <em>deep</em>
+is FALSE only the node itself is copied and the copy will have no
+child nodes.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="firstChild"></a>QDomNode::firstChild () const<tt> [virtual]</tt>
+</h3>
+Returns the first child of the node. If there is no child node, a
+<a href="#isNull">null node</a> is returned. Changing the
+returned node will also change the node in the document tree.
+<p> <p>See also <a href="#lastChild">lastChild</a>() and <a href="#childNodes">childNodes</a>().
+
+<p>Example: <a href="outliner-example.html#x1907">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn>bool <a name="hasAttributes"></a>QDomNode::hasAttributes () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node has attributes; otherwise returns FALSE.
+<p> <p>See also <a href="#attributes">attributes</a>().
+
+<h3 class=fn>bool <a name="hasChildNodes"></a>QDomNode::hasChildNodes () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node has one or more children; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="insertAfter"></a>QDomNode::insertAfter ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newChild, const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;refChild )<tt> [virtual]</tt>
+</h3>
+Inserts the node <em>newChild</em> after the child node <em>refChild</em>. <em>refChild</em> must be a direct child of this node. If <em>refChild</em> is
+<a href="#isNull">null</a> then <em>newChild</em> is appended as this
+node's last child.
+<p> If <em>newChild</em> is the child of another node, it is reparented to
+this node. If <em>newChild</em> is a child of this node, then its
+position in the list of children is changed.
+<p> If <em>newChild</em> is a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, then the children of the
+fragment are removed from the fragment and inserted after <em>refChild</em>.
+<p> Returns a new reference to <em>newChild</em> on success or a <a href="#isNull">null node</a> on failure.
+<p> <p>See also <a href="#insertBefore">insertBefore</a>(), <a href="#replaceChild">replaceChild</a>(), <a href="#removeChild">removeChild</a>(), and <a href="#appendChild">appendChild</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="insertBefore"></a>QDomNode::insertBefore ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newChild, const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;refChild )<tt> [virtual]</tt>
+</h3>
+Inserts the node <em>newChild</em> before the child node <em>refChild</em>.
+<em>refChild</em> must be a direct child of this node. If <em>refChild</em> is
+<a href="#isNull">null</a> then <em>newChild</em> is inserted as the
+node's first child.
+<p> If <em>newChild</em> is the child of another node, it is reparented to
+this node. If <em>newChild</em> is a child of this node, then its
+position in the list of children is changed.
+<p> If <em>newChild</em> is a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, then the children of the
+fragment are removed from the fragment and inserted before <em>refChild</em>.
+<p> Returns a new reference to <em>newChild</em> on success or a <a href="#isNull">null node</a> on failure.
+<p> <p>See also <a href="#insertAfter">insertAfter</a>(), <a href="#replaceChild">replaceChild</a>(), <a href="#removeChild">removeChild</a>(), and <a href="#appendChild">appendChild</a>().
+
+<h3 class=fn>bool <a name="isAttr"></a>QDomNode::isAttr () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is an attribute; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a QDomAttribute; you can get the QDomAttribute with
+toAttribute().
+<p> <p>See also <a href="#toAttr">toAttr</a>().
+
+<p>Reimplemented in <a href="qdomattr.html#isAttr">QDomAttr</a>.
+<h3 class=fn>bool <a name="isCDATASection"></a>QDomNode::isCDATASection () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a CDATA section; otherwise returns
+FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomcdatasection.html">QDomCDATASection</a>; you can get the QDomCDATASection with
+<a href="#toCDATASection">toCDATASection</a>().
+<p> <p>See also <a href="#toCDATASection">toCDATASection</a>().
+
+<p>Reimplemented in <a href="qdomcdatasection.html#isCDATASection">QDomCDATASection</a>.
+<h3 class=fn>bool <a name="isCharacterData"></a>QDomNode::isCharacterData () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a character data node; otherwise
+returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomcharacterdata.html">QDomCharacterData</a>; you can get the QDomCharacterData with
+<a href="#toCharacterData">toCharacterData</a>().
+<p> <p>See also <a href="#toCharacterData">toCharacterData</a>().
+
+<p>Reimplemented in <a href="qdomcharacterdata.html#isCharacterData">QDomCharacterData</a>.
+<h3 class=fn>bool <a name="isComment"></a>QDomNode::isComment () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a comment; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomcomment.html">QDomComment</a>; you can get the QDomComment with <a href="#toComment">toComment</a>().
+<p> <p>See also <a href="#toComment">toComment</a>().
+
+<p>Reimplemented in <a href="qdomcomment.html#isComment">QDomComment</a>.
+<h3 class=fn>bool <a name="isDocument"></a>QDomNode::isDocument () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a document; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomdocument.html">QDomDocument</a>; you can get the QDomDocument with <a href="#toDocument">toDocument</a>().
+<p> <p>See also <a href="#toDocument">toDocument</a>().
+
+<p>Reimplemented in <a href="qdomdocument.html#isDocument">QDomDocument</a>.
+<h3 class=fn>bool <a name="isDocumentFragment"></a>QDomNode::isDocumentFragment () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a document fragment; otherwise returns
+FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>; you can get the QDomDocumentFragment
+with <a href="#toDocumentFragment">toDocumentFragment</a>().
+<p> <p>See also <a href="#toDocumentFragment">toDocumentFragment</a>().
+
+<p>Reimplemented in <a href="qdomdocumentfragment.html#isDocumentFragment">QDomDocumentFragment</a>.
+<h3 class=fn>bool <a name="isDocumentType"></a>QDomNode::isDocumentType () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a document type; otherwise returns
+FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomdocumenttype.html">QDomDocumentType</a>; you can get the QDomDocumentType with
+<a href="#toDocumentType">toDocumentType</a>().
+<p> <p>See also <a href="#toDocumentType">toDocumentType</a>().
+
+<p>Reimplemented in <a href="qdomdocumenttype.html#isDocumentType">QDomDocumentType</a>.
+<h3 class=fn>bool <a name="isElement"></a>QDomNode::isElement () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is an element; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomelement.html">QDomElement</a>; you can get the QDomElement with <a href="#toElement">toElement</a>().
+<p> <p>See also <a href="#toElement">toElement</a>().
+
+<p>Example: <a href="outliner-example.html#x1908">xml/outliner/outlinetree.cpp</a>.
+<p>Reimplemented in <a href="qdomelement.html#isElement">QDomElement</a>.
+<h3 class=fn>bool <a name="isEntity"></a>QDomNode::isEntity () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is an entity; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomentity.html">QDomEntity</a>; you can get the QDomEntity with <a href="#toEntity">toEntity</a>().
+<p> <p>See also <a href="#toEntity">toEntity</a>().
+
+<p>Reimplemented in <a href="qdomentity.html#isEntity">QDomEntity</a>.
+<h3 class=fn>bool <a name="isEntityReference"></a>QDomNode::isEntityReference () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is an entity reference; otherwise returns
+FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomentityreference.html">QDomEntityReference</a>; you can get the QDomEntityReference with
+<a href="#toEntityReference">toEntityReference</a>().
+<p> <p>See also <a href="#toEntityReference">toEntityReference</a>().
+
+<p>Reimplemented in <a href="qdomentityreference.html#isEntityReference">QDomEntityReference</a>.
+<h3 class=fn>bool <a name="isNotation"></a>QDomNode::isNotation () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a notation; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomnotation.html">QDomNotation</a>; you can get the QDomNotation with <a href="#toNotation">toNotation</a>().
+<p> <p>See also <a href="#toNotation">toNotation</a>().
+
+<p>Reimplemented in <a href="qdomnotation.html#isNotation">QDomNotation</a>.
+<h3 class=fn>bool <a name="isNull"></a>QDomNode::isNull () const
+</h3>
+Returns TRUE if this node is null (i.e. if it has no type or
+contents); otherwise returns FALSE.
+
+<p>Example: <a href="outliner-example.html#x1909">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn>bool <a name="isProcessingInstruction"></a>QDomNode::isProcessingInstruction () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a processing instruction; otherwise
+returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>; you can get the
+QProcessingInstruction with <a href="#toProcessingInstruction">toProcessingInstruction</a>().
+<p> <p>See also <a href="#toProcessingInstruction">toProcessingInstruction</a>().
+
+<p>Reimplemented in <a href="qdomprocessinginstruction.html#isProcessingInstruction">QDomProcessingInstruction</a>.
+<h3 class=fn>bool <a name="isSupported"></a>QDomNode::isSupported ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;feature, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;version ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the DOM implementation implements the feature <em>feature</em> and this feature is supported by this node in the version
+<em>version</em>; otherwise returns FALSE.
+<p> <p>See also <a href="qdomimplementation.html#hasFeature">QDomImplementation::hasFeature</a>().
+
+<h3 class=fn>bool <a name="isText"></a>QDomNode::isText () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the node is a text node; otherwise returns FALSE.
+<p> If this function returns TRUE, it does not imply that this object
+is a <a href="qdomtext.html">QDomText</a>; you can get the QDomText with <a href="#toText">toText</a>().
+<p> <p>See also <a href="#toText">toText</a>().
+
+<p>Reimplemented in <a href="qdomtext.html#isText">QDomText</a>.
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="lastChild"></a>QDomNode::lastChild () const<tt> [virtual]</tt>
+</h3>
+Returns the last child of the node. If there is no child node, a
+<a href="#isNull">null node</a> is returned. Changing the
+returned node will also change the node in the document tree.
+<p> <p>See also <a href="#firstChild">firstChild</a>() and <a href="#childNodes">childNodes</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="localName"></a>QDomNode::localName () const<tt> [virtual]</tt>
+</h3>
+If the node uses namespaces, this function returns the local name
+of the node; otherwise it returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> Only nodes of type <a href="#NodeType-enum">ElementNode</a> or
+<a href="#NodeType-enum">AttributeNode</a> can have
+namespaces. A namespace must have been specified at creation time;
+it is not possible to add a namespace afterwards.
+<p> <p>See also <a href="#prefix">prefix</a>(), <a href="#namespaceURI">namespaceURI</a>(), <a href="qdomdocument.html#createElementNS">QDomDocument::createElementNS</a>(), and <a href="qdomdocument.html#createAttributeNS">QDomDocument::createAttributeNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="namedItem"></a>QDomNode::namedItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns the first direct child node for which <a href="#nodeName">nodeName</a>() equals <em>name</em>.
+<p> If no such direct child exists, a <a href="#isNull">null node</a>
+is returned.
+<p> <p>See also <a href="#nodeName">nodeName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="namespaceURI"></a>QDomNode::namespaceURI () const<tt> [virtual]</tt>
+</h3>
+Returns the namespace URI of this node or <a href="qstring.html#QString-null">QString::null</a> if the
+node has no namespace URI.
+<p> Only nodes of type <a href="#NodeType-enum">ElementNode</a> or
+<a href="#NodeType-enum">AttributeNode</a> can have
+namespaces. A namespace URI must be specified at creation time and
+cannot be changed later.
+<p> <p>See also <a href="#prefix">prefix</a>(), <a href="#localName">localName</a>(), <a href="qdomdocument.html#createElementNS">QDomDocument::createElementNS</a>(), and <a href="qdomdocument.html#createAttributeNS">QDomDocument::createAttributeNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="nextSibling"></a>QDomNode::nextSibling () const<tt> [virtual]</tt>
+</h3>
+Returns the next sibling in the document tree. Changing the
+returned node will also change the node in the document tree.
+<p> If you have XML like this:
+<pre>
+ &lt;h1&gt;Heading&lt;/h1&gt;
+ &lt;p&gt;The text...&lt;/p&gt;
+ &lt;h2&gt;Next heading&lt;/h2&gt;
+ </pre>
+
+and this QDomNode represents the &lt;p&gt; tag, <a href="#nextSibling">nextSibling</a>() will
+return the node representing the &lt;h2&gt; tag.
+<p> <p>See also <a href="#previousSibling">previousSibling</a>().
+
+<p>Example: <a href="outliner-example.html#x1910">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nodeName"></a>QDomNode::nodeName () const<tt> [virtual]</tt>
+</h3>
+Returns the name of the node.
+<p> The meaning of the name depends on the subclass:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Name <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomAttr <td valign="top">The name of the attribute
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomCDATASection <td valign="top">The string "#cdata-section"
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomComment <td valign="top">The string "#comment"
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomDocument <td valign="top">The string "#document"
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomDocumentFragment <td valign="top">The string "#document-fragment"
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomDocumentType <td valign="top">The name of the document type
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomElement <td valign="top">The tag name
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomEntity <td valign="top">The name of the entity
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomEntityReference <td valign="top">The name of the referenced entity
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomNotation <td valign="top">The name of the notation
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomProcessingInstruction <td valign="top">The target of the processing instruction
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomText <td valign="top">The string "#text"
+</table></center>
+<p> <p>See also <a href="#nodeValue">nodeValue</a>().
+
+<p>Example: <a href="outliner-example.html#x1911">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomNode::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns the type of the node.
+<p> <p>See also <a href="#toAttr">toAttr</a>(), <a href="#toCDATASection">toCDATASection</a>(), <a href="#toDocumentFragment">toDocumentFragment</a>(), <a href="#toDocument">toDocument</a>(), <a href="#toDocumentType">toDocumentType</a>(), <a href="#toElement">toElement</a>(), <a href="#toEntityReference">toEntityReference</a>(), <a href="#toText">toText</a>(), <a href="#toEntity">toEntity</a>(), <a href="#toNotation">toNotation</a>(), <a href="#toProcessingInstruction">toProcessingInstruction</a>(), <a href="#toCharacterData">toCharacterData</a>(), and <a href="#toComment">toComment</a>().
+
+<p>Reimplemented in <a href="qdomdocumenttype.html#nodeType">QDomDocumentType</a>, <a href="qdomdocument.html#nodeType">QDomDocument</a>, <a href="qdomdocumentfragment.html#nodeType">QDomDocumentFragment</a>, <a href="qdomcharacterdata.html#nodeType">QDomCharacterData</a>, <a href="qdomattr.html#nodeType">QDomAttr</a>, <a href="qdomelement.html#nodeType">QDomElement</a>, <a href="qdomnotation.html#nodeType">QDomNotation</a>, <a href="qdomentity.html#nodeType">QDomEntity</a>, <a href="qdomentityreference.html#nodeType">QDomEntityReference</a>, and <a href="qdomprocessinginstruction.html#nodeType">QDomProcessingInstruction</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nodeValue"></a>QDomNode::nodeValue () const<tt> [virtual]</tt>
+</h3>
+Returns the value of the node.
+<p> The meaning of the value depends on the subclass:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Name <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomAttr <td valign="top">The attribute value
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomCDATASection <td valign="top">The content of the CDATA section
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomComment <td valign="top">The comment
+<tr bgcolor="#d0d0d0"> <td valign="top">QDomProcessingInstruction <td valign="top">The data of the processing intruction
+<tr bgcolor="#f0f0f0"> <td valign="top">QDomText <td valign="top">The text
+</table></center>
+<p> All the other subclasses do not have a node value and will return
+<a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#setNodeValue">setNodeValue</a>() and <a href="#nodeName">nodeName</a>().
+
+<p>Example: <a href="outliner-example.html#x1912">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn>void <a name="normalize"></a>QDomNode::normalize ()<tt> [virtual]</tt>
+</h3>
+Calling <a href="#normalize">normalize</a>() on an element converts all its children into a
+standard form. This means that adjacent <a href="qdomtext.html">QDomText</a> objects will be
+merged into a single text object (<a href="qdomcdatasection.html">QDomCDATASection</a> nodes are not
+merged).
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDomNode::operator!= ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE if <em>n</em> and this DOM node are not equal; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a>&nbsp;&amp; <a name="operator-eq"></a>QDomNode::operator= ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Assigns a copy of <em>n</em> to this DOM node.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="#cloneNode">cloneNode</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDomNode::operator== ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE if <em>n</em> and this DOM node are equal; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qdomdocument.html">QDomDocument</a> <a name="ownerDocument"></a>QDomNode::ownerDocument () const<tt> [virtual]</tt>
+</h3>
+Returns the document to which this node belongs.
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="parentNode"></a>QDomNode::parentNode () const<tt> [virtual]</tt>
+</h3>
+Returns the parent node. If this node has no parent, a null node
+is returned (i.e. a node for which <a href="#isNull">isNull</a>() returns TRUE).
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="prefix"></a>QDomNode::prefix () const<tt> [virtual]</tt>
+</h3>
+Returns the namespace prefix of the node or <a href="qstring.html#QString-null">QString::null</a> if the
+node has no namespace prefix.
+<p> Only nodes of type <a href="#NodeType-enum">ElementNode</a> or
+<a href="#NodeType-enum">AttributeNode</a> can have
+namespaces. A namespace prefix must be specified at creation time.
+If a node was created with a namespace prefix, you can change it
+later with <a href="#setPrefix">setPrefix</a>().
+<p> If you create an element or attribute with
+<a href="qdomdocument.html#createElement">QDomDocument::createElement</a>() or <a href="qdomdocument.html#createAttribute">QDomDocument::createAttribute</a>(),
+the prefix will be QString::null. If you use
+<a href="qdomdocument.html#createElementNS">QDomDocument::createElementNS</a>() or
+<a href="qdomdocument.html#createAttributeNS">QDomDocument::createAttributeNS</a>() instead, the prefix will not be
+QString::null; but it might be an empty string if the name does
+not have a prefix.
+<p> <p>See also <a href="#setPrefix">setPrefix</a>(), <a href="#localName">localName</a>(), <a href="#namespaceURI">namespaceURI</a>(), <a href="qdomdocument.html#createElementNS">QDomDocument::createElementNS</a>(), and <a href="qdomdocument.html#createAttributeNS">QDomDocument::createAttributeNS</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="previousSibling"></a>QDomNode::previousSibling () const<tt> [virtual]</tt>
+</h3>
+Returns the previous sibling in the document tree. Changing the
+returned node will also change the node in the document tree.
+<p> For example, if you have XML like this:
+<pre>
+ &lt;h1&gt;Heading&lt;/h1&gt;
+ &lt;p&gt;The text...&lt;/p&gt;
+ &lt;h2&gt;Next heading&lt;/h2&gt;
+ </pre>
+
+and this QDomNode represents the &lt;p&gt; tag, <a href="#previousSibling">previousSibling</a>()
+will return the node representing the &lt;h1&gt; tag.
+<p> <p>See also <a href="#nextSibling">nextSibling</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="removeChild"></a>QDomNode::removeChild ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;oldChild )<tt> [virtual]</tt>
+</h3>
+Removes <em>oldChild</em> from the list of children. <em>oldChild</em> must be
+a direct child of this node.
+<p> Returns a new reference to <em>oldChild</em> on success or a <a href="#isNull">null node</a> on failure.
+<p> <p>See also <a href="#insertBefore">insertBefore</a>(), <a href="#insertAfter">insertAfter</a>(), <a href="#replaceChild">replaceChild</a>(), and <a href="#appendChild">appendChild</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="replaceChild"></a>QDomNode::replaceChild ( const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;newChild, const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;oldChild )<tt> [virtual]</tt>
+</h3>
+Replaces <em>oldChild</em> with <em>newChild</em>. <em>oldChild</em> must be a
+direct child of this node.
+<p> If <em>newChild</em> is the child of another node, it is reparented to
+this node. If <em>newChild</em> is a child of this node, then its
+position in the list of children is changed.
+<p> If <em>newChild</em> is a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>, then <em>oldChild</em> is
+replaced by all of the children of the fragment.
+<p> Returns a new reference to <em>oldChild</em> on success or a <a href="#isNull">null node</a> an failure.
+<p> <p>See also <a href="#insertBefore">insertBefore</a>(), <a href="#insertAfter">insertAfter</a>(), <a href="#removeChild">removeChild</a>(), and <a href="#appendChild">appendChild</a>().
+
+<h3 class=fn>void <a name="save"></a>QDomNode::save ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;str, int&nbsp;indent ) const
+</h3>
+Writes the XML representation of the node and all its children to
+the stream <em>str</em>. This function uses <em>indent</em> as the amount of
+space to indent the node.
+
+<h3 class=fn>void <a name="setNodeValue"></a>QDomNode::setNodeValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Sets the node's value to <em>v</em>.
+<p> <p>See also <a href="#nodeValue">nodeValue</a>().
+
+<h3 class=fn>void <a name="setPrefix"></a>QDomNode::setPrefix ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pre )<tt> [virtual]</tt>
+</h3>
+If the node has a namespace prefix, this function changes the
+namespace prefix of the node to <em>pre</em>. Otherwise this function
+does nothing.
+<p> Only nodes of type <a href="#NodeType-enum">ElementNode</a> or
+<a href="#NodeType-enum">AttributeNode</a> can have
+namespaces. A namespace prefix must have be specified at creation
+time; it is not possible to add a namespace prefix afterwards.
+<p> <p>See also <a href="#prefix">prefix</a>(), <a href="#localName">localName</a>(), <a href="#namespaceURI">namespaceURI</a>(), <a href="qdomdocument.html#createElementNS">QDomDocument::createElementNS</a>(), and <a href="qdomdocument.html#createAttributeNS">QDomDocument::createAttributeNS</a>().
+
+<h3 class=fn><a href="qdomattr.html">QDomAttr</a> <a name="toAttr"></a>QDomNode::toAttr ()
+</h3>
+Converts a QDomNode into a <a href="qdomattr.html">QDomAttr</a>. If the node is not an
+attribute, the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isAttr">isAttr</a>().
+
+<h3 class=fn><a href="qdomcdatasection.html">QDomCDATASection</a> <a name="toCDATASection"></a>QDomNode::toCDATASection ()
+</h3>
+Converts a QDomNode into a <a href="qdomcdatasection.html">QDomCDATASection</a>. If the node is not a
+CDATA section, the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isCDATASection">isCDATASection</a>().
+
+<h3 class=fn><a href="qdomcharacterdata.html">QDomCharacterData</a> <a name="toCharacterData"></a>QDomNode::toCharacterData ()
+</h3>
+Converts a QDomNode into a <a href="qdomcharacterdata.html">QDomCharacterData</a>. If the node is not a
+character data node the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isCharacterData">isCharacterData</a>().
+
+<h3 class=fn><a href="qdomcomment.html">QDomComment</a> <a name="toComment"></a>QDomNode::toComment ()
+</h3>
+Converts a QDomNode into a <a href="qdomcomment.html">QDomComment</a>. If the node is not a
+comment the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isComment">isComment</a>().
+
+<h3 class=fn><a href="qdomdocument.html">QDomDocument</a> <a name="toDocument"></a>QDomNode::toDocument ()
+</h3>
+Converts a QDomNode into a <a href="qdomdocument.html">QDomDocument</a>. If the node is not a
+document the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isDocument">isDocument</a>().
+
+<h3 class=fn><a href="qdomdocumentfragment.html">QDomDocumentFragment</a> <a name="toDocumentFragment"></a>QDomNode::toDocumentFragment ()
+</h3>
+Converts a QDomNode into a <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>. If the node is
+not a document fragment the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isDocumentFragment">isDocumentFragment</a>().
+
+<h3 class=fn><a href="qdomdocumenttype.html">QDomDocumentType</a> <a name="toDocumentType"></a>QDomNode::toDocumentType ()
+</h3>
+Converts a QDomNode into a <a href="qdomdocumenttype.html">QDomDocumentType</a>. If the node is not a
+document type the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isDocumentType">isDocumentType</a>().
+
+<h3 class=fn><a href="qdomelement.html">QDomElement</a> <a name="toElement"></a>QDomNode::toElement ()
+</h3>
+Converts a QDomNode into a <a href="qdomelement.html">QDomElement</a>. If the node is not an
+element the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isElement">isElement</a>().
+
+<p>Example: <a href="outliner-example.html#x1913">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn><a href="qdomentity.html">QDomEntity</a> <a name="toEntity"></a>QDomNode::toEntity ()
+</h3>
+Converts a QDomNode into a <a href="qdomentity.html">QDomEntity</a>. If the node is not an
+entity the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isEntity">isEntity</a>().
+
+<h3 class=fn><a href="qdomentityreference.html">QDomEntityReference</a> <a name="toEntityReference"></a>QDomNode::toEntityReference ()
+</h3>
+Converts a QDomNode into a <a href="qdomentityreference.html">QDomEntityReference</a>. If the node is not
+an entity reference, the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isEntityReference">isEntityReference</a>().
+
+<h3 class=fn><a href="qdomnotation.html">QDomNotation</a> <a name="toNotation"></a>QDomNode::toNotation ()
+</h3>
+Converts a QDomNode into a <a href="qdomnotation.html">QDomNotation</a>. If the node is not a
+notation the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isNotation">isNotation</a>().
+
+<h3 class=fn><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a> <a name="toProcessingInstruction"></a>QDomNode::toProcessingInstruction ()
+</h3>
+Converts a QDomNode into a <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>. If the node
+is not a processing instruction the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isProcessingInstruction">isProcessingInstruction</a>().
+
+<h3 class=fn><a href="qdomtext.html">QDomText</a> <a name="toText"></a>QDomNode::toText ()
+</h3>
+Converts a QDomNode into a <a href="qdomtext.html">QDomText</a>. If the node is not a text,
+the returned object will be <a href="#isNull">null</a>.
+<p> <p>See also <a href="#isText">isText</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;str, const&nbsp;<a href="qdomnode.html">QDomNode</a>&nbsp;&amp;&nbsp;node )
+</h3>
+
+<p> Writes the XML representation of the node <em>node</em> and all its
+children to the stream <em>str</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnodelist-members.html b/doc/html/qdomnodelist-members.html
new file mode 100644
index 0000000..405c720
--- /dev/null
+++ b/doc/html/qdomnodelist-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:233 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNodeList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomNodeList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomnodelist.html">QDomNodeList</a>, including inherited members.
+
+<ul>
+<li><a href="qdomnodelist.html#QDomNodeList">QDomNodeList</a>()
+<li><a href="qdomnodelist.html#~QDomNodeList">~QDomNodeList</a>()
+<li><a href="qdomnodelist.html#count">count</a>()
+<li><a href="qdomnodelist.html#item">item</a>()
+<li><a href="qdomnodelist.html#length">length</a>()
+<li><a href="qdomnodelist.html#operator!-eq">operator!=</a>()
+<li><a href="qdomnodelist.html#operator-eq">operator=</a>()
+<li><a href="qdomnodelist.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnodelist.html b/doc/html/qdomnodelist.html
new file mode 100644
index 0000000..2049aa9
--- /dev/null
+++ b/doc/html/qdomnodelist.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:913 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNodeList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomNodeList Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomNodeList class is a list of QDomNode objects.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p><a href="qdomnodelist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomNodeList"><b>QDomNodeList</b></a> ()</li>
+<li class=fn><a href="#QDomNodeList-2"><b>QDomNodeList</b></a> ( const&nbsp;QDomNodeList&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>QDomNodeList &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomNodeList&nbsp;&amp;&nbsp;n )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QDomNodeList&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QDomNodeList&nbsp;&amp;&nbsp;n ) const</li>
+<li class=fn>virtual <a href="#~QDomNodeList"><b>~QDomNodeList</b></a> ()</li>
+<li class=fn>virtual QDomNode <a href="#item"><b>item</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>virtual uint <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomNodeList class is a list of <a href="qdomnode.html">QDomNode</a> objects.
+
+<p>
+
+<p> Lists can be obtained by <a href="qdomdocument.html#elementsByTagName">QDomDocument::elementsByTagName</a>() and
+<a href="qdomnode.html#childNodes">QDomNode::childNodes</a>(). The Document Object Model (DOM) requires
+these lists to be "live": whenever you change the underlying
+document, the contents of the list will get updated.
+<p> You can get a particular node from the list with <a href="#item">item</a>(). The
+number of items in the list is returned by <a href="#count">count</a>() (and by
+<a href="#length">length</a>()).
+<p> For further information about the Document Object Model see <a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>. For a more general
+introduction of the DOM implementation see the <a href="qdomdocument.html">QDomDocument</a>
+documentation.
+<p> <p>See also <a href="qdomnode.html#childNodes">QDomNode::childNodes</a>(), <a href="qdomdocument.html#elementsByTagName">QDomDocument::elementsByTagName</a>(), and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomNodeList"></a>QDomNodeList::QDomNodeList ()
+</h3>
+Creates an empty node list.
+
+<h3 class=fn><a name="QDomNodeList-2"></a>QDomNodeList::QDomNodeList ( const&nbsp;<a href="qdomnodelist.html">QDomNodeList</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Constructs a copy of <em>n</em>.
+
+<h3 class=fn><a name="~QDomNodeList"></a>QDomNodeList::~QDomNodeList ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>uint <a name="count"></a>QDomNodeList::count () const
+</h3>
+
+<p> Returns the number of nodes in the list.
+<p> This function is the same as <a href="#length">length</a>().
+
+<h3 class=fn><a href="qdomnode.html">QDomNode</a> <a name="item"></a>QDomNodeList::item ( int&nbsp;index ) const<tt> [virtual]</tt>
+</h3>
+Returns the node at position <em>index</em>.
+<p> If <em>index</em> is negative or if <em>index</em> >= <a href="#length">length</a>() then a null
+node is returned (i.e. a node for which <a href="qdomnode.html#isNull">QDomNode::isNull</a>() returns
+TRUE).
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>uint <a name="length"></a>QDomNodeList::length () const<tt> [virtual]</tt>
+</h3>
+Returns the number of nodes in the list.
+<p> This function is the same as <a href="#count">count</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QDomNodeList::operator!= ( const&nbsp;<a href="qdomnodelist.html">QDomNodeList</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE the node list <em>n</em> and this node list are not equal;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qdomnodelist.html">QDomNodeList</a>&nbsp;&amp; <a name="operator-eq"></a>QDomNodeList::operator= ( const&nbsp;<a href="qdomnodelist.html">QDomNodeList</a>&nbsp;&amp;&nbsp;n )
+</h3>
+Assigns <em>n</em> to this node list.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QDomNodeList::operator== ( const&nbsp;<a href="qdomnodelist.html">QDomNodeList</a>&nbsp;&amp;&nbsp;n ) const
+</h3>
+Returns TRUE if the node list <em>n</em> and this node list are equal;
+otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnotation-members.html b/doc/html/qdomnotation-members.html
new file mode 100644
index 0000000..e9e29e5
--- /dev/null
+++ b/doc/html/qdomnotation-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:579 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNotation Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomNotation</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomnotation.html">QDomNotation</a>, including inherited members.
+
+<ul>
+<li><a href="qdomnotation.html#QDomNotation">QDomNotation</a>()
+<li><a href="qdomnotation.html#~QDomNotation">~QDomNotation</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnotation.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomnotation.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomnotation.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnotation.html#publicId">publicId</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomnotation.html#systemId">systemId</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomnotation.html b/doc/html/qdomnotation.html
new file mode 100644
index 0000000..629e2b7
--- /dev/null
+++ b/doc/html/qdomnotation.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:5099 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomNotation Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomNotation Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomNotation class represents an XML notation.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomnotation-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomNotation"><b>QDomNotation</b></a> ()</li>
+<li class=fn><a href="#QDomNotation-2"><b>QDomNotation</b></a> ( const&nbsp;QDomNotation&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomNotation &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomNotation&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomNotation"><b>~QDomNotation</b></a> ()</li>
+<li class=fn>QString <a href="#publicId"><b>publicId</b></a> () const</li>
+<li class=fn>QString <a href="#systemId"><b>systemId</b></a> () const</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isNotation"><b>isNotation</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomNotation class represents an XML notation.
+
+<p>
+
+<p> A notation either declares, by name, the format of an unparsed
+entity (see section 4.7 of the XML 1.0 specification), or is used
+for formal declaration of processing instruction targets (see
+section 2.6 of the XML 1.0 specification).
+<p> DOM does not support editing notation nodes; they are therefore
+read-only.
+<p> A notation node does not have any parent.
+<p> You can retrieve the <a href="#publicId">publicId</a>() and <a href="#systemId">systemId</a>() from a notation
+node.
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomNotation"></a>QDomNotation::QDomNotation ()
+</h3>
+Constructor.
+
+<h3 class=fn><a name="QDomNotation-2"></a>QDomNotation::QDomNotation ( const&nbsp;<a href="qdomnotation.html">QDomNotation</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomNotation"></a>QDomNotation::~QDomNotation ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isNotation"></a>QDomNotation::isNotation () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isNotation">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomNotation::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">NotationNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomnotation.html">QDomNotation</a>&nbsp;&amp; <a name="operator-eq"></a>QDomNotation::operator= ( const&nbsp;<a href="qdomnotation.html">QDomNotation</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM notation.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="publicId"></a>QDomNotation::publicId () const
+</h3>
+Returns the public identifier of this notation.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="systemId"></a>QDomNotation::systemId () const
+</h3>
+Returns the system identifier of this notation.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomprocessinginstruction-members.html b/doc/html/qdomprocessinginstruction-members.html
new file mode 100644
index 0000000..7999173
--- /dev/null
+++ b/doc/html/qdomprocessinginstruction-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:644 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomProcessingInstruction Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomProcessingInstruction</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>, including inherited members.
+
+<ul>
+<li><a href="qdomprocessinginstruction.html#QDomProcessingInstruction">QDomProcessingInstruction</a>()
+<li><a href="qdomprocessinginstruction.html#~QDomProcessingInstruction">~QDomProcessingInstruction</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomprocessinginstruction.html#data">data</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomnode.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomprocessinginstruction.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomnode.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomprocessinginstruction.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomprocessinginstruction.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomprocessinginstruction.html#setData">setData</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomprocessinginstruction.html#target">target</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomprocessinginstruction.html b/doc/html/qdomprocessinginstruction.html
new file mode 100644
index 0000000..c8099c0
--- /dev/null
+++ b/doc/html/qdomprocessinginstruction.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:5632 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomProcessingInstruction Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomProcessingInstruction Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomProcessingInstruction class represents an XML processing
+instruction.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomnode.html">QDomNode</a>.
+<p><a href="qdomprocessinginstruction-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomProcessingInstruction"><b>QDomProcessingInstruction</b></a> ()</li>
+<li class=fn><a href="#QDomProcessingInstruction-2"><b>QDomProcessingInstruction</b></a> ( const&nbsp;QDomProcessingInstruction&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomProcessingInstruction &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomProcessingInstruction&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomProcessingInstruction"><b>~QDomProcessingInstruction</b></a> ()</li>
+<li class=fn>virtual QString <a href="#target"><b>target</b></a> () const</li>
+<li class=fn>virtual QString <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isProcessingInstruction"><b>isProcessingInstruction</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomProcessingInstruction class represents an XML processing
+instruction.
+
+<p>
+
+<p> Processing instructions are used in XML to keep processor-specific
+information in the text of the document.
+<p> The content of the processing instruction is retrieved with <a href="#data">data</a>()
+and set with <a href="#setData">setData</a>(). The processing instruction's target is
+retrieved with <a href="#target">target</a>().
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomProcessingInstruction"></a>QDomProcessingInstruction::QDomProcessingInstruction ()
+</h3>
+Constructs an empty processing instruction. Use
+<a href="qdomdocument.html#createProcessingInstruction">QDomDocument::createProcessingInstruction</a>() to create a processing
+instruction with content.
+
+<h3 class=fn><a name="QDomProcessingInstruction-2"></a>QDomProcessingInstruction::QDomProcessingInstruction ( const&nbsp;<a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomProcessingInstruction"></a>QDomProcessingInstruction::~QDomProcessingInstruction ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="data"></a>QDomProcessingInstruction::data () const<tt> [virtual]</tt>
+</h3>
+Returns the content of this processing instruction.
+<p> <p>See also <a href="#setData">setData</a>() and <a href="#target">target</a>().
+
+<h3 class=fn>bool <a name="isProcessingInstruction"></a>QDomProcessingInstruction::isProcessingInstruction () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isProcessingInstruction">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomProcessingInstruction::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">ProcessingInstructionNode</a>.
+
+<p>Reimplemented from <a href="qdomnode.html#nodeType">QDomNode</a>.
+<h3 class=fn><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>&nbsp;&amp; <a name="operator-eq"></a>QDomProcessingInstruction::operator= ( const&nbsp;<a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this processing instruction.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn>void <a name="setData"></a>QDomProcessingInstruction::setData ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3>
+Sets the data contained in the processing instruction to <em>d</em>.
+<p> <p>See also <a href="#data">data</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="target"></a>QDomProcessingInstruction::target () const<tt> [virtual]</tt>
+</h3>
+Returns the target of this processing instruction.
+<p> <p>See also <a href="#data">data</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomtext-members.html b/doc/html/qdomtext-members.html
new file mode 100644
index 0000000..66beb6e
--- /dev/null
+++ b/doc/html/qdomtext-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdom.h:518 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomText Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDomText</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdomtext.html">QDomText</a>, including inherited members.
+
+<ul>
+<li><a href="qdomtext.html#QDomText">QDomText</a>()
+<li><a href="qdomtext.html#~QDomText">~QDomText</a>()
+<li><a href="qdomnode.html#appendChild">appendChild</a>()
+<li><a href="qdomcharacterdata.html#appendData">appendData</a>()
+<li><a href="qdomnode.html#attributes">attributes</a>()
+<li><a href="qdomnode.html#childNodes">childNodes</a>()
+<li><a href="qdomnode.html#clear">clear</a>()
+<li><a href="qdomnode.html#cloneNode">cloneNode</a>()
+<li><a href="qdomcharacterdata.html#data">data</a>()
+<li><a href="qdomcharacterdata.html#deleteData">deleteData</a>()
+<li><a href="qdomnode.html#firstChild">firstChild</a>()
+<li><a href="qdomnode.html#hasAttributes">hasAttributes</a>()
+<li><a href="qdomnode.html#hasChildNodes">hasChildNodes</a>()
+<li><a href="qdomnode.html#insertAfter">insertAfter</a>()
+<li><a href="qdomnode.html#insertBefore">insertBefore</a>()
+<li><a href="qdomcharacterdata.html#insertData">insertData</a>()
+<li><a href="qdomnode.html#isAttr">isAttr</a>()
+<li><a href="qdomnode.html#isCDATASection">isCDATASection</a>()
+<li><a href="qdomcharacterdata.html#isCharacterData">isCharacterData</a>()
+<li><a href="qdomnode.html#isComment">isComment</a>()
+<li><a href="qdomnode.html#isDocument">isDocument</a>()
+<li><a href="qdomnode.html#isDocumentFragment">isDocumentFragment</a>()
+<li><a href="qdomnode.html#isDocumentType">isDocumentType</a>()
+<li><a href="qdomnode.html#isElement">isElement</a>()
+<li><a href="qdomnode.html#isEntity">isEntity</a>()
+<li><a href="qdomnode.html#isEntityReference">isEntityReference</a>()
+<li><a href="qdomnode.html#isNotation">isNotation</a>()
+<li><a href="qdomnode.html#isNull">isNull</a>()
+<li><a href="qdomnode.html#isProcessingInstruction">isProcessingInstruction</a>()
+<li><a href="qdomnode.html#isSupported">isSupported</a>()
+<li><a href="qdomtext.html#isText">isText</a>()
+<li><a href="qdomnode.html#lastChild">lastChild</a>()
+<li><a href="qdomcharacterdata.html#length">length</a>()
+<li><a href="qdomnode.html#localName">localName</a>()
+<li><a href="qdomnode.html#namedItem">namedItem</a>()
+<li><a href="qdomnode.html#namespaceURI">namespaceURI</a>()
+<li><a href="qdomnode.html#nextSibling">nextSibling</a>()
+<li><a href="qdomnode.html#nodeName">nodeName</a>()
+<li><a href="qdomtext.html#nodeType">nodeType</a>()
+<li><a href="qdomnode.html#nodeValue">nodeValue</a>()
+<li><a href="qdomnode.html#normalize">normalize</a>()
+<li><a href="qdomnode.html#operator!-eq">operator!=</a>()
+<li><a href="qdomtext.html#operator-eq">operator=</a>()
+<li><a href="qdomnode.html#operator-eq-eq">operator==</a>()
+<li><a href="qdomnode.html#ownerDocument">ownerDocument</a>()
+<li><a href="qdomnode.html#parentNode">parentNode</a>()
+<li><a href="qdomnode.html#prefix">prefix</a>()
+<li><a href="qdomnode.html#previousSibling">previousSibling</a>()
+<li><a href="qdomnode.html#removeChild">removeChild</a>()
+<li><a href="qdomnode.html#replaceChild">replaceChild</a>()
+<li><a href="qdomcharacterdata.html#replaceData">replaceData</a>()
+<li><a href="qdomnode.html#save">save</a>()
+<li><a href="qdomcharacterdata.html#setData">setData</a>()
+<li><a href="qdomnode.html#setNodeValue">setNodeValue</a>()
+<li><a href="qdomnode.html#setPrefix">setPrefix</a>()
+<li><a href="qdomtext.html#splitText">splitText</a>()
+<li><a href="qdomcharacterdata.html#substringData">substringData</a>()
+<li><a href="qdomnode.html#toAttr">toAttr</a>()
+<li><a href="qdomnode.html#toCDATASection">toCDATASection</a>()
+<li><a href="qdomnode.html#toCharacterData">toCharacterData</a>()
+<li><a href="qdomnode.html#toComment">toComment</a>()
+<li><a href="qdomnode.html#toDocument">toDocument</a>()
+<li><a href="qdomnode.html#toDocumentFragment">toDocumentFragment</a>()
+<li><a href="qdomnode.html#toDocumentType">toDocumentType</a>()
+<li><a href="qdomnode.html#toElement">toElement</a>()
+<li><a href="qdomnode.html#toEntity">toEntity</a>()
+<li><a href="qdomnode.html#toEntityReference">toEntityReference</a>()
+<li><a href="qdomnode.html#toNotation">toNotation</a>()
+<li><a href="qdomnode.html#toProcessingInstruction">toProcessingInstruction</a>()
+<li><a href="qdomnode.html#toText">toText</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdomtext.html b/doc/html/qdomtext.html
new file mode 100644
index 0000000..81a7ebd
--- /dev/null
+++ b/doc/html/qdomtext.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qdom.cpp:4676 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDomText Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDomText Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QDomText class represents text data in the parsed XML document.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdom-h.html">qdom.h</a>&gt;</tt>
+<p>Inherits <a href="qdomcharacterdata.html">QDomCharacterData</a>.
+<p>Inherited by <a href="qdomcdatasection.html">QDomCDATASection</a>.
+<p><a href="qdomtext-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDomText"><b>QDomText</b></a> ()</li>
+<li class=fn><a href="#QDomText-2"><b>QDomText</b></a> ( const&nbsp;QDomText&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QDomText &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QDomText&nbsp;&amp;&nbsp;x )</li>
+<li class=fn><a href="#~QDomText"><b>~QDomText</b></a> ()</li>
+<li class=fn>QDomText <a href="#splitText"><b>splitText</b></a> ( int&nbsp;offset )</li>
+<li class=fn>virtual QDomNode::NodeType <a href="#nodeType"><b>nodeType</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isText"><b>isText</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QDomText class represents text data in the parsed XML document.
+
+<p>
+
+<p> You can split the text in a QDomText object over two QDomText
+objecs with <a href="#splitText">splitText</a>().
+<p> For further information about the Document Object Model see
+<a href="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</a> and
+<a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>.
+For a more general introduction of the DOM implementation see the
+<a href="qdomdocument.html">QDomDocument</a> documentation.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDomText"></a>QDomText::QDomText ()
+</h3>
+Constructs an empty QDomText object.
+<p> To construct a QDomText with content, use <a href="qdomdocument.html#createTextNode">QDomDocument::createTextNode</a>().
+
+<h3 class=fn><a name="QDomText-2"></a>QDomText::QDomText ( const&nbsp;<a href="qdomtext.html">QDomText</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Constructs a copy of <em>x</em>.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a name="~QDomText"></a>QDomText::~QDomText ()
+</h3>
+Destroys the object and frees its resources.
+
+<h3 class=fn>bool <a name="isText"></a>QDomText::isText () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE.
+
+<p>Reimplemented from <a href="qdomnode.html#isText">QDomNode</a>.
+<h3 class=fn><a href="qdomnode.html#NodeType-enum">QDomNode::NodeType</a> <a name="nodeType"></a>QDomText::nodeType () const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qdomnode.html#NodeType-enum">TextNode</a>.
+
+<p>Reimplemented from <a href="qdomcharacterdata.html#nodeType">QDomCharacterData</a>.
+<p>Reimplemented in <a href="qdomcdatasection.html#nodeType">QDomCDATASection</a>.
+<h3 class=fn><a href="qdomtext.html">QDomText</a>&nbsp;&amp; <a name="operator-eq"></a>QDomText::operator= ( const&nbsp;<a href="qdomtext.html">QDomText</a>&nbsp;&amp;&nbsp;x )
+</h3>
+Assigns <em>x</em> to this DOM text.
+<p> The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a <a href="shclass.html#deep-copy">deep copy</a>, use
+<a href="qdomnode.html#cloneNode">cloneNode</a>().
+
+<h3 class=fn><a href="qdomtext.html">QDomText</a> <a name="splitText"></a>QDomText::splitText ( int&nbsp;offset )
+</h3>
+Splits this DOM text object into two QDomText objects. This object
+keeps its first <em>offset</em> characters and the second (newly
+created) object is inserted into the document tree after this
+object with the remaining characters.
+<p> The function returns the newly created object.
+<p> <p>See also <a href="qdomnode.html#normalize">QDomNode::normalize</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdoublevalidator-members.html b/doc/html/qdoublevalidator-members.html
new file mode 100644
index 0000000..cac4cc1
--- /dev/null
+++ b/doc/html/qdoublevalidator-members.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvalidator.h:102 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDoubleValidator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDoubleValidator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdoublevalidator.html">QDoubleValidator</a>, including inherited members.
+
+<ul>
+<li><a href="qdoublevalidator.html#QDoubleValidator">QDoubleValidator</a>()
+<li><a href="qdoublevalidator.html#~QDoubleValidator">~QDoubleValidator</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qdoublevalidator.html#bottom">bottom</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qdoublevalidator.html#decimals">decimals</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qvalidator.html#fixup">fixup</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qdoublevalidator.html#setBottom">setBottom</a>()
+<li><a href="qdoublevalidator.html#setDecimals">setDecimals</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdoublevalidator.html#setRange">setRange</a>()
+<li><a href="qdoublevalidator.html#setTop">setTop</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qdoublevalidator.html#top">top</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qdoublevalidator.html#validate">validate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdoublevalidator.html b/doc/html/qdoublevalidator.html
new file mode 100644
index 0000000..37a7978
--- /dev/null
+++ b/doc/html/qdoublevalidator.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvalidator.cpp:348 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDoubleValidator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDoubleValidator Class Reference</h1>
+
+<p>The QDoubleValidator class provides range checking of
+floating-point numbers.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;</tt>
+<p>Inherits <a href="qvalidator.html">QValidator</a>.
+<p><a href="qdoublevalidator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDoubleValidator"><b>QDoubleValidator</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QDoubleValidator-2"><b>QDoubleValidator</b></a> ( double&nbsp;bottom, double&nbsp;top, int&nbsp;decimals, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QDoubleValidator"><b>~QDoubleValidator</b></a> ()</li>
+<li class=fn>virtual QValidator::State <a href="#validate"><b>validate</b></a> ( QString&nbsp;&amp;&nbsp;input, int &amp; ) const</li>
+<li class=fn>virtual void <a href="#setRange"><b>setRange</b></a> ( double&nbsp;minimum, double&nbsp;maximum, int&nbsp;decimals = 0 )</li>
+<li class=fn>void <a href="#setBottom"><b>setBottom</b></a> ( double )</li>
+<li class=fn>void <a href="#setTop"><b>setTop</b></a> ( double )</li>
+<li class=fn>void <a href="#setDecimals"><b>setDecimals</b></a> ( int )</li>
+<li class=fn>double <a href="#bottom"><b>bottom</b></a> () const</li>
+<li class=fn>double <a href="#top"><b>top</b></a> () const</li>
+<li class=fn>int <a href="#decimals"><b>decimals</b></a> () const</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>double <a href="#bottom-prop"><b>bottom</b></a>&nbsp;- the validator's minimum acceptable value</li>
+<li class=fn>int <a href="#decimals-prop"><b>decimals</b></a>&nbsp;- the validator's maximum number of digits after the decimal point</li>
+<li class=fn>double <a href="#top-prop"><b>top</b></a>&nbsp;- the validator's maximum acceptable value</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QDoubleValidator class provides range checking of
+floating-point numbers.
+<p>
+<p> QDoubleValidator provides an upper bound, a lower bound and a
+limit on the number of digits after the decimal point. It does not
+provide a <a href="qvalidator.html#fixup">fixup</a>() function.
+<p> You can set the acceptable range in one call with <a href="#setRange">setRange</a>(), or
+with <a href="#setBottom">setBottom</a>() and <a href="#setTop">setTop</a>(). Set the number of decimal places
+with <a href="#setDecimals">setDecimals</a>(). The <a href="#validate">validate</a>() function returns the validation
+state.
+<p> <p>See also <a href="qintvalidator.html">QIntValidator</a>, <a href="qregexpvalidator.html">QRegExpValidator</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDoubleValidator"></a>QDoubleValidator::QDoubleValidator ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator object with parent <em>parent</em>, called <em>name</em>, which accepts any double.
+
+<h3 class=fn><a name="QDoubleValidator-2"></a>QDoubleValidator::QDoubleValidator ( double&nbsp;bottom, double&nbsp;top, int&nbsp;decimals, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator object with parent <em>parent</em>, called <em>name</em>. This validator will accept doubles from <em>bottom</em> to <em>top</em>
+inclusive, with up to <em>decimals</em> digits after the decimal point.
+
+<h3 class=fn><a name="~QDoubleValidator"></a>QDoubleValidator::~QDoubleValidator ()
+</h3>
+Destroys the validator, freeing any resources used.
+
+<h3 class=fn>double <a name="bottom"></a>QDoubleValidator::bottom () const
+</h3><p>Returns the validator's minimum acceptable value.
+See the <a href="qdoublevalidator.html#bottom-prop">"bottom"</a> property for details.
+<h3 class=fn>int <a name="decimals"></a>QDoubleValidator::decimals () const
+</h3><p>Returns the validator's maximum number of digits after the decimal point.
+See the <a href="qdoublevalidator.html#decimals-prop">"decimals"</a> property for details.
+<h3 class=fn>void <a name="setBottom"></a>QDoubleValidator::setBottom ( double )
+</h3><p>Sets the validator's minimum acceptable value.
+See the <a href="qdoublevalidator.html#bottom-prop">"bottom"</a> property for details.
+<h3 class=fn>void <a name="setDecimals"></a>QDoubleValidator::setDecimals ( int )
+</h3><p>Sets the validator's maximum number of digits after the decimal point.
+See the <a href="qdoublevalidator.html#decimals-prop">"decimals"</a> property for details.
+<h3 class=fn>void <a name="setRange"></a>QDoubleValidator::setRange ( double&nbsp;minimum, double&nbsp;maximum, int&nbsp;decimals = 0 )<tt> [virtual]</tt>
+</h3>
+Sets the validator to accept doubles from <em>minimum</em> to <em>maximum</em>
+inclusive, with at most <em>decimals</em> digits after the decimal
+point.
+
+<h3 class=fn>void <a name="setTop"></a>QDoubleValidator::setTop ( double )
+</h3><p>Sets the validator's maximum acceptable value.
+See the <a href="qdoublevalidator.html#top-prop">"top"</a> property for details.
+<h3 class=fn>double <a name="top"></a>QDoubleValidator::top () const
+</h3><p>Returns the validator's maximum acceptable value.
+See the <a href="qdoublevalidator.html#top-prop">"top"</a> property for details.
+<h3 class=fn><a href="qvalidator.html#State-enum">QValidator::State</a> <a name="validate"></a>QDoubleValidator::validate ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;input, int &amp; ) const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qvalidator.html#State-enum">Acceptable</a> if the string <em>input</em> contains a double
+that is within the valid range and is in the correct format.
+<p> Returns <a href="qvalidator.html#State-enum">Intermediate</a> if <em>input</em> contains a double that is
+outside the range or is in the wrong format, e.g. with too many
+digits after the decimal point or is empty.
+<p> Returns <a href="qvalidator.html#State-enum">Invalid</a> if the <em>input</em> is not a double.
+<p> Note: If the valid range consists of just positive doubles (e.g. 0.0 - 100.0)
+and <em>input</em> is a negative double then Invalid is returned.
+
+<p>Reimplemented from <a href="qvalidator.html#validate">QValidator</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>double <a name="bottom-prop"></a>bottom</h3>
+<p>This property holds the validator's minimum acceptable value.
+<p>Set this property's value with <a href="#setBottom">setBottom</a>() and get this property's value with <a href="#bottom">bottom</a>().
+<p><p>See also <a href="#setRange">setRange</a>().
+
+<h3 class=fn>int <a name="decimals-prop"></a>decimals</h3>
+<p>This property holds the validator's maximum number of digits after the decimal point.
+<p>Set this property's value with <a href="#setDecimals">setDecimals</a>() and get this property's value with <a href="#decimals">decimals</a>().
+<p><p>See also <a href="#setRange">setRange</a>().
+
+<h3 class=fn>double <a name="top-prop"></a>top</h3>
+<p>This property holds the validator's maximum acceptable value.
+<p>Set this property's value with <a href="#setTop">setTop</a>() and get this property's value with <a href="#top">top</a>().
+<p><p>See also <a href="#setRange">setRange</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragenterevent-members.html b/doc/html/qdragenterevent-members.html
new file mode 100644
index 0000000..bfc1b0a
--- /dev/null
+++ b/doc/html/qdragenterevent-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:560 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragEnterEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDragEnterEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdragenterevent.html">QDragEnterEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qdragenterevent.html#QDragEnterEvent">QDragEnterEvent</a>()
+<li><a href="qdragmoveevent.html#accept">accept</a>()
+<li><a href="qdropevent.html#acceptAction">acceptAction</a>()
+<li><a href="qdropevent.html#action">action</a>()
+<li><a href="qdragmoveevent.html#answerRect">answerRect</a>()
+<li><a href="qdropevent.html#data">data</a>()
+<li><a href="qdropevent.html#encodedData">encodedData</a>()
+<li><a href="qdropevent.html#format">format</a>()
+<li><a href="qdragmoveevent.html#ignore">ignore</a>()
+<li><a href="qdropevent.html#isAccepted">isAccepted</a>()
+<li><a href="qdropevent.html#isActionAccepted">isActionAccepted</a>()
+<li><a href="qdropevent.html#pos">pos</a>()
+<li><a href="qdropevent.html#provides">provides</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qdropevent.html#setAction">setAction</a>()
+<li><a href="qdropevent.html#setPoint">setPoint</a>()
+<li><a href="qdropevent.html#source">source</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragenterevent.html b/doc/html/qdragenterevent.html
new file mode 100644
index 0000000..bb2198b
--- /dev/null
+++ b/doc/html/qdragenterevent.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2450 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragEnterEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDragEnterEvent Class Reference</h1>
+
+<p>The QDragEnterEvent class provides an event which is sent to the widget when a drag and drop first drags onto the widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qdragmoveevent.html">QDragMoveEvent</a>.
+<p><a href="qdragenterevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDragEnterEvent"><b>QDragEnterEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDragEnterEvent class provides an event which is sent to the widget when a drag and drop first drags onto the widget.
+<p>
+
+<p> This event is always immediately followed by a <a href="qdragmoveevent.html">QDragMoveEvent</a>, so
+you only need to respond to one or the other event. This class
+inherits most of its functionality from QDragMoveEvent, which in
+turn inherits most of its functionality from <a href="qdropevent.html">QDropEvent</a>.
+<p> <p>See also <a href="qdragleaveevent.html">QDragLeaveEvent</a>, <a href="qdragmoveevent.html">QDragMoveEvent</a>, <a href="qdropevent.html">QDropEvent</a>, <a href="draganddrop.html">Drag And Drop Classes</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDragEnterEvent"></a>QDragEnterEvent::QDragEnterEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )
+</h3>
+
+<p> Constructs a QDragEnterEvent entering at the given point, <em>pos</em>.
+<p> <b>Warning:</b> Do not create a QDragEnterEvent yourself since these
+objects rely on Qt's internal state.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragleaveevent-members.html b/doc/html/qdragleaveevent-members.html
new file mode 100644
index 0000000..2277010
--- /dev/null
+++ b/doc/html/qdragleaveevent-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:580 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragLeaveEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDragLeaveEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdragleaveevent.html">QDragLeaveEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qdragleaveevent.html#QDragLeaveEvent">QDragLeaveEvent</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragleaveevent.html b/doc/html/qdragleaveevent.html
new file mode 100644
index 0000000..4657a37
--- /dev/null
+++ b/doc/html/qdragleaveevent.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2474 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragLeaveEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDragLeaveEvent Class Reference</h1>
+
+<p>The QDragLeaveEvent class provides an event which is sent to the widget when a drag and drop leaves the widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qdragleaveevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDragLeaveEvent"><b>QDragLeaveEvent</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDragLeaveEvent class provides an event which is sent to the widget when a drag and drop leaves the widget.
+<p>
+
+<p> This event is always preceded by a <a href="qdragenterevent.html">QDragEnterEvent</a> and a series of
+<a href="qdragmoveevent.html">QDragMoveEvent</a>s. It is not sent if a <a href="qdropevent.html">QDropEvent</a> is sent
+instead.
+<p> <p>See also <a href="qdragenterevent.html">QDragEnterEvent</a>, <a href="qdragmoveevent.html">QDragMoveEvent</a>, <a href="qdropevent.html">QDropEvent</a>, <a href="draganddrop.html">Drag And Drop Classes</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDragLeaveEvent"></a>QDragLeaveEvent::QDragLeaveEvent ()
+</h3>
+
+<p> Constructs a QDragLeaveEvent.
+<p> <b>Warning:</b> Do not create a QDragLeaveEvent yourself since these
+objects rely on Qt's internal state.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragmoveevent-members.html b/doc/html/qdragmoveevent-members.html
new file mode 100644
index 0000000..892db6e
--- /dev/null
+++ b/doc/html/qdragmoveevent-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:543 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragMoveEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDragMoveEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdragmoveevent.html">QDragMoveEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qdragmoveevent.html#QDragMoveEvent">QDragMoveEvent</a>()
+<li><a href="qdragmoveevent.html#accept">accept</a>()
+<li><a href="qdropevent.html#acceptAction">acceptAction</a>()
+<li><a href="qdropevent.html#action">action</a>()
+<li><a href="qdragmoveevent.html#answerRect">answerRect</a>()
+<li><a href="qdropevent.html#data">data</a>()
+<li><a href="qdropevent.html#encodedData">encodedData</a>()
+<li><a href="qdropevent.html#format">format</a>()
+<li><a href="qdragmoveevent.html#ignore">ignore</a>()
+<li><a href="qdropevent.html#isAccepted">isAccepted</a>()
+<li><a href="qdropevent.html#isActionAccepted">isActionAccepted</a>()
+<li><a href="qdropevent.html#pos">pos</a>()
+<li><a href="qdropevent.html#provides">provides</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qdropevent.html#setAction">setAction</a>()
+<li><a href="qdropevent.html#setPoint">setPoint</a>()
+<li><a href="qdropevent.html#source">source</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragmoveevent.html b/doc/html/qdragmoveevent.html
new file mode 100644
index 0000000..56fe9e1
--- /dev/null
+++ b/doc/html/qdragmoveevent.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdnd_x11.cpp:1391 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragMoveEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDragMoveEvent Class Reference</h1>
+
+<p>The QDragMoveEvent class provides an event which is sent while a drag and drop is in progress.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qdropevent.html">QDropEvent</a>.
+<p>Inherited by <a href="qdragenterevent.html">QDragEnterEvent</a>.
+<p><a href="qdragmoveevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDragMoveEvent"><b>QDragMoveEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, Type&nbsp;type = DragMove )</li>
+<li class=fn>QRect <a href="#answerRect"><b>answerRect</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QDragMoveEvent class provides an event which is sent while a drag and drop is in progress.
+<p> When a widget <a href="qwidget.html#setAcceptDrops">accepts drop
+ events</a>, it will receive this event repeatedly while the
+drag is within the widget's boundaries. The widget should examine
+the event to see what data it <a href="qdropevent.html#provides">provides</a>, and <a href="#accept">accept</a>() the drop if appropriate.
+<p> Note that this class inherits most of its functionality from
+<a href="qdropevent.html">QDropEvent</a>.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDragMoveEvent"></a>QDragMoveEvent::QDragMoveEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, <a href="qevent.html#Type-enum">Type</a>&nbsp;type = DragMove )
+</h3>
+
+<p> Creates a QDragMoveEvent for which the mouse is at point <em>pos</em>,
+and the event is of type <em>type</em>.
+<p> <b>Warning:</b> Do not create a QDragMoveEvent yourself since these
+objects rely on Qt's internal state.
+
+<h3 class=fn>void <a name="accept"></a>QDragMoveEvent::accept ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> The same as <a href="#accept">accept</a>(), but also notifies that future moves will
+also be acceptable if they remain within the rectangle <em>r</em> on the
+widget: this can improve performance, but may also be ignored by
+the underlying system.
+<p> If the rectangle is <a href="qrect.html#isEmpty">empty</a>, then
+drag move events will be sent continuously. This is useful if the
+source is scrolling in a timer event.
+
+<p>Examples: <a href="desktop-example.html#x1727">desktop/desktop.cpp</a> and <a href="dirview-example.html#x1668">dirview/dirview.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="answerRect"></a>QDragMoveEvent::answerRect () const
+</h3>
+
+<p> Returns the rectangle for which the acceptance of the move event
+applies.
+
+<h3 class=fn>void <a name="ignore"></a>QDragMoveEvent::ignore ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> The opposite of <a href="#accept">accept</a>(const <a href="qrect.html">QRect</a>&), i.e. says that moves within
+rectangle <em>r</em> are not acceptable (will be ignored).
+
+<p>Example: <a href="dirview-example.html#x1669">dirview/dirview.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragobject-h.html b/doc/html/qdragobject-h.html
new file mode 100644
index 0000000..c8083f0
--- /dev/null
+++ b/doc/html/qdragobject-h.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdragobject.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdragobject.h</h1>
+
+<p>This is the verbatim text of the qdragobject.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdragobject.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QDragObject
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDRAGOBJECT_H
+#define QDRAGOBJECT_H
+
+class QWidget;
+class QTextDragPrivate;
+class QDragObjectData;
+class QStoredDragData;
+class QImageDragData;
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qimage.h"
+#include "qstrlist.h"
+#include "qcolor.h"
+#endif // QT_H
+
+#ifndef QT_NO_MIME
+
+class Q_EXPORT QDragObject: public QObject, public QMimeSource {
+ Q_OBJECT
+public:
+ QDragObject( QWidget * dragSource = 0, const char * name = 0 );
+ virtual ~QDragObject();
+
+#ifndef QT_NO_DRAGANDDROP
+ bool drag();
+ bool dragMove();
+ void dragCopy();
+ void dragLink();
+
+ virtual void setPixmap(QPixmap);
+ virtual void setPixmap(QPixmap, const QPoint&amp; hotspot);
+ QPixmap pixmap() const;
+ QPoint pixmapHotSpot() const;
+#endif
+
+ QWidget * source();
+ static QWidget * target();
+
+ static void setTarget(QWidget*);
+
+#ifndef QT_NO_DRAGANDDROP
+ enum DragMode { DragDefault, DragCopy, DragMove, DragLink, DragCopyOrMove };
+
+protected:
+ virtual bool drag(DragMode);
+#endif
+
+private:
+ QDragObjectData * d;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDragObject( const QDragObject &amp; );
+ QDragObject &amp;operator=( const QDragObject &amp; );
+#endif
+};
+
+class Q_EXPORT QStoredDrag: public QDragObject {
+ Q_OBJECT
+ QStoredDragData * d;
+
+public:
+ QStoredDrag( const char * mimeType,
+ QWidget * dragSource = 0, const char * name = 0 );
+ ~QStoredDrag();
+
+ virtual void setEncodedData( const QByteArray &amp; );
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QStoredDrag( const QStoredDrag &amp; );
+ QStoredDrag &amp;operator=( const QStoredDrag &amp; );
+#endif
+};
+
+class Q_EXPORT QTextDrag: public QDragObject {
+ Q_OBJECT
+ QTextDragPrivate* d;
+public:
+ QTextDrag( const QString &amp;,
+ QWidget * dragSource = 0, const char * name = 0 );
+ QTextDrag( QWidget * dragSource = 0, const char * name = 0 );
+ ~QTextDrag();
+
+ virtual void setText( const QString &amp;);
+ virtual void setSubtype( const QCString &amp;);
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+ static bool canDecode( const QMimeSource* e );
+ static bool decode( const QMimeSource* e, QString&amp; s );
+ static bool decode( const QMimeSource* e, QString&amp; s, QCString&amp; subtype );
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QTextDrag( const QTextDrag &amp; );
+ QTextDrag &amp;operator=( const QTextDrag &amp; );
+#endif
+};
+
+class Q_EXPORT QImageDrag: public QDragObject {
+ Q_OBJECT
+ QImage img;
+ QStrList ofmts;
+ QImageDragData* d;
+
+public:
+ QImageDrag( QImage image, QWidget * dragSource = 0, const char * name = 0 );
+ QImageDrag( QWidget * dragSource = 0, const char * name = 0 );
+ ~QImageDrag();
+
+ virtual void setImage( QImage image );
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+ static bool canDecode( const QMimeSource* e );
+ static bool decode( const QMimeSource* e, QImage&amp; i );
+ static bool decode( const QMimeSource* e, QPixmap&amp; i );
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QImageDrag( const QImageDrag &amp; );
+ QImageDrag &amp;operator=( const QImageDrag &amp; );
+#endif
+};
+
+
+class Q_EXPORT QUriDrag: public QStoredDrag {
+ Q_OBJECT
+
+public:
+ QUriDrag( QStrList uris, QWidget * dragSource = 0, const char * name = 0 );
+ QUriDrag( QWidget * dragSource = 0, const char * name = 0 );
+ ~QUriDrag();
+
+ void setFilenames( const QStringList &amp; fnames ) { setFileNames( fnames ); }
+ void setFileNames( const QStringList &amp; fnames );
+ void setUnicodeUris( const QStringList &amp; uuris );
+ virtual void setUris( QStrList uris );
+
+ static QString uriToLocalFile(const char*);
+ static QCString localFileToUri(const QString&amp;);
+ static QString uriToUnicodeUri(const char*);
+ static QCString unicodeUriToUri(const QString&amp;);
+ static bool canDecode( const QMimeSource* e );
+ static bool decode( const QMimeSource* e, QStrList&amp; i );
+ static bool decodeToUnicodeUris( const QMimeSource* e, QStringList&amp; i );
+ static bool decodeLocalFiles( const QMimeSource* e, QStringList&amp; i );
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QUriDrag( const QUriDrag &amp; );
+ QUriDrag &amp;operator=( const QUriDrag &amp; );
+#endif
+};
+
+class Q_EXPORT QColorDrag : public QStoredDrag
+{
+ Q_OBJECT
+ QColor color;
+
+public:
+ QColorDrag( const QColor &amp;col, QWidget *dragsource = 0, const char *name = 0 );
+ QColorDrag( QWidget * dragSource = 0, const char * name = 0 );
+ void setColor( const QColor &amp;col );
+
+ static bool canDecode( QMimeSource * );
+ static bool decode( QMimeSource *, QColor &amp;col );
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QColorDrag( const QColorDrag &amp; );
+ QColorDrag &amp;operator=( const QColorDrag &amp; );
+#endif
+};
+
+#ifndef QT_NO_COMPAT
+typedef QUriDrag QUrlDrag;
+#endif
+
+#ifndef QT_NO_DRAGANDDROP
+
+// QDragManager is not part of the public API. It is defined in a
+// header file simply so different .cpp files can implement different
+// member functions.
+//
+
+class Q_EXPORT QDragManager: public QObject {
+ Q_OBJECT
+
+private:
+ QDragManager();
+ ~QDragManager();
+ // only friend classes can use QDragManager.
+ friend class QDragObject;
+ friend class QDragMoveEvent;
+ friend class QDropEvent;
+ friend class QApplication;
+
+ bool eventFilter( QObject *, QEvent * );
+ void timerEvent( QTimerEvent* );
+
+ bool drag( QDragObject *, QDragObject::DragMode );
+
+ void cancel( bool deleteSource = TRUE );
+ void move( const QPoint &amp; );
+ void drop();
+ void updatePixmap();
+
+private:
+ QDragObject * object;
+ void updateMode( ButtonState newstate );
+ void updateCursor();
+#if defined(Q_WS_X11)
+ void createCursors();
+#endif
+
+ QWidget * dragSource;
+ QWidget * dropWidget;
+ bool beingCancelled;
+ bool restoreCursor;
+ bool willDrop;
+
+ QPixmap *pm_cursor;
+ int n_cursor;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QDragManager( const QDragManager &amp; );
+ QDragManager &amp;operator=( const QDragManager &amp; );
+#endif
+};
+
+#endif
+
+#endif // QT_NO_MIME
+
+#endif // QDRAGOBJECT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragobject-members.html b/doc/html/qdragobject-members.html
new file mode 100644
index 0000000..bd3a5bf
--- /dev/null
+++ b/doc/html/qdragobject-members.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragObject Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDragObject</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdragobject.html">QDragObject</a>, including inherited members.
+
+<ul>
+<li><a href="qdragobject.html#QDragObject">QDragObject</a>()
+<li><a href="qdragobject.html#~QDragObject">~QDragObject</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qmimesource.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdragobject.html b/doc/html/qdragobject.html
new file mode 100644
index 0000000..70ca2f9
--- /dev/null
+++ b/doc/html/qdragobject.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:571 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDragObject Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDragObject Class Reference</h1>
+
+<p>The QDragObject class encapsulates MIME-based data
+transfer.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qmimesource.html">QMimeSource</a>.
+<p>Inherited by <a href="qstoreddrag.html">QStoredDrag</a>, <a href="qtextdrag.html">QTextDrag</a>, <a href="qimagedrag.html">QImageDrag</a>, and <a href="qicondrag.html">QIconDrag</a>.
+<p><a href="qdragobject-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDragObject"><b>QDragObject</b></a> ( QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QDragObject"><b>~QDragObject</b></a> ()</li>
+<li class=fn>bool <a href="#drag"><b>drag</b></a> ()</li>
+<li class=fn>bool <a href="#dragMove"><b>dragMove</b></a> ()</li>
+<li class=fn>void <a href="#dragCopy"><b>dragCopy</b></a> ()</li>
+<li class=fn>void <a href="#dragLink"><b>dragLink</b></a> ()</li>
+<li class=fn>virtual void <a href="#setPixmap-2"><b>setPixmap</b></a> ( QPixmap&nbsp;pm )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( QPixmap&nbsp;pm, const&nbsp;QPoint&nbsp;&amp;&nbsp;hotspot )</li>
+<li class=fn>QPixmap <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>QPoint <a href="#pixmapHotSpot"><b>pixmapHotSpot</b></a> () const</li>
+<li class=fn>QWidget * <a href="#source"><b>source</b></a> ()</li>
+<li class=fn>enum <a href="#DragMode-enum"><b>DragMode</b></a> { DragDefault, DragCopy, DragMove, DragLink, DragCopyOrMove }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QWidget * <a href="#target"><b>target</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#drag-2"><b>drag</b></a> ( DragMode&nbsp;mode )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QDragObject class encapsulates MIME-based data
+transfer.
+<p>
+<p> QDragObject is the base class for all data that needs to be
+transferred between and within applications, both for drag and
+drop and for the <a href="qclipboard.html">clipboard</a>.
+<p> See the <a href="dnd.html">Drag-and-drop documentation</a> for an
+overview of how to provide drag and drop in your application.
+<p> See the <a href="qclipboard.html">QClipboard</a> documentation for an overview of how to provide
+cut-and-paste in your application.
+<p> The <a href="#drag">drag</a>() function is used to start a drag operation. You can
+specify the <a href="#DragMode-enum">DragMode</a> in the call or use one of the convenience
+functions <a href="#dragCopy">dragCopy</a>(), <a href="#dragMove">dragMove</a>() or <a href="#dragLink">dragLink</a>(). The drag source
+where the data originated is retrieved with <a href="#source">source</a>(). If the data
+was dropped on a widget within the application, <a href="#target">target</a>() will
+return a pointer to that widget. Specify the pixmap to display
+during the drag with <a href="#setPixmap">setPixmap</a>().
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DragMode-enum"></a>QDragObject::DragMode</h3>
+
+<p> This enum describes the possible drag modes.
+<ul>
+<li><tt>QDragObject::DragDefault</tt> - The mode is determined heuristically.
+<li><tt>QDragObject::DragCopy</tt> - The data is copied, never moved.
+<li><tt>QDragObject::DragMove</tt> - The data is moved, if dragged at all.
+<li><tt>QDragObject::DragLink</tt> - The data is linked, if dragged at all.
+<li><tt>QDragObject::DragCopyOrMove</tt> - The user chooses the mode by using a
+control key to switch from the default.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDragObject"></a>QDragObject::QDragObject ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a drag object called <em>name</em>, which is a child of <em>dragSource</em>.
+<p> Note that the drag object will be deleted when <em>dragSource</em> is
+deleted.
+
+<h3 class=fn><a name="~QDragObject"></a>QDragObject::~QDragObject ()<tt> [virtual]</tt>
+</h3>
+Destroys the drag object, canceling any drag and drop operation in
+which it is involved, and frees up the storage used.
+
+<h3 class=fn>bool <a name="drag"></a>QDragObject::drag ()
+</h3>
+Starts a drag operation using the contents of this object, using
+DragDefault mode.
+<p> The function returns TRUE if the caller should delete the original
+copy of the dragged data (but see <a href="#target">target</a>()); otherwise returns
+FALSE.
+<p> If the drag contains <em>references</em> to information (e.g. file names
+in a <a href="quridrag.html">QUriDrag</a> are references) then the return value should always
+be ignored, as the target is expected to manipulate the
+referred-to content directly. On X11 the return value should
+always be correct anyway, but on Windows this is not necessarily
+the case (e.g. the file manager starts a background process to
+move files, so the source <em>must not</em> delete the files!)
+<p> Note that on Windows the drag operation will spin a blocking modal
+event loop that will not dispatch any QTimers.
+
+<p>Example: <a href="dirview-example.html#x1670">dirview/dirview.cpp</a>.
+<h3 class=fn>bool <a name="drag-2"></a>QDragObject::drag ( <a href="qdragobject.html#DragMode-enum">DragMode</a>&nbsp;mode )<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Starts a drag operation using the contents of this object.
+<p> At this point, the object becomes owned by Qt, not the
+application. You should not delete the drag object or anything it
+references. The actual transfer of data to the target application
+will be done during future event processing - after that time the
+drag object will be deleted.
+<p> Returns TRUE if the dragged data was dragged as a <em>move</em>,
+indicating that the caller should remove the original source of
+the data (the drag object must continue to have a copy); otherwise
+returns FALSE.
+<p> The <em>mode</em> specifies the drag mode (see
+<a href="#DragMode-enum">QDragObject::DragMode</a>.) Normally one of the simpler <a href="#drag">drag</a>(),
+<a href="#dragMove">dragMove</a>(), or <a href="#dragCopy">dragCopy</a>() functions would be used instead.
+
+<h3 class=fn>void <a name="dragCopy"></a>QDragObject::dragCopy ()
+</h3>
+Starts a drag operation using the contents of this object, using
+<a href="#DragMode-enum">DragCopy</a> mode. Be sure to read the constraints described in
+<a href="#drag">drag</a>().
+<p> <p>See also <a href="#drag">drag</a>(), <a href="#dragMove">dragMove</a>(), and <a href="#dragLink">dragLink</a>().
+
+<p>Example: <a href="simple_dd-example.html#x2818">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="dragLink"></a>QDragObject::dragLink ()
+</h3>
+Starts a drag operation using the contents of this object, using
+<a href="#DragMode-enum">DragLink</a> mode. Be sure to read the constraints described in
+<a href="#drag">drag</a>().
+<p> <p>See also <a href="#drag">drag</a>(), <a href="#dragCopy">dragCopy</a>(), and <a href="#dragMove">dragMove</a>().
+
+<h3 class=fn>bool <a name="dragMove"></a>QDragObject::dragMove ()
+</h3>
+Starts a drag operation using the contents of this object, using
+<a href="#DragMode-enum">DragMove</a> mode. Be sure to read the constraints described in
+<a href="#drag">drag</a>().
+<p> <p>See also <a href="#drag">drag</a>(), <a href="#dragCopy">dragCopy</a>(), and <a href="#dragLink">dragLink</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap"></a>QDragObject::pixmap () const
+</h3>
+Returns the currently set pixmap (which <a href="qpixmap.html#isNull">isNull()</a> if none is set).
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pixmapHotSpot"></a>QDragObject::pixmapHotSpot () const
+</h3>
+Returns the currently set pixmap hotspot.
+
+<h3 class=fn>void <a name="setPixmap"></a>QDragObject::setPixmap ( <a href="qpixmap.html">QPixmap</a>&nbsp;pm, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;hotspot )<tt> [virtual]</tt>
+</h3>
+Set the pixmap <em>pm</em> to display while dragging the object. The
+platform-specific implementation will use this where it can - so
+provide a small masked pixmap, and do not assume that the user
+will actually see it. For example, cursors on Windows 95 are of
+limited size.
+<p> The <em>hotspot</em> is the point on (or off) the pixmap that should be
+under the cursor as it is dragged. It is relative to the top-left
+pixel of the pixmap.
+<p> <b>Warning:</b> We have seen problems with drag cursors on different
+graphics hardware and driver software on Windows. Setting the
+graphics acceleration in the display settings down one tick solved
+the problems in all cases.
+
+<p>Example: <a href="fileiconview-example.html#x815">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="setPixmap-2"></a>QDragObject::setPixmap ( <a href="qpixmap.html">QPixmap</a>&nbsp;pm )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Uses a hotspot that positions the pixmap below and to the right of
+the mouse pointer. This allows the user to clearly see the point
+on the window which they are dragging the data onto.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="source"></a>QDragObject::source ()
+</h3>
+Returns a pointer to the drag source where this object originated.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="target"></a>QDragObject::target ()<tt> [static]</tt>
+</h3>
+After the drag completes, this function will return the <a href="qwidget.html">QWidget</a>
+which received the drop, or 0 if the data was dropped on another
+application.
+<p> This can be useful for detecting the case where drag and drop is
+to and from the same widget.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdrawutil-h.html b/doc/html/qdrawutil-h.html
new file mode 100644
index 0000000..267bbc2
--- /dev/null
+++ b/doc/html/qdrawutil-h.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdrawutil.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdrawutil.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdrawutil.h</h1>
+
+<p>This is the verbatim text of the qdrawutil.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdrawutil.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of draw utilities
+**
+** Created : 950920
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDRAWUTIL_H
+#define QDRAWUTIL_H
+
+#ifndef QT_H
+#include "qnamespace.h"
+#include "qstring.h" // char*-&gt;QString conversion
+#endif // QT_H
+
+class QPainter;
+class QColorGroup;
+class QPoint;
+class QBrush;
+class QRect;
+class QPixmap;
+
+#ifndef QT_NO_DRAWUTIL
+//
+// Standard shade drawing
+//
+
+Q_EXPORT void qDrawShadeLine( QPainter *p, int x1, int y1, int x2, int y2,
+ const QColorGroup &amp;g, bool sunken = TRUE,
+ int lineWidth = 1, int midLineWidth = 0 );
+
+Q_EXPORT void qDrawShadeLine( QPainter *p, const QPoint &amp;p1, const QPoint &amp;p2,
+ const QColorGroup &amp;g, bool sunken = TRUE,
+ int lineWidth = 1, int midLineWidth = 0 );
+
+Q_EXPORT void qDrawShadeRect( QPainter *p, int x, int y, int w, int h,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ int lineWidth = 1, int midLineWidth = 0,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawShadeRect( QPainter *p, const QRect &amp;r,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ int lineWidth = 1, int midLineWidth = 0,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawShadePanel( QPainter *p, int x, int y, int w, int h,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ int lineWidth = 1, const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawShadePanel( QPainter *p, const QRect &amp;r,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ int lineWidth = 1, const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawWinButton( QPainter *p, int x, int y, int w, int h,
+ const QColorGroup &amp;g, bool sunken = FALSE,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawWinButton( QPainter *p, const QRect &amp;r,
+ const QColorGroup &amp;g, bool sunken = FALSE,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawWinPanel( QPainter *p, int x, int y, int w, int h,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawWinPanel( QPainter *p, const QRect &amp;r,
+ const QColorGroup &amp;, bool sunken=FALSE,
+ const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawPlainRect( QPainter *p, int x, int y, int w, int h, const QColor &amp;,
+ int lineWidth = 1, const QBrush *fill = 0 );
+
+Q_EXPORT void qDrawPlainRect( QPainter *p, const QRect &amp;r, const QColor &amp;,
+ int lineWidth = 1, const QBrush *fill = 0 );
+
+
+//
+// Other obsolete drawing functions.
+// Use QStyle::itemRect(), QStyle::drawItem() and QStyle::drawArrow() instead.
+//
+Q_EXPORT QRect qItemRect( QPainter *p, Qt::GUIStyle gs, int x, int y, int w, int h,
+ int flags, bool enabled,
+ const QPixmap *pixmap, const QString&amp; text, int len=-1 );
+
+Q_EXPORT void qDrawItem( QPainter *p, Qt::GUIStyle gs, int x, int y, int w, int h,
+ int flags, const QColorGroup &amp;g, bool enabled,
+ const QPixmap *pixmap, const QString&amp; text,
+ int len=-1, const QColor* penColor = 0 );
+
+Q_EXPORT void qDrawArrow( QPainter *p, Qt::ArrowType type, Qt::GUIStyle style, bool down,
+ int x, int y, int w, int h,
+ const QColorGroup &amp;g, bool enabled );
+
+#endif // QT_NO_DRAWUTIL
+#endif // QDRAWUTIL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdropevent-members.html b/doc/html/qdropevent-members.html
new file mode 100644
index 0000000..0980b30
--- /dev/null
+++ b/doc/html/qdropevent-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:504 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDropEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDropEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdropevent.html">QDropEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qdropevent.html#QDropEvent">QDropEvent</a>()
+<li><a href="qdropevent.html#accept">accept</a>()
+<li><a href="qdropevent.html#acceptAction">acceptAction</a>()
+<li><a href="qdropevent.html#action">action</a>()
+<li><a href="qdropevent.html#data">data</a>()
+<li><a href="qdropevent.html#encodedData">encodedData</a>()
+<li><a href="qdropevent.html#format">format</a>()
+<li><a href="qdropevent.html#ignore">ignore</a>()
+<li><a href="qdropevent.html#isAccepted">isAccepted</a>()
+<li><a href="qdropevent.html#isActionAccepted">isActionAccepted</a>()
+<li><a href="qdropevent.html#pos">pos</a>()
+<li><a href="qdropevent.html#provides">provides</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qdropevent.html#setAction">setAction</a>()
+<li><a href="qdropevent.html#setPoint">setPoint</a>()
+<li><a href="qdropevent.html#source">source</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdropevent.html b/doc/html/qdropevent.html
new file mode 100644
index 0000000..ad4674b
--- /dev/null
+++ b/doc/html/qdropevent.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdnd_x11.cpp:1565 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDropEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDropEvent Class Reference</h1>
+
+<p>The QDropEvent class provides an event which is sent when a drag and drop is completed.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a> and <a href="qmimesource.html">QMimeSource</a>.
+<p>Inherited by <a href="qdragmoveevent.html">QDragMoveEvent</a>.
+<p><a href="qdropevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDropEvent"><b>QDropEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, Type&nbsp;typ = Drop )</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ( bool&nbsp;y = TRUE )</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+<li class=fn>bool <a href="#isActionAccepted"><b>isActionAccepted</b></a> () const</li>
+<li class=fn>void <a href="#acceptAction"><b>acceptAction</b></a> ( bool&nbsp;y = TRUE )</li>
+<li class=fn>enum <a href="#Action-enum"><b>Action</b></a> { Copy, Link, Move, Private, UserAction = 100 }</li>
+<li class=fn>void <a href="#setAction"><b>setAction</b></a> ( Action&nbsp;a )</li>
+<li class=fn>Action <a href="#action"><b>action</b></a> () const</li>
+<li class=fn>QWidget * <a href="#source"><b>source</b></a> () const</li>
+<li class=fn>virtual const char * <a href="#format"><b>format</b></a> ( int&nbsp;n = 0 ) const</li>
+<li class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const&nbsp;char&nbsp;*&nbsp;format ) const</li>
+<li class=fn>virtual bool <a href="#provides"><b>provides</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const</li>
+<li class=fn>QByteArray data ( const&nbsp;char&nbsp;*&nbsp;f ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setPoint"><b>setPoint</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;np )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+<p> The QDropEvent class provides an event which is sent when a drag and drop is completed.
+<p> When a widget <a href="qwidget.html#setAcceptDrops">accepts drop
+ events</a>, it will receive this event if it has accepted the
+most recent <a href="qdragenterevent.html">QDragEnterEvent</a> or <a href="qdragmoveevent.html">QDragMoveEvent</a> sent to it.
+<p> The widget should use <a href="#data">data</a>() to extract the data in an appropriate
+format.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Action-enum"></a>QDropEvent::Action</h3>
+
+<p> This enum describes the action which a source requests that a
+target perform with dropped data.
+<ul>
+<li><tt>QDropEvent::Copy</tt> - The default action. The source simply uses the data
+provided in the operation.
+<li><tt>QDropEvent::Link</tt> - The source should somehow create a link to the
+location specified by the data.
+<li><tt>QDropEvent::Move</tt> - The source should somehow move the object from the
+location specified by the data to a new location.
+<li><tt>QDropEvent::Private</tt> - The target has special knowledge of the MIME type,
+which the source should respond to in a similar way to
+a Copy.
+<li><tt>QDropEvent::UserAction</tt> - The source and target can co-operate using
+special actions. This feature is not currently
+supported.
+</ul><p> The Link and Move actions only makes sense if the data is a
+reference, for example, text/uri-list file lists (see <a href="quridrag.html">QUriDrag</a>).
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDropEvent"></a>QDropEvent::QDropEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, <a href="qevent.html#Type-enum">Type</a>&nbsp;typ = Drop )
+</h3>
+
+<p> Constructs a drop event that drops a drop of type <em>typ</em> on point
+<em>pos</em>.
+
+<h3 class=fn>void <a name="accept"></a>QDropEvent::accept ( bool&nbsp;y = TRUE )
+</h3>
+
+<p> Call this function to indicate whether the event provided data
+which your widget processed. Set <em>y</em> to TRUE (the default) if
+your widget could process the data, otherwise set <em>y</em> to FALSE.
+To get the data, use <a href="#encodedData">encodedData</a>(), or preferably, the decode()
+methods of existing <a href="qdragobject.html">QDragObject</a> subclasses, such as
+<a href="qtextdrag.html#decode">QTextDrag::decode</a>(), or your own subclasses.
+<p> <p>See also <a href="#acceptAction">acceptAction</a>().
+
+<p>Example: <a href="simple_dd-example.html#x2819">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="acceptAction"></a>QDropEvent::acceptAction ( bool&nbsp;y = TRUE )
+</h3>
+
+<p> Call this to indicate that the action described by <a href="#action">action</a>() is
+accepted (i.e. if <em>y</em> is TRUE, which is the default), not merely
+the default copy action. If you call <a href="#acceptAction">acceptAction</a>(TRUE), there is
+no need to also call <a href="#accept">accept</a>(TRUE).
+
+<p>Examples: <a href="dirview-example.html#x1671">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x816">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qdropevent.html#Action-enum">Action</a> <a name="action"></a>QDropEvent::action () const
+</h3>
+
+<p> Returns the Action which the target is requesting to be performed
+with the data. If your application understands the action and can
+process the supplied data, call <a href="#acceptAction">acceptAction</a>(); if your
+application can process the supplied data but can only perform the
+Copy action, call <a href="#accept">accept</a>().
+
+<p>Examples: <a href="dirview-example.html#x1672">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x817">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="data"></a>QDropEvent::data ( const&nbsp;char&nbsp;*&nbsp;f ) const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#encodedData">QDropEvent::encodedData</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="encodedData"></a>QDropEvent::encodedData ( const&nbsp;char&nbsp;*&nbsp;format ) const<tt> [virtual]</tt>
+</h3>
+Returns a byte array containing the drag's data, in <em>format</em>.
+<p> <a href="#data">data</a>() normally needs to get the data from the drag source, which
+is potentially very slow, so it's advisable to call this function
+only if you're sure that you will need the data in <em>format</em>.
+<p> The resulting data will have a size of 0 if the format was not
+available.
+<p> <p>See also <a href="#format">format</a>() and <a href="qmemarray.html#size">QByteArray::size</a>().
+
+<p>Reimplemented from <a href="qmimesource.html#encodedData">QMimeSource</a>.
+<h3 class=fn>const char * <a name="format"></a>QDropEvent::format ( int&nbsp;n = 0 ) const<tt> [virtual]</tt>
+</h3>
+Returns a string describing one of the available data types for
+this drag. Common examples are "text/plain" and "image/gif". If <em>n</em> is less than zero or greater than the number of available data
+types, <a href="#format">format</a>() returns 0.
+<p> This function is provided mainly for debugging. Most drop targets
+will use <a href="#provides">provides</a>().
+<p> <p>See also <a href="#data">data</a>() and <a href="#provides">provides</a>().
+
+<p>Example: <a href="iconview-example.html#x1454">iconview/main.cpp</a>.
+<p>Reimplemented from <a href="qmimesource.html#format">QMimeSource</a>.
+<h3 class=fn>void <a name="ignore"></a>QDropEvent::ignore ()
+</h3>
+
+<p> The opposite of <a href="#accept">accept</a>(), i.e. you have ignored the drop event.
+
+<p>Example: <a href="fileiconview-example.html#x818">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="isAccepted"></a>QDropEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the drop target accepts the event; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="isActionAccepted"></a>QDropEvent::isActionAccepted () const
+</h3>
+
+<p> Returns TRUE if the drop action was accepted by the drop site;
+otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QDropEvent::pos () const
+</h3>
+
+<p> Returns the position where the drop was made.
+
+<p>Example: <a href="dirview-example.html#x1673">dirview/dirview.cpp</a>.
+<h3 class=fn>bool <a name="provides"></a>QDropEvent::provides ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this event provides format <em>mimeType</em>; otherwise
+returns FALSE.
+<p> <p>See also <a href="#data">data</a>().
+
+<p>Example: <a href="fileiconview-example.html#x819">fileiconview/qfileiconview.cpp</a>.
+<p>Reimplemented from <a href="qmimesource.html#provides">QMimeSource</a>.
+<h3 class=fn>void <a name="setAction"></a>QDropEvent::setAction ( <a href="qdropevent.html#Action-enum">Action</a>&nbsp;a )
+</h3>
+
+<p> Sets the action to <em>a</em>. This is used internally, you should not
+need to call this in your code: the <em>source</em> decides the action,
+not the target.
+
+<h3 class=fn>void <a name="setPoint"></a>QDropEvent::setPoint ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;np )
+</h3>
+
+<p> Sets the drop to happen at point <em>np</em>. You do not normally need
+to use this as it will be set internally before your widget
+receives the drop event.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="source"></a>QDropEvent::source () const
+</h3>
+If the source of the drag operation is a widget in this
+application, this function returns that source, otherwise it
+returns 0. The source of the operation is the first parameter to
+drag object subclasses.
+<p> This is useful if your widget needs special behavior when dragging
+to itself, etc.
+<p> See <a href="qdragobject.html#QDragObject">QDragObject::QDragObject</a>() and subclasses.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdropsite-h.html b/doc/html/qdropsite-h.html
new file mode 100644
index 0000000..4b13f92
--- /dev/null
+++ b/doc/html/qdropsite-h.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdropsite.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qdropsite.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdropsite.h</h1>
+
+<p>This is the verbatim text of the qdropsite.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qdropsite.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definitation of Drag and Drop support
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QDROPSITE_H
+#define QDROPSITE_H
+
+#ifndef QT_H
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+#endif
+
+
+class QWidget;
+
+
+class Q_EXPORT QDropSite {
+public:
+ QDropSite( QWidget* parent );
+ virtual ~QDropSite();
+};
+
+
+#endif // QDROPSITE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdropsite-members.html b/doc/html/qdropsite-members.html
new file mode 100644
index 0000000..7da9228
--- /dev/null
+++ b/doc/html/qdropsite-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdropsite.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDropSite Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QDropSite</h1>
+
+<p>This is the complete list of member functions for
+<a href="qdropsite.html">QDropSite</a>, including inherited members.
+
+<ul>
+<li><a href="qdropsite.html#QDropSite">QDropSite</a>()
+<li><a href="qdropsite.html#~QDropSite">~QDropSite</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qdropsite.html b/doc/html/qdropsite.html
new file mode 100644
index 0000000..da538e2
--- /dev/null
+++ b/doc/html/qdropsite.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdropsite.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QDropSite Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDropSite Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QDropSite class provides nothing and does nothing.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdropsite-h.html">qdropsite.h</a>&gt;</tt>
+<p><a href="qdropsite-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QDropSite"><b>QDropSite</b></a> ( QWidget&nbsp;*&nbsp;self )</li>
+<li class=fn>virtual <a href="#~QDropSite"><b>~QDropSite</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QDropSite class provides nothing and does nothing.
+<p> <b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If your code uses it, you can safely delete it.
+<p> It was used in Qt 1.x to do some drag and drop; that has since been
+folded into <a href="qwidget.html">QWidget</a>.
+<p> For detailed information about drag-and-drop, see the <a href="qdragobject.html">QDragObject</a> class.
+<p> <p>See also <a href="qdragobject.html">QDragObject</a>, <a href="qtextdrag.html">QTextDrag</a>, and <a href="qimagedrag.html">QImageDrag</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QDropSite"></a>QDropSite::QDropSite ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;self )
+</h3>
+Constructs a QDropSite to handle events for the widget <em>self</em>.
+<p> Pass <tt>this</tt> as the <em>self</em> parameter.
+This enables dropping by calling <a href="qwidget.html#setAcceptDrops">QWidget::setAcceptDrops</a>(TRUE).
+
+<h3 class=fn><a name="~QDropSite"></a>QDropSite::~QDropSite ()<tt> [virtual]</tt>
+</h3>
+Destroys the drop site.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeditorfactory-h.html b/doc/html/qeditorfactory-h.html
new file mode 100644
index 0000000..d45d0df
--- /dev/null
+++ b/doc/html/qeditorfactory-h.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeditorfactory.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qeditorfactory.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qeditorfactory.h</h1>
+
+<p>This is the verbatim text of the qeditorfactory.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QEditorFactory class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QEDITORFACTORY_H
+#define QEDITORFACTORY_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qvariant.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL_EDIT_WIDGETS
+
+class QM_EXPORT_SQL QEditorFactory : public QObject
+{
+public:
+ QEditorFactory ( QObject * parent = 0, const char * name = 0 );
+ ~QEditorFactory();
+
+ virtual QWidget * createEditor( QWidget * parent, const QVariant &amp; v );
+
+ static QEditorFactory * defaultFactory();
+ static void installDefaultFactory( QEditorFactory * factory);
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QEditorFactory( const QEditorFactory &amp; );
+ QEditorFactory &amp;operator=( const QEditorFactory &amp; );
+#endif
+};
+
+#endif // QT_NO_SQL
+#endif // QEDITORFACTORY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeditorfactory-members.html b/doc/html/qeditorfactory-members.html
new file mode 100644
index 0000000..98fdbc8
--- /dev/null
+++ b/doc/html/qeditorfactory-members.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeditorfactory.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEditorFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QEditorFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qeditorfactory.html">QEditorFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qeditorfactory.html#QEditorFactory">QEditorFactory</a>()
+<li><a href="qeditorfactory.html#~QEditorFactory">~QEditorFactory</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qeditorfactory.html#createEditor">createEditor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qeditorfactory.html#defaultFactory">defaultFactory</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qeditorfactory.html#installDefaultFactory">installDefaultFactory</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeditorfactory.html b/doc/html/qeditorfactory.html
new file mode 100644
index 0000000..0c71947
--- /dev/null
+++ b/doc/html/qeditorfactory.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qeditorfactory.cpp:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEditorFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEditorFactory Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QEditorFactory class is used to create editor widgets
+for QVariant data types.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qeditorfactory-h.html">qeditorfactory.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qsqleditorfactory.html">QSqlEditorFactory</a>.
+<p><a href="qeditorfactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QEditorFactory"><b>QEditorFactory</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QEditorFactory"><b>~QEditorFactory</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#createEditor"><b>createEditor</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QVariant&nbsp;&amp;&nbsp;v )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QEditorFactory * <a href="#defaultFactory"><b>defaultFactory</b></a> ()</li>
+<li class=fn>void <a href="#installDefaultFactory"><b>installDefaultFactory</b></a> ( QEditorFactory&nbsp;*&nbsp;factory )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QEditorFactory class is used to create editor widgets
+for <a href="qvariant.html">QVariant</a> data types.
+<p>
+
+<p> Each editor factory provides the <a href="#createEditor">createEditor</a>() function which
+given a QVariant will create and return a <a href="qwidget.html">QWidget</a> that can edit
+that QVariant. For example if you have a QVariant::String type, a
+<a href="qlineedit.html">QLineEdit</a> would be the default editor returned, whereas a
+QVariant::Int's default editor would be a <a href="qspinbox.html">QSpinBox</a>.
+<p> If you want to create different editors for fields with the same
+data type, subclass QEditorFactory and reimplement the
+createEditor() function.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QEditorFactory"></a>QEditorFactory::QEditorFactory ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an editor factory with parent <em>parent</em>, called <em>name</em>.
+
+<h3 class=fn><a name="~QEditorFactory"></a>QEditorFactory::~QEditorFactory ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createEditor"></a>QEditorFactory::createEditor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Creates and returns the appropriate editor for the <a href="qvariant.html">QVariant</a> <em>v</em>.
+If the QVariant is invalid, 0 is returned. The <em>parent</em> is passed
+to the appropriate editor's constructor.
+
+<p>Reimplemented in <a href="qsqleditorfactory.html#createEditor">QSqlEditorFactory</a>.
+<h3 class=fn><a href="qeditorfactory.html">QEditorFactory</a>&nbsp;* <a name="defaultFactory"></a>QEditorFactory::defaultFactory ()<tt> [static]</tt>
+</h3>
+Returns an instance of a default editor factory.
+
+<h3 class=fn>void <a name="installDefaultFactory"></a>QEditorFactory::installDefaultFactory ( <a href="qeditorfactory.html">QEditorFactory</a>&nbsp;*&nbsp;factory )<tt> [static]</tt>
+</h3>
+Replaces the default editor factory with <em>factory</em>.
+<em>QEditorFactory takes ownership of factory, and destroys it when it is no longer needed.</em>
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qembed.html b/doc/html/qembed.html
new file mode 100644
index 0000000..527aea1
--- /dev/null
+++ b/doc/html/qembed.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qembed.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEmbed - File and Image Embedder</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEmbed - File and Image Embedder</h1>
+
+
+
+<p> The QEmbed tool, found in <tt>qt/tools/qembed</tt>, converts arbitrary files
+into C++ code. This is useful for including image files and other resources
+directly into your application rather than loading the data from external
+files.
+<p> QEmbed can also generate uncompressed versions of images that can be included
+directly into your application, thus avoiding both the external file and the
+need to parse the image file format. This is useful for small images such as
+icons for which compression is not a great gain.
+<p> <h2> Usage
+</h2>
+<a name="1"></a><p> <pre>
+ qembed [ general-files ] [ --images image-files ]
+</pre>
+
+<p> <ul>
+<li> <tt>general-files</tt>
+<p> These files can be any type of file.
+<p> <li> <tt>--images image-files</tt>
+<p> These files must be in image formats supported by Qt.
+</ul>
+<p> <h2> Output
+</h2>
+<a name="2"></a><p> The output from QEmbed is a C++ header file which you should
+include in a C++ source file. In the source file, you should make a
+wrapper function that suits your application. Two functions are
+provided; your wrapper function could just call one of these, or
+you can implement your own. Here's a simple example of usage for each
+of the supplied functions:
+<p> <h3> qembed_findImage()
+</h3>
+<a name="2-1"></a><p> <pre>
+ #include "generated_qembed_file.h"
+
+ <a href="qimage.html">QImage</a> myFindImage(const char* name)
+ {
+ return qembed_findImage(name);
+ }
+</pre>
+
+<p> Just call the generated function; <em>name</em> is the original image
+filename <b>without</b> the extension.
+<p> <h3> qembed_findData()
+</h3>
+<a name="2-2"></a><p> <pre>
+ #include "generated_qembed_file.h"
+
+ <a href="qbytearray.html">QByteArray</a> myFindData(const char* name)
+ {
+ return qembed_findData(name);
+ }
+</pre>
+
+<p> Just call the generated function; <em>name</em> is the original filename
+<b>with</b> the extension
+<p> Alternatively, look at the output from QEmbed and write a function
+tailored to your needs.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qerrormessage-h.html b/doc/html/qerrormessage-h.html
new file mode 100644
index 0000000..2971b2c
--- /dev/null
+++ b/doc/html/qerrormessage-h.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qerrormessage.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qerrormessage.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qerrormessage.h</h1>
+
+<p>This is the verbatim text of the qerrormessage.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qerrormessage.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of a nice qInstallErrorMessage() handler
+**
+** Created : 000527, after Kalle Dalheimer's birthday
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QERRORMESSAGE_H
+#define QERRORMESSAGE_H
+
+#ifndef QT_H
+#include "qdialog.h"
+#endif // QT_H
+
+#ifndef QT_NO_ERRORMESSAGE
+class QPushButton;
+class QCheckBox;
+class QLabel;
+class QTextView;
+class QStringList;
+template&lt;class type&gt; class QDict;
+
+
+class Q_EXPORT QErrorMessage: public QDialog {
+ Q_OBJECT
+public:
+ QErrorMessage( QWidget* parent, const char* name=0 );
+ ~QErrorMessage();
+
+ static QErrorMessage * qtHandler();
+
+public slots:
+ void message( const QString &amp; );
+
+protected:
+ void done( int );
+
+private:
+ QPushButton * ok;
+ QCheckBox * again;
+ QTextView * errors;
+ QLabel * icon;
+ QStringList * pending;
+ QDict&lt;int&gt; * doNotShow;
+
+ bool nextPending();
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QErrorMessage( const QErrorMessage &amp; );
+ QErrorMessage &amp;operator=( const QErrorMessage &amp; );
+#endif
+};
+
+#endif //QT_NO_ERRORMESSAGE
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qerrormessage-members.html b/doc/html/qerrormessage-members.html
new file mode 100644
index 0000000..c4a9b59
--- /dev/null
+++ b/doc/html/qerrormessage-members.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qerrormessage.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QErrorMessage Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QErrorMessage</h1>
+
+<p>This is the complete list of member functions for
+<a href="qerrormessage.html">QErrorMessage</a>, including inherited members.
+
+<ul>
+<li><a href="qerrormessage.html#QErrorMessage">QErrorMessage</a>()
+<li><a href="qerrormessage.html#~QErrorMessage">~QErrorMessage</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qerrormessage.html#message">message</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qerrormessage.html#qtHandler">qtHandler</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qerrormessage.html b/doc/html/qerrormessage.html
new file mode 100644
index 0000000..7f7a15a
--- /dev/null
+++ b/doc/html/qerrormessage.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qerrormessage.cpp:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QErrorMessage Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QErrorMessage Class Reference</h1>
+
+<p>The QErrorMessage class provides an error message display dialog.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qerrormessage-h.html">qerrormessage.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qerrormessage-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QErrorMessage"><b>QErrorMessage</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QErrorMessage"><b>~QErrorMessage</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#message"><b>message</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;m )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QErrorMessage * <a href="#qtHandler"><b>qtHandler</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+<p> The QErrorMessage class provides an error message display dialog.
+<p>
+
+<p> This is basically a <a href="qlabel.html">QLabel</a> and a "show this message again" checkbox which
+remembers what not to show.
+<p> There are two ways to use this class:
+<ol type=1>
+<li> For production applications. In this context the class can be used to
+display messages which you don't need the user to see more than once. To use
+QErrorMessage like this, you create the dialog in the usual way and call the
+<a href="#message">message</a>() slot, or connect signals to it.
+<p> <li> For developers. In this context the static <a href="#qtHandler">qtHandler</a>() installs
+a message handler using <a href="qapplication.html#qInstallMsgHandler">qInstallMsgHandler</a>() and creates a QErrorMessage
+that displays <a href="qapplication.html#qDebug">qDebug</a>(), <a href="qapplication.html#qWarning">qWarning</a>() and <a href="qapplication.html#qFatal">qFatal</a>() messages.
+</ol>
+<p> In both cases QErrorMessage will queue pending messages, and display
+them (or not) in order, as soon as the user presses Enter or clicks OK
+after seeing each message.
+<p> <center><img src="qerrormessage.png"></center>
+<p> <p>See also <a href="qmessagebox.html">QMessageBox</a>, <a href="qstatusbar.html#message">QStatusBar::message</a>(), <a href="dialogs.html">Dialog Classes</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QErrorMessage"></a>QErrorMessage::QErrorMessage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3> Constructs and installs an error handler window.
+The parent <em>parent</em> and name <em>name</em> are passed on to the <a href="qdialog.html">QDialog</a>
+constructor.
+
+<h3 class=fn><a name="~QErrorMessage"></a>QErrorMessage::~QErrorMessage ()
+</h3> Destroys the object and frees any allocated resources. Notably,
+the list of "do not show again" messages is deleted.
+<h3 class=fn>void <a name="message"></a>QErrorMessage::message ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;m )<tt> [slot]</tt>
+</h3> Shows message <em>m</em> and returns immediately. If the user has requested
+that <em>m</em> not be shown, this function does nothing.
+<p> Normally, <em>m</em> is shown at once, but if there are pending messages,
+<em>m</em> is queued for later display.
+
+<h3 class=fn><a href="qerrormessage.html">QErrorMessage</a>&nbsp;* <a name="qtHandler"></a>QErrorMessage::qtHandler ()<tt> [static]</tt>
+</h3> Returns a pointer to a QErrorMessage object that outputs the
+default Qt messages. This function creates such an object, if there
+isn't one already.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qerrormessage.png b/doc/html/qerrormessage.png
new file mode 100644
index 0000000..cf2418f
--- /dev/null
+++ b/doc/html/qerrormessage.png
Binary files differ
diff --git a/doc/html/qeucjpcodec-h.html b/doc/html/qeucjpcodec-h.html
new file mode 100644
index 0000000..83ea410
--- /dev/null
+++ b/doc/html/qeucjpcodec-h.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeucjpcodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qeucjpcodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qeucjpcodec.h</h1>
+
+<p>This is the verbatim text of the qeucjpcodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qeucjpcodec.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QEucJpCodec class
+**
+** Created : 990225
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Most of the code here was originally written by Serika Kurusugawa
+// a.k.a. Junji Takagi, and is included in Qt with the author's permission,
+// and the grateful thanks of the Trolltech team.
+
+/*
+ * Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef QEUCJPCODEC_H
+#define QEUCJPCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#include "qjpunicode.h"
+#endif // QT_H
+
+#ifndef QT_NO_BIG_CODECS
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_CODECS_JP
+#else
+#define Q_EXPORT_CODECS_JP Q_EXPORT
+#endif
+
+class Q_EXPORT_CODECS_JP QEucJpCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+ const char* mimeName() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+
+ QEucJpCodec();
+ ~QEucJpCodec();
+
+protected:
+ const QJpUnicodeConv *conv;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeucjpcodec-members.html b/doc/html/qeucjpcodec-members.html
new file mode 100644
index 0000000..7277362
--- /dev/null
+++ b/doc/html/qeucjpcodec-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeucjpcodec.h:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEucJpCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QEucJpCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qeucjpcodec.html">QEucJpCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qeucjpcodec.html#QEucJpCodec">QEucJpCodec</a>()
+<li><a href="qeucjpcodec.html#~QEucJpCodec">~QEucJpCodec</a>()
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qeucjpcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qeucjpcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeucjpcodec.html b/doc/html/qeucjpcodec.html
new file mode 100644
index 0000000..bd75cee
--- /dev/null
+++ b/doc/html/qeucjpcodec.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qeucjpcodec.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEucJpCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEucJpCodec Class Reference</h1>
+
+<p>The QEucJpCodec class provides conversion to and from EUC-JP character sets.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qeucjpcodec-h.html">qeucjpcodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qeucjpcodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#mibEnum"><b>mibEnum</b></a> () const</li>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+<li class=fn><a href="#QEucJpCodec"><b>QEucJpCodec</b></a> ()</li>
+<li class=fn><a href="#~QEucJpCodec"><b>~QEucJpCodec</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QEucJpCodec class provides conversion to and from EUC-JP character sets.
+<p> More precisely, the QEucJpCodec class subclasses <a href="qtextcodec.html">QTextCodec</a> to
+provide support for EUC-JP, the main legacy encoding for Unix
+machines in Japan.
+<p> The environment variable <tt>UNICODEMAP_JP</tt> can be used to fine-tune
+<a href="qjiscodec.html">QJisCodec</a>, <a href="qsjiscodec.html">QSjisCodec</a> and QEucJpCodec. The <a href="qjiscodec.html">QJisCodec</a>
+documentation describes how to use this variable.
+<p> Most of the code here was written by Serika Kurusugawa,
+a.k.a. Junji Takagi, and is included in Qt with the author's
+permission and the grateful thanks of the Trolltech team. Here is
+the copyright statement for that code:
+<p>
+<p> Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QEucJpCodec"></a>QEucJpCodec::QEucJpCodec ()
+</h3>
+Constructs a QEucJpCodec.
+
+<h3 class=fn><a name="~QEucJpCodec"></a>QEucJpCodec::~QEucJpCodec ()
+</h3>
+Destroys the codec.
+
+<h3 class=fn>int <a name="mibEnum"></a>QEucJpCodec::mibEnum () const<tt> [virtual]</tt>
+</h3>
+Returns 18.
+
+<p>Reimplemented from <a href="qtextcodec.html#mibEnum">QTextCodec</a>.
+<h3 class=fn>const char * <a name="mimeName"></a>QEucJpCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the codec's mime name.
+
+<p>Reimplemented from <a href="qtextcodec.html#mimeName">QTextCodec</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeuckrcodec-h.html b/doc/html/qeuckrcodec-h.html
new file mode 100644
index 0000000..141a520
--- /dev/null
+++ b/doc/html/qeuckrcodec-h.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeuckrcodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qeuckrcodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qeuckrcodec.h</h1>
+
+<p>This is the verbatim text of the qeuckrcodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qeuckrcodec.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QEucKrCodec class
+**
+** Created : 990303
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*
+ * Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef QEUCKRCODEC_H
+#define QEUCKRCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+#ifndef QT_NO_BIG_CODECS
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_CODECS_KR
+#else
+#define Q_EXPORT_CODECS_KR Q_EXPORT
+#endif
+
+class Q_EXPORT_CODECS_KR QEucKrCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+ const char* mimeName() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeuckrcodec-members.html b/doc/html/qeuckrcodec-members.html
new file mode 100644
index 0000000..bfc6f11
--- /dev/null
+++ b/doc/html/qeuckrcodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeuckrcodec.h:78 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEucKrCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QEucKrCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qeuckrcodec.html">QEucKrCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qeuckrcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeuckrcodec.html b/doc/html/qeuckrcodec.html
new file mode 100644
index 0000000..cc42a4e
--- /dev/null
+++ b/doc/html/qeuckrcodec.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qeuckrcodec.cpp:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEucKrCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEucKrCodec Class Reference</h1>
+
+<p>The QEucKrCodec class provides conversion to and from EUC-KR character sets.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qeuckrcodec-h.html">qeuckrcodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qeuckrcodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QEucKrCodec class provides conversion to and from EUC-KR character sets.
+<p> The QEucKrCodec class subclasses <a href="qtextcodec.html">QTextCodec</a> to provide support for
+EUC-KR, the main legacy encoding for UNIX machines in Korea.
+<p> It was largely written by Mizi Research Inc. Here is the copyright
+statement for the code as it was at the point of contribution.
+Trolltech's subsequent modifications are covered by the usual
+copyright for Qt.
+<p>
+<p> Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met: <ol>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>const char * <a name="mimeName"></a>QEucKrCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the codec's mime name.
+
+<p>Reimplemented from <a href="qtextcodec.html#mimeName">QTextCodec</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qevent-h.html b/doc/html/qevent-h.html
new file mode 100644
index 0000000..cfe102e
--- /dev/null
+++ b/doc/html/qevent-h.html
@@ -0,0 +1,662 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qevent.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qevent.h</h1>
+
+<p>This is the verbatim text of the qevent.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qevent.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of event classes
+**
+** Created : 931029
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QEVENT_H
+#define QEVENT_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qregion.h"
+#include "qnamespace.h"
+#include "qmime.h"
+#include "qpair.h"
+#endif // QT_H
+
+class Q_EXPORT QEvent: public Qt // event base class
+{
+public:
+ enum Type {
+
+ /*
+ If you get a strange compiler error on the line with None,
+ it's probably because you're also including X11 headers,
+ which #define the symbol None. Put the X11 includes after
+ the Qt includes to solve this problem.
+ */
+
+ None = 0, // invalid event
+
+
+ Timer = 1, // timer event
+ MouseButtonPress = 2, // mouse button pressed
+ MouseButtonRelease = 3, // mouse button released
+ MouseButtonDblClick = 4, // mouse button double click
+ MouseMove = 5, // mouse move
+ KeyPress = 6, // key pressed
+ KeyRelease = 7, // key released
+ FocusIn = 8, // keyboard focus received
+ FocusOut = 9, // keyboard focus lost
+ Enter = 10, // mouse enters widget
+ Leave = 11, // mouse leaves widget
+ Paint = 12, // paint widget
+ Move = 13, // move widget
+ Resize = 14, // resize widget
+ Create = 15, // after object creation
+ Destroy = 16, // during object destruction
+ Show = 17, // widget is shown
+ Hide = 18, // widget is hidden
+ Close = 19, // request to close widget
+ Quit = 20, // request to quit application
+ Reparent = 21, // widget has been reparented
+ ShowMinimized = 22, // widget is shown minimized
+ ShowNormal = 23, // widget is shown normal
+ WindowActivate = 24, // window was activated
+ WindowDeactivate = 25, // window was deactivated
+ ShowToParent = 26, // widget is shown to parent
+ HideToParent = 27, // widget is hidden to parent
+ ShowMaximized = 28, // widget is shown maximized
+ ShowFullScreen = 29, // widget is shown full-screen
+ Accel = 30, // accelerator event
+ Wheel = 31, // wheel event
+ AccelAvailable = 32, // accelerator available event
+ CaptionChange = 33, // caption changed
+ IconChange = 34, // icon changed
+ ParentFontChange = 35, // parent font changed
+ ApplicationFontChange = 36, // application font changed
+ ParentPaletteChange = 37, // parent palette changed
+ ApplicationPaletteChange = 38, // application palette changed
+ PaletteChange = 39, // widget palette changed
+ Clipboard = 40, // internal clipboard event
+ Speech = 42, // reserved for speech input
+ SockAct = 50, // socket activation
+ AccelOverride = 51, // accelerator override event
+ DeferredDelete = 52, // deferred delete event
+ DragEnter = 60, // drag moves into widget
+ DragMove = 61, // drag moves in widget
+ DragLeave = 62, // drag leaves or is cancelled
+ Drop = 63, // actual drop
+ DragResponse = 64, // drag accepted/rejected
+ ChildInserted = 70, // new child widget
+ ChildRemoved = 71, // deleted child widget
+ LayoutHint = 72, // child min/max size changed
+ ShowWindowRequest = 73, // widget's window should be mapped
+ WindowBlocked = 74, // window is about to be blocked modally
+ WindowUnblocked = 75, // windows modal blocking has ended
+ ActivateControl = 80, // ActiveX activation
+ DeactivateControl = 81, // ActiveX deactivation
+ ContextMenu = 82, // context popup menu
+ IMStart = 83, // input method composition start
+ IMCompose = 84, // input method composition
+ IMEnd = 85, // input method composition end
+ Accessibility = 86, // accessibility information is requested
+ TabletMove = 87, // Wacom tablet event
+ LocaleChange = 88, // the system locale changed
+ LanguageChange = 89, // the application language changed
+ LayoutDirectionChange = 90, // the layout direction changed
+ Style = 91, // internal style event
+ TabletPress = 92, // tablet press
+ TabletRelease = 93, // tablet release
+ OkRequest = 94, // CE (Ok) button pressed
+ HelpRequest = 95, // CE (?) button pressed
+ WindowStateChange = 96, // window state has changed
+ IconDrag = 97, // proxy icon dragged
+ User = 1000, // first user event id
+ MaxUser = 65535 // last user event id
+ };
+
+
+ QEvent( Type type ) : t(type), posted(FALSE), spont(FALSE) {}
+ virtual ~QEvent();
+ Type type() const { return t; }
+ bool spontaneous() const { return spont; }
+protected:
+ Type t;
+private:
+ uint posted : 1;
+ uint spont : 1;
+
+
+ friend class QApplication;
+ friend class QAccelManager;
+ friend class QBaseApplication;
+ friend class QETWidget;
+};
+
+
+class Q_EXPORT QTimerEvent : public QEvent
+{
+public:
+ QTimerEvent( int timerId )
+ : QEvent(Timer), id(timerId) {}
+ int timerId() const { return id; }
+protected:
+ int id;
+};
+
+
+class Q_EXPORT QMouseEvent : public QEvent
+{
+public:
+ QMouseEvent( Type type, const QPoint &amp;pos, int button, int state );
+
+ QMouseEvent( Type type, const QPoint &amp;pos, const QPoint&amp;globalPos,
+ int button, int state )
+ : QEvent(type), p(pos), g(globalPos), b((ushort)button),s((ushort)state),accpt(TRUE) {};
+
+ const QPoint &amp;pos() const { return p; }
+ const QPoint &amp;globalPos() const { return g; }
+ int x() const { return p.x(); }
+ int y() const { return p.y(); }
+ int globalX() const { return g.x(); }
+ int globalY() const { return g.y(); }
+ ButtonState button() const { return (ButtonState) b; }
+ ButtonState state() const { return (ButtonState) s; }
+ ButtonState stateAfter() const;
+ bool isAccepted() const { return accpt; }
+ void accept() { accpt = TRUE; }
+ void ignore() { accpt = FALSE; }
+protected:
+ QPoint p;
+ QPoint g;
+ ushort b;
+ ushort s;
+ uint accpt:1;
+};
+
+
+#ifndef QT_NO_WHEELEVENT
+class Q_EXPORT QWheelEvent : public QEvent
+{
+public:
+ QWheelEvent( const QPoint &amp;pos, int delta, int state, Orientation orient = Vertical );
+ QWheelEvent( const QPoint &amp;pos, const QPoint&amp; globalPos, int delta, int state, Orientation orient = Vertical )
+ : QEvent(Wheel), p(pos), g(globalPos), d(delta), s((ushort)state),
+ accpt(TRUE), o(orient) {}
+ int delta() const { return d; }
+ const QPoint &amp;pos() const { return p; }
+ const QPoint &amp;globalPos() const { return g; }
+ int x() const { return p.x(); }
+ int y() const { return p.y(); }
+ int globalX() const { return g.x(); }
+ int globalY() const { return g.y(); }
+ ButtonState state() const { return ButtonState(s); }
+ Orientation orientation() const { return o; }
+ bool isAccepted() const { return accpt; }
+ void accept() { accpt = TRUE; }
+ void ignore() { accpt = FALSE; }
+protected:
+ QPoint p;
+ QPoint g;
+ int d;
+ ushort s;
+ bool accpt;
+ Orientation o;
+};
+#endif
+
+class Q_EXPORT QTabletEvent : public QEvent
+{
+public:
+ enum TabletDevice { NoDevice = -1, Puck, Stylus, Eraser };
+ QTabletEvent( Type t, const QPoint &amp;pos, const QPoint &amp;globalPos, int device,
+ int pressure, int xTilt, int yTilt, const QPair&lt;int,int&gt; &amp;uId );
+ QTabletEvent( const QPoint &amp;pos, const QPoint &amp;globalPos, int device,
+ int pressure, int xTilt, int yTilt, const QPair&lt;int,int&gt; &amp;uId )
+ : QEvent( TabletMove ), mPos( pos ), mGPos( globalPos ), mDev( device ),
+ mPress( pressure ), mXT( xTilt ), mYT( yTilt ), mType( uId.first ),
+ mPhy( uId.second ), mbAcc(TRUE)
+ {}
+ int pressure() const { return mPress; }
+ int xTilt() const { return mXT; }
+ int yTilt() const { return mYT; }
+ const QPoint &amp;pos() const { return mPos; }
+ const QPoint &amp;globalPos() const { return mGPos; }
+ int x() const { return mPos.x(); }
+ int y() const { return mPos.y(); }
+ int globalX() const { return mGPos.x(); }
+ int globalY() const { return mGPos.y(); }
+ TabletDevice device() const { return TabletDevice(mDev); }
+ int isAccepted() const { return mbAcc; }
+ void accept() { mbAcc = TRUE; }
+ void ignore() { mbAcc = FALSE; }
+ QPair&lt;int,int&gt; uniqueId() { return QPair&lt;int,int&gt;( mType, mPhy); }
+protected:
+ QPoint mPos;
+ QPoint mGPos;
+ int mDev,
+ mPress,
+ mXT,
+ mYT,
+ mType,
+ mPhy;
+ bool mbAcc;
+
+};
+
+class Q_EXPORT QKeyEvent : public QEvent
+{
+public:
+ QKeyEvent( Type type, int key, int ascii, int state,
+ const QString&amp; text=QString::null, bool autorep=FALSE, ushort count=1 )
+ : QEvent(type), txt(text), k((ushort)key), s((ushort)state),
+ a((uchar)ascii), accpt(TRUE), autor(autorep), c(count)
+ {
+ if ( key &gt;= Key_Back &amp;&amp; key &lt;= Key_MediaLast )
+ accpt = FALSE;
+ }
+ int key() const { return k; }
+ int ascii() const { return a; }
+ ButtonState state() const { return ButtonState(s); }
+ ButtonState stateAfter() const;
+ bool isAccepted() const { return accpt; }
+ QString text() const { return txt; }
+ bool isAutoRepeat() const { return autor; }
+ int count() const { return int(c); }
+ void accept() { accpt = TRUE; }
+ void ignore() { accpt = FALSE; }
+
+protected:
+ QString txt;
+ ushort k, s;
+ uchar a;
+ uint accpt:1;
+ uint autor:1;
+ ushort c;
+};
+
+
+class Q_EXPORT QFocusEvent : public QEvent
+{
+public:
+
+ QFocusEvent( Type type )
+ : QEvent(type) {}
+
+ bool gotFocus() const { return type() == FocusIn; }
+ bool lostFocus() const { return type() == FocusOut; }
+
+ enum Reason { Mouse, Tab, Backtab, ActiveWindow, Popup, Shortcut, Other };
+ static Reason reason();
+ static void setReason( Reason reason );
+ static void resetReason();
+
+private:
+ static Reason m_reason;
+ static Reason prev_reason;
+};
+
+
+class Q_EXPORT QPaintEvent : public QEvent
+{
+public:
+ QPaintEvent( const QRegion&amp; paintRegion, bool erased = TRUE)
+ : QEvent(Paint),
+ rec(paintRegion.boundingRect()),
+ reg(paintRegion),
+ erase(erased){}
+ QPaintEvent( const QRect &amp;paintRect, bool erased = TRUE )
+ : QEvent(Paint),
+ rec(paintRect),
+ reg(paintRect),
+ erase(erased){}
+ QPaintEvent( const QRegion &amp;paintRegion, const QRect &amp;paintRect, bool erased = TRUE )
+ : QEvent(Paint),
+ rec(paintRect),
+ reg(paintRegion),
+ erase(erased){}
+
+ const QRect &amp;rect() const { return rec; }
+ const QRegion &amp;region() const { return reg; }
+ bool erased() const { return erase; }
+protected:
+ friend class QApplication;
+ friend class QBaseApplication;
+ QRect rec;
+ QRegion reg;
+ bool erase;
+};
+
+
+class Q_EXPORT QMoveEvent : public QEvent
+{
+public:
+ QMoveEvent( const QPoint &amp;pos, const QPoint &amp;oldPos )
+ : QEvent(Move), p(pos), oldp(oldPos) {}
+ const QPoint &amp;pos() const { return p; }
+ const QPoint &amp;oldPos()const { return oldp;}
+protected:
+ QPoint p, oldp;
+ friend class QApplication;
+ friend class QBaseApplication;
+};
+
+
+class Q_EXPORT QResizeEvent : public QEvent
+{
+public:
+ QResizeEvent( const QSize &amp;size, const QSize &amp;oldSize )
+ : QEvent(Resize), s(size), olds(oldSize) {}
+ const QSize &amp;size() const { return s; }
+ const QSize &amp;oldSize()const { return olds;}
+protected:
+ QSize s, olds;
+ friend class QApplication;
+ friend class QBaseApplication;
+};
+
+
+class Q_EXPORT QCloseEvent : public QEvent
+{
+public:
+ QCloseEvent()
+ : QEvent(Close), accpt(FALSE) {}
+ bool isAccepted() const { return accpt; }
+ void accept() { accpt = TRUE; }
+ void ignore() { accpt = FALSE; }
+protected:
+ bool accpt;
+};
+
+
+class Q_EXPORT QIconDragEvent : public QEvent
+{
+public:
+ QIconDragEvent()
+ : QEvent(IconDrag), accpt(FALSE) {}
+
+ bool isAccepted() const { return accpt; }
+ void accept() { accpt = TRUE; }
+ void ignore() { accpt = FALSE; }
+protected:
+ bool accpt;
+};
+
+class Q_EXPORT QShowEvent : public QEvent
+{
+public:
+ QShowEvent()
+ : QEvent(Show) {}
+};
+
+
+class Q_EXPORT QHideEvent : public QEvent
+{
+public:
+ QHideEvent()
+ : QEvent(Hide) {}
+};
+
+class Q_EXPORT QContextMenuEvent : public QEvent
+{
+public:
+ enum Reason { Mouse, Keyboard, Other };
+ QContextMenuEvent( Reason reason, const QPoint &amp;pos, const QPoint &amp;globalPos, int state )
+ : QEvent( ContextMenu ), p( pos ), gp( globalPos ), accpt( TRUE ), consum( TRUE ),
+ reas( reason ), s((ushort)state) {}
+ QContextMenuEvent( Reason reason, const QPoint &amp;pos, int state );
+
+ int x() const { return p.x(); }
+ int y() const { return p.y(); }
+ int globalX() const { return gp.x(); }
+ int globalY() const { return gp.y(); }
+
+ const QPoint&amp; pos() const { return p; }
+ const QPoint&amp; globalPos() const { return gp; }
+
+ ButtonState state() const { return (ButtonState) s; }
+ bool isAccepted() const { return accpt; }
+ bool isConsumed() const { return consum; }
+ void consume() { accpt = FALSE; consum = TRUE; }
+ void accept() { accpt = TRUE; consum = TRUE; }
+ void ignore() { accpt = FALSE; consum = FALSE; }
+
+ Reason reason() const { return Reason( reas ); }
+
+protected:
+ QPoint p;
+ QPoint gp;
+ bool accpt;
+ bool consum;
+ uint reas:8;
+ ushort s;
+};
+
+
+class Q_EXPORT QIMEvent : public QEvent
+{
+public:
+ QIMEvent( Type type, const QString &amp;text, int cursorPosition )
+ : QEvent(type), txt(text), cpos(cursorPosition), a(TRUE) {}
+ const QString &amp;text() const { return txt; }
+ int cursorPos() const { return cpos; }
+ bool isAccepted() const { return a; }
+ void accept() { a = TRUE; }
+ void ignore() { a = FALSE; }
+ int selectionLength() const;
+
+private:
+ QString txt;
+ int cpos;
+ bool a;
+};
+
+class Q_EXPORT QIMComposeEvent : public QIMEvent
+{
+public:
+ QIMComposeEvent( Type type, const QString &amp;text, int cursorPosition,
+ int selLength )
+ : QIMEvent( type, text, cursorPosition ), selLen( selLength ) { }
+
+private:
+ int selLen;
+
+ friend class QIMEvent;
+};
+
+inline int QIMEvent::selectionLength() const
+{
+ if ( type() != IMCompose ) return 0;
+ QIMComposeEvent *that = (QIMComposeEvent *) this;
+ return that-&gt;selLen;
+}
+
+
+#ifndef QT_NO_DRAGANDDROP
+
+// This class is rather closed at the moment. If you need to create your
+// own DND event objects, write to qt-bugs@trolltech.com and we'll try to
+// find a way to extend it so it covers your needs.
+
+class Q_EXPORT QDropEvent : public QEvent, public QMimeSource
+{
+public:
+ QDropEvent( const QPoint&amp; pos, Type typ=Drop )
+ : QEvent(typ), p(pos),
+ act(0), accpt(0), accptact(0), resv(0),
+ d(0)
+ {}
+ const QPoint &amp;pos() const { return p; }
+ bool isAccepted() const { return accpt || accptact; }
+ void accept(bool y=TRUE) { accpt = y; }
+ void ignore() { accpt = FALSE; }
+
+ bool isActionAccepted() const { return accptact; }
+ void acceptAction(bool y=TRUE) { accptact = y; }
+ enum Action { Copy, Link, Move, Private, UserAction=100 };
+ void setAction( Action a ) { act = (uint)a; }
+ Action action() const { return Action(act); }
+
+ QWidget* source() const;
+ const char* format( int n = 0 ) const;
+ QByteArray encodedData( const char* ) const;
+ bool provides( const char* ) const;
+
+ QByteArray data(const char* f) const { return encodedData(f); }
+
+ void setPoint( const QPoint&amp; np ) { p = np; }
+
+protected:
+ QPoint p;
+ uint act:8;
+ uint accpt:1;
+ uint accptact:1;
+ uint resv:5;
+ void * d;
+};
+
+
+
+class Q_EXPORT QDragMoveEvent : public QDropEvent
+{
+public:
+ QDragMoveEvent( const QPoint&amp; pos, Type typ=DragMove )
+ : QDropEvent(pos,typ),
+ rect( pos, QSize( 1, 1 ) ) {}
+ QRect answerRect() const { return rect; }
+ void accept( bool y=TRUE ) { QDropEvent::accept(y); }
+ void accept( const QRect &amp; r) { accpt = TRUE; rect = r; }
+ void ignore( const QRect &amp; r) { accpt =FALSE; rect = r; }
+ void ignore() { QDropEvent::ignore(); }
+
+protected:
+ QRect rect;
+};
+
+
+class Q_EXPORT QDragEnterEvent : public QDragMoveEvent
+{
+public:
+ QDragEnterEvent( const QPoint&amp; pos ) :
+ QDragMoveEvent(pos, DragEnter) { }
+};
+
+
+/* An internal class */
+class Q_EXPORT QDragResponseEvent : public QEvent
+{
+public:
+ QDragResponseEvent( bool accepted )
+ : QEvent(DragResponse), a(accepted) {}
+ bool dragAccepted() const { return a; }
+protected:
+ bool a;
+};
+
+
+class Q_EXPORT QDragLeaveEvent : public QEvent
+{
+public:
+ QDragLeaveEvent()
+ : QEvent(DragLeave) {}
+};
+
+#endif // QT_NO_DRAGANDDROP
+
+class Q_EXPORT QChildEvent : public QEvent
+{
+public:
+ QChildEvent( Type type, QObject *child )
+ : QEvent(type), c(child) {}
+ QObject *child() const { return c; }
+ bool inserted() const { return t == ChildInserted; }
+ bool removed() const { return t == ChildRemoved; }
+protected:
+ QObject *c;
+};
+
+
+class Q_EXPORT QCustomEvent : public QEvent
+{
+public:
+ QCustomEvent( int type );
+ QCustomEvent( Type type, void *data )
+ : QEvent(type), d(data) {};
+ void *data() const { return d; }
+ void setData( void* data ) { d = data; }
+private:
+ void *d;
+};
+
+#endif // QEVENT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qevent-members.html b/doc/html/qevent-members.html
new file mode 100644
index 0000000..61672f8
--- /dev/null
+++ b/doc/html/qevent-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qevent.html">QEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qevent.html#QEvent">QEvent</a>()
+<li><a href="qevent.html#~QEvent">~QEvent</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qevent.html b/doc/html/qevent.html
new file mode 100644
index 0000000..ef703d9
--- /dev/null
+++ b/doc/html/qevent.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:43 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEvent Class Reference</h1>
+
+<p>The QEvent class is the base class of all
+event classes. Event objects contain event parameters.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qtimerevent.html">QTimerEvent</a>, <a href="qmouseevent.html">QMouseEvent</a>, <a href="qwheelevent.html">QWheelEvent</a>, <a href="qtabletevent.html">QTabletEvent</a>, <a href="qkeyevent.html">QKeyEvent</a>, <a href="qfocusevent.html">QFocusEvent</a>, <a href="qpaintevent.html">QPaintEvent</a>, <a href="qmoveevent.html">QMoveEvent</a>, <a href="qresizeevent.html">QResizeEvent</a>, <a href="qcloseevent.html">QCloseEvent</a>, <a href="qicondragevent.html">QIconDragEvent</a>, <a href="qshowevent.html">QShowEvent</a>, <a href="qhideevent.html">QHideEvent</a>, <a href="qcontextmenuevent.html">QContextMenuEvent</a>, <a href="qimevent.html">QIMEvent</a>, <a href="qdropevent.html">QDropEvent</a>, <a href="qdragleaveevent.html">QDragLeaveEvent</a>, <a href="qchildevent.html">QChildEvent</a>, and <a href="qcustomevent.html">QCustomEvent</a>.
+<p><a href="qevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { None = 0, Timer = 1, MouseButtonPress = 2, MouseButtonRelease = 3, MouseButtonDblClick = 4, MouseMove = 5, KeyPress = 6, KeyRelease = 7, FocusIn = 8, FocusOut = 9, Enter = 10, Leave = 11, Paint = 12, Move = 13, Resize = 14, Create = 15, Destroy = 16, Show = 17, Hide = 18, Close = 19, Quit = 20, Reparent = 21, ShowMinimized = 22, ShowNormal = 23, WindowActivate = 24, WindowDeactivate = 25, ShowToParent = 26, HideToParent = 27, ShowMaximized = 28, ShowFullScreen = 29, Accel = 30, Wheel = 31, AccelAvailable = 32, CaptionChange = 33, IconChange = 34, ParentFontChange = 35, ApplicationFontChange = 36, ParentPaletteChange = 37, ApplicationPaletteChange = 38, PaletteChange = 39, Clipboard = 40, Speech = 42, SockAct = 50, AccelOverride = 51, DeferredDelete = 52, DragEnter = 60, DragMove = 61, DragLeave = 62, Drop = 63, DragResponse = 64, ChildInserted = 70, ChildRemoved = 71, LayoutHint = 72, ShowWindowRequest = 73, WindowBlocked = 74, WindowUnblocked = 75, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, TabletMove = 87, LocaleChange = 88, LanguageChange = 89, LayoutDirectionChange = 90, Style = 91, TabletPress = 92, TabletRelease = 93, OkRequest = 94, HelpRequest = 95, WindowStateChange = 96, IconDrag = 97, User = 1000, MaxUser = 65535 }</li>
+<li class=fn><a href="#QEvent"><b>QEvent</b></a> ( Type&nbsp;type )</li>
+<li class=fn>virtual <a href="#~QEvent"><b>~QEvent</b></a> ()</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>bool <a href="#spontaneous"><b>spontaneous</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QEvent class is the base class of all
+event classes. Event objects contain event parameters.
+<p>
+
+<p> Qt's main event loop (<a href="qapplication.html#exec">QApplication::exec</a>()) fetches native window
+system events from the event queue, translates them into QEvents
+and sends the translated events to QObjects.
+<p> In general, events come from the underlying window system
+(<a href="#spontaneous">spontaneous</a>() returns TRUE) but it is also possible to manually
+send events using <a href="qapplication.html#sendEvent">QApplication::sendEvent</a>() and
+<a href="qapplication.html#postEvent">QApplication::postEvent</a>() (spontaneous() returns FALSE).
+<p> QObjects receive events by having their <a href="qobject.html#event">QObject::event</a>() function
+called. The function can be reimplemented in subclasses to
+customize event handling and add additional event types;
+<a href="qwidget.html#event">QWidget::event</a>() is a notable example. By default, events are
+dispatched to event handlers like <a href="qobject.html#timerEvent">QObject::timerEvent</a>() and
+<a href="qwidget.html#mouseMoveEvent">QWidget::mouseMoveEvent</a>(). <a href="qobject.html#installEventFilter">QObject::installEventFilter</a>() allows an
+object to intercept events destined for another object.
+<p> The basic QEvent contains only an event type parameter.
+Subclasses of QEvent contain additional parameters that describe
+the particular event.
+<p> <p>See also <a href="qobject.html#event">QObject::event</a>(), <a href="qobject.html#installEventFilter">QObject::installEventFilter</a>(), <a href="qwidget.html#event">QWidget::event</a>(), <a href="qapplication.html#sendEvent">QApplication::sendEvent</a>(), <a href="qapplication.html#postEvent">QApplication::postEvent</a>(), <a href="qapplication.html#processEvents">QApplication::processEvents</a>(), <a href="environment.html">Environment Classes</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Type-enum"></a>QEvent::Type</h3>
+
+<p> This enum type defines the valid event types in Qt. The event
+types and the specialized classes for each type are these:
+<ul>
+<li><tt>QEvent::None</tt> - Not an event.
+<li><tt>QEvent::Accessibility</tt> - Accessibility information is requested
+<li><tt>QEvent::Timer</tt> - Regular timer events, <a href="qtimerevent.html">QTimerEvent</a>.
+<li><tt>QEvent::MouseButtonPress</tt> - Mouse press, <a href="qmouseevent.html">QMouseEvent</a>.
+<li><tt>QEvent::MouseButtonRelease</tt> - Mouse release, <a href="qmouseevent.html">QMouseEvent</a>.
+<li><tt>QEvent::MouseButtonDblClick</tt> - Mouse press again, <a href="qmouseevent.html">QMouseEvent</a>.
+<li><tt>QEvent::MouseMove</tt> - Mouse move, <a href="qmouseevent.html">QMouseEvent</a>.
+<li><tt>QEvent::KeyPress</tt> - Key press (including Shift, for example), <a href="qkeyevent.html">QKeyEvent</a>.
+<li><tt>QEvent::KeyRelease</tt> - Key release, <a href="qkeyevent.html">QKeyEvent</a>.
+<li><tt>QEvent::IMStart</tt> - The start of input method composition, <a href="qimevent.html">QIMEvent</a>.
+<li><tt>QEvent::IMCompose</tt> - Input method composition is taking place, <a href="qimevent.html">QIMEvent</a>.
+<li><tt>QEvent::IMEnd</tt> - The end of input method composition, <a href="qimevent.html">QIMEvent</a>.
+<li><tt>QEvent::FocusIn</tt> - Widget gains <a href="focus.html#keyboard-focus">keyboard focus</a>, <a href="qfocusevent.html">QFocusEvent</a>.
+<li><tt>QEvent::FocusOut</tt> - Widget loses keyboard focus, <a href="qfocusevent.html">QFocusEvent</a>.
+<li><tt>QEvent::Enter</tt> - Mouse enters widget's boundaries.
+<li><tt>QEvent::Leave</tt> - Mouse leaves widget's boundaries.
+<li><tt>QEvent::Paint</tt> - Screen update necessary, <a href="qpaintevent.html">QPaintEvent</a>.
+<li><tt>QEvent::Move</tt> - Widget's position changed, <a href="qmoveevent.html">QMoveEvent</a>.
+<li><tt>QEvent::Resize</tt> - Widget's size changed, <a href="qresizeevent.html">QResizeEvent</a>.
+<li><tt>QEvent::Show</tt> - Widget was shown on screen, <a href="qshowevent.html">QShowEvent</a>.
+<li><tt>QEvent::Hide</tt> - Widget was hidden, <a href="qhideevent.html">QHideEvent</a>.
+<li><tt>QEvent::ShowToParent</tt> - A child widget has been shown.
+<li><tt>QEvent::HideToParent</tt> - A child widget has been hidden.
+<li><tt>QEvent::Close</tt> - Widget was closed (permanently), <a href="qcloseevent.html">QCloseEvent</a>.
+<li><tt>QEvent::ShowNormal</tt> - Widget should be shown normally (obsolete).
+<li><tt>QEvent::ShowMaximized</tt> - Widget should be shown maximized (obsolete).
+<li><tt>QEvent::ShowMinimized</tt> - Widget should be shown minimized (obsolete).
+<li><tt>QEvent::ShowFullScreen</tt> - Widget should be shown full-screen (obsolete).
+<li><tt>QEvent::ShowWindowRequest</tt> - Widget's window should be shown (obsolete).
+<li><tt>QEvent::DeferredDelete</tt> - The object will be deleted after it has
+cleaned up.
+<li><tt>QEvent::Accel</tt> - Key press in child for shortcut key handling, <a href="qkeyevent.html">QKeyEvent</a>.
+<li><tt>QEvent::Wheel</tt> - Mouse wheel rolled, <a href="qwheelevent.html">QWheelEvent</a>.
+<li><tt>QEvent::ContextMenu</tt> - Context popup menu, <a href="qcontextmenuevent.html">QContextMenuEvent</a>
+<li><tt>QEvent::AccelOverride</tt> - Key press in child, for overriding shortcut key handling, <a href="qkeyevent.html">QKeyEvent</a>.
+<li><tt>QEvent::AccelAvailable</tt> - internal.
+<li><tt>QEvent::WindowActivate</tt> - Window was activated.
+<li><tt>QEvent::WindowDeactivate</tt> - Window was deactivated.
+<li><tt>QEvent::CaptionChange</tt> - Widget's caption changed.
+<li><tt>QEvent::IconChange</tt> - Widget's icon changed.
+<li><tt>QEvent::ParentFontChange</tt> - Font of the parent widget changed.
+<li><tt>QEvent::ApplicationFontChange</tt> - Default application font changed.
+<li><tt>QEvent::PaletteChange</tt> - Palette of the widget changed.
+<li><tt>QEvent::ParentPaletteChange</tt> - Palette of the parent widget changed.
+<li><tt>QEvent::ApplicationPaletteChange</tt> - Default application palette changed.
+<li><tt>QEvent::Clipboard</tt> - Clipboard contents have changed.
+<li><tt>QEvent::SockAct</tt> - Socket activated, used to implement <a href="qsocketnotifier.html">QSocketNotifier</a>.
+<li><tt>QEvent::DragEnter</tt> - A drag-and-drop enters widget, <a href="qdragenterevent.html">QDragEnterEvent</a>.
+<li><tt>QEvent::DragMove</tt> - A drag-and-drop is in progress, <a href="qdragmoveevent.html">QDragMoveEvent</a>.
+<li><tt>QEvent::DragLeave</tt> - A drag-and-drop leaves widget, <a href="qdragleaveevent.html">QDragLeaveEvent</a>.
+<li><tt>QEvent::Drop</tt> - A drag-and-drop is completed, <a href="qdropevent.html">QDropEvent</a>.
+<li><tt>QEvent::DragResponse</tt> - Internal event used by Qt on some platforms.
+<li><tt>QEvent::ChildInserted</tt> - Object gets a child, <a href="qchildevent.html">QChildEvent</a>.
+<li><tt>QEvent::ChildRemoved</tt> - Object loses a child, <a href="qchildevent.html">QChildEvent</a>.
+<li><tt>QEvent::LayoutHint</tt> - Widget child has changed layout properties.
+<li><tt>QEvent::ActivateControl</tt> - Internal event used by Qt on some platforms.
+<li><tt>QEvent::DeactivateControl</tt> - Internal event used by Qt on some platforms.
+<li><tt>QEvent::LanguageChange</tt> - The application translation changed, <a href="qtranslator.html">QTranslator</a>
+<li><tt>QEvent::LayoutDirectionChange</tt> - The direction of layouts changed
+<li><tt>QEvent::LocaleChange</tt> - The system locale changed
+<li><tt>QEvent::Quit</tt> - Reserved.
+<li><tt>QEvent::Create</tt> - Reserved.
+<li><tt>QEvent::Destroy</tt> - Reserved.
+<li><tt>QEvent::Reparent</tt> - Reserved.
+<li><tt>QEvent::Speech</tt> - Reserved for speech input.
+<li><tt>QEvent::TabletMove</tt> - A Wacom Tablet Move Event.
+<li><tt>QEvent::Style</tt> - Internal use only
+<li><tt>QEvent::TabletPress</tt> - A Wacom Tablet Press Event
+<li><tt>QEvent::TabletRelease</tt> - A Wacom Tablet Release Event
+<li><tt>QEvent::OkRequest</tt> - Internal event used by Qt on some platforms.
+<li><tt>QEvent::HelpRequest</tt> - Internal event used by Qt on some platforms.
+<li><tt>QEvent::IconDrag</tt> - Internal event used by Qt on some platforms when proxy icon is dragged.
+<li><tt>QEvent::WindowStateChange</tt> - The window's state, i.e. minimized,
+maximized or full-screen, has changed. See <a href="qwidget.html#windowState">QWidget::windowState</a>().
+<li><tt>QEvent::WindowBlocked</tt> - The window is modally blocked
+<li><tt>QEvent::WindowUnblocked</tt> - The window leaves modal blocking
+<li><tt>QEvent::User</tt> - User defined event.
+<li><tt>QEvent::MaxUser</tt> - Last user event id.
+</ul><p> User events should have values between User and MaxUser inclusive.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QEvent"></a>QEvent::QEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type )
+</h3>
+
+<p> Contructs an event object of type <em>type</em>.
+
+<h3 class=fn><a name="~QEvent"></a>QEvent::~QEvent ()<tt> [virtual]</tt>
+</h3>
+Destroys the event. If it was <a href="qapplication.html#postEvent">posted</a>,
+it will be removed from the list of events to be posted.
+
+<h3 class=fn>bool <a name="spontaneous"></a>QEvent::spontaneous () const
+</h3>
+
+<p> Returns TRUE if the event originated outside the application, i.e.
+it is a system event; otherwise returns FALSE.
+
+<h3 class=fn><a href="qevent.html#Type-enum">Type</a> <a name="type"></a>QEvent::type () const
+</h3>
+
+<p> Returns the event type.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeventloop-h.html b/doc/html/qeventloop-h.html
new file mode 100644
index 0000000..c1c5ff4
--- /dev/null
+++ b/doc/html/qeventloop-h.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeventloop.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qeventloop.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qeventloop.h</h1>
+
+<p>This is the verbatim text of the qeventloop.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qeventloop.h 3.3.8 edited Jan 11 14:38 $
+**
+** Declaration of QEventLoop class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QEVENTLOOP_H
+#define QEVENTLOOP_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qsocketnotifier.h"
+#endif // QT_H
+
+class QEventLoopPrivate;
+class QSocketNotifier;
+class QTimer;
+#ifdef Q_WS_MAC
+struct timeval; //stdc struct
+struct TimerInfo; //internal structure (qeventloop_mac.cpp)
+#endif
+
+#if defined(QT_THREAD_SUPPORT)
+class QMutex;
+#endif // QT_THREAD_SUPPORT
+
+
+class Q_EXPORT QEventLoop : public QObject
+{
+ Q_OBJECT
+
+public:
+ QEventLoop( QObject *parent = 0, const char *name = 0 );
+ ~QEventLoop();
+
+ enum ProcessEvents {
+ AllEvents = 0x00,
+ ExcludeUserInput = 0x01,
+ ExcludeSocketNotifiers = 0x02,
+ WaitForMore = 0x04
+ };
+ typedef uint ProcessEventsFlags;
+
+ void processEvents( ProcessEventsFlags flags, int maxtime );
+ virtual bool processEvents( ProcessEventsFlags flags );
+
+ virtual bool hasPendingEvents() const;
+
+ virtual void registerSocketNotifier( QSocketNotifier * );
+ virtual void unregisterSocketNotifier( QSocketNotifier * );
+ void setSocketNotifierPending( QSocketNotifier * );
+ int activateSocketNotifiers();
+
+ int activateTimers();
+ int timeToWait() const;
+
+ virtual int exec();
+ virtual void exit( int retcode = 0 );
+
+ virtual int enterLoop();
+ virtual void exitLoop();
+ virtual int loopLevel() const;
+
+ virtual void wakeUp();
+
+signals:
+ void awake();
+ void aboutToBlock();
+
+private:
+#if defined(Q_WS_MAC)
+ friend QMAC_PASCAL void qt_mac_select_timer_callbk(EventLoopTimerRef, void *);
+ int macHandleSelect(timeval *);
+ void macHandleTimer(TimerInfo *);
+#endif // Q_WS_MAC
+
+ // internal initialization/cleanup - implemented in various platform specific files
+ void init();
+ void cleanup();
+ virtual void appStartingUp();
+ virtual void appClosingDown();
+
+ // data for the default implementation - other implementations should not
+ // use/need this data
+ QEventLoopPrivate *d;
+
+ friend class QApplication;
+};
+
+#endif // QEVENTLOOP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeventloop-members.html b/doc/html/qeventloop-members.html
new file mode 100644
index 0000000..4670ff7
--- /dev/null
+++ b/doc/html/qeventloop-members.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qeventloop.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEventLoop Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QEventLoop</h1>
+
+<p>This is the complete list of member functions for
+<a href="qeventloop.html">QEventLoop</a>, including inherited members.
+
+<ul>
+<li><a href="qeventloop.html#QEventLoop">QEventLoop</a>()
+<li><a href="qeventloop.html#~QEventLoop">~QEventLoop</a>()
+<li><a href="qeventloop.html#aboutToBlock">aboutToBlock</a>()
+<li><a href="qeventloop.html#activateSocketNotifiers">activateSocketNotifiers</a>()
+<li><a href="qeventloop.html#activateTimers">activateTimers</a>()
+<li><a href="qeventloop.html#awake">awake</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qeventloop.html#enterLoop">enterLoop</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qeventloop.html#exec">exec</a>()
+<li><a href="qeventloop.html#exit">exit</a>()
+<li><a href="qeventloop.html#exitLoop">exitLoop</a>()
+<li><a href="qeventloop.html#hasPendingEvents">hasPendingEvents</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qeventloop.html#loopLevel">loopLevel</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qeventloop.html#processEvents">processEvents</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qeventloop.html#registerSocketNotifier">registerSocketNotifier</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qeventloop.html#setSocketNotifierPending">setSocketNotifierPending</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qeventloop.html#timeToWait">timeToWait</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qeventloop.html#unregisterSocketNotifier">unregisterSocketNotifier</a>()
+<li><a href="qeventloop.html#wakeUp">wakeUp</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qeventloop.html b/doc/html/qeventloop.html
new file mode 100644
index 0000000..596c05a
--- /dev/null
+++ b/doc/html/qeventloop.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qeventloop.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QEventLoop Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QEventLoop Class Reference</h1>
+
+<p>The QEventLoop class manages the event queue.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qeventloop-h.html">qeventloop.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qmotif.html">QMotif</a>.
+<p><a href="qeventloop-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QEventLoop"><b>QEventLoop</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QEventLoop"><b>~QEventLoop</b></a> ()</li>
+<li class=fn>enum <a href="#ProcessEvents-enum"><b>ProcessEvents</b></a> { AllEvents = 0x00, ExcludeUserInput = 0x01, ExcludeSocketNotifiers = 0x02, WaitForMore = 0x04 }</li>
+<li class=fn>typedef uint&nbsp;<a href="#ProcessEventsFlags"><b>ProcessEventsFlags</b></a></li>
+<li class=fn>void <a href="#processEvents"><b>processEvents</b></a> ( ProcessEventsFlags&nbsp;flags, int&nbsp;maxTime )</li>
+<li class=fn>virtual bool <a href="#processEvents-2"><b>processEvents</b></a> ( ProcessEventsFlags&nbsp;flags )</li>
+<li class=fn>virtual bool <a href="#hasPendingEvents"><b>hasPendingEvents</b></a> () const</li>
+<li class=fn>virtual void <a href="#registerSocketNotifier"><b>registerSocketNotifier</b></a> ( QSocketNotifier&nbsp;*&nbsp;notifier )</li>
+<li class=fn>virtual void <a href="#unregisterSocketNotifier"><b>unregisterSocketNotifier</b></a> ( QSocketNotifier&nbsp;*&nbsp;notifier )</li>
+<li class=fn>void <a href="#setSocketNotifierPending"><b>setSocketNotifierPending</b></a> ( QSocketNotifier&nbsp;*&nbsp;notifier )</li>
+<li class=fn>int <a href="#activateSocketNotifiers"><b>activateSocketNotifiers</b></a> ()</li>
+<li class=fn>int <a href="#activateTimers"><b>activateTimers</b></a> ()</li>
+<li class=fn>int <a href="#timeToWait"><b>timeToWait</b></a> () const</li>
+<li class=fn>virtual int <a href="#exec"><b>exec</b></a> ()</li>
+<li class=fn>virtual void <a href="#exit"><b>exit</b></a> ( int&nbsp;retcode = 0 )</li>
+<li class=fn>virtual int <a href="#enterLoop"><b>enterLoop</b></a> ()</li>
+<li class=fn>virtual void <a href="#exitLoop"><b>exitLoop</b></a> ()</li>
+<li class=fn>virtual int <a href="#loopLevel"><b>loopLevel</b></a> () const</li>
+<li class=fn>virtual void <a href="#wakeUp"><b>wakeUp</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#awake"><b>awake</b></a> ()</li>
+<li class=fn>void <a href="#aboutToBlock"><b>aboutToBlock</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QEventLoop class manages the event queue.
+<p>
+
+<p> It receives events from the window system and other sources. It
+then sends them to <a href="qapplication.html">QApplication</a> for processing and delivery.
+<p> QEventLoop allows the application programmer to have more control
+over event delivery. Programs that perform long operations can
+call either processOneEvent() or <a href="#processEvents">processEvents</a>() with various
+ProcessEvent values OR'ed together to control which events should
+be delivered.
+<p> QEventLoop also allows the integration of an external event loop
+with the Qt event loop. The <a href="motif-extension.html#Motif">Motif</a> Extension included with Qt
+includes a reimplementation of QEventLoop for merging Qt and Motif
+events together.
+<p> To use your own instance of QEventLoop or QEventLoop subclass create
+it before you create the QApplication object.
+<p>See also <a href="application.html">Main Window and Related Classes</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ProcessEvents-enum"></a>QEventLoop::ProcessEvents</h3>
+<p> This enum controls the types of events processed by the
+<a href="#processEvents">processEvents</a>() functions.
+<ul>
+<li><tt>QEventLoop::AllEvents</tt> - All events are processed
+<li><tt>QEventLoop::ExcludeUserInput</tt> - Do not process user input events.
+( ButtonPress, KeyPress, etc. )
+<li><tt>QEventLoop::ExcludeSocketNotifiers</tt> - Do not process socket notifier
+events.
+<li><tt>QEventLoop::WaitForMore</tt> - Wait for events if no pending events
+are available.
+</ul><p> <p>See also <a href="#processEvents">processEvents</a>().
+
+<h3 class=fn><a name="ProcessEventsFlags"></a>QEventLoop::ProcessEventsFlags</h3>
+A <tt>typedef</tt> to allow various ProcessEvents values to be OR'ed together.
+<p> <p>See also <a href="#ProcessEvents-enum">ProcessEvents</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QEventLoop"></a>QEventLoop::QEventLoop ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a QEventLoop object, this object becomes the global event loop object.
+There can only be one event loop object. The QEventLoop is usually constructed
+by calling <a href="qapplication.html#eventLoop">QApplication::eventLoop</a>(). To create your own event loop object create
+it before you instantiate the <a href="qapplication.html">QApplication</a> object.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="~QEventLoop"></a>QEventLoop::~QEventLoop ()
+</h3>
+Destructs the QEventLoop object.
+
+<h3 class=fn>void <a name="aboutToBlock"></a>QEventLoop::aboutToBlock ()<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted before the event loop calls a function that
+could block.
+<p> <p>See also <a href="#awake">awake</a>().
+
+<h3 class=fn>int <a name="activateSocketNotifiers"></a>QEventLoop::activateSocketNotifiers ()
+</h3>
+<p> Activates all pending socket notifiers and returns the number of
+socket notifiers that were activated.
+
+<h3 class=fn>int <a name="activateTimers"></a>QEventLoop::activateTimers ()
+</h3>
+<p> Activates all Qt timers and returns the number of timers that were
+activated.
+<p> QEventLoop subclasses that do their own timer handling need to
+call this after the time returned by <a href="#timeToWait">timeToWait</a>() has elapsed.
+<p> Note: This function is only useful on systems where <tt>select()</tt> is
+used to block the eventloop. On Windows, this function always
+returns 0. On MacOS X, this function always returns 0 when the
+GUI is enabled. On MacOS X, this function returns the documented
+value when the GUI is disabled.
+
+<h3 class=fn>void <a name="awake"></a>QEventLoop::awake ()<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted after the event loop returns from a
+function that could block.
+<p> <p>See also <a href="#wakeUp">wakeUp</a>() and <a href="#aboutToBlock">aboutToBlock</a>().
+
+<h3 class=fn>int <a name="enterLoop"></a>QEventLoop::enterLoop ()<tt> [virtual]</tt>
+</h3>
+<p> This function enters the main event loop (recursively). Do not call
+it unless you really know what you are doing.
+
+<h3 class=fn>int <a name="exec"></a>QEventLoop::exec ()<tt> [virtual]</tt>
+</h3>
+Enters the main event loop and waits until <a href="#exit">exit</a>() is called, and
+returns the value that was set to exit().
+<p> It is necessary to call this function to start event handling. The
+main event loop receives events from the window system and
+dispatches these to the application widgets.
+<p> Generally speaking, no user interaction can take place before
+calling <a href="#exec">exec</a>(). As a special case, modal widgets like <a href="qmessagebox.html">QMessageBox</a>
+can be used before calling exec(), because modal widgets call
+exec() to start a local event loop.
+<p> To make your application perform idle processing, i.e. executing a
+special function whenever there are no pending events, use a
+<a href="qtimer.html">QTimer</a> with 0 timeout. More advanced idle processing schemes can
+be achieved using <a href="#processEvents">processEvents</a>().
+<p> <p>See also <a href="qapplication.html#quit">QApplication::quit</a>(), <a href="#exit">exit</a>(), and <a href="#processEvents">processEvents</a>().
+
+<h3 class=fn>void <a name="exit"></a>QEventLoop::exit ( int&nbsp;retcode = 0 )<tt> [virtual]</tt>
+</h3>
+<p> Tells the event loop to exit with a return code.
+<p> After this function has been called, the event loop returns from
+the call to <a href="#exec">exec</a>(). The exec() function returns <em>retcode</em>.
+<p> By convention, a <em>retcode</em> of 0 means success, and any non-zero
+value indicates an error.
+<p> Note that unlike the C library function of the same name, this
+function <em>does</em> return to the caller -- it is event processing that
+stops.
+<p> <p>See also <a href="qapplication.html#quit">QApplication::quit</a>() and <a href="#exec">exec</a>().
+
+<h3 class=fn>void <a name="exitLoop"></a>QEventLoop::exitLoop ()<tt> [virtual]</tt>
+</h3>
+<p> This function exits from a recursive call to the main event loop.
+Do not call it unless you really know what you are doing.
+
+<h3 class=fn>bool <a name="hasPendingEvents"></a>QEventLoop::hasPendingEvents () const<tt> [virtual]</tt>
+</h3>
+<p> Returns TRUE if there is an event waiting, otherwise it returns FALSE.
+
+<h3 class=fn>int <a name="loopLevel"></a>QEventLoop::loopLevel () const<tt> [virtual]</tt>
+</h3>
+<p> Returns the current loop level.
+
+<h3 class=fn>void <a name="processEvents"></a>QEventLoop::processEvents ( <a href="qeventloop.html#ProcessEventsFlags">ProcessEventsFlags</a>&nbsp;flags, int&nbsp;maxTime )
+</h3>
+Process pending events that match <em>flags</em> for a maximum of <em>maxTime</em> milliseconds, or until there are no more events to
+process, which ever is shorter.
+<p> This function is especially useful if you have a long running
+operation and want to show its progress without allowing user
+input, i.e. by using the <a href="#ProcessEvents-enum">ExcludeUserInput</a> flag.
+<p> NOTE: This function will not process events continuously; it
+returns after all available events are processed.
+<p> NOTE: Specifying the <a href="#ProcessEvents-enum">WaitForMore</a> flag makes no sense and will
+be ignored.
+
+<h3 class=fn>bool <a name="processEvents-2"></a>QEventLoop::processEvents ( <a href="qeventloop.html#ProcessEventsFlags">ProcessEventsFlags</a>&nbsp;flags )<tt> [virtual]</tt>
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Processes pending events that match <em>flags</em> until there are no
+more events to process.
+<p> This function is especially useful if you have a long running
+operation and want to show its progress without allowing user
+input, i.e. by using the <a href="#ProcessEvents-enum">ExcludeUserInput</a> flag.
+<p> If the <a href="#ProcessEvents-enum">WaitForMore</a> flag is set in <em>flags</em>, the behavior of
+this function is as follows:
+<p> <ul>
+<p> <li> If events are available, this function returns after processing
+them.
+<p> <li> If no events are available, this function will wait until more
+are available and return after processing newly available events.
+<p> </ul>
+<p> If the <a href="#ProcessEvents-enum">WaitForMore</a> flag is <em>not</em> set in <em>flags</em>, and no
+events are available, this function will return immediately.
+<p> NOTE: This function will not process events continuously; it
+returns after all available events are processed.
+<p> This function returns TRUE if an event was processed; otherwise it
+returns FALSE.
+<p> <p>See also <a href="#ProcessEvents-enum">ProcessEvents</a> and <a href="#hasPendingEvents">hasPendingEvents</a>().
+
+<h3 class=fn>void <a name="registerSocketNotifier"></a>QEventLoop::registerSocketNotifier ( <a href="qsocketnotifier.html">QSocketNotifier</a>&nbsp;*&nbsp;notifier )<tt> [virtual]</tt>
+</h3>
+<p> Registers <em>notifier</em> with the event loop. Subclasses need to
+reimplement this method to tie a socket notifier into another
+event loop. Reimplementations <em>MUST</em> call the base
+implementation.
+
+<h3 class=fn>void <a name="setSocketNotifierPending"></a>QEventLoop::setSocketNotifierPending ( <a href="qsocketnotifier.html">QSocketNotifier</a>&nbsp;*&nbsp;notifier )
+</h3>
+<p> Marks <em>notifier</em> as pending. The socket notifier will be
+activated the next time <a href="#activateSocketNotifiers">activateSocketNotifiers</a>() is called.
+
+<h3 class=fn>int <a name="timeToWait"></a>QEventLoop::timeToWait () const
+</h3>
+<p> Returns the number of milliseconds that Qt needs to handle its
+timers or -1 if there are no timers running.
+<p> QEventLoop subclasses that do their own timer handling need to use
+this to make sure that Qt's timers continue to work.
+<p> Note: This function is only useful on systems where <tt>select()</tt> is
+used to block the eventloop. On Windows, this function always
+returns -1. On MacOS X, this function always returns -1 when the
+GUI is enabled. On MacOS X, this function returns the documented
+value when the GUI is disabled.
+
+<h3 class=fn>void <a name="unregisterSocketNotifier"></a>QEventLoop::unregisterSocketNotifier ( <a href="qsocketnotifier.html">QSocketNotifier</a>&nbsp;*&nbsp;notifier )<tt> [virtual]</tt>
+</h3>
+<p> Unregisters <em>notifier</em> from the event loop. Subclasses need to
+reimplement this method to tie a socket notifier into another
+event loop. Reimplementations <em>MUST</em> call the base
+implementation.
+
+<h3 class=fn>void <a name="wakeUp"></a>QEventLoop::wakeUp ()<tt> [virtual]</tt>
+</h3><p><b>Note:</b> This function is <a href="threads.html#threadsafe">thread-safe</a> when Qt is built withthread support.</p>
+
+
+<p> Wakes up the event loop.
+<p> <p>See also <a href="#awake">awake</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfd-example.html b/doc/html/qfd-example.html
new file mode 100644
index 0000000..3526be4
--- /dev/null
+++ b/doc/html/qfd-example.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/qfd/qfd.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Font Displayer</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Font Displayer</h1>
+
+
+<p>
+This example program displays all characters of a font.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/fontdisplayer.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef FontDisplayer_H
+#define FontDisplayer_H
+
+#include &lt;<a href="qframe-h.html">qframe.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class QSlider;
+
+class FontRowTable : public <a href="qframe.html">QFrame</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ FontRowTable( <a href="qwidget.html">QWidget</a>* parent=0, const char* name=0 );
+
+ <a href="qsize.html">QSize</a> sizeHint() const;
+
+signals:
+ void fontInformation(const <a href="qstring.html">QString</a>&amp;);
+
+public slots:
+ void setRow(int);
+ void chooseFont();
+
+
+protected:
+ <a href="qsize.html">QSize</a> cellSize() const;
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a>* );
+private:
+ <a href="qfont.html">QFont</a> tablefont;
+ int row;
+};
+
+class FontDisplayer : public <a href="qmainwindow.html">QMainWindow</a> {
+ Q_OBJECT
+public:
+ FontDisplayer( <a href="qwidget.html">QWidget</a>* parent=0, const char* name=0 );
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/fontdisplayer.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "fontdisplayer.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+
+<a name="f531"></a>FontRowTable::FontRowTable( <a href="qwidget.html">QWidget</a>* parent, const char* name ) :
+ <a href="qframe.html">QFrame</a>(parent,name)
+{
+ <a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>(PaletteBase);
+ <a href="qframe.html#setFrameStyle">setFrameStyle</a>(Panel|Sunken);
+ <a href="qframe.html#setMargin">setMargin</a>(8);
+ setRow(0);
+<a name="x1979"></a> tablefont = QApplication::<a href="qapplication.html#font">font</a>();
+}
+
+<a name="x1996"></a>QSize FontRowTable::<a href="qwidget.html#sizeHint">sizeHint</a>() const
+{
+ return 24*cellSize()+QSize(2,2)*(<a href="qframe.html#margin">margin</a>()+frameWidth());
+}
+
+QSize <a name="f532"></a>FontRowTable::cellSize() const
+{
+ <a href="qfontmetrics.html">QFontMetrics</a> fm = <a href="qwidget.html#fontMetrics">fontMetrics</a>();
+<a name="x1990"></a><a name="x1989"></a> return QSize( fm.<a href="qfontmetrics.html#maxWidth">maxWidth</a>(), fm.<a href="qfontmetrics.html#lineSpacing">lineSpacing</a>()+1 );
+}
+
+<a name="x1995"></a>void FontRowTable::<a href="qframe.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a>* e )
+{
+ QFrame::<a href="qframe.html#paintEvent">paintEvent</a>(e);
+ <a href="qpainter.html">QPainter</a> p(this);
+<a name="x2002"></a><a name="x1999"></a> p.<a href="qpainter.html#setClipRegion">setClipRegion</a>(e-&gt;<a href="qpaintevent.html#region">region</a>());
+<a name="x2001"></a> <a href="qrect.html">QRect</a> r = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qfontmetrics.html">QFontMetrics</a> fm = <a href="qwidget.html#fontMetrics">fontMetrics</a>();
+<a name="x1991"></a> int ml = <a href="qframe.html#frameWidth">frameWidth</a>()+margin() + 1 + QMAX(0,-fm.<a href="qfontmetrics.html#minLeftBearing">minLeftBearing</a>());
+ int mt = <a href="qframe.html#frameWidth">frameWidth</a>()+margin();
+ <a href="qsize.html">QSize</a> cell((<a href="qwidget.html#width">width</a>()-15-ml)/16,(<a href="qwidget.html#height">height</a>()-15-mt)/16);
+
+<a name="x2008"></a><a name="x2007"></a> if ( !cell.<a href="qsize.html#width">width</a>() || !cell.<a href="qsize.html#height">height</a>() )
+ return;
+
+ int mini = r.<a href="qrect.html#left">left</a>() / cell.<a href="qsize.html#width">width</a>();
+ int maxi = (r.<a href="qrect.html#right">right</a>()+cell.<a href="qsize.html#width">width</a>()-1) / cell.<a href="qsize.html#width">width</a>();
+ int minj = r.<a href="qrect.html#top">top</a>() / cell.<a href="qsize.html#height">height</a>();
+<a name="x2003"></a> int maxj = (r.<a href="qrect.html#bottom">bottom</a>()+cell.<a href="qsize.html#height">height</a>()-1) / cell.<a href="qsize.html#height">height</a>();
+
+<a name="x1986"></a> int h = fm.<a href="qfontmetrics.html#height">height</a>();
+
+ <a href="qcolor.html">QColor</a> body(255,255,192);
+ <a href="qcolor.html">QColor</a> negative(255,192,192);
+ <a href="qcolor.html">QColor</a> positive(192,192,255);
+ <a href="qcolor.html">QColor</a> rnegative(255,128,128);
+ <a href="qcolor.html">QColor</a> rpositive(128,128,255);
+
+ for (int j = minj; j&lt;=maxj; j++) {
+ for (int i = mini; i&lt;=maxi; i++) {
+ if ( i &lt; 16 &amp;&amp; j &lt; 16 ) {
+ int x = i*cell.<a href="qsize.html#width">width</a>();
+ int y = j*cell.<a href="qsize.html#height">height</a>();
+
+ <a href="qchar.html">QChar</a> ch = QChar(j*16+i,row);
+
+<a name="x1987"></a> if ( fm.<a href="qfontmetrics.html#inFont">inFont</a>(ch) ) {
+<a name="x1994"></a> int w = fm.<a href="qfontmetrics.html#width">width</a>(ch);
+<a name="x1988"></a> int l = fm.<a href="qfontmetrics.html#leftBearing">leftBearing</a>(ch);
+<a name="x1993"></a> int r = fm.<a href="qfontmetrics.html#rightBearing">rightBearing</a>(ch);
+
+ x += ml;
+ y += mt+h;
+
+<a name="x1998"></a> p.<a href="qpainter.html#fillRect">fillRect</a>(x,y,w,-h,body);
+ if ( w ) {
+ if ( l ) {
+ p.<a href="qpainter.html#fillRect">fillRect</a>(x+(l&gt;0?0:l), y-h/2, abs(l),-h/2,
+ l &lt; 0 ? negative : positive);
+ }
+ if ( r ) {
+ p.<a href="qpainter.html#fillRect">fillRect</a>(x+w-(r&gt;0?r:0),y+2, abs(r),-h/2,
+ r &lt; 0 ? rnegative : rpositive);
+ }
+ }
+ <a href="qstring.html">QString</a> s;
+ s += ch;
+ p.<a href="qpainter.html#setPen">setPen</a>(QPen(Qt::black));
+ p.<a href="qpainter.html#drawText">drawText</a>(x,y,s);
+ }
+ }
+ }
+ }
+}
+
+void <a name="f533"></a>FontRowTable::setRow(int r)
+{
+ row = r;
+
+ <a href="qfontmetrics.html">QFontMetrics</a> fm = <a href="qwidget.html#fontMetrics">fontMetrics</a>();
+ <a href="qfontinfo.html">QFontInfo</a> fi = <a href="qwidget.html#fontInfo">fontInfo</a>();
+ <a href="qstring.html">QString</a> str = QString("%1 %2pt%3%4 mLB=%5 mRB=%6 mW=%7")
+<a name="x1983"></a> .arg(fi.<a href="qfontinfo.html#family">family</a>())
+<a name="x1985"></a> .arg(fi.<a href="qfontinfo.html#pointSize">pointSize</a>())
+<a name="x1982"></a> .arg(fi.<a href="qfontinfo.html#bold">bold</a>() ? " bold" : "")
+<a name="x1984"></a> .arg(fi.<a href="qfontinfo.html#italic">italic</a>() ? " italic" : "")
+ .arg(fm.<a href="qfontmetrics.html#minLeftBearing">minLeftBearing</a>())
+<a name="x1992"></a> .arg(fm.<a href="qfontmetrics.html#minRightBearing">minRightBearing</a>())
+ .arg(fm.<a href="qfontmetrics.html#maxWidth">maxWidth</a>());
+
+ emit fontInformation(str);
+ <a href="qwidget.html#update">update</a>();
+}
+
+void <a name="f534"></a>FontRowTable::chooseFont()
+{
+ bool ok;
+ <a href="qfont.html">QFont</a> oldfont = tablefont;
+<a name="x1981"></a> tablefont = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>(&amp;ok, oldfont, this);
+
+ if (ok)
+ <a href="qwidget.html#setFont">setFont</a>(tablefont);
+ else
+ tablefont = oldfont;
+}
+
+<a name="f530"></a>FontDisplayer::FontDisplayer( <a href="qwidget.html">QWidget</a>* parent, const char* name ) :
+ <a href="qmainwindow.html">QMainWindow</a>(parent,name)
+{
+ FontRowTable* table = new FontRowTable(this);
+ <a href="qtoolbar.html">QToolBar</a>* controls = new <a href="qtoolbar.html">QToolBar</a>(this);
+ (void) new <a href="qlabel.html">QLabel</a>(<a href="qobject.html#tr">tr</a>("Row:"), controls);
+ <a href="qspinbox.html">QSpinBox</a> *row = new <a href="qspinbox.html">QSpinBox</a>(0,255,1,controls);
+<a name="x2010"></a> controls-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+ <a href="qpushbutton.html">QPushButton</a> *fontbutton = new <a href="qpushbutton.html">QPushButton</a>(<a href="qobject.html#tr">tr</a>("Font..."), controls);
+
+<a name="x2009"></a> <a href="qobject.html#connect">connect</a>(row,SIGNAL(<a href="qspinbox.html#valueChanged">valueChanged</a>(int)),table,SLOT(setRow(int)));
+ <a href="qobject.html#connect">connect</a>(fontbutton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), table, SLOT(chooseFont()));
+ <a href="qobject.html#connect">connect</a>(table,SIGNAL(fontInformation(const <a href="qstring.html">QString</a>&amp;)),
+ <a href="qmainwindow.html#statusBar">statusBar</a>(),SLOT(message(const <a href="qstring.html">QString</a>&amp;)));
+ table-&gt;setRow(0);
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>(table);
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/qfd.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "fontdisplayer.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+
+
+
+int main(int argc, char** argv)
+{
+ <a href="qapplication.html">QApplication</a> app(argc,argv);
+
+ FontDisplayer m;
+<a name="x2013"></a> <a href="qsize.html">QSize</a> sh = m.<a href="qmainwindow.html#centralWidget">centralWidget</a>()-&gt;sizeHint();
+<a name="x2017"></a> m.<a href="qwidget.html#resize">resize</a>(sh.<a href="qsize.html#width">width</a>(),
+<a name="x2016"></a><a name="x2015"></a> sh.<a href="qsize.html#height">height</a>()+3*m.<a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;height());
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>(&amp;m);
+ m.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - QFD");
+<a name="x2014"></a> m.<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfile-h.html b/doc/html/qfile-h.html
new file mode 100644
index 0000000..d05a59a
--- /dev/null
+++ b/doc/html/qfile-h.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfile.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfile.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfile.h</h1>
+
+<p>This is the verbatim text of the qfile.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfile.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFile class
+**
+** Created : 930831
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFILE_H
+#define QFILE_H
+
+#ifndef QT_H
+#include "qiodevice.h"
+#include "qstring.h"
+#include &lt;stdio.h&gt;
+#endif // QT_H
+
+class QDir;
+class QFilePrivate;
+
+class Q_EXPORT QFile : public QIODevice // file I/O device class
+{
+public:
+ QFile();
+ QFile( const QString &amp;name );
+ ~QFile();
+
+ QString name() const;
+ void setName( const QString &amp;name );
+
+ typedef QCString (*EncoderFn)( const QString &amp;fileName );
+ typedef QString (*DecoderFn)( const QCString &amp;localfileName );
+ static QCString encodeName( const QString &amp;fileName );
+ static QString decodeName( const QCString &amp;localFileName );
+ static void setEncodingFunction( EncoderFn );
+ static void setDecodingFunction( DecoderFn );
+
+ bool exists() const;
+ static bool exists( const QString &amp;fileName );
+
+ bool remove();
+ static bool remove( const QString &amp;fileName );
+
+ bool open( int );
+ bool open( int, FILE * );
+ bool open( int, int );
+ void close();
+ void flush();
+
+ Offset size() const;
+ Offset at() const;
+ bool at( Offset );
+ bool atEnd() const;
+
+ Q_LONG readBlock( char *data, Q_ULONG len );
+ Q_LONG writeBlock( const char *data, Q_ULONG len );
+ Q_LONG writeBlock( const QByteArray&amp; data )
+ { return QIODevice::writeBlock(data); }
+ Q_LONG readLine( char *data, Q_ULONG maxlen );
+ Q_LONG readLine( QString &amp;, Q_ULONG maxlen );
+
+ int getch();
+ int putch( int );
+ int ungetch( int );
+
+ int handle() const;
+
+ QString errorString() const; // ### Qt 4: move into QIODevice
+
+protected:
+ void setErrorString( const QString&amp; ); // ### Qt 4: move into QIODevice
+ QString fn;
+ FILE *fh;
+ int fd;
+ Offset length;
+ bool ext_f;
+ QFilePrivate *d; // ### Qt 4: make private
+
+private:
+ void init();
+ void setErrorStringErrno( int );
+ QCString ungetchBuffer;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QFile( const QFile &amp; );
+ QFile &amp;operator=( const QFile &amp; );
+#endif
+};
+
+
+inline QString QFile::name() const
+{ return fn; }
+
+inline QIODevice::Offset QFile::at() const
+{ return ioIndex; }
+
+
+#endif // QFILE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfile-members.html b/doc/html/qfile-members.html
new file mode 100644
index 0000000..4a663e8
--- /dev/null
+++ b/doc/html/qfile-members.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfile.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFile Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFile</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfile.html">QFile</a>, including inherited members.
+
+<ul>
+<li><a href="qfile.html#QFile">QFile</a>()
+<li><a href="qfile.html#~QFile">~QFile</a>()
+<li><a href="qiodevice.html#at">at</a>()
+<li><a href="qfile.html#atEnd">atEnd</a>()
+<li><a href="qfile.html#close">close</a>()
+<li><a href="qfile.html#decodeName">decodeName</a>()
+<li><a href="qfile.html#encodeName">encodeName</a>()
+<li><a href="qfile.html#errorString">errorString</a>()
+<li><a href="qfile.html#exists">exists</a>()
+<li><a href="qiodevice.html#flags">flags</a>()
+<li><a href="qfile.html#flush">flush</a>()
+<li><a href="qfile.html#getch">getch</a>()
+<li><a href="qfile.html#handle">handle</a>()
+<li><a href="qiodevice.html#isAsynchronous">isAsynchronous</a>()
+<li><a href="qiodevice.html#isBuffered">isBuffered</a>()
+<li><a href="qiodevice.html#isCombinedAccess">isCombinedAccess</a>()
+<li><a href="qiodevice.html#isDirectAccess">isDirectAccess</a>()
+<li><a href="qiodevice.html#isInactive">isInactive</a>()
+<li><a href="qiodevice.html#isOpen">isOpen</a>()
+<li><a href="qiodevice.html#isRaw">isRaw</a>()
+<li><a href="qiodevice.html#isReadWrite">isReadWrite</a>()
+<li><a href="qiodevice.html#isReadable">isReadable</a>()
+<li><a href="qiodevice.html#isSequentialAccess">isSequentialAccess</a>()
+<li><a href="qiodevice.html#isSynchronous">isSynchronous</a>()
+<li><a href="qiodevice.html#isTranslated">isTranslated</a>()
+<li><a href="qiodevice.html#isWritable">isWritable</a>()
+<li><a href="qiodevice.html#mode">mode</a>()
+<li><a href="qfile.html#name">name</a>()
+<li><a href="qfile.html#open">open</a>()
+<li><a href="qfile.html#putch">putch</a>()
+<li><a href="qiodevice.html#readAll">readAll</a>()
+<li><a href="qiodevice.html#readBlock">readBlock</a>()
+<li><a href="qfile.html#readLine">readLine</a>()
+<li><a href="qfile.html#remove">remove</a>()
+<li><a href="qiodevice.html#reset">reset</a>()
+<li><a href="qiodevice.html#resetStatus">resetStatus</a>()
+<li><a href="qfile.html#setDecodingFunction">setDecodingFunction</a>()
+<li><a href="qfile.html#setEncodingFunction">setEncodingFunction</a>()
+<li><a href="qfile.html#setErrorString">setErrorString</a>()
+<li><a href="qiodevice.html#setFlags">setFlags</a>()
+<li><a href="qiodevice.html#setMode">setMode</a>()
+<li><a href="qfile.html#setName">setName</a>()
+<li><a href="qiodevice.html#setState">setState</a>()
+<li><a href="qiodevice.html#setStatus">setStatus</a>()
+<li><a href="qiodevice.html#setType">setType</a>()
+<li><a href="qfile.html#size">size</a>()
+<li><a href="qiodevice.html#state">state</a>()
+<li><a href="qiodevice.html#status">status</a>()
+<li><a href="qfile.html#ungetch">ungetch</a>()
+<li><a href="qiodevice.html#writeBlock">writeBlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfile.html b/doc/html/qfile.html
new file mode 100644
index 0000000..17af0da
--- /dev/null
+++ b/doc/html/qfile.html
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qfile.cpp:77 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFile Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFile Class Reference</h1>
+
+<p>The QFile class is an I/O device that operates on files.
+<a href="#details">More...</a>
+<p>Almost all the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support. The exceptions are <a href="#setEncodingFunction"><b>setEncodingFunction</b></a>(), <a href="#setDecodingFunction"><b>setDecodingFunction</b></a>(), and <a href="#setErrorString"><b>setErrorString</b></a>().
+</p><p><tt>#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;</tt>
+<p>Inherits <a href="qiodevice.html">QIODevice</a>.
+<p><a href="qfile-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFile"><b>QFile</b></a> ()</li>
+<li class=fn><a href="#QFile-2"><b>QFile</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn><a href="#~QFile"><b>~QFile</b></a> ()</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>void <a href="#setName"><b>setName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>typedef QCString&nbsp;(*&nbsp;<a href="#EncoderFn"><b>EncoderFn</b></a>&nbsp;)&nbsp;(&nbsp;const&nbsp;QString&nbsp;&amp;&nbsp;fileName&nbsp;)</li>
+<li class=fn>typedef QString&nbsp;(*&nbsp;<a href="#DecoderFn"><b>DecoderFn</b></a>&nbsp;)&nbsp;(&nbsp;const&nbsp;QCString&nbsp;&amp;&nbsp;localfileName&nbsp;)</li>
+<li class=fn>bool <a href="#exists-2"><b>exists</b></a> () const</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ()</li>
+<li class=fn>virtual bool <a href="#open"><b>open</b></a> ( int&nbsp;m )</li>
+<li class=fn>bool <a href="#open-2"><b>open</b></a> ( int&nbsp;m, FILE&nbsp;*&nbsp;f )</li>
+<li class=fn>bool <a href="#open-3"><b>open</b></a> ( int&nbsp;m, int&nbsp;f )</li>
+<li class=fn>virtual void <a href="#close"><b>close</b></a> ()</li>
+<li class=fn>virtual void <a href="#flush"><b>flush</b></a> ()</li>
+<li class=fn>virtual Offset <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>virtual bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>virtual Q_LONG <a href="#readLine"><b>readLine</b></a> ( char&nbsp;*&nbsp;p, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>Q_LONG <a href="#readLine-2"><b>readLine</b></a> ( QString&nbsp;&amp;&nbsp;s, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>virtual int <a href="#getch"><b>getch</b></a> ()</li>
+<li class=fn>virtual int <a href="#putch"><b>putch</b></a> ( int&nbsp;ch )</li>
+<li class=fn>virtual int <a href="#ungetch"><b>ungetch</b></a> ( int&nbsp;ch )</li>
+<li class=fn>int <a href="#handle"><b>handle</b></a> () const</li>
+<li class=fn>QString <a href="#errorString"><b>errorString</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QCString <a href="#encodeName"><b>encodeName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>QString <a href="#decodeName"><b>decodeName</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;localFileName )</li>
+<li class=fn>void <a href="#setEncodingFunction"><b>setEncodingFunction</b></a> ( EncoderFn&nbsp;f )</li>
+<li class=fn>void <a href="#setDecodingFunction"><b>setDecodingFunction</b></a> ( DecoderFn&nbsp;f )</li>
+<li class=fn>bool <a href="#exists"><b>exists</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>bool <a href="#remove-2"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>virtual QByteArray <a href="#readAll"><b>readAll</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setErrorString"><b>setErrorString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QFile class is an I/O device that operates on files.
+<p>
+
+<p> QFile is an I/O device for reading and writing binary and text
+files. A QFile may be used by itself or more conveniently with a
+<a href="qdatastream.html">QDataStream</a> or <a href="qtextstream.html">QTextStream</a>.
+<p> The file name is usually passed in the constructor but can be
+changed with <a href="#setName">setName</a>(). You can check for a file's existence with
+<a href="#exists">exists</a>() and remove a file with <a href="#remove">remove</a>().
+<p> The file is opened with <a href="#open">open</a>(), closed with <a href="#close">close</a>() and flushed
+with <a href="#flush">flush</a>(). Data is usually read and written using QDataStream
+or QTextStream, but you can read with <a href="qiodevice.html#readBlock">readBlock</a>() and <a href="#readLine">readLine</a>()
+and write with <a href="qiodevice.html#writeBlock">writeBlock</a>(). QFile also supports <a href="#getch">getch</a>(),
+<a href="#ungetch">ungetch</a>() and <a href="#putch">putch</a>().
+<p> The size of the file is returned by <a href="#size">size</a>(). You can get the
+current file position or move to a new file position using the
+<a href="qiodevice.html#at">at</a>() functions. If you've reached the end of the file, <a href="#atEnd">atEnd</a>()
+returns TRUE. The file handle is returned by <a href="#handle">handle</a>().
+<p> Here is a code fragment that uses <a href="qtextstream.html">QTextStream</a> to read a text file
+line by line. It prints each line with a line number.
+<pre>
+ <a href="qstringlist.html">QStringList</a> lines;
+ QFile file( "file.txt" );
+ if ( file.<a href="#open">open</a>( IO_ReadOnly ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ <a href="qstring.html">QString</a> line;
+ int i = 1;
+ while ( !stream.<a href="qtextstream.html#atEnd">atEnd</a>() ) {
+ line = stream.<a href="qtextstream.html#readLine">readLine</a>(); // line of text excluding '\n'
+ printf( "%3d: %s\n", i++, line.<a href="qstring.html#latin1">latin1</a>() );
+ lines += line;
+ }
+ file.<a href="#close">close</a>();
+ }
+ </pre>
+
+<p> Writing text is just as easy. The following example shows how to
+write the data we read into the string list from the previous
+example:
+<pre>
+ QFile file( "file.txt" );
+ if ( file.<a href="#open">open</a>( IO_WriteOnly ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it )
+ stream &lt;&lt; *it &lt;&lt; "\n";
+ file.<a href="#close">close</a>();
+ }
+ </pre>
+
+<p> The <a href="qfileinfo.html">QFileInfo</a> class holds detailed information about a file, such
+as access permissions, file dates and file types.
+<p> The <a href="qdir.html">QDir</a> class manages directories and lists of file names.
+<p> Qt uses Unicode file names. If you want to do your own I/O on Unix
+systems you may want to use <a href="#encodeName">encodeName</a>() (and <a href="#decodeName">decodeName</a>()) to
+convert the file name into the local encoding.
+<p>
+<p> <p>See also <a href="qdatastream.html">QDataStream</a>, <a href="qtextstream.html">QTextStream</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DecoderFn"></a>QFile::DecoderFn</h3>
+
+<p> This is used by <a href="#setDecodingFunction">QFile::setDecodingFunction</a>().
+
+<h3 class=fn><a name="EncoderFn"></a>QFile::EncoderFn</h3>
+
+<p> This is used by <a href="#setEncodingFunction">QFile::setEncodingFunction</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFile"></a>QFile::QFile ()
+</h3>
+Constructs a QFile with no name.
+
+<h3 class=fn><a name="QFile-2"></a>QFile::QFile ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Constructs a QFile with a file name <em>name</em>.
+<p> <p>See also <a href="#setName">setName</a>().
+
+<h3 class=fn><a name="~QFile"></a>QFile::~QFile ()
+</h3>
+Destroys a QFile. Calls <a href="#close">close</a>().
+
+<h3 class=fn>bool <a name="atEnd"></a>QFile::atEnd () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the end of file has been reached; otherwise returns FALSE.
+If QFile has not been <a href="#open">open</a>()'d, then the behavior is undefined.
+<p> <p>See also <a href="#size">size</a>().
+
+<p>Example: <a href="distributor-example.html#x2655">distributor/distributor.ui.h</a>.
+<p>Reimplemented from <a href="qiodevice.html#atEnd">QIODevice</a>.
+<h3 class=fn>void <a name="close"></a>QFile::close ()<tt> [virtual]</tt>
+</h3>
+Closes an open file.
+<p> The file is not closed if it was opened with an existing file handle.
+If the existing file handle is a <tt>FILE*</tt>, the file is flushed.
+If the existing file handle is an <tt>int</tt> file descriptor, nothing
+is done to the file.
+<p> Some "write-behind" filesystems may report an unspecified error on
+closing the file. These errors only indicate that something may
+have gone wrong since the previous <a href="#open">open</a>(). In such a case <a href="qiodevice.html#status">status</a>()
+reports <a href="qiodevice.html#status">IO_UnspecifiedError</a> after <a href="#close">close</a>(), otherwise <a href="qiodevice.html#status">IO_Ok</a>.
+<p> <p>See also <a href="#open">open</a>() and <a href="#flush">flush</a>().
+
+<p>Examples: <a href="tutorial2-07.html#x2590">chart/chartform_files.cpp</a>, <a href="distributor-example.html#x2656">distributor/distributor.ui.h</a>, <a href="helpviewer-example.html#x987">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2023">mdi/application.cpp</a>, <a href="qdir-example.html#x1814">qdir/qdir.cpp</a>, <a href="qwerty-example.html#x362">qwerty/qwerty.cpp</a>, and <a href="outliner-example.html#x1914">xml/outliner/outlinetree.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#close">QIODevice</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="decodeName"></a>QFile::decodeName ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;localFileName )<tt> [static]</tt>
+</h3>
+This does the reverse of <a href="#encodeName">QFile::encodeName</a>() using <em>localFileName</em>.
+<p> <p>See also <a href="#setDecodingFunction">setDecodingFunction</a>().
+
+<p>Example: <a href="distributor-example.html#x2657">distributor/distributor.ui.h</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="encodeName"></a>QFile::encodeName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+When you use QFile, <a href="qfileinfo.html">QFileInfo</a>, and <a href="qdir.html">QDir</a> to access the file system
+with Qt, you can use Unicode file names. On Unix, these file names
+are converted to an 8-bit encoding. If you want to do your own
+file I/O on Unix, you should convert the file name using this
+function. On Windows NT/2000, Unicode file names are supported
+directly in the file system and this function should be avoided.
+On Windows 95, non-Latin1 locales are not supported.
+<p> By default, this function converts <em>fileName</em> to the local 8-bit
+encoding determined by the user's locale. This is sufficient for
+file names that the user chooses. File names hard-coded into the
+application should only use 7-bit ASCII filename characters.
+<p> The conversion scheme can be changed using <a href="#setEncodingFunction">setEncodingFunction</a>().
+This might be useful if you wish to give the user an option to
+store file names in UTF-8, etc., but be aware that such file names
+would probably then be unrecognizable when seen by other programs.
+<p> <p>See also <a href="#decodeName">decodeName</a>().
+
+<p>Example: <a href="distributor-example.html#x2658">distributor/distributor.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QFile::errorString () const
+</h3>
+Returns a human-readable description of the reason of an error that occurred
+on the device. The error described by the string corresponds to changes of
+<a href="qiodevice.html#status">QIODevice::status</a>(). If the status is reset, the error string is also reset.
+<p> The returned strings are not translated with the <a href="qobject.html#tr">QObject::tr</a>() or
+<a href="qapplication.html#translate">QApplication::translate</a>() functions. They are marked as translatable
+strings in the "QFile" context. Before you show the string to the user you
+should translate it first, for example:
+<p> <pre>
+ QFile f( "address.dat" );
+ if ( !f.<a href="#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) {
+ QMessageBox::<a href="qmessagebox.html#critical">critical</a>(
+ this,
+ tr("Open failed"),
+ tr("Could not open file for reading: %1").arg( qApp-&gt;<a href="qapplication.html#translate">translate</a>("QFile",f.<a href="#errorString">errorString</a>()) )
+ );
+ return;
+ }
+ </pre>
+
+<p> <p>See also <a href="qiodevice.html#status">QIODevice::status</a>(), <a href="qiodevice.html#resetStatus">QIODevice::resetStatus</a>(), and <a href="#setErrorString">setErrorString</a>().
+
+<h3 class=fn>bool <a name="exists"></a>QFile::exists ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+Returns TRUE if the file given by <em>fileName</em> exists; otherwise
+returns FALSE.
+
+<p>Examples: <a href="tutorial2-05.html#x2563">chart/chartform.cpp</a>, <a href="dirview-example.html#x1674">dirview/dirview.cpp</a>, and <a href="helpviewer-example.html#x988">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>bool <a name="exists-2"></a>QFile::exists () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if this file exists; otherwise returns FALSE.
+<p> <p>See also <a href="#name">name</a>().
+
+<h3 class=fn>void <a name="flush"></a>QFile::flush ()<tt> [virtual]</tt>
+</h3>
+Flushes the file buffer to the disk.
+<p> <a href="#close">close</a>() also flushes the file buffer.
+
+<p>Reimplemented from <a href="qiodevice.html#flush">QIODevice</a>.
+<h3 class=fn>int <a name="getch"></a>QFile::getch ()<tt> [virtual]</tt>
+</h3>
+Reads a single byte/character from the file.
+<p> Returns the byte/character read, or -1 if the end of the file has
+been reached.
+<p> <p>See also <a href="#putch">putch</a>() and <a href="#ungetch">ungetch</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#getch">QIODevice</a>.
+<h3 class=fn>int <a name="handle"></a>QFile::handle () const
+</h3>
+Returns the file handle of the file.
+<p> This is a small positive integer, suitable for use with C library
+functions such as fdopen() and fcntl(). On systems that use file
+descriptors for sockets (ie. Unix systems, but not Windows) the handle
+can be used with <a href="qsocketnotifier.html">QSocketNotifier</a> as well.
+<p> If the file is not open or there is an error, <a href="#handle">handle</a>() returns -1.
+<p> <p>See also <a href="qsocketnotifier.html">QSocketNotifier</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QFile::name () const
+</h3>
+
+<p> Returns the name set by <a href="#setName">setName</a>().
+<p> <p>See also <a href="#setName">setName</a>() and <a href="qfileinfo.html#fileName">QFileInfo::fileName</a>().
+
+<h3 class=fn>bool <a name="open"></a>QFile::open ( int&nbsp;m )<tt> [virtual]</tt>
+</h3>
+Opens the file specified by the file name currently set, using the
+mode <em>m</em>. Returns TRUE if successful, otherwise FALSE.
+<p> <!-- index IO_Raw --><!-- index IO_ReadOnly --><!-- index IO_WriteOnly --><!-- index IO_ReadWrite --><!-- index IO_Append --><!-- index IO_Truncate --><!-- index IO_Translate -->
+<p> The mode parameter <em>m</em> must be a combination of the following flags:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Flag <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">IO_Raw
+<td valign="top">Raw (non-buffered) file access.
+<tr bgcolor="#d0d0d0"> <td valign="top">IO_ReadOnly
+<td valign="top">Opens the file in read-only mode.
+<tr bgcolor="#f0f0f0"> <td valign="top">IO_WriteOnly
+<td valign="top">Opens the file in write-only mode. If this flag is used
+with another flag, e.g. <a href="qfile.html#open">IO_ReadOnly</a> or <a href="qfile.html#open">IO_Raw</a> or <a href="qfile.html#open">IO_Append</a>, the file is <em>not</em> truncated; but if used on
+its own (or with <a href="qfile.html#open">IO_Truncate</a>), the file is truncated.
+<tr bgcolor="#d0d0d0"> <td valign="top">IO_ReadWrite
+<td valign="top">Opens the file in read/write mode, equivalent to <tt>(IO_ReadOnly | IO_WriteOnly)</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top">IO_Append
+<td valign="top">Opens the file in append mode. (You must actually use <tt>(IO_WriteOnly | IO_Append)</tt> to make the file writable and
+to go into append mode.) This mode is very useful when you
+want to write something to a log file. The file index is
+set to the end of the file. Note that the result is
+undefined if you position the file index manually using
+<a href="qiodevice.html#at">at</a>() in append mode.
+<tr bgcolor="#d0d0d0"> <td valign="top">IO_Truncate
+<td valign="top">Truncates the file.
+<tr bgcolor="#f0f0f0"> <td valign="top">IO_Translate
+<td valign="top">Enables carriage returns and linefeed translation for text
+files under Windows.
+</table></center>
+<p> The raw access mode is best when I/O is block-operated using a 4KB
+block size or greater. Buffered access works better when reading
+small portions of data at a time.
+<p> <b>Warning:</b> When working with buffered files, data may not be written
+to the file at once. Call <a href="#flush">flush</a>() to make sure that the data is
+really written.
+<p> <b>Warning:</b> If you have a buffered file opened for both reading and
+writing you must not perform an input operation immediately after
+an output operation or vice versa. You should always call flush()
+or a file positioning operation, e.g. at(), between input and
+output operations, otherwise the buffer may contain garbage.
+<p> If the file does not exist and <a href="qfile.html#open">IO_WriteOnly</a> or <a href="qfile.html#open">IO_ReadWrite</a>
+is specified, it is created.
+<p> Example:
+<pre>
+ QFile f1( "/tmp/data.bin" );
+ f1.<a href="#open">open</a>( IO_Raw | IO_ReadWrite );
+
+ QFile f2( "readme.txt" );
+ f2.<a href="#open">open</a>( IO_ReadOnly | IO_Translate );
+
+ QFile f3( "audit.log" );
+ f3.<a href="#open">open</a>( IO_WriteOnly | IO_Append );
+ </pre>
+
+<p> <p>See also <a href="#name">name</a>(), <a href="#close">close</a>(), <a href="qiodevice.html#isOpen">isOpen</a>(), and <a href="#flush">flush</a>().
+
+<p>Examples: <a href="simple-application-example.html#x1548">application/application.cpp</a>, <a href="tutorial2-07.html#x2591">chart/chartform_files.cpp</a>, <a href="distributor-example.html#x2659">distributor/distributor.ui.h</a>, <a href="helpviewer-example.html#x989">helpviewer/helpwindow.cpp</a>, <a href="qdir-example.html#x1815">qdir/qdir.cpp</a>, <a href="qwerty-example.html#x363">qwerty/qwerty.cpp</a>, and <a href="outliner-example.html#x1915">xml/outliner/outlinetree.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#open">QIODevice</a>.
+<h3 class=fn>bool <a name="open-2"></a>QFile::open ( int&nbsp;m, FILE&nbsp;*&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Opens a file in the mode <em>m</em> using an existing file handle <em>f</em>.
+Returns TRUE if successful, otherwise FALSE.
+<p> Example:
+<pre>
+ #include &lt;stdio.h&gt;
+
+ void printError( const char* msg )
+ {
+ QFile f;
+ f.<a href="#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a>, stderr );
+ f.<a href="qiodevice.html#writeBlock">writeBlock</a>( msg, qstrlen(msg) ); // write to stderr
+ f.<a href="#close">close</a>();
+ }
+ </pre>
+
+<p> When a QFile is opened using this function, <a href="#close">close</a>() does not actually
+close the file, only flushes it.
+<p> <b>Warning:</b> If <em>f</em> is <tt>stdin</tt>, <tt>stdout</tt>, <tt>stderr</tt>, you may not
+be able to seek. See <a href="qiodevice.html#isSequentialAccess">QIODevice::isSequentialAccess</a>() for more
+information.
+<p> <p>See also <a href="#close">close</a>().
+
+<h3 class=fn>bool <a name="open-3"></a>QFile::open ( int&nbsp;m, int&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Opens a file in the mode <em>m</em> using an existing file descriptor <em>f</em>.
+Returns TRUE if successful, otherwise FALSE.
+<p> When a QFile is opened using this function, <a href="#close">close</a>() does not actually
+close the file.
+<p> The QFile that is opened using this function, is automatically set to be in
+raw mode; this means that the file input/output functions are slow. If you
+run into performance issues, you should try to use one of the other open
+functions.
+<p> <b>Warning:</b> If <em>f</em> is one of 0 (stdin), 1 (stdout) or 2 (stderr), you may not
+be able to seek. <a href="#size">size</a>() is set to <tt>INT_MAX</tt> (in limits.h).
+<p> <p>See also <a href="#close">close</a>().
+
+<h3 class=fn>int <a name="putch"></a>QFile::putch ( int&nbsp;ch )<tt> [virtual]</tt>
+</h3>
+Writes the character <em>ch</em> to the file.
+<p> Returns <em>ch</em>, or -1 if some error occurred.
+<p> <p>See also <a href="#getch">getch</a>() and <a href="#ungetch">ungetch</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#putch">QIODevice</a>.
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readAll"></a>QIODevice::readAll ()<tt> [virtual]</tt>
+</h3>
+This convenience function returns all of the remaining data in the
+device.
+
+<h3 class=fn>Q_LONG <a name="readLine"></a>QFile::readLine ( char&nbsp;*&nbsp;p, Q_ULONG&nbsp;maxlen )<tt> [virtual]</tt>
+</h3>
+Reads a line of text.
+<p> Reads bytes from the file into the char* <em>p</em>, until end-of-line
+or <em>maxlen</em> bytes have been read, whichever occurs first. Returns
+the number of bytes read, or -1 if there was an error. Any
+terminating newline is not stripped.
+<p> This function is only efficient for buffered files. Avoid
+<a href="#readLine">readLine</a>() for files that have been opened with the <a href="qfile.html#open">IO_Raw</a>
+flag.
+<p> <p>See also <a href="qiodevice.html#readBlock">readBlock</a>() and <a href="qtextstream.html#readLine">QTextStream::readLine</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#readLine">QIODevice</a>.
+<h3 class=fn>Q_LONG <a name="readLine-2"></a>QFile::readLine ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, Q_ULONG&nbsp;maxlen )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a line of text.
+<p> Reads bytes from the file into string <em>s</em>, until end-of-line or
+<em>maxlen</em> bytes have been read, whichever occurs first. Returns
+the number of bytes read, or -1 if there was an error, e.g. end of
+file. Any terminating newline is not stripped.
+<p> This function is only efficient for buffered files. Avoid using
+<a href="#readLine">readLine</a>() for files that have been opened with the <a href="qfile.html#open">IO_Raw</a>
+flag.
+<p> Note that the string is read as plain Latin1 bytes, not Unicode.
+<p> <p>See also <a href="qiodevice.html#readBlock">readBlock</a>() and <a href="qtextstream.html#readLine">QTextStream::readLine</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QFile::remove ()
+</h3>
+Removes the file specified by the file name currently set. Returns
+TRUE if successful; otherwise returns FALSE.
+<p> The file is closed before it is removed.
+
+<h3 class=fn>bool <a name="remove-2"></a>QFile::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the file <em>fileName</em>.
+Returns TRUE if successful, otherwise FALSE.
+
+<h3 class=fn>void <a name="setDecodingFunction"></a>QFile::setDecodingFunction ( <a href="qfile.html#DecoderFn">DecoderFn</a>&nbsp;f )<tt> [static]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Sets the function for decoding 8-bit file names to <em>f</em>. The
+default uses the locale-specific 8-bit encoding.
+<p> <p>See also <a href="#encodeName">encodeName</a>() and <a href="#decodeName">decodeName</a>().
+
+<h3 class=fn>void <a name="setEncodingFunction"></a>QFile::setEncodingFunction ( <a href="qfile.html#EncoderFn">EncoderFn</a>&nbsp;f )<tt> [static]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Sets the function for encoding Unicode file names to <em>f</em>. The
+default encodes in the locale-specific 8-bit encoding.
+<p> <p>See also <a href="#encodeName">encodeName</a>().
+
+<h3 class=fn>void <a name="setErrorString"></a>QFile::setErrorString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )<tt> [protected]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Sets the error string returned by the <a href="#errorString">errorString</a>() function to <em>str</em>.
+<p> <p>See also <a href="#errorString">errorString</a>() and <a href="qiodevice.html#status">QIODevice::status</a>().
+
+<h3 class=fn>void <a name="setName"></a>QFile::setName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Sets the name of the file to <em>name</em>. The name can have no path, a
+relative path or an absolute absolute path.
+<p> Do not call this function if the file has already been opened.
+<p> If the file name has no path or a relative path, the path used
+will be whatever the application's current directory path is
+<em>at the time of the <a href="#open">open</a>()</em> call.
+<p> Example:
+<pre>
+ QFile file;
+ QDir::<a href="qdir.html#setCurrent">setCurrent</a>( "/tmp" );
+ file.<a href="#setName">setName</a>( "readme.txt" );
+ QDir::<a href="qdir.html#setCurrent">setCurrent</a>( "/home" );
+ file.<a href="#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ); // opens "/home/readme.txt" under Unix
+ </pre>
+
+<p> Note that the directory separator "/" works for all operating
+systems supported by Qt.
+<p> <p>See also <a href="#name">name</a>(), <a href="qfileinfo.html">QFileInfo</a>, and <a href="qdir.html">QDir</a>.
+
+<h3 class=fn><a href="qiodevice.html#Offset">Offset</a> <a name="size"></a>QFile::size () const<tt> [virtual]</tt>
+</h3>
+Returns the file size.
+<p>See also <a href="qiodevice.html#at">at</a>().
+
+<p>Example: <a href="statistics-example.html#x2781">table/statistics/statistics.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#size">QIODevice</a>.
+<h3 class=fn>int <a name="ungetch"></a>QFile::ungetch ( int&nbsp;ch )<tt> [virtual]</tt>
+</h3>
+Puts the character <em>ch</em> back into the file and decrements the
+index if it is not zero.
+<p> This function is normally called to "undo" a <a href="#getch">getch</a>() operation.
+<p> Returns <em>ch</em>, or -1 if an error occurred.
+<p> <p>See also <a href="#getch">getch</a>() and <a href="#putch">putch</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#ungetch">QIODevice</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfiledialog-h.html b/doc/html/qfiledialog-h.html
new file mode 100644
index 0000000..d61b8aa
--- /dev/null
+++ b/doc/html/qfiledialog-h.html
@@ -0,0 +1,392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfiledialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfiledialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfiledialog.h</h1>
+
+<p>This is the verbatim text of the qfiledialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfiledialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QFileDialog class
+**
+** Created : 950428
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFILEDIALOG_H
+#define QFILEDIALOG_H
+
+class QPushButton;
+class QButton;
+class QLabel;
+class QWidget;
+class QFileDialog;
+class QTimer;
+class QNetworkOperation;
+class QLineEdit;
+class QListViewItem;
+class QListBoxItem;
+class QFileDialogPrivate;
+class QFileDialogQFileListView;
+
+#ifndef QT_H
+#include "qdir.h"
+#include "qdialog.h"
+#include "qurloperator.h"
+#include "qurlinfo.h"
+#endif // QT_H
+
+#if __GNUC__ - 0 &gt; 3
+#pragma GCC system_header
+#endif
+
+#ifndef QT_NO_FILEDIALOG
+
+class Q_EXPORT QFileIconProvider : public QObject
+{
+ Q_OBJECT
+public:
+ QFileIconProvider( QObject * parent = 0, const char* name = 0 );
+ virtual const QPixmap * pixmap( const QFileInfo &amp; );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QFileIconProvider( const QFileIconProvider &amp; );
+ QFileIconProvider&amp; operator=( const QFileIconProvider &amp; );
+#endif
+};
+
+class Q_EXPORT QFilePreview
+{
+public:
+ QFilePreview();
+ virtual void previewUrl( const QUrl &amp;url ) = 0;
+
+};
+
+class Q_EXPORT QFileDialog : public QDialog
+{
+ Q_OBJECT
+ Q_ENUMS( Mode ViewMode PreviewMode )
+ // ##### Why are this read-only properties ?
+ Q_PROPERTY( QString selectedFile READ selectedFile )
+ Q_PROPERTY( QString selectedFilter READ selectedFilter )
+ Q_PROPERTY( QStringList selectedFiles READ selectedFiles )
+ // #### Should not we be able to set the path ?
+ Q_PROPERTY( QString dirPath READ dirPath )
+ Q_PROPERTY( bool showHiddenFiles READ showHiddenFiles WRITE setShowHiddenFiles )
+ Q_PROPERTY( Mode mode READ mode WRITE setMode )
+ Q_PROPERTY( ViewMode viewMode READ viewMode WRITE setViewMode )
+ Q_PROPERTY( PreviewMode previewMode READ previewMode WRITE setPreviewMode )
+ Q_PROPERTY( bool infoPreview READ isInfoPreviewEnabled WRITE setInfoPreviewEnabled )
+ Q_PROPERTY( bool contentsPreview READ isContentsPreviewEnabled WRITE setContentsPreviewEnabled )
+
+public:
+ QFileDialog( const QString&amp; dirName, const QString&amp; filter = QString::null,
+ QWidget* parent=0, const char* name=0, bool modal = FALSE );
+ QFileDialog( QWidget* parent=0, const char* name=0, bool modal = FALSE );
+ ~QFileDialog();
+
+ // recommended static functions
+
+ static QString getOpenFileName( const QString &amp;initially = QString::null,
+ const QString &amp;filter = QString::null,
+ QWidget *parent = 0, const char* name = 0,
+ const QString &amp;caption = QString::null,
+ QString *selectedFilter = 0,
+ bool resolveSymlinks = TRUE);
+ static QString getSaveFileName( const QString &amp;initially = QString::null,
+ const QString &amp;filter = QString::null,
+ QWidget *parent = 0, const char* name = 0,
+ const QString &amp;caption = QString::null,
+ QString *selectedFilter = 0,
+ bool resolveSymlinks = TRUE);
+ static QString getExistingDirectory( const QString &amp;dir = QString::null,
+ QWidget *parent = 0,
+ const char* name = 0,
+ const QString &amp;caption = QString::null,
+ bool dirOnly = TRUE,
+ bool resolveSymlinks = TRUE);
+ static QStringList getOpenFileNames( const QString &amp;filter= QString::null,
+ const QString &amp;dir = QString::null,
+ QWidget *parent = 0,
+ const char* name = 0,
+ const QString &amp;caption = QString::null,
+ QString *selectedFilter = 0,
+ bool resolveSymlinks = TRUE);
+
+ // other static functions
+
+ static void setIconProvider( QFileIconProvider * );
+ static QFileIconProvider * iconProvider();
+
+ // non-static function for special needs
+
+ QString selectedFile() const;
+ QString selectedFilter() const;
+ virtual void setSelectedFilter( const QString&amp; );
+ virtual void setSelectedFilter( int );
+
+ void setSelection( const QString &amp;);
+
+ void selectAll( bool b );
+
+ QStringList selectedFiles() const;
+
+ QString dirPath() const;
+
+ void setDir( const QDir &amp; );
+ const QDir *dir() const;
+
+ void setShowHiddenFiles( bool s );
+ bool showHiddenFiles() const;
+
+ void rereadDir();
+ void resortDir();
+
+ enum Mode { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly };
+ void setMode( Mode );
+ Mode mode() const;
+
+ enum ViewMode { Detail, List };
+ enum PreviewMode { NoPreview, Contents, Info };
+ void setViewMode( ViewMode m );
+ ViewMode viewMode() const;
+ void setPreviewMode( PreviewMode m );
+ PreviewMode previewMode() const;
+
+ bool eventFilter( QObject *, QEvent * );
+
+ bool isInfoPreviewEnabled() const;
+ bool isContentsPreviewEnabled() const;
+ void setInfoPreviewEnabled( bool );
+ void setContentsPreviewEnabled( bool );
+
+ void setInfoPreview( QWidget *w, QFilePreview *preview );
+ void setContentsPreview( QWidget *w, QFilePreview *preview );
+
+ QUrl url() const;
+
+ void addFilter( const QString &amp;filter );
+
+public slots:
+ void done( int );
+ void setDir( const QString&amp; );
+ void setUrl( const QUrlOperator &amp;url );
+ void setFilter( const QString&amp; );
+ void setFilters( const QString&amp; );
+ void setFilters( const char ** );
+ void setFilters( const QStringList&amp; );
+
+protected:
+ void resizeEvent( QResizeEvent * );
+ void keyPressEvent( QKeyEvent * );
+
+ void addWidgets( QLabel *, QWidget *, QPushButton * );
+ void addToolButton( QButton *b, bool separator = FALSE );
+ void addLeftWidget( QWidget *w );
+ void addRightWidget( QWidget *w );
+
+signals:
+ void fileHighlighted( const QString&amp; );
+ void fileSelected( const QString&amp; );
+ void filesSelected( const QStringList&amp; );
+ void dirEntered( const QString&amp; );
+ void filterSelected( const QString&amp; );
+
+private slots:
+ void detailViewSelectionChanged();
+ void listBoxSelectionChanged();
+ void changeMode( int );
+ void fileNameEditReturnPressed();
+ void stopCopy();
+ void removeProgressDia();
+
+ void fileSelected( int );
+ void fileHighlighted( int );
+ void dirSelected( int );
+ void pathSelected( int );
+
+ void updateFileNameEdit( QListViewItem *);
+ void selectDirectoryOrFile( QListViewItem * );
+ void popupContextMenu( QListViewItem *, const QPoint &amp;, int );
+ void popupContextMenu( QListBoxItem *, const QPoint &amp; );
+ void updateFileNameEdit( QListBoxItem *);
+ void selectDirectoryOrFile( QListBoxItem * );
+ void fileNameEditDone();
+
+ void okClicked();
+ void filterClicked(); // not used
+ void cancelClicked();
+
+ void cdUpClicked();
+ void newFolderClicked();
+
+ void fixupNameEdit();
+
+ void doMimeTypeLookup();
+
+ void updateGeometries();
+ void modeButtonsDestroyed();
+ void urlStart( QNetworkOperation *op );
+ void urlFinished( QNetworkOperation *op );
+ void dataTransferProgress( int bytesDone, int bytesTotal, QNetworkOperation * );
+ void insertEntry( const QValueList&lt;QUrlInfo&gt; &amp;fi, QNetworkOperation *op );
+ void removeEntry( QNetworkOperation * );
+ void createdDirectory( const QUrlInfo &amp;info, QNetworkOperation * );
+ void itemChanged( QNetworkOperation * );
+ void goBack();
+
+private:
+ enum PopupAction {
+ PA_Open = 0,
+ PA_Delete,
+ PA_Rename,
+ PA_SortName,
+ PA_SortSize,
+ PA_SortType,
+ PA_SortDate,
+ PA_SortUnsorted,
+ PA_Cancel,
+ PA_Reload,
+ PA_Hidden
+ };
+
+ void init();
+ bool trySetSelection( bool isDir, const QUrlOperator &amp;, bool );
+ void deleteFile( const QString &amp;filename );
+ void popupContextMenu( const QString &amp;filename, bool withSort,
+ PopupAction &amp;action, const QPoint &amp;p );
+ void updatePreviews( const QUrl &amp;u );
+
+ QDir reserved; // was cwd
+ QString fileName;
+
+ friend class QFileDialogQFileListView;
+ friend class QFileListBox;
+
+ QFileDialogPrivate *d;
+ QFileDialogQFileListView *files;
+
+ QLineEdit *nameEdit; // also filter
+ QPushButton *okB;
+ QPushButton *cancelB;
+
+#if defined(Q_WS_WIN)
+ static QString winGetOpenFileName( const QString &amp;initialSelection,
+ const QString &amp;filter,
+ QString* workingDirectory,
+ QWidget *parent = 0,
+ const char* name = 0,
+ const QString&amp; caption = QString::null,
+ QString* selectedFilter = 0 );
+ static QString winGetSaveFileName( const QString &amp;initialSelection,
+ const QString &amp;filter,
+ QString* workingDirectory,
+ QWidget *parent = 0,
+ const char* name = 0,
+ const QString&amp; caption = QString::null,
+ QString* selectedFilter = 0 );
+ static QStringList winGetOpenFileNames( const QString &amp;filter,
+ QString* workingDirectory,
+ QWidget *parent = 0,
+ const char* name = 0,
+ const QString&amp; caption = QString::null,
+ QString* selectedFilter = 0 );
+ static QString winGetExistingDirectory( const QString &amp;initialDirectory,
+ QWidget* parent = 0,
+ const char* name = 0,
+ const QString&amp; caption = QString::null);
+ static QString resolveLinkFile( const QString&amp; linkfile );
+#endif
+#if defined(Q_WS_MACX) || defined(Q_WS_MAC9)
+ static QString macGetSaveFileName( const QString &amp;, const QString &amp;,
+ QString *, QWidget *, const char*,
+ const QString&amp;, QString *);
+ static QStringList macGetOpenFileNames( const QString &amp;, QString*,
+ QWidget *, const char *,
+ const QString&amp;, QString *,
+ bool = TRUE, bool = FALSE );
+#endif
+
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QFileDialog( const QFileDialog &amp; );
+ QFileDialog &amp;operator=( const QFileDialog &amp; );
+#endif
+};
+
+#endif
+
+#endif // QFILEDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfiledialog-members.html b/doc/html/qfiledialog-members.html
new file mode 100644
index 0000000..927f14c
--- /dev/null
+++ b/doc/html/qfiledialog-members.html
@@ -0,0 +1,397 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfiledialog.h:89 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFileDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfiledialog.html">QFileDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qfiledialog.html#QFileDialog">QFileDialog</a>()
+<li><a href="qfiledialog.html#~QFileDialog">~QFileDialog</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qfiledialog.html#addFilter">addFilter</a>()
+<li><a href="qfiledialog.html#addLeftWidget">addLeftWidget</a>()
+<li><a href="qfiledialog.html#addRightWidget">addRightWidget</a>()
+<li><a href="qfiledialog.html#addToolButton">addToolButton</a>()
+<li><a href="qfiledialog.html#addWidgets">addWidgets</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qfiledialog.html#dir">dir</a>()
+<li><a href="qfiledialog.html#dirEntered">dirEntered</a>()
+<li><a href="qfiledialog.html#dirPath">dirPath</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qfiledialog.html#fileHighlighted">fileHighlighted</a>()
+<li><a href="qfiledialog.html#fileSelected">fileSelected</a>()
+<li><a href="qfiledialog.html#filesSelected">filesSelected</a>()
+<li><a href="qfiledialog.html#filterSelected">filterSelected</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qfiledialog.html#getExistingDirectory">getExistingDirectory</a>()
+<li><a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>()
+<li><a href="qfiledialog.html#getOpenFileNames">getOpenFileNames</a>()
+<li><a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qfiledialog.html#iconProvider">iconProvider</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qfiledialog.html#isContentsPreviewEnabled">isContentsPreviewEnabled</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qfiledialog.html#isInfoPreviewEnabled">isInfoPreviewEnabled</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qfiledialog.html#mode">mode</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qfiledialog.html#previewMode">previewMode</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qfiledialog.html#rereadDir">rereadDir</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qfiledialog.html#resortDir">resortDir</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qfiledialog.html#selectAll">selectAll</a>()
+<li><a href="qfiledialog.html#selectedFile">selectedFile</a>()
+<li><a href="qfiledialog.html#selectedFiles">selectedFiles</a>()
+<li><a href="qfiledialog.html#selectedFilter">selectedFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qfiledialog.html#setContentsPreview">setContentsPreview</a>()
+<li><a href="qfiledialog.html#setContentsPreviewEnabled">setContentsPreviewEnabled</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qfiledialog.html#setDir">setDir</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qfiledialog.html#setFilter">setFilter</a>()
+<li><a href="qfiledialog.html#setFilters">setFilters</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qfiledialog.html#setIconProvider">setIconProvider</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qfiledialog.html#setInfoPreview">setInfoPreview</a>()
+<li><a href="qfiledialog.html#setInfoPreviewEnabled">setInfoPreviewEnabled</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qfiledialog.html#setMode">setMode</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qfiledialog.html#setPreviewMode">setPreviewMode</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qfiledialog.html#setSelectedFilter">setSelectedFilter</a>()
+<li><a href="qfiledialog.html#setSelection">setSelection</a>()
+<li><a href="qfiledialog.html#setShowHiddenFiles">setShowHiddenFiles</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qfiledialog.html#setUrl">setUrl</a>()
+<li><a href="qfiledialog.html#setViewMode">setViewMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qfiledialog.html#showHiddenFiles">showHiddenFiles</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qfiledialog.html#url">url</a>()
+<li><a href="qfiledialog.html#viewMode">viewMode</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfiledialog.html b/doc/html/qfiledialog.html
new file mode 100644
index 0000000..3eae5be
--- /dev/null
+++ b/doc/html/qfiledialog.html
@@ -0,0 +1,907 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qfiledialog.cpp:2159 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFileDialog Class Reference</h1>
+
+<p>The QFileDialog class provides dialogs that allow users to select files or directories.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qfiledialog-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFileDialog"><b>QFileDialog</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirName, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )</li>
+<li class=fn><a href="#QFileDialog-2"><b>QFileDialog</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )</li>
+<li class=fn><a href="#~QFileDialog"><b>~QFileDialog</b></a> ()</li>
+<li class=fn>QString <a href="#selectedFile"><b>selectedFile</b></a> () const</li>
+<li class=fn>QString <a href="#selectedFilter"><b>selectedFilter</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSelectedFilter"><b>setSelectedFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;mask )</li>
+<li class=fn>virtual void <a href="#setSelectedFilter-2"><b>setSelectedFilter</b></a> ( int&nbsp;n )</li>
+<li class=fn>void <a href="#setSelection"><b>setSelection</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;b )</li>
+<li class=fn>QStringList <a href="#selectedFiles"><b>selectedFiles</b></a> () const</li>
+<li class=fn>QString <a href="#dirPath"><b>dirPath</b></a> () const</li>
+<li class=fn>void <a href="#setDir"><b>setDir</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>const QDir * <a href="#dir"><b>dir</b></a> () const</li>
+<li class=fn>void <a href="#setShowHiddenFiles"><b>setShowHiddenFiles</b></a> ( bool&nbsp;s )</li>
+<li class=fn>bool <a href="#showHiddenFiles"><b>showHiddenFiles</b></a> () const</li>
+<li class=fn>void <a href="#rereadDir"><b>rereadDir</b></a> ()</li>
+<li class=fn>void <a href="#resortDir"><b>resortDir</b></a> ()</li>
+<li class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly }</li>
+<li class=fn>void <a href="#setMode"><b>setMode</b></a> ( Mode )</li>
+<li class=fn>Mode <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>enum <a href="#ViewMode-enum"><b>ViewMode</b></a> { Detail, List }</li>
+<li class=fn>enum <a href="#PreviewMode-enum"><b>PreviewMode</b></a> { NoPreview, Contents, Info }</li>
+<li class=fn>void <a href="#setViewMode"><b>setViewMode</b></a> ( ViewMode&nbsp;m )</li>
+<li class=fn>ViewMode <a href="#viewMode"><b>viewMode</b></a> () const</li>
+<li class=fn>void <a href="#setPreviewMode"><b>setPreviewMode</b></a> ( PreviewMode&nbsp;m )</li>
+<li class=fn>PreviewMode <a href="#previewMode"><b>previewMode</b></a> () const</li>
+<li class=fn>bool <a href="#isInfoPreviewEnabled"><b>isInfoPreviewEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isContentsPreviewEnabled"><b>isContentsPreviewEnabled</b></a> () const</li>
+<li class=fn>void <a href="#setInfoPreviewEnabled"><b>setInfoPreviewEnabled</b></a> ( bool )</li>
+<li class=fn>void <a href="#setContentsPreviewEnabled"><b>setContentsPreviewEnabled</b></a> ( bool )</li>
+<li class=fn>void <a href="#setInfoPreview"><b>setInfoPreview</b></a> ( QWidget&nbsp;*&nbsp;w, QFilePreview&nbsp;*&nbsp;preview )</li>
+<li class=fn>void <a href="#setContentsPreview"><b>setContentsPreview</b></a> ( QWidget&nbsp;*&nbsp;w, QFilePreview&nbsp;*&nbsp;preview )</li>
+<li class=fn>QUrl <a href="#url"><b>url</b></a> () const</li>
+<li class=fn>void <a href="#addFilter"><b>addFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setDir-2"><b>setDir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pathstr )</li>
+<li class=fn>void <a href="#setUrl"><b>setUrl</b></a> ( const&nbsp;QUrlOperator&nbsp;&amp;&nbsp;url )</li>
+<li class=fn>void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;newFilter )</li>
+<li class=fn>void <a href="#setFilters"><b>setFilters</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filters )</li>
+<li class=fn>void <a href="#setFilters-2"><b>setFilters</b></a> ( const&nbsp;char&nbsp;**&nbsp;types )</li>
+<li class=fn>void <a href="#setFilters-3"><b>setFilters</b></a> ( const QStringList &amp; )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#fileHighlighted"><b>fileHighlighted</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#fileSelected"><b>fileSelected</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#filesSelected"><b>filesSelected</b></a> ( const QStringList &amp; )</li>
+<li class=fn>void <a href="#dirEntered"><b>dirEntered</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#filterSelected"><b>filterSelected</b></a> ( const QString &amp; )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#getOpenFileName"><b>getOpenFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</li>
+<li class=fn>QString <a href="#getSaveFileName"><b>getSaveFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</li>
+<li class=fn>QString <a href="#getExistingDirectory"><b>getExistingDirectory</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, bool&nbsp;dirOnly = TRUE, bool&nbsp;resolveSymlinks = TRUE )</li>
+<li class=fn>QStringList <a href="#getOpenFileNames"><b>getOpenFileNames</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;dir = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</li>
+<li class=fn>void <a href="#setIconProvider"><b>setIconProvider</b></a> ( QFileIconProvider&nbsp;*&nbsp;provider )</li>
+<li class=fn>QFileIconProvider * <a href="#iconProvider"><b>iconProvider</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#contentsPreview-prop"><b>contentsPreview</b></a>&nbsp;- whether the file dialog can provide a contents preview of the currently selected file</li>
+<li class=fn>QString <a href="#dirPath-prop"><b>dirPath</b></a>&nbsp;- the file dialog's working directory &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#infoPreview-prop"><b>infoPreview</b></a>&nbsp;- whether the file dialog can provide preview information about the currently selected file</li>
+<li class=fn>Mode <a href="#mode-prop"><b>mode</b></a>&nbsp;- the file dialog's mode</li>
+<li class=fn>PreviewMode <a href="#previewMode-prop"><b>previewMode</b></a>&nbsp;- the preview mode for the file dialog</li>
+<li class=fn>QString <a href="#selectedFile-prop"><b>selectedFile</b></a>&nbsp;- the name of the selected file &nbsp;<em>(read only)</em></li>
+<li class=fn>QStringList <a href="#selectedFiles-prop"><b>selectedFiles</b></a>&nbsp;- the list of selected files &nbsp;<em>(read only)</em></li>
+<li class=fn>QString <a href="#selectedFilter-prop"><b>selectedFilter</b></a>&nbsp;- the filter which the user has selected in the file dialog &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#showHiddenFiles-prop"><b>showHiddenFiles</b></a>&nbsp;- whether hidden files are shown in the file dialog</li>
+<li class=fn>ViewMode <a href="#viewMode-prop"><b>viewMode</b></a>&nbsp;- the file dialog's view mode</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#addWidgets"><b>addWidgets</b></a> ( QLabel&nbsp;*&nbsp;l, QWidget&nbsp;*&nbsp;w, QPushButton&nbsp;*&nbsp;b )</li>
+<li class=fn>void <a href="#addToolButton"><b>addToolButton</b></a> ( QButton&nbsp;*&nbsp;b, bool&nbsp;separator = FALSE )</li>
+<li class=fn>void <a href="#addLeftWidget"><b>addLeftWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#addRightWidget"><b>addRightWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFileDialog class provides dialogs that allow users to select files or directories.
+
+
+<p> The QFileDialog class enables a user to traverse their file system in
+order to select one or many files or a directory.
+<p> The easiest way to create a QFileDialog is to use the static
+functions. On Windows, these static functions will call the native
+Windows file dialog and on Mac OS X, these static function will call
+the native Mac OS X file dialog.
+<p> <pre>
+ <a href="qstring.html">QString</a> s = QFileDialog::<a href="#getOpenFileName">getOpenFileName</a>(
+ "/home",
+ "Images (*.png *.xpm *.jpg)",
+ this,
+ "open file dialog",
+ "Choose a file" );
+ </pre>
+
+<p> In the above example, a modal QFileDialog is created using a static
+function. The startup directory is set to "/home". The file filter
+is set to "Images (*.png *.xpm *.jpg)". The parent of the file dialog
+is set to <em>this</em> and it is given the identification name - "open file
+dialog". The caption at the top of file dialog is set to "Choose a
+file". If you want to use multiple filters, separate each one with
+<em>two</em> semi-colons, e.g.
+<pre>
+ "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
+ </pre>
+
+<p> You can create your own QFileDialog without using the static
+functions. By calling <a href="#setMode">setMode</a>(), you can set what can be returned by
+the QFileDialog.
+<p> <pre>
+ QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE );
+ fd-&gt;<a href="#setMode">setMode</a>( QFileDialog::<a href="#Mode-enum">AnyFile</a> );
+ </pre>
+
+<p> In the above example, the mode of the file dialog is set to <a href="#Mode-enum">AnyFile</a>, meaning that the user can select any file, or even specify a
+file that doesn't exist. This mode is useful for creating a "File Save
+As" file dialog. Use <a href="#Mode-enum">ExistingFile</a> if the user must select an
+existing file or <a href="#Mode-enum">Directory</a> if only a directory may be selected.
+(See the <a href="#Mode-enum">QFileDialog::Mode</a> enum for the complete list of modes.)
+<p> You can retrieve the dialog's mode with <a href="#mode">mode</a>(). Use <a href="#setFilter">setFilter</a>() to set
+the dialog's file filter, e.g.
+<p> <pre>
+ fd-&gt;setFilter( "Images (*.png *.xpm *.jpg)" );
+ </pre>
+
+<p> In the above example, the filter is set to "Images (*.png *.xpm
+*.jpg)", this means that only files with the extension <tt>png</tt>, <tt>xpm</tt>
+or <tt>jpg</tt> will be shown in the QFileDialog. You can apply
+several filters by using <a href="#setFilters">setFilters</a>() and add additional filters with
+<a href="#addFilter">addFilter</a>(). Use <a href="#setSelectedFilter">setSelectedFilter</a>() to select one of the filters
+you've given as the file dialog's default filter. Whenever the user
+changes the filter the <a href="#filterSelected">filterSelected</a>() signal is emitted.
+<p> The file dialog has two view modes, QFileDialog::List which simply
+lists file and directory names and QFileDialog::Detail which
+displays additional information alongside each name, e.g. file size,
+modification date, etc. Set the mode with <a href="#setViewMode">setViewMode</a>().
+<p> <pre>
+ fd-&gt;setViewMode( QFileDialog::<a href="#ViewMode-enum">Detail</a> );
+ </pre>
+
+<p> The last important function you will need to use when creating your
+own file dialog is <a href="#selectedFile">selectedFile</a>().
+<p> <pre>
+ <a href="qstring.html">QString</a> fileName;
+ if ( fd-&gt;exec() == QDialog::<a href="qdialog.html#DialogCode-enum">Accepted</a> )
+ fileName = fd-&gt;selectedFile();
+ </pre>
+
+<p> In the above example, a modal file dialog is created and shown. If
+the user clicked OK, then the file they selected is put in <tt>fileName</tt>.
+<p> If you are using the <a href="#Mode-enum">ExistingFiles</a> mode then you will need to use
+<a href="#selectedFiles">selectedFiles</a>() which will return the selected files in a <a href="qstringlist.html">QStringList</a>.
+<p> The dialog's working directory can be set with <a href="#setDir">setDir</a>(). The display
+of hidden files is controlled with <a href="#setShowHiddenFiles">setShowHiddenFiles</a>(). The dialog
+can be forced to re-read the directory with <a href="#rereadDir">rereadDir</a>() and re-sort
+the directory with <a href="#resortDir">resortDir</a>(). All the files in the current directory
+can be selected with <a href="#selectAll">selectAll</a>().
+<p> <h3> Creating and using preview widgets
+</h3>
+<a name="1"></a><p> There are two kinds of preview widgets that can be used with
+QFileDialogs: <em>content</em> preview widgets and <em>information</em> preview
+widgets. They are created and used in the same way except that the
+function names differ, e.g. <a href="#setContentsPreview">setContentsPreview</a>() and <a href="#setInfoPreview">setInfoPreview</a>().
+<p> A preview widget is a widget that is placed inside a QFileDialog so
+that the user can see either the contents of the file, or information
+about the file.
+<p> <pre>
+ class Preview : public <a href="qlabel.html">QLabel</a>, public QFilePreview
+ {
+ public:
+ Preview( <a href="qwidget.html">QWidget</a> *parent=0 ) : <a href="qlabel.html">QLabel</a>( parent ) {}
+
+ void previewUrl( const <a href="qurl.html">QUrl</a> &amp;u )
+ {
+ <a href="qstring.html">QString</a> path = u.<a href="qurl.html#path">path</a>();
+ <a href="qpixmap.html">QPixmap</a> pix( path );
+ if ( pix.<a href="qpixmap.html#isNull">isNull</a>() )
+ setText( "This is not a pixmap" );
+ else
+ setPixmap( pix );
+ }
+ };
+ </pre>
+
+<p> In the above snippet, we create a preview widget which inherits from
+<a href="qlabel.html">QLabel</a> and <a href="qfilepreview.html">QFilePreview</a>. File preview widgets <em>must</em> inherit from
+QFilePreview.
+<p> Inside the class we reimplement <a href="qfilepreview.html#previewUrl">QFilePreview::previewUrl</a>(), this is
+where we determine what happens when a file is selected. In the
+above example we only show a preview of the file if it is a valid
+pixmap. Here's how to make a file dialog use a preview widget:
+<p> <pre>
+ Preview* p = new Preview;
+
+ QFileDialog* fd = new QFileDialog( this );
+ fd-&gt;<a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>( TRUE );
+ fd-&gt;<a href="#setContentsPreview">setContentsPreview</a>( p, p );
+ fd-&gt;<a href="#setPreviewMode">setPreviewMode</a>( QFileDialog::<a href="#PreviewMode-enum">Contents</a> );
+ fd-&gt;<a href="qdialog.html#show">show</a>();
+ </pre>
+
+<p> The first line creates an instance of our preview widget. We then
+create our file dialog and call <a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>( TRUE ),
+this tell the file dialog to preview the contents of the currently
+selected file. We then call <a href="#setContentsPreview">setContentsPreview</a>() -- note that we pass
+the same preview widget twice. Finally, before showing the file
+dialog, we call <a href="#setPreviewMode">setPreviewMode</a>() setting the mode to <em>Contents</em> which
+will show the contents preview of the file that the user has selected.
+<p> If you create another preview widget that is used for displaying
+information about a file, create it in the same way as the contents
+preview widget and call <a href="#setInfoPreviewEnabled">setInfoPreviewEnabled</a>(), and
+<a href="#setInfoPreview">setInfoPreview</a>(). Then the user will be able to switch between the
+two preview modes.
+<p> For more information about creating a <a href="qfilepreview.html">QFilePreview</a> widget see
+<a href="qfilepreview.html">QFilePreview</a>.
+<p> <img src=qfiledlg-m.png> <img src=qfiledlg-w.png>
+<p> <p>See also <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Mode-enum"></a>QFileDialog::Mode</h3>
+<p> This enum is used to indicate what the user may select in the file
+dialog, i.e. what the dialog will return if the user clicks OK.
+<ul>
+<li><tt>QFileDialog::AnyFile</tt> - The name of a file, whether it exists or not.
+<li><tt>QFileDialog::ExistingFile</tt> - The name of a single existing file.
+<li><tt>QFileDialog::Directory</tt> - The name of a directory. Both files and directories
+are displayed.
+<li><tt>QFileDialog::DirectoryOnly</tt> - The name of a directory. The file dialog will only display directories.
+<li><tt>QFileDialog::ExistingFiles</tt> - The names of zero or more existing files.
+</ul><p> See <a href="#setMode">setMode</a>().
+
+<h3 class=fn><a name="PreviewMode-enum"></a>QFileDialog::PreviewMode</h3>
+
+<p> This enum describes the preview mode of the file dialog.
+<ul>
+<li><tt>QFileDialog::NoPreview</tt> - No preview is shown at all.
+<li><tt>QFileDialog::Contents</tt> - Show a preview of the contents of the current file
+using the contents preview widget.
+<li><tt>QFileDialog::Info</tt> - Show information about the current file using the
+info preview widget.
+</ul><p> See <a href="#setPreviewMode">setPreviewMode</a>(), <a href="#setContentsPreview">setContentsPreview</a>() and <a href="#setInfoPreview">setInfoPreview</a>().
+
+<h3 class=fn><a name="ViewMode-enum"></a>QFileDialog::ViewMode</h3>
+
+<p> This enum describes the view mode of the file dialog, i.e. what
+information about each file will be displayed.
+<ul>
+<li><tt>QFileDialog::List</tt> - Display file and directory names with icons.
+<li><tt>QFileDialog::Detail</tt> - Display file and directory names with icons plus
+additional information, such as file size and modification date.
+</ul><p> See <a href="#setViewMode">setViewMode</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFileDialog"></a>QFileDialog::QFileDialog ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dirName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )
+</h3>
+Constructs a file dialog called <em>name</em> with the parent, <em>parent</em>.
+If <em>modal</em> is TRUE then the file dialog is modal; otherwise it is
+modeless.
+<p> If <em>dirName</em> is specified then it will be used as the dialog's
+working directory, i.e. it will be the directory that is shown when
+the dialog appears. If <em>filter</em> is specified it will be used as the
+dialog's file filter.
+<p>
+<h3 class=fn><a name="QFileDialog-2"></a>QFileDialog::QFileDialog ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )
+</h3>
+Constructs a file dialog called <em>name</em>, with the parent, <em>parent</em>.
+If <em>modal</em> is TRUE then the file dialog is modal; otherwise it is
+modeless.
+
+<h3 class=fn><a name="~QFileDialog"></a>QFileDialog::~QFileDialog ()
+</h3>
+Destroys the file dialog.
+
+<h3 class=fn>void <a name="addFilter"></a>QFileDialog::addFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter )
+</h3>
+Adds the filter <em>filter</em> to the list of filters and makes it the
+current filter.
+<p> <pre>
+ QFileDialog* fd = new QFileDialog( this );
+ fd-&gt;<a href="#addFilter">addFilter</a>( "Images (*.png *.jpg *.xpm)" );
+ fd-&gt;<a href="qdialog.html#show">show</a>();
+ </pre>
+
+<p> In the above example, a file dialog is created, and the file filter "Images
+(*.png *.jpg *.xpm)" is added and is set as the current filter. The original
+filter, "All Files (*)", is still available.
+<p> <p>See also <a href="#setFilter">setFilter</a>() and <a href="#setFilters">setFilters</a>().
+
+<h3 class=fn>void <a name="addLeftWidget"></a>QFileDialog::addLeftWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [protected]</tt>
+</h3>
+Adds the widget <em>w</em> to the left-hand side of the file dialog.
+<p> <p>See also <a href="#addRightWidget">addRightWidget</a>(), <a href="#addWidgets">addWidgets</a>(), and <a href="#addToolButton">addToolButton</a>().
+
+<h3 class=fn>void <a name="addRightWidget"></a>QFileDialog::addRightWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [protected]</tt>
+</h3>
+Adds the widget <em>w</em> to the right-hand side of the file dialog.
+<p> <p>See also <a href="#addLeftWidget">addLeftWidget</a>(), <a href="#addWidgets">addWidgets</a>(), and <a href="#addToolButton">addToolButton</a>().
+
+<h3 class=fn>void <a name="addToolButton"></a>QFileDialog::addToolButton ( <a href="qbutton.html">QButton</a>&nbsp;*&nbsp;b, bool&nbsp;separator = FALSE )<tt> [protected]</tt>
+</h3>
+Adds the tool button <em>b</em> to the row of tool buttons at the top of the
+file dialog. The button is appended to the right of
+this row. If <em>separator</em> is TRUE, a small space is inserted between the
+last button of the row and the new button <em>b</em>.
+<p> <p>See also <a href="#addWidgets">addWidgets</a>(), <a href="#addLeftWidget">addLeftWidget</a>(), and <a href="#addRightWidget">addRightWidget</a>().
+
+<h3 class=fn>void <a name="addWidgets"></a>QFileDialog::addWidgets ( <a href="qlabel.html">QLabel</a>&nbsp;*&nbsp;l, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qpushbutton.html">QPushButton</a>&nbsp;*&nbsp;b )<tt> [protected]</tt>
+</h3>
+Adds the specified widgets to the bottom of the file dialog. The
+label <em>l</em> is placed underneath the "file name" and the "file types"
+labels. The widget <em>w</em> is placed underneath the file types combobox.
+The button <em>b</em> is placed underneath the Cancel pushbutton.
+<p> <pre>
+ MyFileDialog::MyFileDialog( <a href="qwidget.html">QWidget</a>* parent, const char* name ) :
+ <a href="#QFileDialog">QFileDialog</a>( parent, name )
+ {
+ <a href="qlabel.html">QLabel</a>* label = new <a href="qlabel.html">QLabel</a>( "Added widgets", this );
+ <a href="qlineedit.html">QLineEdit</a>* lineedit = new <a href="qlineedit.html">QLineEdit</a>( this );
+ <a href="qpushbutton.html">QPushButton</a>* pushbutton = new <a href="qpushbutton.html">QPushButton</a>( this );
+
+ <a href="#addWidgets">addWidgets</a>( label, lineedit, pushbutton );
+ }
+ </pre>
+
+<p> If you don't want to have one of the widgets added, pass 0 in that
+widget's position.
+<p> Every time you call this function, a new row of widgets will be added
+to the bottom of the file dialog.
+<p> <p>See also <a href="#addToolButton">addToolButton</a>(), <a href="#addLeftWidget">addLeftWidget</a>(), and <a href="#addRightWidget">addRightWidget</a>().
+
+<h3 class=fn>const&nbsp;<a href="qdir.html">QDir</a>&nbsp;* <a name="dir"></a>QFileDialog::dir () const
+</h3>
+Returns the current directory shown in the file dialog.
+<p> The ownership of the <a href="qdir.html">QDir</a> pointer is transferred to the caller, so
+it must be deleted by the caller when no longer required.
+<p> <p>See also <a href="#setDir">setDir</a>().
+
+<h3 class=fn>void <a name="dirEntered"></a>QFileDialog::dirEntered ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user enters a directory.
+<p> <p>See also <a href="#dir">dir</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dirPath"></a>QFileDialog::dirPath () const
+</h3><p>Returns the file dialog's working directory.
+See the <a href="qfiledialog.html#dirPath-prop">"dirPath"</a> property for details.
+<h3 class=fn>void <a name="fileHighlighted"></a>QFileDialog::fileHighlighted ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user highlights a file, i.e. makes
+it the current file.
+<p> <p>See also <a href="#fileSelected">fileSelected</a>() and <a href="#filesSelected">filesSelected</a>().
+
+<h3 class=fn>void <a name="fileSelected"></a>QFileDialog::fileSelected ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user selects a file.
+<p> <p>See also <a href="#filesSelected">filesSelected</a>(), <a href="#fileHighlighted">fileHighlighted</a>(), and <a href="#selectedFile-prop">selectedFile</a>.
+
+<h3 class=fn>void <a name="filesSelected"></a>QFileDialog::filesSelected ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user selects one or more files in <em>ExistingFiles</em> mode.
+<p> <p>See also <a href="#fileSelected">fileSelected</a>(), <a href="#fileHighlighted">fileHighlighted</a>(), and <a href="#selectedFiles-prop">selectedFiles</a>.
+
+<h3 class=fn>void <a name="filterSelected"></a>QFileDialog::filterSelected ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user selects a filter.
+<p> <p>See also <a href="#selectedFilter-prop">selectedFilter</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="getExistingDirectory"></a>QFileDialog::getExistingDirectory ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null, bool&nbsp;dirOnly = TRUE, bool&nbsp;resolveSymlinks = TRUE )<tt> [static]</tt>
+</h3>
+This is a convenience static function that will return an existing directory
+selected by the user.
+<p> <pre>
+ <a href="qstring.html">QString</a> s = QFileDialog::<a href="#getExistingDirectory">getExistingDirectory</a>(
+ "/home",
+ this,
+ "get existing directory",
+ "Choose a directory",
+ TRUE );
+ </pre>
+
+<p> This function creates a modal file dialog called <em>name</em>, with
+parent, <em>parent</em>. If parent is not 0, the dialog will be shown
+centered over the parent.
+<p> The dialog's working directory is set to <em>dir</em>, and the caption is
+set to <em>caption</em>. Either of these may be <a href="qstring.html#QString-null">QString::null</a> in which case
+the current directory and a default caption will be used respectively.
+<p> Note on Windows that if <em>dir</em> is QString::null then the dialog's working
+directory will be set to the user's My Documents directory.
+<p> If <em>dirOnly</em> is TRUE, then only directories will be shown in
+the file dialog; otherwise both directories and files will be shown.
+<p> Under Unix/X11, the normal behavior of the file dialog is to resolve
+and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp,
+the file dialog will change to /var/tmp after entering /usr/tmp.
+If <em>resolveSymlinks</em> is FALSE, the file dialog will treat
+symlinks as regular directories.
+<p> Under Windows and Mac OS X, this static function will use the native
+file dialog and not a QFileDialog, unless the style of the application
+is set to something other than the native style. (Note that on Windows the
+dialog will spin a blocking modal event loop that will not dispatch any
+QTimers and if parent is not 0 then it will position the dialog just under
+the parent's titlebar).
+<p> <p>See also <a href="#getOpenFileName">getOpenFileName</a>(), <a href="#getOpenFileNames">getOpenFileNames</a>(), and <a href="#getSaveFileName">getSaveFileName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="getOpenFileName"></a>QFileDialog::getOpenFileName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null, <a href="qstring.html">QString</a>&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )<tt> [static]</tt>
+</h3>
+This is a convenience static function that returns an existing file
+selected by the user. If the user pressed Cancel, it returns a null
+string.
+<p> <pre>
+ <a href="qstring.html">QString</a> s = QFileDialog::<a href="#getOpenFileName">getOpenFileName</a>(
+ "/home",
+ "Images (*.png *.xpm *.jpg)",
+ this,
+ "open file dialog",
+ "Choose a file to open" );
+ </pre>
+
+<p> The function creates a modal file dialog called <em>name</em>, with
+parent, <em>parent</em>. If a parent is not 0, the dialog will be shown
+centered over the parent.
+<p> The file dialog's working directory will be set to <em>startWith</em>. If <em>startWith</em> includes a file name, the file will be selected. The filter
+is set to <em>filter</em> so that only those files which match the filter
+are shown. The filter selected is set to <em>selectedFilter</em>. The parameters
+<em>startWith</em>, <em>selectedFilter</em> and <em>filter</em> may be <a href="qstring.html#QString-null">QString::null</a>.
+<p> The dialog's caption is set to <em>caption</em>. If <em>caption</em> is not
+specified then a default caption will be used.
+<p> Under Windows and Mac OS X, this static function will use the native
+file dialog and not a QFileDialog, unless the style of the application
+is set to something other than the native style (Note that on Windows the
+dialog will spin a blocking modal event loop that will not dispatch any
+QTimers and if parent is not 0 then it will position the dialog just under
+the parent's titlebar).
+<p> Under Unix/X11, the normal behavior of the file dialog is to resolve
+and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp,
+the file dialog will change to /var/tmp after entering /usr/tmp.
+If <em>resolveSymlinks</em> is FALSE, the file dialog will treat
+symlinks as regular directories.
+<p> <p>See also <a href="#getOpenFileNames">getOpenFileNames</a>(), <a href="#getSaveFileName">getSaveFileName</a>(), and <a href="#getExistingDirectory">getExistingDirectory</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1132">action/application.cpp</a>, <a href="addressbook-example.html#x567">addressbook/mainwindow.cpp</a>, <a href="simple-application-example.html#x1549">application/application.cpp</a>, <a href="distributor-example.html#x2660">distributor/distributor.ui.h</a>, <a href="ftpclient-example.html#x741">network/ftpclient/ftpmainwindow.ui.h</a>, <a href="qwerty-example.html#x365">qwerty/qwerty.cpp</a>, and <a href="showimg-example.html#x1318">showimg/showimg.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="getOpenFileNames"></a>QFileDialog::getOpenFileNames ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null, <a href="qstring.html">QString</a>&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )<tt> [static]</tt>
+</h3>
+This is a convenience static function that will return one or more
+existing files selected by the user.
+<p> <pre>
+ <a href="qstringlist.html">QStringList</a> files = QFileDialog::<a href="#getOpenFileNames">getOpenFileNames</a>(
+ "Images (*.png *.xpm *.jpg)",
+ "/home",
+ this,
+ "open files dialog",
+ "Select one or more files to open" );
+ </pre>
+
+<p> This function creates a modal file dialog called <em>name</em>, with
+parent <em>parent</em>. If <em>parent</em> is not 0, the dialog will be shown
+centered over the parent.
+<p> The file dialog's working directory will be set to <em>dir</em>. If <em>dir</em> includes a file name, the file will be selected. The filter
+is set to <em>filter</em> so that only those files which match the filter
+are shown. The filter selected is set to <em>selectedFilter</em>. The parameters
+<em>dir</em>, <em>selectedFilter</em> and <em>filter</em> may be <a href="qstring.html#QString-null">QString::null</a>.
+<p> The dialog's caption is set to <em>caption</em>. If <em>caption</em> is not
+specified then a default caption will be used.
+<p> Under Windows and Mac OS X, this static function will use the native
+file dialog and not a QFileDialog, unless the style of the application
+is set to something other than the native style. (Note that on Windows the
+dialog will spin a blocking modal event loop that will not dispatch any
+QTimers and if parent is not 0 then it will position the dialog just under
+the parent's titlebar).
+<p> Under Unix/X11, the normal behavior of the file dialog is to resolve
+and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp,
+the file dialog will change to /var/tmp after entering /usr/tmp.
+If <em>resolveSymlinks</em> is FALSE, the file dialog will treat
+symlinks as regular directories.
+<p> Note that if you want to iterate over the list of files, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = files;
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#getOpenFileName">getOpenFileName</a>(), <a href="#getSaveFileName">getSaveFileName</a>(), and <a href="#getExistingDirectory">getExistingDirectory</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="getSaveFileName"></a>QFileDialog::getSaveFileName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null, <a href="qstring.html">QString</a>&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )<tt> [static]</tt>
+</h3>
+This is a convenience static function that will return a file name
+selected by the user. The file does not have to exist.
+<p> It creates a modal file dialog called <em>name</em>, with parent, <em>parent</em>.
+If a parent is not 0, the dialog will be shown centered over the
+parent.
+<p> <pre>
+ <a href="qstring.html">QString</a> s = QFileDialog::<a href="#getSaveFileName">getSaveFileName</a>(
+ "/home",
+ "Images (*.png *.xpm *.jpg)",
+ this,
+ "save file dialog",
+ "Choose a filename to save under" );
+ </pre>
+
+<p> The file dialog's working directory will be set to <em>startWith</em>. If <em>startWith</em> includes a file name, the file will be selected. The filter
+is set to <em>filter</em> so that only those files which match the filter
+are shown. The filter selected is set to <em>selectedFilter</em>. The parameters
+<em>startWith</em>, <em>selectedFilter</em> and <em>filter</em> may be <a href="qstring.html#QString-null">QString::null</a>.
+<p> The dialog's caption is set to <em>caption</em>. If <em>caption</em> is not
+specified then a default caption will be used.
+<p> Under Windows and Mac OS X, this static function will use the native
+file dialog and not a QFileDialog, unless the style of the application
+is set to something other than the native style. (Note that on Windows the
+dialog will spin a blocking modal event loop that will not dispatch any
+QTimers and if parent is not 0 then it will position the dialog just under
+the parent's titlebar.
+<p> Under Unix/X11, the normal behavior of the file dialog is to resolve
+and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp,
+the file dialog will change to /var/tmp after entering /usr/tmp.
+If <em>resolveSymlinks</em> is FALSE, the file dialog will treat
+symlinks as regular directories.
+<p> <p>See also <a href="#getOpenFileName">getOpenFileName</a>(), <a href="#getOpenFileNames">getOpenFileNames</a>(), and <a href="#getExistingDirectory">getExistingDirectory</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1133">action/application.cpp</a>, <a href="addressbook-example.html#x568">addressbook/mainwindow.cpp</a>, <a href="simple-application-example.html#x1550">application/application.cpp</a>, <a href="ftpclient-example.html#x742">network/ftpclient/ftpmainwindow.ui.h</a>, <a href="qmag-example.html#x1775">qmag/qmag.cpp</a>, <a href="qwerty-example.html#x366">qwerty/qwerty.cpp</a>, and <a href="showimg-example.html#x1319">showimg/showimg.cpp</a>.
+<h3 class=fn><a href="qfileiconprovider.html">QFileIconProvider</a>&nbsp;* <a name="iconProvider"></a>QFileDialog::iconProvider ()<tt> [static]</tt>
+</h3>
+Returns a pointer to the icon provider currently set on the file dialog.
+By default there is no icon provider, and this function returns 0.
+<p> <p>See also <a href="#setIconProvider">setIconProvider</a>() and <a href="qfileiconprovider.html">QFileIconProvider</a>.
+
+<h3 class=fn>bool <a name="isContentsPreviewEnabled"></a>QFileDialog::isContentsPreviewEnabled () const
+</h3><p>Returns TRUE if the file dialog can provide a contents preview of the currently selected file; otherwise returns FALSE.
+See the <a href="qfiledialog.html#contentsPreview-prop">"contentsPreview"</a> property for details.
+<h3 class=fn>bool <a name="isInfoPreviewEnabled"></a>QFileDialog::isInfoPreviewEnabled () const
+</h3><p>Returns TRUE if the file dialog can provide preview information about the currently selected file; otherwise returns FALSE.
+See the <a href="qfiledialog.html#infoPreview-prop">"infoPreview"</a> property for details.
+<h3 class=fn><a href="qfiledialog.html#Mode-enum">Mode</a> <a name="mode"></a>QFileDialog::mode () const
+</h3><p>Returns the file dialog's mode.
+See the <a href="qfiledialog.html#mode-prop">"mode"</a> property for details.
+<h3 class=fn><a href="qfiledialog.html#PreviewMode-enum">PreviewMode</a> <a name="previewMode"></a>QFileDialog::previewMode () const
+</h3><p>Returns the preview mode for the file dialog.
+See the <a href="qfiledialog.html#previewMode-prop">"previewMode"</a> property for details.
+<h3 class=fn>void <a name="rereadDir"></a>QFileDialog::rereadDir ()
+</h3>
+Rereads the current directory shown in the file dialog.
+<p> The only time you will need to call this function is if the contents of
+the directory change and you wish to refresh the file dialog to reflect
+the change.
+<p> <p>See also <a href="#resortDir">resortDir</a>().
+
+<h3 class=fn>void <a name="resortDir"></a>QFileDialog::resortDir ()
+</h3>
+Re-sorts the displayed directory.
+<p> <p>See also <a href="#rereadDir">rereadDir</a>().
+
+<h3 class=fn>void <a name="selectAll"></a>QFileDialog::selectAll ( bool&nbsp;b )
+</h3>
+If <em>b</em> is TRUE then all the files in the current directory are selected;
+otherwise, they are deselected.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFile"></a>QFileDialog::selectedFile () const
+</h3><p>Returns the name of the selected file.
+See the <a href="qfiledialog.html#selectedFile-prop">"selectedFile"</a> property for details.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="selectedFiles"></a>QFileDialog::selectedFiles () const
+</h3><p>Returns the list of selected files.
+See the <a href="qfiledialog.html#selectedFiles-prop">"selectedFiles"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFilter"></a>QFileDialog::selectedFilter () const
+</h3><p>Returns the filter which the user has selected in the file dialog.
+See the <a href="qfiledialog.html#selectedFilter-prop">"selectedFilter"</a> property for details.
+<h3 class=fn>void <a name="setContentsPreview"></a>QFileDialog::setContentsPreview ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qfilepreview.html">QFilePreview</a>&nbsp;*&nbsp;preview )
+</h3>
+Sets the widget to be used for displaying the contents of the file
+to the widget <em>w</em> and a preview of those contents to the
+<a href="qfilepreview.html">QFilePreview</a> <em>preview</em>.
+<p> Normally you would create a preview widget that derives from both <a href="qwidget.html">QWidget</a> and
+QFilePreview, so you should pass the same widget twice. If you
+don't, you must remember to delete the preview object in order to
+avoid memory leaks.
+<p> <pre>
+ class Preview : public <a href="qlabel.html">QLabel</a>, public QFilePreview
+ {
+ public:
+ Preview( <a href="qwidget.html">QWidget</a> *parent=0 ) : <a href="qlabel.html">QLabel</a>( parent ) {}
+
+ void previewUrl( const <a href="qurl.html">QUrl</a> &amp;u )
+ {
+ <a href="qstring.html">QString</a> path = u.<a href="qurl.html#path">path</a>();
+ <a href="qpixmap.html">QPixmap</a> pix( path );
+ if ( pix.<a href="qpixmap.html#isNull">isNull</a>() )
+ setText( "This is not a pixmap" );
+ else
+ setPixmap( pix );
+ }
+ };
+
+ //...
+
+ int main( int argc, char** argv )
+ {
+ Preview* p = new Preview;
+
+ QFileDialog* fd = new QFileDialog( this );
+ fd-&gt;<a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>( TRUE );
+ fd-&gt;<a href="#setContentsPreview">setContentsPreview</a>( p, p );
+ fd-&gt;<a href="#setPreviewMode">setPreviewMode</a>( QFileDialog::<a href="#PreviewMode-enum">Contents</a> );
+ fd-&gt;<a href="qdialog.html#show">show</a>();
+ }
+ </pre>
+
+<p> <p>See also <a href="#contentsPreview-prop">contentsPreview</a>, <a href="#setInfoPreview">setInfoPreview</a>(), and <a href="#previewMode-prop">previewMode</a>.
+
+<p>Example: <a href="qdir-example.html#x1817">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="setContentsPreviewEnabled"></a>QFileDialog::setContentsPreviewEnabled ( bool )
+</h3><p>Sets whether the file dialog can provide a contents preview of the currently selected file.
+See the <a href="qfiledialog.html#contentsPreview-prop">"contentsPreview"</a> property for details.
+<h3 class=fn>void <a name="setDir"></a>QFileDialog::setDir ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;dir )
+</h3>
+Sets the file dialog's working directory to <em>dir</em>.
+<p>See also <a href="#dir">dir</a>().
+
+<h3 class=fn>void <a name="setDir-2"></a>QFileDialog::setDir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pathstr )<tt> [slot]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the file dialog's working directory to <em>pathstr</em>.
+<p> <p>See also <a href="#dir">dir</a>().
+
+<h3 class=fn>void <a name="setFilter"></a>QFileDialog::setFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newFilter )<tt> [slot]</tt>
+</h3>
+<p> Sets the filter used in the file dialog to <em>newFilter</em>.
+<p> If <em>newFilter</em> contains a pair of parentheses containing one or more
+of <em><b>anything*something</b></em> separated by spaces or by
+semi-colons then only the text contained in the parentheses is used as
+the filter. This means that these calls are all equivalent:
+<p> <pre>
+ fd-&gt;setFilter( "All C++ files (*.cpp *.cc *.C *.cxx *.c++)" );
+ fd-&gt;setFilter( "*.cpp *.cc *.C *.cxx *.c++" );
+ fd-&gt;setFilter( "All C++ files (*.cpp;*.cc;*.C;*.cxx;*.c++)" );
+ fd-&gt;setFilter( "*.cpp;*.cc;*.C;*.cxx;*.c++" );
+ </pre>
+
+<p> <p>See also <a href="#setFilters">setFilters</a>().
+
+<h3 class=fn>void <a name="setFilters"></a>QFileDialog::setFilters ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filters )<tt> [slot]</tt>
+</h3>
+Sets the filters used in the file dialog to <em>filters</em>. Each group
+of filters must be separated by <tt>;;</tt> (<em>two</em> semi-colons).
+<p> <pre>
+ <a href="qstring.html">QString</a> types("Image files (*.png *.xpm *.jpg);;"
+ "Text files (*.txt);;"
+ "Any files (*)");
+ QFileDialog fd = new QFileDialog( this );
+ fd-&gt;<a href="#setFilters">setFilters</a>( types );
+ fd-&gt;<a href="qdialog.html#show">show</a>();
+ </pre>
+
+<p>
+<h3 class=fn>void <a name="setFilters-2"></a>QFileDialog::setFilters ( const&nbsp;char&nbsp;**&nbsp;types )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>types</em> must be a null-terminated list of strings.
+<p>
+<h3 class=fn>void <a name="setFilters-3"></a>QFileDialog::setFilters ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp; )<tt> [slot]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="setIconProvider"></a>QFileDialog::setIconProvider ( <a href="qfileiconprovider.html">QFileIconProvider</a>&nbsp;*&nbsp;provider )<tt> [static]</tt>
+</h3>
+Sets the <a href="qfileiconprovider.html">QFileIconProvider</a> used by the file dialog to <em>provider</em>.
+<p> The default is that there is no QFileIconProvider and QFileDialog
+just draws a folder icon next to each directory and nothing next
+to files.
+<p> <p>See also <a href="qfileiconprovider.html">QFileIconProvider</a> and <a href="#iconProvider">iconProvider</a>().
+
+<p>Example: <a href="showimg-example.html#x1362">showimg/main.cpp</a>.
+<h3 class=fn>void <a name="setInfoPreview"></a>QFileDialog::setInfoPreview ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qfilepreview.html">QFilePreview</a>&nbsp;*&nbsp;preview )
+</h3>
+Sets the widget to be used for displaying information about the file
+to the widget <em>w</em> and a preview of that information to the
+<a href="qfilepreview.html">QFilePreview</a> <em>preview</em>.
+<p> Normally you would create a preview widget that derives from both <a href="qwidget.html">QWidget</a> and
+QFilePreview, so you should pass the same widget twice. If you
+don't, you must remember to delete the preview object in order to
+avoid memory leaks.
+<p> <pre>
+ class Preview : public <a href="qlabel.html">QLabel</a>, public QFilePreview
+ {
+ public:
+ Preview( <a href="qwidget.html">QWidget</a> *parent=0 ) : <a href="qlabel.html">QLabel</a>( parent ) {}
+
+ void previewUrl( const <a href="qurl.html">QUrl</a> &amp;u )
+ {
+ <a href="qstring.html">QString</a> path = u.<a href="qurl.html#path">path</a>();
+ <a href="qpixmap.html">QPixmap</a> pix( path );
+ if ( pix.<a href="qpixmap.html#isNull">isNull</a>() )
+ setText( "This is not a pixmap" );
+ else
+ setText( "This is a pixmap" );
+ }
+ };
+
+ //...
+
+ int main( int argc, char** argv )
+ {
+ Preview* p = new Preview;
+
+ QFileDialog* fd = new QFileDialog( this );
+ fd-&gt;<a href="#setInfoPreviewEnabled">setInfoPreviewEnabled</a>( TRUE );
+ fd-&gt;<a href="#setInfoPreview">setInfoPreview</a>( p, p );
+ fd-&gt;<a href="#setPreviewMode">setPreviewMode</a>( QFileDialog::<a href="#PreviewMode-enum">Info</a> );
+ fd-&gt;<a href="qdialog.html#show">show</a>();
+ }
+
+ </pre>
+
+<p> <p>See also <a href="#setContentsPreview">setContentsPreview</a>(), <a href="#infoPreview-prop">infoPreview</a>, and <a href="#previewMode-prop">previewMode</a>.
+
+<p>
+<h3 class=fn>void <a name="setInfoPreviewEnabled"></a>QFileDialog::setInfoPreviewEnabled ( bool )
+</h3><p>Sets whether the file dialog can provide preview information about the currently selected file.
+See the <a href="qfiledialog.html#infoPreview-prop">"infoPreview"</a> property for details.
+<h3 class=fn>void <a name="setMode"></a>QFileDialog::setMode ( <a href="qfiledialog.html#Mode-enum">Mode</a> )
+</h3><p>Sets the file dialog's mode.
+See the <a href="qfiledialog.html#mode-prop">"mode"</a> property for details.
+<h3 class=fn>void <a name="setPreviewMode"></a>QFileDialog::setPreviewMode ( <a href="qfiledialog.html#PreviewMode-enum">PreviewMode</a>&nbsp;m )
+</h3><p>Sets the preview mode for the file dialog to <em>m</em>.
+See the <a href="qfiledialog.html#previewMode-prop">"previewMode"</a> property for details.
+<h3 class=fn>void <a name="setSelectedFilter"></a>QFileDialog::setSelectedFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;mask )<tt> [virtual]</tt>
+</h3>
+Sets the current filter selected in the file dialog to the first
+one that contains the text <em>mask</em>.
+
+<h3 class=fn>void <a name="setSelectedFilter-2"></a>QFileDialog::setSelectedFilter ( int&nbsp;n )<tt> [virtual]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the current filter selected in the file dialog to the
+<em>n</em>-th filter in the filter list.
+<p> <p>See also <a href="#filterSelected">filterSelected</a>(), <a href="#selectedFilter-prop">selectedFilter</a>, <a href="#selectedFiles-prop">selectedFiles</a>, and <a href="#selectedFile-prop">selectedFile</a>.
+
+<h3 class=fn>void <a name="setSelection"></a>QFileDialog::setSelection ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )
+</h3>
+Sets the default selection to <em>filename</em>. If <em>filename</em> is
+absolute, <a href="#setDir">setDir</a>() is also called to set the file dialog's working
+directory to the filename's directory.
+<p>
+
+<p>Example: <a href="qdir-example.html#x1821">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="setShowHiddenFiles"></a>QFileDialog::setShowHiddenFiles ( bool&nbsp;s )
+</h3><p>Sets whether hidden files are shown in the file dialog to <em>s</em>.
+See the <a href="qfiledialog.html#showHiddenFiles-prop">"showHiddenFiles"</a> property for details.
+<h3 class=fn>void <a name="setUrl"></a>QFileDialog::setUrl ( const&nbsp;<a href="qurloperator.html">QUrlOperator</a>&nbsp;&amp;&nbsp;url )<tt> [slot]</tt>
+</h3>
+Sets the file dialog's working directory to the directory specified at <em>url</em>.
+<p> <p>See also <a href="#url">url</a>().
+
+<h3 class=fn>void <a name="setViewMode"></a>QFileDialog::setViewMode ( <a href="qfiledialog.html#ViewMode-enum">ViewMode</a>&nbsp;m )
+</h3><p>Sets the file dialog's view mode to <em>m</em>.
+See the <a href="qfiledialog.html#viewMode-prop">"viewMode"</a> property for details.
+<h3 class=fn>bool <a name="showHiddenFiles"></a>QFileDialog::showHiddenFiles () const
+</h3><p>Returns TRUE if hidden files are shown in the file dialog; otherwise returns FALSE.
+See the <a href="qfiledialog.html#showHiddenFiles-prop">"showHiddenFiles"</a> property for details.
+<h3 class=fn><a href="qurl.html">QUrl</a> <a name="url"></a>QFileDialog::url () const
+</h3>
+Returns the URL of the current working directory in the file dialog.
+<p> <p>See also <a href="#setUrl">setUrl</a>().
+
+<p>Example: <a href="qdialog.html#x2129">network/networkprotocol/view.cpp</a>.
+<h3 class=fn><a href="qfiledialog.html#ViewMode-enum">ViewMode</a> <a name="viewMode"></a>QFileDialog::viewMode () const
+</h3><p>Returns the file dialog's view mode.
+See the <a href="qfiledialog.html#viewMode-prop">"viewMode"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="contentsPreview-prop"></a>contentsPreview</h3>
+<p>This property holds whether the file dialog can provide a contents preview of the currently selected file.
+<p>The default is FALSE.
+<p> <p>See also <a href="#setContentsPreview">setContentsPreview</a>() and <a href="#infoPreview-prop">infoPreview</a>.
+
+<p>Set this property's value with <a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>() and get this property's value with <a href="#isContentsPreviewEnabled">isContentsPreviewEnabled</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dirPath-prop"></a>dirPath</h3>
+<p>This property holds the file dialog's working directory.
+<p>Get this property's value with <a href="#dirPath">dirPath</a>().
+<p><p>See also <a href="#dir">dir</a>() and <a href="#setDir">setDir</a>().
+
+<h3 class=fn>bool <a name="infoPreview-prop"></a>infoPreview</h3>
+<p>This property holds whether the file dialog can provide preview information about the currently selected file.
+<p>The default is FALSE.
+
+<p>Set this property's value with <a href="#setInfoPreviewEnabled">setInfoPreviewEnabled</a>() and get this property's value with <a href="#isInfoPreviewEnabled">isInfoPreviewEnabled</a>().
+<h3 class=fn><a href="qfiledialog.html#Mode-enum">Mode</a> <a name="mode-prop"></a>mode</h3>
+<p>This property holds the file dialog's mode.
+<p>The default mode is <a href="#Mode-enum">ExistingFile</a>.
+
+<p>Set this property's value with <a href="#setMode">setMode</a>() and get this property's value with <a href="#mode">mode</a>().
+<h3 class=fn><a href="qfiledialog.html#PreviewMode-enum">PreviewMode</a> <a name="previewMode-prop"></a>previewMode</h3>
+<p>This property holds the preview mode for the file dialog.
+<p>If you set the mode to be a mode other than <em>NoPreview</em>, you must
+use <a href="#setInfoPreview">setInfoPreview</a>() or <a href="#setContentsPreview">setContentsPreview</a>() to set the dialog's
+preview widget to your preview widget and enable the preview
+widget(s) with <a href="#setInfoPreviewEnabled">setInfoPreviewEnabled</a>() or
+<a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>().
+<p> <p>See also <a href="#infoPreview-prop">infoPreview</a>, <a href="#contentsPreview-prop">contentsPreview</a>, and <a href="#viewMode-prop">viewMode</a>.
+
+<p>Set this property's value with <a href="#setPreviewMode">setPreviewMode</a>() and get this property's value with <a href="#previewMode">previewMode</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFile-prop"></a>selectedFile</h3>
+<p>This property holds the name of the selected file.
+<p>If a file was selected selectedFile contains the file's name including
+its absolute path; otherwise selectedFile is empty.
+<p> <p>See also <a href="qstring.html#isEmpty">QString::isEmpty</a>(), <a href="#selectedFiles-prop">selectedFiles</a>, and <a href="#selectedFilter-prop">selectedFilter</a>.
+
+<p>Get this property's value with <a href="#selectedFile">selectedFile</a>().
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="selectedFiles-prop"></a>selectedFiles</h3>
+<p>This property holds the list of selected files.
+<p>If one or more files are selected, selectedFiles contains their
+names including their absolute paths. If no files are selected or
+the mode isn't ExistingFiles selectedFiles is an empty list.
+<p> It is more convenient to use <a href="#selectedFile">selectedFile</a>() if the mode is
+<a href="#Mode-enum">ExistingFile</a>, <a href="#Mode-enum">Directory</a> or <a href="#Mode-enum">DirectoryOnly</a>.
+<p> Note that if you want to iterate over the list, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myFileDialog.selectedFiles();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#selectedFile-prop">selectedFile</a>, <a href="#selectedFilter-prop">selectedFilter</a>, and <a href="qvaluelist.html#empty">QValueList::empty</a>().
+
+<p>Get this property's value with <a href="#selectedFiles">selectedFiles</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFilter-prop"></a>selectedFilter</h3>
+<p>This property holds the filter which the user has selected in the file dialog.
+<p>Get this property's value with <a href="#selectedFilter">selectedFilter</a>().
+<p><p>See also <a href="#filterSelected">filterSelected</a>(), <a href="#selectedFiles-prop">selectedFiles</a>, and <a href="#selectedFile-prop">selectedFile</a>.
+
+<h3 class=fn>bool <a name="showHiddenFiles-prop"></a>showHiddenFiles</h3>
+<p>This property holds whether hidden files are shown in the file dialog.
+<p>The default is FALSE, i.e. don't show hidden files.
+
+<p>Set this property's value with <a href="#setShowHiddenFiles">setShowHiddenFiles</a>() and get this property's value with <a href="#showHiddenFiles">showHiddenFiles</a>().
+<h3 class=fn><a href="qfiledialog.html#ViewMode-enum">ViewMode</a> <a name="viewMode-prop"></a>viewMode</h3>
+<p>This property holds the file dialog's view mode.
+<p>If you set the view mode to be <em>Detail</em> (the default), then you
+will see the file's details, such as the size of the file and the
+date the file was last modified in addition to the file's name.
+<p> If you set the view mode to be <em>List</em>, then you will just
+see a list of the files and folders.
+<p> See <a href="#ViewMode-enum">QFileDialog::ViewMode</a>
+
+<p>Set this property's value with <a href="#setViewMode">setViewMode</a>() and get this property's value with <a href="#viewMode">viewMode</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfiledlg-m.png b/doc/html/qfiledlg-m.png
new file mode 100644
index 0000000..0e40fdb
--- /dev/null
+++ b/doc/html/qfiledlg-m.png
Binary files differ
diff --git a/doc/html/qfiledlg-w.png b/doc/html/qfiledlg-w.png
new file mode 100644
index 0000000..8054fef
--- /dev/null
+++ b/doc/html/qfiledlg-w.png
Binary files differ
diff --git a/doc/html/qfileiconprovider-members.html b/doc/html/qfileiconprovider-members.html
new file mode 100644
index 0000000..ddb007b
--- /dev/null
+++ b/doc/html/qfileiconprovider-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfiledialog.h:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileIconProvider Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFileIconProvider</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfileiconprovider.html">QFileIconProvider</a>, including inherited members.
+
+<ul>
+<li><a href="qfileiconprovider.html#QFileIconProvider">QFileIconProvider</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qfileiconprovider.html#pixmap">pixmap</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfileiconprovider.html b/doc/html/qfileiconprovider.html
new file mode 100644
index 0000000..941983a
--- /dev/null
+++ b/doc/html/qfileiconprovider.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qfiledialog.cpp:4946 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileIconProvider Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFileIconProvider Class Reference</h1>
+
+<p>The QFileIconProvider class provides icons for QFileDialog to
+use.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qfileiconprovider-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFileIconProvider"><b>QFileIconProvider</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual const QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( const&nbsp;QFileInfo&nbsp;&amp;&nbsp;info )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+<p> The QFileIconProvider class provides icons for <a href="qfiledialog.html">QFileDialog</a> to
+use.
+<p>
+<p> By default QFileIconProvider is not used, but any application or
+library can subclass it, reimplement <a href="#pixmap">pixmap</a>() to return a suitable
+icon, and make all QFileDialog objects use it by calling the static
+function <a href="qfiledialog.html#setIconProvider">QFileDialog::setIconProvider</a>().
+<p> It is advisable to make all the icons that QFileIconProvider returns be
+the same size or at least the same width. This makes the list view
+look much better.
+<p> <p>See also <a href="qfiledialog.html">QFileDialog</a> and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFileIconProvider"></a>QFileIconProvider::QFileIconProvider ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3> Constructs an empty file icon provider called <em>name</em>, with the
+parent <em>parent</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QFileIconProvider::pixmap ( const&nbsp;<a href="qfileinfo.html">QFileInfo</a>&nbsp;&amp;&nbsp;info )<tt> [virtual]</tt>
+</h3>
+Returns a pointer to a pixmap that should be used to
+signify the file with the information <em>info</em>.
+<p> If <a href="#pixmap">pixmap</a>() returns 0, <a href="qfiledialog.html">QFileDialog</a> draws the default pixmap.
+<p> The default implementation returns particular icons for files, directories,
+link-files and link-directories. It returns a blank "icon" for other types.
+<p> If you return a pixmap here, it should measure 16x16 pixels.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfileinfo-h.html b/doc/html/qfileinfo-h.html
new file mode 100644
index 0000000..80e25f2
--- /dev/null
+++ b/doc/html/qfileinfo-h.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfileinfo.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfileinfo.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfileinfo.h</h1>
+
+<p>This is the verbatim text of the qfileinfo.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfileinfo.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFileInfo class
+**
+** Created : 950628
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFILEINFO_H
+#define QFILEINFO_H
+
+#ifndef QT_H
+#include "qfile.h"
+#include "qdatetime.h"
+#endif // QT_H
+
+
+class QDir;
+struct QFileInfoCache;
+template &lt;class T&gt; class QDeepCopy;
+
+
+class Q_EXPORT QFileInfo
+{
+public:
+ enum PermissionSpec {
+ ReadOwner = 04000, WriteOwner = 02000, ExeOwner = 01000,
+ ReadUser = 00400, WriteUser = 00200, ExeUser = 00100,
+ ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010,
+ ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 };
+
+ QFileInfo();
+ QFileInfo( const QString &amp;file );
+ QFileInfo( const QFile &amp; );
+#ifndef QT_NO_DIR
+ QFileInfo( const QDir &amp;, const QString &amp;fileName );
+#endif
+ QFileInfo( const QFileInfo &amp; );
+ ~QFileInfo();
+
+ QFileInfo &amp;operator=( const QFileInfo &amp; );
+
+ void setFile( const QString &amp;file );
+ void setFile( const QFile &amp; );
+#ifndef QT_NO_DIR
+ void setFile( const QDir &amp;, const QString &amp;fileName );
+#endif
+ bool exists() const;
+ void refresh() const;
+ bool caching() const;
+ void setCaching( bool );
+
+ QString filePath() const;
+ QString fileName() const;
+#ifndef QT_NO_DIR //###
+ QString absFilePath() const;
+#endif
+ QString baseName( bool complete = FALSE ) const;
+ QString extension( bool complete = TRUE ) const;
+
+#ifndef QT_NO_DIR //###
+ QString dirPath( bool absPath = FALSE ) const;
+#endif
+#ifndef QT_NO_DIR
+ QDir dir( bool absPath = FALSE ) const;
+#endif
+ bool isReadable() const;
+ bool isWritable() const;
+ bool isExecutable() const;
+ bool isHidden() const;
+
+#ifndef QT_NO_DIR //###
+ bool isRelative() const;
+ bool convertToAbs();
+#endif
+
+ bool isFile() const;
+ bool isDir() const;
+ bool isSymLink() const;
+
+ QString readLink() const;
+
+ QString owner() const;
+ uint ownerId() const;
+ QString group() const;
+ uint groupId() const;
+
+ bool permission( int permissionSpec ) const;
+
+#if (QT_VERSION-0 &gt;= 0x040000)
+#error "QFileInfo::size() should return QIODevice::Offset instead of uint"
+#elif defined(QT_ABI_QT4)
+ QIODevice::Offset size() const;
+#else
+ uint size() const;
+#endif
+
+ QDateTime created() const;
+ QDateTime lastModified() const;
+ QDateTime lastRead() const;
+
+private:
+ void doStat() const;
+ static void slashify( QString &amp; );
+ static void makeAbs( QString &amp; );
+
+ QString fn;
+ QFileInfoCache *fic;
+ bool cache;
+#if defined(Q_OS_UNIX)
+ bool symLink;
+#endif
+
+ void detach();
+ friend class QDeepCopy&lt; QFileInfo &gt;;
+};
+
+
+inline bool QFileInfo::caching() const
+{
+ return cache;
+}
+
+
+#endif // QFILEINFO_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfileinfo-members.html b/doc/html/qfileinfo-members.html
new file mode 100644
index 0000000..817b4f3
--- /dev/null
+++ b/doc/html/qfileinfo-members.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfileinfo.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileInfo Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFileInfo</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfileinfo.html">QFileInfo</a>, including inherited members.
+
+<ul>
+<li><a href="qfileinfo.html#QFileInfo">QFileInfo</a>()
+<li><a href="qfileinfo.html#~QFileInfo">~QFileInfo</a>()
+<li><a href="qfileinfo.html#absFilePath">absFilePath</a>()
+<li><a href="qfileinfo.html#baseName">baseName</a>()
+<li><a href="qfileinfo.html#caching">caching</a>()
+<li><a href="qfileinfo.html#convertToAbs">convertToAbs</a>()
+<li><a href="qfileinfo.html#created">created</a>()
+<li><a href="qfileinfo.html#dir">dir</a>()
+<li><a href="qfileinfo.html#dirPath">dirPath</a>()
+<li><a href="qfileinfo.html#exists">exists</a>()
+<li><a href="qfileinfo.html#extension">extension</a>()
+<li><a href="qfileinfo.html#fileName">fileName</a>()
+<li><a href="qfileinfo.html#filePath">filePath</a>()
+<li><a href="qfileinfo.html#group">group</a>()
+<li><a href="qfileinfo.html#groupId">groupId</a>()
+<li><a href="qfileinfo.html#isDir">isDir</a>()
+<li><a href="qfileinfo.html#isExecutable">isExecutable</a>()
+<li><a href="qfileinfo.html#isFile">isFile</a>()
+<li><a href="qfileinfo.html#isHidden">isHidden</a>()
+<li><a href="qfileinfo.html#isReadable">isReadable</a>()
+<li><a href="qfileinfo.html#isRelative">isRelative</a>()
+<li><a href="qfileinfo.html#isSymLink">isSymLink</a>()
+<li><a href="qfileinfo.html#isWritable">isWritable</a>()
+<li><a href="qfileinfo.html#lastModified">lastModified</a>()
+<li><a href="qfileinfo.html#lastRead">lastRead</a>()
+<li><a href="qfileinfo.html#operator-eq">operator=</a>()
+<li><a href="qfileinfo.html#owner">owner</a>()
+<li><a href="qfileinfo.html#ownerId">ownerId</a>()
+<li><a href="qfileinfo.html#permission">permission</a>()
+<li><a href="qfileinfo.html#readLink">readLink</a>()
+<li><a href="qfileinfo.html#refresh">refresh</a>()
+<li><a href="qfileinfo.html#setCaching">setCaching</a>()
+<li><a href="qfileinfo.html#setFile">setFile</a>()
+<li><a href="qfileinfo.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfileinfo.html b/doc/html/qfileinfo.html
new file mode 100644
index 0000000..bc7ae8d
--- /dev/null
+++ b/doc/html/qfileinfo.html
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qfileinfo.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFileInfo Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFileInfo Class Reference</h1>
+
+<p>The QFileInfo class provides system-independent file information.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;</tt>
+<p><a href="qfileinfo-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#PermissionSpec-enum"><b>PermissionSpec</b></a> { ReadOwner = 04000, WriteOwner = 02000, ExeOwner = 01000, ReadUser = 00400, WriteUser = 00200, ExeUser = 00100, ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }</li>
+<li class=fn><a href="#QFileInfo"><b>QFileInfo</b></a> ()</li>
+<li class=fn><a href="#QFileInfo-2"><b>QFileInfo</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn><a href="#QFileInfo-3"><b>QFileInfo</b></a> ( const&nbsp;QFile&nbsp;&amp;&nbsp;file )</li>
+<li class=fn><a href="#QFileInfo-4"><b>QFileInfo</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d, const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn><a href="#QFileInfo-5"><b>QFileInfo</b></a> ( const&nbsp;QFileInfo&nbsp;&amp;&nbsp;fi )</li>
+<li class=fn><a href="#~QFileInfo"><b>~QFileInfo</b></a> ()</li>
+<li class=fn>QFileInfo &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QFileInfo&nbsp;&amp;&nbsp;fi )</li>
+<li class=fn>void <a href="#setFile"><b>setFile</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn>void <a href="#setFile-2"><b>setFile</b></a> ( const&nbsp;QFile&nbsp;&amp;&nbsp;file )</li>
+<li class=fn>void <a href="#setFile-3"><b>setFile</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;d, const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>bool <a href="#exists"><b>exists</b></a> () const</li>
+<li class=fn>void <a href="#refresh"><b>refresh</b></a> () const</li>
+<li class=fn>bool <a href="#caching"><b>caching</b></a> () const</li>
+<li class=fn>void <a href="#setCaching"><b>setCaching</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>QString <a href="#filePath"><b>filePath</b></a> () const</li>
+<li class=fn>QString <a href="#fileName"><b>fileName</b></a> () const</li>
+<li class=fn>QString <a href="#absFilePath"><b>absFilePath</b></a> () const</li>
+<li class=fn>QString <a href="#baseName"><b>baseName</b></a> ( bool&nbsp;complete = FALSE ) const</li>
+<li class=fn>QString <a href="#extension"><b>extension</b></a> ( bool&nbsp;complete = TRUE ) const</li>
+<li class=fn>QString <a href="#dirPath"><b>dirPath</b></a> ( bool&nbsp;absPath = FALSE ) const</li>
+<li class=fn>QDir <a href="#dir"><b>dir</b></a> ( bool&nbsp;absPath = FALSE ) const</li>
+<li class=fn>bool <a href="#isReadable"><b>isReadable</b></a> () const</li>
+<li class=fn>bool <a href="#isWritable"><b>isWritable</b></a> () const</li>
+<li class=fn>bool <a href="#isExecutable"><b>isExecutable</b></a> () const</li>
+<li class=fn>bool <a href="#isHidden"><b>isHidden</b></a> () const</li>
+<li class=fn>bool <a href="#isRelative"><b>isRelative</b></a> () const</li>
+<li class=fn>bool <a href="#convertToAbs"><b>convertToAbs</b></a> ()</li>
+<li class=fn>bool <a href="#isFile"><b>isFile</b></a> () const</li>
+<li class=fn>bool <a href="#isDir"><b>isDir</b></a> () const</li>
+<li class=fn>bool <a href="#isSymLink"><b>isSymLink</b></a> () const</li>
+<li class=fn>QString <a href="#readLink"><b>readLink</b></a> () const</li>
+<li class=fn>QString <a href="#owner"><b>owner</b></a> () const</li>
+<li class=fn>uint <a href="#ownerId"><b>ownerId</b></a> () const</li>
+<li class=fn>QString <a href="#group"><b>group</b></a> () const</li>
+<li class=fn>uint <a href="#groupId"><b>groupId</b></a> () const</li>
+<li class=fn>bool <a href="#permission"><b>permission</b></a> ( int&nbsp;permissionSpec ) const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QDateTime <a href="#created"><b>created</b></a> () const</li>
+<li class=fn>QDateTime <a href="#lastModified"><b>lastModified</b></a> () const</li>
+<li class=fn>QDateTime <a href="#lastRead"><b>lastRead</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QFileInfo class provides system-independent file information.
+<p>
+<p> QFileInfo provides information about a file's name and position
+(path) in the file system, its access rights and whether it is a
+directory or symbolic link, etc. The file's size and last
+modified/read times are also available.
+<p> A QFileInfo can point to a file with either a relative or an
+absolute file path. Absolute file paths begin with the directory
+separator "/" (or with a drive specification on Windows). Relative
+file names begin with a directory name or a file name and specify
+a path relative to the current working directory. An example of an
+absolute path is the string "/tmp/quartz". A relative path might
+look like "src/fatlib". You can use the function <a href="#isRelative">isRelative</a>() to
+check whether a QFileInfo is using a relative or an absolute file
+path. You can call the function <a href="#convertToAbs">convertToAbs</a>() to convert a
+relative QFileInfo's path to an absolute path.
+<p> The file that the QFileInfo works on is set in the constructor or
+later with <a href="#setFile">setFile</a>(). Use <a href="#exists">exists</a>() to see if the file exists and
+<a href="#size">size</a>() to get its size.
+<p> To speed up performance, QFileInfo caches information about the
+file. Because files can be changed by other users or programs, or
+even by other parts of the same program, there is a function that
+refreshes the file information: <a href="#refresh">refresh</a>(). If you want to switch
+off a QFileInfo's caching and force it to access the file system
+every time you request information from it call <a href="#setCaching">setCaching</a>(FALSE).
+<p> The file's type is obtained with <a href="#isFile">isFile</a>(), <a href="#isDir">isDir</a>() and
+<a href="#isSymLink">isSymLink</a>(). The <a href="#readLink">readLink</a>() function provides the name of the file
+the symlink points to.
+<p> Elements of the file's name can be extracted with <a href="#dirPath">dirPath</a>() and
+<a href="#fileName">fileName</a>(). The fileName()'s parts can be extracted with
+<a href="#baseName">baseName</a>() and <a href="#extension">extension</a>().
+<p> The file's dates are returned by <a href="#created">created</a>(), <a href="#lastModified">lastModified</a>() and
+<a href="#lastRead">lastRead</a>(). Information about the file's access permissions is
+obtained with <a href="#isReadable">isReadable</a>(), <a href="#isWritable">isWritable</a>() and <a href="#isExecutable">isExecutable</a>(). The
+file's ownership is available from <a href="#owner">owner</a>(), <a href="#ownerId">ownerId</a>(), <a href="#group">group</a>() and
+<a href="#groupId">groupId</a>(). You can examine a file's permissions and ownership in a
+single statement using the <a href="#permission">permission</a>() function.
+<p> If you need to read and traverse directories, see the <a href="qdir.html">QDir</a> class.
+<p>See also <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="PermissionSpec-enum"></a>QFileInfo::PermissionSpec</h3>
+
+<p> This enum is used by the <a href="#permission">permission</a>() function to report the
+permissions and ownership of a file. The values may be OR-ed
+together to test multiple permissions and ownership values.
+<ul>
+<li><tt>QFileInfo::ReadOwner</tt> - The file is readable by the owner of the file.
+<li><tt>QFileInfo::WriteOwner</tt> - The file is writable by the owner of the file.
+<li><tt>QFileInfo::ExeOwner</tt> - The file is executable by the owner of the file.
+<li><tt>QFileInfo::ReadUser</tt> - The file is readable by the user.
+<li><tt>QFileInfo::WriteUser</tt> - The file is writable by the user.
+<li><tt>QFileInfo::ExeUser</tt> - The file is executable by the user.
+<li><tt>QFileInfo::ReadGroup</tt> - The file is readable by the group.
+<li><tt>QFileInfo::WriteGroup</tt> - The file is writable by the group.
+<li><tt>QFileInfo::ExeGroup</tt> - The file is executable by the group.
+<li><tt>QFileInfo::ReadOther</tt> - The file is readable by anyone.
+<li><tt>QFileInfo::WriteOther</tt> - The file is writable by anyone.
+<li><tt>QFileInfo::ExeOther</tt> - The file is executable by anyone.
+</ul><p> <b>Warning:</b> The semantics of <a href="#PermissionSpec-enum">ReadUser</a>, <a href="#PermissionSpec-enum">WriteUser</a> and <a href="#PermissionSpec-enum">ExeUser</a> are
+unfortunately not platform independent: on Unix, the rights of the owner of
+the file are returned and on Windows the rights of the current user are
+returned. This behavior might change in a future Qt version. If you want to
+find the rights of the owner of the file, you should use the flags <a href="#PermissionSpec-enum">ReadOwner</a>, <a href="#PermissionSpec-enum">WriteOwner</a> and <a href="#PermissionSpec-enum">ExeOwner</a>. If you want to find out the
+rights of the current user, you should use <a href="#isReadable">isReadable</a>(), <a href="#isWritable">isWritable</a>() and
+<a href="#isExecutable">isExecutable</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFileInfo"></a>QFileInfo::QFileInfo ()
+</h3>
+Constructs a new empty QFileInfo.
+
+<h3 class=fn><a name="QFileInfo-2"></a>QFileInfo::QFileInfo ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Constructs a new QFileInfo that gives information about the given
+file. The <em>file</em> can also include an absolute or relative path.
+<p> <b>Warning:</b> Some functions might behave in a counter-intuitive way
+if <em>file</em> has a trailing directory separator.
+<p> <p>See also <a href="#setFile">setFile</a>(), <a href="#isRelative">isRelative</a>(), <a href="qdir.html#setCurrent">QDir::setCurrent</a>(), and <a href="qdir.html#isRelativePath">QDir::isRelativePath</a>().
+
+<h3 class=fn><a name="QFileInfo-3"></a>QFileInfo::QFileInfo ( const&nbsp;<a href="qfile.html">QFile</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Constructs a new QFileInfo that gives information about file <em>file</em>.
+<p> If the <em>file</em> has a relative path, the QFileInfo will also have a
+relative path.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn><a name="QFileInfo-4"></a>QFileInfo::QFileInfo ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )
+</h3>
+Constructs a new QFileInfo that gives information about the file
+called <em>fileName</em> in the directory <em>d</em>.
+<p> If <em>d</em> has a relative path, the QFileInfo will also have a
+relative path.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn><a name="QFileInfo-5"></a>QFileInfo::QFileInfo ( const&nbsp;<a href="qfileinfo.html">QFileInfo</a>&nbsp;&amp;&nbsp;fi )
+</h3>
+Constructs a new QFileInfo that is a copy of <em>fi</em>.
+
+<h3 class=fn><a name="~QFileInfo"></a>QFileInfo::~QFileInfo ()
+</h3>
+Destroys the QFileInfo and frees its resources.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="absFilePath"></a>QFileInfo::absFilePath () const
+</h3>
+Returns the absolute path including the file name.
+<p> The absolute path name consists of the full path and the file
+name. On Unix this will always begin with the root, '/',
+directory. On Windows this will always begin 'D:/' where D is a
+drive letter, except for network shares that are not mapped to a
+drive letter, in which case the path will begin '//sharename/'.
+<p> This function returns the same as <a href="#filePath">filePath</a>(), unless <a href="#isRelative">isRelative</a>()
+is TRUE.
+<p> If the QFileInfo is empty it returns <a href="qdir.html#currentDirPath">QDir::currentDirPath</a>().
+<p> This function can be time consuming under Unix (in the order of
+milliseconds).
+<p> <p>See also <a href="#isRelative">isRelative</a>() and <a href="#filePath">filePath</a>().
+
+<p>Examples: <a href="biff-example.html#x1954">biff/biff.cpp</a> and <a href="fileiconview-example.html#x820">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="baseName"></a>QFileInfo::baseName ( bool&nbsp;complete = FALSE ) const
+</h3>
+Returns the base name of the file.
+<p> If <em>complete</em> is FALSE (the default) the base name consists of
+all characters in the file name up to (but not including) the <em>first</em> '.' character.
+<p> If <em>complete</em> is TRUE the base name consists of all characters in
+the file up to (but not including) the <em>last</em> '.' character.
+<p> The path is not included in either case.
+<p> Example:
+<pre>
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+ <a href="qstring.html">QString</a> base = fi.<a href="#baseName">baseName</a>(); // base = "archive"
+ base = fi.<a href="#baseName">baseName</a>( TRUE ); // base = "archive.tar"
+ </pre>
+
+<p> <p>See also <a href="#fileName">fileName</a>() and <a href="#extension">extension</a>().
+
+<h3 class=fn>bool <a name="caching"></a>QFileInfo::caching () const
+</h3>
+
+<p> Returns TRUE if caching is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setCaching">setCaching</a>() and <a href="#refresh">refresh</a>().
+
+<h3 class=fn>bool <a name="convertToAbs"></a>QFileInfo::convertToAbs ()
+</h3>
+Converts the file's path to an absolute path.
+<p> If it is already absolute, nothing is done.
+<p> <p>See also <a href="#filePath">filePath</a>() and <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="created"></a>QFileInfo::created () const
+</h3>
+Returns the date and time when the file was created.
+<p> On platforms where this information is not available, returns the
+same as <a href="#lastModified">lastModified</a>().
+<p> <p>See also <a href="#lastModified">lastModified</a>() and <a href="#lastRead">lastRead</a>().
+
+<h3 class=fn><a href="qdir.html">QDir</a> <a name="dir"></a>QFileInfo::dir ( bool&nbsp;absPath = FALSE ) const
+</h3>
+Returns the file's path as a <a href="qdir.html">QDir</a> object.
+<p> If the QFileInfo is relative and <em>absPath</em> is FALSE, the QDir
+will be relative; otherwise it will be absolute.
+<p> <p>See also <a href="#dirPath">dirPath</a>(), <a href="#filePath">filePath</a>(), <a href="#fileName">fileName</a>(), and <a href="#isRelative">isRelative</a>().
+
+<p>Example: <a href="fileiconview-example.html#x821">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dirPath"></a>QFileInfo::dirPath ( bool&nbsp;absPath = FALSE ) const
+</h3>
+Returns the file's path.
+<p> If <em>absPath</em> is TRUE an absolute path is returned.
+<p> <p>See also <a href="#dir">dir</a>(), <a href="#filePath">filePath</a>(), <a href="#fileName">fileName</a>(), and <a href="#isRelative">isRelative</a>().
+
+<p>Example: <a href="fileiconview-example.html#x822">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="exists"></a>QFileInfo::exists () const
+</h3>
+Returns TRUE if the file exists; otherwise returns FALSE.
+
+<p>Examples: <a href="biff-example.html#x1955">biff/biff.cpp</a>, <a href="distributor-example.html#x2661">distributor/distributor.ui.h</a>, and <a href="i18n-example.html#x1937">i18n/main.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="extension"></a>QFileInfo::extension ( bool&nbsp;complete = TRUE ) const
+</h3>
+Returns the file's extension name.
+<p> If <em>complete</em> is TRUE (the default), <a href="#extension">extension</a>() returns the
+string of all characters in the file name after (but not
+including) the first '.' character.
+<p> If <em>complete</em> is FALSE, extension() returns the string of all
+characters in the file name after (but not including) the last '.'
+character.
+<p> Example:
+<pre>
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+ <a href="qstring.html">QString</a> ext = fi.<a href="#extension">extension</a>(); // ext = "tar.gz"
+ ext = fi.<a href="#extension">extension</a>( FALSE ); // ext = "gz"
+ </pre>
+
+<p> <p>See also <a href="#fileName">fileName</a>() and <a href="#baseName">baseName</a>().
+
+<p>Example: <a href="qdir-example.html#x1823">qdir/qdir.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fileName"></a>QFileInfo::fileName () const
+</h3>
+Returns the name of the file, excluding the path.
+<p> Example:
+<pre>
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+ <a href="qstring.html">QString</a> name = fi.<a href="#fileName">fileName</a>(); // name = "archive.tar.gz"
+ </pre>
+
+<p> <p>See also <a href="#isRelative">isRelative</a>(), <a href="#filePath">filePath</a>(), <a href="#baseName">baseName</a>(), and <a href="#extension">extension</a>().
+
+<p>Examples: <a href="dirview-example.html#x1675">dirview/dirview.cpp</a>, <a href="fileiconview-example.html#x823">fileiconview/qfileiconview.cpp</a>, and <a href="ftpclient-example.html#x743">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filePath"></a>QFileInfo::filePath () const
+</h3>
+Returns the file name, including the path (which may be absolute
+or relative).
+<p> <p>See also <a href="#isRelative">isRelative</a>() and <a href="#absFilePath">absFilePath</a>().
+
+<p>Examples: <a href="dirview-example.html#x1713">dirview/main.cpp</a> and <a href="fileiconview-example.html#x824">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="group"></a>QFileInfo::group () const
+</h3>
+Returns the group of the file. On Windows, on systems where files
+do not have groups, or if an error occurs, <a href="qstring.html#QString-null">QString::null</a> is
+returned.
+<p> This function can be time consuming under Unix (in the order of
+milliseconds).
+<p> <p>See also <a href="#groupId">groupId</a>(), <a href="#owner">owner</a>(), and <a href="#ownerId">ownerId</a>().
+
+<h3 class=fn>uint <a name="groupId"></a>QFileInfo::groupId () const
+</h3>
+Returns the id of the group the file belongs to.
+<p> On Windows and on systems where files do not have groups this
+function always returns (uint) -2.
+<p> <p>See also <a href="#group">group</a>(), <a href="#owner">owner</a>(), and <a href="#ownerId">ownerId</a>().
+
+<h3 class=fn>bool <a name="isDir"></a>QFileInfo::isDir () const
+</h3>
+Returns TRUE if this object points to a directory or to a symbolic
+link to a directory; otherwise returns FALSE.
+<p> <p>See also <a href="#isFile">isFile</a>() and <a href="#isSymLink">isSymLink</a>().
+
+<p>Examples: <a href="dirview-example.html#x1676">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x825">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="isExecutable"></a>QFileInfo::isExecutable () const
+</h3>
+Returns TRUE if the file is executable; otherwise returns FALSE.
+<p> <p>See also <a href="#isReadable">isReadable</a>(), <a href="#isWritable">isWritable</a>(), and <a href="#permission">permission</a>().
+
+<h3 class=fn>bool <a name="isFile"></a>QFileInfo::isFile () const
+</h3>
+Returns TRUE if this object points to a file. Returns FALSE if the
+object points to something which isn't a file, e.g. a directory or
+a symlink.
+<p> <p>See also <a href="#isDir">isDir</a>() and <a href="#isSymLink">isSymLink</a>().
+
+<p>Examples: <a href="dirview-example.html#x1677">dirview/dirview.cpp</a>, <a href="distributor-example.html#x2662">distributor/distributor.ui.h</a>, <a href="fileiconview-example.html#x826">fileiconview/qfileiconview.cpp</a>, and <a href="qdir-example.html#x1824">qdir/qdir.cpp</a>.
+<h3 class=fn>bool <a name="isHidden"></a>QFileInfo::isHidden () const
+</h3>
+Returns TRUE if the file is hidden; otherwise returns FALSE.
+<p> On Unix-like operating systems, including Mac OS X, a file is
+hidden if its name begins with ".". On Windows a file is hidden if
+its hidden attribute is set.
+
+<h3 class=fn>bool <a name="isReadable"></a>QFileInfo::isReadable () const
+</h3>
+Returns TRUE if the file is readable; otherwise returns FALSE.
+<p> <p>See also <a href="#isWritable">isWritable</a>(), <a href="#isExecutable">isExecutable</a>(), and <a href="#permission">permission</a>().
+
+<p>Example: <a href="distributor-example.html#x2663">distributor/distributor.ui.h</a>.
+<h3 class=fn>bool <a name="isRelative"></a>QFileInfo::isRelative () const
+</h3>
+Returns TRUE if the file path name is relative. Returns FALSE if
+the path is absolute (e.g. under Unix a path is absolute if it
+begins with a "/").
+
+<h3 class=fn>bool <a name="isSymLink"></a>QFileInfo::isSymLink () const
+</h3>
+Returns TRUE if this object points to a symbolic link (or to a
+shortcut on Windows, or an alias on Mac OS X); otherwise returns
+FALSE.
+<p> <p>See also <a href="#isFile">isFile</a>(), <a href="#isDir">isDir</a>(), and <a href="#readLink">readLink</a>().
+
+<p>Examples: <a href="dirview-example.html#x1678">dirview/dirview.cpp</a>, <a href="distributor-example.html#x2664">distributor/distributor.ui.h</a>, and <a href="fileiconview-example.html#x827">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="isWritable"></a>QFileInfo::isWritable () const
+</h3>
+Returns TRUE if the file is writable; otherwise returns FALSE.
+<p> <p>See also <a href="#isReadable">isReadable</a>(), <a href="#isExecutable">isExecutable</a>(), and <a href="#permission">permission</a>().
+
+<p>Example: <a href="distributor-example.html#x2665">distributor/distributor.ui.h</a>.
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="lastModified"></a>QFileInfo::lastModified () const
+</h3>
+Returns the date and time when the file was last modified.
+<p> <p>See also <a href="#created">created</a>() and <a href="#lastRead">lastRead</a>().
+
+<p>Example: <a href="biff-example.html#x1956">biff/biff.cpp</a>.
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="lastRead"></a>QFileInfo::lastRead () const
+</h3>
+Returns the date and time when the file was last read (accessed).
+<p> On platforms where this information is not available, returns the
+same as <a href="#lastModified">lastModified</a>().
+<p> <p>See also <a href="#created">created</a>() and <a href="#lastModified">lastModified</a>().
+
+<p>Example: <a href="biff-example.html#x1957">biff/biff.cpp</a>.
+<h3 class=fn><a href="qfileinfo.html">QFileInfo</a>&nbsp;&amp; <a name="operator-eq"></a>QFileInfo::operator= ( const&nbsp;<a href="qfileinfo.html">QFileInfo</a>&nbsp;&amp;&nbsp;fi )
+</h3>
+Makes a copy of <em>fi</em> and assigns it to this QFileInfo.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="owner"></a>QFileInfo::owner () const
+</h3>
+Returns the owner of the file. On systems where files
+do not have owners, or if an error occurs, <a href="qstring.html#QString-null">QString::null</a> is
+returned.
+<p> This function can be time consuming under Unix (in the order of
+milliseconds).
+<p> <p>See also <a href="#ownerId">ownerId</a>(), <a href="#group">group</a>(), and <a href="#groupId">groupId</a>().
+
+<h3 class=fn>uint <a name="ownerId"></a>QFileInfo::ownerId () const
+</h3>
+Returns the id of the owner of the file.
+<p> On Windows and on systems where files do not have owners this
+function returns ((uint) -2).
+<p> <p>See also <a href="#owner">owner</a>(), <a href="#group">group</a>(), and <a href="#groupId">groupId</a>().
+
+<h3 class=fn>bool <a name="permission"></a>QFileInfo::permission ( int&nbsp;permissionSpec ) const
+</h3>
+Tests for file permissions. The <em>permissionSpec</em> argument can be
+several flags of type <a href="#PermissionSpec-enum">PermissionSpec</a> OR-ed together to check
+for permission combinations.
+<p> On systems where files do not have permissions this function
+always returns TRUE.
+<p> Example:
+<pre>
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+ if ( fi.<a href="#permission">permission</a>( QFileInfo::<a href="#PermissionSpec-enum">WriteUser</a> | QFileInfo::<a href="#PermissionSpec-enum">ReadGroup</a> ) )
+ <a href="qapplication.html#qWarning">qWarning</a>( "I can change the file; my group can read the file" );
+ if ( fi.<a href="#permission">permission</a>( QFileInfo::<a href="#PermissionSpec-enum">WriteGroup</a> | QFileInfo::<a href="#PermissionSpec-enum">WriteOther</a> ) )
+ <a href="qapplication.html#qWarning">qWarning</a>( "The group or others can change the file" );
+ </pre>
+
+<p> <p>See also <a href="#isReadable">isReadable</a>(), <a href="#isWritable">isWritable</a>(), and <a href="#isExecutable">isExecutable</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readLink"></a>QFileInfo::readLink () const
+</h3>
+Returns the name a symlink (or shortcut on Windows) points to, or
+a <a href="qstring.html#QString-null">QString::null</a> if the object isn't a symbolic link.
+<p> This name may not represent an existing file; it is only a string.
+<a href="#exists">QFileInfo::exists</a>() returns TRUE if the symlink points to an
+existing file.
+<p> <p>See also <a href="#exists">exists</a>(), <a href="#isSymLink">isSymLink</a>(), <a href="#isDir">isDir</a>(), and <a href="#isFile">isFile</a>().
+
+<h3 class=fn>void <a name="refresh"></a>QFileInfo::refresh () const
+</h3>
+Refreshes the information about the file, i.e. reads in information
+from the file system the next time a cached property is fetched.
+<p> <p>See also <a href="#setCaching">setCaching</a>().
+
+<h3 class=fn>void <a name="setCaching"></a>QFileInfo::setCaching ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, enables caching of file information. If <em>enable</em> is FALSE caching is disabled.
+<p> When caching is enabled, QFileInfo reads the file information from
+the file system the first time it's needed, but generally not
+later.
+<p> Caching is enabled by default.
+<p> <p>See also <a href="#refresh">refresh</a>() and <a href="#caching">caching</a>().
+
+<h3 class=fn>void <a name="setFile"></a>QFileInfo::setFile ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Sets the file that the QFileInfo provides information about to <em>file</em>.
+<p> The <em>file</em> can also include an absolute or relative file path.
+Absolute paths begin with the directory separator (e.g. "/" under
+Unix) or a drive specification (under Windows). Relative file
+names begin with a directory name or a file name and specify a
+path relative to the current directory.
+<p> Example:
+<pre>
+ <a href="qstring.html">QString</a> absolute = "/local/bin";
+ <a href="qstring.html">QString</a> relative = "local/bin";
+ QFileInfo absFile( absolute );
+ QFileInfo relFile( relative );
+
+ QDir::<a href="qdir.html#setCurrent">setCurrent</a>( QDir::<a href="qdir.html#rootDirPath">rootDirPath</a>() );
+ // absFile and relFile now point to the same file
+
+ QDir::<a href="qdir.html#setCurrent">setCurrent</a>( "/tmp" );
+ // absFile now points to "/local/bin",
+ // while relFile points to "/tmp/local/bin"
+ </pre>
+
+<p> <p>See also <a href="#isRelative">isRelative</a>(), <a href="qdir.html#setCurrent">QDir::setCurrent</a>(), and <a href="qdir.html#isRelativePath">QDir::isRelativePath</a>().
+
+<p>Example: <a href="biff-example.html#x1958">biff/biff.cpp</a>.
+<h3 class=fn>void <a name="setFile-2"></a>QFileInfo::setFile ( const&nbsp;<a href="qfile.html">QFile</a>&nbsp;&amp;&nbsp;file )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the file that the QFileInfo provides information about to <em>file</em>.
+<p> If <em>file</em> includes a relative path, the QFileInfo will also have
+a relative path.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn>void <a name="setFile-3"></a>QFileInfo::setFile ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;d, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the file that the QFileInfo provides information about to <em>fileName</em> in directory <em>d</em>.
+<p> If <em>fileName</em> includes a relative path, the QFileInfo will also
+have a relative path.
+<p> <p>See also <a href="#isRelative">isRelative</a>().
+
+<h3 class=fn>uint <a name="size"></a>QFileInfo::size () const
+</h3>
+Returns the file size in bytes, or 0 if the file does not exist or
+if the size is 0 or if the size cannot be fetched.
+
+<p>Example: <a href="qdir-example.html#x1825">qdir/qdir.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfilepreview-members.html b/doc/html/qfilepreview-members.html
new file mode 100644
index 0000000..d9bf5b7
--- /dev/null
+++ b/doc/html/qfilepreview-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfiledialog.h:82 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFilePreview Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFilePreview</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfilepreview.html">QFilePreview</a>, including inherited members.
+
+<ul>
+<li><a href="qfilepreview.html#QFilePreview">QFilePreview</a>()
+<li><a href="qfilepreview.html#previewUrl">previewUrl</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfilepreview.html b/doc/html/qfilepreview.html
new file mode 100644
index 0000000..7e77e51
--- /dev/null
+++ b/doc/html/qfilepreview.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qfiledialog.cpp:6419 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFilePreview Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFilePreview Class Reference</h1>
+
+<p>The QFilePreview class provides file previewing in QFileDialog.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;</tt>
+<p><a href="qfilepreview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFilePreview"><b>QFilePreview</b></a> ()</li>
+<li class=fn>virtual void <a href="#previewUrl"><b>previewUrl</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QFilePreview class provides file previewing in <a href="qfiledialog.html">QFileDialog</a>.
+<p> This class is an abstract base class which is used to implement
+widgets that can display a preview of a file in a QFileDialog.
+<p> You must derive the preview widget from both <a href="qwidget.html">QWidget</a> and from this
+class. Then you must reimplement this class's <a href="#previewUrl">previewUrl</a>() function,
+which is called by the file dialog if the preview of a file
+(specified as a URL) should be shown.
+<p> See also <a href="qfiledialog.html#setPreviewMode">QFileDialog::setPreviewMode</a>(), <a href="qfiledialog.html#setContentsPreview">QFileDialog::setContentsPreview</a>(),
+<a href="qfiledialog.html#setInfoPreview">QFileDialog::setInfoPreview</a>(), <a href="qfiledialog.html#setInfoPreviewEnabled">QFileDialog::setInfoPreviewEnabled</a>(),
+<a href="qfiledialog.html#setContentsPreviewEnabled">QFileDialog::setContentsPreviewEnabled</a>().
+<p> For an example of a preview widget see qt/examples/qdir/qdir.cpp.
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFilePreview"></a>QFilePreview::QFilePreview ()
+</h3>
+Constructs the QFilePreview.
+
+<h3 class=fn>void <a name="previewUrl"></a>QFilePreview::previewUrl ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function is called by <a href="qfiledialog.html">QFileDialog</a> if a preview
+for the <em>url</em> should be shown. Reimplement this
+function to provide file previewing.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfocusdata-h.html b/doc/html/qfocusdata-h.html
new file mode 100644
index 0000000..3c9c54b
--- /dev/null
+++ b/doc/html/qfocusdata-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfocusdata.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfocusdata.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfocusdata.h</h1>
+
+<p>This is the verbatim text of the qfocusdata.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfocusdata.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of internal QFocusData class
+**
+** Created : 980405
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFOCUSDATA_H
+#define QFOCUSDATA_H
+
+#ifndef QT_H
+#include "qwidgetlist.h"
+#endif // QT_H
+
+
+class Q_EXPORT QFocusData {
+public:
+ QWidget* focusWidget() const { return it.current(); }
+
+ QWidget* home();
+ QWidget* next();
+ QWidget* prev();
+ QWidget* first() const;
+ QWidget* last() const;
+ int count() const { return focusWidgets.count(); }
+
+private:
+ friend class QWidget;
+
+ QFocusData()
+ : it(focusWidgets) {}
+ QWidgetList focusWidgets;
+ QWidgetListIt it;
+};
+
+
+#endif // QFOCUSDATA_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfocusdata-members.html b/doc/html/qfocusdata-members.html
new file mode 100644
index 0000000..23f2575
--- /dev/null
+++ b/doc/html/qfocusdata-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfocusdata.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFocusData Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFocusData</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfocusdata.html">QFocusData</a>, including inherited members.
+
+<ul>
+<li><a href="qfocusdata.html#count">count</a>()
+<li><a href="qfocusdata.html#first">first</a>()
+<li><a href="qfocusdata.html#focusWidget">focusWidget</a>()
+<li><a href="qfocusdata.html#home">home</a>()
+<li><a href="qfocusdata.html#last">last</a>()
+<li><a href="qfocusdata.html#next">next</a>()
+<li><a href="qfocusdata.html#prev">prev</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfocusdata.html b/doc/html/qfocusdata.html
new file mode 100644
index 0000000..0be703f
--- /dev/null
+++ b/doc/html/qfocusdata.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfocusdata.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFocusData Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFocusData Class Reference</h1>
+
+<p>The QFocusData class maintains the list of widgets in the focus
+chain.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfocusdata-h.html">qfocusdata.h</a>&gt;</tt>
+<p><a href="qfocusdata-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>QWidget * <a href="#focusWidget"><b>focusWidget</b></a> () const</li>
+<li class=fn>QWidget * <a href="#home"><b>home</b></a> ()</li>
+<li class=fn>QWidget * <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>QWidget * <a href="#prev"><b>prev</b></a> ()</li>
+<li class=fn>QWidget * <a href="#first"><b>first</b></a> () const</li>
+<li class=fn>QWidget * <a href="#last"><b>last</b></a> () const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFocusData class maintains the list of widgets in the focus
+chain.
+<p>
+<p> This read-only list always contains at least one widget (i.e. the
+top-level widget). It provides a simple cursor which can be reset
+to the current focus widget using <a href="#home">home</a>(), or moved to its
+neighboring widgets using <a href="#next">next</a>() and <a href="#prev">prev</a>(). You can also retrieve
+the <a href="#count">count</a>() of the number of widgets in the list. The list is a
+loop, so if you keep iterating, for example using next(), you will
+never come to the end.
+<p> Some widgets in the list may not accept focus. Widgets are added
+to the list as necessary, but not removed from it. This lets
+widgets change focus policy dynamically without disrupting the
+focus chain the user experiences. When a widget disables and
+re-enables tab focus, its position in the focus chain does not
+change.
+<p> When reimplementing <a href="qwidget.html#focusNextPrevChild">QWidget::focusNextPrevChild</a>() to provide
+special focus flow, you will usually call <a href="qwidget.html#focusData">QWidget::focusData</a>() to
+retrieve the focus data stored at the top-level widget. A
+top-level widget's focus data contains the focus list for its
+hierarchy of widgets.
+<p> The cursor may change at any time.
+<p> This class is <em>not</em> thread-safe.
+<p> <p>See also <a href="qwidget.html#focusNextPrevChild">QWidget::focusNextPrevChild</a>(), <a href="qwidget.html#setTabOrder">QWidget::setTabOrder</a>(), <a href="qwidget.html#focusPolicy-prop">QWidget::focusPolicy</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>int <a name="count"></a>QFocusData::count () const
+</h3>
+
+<p> Returns the number of widgets in the focus chain.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="first"></a>QFocusData::first () const
+</h3>
+Returns the first widget in the focus chain.
+The cursor is not modified.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="focusWidget"></a>QFocusData::focusWidget () const
+</h3>
+
+<p> Returns the widgets in the hierarchy that are in the focus chain.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="home"></a>QFocusData::home ()
+</h3>
+Moves the cursor to the <a href="#focusWidget">focusWidget</a>() and returns that widget. You
+must call this before <a href="#next">next</a>() or <a href="#prev">prev</a>() to iterate meaningfully.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="last"></a>QFocusData::last () const
+</h3>
+Returns the last widget in the focus chain.
+The cursor is not modified.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="next"></a>QFocusData::next ()
+</h3>
+Moves the cursor to the next widget in the focus chain. There is
+<em>always</em> a next widget because the list is a loop.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="prev"></a>QFocusData::prev ()
+</h3>
+Moves the cursor to the previous widget in the focus chain. There
+is <em>always</em> a previous widget because the list is a loop.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfocusevent-members.html b/doc/html/qfocusevent-members.html
new file mode 100644
index 0000000..671df1e
--- /dev/null
+++ b/doc/html/qfocusevent-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:302 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFocusEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFocusEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfocusevent.html">QFocusEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qfocusevent.html#QFocusEvent">QFocusEvent</a>()
+<li><a href="qfocusevent.html#gotFocus">gotFocus</a>()
+<li><a href="qfocusevent.html#lostFocus">lostFocus</a>()
+<li><a href="qfocusevent.html#reason">reason</a>()
+<li><a href="qfocusevent.html#resetReason">resetReason</a>()
+<li><a href="qfocusevent.html#setReason">setReason</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfocusevent.html b/doc/html/qfocusevent.html
new file mode 100644
index 0000000..fe96402
--- /dev/null
+++ b/doc/html/qfocusevent.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1147 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFocusEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFocusEvent Class Reference</h1>
+
+<p>The QFocusEvent class contains event parameters for widget focus
+events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qfocusevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFocusEvent"><b>QFocusEvent</b></a> ( Type&nbsp;type )</li>
+<li class=fn>bool <a href="#gotFocus"><b>gotFocus</b></a> () const</li>
+<li class=fn>bool <a href="#lostFocus"><b>lostFocus</b></a> () const</li>
+<li class=fn>enum <a href="#Reason-enum"><b>Reason</b></a> { Mouse, Tab, Backtab, ActiveWindow, Popup, Shortcut, Other }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>Reason <a href="#reason"><b>reason</b></a> ()</li>
+<li class=fn>void <a href="#setReason"><b>setReason</b></a> ( Reason&nbsp;reason )</li>
+<li class=fn>void <a href="#resetReason"><b>resetReason</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFocusEvent class contains event parameters for widget focus
+events.
+<p>
+<p> Focus events are sent to widgets when the keyboard input focus
+changes. Focus events occur due to mouse actions, keypresses (e.g.
+Tab or Backtab), the window system, popup menus, keyboard
+shortcuts or other application specific reasons. The reason for a
+particular focus event is returned by <a href="#reason">reason</a>() in the appropriate
+event handler.
+<p> The event handlers <a href="qwidget.html#focusInEvent">QWidget::focusInEvent</a>() and
+<a href="qwidget.html#focusOutEvent">QWidget::focusOutEvent</a>() receive focus events.
+<p> Use <a href="#setReason">setReason</a>() to set the reason for all focus events, and
+<a href="#resetReason">resetReason</a>() to set the reason for all focus events to the reason
+in force before the last setReason() call.
+<p> <p>See also <a href="qwidget.html#setFocus">QWidget::setFocus</a>(), <a href="qwidget.html#focusPolicy-prop">QWidget::focusPolicy</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Reason-enum"></a>QFocusEvent::Reason</h3>
+
+<p> This enum specifies why the focus changed.
+<ul>
+<li><tt>QFocusEvent::Mouse</tt> - because of a mouse action.
+<li><tt>QFocusEvent::Tab</tt> - because of a Tab press.
+<li><tt>QFocusEvent::Backtab</tt> - because of a Backtab press
+(possibly including Shift/Control, e.g. Shift+Tab).
+<li><tt>QFocusEvent::ActiveWindow</tt> - because the window system made this window (in)active.
+<li><tt>QFocusEvent::Popup</tt> - because the application opened/closed a popup that grabbed/released focus.
+<li><tt>QFocusEvent::Shortcut</tt> - because of a keyboard shortcut.
+<li><tt>QFocusEvent::Other</tt> - any other reason, usually application-specific.
+</ul><p> See the <a href="focus.html">keyboard focus overview</a> for more
+about focus.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFocusEvent"></a>QFocusEvent::QFocusEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type )
+</h3>
+
+<p> Constructs a focus event object.
+<p> The <em>type</em> parameter must be either <a href="qevent.html#Type-enum">QEvent::FocusIn</a> or <a href="qevent.html#Type-enum">QEvent::FocusOut</a>.
+
+<h3 class=fn>bool <a name="gotFocus"></a>QFocusEvent::gotFocus () const
+</h3>
+
+<p> Returns TRUE if the widget received the text input focus;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="lostFocus"></a>QFocusEvent::lostFocus () const
+</h3>
+
+<p> Returns TRUE if the widget lost the text input focus; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qfocusevent.html#Reason-enum">Reason</a> <a name="reason"></a>QFocusEvent::reason ()<tt> [static]</tt>
+</h3>
+Returns the reason for this focus event.
+<p> <p>See also <a href="#setReason">setReason</a>().
+
+<h3 class=fn>void <a name="resetReason"></a>QFocusEvent::resetReason ()<tt> [static]</tt>
+</h3>
+Resets the reason for all future focus events to the value before
+the last <a href="#setReason">setReason</a>() call.
+<p> <p>See also <a href="#reason">reason</a>() and <a href="#setReason">setReason</a>().
+
+<h3 class=fn>void <a name="setReason"></a>QFocusEvent::setReason ( <a href="qfocusevent.html#Reason-enum">Reason</a>&nbsp;reason )<tt> [static]</tt>
+</h3>
+Sets the reason for all future focus events to <em>reason</em>.
+<p> <p>See also <a href="#reason">reason</a>() and <a href="#resetReason">resetReason</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfont-examples.html b/doc/html/qfont-examples.html
new file mode 100644
index 0000000..d18b2be
--- /dev/null
+++ b/doc/html/qfont-examples.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:397 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFont Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFont Examples</h1>
+
+
+<p> The following example programs show how to use the
+classes <a href="qfont.html">QFont</a>, <a href="qfontmetrics.html">QFontMetrics</a>, <a href="qfontinfo.html">QFontInfo</a>, and <a href="qfontdatabase.html">QFontDatabase</a>.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="simple-font-demo-example.html">A simple demonstration of QFont member functions</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfont-h.html b/doc/html/qfont-h.html
new file mode 100644
index 0000000..b652ab9
--- /dev/null
+++ b/doc/html/qfont-h.html
@@ -0,0 +1,417 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfont.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfont.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfont.h</h1>
+
+<p>This is the verbatim text of the qfont.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfont.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFont class
+**
+** Created : 940514
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONT_H
+#define QFONT_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qstring.h"
+#endif // QT_H
+
+
+class QFontPrivate; /* don't touch */
+class QStringList;
+class QTextFormatCollection;
+
+class Q_EXPORT QFont
+{
+public:
+ enum StyleHint {
+ Helvetica, SansSerif = Helvetica,
+ Times, Serif = Times,
+ Courier, TypeWriter = Courier,
+ OldEnglish, Decorative = OldEnglish,
+ System,
+ AnyStyle
+ };
+
+ enum StyleStrategy {
+ PreferDefault = 0x0001,
+ PreferBitmap = 0x0002,
+ PreferDevice = 0x0004,
+ PreferOutline = 0x0008,
+ ForceOutline = 0x0010,
+ PreferMatch = 0x0020,
+ PreferQuality = 0x0040,
+ PreferAntialias = 0x0080,
+ NoAntialias = 0x0100,
+ OpenGLCompatible = 0x0200
+ };
+
+ enum Weight {
+ Light = 25,
+ Normal = 50,
+ DemiBold = 63,
+ Bold = 75,
+ Black = 87
+ };
+
+ enum Stretch {
+ UltraCondensed = 50,
+ ExtraCondensed = 62,
+ Condensed = 75,
+ SemiCondensed = 87,
+ Unstretched = 100,
+ SemiExpanded = 112,
+ Expanded = 125,
+ ExtraExpanded = 150,
+ UltraExpanded = 200
+ };
+
+ // default font
+ QFont();
+ // specific font
+#ifdef Q_QDOC
+ QFont( const QString &amp;family, int pointSize = 12, int weight = Normal,
+ bool italic = FALSE );
+#else
+ QFont( const QString &amp;family, int pointSize = -1, int weight = -1,
+ bool italic = FALSE );
+#endif
+ // copy constructor
+ QFont( const QFont &amp; );
+
+ ~QFont();
+
+ QString family() const;
+ void setFamily( const QString &amp;);
+
+ int pointSize() const;
+ float pointSizeFloat() const;
+ void setPointSize( int );
+ void setPointSizeFloat( float );
+
+ int pixelSize() const;
+ void setPixelSize( int );
+ void setPixelSizeFloat( float );
+
+ int weight() const;
+ void setWeight( int );
+
+ bool bold() const;
+ void setBold( bool );
+
+ bool italic() const;
+ void setItalic( bool );
+
+ bool underline() const;
+ void setUnderline( bool );
+
+ bool overline() const;
+ void setOverline( bool );
+
+ bool strikeOut() const;
+ void setStrikeOut( bool );
+
+ bool fixedPitch() const;
+ void setFixedPitch( bool );
+
+ StyleHint styleHint() const;
+ StyleStrategy styleStrategy() const;
+ void setStyleHint( StyleHint, StyleStrategy = PreferDefault );
+ void setStyleStrategy( StyleStrategy s );
+
+ int stretch() const;
+ void setStretch( int );
+
+ // is raw mode still needed?
+ bool rawMode() const;
+ void setRawMode( bool );
+
+ // dupicated from QFontInfo
+ bool exactMatch() const;
+
+ QFont &amp;operator=( const QFont &amp; );
+ bool operator==( const QFont &amp; ) const;
+ bool operator!=( const QFont &amp; ) const;
+ bool isCopyOf( const QFont &amp; ) const;
+
+
+#ifdef Q_WS_WIN
+ HFONT handle() const;
+#else // !Q_WS_WIN
+ Qt::HANDLE handle() const;
+#endif // Q_WS_WIN
+
+
+ // needed for X11
+ void setRawName( const QString &amp; );
+ QString rawName() const;
+
+ QString key() const;
+
+ QString toString() const;
+ bool fromString(const QString &amp;);
+
+#ifndef QT_NO_STRINGLIST
+ static QString substitute(const QString &amp;);
+ static QStringList substitutes(const QString &amp;);
+ static QStringList substitutions();
+ static void insertSubstitution(const QString&amp;, const QString &amp;);
+ static void insertSubstitutions(const QString&amp;, const QStringList &amp;);
+ static void removeSubstitution(const QString &amp;);
+#endif //QT_NO_STRINGLIST
+ static void initialize();
+ static void cleanup();
+#ifndef Q_WS_QWS
+ static void cacheStatistics();
+#endif
+
+#if defined(Q_WS_QWS)
+ void qwsRenderToDisk(bool all=TRUE);
+#endif
+
+
+ // a copy of this lives in qunicodetables.cpp, as we can't include
+ // qfont.h it in tools/. Do not modify without changing the script
+ // enum in qunicodetable_p.h aswell.
+ enum Script {
+ // European Alphabetic Scripts
+ Latin,
+ Greek,
+ Cyrillic,
+ Armenian,
+ Georgian,
+ Runic,
+ Ogham,
+ SpacingModifiers,
+ CombiningMarks,
+
+ // Middle Eastern Scripts
+ Hebrew,
+ Arabic,
+ Syriac,
+ Thaana,
+
+ // South and Southeast Asian Scripts
+ Devanagari,
+ Bengali,
+ Gurmukhi,
+ Gujarati,
+ Oriya,
+ Tamil,
+ Telugu,
+ Kannada,
+ Malayalam,
+ Sinhala,
+ Thai,
+ Lao,
+ Tibetan,
+ Myanmar,
+ Khmer,
+
+ // East Asian Scripts
+ Han,
+ Hiragana,
+ Katakana,
+ Hangul,
+ Bopomofo,
+ Yi,
+
+ // Additional Scripts
+ Ethiopic,
+ Cherokee,
+ CanadianAboriginal,
+ Mongolian,
+
+ // Symbols
+ CurrencySymbols,
+ LetterlikeSymbols,
+ NumberForms,
+ MathematicalOperators,
+ TechnicalSymbols,
+ GeometricSymbols,
+ MiscellaneousSymbols,
+ EnclosedAndSquare,
+ Braille,
+
+ Unicode,
+
+ // some scripts added in Unicode 3.2
+ Tagalog,
+ Hanunoo,
+ Buhid,
+ Tagbanwa,
+
+ KatakanaHalfWidth,
+
+ // from Unicode 4.0
+ Limbu,
+ TaiLe,
+
+ // End
+#if !defined(Q_QDOC)
+ NScripts,
+ UnknownScript = NScripts,
+
+ NoScript,
+
+ // ----------------------------------------
+ // Dear User, you can see values &gt; NScript,
+ // but they are internal - do not touch.
+
+ Han_Japanese,
+ Han_SimplifiedChinese,
+ Han_TraditionalChinese,
+ Han_Korean,
+
+ LastPrivateScript
+#endif
+ };
+
+ QString defaultFamily() const;
+ QString lastResortFamily() const;
+ QString lastResortFont() const;
+
+#ifndef QT_NO_COMPAT
+
+ static QFont defaultFont();
+ static void setDefaultFont( const QFont &amp; );
+
+#endif // QT_NO_COMPAT
+
+ QFont resolve( const QFont &amp; ) const;
+
+protected:
+ // why protected?
+ bool dirty() const;
+ int deciPointSize() const;
+
+private:
+ QFont( QFontPrivate *, QPaintDevice *pd );
+
+ void detach();
+
+#if defined(Q_WS_MAC)
+ void macSetFont(QPaintDevice *);
+#elif defined(Q_WS_X11)
+ void x11SetScreen( int screen = -1 );
+ int x11Screen() const;
+#endif
+
+ friend class QFontMetrics;
+ friend class QFontInfo;
+ friend class QPainter;
+ friend class QPSPrinterFont;
+ friend class QApplication;
+ friend class QWidget;
+ friend class QTextFormatCollection;
+ friend class QTextLayout;
+ friend class QTextItem;
+ friend class QGLContext;
+#if defined(Q_WS_X11) &amp;&amp; !defined(QT_NO_XFTFREETYPE)
+ friend Qt::HANDLE qt_xft_handle(const QFont &amp;font);
+#endif
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QFont &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QFont &amp; );
+#endif
+
+ QFontPrivate *d;
+};
+
+
+inline bool QFont::bold() const
+{ return weight() &gt; Normal; }
+
+
+inline void QFont::setBold( bool enable )
+{ setWeight( enable ? Bold : Normal ); }
+
+
+
+
+/*****************************************************************************
+ QFont stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QFont &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QFont &amp; );
+#endif
+
+
+#endif // QFONT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfont-members.html b/doc/html/qfont-members.html
new file mode 100644
index 0000000..38cf859
--- /dev/null
+++ b/doc/html/qfont-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfont.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFont Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFont</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfont.html">QFont</a>, including inherited members.
+
+<ul>
+<li><a href="qfont.html#QFont">QFont</a>()
+<li><a href="qfont.html#~QFont">~QFont</a>()
+<li><a href="qfont.html#bold">bold</a>()
+<li><a href="qfont.html#deciPointSize">deciPointSize</a>()
+<li><a href="qfont.html#defaultFamily">defaultFamily</a>()
+<li><a href="qfont.html#defaultFont">defaultFont</a>()
+<li><a href="qfont.html#dirty">dirty</a>()
+<li><a href="qfont.html#exactMatch">exactMatch</a>()
+<li><a href="qfont.html#family">family</a>()
+<li><a href="qfont.html#fixedPitch">fixedPitch</a>()
+<li><a href="qfont.html#fromString">fromString</a>()
+<li><a href="qfont.html#handle">handle</a>()
+<li><a href="qfont.html#insertSubstitution">insertSubstitution</a>()
+<li><a href="qfont.html#insertSubstitutions">insertSubstitutions</a>()
+<li><a href="qfont.html#isCopyOf">isCopyOf</a>()
+<li><a href="qfont.html#italic">italic</a>()
+<li><a href="qfont.html#key">key</a>()
+<li><a href="qfont.html#lastResortFamily">lastResortFamily</a>()
+<li><a href="qfont.html#lastResortFont">lastResortFont</a>()
+<li><a href="qfont.html#operator!-eq">operator!=</a>()
+<li><a href="qfont.html#operator-eq">operator=</a>()
+<li><a href="qfont.html#operator-eq-eq">operator==</a>()
+<li><a href="qfont.html#overline">overline</a>()
+<li><a href="qfont.html#pixelSize">pixelSize</a>()
+<li><a href="qfont.html#pointSize">pointSize</a>()
+<li><a href="qfont.html#pointSizeFloat">pointSizeFloat</a>()
+<li><a href="qfont.html#qwsRenderToDisk">qwsRenderToDisk</a>()
+<li><a href="qfont.html#rawMode">rawMode</a>()
+<li><a href="qfont.html#rawName">rawName</a>()
+<li><a href="qfont.html#removeSubstitution">removeSubstitution</a>()
+<li><a href="qfont.html#resolve">resolve</a>()
+<li><a href="qfont.html#setBold">setBold</a>()
+<li><a href="qfont.html#setDefaultFont">setDefaultFont</a>()
+<li><a href="qfont.html#setFamily">setFamily</a>()
+<li><a href="qfont.html#setFixedPitch">setFixedPitch</a>()
+<li><a href="qfont.html#setItalic">setItalic</a>()
+<li><a href="qfont.html#setOverline">setOverline</a>()
+<li><a href="qfont.html#setPixelSize">setPixelSize</a>()
+<li><a href="qfont.html#setPixelSizeFloat">setPixelSizeFloat</a>()
+<li><a href="qfont.html#setPointSize">setPointSize</a>()
+<li><a href="qfont.html#setPointSizeFloat">setPointSizeFloat</a>()
+<li><a href="qfont.html#setRawMode">setRawMode</a>()
+<li><a href="qfont.html#setRawName">setRawName</a>()
+<li><a href="qfont.html#setStretch">setStretch</a>()
+<li><a href="qfont.html#setStrikeOut">setStrikeOut</a>()
+<li><a href="qfont.html#setStyleHint">setStyleHint</a>()
+<li><a href="qfont.html#setStyleStrategy">setStyleStrategy</a>()
+<li><a href="qfont.html#setUnderline">setUnderline</a>()
+<li><a href="qfont.html#setWeight">setWeight</a>()
+<li><a href="qfont.html#stretch">stretch</a>()
+<li><a href="qfont.html#strikeOut">strikeOut</a>()
+<li><a href="qfont.html#styleHint">styleHint</a>()
+<li><a href="qfont.html#styleStrategy">styleStrategy</a>()
+<li><a href="qfont.html#substitute">substitute</a>()
+<li><a href="qfont.html#substitutes">substitutes</a>()
+<li><a href="qfont.html#substitutions">substitutions</a>()
+<li><a href="qfont.html#toString">toString</a>()
+<li><a href="qfont.html#underline">underline</a>()
+<li><a href="qfont.html#weight">weight</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfont.html b/doc/html/qfont.html
new file mode 100644
index 0000000..1b31661
--- /dev/null
+++ b/doc/html/qfont.html
@@ -0,0 +1,922 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfont.cpp:236 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFont Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFont Class Reference</h1>
+
+<p>The QFont class specifies a font used for drawing text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;</tt>
+<p><a href="qfont-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#StyleHint-enum"><b>StyleHint</b></a> { Helvetica, SansSerif = Helvetica, Times, Serif = Times, Courier, TypeWriter = Courier, OldEnglish, Decorative = OldEnglish, System, AnyStyle }</li>
+<li class=fn>enum <a href="#StyleStrategy-enum"><b>StyleStrategy</b></a> { PreferDefault = 0x0001, PreferBitmap = 0x0002, PreferDevice = 0x0004, PreferOutline = 0x0008, ForceOutline = 0x0010, PreferMatch = 0x0020, PreferQuality = 0x0040, PreferAntialias = 0x0080, NoAntialias = 0x0100, OpenGLCompatible = 0x0200 }</li>
+<li class=fn>enum <a href="#Weight-enum"><b>Weight</b></a> { Light = 25, Normal = 50, DemiBold = 63, Bold = 75, Black = 87 }</li>
+<li class=fn>enum <a href="#Stretch-enum"><b>Stretch</b></a> { UltraCondensed = 50, ExtraCondensed = 62, Condensed = 75, SemiCondensed = 87, Unstretched = 100, SemiExpanded = 112, Expanded = 125, ExtraExpanded = 150, UltraExpanded = 200 }</li>
+<li class=fn><a href="#QFont"><b>QFont</b></a> ()</li>
+<li class=fn><a href="#QFont-2"><b>QFont</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, int&nbsp;pointSize = 12, int&nbsp;weight = Normal, bool&nbsp;italic = FALSE )</li>
+<li class=fn><a href="#QFont-3"><b>QFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn><a href="#~QFont"><b>~QFont</b></a> ()</li>
+<li class=fn>QString <a href="#family"><b>family</b></a> () const</li>
+<li class=fn>void <a href="#setFamily"><b>setFamily</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family )</li>
+<li class=fn>int <a href="#pointSize"><b>pointSize</b></a> () const</li>
+<li class=fn>float <a href="#pointSizeFloat"><b>pointSizeFloat</b></a> () const</li>
+<li class=fn>void <a href="#setPointSize"><b>setPointSize</b></a> ( int&nbsp;pointSize )</li>
+<li class=fn>void <a href="#setPointSizeFloat"><b>setPointSizeFloat</b></a> ( float&nbsp;pointSize )</li>
+<li class=fn>int <a href="#pixelSize"><b>pixelSize</b></a> () const</li>
+<li class=fn>void <a href="#setPixelSize"><b>setPixelSize</b></a> ( int&nbsp;pixelSize )</li>
+<li class=fn>void setPixelSizeFloat ( float&nbsp;pixelSize ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#weight"><b>weight</b></a> () const</li>
+<li class=fn>void <a href="#setWeight"><b>setWeight</b></a> ( int&nbsp;weight )</li>
+<li class=fn>bool <a href="#bold"><b>bold</b></a> () const</li>
+<li class=fn>void <a href="#setBold"><b>setBold</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#italic"><b>italic</b></a> () const</li>
+<li class=fn>void <a href="#setItalic"><b>setItalic</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#underline"><b>underline</b></a> () const</li>
+<li class=fn>void <a href="#setUnderline"><b>setUnderline</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#overline"><b>overline</b></a> () const</li>
+<li class=fn>void <a href="#setOverline"><b>setOverline</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#strikeOut"><b>strikeOut</b></a> () const</li>
+<li class=fn>void <a href="#setStrikeOut"><b>setStrikeOut</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#fixedPitch"><b>fixedPitch</b></a> () const</li>
+<li class=fn>void <a href="#setFixedPitch"><b>setFixedPitch</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>StyleHint <a href="#styleHint"><b>styleHint</b></a> () const</li>
+<li class=fn>StyleStrategy <a href="#styleStrategy"><b>styleStrategy</b></a> () const</li>
+<li class=fn>void <a href="#setStyleHint"><b>setStyleHint</b></a> ( StyleHint&nbsp;hint, StyleStrategy&nbsp;strategy = PreferDefault )</li>
+<li class=fn>void <a href="#setStyleStrategy"><b>setStyleStrategy</b></a> ( StyleStrategy&nbsp;s )</li>
+<li class=fn>int <a href="#stretch"><b>stretch</b></a> () const</li>
+<li class=fn>void <a href="#setStretch"><b>setStretch</b></a> ( int&nbsp;factor )</li>
+<li class=fn>bool <a href="#rawMode"><b>rawMode</b></a> () const</li>
+<li class=fn>void <a href="#setRawMode"><b>setRawMode</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#exactMatch"><b>exactMatch</b></a> () const</li>
+<li class=fn>QFont &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f ) const</li>
+<li class=fn>bool <a href="#isCopyOf"><b>isCopyOf</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f ) const</li>
+<li class=fn>HFONT <a href="#handle"><b>handle</b></a> () const</li>
+<li class=fn>void <a href="#setRawName"><b>setRawName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QString <a href="#rawName"><b>rawName</b></a> () const</li>
+<li class=fn>QString <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn>bool <a href="#fromString"><b>fromString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;descrip )</li>
+<li class=fn>void <a href="#qwsRenderToDisk"><b>qwsRenderToDisk</b></a> ( bool&nbsp;all = TRUE )</li>
+<li class=fn>enum <a href="#Script-enum"><b>Script</b></a> { Latin, Greek, Cyrillic, Armenian, Georgian, Runic, Ogham, SpacingModifiers, CombiningMarks, Hebrew, Arabic, Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Khmer, Han, Hiragana, Katakana, Hangul, Bopomofo, Yi, Ethiopic, Cherokee, CanadianAboriginal, Mongolian, CurrencySymbols, LetterlikeSymbols, NumberForms, MathematicalOperators, TechnicalSymbols, GeometricSymbols, MiscellaneousSymbols, EnclosedAndSquare, Braille, Unicode, Tagalog, Hanunoo, Buhid, Tagbanwa, KatakanaHalfWidth, Limbu, TaiLe }</li>
+<li class=fn>QString <a href="#defaultFamily"><b>defaultFamily</b></a> () const</li>
+<li class=fn>QString <a href="#lastResortFamily"><b>lastResortFamily</b></a> () const</li>
+<li class=fn>QString <a href="#lastResortFont"><b>lastResortFont</b></a> () const</li>
+<li class=fn>QFont <a href="#resolve"><b>resolve</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;other ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#substitute"><b>substitute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName )</li>
+<li class=fn>QStringList <a href="#substitutes"><b>substitutes</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName )</li>
+<li class=fn>QStringList <a href="#substitutions"><b>substitutions</b></a> ()</li>
+<li class=fn>void <a href="#insertSubstitution"><b>insertSubstitution</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName, const&nbsp;QString&nbsp;&amp;&nbsp;substituteName )</li>
+<li class=fn>void <a href="#insertSubstitutions"><b>insertSubstitutions</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName, const&nbsp;QStringList&nbsp;&amp;&nbsp;substituteNames )</li>
+<li class=fn>void <a href="#removeSubstitution"><b>removeSubstitution</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName )</li>
+<li class=fn>QFont defaultFont () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setDefaultFont ( const&nbsp;QFont&nbsp;&amp;&nbsp;f ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>bool <a href="#dirty"><b>dirty</b></a> () const</li>
+<li class=fn>int <a href="#deciPointSize"><b>deciPointSize</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QFont&nbsp;&amp;&nbsp;font )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFont class specifies a font used for drawing text.
+<p>
+
+
+
+<p> When you create a QFont object you specify various attributes that
+you want the font to have. Qt will use the font with the specified
+attributes, or if no matching font exists, Qt will use the closest
+matching installed font. The attributes of the font that is
+actually used are retrievable from a <a href="qfontinfo.html">QFontInfo</a> object. If the
+window system provides an exact match <a href="#exactMatch">exactMatch</a>() returns TRUE.
+Use <a href="qfontmetrics.html">QFontMetrics</a> to get measurements, e.g. the pixel length of a
+string using <a href="qfontmetrics.html#width">QFontMetrics::width</a>().
+<p> Use <a href="qapplication.html#setFont">QApplication::setFont</a>() to set the application's default font.
+<p> If a choosen X11 font does not include all the characters that
+need to be displayed, QFont will try to find the characters in the
+nearest equivalent fonts. When a <a href="qpainter.html">QPainter</a> draws a character from a
+font the QFont will report whether or not it has the character; if
+it does not, QPainter will draw an unfilled square.
+<p> Create QFonts like this:
+<pre>
+ QFont serifFont( "Times", 10, Bold );
+ QFont sansFont( "Helvetica [Cronyx]", 12 );
+ </pre>
+
+<p> The attributes set in the constructor can also be set later, e.g.
+<a href="#setFamily">setFamily</a>(), <a href="#setPointSize">setPointSize</a>(), <a href="#setPointSizeFloat">setPointSizeFloat</a>(), <a href="#setWeight">setWeight</a>() and
+<a href="#setItalic">setItalic</a>(). The remaining attributes must be set after
+contstruction, e.g. <a href="#setBold">setBold</a>(), <a href="#setUnderline">setUnderline</a>(), <a href="#setOverline">setOverline</a>(),
+<a href="#setStrikeOut">setStrikeOut</a>() and <a href="#setFixedPitch">setFixedPitch</a>(). <a href="qfontinfo.html">QFontInfo</a> objects should be
+created <em>after</em> the font's attributes have been set. A QFontInfo
+object will not change, even if you change the font's
+attributes. The corresponding "get" functions, e.g. <a href="#family">family</a>(),
+<a href="#pointSize">pointSize</a>(), etc., return the values that were set, even though
+the values used may differ. The actual values are available from a
+QFontInfo object.
+<p> If the requested font family is unavailable you can influence the
+<a href="#fontmatching">font matching algorithm</a> by choosing a
+particular <a href="#StyleHint-enum">QFont::StyleHint</a> and <a href="#StyleStrategy-enum">QFont::StyleStrategy</a> with
+<a href="#setStyleHint">setStyleHint</a>(). The default family (corresponding to the current
+style hint) is returned by <a href="#defaultFamily">defaultFamily</a>().
+<p> The font-matching algorithm has a <a href="#lastResortFamily">lastResortFamily</a>() and
+<a href="#lastResortFont">lastResortFont</a>() in cases where a suitable match cannot be found.
+You can provide substitutions for font family names using
+<a href="#insertSubstitution">insertSubstitution</a>() and <a href="#insertSubstitutions">insertSubstitutions</a>(). Substitutions can
+be removed with <a href="#removeSubstitution">removeSubstitution</a>(). Use <a href="#substitute">substitute</a>() to retrieve
+a family's first substitute, or the family name itself if it has
+no substitutes. Use <a href="#substitutes">substitutes</a>() to retrieve a list of a family's
+substitutes (which may be empty).
+<p> Every QFont has a <a href="#key">key</a>() which you can use, for example, as the key
+in a cache or dictionary. If you want to store a user's font
+preferences you could use <a href="qsettings.html">QSettings</a>, writing the font information
+with <a href="#toString">toString</a>() and reading it back with <a href="#fromString">fromString</a>(). The
+<a href="#operator-lt-lt">operator&lt;&lt;</a>() and <a href="#operator-gt-gt">operator&gt;&gt;</a>() functions are also available, but
+they work on a data stream.
+<p> It is possible to set the height of characters shown on the screen
+to a specified number of pixels with <a href="#setPixelSize">setPixelSize</a>(); however using
+<a href="#setPointSize">setPointSize</a>() has a similar effect and provides device
+independence.
+<p> Under the X Window System you can set a font using its system
+specific name with <a href="#setRawName">setRawName</a>().
+<p> Loading fonts can be expensive, especially on X11. QFont contains
+extensive optimizations to make the copying of QFont objects fast,
+and to cache the results of the slow window system functions it
+depends upon.
+<p> <a name="fontmatching"></a>
+The font matching algorithm works as follows:
+<ol type=1>
+<li> The specified font family is searched for.
+<li> If not found, the <a href="#styleHint">styleHint</a>() is used to select a replacement
+family.
+<li> Each replacement font family is searched for.
+<li> If none of these are found or there was no styleHint(), "helvetica"
+will be searched for.
+<li> If "helvetica" isn't found Qt will try the <a href="#lastResortFamily">lastResortFamily</a>().
+<li> If the lastResortFamily() isn't found Qt will try the
+<a href="#lastResortFont">lastResortFont</a>() which will always return a name of some kind.
+</ol>
+<p> Once a font is found, the remaining attributes are matched in order of
+priority:
+<ol type=1>
+<li> <a href="#fixedPitch">fixedPitch</a>()
+<li> <a href="#pointSize">pointSize</a>() (see below)
+<li> <a href="#weight">weight</a>()
+<li> <a href="#italic">italic</a>()
+</ol>
+<p> If you have a font which matches on family, even if none of the
+other attributes match, this font will be chosen in preference to
+a font which doesn't match on family but which does match on the
+other attributes. This is because font family is the dominant
+search criteria.
+<p> The point size is defined to match if it is within 20% of the
+requested point size. When several fonts match and are only
+distinguished by point size, the font with the closest point size
+to the one requested will be chosen.
+<p> The actual family, font size, weight and other font attributes
+used for drawing text will depend on what's available for the
+chosen family under the window system. A <a href="qfontinfo.html">QFontInfo</a> object can be
+used to determine the actual values used for drawing the text.
+<p> Examples:
+<p> <pre>
+ QFont f("Helvetica");
+ </pre>
+
+If you had both an Adobe and a Cronyx Helvetica, you might get
+either.
+<p> <pre>
+ QFont f1( "Helvetica [Cronyx]" ); // Qt 3.x
+ QFont f2( "Cronyx-Helvetica" ); // Qt 2.x compatibility
+ </pre>
+
+You can specify the foundry you want in the family name. Both fonts,
+f1 and f2, in the above example will be set to "Helvetica
+[Cronyx]".
+<p> To determine the attributes of the font actually used in the window
+system, use a QFontInfo object, e.g.
+<pre>
+ <a href="qfontinfo.html">QFontInfo</a> info( f1 );
+ <a href="qstring.html">QString</a> family = info.<a href="qfontinfo.html#family">family</a>();
+ </pre>
+
+<p> To find out font metrics use a <a href="qfontmetrics.html">QFontMetrics</a> object, e.g.
+<pre>
+ <a href="qfontmetrics.html">QFontMetrics</a> fm( f1 );
+ int pixelWidth = fm.<a href="qfontmetrics.html#width">width</a>( "How many pixels wide is this text?" );
+ int pixelHeight = fm.<a href="qfontmetrics.html#height">height</a>();
+ </pre>
+
+<p> For more general information on fonts, see the
+<a href="http://www.nwalsh.com/comp.fonts/FAQ/">comp.fonts FAQ.</a>
+Information on encodings can be found from
+<a href="http://czyborra.com/">Roman Czyborra's</a> page.
+<p> <p>See also <a href="qfontmetrics.html">QFontMetrics</a>, <a href="qfontinfo.html">QFontInfo</a>, <a href="qfontdatabase.html">QFontDatabase</a>, <a href="qapplication.html#setFont">QApplication::setFont</a>(), <a href="qwidget.html#font-prop">QWidget::font</a>, <a href="qpainter.html#setFont">QPainter::setFont</a>(), <a href="#StyleHint-enum">QFont::StyleHint</a>, <a href="#Weight-enum">QFont::Weight</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Script-enum"></a>QFont::Script</h3>
+
+<p> This enum represents <a href="unicode.html">Unicode</a> allocated
+scripts. For exhaustive coverage see <a href="http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t">The
+ Unicode Standard Version 3.0</a>. The following scripts are
+supported:
+<p> Modern European alphabetic scripts (left to right):
+<ul>
+<li><tt>QFont::Latin</tt> - consists of most alphabets based on the original Latin alphabet.
+<li><tt>QFont::Greek</tt> - covers ancient and modern Greek and Coptic.
+<li><tt>QFont::Cyrillic</tt> - covers the Slavic and non-Slavic languages using
+cyrillic alphabets.
+<li><tt>QFont::Armenian</tt> - contains the Armenian alphabet used with the
+Armenian language.
+<li><tt>QFont::Georgian</tt> - covers at least the language Georgian.
+<li><tt>QFont::Runic</tt> - covers the known constituents of the Runic alphabets used
+by the early and medieval societies in the Germanic,
+Scandinavian, and Anglo-Saxon areas.
+<li><tt>QFont::Ogham</tt> - is an alphabetical script used to write a very early
+form of Irish.
+<li><tt>QFont::SpacingModifiers</tt> - are small signs indicating modifications
+to the preceeding letter.
+<li><tt>QFont::CombiningMarks</tt> - consist of diacritical marks not specific to
+a particular alphabet, diacritical marks used in
+combination with mathematical and technical symbols, and
+glyph encodings applied to multiple letterforms.
+</ul><p> Middle Eastern scripts (right to left):
+<ul>
+<li><tt>QFont::Hebrew</tt> - is used for writing Hebrew, Yiddish, and some other languages.
+<li><tt>QFont::Arabic</tt> - covers the Arabic language as well as Persian, Urdu,
+Kurdish and some others.
+<li><tt>QFont::Syriac</tt> - is used to write the active liturgical languages and
+dialects of several Middle Eastern and Southeast Indian
+communities.
+<li><tt>QFont::Thaana</tt> - is used to write the Maledivian Dhivehi language.
+</ul><p> South and Southeast Asian scripts (left to right with few historical exceptions):
+<ul>
+<li><tt>QFont::Devanagari</tt> - covers classical Sanskrit and modern Hindi as
+well as several other languages.
+<li><tt>QFont::Bengali</tt> - is a relative to Devanagari employed to write the
+Bengali language used in West Bengal/India and Bangladesh
+as well as several minority languages.
+<li><tt>QFont::Gurmukhi</tt> - is another Devanagari relative used to write Punjabi.
+<li><tt>QFont::Gujarati</tt> - is closely related to Devanagari and used to write
+the Gujarati language of the Gujarat state in India.
+<li><tt>QFont::Oriya</tt> - is used to write the Oriya language of Orissa state/India.
+<li><tt>QFont::Tamil</tt> - is used to write the Tamil language of Tamil Nadu state/India,
+Sri Lanka, Singapore and parts of Malaysia as well as some
+minority languages.
+<li><tt>QFont::Telugu</tt> - is used to write the Telugu language of Andhra
+Pradesh state/India and some minority languages.
+<li><tt>QFont::Kannada</tt> - is another South Indian script used to write the
+Kannada language of Karnataka state/India and some minority
+languages.
+<li><tt>QFont::Malayalam</tt> - is used to write the Malayalam language of Kerala
+state/India.
+<li><tt>QFont::Sinhala</tt> - is used for Sri Lanka's majority language Sinhala
+and is also employed to write Pali, Sanskrit, and Tamil.
+<li><tt>QFont::Thai</tt> - is used to write Thai and other Southeast Asian languages.
+<li><tt>QFont::Lao</tt> - is a language and script quite similar to Thai.
+<li><tt>QFont::Tibetan</tt> - is the script used to write Tibetan in several
+countries like Tibet, the bordering Indian regions and
+Nepal. It is also used in the Buddist philosophy and
+liturgy of the Mongolian cultural area.
+<li><tt>QFont::Myanmar</tt> - is mainly used to write the Burmese language of
+Myanmar (former Burma).
+<li><tt>QFont::Khmer</tt> - is the official language of Kampuchea.
+</ul><p> East Asian scripts (traditionally top-down, right to left, modern
+often horizontal left to right):
+<ul>
+<li><tt>QFont::Han</tt> - consists of the CJK (Chinese, Japanese, Korean)
+idiographic characters.
+<li><tt>QFont::Hiragana</tt> - is a cursive syllabary used to indicate phonetics
+and pronounciation of Japanese words.
+<li><tt>QFont::Katakana</tt> - is a non-cursive syllabic script used to write
+Japanese words with visual emphasis and non-Japanese words
+in a phonetical manner.
+<li><tt>QFont::Hangul</tt> - is a Korean script consisting of alphabetic components.
+<li><tt>QFont::Bopomofo</tt> - is a phonetic alphabet for Chinese (mainly Mandarin).
+<li><tt>QFont::Yi</tt> - (also called Cuan or Wei) is a syllabary used to write
+the Yi language of Southwestern China, Myanmar, Laos, and Vietnam.
+</ul><p> Additional scripts that do not fit well into the script categories above:
+<ul>
+<li><tt>QFont::Ethiopic</tt> - is a syllabary used by several Central East African languages.
+<li><tt>QFont::Cherokee</tt> - is a left-to-right syllabic script used to write
+the Cherokee language.
+<li><tt>QFont::CanadianAboriginal</tt> - consists of the syllabics used by some
+Canadian aboriginal societies.
+<li><tt>QFont::Mongolian</tt> - is the traditional (and recently reintroduced)
+script used to write Mongolian.
+</ul><p> Symbols:
+<ul>
+<li><tt>QFont::CurrencySymbols</tt> - contains currency symbols not encoded in other scripts.
+<li><tt>QFont::LetterlikeSymbols</tt> - consists of symbols derived from
+ordinary letters of an alphabetical script.
+<li><tt>QFont::NumberForms</tt> - are provided for compatibility with other
+existing character sets.
+<li><tt>QFont::MathematicalOperators</tt> - consists of encodings for operators,
+relations and other symbols like arrows used in a mathematical context.
+<li><tt>QFont::TechnicalSymbols</tt> - contains representations for control
+codes, the space symbol, APL symbols and other symbols
+mainly used in the context of electronic data processing.
+<li><tt>QFont::GeometricSymbols</tt> - covers block elements and geometric shapes.
+<li><tt>QFont::MiscellaneousSymbols</tt> - consists of a heterogeneous collection
+of symbols that do not fit any other Unicode character
+block, e.g. Dingbats.
+<li><tt>QFont::EnclosedAndSquare</tt> - is provided for compatibility with some
+East Asian standards.
+<li><tt>QFont::Braille</tt> - is an international writing system used by blind
+people. This script encodes the 256 eight-dot patterns with
+the 64 six-dot patterns as a subset.
+<li><tt>QFont::Tagalog</tt>
+<li><tt>QFont::Hanunoo</tt>
+<li><tt>QFont::Buhid</tt>
+<li><tt>QFont::Tagbanwa</tt>
+<li><tt>QFont::KatakanaHalfWidth</tt>
+<li><tt>QFont::Limbu</tt> - (Unicode 4.0)
+<li><tt>QFont::TaiLe</tt> - (Unicode 4.0)
+<li><tt>QFont::Unicode</tt> - includes all the above scripts.
+</ul>
+<h3 class=fn><a name="Stretch-enum"></a>QFont::Stretch</h3>
+
+<p> Predefined stretch values that follow the CSS naming convention.
+<ul>
+<li><tt>QFont::UltraCondensed</tt> - 50
+<li><tt>QFont::ExtraCondensed</tt> - 62
+<li><tt>QFont::Condensed</tt> - 75
+<li><tt>QFont::SemiCondensed</tt> - 87
+<li><tt>QFont::Unstretched</tt> - 100
+<li><tt>QFont::SemiExpanded</tt> - 112
+<li><tt>QFont::Expanded</tt> - 125
+<li><tt>QFont::ExtraExpanded</tt> - 150
+<li><tt>QFont::UltraExpanded</tt> - 200
+</ul><p> <p>See also <a href="#setStretch">setStretch</a>() and <a href="#stretch">stretch</a>().
+
+<h3 class=fn><a name="StyleHint-enum"></a>QFont::StyleHint</h3>
+
+<p> Style hints are used by the <a href="#fontmatching">font
+ matching</a> algorithm to find an appropriate default family
+if a selected font family is not available.
+<ul>
+<li><tt>QFont::AnyStyle</tt> - leaves the font matching algorithm to choose the
+family. This is the default.
+<li><tt>QFont::SansSerif</tt> - the font matcher prefer sans serif fonts.
+<li><tt>QFont::Helvetica</tt> - is a synonym for <a href="#StyleHint-enum">SansSerif</a>.
+<li><tt>QFont::Serif</tt> - the font matcher prefers serif fonts.
+<li><tt>QFont::Times</tt> - is a synonym for <a href="#StyleHint-enum">Serif</a>.
+<li><tt>QFont::TypeWriter</tt> - the font matcher prefers fixed pitch fonts.
+<li><tt>QFont::Courier</tt> - a synonym for <a href="#StyleHint-enum">TypeWriter</a>.
+<li><tt>QFont::OldEnglish</tt> - the font matcher prefers decorative fonts.
+<li><tt>QFont::Decorative</tt> - is a synonym for <a href="#StyleHint-enum">OldEnglish</a>.
+<li><tt>QFont::System</tt> - the font matcher prefers system fonts.
+</ul>
+<h3 class=fn><a name="StyleStrategy-enum"></a>QFont::StyleStrategy</h3>
+
+<p> The style strategy tells the <a href="#fontmatching">font
+ matching</a> algorithm what type of fonts should be used to
+find an appropriate default family.
+<p> The following strategies are available:
+<ul>
+<li><tt>QFont::PreferDefault</tt> - the default style strategy. It does not prefer
+any type of font.
+<li><tt>QFont::PreferBitmap</tt> - prefers bitmap fonts (as opposed to outline
+fonts).
+<li><tt>QFont::PreferDevice</tt> - prefers device fonts.
+<li><tt>QFont::PreferOutline</tt> - prefers outline fonts (as opposed to bitmap fonts).
+<li><tt>QFont::ForceOutline</tt> - forces the use of outline fonts.
+<li><tt>QFont::NoAntialias</tt> - don't antialias the fonts.
+<li><tt>QFont::PreferAntialias</tt> - antialias if possible.
+<li><tt>QFont::OpenGLCompatible</tt> - forces the use of OpenGL compatible
+fonts.
+</ul><p> Any of these may be OR-ed with one of these flags:
+<ul>
+<li><tt>QFont::PreferMatch</tt> - prefer an exact match. The font matcher will try to
+use the exact font size that has been specified.
+<li><tt>QFont::PreferQuality</tt> - prefer the best quality font. The font matcher
+will use the nearest standard point size that the font
+supports.
+</ul>
+<h3 class=fn><a name="Weight-enum"></a>QFont::Weight</h3>
+
+<p> Qt uses a weighting scale from 0 to 99 similar to, but not the
+same as, the scales used in Windows or CSS. A weight of 0 is
+ultralight, whilst 99 will be an extremely black.
+<p> This enum contains the predefined font weights:
+<ul>
+<li><tt>QFont::Light</tt> - 25
+<li><tt>QFont::Normal</tt> - 50
+<li><tt>QFont::DemiBold</tt> - 63
+<li><tt>QFont::Bold</tt> - 75
+<li><tt>QFont::Black</tt> - 87
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFont"></a>QFont::QFont ()
+</h3>
+Constructs a font object that uses the application's default font.
+<p> <p>See also <a href="qapplication.html#setFont">QApplication::setFont</a>() and <a href="qapplication.html#font">QApplication::font</a>().
+
+<h3 class=fn><a name="QFont-2"></a>QFont::QFont ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, int&nbsp;pointSize = 12, int&nbsp;weight = Normal, bool&nbsp;italic = FALSE )
+</h3>
+Constructs a font object with the specified <em>family</em>, <em>pointSize</em>, <em>weight</em> and <em>italic</em> settings.
+<p> If <em>pointSize</em> is <= 0 it is set to 1.
+<p> The <em>family</em> name may optionally also include a foundry name,
+e.g. "Helvetica [Cronyx]". (The Qt 2.x syntax, i.e.
+"Cronyx-Helvetica", is also supported.) If the <em>family</em> is
+available from more than one foundry and the foundry isn't
+specified, an arbitrary foundry is chosen. If the family isn't
+available a family will be set using the <a href="#fontmatching">font
+ matching</a> algorithm.
+<p> <p>See also <a href="#Weight-enum">Weight</a>, <a href="#setFamily">setFamily</a>(), <a href="#setPointSize">setPointSize</a>(), <a href="#setWeight">setWeight</a>(), <a href="#setItalic">setItalic</a>(), <a href="#setStyleHint">setStyleHint</a>(), and <a href="qapplication.html#font">QApplication::font</a>().
+
+<h3 class=fn><a name="QFont-3"></a>QFont::QFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+Constructs a font that is a copy of <em>font</em>.
+
+<h3 class=fn><a name="~QFont"></a>QFont::~QFont ()
+</h3>
+Destroys the font object and frees all allocated resources.
+
+<h3 class=fn>bool <a name="bold"></a>QFont::bold () const
+</h3>
+
+<p> Returns TRUE if <a href="#weight">weight</a>() is a value greater than <a href="#Weight-enum">QFont::Normal</a>; otherwise returns FALSE.
+<p> <p>See also <a href="#weight">weight</a>(), <a href="#setBold">setBold</a>(), and <a href="qfontinfo.html#bold">QFontInfo::bold</a>().
+
+<p>Example: <a href="tutorial2-09.html#x2634">chart/optionsform.cpp</a>.
+<h3 class=fn>int <a name="deciPointSize"></a>QFont::deciPointSize () const<tt> [protected]</tt>
+</h3>
+Returns the point size in 1/10ths of a point.
+<p> The returned value will be -1 if the font size has been specified
+in pixels.
+<p> <p>See also <a href="#pointSize">pointSize</a>() and <a href="#pointSizeFloat">pointSizeFloat</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="defaultFamily"></a>QFont::defaultFamily () const
+</h3>
+Returns the family name that corresponds to the current style
+hint.
+<p> <p>See also <a href="#StyleHint-enum">StyleHint</a>, <a href="#styleHint">styleHint</a>(), and <a href="#setStyleHint">setStyleHint</a>().
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="defaultFont"></a>QFont::defaultFont ()<tt> [static]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Please use <a href="qapplication.html#font">QApplication::font</a>() instead.
+
+<h3 class=fn>bool <a name="dirty"></a>QFont::dirty () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the font attributes have been changed and the font
+has to be (re)loaded; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="exactMatch"></a>QFont::exactMatch () const
+</h3>
+Returns TRUE if a window system font exactly matching the settings
+of this font is available.
+<p> <p>See also <a href="qfontinfo.html">QFontInfo</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="family"></a>QFont::family () const
+</h3>
+Returns the requested font family name, i.e. the name set in the
+constructor or the last setFont() call.
+<p> <p>See also <a href="#setFamily">setFamily</a>(), <a href="#substitutes">substitutes</a>(), and <a href="#substitute">substitute</a>().
+
+<p>Examples: <a href="tutorial2-09.html#x2635">chart/optionsform.cpp</a> and <a href="simple-font-demo-example.html#x2838">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>bool <a name="fixedPitch"></a>QFont::fixedPitch () const
+</h3>
+Returns TRUE if fixed pitch has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setFixedPitch">setFixedPitch</a>() and <a href="qfontinfo.html#fixedPitch">QFontInfo::fixedPitch</a>().
+
+<h3 class=fn>bool <a name="fromString"></a>QFont::fromString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;descrip )
+</h3>
+Sets this font to match the description <em>descrip</em>. The description
+is a comma-separated list of the font attributes, as returned by
+<a href="#toString">toString</a>().
+<p> <p>See also <a href="#toString">toString</a>() and <a href="#operator-gt-gt">operator&gt;&gt;</a>().
+
+<h3 class=fn>HFONT <a name="handle"></a>QFont::handle () const
+</h3>
+Returns the window system handle to the font, for low-level
+access. Using this function is <em>not</em> portable.
+
+<h3 class=fn>void <a name="insertSubstitution"></a>QFont::insertSubstitution ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;substituteName )<tt> [static]</tt>
+</h3>
+Inserts the family name <em>substituteName</em> into the substitution
+table for <em>familyName</em>.
+<p> <p>See also <a href="#insertSubstitutions">insertSubstitutions</a>(), <a href="#removeSubstitution">removeSubstitution</a>(), <a href="#substitutions">substitutions</a>(), <a href="#substitute">substitute</a>(), and <a href="#substitutes">substitutes</a>().
+
+<p>Example: <a href="simple-font-demo-example.html#x2839">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>void <a name="insertSubstitutions"></a>QFont::insertSubstitutions ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;substituteNames )<tt> [static]</tt>
+</h3>
+Inserts the list of families <em>substituteNames</em> into the
+substitution list for <em>familyName</em>.
+<p> <p>See also <a href="#insertSubstitution">insertSubstitution</a>(), <a href="#removeSubstitution">removeSubstitution</a>(), <a href="#substitutions">substitutions</a>(), and <a href="#substitute">substitute</a>().
+
+<p>Example: <a href="simple-font-demo-example.html#x2840">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>bool <a name="isCopyOf"></a>QFont::isCopyOf ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f ) const
+</h3>
+Returns TRUE if this font and <em>f</em> are copies of each other, i.e.
+one of them was created as a copy of the other and neither has
+been modified since. This is much stricter than equality.
+<p> <p>See also <a href="#operator-eq">operator=</a>() and <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn>bool <a name="italic"></a>QFont::italic () const
+</h3>
+Returns TRUE if italic has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setItalic">setItalic</a>().
+
+<p>Example: <a href="tutorial2-09.html#x2636">chart/optionsform.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="key"></a>QFont::key () const
+</h3>
+Returns the font's key, a textual representation of a font. It is
+typically used as the key for a cache or dictionary of fonts.
+<p> <p>See also <a href="qmap.html">QMap</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="lastResortFamily"></a>QFont::lastResortFamily () const
+</h3>
+Returns the "last resort" font family name.
+<p> The current implementation tries a wide variety of common fonts,
+returning the first one it finds. Is is possible that no family is
+found in which case a null string is returned.
+<p> <p>See also <a href="#lastResortFont">lastResortFont</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="lastResortFont"></a>QFont::lastResortFont () const
+</h3>
+Returns a "last resort" font name for the font matching algorithm.
+This is used if the last resort family is not available. It will
+always return a name, if necessary returning something like
+"fixed" or "system".
+<p> The current implementation tries a wide variety of common fonts,
+returning the first one it finds. The implementation may change
+at any time, but this function will always return a string
+containing something.
+<p> It is theoretically possible that there really isn't a
+<a href="#lastResortFont">lastResortFont</a>() in which case Qt will abort with an error
+message. We have not been able to identify a case where this
+happens. Please <a href="bughowto.html">report it as a bug</a> if
+it does, preferably with a list of the fonts you have installed.
+<p> <p>See also <a href="#lastResortFamily">lastResortFamily</a>() and <a href="#rawName">rawName</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QFont::operator!= ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f ) const
+</h3>
+Returns TRUE if this font is different from <em>f</em>; otherwise
+returns FALSE.
+<p> Two QFonts are considered to be different if their font attributes
+are different. If <a href="#rawMode">rawMode</a>() is enabled for both fonts, only the
+family fields are compared.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn><a href="qfont.html">QFont</a>&nbsp;&amp; <a name="operator-eq"></a>QFont::operator= ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+Assigns <em>font</em> to this font and returns a reference to it.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QFont::operator== ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f ) const
+</h3>
+Returns TRUE if this font is equal to <em>f</em>; otherwise returns
+FALSE.
+<p> Two QFonts are considered equal if their font attributes are
+equal. If <a href="#rawMode">rawMode</a>() is enabled for both fonts, only the family
+fields are compared.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>() and <a href="#isCopyOf">isCopyOf</a>().
+
+<h3 class=fn>bool <a name="overline"></a>QFont::overline () const
+</h3>
+Returns TRUE if overline has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setOverline">setOverline</a>().
+
+<h3 class=fn>int <a name="pixelSize"></a>QFont::pixelSize () const
+</h3>
+Returns the pixel size of the font if it was set with
+<a href="#setPixelSize">setPixelSize</a>(). Returns -1 if the size was set with <a href="#setPointSize">setPointSize</a>()
+or <a href="#setPointSizeFloat">setPointSizeFloat</a>().
+<p> <p>See also <a href="#setPixelSize">setPixelSize</a>(), <a href="#pointSize">pointSize</a>(), <a href="qfontinfo.html#pointSize">QFontInfo::pointSize</a>(), and <a href="qfontinfo.html#pixelSize">QFontInfo::pixelSize</a>().
+
+<h3 class=fn>int <a name="pointSize"></a>QFont::pointSize () const
+</h3>
+Returns the point size of the font. Returns -1 if the font size
+was specified in pixels.
+<p> <p>See also <a href="#setPointSize">setPointSize</a>(), <a href="#deciPointSize">deciPointSize</a>(), and <a href="#pointSizeFloat">pointSizeFloat</a>().
+
+<p>Examples: <a href="tutorial2-09.html#x2637">chart/optionsform.cpp</a> and <a href="simple-font-demo-example.html#x2841">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>float <a name="pointSizeFloat"></a>QFont::pointSizeFloat () const
+</h3>
+Returns the point size of the font. Returns -1 if the font size was
+specified in pixels.
+<p> <p>See also <a href="#pointSize">pointSize</a>(), <a href="#setPointSizeFloat">setPointSizeFloat</a>(), <a href="#pixelSize">pixelSize</a>(), <a href="qfontinfo.html#pointSize">QFontInfo::pointSize</a>(), and <a href="qfontinfo.html#pixelSize">QFontInfo::pixelSize</a>().
+
+<h3 class=fn>void <a name="qwsRenderToDisk"></a>QFont::qwsRenderToDisk ( bool&nbsp;all = TRUE )
+</h3>
+Saves the glyphs in the font that have previously been accessed as
+a QPF file. If <em>all</em> is TRUE (the default), then before saving,
+all glyphs are marked as used.
+<p> If the font is large and you are sure that only a subset of
+characters will ever be required on the target device, passing
+FALSE for the <em>all</em> parameter can save a significant amount of
+disk space.
+<p> Note that this function is only applicable on Qt/Embedded.
+
+<h3 class=fn>bool <a name="rawMode"></a>QFont::rawMode () const
+</h3>
+Returns TRUE if raw mode is used for font name matching; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setRawMode">setRawMode</a>() and <a href="#rawName">rawName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="rawName"></a>QFont::rawName () const
+</h3>
+Returns the name of the font within the underlying window system.
+<p> On Windows, this is usually just the family name of a TrueType
+font.
+<p> On X11, it is an XLFD (X Logical Font Description). When Qt is
+build with Xft support on X11, the return value can be an Xft
+pattern or an XLFD.
+<p> Using the return value of this function is usually <em>not</em> <em>portable</em>.
+<p> <p>See also <a href="#setRawName">setRawName</a>().
+
+<h3 class=fn>void <a name="removeSubstitution"></a>QFont::removeSubstitution ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName )<tt> [static]</tt>
+</h3>
+Removes all the substitutions for <em>familyName</em>.
+<p> <p>See also <a href="#insertSubstitutions">insertSubstitutions</a>(), <a href="#insertSubstitution">insertSubstitution</a>(), <a href="#substitutions">substitutions</a>(), and <a href="#substitute">substitute</a>().
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="resolve"></a>QFont::resolve ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+Returns a new QFont that has attributes copied from <em>other</em>.
+
+<h3 class=fn>void <a name="setBold"></a>QFont::setBold ( bool&nbsp;enable )
+</h3>
+
+<p> If <em>enable</em> is true sets the font's weight to <a href="#Weight-enum">QFont::Bold</a>; otherwise sets the weight to <a href="#Weight-enum">QFont::Normal</a>.
+<p> For finer boldness control use <a href="#setWeight">setWeight</a>().
+<p> <p>See also <a href="#bold">bold</a>() and <a href="#setWeight">setWeight</a>().
+
+<p>Examples: <a href="menu-example.html#x1860">menu/menu.cpp</a> and <a href="themes-example.html#x280">themes/metal.cpp</a>.
+<h3 class=fn>void <a name="setDefaultFont"></a>QFont::setDefaultFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )<tt> [static]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Please use <a href="qapplication.html#setFont">QApplication::setFont</a>() instead.
+
+<h3 class=fn>void <a name="setFamily"></a>QFont::setFamily ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family )
+</h3>
+Sets the family name of the font. The name is case insensitive and
+may include a foundry name.
+<p> The <em>family</em> name may optionally also include a foundry name,
+e.g. "Helvetica [Cronyx]". (The Qt 2.x syntax, i.e.
+"Cronyx-Helvetica", is also supported.) If the <em>family</em> is
+available from more than one foundry and the foundry isn't
+specified, an arbitrary foundry is chosen. If the family isn't
+available a family will be set using the <a href="#fontmatching">font
+ matching</a> algorithm.
+<p> <p>See also <a href="#family">family</a>(), <a href="#setStyleHint">setStyleHint</a>(), and <a href="qfontinfo.html">QFontInfo</a>.
+
+<h3 class=fn>void <a name="setFixedPitch"></a>QFont::setFixedPitch ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, sets fixed pitch on; otherwise sets fixed
+pitch off.
+<p> <p>See also <a href="#fixedPitch">fixedPitch</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<h3 class=fn>void <a name="setItalic"></a>QFont::setItalic ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, italic is set on; otherwise italic is set
+off.
+<p> <p>See also <a href="#italic">italic</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<p>Examples: <a href="fileiconview-example.html#x828">fileiconview/qfileiconview.cpp</a>, <a href="simple-font-demo-example.html#x2842">fonts/simple-qfont-demo/viewer.cpp</a>, and <a href="themes-example.html#x281">themes/metal.cpp</a>.
+<h3 class=fn>void <a name="setOverline"></a>QFont::setOverline ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, sets overline on; otherwise sets overline off.
+<p> <p>See also <a href="#overline">overline</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<h3 class=fn>void <a name="setPixelSize"></a>QFont::setPixelSize ( int&nbsp;pixelSize )
+</h3>
+Sets the font size to <em>pixelSize</em> pixels.
+<p> Using this function makes the font device dependent. Use
+<a href="#setPointSize">setPointSize</a>() or <a href="#setPointSizeFloat">setPointSizeFloat</a>() to set the size of the font
+in a device independent manner.
+<p> <p>See also <a href="#pixelSize">pixelSize</a>().
+
+<p>Example: <a href="qwerty-example.html#x367">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="setPixelSizeFloat"></a>QFont::setPixelSizeFloat ( float&nbsp;pixelSize )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the logical pixel height of font characters when shown on
+the screen to <em>pixelSize</em>.
+
+<h3 class=fn>void <a name="setPointSize"></a>QFont::setPointSize ( int&nbsp;pointSize )
+</h3>
+Sets the point size to <em>pointSize</em>. The point size must be
+greater than zero.
+<p> <p>See also <a href="#pointSize">pointSize</a>() and <a href="#setPointSizeFloat">setPointSizeFloat</a>().
+
+<p>Example: <a href="simple-font-demo-example.html#x2843">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>void <a name="setPointSizeFloat"></a>QFont::setPointSizeFloat ( float&nbsp;pointSize )
+</h3>
+Sets the point size to <em>pointSize</em>. The point size must be
+greater than zero. The requested precision may not be achieved on
+all platforms.
+<p> <p>See also <a href="#pointSizeFloat">pointSizeFloat</a>(), <a href="#setPointSize">setPointSize</a>(), and <a href="#setPixelSize">setPixelSize</a>().
+
+<h3 class=fn>void <a name="setRawMode"></a>QFont::setRawMode ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, turns raw mode on; otherwise turns raw mode
+off. This function only has an effect under X11.
+<p> If raw mode is enabled, Qt will search for an X font with a
+complete font name matching the family name, ignoring all other
+values set for the QFont. If the font name matches several fonts,
+Qt will use the first font returned by X. <a href="qfontinfo.html">QFontInfo</a> <em>cannot</em> be
+used to fetch information about a QFont using raw mode (it will
+return the values set in the QFont for all parameters, including
+the family name).
+<p> <b>Warning:</b> Do not use raw mode unless you really, really need it! In
+most (if not all) cases, <a href="#setRawName">setRawName</a>() is a much better choice.
+<p> <p>See also <a href="#rawMode">rawMode</a>() and <a href="#setRawName">setRawName</a>().
+
+<h3 class=fn>void <a name="setRawName"></a>QFont::setRawName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Sets a font by its system specific name. The function is
+particularly useful under X, where system font settings (for
+example X resources) are usually available in XLFD (X Logical Font
+Description) form only. You can pass an XLFD as <em>name</em> to this
+function.
+<p> A font set with <a href="#setRawName">setRawName</a>() is still a full-featured QFont. It can
+be queried (for example with <a href="#italic">italic</a>()) or modified (for example with
+<a href="#setItalic">setItalic</a>()) and is therefore also suitable for rendering rich text.
+<p> If Qt's internal font database cannot resolve the raw name, the
+font becomes a raw font with <em>name</em> as its family.
+<p> Note that the present implementation does not handle wildcards in
+XLFDs well, and that font aliases (file <tt>fonts.alias</tt> in the font
+directory on X11) are not supported.
+<p> <p>See also <a href="#rawName">rawName</a>(), <a href="#setRawMode">setRawMode</a>(), and <a href="#setFamily">setFamily</a>().
+
+<h3 class=fn>void <a name="setStretch"></a>QFont::setStretch ( int&nbsp;factor )
+</h3>
+Sets the <a href="layout.html#stretch-factor">stretch factor</a> for the font.
+<p> The stretch factor changes the width of all characters in the font
+by <em>factor</em> percent. For example, setting <em>factor</em> to 150
+results in all characters in the font being 1.5 times ( ie. 150% )
+wider. The default stretch factor is 100. The minimum stretch
+factor is 1, and the maximum stretch factor is 4000.
+<p> The stretch factor is only applied to outline fonts. The stretch
+factor is ignored for bitmap fonts.
+<p> NOTE: QFont cannot stretch XLFD fonts. When loading XLFD fonts on
+X11, the stretch factor is matched against a predefined set of
+values for the SETWIDTH_NAME field of the XLFD.
+<p> <p>See also <a href="#stretch">stretch</a>() and <a href="#StyleStrategy-enum">QFont::StyleStrategy</a>.
+
+<h3 class=fn>void <a name="setStrikeOut"></a>QFont::setStrikeOut ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, sets strikeout on; otherwise sets strikeout
+off.
+<p> <p>See also <a href="#strikeOut">strikeOut</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<h3 class=fn>void <a name="setStyleHint"></a>QFont::setStyleHint ( <a href="qfont.html#StyleHint-enum">StyleHint</a>&nbsp;hint, <a href="qfont.html#StyleStrategy-enum">StyleStrategy</a>&nbsp;strategy = PreferDefault )
+</h3>
+Sets the style hint and strategy to <em>hint</em> and <em>strategy</em>,
+respectively.
+<p> If these aren't set explicitly the style hint will default to
+<a href="#StyleHint-enum">AnyStyle</a> and the style strategy to <a href="#StyleStrategy-enum">PreferDefault</a>.
+<p> Qt does not support style hints on X11 since this information
+is not provided by the window system.
+<p> <p>See also <a href="#StyleHint-enum">StyleHint</a>, <a href="#styleHint">styleHint</a>(), <a href="#StyleStrategy-enum">StyleStrategy</a>, <a href="#styleStrategy">styleStrategy</a>(), and <a href="qfontinfo.html">QFontInfo</a>.
+
+<p>Examples: <a href="desktop-example.html#x1728">desktop/desktop.cpp</a> and <a href="simple-font-demo-example.html#x2844">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>void <a name="setStyleStrategy"></a>QFont::setStyleStrategy ( <a href="qfont.html#StyleStrategy-enum">StyleStrategy</a>&nbsp;s )
+</h3>
+Sets the style strategy for the font to <em>s</em>.
+<p> <p>See also <a href="#StyleStrategy-enum">QFont::StyleStrategy</a>.
+
+<h3 class=fn>void <a name="setUnderline"></a>QFont::setUnderline ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, sets underline on; otherwise sets underline
+off.
+<p> <p>See also <a href="#underline">underline</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<p>Examples: <a href="simple-font-demo-example.html#x2845">fonts/simple-qfont-demo/viewer.cpp</a> and <a href="menu-example.html#x1861">menu/menu.cpp</a>.
+<h3 class=fn>void <a name="setWeight"></a>QFont::setWeight ( int&nbsp;weight )
+</h3>
+Sets the weight the font to <em>weight</em>, which should be a value
+from the <a href="#Weight-enum">QFont::Weight</a> enumeration.
+<p> <p>See also <a href="#weight">weight</a>() and <a href="qfontinfo.html">QFontInfo</a>.
+
+<p>Example: <a href="simple-font-demo-example.html#x2846">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>int <a name="stretch"></a>QFont::stretch () const
+</h3>
+Returns the <a href="layout.html#stretch-factor">stretch factor</a> for the font.
+<p> <p>See also <a href="#setStretch">setStretch</a>().
+
+<h3 class=fn>bool <a name="strikeOut"></a>QFont::strikeOut () const
+</h3>
+Returns TRUE if strikeout has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setStrikeOut">setStrikeOut</a>().
+
+<h3 class=fn><a href="qfont.html#StyleHint-enum">StyleHint</a> <a name="styleHint"></a>QFont::styleHint () const
+</h3>
+Returns the StyleHint.
+<p> The style hint affects the <a href="#fontmatching">font
+ matching</a> algorithm. See <a href="#StyleHint-enum">QFont::StyleHint</a> for the list
+of strategies.
+<p> <p>See also <a href="#setStyleHint">setStyleHint</a>(), <a href="#StyleStrategy-enum">QFont::StyleStrategy</a>, and <a href="qfontinfo.html#styleHint">QFontInfo::styleHint</a>().
+
+<h3 class=fn><a href="qfont.html#StyleStrategy-enum">StyleStrategy</a> <a name="styleStrategy"></a>QFont::styleStrategy () const
+</h3>
+Returns the StyleStrategy.
+<p> The style strategy affects the <a href="#fontmatching">font
+ matching</a> algorithm. See <a href="#StyleStrategy-enum">QFont::StyleStrategy</a> for the
+list of strategies.
+<p> <p>See also <a href="#setStyleHint">setStyleHint</a>() and <a href="#StyleHint-enum">QFont::StyleHint</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="substitute"></a>QFont::substitute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName )<tt> [static]</tt>
+</h3>
+Returns the first family name to be used whenever <em>familyName</em> is
+specified. The lookup is case insensitive.
+<p> If there is no substitution for <em>familyName</em>, <em>familyName</em> is
+returned.
+<p> To obtain a list of substitutions use <a href="#substitutes">substitutes</a>().
+<p> <p>See also <a href="#setFamily">setFamily</a>(), <a href="#insertSubstitutions">insertSubstitutions</a>(), <a href="#insertSubstitution">insertSubstitution</a>(), and <a href="#removeSubstitution">removeSubstitution</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="substitutes"></a>QFont::substitutes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName )<tt> [static]</tt>
+</h3>
+Returns a list of family names to be used whenever <em>familyName</em>
+is specified. The lookup is case insensitive.
+<p> If there is no substitution for <em>familyName</em>, an empty list is
+returned.
+<p> <p>See also <a href="#substitute">substitute</a>(), <a href="#insertSubstitutions">insertSubstitutions</a>(), <a href="#insertSubstitution">insertSubstitution</a>(), and <a href="#removeSubstitution">removeSubstitution</a>().
+
+<p>Example: <a href="simple-font-demo-example.html#x2847">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="substitutions"></a>QFont::substitutions ()<tt> [static]</tt>
+</h3>
+Returns a sorted list of substituted family names.
+<p> <p>See also <a href="#insertSubstitution">insertSubstitution</a>(), <a href="#removeSubstitution">removeSubstitution</a>(), and <a href="#substitute">substitute</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QFont::toString () const
+</h3>
+Returns a description of the font. The description is a
+comma-separated list of the attributes, perfectly suited for use
+in <a href="qsettings.html">QSettings</a>.
+<p> <p>See also <a href="#fromString">fromString</a>() and <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+
+<h3 class=fn>bool <a name="underline"></a>QFont::underline () const
+</h3>
+Returns TRUE if underline has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setUnderline">setUnderline</a>().
+
+<h3 class=fn>int <a name="weight"></a>QFont::weight () const
+</h3>
+Returns the weight of the font which is one of the enumerated
+values from <a href="#Weight-enum">QFont::Weight</a>.
+<p> <p>See also <a href="#setWeight">setWeight</a>(), <a href="#Weight-enum">Weight</a>, and <a href="qfontinfo.html">QFontInfo</a>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+
+<p> Writes the font <em>font</em> to the data stream <em>s</em>. (<a href="#toString">toString</a>()
+writes to a text stream.)
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+
+<p> Reads the font <em>font</em> from the data stream <em>s</em>. (<a href="#fromString">fromString</a>()
+reads from a text stream.)
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdatabase-h.html b/doc/html/qfontdatabase-h.html
new file mode 100644
index 0000000..1160df3
--- /dev/null
+++ b/doc/html/qfontdatabase-h.html
@@ -0,0 +1,272 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontdatabase.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfontdatabase.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfontdatabase.h</h1>
+
+<p>This is the verbatim text of the qfontdatabase.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfontdatabase.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the QFontDatabase class
+**
+** Created : 981126
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONTDATABASE_H
+#define QFONTDATABASE_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qstring.h"
+#include "qstringlist.h"
+#include "qfont.h"
+#include "qvaluelist.h"
+#endif // QT_H
+
+
+#ifndef QT_NO_FONTDATABASE
+
+class QFontStylePrivate; /* Don't touch! */
+struct QtFontStyle;
+struct QtFontFamily;
+struct QtFontFoundry;
+struct QFontDef;
+class QFontEngine;
+#ifdef Q_WS_QWS
+class QDiskFont;
+#endif
+
+class QFontDatabasePrivate;
+
+class Q_EXPORT QFontDatabase
+{
+public:
+ static QValueList&lt;int&gt; standardSizes();
+
+ QFontDatabase();
+
+ QStringList families() const;
+ QStringList families( QFont::Script ) const;
+ QStringList styles( const QString &amp; ) const;
+ QValueList&lt;int&gt; pointSizes( const QString &amp;, const QString &amp; = QString::null);
+ QValueList&lt;int&gt; smoothSizes( const QString &amp;, const QString &amp;);
+ QString styleString( const QFont &amp;);
+
+ QFont font( const QString &amp;, const QString &amp;, int);
+
+ bool isBitmapScalable( const QString &amp;, const QString &amp; = QString::null) const;
+ bool isSmoothlyScalable( const QString &amp;, const QString &amp; = QString::null) const;
+ bool isScalable( const QString &amp;, const QString &amp; = QString::null) const;
+ bool isFixedPitch( const QString &amp;, const QString &amp; = QString::null) const;
+
+ bool italic( const QString &amp;, const QString &amp;) const;
+ bool bold( const QString &amp;, const QString &amp;) const;
+ int weight( const QString &amp;, const QString &amp;) const;
+
+ static QString scriptName(QFont::Script);
+ static QString scriptSample(QFont::Script);
+
+#ifdef Q_WS_QWS
+ static void qwsAddDiskFont( QDiskFont *qdf );
+#endif
+
+ // For source compatibility with &lt; 3.0
+#ifndef QT_NO_COMPAT
+
+ QStringList families(bool) const;
+ QStringList styles( const QString &amp;, const QString &amp; ) const;
+ QValueList&lt;int&gt; pointSizes( const QString &amp;, const QString &amp;, const QString &amp; );
+ QValueList&lt;int&gt; smoothSizes( const QString &amp;, const QString &amp;, const QString &amp; );
+
+ QFont font( const QString &amp;, const QString &amp;, int, const QString &amp;);
+
+ bool isBitmapScalable( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+ bool isSmoothlyScalable( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+ bool isScalable( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+ bool isFixedPitch( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+
+ bool italic( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+ bool bold( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+ int weight( const QString &amp;, const QString &amp;, const QString &amp; ) const;
+
+#endif // QT_NO_COMPAT
+
+private:
+#if defined(Q_WS_X11) || defined(Q_WS_WIN)
+ static QFontEngine *findFont( QFont::Script script, const QFontPrivate *fp,
+ const QFontDef &amp;request, int force_encoding_id = -1 );
+#endif // Q_WS_X11
+
+ static void createDatabase();
+
+ static void parseFontName(const QString &amp;name, QString &amp;foundry, QString &amp;family);
+
+ friend struct QFontDef;
+ friend class QFontPrivate;
+ friend class QFontDialog;
+ friend class QFontEngineLatinXLFD;
+
+ QFontDatabasePrivate *d;
+};
+
+
+#ifndef QT_NO_COMPAT
+
+inline QStringList QFontDatabase::families( bool ) const
+{
+ return families();
+}
+
+inline QStringList QFontDatabase::styles( const QString &amp;family,
+ const QString &amp; ) const
+{
+ return styles(family);
+}
+
+inline QValueList&lt;int&gt; QFontDatabase::pointSizes( const QString &amp;family,
+ const QString &amp;style ,
+ const QString &amp; )
+{
+ return pointSizes(family, style);
+}
+
+inline QValueList&lt;int&gt; QFontDatabase::smoothSizes( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; )
+{
+ return smoothSizes(family, style);
+}
+
+inline QFont QFontDatabase::font( const QString &amp;familyName,
+ const QString &amp;style,
+ int pointSize,
+ const QString &amp;)
+{
+ return font(familyName, style, pointSize);
+}
+
+inline bool QFontDatabase::isBitmapScalable( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return isBitmapScalable(family, style);
+}
+
+inline bool QFontDatabase::isSmoothlyScalable( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return isSmoothlyScalable(family, style);
+}
+
+inline bool QFontDatabase::isScalable( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return isScalable(family, style);
+}
+
+inline bool QFontDatabase::isFixedPitch( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return isFixedPitch(family, style);
+}
+
+inline bool QFontDatabase::italic( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return italic(family, style);
+}
+
+inline bool QFontDatabase::bold( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return bold(family, style);
+}
+
+inline int QFontDatabase::weight( const QString &amp;family,
+ const QString &amp;style,
+ const QString &amp; ) const
+{
+ return weight(family, style);
+}
+
+#endif // QT_NO_COMPAT
+
+#endif // QT_NO_FONTDATABASE
+
+#endif // QFONTDATABASE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdatabase-members.html b/doc/html/qfontdatabase-members.html
new file mode 100644
index 0000000..b1787c3
--- /dev/null
+++ b/doc/html/qfontdatabase-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontdatabase.h:65 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontDatabase Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFontDatabase</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfontdatabase.html">QFontDatabase</a>, including inherited members.
+
+<ul>
+<li><a href="qfontdatabase.html#QFontDatabase">QFontDatabase</a>()
+<li><a href="qfontdatabase.html#bold">bold</a>()
+<li><a href="qfontdatabase.html#families">families</a>()
+<li><a href="qfontdatabase.html#font">font</a>()
+<li><a href="qfontdatabase.html#isBitmapScalable">isBitmapScalable</a>()
+<li><a href="qfontdatabase.html#isFixedPitch">isFixedPitch</a>()
+<li><a href="qfontdatabase.html#isScalable">isScalable</a>()
+<li><a href="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</a>()
+<li><a href="qfontdatabase.html#italic">italic</a>()
+<li><a href="qfontdatabase.html#pointSizes">pointSizes</a>()
+<li><a href="qfontdatabase.html#scriptName">scriptName</a>()
+<li><a href="qfontdatabase.html#scriptSample">scriptSample</a>()
+<li><a href="qfontdatabase.html#smoothSizes">smoothSizes</a>()
+<li><a href="qfontdatabase.html#standardSizes">standardSizes</a>()
+<li><a href="qfontdatabase.html#styleString">styleString</a>()
+<li><a href="qfontdatabase.html#styles">styles</a>()
+<li><a href="qfontdatabase.html#weight">weight</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdatabase.html b/doc/html/qfontdatabase.html
new file mode 100644
index 0000000..9699c36
--- /dev/null
+++ b/doc/html/qfontdatabase.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfontdatabase.cpp:1286 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontDatabase Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFontDatabase Class Reference</h1>
+
+<p>The QFontDatabase class provides information about the fonts available in the underlying window system.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfontdatabase-h.html">qfontdatabase.h</a>&gt;</tt>
+<p><a href="qfontdatabase-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFontDatabase"><b>QFontDatabase</b></a> ()</li>
+<li class=fn>QStringList <a href="#families"><b>families</b></a> () const</li>
+<li class=fn>QStringList <a href="#families-2"><b>families</b></a> ( QFont::Script&nbsp;script ) const</li>
+<li class=fn>QStringList <a href="#styles"><b>styles</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family ) const</li>
+<li class=fn>QValueList&lt;int&gt; <a href="#pointSizes"><b>pointSizes</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style = QString::null )</li>
+<li class=fn>QValueList&lt;int&gt; <a href="#smoothSizes"><b>smoothSizes</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style )</li>
+<li class=fn>QString <a href="#styleString"><b>styleString</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QFont <a href="#font"><b>font</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, int&nbsp;pointSize )</li>
+<li class=fn>bool <a href="#isBitmapScalable"><b>isBitmapScalable</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style = QString::null ) const</li>
+<li class=fn>bool <a href="#isSmoothlyScalable"><b>isSmoothlyScalable</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style = QString::null ) const</li>
+<li class=fn>bool <a href="#isScalable"><b>isScalable</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style = QString::null ) const</li>
+<li class=fn>bool <a href="#isFixedPitch"><b>isFixedPitch</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style = QString::null ) const</li>
+<li class=fn>bool <a href="#italic"><b>italic</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style ) const</li>
+<li class=fn>bool <a href="#bold"><b>bold</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style ) const</li>
+<li class=fn>int <a href="#weight"><b>weight</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style ) const</li>
+<li class=fn>QStringList families ( bool ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QStringList styles ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QValueList&lt;int&gt; pointSizes ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QValueList&lt;int&gt; smoothSizes ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QFont font ( const&nbsp;QString&nbsp;&amp;&nbsp;familyName, const&nbsp;QString&nbsp;&amp;&nbsp;style, int&nbsp;pointSize, const QString &amp; ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isBitmapScalable ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isSmoothlyScalable ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isScalable ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isFixedPitch ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool italic ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool bold ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int weight ( const&nbsp;QString&nbsp;&amp;&nbsp;family, const&nbsp;QString&nbsp;&amp;&nbsp;style, const QString &amp; ) const &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QValueList&lt;int&gt; <a href="#standardSizes"><b>standardSizes</b></a> ()</li>
+<li class=fn>QString <a href="#scriptName"><b>scriptName</b></a> ( QFont::Script&nbsp;script )</li>
+<li class=fn>QString <a href="#scriptSample"><b>scriptSample</b></a> ( QFont::Script&nbsp;script )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFontDatabase class provides information about the fonts available in the underlying window system.
+<p>
+
+<p> The most common uses of this class are to query the database for
+the list of font <a href="#families">families</a>() and for the <a href="#pointSizes">pointSizes</a>() and <a href="#styles">styles</a>()
+that are available for each family. An alternative to pointSizes()
+is <a href="#smoothSizes">smoothSizes</a>() which returns the sizes at which a given family
+and style will look attractive.
+<p> If the font family is available from two or more foundries the
+foundry name is included in the family name, e.g. "Helvetica
+[Adobe]" and "Helvetica [Cronyx]". When you specify a family you
+can either use the old hyphenated Qt 2.x "foundry-family" format,
+e.g. "Cronyx-Helvetica", or the new bracketed Qt 3.x "family
+[foundry]" format e.g. "Helvetica [Cronyx]". If the family has a
+foundry it is always returned, e.g. by families(), using the
+bracketed format.
+<p> The <a href="#font">font</a>() function returns a <a href="qfont.html">QFont</a> given a family, style and
+point size.
+<p> A family and style combination can be checked to see if it is
+<a href="#italic">italic</a>() or <a href="#bold">bold</a>(), and to retrieve its <a href="#weight">weight</a>(). Similarly we can
+call <a href="#isBitmapScalable">isBitmapScalable</a>(), <a href="#isSmoothlyScalable">isSmoothlyScalable</a>(), <a href="#isScalable">isScalable</a>() and
+<a href="#isFixedPitch">isFixedPitch</a>().
+<p> A text version of a style is given by <a href="#styleString">styleString</a>().
+<p> The QFontDatabase class also supports some static functions, for
+example, <a href="#standardSizes">standardSizes</a>(). You can retrieve the Unicode 3.0
+description of a <a href="qfont.html#Script-enum">script</a> using
+<a href="#scriptName">scriptName</a>(), and a sample of characters in a script with
+<a href="#scriptSample">scriptSample</a>().
+<p> Example:
+<pre>
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfontdatabase-h.html">qfontdatabase.h</a>&gt;
+#include &lt;else.h&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ QFontDatabase fdb;
+ <a href="qstringlist.html">QStringList</a> families = fdb.<a href="#families">families</a>();
+ for ( QStringList::Iterator f = families.<a href="qvaluelist.html#begin">begin</a>(); f != families.<a href="qvaluelist.html#end">end</a>(); ++f ) {
+ <a href="qstring.html">QString</a> family = *f;
+ <a href="qapplication.html#qDebug">qDebug</a>( family );
+ <a href="qstringlist.html">QStringList</a> styles = fdb.<a href="#styles">styles</a>( family );
+ for ( QStringList::Iterator s = styles.<a href="qvaluelist.html#begin">begin</a>(); s != styles.<a href="qvaluelist.html#end">end</a>(); ++s ) {
+ <a href="qstring.html">QString</a> style = *s;
+ <a href="qstring.html">QString</a> dstyle = "\t" + style + " (";
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; smoothies = fdb.<a href="#smoothSizes">smoothSizes</a>( family, style );
+ for ( QValueList&lt;int&gt;::Iterator points = smoothies.<a href="qvaluelist.html#begin">begin</a>();
+ points != smoothies.<a href="qvaluelist.html#end">end</a>(); ++points ) {
+ dstyle += QString::<a href="qstring.html#number">number</a>( *points ) + " ";
+ }
+ dstyle = dstyle.<a href="qstring.html#left">left</a>( dstyle.<a href="qstring.html#length">length</a>() - 1 ) + ")";
+ <a href="qapplication.html#qDebug">qDebug</a>( dstyle );
+ }
+ }
+ return 0;
+}
+</pre>
+
+This example gets the list of font families, then the list of
+styles for each family and the point sizes that are available for
+each family/style combination.
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="graphics.html">Graphics Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFontDatabase"></a>QFontDatabase::QFontDatabase ()
+</h3>
+Creates a font database object.
+
+<h3 class=fn>bool <a name="bold"></a>QFontDatabase::bold ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is bold; otherwise returns FALSE.
+<p> <p>See also <a href="#italic">italic</a>() and <a href="#weight">weight</a>().
+
+<h3 class=fn>bool <a name="bold-2"></a>QFontDatabase::bold ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="families"></a>QFontDatabase::families () const
+</h3> Returns a sorted list of the names of the available font families.
+<p> If a family exists in several foundries, the returned name for
+that font is in the form "family [foundry]". Examples: "Times
+[Adobe]", "Times [Cronyx]", "Palatino".
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="families-2"></a>QFontDatabase::families ( <a href="qfont.html#Script-enum">QFont::Script</a>&nbsp;script ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a sorted list of the available font families which support
+the Unicode script <em>script</em>.
+<p> If a family exists in several foundries, the returned name for
+that font is in the form "family [foundry]". Examples: "Times
+[Adobe]", "Times [Cronyx]", "Palatino".
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="families-3"></a>QFontDatabase::families ( bool ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QFontDatabase::font ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, int&nbsp;pointSize )
+</h3>
+Returns a <a href="qfont.html">QFont</a> object that has family <em>family</em>, style <em>style</em>
+and point size <em>pointSize</em>. If no matching font could be created,
+a QFont object that uses the application's default font is
+returned.
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font-2"></a>QFontDatabase::font ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;familyName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, int&nbsp;pointSize, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>bool <a name="isBitmapScalable"></a>QFontDatabase::isBitmapScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style = QString::null ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is a scalable bitmap font; otherwise returns FALSE. Scaling
+a bitmap font usually produces an unattractive hardly readable
+result, because the pixels of the font are scaled. If you need to
+scale a bitmap font it is better to scale it to one of the fixed
+sizes returned by <a href="#smoothSizes">smoothSizes</a>().
+<p> <p>See also <a href="#isScalable">isScalable</a>() and <a href="#isSmoothlyScalable">isSmoothlyScalable</a>().
+
+<h3 class=fn>bool <a name="isBitmapScalable-2"></a>QFontDatabase::isBitmapScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>bool <a name="isFixedPitch"></a>QFontDatabase::isFixedPitch ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style = QString::null ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is fixed pitch; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isFixedPitch-2"></a>QFontDatabase::isFixedPitch ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>bool <a name="isScalable"></a>QFontDatabase::isScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style = QString::null ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is scalable; otherwise returns FALSE.
+<p> <p>See also <a href="#isBitmapScalable">isBitmapScalable</a>() and <a href="#isSmoothlyScalable">isSmoothlyScalable</a>().
+
+<h3 class=fn>bool <a name="isScalable-2"></a>QFontDatabase::isScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>bool <a name="isSmoothlyScalable"></a>QFontDatabase::isSmoothlyScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style = QString::null ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is smoothly scalable; otherwise returns FALSE. If this
+function returns TRUE, it's safe to scale this font to any size,
+and the result will always look attractive.
+<p> <p>See also <a href="#isScalable">isScalable</a>() and <a href="#isBitmapScalable">isBitmapScalable</a>().
+
+<h3 class=fn>bool <a name="isSmoothlyScalable-2"></a>QFontDatabase::isSmoothlyScalable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>bool <a name="italic"></a>QFontDatabase::italic ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style ) const
+</h3>
+Returns TRUE if the font that has family <em>family</em> and style <em>style</em> is italic; otherwise returns FALSE.
+<p> <p>See also <a href="#weight">weight</a>() and <a href="#bold">bold</a>().
+
+<h3 class=fn>bool <a name="italic-2"></a>QFontDatabase::italic ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="pointSizes"></a>QFontDatabase::pointSizes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style = QString::null )
+</h3>
+Returns a list of the point sizes available for the font that has
+family <em>family</em> and style <em>style</em>. The list may be empty.
+<p> <p>See also <a href="#smoothSizes">smoothSizes</a>() and <a href="#standardSizes">standardSizes</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="pointSizes-2"></a>QFontDatabase::pointSizes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptName"></a>QFontDatabase::scriptName ( <a href="qfont.html#Script-enum">QFont::Script</a>&nbsp;script )<tt> [static]</tt>
+</h3>
+Returns a string that gives a default description of the <em>script</em>
+(e.g. for displaying to the user in a dialog). The name matches
+the name of the script as defined by the Unicode 3.0 standard.
+<p> <p>See also <a href="qfont.html#Script-enum">QFont::Script</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="scriptSample"></a>QFontDatabase::scriptSample ( <a href="qfont.html#Script-enum">QFont::Script</a>&nbsp;script )<tt> [static]</tt>
+</h3>
+Returns a string with sample characters from <em>script</em>.
+<p> <p>See also <a href="qfont.html#Script-enum">QFont::Script</a>.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="smoothSizes"></a>QFontDatabase::smoothSizes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style )
+</h3>
+Returns the point sizes of a font that has family <em>family</em> and
+style <em>style</em> that will look attractive. The list may be empty.
+For non-scalable fonts and bitmap scalable fonts, this function
+is equivalent to <a href="#pointSizes">pointSizes</a>().
+<p> <p>See also <a href="#pointSizes">pointSizes</a>() and <a href="#standardSizes">standardSizes</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="smoothSizes-2"></a>QFontDatabase::smoothSizes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="standardSizes"></a>QFontDatabase::standardSizes ()<tt> [static]</tt>
+</h3>
+Returns a list of standard font sizes.
+<p> <p>See also <a href="#smoothSizes">smoothSizes</a>() and <a href="#pointSizes">pointSizes</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="styleString"></a>QFontDatabase::styleString ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )
+</h3>
+Returns a string that describes the style of the font <em>f</em>. For
+example, "Bold Italic", "Bold", "Italic" or "Normal". An empty
+string may be returned.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="styles"></a>QFontDatabase::styles ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family ) const
+</h3>
+Returns a list of the styles available for the font family <em>family</em>. Some example styles: "Light", "Light Italic", "Bold",
+"Oblique", "Demi". The list may be empty.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="styles-2"></a>QFontDatabase::styles ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>int <a name="weight"></a>QFontDatabase::weight ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style ) const
+</h3>
+Returns the weight of the font that has family <em>family</em> and style
+<em>style</em>. If there is no such family and style combination,
+returns -1.
+<p> <p>See also <a href="#italic">italic</a>() and <a href="#bold">bold</a>().
+
+<h3 class=fn>int <a name="weight-2"></a>QFontDatabase::weight ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;family, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdialog-h.html b/doc/html/qfontdialog-h.html
new file mode 100644
index 0000000..7d439f9
--- /dev/null
+++ b/doc/html/qfontdialog-h.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfontdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfontdialog.h</h1>
+
+<p>This is the verbatim text of the qfontdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfontdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QFontDialog
+**
+** Created : 970605
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONTDIALOG_H
+#define QFONTDIALOG_H
+
+#include "qwindowdefs.h"
+
+#ifndef QT_NO_FONTDIALOG
+
+//
+// W A R N I N G
+// -------------
+//
+// This class is under development and has private constructors.
+//
+// You may use the public static getFont() functions which are guaranteed
+// to be available in the future.
+//
+
+#ifndef QT_H
+#include "qdialog.h"
+#include "qfont.h"
+#endif // QT_H
+
+class QFontDialogPrivate;
+
+class Q_EXPORT QFontDialog: public QDialog
+{
+ Q_OBJECT
+
+public:
+ static QFont getFont( bool *ok, const QFont &amp;def,
+ QWidget* parent=0, const char* name=0);
+ static QFont getFont( bool *ok, QWidget* parent=0, const char* name=0);
+
+private:
+ static QFont getFont( bool *ok, const QFont *def,
+ QWidget* parent=0, const char* name=0);
+
+ QFontDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE,
+ WFlags f=0 );
+ ~QFontDialog();
+
+ QFont font() const;
+ void setFont( const QFont &amp;font );
+
+ bool eventFilter( QObject *, QEvent * );
+
+ void updateFamilies();
+ void updateStyles();
+ void updateSizes();
+
+private slots:
+ void sizeChanged( const QString &amp;);
+ void familyHighlighted( int );
+ void scriptHighlighted( int );
+ void styleHighlighted( int );
+ void sizeHighlighted( const QString &amp; );
+ void updateSample();
+
+private:
+ friend class QFontDialogPrivate;
+ QFontDialogPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QFontDialog( const QFontDialog &amp; );
+ QFontDialog&amp; operator=( const QFontDialog &amp; );
+#endif
+};
+
+#endif
+
+#endif // QFONTDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdialog-members.html b/doc/html/qfontdialog-members.html
new file mode 100644
index 0000000..af75562
--- /dev/null
+++ b/doc/html/qfontdialog-members.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontdialog.h:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFontDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfontdialog.html">QFontDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qfontdialog.html#getFont">getFont</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdialog.html b/doc/html/qfontdialog.html
new file mode 100644
index 0000000..58f72be
--- /dev/null
+++ b/doc/html/qfontdialog.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qfontdialog.cpp:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFontDialog Class Reference</h1>
+
+<p>The QFontDialog class provides a dialog widget for selecting a font.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qfontdialog-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QFont <a href="#getFont"><b>getFont</b></a> ( bool&nbsp;*&nbsp;ok, const&nbsp;QFont&nbsp;&amp;&nbsp;initial, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QFont <a href="#getFont-2"><b>getFont</b></a> ( bool&nbsp;*&nbsp;ok, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QFontDialog class provides a dialog widget for selecting a font.
+<p> The usual way to use this class is to call one of the static convenience
+functions, e.g. <a href="#getFont">getFont</a>().
+<p> Examples:
+<p> <pre>
+ bool ok;
+ <a href="qfont.html">QFont</a> font = QFontDialog::<a href="#getFont">getFont</a>(
+ &amp;ok, QFont( "Helvetica [Cronyx]", 10 ), this );
+ if ( ok ) {
+ // font is set to the font the user selected
+ } else {
+ // the user canceled the dialog; font is set to the initial
+ // value, in this case Helvetica [Cronyx], 10
+ }
+ </pre>
+
+<p> The dialog can also be used to set a widget's font directly:
+<pre>
+ myWidget.setFont( QFontDialog::<a href="#getFont">getFont</a>( 0, myWidget.font() ) );
+ </pre>
+
+If the user clicks OK the font they chose will be used for myWidget,
+and if they click Cancel the original font is used.
+<p> <p>See also <a href="qfont.html">QFont</a>, <a href="qfontinfo.html">QFontInfo</a>, <a href="qfontmetrics.html">QFontMetrics</a>, and <a href="dialogs.html">Dialog Classes</a>.
+
+<p> <img src=qfontdlg-w.png>
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="getFont"></a>QFontDialog::getFont ( bool&nbsp;*&nbsp;ok, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;initial, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Executes a modal font dialog and returns a font.
+<p> If the user clicks OK, the selected font is returned. If the user
+clicks Cancel, the <em>initial</em> font is returned.
+<p> The dialog is called <em>name</em>, with the parent <em>parent</em>.
+<em>initial</em> is the initially selected font.
+If the <em>ok</em> parameter is not-null, <em>*</em><em>ok</em> is set to TRUE if the
+user clicked OK, and set to FALSE if the user clicked Cancel.
+<p> This static function is less flexible than the full QFontDialog
+object, but is convenient and easy to use.
+<p> Examples:
+<pre>
+ bool ok;
+ <a href="qfont.html">QFont</a> font = QFontDialog::<a href="#getFont">getFont</a>( &amp;ok, QFont( "Times", 12 ), this );
+ if ( ok ) {
+ // font is set to the font the user selected
+ } else {
+ // the user canceled the dialog; font is set to the initial
+ // value, in this case Times, 12.
+ }
+ </pre>
+
+<p> The dialog can also be used to set a widget's font directly:
+<pre>
+ myWidget.setFont( QFontDialog::<a href="#getFont">getFont</a>( 0, myWidget.font() ) );
+ </pre>
+
+In this example, if the user clicks OK the font they chose will be
+used, and if they click Cancel the original font is used.
+
+<p>Examples: <a href="canvas-chart-example.html#x2881">chart/chartform.cpp</a>, <a href="tutorial2-09.html#x2638">chart/optionsform.cpp</a>, <a href="qfd-example.html#x1981">qfd/fontdisplayer.cpp</a>, <a href="qwerty-example.html#x368">qwerty/qwerty.cpp</a>, and <a href="xform-example.html#x1224">xform/xform.cpp</a>.
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="getFont-2"></a>QFontDialog::getFont ( bool&nbsp;*&nbsp;ok, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Executes a modal font dialog and returns a font.
+<p> If the user clicks OK, the selected font is returned. If the user
+clicks Cancel, the Qt default font is returned.
+<p> The dialog is called <em>name</em>, with parent <em>parent</em>.
+If the <em>ok</em> parameter is not-null, <em>*</em><em>ok</em> is set to TRUE if the
+user clicked OK, and FALSE if the user clicked Cancel.
+<p> This static function is less functional than the full QFontDialog
+object, but is convenient and easy to use.
+<p> Example:
+<pre>
+ bool ok;
+ <a href="qfont.html">QFont</a> font = QFontDialog::<a href="#getFont">getFont</a>( &amp;ok, this );
+ if ( ok ) {
+ // font is set to the font the user selected
+ } else {
+ // the user canceled the dialog; font is set to the default
+ // application font, QApplication::<a href="qwidget.html#font-prop">font</a>()
+ }
+ </pre>
+
+<p>
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontdlg-w.png b/doc/html/qfontdlg-w.png
new file mode 100644
index 0000000..7e7c1bd
--- /dev/null
+++ b/doc/html/qfontdlg-w.png
Binary files differ
diff --git a/doc/html/qfontinfo-h.html b/doc/html/qfontinfo-h.html
new file mode 100644
index 0000000..8538392
--- /dev/null
+++ b/doc/html/qfontinfo-h.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontinfo.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfontinfo.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfontinfo.h</h1>
+
+<p>This is the verbatim text of the qfontinfo.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfontinfo.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFontInfo class
+**
+** Created : 950131
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONTINFO_H
+#define QFONTINFO_H
+
+#ifndef QT_H
+#include "qfont.h"
+#endif // QT_H
+
+
+class Q_EXPORT QFontInfo
+{
+public:
+ QFontInfo( const QFont &amp; );
+ QFontInfo( const QFont &amp;, QFont::Script );
+ QFontInfo( const QFontInfo &amp; );
+ ~QFontInfo();
+
+ QFontInfo &amp;operator=( const QFontInfo &amp; );
+
+ QString family() const;
+ int pixelSize() const;
+ int pointSize() const;
+ bool italic() const;
+ int weight() const;
+ bool bold() const;
+ bool underline() const;
+ bool overline() const;
+ bool strikeOut() const;
+ bool fixedPitch() const;
+ QFont::StyleHint styleHint() const;
+ bool rawMode() const;
+
+ bool exactMatch() const;
+
+
+private:
+ QFontInfo( const QPainter * );
+
+ QFontPrivate *d;
+ QPainter *painter;
+ int fscript;
+
+ friend class QWidget;
+ friend class QPainter;
+};
+
+
+inline bool QFontInfo::bold() const
+{ return weight() &gt; QFont::Normal; }
+
+
+#endif // QFONTINFO_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontinfo-members.html b/doc/html/qfontinfo-members.html
new file mode 100644
index 0000000..7c77b6b
--- /dev/null
+++ b/doc/html/qfontinfo-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontinfo.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontInfo Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFontInfo</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfontinfo.html">QFontInfo</a>, including inherited members.
+
+<ul>
+<li><a href="qfontinfo.html#QFontInfo">QFontInfo</a>()
+<li><a href="qfontinfo.html#~QFontInfo">~QFontInfo</a>()
+<li><a href="qfontinfo.html#bold">bold</a>()
+<li><a href="qfontinfo.html#exactMatch">exactMatch</a>()
+<li><a href="qfontinfo.html#family">family</a>()
+<li><a href="qfontinfo.html#fixedPitch">fixedPitch</a>()
+<li><a href="qfontinfo.html#italic">italic</a>()
+<li><a href="qfontinfo.html#operator-eq">operator=</a>()
+<li><a href="qfontinfo.html#pixelSize">pixelSize</a>()
+<li><a href="qfontinfo.html#pointSize">pointSize</a>()
+<li><a href="qfontinfo.html#rawMode">rawMode</a>()
+<li><a href="qfontinfo.html#styleHint">styleHint</a>()
+<li><a href="qfontinfo.html#weight">weight</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontinfo.html b/doc/html/qfontinfo.html
new file mode 100644
index 0000000..9020ac8
--- /dev/null
+++ b/doc/html/qfontinfo.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfont.cpp:2590 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontInfo Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFontInfo Class Reference</h1>
+
+<p>The QFontInfo class provides general information about fonts.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfontinfo-h.html">qfontinfo.h</a>&gt;</tt>
+<p><a href="qfontinfo-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFontInfo"><b>QFontInfo</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn><a href="#QFontInfo-2"><b>QFontInfo</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font, QFont::Script&nbsp;script )</li>
+<li class=fn><a href="#QFontInfo-3"><b>QFontInfo</b></a> ( const&nbsp;QFontInfo&nbsp;&amp;&nbsp;fi )</li>
+<li class=fn><a href="#~QFontInfo"><b>~QFontInfo</b></a> ()</li>
+<li class=fn>QFontInfo &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QFontInfo&nbsp;&amp;&nbsp;fi )</li>
+<li class=fn>QString <a href="#family"><b>family</b></a> () const</li>
+<li class=fn>int <a href="#pixelSize"><b>pixelSize</b></a> () const</li>
+<li class=fn>int <a href="#pointSize"><b>pointSize</b></a> () const</li>
+<li class=fn>bool <a href="#italic"><b>italic</b></a> () const</li>
+<li class=fn>int <a href="#weight"><b>weight</b></a> () const</li>
+<li class=fn>bool <a href="#bold"><b>bold</b></a> () const</li>
+<li class=fn>bool <a href="#fixedPitch"><b>fixedPitch</b></a> () const</li>
+<li class=fn>QFont::StyleHint <a href="#styleHint"><b>styleHint</b></a> () const</li>
+<li class=fn>bool <a href="#rawMode"><b>rawMode</b></a> () const</li>
+<li class=fn>bool <a href="#exactMatch"><b>exactMatch</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QFontInfo class provides general information about fonts.
+<p>
+
+<p> The QFontInfo class provides the same access functions as <a href="qfont.html">QFont</a>,
+e.g. <a href="#family">family</a>(), <a href="#pointSize">pointSize</a>(), <a href="#italic">italic</a>(), <a href="#weight">weight</a>(), <a href="#fixedPitch">fixedPitch</a>(),
+<a href="#styleHint">styleHint</a>() etc. But whilst the QFont access functions return the
+values that were set, a QFontInfo object returns the values that
+apply to the font that will actually be used to draw the text.
+<p> For example, when the program asks for a 25pt Courier font on a
+machine that has a non-scalable 24pt Courier font, QFont will
+(normally) use the 24pt Courier for rendering. In this case,
+<a href="qfont.html#pointSize">QFont::pointSize</a>() returns 25 and <a href="#pointSize">QFontInfo::pointSize</a>() returns
+24.
+<p> There are three ways to create a QFontInfo object.
+<ol type=1>
+<li> Calling the QFontInfo constructor with a QFont creates a font
+info object for a screen-compatible font, i.e. the font cannot be
+a printer font<sup>*</sup>. If the font is changed later, the font
+info object is <em>not</em> updated.
+<p> <li> <a href="qwidget.html#fontInfo">QWidget::fontInfo</a>() returns the font info for a widget's font.
+This is equivalent to calling QFontInfo(widget->font()). If the
+widget's font is changed later, the font info object is <em>not</em>
+updated.
+<p> <li> <a href="qpainter.html#fontInfo">QPainter::fontInfo</a>() returns the font info for a painter's
+current font. If the painter's font is changed later, the font
+info object is <em>not</em> updated.
+</ol>
+<p> <sup>*</sup> If you use a printer font the values returned may be
+inaccurate. Printer fonts are not always accessible so the nearest
+screen font is used if a printer font is supplied.
+<p> <p>See also <a href="qfont.html">QFont</a>, <a href="qfontmetrics.html">QFontMetrics</a>, <a href="qfontdatabase.html">QFontDatabase</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFontInfo"></a>QFontInfo::QFontInfo ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+Constructs a font info object for <em>font</em>.
+<p> The font must be screen-compatible, i.e. a font you use when
+drawing text in <a href="qwidget.html">widgets</a> or <a href="qpixmap.html">pixmaps</a>, not <a href="qpicture.html">QPicture</a> or <a href="qprinter.html">QPrinter</a>.
+<p> The font info object holds the information for the font that is
+passed in the constructor at the time it is created, and is not
+updated if the font's attributes are changed later.
+<p> Use <a href="qpainter.html#fontInfo">QPainter::fontInfo</a>() to get the font info when painting.
+This will give correct results also when painting on paint device
+that is not screen-compatible.
+
+<h3 class=fn><a name="QFontInfo-2"></a>QFontInfo::QFontInfo ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, <a href="qfont.html#Script-enum">QFont::Script</a>&nbsp;script )
+</h3>
+Constructs a font info object for <em>font</em> using the specified <em>script</em>.
+
+<h3 class=fn><a name="QFontInfo-3"></a>QFontInfo::QFontInfo ( const&nbsp;<a href="qfontinfo.html">QFontInfo</a>&nbsp;&amp;&nbsp;fi )
+</h3>
+Constructs a copy of <em>fi</em>.
+
+<h3 class=fn><a name="~QFontInfo"></a>QFontInfo::~QFontInfo ()
+</h3>
+Destroys the font info object.
+
+<h3 class=fn>bool <a name="bold"></a>QFontInfo::bold () const
+</h3>
+
+<p> Returns TRUE if <a href="#weight">weight</a>() would return a value greater than <a href="qfont.html#Weight-enum">QFont::Normal</a>; otherwise returns FALSE.
+<p> <p>See also <a href="#weight">weight</a>() and <a href="qfont.html#bold">QFont::bold</a>().
+
+<p>Example: <a href="qfd-example.html#x1982">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>bool <a name="exactMatch"></a>QFontInfo::exactMatch () const
+</h3>
+Returns TRUE if the matched window system font is exactly the same
+as the one specified by the font; otherwise returns FALSE.
+<p> <p>See also <a href="qfont.html#exactMatch">QFont::exactMatch</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="family"></a>QFontInfo::family () const
+</h3>
+Returns the family name of the matched window system font.
+<p> <p>See also <a href="qfont.html#family">QFont::family</a>().
+
+<p>Examples: <a href="simple-font-demo-example.html#x2848">fonts/simple-qfont-demo/viewer.cpp</a> and <a href="qfd-example.html#x1983">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>bool <a name="fixedPitch"></a>QFontInfo::fixedPitch () const
+</h3>
+Returns the fixed pitch value of the matched window system font.
+<p> <p>See also <a href="qfont.html#fixedPitch">QFont::fixedPitch</a>().
+
+<h3 class=fn>bool <a name="italic"></a>QFontInfo::italic () const
+</h3>
+Returns the italic value of the matched window system font.
+<p> <p>See also <a href="qfont.html#italic">QFont::italic</a>().
+
+<p>Example: <a href="qfd-example.html#x1984">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn><a href="qfontinfo.html">QFontInfo</a>&nbsp;&amp; <a name="operator-eq"></a>QFontInfo::operator= ( const&nbsp;<a href="qfontinfo.html">QFontInfo</a>&nbsp;&amp;&nbsp;fi )
+</h3>
+Assigns the font info in <em>fi</em>.
+
+<h3 class=fn>int <a name="pixelSize"></a>QFontInfo::pixelSize () const
+</h3>
+Returns the pixel size of the matched window system font.
+<p> <p>See also <a href="qfont.html#pointSize">QFont::pointSize</a>().
+
+<h3 class=fn>int <a name="pointSize"></a>QFontInfo::pointSize () const
+</h3>
+Returns the point size of the matched window system font.
+<p> <p>See also <a href="qfont.html#pointSize">QFont::pointSize</a>().
+
+<p>Examples: <a href="simple-font-demo-example.html#x2849">fonts/simple-qfont-demo/viewer.cpp</a> and <a href="qfd-example.html#x1985">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>bool <a name="rawMode"></a>QFontInfo::rawMode () const
+</h3>
+Returns TRUE if the font is a raw mode font; otherwise returns
+FALSE.
+<p> If it is a raw mode font, all other functions in QFontInfo will
+return the same values set in the <a href="qfont.html">QFont</a>, regardless of the font
+actually used.
+<p> <p>See also <a href="qfont.html#rawMode">QFont::rawMode</a>().
+
+<h3 class=fn><a href="qfont.html#StyleHint-enum">QFont::StyleHint</a> <a name="styleHint"></a>QFontInfo::styleHint () const
+</h3>
+Returns the style of the matched window system font.
+<p> Currently only returns the style hint set in <a href="qfont.html">QFont</a>.
+<p> <p>See also <a href="qfont.html#styleHint">QFont::styleHint</a>() and <a href="qfont.html#StyleHint-enum">QFont::StyleHint</a>.
+
+<h3 class=fn>int <a name="weight"></a>QFontInfo::weight () const
+</h3>
+Returns the weight of the matched window system font.
+<p> <p>See also <a href="qfont.html#weight">QFont::weight</a>() and <a href="#bold">bold</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmanager-members.html b/doc/html/qfontmanager-members.html
new file mode 100644
index 0000000..37f3aa4
--- /dev/null
+++ b/doc/html/qfontmanager-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontmanager_qws.h:197 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontManager Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFontManager</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfontmanager.html">QFontManager</a>, including inherited members.
+
+<ul>
+<li><a href="qfontmanager.html#QFontManager">QFontManager</a>()
+<li><a href="qfontmanager.html#~QFontManager">~QFontManager</a>()
+<li><a href="qfontmanager.html#cleanup">cleanup</a>()
+<li><a href="qfontmanager.html#get">get</a>()
+<li><a href="qfontmanager.html#initialize">initialize</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmanager.html b/doc/html/qfontmanager.html
new file mode 100644
index 0000000..ef96325
--- /dev/null
+++ b/doc/html/qfontmanager.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfontmanager_qws.cpp:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontManager Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFontManager Class Reference</h1>
+
+<p>The QFontManager class implements font management in Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfontmanager_qws-h.html">qfontmanager_qws.h</a>&gt;</tt>
+<p><a href="qfontmanager-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFontManager"><b>QFontManager</b></a> ()</li>
+<li class=fn><a href="#~QFontManager"><b>~QFontManager</b></a> ()</li>
+<li class=fn>QDiskFont * <a href="#get"><b>get</b></a> ( const&nbsp;QFontDef&nbsp;&amp;&nbsp;f )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#initialize"><b>initialize</b></a> ()</li>
+<li class=fn>void <a href="#cleanup"><b>cleanup</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFontManager class implements font management in Qt/Embedded.
+
+<p> There is one and only one QFontManager per Qt/Embedded
+application. The <tt>qt_fontmanager</tt> global variable points to it. It
+keeps a list of font factories, a cache of rendered fonts and a
+list of fonts available on disk. QFontManager is called when a new
+font needs to be rendered from a Freetype-compatible or BDF font
+on disk; this only happens if there isn't an appropriate QPF font
+already available.
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFontManager"></a>QFontManager::QFontManager ()
+</h3>
+Creates a font manager. This method reads in the font definition
+file from <tt>INSTALL/lib/fonts/fontdir</tt>, where <tt>INSTALL</tt> is the
+directory where Qt/Embedded was installed, and creates a list of
+QDiskFonts to hold the information in the file. It also constructs
+any defined font factories.
+
+<h3 class=fn><a name="~QFontManager"></a>QFontManager::~QFontManager ()
+</h3>
+
+<p> Destroys the QFontManager and sets <tt>qt_fontmanager</tt> to 0.
+
+<h3 class=fn>void <a name="cleanup"></a>QFontManager::cleanup ()<tt> [static]</tt>
+</h3>
+Destroys the font manager
+
+<h3 class=fn>QDiskFont * <a name="get"></a>QFontManager::get ( const&nbsp;QFontDef&nbsp;&amp;&nbsp;f )
+</h3>
+Returns the QDiskFont that best matches <em>f</em>, based on family,
+weight, italicity and font size.
+
+<h3 class=fn>void <a name="initialize"></a>QFontManager::initialize ()<tt> [static]</tt>
+</h3>
+Creates a new QFontManager and points <tt>qt_fontmanager</tt> to it
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmanager_qws-h.html b/doc/html/qfontmanager_qws-h.html
new file mode 100644
index 0000000..4fdf0f7
--- /dev/null
+++ b/doc/html/qfontmanager_qws-h.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontmanager_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfontmanager_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfontmanager_qws.h</h1>
+
+<p>This is the verbatim text of the qfontmanager_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfontmanager_qws.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of font rendering infrastructure for Embedded Qt
+**
+** Created : 940721
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONTMANAGER_QWS_H
+#define QFONTMANAGER_QWS_H
+
+#ifndef QT_H
+#include "qfont.h"
+#include "qptrlist.h"
+#include &lt;private/qtextengine_p.h&gt;
+#endif // QT_H
+
+// These are stored in the shared memory segment in front of their
+// data, and indexed at the start of the segment
+
+// This needs to be a multiple of 64 bits
+
+class QFontDef;
+
+class Q_PACKED QGlyphMetrics {
+
+public:
+ Q_UINT8 linestep;
+ Q_UINT8 width;
+ Q_UINT8 height;
+ Q_UINT8 flags;
+
+ Q_INT8 bearingx; // Difference from pen position to glyph's left bbox
+ Q_UINT8 advance; // Difference between pen positions
+ Q_INT8 bearingy; // Used for putting characters on baseline
+
+ Q_INT8 reserved; // Do not use
+
+ // Flags:
+ // RendererOwnsData - the renderer is responsible for glyph data
+ // memory deletion otherwise QGlyphTree must
+ // delete [] the data when the glyph is deleted.
+ enum Flags { RendererOwnsData=0x01 };
+};
+
+class QGlyph {
+public:
+ QGlyph() { metrics=0; data=0; }
+ QGlyph(QGlyphMetrics* m, uchar* d) :
+ metrics(m), data(d) { }
+ ~QGlyph() {}
+
+ QGlyphMetrics* metrics;
+ uchar* data;
+};
+
+
+
+class QFontFactory;
+class QDiskFont;
+
+// This is a particular font instance at a particular resolution
+// e.g. Truetype Times, 10 point. There's only one of these though;
+// we want to share generated glyphs
+
+class QRenderedFont {
+
+public:
+
+ // Normal font-type is monochrome; glyph data is a
+ // bitmap, which doesn't use much memory
+
+ // Initialise for name A, renderer B, font type C, D glyphs
+
+ QRenderedFont(QDiskFont *,const QFontDef&amp;);
+ virtual ~QRenderedFont();
+
+ QFontDef fontDef() const;
+
+ int refcount;
+
+ int ptsize;
+
+ bool italic;
+ unsigned int weight;
+
+ void ref() { refcount++; }
+ bool deref() { refcount--; return refcount==0; }
+
+ bool match(const QFontDef &amp;);
+
+ QDiskFont* diskfont;
+ int fascent,fdescent;
+ int fleftbearing,frightbearing;
+ int fmaxwidth;
+ int fleading;
+ int funderlinepos;
+ int funderlinewidth;
+ bool smooth;
+ int maxchar;
+
+ int ascent() { return fascent; }
+ int descent() { return fdescent; }
+ int width(int);
+ int width( const QString&amp;, int =-1 );
+ int leftBearing(int);
+ int rightBearing(int);
+
+ // Calling any of these can trigger a full-font metrics check
+ // which can be expensive
+ int minLeftBearing();
+ int minRightBearing();
+ int maxWidth();
+
+ virtual bool inFont(glyph_t g) const=0;
+ virtual QGlyph render(glyph_t g)=0;
+
+private:
+
+};
+
+// Keeps track of available renderers and which font is which
+
+class QDiskFontPrivate {};
+
+class QDiskFont {
+
+public:
+ QDiskFont(QFontFactory *f, const QString&amp; n, bool i, int w, int s,
+ const QString &amp;fl, const QString&amp; fi) :
+ factory(f), name(n), italic(i), weight(w), size(s), flags(fl), file(fi)
+ {
+ loaded=FALSE;
+ p=0;
+ }
+
+ QRenderedFont* load(const QFontDef &amp;);
+
+ QFontDef fontDef() const;
+
+ QFontFactory *factory;
+ QString name;
+ bool italic;
+ int weight;
+ int size;
+ QString flags;
+ QString file;
+ bool loaded;
+
+ QDiskFontPrivate * p;
+};
+
+class QCachePolicy {
+
+public:
+
+ virtual void cache(QRenderedFont *)=0;
+ virtual void uncache(QRenderedFont *)=0;
+
+};
+
+// Exposed here so the default policy can be reset
+
+class QDefaultCachePolicy : public QCachePolicy {
+
+public:
+
+ virtual void cache(QRenderedFont *);
+ virtual void uncache(QRenderedFont *);
+
+};
+
+class QFontManager {
+
+public:
+
+ QPtrList&lt;QFontFactory&gt; factories;
+ QPtrList&lt;QRenderedFont&gt; cachedfonts;
+ QPtrList&lt;QDiskFont&gt; diskfonts;
+
+ QFontManager();
+ ~QFontManager();
+
+ // Font definition, type and color
+ QDiskFont * get(const QFontDef &amp;);
+
+ static int cmpFontDef(const QFontDef &amp; goal, const QFontDef &amp; choice);
+
+ static void initialize();
+ static void cleanup();
+
+ void setPolicy(QCachePolicy *);
+
+ void cache(QRenderedFont * f) { policy-&gt;cache(f); }
+ void uncache(QRenderedFont * f) { policy-&gt;uncache(f); }
+ QRenderedFont * getCached(const QFontDef &amp;);
+
+private:
+
+ QCachePolicy * policy;
+
+};
+
+class QFontFactory {
+
+public:
+
+ QFontFactory() {}
+ virtual ~QFontFactory() {}
+
+ virtual QRenderedFont * get(const QFontDef &amp;,QDiskFont *)=0;
+ virtual void load(QDiskFont *) const=0;
+ virtual void unload(QDiskFont *) {}
+ virtual QString name()=0;
+};
+
+void qt_init_fonts();
+
+extern QFontManager * qt_fontmanager;
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmetrics-h.html b/doc/html/qfontmetrics-h.html
new file mode 100644
index 0000000..d391a4c
--- /dev/null
+++ b/doc/html/qfontmetrics-h.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontmetrics.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qfontmetrics.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qfontmetrics.h</h1>
+
+<p>This is the verbatim text of the qfontmetrics.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qfontmetrics.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFontMetrics class
+**
+** Created : 940514
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFONTMETRICS_H
+#define QFONTMETRICS_H
+
+#ifndef QT_H
+#include "qfont.h"
+#include "qrect.h"
+#endif // QT_H
+
+#ifdef Q_WS_QWS
+class QFontEngine;
+#endif
+
+class QTextCodec;
+class QTextParag;
+
+class Q_EXPORT QFontMetrics
+{
+public:
+ QFontMetrics( const QFont &amp; );
+ QFontMetrics( const QFont &amp;, QFont::Script );
+ QFontMetrics( const QFontMetrics &amp; );
+ ~QFontMetrics();
+
+ QFontMetrics &amp;operator=( const QFontMetrics &amp; );
+
+ int ascent() const;
+ int descent() const;
+ int height() const;
+ int leading() const;
+ int lineSpacing() const;
+ int minLeftBearing() const;
+ int minRightBearing() const;
+ int maxWidth() const;
+
+ bool inFont(QChar) const;
+
+ int leftBearing(QChar) const;
+ int rightBearing(QChar) const;
+ int width( const QString &amp;, int len = -1 ) const;
+
+ int width( QChar ) const;
+#ifndef QT_NO_COMPAT
+ int width( char c ) const { return width( (QChar) c ); }
+#endif
+
+ int charWidth( const QString &amp;str, int pos ) const;
+ QRect boundingRect( const QString &amp;, int len = -1 ) const;
+ QRect boundingRect( QChar ) const;
+ QRect boundingRect( int x, int y, int w, int h, int flags,
+ const QString&amp; str, int len=-1, int tabstops=0,
+ int *tabarray=0, QTextParag **intern=0 ) const;
+ QSize size( int flags,
+ const QString&amp; str, int len=-1, int tabstops=0,
+ int *tabarray=0, QTextParag **intern=0 ) const;
+
+ int underlinePos() const;
+ int overlinePos() const;
+ int strikeOutPos() const;
+ int lineWidth() const;
+
+private:
+ QFontMetrics( const QPainter * );
+
+ friend class QWidget;
+ friend class QPainter;
+ friend class QTextFormat;
+#if defined( Q_WS_MAC )
+ friend class QFontPrivate;
+#endif
+
+ QFontPrivate *d;
+ QPainter *painter;
+ int fscript;
+};
+
+
+#endif // QFONTMETRICS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmetrics-members.html b/doc/html/qfontmetrics-members.html
new file mode 100644
index 0000000..a2ecff4
--- /dev/null
+++ b/doc/html/qfontmetrics-members.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qfontmetrics.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontMetrics Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFontMetrics</h1>
+
+<p>This is the complete list of member functions for
+<a href="qfontmetrics.html">QFontMetrics</a>, including inherited members.
+
+<ul>
+<li><a href="qfontmetrics.html#QFontMetrics">QFontMetrics</a>()
+<li><a href="qfontmetrics.html#~QFontMetrics">~QFontMetrics</a>()
+<li><a href="qfontmetrics.html#ascent">ascent</a>()
+<li><a href="qfontmetrics.html#boundingRect">boundingRect</a>()
+<li><a href="qfontmetrics.html#charWidth">charWidth</a>()
+<li><a href="qfontmetrics.html#descent">descent</a>()
+<li><a href="qfontmetrics.html#height">height</a>()
+<li><a href="qfontmetrics.html#inFont">inFont</a>()
+<li><a href="qfontmetrics.html#leading">leading</a>()
+<li><a href="qfontmetrics.html#leftBearing">leftBearing</a>()
+<li><a href="qfontmetrics.html#lineSpacing">lineSpacing</a>()
+<li><a href="qfontmetrics.html#lineWidth">lineWidth</a>()
+<li><a href="qfontmetrics.html#maxWidth">maxWidth</a>()
+<li><a href="qfontmetrics.html#minLeftBearing">minLeftBearing</a>()
+<li><a href="qfontmetrics.html#minRightBearing">minRightBearing</a>()
+<li><a href="qfontmetrics.html#operator-eq">operator=</a>()
+<li><a href="qfontmetrics.html#overlinePos">overlinePos</a>()
+<li><a href="qfontmetrics.html#rightBearing">rightBearing</a>()
+<li><a href="qfontmetrics.html#size">size</a>()
+<li><a href="qfontmetrics.html#strikeOutPos">strikeOutPos</a>()
+<li><a href="qfontmetrics.html#underlinePos">underlinePos</a>()
+<li><a href="qfontmetrics.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qfontmetrics.html b/doc/html/qfontmetrics.html
new file mode 100644
index 0000000..0f00def
--- /dev/null
+++ b/doc/html/qfontmetrics.html
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qfont.cpp:1807 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFontMetrics Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFontMetrics Class Reference</h1>
+
+<p>The QFontMetrics class provides font metrics information.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qfontmetrics-h.html">qfontmetrics.h</a>&gt;</tt>
+<p><a href="qfontmetrics-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFontMetrics"><b>QFontMetrics</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn><a href="#QFontMetrics-2"><b>QFontMetrics</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font, QFont::Script&nbsp;script )</li>
+<li class=fn><a href="#QFontMetrics-3"><b>QFontMetrics</b></a> ( const&nbsp;QFontMetrics&nbsp;&amp;&nbsp;fm )</li>
+<li class=fn><a href="#~QFontMetrics"><b>~QFontMetrics</b></a> ()</li>
+<li class=fn>QFontMetrics &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QFontMetrics&nbsp;&amp;&nbsp;fm )</li>
+<li class=fn>int <a href="#ascent"><b>ascent</b></a> () const</li>
+<li class=fn>int <a href="#descent"><b>descent</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>int <a href="#leading"><b>leading</b></a> () const</li>
+<li class=fn>int <a href="#lineSpacing"><b>lineSpacing</b></a> () const</li>
+<li class=fn>int <a href="#minLeftBearing"><b>minLeftBearing</b></a> () const</li>
+<li class=fn>int <a href="#minRightBearing"><b>minRightBearing</b></a> () const</li>
+<li class=fn>int <a href="#maxWidth"><b>maxWidth</b></a> () const</li>
+<li class=fn>bool <a href="#inFont"><b>inFont</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>int <a href="#leftBearing"><b>leftBearing</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>int <a href="#rightBearing"><b>rightBearing</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>int <a href="#width-2"><b>width</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1 ) const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>int width ( char&nbsp;c ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#charWidth"><b>charWidth</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;pos ) const</li>
+<li class=fn>QRect <a href="#boundingRect-2"><b>boundingRect</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1 ) const</li>
+<li class=fn>QRect <a href="#boundingRect"><b>boundingRect</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>QRect <a href="#boundingRect-3"><b>boundingRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flgs, const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, int&nbsp;tabstops = 0, int&nbsp;*&nbsp;tabarray = 0, QTextParag&nbsp;**&nbsp;intern = 0 ) const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> ( int&nbsp;flgs, const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, int&nbsp;tabstops = 0, int&nbsp;*&nbsp;tabarray = 0, QTextParag&nbsp;**&nbsp;intern = 0 ) const</li>
+<li class=fn>int <a href="#underlinePos"><b>underlinePos</b></a> () const</li>
+<li class=fn>int <a href="#overlinePos"><b>overlinePos</b></a> () const</li>
+<li class=fn>int <a href="#strikeOutPos"><b>strikeOutPos</b></a> () const</li>
+<li class=fn>int <a href="#lineWidth"><b>lineWidth</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFontMetrics class provides font metrics information.
+<p>
+
+<p> QFontMetrics functions calculate the size of characters and
+strings for a given font. There are three ways you can create a
+QFontMetrics object:
+<p> <ol type=1>
+<li> Calling the QFontMetrics constructor with a <a href="qfont.html">QFont</a> creates a
+font metrics object for a screen-compatible font, i.e. the font
+cannot be a printer font<sup>*</sup>. If the font is changed
+later, the font metrics object is <em>not</em> updated.
+<p> <li> <a href="qwidget.html#fontMetrics">QWidget::fontMetrics</a>() returns the font metrics for a widget's
+font. This is equivalent to QFontMetrics(widget->font()). If the
+widget's font is changed later, the font metrics object is <em>not</em>
+updated.
+<p> <li> <a href="qpainter.html#fontMetrics">QPainter::fontMetrics</a>() returns the font metrics for a
+painter's current font. If the painter's font is changed later, the
+font metrics object is <em>not</em> updated.
+</ol>
+<p> <sup>*</sup> If you use a printer font the values returned may be
+inaccurate. Printer fonts are not always accessible so the nearest
+screen font is used if a printer font is supplied.
+<p> Once created, the object provides functions to access the
+individual metrics of the font, its characters, and for strings
+rendered in the font.
+<p> There are several functions that operate on the font: <a href="#ascent">ascent</a>(),
+<a href="#descent">descent</a>(), <a href="#height">height</a>(), <a href="#leading">leading</a>() and <a href="#lineSpacing">lineSpacing</a>() return the basic
+size properties of the font. The <a href="#underlinePos">underlinePos</a>(), <a href="#overlinePos">overlinePos</a>(),
+<a href="#strikeOutPos">strikeOutPos</a>() and <a href="#lineWidth">lineWidth</a>() functions, return the properties of
+the line that underlines, overlines or strikes out the
+characters. These functions are all fast.
+<p> There are also some functions that operate on the set of glyphs in
+the font: <a href="#minLeftBearing">minLeftBearing</a>(), <a href="#minRightBearing">minRightBearing</a>() and <a href="#maxWidth">maxWidth</a>().
+These are by necessity slow, and we recommend avoiding them if
+possible.
+<p> For each character, you can get its <a href="#width">width</a>(), <a href="#leftBearing">leftBearing</a>() and
+<a href="#rightBearing">rightBearing</a>() and find out whether it is in the font using
+<a href="#inFont">inFont</a>(). You can also treat the character as a string, and use
+the string functions on it.
+<p> The string functions include width(), to return the width of a
+string in pixels (or points, for a printer), <a href="#boundingRect">boundingRect</a>(), to
+return a rectangle large enough to contain the rendered string,
+and <a href="#size">size</a>(), to return the size of that rectangle.
+<p> Example:
+<pre>
+ <a href="qfont.html">QFont</a> font( "times", 24 );
+ QFontMetrics fm( font );
+ int pixelsWide = fm.<a href="#width">width</a>( "What's the width of this text?" );
+ int pixelsHigh = fm.<a href="#height">height</a>();
+ </pre>
+
+<p> <p>See also <a href="qfont.html">QFont</a>, <a href="qfontinfo.html">QFontInfo</a>, <a href="qfontdatabase.html">QFontDatabase</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFontMetrics"></a>QFontMetrics::QFontMetrics ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+Constructs a font metrics object for <em>font</em>.
+<p> The font must be screen-compatible, i.e. a font you use when
+drawing text in <a href="qwidget.html">widgets</a> or <a href="qpixmap.html">pixmaps</a>, not <a href="qpicture.html">QPicture</a> or <a href="qprinter.html">QPrinter</a>.
+<p> The font metrics object holds the information for the font that is
+passed in the constructor at the time it is created, and is not
+updated if the font's attributes are changed later.
+<p> Use <a href="qpainter.html#fontMetrics">QPainter::fontMetrics</a>() to get the font metrics when painting.
+This will give correct results also when painting on paint device
+that is not screen-compatible.
+
+<h3 class=fn><a name="QFontMetrics-2"></a>QFontMetrics::QFontMetrics ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, <a href="qfont.html#Script-enum">QFont::Script</a>&nbsp;script )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a font metrics object for <em>font</em> using the given <em>script</em>.
+
+<h3 class=fn><a name="QFontMetrics-3"></a>QFontMetrics::QFontMetrics ( const&nbsp;<a href="qfontmetrics.html">QFontMetrics</a>&nbsp;&amp;&nbsp;fm )
+</h3>
+Constructs a copy of <em>fm</em>.
+
+<h3 class=fn><a name="~QFontMetrics"></a>QFontMetrics::~QFontMetrics ()
+</h3>
+Destroys the font metrics object and frees all allocated
+resources.
+
+<h3 class=fn>int <a name="ascent"></a>QFontMetrics::ascent () const
+</h3>
+Returns the ascent of the font.
+<p> The ascent of a font is the distance from the baseline to the
+highest position characters extend to. In practice, some font
+designers break this rule, e.g. when they put more than one accent
+on top of a character, or to accommodate an unusual character in
+an exotic language, so it is possible (though rare) that this
+value will be too small.
+<p> <p>See also <a href="#descent">descent</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1064">drawdemo/drawdemo.cpp</a> and <a href="scrollview-example.html#x619">scrollview/scrollview.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QFontMetrics::boundingRect ( <a href="qchar.html">QChar</a>&nbsp;ch ) const
+</h3>
+Returns the rectangle that is covered by ink if the character
+specified by <em>ch</em> were to be drawn at the origin of the coordinate
+system.
+<p> Note that the bounding rectangle may extend to the left of (0, 0),
+e.g. for italicized fonts, and that the text output may cover <em>all</em> pixels in the bounding rectangle. For a space character the rectangle
+will usually be empty.
+<p> Note that the rectangle usually extends both above and below the
+base line.
+<p> <b>Warning:</b> The width of the returned rectangle is not the advance width
+of the character. Use <a href="#boundingRect">boundingRect</a>(const <a href="qstring.html">QString</a> &) or <a href="#width">width</a>() instead.
+<p> <p>See also <a href="#width">width</a>().
+
+<p>Example: <a href="xform-example.html#x1225">xform/xform.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect-2"></a>QFontMetrics::boundingRect ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the bounding rectangle that contains the first <em>len</em>
+characters of string <em>str</em>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect-3"></a>QFontMetrics::boundingRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flgs, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, int&nbsp;tabstops = 0, int&nbsp;*&nbsp;tabarray = 0, QTextParag&nbsp;**&nbsp;intern = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the bounding rectangle of the first <em>len</em> characters of
+<em>str</em>, which is the set of pixels the text would cover if drawn
+at (0, 0). The drawing, and hence the bounding rectangle, is
+constrained to the rectangle (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>).
+<p> If <em>len</em> is negative (which is the default), the entire string is
+used.
+<p> The <em>flgs</em> argument is the bitwise OR of the following flags:
+<ul>
+<li> <tt>AlignAuto</tt> aligns to the left border for all languages except
+Arabic and Hebrew where it aligns to the right.
+<li> <tt>AlignLeft</tt> aligns to the left border.
+<li> <tt>AlignRight</tt> aligns to the right border.
+<li> <tt>AlignJustify</tt> produces justified text.
+<li> <tt>AlignHCenter</tt> aligns horizontally centered.
+<li> <tt>AlignTop</tt> aligns to the top border.
+<li> <tt>AlignBottom</tt> aligns to the bottom border.
+<li> <tt>AlignVCenter</tt> aligns vertically centered
+<li> <tt>AlignCenter</tt> (== <tt>AlignHCenter | AlignVCenter</tt>)
+<li> <tt>SingleLine</tt> ignores newline characters in the text.
+<li> <tt>ExpandTabs</tt> expands tabs (see below)
+<li> <tt>ShowPrefix</tt> interprets "&amp;x" as "<u>x</u>", i.e. underlined.
+<li> <tt>WordBreak</tt> breaks the text to fit the rectangle.
+</ul>
+<p> Horizontal alignment defaults to <tt>AlignAuto</tt> and vertical
+alignment defaults to <tt>AlignTop</tt>.
+<p> If several of the horizontal or several of the vertical alignment
+flags are set, the resulting alignment is undefined.
+<p> These flags are defined in <a href="qnamespace-h.html">qnamespace.h</a>.
+<p> If <tt>ExpandTabs</tt> is set in <em>flgs</em>, then: if <em>tabarray</em> is
+non-null, it specifies a 0-terminated sequence of pixel-positions
+for tabs; otherwise if <em>tabstops</em> is non-zero, it is used as the
+tab spacing (in pixels).
+<p> Note that the bounding rectangle may extend to the left of (0, 0),
+e.g. for italicized fonts, and that the text output may cover <em>all</em> pixels in the bounding rectangle.
+<p> Newline characters are processed as linebreaks.
+<p> Despite the different actual character heights, the heights of the
+bounding rectangles of "Yes" and "yes" are the same.
+<p> The bounding rectangle given by this function is somewhat larger
+than that calculated by the simpler <a href="#boundingRect">boundingRect</a>() function. This
+function uses the <a href="#minLeftBearing">maximum left</a> and
+<a href="#minRightBearing">right</a> font bearings as is
+necessary for multi-line text to align correctly. Also,
+fontHeight() and <a href="#lineSpacing">lineSpacing</a>() are used to calculate the height,
+rather than individual character heights.
+<p> The <em>intern</em> argument should not be used.
+<p> <p>See also <a href="#width">width</a>(), <a href="qpainter.html#boundingRect">QPainter::boundingRect</a>(), and <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<h3 class=fn>int <a name="charWidth"></a>QFontMetrics::charWidth ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;pos ) const
+</h3>
+Returns the width of the character at position <em>pos</em> in the
+string <em>str</em>.
+<p> The whole string is needed, as the glyph drawn may change
+depending on the context (the letter before and after the current
+one) for some languages (e.g. Arabic).
+<p> This function also takes non spacing marks and ligatures into
+account.
+
+<h3 class=fn>int <a name="descent"></a>QFontMetrics::descent () const
+</h3>
+Returns the descent of the font.
+<p> The descent is the distance from the base line to the lowest point
+characters extend to. (Note that this is different from X, which
+adds 1 pixel.) In practice, some font designers break this rule,
+e.g. to accommodate an unusual character in an exotic language, so
+it is possible (though rare) that this value will be too small.
+<p> <p>See also <a href="#ascent">ascent</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1065">drawdemo/drawdemo.cpp</a> and <a href="hello-example.html#x1629">hello/hello.cpp</a>.
+<h3 class=fn>int <a name="height"></a>QFontMetrics::height () const
+</h3>
+Returns the height of the font.
+<p> This is always equal to <a href="#ascent">ascent</a>()+descent()+1 (the 1 is for the
+base line).
+<p> <p>See also <a href="#leading">leading</a>() and <a href="#lineSpacing">lineSpacing</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2741">grapher/grapher.cpp</a>, <a href="hello-example.html#x1630">hello/hello.cpp</a>, and <a href="qfd-example.html#x1986">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>bool <a name="inFont"></a>QFontMetrics::inFont ( <a href="qchar.html">QChar</a>&nbsp;ch ) const
+</h3>
+Returns TRUE if character <em>ch</em> is a valid character in the font;
+otherwise returns FALSE.
+
+<p>Example: <a href="qfd-example.html#x1987">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>int <a name="leading"></a>QFontMetrics::leading () const
+</h3>
+Returns the leading of the font.
+<p> This is the natural inter-line spacing.
+<p> <p>See also <a href="#height">height</a>() and <a href="#lineSpacing">lineSpacing</a>().
+
+<h3 class=fn>int <a name="leftBearing"></a>QFontMetrics::leftBearing ( <a href="qchar.html">QChar</a>&nbsp;ch ) const
+</h3>
+Returns the left bearing of character <em>ch</em> in the font.
+<p> The left bearing is the right-ward distance of the left-most pixel
+of the character from the logical origin of the character. This
+value is negative if the pixels of the character extend to the
+left of the logical origin.
+<p> See <a href="#width">width</a>(<a href="qchar.html">QChar</a>) for a graphical description of this metric.
+<p> <p>See also <a href="#rightBearing">rightBearing</a>(), <a href="#minLeftBearing">minLeftBearing</a>(), and <a href="#width">width</a>().
+
+<p>Example: <a href="qfd-example.html#x1988">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>int <a name="lineSpacing"></a>QFontMetrics::lineSpacing () const
+</h3>
+Returns the distance from one base line to the next.
+<p> This value is always equal to <a href="#leading">leading</a>()+height().
+<p> <p>See also <a href="#height">height</a>() and <a href="#leading">leading</a>().
+
+<p>Examples: <a href="qfd-example.html#x1989">qfd/fontdisplayer.cpp</a>, <a href="qwerty-example.html#x369">qwerty/qwerty.cpp</a>, and <a href="scrollview-example.html#x620">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="lineWidth"></a>QFontMetrics::lineWidth () const
+</h3>
+Returns the width of the underline and strikeout lines, adjusted
+for the point size of the font.
+<p> <p>See also <a href="#underlinePos">underlinePos</a>(), <a href="#overlinePos">overlinePos</a>(), and <a href="#strikeOutPos">strikeOutPos</a>().
+
+<h3 class=fn>int <a name="maxWidth"></a>QFontMetrics::maxWidth () const
+</h3>
+Returns the width of the widest character in the font.
+
+<p>Example: <a href="qfd-example.html#x1990">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>int <a name="minLeftBearing"></a>QFontMetrics::minLeftBearing () const
+</h3>
+Returns the minimum left bearing of the font.
+<p> This is the smallest <a href="#leftBearing">leftBearing</a>(char) of all characters in the
+font.
+<p> Note that this function can be very slow if the font is large.
+<p> <p>See also <a href="#minRightBearing">minRightBearing</a>() and <a href="#leftBearing">leftBearing</a>().
+
+<p>Example: <a href="qfd-example.html#x1991">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn>int <a name="minRightBearing"></a>QFontMetrics::minRightBearing () const
+</h3>
+Returns the minimum right bearing of the font.
+<p> This is the smallest <a href="#rightBearing">rightBearing</a>(char) of all characters in the
+font.
+<p> Note that this function can be very slow if the font is large.
+<p> <p>See also <a href="#minLeftBearing">minLeftBearing</a>() and <a href="#rightBearing">rightBearing</a>().
+
+<p>Example: <a href="qfd-example.html#x1992">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn><a href="qfontmetrics.html">QFontMetrics</a>&nbsp;&amp; <a name="operator-eq"></a>QFontMetrics::operator= ( const&nbsp;<a href="qfontmetrics.html">QFontMetrics</a>&nbsp;&amp;&nbsp;fm )
+</h3>
+Assigns the font metrics <em>fm</em>.
+
+<h3 class=fn>int <a name="overlinePos"></a>QFontMetrics::overlinePos () const
+</h3>
+Returns the distance from the base line to where an overline
+should be drawn.
+<p> <p>See also <a href="#underlinePos">underlinePos</a>(), <a href="#strikeOutPos">strikeOutPos</a>(), and <a href="#lineWidth">lineWidth</a>().
+
+<h3 class=fn>int <a name="rightBearing"></a>QFontMetrics::rightBearing ( <a href="qchar.html">QChar</a>&nbsp;ch ) const
+</h3>
+Returns the right bearing of character <em>ch</em> in the font.
+<p> The right bearing is the left-ward distance of the right-most
+pixel of the character from the logical origin of a subsequent
+character. This value is negative if the pixels of the character
+extend to the right of the <a href="#width">width</a>() of the character.
+<p> See width() for a graphical description of this metric.
+<p> <p>See also <a href="#leftBearing">leftBearing</a>(), <a href="#minRightBearing">minRightBearing</a>(), and <a href="#width">width</a>().
+
+<p>Example: <a href="qfd-example.html#x1993">qfd/fontdisplayer.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QFontMetrics::size ( int&nbsp;flgs, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, int&nbsp;tabstops = 0, int&nbsp;*&nbsp;tabarray = 0, QTextParag&nbsp;**&nbsp;intern = 0 ) const
+</h3>
+Returns the size in pixels of the first <em>len</em> characters of <em>str</em>.
+<p> If <em>len</em> is negative (the default), the entire string is used.
+<p> The <em>flgs</em> argument is the bitwise OR of the following flags:
+<ul>
+<li> <tt>SingleLine</tt> ignores newline characters.
+<li> <tt>ExpandTabs</tt> expands tabs (see below)
+<li> <tt>ShowPrefix</tt> interprets "&amp;x" as "<u>x</u>", i.e. underlined.
+<li> <tt>WordBreak</tt> breaks the text to fit the rectangle.
+</ul>
+<p> These flags are defined in <a href="qnamespace-h.html">qnamespace.h</a>.
+<p> If <tt>ExpandTabs</tt> is set in <em>flgs</em>, then: if <em>tabarray</em> is
+non-null, it specifies a 0-terminated sequence of pixel-positions
+for tabs; otherwise if <em>tabstops</em> is non-zero, it is used as the
+tab spacing (in pixels).
+<p> Newline characters are processed as linebreaks.
+<p> Despite the different actual character heights, the heights of the
+bounding rectangles of "Yes" and "yes" are the same.
+<p> The <em>intern</em> argument should not be used.
+<p> <p>See also <a href="#boundingRect">boundingRect</a>().
+
+<h3 class=fn>int <a name="strikeOutPos"></a>QFontMetrics::strikeOutPos () const
+</h3>
+Returns the distance from the base line to where the strikeout
+line should be drawn.
+<p> <p>See also <a href="#underlinePos">underlinePos</a>(), <a href="#overlinePos">overlinePos</a>(), and <a href="#lineWidth">lineWidth</a>().
+
+<h3 class=fn>int <a name="underlinePos"></a>QFontMetrics::underlinePos () const
+</h3>
+Returns the distance from the base line to where an underscore
+should be drawn.
+<p> <p>See also <a href="#overlinePos">overlinePos</a>(), <a href="#strikeOutPos">strikeOutPos</a>(), and <a href="#lineWidth">lineWidth</a>().
+
+<h3 class=fn>int <a name="width"></a>QFontMetrics::width ( <a href="qchar.html">QChar</a>&nbsp;ch ) const
+</h3>
+<p> <img src="bearings.png" align=right>
+<p> Returns the logical width of character <em>ch</em> in pixels. This is a
+distance appropriate for drawing a subsequent character after <em>ch</em>.
+<p> Some of the metrics are described in the image to the right. The
+central dark rectangles cover the logical <a href="#width">width</a>() of each
+character. The outer pale rectangles cover the <a href="#leftBearing">leftBearing</a>() and
+<a href="#rightBearing">rightBearing</a>() of each character. Notice that the bearings of "f"
+in this particular font are both negative, while the bearings of
+"o" are both positive.
+<p> <b>Warning:</b> This function will produce incorrect results for Arabic
+characters or non spacing marks in the middle of a string, as the
+glyph shaping and positioning of marks that happens when
+processing strings cannot be taken into account. Use <a href="#charWidth">charWidth</a>()
+instead if you aren't looking for the width of isolated
+characters.
+<p> <p>See also <a href="#boundingRect">boundingRect</a>() and <a href="#charWidth">charWidth</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1066">drawdemo/drawdemo.cpp</a>, <a href="hello-example.html#x1631">hello/hello.cpp</a>, <a href="movies-example.html#x496">movies/main.cpp</a>, <a href="qfd-example.html#x1994">qfd/fontdisplayer.cpp</a>, and <a href="scrollview-example.html#x621">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="width-2"></a>QFontMetrics::width ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the width of the first <em>len</em> characters of string <em>str</em>.
+
+<h3 class=fn>int <a name="width-3"></a>QFontMetrics::width ( char&nbsp;c ) const
+</h3>
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Provided to aid porting from Qt 1.x.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qframe-h.html b/doc/html/qframe-h.html
new file mode 100644
index 0000000..d8d918f
--- /dev/null
+++ b/doc/html/qframe-h.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qframe.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qframe.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qframe.h</h1>
+
+<p>This is the verbatim text of the qframe.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qframe.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QFrame widget class
+**
+** Created : 950201
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFRAME_H
+#define QFRAME_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_FRAME
+
+class Q_EXPORT QFrame : public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( Shape Shadow )
+ Q_PROPERTY( int frameWidth READ frameWidth )
+ Q_PROPERTY( QRect contentsRect READ contentsRect )
+ Q_PROPERTY( Shape frameShape READ frameShape WRITE setFrameShape )
+ Q_PROPERTY( Shadow frameShadow READ frameShadow WRITE setFrameShadow )
+ Q_PROPERTY( int lineWidth READ lineWidth WRITE setLineWidth )
+ Q_PROPERTY( int margin READ margin WRITE setMargin )
+ Q_PROPERTY( int midLineWidth READ midLineWidth WRITE setMidLineWidth )
+ Q_PROPERTY( QRect frameRect READ frameRect WRITE setFrameRect DESIGNABLE false )
+
+public:
+ QFrame( QWidget* parent=0, const char* name=0, WFlags f=0 );
+
+ int frameStyle() const;
+ virtual void setFrameStyle( int );
+
+ int frameWidth() const;
+ QRect contentsRect() const;
+
+#ifndef Q_QDOC
+ bool lineShapesOk() const { return TRUE; }
+#endif
+
+ QSize sizeHint() const;
+
+ enum Shape { NoFrame = 0, // no frame
+ Box = 0x0001, // rectangular box
+ Panel = 0x0002, // rectangular panel
+ WinPanel = 0x0003, // rectangular panel (Windows)
+ HLine = 0x0004, // horizontal line
+ VLine = 0x0005, // vertical line
+ StyledPanel = 0x0006, // rectangular panel depending on the GUI style
+ PopupPanel = 0x0007, // rectangular panel depending on the GUI style
+ MenuBarPanel = 0x0008,
+ ToolBarPanel = 0x0009,
+ LineEditPanel = 0x000a,
+ TabWidgetPanel = 0x000b,
+ GroupBoxPanel = 0x000c,
+ MShape = 0x000f // mask for the shape
+ };
+ enum Shadow { Plain = 0x0010, // plain line
+ Raised = 0x0020, // raised shadow effect
+ Sunken = 0x0030, // sunken shadow effect
+ MShadow = 0x00f0 }; // mask for the shadow
+
+ Shape frameShape() const;
+ void setFrameShape( Shape );
+ Shadow frameShadow() const;
+ void setFrameShadow( Shadow );
+
+ int lineWidth() const;
+ virtual void setLineWidth( int );
+
+ int margin() const;
+ virtual void setMargin( int );
+
+ int midLineWidth() const;
+ virtual void setMidLineWidth( int );
+
+ QRect frameRect() const;
+ virtual void setFrameRect( const QRect &amp; );
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void resizeEvent( QResizeEvent * );
+ virtual void drawFrame( QPainter * );
+ virtual void drawContents( QPainter * );
+ virtual void frameChanged();
+ void styleChange( QStyle&amp; );
+
+private:
+ void updateFrameWidth(bool=FALSE);
+ QRect frect;
+ int fstyle;
+ short lwidth;
+ short mwidth;
+ short mlwidth;
+ short fwidth;
+
+ void * d;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QFrame( const QFrame &amp; );
+ QFrame &amp;operator=( const QFrame &amp; );
+#endif
+};
+
+
+inline int QFrame::frameStyle() const
+{ return fstyle; }
+
+inline QFrame::Shape QFrame::frameShape() const
+{ return (Shape) ( fstyle &amp; MShape ); }
+
+inline QFrame::Shadow QFrame::frameShadow() const
+{ return (Shadow) ( fstyle &amp; MShadow ); }
+
+inline void QFrame::setFrameShape( QFrame::Shape s )
+{ setFrameStyle( ( fstyle &amp; MShadow ) | s ); }
+
+inline void QFrame::setFrameShadow( QFrame::Shadow s )
+{ setFrameStyle( ( fstyle &amp; MShape ) | s ); }
+
+inline int QFrame::lineWidth() const
+{ return lwidth; }
+
+inline int QFrame::midLineWidth() const
+{ return mlwidth; }
+
+inline int QFrame::margin() const
+{ return mwidth; }
+
+inline int QFrame::frameWidth() const
+{ return fwidth; }
+
+
+#endif // QT_NO_FRAME
+
+#endif // QFRAME_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qframe-members.html b/doc/html/qframe-members.html
new file mode 100644
index 0000000..5c1407c
--- /dev/null
+++ b/doc/html/qframe-members.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qframe.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFrame Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFrame</h1>
+
+<p>This is the complete list of member functions for
+<a href="qframe.html">QFrame</a>, including inherited members.
+
+<ul>
+<li><a href="qframe.html#QFrame">QFrame</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qframe.html b/doc/html/qframe.html
new file mode 100644
index 0000000..0afe39e
--- /dev/null
+++ b/doc/html/qframe.html
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qframe.cpp:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFrame Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFrame Class Reference</h1>
+
+<p>The QFrame class is the base class of widgets that can have a frame.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qframe-h.html">qframe.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p>Inherited by <a href="qgroupbox.html">QGroupBox</a>, <a href="qscrollview.html">QScrollView</a>, <a href="qdockwindow.html">QDockWindow</a>, <a href="qgrid.html">QGrid</a>, <a href="qhbox.html">QHBox</a>, <a href="qlabel.html">QLabel</a>, <a href="qlcdnumber.html">QLCDNumber</a>, <a href="qlineedit.html">QLineEdit</a>, <a href="qmenubar.html">QMenuBar</a>, <a href="qpopupmenu.html">QPopupMenu</a>, <a href="qprogressbar.html">QProgressBar</a>, <a href="qsplitter.html">QSplitter</a>, <a href="qtoolbox.html">QToolBox</a>, and <a href="qwidgetstack.html">QWidgetStack</a>.
+<p><a href="qframe-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFrame"><b>QFrame</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>int <a href="#frameStyle"><b>frameStyle</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFrameStyle"><b>setFrameStyle</b></a> ( int&nbsp;style )</li>
+<li class=fn>int <a href="#frameWidth"><b>frameWidth</b></a> () const</li>
+<li class=fn>QRect <a href="#contentsRect"><b>contentsRect</b></a> () const</li>
+<li class=fn>enum <a href="#Shape-enum"><b>Shape</b></a> { NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003, HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006, PopupPanel = 0x0007, MenuBarPanel = 0x0008, ToolBarPanel = 0x0009, LineEditPanel = 0x000a, TabWidgetPanel = 0x000b, GroupBoxPanel = 0x000c, MShape = 0x000f }</li>
+<li class=fn>enum <a href="#Shadow-enum"><b>Shadow</b></a> { Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030, MShadow = 0x00f0 }</li>
+<li class=fn>Shape <a href="#frameShape"><b>frameShape</b></a> () const</li>
+<li class=fn>void <a href="#setFrameShape"><b>setFrameShape</b></a> ( Shape )</li>
+<li class=fn>Shadow <a href="#frameShadow"><b>frameShadow</b></a> () const</li>
+<li class=fn>void <a href="#setFrameShadow"><b>setFrameShadow</b></a> ( Shadow )</li>
+<li class=fn>int <a href="#lineWidth"><b>lineWidth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setLineWidth"><b>setLineWidth</b></a> ( int )</li>
+<li class=fn>int <a href="#margin"><b>margin</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMargin"><b>setMargin</b></a> ( int )</li>
+<li class=fn>int <a href="#midLineWidth"><b>midLineWidth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMidLineWidth"><b>setMidLineWidth</b></a> ( int )</li>
+<li class=fn>QRect <a href="#frameRect"><b>frameRect</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFrameRect"><b>setFrameRect</b></a> ( const QRect &amp; )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QRect <a href="#contentsRect-prop"><b>contentsRect</b></a>&nbsp;- the rectangle inside the frame &nbsp;<em>(read only)</em></li>
+<li class=fn>QRect <a href="#frameRect-prop"><b>frameRect</b></a>&nbsp;- the frame rectangle</li>
+<li class=fn>Shadow <a href="#frameShadow-prop"><b>frameShadow</b></a>&nbsp;- the frame shadow value from the frame style</li>
+<li class=fn>Shape <a href="#frameShape-prop"><b>frameShape</b></a>&nbsp;- the frame shape value from the frame style</li>
+<li class=fn>int <a href="#frameWidth-prop"><b>frameWidth</b></a>&nbsp;- the width of the frame that is drawn &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#lineWidth-prop"><b>lineWidth</b></a>&nbsp;- the line width</li>
+<li class=fn>int <a href="#margin-prop"><b>margin</b></a>&nbsp;- the width of the margin</li>
+<li class=fn>int <a href="#midLineWidth-prop"><b>midLineWidth</b></a>&nbsp;- the width of the mid-line</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent&nbsp;*&nbsp;event )</li>
+<li class=fn>virtual void <a href="#resizeEvent"><b>resizeEvent</b></a> ( QResizeEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#drawFrame"><b>drawFrame</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter * )</li>
+<li class=fn>virtual void <a href="#frameChanged"><b>frameChanged</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFrame class is the base class of widgets that can have a frame.
+<p>
+<p> It draws a frame and calls a virtual function, <a href="#drawContents">drawContents</a>(), to
+fill in the frame. This function is reimplemented by subclasses.
+There are also two other less useful functions: <a href="#drawFrame">drawFrame</a>() and
+<a href="#frameChanged">frameChanged</a>().
+<p> <a href="qpopupmenu.html">QPopupMenu</a> uses this to "raise" the menu above the surrounding
+screen. <a href="qprogressbar.html">QProgressBar</a> has a "sunken" look. <a href="qlabel.html">QLabel</a> has a flat look.
+The frames of widgets like these can be changed.
+<p> <pre>
+ <a href="qlabel.html">QLabel</a> label(...);
+ label.<a href="#setFrameStyle">setFrameStyle</a>( QFrame::<a href="#Shape-enum">Panel</a> | QFrame::<a href="#Shadow-enum">Raised</a> );
+ label.<a href="#setLineWidth">setLineWidth</a>( 2 );
+
+ <a href="qprogressbar.html">QProgressBar</a> pbar(...);
+ label.<a href="#setFrameStyle">setFrameStyle</a>( QFrame::<a href="#Shape-enum">NoFrame</a> );
+ </pre>
+
+<p> The QFrame class can also be used directly for creating simple
+frames without any contents, although usually you would use a
+<a href="qhbox.html">QHBox</a> or <a href="qvbox.html">QVBox</a> because they automatically lay out the widgets you
+put inside the frame.
+<p> A frame widget has four attributes: <a href="#frameStyle">frameStyle</a>(), <a href="#lineWidth">lineWidth</a>(),
+<a href="#midLineWidth">midLineWidth</a>(), and <a href="#margin">margin</a>().
+<p> The frame style is specified by a <a href="#Shape-enum">frame
+ shape</a> and a <a href="#Shadow-enum">shadow style</a>. The
+frame shapes are <a href="#Shape-enum">NoFrame</a>, <a href="#Shape-enum">Box</a>, <a href="#Shape-enum">Panel</a>, <a href="#Shape-enum">StyledPanel</a>, <a href="#Shape-enum">PopupPanel</a>, <a href="#Shape-enum">WinPanel</a>, <a href="#Shape-enum">ToolBarPanel</a>, <a href="#Shape-enum">MenuBarPanel</a>, <a href="#Shape-enum">HLine</a> and <a href="#Shape-enum">VLine</a>; the shadow styles are <a href="#Shadow-enum">Plain</a>, <a href="#Shadow-enum">Raised</a> and
+<a href="#Shadow-enum">Sunken</a>.
+<p> The line width is the width of the frame border.
+<p> The mid-line width specifies the width of an extra line in the
+middle of the frame, which uses a third color to obtain a special
+3D effect. Notice that a mid-line is only drawn for <a href="#Shape-enum">Box</a>, <a href="#Shape-enum">HLine</a> and <a href="#Shape-enum">VLine</a> frames that are raised or sunken.
+<p> The margin is the gap between the frame and the contents of the
+frame.
+<p> <a name="picture"></a>
+This table shows the most useful combinations of styles and widths
+(and some rather useless ones):
+<p> <center><img src="frames.png" alt="Table of frame styles"></center> <p>See also <a href="abstractwidgets.html">Abstract Widget Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Shadow-enum"></a>QFrame::Shadow</h3>
+
+<p> This enum type defines the 3D effect used for QFrame's frame.
+<ul>
+<li><tt>QFrame::Plain</tt> - the frame and contents appear level with the
+surroundings; draws using the palette foreground color (without
+any 3D effect)
+<li><tt>QFrame::Raised</tt> - the frame and contents appear raised; draws a 3D
+raised line using the light and dark colors of the current color
+group
+<li><tt>QFrame::Sunken</tt> - the frame and contents appear sunken; draws a 3D
+sunken line using the light and dark colors of the current color
+group
+<li><tt>QFrame::MShadow</tt> - internal; mask for the shadow
+</ul><p> Shadow interacts with QFrame::Shape, the <a href="#lineWidth">lineWidth</a>() and the
+<a href="#midLineWidth">midLineWidth</a>(). See the <a href="#picture">picture of the frames</a>
+in the class description.
+<p> <p>See also <a href="#Shape-enum">QFrame::Shape</a>, <a href="#lineWidth-prop">lineWidth</a>, and <a href="#midLineWidth-prop">midLineWidth</a>.
+
+<h3 class=fn><a name="Shape-enum"></a>QFrame::Shape</h3>
+
+<p> This enum type defines the shapes of a QFrame's frame.
+<ul>
+<li><tt>QFrame::NoFrame</tt> - QFrame draws nothing
+<li><tt>QFrame::Box</tt> - QFrame draws a box around its contents
+<li><tt>QFrame::Panel</tt> - QFrame draws a panel to make the contents appear
+raised or sunken
+<li><tt>QFrame::StyledPanel</tt> - draws a rectangular panel with a look that
+depends on the current GUI style. It can be raised or sunken.
+<li><tt>QFrame::HLine</tt> - QFrame draws a horizontal line that frames nothing
+(useful as separator)
+<li><tt>QFrame::VLine</tt> - QFrame draws a vertical line that frames nothing
+(useful as separator)
+<li><tt>QFrame::GroupBoxPanel</tt> - draws a rectangular panel
+<li><tt>QFrame::WinPanel</tt> - draws a rectangular panel that can be raised or
+sunken like those in Windows 95. Specifying this shape sets
+the line width to 2 pixels. WinPanel is provided for compatibility.
+For GUI style independence we recommend using StyledPanel instead.
+<li><tt>QFrame::ToolBarPanel</tt>
+<li><tt>QFrame::MenuBarPanel</tt>
+<li><tt>QFrame::PopupPanel</tt>
+<li><tt>QFrame::LineEditPanel</tt> - is used to draw a frame suitable for line edits. The
+look depends upon the current GUI style.
+<li><tt>QFrame::TabWidgetPanel</tt> - is used to draw a frame suitable for tab widgets. The
+look depends upon the current GUI style.
+<li><tt>QFrame::MShape</tt> - internal mask
+</ul><p> When it does not call <a href="qstyle.html">QStyle</a>, Shape interacts with QFrame::Shadow,
+the <a href="#lineWidth">lineWidth</a>() and the <a href="#midLineWidth">midLineWidth</a>() to create the total result.
+See the <a href="#picture">picture of the frames</a> in the class
+description.
+<p> <p>See also <a href="#Shadow-enum">QFrame::Shadow</a>, <a href="qwidget.html#style">QFrame::style</a>(), and <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFrame"></a>QFrame::QFrame ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a frame widget with frame style <a href="#Shape-enum">NoFrame</a> and a
+1-pixel frame width.
+<p> The <em>parent</em>, <em>name</em> and <em>f</em> arguments are passed to the
+<a href="qwidget.html">QWidget</a> constructor.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="contentsRect"></a>QFrame::contentsRect () const
+</h3><p>Returns the rectangle inside the frame.
+See the <a href="qframe.html#contentsRect-prop">"contentsRect"</a> property for details.
+<h3 class=fn>void <a name="drawContents"></a>QFrame::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Virtual function that draws the contents of the frame.
+<p> The <a href="qpainter.html">QPainter</a> is already open when you get it, and you must leave
+it open. Painter <a href="qpainter.html#setWorldMatrix">transformations</a> are switched off on entry. If you
+transform the painter, remember to take the frame into account and
+<a href="qpainter.html#resetXForm">reset transformation</a> before
+returning.
+<p> This function is reimplemented by subclasses that draw something
+inside the frame. It should only draw inside <a href="#contentsRect">contentsRect</a>(). The
+default function does nothing.
+<p> <p>See also <a href="#contentsRect-prop">contentsRect</a> and <a href="qpainter.html#setClipRect">QPainter::setClipRect</a>().
+
+<p>Reimplemented in <a href="qlabel.html#drawContents">QLabel</a>, <a href="qlcdnumber.html#drawContents">QLCDNumber</a>, <a href="qmenubar.html#drawContents">QMenuBar</a>, and <a href="qpopupmenu.html#drawContents">QPopupMenu</a>.
+<h3 class=fn>void <a name="drawFrame"></a>QFrame::drawFrame ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the frame using the painter <em>p</em> and the current frame
+attributes and color group. The rectangle inside the frame is not
+affected.
+<p> This function is virtual, but in general you do not need to
+reimplement it. If you do, note that the <a href="qpainter.html">QPainter</a> is already open
+and must remain open.
+<p> <p>See also <a href="#frameRect-prop">frameRect</a>, <a href="#contentsRect-prop">contentsRect</a>, <a href="#drawContents">drawContents</a>(), <a href="#frameStyle">frameStyle</a>(), and <a href="qwidget.html#palette-prop">palette</a>.
+
+<h3 class=fn>void <a name="frameChanged"></a>QFrame::frameChanged ()<tt> [virtual protected]</tt>
+</h3>
+Virtual function that is called when the frame style, line width
+or mid-line width changes.
+<p> This function can be reimplemented by subclasses that need to know
+when the frame attributes change.
+<p> The default implementation calls <a href="qwidget.html#update">update</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="frameRect"></a>QFrame::frameRect () const
+</h3><p>Returns the frame rectangle.
+See the <a href="qframe.html#frameRect-prop">"frameRect"</a> property for details.
+<h3 class=fn><a href="qframe.html#Shadow-enum">Shadow</a> <a name="frameShadow"></a>QFrame::frameShadow () const
+</h3><p>Returns the frame shadow value from the frame style.
+See the <a href="qframe.html#frameShadow-prop">"frameShadow"</a> property for details.
+<h3 class=fn><a href="qframe.html#Shape-enum">Shape</a> <a name="frameShape"></a>QFrame::frameShape () const
+</h3><p>Returns the frame shape value from the frame style.
+See the <a href="qframe.html#frameShape-prop">"frameShape"</a> property for details.
+<h3 class=fn>int <a name="frameStyle"></a>QFrame::frameStyle () const
+</h3>
+
+<p> Returns the frame style.
+<p> The default value is QFrame::NoFrame.
+<p> <p>See also <a href="#setFrameStyle">setFrameStyle</a>(), <a href="#frameShape-prop">frameShape</a>, and <a href="#frameShadow-prop">frameShadow</a>.
+
+<p>Example: <a href="scrollview-example.html#x622">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="frameWidth"></a>QFrame::frameWidth () const
+</h3><p>Returns the width of the frame that is drawn.
+See the <a href="qframe.html#frameWidth-prop">"frameWidth"</a> property for details.
+<h3 class=fn>int <a name="lineWidth"></a>QFrame::lineWidth () const
+</h3><p>Returns the line width.
+See the <a href="qframe.html#lineWidth-prop">"lineWidth"</a> property for details.
+<h3 class=fn>int <a name="margin"></a>QFrame::margin () const
+</h3><p>Returns the width of the margin.
+See the <a href="qframe.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn>int <a name="midLineWidth"></a>QFrame::midLineWidth () const
+</h3><p>Returns the width of the mid-line.
+See the <a href="qframe.html#midLineWidth-prop">"midLineWidth"</a> property for details.
+<h3 class=fn>void <a name="paintEvent"></a>QFrame::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;*&nbsp;event )<tt> [virtual protected]</tt>
+</h3>
+Processes the paint event <em>event</em>.
+<p> Paints the frame and the contents.
+<p> Opens the painter on the frame and calls <a href="#drawFrame">drawFrame</a>(), then
+<a href="#drawContents">drawContents</a>().
+
+<p>Examples: <a href="life-example.html#x1888">life/life.cpp</a> and <a href="qfd-example.html#x1995">qfd/fontdisplayer.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn>void <a name="resizeEvent"></a>QFrame::resizeEvent ( <a href="qresizeevent.html">QResizeEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the resize event <em>e</em>.
+<p> Adjusts the frame rectangle for the resized widget. The frame
+rectangle is elastic, and the surrounding area is static.
+<p> The resulting frame rectangle may be null or invalid. You can use
+<a href="qwidget.html#setMinimumSize">setMinimumSize</a>() to avoid those possibilities.
+<p> Nothing is done if the frame rectangle is a <a href="qrect.html#isNull">null rectangle</a> already.
+
+<p>Example: <a href="life-example.html#x1889">life/life.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#resizeEvent">QWidget</a>.
+<h3 class=fn>void <a name="setFrameRect"></a>QFrame::setFrameRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the frame rectangle.
+See the <a href="qframe.html#frameRect-prop">"frameRect"</a> property for details.
+<h3 class=fn>void <a name="setFrameShadow"></a>QFrame::setFrameShadow ( <a href="qframe.html#Shadow-enum">Shadow</a> )
+</h3><p>Sets the frame shadow value from the frame style.
+See the <a href="qframe.html#frameShadow-prop">"frameShadow"</a> property for details.
+<h3 class=fn>void <a name="setFrameShape"></a>QFrame::setFrameShape ( <a href="qframe.html#Shape-enum">Shape</a> )
+</h3><p>Sets the frame shape value from the frame style.
+See the <a href="qframe.html#frameShape-prop">"frameShape"</a> property for details.
+<h3 class=fn>void <a name="setFrameStyle"></a>QFrame::setFrameStyle ( int&nbsp;style )<tt> [virtual]</tt>
+</h3>
+Sets the frame style to <em>style</em>.
+<p> The <em>style</em> is the bitwise OR between a frame shape and a frame
+shadow style. See the <a href="#picture">illustration</a> in the
+class documentation.
+<p> The frame shapes are given in <a href="#Shape-enum">QFrame::Shape</a> and the shadow
+styles in <a href="#Shadow-enum">QFrame::Shadow</a>.
+<p> If a mid-line width greater than 0 is specified, an additional
+line is drawn for <a href="#Shadow-enum">Raised</a> or <a href="#Shadow-enum">Sunken</a> <a href="#Shape-enum">Box</a>, <a href="#Shape-enum">HLine</a>, and <a href="#Shape-enum">VLine</a> frames. The mid-color of the current color group is used for
+drawing middle lines.
+<p> <p>See also <a href="#picture">Illustration</a>, <a href="#frameStyle">frameStyle</a>(), <a href="qwidget.html#colorGroup-prop">colorGroup</a>, and <a href="qcolorgroup.html">QColorGroup</a>.
+
+<p>Examples: <a href="cursor-example.html#x1114">cursor/cursor.cpp</a>, <a href="layout-example.html#x531">layout/layout.cpp</a>, <a href="listboxcombo-example.html#x1401">listboxcombo/listboxcombo.cpp</a>, <a href="rangecontrols-example.html#x1381">rangecontrols/rangecontrols.cpp</a>, <a href="scrollview-example.html#x626">scrollview/scrollview.cpp</a>, <a href="tabdialog-example.html#x52">tabdialog/tabdialog.cpp</a>, and <a href="tictac-example.html#x24">tictac/tictac.cpp</a>.
+<h3 class=fn>void <a name="setLineWidth"></a>QFrame::setLineWidth ( int )<tt> [virtual]</tt>
+</h3><p>Sets the line width.
+See the <a href="qframe.html#lineWidth-prop">"lineWidth"</a> property for details.
+<h3 class=fn>void <a name="setMargin"></a>QFrame::setMargin ( int )<tt> [virtual]</tt>
+</h3><p>Sets the width of the margin.
+See the <a href="qframe.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn>void <a name="setMidLineWidth"></a>QFrame::setMidLineWidth ( int )<tt> [virtual]</tt>
+</h3><p>Sets the width of the mid-line.
+See the <a href="qframe.html#midLineWidth-prop">"midLineWidth"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="contentsRect-prop"></a>contentsRect</h3>
+<p>This property holds the rectangle inside the frame.
+<p>Get this property's value with <a href="#contentsRect">contentsRect</a>().
+<p><p>See also <a href="#frameRect-prop">frameRect</a> and <a href="#drawContents">drawContents</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="frameRect-prop"></a>frameRect</h3>
+<p>This property holds the frame rectangle.
+<p>The frame rectangle is the rectangle the frame is drawn in. By
+default, this is the entire widget. Setting this property does <em>not</em> cause a widget update.
+<p> If this property is set to a null rectangle (for example
+<tt>QRect(0, 0, 0, 0)</tt>), then the frame rectangle is equivalent to
+the <a href="qwidget.html#rect">widget rectangle</a>.
+<p> <p>See also <a href="#contentsRect-prop">contentsRect</a>.
+
+<p>Set this property's value with <a href="#setFrameRect">setFrameRect</a>() and get this property's value with <a href="#frameRect">frameRect</a>().
+<h3 class=fn><a href="qframe.html#Shadow-enum">Shadow</a> <a name="frameShadow-prop"></a>frameShadow</h3>
+<p>This property holds the frame shadow value from the frame style.
+<p>Set this property's value with <a href="#setFrameShadow">setFrameShadow</a>() and get this property's value with <a href="#frameShadow">frameShadow</a>().
+<p><p>See also <a href="#frameStyle">frameStyle</a>() and <a href="#frameShape-prop">frameShape</a>.
+
+<h3 class=fn><a href="qframe.html#Shape-enum">Shape</a> <a name="frameShape-prop"></a>frameShape</h3>
+<p>This property holds the frame shape value from the frame style.
+<p>Set this property's value with <a href="#setFrameShape">setFrameShape</a>() and get this property's value with <a href="#frameShape">frameShape</a>().
+<p><p>See also <a href="#frameStyle">frameStyle</a>() and <a href="#frameShadow-prop">frameShadow</a>.
+
+<h3 class=fn>int <a name="frameWidth-prop"></a>frameWidth</h3>
+<p>This property holds the width of the frame that is drawn.
+<p>Note that the frame width depends on the <a href="#setFrameStyle">frame style</a>, not only the line
+width and the mid-line width. For example, the style <a href="#Shape-enum">NoFrame</a>
+always has a frame width of 0, whereas the style <a href="#Shape-enum">Panel</a> has a
+frame width equivalent to the line width. The frame width also
+includes the margin.
+<p> <p>See also <a href="#lineWidth-prop">lineWidth</a>, <a href="#midLineWidth-prop">midLineWidth</a>, <a href="#frameStyle">frameStyle</a>(), and <a href="#margin-prop">margin</a>.
+
+<p>Get this property's value with <a href="#frameWidth">frameWidth</a>().
+<h3 class=fn>int <a name="lineWidth-prop"></a>lineWidth</h3>
+<p>This property holds the line width.
+<p>Note that the <em>total</em> line width for <a href="#Shape-enum">HLine</a> and <a href="#Shape-enum">VLine</a> is
+given by <a href="#frameWidth">frameWidth</a>(), not <a href="#lineWidth">lineWidth</a>().
+<p> The default value is 1.
+<p> <p>See also <a href="#midLineWidth-prop">midLineWidth</a> and <a href="#frameWidth-prop">frameWidth</a>.
+
+<p>Set this property's value with <a href="#setLineWidth">setLineWidth</a>() and get this property's value with <a href="#lineWidth">lineWidth</a>().
+<h3 class=fn>int <a name="margin-prop"></a>margin</h3>
+<p>This property holds the width of the margin.
+<p>The margin is the distance between the innermost pixel of the
+frame and the outermost pixel of <a href="#contentsRect">contentsRect</a>(). It is included in
+<a href="#frameWidth">frameWidth</a>().
+<p> The margin is filled according to <a href="qwidget.html#backgroundMode">backgroundMode</a>().
+<p> The default value is 0.
+<p> <p>See also <a href="#margin-prop">margin</a>, <a href="#lineWidth-prop">lineWidth</a>, and <a href="#frameWidth-prop">frameWidth</a>.
+
+<p>Set this property's value with <a href="#setMargin">setMargin</a>() and get this property's value with <a href="#margin">margin</a>().
+<h3 class=fn>int <a name="midLineWidth-prop"></a>midLineWidth</h3>
+<p>This property holds the width of the mid-line.
+<p>The default value is 0.
+<p> <p>See also <a href="#lineWidth-prop">lineWidth</a> and <a href="#frameWidth-prop">frameWidth</a>.
+
+<p>Set this property's value with <a href="#setMidLineWidth">setMidLineWidth</a>() and get this property's value with <a href="#midLineWidth">midLineWidth</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qftp-h.html b/doc/html/qftp-h.html
new file mode 100644
index 0000000..b09b27a
--- /dev/null
+++ b/doc/html/qftp-h.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qftp.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qftp.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qftp.h</h1>
+
+<p>This is the verbatim text of the qftp.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qftp.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QFtp class.
+**
+** Created : 970521
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QFTP_H
+#define QFTP_H
+
+#ifndef QT_H
+#include "qstring.h" // char*-&gt;QString conversion
+#include "qurlinfo.h"
+#include "qnetworkprotocol.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_FTP
+#else
+#define QM_EXPORT_FTP Q_EXPORT
+#endif
+
+#ifndef QT_NO_NETWORKPROTOCOL_FTP
+
+
+class QSocket;
+class QFtpCommand;
+
+class QM_EXPORT_FTP QFtp : public QNetworkProtocol
+{
+ Q_OBJECT
+
+public:
+ QFtp(); // ### Qt 4.0: get rid of this overload
+ QFtp( QObject *parent, const char *name=0 );
+ virtual ~QFtp();
+
+ int supportedOperations() const;
+
+ // non-QNetworkProtocol functions:
+ enum State {
+ Unconnected,
+ HostLookup,
+ Connecting,
+ Connected,
+ LoggedIn,
+ Closing
+ };
+ enum Error {
+ NoError,
+ UnknownError,
+ HostNotFound,
+ ConnectionRefused,
+ NotConnected
+ };
+ enum Command {
+ None,
+ ConnectToHost,
+ Login,
+ Close,
+ List,
+ Cd,
+ Get,
+ Put,
+ Remove,
+ Mkdir,
+ Rmdir,
+ Rename,
+ RawCommand
+ };
+
+ int connectToHost( const QString &amp;host, Q_UINT16 port=21 );
+ int login( const QString &amp;user=QString::null, const QString &amp;password=QString::null );
+ int close();
+ int list( const QString &amp;dir=QString::null );
+ int cd( const QString &amp;dir );
+ int get( const QString &amp;file, QIODevice *dev=0 );
+ int put( const QByteArray &amp;data, const QString &amp;file );
+ int put( QIODevice *dev, const QString &amp;file );
+ int remove( const QString &amp;file );
+ int mkdir( const QString &amp;dir );
+ int rmdir( const QString &amp;dir );
+ int rename( const QString &amp;oldname, const QString &amp;newname );
+
+ int rawCommand( const QString &amp;command );
+
+ Q_ULONG bytesAvailable() const;
+ Q_LONG readBlock( char *data, Q_ULONG maxlen );
+ QByteArray readAll();
+
+ int currentId() const;
+ QIODevice* currentDevice() const;
+ Command currentCommand() const;
+ bool hasPendingCommands() const;
+ void clearPendingCommands();
+
+ State state() const;
+
+ Error error() const;
+ QString errorString() const;
+
+public slots:
+ void abort();
+
+signals:
+ void stateChanged( int );
+ void listInfo( const QUrlInfo&amp; );
+ void readyRead();
+ void dataTransferProgress( int, int );
+ void rawCommandReply( int, const QString&amp; );
+
+ void commandStarted( int );
+ void commandFinished( int, bool );
+ void done( bool );
+
+protected:
+ void parseDir( const QString &amp;buffer, QUrlInfo &amp;info ); // ### Qt 4.0: delete this? (not public API)
+ void operationListChildren( QNetworkOperation *op );
+ void operationMkDir( QNetworkOperation *op );
+ void operationRemove( QNetworkOperation *op );
+ void operationRename( QNetworkOperation *op );
+ void operationGet( QNetworkOperation *op );
+ void operationPut( QNetworkOperation *op );
+
+ // ### Qt 4.0: delete these
+ // unused variables:
+ QSocket *commandSocket, *dataSocket;
+ bool connectionReady, passiveMode;
+ int getTotalSize, getDoneSize;
+ bool startGetOnFail;
+ int putToWrite, putWritten;
+ bool errorInListChildren;
+
+private:
+ void init();
+ int addCommand( QFtpCommand * );
+
+ bool checkConnection( QNetworkOperation *op );
+
+private slots:
+ void startNextCommand();
+ void piFinished( const QString&amp; );
+ void piError( int, const QString&amp; );
+ void piConnectState( int );
+ void piFtpReply( int, const QString&amp; );
+
+private slots:
+ void npListInfo( const QUrlInfo &amp; );
+ void npDone( bool );
+ void npStateChanged( int );
+ void npDataTransferProgress( int, int );
+ void npReadyRead();
+
+protected slots:
+ // ### Qt 4.0: delete these
+ void hostFound();
+ void connected();
+ void closed();
+ void dataHostFound();
+ void dataConnected();
+ void dataClosed();
+ void dataReadyRead();
+ void dataBytesWritten( int nbytes );
+ void error( int );
+};
+
+#endif // QT_NO_NETWORKPROTOCOL_FTP
+
+#endif // QFTP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qftp-members.html b/doc/html/qftp-members.html
new file mode 100644
index 0000000..8bcc6c1
--- /dev/null
+++ b/doc/html/qftp-members.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qftp.h:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFtp Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QFtp</h1>
+
+<p>This is the complete list of member functions for
+<a href="qftp.html">QFtp</a>, including inherited members.
+
+<ul>
+<li><a href="qftp.html#QFtp">QFtp</a>()
+<li><a href="qftp.html#~QFtp">~QFtp</a>()
+<li><a href="qftp.html#abort">abort</a>()
+<li><a href="qnetworkprotocol.html#addOperation">addOperation</a>()
+<li><a href="qnetworkprotocol.html#autoDelete">autoDelete</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qftp.html#bytesAvailable">bytesAvailable</a>()
+<li><a href="qftp.html#cd">cd</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qnetworkprotocol.html#checkConnection">checkConnection</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</a>()
+<li><a href="qftp.html#clearPendingCommands">clearPendingCommands</a>()
+<li><a href="qftp.html#close">close</a>()
+<li><a href="qftp.html#commandFinished">commandFinished</a>()
+<li><a href="qftp.html#commandStarted">commandStarted</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qftp.html#connectToHost">connectToHost</a>()
+<li><a href="qnetworkprotocol.html#connectionStateChanged">connectionStateChanged</a>()
+<li><a href="qnetworkprotocol.html#createdDirectory">createdDirectory</a>()
+<li><a href="qftp.html#currentCommand">currentCommand</a>()
+<li><a href="qftp.html#currentDevice">currentDevice</a>()
+<li><a href="qftp.html#currentId">currentId</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qnetworkprotocol.html#data">data</a>()
+<li><a href="qftp.html#dataTransferProgress">dataTransferProgress</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qftp.html#done">done</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qftp.html#error">error</a>()
+<li><a href="qftp.html#errorString">errorString</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnetworkprotocol.html#finished">finished</a>()
+<li><a href="qftp.html#get">get</a>()
+<li><a href="qnetworkprotocol.html#getNetworkProtocol">getNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#hasOnlyLocalFileSystem">hasOnlyLocalFileSystem</a>()
+<li><a href="qftp.html#hasPendingCommands">hasPendingCommands</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qnetworkprotocol.html#itemChanged">itemChanged</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qftp.html#list">list</a>()
+<li><a href="qftp.html#listInfo">listInfo</a>()
+<li><a href="qftp.html#login">login</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qftp.html#mkdir">mkdir</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qnetworkprotocol.html#newChild">newChild</a>()
+<li><a href="qnetworkprotocol.html#newChildren">newChildren</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qnetworkprotocol.html#operationGet">operationGet</a>()
+<li><a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()
+<li><a href="qnetworkprotocol.html#operationListChildren">operationListChildren</a>()
+<li><a href="qnetworkprotocol.html#operationMkDir">operationMkDir</a>()
+<li><a href="qnetworkprotocol.html#operationPut">operationPut</a>()
+<li><a href="qnetworkprotocol.html#operationRemove">operationRemove</a>()
+<li><a href="qnetworkprotocol.html#operationRename">operationRename</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qftp.html#put">put</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qftp.html#rawCommand">rawCommand</a>()
+<li><a href="qftp.html#rawCommandReply">rawCommandReply</a>()
+<li><a href="qftp.html#readAll">readAll</a>()
+<li><a href="qftp.html#readBlock">readBlock</a>()
+<li><a href="qftp.html#readyRead">readyRead</a>()
+<li><a href="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</a>()
+<li><a href="qftp.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qnetworkprotocol.html#removed">removed</a>()
+<li><a href="qftp.html#rename">rename</a>()
+<li><a href="qftp.html#rmdir">rmdir</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qnetworkprotocol.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qnetworkprotocol.html#setUrl">setUrl</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qnetworkprotocol.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qftp.html#state">state</a>()
+<li><a href="qftp.html#stateChanged">stateChanged</a>()
+<li><a href="qnetworkprotocol.html#stop">stop</a>()
+<li><a href="qnetworkprotocol.html#supportedOperations">supportedOperations</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qnetworkprotocol.html#url">url</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qftp.html b/doc/html/qftp.html
new file mode 100644
index 0000000..939c961
--- /dev/null
+++ b/doc/html/qftp.html
@@ -0,0 +1,693 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qftp.cpp:1063 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QFtp Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QFtp Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QFtp class provides an implementation of the FTP protocol.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qftp-h.html">qftp.h</a>&gt;</tt>
+<p>Inherits <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+<p><a href="qftp-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QFtp"><b>QFtp</b></a> ()</li>
+<li class=fn><a href="#QFtp-2"><b>QFtp</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QFtp"><b>~QFtp</b></a> ()</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Unconnected, HostLookup, Connecting, Connected, LoggedIn, Closing }</li>
+<li class=fn>enum <a href="#Error-enum"><b>Error</b></a> { NoError, UnknownError, HostNotFound, ConnectionRefused, NotConnected }</li>
+<li class=fn>enum <a href="#Command-enum"><b>Command</b></a> { None, ConnectToHost, Login, Close, List, Cd, Get, Put, Remove, Mkdir, Rmdir, Rename, RawCommand }</li>
+<li class=fn>int <a href="#connectToHost"><b>connectToHost</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port = 21 )</li>
+<li class=fn>int <a href="#login"><b>login</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;user = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;password = QString::null )</li>
+<li class=fn>int <a href="#close"><b>close</b></a> ()</li>
+<li class=fn>int <a href="#list"><b>list</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir = QString::null )</li>
+<li class=fn>int <a href="#cd"><b>cd</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>int <a href="#get"><b>get</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;file, QIODevice&nbsp;*&nbsp;dev = 0 )</li>
+<li class=fn>int <a href="#put-2"><b>put</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn>int <a href="#put"><b>put</b></a> ( QIODevice&nbsp;*&nbsp;dev, const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn>int <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn>int <a href="#mkdir"><b>mkdir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>int <a href="#rmdir"><b>rmdir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>int <a href="#rename"><b>rename</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;oldname, const&nbsp;QString&nbsp;&amp;&nbsp;newname )</li>
+<li class=fn>int <a href="#rawCommand"><b>rawCommand</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;command )</li>
+<li class=fn>Q_ULONG <a href="#bytesAvailable"><b>bytesAvailable</b></a> () const</li>
+<li class=fn>Q_LONG <a href="#readBlock"><b>readBlock</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>QByteArray <a href="#readAll"><b>readAll</b></a> ()</li>
+<li class=fn>int <a href="#currentId"><b>currentId</b></a> () const</li>
+<li class=fn>QIODevice * <a href="#currentDevice"><b>currentDevice</b></a> () const</li>
+<li class=fn>Command <a href="#currentCommand"><b>currentCommand</b></a> () const</li>
+<li class=fn>bool <a href="#hasPendingCommands"><b>hasPendingCommands</b></a> () const</li>
+<li class=fn>void <a href="#clearPendingCommands"><b>clearPendingCommands</b></a> ()</li>
+<li class=fn>State <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>Error <a href="#error"><b>error</b></a> () const</li>
+<li class=fn>QString <a href="#errorString"><b>errorString</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#abort"><b>abort</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+<li class=fn>void <a href="#listInfo"><b>listInfo</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>void <a href="#readyRead"><b>readyRead</b></a> ()</li>
+<li class=fn>void <a href="#dataTransferProgress"><b>dataTransferProgress</b></a> ( int&nbsp;done, int&nbsp;total )</li>
+<li class=fn>void <a href="#rawCommandReply"><b>rawCommandReply</b></a> ( int&nbsp;replyCode, const&nbsp;QString&nbsp;&amp;&nbsp;detail )</li>
+<li class=fn>void <a href="#commandStarted"><b>commandStarted</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#commandFinished"><b>commandFinished</b></a> ( int&nbsp;id, bool&nbsp;error )</li>
+<li class=fn>void <a href="#done"><b>done</b></a> ( bool&nbsp;error )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QFtp class provides an implementation of the FTP protocol.
+
+<p>
+
+<p> This class provides two different interfaces: one is the
+<a href="qnetworkprotocol.html">QNetworkProtocol</a> interface that allows you to use FTP through the
+<a href="qurloperator.html">QUrlOperator</a> abstraction. The other is a direct interface to FTP
+that gives you lower-level access to the FTP protocol for finer
+control. Using the direct interface you can also execute arbitrary
+FTP commands.
+<p> Don't mix the two interfaces, since the behavior is not
+well-defined.
+<p> If you want to use QFtp with the QNetworkProtocol interface, you
+do not use it directly, but rather through a QUrlOperator, for
+example:
+<p> <pre>
+ <a href="qurloperator.html">QUrlOperator</a> op( "ftp://ftp.trolltech.com" );
+ op.<a href="qurloperator.html#listChildren">listChildren</a>(); // Asks the server to provide a directory listing
+ </pre>
+
+<p> This code will only work if the QFtp class is registered; to
+register the class, you must call <a href="qurloperator.html#qInitNetworkProtocols">qInitNetworkProtocols</a>() before
+using a QUrlOperator with QFtp.
+<p> The rest of this descrption describes the direct interface to FTP.
+<p> The class works asynchronously, so there are no blocking
+functions. If an operation cannot be executed immediately, the
+function will still return straight away and the operation will be
+scheduled for later execution. The results of scheduled operations
+are reported via signals. This approach depends on the event loop
+being in operation.
+<p> The operations that can be scheduled (they are called "commands"
+in the rest of the documentation) are the following:
+<a href="#connectToHost">connectToHost</a>(), <a href="#login">login</a>(), <a href="#close">close</a>(), <a href="#list">list</a>(), <a href="#cd">cd</a>(), <a href="#get">get</a>(), <a href="#put">put</a>(),
+<a href="#remove">remove</a>(), <a href="#mkdir">mkdir</a>(), <a href="#rmdir">rmdir</a>(), <a href="#rename">rename</a>() and <a href="#rawCommand">rawCommand</a>().
+<p> All of these commands return a unique identifier that allows you
+to keep track of the command that is currently being executed.
+When the execution of a command starts, the <a href="#commandStarted">commandStarted</a>()
+signal with the command's identifier is emitted. When the command
+is finished, the <a href="#commandFinished">commandFinished</a>() signal is emitted with the
+command's identifier and a bool that indicates whether the command
+finished with an error.
+<p> In some cases, you might want to execute a sequence of commands,
+e.g. if you want to connect and login to a FTP server. This is
+simply achieved:
+<p> <pre>
+ QFtp *ftp = new QFtp( this ); // this is an optional QObject parent
+ ftp-&gt;<a href="#connectToHost">connectToHost</a>( "ftp.trolltech.com" );
+ ftp-&gt;<a href="#login">login</a>();
+ </pre>
+
+<p> In this case two FTP commands have been scheduled. When the last
+scheduled command has finished, a <a href="#done">done</a>() signal is emitted with
+a bool argument that tells you whether the sequence finished with
+an error.
+<p> If an error occurs during the execution of one of the commands in
+a sequence of commands, all the pending commands (i.e. scheduled,
+but not yet executed commands) are cleared and no signals are
+emitted for them.
+<p> Some commands, e.g. <a href="#list">list</a>(), emit additional signals to report
+their results.
+<p> Example: If you want to download the INSTALL file from Trolltech's
+FTP server, you would write this:
+<p> <pre>
+ ftp-&gt;connectToHost( "ftp.trolltech.com" ); // id == 1
+ ftp-&gt;login(); // id == 2
+ ftp-&gt;cd( "qt" ); // id == 3
+ ftp-&gt;get( "INSTALL" ); // id == 4
+ ftp-&gt;close(); // id == 5
+ </pre>
+
+<p> For this example the following sequence of signals is emitted
+(with small variations, depending on network traffic, etc.):
+<p> <pre>
+ <a href="qnetworkprotocol.html#start">start</a>( 1 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">HostLookup</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connecting</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connected</a> )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 1, FALSE )
+
+ <a href="qnetworkprotocol.html#start">start</a>( 2 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">LoggedIn</a> )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 2, FALSE )
+
+ <a href="qnetworkprotocol.html#start">start</a>( 3 )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 3, FALSE )
+
+ <a href="qnetworkprotocol.html#start">start</a>( 4 )
+ <a href="#dataTransferProgress">dataTransferProgress</a>( 0, 3798 )
+ <a href="#dataTransferProgress">dataTransferProgress</a>( 2896, 3798 )
+ <a href="#readyRead">readyRead</a>()
+ <a href="#dataTransferProgress">dataTransferProgress</a>( 3798, 3798 )
+ <a href="#readyRead">readyRead</a>()
+ <a href="qnetworkprotocol.html#finished">finished</a>( 4, FALSE )
+
+ <a href="qnetworkprotocol.html#start">start</a>( 5 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Closing</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Unconnected</a> )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 5, FALSE )
+
+ <a href="#done">done</a>( FALSE )
+ </pre>
+
+<p> The <a href="#dataTransferProgress">dataTransferProgress</a>() signal in the above example is useful
+if you want to show a <a href="qprogressbar.html">progressbar</a> to
+inform the user about the progress of the download. The
+<a href="#readyRead">readyRead</a>() signal tells you that there is data ready to be read.
+The amount of data can be queried then with the <a href="#bytesAvailable">bytesAvailable</a>()
+function and it can be read with the <a href="#readBlock">readBlock</a>() or <a href="#readAll">readAll</a>()
+function.
+<p> If the login fails for the above example, the signals would look
+like this:
+<p> <pre>
+ <a href="qnetworkprotocol.html#start">start</a>( 1 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">HostLookup</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connecting</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connected</a> )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 1, FALSE )
+
+ <a href="qnetworkprotocol.html#start">start</a>( 2 )
+ <a href="qnetworkprotocol.html#finished">finished</a>( 2, TRUE )
+
+ <a href="#done">done</a>( TRUE )
+ </pre>
+
+<p> You can then get details about the error with the <a href="#error">error</a>() and
+<a href="#errorString">errorString</a>() functions.
+<p> The functions <a href="#currentId">currentId</a>() and <a href="#currentCommand">currentCommand</a>() provide more
+information about the currently executing command.
+<p> The functions <a href="#hasPendingCommands">hasPendingCommands</a>() and <a href="#clearPendingCommands">clearPendingCommands</a>()
+allow you to query and clear the list of pending commands.
+<p> The safest and easiest way to use the FTP protocol is to use
+<a href="qurloperator.html">QUrlOperator</a>() or the FTP commands described above. If you are an
+experienced network programmer and want to have complete control
+you can use <a href="#rawCommand">rawCommand</a>() to execute arbitrary FTP commands.
+<p> <p>See also <a href="network.html">Qt Network Documentation</a>, <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qurloperator.html">QUrlOperator</a>, <a href="qhttp.html">QHttp</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Command-enum"></a>QFtp::Command</h3>
+
+<p> This enum is used as the return value for the <a href="#currentCommand">currentCommand</a>() function.
+This allows you to perform specific actions for particular
+commands, e.g. in a FTP client, you might want to clear the
+directory view when a <a href="#list">list</a>() command is started; in this case you
+can simply check in the slot connected to the <a href="qnetworkprotocol.html#start">start</a>() signal if
+the currentCommand() is <a href="#Command-enum">List</a>.
+<ul>
+<li><tt>QFtp::None</tt> - No command is being executed.
+<li><tt>QFtp::ConnectToHost</tt> - <a href="#connectToHost">connectToHost</a>() is being executed.
+<li><tt>QFtp::Login</tt> - <a href="#login">login</a>() is being executed.
+<li><tt>QFtp::Close</tt> - <a href="#close">close</a>() is being executed.
+<li><tt>QFtp::List</tt> - list() is being executed.
+<li><tt>QFtp::Cd</tt> - <a href="#cd">cd</a>() is being executed.
+<li><tt>QFtp::Get</tt> - <a href="#get">get</a>() is being executed.
+<li><tt>QFtp::Put</tt> - <a href="#put">put</a>() is being executed.
+<li><tt>QFtp::Remove</tt> - <a href="#remove">remove</a>() is being executed.
+<li><tt>QFtp::Mkdir</tt> - <a href="#mkdir">mkdir</a>() is being executed.
+<li><tt>QFtp::Rmdir</tt> - <a href="#rmdir">rmdir</a>() is being executed.
+<li><tt>QFtp::Rename</tt> - <a href="#rename">rename</a>() is being executed.
+<li><tt>QFtp::RawCommand</tt> - <a href="#rawCommand">rawCommand</a>() is being executed.
+</ul><p> <p>See also <a href="#currentCommand">currentCommand</a>().
+
+<h3 class=fn><a name="Error-enum"></a>QFtp::Error</h3>
+
+<p> This enum identifies the error that occurred.
+<ul>
+<li><tt>QFtp::NoError</tt> - No error occurred.
+<li><tt>QFtp::HostNotFound</tt> - The host name lookup failed.
+<li><tt>QFtp::ConnectionRefused</tt> - The server refused the connection.
+<li><tt>QFtp::NotConnected</tt> - Tried to send a command, but there is no connection to
+a server.
+<li><tt>QFtp::UnknownError</tt> - An error other than those specified above
+occurred.
+</ul><p> <p>See also <a href="#error">error</a>().
+
+<h3 class=fn><a name="State-enum"></a>QFtp::State</h3>
+
+<p> This enum defines the connection state:
+<ul>
+<li><tt>QFtp::Unconnected</tt> - There is no connection to the host.
+<li><tt>QFtp::HostLookup</tt> - A host name lookup is in progress.
+<li><tt>QFtp::Connecting</tt> - An attempt to connect to the host is in progress.
+<li><tt>QFtp::Connected</tt> - Connection to the host has been achieved.
+<li><tt>QFtp::LoggedIn</tt> - Connection and user login have been achieved.
+<li><tt>QFtp::Closing</tt> - The connection is closing down, but it is not yet
+closed. (The state will be <a href="#State-enum">Unconnected</a> when the connection is
+closed.)
+</ul><p> <p>See also <a href="#stateChanged">stateChanged</a>() and <a href="#state">state</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QFtp"></a>QFtp::QFtp ()
+</h3>
+Constructs a QFtp object.
+
+<h3 class=fn><a name="QFtp-2"></a>QFtp::QFtp ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QFtp object. The <em>parent</em> and <em>name</em> parameters
+are passed to the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="~QFtp"></a>QFtp::~QFtp ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="abort"></a>QFtp::abort ()<tt> [slot]</tt>
+</h3>
+Aborts the current command and deletes all scheduled commands.
+<p> If there is an unfinished command (i.e. a command for which the
+<a href="#commandStarted">commandStarted</a>() signal has been emitted, but for which the
+<a href="#commandFinished">commandFinished</a>() signal has not been emitted), this function
+sends an <tt>ABORT</tt> command to the server. When the server replies
+that the command is aborted, the commandFinished() signal with the
+<tt>error</tt> argument set to <tt>TRUE</tt> is emitted for the command. Due
+to timing issues, it is possible that the command had already
+finished before the abort request reached the server, in which
+case, the commandFinished() signal is emitted with the <tt>error</tt>
+argument set to <tt>FALSE</tt>.
+<p> For all other commands that are affected by the <a href="#abort">abort</a>(), no
+signals are emitted.
+<p> If you don't start further FTP commands directly after the
+abort(), there won't be any scheduled commands and the <a href="#done">done</a>()
+signal is emitted.
+<p> <b>Warning:</b> Some FTP servers, for example the BSD FTP daemon (version
+0.3), wrongly return a positive reply even when an abort has
+occurred. For these servers the commandFinished() signal has its
+error flag set to <tt>FALSE</tt>, even though the command did not
+complete successfully.
+<p> <p>See also <a href="#clearPendingCommands">clearPendingCommands</a>().
+
+<p>Example: <a href="ftpclient-example.html#x744">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>Q_ULONG <a name="bytesAvailable"></a>QFtp::bytesAvailable () const
+</h3>
+Returns the number of bytes that can be read from the data socket
+at the moment.
+<p> <p>See also <a href="#get">get</a>(), <a href="#readyRead">readyRead</a>(), <a href="#readBlock">readBlock</a>(), and <a href="#readAll">readAll</a>().
+
+<h3 class=fn>int <a name="cd"></a>QFtp::cd ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir )
+</h3>
+Changes the working directory of the server to <em>dir</em>.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x745">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="clearPendingCommands"></a>QFtp::clearPendingCommands ()
+</h3>
+Deletes all pending commands from the list of scheduled commands.
+This does not affect the command that is being executed. If you
+want to stop this this as well, use <a href="#abort">abort</a>().
+<p> <p>See also <a href="#hasPendingCommands">hasPendingCommands</a>() and <a href="#abort">abort</a>().
+
+<h3 class=fn>int <a name="close"></a>QFtp::close ()
+</h3>
+Closes the connection to the FTP server.
+<p> The <a href="#stateChanged">stateChanged</a>() signal is emitted when the state of the
+connecting process changes, e.g. to <a href="#State-enum">Closing</a>, then <a href="#State-enum">Unconnected</a>.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#stateChanged">stateChanged</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x746">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="commandFinished"></a>QFtp::commandFinished ( int&nbsp;id, bool&nbsp;error )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when processing the command identified by
+<em>id</em> has finished. <em>error</em> is TRUE if an error occurred during
+the processing; otherwise <em>error</em> is FALSE.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>(), <a href="#done">done</a>(), <a href="#error">error</a>(), and <a href="#errorString">errorString</a>().
+
+<p>Example: <a href="ftpclient-example.html#x747">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="commandStarted"></a>QFtp::commandStarted ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when processing the command identified by
+<em>id</em> starts.
+<p> <p>See also <a href="#commandFinished">commandFinished</a>() and <a href="#done">done</a>().
+
+<p>Example: <a href="ftpclient-example.html#x748">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="connectToHost"></a>QFtp::connectToHost ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port = 21 )
+</h3>
+Connects to the FTP server <em>host</em> using port <em>port</em>.
+<p> The <a href="#stateChanged">stateChanged</a>() signal is emitted when the state of the
+connecting process changes, e.g. to <a href="#State-enum">HostLookup</a>, then <a href="#State-enum">Connecting</a>, then <a href="#State-enum">Connected</a>.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#stateChanged">stateChanged</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x749">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qftp.html#Command-enum">Command</a> <a name="currentCommand"></a>QFtp::currentCommand () const
+</h3>
+Returns the command type of the FTP command being executed or <a href="#Command-enum">None</a> if there is no command being executed.
+<p> <p>See also <a href="#currentId">currentId</a>().
+
+<p>Example: <a href="ftpclient-example.html#x750">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="currentDevice"></a>QFtp::currentDevice () const
+</h3>
+Returns the <a href="qiodevice.html">QIODevice</a> pointer that is used by the FTP command to read data
+from or store data to. If there is no current FTP command being executed or
+if the command does not use an IO device, this function returns 0.
+<p> This function can be used to delete the QIODevice in the slot connected to
+the <a href="#commandFinished">commandFinished</a>() signal.
+<p> <p>See also <a href="#get">get</a>() and <a href="#put">put</a>().
+
+<p>Example: <a href="ftpclient-example.html#x751">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="currentId"></a>QFtp::currentId () const
+</h3>
+Returns the identifier of the FTP command that is being executed
+or 0 if there is no command being executed.
+<p> <p>See also <a href="#currentCommand">currentCommand</a>().
+
+<h3 class=fn>void <a name="dataTransferProgress"></a>QFtp::dataTransferProgress ( int&nbsp;done, int&nbsp;total )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted in response to a <a href="#get">get</a>() or <a href="#put">put</a>() request to
+indicate the current progress of the download or upload.
+<p> <em>done</em> is the amount of data that has already been transferred
+and <em>total</em> is the total amount of data to be read or written. It
+is possible that the QFtp class is not able to determine the total
+amount of data that should be transferred, in which case <em>total</em>
+is 0. (If you connect this signal to a <a href="qprogressbar.html">QProgressBar</a>, the progress
+bar shows a busy indicator if the total is 0).
+<p> <b>Warning:</b> <em>done</em> and <em>total</em> are not necessarily the size in
+bytes, since for large files these values might need to be
+"scaled" to avoid overflow.
+<p> <p>See also <a href="#get">get</a>(), <a href="#put">put</a>(), and <a href="qprogressbar.html#progress-prop">QProgressBar::progress</a>.
+
+<p>Example: <a href="ftpclient-example.html#x752">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="done"></a>QFtp::done ( bool&nbsp;error )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the last pending command has finished;
+(it is emitted after the last command's <a href="#commandFinished">commandFinished</a>() signal).
+<em>error</em> is TRUE if an error occurred during the processing;
+otherwise <em>error</em> is FALSE.
+<p> <p>See also <a href="#commandFinished">commandFinished</a>(), <a href="#error">error</a>(), and <a href="#errorString">errorString</a>().
+
+<p>Example: <a href="ftpclient-example.html#x753">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qftp.html#Error-enum">Error</a> <a name="error"></a>QFtp::error () const
+</h3>
+Returns the last error that occurred. This is useful to find out
+what when wrong when receiving a <a href="#commandFinished">commandFinished</a>() or a <a href="#done">done</a>()
+signal with the <tt>error</tt> argument set to <tt>TRUE</tt>.
+<p> If you start a new command, the error status is reset to <a href="#Error-enum">NoError</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QFtp::errorString () const
+</h3>
+Returns a human-readable description of the last error that
+occurred. This is useful for presenting a error message to the
+user when receiving a <a href="#commandFinished">commandFinished</a>() or a <a href="#done">done</a>() signal with
+the <tt>error</tt> argument set to <tt>TRUE</tt>.
+<p> The error string is often (but not always) the reply from the
+server, so it is not always possible to translate the string. If
+the message comes from Qt, the string has already passed through
+<a href="qobject.html#tr">tr</a>().
+
+<p>Example: <a href="ftpclient-example.html#x754">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="get"></a>QFtp::get ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev = 0 )
+</h3>
+Downloads the file <em>file</em> from the server.
+<p> If <em>dev</em> is 0, then the <a href="#readyRead">readyRead</a>() signal is emitted when there
+is data available to read. You can then read the data with the
+<a href="#readBlock">readBlock</a>() or <a href="#readAll">readAll</a>() functions.
+<p> If <em>dev</em> is not 0, the data is written directly to the device <em>dev</em>. Make sure that the <em>dev</em> pointer is valid for the duration
+of the operation (it is safe to delete it when the
+<a href="#commandFinished">commandFinished</a>() signal is emitted). In this case the readyRead()
+signal is <em>not</em> emitted and you cannot read data with the
+readBlock() or readAll() functions.
+<p> If you don't read the data immediately it becomes available, i.e.
+when the readyRead() signal is emitted, it is still available
+until the next command is started.
+<p> For example, if you want to present the data to the user as soon
+as there is something available, connect to the readyRead() signal
+and read the data immediately. On the other hand, if you only want
+to work with the complete data, you can connect to the
+commandFinished() signal and read the data when the <a href="#get">get</a>() command
+is finished.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and commandFinished().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the <a href="#commandFinished">commandFinished</a>() signal is
+emitted.
+<p> <p>See also <a href="#readyRead">readyRead</a>(), <a href="#dataTransferProgress">dataTransferProgress</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x755">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>bool <a name="hasPendingCommands"></a>QFtp::hasPendingCommands () const
+</h3>
+Returns TRUE if there are any commands scheduled that have not yet
+been executed; otherwise returns FALSE.
+<p> The command that is being executed is <em>not</em> considered as a
+scheduled command.
+<p> <p>See also <a href="#clearPendingCommands">clearPendingCommands</a>(), <a href="#currentId">currentId</a>(), and <a href="#currentCommand">currentCommand</a>().
+
+<h3 class=fn>int <a name="list"></a>QFtp::list ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir = QString::null )
+</h3>
+Lists the contents of directory <em>dir</em> on the FTP server. If <em>dir</em> is empty, it lists the contents of the current directory.
+<p> The <a href="#listInfo">listInfo</a>() signal is emitted for each directory entry found.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#listInfo">listInfo</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x756">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="listInfo"></a>QFtp::listInfo ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted for each directory entry the <a href="#list">list</a>() command
+finds. The details of the entry are stored in <em>i</em>.
+<p> <p>See also <a href="#list">list</a>().
+
+<p>Example: <a href="ftpclient-example.html#x757">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="login"></a>QFtp::login ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;user = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;password = QString::null )
+</h3>
+Logs in to the FTP server with the username <em>user</em> and the
+password <em>password</em>.
+<p> The <a href="#stateChanged">stateChanged</a>() signal is emitted when the state of the
+connecting process changes, e.g. to <a href="#State-enum">LoggedIn</a>.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x758">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="mkdir"></a>QFtp::mkdir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir )
+</h3>
+Creates a directory called <em>dir</em> on the server.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<h3 class=fn>int <a name="put"></a>QFtp::put ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Reads the data from the IO device <em>dev</em>, and writes it to the
+file called <em>file</em> on the server. The data is read in chunks from
+the IO device, so this overload allows you to transmit large
+amounts of data without the need to read all the data into memory
+at once.
+<p> Make sure that the <em>dev</em> pointer is valid for the duration of the
+operation (it is safe to delete it when the <a href="#commandFinished">commandFinished</a>() is
+emitted).
+
+<p>Example: <a href="ftpclient-example.html#x759">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="put-2"></a>QFtp::put ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the data <em>data</em> to the file called <em>file</em> on the server.
+The progress of the upload is reported by the
+<a href="#dataTransferProgress">dataTransferProgress</a>() signal.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#dataTransferProgress">dataTransferProgress</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<h3 class=fn>int <a name="rawCommand"></a>QFtp::rawCommand ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;command )
+</h3>
+Sends the raw FTP command <em>command</em> to the FTP server. This is
+useful for low-level FTP access. If the operation you wish to
+perform has an equivalent QFtp function, we recommend using the
+function instead of raw FTP commands since the functions are
+easier and safer.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#rawCommandReply">rawCommandReply</a>(), <a href="#commandStarted">commandStarted</a>(), and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x760">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="rawCommandReply"></a>QFtp::rawCommandReply ( int&nbsp;replyCode, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;detail )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted in response to the <a href="#rawCommand">rawCommand</a>() function.
+<em>replyCode</em> is the 3 digit reply code and <em>detail</em> is the text
+that follows the reply code.
+<p> <p>See also <a href="#rawCommand">rawCommand</a>().
+
+<p>Example: <a href="ftpclient-example.html#x761">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readAll"></a>QFtp::readAll ()
+</h3>
+Reads all the bytes available from the data socket and returns
+them.
+<p> <p>See also <a href="#get">get</a>(), <a href="#readyRead">readyRead</a>(), <a href="#bytesAvailable">bytesAvailable</a>(), and <a href="#readBlock">readBlock</a>().
+
+<h3 class=fn>Q_LONG <a name="readBlock"></a>QFtp::readBlock ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )
+</h3>
+Reads <em>maxlen</em> bytes from the data socket into <em>data</em> and
+returns the number of bytes read. Returns -1 if an error occurred.
+<p> <p>See also <a href="#get">get</a>(), <a href="#readyRead">readyRead</a>(), <a href="#bytesAvailable">bytesAvailable</a>(), and <a href="#readAll">readAll</a>().
+
+<h3 class=fn>void <a name="readyRead"></a>QFtp::readyRead ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted in response to a <a href="#get">get</a>() command when there
+is new data to read.
+<p> If you specify a device as the second argument in the get()
+command, this signal is <em>not</em> emitted; instead the data is
+written directly to the device.
+<p> You can read the data with the <a href="#readAll">readAll</a>() or <a href="#readBlock">readBlock</a>() functions.
+<p> This signal is useful if you want to process the data in chunks as
+soon as it becomes available. If you are only interested in the
+complete data, just connect to the <a href="#commandFinished">commandFinished</a>() signal and
+read the data then instead.
+<p> <p>See also <a href="#get">get</a>(), <a href="#readBlock">readBlock</a>(), <a href="#readAll">readAll</a>(), and <a href="#bytesAvailable">bytesAvailable</a>().
+
+<h3 class=fn>int <a name="remove"></a>QFtp::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Deletes the file called <em>file</em> from the server.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<p>Example: <a href="ftpclient-example.html#x762">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="rename"></a>QFtp::rename ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;oldname, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newname )
+</h3>
+Renames the file called <em>oldname</em> to <em>newname</em> on the server.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<h3 class=fn>int <a name="rmdir"></a>QFtp::rmdir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir )
+</h3>
+Removes the directory called <em>dir</em> from the server.
+<p> The function does not block and returns immediately. The command
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+<p> When the command is started the commandStarted() signal is
+emitted. When it is finished the commandFinished() signal is
+emitted.
+<p> <p>See also <a href="#commandStarted">commandStarted</a>() and <a href="#commandFinished">commandFinished</a>().
+
+<h3 class=fn><a href="qftp.html#State-enum">State</a> <a name="state"></a>QFtp::state () const
+</h3>
+Returns the current state of the object. When the state changes,
+the <a href="#stateChanged">stateChanged</a>() signal is emitted.
+<p> <p>See also <a href="#State-enum">State</a> and <a href="#stateChanged">stateChanged</a>().
+
+<p>Example: <a href="ftpclient-example.html#x763">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="stateChanged"></a>QFtp::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the state of the connection changes.
+The argument <em>state</em> is the new state of the connection; it is
+one of the <a href="#State-enum">State</a> values.
+<p> It is usually emitted in response to a <a href="#connectToHost">connectToHost</a>() or <a href="#close">close</a>()
+command, but it can also be emitted "spontaneously", e.g. when the
+server closes the connection unexpectedly.
+<p> <p>See also <a href="#connectToHost">connectToHost</a>(), <a href="#close">close</a>(), <a href="#state">state</a>(), and <a href="#State-enum">State</a>.
+
+<p>Example: <a href="ftpclient-example.html#x764">network/ftpclient/ftpmainwindow.ui.h</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgb18030codec-h.html b/doc/html/qgb18030codec-h.html
new file mode 100644
index 0000000..a3c36b1
--- /dev/null
+++ b/doc/html/qgb18030codec-h.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgb18030codec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgb18030codec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgb18030codec.h</h1>
+
+<p>This is the verbatim text of the qgb18030codec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgb18030codec.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QGb18030Codec class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Contributed by James Su &lt;suzhe@gnuchina.org&gt;
+
+#ifndef QGB18030CODEC_H
+#define QGB18030CODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+
+#ifndef QT_NO_BIG_CODECS
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_CODECS_CN
+#else
+#define Q_EXPORT_CODECS_CN Q_EXPORT
+#endif
+
+class Q_EXPORT_CODECS_CN QGb18030Codec : public QTextCodec {
+public:
+ QGb18030Codec();
+
+ int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+class Q_EXPORT_CODECS_CN QGbkCodec : public QGb18030Codec {
+public:
+ QGbkCodec();
+
+ int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QGb18030Codec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+class Q_EXPORT_CODECS_CN QGb2312Codec : public QGb18030Codec {
+public:
+ QGb2312Codec();
+
+ int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QGb18030Codec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgb18030codec-members.html b/doc/html/qgb18030codec-members.html
new file mode 100644
index 0000000..904d618
--- /dev/null
+++ b/doc/html/qgb18030codec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgb18030codec.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGb18030Codec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGb18030Codec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgb18030codec.html">QGb18030Codec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgb18030codec.html b/doc/html/qgb18030codec.html
new file mode 100644
index 0000000..62d900e
--- /dev/null
+++ b/doc/html/qgb18030codec.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qgb18030codec.cpp:34 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGb18030Codec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGb18030Codec Class Reference</h1>
+
+<p>The QGb18030Codec class provides conversion to and from the Chinese
+GB18030/GBK/GB2312 encoding.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qgb18030codec-h.html">qgb18030codec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p>Inherited by <a href="qgbkcodec.html">QGbkCodec</a> and <a href="qgb2312codec.html">QGb2312Codec</a>.
+<p><a href="qgb18030codec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QGb18030Codec class provides conversion to and from the Chinese
+GB18030/GBK/GB2312 encoding.
+<p>
+<p> GBK, formally the Chinese Internal Code Specification, is a commonly
+used extension of GB 2312-80. Microsoft Windows uses it under the
+name codepage 936.
+<p> GBK has been superceded by the new Chinese national standard
+GB 18030-2000, which added a 4-byte encoding while remaining
+compatible with GB2312 and GBK. The new GB 18030-2000 may be described
+as a special encoding of Unicode 3.x and ISO-10646-1.
+<p> Special thanks to charset gurus Markus Scherer (IBM),
+Dirk Meyer (Adobe Systems) and Ken Lunde (Adobe Systems) for publishing
+an excellent GB 18030-2000 summary and specification on the Internet.
+Some must-read documents are:
+<ul>
+<li>
+<a href="ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/pdf/GB18030_Summary.pdf">ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/pdf/GB18030_Summary.pdf</a>
+<li> <a href="http://oss.software.ibm.com/cvs/icu/~checkout~/charset/source/gb18030/gb18030.html">http://oss.software.ibm.com/cvs/icu/~checkout~/charset/source/gb18030/gb18030.html</a>
+<li>
+<a href="http://oss.software.ibm.com/cvs/icu/~checkout~/charset/data/xml/gb-18030-2000.xml">http://oss.software.ibm.com/cvs/icu/~checkout~/charset/data/xml/gb-18030-2000.xml</a>
+</ul>
+<p> The GBK codec was contributed to Qt by
+Justin Yu &lt;justiny@turbolinux.com.cn&gt; and
+Sean Chen &lt;seanc@turbolinux.com.cn&gt;. They may also be reached at
+Yu Mingjian &lt;yumj@sun.ihep.ac.cn&gt;, &lt;yumingjian@china.com&gt;
+Chen Xiangyang &lt;chenxy@sun.ihep.ac.cn&gt;
+<p> The GB18030 codec Qt functions were contributed to Qt by
+James Su &lt;suzhe@gnuchina.org&gt;, &lt;suzhe@turbolinux.com.cn&gt;
+who pioneered much of GB18030 development on GNU/Linux systems.
+<p> The GB18030 codec was contributed to Qt by
+Anthony Fok &lt;anthony@thizlinux.com&gt;, &lt;foka@debian.org&gt;
+using a Perl script to generate C++ tables from gb-18030-2000.xml
+while merging contributions from James Su, Justin Yu and Sean Chen.
+A copy of the source Perl script is available at:
+<p> <a href="http://people.debian.org/~foka/gb18030/gen-qgb18030codec.pl">http://people.debian.org/~foka/gb18030/gen-qgb18030codec.pl</a>
+<p> The copyright notice for their code follows:
+<p>
+<p> Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen.
+Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su.
+Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgb2312codec-members.html b/doc/html/qgb2312codec-members.html
new file mode 100644
index 0000000..0626668
--- /dev/null
+++ b/doc/html/qgb2312codec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgb18030codec.h:92 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGb2312Codec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGb2312Codec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgb2312codec.html">QGb2312Codec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgb2312codec.html b/doc/html/qgb2312codec.html
new file mode 100644
index 0000000..cb7d5c8
--- /dev/null
+++ b/doc/html/qgb2312codec.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qgb18030codec.cpp:642 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGb2312Codec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGb2312Codec Class Reference</h1>
+
+<p>The QGb2312Codec class provides conversion to and from the Chinese
+GB2312 encoding.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgb18030codec-h.html">qgb18030codec.h</a>&gt;</tt>
+<p>Inherits <a href="qgb18030codec.html">QGb18030Codec</a>.
+<p><a href="qgb2312codec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QGb2312Codec class provides conversion to and from the Chinese
+GB2312 encoding.
+<p> The GB2312 encoding has been superceded by the GB18030 encoding and
+GB18030 is backward compatible to GB2312. For this reason the QGb2312Codec
+class is implemented in terms of the GB18030 codec and uses its
+0xA1A1-0xFEFE subset for conversion from and to Unicode.
+<p> The QGb2312Codec is kept mainly for compatibility reasons with older software.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgbkcodec-members.html b/doc/html/qgbkcodec-members.html
new file mode 100644
index 0000000..6d677af
--- /dev/null
+++ b/doc/html/qgbkcodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgb18030codec.h:73 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGbkCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGbkCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgbkcodec.html">QGbkCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgbkcodec.html b/doc/html/qgbkcodec.html
new file mode 100644
index 0000000..0566233
--- /dev/null
+++ b/doc/html/qgbkcodec.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qgb18030codec.cpp:436 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGbkCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGbkCodec Class Reference</h1>
+
+<p>The QGbkCodec class provides conversion to and from the Chinese
+GBK encoding.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qgb18030codec-h.html">qgb18030codec.h</a>&gt;</tt>
+<p>Inherits <a href="qgb18030codec.html">QGb18030Codec</a>.
+<p><a href="qgbkcodec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QGbkCodec class provides conversion to and from the Chinese
+GBK encoding.
+<p> GBK, formally the Chinese Internal Code Specification, is a commonly
+used extension of GB 2312-80. Microsoft Windows uses it under the
+name code page 936.
+<p> The GBK encoding has been superceded by the GB18030 encoding and
+GB18030 is backward compatible to GBK. For this reason the QGbkCodec class
+is implemented in terms of the GB18030 codec and uses its 1-byte and
+2-byte portion for conversion from and to Unicode.
+<p> The QGbkCodec is kept mainly for compatibility reasons with older software.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfx_qws-h.html b/doc/html/qgfx_qws-h.html
new file mode 100644
index 0000000..a879ebb
--- /dev/null
+++ b/doc/html/qgfx_qws-h.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfx_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgfx_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgfx_qws.h</h1>
+
+<p>This is the verbatim text of the qgfx_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgfx_qws.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QGfx (graphics context) class
+**
+** Created : 940721
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGFX_QWS_H
+#define QGFX_QWS_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qnamespace.h"
+#include "qimage.h"
+#include "qfontmanager_qws.h"
+#include "qmemorymanager_qws.h"
+#include "qpoint.h"
+#endif // QT_H
+
+#include &lt;private/qtextengine_p.h&gt;
+
+class QScreenCursor;
+
+#if !defined( QT_NO_IMAGE_16_BIT ) || !defined( QT_NO_QWS_DEPTH_16 )
+# ifndef QT_QWS_DEPTH16_RGB
+# define QT_QWS_DEPTH16_RGB 565
+# endif
+static const int qt_rbits = (QT_QWS_DEPTH16_RGB/100);
+static const int qt_gbits = (QT_QWS_DEPTH16_RGB/10%10);
+static const int qt_bbits = (QT_QWS_DEPTH16_RGB%10);
+static const int qt_red_shift = qt_bbits+qt_gbits-(8-qt_rbits);
+static const int qt_green_shift = qt_bbits-(8-qt_gbits);
+static const int qt_neg_blue_shift = 8-qt_bbits;
+static const int qt_blue_mask = (1&lt;&lt;qt_bbits)-1;
+static const int qt_green_mask = (1&lt;&lt;(qt_gbits+qt_bbits))-((1&lt;&lt;qt_bbits)-1);
+static const int qt_red_mask = (1&lt;&lt;(qt_rbits+qt_gbits+qt_bbits))-(1&lt;&lt;(qt_gbits+qt_bbits));
+
+inline ushort qt_convRgbTo16( const int r, const int g, const int b )
+{
+ const int tr = r &lt;&lt; qt_red_shift;
+ const int tg = g &lt;&lt; qt_green_shift;
+ const int tb = b &gt;&gt; qt_neg_blue_shift;
+
+ return (tb &amp; qt_blue_mask) | (tg &amp; qt_green_mask) | (tr &amp; qt_red_mask);
+}
+
+inline ushort qt_convRgbTo16( QRgb c )
+{
+ const int tr = qRed(c) &lt;&lt; qt_red_shift;
+ const int tg = qGreen(c) &lt;&lt; qt_green_shift;
+ const int tb = qBlue(c) &gt;&gt; qt_neg_blue_shift;
+
+ return (tb &amp; qt_blue_mask) | (tg &amp; qt_green_mask) | (tr &amp; qt_red_mask);
+}
+
+inline QRgb qt_conv16ToRgb( ushort c )
+{
+ const int r=(c &amp; qt_red_mask);
+ const int g=(c &amp; qt_green_mask);
+ const int b=(c &amp; qt_blue_mask);
+ const int tr = r &gt;&gt; qt_red_shift;
+ const int tg = g &gt;&gt; qt_green_shift;
+ const int tb = b &lt;&lt; qt_neg_blue_shift;
+
+ return qRgb(tr,tg,tb);
+}
+
+inline void qt_conv16ToRgb( ushort c, int&amp; r, int&amp; g, int&amp; b )
+{
+ const int tr=(c &amp; qt_red_mask);
+ const int tg=(c &amp; qt_green_mask);
+ const int tb=(c &amp; qt_blue_mask);
+ r = tr &gt;&gt; qt_red_shift;
+ g = tg &gt;&gt; qt_green_shift;
+ b = tb &lt;&lt; qt_neg_blue_shift;
+}
+#endif
+
+
+const int SourceSolid=0;
+const int SourcePixmap=1;
+
+#ifndef QT_NO_QWS_CURSOR
+
+extern bool qt_sw_cursor;
+
+class QGfxRasterBase;
+
+#define SW_CURSOR_DATA_SIZE 4096 // 64x64 8-bit cursor
+
+struct SWCursorData {
+ unsigned char cursor[SW_CURSOR_DATA_SIZE];
+ unsigned char under[SW_CURSOR_DATA_SIZE*4]; // room for 32bpp display
+ QRgb clut[256];
+ unsigned char translut[256];
+ int colors;
+ int width;
+ int height;
+ int x;
+ int y;
+ int hotx;
+ int hoty;
+ bool enable;
+ QRect bound;
+};
+
+
+class QScreenCursor
+{
+public:
+ QScreenCursor( );
+ virtual ~QScreenCursor();
+
+ virtual void init(SWCursorData *da, bool init = FALSE);
+
+ virtual void set( const QImage &amp;image, int hotx, int hoty );
+ virtual void move( int x, int y );
+ virtual void show();
+ virtual void hide();
+
+ virtual bool restoreUnder( const QRect &amp;r, QGfxRasterBase *g = 0 );
+ virtual void saveUnder();
+ virtual void drawCursor();
+ //void draw();
+ virtual bool supportsAlphaCursor();
+
+ static bool enabled() { return qt_sw_cursor; }
+
+protected:
+ QGfxRasterBase *gfx;
+ QGfxRasterBase *gfxunder;
+
+ QImage *imgunder;
+ QImage *cursor;
+
+ uchar *fb_start;
+ uchar *fb_end;
+ bool save_under;
+ SWCursorData *data;
+
+ int clipWidth;
+ int clipHeight;
+ int myoffset;
+
+};
+
+extern QScreenCursor * qt_screencursor;
+
+#endif // QT_NO_QWS_CURSOR
+
+struct fb_cmap;
+
+// A (used) chunk of offscreen memory
+
+class QPoolEntry
+{
+public:
+ unsigned int start;
+ unsigned int end;
+ int clientId;
+};
+
+class QScreen;
+typedef void(*ClearCacheFunc)(QScreen *obj, int);
+
+class QScreen {
+
+public:
+
+ QScreen( int display_id );
+ virtual ~QScreen();
+ virtual bool initDevice() = 0;
+ virtual bool connect( const QString &amp;displaySpec ) = 0;
+ virtual void disconnect() = 0;
+ virtual int initCursor(void *, bool=FALSE);
+ virtual void shutdownDevice();
+ virtual void setMode(int,int,int) = 0;
+ virtual bool supportsDepth(int) const;
+ virtual QGfx * createGfx(unsigned char *,int,int,int,int);
+ virtual QGfx * screenGfx();
+ virtual void save();
+ virtual void restore();
+ virtual void blank(bool on);
+
+ virtual int pixmapOffsetAlignment() { return 64; }
+ virtual int pixmapLinestepAlignment() { return 64; }
+ virtual int sharedRamSize(void *) { return 0; }
+
+ virtual bool onCard(unsigned char *) const;
+ virtual bool onCard(unsigned char *, ulong&amp; out_offset) const;
+
+ // sets a single color in the colormap
+ virtual void set(unsigned int,unsigned int,unsigned int,unsigned int);
+ // allocates a color
+ virtual int alloc(unsigned int,unsigned int,unsigned int);
+
+ int width() const { return w; }
+ int height() const { return h; }
+ int depth() const { return d; }
+ virtual int pixmapDepth() const;
+ int pixelType() const { return pixeltype; }
+ int linestep() const { return lstep; }
+ int deviceWidth() const { return dw; }
+ int deviceHeight() const { return dh; }
+ uchar * base() const { return data; }
+ // Ask for memory from card cache with alignment
+ virtual uchar * cache(int,int) { return 0; }
+ virtual void uncache(uchar *) {}
+
+ int screenSize() const { return size; }
+ int totalSize() const { return mapsize; }
+
+ QRgb * clut() { return screenclut; }
+ int numCols() { return screencols; }
+
+ virtual QSize mapToDevice( const QSize &amp; ) const;
+ virtual QSize mapFromDevice( const QSize &amp; ) const;
+ virtual QPoint mapToDevice( const QPoint &amp;, const QSize &amp; ) const;
+ virtual QPoint mapFromDevice( const QPoint &amp;, const QSize &amp; ) const;
+ virtual QRect mapToDevice( const QRect &amp;, const QSize &amp; ) const;
+ virtual QRect mapFromDevice( const QRect &amp;, const QSize &amp; ) const;
+ virtual QImage mapToDevice( const QImage &amp; ) const;
+ virtual QImage mapFromDevice( const QImage &amp; ) const;
+ virtual QRegion mapToDevice( const QRegion &amp;, const QSize &amp; ) const;
+ virtual QRegion mapFromDevice( const QRegion &amp;, const QSize &amp; ) const;
+ virtual int transformOrientation() const;
+ virtual bool isTransformed() const;
+ virtual bool isInterlaced() const;
+
+ virtual void setDirty( const QRect&amp; );
+
+ virtual int memoryNeeded(const QString&amp;);
+
+ int * opType() { return screen_optype; }
+ int * lastOp() { return screen_lastop; }
+
+ virtual void haltUpdates();
+ virtual void resumeUpdates();
+
+protected:
+
+ // Only used without QT_NO_QWS_REPEATER, but included so that
+ // it's binary compatible regardless.
+ int * screen_optype;
+ int * screen_lastop;
+
+ QRgb screenclut[256];
+ int screencols;
+
+ bool initted;
+
+ uchar * data;
+
+ // Table of allocated lumps, kept in sorted highest-to-lowest order
+ // The table itself is allocated at the bottom of offscreen memory
+ // i.e. it's similar to having a stack (the table) and a heap
+ // (the allocated blocks). Freed space is implicitly described
+ // by the gaps between the allocated lumps (this saves entries and
+ // means we don't need to worry about coalescing freed lumps)
+
+ QPoolEntry * entries;
+ int * entryp;
+ unsigned int * lowest;
+
+ int w;
+ int lstep;
+ int h;
+ int d;
+ int pixeltype;
+ bool grayscale;
+
+ int dw;
+ int dh;
+
+ int hotx;
+ int hoty;
+ QImage cursor;
+
+ int size; // Screen size
+ int mapsize; // Total mapped memory
+
+ int displayId;
+
+ friend class QWSServer;
+ static ClearCacheFunc clearCacheFunc;
+};
+
+extern QScreen * qt_screen;
+
+class Q_EXPORT QGfx : public Qt {
+public:
+ // With loadable drivers, do probe here
+ static QGfx *createGfx( int depth, unsigned char *buffer,
+ int w, int h, int linestep );
+
+ virtual ~QGfx() {}
+
+ virtual void setPen( const QPen &amp; )=0;
+ virtual void setBrush( const QBrush &amp; )=0;
+ virtual void setBrushPixmap( const QPixmap * )=0;
+ virtual void setBrushOffset( int, int ) = 0;
+ virtual void setClipRect( int,int,int,int )=0;
+ virtual void setClipRegion( const QRegion &amp; )=0;
+ virtual void setClipDeviceRegion( const QRegion &amp; )=0;
+ virtual void setClipping (bool)=0;
+ // These will be called from qwidget_qws or qwidget_mac
+ // to update the drawing area when a widget is moved
+ virtual void setOffset( int,int )=0;
+ virtual void setWidgetRect( int,int,int,int )=0;
+ virtual void setWidgetRegion( const QRegion &amp; )=0;
+ virtual void setWidgetDeviceRegion( const QRegion &amp; )=0;
+ virtual void setSourceWidgetOffset(int x, int y) = 0;
+ virtual void setGlobalRegionIndex( int idx ) = 0;
+
+ virtual void setDashedLines(bool d) = 0;
+ virtual void setDashes(char *, int) = 0;
+
+ virtual void setOpaqueBackground(bool b)=0;
+ virtual void setBackgroundColor(QColor c)=0;
+
+ // Drawing operations
+ virtual void drawPoint( int,int )=0;
+ virtual void drawPoints( const QPointArray &amp;,int,int )=0;
+ virtual void moveTo( int,int )=0;
+ virtual void lineTo( int,int )=0;
+ virtual void drawLine( int,int,int,int )=0;
+ virtual void drawPolyline( const QPointArray &amp;,int,int )=0;
+
+ // current position
+ virtual QPoint pos() const = 0;
+
+ // Fill operations - these use the current source (pixmap,
+ // color, etc), and draws outline
+ virtual void fillRect( int,int,int,int )=0;
+ virtual void drawPolygon( const QPointArray &amp;,bool,int,int )=0;
+
+ virtual void setLineStep(int)=0;
+
+ // Special case of rect-with-pixmap-fill for speed/hardware acceleration
+ virtual void blt( int,int,int,int,int,int )=0;
+ virtual void scroll( int,int,int,int,int,int )=0;
+
+#if !defined(QT_NO_MOVIE) || !defined(QT_NO_TRANSFORMATIONS) || !defined(QT_NO_PIXMAP_TRANSFORMATION)
+ virtual void stretchBlt( int,int,int,int,int,int )=0;
+#endif
+ virtual void tiledBlt( int,int,int,int )=0;
+
+ enum SourceType { SourcePen, SourceImage, SourceAccel };
+ enum PixelType { NormalPixel, BGRPixel };
+
+ // Setting up source data - can be solid color or pixmap data
+ virtual void setSource(const QPaintDevice *)=0;
+ virtual void setSource(const QImage *)=0;
+ virtual void setSource(unsigned char *,int,int,int,int,QRgb *,int);
+ // This one is pen
+ virtual void setSourcePen()=0;
+
+ virtual void drawAlpha(int,int,int,int,int,int,int,int) {}
+
+ virtual void hsync(int) {}
+
+ // These apply only to blt's. For alpha values for general
+ // drawing operations we should probably have a separate QGfx
+ // class. It's not a high priority though.
+
+ // Enum values: Ignore alpha information, alpha information encoded in
+ // 32-bit rgba along with colors, alpha information in 8bpp
+ // format in alphabits
+
+ enum AlphaType { IgnoreAlpha, InlineAlpha, SeparateAlpha,
+ LittleEndianMask, BigEndianMask, SolidAlpha };
+
+ // Can be no alpha, inline (32bit data), separate (for images),
+ // LittleEndianMask/BigEndianMask 1bpp masks, constant alpha
+ // value
+ virtual void setAlphaType(AlphaType)=0;
+ // Pointer to data, linestep
+ virtual void setAlphaSource(unsigned char *,int)=0;
+ virtual void setAlphaSource(int,int=-1,int=-1,int=-1)=0;
+
+ virtual void drawGlyphs( QMemoryManager::FontID font, glyph_t *glyphs, QPoint *positions, int num_glyphs ) = 0;
+
+ virtual void setClut(QRgb *,int)=0;
+
+ // Save and restore pen and brush state - necessary when setting
+ // up a bitBlt for example
+ virtual void save()=0;
+ virtual void restore()=0;
+
+ virtual void setRop(RasterOp)=0;
+ virtual void setScreen(QScreen *,QScreenCursor *,bool,int *,int *);
+ void setShared(void * v) { shared_data=v; }
+ bool isScreenGfx() { return is_screen_gfx; } //for cursor..
+
+protected:
+ bool is_screen_gfx;
+ void * shared_data;
+
+};
+
+
+// This lives in loadable modules
+
+#ifndef QT_LOADABLE_MODULES
+extern "C" QScreen * qt_get_screen( int display_id, const char* spec );
+#endif
+
+// This is in main lib, loads the right module, calls qt_get_screen
+// In non-loadable cases just aliases to qt_get_screen
+
+const unsigned char * qt_probe_bus();
+
+#endif // QGFX_QWS_H
+
+
+
+
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverfactory-members.html b/doc/html/qgfxdriverfactory-members.html
new file mode 100644
index 0000000..a6b574e
--- /dev/null
+++ b/doc/html/qgfxdriverfactory-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfxdriverfactory_qws.h:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGfxDriverFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGfxDriverFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgfxdriverfactory.html">QGfxDriverFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qgfxdriverfactory.html#create">create</a>()
+<li><a href="qgfxdriverfactory.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverfactory.html b/doc/html/qgfxdriverfactory.html
new file mode 100644
index 0000000..3a753cf
--- /dev/null
+++ b/doc/html/qgfxdriverfactory.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qgfxdriverfactory_qws.cpp:85 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGfxDriverFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGfxDriverFactory Class Reference</h1>
+
+<p>The QGfxDriverFactory class creates QScreen objects for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgfxdriverfactory_qws-h.html">qgfxdriverfactory_qws.h</a>&gt;</tt>
+<p><a href="qgfxdriverfactory-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStringList <a href="#keys"><b>keys</b></a> ()</li>
+<li class=fn>QScreen * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, int&nbsp;displayId )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGfxDriverFactory class creates <a href="qscreen.html">QScreen</a> objects for Qt/Embedded.
+<p> The graphics driver factory creates a QScreen object for a given
+key with <a href="#create">QGfxDriverFactory::create</a>(key).
+<p> The drivers are either built-in or dynamically loaded from a
+driver plugin (see <a href="qgfxdriverplugin.html">QGfxDriverPlugin</a>).
+<p> <a href="#keys">QGfxDriverFactory::keys</a>() returns a list of valid keys. Qt
+currently ships with "LinuxFb".
+<p> This class is only available in Qt/Embedded.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qscreen.html">QScreen</a>&nbsp;* <a name="create"></a>QGfxDriverFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, int&nbsp;displayId )<tt> [static]</tt>
+</h3>
+Creates a <a href="qscreen.html">QScreen</a> object of a type that matches <em>key</em>, and with
+the ID, <em>displayId</em>. The QScreen object returned may be from a
+built-in driver, or from a driver plugin.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QGfxDriverFactory::keys ()<tt> [static]</tt>
+</h3>
+Returns the list of keys this factory can create drivers for.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverfactory_qws-h.html b/doc/html/qgfxdriverfactory_qws-h.html
new file mode 100644
index 0000000..f645650
--- /dev/null
+++ b/doc/html/qgfxdriverfactory_qws-h.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfxdriverfactory_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgfxdriverfactory_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgfxdriverfactory_qws.h</h1>
+
+<p>This is the verbatim text of the qgfxdriverfactory_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgfxdriverfactory_qws.h 3.3.8 edited Jan 11 14:46 $
+**
+** ...
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGFXDRIVERFACTORY_QWS_H
+#define QGFXDRIVERFACTORY_QWS_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+class QString;
+class QScreen;
+
+class Q_EXPORT QGfxDriverFactory
+{
+public:
+#ifndef QT_NO_STRINGLIST
+ static QStringList keys();
+#endif
+ static QScreen *create( const QString&amp;, int );
+};
+
+#endif //QGFXDRIVERFACTORY_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverplugin-members.html b/doc/html/qgfxdriverplugin-members.html
new file mode 100644
index 0000000..95ab359
--- /dev/null
+++ b/doc/html/qgfxdriverplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfxdriverplugin_qws.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGfxDriverPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGfxDriverPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgfxdriverplugin.html">QGfxDriverPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qgfxdriverplugin.html#QGfxDriverPlugin">QGfxDriverPlugin</a>()
+<li><a href="qgfxdriverplugin.html#~QGfxDriverPlugin">~QGfxDriverPlugin</a>()
+<li><a href="qgfxdriverplugin.html#create">create</a>()
+<li><a href="qgfxdriverplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverplugin.html b/doc/html/qgfxdriverplugin.html
new file mode 100644
index 0000000..2fe5d09
--- /dev/null
+++ b/doc/html/qgfxdriverplugin.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qgfxdriverplugin_qws.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGfxDriverPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGfxDriverPlugin Class Reference</h1>
+
+<p>The QGfxDriverPlugin class provides an abstract base for
+Qt/Embedded graphics driver plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgfxdriverplugin_qws-h.html">qgfxdriverplugin_qws.h</a>&gt;</tt>
+<p><a href="qgfxdriverplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGfxDriverPlugin"><b>QGfxDriverPlugin</b></a> ()</li>
+<li class=fn><a href="#~QGfxDriverPlugin"><b>~QGfxDriverPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QScreen * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driver, int&nbsp;displayId ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGfxDriverPlugin class provides an abstract base for
+Qt/Embedded graphics driver plugins.
+<p>
+<p> The graphics driver plugin is a simple plugin interface that makes
+it easy to create custom graphics drivers.
+<p> Writing a graphics driver plugin is achieved by subclassing this
+base class, reimplementing the pure virtual functions <a href="#keys">keys</a>() and
+<a href="#create">create</a>(), and exporting the class with the <tt>Q_EXPORT_PLUGIN</tt>
+macro. See the <a href="plugins-howto.html">Plugins
+ documentation</a> for details.
+<p> This class is only available in Qt/Embedded.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGfxDriverPlugin"></a>QGfxDriverPlugin::QGfxDriverPlugin ()
+</h3>
+Constructs a graphics driver plugin. This is invoked automatically
+by the <tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QGfxDriverPlugin"></a>QGfxDriverPlugin::~QGfxDriverPlugin ()
+</h3>
+Destroys the graphics driver plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qscreen.html">QScreen</a>&nbsp;* <a name="create"></a>QGfxDriverPlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driver, int&nbsp;displayId )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates a driver matching the type specified by <em>driver</em>, that
+will use display <em>displayId</em>.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QGfxDriverPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of graphics drivers this plugin supports.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgfxdriverplugin_qws-h.html b/doc/html/qgfxdriverplugin_qws-h.html
new file mode 100644
index 0000000..aeee0dc
--- /dev/null
+++ b/doc/html/qgfxdriverplugin_qws-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfxdriverplugin_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgfxdriverplugin_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgfxdriverplugin_qws.h</h1>
+
+<p>This is the verbatim text of the qgfxdriverplugin_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgfxdriverplugin_qws.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QGfxDriverPlugin
+**
+** Created : 20020212
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGFXDRIVERPLUGIN_QWS_H
+#define QGFXDRIVERPLUGIN_QWS_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_COMPONENT
+
+class QScreen;
+class QGfxDriverPluginPrivate;
+
+class Q_EXPORT QGfxDriverPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QGfxDriverPlugin();
+ ~QGfxDriverPlugin();
+
+#ifndef QT_NO_STRINGLIST
+ virtual QStringList keys() const = 0;
+#endif
+ virtual QScreen* create( const QString&amp; driver, int displayId ) = 0;
+
+private:
+ QGfxDriverPluginPrivate *d;
+};
+
+#endif // QT_NO_COMPONENT
+
+#endif // QGFXDRIVERPLUGIN_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgl-h.html b/doc/html/qgl-h.html
new file mode 100644
index 0000000..ade7003
--- /dev/null
+++ b/doc/html/qgl-h.html
@@ -0,0 +1,586 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgl.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgl.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgl.h</h1>
+
+<p>This is the verbatim text of the qgl.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgl.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of OpenGL classes for Qt
+**
+** Created : 970112
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the opengl module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGL_H
+#define QGL_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qglcolormap.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_OPENGL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_OPENGL
+#else
+#define QM_EXPORT_OPENGL Q_EXPORT
+#endif
+
+#ifndef QT_NO_COMPAT
+#define QGL_VERSION 450
+#define QGL_VERSION_STR "4.5"
+QM_EXPORT_OPENGL inline const char *qGLVersion() {
+ qObsolete( 0, "qGLVersion", "qVersion" );
+ return QGL_VERSION_STR;
+}
+#endif
+
+#if defined(Q_WS_WIN)
+# include "qt_windows.h"
+#endif
+
+#if defined(Q_WS_MAC)
+#if !defined( QMAC_OPENGL_DOUBLEBUFFER )
+/* This macro is different now. If the macro is not defined QGLWidget will
+ * try to determine when you need double buffering. If set to 0 it will
+ * never double buffer and *can* be acclerated. If set to 1 (the default)
+ * it will always double buffer. Unlike before the value of this macro does
+ * not upset binary compatability either. */
+#if QT_MACOSX_VERSION &gt;= 0x1020
+# define QMAC_OPENGL_DOUBLEBUFFER 0
+#endif
+#endif
+# include &lt;OpenGL/gl.h&gt;
+# include &lt;OpenGL/glu.h&gt;
+#else
+# include &lt;GL/gl.h&gt;
+# include &lt;GL/glu.h&gt;
+#endif
+
+#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
+class QGLCmap;
+#endif
+
+class QPixmap;
+#if defined(Q_WS_X11)
+class QGLOverlayWidget;
+#endif
+
+// Namespace class:
+class QM_EXPORT_OPENGL QGL
+{
+public:
+ enum FormatOption {
+ DoubleBuffer = 0x0001,
+ DepthBuffer = 0x0002,
+ Rgba = 0x0004,
+ AlphaChannel = 0x0008,
+ AccumBuffer = 0x0010,
+ StencilBuffer = 0x0020,
+ StereoBuffers = 0x0040,
+ DirectRendering = 0x0080,
+ HasOverlay = 0x0100,
+ SingleBuffer = DoubleBuffer &lt;&lt; 16,
+ NoDepthBuffer = DepthBuffer &lt;&lt; 16,
+ ColorIndex = Rgba &lt;&lt; 16,
+ NoAlphaChannel = AlphaChannel &lt;&lt; 16,
+ NoAccumBuffer = AccumBuffer &lt;&lt; 16,
+ NoStencilBuffer = StencilBuffer &lt;&lt; 16,
+ NoStereoBuffers = StereoBuffers &lt;&lt; 16,
+ IndirectRendering = DirectRendering &lt;&lt; 16,
+ NoOverlay = HasOverlay &lt;&lt; 16
+ };
+};
+
+
+
+class QM_EXPORT_OPENGL QGLFormat : public QGL
+{
+public:
+ QGLFormat();
+ QGLFormat( int options, int plane = 0 );
+
+ bool doubleBuffer() const;
+ void setDoubleBuffer( bool enable );
+ bool depth() const;
+ void setDepth( bool enable );
+ bool rgba() const;
+ void setRgba( bool enable );
+ bool alpha() const;
+ void setAlpha( bool enable );
+ bool accum() const;
+ void setAccum( bool enable );
+ bool stencil() const;
+ void setStencil( bool enable );
+ bool stereo() const;
+ void setStereo( bool enable );
+ bool directRendering() const;
+ void setDirectRendering( bool enable );
+ bool hasOverlay() const;
+ void setOverlay( bool enable );
+
+ int plane() const;
+ void setPlane( int plane );
+
+ void setOption( FormatOption opt );
+ bool testOption( FormatOption opt ) const;
+
+ static QGLFormat defaultFormat();
+ static void setDefaultFormat( const QGLFormat&amp; f );
+
+ static QGLFormat defaultOverlayFormat();
+ static void setDefaultOverlayFormat( const QGLFormat&amp; f );
+
+ static bool hasOpenGL();
+ static bool hasOpenGLOverlays();
+
+ friend QM_EXPORT_OPENGL bool operator==( const QGLFormat&amp;,
+ const QGLFormat&amp; );
+ friend QM_EXPORT_OPENGL bool operator!=( const QGLFormat&amp;,
+ const QGLFormat&amp; );
+private:
+ uint opts;
+ int pln;
+};
+
+
+QM_EXPORT_OPENGL bool operator==( const QGLFormat&amp;, const QGLFormat&amp; );
+QM_EXPORT_OPENGL bool operator!=( const QGLFormat&amp;, const QGLFormat&amp; );
+
+class QM_EXPORT_OPENGL QGLContext : public QGL
+{
+public:
+ QGLContext( const QGLFormat&amp; format, QPaintDevice* device );
+ QGLContext( const QGLFormat&amp; format );
+ virtual ~QGLContext();
+
+ virtual bool create( const QGLContext* shareContext = 0 );
+ bool isValid() const;
+ bool isSharing() const;
+ virtual void reset();
+
+ QGLFormat format() const;
+ QGLFormat requestedFormat() const;
+ virtual void setFormat( const QGLFormat&amp; format );
+
+ virtual void makeCurrent();
+ virtual void swapBuffers() const;
+
+ QPaintDevice* device() const;
+
+ QColor overlayTransparentColor() const;
+
+ static const QGLContext* currentContext();
+
+protected:
+ virtual bool chooseContext( const QGLContext* shareContext = 0 );
+ virtual void doneCurrent(); // ### 4.0: make this public - needed for multithreading stuff
+
+#if defined(Q_WS_WIN)
+ virtual int choosePixelFormat( void* pfd, HDC pdc );
+#endif
+#if defined(Q_WS_X11)
+ virtual void* tryVisual( const QGLFormat&amp; f, int bufDepth = 1 );
+ virtual void* chooseVisual();
+#endif
+#if defined(Q_WS_MAC)
+ virtual void* chooseMacVisual(GDHandle);
+#endif
+
+ bool deviceIsPixmap() const;
+ bool windowCreated() const;
+ void setWindowCreated( bool on );
+ bool initialized() const;
+ void setInitialized( bool on );
+ void generateFontDisplayLists( const QFont &amp; fnt, int listBase );
+
+ uint colorIndex( const QColor&amp; c ) const;
+ void setValid( bool valid );
+ void setDevice( QPaintDevice *pDev );
+
+protected:
+#if defined(Q_WS_WIN)
+ HGLRC rc;
+ HDC dc;
+ WId win;
+ int pixelFormatId;
+ QGLCmap* cmap;
+#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
+ void* vi;
+ void* cx;
+#if defined(Q_WS_X11)
+ Q_UINT32 gpm;
+#endif
+#endif
+ QGLFormat glFormat;
+ QGLFormat reqFormat;
+ static QGLContext* currentCtx;
+
+private:
+ void init( QPaintDevice *dev = 0 );
+ class Private {
+ public:
+ bool valid;
+ bool sharing;
+ bool initDone;
+ bool crWin;
+ QPaintDevice* paintDevice;
+ QColor transpColor;
+#ifdef Q_WS_MAC
+ QRect oldR;
+#endif
+ };
+ Private* d;
+
+ friend class QGLWidget;
+#ifdef Q_WS_MAC
+ void fixBufferRect();
+#endif
+
+private: // Disabled copy constructor and operator=
+ QGLContext() {}
+ QGLContext( const QGLContext&amp; ) {}
+ QGLContext&amp; operator=( const QGLContext&amp; ) { return *this; }
+};
+
+
+
+
+class QM_EXPORT_OPENGL QGLWidget : public QWidget, public QGL
+{
+ Q_OBJECT
+public:
+ QGLWidget( QWidget* parent=0, const char* name=0,
+ const QGLWidget* shareWidget = 0, WFlags f=0 );
+ QGLWidget( QGLContext *context, QWidget* parent, const char* name=0,
+ const QGLWidget* shareWidget = 0, WFlags f=0 );
+ QGLWidget( const QGLFormat&amp; format, QWidget* parent=0, const char* name=0,
+ const QGLWidget* shareWidget = 0, WFlags f=0 );
+ ~QGLWidget();
+
+ void qglColor( const QColor&amp; c ) const;
+ void qglClearColor( const QColor&amp; c ) const;
+
+ bool isValid() const;
+ bool isSharing() const;
+ virtual void makeCurrent();
+ void doneCurrent();
+
+ bool doubleBuffer() const;
+ virtual void swapBuffers();
+
+ QGLFormat format() const;
+#ifndef Q_QDOC
+ virtual void setFormat( const QGLFormat&amp; format );
+#endif
+
+ const QGLContext* context() const;
+#ifndef Q_QDOC
+ virtual void setContext( QGLContext* context,
+ const QGLContext* shareContext = 0,
+ bool deleteOldContext = TRUE );
+#endif
+
+ virtual QPixmap renderPixmap( int w = 0, int h = 0,
+ bool useContext = FALSE );
+ virtual QImage grabFrameBuffer( bool withAlpha = FALSE );
+
+ virtual void makeOverlayCurrent();
+ const QGLContext* overlayContext() const;
+
+ static QImage convertToGLFormat( const QImage&amp; img );
+
+ void setMouseTracking( bool enable );
+ virtual void reparent( QWidget* parent, WFlags f, const QPoint&amp; p,
+ bool showIt = FALSE );
+
+ const QGLColormap &amp; colormap() const;
+ void setColormap( const QGLColormap &amp; map );
+
+ void renderText( int x, int y, const QString &amp; str,
+ const QFont &amp; fnt = QFont(), int listBase = 2000 );
+ void renderText( double x, double y, double z, const QString &amp; str,
+ const QFont &amp; fnt = QFont(), int listBase = 2000 );
+public slots:
+ virtual void updateGL();
+ virtual void updateOverlayGL();
+
+protected:
+ virtual void initializeGL();
+ virtual void resizeGL( int w, int h );
+ virtual void paintGL();
+
+ virtual void initializeOverlayGL();
+ virtual void resizeOverlayGL( int w, int h );
+ virtual void paintOverlayGL();
+
+ void setAutoBufferSwap( bool on );
+ bool autoBufferSwap() const;
+
+ void paintEvent( QPaintEvent* );
+ void resizeEvent( QResizeEvent* );
+
+ virtual void glInit();
+ virtual void glDraw();
+
+private:
+ int displayListBase( const QFont &amp; fnt, int listBase );
+ void cleanupColormaps();
+ void init( QGLContext *context, const QGLWidget* shareWidget );
+ bool renderCxPm( QPixmap* pm );
+ QGLContext* glcx;
+ bool autoSwap;
+
+ QGLColormap cmap;
+
+#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
+ QGLContext* olcx;
+#elif defined(Q_WS_X11)
+ QGLOverlayWidget* olw;
+ friend class QGLOverlayWidget;
+#endif
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QGLWidget( const QGLWidget&amp; );
+ QGLWidget&amp; operator=( const QGLWidget&amp; );
+#endif
+
+#if defined(Q_WS_MAC)
+private:
+ const QGLContext *slcx;
+ uint pending_fix : 1,
+ glcx_dblbuf : 2,
+ dblbuf : 1,
+ clp_serial : 15;
+ QPixmap *gl_pix;
+ QGLFormat req_format;
+
+ void macInternalRecreateContext( QGLContext *ctx,
+ const QGLContext* = NULL,
+ bool update = TRUE );
+ bool macInternalDoubleBuffer( bool fix = TRUE );
+ virtual void setRegionDirty( bool );
+ virtual void macWidgetChangedWindow();
+#endif
+private slots:
+ void macInternalFixBufferRect();
+};
+
+
+//
+// QGLFormat inline functions
+//
+
+inline bool QGLFormat::doubleBuffer() const
+{
+ return testOption( DoubleBuffer );
+}
+
+inline bool QGLFormat::depth() const
+{
+ return testOption( DepthBuffer );
+}
+
+inline bool QGLFormat::rgba() const
+{
+ return testOption( Rgba );
+}
+
+inline bool QGLFormat::alpha() const
+{
+ return testOption( AlphaChannel );
+}
+
+inline bool QGLFormat::accum() const
+{
+ return testOption( AccumBuffer );
+}
+
+inline bool QGLFormat::stencil() const
+{
+ return testOption( StencilBuffer );
+}
+
+inline bool QGLFormat::stereo() const
+{
+ return testOption( StereoBuffers );
+}
+
+inline bool QGLFormat::directRendering() const
+{
+ return testOption( DirectRendering );
+}
+
+inline bool QGLFormat::hasOverlay() const
+{
+ return testOption( HasOverlay );
+}
+
+//
+// QGLContext inline functions
+//
+
+inline bool QGLContext::isValid() const
+{
+ return d-&gt;valid;
+}
+
+inline void QGLContext::setValid( bool valid )
+{
+ d-&gt;valid = valid;
+}
+
+inline bool QGLContext::isSharing() const
+{
+ return d-&gt;sharing;
+}
+
+inline QGLFormat QGLContext::format() const
+{
+ return glFormat;
+}
+
+inline QGLFormat QGLContext::requestedFormat() const
+{
+ return reqFormat;
+}
+
+inline QPaintDevice* QGLContext::device() const
+{
+ return d-&gt;paintDevice;
+}
+
+inline bool QGLContext::deviceIsPixmap() const
+{
+ return d-&gt;paintDevice-&gt;devType() == QInternal::Pixmap;
+}
+
+
+inline bool QGLContext::windowCreated() const
+{
+ return d-&gt;crWin;
+}
+
+
+inline void QGLContext::setWindowCreated( bool on )
+{
+ d-&gt;crWin = on;
+}
+
+inline bool QGLContext::initialized() const
+{
+ return d-&gt;initDone;
+}
+
+inline void QGLContext::setInitialized( bool on )
+{
+ d-&gt;initDone = on;
+}
+
+inline const QGLContext* QGLContext::currentContext()
+{
+ return currentCtx;
+}
+
+//
+// QGLWidget inline functions
+//
+
+inline QGLFormat QGLWidget::format() const
+{
+ return glcx-&gt;format();
+}
+
+inline const QGLContext *QGLWidget::context() const
+{
+ return glcx;
+}
+
+inline bool QGLWidget::doubleBuffer() const
+{
+ return glcx-&gt;format().doubleBuffer();
+}
+
+inline void QGLWidget::setAutoBufferSwap( bool on )
+{
+ autoSwap = on;
+}
+
+inline bool QGLWidget::autoBufferSwap() const
+{
+ return autoSwap;
+}
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgl-members.html b/doc/html/qgl-members.html
new file mode 100644
index 0000000..bf9830b
--- /dev/null
+++ b/doc/html/qgl-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgl.h:94 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGL Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGL</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgl.html">QGL</a>, including inherited members.
+
+<ul>
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgl.html b/doc/html/qgl.html
new file mode 100644
index 0000000..3bef20d
--- /dev/null
+++ b/doc/html/qgl.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qgl.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGL Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGL Class Reference<br><small>[<a href="opengl.html">OpenGL module</a>]</small></h1>
+
+<p>The QGL class is a namespace for miscellaneous identifiers
+in the Qt OpenGL module.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgl-h.html">qgl.h</a>&gt;</tt>
+<p>Inherited by <a href="qglformat.html">QGLFormat</a>, <a href="qglcontext.html">QGLContext</a>, and <a href="qglwidget.html">QGLWidget</a>.
+<p><a href="qgl-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#FormatOption-enum"><b>FormatOption</b></a> { DoubleBuffer = 0x0001, DepthBuffer = 0x0002, Rgba = 0x0004, AlphaChannel = 0x0008, AccumBuffer = 0x0010, StencilBuffer = 0x0020, StereoBuffers = 0x0040, DirectRendering = 0x0080, HasOverlay = 0x0100, SingleBuffer = DoubleBuffer&lt;&lt;16, NoDepthBuffer = DepthBuffer&lt;&lt;16, ColorIndex = Rgba&lt;&lt;16, NoAlphaChannel = AlphaChannel&lt;&lt;16, NoAccumBuffer = AccumBuffer&lt;&lt;16, NoStencilBuffer = StencilBuffer&lt;&lt;16, NoStereoBuffers = StereoBuffers&lt;&lt;16, IndirectRendering = DirectRendering&lt;&lt;16, NoOverlay = HasOverlay&lt;&lt;16 }</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGL class is a namespace for miscellaneous identifiers
+in the Qt OpenGL module.
+
+<p>
+
+
+<p> Normally you can ignore this class. <a href="qglwidget.html">QGLWidget</a> and the other
+OpenGL<sup>*</sup> module classes inherit it, so when you make your
+own QGLWidget subclass you can use the identifiers in the QGL
+namespace without qualification.
+<p> However, you may occasionally find yourself in situations where you
+need to refer to these identifiers from outside the QGL namespace's
+scope, e.g. in static functions. In such cases, simply write e.g. <a href="#FormatOption-enum">QGL::DoubleBuffer</a> instead of just <a href="#FormatOption-enum">DoubleBuffer</a>.
+<p> <sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the
+United States and other countries.
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="FormatOption-enum"></a>QGL::FormatOption</h3>
+
+<p> This enum specifies the format options.
+<ul>
+<li><tt>QGL::DoubleBuffer</tt>
+<li><tt>QGL::DepthBuffer</tt>
+<li><tt>QGL::Rgba</tt>
+<li><tt>QGL::AlphaChannel</tt>
+<li><tt>QGL::AccumBuffer</tt>
+<li><tt>QGL::StencilBuffer</tt>
+<li><tt>QGL::StereoBuffers</tt>
+<li><tt>QGL::DirectRendering</tt>
+<li><tt>QGL::HasOverlay</tt>
+<li><tt>QGL::SingleBuffer</tt>
+<li><tt>QGL::NoDepthBuffer</tt>
+<li><tt>QGL::ColorIndex</tt>
+<li><tt>QGL::NoAlphaChannel</tt>
+<li><tt>QGL::NoAccumBuffer</tt>
+<li><tt>QGL::NoStencilBuffer</tt>
+<li><tt>QGL::NoStereoBuffers</tt>
+<li><tt>QGL::IndirectRendering</tt>
+<li><tt>QGL::NoOverlay</tt>
+</ul>
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglayoutiterator-members.html b/doc/html/qglayoutiterator-members.html
new file mode 100644
index 0000000..f4d3d64
--- /dev/null
+++ b/doc/html/qglayoutiterator-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLayoutIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGLayoutIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qglayoutiterator.html">QGLayoutIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qglayoutiterator.html#~QGLayoutIterator">~QGLayoutIterator</a>()
+<li><a href="qglayoutiterator.html#current">current</a>()
+<li><a href="qglayoutiterator.html#next">next</a>()
+<li><a href="qglayoutiterator.html#takeCurrent">takeCurrent</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglayoutiterator.html b/doc/html/qglayoutiterator.html
new file mode 100644
index 0000000..eefc024
--- /dev/null
+++ b/doc/html/qglayoutiterator.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:1521 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLayoutIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGLayoutIterator Class Reference</h1>
+
+<p>The QGLayoutIterator class is an abstract base class of internal layout iterators.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p><a href="qglayoutiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QGLayoutIterator"><b>~QGLayoutIterator</b></a> ()</li>
+<li class=fn>virtual QLayoutItem * <a href="#next"><b>next</b></a> () = 0</li>
+<li class=fn>virtual QLayoutItem * <a href="#current"><b>current</b></a> () = 0</li>
+<li class=fn>virtual QLayoutItem * <a href="#takeCurrent"><b>takeCurrent</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGLayoutIterator class is an abstract base class of internal layout iterators.
+<p>
+
+<p> (This class is <em>not</em> OpenGL related, it just happens to start with
+the letters <a href="qgl.html">QGL</a>...)
+<p> Subclass this class to create a custom layout. The functions that
+must be implemented are <a href="#next">next</a>(), <a href="#current">current</a>(), and <a href="#takeCurrent">takeCurrent</a>().
+<p> The QGLayoutIterator implements the functionality of
+<a href="qlayoutiterator.html">QLayoutIterator</a>. Each subclass of <a href="qlayout.html">QLayout</a> needs a
+QGLayoutIterator subclass.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a> and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="~QGLayoutIterator"></a>QGLayoutIterator::~QGLayoutIterator ()<tt> [virtual]</tt>
+</h3>
+Destroys the iterator
+
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="current"></a>QGLayoutIterator::current ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return the current item, or 0 if
+there is no current item.
+
+<p>Examples: <a href="customlayout-example.html#x1486">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1508">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1464">customlayout/flow.cpp</a>.
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="next"></a>QGLayoutIterator::next ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to move the iterator to the next item
+and return that item, or 0 if there is no next item.
+
+<p>Examples: <a href="customlayout-example.html#x1487">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1509">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1465">customlayout/flow.cpp</a>.
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="takeCurrent"></a>QGLayoutIterator::takeCurrent ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses. The function must remove the current
+item from the layout without deleting it, move the iterator to the
+next item and return the removed item, or 0 if no item was
+removed.
+
+<p>Examples: <a href="customlayout-example.html#x1488">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1510">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1466">customlayout/flow.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglcolormap-h.html b/doc/html/qglcolormap-h.html
new file mode 100644
index 0000000..c5a96f5
--- /dev/null
+++ b/doc/html/qglcolormap-h.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qglcolormap.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qglcolormap.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qglcolormap.h</h1>
+
+<p>This is the verbatim text of the qglcolormap.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qglcolormap.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QGLColormap class
+**
+** Created : 20010326
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the opengl module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGLCOLORMAP_H
+#define QGLCOLORMAP_H
+
+#ifndef QT_H
+#include "qcolor.h"
+#include "qmemarray.h"
+#include "qshared.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_OPENGL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_OPENGL
+#else
+#define QM_EXPORT_OPENGL Q_EXPORT
+#endif
+
+class QWidget;
+class QM_EXPORT_OPENGL QGLColormap
+{
+public:
+ QGLColormap();
+ QGLColormap( const QGLColormap &amp; );
+ ~QGLColormap();
+
+ QGLColormap &amp;operator=( const QGLColormap &amp; );
+
+ bool isEmpty() const;
+ int size() const;
+ void detach();
+
+ void setEntries( int count, const QRgb * colors, int base = 0 );
+ void setEntry( int idx, QRgb color );
+ void setEntry( int idx, const QColor &amp; color );
+ QRgb entryRgb( int idx ) const;
+ QColor entryColor( int idx ) const;
+ int find( QRgb color ) const;
+ int findNearest( QRgb color ) const;
+
+private:
+ class Private : public QShared
+ {
+ public:
+ Private() {
+ cells.resize( 256 ); // ### hardcoded to 256 entries for now
+ cmapHandle = 0;
+ }
+
+ ~Private() {
+ }
+
+ QMemArray&lt;QRgb&gt; cells;
+ Qt::HANDLE cmapHandle;
+ };
+
+ Private * d;
+
+ friend class QGLWidget;
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglcolormap-members.html b/doc/html/qglcolormap-members.html
new file mode 100644
index 0000000..7c44fde
--- /dev/null
+++ b/doc/html/qglcolormap-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qglcolormap.h:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLColormap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGLColormap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qglcolormap.html">QGLColormap</a>, including inherited members.
+
+<ul>
+<li><a href="qglcolormap.html#QGLColormap">QGLColormap</a>()
+<li><a href="qglcolormap.html#~QGLColormap">~QGLColormap</a>()
+<li><a href="qglcolormap.html#detach">detach</a>()
+<li><a href="qglcolormap.html#entryColor">entryColor</a>()
+<li><a href="qglcolormap.html#entryRgb">entryRgb</a>()
+<li><a href="qglcolormap.html#find">find</a>()
+<li><a href="qglcolormap.html#findNearest">findNearest</a>()
+<li><a href="qglcolormap.html#isEmpty">isEmpty</a>()
+<li><a href="qglcolormap.html#operator-eq">operator=</a>()
+<li><a href="qglcolormap.html#setEntries">setEntries</a>()
+<li><a href="qglcolormap.html#setEntry">setEntry</a>()
+<li><a href="qglcolormap.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglcolormap.html b/doc/html/qglcolormap.html
new file mode 100644
index 0000000..e4c6ccb
--- /dev/null
+++ b/doc/html/qglcolormap.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qglcolormap.cpp:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLColormap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGLColormap Class Reference<br><small>[<a href="opengl.html">OpenGL module</a>]</small></h1>
+
+<p>The QGLColormap class is used for installing custom colormaps into
+QGLWidgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qglcolormap-h.html">qglcolormap.h</a>&gt;</tt>
+<p><a href="qglcolormap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGLColormap"><b>QGLColormap</b></a> ()</li>
+<li class=fn><a href="#QGLColormap-2"><b>QGLColormap</b></a> ( const&nbsp;QGLColormap&nbsp;&amp;&nbsp;map )</li>
+<li class=fn><a href="#~QGLColormap"><b>~QGLColormap</b></a> ()</li>
+<li class=fn>QGLColormap &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QGLColormap&nbsp;&amp;&nbsp;map )</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>int <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>void <a href="#setEntries"><b>setEntries</b></a> ( int&nbsp;count, const&nbsp;QRgb&nbsp;*&nbsp;colors, int&nbsp;base = 0 )</li>
+<li class=fn>void <a href="#setEntry"><b>setEntry</b></a> ( int&nbsp;idx, QRgb&nbsp;color )</li>
+<li class=fn>void <a href="#setEntry-2"><b>setEntry</b></a> ( int&nbsp;idx, const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>QRgb <a href="#entryRgb"><b>entryRgb</b></a> ( int&nbsp;idx ) const</li>
+<li class=fn>QColor <a href="#entryColor"><b>entryColor</b></a> ( int&nbsp;idx ) const</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( QRgb&nbsp;color ) const</li>
+<li class=fn>int <a href="#findNearest"><b>findNearest</b></a> ( QRgb&nbsp;color ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGLColormap class is used for installing custom colormaps into
+QGLWidgets.
+
+<p>
+
+
+<p> QGLColormap provides a platform independent way of specifying and
+installing indexed colormaps into QGLWidgets. QGLColormap is
+especially useful when using the <a href="opengl.html">OpenGL</a>
+color-index mode.
+<p> Under X11 you must use an X server that supports either a <tt>PseudoColor</tt> or <tt>DirectColor</tt> visual class. If your X server
+currently only provides a <tt>GrayScale</tt>, <tt>TrueColor</tt>, <tt>StaticColor</tt> or <tt>StaticGray</tt> visual, you will not be able to
+allocate colorcells for writing. If this is the case, try setting
+your X server to 8 bit mode. It should then provide you with at
+least a <tt>PseudoColor</tt> visual. Note that you may experience
+colormap flashing if your X server is running in 8 bit mode.
+<p> Under Windows the size of the colormap is always set to 256
+colors. Note that under Windows you can also install colormaps
+in child widgets.
+<p> This class uses <a href="shclass.html#explicit-sharing">explicit sharing</a> (see <a href="shclass.html">Shared
+ Classes</a>).
+<p> Example of use:
+<pre>
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qglcolormap-h.html">qglcolormap.h</a>&gt;
+
+ int main()
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MySuperGLWidget widget( 0 ); // A QGLWidget in color-index mode
+ QGLColormap colormap;
+
+ // This will fill the colormap with colors ranging from
+ // black to white.
+ for ( int i = 0; i &lt; colormap.<a href="#size">size</a>(); i++ )
+ colormap.<a href="#setEntry">setEntry</a>( i, qRgb( i, i, i ) );
+
+ widget.setColormap( colormap );
+ widget.show();
+ return a.<a href="qapplication.html#exec">exec</a>();
+ }
+ </pre>
+
+<p> <p>See also <a href="qglwidget.html#setColormap">QGLWidget::setColormap</a>(), <a href="qglwidget.html#colormap">QGLWidget::colormap</a>(), <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGLColormap"></a>QGLColormap::QGLColormap ()
+</h3>
+Construct a QGLColormap.
+
+<h3 class=fn><a name="QGLColormap-2"></a>QGLColormap::QGLColormap ( const&nbsp;<a href="qglcolormap.html">QGLColormap</a>&nbsp;&amp;&nbsp;map )
+</h3>
+Construct a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>map</em>.
+
+<h3 class=fn><a name="~QGLColormap"></a>QGLColormap::~QGLColormap ()
+</h3>
+Dereferences the QGLColormap and deletes it if this was the last
+reference to it.
+
+<h3 class=fn>void <a name="detach"></a>QGLColormap::detach ()
+</h3>
+Detaches this QGLColormap from the shared block.
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="entryColor"></a>QGLColormap::entryColor ( int&nbsp;idx ) const
+</h3>
+Returns the QRgb value in the colorcell with index <em>idx</em>.
+
+<h3 class=fn>QRgb <a name="entryRgb"></a>QGLColormap::entryRgb ( int&nbsp;idx ) const
+</h3>
+Returns the QRgb value in the colorcell with index <em>idx</em>.
+
+<h3 class=fn>int <a name="find"></a>QGLColormap::find ( QRgb&nbsp;color ) const
+</h3>
+Returns the index of the color <em>color</em>. If <em>color</em> is not in the
+map, -1 is returned.
+
+<h3 class=fn>int <a name="findNearest"></a>QGLColormap::findNearest ( QRgb&nbsp;color ) const
+</h3>
+Returns the index of the color that is the closest match to color
+<em>color</em>.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QGLColormap::isEmpty () const
+</h3>
+Returns TRUE if the colormap is empty; otherwise returns FALSE. A
+colormap with no color values set is considered to be empty.
+
+<h3 class=fn><a href="qglcolormap.html">QGLColormap</a>&nbsp;&amp; <a name="operator-eq"></a>QGLColormap::operator= ( const&nbsp;<a href="qglcolormap.html">QGLColormap</a>&nbsp;&amp;&nbsp;map )
+</h3>
+Assign a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>map</em> to this QGLColormap.
+
+<h3 class=fn>void <a name="setEntries"></a>QGLColormap::setEntries ( int&nbsp;count, const&nbsp;QRgb&nbsp;*&nbsp;colors, int&nbsp;base = 0 )
+</h3>
+Set an array of cells in this colormap. <em>count</em> is the number of
+colors that should be set, <em>colors</em> is the array of colors, and
+<em>base</em> is the starting index.
+
+<h3 class=fn>void <a name="setEntry"></a>QGLColormap::setEntry ( int&nbsp;idx, QRgb&nbsp;color )
+</h3>
+Set cell at index <em>idx</em> in the colormap to color <em>color</em>.
+
+<h3 class=fn>void <a name="setEntry-2"></a>QGLColormap::setEntry ( int&nbsp;idx, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Set the cell with index <em>idx</em> in the colormap to color <em>color</em>.
+
+<h3 class=fn>int <a name="size"></a>QGLColormap::size () const
+</h3>
+Returns the number of colorcells in the colormap.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglcontext-members.html b/doc/html/qglcontext-members.html
new file mode 100644
index 0000000..a3ce3ad
--- /dev/null
+++ b/doc/html/qglcontext-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgl.h:173 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLContext Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGLContext</h1>
+
+<p>This is the complete list of member functions for
+<a href="qglcontext.html">QGLContext</a>, including inherited members.
+
+<ul>
+<li><a href="qglcontext.html#QGLContext">QGLContext</a>()
+<li><a href="qglcontext.html#~QGLContext">~QGLContext</a>()
+<li><a href="qglcontext.html#chooseContext">chooseContext</a>()
+<li><a href="qglcontext.html#chooseMacVisual">chooseMacVisual</a>()
+<li><a href="qglcontext.html#choosePixelFormat">choosePixelFormat</a>()
+<li><a href="qglcontext.html#chooseVisual">chooseVisual</a>()
+<li><a href="qglcontext.html#create">create</a>()
+<li><a href="qglcontext.html#currentContext">currentContext</a>()
+<li><a href="qglcontext.html#device">device</a>()
+<li><a href="qglcontext.html#deviceIsPixmap">deviceIsPixmap</a>()
+<li><a href="qglcontext.html#doneCurrent">doneCurrent</a>()
+<li><a href="qglcontext.html#format">format</a>()
+<li><a href="qglcontext.html#generateFontDisplayLists">generateFontDisplayLists</a>()
+<li><a href="qglcontext.html#initialized">initialized</a>()
+<li><a href="qglcontext.html#isSharing">isSharing</a>()
+<li><a href="qglcontext.html#isValid">isValid</a>()
+<li><a href="qglcontext.html#makeCurrent">makeCurrent</a>()
+<li><a href="qglcontext.html#overlayTransparentColor">overlayTransparentColor</a>()
+<li><a href="qglcontext.html#requestedFormat">requestedFormat</a>()
+<li><a href="qglcontext.html#reset">reset</a>()
+<li><a href="qglcontext.html#setFormat">setFormat</a>()
+<li><a href="qglcontext.html#setInitialized">setInitialized</a>()
+<li><a href="qglcontext.html#setWindowCreated">setWindowCreated</a>()
+<li><a href="qglcontext.html#swapBuffers">swapBuffers</a>()
+<li><a href="qglcontext.html#windowCreated">windowCreated</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglcontext.html b/doc/html/qglcontext.html
new file mode 100644
index 0000000..4544861
--- /dev/null
+++ b/doc/html/qglcontext.html
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qgl.cpp:733 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLContext Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGLContext Class Reference<br><small>[<a href="opengl.html">OpenGL module</a>]</small></h1>
+
+<p>The QGLContext class encapsulates an OpenGL rendering context.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgl-h.html">qgl.h</a>&gt;</tt>
+<p>Inherits <a href="qgl.html">QGL</a>.
+<p><a href="qglcontext-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGLContext"><b>QGLContext</b></a> ( const&nbsp;QGLFormat&nbsp;&amp;&nbsp;format, QPaintDevice&nbsp;*&nbsp;device )</li>
+<li class=fn>virtual <a href="#~QGLContext"><b>~QGLContext</b></a> ()</li>
+<li class=fn>virtual bool <a href="#create"><b>create</b></a> ( const&nbsp;QGLContext&nbsp;*&nbsp;shareContext = 0 )</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isSharing"><b>isSharing</b></a> () const</li>
+<li class=fn>virtual void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>QGLFormat <a href="#format"><b>format</b></a> () const</li>
+<li class=fn>QGLFormat <a href="#requestedFormat"><b>requestedFormat</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFormat"><b>setFormat</b></a> ( const&nbsp;QGLFormat&nbsp;&amp;&nbsp;format )</li>
+<li class=fn>virtual void <a href="#makeCurrent"><b>makeCurrent</b></a> ()</li>
+<li class=fn>virtual void <a href="#swapBuffers"><b>swapBuffers</b></a> () const</li>
+<li class=fn>QPaintDevice * <a href="#device"><b>device</b></a> () const</li>
+<li class=fn>QColor <a href="#overlayTransparentColor"><b>overlayTransparentColor</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>const QGLContext * <a href="#currentContext"><b>currentContext</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#chooseContext"><b>chooseContext</b></a> ( const&nbsp;QGLContext&nbsp;*&nbsp;shareContext = 0 )</li>
+<li class=fn>virtual void <a href="#doneCurrent"><b>doneCurrent</b></a> ()</li>
+<li class=fn>virtual int <a href="#choosePixelFormat"><b>choosePixelFormat</b></a> ( void&nbsp;*&nbsp;dummyPfd, HDC&nbsp;pdc )</li>
+<li class=fn>virtual void * <a href="#chooseVisual"><b>chooseVisual</b></a> ()</li>
+<li class=fn>virtual void * <a href="#chooseMacVisual"><b>chooseMacVisual</b></a> ( GDHandle&nbsp;device )</li>
+<li class=fn>bool <a href="#deviceIsPixmap"><b>deviceIsPixmap</b></a> () const</li>
+<li class=fn>bool <a href="#windowCreated"><b>windowCreated</b></a> () const</li>
+<li class=fn>void <a href="#setWindowCreated"><b>setWindowCreated</b></a> ( bool&nbsp;on )</li>
+<li class=fn>bool <a href="#initialized"><b>initialized</b></a> () const</li>
+<li class=fn>void <a href="#setInitialized"><b>setInitialized</b></a> ( bool&nbsp;on )</li>
+<li class=fn>void <a href="#generateFontDisplayLists"><b>generateFontDisplayLists</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font, int&nbsp;listBase )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGLContext class encapsulates an OpenGL rendering context.
+
+<p>
+
+
+<p> An OpenGL<sup>*</sup> rendering context is a complete set of
+OpenGL state variables.
+<p> The context's <a href="qgl.html#FormatOption-enum">format</a> is set in the
+constructor or later with <a href="#setFormat">setFormat</a>(). The format options that are
+actually set are returned by <a href="#format">format</a>(); the options you asked for
+are returned by <a href="#requestedFormat">requestedFormat</a>(). Note that after a QGLContext
+object has been constructed, the actual OpenGL context must be
+created by explicitly calling the <a href="#create">create()</a>
+function. The <a href="#makeCurrent">makeCurrent</a>() function makes this context the
+current rendering context. You can make <em>no</em> context current
+using <a href="#doneCurrent">doneCurrent</a>(). The <a href="#reset">reset</a>() function will reset the context
+and make it invalid.
+<p> You can examine properties of the context with, e.g. <a href="#isValid">isValid</a>(),
+<a href="#isSharing">isSharing</a>(), <a href="#initialized">initialized</a>(), <a href="#windowCreated">windowCreated</a>() and
+<a href="#overlayTransparentColor">overlayTransparentColor</a>().
+<p> If you're using double buffering you can swap the screen contents
+with the off-screen buffer using <a href="#swapBuffers">swapBuffers</a>().
+<p> Please note that QGLContext is not thread safe.
+<p> <sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the
+United States and other countries.
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGLContext"></a>QGLContext::QGLContext ( const&nbsp;<a href="qglformat.html">QGLFormat</a>&nbsp;&amp;&nbsp;format, <a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;device )
+</h3>
+Constructs an OpenGL context for the paint device <em>device</em>, which
+can be a widget or a pixmap. The <em>format</em> specifies several
+display options for the context.
+<p> If the underlying OpenGL/Window system cannot satisfy all the
+features requested in <em>format</em>, the nearest subset of features
+will be used. After creation, the <a href="#format">format</a>() method will return the
+actual format obtained.
+<p> Note that after a QGLContext object has been constructed, <a href="#create">create()</a> must be called explicitly to create
+the actual OpenGL context. The context will be <a href="#isValid">invalid</a> if it was not possible to obtain a GL context at
+all.
+<p> <p>See also <a href="#format">format</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="~QGLContext"></a>QGLContext::~QGLContext ()<tt> [virtual]</tt>
+</h3>
+Destroys the OpenGL context and frees its resources.
+
+<h3 class=fn>bool <a name="chooseContext"></a>QGLContext::chooseContext ( const&nbsp;<a href="qglcontext.html">QGLContext</a>&nbsp;*&nbsp;shareContext = 0 )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This semi-internal function is called by <a href="#create">create</a>(). It creates a
+system-dependent OpenGL handle that matches the <a href="#format">format</a>() of <em>shareContext</em> as closely as possible.
+<p> On Windows, it calls the virtual function <a href="#choosePixelFormat">choosePixelFormat</a>(),
+which finds a matching pixel format identifier. On X11, it calls
+the virtual function <a href="#chooseVisual">chooseVisual</a>() which finds an appropriate X
+visual. On other platforms it may work differently.
+
+<h3 class=fn>void * <a name="chooseMacVisual"></a>QGLContext::chooseMacVisual ( GDHandle&nbsp;device )<tt> [virtual protected]</tt>
+</h3>
+
+<p> <strong>Mac only</strong>: This virtual function tries to find a
+visual that matches the format using the given <em>device</em> handle,
+reducing the demands if the original request cannot be met.
+<p> The algorithm for reducing the demands of the format is quite
+simple-minded, so override this method in your subclass if your
+application has specific requirements on visual selection.
+<p> <p>See also <a href="#chooseContext">chooseContext</a>().
+
+<h3 class=fn>int <a name="choosePixelFormat"></a>QGLContext::choosePixelFormat ( void&nbsp;*&nbsp;dummyPfd, HDC&nbsp;pdc )<tt> [virtual protected]</tt>
+</h3>
+<strong>Win32 only</strong> This virtual function chooses a pixel
+format that matches the OpenGL <a href="#setFormat">format</a>.
+Reimplement this function in a subclass if you need a custom
+context.
+<p> <b>Warning:</b> The <em>dummyPfd</em> pointer and <em>pdc</em> are used as a <tt>PIXELFORMATDESCRIPTOR*</tt>. We use <tt>void</tt> to avoid using
+Windows-specific types in our header files.
+<p> <p>See also <a href="#chooseContext">chooseContext</a>().
+
+<h3 class=fn>void * <a name="chooseVisual"></a>QGLContext::chooseVisual ()<tt> [virtual protected]</tt>
+</h3>
+<strong>X11 only</strong>: This virtual function tries to find a
+visual that matches the format, reducing the demands if the original
+request cannot be met.
+<p> The algorithm for reducing the demands of the format is quite
+simple-minded, so override this method in your subclass if your
+application has spcific requirements on visual selection.
+<p> <p>See also <a href="#chooseContext">chooseContext</a>().
+
+<h3 class=fn>bool <a name="create"></a>QGLContext::create ( const&nbsp;<a href="qglcontext.html">QGLContext</a>&nbsp;*&nbsp;shareContext = 0 )<tt> [virtual]</tt>
+</h3>
+Creates the GL context. Returns TRUE if it was successful in
+creating a valid GL rendering context on the paint device
+specified in the constructor; otherwise returns FALSE (i.e. the
+context is invalid).
+<p> After successful creation, <a href="#format">format</a>() returns the set of features of
+the created GL rendering context.
+<p> If <em>shareContext</em> points to a valid QGLContext, this method will
+try to establish OpenGL display list sharing between this context
+and the <em>shareContext</em>. Note that this may fail if the two
+contexts have different formats. Use <a href="#isSharing">isSharing</a>() to see if sharing
+succeeded.
+<p> <b>Warning:</b> Implementation note: initialization of C++ class
+members usually takes place in the class constructor. QGLContext
+is an exception because it must be simple to customize. The
+virtual functions <a href="#chooseContext">chooseContext</a>() (and <a href="#chooseVisual">chooseVisual</a>() for X11) can
+be reimplemented in a subclass to select a particular context. The
+problem is that virtual functions are not properly called during
+construction (even though this is correct C++) because C++
+constructs class hierarchies from the bottom up. For this reason
+we need a <a href="#create">create</a>() function.
+<p> <p>See also <a href="#chooseContext">chooseContext</a>(), <a href="#format">format</a>(), and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>const&nbsp;<a href="qglcontext.html">QGLContext</a>&nbsp;* <a name="currentContext"></a>QGLContext::currentContext ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the current context, i.e. the context to which any OpenGL
+commands will currently be directed. Returns 0 if no context is
+current.
+<p> <p>See also <a href="#makeCurrent">makeCurrent</a>().
+
+<h3 class=fn><a href="qpaintdevice.html">QPaintDevice</a>&nbsp;* <a name="device"></a>QGLContext::device () const
+</h3>
+
+<p> Returns the paint device set for this context.
+<p> <p>See also <a href="#QGLContext">QGLContext::QGLContext</a>().
+
+<h3 class=fn>bool <a name="deviceIsPixmap"></a>QGLContext::deviceIsPixmap () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns TRUE if the paint device of this context is a pixmap;
+otherwise returns FALSE.
+
+<h3 class=fn>void <a name="doneCurrent"></a>QGLContext::doneCurrent ()<tt> [virtual protected]</tt>
+</h3>
+
+<p> Makes no GL context the current context. Normally, you do not need
+to call this function; QGLContext calls it as necessary.
+
+<h3 class=fn><a href="qglformat.html">QGLFormat</a> <a name="format"></a>QGLContext::format () const
+</h3>
+
+<p> Returns the frame buffer format that was obtained (this may be a
+subset of what was requested).
+<p> <p>See also <a href="#requestedFormat">requestedFormat</a>().
+
+<h3 class=fn>void <a name="generateFontDisplayLists"></a>QGLContext::generateFontDisplayLists ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, int&nbsp;listBase )<tt> [protected]</tt>
+</h3>
+
+<p> Generates a set of 256 display lists for the 256 first characters
+in the font <em>font</em>. The first list will start at index <em>listBase</em>.
+<p> <p>See also <a href="qglwidget.html#renderText">QGLWidget::renderText</a>().
+
+<h3 class=fn>bool <a name="initialized"></a>QGLContext::initialized () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns TRUE if this context has been initialized, i.e. if
+<a href="qglwidget.html#initializeGL">QGLWidget::initializeGL</a>() has been performed on it; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setInitialized">setInitialized</a>().
+
+<h3 class=fn>bool <a name="isSharing"></a>QGLContext::isSharing () const
+</h3>
+
+<p> Returns TRUE if display list sharing with another context was
+requested in the <a href="#create">create</a>() call and the GL system was able to
+fulfill this request; otherwise returns FALSE. Note that display
+list sharing might not be supported between contexts with
+different formats.
+
+<h3 class=fn>bool <a name="isValid"></a>QGLContext::isValid () const
+</h3>
+
+<p> Returns TRUE if a GL rendering context has been successfully
+created; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="makeCurrent"></a>QGLContext::makeCurrent ()<tt> [virtual]</tt>
+</h3>
+
+<p> Makes this context the current OpenGL rendering context. All GL
+functions you call operate on this context until another context
+is made current.
+<p> In some very rare cases the underlying call may fail. If this
+occurs an error message is output to stderr.
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="overlayTransparentColor"></a>QGLContext::overlayTransparentColor () const
+</h3>
+
+<p> If this context is a valid context in an overlay plane, returns
+the plane's transparent color. Otherwise returns an <a href="qcolor.html#isValid">invalid</a> color.
+<p> The returned color's <a href="qcolor.html#pixel">pixel</a> value is
+the index of the transparent color in the colormap of the overlay
+plane. (Naturally, the color's RGB values are meaningless.)
+<p> The returned <a href="qcolor.html">QColor</a> object will generally work as expected only
+when passed as the argument to <a href="qglwidget.html#qglColor">QGLWidget::qglColor</a>() or
+<a href="qglwidget.html#qglClearColor">QGLWidget::qglClearColor</a>(). Under certain circumstances it can
+also be used to draw transparent graphics with a <a href="qpainter.html">QPainter</a>. See the
+examples/opengl/overlay_x11 example for details.
+
+<h3 class=fn><a href="qglformat.html">QGLFormat</a> <a name="requestedFormat"></a>QGLContext::requestedFormat () const
+</h3>
+
+<p> Returns the frame buffer format that was originally requested in
+the constructor or <a href="#setFormat">setFormat</a>().
+<p> <p>See also <a href="#format">format</a>().
+
+<h3 class=fn>void <a name="reset"></a>QGLContext::reset ()<tt> [virtual]</tt>
+</h3>
+
+<p> Resets the context and makes it invalid.
+<p> <p>See also <a href="#create">create</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setFormat"></a>QGLContext::setFormat ( const&nbsp;<a href="qglformat.html">QGLFormat</a>&nbsp;&amp;&nbsp;format )<tt> [virtual]</tt>
+</h3>
+Sets a <em>format</em> for this context. The context is <a href="#reset">reset</a>.
+<p> Call <a href="#create">create</a>() to create a new GL context that tries to match the
+new format.
+<p> <pre>
+ QGLContext *cx;
+ // ...
+ <a href="qglformat.html">QGLFormat</a> f;
+ f.<a href="qglformat.html#setStereo">setStereo</a>( TRUE );
+ cx-&gt;<a href="#setFormat">setFormat</a>( f );
+ if ( !cx-&gt;<a href="#create">create</a>() )
+ exit(); // no OpenGL support, or cannot render on the specified paintdevice
+ if ( !cx-&gt;<a href="#format">format</a>().stereo() )
+ exit(); // could not create stereo context
+ </pre>
+
+<p> <p>See also <a href="#format">format</a>(), <a href="#reset">reset</a>(), and <a href="#create">create</a>().
+
+<h3 class=fn>void <a name="setInitialized"></a>QGLContext::setInitialized ( bool&nbsp;on )<tt> [protected]</tt>
+</h3>
+
+<p> If <em>on</em> is TRUE the context has been initialized, i.e.
+<a href="#setInitialized">QGLContext::setInitialized</a>() has been called on it. If <em>on</em> is
+FALSE the context has not been initialized.
+<p> <p>See also <a href="#initialized">initialized</a>().
+
+<h3 class=fn>void <a name="setWindowCreated"></a>QGLContext::setWindowCreated ( bool&nbsp;on )<tt> [protected]</tt>
+</h3>
+
+<p> If <em>on</em> is TRUE the context has had a window created for it. If
+<em>on</em> is FALSE no window has been created for the context.
+<p> <p>See also <a href="#windowCreated">windowCreated</a>().
+
+<h3 class=fn>void <a name="swapBuffers"></a>QGLContext::swapBuffers () const<tt> [virtual]</tt>
+</h3>
+
+<p> Swaps the screen contents with an off-screen buffer. Only works if
+the context is in double buffer mode.
+<p> <p>See also <a href="qglformat.html#setDoubleBuffer">QGLFormat::setDoubleBuffer</a>().
+
+<h3 class=fn>bool <a name="windowCreated"></a>QGLContext::windowCreated () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns TRUE if a window has been created for this context;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setWindowCreated">setWindowCreated</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglformat-members.html b/doc/html/qglformat-members.html
new file mode 100644
index 0000000..1adcf0f
--- /dev/null
+++ b/doc/html/qglformat-members.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgl.h:120 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLFormat Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGLFormat</h1>
+
+<p>This is the complete list of member functions for
+<a href="qglformat.html">QGLFormat</a>, including inherited members.
+
+<ul>
+<li><a href="qglformat.html#QGLFormat">QGLFormat</a>()
+<li><a href="qglformat.html#accum">accum</a>()
+<li><a href="qglformat.html#alpha">alpha</a>()
+<li><a href="qglformat.html#defaultFormat">defaultFormat</a>()
+<li><a href="qglformat.html#defaultOverlayFormat">defaultOverlayFormat</a>()
+<li><a href="qglformat.html#depth">depth</a>()
+<li><a href="qglformat.html#directRendering">directRendering</a>()
+<li><a href="qglformat.html#doubleBuffer">doubleBuffer</a>()
+<li><a href="qglformat.html#hasOpenGL">hasOpenGL</a>()
+<li><a href="qglformat.html#hasOpenGLOverlays">hasOpenGLOverlays</a>()
+<li><a href="qglformat.html#hasOverlay">hasOverlay</a>()
+<li><a href="qglformat.html#plane">plane</a>()
+<li><a href="qglformat.html#rgba">rgba</a>()
+<li><a href="qglformat.html#setAccum">setAccum</a>()
+<li><a href="qglformat.html#setAlpha">setAlpha</a>()
+<li><a href="qglformat.html#setDefaultFormat">setDefaultFormat</a>()
+<li><a href="qglformat.html#setDefaultOverlayFormat">setDefaultOverlayFormat</a>()
+<li><a href="qglformat.html#setDepth">setDepth</a>()
+<li><a href="qglformat.html#setDirectRendering">setDirectRendering</a>()
+<li><a href="qglformat.html#setDoubleBuffer">setDoubleBuffer</a>()
+<li><a href="qglformat.html#setOption">setOption</a>()
+<li><a href="qglformat.html#setOverlay">setOverlay</a>()
+<li><a href="qglformat.html#setPlane">setPlane</a>()
+<li><a href="qglformat.html#setRgba">setRgba</a>()
+<li><a href="qglformat.html#setStencil">setStencil</a>()
+<li><a href="qglformat.html#setStereo">setStereo</a>()
+<li><a href="qglformat.html#stencil">stencil</a>()
+<li><a href="qglformat.html#stereo">stereo</a>()
+<li><a href="qglformat.html#testOption">testOption</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglformat.html b/doc/html/qglformat.html
new file mode 100644
index 0000000..e4967ef
--- /dev/null
+++ b/doc/html/qglformat.html
@@ -0,0 +1,474 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qgl.cpp:95 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLFormat Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGLFormat Class Reference<br><small>[<a href="opengl.html">OpenGL module</a>]</small></h1>
+
+<p>The QGLFormat class specifies the display format of an OpenGL
+rendering context.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgl-h.html">qgl.h</a>&gt;</tt>
+<p>Inherits <a href="qgl.html">QGL</a>.
+<p><a href="qglformat-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGLFormat"><b>QGLFormat</b></a> ()</li>
+<li class=fn><a href="#QGLFormat-2"><b>QGLFormat</b></a> ( int&nbsp;options, int&nbsp;plane = 0 )</li>
+<li class=fn>bool <a href="#doubleBuffer"><b>doubleBuffer</b></a> () const</li>
+<li class=fn>void <a href="#setDoubleBuffer"><b>setDoubleBuffer</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>void <a href="#setDepth"><b>setDepth</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#rgba"><b>rgba</b></a> () const</li>
+<li class=fn>void <a href="#setRgba"><b>setRgba</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#alpha"><b>alpha</b></a> () const</li>
+<li class=fn>void <a href="#setAlpha"><b>setAlpha</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#accum"><b>accum</b></a> () const</li>
+<li class=fn>void <a href="#setAccum"><b>setAccum</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#stencil"><b>stencil</b></a> () const</li>
+<li class=fn>void <a href="#setStencil"><b>setStencil</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#stereo"><b>stereo</b></a> () const</li>
+<li class=fn>void <a href="#setStereo"><b>setStereo</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#directRendering"><b>directRendering</b></a> () const</li>
+<li class=fn>void <a href="#setDirectRendering"><b>setDirectRendering</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#hasOverlay"><b>hasOverlay</b></a> () const</li>
+<li class=fn>void <a href="#setOverlay"><b>setOverlay</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>int <a href="#plane"><b>plane</b></a> () const</li>
+<li class=fn>void <a href="#setPlane"><b>setPlane</b></a> ( int&nbsp;plane )</li>
+<li class=fn>void <a href="#setOption"><b>setOption</b></a> ( FormatOption&nbsp;opt )</li>
+<li class=fn>bool <a href="#testOption"><b>testOption</b></a> ( FormatOption&nbsp;opt ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QGLFormat <a href="#defaultFormat"><b>defaultFormat</b></a> ()</li>
+<li class=fn>void <a href="#setDefaultFormat"><b>setDefaultFormat</b></a> ( const&nbsp;QGLFormat&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QGLFormat <a href="#defaultOverlayFormat"><b>defaultOverlayFormat</b></a> ()</li>
+<li class=fn>void <a href="#setDefaultOverlayFormat"><b>setDefaultOverlayFormat</b></a> ( const&nbsp;QGLFormat&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>bool <a href="#hasOpenGL"><b>hasOpenGL</b></a> ()</li>
+<li class=fn>bool <a href="#hasOpenGLOverlays"><b>hasOpenGLOverlays</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGLFormat class specifies the display format of an OpenGL
+rendering context.
+
+<p>
+
+
+<p> A display format has several characteristics:
+<ul>
+<li> <a href="#setDoubleBuffer">Double or single buffering.</a>
+<li> <a href="#setDepth">Depth buffer.</a>
+<li> <a href="#setRgba">RGBA or color index mode.</a>
+<li> <a href="#setAlpha">Alpha channel.</a>
+<li> <a href="#setAccum">Accumulation buffer.</a>
+<li> <a href="#setStencil">Stencil buffer.</a>
+<li> <a href="#setStereo">Stereo buffers.</a>
+<li> <a href="#setDirectRendering">Direct rendering.</a>
+<li> <a href="#setOverlay">Presence of an overlay.</a>
+<li> <a href="#setPlane">The plane of an overlay format.</a>
+</ul>
+<p> You create and tell a QGLFormat object what rendering options you
+want from an OpenGL<sup>*</sup> rendering context.
+<p> OpenGL drivers or accelerated hardware may or may not support
+advanced features such as alpha channel or stereographic viewing.
+If you request some features that the driver/hardware does not
+provide when you create a <a href="qglwidget.html">QGLWidget</a>, you will get a rendering
+context with the nearest subset of features.
+<p> There are different ways to define the display characteristics of
+a rendering context. One is to create a QGLFormat and make it the
+default for the entire application:
+<pre>
+ QGLFormat f;
+ f.<a href="#setAlpha">setAlpha</a>( TRUE );
+ f.<a href="#setStereo">setStereo</a>( TRUE );
+ QGLFormat::<a href="#setDefaultFormat">setDefaultFormat</a>( f );
+ </pre>
+
+<p> Or you can specify the desired format when creating an object of
+your QGLWidget subclass:
+<pre>
+ QGLFormat f;
+ f.<a href="#setDoubleBuffer">setDoubleBuffer</a>( FALSE ); // single buffer
+ f.<a href="#setDirectRendering">setDirectRendering</a>( FALSE ); // software rendering
+ MyGLWidget* myWidget = new MyGLWidget( f, ... );
+ </pre>
+
+<p> After the widget has been created, you can find out which of the
+requested features the system was able to provide:
+<pre>
+ QGLFormat f;
+ f.<a href="#setOverlay">setOverlay</a>( TRUE );
+ f.<a href="#setStereo">setStereo</a>( TRUE );
+ MyGLWidget* myWidget = new MyGLWidget( f, ... );
+ if ( !w-&gt;format().stereo() ) {
+ // ok, goggles off
+ if ( !w-&gt;format().hasOverlay() ) {
+ <a href="qapplication.html#qFatal">qFatal</a>( "Cool hardware required" );
+ }
+ }
+ </pre>
+
+<p> <sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the
+United States and other countries.
+<p> <p>See also <a href="qglcontext.html">QGLContext</a>, <a href="qglwidget.html">QGLWidget</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGLFormat"></a>QGLFormat::QGLFormat ()
+</h3>
+Constructs a QGLFormat object with the factory default settings:
+<ul>
+<li> <a href="#setDoubleBuffer">Double buffer:</a> Enabled.
+<li> <a href="#setDepth">Depth buffer:</a> Enabled.
+<li> <a href="#setRgba">RGBA:</a> Enabled (i.e., color index disabled).
+<li> <a href="#setAlpha">Alpha channel:</a> Disabled.
+<li> <a href="#setAccum">Accumulator buffer:</a> Disabled.
+<li> <a href="#setStencil">Stencil buffer:</a> Disabled.
+<li> <a href="#setStereo">Stereo:</a> Disabled.
+<li> <a href="#setDirectRendering">Direct rendering:</a> Enabled.
+<li> <a href="#setOverlay">Overlay:</a> Disabled.
+<li> <a href="#setPlane">Plane:</a> 0 (i.e., normal plane).
+</ul>
+
+<h3 class=fn><a name="QGLFormat-2"></a>QGLFormat::QGLFormat ( int&nbsp;options, int&nbsp;plane = 0 )
+</h3>
+Creates a QGLFormat object that is a copy of the current <a href="#defaultFormat">application default format</a>.
+<p> If <em>options</em> is not 0, this copy is modified by these format
+options. The <em>options</em> parameter should be <a href="qgl.html#FormatOption-enum">FormatOption</a> values
+OR'ed together.
+<p> This constructor makes it easy to specify a certain desired format
+in classes derived from <a href="qglwidget.html">QGLWidget</a>, for example:
+<pre>
+ // The rendering in MyGLWidget depends on using
+ // stencil buffer and alpha channel
+ MyGLWidget::MyGLWidget( <a href="qwidget.html">QWidget</a>* parent, const char* name )
+ : <a href="qglwidget.html">QGLWidget</a>( <a href="#QGLFormat">QGLFormat</a>( StencilBuffer | AlphaChannel ), parent, name )
+ {
+ if ( !format().stencil() )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Could not get stencil buffer; results will be suboptimal" );
+ if ( !format().alphaChannel() )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Could not get alpha channel; results will be suboptimal" );
+ ...
+ }
+ </pre>
+
+<p> Note that there are <a href="qgl.html#FormatOption-enum">FormatOption</a> values to turn format settings
+both on and off, e.g. <a href="qgl.html#FormatOption-enum">DepthBuffer</a> and <a href="qgl.html#FormatOption-enum">NoDepthBuffer</a>,
+<a href="qgl.html#FormatOption-enum">DirectRendering</a> and <a href="qgl.html#FormatOption-enum">IndirectRendering</a>, etc.
+<p> The <em>plane</em> parameter defaults to 0 and is the plane which this
+format should be associated with. Not all OpenGL implmentations
+supports overlay/underlay rendering planes.
+<p> <p>See also <a href="#defaultFormat">defaultFormat</a>() and <a href="#setOption">setOption</a>().
+
+<h3 class=fn>bool <a name="accum"></a>QGLFormat::accum () const
+</h3>
+
+<p> Returns TRUE if the accumulation buffer is enabled; otherwise
+returns FALSE. The accumulation buffer is disabled by default.
+<p> <p>See also <a href="#setAccum">setAccum</a>().
+
+<h3 class=fn>bool <a name="alpha"></a>QGLFormat::alpha () const
+</h3>
+
+<p> Returns TRUE if the alpha channel of the framebuffer is enabled;
+otherwise returns FALSE. The alpha channel is disabled by default.
+<p> <p>See also <a href="#setAlpha">setAlpha</a>().
+
+<h3 class=fn><a href="qglformat.html">QGLFormat</a> <a name="defaultFormat"></a>QGLFormat::defaultFormat ()<tt> [static]</tt>
+</h3>
+Returns the default QGLFormat for the application. All QGLWidgets
+that are created use this format unless another format is
+specified, e.g. when they are constructed.
+<p> If no special default format has been set using
+<a href="#setDefaultFormat">setDefaultFormat</a>(), the default format is the same as that created
+with QGLFormat().
+<p> <p>See also <a href="#setDefaultFormat">setDefaultFormat</a>().
+
+<h3 class=fn><a href="qglformat.html">QGLFormat</a> <a name="defaultOverlayFormat"></a>QGLFormat::defaultOverlayFormat ()<tt> [static]</tt>
+</h3>
+Returns the default QGLFormat for overlay contexts.
+<p> The factory default overlay format is:
+<ul>
+<li> <a href="#setDoubleBuffer">Double buffer:</a> Disabled.
+<li> <a href="#setDepth">Depth buffer:</a> Disabled.
+<li> <a href="#setRgba">RGBA:</a> Disabled (i.e., color index enabled).
+<li> <a href="#setAlpha">Alpha channel:</a> Disabled.
+<li> <a href="#setAccum">Accumulator buffer:</a> Disabled.
+<li> <a href="#setStencil">Stencil buffer:</a> Disabled.
+<li> <a href="#setStereo">Stereo:</a> Disabled.
+<li> <a href="#setDirectRendering">Direct rendering:</a> Enabled.
+<li> <a href="#setOverlay">Overlay:</a> Disabled.
+<li> <a href="#setPlane">Plane:</a> 1 (i.e., first overlay plane).
+</ul>
+<p> <p>See also <a href="#setDefaultFormat">setDefaultFormat</a>().
+
+<h3 class=fn>bool <a name="depth"></a>QGLFormat::depth () const
+</h3>
+
+<p> Returns TRUE if the depth buffer is enabled; otherwise returns
+FALSE. The depth buffer is enabled by default.
+<p> <p>See also <a href="#setDepth">setDepth</a>().
+
+<h3 class=fn>bool <a name="directRendering"></a>QGLFormat::directRendering () const
+</h3>
+
+<p> Returns TRUE if direct rendering is enabled; otherwise returns
+FALSE.
+<p> Direct rendering is enabled by default.
+<p> <p>See also <a href="#setDirectRendering">setDirectRendering</a>().
+
+<h3 class=fn>bool <a name="doubleBuffer"></a>QGLFormat::doubleBuffer () const
+</h3>
+
+<p> Returns TRUE if double buffering is enabled; otherwise returns
+FALSE. Double buffering is enabled by default.
+<p> <p>See also <a href="#setDoubleBuffer">setDoubleBuffer</a>().
+
+<h3 class=fn>bool <a name="hasOpenGL"></a>QGLFormat::hasOpenGL ()<tt> [static]</tt>
+</h3>
+
+<p> Returns TRUE if the window system has any OpenGL support;
+otherwise returns FALSE.
+<p> <b>Warning:</b> This function must not be called until the <a href="qapplication.html">QApplication</a>
+object has been created.
+
+<h3 class=fn>bool <a name="hasOpenGLOverlays"></a>QGLFormat::hasOpenGLOverlays ()<tt> [static]</tt>
+</h3>
+
+<p> Returns TRUE if the window system supports OpenGL overlays;
+otherwise returns FALSE.
+<p> <b>Warning:</b> This function must not be called until the <a href="qapplication.html">QApplication</a>
+object has been created.
+
+<h3 class=fn>bool <a name="hasOverlay"></a>QGLFormat::hasOverlay () const
+</h3>
+
+<p> Returns TRUE if overlay plane is enabled; otherwise returns FALSE.
+<p> Overlay is disabled by default.
+<p> <p>See also <a href="#setOverlay">setOverlay</a>().
+
+<h3 class=fn>int <a name="plane"></a>QGLFormat::plane () const
+</h3>
+Returns the plane of this format. The default for normal formats
+is 0, which means the normal plane. The default for overlay
+formats is 1, which is the first overlay plane.
+<p> <p>See also <a href="#setPlane">setPlane</a>().
+
+<h3 class=fn>bool <a name="rgba"></a>QGLFormat::rgba () const
+</h3>
+
+<p> Returns TRUE if RGBA color mode is set. Returns FALSE if color
+index mode is set. The default color mode is RGBA.
+<p> <p>See also <a href="#setRgba">setRgba</a>().
+
+<h3 class=fn>void <a name="setAccum"></a>QGLFormat::setAccum ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables the accumulation buffer; otherwise
+disables the accumulation buffer.
+<p> The accumulation buffer is disabled by default.
+<p> The accumulation buffer is used to create blur effects and
+multiple exposures.
+<p> <p>See also <a href="#accum">accum</a>().
+
+<h3 class=fn>void <a name="setAlpha"></a>QGLFormat::setAlpha ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables the alpha channel; otherwise disables
+the alpha channel.
+<p> The alpha buffer is disabled by default.
+<p> The alpha channel is typically used for implementing transparency
+or translucency. The A in RGBA specifies the transparency of a
+pixel.
+<p> <p>See also <a href="#alpha">alpha</a>().
+
+<h3 class=fn>void <a name="setDefaultFormat"></a>QGLFormat::setDefaultFormat ( const&nbsp;<a href="qglformat.html">QGLFormat</a>&nbsp;&amp;&nbsp;f )<tt> [static]</tt>
+</h3>
+Sets a new default QGLFormat for the application to <em>f</em>. For
+example, to set single buffering as the default instead of double
+buffering, your main() might contain code like this:
+<pre>
+ <a href="qapplication.html">QApplication</a> a(argc, argv);
+ QGLFormat f;
+ f.<a href="#setDoubleBuffer">setDoubleBuffer</a>( FALSE );
+ QGLFormat::<a href="#setDefaultFormat">setDefaultFormat</a>( f );
+ </pre>
+
+<p> <p>See also <a href="#defaultFormat">defaultFormat</a>().
+
+<h3 class=fn>void <a name="setDefaultOverlayFormat"></a>QGLFormat::setDefaultOverlayFormat ( const&nbsp;<a href="qglformat.html">QGLFormat</a>&nbsp;&amp;&nbsp;f )<tt> [static]</tt>
+</h3>
+Sets a new default QGLFormat for overlay contexts to <em>f</em>. This
+format is used whenever a <a href="qglwidget.html">QGLWidget</a> is created with a format that
+<a href="#hasOverlay">hasOverlay</a>() enabled.
+<p> For example, to get a double buffered overlay context (if
+available), use code like this:
+<p> <pre>
+ QGLFormat f = QGLFormat::<a href="#defaultOverlayFormat">defaultOverlayFormat</a>();
+ f.<a href="#setDoubleBuffer">setDoubleBuffer</a>( TRUE );
+ QGLFormat::<a href="#setDefaultOverlayFormat">setDefaultOverlayFormat</a>( f );
+ </pre>
+
+<p> As usual, you can find out after widget creation whether the
+underlying OpenGL system was able to provide the requested
+specification:
+<p> <pre>
+ // ...continued from above
+ MyGLWidget* myWidget = new MyGLWidget( <a href="#QGLFormat">QGLFormat</a>( QGL::<a href="qgl.html#FormatOption-enum">HasOverlay</a> ), ... );
+ if ( myWidget-&gt;format().hasOverlay() ) {
+ // Yes, we got an overlay, let's check _its_ format:
+ <a href="qglcontext.html">QGLContext</a>* olContext = myWidget-&gt;overlayContext();
+ if ( olContext-&gt;<a href="qglcontext.html#format">format</a>().doubleBuffer() )
+ ; // yes, we got a double buffered overlay
+ else
+ ; // no, only single buffered overlays are available
+ }
+ </pre>
+
+<p> <p>See also <a href="#defaultOverlayFormat">defaultOverlayFormat</a>().
+
+<h3 class=fn>void <a name="setDepth"></a>QGLFormat::setDepth ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables the depth buffer; otherwise disables
+the depth buffer.
+<p> The depth buffer is enabled by default.
+<p> The purpose of a depth buffer (or Z-buffering) is to remove hidden
+surfaces. Pixels are assigned Z values based on the distance to
+the viewer. A pixel with a high Z value is closer to the viewer
+than a pixel with a low Z value. This information is used to
+decide whether to draw a pixel or not.
+<p> <p>See also <a href="#depth">depth</a>().
+
+<h3 class=fn>void <a name="setDirectRendering"></a>QGLFormat::setDirectRendering ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables direct rendering; otherwise disables
+direct rendering.
+<p> Direct rendering is enabled by default.
+<p> Enabling this option will make OpenGL bypass the underlying window
+system and render directly from hardware to the screen, if this is
+supported by the system.
+<p> <p>See also <a href="#directRendering">directRendering</a>().
+
+<h3 class=fn>void <a name="setDoubleBuffer"></a>QGLFormat::setDoubleBuffer ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE sets double buffering; otherwise sets single
+buffering.
+<p> Double buffering is enabled by default.
+<p> Double buffering is a technique where graphics are rendered on an
+off-screen buffer and not directly to the screen. When the drawing
+has been completed, the program calls a swapBuffers() function to
+exchange the screen contents with the buffer. The result is
+flicker-free drawing and often better performance.
+<p> <p>See also <a href="#doubleBuffer">doubleBuffer</a>(), <a href="qglcontext.html#swapBuffers">QGLContext::swapBuffers</a>(), and <a href="qglwidget.html#swapBuffers">QGLWidget::swapBuffers</a>().
+
+<h3 class=fn>void <a name="setOption"></a>QGLFormat::setOption ( <a href="qgl.html#FormatOption-enum">FormatOption</a>&nbsp;opt )
+</h3>
+Sets the format option to <em>opt</em>.
+<p> <p>See also <a href="#testOption">testOption</a>().
+
+<h3 class=fn>void <a name="setOverlay"></a>QGLFormat::setOverlay ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables an overlay plane; otherwise disables
+the overlay plane.
+<p> Enabling the overlay plane will cause <a href="qglwidget.html">QGLWidget</a> to create an
+additional context in an overlay plane. See the QGLWidget
+documentation for further information.
+<p> <p>See also <a href="#hasOverlay">hasOverlay</a>().
+
+<h3 class=fn>void <a name="setPlane"></a>QGLFormat::setPlane ( int&nbsp;plane )
+</h3>
+Sets the requested plane to <em>plane</em>. 0 is the normal plane, 1 is
+the first overlay plane, 2 is the second overlay plane, etc.; -1,
+-2, etc. are underlay planes.
+<p> Note that in contrast to other format specifications, the plane
+specifications will be matched exactly. This means that if you
+specify a plane that the underlying OpenGL system cannot provide,
+an <a href="qglwidget.html#isValid">invalid</a> <a href="qglwidget.html">QGLWidget</a> will be
+created.
+<p> <p>See also <a href="#plane">plane</a>().
+
+<h3 class=fn>void <a name="setRgba"></a>QGLFormat::setRgba ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE sets RGBA mode. If <em>enable</em> is FALSE sets
+color index mode.
+<p> The default color mode is RGBA.
+<p> RGBA is the preferred mode for most OpenGL applications. In RGBA
+color mode you specify colors as red + green + blue + alpha
+quadruplets.
+<p> In color index mode you specify an index into a color lookup
+table.
+<p> <p>See also <a href="#rgba">rgba</a>().
+
+<h3 class=fn>void <a name="setStencil"></a>QGLFormat::setStencil ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables the stencil buffer; otherwise
+disables the stencil buffer.
+<p> The stencil buffer is disabled by default.
+<p> The stencil buffer masks certain parts of the drawing area so that
+masked parts are not drawn on.
+<p> <p>See also <a href="#stencil">stencil</a>().
+
+<h3 class=fn>void <a name="setStereo"></a>QGLFormat::setStereo ( bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE enables stereo buffering; otherwise disables
+stereo buffering.
+<p> Stereo buffering is disabled by default.
+<p> Stereo buffering provides extra color buffers to generate left-eye
+and right-eye images.
+<p> <p>See also <a href="#stereo">stereo</a>().
+
+<h3 class=fn>bool <a name="stencil"></a>QGLFormat::stencil () const
+</h3>
+
+<p> Returns TRUE if the stencil buffer is enabled; otherwise returns
+FALSE. The stencil buffer is disabled by default.
+<p> <p>See also <a href="#setStencil">setStencil</a>().
+
+<h3 class=fn>bool <a name="stereo"></a>QGLFormat::stereo () const
+</h3>
+
+<p> Returns TRUE if stereo buffering is enabled; otherwise returns
+FALSE. Stereo buffering is disabled by default.
+<p> <p>See also <a href="#setStereo">setStereo</a>().
+
+<h3 class=fn>bool <a name="testOption"></a>QGLFormat::testOption ( <a href="qgl.html#FormatOption-enum">FormatOption</a>&nbsp;opt ) const
+</h3>
+Returns TRUE if format option <em>opt</em> is set; otherwise returns FALSE.
+<p> <p>See also <a href="#setOption">setOption</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglobal-h.html b/doc/html/qglobal-h.html
new file mode 100644
index 0000000..5aefb57
--- /dev/null
+++ b/doc/html/qglobal-h.html
@@ -0,0 +1,1178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qglobal.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qglobal.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qglobal.h</h1>
+
+<p>This is the verbatim text of the qglobal.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qglobal.h 3.3.8 edited Feb 2 15:00 $
+**
+** Global type declarations and definitions
+**
+** Created : 920529
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGLOBAL_H
+#define QGLOBAL_H
+
+#define QT_VERSION_STR "3.3.8"
+/*
+ QT_VERSION is (major &lt;&lt; 16) + (minor &lt;&lt; 8) + patch.
+ */
+#define QT_VERSION 0x030308
+
+/*
+ The operating system, must be one of: (Q_OS_x)
+
+ MACX - Mac OS X
+ MAC9 - Mac OS 9
+ DARWIN - Darwin OS (Without Mac OS X)
+ MSDOS - MS-DOS and Windows
+ OS2 - OS/2
+ OS2EMX - XFree86 on OS/2 (not PM)
+ WIN32 - Win32 (Windows 95/98/ME and Windows NT/2000/XP)
+ CYGWIN - Cygwin
+ SOLARIS - Sun Solaris
+ HPUX - HP-UX
+ ULTRIX - DEC Ultrix
+ LINUX - Linux
+ FREEBSD - FreeBSD
+ NETBSD - NetBSD
+ OPENBSD - OpenBSD
+ BSDI - BSD/OS
+ IRIX - SGI Irix
+ OSF - HP Tru64 UNIX
+ SCO - SCO OpenServer 5
+ UNIXWARE - UnixWare 7, Open UNIX 8
+ AIX - AIX
+ HURD - GNU Hurd
+ DGUX - DG/UX
+ RELIANT - Reliant UNIX
+ DYNIX - DYNIX/ptx
+ QNX - QNX
+ QNX6 - QNX RTP 6.1
+ LYNX - LynxOS
+ BSD4 - Any BSD 4.4 system
+ UNIX - Any UNIX BSD/SYSV system
+*/
+
+#if defined(__DARWIN_X11__)
+# define Q_OS_DARWIN
+#elif defined(__APPLE__) &amp;&amp; (defined(__GNUC__) || defined(__xlC__))
+# define Q_OS_MACX
+#elif defined(__MACOSX__)
+# define Q_OS_MACX
+#elif defined(macintosh)
+# define Q_OS_MAC9
+#elif defined(__CYGWIN__)
+# define Q_OS_CYGWIN
+#elif defined(MSDOS) || defined(_MSDOS)
+# define Q_OS_MSDOS
+#elif defined(__OS2__)
+# if defined(__EMX__)
+# define Q_OS_OS2EMX
+# else
+# define Q_OS_OS2
+# endif
+#elif !defined(SAG_COM) &amp;&amp; (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))
+# define Q_OS_WIN32
+# define Q_OS_WIN64
+#elif !defined(SAG_COM) &amp;&amp; (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
+# define Q_OS_WIN32
+#elif defined(__MWERKS__) &amp;&amp; defined(__INTEL__)
+# define Q_OS_WIN32
+#elif defined(__sun) || defined(sun)
+# define Q_OS_SOLARIS
+#elif defined(hpux) || defined(__hpux)
+# define Q_OS_HPUX
+#elif defined(__ultrix) || defined(ultrix)
+# define Q_OS_ULTRIX
+#elif defined(sinix)
+# define Q_OS_RELIANT
+#elif defined(__linux__) || defined(__linux) || defined(__GNU__) || defined(__GLIBC__)
+# define Q_OS_LINUX
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+# define Q_OS_FREEBSD
+# define Q_OS_BSD4
+#elif defined(__NetBSD__)
+# define Q_OS_NETBSD
+# define Q_OS_BSD4
+#elif defined(__OpenBSD__)
+# define Q_OS_OPENBSD
+# define Q_OS_BSD4
+#elif defined(__bsdi__)
+# define Q_OS_BSDI
+# define Q_OS_BSD4
+#elif defined(__sgi)
+# define Q_OS_IRIX
+#elif defined(__osf__)
+# define Q_OS_OSF
+#elif defined(_AIX)
+# define Q_OS_AIX
+#elif defined(__Lynx__)
+# define Q_OS_LYNX
+#elif defined(__DGUX__)
+# define Q_OS_DGUX
+#elif defined(__QNXNTO__)
+# define Q_OS_QNX6
+#elif defined(__QNX__)
+# define Q_OS_QNX
+#elif defined(_SEQUENT_)
+# define Q_OS_DYNIX
+#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */
+# define Q_OS_SCO
+#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */
+# define Q_OS_UNIXWARE
+# define Q_OS_UNIXWARE7
+#elif defined(__svr4__) &amp;&amp; defined(i386) /* Open UNIX 8 + GCC */
+# define Q_OS_UNIXWARE
+# define Q_OS_UNIXWARE7
+#elif defined(__MAKEDEPEND__)
+#else
+# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
+#endif
+
+#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
+# define Q_OS_WIN
+#endif
+
+#if defined(Q_OS_MAC9) || defined(Q_OS_MACX)
+# define Q_OS_MAC
+#endif
+
+#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN)
+# undef Q_OS_UNIX
+#elif !defined(Q_OS_UNIX)
+# define Q_OS_UNIX
+#endif
+
+#if defined(Q_OS_MACX)
+# ifdef MAC_OS_X_VERSION_MIN_REQUIRED
+# undef MAC_OS_X_VERSION_MIN_REQUIRED
+# endif
+# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_2
+# include &lt;AvailabilityMacros.h&gt;
+# if !defined(MAC_OS_X_VERSION_10_3)
+# define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1
+# endif
+# if !defined(MAC_OS_X_VERSION_10_4)
+# define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1
+# endif
+# if (MAC_OS_X_VERSION_MAX_ALLOWED &gt; MAC_OS_X_VERSION_10_4)
+# error "This version of Mac OS X is unsupported"
+# endif
+#endif
+
+
+/*
+ The compiler, must be one of: (Q_CC_x)
+
+ SYM - Symantec C++ for both PC and Macintosh
+ MPW - MPW C++
+ MWERKS - Metrowerks CodeWarrior
+ MSVC - Microsoft Visual C/C++, Intel C++ for Windows
+ BOR - Borland/Turbo C++
+ WAT - Watcom C++
+ GNU - GNU C++
+ COMEAU - Comeau C++
+ EDG - Edison Design Group C++
+ OC - CenterLine C++
+ SUN - Sun WorkShop, Forte Developer, or Sun ONE Studio C++
+ MIPS - MIPSpro C++
+ DEC - DEC C++
+ HP - HPUX C++
+ HPACC - HPUX ANSI C++
+ USLC - SCO OUDK, UDK, and UnixWare 2.X C++
+ CDS - Reliant C++
+ KAI - KAI C++
+ INTEL - Intel C++ for Linux, Intel C++ for Windows
+ HIGHC - MetaWare High C/C++
+ PGI - Portland Group C++
+ GHS - Green Hills Optimizing C++ Compilers
+
+ Should be sorted most to least authoritative.
+*/
+
+/* Symantec C++ is now Digital Mars */
+#if defined(__DMC__) || defined(__SC__)
+# define Q_CC_SYM
+/* "explicit" semantics implemented in 8.1e but keyword recognized since 7.5 */
+# if defined(__SC__) &amp;&amp; __SC__ &lt; 0x750
+# define Q_NO_EXPLICIT_KEYWORD
+# endif
+# define Q_NO_USING_KEYWORD
+# if !defined(_CPPUNWIND)
+# define Q_NO_EXCEPTIONS
+# endif
+
+#elif defined(applec)
+# define Q_CC_MPW
+# define Q_NO_BOOL_TYPE
+# define Q_NO_EXPLICIT_KEYWORD
+# define Q_NO_USING_KEYWORD
+
+#elif defined(__MWERKS__)
+# define Q_CC_MWERKS
+/* "explicit" recognized since 4.0d1 */
+# define QMAC_PASCAL pascal
+
+#elif defined(_MSC_VER)
+# define Q_CC_MSVC
+/* proper support of bool for _MSC_VER &gt;= 1100 */
+# define Q_CANNOT_DELETE_CONSTANT
+# define Q_INLINE_TEMPLATES inline
+/* Visual C++.Net issues for _MSC_VER &gt;= 1300 */
+# if _MSC_VER &gt;= 1300
+# define Q_CC_MSVC_NET
+# if _MSC_VER &lt; 1310 || (defined(Q_OS_WIN64) &amp;&amp; defined(_M_IA64))
+# define Q_TYPENAME
+# endif
+# endif
+/* Intel C++ disguising as Visual C++: the `using' keyword avoids warnings */
+# if defined(__INTEL_COMPILER)
+# define Q_CC_INTEL
+# if !defined(__EXCEPTIONS)
+# define Q_NO_EXCEPTIONS
+# endif
+# else
+# define Q_NO_USING_KEYWORD /* ### check "using" status */
+# endif
+
+#elif defined(__BORLANDC__) || defined(__TURBOC__)
+# define Q_CC_BOR
+# if __BORLANDC__ &lt; 0x502
+# define Q_NO_BOOL_TYPE
+# define Q_NO_EXPLICIT_KEYWORD
+# endif
+# define Q_NO_USING_KEYWORD /* ### check "using" status */
+
+#elif defined(__WATCOMC__)
+# define Q_CC_WAT
+# if defined(Q_OS_QNX4)
+/* compiler flags */
+# define Q_TYPENAME
+# define Q_NO_BOOL_TYPE
+# define Q_CANNOT_DELETE_CONSTANT
+# define mutable
+/* ??? */
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+/* no template classes in QVariant */
+# define QT_NO_TEMPLATE_VARIANT
+/* Wcc does not fill in functions needed by valuelists, maps, and
+ valuestacks implicitly */
+# define Q_FULL_TEMPLATE_INSTANTIATION
+/* can we just compare the structures? */
+# define Q_FULL_TEMPLATE_INSTANTIATION_MEMCMP
+/* these are not useful to our customers */
+# define QT_QWS_NO_SHM
+# define QT_NO_QWS_MULTIPROCESS
+# define QT_NO_SQL
+# define QT_NO_QWS_CURSOR
+# endif
+
+#elif defined(__GNUC__)
+# define Q_CC_GNU
+# define Q_C_CALLBACKS
+# if __GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &lt;= 7
+# define Q_FULL_TEMPLATE_INSTANTIATION
+# endif
+/* GCC 2.95 knows "using" but does not support it correctly */
+# if __GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &lt;= 95
+# define Q_NO_USING_KEYWORD
+# endif
+/* GCC 3.1 and GCC 3.2 wrongly define _SB_CTYPE_MACROS on HP-UX */
+# if defined(Q_OS_HPUX) &amp;&amp; __GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ &gt;= 1
+# define Q_WRONG_SB_CTYPE_MACROS
+# endif
+
+/* ARM gcc pads structs to 32 bits, even when they contain a single
+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
+ members of a packed struct. (Pointers are OK, because then you
+ supposedly know what you are doing.) */
+# if (defined(__arm__) || defined(__ARMEL__)) &amp;&amp; !defined(QT_MOC_CPP)
+# define Q_PACKED __attribute__ ((packed))
+# if __GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ &gt;= 4
+# define Q_NO_PACKED_REFERENCE
+# endif
+# endif
+# if !defined(__EXCEPTIONS)
+# define Q_NO_EXCEPTIONS
+# endif
+
+/* IBM compiler versions are a bit messy. There are actually two products:
+ the C product, and the C++ product. The C++ compiler is always packaged
+ with the latest version of the C compiler. Version numbers do not always
+ match. This little table (I'm not sure it's accurate) should be helpful:
+
+ C++ product C product
+
+ C Set 3.1 C Compiler 3.0
+ ... ...
+ C++ Compiler 3.6.6 C Compiler 4.3
+ ... ...
+ Visual Age C++ 4.0 ...
+ ... ...
+ Visual Age C++ 5.0 C Compiler 5.0
+ ... ...
+ Visual Age C++ 6.0 C Compiler 6.0
+
+ Now:
+ __xlC__ is the version of the C compiler in hexadecimal notation
+ is only an approximation of the C++ compiler version
+ __IBMCPP__ is the version of the C++ compiler in decimal notation
+ but it is not defined on older compilers like C Set 3.1 */
+#elif defined(__xlC__)
+# define Q_CC_XLC
+# define Q_FULL_TEMPLATE_INSTANTIATION
+# if __xlC__ &lt; 0x400
+# define Q_NO_BOOL_TYPE
+# define Q_NO_EXPLICIT_KEYWORD
+# define Q_NO_USING_KEYWORD
+# define Q_TYPENAME
+# define Q_INLINE_TEMPLATES inline
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+# define Q_CANNOT_DELETE_CONSTANT
+# endif
+
+/* Older versions of DEC C++ do not define __EDG__ or __EDG - observed
+ on DEC C++ V5.5-004. New versions do define __EDG__ - observed on
+ Compaq C++ V6.3-002.
+ This compiler is different enough from other EDG compilers to handle
+ it separately anyway. */
+#elif defined(__DECCXX) || defined(__DECC)
+# define Q_CC_DEC
+/* Compaq C++ V6 compilers are EDG-based but I'm not sure about older
+ DEC C++ V5 compilers. */
+# if defined(__EDG__)
+# define Q_CC_EDG
+# endif
+/* Compaq have disabled EDG's _BOOL macro and use _BOOL_EXISTS instead
+ - observed on Compaq C++ V6.3-002.
+ In any case versions prior to Compaq C++ V6.0-005 do not have bool. */
+# if !defined(_BOOL_EXISTS)
+# define Q_NO_BOOL_TYPE
+# endif
+/* Spurious (?) error messages observed on Compaq C++ V6.5-014. */
+# define Q_NO_USING_KEYWORD
+/* Apply to all versions prior to Compaq C++ V6.0-000 - observed on
+ DEC C++ V5.5-004. */
+# if __DECCXX_VER &lt; 60060000
+# define Q_TYPENAME
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+# define Q_CANNOT_DELETE_CONSTANT
+# endif
+/* avoid undefined symbol problems with out-of-line template members */
+# define Q_INLINE_TEMPLATES inline
+
+/* Compilers with EDG front end are similar. To detect them we test:
+ __EDG documented by SGI, observed on MIPSpro 7.3.1.1 and KAI C++ 4.0b
+ __EDG__ documented in EDG online docs, observed on Compaq C++ V6.3-002 */
+#elif defined(__EDG) || defined(__EDG__)
+# define Q_CC_EDG
+/* From the EDG documentation (does not seem to apply to Compaq C++):
+ _BOOL
+ Defined in C++ mode when bool is a keyword. The name of this
+ predefined macro is specified by a configuration flag. _BOOL
+ is the default.
+ __BOOL_DEFINED
+ Defined in Microsoft C++ mode when bool is a keyword. */
+# if !defined(_BOOL) &amp;&amp; !defined(__BOOL_DEFINED)
+# define Q_NO_BOOL_TYPE
+# endif
+
+/* The Comeau compiler is based on EDG and does define __EDG__ */
+# if defined(__COMO__)
+# define Q_CC_COMEAU
+# define Q_C_CALLBACKS
+
+/* The `using' keyword was introduced to avoid KAI C++ warnings
+ but it's now causing KAI C++ errors instead. The standard is
+ unclear about the use of this keyword, and in practice every
+ compiler is using its own set of rules. Forget it. */
+# elif defined(__KCC)
+# define Q_CC_KAI
+# if !defined(_EXCEPTIONS)
+# define Q_NO_EXCEPTIONS
+# endif
+# define Q_NO_USING_KEYWORD
+
+/* Using the `using' keyword avoids Intel C++ for Linux warnings */
+# elif defined(__INTEL_COMPILER)
+# define Q_CC_INTEL
+# if !defined(__EXCEPTIONS)
+# define Q_NO_EXCEPTIONS
+# endif
+
+/* The Portland Group compiler is based on EDG and does define __EDG__ */
+# elif defined(__PGI)
+# define Q_CC_PGI
+# if !defined(__EXCEPTIONS)
+# define Q_NO_EXCEPTIONS
+# endif
+
+/* Never tested! */
+# elif defined(__ghs)
+# define Q_CC_GHS
+
+/* The UnixWare 7 UDK compiler is based on EDG and does define __EDG__ */
+# elif defined(__USLC__) &amp;&amp; defined(__SCO_VERSION__)
+# define Q_CC_USLC
+/* The latest UDK 7.1.1b does not need this, but previous versions do */
+# if !defined(__SCO_VERSION__) || (__SCO_VERSION__ &lt; 302200010)
+# define Q_INLINE_TEMPLATES inline
+# endif
+# define Q_NO_USING_KEYWORD /* ### check "using" status */
+
+/* Never tested! */
+# elif defined(CENTERLINE_CLPP) || defined(OBJECTCENTER)
+# define Q_CC_OC
+# define Q_NO_USING_KEYWORD
+
+/* CDS++ defines __EDG__ although this is not documented in the Reliant
+ documentation. It also follows conventions like _BOOL and this documented */
+# elif defined(sinix)
+# define Q_CC_CDS
+# define Q_NO_USING_KEYWORD
+# if defined(__cplusplus) &amp;&amp; (__cplusplus &lt; 2) /* Cfront C++ mode */
+# define Q_NO_EXCEPTIONS
+# endif
+
+/* The MIPSpro compiler in o32 mode is based on EDG but disables features
+ such as template specialization nevertheless */
+# elif defined(__sgi)
+# define Q_CC_MIPS
+# if defined(_MIPS_SIM) &amp;&amp; (_MIPS_SIM == _ABIO32) /* o32 ABI */
+# define Q_TYPENAME
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+# define Q_NO_EXPLICIT_KEYWORD
+# define Q_INLINE_TEMPLATES inline
+# elif defined(_COMPILER_VERSION) &amp;&amp; (_COMPILER_VERSION &lt; 730) /* 7.2 */
+# define Q_TYPENAME
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+# endif
+# define Q_NO_USING_KEYWORD /* ### check "using" status */
+# if defined(_COMPILER_VERSION) &amp;&amp; (_COMPILER_VERSION &gt;= 740)
+# pragma set woff 3624,3625, 3649 /* turn off some harmless warnings */
+# endif
+# endif
+
+/* The older UnixWare 2.X compiler? */
+#elif defined(__USLC__)
+# define Q_CC_USLC
+# define Q_TYPENAME
+# define Q_NO_BOOL_TYPE
+# define Q_NO_EXPLICIT_KEYWORD
+# define Q_NO_USING_KEYWORD
+# define Q_INLINE_TEMPLATES inline
+
+/* Never tested! */
+#elif defined(__HIGHC__)
+# define Q_CC_HIGHC
+
+#elif defined(__SUNPRO_CC) || defined(__SUNPRO_C)
+# define Q_CC_SUN
+/* 5.0 compiler or better
+ 'bool' is enabled by default but can be disabled using -features=nobool
+ in which case _BOOL is not defined
+ this is the default in 4.2 compatibility mode triggered by -compat=4 */
+# if __SUNPRO_CC &gt;= 0x500
+# if !defined(_BOOL)
+# define Q_NO_BOOL_TYPE
+# endif
+# if defined(__SUNPRO_CC_COMPAT) &amp;&amp; (__SUNPRO_CC_COMPAT &lt;= 4)
+# define Q_NO_USING_KEYWORD
+# endif
+# define Q_C_CALLBACKS
+/* 4.2 compiler or older */
+# else
+# define Q_NO_BOOL_TYPE
+# define Q_NO_EXPLICIT_KEYWORD
+# define Q_NO_USING_KEYWORD
+# endif
+
+/* CDS++ does not seem to define __EDG__ or __EDG according to Reliant
+ documentation but nevertheless uses EDG conventions like _BOOL */
+#elif defined(sinix)
+# define Q_CC_EDG
+# define Q_CC_CDS
+# if !defined(_BOOL)
+# define Q_NO_BOOL_TYPE
+# endif
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+
+#elif defined(Q_OS_HPUX)
+/* __HP_aCC was not defined in first aCC releases */
+# if defined(__HP_aCC) || __cplusplus &gt;= 199707L
+# define Q_CC_HPACC
+# else
+# define Q_CC_HP
+# define Q_NO_BOOL_TYPE
+# define Q_FULL_TEMPLATE_INSTANTIATION
+# define Q_BROKEN_TEMPLATE_SPECIALIZATION
+# define Q_NO_EXPLICIT_KEYWORD
+# endif
+# define Q_NO_USING_KEYWORD /* ### check "using" status */
+
+#else
+# error "Qt has not been tested with this compiler - talk to qt-bugs@trolltech.com"
+#endif
+
+#ifndef Q_PACKED
+# define Q_PACKED
+#endif
+
+
+/*
+ The window system, must be one of: (Q_WS_x)
+
+ MACX - Mac OS X
+ MAC9 - Mac OS 9
+ QWS - Qt/Embedded
+ WIN32 - Windows
+ X11 - X Window System
+ PM - unsupported
+ WIN16 - unsupported
+*/
+
+#if defined(Q_OS_MAC9)
+# define Q_WS_MAC9
+#elif defined(Q_OS_MSDOS)
+# define Q_WS_WIN16
+# error "Qt requires Win32 and does not work with Windows 3.x"
+#elif defined(_WIN32_X11_)
+# define Q_WS_X11
+#elif defined(Q_OS_WIN32)
+# define Q_WS_WIN32
+# if defined(Q_OS_WIN64)
+# define Q_WS_WIN64
+# endif
+#elif defined(Q_OS_OS2)
+# define Q_WS_PM
+# error "Qt does not work with OS/2 Presentation Manager or Workplace Shell"
+#elif defined(Q_OS_UNIX)
+# if defined(QWS)
+# define Q_WS_QWS
+# define QT_NO_QWS_IM
+# elif defined(Q_OS_MACX)
+# define Q_WS_MACX
+# else
+# define Q_WS_X11
+# endif
+#endif
+#if defined(Q_OS_MAC) &amp;&amp; !defined(QMAC_PASCAL)
+# define QMAC_PASCAL
+#endif
+
+#if defined(Q_WS_WIN16) || defined(Q_WS_WIN32)
+# define Q_WS_WIN
+#endif
+
+#if (defined(Q_WS_MAC9) || defined(Q_WS_MACX)) &amp;&amp; !defined(Q_WS_QWS) &amp;&amp; !defined(Q_WS_X11)
+# define Q_WS_MAC
+#endif
+
+
+/*
+ Some classes do not permit copies to be made of an object.
+ These classes contains a private copy constructor and operator=
+ to disable copying (the compiler gives an error message).
+ Undefine Q_DISABLE_COPY to turn off this checking.
+*/
+
+#define Q_DISABLE_COPY
+
+#if defined(__cplusplus)
+
+
+//
+// Useful type definitions for Qt
+//
+
+#if defined(Q_NO_BOOL_TYPE)
+#if defined(Q_CC_HP)
+// bool is an unsupported reserved keyword in later versions
+#define bool int
+#else
+typedef int bool;
+#endif
+#endif
+
+typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned uint;
+typedef unsigned long ulong;
+typedef char *pchar;
+typedef uchar *puchar;
+typedef const char *pcchar;
+
+
+//
+// Constant bool values
+//
+
+#ifndef TRUE
+const bool FALSE = 0;
+const bool TRUE = !0;
+#endif
+#if defined(__WATCOMC__)
+# if defined(Q_OS_QNX4)
+const bool false = FALSE;
+const bool true = TRUE;
+# endif
+#endif
+
+//
+// Proper for-scoping
+// ### turn on in 4.0
+
+#if 0 &amp;&amp; defined(Q_CC_MSVC) &amp;&amp; !defined(Q_CC_MSVC_NET)
+# define for if(0){}else for
+#endif
+
+//
+// Use the "explicit" keyword on platforms that support it.
+//
+
+#if !defined(Q_NO_EXPLICIT_KEYWORD)
+# define Q_EXPLICIT explicit
+#else
+# define Q_EXPLICIT
+#endif
+
+
+//
+// Workaround for static const members on MSVC++.
+//
+
+#if defined(Q_CC_MSVC)
+# define QT_STATIC_CONST static
+# define QT_STATIC_CONST_IMPL
+#else
+# define QT_STATIC_CONST static const
+# define QT_STATIC_CONST_IMPL const
+#endif
+
+
+//
+// Utility macros and inline functions
+//
+
+#define QMAX(a, b) ((b) &lt; (a) ? (a) : (b))
+#define QMIN(a, b) ((a) &lt; (b) ? (a) : (b))
+#define QABS(a) ((a) &gt;= 0 ? (a) : -(a))
+
+inline int qRound( double d )
+{
+ return d &gt;= 0.0 ? int(d + 0.5) : int( d - ((int)d-1) + 0.5 ) + ((int)d-1);
+}
+
+
+//
+// Size-dependent types (architechture-dependent byte order)
+//
+
+#if !defined(QT_CLEAN_NAMESPACE)
+// source compatibility with Qt 1.x
+typedef signed char INT8; // 8 bit signed
+typedef unsigned char UINT8; // 8 bit unsigned
+typedef short INT16; // 16 bit signed
+typedef unsigned short UINT16; // 16 bit unsigned
+typedef int INT32; // 32 bit signed
+typedef unsigned int UINT32; // 32 bit unsigned
+#endif
+
+typedef signed char Q_INT8; // 8 bit signed
+typedef unsigned char Q_UINT8; // 8 bit unsigned
+typedef short Q_INT16; // 16 bit signed
+typedef unsigned short Q_UINT16; // 16 bit unsigned
+typedef int Q_INT32; // 32 bit signed
+typedef unsigned int Q_UINT32; // 32 bit unsigned
+#if defined(Q_OS_WIN64)
+typedef __int64 Q_LONG; // word up to 64 bit signed
+typedef unsigned __int64 Q_ULONG; // word up to 64 bit unsigned
+#else
+typedef long Q_LONG; // word up to 64 bit signed
+typedef unsigned long Q_ULONG; // word up to 64 bit unsigned
+#endif
+#if defined(Q_OS_WIN) &amp;&amp; !defined(Q_CC_GNU)
+# define Q_INT64_C(c) c ## i64 // signed 64 bit constant
+# define Q_UINT64_C(c) c ## ui64 // unsigned 64 bit constant
+typedef __int64 Q_INT64; // 64 bit signed
+typedef unsigned __int64 Q_UINT64; // 64 bit unsigned
+#else
+# define Q_INT64_C(c) c ## LL // signed 64 bit constant
+# define Q_UINT64_C(c) c ## ULL // unsigned 64 bit constant
+typedef long long Q_INT64; // 64 bit signed
+typedef unsigned long long Q_UINT64; // 64 bit unsigned
+#endif
+typedef Q_INT64 Q_LLONG; // signed long long
+typedef Q_UINT64 Q_ULLONG; // unsigned long long
+
+#if defined(Q_OS_MACX) &amp;&amp; !defined(QT_LARGEFILE_SUPPORT)
+# define QT_LARGEFILE_SUPPORT 64
+#endif
+#if defined(QT_LARGEFILE_SUPPORT)
+ typedef Q_ULLONG QtOffset;
+#else
+ typedef Q_ULONG QtOffset;
+#endif
+
+
+//
+// Data stream functions is provided by many classes (defined in qdatastream.h)
+//
+
+class QDataStream;
+
+
+//
+// Feature subsetting
+//
+// Note that disabling some features will produce a libqt that is not
+// compatible with other libqt builds. Such modifications are only
+// supported on Qt/Embedded where reducing the library size is important
+// and where the application-suite is often a fixed set.
+//
+
+#if !defined(QT_MOC)
+#if defined(QCONFIG_LOCAL)
+#include "qconfig-local.h"
+#elif defined(QCONFIG_MINIMAL)
+#include "qconfig-minimal.h"
+#elif defined(QCONFIG_SMALL)
+#include "qconfig-small.h"
+#elif defined(QCONFIG_MEDIUM)
+#include "qconfig-medium.h"
+#elif defined(QCONFIG_LARGE)
+#include "qconfig-large.h"
+#else // everything...
+#include "qconfig.h"
+#endif
+#endif
+
+
+#ifndef QT_BUILD_KEY
+#define QT_BUILD_KEY "unspecified"
+#endif
+
+// prune to local config
+#include "qmodules.h"
+#ifndef QT_MODULE_DIALOGS
+# define QT_NO_DIALOG
+#endif
+#ifndef QT_MODULE_ICONVIEW
+# define QT_NO_ICONVIEW
+#endif
+#ifndef QT_MODULE_WORKSPACE
+# define QT_NO_WORKSPACE
+#endif
+#ifndef QT_MODULE_NETWORK
+#define QT_NO_NETWORK
+#endif
+#ifndef QT_MODULE_CANVAS
+# define QT_NO_CANVAS
+#endif
+#ifndef QT_MODULE_TABLE
+#define QT_NO_TABLE
+#endif
+#ifndef QT_MODULE_XML
+# define QT_NO_XML
+#endif
+#ifndef QT_MODULE_OPENGL
+# define QT_NO_OPENGL
+#endif
+#if !defined(QT_MODULE_SQL)
+# define QT_NO_SQL
+#endif
+
+#if defined(Q_WS_MAC9)
+//No need for menu merging
+# ifndef QMAC_QMENUBAR_NO_MERGE
+# define QMAC_QMENUBAR_NO_MERGE
+# endif
+//Mac9 does not use quartz
+# ifndef QMAC_NO_QUARTZ
+# define QMAC_NO_QUARTZ
+# endif
+# ifndef QMAC_QMENUBAR_NO_EVENT
+# define QMAC_QMENUBAR_NO_EVENT
+# endif
+#endif
+#if defined(Q_WS_MACX) //for no nobody uses quartz, just putting in first level hooks
+# ifndef QMAC_NO_QUARTZ
+# define QMAC_NO_QUARTZ
+# endif
+# ifndef QMAC_QMENUBAR_NO_EVENT
+# define QMAC_QMENUBAR_NO_EVENT
+# endif
+#endif
+
+#if !defined(Q_WS_QWS) &amp;&amp; !defined(QT_NO_COP)
+# define QT_NO_COP
+#endif
+
+#ifndef QT_H
+#include "qfeatures.h"
+#endif /* QT_H */
+
+
+//
+// Create Qt DLL if QT_DLL is defined (Windows only)
+// or QT_SHARED is defined (Kylix only)
+//
+
+#if defined(Q_OS_WIN)
+# if defined(QT_NODLL)
+# undef QT_MAKEDLL
+# undef QT_DLL
+# elif defined(QT_MAKEDLL) /* create a Qt DLL library */
+# if defined(QT_DLL)
+# undef QT_DLL
+# endif
+# define Q_EXPORT __declspec(dllexport)
+# define Q_TEMPLATEDLL
+# define Q_TEMPLATE_EXTERN
+# undef Q_DISABLE_COPY /* avoid unresolved externals */
+# elif defined(QT_DLL) /* use a Qt DLL library */
+# define Q_EXPORT __declspec(dllimport)
+# define Q_TEMPLATEDLL
+# ifndef Q_TEMPLATE_EXTERN
+# if defined(Q_CC_MSVC_NET)
+# define Q_TEMPLATE_EXTERN extern
+# else
+# define Q_TEMPLATE_EXTERN
+# endif
+# endif
+# undef Q_DISABLE_COPY /* avoid unresolved externals */
+# endif
+#elif defined(Q_OS_LINUX) &amp;&amp; defined(Q_CC_BOR)
+# if defined(QT_SHARED) /* create a Qt shared library */
+# define Q_EXPORT __declspec(dllexport)
+# define Q_TEMPLATEDLL
+# define Q_TEMPLATE_EXTERN
+# undef Q_DISABLE_COPY /* avoid unresolved externals */
+# else
+# define Q_TEMPLATEDLL
+# define Q_TEMPLATE_EXTERN
+# undef Q_DISABLE_COPY /* avoid unresolved externals */
+# endif
+#else
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
+#endif
+
+#ifndef Q_EXPORT
+# define Q_EXPORT
+#endif
+
+
+//
+// Some platform specific stuff
+//
+
+#if defined(Q_WS_WIN)
+extern Q_EXPORT bool qt_winunicode;
+#endif
+
+
+//
+// System information
+//
+
+Q_EXPORT const char *qVersion();
+Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian );
+Q_EXPORT bool qSharedBuild();
+#if defined(Q_OS_MAC)
+int qMacVersion();
+#elif defined(Q_WS_WIN)
+Q_EXPORT int qWinVersion();
+#if defined(UNICODE)
+#define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi }
+#define QT_WA_INLINE( uni, ansi ) ( qt_winunicode ? uni : ansi )
+#else
+#define QT_WA( uni, ansi ) ansi
+#define QT_WA_INLINE( uni, ansi ) ansi
+#endif
+#endif
+
+#ifdef Q_OS_TEMP
+#ifdef QT_WA
+#undef QT_WA
+#undef QT_WA_INLINE
+#endif
+#define QT_WA( uni, ansi ) uni
+#define QT_WA_INLINE( uni, ansi ) ( uni )
+#endif
+
+#ifndef Q_INLINE_TEMPLATES
+# define Q_INLINE_TEMPLATES
+#endif
+
+#ifndef Q_TYPENAME
+# define Q_TYPENAME typename
+#endif
+
+//
+// Use to avoid "unused parameter" warnings
+//
+#define Q_UNUSED(x) (void)x;
+
+//
+// Debugging and error handling
+//
+
+#if !defined(QT_NO_CHECK)
+# define QT_CHECK_STATE // check state of objects etc.
+# define QT_CHECK_RANGE // check range of indexes etc.
+# define QT_CHECK_NULL // check null pointers
+# define QT_CHECK_MATH // check math functions
+#endif
+
+#if !defined(QT_NO_DEBUG) &amp;&amp; !defined(QT_DEBUG)
+# define QT_DEBUG // display debug messages
+# if !defined(QT_NO_COMPAT) // compatibility with Qt 2
+# if !defined(NO_DEBUG) &amp;&amp; !defined(DEBUG)
+# if !defined(Q_OS_MACX) // clash with MacOS X headers
+# define DEBUG
+# endif
+# endif
+# endif
+#endif
+
+
+Q_EXPORT void qDebug( const char *, ... ) // print debug message
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+Q_EXPORT void qWarning( const char *, ... ) // print warning message
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+Q_EXPORT void qFatal( const char *, ... ) // print fatal message and exit
+#if defined(Q_CC_GNU)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+Q_EXPORT void qSystemWarning( const char *, int code = -1 );
+
+#if !defined(QT_CLEAN_NAMESPACE) // compatibility with Qt 1
+
+Q_EXPORT void debug( const char *, ... ) // print debug message
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+Q_EXPORT void warning( const char *, ... ) // print warning message
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+Q_EXPORT void fatal( const char *, ... ) // print fatal message and exit
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 1, 2)))
+#endif
+;
+
+#endif // QT_CLEAN_NAMESPACE
+
+
+#if !defined(Q_ASSERT)
+# if defined(QT_CHECK_STATE)
+# if defined(QT_FATAL_ASSERT)
+# define Q_ASSERT(x) ((x) ? (void)0 : qFatal("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__))
+# else
+# define Q_ASSERT(x) ((x) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__))
+# endif
+# else
+# define Q_ASSERT(x)
+# endif
+#endif
+
+#if !defined(QT_NO_COMPAT) // compatibility with Qt 2
+# if !defined(ASSERT)
+# if !defined(Q_OS_TEMP)
+# define ASSERT(x) Q_ASSERT(x)
+# endif
+# endif
+#endif // QT_NO_COMPAT
+
+
+Q_EXPORT bool qt_check_pointer( bool c, const char *, int );
+
+#if defined(QT_CHECK_NULL)
+# define Q_CHECK_PTR(p) (qt_check_pointer((p)==0,__FILE__,__LINE__))
+#else
+# define Q_CHECK_PTR(p)
+#endif
+
+#if !defined(QT_NO_COMPAT) // compatibility with Qt 2
+# if !defined(CHECK_PTR)
+# define CHECK_PTR(x) Q_CHECK_PTR(x)
+# endif
+#endif // QT_NO_COMPAT
+
+enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
+
+typedef void (*QtMsgHandler)(QtMsgType, const char *);
+Q_EXPORT QtMsgHandler qInstallMsgHandler( QtMsgHandler );
+
+#if !defined(QT_NO_COMPAT) // compatibility with Qt 2
+typedef QtMsgHandler msg_handler;
+#endif // QT_NO_COMPAT
+
+Q_EXPORT void qSuppressObsoleteWarnings( bool = TRUE );
+
+Q_EXPORT void qObsolete( const char *obj, const char *oldfunc,
+ const char *newfunc );
+Q_EXPORT void qObsolete( const char *obj, const char *oldfunc );
+Q_EXPORT void qObsolete( const char *message );
+
+
+//
+// Install paths from configure
+//
+
+Q_EXPORT const char *qInstallPath();
+Q_EXPORT const char *qInstallPathDocs();
+Q_EXPORT const char *qInstallPathHeaders();
+Q_EXPORT const char *qInstallPathLibs();
+Q_EXPORT const char *qInstallPathBins();
+Q_EXPORT const char *qInstallPathPlugins();
+Q_EXPORT const char *qInstallPathData();
+Q_EXPORT const char *qInstallPathTranslations();
+Q_EXPORT const char *qInstallPathSysconf();
+
+#endif /* __cplusplus */
+
+/*
+ compilers which follow outdated template instantiation rules
+ require a class to have a comparison operator to exist when
+ a QValueList of this type is instantiated. It's not actually
+ used in the list, though. Hence the dummy implementation.
+ Just in case other code relies on it we better trigger a warning
+ mandating a real implementation.
+*/
+#ifdef Q_FULL_TEMPLATE_INSTANTIATION
+# define Q_DUMMY_COMPARISON_OPERATOR(C) \
+ bool operator==( const C&amp; ) const { \
+ qWarning( #C"::operator==( const "#C"&amp; ) got called." ); \
+ return FALSE; \
+ }
+#else
+# define Q_DUMMY_COMPARISON_OPERATOR(C)
+#endif
+
+#endif /* QGLOBAL_H */
+
+/*
+ Avoid some particularly useless warnings from some stupid compilers.
+ To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out
+ the line "#define QT_NO_WARNINGS"
+*/
+
+#if !defined(QT_CC_WARNINGS)
+# define QT_NO_WARNINGS
+#endif
+#if defined(QT_NO_WARNINGS)
+# if defined(Q_CC_MSVC)
+# pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data
+# pragma warning(disable: 4275) // non - DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier'
+# pragma warning(disable: 4514) // unreferenced inline/local function has been removed
+# pragma warning(disable: 4800) // 'type' : forcing value to bool 'true' or 'false' (performance warning)
+# pragma warning(disable: 4097) // typedef-name 'identifier1' used as synonym for class-name 'identifier2'
+# pragma warning(disable: 4706) // assignment within conditional expression
+# pragma warning(disable: 4786) // truncating debug info after 255 characters
+# pragma warning(disable: 4660) // template-class specialization 'identifier' is already instantiated
+# pragma warning(disable: 4355) // 'this' : used in base member initializer list
+# pragma warning(disable: 4231) // nonstandard extension used : 'extern' before template explicit instantiation
+# pragma warning(disable: 4710) // function not inlined
+# elif defined(Q_CC_BOR)
+# pragma option -w-inl
+# pragma option -w-aus
+# pragma warn -inl
+# pragma warn -pia
+# pragma warn -ccc
+# pragma warn -rch
+# pragma warn -sig
+# endif
+#endif
+
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglwidget-members.html b/doc/html/qglwidget-members.html
new file mode 100644
index 0000000..07b3a44
--- /dev/null
+++ b/doc/html/qglwidget-members.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgl.h:272 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGLWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qglwidget.html">QGLWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qglwidget.html#QGLWidget">QGLWidget</a>()
+<li><a href="qglwidget.html#~QGLWidget">~QGLWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qglwidget.html#autoBufferSwap">autoBufferSwap</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qglwidget.html#colormap">colormap</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qglwidget.html#context">context</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qglwidget.html#convertToGLFormat">convertToGLFormat</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qglwidget.html#doneCurrent">doneCurrent</a>()
+<li><a href="qglwidget.html#doubleBuffer">doubleBuffer</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qglwidget.html#format">format</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qglwidget.html#glDraw">glDraw</a>()
+<li><a href="qglwidget.html#glInit">glInit</a>()
+<li><a href="qglwidget.html#grabFrameBuffer">grabFrameBuffer</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qglwidget.html#initializeGL">initializeGL</a>()
+<li><a href="qglwidget.html#initializeOverlayGL">initializeOverlayGL</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qglwidget.html#isSharing">isSharing</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qglwidget.html#isValid">isValid</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qglwidget.html#makeCurrent">makeCurrent</a>()
+<li><a href="qglwidget.html#makeOverlayCurrent">makeOverlayCurrent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qglwidget.html#overlayContext">overlayContext</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qglwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qglwidget.html#paintGL">paintGL</a>()
+<li><a href="qglwidget.html#paintOverlayGL">paintOverlayGL</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qglwidget.html#qglClearColor">qglClearColor</a>()
+<li><a href="qglwidget.html#qglColor">qglColor</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qglwidget.html#renderPixmap">renderPixmap</a>()
+<li><a href="qglwidget.html#renderText">renderText</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qglwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qglwidget.html#resizeGL">resizeGL</a>()
+<li><a href="qglwidget.html#resizeOverlayGL">resizeOverlayGL</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qglwidget.html#setAutoBufferSwap">setAutoBufferSwap</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qglwidget.html#setColormap">setColormap</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qglwidget.html#swapBuffers">swapBuffers</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qglwidget.html#updateGL">updateGL</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qglwidget.html#updateOverlayGL">updateOverlayGL</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qglwidget.html b/doc/html/qglwidget.html
new file mode 100644
index 0000000..720312e
--- /dev/null
+++ b/doc/html/qglwidget.html
@@ -0,0 +1,583 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/opengl/qgl.cpp:1126 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGLWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGLWidget Class Reference<br><small>[<a href="opengl.html">OpenGL module</a>]</small></h1>
+
+<p>The QGLWidget class is a widget for rendering OpenGL graphics.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgl-h.html">qgl.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qgl.html">QGL</a>.
+<p><a href="qglwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGLWidget"><b>QGLWidget</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QGLWidget&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QGLWidget-2"><b>QGLWidget</b></a> ( QGLContext&nbsp;*&nbsp;context, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QGLWidget&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QGLWidget-3"><b>QGLWidget</b></a> ( const&nbsp;QGLFormat&nbsp;&amp;&nbsp;format, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QGLWidget&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QGLWidget"><b>~QGLWidget</b></a> ()</li>
+<li class=fn>void <a href="#qglColor"><b>qglColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) const</li>
+<li class=fn>void <a href="#qglClearColor"><b>qglClearColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isSharing"><b>isSharing</b></a> () const</li>
+<li class=fn>virtual void <a href="#makeCurrent"><b>makeCurrent</b></a> ()</li>
+<li class=fn>void <a href="#doneCurrent"><b>doneCurrent</b></a> ()</li>
+<li class=fn>bool <a href="#doubleBuffer"><b>doubleBuffer</b></a> () const</li>
+<li class=fn>virtual void <a href="#swapBuffers"><b>swapBuffers</b></a> ()</li>
+<li class=fn>QGLFormat <a href="#format"><b>format</b></a> () const</li>
+<li class=fn>const QGLContext * <a href="#context"><b>context</b></a> () const</li>
+<li class=fn>virtual QPixmap <a href="#renderPixmap"><b>renderPixmap</b></a> ( int&nbsp;w = 0, int&nbsp;h = 0, bool&nbsp;useContext = FALSE )</li>
+<li class=fn>virtual QImage <a href="#grabFrameBuffer"><b>grabFrameBuffer</b></a> ( bool&nbsp;withAlpha = FALSE )</li>
+<li class=fn>virtual void <a href="#makeOverlayCurrent"><b>makeOverlayCurrent</b></a> ()</li>
+<li class=fn>const QGLContext * <a href="#overlayContext"><b>overlayContext</b></a> () const</li>
+<li class=fn>const QGLColormap &amp; <a href="#colormap"><b>colormap</b></a> () const</li>
+<li class=fn>void <a href="#setColormap"><b>setColormap</b></a> ( const&nbsp;QGLColormap&nbsp;&amp;&nbsp;cmap )</li>
+<li class=fn>void <a href="#renderText"><b>renderText</b></a> ( int&nbsp;x, int&nbsp;y, const&nbsp;QString&nbsp;&amp;&nbsp;str, const&nbsp;QFont&nbsp;&amp;&nbsp;fnt = QFont ( ), int&nbsp;listBase = 2000 )</li>
+<li class=fn>void <a href="#renderText-2"><b>renderText</b></a> ( double&nbsp;x, double&nbsp;y, double&nbsp;z, const&nbsp;QString&nbsp;&amp;&nbsp;str, const&nbsp;QFont&nbsp;&amp;&nbsp;fnt = QFont ( ), int&nbsp;listBase = 2000 )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#updateGL"><b>updateGL</b></a> ()</li>
+<li class=fn>virtual void <a href="#updateOverlayGL"><b>updateOverlayGL</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QImage <a href="#convertToGLFormat"><b>convertToGLFormat</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;img )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#initializeGL"><b>initializeGL</b></a> ()</li>
+<li class=fn>virtual void <a href="#resizeGL"><b>resizeGL</b></a> ( int&nbsp;width, int&nbsp;height )</li>
+<li class=fn>virtual void <a href="#paintGL"><b>paintGL</b></a> ()</li>
+<li class=fn>virtual void <a href="#initializeOverlayGL"><b>initializeOverlayGL</b></a> ()</li>
+<li class=fn>virtual void <a href="#resizeOverlayGL"><b>resizeOverlayGL</b></a> ( int&nbsp;width, int&nbsp;height )</li>
+<li class=fn>virtual void <a href="#paintOverlayGL"><b>paintOverlayGL</b></a> ()</li>
+<li class=fn>void <a href="#setAutoBufferSwap"><b>setAutoBufferSwap</b></a> ( bool&nbsp;on )</li>
+<li class=fn>bool <a href="#autoBufferSwap"><b>autoBufferSwap</b></a> () const</li>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent * )</li>
+<li class=fn>virtual void <a href="#resizeEvent"><b>resizeEvent</b></a> ( QResizeEvent * )</li>
+<li class=fn>virtual void <a href="#glInit"><b>glInit</b></a> ()</li>
+<li class=fn>virtual void <a href="#glDraw"><b>glDraw</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGLWidget class is a widget for rendering OpenGL graphics.
+
+<p>
+
+
+
+<p> QGLWidget provides functionality for displaying OpenGL<sup>*</sup>
+graphics integrated into a Qt application. It is very simple to
+use. You inherit from it and use the subclass like any other
+<a href="qwidget.html">QWidget</a>, except that instead of drawing the widget's contents
+using <a href="qpainter.html">QPainter</a> etc. you use the standard OpenGL rendering
+commands.
+<p> QGLWidget provides three convenient virtual functions that you can
+reimplement in your subclass to perform the typical OpenGL tasks:
+<p> <ul>
+<li> <a href="#paintGL">paintGL</a>() - Renders the OpenGL scene. Gets called whenever the widget
+needs to be updated.
+<li> <a href="#resizeGL">resizeGL</a>() - Sets up the OpenGL viewport, projection, etc. Gets
+called whenever the the widget has been resized (and also when it
+is shown for the first time because all newly created widgets get a
+resize event automatically).
+<li> <a href="#initializeGL">initializeGL</a>() - Sets up the OpenGL rendering context, defines display
+lists, etc. Gets called once before the first time resizeGL() or
+paintGL() is called.
+</ul>
+<p> Here is a rough outline of how a QGLWidget subclass might look:
+<p> <pre>
+ class MyGLDrawer : public QGLWidget
+ {
+ Q_OBJECT // must include this if you use Qt signals/slots
+
+ public:
+ MyGLDrawer( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : QGLWidget(parent, name) {}
+
+ protected:
+
+ void initializeGL()
+ {
+ // Set up the rendering context, define display lists etc.:
+ ...
+ glClearColor( 0.0, 0.0, 0.0, 0.0 );
+ glEnable(GL_DEPTH_TEST);
+ ...
+ }
+
+ void resizeGL( int w, int h )
+ {
+ // setup viewport, projection etc.:
+ glViewport( 0, 0, (GLint)w, (GLint)h );
+ ...
+ glFrustum( ... );
+ ...
+ }
+
+ void paintGL()
+ {
+ // draw the scene:
+ ...
+ glRotatef( ... );
+ glMaterialfv( ... );
+ glBegin( GL_QUADS );
+ glVertex3f( ... );
+ glVertex3f( ... );
+ ...
+ glEnd();
+ ...
+ }
+
+ };
+ </pre>
+
+<p> If you need to trigger a repaint from places other than <a href="#paintGL">paintGL</a>()
+(a typical example is when using <a href="qtimer.html">timers</a> to
+animate scenes), you should call the widget's <a href="#updateGL">updateGL</a>() function.
+<p> Your widget's OpenGL rendering context is made current when
+paintGL(), <a href="#resizeGL">resizeGL</a>(), or <a href="#initializeGL">initializeGL</a>() is called. If you need to
+call the standard OpenGL API functions from other places (e.g. in
+your widget's constructor or in your own paint functions), you
+must call <a href="#makeCurrent">makeCurrent</a>() first.
+<p> QGLWidget provides functions for requesting a new display <a href="qglformat.html">format</a> and you can also create widgets with
+customized rendering <a href="qglcontext.html">contexts</a>.
+<p> You can also share OpenGL display lists between QGLWidgets (see
+the documentation of the QGLWidget constructors for details).
+<p> <h3> Overlays
+</h3>
+<a name="1"></a><p> The QGLWidget creates a GL overlay context in addition to the
+normal context if overlays are supported by the underlying system.
+<p> If you want to use overlays, you specify it in the <a href="qglformat.html">format</a>. (Note: Overlay must be requested in the format
+passed to the QGLWidget constructor.) Your GL widget should also
+implement some or all of these virtual methods:
+<p> <ul>
+<li> <a href="#paintOverlayGL">paintOverlayGL</a>()
+<li> <a href="#resizeOverlayGL">resizeOverlayGL</a>()
+<li> <a href="#initializeOverlayGL">initializeOverlayGL</a>()
+</ul>
+<p> These methods work in the same way as the normal <a href="#paintGL">paintGL</a>() etc.
+functions, except that they will be called when the overlay
+context is made current. You can explicitly make the overlay
+context current by using <a href="#makeOverlayCurrent">makeOverlayCurrent</a>(), and you can access
+the overlay context directly (e.g. to ask for its transparent
+color) by calling <a href="#overlayContext">overlayContext</a>().
+<p> On X servers in which the default visual is in an overlay plane,
+non-GL Qt windows can also be used for overlays. See the
+examples/opengl/overlay_x11 example program for details.
+<p> <sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the
+United States and other countries.
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGLWidget"></a>QGLWidget::QGLWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qglwidget.html">QGLWidget</a>&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an OpenGL widget with a <em>parent</em> widget and a <em>name</em>.
+<p> The <a href="qglformat.html#defaultFormat">default format</a> is
+used. The widget will be <a href="#isValid">invalid</a> if the
+system has no <a href="qglformat.html#hasOpenGL">OpenGL support</a>.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments are passed
+to the <a href="qwidget.html">QWidget</a> constructor.
+<p> If the <em>shareWidget</em> parameter points to a valid QGLWidget, this
+widget will share OpenGL display lists with <em>shareWidget</em>. If
+this widget and <em>shareWidget</em> have different <a href="#format">formats</a>, display list sharing may fail. You can check
+whether display list sharing succeeded by calling <a href="#isSharing">isSharing</a>().
+<p> The initialization of OpenGL rendering state, etc. should be done
+by overriding the <a href="#initializeGL">initializeGL</a>() function, rather than in the
+constructor of your QGLWidget subclass.
+<p> <p>See also <a href="qglformat.html#defaultFormat">QGLFormat::defaultFormat</a>().
+
+<h3 class=fn><a name="QGLWidget-2"></a>QGLWidget::QGLWidget ( <a href="qglcontext.html">QGLContext</a>&nbsp;*&nbsp;context, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qglwidget.html">QGLWidget</a>&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an OpenGL widget with parent <em>parent</em>, called <em>name</em>.
+<p> The <em>context</em> argument is a pointer to the <a href="qglcontext.html">QGLContext</a> that
+you wish to be bound to this widget. This allows you to pass in
+your own QGLContext sub-classes.
+<p> The widget will be <a href="#isValid">invalid</a> if the system
+has no <a href="qglformat.html#hasOpenGL">OpenGL support</a>.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments are passed
+to the <a href="qwidget.html">QWidget</a> constructor.
+<p> If the <em>shareWidget</em> parameter points to a valid QGLWidget, this
+widget will share OpenGL display lists with <em>shareWidget</em>. If
+this widget and <em>shareWidget</em> have different <a href="#format">formats</a>, display list sharing may fail. You can check
+whether display list sharing succeeded by calling <a href="#isSharing">isSharing</a>().
+<p> The initialization of OpenGL rendering state, etc. should be done
+by overriding the <a href="#initializeGL">initializeGL</a>() function, rather than in the
+constructor of your QGLWidget subclass.
+<p> <p>See also <a href="qglformat.html#defaultFormat">QGLFormat::defaultFormat</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QGLWidget-3"></a>QGLWidget::QGLWidget ( const&nbsp;<a href="qglformat.html">QGLFormat</a>&nbsp;&amp;&nbsp;format, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;<a href="qglwidget.html">QGLWidget</a>&nbsp;*&nbsp;shareWidget = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an OpenGL widget with parent <em>parent</em>, called <em>name</em>.
+<p> The <em>format</em> argument specifies the desired <a href="qglformat.html">rendering options</a>. If the underlying OpenGL/Window system
+cannot satisfy all the features requested in <em>format</em>, the
+nearest subset of features will be used. After creation, the
+<a href="#format">format</a>() method will return the actual format obtained.
+<p> The widget will be <a href="#isValid">invalid</a> if the system
+has no <a href="qglformat.html#hasOpenGL">OpenGL support</a>.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments are passed
+to the <a href="qwidget.html">QWidget</a> constructor.
+<p> If the <em>shareWidget</em> parameter points to a valid QGLWidget, this
+widget will share OpenGL display lists with <em>shareWidget</em>. If
+this widget and <em>shareWidget</em> have different <a href="#format">formats</a>, display list sharing may fail. You can check
+whether display list sharing succeeded by calling <a href="#isSharing">isSharing</a>().
+<p> The initialization of OpenGL rendering state, etc. should be done
+by overriding the <a href="#initializeGL">initializeGL</a>() function, rather than in the
+constructor of your QGLWidget subclass.
+<p> <p>See also <a href="qglformat.html#defaultFormat">QGLFormat::defaultFormat</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="~QGLWidget"></a>QGLWidget::~QGLWidget ()
+</h3>
+Destroys the widget.
+
+<h3 class=fn>bool <a name="autoBufferSwap"></a>QGLWidget::autoBufferSwap () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns TRUE if the widget is doing automatic GL buffer swapping;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setAutoBufferSwap">setAutoBufferSwap</a>().
+
+<h3 class=fn>const&nbsp;<a href="qglcolormap.html">QGLColormap</a>&nbsp;&amp; <a name="colormap"></a>QGLWidget::colormap () const
+</h3>
+
+<p> Returns the colormap for this widget.
+<p> Usually it is only top-level widgets that can have different
+colormaps installed. Asking for the colormap of a child widget
+will return the colormap for the child's top-level widget.
+<p> If no colormap has been set for this widget, the QColormap
+returned will be empty.
+<p> <p>See also <a href="#setColormap">setColormap</a>().
+
+<h3 class=fn>const&nbsp;<a href="qglcontext.html">QGLContext</a>&nbsp;* <a name="context"></a>QGLWidget::context () const
+</h3>
+
+<p> Returns the context of this widget.
+<p> It is possible that the context is not valid (see <a href="#isValid">isValid</a>()), for
+example, if the underlying hardware does not support the format
+attributes that were requested.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertToGLFormat"></a>QGLWidget::convertToGLFormat ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img )<tt> [static]</tt>
+</h3>
+Converts the image <em>img</em> into the unnamed format expected by
+OpenGL functions such as glTexImage2D(). The returned image is not
+usable as a <a href="qimage.html">QImage</a>, but <a href="qimage.html#width">QImage::width</a>(), <a href="qimage.html#height">QImage::height</a>() and
+<a href="qimage.html#bits">QImage::bits</a>() may be used with OpenGL. The following few lines
+are from the texture example. Most of the code is irrelevant, so
+we just quote the relevant bits:
+<p>
+
+<pre> <a href="qimage.html">QImage</a> tex1, tex2, buf;
+ if ( !buf.load( "gllogo.bmp" ) ) { // Load first image from file
+</pre>
+<p> We create <em>tex1</em> (and another variable) for OpenGL, and load a real
+image into <em>buf</em>.
+<p> <pre> <a name="x2118"></a> tex1 = QGLWidget::<a href="#convertToGLFormat">convertToGLFormat</a>( buf ); // flipped 32bit RGBA
+</pre>
+<p> A few lines later, we convert <em>buf</em> into OpenGL format and store it
+in <em>tex1</em>.
+<p> <pre> <a name="x2121"></a><a name="x2120"></a> glTexImage2D( GL_TEXTURE_2D, 0, 3, tex1.<a href="qimage.html#width">width</a>(), tex1.<a href="qimage.html#height">height</a>(), 0,
+ <a name="x2119"></a> GL_RGBA, GL_UNSIGNED_BYTE, tex1.<a href="qimage.html#bits">bits</a>() );
+</pre>
+<p> Note the dimension restrictions for texture images as described in
+the glTexImage2D() documentation. The width must be 2^m + 2*border
+and the height 2^n + 2*border where m and n are integers and
+border is either 0 or 1.
+<p> Another function in the same example uses <em>tex1</em> with OpenGL.
+
+<p>Example: <a href="qglwidget.html#x2118">opengl/texture/gltexobj.cpp</a>.
+<h3 class=fn>void <a name="doneCurrent"></a>QGLWidget::doneCurrent ()
+</h3>
+
+<p> Makes no GL context the current context. Normally, you do not need
+to call this function; <a href="qglcontext.html">QGLContext</a> calls it as necessary. However,
+it may be useful in multithreaded environments.
+
+<h3 class=fn>bool <a name="doubleBuffer"></a>QGLWidget::doubleBuffer () const
+</h3>
+
+<p> Returns TRUE if the contained GL rendering context has double
+buffering; otherwise returns FALSE.
+<p> <p>See also <a href="qglformat.html#doubleBuffer">QGLFormat::doubleBuffer</a>().
+
+<h3 class=fn><a href="qglformat.html">QGLFormat</a> <a name="format"></a>QGLWidget::format () const
+</h3>
+
+<p> Returns the format of the contained GL rendering context.
+
+<h3 class=fn>void <a name="glDraw"></a>QGLWidget::glDraw ()<tt> [virtual protected]</tt>
+</h3>
+Executes the virtual function <a href="#paintGL">paintGL</a>().
+<p> The widget's rendering context will become the current context and
+<a href="#initializeGL">initializeGL</a>() will be called if it hasn't already been called.
+
+<h3 class=fn>void <a name="glInit"></a>QGLWidget::glInit ()<tt> [virtual protected]</tt>
+</h3>
+Initializes OpenGL for this widget's context. Calls the virtual
+function <a href="#initializeGL">initializeGL</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="grabFrameBuffer"></a>QGLWidget::grabFrameBuffer ( bool&nbsp;withAlpha = FALSE )<tt> [virtual]</tt>
+</h3>
+Returns an image of the frame buffer. If <em>withAlpha</em> is TRUE the
+alpha channel is included.
+<p> Depending on your hardware, you can explicitly select which color
+buffer to grab with a glReadBuffer() call before calling this
+function.
+
+<h3 class=fn>void <a name="initializeGL"></a>QGLWidget::initializeGL ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called once before the first call to
+<a href="#paintGL">paintGL</a>() or <a href="#resizeGL">resizeGL</a>(), and then once whenever the widget has
+been assigned a new <a href="qglcontext.html">QGLContext</a>. Reimplement it in a subclass.
+<p> This function should set up any required OpenGL context rendering
+flags, defining display lists, etc.
+<p> There is no need to call <a href="#makeCurrent">makeCurrent</a>() because this has already
+been done when this function is called.
+
+<h3 class=fn>void <a name="initializeOverlayGL"></a>QGLWidget::initializeOverlayGL ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is used in the same manner as <a href="#initializeGL">initializeGL</a>()
+except that it operates on the widget's overlay context instead of
+the widget's main context. This means that <a href="#initializeOverlayGL">initializeOverlayGL</a>()
+is called once before the first call to <a href="#paintOverlayGL">paintOverlayGL</a>() or
+<a href="#resizeOverlayGL">resizeOverlayGL</a>(). Reimplement it in a subclass.
+<p> This function should set up any required OpenGL context rendering
+flags, defining display lists, etc. for the overlay context.
+<p> There is no need to call <a href="#makeOverlayCurrent">makeOverlayCurrent</a>() because this has
+already been done when this function is called.
+
+<h3 class=fn>bool <a name="isSharing"></a>QGLWidget::isSharing () const
+</h3>
+
+<p> Returns TRUE if display list sharing with another QGLWidget was
+requested in the constructor, and the GL system was able to
+provide it; otherwise returns FALSE. The GL system may fail to
+provide display list sharing if the two QGLWidgets use different
+formats.
+<p> <p>See also <a href="#format">format</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QGLWidget::isValid () const
+</h3>
+
+<p> Returns TRUE if the widget has a valid GL rendering context;
+otherwise returns FALSE. A widget will be invalid if the system
+has no <a href="qglformat.html#hasOpenGL">OpenGL support</a>.
+
+<h3 class=fn>void <a name="makeCurrent"></a>QGLWidget::makeCurrent ()<tt> [virtual]</tt>
+</h3>
+
+<p> Makes this widget the current widget for OpenGL operations, i.e.
+makes the widget's rendering context the current OpenGL rendering
+context.
+
+<h3 class=fn>void <a name="makeOverlayCurrent"></a>QGLWidget::makeOverlayCurrent ()<tt> [virtual]</tt>
+</h3>
+
+<p> Makes the overlay context of this widget current. Use this if you
+need to issue OpenGL commands to the overlay context outside of
+<a href="#initializeOverlayGL">initializeOverlayGL</a>(), <a href="#resizeOverlayGL">resizeOverlayGL</a>(), and <a href="#paintOverlayGL">paintOverlayGL</a>().
+<p> Does nothing if this widget has no overlay.
+<p> <p>See also <a href="#makeCurrent">makeCurrent</a>().
+
+<h3 class=fn>const&nbsp;<a href="qglcontext.html">QGLContext</a>&nbsp;* <a name="overlayContext"></a>QGLWidget::overlayContext () const
+</h3>
+
+<p> Returns the overlay context of this widget, or 0 if this widget
+has no overlay.
+<p> <p>See also <a href="#context">context</a>().
+
+<h3 class=fn>void <a name="paintEvent"></a>QGLWidget::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Handles paint events. Will cause the virtual <a href="#paintGL">paintGL</a>() function to
+be called.
+<p> The widget's rendering context will become the current context and
+<a href="#initializeGL">initializeGL</a>() will be called if it hasn't already been called.
+
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn>void <a name="paintGL"></a>QGLWidget::paintGL ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called whenever the widget needs to be
+painted. Reimplement it in a subclass.
+<p> There is no need to call <a href="#makeCurrent">makeCurrent</a>() because this has already
+been done when this function is called.
+
+<h3 class=fn>void <a name="paintOverlayGL"></a>QGLWidget::paintOverlayGL ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is used in the same manner as <a href="#paintGL">paintGL</a>()
+except that it operates on the widget's overlay context instead of
+the widget's main context. This means that <a href="#paintOverlayGL">paintOverlayGL</a>() is
+called whenever the widget's overlay needs to be painted.
+Reimplement it in a subclass.
+<p> There is no need to call <a href="#makeOverlayCurrent">makeOverlayCurrent</a>() because this has
+already been done when this function is called.
+
+<h3 class=fn>void <a name="qglClearColor"></a>QGLWidget::qglClearColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c ) const
+</h3>
+Convenience function for specifying the clearing color to OpenGL.
+Calls glClearColor (in RGBA mode) or glClearIndex (in color-index
+mode) with the color <em>c</em>. Applies to the current GL context.
+<p> <p>See also <a href="#qglColor">qglColor</a>(), <a href="qglcontext.html#currentContext">QGLContext::currentContext</a>(), and <a href="qcolor.html">QColor</a>.
+
+<h3 class=fn>void <a name="qglColor"></a>QGLWidget::qglColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c ) const
+</h3>
+Convenience function for specifying a drawing color to OpenGL.
+Calls glColor3 (in RGBA mode) or glIndex (in color-index mode)
+with the color <em>c</em>. Applies to the current GL context.
+<p> <p>See also <a href="#qglClearColor">qglClearColor</a>(), <a href="qglcontext.html#currentContext">QGLContext::currentContext</a>(), and <a href="qcolor.html">QColor</a>.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="renderPixmap"></a>QGLWidget::renderPixmap ( int&nbsp;w = 0, int&nbsp;h = 0, bool&nbsp;useContext = FALSE )<tt> [virtual]</tt>
+</h3>
+Renders the current scene on a pixmap and returns the pixmap.
+<p> You can use this method on both visible and invisible QGLWidgets.
+<p> This method will create a pixmap and a temporary <a href="qglcontext.html">QGLContext</a> to
+render on the pixmap. It will then call <a href="#initializeGL">initializeGL</a>(),
+<a href="#resizeGL">resizeGL</a>(), and <a href="#paintGL">paintGL</a>() on this context. Finally, the widget's
+original GL context is restored.
+<p> The size of the pixmap will be <em>w</em> pixels wide and <em>h</em> pixels
+high unless one of these parameters is 0 (the default), in which
+case the pixmap will have the same size as the widget.
+<p> If <em>useContext</em> is TRUE, this method will try to be more
+efficient by using the existing GL context to render the pixmap.
+The default is FALSE. Only use TRUE if you understand the risks.
+<p> Overlays are not rendered onto the pixmap.
+<p> If the GL rendering context and the desktop have different bit
+depths, the result will most likely look surprising.
+<p> Note that the creation of display lists, modifications of the view
+frustum etc. should be done from within initializeGL(). If this is
+not done, the temporary QGLContext will not be initialized
+properly, and the rendered pixmap may be incomplete/corrupted.
+
+<h3 class=fn>void <a name="renderText"></a>QGLWidget::renderText ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;fnt = QFont ( ), int&nbsp;listBase = 2000 )
+</h3>
+Renders the string <em>str</em> into the GL context of this widget.
+<p> <em>x</em> and <em>y</em> are specified in window coordinates, with the origin
+in the upper left-hand corner of the window. If <em>fnt</em> is not
+specified, the currently set application font will be used to
+render the string. To change the color of the rendered text you can
+use the glColor() call (or the <a href="#qglColor">qglColor</a>() convenience function),
+just before the <a href="#renderText">renderText</a>() call. Note that if you have
+GL_LIGHTING enabled, the string will not appear in the color you
+want. You should therefore switch lighting off before using
+renderText().
+<p> <em>listBase</em> specifies the index of the first display list that is
+generated by this function. The default value is 2000. 256 display
+lists will be generated, one for each of the first 256 characters
+in the font that is used to render the string. If several fonts are
+used in the same widget, the display lists for these fonts will
+follow the last generated list. You would normally not have to
+change this value unless you are using lists in the same range. The
+lists are deleted when the widget is destroyed.
+<p> Note: This function only works reliably with ASCII strings.
+
+<h3 class=fn>void <a name="renderText-2"></a>QGLWidget::renderText ( double&nbsp;x, double&nbsp;y, double&nbsp;z, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;fnt = QFont ( ), int&nbsp;listBase = 2000 )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>x</em>, <em>y</em> and <em>z</em> are specified in scene or object coordinates
+relative to the currently set projection and model matrices. This
+can be useful if you want to annotate models with text labels and
+have the labels move with the model as it is rotated etc.
+
+<h3 class=fn>void <a name="resizeEvent"></a>QGLWidget::resizeEvent ( <a href="qresizeevent.html">QResizeEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Handles resize events. Calls the virtual function <a href="#resizeGL">resizeGL</a>().
+
+<p>Reimplemented from <a href="qwidget.html#resizeEvent">QWidget</a>.
+<h3 class=fn>void <a name="resizeGL"></a>QGLWidget::resizeGL ( int&nbsp;width, int&nbsp;height )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called whenever the widget has been
+resized. The new size is passed in <em>width</em> and <em>height</em>.
+Reimplement it in a subclass.
+<p> There is no need to call <a href="#makeCurrent">makeCurrent</a>() because this has already
+been done when this function is called.
+
+<h3 class=fn>void <a name="resizeOverlayGL"></a>QGLWidget::resizeOverlayGL ( int&nbsp;width, int&nbsp;height )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is used in the same manner as <a href="#paintGL">paintGL</a>()
+except that it operates on the widget's overlay context instead of
+the widget's main context. This means that <a href="#resizeOverlayGL">resizeOverlayGL</a>() is
+called whenever the widget has been resized. The new size is
+passed in <em>width</em> and <em>height</em>. Reimplement it in a subclass.
+<p> There is no need to call <a href="#makeOverlayCurrent">makeOverlayCurrent</a>() because this has
+already been done when this function is called.
+
+<h3 class=fn>void <a name="setAutoBufferSwap"></a>QGLWidget::setAutoBufferSwap ( bool&nbsp;on )<tt> [protected]</tt>
+</h3>
+
+<p> If <em>on</em> is TRUE automatic GL buffer swapping is switched on;
+otherwise it is switched off.
+<p> If <em>on</em> is TRUE and the widget is using a double-buffered format,
+the background and foreground GL buffers will automatically be
+swapped after each <a href="#paintGL">paintGL</a>() call.
+<p> The buffer auto-swapping is on by default.
+<p> <p>See also <a href="#autoBufferSwap">autoBufferSwap</a>(), <a href="#doubleBuffer">doubleBuffer</a>(), and <a href="#swapBuffers">swapBuffers</a>().
+
+<h3 class=fn>void <a name="setColormap"></a>QGLWidget::setColormap ( const&nbsp;<a href="qglcolormap.html">QGLColormap</a>&nbsp;&amp;&nbsp;cmap )
+</h3>
+
+<p> Set the colormap for this widget to <em>cmap</em>. Usually it is only
+top-level widgets that can have colormaps installed.
+<p> <p>See also <a href="#colormap">colormap</a>().
+
+<h3 class=fn>void <a name="swapBuffers"></a>QGLWidget::swapBuffers ()<tt> [virtual]</tt>
+</h3>
+
+<p> Swaps the screen contents with an off-screen buffer. This only
+works if the widget's format specifies double buffer mode.
+<p> Normally, there is no need to explicitly call this function
+because it is done automatically after each widget repaint, i.e.
+each time after <a href="#paintGL">paintGL</a>() has been executed.
+<p> <p>See also <a href="#doubleBuffer">doubleBuffer</a>(), <a href="#setAutoBufferSwap">setAutoBufferSwap</a>(), and <a href="qglformat.html#setDoubleBuffer">QGLFormat::setDoubleBuffer</a>().
+
+<h3 class=fn>void <a name="updateGL"></a>QGLWidget::updateGL ()<tt> [virtual slot]</tt>
+</h3>
+
+<p> Updates the widget by calling <a href="#glDraw">glDraw</a>().
+
+<h3 class=fn>void <a name="updateOverlayGL"></a>QGLWidget::updateOverlayGL ()<tt> [virtual slot]</tt>
+</h3>
+
+<p> Updates the widget's overlay (if any). Will cause the virtual
+function <a href="#paintOverlayGL">paintOverlayGL</a>() to be executed.
+<p> The widget's rendering context will become the current context and
+<a href="#initializeGL">initializeGL</a>() will be called if it hasn't already been called.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgrid-h.html b/doc/html/qgrid-h.html
new file mode 100644
index 0000000..4bedd43
--- /dev/null
+++ b/doc/html/qgrid-h.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgrid.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgrid.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgrid.h</h1>
+
+<p>This is the verbatim text of the qgrid.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qgrid.h 3.3.8 edited Jan 11 14:38 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGRID_H
+#define QGRID_H
+
+#ifndef QT_H
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_GRID
+
+class QGridLayout;
+
+class Q_EXPORT QGrid : public QFrame
+{
+ Q_OBJECT
+public:
+ QGrid( int n, QWidget* parent=0, const char* name=0, WFlags f = 0 );
+ QGrid( int n, Orientation orient, QWidget* parent=0, const char* name=0,
+ WFlags f = 0 );
+
+ void setSpacing( int );
+ QSize sizeHint() const;
+
+#ifndef QT_NO_COMPAT
+ typedef Orientation Direction;
+#endif
+
+protected:
+ void frameChanged();
+
+private:
+ QGridLayout *lay;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QGrid( const QGrid &amp; );
+ QGrid&amp; operator=( const QGrid &amp; );
+#endif
+};
+
+#endif // QT_NO_GRID
+
+#endif // QGRID_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgrid-m.png b/doc/html/qgrid-m.png
new file mode 100644
index 0000000..555c6df
--- /dev/null
+++ b/doc/html/qgrid-m.png
Binary files differ
diff --git a/doc/html/qgrid-members.html b/doc/html/qgrid-members.html
new file mode 100644
index 0000000..56e7f3c
--- /dev/null
+++ b/doc/html/qgrid-members.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgrid.h:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGrid Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGrid</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgrid.html">QGrid</a>, including inherited members.
+
+<ul>
+<li><a href="qgrid.html#QGrid">QGrid</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qgrid.html#setSpacing">setSpacing</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgrid.html b/doc/html/qgrid.html
new file mode 100644
index 0000000..67b0a97
--- /dev/null
+++ b/doc/html/qgrid.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qgrid.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGrid Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGrid Class Reference</h1>
+
+<p>The QGrid widget provides simple geometry management of its children.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgrid-h.html">qgrid.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qgrid-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGrid"><b>QGrid</b></a> ( int&nbsp;n, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QGrid-2"><b>QGrid</b></a> ( int&nbsp;n, Orientation&nbsp;orient, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>void <a href="#setSpacing"><b>setSpacing</b></a> ( int&nbsp;space )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGrid widget provides simple geometry management of its children.
+<p>
+
+<p> The grid places its widgets either in columns or in rows depending
+on its orientation.
+<p> The number of rows <em>or</em> columns is defined in the constructor.
+All the grid's children will be placed and sized in accordance
+with their <a href="qwidget.html#sizeHint">sizeHint</a>() and <a href="qwidget.html#sizePolicy">sizePolicy</a>().
+<p> Use <a href="qframe.html#setMargin">setMargin</a>() to add space around the grid itself, and
+<a href="#setSpacing">setSpacing</a>() to add space between the widgets.
+<p> <center><img src="qgrid-m.png" alt="QGrid"></center>
+<p> <p>See also <a href="qvbox.html">QVBox</a>, <a href="qhbox.html">QHBox</a>, <a href="qgridlayout.html">QGridLayout</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGrid"></a>QGrid::QGrid ( int&nbsp;n, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a grid widget with parent <em>parent</em>, called <em>name</em>.
+<em>n</em> specifies the number of columns. The widget flags <em>f</em> are
+passed to the <a href="qframe.html">QFrame</a> constructor.
+
+<h3 class=fn><a name="QGrid-2"></a>QGrid::QGrid ( int&nbsp;n, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orient, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a grid widget with parent <em>parent</em>, called <em>name</em>.
+If <em>orient</em> is <a href="qt.html#Orientation-enum">Horizontal</a>, <em>n</em> specifies the number of
+columns. If <em>orient</em> is <a href="qt.html#Orientation-enum">Vertical</a>, <em>n</em> specifies the number of
+rows. The widget flags <em>f</em> are passed to the <a href="qframe.html">QFrame</a> constructor.
+
+<h3 class=fn>void <a name="setSpacing"></a>QGrid::setSpacing ( int&nbsp;space )
+</h3>
+Sets the spacing between the child widgets to <em>space</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgridlayout-members.html b/doc/html/qgridlayout-members.html
new file mode 100644
index 0000000..144bb3b
--- /dev/null
+++ b/doc/html/qgridlayout-members.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:288 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGridLayout Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGridLayout</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgridlayout.html">QGridLayout</a>, including inherited members.
+
+<ul>
+<li><a href="qgridlayout.html#QGridLayout">QGridLayout</a>()
+<li><a href="qgridlayout.html#~QGridLayout">~QGridLayout</a>()
+<li><a href="qlayout.html#activate">activate</a>()
+<li><a href="qgridlayout.html#add">add</a>()
+<li><a href="qlayout.html#addChildLayout">addChildLayout</a>()
+<li><a href="qgridlayout.html#addColSpacing">addColSpacing</a>()
+<li><a href="qgridlayout.html#addItem">addItem</a>()
+<li><a href="qgridlayout.html#addLayout">addLayout</a>()
+<li><a href="qgridlayout.html#addMultiCell">addMultiCell</a>()
+<li><a href="qgridlayout.html#addMultiCellLayout">addMultiCellLayout</a>()
+<li><a href="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</a>()
+<li><a href="qgridlayout.html#addRowSpacing">addRowSpacing</a>()
+<li><a href="qgridlayout.html#addWidget">addWidget</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayout.html#alignmentRect">alignmentRect</a>()
+<li><a href="qlayout.html#autoAdd">autoAdd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qgridlayout.html#cellGeometry">cellGeometry</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qgridlayout.html#colSpacing">colSpacing</a>()
+<li><a href="qgridlayout.html#colStretch">colStretch</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qlayout.html#deleteAllItems">deleteAllItems</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qgridlayout.html#expand">expand</a>()
+<li><a href="qgridlayout.html#expanding">expanding</a>()
+<li><a href="qgridlayout.html#findWidget">findWidget</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qgridlayout.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qgridlayout.html#heightForWidth">heightForWidth</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qgridlayout.html#invalidate">invalidate</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qlayout.html#isEmpty">isEmpty</a>()
+<li><a href="qlayout.html#isEnabled">isEnabled</a>()
+<li><a href="qlayout.html#isTopLevel">isTopLevel</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlayout.html#iterator">iterator</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayout.html#mainWidget">mainWidget</a>()
+<li><a href="qlayout.html#margin">margin</a>()
+<li><a href="qgridlayout.html#maximumSize">maximumSize</a>()
+<li><a href="qlayout.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qgridlayout.html#minimumSize">minimumSize</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qgridlayout.html#numCols">numCols</a>()
+<li><a href="qgridlayout.html#numRows">numRows</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgridlayout.html#origin">origin</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qlayout.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlayout.html#removeItem">removeItem</a>()
+<li><a href="qlayout.html#resizeMode">resizeMode</a>()
+<li><a href="qgridlayout.html#rowSpacing">rowSpacing</a>()
+<li><a href="qgridlayout.html#rowStretch">rowStretch</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayout.html#setAutoAdd">setAutoAdd</a>()
+<li><a href="qgridlayout.html#setColSpacing">setColSpacing</a>()
+<li><a href="qgridlayout.html#setColStretch">setColStretch</a>()
+<li><a href="qlayout.html#setEnabled">setEnabled</a>()
+<li><a href="qgridlayout.html#setGeometry">setGeometry</a>()
+<li><a href="qlayout.html#setMargin">setMargin</a>()
+<li><a href="qlayout.html#setMenuBar">setMenuBar</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgridlayout.html#setOrigin">setOrigin</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlayout.html#setResizeMode">setResizeMode</a>()
+<li><a href="qgridlayout.html#setRowSpacing">setRowSpacing</a>()
+<li><a href="qgridlayout.html#setRowStretch">setRowStretch</a>()
+<li><a href="qlayout.html#setSpacing">setSpacing</a>()
+<li><a href="qlayout.html#setSupportsMargin">setSupportsMargin</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qgridlayout.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayout.html#spacing">spacing</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qlayout.html#supportsMargin">supportsMargin</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgridlayout.html b/doc/html/qgridlayout.html
new file mode 100644
index 0000000..ba97e7f
--- /dev/null
+++ b/doc/html/qgridlayout.html
@@ -0,0 +1,424 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qlayout.cpp:884 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGridLayout Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGridLayout Class Reference</h1>
+
+<p>The QGridLayout class lays out widgets in a grid.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qlayout.html">QLayout</a>.
+<p><a href="qgridlayout-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGridLayout"><b>QGridLayout</b></a> ( QWidget&nbsp;*&nbsp;parent, int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;margin = 0, int&nbsp;space = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QGridLayout-2"><b>QGridLayout</b></a> ( int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QGridLayout-3"><b>QGridLayout</b></a> ( QLayout&nbsp;*&nbsp;parentLayout, int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QGridLayout"><b>~QGridLayout</b></a> ()</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRowStretch"><b>setRowStretch</b></a> ( int&nbsp;row, int&nbsp;stretch )</li>
+<li class=fn>virtual void <a href="#setColStretch"><b>setColStretch</b></a> ( int&nbsp;col, int&nbsp;stretch )</li>
+<li class=fn>int <a href="#rowStretch"><b>rowStretch</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>int <a href="#colStretch"><b>colStretch</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>void <a href="#setRowSpacing"><b>setRowSpacing</b></a> ( int&nbsp;row, int&nbsp;minSize )</li>
+<li class=fn>void <a href="#setColSpacing"><b>setColSpacing</b></a> ( int&nbsp;col, int&nbsp;minSize )</li>
+<li class=fn>int <a href="#rowSpacing"><b>rowSpacing</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>int <a href="#colSpacing"><b>colSpacing</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>int <a href="#numRows"><b>numRows</b></a> () const</li>
+<li class=fn>int <a href="#numCols"><b>numCols</b></a> () const</li>
+<li class=fn>QRect <a href="#cellGeometry"><b>cellGeometry</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual bool <a href="#hasHeightForWidth"><b>hasHeightForWidth</b></a> () const</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>virtual void <a href="#invalidate"><b>invalidate</b></a> ()</li>
+<li class=fn>virtual void <a href="#addItem-2"><b>addItem</b></a> ( QLayoutItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#addItem"><b>addItem</b></a> ( QLayoutItem&nbsp;*&nbsp;item, int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#addMultiCell"><b>addMultiCell</b></a> ( QLayoutItem&nbsp;*&nbsp;item, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )</li>
+<li class=fn>void <a href="#addWidget"><b>addWidget</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;row, int&nbsp;col, int&nbsp;alignment = 0 )</li>
+<li class=fn>void <a href="#addMultiCellWidget"><b>addMultiCellWidget</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )</li>
+<li class=fn>void <a href="#addLayout"><b>addLayout</b></a> ( QLayout&nbsp;*&nbsp;layout, int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#addMultiCellLayout"><b>addMultiCellLayout</b></a> ( QLayout&nbsp;*&nbsp;layout, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )</li>
+<li class=fn>void addRowSpacing ( int&nbsp;row, int&nbsp;minsize ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void addColSpacing ( int&nbsp;col, int&nbsp;minsize ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#expand"><b>expand</b></a> ( int&nbsp;nRows, int&nbsp;nCols )</li>
+<li class=fn>enum <a href="#Corner-enum"><b>Corner</b></a> { TopLeft, TopRight, BottomLeft, BottomRight }</li>
+<li class=fn>void <a href="#setOrigin"><b>setOrigin</b></a> ( Corner&nbsp;c )</li>
+<li class=fn>Corner <a href="#origin"><b>origin</b></a> () const</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>bool <a href="#findWidget"><b>findWidget</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;*&nbsp;row, int&nbsp;*&nbsp;col )</li>
+<li class=fn>void <a href="#add"><b>add</b></a> ( QLayoutItem&nbsp;*&nbsp;item, int&nbsp;row, int&nbsp;col )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QGridLayout class lays out widgets in a grid.
+<p>
+
+
+<p> QGridLayout takes the space made available to it (by its parent
+layout or by the <a href="qlayout.html#mainWidget">mainWidget</a>()), divides it up into rows and
+columns, and puts each widget it manages into the correct cell.
+<p> Columns and rows behave identically; we will discuss columns, but
+there are equivalent functions for rows.
+<p> Each column has a minimum width and a <a href="layout.html#stretch-factor">stretch factor</a>. The minimum
+width is the greatest of that set using <a href="#addColSpacing">addColSpacing</a>() and the
+minimum width of each widget in that column. The stretch factor is
+set using <a href="#setColStretch">setColStretch</a>() and determines how much of the available
+space the column will get over and above its necessary minimum.
+<p> Normally, each managed widget or layout is put into a cell of its
+own using <a href="#addWidget">addWidget</a>(), <a href="#addLayout">addLayout</a>() or by the <a href="qlayout.html#setAutoAdd">auto-add facility</a>. It is also
+possible for a widget to occupy multiple cells using
+<a href="#addMultiCellWidget">addMultiCellWidget</a>(). If you do this, QGridLayout will guess how
+to distribute the size over the columns/rows (based on the stretch
+factors).
+<p> To remove a widget from a layout, call <a href="qlayout.html#remove">remove</a>(). Calling
+<a href="qwidget.html#hide">QWidget::hide</a>() on a widget also effectively removes the widget
+from the layout until <a href="qwidget.html#show">QWidget::show</a>() is called.
+<p> This illustration shows a fragment of a dialog with a five-column,
+three-row grid (the grid is shown overlaid in magenta):
+<p> <center><img src="gridlayout.png"></center>
+<p> Columns 0, 2 and 4 in this dialog fragment are made up of a
+<a href="qlabel.html">QLabel</a>, a <a href="qlineedit.html">QLineEdit</a>, and a <a href="qlistbox.html">QListBox</a>. Columns 1 and 3 are
+placeholders made with <a href="#addColSpacing">addColSpacing</a>(). Row 0 consists of three
+QLabel objects, row 1 of three QLineEdit objects and row 2 of
+three QListBox objects. We used placeholder columns (1 and 3) to
+get the right amount of space between the columns.
+<p> Note that the columns and rows are not equally wide or tall. If
+you want two columns to have the same width, you must set their
+minimum widths and stretch factors to be the same yourself. You do
+this using addColSpacing() and <a href="#setColStretch">setColStretch</a>().
+<p> If the QGridLayout is not the top-level layout (i.e. does not
+manage all of the widget's area and children), you must add it to
+its parent layout when you create it, but before you do anything
+with it. The normal way to add a layout is by calling
+parentLayout-&gt;addLayout().
+<p> Once you have added your layout you can start putting widgets and
+other layouts into the cells of your grid layout using
+<a href="#addWidget">addWidget</a>(), <a href="#addLayout">addLayout</a>() and <a href="#addMultiCellWidget">addMultiCellWidget</a>().
+<p> QGridLayout also includes two margin widths: the border and the
+spacing. The border is the width of the reserved space along each
+of the QGridLayout's four sides. The spacing is the width of the
+automatically allocated spacing between neighboring boxes.
+<p> Both the border and the spacing are parameters of the constructor
+and default to 0.
+<p> <p>See also <a href="qgrid.html">QGrid</a>, <a href="layout.html">Layout Overview</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Corner-enum"></a>QGridLayout::Corner</h3>
+
+<p> This enum identifies which corner is the origin (0, 0) of the
+layout.
+<ul>
+<li><tt>QGridLayout::TopLeft</tt> - the top-left corner
+<li><tt>QGridLayout::TopRight</tt> - the top-right corner
+<li><tt>QGridLayout::BottomLeft</tt> - the bottom-left corner
+<li><tt>QGridLayout::BottomRight</tt> - the bottom-right corner
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGridLayout"></a>QGridLayout::QGridLayout ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;margin = 0, int&nbsp;space = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new QGridLayout with <em>nRows</em> rows, <em>nCols</em> columns
+and parent widget, <em>parent</em>. <em>parent</em> may not be 0. The grid
+layout is called <em>name</em>.
+<p> <em>margin</em> is the number of pixels between the edge of the widget
+and its managed children. <em>space</em> is the default number of pixels
+between cells. If <em>space</em> is -1, the value of <em>margin</em> is used.
+
+<h3 class=fn><a name="QGridLayout-2"></a>QGridLayout::QGridLayout ( int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new grid with <em>nRows</em> rows and <em>nCols</em> columns. If
+<em>spacing</em> is -1, this QGridLayout inherits its parent's
+<a href="qlayout.html#spacing">spacing</a>(); otherwise <em>spacing</em> is used. The grid layout is called
+<em>name</em>.
+<p> You must insert this grid into another layout. You can insert
+widgets and layouts into this layout at any time, but laying out
+will not be performed before this is inserted into another layout.
+
+<h3 class=fn><a name="QGridLayout-3"></a>QGridLayout::QGridLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;parentLayout, int&nbsp;nRows = 1, int&nbsp;nCols = 1, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new grid that is placed inside <em>parentLayout</em> with
+<em>nRows</em> rows and <em>nCols</em> columns. If <em>spacing</em> is -1, this
+QGridLayout inherits its parent's <a href="qlayout.html#spacing">spacing</a>(); otherwise <em>spacing</em>
+is used. The grid layout is called <em>name</em>.
+<p> This grid is placed according to <em>parentLayout</em>'s default
+placement rules.
+
+<h3 class=fn><a name="~QGridLayout"></a>QGridLayout::~QGridLayout ()
+</h3>
+Destroys the grid layout. Geometry management is terminated if
+this is a top-level grid.
+<p> The layout's widgets aren't destroyed.
+
+<h3 class=fn>void <a name="add"></a>QGridLayout::add ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item, int&nbsp;row, int&nbsp;col )<tt> [protected]</tt>
+</h3>
+Adds <em>item</em> at position <em>row</em>, <em>col</em>. The layout takes
+ownership of the <em>item</em>.
+
+<h3 class=fn>void <a name="addColSpacing"></a>QGridLayout::addColSpacing ( int&nbsp;col, int&nbsp;minsize )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the minimum width of column <em>col</em> to <em>minsize</em> pixels.
+<p> Use <a href="#setColSpacing">setColSpacing</a>() instead.
+
+<h3 class=fn>void <a name="addItem"></a>QGridLayout::addItem ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item, int&nbsp;row, int&nbsp;col )
+</h3>
+Adds <em>item</em> at position <em>row</em>, <em>col</em>. The layout takes
+ownership of the <em>item</em>.
+
+<h3 class=fn>void <a name="addItem-2"></a>QGridLayout::addItem ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds <em>item</em> to the next free position of this layout.
+
+<p>Reimplemented from <a href="qlayout.html#addItem">QLayout</a>.
+<h3 class=fn>void <a name="addLayout"></a>QGridLayout::addLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;layout, int&nbsp;row, int&nbsp;col )
+</h3>
+Places the <em>layout</em> at position (<em>row</em>, <em>col</em>) in the grid. The
+top-left position is (0, 0).
+<p> <em>layout</em> becomes a child of the grid layout.
+<p> When a layout is constructed with another layout as its parent,
+you don't need to call <a href="#addLayout">addLayout</a>(); the child layout is
+automatically added to the parent layout as it is constructed.
+<p> <p>See also <a href="#addMultiCellLayout">addMultiCellLayout</a>().
+
+<p>Examples: <a href="listbox-example.html#x1430">listbox/listbox.cpp</a>, <a href="progressbar-example.html#x964">progressbar/progressbar.cpp</a>, <a href="tutorial1-10.html#x2365">t10/main.cpp</a>, and <a href="tutorial1-13.html#x2413">t13/gamebrd.cpp</a>.
+<h3 class=fn>void <a name="addMultiCell"></a>QGridLayout::addMultiCell ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )
+</h3>
+Adds the <em>item</em> to the cell grid, spanning multiple rows/columns.
+<p> The cell will span from <em>fromRow</em>, <em>fromCol</em> to <em>toRow</em>, <em>toCol</em>. Alignment is specified by <em>alignment</em>, which is a bitwise
+OR of <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0,
+which means that the widget fills the entire cell.
+
+<h3 class=fn>void <a name="addMultiCellLayout"></a>QGridLayout::addMultiCellLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;layout, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )
+</h3>
+Adds the layout <em>layout</em> to the cell grid, spanning multiple
+rows/columns. The cell will span from <em>fromRow</em>, <em>fromCol</em> to <em>toRow</em>, <em>toCol</em>.
+<p> Alignment is specified by <em>alignment</em>, which is a bitwise OR of
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0, which
+means that the widget fills the entire cell.
+<p> A non-zero alignment indicates that the layout should not grow to
+fill the available space but should be sized according to
+<a href="#sizeHint">sizeHint</a>().
+<p> <em>layout</em> becomes a child of the grid layout.
+<p> <p>See also <a href="#addLayout">addLayout</a>().
+
+<h3 class=fn>void <a name="addMultiCellWidget"></a>QGridLayout::addMultiCellWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;fromRow, int&nbsp;toRow, int&nbsp;fromCol, int&nbsp;toCol, int&nbsp;alignment = 0 )
+</h3>
+Adds the widget <em>w</em> to the cell grid, spanning multiple
+rows/columns. The cell will span from <em>fromRow</em>, <em>fromCol</em> to <em>toRow</em>, <em>toCol</em>.
+<p> Alignment is specified by <em>alignment</em>, which is a bitwise OR of
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0, which
+means that the widget fills the entire cell.
+<p> A non-zero alignment indicates that the widget should not grow to
+fill the available space but should be sized according to
+<a href="#sizeHint">sizeHint</a>().
+<p> <p>See also <a href="#addWidget">addWidget</a>().
+
+<p>Examples: <a href="cursor-example.html#x1116">cursor/cursor.cpp</a>, <a href="layout-example.html#x532">layout/layout.cpp</a>, and <a href="progressbar-example.html#x965">progressbar/progressbar.cpp</a>.
+<h3 class=fn>void <a name="addRowSpacing"></a>QGridLayout::addRowSpacing ( int&nbsp;row, int&nbsp;minsize )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the minimum height of row <em>row</em> to <em>minsize</em> pixels.
+<p> Use <a href="#setRowSpacing">setRowSpacing</a>() instead.
+
+<h3 class=fn>void <a name="addWidget"></a>QGridLayout::addWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;row, int&nbsp;col, int&nbsp;alignment = 0 )
+</h3>
+Adds the widget <em>w</em> to the cell grid at <em>row</em>, <em>col</em>. The
+top-left position is (0, 0) by default.
+<p> Alignment is specified by <em>alignment</em>, which is a bitwise OR of
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> values. The default alignment is 0, which
+means that the widget fills the entire cell.
+<p> <ul>
+<li> You should not call this if you have enabled the
+<a href="qlayout.html#setAutoAdd">auto-add facility of the layout</a>.
+<p> <li> From Qt 3.0, the <em>alignment</em> parameter is interpreted more
+aggressively than in previous versions of Qt. A non-default
+alignment now indicates that the widget should not grow to fill
+the available space, but should be sized according to <a href="#sizeHint">sizeHint</a>().
+</ul>
+<p> <p>See also <a href="#addMultiCellWidget">addMultiCellWidget</a>().
+
+<p>Examples: <a href="addressbook-example.html#x578">addressbook/centralwidget.cpp</a>, <a href="layout-example.html#x533">layout/layout.cpp</a>, <a href="rot-example.html#x1370">rot13/rot13.cpp</a>, <a href="sql.html#x2221">sql/overview/form1/main.cpp</a>, <a href="sql.html#x2230">sql/overview/form2/main.cpp</a>, <a href="tutorial1-14.html#x2441">t14/gamebrd.cpp</a>, and <a href="tutorial1-08.html#x2337">t8/main.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="cellGeometry"></a>QGridLayout::cellGeometry ( int&nbsp;row, int&nbsp;col ) const
+</h3>
+Returns the geometry of the cell with row <em>row</em> and column <em>col</em>
+in the grid. Returns an invalid rectangle if <em>row</em> or <em>col</em> is
+outside the grid.
+<p> <b>Warning:</b> in the current version of Qt this function does not
+return valid results until <a href="#setGeometry">setGeometry</a>() has been called, i.e.
+after the <a href="qlayout.html#mainWidget">mainWidget</a>() is visible.
+
+<h3 class=fn>int <a name="colSpacing"></a>QGridLayout::colSpacing ( int&nbsp;col ) const
+</h3>
+Returns the column spacing for column <em>col</em>.
+<p> <p>See also <a href="#setColSpacing">setColSpacing</a>().
+
+<h3 class=fn>int <a name="colStretch"></a>QGridLayout::colStretch ( int&nbsp;col ) const
+</h3>
+Returns the <a href="layout.html#stretch-factor">stretch factor</a> for column <em>col</em>.
+<p> <p>See also <a href="#setColStretch">setColStretch</a>().
+
+<h3 class=fn>void <a name="expand"></a>QGridLayout::expand ( int&nbsp;nRows, int&nbsp;nCols )
+</h3>
+Expands this grid so that it will have <em>nRows</em> rows and <em>nCols</em>
+columns. Will not shrink the grid. You should not need to call
+this function because QGridLayout expands automatically as new
+items are inserted.
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QGridLayout::expanding () const<tt> [virtual]</tt>
+</h3>
+Returns whether this layout can make use of more space than
+<a href="#sizeHint">sizeHint</a>(). A value of <a href="qt.html#Orientation-enum">Vertical</a> or <a href="qt.html#Orientation-enum">Horizontal</a> means that it wants
+to grow in only one dimension, whereas <tt>BothDirections</tt> means that
+it wants to grow in both dimensions.
+
+<p>Reimplemented from <a href="qlayout.html#expanding">QLayout</a>.
+<h3 class=fn>bool <a name="findWidget"></a>QGridLayout::findWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;*&nbsp;row, int&nbsp;*&nbsp;col )<tt> [protected]</tt>
+</h3>
+Searches for widget <em>w</em> in this layout (not including child
+layouts). If <em>w</em> is found, it sets <tt>&lt;em&gt;row&lt;/em&gt;</tt> and <tt>&lt;em&gt;col&lt;/em&gt;</tt> to
+the row and column and returns TRUE; otherwise returns FALSE.
+<p> Note: if a widget spans multiple rows/columns, the top-left cell
+is returned.
+
+<h3 class=fn>bool <a name="hasHeightForWidth"></a>QGridLayout::hasHeightForWidth () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this layout's preferred height depends on its
+width; otherwise returns FALSE.
+
+<p>Reimplemented from <a href="qlayoutitem.html#hasHeightForWidth">QLayoutItem</a>.
+<h3 class=fn>int <a name="heightForWidth"></a>QGridLayout::heightForWidth ( int&nbsp;w ) const<tt> [virtual]</tt>
+</h3>
+Returns the layout's preferred height when it is <em>w</em> pixels wide.
+
+<p>Reimplemented from <a href="qlayoutitem.html#heightForWidth">QLayoutItem</a>.
+<h3 class=fn>void <a name="invalidate"></a>QGridLayout::invalidate ()<tt> [virtual]</tt>
+</h3>
+Resets cached information.
+
+<p>Reimplemented from <a href="qlayout.html#invalidate">QLayout</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QGridLayout::maximumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the maximum size needed by this grid.
+
+<p>Reimplemented from <a href="qlayout.html#maximumSize">QLayout</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QGridLayout::minimumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the minimum size needed by this grid.
+
+<p>Reimplemented from <a href="qlayout.html#minimumSize">QLayout</a>.
+<h3 class=fn>int <a name="numCols"></a>QGridLayout::numCols () const
+</h3>
+Returns the number of columns in this grid.
+
+<h3 class=fn>int <a name="numRows"></a>QGridLayout::numRows () const
+</h3>
+Returns the number of rows in this grid.
+
+<h3 class=fn><a href="qgridlayout.html#Corner-enum">Corner</a> <a name="origin"></a>QGridLayout::origin () const
+</h3>
+Returns the corner that's used for the grid's origin, i.e. for
+position (0, 0).
+
+<h3 class=fn>int <a name="rowSpacing"></a>QGridLayout::rowSpacing ( int&nbsp;row ) const
+</h3>
+Returns the row spacing for row <em>row</em>.
+<p> <p>See also <a href="#setRowSpacing">setRowSpacing</a>().
+
+<h3 class=fn>int <a name="rowStretch"></a>QGridLayout::rowStretch ( int&nbsp;row ) const
+</h3>
+Returns the <a href="layout.html#stretch-factor">stretch factor</a> for row <em>row</em>.
+<p> <p>See also <a href="#setRowStretch">setRowStretch</a>().
+
+<h3 class=fn>void <a name="setColSpacing"></a>QGridLayout::setColSpacing ( int&nbsp;col, int&nbsp;minSize )
+</h3>
+Sets the minimum width of column <em>col</em> to <em>minSize</em> pixels.
+<p> <p>See also <a href="#colSpacing">colSpacing</a>() and <a href="#setRowSpacing">setRowSpacing</a>().
+
+<h3 class=fn>void <a name="setColStretch"></a>QGridLayout::setColStretch ( int&nbsp;col, int&nbsp;stretch )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="layout.html#stretch-factor">stretch factor</a> of column <em>col</em> to <em>stretch</em>. The first
+column is number 0.
+<p> The stretch factor is relative to the other columns in this grid.
+Columns with a higher stretch factor take more of the available
+space.
+<p> The default stretch factor is 0. If the stretch factor is 0 and no
+other column in this table can grow at all, the column may still
+grow.
+<p> <p>See also <a href="#colStretch">colStretch</a>(), <a href="#addColSpacing">addColSpacing</a>(), and <a href="#setRowStretch">setRowStretch</a>().
+
+<p>Examples: <a href="layout-example.html#x534">layout/layout.cpp</a>, <a href="tutorial1-14.html#x2442">t14/gamebrd.cpp</a>, and <a href="tutorial1-08.html#x2338">t8/main.cpp</a>.
+<h3 class=fn>void <a name="setGeometry"></a>QGridLayout::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Resizes managed widgets within the rectangle <em>r</em>.
+
+<p>Reimplemented from <a href="qlayout.html#setGeometry">QLayout</a>.
+<h3 class=fn>void <a name="setOrigin"></a>QGridLayout::setOrigin ( <a href="qgridlayout.html#Corner-enum">Corner</a>&nbsp;c )
+</h3>
+Sets the grid's origin corner, i.e. position (0, 0), to <em>c</em>.
+
+<h3 class=fn>void <a name="setRowSpacing"></a>QGridLayout::setRowSpacing ( int&nbsp;row, int&nbsp;minSize )
+</h3>
+Sets the minimum height of row <em>row</em> to <em>minSize</em> pixels.
+<p> <p>See also <a href="#rowSpacing">rowSpacing</a>() and <a href="#setColSpacing">setColSpacing</a>().
+
+<h3 class=fn>void <a name="setRowStretch"></a>QGridLayout::setRowStretch ( int&nbsp;row, int&nbsp;stretch )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="layout.html#stretch-factor">stretch factor</a> of row <em>row</em> to <em>stretch</em>. The first row
+is number 0.
+<p> The stretch factor is relative to the other rows in this grid.
+Rows with a higher stretch factor take more of the available
+space.
+<p> The default stretch factor is 0. If the stretch factor is 0 and no
+other row in this table can grow at all, the row may still grow.
+<p> <p>See also <a href="#rowStretch">rowStretch</a>(), <a href="#setRowSpacing">setRowSpacing</a>(), and <a href="#setColStretch">setColStretch</a>().
+
+<p>Examples: <a href="addressbook-example.html#x579">addressbook/centralwidget.cpp</a> and <a href="qaxcontainer-example-qutlook.html#x2722">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QGridLayout::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns the preferred size of this grid.
+
+<p>Reimplemented from <a href="qlayoutitem.html#sizeHint">QLayoutItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgridview-h.html b/doc/html/qgridview-h.html
new file mode 100644
index 0000000..98b0f44
--- /dev/null
+++ b/doc/html/qgridview-h.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgridview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgridview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgridview.h</h1>
+
+<p>This is the verbatim text of the qgridview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qgridview.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QGridView class
+**
+** Created : 010523
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGRIDVIEW_H
+#define QGRIDVIEW_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#endif // QT_H
+
+#ifndef QT_NO_GRIDVIEW
+
+class QGridViewPrivate;
+
+class Q_EXPORT QGridView : public QScrollView
+{
+ Q_OBJECT
+ Q_PROPERTY( int numRows READ numRows WRITE setNumRows )
+ Q_PROPERTY( int numCols READ numCols WRITE setNumCols )
+ Q_PROPERTY( int cellWidth READ cellWidth WRITE setCellWidth )
+ Q_PROPERTY( int cellHeight READ cellHeight WRITE setCellHeight )
+public:
+
+ QGridView( QWidget *parent=0, const char *name=0, WFlags f=0 );
+ ~QGridView();
+
+ int numRows() const;
+ virtual void setNumRows( int );
+ int numCols() const;
+ virtual void setNumCols( int );
+
+ int cellWidth() const;
+ virtual void setCellWidth( int );
+ int cellHeight() const;
+ virtual void setCellHeight( int );
+
+ QRect cellRect() const;
+ QRect cellGeometry( int row, int column );
+ QSize gridSize() const;
+
+ int rowAt( int y ) const;
+ int columnAt( int x ) const;
+
+ void repaintCell( int row, int column, bool erase=TRUE );
+ void updateCell( int row, int column );
+ void ensureCellVisible( int row, int column );
+
+protected:
+ virtual void paintCell( QPainter *, int row, int col ) = 0;
+ virtual void paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch );
+
+ void drawContents( QPainter *p, int cx, int cy, int cw, int ch );
+
+ virtual void dimensionChange( int, int );
+
+private:
+ void drawContents( QPainter* );
+ void updateGrid();
+
+ int nrows;
+ int ncols;
+ int cellw;
+ int cellh;
+ QGridViewPrivate* d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QGridView( const QGridView &amp; );
+ QGridView &amp;operator=( const QGridView &amp; );
+#endif
+};
+
+inline int QGridView::cellWidth() const
+{ return cellw; }
+
+inline int QGridView::cellHeight() const
+{ return cellh; }
+
+inline int QGridView::rowAt( int y ) const
+{ return y / cellh; }
+
+inline int QGridView::columnAt( int x ) const
+{ return x / cellw; }
+
+inline int QGridView::numRows() const
+{ return nrows; }
+
+inline int QGridView::numCols() const
+{return ncols; }
+
+inline QRect QGridView::cellRect() const
+{ return QRect( 0, 0, cellw, cellh ); }
+
+inline QSize QGridView::gridSize() const
+{ return QSize( ncols * cellw, nrows * cellh ); }
+
+
+
+#endif // QT_NO_GRIDVIEW
+
+
+#endif // QTABLEVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgridview-members.html b/doc/html/qgridview-members.html
new file mode 100644
index 0000000..ea3ce03
--- /dev/null
+++ b/doc/html/qgridview-members.html
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgridview.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGridView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGridView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgridview.html">QGridView</a>, including inherited members.
+
+<ul>
+<li><a href="qgridview.html#QGridView">QGridView</a>()
+<li><a href="qgridview.html#~QGridView">~QGridView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qgridview.html#cellGeometry">cellGeometry</a>()
+<li><a href="qgridview.html#cellHeight">cellHeight</a>()
+<li><a href="qgridview.html#cellRect">cellRect</a>()
+<li><a href="qgridview.html#cellWidth">cellWidth</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgridview.html#columnAt">columnAt</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qgridview.html#dimensionChange">dimensionChange</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qgridview.html#ensureCellVisible">ensureCellVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qgridview.html#gridSize">gridSize</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qgridview.html#numCols">numCols</a>()
+<li><a href="qgridview.html#numRows">numRows</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qgridview.html#paintCell">paintCell</a>()
+<li><a href="qgridview.html#paintEmptyArea">paintEmptyArea</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qgridview.html#repaintCell">repaintCell</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qgridview.html#rowAt">rowAt</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgridview.html#setCellHeight">setCellHeight</a>()
+<li><a href="qgridview.html#setCellWidth">setCellWidth</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgridview.html#setNumCols">setNumCols</a>()
+<li><a href="qgridview.html#setNumRows">setNumRows</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qgridview.html#updateCell">updateCell</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgridview.html b/doc/html/qgridview.html
new file mode 100644
index 0000000..c052dd4
--- /dev/null
+++ b/doc/html/qgridview.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qgridview.cpp:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGridView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGridView Class Reference</h1>
+
+<p>The QGridView class provides an abstract base for
+fixed-size grids.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgridview-h.html">qgridview.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p><a href="qgridview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGridView"><b>QGridView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QGridView"><b>~QGridView</b></a> ()</li>
+<li class=fn>int <a href="#numRows"><b>numRows</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNumRows"><b>setNumRows</b></a> ( int )</li>
+<li class=fn>int <a href="#numCols"><b>numCols</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNumCols"><b>setNumCols</b></a> ( int )</li>
+<li class=fn>int <a href="#cellWidth"><b>cellWidth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCellWidth"><b>setCellWidth</b></a> ( int )</li>
+<li class=fn>int <a href="#cellHeight"><b>cellHeight</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCellHeight"><b>setCellHeight</b></a> ( int )</li>
+<li class=fn>QRect <a href="#cellRect"><b>cellRect</b></a> () const</li>
+<li class=fn>QRect <a href="#cellGeometry"><b>cellGeometry</b></a> ( int&nbsp;row, int&nbsp;column )</li>
+<li class=fn>QSize <a href="#gridSize"><b>gridSize</b></a> () const</li>
+<li class=fn>int <a href="#rowAt"><b>rowAt</b></a> ( int&nbsp;y ) const</li>
+<li class=fn>int <a href="#columnAt"><b>columnAt</b></a> ( int&nbsp;x ) const</li>
+<li class=fn>void <a href="#repaintCell"><b>repaintCell</b></a> ( int&nbsp;row, int&nbsp;column, bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#updateCell"><b>updateCell</b></a> ( int&nbsp;row, int&nbsp;column )</li>
+<li class=fn>void <a href="#ensureCellVisible"><b>ensureCellVisible</b></a> ( int&nbsp;row, int&nbsp;column )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#cellHeight-prop"><b>cellHeight</b></a>&nbsp;- the height of a grid row</li>
+<li class=fn>int <a href="#cellWidth-prop"><b>cellWidth</b></a>&nbsp;- the width of a grid column</li>
+<li class=fn>int <a href="#numCols-prop"><b>numCols</b></a>&nbsp;- the number of columns in the grid</li>
+<li class=fn>int <a href="#numRows-prop"><b>numRows</b></a>&nbsp;- the number of rows in the grid</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paintCell"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col ) = 0</li>
+<li class=fn>virtual void <a href="#paintEmptyArea"><b>paintEmptyArea</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )</li>
+<li class=fn>virtual void <a href="#dimensionChange"><b>dimensionChange</b></a> ( int&nbsp;oldNumRows, int&nbsp;oldNumCols )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGridView class provides an abstract base for
+fixed-size grids.
+<p>
+<p> A grid view consists of a number of abstract cells organized in
+rows and columns. The cells have a fixed size and are identified
+with a row index and a column index. The top-left cell is in row
+0, column 0. The bottom-right cell is in row <a href="#numRows">numRows</a>()-1, column
+<a href="#numCols">numCols</a>()-1.
+<p> You can define <a href="#numRows-prop">numRows</a>, <a href="#numCols-prop">numCols</a>, <a href="#cellWidth-prop">cellWidth</a> and <a href="#cellHeight-prop">cellHeight</a>. Reimplement the pure virtual function <a href="#paintCell">paintCell</a>() to
+draw the contents of a cell.
+<p> With <a href="#ensureCellVisible">ensureCellVisible</a>(), you can ensure a certain cell is
+visible. With <a href="#rowAt">rowAt</a>() and <a href="#columnAt">columnAt</a>() you can find a cell based on
+the given x- and y-coordinates.
+<p> If you need to monitor changes to the grid's dimensions (i.e. when
+numRows or numCols is changed), reimplement the <a href="#dimensionChange">dimensionChange</a>()
+change handler.
+<p> Note: the row and column indices are always given in the order,
+row (vertical offset) then column (horizontal offset). This order
+is the opposite of all pixel operations, which are given in the
+order x (horizontal offset), y (vertical offset).
+<p> QGridView is a very simple abstract class based on <a href="qscrollview.html">QScrollView</a>. It
+is designed to simplify the task of drawing many cells of the same
+size in a potentially scrollable canvas. If you need rows and
+columns with different sizes, use a <a href="qtable.html">QTable</a> instead. If you need a
+simple list of items, use a <a href="qlistbox.html">QListBox</a>. If you need to present
+hierachical data use a <a href="qlistview.html">QListView</a>, and if you need random objects
+at random positions, consider using either a <a href="qiconview.html">QIconView</a> or a
+<a href="qcanvas.html">QCanvas</a>.
+<p>See also <a href="abstractwidgets.html">Abstract Widget Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGridView"></a>QGridView::QGridView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a grid view.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments are passed
+to the <a href="qscrollview.html">QScrollView</a> constructor.
+
+<h3 class=fn><a name="~QGridView"></a>QGridView::~QGridView ()
+</h3>
+Destroys the grid view.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="cellGeometry"></a>QGridView::cellGeometry ( int&nbsp;row, int&nbsp;column )
+</h3>
+Returns the geometry of cell (<em>row</em>, <em>column</em>) in the content
+coordinate system.
+<p> <p>See also <a href="#cellRect">cellRect</a>().
+
+<h3 class=fn>int <a name="cellHeight"></a>QGridView::cellHeight () const
+</h3><p>Returns the height of a grid row.
+See the <a href="qgridview.html#cellHeight-prop">"cellHeight"</a> property for details.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="cellRect"></a>QGridView::cellRect () const
+</h3>
+
+<p> Returns the geometry of a cell in a cell's coordinate system. This
+is a convenience function useful in <a href="#paintCell">paintCell</a>(). It is equivalent
+to <a href="qrect.html">QRect</a>( 0, 0, <a href="#cellWidth">cellWidth</a>(), <a href="#cellHeight">cellHeight</a>() ).
+<p> <p>See also <a href="#cellGeometry">cellGeometry</a>().
+
+<p>
+<h3 class=fn>int <a name="cellWidth"></a>QGridView::cellWidth () const
+</h3><p>Returns the width of a grid column.
+See the <a href="qgridview.html#cellWidth-prop">"cellWidth"</a> property for details.
+<h3 class=fn>int <a name="columnAt"></a>QGridView::columnAt ( int&nbsp;x ) const
+</h3>
+
+<p> Returns the number of the column at position <em>x</em>. <em>x</em> must be
+given in content coordinates.
+<p> <p>See also <a href="#rowAt">rowAt</a>().
+
+<h3 class=fn>void <a name="dimensionChange"></a>QGridView::dimensionChange ( int&nbsp;oldNumRows, int&nbsp;oldNumCols )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This change handler is called whenever any of the grid's
+dimensions change. <em>oldNumRows</em> and <em>oldNumCols</em> contain the
+old dimensions, <a href="#numRows">numRows</a>() and <a href="#numCols">numCols</a>() contain the new
+dimensions.
+
+<h3 class=fn>void <a name="ensureCellVisible"></a>QGridView::ensureCellVisible ( int&nbsp;row, int&nbsp;column )
+</h3>
+Ensures cell (<em>row</em>, <em>column</em>) is visible, scrolling the grid
+view if necessary.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="gridSize"></a>QGridView::gridSize () const
+</h3>
+
+<p> Returns the size of the grid in pixels.
+<p>
+<h3 class=fn>int <a name="numCols"></a>QGridView::numCols () const
+</h3><p>Returns the number of columns in the grid.
+See the <a href="qgridview.html#numCols-prop">"numCols"</a> property for details.
+<h3 class=fn>int <a name="numRows"></a>QGridView::numRows () const
+</h3><p>Returns the number of rows in the grid.
+See the <a href="qgridview.html#numRows-prop">"numRows"</a> property for details.
+<h3 class=fn>void <a name="paintCell"></a>QGridView::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> This pure virtual function is called to paint the single cell at
+(<em>row</em>, <em>col</em>) using painter <em>p</em>. The painter must be open when
+<a href="#paintCell">paintCell</a>() is called and must remain open.
+<p> The coordinate system is <a href="qpainter.html#translate">translated</a> so that the origin is at the top-left corner of the cell
+to be painted, i.e. <em>cell</em> coordinates. Do not scale or shear
+the coordinate system (or if you do, restore the <a href="qwmatrix.html#TransformationMode">transformation matrix</a> before you return).
+<p> The painter is not clipped by default in order to get maximum
+efficiency. If you want clipping, use
+<p> <pre>
+ p-&gt;setClipRect( <a href="#cellRect">cellRect</a>(), QPainter::CoordPainter );
+ //... your drawing code
+ p-&gt;setClipping( FALSE );
+
+ </pre>
+
+
+<h3 class=fn>void <a name="paintEmptyArea"></a>QGridView::paintEmptyArea ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )<tt> [virtual protected]</tt>
+</h3>
+This function fills the <em>cw</em> pixels wide and <em>ch</em> pixels high
+rectangle starting at position (<em>cx</em>, <em>cy</em>) with the background
+color using the painter <em>p</em>.
+<p> <a href="#paintEmptyArea">paintEmptyArea</a>() is invoked by <a href="qscrollview.html#drawContents">drawContents</a>() to erase or fill
+unused areas.
+
+<h3 class=fn>void <a name="repaintCell"></a>QGridView::repaintCell ( int&nbsp;row, int&nbsp;column, bool&nbsp;erase = TRUE )
+</h3>
+Repaints cell (<em>row</em>, <em>column</em>).
+<p> If <em>erase</em> is TRUE, Qt erases the area of the cell before the
+<a href="#paintCell">paintCell</a>() call; otherwise no erasing takes place.
+<p> <p>See also <a href="qwidget.html#repaint">QWidget::repaint</a>().
+
+<h3 class=fn>int <a name="rowAt"></a>QGridView::rowAt ( int&nbsp;y ) const
+</h3>
+
+<p> Returns the number of the row at position <em>y</em>. <em>y</em> must be given
+in content coordinates.
+<p> <p>See also <a href="#columnAt">columnAt</a>().
+
+<h3 class=fn>void <a name="setCellHeight"></a>QGridView::setCellHeight ( int )<tt> [virtual]</tt>
+</h3><p>Sets the height of a grid row.
+See the <a href="qgridview.html#cellHeight-prop">"cellHeight"</a> property for details.
+<h3 class=fn>void <a name="setCellWidth"></a>QGridView::setCellWidth ( int )<tt> [virtual]</tt>
+</h3><p>Sets the width of a grid column.
+See the <a href="qgridview.html#cellWidth-prop">"cellWidth"</a> property for details.
+<h3 class=fn>void <a name="setNumCols"></a>QGridView::setNumCols ( int )<tt> [virtual]</tt>
+</h3><p>Sets the number of columns in the grid.
+See the <a href="qgridview.html#numCols-prop">"numCols"</a> property for details.
+<h3 class=fn>void <a name="setNumRows"></a>QGridView::setNumRows ( int )<tt> [virtual]</tt>
+</h3><p>Sets the number of rows in the grid.
+See the <a href="qgridview.html#numRows-prop">"numRows"</a> property for details.
+<h3 class=fn>void <a name="updateCell"></a>QGridView::updateCell ( int&nbsp;row, int&nbsp;column )
+</h3>
+Updates cell (<em>row</em>, <em>column</em>).
+<p> <p>See also <a href="qwidget.html#update">QWidget::update</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="cellHeight-prop"></a>cellHeight</h3>
+<p>This property holds the height of a grid row.
+<p>All rows in a grid view have the same height.
+<p> <p>See also <a href="#cellWidth-prop">cellWidth</a>.
+
+<p>Set this property's value with <a href="#setCellHeight">setCellHeight</a>() and get this property's value with <a href="#cellHeight">cellHeight</a>().
+<h3 class=fn>int <a name="cellWidth-prop"></a>cellWidth</h3>
+<p>This property holds the width of a grid column.
+<p>All columns in a grid view have the same width.
+<p> <p>See also <a href="#cellHeight-prop">cellHeight</a>.
+
+<p>Set this property's value with <a href="#setCellWidth">setCellWidth</a>() and get this property's value with <a href="#cellWidth">cellWidth</a>().
+<h3 class=fn>int <a name="numCols-prop"></a>numCols</h3>
+<p>This property holds the number of columns in the grid.
+<p>Set this property's value with <a href="#setNumCols">setNumCols</a>() and get this property's value with <a href="#numCols">numCols</a>().
+<p><p>See also <a href="#numRows-prop">numRows</a>.
+
+<h3 class=fn>int <a name="numRows-prop"></a>numRows</h3>
+<p>This property holds the number of rows in the grid.
+<p>Set this property's value with <a href="#setNumRows">setNumRows</a>() and get this property's value with <a href="#numRows">numRows</a>().
+<p><p>See also <a href="#numCols-prop">numCols</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgroupbox-h.html b/doc/html/qgroupbox-h.html
new file mode 100644
index 0000000..377ea75
--- /dev/null
+++ b/doc/html/qgroupbox-h.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgroupbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qgroupbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgroupbox.h</h1>
+
+<p>This is the verbatim text of the qgroupbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qgroupbox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QGroupBox widget class
+**
+** Created : 950203
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGROUPBOX_H
+#define QGROUPBOX_H
+
+#ifndef QT_H
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_GROUPBOX
+
+
+class QAccel;
+class QGroupBoxPrivate;
+class QVBoxLayout;
+class QGridLayout;
+class QSpacerItem;
+
+class Q_EXPORT QGroupBox : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( QString title READ title WRITE setTitle )
+ Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
+ Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation DESIGNABLE false )
+ Q_PROPERTY( int columns READ columns WRITE setColumns DESIGNABLE false )
+ Q_PROPERTY( bool flat READ isFlat WRITE setFlat )
+#ifndef QT_NO_CHECKBOX
+ Q_PROPERTY( bool checkable READ isCheckable WRITE setCheckable )
+ Q_PROPERTY( bool checked READ isChecked WRITE setChecked )
+#endif
+public:
+ QGroupBox( QWidget* parent=0, const char* name=0 );
+ QGroupBox( const QString &amp;title,
+ QWidget* parent=0, const char* name=0 );
+ QGroupBox( int strips, Orientation o,
+ QWidget* parent=0, const char* name=0 );
+ QGroupBox( int strips, Orientation o, const QString &amp;title,
+ QWidget* parent=0, const char* name=0 );
+ ~QGroupBox();
+
+ virtual void setColumnLayout(int strips, Orientation o);
+
+ QString title() const { return str; }
+ virtual void setTitle( const QString &amp;);
+
+ int alignment() const { return align; }
+ virtual void setAlignment( int );
+
+ int columns() const;
+ void setColumns( int );
+
+ Orientation orientation() const { return dir; }
+ void setOrientation( Orientation );
+
+ int insideMargin() const;
+ int insideSpacing() const;
+ void setInsideMargin( int m );
+ void setInsideSpacing( int s );
+
+ void addSpace( int );
+ QSize sizeHint() const;
+
+ bool isFlat() const;
+ void setFlat( bool b );
+ bool isCheckable() const;
+#ifndef QT_NO_CHECKBOX
+ void setCheckable( bool b );
+#endif
+ bool isChecked() const;
+ void setEnabled(bool on);
+
+#ifndef QT_NO_CHECKBOX
+public slots:
+ void setChecked( bool b );
+
+signals:
+ void toggled( bool );
+#endif
+protected:
+ bool event( QEvent * );
+ void childEvent( QChildEvent * );
+ void resizeEvent( QResizeEvent * );
+ void paintEvent( QPaintEvent * );
+ void focusInEvent( QFocusEvent * );
+ void fontChange( const QFont &amp; );
+
+private slots:
+ void fixFocus();
+ void setChildrenEnabled( bool b );
+
+private:
+ void skip();
+ void init();
+ void calculateFrame();
+ void insertWid( QWidget* );
+ void setTextSpacer();
+#ifndef QT_NO_CHECKBOX
+ void updateCheckBoxGeometry();
+#endif
+ QString str;
+ int align;
+ int lenvisible;
+#ifndef QT_NO_ACCEL
+ QAccel * accel;
+#endif
+ QGroupBoxPrivate * d;
+
+ QVBoxLayout *vbox;
+ QGridLayout *grid;
+ int row;
+ int col : 30;
+ uint bFlat : 1;
+ int nRows, nCols;
+ Orientation dir;
+ int spac, marg;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QGroupBox( const QGroupBox &amp; );
+ QGroupBox &amp;operator=( const QGroupBox &amp; );
+#endif
+};
+
+
+#endif // QT_NO_GROUPBOX
+
+#endif // QGROUPBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgroupbox-members.html b/doc/html/qgroupbox-members.html
new file mode 100644
index 0000000..3e6fd97
--- /dev/null
+++ b/doc/html/qgroupbox-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgroupbox.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGroupBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGroupBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qgroupbox.html">QGroupBox</a>, including inherited members.
+
+<ul>
+<li><a href="qgroupbox.html#QGroupBox">QGroupBox</a>()
+<li><a href="qgroupbox.html#~QGroupBox">~QGroupBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgroupbox.html b/doc/html/qgroupbox.html
new file mode 100644
index 0000000..2b20eb0
--- /dev/null
+++ b/doc/html/qgroupbox.html
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qgroupbox.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGroupBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGroupBox Class Reference</h1>
+
+<p>The QGroupBox widget provides a group box frame with a title.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgroupbox-h.html">qgroupbox.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p>Inherited by <a href="qbuttongroup.html">QButtonGroup</a>, <a href="qhgroupbox.html">QHGroupBox</a>, and <a href="qvgroupbox.html">QVGroupBox</a>.
+<p><a href="qgroupbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGroupBox"><b>QGroupBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QGroupBox-2"><b>QGroupBox</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QGroupBox-3"><b>QGroupBox</b></a> ( int&nbsp;strips, Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QGroupBox-4"><b>QGroupBox</b></a> ( int&nbsp;strips, Orientation&nbsp;orientation, const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QGroupBox"><b>~QGroupBox</b></a> ()</li>
+<li class=fn>virtual void <a href="#setColumnLayout"><b>setColumnLayout</b></a> ( int&nbsp;strips, Orientation&nbsp;direction )</li>
+<li class=fn>QString <a href="#title"><b>title</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTitle"><b>setTitle</b></a> ( const QString &amp; )</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int )</li>
+<li class=fn>int <a href="#columns"><b>columns</b></a> () const</li>
+<li class=fn>void <a href="#setColumns"><b>setColumns</b></a> ( int )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</li>
+<li class=fn>int <a href="#insideMargin"><b>insideMargin</b></a> () const</li>
+<li class=fn>int <a href="#insideSpacing"><b>insideSpacing</b></a> () const</li>
+<li class=fn>void <a href="#setInsideMargin"><b>setInsideMargin</b></a> ( int&nbsp;m )</li>
+<li class=fn>void <a href="#setInsideSpacing"><b>setInsideSpacing</b></a> ( int&nbsp;s )</li>
+<li class=fn>void <a href="#addSpace"><b>addSpace</b></a> ( int&nbsp;size )</li>
+<li class=fn>bool <a href="#isFlat"><b>isFlat</b></a> () const</li>
+<li class=fn>void <a href="#setFlat"><b>setFlat</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isCheckable"><b>isCheckable</b></a> () const</li>
+<li class=fn>void <a href="#setCheckable"><b>setCheckable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isChecked"><b>isChecked</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setChecked"><b>setChecked</b></a> ( bool&nbsp;b )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>Alignment <a href="#alignment-prop"><b>alignment</b></a>&nbsp;- the alignment of the group box title</li>
+<li class=fn>bool <a href="#checkable-prop"><b>checkable</b></a>&nbsp;- whether the group box has a checkbox in its title</li>
+<li class=fn>bool <a href="#checked-prop"><b>checked</b></a>&nbsp;- whether the group box's checkbox is checked</li>
+<li class=fn>int <a href="#columns-prop"><b>columns</b></a>&nbsp;- the number of columns or rows (depending on \l QGroupBox::orientation) in the group box</li>
+<li class=fn>bool <a href="#flat-prop"><b>flat</b></a>&nbsp;- whether the group box is painted flat or has a frame</li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the group box's orientation</li>
+<li class=fn>QString <a href="#title-prop"><b>title</b></a>&nbsp;- the group box title text</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGroupBox widget provides a group box frame with a title.
+<p>
+
+
+
+<p> A group box provides a frame, a title and a keyboard shortcut, and
+displays various other widgets inside itself. The title is on top,
+the keyboard shortcut moves <a href="focus.html#keyboard-focus">keyboard focus</a> to one of the group
+box's child widgets, and the child widgets are usually laid out
+horizontally (or vertically) inside the frame.
+<p> The simplest way to use it is to create a group box with the
+desired number of columns (or rows) and orientation, and then just
+create widgets with the group box as parent.
+<p> It is also possible to change the <a href="#orientation">orientation</a>() and number of
+<a href="#columns">columns</a>() after construction, or to ignore all the automatic
+layout support and manage the layout yourself. You can add 'empty'
+spaces to the group box with <a href="#addSpace">addSpace</a>().
+<p> QGroupBox also lets you set the <a href="#title">title</a>() (normally set in the
+constructor) and the title's <a href="#alignment">alignment</a>().
+<p> You can change the spacing used by the group box with
+<a href="#setInsideMargin">setInsideMargin</a>() and <a href="#setInsideSpacing">setInsideSpacing</a>(). To minimize space
+consumption, you can remove the right, left and bottom edges of
+the frame with <a href="#setFlat">setFlat</a>().
+<p> <img src=qgrpbox-w.png>
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGroupBox"></a>QGroupBox::QGroupBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a group box widget with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> This constructor does not do automatic layout.
+
+<h3 class=fn><a name="QGroupBox-2"></a>QGroupBox::QGroupBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a group box with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> This constructor does not do automatic layout.
+
+<h3 class=fn><a name="QGroupBox-3"></a>QGroupBox::QGroupBox ( int&nbsp;strips, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a group box with no title. Child widgets will be
+arranged in <em>strips</em> rows or columns (depending on <em>orientation</em>).
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QGroupBox-4"></a>QGroupBox::QGroupBox ( int&nbsp;strips, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a group box titled <em>title</em>. Child widgets will be
+arranged in <em>strips</em> rows or columns (depending on <em>orientation</em>).
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QGroupBox"></a>QGroupBox::~QGroupBox ()
+</h3>
+Destroys the group box.
+
+<h3 class=fn>void <a name="addSpace"></a>QGroupBox::addSpace ( int&nbsp;size )
+</h3>
+Adds an empty cell at the next free position. If <em>size</em> is
+greater than 0, the empty cell takes <em>size</em> to be its fixed width
+(if <a href="#orientation">orientation</a>() is <a href="qt.html#Orientation-enum">Horizontal</a>) or height (if orientation() is
+<a href="qt.html#Orientation-enum">Vertical</a>).
+<p> Use this method to separate the widgets in the group box or to
+skip the next free cell. For performance reasons, call this method
+after calling <a href="#setColumnLayout">setColumnLayout</a>() or by changing the <a href="#columns-prop">QGroupBox::columns</a> or <a href="#orientation-prop">QGroupBox::orientation</a> properties. It is
+generally a good idea to call these methods first (if needed at
+all), and insert the widgets and spaces afterwards.
+
+<h3 class=fn>int <a name="alignment"></a>QGroupBox::alignment () const
+</h3><p>Returns the alignment of the group box title.
+See the <a href="qgroupbox.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>int <a name="columns"></a>QGroupBox::columns () const
+</h3><p>Returns the number of columns or rows (depending on <a href="#orientation-prop">QGroupBox::orientation</a>) in the group box.
+See the <a href="qgroupbox.html#columns-prop">"columns"</a> property for details.
+<h3 class=fn>int <a name="insideMargin"></a>QGroupBox::insideMargin () const
+</h3>
+Returns the width of the empty space between the items in the
+group and the frame of the group.
+<p> Only applies if the group box has a defined orientation.
+<p> The default is usually 11, by may vary depending on the platform
+and style.
+<p> <p>See also <a href="#setInsideMargin">setInsideMargin</a>() and <a href="#orientation-prop">orientation</a>.
+
+<h3 class=fn>int <a name="insideSpacing"></a>QGroupBox::insideSpacing () const
+</h3>
+Returns the width of the empty space between each of the items
+in the group.
+<p> Only applies if the group box has a defined orientation.
+<p> The default is usually 5, by may vary depending on the platform
+and style.
+<p> <p>See also <a href="#setInsideSpacing">setInsideSpacing</a>() and <a href="#orientation-prop">orientation</a>.
+
+<h3 class=fn>bool <a name="isCheckable"></a>QGroupBox::isCheckable () const
+</h3><p>Returns TRUE if the group box has a checkbox in its title; otherwise returns FALSE.
+See the <a href="qgroupbox.html#checkable-prop">"checkable"</a> property for details.
+<h3 class=fn>bool <a name="isChecked"></a>QGroupBox::isChecked () const
+</h3><p>Returns TRUE if the group box's checkbox is checked; otherwise returns FALSE.
+See the <a href="qgroupbox.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>bool <a name="isFlat"></a>QGroupBox::isFlat () const
+</h3><p>Returns TRUE if the group box is painted flat or has a frame; otherwise returns FALSE.
+See the <a href="qgroupbox.html#flat-prop">"flat"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QGroupBox::orientation () const
+</h3><p>Returns the group box's orientation.
+See the <a href="qgroupbox.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setAlignment"></a>QGroupBox::setAlignment ( int )<tt> [virtual]</tt>
+</h3><p>Sets the alignment of the group box title.
+See the <a href="qgroupbox.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>void <a name="setCheckable"></a>QGroupBox::setCheckable ( bool&nbsp;b )
+</h3><p>Sets whether the group box has a checkbox in its title to <em>b</em>.
+See the <a href="qgroupbox.html#checkable-prop">"checkable"</a> property for details.
+<h3 class=fn>void <a name="setChecked"></a>QGroupBox::setChecked ( bool&nbsp;b )<tt> [slot]</tt>
+</h3><p>Sets whether the group box's checkbox is checked to <em>b</em>.
+See the <a href="qgroupbox.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>void <a name="setColumnLayout"></a>QGroupBox::setColumnLayout ( int&nbsp;strips, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;direction )<tt> [virtual]</tt>
+</h3>
+Changes the layout of the group box. This function is only useful
+in combination with the default constructor that does not take any
+layout information. This function will put all existing children
+in the new layout. It is not good Qt programming style to call
+this function after children have been inserted. Sets the number
+of columns or rows to be <em>strips</em>, depending on <em>direction</em>.
+<p> <p>See also <a href="#orientation-prop">orientation</a> and <a href="#columns-prop">columns</a>.
+
+<p>Example: <a href="tutorial2-09.html#x2641">chart/optionsform.cpp</a>.
+<h3 class=fn>void <a name="setColumns"></a>QGroupBox::setColumns ( int )
+</h3><p>Sets the number of columns or rows (depending on <a href="#orientation-prop">QGroupBox::orientation</a>) in the group box.
+See the <a href="qgroupbox.html#columns-prop">"columns"</a> property for details.
+<h3 class=fn>void <a name="setFlat"></a>QGroupBox::setFlat ( bool&nbsp;b )
+</h3><p>Sets whether the group box is painted flat or has a frame to <em>b</em>.
+See the <a href="qgroupbox.html#flat-prop">"flat"</a> property for details.
+<h3 class=fn>void <a name="setInsideMargin"></a>QGroupBox::setInsideMargin ( int&nbsp;m )
+</h3>
+Sets the the width of the inside margin to <em>m</em> pixels.
+<p> <p>See also <a href="#insideMargin">insideMargin</a>().
+
+<h3 class=fn>void <a name="setInsideSpacing"></a>QGroupBox::setInsideSpacing ( int&nbsp;s )
+</h3>
+Sets the width of the empty space between each of the items in
+the group to <em>s</em> pixels.
+<p> <p>See also <a href="#insideSpacing">insideSpacing</a>().
+
+<h3 class=fn>void <a name="setOrientation"></a>QGroupBox::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )
+</h3><p>Sets the group box's orientation.
+See the <a href="qgroupbox.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setTitle"></a>QGroupBox::setTitle ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the group box title text.
+See the <a href="qgroupbox.html#title-prop">"title"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="title"></a>QGroupBox::title () const
+</h3><p>Returns the group box title text.
+See the <a href="qgroupbox.html#title-prop">"title"</a> property for details.
+<h3 class=fn>void <a name="toggled"></a>QGroupBox::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> If the group box has a check box (see <a href="#isCheckable">isCheckable</a>()) this signal
+is emitted when the check box is toggled. <em>on</em> is TRUE if the check
+box is checked; otherwise it is FALSE.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>Alignment <a name="alignment-prop"></a>alignment</h3>
+<p>This property holds the alignment of the group box title.
+<p>The title is always placed on the upper frame line. The horizontal
+alignment can be specified by the alignment parameter.
+<p> The alignment is one of the following flags:
+<ul>
+<li> <a href="qt.html#AlignmentFlags-enum">AlignAuto</a> aligns the title according to the language,
+usually to the left.
+<li> <a href="qt.html#AlignmentFlags-enum">AlignLeft</a> aligns the title text to the left.
+<li> <a href="qt.html#AlignmentFlags-enum">AlignRight</a> aligns the title text to the right.
+<li> <a href="qt.html#AlignmentFlags-enum">AlignHCenter</a> aligns the title text centered.
+</ul>
+<p> The default alignment is <a href="qt.html#AlignmentFlags-enum">AlignAuto</a>.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<p>Set this property's value with <a href="#setAlignment">setAlignment</a>() and get this property's value with <a href="#alignment">alignment</a>().
+<h3 class=fn>bool <a name="checkable-prop"></a>checkable</h3>
+<p>This property holds whether the group box has a checkbox in its title.
+<p>If this property is TRUE, the group box has a checkbox. If the
+checkbox is checked (which is the default), the group box's
+children are enabled.
+<p> <a href="#setCheckable">setCheckable</a>() controls whether or not the group box has a
+checkbox, and <a href="#isCheckable">isCheckable</a>() controls whether the checkbox is
+checked or not.
+
+<p>Set this property's value with <a href="#setCheckable">setCheckable</a>() and get this property's value with <a href="#isCheckable">isCheckable</a>().
+<h3 class=fn>bool <a name="checked-prop"></a>checked</h3>
+<p>This property holds whether the group box's checkbox is checked.
+<p>If the group box has a check box (see <a href="#isCheckable">isCheckable</a>()), and the
+check box is checked (see <a href="#isChecked">isChecked</a>()), the group box's children
+are enabled. If the checkbox is unchecked the children are
+disabled.
+
+<p>Set this property's value with <a href="#setChecked">setChecked</a>() and get this property's value with <a href="#isChecked">isChecked</a>().
+<h3 class=fn>int <a name="columns-prop"></a>columns</h3>
+<p>This property holds the number of columns or rows (depending on <a href="#orientation-prop">QGroupBox::orientation</a>) in the group box.
+<p>Usually it is not a good idea to set this property because it is
+slow (it does a complete layout). It is best to set the number
+of columns directly in the constructor.
+
+<p>Set this property's value with <a href="#setColumns">setColumns</a>() and get this property's value with <a href="#columns">columns</a>().
+<h3 class=fn>bool <a name="flat-prop"></a>flat</h3>
+<p>This property holds whether the group box is painted flat or has a frame.
+<p>By default a group box has a surrounding frame, with the title
+being placed on the upper frame line. In flat mode the right, left
+and bottom frame lines are omitted, and only the thin line at the
+top is drawn.
+<p> <p>See also <a href="#title-prop">title</a>.
+
+<p>Set this property's value with <a href="#setFlat">setFlat</a>() and get this property's value with <a href="#isFlat">isFlat</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the group box's orientation.
+<p>A horizontal group box arranges it's children in columns, while a
+vertical group box arranges them in rows.
+<p> Usually it is not a good idea to set this property because it is
+slow (it does a complete layout). It is better to set the
+orientation directly in the constructor.
+
+<p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="title-prop"></a>title</h3>
+<p>This property holds the group box title text.
+<p>The group box title text will have a focus-change keyboard
+accelerator if the title contains &amp;, followed by a letter.
+<p> <pre>
+ g-&gt;setTitle( "&amp;User information" );
+ </pre>
+
+This produces "<u>U</u>ser information"; Alt+U moves the <a href="focus.html#keyboard-focus">keyboard focus</a> to the group box.
+<p> There is no default title text.
+
+<p>Set this property's value with <a href="#setTitle">setTitle</a>() and get this property's value with <a href="#title">title</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qgroupboxes.png b/doc/html/qgroupboxes.png
new file mode 100644
index 0000000..ec23766
--- /dev/null
+++ b/doc/html/qgroupboxes.png
Binary files differ
diff --git a/doc/html/qgrpbox-w.png b/doc/html/qgrpbox-w.png
new file mode 100644
index 0000000..733c3fc
--- /dev/null
+++ b/doc/html/qgrpbox-w.png
Binary files differ
diff --git a/doc/html/qguardedptr-h.html b/doc/html/qguardedptr-h.html
new file mode 100644
index 0000000..073ce10
--- /dev/null
+++ b/doc/html/qguardedptr-h.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qguardedptr.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qguardedptr.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qguardedptr.h</h1>
+
+<p>This is the verbatim text of the qguardedptr.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qguardedptr.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QGuardedPtr class
+**
+** Created : 990929
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QGUARDEDPTR_H
+#define QGUARDEDPTR_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+// ### 4.0: rename to something without Private in it. Not really internal.
+class Q_EXPORT QGuardedPtrPrivate : public QObject, public QShared
+{
+ Q_OBJECT
+public:
+ QGuardedPtrPrivate( QObject* );
+ ~QGuardedPtrPrivate();
+
+ QObject* object() const;
+ void reconnect( QObject* );
+
+private slots:
+ void objectDestroyed();
+
+private:
+ QObject* obj;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QGuardedPtrPrivate( const QGuardedPtrPrivate &amp; );
+ QGuardedPtrPrivate &amp;operator=( const QGuardedPtrPrivate &amp; );
+#endif
+};
+
+template &lt;class T&gt;
+class QGuardedPtr
+{
+public:
+ QGuardedPtr() : priv( new QGuardedPtrPrivate( 0 ) ) {}
+
+ QGuardedPtr( T* o) {
+ priv = new QGuardedPtrPrivate( (QObject*)o );
+ }
+
+ QGuardedPtr(const QGuardedPtr&lt;T&gt; &amp;p) {
+ priv = p.priv;
+ ref();
+ }
+
+ ~QGuardedPtr() { deref(); }
+
+ QGuardedPtr&lt;T&gt; &amp;operator=(const QGuardedPtr&lt;T&gt; &amp;p) {
+ if ( priv != p.priv ) {
+ deref();
+ priv = p.priv;
+ ref();
+ }
+ return *this;
+ }
+
+ QGuardedPtr&lt;T&gt; &amp;operator=(T* o) {
+ if ( priv &amp;&amp; priv-&gt;count == 1 ) {
+ priv-&gt;reconnect( (QObject*)o );
+ } else {
+ deref();
+ priv = new QGuardedPtrPrivate( (QObject*)o );
+ }
+ return *this;
+ }
+
+ bool operator==( const QGuardedPtr&lt;T&gt; &amp;p ) const {
+ return (T*)(*this) == (T*) p;
+ }
+
+ bool operator!= ( const QGuardedPtr&lt;T&gt;&amp; p ) const {
+ return !( *this == p );
+ }
+
+ bool isNull() const { return !priv || !priv-&gt;object(); }
+
+ T* operator-&gt;() const { return (T*)(priv?priv-&gt;object():0); }
+
+ T&amp; operator*() const { return *((T*)(priv?priv-&gt;object():0)); }
+
+ operator T*() const { return (T*)(priv?priv-&gt;object():0); }
+
+private:
+
+ void ref() { if (priv) priv-&gt;ref(); }
+
+ void deref() {
+ if ( priv &amp;&amp; priv-&gt;deref() )
+ delete priv;
+ }
+
+ QGuardedPtrPrivate* priv;
+};
+
+
+
+
+inline QObject* QGuardedPtrPrivate::object() const
+{
+ return obj;
+}
+
+#define Q_DEFINED_QGUARDEDPTR
+#include "qwinexport.h"
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qguardedptr-members.html b/doc/html/qguardedptr-members.html
new file mode 100644
index 0000000..4f4c8a8
--- /dev/null
+++ b/doc/html/qguardedptr-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qguardedptr.h:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGuardedPtr Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QGuardedPtr</h1>
+
+<p>This is the complete list of member functions for
+<a href="qguardedptr.html">QGuardedPtr</a>, including inherited members.
+
+<ul>
+<li><a href="qguardedptr.html#QGuardedPtr">QGuardedPtr</a>()
+<li><a href="qguardedptr.html#~QGuardedPtr">~QGuardedPtr</a>()
+<li><a href="qguardedptr.html#isNull">isNull</a>()
+<li><a href="qguardedptr.html#operator-T-*">operator T *</a>()
+<li><a href="qguardedptr.html#operator!-eq">operator!=</a>()
+<li><a href="qguardedptr.html#operator*">operator*</a>()
+<li><a href="qguardedptr.html#operator--gt">operator-&gt;</a>()
+<li><a href="qguardedptr.html#operator-eq">operator=</a>()
+<li><a href="qguardedptr.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qguardedptr.html b/doc/html/qguardedptr.html
new file mode 100644
index 0000000..8cf083e
--- /dev/null
+++ b/doc/html/qguardedptr.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qguardedptr.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QGuardedPtr Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QGuardedPtr Class Reference</h1>
+
+<p>The QGuardedPtr class is a template class that provides guarded pointers to QObjects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qguardedptr-h.html">qguardedptr.h</a>&gt;</tt>
+<p><a href="qguardedptr-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QGuardedPtr"><b>QGuardedPtr</b></a> ()</li>
+<li class=fn><a href="#QGuardedPtr-2"><b>QGuardedPtr</b></a> ( T&nbsp;*&nbsp;p )</li>
+<li class=fn><a href="#QGuardedPtr-3"><b>QGuardedPtr</b></a> ( const&nbsp;QGuardedPtr&lt;T&gt;&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#~QGuardedPtr"><b>~QGuardedPtr</b></a> ()</li>
+<li class=fn>QGuardedPtr&lt;T&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QGuardedPtr&lt;T&gt;&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QGuardedPtr&lt;T&gt; &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( T&nbsp;*&nbsp;p )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QGuardedPtr&lt;T&gt;&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QGuardedPtr&lt;T&gt;&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>T * <a href="#operator--gt"><b>operator-&gt;</b></a> () const</li>
+<li class=fn>T &amp; <a href="#operator*"><b>operator*</b></a> () const</li>
+<li class=fn><a href="#operator-T-*"><b>operator T *</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QGuardedPtr class is a template class that provides guarded pointers to QObjects.
+<p>
+
+<p> A guarded pointer, <tt>QGuardedPtr&lt;X&gt;</tt>, behaves like a normal C++
+pointer <tt>X*</tt>, except that it is automatically set to 0 when
+the referenced object is destroyed (unlike normal C++ pointers,
+which become "dangling pointers" in such cases). <tt>X</tt> must be a
+subclass of <a href="qobject.html">QObject</a>.
+<p> Guarded pointers are useful whenever you need to store a pointer
+to a QObject that is owned by someone else and therefore might be
+destroyed while you still hold a reference to it. You can safely
+test the pointer for validity.
+<p> Example:
+<pre>
+ QGuardedPtr&lt;QLabel&gt; label = new <a href="qlabel.html">QLabel</a>( 0, "label" );
+ label-&gt;setText( "I like guarded pointers" );
+
+ delete (QLabel*) label; // simulate somebody destroying the label
+
+ if ( label)
+ label-&gt;show();
+ else
+ <a href="qapplication.html#qDebug">qDebug</a>("The label has been destroyed");
+ </pre>
+
+<p> The program will output <tt>The label has been destroyed</tt> rather
+than dereferencing an invalid address in <tt>label-&gt;show()</tt>.
+<p> The functions and operators available with a QGuardedPtr are the
+same as those available with a normal unguarded pointer, except
+the pointer arithmetic operators (++, --, -, and +), which are
+normally used only with arrays of objects. Use them like normal
+pointers and you will not need to read this class documentation.
+<p> For creating guarded pointers, you can construct or assign to them
+from an X* or from another guarded pointer of the same type. You
+can compare them with each other using <a href="#operator-eq-eq">operator==</a>() and
+<a href="#operator!-eq">operator!=</a>(), or test for 0 with <a href="#isNull">isNull</a>(). And you can dereference
+them using either the <tt>*x</tt> or the <tt>x-&gt;member</tt> notation.
+<p> A guarded pointer will automatically cast to an X*, so you can
+freely mix guarded and unguarded pointers. This means that if you
+have a QGuardedPtr<QWidget>, you can pass it to a function that
+requires a <a href="qwidget.html">QWidget</a>*. For this reason, it is of little value to
+declare functions to take a QGuardedPtr as a parameter; just use
+normal pointers. Use a QGuardedPtr when you are storing a pointer
+over time.
+<p> Note again that class <em>X</em> must inherit <a href="qobject.html">QObject</a>, or a compilation
+or link error will result.
+<p>See also <a href="objectmodel.html">Object Model</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QGuardedPtr"></a>QGuardedPtr::QGuardedPtr ()
+</h3>
+
+<p> Constructs a 0 guarded pointer.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QGuardedPtr-2"></a>QGuardedPtr::QGuardedPtr ( T&nbsp;*&nbsp;p )
+</h3>
+
+<p> Constructs a guarded pointer that points to same object as <em>p</em>
+points to.
+
+<h3 class=fn><a name="QGuardedPtr-3"></a>QGuardedPtr::QGuardedPtr ( const&nbsp;<a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Copy one guarded pointer from another. The constructed guarded
+pointer points to the same object that <em>p</em> points to (which may
+be 0).
+
+<h3 class=fn><a name="~QGuardedPtr"></a>QGuardedPtr::~QGuardedPtr ()
+</h3>
+
+<p> Destroys the guarded pointer. Just like a normal pointer,
+destroying a guarded pointer does <em>not</em> destroy the object being
+pointed to.
+
+<h3 class=fn>bool <a name="isNull"></a>QGuardedPtr::isNull () const
+</h3>
+
+<p> Returns <tt>TRUE</tt> if the referenced object has been destroyed or if
+there is no referenced object; otherwise returns FALSE.
+
+<h3 class=fn><a name="operator-T-*"></a>QGuardedPtr::operator T * () const
+</h3>
+
+<p> Cast operator; implements pointer semantics. Because of this
+function you can pass a QGuardedPtr&lt;X&gt; to a function where an X*
+is required.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QGuardedPtr::operator!= ( const&nbsp;<a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+<p> Inequality operator; implements pointer semantics, the negation of
+<a href="#operator-eq-eq">operator==</a>(). Returns TRUE if <em>p</em> and this guarded pointer are
+not pointing to the same object; otherwise returns FALSE.
+
+<h3 class=fn>T &amp; <a name="operator*"></a>QGuardedPtr::operator* () const
+</h3>
+
+<p> Dereference operator; implements pointer semantics. Just use this
+operator as you would with a normal C++ pointer.
+
+<h3 class=fn>T * <a name="operator--gt"></a>QGuardedPtr::operator-&gt; () const
+</h3>
+
+<p> Overloaded arrow operator; implements pointer semantics. Just use
+this operator as you would with a normal C++ pointer.
+
+<h3 class=fn><a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq"></a>QGuardedPtr::operator= ( const&nbsp;<a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Assignment operator. This guarded pointer then points to the same
+object as <em>p</em> points to.
+
+<h3 class=fn><a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq-2"></a>QGuardedPtr::operator= ( T&nbsp;*&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assignment operator. This guarded pointer then points to the same
+object as <em>p</em> points to.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QGuardedPtr::operator== ( const&nbsp;<a href="qguardedptr.html">QGuardedPtr</a>&lt;T&gt;&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+<p> Equality operator; implements traditional pointer semantics.
+Returns TRUE if both <em>p</em> and this guarded pointer are 0, or if
+both <em>p</em> and this pointer point to the same object; otherwise
+returns FALSE.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhbox-h.html b/doc/html/qhbox-h.html
new file mode 100644
index 0000000..cedf060
--- /dev/null
+++ b/doc/html/qhbox-h.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qhbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qhbox.h</h1>
+
+<p>This is the verbatim text of the qhbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qhbox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+#ifndef QHBOX_H
+#define QHBOX_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_HBOX
+
+#include "qframe.h"
+
+class QBoxLayout;
+
+class Q_EXPORT QHBox : public QFrame
+{
+ Q_OBJECT
+public:
+ QHBox( QWidget* parent=0, const char* name=0, WFlags f=0 );
+
+ void setSpacing( int );
+ bool setStretchFactor( QWidget*, int stretch );
+ QSize sizeHint() const;
+
+protected:
+ QHBox( bool horizontal, QWidget* parent, const char* name, WFlags f = 0 );
+ void frameChanged();
+
+private:
+ QBoxLayout *lay;
+
+#if defined(Q_DISABLE_COPY)
+ QHBox( const QHBox &amp; );
+ QHBox &amp;operator=( const QHBox &amp; );
+#endif
+};
+
+#endif // QT_NO_HBOX
+
+#endif // QHBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhbox-m.png b/doc/html/qhbox-m.png
new file mode 100644
index 0000000..bb02a1b
--- /dev/null
+++ b/doc/html/qhbox-m.png
Binary files differ
diff --git a/doc/html/qhbox-members.html b/doc/html/qhbox-members.html
new file mode 100644
index 0000000..0fd6a73
--- /dev/null
+++ b/doc/html/qhbox-members.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhbox.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhbox.html">QHBox</a>, including inherited members.
+
+<ul>
+<li><a href="qhbox.html#QHBox">QHBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qhbox.html#setSpacing">setSpacing</a>()
+<li><a href="qhbox.html#setStretchFactor">setStretchFactor</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhbox.html b/doc/html/qhbox.html
new file mode 100644
index 0000000..daf9a4e
--- /dev/null
+++ b/doc/html/qhbox.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qhbox.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHBox Class Reference</h1>
+
+<p>The QHBox widget provides horizontal geometry management
+for its child widgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p>Inherited by <a href="qvbox.html">QVBox</a>.
+<p><a href="qhbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHBox"><b>QHBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>void <a href="#setSpacing"><b>setSpacing</b></a> ( int&nbsp;space )</li>
+<li class=fn>bool <a href="#setStretchFactor"><b>setStretchFactor</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;stretch )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QHBox-2"><b>QHBox</b></a> ( bool&nbsp;horizontal, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, WFlags&nbsp;f = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHBox widget provides horizontal geometry management
+for its child widgets.
+<p>
+
+
+<p> All the horizontal box's child widgets will be placed alongside
+each other and sized according to their <a href="qwidget.html#sizeHint">sizeHint</a>()s.
+<p> Use <a href="qframe.html#setMargin">setMargin</a>() to add space around the edges, and use
+<a href="#setSpacing">setSpacing</a>() to add space between the widgets. Use
+<a href="#setStretchFactor">setStretchFactor</a>() if you want the widgets to be different sizes
+in proportion to one another. (See <a href="layout.html">Layouts</a> for more information on stretch factors.)
+<p> <center><img src="qhbox-m.png" alt="QHBox"></center>
+<p> <p>See also <a href="qhboxlayout.html">QHBoxLayout</a>, <a href="qvbox.html">QVBox</a>, <a href="qgrid.html">QGrid</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHBox"></a>QHBox::QHBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an hbox widget with parent <em>parent</em>, called <em>name</em>.
+The parent, name and widget flags, <em>f</em>, are passed to the <a href="qframe.html">QFrame</a>
+constructor.
+
+<h3 class=fn><a name="QHBox-2"></a>QHBox::QHBox ( bool&nbsp;horizontal, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, WFlags&nbsp;f = 0 )<tt> [protected]</tt>
+</h3>
+Constructs a horizontal hbox if <em>horizontal</em> is TRUE, otherwise
+constructs a vertical hbox (also known as a vbox).
+<p> This constructor is provided for the <a href="qvbox.html">QVBox</a> class. You should never
+need to use it directly.
+<p> The <em>parent</em>, <em>name</em> and widget flags, <em>f</em>, are passed to the
+<a href="qframe.html">QFrame</a> constructor.
+
+<h3 class=fn>void <a name="setSpacing"></a>QHBox::setSpacing ( int&nbsp;space )
+</h3>
+Sets the spacing between the child widgets to <em>space</em>.
+
+<p>Examples: <a href="i18n-example.html#x1924">i18n/mywidget.cpp</a>, <a href="listboxcombo-example.html#x1402">listboxcombo/listboxcombo.cpp</a>, <a href="qdir-example.html#x1826">qdir/qdir.cpp</a>, <a href="tabdialog-example.html#x54">tabdialog/tabdialog.cpp</a>, <a href="wizard-example.html#x2">wizard/wizard.cpp</a>, and <a href="xform-example.html#x1228">xform/xform.cpp</a>.
+<h3 class=fn>bool <a name="setStretchFactor"></a>QHBox::setStretchFactor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;stretch )
+</h3>
+Sets the <a href="layout.html#stretch-factor">stretch factor</a> of widget <em>w</em> to <em>stretch</em>. Returns TRUE if
+<em>w</em> is found. Otherwise returns FALSE.
+<p> <p>See also <a href="qboxlayout.html#setStretchFactor">QBoxLayout::setStretchFactor</a>() and <a href="layout.html">Layouts</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhboxlayout-members.html b/doc/html/qhboxlayout-members.html
new file mode 100644
index 0000000..255e364
--- /dev/null
+++ b/doc/html/qhboxlayout-members.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:431 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHBoxLayout Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHBoxLayout</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhboxlayout.html">QHBoxLayout</a>, including inherited members.
+
+<ul>
+<li><a href="qhboxlayout.html#QHBoxLayout">QHBoxLayout</a>()
+<li><a href="qhboxlayout.html#~QHBoxLayout">~QHBoxLayout</a>()
+<li><a href="qlayout.html#activate">activate</a>()
+<li><a href="qlayout.html#add">add</a>()
+<li><a href="qlayout.html#addChildLayout">addChildLayout</a>()
+<li><a href="qboxlayout.html#addItem">addItem</a>()
+<li><a href="qboxlayout.html#addLayout">addLayout</a>()
+<li><a href="qboxlayout.html#addSpacing">addSpacing</a>()
+<li><a href="qboxlayout.html#addStretch">addStretch</a>()
+<li><a href="qboxlayout.html#addStrut">addStrut</a>()
+<li><a href="qboxlayout.html#addWidget">addWidget</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayout.html#alignmentRect">alignmentRect</a>()
+<li><a href="qlayout.html#autoAdd">autoAdd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qlayout.html#deleteAllItems">deleteAllItems</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qboxlayout.html#direction">direction</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qboxlayout.html#expanding">expanding</a>()
+<li><a href="qboxlayout.html#findWidget">findWidget</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qboxlayout.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qboxlayout.html#heightForWidth">heightForWidth</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qboxlayout.html#insertItem">insertItem</a>()
+<li><a href="qboxlayout.html#insertLayout">insertLayout</a>()
+<li><a href="qboxlayout.html#insertSpacing">insertSpacing</a>()
+<li><a href="qboxlayout.html#insertStretch">insertStretch</a>()
+<li><a href="qboxlayout.html#insertWidget">insertWidget</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qboxlayout.html#invalidate">invalidate</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qlayout.html#isEmpty">isEmpty</a>()
+<li><a href="qlayout.html#isEnabled">isEnabled</a>()
+<li><a href="qlayout.html#isTopLevel">isTopLevel</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlayout.html#iterator">iterator</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayout.html#mainWidget">mainWidget</a>()
+<li><a href="qlayout.html#margin">margin</a>()
+<li><a href="qboxlayout.html#maximumSize">maximumSize</a>()
+<li><a href="qlayout.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qboxlayout.html#minimumSize">minimumSize</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qlayout.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlayout.html#removeItem">removeItem</a>()
+<li><a href="qlayout.html#resizeMode">resizeMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayout.html#setAutoAdd">setAutoAdd</a>()
+<li><a href="qboxlayout.html#setDirection">setDirection</a>()
+<li><a href="qlayout.html#setEnabled">setEnabled</a>()
+<li><a href="qboxlayout.html#setGeometry">setGeometry</a>()
+<li><a href="qlayout.html#setMargin">setMargin</a>()
+<li><a href="qlayout.html#setMenuBar">setMenuBar</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlayout.html#setResizeMode">setResizeMode</a>()
+<li><a href="qlayout.html#setSpacing">setSpacing</a>()
+<li><a href="qboxlayout.html#setStretchFactor">setStretchFactor</a>()
+<li><a href="qlayout.html#setSupportsMargin">setSupportsMargin</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qboxlayout.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayout.html#spacing">spacing</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qlayout.html#supportsMargin">supportsMargin</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhboxlayout.html b/doc/html/qhboxlayout.html
new file mode 100644
index 0000000..f956712
--- /dev/null
+++ b/doc/html/qhboxlayout.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qlayout.cpp:2434 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHBoxLayout Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHBoxLayout Class Reference</h1>
+
+<p>The QHBoxLayout class lines up widgets horizontally.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qboxlayout.html">QBoxLayout</a>.
+<p><a href="qhboxlayout-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHBoxLayout"><b>QHBoxLayout</b></a> ( QWidget&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHBoxLayout-2"><b>QHBoxLayout</b></a> ( QLayout&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHBoxLayout-3"><b>QHBoxLayout</b></a> ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QHBoxLayout"><b>~QHBoxLayout</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHBoxLayout class lines up widgets horizontally.
+<p>
+
+
+<p> This class is used to construct horizontal box layout objects. See
+<a href="qboxlayout.html">QBoxLayout</a> for more details.
+<p> The simplest use of the class is like this:
+<pre>
+ <a href="qboxlayout.html">QBoxLayout</a> * l = new QHBoxLayout( widget );
+ l-&gt;<a href="qlayout.html#setAutoAdd">setAutoAdd</a>( TRUE );
+ new QSomeWidget( widget );
+ new QSomeOtherWidget( widget );
+ new QAnotherWidget( widget );
+ </pre>
+
+<p> or like this:
+<pre>
+ <a href="qboxlayout.html">QBoxLayout</a> * l = new QHBoxLayout( widget );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( existingChildOfWidget );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( anotherChildOfWidget );
+ </pre>
+
+<p> <center><img src="qhboxlayout.png" alt="QHBox"></center>
+<p> <p>See also <a href="qvboxlayout.html">QVBoxLayout</a>, <a href="qgridlayout.html">QGridLayout</a>, <a href="layout.html">the Layout overview</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHBoxLayout"></a>QHBoxLayout::QHBoxLayout ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new top-level horizontal box called <em>name</em>, with
+parent <em>parent</em>.
+<p> The <em>margin</em> is the number of pixels between the edge of the
+widget and its managed children. The <em>spacing</em> is the default
+number of pixels between neighboring children. If <em>spacing</em> is -1
+the value of <em>margin</em> is used for <em>spacing</em>.
+
+<h3 class=fn><a name="QHBoxLayout-2"></a>QHBoxLayout::QHBoxLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new horizontal box called name <em>name</em> and adds it to
+<em>parentLayout</em>.
+<p> The <em>spacing</em> is the default number of pixels between neighboring
+children. If <em>spacing</em> is -1, this QHBoxLayout will inherit its
+parent's <a href="qlayout.html#spacing">spacing</a>().
+
+<h3 class=fn><a name="QHBoxLayout-3"></a>QHBoxLayout::QHBoxLayout ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new horizontal box called name <em>name</em>. You must add
+it to another layout.
+<p> The <em>spacing</em> is the default number of pixels between neighboring
+children. If <em>spacing</em> is -1, this QHBoxLayout will inherit its
+parent's <a href="qlayout.html#spacing">spacing</a>().
+
+<h3 class=fn><a name="~QHBoxLayout"></a>QHBoxLayout::~QHBoxLayout ()
+</h3>
+Destroys this box layout.
+<p> The layout's widgets aren't destroyed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhboxlayout.png b/doc/html/qhboxlayout.png
new file mode 100644
index 0000000..01caae1
--- /dev/null
+++ b/doc/html/qhboxlayout.png
Binary files differ
diff --git a/doc/html/qhbuttongroup-h.html b/doc/html/qhbuttongroup-h.html
new file mode 100644
index 0000000..e743934
--- /dev/null
+++ b/doc/html/qhbuttongroup-h.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhbuttongroup.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qhbuttongroup.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qhbuttongroup.h</h1>
+
+<p>This is the verbatim text of the qhbuttongroup.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qhbuttongroup.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QHButtonGroup class
+**
+** Created : 990602
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QHBUTTONGROUP_H
+#define QHBUTTONGROUP_H
+
+#ifndef QT_H
+#include "qbuttongroup.h"
+#endif // QT_H
+
+#ifndef QT_NO_HBUTTONGROUP
+
+class Q_EXPORT QHButtonGroup : public QButtonGroup
+{
+ Q_OBJECT
+public:
+ QHButtonGroup( QWidget* parent=0, const char* name=0 );
+ QHButtonGroup( const QString &amp;title, QWidget* parent=0, const char* name=0 );
+ ~QHButtonGroup();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QHButtonGroup( const QHButtonGroup &amp; );
+ QHButtonGroup &amp;operator=( const QHButtonGroup &amp; );
+#endif
+};
+
+
+#endif // QT_NO_HBUTTONGROUP
+
+#endif // QHBUTTONGROUP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhbuttongroup-members.html b/doc/html/qhbuttongroup-members.html
new file mode 100644
index 0000000..4668813
--- /dev/null
+++ b/doc/html/qhbuttongroup-members.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhbuttongroup.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHButtonGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHButtonGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhbuttongroup.html">QHButtonGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qhbuttongroup.html#QHButtonGroup">QHButtonGroup</a>()
+<li><a href="qhbuttongroup.html#~QHButtonGroup">~QHButtonGroup</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbuttongroup.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qbuttongroup.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qbuttongroup.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qbuttongroup.html#id">id</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qbuttongroup.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbuttongroup.html#isExclusive">isExclusive</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qbuttongroup.html#isRadioButtonExclusive">isRadioButtonExclusive</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qbuttongroup.html#moveFocus">moveFocus</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbuttongroup.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbuttongroup.html#released">released</a>()
+<li><a href="qbuttongroup.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qbuttongroup.html#selected">selected</a>()
+<li><a href="qbuttongroup.html#selectedId">selectedId</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qbuttongroup.html#setButton">setButton</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qbuttongroup.html#setExclusive">setExclusive</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhbuttongroup.html b/doc/html/qhbuttongroup.html
new file mode 100644
index 0000000..474d521
--- /dev/null
+++ b/doc/html/qhbuttongroup.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qhbuttongroup.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHButtonGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHButtonGroup Class Reference</h1>
+
+<p>The QHButtonGroup widget organizes QButton widgets in a
+group with one horizontal row.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhbuttongroup-h.html">qhbuttongroup.h</a>&gt;</tt>
+<p>Inherits <a href="qbuttongroup.html">QButtonGroup</a>.
+<p><a href="qhbuttongroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHButtonGroup"><b>QHButtonGroup</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHButtonGroup-2"><b>QHButtonGroup</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QHButtonGroup"><b>~QHButtonGroup</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHButtonGroup widget organizes <a href="qbutton.html">QButton</a> widgets in a
+group with one horizontal row.
+<p>
+
+
+<p> QHButtonGroup is a convenience class that offers a thin layer on
+top of <a href="qbuttongroup.html">QButtonGroup</a>. From a layout point of view it is effectively
+a <a href="qhbox.html">QHBox</a> that offers a frame with a title and is specifically
+designed for buttons. From a functionality point of view it is a
+QButtonGroup.
+<p> <center><img src="qbuttongroup-h.png" alt="QButtonGroup"></center>
+<p> <p>See also <a href="qvbuttongroup.html">QVButtonGroup</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHButtonGroup"></a>QHButtonGroup::QHButtonGroup ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal button group with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QHButtonGroup-2"></a>QHButtonGroup::QHButtonGroup ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal button group with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QHButtonGroup"></a>QHButtonGroup::~QHButtonGroup ()
+</h3>
+Destroys the horizontal button group, deleting its child widgets.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qheader-h.html b/doc/html/qheader-h.html
new file mode 100644
index 0000000..7f3f901
--- /dev/null
+++ b/doc/html/qheader-h.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qheader.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qheader.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qheader.h</h1>
+
+<p>This is the verbatim text of the qheader.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qheader.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QHeader widget class (table header)
+**
+** Created : 961105
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QHEADER_H
+#define QHEADER_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qstring.h"
+#include "qiconset.h" // conversion QPixmap-&gt;QIconset
+#endif // QT_H
+
+#ifndef QT_NO_HEADER
+
+class QShowEvent;
+class QHeaderData;
+class QTable;
+
+class Q_EXPORT QHeader : public QWidget
+{
+ friend class QTable;
+ friend class QTableHeader;
+ friend class QListView;
+
+ Q_OBJECT
+ Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
+ Q_PROPERTY( bool tracking READ tracking WRITE setTracking )
+ Q_PROPERTY( int count READ count )
+ Q_PROPERTY( int offset READ offset WRITE setOffset )
+ Q_PROPERTY( bool moving READ isMovingEnabled WRITE setMovingEnabled )
+ Q_PROPERTY( bool stretching READ isStretchEnabled WRITE setStretchEnabled )
+
+public:
+ QHeader( QWidget* parent=0, const char* name=0 );
+ QHeader( int, QWidget* parent=0, const char* name=0 );
+ ~QHeader();
+
+ int addLabel( const QString &amp;, int size = -1 );
+ int addLabel( const QIconSet&amp;, const QString &amp;, int size = -1 );
+ void removeLabel( int section );
+ virtual void setLabel( int, const QString &amp;, int size = -1 );
+ virtual void setLabel( int, const QIconSet&amp;, const QString &amp;, int size = -1 );
+ QString label( int section ) const;
+ QIconSet* iconSet( int section ) const;
+
+ virtual void setOrientation( Orientation );
+ Orientation orientation() const;
+ virtual void setTracking( bool enable );
+ bool tracking() const;
+
+ virtual void setClickEnabled( bool, int section = -1 );
+ virtual void setResizeEnabled( bool, int section = -1 );
+ virtual void setMovingEnabled( bool );
+ virtual void setStretchEnabled( bool b, int section );
+ void setStretchEnabled( bool b ) { setStretchEnabled( b, -1 ); }
+ bool isClickEnabled( int section = -1 ) const;
+ bool isResizeEnabled( int section = -1 ) const;
+ bool isMovingEnabled() const;
+ bool isStretchEnabled() const;
+ bool isStretchEnabled( int section ) const;
+
+ void resizeSection( int section, int s );
+ int sectionSize( int section ) const;
+ int sectionPos( int section ) const;
+ int sectionAt( int pos ) const;
+ int count() const;
+ int headerWidth() const;
+ QRect sectionRect( int section ) const;
+
+ virtual void setCellSize( int , int ); // obsolete, do not use
+ int cellSize( int i ) const { return sectionSize( mapToSection(i) ); } // obsolete, do not use
+ int cellPos( int ) const; // obsolete, do not use
+ int cellAt( int pos ) const { return mapToIndex( sectionAt(pos + offset()) ); } // obsolete, do not use
+
+ int offset() const;
+
+ QSize sizeHint() const;
+
+ int mapToSection( int index ) const;
+ int mapToIndex( int section ) const;
+ int mapToLogical( int ) const; // obsolete, do not use
+ int mapToActual( int ) const; // obsolete, do not use
+
+ void moveSection( int section, int toIndex );
+ virtual void moveCell( int, int); // obsolete, do not use
+
+ void setSortIndicator( int section, bool ascending = TRUE ); // obsolete, do not use
+ inline void setSortIndicator( int section, SortOrder order )
+ { setSortIndicator( section, (order == Ascending) ); }
+ int sortIndicatorSection() const;
+ SortOrder sortIndicatorOrder() const;
+
+ void adjustHeaderSize() { adjustHeaderSize( -1 ); }
+
+public slots:
+ void setUpdatesEnabled( bool enable );
+ virtual void setOffset( int pos );
+
+signals:
+ void clicked( int section );
+ void pressed( int section );
+ void released( int section );
+ void sizeChange( int section, int oldSize, int newSize );
+ void indexChange( int section, int fromIndex, int toIndex );
+ void sectionClicked( int ); // obsolete, do not use
+ void moved( int, int ); // obsolete, do not use
+ void sectionHandleDoubleClicked( int section );
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void showEvent( QShowEvent *e );
+ void resizeEvent( QResizeEvent *e );
+ QRect sRect( int index );
+
+ virtual void paintSection( QPainter *p, int index, const QRect&amp; fr);
+ virtual void paintSectionLabel( QPainter* p, int index, const QRect&amp; fr );
+
+ void fontChange( const QFont &amp; );
+
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void mouseDoubleClickEvent( QMouseEvent * );
+
+ void keyPressEvent( QKeyEvent * );
+ void keyReleaseEvent( QKeyEvent * );
+
+private:
+ void handleColumnMove( int fromIdx, int toIdx );
+ void adjustHeaderSize( int diff );
+ void init( int );
+
+ void paintRect( int p, int s );
+ void markLine( int idx );
+ void unMarkLine( int idx );
+ int pPos( int i ) const;
+ int pSize( int i ) const;
+ int findLine( int );
+ int handleAt( int p );
+ bool reverse() const;
+ void calculatePositions( bool onlyVisible = FALSE, int start = 0 );
+ void handleColumnResize(int, int, bool, bool = TRUE );
+ QSize sectionSizeHint( int section, const QFontMetrics&amp; fm ) const;
+ void setSectionSizeAndHeight( int section, int size );
+
+ void resizeArrays( int size );
+ void setIsATableHeader( bool b );
+ int offs;
+ int handleIdx;
+ int oldHIdxSize;
+ int moveToIdx;
+ enum State { Idle, Sliding, Pressed, Moving, Blocked };
+ State state;
+ QCOORD clickPos;
+ bool trackingIsOn;
+ int oldHandleIdx;
+ int cachedPos; // not used
+ Orientation orient;
+
+ QHeaderData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QHeader( const QHeader &amp; );
+ QHeader &amp;operator=( const QHeader &amp; );
+#endif
+};
+
+
+inline QHeader::Orientation QHeader::orientation() const
+{
+ return orient;
+}
+
+inline void QHeader::setTracking( bool enable ) { trackingIsOn = enable; }
+inline bool QHeader::tracking() const { return trackingIsOn; }
+
+extern Q_EXPORT bool qt_qheader_label_return_null_strings; // needed for professional edition
+
+#endif // QT_NO_HEADER
+
+#endif // QHEADER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qheader-m.png b/doc/html/qheader-m.png
new file mode 100644
index 0000000..16b264d
--- /dev/null
+++ b/doc/html/qheader-m.png
Binary files differ
diff --git a/doc/html/qheader-members.html b/doc/html/qheader-members.html
new file mode 100644
index 0000000..c3c29a7
--- /dev/null
+++ b/doc/html/qheader-members.html
@@ -0,0 +1,389 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qheader.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHeader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHeader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qheader.html">QHeader</a>, including inherited members.
+
+<ul>
+<li><a href="qheader.html#QHeader">QHeader</a>()
+<li><a href="qheader.html#~QHeader">~QHeader</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qheader.html#addLabel">addLabel</a>()
+<li><a href="qheader.html#adjustHeaderSize">adjustHeaderSize</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qheader.html#cellAt">cellAt</a>()
+<li><a href="qheader.html#cellPos">cellPos</a>()
+<li><a href="qheader.html#cellSize">cellSize</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qheader.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qheader.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qheader.html#headerWidth">headerWidth</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qheader.html#iconSet">iconSet</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qheader.html#indexChange">indexChange</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qheader.html#isClickEnabled">isClickEnabled</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qheader.html#isMovingEnabled">isMovingEnabled</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qheader.html#isResizeEnabled">isResizeEnabled</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qheader.html#isStretchEnabled">isStretchEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qheader.html#label">label</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qheader.html#mapToActual">mapToActual</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qheader.html#mapToIndex">mapToIndex</a>()
+<li><a href="qheader.html#mapToLogical">mapToLogical</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qheader.html#mapToSection">mapToSection</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qheader.html#moveCell">moveCell</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qheader.html#moveSection">moveSection</a>()
+<li><a href="qheader.html#moved">moved</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qheader.html#offset">offset</a>()
+<li><a href="qheader.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qheader.html#paintSection">paintSection</a>()
+<li><a href="qheader.html#paintSectionLabel">paintSectionLabel</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qheader.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qheader.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qheader.html#removeLabel">removeLabel</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qheader.html#resizeSection">resizeSection</a>()
+<li><a href="qheader.html#sRect">sRect</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qheader.html#sectionAt">sectionAt</a>()
+<li><a href="qheader.html#sectionClicked">sectionClicked</a>()
+<li><a href="qheader.html#sectionHandleDoubleClicked">sectionHandleDoubleClicked</a>()
+<li><a href="qheader.html#sectionPos">sectionPos</a>()
+<li><a href="qheader.html#sectionRect">sectionRect</a>()
+<li><a href="qheader.html#sectionSize">sectionSize</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qheader.html#setCellSize">setCellSize</a>()
+<li><a href="qheader.html#setClickEnabled">setClickEnabled</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qheader.html#setLabel">setLabel</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qheader.html#setMovingEnabled">setMovingEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qheader.html#setOffset">setOffset</a>()
+<li><a href="qheader.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qheader.html#setResizeEnabled">setResizeEnabled</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qheader.html#setSortIndicator">setSortIndicator</a>()
+<li><a href="qheader.html#setStretchEnabled">setStretchEnabled</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qheader.html#setTracking">setTracking</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qheader.html#sizeChange">sizeChange</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qheader.html#sortIndicatorOrder">sortIndicatorOrder</a>()
+<li><a href="qheader.html#sortIndicatorSection">sortIndicatorSection</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qheader.html#tracking">tracking</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qheader-w.png b/doc/html/qheader-w.png
new file mode 100644
index 0000000..b0bc45b
--- /dev/null
+++ b/doc/html/qheader-w.png
Binary files differ
diff --git a/doc/html/qheader.html b/doc/html/qheader.html
new file mode 100644
index 0000000..984a664
--- /dev/null
+++ b/doc/html/qheader.html
@@ -0,0 +1,607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qheader.cpp:135 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHeader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHeader Class Reference</h1>
+
+<p>The QHeader class provides a header row or column, e.g. for
+tables and listviews.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qheader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHeader"><b>QHeader</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHeader-2"><b>QHeader</b></a> ( int&nbsp;n, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QHeader"><b>~QHeader</b></a> ()</li>
+<li class=fn>int <a href="#addLabel"><b>addLabel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )</li>
+<li class=fn>int <a href="#addLabel-2"><b>addLabel</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )</li>
+<li class=fn>void <a href="#removeLabel"><b>removeLabel</b></a> ( int&nbsp;section )</li>
+<li class=fn>virtual void <a href="#setLabel"><b>setLabel</b></a> ( int&nbsp;section, const&nbsp;QString&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )</li>
+<li class=fn>virtual void <a href="#setLabel-2"><b>setLabel</b></a> ( int&nbsp;section, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )</li>
+<li class=fn>QString <a href="#label"><b>label</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTracking"><b>setTracking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#tracking"><b>tracking</b></a> () const</li>
+<li class=fn>virtual void <a href="#setClickEnabled"><b>setClickEnabled</b></a> ( bool&nbsp;enable, int&nbsp;section = -1 )</li>
+<li class=fn>virtual void <a href="#setResizeEnabled"><b>setResizeEnabled</b></a> ( bool&nbsp;enable, int&nbsp;section = -1 )</li>
+<li class=fn>virtual void <a href="#setMovingEnabled"><b>setMovingEnabled</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setStretchEnabled"><b>setStretchEnabled</b></a> ( bool&nbsp;b, int&nbsp;section )</li>
+<li class=fn>void <a href="#setStretchEnabled-2"><b>setStretchEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isClickEnabled"><b>isClickEnabled</b></a> ( int&nbsp;section = -1 ) const</li>
+<li class=fn>bool <a href="#isResizeEnabled"><b>isResizeEnabled</b></a> ( int&nbsp;section = -1 ) const</li>
+<li class=fn>bool <a href="#isMovingEnabled"><b>isMovingEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isStretchEnabled"><b>isStretchEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isStretchEnabled-2"><b>isStretchEnabled</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>void <a href="#resizeSection"><b>resizeSection</b></a> ( int&nbsp;section, int&nbsp;s )</li>
+<li class=fn>int <a href="#sectionSize"><b>sectionSize</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>int <a href="#sectionPos"><b>sectionPos</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>int <a href="#sectionAt"><b>sectionAt</b></a> ( int&nbsp;pos ) const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>int <a href="#headerWidth"><b>headerWidth</b></a> () const</li>
+<li class=fn>QRect <a href="#sectionRect"><b>sectionRect</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>virtual void setCellSize ( int&nbsp;section, int&nbsp;s ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellSize ( int&nbsp;i ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellPos ( int&nbsp;i ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellAt ( int&nbsp;pos ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#offset"><b>offset</b></a> () const</li>
+<li class=fn>int <a href="#mapToSection"><b>mapToSection</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#mapToIndex"><b>mapToIndex</b></a> ( int&nbsp;section ) const</li>
+<li class=fn>int mapToLogical ( int&nbsp;a ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int mapToActual ( int&nbsp;l ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#moveSection"><b>moveSection</b></a> ( int&nbsp;section, int&nbsp;toIndex )</li>
+<li class=fn>virtual void moveCell ( int&nbsp;fromIdx, int&nbsp;toIdx ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setSortIndicator ( int&nbsp;section, bool&nbsp;ascending = TRUE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setSortIndicator"><b>setSortIndicator</b></a> ( int&nbsp;section, SortOrder&nbsp;order )</li>
+<li class=fn>int <a href="#sortIndicatorSection"><b>sortIndicatorSection</b></a> () const</li>
+<li class=fn>SortOrder <a href="#sortIndicatorOrder"><b>sortIndicatorOrder</b></a> () const</li>
+<li class=fn>void <a href="#adjustHeaderSize"><b>adjustHeaderSize</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setOffset"><b>setOffset</b></a> ( int&nbsp;pos )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( int&nbsp;section )</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( int&nbsp;section )</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ( int&nbsp;section )</li>
+<li class=fn>void <a href="#sizeChange"><b>sizeChange</b></a> ( int&nbsp;section, int&nbsp;oldSize, int&nbsp;newSize )</li>
+<li class=fn>void <a href="#indexChange"><b>indexChange</b></a> ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )</li>
+<li class=fn>void sectionClicked ( int&nbsp;index ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void moved ( int&nbsp;fromIndex, int&nbsp;toIndex ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#sectionHandleDoubleClicked"><b>sectionHandleDoubleClicked</b></a> ( int&nbsp;section )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of sections in the header &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#moving-prop"><b>moving</b></a>&nbsp;- whether the header sections can be moved</li>
+<li class=fn>int <a href="#offset-prop"><b>offset</b></a>&nbsp;- the header's left-most (or top-most) visible pixel</li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the header's orientation</li>
+<li class=fn>bool <a href="#stretching-prop"><b>stretching</b></a>&nbsp;- whether the header sections always take up the full width (or height) of the header</li>
+<li class=fn>bool <a href="#tracking-prop"><b>tracking</b></a>&nbsp;- whether the sizeChange() signal is emitted continuously</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>QRect <a href="#sRect"><b>sRect</b></a> ( int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#paintSection"><b>paintSection</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;index, const&nbsp;QRect&nbsp;&amp;&nbsp;fr )</li>
+<li class=fn>virtual void <a href="#paintSectionLabel"><b>paintSectionLabel</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;index, const&nbsp;QRect&nbsp;&amp;&nbsp;fr )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHeader class provides a header row or column, e.g. for
+tables and listviews.
+<p>
+<p> This class provides a header, e.g. a vertical header to display
+row labels, or a horizontal header to display column labels. It is
+used by <a href="qtable.html">QTable</a> and <a href="qlistview.html">QListView</a> for example.
+<p> A header is composed of one or more <em>sections</em>, each of which can
+display a text label and an <a href="qiconset.html">iconset</a>. A sort
+indicator (an arrow) can also be displayed using
+<a href="#setSortIndicator">setSortIndicator</a>().
+<p> Sections are added with <a href="#addLabel">addLabel</a>() and removed with <a href="#removeLabel">removeLabel</a>().
+The label and iconset are set in addLabel() and can be changed
+later with <a href="#setLabel">setLabel</a>(). Use <a href="#count">count</a>() to retrieve the number of
+sections in the header.
+<p> The orientation of the header is set with <a href="#setOrientation">setOrientation</a>(). If
+<a href="#setStretchEnabled">setStretchEnabled</a>() is TRUE, the sections will expand to take up
+the full width (height for vertical headers) of the header. The
+user can resize the sections manually if <a href="#setResizeEnabled">setResizeEnabled</a>() is
+TRUE. Call <a href="#adjustHeaderSize">adjustHeaderSize</a>() to have the sections resize to
+occupy the full width (or height).
+<p> A section can be moved with <a href="#moveSection">moveSection</a>(). If <a href="#setMovingEnabled">setMovingEnabled</a>()
+is TRUE (the default)the user may drag a section from one position
+to another. If a section is moved, the index positions at which
+sections were added (with <a href="#addLabel">addLabel</a>()), may not be the same after the
+move. You don't have to worry about this in practice because the
+QHeader API works in terms of section numbers, so it doesn't matter
+where a particular section has been moved to.
+<p> If you want the current index position of a section call
+<a href="#mapToIndex">mapToIndex</a>() giving it the section number. (This is the number
+returned by the addLabel() call which created the section.) If you
+want to get the section number of a section at a particular index
+position call <a href="#mapToSection">mapToSection</a>() giving it the index number.
+<p> Here's an example to clarify mapToSection() and mapToIndex():
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top" colspan="4" rowspan="1"> Index positions
+<tr bgcolor="#f0f0f0"> <td valign="top">0 <td valign="top">1 <td valign="top">2 <td valign="top">3
+<tr bgcolor="#a2c511"> <th valign="top" colspan="4" rowspan="1"> Original section ordering
+<tr bgcolor="#d0d0d0"> <td valign="top">Sect 0 <td valign="top">Sect 1 <td valign="top">Sect 2 <td valign="top">Sect 3
+<tr bgcolor="#a2c511"> <th valign="top" colspan="4" rowspan="1"> Ordering after the user moves a section
+<tr bgcolor="#f0f0f0"> <td valign="top">Sect 0 <td valign="top">Sect 2 <td valign="top">Sect 3 <td valign="top">Sect 1
+</table></center>
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top"><em>k</em> <th valign="top">mapToSection(<em>k</em>) <th valign="top">mapToIndex(<em>k</em>)
+<tr bgcolor="#d0d0d0"> <td valign="top">0 <td valign="top">0 <td valign="top">0
+<tr bgcolor="#f0f0f0"> <td valign="top">1 <td valign="top">2 <td valign="top">3
+<tr bgcolor="#d0d0d0"> <td valign="top">2 <td valign="top">3 <td valign="top">1
+<tr bgcolor="#f0f0f0"> <td valign="top">3 <td valign="top">1 <td valign="top">2
+</table></center>
+<p> In the example above, if we wanted to find out which section is at
+index position 3 we'd call <a href="#mapToSection">mapToSection</a>(3) and get a section
+number of 1 since section 1 was moved. Similarly, if we wanted to
+know which index position section 2 occupied we'd call
+<a href="#mapToIndex">mapToIndex</a>(2) and get an index of 1.
+<p> QHeader provides the <a href="#clicked">clicked</a>(), <a href="#pressed">pressed</a>() and <a href="#released">released</a>() signals.
+If the user changes the size of a section, the <a href="#sizeChange">sizeChange</a>() signal
+is emitted. If you want to have a sizeChange() signal emitted
+continuously whilst the user is resizing (rather than just after
+the resizing is finished), use <a href="#setTracking">setTracking</a>(). If the user moves a
+section the <a href="#indexChange">indexChange</a>() signal is emitted.
+<p> <img src=qheader-m.png> <img src=qheader-w.png>
+<p> <p>See also <a href="qlistview.html">QListView</a>, <a href="qtable.html">QTable</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHeader"></a>QHeader::QHeader ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal header called <em>name</em>, with parent <em>parent</em>.
+
+<h3 class=fn><a name="QHeader-2"></a>QHeader::QHeader ( int&nbsp;n, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal header called <em>name</em>, with <em>n</em> sections
+and parent <em>parent</em>.
+
+<h3 class=fn><a name="~QHeader"></a>QHeader::~QHeader ()
+</h3>
+Destroys the header and all its sections.
+
+<h3 class=fn>int <a name="addLabel"></a>QHeader::addLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )
+</h3>
+Adds a new section with label text <em>s</em>. Returns the index
+position where the section was added (at the right for horizontal
+headers, at the bottom for vertical headers). The section's width
+is set to <em>size</em>. If <em>size</em> &lt; 0, an appropriate size for the
+text <em>s</em> is chosen.
+
+<h3 class=fn>int <a name="addLabel-2"></a>QHeader::addLabel ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a new section with iconset <em>iconset</em> and label text <em>s</em>.
+Returns the index position where the section was added (at the
+right for horizontal headers, at the bottom for vertical headers).
+The section's width is set to <em>size</em>, unless size is negative in
+which case the size is calculated taking account of the size of
+the text.
+
+<h3 class=fn>void <a name="adjustHeaderSize"></a>QHeader::adjustHeaderSize ()
+</h3>
+
+<p> Adjusts the size of the sections to fit the size of the header as
+completely as possible. Only sections for which <a href="#isStretchEnabled">isStretchEnabled</a>()
+is TRUE will be resized.
+
+<h3 class=fn>int <a name="cellAt"></a>QHeader::cellAt ( int&nbsp;pos ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#sectionAt">sectionAt</a>() instead.
+<p> Returns the index at which the section is displayed, which contains
+<em>pos</em> in widget coordinates, or -1 if <em>pos</em> is outside the header
+sections.
+
+<h3 class=fn>int <a name="cellPos"></a>QHeader::cellPos ( int&nbsp;i ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#sectionPos">sectionPos</a>() instead.
+<p> Returns the position in pixels of the section that is displayed at the
+index <em>i</em>. The position is measured from the start of the header.
+
+<h3 class=fn>int <a name="cellSize"></a>QHeader::cellSize ( int&nbsp;i ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#sectionSize">sectionSize</a>() instead.
+<p> Returns the size in pixels of the section that is displayed at
+the index <em>i</em>.
+
+<h3 class=fn>void <a name="clicked"></a>QHeader::clicked ( int&nbsp;section )<tt> [signal]</tt>
+</h3>
+
+<p> If <a href="#isClickEnabled">isClickEnabled</a>() is TRUE, this signal is emitted when the user
+clicks section <em>section</em>.
+<p> <p>See also <a href="#pressed">pressed</a>() and <a href="#released">released</a>().
+
+<h3 class=fn>int <a name="count"></a>QHeader::count () const
+</h3><p>Returns the number of sections in the header.
+See the <a href="qheader.html#count-prop">"count"</a> property for details.
+<h3 class=fn>int <a name="headerWidth"></a>QHeader::headerWidth () const
+</h3>
+Returns the total width of all the header columns.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;* <a name="iconSet"></a>QHeader::iconSet ( int&nbsp;section ) const
+</h3>
+Returns the icon set for section <em>section</em>. If the section does
+not exist, 0 is returned.
+
+<h3 class=fn>void <a name="indexChange"></a>QHeader::indexChange ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves section <em>section</em> from
+index position <em>fromIndex</em>, to index position <em>toIndex</em>.
+
+<h3 class=fn>bool <a name="isClickEnabled"></a>QHeader::isClickEnabled ( int&nbsp;section = -1 ) const
+</h3>
+Returns TRUE if section <em>section</em> is clickable; otherwise returns
+FALSE.
+<p> If <em>section</em> is out of range (negative or larger than <a href="#count">count</a>() -
+1): returns TRUE if all sections are clickable; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setClickEnabled">setClickEnabled</a>().
+
+<h3 class=fn>bool <a name="isMovingEnabled"></a>QHeader::isMovingEnabled () const
+</h3><p>Returns TRUE if the header sections can be moved; otherwise returns FALSE.
+See the <a href="qheader.html#moving-prop">"moving"</a> property for details.
+<h3 class=fn>bool <a name="isResizeEnabled"></a>QHeader::isResizeEnabled ( int&nbsp;section = -1 ) const
+</h3>
+Returns TRUE if section <em>section</em> is resizeable; otherwise
+returns FALSE.
+<p> If <em>section</em> is -1 then this function applies to all sections,
+i.e. returns TRUE if all sections are resizeable; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setResizeEnabled">setResizeEnabled</a>().
+
+<h3 class=fn>bool <a name="isStretchEnabled"></a>QHeader::isStretchEnabled () const
+</h3><p>Returns TRUE if the header sections always take up the full width (or height) of the header; otherwise returns FALSE.
+See the <a href="qheader.html#stretching-prop">"stretching"</a> property for details.
+<h3 class=fn>bool <a name="isStretchEnabled-2"></a>QHeader::isStretchEnabled ( int&nbsp;section ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if section <em>section</em> will resize to take up the full
+width (or height) of the header; otherwise returns FALSE. If at
+least one section has stretch enabled the sections will always
+take up the full width of the header.
+<p> <p>See also <a href="#setStretchEnabled">setStretchEnabled</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="label"></a>QHeader::label ( int&nbsp;section ) const
+</h3>
+Returns the text for section <em>section</em>. If the section does not
+exist, a <a href="qstring.html#QString-null">QString::null</a> is returned.
+
+<p>Example: <a href="helpsystem-example.html#x2674">helpsystem/tooltip.cpp</a>.
+<h3 class=fn>int <a name="mapToActual"></a>QHeader::mapToActual ( int&nbsp;l ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#mapToIndex">mapToIndex</a>() instead.
+<p> Translates from logical index <em>l</em> to actual index (index at which the section <em>l</em> is displayed) .
+Returns -1 if <em>l</em> is outside the legal range.
+<p> <p>See also <a href="#mapToLogical">mapToLogical</a>().
+
+<h3 class=fn>int <a name="mapToIndex"></a>QHeader::mapToIndex ( int&nbsp;section ) const
+</h3>
+Returns the index position corresponding to the specified <em>section</em> number.
+<p> <b>Warning:</b> If <a href="qtable.html">QTable</a> is used to move header sections as a result of user
+interaction, the mapping exposed by this function will not reflect the
+order of the headers in the table; i.e., QTable does not call <a href="#moveSection">moveSection</a>()
+to move sections but handles move operations internally.
+<p> <p>See also <a href="#mapToSection">mapToSection</a>().
+
+<h3 class=fn>int <a name="mapToLogical"></a>QHeader::mapToLogical ( int&nbsp;a ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#mapToSection">mapToSection</a>() instead.
+<p> Translates from actual index <em>a</em> (index at which the section is displayed) to
+logical index of the section. Returns -1 if <em>a</em> is outside the legal range.
+<p> <p>See also <a href="#mapToActual">mapToActual</a>().
+
+<h3 class=fn>int <a name="mapToSection"></a>QHeader::mapToSection ( int&nbsp;index ) const
+</h3>
+Returns the number of the section that corresponds to the specified <em>index</em>.
+<p> <b>Warning:</b> If <a href="qtable.html">QTable</a> is used to move header sections as a result of user
+interaction, the mapping exposed by this function will not reflect the
+order of the headers in the table; i.e., QTable does not call <a href="#moveSection">moveSection</a>()
+to move sections but handles move operations internally.
+<p> <p>See also <a href="#mapToIndex">mapToIndex</a>().
+
+<h3 class=fn>void <a name="moveCell"></a>QHeader::moveCell ( int&nbsp;fromIdx, int&nbsp;toIdx )<tt> [virtual]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#moveSection">moveSection</a>() instead.
+<p> Moves the section that is currently displayed at index <em>fromIdx</em>
+to index <em>toIdx</em>.
+
+<h3 class=fn>void <a name="moveSection"></a>QHeader::moveSection ( int&nbsp;section, int&nbsp;toIndex )
+</h3>
+Moves section <em>section</em> to index position <em>toIndex</em>.
+
+<h3 class=fn>void <a name="moved"></a>QHeader::moved ( int&nbsp;fromIndex, int&nbsp;toIndex )<tt> [signal]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#indexChange">indexChange</a>() instead.
+<p> This signal is emitted when the user has moved the section which
+is displayed at the index <em>fromIndex</em> to the index <em>toIndex</em>.
+
+<h3 class=fn>int <a name="offset"></a>QHeader::offset () const
+</h3><p>Returns the header's left-most (or top-most) visible pixel.
+See the <a href="qheader.html#offset-prop">"offset"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QHeader::orientation () const
+</h3><p>Returns the header's orientation.
+See the <a href="qheader.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="paintSection"></a>QHeader::paintSection ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;index, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;fr )<tt> [virtual protected]</tt>
+</h3>
+Paints the section at position <em>index</em>, inside rectangle <em>fr</em>
+(which uses widget coordinates) using painter <em>p</em>.
+<p> Calls <a href="#paintSectionLabel">paintSectionLabel</a>().
+
+<h3 class=fn>void <a name="paintSectionLabel"></a>QHeader::paintSectionLabel ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;index, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;fr )<tt> [virtual protected]</tt>
+</h3>
+Paints the label of the section at position <em>index</em>, inside
+rectangle <em>fr</em> (which uses widget coordinates) using painter <em>p</em>.
+<p> Called by <a href="#paintSection">paintSection</a>()
+
+<h3 class=fn>void <a name="pressed"></a>QHeader::pressed ( int&nbsp;section )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses section <em>section</em>
+down.
+<p> <p>See also <a href="#released">released</a>().
+
+<h3 class=fn>void <a name="released"></a>QHeader::released ( int&nbsp;section )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when section <em>section</em> is released.
+<p> <p>See also <a href="#pressed">pressed</a>().
+
+<h3 class=fn>void <a name="removeLabel"></a>QHeader::removeLabel ( int&nbsp;section )
+</h3>
+Removes section <em>section</em>. If the section does not exist, nothing
+happens.
+
+<h3 class=fn>void <a name="resizeSection"></a>QHeader::resizeSection ( int&nbsp;section, int&nbsp;s )
+</h3>
+Resizes section <em>section</em> to <em>s</em> pixels wide (or high).
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="sRect"></a>QHeader::sRect ( int&nbsp;index )<tt> [protected]</tt>
+</h3>
+Returns the rectangle covered by the section at index <em>index</em>.
+
+<h3 class=fn>int <a name="sectionAt"></a>QHeader::sectionAt ( int&nbsp;pos ) const
+</h3>
+Returns the index of the section which contains the position <em>pos</em> given in pixels from the left (or top).
+<p> <p>See also <a href="#offset-prop">offset</a>.
+
+<p>Example: <a href="helpsystem-example.html#x2677">helpsystem/tooltip.cpp</a>.
+<h3 class=fn>void <a name="sectionClicked"></a>QHeader::sectionClicked ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#clicked">clicked</a>() instead.
+<p> This signal is emitted when a part of the header is clicked. <em>index</em> is the index at which the section is displayed.
+<p> In a list view this signal would typically be connected to a slot
+that sorts the specified column (or row).
+
+<h3 class=fn>void <a name="sectionHandleDoubleClicked"></a>QHeader::sectionHandleDoubleClicked ( int&nbsp;section )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user doubleclicks on the edge
+(handle) of section <em>section</em>.
+
+<h3 class=fn>int <a name="sectionPos"></a>QHeader::sectionPos ( int&nbsp;section ) const
+</h3>
+Returns the position (in pixels) at which the <em>section</em> starts.
+<p> <p>See also <a href="#offset-prop">offset</a>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="sectionRect"></a>QHeader::sectionRect ( int&nbsp;section ) const
+</h3>
+Returns the rectangle covered by section <em>section</em>.
+
+<p>Example: <a href="helpsystem-example.html#x2678">helpsystem/tooltip.cpp</a>.
+<h3 class=fn>int <a name="sectionSize"></a>QHeader::sectionSize ( int&nbsp;section ) const
+</h3>
+Returns the width (or height) of the <em>section</em> in pixels.
+
+<h3 class=fn>void <a name="setCellSize"></a>QHeader::setCellSize ( int&nbsp;section, int&nbsp;s )<tt> [virtual]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#resizeSection">resizeSection</a>() instead.
+<p> Sets the size of the section <em>section</em> to <em>s</em> pixels.
+<p> <b>Warning:</b> does not repaint or send out signals
+
+<h3 class=fn>void <a name="setClickEnabled"></a>QHeader::setClickEnabled ( bool&nbsp;enable, int&nbsp;section = -1 )<tt> [virtual]</tt>
+</h3>
+If <em>enable</em> is TRUE, any clicks on section <em>section</em> will result
+in <a href="#clicked">clicked</a>() signals being emitted; otherwise the section will
+ignore clicks.
+<p> If <em>section</em> is -1 (the default) then the <em>enable</em> value is set
+for all existing sections and will be applied to any new sections
+that are added.
+<p> <p>See also <a href="#moving-prop">moving</a> and <a href="#setResizeEnabled">setResizeEnabled</a>().
+
+<h3 class=fn>void <a name="setLabel"></a>QHeader::setLabel ( int&nbsp;section, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )<tt> [virtual]</tt>
+</h3>
+Sets the text of section <em>section</em> to <em>s</em>. The section's width
+is set to <em>size</em> if <em>size</em> &gt;= 0; otherwise it is left
+unchanged. Any icon set that has been set for this section remains
+unchanged.
+<p> If the section does not exist, nothing happens.
+
+<p>Examples: <a href="tutorial2-08.html#x2605">chart/setdataform.cpp</a> and <a href="small-table-example-example.html#x2798">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="setLabel-2"></a>QHeader::setLabel ( int&nbsp;section, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, int&nbsp;size = -1 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the icon for section <em>section</em> to <em>iconset</em> and the text to
+<em>s</em>. The section's width is set to <em>size</em> if <em>size</em> &gt;= 0;
+otherwise it is left unchanged.
+<p> If the section does not exist, nothing happens.
+
+<h3 class=fn>void <a name="setMovingEnabled"></a>QHeader::setMovingEnabled ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the header sections can be moved.
+See the <a href="qheader.html#moving-prop">"moving"</a> property for details.
+<h3 class=fn>void <a name="setOffset"></a>QHeader::setOffset ( int&nbsp;pos )<tt> [virtual slot]</tt>
+</h3><p>Sets the header's left-most (or top-most) visible pixel to <em>pos</em>.
+See the <a href="qheader.html#offset-prop">"offset"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QHeader::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )<tt> [virtual]</tt>
+</h3><p>Sets the header's orientation.
+See the <a href="qheader.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setResizeEnabled"></a>QHeader::setResizeEnabled ( bool&nbsp;enable, int&nbsp;section = -1 )<tt> [virtual]</tt>
+</h3>
+If <em>enable</em> is TRUE the user may resize section <em>section</em>;
+otherwise the section may not be manually resized.
+<p> If <em>section</em> is negative (the default) then the <em>enable</em> value
+is set for all existing sections and will be applied to any new
+sections that are added.
+Example:
+<pre>
+ // Allow resizing of all current and future sections
+ header-&gt;setResizeEnabled(TRUE);
+ // Disable resizing of section 3, (the fourth section added)
+ header-&gt;setResizeEnabled(FALSE, 3);
+ </pre>
+
+<p> If the user resizes a section, a <a href="#sizeChange">sizeChange</a>() signal is emitted.
+<p> <p>See also <a href="#moving-prop">moving</a>, <a href="#setClickEnabled">setClickEnabled</a>(), and <a href="#tracking-prop">tracking</a>.
+
+<h3 class=fn>void <a name="setSortIndicator"></a>QHeader::setSortIndicator ( int&nbsp;section, <a href="qt.html#SortOrder-enum">SortOrder</a>&nbsp;order )
+</h3>
+
+<p> Sets a sort indicator onto the specified <em>section</em>. The indicator's
+<em>order</em> is either Ascending or Descending.
+<p> Only one section can show a sort indicator at any one time. If you
+don't want any section to show a sort indicator pass a <em>section</em>
+number of -1.
+<p> <p>See also <a href="#sortIndicatorSection">sortIndicatorSection</a>() and <a href="#sortIndicatorOrder">sortIndicatorOrder</a>().
+
+<h3 class=fn>void <a name="setSortIndicator-2"></a>QHeader::setSortIndicator ( int&nbsp;section, bool&nbsp;ascending = TRUE )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use the other overload instead.
+
+<h3 class=fn>void <a name="setStretchEnabled"></a>QHeader::setStretchEnabled ( bool&nbsp;b, int&nbsp;section )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE, section <em>section</em> will be resized when the
+header is resized, so that the sections take up the full width (or
+height for vertical headers) of the header; otherwise section <em>section</em> will be set to be unstretchable and will not resize when
+the header is resized.
+<p> If <em>section</em> is -1, and if <em>b</em> is TRUE, then all sections will
+be resized equally when the header is resized so that they take up
+the full width (or height for vertical headers) of the header;
+otherwise all the sections will be set to be unstretchable and
+will not resize when the header is resized.
+<p> <p>See also <a href="#adjustHeaderSize">adjustHeaderSize</a>().
+
+<h3 class=fn>void <a name="setStretchEnabled-2"></a>QHeader::setStretchEnabled ( bool&nbsp;b )
+</h3><p>Sets whether the header sections always take up the full width (or height) of the header to <em>b</em>.
+See the <a href="qheader.html#stretching-prop">"stretching"</a> property for details.
+<h3 class=fn>void <a name="setTracking"></a>QHeader::setTracking ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3><p>Sets whether the <a href="#sizeChange">sizeChange</a>() signal is emitted continuously to <em>enable</em>.
+See the <a href="qheader.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>void <a name="sizeChange"></a>QHeader::sizeChange ( int&nbsp;section, int&nbsp;oldSize, int&nbsp;newSize )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user has changed the size of a <em>section</em> from <em>oldSize</em> to <em>newSize</em>. This signal is typically
+connected to a slot that repaints the table or list that contains
+the header.
+
+<h3 class=fn><a href="qt.html#SortOrder-enum">SortOrder</a> <a name="sortIndicatorOrder"></a>QHeader::sortIndicatorOrder () const
+</h3>
+Returns the implied sort order of the QHeaders sort indicator.
+<p> <p>See also <a href="#setSortIndicator">setSortIndicator</a>() and <a href="#sortIndicatorSection">sortIndicatorSection</a>().
+
+<h3 class=fn>int <a name="sortIndicatorSection"></a>QHeader::sortIndicatorSection () const
+</h3>
+Returns the section showing the sort indicator or -1 if there is no sort indicator.
+<p> <p>See also <a href="#setSortIndicator">setSortIndicator</a>() and <a href="#sortIndicatorOrder">sortIndicatorOrder</a>().
+
+<h3 class=fn>bool <a name="tracking"></a>QHeader::tracking () const
+</h3><p>Returns TRUE if the <a href="#sizeChange">sizeChange</a>() signal is emitted continuously; otherwise returns FALSE.
+See the <a href="qheader.html#tracking-prop">"tracking"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of sections in the header.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>bool <a name="moving-prop"></a>moving</h3>
+<p>This property holds whether the header sections can be moved.
+<p>If this property is TRUE (the default) the user can move sections.
+If the user moves a section the <a href="#indexChange">indexChange</a>() signal is emitted.
+<p> <p>See also <a href="#setClickEnabled">setClickEnabled</a>() and <a href="#setResizeEnabled">setResizeEnabled</a>().
+
+<p>Set this property's value with <a href="#setMovingEnabled">setMovingEnabled</a>() and get this property's value with <a href="#isMovingEnabled">isMovingEnabled</a>().
+<h3 class=fn>int <a name="offset-prop"></a>offset</h3>
+<p>This property holds the header's left-most (or top-most) visible pixel.
+<p>Setting this property will scroll the header so that <em>offset</em>
+becomes the left-most (or top-most for vertical headers) visible
+pixel.
+
+<p>Set this property's value with <a href="#setOffset">setOffset</a>() and get this property's value with <a href="#offset">offset</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the header's orientation.
+<p>The orientation is either <a href="qt.html#Orientation-enum">Vertical</a> or <a href="qt.html#Orientation-enum">Horizontal</a> (the
+default).
+<p> Call <a href="#setOrientation">setOrientation</a>() before adding labels if you don't provide a
+size parameter otherwise the sizes will be incorrect.
+
+<p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>().
+<h3 class=fn>bool <a name="stretching-prop"></a>stretching</h3>
+<p>This property holds whether the header sections always take up the full width (or height) of the header.
+<p>
+<p>Set this property's value with <a href="#setStretchEnabled">setStretchEnabled</a>() and get this property's value with <a href="#isStretchEnabled">isStretchEnabled</a>().
+<h3 class=fn>bool <a name="tracking-prop"></a>tracking</h3>
+<p>This property holds whether the <a href="#sizeChange">sizeChange</a>() signal is emitted continuously.
+<p>If tracking is on, the sizeChange() signal is emitted continuously
+while the mouse is moved (i.e. when the header is resized),
+otherwise it is only emitted when the mouse button is released at
+the end of resizing.
+<p> Tracking defaults to FALSE.
+
+<p>Set this property's value with <a href="#setTracking">setTracking</a>() and get this property's value with <a href="#tracking">tracking</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhebrewcodec-members.html b/doc/html/qhebrewcodec-members.html
new file mode 100644
index 0000000..4dee115
--- /dev/null
+++ b/doc/html/qhebrewcodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrtlcodec.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHebrewCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHebrewCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhebrewcodec.html">QHebrewCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qhebrewcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qhebrewcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhebrewcodec.html b/doc/html/qhebrewcodec.html
new file mode 100644
index 0000000..3265af8
--- /dev/null
+++ b/doc/html/qhebrewcodec.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qrtlcodec.cpp:358 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHebrewCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHebrewCodec Class Reference</h1>
+
+<p>The QHebrewCodec class provides conversion to and from
+visually ordered Hebrew.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qrtlcodec-h.html">qrtlcodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qhebrewcodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+<li class=fn>virtual QCString <a href="#fromUnicode"><b>fromUnicode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+<p> The QHebrewCodec class provides conversion to and from
+visually ordered Hebrew.
+<p> Hebrew as a semitic language is written from right to left.
+Because older computer systems couldn't handle reordering a string
+so that the first letter appears on the right, many older
+documents were encoded in visual order, so that the first letter
+of a line is the rightmost one in the string.
+<p> In contrast to this, Unicode defines characters to be in logical
+order (the order you would read the string). This codec tries to
+convert visually ordered Hebrew (8859-8) to Unicode. This might
+not always work perfectly, because reversing the <em>bidi</em>
+(bi-directional) algorithm that transforms from logical to visual
+order is non-trivial.
+<p> Transformation from Unicode to visual Hebrew (8859-8) is done
+using the bidi algorithm in Qt, and will produce correct results,
+so long as the codec is given the text a whole paragraph at a
+time. Places where newlines are supposed to go can be indicated by
+a newline character ('\n'). Note that these newline characters
+change the reordering behaviour of the algorithm, since the bidi
+reordering only takes place within one line of text, whereas
+line breaks are determined in visual order.
+<p> Visually ordered Hebrew is still used quite often in some places,
+mainly in email communication (since most email programs still
+don't understand logically ordered Hebrew) and on web pages. The
+use on web pages is rapidly decreasing, due to the availability of
+browsers that correctly support logically ordered Hebrew.
+<p> This codec has the name "iso8859-8". If you don't want any bidi
+reordering to happen during conversion, use the "iso8859-8-i"
+codec, which assumes logical order for the 8-bit string.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="fromUnicode"></a>QHebrewCodec::fromUnicode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const<tt> [virtual]</tt>
+</h3>
+Transforms the logically ordered <a href="qstring.html">QString</a>, <em>uc</em>, into a visually
+ordered string in the 8859-8 encoding. Qt's bidi algorithm is used
+to perform this task. Note that newline characters affect the
+reordering, since reordering is done on a line by line basis.
+<p> The algorithm is designed to work on whole paragraphs of text, so
+processing a line at a time may produce incorrect results. This
+approach is taken because the reordering of the contents of a
+particular line in a paragraph may depend on the previous line in
+the same paragraph.
+<p> Some encodings (for example Japanese or UTF-8) are multibyte (so
+one input character is mapped to two output characters). The <em>lenInOut</em> argument specifies the number of QChars that should be
+converted and is set to the number of characters returned.
+
+<p>Reimplemented from <a href="qtextcodec.html#fromUnicode">QTextCodec</a>.
+<h3 class=fn>const char * <a name="mimeName"></a>QHebrewCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the codec's mime name.
+
+<p>Reimplemented from <a href="qtextcodec.html#mimeName">QTextCodec</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhgroupbox-h.html b/doc/html/qhgroupbox-h.html
new file mode 100644
index 0000000..4192a64
--- /dev/null
+++ b/doc/html/qhgroupbox-h.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhgroupbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qhgroupbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qhgroupbox.h</h1>
+
+<p>This is the verbatim text of the qhgroupbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qhgroupbox.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QHGroupBox widget class
+**
+** Created : 990602
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QHGROUPBOX_H
+#define QHGROUPBOX_H
+
+#ifndef QT_H
+#include "qgroupbox.h"
+#endif // QT_H
+
+#ifndef QT_NO_HGROUPBOX
+
+class Q_EXPORT QHGroupBox : public QGroupBox
+{
+ Q_OBJECT
+public:
+ QHGroupBox( QWidget* parent=0, const char* name=0 );
+ QHGroupBox( const QString &amp;title, QWidget* parent=0, const char* name=0 );
+ ~QHGroupBox();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QHGroupBox( const QHGroupBox &amp; );
+ QHGroupBox &amp;operator=( const QHGroupBox &amp; );
+#endif
+};
+
+#endif // QT_NO_HGROUPBOX
+
+#endif // QHGROUPBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhgroupbox-members.html b/doc/html/qhgroupbox-members.html
new file mode 100644
index 0000000..3b1f419
--- /dev/null
+++ b/doc/html/qhgroupbox-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhgroupbox.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHGroupBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHGroupBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhgroupbox.html">QHGroupBox</a>, including inherited members.
+
+<ul>
+<li><a href="qhgroupbox.html#QHGroupBox">QHGroupBox</a>()
+<li><a href="qhgroupbox.html#~QHGroupBox">~QHGroupBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhgroupbox.html b/doc/html/qhgroupbox.html
new file mode 100644
index 0000000..0592d6e
--- /dev/null
+++ b/doc/html/qhgroupbox.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qhgroupbox.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHGroupBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHGroupBox Class Reference</h1>
+
+<p>The QHGroupBox widget organizes widgets in a group with one
+horizontal row.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhgroupbox-h.html">qhgroupbox.h</a>&gt;</tt>
+<p>Inherits <a href="qgroupbox.html">QGroupBox</a>.
+<p><a href="qhgroupbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHGroupBox"><b>QHGroupBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHGroupBox-2"><b>QHGroupBox</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QHGroupBox"><b>~QHGroupBox</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QHGroupBox widget organizes widgets in a group with one
+horizontal row.
+<p>
+
+
+<p> QHGroupBox is a convenience class that offers a thin layer on top
+of <a href="qgroupbox.html">QGroupBox</a>. Think of it as a <a href="qhbox.html">QHBox</a> that offers a frame with a
+title.
+<p> <center><img src="qgroupboxes.png" alt="Group Boxes"></center>
+<p> <p>See also <a href="qvgroupbox.html">QVGroupBox</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHGroupBox"></a>QHGroupBox::QHGroupBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal group box with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QHGroupBox-2"></a>QHGroupBox::QHGroupBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal group box with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QHGroupBox"></a>QHGroupBox::~QHGroupBox ()
+</h3>
+Destroys the horizontal group box, deleting its child widgets.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhideevent-members.html b/doc/html/qhideevent-members.html
new file mode 100644
index 0000000..15f0f88
--- /dev/null
+++ b/doc/html/qhideevent-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:416 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHideEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHideEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhideevent.html">QHideEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qhideevent.html#QHideEvent">QHideEvent</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhideevent.html b/doc/html/qhideevent.html
new file mode 100644
index 0000000..4aefaf4
--- /dev/null
+++ b/doc/html/qhideevent.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2497 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHideEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHideEvent Class Reference</h1>
+
+<p>The QHideEvent class provides an event which is sent after a widget is hidden.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qhideevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHideEvent"><b>QHideEvent</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHideEvent class provides an event which is sent after a widget is hidden.
+<p>
+<p> This event is sent just before <a href="qwidget.html#hide">QWidget::hide</a>() returns, and also
+when a top-level window has been hidden (iconified) by the user.
+<p> If <a href="qevent.html#spontaneous">spontaneous</a>() is TRUE the event originated outside the
+application, i.e. the user hid the window using the window manager
+controls, either by iconifying the window or by switching to
+another virtual desktop where the window isn't visible. The window
+will become hidden but not withdrawn. If the window was iconified,
+<a href="qwidget.html#isMinimized">QWidget::isMinimized</a>() returns TRUE.
+<p> <p>See also <a href="qshowevent.html">QShowEvent</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHideEvent"></a>QHideEvent::QHideEvent ()
+</h3>
+
+<p> Constructs a QHideEvent.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhostaddress-h.html b/doc/html/qhostaddress-h.html
new file mode 100644
index 0000000..c4244d4
--- /dev/null
+++ b/doc/html/qhostaddress-h.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhostaddress.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qhostaddress.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qhostaddress.h</h1>
+
+<p>This is the verbatim text of the qhostaddress.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qhostaddress.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QHostAddress class.
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QHOSTADDRESS_H
+#define QHOSTADDRESS_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_NETWORK
+#else
+#define QM_EXPORT_NETWORK Q_EXPORT
+#endif
+
+#ifndef QT_NO_NETWORK
+class QHostAddressPrivate;
+
+typedef struct {
+ Q_UINT8 c[16];
+} Q_IPV6ADDR;
+
+class QM_EXPORT_NETWORK QHostAddress
+{
+public:
+ QHostAddress();
+ QHostAddress( Q_UINT32 ip4Addr );
+ QHostAddress( Q_UINT8 *ip6Addr );
+ QHostAddress(const Q_IPV6ADDR &amp;ip6Addr);
+#ifndef QT_NO_STRINGLIST
+ QHostAddress(const QString &amp;address);
+#endif
+ QHostAddress( const QHostAddress &amp; );
+ virtual ~QHostAddress();
+
+ QHostAddress &amp; operator=( const QHostAddress &amp; );
+
+ void setAddress( Q_UINT32 ip4Addr );
+ void setAddress( Q_UINT8 *ip6Addr );
+#ifndef QT_NO_STRINGLIST
+ bool setAddress( const QString&amp; address );
+#endif
+ bool isIp4Addr() const; // obsolete
+ Q_UINT32 ip4Addr() const; // obsolete
+
+ bool isIPv4Address() const;
+ Q_UINT32 toIPv4Address() const;
+ bool isIPv6Address() const;
+ Q_IPV6ADDR toIPv6Address() const;
+
+#ifndef QT_NO_SPRINTF
+ QString toString() const;
+#endif
+
+ bool operator==( const QHostAddress &amp; ) const;
+ bool isNull() const;
+
+private:
+ QHostAddressPrivate* d;
+};
+
+#endif //QT_NO_NETWORK
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhostaddress-members.html b/doc/html/qhostaddress-members.html
new file mode 100644
index 0000000..2150fa6
--- /dev/null
+++ b/doc/html/qhostaddress-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhostaddress.h:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHostAddress Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHostAddress</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhostaddress.html">QHostAddress</a>, including inherited members.
+
+<ul>
+<li><a href="qhostaddress.html#QHostAddress">QHostAddress</a>()
+<li><a href="qhostaddress.html#~QHostAddress">~QHostAddress</a>()
+<li><a href="qhostaddress.html#ip4Addr">ip4Addr</a>()
+<li><a href="qhostaddress.html#isIPv4Address">isIPv4Address</a>()
+<li><a href="qhostaddress.html#isIPv6Address">isIPv6Address</a>()
+<li><a href="qhostaddress.html#isIp4Addr">isIp4Addr</a>()
+<li><a href="qhostaddress.html#isNull">isNull</a>()
+<li><a href="qhostaddress.html#operator-eq">operator=</a>()
+<li><a href="qhostaddress.html#operator-eq-eq">operator==</a>()
+<li><a href="qhostaddress.html#setAddress">setAddress</a>()
+<li><a href="qhostaddress.html#toIPv4Address">toIPv4Address</a>()
+<li><a href="qhostaddress.html#toIPv6Address">toIPv6Address</a>()
+<li><a href="qhostaddress.html#toString">toString</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhostaddress.html b/doc/html/qhostaddress.html
new file mode 100644
index 0000000..b190fa7
--- /dev/null
+++ b/doc/html/qhostaddress.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qhostaddress.cpp:82 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHostAddress Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHostAddress Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QHostAddress class provides an IP address.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhostaddress-h.html">qhostaddress.h</a>&gt;</tt>
+<p><a href="qhostaddress-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHostAddress"><b>QHostAddress</b></a> ()</li>
+<li class=fn><a href="#QHostAddress-2"><b>QHostAddress</b></a> ( Q_UINT32&nbsp;ip4Addr )</li>
+<li class=fn><a href="#QHostAddress-3"><b>QHostAddress</b></a> ( Q_UINT8&nbsp;*&nbsp;ip6Addr )</li>
+<li class=fn><a href="#QHostAddress-4"><b>QHostAddress</b></a> ( const&nbsp;Q_IPV6ADDR&nbsp;&amp;&nbsp;ip6Addr )</li>
+<li class=fn><a href="#QHostAddress-6"><b>QHostAddress</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address )</li>
+<li class=fn>virtual <a href="#~QHostAddress"><b>~QHostAddress</b></a> ()</li>
+<li class=fn>QHostAddress &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address )</li>
+<li class=fn>void <a href="#setAddress"><b>setAddress</b></a> ( Q_UINT32&nbsp;ip4Addr )</li>
+<li class=fn>void <a href="#setAddress-2"><b>setAddress</b></a> ( Q_UINT8&nbsp;*&nbsp;ip6Addr )</li>
+<li class=fn>bool <a href="#setAddress-3"><b>setAddress</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;address )</li>
+<li class=fn>bool isIp4Addr () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>Q_UINT32 ip4Addr () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#isIPv4Address"><b>isIPv4Address</b></a> () const</li>
+<li class=fn>Q_UINT32 <a href="#toIPv4Address"><b>toIPv4Address</b></a> () const</li>
+<li class=fn>bool <a href="#isIPv6Address"><b>isIPv6Address</b></a> () const</li>
+<li class=fn>Q_IPV6ADDR <a href="#toIPv6Address"><b>toIPv6Address</b></a> () const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHostAddress class provides an IP address.
+
+<p>
+
+<p> This class contains an IP address in a platform and protocol
+independent manner. It stores both IPv4 and IPv6 addresses in a
+way that you can easily access on any platform.
+<p> QHostAddress is normally used with the classes <a href="qsocket.html">QSocket</a>,
+<a href="qserversocket.html">QServerSocket</a> and <a href="qsocketdevice.html">QSocketDevice</a> to set up a server or to connect
+to a host.
+<p> Host addresses may be set with <a href="#setAddress">setAddress</a>() and retrieved with
+<a href="#ip4Addr">ip4Addr</a>() or <a href="#toString">toString</a>().
+<p> <p>See also <a href="qsocket.html">QSocket</a>, <a href="qserversocket.html">QServerSocket</a>, <a href="qsocketdevice.html">QSocketDevice</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHostAddress"></a>QHostAddress::QHostAddress ()
+</h3>
+Creates a host address object with the IP address 0.0.0.0.
+
+<h3 class=fn><a name="QHostAddress-2"></a>QHostAddress::QHostAddress ( Q_UINT32&nbsp;ip4Addr )
+</h3>
+Creates a host address object for the IPv4 address <em>ip4Addr</em>.
+
+<h3 class=fn><a name="QHostAddress-3"></a>QHostAddress::QHostAddress ( Q_UINT8&nbsp;*&nbsp;ip6Addr )
+</h3>
+Creates a host address object with the specified IPv6 address.
+<p> <em>ip6Addr</em> must be a 16 byte array in network byte order
+(high-order byte first).
+
+<h3 class=fn><a name="QHostAddress-4"></a>QHostAddress::QHostAddress ( const&nbsp;Q_IPV6ADDR&nbsp;&amp;&nbsp;ip6Addr )
+</h3>
+Creates a host address object with the IPv6 address, <em>ip6Addr</em>.
+
+<h3 class=fn><a name="QHostAddress-6"></a>QHostAddress::QHostAddress ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address )
+</h3>
+Creates a copy of <em>address</em>.
+
+<h3 class=fn><a name="~QHostAddress"></a>QHostAddress::~QHostAddress ()<tt> [virtual]</tt>
+</h3>
+Destroys the host address object.
+
+<h3 class=fn>Q_UINT32 <a name="ip4Addr"></a>QHostAddress::ip4Addr () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#toIPv4Address">toIPv4Address</a>() instead.
+
+<h3 class=fn>bool <a name="isIPv4Address"></a>QHostAddress::isIPv4Address () const
+</h3>
+Returns TRUE if the host address represents an IPv4 address;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isIPv6Address"></a>QHostAddress::isIPv6Address () const
+</h3>
+Returns TRUE if the host address represents an IPv6 address;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isIp4Addr"></a>QHostAddress::isIp4Addr () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#isIPv4Address">isIPv4Address</a>() instead.
+
+<h3 class=fn>bool <a name="isNull"></a>QHostAddress::isNull () const
+</h3>
+Returns TRUE if this host address is null (INADDR_ANY or in6addr_any). The
+default constructor creates a null address, and that address isn't valid
+for any particular host or interface.
+
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp; <a name="operator-eq"></a>QHostAddress::operator= ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address )
+</h3>
+Assigns another host address object <em>address</em> to this object and
+returns a reference to this object.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QHostAddress::operator== ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+Returns TRUE if this host address is the same as <em>other</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>void <a name="setAddress"></a>QHostAddress::setAddress ( Q_UINT32&nbsp;ip4Addr )
+</h3>
+Set the IPv4 address specified by <em>ip4Addr</em>.
+
+<h3 class=fn>void <a name="setAddress-2"></a>QHostAddress::setAddress ( Q_UINT8&nbsp;*&nbsp;ip6Addr )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Set the IPv6 address specified by <em>ip6Addr</em>.
+<p> <em>ip6Addr</em> must be a 16 byte array in network byte order
+(high-order byte first).
+
+<h3 class=fn>bool <a name="setAddress-3"></a>QHostAddress::setAddress ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;address )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the IPv4 or IPv6 address specified by the string
+representation <em>address</em> (e.g. "127.0.0.1"). Returns TRUE and
+sets the address if the address was successfully parsed; otherwise
+returns FALSE and leaves the address unchanged.
+
+<h3 class=fn>Q_UINT32 <a name="toIPv4Address"></a>QHostAddress::toIPv4Address () const
+</h3>
+Returns the IPv4 address as a number.
+<p> For example, if the address is 127.0.0.1, the returned value is
+2130706433 (i.e. 0x7f000001).
+<p> This value is only valid when <a href="#isIp4Addr">isIp4Addr</a>() returns TRUE.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>Q_IPV6ADDR <a name="toIPv6Address"></a>QHostAddress::toIPv6Address () const
+</h3>
+Returns the IPv6 address as a Q_IPV6ADDR structure. The structure
+consists of 16 unsigned characters.
+<p> <pre>
+ Q_IPV6ADDR addr = hostAddr.ip6Addr();
+ // addr.c[] contains 16 unsigned characters
+
+ for (int i = 0; i &lt; 16; ++i) {
+ // process addr.c[i]
+ }
+ </pre>
+
+<p> This value is only valid when <a href="#isIPv6Address">isIPv6Address</a>() returns TRUE.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QHostAddress::toString () const
+</h3>
+Returns the address as a string.
+<p> For example, if the address is the IPv4 address 127.0.0.1, the
+returned string is "127.0.0.1".
+<p> <p>See also <a href="#ip4Addr">ip4Addr</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttp-h.html b/doc/html/qhttp-h.html
new file mode 100644
index 0000000..c3495cc
--- /dev/null
+++ b/doc/html/qhttp-h.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhttp.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qhttp.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qhttp.h</h1>
+
+<p>This is the verbatim text of the qhttp.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qhttp.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QHttp and related classes.
+**
+** Created : 970521
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QHTTP_H
+#define QHTTP_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qnetworkprotocol.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_HTTP
+#define QM_TEMPLATE_EXTERN_HTTP
+#else
+#define QM_EXPORT_HTTP Q_EXPORT
+#define QM_TEMPLATE_EXTERN_HTTP Q_TEMPLATE_EXTERN
+#endif
+
+#ifndef QT_NO_NETWORKPROTOCOL_HTTP
+
+class QSocket;
+class QTimerEvent;
+class QTextStream;
+class QIODevice;
+
+class QHttpPrivate;
+class QHttpRequest;
+
+class QM_EXPORT_HTTP QHttpHeader
+{
+public:
+ QHttpHeader();
+ QHttpHeader( const QHttpHeader&amp; header );
+ QHttpHeader( const QString&amp; str );
+ virtual ~QHttpHeader();
+
+ QHttpHeader&amp; operator=( const QHttpHeader&amp; h );
+
+ QString value( const QString&amp; key ) const;
+ void setValue( const QString&amp; key, const QString&amp; value );
+ void removeValue( const QString&amp; key );
+
+ QStringList keys() const;
+ bool hasKey( const QString&amp; key ) const;
+
+ bool hasContentLength() const;
+ uint contentLength() const;
+ void setContentLength( int len );
+
+ bool hasContentType() const;
+ QString contentType() const;
+ void setContentType( const QString&amp; type );
+
+ virtual QString toString() const;
+ bool isValid() const;
+
+ virtual int majorVersion() const = 0;
+ virtual int minorVersion() const = 0;
+
+protected:
+ virtual bool parseLine( const QString&amp; line, int number );
+ bool parse( const QString&amp; str );
+ void setValid( bool );
+
+private:
+ QMap&lt;QString,QString&gt; values;
+ bool valid;
+};
+
+class QM_EXPORT_HTTP QHttpResponseHeader : public QHttpHeader
+{
+private:
+ QHttpResponseHeader( int code, const QString&amp; text = QString::null, int majorVer = 1, int minorVer = 1 );
+ QHttpResponseHeader( const QString&amp; str );
+
+ void setStatusLine( int code, const QString&amp; text = QString::null, int majorVer = 1, int minorVer = 1 );
+
+public:
+ QHttpResponseHeader();
+ QHttpResponseHeader( const QHttpResponseHeader&amp; header );
+
+ int statusCode() const;
+ QString reasonPhrase() const;
+
+ int majorVersion() const;
+ int minorVersion() const;
+
+ QString toString() const;
+
+protected:
+ bool parseLine( const QString&amp; line, int number );
+
+private:
+ int statCode;
+ QString reasonPhr;
+ int majVer;
+ int minVer;
+
+ friend class QHttp;
+};
+
+class QM_EXPORT_HTTP QHttpRequestHeader : public QHttpHeader
+{
+public:
+ QHttpRequestHeader();
+ QHttpRequestHeader( const QString&amp; method, const QString&amp; path, int majorVer = 1, int minorVer = 1 );
+ QHttpRequestHeader( const QHttpRequestHeader&amp; header );
+ QHttpRequestHeader( const QString&amp; str );
+
+ void setRequest( const QString&amp; method, const QString&amp; path, int majorVer = 1, int minorVer = 1 );
+
+ QString method() const;
+ QString path() const;
+
+ int majorVersion() const;
+ int minorVersion() const;
+
+ QString toString() const;
+
+protected:
+ bool parseLine( const QString&amp; line, int number );
+
+private:
+ QString m;
+ QString p;
+ int majVer;
+ int minVer;
+};
+
+class QM_EXPORT_HTTP QHttp : public QNetworkProtocol
+{
+ Q_OBJECT
+
+public:
+ QHttp();
+ QHttp( QObject* parent, const char* name = 0 ); // ### Qt 4.0: make parent=0 and get rid of the QHttp() constructor
+ QHttp( const QString &amp;hostname, Q_UINT16 port=80, QObject* parent=0, const char* name = 0 );
+ virtual ~QHttp();
+
+ int supportedOperations() const;
+
+ enum State { Unconnected, HostLookup, Connecting, Sending, Reading, Connected, Closing };
+ enum Error {
+ NoError,
+ UnknownError,
+ HostNotFound,
+ ConnectionRefused,
+ UnexpectedClose,
+ InvalidResponseHeader,
+ WrongContentLength,
+ Aborted
+ };
+
+ int setHost(const QString &amp;hostname, Q_UINT16 port=80 );
+
+ int get( const QString&amp; path, QIODevice* to=0 );
+ int post( const QString&amp; path, QIODevice* data, QIODevice* to=0 );
+ int post( const QString&amp; path, const QByteArray&amp; data, QIODevice* to=0 );
+ int head( const QString&amp; path );
+ int request( const QHttpRequestHeader &amp;header, QIODevice *device=0, QIODevice *to=0 );
+ int request( const QHttpRequestHeader &amp;header, const QByteArray &amp;data, QIODevice *to=0 );
+
+ int closeConnection();
+
+ Q_ULONG bytesAvailable() const;
+ Q_LONG readBlock( char *data, Q_ULONG maxlen );
+ QByteArray readAll();
+
+ int currentId() const;
+ QIODevice* currentSourceDevice() const;
+ QIODevice* currentDestinationDevice() const;
+ QHttpRequestHeader currentRequest() const;
+ bool hasPendingRequests() const;
+ void clearPendingRequests();
+
+ State state() const;
+
+ Error error() const;
+ QString errorString() const;
+
+public slots:
+ void abort();
+
+signals:
+ void stateChanged( int );
+ void responseHeaderReceived( const QHttpResponseHeader&amp; resp );
+ void readyRead( const QHttpResponseHeader&amp; resp );
+ void dataSendProgress( int, int );
+ void dataReadProgress( int, int );
+
+ void requestStarted( int );
+ void requestFinished( int, bool );
+ void done( bool );
+
+protected:
+ void operationGet( QNetworkOperation *op );
+ void operationPut( QNetworkOperation *op );
+
+ void timerEvent( QTimerEvent * );
+
+private slots:
+ void clientReply( const QHttpResponseHeader &amp;rep );
+ void clientDone( bool );
+ void clientStateChanged( int );
+
+ void startNextRequest();
+ void slotReadyRead();
+ void slotConnected();
+ void slotError( int );
+ void slotClosed();
+ void slotBytesWritten( int );
+
+private:
+ QHttpPrivate *d;
+ void *unused; // ### Qt 4.0: remove this (in for binary compatibility)
+ int bytesRead;
+
+ int addRequest( QHttpRequest * );
+ void sendRequest();
+ void finishedWithSuccess();
+ void finishedWithError( const QString&amp; detail, int errorCode );
+
+ void killIdleTimer();
+
+ void init();
+ void setState( int );
+ void close();
+
+ friend class QHttpNormalRequest;
+ friend class QHttpSetHostRequest;
+ friend class QHttpCloseRequest;
+ friend class QHttpPGHRequest;
+};
+
+#define Q_DEFINED_QHTTP
+#include "qwinexport.h"
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttp-members.html b/doc/html/qhttp-members.html
new file mode 100644
index 0000000..c6a9f93
--- /dev/null
+++ b/doc/html/qhttp-members.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhttp.h:166 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttp Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHttp</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhttp.html">QHttp</a>, including inherited members.
+
+<ul>
+<li><a href="qhttp.html#QHttp">QHttp</a>()
+<li><a href="qhttp.html#~QHttp">~QHttp</a>()
+<li><a href="qhttp.html#abort">abort</a>()
+<li><a href="qnetworkprotocol.html#addOperation">addOperation</a>()
+<li><a href="qnetworkprotocol.html#autoDelete">autoDelete</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qhttp.html#bytesAvailable">bytesAvailable</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qnetworkprotocol.html#checkConnection">checkConnection</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</a>()
+<li><a href="qhttp.html#clearPendingRequests">clearPendingRequests</a>()
+<li><a href="qhttp.html#closeConnection">closeConnection</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qnetworkprotocol.html#connectionStateChanged">connectionStateChanged</a>()
+<li><a href="qnetworkprotocol.html#createdDirectory">createdDirectory</a>()
+<li><a href="qhttp.html#currentDestinationDevice">currentDestinationDevice</a>()
+<li><a href="qhttp.html#currentId">currentId</a>()
+<li><a href="qhttp.html#currentRequest">currentRequest</a>()
+<li><a href="qhttp.html#currentSourceDevice">currentSourceDevice</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qnetworkprotocol.html#data">data</a>()
+<li><a href="qhttp.html#dataReadProgress">dataReadProgress</a>()
+<li><a href="qhttp.html#dataSendProgress">dataSendProgress</a>()
+<li><a href="qnetworkprotocol.html#dataTransferProgress">dataTransferProgress</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qhttp.html#done">done</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qhttp.html#error">error</a>()
+<li><a href="qhttp.html#errorString">errorString</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnetworkprotocol.html#finished">finished</a>()
+<li><a href="qhttp.html#get">get</a>()
+<li><a href="qnetworkprotocol.html#getNetworkProtocol">getNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#hasOnlyLocalFileSystem">hasOnlyLocalFileSystem</a>()
+<li><a href="qhttp.html#hasPendingRequests">hasPendingRequests</a>()
+<li><a href="qhttp.html#head">head</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qnetworkprotocol.html#itemChanged">itemChanged</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qnetworkprotocol.html#newChild">newChild</a>()
+<li><a href="qnetworkprotocol.html#newChildren">newChildren</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qnetworkprotocol.html#operationGet">operationGet</a>()
+<li><a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()
+<li><a href="qnetworkprotocol.html#operationListChildren">operationListChildren</a>()
+<li><a href="qnetworkprotocol.html#operationMkDir">operationMkDir</a>()
+<li><a href="qnetworkprotocol.html#operationPut">operationPut</a>()
+<li><a href="qnetworkprotocol.html#operationRemove">operationRemove</a>()
+<li><a href="qnetworkprotocol.html#operationRename">operationRename</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qhttp.html#post">post</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qhttp.html#readAll">readAll</a>()
+<li><a href="qhttp.html#readBlock">readBlock</a>()
+<li><a href="qhttp.html#readyRead">readyRead</a>()
+<li><a href="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qnetworkprotocol.html#removed">removed</a>()
+<li><a href="qhttp.html#request">request</a>()
+<li><a href="qhttp.html#requestFinished">requestFinished</a>()
+<li><a href="qhttp.html#requestStarted">requestStarted</a>()
+<li><a href="qhttp.html#responseHeaderReceived">responseHeaderReceived</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qnetworkprotocol.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qhttp.html#setHost">setHost</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qnetworkprotocol.html#setUrl">setUrl</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qnetworkprotocol.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qhttp.html#state">state</a>()
+<li><a href="qhttp.html#stateChanged">stateChanged</a>()
+<li><a href="qnetworkprotocol.html#stop">stop</a>()
+<li><a href="qnetworkprotocol.html#supportedOperations">supportedOperations</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qnetworkprotocol.html#url">url</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttp.html b/doc/html/qhttp.html
new file mode 100644
index 0000000..2e848cc
--- /dev/null
+++ b/doc/html/qhttp.html
@@ -0,0 +1,593 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qhttp.cpp:1010 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttp Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHttp Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QHttp class provides an implementation of the HTTP protocol.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhttp-h.html">qhttp.h</a>&gt;</tt>
+<p>Inherits <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+<p><a href="qhttp-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHttp"><b>QHttp</b></a> ()</li>
+<li class=fn><a href="#QHttp-2"><b>QHttp</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QHttp-3"><b>QHttp</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;hostname, Q_UINT16&nbsp;port = 80, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QHttp"><b>~QHttp</b></a> ()</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Unconnected, HostLookup, Connecting, Sending, Reading, Connected, Closing }</li>
+<li class=fn>enum <a href="#Error-enum"><b>Error</b></a> { NoError, UnknownError, HostNotFound, ConnectionRefused, UnexpectedClose, InvalidResponseHeader, WrongContentLength, Aborted }</li>
+<li class=fn>int <a href="#setHost"><b>setHost</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;hostname, Q_UINT16&nbsp;port = 80 )</li>
+<li class=fn>int <a href="#get"><b>get</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path, QIODevice&nbsp;*&nbsp;to = 0 )</li>
+<li class=fn>int <a href="#post"><b>post</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path, QIODevice&nbsp;*&nbsp;data, QIODevice&nbsp;*&nbsp;to = 0 )</li>
+<li class=fn>int <a href="#post-2"><b>post</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path, const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, QIODevice&nbsp;*&nbsp;to = 0 )</li>
+<li class=fn>int <a href="#head"><b>head</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>int <a href="#request"><b>request</b></a> ( const&nbsp;QHttpRequestHeader&nbsp;&amp;&nbsp;header, QIODevice&nbsp;*&nbsp;data = 0, QIODevice&nbsp;*&nbsp;to = 0 )</li>
+<li class=fn>int <a href="#request-2"><b>request</b></a> ( const&nbsp;QHttpRequestHeader&nbsp;&amp;&nbsp;header, const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, QIODevice&nbsp;*&nbsp;to = 0 )</li>
+<li class=fn>int <a href="#closeConnection"><b>closeConnection</b></a> ()</li>
+<li class=fn>Q_ULONG <a href="#bytesAvailable"><b>bytesAvailable</b></a> () const</li>
+<li class=fn>Q_LONG <a href="#readBlock"><b>readBlock</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>QByteArray <a href="#readAll"><b>readAll</b></a> ()</li>
+<li class=fn>int <a href="#currentId"><b>currentId</b></a> () const</li>
+<li class=fn>QIODevice * <a href="#currentSourceDevice"><b>currentSourceDevice</b></a> () const</li>
+<li class=fn>QIODevice * <a href="#currentDestinationDevice"><b>currentDestinationDevice</b></a> () const</li>
+<li class=fn>QHttpRequestHeader <a href="#currentRequest"><b>currentRequest</b></a> () const</li>
+<li class=fn>bool <a href="#hasPendingRequests"><b>hasPendingRequests</b></a> () const</li>
+<li class=fn>void <a href="#clearPendingRequests"><b>clearPendingRequests</b></a> ()</li>
+<li class=fn>State <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>Error <a href="#error"><b>error</b></a> () const</li>
+<li class=fn>QString <a href="#errorString"><b>errorString</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#abort"><b>abort</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+<li class=fn>void <a href="#responseHeaderReceived"><b>responseHeaderReceived</b></a> ( const&nbsp;QHttpResponseHeader&nbsp;&amp;&nbsp;resp )</li>
+<li class=fn>void <a href="#readyRead"><b>readyRead</b></a> ( const&nbsp;QHttpResponseHeader&nbsp;&amp;&nbsp;resp )</li>
+<li class=fn>void <a href="#dataSendProgress"><b>dataSendProgress</b></a> ( int&nbsp;done, int&nbsp;total )</li>
+<li class=fn>void <a href="#dataReadProgress"><b>dataReadProgress</b></a> ( int&nbsp;done, int&nbsp;total )</li>
+<li class=fn>void <a href="#requestStarted"><b>requestStarted</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#requestFinished"><b>requestFinished</b></a> ( int&nbsp;id, bool&nbsp;error )</li>
+<li class=fn>void <a href="#done"><b>done</b></a> ( bool&nbsp;error )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHttp class provides an implementation of the HTTP protocol.
+
+<p>
+
+<p> This class provides two different interfaces: one is the
+<a href="qnetworkprotocol.html">QNetworkProtocol</a> interface that allows you to use HTTP through the
+<a href="qurloperator.html">QUrlOperator</a> abstraction. The other is a direct interface to HTTP
+that allows you to have more control over the requests and that
+allows you to access the response header fields.
+<p> Don't mix the two interfaces, since the behavior is not
+well-defined.
+<p> If you want to use QHttp with the QNetworkProtocol interface, you
+do not use it directly, but rather through a QUrlOperator, for
+example:
+<p> <pre>
+ <a href="qurloperator.html">QUrlOperator</a> op( "http://www.trolltech.com" );
+ op.<a href="qurloperator.html#get">get</a>( "index.html" );
+ </pre>
+
+<p> This code will only work if the QHttp class is registered; to
+register the class, you must call <a href="qurloperator.html#qInitNetworkProtocols">qInitNetworkProtocols</a>() before
+using a QUrlOperator with HTTP.
+<p> The QNetworkProtocol interface for HTTP only supports the
+operations <a href="qnetworkprotocol.html#operationGet">operationGet</a>() and <a href="qnetworkprotocol.html#operationPut">operationPut</a>(), i.e.
+<a href="qurloperator.html#get">QUrlOperator::get</a>() and <a href="qurloperator.html#put">QUrlOperator::put</a>(), if you use it with a
+<a href="qurloperator.html">QUrlOperator</a>.
+<p> The rest of this descrption describes the direct interface to
+HTTP.
+<p> The class works asynchronously, so there are no blocking
+functions. If an operation cannot be executed immediately, the
+function will still return straight away and the operation will be
+scheduled for later execution. The results of scheduled operations
+are reported via signals. This approach depends on the event loop
+being in operation.
+<p> The operations that can be scheduled (they are called "requests"
+in the rest of the documentation) are the following: <a href="#setHost">setHost</a>(),
+<a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#head">head</a>() and <a href="#request">request</a>().
+<p> All of these requests return a unique identifier that allows you
+to keep track of the request that is currently executed. When the
+execution of a request starts, the <a href="#requestStarted">requestStarted</a>() signal with
+the identifier is emitted and when the request is finished, the
+<a href="#requestFinished">requestFinished</a>() signal is emitted with the identifier and a bool
+that indicates if the request finished with an error.
+<p> To make an HTTP request you must set up suitable HTTP headers. The
+following example demonstrates, how to request the main HTML page
+from the Trolltech home page (i.e. the URL
+http://www.trolltech.com/index.html):
+<p> <pre>
+ <a href="qhttprequestheader.html">QHttpRequestHeader</a> header( "GET", "/index.html" );
+ header.<a href="qhttpheader.html#setValue">setValue</a>( "Host", "www.trolltech.com" );
+ http-&gt;setHost( "www.trolltech.com" );
+ http-&gt;request( header );
+ </pre>
+
+<p> For the common HTTP requests <tt>GET</tt>, <tt>POST</tt> and <tt>HEAD</tt>, QHttp
+provides the convenience functions <a href="#get">get</a>(), <a href="#post">post</a>() and <a href="#head">head</a>(). They
+already use a reasonable header and if you don't have to set
+special header fields, they are easier to use. The above example
+can also be written as:
+<p> <pre>
+ http-&gt;setHost( "www.trolltech.com" ); // id == 1
+ http-&gt;get( "/index.html" ); // id == 2
+ </pre>
+
+<p> For this example the following sequence of signals is emitted
+(with small variations, depending on network traffic, etc.):
+<p> <pre>
+ <a href="#requestStarted">requestStarted</a>( 1 )
+ <a href="#requestFinished">requestFinished</a>( 1, FALSE )
+
+ <a href="#requestStarted">requestStarted</a>( 2 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connecting</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Sending</a> )
+ <a href="#dataSendProgress">dataSendProgress</a>( 77, 77 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Reading</a> )
+ <a href="#responseHeaderReceived">responseHeaderReceived</a>( responseheader )
+ <a href="#dataReadProgress">dataReadProgress</a>( 5388, 0 )
+ <a href="#readyRead">readyRead</a>( responseheader )
+ <a href="#dataReadProgress">dataReadProgress</a>( 18300, 0 )
+ <a href="#readyRead">readyRead</a>( responseheader )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Connected</a> )
+ <a href="#requestFinished">requestFinished</a>( 2, FALSE )
+
+ <a href="#done">done</a>( FALSE )
+
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Closing</a> )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Unconnected</a> )
+ </pre>
+
+<p> The <a href="#dataSendProgress">dataSendProgress</a>() and <a href="#dataReadProgress">dataReadProgress</a>() signals in the above
+example are useful if you want to show a <a href="qprogressbar.html">progressbar</a> to inform the user about the progress of the
+download. The second argument is the total size of data. In
+certain cases it is not possible to know the total amount in
+advance, in which case the second argument is 0. (If you connect
+to a <a href="qprogressbar.html">QProgressBar</a> a total of 0 results in a busy indicator.)
+<p> When the response header is read, it is reported with the
+<a href="#responseHeaderReceived">responseHeaderReceived</a>() signal.
+<p> The <a href="#readyRead">readyRead</a>() signal tells you that there is data ready to be
+read. The amount of data can then be queried with the
+<a href="#bytesAvailable">bytesAvailable</a>() function and it can be read with the <a href="#readBlock">readBlock</a>()
+or <a href="#readAll">readAll</a>() functions.
+<p> If an error occurs during the execution of one of the commands in
+a sequence of commands, all the pending commands (i.e. scheduled,
+but not yet executed commands) are cleared and no signals are
+emitted for them.
+<p> For example, if you have the following sequence of reqeusts
+<p> <pre>
+ http-&gt;setHost( "www.foo.bar" ); // id == 1
+ http-&gt;get( "/index.html" ); // id == 2
+ http-&gt;post( "register.html", data ); // id == 3
+ </pre>
+
+<p> and the <a href="#get">get</a>() request fails because the host lookup fails, then
+the <a href="#post">post</a>() request is never executed and the signals would look
+like this:
+<p> <pre>
+ <a href="#requestStarted">requestStarted</a>( 1 )
+ <a href="#requestFinished">requestFinished</a>( 1, FALSE )
+
+ <a href="#requestStarted">requestStarted</a>( 2 )
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">HostLookup</a> )
+ <a href="#requestFinished">requestFinished</a>( 2, TRUE )
+
+ <a href="#done">done</a>( TRUE )
+
+ <a href="#stateChanged">stateChanged</a>( <a href="#State-enum">Unconnected</a> )
+ </pre>
+
+<p> You can then get details about the error with the <a href="#error">error</a>() and
+<a href="#errorString">errorString</a>() functions. Note that only unexpected behaviour, like
+network failure is considered as an error. If the server response
+contains an error status, like a 404 response, this is reported as
+a normal response case. So you should always check the <a href="qhttpresponseheader.html#statusCode">status code</a> of the
+response header.
+<p> The functions <a href="#currentId">currentId</a>() and <a href="#currentRequest">currentRequest</a>() provide more
+information about the currently executing request.
+<p> The functions <a href="#hasPendingRequests">hasPendingRequests</a>() and <a href="#clearPendingRequests">clearPendingRequests</a>()
+allow you to query and clear the list of pending requests.
+<p> <p>See also <a href="network.html">Qt Network Documentation</a>, <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qurloperator.html">QUrlOperator</a>, <a href="qftp.html">QFtp</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Error-enum"></a>QHttp::Error</h3>
+<p> This enum identifies the error that occurred.
+<ul>
+<li><tt>QHttp::NoError</tt> - No error occurred.
+<li><tt>QHttp::HostNotFound</tt> - The host name lookup failed.
+<li><tt>QHttp::ConnectionRefused</tt> - The server refused the connection.
+<li><tt>QHttp::UnexpectedClose</tt> - The server closed the connection unexpectedly.
+<li><tt>QHttp::InvalidResponseHeader</tt> - The server sent an invalid response header.
+<li><tt>QHttp::WrongContentLength</tt> - The client could not read the content correctly
+because an error with respect to the content length occurred.
+<li><tt>QHttp::Aborted</tt> - The request was aborted with <a href="#abort">abort</a>().
+<li><tt>QHttp::UnknownError</tt> - An error other than those specified above
+occurred.
+</ul><p> <p>See also <a href="#error">error</a>().
+
+<h3 class=fn><a name="State-enum"></a>QHttp::State</h3>
+
+<p> This enum is used to specify the state the client is in:
+<ul>
+<li><tt>QHttp::Unconnected</tt> - There is no connection to the host.
+<li><tt>QHttp::HostLookup</tt> - A host name lookup is in progress.
+<li><tt>QHttp::Connecting</tt> - An attempt to connect to the host is in progress.
+<li><tt>QHttp::Sending</tt> - The client is sending its request to the server.
+<li><tt>QHttp::Reading</tt> - The client's request has been sent and the client
+is reading the server's response.
+<li><tt>QHttp::Connected</tt> - The connection to the host is open, but the client is
+neither sending a request, nor waiting for a response.
+<li><tt>QHttp::Closing</tt> - The connection is closing down, but is not yet
+closed. (The state will be <a href="#State-enum">Unconnected</a> when the connection is
+closed.)
+</ul><p> <p>See also <a href="#stateChanged">stateChanged</a>() and <a href="#state">state</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHttp"></a>QHttp::QHttp ()
+</h3>
+Constructs a QHttp object.
+
+<h3 class=fn><a name="QHttp-2"></a>QHttp::QHttp ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QHttp object. The parameters <em>parent</em> and <em>name</em>
+are passed on to the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="QHttp-3"></a>QHttp::QHttp ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;hostname, Q_UINT16&nbsp;port = 80, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QHttp object. Subsequent requests are done by
+connecting to the server <em>hostname</em> on port <em>port</em>. The
+parameters <em>parent</em> and <em>name</em> are passed on to the <a href="qobject.html">QObject</a>
+constructor.
+<p> <p>See also <a href="#setHost">setHost</a>().
+
+<h3 class=fn><a name="~QHttp"></a>QHttp::~QHttp ()<tt> [virtual]</tt>
+</h3>
+Destroys the QHttp object. If there is an open connection, it is
+closed.
+
+<h3 class=fn>void <a name="abort"></a>QHttp::abort ()<tt> [slot]</tt>
+</h3>
+Aborts the current request and deletes all scheduled requests.
+<p> For the current request, the <a href="#requestFinished">requestFinished</a>() signal with the <tt>error</tt> argument <tt>TRUE</tt> is emitted. For all other requests that are
+affected by the <a href="#abort">abort</a>(), no signals are emitted.
+<p> Since this slot also deletes the scheduled requests, there are no
+requests left and the <a href="#done">done</a>() signal is emitted (with the <tt>error</tt>
+argument <tt>TRUE</tt>).
+<p> <p>See also <a href="#clearPendingRequests">clearPendingRequests</a>().
+
+<h3 class=fn>Q_ULONG <a name="bytesAvailable"></a>QHttp::bytesAvailable () const
+</h3>
+Returns the number of bytes that can be read from the response
+content at the moment.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), <a href="#readyRead">readyRead</a>(), <a href="#readBlock">readBlock</a>(), and <a href="#readAll">readAll</a>().
+
+<h3 class=fn>void <a name="clearPendingRequests"></a>QHttp::clearPendingRequests ()
+</h3>
+Deletes all pending requests from the list of scheduled requests.
+This does not affect the request that is being executed. If
+you want to stop this this as well, use <a href="#abort">abort</a>().
+<p> <p>See also <a href="#hasPendingRequests">hasPendingRequests</a>() and <a href="#abort">abort</a>().
+
+<h3 class=fn>int <a name="closeConnection"></a>QHttp::closeConnection ()
+</h3>
+Closes the connection; this is useful if you have a keep-alive
+connection and want to close it.
+<p> For the requests issued with <a href="#get">get</a>(), <a href="#post">post</a>() and <a href="#head">head</a>(), QHttp sets
+the connection to be keep-alive. You can also do this using the
+header you pass to the <a href="#request">request</a>() function. QHttp only closes the
+connection to the HTTP server if the response header requires it
+to do so.
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and <a href="#requestFinished">requestFinished</a>().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> If you want to close the connection immediately, you have to use
+<a href="#abort">abort</a>() instead.
+<p> <p>See also <a href="#stateChanged">stateChanged</a>(), <a href="#abort">abort</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="currentDestinationDevice"></a>QHttp::currentDestinationDevice () const
+</h3>
+Returns the <a href="qiodevice.html">QIODevice</a> pointer that is used as to store the data of the HTTP
+request being executed. If there is no current request or if the request
+does not store the data to an IO device, this function returns 0.
+<p> This function can be used to delete the QIODevice in the slot connected to
+the <a href="#requestFinished">requestFinished</a>() signal.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), and <a href="#request">request</a>().
+
+<h3 class=fn>int <a name="currentId"></a>QHttp::currentId () const
+</h3>
+Returns the identifier of the HTTP request being executed or 0 if
+there is no request being executed (i.e. they've all finished).
+<p> <p>See also <a href="#currentRequest">currentRequest</a>().
+
+<h3 class=fn><a href="qhttprequestheader.html">QHttpRequestHeader</a> <a name="currentRequest"></a>QHttp::currentRequest () const
+</h3>
+Returns the request header of the HTTP request being executed. If
+the request is one issued by <a href="#setHost">setHost</a>() or <a href="#closeConnection">closeConnection</a>(), it
+returns an invalid request header, i.e.
+<a href="qhttpheader.html#isValid">QHttpRequestHeader::isValid</a>() returns FALSE.
+<p> <p>See also <a href="#currentId">currentId</a>().
+
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="currentSourceDevice"></a>QHttp::currentSourceDevice () const
+</h3>
+Returns the <a href="qiodevice.html">QIODevice</a> pointer that is used as the data source of the HTTP
+request being executed. If there is no current request or if the request
+does not use an IO device as the data source, this function returns 0.
+<p> This function can be used to delete the QIODevice in the slot connected to
+the <a href="#requestFinished">requestFinished</a>() signal.
+<p> <p>See also <a href="#currentDestinationDevice">currentDestinationDevice</a>(), <a href="#post">post</a>(), and <a href="#request">request</a>().
+
+<h3 class=fn>void <a name="dataReadProgress"></a>QHttp::dataReadProgress ( int&nbsp;done, int&nbsp;total )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when this object reads data from a HTTP
+server to indicate the current progress of the download.
+<p> <em>done</em> is the amount of data that has already arrived and <em>total</em> is the total amount of data. It is possible that the total
+amount of data that should be transferred cannot be determined, in
+which case <em>total</em> is 0.(If you connect to a <a href="qprogressbar.html">QProgressBar</a>, the
+progress bar shows a busy indicator if the total is 0).
+<p> <b>Warning:</b> <em>done</em> and <em>total</em> are not necessarily the size in
+bytes, since for large files these values might need to be
+"scaled" to avoid overflow.
+<p> <p>See also <a href="#dataSendProgress">dataSendProgress</a>(), <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), and <a href="qprogressbar.html#progress-prop">QProgressBar::progress</a>.
+
+<h3 class=fn>void <a name="dataSendProgress"></a>QHttp::dataSendProgress ( int&nbsp;done, int&nbsp;total )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when this object sends data to a HTTP
+server to inform it about the progress of the upload.
+<p> <em>done</em> is the amount of data that has already arrived and <em>total</em> is the total amount of data. It is possible that the total
+amount of data that should be transferred cannot be determined, in
+which case <em>total</em> is 0.(If you connect to a <a href="qprogressbar.html">QProgressBar</a>, the
+progress bar shows a busy indicator if the total is 0).
+<p> <b>Warning:</b> <em>done</em> and <em>total</em> are not necessarily the size in
+bytes, since for large files these values might need to be
+"scaled" to avoid overflow.
+<p> <p>See also <a href="#dataReadProgress">dataReadProgress</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), and <a href="qprogressbar.html#progress-prop">QProgressBar::progress</a>.
+
+<h3 class=fn>void <a name="done"></a>QHttp::done ( bool&nbsp;error )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the last pending request has finished;
+(it is emitted after the last request's <a href="#requestFinished">requestFinished</a>() signal).
+<em>error</em> is TRUE if an error occurred during the processing;
+otherwise <em>error</em> is FALSE.
+<p> <p>See also <a href="#requestFinished">requestFinished</a>(), <a href="#error">error</a>(), and <a href="#errorString">errorString</a>().
+
+<h3 class=fn><a href="qhttp.html#Error-enum">Error</a> <a name="error"></a>QHttp::error () const
+</h3>
+Returns the last error that occurred. This is useful to find out
+what happened when receiving a <a href="#requestFinished">requestFinished</a>() or a <a href="#done">done</a>()
+signal with the <tt>error</tt> argument <tt>TRUE</tt>.
+<p> If you start a new request, the error status is reset to <a href="#Error-enum">NoError</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QHttp::errorString () const
+</h3>
+Returns a human-readable description of the last error that
+occurred. This is useful to present a error message to the user
+when receiving a <a href="#requestFinished">requestFinished</a>() or a <a href="#done">done</a>() signal with the <tt>error</tt> argument <tt>TRUE</tt>.
+
+<h3 class=fn>int <a name="get"></a>QHttp::get ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;to = 0 )
+</h3>
+Sends a get request for <em>path</em> to the server set by <a href="#setHost">setHost</a>() or
+as specified in the constructor.
+<p> <em>path</em> must be an absolute path like <tt>/index.html</tt> or an
+absolute URI like <a href="http://www.trolltech.com/index.html">http://www.trolltech.com/index.html</a>.
+<p> If the IO device <em>to</em> is 0 the <a href="#readyRead">readyRead</a>() signal is emitted
+every time new content data is available to read.
+<p> If the IO device <em>to</em> is not 0, the content data of the response
+is written directly to the device. Make sure that the <em>to</em>
+pointer is valid for the duration of the operation (it is safe to
+delete it when the <a href="#requestFinished">requestFinished</a>() signal is emitted).
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and requestFinished().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> <p>See also <a href="#setHost">setHost</a>(), <a href="#post">post</a>(), <a href="#head">head</a>(), <a href="#request">request</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn>bool <a name="hasPendingRequests"></a>QHttp::hasPendingRequests () const
+</h3>
+Returns TRUE if there are any requests scheduled that have not yet
+been executed; otherwise returns FALSE.
+<p> The request that is being executed is <em>not</em> considered as a
+scheduled request.
+<p> <p>See also <a href="#clearPendingRequests">clearPendingRequests</a>(), <a href="#currentId">currentId</a>(), and <a href="#currentRequest">currentRequest</a>().
+
+<h3 class=fn>int <a name="head"></a>QHttp::head ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )
+</h3>
+Sends a header request for <em>path</em> to the server set by <a href="#setHost">setHost</a>()
+or as specified in the constructor.
+<p> <em>path</em> must be an absolute path like <tt>/index.html</tt> or an
+absolute URI like <a href="http://www.trolltech.com/index.html">http://www.trolltech.com/index.html</a>.
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and <a href="#requestFinished">requestFinished</a>().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> <p>See also <a href="#setHost">setHost</a>(), <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn>int <a name="post"></a>QHttp::post ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;data, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;to = 0 )
+</h3>
+Sends a post request for <em>path</em> to the server set by <a href="#setHost">setHost</a>() or
+as specified in the constructor.
+<p> <em>path</em> must be an absolute path like <tt>/index.html</tt> or an
+absolute URI like <a href="http://www.trolltech.com/index.html">http://www.trolltech.com/index.html</a>.
+<p> The incoming data comes via the <em>data</em> IO device.
+<p> If the IO device <em>to</em> is 0 the <a href="#readyRead">readyRead</a>() signal is emitted
+every time new content data is available to read.
+<p> If the IO device <em>to</em> is not 0, the content data of the response
+is written directly to the device. Make sure that the <em>to</em>
+pointer is valid for the duration of the operation (it is safe to
+delete it when the <a href="#requestFinished">requestFinished</a>() signal is emitted).
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and requestFinished().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> <p>See also <a href="#setHost">setHost</a>(), <a href="#get">get</a>(), <a href="#head">head</a>(), <a href="#request">request</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn>int <a name="post-2"></a>QHttp::post ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;to = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>data</em> is used as the content data of the HTTP request.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readAll"></a>QHttp::readAll ()
+</h3>
+Reads all the bytes from the response content and returns them.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), <a href="#readyRead">readyRead</a>(), <a href="#bytesAvailable">bytesAvailable</a>(), and <a href="#readBlock">readBlock</a>().
+
+<h3 class=fn>Q_LONG <a name="readBlock"></a>QHttp::readBlock ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )
+</h3>
+Reads <em>maxlen</em> bytes from the response content into <em>data</em> and
+returns the number of bytes read. Returns -1 if an error occurred.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), <a href="#readyRead">readyRead</a>(), <a href="#bytesAvailable">bytesAvailable</a>(), and <a href="#readAll">readAll</a>().
+
+<h3 class=fn>void <a name="readyRead"></a>QHttp::readyRead ( const&nbsp;<a href="qhttpresponseheader.html">QHttpResponseHeader</a>&nbsp;&amp;&nbsp;resp )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when there is new response data to read.
+<p> If you specified a device in the request where the data should be
+written to, then this signal is <em>not</em> emitted; instead the data
+is written directly to the device.
+<p> The response header is passed in <em>resp</em>.
+<p> You can read the data with the <a href="#readAll">readAll</a>() or <a href="#readBlock">readBlock</a>() functions
+<p> This signal is useful if you want to process the data in chunks as
+soon as it becomes available. If you are only interested in the
+complete data, just connect to the <a href="#requestFinished">requestFinished</a>() signal and
+read the data then instead.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#request">request</a>(), <a href="#readAll">readAll</a>(), <a href="#readBlock">readBlock</a>(), and <a href="#bytesAvailable">bytesAvailable</a>().
+
+<h3 class=fn>int <a name="request"></a>QHttp::request ( const&nbsp;<a href="qhttprequestheader.html">QHttpRequestHeader</a>&nbsp;&amp;&nbsp;header, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;data = 0, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;to = 0 )
+</h3>
+Sends a request to the server set by <a href="#setHost">setHost</a>() or as specified in
+the constructor. Uses the <em>header</em> as the HTTP request header.
+You are responsible for setting up a header that is appropriate
+for your request.
+<p> The incoming data comes via the <em>data</em> IO device.
+<p> If the IO device <em>to</em> is 0 the <a href="#readyRead">readyRead</a>() signal is emitted
+every time new content data is available to read.
+<p> If the IO device <em>to</em> is not 0, the content data of the response
+is written directly to the device. Make sure that the <em>to</em>
+pointer is valid for the duration of the operation (it is safe to
+delete it when the <a href="#requestFinished">requestFinished</a>() signal is emitted).
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and requestFinished().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> <p>See also <a href="#setHost">setHost</a>(), <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#head">head</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn>int <a name="request-2"></a>QHttp::request ( const&nbsp;<a href="qhttprequestheader.html">QHttpRequestHeader</a>&nbsp;&amp;&nbsp;header, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;to = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>data</em> is used as the content data of the HTTP request.
+
+<h3 class=fn>void <a name="requestFinished"></a>QHttp::requestFinished ( int&nbsp;id, bool&nbsp;error )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when processing the request identified by
+<em>id</em> has finished. <em>error</em> is TRUE if an error occurred during
+the processing; otherwise <em>error</em> is FALSE.
+<p> <p>See also <a href="#requestStarted">requestStarted</a>(), <a href="#done">done</a>(), <a href="#error">error</a>(), and <a href="#errorString">errorString</a>().
+
+<h3 class=fn>void <a name="requestStarted"></a>QHttp::requestStarted ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when processing the request identified by
+<em>id</em> starts.
+<p> <p>See also <a href="#requestFinished">requestFinished</a>() and <a href="#done">done</a>().
+
+<h3 class=fn>void <a name="responseHeaderReceived"></a>QHttp::responseHeaderReceived ( const&nbsp;<a href="qhttpresponseheader.html">QHttpResponseHeader</a>&nbsp;&amp;&nbsp;resp )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the HTTP header of a server response
+is available. The header is passed in <em>resp</em>.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#head">head</a>(), <a href="#request">request</a>(), and <a href="#readyRead">readyRead</a>().
+
+<h3 class=fn>int <a name="setHost"></a>QHttp::setHost ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;hostname, Q_UINT16&nbsp;port = 80 )
+</h3>
+Sets the HTTP server that is used for requests to <em>hostname</em> on
+port <em>port</em>.
+<p> The function does not block and returns immediately. The request
+is scheduled, and its execution is performed asynchronously. The
+function returns a unique identifier which is passed by
+<a href="#requestStarted">requestStarted</a>() and <a href="#requestFinished">requestFinished</a>().
+<p> When the request is started the requestStarted() signal is
+emitted. When it is finished the requestFinished() signal is
+emitted.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#head">head</a>(), <a href="#request">request</a>(), <a href="#requestStarted">requestStarted</a>(), <a href="#requestFinished">requestFinished</a>(), and <a href="#done">done</a>().
+
+<h3 class=fn><a href="qhttp.html#State-enum">State</a> <a name="state"></a>QHttp::state () const
+</h3>
+Returns the current state of the object. When the state changes,
+the <a href="#stateChanged">stateChanged</a>() signal is emitted.
+<p> <p>See also <a href="#State-enum">State</a> and <a href="#stateChanged">stateChanged</a>().
+
+<h3 class=fn>void <a name="stateChanged"></a>QHttp::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the state of the QHttp object changes.
+The argument <em>state</em> is the new state of the connection; it is
+one of the <a href="#State-enum">State</a> values.
+<p> This usually happens when a request is started, but it can also
+happen when the server closes the connection or when a call to
+<a href="#closeConnection">closeConnection</a>() succeeded.
+<p> <p>See also <a href="#get">get</a>(), <a href="#post">post</a>(), <a href="#head">head</a>(), <a href="#request">request</a>(), <a href="#closeConnection">closeConnection</a>(), <a href="#state">state</a>(), and <a href="#State-enum">State</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttpheader-members.html b/doc/html/qhttpheader-members.html
new file mode 100644
index 0000000..cf755b4
--- /dev/null
+++ b/doc/html/qhttpheader-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhttp.h:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpHeader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHttpHeader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhttpheader.html">QHttpHeader</a>, including inherited members.
+
+<ul>
+<li><a href="qhttpheader.html#QHttpHeader">QHttpHeader</a>()
+<li><a href="qhttpheader.html#~QHttpHeader">~QHttpHeader</a>()
+<li><a href="qhttpheader.html#contentLength">contentLength</a>()
+<li><a href="qhttpheader.html#contentType">contentType</a>()
+<li><a href="qhttpheader.html#hasContentLength">hasContentLength</a>()
+<li><a href="qhttpheader.html#hasContentType">hasContentType</a>()
+<li><a href="qhttpheader.html#hasKey">hasKey</a>()
+<li><a href="qhttpheader.html#isValid">isValid</a>()
+<li><a href="qhttpheader.html#keys">keys</a>()
+<li><a href="qhttpheader.html#majorVersion">majorVersion</a>()
+<li><a href="qhttpheader.html#minorVersion">minorVersion</a>()
+<li><a href="qhttpheader.html#operator-eq">operator=</a>()
+<li><a href="qhttpheader.html#removeValue">removeValue</a>()
+<li><a href="qhttpheader.html#setContentLength">setContentLength</a>()
+<li><a href="qhttpheader.html#setContentType">setContentType</a>()
+<li><a href="qhttpheader.html#setValue">setValue</a>()
+<li><a href="qhttpheader.html#toString">toString</a>()
+<li><a href="qhttpheader.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttpheader.html b/doc/html/qhttpheader.html
new file mode 100644
index 0000000..982d796
--- /dev/null
+++ b/doc/html/qhttpheader.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qhttp.cpp:331 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpHeader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHttpHeader Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QHttpHeader class contains header information for HTTP.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhttp-h.html">qhttp.h</a>&gt;</tt>
+<p>Inherited by <a href="qhttpresponseheader.html">QHttpResponseHeader</a> and <a href="qhttprequestheader.html">QHttpRequestHeader</a>.
+<p><a href="qhttpheader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHttpHeader"><b>QHttpHeader</b></a> ()</li>
+<li class=fn><a href="#QHttpHeader-2"><b>QHttpHeader</b></a> ( const&nbsp;QHttpHeader&nbsp;&amp;&nbsp;header )</li>
+<li class=fn><a href="#QHttpHeader-3"><b>QHttpHeader</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>virtual <a href="#~QHttpHeader"><b>~QHttpHeader</b></a> ()</li>
+<li class=fn>QHttpHeader &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QHttpHeader&nbsp;&amp;&nbsp;h )</li>
+<li class=fn>QString <a href="#value"><b>value</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>void <a href="#setValue"><b>setValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>void <a href="#removeValue"><b>removeValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>QStringList <a href="#keys"><b>keys</b></a> () const</li>
+<li class=fn>bool <a href="#hasKey"><b>hasKey</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>bool <a href="#hasContentLength"><b>hasContentLength</b></a> () const</li>
+<li class=fn>uint <a href="#contentLength"><b>contentLength</b></a> () const</li>
+<li class=fn>void <a href="#setContentLength"><b>setContentLength</b></a> ( int&nbsp;len )</li>
+<li class=fn>bool <a href="#hasContentType"><b>hasContentType</b></a> () const</li>
+<li class=fn>QString <a href="#contentType"><b>contentType</b></a> () const</li>
+<li class=fn>void <a href="#setContentType"><b>setContentType</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;type )</li>
+<li class=fn>virtual QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>virtual int <a href="#majorVersion"><b>majorVersion</b></a> () const = 0</li>
+<li class=fn>virtual int <a href="#minorVersion"><b>minorVersion</b></a> () const = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHttpHeader class contains header information for HTTP.
+
+<p>
+
+<p> In most cases you should use the more specialized derivatives of
+this class, <a href="qhttpresponseheader.html">QHttpResponseHeader</a> and <a href="qhttprequestheader.html">QHttpRequestHeader</a>, rather
+than directly using QHttpHeader.
+<p> QHttpHeader provides the HTTP header fields. A HTTP header field
+consists of a name followed by a colon, a single space, and the
+field value. (See RFC 1945.) Field names are case-insensitive. A
+typical header field looks like this:
+<pre>
+ content-type: text/html
+ </pre>
+
+<p> In the API the header field name is called the "key" and the
+content is called the "value". You can get and set a header
+field's value by using its key with <a href="#value">value</a>() and <a href="#setValue">setValue</a>(), e.g.
+<pre>
+ header.setValue( "content-type", "text/html" );
+ <a href="qstring.html">QString</a> contentType = header.value( "content-type" );
+ </pre>
+
+<p> Some fields are so common that getters and setters are provided
+for them as a convenient alternative to using <a href="#value">value</a>() and
+<a href="#setValue">setValue</a>(), e.g. <a href="#contentLength">contentLength</a>() and <a href="#contentType">contentType</a>(),
+<a href="#setContentLength">setContentLength</a>() and <a href="#setContentType">setContentType</a>().
+<p> Each header key has a <em>single</em> value associated with it. If you
+set the value for a key which already exists the previous value
+will be discarded.
+<p> <p>See also <a href="qhttprequestheader.html">QHttpRequestHeader</a>, <a href="qhttpresponseheader.html">QHttpResponseHeader</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHttpHeader"></a>QHttpHeader::QHttpHeader ()
+</h3>
+Constructs an empty HTTP header.
+
+<h3 class=fn><a name="QHttpHeader-2"></a>QHttpHeader::QHttpHeader ( const&nbsp;<a href="qhttpheader.html">QHttpHeader</a>&nbsp;&amp;&nbsp;header )
+</h3>
+Constructs a copy of <em>header</em>.
+
+<h3 class=fn><a name="QHttpHeader-3"></a>QHttpHeader::QHttpHeader ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+Constructs a HTTP header for <em>str</em>.
+<p> This constructor parses the string <em>str</em> for header fields and
+adds this information. The <em>str</em> should consist of one or more
+"\r\n" delimited lines; each of these lines should have the format
+key, colon, space, value.
+
+<h3 class=fn><a name="~QHttpHeader"></a>QHttpHeader::~QHttpHeader ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>uint <a name="contentLength"></a>QHttpHeader::contentLength () const
+</h3>
+Returns the value of the special HTTP header field <tt>content-length</tt>.
+<p> <p>See also <a href="#setContentLength">setContentLength</a>() and <a href="#hasContentLength">hasContentLength</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="contentType"></a>QHttpHeader::contentType () const
+</h3>
+Returns the value of the special HTTP header field <tt>content-type</tt>.
+<p> <p>See also <a href="#setContentType">setContentType</a>() and <a href="#hasContentType">hasContentType</a>().
+
+<h3 class=fn>bool <a name="hasContentLength"></a>QHttpHeader::hasContentLength () const
+</h3>
+Returns TRUE if the header has an entry for the special HTTP
+header field <tt>content-length</tt>; otherwise returns FALSE.
+<p> <p>See also <a href="#contentLength">contentLength</a>() and <a href="#setContentLength">setContentLength</a>().
+
+<h3 class=fn>bool <a name="hasContentType"></a>QHttpHeader::hasContentType () const
+</h3>
+Returns TRUE if the header has an entry for the the special HTTP
+header field <tt>content-type</tt>; otherwise returns FALSE.
+<p> <p>See also <a href="#contentType">contentType</a>() and <a href="#setContentType">setContentType</a>().
+
+<h3 class=fn>bool <a name="hasKey"></a>QHttpHeader::hasKey ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns TRUE if the HTTP header has an entry with the given <em>key</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#value">value</a>(), <a href="#setValue">setValue</a>(), and <a href="#keys">keys</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QHttpHeader::isValid () const
+</h3>
+Returns TRUE if the HTTP header is valid; otherwise returns FALSE.
+<p> A QHttpHeader is invalid if it was created by parsing a malformed string.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QHttpHeader::keys () const
+</h3>
+Returns a list of the keys in the HTTP header.
+<p> <p>See also <a href="#hasKey">hasKey</a>().
+
+<h3 class=fn>int <a name="majorVersion"></a>QHttpHeader::majorVersion () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the major protocol-version of the HTTP header.
+
+<p>Reimplemented in <a href="qhttpresponseheader.html#majorVersion">QHttpResponseHeader</a> and <a href="qhttprequestheader.html#majorVersion">QHttpRequestHeader</a>.
+<h3 class=fn>int <a name="minorVersion"></a>QHttpHeader::minorVersion () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the minor protocol-version of the HTTP header.
+
+<p>Reimplemented in <a href="qhttpresponseheader.html#minorVersion">QHttpResponseHeader</a> and <a href="qhttprequestheader.html#minorVersion">QHttpRequestHeader</a>.
+<h3 class=fn><a href="qhttpheader.html">QHttpHeader</a>&nbsp;&amp; <a name="operator-eq"></a>QHttpHeader::operator= ( const&nbsp;<a href="qhttpheader.html">QHttpHeader</a>&nbsp;&amp;&nbsp;h )
+</h3>
+Assigns <em>h</em> and returns a reference to this http header.
+
+<h3 class=fn>void <a name="removeValue"></a>QHttpHeader::removeValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )
+</h3>
+Removes the entry with the key <em>key</em> from the HTTP header.
+<p> <p>See also <a href="#value">value</a>() and <a href="#setValue">setValue</a>().
+
+<h3 class=fn>void <a name="setContentLength"></a>QHttpHeader::setContentLength ( int&nbsp;len )
+</h3>
+Sets the value of the special HTTP header field <tt>content-length</tt>
+to <em>len</em>.
+<p> <p>See also <a href="#contentLength">contentLength</a>() and <a href="#hasContentLength">hasContentLength</a>().
+
+<h3 class=fn>void <a name="setContentType"></a>QHttpHeader::setContentType ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;type )
+</h3>
+Sets the value of the special HTTP header field <tt>content-type</tt> to
+<em>type</em>.
+<p> <p>See also <a href="#contentType">contentType</a>() and <a href="#hasContentType">hasContentType</a>().
+
+<p>Example: <a href="archivesearch-example.html#x475">network/archivesearch/archivedialog.ui.h</a>.
+<h3 class=fn>void <a name="setValue"></a>QHttpHeader::setValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Sets the value of the entry with the <em>key</em> to <em>value</em>.
+<p> If no entry with <em>key</em> exists, a new entry with the given <em>key</em>
+and <em>value</em> is created. If an entry with the <em>key</em> already
+exists, its value is discarded and replaced with the given <em>value</em>.
+<p> <p>See also <a href="#value">value</a>(), <a href="#hasKey">hasKey</a>(), and <a href="#removeValue">removeValue</a>().
+
+<p>Example: <a href="archivesearch-example.html#x476">network/archivesearch/archivedialog.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QHttpHeader::toString () const<tt> [virtual]</tt>
+</h3>
+Returns a string representation of the HTTP header.
+<p> The string is suitable for use by the constructor that takes a
+<a href="qstring.html">QString</a>. It consists of lines with the format: key, colon, space,
+value, "\r\n".
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value"></a>QHttpHeader::value ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns the value for the entry with the given <em>key</em>. If no entry
+has this <em>key</em>, an empty string is returned.
+<p> <p>See also <a href="#setValue">setValue</a>(), <a href="#removeValue">removeValue</a>(), <a href="#hasKey">hasKey</a>(), and <a href="#keys">keys</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttprequestheader-members.html b/doc/html/qhttprequestheader-members.html
new file mode 100644
index 0000000..95fa6e0
--- /dev/null
+++ b/doc/html/qhttprequestheader-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhttp.h:138 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpRequestHeader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHttpRequestHeader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhttprequestheader.html">QHttpRequestHeader</a>, including inherited members.
+
+<ul>
+<li><a href="qhttprequestheader.html#QHttpRequestHeader">QHttpRequestHeader</a>()
+<li><a href="qhttpheader.html#contentLength">contentLength</a>()
+<li><a href="qhttpheader.html#contentType">contentType</a>()
+<li><a href="qhttpheader.html#hasContentLength">hasContentLength</a>()
+<li><a href="qhttpheader.html#hasContentType">hasContentType</a>()
+<li><a href="qhttpheader.html#hasKey">hasKey</a>()
+<li><a href="qhttpheader.html#isValid">isValid</a>()
+<li><a href="qhttpheader.html#keys">keys</a>()
+<li><a href="qhttprequestheader.html#majorVersion">majorVersion</a>()
+<li><a href="qhttprequestheader.html#method">method</a>()
+<li><a href="qhttprequestheader.html#minorVersion">minorVersion</a>()
+<li><a href="qhttpheader.html#operator-eq">operator=</a>()
+<li><a href="qhttprequestheader.html#path">path</a>()
+<li><a href="qhttpheader.html#removeValue">removeValue</a>()
+<li><a href="qhttpheader.html#setContentLength">setContentLength</a>()
+<li><a href="qhttpheader.html#setContentType">setContentType</a>()
+<li><a href="qhttprequestheader.html#setRequest">setRequest</a>()
+<li><a href="qhttpheader.html#setValue">setValue</a>()
+<li><a href="qhttpheader.html#toString">toString</a>()
+<li><a href="qhttpheader.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttprequestheader.html b/doc/html/qhttprequestheader.html
new file mode 100644
index 0000000..1874858
--- /dev/null
+++ b/doc/html/qhttprequestheader.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qhttp.cpp:836 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpRequestHeader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHttpRequestHeader Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QHttpRequestHeader class contains request header information for
+
+HTTP.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhttp-h.html">qhttp.h</a>&gt;</tt>
+<p>Inherits <a href="qhttpheader.html">QHttpHeader</a>.
+<p><a href="qhttprequestheader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHttpRequestHeader"><b>QHttpRequestHeader</b></a> ()</li>
+<li class=fn><a href="#QHttpRequestHeader-2"><b>QHttpRequestHeader</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;method, const&nbsp;QString&nbsp;&amp;&nbsp;path, int&nbsp;majorVer = 1, int&nbsp;minorVer = 1 )</li>
+<li class=fn><a href="#QHttpRequestHeader-3"><b>QHttpRequestHeader</b></a> ( const&nbsp;QHttpRequestHeader&nbsp;&amp;&nbsp;header )</li>
+<li class=fn><a href="#QHttpRequestHeader-4"><b>QHttpRequestHeader</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>void <a href="#setRequest"><b>setRequest</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;method, const&nbsp;QString&nbsp;&amp;&nbsp;path, int&nbsp;majorVer = 1, int&nbsp;minorVer = 1 )</li>
+<li class=fn>QString <a href="#method"><b>method</b></a> () const</li>
+<li class=fn>QString <a href="#path"><b>path</b></a> () const</li>
+<li class=fn>virtual int <a href="#majorVersion"><b>majorVersion</b></a> () const</li>
+<li class=fn>virtual int <a href="#minorVersion"><b>minorVersion</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QString <a href="#value"><b>value</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>void <a href="#setValue"><b>setValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHttpRequestHeader class contains request header information for
+
+HTTP.
+
+<p>
+
+<p> This class is used in the <a href="qhttp.html">QHttp</a> class to report the header
+information if the client requests something from the server.
+<p> HTTP requests have a method which describes the request's action.
+The most common requests are "GET" and "POST". In addition to the
+request method the header also includes a request-URI to specify
+the location for the method to use.
+<p> The method, request-URI and protocol-version can be set using a
+constructor or later using <a href="#setRequest">setRequest</a>(). The values can be
+obtained using <a href="#method">method</a>(), <a href="#path">path</a>(), <a href="#majorVersion">majorVersion</a>() and
+<a href="#minorVersion">minorVersion</a>().
+<p> This class is a <a href="qhttpheader.html">QHttpHeader</a> subclass so that class's functions,
+e.g. <a href="qhttpheader.html#setValue">setValue()</a>, <a href="qhttpheader.html#value">value()</a>, etc. are also available.
+<p> <p>See also <a href="qhttpresponseheader.html">QHttpResponseHeader</a>, <a href="qhttp.html">QHttp</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHttpRequestHeader"></a>QHttpRequestHeader::QHttpRequestHeader ()
+</h3>
+Constructs an empty HTTP request header.
+
+<h3 class=fn><a name="QHttpRequestHeader-2"></a>QHttpRequestHeader::QHttpRequestHeader ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;method, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, int&nbsp;majorVer = 1, int&nbsp;minorVer = 1 )
+</h3>
+Constructs a HTTP request header for the method <em>method</em>, the
+request-URI <em>path</em> and the protocol-version <em>majorVer</em> and <em>minorVer</em>.
+
+<h3 class=fn><a name="QHttpRequestHeader-3"></a>QHttpRequestHeader::QHttpRequestHeader ( const&nbsp;<a href="qhttprequestheader.html">QHttpRequestHeader</a>&nbsp;&amp;&nbsp;header )
+</h3>
+Constructs a copy of <em>header</em>.
+
+<h3 class=fn><a name="QHttpRequestHeader-4"></a>QHttpRequestHeader::QHttpRequestHeader ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+Constructs a HTTP request header from the string <em>str</em>. The <em>str</em> should consist of one or more "\r\n" delimited lines; the first line
+should be the request-line (format: method, space, request-URI, space
+HTTP-version); each of the remaining lines should have the format key,
+colon, space, value.
+
+<h3 class=fn>int <a name="majorVersion"></a>QHttpRequestHeader::majorVersion () const<tt> [virtual]</tt>
+</h3>
+Returns the major protocol-version of the HTTP request header.
+<p> <p>See also <a href="#minorVersion">minorVersion</a>(), <a href="#method">method</a>(), <a href="#path">path</a>(), and <a href="#setRequest">setRequest</a>().
+
+<p>Reimplemented from <a href="qhttpheader.html#majorVersion">QHttpHeader</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="method"></a>QHttpRequestHeader::method () const
+</h3>
+Returns the method of the HTTP request header.
+<p> <p>See also <a href="#path">path</a>(), <a href="#majorVersion">majorVersion</a>(), <a href="#minorVersion">minorVersion</a>(), and <a href="#setRequest">setRequest</a>().
+
+<h3 class=fn>int <a name="minorVersion"></a>QHttpRequestHeader::minorVersion () const<tt> [virtual]</tt>
+</h3>
+Returns the minor protocol-version of the HTTP request header.
+<p> <p>See also <a href="#majorVersion">majorVersion</a>(), <a href="#method">method</a>(), <a href="#path">path</a>(), and <a href="#setRequest">setRequest</a>().
+
+<p>Reimplemented from <a href="qhttpheader.html#minorVersion">QHttpHeader</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="path"></a>QHttpRequestHeader::path () const
+</h3>
+Returns the request-URI of the HTTP request header.
+<p> <p>See also <a href="#method">method</a>(), <a href="#majorVersion">majorVersion</a>(), <a href="#minorVersion">minorVersion</a>(), and <a href="#setRequest">setRequest</a>().
+
+<h3 class=fn>void <a name="setRequest"></a>QHttpRequestHeader::setRequest ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;method, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path, int&nbsp;majorVer = 1, int&nbsp;minorVer = 1 )
+</h3>
+This function sets the request method to <em>method</em>, the
+request-URI to <em>path</em> and the protocol-version to <em>majorVer</em> and
+<em>minorVer</em>.
+<p> <p>See also <a href="#method">method</a>(), <a href="#path">path</a>(), <a href="#majorVersion">majorVersion</a>(), and <a href="#minorVersion">minorVersion</a>().
+
+<h3 class=fn>void <a name="setValue"></a>QHttpHeader::setValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Sets the value of the entry with the <em>key</em> to <em>value</em>.
+<p> If no entry with <em>key</em> exists, a new entry with the given <em>key</em>
+and <em>value</em> is created. If an entry with the <em>key</em> already
+exists, its value is discarded and replaced with the given <em>value</em>.
+<p> <p>See also <a href="qhttpheader.html#value">value</a>(), <a href="qhttpheader.html#hasKey">hasKey</a>(), and <a href="qhttpheader.html#removeValue">removeValue</a>().
+
+<p>Example: <a href="archivesearch-example.html#x476">network/archivesearch/archivedialog.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value"></a>QHttpHeader::value ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns the value for the entry with the given <em>key</em>. If no entry
+has this <em>key</em>, an empty string is returned.
+<p> <p>See also <a href="qhttpheader.html#setValue">setValue</a>(), <a href="qhttpheader.html#removeValue">removeValue</a>(), <a href="qhttpheader.html#hasKey">hasKey</a>(), and <a href="qhttpheader.html#keys">keys</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttpresponseheader-members.html b/doc/html/qhttpresponseheader-members.html
new file mode 100644
index 0000000..10c438f
--- /dev/null
+++ b/doc/html/qhttpresponseheader-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qhttp.h:106 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpResponseHeader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QHttpResponseHeader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qhttpresponseheader.html">QHttpResponseHeader</a>, including inherited members.
+
+<ul>
+<li><a href="qhttpheader.html#contentLength">contentLength</a>()
+<li><a href="qhttpheader.html#contentType">contentType</a>()
+<li><a href="qhttpheader.html#hasContentLength">hasContentLength</a>()
+<li><a href="qhttpheader.html#hasContentType">hasContentType</a>()
+<li><a href="qhttpheader.html#hasKey">hasKey</a>()
+<li><a href="qhttpheader.html#isValid">isValid</a>()
+<li><a href="qhttpheader.html#keys">keys</a>()
+<li><a href="qhttpresponseheader.html#majorVersion">majorVersion</a>()
+<li><a href="qhttpresponseheader.html#minorVersion">minorVersion</a>()
+<li><a href="qhttpheader.html#operator-eq">operator=</a>()
+<li><a href="qhttpresponseheader.html#reasonPhrase">reasonPhrase</a>()
+<li><a href="qhttpheader.html#removeValue">removeValue</a>()
+<li><a href="qhttpheader.html#setContentLength">setContentLength</a>()
+<li><a href="qhttpheader.html#setContentType">setContentType</a>()
+<li><a href="qhttpheader.html#setValue">setValue</a>()
+<li><a href="qhttpresponseheader.html#statusCode">statusCode</a>()
+<li><a href="qhttpheader.html#toString">toString</a>()
+<li><a href="qhttpheader.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qhttpresponseheader.html b/doc/html/qhttpresponseheader.html
new file mode 100644
index 0000000..a717b58
--- /dev/null
+++ b/doc/html/qhttpresponseheader.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qhttp.cpp:673 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QHttpResponseHeader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QHttpResponseHeader Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QHttpResponseHeader class contains response header information for HTTP.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qhttp-h.html">qhttp.h</a>&gt;</tt>
+<p>Inherits <a href="qhttpheader.html">QHttpHeader</a>.
+<p><a href="qhttpresponseheader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QHttpResponseHeader-3"><b>QHttpResponseHeader</b></a> ()</li>
+<li class=fn><a href="#QHttpResponseHeader-4"><b>QHttpResponseHeader</b></a> ( const&nbsp;QHttpResponseHeader&nbsp;&amp;&nbsp;header )</li>
+<li class=fn>int <a href="#statusCode"><b>statusCode</b></a> () const</li>
+<li class=fn>QString <a href="#reasonPhrase"><b>reasonPhrase</b></a> () const</li>
+<li class=fn>virtual int <a href="#majorVersion"><b>majorVersion</b></a> () const</li>
+<li class=fn>virtual int <a href="#minorVersion"><b>minorVersion</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QHttpResponseHeader class contains response header information for HTTP.
+
+<p>
+
+<p> This class is used by the <a href="qhttp.html">QHttp</a> class to report the header
+information that the client received from the server.
+<p> HTTP responses have a status code that indicates the status of the
+response. This code is a 3-digit integer result code (for details
+see to RFC 1945). In addition to the status code, you can also
+specify a human-readable text that describes the reason for the
+code ("reason phrase"). This class allows you to get the status
+code and the reason phrase.
+<p> <p>See also <a href="qhttprequestheader.html">QHttpRequestHeader</a>, <a href="qhttp.html">QHttp</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QHttpResponseHeader-3"></a>QHttpResponseHeader::QHttpResponseHeader ()
+</h3>
+Constructs an empty HTTP response header.
+
+<h3 class=fn><a name="QHttpResponseHeader-4"></a>QHttpResponseHeader::QHttpResponseHeader ( const&nbsp;<a href="qhttpresponseheader.html">QHttpResponseHeader</a>&nbsp;&amp;&nbsp;header )
+</h3>
+Constructs a copy of <em>header</em>.
+
+<h3 class=fn>int <a name="majorVersion"></a>QHttpResponseHeader::majorVersion () const<tt> [virtual]</tt>
+</h3>
+Returns the major protocol-version of the HTTP response header.
+<p> <p>See also <a href="#minorVersion">minorVersion</a>(), <a href="#statusCode">statusCode</a>(), and <a href="#reasonPhrase">reasonPhrase</a>().
+
+<p>Reimplemented from <a href="qhttpheader.html#majorVersion">QHttpHeader</a>.
+<h3 class=fn>int <a name="minorVersion"></a>QHttpResponseHeader::minorVersion () const<tt> [virtual]</tt>
+</h3>
+Returns the minor protocol-version of the HTTP response header.
+<p> <p>See also <a href="#majorVersion">majorVersion</a>(), <a href="#statusCode">statusCode</a>(), and <a href="#reasonPhrase">reasonPhrase</a>().
+
+<p>Reimplemented from <a href="qhttpheader.html#minorVersion">QHttpHeader</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="reasonPhrase"></a>QHttpResponseHeader::reasonPhrase () const
+</h3>
+Returns the reason phrase of the HTTP response header.
+<p> <p>See also <a href="#statusCode">statusCode</a>(), <a href="#majorVersion">majorVersion</a>(), and <a href="#minorVersion">minorVersion</a>().
+
+<h3 class=fn>int <a name="statusCode"></a>QHttpResponseHeader::statusCode () const
+</h3>
+Returns the status code of the HTTP response header.
+<p> <p>See also <a href="#reasonPhrase">reasonPhrase</a>(), <a href="#majorVersion">majorVersion</a>(), and <a href="#minorVersion">minorVersion</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondrag-members.html b/doc/html/qicondrag-members.html
new file mode 100644
index 0000000..3fffb88
--- /dev/null
+++ b/doc/html/qicondrag-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:92 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="qicondrag.html">QIconDrag</a>, including inherited members.
+
+<ul>
+<li><a href="qicondrag.html#QIconDrag">QIconDrag</a>()
+<li><a href="qicondrag.html#~QIconDrag">~QIconDrag</a>()
+<li><a href="qicondrag.html#append">append</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qicondrag.html#canDecode">canDecode</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qicondrag.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondrag.html b/doc/html/qicondrag.html
new file mode 100644
index 0000000..9e1f988
--- /dev/null
+++ b/doc/html/qicondrag.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:585 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconDrag Class Reference<br><small>[<a href="iconview.html">iconview module</a>]</small></h1>
+
+<p>The QIconDrag class supports drag and drop operations
+within a QIconView.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;</tt>
+<p>Inherits <a href="qdragobject.html">QDragObject</a>.
+<p><a href="qicondrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIconDrag"><b>QIconDrag</b></a> ( QWidget&nbsp;*&nbsp;dragSource, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QIconDrag"><b>~QIconDrag</b></a> ()</li>
+<li class=fn>void <a href="#append"><b>append</b></a> ( const&nbsp;QIconDragItem&nbsp;&amp;&nbsp;i, const&nbsp;QRect&nbsp;&amp;&nbsp;pr, const&nbsp;QRect&nbsp;&amp;&nbsp;tr )</li>
+<li class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#canDecode"><b>canDecode</b></a> ( QMimeSource&nbsp;*&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QIconDrag class supports drag and drop operations
+within a <a href="qiconview.html">QIconView</a>.
+<p>
+
+<p> A QIconDrag object is used to maintain information about the
+positions of dragged items and the data associated with the
+dragged items. QIconViews are able to use this information to
+paint the dragged items in the correct positions. Internally
+QIconDrag stores the data associated with drag items in
+<a href="qicondragitem.html">QIconDragItem</a> objects.
+<p> If you want to use the extended drag-and-drop functionality of
+QIconView, create a QIconDrag object in a reimplementation of
+<a href="qiconview.html#dragObject">QIconView::dragObject</a>(). Then create a QIconDragItem for each item
+which should be dragged, set the data it represents with
+<a href="qicondragitem.html#setData">QIconDragItem::setData</a>(), and add each QIconDragItem to the drag
+object using <a href="#append">append</a>().
+<p> The data in QIconDragItems is stored in a <a href="qbytearray.html">QByteArray</a> and is
+mime-typed (see <a href="qmimesource.html">QMimeSource</a> and the
+<a href="http://doc.trolltech.com/dnd.html">Drag and Drop</a>
+overview). If you want to use your own mime-types derive a class
+from QIconDrag and reimplement <a href="qmimesource.html#format">format</a>(), <a href="#encodedData">encodedData</a>() and
+<a href="#canDecode">canDecode</a>().
+<p> The fileiconview example program demonstrates the use of the
+QIconDrag class including subclassing and reimplementing
+dragObject(), format(), encodedData() and canDecode(). See the files
+<tt>qt/examples/fileiconview/qfileiconview.h</tt> and
+<tt>qt/examples/fileiconview/qfileiconview.cpp</tt>.
+<p> <p>See also <a href="qmimesource.html#format">QMimeSource::format</a>() and <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconDrag"></a>QIconDrag::QIconDrag ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a drag object called <em>name</em>, which is a child of <em>dragSource</em>.
+<p> Note that the drag object will be deleted when <em>dragSource</em> is deleted.
+
+<h3 class=fn><a name="~QIconDrag"></a>QIconDrag::~QIconDrag ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="append"></a>QIconDrag::append ( const&nbsp;<a href="qicondragitem.html">QIconDragItem</a>&nbsp;&amp;&nbsp;i, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;pr, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;tr )
+</h3>
+Append the <a href="qicondragitem.html">QIconDragItem</a>, <em>i</em>, to the QIconDrag object's list of
+items. You must also supply the geometry of the pixmap, <em>pr</em>, and
+the textual caption, <em>tr</em>.
+<p> <p>See also <a href="qicondragitem.html">QIconDragItem</a>.
+
+<p>Example: <a href="fileiconview-example.html#x829">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="canDecode"></a>QIconDrag::canDecode ( <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>e</em> can be decoded by the QIconDrag, otherwise
+return FALSE.
+
+<p>Example: <a href="fileiconview-example.html#x830">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="encodedData"></a>QIconDrag::encodedData ( const&nbsp;char&nbsp;*&nbsp;mime ) const<tt> [virtual]</tt>
+</h3>
+Returns the encoded data of the drag object if <em>mime</em> is
+application/x-qiconlist.
+
+<p>Example: <a href="fileiconview-example.html#x831">fileiconview/qfileiconview.cpp</a>.
+<p>Reimplemented from <a href="qmimesource.html#encodedData">QMimeSource</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondragevent-members.html b/doc/html/qicondragevent-members.html
new file mode 100644
index 0000000..a30fbbd
--- /dev/null
+++ b/doc/html/qicondragevent-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:395 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDragEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconDragEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qicondragevent.html">QIconDragEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qicondragevent.html#QIconDragEvent">QIconDragEvent</a>()
+<li><a href="qicondragevent.html#accept">accept</a>()
+<li><a href="qicondragevent.html#ignore">ignore</a>()
+<li><a href="qicondragevent.html#isAccepted">isAccepted</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondragevent.html b/doc/html/qicondragevent.html
new file mode 100644
index 0000000..92d9ded
--- /dev/null
+++ b/doc/html/qicondragevent.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1494 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDragEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconDragEvent Class Reference</h1>
+
+<p>The QIconDragEvent class signals that a main icon drag has begun.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qicondragevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIconDragEvent"><b>QIconDragEvent</b></a> ()</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIconDragEvent class signals that a main icon drag has begun.
+<p>
+<p> Icon drag events are sent to widgets when the main icon of a window has been dragged away.
+On Mac OS X this is fired when the proxy icon of a window is dragged off titlebar, in response to
+this event is is normal to begin using drag and drop.
+<p>See also <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconDragEvent"></a>QIconDragEvent::QIconDragEvent ()
+</h3>
+
+<p> Constructs an icon drag event object with the accept parameter
+flag set to FALSE.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>void <a name="accept"></a>QIconDragEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the icon drag event object.
+<p> Setting the accept flag indicates that the receiver of this event
+has started a drag and drop oeration.
+<p> The accept flag is <em>not</em> set by default.
+<p> <p>See also <a href="#ignore">ignore</a>() and <a href="qwidget.html#hide">QWidget::hide</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QIconDragEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag of the icon drag object.
+<p> Clearing the accept flag indicates that the receiver of this event
+has not handled the icon drag as a result other events can be sent.
+<p> The icon drag event is constructed with the accept flag cleared.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QIconDragEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event has started a drag and
+drop operation; otherwise returns FALSE.
+<p> <p>See also <a href="#accept">accept</a>() and <a href="#ignore">ignore</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondragitem-members.html b/doc/html/qicondragitem-members.html
new file mode 100644
index 0000000..694d534
--- /dev/null
+++ b/doc/html/qicondragitem-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:79 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDragItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconDragItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qicondragitem.html">QIconDragItem</a>, including inherited members.
+
+<ul>
+<li><a href="qicondragitem.html#QIconDragItem">QIconDragItem</a>()
+<li><a href="qicondragitem.html#~QIconDragItem">~QIconDragItem</a>()
+<li><a href="qicondragitem.html#data">data</a>()
+<li><a href="qicondragitem.html#setData">setData</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qicondragitem.html b/doc/html/qicondragitem.html
new file mode 100644
index 0000000..00f60a3
--- /dev/null
+++ b/doc/html/qicondragitem.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:497 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconDragItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconDragItem Class Reference<br><small>[<a href="iconview.html">iconview module</a>]</small></h1>
+
+<p>The QIconDragItem class encapsulates a drag item.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;</tt>
+<p><a href="qicondragitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIconDragItem"><b>QIconDragItem</b></a> ()</li>
+<li class=fn>virtual <a href="#~QIconDragItem"><b>~QIconDragItem</b></a> ()</li>
+<li class=fn>virtual QByteArray <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;d )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QIconDragItem class encapsulates a drag item.
+<p>
+<p> The <a href="qicondrag.html">QIconDrag</a> class uses a list of QIconDragItems to support drag
+and drop operations.
+<p> In practice a QIconDragItem object (or an object of a class derived
+from QIconDragItem) is created for each icon view item which is
+dragged. Each of these QIconDragItems is stored in a QIconDrag
+object.
+<p> See <a href="qiconview.html#dragObject">QIconView::dragObject</a>() for more information.
+<p> See the <a href="fileiconview-example.html">fileiconview/qfileiconview.cpp</a> and
+<a href="iconview-simple_dd-main-cpp.html">iconview/simple_dd/main.cpp</a> examples.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconDragItem"></a>QIconDragItem::QIconDragItem ()
+</h3>
+Constructs a QIconDragItem with no data.
+
+<h3 class=fn><a name="~QIconDragItem"></a>QIconDragItem::~QIconDragItem ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="data"></a>QIconDragItem::data () const<tt> [virtual]</tt>
+</h3>
+Returns the data contained in the QIconDragItem.
+
+<h3 class=fn>void <a name="setData"></a>QIconDragItem::setData ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3>
+Sets the data for the QIconDragItem to the data stored in the
+<a href="qbytearray.html">QByteArray</a> <em>d</em>.
+
+<p>Example: <a href="fileiconview-example.html#x833">fileiconview/qfileiconview.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconfactory-members.html b/doc/html/qiconfactory-members.html
new file mode 100644
index 0000000..b82154b
--- /dev/null
+++ b/doc/html/qiconfactory-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconset.h:101 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiconfactory.html">QIconFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qiconfactory.html#QIconFactory">QIconFactory</a>()
+<li><a href="qiconfactory.html#~QIconFactory">~QIconFactory</a>()
+<li><a href="qiconfactory.html#autoDelete">autoDelete</a>()
+<li><a href="qiconfactory.html#createPixmap">createPixmap</a>()
+<li><a href="qiconfactory.html#defaultFactory">defaultFactory</a>()
+<li><a href="qiconfactory.html#installDefaultFactory">installDefaultFactory</a>()
+<li><a href="qiconfactory.html#setAutoDelete">setAutoDelete</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconfactory.html b/doc/html/qiconfactory.html
new file mode 100644
index 0000000..addcb3d
--- /dev/null
+++ b/doc/html/qiconfactory.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qiconset.cpp:850 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconFactory Class Reference</h1>
+
+<p>The QIconFactory class is used to create pixmaps for a QIconSet.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconset-h.html">qiconset.h</a>&gt;</tt>
+<p><a href="qiconfactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIconFactory"><b>QIconFactory</b></a> ()</li>
+<li class=fn>virtual <a href="#~QIconFactory"><b>~QIconFactory</b></a> ()</li>
+<li class=fn>virtual QPixmap * <a href="#createPixmap"><b>createPixmap</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconSet, QIconSet::Size&nbsp;size, QIconSet::Mode&nbsp;mode, QIconSet::State&nbsp;state )</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;autoDelete )</li>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QIconFactory * <a href="#defaultFactory"><b>defaultFactory</b></a> ()</li>
+<li class=fn>void <a href="#installDefaultFactory"><b>installDefaultFactory</b></a> ( QIconFactory&nbsp;*&nbsp;factory )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIconFactory class is used to create pixmaps for a <a href="qiconset.html">QIconSet</a>.
+<p> By reimplementing <a href="#createPixmap">createPixmap</a>(), you can override QIconSet's
+default algorithm for computing pixmaps not supplied by the user.
+<p> Call <a href="#setAutoDelete">setAutoDelete</a>(TRUE) if you want the factory to automatically
+delete itself when it is no longer needed by QIconSet.
+<p> <p>See also <a href="qiconset.html">QIconSet</a> and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconFactory"></a>QIconFactory::QIconFactory ()
+</h3>
+Constructs an icon factory.
+
+<h3 class=fn><a name="~QIconFactory"></a>QIconFactory::~QIconFactory ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QIconFactory::autoDelete () const
+</h3>
+
+<p> Returns TRUE if auto-deletion is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="createPixmap"></a>QIconFactory::createPixmap ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconSet, <a href="qiconset.html#Size-enum">QIconSet::Size</a>&nbsp;size, <a href="qiconset.html#Mode-enum">QIconSet::Mode</a>&nbsp;mode, <a href="qiconset.html#State-enum">QIconSet::State</a>&nbsp;state )<tt> [virtual]</tt>
+</h3>
+Ceates a pixmap for <em>iconSet</em> with a certain <em>size</em>, <em>mode</em>, and
+<em>state</em>. Returns 0 if the default <a href="qiconset.html">QIconSet</a> algorithm should be
+used to create a pixmap that wasn't supplied by the user.
+<p> It is the caller's responsibility to delete the returned pixmap.
+<p> The default implementation always returns 0.
+
+<h3 class=fn><a href="qiconfactory.html">QIconFactory</a>&nbsp;* <a name="defaultFactory"></a>QIconFactory::defaultFactory ()<tt> [static]</tt>
+</h3>
+Returns the default icon factory.
+<p> <p>See also <a href="#installDefaultFactory">installDefaultFactory</a>().
+
+<h3 class=fn>void <a name="installDefaultFactory"></a>QIconFactory::installDefaultFactory ( <a href="qiconfactory.html">QIconFactory</a>&nbsp;*&nbsp;factory )<tt> [static]</tt>
+</h3>
+Replaces the default icon factory with <em>factory</em>.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QIconFactory::setAutoDelete ( bool&nbsp;autoDelete )
+</h3>
+
+<p> If <em>autoDelete</em> is TRUE, sets the icon factory to automatically
+delete itself when it is no longer referenced by any <a href="qiconset.html">QIconSet</a> and
+isn't the default factory. If <em>autoDelete</em> is FALSE (the default)
+auto-deletion is disabled.
+<p> <p>See also <a href="#autoDelete">autoDelete</a>() and <a href="#defaultFactory">defaultFactory</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconset-h.html b/doc/html/qiconset-h.html
new file mode 100644
index 0000000..32debb6
--- /dev/null
+++ b/doc/html/qiconset-h.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconset.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qiconset.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qiconset.h</h1>
+
+<p>This is the verbatim text of the qiconset.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qiconset.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QIconSet class
+**
+** Created : 980318
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QICONSET_H
+#define QICONSET_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qpixmap.h"
+#endif // QT_H
+
+#ifndef QT_NO_ICONSET
+
+class QIconFactory;
+class QIconSetPrivate;
+
+// ### Remove all 'virtual' functions in QIconSet (but not QIconFactory) in Qt 4.0
+class Q_EXPORT QIconSet
+{
+public:
+ // the implementation makes assumptions about the value of these
+ enum Size { Automatic, Small, Large };
+ enum Mode { Normal, Disabled, Active };
+ enum State { On, Off };
+
+ QIconSet();
+ QIconSet( const QPixmap&amp; pixmap, Size size = Automatic );
+ QIconSet( const QPixmap&amp; smallPix, const QPixmap&amp; largePix );
+ QIconSet( const QIconSet&amp; other );
+ virtual ~QIconSet();
+
+ void reset( const QPixmap&amp; pixmap, Size size );
+
+ virtual void setPixmap( const QPixmap&amp; pixmap, Size size,
+ Mode mode = Normal, State state = Off );
+ virtual void setPixmap( const QString&amp; fileName, Size size,
+ Mode mode = Normal, State state = Off );
+ QPixmap pixmap( Size size, Mode mode, State state = Off ) const;
+ QPixmap pixmap( Size size, bool enabled, State state = Off ) const;
+ QPixmap pixmap() const;
+ bool isGenerated( Size size, Mode mode, State state = Off ) const;
+ void clearGenerated();
+ void installIconFactory( QIconFactory *factory );
+
+ bool isNull() const;
+
+ void detach();
+
+ QIconSet&amp; operator=( const QIconSet&amp; other );
+
+ // static functions
+ static void setIconSize( Size which, const QSize&amp; size );
+ static const QSize&amp; iconSize( Size which );
+
+#ifndef Q_QDOC
+ Q_DUMMY_COMPARISON_OPERATOR(QIconSet)
+#endif
+
+private:
+ void normalize( Size&amp; which, const QSize&amp; pixSize );
+ QPixmap *createScaled( Size size, const QPixmap *suppliedPix ) const;
+ QPixmap *createDisabled( Size size, State state ) const;
+
+ QIconSetPrivate *d;
+};
+
+class Q_EXPORT QIconFactory : private QShared
+{
+public:
+ QIconFactory();
+ virtual ~QIconFactory();
+
+ virtual QPixmap *createPixmap( const QIconSet&amp; iconSet, QIconSet::Size size,
+ QIconSet::Mode mode, QIconSet::State state );
+ void setAutoDelete( bool autoDelete ) { autoDel = autoDelete; }
+ bool autoDelete() const { return autoDel; }
+
+ static QIconFactory *defaultFactory();
+ static void installDefaultFactory( QIconFactory *factory );
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QIconFactory( const QIconFactory &amp; );
+ QIconFactory &amp;operator=( const QIconFactory &amp; );
+#endif
+
+ friend class QIconSet;
+ friend class QIconSetPrivate;
+
+ uint autoDel : 1;
+ uint unused : 31;
+};
+
+#endif // QT_NO_ICONSET
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconset-members.html b/doc/html/qiconset-members.html
new file mode 100644
index 0000000..940ab4d
--- /dev/null
+++ b/doc/html/qiconset-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconset.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconSet Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconSet</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiconset.html">QIconSet</a>, including inherited members.
+
+<ul>
+<li><a href="qiconset.html#QIconSet">QIconSet</a>()
+<li><a href="qiconset.html#~QIconSet">~QIconSet</a>()
+<li><a href="qiconset.html#clearGenerated">clearGenerated</a>()
+<li><a href="qiconset.html#detach">detach</a>()
+<li><a href="qiconset.html#iconSize">iconSize</a>()
+<li><a href="qiconset.html#installIconFactory">installIconFactory</a>()
+<li><a href="qiconset.html#isGenerated">isGenerated</a>()
+<li><a href="qiconset.html#isNull">isNull</a>()
+<li><a href="qiconset.html#operator-eq">operator=</a>()
+<li><a href="qiconset.html#pixmap">pixmap</a>()
+<li><a href="qiconset.html#reset">reset</a>()
+<li><a href="qiconset.html#setIconSize">setIconSize</a>()
+<li><a href="qiconset.html#setPixmap">setPixmap</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconset.html b/doc/html/qiconset.html
new file mode 100644
index 0000000..eefb380
--- /dev/null
+++ b/doc/html/qiconset.html
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qiconset.cpp:204 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconSet Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconSet Class Reference</h1>
+
+<p>The QIconSet class provides a set of icons with different
+styles and sizes.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconset-h.html">qiconset.h</a>&gt;</tt>
+<p><a href="qiconset-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Size-enum"><b>Size</b></a> { Automatic, Small, Large }</li>
+<li class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { Normal, Disabled, Active }</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { On, Off }</li>
+<li class=fn><a href="#QIconSet"><b>QIconSet</b></a> ()</li>
+<li class=fn><a href="#QIconSet-2"><b>QIconSet</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, Size&nbsp;size = Automatic )</li>
+<li class=fn><a href="#QIconSet-3"><b>QIconSet</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;smallPix, const&nbsp;QPixmap&nbsp;&amp;&nbsp;largePix )</li>
+<li class=fn><a href="#QIconSet-4"><b>QIconSet</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>virtual <a href="#~QIconSet"><b>~QIconSet</b></a> ()</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, Size&nbsp;size )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, Size&nbsp;size, Mode&nbsp;mode = Normal, State&nbsp;state = Off )</li>
+<li class=fn>virtual void <a href="#setPixmap-2"><b>setPixmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, Size&nbsp;size, Mode&nbsp;mode = Normal, State&nbsp;state = Off )</li>
+<li class=fn>QPixmap <a href="#pixmap"><b>pixmap</b></a> ( Size&nbsp;size, Mode&nbsp;mode, State&nbsp;state = Off ) const</li>
+<li class=fn>QPixmap pixmap ( Size&nbsp;size, bool&nbsp;enabled, State&nbsp;state = Off ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPixmap <a href="#pixmap-3"><b>pixmap</b></a> () const</li>
+<li class=fn>bool <a href="#isGenerated"><b>isGenerated</b></a> ( Size&nbsp;size, Mode&nbsp;mode, State&nbsp;state = Off ) const</li>
+<li class=fn>void <a href="#clearGenerated"><b>clearGenerated</b></a> ()</li>
+<li class=fn>void <a href="#installIconFactory"><b>installIconFactory</b></a> ( QIconFactory&nbsp;*&nbsp;factory )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>QIconSet &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;other )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#setIconSize"><b>setIconSize</b></a> ( Size&nbsp;which, const&nbsp;QSize&nbsp;&amp;&nbsp;size )</li>
+<li class=fn>const QSize &amp; <a href="#iconSize"><b>iconSize</b></a> ( Size&nbsp;which )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+<p> The QIconSet class provides a set of icons with different
+styles and sizes.
+<p>
+
+
+
+<p> A QIconSet can generate smaller, larger, active, and disabled pixmaps
+from the set of icons it is given. Such pixmaps are used by
+<a href="qtoolbutton.html">QToolButton</a>, <a href="qheader.html">QHeader</a>, <a href="qpopupmenu.html">QPopupMenu</a>, etc. to show an icon representing a
+particular action.
+<p> The simplest use of QIconSet is to create one from a <a href="qpixmap.html">QPixmap</a> and then
+use it, allowing Qt to work out all the required icon styles and
+sizes. For example:
+<p> <pre>
+ <a href="qtoolbutton.html">QToolButton</a> *but = new <a href="qtoolbutton.html">QToolButton</a>( <a href="#QIconSet">QIconSet</a>( QPixmap("open.xpm") ), ... );
+ </pre>
+
+<p> Using whichever pixmaps you specify as a base, QIconSet provides a
+set of six icons, each with a <a href="#Size-enum">Size</a> and a <a href="#Mode-enum">Mode</a>: Small Normal,
+Small Disabled, Small Active, Large Normal, Large Disabled, and
+Large Active.
+<p> An additional set of six icons can be provided for widgets that have
+an "On" or "Off" state, like checkable menu items or toggleable
+toolbuttons. If you provide pixmaps for the "On" state, but not for
+the "Off" state, the QIconSet will provide the "Off" pixmaps. You may
+specify icons for both states in you wish.
+<p> You can set any of the icons using <a href="#setPixmap">setPixmap</a>().
+<p> When you retrieve a pixmap using <a href="#pixmap">pixmap</a>(Size, Mode, State),
+QIconSet will return the icon that has been set or previously
+generated for that size, mode and state combination. If none is
+available, QIconSet will ask the icon factory. If the icon factory
+cannot provide any (the default), QIconSet generates a pixmap based
+on the pixmaps it has been given and returns it.
+<p> The <a href="#Mode-enum">Disabled</a> appearance is computed using an algorithm that
+produces results very similar to those used in Microsoft Windows
+95. The <a href="#Mode-enum">Active</a> appearance is identical to the <a href="#Mode-enum">Normal</a>
+appearance unless you use setPixmap() to set it to something
+special.
+<p> When scaling icons, QIconSet uses <a href="qimage.html#smoothScale">smooth scaling</a>, which can partially blend the color component
+of pixmaps. If the results look poor, the best solution
+is to supply pixmaps in both large and small sizes.
+<p> You can use the static function <a href="#setIconSize">setIconSize</a>() to set the preferred
+size of the generated large/small icons. The default small size is
+22 x 22, while the default large size is 32 x 32. These sizes only
+affect generated icons.
+<p> The <a href="#isGenerated">isGenerated</a>() function returns TRUE if an icon was generated by
+QIconSet or by a factory; <a href="#clearGenerated">clearGenerated</a>() clears all cached
+pixmaps.
+<p> <h3> Making Classes that Use QIconSet
+</h3>
+<a name="1"></a><p> If you write your own widgets that have an option to set a small
+pixmap, consider allowing a QIconSet to be set for that pixmap. The
+Qt class <a href="qtoolbutton.html">QToolButton</a> is an example of such a widget.
+<p> Provide a method to set a QIconSet, and when you draw the icon, choose
+whichever icon is appropriate for the current state of your widget.
+For example:
+<pre>
+ void MyWidget::drawIcon( <a href="qpainter.html">QPainter</a>* p, QPoint pos )
+ {
+ p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( pos, icons-&gt;pixmap(
+ QIconSet::<a href="#Size-enum">Small</a>,
+ isEnabled() ? QIconSet::<a href="#Mode-enum">Normal</a> :
+ QIconSet::<a href="#Mode-enum">Disabled</a>,
+ isEnabled() ? QIconSet::<a href="#State-enum">On</a> :
+ QIconSet::<a href="#State-enum">Off</a>));
+ }
+ </pre>
+
+<p> You might also make use of the <a href="#Mode-enum">Active</a> mode, perhaps making your
+widget <a href="#Mode-enum">Active</a> when the mouse is over the widget (see <a href="qwidget.html#enterEvent">QWidget::enterEvent</a>()), while the mouse is pressed pending the
+release that will activate the function, or when it is the currently
+selected item. If the widget can be toggled, the "On" mode might be
+used to draw a different icon.
+<p> <center><img src="iconset.png" alt="QIconSet"></center>
+<p> <p>See also <a href="qiconfactory.html">QIconFactory</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qmainwindow.html#usesBigPixmaps-prop">QMainWindow::usesBigPixmaps</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Iconic Label</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Mode-enum"></a>QIconSet::Mode</h3>
+
+<p> This enum type describes the mode for which a pixmap is intended to be
+used.
+The currently defined modes are:
+<ul>
+<li><tt>QIconSet::Normal</tt> -
+Display the pixmap when the user is
+not interacting with the icon, but the
+functionality represented by the icon is available.
+<li><tt>QIconSet::Disabled</tt> -
+Display the pixmap when the
+functionality represented by the icon is not available.
+<li><tt>QIconSet::Active</tt> -
+Display the pixmap when the
+functionality represented by the icon is available and
+the user is interacting with the icon, for example, moving the
+mouse over it or clicking it.
+</ul>
+<h3 class=fn><a name="Size-enum"></a>QIconSet::Size</h3>
+
+<p> This enum type describes the size at which a pixmap is intended to be
+used.
+The currently defined sizes are:
+<ul>
+<li><tt>QIconSet::Automatic</tt> - The size of the pixmap is determined from its
+pixel size. This is a useful default.
+<li><tt>QIconSet::Small</tt> - The pixmap is the smaller of two.
+<li><tt>QIconSet::Large</tt> - The pixmap is the larger of two.
+</ul><p> If a Small pixmap is not set by <a href="#setPixmap">QIconSet::setPixmap</a>(), the Large
+pixmap will be automatically scaled down to the size of a small pixmap
+to generate the Small pixmap when required. Similarly, a Small pixmap
+will be automatically scaled up to generate a Large pixmap. The
+preferred sizes for large/small generated icons can be set using
+<a href="#setIconSize">setIconSize</a>().
+<p> <p>See also <a href="#setIconSize">setIconSize</a>(), <a href="#iconSize">iconSize</a>(), <a href="#setPixmap">setPixmap</a>(), <a href="#pixmap">pixmap</a>(), and <a href="qmainwindow.html#usesBigPixmaps-prop">QMainWindow::usesBigPixmaps</a>.
+
+<h3 class=fn><a name="State-enum"></a>QIconSet::State</h3>
+
+<p> This enum describes the state for which a pixmap is intended to be
+used. The <em>state</em> can be:
+<ul>
+<li><tt>QIconSet::Off</tt> - Display the pixmap when the widget is in an "off" state
+<li><tt>QIconSet::On</tt> - Display the pixmap when the widget is in an "on" state
+</ul><p> <p>See also <a href="#setPixmap">setPixmap</a>() and <a href="#pixmap">pixmap</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconSet"></a>QIconSet::QIconSet ()
+</h3>
+Constructs a null icon set.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>() and <a href="#reset">reset</a>().
+
+<h3 class=fn><a name="QIconSet-2"></a>QIconSet::QIconSet ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qiconset.html#Size-enum">Size</a>&nbsp;size = Automatic )
+</h3>
+Constructs an icon set for which the Normal pixmap is <em>pixmap</em>,
+which is assumed to be of size <em>size</em>.
+<p> The default for <em>size</em> is <a href="#Size-enum">Automatic</a>, which means that QIconSet
+will determine whether the pixmap is Small or Large from its pixel
+size. Pixmaps less than the width of a small generated icon are
+considered to be Small. You can use <a href="#setIconSize">setIconSize</a>() to set the
+preferred size of a generated icon.
+<p> <p>See also <a href="#setIconSize">setIconSize</a>() and <a href="#reset">reset</a>().
+
+<h3 class=fn><a name="QIconSet-3"></a>QIconSet::QIconSet ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;smallPix, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;largePix )
+</h3> Creates an iconset which uses the pixmap <em>smallPix</em> for for
+displaying a small icon, and the pixmap <em>largePix</em> for displaying a
+large icon.
+
+<h3 class=fn><a name="QIconSet-4"></a>QIconSet::QIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>. This is very fast.
+
+<h3 class=fn><a name="~QIconSet"></a>QIconSet::~QIconSet ()<tt> [virtual]</tt>
+</h3>
+Destroys the icon set and frees any allocated resources.
+
+<h3 class=fn>void <a name="clearGenerated"></a>QIconSet::clearGenerated ()
+</h3>
+Clears all cached pixmaps, including those obtained from an
+eventual <a href="qiconfactory.html">QIconFactory</a>.
+
+<h3 class=fn>void <a name="detach"></a>QIconSet::detach ()
+</h3>
+Detaches this icon set from others with which it may share data.
+<p> You will never need to call this function; other QIconSet functions
+call it as necessary.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; <a name="iconSize"></a>QIconSet::iconSize ( <a href="qiconset.html#Size-enum">Size</a>&nbsp;which )<tt> [static]</tt>
+</h3>
+If <em>which</em> is Small, returns the preferred size of a small
+generated icon; if <em>which</em> is Large, returns the preferred size
+of a large generated icon.
+<p> <p>See also <a href="#setIconSize">setIconSize</a>().
+
+<h3 class=fn>void <a name="installIconFactory"></a>QIconSet::installIconFactory ( <a href="qiconfactory.html">QIconFactory</a>&nbsp;*&nbsp;factory )
+</h3>
+Installs <em>factory</em> as the icon factory for this iconset. The
+icon factory is used to generates pixmaps not set by the user.
+<p> If no icon factory is installed, <a href="qiconfactory.html#defaultFactory">QIconFactory::defaultFactory</a>()
+is used.
+
+<h3 class=fn>bool <a name="isGenerated"></a>QIconSet::isGenerated ( <a href="qiconset.html#Size-enum">Size</a>&nbsp;size, <a href="qiconset.html#Mode-enum">Mode</a>&nbsp;mode, <a href="qiconset.html#State-enum">State</a>&nbsp;state = Off ) const
+</h3>
+Returns TRUE if the pixmap with size <em>size</em>, mode <em>mode</em> and
+state <em>state</em> is generated from other pixmaps; otherwise returns
+FALSE.
+<p> A pixmap obtained from a <a href="qiconfactory.html">QIconFactory</a> is considered non-generated.
+
+<h3 class=fn>bool <a name="isNull"></a>QIconSet::isNull () const
+</h3>
+Returns TRUE if the icon set is empty; otherwise returns FALSE.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;&amp; <a name="operator-eq"></a>QIconSet::operator= ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Assigns <em>other</em> to this icon set and returns a reference to this
+icon set.
+<p> <p>See also <a href="#detach">detach</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap"></a>QIconSet::pixmap ( <a href="qiconset.html#Size-enum">Size</a>&nbsp;size, <a href="qiconset.html#Mode-enum">Mode</a>&nbsp;mode, <a href="qiconset.html#State-enum">State</a>&nbsp;state = Off ) const
+</h3>
+Returns a pixmap with size <em>size</em>, mode <em>mode</em> and state <em>state</em>, generating one if necessary. Generated pixmaps are cached.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-2"></a>QIconSet::pixmap ( <a href="qiconset.html#Size-enum">Size</a>&nbsp;size, bool&nbsp;enabled, <a href="qiconset.html#State-enum">State</a>&nbsp;state = Off ) const
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is the same as <a href="#pixmap">pixmap</a>(<em>size</em>, <em>enabled</em>, <em>state</em>).
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-3"></a>QIconSet::pixmap () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the pixmap originally provided to the constructor or to
+<a href="#reset">reset</a>(). This is the Normal pixmap of unspecified Size.
+<p> <p>See also <a href="#reset">reset</a>().
+
+<h3 class=fn>void <a name="reset"></a>QIconSet::reset ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qiconset.html#Size-enum">Size</a>&nbsp;size )
+</h3>
+Sets this icon set to use pixmap <em>pixmap</em> for the Normal pixmap,
+assuming it to be of size <em>size</em>.
+<p> This is equivalent to assigning QIconSet(<em>pixmap</em>, <em>size</em>) to this
+icon set.
+<p> This function does nothing if <em>pixmap</em> is a null pixmap.
+
+<h3 class=fn>void <a name="setIconSize"></a>QIconSet::setIconSize ( <a href="qiconset.html#Size-enum">Size</a>&nbsp;which, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size )<tt> [static]</tt>
+</h3>
+Set the preferred size for all small or large icons that are
+generated after this call. If <em>which</em> is Small, sets the preferred
+size of small generated icons to <em>size</em>. Similarly, if <em>which</em> is
+Large, sets the preferred size of large generated icons to <em>size</em>.
+<p> Note that cached icons will not be regenerated, so it is recommended
+that you set the preferred icon sizes before generating any icon sets.
+Also note that the preferred icon sizes will be ignored for icon sets
+that have been created using both small and large pixmaps.
+<p> <p>See also <a href="#iconSize">iconSize</a>().
+
+<h3 class=fn>void <a name="setPixmap"></a>QIconSet::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qiconset.html#Size-enum">Size</a>&nbsp;size, <a href="qiconset.html#Mode-enum">Mode</a>&nbsp;mode = Normal, <a href="qiconset.html#State-enum">State</a>&nbsp;state = Off )<tt> [virtual]</tt>
+</h3>
+Sets this icon set to provide pixmap <em>pixmap</em> for size <em>size</em>, mode <em>mode</em> and state <em>state</em>. The icon set may also use <em>pixmap</em> for
+generating other pixmaps if they are not explicitly set.
+<p> The <em>size</em> can be one of Automatic, Large or Small. If Automatic is
+used, QIconSet will determine if the pixmap is Small or Large from its
+pixel size.
+<p> Pixmaps less than the width of a small generated icon are
+considered to be Small. You can use <a href="#setIconSize">setIconSize</a>() to set the preferred
+size of a generated icon.
+<p> This function does nothing if <em>pixmap</em> is a null pixmap.
+<p> <p>See also <a href="#reset">reset</a>().
+
+<h3 class=fn>void <a name="setPixmap-2"></a>QIconSet::setPixmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, <a href="qiconset.html#Size-enum">Size</a>&nbsp;size, <a href="qiconset.html#Mode-enum">Mode</a>&nbsp;mode = Normal, <a href="qiconset.html#State-enum">State</a>&nbsp;state = Off )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The pixmap is loaded from <em>fileName</em> when it becomes necessary.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconview-h.html b/doc/html/qiconview-h.html
new file mode 100644
index 0000000..1c06cdb
--- /dev/null
+++ b/doc/html/qiconview-h.html
@@ -0,0 +1,559 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qiconview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qiconview.h</h1>
+
+<p>This is the verbatim text of the qiconview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qiconview.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QIconView widget class
+**
+** Created : 990707
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the iconview module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QICONVIEW_H
+#define QICONVIEW_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#include "qstring.h"
+#include "qrect.h"
+#include "qpoint.h"
+#include "qsize.h"
+#include "qfont.h" // QString-&gt;QFont conversion
+#include "qdragobject.h"
+#include "qbitmap.h"
+#include "qpicture.h"
+#endif // QT_H
+
+#ifndef QT_NO_ICONVIEW
+
+#if !defined( QT_MODULE_ICONVIEW ) || defined( QT_INTERNAL_ICONVIEW )
+#define QM_EXPORT_ICONVIEW
+#else
+#define QM_EXPORT_ICONVIEW Q_EXPORT
+#endif
+
+class QIconView;
+class QPainter;
+class QMimeSource;
+class QMouseEvent;
+class QDragEnterEvent;
+class QDragMoveEvent;
+class QDragLeaveEvent;
+class QKeyEvent;
+class QFocusEvent;
+class QShowEvent;
+class QIconViewItem;
+class QIconViewItemLineEdit;
+class QStringList;
+class QIconDragPrivate;
+
+#ifndef QT_NO_DRAGANDDROP
+
+class QM_EXPORT_ICONVIEW QIconDragItem
+{
+public:
+ QIconDragItem();
+ virtual ~QIconDragItem();
+ virtual QByteArray data() const;
+ virtual void setData( const QByteArray &amp;d );
+ bool operator== ( const QIconDragItem&amp; ) const;
+
+private:
+ QByteArray ba;
+
+};
+
+class QM_EXPORT_ICONVIEW QIconDrag : public QDragObject
+{
+ Q_OBJECT
+public:
+ QIconDrag( QWidget * dragSource, const char* name = 0 );
+ virtual ~QIconDrag();
+
+ void append( const QIconDragItem &amp;item, const QRect &amp;pr, const QRect &amp;tr );
+
+ virtual const char* format( int i ) const;
+ static bool canDecode( QMimeSource* e );
+ virtual QByteArray encodedData( const char* mime ) const;
+
+private:
+ QIconDragPrivate *d;
+ QChar endMark;
+
+ friend class QIconView;
+ friend class QIconViewPrivate;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QIconDrag( const QIconDrag &amp; );
+ QIconDrag &amp;operator=( const QIconDrag &amp; );
+#endif
+};
+
+#endif
+
+class QIconViewToolTip;
+class QIconViewItemPrivate;
+
+class QM_EXPORT_ICONVIEW QIconViewItem : public Qt
+{
+ friend class QIconView;
+ friend class QIconViewToolTip;
+ friend class QIconViewItemLineEdit;
+
+public:
+ QIconViewItem( QIconView *parent );
+ QIconViewItem( QIconView *parent, QIconViewItem *after );
+ QIconViewItem( QIconView *parent, const QString &amp;text );
+ QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text );
+ QIconViewItem( QIconView *parent, const QString &amp;text, const QPixmap &amp;icon );
+ QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text, const QPixmap &amp;icon );
+#ifndef QT_NO_PICTURE
+ QIconViewItem( QIconView *parent, const QString &amp;text, const QPicture &amp;picture );
+ QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text, const QPicture &amp;picture );
+#endif
+ virtual ~QIconViewItem();
+
+ virtual void setRenameEnabled( bool allow );
+ virtual void setDragEnabled( bool allow );
+ virtual void setDropEnabled( bool allow );
+
+ virtual QString text() const;
+ virtual QPixmap *pixmap() const;
+#ifndef QT_NO_PICTURE
+ virtual QPicture *picture() const;
+#endif
+ virtual QString key() const;
+
+ bool renameEnabled() const;
+ bool dragEnabled() const;
+ bool dropEnabled() const;
+
+ QIconView *iconView() const;
+ QIconViewItem *prevItem() const;
+ QIconViewItem *nextItem() const;
+
+ int index() const;
+
+ virtual void setSelected( bool s, bool cb );
+ virtual void setSelected( bool s );
+ virtual void setSelectable( bool s );
+
+ bool isSelected() const;
+ bool isSelectable() const;
+
+ virtual void repaint();
+
+ virtual bool move( int x, int y );
+ virtual void moveBy( int dx, int dy );
+ virtual bool move( const QPoint &amp;pnt );
+ virtual void moveBy( const QPoint &amp;pnt );
+
+ QRect rect() const;
+ int x() const;
+ int y() const;
+ int width() const;
+ int height() const;
+ QSize size() const;
+ QPoint pos() const;
+ QRect textRect( bool relative = TRUE ) const;
+ QRect pixmapRect( bool relative = TRUE ) const;
+ bool contains( const QPoint&amp; pnt ) const;
+ bool intersects( const QRect&amp; r ) const;
+
+ virtual bool acceptDrop( const QMimeSource *mime ) const;
+
+#ifndef QT_NO_TEXTEDIT
+ void rename();
+#endif
+
+ virtual int compare( QIconViewItem *i ) const;
+
+ virtual void setText( const QString &amp;text );
+ virtual void setPixmap( const QPixmap &amp;icon );
+#ifndef QT_NO_PICTURE
+ virtual void setPicture( const QPicture &amp;icon );
+#endif
+ virtual void setText( const QString &amp;text, bool recalc, bool redraw = TRUE );
+ virtual void setPixmap( const QPixmap &amp;icon, bool recalc, bool redraw = TRUE );
+ virtual void setKey( const QString &amp;k );
+
+ virtual int rtti() const;
+ static int RTTI;
+
+protected:
+#ifndef QT_NO_TEXTEDIT
+ virtual void removeRenameBox();
+#endif
+ virtual void calcRect( const QString &amp;text_ = QString::null );
+ virtual void paintItem( QPainter *p, const QColorGroup &amp;cg );
+ virtual void paintFocus( QPainter *p, const QColorGroup &amp;cg );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void dropped( QDropEvent *e, const QValueList&lt;QIconDragItem&gt; &amp;lst );
+#endif
+ virtual void dragEntered();
+ virtual void dragLeft();
+ void setItemRect( const QRect &amp;r );
+ void setTextRect( const QRect &amp;r );
+ void setPixmapRect( const QRect &amp;r );
+ void calcTmpText();
+ QString tempText() const;
+
+private:
+ void init( QIconViewItem *after = 0
+#ifndef QT_NO_PICTURE
+ , QPicture *pic = 0
+#endif
+ );
+#ifndef QT_NO_TEXTEDIT
+ void renameItem();
+ void cancelRenameItem();
+#endif
+ void checkRect();
+
+ QIconView *view;
+ QString itemText, itemKey;
+ QString tmpText;
+ QPixmap *itemIcon;
+#ifndef QT_NO_PICTURE
+ QPicture *itemPic;
+#endif
+ QIconViewItem *prev, *next;
+ uint allow_rename : 1;
+ uint allow_drag : 1;
+ uint allow_drop : 1;
+ uint selected : 1;
+ uint selectable : 1;
+ uint dirty : 1;
+ uint wordWrapDirty : 1;
+ QRect itemRect, itemTextRect, itemIconRect;
+#ifndef QT_NO_TEXTEDIT
+ QIconViewItemLineEdit *renameBox;
+#endif
+ QRect oldRect;
+
+ QIconViewItemPrivate *d;
+
+};
+
+class QIconViewPrivate; /* don't touch */
+
+class QM_EXPORT_ICONVIEW QIconView : public QScrollView
+{
+ friend class QIconViewItem;
+ friend class QIconViewPrivate;
+ friend class QIconViewToolTip;
+
+ Q_OBJECT
+ // #### sorting and sort direction do not work
+ Q_ENUMS( SelectionMode ItemTextPos Arrangement ResizeMode )
+ Q_PROPERTY( bool sorting READ sorting )
+ Q_PROPERTY( bool sortDirection READ sortDirection )
+ Q_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
+ Q_PROPERTY( int gridX READ gridX WRITE setGridX )
+ Q_PROPERTY( int gridY READ gridY WRITE setGridY )
+ Q_PROPERTY( int spacing READ spacing WRITE setSpacing )
+ Q_PROPERTY( ItemTextPos itemTextPos READ itemTextPos WRITE setItemTextPos )
+ Q_PROPERTY( QBrush itemTextBackground READ itemTextBackground WRITE setItemTextBackground )
+ Q_PROPERTY( Arrangement arrangement READ arrangement WRITE setArrangement )
+ Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
+ Q_PROPERTY( int maxItemWidth READ maxItemWidth WRITE setMaxItemWidth )
+ Q_PROPERTY( int maxItemTextLength READ maxItemTextLength WRITE setMaxItemTextLength )
+ Q_PROPERTY( bool autoArrange READ autoArrange WRITE setAutoArrange )
+ Q_PROPERTY( bool itemsMovable READ itemsMovable WRITE setItemsMovable )
+ Q_PROPERTY( bool wordWrapIconText READ wordWrapIconText WRITE setWordWrapIconText )
+ Q_PROPERTY( bool showToolTips READ showToolTips WRITE setShowToolTips )
+ Q_PROPERTY( uint count READ count )
+
+public:
+ enum SelectionMode {
+ Single = 0,
+ Multi,
+ Extended,
+ NoSelection
+ };
+ enum Arrangement {
+ LeftToRight = 0,
+ TopToBottom
+ };
+ enum ResizeMode {
+ Fixed = 0,
+ Adjust
+ };
+ enum ItemTextPos {
+ Bottom = 0,
+ Right
+ };
+
+ QIconView( QWidget* parent=0, const char* name=0, WFlags f = 0 );
+ virtual ~QIconView();
+
+ virtual void insertItem( QIconViewItem *item, QIconViewItem *after = 0L );
+ virtual void takeItem( QIconViewItem *item );
+
+ int index( const QIconViewItem *item ) const;
+
+ QIconViewItem *firstItem() const;
+ QIconViewItem *lastItem() const;
+ QIconViewItem *currentItem() const;
+ virtual void setCurrentItem( QIconViewItem *item );
+ virtual void setSelected( QIconViewItem *item, bool s, bool cb = FALSE );
+
+ uint count() const;
+
+public:
+ virtual void showEvent( QShowEvent * );
+
+ virtual void setSelectionMode( SelectionMode m );
+ SelectionMode selectionMode() const;
+
+ QIconViewItem *findItem( const QPoint &amp;pos ) const;
+ QIconViewItem *findItem( const QString &amp;text, ComparisonFlags compare = BeginsWith ) const;
+ virtual void selectAll( bool select );
+ virtual void clearSelection();
+ virtual void invertSelection();
+
+ virtual void repaintItem( QIconViewItem *item );
+ void repaintSelectedItems();
+
+ void ensureItemVisible( QIconViewItem *item );
+ QIconViewItem* findFirstVisibleItem( const QRect &amp;r ) const;
+ QIconViewItem* findLastVisibleItem( const QRect &amp;r ) const;
+
+ virtual void clear();
+
+ virtual void setGridX( int rx );
+ virtual void setGridY( int ry );
+ int gridX() const;
+ int gridY() const;
+ virtual void setSpacing( int sp );
+ int spacing() const;
+ virtual void setItemTextPos( ItemTextPos pos );
+ ItemTextPos itemTextPos() const;
+ virtual void setItemTextBackground( const QBrush &amp;b );
+ QBrush itemTextBackground() const;
+ virtual void setArrangement( Arrangement am );
+ Arrangement arrangement() const;
+ virtual void setResizeMode( ResizeMode am );
+ ResizeMode resizeMode() const;
+ virtual void setMaxItemWidth( int w );
+ int maxItemWidth() const;
+ virtual void setMaxItemTextLength( int w );
+ int maxItemTextLength() const;
+ virtual void setAutoArrange( bool b );
+ bool autoArrange() const;
+ virtual void setShowToolTips( bool b );
+ bool showToolTips() const;
+
+ void setSorting( bool sort, bool ascending = TRUE );
+ bool sorting() const;
+ bool sortDirection() const;
+
+ virtual void setItemsMovable( bool b );
+ bool itemsMovable() const;
+ virtual void setWordWrapIconText( bool b );
+ bool wordWrapIconText() const;
+
+ bool eventFilter( QObject * o, QEvent * );
+
+ QSize minimumSizeHint() const;
+ QSize sizeHint() const;
+
+ virtual void sort( bool ascending = TRUE );
+
+ virtual void setFont( const QFont &amp; );
+ virtual void setPalette( const QPalette &amp; );
+
+ bool isRenaming() const;
+
+public slots:
+ virtual void arrangeItemsInGrid( const QSize &amp;grid, bool update = TRUE );
+ virtual void arrangeItemsInGrid( bool update = TRUE );
+ virtual void setContentsPos( int x, int y );
+ virtual void updateContents();
+
+signals:
+ void selectionChanged();
+ void selectionChanged( QIconViewItem *item );
+ void currentChanged( QIconViewItem *item );
+ void clicked( QIconViewItem * );
+ void clicked( QIconViewItem *, const QPoint &amp; );
+ void pressed( QIconViewItem * );
+ void pressed( QIconViewItem *, const QPoint &amp; );
+
+ void doubleClicked( QIconViewItem *item );
+ void returnPressed( QIconViewItem *item );
+ void rightButtonClicked( QIconViewItem* item, const QPoint&amp; pos );
+ void rightButtonPressed( QIconViewItem* item, const QPoint&amp; pos );
+ void mouseButtonPressed( int button, QIconViewItem* item, const QPoint&amp; pos );
+ void mouseButtonClicked( int button, QIconViewItem* item, const QPoint&amp; pos );
+ void contextMenuRequested( QIconViewItem* item, const QPoint &amp;pos );
+
+#ifndef QT_NO_DRAGANDDROP
+ void dropped( QDropEvent *e, const QValueList&lt;QIconDragItem&gt; &amp;lst );
+#endif
+ void moved();
+ void onItem( QIconViewItem *item );
+ void onViewport();
+ void itemRenamed( QIconViewItem *item, const QString &amp; );
+ void itemRenamed( QIconViewItem *item );
+
+protected slots:
+ virtual void doAutoScroll();
+ virtual void adjustItems();
+ virtual void slotUpdate();
+
+private slots:
+ void movedContents( int dx, int dy );
+
+protected:
+ void drawContents( QPainter *p, int cx, int cy, int cw, int ch );
+ void contentsMousePressEvent( QMouseEvent *e );
+ void contentsMouseReleaseEvent( QMouseEvent *e );
+ void contentsMouseMoveEvent( QMouseEvent *e );
+ void contentsMouseDoubleClickEvent( QMouseEvent *e );
+ void contentsContextMenuEvent( QContextMenuEvent *e );
+
+#ifndef QT_NO_DRAGANDDROP
+ void contentsDragEnterEvent( QDragEnterEvent *e );
+ void contentsDragMoveEvent( QDragMoveEvent *e );
+ void contentsDragLeaveEvent( QDragLeaveEvent *e );
+ void contentsDropEvent( QDropEvent *e );
+#endif
+
+ void resizeEvent( QResizeEvent* e );
+ void keyPressEvent( QKeyEvent *e );
+ void focusInEvent( QFocusEvent *e );
+ void focusOutEvent( QFocusEvent *e );
+ void enterEvent( QEvent *e );
+
+ virtual void drawRubber( QPainter *p );
+#ifndef QT_NO_DRAGANDDROP
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+#endif
+ virtual void insertInGrid( QIconViewItem *item );
+ virtual void drawBackground( QPainter *p, const QRect &amp;r );
+
+ void emitSelectionChanged( QIconViewItem * i = 0 );
+ void emitRenamed( QIconViewItem *item );
+
+ QIconViewItem *makeRowLayout( QIconViewItem *begin, int &amp;y, bool &amp;changed );
+
+ void styleChange( QStyle&amp; );
+ void windowActivationChange( bool );
+
+private:
+ void contentsMousePressEventEx( QMouseEvent *e );
+ virtual void drawDragShapes( const QPoint &amp;pnt );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void initDragEnter( QDropEvent *e );
+#endif
+ void drawContents( QPainter* );
+ QIconViewItem* findItemByName( QIconViewItem *start );
+ void handleItemChange( QIconViewItem *old, bool shift,
+ bool control, bool homeend = FALSE);
+
+ int calcGridNum( int w, int x ) const;
+ QIconViewItem *rowBegin( QIconViewItem *item ) const;
+ void updateItemContainer( QIconViewItem *item );
+ void appendItemContainer();
+ void rebuildContainers();
+ enum Direction {
+ DirUp = 0,
+ DirDown,
+ DirLeft,
+ DirRight
+ };
+ QIconViewItem* findItem( Direction dir,
+ const QPoint &amp;relativeTo,
+ const QRect &amp;searchRect ) const;
+ bool neighbourItem( Direction dir,
+ const QPoint &amp;relativeTo,
+ const QIconViewItem *item ) const;
+ QBitmap mask( QPixmap *pix ) const;
+
+ QIconViewPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QIconView( const QIconView &amp; );
+ QIconView&amp; operator=( const QIconView &amp; );
+#endif
+};
+
+#endif // QT_NO_ICONVIEW
+
+#endif // QICONVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconview-m.png b/doc/html/qiconview-m.png
new file mode 100644
index 0000000..e6382da
--- /dev/null
+++ b/doc/html/qiconview-m.png
Binary files differ
diff --git a/doc/html/qiconview-members.html b/doc/html/qiconview-members.html
new file mode 100644
index 0000000..6db7614
--- /dev/null
+++ b/doc/html/qiconview-members.html
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:265 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiconview.html">QIconView</a>, including inherited members.
+
+<ul>
+<li><a href="qiconview.html#QIconView">QIconView</a>()
+<li><a href="qiconview.html#~QIconView">~QIconView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qiconview.html#adjustItems">adjustItems</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qiconview.html#arrangeItemsInGrid">arrangeItemsInGrid</a>()
+<li><a href="qiconview.html#arrangement">arrangement</a>()
+<li><a href="qiconview.html#autoArrange">autoArrange</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qiconview.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qiconview.html#clearSelection">clearSelection</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qiconview.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qiconview.html#contextMenuRequested">contextMenuRequested</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qiconview.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qiconview.html#currentChanged">currentChanged</a>()
+<li><a href="qiconview.html#currentItem">currentItem</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qiconview.html#doAutoScroll">doAutoScroll</a>()
+<li><a href="qiconview.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qiconview.html#dragObject">dragObject</a>()
+<li><a href="qiconview.html#drawBackground">drawBackground</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qiconview.html#drawRubber">drawRubber</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qiconview.html#dropped">dropped</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qiconview.html#emitSelectionChanged">emitSelectionChanged</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qiconview.html#ensureItemVisible">ensureItemVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qiconview.html#findFirstVisibleItem">findFirstVisibleItem</a>()
+<li><a href="qiconview.html#findItem">findItem</a>()
+<li><a href="qiconview.html#findLastVisibleItem">findLastVisibleItem</a>()
+<li><a href="qiconview.html#firstItem">firstItem</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qiconview.html#gridX">gridX</a>()
+<li><a href="qiconview.html#gridY">gridY</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qiconview.html#index">index</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qiconview.html#insertInGrid">insertInGrid</a>()
+<li><a href="qiconview.html#insertItem">insertItem</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qiconview.html#invertSelection">invertSelection</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qiconview.html#isRenaming">isRenaming</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qiconview.html#itemRenamed">itemRenamed</a>()
+<li><a href="qiconview.html#itemTextBackground">itemTextBackground</a>()
+<li><a href="qiconview.html#itemTextPos">itemTextPos</a>()
+<li><a href="qiconview.html#itemsMovable">itemsMovable</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qiconview.html#lastItem">lastItem</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qiconview.html#makeRowLayout">makeRowLayout</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qiconview.html#maxItemTextLength">maxItemTextLength</a>()
+<li><a href="qiconview.html#maxItemWidth">maxItemWidth</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qiconview.html#mouseButtonClicked">mouseButtonClicked</a>()
+<li><a href="qiconview.html#mouseButtonPressed">mouseButtonPressed</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qiconview.html#moved">moved</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qiconview.html#onItem">onItem</a>()
+<li><a href="qiconview.html#onViewport">onViewport</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qiconview.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qiconview.html#repaintItem">repaintItem</a>()
+<li><a href="qiconview.html#repaintSelectedItems">repaintSelectedItems</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qiconview.html#resizeMode">resizeMode</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qiconview.html#returnPressed">returnPressed</a>()
+<li><a href="qiconview.html#rightButtonClicked">rightButtonClicked</a>()
+<li><a href="qiconview.html#rightButtonPressed">rightButtonPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qiconview.html#selectAll">selectAll</a>()
+<li><a href="qiconview.html#selectionChanged">selectionChanged</a>()
+<li><a href="qiconview.html#selectionMode">selectionMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qiconview.html#setArrangement">setArrangement</a>()
+<li><a href="qiconview.html#setAutoArrange">setAutoArrange</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qiconview.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qiconview.html#setGridX">setGridX</a>()
+<li><a href="qiconview.html#setGridY">setGridY</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qiconview.html#setItemTextBackground">setItemTextBackground</a>()
+<li><a href="qiconview.html#setItemTextPos">setItemTextPos</a>()
+<li><a href="qiconview.html#setItemsMovable">setItemsMovable</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qiconview.html#setMaxItemTextLength">setMaxItemTextLength</a>()
+<li><a href="qiconview.html#setMaxItemWidth">setMaxItemWidth</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qiconview.html#setResizeMode">setResizeMode</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qiconview.html#setSelected">setSelected</a>()
+<li><a href="qiconview.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qiconview.html#setShowToolTips">setShowToolTips</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qiconview.html#setSorting">setSorting</a>()
+<li><a href="qiconview.html#setSpacing">setSpacing</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qiconview.html#setWordWrapIconText">setWordWrapIconText</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qiconview.html#showToolTips">showToolTips</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qiconview.html#slotUpdate">slotUpdate</a>()
+<li><a href="qiconview.html#sort">sort</a>()
+<li><a href="qiconview.html#sortDirection">sortDirection</a>()
+<li><a href="qiconview.html#sorting">sorting</a>()
+<li><a href="qiconview.html#spacing">spacing</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qiconview.html#startDrag">startDrag</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qiconview.html#takeItem">takeItem</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qiconview.html#wordWrapIconText">wordWrapIconText</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconview-w.png b/doc/html/qiconview-w.png
new file mode 100644
index 0000000..f26462b
--- /dev/null
+++ b/doc/html/qiconview-w.png
Binary files differ
diff --git a/doc/html/qiconview.html b/doc/html/qiconview.html
new file mode 100644
index 0000000..d619bbe
--- /dev/null
+++ b/doc/html/qiconview.html
@@ -0,0 +1,1009 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:2261 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconView Class Reference<br><small>[<a href="iconview.html">iconview module</a>]</small></h1>
+
+<p>The QIconView class provides an area with movable labelled icons.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p><a href="qiconview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#SelectionMode-enum"><b>SelectionMode</b></a> { Single = 0, Multi, Extended, NoSelection }</li>
+<li class=fn>enum <a href="#Arrangement-enum"><b>Arrangement</b></a> { LeftToRight = 0, TopToBottom }</li>
+<li class=fn>enum <a href="#ResizeMode-enum"><b>ResizeMode</b></a> { Fixed = 0, Adjust }</li>
+<li class=fn>enum <a href="#ItemTextPos-enum"><b>ItemTextPos</b></a> { Bottom = 0, Right }</li>
+<li class=fn><a href="#QIconView"><b>QIconView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>virtual <a href="#~QIconView"><b>~QIconView</b></a> ()</li>
+<li class=fn>virtual void <a href="#insertItem"><b>insertItem</b></a> ( QIconViewItem&nbsp;*&nbsp;item, QIconViewItem&nbsp;*&nbsp;after = 0L )</li>
+<li class=fn>virtual void <a href="#takeItem"><b>takeItem</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#index"><b>index</b></a> ( const&nbsp;QIconViewItem&nbsp;*&nbsp;item ) const</li>
+<li class=fn>QIconViewItem * <a href="#firstItem"><b>firstItem</b></a> () const</li>
+<li class=fn>QIconViewItem * <a href="#lastItem"><b>lastItem</b></a> () const</li>
+<li class=fn>QIconViewItem * <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( QIconViewItem&nbsp;*&nbsp;item, bool&nbsp;s, bool&nbsp;cb = FALSE )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSelectionMode"><b>setSelectionMode</b></a> ( SelectionMode&nbsp;m )</li>
+<li class=fn>SelectionMode <a href="#selectionMode"><b>selectionMode</b></a> () const</li>
+<li class=fn>QIconViewItem * <a href="#findItem"><b>findItem</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QIconViewItem * <a href="#findItem-2"><b>findItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, ComparisonFlags&nbsp;compare = BeginsWith ) const</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;select )</li>
+<li class=fn>virtual void <a href="#clearSelection"><b>clearSelection</b></a> ()</li>
+<li class=fn>virtual void <a href="#invertSelection"><b>invertSelection</b></a> ()</li>
+<li class=fn>virtual void <a href="#repaintItem"><b>repaintItem</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#repaintSelectedItems"><b>repaintSelectedItems</b></a> ()</li>
+<li class=fn>void <a href="#ensureItemVisible"><b>ensureItemVisible</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>QIconViewItem * <a href="#findFirstVisibleItem"><b>findFirstVisibleItem</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QIconViewItem * <a href="#findLastVisibleItem"><b>findLastVisibleItem</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#setGridX"><b>setGridX</b></a> ( int&nbsp;rx )</li>
+<li class=fn>virtual void <a href="#setGridY"><b>setGridY</b></a> ( int&nbsp;ry )</li>
+<li class=fn>int <a href="#gridX"><b>gridX</b></a> () const</li>
+<li class=fn>int <a href="#gridY"><b>gridY</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSpacing"><b>setSpacing</b></a> ( int&nbsp;sp )</li>
+<li class=fn>int <a href="#spacing"><b>spacing</b></a> () const</li>
+<li class=fn>virtual void <a href="#setItemTextPos"><b>setItemTextPos</b></a> ( ItemTextPos&nbsp;pos )</li>
+<li class=fn>ItemTextPos <a href="#itemTextPos"><b>itemTextPos</b></a> () const</li>
+<li class=fn>virtual void <a href="#setItemTextBackground"><b>setItemTextBackground</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>QBrush <a href="#itemTextBackground"><b>itemTextBackground</b></a> () const</li>
+<li class=fn>virtual void <a href="#setArrangement"><b>setArrangement</b></a> ( Arrangement&nbsp;am )</li>
+<li class=fn>Arrangement <a href="#arrangement"><b>arrangement</b></a> () const</li>
+<li class=fn>virtual void <a href="#setResizeMode"><b>setResizeMode</b></a> ( ResizeMode&nbsp;am )</li>
+<li class=fn>ResizeMode <a href="#resizeMode"><b>resizeMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMaxItemWidth"><b>setMaxItemWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>int <a href="#maxItemWidth"><b>maxItemWidth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMaxItemTextLength"><b>setMaxItemTextLength</b></a> ( int&nbsp;w )</li>
+<li class=fn>int <a href="#maxItemTextLength"><b>maxItemTextLength</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoArrange"><b>setAutoArrange</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#autoArrange"><b>autoArrange</b></a> () const</li>
+<li class=fn>virtual void <a href="#setShowToolTips"><b>setShowToolTips</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#showToolTips"><b>showToolTips</b></a> () const</li>
+<li class=fn>void <a href="#setSorting"><b>setSorting</b></a> ( bool&nbsp;sort, bool&nbsp;ascending = TRUE )</li>
+<li class=fn>bool <a href="#sorting"><b>sorting</b></a> () const</li>
+<li class=fn>bool <a href="#sortDirection"><b>sortDirection</b></a> () const</li>
+<li class=fn>virtual void <a href="#setItemsMovable"><b>setItemsMovable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#itemsMovable"><b>itemsMovable</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWordWrapIconText"><b>setWordWrapIconText</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#wordWrapIconText"><b>wordWrapIconText</b></a> () const</li>
+<li class=fn>virtual void <a href="#sort"><b>sort</b></a> ( bool&nbsp;ascending = TRUE )</li>
+<li class=fn>bool <a href="#isRenaming"><b>isRenaming</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#arrangeItemsInGrid"><b>arrangeItemsInGrid</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;grid, bool&nbsp;update = TRUE )</li>
+<li class=fn>virtual void <a href="#arrangeItemsInGrid-2"><b>arrangeItemsInGrid</b></a> ( bool&nbsp;update = TRUE )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#selectionChanged-2"><b>selectionChanged</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#clicked-2"><b>clicked</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#pressed-2"><b>pressed</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#doubleClicked"><b>doubleClicked</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#returnPressed"><b>returnPressed</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#rightButtonClicked"><b>rightButtonClicked</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#rightButtonPressed"><b>rightButtonPressed</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#mouseButtonPressed"><b>mouseButtonPressed</b></a> ( int&nbsp;button, QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#mouseButtonClicked"><b>mouseButtonClicked</b></a> ( int&nbsp;button, QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#contextMenuRequested"><b>contextMenuRequested</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#dropped"><b>dropped</b></a> ( QDropEvent&nbsp;*&nbsp;e, const&nbsp;QValueList&lt;QIconDragItem&gt;&nbsp;&amp;&nbsp;lst )</li>
+<li class=fn>void <a href="#moved"><b>moved</b></a> ()</li>
+<li class=fn>void <a href="#onItem"><b>onItem</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#onViewport"><b>onViewport</b></a> ()</li>
+<li class=fn>void <a href="#itemRenamed"><b>itemRenamed</b></a> ( QIconViewItem&nbsp;*&nbsp;item, const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>void <a href="#itemRenamed-2"><b>itemRenamed</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>Arrangement <a href="#arrangement-prop"><b>arrangement</b></a>&nbsp;- the arrangement mode of the icon view</li>
+<li class=fn>bool <a href="#autoArrange-prop"><b>autoArrange</b></a>&nbsp;- whether the icon view rearranges its items when a new item is inserted</li>
+<li class=fn>uint <a href="#count-prop"><b>count</b></a>&nbsp;- the number of items in the icon view &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#gridX-prop"><b>gridX</b></a>&nbsp;- the horizontal grid of the icon view</li>
+<li class=fn>int <a href="#gridY-prop"><b>gridY</b></a>&nbsp;- the vertical grid of the icon view</li>
+<li class=fn>QBrush <a href="#itemTextBackground-prop"><b>itemTextBackground</b></a>&nbsp;- the brush to use when drawing the background of an item's text</li>
+<li class=fn>ItemTextPos <a href="#itemTextPos-prop"><b>itemTextPos</b></a>&nbsp;- the position where the text of each item is drawn</li>
+<li class=fn>bool <a href="#itemsMovable-prop"><b>itemsMovable</b></a>&nbsp;- whether the user is allowed to move items around in the icon view</li>
+<li class=fn>int <a href="#maxItemTextLength-prop"><b>maxItemTextLength</b></a>&nbsp;- the maximum length (in characters) that an item's text may have</li>
+<li class=fn>int <a href="#maxItemWidth-prop"><b>maxItemWidth</b></a>&nbsp;- the maximum width that an item may have</li>
+<li class=fn>ResizeMode <a href="#resizeMode-prop"><b>resizeMode</b></a>&nbsp;- the resize mode of the icon view</li>
+<li class=fn>SelectionMode <a href="#selectionMode-prop"><b>selectionMode</b></a>&nbsp;- the selection mode of the icon view</li>
+<li class=fn>bool <a href="#showToolTips-prop"><b>showToolTips</b></a>&nbsp;- whether the icon view will display a tool tip with the complete text for any truncated item text</li>
+<li class=fn>bool <a href="#sortDirection-prop"><b>sortDirection</b></a>&nbsp;- whether the sort direction for inserting new items is ascending; &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#sorting-prop"><b>sorting</b></a>&nbsp;- whether the icon view sorts on insertion &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#spacing-prop"><b>spacing</b></a>&nbsp;- the space in pixels between icon view items</li>
+<li class=fn>bool <a href="#wordWrapIconText-prop"><b>wordWrapIconText</b></a>&nbsp;- whether the item text will be word-wrapped if it is too long</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawRubber"><b>drawRubber</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+<li class=fn>virtual QDragObject * <a href="#dragObject"><b>dragObject</b></a> ()</li>
+<li class=fn>virtual void <a href="#startDrag"><b>startDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#insertInGrid"><b>insertInGrid</b></a> ( QIconViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>virtual void <a href="#drawBackground"><b>drawBackground</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#emitSelectionChanged"><b>emitSelectionChanged</b></a> ( QIconViewItem&nbsp;*&nbsp;i = 0 )</li>
+<li class=fn>QIconViewItem * <a href="#makeRowLayout"><b>makeRowLayout</b></a> ( QIconViewItem&nbsp;*&nbsp;begin, int&nbsp;&amp;&nbsp;y, bool&nbsp;&amp;&nbsp;changed )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#doAutoScroll"><b>doAutoScroll</b></a> ()</li>
+<li class=fn>virtual void <a href="#adjustItems"><b>adjustItems</b></a> ()</li>
+<li class=fn>virtual void <a href="#slotUpdate"><b>slotUpdate</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIconView class provides an area with movable labelled icons.
+<p>
+
+
+<p> A QIconView can display and manage a grid or other 2D layout of
+labelled icons. Each labelled icon is a <a href="qiconviewitem.html">QIconViewItem</a>. Items
+(QIconViewItems) can be added or deleted at any time; items can be
+moved within the QIconView. Single or multiple items can be
+selected. Items can be renamed in-place. QIconView also supports
+<a href="#draganddrop">drag and drop</a>.
+<p> Each item contains a label string, a pixmap or picture (the icon
+itself) and optionally a sort key. The sort key is used for
+sorting the items and defaults to the label string. The label
+string can be displayed below or to the right of the icon (see <a href="#ItemTextPos-enum">ItemTextPos</a>).
+<p> The simplest way to create a QIconView is to create a QIconView
+object and create some QIconViewItems with the QIconView as their
+parent, set the icon view's geometry and show it.
+For example:
+<pre>
+ QIconView *iv = new QIconView( this );
+ <a href="qdir.html">QDir</a> dir( path, "*.xpm" );
+ for ( uint i = 0; i &lt; dir.<a href="qdir.html#count">count</a>(); i++ ) {
+ (void) new <a href="qiconviewitem.html">QIconViewItem</a>( iv, dir[i], QPixmap( path + dir[i] ) );
+ }
+ iv-&gt;<a href="qwidget.html#resize">resize</a>( 600, 400 );
+ iv-&gt;<a href="qwidget.html#show">show</a>();
+ </pre>
+
+<p> The <a href="qiconviewitem.html">QIconViewItem</a> call passes a pointer to the QIconView we wish to
+populate, along with the label text and a <a href="qpixmap.html">QPixmap</a>.
+<p> When an item is inserted the QIconView allocates a position for it.
+Existing items are rearranged if <a href="#autoArrange">autoArrange</a>() is TRUE. The
+default arrangement is <a href="#Arrangement-enum">LeftToRight</a> -- the QIconView fills up
+the <em>left-most</em> column from top to bottom, then moves one column
+<em>right</em> and fills that from top to bottom and so on. The
+arrangement can be modified with any of the following approaches:
+<ul>
+<li> Call <a href="#setArrangement">setArrangement</a>(), e.g. with <a href="#Arrangement-enum">TopToBottom</a> which will fill
+the <em>top-most</em> row from left to right, then moves one row <em>down</em>
+and fills that row from left to right and so on.
+<li> Construct each QIconViewItem using a constructor which allows
+you to specify which item the new one is to follow.
+<li> Call <a href="#setSorting">setSorting</a>() or <a href="#sort">sort</a>() to sort the items.
+</ul>
+<p> The spacing between items is set with <a href="#setSpacing">setSpacing</a>(). Items can be
+laid out using a fixed grid using <a href="#setGridX">setGridX</a>() and <a href="#setGridY">setGridY</a>(); by
+default the QIconView calculates a grid dynamically. The position
+of items' label text is set with <a href="#setItemTextPos">setItemTextPos</a>(). The text's
+background can be set with <a href="#setItemTextBackground">setItemTextBackground</a>(). The maximum
+width of an item and of its text are set with <a href="#setMaxItemWidth">setMaxItemWidth</a>()
+and <a href="#setMaxItemTextLength">setMaxItemTextLength</a>(). The label text will be word-wrapped if
+it is too long; this is controlled by <a href="#setWordWrapIconText">setWordWrapIconText</a>(). If
+the label text is truncated, the user can still see the entire
+text in a tool tip if they hover the mouse over the item. This is
+controlled with <a href="#setShowToolTips">setShowToolTips</a>().
+<p> Items which are <a href="qiconviewitem.html#isSelectable">selectable</a> may be selected depending on the SelectionMode;
+the default is <a href="#SelectionMode-enum">Single</a>. Because QIconView offers multiple
+selection it must display <a href="focus.html#keyboard-focus">keyboard focus</a> and selection state
+separately. Therefore there are functions to set the selection
+state of an item (<a href="#setSelected">setSelected</a>()) and to select which item displays
+keyboard focus (<a href="#setCurrentItem">setCurrentItem</a>()). When multiple items may be
+selected the icon view provides a rubberband, too.
+<p> When in-place renaming is enabled (it is disabled by default), the
+user may change the item's label. They do this by selecting the item
+(single clicking it or navigating to it with the arrow keys), then
+single clicking it (or pressing F2), and entering their text. If no
+key has been set with <a href="qiconviewitem.html#setKey">QIconViewItem::setKey</a>() the new text will also
+serve as the key. (See <a href="qiconviewitem.html#setRenameEnabled">QIconViewItem::setRenameEnabled</a>().)
+<p> You can control whether users can move items themselves with
+<a href="#setItemsMovable">setItemsMovable</a>().
+<p> Because the internal structure used to store the icon view items is
+linear, no iterator class is needed to iterate over all the items.
+Instead we iterate by getting the first item from the <em>icon view</em>
+and then each subsequent (<a href="qiconviewitem.html#nextItem">QIconViewItem::nextItem</a>()) from each
+<em>item</em> in turn:
+<pre>
+ for ( <a href="qiconviewitem.html">QIconViewItem</a> *item = iv-&gt;firstItem(); item; item = item-&gt;<a href="qiconviewitem.html#nextItem">nextItem</a>() )
+ do_something( item );
+ </pre>
+
+QIconView also provides <a href="#currentItem">currentItem</a>(). You can search for an item
+using <a href="#findItem">findItem</a>() (searching by position or for label text) and
+with <a href="#findFirstVisibleItem">findFirstVisibleItem</a>() and <a href="#findLastVisibleItem">findLastVisibleItem</a>(). The number
+of items is returned by <a href="#count">count</a>(). An item can be removed from an
+icon view using <a href="#takeItem">takeItem</a>(); to delete an item use <tt>delete</tt>. All
+the items can be deleted with <a href="#clear">clear</a>().
+<p> The QIconView emits a wide range of useful signals, including
+<a href="#selectionChanged">selectionChanged</a>(), <a href="#currentChanged">currentChanged</a>(), <a href="#clicked">clicked</a>(), <a href="#moved">moved</a>() and
+<a href="#itemRenamed">itemRenamed</a>().
+<p> <a name="draganddrop"></a>
+<h3> Drag and Drop
+</h3>
+<a name="1"></a><p> QIconView supports the drag and drop of items within the QIconView
+itself. It also supports the drag and drop of items out of or into
+the QIconView and drag and drop onto items themselves. The drag and
+drop of items outside the QIconView can be achieved in a simple way
+with basic functionality, or in a more sophisticated way which
+provides more power and control.
+<p> The simple approach to dragging items out of the icon view is to
+subclass QIconView and reimplement <a href="#dragObject">QIconView::dragObject</a>().
+<p> <pre>
+ QDragObject *MyIconView::dragObject()
+ {
+ return new <a href="qtextdrag.html">QTextDrag</a>( <a href="#currentItem">currentItem</a>()-&gt;text(), this );
+ }
+ </pre>
+
+<p> In this example we create a <a href="qtextdrag.html">QTextDrag</a> object, (derived from
+<a href="qdragobject.html">QDragObject</a>), containing the item's label and return it as the drag
+object. We could just as easily have created a <a href="qimagedrag.html">QImageDrag</a> from the
+item's pixmap and returned that instead.
+<p> QIconViews and their QIconViewItems can also be the targets of drag
+and drops. To make the QIconView itself able to accept drops connect
+to the <a href="#dropped">dropped</a>() signal. When a drop occurs this signal will be
+emitted with a QDragEvent and a <a href="qvaluelist.html">QValueList</a> of QIconDragItems. To
+make a <a href="qiconviewitem.html">QIconViewItem</a> into a drop target subclass QIconViewItem and
+reimplement <a href="qiconviewitem.html#acceptDrop">QIconViewItem::acceptDrop</a>() and
+<a href="qiconviewitem.html#dropped">QIconViewItem::dropped</a>().
+<p> <pre>
+ bool MyIconViewItem::acceptDrop( const <a href="qmimesource.html">QMimeSource</a> *mime ) const
+ {
+ if ( mime-&gt;<a href="qmimesource.html#provides">provides</a>( "text/plain" ) )
+ return TRUE;
+ return FALSE;
+ }
+
+ void MyIconViewItem::dropped( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; )
+ {
+ <a href="qstring.html">QString</a> label;
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, label ) )
+ setText( label );
+ }
+ </pre>
+
+<p> See <a href="iconview-simple_dd-main-h.html">iconview/simple_dd/main.h</a> and <a href="iconview-simple_dd-main-cpp.html">iconview/simple_dd/main.cpp</a> for a simple drag and drop example
+which demonstrates drag and drop between a QIconView and a
+<a href="qlistbox.html">QListBox</a>.
+<p> If you want to use extended drag-and-drop or have drag shapes drawn
+you must take a more sophisticated approach.
+<p> The first part is starting drags -- you should use a <a href="qicondrag.html">QIconDrag</a> (or a
+class derived from it) for the drag object. In <a href="#dragObject">dragObject</a>() create the
+drag object, populate it with QIconDragItems and return it. Normally
+such a drag should offer each selected item's data. So in dragObject()
+you should iterate over all the items, and create a <a href="qicondragitem.html">QIconDragItem</a> for
+each selected item, and append these items with <a href="qicondrag.html#append">QIconDrag::append</a>() to
+the QIconDrag object. You can use <a href="qicondragitem.html#setData">QIconDragItem::setData</a>() to set the
+data of each item that should be dragged. If you want to offer the
+data in additional mime-types, it's best to use a class derived from
+QIconDrag, which implements additional encoding and decoding
+functions.
+<p> When a drag enters the icon view, there is little to do. Simply
+connect to the <a href="#dropped">dropped</a>() signal and reimplement
+<a href="qiconviewitem.html#acceptDrop">QIconViewItem::acceptDrop</a>() and <a href="qiconviewitem.html#dropped">QIconViewItem::dropped</a>(). If you've
+used a <a href="qicondrag.html">QIconDrag</a> (or a subclass of it) the second argument to the
+dropped signal contains a <a href="qvaluelist.html">QValueList</a> of QIconDragItems -- you can
+access their data by calling <a href="qicondragitem.html#data">QIconDragItem::data</a>() on each one.
+<p> For an example implementation of complex drag-and-drop look at the
+fileiconview example (qt/examples/fileiconview).
+<p> <p>See also <a href="qiconviewitem.html#setDragEnabled">QIconViewItem::setDragEnabled</a>(), <a href="qiconviewitem.html#setDropEnabled">QIconViewItem::setDropEnabled</a>(), <a href="qiconviewitem.html#acceptDrop">QIconViewItem::acceptDrop</a>(), <a href="qiconviewitem.html#dropped">QIconViewItem::dropped</a>(), and <a href="advanced.html">Advanced Widgets</a>.
+
+<p> <img src=qiconview-m.png> <img src=qiconview-w.png>
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Arrangement-enum"></a>QIconView::Arrangement</h3>
+
+<p> This enum type determines in which direction the items flow when
+the view runs out of space.
+<ul>
+<li><tt>QIconView::LeftToRight</tt> - Items which don't fit into the view cause the
+viewport to extend vertically (you get a vertical scrollbar).
+<li><tt>QIconView::TopToBottom</tt> - Items which don't fit into the view cause the
+viewport to extend horizontally (you get a horizontal scrollbar).
+</ul>
+<h3 class=fn><a name="ItemTextPos-enum"></a>QIconView::ItemTextPos</h3>
+
+<p> This enum type specifies the position of the item text in relation
+to the icon.
+<ul>
+<li><tt>QIconView::Bottom</tt> - The text is drawn below the icon.
+<li><tt>QIconView::Right</tt> - The text is drawn to the right of the icon.
+</ul>
+<h3 class=fn><a name="ResizeMode-enum"></a>QIconView::ResizeMode</h3>
+<p> This enum type is used to tell QIconView how it should treat the
+positions of its icons when the widget is resized. The modes are:
+<ul>
+<li><tt>QIconView::Fixed</tt> - The icons' positions are not changed.
+<li><tt>QIconView::Adjust</tt> - The icons' positions are adjusted to be within the
+new geometry, if possible.
+</ul>
+<h3 class=fn><a name="SelectionMode-enum"></a>QIconView::SelectionMode</h3>
+
+<p> This enumerated type is used by QIconView to indicate how it
+reacts to selection by the user. It has four values:
+<ul>
+<li><tt>QIconView::Single</tt> - When the user selects an item, any already-selected
+item becomes unselected and the user cannot unselect the selected
+item. This means that the user can never clear the selection. (The
+application programmer can, using <a href="#clearSelection">QIconView::clearSelection</a>().)
+<li><tt>QIconView::Multi</tt> - When the user selects an item, e.g. by navigating
+to it with the keyboard arrow keys or by clicking it, the
+selection status of that item is toggled and the other items are
+left alone. Also, multiple items can be selected by dragging the
+mouse while the left mouse button stays pressed.
+<li><tt>QIconView::Extended</tt> - When the user selects an item the selection is
+cleared and the new item selected. However, if the user presses
+the Ctrl key when clicking on an item, the clicked item gets
+toggled and all other items are left untouched. If the user
+presses the Shift key while clicking on an item, all items between
+the current item and the clicked item get selected or unselected,
+depending on the state of the clicked item. Also, multiple items
+can be selected by dragging the mouse while the left mouse button
+stays pressed.
+<li><tt>QIconView::NoSelection</tt> - Items cannot be selected.
+</ul><p> To summarise: <a href="#SelectionMode-enum">Single</a> is a real single-selection icon view; <a href="#SelectionMode-enum">Multi</a> a real multi-selection icon view; <a href="#SelectionMode-enum">Extended</a> is an icon
+view in which users can select multiple items but usually want to
+select either just one or a range of contiguous items; and <a href="#SelectionMode-enum">NoSelection</a> mode is for an icon view where the user can look but
+not touch.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconView"></a>QIconView::QIconView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an empty icon view called <em>name</em>, with parent <em>parent</em> and using the widget flags <em>f</em>.
+
+<h3 class=fn><a name="~QIconView"></a>QIconView::~QIconView ()<tt> [virtual]</tt>
+</h3>
+Destroys the icon view and deletes all items.
+
+<h3 class=fn>void <a name="adjustItems"></a>QIconView::adjustItems ()<tt> [virtual protected slot]</tt>
+</h3>
+Adjusts the positions of the items to the geometry of the icon
+view.
+
+<h3 class=fn>void <a name="arrangeItemsInGrid"></a>QIconView::arrangeItemsInGrid ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;grid, bool&nbsp;update = TRUE )<tt> [virtual slot]</tt>
+</h3>
+This variant uses <em>grid</em> instead of (<a href="#gridX">gridX</a>(), <a href="#gridY">gridY</a>()). If <em>grid</em> is invalid (see <a href="qsize.html#isValid">QSize::isValid</a>()), <a href="#arrangeItemsInGrid">arrangeItemsInGrid</a>()
+calculates a valid grid itself and uses that.
+<p> If <em>update</em> is TRUE (the default) the viewport is repainted.
+
+<p>Example: <a href="fileiconview-example.html#x807">fileiconview/qfileiconview.h</a>.
+<h3 class=fn>void <a name="arrangeItemsInGrid-2"></a>QIconView::arrangeItemsInGrid ( bool&nbsp;update = TRUE )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Arranges all the items in the grid given by <a href="#gridX">gridX</a>() and <a href="#gridY">gridY</a>().
+<p> Even if <a href="#sorting">sorting</a>() is enabled, the items are not sorted by this
+function. If you want to sort or rearrange the items, use
+iconview->sort(iconview->sortDirection()).
+<p> If <em>update</em> is TRUE (the default), the viewport is repainted as
+well.
+<p> <p>See also <a href="#gridX-prop">QIconView::gridX</a>, <a href="#gridY-prop">QIconView::gridY</a>, and <a href="#sort">QIconView::sort</a>().
+
+<h3 class=fn><a href="qiconview.html#Arrangement-enum">Arrangement</a> <a name="arrangement"></a>QIconView::arrangement () const
+</h3><p>Returns the arrangement mode of the icon view.
+See the <a href="qiconview.html#arrangement-prop">"arrangement"</a> property for details.
+<h3 class=fn>bool <a name="autoArrange"></a>QIconView::autoArrange () const
+</h3><p>Returns TRUE if the icon view rearranges its items when a new item is inserted; otherwise returns FALSE.
+See the <a href="qiconview.html#autoArrange-prop">"autoArrange"</a> property for details.
+<h3 class=fn>void <a name="clear"></a>QIconView::clear ()<tt> [virtual]</tt>
+</h3>
+Clears the icon view. All items are deleted.
+
+<h3 class=fn>void <a name="clearSelection"></a>QIconView::clearSelection ()<tt> [virtual]</tt>
+</h3>
+Unselects all the items.
+
+<h3 class=fn>void <a name="clicked"></a>QIconView::clicked ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks any mouse button. If
+<em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null,
+the mouse cursor isn't on any item.
+<p> <p>See also <a href="#mouseButtonClicked">mouseButtonClicked</a>(), <a href="#rightButtonClicked">rightButtonClicked</a>(), and <a href="#pressed">pressed</a>().
+
+<h3 class=fn>void <a name="clicked-2"></a>QIconView::clicked ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user clicks any mouse button on an
+icon view item. <em>item</em> is a pointer to the item that has been
+clicked.
+<p> <em>pos</em> is the position of the mouse cursor in the global coordinate
+system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's press and release
+differ by a pixel or two, <em>pos</em> is the position at release time.)
+<p> <p>See also <a href="#mouseButtonClicked">mouseButtonClicked</a>(), <a href="#rightButtonClicked">rightButtonClicked</a>(), and <a href="#pressed">pressed</a>().
+
+<h3 class=fn>void <a name="contextMenuRequested"></a>QIconView::contextMenuRequested ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user invokes a context menu with
+the right mouse button or with special system keys, with <em>item</em>
+being the item under the mouse cursor or the current item,
+respectively.
+<p> <em>pos</em> is the position for the context menu in the global
+coordinate system.
+
+<h3 class=fn>uint <a name="count"></a>QIconView::count () const
+</h3><p>Returns the number of items in the icon view.
+See the <a href="qiconview.html#count-prop">"count"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QIconView::currentChanged ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a new item becomes current. <em>item</em> is
+the new current item (or 0 if no item is now current).
+<p> <p>See also <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="currentItem"></a>QIconView::currentItem () const
+</h3>
+Returns a pointer to the current item of the icon view, or 0 if no
+item is current.
+<p> <p>See also <a href="#setCurrentItem">setCurrentItem</a>(), <a href="#firstItem">firstItem</a>(), and <a href="#lastItem">lastItem</a>().
+
+<h3 class=fn>void <a name="doAutoScroll"></a>QIconView::doAutoScroll ()<tt> [virtual protected slot]</tt>
+</h3>
+Performs autoscrolling when selecting multiple icons with the
+rubber band.
+
+<h3 class=fn>void <a name="doubleClicked"></a>QIconView::doubleClicked ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user double-clicks on <em>item</em>.
+
+<h3 class=fn><a href="qdragobject.html">QDragObject</a>&nbsp;* <a name="dragObject"></a>QIconView::dragObject ()<tt> [virtual protected]</tt>
+</h3>
+Returns the <a href="qdragobject.html">QDragObject</a> that should be used for drag-and-drop.
+This function is called by the icon view when starting a drag to
+get the dragobject that should be used for the drag. Subclasses
+may reimplement this.
+<p> <p>See also <a href="qicondrag.html">QIconDrag</a>.
+
+<p>Examples: <a href="fileiconview-example.html#x834">fileiconview/qfileiconview.cpp</a> and <a href="simple_dd-example.html#x2820">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="drawBackground"></a>QIconView::drawBackground ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual protected]</tt>
+</h3>
+This function is called to draw the rectangle <em>r</em> of the
+background using the painter <em>p</em>.
+<p> The default implementation fills <em>r</em> with the viewport's
+<a href="qwidget.html#backgroundBrush">backgroundBrush</a>(). Subclasses may reimplement this to draw custom
+backgrounds.
+<p> <p>See also <a href="qscrollview.html#contentsX-prop">contentsX</a>, <a href="qscrollview.html#contentsY-prop">contentsY</a>, and <a href="qscrollview.html#drawContents">drawContents</a>().
+
+<h3 class=fn>void <a name="drawRubber"></a>QIconView::drawRubber ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the rubber band using the painter <em>p</em>.
+
+<h3 class=fn>void <a name="dropped"></a>QIconView::dropped ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e, const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&nbsp;&amp;&nbsp;lst )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a drop event occurs in the viewport
+(but not on any icon) which the icon view itself can't handle.
+<p> <em>e</em> provides all the information about the drop. If the drag
+object of the drop was a <a href="qicondrag.html">QIconDrag</a>, <em>lst</em> contains the list of
+the dropped items. You can get the data using
+<a href="qicondragitem.html#data">QIconDragItem::data</a>() on each item. If the <em>lst</em> is empty, i.e.
+the drag was not a QIconDrag, you have to decode the data in <em>e</em>
+and work with that.
+<p> Note QIconViewItems may be drop targets; if a drop event occurs on
+an item the item handles the drop.
+
+<p>Examples: <a href="iconview-example.html#x1455">iconview/main.cpp</a> and <a href="simple_dd-example.html#x2821">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="emitSelectionChanged"></a>QIconView::emitSelectionChanged ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;i = 0 )<tt> [protected]</tt>
+</h3>
+Emits a signal to indicate selection changes. <em>i</em> is the
+<a href="qiconviewitem.html">QIconViewItem</a> that was selected or de-selected.
+<p> <em>You should never need to call this function.</em>
+
+<h3 class=fn>void <a name="ensureItemVisible"></a>QIconView::ensureItemVisible ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )
+</h3>
+Makes sure that <em>item</em> is entirely visible. If necessary,
+<a href="#ensureItemVisible">ensureItemVisible</a>() scrolls the icon view.
+<p> <p>See also <a href="qscrollview.html#ensureVisible">ensureVisible</a>().
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="findFirstVisibleItem"></a>QIconView::findFirstVisibleItem ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Finds the first item whose bounding rectangle overlaps <em>r</em> and
+returns a pointer to that item. <em>r</em> is given in content
+coordinates. Returns 0 if no item overlaps <em>r</em>.
+<p> If you want to find all items that touch <em>r</em>, you will need to
+use this function and nextItem() in a loop ending at
+<a href="#findLastVisibleItem">findLastVisibleItem</a>() and test <a href="qiconviewitem.html#rect">QIconViewItem::rect</a>() for each of
+these items.
+<p> <p>See also <a href="#findLastVisibleItem">findLastVisibleItem</a>() and <a href="qiconviewitem.html#rect">QIconViewItem::rect</a>().
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="findItem"></a>QIconView::findItem ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Returns a pointer to the item that contains point <em>pos</em>, which is
+given in contents coordinates, or 0 if no item contains point <em>pos</em>.
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="findItem-2"></a>QIconView::findItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, ComparisonFlags&nbsp;compare = BeginsWith ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a pointer to the first item whose text begins with <em>text</em>, or 0 if no such item could be found. Use the <em>compare</em> flag
+to control the comparison behaviour. (See <a href="qt.html#StringComparisonMode-enum">Qt::StringComparisonMode</a>.)
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="findLastVisibleItem"></a>QIconView::findLastVisibleItem ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Finds the last item whose bounding rectangle overlaps <em>r</em> and
+returns a pointer to that item. <em>r</em> is given in content
+coordinates. Returns 0 if no item overlaps <em>r</em>.
+<p> <p>See also <a href="#findFirstVisibleItem">findFirstVisibleItem</a>().
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="firstItem"></a>QIconView::firstItem () const
+</h3>
+Returns a pointer to the first item of the icon view, or 0 if
+there are no items in the icon view.
+<p> <p>See also <a href="#lastItem">lastItem</a>() and <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>int <a name="gridX"></a>QIconView::gridX () const
+</h3><p>Returns the horizontal grid of the icon view.
+See the <a href="qiconview.html#gridX-prop">"gridX"</a> property for details.
+<h3 class=fn>int <a name="gridY"></a>QIconView::gridY () const
+</h3><p>Returns the vertical grid of the icon view.
+See the <a href="qiconview.html#gridY-prop">"gridY"</a> property for details.
+<h3 class=fn>int <a name="index"></a>QIconView::index ( const&nbsp;<a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item ) const
+</h3>
+Returns the index of <em>item</em>, or -1 if <em>item</em> doesn't exist in
+this icon view.
+
+<h3 class=fn>void <a name="insertInGrid"></a>QIconView::insertInGrid ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+Inserts the <a href="qiconviewitem.html">QIconViewItem</a> <em>item</em> in the icon view's grid. <em>You should never need to call this function.</em> Instead, insert
+QIconViewItems by creating them with a pointer to the QIconView
+that they are to be inserted into.
+
+<h3 class=fn>void <a name="insertItem"></a>QIconView::insertItem ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;after = 0L )<tt> [virtual]</tt>
+</h3>
+Inserts the icon view item <em>item</em> after <em>after</em>. If <em>after</em> is
+0, <em>item</em> is appended after the last item.
+<p> <em>You should never need to call this function.</em> Instead create
+<a href="qiconviewitem.html">QIconViewItem</a>'s and associate them with your icon view like this:
+<p> <pre>
+ (void) new <a href="qiconviewitem.html">QIconViewItem</a>( myIconview, "The text of the item", aPixmap );
+ </pre>
+
+
+<h3 class=fn>void <a name="invertSelection"></a>QIconView::invertSelection ()<tt> [virtual]</tt>
+</h3>
+Inverts the selection. Works only in Multi and Extended selection
+mode.
+
+<h3 class=fn>bool <a name="isRenaming"></a>QIconView::isRenaming () const
+</h3>
+Returns TRUE if an iconview item is being renamed; otherwise
+returns FALSE.
+
+<h3 class=fn>void <a name="itemRenamed"></a>QIconView::itemRenamed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <em>item</em> has been renamed to <em>name</em>,
+usually by in-place renaming.
+<p> <p>See also <a href="qiconviewitem.html#setRenameEnabled">QIconViewItem::setRenameEnabled</a>() and <a href="qiconviewitem.html#rename">QIconViewItem::rename</a>().
+
+<h3 class=fn>void <a name="itemRenamed-2"></a>QIconView::itemRenamed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when <em>item</em> has been renamed, usually by
+in-place renaming.
+<p> <p>See also <a href="qiconviewitem.html#setRenameEnabled">QIconViewItem::setRenameEnabled</a>() and <a href="qiconviewitem.html#rename">QIconViewItem::rename</a>().
+
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="itemTextBackground"></a>QIconView::itemTextBackground () const
+</h3><p>Returns the brush to use when drawing the background of an item's text.
+See the <a href="qiconview.html#itemTextBackground-prop">"itemTextBackground"</a> property for details.
+<h3 class=fn><a href="qiconview.html#ItemTextPos-enum">ItemTextPos</a> <a name="itemTextPos"></a>QIconView::itemTextPos () const
+</h3><p>Returns the position where the text of each item is drawn.
+See the <a href="qiconview.html#itemTextPos-prop">"itemTextPos"</a> property for details.
+<h3 class=fn>bool <a name="itemsMovable"></a>QIconView::itemsMovable () const
+</h3><p>Returns TRUE if the user is allowed to move items around in the icon view; otherwise returns FALSE.
+See the <a href="qiconview.html#itemsMovable-prop">"itemsMovable"</a> property for details.
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="lastItem"></a>QIconView::lastItem () const
+</h3>
+Returns a pointer to the last item of the icon view, or 0 if there
+are no items in the icon view.
+<p> <p>See also <a href="#firstItem">firstItem</a>() and <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="makeRowLayout"></a>QIconView::makeRowLayout ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;begin, int&nbsp;&amp;&nbsp;y, bool&nbsp;&amp;&nbsp;changed )<tt> [protected]</tt>
+</h3>
+Lays out a row of icons (if Arrangement == <a href="#Arrangement-enum">TopToBottom</a> this is
+a column). Starts laying out with the item <em>begin</em>. <em>y</em> is the
+starting coordinate. Returns the last item of the row (column) and
+sets the new starting coordinate to <em>y</em>. The <em>changed</em> parameter
+is used internally.
+<p> <b>Warning:</b> This function may be made private in a future version of
+Qt. We do not recommend calling it.
+
+<h3 class=fn>int <a name="maxItemTextLength"></a>QIconView::maxItemTextLength () const
+</h3><p>Returns the maximum length (in characters) that an item's text may have.
+See the <a href="qiconview.html#maxItemTextLength-prop">"maxItemTextLength"</a> property for details.
+<h3 class=fn>int <a name="maxItemWidth"></a>QIconView::maxItemWidth () const
+</h3><p>Returns the maximum width that an item may have.
+See the <a href="qiconview.html#maxItemWidth-prop">"maxItemWidth"</a> property for details.
+<h3 class=fn>void <a name="mouseButtonClicked"></a>QIconView::mouseButtonClicked ( int&nbsp;button, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks mouse button <em>button</em>. If <em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's
+press and release differ by a pixel or two, <em>pos</em> is the
+position at release time.)
+<p> <p>See also <a href="#mouseButtonPressed">mouseButtonPressed</a>(), <a href="#rightButtonClicked">rightButtonClicked</a>(), and <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="mouseButtonPressed"></a>QIconView::mouseButtonPressed ( int&nbsp;button, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses mouse button <em>button</em>. If <em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()).
+<p> <p>See also <a href="#rightButtonClicked">rightButtonClicked</a>() and <a href="#pressed">pressed</a>().
+
+<h3 class=fn>void <a name="moved"></a>QIconView::moved ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after successfully dropping one (or more)
+items of the icon view. If the items should be removed, it's best
+to do so in a slot connected to this signal.
+
+<p>Example: <a href="iconview-example.html#x1456">iconview/main.cpp</a>.
+<h3 class=fn>void <a name="onItem"></a>QIconView::onItem ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor onto
+an <em>item</em>, similar to the <a href="qwidget.html#enterEvent">QWidget::enterEvent</a>() function.
+
+<h3 class=fn>void <a name="onViewport"></a>QIconView::onViewport ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor from
+an item to an empty part of the icon view.
+<p> <p>See also <a href="#onItem">onItem</a>().
+
+<h3 class=fn>void <a name="pressed"></a>QIconView::pressed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses any mouse button. If
+<em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null,
+the mouse cursor isn't on any item.
+<p> <p>See also <a href="#mouseButtonPressed">mouseButtonPressed</a>(), <a href="#rightButtonPressed">rightButtonPressed</a>(), and <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="pressed-2"></a>QIconView::pressed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user presses any mouse button. If
+<em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null,
+the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's
+press and release differ by a pixel or two, <em>pos</em> is the
+position at release time.)
+<p> <p>See also <a href="#mouseButtonPressed">mouseButtonPressed</a>(), <a href="#rightButtonPressed">rightButtonPressed</a>(), and <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="repaintItem"></a>QIconView::repaintItem ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Repaints the <em>item</em>.
+
+<h3 class=fn>void <a name="repaintSelectedItems"></a>QIconView::repaintSelectedItems ()
+</h3>
+Repaints the selected items.
+
+<h3 class=fn><a href="qiconview.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode"></a>QIconView::resizeMode () const
+</h3><p>Returns the resize mode of the icon view.
+See the <a href="qiconview.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="returnPressed"></a>QIconView::returnPressed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the user presses the Return or Enter
+key. <em>item</em> is the <a href="#currentItem">currentItem</a>() at the time of the keypress.
+
+<h3 class=fn>void <a name="rightButtonClicked"></a>QIconView::rightButtonClicked ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks the right mouse
+button. If <em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's
+press and release differ by a pixel or two, <em>pos</em> is the
+position at release time.)
+<p> <p>See also <a href="#rightButtonPressed">rightButtonPressed</a>(), <a href="#mouseButtonClicked">mouseButtonClicked</a>(), and <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="rightButtonPressed"></a>QIconView::rightButtonPressed ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses the right mouse
+button. If <em>item</em> is non-null, the cursor is on <em>item</em>. If <em>item</em> is null, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()).
+
+<h3 class=fn>void <a name="selectAll"></a>QIconView::selectAll ( bool&nbsp;select )<tt> [virtual]</tt>
+</h3>
+In Multi and Extended modes, this function sets all items to be
+selected if <em>select</em> is TRUE, and to be unselected if <em>select</em>
+is FALSE.
+<p> In Single and NoSelection modes, this function only changes the
+selection status of <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="selectionChanged"></a>QIconView::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the selection has been changed. It's
+emitted in each selection mode.
+
+<h3 class=fn>void <a name="selectionChanged-2"></a>QIconView::selectionChanged ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the selection changes. <em>item</em> is the
+newly selected item. This signal is emitted only in single
+selection mode.
+
+<h3 class=fn><a href="qiconview.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode"></a>QIconView::selectionMode () const
+</h3><p>Returns the selection mode of the icon view.
+See the <a href="qiconview.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setArrangement"></a>QIconView::setArrangement ( <a href="qiconview.html#Arrangement-enum">Arrangement</a>&nbsp;am )<tt> [virtual]</tt>
+</h3><p>Sets the arrangement mode of the icon view to <em>am</em>.
+See the <a href="qiconview.html#arrangement-prop">"arrangement"</a> property for details.
+<h3 class=fn>void <a name="setAutoArrange"></a>QIconView::setAutoArrange ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the icon view rearranges its items when a new item is inserted to <em>b</em>.
+See the <a href="qiconview.html#autoArrange-prop">"autoArrange"</a> property for details.
+<h3 class=fn>void <a name="setCurrentItem"></a>QIconView::setCurrentItem ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Makes <em>item</em> the new current item of the icon view.
+
+<h3 class=fn>void <a name="setGridX"></a>QIconView::setGridX ( int&nbsp;rx )<tt> [virtual]</tt>
+</h3><p>Sets the horizontal grid of the icon view to <em>rx</em>.
+See the <a href="qiconview.html#gridX-prop">"gridX"</a> property for details.
+<h3 class=fn>void <a name="setGridY"></a>QIconView::setGridY ( int&nbsp;ry )<tt> [virtual]</tt>
+</h3><p>Sets the vertical grid of the icon view to <em>ry</em>.
+See the <a href="qiconview.html#gridY-prop">"gridY"</a> property for details.
+<h3 class=fn>void <a name="setItemTextBackground"></a>QIconView::setItemTextBackground ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets the brush to use when drawing the background of an item's text to <em>b</em>.
+See the <a href="qiconview.html#itemTextBackground-prop">"itemTextBackground"</a> property for details.
+<h3 class=fn>void <a name="setItemTextPos"></a>QIconView::setItemTextPos ( <a href="qiconview.html#ItemTextPos-enum">ItemTextPos</a>&nbsp;pos )<tt> [virtual]</tt>
+</h3><p>Sets the position where the text of each item is drawn to <em>pos</em>.
+See the <a href="qiconview.html#itemTextPos-prop">"itemTextPos"</a> property for details.
+<h3 class=fn>void <a name="setItemsMovable"></a>QIconView::setItemsMovable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the user is allowed to move items around in the icon view to <em>b</em>.
+See the <a href="qiconview.html#itemsMovable-prop">"itemsMovable"</a> property for details.
+<h3 class=fn>void <a name="setMaxItemTextLength"></a>QIconView::setMaxItemTextLength ( int&nbsp;w )<tt> [virtual]</tt>
+</h3><p>Sets the maximum length (in characters) that an item's text may have to <em>w</em>.
+See the <a href="qiconview.html#maxItemTextLength-prop">"maxItemTextLength"</a> property for details.
+<h3 class=fn>void <a name="setMaxItemWidth"></a>QIconView::setMaxItemWidth ( int&nbsp;w )<tt> [virtual]</tt>
+</h3><p>Sets the maximum width that an item may have to <em>w</em>.
+See the <a href="qiconview.html#maxItemWidth-prop">"maxItemWidth"</a> property for details.
+<h3 class=fn>void <a name="setResizeMode"></a>QIconView::setResizeMode ( <a href="qiconview.html#ResizeMode-enum">ResizeMode</a>&nbsp;am )<tt> [virtual]</tt>
+</h3><p>Sets the resize mode of the icon view to <em>am</em>.
+See the <a href="qiconview.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="setSelected"></a>QIconView::setSelected ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item, bool&nbsp;s, bool&nbsp;cb = FALSE )<tt> [virtual]</tt>
+</h3>
+Selects or unselects <em>item</em> depending on <em>s</em>, and may also
+unselect other items, depending on <a href="#selectionMode">QIconView::selectionMode</a>() and
+<em>cb</em>.
+<p> If <em>s</em> is FALSE, <em>item</em> is unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <a href="#SelectionMode-enum">Single</a>, <em>item</em> is selected, and the item which was selected is unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <a href="#SelectionMode-enum">Extended</a>, <em>item</em> is selected. If <em>cb</em> is TRUE, the selection state of the
+icon view's other items is left unchanged. If <em>cb</em> is FALSE (the
+default) all other items are unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <a href="#SelectionMode-enum">Multi</a> <em>item</em>
+is selected.
+<p> Note that <em>cb</em> is used only if QIconView::selectionMode() is <a href="#SelectionMode-enum">Extended</a>. <em>cb</em> defaults to FALSE.
+<p> All items whose selection status is changed repaint themselves.
+
+<h3 class=fn>void <a name="setSelectionMode"></a>QIconView::setSelectionMode ( <a href="qiconview.html#SelectionMode-enum">SelectionMode</a>&nbsp;m )<tt> [virtual]</tt>
+</h3><p>Sets the selection mode of the icon view to <em>m</em>.
+See the <a href="qiconview.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setShowToolTips"></a>QIconView::setShowToolTips ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the icon view will display a tool tip with the complete text for any truncated item text to <em>b</em>.
+See the <a href="qiconview.html#showToolTips-prop">"showToolTips"</a> property for details.
+<h3 class=fn>void <a name="setSorting"></a>QIconView::setSorting ( bool&nbsp;sort, bool&nbsp;ascending = TRUE )
+</h3>
+If <em>sort</em> is TRUE, this function sets the icon view to sort items
+when a new item is inserted. If <em>sort</em> is FALSE, the icon view
+will not be sorted.
+<p> Note that <a href="#autoArrange">autoArrange</a>() must be TRUE for sorting to take place.
+<p> If <em>ascending</em> is TRUE (the default), items are sorted in
+ascending order. If <em>ascending</em> is FALSE, items are sorted in
+descending order.
+<p> <a href="qiconviewitem.html#compare">QIconViewItem::compare</a>() is used to compare pairs of items. The
+sorting is based on the items' keys; these default to the items'
+text unless specifically set to something else.
+<p> <p>See also <a href="#autoArrange-prop">QIconView::autoArrange</a>, <a href="#autoArrange-prop">QIconView::autoArrange</a>, <a href="#sortDirection-prop">sortDirection</a>, <a href="#sort">sort</a>(), and <a href="qiconviewitem.html#setKey">QIconViewItem::setKey</a>().
+
+<h3 class=fn>void <a name="setSpacing"></a>QIconView::setSpacing ( int&nbsp;sp )<tt> [virtual]</tt>
+</h3><p>Sets the space in pixels between icon view items to <em>sp</em>.
+See the <a href="qiconview.html#spacing-prop">"spacing"</a> property for details.
+<h3 class=fn>void <a name="setWordWrapIconText"></a>QIconView::setWordWrapIconText ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether the item text will be word-wrapped if it is too long to <em>b</em>.
+See the <a href="qiconview.html#wordWrapIconText-prop">"wordWrapIconText"</a> property for details.
+<h3 class=fn>bool <a name="showToolTips"></a>QIconView::showToolTips () const
+</h3><p>Returns TRUE if the icon view will display a tool tip with the complete text for any truncated item text; otherwise returns FALSE.
+See the <a href="qiconview.html#showToolTips-prop">"showToolTips"</a> property for details.
+<h3 class=fn>void <a name="slotUpdate"></a>QIconView::slotUpdate ()<tt> [virtual protected slot]</tt>
+</h3>
+This slot is used for a slightly-delayed update.
+<p> The icon view is not redrawn immediately after inserting a new item
+but after a very small delay using a <a href="qtimer.html">QTimer</a>. This means that when
+many items are inserted in a loop the icon view is probably redrawn
+only once at the end of the loop. This makes the insertions both
+flicker-free and faster.
+
+<h3 class=fn>void <a name="sort"></a>QIconView::sort ( bool&nbsp;ascending = TRUE )<tt> [virtual]</tt>
+</h3>
+Sorts and rearranges all the items in the icon view. If <em>ascending</em> is TRUE, the items are sorted in increasing order,
+otherwise they are sorted in decreasing order.
+<p> <a href="qiconviewitem.html#compare">QIconViewItem::compare</a>() is used to compare pairs of items. The
+sorting is based on the items' keys; these default to the items'
+text unless specifically set to something else.
+<p> Note that this function sets the sort order to <em>ascending</em>.
+<p> <p>See also <a href="qiconviewitem.html#key">QIconViewItem::key</a>(), <a href="qiconviewitem.html#setKey">QIconViewItem::setKey</a>(), <a href="qiconviewitem.html#compare">QIconViewItem::compare</a>(), <a href="#setSorting">QIconView::setSorting</a>(), and <a href="#sortDirection-prop">QIconView::sortDirection</a>.
+
+<h3 class=fn>bool <a name="sortDirection"></a>QIconView::sortDirection () const
+</h3><p>Returns TRUE if the sort direction for inserting new items is ascending;; otherwise returns FALSE.
+See the <a href="qiconview.html#sortDirection-prop">"sortDirection"</a> property for details.
+<h3 class=fn>bool <a name="sorting"></a>QIconView::sorting () const
+</h3><p>Returns TRUE if the icon view sorts on insertion; otherwise returns FALSE.
+See the <a href="qiconview.html#sorting-prop">"sorting"</a> property for details.
+<h3 class=fn>int <a name="spacing"></a>QIconView::spacing () const
+</h3><p>Returns the space in pixels between icon view items.
+See the <a href="qiconview.html#spacing-prop">"spacing"</a> property for details.
+<h3 class=fn>void <a name="startDrag"></a>QIconView::startDrag ()<tt> [virtual protected]</tt>
+</h3>
+Starts a drag.
+
+<h3 class=fn>void <a name="takeItem"></a>QIconView::takeItem ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Takes the icon view item <em>item</em> out of the icon view and causes
+an update of the screen display. The item is not deleted. You
+should normally not need to call this function because
+<a href="qiconviewitem.html#~QIconViewItem">QIconViewItem::~QIconViewItem</a>() calls it. The normal way to delete
+an item is to delete it.
+
+<h3 class=fn>bool <a name="wordWrapIconText"></a>QIconView::wordWrapIconText () const
+</h3><p>Returns TRUE if the item text will be word-wrapped if it is too long; otherwise returns FALSE.
+See the <a href="qiconview.html#wordWrapIconText-prop">"wordWrapIconText"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qiconview.html#Arrangement-enum">Arrangement</a> <a name="arrangement-prop"></a>arrangement</h3>
+<p>This property holds the arrangement mode of the icon view.
+<p>This can be <a href="#Arrangement-enum">LeftToRight</a> or <a href="#Arrangement-enum">TopToBottom</a>. The default is <a href="#Arrangement-enum">LeftToRight</a>.
+
+<p>Set this property's value with <a href="#setArrangement">setArrangement</a>() and get this property's value with <a href="#arrangement">arrangement</a>().
+<h3 class=fn>bool <a name="autoArrange-prop"></a>autoArrange</h3>
+<p>This property holds whether the icon view rearranges its items when a new item is inserted.
+<p>The default is TRUE.
+<p> Note that if the icon view is not visible at the time of
+insertion, QIconView defers all position-related work until it is
+shown and then calls <a href="#arrangeItemsInGrid">arrangeItemsInGrid</a>().
+
+<p>Set this property's value with <a href="#setAutoArrange">setAutoArrange</a>() and get this property's value with <a href="#autoArrange">autoArrange</a>().
+<h3 class=fn>uint <a name="count-prop"></a>count</h3>
+<p>This property holds the number of items in the icon view.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>int <a name="gridX-prop"></a>gridX</h3>
+<p>This property holds the horizontal grid of the icon view.
+<p>If the value is -1, (the default), QIconView computes suitable
+column widths based on the icon view's contents.
+<p> Note that setting a grid width overrides <a href="#setMaxItemWidth">setMaxItemWidth</a>().
+
+<p>Set this property's value with <a href="#setGridX">setGridX</a>() and get this property's value with <a href="#gridX">gridX</a>().
+<h3 class=fn>int <a name="gridY-prop"></a>gridY</h3>
+<p>This property holds the vertical grid of the icon view.
+<p>If the value is -1, (the default), QIconView computes suitable
+column heights based on the icon view's contents.
+
+<p>Set this property's value with <a href="#setGridY">setGridY</a>() and get this property's value with <a href="#gridY">gridY</a>().
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="itemTextBackground-prop"></a>itemTextBackground</h3>
+<p>This property holds the brush to use when drawing the background of an item's text.
+<p>By default this brush is set to NoBrush, meaning that only the
+normal icon view background is used.
+
+<p>Set this property's value with <a href="#setItemTextBackground">setItemTextBackground</a>() and get this property's value with <a href="#itemTextBackground">itemTextBackground</a>().
+<h3 class=fn><a href="qiconview.html#ItemTextPos-enum">ItemTextPos</a> <a name="itemTextPos-prop"></a>itemTextPos</h3>
+<p>This property holds the position where the text of each item is drawn.
+<p>Valid values are <a href="#ItemTextPos-enum">Bottom</a> or <a href="#ItemTextPos-enum">Right</a>. The default is <a href="#ItemTextPos-enum">Bottom</a>.
+
+<p>Set this property's value with <a href="#setItemTextPos">setItemTextPos</a>() and get this property's value with <a href="#itemTextPos">itemTextPos</a>().
+<h3 class=fn>bool <a name="itemsMovable-prop"></a>itemsMovable</h3>
+<p>This property holds whether the user is allowed to move items around in the icon view.
+<p>The default is TRUE.
+
+<p>Set this property's value with <a href="#setItemsMovable">setItemsMovable</a>() and get this property's value with <a href="#itemsMovable">itemsMovable</a>().
+<h3 class=fn>int <a name="maxItemTextLength-prop"></a>maxItemTextLength</h3>
+<p>This property holds the maximum length (in characters) that an item's text may have.
+<p>The default is 255 characters.
+
+<p>Set this property's value with <a href="#setMaxItemTextLength">setMaxItemTextLength</a>() and get this property's value with <a href="#maxItemTextLength">maxItemTextLength</a>().
+<h3 class=fn>int <a name="maxItemWidth-prop"></a>maxItemWidth</h3>
+<p>This property holds the maximum width that an item may have.
+<p>The default is 100 pixels.
+<p> Note that if the <a href="#gridX">gridX</a>() value is set QIconView will ignore
+this property.
+
+<p>Set this property's value with <a href="#setMaxItemWidth">setMaxItemWidth</a>() and get this property's value with <a href="#maxItemWidth">maxItemWidth</a>().
+<h3 class=fn><a href="qiconview.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode-prop"></a>resizeMode</h3>
+<p>This property holds the resize mode of the icon view.
+<p>This can be <a href="#ResizeMode-enum">Fixed</a> or <a href="#ResizeMode-enum">Adjust</a>. The default is <a href="#ResizeMode-enum">Fixed</a>.
+See <a href="#ResizeMode-enum">ResizeMode</a>.
+
+<p>Set this property's value with <a href="#setResizeMode">setResizeMode</a>() and get this property's value with <a href="#resizeMode">resizeMode</a>().
+<h3 class=fn><a href="qiconview.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode-prop"></a>selectionMode</h3>
+<p>This property holds the selection mode of the icon view.
+<p>This can be <a href="#SelectionMode-enum">Single</a> (the default), <a href="#SelectionMode-enum">Extended</a>, <a href="#SelectionMode-enum">Multi</a> or <a href="#SelectionMode-enum">NoSelection</a>.
+
+<p>Set this property's value with <a href="#setSelectionMode">setSelectionMode</a>() and get this property's value with <a href="#selectionMode">selectionMode</a>().
+<h3 class=fn>bool <a name="showToolTips-prop"></a>showToolTips</h3>
+<p>This property holds whether the icon view will display a tool tip with the complete text for any truncated item text.
+<p>The default is TRUE. Note that this has no effect if
+<a href="#setWordWrapIconText">setWordWrapIconText</a>() is TRUE, as it is by default.
+
+<p>Set this property's value with <a href="#setShowToolTips">setShowToolTips</a>() and get this property's value with <a href="#showToolTips">showToolTips</a>().
+<h3 class=fn>bool <a name="sortDirection-prop"></a>sortDirection</h3>
+<p>This property holds whether the sort direction for inserting new items is ascending;.
+<p>The default is TRUE (i.e. ascending). This sort direction is only
+meaningful if both <a href="#sorting">sorting</a>() and <a href="#autoArrange">autoArrange</a>() are TRUE.
+<p> To set the sort direction, use <a href="#setSorting">setSorting</a>()
+
+<p>Get this property's value with <a href="#sortDirection">sortDirection</a>().
+<h3 class=fn>bool <a name="sorting-prop"></a>sorting</h3>
+<p>This property holds whether the icon view sorts on insertion.
+<p>The default is FALSE, i.e. no sorting on insertion.
+<p> To set the sorting, use <a href="#setSorting">setSorting</a>().
+
+<p>Get this property's value with <a href="#sorting">sorting</a>().
+<h3 class=fn>int <a name="spacing-prop"></a>spacing</h3>
+<p>This property holds the space in pixels between icon view items.
+<p>The default is 5 pixels.
+<p> Negative values for spacing are illegal.
+
+<p>Set this property's value with <a href="#setSpacing">setSpacing</a>() and get this property's value with <a href="#spacing">spacing</a>().
+<h3 class=fn>bool <a name="wordWrapIconText-prop"></a>wordWrapIconText</h3>
+<p>This property holds whether the item text will be word-wrapped if it is too long.
+<p>The default is TRUE.
+<p> If this property is FALSE, icon text that is too long is
+truncated, and an ellipsis (...) appended to indicate that
+truncation has occurred. The full text can still be seen by the
+user if they hover the mouse because the full text is shown in a
+tooltip; see <a href="#setShowToolTips">setShowToolTips</a>().
+
+<p>Set this property's value with <a href="#setWordWrapIconText">setWordWrapIconText</a>() and get this property's value with <a href="#wordWrapIconText">wordWrapIconText</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconviewitem-members.html b/doc/html/qiconviewitem-members.html
new file mode 100644
index 0000000..995e5ba
--- /dev/null
+++ b/doc/html/qiconviewitem-members.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:122 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconViewItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIconViewItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiconviewitem.html">QIconViewItem</a>, including inherited members.
+
+<ul>
+<li><a href="qiconviewitem.html#QIconViewItem">QIconViewItem</a>()
+<li><a href="qiconviewitem.html#~QIconViewItem">~QIconViewItem</a>()
+<li><a href="qiconviewitem.html#acceptDrop">acceptDrop</a>()
+<li><a href="qiconviewitem.html#calcRect">calcRect</a>()
+<li><a href="qiconviewitem.html#compare">compare</a>()
+<li><a href="qiconviewitem.html#contains">contains</a>()
+<li><a href="qiconviewitem.html#dragEnabled">dragEnabled</a>()
+<li><a href="qiconviewitem.html#dragEntered">dragEntered</a>()
+<li><a href="qiconviewitem.html#dragLeft">dragLeft</a>()
+<li><a href="qiconviewitem.html#dropEnabled">dropEnabled</a>()
+<li><a href="qiconviewitem.html#dropped">dropped</a>()
+<li><a href="qiconviewitem.html#height">height</a>()
+<li><a href="qiconviewitem.html#iconView">iconView</a>()
+<li><a href="qiconviewitem.html#index">index</a>()
+<li><a href="qiconviewitem.html#intersects">intersects</a>()
+<li><a href="qiconviewitem.html#isSelectable">isSelectable</a>()
+<li><a href="qiconviewitem.html#isSelected">isSelected</a>()
+<li><a href="qiconviewitem.html#key">key</a>()
+<li><a href="qiconviewitem.html#move">move</a>()
+<li><a href="qiconviewitem.html#moveBy">moveBy</a>()
+<li><a href="qiconviewitem.html#nextItem">nextItem</a>()
+<li><a href="qiconviewitem.html#paintFocus">paintFocus</a>()
+<li><a href="qiconviewitem.html#paintItem">paintItem</a>()
+<li><a href="qiconviewitem.html#picture">picture</a>()
+<li><a href="qiconviewitem.html#pixmap">pixmap</a>()
+<li><a href="qiconviewitem.html#pixmapRect">pixmapRect</a>()
+<li><a href="qiconviewitem.html#pos">pos</a>()
+<li><a href="qiconviewitem.html#prevItem">prevItem</a>()
+<li><a href="qiconviewitem.html#rect">rect</a>()
+<li><a href="qiconviewitem.html#removeRenameBox">removeRenameBox</a>()
+<li><a href="qiconviewitem.html#rename">rename</a>()
+<li><a href="qiconviewitem.html#renameEnabled">renameEnabled</a>()
+<li><a href="qiconviewitem.html#repaint">repaint</a>()
+<li><a href="qiconviewitem.html#rtti">rtti</a>()
+<li><a href="qiconviewitem.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qiconviewitem.html#setDropEnabled">setDropEnabled</a>()
+<li><a href="qiconviewitem.html#setItemRect">setItemRect</a>()
+<li><a href="qiconviewitem.html#setKey">setKey</a>()
+<li><a href="qiconviewitem.html#setPicture">setPicture</a>()
+<li><a href="qiconviewitem.html#setPixmap">setPixmap</a>()
+<li><a href="qiconviewitem.html#setPixmapRect">setPixmapRect</a>()
+<li><a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>()
+<li><a href="qiconviewitem.html#setSelectable">setSelectable</a>()
+<li><a href="qiconviewitem.html#setSelected">setSelected</a>()
+<li><a href="qiconviewitem.html#setText">setText</a>()
+<li><a href="qiconviewitem.html#setTextRect">setTextRect</a>()
+<li><a href="qiconviewitem.html#size">size</a>()
+<li><a href="qiconviewitem.html#text">text</a>()
+<li><a href="qiconviewitem.html#textRect">textRect</a>()
+<li><a href="qiconviewitem.html#width">width</a>()
+<li><a href="qiconviewitem.html#x">x</a>()
+<li><a href="qiconviewitem.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiconviewitem.html b/doc/html/qiconviewitem.html
new file mode 100644
index 0000000..e7d0c32
--- /dev/null
+++ b/doc/html/qiconviewitem.html
@@ -0,0 +1,626 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/iconview/qiconview.cpp:800 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIconViewItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIconViewItem Class Reference<br><small>[<a href="iconview.html">iconview module</a>]</small></h1>
+
+<p>The QIconViewItem class provides a single item in a QIconView.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qiconviewitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIconViewItem"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent )</li>
+<li class=fn><a href="#QIconViewItem-2"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, QIconViewItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#QIconViewItem-3"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QIconViewItem-4"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, QIconViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QIconViewItem-5"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPixmap&nbsp;&amp;&nbsp;icon )</li>
+<li class=fn><a href="#QIconViewItem-6"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, QIconViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPixmap&nbsp;&amp;&nbsp;icon )</li>
+<li class=fn><a href="#QIconViewItem-7"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPicture&nbsp;&amp;&nbsp;picture )</li>
+<li class=fn><a href="#QIconViewItem-8"><b>QIconViewItem</b></a> ( QIconView&nbsp;*&nbsp;parent, QIconViewItem&nbsp;*&nbsp;after, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPicture&nbsp;&amp;&nbsp;picture )</li>
+<li class=fn>virtual <a href="#~QIconViewItem"><b>~QIconViewItem</b></a> ()</li>
+<li class=fn>virtual void <a href="#setRenameEnabled"><b>setRenameEnabled</b></a> ( bool&nbsp;allow )</li>
+<li class=fn>virtual void <a href="#setDragEnabled"><b>setDragEnabled</b></a> ( bool&nbsp;allow )</li>
+<li class=fn>virtual void <a href="#setDropEnabled"><b>setDropEnabled</b></a> ( bool&nbsp;allow )</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual QPicture * <a href="#picture"><b>picture</b></a> () const</li>
+<li class=fn>virtual QString <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>bool <a href="#renameEnabled"><b>renameEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#dragEnabled"><b>dragEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#dropEnabled"><b>dropEnabled</b></a> () const</li>
+<li class=fn>QIconView * <a href="#iconView"><b>iconView</b></a> () const</li>
+<li class=fn>QIconViewItem * <a href="#prevItem"><b>prevItem</b></a> () const</li>
+<li class=fn>QIconViewItem * <a href="#nextItem"><b>nextItem</b></a> () const</li>
+<li class=fn>int <a href="#index"><b>index</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( bool&nbsp;s, bool&nbsp;cb )</li>
+<li class=fn>virtual void <a href="#setSelected-2"><b>setSelected</b></a> ( bool&nbsp;s )</li>
+<li class=fn>virtual void <a href="#setSelectable"><b>setSelectable</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> () const</li>
+<li class=fn>bool <a href="#isSelectable"><b>isSelectable</b></a> () const</li>
+<li class=fn>virtual void <a href="#repaint"><b>repaint</b></a> ()</li>
+<li class=fn>virtual bool <a href="#move"><b>move</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>virtual void <a href="#moveBy"><b>moveBy</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>virtual bool <a href="#move-2"><b>move</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt )</li>
+<li class=fn>virtual void <a href="#moveBy-2"><b>moveBy</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt )</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QPoint <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>QRect <a href="#textRect"><b>textRect</b></a> ( bool&nbsp;relative = TRUE ) const</li>
+<li class=fn>QRect <a href="#pixmapRect"><b>pixmapRect</b></a> ( bool&nbsp;relative = TRUE ) const</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt ) const</li>
+<li class=fn>bool <a href="#intersects"><b>intersects</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>virtual bool <a href="#acceptDrop"><b>acceptDrop</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;mime ) const</li>
+<li class=fn>void <a href="#rename"><b>rename</b></a> ()</li>
+<li class=fn>virtual int <a href="#compare"><b>compare</b></a> ( QIconViewItem&nbsp;*&nbsp;i ) const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;icon )</li>
+<li class=fn>virtual void <a href="#setPicture"><b>setPicture</b></a> ( const&nbsp;QPicture&nbsp;&amp;&nbsp;icon )</li>
+<li class=fn>virtual void <a href="#setText-2"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, bool&nbsp;recalc, bool&nbsp;redraw = TRUE )</li>
+<li class=fn>virtual void <a href="#setPixmap-2"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;icon, bool&nbsp;recalc, bool&nbsp;redraw = TRUE )</li>
+<li class=fn>virtual void <a href="#setKey"><b>setKey</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#removeRenameBox"><b>removeRenameBox</b></a> ()</li>
+<li class=fn>virtual void <a href="#calcRect"><b>calcRect</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text_ = QString::null )</li>
+<li class=fn>virtual void <a href="#paintItem"><b>paintItem</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg )</li>
+<li class=fn>virtual void <a href="#paintFocus"><b>paintFocus</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg )</li>
+<li class=fn>virtual void <a href="#dropped"><b>dropped</b></a> ( QDropEvent&nbsp;*&nbsp;e, const&nbsp;QValueList&lt;QIconDragItem&gt;&nbsp;&amp;&nbsp;lst )</li>
+<li class=fn>virtual void <a href="#dragEntered"><b>dragEntered</b></a> ()</li>
+<li class=fn>virtual void <a href="#dragLeft"><b>dragLeft</b></a> ()</li>
+<li class=fn>void <a href="#setItemRect"><b>setItemRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#setTextRect"><b>setTextRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#setPixmapRect"><b>setPixmapRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIconViewItem class provides a single item in a <a href="qiconview.html">QIconView</a>.
+<p>
+
+<p> A QIconViewItem contains an icon, a string and optionally a sort
+key, and can display itself in a QIconView.
+The class is designed to be very similar to <a href="qlistview.html">QListView</a> and <a href="qlistbox.html">QListBox</a>
+in use, both via instantiation and subclassing.
+<p> The simplest way to create a QIconViewItem and insert it into a
+QIconView is to construct the item passing the constructor a
+pointer to the icon view, a string and an icon:
+<p> <pre>
+ (void) new QIconViewItem(
+ iconView, // A pointer to a QIconView
+ "This is the text of the item",
+ aPixmap );
+ </pre>
+
+<p> By default the text of an icon view item may not be edited by the
+user but calling <a href="#setRenameEnabled">setRenameEnabled</a>(TRUE) will allow the user to
+perform in-place editing of the item's text.
+<p> When the icon view is deleted all items in it are deleted
+automatically.
+<p> The <a href="qiconview.html#firstItem">QIconView::firstItem</a>() and <a href="#nextItem">QIconViewItem::nextItem</a>() functions
+provide a means of iterating over all the items in a QIconView:
+<p> <pre>
+ QIconViewItem *item;
+ for ( item = iconView-&gt;firstItem(); item; item = item-&gt;<a href="#nextItem">nextItem</a>() )
+ do_something_with( item );
+ </pre>
+
+<p> The item's icon view is available from <a href="#iconView">iconView</a>(), and its
+position in the icon view from <a href="#index">index</a>().
+<p> The item's selection status is available from <a href="#isSelected">isSelected</a>() and is
+set and controlled by <a href="#setSelected">setSelected</a>() and <a href="#isSelectable">isSelectable</a>().
+<p> The text and icon can be set with <a href="#setText">setText</a>() and <a href="#setPixmap">setPixmap</a>() and
+retrieved with <a href="#text">text</a>() and <a href="#pixmap">pixmap</a>(). The item's sort key defaults
+to text() but may be set with <a href="#setKey">setKey</a>() and retrieved with <a href="#key">key</a>().
+The comparison function, <a href="#compare">compare</a>() uses key().
+<p> Items may be repositioned with <a href="#move">move</a>() and <a href="#moveBy">moveBy</a>(). An item's
+geometry is available from <a href="#rect">rect</a>(), <a href="#x">x</a>(), <a href="#y">y</a>(), <a href="#width">width</a>(), <a href="#height">height</a>(),
+<a href="#size">size</a>(), <a href="#pos">pos</a>(), <a href="#textRect">textRect</a>() and <a href="#pixmapRect">pixmapRect</a>(). You can also test
+against the position of a point with <a href="#contains">contains</a>() and <a href="#intersects">intersects</a>().
+<p> To remove an item from an icon view, just delete the item. The
+QIconViewItem destructor removes it cleanly from its icon view.
+<p> Because the icon view is designed to use drag-and-drop, the icon
+view item also has functions for drag-and-drop which may be
+reimplemented.
+<p> <a name="pixmap-size-limit"></a>
+<b>Note:</b> Pixmaps with individual dimensions larger than 300 pixels may
+not be displayed properly, depending on the <a href="qiconview.html#Arrangement-enum">arrangement in use</a>. For example, pixmaps wider than 300 pixels
+will not be arranged correctly if the icon view uses a
+<a href="qiconview.html#Arrangement-enum">QIconView::TopToBottom</a> arrangement, and pixmaps taller than 300 pixels
+will not be arranged correctly if the icon view uses a
+<a href="qiconview.html#Arrangement-enum">QIconView::LeftToRight</a> arrangement.
+<p>See also <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIconViewItem"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent )
+</h3>
+Constructs a QIconViewItem and inserts it into icon view <em>parent</em>
+with no text and a default icon.
+
+<h3 class=fn><a name="QIconViewItem-2"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs a QIconViewItem and inserts it into the icon view <em>parent</em> with no text and a default icon, after the icon view item
+<em>after</em>.
+
+<h3 class=fn><a name="QIconViewItem-3"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and a default icon.
+
+<h3 class=fn><a name="QIconViewItem-4"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and a default icon, after the
+icon view item <em>after</em>.
+
+<h3 class=fn><a name="QIconViewItem-5"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;icon )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and <em>icon</em> as the icon.
+
+<h3 class=fn><a name="QIconViewItem-6"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;icon )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and <em>icon</em> as the icon, after
+the icon view item <em>after</em>.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>().
+
+<h3 class=fn><a name="QIconViewItem-7"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;picture )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and <em>picture</em> as the icon.
+
+<h3 class=fn><a name="QIconViewItem-8"></a>QIconViewItem::QIconViewItem ( <a href="qiconview.html">QIconView</a>&nbsp;*&nbsp;parent, <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;after, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;picture )
+</h3>
+Constructs an icon view item and inserts it into the icon view <em>parent</em> using <em>text</em> as the text and <em>picture</em> as the icon, after
+the icon view item <em>after</em>.
+
+<h3 class=fn><a name="~QIconViewItem"></a>QIconViewItem::~QIconViewItem ()<tt> [virtual]</tt>
+</h3>
+Destroys the icon view item and tells the parent icon view that
+the item has been destroyed.
+
+<h3 class=fn>bool <a name="acceptDrop"></a>QIconViewItem::acceptDrop ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;mime ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns TRUE if you can drop things with a <a href="qmimesource.html">QMimeSource</a> of <em>mime</em>
+onto this item; otherwise returns FALSE.
+<p> The default implementation always returns FALSE. You must subclass
+QIconViewItem and reimplement <a href="#acceptDrop">acceptDrop</a>() to accept drops.
+
+<p>Examples: <a href="fileiconview-example.html#x836">fileiconview/qfileiconview.cpp</a> and <a href="simple_dd-example.html#x2822">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="calcRect"></a>QIconViewItem::calcRect ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text_ = QString::null )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is responsible for calculating the
+rectangles returned by <a href="#rect">rect</a>(), <a href="#textRect">textRect</a>() and <a href="#pixmapRect">pixmapRect</a>().
+setRect(), <a href="#setTextRect">setTextRect</a>() and <a href="#setPixmapRect">setPixmapRect</a>() are provided mainly
+for reimplementations of this function.
+<p> <em>text_</em> is an internal parameter which defaults to <a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn>int <a name="compare"></a>QIconViewItem::compare ( <a href="qiconviewitem.html">QIconViewItem</a>&nbsp;*&nbsp;i ) const<tt> [virtual]</tt>
+</h3>
+Compares this icon view item to <em>i</em>. Returns -1 if this item is
+less than <em>i</em>, 0 if they are equal, and 1 if this icon view item
+is greater than <em>i</em>.
+<p> The default implementation compares the item keys (<a href="#key">key</a>()) using
+<a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>(). A reimplementation may use
+different values and a different comparison function. Here is a
+reimplementation that uses plain Unicode comparison:
+<p> <pre>
+ int MyIconViewItem::compare( QIconViewItem *i ) const
+ {
+ return key().compare( i-&gt;<a href="#key">key</a>() );
+ }
+ </pre>
+
+<p> <p>See also <a href="#key">key</a>(), <a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>(), and <a href="qstring.html#compare">QString::compare</a>().
+
+<h3 class=fn>bool <a name="contains"></a>QIconViewItem::contains ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt ) const
+</h3>
+Returns TRUE if the item contains the point <em>pnt</em> (in contents
+coordinates); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="dragEnabled"></a>QIconViewItem::dragEnabled () const
+</h3>
+Returns TRUE if the user is allowed to drag the icon view item;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setDragEnabled">setDragEnabled</a>().
+
+<h3 class=fn>void <a name="dragEntered"></a>QIconViewItem::dragEntered ()<tt> [virtual protected]</tt>
+</h3>
+This function is called when a drag enters the item's bounding
+rectangle.
+<p> The default implementation does nothing; subclasses may
+reimplement this function.
+
+<p>Example: <a href="fileiconview-example.html#x837">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="dragLeft"></a>QIconViewItem::dragLeft ()<tt> [virtual protected]</tt>
+</h3>
+This function is called when a drag leaves the item's bounding
+rectangle.
+<p> The default implementation does nothing; subclasses may
+reimplement this function.
+
+<p>Example: <a href="fileiconview-example.html#x838">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="dropEnabled"></a>QIconViewItem::dropEnabled () const
+</h3>
+Returns TRUE if the user is allowed to drop something onto the
+item; otherwise returns FALSE.
+<p> <p>See also <a href="#setDropEnabled">setDropEnabled</a>().
+
+<h3 class=fn>void <a name="dropped"></a>QIconViewItem::dropped ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e, const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&nbsp;&amp;&nbsp;lst )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This function is called when something is dropped on the item. <em>e</em> provides all the information about the drop. If the drag object
+of the drop was a <a href="qicondrag.html">QIconDrag</a>, <em>lst</em> contains the list of the
+dropped items. You can get the data by calling
+<a href="qicondragitem.html#data">QIconDragItem::data</a>() on each item. If the <em>lst</em> is empty, i.e.
+the drag was not a QIconDrag, you must decode the data in <em>e</em> and
+work with that.
+<p> The default implementation does nothing; subclasses may
+reimplement this function.
+
+<p>Examples: <a href="fileiconview-example.html#x839">fileiconview/qfileiconview.cpp</a> and <a href="simple_dd-example.html#x2823">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>int <a name="height"></a>QIconViewItem::height () const
+</h3>
+Returns the height of the item.
+
+<h3 class=fn><a href="qiconview.html">QIconView</a>&nbsp;* <a name="iconView"></a>QIconViewItem::iconView () const
+</h3>
+Returns a pointer to this item's icon view parent.
+
+<h3 class=fn>int <a name="index"></a>QIconViewItem::index () const
+</h3>
+Returns the index of this item in the icon view, or -1 if an error
+occurred.
+
+<h3 class=fn>bool <a name="intersects"></a>QIconViewItem::intersects ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns TRUE if the item intersects the rectangle <em>r</em> (in
+contents coordinates); otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSelectable"></a>QIconViewItem::isSelectable () const
+</h3>
+Returns TRUE if the item is selectable; otherwise returns FALSE.
+<p> <p>See also <a href="#setSelectable">setSelectable</a>().
+
+<h3 class=fn>bool <a name="isSelected"></a>QIconViewItem::isSelected () const
+</h3>
+Returns TRUE if the item is selected; otherwise returns FALSE.
+<p> <p>See also <a href="#setSelected">setSelected</a>().
+
+<p>Example: <a href="fileiconview-example.html#x840">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="key"></a>QIconViewItem::key () const<tt> [virtual]</tt>
+</h3>
+Returns the key of the icon view item or <a href="#text">text</a>() if no key has been
+explicitly set.
+<p> <p>See also <a href="#setKey">setKey</a>() and <a href="#compare">compare</a>().
+
+<h3 class=fn>bool <a name="move"></a>QIconViewItem::move ( int&nbsp;x, int&nbsp;y )<tt> [virtual]</tt>
+</h3>
+Moves the item to position (<em>x</em>, <em>y</em>) in the icon view (these
+are contents coordinates).
+
+<h3 class=fn>bool <a name="move-2"></a>QIconViewItem::move ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves the item to the point <em>pnt</em>.
+
+<h3 class=fn>void <a name="moveBy"></a>QIconViewItem::moveBy ( int&nbsp;dx, int&nbsp;dy )<tt> [virtual]</tt>
+</h3>
+Moves the item <em>dx</em> pixels in the x-direction and <em>dy</em> pixels in
+the y-direction.
+
+<h3 class=fn>void <a name="moveBy-2"></a>QIconViewItem::moveBy ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves the item by the x, y values in point <em>pnt</em>.
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="nextItem"></a>QIconViewItem::nextItem () const
+</h3>
+Returns a pointer to the next item, or 0 if this is the last item
+in the icon view.
+<p> To find the first item use <a href="qiconview.html#firstItem">QIconView::firstItem</a>().
+<p> Example:
+<pre>
+ QIconViewItem *item;
+ for ( item = iconView-&gt;firstItem(); item; item = item-&gt;<a href="#nextItem">nextItem</a>() )
+ do_something_with( item );
+ </pre>
+
+<p> <p>See also <a href="#prevItem">prevItem</a>().
+
+<p>Example: <a href="fileiconview-example.html#x841">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="paintFocus"></a>QIconViewItem::paintFocus ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg )<tt> [virtual protected]</tt>
+</h3>
+Paints the focus rectangle of the item using the painter <em>p</em> and
+the color group <em>cg</em>.
+
+<h3 class=fn>void <a name="paintItem"></a>QIconViewItem::paintItem ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg )<tt> [virtual protected]</tt>
+</h3>
+Paints the item using the painter <em>p</em> and the color group <em>cg</em>.
+If you want the item to be drawn with a different font or color,
+reimplement this function, change the values of the color group or
+the painter's font, and then call the <a href="#paintItem">QIconViewItem::paintItem</a>()
+with the changed values.
+
+<p>Example: <a href="fileiconview-example.html#x842">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qpicture.html">QPicture</a>&nbsp;* <a name="picture"></a>QIconViewItem::picture () const<tt> [virtual]</tt>
+</h3>
+Returns the icon of the icon view item if it is a picture, or 0 if
+it is a pixmap. In the latter case use <a href="#pixmap">pixmap</a>() instead. Normally
+you set the picture of the item with <a href="#setPicture">setPicture</a>(), but sometimes
+it's inconvenient to call setPicture() for every item. So you can
+subclass QIconViewItem, reimplement this function and return a
+pointer to the item's picture. If you do this, you <em>must</em> call
+<a href="#calcRect">calcRect</a>() manually each time the size of this picture changes.
+<p> <p>See also <a href="#setPicture">setPicture</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QIconViewItem::pixmap () const<tt> [virtual]</tt>
+</h3>
+Returns the icon of the icon view item if it is a pixmap, or 0 if
+it is a picture. In the latter case use <a href="#picture">picture</a>() instead.
+Normally you set the pixmap of the item with <a href="#setPixmap">setPixmap</a>(), but
+sometimes it's inconvenient to call setPixmap() for every item. So
+you can subclass QIconViewItem, reimplement this function and
+return a pointer to the item's pixmap. If you do this, you <em>must</em>
+call <a href="#calcRect">calcRect</a>() manually each time the size of this pixmap
+changes.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>().
+
+<p>Example: <a href="fileiconview-example.html#x843">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="pixmapRect"></a>QIconViewItem::pixmapRect ( bool&nbsp;relative = TRUE ) const
+</h3>
+Returns the bounding rectangle of the item's icon.
+<p> If <em>relative</em> is TRUE, (the default), the rectangle is relative to
+the origin of the item's rectangle. If <em>relative</em> is FALSE, the
+returned rectangle is relative to the origin of the icon view's
+contents coordinate system.
+
+<p>Example: <a href="fileiconview-example.html#x844">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pos"></a>QIconViewItem::pos () const
+</h3>
+Returns the position of the item (in contents coordinates).
+
+<h3 class=fn><a href="qiconviewitem.html">QIconViewItem</a>&nbsp;* <a name="prevItem"></a>QIconViewItem::prevItem () const
+</h3>
+Returns a pointer to the previous item, or 0 if this is the first
+item in the icon view.
+<p> <p>See also <a href="#nextItem">nextItem</a>() and <a href="qiconview.html#firstItem">QIconView::firstItem</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QIconViewItem::rect () const
+</h3>
+Returns the bounding rectangle of the item (in contents
+coordinates).
+
+<h3 class=fn>void <a name="removeRenameBox"></a>QIconViewItem::removeRenameBox ()<tt> [virtual protected]</tt>
+</h3>
+Removes the editbox that is used for in-place renaming.
+
+<h3 class=fn>void <a name="rename"></a>QIconViewItem::rename ()
+</h3>
+Starts in-place renaming of an icon, if allowed.
+<p> This function sets up the icon view so that the user can edit the
+item text, and then returns. When the user is done, <a href="#setText">setText</a>() will
+be called and <a href="qiconview.html#itemRenamed">QIconView::itemRenamed</a>() will be emitted (unless the
+user canceled, e.g. by pressing the Escape key).
+<p> <p>See also <a href="#setRenameEnabled">setRenameEnabled</a>().
+
+<p>Example: <a href="fileiconview-example.html#x845">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="renameEnabled"></a>QIconViewItem::renameEnabled () const
+</h3>
+Returns TRUE if the item can be renamed by the user with in-place
+renaming; otherwise returns FALSE.
+<p> <p>See also <a href="#setRenameEnabled">setRenameEnabled</a>().
+
+<p>Example: <a href="fileiconview-example.html#x846">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="repaint"></a>QIconViewItem::repaint ()<tt> [virtual]</tt>
+</h3>
+Repaints the item.
+
+<h3 class=fn>int <a name="rtti"></a>QIconViewItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 0.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>(), so
+that you can distinguish between icon view item types. You should
+use values greater than 1000, preferably a large random number, to
+allow for extensions to this class.
+
+<h3 class=fn>void <a name="setDragEnabled"></a>QIconViewItem::setDragEnabled ( bool&nbsp;allow )<tt> [virtual]</tt>
+</h3>
+If <em>allow</em> is TRUE, the icon view permits the user to drag the
+icon view item either to another position within the icon view or
+to somewhere outside of it. If <em>allow</em> is FALSE, the item cannot
+be dragged.
+
+<h3 class=fn>void <a name="setDropEnabled"></a>QIconViewItem::setDropEnabled ( bool&nbsp;allow )<tt> [virtual]</tt>
+</h3>
+If <em>allow</em> is TRUE, the icon view lets the user drop something on
+this icon view item.
+
+<h3 class=fn>void <a name="setItemRect"></a>QIconViewItem::setItemRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [protected]</tt>
+</h3>
+Sets the bounding rectangle of the whole item to <em>r</em>. This
+function is provided for subclasses which reimplement <a href="#calcRect">calcRect</a>(),
+so that they can set the calculated rectangle. <em>Any other use is discouraged.</em>
+<p> <p>See also <a href="#calcRect">calcRect</a>(), <a href="#textRect">textRect</a>(), <a href="#setTextRect">setTextRect</a>(), <a href="#pixmapRect">pixmapRect</a>(), and <a href="#setPixmapRect">setPixmapRect</a>().
+
+<h3 class=fn>void <a name="setKey"></a>QIconViewItem::setKey ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;k )<tt> [virtual]</tt>
+</h3>
+Sets <em>k</em> as the sort key of the icon view item. By default
+<a href="#text">text</a>() is used for sorting.
+<p> <p>See also <a href="#compare">compare</a>().
+
+<p>Example: <a href="fileiconview-example.html#x847">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="setPicture"></a>QIconViewItem::setPicture ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;icon )<tt> [virtual]</tt>
+</h3>
+Sets <em>icon</em> as the item's icon in the icon view. This function
+might be a no-op if you reimplement <a href="#picture">picture</a>().
+<p> <p>See also <a href="#picture">picture</a>().
+
+<h3 class=fn>void <a name="setPixmap"></a>QIconViewItem::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;icon )<tt> [virtual]</tt>
+</h3>
+Sets <em>icon</em> as the item's icon in the icon view. This function
+might be a no-op if you reimplement <a href="#pixmap">pixmap</a>().
+<p> <b>Note:</b> Pixmaps with individual dimensions larger than 300 pixels may
+not be displayed properly, depending on the <a href="qiconview.html#Arrangement-enum">arrangement in use</a>. See the <a href="#pixmap-size-limit">main class
+ documentation</a> for details.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="setPixmap-2"></a>QIconViewItem::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;icon, bool&nbsp;recalc, bool&nbsp;redraw = TRUE )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets <em>icon</em> as the item's icon in the icon view. If <em>recalc</em> is
+TRUE, the icon view's layout is recalculated. If <em>redraw</em> is TRUE
+(the default), the icon view is repainted.
+<p> <b>Note:</b> Pixmaps with individual dimensions larger than 300 pixels may
+not be displayed properly, depending on the <a href="qiconview.html#Arrangement-enum">arrangement in use</a>. See the <a href="#pixmap-size-limit">main class
+ documentation</a> for details.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="setPixmapRect"></a>QIconViewItem::setPixmapRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [protected]</tt>
+</h3>
+Sets the bounding rectangle of the item's icon to <em>r</em>. This
+function is provided for subclasses which reimplement <a href="#calcRect">calcRect</a>(),
+so that they can set the calculated rectangle. <em>Any other use is discouraged.</em>
+<p> <p>See also <a href="#calcRect">calcRect</a>(), <a href="#pixmapRect">pixmapRect</a>(), <a href="#setItemRect">setItemRect</a>(), and <a href="#setTextRect">setTextRect</a>().
+
+<h3 class=fn>void <a name="setRenameEnabled"></a>QIconViewItem::setRenameEnabled ( bool&nbsp;allow )<tt> [virtual]</tt>
+</h3>
+If <em>allow</em> is TRUE, the user can rename the icon view item by
+clicking on the text (or pressing F2) while the item is selected
+(in-place renaming). If <em>allow</em> is FALSE, in-place renaming is
+not possible.
+
+<p>Examples: <a href="fileiconview-example.html#x848">fileiconview/qfileiconview.cpp</a>, <a href="iconview-example.html#x1459">iconview/main.cpp</a>, and <a href="simple_dd-example.html#x2824">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="setSelectable"></a>QIconViewItem::setSelectable ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Sets this item to be selectable if <em>enable</em> is TRUE (the default)
+or unselectable if <em>enable</em> is FALSE.
+<p> The user is unable to select a non-selectable item using either
+the keyboard or the mouse. (The application programmer can select
+an item in code regardless of this setting.)
+<p> <p>See also <a href="#isSelectable">isSelectable</a>().
+
+<h3 class=fn>void <a name="setSelected"></a>QIconViewItem::setSelected ( bool&nbsp;s, bool&nbsp;cb )<tt> [virtual]</tt>
+</h3>
+Selects or unselects the item, depending on <em>s</em>; it may also
+unselect other items, depending on <a href="qiconview.html#selectionMode">QIconView::selectionMode</a>() and
+<em>cb</em>.
+<p> If <em>s</em> is FALSE, the item is unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <tt>Single</tt>, the
+item is selected and the item previously selected is unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <tt>Extended</tt>, the
+item is selected. If <em>cb</em> is TRUE, the selection state of the
+other items is left unchanged. If <em>cb</em> is FALSE (the default) all
+other items are unselected.
+<p> If <em>s</em> is TRUE and QIconView::selectionMode() is <tt>Multi</tt>, the
+item is selected.
+<p> Note that <em>cb</em> is used only if QIconView::selectionMode() is <tt>Extended</tt>; cb defaults to FALSE.
+<p> All items whose selection status changes repaint themselves.
+
+<p>Example: <a href="fileiconview-example.html#x849">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="setSelected-2"></a>QIconViewItem::setSelected ( bool&nbsp;s )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This variant is equivalent to calling the other variant with <em>cb</em>
+set to FALSE.
+
+<h3 class=fn>void <a name="setText"></a>QIconViewItem::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3>
+Sets <em>text</em> as the text of the icon view item. This function
+might be a no-op if you reimplement <a href="#text">text</a>().
+<p> <p>See also <a href="#text">text</a>().
+
+<p>Example: <a href="fileiconview-example.html#x850">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>void <a name="setText-2"></a>QIconViewItem::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, bool&nbsp;recalc, bool&nbsp;redraw = TRUE )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets <em>text</em> as the text of the icon view item. If <em>recalc</em> is
+TRUE, the icon view's layout is recalculated. If <em>redraw</em> is TRUE
+(the default), the icon view is repainted.
+<p> <p>See also <a href="#text">text</a>().
+
+<h3 class=fn>void <a name="setTextRect"></a>QIconViewItem::setTextRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [protected]</tt>
+</h3>
+Sets the bounding rectangle of the item's text to <em>r</em>. This
+function is provided for subclasses which reimplement <a href="#calcRect">calcRect</a>(),
+so that they can set the calculated rectangle. <em>Any other use is discouraged.</em>
+<p> <p>See also <a href="#calcRect">calcRect</a>(), <a href="#textRect">textRect</a>(), <a href="#setItemRect">setItemRect</a>(), and <a href="#setPixmapRect">setPixmapRect</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QIconViewItem::size () const
+</h3>
+Returns the size of the item.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QIconViewItem::text () const<tt> [virtual]</tt>
+</h3>
+Returns the text of the icon view item. Normally you set the text
+of the item with <a href="#setText">setText</a>(), but sometimes it's inconvenient to
+call setText() for every item; so you can subclass QIconViewItem,
+reimplement this function, and return the text of the item. If you
+do this, you must call <a href="#calcRect">calcRect</a>() manually each time the text
+(and therefore its size) changes.
+<p> <p>See also <a href="#setText">setText</a>().
+
+<p>Example: <a href="fileiconview-example.html#x851">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="textRect"></a>QIconViewItem::textRect ( bool&nbsp;relative = TRUE ) const
+</h3>
+Returns the bounding rectangle of the item's text.
+<p> If <em>relative</em> is TRUE, (the default), the returned rectangle is
+relative to the origin of the item's rectangle. If <em>relative</em> is
+FALSE, the returned rectangle is relative to the origin of the
+icon view's contents coordinate system.
+
+<p>Example: <a href="fileiconview-example.html#x852">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>int <a name="width"></a>QIconViewItem::width () const
+</h3>
+Returns the width of the item.
+
+<h3 class=fn>int <a name="x"></a>QIconViewItem::x () const
+</h3>
+Returns the x-coordinate of the item (in contents coordinates).
+
+<h3 class=fn>int <a name="y"></a>QIconViewItem::y () const
+</h3>
+Returns the y-coordinate of the item (in contents coordinates).
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimage-h.html b/doc/html/qimage-h.html
new file mode 100644
index 0000000..19b28ed
--- /dev/null
+++ b/doc/html/qimage-h.html
@@ -0,0 +1,470 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qimage.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qimage.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qimage.h</h1>
+
+<p>This is the verbatim text of the qimage.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qimage.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QImage and QImageIO classes
+**
+** Created : 950207
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QIMAGE_H
+#define QIMAGE_H
+
+#ifndef QT_H
+#include "qpixmap.h"
+#include "qstrlist.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+class QImageDataMisc; // internal
+#ifndef QT_NO_IMAGE_TEXT
+class Q_EXPORT QImageTextKeyLang {
+public:
+ QImageTextKeyLang(const char* k, const char* l) : key(k), lang(l) { }
+ QImageTextKeyLang() { }
+
+ QCString key;
+ QCString lang;
+
+ bool operator&lt; (const QImageTextKeyLang&amp; other) const
+ { return key &lt; other.key || key==other.key &amp;&amp; lang &lt; other.lang; }
+ bool operator== (const QImageTextKeyLang&amp; other) const
+ { return key==other.key &amp;&amp; lang==other.lang; }
+};
+#endif //QT_NO_IMAGE_TEXT
+
+
+class Q_EXPORT QImage
+{
+public:
+ enum Endian { IgnoreEndian, BigEndian, LittleEndian };
+
+ QImage();
+ QImage( int width, int height, int depth, int numColors=0,
+ Endian bitOrder=IgnoreEndian );
+ QImage( const QSize&amp;, int depth, int numColors=0,
+ Endian bitOrder=IgnoreEndian );
+#ifndef QT_NO_IMAGEIO
+ QImage( const QString &amp;fileName, const char* format=0 );
+ QImage( const char * const xpm[] );
+ QImage( const QByteArray &amp;data );
+#endif
+ QImage( uchar* data, int w, int h, int depth,
+ QRgb* colortable, int numColors,
+ Endian bitOrder );
+#ifdef Q_WS_QWS
+ QImage( uchar* data, int w, int h, int depth, int pbl,
+ QRgb* colortable, int numColors,
+ Endian bitOrder );
+#endif
+ QImage( const QImage &amp; );
+ ~QImage();
+
+ QImage &amp;operator=( const QImage &amp; );
+ QImage &amp;operator=( const QPixmap &amp; );
+ bool operator==( const QImage &amp; ) const;
+ bool operator!=( const QImage &amp; ) const;
+ void detach();
+ QImage copy() const;
+ QImage copy(int x, int y, int w, int h, int conversion_flags=0) const;
+ QImage copy(const QRect&amp;) const;
+#ifndef QT_NO_MIME
+ static QImage fromMimeSource( const QString&amp; abs_name );
+#endif
+ bool isNull() const { return data-&gt;bits == 0; }
+
+ int width() const { return data-&gt;w; }
+ int height() const { return data-&gt;h; }
+ QSize size() const { return QSize(data-&gt;w,data-&gt;h); }
+ QRect rect() const { return QRect(0,0,data-&gt;w,data-&gt;h); }
+ int depth() const { return data-&gt;d; }
+ int numColors() const { return data-&gt;ncols; }
+ Endian bitOrder() const { return (Endian) data-&gt;bitordr; }
+
+ QRgb color( int i ) const;
+ void setColor( int i, QRgb c );
+ void setNumColors( int );
+
+ bool hasAlphaBuffer() const;
+ void setAlphaBuffer( bool );
+
+ bool allGray() const;
+ bool isGrayscale() const;
+
+ uchar *bits() const;
+ uchar *scanLine( int ) const;
+ uchar **jumpTable() const;
+ QRgb *colorTable() const;
+ int numBytes() const;
+ int bytesPerLine() const;
+
+#ifdef Q_WS_QWS
+ QGfx * graphicsContext();
+#endif
+
+ bool create( int width, int height, int depth, int numColors=0,
+ Endian bitOrder=IgnoreEndian );
+ bool create( const QSize&amp;, int depth, int numColors=0,
+ Endian bitOrder=IgnoreEndian );
+ void reset();
+
+ void fill( uint pixel );
+ void invertPixels( bool invertAlpha = TRUE );
+
+ QImage convertDepth( int ) const;
+#ifndef QT_NO_IMAGE_TRUECOLOR
+ QImage convertDepthWithPalette( int, QRgb* p, int pc, int cf=0 ) const;
+#endif
+ QImage convertDepth( int, int conversion_flags ) const;
+ QImage convertBitOrder( Endian ) const;
+
+ enum ScaleMode {
+ ScaleFree,
+ ScaleMin,
+ ScaleMax
+ };
+#ifndef QT_NO_IMAGE_SMOOTHSCALE
+ QImage smoothScale( int w, int h, ScaleMode mode=ScaleFree ) const;
+ QImage smoothScale( const QSize&amp; s, ScaleMode mode=ScaleFree ) const;
+#endif
+#ifndef QT_NO_IMAGE_TRANSFORMATION
+ QImage scale( int w, int h, ScaleMode mode=ScaleFree ) const;
+ QImage scale( const QSize&amp; s, ScaleMode mode=ScaleFree ) const;
+ QImage scaleWidth( int w ) const;
+ QImage scaleHeight( int h ) const;
+ QImage xForm( const QWMatrix &amp;matrix ) const;
+#endif
+
+#ifndef QT_NO_IMAGE_DITHER_TO_1
+ QImage createAlphaMask( int conversion_flags=0 ) const;
+#endif
+#ifndef QT_NO_IMAGE_HEURISTIC_MASK
+ QImage createHeuristicMask( bool clipTight=TRUE ) const;
+#endif
+#ifndef QT_NO_IMAGE_MIRROR
+ QImage mirror() const;
+ QImage mirror(bool horizontally, bool vertically) const;
+#endif
+ QImage swapRGB() const;
+
+ static Endian systemBitOrder();
+ static Endian systemByteOrder();
+
+#ifndef QT_NO_IMAGEIO
+ static const char* imageFormat( const QString &amp;fileName );
+ static QStrList inputFormats();
+ static QStrList outputFormats();
+#ifndef QT_NO_STRINGLIST
+ static QStringList inputFormatList();
+ static QStringList outputFormatList();
+#endif
+ bool load( const QString &amp;fileName, const char* format=0 );
+ bool loadFromData( const uchar *buf, uint len,
+ const char *format=0 );
+ bool loadFromData( QByteArray data, const char* format=0 );
+ bool save( const QString &amp;fileName, const char* format,
+ int quality=-1 ) const;
+ bool save( QIODevice * device, const char* format,
+ int quality=-1 ) const;
+#endif //QT_NO_IMAGEIO
+
+ bool valid( int x, int y ) const;
+ int pixelIndex( int x, int y ) const;
+ QRgb pixel( int x, int y ) const;
+ void setPixel( int x, int y, uint index_or_rgb );
+
+ // Auxiliary data
+ int dotsPerMeterX() const;
+ int dotsPerMeterY() const;
+ void setDotsPerMeterX(int);
+ void setDotsPerMeterY(int);
+ QPoint offset() const;
+ void setOffset(const QPoint&amp;);
+#ifndef QT_NO_IMAGE_TEXT
+ QValueList&lt;QImageTextKeyLang&gt; textList() const;
+ QStringList textLanguages() const;
+ QStringList textKeys() const;
+ QString text(const char* key, const char* lang=0) const;
+ QString text(const QImageTextKeyLang&amp;) const;
+ void setText(const char* key, const char* lang, const QString&amp;);
+#endif
+private:
+ void init();
+ void reinit();
+ void freeBits();
+ static void warningIndexRange( const char *, int );
+
+ struct QImageData : public QShared { // internal image data
+ int w; // image width
+ int h; // image height
+ int d; // image depth
+ int ncols; // number of colors
+ int nbytes; // number of bytes data
+ int bitordr; // bit order (1 bit depth)
+ QRgb *ctbl; // color table
+ uchar **bits; // image data
+ bool alpha; // alpha buffer
+ int dpmx; // dots per meter X (or 0)
+ int dpmy; // dots per meter Y (or 0)
+ QPoint offset; // offset in pixels
+#ifndef QT_NO_IMAGE_TEXT
+ QImageDataMisc* misc; // less common stuff
+#endif
+ bool ctbl_mine; // this allocated ctbl
+ } *data;
+#ifndef QT_NO_IMAGE_TEXT
+ QImageDataMisc&amp; misc() const;
+#endif
+#ifndef QT_NO_IMAGEIO
+ bool doImageIO( QImageIO* io, int quality ) const;
+#endif
+ friend Q_EXPORT void bitBlt( QImage* dst, int dx, int dy,
+ const QImage* src, int sx, int sy,
+ int sw, int sh, int conversion_flags );
+};
+
+
+// QImage stream functions
+
+#if !defined(QT_NO_DATASTREAM) &amp;&amp; !defined(QT_NO_IMAGEIO)
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QImage &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QImage &amp; );
+#endif
+
+#ifndef QT_NO_IMAGEIO
+class QIODevice;
+typedef void (*image_io_handler)( QImageIO * ); // image IO handler
+
+
+struct QImageIOData;
+
+
+class Q_EXPORT QImageIO
+{
+public:
+ QImageIO();
+ QImageIO( QIODevice *ioDevice, const char *format );
+ QImageIO( const QString &amp;fileName, const char* format );
+ ~QImageIO();
+
+
+ const QImage &amp;image() const { return im; }
+ int status() const { return iostat; }
+ const char *format() const { return frmt; }
+ QIODevice *ioDevice() const { return iodev; }
+ QString fileName() const { return fname; }
+ int quality() const;
+ QString description() const { return descr; }
+ const char *parameters() const;
+ float gamma() const;
+
+ void setImage( const QImage &amp; );
+ void setStatus( int );
+ void setFormat( const char * );
+ void setIODevice( QIODevice * );
+ void setFileName( const QString &amp; );
+ void setQuality( int );
+ void setDescription( const QString &amp; );
+ void setParameters( const char * );
+ void setGamma( float );
+
+ bool read();
+ bool write();
+
+ static const char* imageFormat( const QString &amp;fileName );
+ static const char *imageFormat( QIODevice * );
+ static QStrList inputFormats();
+ static QStrList outputFormats();
+
+ static void defineIOHandler( const char *format,
+ const char *header,
+ const char *flags,
+ image_io_handler read_image,
+ image_io_handler write_image );
+
+private:
+ void init();
+
+ QImage im; // image
+ int iostat; // IO status
+ QCString frmt; // image format
+ QIODevice *iodev; // IO device
+ QString fname; // file name
+ char *params; // image parameters //### change to QImageIOData *d in 3.0
+ QString descr; // image description
+ QImageIOData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QImageIO( const QImageIO &amp; );
+ QImageIO &amp;operator=( const QImageIO &amp; );
+#endif
+};
+
+#endif //QT_NO_IMAGEIO
+
+Q_EXPORT void bitBlt( QImage* dst, int dx, int dy, const QImage* src,
+ int sx=0, int sy=0, int sw=-1, int sh=-1,
+ int conversion_flags=0 );
+
+
+/*****************************************************************************
+ QImage member functions
+ *****************************************************************************/
+
+inline bool QImage::hasAlphaBuffer() const
+{
+ return data-&gt;alpha;
+}
+
+inline uchar *QImage::bits() const
+{
+ return data-&gt;bits ? data-&gt;bits[0] : 0;
+}
+
+inline uchar **QImage::jumpTable() const
+{
+ return data-&gt;bits;
+}
+
+inline QRgb *QImage::colorTable() const
+{
+ return data-&gt;ctbl;
+}
+
+inline int QImage::numBytes() const
+{
+ return data-&gt;nbytes;
+}
+
+inline int QImage::bytesPerLine() const
+{
+ return data-&gt;h ? data-&gt;nbytes/data-&gt;h : 0;
+}
+
+inline QImage QImage::copy(const QRect&amp; r) const
+{
+ return copy(r.x(), r.y(), r.width(), r.height());
+}
+
+inline QRgb QImage::color( int i ) const
+{
+#if defined(QT_CHECK_RANGE)
+ if ( i &gt;= data-&gt;ncols )
+ warningIndexRange( "color", i );
+#endif
+ return data-&gt;ctbl ? data-&gt;ctbl[i] : (QRgb)-1;
+}
+
+inline void QImage::setColor( int i, QRgb c )
+{
+#if defined(QT_CHECK_RANGE)
+ if ( i &gt;= data-&gt;ncols )
+ warningIndexRange( "setColor", i );
+#endif
+ if ( data-&gt;ctbl )
+ data-&gt;ctbl[i] = c;
+}
+
+inline uchar *QImage::scanLine( int i ) const
+{
+#if defined(QT_CHECK_RANGE)
+ if ( i &gt;= data-&gt;h )
+ warningIndexRange( "scanLine", i );
+#endif
+ return data-&gt;bits ? data-&gt;bits[i] : 0;
+}
+
+inline int QImage::dotsPerMeterX() const
+{
+ return data-&gt;dpmx;
+}
+
+inline int QImage::dotsPerMeterY() const
+{
+ return data-&gt;dpmy;
+}
+
+inline QPoint QImage::offset() const
+{
+ return data-&gt;offset;
+}
+
+
+#endif // QIMAGE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimage-members.html b/doc/html/qimage-members.html
new file mode 100644
index 0000000..4783857
--- /dev/null
+++ b/doc/html/qimage-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qimage.h:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImage Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImage</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimage.html">QImage</a>, including inherited members.
+
+<ul>
+<li><a href="qimage.html#QImage">QImage</a>()
+<li><a href="qimage.html#~QImage">~QImage</a>()
+<li><a href="qimage.html#allGray">allGray</a>()
+<li><a href="qimage.html#bitOrder">bitOrder</a>()
+<li><a href="qimage.html#bits">bits</a>()
+<li><a href="qimage.html#bytesPerLine">bytesPerLine</a>()
+<li><a href="qimage.html#color">color</a>()
+<li><a href="qimage.html#colorTable">colorTable</a>()
+<li><a href="qimage.html#convertBitOrder">convertBitOrder</a>()
+<li><a href="qimage.html#convertDepth">convertDepth</a>()
+<li><a href="qimage.html#convertDepthWithPalette">convertDepthWithPalette</a>()
+<li><a href="qimage.html#copy">copy</a>()
+<li><a href="qimage.html#create">create</a>()
+<li><a href="qimage.html#createAlphaMask">createAlphaMask</a>()
+<li><a href="qimage.html#createHeuristicMask">createHeuristicMask</a>()
+<li><a href="qimage.html#depth">depth</a>()
+<li><a href="qimage.html#detach">detach</a>()
+<li><a href="qimage.html#dotsPerMeterX">dotsPerMeterX</a>()
+<li><a href="qimage.html#dotsPerMeterY">dotsPerMeterY</a>()
+<li><a href="qimage.html#fill">fill</a>()
+<li><a href="qimage.html#fromMimeSource">fromMimeSource</a>()
+<li><a href="qimage.html#hasAlphaBuffer">hasAlphaBuffer</a>()
+<li><a href="qimage.html#height">height</a>()
+<li><a href="qimage.html#imageFormat">imageFormat</a>()
+<li><a href="qimage.html#inputFormatList">inputFormatList</a>()
+<li><a href="qimage.html#inputFormats">inputFormats</a>()
+<li><a href="qimage.html#invertPixels">invertPixels</a>()
+<li><a href="qimage.html#isGrayscale">isGrayscale</a>()
+<li><a href="qimage.html#isNull">isNull</a>()
+<li><a href="qimage.html#jumpTable">jumpTable</a>()
+<li><a href="qimage.html#load">load</a>()
+<li><a href="qimage.html#loadFromData">loadFromData</a>()
+<li><a href="qimage.html#mirror">mirror</a>()
+<li><a href="qimage.html#numBytes">numBytes</a>()
+<li><a href="qimage.html#numColors">numColors</a>()
+<li><a href="qimage.html#offset">offset</a>()
+<li><a href="qimage.html#operator!-eq">operator!=</a>()
+<li><a href="qimage.html#operator-eq">operator=</a>()
+<li><a href="qimage.html#operator-eq-eq">operator==</a>()
+<li><a href="qimage.html#outputFormatList">outputFormatList</a>()
+<li><a href="qimage.html#outputFormats">outputFormats</a>()
+<li><a href="qimage.html#pixel">pixel</a>()
+<li><a href="qimage.html#pixelIndex">pixelIndex</a>()
+<li><a href="qimage.html#rect">rect</a>()
+<li><a href="qimage.html#reset">reset</a>()
+<li><a href="qimage.html#save">save</a>()
+<li><a href="qimage.html#scale">scale</a>()
+<li><a href="qimage.html#scaleHeight">scaleHeight</a>()
+<li><a href="qimage.html#scaleWidth">scaleWidth</a>()
+<li><a href="qimage.html#scanLine">scanLine</a>()
+<li><a href="qimage.html#setAlphaBuffer">setAlphaBuffer</a>()
+<li><a href="qimage.html#setColor">setColor</a>()
+<li><a href="qimage.html#setDotsPerMeterX">setDotsPerMeterX</a>()
+<li><a href="qimage.html#setDotsPerMeterY">setDotsPerMeterY</a>()
+<li><a href="qimage.html#setNumColors">setNumColors</a>()
+<li><a href="qimage.html#setOffset">setOffset</a>()
+<li><a href="qimage.html#setPixel">setPixel</a>()
+<li><a href="qimage.html#setText">setText</a>()
+<li><a href="qimage.html#size">size</a>()
+<li><a href="qimage.html#smoothScale">smoothScale</a>()
+<li><a href="qimage.html#swapRGB">swapRGB</a>()
+<li><a href="qimage.html#systemBitOrder">systemBitOrder</a>()
+<li><a href="qimage.html#systemByteOrder">systemByteOrder</a>()
+<li><a href="qimage.html#text">text</a>()
+<li><a href="qimage.html#textKeys">textKeys</a>()
+<li><a href="qimage.html#textLanguages">textLanguages</a>()
+<li><a href="qimage.html#textList">textList</a>()
+<li><a href="qimage.html#valid">valid</a>()
+<li><a href="qimage.html#width">width</a>()
+<li><a href="qimage.html#xForm">xForm</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimage.html b/doc/html/qimage.html
new file mode 100644
index 0000000..e2b88fd
--- /dev/null
+++ b/doc/html/qimage.html
@@ -0,0 +1,1117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qimage.cpp:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImage Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImage Class Reference</h1>
+
+<p>The QImage class provides a hardware-independent pixmap
+representation with direct access to the pixel data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;</tt>
+<p><a href="qimage-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Endian-enum"><b>Endian</b></a> { IgnoreEndian, BigEndian, LittleEndian }</li>
+<li class=fn><a href="#QImage"><b>QImage</b></a> ()</li>
+<li class=fn><a href="#QImage-2"><b>QImage</b></a> ( int&nbsp;w, int&nbsp;h, int&nbsp;depth, int&nbsp;numColors = 0, Endian&nbsp;bitOrder = IgnoreEndian )</li>
+<li class=fn><a href="#QImage-3"><b>QImage</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size, int&nbsp;depth, int&nbsp;numColors = 0, Endian&nbsp;bitOrder = IgnoreEndian )</li>
+<li class=fn><a href="#QImage-4"><b>QImage</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn><a href="#QImage-5"><b>QImage</b></a> ( const&nbsp;char&nbsp;*&nbsp;const&nbsp;xpm[] )</li>
+<li class=fn><a href="#QImage-6"><b>QImage</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;array )</li>
+<li class=fn><a href="#QImage-7"><b>QImage</b></a> ( uchar&nbsp;*&nbsp;yourdata, int&nbsp;w, int&nbsp;h, int&nbsp;depth, QRgb&nbsp;*&nbsp;colortable, int&nbsp;numColors, Endian&nbsp;bitOrder )</li>
+<li class=fn><a href="#QImage-8"><b>QImage</b></a> ( uchar&nbsp;*&nbsp;yourdata, int&nbsp;w, int&nbsp;h, int&nbsp;depth, int&nbsp;bpl, QRgb&nbsp;*&nbsp;colortable, int&nbsp;numColors, Endian&nbsp;bitOrder )</li>
+<li class=fn><a href="#QImage-9"><b>QImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn><a href="#~QImage"><b>~QImage</b></a> ()</li>
+<li class=fn>QImage &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>QImage &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;i ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;i ) const</li>
+<li class=fn>void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>QImage <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>QImage <a href="#copy-2"><b>copy</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;conversion_flags = 0 ) const</li>
+<li class=fn>QImage <a href="#copy-3"><b>copy</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>int <a href="#numColors"><b>numColors</b></a> () const</li>
+<li class=fn>Endian <a href="#bitOrder"><b>bitOrder</b></a> () const</li>
+<li class=fn>QRgb <a href="#color"><b>color</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( int&nbsp;i, QRgb&nbsp;c )</li>
+<li class=fn>void <a href="#setNumColors"><b>setNumColors</b></a> ( int&nbsp;numColors )</li>
+<li class=fn>bool <a href="#hasAlphaBuffer"><b>hasAlphaBuffer</b></a> () const</li>
+<li class=fn>void <a href="#setAlphaBuffer"><b>setAlphaBuffer</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#allGray"><b>allGray</b></a> () const</li>
+<li class=fn>bool <a href="#isGrayscale"><b>isGrayscale</b></a> () const</li>
+<li class=fn>uchar * <a href="#bits"><b>bits</b></a> () const</li>
+<li class=fn>uchar * <a href="#scanLine"><b>scanLine</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>uchar ** <a href="#jumpTable"><b>jumpTable</b></a> () const</li>
+<li class=fn>QRgb * <a href="#colorTable"><b>colorTable</b></a> () const</li>
+<li class=fn>int <a href="#numBytes"><b>numBytes</b></a> () const</li>
+<li class=fn>int <a href="#bytesPerLine"><b>bytesPerLine</b></a> () const</li>
+<li class=fn>bool <a href="#create"><b>create</b></a> ( int&nbsp;width, int&nbsp;height, int&nbsp;depth, int&nbsp;numColors = 0, Endian&nbsp;bitOrder = IgnoreEndian )</li>
+<li class=fn>bool <a href="#create-2"><b>create</b></a> ( const QSize &amp;, int&nbsp;depth, int&nbsp;numColors = 0, Endian&nbsp;bitOrder = IgnoreEndian )</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>void <a href="#fill"><b>fill</b></a> ( uint&nbsp;pixel )</li>
+<li class=fn>void <a href="#invertPixels"><b>invertPixels</b></a> ( bool&nbsp;invertAlpha = TRUE )</li>
+<li class=fn>QImage <a href="#convertDepth-2"><b>convertDepth</b></a> ( int&nbsp;depth ) const</li>
+<li class=fn>QImage <a href="#convertDepthWithPalette"><b>convertDepthWithPalette</b></a> ( int&nbsp;d, QRgb&nbsp;*&nbsp;palette, int&nbsp;palette_count, int&nbsp;conversion_flags = 0 ) const</li>
+<li class=fn>QImage <a href="#convertDepth"><b>convertDepth</b></a> ( int&nbsp;depth, int&nbsp;conversion_flags ) const</li>
+<li class=fn>QImage <a href="#convertBitOrder"><b>convertBitOrder</b></a> ( Endian&nbsp;bitOrder ) const</li>
+<li class=fn>enum <a href="#ScaleMode-enum"><b>ScaleMode</b></a> { ScaleFree, ScaleMin, ScaleMax }</li>
+<li class=fn>QImage <a href="#smoothScale"><b>smoothScale</b></a> ( int&nbsp;w, int&nbsp;h, ScaleMode&nbsp;mode = ScaleFree ) const</li>
+<li class=fn>QImage <a href="#smoothScale-2"><b>smoothScale</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, ScaleMode&nbsp;mode = ScaleFree ) const</li>
+<li class=fn>QImage <a href="#scale"><b>scale</b></a> ( int&nbsp;w, int&nbsp;h, ScaleMode&nbsp;mode = ScaleFree ) const</li>
+<li class=fn>QImage <a href="#scale-2"><b>scale</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, ScaleMode&nbsp;mode = ScaleFree ) const</li>
+<li class=fn>QImage <a href="#scaleWidth"><b>scaleWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>QImage <a href="#scaleHeight"><b>scaleHeight</b></a> ( int&nbsp;h ) const</li>
+<li class=fn>QImage <a href="#xForm"><b>xForm</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;matrix ) const</li>
+<li class=fn>QImage <a href="#createAlphaMask"><b>createAlphaMask</b></a> ( int&nbsp;conversion_flags = 0 ) const</li>
+<li class=fn>QImage <a href="#createHeuristicMask"><b>createHeuristicMask</b></a> ( bool&nbsp;clipTight = TRUE ) const</li>
+<li class=fn>QImage <a href="#mirror"><b>mirror</b></a> () const</li>
+<li class=fn>QImage <a href="#mirror-2"><b>mirror</b></a> ( bool&nbsp;horizontal, bool&nbsp;vertical ) const</li>
+<li class=fn>QImage <a href="#swapRGB"><b>swapRGB</b></a> () const</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#loadFromData"><b>loadFromData</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#loadFromData-2"><b>loadFromData</b></a> ( QByteArray&nbsp;buf, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#save"><b>save</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const</li>
+<li class=fn>bool <a href="#save-2"><b>save</b></a> ( QIODevice&nbsp;*&nbsp;device, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const</li>
+<li class=fn>bool <a href="#valid"><b>valid</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>int <a href="#pixelIndex"><b>pixelIndex</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>QRgb <a href="#pixel"><b>pixel</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>void <a href="#setPixel"><b>setPixel</b></a> ( int&nbsp;x, int&nbsp;y, uint&nbsp;index_or_rgb )</li>
+<li class=fn>int <a href="#dotsPerMeterX"><b>dotsPerMeterX</b></a> () const</li>
+<li class=fn>int <a href="#dotsPerMeterY"><b>dotsPerMeterY</b></a> () const</li>
+<li class=fn>void <a href="#setDotsPerMeterX"><b>setDotsPerMeterX</b></a> ( int&nbsp;x )</li>
+<li class=fn>void <a href="#setDotsPerMeterY"><b>setDotsPerMeterY</b></a> ( int&nbsp;y )</li>
+<li class=fn>QPoint <a href="#offset"><b>offset</b></a> () const</li>
+<li class=fn>void <a href="#setOffset"><b>setOffset</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QValueList&lt;QImageTextKeyLang&gt; <a href="#textList"><b>textList</b></a> () const</li>
+<li class=fn>QStringList <a href="#textLanguages"><b>textLanguages</b></a> () const</li>
+<li class=fn>QStringList <a href="#textKeys"><b>textKeys</b></a> () const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;char&nbsp;*&nbsp;lang = 0 ) const</li>
+<li class=fn>QString <a href="#text-2"><b>text</b></a> ( const&nbsp;QImageTextKeyLang&nbsp;&amp;&nbsp;kl ) const</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;char&nbsp;*&nbsp;lang, const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QImage <a href="#fromMimeSource"><b>fromMimeSource</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name )</li>
+<li class=fn>Endian <a href="#systemBitOrder"><b>systemBitOrder</b></a> ()</li>
+<li class=fn>Endian <a href="#systemByteOrder"><b>systemByteOrder</b></a> ()</li>
+<li class=fn>const char * <a href="#imageFormat"><b>imageFormat</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>QStrList <a href="#inputFormats"><b>inputFormats</b></a> ()</li>
+<li class=fn>QStrList <a href="#outputFormats"><b>outputFormats</b></a> ()</li>
+<li class=fn>QStringList <a href="#inputFormatList"><b>inputFormatList</b></a> ()</li>
+<li class=fn>QStringList <a href="#outputFormatList"><b>outputFormatList</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>void <a href="#bitBlt"><b>bitBlt</b></a> ( QImage&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;QImage&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh, int&nbsp;conversion_flags )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImage class provides a hardware-independent pixmap
+representation with direct access to the pixel data.
+<p>
+
+
+
+<p> It is one of the two classes Qt provides for dealing with images,
+the other being <a href="qpixmap.html">QPixmap</a>. QImage is designed and optimized for I/O
+and for direct pixel access/manipulation. QPixmap is designed and
+optimized for drawing. There are (slow) functions to convert
+between QImage and QPixmap: <a href="qpixmap.html#convertToImage">QPixmap::convertToImage</a>() and
+<a href="qpixmap.html#convertFromImage">QPixmap::convertFromImage</a>().
+<p> An image has the parameters <a href="#width">width</a>, <a href="#height">height</a> and <a href="#depth">depth</a> (bits per
+pixel, bpp), a color table and the actual <a href="#bits">pixels</a>. QImage supports 1-bpp, 8-bpp and 32-bpp image
+data. 1-bpp and 8-bpp images use a color lookup table; the pixel
+value is a color table index.
+<p> 32-bpp images encode an RGB value in 24 bits and ignore the color
+table. The most significant byte is used for the <a href="#setAlphaBuffer">alpha buffer</a>.
+<p> An entry in the color table is an RGB triplet encoded as a <tt>uint</tt>. Use the <a href="qcolor.html#qRed">qRed()</a>, <a href="qcolor.html#qGreen">qGreen()</a> and <a href="qcolor.html#qBlue">qBlue()</a> functions (<a href="qcolor-h.html">qcolor.h</a>) to access the components, and <a href="qcolor.html#qRgb">qRgb</a> to make an RGB triplet (see the <a href="qcolor.html">QColor</a> class
+documentation).
+<p> 1-bpp (monochrome) images have a color table with a most two
+colors. There are two different formats: big endian (MSB first) or
+little endian (LSB first) bit order. To access a single bit you
+will must do some bit shifts:
+<p> <pre>
+ QImage image;
+ // sets bit at (x,y) to 1
+ if ( image.<a href="#bitOrder">bitOrder</a>() == QImage::<a href="#Endian-enum">LittleEndian</a> )
+ *(image.<a href="#scanLine">scanLine</a>(y) + (x &gt;&gt; 3)) |= 1 &lt;&lt; (x &amp; 7);
+ else
+ *(image.<a href="#scanLine">scanLine</a>(y) + (x &gt;&gt; 3)) |= 1 &lt;&lt; (7 - (x &amp; 7));
+ </pre>
+
+<p> If this looks complicated, it might be a good idea to convert the
+1-bpp image to an 8-bpp image using <a href="#convertDepth">convertDepth</a>().
+<p> 8-bpp images are much easier to work with than 1-bpp images
+because they have a single byte per pixel:
+<p> <pre>
+ QImage image;
+ // set entry 19 in the color table to yellow
+ image.<a href="#setColor">setColor</a>( 19, qRgb(255,255,0) );
+ // set 8 bit pixel at (x,y) to value yellow (in color table)
+ *(image.<a href="#scanLine">scanLine</a>(y) + x) = 19;
+ </pre>
+
+<p> 32-bpp images ignore the color table; instead, each pixel contains
+the RGB triplet. 24 bits contain the RGB value; the most
+significant byte is reserved for the alpha buffer.
+<p> <pre>
+ QImage image;
+ // sets 32 bit pixel at (x,y) to yellow.
+ uint *p = (uint *)image.<a href="#scanLine">scanLine</a>(y) + x;
+ *p = <a href="qcolor.html#qRgb">qRgb</a>(255,255,0);
+ </pre>
+
+<p> On Qt/Embedded, scanlines are aligned to the pixel depth and may
+be padded to any degree, while on all other platforms, the
+scanlines are 32-bit aligned for all depths. The constructor
+taking a <tt>uchar*</tt> argument always expects 32-bit aligned data.
+On Qt/Embedded, an additional constructor allows the number of
+bytes-per-line to be specified.
+<p> QImage supports a variety of methods for getting information about
+the image, for example, <a href="#colorTable">colorTable</a>(), <a href="#allGray">allGray</a>(), <a href="#isGrayscale">isGrayscale</a>(),
+<a href="#bitOrder">bitOrder</a>(), <a href="#bytesPerLine">bytesPerLine</a>(), <a href="#depth">depth</a>(), <a href="#dotsPerMeterX">dotsPerMeterX</a>() and
+<a href="#dotsPerMeterY">dotsPerMeterY</a>(), <a href="#hasAlphaBuffer">hasAlphaBuffer</a>(), <a href="#numBytes">numBytes</a>(), <a href="#numColors">numColors</a>(), and
+<a href="#width">width</a>() and <a href="#height">height</a>().
+<p> Pixel colors are retrieved with <a href="#pixel">pixel</a>() and set with <a href="#setPixel">setPixel</a>().
+<p> QImage also supports a number of functions for creating a new
+image that is a transformed version of the original. For example,
+<a href="#copy">copy</a>(), <a href="#convertBitOrder">convertBitOrder</a>(), <a href="#convertDepth">convertDepth</a>(), <a href="#createAlphaMask">createAlphaMask</a>(),
+<a href="#createHeuristicMask">createHeuristicMask</a>(), <a href="#mirror">mirror</a>(), <a href="#scale">scale</a>(), <a href="#smoothScale">smoothScale</a>(), <a href="#swapRGB">swapRGB</a>()
+and <a href="#xForm">xForm</a>(). There are also functions for changing attributes of
+an image in-place, for example, <a href="#setAlphaBuffer">setAlphaBuffer</a>(), <a href="#setColor">setColor</a>(),
+<a href="#setDotsPerMeterX">setDotsPerMeterX</a>() and <a href="#setDotsPerMeterY">setDotsPerMeterY</a>() and <a href="#setNumColors">setNumColors</a>().
+<p> Images can be loaded and saved in the supported formats. Images
+are saved to a file with <a href="#save">save</a>(). Images are loaded from a file
+with <a href="#load">load</a>() (or in the constructor) or from an array of data with
+<a href="#loadFromData">loadFromData</a>(). The lists of supported formats are available from
+<a href="#inputFormatList">inputFormatList</a>() and <a href="#outputFormatList">outputFormatList</a>().
+<p> Strings of text may be added to images using <a href="#setText">setText</a>().
+<p> The QImage class uses explicit <a href="shclass.html">sharing</a>,
+similar to that used by <a href="qmemarray.html">QMemArray</a>.
+<p> New image formats can be added as <a href="plugins-howto.html">plugins</a>.
+<p> <p>See also <a href="qimageio.html">QImageIO</a>, <a href="qpixmap.html">QPixmap</a>, <a href="shclass.html">Shared Classes</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Endian-enum"></a>QImage::Endian</h3>
+
+<p> This enum type is used to describe the endianness of the CPU and
+graphics hardware.
+<ul>
+<li><tt>QImage::IgnoreEndian</tt> - Endianness does not matter. Useful for some
+operations that are independent of endianness.
+<li><tt>QImage::BigEndian</tt> - Network byte order, as on SPARC and Motorola CPUs.
+<li><tt>QImage::LittleEndian</tt> - PC/Alpha byte order.
+</ul>
+<h3 class=fn><a name="ScaleMode-enum"></a>QImage::ScaleMode</h3>
+
+<p> The functions <a href="#scale">scale</a>() and <a href="#smoothScale">smoothScale</a>() use different modes for
+scaling the image. The purpose of these modes is to retain the
+ratio of the image if this is required.
+<p> <center><img src="scaling.png"></center>
+<ul>
+<li><tt>QImage::ScaleFree</tt> - The image is scaled freely: the resulting image
+fits exactly into the specified size; the ratio will not
+necessarily be preserved.
+<li><tt>QImage::ScaleMin</tt> - The ratio of the image is preserved and the
+resulting image is guaranteed to fit into the specified size
+(it is as large as possible within these constraints) - the
+image might be smaller than the requested size.
+<li><tt>QImage::ScaleMax</tt> - The ratio of the image is preserved and the
+resulting image fills the whole specified rectangle (it is as
+small as possible within these constraints) - the image might
+be larger than the requested size.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImage"></a>QImage::QImage ()
+</h3>
+Constructs a null image.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QImage-2"></a>QImage::QImage ( int&nbsp;w, int&nbsp;h, int&nbsp;depth, int&nbsp;numColors = 0, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder = IgnoreEndian )
+</h3>
+Constructs an image with <em>w</em> width, <em>h</em> height, <em>depth</em> bits
+per pixel, <em>numColors</em> colors and bit order <em>bitOrder</em>.
+<p> Using this constructor is the same as first constructing a null
+image and then calling the <a href="#create">create</a>() function.
+<p> <p>See also <a href="#create">create</a>().
+
+<h3 class=fn><a name="QImage-3"></a>QImage::QImage ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size, int&nbsp;depth, int&nbsp;numColors = 0, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder = IgnoreEndian )
+</h3>
+Constructs an image with size <em>size</em> pixels, depth <em>depth</em> bits,
+<em>numColors</em> and <em>bitOrder</em> endianness.
+<p> Using this constructor is the same as first constructing a null
+image and then calling the <a href="#create">create</a>() function.
+<p> <p>See also <a href="#create">create</a>().
+
+<h3 class=fn><a name="QImage-4"></a>QImage::QImage ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Constructs an image and tries to load the image from the file <em>fileName</em>.
+<p> If <em>format</em> is specified, the loader attempts to read the image
+using the specified format. If <em>format</em> is not specified (which
+is the default), the loader reads a few bytes from the header to
+guess the file format.
+<p> If the loading of the image failed, this object is a <a href="#isNull">null</a> image.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats and
+explains how to add extra formats.
+<p> <p>See also <a href="#load">load</a>(), <a href="#isNull">isNull</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn><a name="QImage-5"></a>QImage::QImage ( const&nbsp;char&nbsp;*&nbsp;const&nbsp;xpm[] )
+</h3>
+Constructs an image from <em>xpm</em>, which must be a valid XPM image.
+<p> Errors are silently ignored.
+<p> Note that it's possible to squeeze the XPM variable a little bit
+by using an unusual declaration:
+<p> <pre>
+ static const char * const start_xpm[]={
+ "16 15 8 1",
+ "a c #cec6bd",
+ ....
+ </pre>
+
+<p> The extra <tt>const</tt> makes the entire definition read-only, which is
+slightly more efficient (e.g. when the code is in a shared
+library) and ROMable when the application is to be stored in ROM.
+
+<h3 class=fn><a name="QImage-6"></a>QImage::QImage ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;array )
+</h3>
+Constructs an image from the binary data <em>array</em>. It tries to
+guess the file format.
+<p> If the loading of the image failed, this object is a <a href="#isNull">null</a> image.
+<p> <p>See also <a href="#loadFromData">loadFromData</a>(), <a href="#isNull">isNull</a>(), and <a href="#imageFormat">imageFormat</a>().
+
+<h3 class=fn><a name="QImage-7"></a>QImage::QImage ( uchar&nbsp;*&nbsp;yourdata, int&nbsp;w, int&nbsp;h, int&nbsp;depth, QRgb&nbsp;*&nbsp;colortable, int&nbsp;numColors, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder )
+</h3>
+Constructs an image <em>w</em> pixels wide, <em>h</em> pixels high with a
+color depth of <em>depth</em>, that uses an existing memory buffer, <em>yourdata</em>. The buffer must remain valid throughout the life of the
+QImage. The image does not delete the buffer at destruction.
+<p> If <em>colortable</em> is 0, a color table sufficient for <em>numColors</em>
+will be allocated (and destructed later).
+<p> Note that <em>yourdata</em> must be 32-bit aligned.
+<p> The endianness is given in <em>bitOrder</em>.
+
+<h3 class=fn><a name="QImage-8"></a>QImage::QImage ( uchar&nbsp;*&nbsp;yourdata, int&nbsp;w, int&nbsp;h, int&nbsp;depth, int&nbsp;bpl, QRgb&nbsp;*&nbsp;colortable, int&nbsp;numColors, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder )
+</h3>
+Constructs an image that uses an existing memory buffer. The
+buffer must remain valid for the life of the QImage. The image
+does not delete the buffer at destruction. The buffer is passed as
+<em>yourdata</em>. The image's width is <em>w</em> and its height is <em>h</em>. The
+color depth is <em>depth</em>. <em>bpl</em> specifies the number of bytes per
+line.
+<p> If <em>colortable</em> is 0, a color table sufficient for <em>numColors</em>
+will be allocated (and destructed later).
+<p> The endianness is specified by <em>bitOrder</em>.
+<p> <b>Warning:</b> This constructor is only available on Qt/Embedded.
+
+<h3 class=fn><a name="QImage-9"></a>QImage::QImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+Constructs a <a href="shclass.html">shallow copy</a> of <em>image</em>.
+
+<h3 class=fn><a name="~QImage"></a>QImage::~QImage ()
+</h3>
+Destroys the image and cleans up.
+
+<h3 class=fn>bool <a name="allGray"></a>QImage::allGray () const
+</h3>
+Returns TRUE if all the colors in the image are shades of gray
+(i.e. their red, green and blue components are equal); otherwise
+returns FALSE.
+<p> This function is slow for large 16-bit (Qt/Embedded only) and 32-bit images.
+<p> <p>See also <a href="#isGrayscale">isGrayscale</a>().
+
+<h3 class=fn><a href="qimage.html#Endian-enum">Endian</a> <a name="bitOrder"></a>QImage::bitOrder () const
+</h3>
+
+<p> Returns the bit order for the image.
+<p> If it is a 1-bpp image, this function returns either
+QImage::BigEndian or QImage::LittleEndian.
+<p> If it is not a 1-bpp image, this function returns
+QImage::IgnoreEndian.
+<p> <p>See also <a href="#depth">depth</a>().
+
+<h3 class=fn>uchar * <a name="bits"></a>QImage::bits () const
+</h3>
+
+<p> Returns a pointer to the first pixel data. This is equivalent to
+<a href="#scanLine">scanLine</a>(0).
+<p> <p>See also <a href="#numBytes">numBytes</a>(), <a href="#scanLine">scanLine</a>(), and <a href="#jumpTable">jumpTable</a>().
+
+<p>Example: <a href="qglwidget.html#x2119">opengl/texture/gltexobj.cpp</a>.
+<h3 class=fn>int <a name="bytesPerLine"></a>QImage::bytesPerLine () const
+</h3>
+
+<p> Returns the number of bytes per image scanline. This is equivalent
+to <a href="#numBytes">numBytes</a>()/height().
+<p> <p>See also <a href="#numBytes">numBytes</a>() and <a href="#scanLine">scanLine</a>().
+
+<h3 class=fn>QRgb <a name="color"></a>QImage::color ( int&nbsp;i ) const
+</h3>
+
+<p> Returns the color in the color table at index <em>i</em>. The first
+color is at index 0.
+<p> A color value is an RGB triplet. Use the <a href="qcolor.html#qRed">qRed()</a>, <a href="qcolor.html#qGreen">qGreen()</a> and <a href="qcolor.html#qBlue">qBlue()</a> functions (defined in <a href="qcolor-h.html">qcolor.h</a>) to
+get the color value components.
+<p> <p>See also <a href="#setColor">setColor</a>(), <a href="#numColors">numColors</a>(), and <a href="qcolor.html">QColor</a>.
+
+<p>Example: <a href="themes-example.html#x207">themes/wood.cpp</a>.
+<h3 class=fn>QRgb * <a name="colorTable"></a>QImage::colorTable () const
+</h3>
+
+<p> Returns a pointer to the color table.
+<p> <p>See also <a href="#numColors">numColors</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertBitOrder"></a>QImage::convertBitOrder ( <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder ) const
+</h3>
+Converts the bit order of the image to <em>bitOrder</em> and returns the
+converted image. The original image is not changed.
+<p> Returns <tt>*this</tt> if the <em>bitOrder</em> is equal to the image bit
+order, or a <a href="#isNull">null</a> image if this image cannot
+be converted.
+<p> <p>See also <a href="#bitOrder">bitOrder</a>(), <a href="#systemBitOrder">systemBitOrder</a>(), and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertDepth"></a>QImage::convertDepth ( int&nbsp;depth, int&nbsp;conversion_flags ) const
+</h3>
+Converts the depth (bpp) of the image to <em>depth</em> and returns the
+converted image. The original image is not changed.
+<p> The <em>depth</em> argument must be 1, 8, 16 (Qt/Embedded only) or 32.
+<p> Returns <tt>*this</tt> if <em>depth</em> is equal to the image depth, or a
+<a href="#isNull">null</a> image if this image cannot be
+converted.
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversion_flags</em> to specify how you'd prefer this to happen.
+<p> <p>See also <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>, <a href="#depth">depth</a>(), and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertDepth-2"></a>QImage::convertDepth ( int&nbsp;depth ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertDepthWithPalette"></a>QImage::convertDepthWithPalette ( int&nbsp;d, QRgb&nbsp;*&nbsp;palette, int&nbsp;palette_count, int&nbsp;conversion_flags = 0 ) const
+</h3>
+Returns an image with depth <em>d</em>, using the <em>palette_count</em>
+colors pointed to by <em>palette</em>. If <em>d</em> is 1 or 8, the returned
+image will have its color table ordered the same as <em>palette</em>.
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversion_flags</em> to specify how you'd prefer this to happen.
+<p> Note: currently no closest-color search is made. If colors are
+found that are not in the palette, the palette may not be used at
+all. This result should not be considered valid because it may
+change in future implementations.
+<p> Currently inefficient for non-32-bit images.
+<p> <p>See also <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="copy"></a>QImage::copy () const
+</h3>
+Returns a <a href="shclass.html">deep copy</a> of the image.
+<p> <p>See also <a href="#detach">detach</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="copy-2"></a>QImage::copy ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;conversion_flags = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="shclass.html">deep copy</a> of a sub-area of
+the image.
+<p> The returned image is always <em>w</em> by <em>h</em> pixels in size, and is
+copied from position <em>x</em>, <em>y</em> in this image. In areas beyond
+this image pixels are filled with pixel 0.
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversion_flags</em> to specify how you'd prefer this to happen.
+<p> <p>See also <a href="#bitBlt">bitBlt</a>() and <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="copy-3"></a>QImage::copy ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="shclass.html">deep copy</a> of a sub-area of
+the image.
+<p> The returned image always has the size of the rectangle <em>r</em>. In
+areas beyond this image pixels are filled with pixel 0.
+
+<h3 class=fn>bool <a name="create"></a>QImage::create ( int&nbsp;width, int&nbsp;height, int&nbsp;depth, int&nbsp;numColors = 0, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder = IgnoreEndian )
+</h3>
+Sets the image <em>width</em>, <em>height</em>, <em>depth</em>, its number of colors
+(in <em>numColors</em>), and bit order. Returns TRUE if successful, or
+FALSE if the parameters are incorrect or if memory cannot be
+allocated.
+<p> The <em>width</em> and <em>height</em> is limited to 32767. <em>depth</em> must be
+1, 8, or 32. If <em>depth</em> is 1, <em>bitOrder</em> must be set to
+either QImage::LittleEndian or QImage::BigEndian. For other depths
+<em>bitOrder</em> must be QImage::IgnoreEndian.
+<p> This function allocates a color table and a buffer for the image
+data. The image data is not initialized.
+<p> The image buffer is allocated as a single block that consists of a
+table of <a href="#scanLine">scanline</a> pointers (<a href="#jumpTable">jumpTable</a>())
+and the image data (<a href="#bits">bits</a>()).
+<p> <p>See also <a href="#fill">fill</a>(), <a href="#width">width</a>(), <a href="#height">height</a>(), <a href="#depth">depth</a>(), <a href="#numColors">numColors</a>(), <a href="#bitOrder">bitOrder</a>(), <a href="#jumpTable">jumpTable</a>(), <a href="#scanLine">scanLine</a>(), <a href="#bits">bits</a>(), <a href="#bytesPerLine">bytesPerLine</a>(), and <a href="#numBytes">numBytes</a>().
+
+<h3 class=fn>bool <a name="create-2"></a>QImage::create ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;, int&nbsp;depth, int&nbsp;numColors = 0, <a href="qimage.html#Endian-enum">Endian</a>&nbsp;bitOrder = IgnoreEndian )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="createAlphaMask"></a>QImage::createAlphaMask ( int&nbsp;conversion_flags = 0 ) const
+</h3>
+Builds and returns a 1-bpp mask from the alpha buffer in this
+image. Returns a <a href="#isNull">null</a> image if <a href="#setAlphaBuffer">alpha buffer mode</a> is disabled.
+<p> See <a href="qpixmap.html#convertFromImage">QPixmap::convertFromImage</a>() for a description of the <em>conversion_flags</em> argument.
+<p> The returned image has little-endian bit order, which you can
+convert to big-endianness using <a href="#convertBitOrder">convertBitOrder</a>().
+<p> <p>See also <a href="#createHeuristicMask">createHeuristicMask</a>(), <a href="#hasAlphaBuffer">hasAlphaBuffer</a>(), and <a href="#setAlphaBuffer">setAlphaBuffer</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="createHeuristicMask"></a>QImage::createHeuristicMask ( bool&nbsp;clipTight = TRUE ) const
+</h3>
+Creates and returns a 1-bpp heuristic mask for this image. It
+works by selecting a color from one of the corners, then chipping
+away pixels of that color starting at all the edges.
+<p> The four corners vote for which color is to be masked away. In
+case of a draw (this generally means that this function is not
+applicable to the image), the result is arbitrary.
+<p> The returned image has little-endian bit order, which you can
+convert to big-endianness using <a href="#convertBitOrder">convertBitOrder</a>().
+<p> If <em>clipTight</em> is TRUE the mask is just large enough to cover the
+pixels; otherwise, the mask is larger than the data pixels.
+<p> This function disregards the <a href="#hasAlphaBuffer">alpha buffer</a>.
+<p> <p>See also <a href="#createAlphaMask">createAlphaMask</a>().
+
+<h3 class=fn>int <a name="depth"></a>QImage::depth () const
+</h3>
+
+<p> Returns the depth of the image.
+<p> The image depth is the number of bits used to encode a single
+pixel, also called bits per pixel (bpp) or bit planes of an image.
+<p> The supported depths are 1, 8, 16 (Qt/Embedded only) and 32.
+<p> <p>See also <a href="#convertDepth">convertDepth</a>().
+
+<h3 class=fn>void <a name="detach"></a>QImage::detach ()
+</h3>
+Detaches from shared image data and makes sure that this image is
+the only one referring to the data.
+<p> If multiple images share common data, this image makes a copy of
+the data and detaches itself from the sharing mechanism.
+Nothing is done if there is just a single reference.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<p>Example: <a href="themes-example.html#x208">themes/wood.cpp</a>.
+<h3 class=fn>int <a name="dotsPerMeterX"></a>QImage::dotsPerMeterX () const
+</h3>
+
+<p> Returns the number of pixels that fit horizontally in a physical
+meter. This and <a href="#dotsPerMeterY">dotsPerMeterY</a>() define the intended scale and
+aspect ratio of the image.
+<p> <p>See also <a href="#setDotsPerMeterX">setDotsPerMeterX</a>().
+
+<h3 class=fn>int <a name="dotsPerMeterY"></a>QImage::dotsPerMeterY () const
+</h3>
+
+<p> Returns the number of pixels that fit vertically in a physical
+meter. This and <a href="#dotsPerMeterX">dotsPerMeterX</a>() define the intended scale and
+aspect ratio of the image.
+<p> <p>See also <a href="#setDotsPerMeterY">setDotsPerMeterY</a>().
+
+<h3 class=fn>void <a name="fill"></a>QImage::fill ( uint&nbsp;pixel )
+</h3>
+Fills the entire image with the pixel value <em>pixel</em>.
+<p> If the <a href="#depth">depth</a> of this image is 1, only the
+lowest bit is used. If you say <a href="#fill">fill</a>(0), fill(2), etc., the image
+is filled with 0s. If you say fill(1), fill(3), etc., the image is
+filled with 1s. If the depth is 8, the lowest 8 bits are used.
+<p> If the depth is 32 and the image has no alpha buffer, the <em>pixel</em>
+value is written to each pixel in the image. If the image has an
+alpha buffer, only the 24 RGB bits are set and the upper 8 bits
+(alpha value) are left unchanged.
+<p> Note: <a href="#pixel">QImage::pixel</a>() returns the color of the pixel at the given
+coordinates; <a href="qcolor.html#pixel">QColor::pixel</a>() returns the pixel value of the
+underlying window system (essentially an index value), so normally
+you will want to use QImage::pixel() to use a color from an
+existing image or <a href="qcolor.html#rgb">QColor::rgb</a>() to use a specific color.
+<p> <p>See also <a href="#invertPixels">invertPixels</a>(), <a href="#depth">depth</a>(), <a href="#hasAlphaBuffer">hasAlphaBuffer</a>(), and <a href="#create">create</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="fromMimeSource"></a>QImage::fromMimeSource ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name )<tt> [static]</tt>
+</h3> Convenience function. Gets the data associated with the absolute
+name <em>abs_name</em> from the default mime source factory and decodes it
+to an image.
+<p> <p>See also <a href="qmimesourcefactory.html">QMimeSourceFactory</a>, <a href="#fromMimeSource">QImage::fromMimeSource</a>(), and <a href="qimagedrag.html#decode">QImageDrag::decode</a>().
+
+<h3 class=fn>bool <a name="hasAlphaBuffer"></a>QImage::hasAlphaBuffer () const
+</h3>
+
+<p> Returns TRUE if alpha buffer mode is enabled; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setAlphaBuffer">setAlphaBuffer</a>().
+
+<h3 class=fn>int <a name="height"></a>QImage::height () const
+</h3>
+
+<p> Returns the height of the image.
+<p> <p>See also <a href="#width">width</a>(), <a href="#size">size</a>(), and <a href="#rect">rect</a>().
+
+<p>Examples: <a href="canvas-example.html#x2932">canvas/canvas.cpp</a> and <a href="qglwidget.html#x2120">opengl/texture/gltexobj.cpp</a>.
+<h3 class=fn>const char * <a name="imageFormat"></a>QImage::imageFormat ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+Returns a string that specifies the image format of the file <em>fileName</em>, or 0 if the file cannot be read or if the format is not
+recognized.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the guaranteed supported image
+formats, or use <a href="#inputFormats">QImage::inputFormats</a>() and <a href="#outputFormats">QImage::outputFormats</a>()
+to get lists that include the installed formats.
+<p> <p>See also <a href="#load">load</a>() and <a href="#save">save</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="inputFormatList"></a>QImage::inputFormatList ()<tt> [static]</tt>
+</h3>
+Returns a list of image formats that are supported for image
+input.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myImage.inputFormatList();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#outputFormatList">outputFormatList</a>(), <a href="#inputFormats">inputFormats</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<p>Example: <a href="showimg-example.html#x1321">showimg/showimg.cpp</a>.
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="inputFormats"></a>QImage::inputFormats ()<tt> [static]</tt>
+</h3>
+Returns a list of image formats that are supported for image
+input.
+<p> <p>See also <a href="#outputFormats">outputFormats</a>(), <a href="#inputFormatList">inputFormatList</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn>void <a name="invertPixels"></a>QImage::invertPixels ( bool&nbsp;invertAlpha = TRUE )
+</h3>
+Inverts all pixel values in the image.
+<p> If the depth is 32: if <em>invertAlpha</em> is TRUE, the alpha bits are
+also inverted, otherwise they are left unchanged.
+<p> If the depth is not 32, the argument <em>invertAlpha</em> has no
+meaning.
+<p> Note that inverting an 8-bit image means to replace all pixels
+using color index <em>i</em> with a pixel using color index 255 minus <em>i</em>. Similarly for a 1-bit image. The color table is not changed.
+<p> <p>See also <a href="#fill">fill</a>(), <a href="#depth">depth</a>(), and <a href="#hasAlphaBuffer">hasAlphaBuffer</a>().
+
+<h3 class=fn>bool <a name="isGrayscale"></a>QImage::isGrayscale () const
+</h3>
+For 16-bit (Qt/Embedded only) and 32-bit images, this function is
+equivalent to <a href="#allGray">allGray</a>().
+<p> For 8-bpp images, this function returns TRUE if <a href="#color">color</a>(i) is
+QRgb(i,i,i) for all indices of the color table; otherwise returns
+FALSE.
+<p> <p>See also <a href="#allGray">allGray</a>() and <a href="#depth">depth</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QImage::isNull () const
+</h3>
+
+<p> Returns TRUE if it is a null image; otherwise returns FALSE.
+<p> A null image has all parameters set to zero and no allocated data.
+
+<p>Example: <a href="showimg-example.html#x1322">showimg/showimg.cpp</a>.
+<h3 class=fn>uchar ** <a name="jumpTable"></a>QImage::jumpTable () const
+</h3>
+
+<p> Returns a pointer to the scanline pointer table.
+<p> This is the beginning of the data block for the image.
+<p> <p>See also <a href="#bits">bits</a>() and <a href="#scanLine">scanLine</a>().
+
+<h3 class=fn>bool <a name="load"></a>QImage::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Loads an image from the file <em>fileName</em>. Returns TRUE if the
+image was successfully loaded; otherwise returns FALSE.
+<p> If <em>format</em> is specified, the loader attempts to read the image
+using the specified format. If <em>format</em> is not specified (which
+is the default), the loader reads a few bytes from the header to
+guess the file format.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats and
+explains how to add extra formats.
+<p> <p>See also <a href="#loadFromData">loadFromData</a>(), <a href="#save">save</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qpixmap.html#load">QPixmap::load</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn>bool <a name="loadFromData"></a>QImage::loadFromData ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Loads an image from the first <em>len</em> bytes of binary data in <em>buf</em>. Returns TRUE if the image was successfully loaded; otherwise
+returns FALSE.
+<p> If <em>format</em> is specified, the loader attempts to read the image
+using the specified format. If <em>format</em> is not specified (which
+is the default), the loader reads a few bytes from the header to
+guess the file format.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats and
+explains how to add extra formats.
+<p> <p>See also <a href="#load">load</a>(), <a href="#save">save</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qpixmap.html#loadFromData">QPixmap::loadFromData</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn>bool <a name="loadFromData-2"></a>QImage::loadFromData ( <a href="qbytearray.html">QByteArray</a>&nbsp;buf, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads an image from the <a href="qbytearray.html">QByteArray</a> <em>buf</em>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="mirror"></a>QImage::mirror () const
+</h3>
+Returns a QImage which is a vertically mirrored copy of this
+image. The original QImage is not changed.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="mirror-2"></a>QImage::mirror ( bool&nbsp;horizontal, bool&nbsp;vertical ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a mirror of the image, mirrored in the horizontal and/or
+the vertical direction depending on whether <em>horizontal</em> and <em>vertical</em> are set to TRUE or FALSE. The original image is not
+changed.
+<p> <p>See also <a href="#smoothScale">smoothScale</a>().
+
+<h3 class=fn>int <a name="numBytes"></a>QImage::numBytes () const
+</h3>
+
+<p> Returns the number of bytes occupied by the image data.
+<p> <p>See also <a href="#bytesPerLine">bytesPerLine</a>() and <a href="#bits">bits</a>().
+
+<h3 class=fn>int <a name="numColors"></a>QImage::numColors () const
+</h3>
+
+<p> Returns the size of the color table for the image.
+<p> Notice that <a href="#numColors">numColors</a>() returns 0 for 16-bpp (Qt/Embedded only)
+and 32-bpp images because these images do not use color tables,
+but instead encode pixel values as RGB triplets.
+<p> <p>See also <a href="#setNumColors">setNumColors</a>() and <a href="#colorTable">colorTable</a>().
+
+<p>Example: <a href="themes-example.html#x209">themes/wood.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="offset"></a>QImage::offset () const
+</h3>
+
+<p> Returns the number of pixels by which the image is intended to be
+offset by when positioning relative to other images.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QImage::operator!= ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i ) const
+</h3>
+Returns TRUE if this image and image <em>i</em> have different contents;
+otherwise returns FALSE. The comparison can be slow, unless there
+is some obvious difference, such as different widths, in which
+case the function will return quickly.
+<p> <p>See also <a href="#operator-eq">operator=</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a>&nbsp;&amp; <a name="operator-eq"></a>QImage::operator= ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+Assigns a <a href="shclass.html">shallow copy</a> of <em>image</em> to
+this image and returns a reference to this image.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a>&nbsp;&amp; <a name="operator-eq-2"></a>QImage::operator= ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the image bits to the <em>pixmap</em> contents and returns a
+reference to the image.
+<p> If the image shares data with other images, it will first
+dereference the shared data.
+<p> Makes a call to <a href="qpixmap.html#convertToImage">QPixmap::convertToImage</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QImage::operator== ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i ) const
+</h3>
+Returns TRUE if this image and image <em>i</em> have the same contents;
+otherwise returns FALSE. The comparison can be slow, unless there
+is some obvious difference, such as different widths, in which
+case the function will return quickly.
+<p> <p>See also <a href="#operator-eq">operator=</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="outputFormatList"></a>QImage::outputFormatList ()<tt> [static]</tt>
+</h3>
+Returns a list of image formats that are supported for image
+output.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myImage.outputFormatList();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#inputFormatList">inputFormatList</a>(), <a href="#outputFormats">outputFormats</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="outputFormats"></a>QImage::outputFormats ()<tt> [static]</tt>
+</h3>
+Returns a list of image formats that are supported for image
+output.
+<p> <p>See also <a href="#inputFormats">inputFormats</a>(), <a href="#outputFormatList">outputFormatList</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<p>Example: <a href="showimg-example.html#x1323">showimg/showimg.cpp</a>.
+<h3 class=fn>QRgb <a name="pixel"></a>QImage::pixel ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+Returns the color of the pixel at the coordinates (<em>x</em>, <em>y</em>).
+<p> If (<em>x</em>, <em>y</em>) is not <a href="#valid">on the image</a>, the
+results are undefined.
+<p> <p>See also <a href="#setPixel">setPixel</a>(), <a href="qcolor.html#qRed">qRed</a>(), <a href="qcolor.html#qGreen">qGreen</a>(), <a href="qcolor.html#qBlue">qBlue</a>(), and <a href="#valid">valid</a>().
+
+<p>Examples: <a href="canvas-example.html#x2933">canvas/canvas.cpp</a> and <a href="qmag-example.html#x1776">qmag/qmag.cpp</a>.
+<h3 class=fn>int <a name="pixelIndex"></a>QImage::pixelIndex ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+Returns the pixel index at the given coordinates.
+<p> If (<em>x</em>, <em>y</em>) is not <a href="#valid">valid</a>, or if the
+image is not a paletted image (<a href="#depth">depth</a>() &gt; 8), the results are
+undefined.
+<p> <p>See also <a href="#valid">valid</a>() and <a href="#depth">depth</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QImage::rect () const
+</h3>
+
+<p> Returns the enclosing rectangle (0, 0, <a href="#width">width</a>(), <a href="#height">height</a>()) of the
+image.
+<p> <p>See also <a href="#width">width</a>(), <a href="#height">height</a>(), and <a href="#size">size</a>().
+
+<h3 class=fn>void <a name="reset"></a>QImage::reset ()
+</h3>
+Resets all image parameters and deallocates the image data.
+
+<h3 class=fn>bool <a name="save"></a>QImage::save ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const
+</h3>
+Saves the image to the file <em>fileName</em>, using the image file
+format <em>format</em> and a quality factor of <em>quality</em>. <em>quality</em>
+must be in the range 0..100 or -1. Specify 0 to obtain small
+compressed files, 100 for large uncompressed files, and -1 (the
+default) to use the default settings.
+<p> Returns TRUE if the image was successfully saved; otherwise
+returns FALSE.
+<p> <p>See also <a href="#load">load</a>(), <a href="#loadFromData">loadFromData</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qpixmap.html#save">QPixmap::save</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn>bool <a name="save-2"></a>QImage::save ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;device, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function writes a QImage to the <a href="qiodevice.html">QIODevice</a>, <em>device</em>. This
+can be used, for example, to save an image directly into a
+QByteArray:
+<pre>
+ QImage image;
+ <a href="qbytearray.html">QByteArray</a> ba;
+ <a href="qbuffer.html">QBuffer</a> buffer( ba );
+ buffer.<a href="qiodevice.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> );
+ image.<a href="#save">save</a>( &amp;buffer, "PNG" ); // writes image into ba in PNG format
+ </pre>
+
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="scale"></a>QImage::scale ( int&nbsp;w, int&nbsp;h, <a href="qimage.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode = ScaleFree ) const
+</h3>
+Returns a copy of the image scaled to a rectangle of width <em>w</em>
+and height <em>h</em> according to the ScaleMode <em>mode</em>.
+<p> <ul>
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleFree</a>, the image is scaled to (<em>w</em>,
+<em>h</em>).
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleMin</a>, the image is scaled to a rectangle
+as large as possible inside (<em>w</em>, <em>h</em>), preserving the aspect
+ratio.
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleMax</a>, the image is scaled to a rectangle
+as small as possible outside (<em>w</em>, <em>h</em>), preserving the aspect
+ratio.
+</ul>
+<p> If either the width <em>w</em> or the height <em>h</em> is 0 or negative, this
+function returns a <a href="#isNull">null</a> image.
+<p> This function uses a simple, fast algorithm. If you need better
+quality, use <a href="#smoothScale">smoothScale</a>() instead.
+<p> <p>See also <a href="#scaleWidth">scaleWidth</a>(), <a href="#scaleHeight">scaleHeight</a>(), <a href="#smoothScale">smoothScale</a>(), and <a href="#xForm">xForm</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="scale-2"></a>QImage::scale ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, <a href="qimage.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode = ScaleFree ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The requested size of the image is <em>s</em>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="scaleHeight"></a>QImage::scaleHeight ( int&nbsp;h ) const
+</h3>
+Returns a scaled copy of the image. The returned image has a
+height of <em>h</em> pixels. This function automatically calculates the
+width of the image so that the ratio of the image is preserved.
+<p> If <em>h</em> is 0 or negative a <a href="#isNull">null</a> image is
+returned.
+<p> <p>See also <a href="#scale">scale</a>(), <a href="#scaleWidth">scaleWidth</a>(), <a href="#smoothScale">smoothScale</a>(), and <a href="#xForm">xForm</a>().
+
+<p>Example: <a href="small-table-example-example.html#x2799">table/small-table-demo/main.cpp</a>.
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="scaleWidth"></a>QImage::scaleWidth ( int&nbsp;w ) const
+</h3>
+Returns a scaled copy of the image. The returned image has a width
+of <em>w</em> pixels. This function automatically calculates the height
+of the image so that the ratio of the image is preserved.
+<p> If <em>w</em> is 0 or negative a <a href="#isNull">null</a> image is
+returned.
+<p> <p>See also <a href="#scale">scale</a>(), <a href="#scaleHeight">scaleHeight</a>(), <a href="#smoothScale">smoothScale</a>(), and <a href="#xForm">xForm</a>().
+
+<h3 class=fn>uchar * <a name="scanLine"></a>QImage::scanLine ( int&nbsp;i ) const
+</h3>
+
+<p> Returns a pointer to the pixel data at the scanline with index <em>i</em>. The first scanline is at index 0.
+<p> The scanline data is aligned on a 32-bit boundary.
+<p> <b>Warning:</b> If you are accessing 32-bpp image data, cast the returned
+pointer to <tt>QRgb*</tt> (QRgb has a 32-bit size) and use it to
+read/write the pixel value. You cannot use the <tt>uchar*</tt> pointer
+directly, because the pixel format depends on the byte order on
+the underlying platform. Hint: use <a href="qcolor.html#qRed">qRed()</a>,
+<a href="qcolor.html#qGreen">qGreen()</a> and <a href="qcolor.html#qBlue">qBlue()</a>, etc. (qcolor.h) to access the pixels.
+<p> <b>Warning:</b> If you are accessing 16-bpp image data, you must handle
+endianness yourself. (Qt/Embedded only)
+<p> <p>See also <a href="#bytesPerLine">bytesPerLine</a>(), <a href="#bits">bits</a>(), and <a href="#jumpTable">jumpTable</a>().
+
+<p>Example: <a href="desktop-example.html#x1729">desktop/desktop.cpp</a>.
+<h3 class=fn>void <a name="setAlphaBuffer"></a>QImage::setAlphaBuffer ( bool&nbsp;enable )
+</h3>
+Enables alpha buffer mode if <em>enable</em> is TRUE, otherwise disables
+it. The default setting is disabled.
+<p> An 8-bpp image has 8-bit pixels. A pixel is an index into the
+<a href="#color">color table</a>, which contains 32-bit color
+values. In a 32-bpp image, the 32-bit pixels are the color values.
+<p> This 32-bit value is encoded as follows: The lower 24 bits are
+used for the red, green, and blue components. The upper 8 bits
+contain the alpha component.
+<p> The alpha component specifies the transparency of a pixel. 0 means
+completely transparent and 255 means opaque. The alpha component
+is ignored if you do not enable alpha buffer mode.
+<p> The alpha buffer is used to set a mask when a QImage is translated
+to a <a href="qpixmap.html">QPixmap</a>.
+<p> <p>See also <a href="#hasAlphaBuffer">hasAlphaBuffer</a>() and <a href="#createAlphaMask">createAlphaMask</a>().
+
+<h3 class=fn>void <a name="setColor"></a>QImage::setColor ( int&nbsp;i, QRgb&nbsp;c )
+</h3>
+
+<p> Sets a color in the color table at index <em>i</em> to <em>c</em>.
+<p> A color value is an RGB triplet. Use the <a href="qcolor.html#qRgb">qRgb()</a> function (defined in <a href="qcolor-h.html">qcolor.h</a>) to make RGB
+triplets.
+<p> <p>See also <a href="#color">color</a>(), <a href="#setNumColors">setNumColors</a>(), and <a href="#numColors">numColors</a>().
+
+<p>Examples: <a href="desktop-example.html#x1730">desktop/desktop.cpp</a> and <a href="themes-example.html#x210">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setDotsPerMeterX"></a>QImage::setDotsPerMeterX ( int&nbsp;x )
+</h3>
+Sets the value returned by <a href="#dotsPerMeterX">dotsPerMeterX</a>() to <em>x</em>.
+
+<h3 class=fn>void <a name="setDotsPerMeterY"></a>QImage::setDotsPerMeterY ( int&nbsp;y )
+</h3>
+Sets the value returned by <a href="#dotsPerMeterY">dotsPerMeterY</a>() to <em>y</em>.
+
+<h3 class=fn>void <a name="setNumColors"></a>QImage::setNumColors ( int&nbsp;numColors )
+</h3>
+Resizes the color table to <em>numColors</em> colors.
+<p> If the color table is expanded all the extra colors will be set to
+black (RGB 0,0,0).
+<p> <p>See also <a href="#numColors">numColors</a>(), <a href="#color">color</a>(), <a href="#setColor">setColor</a>(), and <a href="#colorTable">colorTable</a>().
+
+<h3 class=fn>void <a name="setOffset"></a>QImage::setOffset ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the value returned by <a href="#offset">offset</a>() to <em>p</em>.
+
+<h3 class=fn>void <a name="setPixel"></a>QImage::setPixel ( int&nbsp;x, int&nbsp;y, uint&nbsp;index_or_rgb )
+</h3>
+Sets the pixel index or color at the coordinates (<em>x</em>, <em>y</em>) to
+<em>index_or_rgb</em>.
+<p> If (<em>x</em>, <em>y</em>) is not <a href="#valid">valid</a>, the result is
+undefined.
+<p> If the image is a paletted image (<a href="#depth">depth</a>() &lt;= 8) and <em>index_or_rgb</em> &gt;= <a href="#numColors">numColors</a>(), the result is undefined.
+<p> <p>See also <a href="#pixelIndex">pixelIndex</a>(), <a href="#pixel">pixel</a>(), <a href="qcolor.html#qRgb">qRgb</a>(), <a href="qcolor.html#qRgba">qRgba</a>(), and <a href="#valid">valid</a>().
+
+<h3 class=fn>void <a name="setText"></a>QImage::setText ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;char&nbsp;*&nbsp;lang, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Records string <em>s</em> for the keyword <em>key</em>. The <em>key</em> should be a
+portable keyword recognizable by other software - some suggested
+values can be found in <a href="http://www.libpng.org/pub/png/spec/1.2/png-1.2-pdg.html#C.Anc-text">the PNG specification</a>. <em>s</em> can be any text. <em>lang</em>
+should specify the language code (see
+<a href="http://www.rfc-editor.org/rfc/rfc1766.txt">RFC 1766</a>) or 0.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QImage::size () const
+</h3>
+
+<p> Returns the size of the image, i.e. its width and height.
+<p> <p>See also <a href="#width">width</a>(), <a href="#height">height</a>(), and <a href="#rect">rect</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="smoothScale"></a>QImage::smoothScale ( int&nbsp;w, int&nbsp;h, <a href="qimage.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode = ScaleFree ) const
+</h3>
+Returns a smoothly scaled copy of the image. The returned image
+has a size of width <em>w</em> by height <em>h</em> pixels if <em>mode</em> is <a href="#ScaleMode-enum">ScaleFree</a>. The modes <a href="#ScaleMode-enum">ScaleMin</a> and <a href="#ScaleMode-enum">ScaleMax</a> may be used to
+preserve the ratio of the image: if <em>mode</em> is <a href="#ScaleMode-enum">ScaleMin</a>, the
+returned image is guaranteed to fit into the rectangle specified
+by <em>w</em> and <em>h</em> (it is as large as possible within the
+constraints); if <em>mode</em> is <a href="#ScaleMode-enum">ScaleMax</a>, the returned image fits
+at least into the specified rectangle (it is a small as possible
+within the constraints).
+<p> For 32-bpp images and 1-bpp/8-bpp color images the result will be
+32-bpp, whereas <a href="#allGray">all-gray</a> images
+(including black-and-white 1-bpp) will produce 8-bit <a href="#isGrayscale">grayscale</a> images with the palette spanning
+256 grays from black to white.
+<p> This function uses code based on pnmscale.c by Jef Poskanzer.
+<p> pnmscale.c - read a portable anymap and scale it
+<p>
+<p> Copyright (C) 1989, 1991 by Jef Poskanzer.
+<p> Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation. This software is
+provided "as is" without express or implied warranty.
+<p> <p>See also <a href="#scale">scale</a>() and <a href="#mirror">mirror</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="smoothScale-2"></a>QImage::smoothScale ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, <a href="qimage.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode = ScaleFree ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The requested size of the image is <em>s</em>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="swapRGB"></a>QImage::swapRGB () const
+</h3>
+Returns a QImage in which the values of the red and blue
+components of all pixels have been swapped, effectively converting
+an RGB image to a BGR image. The original QImage is not changed.
+
+<h3 class=fn><a href="qimage.html#Endian-enum">Endian</a> <a name="systemBitOrder"></a>QImage::systemBitOrder ()<tt> [static]</tt>
+</h3>
+Determines the bit order of the display hardware. Returns
+QImage::LittleEndian (LSB first) or QImage::BigEndian (MSB first).
+<p> <p>See also <a href="#systemByteOrder">systemByteOrder</a>().
+
+<h3 class=fn><a href="qimage.html#Endian-enum">Endian</a> <a name="systemByteOrder"></a>QImage::systemByteOrder ()<tt> [static]</tt>
+</h3>
+Determines the host computer byte order. Returns
+QImage::LittleEndian (LSB first) or QImage::BigEndian (MSB first).
+<p> <p>See also <a href="#systemBitOrder">systemBitOrder</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QImage::text ( const&nbsp;char&nbsp;*&nbsp;key, const&nbsp;char&nbsp;*&nbsp;lang = 0 ) const
+</h3>
+Returns the string recorded for the keyword <em>key</em> in language <em>lang</em>, or in a default language if <em>lang</em> is 0.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-2"></a>QImage::text ( const&nbsp;QImageTextKeyLang&nbsp;&amp;&nbsp;kl ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the string recorded for the keyword and language <em>kl</em>.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="textKeys"></a>QImage::textKeys () const
+</h3>
+Returns the keywords for which some texts are recorded.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myImage.textKeys();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#textList">textList</a>(), <a href="#text">text</a>(), <a href="#setText">setText</a>(), and <a href="#textLanguages">textLanguages</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="textLanguages"></a>QImage::textLanguages () const
+</h3>
+Returns the language identifiers for which some texts are
+recorded.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myImage.textLanguages();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#textList">textList</a>(), <a href="#text">text</a>(), <a href="#setText">setText</a>(), and <a href="#textKeys">textKeys</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;QImageTextKeyLang&gt; <a name="textList"></a>QImage::textList () const
+</h3>
+Returns a list of QImageTextKeyLang objects that enumerate all the
+texts key/language pairs set by <a href="#setText">setText</a>() for this image.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QImageTextKeyLang&gt; list = myImage.textList();
+ QValueList&lt;QImageTextKeyLang&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>bool <a name="valid"></a>QImage::valid ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+Returns TRUE if ( <em>x</em>, <em>y</em> ) is a valid coordinate in the image;
+otherwise returns FALSE.
+<p> <p>See also <a href="#width">width</a>(), <a href="#height">height</a>(), and <a href="#pixelIndex">pixelIndex</a>().
+
+<p>Examples: <a href="canvas-example.html#x2934">canvas/canvas.cpp</a> and <a href="qmag-example.html#x1777">qmag/qmag.cpp</a>.
+<h3 class=fn>int <a name="width"></a>QImage::width () const
+</h3>
+
+<p> Returns the width of the image.
+<p> <p>See also <a href="#height">height</a>(), <a href="#size">size</a>(), and <a href="#rect">rect</a>().
+
+<p>Examples: <a href="canvas-example.html#x2935">canvas/canvas.cpp</a> and <a href="qglwidget.html#x2121">opengl/texture/gltexobj.cpp</a>.
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="xForm"></a>QImage::xForm ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;matrix ) const
+</h3>
+Returns a copy of the image that is transformed using the
+<a href="qwmatrix.html#TransformationMode">transformation matrix</a>, <em>matrix</em>.
+<p> The transformation <em>matrix</em> is internally adjusted to compensate
+for unwanted translation, i.e. <a href="#xForm">xForm</a>() returns the smallest image
+that contains all the transformed points of the original image.
+<p> <p>See also <a href="#scale">scale</a>(), <a href="qpixmap.html#xForm">QPixmap::xForm</a>(), <a href="qpixmap.html#trueMatrix">QPixmap::trueMatrix</a>(), and <a href="qwmatrix.html">QWMatrix</a>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="bitBlt"></a>bitBlt ( <a href="qimage.html">QImage</a>&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh, int&nbsp;conversion_flags )
+</h3>
+
+<p> Copies a block of pixels from <em>src</em> to <em>dst</em>. The pixels
+copied from source (src) are converted according to
+<em>conversion_flags</em> if it is incompatible with the destination
+(<em>dst</em>).
+<p> <em>sx</em>, <em>sy</em> is the top-left pixel in <em>src</em>, <em>dx</em>, <em>dy</em>
+is the top-left position in <em>dst</em> and <em>sw</em>, \sh is the
+size of the copied block.
+<p> The copying is clipped if areas outside <em>src</em> or <em>dst</em> are
+specified.
+<p> If <em>sw</em> is -1, it is adjusted to src->width(). Similarly, if <em>sh</em> is -1, it is adjusted to src->height().
+<p> Currently inefficient for non 32-bit images.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+
+<p> Writes the image <em>image</em> to the stream <em>s</em> as a PNG image, or as a
+BMP image if the stream's version is 1.
+<p> Note that writing the stream to a file will not produce a valid image file.
+<p> <p>See also <a href="#save">QImage::save</a>() and <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+
+<p> Reads an image from the stream <em>s</em> and stores it in <em>image</em>.
+<p> <p>See also <a href="#load">QImage::load</a>() and <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageconsumer-members.html b/doc/html/qimageconsumer-members.html
new file mode 100644
index 0000000..0bf22e8
--- /dev/null
+++ b/doc/html/qimageconsumer-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncimageio.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageConsumer Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageConsumer</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimageconsumer.html">QImageConsumer</a>, including inherited members.
+
+<ul>
+<li><a href="qimageconsumer.html#changed">changed</a>()
+<li><a href="qimageconsumer.html#end">end</a>()
+<li><a href="qimageconsumer.html#frameDone">frameDone</a>()
+<li><a href="qimageconsumer.html#setFramePeriod">setFramePeriod</a>()
+<li><a href="qimageconsumer.html#setLooping">setLooping</a>()
+<li><a href="qimageconsumer.html#setSize">setSize</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageconsumer.html b/doc/html/qimageconsumer.html
new file mode 100644
index 0000000..e645d5f
--- /dev/null
+++ b/doc/html/qimageconsumer.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageConsumer Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageConsumer Class Reference</h1>
+
+<p>The QImageConsumer class is an abstraction used by QImageDecoder.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncimageio-h.html">qasyncimageio.h</a>&gt;</tt>
+<p><a href="qimageconsumer-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#end"><b>end</b></a> () = 0</li>
+<li class=fn>virtual void <a href="#changed"><b>changed</b></a> ( const QRect &amp; ) = 0</li>
+<li class=fn>virtual void <a href="#frameDone"><b>frameDone</b></a> () = 0</li>
+<li class=fn>virtual void <a href="#frameDone-2"><b>frameDone</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;offset, const&nbsp;QRect&nbsp;&amp;&nbsp;rect ) = 0</li>
+<li class=fn>virtual void <a href="#setLooping"><b>setLooping</b></a> ( int&nbsp;n ) = 0</li>
+<li class=fn>virtual void <a href="#setFramePeriod"><b>setFramePeriod</b></a> ( int&nbsp;milliseconds ) = 0</li>
+<li class=fn>virtual void <a href="#setSize"><b>setSize</b></a> ( int, int ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImageConsumer class is an abstraction used by <a href="qimagedecoder.html">QImageDecoder</a>.
+<p>
+
+
+<p> The <a href="qmovie.html">QMovie</a> class, or <a href="qlabel.html#setMovie">QLabel::setMovie</a>(), are easy to use and for
+most situations do what you want with regards animated images.
+<p> A QImageConsumer consumes information about changes to the <a href="qimage.html">QImage</a>
+maintained by a QImageDecoder. Think of the QImage as the model or
+source of the image data, with the QImageConsumer as a view of
+that data and the QImageDecoder being the controller that
+orchestrates the relationship between the model and the view.
+<p> You'd use the QImageConsumer class, for example, if you were
+implementing a web browser with your own image loaders.
+<p> <p>See also <a href="qimagedecoder.html">QImageDecoder</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>void <a name="changed"></a>QImageConsumer::changed ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Called when the given area of the image has changed.
+
+<h3 class=fn>void <a name="end"></a>QImageConsumer::end ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Called when all the data from all the frames has been decoded and
+revealed as <a href="#changed">changed</a>().
+
+<h3 class=fn>void <a name="frameDone"></a>QImageConsumer::frameDone ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> One of the two <a href="#frameDone">frameDone</a>() functions will be called when a frame
+of an animated image has ended and been revealed as <a href="#changed">changed</a>().
+<p> When this function is called, the current image should be
+displayed.
+<p> The decoder will not make any further changes to the image until
+the next call to <a href="qimageformat.html#decode">QImageFormat::decode</a>().
+
+<h3 class=fn>void <a name="frameDone-2"></a>QImageConsumer::frameDone ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;offset, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect )<tt> [pure virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> One of the two <a href="#frameDone">frameDone</a>() functions will be called when a frame
+of an animated image has ended and been revealed as <a href="#changed">changed</a>().
+<p> When this function is called, the area <em>rect</em> in the current
+image should be moved by <em>offset</em> and displayed.
+<p> The decoder will not make any further changes to the image until
+the next call to <a href="qimageformat.html#decode">QImageFormat::decode</a>().
+
+<h3 class=fn>void <a name="setFramePeriod"></a>QImageConsumer::setFramePeriod ( int&nbsp;milliseconds )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Notes that the frame about to be decoded should not be displayed
+until the given number of <em>milliseconds</em> after the time that this
+function is called. Of course, the image may not have been
+decoded by then, in which case the frame should not be displayed
+until it is complete. A value of -1 (the assumed default)
+indicates that the image should be displayed even while it is only
+partially loaded.
+
+<h3 class=fn>void <a name="setLooping"></a>QImageConsumer::setLooping ( int&nbsp;n )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Called to indicate that the sequence of frames in the image
+should be repeated <em>n</em> times, including the sequence during
+decoding.
+<p> <ul>
+<li> 0 = Forever
+<li> 1 = Only display frames the first time through
+<li> 2 = Repeat once after first pass through images
+<li> etc.
+</ul>
+<p> To make the <a href="qimagedecoder.html">QImageDecoder</a> do this, just delete it and pass the
+information to it again for decoding (<a href="#setLooping">setLooping</a>() will be called
+again, of course, but that can be ignored), or keep copies of the
+changed areas at the ends of frames.
+
+<h3 class=fn>void <a name="setSize"></a>QImageConsumer::setSize ( int, int )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function is called as soon as the size of the image has been
+determined.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimagedecoder-members.html b/doc/html/qimagedecoder-members.html
new file mode 100644
index 0000000..eaee79b
--- /dev/null
+++ b/doc/html/qimagedecoder-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncimageio.h:84 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageDecoder Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageDecoder</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimagedecoder.html">QImageDecoder</a>, including inherited members.
+
+<ul>
+<li><a href="qimagedecoder.html#QImageDecoder">QImageDecoder</a>()
+<li><a href="qimagedecoder.html#~QImageDecoder">~QImageDecoder</a>()
+<li><a href="qimagedecoder.html#decode">decode</a>()
+<li><a href="qimagedecoder.html#format">format</a>()
+<li><a href="qimagedecoder.html#formatName">formatName</a>()
+<li><a href="qimagedecoder.html#image">image</a>()
+<li><a href="qimagedecoder.html#inputFormats">inputFormats</a>()
+<li><a href="qimagedecoder.html#registerDecoderFactory">registerDecoderFactory</a>()
+<li><a href="qimagedecoder.html#unregisterDecoderFactory">unregisterDecoderFactory</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimagedecoder.html b/doc/html/qimagedecoder.html
new file mode 100644
index 0000000..a0a1368
--- /dev/null
+++ b/doc/html/qimagedecoder.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:153 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageDecoder Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageDecoder Class Reference</h1>
+
+<p>The QImageDecoder class is an incremental image decoder for all supported image formats.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncimageio-h.html">qasyncimageio.h</a>&gt;</tt>
+<p><a href="qimagedecoder-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QImageDecoder"><b>QImageDecoder</b></a> ( QImageConsumer&nbsp;*&nbsp;c )</li>
+<li class=fn><a href="#~QImageDecoder"><b>~QImageDecoder</b></a> ()</li>
+<li class=fn>const QImage &amp; <a href="#image"><b>image</b></a> ()</li>
+<li class=fn>int <a href="#decode"><b>decode</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>const char * <a href="#formatName"><b>formatName</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )</li>
+<li class=fn>QImageFormatType * <a href="#format"><b>format</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</li>
+<li class=fn>QStrList <a href="#inputFormats"><b>inputFormats</b></a> ()</li>
+<li class=fn>void <a href="#registerDecoderFactory"><b>registerDecoderFactory</b></a> ( QImageFormatType&nbsp;*&nbsp;f )</li>
+<li class=fn>void <a href="#unregisterDecoderFactory"><b>unregisterDecoderFactory</b></a> ( QImageFormatType&nbsp;*&nbsp;f )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImageDecoder class is an incremental image decoder for all supported image formats.
+<p>
+
+
+<p> New formats are installed by creating objects of class
+<a href="qimageformattype.html">QImageFormatType</a>; the <a href="qmovie.html">QMovie</a> class can be used for all installed
+incremental image formats. QImageDecoder is only useful for
+creating new ways of feeding data to an <a href="qimageconsumer.html">QImageConsumer</a>.
+<p> A QImageDecoder is a machine that decodes images. It takes encoded
+image data via its <a href="#decode">decode</a>() method and expresses its decoding by
+supplying information to a QImageConsumer. It implements its
+decoding by using a <a href="qimageformat.html">QImageFormat</a> created by one of the
+currently-existing QImageFormatType factory objects.
+<p> QImageFormatType and QImageFormat are the classes that you might
+need to implement support for additional image formats.
+<p>
+<p> Qt supports GIF reading if it is configured that way during
+installation (see qgif.h). If it is, we are required to state that
+"The Graphics Interchange Format(c) is the Copyright property of
+CompuServe Incorporated. GIF(sm) is a Service Mark property of
+CompuServe Incorporated."
+<p> <b>Warning:</b> If you are in a country that recognizes software patents
+and in which Unisys holds a patent on LZW compression and/or
+decompression and you want to use GIF, Unisys may require you to
+license that technology. Such countries include Canada, Japan,
+the USA, France, Germany, Italy and the UK.
+<p> GIF support may be removed completely in a future version of Qt.
+We recommend using the MNG or PNG format.
+<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImageDecoder"></a>QImageDecoder::QImageDecoder ( <a href="qimageconsumer.html">QImageConsumer</a>&nbsp;*&nbsp;c )
+</h3>
+Constructs a QImageDecoder that will send change information to
+the <a href="qimageconsumer.html">QImageConsumer</a> <em>c</em>.
+
+<h3 class=fn><a name="~QImageDecoder"></a>QImageDecoder::~QImageDecoder ()
+</h3>
+Destroys a QImageDecoder. The image it built is destroyed. The
+decoder built by the factory for the file format is destroyed. The
+consumer for which it decoded the image is <em>not</em> destroyed.
+
+<h3 class=fn>int <a name="decode"></a>QImageDecoder::decode ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )
+</h3>
+Call this function to decode some data into image changes. The
+data in <em>buffer</em> will be decoded, sending change information to
+the <a href="qimageconsumer.html">QImageConsumer</a> of this QImageDecoder until one of the change
+functions of the consumer returns FALSE. The length of the data is
+given in <em>length</em>.
+<p> Returns the number of bytes consumed: 0 if consumption is
+complete, and -1 if decoding fails due to invalid data.
+
+<h3 class=fn><a href="qimageformattype.html">QImageFormatType</a>&nbsp;* <a name="format"></a>QImageDecoder::format ( const&nbsp;char&nbsp;*&nbsp;name )<tt> [static]</tt>
+</h3>
+Returns a <a href="qimageformattype.html">QImageFormatType</a> by name. This might be used when the
+user needs to force data to be interpreted as being in a certain
+format. <em>name</em> is one of the formats listed by
+<a href="#inputFormats">QImageDecoder::inputFormats</a>(). Note that you will still need to
+supply decodable data to result->decoderFor() before you can begin
+decoding the data.
+
+<h3 class=fn>const char * <a name="formatName"></a>QImageDecoder::formatName ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )<tt> [static]</tt>
+</h3>
+Call this function to find the name of the format of the given
+header. The returned string is statically allocated. The function
+will look at the first <em>length</em> characters in the <em>buffer</em>.
+<p> Returns 0 if the format is not recognized.
+
+<h3 class=fn>const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp; <a name="image"></a>QImageDecoder::image ()
+</h3>
+
+<p> Returns the image currently being decoded.
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="inputFormats"></a>QImageDecoder::inputFormats ()<tt> [static]</tt>
+</h3>
+Returns a sorted list of formats for which asynchronous loading is
+supported.
+
+<h3 class=fn>void <a name="registerDecoderFactory"></a>QImageDecoder::registerDecoderFactory ( <a href="qimageformattype.html">QImageFormatType</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
+</h3>
+Registers the new <a href="qimageformattype.html">QImageFormatType</a> <em>f</em>. This is not needed in
+application code because factories call this themselves.
+
+<h3 class=fn>void <a name="unregisterDecoderFactory"></a>QImageDecoder::unregisterDecoderFactory ( <a href="qimageformattype.html">QImageFormatType</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
+</h3>
+Unregisters the <a href="qimageformattype.html">QImageFormatType</a> <em>f</em>. This is not needed in
+application code because factories call this themselves.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimagedrag-members.html b/doc/html/qimagedrag-members.html
new file mode 100644
index 0000000..3b9a78a
--- /dev/null
+++ b/doc/html/qimagedrag-members.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:139 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimagedrag.html">QImageDrag</a>, including inherited members.
+
+<ul>
+<li><a href="qimagedrag.html#QImageDrag">QImageDrag</a>()
+<li><a href="qimagedrag.html#~QImageDrag">~QImageDrag</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qimagedrag.html#canDecode">canDecode</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qimagedrag.html#decode">decode</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qmimesource.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qimagedrag.html#setImage">setImage</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimagedrag.html b/doc/html/qimagedrag.html
new file mode 100644
index 0000000..926d936
--- /dev/null
+++ b/doc/html/qimagedrag.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:981 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageDrag Class Reference</h1>
+
+<p>The QImageDrag class provides a drag and drop object for
+transferring images.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qdragobject.html">QDragObject</a>.
+<p><a href="qimagedrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QImageDrag"><b>QImageDrag</b></a> ( QImage&nbsp;image, QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QImageDrag-2"><b>QImageDrag</b></a> ( QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QImageDrag"><b>~QImageDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#setImage"><b>setImage</b></a> ( QImage&nbsp;image )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#canDecode"><b>canDecode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e )</li>
+<li class=fn>bool <a href="#decode"><b>decode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QImage&nbsp;&amp;&nbsp;img )</li>
+<li class=fn>bool <a href="#decode-2"><b>decode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QPixmap&nbsp;&amp;&nbsp;pm )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QImageDrag class provides a drag and drop object for
+transferring images.
+<p>
+<p> Images are offered to the receiving application in multiple
+formats, determined by Qt's <a href="qimage.html#outputFormats">output
+ formats</a>.
+<p> For more information about drag and drop, see the <a href="qdragobject.html">QDragObject</a>
+class and the <a href="dnd.html">drag and drop documentation</a>.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImageDrag"></a>QImageDrag::QImageDrag ( <a href="qimage.html">QImage</a>&nbsp;image, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an image drag object and sets its data to <em>image</em>. <em>dragSource</em> must be the drag source; <em>name</em> is the object name.
+
+<h3 class=fn><a name="QImageDrag-2"></a>QImageDrag::QImageDrag ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a default image drag object. <em>dragSource</em> must be the
+drag source; <em>name</em> is the object name.
+
+<h3 class=fn><a name="~QImageDrag"></a>QImageDrag::~QImageDrag ()
+</h3>
+Destroys the image drag object and frees up all allocated
+resources.
+
+<h3 class=fn>bool <a name="canDecode"></a>QImageDrag::canDecode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e )<tt> [static]</tt>
+</h3>
+Returns TRUE if the information in mime source <em>e</em> can be decoded
+into an image; otherwise returns FALSE.
+<p> <p>See also <a href="#decode">decode</a>().
+
+<p>Example: <a href="desktop-example.html#x1731">desktop/desktop.cpp</a>.
+<h3 class=fn>bool <a name="decode"></a>QImageDrag::decode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img )<tt> [static]</tt>
+</h3>
+Attempts to decode the dropped information in mime source <em>e</em>
+into <em>img</em>. Returns TRUE if successful; otherwise returns FALSE.
+<p> <p>See also <a href="#canDecode">canDecode</a>().
+
+<p>Example: <a href="desktop-example.html#x1732">desktop/desktop.cpp</a>.
+<h3 class=fn>bool <a name="decode-2"></a>QImageDrag::decode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Attempts to decode the dropped information in mime source <em>e</em>
+into pixmap <em>pm</em>. Returns TRUE if successful; otherwise returns
+FALSE.
+<p> This is a convenience function that converts to a <a href="qpixmap.html">QPixmap</a> via a
+<a href="qimage.html">QImage</a>.
+<p> <p>See also <a href="#canDecode">canDecode</a>().
+
+<h3 class=fn>void <a name="setImage"></a>QImageDrag::setImage ( <a href="qimage.html">QImage</a>&nbsp;image )<tt> [virtual]</tt>
+</h3>
+Sets the image to be dragged to <em>image</em>. You will need to call
+this if you did not pass the image during construction.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformat-members.html b/doc/html/qimageformat-members.html
new file mode 100644
index 0000000..fd32bdc
--- /dev/null
+++ b/doc/html/qimageformat-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncimageio.h:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormat Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageFormat</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimageformat.html">QImageFormat</a>, including inherited members.
+
+<ul>
+<li><a href="qimageformat.html#decode">decode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformat.html b/doc/html/qimageformat.html
new file mode 100644
index 0000000..760d07b
--- /dev/null
+++ b/doc/html/qimageformat.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:530 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormat Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageFormat Class Reference</h1>
+
+<p>The QImageFormat class is an incremental image decoder for a specific image format.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncimageio-h.html">qasyncimageio.h</a>&gt;</tt>
+<p><a href="qimageformat-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#decode"><b>decode</b></a> ( QImage&nbsp;&amp;&nbsp;img, QImageConsumer&nbsp;*&nbsp;consumer, const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImageFormat class is an incremental image decoder for a specific image format.
+<p>
+
+
+<p> By making a derived class of <a href="qimageformattype.html">QImageFormatType</a>, which in turn
+creates objects that are a subclass of QImageFormat, you can add
+support for more incremental image formats, allowing such formats
+to be sources for a <a href="qmovie.html">QMovie</a> or for the first frame of the image
+stream to be loaded as a <a href="qimage.html">QImage</a> or <a href="qpixmap.html">QPixmap</a>.
+<p> Your new subclass must reimplement the <a href="#decode">decode</a>() function in order
+to process your new format.
+<p> New QImageFormat objects are generated by new QImageFormatType
+factories.
+<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>int <a name="decode"></a>QImageFormat::decode ( <a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img, <a href="qimageconsumer.html">QImageConsumer</a>&nbsp;*&nbsp;consumer, const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )<tt> [pure virtual]</tt>
+</h3>
+
+<p> New subclasses must reimplement this method.
+<p> It should decode some or all of the bytes from <em>buffer</em> into <em>img</em>, calling the methods of <em>consumer</em> as the decoding proceeds
+to inform that consumer of changes to the image. The length of the
+data is given in <em>length</em>. The consumer may be 0, in which case
+the function should just process the data into <em>img</em> without
+telling any consumer about the changes. Note that the decoder must
+store enough state to be able to continue in subsequent calls to
+this method - this is the essence of the incremental image
+loading.
+<p> The function should return without processing all the data if it
+reaches the end of a frame in the input.
+<p> The function must return the number of bytes it has processed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformatplugin-h.html b/doc/html/qimageformatplugin-h.html
new file mode 100644
index 0000000..9e35223
--- /dev/null
+++ b/doc/html/qimageformatplugin-h.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qimageformatplugin.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qimageformatplugin.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qimageformatplugin.h</h1>
+
+<p>This is the verbatim text of the qimageformatplugin.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qimageformatplugin.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of ???
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QIMAGEFORMATPLUGIN_H
+#define QIMAGEFORMATPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_IMAGEFORMATPLUGIN
+class QImageFormat;
+class QImageFormatPluginPrivate;
+
+class Q_EXPORT QImageFormatPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QImageFormatPlugin();
+ ~QImageFormatPlugin();
+
+ virtual QStringList keys() const = 0;
+ virtual bool loadImage( const QString &amp;format, const QString &amp;filename, QImage *image );
+ virtual bool saveImage( const QString &amp;format, const QString &amp;filename, const QImage &amp;image );
+ virtual bool installIOHandler( const QString &amp;format ) = 0;
+
+private:
+ QImageFormatPluginPrivate *d;
+};
+#endif // QT_NO_IMAGEFORMATPLUGIN
+#endif // QIMAGEFORMATPLUGIN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformatplugin-members.html b/doc/html/qimageformatplugin-members.html
new file mode 100644
index 0000000..2fc3194
--- /dev/null
+++ b/doc/html/qimageformatplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qimageformatplugin.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormatPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageFormatPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimageformatplugin.html">QImageFormatPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qimageformatplugin.html#QImageFormatPlugin">QImageFormatPlugin</a>()
+<li><a href="qimageformatplugin.html#~QImageFormatPlugin">~QImageFormatPlugin</a>()
+<li><a href="qimageformatplugin.html#installIOHandler">installIOHandler</a>()
+<li><a href="qimageformatplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformatplugin.html b/doc/html/qimageformatplugin.html
new file mode 100644
index 0000000..0baf7a3
--- /dev/null
+++ b/doc/html/qimageformatplugin.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qimageformatplugin.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormatPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageFormatPlugin Class Reference</h1>
+
+<p>The QImageFormatPlugin class provides an abstract base for custom image format plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qimageformatplugin-h.html">qimageformatplugin.h</a>&gt;</tt>
+<p><a href="qimageformatplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QImageFormatPlugin"><b>QImageFormatPlugin</b></a> ()</li>
+<li class=fn><a href="#~QImageFormatPlugin"><b>~QImageFormatPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual bool <a href="#installIOHandler"><b>installIOHandler</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;format ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImageFormatPlugin class provides an abstract base for custom image format plugins.
+<p>
+<p> The image format plugin is a simple plugin interface that makes
+it easy to create custom image formats that can be used
+transparently by applications.
+<p> Writing an image format plugin is achieved by subclassing this
+base class, reimplementing the pure virtual functions <a href="#keys">keys</a>() and
+<a href="#installIOHandler">installIOHandler</a>(), and exporting the class with the
+Q_EXPORT_PLUGIN macro. See the <a href="plugins-howto.html">Plugins
+ documentation</a> for details.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImageFormatPlugin"></a>QImageFormatPlugin::QImageFormatPlugin ()
+</h3>
+Constructs an image format plugin. This is invoked automatically
+by the Q_EXPORT_PLUGIN macro.
+
+<h3 class=fn><a name="~QImageFormatPlugin"></a>QImageFormatPlugin::~QImageFormatPlugin ()
+</h3>
+Destroys the image format plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn>bool <a name="installIOHandler"></a>QImageFormatPlugin::installIOHandler ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;format )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Installs a <a href="qimageio.html">QImageIO</a> image I/O handler for the image format <em>format</em>.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QImageFormatPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of image formats this plugin supports.
+<p> <p>See also <a href="#installIOHandler">installIOHandler</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformattype-members.html b/doc/html/qimageformattype-members.html
new file mode 100644
index 0000000..b12c2bc
--- /dev/null
+++ b/doc/html/qimageformattype-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncimageio.h:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormatType Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageFormatType</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimageformattype.html">QImageFormatType</a>, including inherited members.
+
+<ul>
+<li><a href="qimageformattype.html#QImageFormatType">QImageFormatType</a>()
+<li><a href="qimageformattype.html#~QImageFormatType">~QImageFormatType</a>()
+<li><a href="qimageformattype.html#decoderFor">decoderFor</a>()
+<li><a href="qimageformattype.html#formatName">formatName</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageformattype.html b/doc/html/qimageformattype.html
new file mode 100644
index 0000000..44b3156
--- /dev/null
+++ b/doc/html/qimageformattype.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:582 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageFormatType Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageFormatType Class Reference</h1>
+
+<p>The QImageFormatType class is a factory that makes QImageFormat objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncimageio-h.html">qasyncimageio.h</a>&gt;</tt>
+<p><a href="qimageformattype-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QImageFormatType"><b>~QImageFormatType</b></a> ()</li>
+<li class=fn>virtual QImageFormat * <a href="#decoderFor"><b>decoderFor</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length ) = 0</li>
+<li class=fn>virtual const char * <a href="#formatName"><b>formatName</b></a> () const = 0</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QImageFormatType"><b>QImageFormatType</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QImageFormatType class is a factory that makes <a href="qimageformat.html">QImageFormat</a> objects.
+<p>
+
+
+<p> Whereas the <a href="qimageio.html">QImageIO</a> class allows for <em>complete</em> loading of
+images, QImageFormatType allows for <em>incremental</em> loading of
+images.
+<p> New image file formats are installed by creating objects of
+derived classes of QImageFormatType. They must implement
+<a href="#decoderFor">decoderFor</a>() and <a href="#formatName">formatName</a>().
+<p> QImageFormatType is a very simple class. Its only task is to
+recognize image data in some format and make a new object,
+subclassed from QImageFormat, which can decode that format.
+<p> The factories for formats built into Qt are automatically defined
+before any other factory is initialized. If two factories would
+recognize an image format, the factory created last will override
+the earlier one; you can thus override current and future built-in
+formats.
+<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImageFormatType"></a>QImageFormatType::QImageFormatType ()<tt> [protected]</tt>
+</h3>
+Constructs a factory. It automatically registers itself with
+<a href="qimagedecoder.html">QImageDecoder</a>.
+
+<h3 class=fn><a name="~QImageFormatType"></a>QImageFormatType::~QImageFormatType ()<tt> [virtual]</tt>
+</h3>
+Destroys a factory. It automatically unregisters itself from
+<a href="qimagedecoder.html">QImageDecoder</a>.
+
+<h3 class=fn><a href="qimageformat.html">QImageFormat</a>&nbsp;* <a name="decoderFor"></a>QImageFormatType::decoderFor ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a decoder for decoding an image that starts with the bytes
+in <em>buffer</em>. The length of the data is given in <em>length</em>. This
+function should only return a decoder if it is certain that the
+decoder applies to data with the given header. Returns 0 if there
+is insufficient data in the header to make a positive
+identification or if the data is not recognized.
+
+<h3 class=fn>const char * <a name="formatName"></a>QImageFormatType::formatName () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the name of the format supported by decoders from this
+factory. The string is statically allocated.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageio-members.html b/doc/html/qimageio-members.html
new file mode 100644
index 0000000..39100c8
--- /dev/null
+++ b/doc/html/qimageio-members.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qimage.h:271 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageIO Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QImageIO</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimageio.html">QImageIO</a>, including inherited members.
+
+<ul>
+<li><a href="qimageio.html#QImageIO">QImageIO</a>()
+<li><a href="qimageio.html#~QImageIO">~QImageIO</a>()
+<li><a href="qimageio.html#defineIOHandler">defineIOHandler</a>()
+<li><a href="qimageio.html#description">description</a>()
+<li><a href="qimageio.html#fileName">fileName</a>()
+<li><a href="qimageio.html#format">format</a>()
+<li><a href="qimageio.html#gamma">gamma</a>()
+<li><a href="qimageio.html#image">image</a>()
+<li><a href="qimageio.html#imageFormat">imageFormat</a>()
+<li><a href="qimageio.html#inputFormats">inputFormats</a>()
+<li><a href="qimageio.html#ioDevice">ioDevice</a>()
+<li><a href="qimageio.html#outputFormats">outputFormats</a>()
+<li><a href="qimageio.html#parameters">parameters</a>()
+<li><a href="qimageio.html#quality">quality</a>()
+<li><a href="qimageio.html#read">read</a>()
+<li><a href="qimageio.html#setDescription">setDescription</a>()
+<li><a href="qimageio.html#setFileName">setFileName</a>()
+<li><a href="qimageio.html#setFormat">setFormat</a>()
+<li><a href="qimageio.html#setGamma">setGamma</a>()
+<li><a href="qimageio.html#setIODevice">setIODevice</a>()
+<li><a href="qimageio.html#setImage">setImage</a>()
+<li><a href="qimageio.html#setParameters">setParameters</a>()
+<li><a href="qimageio.html#setQuality">setQuality</a>()
+<li><a href="qimageio.html#setStatus">setStatus</a>()
+<li><a href="qimageio.html#status">status</a>()
+<li><a href="qimageio.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimageio.html b/doc/html/qimageio.html
new file mode 100644
index 0000000..915401c
--- /dev/null
+++ b/doc/html/qimageio.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qimage.cpp:3715 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QImageIO Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QImageIO Class Reference</h1>
+
+<p>The QImageIO class contains parameters for loading and
+saving images.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;</tt>
+<p><a href="qimageio-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QImageIO"><b>QImageIO</b></a> ()</li>
+<li class=fn><a href="#QImageIO-2"><b>QImageIO</b></a> ( QIODevice&nbsp;*&nbsp;ioDevice, const&nbsp;char&nbsp;*&nbsp;format )</li>
+<li class=fn><a href="#QImageIO-3"><b>QImageIO</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format )</li>
+<li class=fn><a href="#~QImageIO"><b>~QImageIO</b></a> ()</li>
+<li class=fn>const QImage &amp; <a href="#image"><b>image</b></a> () const</li>
+<li class=fn>int <a href="#status"><b>status</b></a> () const</li>
+<li class=fn>const char * <a href="#format"><b>format</b></a> () const</li>
+<li class=fn>QIODevice * <a href="#ioDevice"><b>ioDevice</b></a> () const</li>
+<li class=fn>QString <a href="#fileName"><b>fileName</b></a> () const</li>
+<li class=fn>int <a href="#quality"><b>quality</b></a> () const</li>
+<li class=fn>QString <a href="#description"><b>description</b></a> () const</li>
+<li class=fn>const char * <a href="#parameters"><b>parameters</b></a> () const</li>
+<li class=fn>float <a href="#gamma"><b>gamma</b></a> () const</li>
+<li class=fn>void <a href="#setImage"><b>setImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>void <a href="#setStatus"><b>setStatus</b></a> ( int&nbsp;status )</li>
+<li class=fn>void <a href="#setFormat"><b>setFormat</b></a> ( const&nbsp;char&nbsp;*&nbsp;format )</li>
+<li class=fn>void <a href="#setIODevice"><b>setIODevice</b></a> ( QIODevice&nbsp;*&nbsp;ioDevice )</li>
+<li class=fn>void <a href="#setFileName"><b>setFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>void <a href="#setQuality"><b>setQuality</b></a> ( int&nbsp;q )</li>
+<li class=fn>void <a href="#setDescription"><b>setDescription</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;description )</li>
+<li class=fn>void <a href="#setParameters"><b>setParameters</b></a> ( const&nbsp;char&nbsp;*&nbsp;parameters )</li>
+<li class=fn>void <a href="#setGamma"><b>setGamma</b></a> ( float&nbsp;gamma )</li>
+<li class=fn>bool <a href="#read"><b>read</b></a> ()</li>
+<li class=fn>bool <a href="#write"><b>write</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>const char * <a href="#imageFormat"><b>imageFormat</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>const char * <a href="#imageFormat-2"><b>imageFormat</b></a> ( QIODevice&nbsp;*&nbsp;d )</li>
+<li class=fn>QStrList <a href="#inputFormats"><b>inputFormats</b></a> ()</li>
+<li class=fn>QStrList <a href="#outputFormats"><b>outputFormats</b></a> ()</li>
+<li class=fn>void <a href="#defineIOHandler"><b>defineIOHandler</b></a> ( const&nbsp;char&nbsp;*&nbsp;format, const&nbsp;char&nbsp;*&nbsp;header, const&nbsp;char&nbsp;*&nbsp;flags, image_io_handler&nbsp;readImage, image_io_handler&nbsp;writeImage )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QImageIO class contains parameters for loading and
+saving images.
+<p>
+
+
+<p> QImageIO contains a <a href="qiodevice.html">QIODevice</a> object that is used for image data
+I/O. The programmer can install new image file formats in addition
+to those that Qt provides.
+<p> Qt currently supports the following image file formats: PNG, BMP,
+XBM, XPM and PNM. It may also support JPEG, MNG and GIF, if
+specially configured during compilation. The different PNM formats
+are: PBM (P1 or P4), PGM (P2 or P5), and PPM (P3 or P6).
+<p> You don't normally need to use this class; <a href="qpixmap.html#load">QPixmap::load</a>(),
+<a href="qpixmap.html#save">QPixmap::save</a>(), and <a href="qimage.html">QImage</a> contain sufficient functionality.
+<p> For image files that contain sequences of images, only the first
+is read. See <a href="qmovie.html">QMovie</a> for loading multiple images.
+<p> PBM, PGM, and PPM format <em>output</em> is always in the more condensed
+raw format. PPM and PGM files with more than 256 levels of
+intensity are scaled down when reading.
+<p> <b>Warning:</b> If you are in a country which recognizes software patents
+and in which Unisys holds a patent on LZW compression and/or
+decompression and you want to use GIF, Unisys may require you to
+license the technology. Such countries include Canada, Japan, the
+USA, France, Germany, Italy and the UK.
+<p> GIF support may be removed completely in a future version of Qt.
+We recommend using the PNG format.
+<p> <p>See also <a href="qimage.html">QImage</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qfile.html">QFile</a>, <a href="qmovie.html">QMovie</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QImageIO"></a>QImageIO::QImageIO ()
+</h3>
+Constructs a QImageIO object with all parameters set to zero.
+
+<h3 class=fn><a name="QImageIO-2"></a>QImageIO::QImageIO ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;ioDevice, const&nbsp;char&nbsp;*&nbsp;format )
+</h3>
+Constructs a QImageIO object with the I/O device <em>ioDevice</em> and a
+<em>format</em> tag.
+
+<h3 class=fn><a name="QImageIO-3"></a>QImageIO::QImageIO ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format )
+</h3>
+Constructs a QImageIO object with the file name <em>fileName</em> and a
+<em>format</em> tag.
+
+<h3 class=fn><a name="~QImageIO"></a>QImageIO::~QImageIO ()
+</h3>
+Destroys the object and all related data.
+
+<h3 class=fn>void <a name="defineIOHandler"></a>QImageIO::defineIOHandler ( const&nbsp;char&nbsp;*&nbsp;format, const&nbsp;char&nbsp;*&nbsp;header, const&nbsp;char&nbsp;*&nbsp;flags, image_io_handler&nbsp;readImage, image_io_handler&nbsp;writeImage )<tt> [static]</tt>
+</h3>
+Defines an image I/O handler for the image format called <em>format</em>, which is recognized using the <a href="qregexp.html#details">regular expression</a> <em>header</em>, read using <em>readImage</em> and
+written using <em>writeImage</em>.
+<p> <em>flags</em> is a string of single-character flags for this format.
+The only flag defined currently is T (upper case), so the only
+legal value for <em>flags</em> are "T" and the empty string. The "T"
+flag means that the image file is a text file, and Qt should treat
+all newline conventions as equivalent. (XPM files and some PPM
+files are text files for example.)
+<p> <em>format</em> is used to select a handler to write a <a href="qimage.html">QImage</a>; <em>header</em>
+is used to select a handler to read an image file.
+<p> If <em>readImage</em> is a null pointer, the QImageIO will not be able
+to read images in <em>format</em>. If <em>writeImage</em> is a null pointer,
+the QImageIO will not be able to write images in <em>format</em>. If
+both are null, the QImageIO object is valid but useless.
+<p> Example:
+<pre>
+ void readGIF( QImageIO *image )
+ {
+ // read the image using the image-&gt;<a href="#ioDevice">ioDevice</a>()
+ }
+
+ void writeGIF( QImageIO *image )
+ {
+ // write the image using the image-&gt;<a href="#ioDevice">ioDevice</a>()
+ }
+
+ // add the GIF image handler
+
+ QImageIO::<a href="#defineIOHandler">defineIOHandler</a>( "GIF",
+ "^GIF[0-9][0-9][a-z]",
+ 0,
+ readGIF,
+ writeGIF );
+ </pre>
+
+<p> Before the regex test, all the 0 bytes in the file header are
+converted to 1 bytes. This is done because when Qt was
+ASCII-based, <a href="qregexp.html">QRegExp</a> could not handle 0 bytes in strings.
+<p> The regexp is only applied on the first 14 bytes of the file.
+<p> Note that Qt assumes that there is only one handler per format; if
+two handlers support the same format, Qt will choose one
+arbitrarily. It is not possible to have one handler support
+reading, and another support writing.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="description"></a>QImageIO::description () const
+</h3>
+
+<p> Returns the image description string.
+<p> <p>See also <a href="#setDescription">setDescription</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fileName"></a>QImageIO::fileName () const
+</h3>
+
+<p> Returns the file name currently set.
+<p> <p>See also <a href="#setFileName">setFileName</a>().
+
+<h3 class=fn>const char * <a name="format"></a>QImageIO::format () const
+</h3>
+
+<p> Returns the image format string or 0 if no format has been
+explicitly set.
+
+<h3 class=fn>float <a name="gamma"></a>QImageIO::gamma () const
+</h3>
+Returns the gamma value at which the image will be viewed.
+<p> <p>See also <a href="#setGamma">setGamma</a>().
+
+<h3 class=fn>const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp; <a name="image"></a>QImageIO::image () const
+</h3>
+
+<p> Returns the image currently set.
+<p> <p>See also <a href="#setImage">setImage</a>().
+
+<h3 class=fn>const char * <a name="imageFormat"></a>QImageIO::imageFormat ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+Returns a string that specifies the image format of the file <em>fileName</em>, or null if the file cannot be read or if the format is
+not recognized.
+
+<h3 class=fn>const char * <a name="imageFormat-2"></a>QImageIO::imageFormat ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;d )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a string that specifies the image format of the image read
+from IO device <em>d</em>, or 0 if the device cannot be read or if the
+format is not recognized.
+<p> Make sure that <em>d</em> is at the right position in the device (for
+example, at the beginning of the file).
+<p> <p>See also <a href="qiodevice.html#at">QIODevice::at</a>().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="inputFormats"></a>QImageIO::inputFormats ()<tt> [static]</tt>
+</h3>
+Returns a sorted list of image formats that are supported for
+image input.
+
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="ioDevice"></a>QImageIO::ioDevice () const
+</h3>
+
+<p> Returns the IO device currently set.
+<p> <p>See also <a href="#setIODevice">setIODevice</a>().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="outputFormats"></a>QImageIO::outputFormats ()<tt> [static]</tt>
+</h3>
+Returns a sorted list of image formats that are supported for
+image output.
+
+<p>Example: <a href="scribble-example.html#x911">scribble/scribble.cpp</a>.
+<h3 class=fn>const char * <a name="parameters"></a>QImageIO::parameters () const
+</h3>
+Returns the image's parameters string.
+<p> <p>See also <a href="#setParameters">setParameters</a>().
+
+<h3 class=fn>int <a name="quality"></a>QImageIO::quality () const
+</h3>
+Returns the quality of the written image, related to the
+compression ratio.
+<p> <p>See also <a href="#setQuality">setQuality</a>() and <a href="qimage.html#save">QImage::save</a>().
+
+<h3 class=fn>bool <a name="read"></a>QImageIO::read ()
+</h3>
+Reads an image into memory and returns TRUE if the image was
+successfully read; otherwise returns FALSE.
+<p> Before reading an image you must set an IO device or a file name.
+If both an IO device and a file name have been set, the IO device
+will be used.
+<p> Setting the image file format string is optional.
+<p> Note that this function does <em>not</em> set the <a href="#format">format</a> used to read the image. If you need that
+information, use the <a href="#imageFormat">imageFormat</a>() static functions.
+<p> Example:
+<p> <pre>
+ QImageIO iio;
+ <a href="qpixmap.html">QPixmap</a> pixmap;
+ iio.<a href="#setFileName">setFileName</a>( "vegeburger.bmp" );
+ if ( image.read() ) // ok
+ pixmap = iio.<a href="#image">image</a>(); // convert to pixmap
+ </pre>
+
+<p> <p>See also <a href="#setIODevice">setIODevice</a>(), <a href="#setFileName">setFileName</a>(), <a href="#setFormat">setFormat</a>(), <a href="#write">write</a>(), and <a href="qpixmap.html#load">QPixmap::load</a>().
+
+<h3 class=fn>void <a name="setDescription"></a>QImageIO::setDescription ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;description )
+</h3>
+Sets the image description string for image handlers that support
+image descriptions to <em>description</em>.
+<p> Currently, no image format supported by Qt uses the description
+string.
+
+<h3 class=fn>void <a name="setFileName"></a>QImageIO::setFileName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )
+</h3>
+Sets the name of the file to read or write an image from to <em>fileName</em>.
+<p> <p>See also <a href="#setIODevice">setIODevice</a>().
+
+<h3 class=fn>void <a name="setFormat"></a>QImageIO::setFormat ( const&nbsp;char&nbsp;*&nbsp;format )
+</h3>
+Sets the image format to <em>format</em> for the image to be read or
+written.
+<p> It is necessary to specify a format before writing an image, but
+it is not necessary to specify a format before reading an image.
+<p> If no format has been set, Qt guesses the image format before
+reading it. If a format is set the image will only be read if it
+has that format.
+<p> <p>See also <a href="#read">read</a>(), <a href="#write">write</a>(), and <a href="#format">format</a>().
+
+<h3 class=fn>void <a name="setGamma"></a>QImageIO::setGamma ( float&nbsp;gamma )
+</h3>
+Sets the gamma value at which the image will be viewed to <em>gamma</em>. If the image format stores a gamma value for which the
+image is intended to be used, then this setting will be used to
+modify the image. Setting to 0.0 will disable gamma correction
+(i.e. any specification in the file will be ignored).
+<p> The default value is 0.0.
+<p> <p>See also <a href="#gamma">gamma</a>().
+
+<h3 class=fn>void <a name="setIODevice"></a>QImageIO::setIODevice ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;ioDevice )
+</h3>
+Sets the IO device to be used for reading or writing an image.
+<p> Setting the IO device allows images to be read/written to any
+block-oriented <a href="qiodevice.html">QIODevice</a>.
+<p> If <em>ioDevice</em> is not null, this IO device will override file name
+settings.
+<p> <p>See also <a href="#setFileName">setFileName</a>().
+
+<h3 class=fn>void <a name="setImage"></a>QImageIO::setImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+Sets the image to <em>image</em>.
+<p> <p>See also <a href="#image">image</a>().
+
+<h3 class=fn>void <a name="setParameters"></a>QImageIO::setParameters ( const&nbsp;char&nbsp;*&nbsp;parameters )
+</h3>
+Sets the image's parameter string to <em>parameters</em>. This is for
+image handlers that require special parameters.
+<p> Although the current image formats supported by Qt ignore the
+parameters string, it may be used in future extensions or by
+contributions (for example, JPEG).
+<p> <p>See also <a href="#parameters">parameters</a>().
+
+<h3 class=fn>void <a name="setQuality"></a>QImageIO::setQuality ( int&nbsp;q )
+</h3>
+Sets the quality of the written image to <em>q</em>, related to the
+compression ratio.
+<p> <em>q</em> must be in the range -1..100. Specify 0 to obtain small
+compressed files, 100 for large uncompressed files. (-1 signifies
+the default compression.)
+<p> <p>See also <a href="#quality">quality</a>() and <a href="qimage.html#save">QImage::save</a>().
+
+<h3 class=fn>void <a name="setStatus"></a>QImageIO::setStatus ( int&nbsp;status )
+</h3>
+Sets the image IO status to <em>status</em>. A non-zero value indicates
+an error, whereas 0 means that the IO operation was successful.
+<p> <p>See also <a href="#status">status</a>().
+
+<h3 class=fn>int <a name="status"></a>QImageIO::status () const
+</h3>
+
+<p> Returns the image's IO status. A non-zero value indicates an
+error, whereas 0 means that the IO operation was successful.
+<p> <p>See also <a href="#setStatus">setStatus</a>().
+
+<h3 class=fn>bool <a name="write"></a>QImageIO::write ()
+</h3>
+Writes an image to an IO device and returns TRUE if the image was
+successfully written; otherwise returns FALSE.
+<p> Before writing an image you must set an IO device or a file name.
+If both an IO device and a file name have been set, the IO device
+will be used.
+<p> The image will be written using the specified image format.
+<p> Example:
+<pre>
+ QImageIO iio;
+ <a href="qimage.html">QImage</a> im;
+ im = pixmap; // convert to image
+ iio.<a href="#setImage">setImage</a>( im );
+ iio.<a href="#setFileName">setFileName</a>( "vegeburger.bmp" );
+ iio.<a href="#setFormat">setFormat</a>( "BMP" );
+ if ( iio.<a href="#write">write</a>() )
+ // returned TRUE if written successfully
+ </pre>
+
+<p> <p>See also <a href="#setIODevice">setIODevice</a>(), <a href="#setFileName">setFileName</a>(), <a href="#setFormat">setFormat</a>(), <a href="#read">read</a>(), and <a href="qpixmap.html#save">QPixmap::save</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimevent-members.html b/doc/html/qimevent-members.html
new file mode 100644
index 0000000..5812a6a
--- /dev/null
+++ b/doc/html/qimevent-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:459 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIMEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIMEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qimevent.html">QIMEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qimevent.html#QIMEvent">QIMEvent</a>()
+<li><a href="qimevent.html#accept">accept</a>()
+<li><a href="qimevent.html#cursorPos">cursorPos</a>()
+<li><a href="qimevent.html#ignore">ignore</a>()
+<li><a href="qimevent.html#isAccepted">isAccepted</a>()
+<li><a href="qimevent.html#selectionLength">selectionLength</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qimevent.html#text">text</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qimevent.html b/doc/html/qimevent.html
new file mode 100644
index 0000000..1b3768c
--- /dev/null
+++ b/doc/html/qimevent.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1761 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIMEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIMEvent Class Reference</h1>
+
+<p>The QIMEvent class provides parameters for input method events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qimevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIMEvent"><b>QIMEvent</b></a> ( Type&nbsp;type, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;cursorPosition )</li>
+<li class=fn>const QString &amp; <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>int <a href="#cursorPos"><b>cursorPos</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+<li class=fn>int <a href="#selectionLength"><b>selectionLength</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIMEvent class provides parameters for input method events.
+<p>
+<p> Input method events are sent to widgets when an input method is
+used to enter text into a widget. Input methods are widely used to
+enter text in Asian and other complex languages.
+<p> The events are of interest to widgets that accept keyboard input
+and want to be able to correctly handle complex languages. Text
+input in such languages is usually a three step process.
+<p> <ol type=1>
+<li> <b>Starting to Compose</b><br>
+When the user presses the first key on a keyboard an input context
+is created. This input context will contain a string with the
+typed characters.
+<p> <li> <b>Composing</b><br>
+With every new key pressed, the input method will try to create a
+matching string for the text typed so far. While the input context
+is active, the user can only move the cursor inside the string
+belonging to this input context.
+<p> <li> <b>Completing</b><br>
+At some point, e.g. when the user presses the Spacebar, they get
+to this stage, where they can choose from a number of strings that
+match the text they have typed so far. The user can press Enter to
+confirm their choice or Escape to cancel the input; in either case
+the input context will be closed.
+</ol>
+<p> Note that the particular key presses used for a given input
+context may differ from those we've mentioned here, i.e. they may
+not be Spacebar, Enter and Escape.
+<p> These three stages are represented by three different types of
+events. The IMStartEvent, IMComposeEvent and IMEndEvent. When a
+new input context is created, an IMStartEvent will be sent to the
+widget and delivered to the <a href="qwidget.html#imStartEvent">QWidget::imStartEvent</a>() function.
+The widget can then update internal data structures to reflect
+this.
+<p> After this, an IMComposeEvent will be sent to the widget for
+every key the user presses. It will contain the current
+composition string the widget has to show and the current cursor
+position within the composition string. This string is temporary
+and can change with every key the user types, so the widget will
+need to store the state before the composition started (the state
+it had when it received the IMStartEvent). IMComposeEvents will be
+delivered to the <a href="qwidget.html#imComposeEvent">QWidget::imComposeEvent</a>() function.
+<p> Usually, widgets try to mark the part of the text that is part of
+the current composition in a way that is visible to the user. A
+commonly used visual cue is to use a dotted underline.
+<p> After the user has selected the final string, an IMEndEvent will
+be sent to the widget. The event contains the final string the
+user selected, and could be empty if they canceled the
+composition. This string should be accepted as the final text the
+user entered, and the intermediate composition string should be
+cleared. These events are delivered to <a href="qwidget.html#imEndEvent">QWidget::imEndEvent</a>().
+<p> If the user clicks another widget, taking the focus out of the
+widget where the composition is taking place the IMEndEvent will
+be sent and the string it holds will be the result of the
+composition up to that point (which may be an empty string).
+<p>See also <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIMEvent"></a>QIMEvent::QIMEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;cursorPosition )
+</h3>
+
+<p> Constructs a new QIMEvent with the accept flag set to FALSE. <em>type</em> can be one of QEvent::IMStartEvent, QEvent::IMComposeEvent
+or QEvent::IMEndEvent. <em>text</em> contains the current compostion
+string and <em>cursorPosition</em> the current position of the cursor
+inside <em>text</em>.
+
+<h3 class=fn>void <a name="accept"></a>QIMEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the input method event object.
+<p> Setting the accept parameter indicates that the receiver of the
+event processed the input method event.
+<p> The accept flag is not set by default.
+<p> <p>See also <a href="#ignore">ignore</a>().
+
+<h3 class=fn>int <a name="cursorPos"></a>QIMEvent::cursorPos () const
+</h3>
+
+<p> Returns the current cursor position inside the composition string.
+Will return -1 for IMStartEvent and IMEndEvent.
+
+<h3 class=fn>void <a name="ignore"></a>QIMEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag parameter of the input method event object.
+<p> Clearing the accept parameter indicates that the event receiver
+does not want the input method event.
+<p> The accept flag is cleared by default.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QIMEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event processed the event;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="selectionLength"></a>QIMEvent::selectionLength () const
+</h3>
+
+<p> Returns the number of characters in the composition string (
+starting at <a href="#cursorPos">cursorPos</a>() ) that should be marked as selected by the
+input widget receiving the event.
+Will return 0 for IMStartEvent and IMEndEvent.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="text"></a>QIMEvent::text () const
+</h3>
+
+<p> Returns the composition text. This is a null string for an
+IMStartEvent, and contains the final accepted string (which may be
+empty) in the IMEndEvent.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qinputdialog-h.html b/doc/html/qinputdialog-h.html
new file mode 100644
index 0000000..0099315
--- /dev/null
+++ b/doc/html/qinputdialog-h.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qinputdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qinputdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qinputdialog.h</h1>
+
+<p>This is the verbatim text of the qinputdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qinputdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QInputDialog class
+**
+** Created : 991212
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QINPUTDIALOG_H
+#define QINPUTDIALOG_H
+
+#ifndef QT_H
+#include "qdialog.h"
+#include "qstring.h"
+#include "qlineedit.h"
+#endif // QT_H
+
+#ifndef QT_NO_INPUTDIALOG
+
+class QSpinBox;
+class QComboBox;
+class QInputDialogPrivate;
+
+class Q_EXPORT QInputDialog : public QDialog
+{
+ Q_OBJECT
+
+private:
+ enum Type { LineEdit, SpinBox, ComboBox, EditableComboBox };
+
+ QInputDialog( const QString &amp;label, QWidget* parent=0, const char* name=0,
+ bool modal = TRUE, Type type = LineEdit ); //### 4.0: widget flag!
+ ~QInputDialog();
+
+ QLineEdit *lineEdit() const;
+ QSpinBox *spinBox() const;
+ QComboBox *comboBox() const;
+ QComboBox *editableComboBox() const;
+
+ void setType( Type t );
+ Type type() const;
+
+public:
+ //### 4.0: widget flag!
+ static QString getText( const QString &amp;caption, const QString &amp;label, QLineEdit::EchoMode echo = QLineEdit::Normal,
+ const QString &amp;text = QString::null, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
+ static int getInteger( const QString &amp;caption, const QString &amp;label, int value = 0, int minValue = -2147483647,
+ int maxValue = 2147483647,
+ int step = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
+ static double getDouble( const QString &amp;caption, const QString &amp;label, double value = 0,
+ double minValue = -2147483647, double maxValue = 2147483647,
+ int decimals = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
+ static QString getItem( const QString &amp;caption, const QString &amp;label, const QStringList &amp;list,
+ int current = 0, bool editable = TRUE,
+ bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
+
+private slots:
+ void textChanged( const QString &amp;s );
+ void tryAccept();
+
+private:
+ QInputDialogPrivate *d;
+ friend class QInputDialogPrivate; /* to avoid 'has no friends' warnings... */
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QInputDialog( const QInputDialog &amp; );
+ QInputDialog &amp;operator=( const QInputDialog &amp; );
+#endif
+};
+
+#endif // QT_NO_INPUTDIALOG
+
+#endif // QINPUTDIALOG_H
+
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qinputdialog-members.html b/doc/html/qinputdialog-members.html
new file mode 100644
index 0000000..eeda4a5
--- /dev/null
+++ b/doc/html/qinputdialog-members.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qinputdialog.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QInputDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QInputDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qinputdialog.html">QInputDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qinputdialog.html#getDouble">getDouble</a>()
+<li><a href="qinputdialog.html#getInteger">getInteger</a>()
+<li><a href="qinputdialog.html#getItem">getItem</a>()
+<li><a href="qinputdialog.html#getText">getText</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qinputdialog.html b/doc/html/qinputdialog.html
new file mode 100644
index 0000000..bf6c5c7
--- /dev/null
+++ b/doc/html/qinputdialog.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qinputdialog.cpp:65 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QInputDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QInputDialog Class Reference</h1>
+
+<p>The QInputDialog class provides a simple convenience dialog to get a single value from the user.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qinputdialog-h.html">qinputdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qinputdialog-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#getText"><b>getText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;label, QLineEdit::EchoMode&nbsp;mode = QLineEdit::Normal, const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null, bool&nbsp;*&nbsp;ok = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>int <a href="#getInteger"><b>getInteger</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;value = 0, int&nbsp;minValue = -2147483647, int&nbsp;maxValue = 2147483647, int&nbsp;step = 1, bool&nbsp;*&nbsp;ok = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>double <a href="#getDouble"><b>getDouble</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;label, double&nbsp;value = 0, double&nbsp;minValue = -2147483647, double&nbsp;maxValue = 2147483647, int&nbsp;decimals = 1, bool&nbsp;*&nbsp;ok = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QString <a href="#getItem"><b>getItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;label, const&nbsp;QStringList&nbsp;&amp;&nbsp;list, int&nbsp;current = 0, bool&nbsp;editable = TRUE, bool&nbsp;*&nbsp;ok = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QInputDialog class provides a simple convenience dialog to get a single value from the user.
+
+
+<p> The input value can be a string, a number or an item from a list. A
+label must be set to tell the user what they should enter.
+<p> Four static convenience functions are provided:
+<a href="#getText">getText</a>(), <a href="#getInteger">getInteger</a>(), <a href="#getDouble">getDouble</a>() and <a href="#getItem">getItem</a>(). All the
+functions can be used in a similar way, for example:
+<pre>
+ bool ok;
+ <a href="qstring.html">QString</a> text = QInputDialog::<a href="#getText">getText</a>(
+ "MyApp 3000", "Enter your name:", QLineEdit::Normal,
+ <a href="qstring.html#QString-null">QString::null</a>, &amp;ok, this );
+ if ( ok &amp;&amp; !text.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ // user entered something and pressed OK
+ } else {
+ // user entered nothing or pressed Cancel
+ }
+ </pre>
+
+<p> <center><img src="inputdialogs.png" alt="Input Dialogs"></center> <p>See also <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>double <a name="getDouble"></a>QInputDialog::getDouble ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, double&nbsp;value = 0, double&nbsp;minValue = -2147483647, double&nbsp;maxValue = 2147483647, int&nbsp;decimals = 1, bool&nbsp;*&nbsp;ok = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Static convenience function to get a floating point number from
+the user. <em>caption</em> is the text which is displayed in the title
+bar of the dialog. <em>label</em> is the text which is shown to the user
+(it should say what should be entered). <em>value</em> is the default
+floating point number that the line edit will be set to. <em>minValue</em> and <em>maxValue</em> are the minimum and maximum values the
+user may choose, and <em>decimals</em> is the maximum number of decimal
+places the number may have.
+<p> If <em>ok</em> is not-null <em>*</em><em>ok</em> will be set to TRUE if the user
+pressed OK and to FALSE if the user pressed Cancel. The dialog's
+parent is <em>parent</em>; the dialog is called <em>name</em>. The dialog will
+be modal.
+<p> This function returns the floating point number which has been
+entered by the user.
+<p> Use this static function like this:
+<p> <pre>
+ bool ok;
+ double res = QInputDialog::<a href="#getDouble">getDouble</a>(
+ "MyApp 3000", "Enter a decimal number:", 33.7, 0,
+ 1000, 2, &amp;ok, this );
+ if ( ok ) {
+ // user entered something and pressed OK
+ } else {
+ // user pressed Cancel
+ }
+ </pre>
+
+
+<h3 class=fn>int <a name="getInteger"></a>QInputDialog::getInteger ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;value = 0, int&nbsp;minValue = -2147483647, int&nbsp;maxValue = 2147483647, int&nbsp;step = 1, bool&nbsp;*&nbsp;ok = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Static convenience function to get an integer input from the
+user. <em>caption</em> is the text which is displayed in the title bar
+of the dialog. <em>label</em> is the text which is shown to the user
+(it should say what should be entered). <em>value</em> is the default
+integer which the spinbox will be set to. <em>minValue</em> and <em>maxValue</em> are the minimum and maximum values the user may choose,
+and <em>step</em> is the amount by which the values change as the user
+presses the arrow buttons to increment or decrement the value.
+<p> If <em>ok</em> is not-null *<em>ok</em> will be set to TRUE if the user
+pressed OK and to FALSE if the user pressed Cancel. The dialog's
+parent is <em>parent</em>; the dialog is called <em>name</em>. The dialog will
+be modal.
+<p> This function returns the integer which has been entered by the user.
+<p> Use this static function like this:
+<p> <pre>
+ bool ok;
+ int res = QInputDialog::<a href="#getInteger">getInteger</a>(
+ "MyApp 3000", "Enter a number:", 22, 0, 1000, 2,
+ &amp;ok, this );
+ if ( ok ) {
+ // user entered something and pressed OK
+ } else {
+ // user pressed Cancel
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="getItem"></a>QInputDialog::getItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;list, int&nbsp;current = 0, bool&nbsp;editable = TRUE, bool&nbsp;*&nbsp;ok = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Static convenience function to let the user select an item from a
+string list. <em>caption</em> is the text which is displayed in the title
+bar of the dialog. <em>label</em> is the text which is shown to the user (it
+should say what should be entered). <em>list</em> is the
+string list which is inserted into the combobox, and <em>current</em> is the number
+of the item which should be the current item. If <em>editable</em> is TRUE
+the user can enter their own text; if <em>editable</em> is FALSE the user
+may only select one of the existing items.
+<p> If <em>ok</em> is not-null <em>*</em><em>ok</em> will be set to TRUE if the user
+pressed OK and to FALSE if the user pressed Cancel. The dialog's
+parent is <em>parent</em>; the dialog is called <em>name</em>. The dialog will
+be modal.
+<p> This function returns the text of the current item, or if <em>editable</em> is TRUE, the current text of the combobox.
+<p> Use this static function like this:
+<p> <pre>
+ <a href="qstringlist.html">QStringList</a> lst;
+ lst &lt;&lt; "First" &lt;&lt; "Second" &lt;&lt; "Third" &lt;&lt; "Fourth" &lt;&lt; "Fifth";
+ bool ok;
+ <a href="qstring.html">QString</a> res = QInputDialog::<a href="#getItem">getItem</a>(
+ "MyApp 3000", "Select an item:", lst, 1, TRUE, &amp;ok,
+ this );
+ if ( ok ) {
+ // user selected an item and pressed OK
+ } else {
+ // user pressed Cancel
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="getText"></a>QInputDialog::getText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qlineedit.html#EchoMode-enum">QLineEdit::EchoMode</a>&nbsp;mode = QLineEdit::Normal, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null, bool&nbsp;*&nbsp;ok = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+Static convenience function to get a string from the user. <em>caption</em> is the text which is displayed in the title bar of the
+dialog. <em>label</em> is the text which is shown to the user (it should
+say what should be entered). <em>text</em> is the default text which is
+placed in the line edit. The <em>mode</em> is the echo mode the line edit
+will use. If <em>ok</em> is not-null <em>*</em><em>ok</em> will be set to TRUE if the
+user pressed OK and to FALSE if the user pressed Cancel. The
+dialog's parent is <em>parent</em>; the dialog is called <em>name</em>. The
+dialog will be modal.
+<p> This function returns the text which has been entered in the line
+edit. It will not return an empty string.
+<p> Use this static function like this:
+<p> <pre>
+ bool ok;
+ <a href="qstring.html">QString</a> text = QInputDialog::<a href="#getText">getText</a>(
+ "MyApp 3000", "Enter your name:", QLineEdit::Normal,
+ <a href="qstring.html#QString-null">QString::null</a>, &amp;ok, this );
+ if ( ok &amp;&amp; !text.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ // user entered something and pressed OK
+ } else {
+ // user entered nothing or pressed Cancel
+ }
+ </pre>
+
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintcache-h.html b/doc/html/qintcache-h.html
new file mode 100644
index 0000000..1fa0df6
--- /dev/null
+++ b/doc/html/qintcache-h.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintcache.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qintcache.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qintcache.h</h1>
+
+<p>This is the verbatim text of the qintcache.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qintcache.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QIntCache template class
+**
+** Created : 950209
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QINTCACHE_H
+#define QINTCACHE_H
+
+#ifndef QT_H
+#include "qgcache.h"
+#endif // QT_H
+
+
+template&lt;class type&gt;
+class QIntCache
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGCache
+#endif
+{
+public:
+ QIntCache( const QIntCache&lt;type&gt; &amp;c ) : QGCache(c) {}
+ QIntCache( int maxCost=100, int size=17 )
+ : QGCache( maxCost, size, IntKey, FALSE, FALSE ) {}
+ ~QIntCache() { clear(); }
+ QIntCache&lt;type&gt; &amp;operator=( const QIntCache&lt;type&gt; &amp;c )
+ { return (QIntCache&lt;type&gt;&amp;)QGCache::operator=(c); }
+ int maxCost() const { return QGCache::maxCost(); }
+ int totalCost() const { return QGCache::totalCost(); }
+ void setMaxCost( int m) { QGCache::setMaxCost(m); }
+ uint count() const { return QGCache::count(); }
+ uint size() const { return QGCache::size(); }
+ bool isEmpty() const { return QGCache::count() == 0; }
+ bool insert( long k, const type *d, int c=1, int p=0 )
+ { return QGCache::insert_other((const char*)k,(Item)d,c,p); }
+ bool remove( long k )
+ { return QGCache::remove_other((const char*)k); }
+ type *take( long k )
+ { return (type *)QGCache::take_other((const char*)k);}
+ void clear() { QGCache::clear(); }
+ type *find( long k, bool ref=TRUE ) const
+ { return (type *)QGCache::find_other( (const char*)k,ref);}
+ type *operator[]( long k ) const
+ { return (type *)QGCache::find_other( (const char*)k); }
+ void statistics() const { QGCache::statistics(); }
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QIntCache&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QIntCache&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QIntCacheIterator : public QGCacheIterator
+{
+public:
+ QIntCacheIterator( const QIntCache&lt;type&gt; &amp;c )
+ : QGCacheIterator( (QGCache &amp;)c ) {}
+ QIntCacheIterator( const QIntCacheIterator&lt;type&gt; &amp;ci )
+ : QGCacheIterator((QGCacheIterator &amp;)ci) {}
+ QIntCacheIterator&lt;type&gt; &amp;operator=( const QIntCacheIterator&lt;type&gt;&amp;ci )
+ { return ( QIntCacheIterator&lt;type&gt;&amp;)QGCacheIterator::operator=( ci );}
+ uint count() const { return QGCacheIterator::count(); }
+ bool isEmpty() const { return QGCacheIterator::count() == 0; }
+ bool atFirst() const { return QGCacheIterator::atFirst(); }
+ bool atLast() const { return QGCacheIterator::atLast(); }
+ type *toFirst() { return (type *)QGCacheIterator::toFirst(); }
+ type *toLast() { return (type *)QGCacheIterator::toLast(); }
+ operator type *() const { return (type *)QGCacheIterator::get(); }
+ type *current() const { return (type *)QGCacheIterator::get(); }
+ long currentKey() const { return (long)QGCacheIterator::getKeyInt();}
+ type *operator()() { return (type *)QGCacheIterator::operator()();}
+ type *operator++() { return (type *)QGCacheIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGCacheIterator::operator+=(j);}
+ type *operator--() { return (type *)QGCacheIterator::operator--(); }
+ type *operator-=(uint j) { return (type *)QGCacheIterator::operator-=(j);}
+};
+
+
+#endif // QINTCACHE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintcache-members.html b/doc/html/qintcache-members.html
new file mode 100644
index 0000000..14c0587
--- /dev/null
+++ b/doc/html/qintcache-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintcache.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntCache Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIntCache</h1>
+
+<p>This is the complete list of member functions for
+<a href="qintcache.html">QIntCache</a>, including inherited members.
+
+<ul>
+<li><a href="qintcache.html#~QIntCache">~QIntCache</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qintcache.html#clear">clear</a>()
+<li><a href="qintcache.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qintcache.html#find">find</a>()
+<li><a href="qintcache.html#insert">insert</a>()
+<li><a href="qintcache.html#isEmpty">isEmpty</a>()
+<li><a href="qintcache.html#maxCost">maxCost</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qintcache.html#operator[]">operator[]</a>()
+<li><a href="qintcache.html#remove">remove</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qintcache.html#setMaxCost">setMaxCost</a>()
+<li><a href="qintcache.html#size">size</a>()
+<li><a href="qintcache.html#statistics">statistics</a>()
+<li><a href="qintcache.html#take">take</a>()
+<li><a href="qintcache.html#totalCost">totalCost</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintcache.html b/doc/html/qintcache.html
new file mode 100644
index 0000000..3803461
--- /dev/null
+++ b/doc/html/qintcache.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qintcache.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntCache Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIntCache Class Reference</h1>
+
+<p>The QIntCache class is a template class that provides a cache based on long keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qintcache-h.html">qintcache.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qintcache-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIntCache-2"><b>QIntCache</b></a> ( int&nbsp;maxCost = 100, int&nbsp;size = 17 )</li>
+<li class=fn><a href="#~QIntCache"><b>~QIntCache</b></a> ()</li>
+<li class=fn>int <a href="#maxCost"><b>maxCost</b></a> () const</li>
+<li class=fn>int <a href="#totalCost"><b>totalCost</b></a> () const</li>
+<li class=fn>void <a href="#setMaxCost"><b>setMaxCost</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( long&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( long&nbsp;k )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( long&nbsp;k )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( long&nbsp;k, bool&nbsp;ref = TRUE ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( long&nbsp;k ) const</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIntCache class is a template class that provides a cache based on long keys.
+<p>
+
+<p> QIntCache is implemented as a template class. Define a template
+instance QIntCache&lt;X&gt; to create a cache that operates on
+pointers to X, or X*.
+<p> A cache is a least recently used (LRU) list of cache items,
+accessed via <tt>long</tt> keys. Each cache item has a cost. The sum
+of item costs, <a href="#totalCost">totalCost</a>(), will not exceed the maximum cache
+cost, <a href="#maxCost">maxCost</a>(). If inserting a new item would cause the total
+cost to exceed the maximum cost, the least recently used items in
+the cache are removed.
+<p> Apart from <a href="#insert">insert</a>(), by far the most important function is <a href="#find">find</a>()
+(which also exists as operator[]). This function looks up an
+item, returns it, and by default marks it as being the most
+recently used item.
+<p> There are also methods to <a href="#remove">remove</a>() or <a href="#take">take</a>() an object from the
+cache. Calling <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE) for a cache tells it to delete
+items that are removed. The default is to not delete items when
+they are removed (i.e. remove() and take() are equivalent).
+<p> When inserting an item into the cache, only the pointer is copied,
+not the item itself. This is called a <a href="shclass.html#shallow-copy">shallow copy</a>. It is possible
+to make the cache copy all of the item's data (known as a <a href="shclass.html#deep-copy">deep copy</a>) when an item is inserted. insert() calls the virtual
+function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item to be inserted.
+Inherit a dictionary and reimplement <a href="qptrcollection.html#newItem">newItem</a>() if you want deep
+copies.
+<p> When removing a cache item, the item will be automatically
+deleted if auto-deletion is enabled.
+<p> There is a <a href="qintcacheiterator.html">QIntCacheIterator</a> which may be used to traverse the
+items in the cache in arbitrary order.
+<p> <p>See also <a href="qintcacheiterator.html">QIntCacheIterator</a>, <a href="qcache.html">QCache</a>, <a href="qasciicache.html">QAsciiCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIntCache-2"></a>QIntCache::QIntCache ( int&nbsp;maxCost = 100, int&nbsp;size = 17 )
+</h3>
+
+<p> Constructs a cache whose contents will never have a total cost
+greater than <em>maxCost</em> and which is expected to contain less than
+<em>size</em> items.
+<p> <em>size</em> is actually the size of an internal hash array; it's
+usually best to make it <a href="primes.html#prime">prime</a> and at least 50% bigger than the
+largest expected number of items in the cache.
+<p> Each inserted item is associated with a cost. When inserting a new
+item, if the total cost of all items in the cache will exceed <em>maxCost</em>, the cache will start throwing out the older (least
+recently used) items until there is enough room for the new item
+to be inserted.
+
+<h3 class=fn><a name="~QIntCache"></a>QIntCache::~QIntCache ()
+</h3>
+
+<p> Removes all items from the cache and then destroys the int cache.
+If auto-deletion is enabled the cache's items are deleted. All
+iterators that access this cache will be reset.
+
+<h3 class=fn>void <a name="clear"></a>QIntCache::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the cache, and deletes them if
+auto-deletion has been enabled.
+<p> All cache iterators that operate this on cache are reset.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#take">take</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QIntCache::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the cache.
+<p> <p>See also <a href="#totalCost">totalCost</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QIntCache::find ( long&nbsp;k, bool&nbsp;ref = TRUE ) const
+</h3>
+
+<p> Returns the item associated with <em>k</em>, or 0 if the key does not
+exist in the cache. If <em>ref</em> is TRUE (the default), the item is
+moved to the front of the least recently used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted most recently is returned.
+
+<h3 class=fn>bool <a name="insert"></a>QIntCache::insert ( long&nbsp;k, const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;c = 1, int&nbsp;p = 0 )
+</h3>
+
+<p> Inserts the item <em>d</em> into the cache with key <em>k</em> and assigns it
+a cost of <em>c</em> (default 1). Returns TRUE if it succeeds; otherwise
+returns FALSE.
+<p> The cache's size is limited, and if the total cost is too high,
+QIntCache will remove old, least-used items until there is room
+for this new item.
+<p> The parameter <em>p</em> is internal and should be left at the default
+value (0).
+<p> <b>Warning:</b> If this function returns FALSE (for example, the cost <tt>,</tt>
+exceeds <a href="#maxCost">maxCost</a>()), you must delete <em>d</em> yourself. Additionally,
+be very careful about using <em>d</em> after calling this function. Any
+other insertions into the cache, from anywhere in the application
+or within Qt itself, could cause the object to be discarded from
+the cache and the pointer to become invalid.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QIntCache::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="maxCost"></a>QIntCache::maxCost () const
+</h3>
+
+<p> Returns the maximum allowed total cost of the cache.
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>type * <a name="operator[]"></a>QIntCache::operator[] ( long&nbsp;k ) const
+</h3>
+
+<p> Returns the item associated with <em>k</em>, or 0 if <em>k</em> does not exist
+in the cache, and moves the item to the front of the least
+recently used list.
+<p> If there are two or more items with equal keys, the one that was
+inserted most recently is returned.
+<p> This is the same as <a href="#find">find</a>( k, TRUE ).
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QIntCache::remove ( long&nbsp;k )
+</h3>
+
+<p> Removes the item associated with <em>k</em>, and returns TRUE if the
+item was present in the cache; otherwise returns FALSE.
+<p> The item is deleted if auto-deletion has been enabled, i.e. if you
+have called <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE).
+<p> If there are two or more items with equal keys, the one that was
+inserted most recently is removed.
+<p> All iterators that refer to the removed item are set to point to
+the next item in the cache's traversal order.
+<p> <p>See also <a href="#take">take</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setMaxCost"></a>QIntCache::setMaxCost ( int&nbsp;m )
+</h3>
+
+<p> Sets the maximum allowed total cost of the cache to <em>m</em>. If the
+current total cost is greater than <em>m</em>, some items are removed
+immediately.
+<p> <p>See also <a href="#maxCost">maxCost</a>() and <a href="#totalCost">totalCost</a>().
+
+<h3 class=fn>uint <a name="size"></a>QIntCache::size () const
+</h3>
+
+<p> Returns the size of the hash array used to implement the cache.
+This should be a bit larger than <a href="#count">count</a>() is likely to be.
+
+<h3 class=fn>void <a name="statistics"></a>QIntCache::statistics () const
+</h3>
+
+<p> A debug-only utility function. Prints out cache usage, hit/miss,
+and distribution information using <a href="qapplication.html#qDebug">qDebug</a>(). This function does
+nothing in the release library.
+
+<h3 class=fn>type * <a name="take"></a>QIntCache::take ( long&nbsp;k )
+</h3>
+
+<p> Takes the item associated with <em>k</em> out of the cache without
+deleting it, and returns a pointer to the item taken out or 0 if
+the key does not exist in the cache.
+<p> If there are two or more items with equal keys, the one that was
+inserted most recently is taken.
+<p> All iterators that refer to the taken item are set to point to the
+next item in the cache's traversal order.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>int <a name="totalCost"></a>QIntCache::totalCost () const
+</h3>
+
+<p> Returns the total cost of the items in the cache. This is an
+integer in the range 0 to <a href="#maxCost">maxCost</a>().
+<p> <p>See also <a href="#setMaxCost">setMaxCost</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintcacheiterator-members.html b/doc/html/qintcacheiterator-members.html
new file mode 100644
index 0000000..ad4da0a
--- /dev/null
+++ b/doc/html/qintcacheiterator-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintcache.h:95 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntCacheIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIntCacheIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qintcacheiterator.html">QIntCacheIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qintcacheiterator.html#QIntCacheIterator">QIntCacheIterator</a>()
+<li><a href="qintcacheiterator.html#atFirst">atFirst</a>()
+<li><a href="qintcacheiterator.html#atLast">atLast</a>()
+<li><a href="qintcacheiterator.html#count">count</a>()
+<li><a href="qintcacheiterator.html#current">current</a>()
+<li><a href="qintcacheiterator.html#currentKey">currentKey</a>()
+<li><a href="qintcacheiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qintcacheiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qintcacheiterator.html#operator()">operator()</a>()
+<li><a href="qintcacheiterator.html#operator++">operator++</a>()
+<li><a href="qintcacheiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qintcacheiterator.html#operator--">operator--</a>()
+<li><a href="qintcacheiterator.html#operator--eq">operator-=</a>()
+<li><a href="qintcacheiterator.html#operator-eq">operator=</a>()
+<li><a href="qintcacheiterator.html#toFirst">toFirst</a>()
+<li><a href="qintcacheiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintcacheiterator.html b/doc/html/qintcacheiterator.html
new file mode 100644
index 0000000..799753a
--- /dev/null
+++ b/doc/html/qintcacheiterator.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qintcache.doc:281 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntCacheIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIntCacheIterator Class Reference</h1>
+
+<p>The QIntCacheIterator class provides an iterator for QIntCache collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qintcache-h.html">qintcache.h</a>&gt;</tt>
+<p><a href="qintcacheiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIntCacheIterator"><b>QIntCacheIterator</b></a> ( const&nbsp;QIntCache&lt;type&gt;&nbsp;&amp;&nbsp;cache )</li>
+<li class=fn><a href="#QIntCacheIterator-2"><b>QIntCacheIterator</b></a> ( const&nbsp;QIntCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>QIntCacheIterator&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QIntCacheIterator&lt;type&gt;&nbsp;&amp;&nbsp;ci )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#atFirst"><b>atFirst</b></a> () const</li>
+<li class=fn>bool <a href="#atLast"><b>atLast</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn>type * <a href="#toLast"><b>toLast</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>long <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+<li class=fn>type * <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>type * <a href="#operator--eq"><b>operator-=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIntCacheIterator class provides an iterator for <a href="qintcache.html">QIntCache</a> collections.
+<p>
+
+<p> Note that the traversal order is arbitrary; you are not guaranteed
+any particular order. If new objects are inserted into the cache
+while the iterator is active, the iterator may or may not see
+them.
+<p> Multiple iterators are completely independent, even when they
+operate on the same QIntCache. QIntCache updates all iterators
+that refer an item when that item is removed.
+<p> QIntCacheIterator provides an <a href="#operator++">operator++</a>(), and an <a href="#operator+-eq">operator+=</a>() to
+traverse the cache; <a href="#current">current</a>() and <a href="#currentKey">currentKey</a>() to access the
+current cache item and its key; <a href="#atFirst">atFirst</a>() <a href="#atLast">atLast</a>(), which return
+TRUE if the iterator points to the first/last item in the cache;
+<a href="#isEmpty">isEmpty</a>(), which returns TRUE if the cache is empty; and <a href="#count">count</a>(),
+which returns the number of items in the cache.
+<p> Note that atFirst() and atLast() refer to the iterator's arbitrary
+ordering, not to the cache's internal least recently used list.
+<p> <p>See also <a href="qintcache.html">QIntCache</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIntCacheIterator"></a>QIntCacheIterator::QIntCacheIterator ( const&nbsp;<a href="qintcache.html">QIntCache</a>&lt;type&gt;&nbsp;&amp;&nbsp;cache )
+</h3>
+
+<p> Constructs an iterator for <em>cache</em>. The current iterator item is
+set to point to the first item in the <em>cache</em> (or rather, the
+first item is defined to be the item at which this constructor
+sets the iterator to point).
+
+<h3 class=fn><a name="QIntCacheIterator-2"></a>QIntCacheIterator::QIntCacheIterator ( const&nbsp;<a href="qintcacheiterator.html">QIntCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Constructs an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>(), but moves
+independently from there on.
+
+<h3 class=fn>bool <a name="atFirst"></a>QIntCacheIterator::atFirst () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the first item in the
+cache; otherwise returns FALSE. Note that this refers to the
+iterator's arbitrary ordering, not to the cache's internal least
+recently used list.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>().
+
+<h3 class=fn>bool <a name="atLast"></a>QIntCacheIterator::atLast () const
+</h3>
+
+<p> Returns TRUE if the iterator points to the last item in the cache;
+otherwise returns FALSE. Note that this refers to the iterator's
+arbitrary ordering, not to the cache's internal least recently
+used list.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>().
+
+<h3 class=fn>uint <a name="count"></a>QIntCacheIterator::count () const
+</h3>
+
+<p> Returns the number of items in the cache on which this iterator
+operates.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QIntCacheIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item.
+
+<h3 class=fn>long <a name="currentKey"></a>QIntCacheIterator::currentKey () const
+</h3>
+
+<p> Returns the key for the current iterator item.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QIntCacheIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the cache is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QIntCacheIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QIntCacheIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the cache or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QIntCacheIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the iterator point to the item just after
+<a href="#current">current</a>(), and makes it the new current item for the iterator. If
+current() was the last item, <a href="#operator--">operator--</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QIntCacheIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions after the current item, or 0 if
+it is beyond the last item. Makes this the current item.
+
+<h3 class=fn>type * <a name="operator--"></a>QIntCacheIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the iterator point to the item just before
+<a href="#current">current</a>(), and makes it the new current item for the iterator. If
+current() was the first item, <a href="#operator--">operator--</a>() returns 0.
+
+<h3 class=fn>type * <a name="operator--eq"></a>QIntCacheIterator::operator-= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions before the current item, or 0
+if it is beyond the first item. Makes this the current item.
+
+<h3 class=fn><a href="qintcacheiterator.html">QIntCacheIterator</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QIntCacheIterator::operator= ( const&nbsp;<a href="qintcacheiterator.html">QIntCacheIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;ci )
+</h3>
+
+<p> Makes this an iterator for the same cache as <em>ci</em>. The new
+iterator starts at the same item as ci.<a href="#current">current</a>(), but moves
+independently thereafter.
+
+<h3 class=fn>type * <a name="toFirst"></a>QIntCacheIterator::toFirst ()
+</h3>
+
+<p> Sets the iterator to point to the first item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0, and returns 0, if the cache is empty.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="toLast"></a>QIntCacheIterator::toLast ()
+</h3>
+
+<p> Sets the iterator to point to the last item in the cache and
+returns a pointer to the item.
+<p> Sets the iterator to 0, and returns 0, if the cache is empty.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintdict-h.html b/doc/html/qintdict-h.html
new file mode 100644
index 0000000..04f96dd
--- /dev/null
+++ b/doc/html/qintdict-h.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintdict.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qintdict.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qintdict.h</h1>
+
+<p>This is the verbatim text of the qintdict.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qintdict.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QIntDict template class
+**
+** Created : 940624
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QINTDICT_H
+#define QINTDICT_H
+
+#ifndef QT_H
+#include "qgdict.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QIntDict
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGDict
+#endif
+{
+public:
+ QIntDict(int size=17) : QGDict(size,IntKey,0,0) {}
+ QIntDict( const QIntDict&lt;type&gt; &amp;d ) : QGDict(d) {}
+ ~QIntDict() { clear(); }
+ QIntDict&lt;type&gt; &amp;operator=(const QIntDict&lt;type&gt; &amp;d)
+ { return (QIntDict&lt;type&gt;&amp;)QGDict::operator=(d); }
+ uint count() const { return QGDict::count(); }
+ uint size() const { return QGDict::size(); }
+ bool isEmpty() const { return QGDict::count() == 0; }
+ void insert( long k, const type *d )
+ { QGDict::look_int(k,(Item)d,1); }
+ void replace( long k, const type *d )
+ { QGDict::look_int(k,(Item)d,2); }
+ bool remove( long k ) { return QGDict::remove_int(k); }
+ type *take( long k ) { return (type*)QGDict::take_int(k); }
+ type *find( long k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_int(k,0,0); }
+ type *operator[]( long k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_int(k,0,0); }
+ void clear() { QGDict::clear(); }
+ void resize( uint n ) { QGDict::resize(n); }
+ void statistics() const { QGDict::statistics(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream &amp;, QPtrCollection::Item &amp; );
+ virtual QDataStream&amp; write( QDataStream &amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QIntDict&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QIntDict&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type*)d;
+}
+
+template&lt;class type&gt;
+class QIntDictIterator : public QGDictIterator
+{
+public:
+ QIntDictIterator(const QIntDict&lt;type&gt; &amp;d) :QGDictIterator((QGDict &amp;)d) {}
+ ~QIntDictIterator() {}
+ uint count() const { return dict-&gt;count(); }
+ bool isEmpty() const { return dict-&gt;count() == 0; }
+ type *toFirst() { return (type *)QGDictIterator::toFirst(); }
+ operator type *() const { return (type *)QGDictIterator::get(); }
+ type *current() const { return (type *)QGDictIterator::get(); }
+ long currentKey() const { return QGDictIterator::getKeyInt(); }
+ type *operator()() { return (type *)QGDictIterator::operator()(); }
+ type *operator++() { return (type *)QGDictIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGDictIterator::operator+=(j);}
+};
+
+#define Q_DEFINED_QINTDICT
+#include "qwinexport.h"
+#endif // QINTDICT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintdict-members.html b/doc/html/qintdict-members.html
new file mode 100644
index 0000000..cefc655
--- /dev/null
+++ b/doc/html/qintdict-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintdict.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntDict Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIntDict</h1>
+
+<p>This is the complete list of member functions for
+<a href="qintdict.html">QIntDict</a>, including inherited members.
+
+<ul>
+<li><a href="qintdict.html#QIntDict">QIntDict</a>()
+<li><a href="qintdict.html#~QIntDict">~QIntDict</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qintdict.html#clear">clear</a>()
+<li><a href="qintdict.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qintdict.html#find">find</a>()
+<li><a href="qintdict.html#insert">insert</a>()
+<li><a href="qintdict.html#isEmpty">isEmpty</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qintdict.html#operator-eq">operator=</a>()
+<li><a href="qintdict.html#operator[]">operator[]</a>()
+<li><a href="qintdict.html#read">read</a>()
+<li><a href="qintdict.html#remove">remove</a>()
+<li><a href="qintdict.html#replace">replace</a>()
+<li><a href="qintdict.html#resize">resize</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qintdict.html#size">size</a>()
+<li><a href="qintdict.html#statistics">statistics</a>()
+<li><a href="qintdict.html#take">take</a>()
+<li><a href="qintdict.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintdict.html b/doc/html/qintdict.html
new file mode 100644
index 0000000..5dc55de
--- /dev/null
+++ b/doc/html/qintdict.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qintdict.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntDict Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIntDict Class Reference</h1>
+
+<p>The QIntDict class is a template class that provides a dictionary based on long keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qintdict-h.html">qintdict.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qintdict-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIntDict"><b>QIntDict</b></a> ( int&nbsp;size = 17 )</li>
+<li class=fn><a href="#QIntDict-2"><b>QIntDict</b></a> ( const&nbsp;QIntDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QIntDict"><b>~QIntDict</b></a> ()</li>
+<li class=fn>QIntDict&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QIntDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( long&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#replace"><b>replace</b></a> ( long&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( long&nbsp;key )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( long&nbsp;key )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( long&nbsp;key ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( long&nbsp;key ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( uint&nbsp;newsize )</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIntDict class is a template class that provides a dictionary based on long keys.
+<p>
+
+<p>
+<p> <a href="qmap.html">QMap</a> is an STL-compatible alternative to this class.
+<p> QIntDict is implemented as a template class. Define a template
+instance QIntDict&lt;X&gt; to create a dictionary that operates on
+pointers to X (X*).
+<p> A dictionary is a collection of key-value pairs. The key is an <tt>long</tt> used for insertion, removal and lookup. The value is a
+pointer. Dictionaries provide very fast insertion and lookup.
+<p> Example:
+<pre>
+ QIntDict&lt;QLineEdit&gt; fields; // long int keys, QLineEdit* values
+ for ( int i = 0; i &lt; 3; i++ )
+ fields.<a href="#insert">insert</a>( i, new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields[0]-&gt;setText( "Homer" );
+ fields[1]-&gt;setText( "Simpson" );
+ fields[2]-&gt;setText( "45" );
+
+ <a href="qintdictiterator.html">QIntDictIterator</a>&lt;QLineEdit&gt; it( fields );
+ for ( ; it.<a href="qintdictiterator.html#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="qintdictiterator.html#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="qintdictiterator.html#current">current</a>()-&gt;text() &lt;&lt; endl;
+
+ for ( int i = 0; i &lt; 3; i++ )
+ cout &lt;&lt; fields[i]-&gt;text() &lt;&lt; " "; // Prints "Homer Simpson 45"
+ cout &lt;&lt; endl;
+
+ fields.<a href="#remove">remove</a>( 1 ); // Does not delete the line edit
+ for ( int i = 0; i &lt; 3; i++ )
+ if ( fields[i] )
+ cout &lt;&lt; fields[i]-&gt;text() &lt;&lt; " "; // Prints "Homer 45"
+ </pre>
+
+<p> See <a href="qdict.html">QDict</a> for full details, including the choice of dictionary
+size, and how deletions are handled.
+<p> <p>See also <a href="qintdictiterator.html">QIntDictIterator</a>, <a href="qdict.html">QDict</a>, <a href="qasciidict.html">QAsciiDict</a>, <a href="qptrdict.html">QPtrDict</a>, <a href="collection.html">Collection Classes</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIntDict"></a>QIntDict::QIntDict ( int&nbsp;size = 17 )
+</h3>
+
+<p> Constructs a dictionary using an internal hash array of size <em>size</em>.
+<p> Setting <em>size</em> to a suitably large <a href="primes.html#prime">prime</a> number (equal to or
+greater than the expected number of entries) makes the hash
+distribution better which leads to faster lookup.
+
+<h3 class=fn><a name="QIntDict-2"></a>QIntDict::QIntDict ( const&nbsp;<a href="qintdict.html">QIntDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs a copy of <em>dict</em>.
+<p> Each item in <em>dict</em> is inserted into this dictionary. Only the
+pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QIntDict"></a>QIntDict::~QIntDict ()
+</h3>
+
+<p> Removes all items from the dictionary and destroys it.
+<p> All iterators that access this dictionary will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QIntDict::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the dictionary.
+<p> The removed items are deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that access this dictionary will be reset.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#take">take</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QIntDict::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the dictionary.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QIntDict::find ( long&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to operator[].
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<p>Example: <a href="bigtable-example.html#x1286">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="insert"></a>QIntDict::insert ( long&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Insert item <em>item</em> into the dictionary using key <em>key</em>.
+<p> Multiple items can have the same key, in which case only the last
+item will be accessible using <a href="#operator[]">operator[]</a>().
+<p> <em>item</em> may not be 0.
+<p> <p>See also <a href="#replace">replace</a>().
+
+<p>Example: <a href="scribble-example.html#x912">scribble/scribble.cpp</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QIntDict::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qintdict.html">QIntDict</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QIntDict::operator= ( const&nbsp;<a href="qintdict.html">QIntDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Assigns <em>dict</em> to this dictionary and returns a reference to this
+dictionary.
+<p> This dictionary is first cleared and then each item in <em>dict</em> is
+inserted into this dictionary. Only the pointers are copied
+(shallow copy), unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented.
+
+<h3 class=fn>type * <a name="operator[]"></a>QIntDict::operator[] ( long&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to the <a href="#find">find</a>() function.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QIntDict::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a dictionary item from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QIntDict::remove ( long&nbsp;key )
+</h3>
+
+<p> Removes the item associated with <em>key</em> from the dictionary.
+Returns TRUE if successful, i.e. if the <em>key</em> is in the
+dictionary; otherwise returns FALSE.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be removed.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that refer to the removed item will be
+set to point to the next item in the dictionary's traversal
+order.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Example: <a href="bigtable-example.html#x1287">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="replace"></a>QIntDict::replace ( long&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> If the dictionary has key <em>key</em>, this key's item is replaced with
+<em>item</em>. If the dictionary doesn't contain key <em>key</em>, <em>item</em> is
+inserted into the dictionary using key <em>key</em>.
+<p> <em>item</em> may not be 0.
+<p> Equivalent to:
+<pre>
+ QIntDict&lt;char&gt; dict;
+ // ...
+ if ( dict.<a href="#find">find</a>(key) )
+ dict.<a href="#remove">remove</a>( key );
+ dict.<a href="#insert">insert</a>( key, item );
+ </pre>
+
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be replaced.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<p>Example: <a href="bigtable-example.html#x1288">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="resize"></a>QIntDict::resize ( uint&nbsp;newsize )
+</h3>
+
+<p> Changes the size of the hashtable to <em>newsize</em>. The contents of
+the dictionary are preserved, but all iterators on the dictionary
+become invalid.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QIntDict::size () const
+</h3>
+
+<p> Returns the size of the internal hash array (as specified in the
+constructor).
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="statistics"></a>QIntDict::statistics () const
+</h3>
+
+<p> Debugging-only function that prints out the dictionary
+distribution using <a href="qapplication.html#qDebug">qDebug</a>().
+
+<h3 class=fn>type * <a name="take"></a>QIntDict::take ( long&nbsp;key )
+</h3>
+
+<p> Takes the item associated with <em>key</em> out of the dictionary
+without deleting it (even if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be taken.
+<p> Returns a pointer to the item taken out, or 0 if the key does not
+exist in the dictionary.
+<p> All dictionary iterators that refer to the taken item will be set
+to point to the next item in the dictionary's traversing order.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Example: <a href="bigtable-example.html#x1289">table/bigtable/main.cpp</a>.
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QIntDict::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a dictionary item to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintdictiterator-members.html b/doc/html/qintdictiterator-members.html
new file mode 100644
index 0000000..78a62d8
--- /dev/null
+++ b/doc/html/qintdictiterator-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qintdict.h:98 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntDictIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIntDictIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qintdictiterator.html">QIntDictIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qintdictiterator.html#QIntDictIterator">QIntDictIterator</a>()
+<li><a href="qintdictiterator.html#~QIntDictIterator">~QIntDictIterator</a>()
+<li><a href="qintdictiterator.html#count">count</a>()
+<li><a href="qintdictiterator.html#current">current</a>()
+<li><a href="qintdictiterator.html#currentKey">currentKey</a>()
+<li><a href="qintdictiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qintdictiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qintdictiterator.html#operator()">operator()</a>()
+<li><a href="qintdictiterator.html#operator++">operator++</a>()
+<li><a href="qintdictiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qintdictiterator.html#toFirst">toFirst</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintdictiterator.html b/doc/html/qintdictiterator.html
new file mode 100644
index 0000000..d136934
--- /dev/null
+++ b/doc/html/qintdictiterator.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qintdict.doc:314 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntDictIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIntDictIterator Class Reference</h1>
+
+<p>The QIntDictIterator class provides an iterator for QIntDict collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qintdict-h.html">qintdict.h</a>&gt;</tt>
+<p><a href="qintdictiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIntDictIterator"><b>QIntDictIterator</b></a> ( const&nbsp;QIntDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QIntDictIterator"><b>~QIntDictIterator</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>long <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIntDictIterator class provides an iterator for <a href="qintdict.html">QIntDict</a> collections.
+<p>
+
+<p> QIntDictIterator is implemented as a template class. Define a
+template instance QIntDictIterator&lt;X&gt; to create a dictionary
+iterator that operates on QIntDict&lt;X&gt; (dictionary of X*).
+<p> Example:
+<pre>
+ <a href="qintdict.html">QIntDict</a>&lt;QLineEdit&gt; fields;
+ for ( int i = 0; i &lt; 3; i++ )
+ fields.<a href="qintdict.html#insert">insert</a>( i, new <a href="qlineedit.html">QLineEdit</a>( this ) );
+
+ fields[0]-&gt;setText( "Homer" );
+ fields[1]-&gt;setText( "Simpson" );
+ fields[2]-&gt;setText( "45" );
+
+ QIntDictIterator&lt;QLineEdit&gt; it( fields );
+ for ( ; it.<a href="#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="#currentKey">currentKey</a>() &lt;&lt; ": " &lt;&lt; it.<a href="#current">current</a>()-&gt;text() &lt;&lt; endl;
+
+ // Output (random order):
+ // 0: Homer
+ // 1: Simpson
+ // 2: 45
+ </pre>
+
+<p> Note that the traversal order is arbitrary; you are not guaranteed the
+order shown above.
+<p> Multiple iterators may independently traverse the same dictionary.
+A <a href="qintdict.html">QIntDict</a> knows about all the iterators that are operating on the
+dictionary. When an item is removed from the dictionary, QIntDict
+updates all iterators that refer the removed item to point to the
+next item in the traversal order.
+<p> <p>See also <a href="qintdict.html">QIntDict</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIntDictIterator"></a>QIntDictIterator::QIntDictIterator ( const&nbsp;<a href="qintdict.html">QIntDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs an iterator for <em>dict</em>. The current iterator item is
+set to point to the 'first' item in the <em>dict</em>. The first item
+refers to the first item in the dictionary's arbitrary internal
+ordering.
+
+<h3 class=fn><a name="~QIntDictIterator"></a>QIntDictIterator::~QIntDictIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn>uint <a name="count"></a>QIntDictIterator::count () const
+</h3>
+
+<p> Returns the number of items in the dictionary this iterator
+operates over.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QIntDictIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item.
+
+<h3 class=fn>long <a name="currentKey"></a>QIntDictIterator::currentKey () const
+</h3>
+
+<p> Returns the key for the current iterator item.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QIntDictIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty; otherwise eturns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QIntDictIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QIntDictIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QIntDictIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns the new
+current item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QIntDictIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Sets the current item to the item <em>jump</em> positions after the
+current item, and returns a pointer to that item.
+<p> If that item is beyond the last item or if the dictionary is
+empty, it sets the current item to 0 and returns 0.
+
+<h3 class=fn>type * <a name="toFirst"></a>QIntDictIterator::toFirst ()
+</h3>
+
+<p> Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. The first item
+refers to the first item in the dictionary's arbitrary internal
+ordering. If the dictionary is empty it sets the current item to
+0 and returns 0.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintvalidator-members.html b/doc/html/qintvalidator-members.html
new file mode 100644
index 0000000..fb86d1d
--- /dev/null
+++ b/doc/html/qintvalidator-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvalidator.h:70 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntValidator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIntValidator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qintvalidator.html">QIntValidator</a>, including inherited members.
+
+<ul>
+<li><a href="qintvalidator.html#QIntValidator">QIntValidator</a>()
+<li><a href="qintvalidator.html#~QIntValidator">~QIntValidator</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qintvalidator.html#bottom">bottom</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qvalidator.html#fixup">fixup</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qintvalidator.html#setBottom">setBottom</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qintvalidator.html#setRange">setRange</a>()
+<li><a href="qintvalidator.html#setTop">setTop</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qintvalidator.html#top">top</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qintvalidator.html#validate">validate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qintvalidator.html b/doc/html/qintvalidator.html
new file mode 100644
index 0000000..9b3392f
--- /dev/null
+++ b/doc/html/qintvalidator.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvalidator.cpp:181 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIntValidator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIntValidator Class Reference</h1>
+
+<p>The QIntValidator class provides a validator which ensures
+that a string contains a valid integer within a specified range.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;</tt>
+<p>Inherits <a href="qvalidator.html">QValidator</a>.
+<p><a href="qintvalidator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIntValidator"><b>QIntValidator</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QIntValidator-2"><b>QIntValidator</b></a> ( int&nbsp;minimum, int&nbsp;maximum, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QIntValidator"><b>~QIntValidator</b></a> ()</li>
+<li class=fn>virtual QValidator::State <a href="#validate"><b>validate</b></a> ( QString&nbsp;&amp;&nbsp;input, int &amp; ) const</li>
+<li class=fn>void <a href="#setBottom"><b>setBottom</b></a> ( int )</li>
+<li class=fn>void <a href="#setTop"><b>setTop</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setRange"><b>setRange</b></a> ( int&nbsp;bottom, int&nbsp;top )</li>
+<li class=fn>int <a href="#bottom"><b>bottom</b></a> () const</li>
+<li class=fn>int <a href="#top"><b>top</b></a> () const</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#bottom-prop"><b>bottom</b></a>&nbsp;- the validator's lowest acceptable value</li>
+<li class=fn>int <a href="#top-prop"><b>top</b></a>&nbsp;- the validator's highest acceptable value</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QIntValidator class provides a validator which ensures
+that a string contains a valid integer within a specified range.
+<p>
+<p> Example of use:
+<p> <pre>
+ <a href="qvalidator.html">QValidator</a>* validator = new QIntValidator( 100, 999, this );
+ <a href="qlineedit.html">QLineEdit</a>* edit = new <a href="qlineedit.html">QLineEdit</a>( this );
+
+ // the edit lineedit will only accept integers between 100 and 999
+ edit-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( validator );
+ </pre>
+
+<p> Below we present some examples of validators. In practice they would
+normally be associated with a widget as in the example above.
+<p> <pre>
+ <a href="qstring.html">QString</a> str;
+ int pos = 0;
+ QIntValidator v( 100, 999, this );
+
+ str = "1";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Intermediate
+ str = "12";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Intermediate
+
+ str = "123";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Acceptable
+ str = "678";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Acceptable
+
+ str = "1234";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Invalid
+ str = "-123";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Invalid
+ str = "abc";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Invalid
+ str = "12cm";
+ v.<a href="#validate">validate</a>( str, pos ); // returns Invalid
+ </pre>
+
+<p> The minimum and maximum values are set in one call with <a href="#setRange">setRange</a>()
+or individually with <a href="#setBottom">setBottom</a>() and <a href="#setTop">setTop</a>().
+<p> <p>See also <a href="qdoublevalidator.html">QDoubleValidator</a>, <a href="qregexpvalidator.html">QRegExpValidator</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIntValidator"></a>QIntValidator::QIntValidator ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator called <em>name</em> with parent <em>parent</em>, that
+accepts all integers.
+
+<h3 class=fn><a name="QIntValidator-2"></a>QIntValidator::QIntValidator ( int&nbsp;minimum, int&nbsp;maximum, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator called <em>name</em> with parent <em>parent</em>, that
+accepts integers from <em>minimum</em> to <em>maximum</em> inclusive.
+
+<h3 class=fn><a name="~QIntValidator"></a>QIntValidator::~QIntValidator ()
+</h3>
+Destroys the validator, freeing any resources allocated.
+
+<h3 class=fn>int <a name="bottom"></a>QIntValidator::bottom () const
+</h3><p>Returns the validator's lowest acceptable value.
+See the <a href="qintvalidator.html#bottom-prop">"bottom"</a> property for details.
+<h3 class=fn>void <a name="setBottom"></a>QIntValidator::setBottom ( int )
+</h3><p>Sets the validator's lowest acceptable value.
+See the <a href="qintvalidator.html#bottom-prop">"bottom"</a> property for details.
+<h3 class=fn>void <a name="setRange"></a>QIntValidator::setRange ( int&nbsp;bottom, int&nbsp;top )<tt> [virtual]</tt>
+</h3>
+Sets the range of the validator to only accept integers between <em>bottom</em> and <em>top</em> inclusive.
+
+<h3 class=fn>void <a name="setTop"></a>QIntValidator::setTop ( int )
+</h3><p>Sets the validator's highest acceptable value.
+See the <a href="qintvalidator.html#top-prop">"top"</a> property for details.
+<h3 class=fn>int <a name="top"></a>QIntValidator::top () const
+</h3><p>Returns the validator's highest acceptable value.
+See the <a href="qintvalidator.html#top-prop">"top"</a> property for details.
+<h3 class=fn><a href="qvalidator.html#State-enum">QValidator::State</a> <a name="validate"></a>QIntValidator::validate ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;input, int &amp; ) const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qvalidator.html#State-enum">Acceptable</a> if the <em>input</em> is an integer within the
+valid range, <a href="qvalidator.html#State-enum">Intermediate</a> if the <em>input</em> is an integer outside
+the valid range and <a href="qvalidator.html#State-enum">Invalid</a> if the <em>input</em> is not an integer.
+<p> Note: If the valid range consists of just positive integers (e.g. 32 - 100)
+and <em>input</em> is a negative integer then Invalid is returned.
+<p> <pre>
+ int pos = 0;
+ s = "abc";
+ v.validate( s, pos ); // returns Invalid
+
+ s = "5";
+ v.validate( s, pos ); // returns Intermediate
+
+ s = "50";
+ v.validate( s, pos ); // returns Valid
+ </pre>
+
+
+<p>Reimplemented from <a href="qvalidator.html#validate">QValidator</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="bottom-prop"></a>bottom</h3>
+<p>This property holds the validator's lowest acceptable value.
+<p>Set this property's value with <a href="#setBottom">setBottom</a>() and get this property's value with <a href="#bottom">bottom</a>().
+<p><p>See also <a href="#setRange">setRange</a>().
+
+<h3 class=fn>int <a name="top-prop"></a>top</h3>
+<p>This property holds the validator's highest acceptable value.
+<p>Set this property's value with <a href="#setTop">setTop</a>() and get this property's value with <a href="#top">top</a>().
+<p><p>See also <a href="#setRange">setRange</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiodevice-h.html b/doc/html/qiodevice-h.html
new file mode 100644
index 0000000..66f6e73
--- /dev/null
+++ b/doc/html/qiodevice-h.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiodevice.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qiodevice.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qiodevice.h</h1>
+
+<p>This is the verbatim text of the qiodevice.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qiodevice.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QIODevice class
+**
+** Created : 940913
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QIODEVICE_H
+#define QIODEVICE_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qcstring.h"
+#endif // QT_H
+
+
+// IO device access types
+
+#define IO_Direct 0x0100 // direct access device
+#define IO_Sequential 0x0200 // sequential access device
+#define IO_Combined 0x0300 // combined direct/sequential
+#define IO_TypeMask 0x0f00
+
+// IO handling modes
+
+#define IO_Raw 0x0040 // raw access (not buffered)
+#define IO_Async 0x0080 // asynchronous mode
+
+// IO device open modes
+
+#define IO_ReadOnly 0x0001 // readable device
+#define IO_WriteOnly 0x0002 // writable device
+#define IO_ReadWrite 0x0003 // read+write device
+#define IO_Append 0x0004 // append
+#define IO_Truncate 0x0008 // truncate device
+#define IO_Translate 0x0010 // translate CR+LF
+#define IO_ModeMask 0x00ff
+
+// IO device state
+
+#define IO_Open 0x1000 // device is open
+#define IO_StateMask 0xf000
+
+// IO device status
+
+#define IO_Ok 0
+#define IO_ReadError 1 // read error
+#define IO_WriteError 2 // write error
+#define IO_FatalError 3 // fatal unrecoverable error
+#define IO_ResourceError 4 // resource limitation
+#define IO_OpenError 5 // cannot open device
+#define IO_ConnectError 5 // cannot connect to device
+#define IO_AbortError 6 // abort error
+#define IO_TimeOutError 7 // time out
+#define IO_UnspecifiedError 8 // unspecified error
+
+
+class Q_EXPORT QIODevice
+{
+public:
+#if defined(QT_ABI_QT4)
+ typedef Q_LLONG Offset;
+#else
+ typedef Q_ULONG Offset;
+#endif
+
+ QIODevice();
+ virtual ~QIODevice();
+
+ int flags() const { return ioMode; }
+ int mode() const { return ioMode &amp; IO_ModeMask; }
+ int state() const { return ioMode &amp; IO_StateMask; }
+
+ bool isDirectAccess() const { return ((ioMode &amp; IO_Direct) == IO_Direct); }
+ bool isSequentialAccess() const { return ((ioMode &amp; IO_Sequential) == IO_Sequential); }
+ bool isCombinedAccess() const { return ((ioMode &amp; IO_Combined) == IO_Combined); }
+ bool isBuffered() const { return ((ioMode &amp; IO_Raw) != IO_Raw); }
+ bool isRaw() const { return ((ioMode &amp; IO_Raw) == IO_Raw); }
+ bool isSynchronous() const { return ((ioMode &amp; IO_Async) != IO_Async); }
+ bool isAsynchronous() const { return ((ioMode &amp; IO_Async) == IO_Async); }
+ bool isTranslated() const { return ((ioMode &amp; IO_Translate) == IO_Translate); }
+ bool isReadable() const { return ((ioMode &amp; IO_ReadOnly) == IO_ReadOnly); }
+ bool isWritable() const { return ((ioMode &amp; IO_WriteOnly) == IO_WriteOnly); }
+ bool isReadWrite() const { return ((ioMode &amp; IO_ReadWrite) == IO_ReadWrite); }
+ bool isInactive() const { return state() == 0; }
+ bool isOpen() const { return state() == IO_Open; }
+
+ int status() const { return ioSt; }
+ void resetStatus() { ioSt = IO_Ok; }
+
+ virtual bool open( int mode ) = 0;
+ virtual void close() = 0;
+ virtual void flush() = 0;
+
+ virtual Offset size() const = 0;
+ virtual Offset at() const;
+ virtual bool at( Offset );
+ virtual bool atEnd() const;
+ bool reset() { return at(0); }
+
+ virtual Q_LONG readBlock( char *data, Q_ULONG maxlen ) = 0;
+ virtual Q_LONG writeBlock( const char *data, Q_ULONG len ) = 0;
+ virtual Q_LONG readLine( char *data, Q_ULONG maxlen );
+ Q_LONG writeBlock( const QByteArray&amp; data );
+ virtual QByteArray readAll();
+
+ virtual int getch() = 0;
+ virtual int putch( int ) = 0;
+ virtual int ungetch( int ) = 0;
+
+protected:
+ void setFlags( int f ) { ioMode = f; }
+ void setType( int );
+ void setMode( int );
+ void setState( int );
+ void setStatus( int );
+ Offset ioIndex;
+
+private:
+ int ioMode;
+ int ioSt;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QIODevice( const QIODevice &amp; );
+ QIODevice &amp;operator=( const QIODevice &amp; );
+#endif
+};
+
+
+#endif // QIODEVICE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiodevice-members.html b/doc/html/qiodevice-members.html
new file mode 100644
index 0000000..8cb2b02
--- /dev/null
+++ b/doc/html/qiodevice-members.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiodevice.h:89 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIODevice Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIODevice</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiodevice.html">QIODevice</a>, including inherited members.
+
+<ul>
+<li><a href="qiodevice.html#QIODevice">QIODevice</a>()
+<li><a href="qiodevice.html#~QIODevice">~QIODevice</a>()
+<li><a href="qiodevice.html#at">at</a>()
+<li><a href="qiodevice.html#atEnd">atEnd</a>()
+<li><a href="qiodevice.html#close">close</a>()
+<li><a href="qiodevice.html#flags">flags</a>()
+<li><a href="qiodevice.html#flush">flush</a>()
+<li><a href="qiodevice.html#getch">getch</a>()
+<li><a href="qiodevice.html#isAsynchronous">isAsynchronous</a>()
+<li><a href="qiodevice.html#isBuffered">isBuffered</a>()
+<li><a href="qiodevice.html#isCombinedAccess">isCombinedAccess</a>()
+<li><a href="qiodevice.html#isDirectAccess">isDirectAccess</a>()
+<li><a href="qiodevice.html#isInactive">isInactive</a>()
+<li><a href="qiodevice.html#isOpen">isOpen</a>()
+<li><a href="qiodevice.html#isRaw">isRaw</a>()
+<li><a href="qiodevice.html#isReadWrite">isReadWrite</a>()
+<li><a href="qiodevice.html#isReadable">isReadable</a>()
+<li><a href="qiodevice.html#isSequentialAccess">isSequentialAccess</a>()
+<li><a href="qiodevice.html#isSynchronous">isSynchronous</a>()
+<li><a href="qiodevice.html#isTranslated">isTranslated</a>()
+<li><a href="qiodevice.html#isWritable">isWritable</a>()
+<li><a href="qiodevice.html#mode">mode</a>()
+<li><a href="qiodevice.html#open">open</a>()
+<li><a href="qiodevice.html#putch">putch</a>()
+<li><a href="qiodevice.html#readAll">readAll</a>()
+<li><a href="qiodevice.html#readBlock">readBlock</a>()
+<li><a href="qiodevice.html#readLine">readLine</a>()
+<li><a href="qiodevice.html#reset">reset</a>()
+<li><a href="qiodevice.html#resetStatus">resetStatus</a>()
+<li><a href="qiodevice.html#setFlags">setFlags</a>()
+<li><a href="qiodevice.html#setMode">setMode</a>()
+<li><a href="qiodevice.html#setState">setState</a>()
+<li><a href="qiodevice.html#setStatus">setStatus</a>()
+<li><a href="qiodevice.html#setType">setType</a>()
+<li><a href="qiodevice.html#size">size</a>()
+<li><a href="qiodevice.html#state">state</a>()
+<li><a href="qiodevice.html#status">status</a>()
+<li><a href="qiodevice.html#ungetch">ungetch</a>()
+<li><a href="qiodevice.html#writeBlock">writeBlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiodevice.html b/doc/html/qiodevice.html
new file mode 100644
index 0000000..b937514
--- /dev/null
+++ b/doc/html/qiodevice.html
@@ -0,0 +1,553 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qiodevice.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIODevice Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIODevice Class Reference</h1>
+
+<p>The QIODevice class is the base class of I/O devices.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qiodevice-h.html">qiodevice.h</a>&gt;</tt>
+<p>Inherited by <a href="qbuffer.html">QBuffer</a>, <a href="qfile.html">QFile</a>, <a href="qsocket.html">QSocket</a>, and <a href="qsocketdevice.html">QSocketDevice</a>.
+<p><a href="qiodevice-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef Q_ULONG&nbsp;<a href="#Offset"><b>Offset</b></a></li>
+<li class=fn><a href="#QIODevice"><b>QIODevice</b></a> ()</li>
+<li class=fn>virtual <a href="#~QIODevice"><b>~QIODevice</b></a> ()</li>
+<li class=fn>int <a href="#flags"><b>flags</b></a> () const</li>
+<li class=fn>int <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>int <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool <a href="#isDirectAccess"><b>isDirectAccess</b></a> () const</li>
+<li class=fn>bool <a href="#isSequentialAccess"><b>isSequentialAccess</b></a> () const</li>
+<li class=fn>bool <a href="#isCombinedAccess"><b>isCombinedAccess</b></a> () const</li>
+<li class=fn>bool <a href="#isBuffered"><b>isBuffered</b></a> () const</li>
+<li class=fn>bool <a href="#isRaw"><b>isRaw</b></a> () const</li>
+<li class=fn>bool <a href="#isSynchronous"><b>isSynchronous</b></a> () const</li>
+<li class=fn>bool <a href="#isAsynchronous"><b>isAsynchronous</b></a> () const</li>
+<li class=fn>bool <a href="#isTranslated"><b>isTranslated</b></a> () const</li>
+<li class=fn>bool <a href="#isReadable"><b>isReadable</b></a> () const</li>
+<li class=fn>bool <a href="#isWritable"><b>isWritable</b></a> () const</li>
+<li class=fn>bool <a href="#isReadWrite"><b>isReadWrite</b></a> () const</li>
+<li class=fn>bool <a href="#isInactive"><b>isInactive</b></a> () const</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> () const</li>
+<li class=fn>int <a href="#status"><b>status</b></a> () const</li>
+<li class=fn>void <a href="#resetStatus"><b>resetStatus</b></a> ()</li>
+<li class=fn>virtual bool <a href="#open"><b>open</b></a> ( int&nbsp;mode ) = 0</li>
+<li class=fn>virtual void <a href="#close"><b>close</b></a> () = 0</li>
+<li class=fn>virtual void <a href="#flush"><b>flush</b></a> () = 0</li>
+<li class=fn>virtual Offset <a href="#size"><b>size</b></a> () const = 0</li>
+<li class=fn>virtual Offset <a href="#at"><b>at</b></a> () const</li>
+<li class=fn>virtual bool <a href="#at-2"><b>at</b></a> ( Offset&nbsp;pos )</li>
+<li class=fn>virtual bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>bool <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>virtual Q_LONG <a href="#readBlock"><b>readBlock</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen ) = 0</li>
+<li class=fn>virtual Q_LONG <a href="#writeBlock"><b>writeBlock</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len ) = 0</li>
+<li class=fn>virtual Q_LONG <a href="#readLine"><b>readLine</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>Q_LONG <a href="#writeBlock-2"><b>writeBlock</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data )</li>
+<li class=fn>virtual QByteArray <a href="#readAll"><b>readAll</b></a> ()</li>
+<li class=fn>virtual int <a href="#getch"><b>getch</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#putch"><b>putch</b></a> ( int&nbsp;ch ) = 0</li>
+<li class=fn>virtual int <a href="#ungetch"><b>ungetch</b></a> ( int&nbsp;ch ) = 0</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setFlags"><b>setFlags</b></a> ( int&nbsp;flags )</li>
+<li class=fn>void <a href="#setType"><b>setType</b></a> ( int&nbsp;type )</li>
+<li class=fn>void <a href="#setMode"><b>setMode</b></a> ( int&nbsp;mode )</li>
+<li class=fn>void <a href="#setState"><b>setState</b></a> ( int&nbsp;state )</li>
+<li class=fn>void <a href="#setStatus"><b>setStatus</b></a> ( int&nbsp;s )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QIODevice class is the base class of I/O devices.
+<p>
+<p> An I/O device represents a medium that one can read bytes from
+and/or write bytes to. The QIODevice class is the abstract
+superclass of all such devices; classes such as <a href="qfile.html">QFile</a>, <a href="qbuffer.html">QBuffer</a> and
+<a href="qsocket.html">QSocket</a> inherit QIODevice and implement virtual functions such as
+write() appropriately.
+<p> Although applications sometimes use QIODevice directly, it is
+usually better to use <a href="qtextstream.html">QTextStream</a> and <a href="qdatastream.html">QDataStream</a>, which provide
+stream operations on any QIODevice subclass. QTextStream provides
+text-oriented stream functionality (for human-readable ASCII
+files, for example), whereas QDataStream deals with binary data in
+a totally platform-independent manner.
+<p> The public member functions in QIODevice roughly fall into two
+groups: the action functions and the state access functions. The
+most important action functions are:
+<p> <ul>
+<p> <li> <a href="#open">open</a>() opens a device for reading and/or writing, depending on
+the mode argument.
+<p> <li> <a href="#close">close</a>() closes the device and tidies up (e.g. flushes buffered
+data)
+<p> <li> <a href="#readBlock">readBlock</a>() reads a block of data from the device.
+<p> <li> <a href="#writeBlock">writeBlock</a>() writes a block of data to the device.
+<p> <li> <a href="#readLine">readLine</a>() reads a line (of text, usually) from the device.
+<p> <li> <a href="#flush">flush</a>() ensures that all buffered data are written to the real device.
+<p> </ul>
+<p> There are also some other, less used, action functions:
+<p> <ul>
+<p> <li> <a href="#getch">getch</a>() reads a single character.
+<p> <li> <a href="#ungetch">ungetch</a>() forgets the last call to getch(), if possible.
+<p> <li> <a href="#putch">putch</a>() writes a single character.
+<p> <li> <a href="#size">size</a>() returns the size of the device, if there is one.
+<p> <li> <a href="#at">at</a>() returns the current read/write pointer's position, if there
+is one for this device, or it moves the pointer if given an offset.
+<p> <li> <a href="#atEnd">atEnd</a>() indicates whether there is more to read, if this is
+meaningful for this device.
+<p> <li> <a href="#reset">reset</a>() moves the read/write pointer to the start of the
+device, if that is possible for this device.
+<p> </ul>
+<p> The state access are all "get" functions. The QIODevice subclass
+calls <a href="#setState">setState</a>() to update the state, and simple access functions
+tell the user of the device what the device's state is. Here are
+the settings, and their associated access functions:
+<p> <ul>
+<p> <li> Access type. Some devices are direct access (it is possible
+to read/write anywhere), whereas others are sequential. QIODevice
+provides the access functions (<a href="#isDirectAccess">isDirectAccess</a>(),
+<a href="#isSequentialAccess">isSequentialAccess</a>(), and <a href="#isCombinedAccess">isCombinedAccess</a>()) to tell users what a
+given I/O device supports.
+<p> <li> Buffering. Some devices are accessed in raw mode, whereas
+others are buffered. Buffering usually provides greater
+efficiency, particularly for small read/write operations.
+<a href="#isBuffered">isBuffered</a>() tells the user whether a given device is buffered.
+(This can often be set by the application in the call to <a href="#open">open</a>().)
+<p> <li> Synchronicity. Synchronous devices work immediately (for
+example, files). When you read from a file, the file delivers its
+data straight away. Other kinds of device, such as a socket
+connected to a HTTP server, may not deliver the data until seconds
+after you ask to read it. <a href="#isSynchronous">isSynchronous</a>() and <a href="#isAsynchronous">isAsynchronous</a>()
+tell the user how this device operates.
+<p> <li> CR/LF translation. For simplicity, applications often like to
+see just a single CR/LF style, and QIODevice subclasses can
+provide this. <a href="#isTranslated">isTranslated</a>() returns TRUE if this object
+translates CR/LF to just LF. (This can often be set by the
+application in the call to open().)
+<p> <li> Permissions. Some files cannot be written. For example,
+<a href="#isReadable">isReadable</a>(), <a href="#isWritable">isWritable</a>() and <a href="#isReadWrite">isReadWrite</a>() tell the application
+whether it can read from and write to a given device. (This can
+often be set by the application in the call to <a href="#open">open</a>().)
+<p> <li> Finally, <a href="#isOpen">isOpen</a>() returns TRUE if the device is open, i.e.
+after an open() call.
+<p> </ul>
+<p> QIODevice provides numerous pure virtual functions that you need
+to implement when subclassing it. Here is a skeleton subclass with
+all the members you are sure to need and some that you will
+probably need:
+<p> <pre>
+ class MyDevice : public QIODevice
+ {
+ public:
+ MyDevice();
+ ~MyDevice();
+
+ bool open( int mode );
+ void close();
+ void flush();
+
+ uint size() const;
+ int at() const; // non-pure virtual
+ bool at( int ); // non-pure virtual
+ bool atEnd() const; // non-pure virtual
+
+ int readBlock( char *data, uint maxlen );
+ int writeBlock( const char *data, uint len );
+ int readLine( char *data, uint maxlen );
+
+ int getch();
+ int putch( int );
+ int ungetch( int );
+ };
+ </pre>
+
+<p> The three non-pure virtual functions need not be reimplemented for
+sequential devices.
+<p> <p>See also <a href="qdatastream.html">QDataStream</a>, <a href="qtextstream.html">QTextStream</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Offset"></a>QIODevice::Offset</h3>
+
+<p> The offset within the device.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIODevice"></a>QIODevice::QIODevice ()
+</h3>
+Constructs an I/O device.
+
+<h3 class=fn><a name="~QIODevice"></a>QIODevice::~QIODevice ()<tt> [virtual]</tt>
+</h3>
+Destroys the I/O device.
+
+<h3 class=fn><a href="qiodevice.html#Offset">Offset</a> <a name="at"></a>QIODevice::at () const<tt> [virtual]</tt>
+</h3>
+Virtual function that returns the current I/O device position.
+<p> This is the position of the data read/write head of the I/O
+device.
+<p> <p>See also <a href="#size">size</a>().
+
+<p>Example: <a href="distributor-example.html#x2666">distributor/distributor.ui.h</a>.
+<p>Reimplemented in <a href="qsocket.html#at">QSocket</a>.
+<h3 class=fn>bool <a name="at-2"></a>QIODevice::at ( <a href="qiodevice.html#Offset">Offset</a>&nbsp;pos )<tt> [virtual]</tt>
+</h3>
+Virtual function that sets the I/O device position to <em>pos</em>.
+Returns TRUE if the position was successfully set, i.e. <em>pos</em> is
+within range and the seek was successful; otherwise returns FALSE.
+<p> <p>See also <a href="#size">size</a>().
+
+<p>Reimplemented in <a href="qsocket.html#at-2">QSocket</a>.
+<h3 class=fn>bool <a name="atEnd"></a>QIODevice::atEnd () const<tt> [virtual]</tt>
+</h3>
+Virtual function that returns TRUE if the I/O device position is
+at the end of the input; otherwise returns FALSE.
+
+<p>Reimplemented in <a href="qfile.html#atEnd">QFile</a> and <a href="qsocket.html#atEnd">QSocket</a>.
+<h3 class=fn>void <a name="close"></a>QIODevice::close ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Closes the I/O device.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#open">open</a>().
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2742">grapher/grapher.cpp</a>.
+<p>Reimplemented in <a href="qfile.html#close">QFile</a> and <a href="qsocket.html#close">QSocket</a>.
+<h3 class=fn>int <a name="flags"></a>QIODevice::flags () const
+</h3>
+
+<p> Returns the current I/O device flags setting.
+<p> Flags consists of mode flags and state flags.
+<p> <p>See also <a href="#mode">mode</a>() and <a href="#state">state</a>().
+
+<h3 class=fn>void <a name="flush"></a>QIODevice::flush ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Flushes an open I/O device.
+<p> This virtual function must be reimplemented by all subclasses.
+
+<p>Reimplemented in <a href="qfile.html#flush">QFile</a> and <a href="qsocket.html#flush">QSocket</a>.
+<h3 class=fn>int <a name="getch"></a>QIODevice::getch ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Reads a single byte/character from the I/O device.
+<p> Returns the byte/character read, or -1 if the end of the I/O
+device has been reached.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#putch">putch</a>() and <a href="#ungetch">ungetch</a>().
+
+<p>Reimplemented in <a href="qfile.html#getch">QFile</a> and <a href="qsocket.html#getch">QSocket</a>.
+<h3 class=fn>bool <a name="isAsynchronous"></a>QIODevice::isAsynchronous () const
+</h3>
+
+<p> Returns TRUE if the device is an asynchronous device; otherwise
+returns FALSE, i.e. if the device is a synchronous device.
+<p> This mode is currently not in use.
+<p> <p>See also <a href="#isSynchronous">isSynchronous</a>().
+
+<h3 class=fn>bool <a name="isBuffered"></a>QIODevice::isBuffered () const
+</h3>
+
+<p> Returns TRUE if the I/O device is a buffered device; otherwise
+returns FALSE, i.e. the device is a raw device.
+<p> <p>See also <a href="#isRaw">isRaw</a>().
+
+<h3 class=fn>bool <a name="isCombinedAccess"></a>QIODevice::isCombinedAccess () const
+</h3>
+
+<p> Returns TRUE if the I/O device is a combined access (both direct
+and sequential) device; otherwise returns FALSE.
+<p> This access method is currently not in use.
+
+<h3 class=fn>bool <a name="isDirectAccess"></a>QIODevice::isDirectAccess () const
+</h3>
+
+<p> Returns TRUE if the I/O device is a direct access device;
+otherwise returns FALSE, i.e. if the device is a sequential access
+device.
+<p> <p>See also <a href="#isSequentialAccess">isSequentialAccess</a>().
+
+<h3 class=fn>bool <a name="isInactive"></a>QIODevice::isInactive () const
+</h3>
+
+<p> Returns TRUE if the I/O device state is 0, i.e. the device is not
+open; otherwise returns FALSE.
+<p> <p>See also <a href="#isOpen">isOpen</a>().
+
+<h3 class=fn>bool <a name="isOpen"></a>QIODevice::isOpen () const
+</h3>
+
+<p> Returns TRUE if the I/O device has been opened; otherwise returns
+FALSE.
+<p> <p>See also <a href="#isInactive">isInactive</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x670">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>bool <a name="isRaw"></a>QIODevice::isRaw () const
+</h3>
+
+<p> Returns TRUE if the device is a raw device; otherwise returns
+FALSE, i.e. if the device is a buffered device.
+<p> <p>See also <a href="#isBuffered">isBuffered</a>().
+
+<h3 class=fn>bool <a name="isReadWrite"></a>QIODevice::isReadWrite () const
+</h3>
+
+<p> Returns TRUE if the I/O device was opened using <a href="qfile.html#open">IO_ReadWrite</a>
+mode; otherwise returns FALSE.
+<p> <p>See also <a href="#isReadable">isReadable</a>() and <a href="#isWritable">isWritable</a>().
+
+<h3 class=fn>bool <a name="isReadable"></a>QIODevice::isReadable () const
+</h3>
+
+<p> Returns TRUE if the I/O device was opened using <a href="qfile.html#open">IO_ReadOnly</a> or
+<a href="qfile.html#open">IO_ReadWrite</a> mode; otherwise returns FALSE.
+<p> <p>See also <a href="#isWritable">isWritable</a>() and <a href="#isReadWrite">isReadWrite</a>().
+
+<h3 class=fn>bool <a name="isSequentialAccess"></a>QIODevice::isSequentialAccess () const
+</h3>
+
+<p> Returns TRUE if the device is a sequential access device;
+otherwise returns FALSE, i.e. if the device is a direct access
+device.
+<p> Operations involving <a href="#size">size</a>() and <a href="#at">at</a>(int) are not valid on
+sequential devices.
+<p> <p>See also <a href="#isDirectAccess">isDirectAccess</a>().
+
+<h3 class=fn>bool <a name="isSynchronous"></a>QIODevice::isSynchronous () const
+</h3>
+
+<p> Returns TRUE if the I/O device is a synchronous device; otherwise
+returns FALSE, i.e. the device is an asynchronous device.
+<p> <p>See also <a href="#isAsynchronous">isAsynchronous</a>().
+
+<h3 class=fn>bool <a name="isTranslated"></a>QIODevice::isTranslated () const
+</h3>
+
+<p> Returns TRUE if the I/O device translates carriage-return and
+linefeed characters; otherwise returns FALSE.
+<p> A <a href="qfile.html">QFile</a> is translated if it is opened with the <a href="qfile.html#open">IO_Translate</a>
+mode flag.
+
+<h3 class=fn>bool <a name="isWritable"></a>QIODevice::isWritable () const
+</h3>
+
+<p> Returns TRUE if the I/O device was opened using <a href="qfile.html#open">IO_WriteOnly</a> or
+<a href="qfile.html#open">IO_ReadWrite</a> mode; otherwise returns FALSE.
+<p> <p>See also <a href="#isReadable">isReadable</a>() and <a href="#isReadWrite">isReadWrite</a>().
+
+<h3 class=fn>int <a name="mode"></a>QIODevice::mode () const
+</h3>
+
+<p> Returns bits OR'ed together that specify the current operation
+mode.
+<p> These are the flags that were given to the <a href="#open">open</a>() function.
+<p> The flags are <a href="qfile.html#open">IO_ReadOnly</a>, <a href="qfile.html#open">IO_WriteOnly</a>, <a href="qfile.html#open">IO_ReadWrite</a>,
+<a href="qfile.html#open">IO_Append</a>, <a href="qfile.html#open">IO_Truncate</a> and <a href="qfile.html#open">IO_Translate</a>.
+
+<h3 class=fn>bool <a name="open"></a>QIODevice::open ( int&nbsp;mode )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Opens the I/O device using the specified <em>mode</em>. Returns TRUE if
+the device was successfully opened; otherwise returns FALSE.
+<p> The mode parameter <em>mode</em> must be an OR'ed combination of the
+following flags.
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Mode flags <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qfile.html#open">IO_Raw</a> <td valign="top">specifies raw (unbuffered) file access.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qfile.html#open">IO_ReadOnly</a> <td valign="top">opens a file in read-only mode.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qfile.html#open">IO_WriteOnly</a> <td valign="top">opens a file in write-only mode.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qfile.html#open">IO_ReadWrite</a> <td valign="top">opens a file in read/write mode.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qfile.html#open">IO_Append</a> <td valign="top">sets the file index to the end of the file.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qfile.html#open">IO_Truncate</a> <td valign="top">truncates the file.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qfile.html#open">IO_Translate</a> <td valign="top">enables carriage returns and linefeed
+translation for text files under MS-DOS, Windows and Macintosh. On
+Unix systems this flag has no effect. Use with caution as it will
+also transform every linefeed written to the file into a CRLF
+pair. This is likely to corrupt your file if you write write
+binary data. Cannot be combined with <a href="qfile.html#open">IO_Raw</a>.
+</table></center>
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#close">close</a>().
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2743">grapher/grapher.cpp</a>.
+<p>Reimplemented in <a href="qfile.html#open">QFile</a> and <a href="qsocket.html#open">QSocket</a>.
+<h3 class=fn>int <a name="putch"></a>QIODevice::putch ( int&nbsp;ch )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Writes the character <em>ch</em> to the I/O device.
+<p> Returns <em>ch</em>, or -1 if an error occurred.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#getch">getch</a>() and <a href="#ungetch">ungetch</a>().
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2744">grapher/grapher.cpp</a>.
+<p>Reimplemented in <a href="qfile.html#putch">QFile</a> and <a href="qsocket.html#putch">QSocket</a>.
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readAll"></a>QIODevice::readAll ()<tt> [virtual]</tt>
+</h3>
+This convenience function returns all of the remaining data in the
+device.
+
+<h3 class=fn>Q_LONG <a name="readBlock"></a>QIODevice::readBlock ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Reads at most <em>maxlen</em> bytes from the I/O device into <em>data</em> and
+returns the number of bytes actually read.
+<p> This function should return -1 if a fatal error occurs and should
+return 0 if there are no bytes to read.
+<p> The device must be opened for reading, and <em>data</em> must not be 0.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#writeBlock">writeBlock</a>(), <a href="#isOpen">isOpen</a>(), and <a href="#isReadable">isReadable</a>().
+
+<p>Example: <a href="distributor-example.html#x2667">distributor/distributor.ui.h</a>.
+<p>Reimplemented in <a href="qsocket.html#readBlock">QSocket</a> and <a href="qsocketdevice.html#readBlock">QSocketDevice</a>.
+<h3 class=fn>Q_LONG <a name="readLine"></a>QIODevice::readLine ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )<tt> [virtual]</tt>
+</h3>
+Reads a line of text, (or up to <em>maxlen</em> bytes if a newline isn't
+encountered) plus a terminating '&#92;0' into <em>data</em>. If there is a
+newline at the end if the line, it is not stripped.
+<p> Returns the number of bytes read including the terminating '&#92;0',
+or -1 if an error occurred.
+<p> This virtual function can be reimplemented much more efficiently
+by the most subclasses.
+<p> <p>See also <a href="#readBlock">readBlock</a>() and <a href="qtextstream.html#readLine">QTextStream::readLine</a>().
+
+<p>Reimplemented in <a href="qfile.html#readLine">QFile</a>.
+<h3 class=fn>bool <a name="reset"></a>QIODevice::reset ()
+</h3>
+
+<p> Sets the device index position to 0.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>void <a name="resetStatus"></a>QIODevice::resetStatus ()
+</h3>
+
+<p> Sets the I/O device status to <a href="qiodevice.html#status">IO_Ok</a>.
+<p> <p>See also <a href="#status">status</a>().
+
+<h3 class=fn>void <a name="setFlags"></a>QIODevice::setFlags ( int&nbsp;flags )<tt> [protected]</tt>
+</h3>
+
+<p> Used by subclasses to set the device flags to the <em>flags</em> specified.
+
+<h3 class=fn>void <a name="setMode"></a>QIODevice::setMode ( int&nbsp;mode )<tt> [protected]</tt>
+</h3>
+
+<p> Used by subclasses to set the device mode to the <em>mode</em> specified.
+
+<h3 class=fn>void <a name="setState"></a>QIODevice::setState ( int&nbsp;state )<tt> [protected]</tt>
+</h3>
+
+<p> Used by subclasses to set the device state to the <em>state</em> specified.
+
+<h3 class=fn>void <a name="setStatus"></a>QIODevice::setStatus ( int&nbsp;s )<tt> [protected]</tt>
+</h3>
+Used by subclasses to set the device status (not state) to <em>s</em>.
+
+<h3 class=fn>void <a name="setType"></a>QIODevice::setType ( int&nbsp;type )<tt> [protected]</tt>
+</h3>
+
+<p> Used by subclasses to set the device type to the <em>type</em> specified.
+
+<h3 class=fn><a href="qiodevice.html#Offset">Offset</a> <a name="size"></a>QIODevice::size () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Virtual function that returns the size of the I/O device.
+<p> <p>See also <a href="#at">at</a>().
+
+<p>Reimplemented in <a href="qfile.html#size">QFile</a> and <a href="qsocket.html#size">QSocket</a>.
+<h3 class=fn>int <a name="state"></a>QIODevice::state () const
+</h3>
+
+<p> Returns bits OR'ed together that specify the current state.
+<p> The flags are: <tt>IO_Open</tt>.
+<p> Subclasses may define additional flags.
+
+<h3 class=fn>int <a name="status"></a>QIODevice::status () const
+</h3>
+
+<p> Returns the I/O device status.
+<p> The I/O device status returns an error code. If <a href="#open">open</a>() returns
+FALSE or <a href="#readBlock">readBlock</a>() or <a href="#writeBlock">writeBlock</a>() return -1, this function can
+be called to find out the reason why the operation failed.
+<p> <!-- index IO_Ok --><!-- index IO_ReadError --><!-- index IO_WriteError --><!-- index IO_FatalError --><!-- index IO_OpenError --><!-- index IO_ConnectError --><!-- index IO_AbortError --><!-- index IO_TimeOutError --><!-- index IO_UnspecifiedError -->
+<p> The status codes are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Status code <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qiodevice.html#status">IO_Ok</a> <td valign="top">The operation was successful.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qiodevice.html#status">IO_ReadError</a> <td valign="top">Could not read from the device.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qiodevice.html#status">IO_WriteError</a> <td valign="top">Could not write to the device.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qiodevice.html#status">IO_FatalError</a> <td valign="top">A fatal unrecoverable error occurred.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qiodevice.html#status">IO_OpenError</a> <td valign="top">Could not open the device.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qiodevice.html#status">IO_ConnectError</a> <td valign="top">Could not connect to the device.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qiodevice.html#status">IO_AbortError</a> <td valign="top">The operation was unexpectedly aborted.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qiodevice.html#status">IO_TimeOutError</a> <td valign="top">The operation timed out.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qiodevice.html#status">IO_UnspecifiedError</a> <td valign="top">An unspecified error happened on close.
+</table></center>
+<p> <p>See also <a href="#resetStatus">resetStatus</a>().
+
+<h3 class=fn>int <a name="ungetch"></a>QIODevice::ungetch ( int&nbsp;ch )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Puts the character <em>ch</em> back into the I/O device and decrements
+the index position if it is not zero.
+<p> This function is normally called to "undo" a <a href="#getch">getch</a>() operation.
+<p> Returns <em>ch</em>, or -1 if an error occurred.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#getch">getch</a>() and <a href="#putch">putch</a>().
+
+<p>Reimplemented in <a href="qfile.html#ungetch">QFile</a> and <a href="qsocket.html#ungetch">QSocket</a>.
+<h3 class=fn>Q_LONG <a name="writeBlock"></a>QIODevice::writeBlock ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Writes <em>len</em> bytes from <em>data</em> to the I/O device and returns the
+number of bytes actually written.
+<p> This function should return -1 if a fatal error occurs.
+<p> This virtual function must be reimplemented by all subclasses.
+<p> <p>See also <a href="#readBlock">readBlock</a>().
+
+<p>Example: <a href="distributor-example.html#x2668">distributor/distributor.ui.h</a>.
+<p>Reimplemented in <a href="qbuffer.html#writeBlock">QBuffer</a>, <a href="qsocket.html#writeBlock">QSocket</a>, and <a href="qsocketdevice.html#writeBlock">QSocketDevice</a>.
+<h3 class=fn>Q_LONG <a name="writeBlock-2"></a>QIODevice::writeBlock ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This convenience function is the same as calling <a href="#writeBlock">writeBlock</a>(
+data.data(), data.<a href="#size">size</a>() ).
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiodevicesource-members.html b/doc/html/qiodevicesource-members.html
new file mode 100644
index 0000000..94ea3ca
--- /dev/null
+++ b/doc/html/qiodevicesource-members.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qasyncio.h:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIODeviceSource Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QIODeviceSource</h1>
+
+<p>This is the complete list of member functions for
+<a href="qiodevicesource.html">QIODeviceSource</a>, including inherited members.
+
+<ul>
+<li><a href="qiodevicesource.html#QIODeviceSource">QIODeviceSource</a>()
+<li><a href="qiodevicesource.html#~QIODeviceSource">~QIODeviceSource</a>()
+<li><a href="qasyncio.html#connect">connect</a>()
+<li><a href="qiodevicesource.html#enableRewind">enableRewind</a>()
+<li><a href="qdatasource.html#maybeReady">maybeReady</a>()
+<li><a href="qasyncio.html#ready">ready</a>()
+<li><a href="qiodevicesource.html#readyToSend">readyToSend</a>()
+<li><a href="qiodevicesource.html#rewind">rewind</a>()
+<li><a href="qiodevicesource.html#rewindable">rewindable</a>()
+<li><a href="qiodevicesource.html#sendTo">sendTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qiodevicesource.html b/doc/html/qiodevicesource.html
new file mode 100644
index 0000000..7e72d65
--- /dev/null
+++ b/doc/html/qiodevicesource.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:208 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QIODeviceSource Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QIODeviceSource Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QIODeviceSource class is a QDataSource that draws data from a QIODevice.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
+<p>Inherits <a href="qdatasource.html">QDataSource</a>.
+<p><a href="qiodevicesource-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QIODeviceSource"><b>QIODeviceSource</b></a> ( QIODevice&nbsp;*&nbsp;device, int&nbsp;buffer_size = 4096 )</li>
+<li class=fn><a href="#~QIODeviceSource"><b>~QIODeviceSource</b></a> ()</li>
+<li class=fn>virtual int <a href="#readyToSend"><b>readyToSend</b></a> ()</li>
+<li class=fn>virtual void <a href="#sendTo"><b>sendTo</b></a> ( QDataSink&nbsp;*&nbsp;sink, int&nbsp;n )</li>
+<li class=fn>virtual bool <a href="#rewindable"><b>rewindable</b></a> () const</li>
+<li class=fn>virtual void <a href="#enableRewind"><b>enableRewind</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual void <a href="#rewind"><b>rewind</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QIODeviceSource class is a QDataSource that draws data from a <a href="qiodevice.html">QIODevice</a>.
+<p> This class encapsulates retrieving data from a QIODevice (such as a <a href="qfile.html">QFile</a>).
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QIODeviceSource"></a>QIODeviceSource::QIODeviceSource ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;device, int&nbsp;buffer_size = 4096 )
+</h3>
+Constructs a QIODeviceSource from the <a href="qiodevice.html">QIODevice</a> <em>device</em>. The QIODevice
+<em>must</em> be dynamically allocated, becomes owned by the QIODeviceSource,
+and will be deleted when the QIODeviceSource is destroyed. <em>buffer_size</em>
+determines the size of buffering to use between asynchronous operations.
+The higher the <em>buffer_size</em>, the more efficient, but the less interleaved
+the operation will be with other processing.
+
+<h3 class=fn><a name="~QIODeviceSource"></a>QIODeviceSource::~QIODeviceSource ()
+</h3>
+Destroys the QIODeviceSource, deleting the <a href="qiodevice.html">QIODevice</a> from which it was
+constructed.
+
+<h3 class=fn>void <a name="enableRewind"></a>QIODeviceSource::enableRewind ( bool&nbsp;on )<tt> [virtual]</tt>
+</h3>
+If <em>on</em> is set to TRUE then rewinding is enabled.
+No special action is taken. If <em>on</em> is set to
+FALSE then rewinding is disabled.
+
+<p>Reimplemented from <a href="qdatasource.html#enableRewind">QDataSource</a>.
+<h3 class=fn>int <a name="readyToSend"></a>QIODeviceSource::readyToSend ()<tt> [virtual]</tt>
+</h3>
+Ready until end-of-file.
+
+<p>Reimplemented from <a href="qdatasource.html#readyToSend">QDataSource</a>.
+<h3 class=fn>void <a name="rewind"></a>QIODeviceSource::rewind ()<tt> [virtual]</tt>
+</h3>
+Calls reset() on the <a href="qiodevice.html">QIODevice</a>.
+
+<p>Reimplemented from <a href="qdatasource.html#rewind">QDataSource</a>.
+<h3 class=fn>bool <a name="rewindable"></a>QIODeviceSource::rewindable () const<tt> [virtual]</tt>
+</h3>
+All QIODeviceSource's are rewindable.
+
+<p>Reimplemented from <a href="qdatasource.html#rewindable">QDataSource</a>.
+<h3 class=fn>void <a name="sendTo"></a>QIODeviceSource::sendTo ( <a href="qdatasink.html">QDataSink</a>&nbsp;*&nbsp;sink, int&nbsp;n )<tt> [virtual]</tt>
+</h3>
+Reads a block of data and sends up to <em>n</em> bytes to the <em>sink</em>.
+
+<p>Reimplemented from <a href="qdatasource.html#sendTo">QDataSource</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qjiscodec-h.html b/doc/html/qjiscodec-h.html
new file mode 100644
index 0000000..9c88b6f
--- /dev/null
+++ b/doc/html/qjiscodec-h.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qjiscodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qjiscodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qjiscodec.h</h1>
+
+<p>This is the verbatim text of the qjiscodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qjiscodec.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QJisCodec class
+**
+** Created : 990225
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Most of the code here was originally written by Serika Kurusugawa
+// a.k.a. Junji Takagi, and is included in Qt with the author's permission,
+// and the grateful thanks of the Trolltech team.
+
+/*
+ * Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef QJISCODEC_H
+#define QJISCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#include "qjpunicode.h"
+#endif // QT_H
+
+#ifndef QT_NO_BIG_CODECS
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_CODECS_JP
+#else
+#define Q_EXPORT_CODECS_JP Q_EXPORT
+#endif
+
+class Q_EXPORT_CODECS_JP QJisCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+ const char* mimeName() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+
+ QJisCodec();
+ ~QJisCodec();
+
+protected:
+ const QJpUnicodeConv *conv;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qjiscodec-members.html b/doc/html/qjiscodec-members.html
new file mode 100644
index 0000000..bece26c
--- /dev/null
+++ b/doc/html/qjiscodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qjiscodec.h:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QJisCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QJisCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qjiscodec.html">QJisCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qjiscodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qjiscodec.html b/doc/html/qjiscodec.html
new file mode 100644
index 0000000..91a46ed
--- /dev/null
+++ b/doc/html/qjiscodec.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qjiscodec.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QJisCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QJisCodec Class Reference</h1>
+
+<p>The QJisCodec class provides conversion to and from JIS character sets.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qjiscodec-h.html">qjiscodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qjiscodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QJisCodec class provides conversion to and from JIS character sets.
+<p> More precisely, the QJisCodec class subclasses <a href="qtextcodec.html">QTextCodec</a> to
+provide support for JIS X 0201 Latin, JIS X 0201 Kana, JIS X 0208
+and JIS X 0212.
+<p> The environment variable UNICODEMAP_JP can be used to fine-tune
+QJisCodec, <a href="qsjiscodec.html">QSjisCodec</a> and <a href="qeucjpcodec.html">QEucJpCodec</a>. The mapping names are as for
+the Japanese XML working group's <a href="http://www.y-adagio.com/public/standards/tr_xml_jpf/toc.htm">XML
+ Japanese Profile</a>, because it names and explains all the
+widely used mappings. Here are brief descriptions, written by
+Serika Kurusugawa:
+<p> <ul>
+<p> <li> "unicode-0.9" or "unicode-0201" for Unicode style. This assumes
+JISX0201 for 0x00-0x7f. (0.9 is a table version of jisx02xx mapping
+used for Uniocde spec version 1.1.)
+<p> <li> "unicode-ascii" This assumes US-ASCII for 0x00-0x7f; some
+chars (JISX0208 0x2140 and JISX0212 0x2237) are different from
+Unicode 1.1 to avoid conflict.
+<p> <li> "open-19970715-0201" ("open-0201" for convenience) or
+"jisx0221-1995" for JISX0221-JISX0201 style. JIS X 0221 is JIS
+version of Unicode, but a few chars (0x5c, 0x7e, 0x2140, 0x216f,
+0x2131) are different from Unicode 1.1. This is used when 0x5c is
+treated as YEN SIGN.
+<p> <li> "open-19970715-ascii" ("open-ascii" for convenience) for
+JISX0221-ASCII style. This is used when 0x5c is treated as REVERSE
+SOLIDUS.
+<p> <li> "open-19970715-ms" ("open-ms" for convenience) or "cp932" for
+Microsoft Windows style. Windows Code Page 932. Some chars (0x2140,
+0x2141, 0x2142, 0x215d, 0x2171, 0x2172) are different from Unicode
+1.1.
+<p> <li> "jdk1.1.7" for Sun's JDK style. Same as Unicode 1.1, except that
+JIS 0x2140 is mapped to UFF3C. Either ASCII or JISX0201 can be used
+for 0x00-0x7f.
+<p> </ul>
+<p> In addition, the extensions "nec-vdc", "ibm-vdc" and "udc" are
+supported.
+<p> For example, if you want to use Unicode style conversion but with
+NEC's extension, set <tt>UNICODEMAP_JP</tt> to
+<nobr><tt>unicode-0.9, nec-vdc</tt>.</nobr> (You will probably
+need to quote that in a shell command.)
+<p> Most of the code here was written by Serika Kurusugawa,
+a.k.a. Junji Takagi, and is included in Qt with the author's
+permission and the grateful thanks of the Trolltech team. Here is
+the copyright statement for that code:
+<p>
+<p> Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>const char * <a name="mimeName"></a>QJisCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the codec's mime name.
+
+<p>Reimplemented from <a href="qtextcodec.html#mimeName">QTextCodec</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverfactory-members.html b/doc/html/qkbddriverfactory-members.html
new file mode 100644
index 0000000..7b92ed5
--- /dev/null
+++ b/doc/html/qkbddriverfactory-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkbddriverfactory_qws.h:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKbdDriverFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QKbdDriverFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qkbddriverfactory.html">QKbdDriverFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qkbddriverfactory.html#create">create</a>()
+<li><a href="qkbddriverfactory.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverfactory.html b/doc/html/qkbddriverfactory.html
new file mode 100644
index 0000000..a876dac
--- /dev/null
+++ b/doc/html/qkbddriverfactory.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qkbddriverfactory_qws.cpp:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKbdDriverFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QKbdDriverFactory Class Reference</h1>
+
+<p>The QKbdDriverFactory class creates QWSKeyboardHandler objects
+for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qkbddriverfactory_qws-h.html">qkbddriverfactory_qws.h</a>&gt;</tt>
+<p><a href="qkbddriverfactory-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStringList <a href="#keys"><b>keys</b></a> ()</li>
+<li class=fn>QWSKeyboardHandler * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;device )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QKbdDriverFactory class creates <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a> objects
+for Qt/Embedded.
+<p> The graphics driver factory creates a QWSKeyboardHandler object
+for a given key with <a href="#create">QKbdDriverFactory::create</a>(key).
+<p> The drivers are either built-in or dynamically loaded from a
+driver plugin (see <a href="qkbddriverplugin.html">QKbdDriverPlugin</a>).
+<p> This class is only available in Qt/Embedded.
+<p> <a href="#keys">QKbdDriverFactory::keys</a>() returns a list of valid keys.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>&nbsp;* <a name="create"></a>QKbdDriverFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;device )<tt> [static]</tt>
+</h3>
+Creates a <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a> object that matches <em>key</em> for device
+<em>device</em>. This is either a built-in driver, or a driver from a
+driver plugin.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QKbdDriverFactory::keys ()<tt> [static]</tt>
+</h3>
+Returns the list of keys this factory can create drivers for.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverfactory_qws-h.html b/doc/html/qkbddriverfactory_qws-h.html
new file mode 100644
index 0000000..2b03fe9
--- /dev/null
+++ b/doc/html/qkbddriverfactory_qws-h.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkbddriverfactory_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qkbddriverfactory_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qkbddriverfactory_qws.h</h1>
+
+<p>This is the verbatim text of the qkbddriverfactory_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qkbddriverfactory_qws.h 3.3.8 edited Jan 11 14:46 $
+**
+** ...
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QKBDDRIVERFACTORY_QWS_H
+#define QKBDDRIVERFACTORY_QWS_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+class QString;
+class QWSKeyboardHandler;
+
+class Q_EXPORT QKbdDriverFactory
+{
+public:
+#ifndef QT_NO_STRINGLIST
+ static QStringList keys();
+#endif
+ static QWSKeyboardHandler *create( const QString&amp;, const QString&amp; );
+};
+
+#endif //QKBDDRIVERFACTORY_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverplugin-members.html b/doc/html/qkbddriverplugin-members.html
new file mode 100644
index 0000000..6eb0f99
--- /dev/null
+++ b/doc/html/qkbddriverplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkbddriverplugin_qws.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKbdDriverPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QKbdDriverPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qkbddriverplugin.html">QKbdDriverPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qkbddriverplugin.html#QKbdDriverPlugin">QKbdDriverPlugin</a>()
+<li><a href="qkbddriverplugin.html#~QKbdDriverPlugin">~QKbdDriverPlugin</a>()
+<li><a href="qkbddriverplugin.html#create">create</a>()
+<li><a href="qkbddriverplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverplugin.html b/doc/html/qkbddriverplugin.html
new file mode 100644
index 0000000..96a8381
--- /dev/null
+++ b/doc/html/qkbddriverplugin.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qkbddriverplugin_qws.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKbdDriverPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QKbdDriverPlugin Class Reference</h1>
+
+<p>The QKbdDriverPlugin class provides an abstract base for
+Qt/Embedded keyboard driver plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qkbddriverplugin_qws-h.html">qkbddriverplugin_qws.h</a>&gt;</tt>
+<p><a href="qkbddriverplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QKbdDriverPlugin"><b>QKbdDriverPlugin</b></a> ()</li>
+<li class=fn><a href="#~QKbdDriverPlugin"><b>~QKbdDriverPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QWSKeyboardHandler * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driver, const&nbsp;QString&nbsp;&amp;&nbsp;device ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QKbdDriverPlugin class provides an abstract base for
+Qt/Embedded keyboard driver plugins.
+<p>
+<p> The keyboard driver plugin is a simple plugin interface that makes
+it easy to create custom keyboard drivers.
+<p> Writing a keyboard driver plugin is achieved by subclassing this
+base class, reimplementing the pure virtual functions <a href="#keys">keys</a>() and
+<a href="#create">create</a>(), and exporting the class with the <tt>Q_EXPORT_PLUGIN</tt>
+macro. See the <a href="plugins-howto.html">Plugins
+ documentation</a> for details.
+<p> This class is only available in Qt/Embedded.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QKbdDriverPlugin"></a>QKbdDriverPlugin::QKbdDriverPlugin ()
+</h3>
+Constructs a keyboard driver plugin. This is invoked automatically
+by the <tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QKbdDriverPlugin"></a>QKbdDriverPlugin::~QKbdDriverPlugin ()
+</h3>
+Destroys the keyboard driver plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>&nbsp;* <a name="create"></a>QKbdDriverPlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driver, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;device )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates a driver matching the type specified by <em>driver</em> and <em>device</em>.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QKbdDriverPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of keyboard drivers this plugin supports.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkbddriverplugin_qws-h.html b/doc/html/qkbddriverplugin_qws-h.html
new file mode 100644
index 0000000..c8da53a
--- /dev/null
+++ b/doc/html/qkbddriverplugin_qws-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkbddriverplugin_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qkbddriverplugin_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qkbddriverplugin_qws.h</h1>
+
+<p>This is the verbatim text of the qkbddriverplugin_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qkbddriverplugin_qws.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QKbdDriverPlugin
+**
+** Created : 20020218
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QKBDDRIVERPLUGIN_QWS_H
+#define QKBDDRIVERPLUGIN_QWS_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_COMPONENT
+
+class QWSKeyboardHandler;
+class QKbdDriverPluginPrivate;
+
+class Q_EXPORT QKbdDriverPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QKbdDriverPlugin();
+ ~QKbdDriverPlugin();
+
+#ifndef QT_NO_STRINGLIST
+ virtual QStringList keys() const = 0;
+#endif
+ virtual QWSKeyboardHandler* create( const QString&amp; driver, const QString &amp;device ) = 0;
+
+private:
+ QKbdDriverPluginPrivate *d;
+};
+
+#endif // QT_NO_COMPONENT
+
+#endif // QKBDDRIVERPLUGIN_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeyboard_qws-h.html b/doc/html/qkeyboard_qws-h.html
new file mode 100644
index 0000000..4dc00f9
--- /dev/null
+++ b/doc/html/qkeyboard_qws-h.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkeyboard_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qkeyboard_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qkeyboard_qws.h</h1>
+
+<p>This is the verbatim text of the qkeyboard_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qkeyboard_qws.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of Qt/Embedded keyboards
+**
+** Created : 991025
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QKEYBOARD_QWS_H
+#define QKEYBOARD_QWS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_QWS_KEYBOARD
+class QWSKeyboardHandler : public QObject {
+ Q_OBJECT
+public:
+ QWSKeyboardHandler();
+ virtual ~QWSKeyboardHandler();
+
+protected:
+ virtual void processKeyEvent(int unicode, int keycode, int modifiers,
+ bool isPress, bool autoRepeat);
+};
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeyevent-members.html b/doc/html/qkeyevent-members.html
new file mode 100644
index 0000000..66d1816
--- /dev/null
+++ b/doc/html/qkeyevent-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:270 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKeyEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QKeyEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qkeyevent.html">QKeyEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qkeyevent.html#QKeyEvent">QKeyEvent</a>()
+<li><a href="qkeyevent.html#accept">accept</a>()
+<li><a href="qkeyevent.html#ascii">ascii</a>()
+<li><a href="qkeyevent.html#count">count</a>()
+<li><a href="qkeyevent.html#ignore">ignore</a>()
+<li><a href="qkeyevent.html#isAccepted">isAccepted</a>()
+<li><a href="qkeyevent.html#isAutoRepeat">isAutoRepeat</a>()
+<li><a href="qkeyevent.html#key">key</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qkeyevent.html#state">state</a>()
+<li><a href="qkeyevent.html#stateAfter">stateAfter</a>()
+<li><a href="qkeyevent.html#text">text</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeyevent.html b/doc/html/qkeyevent.html
new file mode 100644
index 0000000..c0c314e
--- /dev/null
+++ b/doc/html/qkeyevent.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:679 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKeyEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QKeyEvent Class Reference</h1>
+
+<p>The QKeyEvent class contains describes a key event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qkeyevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QKeyEvent"><b>QKeyEvent</b></a> ( Type&nbsp;type, int&nbsp;key, int&nbsp;ascii, int&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null, bool&nbsp;autorep = FALSE, ushort&nbsp;count = 1 )</li>
+<li class=fn>int <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>int <a href="#ascii"><b>ascii</b></a> () const</li>
+<li class=fn>ButtonState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>ButtonState <a href="#stateAfter"><b>stateAfter</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>bool <a href="#isAutoRepeat"><b>isAutoRepeat</b></a> () const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QKeyEvent class contains describes a key event.
+<p>
+<p> Key events occur when a key is pressed or released when a widget
+has keyboard input focus.
+<p> A key event contains a special accept flag that indicates whether the
+receiver wants the key event. You should call <a href="#ignore">QKeyEvent::ignore</a>() if the
+key press or release event is not handled by your widget. A key event is
+propagated up the parent widget chain until a widget accepts it with
+<a href="#accept">QKeyEvent::accept</a>() or an event filter consumes it.
+Key events for multi media keys are ignored by default. You should call
+QKeyEvent::accept() if your widget handles those events.
+<p> The QWidget::setEnable() function can be used to enable or disable
+mouse and keyboard events for a widget.
+<p> The event handlers <a href="qwidget.html#keyPressEvent">QWidget::keyPressEvent</a>() and
+<a href="qwidget.html#keyReleaseEvent">QWidget::keyReleaseEvent</a>() receive key events.
+<p> <p>See also <a href="qfocusevent.html">QFocusEvent</a>, <a href="qwidget.html#grabKeyboard">QWidget::grabKeyboard</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QKeyEvent"></a>QKeyEvent::QKeyEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, int&nbsp;key, int&nbsp;ascii, int&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null, bool&nbsp;autorep = FALSE, ushort&nbsp;count = 1 )
+</h3>
+
+<p> Constructs a key event object.
+<p> The <em>type</em> parameter must be <a href="qevent.html#Type-enum">QEvent::KeyPress</a> or <a href="qevent.html#Type-enum">QEvent::KeyRelease</a>. If <em>key</em> is 0 the event is not a result of a
+known key (e.g. it may be the result of a compose sequence or
+keyboard macro). <em>ascii</em> is the ASCII code of the key that was
+pressed or released. <em>state</em> holds the keyboard modifiers. <em>text</em> is the Unicode text that the key generated. If <em>autorep</em> is
+TRUE, <a href="#isAutoRepeat">isAutoRepeat</a>() will be TRUE. <em>count</em> is the number of
+single keys.
+<p> The accept flag is set to TRUE.
+
+<h3 class=fn>void <a name="accept"></a>QKeyEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the key event object.
+<p> Setting the accept parameter indicates that the receiver of the
+event wants the key event. Unwanted key events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#ignore">ignore</a>().
+
+<h3 class=fn>int <a name="ascii"></a>QKeyEvent::ascii () const
+</h3>
+
+<p> Returns the ASCII code of the key that was pressed or released. We
+recommend using <a href="#text">text</a>() instead.
+<p> <p>See also <a href="#text">text</a>().
+
+<p>Example: <a href="picture-example.html#x109">picture/picture.cpp</a>.
+<h3 class=fn>int <a name="count"></a>QKeyEvent::count () const
+</h3>
+
+<p> Returns the number of single keys for this event. If <a href="#text">text</a>() is not
+empty, this is simply the length of the string.
+<p> <p>See also <a href="qwidget.html#setKeyCompression">QWidget::setKeyCompression</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QKeyEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag parameter of the key event object.
+<p> Clearing the accept parameter indicates that the event receiver
+does not want the key event. Unwanted key events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QKeyEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event wants to keep the key;
+otherwise returns FALSE
+
+<h3 class=fn>bool <a name="isAutoRepeat"></a>QKeyEvent::isAutoRepeat () const
+</h3>
+
+<p> Returns TRUE if this event comes from an auto-repeating key and
+FALSE if it comes from an initial key press.
+<p> Note that if the event is a multiple-key compressed event that is
+partly due to auto-repeat, this function could return either TRUE
+or FALSE indeterminately.
+
+<h3 class=fn>int <a name="key"></a>QKeyEvent::key () const
+</h3>
+
+<p> Returns the code of the key that was pressed or released.
+<p> See <a href="qt.html#Key-enum">Qt::Key</a> for the list of keyboard codes. These codes are
+independent of the underlying window system.
+<p> A value of either 0 or Key_unknown means that the event is not
+the result of a known key (e.g. it may be the result of a compose
+sequence or a keyboard macro, or due to key event compression).
+<p> <p>See also <a href="qwidget.html#setKeyCompression">QWidget::setKeyCompression</a>().
+
+<p>Example: <a href="fileiconview-example.html#x853">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="state"></a>QKeyEvent::state () const
+</h3>
+
+<p> Returns the keyboard modifier flags that existed immediately
+before the event occurred.
+<p> The returned value is <a href="qt.html#ButtonState-enum">ShiftButton</a>, <a href="qt.html#ButtonState-enum">ControlButton</a>, <a href="qt.html#ButtonState-enum">AltButton</a>
+and <a href="qt.html#ButtonState-enum">MetaButton</a> OR'ed together.
+<p> <p>See also <a href="#stateAfter">stateAfter</a>().
+
+<p>Example: <a href="fileiconview-example.html#x854">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="stateAfter"></a>QKeyEvent::stateAfter () const
+</h3>
+
+<p> Returns the keyboard modifier flags that existed immediately after
+the event occurred.
+<p> <b>Warning:</b> This function cannot be trusted.
+<p> <p>See also <a href="#state">state</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QKeyEvent::text () const
+</h3>
+
+<p> Returns the Unicode text that this key generated. The text returned
+migth be empty, which is the case when pressing or
+releasing modifying keys as Shift, Control, Alt and Meta. In these
+cases <a href="#key">key</a>() will contain a valid value.
+<p> <p>See also <a href="qwidget.html#setKeyCompression">QWidget::setKeyCompression</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeysequence-h.html b/doc/html/qkeysequence-h.html
new file mode 100644
index 0000000..2ad3b90
--- /dev/null
+++ b/doc/html/qkeysequence-h.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkeysequence.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qkeysequence.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qkeysequence.h</h1>
+
+<p>This is the verbatim text of the qkeysequence.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qkeysequence.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QKeySequence class
+**
+** Created : 0108007
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QKEYSEQUENCE_H
+#define QKEYSEQUENCE_H
+
+#ifndef QT_H
+#ifndef QT_H
+#include "qnamespace.h"
+#include "qstring.h"
+#endif // QT_H
+#endif
+
+#ifndef QT_NO_ACCEL
+
+/*****************************************************************************
+ QKeySequence stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+class QKeySequence;
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QKeySequence &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QKeySequence &amp; );
+#endif
+
+class QKeySequencePrivate;
+
+class Q_EXPORT QKeySequence : public Qt
+{
+public:
+ QKeySequence();
+ QKeySequence( const QString&amp; key );
+ QKeySequence( int key );
+ QKeySequence( int k1, int k2, int k3 = 0, int k4 = 0 );
+ QKeySequence( const QKeySequence &amp; );
+ ~QKeySequence();
+
+ uint count() const;
+ bool isEmpty() const;
+ Qt::SequenceMatch matches( const QKeySequence &amp; ) const;
+
+ operator QString() const;
+ operator int () const;
+ int operator[]( uint ) const;
+ QKeySequence &amp;operator=( const QKeySequence &amp; );
+ bool operator==( const QKeySequence&amp; ) const;
+ bool operator!= ( const QKeySequence&amp; ) const;
+
+private:
+ static int decodeString( const QString &amp; );
+ static QString encodeString( int );
+ int assign( QString );
+ void setKey( int key, int index );
+
+ QKeySequencePrivate* d;
+
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QKeySequence &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QKeySequence &amp; );
+ friend class QAccelManager;
+};
+
+#else
+
+class Q_EXPORT QKeySequence : public Qt
+{
+public:
+ QKeySequence() {}
+ QKeySequence( int ) {}
+};
+
+#endif //QT_NO_ACCEL
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeysequence-members.html b/doc/html/qkeysequence-members.html
new file mode 100644
index 0000000..ef163fb
--- /dev/null
+++ b/doc/html/qkeysequence-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkeysequence.h:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKeySequence Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QKeySequence</h1>
+
+<p>This is the complete list of member functions for
+<a href="qkeysequence.html">QKeySequence</a>, including inherited members.
+
+<ul>
+<li><a href="qkeysequence.html#QKeySequence">QKeySequence</a>()
+<li><a href="qkeysequence.html#~QKeySequence">~QKeySequence</a>()
+<li><a href="qkeysequence.html#count">count</a>()
+<li><a href="qkeysequence.html#isEmpty">isEmpty</a>()
+<li><a href="qkeysequence.html#matches">matches</a>()
+<li><a href="qkeysequence.html#operator-QString">operator QString</a>()
+<li><a href="qkeysequence.html#operator-int">operator int</a>()
+<li><a href="qkeysequence.html#operator!-eq">operator!=</a>()
+<li><a href="qkeysequence.html#operator-eq">operator=</a>()
+<li><a href="qkeysequence.html#operator-eq-eq">operator==</a>()
+<li><a href="qkeysequence.html#operator[]">operator[]</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qkeysequence.html b/doc/html/qkeysequence.html
new file mode 100644
index 0000000..26ebf04
--- /dev/null
+++ b/doc/html/qkeysequence.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qkeysequence.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QKeySequence Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QKeySequence Class Reference</h1>
+
+<p>The QKeySequence class encapsulates a key sequence as used
+by accelerators.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qkeysequence-h.html">qkeysequence.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qkeysequence-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QKeySequence"><b>QKeySequence</b></a> ()</li>
+<li class=fn><a href="#QKeySequence-2"><b>QKeySequence</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn><a href="#QKeySequence-3"><b>QKeySequence</b></a> ( int&nbsp;key )</li>
+<li class=fn><a href="#QKeySequence-4"><b>QKeySequence</b></a> ( int&nbsp;k1, int&nbsp;k2, int&nbsp;k3 = 0, int&nbsp;k4 = 0 )</li>
+<li class=fn><a href="#QKeySequence-5"><b>QKeySequence</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;keysequence )</li>
+<li class=fn><a href="#~QKeySequence"><b>~QKeySequence</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>Qt::SequenceMatch <a href="#matches"><b>matches</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;seq ) const</li>
+<li class=fn><a href="#operator-QString"><b>operator QString</b></a> () const</li>
+<li class=fn>operator int () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#operator[]"><b>operator[]</b></a> ( uint&nbsp;index ) const</li>
+<li class=fn>QKeySequence &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;keysequence )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;keysequence ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;keysequence ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;keysequence )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QKeySequence&nbsp;&amp;&nbsp;keysequence )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QKeySequence class encapsulates a key sequence as used
+by accelerators.
+<p>
+<p> A key sequence consists of up to four keyboard codes, each
+optionally combined with modifiers, e.g. <a href="qt.html#Modifier-enum">SHIFT</a>, <a href="qt.html#Modifier-enum">CTRL</a>, <a href="qt.html#Modifier-enum">ALT</a>, <a href="qt.html#Modifier-enum">META</a>, or <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a>. For example, <tt>CTRL + Key_P</tt>
+might be a sequence used as a shortcut for printing a document.
+The key codes are listed in <a href="qnamespace-h.html">qnamespace.h</a>. As an alternative,
+use <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a> with the unicode code point of the character.
+For example, <tt>UNICODE_ACCEL + 'A'</tt> gives the same key sequence
+as <a href="qt.html#Key-enum">Key_A</a>.
+<p> Key sequences can be constructed either from an integer key code,
+or from a human readable translatable string such as
+"Ctrl+X,Alt+Space". A key sequence can be cast to a <a href="qstring.html">QString</a> to
+obtain a human readable translated version of the sequence.
+Translations are done in the "QAccel" context.
+<p> <p>See also <a href="qaccel.html">QAccel</a> and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QKeySequence"></a>QKeySequence::QKeySequence ()
+</h3>
+Constructs an empty key sequence.
+
+<h3 class=fn><a name="QKeySequence-2"></a>QKeySequence::QKeySequence ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )
+</h3>
+Creates a key sequence from the string <em>key</em>. For example
+"Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl",
+"Shift", "Alt" and "Meta" are recognized, as well as their
+translated equivalents in the "QAccel" context (using
+<a href="qobject.html#tr">QObject::tr</a>()).
+<p> Multiple key codes (up to four) may be entered by separating them
+with commas, e.g. "Alt+X,Ctrl+S,Q".
+<p> This contructor is typically used with <a href="qobject.html#tr">tr</a>(), so that accelerator keys can be replaced in
+translations:
+<p> <pre>
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( tr("&amp;Open..."), this, SLOT(open()),
+ <a href="#QKeySequence">QKeySequence</a>( tr("Ctrl+O", "File|Open") ) );
+ </pre>
+
+<p> Note the <tt>"File|Open"</tt> translator comment. It is by no means
+necessary, but it provides some context for the human translator.
+
+<h3 class=fn><a name="QKeySequence-3"></a>QKeySequence::QKeySequence ( int&nbsp;key )
+</h3>
+Constructs a key sequence that has a single <em>key</em>.
+<p> The key codes are listed in <a href="qnamespace-h.html">qnamespace.h</a> and can be
+combined with modifiers, e.g. with <a href="qt.html#Modifier-enum">SHIFT</a>, <a href="qt.html#Modifier-enum">CTRL</a>, <a href="qt.html#Modifier-enum">ALT</a>, <a href="qt.html#Modifier-enum">META</a> or <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a>.
+
+<h3 class=fn><a name="QKeySequence-4"></a>QKeySequence::QKeySequence ( int&nbsp;k1, int&nbsp;k2, int&nbsp;k3 = 0, int&nbsp;k4 = 0 )
+</h3>
+Constructs a key sequence with up to 4 keys <em>k1</em>, <em>k2</em>,
+<em>k3</em> and <em>k4</em>.
+<p> The key codes are listed in <a href="qnamespace-h.html">qnamespace.h</a> and can be
+combined with modifiers, e.g. with <a href="qt.html#Modifier-enum">SHIFT</a>, <a href="qt.html#Modifier-enum">CTRL</a>, <a href="qt.html#Modifier-enum">ALT</a>, <a href="qt.html#Modifier-enum">META</a> or <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a>.
+
+<h3 class=fn><a name="QKeySequence-5"></a>QKeySequence::QKeySequence ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence )
+</h3>
+Copy constructor. Makes a copy of <em>keysequence</em>.
+
+<h3 class=fn><a name="~QKeySequence"></a>QKeySequence::~QKeySequence ()
+</h3>
+Destroys the key sequence.
+
+<h3 class=fn>uint <a name="count"></a>QKeySequence::count () const
+</h3>
+Returns the number of keys in the key sequence.
+The maximum is 4.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QKeySequence::isEmpty () const
+</h3>
+Returns TRUE if the key sequence is empty; otherwise returns
+FALSE.
+
+<h3 class=fn><a href="qt.html#SequenceMatch-enum">Qt::SequenceMatch</a> <a name="matches"></a>QKeySequence::matches ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;seq ) const
+</h3>
+Matches the sequence with <em>seq</em>. Returns <a href="qt.html#SequenceMatch-enum">Qt::Identical</a> if
+successful, <a href="qt.html#SequenceMatch-enum">Qt::PartialMatch</a> for matching but incomplete <em>seq</em>,
+and <a href="qt.html#SequenceMatch-enum">Qt::NoMatch</a> if the sequences have nothing in common.
+Returns <a href="qt.html#SequenceMatch-enum">Qt::NoMatch</a> if <em>seq</em> is shorter.
+
+<h3 class=fn><a name="operator-QString"></a>QKeySequence::operator QString () const
+</h3>
+Creates an accelerator string for the key sequence.
+For instance CTRL+Key_O gives "Ctrl+O". If the key sequence has
+multiple key codes they are returned comma-separated, e.g.
+"Alt+X, Ctrl+Y, Z". The strings, "Ctrl", "Shift", etc. are
+translated (using <a href="qobject.html#tr">QObject::tr</a>()) in the "QAccel" scope. If the key
+sequence has no keys, <a href="qstring.html#QString-null">QString::null</a> is returned.
+<p> On Mac OS X, the string returned resembles the sequence that is shown in
+the menubar.
+
+<h3 class=fn><a name="operator-int"></a>QKeySequence::operator int () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> For backward compatibility: returns the first keycode
+as integer. If the key sequence is empty, 0 is returned.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QKeySequence::operator!= ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence ) const
+</h3>
+Returns TRUE if <em>keysequence</em> is not equal to this key sequence;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; <a name="operator-eq"></a>QKeySequence::operator= ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence )
+</h3>
+Assignment operator. Assigns <em>keysequence</em> to this
+object.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QKeySequence::operator== ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence ) const
+</h3>
+Returns TRUE if <em>keysequence</em> is equal to this key
+sequence; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="operator[]"></a>QKeySequence::operator[] ( uint&nbsp;index ) const
+</h3>
+Returns a reference to the element at position <em>index</em> in the key
+sequence. This can only be used to read an element.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence )
+</h3>
+
+<p> Writes the key sequence <em>keysequence</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;keysequence )
+</h3>
+
+<p> Reads a key sequence from the stream <em>s</em> into the key sequence <em>keysequence</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlabel-h.html b/doc/html/qlabel-h.html
new file mode 100644
index 0000000..ad8c33a
--- /dev/null
+++ b/doc/html/qlabel-h.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlabel.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlabel.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlabel.h</h1>
+
+<p>This is the verbatim text of the qlabel.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qlabel.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QLabel widget class
+**
+** Created : 941215
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLABEL_H
+#define QLABEL_H
+
+#ifndef QT_H
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_LABEL
+
+class QSimpleRichText;
+class QLabelPrivate;
+
+class Q_EXPORT QLabel : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( TextFormat textFormat READ textFormat WRITE setTextFormat )
+ Q_PROPERTY( QPixmap pixmap READ pixmap WRITE setPixmap )
+ Q_PROPERTY( bool scaledContents READ hasScaledContents WRITE setScaledContents )
+ Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
+ Q_PROPERTY( int indent READ indent WRITE setIndent )
+ Q_OVERRIDE( BackgroundMode backgroundMode DESIGNABLE true)
+
+public:
+ QLabel( QWidget *parent, const char* name=0, WFlags f=0 );
+ QLabel( const QString &amp;text, QWidget *parent, const char* name=0,
+ WFlags f=0 );
+ QLabel( QWidget *buddy, const QString &amp;,
+ QWidget *parent, const char* name=0, WFlags f=0 );
+ ~QLabel();
+
+ QString text() const { return ltext; }
+ QPixmap *pixmap() const { return lpixmap; }
+#ifndef QT_NO_PICTURE
+ QPicture *picture() const { return lpicture; }
+#endif
+#ifndef QT_NO_MOVIE
+ QMovie *movie() const;
+#endif
+
+ TextFormat textFormat() const;
+ void setTextFormat( TextFormat );
+
+ int alignment() const { return align; }
+ virtual void setAlignment( int );
+ int indent() const { return extraMargin; }
+ void setIndent( int );
+
+ bool autoResize() const { return autoresize; }
+ virtual void setAutoResize( bool );
+#ifndef QT_NO_IMAGE_SMOOTHSCALE
+ bool hasScaledContents() const;
+ void setScaledContents( bool );
+#endif
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+#ifndef QT_NO_ACCEL
+ virtual void setBuddy( QWidget * );
+ QWidget *buddy() const;
+#endif
+ int heightForWidth(int) const;
+
+ void setFont( const QFont &amp;f );
+
+public slots:
+ virtual void setText( const QString &amp;);
+ virtual void setPixmap( const QPixmap &amp; );
+#ifndef QT_NO_PICTURE
+ virtual void setPicture( const QPicture &amp; );
+#endif
+#ifndef QT_NO_MOVIE
+ virtual void setMovie( const QMovie &amp; );
+#endif
+ virtual void setNum( int );
+ virtual void setNum( double );
+ void clear();
+
+protected:
+ void drawContents( QPainter * );
+ void fontChange( const QFont &amp; );
+ void resizeEvent( QResizeEvent* );
+
+private slots:
+#ifndef QT_NO_ACCEL
+ void acceleratorSlot();
+ void buddyDied();
+#endif
+#ifndef QT_NO_MOVIE
+ void movieUpdated(const QRect&amp;);
+ void movieResized(const QSize&amp;);
+#endif
+
+private:
+ void init();
+ void clearContents();
+ void updateLabel( QSize oldSizeHint );
+ QSize sizeForWidth( int w ) const;
+ QString ltext;
+ QPixmap *lpixmap;
+#ifndef QT_NO_PICTURE
+ QPicture *lpicture;
+#endif
+#ifndef QT_NO_MOVIE
+ QMovie * lmovie;
+#endif
+#ifndef QT_NO_ACCEL
+ QWidget * lbuddy;
+#endif
+ ushort align;
+ short extraMargin;
+ uint autoresize:1;
+ uint scaledcontents :1;
+ TextFormat textformat;
+#ifndef QT_NO_RICHTEXT
+ QSimpleRichText* doc;
+#endif
+#ifndef QT_NO_ACCEL
+ QAccel * accel;
+#endif
+ QLabelPrivate* d;
+
+ friend class QTipLabel;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QLabel( const QLabel &amp; );
+ QLabel &amp;operator=( const QLabel &amp; );
+#endif
+};
+
+
+#endif // QT_NO_LABEL
+
+#endif // QLABEL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlabel-m.png b/doc/html/qlabel-m.png
new file mode 100644
index 0000000..9747821
--- /dev/null
+++ b/doc/html/qlabel-m.png
Binary files differ
diff --git a/doc/html/qlabel-members.html b/doc/html/qlabel-members.html
new file mode 100644
index 0000000..a4cf7e9
--- /dev/null
+++ b/doc/html/qlabel-members.html
@@ -0,0 +1,379 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlabel.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLabel Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLabel</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlabel.html">QLabel</a>, including inherited members.
+
+<ul>
+<li><a href="qlabel.html#QLabel">QLabel</a>()
+<li><a href="qlabel.html#~QLabel">~QLabel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qlabel.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qlabel.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qlabel.html#buddy">buddy</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qlabel.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qlabel.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qlabel.html#hasScaledContents">hasScaledContents</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qlabel.html#indent">indent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qlabel.html#movie">movie</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qlabel.html#picture">picture</a>()
+<li><a href="qlabel.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qlabel.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qlabel.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qlabel.html#setBuddy">setBuddy</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qlabel.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qlabel.html#setIndent">setIndent</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qlabel.html#setMovie">setMovie</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qlabel.html#setNum">setNum</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qlabel.html#setPicture">setPicture</a>()
+<li><a href="qlabel.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlabel.html#setScaledContents">setScaledContents</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qlabel.html#setText">setText</a>()
+<li><a href="qlabel.html#setTextFormat">setTextFormat</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qlabel.html#text">text</a>()
+<li><a href="qlabel.html#textFormat">textFormat</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlabel-w.png b/doc/html/qlabel-w.png
new file mode 100644
index 0000000..9747821
--- /dev/null
+++ b/doc/html/qlabel-w.png
Binary files differ
diff --git a/doc/html/qlabel.html b/doc/html/qlabel.html
new file mode 100644
index 0000000..7c4e487
--- /dev/null
+++ b/doc/html/qlabel.html
@@ -0,0 +1,420 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlabel.cpp:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLabel Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLabel Class Reference</h1>
+
+<p>The QLabel widget provides a text or image display.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qlabel-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLabel"><b>QLabel</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QLabel-2"><b>QLabel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QLabel-3"><b>QLabel</b></a> ( QWidget&nbsp;*&nbsp;buddy, const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QLabel"><b>~QLabel</b></a> ()</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>QPicture * <a href="#picture"><b>picture</b></a> () const</li>
+<li class=fn>QMovie * <a href="#movie"><b>movie</b></a> () const</li>
+<li class=fn>TextFormat <a href="#textFormat"><b>textFormat</b></a> () const</li>
+<li class=fn>void <a href="#setTextFormat"><b>setTextFormat</b></a> ( TextFormat )</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int )</li>
+<li class=fn>int <a href="#indent"><b>indent</b></a> () const</li>
+<li class=fn>void <a href="#setIndent"><b>setIndent</b></a> ( int )</li>
+<li class=fn>bool autoResize () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setAutoResize ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#hasScaledContents"><b>hasScaledContents</b></a> () const</li>
+<li class=fn>void <a href="#setScaledContents"><b>setScaledContents</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setBuddy"><b>setBuddy</b></a> ( QWidget&nbsp;*&nbsp;buddy )</li>
+<li class=fn>QWidget * <a href="#buddy"><b>buddy</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>virtual void <a href="#setPicture"><b>setPicture</b></a> ( const&nbsp;QPicture&nbsp;&amp;&nbsp;picture )</li>
+<li class=fn>virtual void <a href="#setMovie"><b>setMovie</b></a> ( const&nbsp;QMovie&nbsp;&amp;&nbsp;movie )</li>
+<li class=fn>virtual void <a href="#setNum"><b>setNum</b></a> ( int&nbsp;num )</li>
+<li class=fn>virtual void <a href="#setNum-2"><b>setNum</b></a> ( double&nbsp;num )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>Alignment <a href="#alignment-prop"><b>alignment</b></a>&nbsp;- the alignment of the label's contents</li>
+<li class=fn>BackgroundMode <a href="#backgroundMode-prop"><b>backgroundMode</b></a>&nbsp;- the label's background mode &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#indent-prop"><b>indent</b></a>&nbsp;- the label's text indent in pixels</li>
+<li class=fn>QPixmap <a href="#pixmap-prop"><b>pixmap</b></a>&nbsp;- the label's pixmap</li>
+<li class=fn>bool <a href="#scaledContents-prop"><b>scaledContents</b></a>&nbsp;- whether the label will scale its contents to fill all available space</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the label's text</li>
+<li class=fn>TextFormat <a href="#textFormat-prop"><b>textFormat</b></a>&nbsp;- the label's text format</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLabel widget provides a text or image display.
+<p>
+
+
+<p> QLabel is used for displaying text or an image. No user
+interaction functionality is provided. The visual appearance of
+the label can be configured in various ways, and it can be used
+for specifying a focus accelerator key for another widget.
+<p> A QLabel can contain any of the following content types:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Content <th valign="top">Setting
+<tr bgcolor="#f0f0f0"> <td valign="top">Plain text
+<td valign="top">Pass a <a href="qstring.html">QString</a> to <a href="#setText">setText</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Rich text
+<td valign="top">Pass a QString that contains rich text to setText().
+<tr bgcolor="#f0f0f0"> <td valign="top">A pixmap
+<td valign="top">Pass a <a href="qpixmap.html">QPixmap</a> to <a href="#setPixmap">setPixmap</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">A movie
+<td valign="top">Pass a <a href="qmovie.html">QMovie</a> to <a href="#setMovie">setMovie</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">A number
+<td valign="top">Pass an <em>int</em> or a <em>double</em> to <a href="#setNum">setNum</a>(), which converts
+the number to plain text.
+<tr bgcolor="#d0d0d0"> <td valign="top">Nothing
+<td valign="top">The same as an empty plain text. This is the default. Set
+by <a href="#clear">clear</a>().
+</table></center>
+<p> When the content is changed using any of these functions, any
+previous content is cleared.
+<p> The look of a QLabel can be tuned in several ways. All the
+settings of <a href="qframe.html">QFrame</a> are available for specifying a widget frame.
+The positioning of the content within the QLabel widget area can
+be tuned with <a href="#setAlignment">setAlignment</a>() and <a href="#setIndent">setIndent</a>(). For example, this
+code sets up a sunken panel with a two-line text in the bottom
+right corner (both lines being flush with the right side of the
+label):
+<pre>
+ QLabel *label = new QLabel( this );
+ label-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::<a href="qframe.html#Shape-enum">Panel</a> | QFrame::<a href="qframe.html#Shadow-enum">Sunken</a> );
+ label-&gt;<a href="#setText">setText</a>( "first line\nsecond line" );
+ label-&gt;<a href="#setAlignment">setAlignment</a>( AlignBottom | AlignRight );
+ </pre>
+
+<p> A QLabel is often used as a label for an interactive widget. For
+this use QLabel provides a useful mechanism for adding an
+accelerator key (see <a href="qaccel.html">QAccel</a>) that will set the <a href="focus.html#keyboard-focus">keyboard focus</a> to
+the other widget (called the QLabel's "buddy"). For example:
+<pre>
+ <a href="qlineedit.html">QLineEdit</a>* phoneEdit = new <a href="qlineedit.html">QLineEdit</a>( this, "phoneEdit" );
+ QLabel* phoneLabel = new QLabel( phoneEdit, "&amp;Phone:", this, "phoneLabel" );
+ </pre>
+
+<p> In this example, keyboard focus is transferred to the label's
+buddy (the <a href="qlineedit.html">QLineEdit</a>) when the user presses Alt+P. You can
+also use the <a href="#setBuddy">setBuddy</a>() function to accomplish the same thing.
+<p> <img src=qlabel-m.png> <img src=qlabel-w.png>
+<p> <p>See also <a href="qlineedit.html">QLineEdit</a>, <a href="qtextedit.html">QTextEdit</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qmovie.html">QMovie</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Label</a>, <a href="basic.html">Basic Widgets</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLabel"></a>QLabel::QLabel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an empty label.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a> <em>f</em>, arguments are passed
+to the <a href="qframe.html">QFrame</a> constructor.
+<p> <p>See also <a href="#alignment-prop">alignment</a>, <a href="qframe.html#setFrameStyle">setFrameStyle</a>(), and <a href="#indent-prop">indent</a>.
+
+<h3 class=fn><a name="QLabel-2"></a>QLabel::QLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a label that displays the text, <em>text</em>.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a> <em>f</em>, arguments are passed
+to the <a href="qframe.html">QFrame</a> constructor.
+<p> <p>See also <a href="#text-prop">text</a>, <a href="#alignment-prop">alignment</a>, <a href="qframe.html#setFrameStyle">setFrameStyle</a>(), and <a href="#indent-prop">indent</a>.
+
+<h3 class=fn><a name="QLabel-3"></a>QLabel::QLabel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;buddy, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a label that displays the text <em>text</em>. The label has a
+buddy widget, <em>buddy</em>.
+<p> If the <em>text</em> contains an underlined letter (a letter preceded by
+an ampersand, &amp;), and the text is in plain text format, when the
+user presses Alt+ the underlined letter, focus is passed to the
+buddy widget.
+<p> The <em>parent</em>, <em>name</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments are passed
+to the <a href="qframe.html">QFrame</a> constructor.
+<p> <p>See also <a href="#text-prop">text</a>, <a href="#setBuddy">setBuddy</a>(), <a href="#alignment-prop">alignment</a>, <a href="qframe.html#setFrameStyle">setFrameStyle</a>(), and <a href="#indent-prop">indent</a>.
+
+<h3 class=fn><a name="~QLabel"></a>QLabel::~QLabel ()
+</h3>
+Destroys the label.
+
+<h3 class=fn>int <a name="alignment"></a>QLabel::alignment () const
+</h3><p>Returns the alignment of the label's contents.
+See the <a href="qlabel.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>bool <a name="autoResize"></a>QLabel::autoResize () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if auto-resizing is enabled, or FALSE if auto-resizing
+is disabled.
+<p> Auto-resizing is disabled by default.
+<p> <p>See also <a href="#setAutoResize">setAutoResize</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="buddy"></a>QLabel::buddy () const
+</h3>
+Returns this label's buddy, or 0 if no buddy is currently set.
+<p> <p>See also <a href="#setBuddy">setBuddy</a>().
+
+<h3 class=fn>void <a name="clear"></a>QLabel::clear ()<tt> [slot]</tt>
+</h3>
+Clears any label contents. Equivalent to <a href="#setText">setText</a>( "" ).
+
+<h3 class=fn>void <a name="drawContents"></a>QLabel::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the label contents using the painter <em>p</em>.
+
+<p>Reimplemented from <a href="qframe.html#drawContents">QFrame</a>.
+<h3 class=fn>bool <a name="hasScaledContents"></a>QLabel::hasScaledContents () const
+</h3><p>Returns TRUE if the label will scale its contents to fill all available space; otherwise returns FALSE.
+See the <a href="qlabel.html#scaledContents-prop">"scaledContents"</a> property for details.
+<h3 class=fn>int <a name="indent"></a>QLabel::indent () const
+</h3><p>Returns the label's text indent in pixels.
+See the <a href="qlabel.html#indent-prop">"indent"</a> property for details.
+<h3 class=fn><a href="qmovie.html">QMovie</a>&nbsp;* <a name="movie"></a>QLabel::movie () const
+</h3>
+Returns a pointer to the label's movie, or 0 if no movie has been
+set.
+<p> <p>See also <a href="#setMovie">setMovie</a>().
+
+<h3 class=fn><a href="qpicture.html">QPicture</a>&nbsp;* <a name="picture"></a>QLabel::picture () const
+</h3>
+
+<p> Returns the label's picture or 0 if the label doesn't have a
+picture.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QLabel::pixmap () const
+</h3><p>Returns the label's pixmap.
+See the <a href="qlabel.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setAlignment"></a>QLabel::setAlignment ( int )<tt> [virtual]</tt>
+</h3><p>Sets the alignment of the label's contents.
+See the <a href="qlabel.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>void <a name="setAutoResize"></a>QLabel::setAutoResize ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Enables auto-resizing if <em>enable</em> is TRUE, or disables it if <em>enable</em> is FALSE.
+<p> When auto-resizing is enabled the label will resize itself to fit
+the contents whenever the contents change. The top-left corner is
+not moved. This is useful for QLabel widgets that are not managed by
+a <a href="qlayout.html">QLayout</a> (e.g., top-level widgets).
+<p> Auto-resizing is disabled by default.
+<p> <p>See also <a href="#autoResize">autoResize</a>(), <a href="qwidget.html#adjustSize">adjustSize</a>(), and <a href="qwidget.html#sizeHint-prop">sizeHint</a>.
+
+<h3 class=fn>void <a name="setBuddy"></a>QLabel::setBuddy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;buddy )<tt> [virtual]</tt>
+</h3>
+Sets this label's buddy to <em>buddy</em>.
+<p> When the user presses the accelerator key indicated by this label,
+the <a href="focus.html#keyboard-focus">keyboard focus</a> is transferred to the label's buddy widget.
+<p> The buddy mechanism is only available for QLabels that contain
+plain text in which one letter is prefixed with an ampersand, &amp;.
+This letter is set as the accelerator key. The letter is displayed
+underlined, and the '&amp;' is not displayed (i.e. the <a href="qt.html#TextFlags-enum">ShowPrefix</a>
+alignment flag is turned on; see <a href="#setAlignment">setAlignment</a>()).
+<p> In a dialog, you might create two data entry widgets and a label
+for each, and set up the geometry layout so each label is just to
+the left of its data entry widget (its "buddy"), for example:
+<pre>
+ <a href="qlineedit.html">QLineEdit</a> *nameEd = new <a href="qlineedit.html">QLineEdit</a>( this );
+ QLabel *nameLb = new QLabel( "&amp;Name:", this );
+ nameLb-&gt;<a href="#setBuddy">setBuddy</a>( nameEd );
+ <a href="qlineedit.html">QLineEdit</a> *phoneEd = new <a href="qlineedit.html">QLineEdit</a>( this );
+ QLabel *phoneLb = new QLabel( "&amp;Phone:", this );
+ phoneLb-&gt;<a href="#setBuddy">setBuddy</a>( phoneEd );
+ // ( layout setup not shown )
+ </pre>
+
+<p> With the code above, the focus jumps to the Name field when the
+user presses Alt+N, and to the Phone field when the user presses
+Alt+P.
+<p> To unset a previously set buddy, call this function with <em>buddy</em>
+set to 0.
+<p> <p>See also <a href="#buddy">buddy</a>(), <a href="#text-prop">text</a>, <a href="qaccel.html">QAccel</a>, and <a href="#alignment-prop">alignment</a>.
+
+<p>Examples: <a href="addressbook-example.html#x580">addressbook/centralwidget.cpp</a>, <a href="tutorial2-09.html#x2642">chart/optionsform.cpp</a>, and <a href="regexptester-example.html#x2482">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="setFont"></a>QLabel::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )<tt> [virtual]</tt>
+</h3>
+Sets the font used on the QLabel to font <em>f</em>.
+
+<p>Example: <a href="menu-example.html#x1865">menu/menu.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#setFont">QWidget</a>.
+<h3 class=fn>void <a name="setIndent"></a>QLabel::setIndent ( int )
+</h3><p>Sets the label's text indent in pixels.
+See the <a href="qlabel.html#indent-prop">"indent"</a> property for details.
+<h3 class=fn>void <a name="setMovie"></a>QLabel::setMovie ( const&nbsp;<a href="qmovie.html">QMovie</a>&nbsp;&amp;&nbsp;movie )<tt> [virtual slot]</tt>
+</h3>
+Sets the label contents to <em>movie</em>. Any previous content is
+cleared.
+<p> The buddy accelerator, if any, is disabled.
+<p> The label resizes itself if auto-resizing is enabled.
+<p> <p>See also <a href="#movie">movie</a>() and <a href="#setBuddy">setBuddy</a>().
+
+<h3 class=fn>void <a name="setNum"></a>QLabel::setNum ( int&nbsp;num )<tt> [virtual slot]</tt>
+</h3>
+Sets the label contents to plain text containing the textual
+representation of integer <em>num</em>. Any previous content is cleared.
+Does nothing if the integer's string representation is the same as
+the current contents of the label.
+<p> The buddy accelerator, if any, is disabled.
+<p> The label resizes itself if auto-resizing is enabled.
+<p> <p>See also <a href="#text-prop">text</a>, <a href="qstring.html#setNum">QString::setNum</a>(), and <a href="#setBuddy">setBuddy</a>().
+
+<h3 class=fn>void <a name="setNum-2"></a>QLabel::setNum ( double&nbsp;num )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the label contents to plain text containing the textual
+representation of double <em>num</em>. Any previous content is cleared.
+Does nothing if the double's string representation is the same as
+the current contents of the label.
+<p> The buddy accelerator, if any, is disabled.
+<p> The label resizes itself if auto-resizing is enabled.
+<p> <p>See also <a href="#text-prop">text</a>, <a href="qstring.html#setNum">QString::setNum</a>(), and <a href="#setBuddy">setBuddy</a>().
+
+<h3 class=fn>void <a name="setPicture"></a>QLabel::setPicture ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;picture )<tt> [virtual slot]</tt>
+</h3>
+Sets the label contents to <em>picture</em>. Any previous content is
+cleared.
+<p> The buddy accelerator, if any, is disabled.
+<p> <p>See also <a href="#picture">picture</a>() and <a href="#setBuddy">setBuddy</a>().
+
+<h3 class=fn>void <a name="setPixmap"></a>QLabel::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the label's pixmap.
+See the <a href="qlabel.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setScaledContents"></a>QLabel::setScaledContents ( bool )
+</h3><p>Sets whether the label will scale its contents to fill all available space.
+See the <a href="qlabel.html#scaledContents-prop">"scaledContents"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QLabel::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the label's text.
+See the <a href="qlabel.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setTextFormat"></a>QLabel::setTextFormat ( <a href="qt.html#TextFormat-enum">TextFormat</a> )
+</h3><p>Sets the label's text format.
+See the <a href="qlabel.html#textFormat-prop">"textFormat"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QLabel::text () const
+</h3><p>Returns the label's text.
+See the <a href="qlabel.html#text-prop">"text"</a> property for details.
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat"></a>QLabel::textFormat () const
+</h3><p>Returns the label's text format.
+See the <a href="qlabel.html#textFormat-prop">"textFormat"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>Alignment <a name="alignment-prop"></a>alignment</h3>
+<p>This property holds the alignment of the label's contents.
+<p>The alignment is a bitwise OR of <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> and <a href="qt.html#TextFlags-enum">Qt::TextFlags</a> values. The <a href="qt.html#TextFlags-enum">ExpandTabs</a>, <a href="qt.html#TextFlags-enum">SingleLine</a> and <a href="qt.html#TextFlags-enum">ShowPrefix</a> flags apply only if the label contains plain text;
+otherwise they are ignored. The <a href="qt.html#TextFlags-enum">DontClip</a> flag is always
+ignored. <a href="qt.html#TextFlags-enum">WordBreak</a> applies to both rich text and plain text
+labels. The <a href="qt.html#TextFlags-enum">BreakAnywhere</a> flag is not supported in QLabel.
+<p> If the label has a buddy, the <a href="qt.html#TextFlags-enum">ShowPrefix</a> flag is forced to
+TRUE.
+<p> The default alignment is <tt>AlignAuto | AlignVCenter | ExpandTabs</tt>
+if the label doesn't have a buddy and <tt>AlignAuto | AlignVCenter | ExpandTabs | ShowPrefix</tt> if the label has a buddy. If the label
+contains rich text, additionally <a href="qt.html#TextFlags-enum">WordBreak</a> is turned on.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>, <a href="#setBuddy">setBuddy</a>(), and <a href="#text-prop">text</a>.
+
+<p>Set this property's value with <a href="#setAlignment">setAlignment</a>() and get this property's value with <a href="#alignment">alignment</a>().
+<h3 class=fn><a href="qt.html#BackgroundMode-enum">BackgroundMode</a> <a name="backgroundMode-prop"></a>backgroundMode</h3>
+<p>This property holds the label's background mode.
+<p>Get this property with <a href="qwidget.html#backgroundMode">backgroundMode</a>().
+<p> <p>See also <a href="qwidget.html#backgroundMode-prop">QWidget::backgroundMode</a>.
+
+<p><h3 class=fn>int <a name="indent-prop"></a>indent</h3>
+<p>This property holds the label's text indent in pixels.
+<p>If a label displays text, the indent applies to the left edge if
+<a href="#alignment">alignment</a>() is <a href="qt.html#AlignmentFlags-enum">AlignLeft</a>, to the right edge if alignment() is
+<a href="qt.html#AlignmentFlags-enum">AlignRight</a>, to the top edge if alignment() is <a href="qt.html#AlignmentFlags-enum">AlignTop</a>, and
+to to the bottom edge if alignment() is <a href="qt.html#AlignmentFlags-enum">AlignBottom</a>.
+<p> If indent is negative, or if no indent has been set, the label
+computes the effective indent as follows: If <a href="qframe.html#frameWidth">frameWidth</a>() is 0,
+the effective indent becomes 0. If frameWidth() is greater than 0,
+the effective indent becomes half the width of the "x" character
+of the widget's current <a href="qwidget.html#font">font</a>().
+<p> <p>See also <a href="#alignment-prop">alignment</a>, <a href="qframe.html#frameWidth-prop">frameWidth</a>, and <a href="qwidget.html#font-prop">font</a>.
+
+<p>Set this property's value with <a href="#setIndent">setIndent</a>() and get this property's value with <a href="#indent">indent</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3>
+<p>This property holds the label's pixmap.
+<p>If no pixmap has been set this will return an invalid pixmap.
+<p> Setting the pixmap clears any previous content, and resizes the
+label if <a href="#autoResize">QLabel::autoResize</a>() is TRUE. The buddy accelerator,
+if any, is disabled.
+
+<p>Set this property's value with <a href="#setPixmap">setPixmap</a>() and get this property's value with <a href="#pixmap">pixmap</a>().
+<h3 class=fn>bool <a name="scaledContents-prop"></a>scaledContents</h3>
+<p>This property holds whether the label will scale its contents to fill all available space.
+<p>When enabled and the label shows a pixmap, it will scale the
+pixmap to fill the available space.
+<p> This property's default is FALSE.
+<p> <p>See also <a href="#scaledContents-prop">scaledContents</a>.
+
+<p>Set this property's value with <a href="#setScaledContents">setScaledContents</a>() and get this property's value with <a href="#hasScaledContents">hasScaledContents</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the label's text.
+<p>If no text has been set this will return an empty string. Setting
+the text clears any previous content, unless they are the same.
+<p> The text will be interpreted either as a plain text or as a rich
+text, depending on the text format setting; see <a href="#setTextFormat">setTextFormat</a>().
+The default setting is <a href="qt.html#TextFormat-enum">AutoText</a>, i.e. QLabel will try to
+auto-detect the format of the text set.
+<p> If the text is interpreted as a plain text and a buddy has been
+set, the buddy accelerator key is updated from the new text.
+<p> The label resizes itself if auto-resizing is enabled.
+<p> Note that Qlabel is well-suited to display small rich text
+documents, i.e. those small documents that get their document
+specific settings (font, text color, link color) from the label's
+palette and font properties. For large documents, use <a href="qtextedit.html">QTextEdit</a>
+in read-only mode instead. QTextEdit will flicker less on resize
+and can also provide a scrollbar when necessary.
+<p> <p>See also <a href="#textFormat-prop">textFormat</a>, <a href="#setBuddy">setBuddy</a>(), and <a href="#alignment-prop">alignment</a>.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat-prop"></a>textFormat</h3>
+<p>This property holds the label's text format.
+<p>See the <a href="qt.html#TextFormat-enum">Qt::TextFormat</a> enum for an explanation of the possible
+options.
+<p> The default format is <a href="qt.html#TextFormat-enum">AutoText</a>.
+<p> <p>See also <a href="#text-prop">text</a>.
+
+<p>Set this property's value with <a href="#setTextFormat">setTextFormat</a>() and get this property's value with <a href="#textFormat">textFormat</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayout-h.html b/doc/html/qlayout-h.html
new file mode 100644
index 0000000..0e3e87c
--- /dev/null
+++ b/doc/html/qlayout-h.html
@@ -0,0 +1,518 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlayout.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlayout.h</h1>
+
+<p>This is the verbatim text of the qlayout.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlayout.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of layout classes
+**
+** Created : 960416
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLAYOUT_H
+#define QLAYOUT_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qsizepolicy.h"
+#include "qwidget.h"
+#endif // QT_H
+
+#include &lt;limits.h&gt;
+
+#ifndef QT_NO_LAYOUT
+
+#if 0
+Q_OBJECT
+#endif
+
+static const int QLAYOUTSIZE_MAX = INT_MAX/256/16;
+
+class QGridLayoutBox;
+class QGridLayoutData;
+class QLayout;
+class QLayoutItem;
+struct QLayoutData;
+class QMenuBar;
+class QSpacerItem;
+class QWidget;
+
+class Q_EXPORT QGLayoutIterator : public QShared
+{
+public:
+ virtual ~QGLayoutIterator();
+ virtual QLayoutItem *next() = 0;
+ virtual QLayoutItem *current() = 0;
+ virtual QLayoutItem *takeCurrent() = 0;
+};
+
+class Q_EXPORT QLayoutIterator
+{
+public:
+ QLayoutIterator( QGLayoutIterator *i ) : it( i ) { }
+ QLayoutIterator( const QLayoutIterator &amp;i ) : it( i.it ) {
+ if ( it )
+ it-&gt;ref();
+ }
+ ~QLayoutIterator() { if ( it &amp;&amp; it-&gt;deref() ) delete it; }
+ QLayoutIterator &amp;operator=( const QLayoutIterator &amp;i ) {
+ if ( i.it )
+ i.it-&gt;ref();
+ if ( it &amp;&amp; it-&gt;deref() )
+ delete it;
+ it = i.it;
+ return *this;
+ }
+ QLayoutItem *operator++() { return it ? it-&gt;next() : 0; }
+ QLayoutItem *current() { return it ? it-&gt;current() : 0; }
+ QLayoutItem *takeCurrent() { return it ? it-&gt;takeCurrent() : 0; }
+ void deleteCurrent();
+
+private:
+ QGLayoutIterator *it;
+};
+
+class Q_EXPORT QLayoutItem
+{
+public:
+ QLayoutItem( int alignment = 0 ) : align( alignment ) { }
+ virtual ~QLayoutItem();
+ virtual QSize sizeHint() const = 0;
+ virtual QSize minimumSize() const = 0;
+ virtual QSize maximumSize() const = 0;
+ virtual QSizePolicy::ExpandData expanding() const = 0;
+ virtual void setGeometry( const QRect&amp; ) = 0;
+ virtual QRect geometry() const = 0;
+ virtual bool isEmpty() const = 0;
+ virtual bool hasHeightForWidth() const;
+ virtual int heightForWidth( int ) const;
+ // ### add minimumHeightForWidth( int ) in Qt 4.0
+ virtual void invalidate();
+
+ virtual QWidget *widget();
+ virtual QLayoutIterator iterator();
+ virtual QLayout *layout();
+ virtual QSpacerItem *spacerItem();
+
+ int alignment() const { return align; }
+ virtual void setAlignment( int a );
+
+protected:
+ int align;
+};
+
+class Q_EXPORT QSpacerItem : public QLayoutItem
+{
+public:
+ QSpacerItem( int w, int h,
+ QSizePolicy::SizeType hData = QSizePolicy::Minimum,
+ QSizePolicy::SizeType vData = QSizePolicy::Minimum )
+ : width( w ), height( h ), sizeP( hData, vData ) { }
+ void changeSize( int w, int h,
+ QSizePolicy::SizeType hData = QSizePolicy::Minimum,
+ QSizePolicy::SizeType vData = QSizePolicy::Minimum );
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ QSizePolicy::ExpandData expanding() const;
+ bool isEmpty() const;
+ void setGeometry( const QRect&amp; );
+ QRect geometry() const;
+ QSpacerItem *spacerItem();
+
+private:
+ int width;
+ int height;
+ QSizePolicy sizeP;
+ QRect rect;
+};
+
+class Q_EXPORT QWidgetItem : public QLayoutItem
+{
+public:
+ QWidgetItem( QWidget *w ) : wid( w ) { }
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ QSizePolicy::ExpandData expanding() const;
+ bool isEmpty() const;
+ void setGeometry( const QRect&amp; );
+ QRect geometry() const;
+ virtual QWidget *widget();
+
+ bool hasHeightForWidth() const;
+ int heightForWidth( int ) const;
+
+private:
+ QWidget *wid;
+};
+
+class Q_EXPORT QLayout : public QObject, public QLayoutItem
+{
+ Q_OBJECT
+ Q_ENUMS( ResizeMode )
+ Q_PROPERTY( int margin READ margin WRITE setMargin )
+ Q_PROPERTY( int spacing READ spacing WRITE setSpacing )
+ Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
+
+public:
+ // ### Qt 4.0: put 'Auto' first in enum
+ enum ResizeMode { FreeResize, Minimum, Fixed, Auto };
+
+ QLayout( QWidget *parent, int margin = 0, int spacing = -1,
+ const char *name = 0 );
+ QLayout( QLayout *parentLayout, int spacing = -1, const char *name = 0 );
+ QLayout( int spacing = -1, const char *name = 0 );
+ ~QLayout();
+
+ int margin() const { return outsideBorder; }
+ int spacing() const { return insideSpacing; }
+
+ virtual void setMargin( int );
+ virtual void setSpacing( int );
+
+ int defaultBorder() const { return insideSpacing; }
+ void freeze( int w, int h );
+ void freeze() { setResizeMode( Fixed ); }
+
+ void setResizeMode( ResizeMode );
+ ResizeMode resizeMode() const;
+
+#ifndef QT_NO_MENUBAR
+ virtual void setMenuBar( QMenuBar *w );
+ QMenuBar *menuBar() const { return menubar; }
+#endif
+
+ QWidget *mainWidget();
+ bool isTopLevel() const { return topLevel; }
+
+ virtual void setAutoAdd( bool );
+ bool autoAdd() const { return autoNewChild; }
+
+ void invalidate();
+ QRect geometry() const;
+ bool activate();
+
+ void add( QWidget *w ) { addItem( new QWidgetItem(w) ); }
+ virtual void addItem( QLayoutItem * ) = 0;
+
+ void remove( QWidget *w );
+ void removeItem( QLayoutItem * );
+
+ QSizePolicy::ExpandData expanding() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ void setGeometry( const QRect&amp; ) = 0;
+ QLayoutIterator iterator() = 0;
+ bool isEmpty() const;
+
+ int totalHeightForWidth( int w ) const;
+ QSize totalMinimumSize() const;
+ QSize totalMaximumSize() const;
+ QSize totalSizeHint() const;
+ QLayout *layout();
+
+ bool supportsMargin() const { return marginImpl; }
+
+ void setEnabled( bool );
+ bool isEnabled() const;
+
+protected:
+ bool eventFilter( QObject *, QEvent * );
+ void childEvent( QChildEvent *e );
+ void addChildLayout( QLayout *l );
+ void deleteAllItems();
+
+ void setSupportsMargin( bool );
+ QRect alignmentRect( const QRect&amp; ) const;
+
+private:
+ void setWidgetLayout( QWidget *, QLayout * );
+ void init();
+ int insideSpacing;
+ int outsideBorder;
+ uint topLevel : 1;
+ uint enabled : 1;
+ uint autoNewChild : 1;
+ uint frozen : 1;
+ uint activated : 1;
+ uint marginImpl : 1;
+ uint autoMinimum : 1;
+ uint autoResizeMode : 1;
+ QRect rect;
+ QLayoutData *extraData;
+#ifndef QT_NO_MENUBAR
+ QMenuBar *menubar;
+#endif
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QLayout( const QLayout &amp; );
+ QLayout &amp;operator=( const QLayout &amp; );
+#endif
+
+ static void propagateSpacing( QLayout *layout );
+};
+
+inline void QLayoutIterator::deleteCurrent()
+{
+ delete takeCurrent();
+}
+
+class Q_EXPORT QGridLayout : public QLayout
+{
+ Q_OBJECT
+public:
+ QGridLayout( QWidget *parent, int nRows = 1, int nCols = 1, int border = 0,
+ int spacing = -1, const char *name = 0 );
+ QGridLayout( int nRows = 1, int nCols = 1, int spacing = -1,
+ const char *name = 0 );
+ QGridLayout( QLayout *parentLayout, int nRows = 1, int nCols = 1,
+ int spacing = -1, const char *name = 0 );
+ ~QGridLayout();
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+
+ // ### remove 'virtual' in 4.0 (or add 'virtual' to set{Row,Col}Spacing())
+ virtual void setRowStretch( int row, int stretch );
+ virtual void setColStretch( int col, int stretch );
+ int rowStretch( int row ) const;
+ int colStretch( int col ) const;
+
+ void setRowSpacing( int row, int minSize );
+ void setColSpacing( int col, int minSize );
+ int rowSpacing( int row ) const;
+ int colSpacing( int col ) const;
+
+ int numRows() const;
+ int numCols() const;
+ QRect cellGeometry( int row, int col ) const;
+
+ bool hasHeightForWidth() const;
+ int heightForWidth( int ) const;
+ int minimumHeightForWidth( int ) const;
+
+ QSizePolicy::ExpandData expanding() const;
+ void invalidate();
+
+ void addItem( QLayoutItem * );
+ void addItem( QLayoutItem *item, int row, int col );
+ void addMultiCell( QLayoutItem *, int fromRow, int toRow,
+ int fromCol, int toCol, int align = 0 );
+
+ void addWidget( QWidget *, int row, int col, int align = 0 );
+ void addMultiCellWidget( QWidget *, int fromRow, int toRow,
+ int fromCol, int toCol, int align = 0 );
+ void addLayout( QLayout *layout, int row, int col);
+ void addMultiCellLayout( QLayout *layout, int fromRow, int toRow,
+ int fromCol, int toCol, int align = 0 );
+ void addRowSpacing( int row, int minsize );
+ void addColSpacing( int col, int minsize );
+
+ void expand( int rows, int cols );
+
+ enum Corner { TopLeft, TopRight, BottomLeft, BottomRight };
+ void setOrigin( Corner );
+ Corner origin() const;
+ QLayoutIterator iterator();
+ void setGeometry( const QRect&amp; );
+
+protected:
+ bool findWidget( QWidget* w, int *r, int *c );
+ void add( QLayoutItem*, int row, int col );
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QGridLayout( const QGridLayout &amp; );
+ QGridLayout &amp;operator=( const QGridLayout &amp; );
+#endif
+
+ void init( int rows, int cols );
+ QGridLayoutData *data;
+};
+
+class QBoxLayoutData;
+class QDockWindow;
+
+class Q_EXPORT QBoxLayout : public QLayout
+{
+ Q_OBJECT
+public:
+ enum Direction { LeftToRight, RightToLeft, TopToBottom, BottomToTop,
+ Down = TopToBottom, Up = BottomToTop };
+
+ QBoxLayout( QWidget *parent, Direction, int border = 0, int spacing = -1,
+ const char *name = 0 );
+ QBoxLayout( QLayout *parentLayout, Direction, int spacing = -1,
+ const char *name = 0 );
+ QBoxLayout( Direction, int spacing = -1, const char *name = 0 );
+ ~QBoxLayout();
+
+ void addItem( QLayoutItem * );
+
+ Direction direction() const { return dir; }
+ void setDirection( Direction );
+
+ void addSpacing( int size );
+ void addStretch( int stretch = 0 );
+ void addWidget( QWidget *, int stretch = 0, int alignment = 0 );
+ void addLayout( QLayout *layout, int stretch = 0 );
+ void addStrut( int );
+
+ void insertSpacing( int index, int size );
+ void insertStretch( int index, int stretch = 0 );
+ void insertWidget( int index, QWidget *widget, int stretch = 0,
+ int alignment = 0 );
+ void insertLayout( int index, QLayout *layout, int stretch = 0 );
+
+ bool setStretchFactor( QWidget*, int stretch );
+ bool setStretchFactor( QLayout *l, int stretch );
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+
+ bool hasHeightForWidth() const;
+ int heightForWidth( int ) const;
+ int minimumHeightForWidth( int ) const;
+
+ QSizePolicy::ExpandData expanding() const;
+ void invalidate();
+ QLayoutIterator iterator();
+ void setGeometry( const QRect&amp; );
+
+ int findWidget( QWidget* w );
+
+protected:
+ void insertItem( int index, QLayoutItem * );
+
+private:
+ friend class QDockWindow;
+#if defined(Q_DISABLE_COPY)
+ QBoxLayout( const QBoxLayout &amp; );
+ QBoxLayout &amp;operator=( const QBoxLayout &amp; );
+#endif
+
+ void setupGeom();
+ void calcHfw( int );
+ QBoxLayoutData *data;
+ Direction dir;
+ QBoxLayout *createTmpCopy();
+};
+
+class Q_EXPORT QHBoxLayout : public QBoxLayout
+{
+ Q_OBJECT
+public:
+ QHBoxLayout( QWidget *parent, int border = 0,
+ int spacing = -1, const char *name = 0 );
+ QHBoxLayout( QLayout *parentLayout,
+ int spacing = -1, const char *name = 0 );
+ QHBoxLayout( int spacing = -1, const char *name = 0 );
+
+ ~QHBoxLayout();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QHBoxLayout( const QHBoxLayout &amp; );
+ QHBoxLayout &amp;operator=( const QHBoxLayout &amp; );
+#endif
+};
+
+class Q_EXPORT QVBoxLayout : public QBoxLayout
+{
+ Q_OBJECT
+public:
+ QVBoxLayout( QWidget *parent, int border = 0,
+ int spacing = -1, const char *name = 0 );
+ QVBoxLayout( QLayout *parentLayout,
+ int spacing = -1, const char *name = 0 );
+ QVBoxLayout( int spacing = -1, const char *name = 0 );
+
+ ~QVBoxLayout();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QVBoxLayout( const QVBoxLayout &amp; );
+ QVBoxLayout &amp;operator=( const QVBoxLayout &amp; );
+#endif
+};
+
+#endif // QT_NO_LAYOUT
+#endif // QLAYOUT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayout-members.html b/doc/html/qlayout-members.html
new file mode 100644
index 0000000..fc1eda3
--- /dev/null
+++ b/doc/html/qlayout-members.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:176 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayout Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLayout</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlayout.html">QLayout</a>, including inherited members.
+
+<ul>
+<li><a href="qlayout.html#QLayout">QLayout</a>()
+<li><a href="qlayout.html#activate">activate</a>()
+<li><a href="qlayout.html#add">add</a>()
+<li><a href="qlayout.html#addChildLayout">addChildLayout</a>()
+<li><a href="qlayout.html#addItem">addItem</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayout.html#alignmentRect">alignmentRect</a>()
+<li><a href="qlayout.html#autoAdd">autoAdd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qlayout.html#deleteAllItems">deleteAllItems</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qlayout.html#expanding">expanding</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qlayoutitem.html#heightForWidth">heightForWidth</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qlayout.html#invalidate">invalidate</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qlayout.html#isEmpty">isEmpty</a>()
+<li><a href="qlayout.html#isEnabled">isEnabled</a>()
+<li><a href="qlayout.html#isTopLevel">isTopLevel</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlayout.html#iterator">iterator</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayout.html#mainWidget">mainWidget</a>()
+<li><a href="qlayout.html#margin">margin</a>()
+<li><a href="qlayout.html#maximumSize">maximumSize</a>()
+<li><a href="qlayout.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qlayout.html#minimumSize">minimumSize</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qlayout.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlayout.html#removeItem">removeItem</a>()
+<li><a href="qlayout.html#resizeMode">resizeMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayout.html#setAutoAdd">setAutoAdd</a>()
+<li><a href="qlayout.html#setEnabled">setEnabled</a>()
+<li><a href="qlayout.html#setGeometry">setGeometry</a>()
+<li><a href="qlayout.html#setMargin">setMargin</a>()
+<li><a href="qlayout.html#setMenuBar">setMenuBar</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlayout.html#setResizeMode">setResizeMode</a>()
+<li><a href="qlayout.html#setSpacing">setSpacing</a>()
+<li><a href="qlayout.html#setSupportsMargin">setSupportsMargin</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qlayoutitem.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayout.html#spacing">spacing</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qlayout.html#supportsMargin">supportsMargin</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayout.html b/doc/html/qlayout.html
new file mode 100644
index 0000000..a82449a
--- /dev/null
+++ b/doc/html/qlayout.html
@@ -0,0 +1,414 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:560 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayout Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLayout Class Reference</h1>
+
+<p>The QLayout class is the base class of geometry managers.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qlayoutitem.html">QLayoutItem</a>.
+<p>Inherited by <a href="qgridlayout.html">QGridLayout</a> and <a href="qboxlayout.html">QBoxLayout</a>.
+<p><a href="qlayout-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#ResizeMode-enum"><b>ResizeMode</b></a> { FreeResize, Minimum, Fixed, Auto }</li>
+<li class=fn><a href="#QLayout"><b>QLayout</b></a> ( QWidget&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QLayout-2"><b>QLayout</b></a> ( QLayout&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QLayout-3"><b>QLayout</b></a> ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>int <a href="#margin"><b>margin</b></a> () const</li>
+<li class=fn>int <a href="#spacing"><b>spacing</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMargin"><b>setMargin</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setSpacing"><b>setSpacing</b></a> ( int )</li>
+<li class=fn>void <a href="#setResizeMode"><b>setResizeMode</b></a> ( ResizeMode )</li>
+<li class=fn>ResizeMode <a href="#resizeMode"><b>resizeMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMenuBar"><b>setMenuBar</b></a> ( QMenuBar&nbsp;*&nbsp;w )</li>
+<li class=fn>QMenuBar * <a href="#menuBar"><b>menuBar</b></a> () const</li>
+<li class=fn>QWidget * <a href="#mainWidget"><b>mainWidget</b></a> ()</li>
+<li class=fn>bool <a href="#isTopLevel"><b>isTopLevel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoAdd"><b>setAutoAdd</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#autoAdd"><b>autoAdd</b></a> () const</li>
+<li class=fn>virtual void <a href="#invalidate"><b>invalidate</b></a> ()</li>
+<li class=fn>bool <a href="#activate"><b>activate</b></a> ()</li>
+<li class=fn>void <a href="#add"><b>add</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual void <a href="#addItem"><b>addItem</b></a> ( QLayoutItem&nbsp;*&nbsp;item ) = 0</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( QLayoutItem&nbsp;*&nbsp;item )</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) = 0</li>
+<li class=fn>virtual QLayoutIterator <a href="#iterator"><b>iterator</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#supportsMargin"><b>supportsMargin</b></a> () const</li>
+<li class=fn>void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#margin-prop"><b>margin</b></a>&nbsp;- the width of the outside border of the layout</li>
+<li class=fn>ResizeMode <a href="#resizeMode-prop"><b>resizeMode</b></a>&nbsp;- the resize mode of the layout</li>
+<li class=fn>int <a href="#spacing-prop"><b>spacing</b></a>&nbsp;- the spacing between widgets inside the layout</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#addChildLayout"><b>addChildLayout</b></a> ( QLayout&nbsp;*&nbsp;l )</li>
+<li class=fn>void <a href="#deleteAllItems"><b>deleteAllItems</b></a> ()</li>
+<li class=fn>void <a href="#setSupportsMargin"><b>setSupportsMargin</b></a> ( bool&nbsp;b )</li>
+<li class=fn>QRect <a href="#alignmentRect"><b>alignmentRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLayout class is the base class of geometry managers.
+<p>
+
+<p> This is an abstract base class inherited by the concrete classes,
+<a href="qboxlayout.html">QBoxLayout</a> and <a href="qgridlayout.html">QGridLayout</a>.
+<p> For users of QLayout subclasses or of <a href="qmainwindow.html">QMainWindow</a> there is seldom
+any need to use the basic functions provided by QLayout, such as
+<a href="#setResizeMode">setResizeMode</a>() or <a href="#setMenuBar">setMenuBar</a>(). See the <a href="layout.html">layout
+ overview page</a> for more information.
+<p> To make your own layout manager, subclass <a href="qglayoutiterator.html">QGLayoutIterator</a> and
+implement the functions <a href="#addItem">addItem</a>(), <a href="qlayoutitem.html#sizeHint">sizeHint</a>(), <a href="#setGeometry">setGeometry</a>(), and
+<a href="#iterator">iterator</a>(). You should also implement <a href="#minimumSize">minimumSize</a>() to ensure your
+layout isn't resized to zero size if there is too little space. To
+support children whose heights depend on their widths, implement
+<a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>() and <a href="qlayoutitem.html#heightForWidth">heightForWidth</a>(). See the <a href="customlayout.html">custom layout page</a> for an in-depth
+description.
+<p> Geometry management stops when the layout manager is deleted.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a> and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ResizeMode-enum"></a>QLayout::ResizeMode</h3>
+
+<p> The possible values are:
+<ul>
+<li><tt>QLayout::Auto</tt> - If the main widget is a top-level widget with no
+height-for-width (<a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>()), this is
+the same as <tt>Minimium</tt>; otherwise, this is the
+same as <a href="#ResizeMode-enum">FreeResize</a>.
+<li><tt>QLayout::Fixed</tt> - The main widget's size is set to <a href="qlayoutitem.html#sizeHint">sizeHint</a>(); it
+cannot be resized at all.
+<li><tt>QLayout::Minimum</tt> - The main widget's minimum size is set to
+<a href="#minimumSize">minimumSize</a>(); it cannot be smaller.
+<li><tt>QLayout::FreeResize</tt> - The widget is not constrained.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLayout"></a>QLayout::QLayout ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new top-level QLayout called <em>name</em>, with main
+widget <em>parent</em>. <em>parent</em> may not be 0.
+<p> The <em>margin</em> is the number of pixels between the edge of the
+widget and the managed children. The <em>spacing</em> sets the value of
+<a href="#spacing">spacing</a>(), which gives the spacing between the managed widgets. If
+<em>spacing</em> is -1 (the default), spacing is set to the value of <em>margin</em>.
+<p> There can be only one top-level layout for a widget. It is
+returned by <a href="qwidget.html#layout">QWidget::layout</a>()
+
+<h3 class=fn><a name="QLayout-2"></a>QLayout::QLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new child QLayout called <em>name</em>, and places it
+inside <em>parentLayout</em> by using the default placement defined by
+<a href="#addItem">addItem</a>().
+<p> If <em>spacing</em> is -1, this QLayout inherits <em>parentLayout</em>'s
+<a href="#spacing">spacing</a>(), otherwise the value of <em>spacing</em> is used.
+
+<h3 class=fn><a name="QLayout-3"></a>QLayout::QLayout ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new child QLayout called <em>name</em>. If <em>spacing</em> is
+-1, this QLayout inherits its parent's <a href="#spacing">spacing</a>(); otherwise the
+value of <em>spacing</em> is used.
+<p> This layout has to be inserted into another layout before geometry
+management will work.
+
+<h3 class=fn>bool <a name="activate"></a>QLayout::activate ()
+</h3>
+Redoes the layout for <a href="#mainWidget">mainWidget</a>(). You should generally not need
+to call this because it is automatically called at the most
+appropriate times.
+<p> However, if you set up a QLayout for a visible widget without
+resizing that widget, you will need to call this function in order
+to lay it out.
+<p> <p>See also <a href="qwidget.html#updateGeometry">QWidget::updateGeometry</a>().
+
+<p>Examples: <a href="layout-example.html#x538">layout/layout.cpp</a>, <a href="popup-example.html#x1609">popup/popup.cpp</a>, <a href="scrollview-example.html#x630">scrollview/scrollview.cpp</a>, and <a href="sql.html#x2222">sql/overview/form1/main.cpp</a>.
+<h3 class=fn>void <a name="add"></a>QLayout::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+
+<p> Adds widget <em>w</em> to this layout in a manner specific to the
+layout. This function uses <a href="#addItem">addItem</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1489">customlayout/border.cpp</a> and <a href="customlayout-example.html#x1536">customlayout/main.cpp</a>.
+<h3 class=fn>void <a name="addChildLayout"></a>QLayout::addChildLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;l )<tt> [protected]</tt>
+</h3>
+This function is called from addLayout() functions in subclasses
+to add layout <em>l</em> as a sub-layout.
+
+<h3 class=fn>void <a name="addItem"></a>QLayout::addItem ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to add an <em>item</em>. How it is added is
+specific to each subclass.
+<p> The ownership of <em>item</em> is transferred to the layout, and it's
+the layout's responsibility to delete it.
+
+<p>Examples: <a href="customlayout-example.html#x1490">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1511">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1467">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qgridlayout.html#addItem-2">QGridLayout</a> and <a href="qboxlayout.html#addItem">QBoxLayout</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="alignmentRect"></a>QLayout::alignmentRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const<tt> [protected]</tt>
+</h3>
+Returns the rectangle that should be covered when the geometry of
+this layout is set to <em>r</em>, provided that this layout supports
+<a href="qlayoutitem.html#setAlignment">setAlignment</a>().
+<p> The result is derived from <a href="qlayoutitem.html#sizeHint">sizeHint</a>() and <a href="#expanding">expanding</a>(). It is never
+larger than <em>r</em>.
+
+<h3 class=fn>bool <a name="autoAdd"></a>QLayout::autoAdd () const
+</h3>
+
+<p> Returns TRUE if this layout automatically grabs all new
+<a href="#mainWidget">mainWidget</a>()'s new children and adds them as defined by <a href="#addItem">addItem</a>();
+otherwise returns FALSE. This has effect only for top-level
+layouts, i.e. layouts that are direct children of their
+mainWidget().
+<p> <a href="#autoAdd">autoAdd</a>() is disabled by default.
+<p> Note that a top-level layout is not necessarily associated with
+the top-level widget.
+<p> <p>See also <a href="#setAutoAdd">setAutoAdd</a>().
+
+<h3 class=fn>void <a name="deleteAllItems"></a>QLayout::deleteAllItems ()<tt> [protected]</tt>
+</h3>
+Removes and deletes all items in this layout.
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QLayout::expanding () const<tt> [virtual]</tt>
+</h3>
+Returns whether this layout can make use of more space than
+<a href="qlayoutitem.html#sizeHint">sizeHint</a>(). A value of <a href="qt.html#Orientation-enum">Vertical</a> or <a href="qt.html#Orientation-enum">Horizontal</a> means that it wants
+to grow in only one dimension, whereas <tt>BothDirections</tt> means that
+it wants to grow in both dimensions.
+<p> The default implementation returns <tt>BothDirections</tt>.
+
+<p>Examples: <a href="customlayout-example.html#x1491">customlayout/border.cpp</a> and <a href="customlayout-example.html#x1468">customlayout/flow.cpp</a>.
+<p>Reimplemented from <a href="qlayoutitem.html#expanding">QLayoutItem</a>.
+<p>Reimplemented in <a href="qgridlayout.html#expanding">QGridLayout</a> and <a href="qboxlayout.html#expanding">QBoxLayout</a>.
+<h3 class=fn>void <a name="invalidate"></a>QLayout::invalidate ()<tt> [virtual]</tt>
+</h3>
+Invalidates cached information. Reimplementations must call this.
+
+<p>Reimplemented from <a href="qlayoutitem.html#invalidate">QLayoutItem</a>.
+<p>Reimplemented in <a href="qgridlayout.html#invalidate">QGridLayout</a> and <a href="qboxlayout.html#invalidate">QBoxLayout</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QLayout::isEmpty () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this layout is empty. The default implementation
+returns FALSE.
+
+<p>Reimplemented from <a href="qlayoutitem.html#isEmpty">QLayoutItem</a>.
+<h3 class=fn>bool <a name="isEnabled"></a>QLayout::isEnabled () const
+</h3>
+Returns TRUE if the layout is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>().
+
+<h3 class=fn>bool <a name="isTopLevel"></a>QLayout::isTopLevel () const
+</h3>
+
+<p> Returns TRUE if this layout is a top-level layout, i.e. not a
+child of another layout; otherwise returns FALSE.
+
+<h3 class=fn><a href="qlayoutiterator.html">QLayoutIterator</a> <a name="iterator"></a>QLayout::iterator ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return an iterator that iterates over
+this layout's children.
+<p> A typical implementation will be:
+<pre>
+ QLayoutIterator MyLayout::iterator()
+ {
+ <a href="qglayoutiterator.html">QGLayoutIterator</a> *i = new MyLayoutIterator( internal_data );
+ return QLayoutIterator( i );
+ }
+ </pre>
+
+where MyLayoutIterator is a subclass of <a href="qglayoutiterator.html">QGLayoutIterator</a>.
+
+<p>Examples: <a href="customlayout-example.html#x1492">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1512">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1469">customlayout/flow.cpp</a>.
+<p>Reimplemented from <a href="qlayoutitem.html#iterator">QLayoutItem</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="mainWidget"></a>QLayout::mainWidget ()
+</h3>
+Returns the main widget (parent widget) of this layout, or 0 if
+this layout is a sub-layout that is not yet inserted.
+
+<h3 class=fn>int <a name="margin"></a>QLayout::margin () const
+</h3><p>Returns the width of the outside border of the layout.
+See the <a href="qlayout.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QLayout::maximumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the maximum size of this layout. This is the largest size
+that the layout can have while still respecting the
+specifications. Does not include what's needed by <a href="#margin">margin</a>() or
+<a href="#menuBar">menuBar</a>().
+<p> The default implementation allows unlimited resizing.
+
+<p>Reimplemented from <a href="qlayoutitem.html#maximumSize">QLayoutItem</a>.
+<p>Reimplemented in <a href="qgridlayout.html#maximumSize">QGridLayout</a> and <a href="qboxlayout.html#maximumSize">QBoxLayout</a>.
+<h3 class=fn><a href="qmenubar.html">QMenuBar</a>&nbsp;* <a name="menuBar"></a>QLayout::menuBar () const
+</h3>
+
+<p> Returns the menu bar set for this layout, or 0 if no menu bar is
+set.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QLayout::minimumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the minimum size of this layout. This is the smallest size
+that the layout can have while still respecting the
+specifications. Does not include what's needed by <a href="#margin">margin</a>() or
+<a href="#menuBar">menuBar</a>().
+<p> The default implementation allows unlimited resizing.
+
+<p>Examples: <a href="customlayout-example.html#x1493">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1513">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1470">customlayout/flow.cpp</a>.
+<p>Reimplemented from <a href="qlayoutitem.html#minimumSize">QLayoutItem</a>.
+<p>Reimplemented in <a href="qgridlayout.html#minimumSize">QGridLayout</a> and <a href="qboxlayout.html#minimumSize">QBoxLayout</a>.
+<h3 class=fn>void <a name="remove"></a>QLayout::remove ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )
+</h3>
+Removes the widget <em>widget</em> from the layout. After this call, it
+is the caller's responsibility to give the widget a reasonable
+geometry or to put the widget back into a layout.
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="qwidget.html#geometry-prop">QWidget::geometry</a>, and <a href="#add">add</a>().
+
+<h3 class=fn>void <a name="removeItem"></a>QLayout::removeItem ( <a href="qlayoutitem.html">QLayoutItem</a>&nbsp;*&nbsp;item )
+</h3>
+Removes the layout item <em>item</em> from the layout. It is the
+caller's responsibility to delete the item.
+<p> Notice that <em>item</em> can be a layout (since QLayout inherits
+<a href="qlayoutitem.html">QLayoutItem</a>).
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#addItem">addItem</a>().
+
+<h3 class=fn><a href="qlayout.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode"></a>QLayout::resizeMode () const
+</h3><p>Returns the resize mode of the layout.
+See the <a href="qlayout.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="setAutoAdd"></a>QLayout::setAutoAdd ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE, auto-add is enabled; otherwise auto-add is
+disabled.
+<p> <b>Warning:</b> If auto-add is enabled, you cannot set stretch factors
+on the child widgets until the widgets are actually inserted in
+the layout (after control returned to the event loop). We
+therefore recommend that you avoid the auto-add feature in new
+programs.
+<p> <p>See also <a href="#autoAdd">autoAdd</a>().
+
+<p>Examples: <a href="qaxserver-example-hierarchy.html#x2649">hierarchy/objects.cpp</a> and <a href="i18n-example.html#x1938">i18n/main.cpp</a>.
+<h3 class=fn>void <a name="setEnabled"></a>QLayout::setEnabled ( bool&nbsp;enable )
+</h3>
+Enables this layout if <em>enable</em> is TRUE, otherwise disables it.
+<p> An enabled layout adjusts dynamically to changes; a disabled
+layout acts as if it did not exist.
+<p> By default all layouts are enabled.
+<p> <p>See also <a href="#isEnabled">isEnabled</a>().
+
+<h3 class=fn>void <a name="setGeometry"></a>QLayout::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [pure virtual]</tt>
+</h3>
+This function is reimplemented in subclasses to perform layout.
+<p> The default implementation maintains the <a href="qlayoutitem.html#geometry">geometry</a>() information
+given by rect <em>r</em>. Reimplementors must call this function.
+
+<p>Examples: <a href="customlayout-example.html#x1494">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1514">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1471">customlayout/flow.cpp</a>.
+<p>Reimplemented from <a href="qlayoutitem.html#setGeometry">QLayoutItem</a>.
+<p>Reimplemented in <a href="qgridlayout.html#setGeometry">QGridLayout</a> and <a href="qboxlayout.html#setGeometry">QBoxLayout</a>.
+<h3 class=fn>void <a name="setMargin"></a>QLayout::setMargin ( int )<tt> [virtual]</tt>
+</h3><p>Sets the width of the outside border of the layout.
+See the <a href="qlayout.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn>void <a name="setMenuBar"></a>QLayout::setMenuBar ( <a href="qmenubar.html">QMenuBar</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Makes the geometry manager take account of the menu bar <em>w</em>. All
+child widgets are placed below the bottom edge of the menu bar.
+<p> A menu bar does its own geometry management: never do addWidget()
+on a <a href="qmenubar.html">QMenuBar</a>.
+
+<p>Examples: <a href="layout-example.html#x539">layout/layout.cpp</a> and <a href="scrollview-example.html#x631">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="setResizeMode"></a>QLayout::setResizeMode ( <a href="qlayout.html#ResizeMode-enum">ResizeMode</a> )
+</h3><p>Sets the resize mode of the layout.
+See the <a href="qlayout.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="setSpacing"></a>QLayout::setSpacing ( int )<tt> [virtual]</tt>
+</h3><p>Sets the spacing between widgets inside the layout.
+See the <a href="qlayout.html#spacing-prop">"spacing"</a> property for details.
+<h3 class=fn>void <a name="setSupportsMargin"></a>QLayout::setSupportsMargin ( bool&nbsp;b )<tt> [protected]</tt>
+</h3>
+Sets the value returned by <a href="#supportsMargin">supportsMargin</a>(). If <em>b</em> is TRUE,
+<a href="#margin">margin</a>() handling is implemented by the subclass. If <em>b</em> is
+FALSE (the default), QLayout will add margin() around top-level
+layouts.
+<p> If <em>b</em> is TRUE, margin handling needs to be implemented in
+<a href="#setGeometry">setGeometry</a>(), <a href="#maximumSize">maximumSize</a>(), <a href="#minimumSize">minimumSize</a>(), <a href="qlayoutitem.html#sizeHint">sizeHint</a>() and
+<a href="qlayoutitem.html#heightForWidth">heightForWidth</a>().
+<p> <p>See also <a href="#supportsMargin">supportsMargin</a>().
+
+<h3 class=fn>int <a name="spacing"></a>QLayout::spacing () const
+</h3><p>Returns the spacing between widgets inside the layout.
+See the <a href="qlayout.html#spacing-prop">"spacing"</a> property for details.
+<h3 class=fn>bool <a name="supportsMargin"></a>QLayout::supportsMargin () const
+</h3>
+
+<p> Returns TRUE if this layout supports <a href="#margin-prop">QLayout::margin</a> on
+non-top-level layouts; otherwise returns FALSE.
+<p> <p>See also <a href="#margin-prop">margin</a>.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="margin-prop"></a>margin</h3>
+<p>This property holds the width of the outside border of the layout.
+<p>For some layout classes this property has an effect only on
+top-level layouts; <a href="qboxlayout.html">QBoxLayout</a> and <a href="qgridlayout.html">QGridLayout</a> support margins for
+child layouts. The default value is 0.
+<p> <p>See also <a href="#spacing-prop">spacing</a>.
+
+<p>Set this property's value with <a href="#setMargin">setMargin</a>() and get this property's value with <a href="#margin">margin</a>().
+<h3 class=fn><a href="qlayout.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode-prop"></a>resizeMode</h3>
+<p>This property holds the resize mode of the layout.
+<p>The default mode is <a href="#ResizeMode-enum">Auto</a>.
+<p> <p>See also <a href="#ResizeMode-enum">QLayout::ResizeMode</a>.
+
+<p>Set this property's value with <a href="#setResizeMode">setResizeMode</a>() and get this property's value with <a href="#resizeMode">resizeMode</a>().
+<h3 class=fn>int <a name="spacing-prop"></a>spacing</h3>
+<p>This property holds the spacing between widgets inside the layout.
+<p>The default value is -1, which signifies that the layout's spacing
+should not override the widget's spacing.
+<p> <p>See also <a href="#margin-prop">margin</a>.
+
+<p>Set this property's value with <a href="#setSpacing">setSpacing</a>() and get this property's value with <a href="#spacing">spacing</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayoutitem-members.html b/doc/html/qlayoutitem-members.html
new file mode 100644
index 0000000..5295a6e
--- /dev/null
+++ b/doc/html/qlayoutitem-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:102 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayoutItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLayoutItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlayoutitem.html">QLayoutItem</a>, including inherited members.
+
+<ul>
+<li><a href="qlayoutitem.html#QLayoutItem">QLayoutItem</a>()
+<li><a href="qlayoutitem.html#~QLayoutItem">~QLayoutItem</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayoutitem.html#expanding">expanding</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qlayoutitem.html#heightForWidth">heightForWidth</a>()
+<li><a href="qlayoutitem.html#invalidate">invalidate</a>()
+<li><a href="qlayoutitem.html#isEmpty">isEmpty</a>()
+<li><a href="qlayoutitem.html#iterator">iterator</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayoutitem.html#maximumSize">maximumSize</a>()
+<li><a href="qlayoutitem.html#minimumSize">minimumSize</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayoutitem.html#setGeometry">setGeometry</a>()
+<li><a href="qlayoutitem.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayoutitem.html b/doc/html/qlayoutitem.html
new file mode 100644
index 0000000..439ef9a
--- /dev/null
+++ b/doc/html/qlayoutitem.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayoutItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLayoutItem Class Reference</h1>
+
+<p>The QLayoutItem class provides an abstract item that a
+QLayout manipulates.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherited by <a href="qlayout.html">QLayout</a>, <a href="qspaceritem.html">QSpacerItem</a>, and <a href="qwidgetitem.html">QWidgetItem</a>.
+<p><a href="qlayoutitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLayoutItem"><b>QLayoutItem</b></a> ( int&nbsp;alignment = 0 )</li>
+<li class=fn>virtual <a href="#~QLayoutItem"><b>~QLayoutItem</b></a> ()</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const = 0</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const = 0</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const = 0</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) = 0</li>
+<li class=fn>virtual QRect <a href="#geometry"><b>geometry</b></a> () const = 0</li>
+<li class=fn>virtual bool <a href="#isEmpty"><b>isEmpty</b></a> () const = 0</li>
+<li class=fn>virtual bool <a href="#hasHeightForWidth"><b>hasHeightForWidth</b></a> () const</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>virtual void <a href="#invalidate"><b>invalidate</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#widget"><b>widget</b></a> ()</li>
+<li class=fn>virtual QLayoutIterator <a href="#iterator"><b>iterator</b></a> ()</li>
+<li class=fn>virtual QLayout * <a href="#layout"><b>layout</b></a> ()</li>
+<li class=fn>virtual QSpacerItem * <a href="#spacerItem"><b>spacerItem</b></a> ()</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int&nbsp;a )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QLayoutItem class provides an abstract item that a
+<a href="qlayout.html">QLayout</a> manipulates.
+<p> This is used by custom layouts.
+<p> Pure virtual functions are provided to return information about
+the layout, including, <a href="#sizeHint">sizeHint</a>(), <a href="#minimumSize">minimumSize</a>(), <a href="#maximumSize">maximumSize</a>()
+and <a href="#expanding">expanding</a>().
+<p> The layout's geometry can be set and retrieved with <a href="#setGeometry">setGeometry</a>()
+and <a href="#geometry">geometry</a>(), and its alignment with <a href="#setAlignment">setAlignment</a>() and
+<a href="#alignment">alignment</a>().
+<p> <a href="#isEmpty">isEmpty</a>() returns whether the layout is empty. <a href="#iterator">iterator</a>() returns
+an iterator for the layout's children. If the concrete item is a
+<a href="qwidget.html">QWidget</a>, it can be retrieved using <a href="#widget">widget</a>(). Similarly for
+<a href="#layout">layout</a>() and <a href="#spacerItem">spacerItem</a>().
+<p> <p>See also <a href="qlayout.html">QLayout</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLayoutItem"></a>QLayoutItem::QLayoutItem ( int&nbsp;alignment = 0 )
+</h3>
+
+<p> Constructs a layout item with an <em>alignment</em> that is a bitwise OR
+of the <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>. Not all subclasses support
+alignment.
+
+<h3 class=fn><a name="~QLayoutItem"></a>QLayoutItem::~QLayoutItem ()<tt> [virtual]</tt>
+</h3>
+Destroys the QLayoutItem.
+
+<h3 class=fn>int <a name="alignment"></a>QLayoutItem::alignment () const
+</h3>
+
+<p> Returns the alignment of this item.
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QLayoutItem::expanding () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return the direction(s) this item
+"wants" to expand in (if any).
+
+<p>Reimplemented in <a href="qlayout.html#expanding">QLayout</a>, <a href="qspaceritem.html#expanding">QSpacerItem</a>, and <a href="qwidgetitem.html#expanding">QWidgetItem</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="geometry"></a>QLayoutItem::geometry () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the rectangle covered by this layout item.
+
+<p>Example: <a href="customlayout-example.html#x1495">customlayout/border.cpp</a>.
+<h3 class=fn>bool <a name="hasHeightForWidth"></a>QLayoutItem::hasHeightForWidth () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if this layout's preferred height depends on its
+width; otherwise returns FALSE. The default implementation returns
+FALSE.
+<p> Reimplement this function in layout managers that support height
+for width.
+<p> <p>See also <a href="#heightForWidth">heightForWidth</a>() and <a href="qwidget.html#heightForWidth">QWidget::heightForWidth</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1496">customlayout/border.cpp</a> and <a href="customlayout-example.html#x1472">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qgridlayout.html#hasHeightForWidth">QGridLayout</a> and <a href="qboxlayout.html#hasHeightForWidth">QBoxLayout</a>.
+<h3 class=fn>int <a name="heightForWidth"></a>QLayoutItem::heightForWidth ( int&nbsp;w ) const<tt> [virtual]</tt>
+</h3>
+Returns the preferred height for this layout item, given the width
+<em>w</em>.
+<p> The default implementation returns -1, indicating that the
+preferred height is independent of the width of the item. Using
+the function <a href="#hasHeightForWidth">hasHeightForWidth</a>() will typically be much faster
+than calling this function and testing for -1.
+<p> Reimplement this function in layout managers that support height
+for width. A typical implementation will look like this:
+<pre>
+ int MyLayout::heightForWidth( int w ) const
+ {
+ if ( cache_dirty || cached_width != w ) {
+ // not all C++ compilers support "mutable"
+ MyLayout *that = (MyLayout*)this;
+ int h = calculateHeightForWidth( w );
+ that-&gt;cached_hfw = h;
+ return h;
+ }
+ return cached_hfw;
+ }
+ </pre>
+
+<p> Caching is strongly recommended; without it layout will take
+exponential time.
+<p> <p>See also <a href="#hasHeightForWidth">hasHeightForWidth</a>().
+
+<p>Example: <a href="customlayout-example.html#x1473">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qgridlayout.html#heightForWidth">QGridLayout</a> and <a href="qboxlayout.html#heightForWidth">QBoxLayout</a>.
+<h3 class=fn>void <a name="invalidate"></a>QLayoutItem::invalidate ()<tt> [virtual]</tt>
+</h3>
+Invalidates any cached information in this layout item.
+
+<p>Reimplemented in <a href="qlayout.html#invalidate">QLayout</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QLayoutItem::isEmpty () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return whether this item is empty,
+i.e. whether it contains any widgets.
+
+<p>Reimplemented in <a href="qlayout.html#isEmpty">QLayout</a>, <a href="qspaceritem.html#isEmpty">QSpacerItem</a>, and <a href="qwidgetitem.html#isEmpty">QWidgetItem</a>.
+<h3 class=fn><a href="qlayoutiterator.html">QLayoutIterator</a> <a name="iterator"></a>QLayoutItem::iterator ()<tt> [virtual]</tt>
+</h3>
+Returns an iterator over this item's QLayoutItem children. The
+default implementation returns an empty iterator.
+<p> Reimplement this function in subclasses that can have children.
+
+<p>Reimplemented in <a href="qlayout.html#iterator">QLayout</a>.
+<h3 class=fn><a href="qlayout.html">QLayout</a>&nbsp;* <a name="layout"></a>QLayoutItem::layout ()<tt> [virtual]</tt>
+</h3>
+If this item is a <a href="qlayout.html">QLayout</a>, it is returned as a QLayout; otherwise
+0 is returned. This function provides type-safe casting.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QLayoutItem::maximumSize () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return the maximum size of this item.
+
+<p>Reimplemented in <a href="qlayout.html#maximumSize">QLayout</a>, <a href="qspaceritem.html#maximumSize">QSpacerItem</a>, and <a href="qwidgetitem.html#maximumSize">QWidgetItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QLayoutItem::minimumSize () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return the minimum size of this item.
+
+<p>Examples: <a href="customlayout-example.html#x1497">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1515">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1474">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qlayout.html#minimumSize">QLayout</a>, <a href="qspaceritem.html#minimumSize">QSpacerItem</a>, and <a href="qwidgetitem.html#minimumSize">QWidgetItem</a>.
+<h3 class=fn>void <a name="setAlignment"></a>QLayoutItem::setAlignment ( int&nbsp;a )<tt> [virtual]</tt>
+</h3>
+Sets the alignment of this item to <em>a</em>, which is a bitwise OR of
+the <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>. Not all subclasses support alignment.
+
+<p>Example: <a href="tutorial2-09.html#x2644">chart/optionsform.cpp</a>.
+<h3 class=fn>void <a name="setGeometry"></a>QLayoutItem::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to set this item's geometry to <em>r</em>.
+
+<p>Examples: <a href="customlayout-example.html#x1498">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1516">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1475">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qlayout.html#setGeometry">QLayout</a>, <a href="qspaceritem.html#setGeometry">QSpacerItem</a>, and <a href="qwidgetitem.html#setGeometry">QWidgetItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QLayoutItem::sizeHint () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to return the preferred size of this item.
+
+<p>Examples: <a href="customlayout-example.html#x1499">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1517">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1476">customlayout/flow.cpp</a>.
+<p>Reimplemented in <a href="qspaceritem.html#sizeHint">QSpacerItem</a>, <a href="qwidgetitem.html#sizeHint">QWidgetItem</a>, <a href="qgridlayout.html#sizeHint">QGridLayout</a>, and <a href="qboxlayout.html#sizeHint">QBoxLayout</a>.
+<h3 class=fn><a href="qspaceritem.html">QSpacerItem</a>&nbsp;* <a name="spacerItem"></a>QLayoutItem::spacerItem ()<tt> [virtual]</tt>
+</h3>
+If this item is a <a href="qspaceritem.html">QSpacerItem</a>, it is returned as a QSpacerItem;
+otherwise 0 is returned. This function provides type-safe casting.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QLayoutItem::widget ()<tt> [virtual]</tt>
+</h3>
+If this item is a <a href="qwidget.html">QWidget</a>, it is returned as a QWidget; otherwise
+0 is returned. This function provides type-safe casting.
+
+<p>Reimplemented in <a href="qwidgetitem.html#widget">QWidgetItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayoutiterator-members.html b/doc/html/qlayoutiterator-members.html
new file mode 100644
index 0000000..b57a4fd
--- /dev/null
+++ b/doc/html/qlayoutiterator-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayoutIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLayoutIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlayoutiterator.html">QLayoutIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qlayoutiterator.html#QLayoutIterator">QLayoutIterator</a>()
+<li><a href="qlayoutiterator.html#~QLayoutIterator">~QLayoutIterator</a>()
+<li><a href="qlayoutiterator.html#current">current</a>()
+<li><a href="qlayoutiterator.html#deleteCurrent">deleteCurrent</a>()
+<li><a href="qlayoutiterator.html#operator++">operator++</a>()
+<li><a href="qlayoutiterator.html#operator-eq">operator=</a>()
+<li><a href="qlayoutiterator.html#takeCurrent">takeCurrent</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlayoutiterator.html b/doc/html/qlayoutiterator.html
new file mode 100644
index 0000000..18fd1ac
--- /dev/null
+++ b/doc/html/qlayoutiterator.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:1569 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLayoutIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLayoutIterator Class Reference</h1>
+
+<p>The QLayoutIterator class provides iterators over QLayoutItem.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p><a href="qlayoutiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLayoutIterator"><b>QLayoutIterator</b></a> ( QGLayoutIterator&nbsp;*&nbsp;gi )</li>
+<li class=fn><a href="#QLayoutIterator-2"><b>QLayoutIterator</b></a> ( const&nbsp;QLayoutIterator&nbsp;&amp;&nbsp;i )</li>
+<li class=fn><a href="#~QLayoutIterator"><b>~QLayoutIterator</b></a> ()</li>
+<li class=fn>QLayoutIterator &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QLayoutIterator&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QLayoutItem * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>QLayoutItem * <a href="#current"><b>current</b></a> ()</li>
+<li class=fn>QLayoutItem * <a href="#takeCurrent"><b>takeCurrent</b></a> ()</li>
+<li class=fn>void <a href="#deleteCurrent"><b>deleteCurrent</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLayoutIterator class provides iterators over <a href="qlayoutitem.html">QLayoutItem</a>.
+<p>
+
+<p> Use <a href="qlayoutitem.html#iterator">QLayoutItem::iterator</a>() to create an iterator over a layout.
+<p> QLayoutIterator uses <em>explicit</em> sharing with a reference count.
+If an iterator is copied and one of the copies is modified, both
+iterators will be modified.
+<p> A QLayoutIterator is not protected against changes in its layout. If
+the layout is modified or deleted the iterator will become invalid.
+It is not possible to test for validity. It is safe to delete an
+invalid layout; any other access may lead to an illegal memory
+reference and the abnormal termination of the program.
+<p> Calling <a href="#takeCurrent">takeCurrent</a>() or <a href="#deleteCurrent">deleteCurrent</a>() leaves the iterator in a
+valid state, but may invalidate any other iterators that access the
+same layout.
+<p> The following code will draw a rectangle for each layout item in
+the layout structure of the widget.
+<pre>
+ static void paintLayout( <a href="qpainter.html">QPainter</a> *p, QLayoutItem *lay )
+ {
+ QLayoutIterator it = lay-&gt;iterator();
+ <a href="qlayoutitem.html">QLayoutItem</a> *child;
+ while ( (child = it.<a href="#current">current</a>()) != 0 ) {
+ paintLayout( p, child );
+ ++it;
+ }
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( lay-&gt;geometry() );
+ }
+ void ExampleWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p( this );
+ if ( layout() )
+ paintLayout( &amp;p, layout() );
+ }
+ </pre>
+
+<p> All the functionality of QLayoutIterator is implemented by
+subclasses of <a href="qglayoutiterator.html">QGLayoutIterator</a>. QLayoutIterator itself is not
+designed to be subclassed.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a> and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLayoutIterator"></a>QLayoutIterator::QLayoutIterator ( <a href="qglayoutiterator.html">QGLayoutIterator</a>&nbsp;*&nbsp;gi )
+</h3>
+
+<p> Constructs an iterator based on <em>gi</em>. The constructed iterator
+takes ownership of <em>gi</em> and will delete it.
+<p> This constructor is provided for layout implementors. Application
+programmers should use <a href="qlayoutitem.html#iterator">QLayoutItem::iterator</a>() to create an
+iterator over a layout.
+
+<h3 class=fn><a name="QLayoutIterator-2"></a>QLayoutIterator::QLayoutIterator ( const&nbsp;<a href="qlayoutiterator.html">QLayoutIterator</a>&nbsp;&amp;&nbsp;i )
+</h3>
+
+<p> Creates a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>i</em>, i.e. if the copy is modified, then
+the original will also be modified.
+
+<h3 class=fn><a name="~QLayoutIterator"></a>QLayoutIterator::~QLayoutIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="current"></a>QLayoutIterator::current ()
+</h3>
+
+<p> Returns the current item, or 0 if there is no current item.
+
+<h3 class=fn>void <a name="deleteCurrent"></a>QLayoutIterator::deleteCurrent ()
+</h3>
+
+<p> Removes and deletes the current child item from the layout and
+moves the iterator to the next item. This iterator will still be
+valid, but any other iterator over the same layout may become
+invalid.
+
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="operator++"></a>QLayoutIterator::operator++ ()
+</h3>
+
+<p> Moves the iterator to the next child item and returns that item,
+or 0 if there is no such item.
+
+<h3 class=fn><a href="qlayoutiterator.html">QLayoutIterator</a>&nbsp;&amp; <a name="operator-eq"></a>QLayoutIterator::operator= ( const&nbsp;<a href="qlayoutiterator.html">QLayoutIterator</a>&nbsp;&amp;&nbsp;i )
+</h3>
+
+<p> Assigns <em>i</em> to this iterator and returns a reference to this
+iterator.
+
+<h3 class=fn><a href="qlayoutitem.html">QLayoutItem</a>&nbsp;* <a name="takeCurrent"></a>QLayoutIterator::takeCurrent ()
+</h3>
+
+<p> Removes the current child item from the layout without deleting
+it, and moves the iterator to the next item. Returns the removed
+item, or 0 if there was no item to be removed. This iterator will
+still be valid, but any other iterator over the same layout may
+become invalid.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlcdnum-m.png b/doc/html/qlcdnum-m.png
new file mode 100644
index 0000000..cc9a5ab
--- /dev/null
+++ b/doc/html/qlcdnum-m.png
Binary files differ
diff --git a/doc/html/qlcdnum-w.png b/doc/html/qlcdnum-w.png
new file mode 100644
index 0000000..06fb509
--- /dev/null
+++ b/doc/html/qlcdnum-w.png
Binary files differ
diff --git a/doc/html/qlcdnumber-h.html b/doc/html/qlcdnumber-h.html
new file mode 100644
index 0000000..51073a1
--- /dev/null
+++ b/doc/html/qlcdnumber-h.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlcdnumber.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlcdnumber.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlcdnumber.h</h1>
+
+<p>This is the verbatim text of the qlcdnumber.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlcdnumber.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QLCDNumber class
+**
+** Created : 940518
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLCDNUMBER_H
+#define QLCDNUMBER_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qbitarray.h"
+#endif // QT_H
+
+#ifndef QT_NO_LCDNUMBER
+
+
+class QLCDNumberPrivate;
+
+class Q_EXPORT QLCDNumber : public QFrame // LCD number widget
+{
+ Q_OBJECT
+ Q_ENUMS( Mode SegmentStyle )
+ Q_PROPERTY( bool smallDecimalPoint READ smallDecimalPoint WRITE setSmallDecimalPoint )
+ Q_PROPERTY( int numDigits READ numDigits WRITE setNumDigits )
+ Q_PROPERTY( Mode mode READ mode WRITE setMode )
+ Q_PROPERTY( SegmentStyle segmentStyle READ segmentStyle WRITE setSegmentStyle )
+ Q_PROPERTY( double value READ value WRITE display )
+ Q_PROPERTY( int intValue READ intValue WRITE display )
+
+public:
+ QLCDNumber( QWidget* parent=0, const char* name=0 );
+ QLCDNumber( uint numDigits, QWidget* parent=0, const char* name=0 );
+ ~QLCDNumber();
+
+ enum Mode { Hex, Dec, Oct, Bin, HEX = Hex, DEC = Dec, OCT = Oct,
+ BIN = Bin };
+ enum SegmentStyle { Outline, Filled, Flat };
+
+ bool smallDecimalPoint() const;
+
+ int numDigits() const;
+ virtual void setNumDigits( int nDigits );
+
+ bool checkOverflow( double num ) const;
+ bool checkOverflow( int num ) const;
+
+ Mode mode() const;
+ virtual void setMode( Mode );
+
+ SegmentStyle segmentStyle() const;
+ virtual void setSegmentStyle( SegmentStyle );
+
+ double value() const;
+ int intValue() const;
+
+ QSize sizeHint() const;
+
+public slots:
+ void display( const QString &amp;str );
+ void display( int num );
+ void display( double num );
+ virtual void setHexMode();
+ virtual void setDecMode();
+ virtual void setOctMode();
+ virtual void setBinMode();
+ virtual void setSmallDecimalPoint( bool );
+
+signals:
+ void overflow();
+
+protected:
+ void drawContents( QPainter * );
+
+private:
+ void init();
+ void internalDisplay( const QString &amp;);
+ void internalSetString( const QString&amp; s );
+ void drawString( const QString&amp; s, QPainter &amp;, QBitArray * = 0,
+ bool = TRUE );
+ //void drawString( const QString &amp;, QPainter &amp;, QBitArray * = 0 ) const;
+ void drawDigit( const QPoint &amp;, QPainter &amp;, int, char,
+ char = ' ' );
+ void drawSegment( const QPoint &amp;, char, QPainter &amp;, int, bool = FALSE );
+
+ int ndigits;
+ double val;
+ uint base : 2;
+ uint smallPoint : 1;
+ uint fill : 1;
+ uint shadow : 1;
+ QString digitStr;
+ QBitArray points;
+ QLCDNumberPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QLCDNumber( const QLCDNumber &amp; );
+ QLCDNumber &amp;operator=( const QLCDNumber &amp; );
+#endif
+};
+
+inline bool QLCDNumber::smallDecimalPoint() const
+{ return (bool)smallPoint; }
+
+inline int QLCDNumber::numDigits() const
+{ return ndigits; }
+
+
+#endif // QT_NO_LCDNUMBER
+
+#endif // QLCDNUMBER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlcdnumber-members.html b/doc/html/qlcdnumber-members.html
new file mode 100644
index 0000000..08e26c1
--- /dev/null
+++ b/doc/html/qlcdnumber-members.html
@@ -0,0 +1,374 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlcdnumber.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLCDNumber Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLCDNumber</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlcdnumber.html">QLCDNumber</a>, including inherited members.
+
+<ul>
+<li><a href="qlcdnumber.html#QLCDNumber">QLCDNumber</a>()
+<li><a href="qlcdnumber.html#~QLCDNumber">~QLCDNumber</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qlcdnumber.html#checkOverflow">checkOverflow</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qlcdnumber.html#display">display</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qlcdnumber.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qlcdnumber.html#intValue">intValue</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qlcdnumber.html#mode">mode</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qlcdnumber.html#numDigits">numDigits</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qlcdnumber.html#overflow">overflow</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qlcdnumber.html#segmentStyle">segmentStyle</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qlcdnumber.html#setBinMode">setBinMode</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qlcdnumber.html#setDecMode">setDecMode</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qlcdnumber.html#setHexMode">setHexMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qlcdnumber.html#setMode">setMode</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qlcdnumber.html#setNumDigits">setNumDigits</a>()
+<li><a href="qlcdnumber.html#setOctMode">setOctMode</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlcdnumber.html#setSegmentStyle">setSegmentStyle</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qlcdnumber.html#setSmallDecimalPoint">setSmallDecimalPoint</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qlcdnumber.html#smallDecimalPoint">smallDecimalPoint</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qlcdnumber.html#value">value</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlcdnumber.html b/doc/html/qlcdnumber.html
new file mode 100644
index 0000000..fe770f7
--- /dev/null
+++ b/doc/html/qlcdnumber.html
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlcdnumber.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLCDNumber Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLCDNumber Class Reference</h1>
+
+<p>The QLCDNumber widget displays a number with LCD-like digits.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qlcdnumber-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLCDNumber"><b>QLCDNumber</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QLCDNumber-2"><b>QLCDNumber</b></a> ( uint&nbsp;numDigits, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QLCDNumber"><b>~QLCDNumber</b></a> ()</li>
+<li class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { Hex, Dec, Oct, Bin, HEX = Hex, DEC = Dec, OCT = Oct, BIN = Bin }</li>
+<li class=fn>enum <a href="#SegmentStyle-enum"><b>SegmentStyle</b></a> { Outline, Filled, Flat }</li>
+<li class=fn>bool <a href="#smallDecimalPoint"><b>smallDecimalPoint</b></a> () const</li>
+<li class=fn>int <a href="#numDigits"><b>numDigits</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNumDigits"><b>setNumDigits</b></a> ( int&nbsp;nDigits )</li>
+<li class=fn>bool <a href="#checkOverflow"><b>checkOverflow</b></a> ( double&nbsp;num ) const</li>
+<li class=fn>bool <a href="#checkOverflow-2"><b>checkOverflow</b></a> ( int&nbsp;num ) const</li>
+<li class=fn>Mode <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMode"><b>setMode</b></a> ( Mode )</li>
+<li class=fn>SegmentStyle <a href="#segmentStyle"><b>segmentStyle</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSegmentStyle"><b>setSegmentStyle</b></a> ( SegmentStyle )</li>
+<li class=fn>double <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>int <a href="#intValue"><b>intValue</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#display"><b>display</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>void <a href="#display-2"><b>display</b></a> ( int&nbsp;num )</li>
+<li class=fn>void <a href="#display-3"><b>display</b></a> ( double&nbsp;num )</li>
+<li class=fn>virtual void <a href="#setHexMode"><b>setHexMode</b></a> ()</li>
+<li class=fn>virtual void <a href="#setDecMode"><b>setDecMode</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOctMode"><b>setOctMode</b></a> ()</li>
+<li class=fn>virtual void <a href="#setBinMode"><b>setBinMode</b></a> ()</li>
+<li class=fn>virtual void <a href="#setSmallDecimalPoint"><b>setSmallDecimalPoint</b></a> ( bool )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#overflow"><b>overflow</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#intValue-prop"><b>intValue</b></a>&nbsp;- the displayed value rounded to the nearest integer</li>
+<li class=fn>Mode <a href="#mode-prop"><b>mode</b></a>&nbsp;- the current display mode (number base)</li>
+<li class=fn>int <a href="#numDigits-prop"><b>numDigits</b></a>&nbsp;- the current number of digits displayed</li>
+<li class=fn>SegmentStyle <a href="#segmentStyle-prop"><b>segmentStyle</b></a>&nbsp;- the style of the LCDNumber</li>
+<li class=fn>bool <a href="#smallDecimalPoint-prop"><b>smallDecimalPoint</b></a>&nbsp;- the style of the decimal point</li>
+<li class=fn>double <a href="#value-prop"><b>value</b></a>&nbsp;- the displayed value</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QLCDNumber widget displays a number with LCD-like digits.
+<p>
+
+<p> It can display a number in just about any size. It can display
+decimal, hexadecimal, octal or binary numbers. It is easy to
+connect to data sources using the <a href="#display">display</a>() slot, which is
+overloaded to take any of five argument types.
+<p> There are also slots to change the base with <a href="#setMode">setMode</a>() and the
+decimal point with <a href="#setSmallDecimalPoint">setSmallDecimalPoint</a>().
+<p> QLCDNumber emits the <a href="#overflow">overflow</a>() signal when it is asked to display
+something beyond its range. The range is set by <a href="#setNumDigits">setNumDigits</a>(),
+but setSmallDecimalPoint() also influences it. If the display is
+set to hexadecimal, octal or binary, the integer equivalent of the
+value is displayed.
+<p> These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S,
+6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o,
+P, r, u, U, Y, colon, degree sign (which is specified as single
+quote in the string) and space. QLCDNumber substitutes spaces for
+illegal characters.
+<p> It is not possible to retrieve the contents of a QLCDNumber
+object, although you can retrieve the numeric value with <a href="#value">value</a>().
+If you really need the text, we recommend that you connect the
+signals that feed the <a href="#display">display</a>() slot to another slot as well and
+store the value there.
+<p> Incidentally, QLCDNumber is the very oldest part of Qt, tracing
+back to a BASIC program on the <a href="http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspectrum.htm">Sinclair Spectrum</a>.
+<p> <img src=qlcdnum-m.png> <img src=qlcdnum-w.png>
+<p> <p>See also <a href="qlabel.html">QLabel</a>, <a href="qframe.html">QFrame</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Mode-enum"></a>QLCDNumber::Mode</h3>
+
+<p> This type determines how numbers are shown.
+<ul>
+<li><tt>QLCDNumber::Hex</tt> - Hexadecimal
+<li><tt>QLCDNumber::Dec</tt> - Decimal
+<li><tt>QLCDNumber::Oct</tt> - Octal
+<li><tt>QLCDNumber::Bin</tt> - Binary
+</ul><p> If the display is set to hexadecimal, octal or binary, the integer
+equivalent of the value is displayed.
+
+<h3 class=fn><a name="SegmentStyle-enum"></a>QLCDNumber::SegmentStyle</h3>
+
+<p> This type determines the visual appearance of the QLCDNumber
+widget.
+<ul>
+<li><tt>QLCDNumber::Outline</tt> - gives raised segments filled with the background brush.
+<li><tt>QLCDNumber::Filled</tt> - gives raised segments filled with the foreground brush.
+<li><tt>QLCDNumber::Flat</tt> - gives flat segments filled with the foreground brush.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLCDNumber"></a>QLCDNumber::QLCDNumber ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an LCD number, sets the number of digits to 5, the base
+to decimal, the decimal point mode to 'small' and the frame style
+to a raised box. The <a href="#segmentStyle">segmentStyle</a>() is set to <a href="#SegmentStyle-enum">Outline</a>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qframe.html">QFrame</a>
+constructor.
+<p> <p>See also <a href="#numDigits-prop">numDigits</a> and <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>.
+
+<h3 class=fn><a name="QLCDNumber-2"></a>QLCDNumber::QLCDNumber ( uint&nbsp;numDigits, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an LCD number, sets the number of digits to <em>numDigits</em>, the base to decimal, the decimal point mode to 'small'
+and the frame style to a raised box. The <a href="#segmentStyle">segmentStyle</a>() is set to
+<a href="#SegmentStyle-enum">Outline</a>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qframe.html">QFrame</a>
+constructor.
+<p> <p>See also <a href="#numDigits-prop">numDigits</a> and <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>.
+
+<h3 class=fn><a name="~QLCDNumber"></a>QLCDNumber::~QLCDNumber ()
+</h3>
+Destroys the LCD number.
+
+<h3 class=fn>bool <a name="checkOverflow"></a>QLCDNumber::checkOverflow ( double&nbsp;num ) const
+</h3>
+Returns TRUE if <em>num</em> is too big to be displayed in its entirety;
+otherwise returns FALSE.
+<p> <p>See also <a href="#display">display</a>(), <a href="#numDigits-prop">numDigits</a>, and <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>.
+
+<h3 class=fn>bool <a name="checkOverflow-2"></a>QLCDNumber::checkOverflow ( int&nbsp;num ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if <em>num</em> is too big to be displayed in its entirety;
+otherwise returns FALSE.
+<p> <p>See also <a href="#display">display</a>(), <a href="#numDigits-prop">numDigits</a>, and <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>.
+
+<h3 class=fn>void <a name="display"></a>QLCDNumber::display ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [slot]</tt>
+</h3>
+Displays the number represented by the string <em>s</em>.
+<p> This version of the function disregards <a href="#mode">mode</a>() and
+<a href="#smallDecimalPoint">smallDecimalPoint</a>().
+<p> These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S,
+6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o,
+P, r, u, U, Y, colon, degree sign (which is specified as single
+quote in the string) and space. QLCDNumber substitutes spaces for
+illegal characters.
+
+<p>Examples: <a href="rangecontrols-example.html#x1384">rangecontrols/rangecontrols.cpp</a>, <a href="tutorial1-12.html#x2386">t12/lcdrange.cpp</a>, <a href="tutorial1-13.html#x2414">t13/gamebrd.cpp</a>, <a href="tutorial1-05.html#x2314">t5/main.cpp</a>, <a href="tutorial1-06.html#x2324">t6/main.cpp</a>, <a href="tutorial1-07.html#x2330">t7/lcdrange.cpp</a>, and <a href="xform-example.html#x1229">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="display-2"></a>QLCDNumber::display ( int&nbsp;num )<tt> [slot]</tt>
+</h3><p>Sets the displayed value rounded to the nearest integer to <em>num</em>.
+See the <a href="qlcdnumber.html#intValue-prop">"intValue"</a> property for details.
+<h3 class=fn>void <a name="display-3"></a>QLCDNumber::display ( double&nbsp;num )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Displays the number <em>num</em>.
+
+<h3 class=fn>void <a name="drawContents"></a>QLCDNumber::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws the LCD number using painter <em>p</em>. This function is called
+from <a href="qframe.html#paintEvent">QFrame::paintEvent</a>().
+
+<p>Reimplemented from <a href="qframe.html#drawContents">QFrame</a>.
+<h3 class=fn>int <a name="intValue"></a>QLCDNumber::intValue () const
+</h3><p>Returns the displayed value rounded to the nearest integer.
+See the <a href="qlcdnumber.html#intValue-prop">"intValue"</a> property for details.
+<h3 class=fn><a href="qlcdnumber.html#Mode-enum">Mode</a> <a name="mode"></a>QLCDNumber::mode () const
+</h3><p>Returns the current display mode (number base).
+See the <a href="qlcdnumber.html#mode-prop">"mode"</a> property for details.
+<h3 class=fn>int <a name="numDigits"></a>QLCDNumber::numDigits () const
+</h3><p>Returns the current number of digits displayed.
+See the <a href="qlcdnumber.html#numDigits-prop">"numDigits"</a> property for details.
+<h3 class=fn>void <a name="overflow"></a>QLCDNumber::overflow ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the QLCDNumber is asked to display
+a too-large number or a too-long string.
+<p> It is never emitted by <a href="#setNumDigits">setNumDigits</a>().
+
+<h3 class=fn><a href="qlcdnumber.html#SegmentStyle-enum">SegmentStyle</a> <a name="segmentStyle"></a>QLCDNumber::segmentStyle () const
+</h3><p>Returns the style of the LCDNumber.
+See the <a href="qlcdnumber.html#segmentStyle-prop">"segmentStyle"</a> property for details.
+<h3 class=fn>void <a name="setBinMode"></a>QLCDNumber::setBinMode ()<tt> [virtual slot]</tt>
+</h3>
+Calls <a href="#setMode">setMode</a>( BIN ). Provided for convenience (e.g. for
+connecting buttons to it).
+<p> <p>See also <a href="#mode-prop">mode</a>, <a href="#setHexMode">setHexMode</a>(), <a href="#setDecMode">setDecMode</a>(), <a href="#setOctMode">setOctMode</a>(), and <a href="#mode-prop">mode</a>.
+
+<h3 class=fn>void <a name="setDecMode"></a>QLCDNumber::setDecMode ()<tt> [virtual slot]</tt>
+</h3>
+Calls <a href="#setMode">setMode</a>( DEC ). Provided for convenience (e.g. for
+connecting buttons to it).
+<p> <p>See also <a href="#mode-prop">mode</a>, <a href="#setHexMode">setHexMode</a>(), <a href="#setOctMode">setOctMode</a>(), <a href="#setBinMode">setBinMode</a>(), and <a href="#mode-prop">mode</a>.
+
+<h3 class=fn>void <a name="setHexMode"></a>QLCDNumber::setHexMode ()<tt> [virtual slot]</tt>
+</h3>
+Calls <a href="#setMode">setMode</a>( HEX ). Provided for convenience (e.g. for
+connecting buttons to it).
+<p> <p>See also <a href="#mode-prop">mode</a>, <a href="#setDecMode">setDecMode</a>(), <a href="#setOctMode">setOctMode</a>(), <a href="#setBinMode">setBinMode</a>(), and <a href="#mode-prop">mode</a>.
+
+<h3 class=fn>void <a name="setMode"></a>QLCDNumber::setMode ( <a href="qlcdnumber.html#Mode-enum">Mode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the current display mode (number base).
+See the <a href="qlcdnumber.html#mode-prop">"mode"</a> property for details.
+<h3 class=fn>void <a name="setNumDigits"></a>QLCDNumber::setNumDigits ( int&nbsp;nDigits )<tt> [virtual]</tt>
+</h3><p>Sets the current number of digits displayed to <em>nDigits</em>.
+See the <a href="qlcdnumber.html#numDigits-prop">"numDigits"</a> property for details.
+<h3 class=fn>void <a name="setOctMode"></a>QLCDNumber::setOctMode ()<tt> [virtual slot]</tt>
+</h3>
+Calls <a href="#setMode">setMode</a>( OCT ). Provided for convenience (e.g. for
+connecting buttons to it).
+<p> <p>See also <a href="#mode-prop">mode</a>, <a href="#setHexMode">setHexMode</a>(), <a href="#setDecMode">setDecMode</a>(), <a href="#setBinMode">setBinMode</a>(), and <a href="#mode-prop">mode</a>.
+
+<h3 class=fn>void <a name="setSegmentStyle"></a>QLCDNumber::setSegmentStyle ( <a href="qlcdnumber.html#SegmentStyle-enum">SegmentStyle</a> )<tt> [virtual]</tt>
+</h3><p>Sets the style of the LCDNumber.
+See the <a href="qlcdnumber.html#segmentStyle-prop">"segmentStyle"</a> property for details.
+<h3 class=fn>void <a name="setSmallDecimalPoint"></a>QLCDNumber::setSmallDecimalPoint ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets the style of the decimal point.
+See the <a href="qlcdnumber.html#smallDecimalPoint-prop">"smallDecimalPoint"</a> property for details.
+<h3 class=fn>bool <a name="smallDecimalPoint"></a>QLCDNumber::smallDecimalPoint () const
+</h3><p>Returns the style of the decimal point.
+See the <a href="qlcdnumber.html#smallDecimalPoint-prop">"smallDecimalPoint"</a> property for details.
+<h3 class=fn>double <a name="value"></a>QLCDNumber::value () const
+</h3><p>Returns the displayed value.
+See the <a href="qlcdnumber.html#value-prop">"value"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="intValue-prop"></a>intValue</h3>
+<p>This property holds the displayed value rounded to the nearest integer.
+<p>This property corresponds to the nearest integer to the current
+value displayed by the LCDNumber. This is the value used for
+hexadecimal, octal and binary modes.
+<p> If the displayed value is not a number, the property has a value
+of 0.
+
+<p>Set this property's value with <a href="#display">display</a>() and get this property's value with <a href="#intValue">intValue</a>().
+<h3 class=fn><a href="qlcdnumber.html#Mode-enum">Mode</a> <a name="mode-prop"></a>mode</h3>
+<p>This property holds the current display mode (number base).
+<p>Corresponds to the current display mode, which is one of <a href="#Mode-enum">BIN</a>,
+<a href="#Mode-enum">OCT</a>, <a href="#Mode-enum">DEC</a> (the default) and <a href="#Mode-enum">HEX</a>. <a href="#Mode-enum">DEC</a> mode can display
+floating point values, the other modes display the integer
+equivalent.
+<p> <p>See also <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>, <a href="#setHexMode">setHexMode</a>(), <a href="#setDecMode">setDecMode</a>(), <a href="#setOctMode">setOctMode</a>(), and <a href="#setBinMode">setBinMode</a>().
+
+<p>Set this property's value with <a href="#setMode">setMode</a>() and get this property's value with <a href="#mode">mode</a>().
+<h3 class=fn>int <a name="numDigits-prop"></a>numDigits</h3>
+<p>This property holds the current number of digits displayed.
+<p>Corresponds to the current number of digits. If <a href="#smallDecimalPoint-prop">QLCDNumber::smallDecimalPoint</a> is FALSE, the decimal point occupies
+one digit position.
+<p> <p>See also <a href="#smallDecimalPoint-prop">smallDecimalPoint</a>.
+
+<p>Set this property's value with <a href="#setNumDigits">setNumDigits</a>() and get this property's value with <a href="#numDigits">numDigits</a>().
+<h3 class=fn><a href="qlcdnumber.html#SegmentStyle-enum">SegmentStyle</a> <a name="segmentStyle-prop"></a>segmentStyle</h3>
+<p>This property holds the style of the LCDNumber.
+<p><center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Style <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SegmentStyle-enum">Outline</a>
+<td valign="top">Produces raised segments filled with the background color
+(this is the default).
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SegmentStyle-enum">Filled</a>
+<td valign="top">Produces raised segments filled with the foreground color.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SegmentStyle-enum">Flat</a>
+<td valign="top">Produces flat segments filled with the foreground color.
+</table></center>
+<p> <a href="#SegmentStyle-enum">Outline</a> and <a href="#SegmentStyle-enum">Filled</a> will additionally use
+<a href="qcolorgroup.html#light">QColorGroup::light</a>() and <a href="qcolorgroup.html#dark">QColorGroup::dark</a>() for shadow effects.
+
+<p>Set this property's value with <a href="#setSegmentStyle">setSegmentStyle</a>() and get this property's value with <a href="#segmentStyle">segmentStyle</a>().
+<h3 class=fn>bool <a name="smallDecimalPoint-prop"></a>smallDecimalPoint</h3>
+<p>This property holds the style of the decimal point.
+<p>If TRUE the decimal point is drawn between two digit positions.
+Otherwise it occupies a digit position of its own, i.e. is drawn
+in a digit position. The default is FALSE.
+<p> The inter-digit space is made slightly wider when the decimal
+point is drawn between the digits.
+<p> <p>See also <a href="#mode-prop">mode</a>.
+
+<p>Set this property's value with <a href="#setSmallDecimalPoint">setSmallDecimalPoint</a>() and get this property's value with <a href="#smallDecimalPoint">smallDecimalPoint</a>().
+<h3 class=fn>double <a name="value-prop"></a>value</h3>
+<p>This property holds the displayed value.
+<p>This property corresponds to the current value displayed by the
+LCDNumber.
+<p> If the displayed value is not a number, the property has a value
+of 0.
+
+<p>Set this property's value with <a href="#display">display</a>() and get this property's value with <a href="#value">value</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlibrary-h.html b/doc/html/qlibrary-h.html
new file mode 100644
index 0000000..3f75a36
--- /dev/null
+++ b/doc/html/qlibrary-h.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlibrary.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlibrary.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlibrary.h</h1>
+
+<p>This is the verbatim text of the qlibrary.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlibrary.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QLibrary class
+**
+** Created : 000101
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLIBRARY_H
+#define QLIBRARY_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_LIBRARY
+
+class QLibraryPrivate;
+
+class Q_EXPORT QLibrary
+{
+public:
+ QLibrary( const QString&amp; filename );
+ virtual ~QLibrary();
+
+ void *resolve( const char* );
+ static void *resolve( const QString &amp;filename, const char * );
+
+ bool load();
+ virtual bool unload();
+ bool isLoaded() const;
+
+ bool autoUnload() const;
+ void setAutoUnload( bool enable );
+
+ QString library() const;
+
+private:
+ QLibraryPrivate *d;
+
+ QString libfile;
+ uint aunload : 1;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QLibrary( const QLibrary &amp; );
+ QLibrary &amp;operator=( const QLibrary &amp; );
+#endif
+};
+
+#define Q_DEFINED_QLIBRARY
+#include "qwinexport.h"
+#endif //QT_NO_LIBRARY
+#endif //QLIBRARY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlibrary-members.html b/doc/html/qlibrary-members.html
new file mode 100644
index 0000000..836a25c
--- /dev/null
+++ b/doc/html/qlibrary-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlibrary.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLibrary Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLibrary</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlibrary.html">QLibrary</a>, including inherited members.
+
+<ul>
+<li><a href="qlibrary.html#QLibrary">QLibrary</a>()
+<li><a href="qlibrary.html#~QLibrary">~QLibrary</a>()
+<li><a href="qlibrary.html#autoUnload">autoUnload</a>()
+<li><a href="qlibrary.html#isLoaded">isLoaded</a>()
+<li><a href="qlibrary.html#library">library</a>()
+<li><a href="qlibrary.html#load">load</a>()
+<li><a href="qlibrary.html#resolve">resolve</a>()
+<li><a href="qlibrary.html#setAutoUnload">setAutoUnload</a>()
+<li><a href="qlibrary.html#unload">unload</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlibrary.html b/doc/html/qlibrary.html
new file mode 100644
index 0000000..19a1878
--- /dev/null
+++ b/doc/html/qlibrary.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qlibrary.cpp:68 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLibrary Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLibrary Class Reference</h1>
+
+<p>The QLibrary class provides a wrapper for handling shared libraries.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qlibrary-h.html">qlibrary.h</a>&gt;</tt>
+<p><a href="qlibrary-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLibrary"><b>QLibrary</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>virtual <a href="#~QLibrary"><b>~QLibrary</b></a> ()</li>
+<li class=fn>void * <a href="#resolve"><b>resolve</b></a> ( const&nbsp;char&nbsp;*&nbsp;symb )</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ()</li>
+<li class=fn>virtual bool <a href="#unload"><b>unload</b></a> ()</li>
+<li class=fn>bool <a href="#isLoaded"><b>isLoaded</b></a> () const</li>
+<li class=fn>bool <a href="#autoUnload"><b>autoUnload</b></a> () const</li>
+<li class=fn>void <a href="#setAutoUnload"><b>setAutoUnload</b></a> ( bool&nbsp;enabled )</li>
+<li class=fn>QString <a href="#library"><b>library</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void * <a href="#resolve-2"><b>resolve</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename, const&nbsp;char&nbsp;*&nbsp;symb )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QLibrary class provides a wrapper for handling shared libraries.
+<p>
+
+<p> An instance of a QLibrary object can handle a single shared
+library and provide access to the functionality in the library in
+a platform independent way. If the library is a component server,
+QLibrary provides access to the exported component and can
+directly query this component for interfaces.
+<p> QLibrary ensures that the shared library is loaded and stays in
+memory whilst it is in use. QLibrary can also unload the library
+on destruction and release unused resources.
+<p> A typical use of QLibrary is to resolve an exported symbol in a
+shared object, and to call the function that this symbol
+represents. This is called "explicit linking" in contrast to
+"implicit linking", which is done by the link step in the build
+process when linking an executable against a library.
+<p> The following code snippet loads a library, resolves the symbol
+"mysymbol", and calls the function if everything succeeded. If
+something went wrong, e.g. the library file does not exist or the
+symbol is not defined, the function pointer will be 0 and won't be
+called. When the QLibrary object is destroyed the library will be
+unloaded, making all references to memory allocated in the library
+invalid.
+<p> <pre>
+ typedef void (*MyPrototype)();
+ MyPrototype myFunction;
+
+ QLibrary myLib( "mylib" );
+ myFunction = (MyPrototype) myLib.<a href="#resolve">resolve</a>( "mysymbol" );
+ if ( myFunction ) {
+ myFunction();
+ }
+ </pre>
+
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLibrary"></a>QLibrary::QLibrary ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )
+</h3>
+Creates a QLibrary object for the shared library <em>filename</em>. The
+library will be unloaded in the destructor.
+<p> Note that <em>filename</em> does not need to include the (platform specific)
+file extension, so calling
+<pre>
+ QLibrary lib( "mylib" );
+ </pre>
+
+is equivalent to calling
+<pre>
+ QLibrary lib( "mylib.dll" );
+ </pre>
+
+on Windows, and
+<pre>
+ QLibrary lib( "libmylib.so" );
+ </pre>
+
+on Unix. Specifying the extension is not recommended, since
+doing so introduces a platform dependency.
+<p> If <em>filename</em> does not include a path, the library loader will
+look for the file in the platform specific search paths.
+<p> <p>See also <a href="#load">load</a>(), <a href="#unload">unload</a>(), and <a href="#setAutoUnload">setAutoUnload</a>().
+
+<h3 class=fn><a name="~QLibrary"></a>QLibrary::~QLibrary ()<tt> [virtual]</tt>
+</h3>
+Deletes the QLibrary object.
+<p> The library will be unloaded if <a href="#autoUnload">autoUnload</a>() is TRUE (the
+default), otherwise it stays in memory until the application
+exits.
+<p> <p>See also <a href="#unload">unload</a>() and <a href="#setAutoUnload">setAutoUnload</a>().
+
+<h3 class=fn>bool <a name="autoUnload"></a>QLibrary::autoUnload () const
+</h3>
+Returns TRUE if the library will be automatically unloaded when
+this wrapper object is destructed; otherwise returns FALSE. The
+default is TRUE.
+<p> <p>See also <a href="#setAutoUnload">setAutoUnload</a>().
+
+<h3 class=fn>bool <a name="isLoaded"></a>QLibrary::isLoaded () const
+</h3>
+Returns TRUE if the library is loaded; otherwise returns FALSE.
+<p> <p>See also <a href="#unload">unload</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="library"></a>QLibrary::library () const
+</h3>
+Returns the filename of the shared library this QLibrary object
+handles, including the platform specific file extension.
+<p> For example:
+<pre>
+ QLibrary lib( "mylib" );
+ <a href="qstring.html">QString</a> str = lib.<a href="#library">library</a>();
+ </pre>
+
+will set <em>str</em> to "mylib.dll" on Windows, and "libmylib.so" on Linux.
+
+<h3 class=fn>bool <a name="load"></a>QLibrary::load ()
+</h3>
+Loads the library. Since <a href="#resolve">resolve</a>() always calls this function
+before resolving any symbols it is not necessary to call it
+explicitly. In some situations you might want the library loaded
+in advance, in which case you would use this function.
+<p> On Darwin and Mac OS X this function uses code from dlcompat, part of the
+OpenDarwin project.
+<p>
+<p> Copyright (c) 2002 Jorge Acereda and Peter O'Gorman
+<p> Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+<p> The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+<p> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+<h3 class=fn>void * <a name="resolve"></a>QLibrary::resolve ( const&nbsp;char&nbsp;*&nbsp;symb )
+</h3>
+Returns the address of the exported symbol <em>symb</em>. The library is
+loaded if necessary. The function returns 0 if the symbol could
+not be resolved or the library could not be loaded.
+<p> <pre>
+ typedef int (*avgProc)( int, int );
+
+ avgProc avg = (avgProc) library-&gt;resolve( "avg" );
+ if ( avg )
+ return avg( 5, 8 );
+ else
+ return -1;
+ </pre>
+
+<p> The symbol must be exported as a C-function from the library. This
+requires the <tt>extern "C"</tt> notation if the library is compiled
+with a C++ compiler. On Windows you also have to explicitly export
+the function from the DLL using the <tt>__declspec(dllexport)</tt>
+compiler directive.
+<p> <pre>
+ extern "C" MY_EXPORT_MACRO int avg(int a, int b)
+ {
+ return (a + b) / 2;
+ }
+ </pre>
+
+<p> with <tt>MY_EXPORT</tt> defined as
+<p> <pre>
+ #ifdef Q_WS_WIN
+ # define MY_EXPORT __declspec(dllexport)
+ #else
+ # define MY_EXPORT
+ #endif
+ </pre>
+
+<p> On Darwin and Mac OS X this function uses code from dlcompat, part of the
+OpenDarwin project.
+<p>
+<p> Copyright (c) 2002 Jorge Acereda and Peter O'Gorman
+<p> Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+<p> The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+<p> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+<h3 class=fn>void * <a name="resolve-2"></a>QLibrary::resolve ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename, const&nbsp;char&nbsp;*&nbsp;symb )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads the library <em>filename</em> and returns the address of the
+exported symbol <em>symb</em>. Note that like the constructor, <em>filename</em> does not need to include the (platform specific) file
+extension. The library remains loaded until the process exits.
+<p> The function returns 0 if the symbol could not be resolved or the
+library could not be loaded.
+<p> This function is useful only if you want to resolve a single
+symbol, e.g. a function pointer from a specific library once:
+<p> <pre>
+ typedef void (*FunctionType)();
+ static FunctionType *ptrFunction = 0;
+ static bool triedResolve = FALSE;
+ if ( !ptrFunction &amp;&amp; !triedResolve )
+ ptrFunction = QLibrary::<a href="#resolve">resolve</a>( "mylib", "mysymb" );
+
+ if ( ptrFunction )
+ ptrFunction();
+ else
+ ...
+ </pre>
+
+<p> If you want to resolve multiple symbols, use a QLibrary object and
+call the non-static version of <a href="#resolve">resolve</a>().
+<p> <p>See also
+<h3 class=fn>void <a name="setAutoUnload"></a>QLibrary::setAutoUnload ( bool&nbsp;enabled )
+</h3>
+If <em>enabled</em> is TRUE (the default), the wrapper object is set to
+automatically unload the library upon destruction. If <em>enabled</em>
+is FALSE, the wrapper object is not unloaded unless you explicitly
+call <a href="#unload">unload</a>().
+<p> <p>See also <a href="#autoUnload">autoUnload</a>().
+
+<h3 class=fn>bool <a name="unload"></a>QLibrary::unload ()<tt> [virtual]</tt>
+</h3>
+Unloads the library and returns TRUE if the library could be
+unloaded; otherwise returns FALSE.
+<p> This function is called by the destructor if <a href="#autoUnload">autoUnload</a>() is
+enabled.
+<p> <p>See also <a href="#resolve">resolve</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlined-m.png b/doc/html/qlined-m.png
new file mode 100644
index 0000000..3a70a4e
--- /dev/null
+++ b/doc/html/qlined-m.png
Binary files differ
diff --git a/doc/html/qlined-w.png b/doc/html/qlined-w.png
new file mode 100644
index 0000000..d622370
--- /dev/null
+++ b/doc/html/qlined-w.png
Binary files differ
diff --git a/doc/html/qlineedit-h.html b/doc/html/qlineedit-h.html
new file mode 100644
index 0000000..a82a740
--- /dev/null
+++ b/doc/html/qlineedit-h.html
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlineedit.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlineedit.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlineedit.h</h1>
+
+<p>This is the verbatim text of the qlineedit.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qlineedit.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QLineEdit widget class
+**
+** Created : 941011
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLINEEDIT_H
+#define QLINEEDIT_H
+
+struct QLineEditPrivate;
+
+class QValidator;
+class QPopupMenu;
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_LINEEDIT
+
+class QTextParagraph;
+class QTextCursor;
+
+class Q_EXPORT QLineEdit : public QFrame
+{
+ Q_OBJECT
+ Q_ENUMS( EchoMode )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( int maxLength READ maxLength WRITE setMaxLength )
+ Q_PROPERTY( bool frame READ frame WRITE setFrame )
+ Q_PROPERTY( EchoMode echoMode READ echoMode WRITE setEchoMode )
+ Q_PROPERTY( QString displayText READ displayText )
+ Q_PROPERTY( int cursorPosition READ cursorPosition WRITE setCursorPosition )
+ Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
+ Q_PROPERTY( bool edited READ edited WRITE setEdited DESIGNABLE false )
+ Q_PROPERTY( bool modified READ isModified )
+ Q_PROPERTY( bool hasMarkedText READ hasMarkedText DESIGNABLE false )
+ Q_PROPERTY( bool hasSelectedText READ hasSelectedText )
+ Q_PROPERTY( QString markedText READ markedText DESIGNABLE false )
+ Q_PROPERTY( QString selectedText READ selectedText )
+ Q_PROPERTY( bool dragEnabled READ dragEnabled WRITE setDragEnabled )
+ Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
+ Q_PROPERTY( bool undoAvailable READ isUndoAvailable )
+ Q_PROPERTY( bool redoAvailable READ isRedoAvailable )
+ Q_PROPERTY( QString inputMask READ inputMask WRITE setInputMask )
+ Q_PROPERTY( bool acceptableInput READ hasAcceptableInput )
+
+public:
+ QLineEdit( QWidget* parent, const char* name=0 );
+ QLineEdit( const QString &amp;, QWidget* parent, const char* name=0 );
+ QLineEdit( const QString &amp;, const QString &amp;, QWidget* parent, const char* name=0 );
+ ~QLineEdit();
+
+ QString text() const;
+
+ QString displayText() const;
+
+ int maxLength() const;
+
+ bool frame() const;
+
+ enum EchoMode { Normal, NoEcho, Password };
+ EchoMode echoMode() const;
+
+ bool isReadOnly() const;
+
+ const QValidator * validator() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int cursorPosition() const;
+ bool validateAndSet( const QString &amp;, int, int, int ); // obsolete
+
+ int alignment() const;
+
+#ifndef QT_NO_COMPAT
+ void cursorLeft( bool mark, int steps = 1 ) { cursorForward( mark, -steps ); }
+ void cursorRight( bool mark, int steps = 1 ) { cursorForward( mark, steps ); }
+#endif
+ void cursorForward( bool mark, int steps = 1 );
+ void cursorBackward( bool mark, int steps = 1 );
+ void cursorWordForward( bool mark );
+ void cursorWordBackward( bool mark );
+ void backspace();
+ void del();
+ void home( bool mark );
+ void end( bool mark );
+
+ bool isModified() const;
+ void clearModified();
+
+ bool edited() const; // obsolete, use isModified()
+ void setEdited( bool ); // obsolete, use clearModified()
+
+ bool hasSelectedText() const;
+ QString selectedText() const;
+ int selectionStart() const;
+
+ bool isUndoAvailable() const;
+ bool isRedoAvailable() const;
+
+#ifndef QT_NO_COMPAT
+ bool hasMarkedText() const { return hasSelectedText(); }
+ QString markedText() const { return selectedText(); }
+#endif
+
+ bool dragEnabled() const;
+
+ QString inputMask() const;
+ void setInputMask( const QString &amp;inputMask );
+ bool hasAcceptableInput() const;
+
+public slots:
+ virtual void setText( const QString &amp;);
+ virtual void selectAll();
+ virtual void deselect();
+ virtual void clearValidator();
+ virtual void insert( const QString &amp;);
+ virtual void clear();
+ virtual void undo();
+ virtual void redo();
+ virtual void setMaxLength( int );
+ virtual void setFrame( bool );
+ virtual void setEchoMode( EchoMode );
+ virtual void setReadOnly( bool );
+ virtual void setValidator( const QValidator * );
+ virtual void setFont( const QFont &amp; );
+ virtual void setPalette( const QPalette &amp; );
+ virtual void setSelection( int, int );
+ virtual void setCursorPosition( int );
+ virtual void setAlignment( int flag );
+#ifndef QT_NO_CLIPBOARD
+ virtual void cut();
+ virtual void copy() const;
+ virtual void paste();
+#endif
+ virtual void setDragEnabled( bool b );
+
+signals:
+ void textChanged( const QString &amp;);
+ void returnPressed();
+ void lostFocus();
+ void selectionChanged();
+
+protected:
+ bool event( QEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void keyPressEvent( QKeyEvent * );
+ void imStartEvent( QIMEvent * );
+ void imComposeEvent( QIMEvent * );
+ void imEndEvent( QIMEvent * );
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+ void resizeEvent( QResizeEvent * );
+ void drawContents( QPainter * );
+#ifndef QT_NO_DRAGANDDROP
+ void dragEnterEvent( QDragEnterEvent * );
+ void dragMoveEvent( QDragMoveEvent *e );
+ void dragLeaveEvent( QDragLeaveEvent *e );
+ void dropEvent( QDropEvent * );
+#endif
+ void contextMenuEvent( QContextMenuEvent * );
+ virtual QPopupMenu *createPopupMenu();
+ void windowActivationChange( bool );
+#ifndef QT_NO_COMPAT
+ void repaintArea( int, int ) { update(); }
+#endif
+
+private slots:
+ void clipboardChanged();
+
+public:
+ void setPasswordChar( QChar c ); // internal obsolete
+ QChar passwordChar() const; // obsolete internal
+ int characterAt( int, QChar* ) const; // obsolete
+ bool getSelection( int *, int * ); // obsolete
+
+private:
+ friend struct QLineEditPrivate;
+ QLineEditPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QLineEdit( const QLineEdit &amp; );
+ QLineEdit &amp;operator=( const QLineEdit &amp; );
+#endif
+};
+
+
+#endif // QT_NO_LINEEDIT
+
+#endif // QLINEEDIT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlineedit-members.html b/doc/html/qlineedit-members.html
new file mode 100644
index 0000000..692f6db
--- /dev/null
+++ b/doc/html/qlineedit-members.html
@@ -0,0 +1,420 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlineedit.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLineEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLineEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlineedit.html">QLineEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qlineedit.html#QLineEdit">QLineEdit</a>()
+<li><a href="qlineedit.html#~QLineEdit">~QLineEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qlineedit.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qlineedit.html#backspace">backspace</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qlineedit.html#characterAt">characterAt</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qlineedit.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qlineedit.html#clearModified">clearModified</a>()
+<li><a href="qlineedit.html#clearValidator">clearValidator</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qlineedit.html#copy">copy</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qlineedit.html#createPopupMenu">createPopupMenu</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qlineedit.html#cursorBackward">cursorBackward</a>()
+<li><a href="qlineedit.html#cursorForward">cursorForward</a>()
+<li><a href="qlineedit.html#cursorLeft">cursorLeft</a>()
+<li><a href="qlineedit.html#cursorPosition">cursorPosition</a>()
+<li><a href="qlineedit.html#cursorRight">cursorRight</a>()
+<li><a href="qlineedit.html#cursorWordBackward">cursorWordBackward</a>()
+<li><a href="qlineedit.html#cursorWordForward">cursorWordForward</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qlineedit.html#cut">cut</a>()
+<li><a href="qlineedit.html#del">del</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qlineedit.html#deselect">deselect</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qlineedit.html#displayText">displayText</a>()
+<li><a href="qlineedit.html#dragEnabled">dragEnabled</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qlineedit.html#echoMode">echoMode</a>()
+<li><a href="qlineedit.html#edited">edited</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qlineedit.html#end">end</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qlineedit.html#frame">frame</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qlineedit.html#getSelection">getSelection</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qlineedit.html#hasAcceptableInput">hasAcceptableInput</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qlineedit.html#hasMarkedText">hasMarkedText</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qlineedit.html#hasSelectedText">hasSelectedText</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qlineedit.html#home">home</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qlineedit.html#inputMask">inputMask</a>()
+<li><a href="qlineedit.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qlineedit.html#isModified">isModified</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qlineedit.html#isReadOnly">isReadOnly</a>()
+<li><a href="qlineedit.html#isRedoAvailable">isRedoAvailable</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qlineedit.html#isUndoAvailable">isUndoAvailable</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlineedit.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qlineedit.html#lostFocus">lostFocus</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qlineedit.html#markedText">markedText</a>()
+<li><a href="qlineedit.html#maxLength">maxLength</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qlineedit.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qlineedit.html#paste">paste</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qlineedit.html#redo">redo</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qlineedit.html#repaintArea">repaintArea</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qlineedit.html#returnPressed">returnPressed</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qlineedit.html#selectAll">selectAll</a>()
+<li><a href="qlineedit.html#selectedText">selectedText</a>()
+<li><a href="qlineedit.html#selectionChanged">selectionChanged</a>()
+<li><a href="qlineedit.html#selectionStart">selectionStart</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qlineedit.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qlineedit.html#setCursorPosition">setCursorPosition</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qlineedit.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qlineedit.html#setEchoMode">setEchoMode</a>()
+<li><a href="qlineedit.html#setEdited">setEdited</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qlineedit.html#setFrame">setFrame</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qlineedit.html#setInputMask">setInputMask</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qlineedit.html#setMaxLength">setMaxLength</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlineedit.html#setReadOnly">setReadOnly</a>()
+<li><a href="qlineedit.html#setSelection">setSelection</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qlineedit.html#setText">setText</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qlineedit.html#setValidator">setValidator</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qlineedit.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qlineedit.html#text">text</a>()
+<li><a href="qlineedit.html#textChanged">textChanged</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlineedit.html#undo">undo</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qlineedit.html#validateAndSet">validateAndSet</a>()
+<li><a href="qlineedit.html#validator">validator</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlineedit.html b/doc/html/qlineedit.html
new file mode 100644
index 0000000..d435cd9
--- /dev/null
+++ b/doc/html/qlineedit.html
@@ -0,0 +1,773 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlineedit.cpp:268 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLineEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLineEdit Class Reference</h1>
+
+<p>The QLineEdit widget is a one-line text editor.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qlineedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLineEdit"><b>QLineEdit</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QLineEdit-2"><b>QLineEdit</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;contents, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QLineEdit-3"><b>QLineEdit</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;contents, const&nbsp;QString&nbsp;&amp;&nbsp;inputMask, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QLineEdit"><b>~QLineEdit</b></a> ()</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>QString <a href="#displayText"><b>displayText</b></a> () const</li>
+<li class=fn>int <a href="#maxLength"><b>maxLength</b></a> () const</li>
+<li class=fn>bool <a href="#frame"><b>frame</b></a> () const</li>
+<li class=fn>enum <a href="#EchoMode-enum"><b>EchoMode</b></a> { Normal, NoEcho, Password }</li>
+<li class=fn>EchoMode <a href="#echoMode"><b>echoMode</b></a> () const</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>const QValidator * <a href="#validator"><b>validator</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSizeHint"><b>minimumSizeHint</b></a> () const</li>
+<li class=fn>int <a href="#cursorPosition"><b>cursorPosition</b></a> () const</li>
+<li class=fn>bool validateAndSet ( const&nbsp;QString&nbsp;&amp;&nbsp;newText, int&nbsp;newPos, int&nbsp;newMarkAnchor, int&nbsp;newMarkDrag ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>void cursorLeft ( bool&nbsp;mark, int&nbsp;steps = 1 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void cursorRight ( bool&nbsp;mark, int&nbsp;steps = 1 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#cursorForward"><b>cursorForward</b></a> ( bool&nbsp;mark, int&nbsp;steps = 1 )</li>
+<li class=fn>void <a href="#cursorBackward"><b>cursorBackward</b></a> ( bool&nbsp;mark, int&nbsp;steps = 1 )</li>
+<li class=fn>void <a href="#cursorWordForward"><b>cursorWordForward</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>void <a href="#cursorWordBackward"><b>cursorWordBackward</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>void <a href="#backspace"><b>backspace</b></a> ()</li>
+<li class=fn>void <a href="#del"><b>del</b></a> ()</li>
+<li class=fn>void <a href="#home"><b>home</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>void <a href="#end"><b>end</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>bool <a href="#isModified"><b>isModified</b></a> () const</li>
+<li class=fn>void <a href="#clearModified"><b>clearModified</b></a> ()</li>
+<li class=fn>bool edited () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setEdited ( bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#hasSelectedText"><b>hasSelectedText</b></a> () const</li>
+<li class=fn>QString <a href="#selectedText"><b>selectedText</b></a> () const</li>
+<li class=fn>int <a href="#selectionStart"><b>selectionStart</b></a> () const</li>
+<li class=fn>bool <a href="#isUndoAvailable"><b>isUndoAvailable</b></a> () const</li>
+<li class=fn>bool <a href="#isRedoAvailable"><b>isRedoAvailable</b></a> () const</li>
+<li class=fn>bool hasMarkedText () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString markedText () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#dragEnabled"><b>dragEnabled</b></a> () const</li>
+<li class=fn>QString <a href="#inputMask"><b>inputMask</b></a> () const</li>
+<li class=fn>void <a href="#setInputMask"><b>setInputMask</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;inputMask )</li>
+<li class=fn>bool <a href="#hasAcceptableInput"><b>hasAcceptableInput</b></a> () const</li>
+<li class=fn>int characterAt ( int&nbsp;xpos, QChar&nbsp;*&nbsp;chr ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool getSelection ( int&nbsp;*&nbsp;start, int&nbsp;*&nbsp;end ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ()</li>
+<li class=fn>virtual void <a href="#deselect"><b>deselect</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearValidator"><b>clearValidator</b></a> ()</li>
+<li class=fn>virtual void <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;newText )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#undo"><b>undo</b></a> ()</li>
+<li class=fn>virtual void <a href="#redo"><b>redo</b></a> ()</li>
+<li class=fn>virtual void <a href="#setMaxLength"><b>setMaxLength</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setFrame"><b>setFrame</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setEchoMode"><b>setEchoMode</b></a> ( EchoMode )</li>
+<li class=fn>virtual void <a href="#setReadOnly"><b>setReadOnly</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setValidator"><b>setValidator</b></a> ( const&nbsp;QValidator&nbsp;*&nbsp;v )</li>
+<li class=fn>virtual void <a href="#setSelection"><b>setSelection</b></a> ( int&nbsp;start, int&nbsp;length )</li>
+<li class=fn>virtual void <a href="#setCursorPosition"><b>setCursorPosition</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int&nbsp;flag )</li>
+<li class=fn>virtual void <a href="#cut"><b>cut</b></a> ()</li>
+<li class=fn>virtual void <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>virtual void <a href="#paste"><b>paste</b></a> ()</li>
+<li class=fn>virtual void <a href="#setDragEnabled"><b>setDragEnabled</b></a> ( bool&nbsp;b )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#textChanged"><b>textChanged</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#returnPressed"><b>returnPressed</b></a> ()</li>
+<li class=fn>void <a href="#lostFocus"><b>lostFocus</b></a> ()</li>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#acceptableInput-prop"><b>acceptableInput</b></a>&nbsp;- whether the input satisfies the inputMask and the validator &nbsp;<em>(read only)</em></li>
+<li class=fn>Alignment <a href="#alignment-prop"><b>alignment</b></a>&nbsp;- the alignment of the line edit</li>
+<li class=fn>int <a href="#cursorPosition-prop"><b>cursorPosition</b></a>&nbsp;- the current cursor position for this line edit</li>
+<li class=fn>QString <a href="#displayText-prop"><b>displayText</b></a>&nbsp;- the displayed text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#dragEnabled-prop"><b>dragEnabled</b></a>&nbsp;- whether the lineedit starts a drag if the user presses and moves the mouse on some selected text</li>
+<li class=fn>EchoMode <a href="#echoMode-prop"><b>echoMode</b></a>&nbsp;- the line edit's echo mode</li>
+<li class=fn>bool edited&nbsp;- whether the line edit has been edited. Use modified instead &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#frame-prop"><b>frame</b></a>&nbsp;- whether the line edit draws itself with a frame</li>
+<li class=fn>bool hasMarkedText&nbsp;- whether part of the text has been selected by the user. Use hasSelectedText instead &nbsp;<em>(read only)</em> &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#hasSelectedText-prop"><b>hasSelectedText</b></a>&nbsp;- whether there is any text selected &nbsp;<em>(read only)</em></li>
+<li class=fn>QString <a href="#inputMask-prop"><b>inputMask</b></a>&nbsp;- the validation input mask</li>
+<li class=fn>QString markedText&nbsp;- the text selected by the user. Use selectedText instead &nbsp;<em>(read only)</em> &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#maxLength-prop"><b>maxLength</b></a>&nbsp;- the maximum permitted length of the text</li>
+<li class=fn>bool <a href="#modified-prop"><b>modified</b></a>&nbsp;- whether the line edit's contents has been modified by the user &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the line edit is read only</li>
+<li class=fn>bool <a href="#redoAvailable-prop"><b>redoAvailable</b></a>&nbsp;- whether redo is available &nbsp;<em>(read only)</em></li>
+<li class=fn>QString <a href="#selectedText-prop"><b>selectedText</b></a>&nbsp;- the selected text &nbsp;<em>(read only)</em></li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the line edit's text</li>
+<li class=fn>bool <a href="#undoAvailable-prop"><b>undoAvailable</b></a>&nbsp;- whether undo is available &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#keyPressEvent"><b>keyPressEvent</b></a> ( QKeyEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual QPopupMenu * <a href="#createPopupMenu"><b>createPopupMenu</b></a> ()</li>
+<li class=fn>void repaintArea ( int&nbsp;from, int&nbsp;to ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLineEdit widget is a one-line text editor.
+<p>
+
+<p> A line edit allows the user to enter and edit a single line of
+plain text with a useful collection of editing functions,
+including undo and redo, cut and paste, and drag and drop.
+<p> By changing the <a href="#echoMode">echoMode</a>() of a line edit, it can also be used as
+a "write-only" field, for inputs such as passwords.
+<p> The length of the text can be constrained to <a href="#maxLength">maxLength</a>(). The text
+can be arbitrarily constrained using a <a href="#validator">validator</a>() or an
+<a href="#inputMask">inputMask</a>(), or both.
+<p> A related class is <a href="qtextedit.html">QTextEdit</a> which allows multi-line, rich-text
+editing.
+<p> You can change the text with <a href="#setText">setText</a>() or <a href="#insert">insert</a>(). The text is
+retrieved with <a href="#text">text</a>(); the displayed text (which may be different,
+see <a href="#EchoMode-enum">EchoMode</a>) is retrieved with <a href="#displayText">displayText</a>(). Text can be
+selected with <a href="#setSelection">setSelection</a>() or <a href="#selectAll">selectAll</a>(), and the selection can
+be <a href="#cut">cut</a>(), <a href="#copy">copy</a>()ied and <a href="#paste">paste</a>()d. The text can be aligned with
+<a href="#setAlignment">setAlignment</a>().
+<p> When the text changes the <a href="#textChanged">textChanged</a>() signal is emitted; when
+the Return or Enter key is pressed the <a href="#returnPressed">returnPressed</a>() signal is
+emitted. Note that if there is a validator set on the line edit,
+the returnPressed() signal will only be emitted if the validator
+returns <tt>Acceptable</tt>.
+<p> By default, QLineEdits have a frame as specified by the Windows
+and <a href="motif-extension.html#Motif">Motif</a> style guides; you can turn it off by calling
+<a href="#setFrame">setFrame</a>(FALSE).
+<p> The default key bindings are described below. The line edit also
+provides a context menu (usually invoked by a right mouse click)
+that presents some of these editing options.
+<a name="desc"></a>
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Keypress <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top">Left Arrow <td valign="top">Moves the cursor one character to the left.
+<tr bgcolor="#d0d0d0"> <td valign="top">Shift+Left Arrow <td valign="top">Moves and selects text one character to the left.
+<tr bgcolor="#f0f0f0"> <td valign="top">Right Arrow <td valign="top">Moves the cursor one character to the right.
+<tr bgcolor="#d0d0d0"> <td valign="top">Shift+Right Arrow <td valign="top">Moves and selects text one character to the right.
+<tr bgcolor="#f0f0f0"> <td valign="top">Home <td valign="top">Moves the cursor to the beginning of the line.
+<tr bgcolor="#d0d0d0"> <td valign="top">End <td valign="top">Moves the cursor to the end of the line.
+<tr bgcolor="#f0f0f0"> <td valign="top">Backspace <td valign="top">Deletes the character to the left of the cursor.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Backspace <td valign="top">Deletes the word to the left of the cursor.
+<tr bgcolor="#f0f0f0"> <td valign="top">Delete <td valign="top">Deletes the character to the right of the cursor.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Delete <td valign="top">Deletes the word to the right of the cursor.
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+A <td valign="top">Moves the cursor to the beginning of the line.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+B <td valign="top">Moves the cursor one character to the left.
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+C <td valign="top">Copies the selected text to the clipboard.
+(Windows also supports Ctrl+Insert for this operation.)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+D <td valign="top">Deletes the character to the right of the cursor.
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+E <td valign="top">Moves the cursor to the end of the line.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+F <td valign="top">Moves the cursor one character to the right.
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+H <td valign="top">Deletes the character to the left of the cursor.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+K <td valign="top">Deletes to the end of the line.
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+V <td valign="top">Pastes the clipboard text into line edit.
+(Windows also supports Shift+Insert for this operation.)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+X <td valign="top">Deletes the selected text and copies it to the clipboard.
+(Windows also supports Shift+Delete for this operation.)
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+Z <td valign="top">Undoes the last operation.
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Y <td valign="top">Redoes the last undone operation.
+</table></center>
+<p> Any other key sequence that represents a valid character, will
+cause the character to be inserted into the line edit.
+<p> <img src=qlined-m.png> <img src=qlined-w.png>
+<p> <p>See also <a href="qtextedit.html">QTextEdit</a>, <a href="qlabel.html">QLabel</a>, <a href="qcombobox.html">QComboBox</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Field, Entry</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="EchoMode-enum"></a>QLineEdit::EchoMode</h3>
+
+<p> This enum type describes how a line edit should display its
+contents.
+<ul>
+<li><tt>QLineEdit::Normal</tt> - Display characters as they are entered. This is the
+default.
+<li><tt>QLineEdit::NoEcho</tt> - Do not display anything. This may be appropriate
+for passwords where even the length of the
+password should be kept secret.
+<li><tt>QLineEdit::Password</tt> - Display asterisks instead of the characters
+actually entered.
+</ul><p> <p>See also <a href="#echoMode-prop">echoMode</a> and <a href="#echoMode-prop">echoMode</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLineEdit"></a>QLineEdit::QLineEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a line edit with no text.
+<p> The maximum text length is set to 32767 characters.
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a> constructor.
+<p> <p>See also <a href="#text-prop">text</a> and <a href="#maxLength-prop">maxLength</a>.
+
+<h3 class=fn><a name="QLineEdit-2"></a>QLineEdit::QLineEdit ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;contents, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a line edit containing the text <em>contents</em>.
+<p> The cursor position is set to the end of the line and the maximum
+text length to 32767 characters.
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> <p>See also <a href="#text-prop">text</a> and <a href="#maxLength-prop">maxLength</a>.
+
+<h3 class=fn><a name="QLineEdit-3"></a>QLineEdit::QLineEdit ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;contents, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;inputMask, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a line edit with an input <em>inputMask</em> and the text <em>contents</em>.
+<p> The cursor position is set to the end of the line and the maximum
+text length is set to the length of the mask (the number of mask
+characters and separators).
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> <p>See also <a href="qwidget.html#setMask">setMask</a>() and <a href="#text-prop">text</a>.
+
+<h3 class=fn><a name="~QLineEdit"></a>QLineEdit::~QLineEdit ()
+</h3>
+Destroys the line edit.
+
+<h3 class=fn>int <a name="alignment"></a>QLineEdit::alignment () const
+</h3><p>Returns the alignment of the line edit.
+See the <a href="qlineedit.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>void <a name="backspace"></a>QLineEdit::backspace ()
+</h3>
+If no text is selected, deletes the character to the left of the
+text cursor and moves the cursor one position to the left. If any
+text is selected, the cursor is moved to the beginning of the
+selected text and the selected text is deleted.
+<p> <p>See also <a href="#del">del</a>().
+
+<h3 class=fn>int <a name="characterAt"></a>QLineEdit::characterAt ( int&nbsp;xpos, <a href="qchar.html">QChar</a>&nbsp;*&nbsp;chr ) const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="clear"></a>QLineEdit::clear ()<tt> [virtual slot]</tt>
+</h3>
+Clears the contents of the line edit.
+
+<h3 class=fn>void <a name="clearModified"></a>QLineEdit::clearModified ()
+</h3>
+Resets the modified flag to FALSE.
+<p> <p>See also <a href="#modified-prop">modified</a>.
+
+<h3 class=fn>void <a name="clearValidator"></a>QLineEdit::clearValidator ()<tt> [virtual slot]</tt>
+</h3>
+This slot is equivalent to <a href="#setValidator">setValidator</a>(0).
+
+<h3 class=fn>void <a name="copy"></a>QLineEdit::copy () const<tt> [virtual slot]</tt>
+</h3>
+Copies the selected text to the clipboard, if there is any, and if
+<a href="#echoMode">echoMode</a>() is <a href="#EchoMode-enum">Normal</a>.
+<p> <p>See also <a href="#cut">cut</a>() and <a href="#paste">paste</a>().
+
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="createPopupMenu"></a>QLineEdit::createPopupMenu ()<tt> [virtual protected]</tt>
+</h3>
+This function is called to create the popup menu which is shown
+when the user clicks on the line edit with the right mouse button.
+If you want to create a custom popup menu, reimplement this
+function and return the popup menu you create. The popup menu's
+ownership is transferred to the caller.
+
+<h3 class=fn>void <a name="cursorBackward"></a>QLineEdit::cursorBackward ( bool&nbsp;mark, int&nbsp;steps = 1 )
+</h3>
+Moves the cursor back <em>steps</em> characters. If <em>mark</em> is TRUE each
+character moved over is added to the selection; if <em>mark</em> is
+FALSE the selection is cleared.
+<p> <p>See also <a href="#cursorForward">cursorForward</a>().
+
+<h3 class=fn>void <a name="cursorForward"></a>QLineEdit::cursorForward ( bool&nbsp;mark, int&nbsp;steps = 1 )
+</h3>
+Moves the cursor forward <em>steps</em> characters. If <em>mark</em> is TRUE
+each character moved over is added to the selection; if <em>mark</em> is
+FALSE the selection is cleared.
+<p> <p>See also <a href="#cursorBackward">cursorBackward</a>().
+
+<h3 class=fn>void <a name="cursorLeft"></a>QLineEdit::cursorLeft ( bool&nbsp;mark, int&nbsp;steps = 1 )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+For compatibilty with older applications only. Use <a href="#cursorBackward">cursorBackward</a>()
+instead.
+<p>See also <a href="#cursorBackward">cursorBackward</a>().
+
+<h3 class=fn>int <a name="cursorPosition"></a>QLineEdit::cursorPosition () const
+</h3><p>Returns the current cursor position for this line edit.
+See the <a href="qlineedit.html#cursorPosition-prop">"cursorPosition"</a> property for details.
+<h3 class=fn>void <a name="cursorRight"></a>QLineEdit::cursorRight ( bool&nbsp;mark, int&nbsp;steps = 1 )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> Use <a href="#cursorForward">cursorForward</a>() instead.
+<p> <p>See also <a href="#cursorForward">cursorForward</a>().
+
+<h3 class=fn>void <a name="cursorWordBackward"></a>QLineEdit::cursorWordBackward ( bool&nbsp;mark )
+</h3>
+Moves the cursor one word backward. If <em>mark</em> is TRUE, the word
+is also selected.
+<p> <p>See also <a href="#cursorWordForward">cursorWordForward</a>().
+
+<h3 class=fn>void <a name="cursorWordForward"></a>QLineEdit::cursorWordForward ( bool&nbsp;mark )
+</h3>
+Moves the cursor one word forward. If <em>mark</em> is TRUE, the word is
+also selected.
+<p> <p>See also <a href="#cursorWordBackward">cursorWordBackward</a>().
+
+<h3 class=fn>void <a name="cut"></a>QLineEdit::cut ()<tt> [virtual slot]</tt>
+</h3>
+Copies the selected text to the clipboard and deletes it, if there
+is any, and if <a href="#echoMode">echoMode</a>() is <a href="#EchoMode-enum">Normal</a>.
+<p> If the current validator disallows deleting the selected text,
+<a href="#cut">cut</a>() will copy without deleting.
+<p> <p>See also <a href="#copy">copy</a>(), <a href="#paste">paste</a>(), and <a href="#setValidator">setValidator</a>().
+
+<h3 class=fn>void <a name="del"></a>QLineEdit::del ()
+</h3>
+If no text is selected, deletes the character to the right of the
+text cursor. If any text is selected, the cursor is moved to the
+beginning of the selected text and the selected text is deleted.
+<p> <p>See also <a href="#backspace">backspace</a>().
+
+<h3 class=fn>void <a name="deselect"></a>QLineEdit::deselect ()<tt> [virtual slot]</tt>
+</h3>
+Deselects any selected text.
+<p> <p>See also <a href="#setSelection">setSelection</a>() and <a href="#selectAll">selectAll</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="displayText"></a>QLineEdit::displayText () const
+</h3><p>Returns the displayed text.
+See the <a href="qlineedit.html#displayText-prop">"displayText"</a> property for details.
+<h3 class=fn>bool <a name="dragEnabled"></a>QLineEdit::dragEnabled () const
+</h3><p>Returns TRUE if the lineedit starts a drag if the user presses and moves the mouse on some selected text; otherwise returns FALSE.
+See the <a href="qlineedit.html#dragEnabled-prop">"dragEnabled"</a> property for details.
+<h3 class=fn><a href="qlineedit.html#EchoMode-enum">EchoMode</a> <a name="echoMode"></a>QLineEdit::echoMode () const
+</h3><p>Returns the line edit's echo mode.
+See the <a href="qlineedit.html#echoMode-prop">"echoMode"</a> property for details.
+<h3 class=fn>bool <a name="edited"></a>QLineEdit::edited () const
+</h3><p>Returns TRUE if the line edit has been edited. Use modified instead; otherwise returns FALSE.
+See the <a href="qlineedit.html#edited-prop">"edited"</a> property for details.
+<h3 class=fn>void <a name="end"></a>QLineEdit::end ( bool&nbsp;mark )
+</h3>
+Moves the text cursor to the end of the line unless it is already
+there. If <em>mark</em> is TRUE, text is selected towards the last
+position; otherwise, any selected text is unselected if the cursor
+is moved.
+<p> <p>See also <a href="#home">home</a>().
+
+<h3 class=fn>bool <a name="frame"></a>QLineEdit::frame () const
+</h3><p>Returns TRUE if the line edit draws itself with a frame; otherwise returns FALSE.
+See the <a href="qlineedit.html#frame-prop">"frame"</a> property for details.
+<h3 class=fn>bool <a name="getSelection"></a>QLineEdit::getSelection ( int&nbsp;*&nbsp;start, int&nbsp;*&nbsp;end )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+use <a href="#selectedText">selectedText</a>(), <a href="#selectionStart">selectionStart</a>()
+<h3 class=fn>bool <a name="hasAcceptableInput"></a>QLineEdit::hasAcceptableInput () const
+</h3><p>Returns TRUE if the input satisfies the inputMask and the validator; otherwise returns FALSE.
+See the <a href="qlineedit.html#acceptableInput-prop">"acceptableInput"</a> property for details.
+<h3 class=fn>bool <a name="hasMarkedText"></a>QLineEdit::hasMarkedText () const
+</h3><p>Returns TRUE if part of the text has been selected by the user. Use hasSelectedText instead; otherwise returns FALSE.
+See the <a href="qlineedit.html#hasMarkedText-prop">"hasMarkedText"</a> property for details.
+<h3 class=fn>bool <a name="hasSelectedText"></a>QLineEdit::hasSelectedText () const
+</h3><p>Returns TRUE if there is any text selected; otherwise returns FALSE.
+See the <a href="qlineedit.html#hasSelectedText-prop">"hasSelectedText"</a> property for details.
+<h3 class=fn>void <a name="home"></a>QLineEdit::home ( bool&nbsp;mark )
+</h3>
+Moves the text cursor to the beginning of the line unless it is
+already there. If <em>mark</em> is TRUE, text is selected towards the
+first position; otherwise, any selected text is unselected if the
+cursor is moved.
+<p> <p>See also <a href="#end">end</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="inputMask"></a>QLineEdit::inputMask () const
+</h3><p>Returns the validation input mask.
+See the <a href="qlineedit.html#inputMask-prop">"inputMask"</a> property for details.
+<h3 class=fn>void <a name="insert"></a>QLineEdit::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newText )<tt> [virtual slot]</tt>
+</h3>
+Deletes any selected text, inserts <em>newText</em>, and validates the
+result. If it is valid, it sets it as the new contents of the line
+edit.
+
+<h3 class=fn>bool <a name="isModified"></a>QLineEdit::isModified () const
+</h3><p>Returns TRUE if the line edit's contents has been modified by the user; otherwise returns FALSE.
+See the <a href="qlineedit.html#modified-prop">"modified"</a> property for details.
+<h3 class=fn>bool <a name="isReadOnly"></a>QLineEdit::isReadOnly () const
+</h3><p>Returns TRUE if the line edit is read only; otherwise returns FALSE.
+See the <a href="qlineedit.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>bool <a name="isRedoAvailable"></a>QLineEdit::isRedoAvailable () const
+</h3><p>Returns TRUE if redo is available; otherwise returns FALSE.
+See the <a href="qlineedit.html#redoAvailable-prop">"redoAvailable"</a> property for details.
+<h3 class=fn>bool <a name="isUndoAvailable"></a>QLineEdit::isUndoAvailable () const
+</h3><p>Returns TRUE if undo is available; otherwise returns FALSE.
+See the <a href="qlineedit.html#undoAvailable-prop">"undoAvailable"</a> property for details.
+<h3 class=fn>void <a name="keyPressEvent"></a>QLineEdit::keyPressEvent ( <a href="qkeyevent.html">QKeyEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Converts key press event <em>e</em> into a line edit action.
+<p> If Return or Enter is pressed and the current text is valid (or
+can be <a href="qvalidator.html#fixup">made valid</a> by the
+validator), the signal <a href="#returnPressed">returnPressed</a>() is emitted.
+<p> The default key bindings are listed in the <a href="#desc">detailed
+ description.</a>
+
+<p>Reimplemented from <a href="qwidget.html#keyPressEvent">QWidget</a>.
+<h3 class=fn>void <a name="lostFocus"></a>QLineEdit::lostFocus ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the line edit has lost focus.
+<p> <p>See also <a href="qwidget.html#focus-prop">focus</a>, <a href="qwidget.html#focusInEvent">QWidget::focusInEvent</a>(), and <a href="qwidget.html#focusOutEvent">QWidget::focusOutEvent</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="markedText"></a>QLineEdit::markedText () const
+</h3><p>Returns the text selected by the user. Use selectedText instead.
+See the <a href="qlineedit.html#markedText-prop">"markedText"</a> property for details.
+<h3 class=fn>int <a name="maxLength"></a>QLineEdit::maxLength () const
+</h3><p>Returns the maximum permitted length of the text.
+See the <a href="qlineedit.html#maxLength-prop">"maxLength"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSizeHint"></a>QLineEdit::minimumSizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns a minimum size for the line edit.
+<p> The width returned is enough for at least one character.
+
+<p>Reimplemented from <a href="qwidget.html#minimumSizeHint">QWidget</a>.
+<h3 class=fn>void <a name="paste"></a>QLineEdit::paste ()<tt> [virtual slot]</tt>
+</h3>
+Inserts the clipboard's text at the cursor position, deleting any
+selected text, providing the line edit is not <a href="#readOnly-prop">read-only</a>.
+<p> If the end result would not be acceptable to the current
+<a href="#setValidator">validator</a>, nothing happens.
+<p> <p>See also <a href="#copy">copy</a>() and <a href="#cut">cut</a>().
+
+<h3 class=fn>void <a name="redo"></a>QLineEdit::redo ()<tt> [virtual slot]</tt>
+</h3>
+Redoes the last operation if redo is <a href="#redoAvailable-prop">available</a>.
+
+<h3 class=fn>void <a name="repaintArea"></a>QLineEdit::repaintArea ( int&nbsp;from, int&nbsp;to )<tt> [protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Repaints all characters from <em>from</em> to <em>to</em>. If cursorPos is
+between from and to, ensures that cursorPos is visible.
+
+<h3 class=fn>void <a name="returnPressed"></a>QLineEdit::returnPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the Return or Enter key is pressed.
+Note that if there is a <a href="#validator">validator</a>() or <a href="#inputMask">inputMask</a>() set on the line
+edit, the <a href="#returnPressed">returnPressed</a>() signal will only be emitted if the input
+follows the inputMask() and the validator() returns <tt>Acceptable</tt>.
+
+<p>Example: <a href="popup-example.html#x1610">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="selectAll"></a>QLineEdit::selectAll ()<tt> [virtual slot]</tt>
+</h3>
+Selects all the text (i.e. highlights it) and moves the cursor to
+the end. This is useful when a default value has been inserted
+because if the user types before clicking on the widget, the
+selected text will be deleted.
+<p> <p>See also <a href="#setSelection">setSelection</a>() and <a href="#deselect">deselect</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedText"></a>QLineEdit::selectedText () const
+</h3><p>Returns the selected text.
+See the <a href="qlineedit.html#selectedText-prop">"selectedText"</a> property for details.
+<h3 class=fn>void <a name="selectionChanged"></a>QLineEdit::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the selection changes.
+<p> <p>See also <a href="#hasSelectedText-prop">hasSelectedText</a> and <a href="#selectedText-prop">selectedText</a>.
+
+<h3 class=fn>int <a name="selectionStart"></a>QLineEdit::selectionStart () const
+</h3>
+<a href="#selectionStart">selectionStart</a>() returns the index of the first selected character in the
+line edit or -1 if no text is selected.
+<p> <p>See also <a href="#selectedText-prop">selectedText</a>.
+
+<h3 class=fn>void <a name="setAlignment"></a>QLineEdit::setAlignment ( int&nbsp;flag )<tt> [virtual slot]</tt>
+</h3><p>Sets the alignment of the line edit to <em>flag</em>.
+See the <a href="qlineedit.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>void <a name="setCursorPosition"></a>QLineEdit::setCursorPosition ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the current cursor position for this line edit.
+See the <a href="qlineedit.html#cursorPosition-prop">"cursorPosition"</a> property for details.
+<h3 class=fn>void <a name="setDragEnabled"></a>QLineEdit::setDragEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the lineedit starts a drag if the user presses and moves the mouse on some selected text to <em>b</em>.
+See the <a href="qlineedit.html#dragEnabled-prop">"dragEnabled"</a> property for details.
+<h3 class=fn>void <a name="setEchoMode"></a>QLineEdit::setEchoMode ( <a href="qlineedit.html#EchoMode-enum">EchoMode</a> )<tt> [virtual slot]</tt>
+</h3><p>Sets the line edit's echo mode.
+See the <a href="qlineedit.html#echoMode-prop">"echoMode"</a> property for details.
+<h3 class=fn>void <a name="setEdited"></a>QLineEdit::setEdited ( bool )
+</h3><p>Sets whether the line edit has been edited. Use modified instead.
+See the <a href="qlineedit.html#edited-prop">"edited"</a> property for details.
+<h3 class=fn>void <a name="setFrame"></a>QLineEdit::setFrame ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the line edit draws itself with a frame.
+See the <a href="qlineedit.html#frame-prop">"frame"</a> property for details.
+<h3 class=fn>void <a name="setInputMask"></a>QLineEdit::setInputMask ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;inputMask )
+</h3><p>Sets the validation input mask to <em>inputMask</em>.
+See the <a href="qlineedit.html#inputMask-prop">"inputMask"</a> property for details.
+<h3 class=fn>void <a name="setMaxLength"></a>QLineEdit::setMaxLength ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the maximum permitted length of the text.
+See the <a href="qlineedit.html#maxLength-prop">"maxLength"</a> property for details.
+<h3 class=fn>void <a name="setReadOnly"></a>QLineEdit::setReadOnly ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the line edit is read only.
+See the <a href="qlineedit.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>void <a name="setSelection"></a>QLineEdit::setSelection ( int&nbsp;start, int&nbsp;length )<tt> [virtual slot]</tt>
+</h3>
+Selects text from position <em>start</em> and for <em>length</em> characters.
+<p> Note that this function sets the cursor's position to the end of
+the selection regardless of its current position.
+<p> <p>See also <a href="#deselect">deselect</a>(), <a href="#selectAll">selectAll</a>(), <a href="#getSelection">getSelection</a>(), <a href="#cursorForward">cursorForward</a>(), and <a href="#cursorBackward">cursorBackward</a>().
+
+<h3 class=fn>void <a name="setText"></a>QLineEdit::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the line edit's text.
+See the <a href="qlineedit.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setValidator"></a>QLineEdit::setValidator ( const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;*&nbsp;v )<tt> [virtual slot]</tt>
+</h3>
+Sets this line edit to only accept input that the validator, <em>v</em>,
+will accept. This allows you to place any arbitrary constraints on
+the text which may be entered.
+<p> If <em>v</em> == 0, <a href="#setValidator">setValidator</a>() removes the current input validator.
+The initial setting is to have no input validator (i.e. any input
+is accepted up to <a href="#maxLength">maxLength</a>()).
+<p> <p>See also <a href="#validator">validator</a>(), <a href="qintvalidator.html">QIntValidator</a>, <a href="qdoublevalidator.html">QDoubleValidator</a>, and <a href="qregexpvalidator.html">QRegExpValidator</a>.
+
+<p>Examples: <a href="lineedits-example.html#x180">lineedits/lineedits.cpp</a> and <a href="wizard-example.html#x7">wizard/wizard.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QLineEdit::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns a recommended size for the widget.
+<p> The width returned, in pixels, is usually enough for about 15 to
+20 characters.
+
+<p>Example: <a href="addressbook-example.html#x583">addressbook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QLineEdit::text () const
+</h3><p>Returns the line edit's text.
+See the <a href="qlineedit.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="textChanged"></a>QLineEdit::textChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the text changes. The argument is
+the new text.
+
+<p>Examples: <a href="qaxserver-example-simple.html#x2523">simple/main.cpp</a>, <a href="wizard-example.html#x9">wizard/wizard.cpp</a>, and <a href="xform-example.html#x1231">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="undo"></a>QLineEdit::undo ()<tt> [virtual slot]</tt>
+</h3>
+Undoes the last operation if undo is <a href="#undoAvailable-prop">available</a>. Deselects any current
+selection, and updates the selection start to the current cursor
+position.
+
+<h3 class=fn>bool <a name="validateAndSet"></a>QLineEdit::validateAndSet ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newText, int&nbsp;newPos, int&nbsp;newMarkAnchor, int&nbsp;newMarkDrag )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#setText">setText</a>(), <a href="#setCursorPosition">setCursorPosition</a>() and <a href="#setSelection">setSelection</a>() instead.
+
+<h3 class=fn>const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;* <a name="validator"></a>QLineEdit::validator () const
+</h3>
+Returns a pointer to the current input validator, or 0 if no
+validator has been set.
+<p> <p>See also <a href="#setValidator">setValidator</a>().
+
+<p>Example: <a href="wizard-example.html#x10">wizard/wizard.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="acceptableInput-prop"></a>acceptableInput</h3>
+<p>This property holds whether the input satisfies the inputMask and the validator.
+<p>Get this property's value with <a href="#hasAcceptableInput">hasAcceptableInput</a>().
+<p><p>See also <a href="#inputMask-prop">inputMask</a> and <a href="#setValidator">setValidator</a>().
+
+<h3 class=fn>Alignment <a name="alignment-prop"></a>alignment</h3>
+<p>This property holds the alignment of the line edit.
+<p>Possible Values are <a href="qt.html#AlignmentFlags-enum">Qt::AlignAuto</a>, <a href="qt.html#AlignmentFlags-enum">Qt::AlignLeft</a>, <a href="qt.html#AlignmentFlags-enum">Qt::AlignRight</a> and <a href="qt.html#AlignmentFlags-enum">Qt::AlignHCenter</a>.
+<p> Attempting to set the alignment to an illegal flag combination
+does nothing.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<p>Set this property's value with <a href="#setAlignment">setAlignment</a>() and get this property's value with <a href="#alignment">alignment</a>().
+<h3 class=fn>int <a name="cursorPosition-prop"></a>cursorPosition</h3>
+<p>This property holds the current cursor position for this line edit.
+<p>Setting the cursor position causes a repaint when appropriate.
+
+<p>Set this property's value with <a href="#setCursorPosition">setCursorPosition</a>() and get this property's value with <a href="#cursorPosition">cursorPosition</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="displayText-prop"></a>displayText</h3>
+<p>This property holds the displayed text.
+<p>If <a href="#EchoMode-enum">EchoMode</a> is <a href="#EchoMode-enum">Normal</a> this returns the same as <a href="#text">text</a>(); if
+<a href="#EchoMode-enum">EchoMode</a> is <a href="#EchoMode-enum">Password</a> it returns a string of asterisks
+text().length() characters long, e.g. "******"; if <a href="#EchoMode-enum">EchoMode</a> is
+<a href="#EchoMode-enum">NoEcho</a> returns an empty string, "".
+<p> <p>See also <a href="#echoMode-prop">echoMode</a>, <a href="#text-prop">text</a>, and <a href="#EchoMode-enum">EchoMode</a>.
+
+<p>Get this property's value with <a href="#displayText">displayText</a>().
+<h3 class=fn>bool <a name="dragEnabled-prop"></a>dragEnabled</h3>
+<p>This property holds whether the lineedit starts a drag if the user presses and moves the mouse on some selected text.
+<p>
+<p>Set this property's value with <a href="#setDragEnabled">setDragEnabled</a>() and get this property's value with <a href="#dragEnabled">dragEnabled</a>().
+<h3 class=fn><a href="qlineedit.html#EchoMode-enum">EchoMode</a> <a name="echoMode-prop"></a>echoMode</h3>
+<p>This property holds the line edit's echo mode.
+<p>The initial setting is <a href="#EchoMode-enum">Normal</a>, but QLineEdit also supports <a href="#EchoMode-enum">NoEcho</a> and <a href="#EchoMode-enum">Password</a> modes.
+<p> The widget's display and the ability to copy or drag the text is
+affected by this setting.
+<p> <p>See also <a href="#EchoMode-enum">EchoMode</a> and <a href="#displayText-prop">displayText</a>.
+
+<p>Set this property's value with <a href="#setEchoMode">setEchoMode</a>() and get this property's value with <a href="#echoMode">echoMode</a>().
+<h3 class=fn>bool <a name="edited-prop"></a>edited</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds whether the line edit has been edited. Use modified instead.
+<p>
+<p>Set this property's value with <a href="#setEdited">setEdited</a>() and get this property's value with <a href="#edited">edited</a>().
+<h3 class=fn>bool <a name="frame-prop"></a>frame</h3>
+<p>This property holds whether the line edit draws itself with a frame.
+<p>If enabled (the default) the line edit draws itself inside a
+two-pixel frame, otherwise the line edit draws itself without any
+frame.
+
+<p>Set this property's value with <a href="#setFrame">setFrame</a>() and get this property's value with <a href="#frame">frame</a>().
+<h3 class=fn>bool <a name="hasMarkedText-prop"></a>hasMarkedText</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds whether part of the text has been selected by the user. Use hasSelectedText instead.
+<p>
+<p>Get this property's value with <a href="#hasMarkedText">hasMarkedText</a>().
+<h3 class=fn>bool <a name="hasSelectedText-prop"></a>hasSelectedText</h3>
+<p>This property holds whether there is any text selected.
+<p>hasSelectedText() returns TRUE if some or all of the text has been
+selected by the user; otherwise returns FALSE.
+<p> <p>See also <a href="#selectedText-prop">selectedText</a>.
+
+<p>Get this property's value with <a href="#hasSelectedText">hasSelectedText</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="inputMask-prop"></a>inputMask</h3>
+<p>This property holds the validation input mask.
+<p>If no mask is set, <a href="#inputMask">inputMask</a>() returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> Sets the QLineEdit's validation mask. Validators can be used
+instead of, or in conjunction with masks; see <a href="#setValidator">setValidator</a>().
+<p> Unset the mask and return to normal QLineEdit operation by passing
+an empty string ("") or just calling <a href="#setInputMask">setInputMask</a>() with no
+arguments.
+<p> The mask format understands these mask characters:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Character <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>A</tt> <td valign="top">ASCII alphabetic character required. A-Z, a-z.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>a</tt> <td valign="top">ASCII alphabetic character permitted but not required.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>N</tt> <td valign="top">ASCII alphanumeric character required. A-Z, a-z, 0-9.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>n</tt> <td valign="top">ASCII alphanumeric character permitted but not required.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>X</tt> <td valign="top">Any character required.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qwidget.html#x-prop">x</a> <td valign="top">Any character permitted but not required.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>9</tt> <td valign="top">ASCII digit required. 0-9.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>0</tt> <td valign="top">ASCII digit permitted but not required.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>D</tt> <td valign="top">ASCII digit required. 1-9.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>d</tt> <td valign="top">ASCII digit permitted but not required (1-9).
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>#</tt> <td valign="top">ASCII digit or plus/minus sign permitted but not required.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&gt;</tt> <td valign="top">All following alphabetic characters are uppercased.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;</tt> <td valign="top">All following alphabetic characters are lowercased.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>!</tt> <td valign="top">Switch off case conversion.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&#92;</tt> <td valign="top">Use <tt>&#92;</tt> to escape the special
+characters listed above to use them as
+separators.
+</table></center>
+<p> The mask consists of a string of mask characters and separators,
+optionally followed by a semi-colon and the character used for
+blanks: the blank characters are always removed from the text
+after editing. The default blank character is space.
+<p> Examples:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Mask <th valign="top">Notes
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>000.000.000.000;_</tt> <td valign="top">IP address; blanks are <tt>_</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>0000-00-00</tt> <td valign="top">ISO Date; blanks are <tt>space</tt>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&gt;AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#</tt> <td valign="top">License number;
+blanks are <tt>-</tt> and all (alphabetic) characters are converted to
+uppercase.
+</table></center>
+<p> To get range control (e.g. for an IP address) use masks together
+with <a href="#setValidator">validators</a>.
+<p> <p>See also <a href="#maxLength-prop">maxLength</a>.
+
+<p>Set this property's value with <a href="#setInputMask">setInputMask</a>() and get this property's value with <a href="#inputMask">inputMask</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="markedText-prop"></a>markedText</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds the text selected by the user. Use selectedText instead.
+<p>
+<p>Get this property's value with <a href="#markedText">markedText</a>().
+<h3 class=fn>int <a name="maxLength-prop"></a>maxLength</h3>
+<p>This property holds the maximum permitted length of the text.
+<p>If the text is too long, it is truncated at the limit.
+<p> If truncation occurs any selected text will be unselected, the
+cursor position is set to 0 and the first part of the string is
+shown.
+<p> If the line edit has an input mask, the mask defines the maximum
+string length.
+<p> <p>See also <a href="#inputMask-prop">inputMask</a>.
+
+<p>Set this property's value with <a href="#setMaxLength">setMaxLength</a>() and get this property's value with <a href="#maxLength">maxLength</a>().
+<h3 class=fn>bool <a name="modified-prop"></a>modified</h3>
+<p>This property holds whether the line edit's contents has been modified by the user.
+<p>The modified flag is never read by QLineEdit; it has a default value
+of FALSE and is changed to TRUE whenever the user changes the line
+edit's contents.
+<p> This is useful for things that need to provide a default value but
+do not start out knowing what the default should be (perhaps it
+depends on other fields on the form). Start the line edit without
+the best default, and when the default is known, if modified()
+returns FALSE (the user hasn't entered any text), insert the
+default value.
+<p> Calling <a href="#clearModified">clearModified</a>() or <a href="#setText">setText</a>() resets the modified flag to
+FALSE.
+
+<p>Get this property's value with <a href="#isModified">isModified</a>().
+<h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the line edit is read only.
+<p>In read-only mode, the user can still copy the text to the
+clipboard or drag-and-drop the text (if <a href="#echoMode">echoMode</a>() is <a href="#EchoMode-enum">Normal</a>),
+but cannot edit it.
+<p> QLineEdit does not show a cursor in read-only mode.
+<p> <p>See also <a href="qwidget.html#enabled-prop">enabled</a>.
+
+<p>Set this property's value with <a href="#setReadOnly">setReadOnly</a>() and get this property's value with <a href="#isReadOnly">isReadOnly</a>().
+<h3 class=fn>bool <a name="redoAvailable-prop"></a>redoAvailable</h3>
+<p>This property holds whether redo is available.
+<p>
+<p>Get this property's value with <a href="#isRedoAvailable">isRedoAvailable</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedText-prop"></a>selectedText</h3>
+<p>This property holds the selected text.
+<p>If there is no selected text this property's value is
+<a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#hasSelectedText-prop">hasSelectedText</a>.
+
+<p>Get this property's value with <a href="#selectedText">selectedText</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the line edit's text.
+<p>Note that setting this property clears the selection, clears the
+undo/redo history, moves the cursor to the end of the line and
+resets the <a href="#modified-prop">modified</a> property to FALSE. The text is not
+validated when inserted with <a href="#setText">setText</a>().
+<p> The text is truncated to <a href="#maxLength">maxLength</a>() length.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn>bool <a name="undoAvailable-prop"></a>undoAvailable</h3>
+<p>This property holds whether undo is available.
+<p>
+<p>Get this property's value with <a href="#isUndoAvailable">isUndoAvailable</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlist.html b/doc/html/qlist.html
new file mode 100644
index 0000000..4b53dc4
--- /dev/null
+++ b/doc/html/qlist.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QList Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QList Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qlist.h&gt;</pre>
+
+<p> The QList class has been renamed <b> <a href="qptrlist.html">QPtrList</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistbox-h.html b/doc/html/qlistbox-h.html
new file mode 100644
index 0000000..1b347c6
--- /dev/null
+++ b/doc/html/qlistbox-h.html
@@ -0,0 +1,480 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlistbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlistbox.h</h1>
+
+<p>This is the verbatim text of the qlistbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qlistbox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QListBox widget class
+**
+** Created : 941121
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLISTBOX_H
+#define QLISTBOX_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#include "qpixmap.h"
+#endif // QT_H
+
+#ifndef QT_NO_LISTBOX
+
+
+class QListBoxPrivate;
+class QListBoxItem;
+class QString;
+class QStrList;
+class QStringList;
+
+
+class Q_EXPORT QListBox : public QScrollView
+{
+ friend class QListBoxItem;
+ friend class QListBoxPrivate;
+
+ Q_OBJECT
+ Q_ENUMS( SelectionMode LayoutMode )
+ Q_PROPERTY( uint count READ count )
+ Q_PROPERTY( int numItemsVisible READ numItemsVisible )
+ Q_PROPERTY( int currentItem READ currentItem WRITE setCurrentItem )
+ Q_PROPERTY( QString currentText READ currentText )
+ Q_PROPERTY( int topItem READ topItem WRITE setTopItem DESIGNABLE false )
+ Q_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
+ Q_PROPERTY( bool multiSelection READ isMultiSelection WRITE setMultiSelection DESIGNABLE false )
+ Q_PROPERTY( LayoutMode columnMode READ columnMode WRITE setColumnMode )
+ Q_PROPERTY( LayoutMode rowMode READ rowMode WRITE setRowMode )
+ Q_PROPERTY( int numColumns READ numColumns )
+ Q_PROPERTY( int numRows READ numRows )
+ Q_PROPERTY( bool variableWidth READ variableWidth WRITE setVariableWidth )
+ Q_PROPERTY( bool variableHeight READ variableHeight WRITE setVariableHeight )
+
+public:
+ QListBox( QWidget* parent=0, const char* name=0, WFlags f=0 );
+ ~QListBox();
+
+ virtual void setFont( const QFont &amp; );
+
+ uint count() const;
+
+ void insertStringList( const QStringList&amp;, int index=-1 );
+ void insertStrList( const QStrList *, int index=-1 );
+ void insertStrList( const QStrList &amp;, int index=-1 );
+ void insertStrList( const char **,
+ int numStrings=-1, int index=-1 );
+
+ void insertItem( const QListBoxItem *, int index=-1 );
+ void insertItem( const QListBoxItem *, const QListBoxItem *after );
+ void insertItem( const QString &amp;text, int index=-1 );
+ void insertItem( const QPixmap &amp;pixmap, int index=-1 );
+ void insertItem( const QPixmap &amp;pixmap, const QString &amp;text, int index=-1 );
+
+ void removeItem( int index );
+
+ QString text( int index ) const;
+ const QPixmap *pixmap( int index ) const;
+
+ void changeItem( const QListBoxItem *, int index );
+ void changeItem( const QString &amp;text, int index );
+ void changeItem( const QPixmap &amp;pixmap, int index );
+ void changeItem( const QPixmap &amp;pixmap, const QString &amp;text, int index );
+
+ void takeItem( const QListBoxItem * );
+
+ int numItemsVisible() const;
+
+ int currentItem() const;
+ QString currentText() const { return text(currentItem()); }
+ virtual void setCurrentItem( int index );
+ virtual void setCurrentItem( QListBoxItem * );
+ void centerCurrentItem() { ensureCurrentVisible(); }
+ int topItem() const;
+ virtual void setTopItem( int index );
+ virtual void setBottomItem( int index );
+
+ long maxItemWidth() const;
+
+ enum SelectionMode { Single, Multi, Extended, NoSelection };
+ virtual void setSelectionMode( SelectionMode );
+ SelectionMode selectionMode() const;
+
+ void setMultiSelection( bool multi );
+ bool isMultiSelection() const;
+
+ virtual void setSelected( QListBoxItem *, bool );
+ void setSelected( int, bool );
+ bool isSelected( int ) const;
+ bool isSelected( const QListBoxItem * ) const;
+ QListBoxItem* selectedItem() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ QListBoxItem *item( int index ) const;
+ int index( const QListBoxItem * ) const;
+ QListBoxItem *findItem( const QString &amp;text, ComparisonFlags compare = BeginsWith ) const;
+
+ void triggerUpdate( bool doLayout );
+
+ bool itemVisible( int index );
+ bool itemVisible( const QListBoxItem * );
+
+ enum LayoutMode { FixedNumber,
+ FitToWidth, FitToHeight = FitToWidth,
+ Variable };
+ virtual void setColumnMode( LayoutMode );
+ virtual void setColumnMode( int );
+ virtual void setRowMode( LayoutMode );
+ virtual void setRowMode( int );
+
+ LayoutMode columnMode() const;
+ LayoutMode rowMode() const;
+
+ int numColumns() const;
+ int numRows() const;
+
+ bool variableWidth() const;
+ virtual void setVariableWidth( bool );
+
+ bool variableHeight() const;
+ virtual void setVariableHeight( bool );
+
+ void viewportPaintEvent( QPaintEvent * );
+
+#ifndef QT_NO_COMPAT
+ bool dragSelect() const { return TRUE; }
+ void setDragSelect( bool ) {}
+ bool autoScroll() const { return TRUE; }
+ void setAutoScroll( bool ) {}
+ bool autoScrollBar() const { return vScrollBarMode() == Auto; }
+ void setAutoScrollBar( bool enable ) { setVScrollBarMode( enable ? Auto : AlwaysOff ); }
+ bool scrollBar() const { return vScrollBarMode() != AlwaysOff; }
+ void setScrollBar( bool enable ) { setVScrollBarMode( enable ? AlwaysOn : AlwaysOff ); }
+ bool autoBottomScrollBar() const { return hScrollBarMode() == Auto; }
+ void setAutoBottomScrollBar( bool enable ) { setHScrollBarMode( enable ? Auto : AlwaysOff ); }
+ bool bottomScrollBar() const { return hScrollBarMode() != AlwaysOff; }
+ void setBottomScrollBar( bool enable ) { setHScrollBarMode( enable ? AlwaysOn : AlwaysOff ); }
+ bool smoothScrolling() const { return FALSE; }
+ void setSmoothScrolling( bool ) {}
+ bool autoUpdate() const { return TRUE; }
+ void setAutoUpdate( bool ) {}
+ void setFixedVisibleLines( int lines ) { setRowMode( lines ); }
+ int inSort( const QListBoxItem * );
+ int inSort( const QString&amp; text );
+ int cellHeight( int i ) const { return itemHeight(i); }
+ int cellHeight() const { return itemHeight(); }
+ int cellWidth() const { return maxItemWidth(); }
+ int cellWidth(int i) const { Q_ASSERT(i==0); Q_UNUSED(i) return maxItemWidth(); }
+ int numCols() const { return numColumns(); }
+#endif
+
+ int itemHeight( int index = 0 ) const;
+ QListBoxItem * itemAt( const QPoint &amp; ) const;
+
+ QRect itemRect( QListBoxItem *item ) const;
+
+ QListBoxItem *firstItem() const;
+
+ void sort( bool ascending = TRUE );
+
+public slots:
+ void clear();
+ virtual void ensureCurrentVisible();
+ virtual void clearSelection();
+ virtual void selectAll( bool select );
+ virtual void invertSelection();
+
+signals:
+ void highlighted( int index );
+ void selected( int index );
+ void highlighted( const QString &amp;);
+ void selected( const QString &amp;);
+ void highlighted( QListBoxItem * );
+ void selected( QListBoxItem * );
+
+ void selectionChanged();
+ void selectionChanged( QListBoxItem * );
+ void currentChanged( QListBoxItem * );
+ void clicked( QListBoxItem * );
+ void clicked( QListBoxItem *, const QPoint &amp; );
+ void pressed( QListBoxItem * );
+ void pressed( QListBoxItem *, const QPoint &amp; );
+
+ void doubleClicked( QListBoxItem * );
+ void returnPressed( QListBoxItem * );
+ void rightButtonClicked( QListBoxItem *, const QPoint &amp; );
+ void rightButtonPressed( QListBoxItem *, const QPoint &amp; );
+ void mouseButtonPressed( int, QListBoxItem*, const QPoint&amp; );
+ void mouseButtonClicked( int, QListBoxItem*, const QPoint&amp; );
+
+ void contextMenuRequested( QListBoxItem *, const QPoint &amp; );
+
+ void onItem( QListBoxItem *item );
+ void onViewport();
+
+protected:
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void contentsContextMenuEvent( QContextMenuEvent * );
+
+ void keyPressEvent( QKeyEvent *e );
+ void focusInEvent( QFocusEvent *e );
+ void focusOutEvent( QFocusEvent *e );
+ void resizeEvent( QResizeEvent * );
+ void showEvent( QShowEvent * );
+
+ bool eventFilter( QObject *o, QEvent *e );
+
+ void updateItem( int index );
+ void updateItem( QListBoxItem * );
+
+#ifndef QT_NO_COMPAT
+ void updateCellWidth() { }
+ int totalWidth() const { return contentsWidth(); }
+ int totalHeight() const { return contentsHeight(); }
+#endif
+
+ virtual void paintCell( QPainter *, int row, int col );
+
+ void toggleCurrentItem();
+ bool isRubberSelecting() const;
+
+ void doLayout() const;
+
+ void windowActivationChange( bool );
+
+#ifndef QT_NO_COMPAT
+ bool itemYPos( int index, int *yPos ) const;
+ int findItem( int yPos ) const { return index(itemAt(QPoint(0,yPos)) ); }
+#endif
+
+protected slots:
+ void clearInputString();
+
+private slots:
+ void refreshSlot();
+ void doAutoScroll();
+ void adjustItems();
+
+private:
+ void mousePressEventEx( QMouseEvent * );
+ void tryGeometry( int, int ) const;
+ int currentRow() const;
+ int currentColumn() const;
+ void updateSelection();
+ void repaintSelection();
+ void drawRubber();
+ void doRubberSelection( const QRect &amp;old, const QRect &amp;rubber );
+ void handleItemChange( QListBoxItem *old, bool shift, bool control );
+ void selectRange( QListBoxItem *from, QListBoxItem *to, bool invert, bool includeFirst, bool clearSel = FALSE );
+
+ void emitChangedSignal( bool );
+
+ int columnAt( int ) const;
+ int rowAt( int ) const;
+
+ QListBoxPrivate * d;
+
+ static QListBox * changedListBox;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QListBox( const QListBox &amp; );
+ QListBox &amp;operator=( const QListBox &amp; );
+#endif
+};
+
+
+class Q_EXPORT QListBoxItem
+{
+public:
+ QListBoxItem( QListBox* listbox = 0 );
+ QListBoxItem( QListBox* listbox, QListBoxItem *after );
+ virtual ~QListBoxItem();
+
+ virtual QString text() const;
+ virtual const QPixmap *pixmap() const;
+
+ virtual int height( const QListBox * ) const;
+ virtual int width( const QListBox * ) const;
+
+ bool isSelected() const { return s; }
+ bool isCurrent() const;
+
+#ifndef QT_NO_COMPAT
+ bool selected() const { return isSelected(); }
+ bool current() const { return isCurrent(); }
+#endif
+
+ QListBox *listBox() const;
+
+ void setSelectable( bool b );
+ bool isSelectable() const;
+
+ QListBoxItem *next() const;
+ QListBoxItem *prev() const;
+
+ virtual int rtti() const;
+ static int RTTI;
+
+protected:
+ virtual void paint( QPainter * ) = 0;
+ virtual void setText( const QString &amp;text ) { txt = text; }
+ void setCustomHighlighting( bool );
+
+private:
+ QString txt;
+ uint s:1;
+ uint dirty:1;
+ uint custom_highlight : 1;
+ int x, y;
+ QListBoxItem * p, * n;
+ QListBox* lbox;
+ friend class QListBox;
+ friend class QListBoxPrivate;
+ friend class QComboBox;
+ friend class QComboBoxPopupItem;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QListBoxItem( const QListBoxItem &amp; );
+ QListBoxItem &amp;operator=( const QListBoxItem &amp; );
+#endif
+};
+
+
+class Q_EXPORT QListBoxText : public QListBoxItem
+{
+public:
+ QListBoxText( QListBox* listbox, const QString &amp; text=QString::null );
+ QListBoxText( const QString &amp; text=QString::null );
+ QListBoxText( QListBox* listbox, const QString &amp; text, QListBoxItem *after );
+ ~QListBoxText();
+
+ int height( const QListBox * ) const;
+ int width( const QListBox * ) const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void paint( QPainter * );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QListBoxText( const QListBoxText &amp; );
+ QListBoxText &amp;operator=( const QListBoxText &amp; );
+#endif
+};
+
+
+class Q_EXPORT QListBoxPixmap : public QListBoxItem
+{
+public:
+ QListBoxPixmap( QListBox* listbox, const QPixmap &amp; );
+ QListBoxPixmap( const QPixmap &amp; );
+ QListBoxPixmap( QListBox* listbox, const QPixmap &amp; pix, QListBoxItem *after );
+ QListBoxPixmap( QListBox* listbox, const QPixmap &amp;, const QString&amp; );
+ QListBoxPixmap( const QPixmap &amp;, const QString&amp; );
+ QListBoxPixmap( QListBox* listbox, const QPixmap &amp; pix, const QString&amp;, QListBoxItem *after );
+ ~QListBoxPixmap();
+
+ const QPixmap *pixmap() const { return &amp;pm; }
+
+ int height( const QListBox * ) const;
+ int width( const QListBox * ) const;
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void paint( QPainter * );
+
+private:
+ QPixmap pm;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QListBoxPixmap( const QListBoxPixmap &amp; );
+ QListBoxPixmap &amp;operator=( const QListBoxPixmap &amp; );
+#endif
+};
+
+
+#endif // QT_NO_LISTBOX
+
+#endif // QLISTBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistbox-m.png b/doc/html/qlistbox-m.png
new file mode 100644
index 0000000..41a9a4c
--- /dev/null
+++ b/doc/html/qlistbox-m.png
Binary files differ
diff --git a/doc/html/qlistbox-members.html b/doc/html/qlistbox-members.html
new file mode 100644
index 0000000..fbec8f1
--- /dev/null
+++ b/doc/html/qlistbox-members.html
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistbox.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistbox.html">QListBox</a>, including inherited members.
+
+<ul>
+<li><a href="qlistbox.html#QListBox">QListBox</a>()
+<li><a href="qlistbox.html#~QListBox">~QListBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qlistbox.html#autoBottomScrollBar">autoBottomScrollBar</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qlistbox.html#autoScrollBar">autoScrollBar</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qlistbox.html#bottomScrollBar">bottomScrollBar</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qlistbox.html#cellHeight">cellHeight</a>()
+<li><a href="qlistbox.html#cellWidth">cellWidth</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qlistbox.html#centerCurrentItem">centerCurrentItem</a>()
+<li><a href="qlistbox.html#changeItem">changeItem</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qlistbox.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qlistbox.html#clearSelection">clearSelection</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qlistbox.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qlistbox.html#columnMode">columnMode</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qlistbox.html#contextMenuRequested">contextMenuRequested</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qlistbox.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qlistbox.html#currentChanged">currentChanged</a>()
+<li><a href="qlistbox.html#currentItem">currentItem</a>()
+<li><a href="qlistbox.html#currentText">currentText</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qlistbox.html#doLayout">doLayout</a>()
+<li><a href="qlistbox.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qlistbox.html#ensureCurrentVisible">ensureCurrentVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qlistbox.html#findItem">findItem</a>()
+<li><a href="qlistbox.html#firstItem">firstItem</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qlistbox.html#highlighted">highlighted</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qlistbox.html#inSort">inSort</a>()
+<li><a href="qlistbox.html#index">index</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qlistbox.html#insertItem">insertItem</a>()
+<li><a href="qlistbox.html#insertStrList">insertStrList</a>()
+<li><a href="qlistbox.html#insertStringList">insertStringList</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qlistbox.html#invertSelection">invertSelection</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qlistbox.html#isMultiSelection">isMultiSelection</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qlistbox.html#isRubberSelecting">isRubberSelecting</a>()
+<li><a href="qlistbox.html#isSelected">isSelected</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlistbox.html#item">item</a>()
+<li><a href="qlistbox.html#itemAt">itemAt</a>()
+<li><a href="qlistbox.html#itemHeight">itemHeight</a>()
+<li><a href="qlistbox.html#itemRect">itemRect</a>()
+<li><a href="qlistbox.html#itemVisible">itemVisible</a>()
+<li><a href="qlistbox.html#itemYPos">itemYPos</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qlistbox.html#maxItemWidth">maxItemWidth</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qlistbox.html#mouseButtonClicked">mouseButtonClicked</a>()
+<li><a href="qlistbox.html#mouseButtonPressed">mouseButtonPressed</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qlistbox.html#numCols">numCols</a>()
+<li><a href="qlistbox.html#numColumns">numColumns</a>()
+<li><a href="qlistbox.html#numItemsVisible">numItemsVisible</a>()
+<li><a href="qlistbox.html#numRows">numRows</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qlistbox.html#onItem">onItem</a>()
+<li><a href="qlistbox.html#onViewport">onViewport</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qlistbox.html#paintCell">paintCell</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qlistbox.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qlistbox.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlistbox.html#removeItem">removeItem</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qlistbox.html#returnPressed">returnPressed</a>()
+<li><a href="qlistbox.html#rightButtonClicked">rightButtonClicked</a>()
+<li><a href="qlistbox.html#rightButtonPressed">rightButtonPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qlistbox.html#rowMode">rowMode</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qlistbox.html#scrollBar">scrollBar</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qlistbox.html#selectAll">selectAll</a>()
+<li><a href="qlistbox.html#selected">selected</a>()
+<li><a href="qlistbox.html#selectedItem">selectedItem</a>()
+<li><a href="qlistbox.html#selectionChanged">selectionChanged</a>()
+<li><a href="qlistbox.html#selectionMode">selectionMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qlistbox.html#setAutoBottomScrollBar">setAutoBottomScrollBar</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qlistbox.html#setAutoScrollBar">setAutoScrollBar</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qlistbox.html#setBottomItem">setBottomItem</a>()
+<li><a href="qlistbox.html#setBottomScrollBar">setBottomScrollBar</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qlistbox.html#setColumnMode">setColumnMode</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qlistbox.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qlistbox.html#setMultiSelection">setMultiSelection</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qlistbox.html#setRowMode">setRowMode</a>()
+<li><a href="qlistbox.html#setScrollBar">setScrollBar</a>()
+<li><a href="qlistbox.html#setSelected">setSelected</a>()
+<li><a href="qlistbox.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qlistbox.html#setTopItem">setTopItem</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qlistbox.html#setVariableHeight">setVariableHeight</a>()
+<li><a href="qlistbox.html#setVariableWidth">setVariableWidth</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qlistbox.html#sort">sort</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qlistbox.html#takeItem">takeItem</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qlistbox.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qlistbox.html#toggleCurrentItem">toggleCurrentItem</a>()
+<li><a href="qlistbox.html#topItem">topItem</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qlistbox.html#totalHeight">totalHeight</a>()
+<li><a href="qlistbox.html#totalWidth">totalWidth</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlistbox.html#triggerUpdate">triggerUpdate</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qlistbox.html#updateItem">updateItem</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qlistbox.html#variableHeight">variableHeight</a>()
+<li><a href="qlistbox.html#variableWidth">variableWidth</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistbox-w.png b/doc/html/qlistbox-w.png
new file mode 100644
index 0000000..8463dc9
--- /dev/null
+++ b/doc/html/qlistbox-w.png
Binary files differ
diff --git a/doc/html/qlistbox.html b/doc/html/qlistbox.html
new file mode 100644
index 0000000..d4b2c46
--- /dev/null
+++ b/doc/html/qlistbox.html
@@ -0,0 +1,1163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistbox.cpp:805 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListBox Class Reference</h1>
+
+<p>The QListBox widget provides a list of selectable, read-only items.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p><a href="qlistbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListBox"><b>QListBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QListBox"><b>~QListBox</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>void <a href="#insertStringList"><b>insertStringList</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList"><b>insertStrList</b></a> ( const&nbsp;QStrList&nbsp;*&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList-2"><b>insertStrList</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertStrList-3"><b>insertStrList</b></a> ( const&nbsp;char&nbsp;**&nbsp;strings, int&nbsp;numStrings = -1, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;lbi, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem-2"><b>insertItem</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;lbi, const&nbsp;QListBoxItem&nbsp;*&nbsp;after )</li>
+<li class=fn>void <a href="#insertItem-3"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem-4"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertItem-5"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>void <a href="#changeItem"><b>changeItem</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;lbi, int&nbsp;index )</li>
+<li class=fn>void <a href="#changeItem-2"><b>changeItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;index )</li>
+<li class=fn>void <a href="#changeItem-3"><b>changeItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;index )</li>
+<li class=fn>void <a href="#changeItem-4"><b>changeItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;index )</li>
+<li class=fn>void <a href="#takeItem"><b>takeItem</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#numItemsVisible"><b>numItemsVisible</b></a> () const</li>
+<li class=fn>int <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>QString <a href="#currentText"><b>currentText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#setCurrentItem-2"><b>setCurrentItem</b></a> ( QListBoxItem&nbsp;*&nbsp;i )</li>
+<li class=fn>void centerCurrentItem () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#topItem"><b>topItem</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTopItem"><b>setTopItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#setBottomItem"><b>setBottomItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>long <a href="#maxItemWidth"><b>maxItemWidth</b></a> () const</li>
+<li class=fn>enum <a href="#SelectionMode-enum"><b>SelectionMode</b></a> { Single, Multi, Extended, NoSelection }</li>
+<li class=fn>virtual void <a href="#setSelectionMode"><b>setSelectionMode</b></a> ( SelectionMode )</li>
+<li class=fn>SelectionMode <a href="#selectionMode"><b>selectionMode</b></a> () const</li>
+<li class=fn>void setMultiSelection ( bool&nbsp;multi ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isMultiSelection () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( QListBoxItem&nbsp;*&nbsp;item, bool&nbsp;select )</li>
+<li class=fn>void <a href="#setSelected-2"><b>setSelected</b></a> ( int&nbsp;index, bool&nbsp;select )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>bool <a href="#isSelected-2"><b>isSelected</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;i ) const</li>
+<li class=fn>QListBoxItem * <a href="#selectedItem"><b>selectedItem</b></a> () const</li>
+<li class=fn>QListBoxItem * <a href="#item"><b>item</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#index"><b>index</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;lbi ) const</li>
+<li class=fn>QListBoxItem * <a href="#findItem"><b>findItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, ComparisonFlags&nbsp;compare = BeginsWith ) const</li>
+<li class=fn>void <a href="#triggerUpdate"><b>triggerUpdate</b></a> ( bool&nbsp;doLayout )</li>
+<li class=fn>bool <a href="#itemVisible"><b>itemVisible</b></a> ( int&nbsp;index )</li>
+<li class=fn>bool <a href="#itemVisible-2"><b>itemVisible</b></a> ( const&nbsp;QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>enum <a href="#LayoutMode-enum"><b>LayoutMode</b></a> { FixedNumber, FitToWidth, FitToHeight = FitToWidth, Variable }</li>
+<li class=fn>virtual void <a href="#setColumnMode"><b>setColumnMode</b></a> ( LayoutMode )</li>
+<li class=fn>virtual void <a href="#setColumnMode-2"><b>setColumnMode</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setRowMode"><b>setRowMode</b></a> ( LayoutMode )</li>
+<li class=fn>virtual void <a href="#setRowMode-2"><b>setRowMode</b></a> ( int )</li>
+<li class=fn>LayoutMode <a href="#columnMode"><b>columnMode</b></a> () const</li>
+<li class=fn>LayoutMode <a href="#rowMode"><b>rowMode</b></a> () const</li>
+<li class=fn>int <a href="#numColumns"><b>numColumns</b></a> () const</li>
+<li class=fn>int <a href="#numRows"><b>numRows</b></a> () const</li>
+<li class=fn>bool <a href="#variableWidth"><b>variableWidth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setVariableWidth"><b>setVariableWidth</b></a> ( bool )</li>
+<li class=fn>bool <a href="#variableHeight"><b>variableHeight</b></a> () const</li>
+<li class=fn>virtual void <a href="#setVariableHeight"><b>setVariableHeight</b></a> ( bool )</li>
+<li class=fn>bool autoScrollBar () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setAutoScrollBar ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool scrollBar () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setScrollBar ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool autoBottomScrollBar () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setAutoBottomScrollBar ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool bottomScrollBar () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setBottomScrollBar ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int inSort ( const&nbsp;QListBoxItem&nbsp;*&nbsp;lbi ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int inSort ( const&nbsp;QString&nbsp;&amp;&nbsp;text ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellHeight ( int&nbsp;i ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellHeight () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int cellWidth () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int numCols () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#itemHeight"><b>itemHeight</b></a> ( int&nbsp;index = 0 ) const</li>
+<li class=fn>QListBoxItem * <a href="#itemAt"><b>itemAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>QRect <a href="#itemRect"><b>itemRect</b></a> ( QListBoxItem&nbsp;*&nbsp;item ) const</li>
+<li class=fn>QListBoxItem * <a href="#firstItem"><b>firstItem</b></a> () const</li>
+<li class=fn>void <a href="#sort"><b>sort</b></a> ( bool&nbsp;ascending = TRUE )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#ensureCurrentVisible"><b>ensureCurrentVisible</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearSelection"><b>clearSelection</b></a> ()</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;select )</li>
+<li class=fn>virtual void <a href="#invertSelection"><b>invertSelection</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#highlighted"><b>highlighted</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#selected"><b>selected</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#highlighted-2"><b>highlighted</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#selected-2"><b>selected</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#highlighted-3"><b>highlighted</b></a> ( QListBoxItem * )</li>
+<li class=fn>void <a href="#selected-3"><b>selected</b></a> ( QListBoxItem * )</li>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#selectionChanged-2"><b>selectionChanged</b></a> ( QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#clicked-2"><b>clicked</b></a> ( QListBoxItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt )</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#pressed-2"><b>pressed</b></a> ( QListBoxItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt )</li>
+<li class=fn>void <a href="#doubleClicked"><b>doubleClicked</b></a> ( QListBoxItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#returnPressed"><b>returnPressed</b></a> ( QListBoxItem * )</li>
+<li class=fn>void <a href="#rightButtonClicked"><b>rightButtonClicked</b></a> ( QListBoxItem *, const QPoint &amp; )</li>
+<li class=fn>void <a href="#rightButtonPressed"><b>rightButtonPressed</b></a> ( QListBoxItem *, const QPoint &amp; )</li>
+<li class=fn>void <a href="#mouseButtonPressed"><b>mouseButtonPressed</b></a> ( int&nbsp;button, QListBoxItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#mouseButtonClicked"><b>mouseButtonClicked</b></a> ( int&nbsp;button, QListBoxItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#contextMenuRequested"><b>contextMenuRequested</b></a> ( QListBoxItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#onItem"><b>onItem</b></a> ( QListBoxItem&nbsp;*&nbsp;i )</li>
+<li class=fn>void <a href="#onViewport"><b>onViewport</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>LayoutMode <a href="#columnMode-prop"><b>columnMode</b></a>&nbsp;- the column layout mode for this list box</li>
+<li class=fn>uint <a href="#count-prop"><b>count</b></a>&nbsp;- the number of items in the list box &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#currentItem-prop"><b>currentItem</b></a>&nbsp;- the current highlighted item</li>
+<li class=fn>QString <a href="#currentText-prop"><b>currentText</b></a>&nbsp;- the text of the current item &nbsp;<em>(read only)</em></li>
+<li class=fn>bool multiSelection&nbsp;- whether or not the list box is in Multi selection mode &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#numColumns-prop"><b>numColumns</b></a>&nbsp;- the number of columns in the list box &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#numItemsVisible-prop"><b>numItemsVisible</b></a>&nbsp;- the number of visible items &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#numRows-prop"><b>numRows</b></a>&nbsp;- the number of rows in the list box &nbsp;<em>(read only)</em></li>
+<li class=fn>LayoutMode <a href="#rowMode-prop"><b>rowMode</b></a>&nbsp;- the row layout mode for this list box</li>
+<li class=fn>SelectionMode <a href="#selectionMode-prop"><b>selectionMode</b></a>&nbsp;- the selection mode of the list box</li>
+<li class=fn>int <a href="#topItem-prop"><b>topItem</b></a>&nbsp;- the index of an item at the top of the screen</li>
+<li class=fn>bool <a href="#variableHeight-prop"><b>variableHeight</b></a>&nbsp;- whether this list box has variable-height rows</li>
+<li class=fn>bool <a href="#variableWidth-prop"><b>variableWidth</b></a>&nbsp;- whether this list box has variable-width columns</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#updateItem"><b>updateItem</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#updateItem-2"><b>updateItem</b></a> ( QListBoxItem&nbsp;*&nbsp;i )</li>
+<li class=fn>int totalWidth () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int totalHeight () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#paintCell"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#toggleCurrentItem"><b>toggleCurrentItem</b></a> ()</li>
+<li class=fn>bool <a href="#isRubberSelecting"><b>isRubberSelecting</b></a> () const</li>
+<li class=fn>void <a href="#doLayout"><b>doLayout</b></a> () const</li>
+<li class=fn>bool itemYPos ( int&nbsp;index, int&nbsp;*&nbsp;yPos ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int findItem ( int&nbsp;yPos ) const &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListBox widget provides a list of selectable, read-only items.
+<p>
+
+<p> This is typically a single-column list in which either no item or
+one item is selected, but it can also be used in many other ways.
+<p> QListBox will add scroll bars as necessary, but it isn't intended
+for <em>really</em> big lists. If you want more than a few thousand
+items, it's probably better to use a different widget mainly
+because the scroll bars won't provide very good navigation, but
+also because QListBox may become slow with huge lists. (See
+<a href="qlistview.html">QListView</a> and <a href="qtable.html">QTable</a> for possible alternatives.)
+<p> There are a variety of selection modes described in the
+QListBox::SelectionMode documentation. The default is <a href="#SelectionMode-enum">Single</a>
+selection mode, but you can change it using <a href="#setSelectionMode">setSelectionMode</a>().
+(<a href="#setMultiSelection">setMultiSelection</a>() is still provided for compatibility with Qt
+1.x. We recommend using setSelectionMode() in all code.)
+<p> Because QListBox offers multiple selection it must display
+<a href="focus.html#keyboard-focus">keyboard focus</a> and selection state separately. Therefore there are
+functions both to set the selection state of an item, i.e.
+<a href="#setSelected">setSelected</a>(), and to set which item displays keyboard focus, i.e.
+<a href="#setCurrentItem">setCurrentItem</a>().
+<p> The list box normally arranges its items in a single column and
+adds a vertical scroll bar if required. It is possible to have a
+different fixed number of columns (<a href="#setColumnMode">setColumnMode</a>()), or as many
+columns as will fit in the list box's assigned screen space
+(setColumnMode(FitToWidth)), or to have a fixed number of rows
+(<a href="#setRowMode">setRowMode</a>()) or as many rows as will fit in the list box's
+assigned screen space (setRowMode(FitToHeight)). In all these
+cases QListBox will add scroll bars, as appropriate, in at least
+one direction.
+<p> If multiple rows are used, each row can be as high as necessary
+(the normal setting), or you can request that all items will have
+the same height by calling <a href="#setVariableHeight">setVariableHeight</a>(FALSE). The same
+applies to a column's width, see <a href="#setVariableWidth">setVariableWidth</a>().
+<p> The QListBox's items are <a href="qlistboxitem.html">QListBoxItem</a> objects. QListBox provides
+methods to insert new items as strings, as pixmaps, and as
+QListBoxItem * (<a href="#insertItem">insertItem</a>() with various arguments), and to
+replace an existing item with a new string, pixmap or QListBoxItem
+(<a href="#changeItem">changeItem</a>() with various arguments). You can also remove items
+singly with <a href="#removeItem">removeItem</a>() or <a href="#clear">clear</a>() the entire list box. Note that
+if you create a QListBoxItem yourself and insert it, QListBox
+takes ownership of the item.
+<p> You can also create a QListBoxItem, such as <a href="qlistboxtext.html">QListBoxText</a> or
+<a href="qlistboxpixmap.html">QListBoxPixmap</a>, with the list box as first parameter. The item
+will then append itself. When you delete an item it is
+automatically removed from the list box.
+<p> The list of items can be arbitrarily large; QListBox will add
+scroll bars if necessary. QListBox can display a single-column
+(the common case) or multiple-columns, and offers both single and
+multiple selection. QListBox does not support multiple-column
+items (but <a href="qlistview.html">QListView</a> and <a href="qtable.html">QTable</a> do), or tree hierarchies (but
+QListView does).
+<p> The list box items can be accessed both as <a href="qlistboxitem.html">QListBoxItem</a> objects
+(recommended) and using integer indexes (the original QListBox
+implementation used an array of strings internally, and the API
+still supports this mode of operation). Everything can be done
+using the new objects, and most things can be done using indexes.
+<p> Each item in a QListBox contains a QListBoxItem. One of the items
+can be the current item. The <a href="#currentChanged">currentChanged</a>() signal and the
+<a href="#highlighted">highlighted</a>() signal are emitted when a new item becomes current,
+e.g. because the user clicks on it or <a href="#setCurrentItem">QListBox::setCurrentItem</a>()
+is called. The <a href="#selected">selected</a>() signal is emitted when the user
+double-clicks on an item or presses Enter on the current item.
+<p> If the user does not select anything, no signals are emitted and
+<a href="#currentItem">currentItem</a>() returns -1.
+<p> A list box has <a href="qwidget.html#FocusPolicy-enum">WheelFocus</a> as a default <a href="qwidget.html#focusPolicy">focusPolicy</a>(), i.e. it
+can get keyboard focus by tabbing, clicking and through the use of
+the mouse wheel.
+<p> New items can be inserted using <a href="#insertItem">insertItem</a>(), <a href="#insertStrList">insertStrList</a>() or
+<a href="#insertStringList">insertStringList</a>(). <a href="#inSort">inSort</a>() is obsolete because this method is
+quite inefficient. It's preferable to insert the items normally
+and call <a href="#sort">sort</a>() afterwards, or to insert a sorted <a href="qstringlist.html">QStringList</a>().
+<p> By default, vertical and horizontal scroll bars are added and
+removed as necessary. <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>() and <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+can be used to change this policy.
+<p> If you need to insert types other than strings and pixmaps, you
+must define new classes which inherit <a href="qlistboxitem.html">QListBoxItem</a>.
+<p> <b>Warning:</b> The list box assumes ownership of all list box items and
+will delete them when it does not need them any more.
+<p> <img src=qlistbox-m.png> <img src=qlistbox-w.png>
+<p> <p>See also <a href="qlistview.html">QListView</a>, <a href="qcombobox.html">QComboBox</a>, <a href="qbuttongroup.html">QButtonGroup</a>, <a href="guibooks.html#fowler">GUI Design Handbook: List Box (two
+ sections)</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="LayoutMode-enum"></a>QListBox::LayoutMode</h3>
+
+<p> This enum type is used to specify how QListBox lays out its rows
+and columns.
+<ul>
+<li><tt>QListBox::FixedNumber</tt> - There is a fixed number of rows (or columns).
+<li><tt>QListBox::FitToWidth</tt> - There are as many columns as will fit
+on-screen.
+<li><tt>QListBox::FitToHeight</tt> - There are as many rows as will fit on-screen.
+<li><tt>QListBox::Variable</tt> - There are as many rows as are required by the
+column mode. (Or as many columns as required by the row mode.)
+</ul><p> Example: When you call <a href="#setRowMode">setRowMode</a>( FitToHeight ), <a href="#columnMode">columnMode</a>()
+automatically becomes <a href="#LayoutMode-enum">Variable</a> to accommodate the row mode
+you've set.
+
+<h3 class=fn><a name="SelectionMode-enum"></a>QListBox::SelectionMode</h3>
+
+<p> This enumerated type is used by QListBox to indicate how it reacts
+to selection by the user.
+<ul>
+<li><tt>QListBox::Single</tt> - When the user selects an item, any already-selected
+item becomes unselected and the user cannot unselect the selected
+item. This means that the user can never clear the selection, even
+though the selection may be cleared by the application programmer
+using <a href="#clearSelection">QListBox::clearSelection</a>().
+<li><tt>QListBox::Multi</tt> - When the user selects an item the selection status
+of that item is toggled and the other items are left alone. Also,
+multiple items can be selected by dragging the mouse while the
+left mouse button is kept pressed.
+<li><tt>QListBox::Extended</tt> - When the user selects an item the selection is
+cleared and the new item selected. However, if the user presses
+the Ctrl key when clicking on an item, the clicked item gets
+toggled and all other items are left untouched. And if the user
+presses the Shift key while clicking on an item, all items between
+the current item and the clicked item get selected or unselected,
+depending on the state of the clicked item. Also, multiple items
+can be selected by dragging the mouse while the left mouse button
+is kept pressed.
+<li><tt>QListBox::NoSelection</tt> - Items cannot be selected.
+</ul><p> In other words, <a href="#SelectionMode-enum">Single</a> is a real single-selection list box, <a href="#SelectionMode-enum">Multi</a> is a real multi-selection list box, <a href="#SelectionMode-enum">Extended</a> is a list
+box in which users can select multiple items but usually want to
+select either just one or a range of contiguous items, and <a href="#SelectionMode-enum">NoSelection</a> is for a list box where the user can look but not
+touch.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListBox"></a>QListBox::QListBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a new empty list box called <em>name</em> and with parent <em>parent</em>.
+<p> Performance is boosted by modifying the widget flags <em>f</em> so that
+only part of the <a href="qlistboxitem.html">QListBoxItem</a> children is redrawn. This may be
+unsuitable for custom QListBoxItem classes, in which case <a href="qt.html#WidgetFlags-enum">WStaticContents</a> and <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> should be cleared
+immediately after construction.
+<p> <p>See also <a href="qwidget.html#clearWFlags">QWidget::clearWFlags</a>() and <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+
+<h3 class=fn><a name="~QListBox"></a>QListBox::~QListBox ()
+</h3>
+Destroys the list box. Deletes all list box items.
+
+<h3 class=fn>bool <a name="autoBottomScrollBar"></a>QListBox::autoBottomScrollBar () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if <a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>() is <a href="qscrollview.html#ScrollBarMode-enum">Auto</a>; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="autoScrollBar"></a>QListBox::autoScrollBar () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if <a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>() is <a href="qscrollview.html#ScrollBarMode-enum">Auto</a>; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="bottomScrollBar"></a>QListBox::bottomScrollBar () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns FALSE if <a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>() is <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>; otherwise
+returns TRUE.
+
+<h3 class=fn>int <a name="cellHeight"></a>QListBox::cellHeight ( int&nbsp;i ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns the item height of item <em>i</em>.
+<p>See also <a href="#itemHeight">itemHeight</a>().
+
+<h3 class=fn>int <a name="cellHeight-2"></a>QListBox::cellHeight () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the item height of the first item, item 0.
+<p>See also <a href="#itemHeight">itemHeight</a>().
+
+<h3 class=fn>int <a name="cellWidth"></a>QListBox::cellWidth () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns the maximum item width.
+<p>See also <a href="#maxItemWidth">maxItemWidth</a>().
+
+<h3 class=fn>void <a name="centerCurrentItem"></a>QListBox::centerCurrentItem ()
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function does exactly the same as <a href="#ensureCurrentVisible">ensureCurrentVisible</a>()
+<p> <p>See also <a href="#ensureCurrentVisible">QListBox::ensureCurrentVisible</a>().
+
+<h3 class=fn>void <a name="changeItem"></a>QListBox::changeItem ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;lbi, int&nbsp;index )
+</h3>
+Replaces the item at position <em>index</em> with <em>lbi</em>. If <em>index</em> is
+negative or too large, <a href="#changeItem">changeItem</a>() does nothing.
+<p> The item that has been changed will become selected.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="changeItem-2"></a>QListBox::changeItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces the item at position <em>index</em> with a new list box text
+item with text <em>text</em>.
+<p> The operation is ignored if <em>index</em> is out of range.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="changeItem-3"></a>QListBox::changeItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces the item at position <em>index</em> with a new list box pixmap
+item with pixmap <em>pixmap</em>.
+<p> The operation is ignored if <em>index</em> is out of range.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="changeItem-4"></a>QListBox::changeItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;index )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces the item at position <em>index</em> with a new list box pixmap
+item with pixmap <em>pixmap</em> and text <em>text</em>.
+<p> The operation is ignored if <em>index</em> is out of range.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="clear"></a>QListBox::clear ()<tt> [slot]</tt>
+</h3>
+Deletes all the items in the list.
+<p> <p>See also <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="clearSelection"></a>QListBox::clearSelection ()<tt> [virtual slot]</tt>
+</h3>
+Deselects all items, if possible.
+<p> Note that a <a href="#SelectionMode-enum">Single</a> selection list box will automatically select
+an item if it has <a href="focus.html#keyboard-focus">keyboard focus</a>.
+
+<p>Example: <a href="listbox-example.html#x1432">listbox/listbox.cpp</a>.
+<h3 class=fn>void <a name="clicked"></a>QListBox::clicked ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks any mouse button. If
+<em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em> is 0, the
+mouse cursor isn't on any item.
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="clicked-2"></a>QListBox::clicked ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user clicks any mouse button. If
+<em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em> is 0, the
+mouse cursor isn't on any item.
+<p> <em>pnt</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's
+press and release differs by a pixel or two, <em>pnt</em> is the
+position at release time.)
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn><a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> <a name="columnMode"></a>QListBox::columnMode () const
+</h3><p>Returns the column layout mode for this list box.
+See the <a href="qlistbox.html#columnMode-prop">"columnMode"</a> property for details.
+<h3 class=fn>void <a name="contextMenuRequested"></a>QListBox::contextMenuRequested ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user invokes a context menu with
+the right mouse button or with special system keys, with <em>item</em>
+being the item under the mouse cursor or the current item,
+respectively.
+<p> <em>pos</em> is the position for the context menu in the global
+coordinate system.
+
+<h3 class=fn>uint <a name="count"></a>QListBox::count () const
+</h3><p>Returns the number of items in the list box.
+See the <a href="qlistbox.html#count-prop">"count"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QListBox::currentChanged ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user makes a new item the current
+item. <em>item</em> is the new current list box item.
+<p> <p>See also <a href="#currentItem-prop">currentItem</a> and <a href="#currentItem-prop">currentItem</a>.
+
+<h3 class=fn>int <a name="currentItem"></a>QListBox::currentItem () const
+</h3><p>Returns the current highlighted item.
+See the <a href="qlistbox.html#currentItem-prop">"currentItem"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentText"></a>QListBox::currentText () const
+</h3><p>Returns the text of the current item.
+See the <a href="qlistbox.html#currentText-prop">"currentText"</a> property for details.
+<h3 class=fn>void <a name="doLayout"></a>QListBox::doLayout () const<tt> [protected]</tt>
+</h3>
+This function does the hard layout work. You should never need to
+call it.
+
+<h3 class=fn>void <a name="doubleClicked"></a>QListBox::doubleClicked ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever an item is double-clicked. It's
+emitted on the second button press, not the second button release.
+If <em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em> is 0,
+the mouse cursor isn't on any item.
+
+<h3 class=fn>void <a name="ensureCurrentVisible"></a>QListBox::ensureCurrentVisible ()<tt> [virtual slot]</tt>
+</h3>
+Ensures that the current item is visible.
+
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="findItem"></a>QListBox::findItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, ComparisonFlags&nbsp;compare = BeginsWith ) const
+</h3>
+Finds the first list box item that has the text <em>text</em> and
+returns it, or returns 0 of no such item could be found.
+The search starts from the current item if the current item exists,
+otherwise it starts from the first list box item.
+If <tt>ComparisonFlags</tt> are specified in <em>compare</em> then these flags
+are used, otherwise the default is a case-insensitive, "begins
+with" search.
+<p> <p>See also <a href="qt.html#StringComparisonMode-enum">Qt::StringComparisonMode</a>.
+
+<h3 class=fn>int <a name="findItem-2"></a>QListBox::findItem ( int&nbsp;yPos ) const<tt> [protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns the index of the item a point (0, <em>yPos</em>).
+<p>See also <a href="#index">index</a>() and <a href="#itemAt">itemAt</a>().
+
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="firstItem"></a>QListBox::firstItem () const
+</h3>
+Returns the first item in this list box. If the list box is empty,
+returns 0.
+
+<h3 class=fn>void <a name="highlighted"></a>QListBox::highlighted ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user makes a new item the current
+item. <em>index</em> is the index of the new current item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#selected">selected</a>(), <a href="#currentItem-prop">currentItem</a>, and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn>void <a name="highlighted-2"></a>QListBox::highlighted ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user makes a new item the current
+item and the item is (or has) a string. The argument is the text
+of the new current item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#selected">selected</a>(), <a href="#currentItem-prop">currentItem</a>, and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn>void <a name="highlighted-3"></a>QListBox::highlighted ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user makes a new item the current
+item. The argument is a pointer to the new current item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#selected">selected</a>(), <a href="#currentItem-prop">currentItem</a>, and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn>int <a name="inSort"></a>QListBox::inSort ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;lbi )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Using this method is quite inefficient. We suggest to use <a href="#insertItem">insertItem</a>()
+for inserting and <a href="#sort">sort</a>() afterwards.
+<p> Inserts <em>lbi</em> at its sorted position in the list box and returns the
+position.
+<p> All items must be inserted with <a href="#inSort">inSort</a>() to maintain the sorting
+order. inSort() treats any pixmap (or user-defined type) as
+lexicographically less than any string.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#sort">sort</a>().
+
+<h3 class=fn>int <a name="inSort-2"></a>QListBox::inSort ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Using this method is quite inefficient. We suggest to use <a href="#insertItem">insertItem</a>()
+for inserting and <a href="#sort">sort</a>() afterwards.
+<p> Inserts a new item of <em>text</em> at its sorted position in the list box and
+returns the position.
+<p> All items must be inserted with <a href="#inSort">inSort</a>() to maintain the sorting
+order. inSort() treats any pixmap (or user-defined type) as
+lexicographically less than any string.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#sort">sort</a>().
+
+<h3 class=fn>int <a name="index"></a>QListBox::index ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;lbi ) const
+</h3>
+Returns the index of <em>lbi</em>, or -1 if the item is not in this list
+box or <em>lbi</em> is 0.
+<p> <p>See also <a href="#item">item</a>().
+
+<h3 class=fn>void <a name="insertItem"></a>QListBox::insertItem ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;lbi, int&nbsp;index = -1 )
+</h3>
+Inserts the item <em>lbi</em> into the list at position <em>index</em>.
+<p> If <em>index</em> is negative or larger than the number of items in the
+list box, <em>lbi</em> is inserted at the end of the list.
+<p> <p>See also <a href="#insertStrList">insertStrList</a>().
+
+<p>Examples: <a href="i18n-example.html#x1925">i18n/mywidget.cpp</a>, <a href="listbox-example.html#x1433">listbox/listbox.cpp</a>, <a href="listboxcombo-example.html#x1406">listboxcombo/listboxcombo.cpp</a>, and <a href="tabdialog-example.html#x55">tabdialog/tabdialog.cpp</a>.
+<h3 class=fn>void <a name="insertItem-2"></a>QListBox::insertItem ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;lbi, const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;after )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the item <em>lbi</em> into the list after the item <em>after</em>, or
+at the beginning if <em>after</em> is 0.
+<p> <p>See also <a href="#insertStrList">insertStrList</a>().
+
+<h3 class=fn>void <a name="insertItem-3"></a>QListBox::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a new list box text item with the text <em>text</em> into the
+list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>text</em> is inserted at the end of the
+list.
+<p> <p>See also <a href="#insertStrList">insertStrList</a>().
+
+<h3 class=fn>void <a name="insertItem-4"></a>QListBox::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a new list box pixmap item with the pixmap <em>pixmap</em> into
+the list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>pixmap</em> is inserted at the end of the
+list.
+<p> <p>See also <a href="#insertStrList">insertStrList</a>().
+
+<h3 class=fn>void <a name="insertItem-5"></a>QListBox::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a new list box pixmap item with the pixmap <em>pixmap</em> and
+the text <em>text</em> into the list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>pixmap</em> is inserted at the end of the
+list.
+<p> <p>See also <a href="#insertStrList">insertStrList</a>().
+
+<h3 class=fn>void <a name="insertStrList"></a>QListBox::insertStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;*&nbsp;list, int&nbsp;index = -1 )
+</h3>
+Inserts the string list <em>list</em> into the list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>list</em> is inserted at the end of the
+list. If <em>index</em> is too large, the operation is ignored.
+<p> <b>Warning:</b> This function uses <tt>const char *</tt> rather than <a href="qstring.html">QString</a>,
+so we recommend against using it. It is provided so that legacy
+code will continue to work, and so that programs that certainly
+will not need to handle code outside a single 8-bit locale can use
+it. See <a href="#insertStringList">insertStringList</a>() which uses real QStrings.
+<p> <b>Warning:</b> This function is never significantly faster than a loop
+around <a href="#insertItem">insertItem</a>().
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#insertStringList">insertStringList</a>().
+
+<h3 class=fn>void <a name="insertStrList-2"></a>QListBox::insertStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the string list <em>list</em> into the list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>list</em> is inserted at the end of the
+list. If <em>index</em> is too large, the operation is ignored.
+<p> <b>Warning:</b> This function uses <tt>const char *</tt> rather than <a href="qstring.html">QString</a>,
+so we recommend against using it. It is provided so that legacy
+code will continue to work, and so that programs that certainly
+will not need to handle code outside a single 8-bit locale can use
+it. See <a href="#insertStringList">insertStringList</a>() which uses real QStrings.
+<p> <b>Warning:</b> This function is never significantly faster than a loop
+around <a href="#insertItem">insertItem</a>().
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#insertStringList">insertStringList</a>().
+
+<h3 class=fn>void <a name="insertStrList-3"></a>QListBox::insertStrList ( const&nbsp;char&nbsp;**&nbsp;strings, int&nbsp;numStrings = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the <em>numStrings</em> strings of the array <em>strings</em> into the
+list at position <em>index</em>.
+<p> If <em>index</em> is negative, <a href="#insertStrList">insertStrList</a>() inserts <em>strings</em> at the
+end of the list. If <em>index</em> is too large, the operation is
+ignored.
+<p> <b>Warning:</b> This function uses <tt>const char *</tt> rather than <a href="qstring.html">QString</a>,
+so we recommend against using it. It is provided so that legacy
+code will continue to work, and so that programs that certainly
+will not need to handle code outside a single 8-bit locale can use
+it. See <a href="#insertStringList">insertStringList</a>() which uses real QStrings.
+<p> <b>Warning:</b> This function is never significantly faster than a loop
+around <a href="#insertItem">insertItem</a>().
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#insertStringList">insertStringList</a>().
+
+<h3 class=fn>void <a name="insertStringList"></a>QListBox::insertStringList ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;list, int&nbsp;index = -1 )
+</h3>
+Inserts the string list <em>list</em> into the list at position <em>index</em>.
+<p> If <em>index</em> is negative, <em>list</em> is inserted at the end of the
+list. If <em>index</em> is too large, the operation is ignored.
+<p> <b>Warning:</b> This function is never significantly faster than a loop
+around <a href="#insertItem">insertItem</a>().
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#insertStrList">insertStrList</a>().
+
+<h3 class=fn>void <a name="invertSelection"></a>QListBox::invertSelection ()<tt> [virtual slot]</tt>
+</h3>
+Inverts the selection. Only works in <a href="#SelectionMode-enum">Multi</a> and <a href="#SelectionMode-enum">Extended</a>
+selection mode.
+
+<h3 class=fn>bool <a name="isMultiSelection"></a>QListBox::isMultiSelection () const
+</h3><p>Returns TRUE if or not the list box is in Multi selection mode; otherwise returns FALSE.
+See the <a href="qlistbox.html#multiSelection-prop">"multiSelection"</a> property for details.
+<h3 class=fn>bool <a name="isRubberSelecting"></a>QListBox::isRubberSelecting () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the user is selecting items using a rubber band
+rectangle; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSelected"></a>QListBox::isSelected ( int&nbsp;i ) const
+</h3>
+Returns TRUE if item <em>i</em> is selected; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSelected-2"></a>QListBox::isSelected ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;i ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if item <em>i</em> is selected; otherwise returns FALSE.
+
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="item"></a>QListBox::item ( int&nbsp;index ) const
+</h3>
+Returns a pointer to the item at position <em>index</em>, or 0 if <em>index</em> is out of bounds.
+<p> <p>See also <a href="#index">index</a>().
+
+<p>Example: <a href="listboxcombo-example.html#x1407">listboxcombo/listboxcombo.cpp</a>.
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="itemAt"></a>QListBox::itemAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+Returns the item at point <em>p</em>, specified in viewport coordinates,
+or a 0 if there is no item at <em>p</em>.
+<p> Use <a href="qscrollview.html#contentsToViewport">contentsToViewport</a>() to convert between widget coordinates and
+viewport coordinates.
+
+<h3 class=fn>int <a name="itemHeight"></a>QListBox::itemHeight ( int&nbsp;index = 0 ) const
+</h3>
+Returns the height in pixels of the item with index <em>index</em>. <em>index</em> defaults to 0.
+<p> If <em>index</em> is too large, this function returns 0.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="itemRect"></a>QListBox::itemRect ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item ) const
+</h3>
+Returns the rectangle on the screen that <em>item</em> occupies in
+<a href="qscrollview.html#viewport">viewport</a>()'s coordinates, or an invalid rectangle if <em>item</em> is 0
+or is not currently visible.
+
+<h3 class=fn>bool <a name="itemVisible"></a>QListBox::itemVisible ( int&nbsp;index )
+</h3>
+Returns TRUE if the item at position <em>index</em> is at least partly
+visible; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="itemVisible-2"></a>QListBox::itemVisible ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if <em>item</em> is at least partly visible; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="itemYPos"></a>QListBox::itemYPos ( int&nbsp;index, int&nbsp;*&nbsp;yPos ) const<tt> [protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the vertical pixel-coordinate in <em>*yPos</em>, of the list box
+item at position <em>index</em> in the list. Returns FALSE if the item is
+outside the visible area.
+
+<h3 class=fn>long <a name="maxItemWidth"></a>QListBox::maxItemWidth () const
+</h3>
+Returns the width of the widest item in the list box.
+
+<h3 class=fn>void <a name="mouseButtonClicked"></a>QListBox::mouseButtonClicked ( int&nbsp;button, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks mouse button <em>button</em>. If <em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em>
+is 0, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()). (If the click's
+press and release differs by a pixel or two, <em>pos</em> is the
+position at release time.)
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="mouseButtonPressed"></a>QListBox::mouseButtonPressed ( int&nbsp;button, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses mouse button <em>button</em>. If <em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em>
+is 0, the mouse cursor isn't on any item.
+<p> <em>pos</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()).
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>int <a name="numCols"></a>QListBox::numCols () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns the number of columns.
+<p>See also <a href="#numColumns-prop">numColumns</a>.
+
+<h3 class=fn>int <a name="numColumns"></a>QListBox::numColumns () const
+</h3><p>Returns the number of columns in the list box.
+See the <a href="qlistbox.html#numColumns-prop">"numColumns"</a> property for details.
+<h3 class=fn>int <a name="numItemsVisible"></a>QListBox::numItemsVisible () const
+</h3><p>Returns the number of visible items.
+See the <a href="qlistbox.html#numItemsVisible-prop">"numItemsVisible"</a> property for details.
+<h3 class=fn>int <a name="numRows"></a>QListBox::numRows () const
+</h3><p>Returns the number of rows in the list box.
+See the <a href="qlistbox.html#numRows-prop">"numRows"</a> property for details.
+<h3 class=fn>void <a name="onItem"></a>QListBox::onItem ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;i )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor onto
+an item, similar to the <a href="qwidget.html#enterEvent">QWidget::enterEvent</a>() function. <em>i</em> is
+the <a href="qlistboxitem.html">QListBoxItem</a> that the mouse has moved on.
+
+<h3 class=fn>void <a name="onViewport"></a>QListBox::onViewport ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor from
+an item to an empty part of the list box.
+
+<h3 class=fn>void <a name="paintCell"></a>QListBox::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col )<tt> [virtual protected]</tt>
+</h3>
+Provided for compatibility with the old QListBox. We recommend
+using <a href="qlistboxitem.html#paint">QListBoxItem::paint</a>() instead.
+<p> Repaints the cell at <em>row</em>, <em>col</em> using painter <em>p</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QListBox::pixmap ( int&nbsp;index ) const
+</h3>
+Returns a pointer to the pixmap at position <em>index</em>, or 0 if
+there is no pixmap there.
+<p> <p>See also <a href="#text">text</a>().
+
+<h3 class=fn>void <a name="pressed"></a>QListBox::pressed ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses any mouse button. If
+<em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em> is 0, the
+mouse cursor isn't on any item.
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="pressed-2"></a>QListBox::pressed ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user presses any mouse button. If
+<em>item</em> is not 0, the cursor is on <em>item</em>. If <em>item</em> is 0, the
+mouse cursor isn't on any item.
+<p> <em>pnt</em> is the position of the mouse cursor in the global
+coordinate system (<a href="qmouseevent.html#globalPos">QMouseEvent::globalPos</a>()).
+<p> Note that you must not delete any <a href="qlistboxitem.html">QListBoxItem</a> objects in slots
+connected to this signal.
+<p> <p>See also <a href="#mouseButtonPressed">mouseButtonPressed</a>(), <a href="#rightButtonPressed">rightButtonPressed</a>(), and <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="removeItem"></a>QListBox::removeItem ( int&nbsp;index )
+</h3>
+Removes and deletes the item at position <em>index</em>. If <em>index</em> is
+equal to <a href="#currentItem">currentItem</a>(), a new item becomes current and the
+<a href="#currentChanged">currentChanged</a>() and <a href="#highlighted">highlighted</a>() signals are emitted.
+<p> <p>See also <a href="#insertItem">insertItem</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="returnPressed"></a>QListBox::returnPressed ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when Enter or Return is pressed. The
+argument is <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="rightButtonClicked"></a>QListBox::rightButtonClicked ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the right button is clicked (i.e. when
+it's released at the same point where it was pressed). The
+arguments are the relevant <a href="qlistboxitem.html">QListBoxItem</a> (may be 0) and the point
+in global coordinates.
+
+<h3 class=fn>void <a name="rightButtonPressed"></a>QListBox::rightButtonPressed ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the right button is pressed. The
+arguments are the relevant <a href="qlistboxitem.html">QListBoxItem</a> (may be 0) and the point
+in global coordinates.
+
+<h3 class=fn><a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> <a name="rowMode"></a>QListBox::rowMode () const
+</h3><p>Returns the row layout mode for this list box.
+See the <a href="qlistbox.html#rowMode-prop">"rowMode"</a> property for details.
+<h3 class=fn>bool <a name="scrollBar"></a>QListBox::scrollBar () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns FALSE if <a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>() is <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>; otherwise
+returns TRUE.
+
+<h3 class=fn>void <a name="selectAll"></a>QListBox::selectAll ( bool&nbsp;select )<tt> [virtual slot]</tt>
+</h3>
+In <a href="#SelectionMode-enum">Multi</a> and <a href="#SelectionMode-enum">Extended</a> modes, this function sets all items to
+be selected if <em>select</em> is TRUE, and to be unselected if <em>select</em> is FALSE.
+<p> In <a href="#SelectionMode-enum">Single</a> and <a href="#SelectionMode-enum">NoSelection</a> modes, this function only changes
+the selection status of <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="selected"></a>QListBox::selected ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user double-clicks on an item or
+presses Enter on the current item. <em>index</em> is the index of the
+selected item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#highlighted">highlighted</a>(), and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn>void <a name="selected-2"></a>QListBox::selected ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user double-clicks on an item or
+presses Enter on the current item, and the item is (or has) a
+string. The argument is the text of the selected item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#highlighted">highlighted</a>(), and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn>void <a name="selected-3"></a>QListBox::selected ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the user double-clicks on an item or
+presses Enter on the current item. The argument is a pointer to
+the new selected item.
+<p> <p>See also <a href="#currentChanged">currentChanged</a>(), <a href="#highlighted">highlighted</a>(), and <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="selectedItem"></a>QListBox::selectedItem () const
+</h3> Returns the selected item if the list box is in
+single-selection mode and an item is selected.
+<p> If no items are selected or the list box is in another selection mode
+this function returns 0.
+<p> <p>See also <a href="#setSelected">setSelected</a>() and <a href="#multiSelection-prop">multiSelection</a>.
+
+<h3 class=fn>void <a name="selectionChanged"></a>QListBox::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the selection set of a list box
+changes. This signal is emitted in each selection mode. If the
+user selects five items by drag-selecting, QListBox tries to emit
+just one <a href="#selectionChanged">selectionChanged</a>() signal so the signal can be connected
+to computationally expensive slots.
+<p> <p>See also <a href="#selected">selected</a>() and <a href="#currentItem-prop">currentItem</a>.
+
+<h3 class=fn>void <a name="selectionChanged-2"></a>QListBox::selectionChanged ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when the selection in a <a href="#SelectionMode-enum">Single</a> selection
+list box changes. <em>item</em> is the newly selected list box item.
+<p> <p>See also <a href="#selected">selected</a>() and <a href="#currentItem-prop">currentItem</a>.
+
+<h3 class=fn><a href="qlistbox.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode"></a>QListBox::selectionMode () const
+</h3><p>Returns the selection mode of the list box.
+See the <a href="qlistbox.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setAutoBottomScrollBar"></a>QListBox::setAutoBottomScrollBar ( bool&nbsp;enable )
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If <em>enable</em> is TRUE sets <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOn</a>;
+otherwise sets setHScrollBarMode() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>.
+
+<h3 class=fn>void <a name="setAutoScrollBar"></a>QListBox::setAutoScrollBar ( bool&nbsp;enable )
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If <em>enable</em> is TRUE sets <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOn</a>;
+otherwise sets setVScrollBarMode() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>.
+
+<h3 class=fn>void <a name="setBottomItem"></a>QListBox::setBottomItem ( int&nbsp;index )<tt> [virtual]</tt>
+</h3>
+Scrolls the list box so the item at position <em>index</em> in the list
+is displayed in the bottom row of the list box.
+<p> <p>See also <a href="#topItem-prop">topItem</a>.
+
+<h3 class=fn>void <a name="setBottomScrollBar"></a>QListBox::setBottomScrollBar ( bool&nbsp;enable )
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If <em>enable</em> is TRUE sets <a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOn</a>;
+otherwise sets setHScrollBarMode() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>.
+
+<h3 class=fn>void <a name="setColumnMode"></a>QListBox::setColumnMode ( <a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the column layout mode for this list box.
+See the <a href="qlistbox.html#columnMode-prop">"columnMode"</a> property for details.
+<h3 class=fn>void <a name="setColumnMode-2"></a>QListBox::setColumnMode ( int )<tt> [virtual]</tt>
+</h3><p>Sets the column layout mode for this list box.
+See the <a href="qlistbox.html#columnMode-prop">"columnMode"</a> property for details.
+<h3 class=fn>void <a name="setCurrentItem"></a>QListBox::setCurrentItem ( int&nbsp;index )<tt> [virtual]</tt>
+</h3><p>Sets the current highlighted item to <em>index</em>.
+See the <a href="qlistbox.html#currentItem-prop">"currentItem"</a> property for details.
+<h3 class=fn>void <a name="setCurrentItem-2"></a>QListBox::setCurrentItem ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;i )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the current item to the <a href="qlistboxitem.html">QListBoxItem</a> <em>i</em>.
+
+<h3 class=fn>void <a name="setMultiSelection"></a>QListBox::setMultiSelection ( bool&nbsp;multi )
+</h3><p>Sets whether or not the list box is in Multi selection mode to <em>multi</em>.
+See the <a href="qlistbox.html#multiSelection-prop">"multiSelection"</a> property for details.
+<h3 class=fn>void <a name="setRowMode"></a>QListBox::setRowMode ( <a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the row layout mode for this list box.
+See the <a href="qlistbox.html#rowMode-prop">"rowMode"</a> property for details.
+<h3 class=fn>void <a name="setRowMode-2"></a>QListBox::setRowMode ( int )<tt> [virtual]</tt>
+</h3><p>Sets the row layout mode for this list box.
+See the <a href="qlistbox.html#rowMode-prop">"rowMode"</a> property for details.
+<h3 class=fn>void <a name="setScrollBar"></a>QListBox::setScrollBar ( bool&nbsp;enable )
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If <em>enable</em> is TRUE sets <a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOn</a>;
+otherwise sets setVScrollBarMode() to <a href="qscrollview.html#ScrollBarMode-enum">AlwaysOff</a>.
+
+<h3 class=fn>void <a name="setSelected"></a>QListBox::setSelected ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item, bool&nbsp;select )<tt> [virtual]</tt>
+</h3>
+Selects <em>item</em> if <em>select</em> is TRUE or unselects it if <em>select</em>
+is FALSE, and repaints the item appropriately.
+<p> If the list box is a <a href="#SelectionMode-enum">Single</a> selection list box and <em>select</em> is
+TRUE, <a href="#setSelected">setSelected</a>() calls <a href="#setCurrentItem">setCurrentItem</a>().
+<p> If the list box is a <a href="#SelectionMode-enum">Single</a> selection list box, <em>select</em> is
+FALSE, setSelected() calls <a href="#clearSelection">clearSelection</a>().
+<p> <p>See also <a href="#multiSelection-prop">multiSelection</a>, <a href="#currentItem-prop">currentItem</a>, <a href="#clearSelection">clearSelection</a>(), and <a href="#currentItem-prop">currentItem</a>.
+
+<h3 class=fn>void <a name="setSelected-2"></a>QListBox::setSelected ( int&nbsp;index, bool&nbsp;select )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> If <em>select</em> is TRUE the item at position <em>index</em> is selected;
+otherwise the item is deselected.
+
+<h3 class=fn>void <a name="setSelectionMode"></a>QListBox::setSelectionMode ( <a href="qlistbox.html#SelectionMode-enum">SelectionMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the selection mode of the list box.
+See the <a href="qlistbox.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setTopItem"></a>QListBox::setTopItem ( int&nbsp;index )<tt> [virtual]</tt>
+</h3><p>Sets the index of an item at the top of the screen to <em>index</em>.
+See the <a href="qlistbox.html#topItem-prop">"topItem"</a> property for details.
+<h3 class=fn>void <a name="setVariableHeight"></a>QListBox::setVariableHeight ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether this list box has variable-height rows.
+See the <a href="qlistbox.html#variableHeight-prop">"variableHeight"</a> property for details.
+<h3 class=fn>void <a name="setVariableWidth"></a>QListBox::setVariableWidth ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether this list box has variable-width columns.
+See the <a href="qlistbox.html#variableWidth-prop">"variableWidth"</a> property for details.
+<h3 class=fn>void <a name="sort"></a>QListBox::sort ( bool&nbsp;ascending = TRUE )
+</h3>
+If <em>ascending</em> is TRUE sorts the items in ascending order;
+otherwise sorts in descending order.
+<p> To compare the items, the text (<a href="qlistboxitem.html#text">QListBoxItem::text</a>()) of the items
+is used.
+
+<p>Example: <a href="listbox-example.html#x1439">listbox/listbox.cpp</a>.
+<h3 class=fn>void <a name="takeItem"></a>QListBox::takeItem ( const&nbsp;<a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;item )
+</h3>
+Removes <em>item</em> from the list box and causes an update of the
+screen display. The item is not deleted. You should normally not
+need to call this function because <a href="qlistboxitem.html#~QListBoxItem">QListBoxItem::~QListBoxItem</a>()
+calls it. The normal way to delete an item is with <tt>delete</tt>.
+<p> <p>See also <a href="#insertItem">QListBox::insertItem</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QListBox::text ( int&nbsp;index ) const
+</h3>
+Returns the text at position <em>index</em>, or <a href="qstring.html#QString-null">QString::null</a> if there
+is no text at that position.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="toggleCurrentItem"></a>QListBox::toggleCurrentItem ()<tt> [protected]</tt>
+</h3>
+Toggles the selection status of <a href="#currentItem">currentItem</a>() and repaints if the
+list box is a <a href="#SelectionMode-enum">Multi</a> selection list box.
+<p> <p>See also <a href="#multiSelection-prop">multiSelection</a>.
+
+<h3 class=fn>int <a name="topItem"></a>QListBox::topItem () const
+</h3><p>Returns the index of an item at the top of the screen.
+See the <a href="qlistbox.html#topItem-prop">"topItem"</a> property for details.
+<h3 class=fn>int <a name="totalHeight"></a>QListBox::totalHeight () const<tt> [protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns <a href="qscrollview.html#contentsHeight">contentsHeight</a>().
+
+<h3 class=fn>int <a name="totalWidth"></a>QListBox::totalWidth () const<tt> [protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+Returns <a href="qscrollview.html#contentsWidth">contentsWidth</a>().
+
+<h3 class=fn>void <a name="triggerUpdate"></a>QListBox::triggerUpdate ( bool&nbsp;doLayout )
+</h3>
+Ensures that a single paint event will occur at the end of the
+current event loop iteration. If <em>doLayout</em> is TRUE, the layout
+is also redone.
+
+<h3 class=fn>void <a name="updateItem"></a>QListBox::updateItem ( int&nbsp;index )<tt> [protected]</tt>
+</h3>
+Repaints the item at position <em>index</em> in the list.
+
+<h3 class=fn>void <a name="updateItem-2"></a>QListBox::updateItem ( <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;i )<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Repaints the <a href="qlistboxitem.html">QListBoxItem</a> <em>i</em>.
+
+<h3 class=fn>bool <a name="variableHeight"></a>QListBox::variableHeight () const
+</h3><p>Returns TRUE if this list box has variable-height rows; otherwise returns FALSE.
+See the <a href="qlistbox.html#variableHeight-prop">"variableHeight"</a> property for details.
+<h3 class=fn>bool <a name="variableWidth"></a>QListBox::variableWidth () const
+</h3><p>Returns TRUE if this list box has variable-width columns; otherwise returns FALSE.
+See the <a href="qlistbox.html#variableWidth-prop">"variableWidth"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> <a name="columnMode-prop"></a>columnMode</h3>
+<p>This property holds the column layout mode for this list box.
+<p>setColumnMode() sets the layout mode and adjusts the number of
+displayed columns. The row layout mode automatically becomes <a href="#LayoutMode-enum">Variable</a>, unless the column mode is <a href="#LayoutMode-enum">Variable</a>.
+<p> <p>See also <a href="#rowMode-prop">rowMode</a>, <a href="#rowMode-prop">rowMode</a>, and <a href="#numColumns-prop">numColumns</a>.
+
+<p>Set this property's value with <a href="#setColumnMode">setColumnMode</a>() and get this property's value with <a href="#columnMode">columnMode</a>().
+<h3 class=fn>uint <a name="count-prop"></a>count</h3>
+<p>This property holds the number of items in the list box.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>int <a name="currentItem-prop"></a>currentItem</h3>
+<p>This property holds the current highlighted item.
+<p>When setting this property, the highlighting is moved to the item
+and the list box scrolled as necessary.
+<p> If no item is current, <a href="#currentItem">currentItem</a>() returns -1.
+
+<p>Set this property's value with <a href="#setCurrentItem">setCurrentItem</a>() and get this property's value with <a href="#currentItem">currentItem</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentText-prop"></a>currentText</h3>
+<p>This property holds the text of the current item.
+<p>This is equivalent to <a href="#text">text</a>(currentItem()).
+
+<p>Get this property's value with <a href="#currentText">currentText</a>().
+<h3 class=fn>bool <a name="multiSelection-prop"></a>multiSelection</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds whether or not the list box is in Multi selection mode.
+<p>Consider using the <a href="#selectionMode-prop">QListBox::selectionMode</a> property instead of
+this property.
+<p> When setting this property, Multi selection mode is used if set to TRUE and
+to Single selection mode if set to FALSE.
+<p> When getting this property, TRUE is returned if the list box is in
+Multi selection mode or Extended selection mode, and FALSE if it is
+in Single selection mode or NoSelection mode.
+<p> <p>See also <a href="#selectionMode-prop">selectionMode</a>.
+
+<p>Set this property's value with <a href="#setMultiSelection">setMultiSelection</a>() and get this property's value with <a href="#isMultiSelection">isMultiSelection</a>().
+<h3 class=fn>int <a name="numColumns-prop"></a>numColumns</h3>
+<p>This property holds the number of columns in the list box.
+<p>This is normally 1, but can be different if <a href="#columnMode-prop">QListBox::columnMode</a> or <a href="#rowMode-prop">QListBox::rowMode</a> has been set.
+<p> <p>See also <a href="#columnMode-prop">columnMode</a>, <a href="#rowMode-prop">rowMode</a>, and <a href="#numRows-prop">numRows</a>.
+
+<p>Get this property's value with <a href="#numColumns">numColumns</a>().
+<h3 class=fn>int <a name="numItemsVisible-prop"></a>numItemsVisible</h3>
+<p>This property holds the number of visible items.
+<p>Both partially and entirely visible items are counted.
+
+<p>Get this property's value with <a href="#numItemsVisible">numItemsVisible</a>().
+<h3 class=fn>int <a name="numRows-prop"></a>numRows</h3>
+<p>This property holds the number of rows in the list box.
+<p>This is equal to the number of items in the default single-column
+layout, but can be different.
+<p> <p>See also <a href="#columnMode-prop">columnMode</a>, <a href="#rowMode-prop">rowMode</a>, and <a href="#numColumns-prop">numColumns</a>.
+
+<p>Get this property's value with <a href="#numRows">numRows</a>().
+<h3 class=fn><a href="qlistbox.html#LayoutMode-enum">LayoutMode</a> <a name="rowMode-prop"></a>rowMode</h3>
+<p>This property holds the row layout mode for this list box.
+<p>This property is normally <a href="#LayoutMode-enum">Variable</a>.
+<p> <a href="#setRowMode">setRowMode</a>() sets the layout mode and adjusts the number of
+displayed rows. The column layout mode automatically becomes <a href="#LayoutMode-enum">Variable</a>, unless the row mode is <a href="#LayoutMode-enum">Variable</a>.
+<p> <p>See also <a href="#columnMode-prop">columnMode</a>.
+
+<p>Set this property's value with <a href="#setRowMode">setRowMode</a>() and get this property's value with <a href="#rowMode">rowMode</a>().
+<h3 class=fn><a href="qlistbox.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode-prop"></a>selectionMode</h3>
+<p>This property holds the selection mode of the list box.
+<p>Sets the list box's selection mode, which may be one of <a href="#SelectionMode-enum">Single</a>
+(the default), <a href="#SelectionMode-enum">Extended</a>, <a href="#SelectionMode-enum">Multi</a> or <a href="#SelectionMode-enum">NoSelection</a>.
+<p> <p>See also <a href="#SelectionMode-enum">SelectionMode</a>.
+
+<p>Set this property's value with <a href="#setSelectionMode">setSelectionMode</a>() and get this property's value with <a href="#selectionMode">selectionMode</a>().
+<h3 class=fn>int <a name="topItem-prop"></a>topItem</h3>
+<p>This property holds the index of an item at the top of the screen.
+<p>When getting this property and the listbox has multiple columns,
+an arbitrary item is selected and returned.
+<p> When setting this property, the list box is scrolled so the item
+at position <em>index</em> in the list is displayed in the top row of
+the list box.
+
+<p>Set this property's value with <a href="#setTopItem">setTopItem</a>() and get this property's value with <a href="#topItem">topItem</a>().
+<h3 class=fn>bool <a name="variableHeight-prop"></a>variableHeight</h3>
+<p>This property holds whether this list box has variable-height rows.
+<p>When the list box has variable-height rows (the default), each row
+is as high as the highest item in that row. When it has same-sized
+rows, all rows are as high as the highest item in the list box.
+<p> <p>See also <a href="#variableWidth-prop">variableWidth</a>.
+
+<p>Set this property's value with <a href="#setVariableHeight">setVariableHeight</a>() and get this property's value with <a href="#variableHeight">variableHeight</a>().
+<h3 class=fn>bool <a name="variableWidth-prop"></a>variableWidth</h3>
+<p>This property holds whether this list box has variable-width columns.
+<p>When the list box has variable-width columns, each column is as
+wide as the widest item in that column. When it has same-sized
+columns (the default), all columns are as wide as the widest item
+in the list box.
+<p> <p>See also <a href="#variableHeight-prop">variableHeight</a>.
+
+<p>Set this property's value with <a href="#setVariableWidth">setVariableWidth</a>() and get this property's value with <a href="#variableWidth">variableWidth</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxitem-members.html b/doc/html/qlistboxitem-members.html
new file mode 100644
index 0000000..b4a6de3
--- /dev/null
+++ b/doc/html/qlistboxitem-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistbox.h:316 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListBoxItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistboxitem.html">QListBoxItem</a>, including inherited members.
+
+<ul>
+<li><a href="qlistboxitem.html#QListBoxItem">QListBoxItem</a>()
+<li><a href="qlistboxitem.html#~QListBoxItem">~QListBoxItem</a>()
+<li><a href="qlistboxitem.html#current">current</a>()
+<li><a href="qlistboxitem.html#height">height</a>()
+<li><a href="qlistboxitem.html#isCurrent">isCurrent</a>()
+<li><a href="qlistboxitem.html#isSelectable">isSelectable</a>()
+<li><a href="qlistboxitem.html#isSelected">isSelected</a>()
+<li><a href="qlistboxitem.html#listBox">listBox</a>()
+<li><a href="qlistboxitem.html#next">next</a>()
+<li><a href="qlistboxitem.html#paint">paint</a>()
+<li><a href="qlistboxitem.html#pixmap">pixmap</a>()
+<li><a href="qlistboxitem.html#prev">prev</a>()
+<li><a href="qlistboxitem.html#rtti">rtti</a>()
+<li><a href="qlistboxitem.html#selected">selected</a>()
+<li><a href="qlistboxitem.html#setCustomHighlighting">setCustomHighlighting</a>()
+<li><a href="qlistboxitem.html#setSelectable">setSelectable</a>()
+<li><a href="qlistboxitem.html#setText">setText</a>()
+<li><a href="qlistboxitem.html#text">text</a>()
+<li><a href="qlistboxitem.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxitem.html b/doc/html/qlistboxitem.html
new file mode 100644
index 0000000..ae4c2ee
--- /dev/null
+++ b/doc/html/qlistboxitem.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistbox.cpp:160 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListBoxItem Class Reference</h1>
+
+<p>The QListBoxItem class is the base class of all list box items.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;</tt>
+<p>Inherited by <a href="qlistboxtext.html">QListBoxText</a> and <a href="qlistboxpixmap.html">QListBoxPixmap</a>.
+<p><a href="qlistboxitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListBoxItem"><b>QListBoxItem</b></a> ( QListBox&nbsp;*&nbsp;listbox = 0 )</li>
+<li class=fn><a href="#QListBoxItem-2"><b>QListBoxItem</b></a> ( QListBox&nbsp;*&nbsp;listbox, QListBoxItem&nbsp;*&nbsp;after )</li>
+<li class=fn>virtual <a href="#~QListBoxItem"><b>~QListBoxItem</b></a> ()</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual int <a href="#height"><b>height</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+<li class=fn>virtual int <a href="#width"><b>width</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> () const</li>
+<li class=fn>bool <a href="#isCurrent"><b>isCurrent</b></a> () const</li>
+<li class=fn>bool selected () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool current () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QListBox * <a href="#listBox"><b>listBox</b></a> () const</li>
+<li class=fn>void <a href="#setSelectable"><b>setSelectable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isSelectable"><b>isSelectable</b></a> () const</li>
+<li class=fn>QListBoxItem * <a href="#next"><b>next</b></a> () const</li>
+<li class=fn>QListBoxItem * <a href="#prev"><b>prev</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;p ) = 0</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setCustomHighlighting"><b>setCustomHighlighting</b></a> ( bool&nbsp;b )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListBoxItem class is the base class of all list box items.
+<p> This class is an abstract base class used for all list box items.
+If you need to insert customized items into a <a href="qlistbox.html">QListBox</a> you must
+inherit this class and reimplement <a href="#paint">paint</a>(), <a href="#height">height</a>() and <a href="#width">width</a>().
+<p> <p>See also <a href="qlistbox.html">QListBox</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListBoxItem"></a>QListBoxItem::QListBoxItem ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox = 0 )
+</h3>
+Constructs an empty list box item in the list box <em>listbox</em>.
+
+<h3 class=fn><a name="QListBoxItem-2"></a>QListBoxItem::QListBoxItem ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs an empty list box item in the list box <em>listbox</em> and
+inserts it after the item <em>after</em> or at the beginning if <em>after</em>
+is 0.
+
+<h3 class=fn><a name="~QListBoxItem"></a>QListBoxItem::~QListBoxItem ()<tt> [virtual]</tt>
+</h3>
+Destroys the list box item.
+
+<h3 class=fn>bool <a name="current"></a>QListBoxItem::current () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>int <a name="height"></a>QListBoxItem::height ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Implement this function to return the height of your item. The <em>lb</em> parameter is the same as <a href="#listBox">listBox</a>() and is provided for
+convenience and compatibility.
+<p> The default implementation returns
+<a href="qapplication.html#globalStrut">QApplication::globalStrut</a>()'s height.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#width">width</a>().
+
+<p>Reimplemented in <a href="qlistboxtext.html#height">QListBoxText</a> and <a href="qlistboxpixmap.html#height">QListBoxPixmap</a>.
+<h3 class=fn>bool <a name="isCurrent"></a>QListBoxItem::isCurrent () const
+</h3>
+Returns TRUE if the item is the current item; otherwise returns
+FALSE.
+<p> <p>See also <a href="qlistbox.html#currentItem-prop">QListBox::currentItem</a>, <a href="qlistbox.html#item">QListBox::item</a>(), and <a href="#isSelected">isSelected</a>().
+
+<h3 class=fn>bool <a name="isSelectable"></a>QListBoxItem::isSelectable () const
+</h3>
+Returns TRUE if this item is selectable (the default); otherwise
+returns FALSE.
+<p> <p>See also <a href="#setSelectable">setSelectable</a>().
+
+<h3 class=fn>bool <a name="isSelected"></a>QListBoxItem::isSelected () const
+</h3>
+
+<p> Returns TRUE if the item is selected; otherwise returns FALSE.
+<p> <p>See also <a href="qlistbox.html#isSelected">QListBox::isSelected</a>() and <a href="#isCurrent">isCurrent</a>().
+
+<p>Example: <a href="listboxcombo-example.html#x1409">listboxcombo/listboxcombo.cpp</a>.
+<h3 class=fn><a href="qlistbox.html">QListBox</a>&nbsp;* <a name="listBox"></a>QListBoxItem::listBox () const
+</h3>
+Returns a pointer to the list box containing this item.
+
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="next"></a>QListBoxItem::next () const
+</h3>
+Returns the item that comes after this in the list box. If this is
+the last item, 0 is returned.
+<p> <p>See also <a href="#prev">prev</a>().
+
+<h3 class=fn>void <a name="paint"></a>QListBoxItem::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Implement this function to draw your item. The painter, <em>p</em>, is
+already open for painting.
+<p> <p>See also <a href="#height">height</a>() and <a href="#width">width</a>().
+
+<p>Example: <a href="listboxcombo-example.html#x1410">listboxcombo/listboxcombo.cpp</a>.
+<p>Reimplemented in <a href="qlistboxtext.html#paint">QListBoxText</a> and <a href="qlistboxpixmap.html#paint">QListBoxPixmap</a>.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QListBoxItem::pixmap () const<tt> [virtual]</tt>
+</h3>
+Returns the pixmap associated with the item, or 0 if there isn't
+one.
+<p> The default implementation returns 0.
+
+<p>Example: <a href="listboxcombo-example.html#x1411">listboxcombo/listboxcombo.cpp</a>.
+<p>Reimplemented in <a href="qlistboxpixmap.html#pixmap">QListBoxPixmap</a>.
+<h3 class=fn><a href="qlistboxitem.html">QListBoxItem</a>&nbsp;* <a name="prev"></a>QListBoxItem::prev () const
+</h3>
+Returns the item which comes before this in the list box. If this
+is the first item, 0 is returned.
+<p> <p>See also <a href="#next">next</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QListBoxItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 0.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>(), and
+you can distinguish between listbox items. You should use values
+greater than 1000 preferably a large random number, to allow for
+extensions to this class.
+
+<h3 class=fn>bool <a name="selected"></a>QListBoxItem::selected () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="setCustomHighlighting"></a>QListBoxItem::setCustomHighlighting ( bool&nbsp;b )<tt> [protected]</tt>
+</h3>
+Defines whether the list box item is responsible for drawing
+itself in a highlighted state when being selected.
+<p> If <em>b</em> is FALSE (the default), the list box will draw some
+default highlight indicator before calling <a href="#paint">paint</a>().
+<p> <p>See also <a href="#selected">selected</a>() and <a href="#paint">paint</a>().
+
+<h3 class=fn>void <a name="setSelectable"></a>QListBoxItem::setSelectable ( bool&nbsp;b )
+</h3>
+If <em>b</em> is TRUE (the default) then this item can be selected by
+the user; otherwise this item cannot be selected by the user.
+<p> <p>See also <a href="#isSelectable">isSelectable</a>().
+
+<h3 class=fn>void <a name="setText"></a>QListBoxItem::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Sets the text of the QListBoxItem to <em>text</em>. This <em>text</em> is also
+used for sorting. The text is not shown unless explicitly drawn in
+<a href="#paint">paint</a>().
+<p> <p>See also <a href="#text">text</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QListBoxItem::text () const<tt> [virtual]</tt>
+</h3>
+Returns the text of the item. This text is also used for sorting.
+<p> <p>See also <a href="#setText">setText</a>().
+
+<p>Example: <a href="listboxcombo-example.html#x1412">listboxcombo/listboxcombo.cpp</a>.
+<h3 class=fn>int <a name="width"></a>QListBoxItem::width ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Reimplement this function to return the width of your item. The <em>lb</em> parameter is the same as <a href="#listBox">listBox</a>() and is provided for
+convenience and compatibility.
+<p> The default implementation returns
+<a href="qapplication.html#globalStrut">QApplication::globalStrut</a>()'s width.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#height">height</a>().
+
+<p>Reimplemented in <a href="qlistboxtext.html#width">QListBoxText</a> and <a href="qlistboxpixmap.html#width">QListBoxPixmap</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxpixmap-members.html b/doc/html/qlistboxpixmap-members.html
new file mode 100644
index 0000000..45127d9
--- /dev/null
+++ b/doc/html/qlistboxpixmap-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistbox.h:398 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxPixmap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListBoxPixmap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistboxpixmap.html">QListBoxPixmap</a>, including inherited members.
+
+<ul>
+<li><a href="qlistboxpixmap.html#QListBoxPixmap">QListBoxPixmap</a>()
+<li><a href="qlistboxpixmap.html#~QListBoxPixmap">~QListBoxPixmap</a>()
+<li><a href="qlistboxitem.html#current">current</a>()
+<li><a href="qlistboxpixmap.html#height">height</a>()
+<li><a href="qlistboxitem.html#isCurrent">isCurrent</a>()
+<li><a href="qlistboxitem.html#isSelectable">isSelectable</a>()
+<li><a href="qlistboxitem.html#isSelected">isSelected</a>()
+<li><a href="qlistboxitem.html#listBox">listBox</a>()
+<li><a href="qlistboxitem.html#next">next</a>()
+<li><a href="qlistboxpixmap.html#paint">paint</a>()
+<li><a href="qlistboxpixmap.html#pixmap">pixmap</a>()
+<li><a href="qlistboxitem.html#prev">prev</a>()
+<li><a href="qlistboxitem.html#rtti">rtti</a>()
+<li><a href="qlistboxitem.html#selected">selected</a>()
+<li><a href="qlistboxitem.html#setCustomHighlighting">setCustomHighlighting</a>()
+<li><a href="qlistboxitem.html#setSelectable">setSelectable</a>()
+<li><a href="qlistboxitem.html#setText">setText</a>()
+<li><a href="qlistboxitem.html#text">text</a>()
+<li><a href="qlistboxpixmap.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxpixmap.html b/doc/html/qlistboxpixmap.html
new file mode 100644
index 0000000..a674817
--- /dev/null
+++ b/doc/html/qlistboxpixmap.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistbox.cpp:634 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxPixmap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListBoxPixmap Class Reference</h1>
+
+<p>The QListBoxPixmap class provides list box items with a
+pixmap and optional text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;</tt>
+<p>Inherits <a href="qlistboxitem.html">QListBoxItem</a>.
+<p><a href="qlistboxpixmap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListBoxPixmap"><b>QListBoxPixmap</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn><a href="#QListBoxPixmap-2"><b>QListBoxPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn><a href="#QListBoxPixmap-3"><b>QListBoxPixmap</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QListBoxItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#QListBoxPixmap-4"><b>QListBoxPixmap</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pix, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QListBoxPixmap-5"><b>QListBoxPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pix, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QListBoxPixmap-6"><b>QListBoxPixmap</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pix, const&nbsp;QString&nbsp;&amp;&nbsp;text, QListBoxItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#~QListBoxPixmap"><b>~QListBoxPixmap</b></a> ()</li>
+<li class=fn>virtual const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual int <a href="#height"><b>height</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+<li class=fn>virtual int <a href="#width"><b>width</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;painter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListBoxPixmap class provides list box items with a
+pixmap and optional text.
+<p>
+<p> Items of this class are drawn with the pixmap on the left with the
+optional text to the right of the pixmap.
+<p> <p>See also <a href="qlistbox.html">QListBox</a>, <a href="qlistboxitem.html">QListBoxItem</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListBoxPixmap"></a>QListBoxPixmap::QListBoxPixmap ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Constructs a new list box item in list box <em>listbox</em> showing the
+pixmap <em>pixmap</em>.
+
+<h3 class=fn><a name="QListBoxPixmap-2"></a>QListBoxPixmap::QListBoxPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Constructs a new list box item showing the pixmap <em>pixmap</em>.
+
+<h3 class=fn><a name="QListBoxPixmap-3"></a>QListBoxPixmap::QListBoxPixmap ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs a new list box item in list box <em>listbox</em> showing the
+pixmap <em>pixmap</em>. The item gets inserted after the item <em>after</em>,
+or at the beginning if <em>after</em> is 0.
+
+<h3 class=fn><a name="QListBoxPixmap-4"></a>QListBoxPixmap::QListBoxPixmap ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Constructs a new list box item in list box <em>listbox</em> showing the
+pixmap <em>pix</em> and the text <em>text</em>.
+
+<h3 class=fn><a name="QListBoxPixmap-5"></a>QListBoxPixmap::QListBoxPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Constructs a new list box item showing the pixmap <em>pix</em> and the
+text to <em>text</em>.
+
+<h3 class=fn><a name="QListBoxPixmap-6"></a>QListBoxPixmap::QListBoxPixmap ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs a new list box item in list box <em>listbox</em> showing the
+pixmap <em>pix</em> and the string <em>text</em>. The item gets inserted after
+the item <em>after</em>, or at the beginning if <em>after</em> is 0.
+
+<h3 class=fn><a name="~QListBoxPixmap"></a>QListBoxPixmap::~QListBoxPixmap ()
+</h3>
+Destroys the item.
+
+<h3 class=fn>int <a name="height"></a>QListBoxPixmap::height ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+Returns the height of the pixmap in list box <em>lb</em>.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#width">width</a>().
+
+<p>Reimplemented from <a href="qlistboxitem.html#height">QListBoxItem</a>.
+<h3 class=fn>void <a name="paint"></a>QListBoxPixmap::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter )<tt> [virtual protected]</tt>
+</h3>
+Draws the pixmap using <em>painter</em>.
+
+<p>Reimplemented from <a href="qlistboxitem.html#paint">QListBoxItem</a>.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QListBoxPixmap::pixmap () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the pixmap associated with the item.
+
+<p>Reimplemented from <a href="qlistboxitem.html#pixmap">QListBoxItem</a>.
+<h3 class=fn>int <a name="width"></a>QListBoxPixmap::width ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+Returns the width of the pixmap plus some margin in list box <em>lb</em>.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#height">height</a>().
+
+<p>Reimplemented from <a href="qlistboxitem.html#width">QListBoxItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxtext-members.html b/doc/html/qlistboxtext-members.html
new file mode 100644
index 0000000..63ca099
--- /dev/null
+++ b/doc/html/qlistboxtext-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistbox.h:373 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxText Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListBoxText</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistboxtext.html">QListBoxText</a>, including inherited members.
+
+<ul>
+<li><a href="qlistboxtext.html#QListBoxText">QListBoxText</a>()
+<li><a href="qlistboxtext.html#~QListBoxText">~QListBoxText</a>()
+<li><a href="qlistboxitem.html#current">current</a>()
+<li><a href="qlistboxtext.html#height">height</a>()
+<li><a href="qlistboxitem.html#isCurrent">isCurrent</a>()
+<li><a href="qlistboxitem.html#isSelectable">isSelectable</a>()
+<li><a href="qlistboxitem.html#isSelected">isSelected</a>()
+<li><a href="qlistboxitem.html#listBox">listBox</a>()
+<li><a href="qlistboxitem.html#next">next</a>()
+<li><a href="qlistboxtext.html#paint">paint</a>()
+<li><a href="qlistboxitem.html#pixmap">pixmap</a>()
+<li><a href="qlistboxitem.html#prev">prev</a>()
+<li><a href="qlistboxitem.html#rtti">rtti</a>()
+<li><a href="qlistboxitem.html#selected">selected</a>()
+<li><a href="qlistboxitem.html#setCustomHighlighting">setCustomHighlighting</a>()
+<li><a href="qlistboxitem.html#setSelectable">setSelectable</a>()
+<li><a href="qlistboxitem.html#setText">setText</a>()
+<li><a href="qlistboxitem.html#text">text</a>()
+<li><a href="qlistboxtext.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistboxtext.html b/doc/html/qlistboxtext.html
new file mode 100644
index 0000000..e81214f
--- /dev/null
+++ b/doc/html/qlistboxtext.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistbox.cpp:524 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListBoxText Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListBoxText Class Reference</h1>
+
+<p>The QListBoxText class provides list box items that display text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;</tt>
+<p>Inherits <a href="qlistboxitem.html">QListBoxItem</a>.
+<p><a href="qlistboxtext-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListBoxText"><b>QListBoxText</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null )</li>
+<li class=fn><a href="#QListBoxText-2"><b>QListBoxText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null )</li>
+<li class=fn><a href="#QListBoxText-3"><b>QListBoxText</b></a> ( QListBox&nbsp;*&nbsp;listbox, const&nbsp;QString&nbsp;&amp;&nbsp;text, QListBoxItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#~QListBoxText"><b>~QListBoxText</b></a> ()</li>
+<li class=fn>virtual int <a href="#height"><b>height</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+<li class=fn>virtual int <a href="#width"><b>width</b></a> ( const&nbsp;QListBox&nbsp;*&nbsp;lb ) const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;painter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListBoxText class provides list box items that display text.
+<p>
+<p> The text is drawn in the widget's current font. If you need
+several different fonts, you must implement your own subclass of
+<a href="qlistboxitem.html">QListBoxItem</a>.
+<p> <p>See also <a href="qlistbox.html">QListBox</a>, <a href="qlistboxitem.html">QListBoxItem</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListBoxText"></a>QListBoxText::QListBoxText ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null )
+</h3>
+Constructs a list box item in list box <em>listbox</em> showing the text
+<em>text</em>.
+
+<h3 class=fn><a name="QListBoxText-2"></a>QListBoxText::QListBoxText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null )
+</h3>
+Constructs a list box item showing the text <em>text</em>.
+
+<h3 class=fn><a name="QListBoxText-3"></a>QListBoxText::QListBoxText ( <a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;listbox, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qlistboxitem.html">QListBoxItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs a list box item in list box <em>listbox</em> showing the text
+<em>text</em>. The item is inserted after the item <em>after</em>, or at the
+beginning if <em>after</em> is 0.
+
+<h3 class=fn><a name="~QListBoxText"></a>QListBoxText::~QListBoxText ()
+</h3>
+Destroys the item.
+
+<h3 class=fn>int <a name="height"></a>QListBoxText::height ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+Returns the height of a line of text in list box <em>lb</em>.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#width">width</a>().
+
+<p>Reimplemented from <a href="qlistboxitem.html#height">QListBoxItem</a>.
+<h3 class=fn>void <a name="paint"></a>QListBoxText::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter )<tt> [virtual protected]</tt>
+</h3>
+Draws the text using <em>painter</em>.
+
+<p>Reimplemented from <a href="qlistboxitem.html#paint">QListBoxItem</a>.
+<h3 class=fn>int <a name="width"></a>QListBoxText::width ( const&nbsp;<a href="qlistbox.html">QListBox</a>&nbsp;*&nbsp;lb ) const<tt> [virtual]</tt>
+</h3>
+Returns the width of this line in list box <em>lb</em>.
+<p> <p>See also <a href="#paint">paint</a>() and <a href="#height">height</a>().
+
+<p>Reimplemented from <a href="qlistboxitem.html#width">QListBoxItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistiterator.html b/doc/html/qlistiterator.html
new file mode 100644
index 0000000..ec35044
--- /dev/null
+++ b/doc/html/qlistiterator.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListIterator Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListIterator Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qlist.h&gt;</pre>
+
+<p> The QListIterator class has been renamed <b> <a href="qptrlistiterator.html">QPtrListIterator</a> </b> in
+Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistview-h.html b/doc/html/qlistview-h.html
new file mode 100644
index 0000000..81325a4
--- /dev/null
+++ b/doc/html/qlistview-h.html
@@ -0,0 +1,650 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlistview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlistview.h</h1>
+
+<p>This is the verbatim text of the qlistview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlistview.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QListView widget class
+**
+** Created : 970809
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLISTVIEW_H
+#define QLISTVIEW_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#endif // QT_H
+
+#ifndef QT_NO_LISTVIEW
+
+
+class QPixmap;
+class QFont;
+class QHeader;
+class QIconSet;
+
+class QListView;
+struct QListViewPrivate;
+struct QCheckListItemPrivate;
+class QListViewItemIterator;
+struct QListViewItemIteratorPrivate;
+class QDragObject;
+class QMimeSource;
+class QLineEdit;
+class QListViewToolTip;
+
+class Q_EXPORT QListViewItem : public Qt
+{
+ friend class QListViewItemIterator;
+ friend class QListViewToolTip;
+
+public:
+ QListViewItem( QListView * parent );
+ QListViewItem( QListViewItem * parent );
+ QListViewItem( QListView * parent, QListViewItem * after );
+ QListViewItem( QListViewItem * parent, QListViewItem * after );
+
+ QListViewItem( QListView * parent,
+ QString, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null );
+ QListViewItem( QListViewItem * parent,
+ QString, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null );
+
+ QListViewItem( QListView * parent, QListViewItem * after,
+ QString, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null );
+ QListViewItem( QListViewItem * parent, QListViewItem * after,
+ QString, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null,
+ QString = QString::null, QString = QString::null );
+ virtual ~QListViewItem();
+
+ virtual void insertItem( QListViewItem * );
+ virtual void takeItem( QListViewItem * );
+ virtual void removeItem( QListViewItem *item ) { takeItem( item ); } //obsolete, use takeItem instead
+
+ int height() const;
+ virtual void invalidateHeight();
+ int totalHeight() const;
+ virtual int width( const QFontMetrics&amp;,
+ const QListView*, int column) const;
+ void widthChanged(int column=-1) const;
+ int depth() const;
+
+ virtual void setText( int, const QString &amp;);
+ virtual QString text( int ) const;
+
+ virtual void setPixmap( int, const QPixmap &amp; );
+ virtual const QPixmap * pixmap( int ) const;
+
+ virtual QString key( int, bool ) const;
+ virtual int compare( QListViewItem *i, int col, bool ) const;
+ virtual void sortChildItems( int, bool );
+
+ int childCount() const { return nChildren; }
+
+ bool isOpen() const { return open; }
+ virtual void setOpen( bool );
+ virtual void setup();
+
+ virtual void setSelected( bool );
+ bool isSelected() const { return selected; }
+
+ virtual void paintCell( QPainter *, const QColorGroup &amp; cg,
+ int column, int width, int alignment );
+ virtual void paintBranches( QPainter * p, const QColorGroup &amp; cg,
+ int w, int y, int h );
+ virtual void paintFocus( QPainter *, const QColorGroup &amp; cg,
+ const QRect &amp; r );
+
+ QListViewItem * firstChild() const;
+ QListViewItem * nextSibling() const { return siblingItem; }
+ QListViewItem * parent() const;
+
+ QListViewItem * itemAbove();
+ QListViewItem * itemBelow();
+
+ int itemPos() const;
+
+ QListView *listView() const;
+
+ virtual void setSelectable( bool enable );
+ bool isSelectable() const { return selectable &amp;&amp; enabled; }
+
+ virtual void setExpandable( bool );
+ bool isExpandable() const { return expandable; }
+
+ void repaint() const;
+
+ virtual void sort();
+ void moveItem( QListViewItem *after );
+
+ virtual void setDragEnabled( bool allow );
+ virtual void setDropEnabled( bool allow );
+ bool dragEnabled() const;
+ bool dropEnabled() const;
+ virtual bool acceptDrop( const QMimeSource *mime ) const;
+
+ void setVisible( bool b );
+ bool isVisible() const;
+
+ virtual void setRenameEnabled( int col, bool b );
+ bool renameEnabled( int col ) const;
+ virtual void startRename( int col );
+
+ virtual void setEnabled( bool b );
+ bool isEnabled() const;
+
+ virtual int rtti() const;
+ // ### Qt 4: make const or better use an enum
+ static int RTTI;
+
+ virtual void setMultiLinesEnabled( bool b );
+ bool multiLinesEnabled() const;
+
+protected:
+ virtual void enforceSortOrder() const;
+ virtual void setHeight( int );
+ virtual void activate();
+
+ bool activatedPos( QPoint &amp; );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void dropped( QDropEvent *e );
+#endif
+ virtual void dragEntered();
+ virtual void dragLeft();
+ virtual void okRename( int col );
+ virtual void cancelRename( int col );
+
+ void ignoreDoubleClick();
+
+private:
+ void init();
+ void moveToJustAfter( QListViewItem * );
+ void enforceSortOrderBackToRoot();
+ void removeRenameBox();
+
+ int ownHeight;
+ int maybeTotalHeight;
+ int nChildren;
+
+ uint lsc: 14;
+ uint lso: 1;
+ uint open : 1;
+ uint selected : 1;
+ uint selectable: 1;
+ uint configured: 1;
+ uint expandable: 1;
+ uint is_root: 1;
+ uint allow_drag : 1;
+ uint allow_drop : 1;
+ uint visible : 1;
+ uint enabled : 1;
+ uint mlenabled : 1;
+
+ QListViewItem * parentItem;
+ QListViewItem * siblingItem;
+ QListViewItem * childItem;
+ QLineEdit *renameBox;
+ int renameCol;
+
+ void * columns;
+
+ friend class QListView;
+};
+
+class QCheckListItem;
+
+class Q_EXPORT QListView: public QScrollView
+{
+ friend class QListViewItemIterator;
+ friend class QListViewItem;
+ friend class QCheckListItem;
+ friend class QListViewToolTip;
+
+ Q_OBJECT
+ Q_ENUMS( SelectionMode ResizeMode RenameAction )
+ Q_PROPERTY( int columns READ columns )
+ Q_PROPERTY( bool multiSelection READ isMultiSelection WRITE setMultiSelection DESIGNABLE false )
+ Q_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
+ Q_PROPERTY( int childCount READ childCount )
+ Q_PROPERTY( bool allColumnsShowFocus READ allColumnsShowFocus WRITE setAllColumnsShowFocus )
+ Q_PROPERTY( bool showSortIndicator READ showSortIndicator WRITE setShowSortIndicator )
+ Q_PROPERTY( int itemMargin READ itemMargin WRITE setItemMargin )
+ Q_PROPERTY( bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated )
+ Q_PROPERTY( bool showToolTips READ showToolTips WRITE setShowToolTips )
+ Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
+ Q_PROPERTY( int treeStepSize READ treeStepSize WRITE setTreeStepSize )
+ Q_PROPERTY( RenameAction defaultRenameAction READ defaultRenameAction WRITE setDefaultRenameAction )
+
+public:
+ QListView( QWidget* parent=0, const char* name=0, WFlags f = 0 );
+ ~QListView();
+
+ int treeStepSize() const;
+ virtual void setTreeStepSize( int );
+
+ virtual void insertItem( QListViewItem * );
+ virtual void takeItem( QListViewItem * );
+ virtual void removeItem( QListViewItem *item ) { takeItem( item ); } // obsolete, use takeItem instead
+
+ QHeader * header() const;
+
+ virtual int addColumn( const QString &amp;label, int size = -1);
+ virtual int addColumn( const QIconSet&amp; iconset, const QString &amp;label, int size = -1);
+ virtual void removeColumn( int index );
+ virtual void setColumnText( int column, const QString &amp;label );
+ virtual void setColumnText( int column, const QIconSet&amp; iconset, const QString &amp;label );
+ QString columnText( int column ) const;
+ virtual void setColumnWidth( int column, int width );
+ int columnWidth( int column ) const;
+ enum WidthMode { Manual, Maximum };
+ virtual void setColumnWidthMode( int column, WidthMode );
+ WidthMode columnWidthMode( int column ) const;
+ int columns() const;
+
+ virtual void setColumnAlignment( int, int );
+ int columnAlignment( int ) const;
+
+ void show();
+
+ QListViewItem * itemAt( const QPoint &amp; screenPos ) const;
+ QRect itemRect( const QListViewItem * ) const;
+ int itemPos( const QListViewItem * );
+
+ void ensureItemVisible( const QListViewItem * );
+
+ void repaintItem( const QListViewItem * ) const;
+
+ virtual void setMultiSelection( bool enable );
+ bool isMultiSelection() const;
+
+ enum SelectionMode { Single, Multi, Extended, NoSelection };
+ void setSelectionMode( SelectionMode mode );
+ SelectionMode selectionMode() const;
+
+ virtual void clearSelection();
+ virtual void setSelected( QListViewItem *, bool );
+ void setSelectionAnchor( QListViewItem * );
+ bool isSelected( const QListViewItem * ) const;
+ QListViewItem * selectedItem() const;
+ virtual void setOpen( QListViewItem *, bool );
+ bool isOpen( const QListViewItem * ) const;
+
+ virtual void setCurrentItem( QListViewItem * );
+ QListViewItem * currentItem() const;
+
+ QListViewItem * firstChild() const;
+ QListViewItem * lastItem() const;
+
+ int childCount() const;
+
+ virtual void setAllColumnsShowFocus( bool );
+ bool allColumnsShowFocus() const;
+
+ virtual void setItemMargin( int );
+ int itemMargin() const;
+
+ virtual void setRootIsDecorated( bool );
+ bool rootIsDecorated() const;
+
+ virtual void setSorting( int column, bool ascending = TRUE );
+ int sortColumn() const;
+ void setSortColumn( int column );
+ SortOrder sortOrder() const;
+ void setSortOrder( SortOrder order );
+ virtual void sort();
+
+ virtual void setFont( const QFont &amp; );
+ virtual void setPalette( const QPalette &amp; );
+
+ bool eventFilter( QObject * o, QEvent * );
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ virtual void setShowSortIndicator( bool show );
+ bool showSortIndicator() const;
+ virtual void setShowToolTips( bool b );
+ bool showToolTips() const;
+
+ enum ResizeMode { NoColumn, AllColumns, LastColumn };
+ virtual void setResizeMode( ResizeMode m );
+ ResizeMode resizeMode() const;
+
+ QListViewItem * findItem( const QString&amp; text, int column, ComparisonFlags compare = ExactMatch | CaseSensitive ) const;
+
+ enum RenameAction { Accept, Reject };
+ virtual void setDefaultRenameAction( RenameAction a );
+ RenameAction defaultRenameAction() const;
+ bool isRenaming() const;
+
+ void hideColumn( int column );
+
+public slots:
+ virtual void clear();
+ virtual void invertSelection();
+ virtual void selectAll( bool select );
+ void triggerUpdate();
+ void setContentsPos( int x, int y );
+ void adjustColumn( int col );
+
+signals:
+ void selectionChanged();
+ void selectionChanged( QListViewItem * );
+ void currentChanged( QListViewItem * );
+ void clicked( QListViewItem * );
+ void clicked( QListViewItem *, const QPoint &amp;, int );
+ void pressed( QListViewItem * );
+ void pressed( QListViewItem *, const QPoint &amp;, int );
+
+ void doubleClicked( QListViewItem * );
+ void doubleClicked( QListViewItem *, const QPoint&amp;, int );
+ void returnPressed( QListViewItem * );
+ void spacePressed( QListViewItem * );
+ void rightButtonClicked( QListViewItem *, const QPoint&amp;, int );
+ void rightButtonPressed( QListViewItem *, const QPoint&amp;, int );
+ void mouseButtonPressed( int, QListViewItem *, const QPoint&amp; , int );
+ void mouseButtonClicked( int, QListViewItem *, const QPoint&amp;, int );
+
+ void contextMenuRequested( QListViewItem *, const QPoint &amp;, int );
+
+ void onItem( QListViewItem *item );
+ void onViewport();
+
+ void expanded( QListViewItem *item );
+ void collapsed( QListViewItem *item );
+#ifndef QT_NO_DRAGANDDROP
+ void dropped( QDropEvent *e );
+#endif
+ void itemRenamed( QListViewItem *item, int col, const QString &amp; );
+ void itemRenamed( QListViewItem *item, int col );
+
+protected:
+ void contentsMousePressEvent( QMouseEvent * e );
+ void contentsMouseReleaseEvent( QMouseEvent * e );
+ void contentsMouseMoveEvent( QMouseEvent * e );
+ void contentsMouseDoubleClickEvent( QMouseEvent * e );
+ void contentsContextMenuEvent( QContextMenuEvent * e );
+#ifndef QT_NO_DRAGANDDROP
+ void contentsDragEnterEvent( QDragEnterEvent *e );
+ void contentsDragMoveEvent( QDragMoveEvent *e );
+ void contentsDragLeaveEvent( QDragLeaveEvent *e );
+ void contentsDropEvent( QDropEvent *e );
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+#endif
+
+ void focusInEvent( QFocusEvent * e );
+ void focusOutEvent( QFocusEvent * e );
+
+ void keyPressEvent( QKeyEvent *e );
+
+ void resizeEvent( QResizeEvent *e );
+ void viewportResizeEvent( QResizeEvent *e );
+
+ void showEvent( QShowEvent * );
+
+ void drawContentsOffset( QPainter *, int ox, int oy,
+ int cx, int cy, int cw, int ch );
+
+ virtual void paintEmptyArea( QPainter *, const QRect &amp; );
+ void styleChange( QStyle&amp; );
+ void windowActivationChange( bool );
+
+protected slots:
+ void updateContents();
+ void doAutoScroll();
+
+private slots:
+ void changeSortColumn( int );
+ void handleIndexChange();
+ void updateDirtyItems();
+ void makeVisible();
+ void handleSizeChange( int, int, int );
+ void startRename();
+ void openFocusItem();
+
+private:
+ void contentsMousePressEventEx( QMouseEvent * e );
+ void contentsMouseReleaseEventEx( QMouseEvent * e );
+ void init();
+ void updateGeometries();
+ void buildDrawableList() const;
+ void reconfigureItems();
+ void widthChanged(const QListViewItem*, int c);
+ void handleItemChange( QListViewItem *old, bool shift, bool control );
+ void selectRange( QListViewItem *from, QListViewItem *to, bool invert, bool includeFirst, bool clearSel = FALSE );
+ bool selectRange( QListViewItem *newItem, QListViewItem *oldItem, QListViewItem *anchorItem );
+ bool clearRange( QListViewItem *from, QListViewItem *to, bool includeFirst = TRUE );
+ void doAutoScroll( const QPoint &amp;cursorPos );
+
+ QListViewPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QListView( const QListView &amp; );
+ QListView &amp;operator=( const QListView &amp; );
+#endif
+};
+
+
+class Q_EXPORT QCheckListItem : public QListViewItem
+{
+public:
+ enum Type { RadioButton,
+ CheckBox,
+ Controller,
+ RadioButtonController=Controller,
+ CheckBoxController };
+ // ### should be integrated with qbutton in ver4 perhaps
+ enum ToggleState { Off, NoChange, On };
+
+ QCheckListItem( QCheckListItem *parent, const QString &amp;text,
+ Type = RadioButtonController );
+ QCheckListItem( QCheckListItem *parent, QListViewItem *after,
+ const QString &amp;text, Type = RadioButtonController );
+ QCheckListItem( QListViewItem *parent, const QString &amp;text,
+ Type = RadioButtonController );
+ QCheckListItem( QListViewItem *parent, QListViewItem *after,
+ const QString &amp;text, Type = RadioButtonController );
+ QCheckListItem( QListView *parent, const QString &amp;text,
+ Type = RadioButtonController );
+ QCheckListItem( QListView *parent, QListViewItem *after,
+ const QString &amp;text, Type = RadioButtonController );
+ QCheckListItem( QListViewItem *parent, const QString &amp;text,
+ const QPixmap &amp; );
+ QCheckListItem( QListView *parent, const QString &amp;text,
+ const QPixmap &amp; );
+ ~QCheckListItem();
+
+ void paintCell( QPainter *, const QColorGroup &amp; cg,
+ int column, int width, int alignment );
+ virtual void paintFocus( QPainter *, const QColorGroup &amp; cg,
+ const QRect &amp; r );
+ int width( const QFontMetrics&amp;, const QListView*, int column) const;
+ void setup();
+
+ virtual void setOn( bool ); // ### should be replaced by setChecked in ver4
+ bool isOn() const { return on; }
+ Type type() const { return myType; }
+ QString text() const { return QListViewItem::text( 0 ); }
+ QString text( int n ) const { return QListViewItem::text( n ); }
+
+ void setTristate( bool );
+ bool isTristate() const;
+ ToggleState state() const;
+ void setState( ToggleState s);
+
+ int rtti() const;
+ static int RTTI;
+
+protected:
+ void activate();
+ void turnOffChild();
+ virtual void stateChange( bool );
+
+private:
+ void init();
+ ToggleState internalState() const;
+ void setStoredState( ToggleState newState, void *key );
+ ToggleState storedState( void *key ) const;
+ void stateChange( ToggleState s );
+ void restoreState( void *key, int depth = 0 );
+ void updateController( bool update = TRUE , bool store = FALSE );
+ void updateStoredState( void *key );
+ void setState( ToggleState s, bool update, bool store );
+ void setCurrentState( ToggleState s );
+
+ Type myType;
+ bool on; // ### remove in ver4
+ QCheckListItemPrivate *d;
+};
+
+class Q_EXPORT QListViewItemIterator
+{
+ friend struct QListViewPrivate;
+ friend class QListView;
+ friend class QListViewItem;
+
+public:
+ enum IteratorFlag {
+ Visible = 0x00000001,
+ Invisible = 0x00000002,
+ Selected = 0x00000004,
+ Unselected = 0x00000008,
+ Selectable = 0x00000010,
+ NotSelectable = 0x00000020,
+ DragEnabled = 0x00000040,
+ DragDisabled = 0x00000080,
+ DropEnabled = 0x00000100,
+ DropDisabled = 0x00000200,
+ Expandable = 0x00000400,
+ NotExpandable = 0x00000800,
+ Checked = 0x00001000,
+ NotChecked = 0x00002000
+ };
+
+ QListViewItemIterator();
+ QListViewItemIterator( QListViewItem *item );
+ QListViewItemIterator( QListViewItem *item, int iteratorFlags );
+
+ QListViewItemIterator( const QListViewItemIterator &amp;it );
+ QListViewItemIterator( QListView *lv );
+ QListViewItemIterator( QListView *lv, int iteratorFlags );
+
+ QListViewItemIterator &amp;operator=( const QListViewItemIterator &amp;it );
+
+ ~QListViewItemIterator();
+
+ QListViewItemIterator &amp;operator++();
+ const QListViewItemIterator operator++( int );
+ QListViewItemIterator &amp;operator+=( int j );
+
+ QListViewItemIterator &amp;operator--();
+ const QListViewItemIterator operator--( int );
+ QListViewItemIterator &amp;operator-=( int j );
+
+ QListViewItem* operator*();
+ QListViewItem *current() const;
+
+protected:
+ QListViewItem *curr;
+ QListView *listView;
+
+private:
+ QListViewItemIteratorPrivate* d() const;
+ void init( int flags );
+ void addToListView();
+ void currentRemoved();
+ bool matchesFlags( const QListViewItem* ) const;
+ bool testPair( QListViewItemIterator::IteratorFlag, QListViewItemIterator::IteratorFlag, bool ) const;
+ bool isChecked( const QListViewItem* ) const;
+};
+
+#endif // QT_NO_LISTVIEW
+
+#endif // QLISTVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistview-m.png b/doc/html/qlistview-m.png
new file mode 100644
index 0000000..0671cb0
--- /dev/null
+++ b/doc/html/qlistview-m.png
Binary files differ
diff --git a/doc/html/qlistview-members.html b/doc/html/qlistview-members.html
new file mode 100644
index 0000000..1c7491d
--- /dev/null
+++ b/doc/html/qlistview-members.html
@@ -0,0 +1,512 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistview.h:233 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistview.html">QListView</a>, including inherited members.
+
+<ul>
+<li><a href="qlistview.html#QListView">QListView</a>()
+<li><a href="qlistview.html#~QListView">~QListView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qlistview.html#addColumn">addColumn</a>()
+<li><a href="qlistview.html#adjustColumn">adjustColumn</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qlistview.html#allColumnsShowFocus">allColumnsShowFocus</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qlistview.html#childCount">childCount</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qlistview.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qlistview.html#clearSelection">clearSelection</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qlistview.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qlistview.html#collapsed">collapsed</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qlistview.html#columnAlignment">columnAlignment</a>()
+<li><a href="qlistview.html#columnText">columnText</a>()
+<li><a href="qlistview.html#columnWidth">columnWidth</a>()
+<li><a href="qlistview.html#columnWidthMode">columnWidthMode</a>()
+<li><a href="qlistview.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qlistview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qlistview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qlistview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qlistview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qlistview.html#contextMenuRequested">contextMenuRequested</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qlistview.html#currentChanged">currentChanged</a>()
+<li><a href="qlistview.html#currentItem">currentItem</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qlistview.html#defaultRenameAction">defaultRenameAction</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qlistview.html#doAutoScroll">doAutoScroll</a>()
+<li><a href="qlistview.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qlistview.html#dragObject">dragObject</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qlistview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qlistview.html#dropped">dropped</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qlistview.html#ensureItemVisible">ensureItemVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qlistview.html#eventFilter">eventFilter</a>()
+<li><a href="qlistview.html#expanded">expanded</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qlistview.html#findItem">findItem</a>()
+<li><a href="qlistview.html#firstChild">firstChild</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qlistview.html#header">header</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qlistview.html#hideColumn">hideColumn</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qlistview.html#insertItem">insertItem</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qlistview.html#invertSelection">invertSelection</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qlistview.html#isMultiSelection">isMultiSelection</a>()
+<li><a href="qlistview.html#isOpen">isOpen</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qlistview.html#isRenaming">isRenaming</a>()
+<li><a href="qlistview.html#isSelected">isSelected</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlistview.html#itemAt">itemAt</a>()
+<li><a href="qlistview.html#itemMargin">itemMargin</a>()
+<li><a href="qlistview.html#itemPos">itemPos</a>()
+<li><a href="qlistview.html#itemRect">itemRect</a>()
+<li><a href="qlistview.html#itemRenamed">itemRenamed</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlistview.html#lastItem">lastItem</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qlistview.html#mouseButtonClicked">mouseButtonClicked</a>()
+<li><a href="qlistview.html#mouseButtonPressed">mouseButtonPressed</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qlistview.html#onItem">onItem</a>()
+<li><a href="qlistview.html#onViewport">onViewport</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qlistview.html#paintEmptyArea">paintEmptyArea</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qlistview.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qlistview.html#removeColumn">removeColumn</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlistview.html#removeItem">removeItem</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qlistview.html#repaintItem">repaintItem</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qlistview.html#resizeEvent">resizeEvent</a>()
+<li><a href="qlistview.html#resizeMode">resizeMode</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qlistview.html#returnPressed">returnPressed</a>()
+<li><a href="qlistview.html#rightButtonClicked">rightButtonClicked</a>()
+<li><a href="qlistview.html#rightButtonPressed">rightButtonPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qlistview.html#rootIsDecorated">rootIsDecorated</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qlistview.html#selectAll">selectAll</a>()
+<li><a href="qlistview.html#selectedItem">selectedItem</a>()
+<li><a href="qlistview.html#selectionChanged">selectionChanged</a>()
+<li><a href="qlistview.html#selectionMode">selectionMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qlistview.html#setColumnAlignment">setColumnAlignment</a>()
+<li><a href="qlistview.html#setColumnText">setColumnText</a>()
+<li><a href="qlistview.html#setColumnWidth">setColumnWidth</a>()
+<li><a href="qlistview.html#setColumnWidthMode">setColumnWidthMode</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qlistview.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qlistview.html#setDefaultRenameAction">setDefaultRenameAction</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qlistview.html#setItemMargin">setItemMargin</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qlistview.html#setMultiSelection">setMultiSelection</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qlistview.html#setOpen">setOpen</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlistview.html#setResizeMode">setResizeMode</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qlistview.html#setRootIsDecorated">setRootIsDecorated</a>()
+<li><a href="qlistview.html#setSelected">setSelected</a>()
+<li><a href="qlistview.html#setSelectionAnchor">setSelectionAnchor</a>()
+<li><a href="qlistview.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qlistview.html#setShowSortIndicator">setShowSortIndicator</a>()
+<li><a href="qlistview.html#setShowToolTips">setShowToolTips</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qlistview.html#setSortColumn">setSortColumn</a>()
+<li><a href="qlistview.html#setSortOrder">setSortOrder</a>()
+<li><a href="qlistview.html#setSorting">setSorting</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qlistview.html#setTreeStepSize">setTreeStepSize</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qlistview.html#showSortIndicator">showSortIndicator</a>()
+<li><a href="qlistview.html#showToolTips">showToolTips</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qlistview.html#sort">sort</a>()
+<li><a href="qlistview.html#sortColumn">sortColumn</a>()
+<li><a href="qlistview.html#sortOrder">sortOrder</a>()
+<li><a href="qlistview.html#spacePressed">spacePressed</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qlistview.html#startDrag">startDrag</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qlistview.html#takeItem">takeItem</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlistview.html#treeStepSize">treeStepSize</a>()
+<li><a href="qlistview.html#triggerUpdate">triggerUpdate</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qlistview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistview-w.png b/doc/html/qlistview-w.png
new file mode 100644
index 0000000..98b4d20
--- /dev/null
+++ b/doc/html/qlistview-w.png
Binary files differ
diff --git a/doc/html/qlistview.html b/doc/html/qlistview.html
new file mode 100644
index 0000000..020d057
--- /dev/null
+++ b/doc/html/qlistview.html
@@ -0,0 +1,1231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistview.cpp:2407 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListView Class Reference</h1>
+
+<p>The QListView class implements a list/tree view.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p><a href="qlistview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListView"><b>QListView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QListView"><b>~QListView</b></a> ()</li>
+<li class=fn>int <a href="#treeStepSize"><b>treeStepSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTreeStepSize"><b>setTreeStepSize</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#insertItem"><b>insertItem</b></a> ( QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn>virtual void <a href="#takeItem"><b>takeItem</b></a> ( QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn>virtual void removeItem ( QListViewItem&nbsp;*&nbsp;item ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QHeader * <a href="#header"><b>header</b></a> () const</li>
+<li class=fn>virtual int <a href="#addColumn"><b>addColumn</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;width = -1 )</li>
+<li class=fn>virtual int <a href="#addColumn-2"><b>addColumn</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;width = -1 )</li>
+<li class=fn>virtual void <a href="#removeColumn"><b>removeColumn</b></a> ( int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#setColumnText"><b>setColumnText</b></a> ( int&nbsp;column, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>virtual void <a href="#setColumnText-2"><b>setColumnText</b></a> ( int&nbsp;column, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>QString <a href="#columnText"><b>columnText</b></a> ( int&nbsp;c ) const</li>
+<li class=fn>virtual void <a href="#setColumnWidth"><b>setColumnWidth</b></a> ( int&nbsp;column, int&nbsp;w )</li>
+<li class=fn>int <a href="#columnWidth"><b>columnWidth</b></a> ( int&nbsp;c ) const</li>
+<li class=fn>enum <a href="#WidthMode-enum"><b>WidthMode</b></a> { Manual, Maximum }</li>
+<li class=fn>virtual void <a href="#setColumnWidthMode"><b>setColumnWidthMode</b></a> ( int&nbsp;c, WidthMode&nbsp;mode )</li>
+<li class=fn>WidthMode <a href="#columnWidthMode"><b>columnWidthMode</b></a> ( int&nbsp;c ) const</li>
+<li class=fn>int <a href="#columns"><b>columns</b></a> () const</li>
+<li class=fn>virtual void <a href="#setColumnAlignment"><b>setColumnAlignment</b></a> ( int&nbsp;column, int&nbsp;align )</li>
+<li class=fn>int <a href="#columnAlignment"><b>columnAlignment</b></a> ( int&nbsp;column ) const</li>
+<li class=fn>QListViewItem * <a href="#itemAt"><b>itemAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;viewPos ) const</li>
+<li class=fn>QRect <a href="#itemRect"><b>itemRect</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;i ) const</li>
+<li class=fn>int <a href="#itemPos"><b>itemPos</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#ensureItemVisible"><b>ensureItemVisible</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn>void <a href="#repaintItem"><b>repaintItem</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;item ) const</li>
+<li class=fn>virtual void setMultiSelection ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isMultiSelection () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#SelectionMode-enum"><b>SelectionMode</b></a> { Single, Multi, Extended, NoSelection }</li>
+<li class=fn>void <a href="#setSelectionMode"><b>setSelectionMode</b></a> ( SelectionMode&nbsp;mode )</li>
+<li class=fn>SelectionMode <a href="#selectionMode"><b>selectionMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#clearSelection"><b>clearSelection</b></a> ()</li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( QListViewItem&nbsp;*&nbsp;item, bool&nbsp;selected )</li>
+<li class=fn>void <a href="#setSelectionAnchor"><b>setSelectionAnchor</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;i ) const</li>
+<li class=fn>QListViewItem * <a href="#selectedItem"><b>selectedItem</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOpen"><b>setOpen</b></a> ( QListViewItem&nbsp;*&nbsp;item, bool&nbsp;open )</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> ( const&nbsp;QListViewItem&nbsp;*&nbsp;item ) const</li>
+<li class=fn>virtual void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn>QListViewItem * <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#firstChild"><b>firstChild</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#lastItem"><b>lastItem</b></a> () const</li>
+<li class=fn>int <a href="#childCount"><b>childCount</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAllColumnsShowFocus"><b>setAllColumnsShowFocus</b></a> ( bool )</li>
+<li class=fn>bool <a href="#allColumnsShowFocus"><b>allColumnsShowFocus</b></a> () const</li>
+<li class=fn>virtual void <a href="#setItemMargin"><b>setItemMargin</b></a> ( int )</li>
+<li class=fn>int <a href="#itemMargin"><b>itemMargin</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRootIsDecorated"><b>setRootIsDecorated</b></a> ( bool )</li>
+<li class=fn>bool <a href="#rootIsDecorated"><b>rootIsDecorated</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSorting"><b>setSorting</b></a> ( int&nbsp;column, bool&nbsp;ascending = TRUE )</li>
+<li class=fn>int <a href="#sortColumn"><b>sortColumn</b></a> () const</li>
+<li class=fn>void <a href="#setSortColumn"><b>setSortColumn</b></a> ( int&nbsp;column )</li>
+<li class=fn>SortOrder <a href="#sortOrder"><b>sortOrder</b></a> () const</li>
+<li class=fn>void <a href="#setSortOrder"><b>setSortOrder</b></a> ( SortOrder&nbsp;order )</li>
+<li class=fn>virtual void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( QObject&nbsp;*&nbsp;o, QEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#setShowSortIndicator"><b>setShowSortIndicator</b></a> ( bool&nbsp;show )</li>
+<li class=fn>bool <a href="#showSortIndicator"><b>showSortIndicator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setShowToolTips"><b>setShowToolTips</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#showToolTips"><b>showToolTips</b></a> () const</li>
+<li class=fn>enum <a href="#ResizeMode-enum"><b>ResizeMode</b></a> { NoColumn, AllColumns, LastColumn }</li>
+<li class=fn>virtual void <a href="#setResizeMode"><b>setResizeMode</b></a> ( ResizeMode&nbsp;m )</li>
+<li class=fn>ResizeMode <a href="#resizeMode"><b>resizeMode</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#findItem"><b>findItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;column, ComparisonFlags&nbsp;compare = ExactMatch | CaseSensitive ) const</li>
+<li class=fn>enum <a href="#RenameAction-enum"><b>RenameAction</b></a> { Accept, Reject }</li>
+<li class=fn>virtual void <a href="#setDefaultRenameAction"><b>setDefaultRenameAction</b></a> ( RenameAction&nbsp;a )</li>
+<li class=fn>RenameAction <a href="#defaultRenameAction"><b>defaultRenameAction</b></a> () const</li>
+<li class=fn>bool <a href="#isRenaming"><b>isRenaming</b></a> () const</li>
+<li class=fn>void <a href="#hideColumn"><b>hideColumn</b></a> ( int&nbsp;column )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#invertSelection"><b>invertSelection</b></a> ()</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;select )</li>
+<li class=fn>void <a href="#triggerUpdate"><b>triggerUpdate</b></a> ()</li>
+<li class=fn>void <a href="#adjustColumn"><b>adjustColumn</b></a> ( int&nbsp;col )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#selectionChanged-2"><b>selectionChanged</b></a> ( QListViewItem * )</li>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QListViewItem * )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#clicked-2"><b>clicked</b></a> ( QListViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt, int&nbsp;c )</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#pressed-2"><b>pressed</b></a> ( QListViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pnt, int&nbsp;c )</li>
+<li class=fn>void doubleClicked ( QListViewItem&nbsp;*&nbsp;item ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#doubleClicked"><b>doubleClicked</b></a> ( QListViewItem *, const QPoint &amp;, int )</li>
+<li class=fn>void <a href="#returnPressed"><b>returnPressed</b></a> ( QListViewItem * )</li>
+<li class=fn>void <a href="#spacePressed"><b>spacePressed</b></a> ( QListViewItem * )</li>
+<li class=fn>void <a href="#rightButtonClicked"><b>rightButtonClicked</b></a> ( QListViewItem *, const QPoint &amp;, int )</li>
+<li class=fn>void <a href="#rightButtonPressed"><b>rightButtonPressed</b></a> ( QListViewItem *, const QPoint &amp;, int )</li>
+<li class=fn>void <a href="#mouseButtonPressed"><b>mouseButtonPressed</b></a> ( int&nbsp;button, QListViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;c )</li>
+<li class=fn>void <a href="#mouseButtonClicked"><b>mouseButtonClicked</b></a> ( int&nbsp;button, QListViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;c )</li>
+<li class=fn>void <a href="#contextMenuRequested"><b>contextMenuRequested</b></a> ( QListViewItem&nbsp;*&nbsp;item, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;col )</li>
+<li class=fn>void <a href="#onItem"><b>onItem</b></a> ( QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn>void <a href="#onViewport"><b>onViewport</b></a> ()</li>
+<li class=fn>void <a href="#expanded"><b>expanded</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#collapsed"><b>collapsed</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#dropped"><b>dropped</b></a> ( QDropEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>void <a href="#itemRenamed"><b>itemRenamed</b></a> ( QListViewItem&nbsp;*&nbsp;item, int&nbsp;col, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#itemRenamed-2"><b>itemRenamed</b></a> ( QListViewItem&nbsp;*&nbsp;item, int&nbsp;col )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#allColumnsShowFocus-prop"><b>allColumnsShowFocus</b></a>&nbsp;- whether items should show keyboard focus using all columns</li>
+<li class=fn>int <a href="#childCount-prop"><b>childCount</b></a>&nbsp;- the number of parentless (top-level) QListViewItem objects in this QListView &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#columns-prop"><b>columns</b></a>&nbsp;- the number of columns in this list view &nbsp;<em>(read only)</em></li>
+<li class=fn>RenameAction <a href="#defaultRenameAction-prop"><b>defaultRenameAction</b></a>&nbsp;- what action to perform when the editor loses focus during renaming</li>
+<li class=fn>int <a href="#itemMargin-prop"><b>itemMargin</b></a>&nbsp;- the advisory item margin that list items may use</li>
+<li class=fn>bool multiSelection&nbsp;- whether the list view is in multi-selection or extended-selection mode &nbsp;<em>(obsolete)</em></li>
+<li class=fn>ResizeMode <a href="#resizeMode-prop"><b>resizeMode</b></a>&nbsp;- whether all, none or the only the last column should be resized</li>
+<li class=fn>bool <a href="#rootIsDecorated-prop"><b>rootIsDecorated</b></a>&nbsp;- whether the list view shows open/close signs on root items</li>
+<li class=fn>SelectionMode <a href="#selectionMode-prop"><b>selectionMode</b></a>&nbsp;- the list view's selection mode</li>
+<li class=fn>bool <a href="#showSortIndicator-prop"><b>showSortIndicator</b></a>&nbsp;- whether the list view header should display a sort indicator</li>
+<li class=fn>bool <a href="#showToolTips-prop"><b>showToolTips</b></a>&nbsp;- whether this list view should show tooltips for truncated column texts</li>
+<li class=fn>int <a href="#treeStepSize-prop"><b>treeStepSize</b></a>&nbsp;- the number of pixels a child is offset from its parent</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#contentsMousePressEvent"><b>contentsMousePressEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseReleaseEvent"><b>contentsMouseReleaseEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseMoveEvent"><b>contentsMouseMoveEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseDoubleClickEvent"><b>contentsMouseDoubleClickEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual QDragObject * <a href="#dragObject"><b>dragObject</b></a> ()</li>
+<li class=fn>virtual void <a href="#startDrag"><b>startDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#resizeEvent"><b>resizeEvent</b></a> ( QResizeEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#drawContentsOffset"><b>drawContentsOffset</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;ox, int&nbsp;oy, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )</li>
+<li class=fn>virtual void <a href="#paintEmptyArea"><b>paintEmptyArea</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;rect )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>void <a href="#updateContents"><b>updateContents</b></a> ()</li>
+<li class=fn>void <a href="#doAutoScroll"><b>doAutoScroll</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListView class implements a list/tree view.
+<p>
+
+<p> It can display and control a hierarchy of multi-column items, and
+provides the ability to add new items at any time. The user may
+select one or many items (depending on the <a href="#SelectionMode-enum">SelectionMode</a>) and
+sort the list in increasing or decreasing order by any column.
+<p> The simplest pattern of use is to create a QListView, add some
+column headers using <a href="#addColumn">addColumn</a>() and create one or more
+<a href="qlistviewitem.html">QListViewItem</a> or <a href="qchecklistitem.html">QCheckListItem</a> objects with the QListView as
+parent:
+<p>
+
+<pre> QListView * table;
+</pre>
+
+<pre> table-&gt;addColumn( "Qualified name" );
+ table-&gt;addColumn( "Namespace" );
+</pre><pre> element = new <a href="qlistviewitem.html">QListViewItem</a>( table, qName, namespaceURI );
+</pre>
+<p> Further nodes can be added to the list view object (the root of the
+tree) or as child nodes to QListViewItems:
+<p> <pre> <a name="x2105"></a> for ( int i = 0 ; i &lt; attributes.<a href="qxmlattributes.html#length">length</a>(); i++ ) {
+ <a name="x2107"></a><a name="x2106"></a> new <a href="qlistviewitem.html">QListViewItem</a>( element, attributes.<a href="qxmlattributes.html#qName">qName</a>(i), attributes.<a href="qxmlattributes.html#uri">uri</a>(i) );
+ }
+</pre>
+<p> (From <a href="tagreader-with-features-example.html">xml/tagreader-with-features/structureparser.cpp</a>)
+<p> The main setup functions are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#addColumn">addColumn</a>()
+<td valign="top">Adds a column with a text label and perhaps width. Columns
+are counted from the left starting with column 0.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#setColumnWidthMode">setColumnWidthMode</a>()
+<td valign="top">Sets the column to be resized automatically or not.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#setAllColumnsShowFocus">setAllColumnsShowFocus</a>()
+<td valign="top">Sets whether items should show <a href="focus.html#keyboard-focus">keyboard focus</a> using all
+columns or just column 0. The default is to show focus
+just using column 0.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#setRootIsDecorated">setRootIsDecorated</a>()
+<td valign="top">Sets whether root items should show open/close decoration to their left.
+The default is FALSE.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#setTreeStepSize">setTreeStepSize</a>()
+<td valign="top">Sets how many pixels an item's children are indented
+relative to their parent. The default is 20. This is
+mostly a matter of taste.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#setSorting">setSorting</a>()
+<td valign="top">Sets whether the items should be sorted, whether it should
+be in ascending or descending order, and by what column
+they should be sorted. By default the list view is sorted
+by the first column; to switch this off call <a href="#setSorting">setSorting</a>(-1).
+</table></center>
+<p> To handle events such as mouse presses on the list view, derived
+classes can reimplement the <a href="qscrollview.html">QScrollView</a> functions:
+<a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>,
+<a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>,
+<a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>,
+<a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>,
+<a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>,
+<a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>,
+<a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>,
+<a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>, and
+<a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>.
+<p> There are also several functions for mapping between items and
+coordinates. <a href="#itemAt">itemAt</a>() returns the item at a position on-screen,
+<a href="#itemRect">itemRect</a>() returns the rectangle an item occupies on the screen,
+and <a href="#itemPos">itemPos</a>() returns the position of any item (whether it is
+on-screen or not). <a href="#firstChild">firstChild</a>() returns the list view's first item
+(not necessarily visible on-screen).
+<p> You can iterate over visible items using
+<a href="qlistviewitem.html#itemBelow">QListViewItem::itemBelow</a>(); over a list view's top-level items
+using <a href="qlistviewitem.html#firstChild">QListViewItem::firstChild</a>() and
+<a href="qlistviewitem.html#nextSibling">QListViewItem::nextSibling</a>(); or every item using a
+<a href="qlistviewitemiterator.html">QListViewItemIterator</a>. See
+the <a href="qlistviewitem.html">QListViewItem</a> documentation for examples of traversal.
+<p> An item can be moved amongst its siblings using
+<a href="qlistviewitem.html#moveItem">QListViewItem::moveItem</a>(). To move an item in the hierarchy use
+<a href="#takeItem">takeItem</a>() and <a href="#insertItem">insertItem</a>(). Item's (and all their child items)
+are deleted with <tt>delete</tt>; to delete all the list view's items
+use <a href="#clear">clear</a>().
+<p> There are a variety of selection modes described in the
+QListView::SelectionMode documentation. The default is <a href="#SelectionMode-enum">Single</a>
+selection, which you can change using <a href="#setSelectionMode">setSelectionMode</a>().
+<p> Because QListView offers multiple selection it must display
+keyboard focus and selection state separately. Therefore there are
+functions both to set the selection state of an item
+(<a href="#setSelected">setSelected</a>()) and to set which item displays keyboard focus
+(<a href="#setCurrentItem">setCurrentItem</a>()).
+<p> QListView emits two groups of signals; one group signals changes
+in selection/focus state and one indicates selection. The first
+group consists of <a href="#selectionChanged">selectionChanged</a>() (applicable to all list
+views), selectionChanged(<a href="qlistviewitem.html">QListViewItem</a>*) (applicable only to a
+<a href="#SelectionMode-enum">Single</a> selection list view), and <a href="#currentChanged">currentChanged</a>(QListViewItem*).
+The second group consists of <a href="#doubleClicked">doubleClicked</a>(QListViewItem*),
+<a href="#returnPressed">returnPressed</a>(QListViewItem*),
+<a href="#rightButtonClicked">rightButtonClicked</a>(QListViewItem*, const <a href="qpoint.html">QPoint</a>&, int), etc.
+<p> Note that changing the state of the list view in a slot connected
+to a list view signal may cause unexpected side effects. If you
+need to change the list view's state in response to a signal, use
+a <a href="qtimer.html#singleShot">single shot timer</a> with a
+time out of 0, and connect this timer to a slot that modifies the
+list view's state.
+<p> In <a href="motif-extension.html#Motif">Motif</a> style, QListView deviates fairly strongly from the look
+and feel of the Motif hierarchical tree view. This is done mostly
+to provide a usable keyboard interface and to make the list view
+look better with a white background.
+<p> If <a href="#selectionMode">selectionMode</a>() is <a href="#SelectionMode-enum">Single</a> (the default) the user can select
+one item at a time, e.g. by clicking an item with the mouse, see
+<a href="#SelectionMode-enum">QListView::SelectionMode</a> for details.
+<p> The list view can be navigated either using the mouse or the
+keyboard. Clicking a <b>-</b> icon closes an item (hides its
+children) and clicking a <b>+</b> icon opens an item (shows its
+children). The keyboard controls are these:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Keypress <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top">Home
+<td valign="top">Make the first item current and visible.
+<tr bgcolor="#d0d0d0"> <td valign="top">End
+<td valign="top">Make the last item current and visible.
+<tr bgcolor="#f0f0f0"> <td valign="top">Page Up
+<td valign="top">Make the item above the top visible item current and visible.
+<tr bgcolor="#d0d0d0"> <td valign="top">Page Down
+<td valign="top">Make the item below the bottom visible item current and visible.
+<tr bgcolor="#f0f0f0"> <td valign="top">Up Arrow
+<td valign="top">Make the item above the current item current and visible.
+<tr bgcolor="#d0d0d0"> <td valign="top">Down Arrow
+<td valign="top">Make the item below the current item current and visible.
+<tr bgcolor="#f0f0f0"> <td valign="top">Left Arrow
+<td valign="top">If the current item is closed (<b>+</b> icon) or has no
+children, make its parent item current and visible. If the
+current item is open (<b>-</b> icon) close it, i.e. hide its
+children. Exception: if the current item is the first item
+and is closed and the horizontal scrollbar is offset to
+the right the list view will be scrolled left.
+<tr bgcolor="#d0d0d0"> <td valign="top">Right Arrow
+<td valign="top">If the current item is closed (<b>+</b> icon) and has
+children, the item is opened. If the current item is
+opened (<b>-</b> icon) and has children the item's first
+child is made current and visible. If the current item has
+no children the list view is scrolled right.
+</table></center>
+<p> If the user starts typing letters with the focus in the list view
+an incremental search will occur. For example if the user types
+'d' the current item will change to the first item that begins
+with the letter 'd'; if they then type 'a', the current item will
+change to the first item that begins with 'da', and so on. If no
+item begins with the letters they type the current item doesn't
+change.
+<p> <b>Warning:</b> The list view assumes ownership of all list view items
+and will delete them when it does not need them any more.
+<p> <img src=qlistview-m.png> <img src=qlistview-w.png>
+<p> <p>See also <a href="qlistviewitem.html">QListViewItem</a>, <a href="qchecklistitem.html">QCheckListItem</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="RenameAction-enum"></a>QListView::RenameAction</h3>
+
+<p> This enum describes whether a rename operation is accepted if the
+rename editor loses focus without the user pressing Enter.
+<ul>
+<li><tt>QListView::Accept</tt> - Rename if Enter is pressed or focus is lost.
+<li><tt>QListView::Reject</tt> - Discard the rename operation if focus is lost (and
+Enter has not been pressed).
+</ul>
+<h3 class=fn><a name="ResizeMode-enum"></a>QListView::ResizeMode</h3>
+
+<p> This enum describes how the list view's header adjusts to resize
+events which affect the width of the list view.
+<ul>
+<li><tt>QListView::NoColumn</tt> - The columns do not get resized in resize events.
+<li><tt>QListView::AllColumns</tt> - All columns are resized equally to fit the width
+of the list view.
+<li><tt>QListView::LastColumn</tt> - The last column is resized to fit the width of
+the list view.
+</ul>
+<h3 class=fn><a name="SelectionMode-enum"></a>QListView::SelectionMode</h3>
+
+<p> This enumerated type is used by QListView to indicate how it
+reacts to selection by the user.
+<ul>
+<li><tt>QListView::Single</tt> - When the user selects an item, any already-selected
+item becomes unselected. The user can unselect the selected
+item by clicking on some empty space within the view.
+<li><tt>QListView::Multi</tt> - When the user selects an item in the usual way, the
+selection status of that item is toggled and the other items are
+left alone. Also, multiple items can be selected by dragging the
+mouse while the left mouse button stays pressed.
+<li><tt>QListView::Extended</tt> - When the user selects an item in the usual way,
+the selection is cleared and the new item selected. However, if
+the user presses the Ctrl key when clicking on an item, the
+clicked item gets toggled and all other items are left untouched.
+And if the user presses the Shift key while clicking on an item,
+all items between the current item and the clicked item get
+selected or unselected, depending on the state of the clicked
+item. Also, multiple items can be selected by dragging the mouse
+over them.
+<li><tt>QListView::NoSelection</tt> - Items cannot be selected.
+</ul><p> In other words, <a href="#SelectionMode-enum">Single</a> is a real single-selection list view, <a href="#SelectionMode-enum">Multi</a> a real multi-selection list view, <a href="#SelectionMode-enum">Extended</a> is a list view
+where users can select multiple items but usually want to select
+either just one or a range of contiguous items, and <a href="#SelectionMode-enum">NoSelection</a>
+is a list view where the user can look but not touch.
+
+<h3 class=fn><a name="WidthMode-enum"></a>QListView::WidthMode</h3>
+
+<p> This enum type describes how the width of a column in the view
+changes.
+<ul>
+<li><tt>QListView::Manual</tt> - the column width does not change automatically.
+<li><tt>QListView::Maximum</tt> - the column is automatically sized according to the
+widths of all items in the column. (Note: The column never shrinks
+in this case.) This means that the column is always resized to the
+width of the item with the largest width in the column.
+</ul><p> <p>See also <a href="#setColumnWidth">setColumnWidth</a>(), <a href="#setColumnWidthMode">setColumnWidthMode</a>(), and <a href="#columnWidth">columnWidth</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListView"></a>QListView::QListView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a new empty list view called <em>name</em> with parent <em>parent</em>.
+<p> Performance is boosted by modifying the widget flags <em>f</em> so that
+only part of the <a href="qlistviewitem.html">QListViewItem</a> children is redrawn. This may be
+unsuitable for custom QListViewItem classes, in which case <a href="qt.html#WidgetFlags-enum">WStaticContents</a> and <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> should be cleared.
+<p> <p>See also <a href="qwidget.html#clearWFlags">QWidget::clearWFlags</a>() and <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+
+<h3 class=fn><a name="~QListView"></a>QListView::~QListView ()
+</h3>
+Destroys the list view, deleting all its items, and frees up all
+allocated resources.
+
+<h3 class=fn>int <a name="addColumn"></a>QListView::addColumn ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;width = -1 )<tt> [virtual]</tt>
+</h3>
+Adds a <em>width</em> pixels wide column with the column header <em>label</em>
+to the list view, and returns the index of the new column.
+<p> All columns apart from the first one are inserted to the right of
+the existing ones.
+<p> If <em>width</em> is negative, the new column's <a href="#WidthMode-enum">WidthMode</a> is set to
+<a href="#WidthMode-enum">Maximum</a> instead of <a href="#WidthMode-enum">Manual</a>.
+<p> <p>See also <a href="#setColumnText">setColumnText</a>(), <a href="#setColumnWidth">setColumnWidth</a>(), and <a href="#setColumnWidthMode">setColumnWidthMode</a>().
+
+<p>Examples: <a href="addressbook-example.html#x585">addressbook/centralwidget.cpp</a>, <a href="checklists-example.html#x427">checklists/checklists.cpp</a>, <a href="dirview-example.html#x1714">dirview/main.cpp</a>, <a href="fileiconview-example.html#x886">fileiconview/mainwindow.cpp</a>, <a href="listviews-example.html#x141">listviews/listviews.cpp</a>, and <a href="qdir-example.html#x1827">qdir/qdir.cpp</a>.
+<h3 class=fn>int <a name="addColumn-2"></a>QListView::addColumn ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;width = -1 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a <em>width</em> pixels wide new column with the header <em>label</em>
+and the <em>iconset</em> to the list view, and returns the index of the
+column.
+<p> If <em>width</em> is negative, the new column's <a href="#WidthMode-enum">WidthMode</a> is set to
+<a href="#WidthMode-enum">Maximum</a>, and to <a href="#WidthMode-enum">Manual</a> otherwise.
+<p> <p>See also <a href="#setColumnText">setColumnText</a>(), <a href="#setColumnWidth">setColumnWidth</a>(), and <a href="#setColumnWidthMode">setColumnWidthMode</a>().
+
+<h3 class=fn>void <a name="adjustColumn"></a>QListView::adjustColumn ( int&nbsp;col )<tt> [slot]</tt>
+</h3> Adjusts the column <em>col</em> to its preferred width
+<h3 class=fn>bool <a name="allColumnsShowFocus"></a>QListView::allColumnsShowFocus () const
+</h3><p>Returns TRUE if items should show keyboard focus using all columns; otherwise returns FALSE.
+See the <a href="qlistview.html#allColumnsShowFocus-prop">"allColumnsShowFocus"</a> property for details.
+<h3 class=fn>int <a name="childCount"></a>QListView::childCount () const
+</h3><p>Returns the number of parentless (top-level) <a href="qlistviewitem.html">QListViewItem</a> objects in this QListView.
+See the <a href="qlistview.html#childCount-prop">"childCount"</a> property for details.
+<h3 class=fn>void <a name="clear"></a>QListView::clear ()<tt> [virtual slot]</tt>
+</h3>
+Removes and deletes all the items in this list view and triggers
+an update.
+<p> Note that the <a href="#currentChanged">currentChanged</a>() signal is not emitted when this slot is invoked.
+<p>See also <a href="#triggerUpdate">triggerUpdate</a>().
+
+<p>Examples: <a href="addressbook-example.html#x586">addressbook/centralwidget.cpp</a>, <a href="checklists-example.html#x428">checklists/checklists.cpp</a>, <a href="listviews-example.html#x142">listviews/listviews.cpp</a>, and <a href="qaxcontainer-example-qutlook.html#x2725">qutlook/centralwidget.cpp</a>.
+<h3 class=fn>void <a name="clearSelection"></a>QListView::clearSelection ()<tt> [virtual]</tt>
+</h3>
+Sets all the items to be not selected, updates the list view as
+necessary, and emits the <a href="#selectionChanged">selectionChanged</a>() signals. Note that for
+<a href="#SelectionMode-enum">Multi</a> selection list views this function needs to iterate over
+<em>all</em> items.
+<p> <p>See also <a href="#setSelected">setSelected</a>() and <a href="#multiSelection-prop">multiSelection</a>.
+
+<p>Example: <a href="addressbook-example.html#x587">addressbook/centralwidget.cpp</a>.
+<h3 class=fn>void <a name="clicked"></a>QListView::clicked ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user clicks (mouse pressed <em>and</em> mouse released) in the list view. <em>item</em> is the clicked list
+view item, or 0 if the user didn't click on an item.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<p>Example: <a href="addressbook-example.html#x588">addressbook/centralwidget.cpp</a>.
+<h3 class=fn>void <a name="clicked-2"></a>QListView::clicked ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt, int&nbsp;c )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted whenever the user clicks (mouse pressed <em>and</em> mouse released) in the list view. <em>item</em> is the clicked list
+view item, or 0 if the user didn't click on an item. <em>pnt</em> is the
+position where the user has clicked in global coordinates. If <em>item</em> is not 0, <em>c</em> is the list view column into which the user
+pressed; if <em>item</em> is 0 <em>c</em>'s value is undefined.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="collapsed"></a>QListView::collapsed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the <em>item</em> has been collapsed, i.e.
+when the children of <em>item</em> are hidden.
+<p> <p>See also <a href="#setOpen">setOpen</a>() and <a href="#expanded">expanded</a>().
+
+<h3 class=fn>int <a name="columnAlignment"></a>QListView::columnAlignment ( int&nbsp;column ) const
+</h3>
+Returns the alignment of column <em>column</em>. The default is <a href="qt.html#AlignmentFlags-enum">AlignAuto</a>.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="columnText"></a>QListView::columnText ( int&nbsp;c ) const
+</h3>
+Returns the text of column <em>c</em>.
+<p> <p>See also <a href="#setColumnText">setColumnText</a>().
+
+<h3 class=fn>int <a name="columnWidth"></a>QListView::columnWidth ( int&nbsp;c ) const
+</h3>
+Returns the width of column <em>c</em>.
+<p> <p>See also <a href="#setColumnWidth">setColumnWidth</a>().
+
+<h3 class=fn><a href="qlistview.html#WidthMode-enum">WidthMode</a> <a name="columnWidthMode"></a>QListView::columnWidthMode ( int&nbsp;c ) const
+</h3>
+Returns the <a href="#WidthMode-enum">WidthMode</a> for column <em>c</em>.
+<p> <p>See also <a href="#setColumnWidthMode">setColumnWidthMode</a>().
+
+<h3 class=fn>int <a name="columns"></a>QListView::columns () const
+</h3><p>Returns the number of columns in this list view.
+See the <a href="qlistview.html#columns-prop">"columns"</a> property for details.
+<h3 class=fn>void <a name="contentsMouseDoubleClickEvent"></a>QListView::contentsMouseDoubleClickEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the mouse double-click event <em>e</em> on behalf of the viewed widget.
+
+<p>Reimplemented from <a href="qscrollview.html#contentsMouseDoubleClickEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsMouseMoveEvent"></a>QListView::contentsMouseMoveEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the mouse move event <em>e</em> on behalf of the viewed widget.
+
+<p>Example: <a href="dirview-example.html#x1683">dirview/dirview.cpp</a>.
+<p>Reimplemented from <a href="qscrollview.html#contentsMouseMoveEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsMousePressEvent"></a>QListView::contentsMousePressEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the mouse press event <em>e</em> on behalf of the viewed widget.
+
+<p>Example: <a href="dirview-example.html#x1684">dirview/dirview.cpp</a>.
+<p>Reimplemented from <a href="qscrollview.html#contentsMousePressEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsMouseReleaseEvent"></a>QListView::contentsMouseReleaseEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the mouse release event <em>e</em> on behalf of the viewed widget.
+
+<p>Example: <a href="dirview-example.html#x1685">dirview/dirview.cpp</a>.
+<p>Reimplemented from <a href="qscrollview.html#contentsMouseReleaseEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contextMenuRequested"></a>QListView::contextMenuRequested ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;col )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user invokes a context menu with
+the right mouse button or with special system keys. If the
+keyboard was used <em>item</em> is the current item; if the mouse was
+used, <em>item</em> is the item under the mouse pointer or 0 if there is
+no item under the mouse pointer. If no item is clicked, the column
+index emitted is -1.
+<p> <em>pos</em> is the position for the context menu in the global
+coordinate system.
+<p> <em>col</em> is the column on which the user pressed, or -1 if the
+signal was triggered by a key event.
+
+<p>Example: <a href="listviews-example.html#x143">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="currentChanged"></a>QListView::currentChanged ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the current item has changed
+(normally after the screen update). The current item is the item
+responsible for indicating <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p> The argument is the newly current item, or 0 if the change made no
+item current. This can happen, for example, if all items in the
+list view are deleted.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+<p> <p>See also <a href="#setCurrentItem">setCurrentItem</a>() and <a href="#currentItem">currentItem</a>().
+
+<p>Example: <a href="listviews-example.html#x144">listviews/listviews.cpp</a>.
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="currentItem"></a>QListView::currentItem () const
+</h3>
+Returns the current item, or 0 if there isn't one.
+<p> <p>See also <a href="#setCurrentItem">setCurrentItem</a>().
+
+<p>Examples: <a href="addressbook-example.html#x589">addressbook/centralwidget.cpp</a>, <a href="listviews-example.html#x145">listviews/listviews.cpp</a>, and <a href="qaxcontainer-example-qutlook.html#x2726">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qlistview.html#RenameAction-enum">RenameAction</a> <a name="defaultRenameAction"></a>QListView::defaultRenameAction () const
+</h3><p>Returns what action to perform when the editor loses focus during renaming.
+See the <a href="qlistview.html#defaultRenameAction-prop">"defaultRenameAction"</a> property for details.
+<h3 class=fn>void <a name="doAutoScroll"></a>QListView::doAutoScroll ()<tt> [protected slot]</tt>
+</h3>
+This slot handles auto-scrolling when the mouse button is pressed
+and the mouse is outside the widget.
+
+<h3 class=fn>void <a name="doubleClicked"></a>QListView::doubleClicked ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever an item is double-clicked. It's
+emitted on the second button press, not the second button release.
+The arguments are the relevant <a href="qlistviewitem.html">QListViewItem</a> (may be 0), the point
+in global coordinates and the relevant column (or -1 if the click
+was outside the list).
+<p> <b>Warning:</b> Do not delete any QListViewItem objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="doubleClicked-2"></a>QListView::doubleClicked ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+(use <a href="#doubleClicked">doubleClicked</a>( <a href="qlistviewitem.html">QListViewItem</a> *, const <a href="qpoint.html">QPoint</a>&, int ))
+<p> This signal is emitted whenever an item is double-clicked. It's
+emitted on the second button press, not the second button release.
+<em>item</em> is the list view item on which the user did the
+double-click.
+
+<h3 class=fn><a href="qdragobject.html">QDragObject</a>&nbsp;* <a name="dragObject"></a>QListView::dragObject ()<tt> [virtual protected]</tt>
+</h3>
+If the user presses the mouse on an item and starts moving the
+mouse, and the item allow dragging (see
+<a href="qlistviewitem.html#setDragEnabled">QListViewItem::setDragEnabled</a>()), this function is called to get a
+drag object and a drag is started unless <a href="#dragObject">dragObject</a>() returns 0.
+<p> By default this function returns 0. You should reimplement it and
+create a <a href="qdragobject.html">QDragObject</a> depending on the selected items.
+
+<h3 class=fn>void <a name="drawContentsOffset"></a>QListView::drawContentsOffset ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;ox, int&nbsp;oy, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )<tt> [virtual protected]</tt>
+</h3>
+Calls <a href="qlistviewitem.html#paintCell">QListViewItem::paintCell</a>() and
+<a href="qlistviewitem.html#paintBranches">QListViewItem::paintBranches</a>() as necessary for all list view
+items that require repainting in the <em>cw</em> pixels wide and <em>ch</em>
+pixels high bounding rectangle starting at position <em>cx</em>, <em>cy</em>
+with offset <em>ox</em>, <em>oy</em>. Uses the painter <em>p</em>.
+
+<p>Reimplemented from <a href="qscrollview.html#drawContentsOffset">QScrollView</a>.
+<h3 class=fn>void <a name="dropped"></a>QListView::dropped ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted, when a drop event occurred on the
+viewport (not onto an item).
+<p> <em>e</em> provides all the information about the drop.
+
+<h3 class=fn>void <a name="ensureItemVisible"></a>QListView::ensureItemVisible ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )
+</h3>
+Ensures that item <em>i</em> is visible, scrolling the list view
+vertically if necessary and opening (expanding) any parent items
+if this is required to show the item.
+<p> <p>See also <a href="#itemRect">itemRect</a>() and <a href="qscrollview.html#ensureVisible">QScrollView::ensureVisible</a>().
+
+<h3 class=fn>bool <a name="eventFilter"></a>QListView::eventFilter ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual]</tt>
+</h3>
+Redirects the event <em>e</em> relating to object <em>o</em>, for the viewport
+to <a href="qwidget.html#mousePressEvent">mousePressEvent</a>(), <a href="qwidget.html#keyPressEvent">keyPressEvent</a>() and friends.
+
+<p>Reimplemented from <a href="qscrollview.html#eventFilter">QScrollView</a>.
+<h3 class=fn>void <a name="expanded"></a>QListView::expanded ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <em>item</em> has been expanded, i.e. when
+the children of <em>item</em> are shown.
+<p> <p>See also <a href="#setOpen">setOpen</a>() and <a href="#collapsed">collapsed</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="findItem"></a>QListView::findItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;column, ComparisonFlags&nbsp;compare = ExactMatch | CaseSensitive ) const
+</h3>
+Finds the first list view item in column <em>column</em>, that matches
+<em>text</em> and returns the item, or returns 0 of no such item could
+be found.
+The search starts from the current item if the current item exists,
+otherwise it starts from the first list view item. After reaching
+the last item the search continues from the first item.
+Pass OR-ed together <a href="qt.html#StringComparisonMode-enum">Qt::StringComparisonMode</a> values
+in the <em>compare</em> flag, to control how the matching is performed.
+The default comparison mode is case-sensitive, exact match.
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="firstChild"></a>QListView::firstChild () const
+</h3>
+Returns the first item in this QListView. Returns 0 if there is no
+first item.
+<p> A list view's items can be traversed using <a href="#firstChild">firstChild</a>()
+and nextSibling() or using a <a href="qlistviewitemiterator.html">QListViewItemIterator</a>.
+<p> <p>See also <a href="#itemAt">itemAt</a>(), <a href="qlistviewitem.html#itemBelow">QListViewItem::itemBelow</a>(), and <a href="qlistviewitem.html#itemAbove">QListViewItem::itemAbove</a>().
+
+<p>Examples: <a href="addressbook-example.html#x590">addressbook/centralwidget.cpp</a> and <a href="listviews-example.html#x146">listviews/listviews.cpp</a>.
+<h3 class=fn><a href="qheader.html">QHeader</a>&nbsp;* <a name="header"></a>QListView::header () const
+</h3>
+Returns the <a href="qheader.html">QHeader</a> object that manages this list view's columns.
+Please don't modify the header behind the list view's back.
+<p> You may safely call <a href="qheader.html#setClickEnabled">QHeader::setClickEnabled</a>(),
+<a href="qheader.html#setResizeEnabled">QHeader::setResizeEnabled</a>(), <a href="qheader.html#setMovingEnabled">QHeader::setMovingEnabled</a>(),
+<a href="qwidget.html#hide">QHeader::hide</a>() and all the const QHeader functions.
+
+<p>Examples: <a href="listviews-example.html#x147">listviews/listviews.cpp</a> and <a href="qdir-example.html#x1828">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="hideColumn"></a>QListView::hideColumn ( int&nbsp;column )
+</h3>
+Hides the column specified at <em>column</em>. This is a convenience
+function that calls <a href="#setColumnWidth">setColumnWidth</a>( <em>column</em>, 0 ).
+<p> Note: The user may still be able to resize the hidden column using
+the header handles. To prevent this, call setResizeEnabled(FALSE,
+<em>column</em>) on the list views header.
+<p> <p>See also <a href="#setColumnWidth">setColumnWidth</a>().
+
+<h3 class=fn>void <a name="insertItem"></a>QListView::insertItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Inserts item <em>i</em> into the list view as a top-level item. You do
+not need to call this unless you've called <a href="#takeItem">takeItem</a>(<em>i</em>) or
+<a href="qlistviewitem.html#takeItem">QListViewItem::takeItem</a>(<em>i</em>) and need to reinsert <em>i</em> elsewhere.
+<p> <p>See also <a href="qlistviewitem.html#takeItem">QListViewItem::takeItem</a>() and <a href="#takeItem">takeItem</a>().
+
+<h3 class=fn>void <a name="invertSelection"></a>QListView::invertSelection ()<tt> [virtual slot]</tt>
+</h3>
+Inverts the selection. Only works in <a href="#SelectionMode-enum">Multi</a> and <a href="#SelectionMode-enum">Extended</a>
+selection modes.
+
+<h3 class=fn>bool <a name="isMultiSelection"></a>QListView::isMultiSelection () const
+</h3><p>Returns TRUE if the list view is in multi-selection or extended-selection mode; otherwise returns FALSE.
+See the <a href="qlistview.html#multiSelection-prop">"multiSelection"</a> property for details.
+<h3 class=fn>bool <a name="isOpen"></a>QListView::isOpen ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item ) const
+</h3>
+Identical to <em>item</em>->isOpen(). Provided for completeness.
+<p> <p>See also <a href="#setOpen">setOpen</a>().
+
+<h3 class=fn>bool <a name="isRenaming"></a>QListView::isRenaming () const
+</h3>
+Returns TRUE if an item is being renamed; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isSelected"></a>QListView::isSelected ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i ) const
+</h3>
+Returns TRUE if the list view item <em>i</em> is selected; otherwise
+returns FALSE.
+<p> <p>See also <a href="qlistviewitem.html#isSelected">QListViewItem::isSelected</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="itemAt"></a>QListView::itemAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;viewPos ) const
+</h3>
+Returns the list view item at <em>viewPos</em>. Note that <em>viewPos</em> is
+in the <a href="qscrollview.html#viewport">viewport</a>()'s coordinate system, not in the list view's own,
+much larger, coordinate system.
+<p> <a href="#itemAt">itemAt</a>() returns 0 if there is no such item.
+<p> Note that you also get the pointer to the item if <em>viewPos</em>
+points to the root decoration (see <a href="#setRootIsDecorated">setRootIsDecorated</a>()) of the
+item. To check whether or not <em>viewPos</em> is on the root decoration
+of the item, you can do something like this:
+<p> <pre>
+ <a href="qlistviewitem.html">QListViewItem</a> *i = <a href="#itemAt">itemAt</a>( p );
+ if ( i ) {
+ if ( p.x() &gt; header()-&gt;sectionPos( <a href="#header">header</a>()-&gt;mapToIndex( 0 ) ) +
+ <a href="#treeStepSize">treeStepSize</a>() * ( i-&gt;<a href="qlistviewitem.html#depth">depth</a>() + ( <a href="#rootIsDecorated">rootIsDecorated</a>() ? 1 : 0) ) + itemMargin() ||
+ p.x() &lt; header()-&gt;sectionPos( <a href="#header">header</a>()-&gt;mapToIndex( 0 ) ) ) {
+ ; // p is not on root decoration
+ else
+ ; // p is on the root decoration
+ }
+ </pre>
+
+<p> This might be interesting if you use this function to find out
+where the user clicked and if you want to start a drag (which you
+do not want to do if the user clicked onto the root decoration of
+an item).
+<p> <p>See also <a href="#itemPos">itemPos</a>(), <a href="#itemRect">itemRect</a>(), and <a href="qscrollview.html#viewportToContents">viewportToContents</a>().
+
+<h3 class=fn>int <a name="itemMargin"></a>QListView::itemMargin () const
+</h3><p>Returns the advisory item margin that list items may use.
+See the <a href="qlistview.html#itemMargin-prop">"itemMargin"</a> property for details.
+<h3 class=fn>int <a name="itemPos"></a>QListView::itemPos ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )
+</h3>
+Returns the y-coordinate of <em>item</em> in the list view's coordinate
+system. This function is normally much slower than <a href="#itemAt">itemAt</a>() but it
+works for all items, whereas itemAt() normally works only for
+items on the screen.
+<p> This is a thin wrapper around <a href="qlistviewitem.html#itemPos">QListViewItem::itemPos</a>().
+<p> <p>See also <a href="#itemAt">itemAt</a>() and <a href="#itemRect">itemRect</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="itemRect"></a>QListView::itemRect ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i ) const
+</h3>
+Returns the rectangle on the screen that item <em>i</em> occupies in
+<a href="qscrollview.html#viewport">viewport</a>()'s coordinates, or an invalid rectangle if <em>i</em> is 0 or
+is not currently visible.
+<p> The rectangle returned does not include any children of the
+rectangle (i.e. it uses <a href="qlistviewitem.html#height">QListViewItem::height</a>(), rather than
+<a href="qlistviewitem.html#totalHeight">QListViewItem::totalHeight</a>()). If you want the rectangle to
+include children you can use something like this:
+<p> <pre>
+ <a href="qrect.html">QRect</a> r( listView-&gt;itemRect( item ) );
+ r.<a href="qrect.html#setHeight">setHeight</a>( (QCOORD)(QMIN( item-&gt;totalHeight(),
+ listView-&gt;viewport-&gt;height() - r.<a href="qrect.html#y">y</a>() ) ) )
+ </pre>
+
+<p> Note the way it avoids too-high rectangles. totalHeight() can be
+much larger than the window system's coordinate system allows.
+<p> <a href="#itemRect">itemRect</a>() is comparatively slow. It's best to call it only for
+items that are probably on-screen.
+
+<h3 class=fn>void <a name="itemRenamed"></a>QListView::itemRenamed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, int&nbsp;col, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <em>item</em> has been renamed to <em>text</em>,
+e.g. by in in-place renaming, in column <em>col</em>.
+<p> <p>See also <a href="qlistviewitem.html#setRenameEnabled">QListViewItem::setRenameEnabled</a>().
+
+<h3 class=fn>void <a name="itemRenamed-2"></a>QListView::itemRenamed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, int&nbsp;col )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when <em>item</em> has been renamed, e.g. by
+in-place renaming, in column <em>col</em>.
+<p> <p>See also <a href="qlistviewitem.html#setRenameEnabled">QListViewItem::setRenameEnabled</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="lastItem"></a>QListView::lastItem () const
+</h3>
+Returns the last item in the list view tree. Returns 0 if there
+are no items in the QListView.
+<p> This function is slow because it traverses the entire tree to find
+the last item.
+
+<h3 class=fn>void <a name="mouseButtonClicked"></a>QListView::mouseButtonClicked ( int&nbsp;button, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;c )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user clicks (mouse pressed <em>and</em> mouse released) in the list view at position <em>pos</em>. <em>button</em>
+is the mouse button that the user pressed, <em>item</em> is the clicked
+list view item or 0 if the user didn't click on an item. If <em>item</em> is not 0, <em>c</em> is the list view column into which the user
+pressed; if <em>item</em> is 0 <em>c</em>'s value is undefined.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="mouseButtonPressed"></a>QListView::mouseButtonPressed ( int&nbsp;button, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;c )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user pressed the mouse button
+in the list view at position <em>pos</em>. <em>button</em> is the mouse button
+which the user pressed, <em>item</em> is the pressed list view item or 0
+if the user didn't press on an item. If <em>item</em> is not 0, <em>c</em> is
+the list view column into which the user pressed; if <em>item</em> is 0
+<em>c</em>'s value is undefined.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="onItem"></a>QListView::onItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor onto
+item <em>i</em>, similar to the <a href="qwidget.html#enterEvent">QWidget::enterEvent</a>() function.
+
+<h3 class=fn>void <a name="onViewport"></a>QListView::onViewport ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user moves the mouse cursor from
+an item to an empty part of the list view.
+
+<h3 class=fn>void <a name="paintEmptyArea"></a>QListView::paintEmptyArea ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect )<tt> [virtual protected]</tt>
+</h3>
+Paints <em>rect</em> so that it looks like empty background using
+painter <em>p</em>. <em>rect</em> is in widget coordinates, ready to be fed to
+<em>p</em>.
+<p> The default function fills <em>rect</em> with the
+<a href="qscrollview.html#viewport">viewport</a>()->backgroundBrush().
+
+<h3 class=fn>void <a name="pressed"></a>QListView::pressed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user presses the mouse button
+in a list view. <em>item</em> is the list view item on which the user
+pressed the mouse button, or 0 if the user didn't press the mouse
+on an item.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="pressed-2"></a>QListView::pressed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pnt, int&nbsp;c )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted whenever the user presses the mouse button
+in a list view. <em>item</em> is the list view item on which the user
+pressed the mouse button, or 0 if the user didn't press the mouse
+on an item. <em>pnt</em> is the position of the mouse cursor in global
+coordinates, and <em>c</em> is the column where the mouse cursor was
+when the user pressed the mouse button.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+
+<h3 class=fn>void <a name="removeColumn"></a>QListView::removeColumn ( int&nbsp;index )<tt> [virtual]</tt>
+</h3>
+Removes the column at position <em>index</em>.
+<p> If no columns remain after the column is removed, the
+list view will be cleared.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="removeItem"></a>QListView::removeItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function has been renamed <a href="#takeItem">takeItem</a>().
+
+<h3 class=fn>void <a name="repaintItem"></a>QListView::repaintItem ( const&nbsp;<a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item ) const
+</h3>
+Repaints <em>item</em> on the screen if <em>item</em> is currently visible.
+Takes care to avoid multiple repaints.
+
+<h3 class=fn>void <a name="resizeEvent"></a>QListView::resizeEvent ( <a href="qresizeevent.html">QResizeEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Ensures that the header is correctly sized and positioned when the
+resize event <em>e</em> occurs.
+
+<h3 class=fn><a href="qlistview.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode"></a>QListView::resizeMode () const
+</h3><p>Returns TRUE if all, none or the only the last column should be resized; otherwise returns FALSE.
+See the <a href="qlistview.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="returnPressed"></a>QListView::returnPressed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when Enter or Return is pressed. The
+argument is the <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="rightButtonClicked"></a>QListView::rightButtonClicked ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the right button is clicked (i.e. when
+it's released). The arguments are the relevant <a href="qlistviewitem.html">QListViewItem</a> (may
+be 0), the point in global coordinates and the relevant column (or
+-1 if the click was outside the list).
+
+<h3 class=fn>void <a name="rightButtonPressed"></a>QListView::rightButtonPressed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the right button is pressed. The
+arguments are the relevant <a href="qlistviewitem.html">QListViewItem</a> (may be 0), the point in
+global coordinates and the relevant column (or -1 if the click was
+outside the list).
+
+<h3 class=fn>bool <a name="rootIsDecorated"></a>QListView::rootIsDecorated () const
+</h3><p>Returns TRUE if the list view shows open/close signs on root items; otherwise returns FALSE.
+See the <a href="qlistview.html#rootIsDecorated-prop">"rootIsDecorated"</a> property for details.
+<h3 class=fn>void <a name="selectAll"></a>QListView::selectAll ( bool&nbsp;select )<tt> [virtual slot]</tt>
+</h3>
+If <em>select</em> is TRUE, all the items get selected; otherwise all
+the items get unselected. This only works in the selection modes <a href="#SelectionMode-enum">Multi</a> and <a href="#SelectionMode-enum">Extended</a>. In <a href="#SelectionMode-enum">Single</a> and <a href="#SelectionMode-enum">NoSelection</a> mode the
+selection of the current item is just set to <em>select</em>.
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="selectedItem"></a>QListView::selectedItem () const
+</h3>
+Returns the selected item if the list view is in <a href="#SelectionMode-enum">Single</a>
+selection mode and an item is selected.
+<p> If no items are selected or the list view is not in <a href="#SelectionMode-enum">Single</a>
+selection mode this function returns 0.
+<p> <p>See also <a href="#setSelected">setSelected</a>() and <a href="#multiSelection-prop">multiSelection</a>.
+
+<h3 class=fn>void <a name="selectionChanged"></a>QListView::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the set of selected items has
+changed (normally before the screen update). It is available in
+<a href="#SelectionMode-enum">Single</a>, <a href="#SelectionMode-enum">Multi</a>, and <a href="#SelectionMode-enum">Extended</a> selection modes, but is most
+useful in <a href="#SelectionMode-enum">Multi</a> selection mode.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+<p> <p>See also <a href="#setSelected">setSelected</a>() and <a href="qlistviewitem.html#setSelected">QListViewItem::setSelected</a>().
+
+<p>Example: <a href="listviews-example.html#x148">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="selectionChanged-2"></a>QListView::selectionChanged ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted whenever the selected item has changed in
+<a href="#SelectionMode-enum">Single</a> selection mode (normally after the screen update). The
+argument is the newly selected item. If the selection is cleared
+(when, for example, the user clicks in the unused area of the list
+view) then this signal will not be emitted.
+<p> In <a href="#SelectionMode-enum">Multi</a> selection mode, use the no argument overload of this
+signal.
+<p> <b>Warning:</b> Do not delete any <a href="qlistviewitem.html">QListViewItem</a> objects in slots
+connected to this signal.
+<p> <p>See also <a href="#setSelected">setSelected</a>(), <a href="qlistviewitem.html#setSelected">QListViewItem::setSelected</a>(), and <a href="#currentChanged">currentChanged</a>().
+
+<h3 class=fn><a href="qlistview.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode"></a>QListView::selectionMode () const
+</h3><p>Returns the list view's selection mode.
+See the <a href="qlistview.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setAllColumnsShowFocus"></a>QListView::setAllColumnsShowFocus ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether items should show keyboard focus using all columns.
+See the <a href="qlistview.html#allColumnsShowFocus-prop">"allColumnsShowFocus"</a> property for details.
+<h3 class=fn>void <a name="setColumnAlignment"></a>QListView::setColumnAlignment ( int&nbsp;column, int&nbsp;align )<tt> [virtual]</tt>
+</h3>
+Sets column <em>column</em>'s alignment to <em>align</em>. The alignment is
+ultimately passed to <a href="qlistviewitem.html#paintCell">QListViewItem::paintCell</a>() for each item in
+the list view. For horizontally aligned text with Qt::AlignLeft or
+Qt::AlignHCenter the ellipsis (...) will be to the right, for
+Qt::AlignRight the ellipsis will be to the left.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<p>Example: <a href="listviews-example.html#x150">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="setColumnText"></a>QListView::setColumnText ( int&nbsp;column, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )<tt> [virtual]</tt>
+</h3>
+Sets the heading of column <em>column</em> to <em>label</em>.
+<p> <p>See also <a href="#columnText">columnText</a>().
+
+<h3 class=fn>void <a name="setColumnText-2"></a>QListView::setColumnText ( int&nbsp;column, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the heading of column <em>column</em> to <em>iconset</em> and <em>label</em>.
+<p> <p>See also <a href="#columnText">columnText</a>().
+
+<h3 class=fn>void <a name="setColumnWidth"></a>QListView::setColumnWidth ( int&nbsp;column, int&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the width of column <em>column</em> to <em>w</em> pixels. Note that if
+the column has a <a href="#WidthMode-enum">WidthMode</a> other than <a href="#WidthMode-enum">Manual</a>, this width
+setting may be subsequently overridden.
+<p> <p>See also <a href="#columnWidth">columnWidth</a>().
+
+<h3 class=fn>void <a name="setColumnWidthMode"></a>QListView::setColumnWidthMode ( int&nbsp;c, <a href="qlistview.html#WidthMode-enum">WidthMode</a>&nbsp;mode )<tt> [virtual]</tt>
+</h3>
+Sets column <em>c</em>'s width mode to <em>mode</em>. The default depends on
+the original width argument to <a href="#addColumn">addColumn</a>().
+<p> <p>See also <a href="qlistviewitem.html#width">QListViewItem::width</a>().
+
+<h3 class=fn>void <a name="setCurrentItem"></a>QListView::setCurrentItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Sets item <em>i</em> to be the current item and repaints appropriately
+(i.e. highlights the item). The current item is used for keyboard
+navigation and focus indication; it is independent of any selected
+items, although a selected item can also be the current item.
+<p> This function does not set the selection anchor. Use
+<a href="#setSelectionAnchor">setSelectionAnchor</a>() instead.
+<p> <p>See also <a href="#currentItem">currentItem</a>() and <a href="#setSelected">setSelected</a>().
+
+<p>Example: <a href="listviews-example.html#x151">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="setDefaultRenameAction"></a>QListView::setDefaultRenameAction ( <a href="qlistview.html#RenameAction-enum">RenameAction</a>&nbsp;a )<tt> [virtual]</tt>
+</h3><p>Sets what action to perform when the editor loses focus during renaming to <em>a</em>.
+See the <a href="qlistview.html#defaultRenameAction-prop">"defaultRenameAction"</a> property for details.
+<h3 class=fn>void <a name="setItemMargin"></a>QListView::setItemMargin ( int )<tt> [virtual]</tt>
+</h3><p>Sets the advisory item margin that list items may use.
+See the <a href="qlistview.html#itemMargin-prop">"itemMargin"</a> property for details.
+<h3 class=fn>void <a name="setMultiSelection"></a>QListView::setMultiSelection ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3><p>Sets whether the list view is in multi-selection or extended-selection mode to <em>enable</em>.
+See the <a href="qlistview.html#multiSelection-prop">"multiSelection"</a> property for details.
+<h3 class=fn>void <a name="setOpen"></a>QListView::setOpen ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, bool&nbsp;open )<tt> [virtual]</tt>
+</h3>
+Sets <em>item</em> to be open if <em>open</em> is TRUE and <em>item</em> is
+expandable, and to be closed if <em>open</em> is FALSE. Repaints
+accordingly.
+<p> <p>See also <a href="qlistviewitem.html#setOpen">QListViewItem::setOpen</a>() and <a href="qlistviewitem.html#setExpandable">QListViewItem::setExpandable</a>().
+
+<h3 class=fn>void <a name="setResizeMode"></a>QListView::setResizeMode ( <a href="qlistview.html#ResizeMode-enum">ResizeMode</a>&nbsp;m )<tt> [virtual]</tt>
+</h3><p>Sets whether all, none or the only the last column should be resized to <em>m</em>.
+See the <a href="qlistview.html#resizeMode-prop">"resizeMode"</a> property for details.
+<h3 class=fn>void <a name="setRootIsDecorated"></a>QListView::setRootIsDecorated ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the list view shows open/close signs on root items.
+See the <a href="qlistview.html#rootIsDecorated-prop">"rootIsDecorated"</a> property for details.
+<h3 class=fn>void <a name="setSelected"></a>QListView::setSelected ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, bool&nbsp;selected )<tt> [virtual]</tt>
+</h3>
+If <em>selected</em> is TRUE the <em>item</em> is selected; otherwise it is
+unselected.
+<p> If the list view is in <a href="#SelectionMode-enum">Single</a> selection mode and <em>selected</em> is
+TRUE, the currently selected item is unselected and <em>item</em> is
+made current. Unlike <a href="qlistviewitem.html#setSelected">QListViewItem::setSelected</a>(), this function
+updates the list view as necessary and emits the
+<a href="#selectionChanged">selectionChanged</a>() signals.
+<p> <p>See also <a href="#isSelected">isSelected</a>(), <a href="#multiSelection-prop">multiSelection</a>, <a href="#multiSelection-prop">multiSelection</a>, <a href="#setCurrentItem">setCurrentItem</a>(), and <a href="#setSelectionAnchor">setSelectionAnchor</a>().
+
+<p>Example: <a href="listviews-example.html#x153">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="setSelectionAnchor"></a>QListView::setSelectionAnchor ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )
+</h3>
+Sets the selection anchor to <em>item</em>, if <em>item</em> is selectable.
+<p> The selection anchor is the item that remains selected when
+Shift-selecting with either mouse or keyboard in <a href="#SelectionMode-enum">Extended</a>
+selection mode.
+<p> <p>See also <a href="#setSelected">setSelected</a>().
+
+<h3 class=fn>void <a name="setSelectionMode"></a>QListView::setSelectionMode ( <a href="qlistview.html#SelectionMode-enum">SelectionMode</a>&nbsp;mode )
+</h3><p>Sets the list view's selection mode to <em>mode</em>.
+See the <a href="qlistview.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setShowSortIndicator"></a>QListView::setShowSortIndicator ( bool&nbsp;show )<tt> [virtual]</tt>
+</h3><p>Sets whether the list view header should display a sort indicator to <em>show</em>.
+See the <a href="qlistview.html#showSortIndicator-prop">"showSortIndicator"</a> property for details.
+<h3 class=fn>void <a name="setShowToolTips"></a>QListView::setShowToolTips ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether this list view should show tooltips for truncated column texts to <em>b</em>.
+See the <a href="qlistview.html#showToolTips-prop">"showToolTips"</a> property for details.
+<h3 class=fn>void <a name="setSortColumn"></a>QListView::setSortColumn ( int&nbsp;column )
+</h3>
+Sets the sorting column for the list view.
+<p> If <em>column</em> is -1, sorting is disabled and the user cannot sort
+columns by clicking on the column headers. If <em>column</em> is larger
+than the number of columns the user must click on a column header
+to sort the list view.
+<p> <p>See also <a href="#setSorting">setSorting</a>().
+
+<h3 class=fn>void <a name="setSortOrder"></a>QListView::setSortOrder ( <a href="qt.html#SortOrder-enum">SortOrder</a>&nbsp;order )
+</h3>
+Sets the sort order for the items in the list view to <em>order</em>.
+<p> <p>See also <a href="#setSorting">setSorting</a>().
+
+<h3 class=fn>void <a name="setSorting"></a>QListView::setSorting ( int&nbsp;column, bool&nbsp;ascending = TRUE )<tt> [virtual]</tt>
+</h3>
+Sets the list view to be sorted by column <em>column</em> in ascending
+order if <em>ascending</em> is TRUE or descending order if it is FALSE.
+<p> If <em>column</em> is -1, sorting is disabled and the user cannot sort
+columns by clicking on the column headers. If <em>column</em> is larger
+than the number of columns the user must click on a column
+header to sort the list view.
+
+<h3 class=fn>void <a name="setTreeStepSize"></a>QListView::setTreeStepSize ( int )<tt> [virtual]</tt>
+</h3><p>Sets the number of pixels a child is offset from its parent.
+See the <a href="qlistview.html#treeStepSize-prop">"treeStepSize"</a> property for details.
+<h3 class=fn>bool <a name="showSortIndicator"></a>QListView::showSortIndicator () const
+</h3><p>Returns TRUE if the list view header should display a sort indicator; otherwise returns FALSE.
+See the <a href="qlistview.html#showSortIndicator-prop">"showSortIndicator"</a> property for details.
+<h3 class=fn>bool <a name="showToolTips"></a>QListView::showToolTips () const
+</h3><p>Returns TRUE if this list view should show tooltips for truncated column texts; otherwise returns FALSE.
+See the <a href="qlistview.html#showToolTips-prop">"showToolTips"</a> property for details.
+<h3 class=fn>void <a name="sort"></a>QListView::sort ()<tt> [virtual]</tt>
+</h3>
+Sorts the list view using the last sorting configuration (sort
+column and ascending/descending).
+
+<h3 class=fn>int <a name="sortColumn"></a>QListView::sortColumn () const
+</h3>
+Returns the column by which the list view is sorted, or -1 if
+sorting is disabled.
+<p> <p>See also <a href="#sortOrder">sortOrder</a>().
+
+<h3 class=fn><a href="qt.html#SortOrder-enum">SortOrder</a> <a name="sortOrder"></a>QListView::sortOrder () const
+</h3>
+Returns the sorting order of the list view items.
+<p> <p>See also <a href="#sortColumn">sortColumn</a>().
+
+<h3 class=fn>void <a name="spacePressed"></a>QListView::spacePressed ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when Space is pressed. The argument is
+the <a href="#currentItem">currentItem</a>().
+
+<h3 class=fn>void <a name="startDrag"></a>QListView::startDrag ()<tt> [virtual protected]</tt>
+</h3>
+Starts a drag.
+
+<h3 class=fn>void <a name="takeItem"></a>QListView::takeItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Removes item <em>i</em> from the list view; <em>i</em> must be a top-level
+item. The warnings regarding <a href="qlistviewitem.html#takeItem">QListViewItem::takeItem</a>() apply to
+this function, too.
+<p> <p>See also <a href="#insertItem">insertItem</a>().
+
+<h3 class=fn>int <a name="treeStepSize"></a>QListView::treeStepSize () const
+</h3><p>Returns the number of pixels a child is offset from its parent.
+See the <a href="qlistview.html#treeStepSize-prop">"treeStepSize"</a> property for details.
+<h3 class=fn>void <a name="triggerUpdate"></a>QListView::triggerUpdate ()<tt> [slot]</tt>
+</h3>
+Triggers a size, geometry and content update during the next
+iteration of the event loop. Ensures that there'll be just one
+update to avoid flicker.
+
+<h3 class=fn>void <a name="updateContents"></a>QListView::updateContents ()<tt> [protected slot]</tt>
+</h3>
+Updates the sizes of the viewport, header, scroll bars and so on.
+<p> <b>Warning:</b> Don't call this directly; call <a href="#triggerUpdate">triggerUpdate</a>() instead.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="allColumnsShowFocus-prop"></a>allColumnsShowFocus</h3>
+<p>This property holds whether items should show <a href="focus.html#keyboard-focus">keyboard focus</a> using all columns.
+<p>If this property is TRUE all columns will show focus and selection
+states, otherwise only column 0 will show focus.
+<p> The default is FALSE.
+<p> Setting this to TRUE if it's not necessary may cause noticeable
+flicker.
+
+<p>Set this property's value with <a href="#setAllColumnsShowFocus">setAllColumnsShowFocus</a>() and get this property's value with <a href="#allColumnsShowFocus">allColumnsShowFocus</a>().
+<h3 class=fn>int <a name="childCount-prop"></a>childCount</h3>
+<p>This property holds the number of parentless (top-level) <a href="qlistviewitem.html">QListViewItem</a> objects in this QListView.
+<p>Holds the current number of parentless (top-level) QListViewItem
+objects in this QListView.
+<p> <p>See also <a href="qlistviewitem.html#childCount">QListViewItem::childCount</a>().
+
+<p>Get this property's value with <a href="#childCount">childCount</a>().
+<h3 class=fn>int <a name="columns-prop"></a>columns</h3>
+<p>This property holds the number of columns in this list view.
+<p>Get this property's value with <a href="#columns">columns</a>().
+<p><p>See also <a href="#addColumn">addColumn</a>() and <a href="#removeColumn">removeColumn</a>().
+
+<h3 class=fn><a href="qlistview.html#RenameAction-enum">RenameAction</a> <a name="defaultRenameAction-prop"></a>defaultRenameAction</h3>
+<p>This property holds what action to perform when the editor loses focus during renaming.
+<p>If this property is <a href="#RenameAction-enum">Accept</a>, and the user renames an item and
+the editor loses focus (without the user pressing Enter), the
+item will still be renamed. If the property's value is <a href="#RenameAction-enum">Reject</a>,
+the item will not be renamed unless the user presses Enter. The
+default is <a href="#RenameAction-enum">Reject</a>.
+
+<p>Set this property's value with <a href="#setDefaultRenameAction">setDefaultRenameAction</a>() and get this property's value with <a href="#defaultRenameAction">defaultRenameAction</a>().
+<h3 class=fn>int <a name="itemMargin-prop"></a>itemMargin</h3>
+<p>This property holds the advisory item margin that list items may use.
+<p>The item margin defaults to one pixel and is the margin between
+the item's edges and the area where it draws its contents.
+<a href="qlistviewitem.html#paintFocus">QListViewItem::paintFocus</a>() draws in the margin.
+<p> <p>See also <a href="qlistviewitem.html#paintCell">QListViewItem::paintCell</a>().
+
+<p>Set this property's value with <a href="#setItemMargin">setItemMargin</a>() and get this property's value with <a href="#itemMargin">itemMargin</a>().
+<h3 class=fn>bool <a name="multiSelection-prop"></a>multiSelection</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds whether the list view is in multi-selection or extended-selection mode.
+<p>If you enable multi-selection, <a href="#SelectionMode-enum">Multi</a>, mode, it is possible to
+specify whether or not this mode should be extended. <a href="#SelectionMode-enum">Extended</a>
+means that the user can select multiple items only when pressing
+the Shift or Ctrl key at the same time.
+<p> The default selection mode is <a href="#SelectionMode-enum">Single</a>.
+<p> <p>See also <a href="#selectionMode-prop">selectionMode</a>.
+
+<p>Set this property's value with <a href="#setMultiSelection">setMultiSelection</a>() and get this property's value with <a href="#isMultiSelection">isMultiSelection</a>().
+<h3 class=fn><a href="qlistview.html#ResizeMode-enum">ResizeMode</a> <a name="resizeMode-prop"></a>resizeMode</h3>
+<p>This property holds whether all, none or the only the last column should be resized.
+<p>Specifies whether all, none or only the last column should be
+resized to fit the full width of the list view. The values for this
+property can be one of: <a href="#ResizeMode-enum">NoColumn</a> (the default), <a href="#ResizeMode-enum">AllColumns</a>
+or <a href="#ResizeMode-enum">LastColumn</a>.
+<p> <b>Warning:</b> Setting the resize mode should be done after all necessary
+columns have been added to the list view, otherwise the behavior is
+undefined.
+<p> <p>See also <a href="qheader.html">QHeader</a> and <a href="#header">header</a>().
+
+<p>Set this property's value with <a href="#setResizeMode">setResizeMode</a>() and get this property's value with <a href="#resizeMode">resizeMode</a>().
+<h3 class=fn>bool <a name="rootIsDecorated-prop"></a>rootIsDecorated</h3>
+<p>This property holds whether the list view shows open/close signs on root items.
+<p>Open/close signs are small <b>+</b> or <b>-</b> symbols in windows
+style, or arrows in <a href="motif-extension.html#Motif">Motif</a> style. The default is FALSE.
+
+<p>Set this property's value with <a href="#setRootIsDecorated">setRootIsDecorated</a>() and get this property's value with <a href="#rootIsDecorated">rootIsDecorated</a>().
+<h3 class=fn><a href="qlistview.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode-prop"></a>selectionMode</h3>
+<p>This property holds the list view's selection mode.
+<p>The mode can be <a href="#SelectionMode-enum">Single</a> (the default), <a href="#SelectionMode-enum">Extended</a>, <a href="#SelectionMode-enum">Multi</a> or
+<a href="#SelectionMode-enum">NoSelection</a>.
+<p> <p>See also <a href="#multiSelection-prop">multiSelection</a>.
+
+<p>Set this property's value with <a href="#setSelectionMode">setSelectionMode</a>() and get this property's value with <a href="#selectionMode">selectionMode</a>().
+<h3 class=fn>bool <a name="showSortIndicator-prop"></a>showSortIndicator</h3>
+<p>This property holds whether the list view header should display a sort indicator.
+<p>If this property is TRUE, an arrow is drawn in the header of the
+list view to indicate the sort order of the list view contents.
+The arrow will be drawn in the correct column and will point up or
+down, depending on the current sort direction. The default is
+FALSE (don't show an indicator).
+<p> <p>See also <a href="qheader.html#setSortIndicator">QHeader::setSortIndicator</a>().
+
+<p>Set this property's value with <a href="#setShowSortIndicator">setShowSortIndicator</a>() and get this property's value with <a href="#showSortIndicator">showSortIndicator</a>().
+<h3 class=fn>bool <a name="showToolTips-prop"></a>showToolTips</h3>
+<p>This property holds whether this list view should show tooltips for truncated column texts.
+<p>The default is TRUE.
+
+<p>Set this property's value with <a href="#setShowToolTips">setShowToolTips</a>() and get this property's value with <a href="#showToolTips">showToolTips</a>().
+<h3 class=fn>int <a name="treeStepSize-prop"></a>treeStepSize</h3>
+<p>This property holds the number of pixels a child is offset from its parent.
+<p>The default is 20 pixels.
+<p> Of course, this property is only meaningful for hierarchical list
+views.
+
+<p>Set this property's value with <a href="#setTreeStepSize">setTreeStepSize</a>() and get this property's value with <a href="#treeStepSize">treeStepSize</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistviewitem-members.html b/doc/html/qlistviewitem-members.html
new file mode 100644
index 0000000..a6f78f4
--- /dev/null
+++ b/doc/html/qlistviewitem-members.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistview.h:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListViewItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListViewItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistviewitem.html">QListViewItem</a>, including inherited members.
+
+<ul>
+<li><a href="qlistviewitem.html#QListViewItem">QListViewItem</a>()
+<li><a href="qlistviewitem.html#~QListViewItem">~QListViewItem</a>()
+<li><a href="qlistviewitem.html#acceptDrop">acceptDrop</a>()
+<li><a href="qlistviewitem.html#activate">activate</a>()
+<li><a href="qlistviewitem.html#activatedPos">activatedPos</a>()
+<li><a href="qlistviewitem.html#cancelRename">cancelRename</a>()
+<li><a href="qlistviewitem.html#childCount">childCount</a>()
+<li><a href="qlistviewitem.html#compare">compare</a>()
+<li><a href="qlistviewitem.html#depth">depth</a>()
+<li><a href="qlistviewitem.html#dragEnabled">dragEnabled</a>()
+<li><a href="qlistviewitem.html#dragEntered">dragEntered</a>()
+<li><a href="qlistviewitem.html#dragLeft">dragLeft</a>()
+<li><a href="qlistviewitem.html#dropEnabled">dropEnabled</a>()
+<li><a href="qlistviewitem.html#dropped">dropped</a>()
+<li><a href="qlistviewitem.html#enforceSortOrder">enforceSortOrder</a>()
+<li><a href="qlistviewitem.html#firstChild">firstChild</a>()
+<li><a href="qlistviewitem.html#height">height</a>()
+<li><a href="qlistviewitem.html#insertItem">insertItem</a>()
+<li><a href="qlistviewitem.html#invalidateHeight">invalidateHeight</a>()
+<li><a href="qlistviewitem.html#isEnabled">isEnabled</a>()
+<li><a href="qlistviewitem.html#isExpandable">isExpandable</a>()
+<li><a href="qlistviewitem.html#isOpen">isOpen</a>()
+<li><a href="qlistviewitem.html#isSelectable">isSelectable</a>()
+<li><a href="qlistviewitem.html#isSelected">isSelected</a>()
+<li><a href="qlistviewitem.html#isVisible">isVisible</a>()
+<li><a href="qlistviewitem.html#itemAbove">itemAbove</a>()
+<li><a href="qlistviewitem.html#itemBelow">itemBelow</a>()
+<li><a href="qlistviewitem.html#itemPos">itemPos</a>()
+<li><a href="qlistviewitem.html#key">key</a>()
+<li><a href="qlistviewitem.html#listView">listView</a>()
+<li><a href="qlistviewitem.html#moveItem">moveItem</a>()
+<li><a href="qlistviewitem.html#multiLinesEnabled">multiLinesEnabled</a>()
+<li><a href="qlistviewitem.html#nextSibling">nextSibling</a>()
+<li><a href="qlistviewitem.html#okRename">okRename</a>()
+<li><a href="qlistviewitem.html#paintBranches">paintBranches</a>()
+<li><a href="qlistviewitem.html#paintCell">paintCell</a>()
+<li><a href="qlistviewitem.html#paintFocus">paintFocus</a>()
+<li><a href="qlistviewitem.html#parent">parent</a>()
+<li><a href="qlistviewitem.html#pixmap">pixmap</a>()
+<li><a href="qlistviewitem.html#removeItem">removeItem</a>()
+<li><a href="qlistviewitem.html#renameEnabled">renameEnabled</a>()
+<li><a href="qlistviewitem.html#repaint">repaint</a>()
+<li><a href="qlistviewitem.html#rtti">rtti</a>()
+<li><a href="qlistviewitem.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qlistviewitem.html#setDropEnabled">setDropEnabled</a>()
+<li><a href="qlistviewitem.html#setEnabled">setEnabled</a>()
+<li><a href="qlistviewitem.html#setExpandable">setExpandable</a>()
+<li><a href="qlistviewitem.html#setHeight">setHeight</a>()
+<li><a href="qlistviewitem.html#setMultiLinesEnabled">setMultiLinesEnabled</a>()
+<li><a href="qlistviewitem.html#setOpen">setOpen</a>()
+<li><a href="qlistviewitem.html#setPixmap">setPixmap</a>()
+<li><a href="qlistviewitem.html#setRenameEnabled">setRenameEnabled</a>()
+<li><a href="qlistviewitem.html#setSelectable">setSelectable</a>()
+<li><a href="qlistviewitem.html#setSelected">setSelected</a>()
+<li><a href="qlistviewitem.html#setText">setText</a>()
+<li><a href="qlistviewitem.html#setVisible">setVisible</a>()
+<li><a href="qlistviewitem.html#setup">setup</a>()
+<li><a href="qlistviewitem.html#sort">sort</a>()
+<li><a href="qlistviewitem.html#sortChildItems">sortChildItems</a>()
+<li><a href="qlistviewitem.html#startRename">startRename</a>()
+<li><a href="qlistviewitem.html#takeItem">takeItem</a>()
+<li><a href="qlistviewitem.html#text">text</a>()
+<li><a href="qlistviewitem.html#totalHeight">totalHeight</a>()
+<li><a href="qlistviewitem.html#width">width</a>()
+<li><a href="qlistviewitem.html#widthChanged">widthChanged</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistviewitem.html b/doc/html/qlistviewitem.html
new file mode 100644
index 0000000..e712b48
--- /dev/null
+++ b/doc/html/qlistviewitem.html
@@ -0,0 +1,809 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistview.cpp:370 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListViewItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListViewItem Class Reference</h1>
+
+<p>The QListViewItem class implements a list view item.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qchecklistitem.html">QCheckListItem</a>.
+<p><a href="qlistviewitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QListViewItem"><b>QListViewItem</b></a> ( QListView&nbsp;*&nbsp;parent )</li>
+<li class=fn><a href="#QListViewItem-2"><b>QListViewItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent )</li>
+<li class=fn><a href="#QListViewItem-3"><b>QListViewItem</b></a> ( QListView&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#QListViewItem-4"><b>QListViewItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after )</li>
+<li class=fn><a href="#QListViewItem-5"><b>QListViewItem</b></a> ( QListView&nbsp;*&nbsp;parent, QString&nbsp;label1, QString&nbsp;label2 = QString::null, QString&nbsp;label3 = QString::null, QString&nbsp;label4 = QString::null, QString&nbsp;label5 = QString::null, QString&nbsp;label6 = QString::null, QString&nbsp;label7 = QString::null, QString&nbsp;label8 = QString::null )</li>
+<li class=fn><a href="#QListViewItem-6"><b>QListViewItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, QString&nbsp;label1, QString&nbsp;label2 = QString::null, QString&nbsp;label3 = QString::null, QString&nbsp;label4 = QString::null, QString&nbsp;label5 = QString::null, QString&nbsp;label6 = QString::null, QString&nbsp;label7 = QString::null, QString&nbsp;label8 = QString::null )</li>
+<li class=fn><a href="#QListViewItem-7"><b>QListViewItem</b></a> ( QListView&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after, QString&nbsp;label1, QString&nbsp;label2 = QString::null, QString&nbsp;label3 = QString::null, QString&nbsp;label4 = QString::null, QString&nbsp;label5 = QString::null, QString&nbsp;label6 = QString::null, QString&nbsp;label7 = QString::null, QString&nbsp;label8 = QString::null )</li>
+<li class=fn><a href="#QListViewItem-8"><b>QListViewItem</b></a> ( QListViewItem&nbsp;*&nbsp;parent, QListViewItem&nbsp;*&nbsp;after, QString&nbsp;label1, QString&nbsp;label2 = QString::null, QString&nbsp;label3 = QString::null, QString&nbsp;label4 = QString::null, QString&nbsp;label5 = QString::null, QString&nbsp;label6 = QString::null, QString&nbsp;label7 = QString::null, QString&nbsp;label8 = QString::null )</li>
+<li class=fn>virtual <a href="#~QListViewItem"><b>~QListViewItem</b></a> ()</li>
+<li class=fn>virtual void <a href="#insertItem"><b>insertItem</b></a> ( QListViewItem&nbsp;*&nbsp;newChild )</li>
+<li class=fn>virtual void <a href="#takeItem"><b>takeItem</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn>virtual void removeItem ( QListViewItem&nbsp;*&nbsp;item ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>virtual void <a href="#invalidateHeight"><b>invalidateHeight</b></a> ()</li>
+<li class=fn>int <a href="#totalHeight"><b>totalHeight</b></a> () const</li>
+<li class=fn>virtual int <a href="#width"><b>width</b></a> ( const&nbsp;QFontMetrics&nbsp;&amp;&nbsp;fm, const&nbsp;QListView&nbsp;*&nbsp;lv, int&nbsp;c ) const</li>
+<li class=fn>void <a href="#widthChanged"><b>widthChanged</b></a> ( int&nbsp;c = -1 ) const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( int&nbsp;column, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> ( int&nbsp;column ) const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( int&nbsp;column, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>virtual const QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;column ) const</li>
+<li class=fn>virtual QString <a href="#key"><b>key</b></a> ( int&nbsp;column, bool&nbsp;ascending ) const</li>
+<li class=fn>virtual int <a href="#compare"><b>compare</b></a> ( QListViewItem&nbsp;*&nbsp;i, int&nbsp;col, bool&nbsp;ascending ) const</li>
+<li class=fn>virtual void <a href="#sortChildItems"><b>sortChildItems</b></a> ( int&nbsp;column, bool&nbsp;ascending )</li>
+<li class=fn>int <a href="#childCount"><b>childCount</b></a> () const</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOpen"><b>setOpen</b></a> ( bool&nbsp;o )</li>
+<li class=fn>virtual void <a href="#setup"><b>setup</b></a> ()</li>
+<li class=fn>virtual void <a href="#setSelected"><b>setSelected</b></a> ( bool&nbsp;s )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> () const</li>
+<li class=fn>virtual void <a href="#paintCell"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, int&nbsp;column, int&nbsp;width, int&nbsp;align )</li>
+<li class=fn>virtual void <a href="#paintBranches"><b>paintBranches</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, int&nbsp;w, int&nbsp;y, int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#paintFocus"><b>paintFocus</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QListViewItem * <a href="#firstChild"><b>firstChild</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#nextSibling"><b>nextSibling</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#parent"><b>parent</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#itemAbove"><b>itemAbove</b></a> ()</li>
+<li class=fn>QListViewItem * <a href="#itemBelow"><b>itemBelow</b></a> ()</li>
+<li class=fn>int <a href="#itemPos"><b>itemPos</b></a> () const</li>
+<li class=fn>QListView * <a href="#listView"><b>listView</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSelectable"><b>setSelectable</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isSelectable"><b>isSelectable</b></a> () const</li>
+<li class=fn>virtual void <a href="#setExpandable"><b>setExpandable</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isExpandable"><b>isExpandable</b></a> () const</li>
+<li class=fn>void <a href="#repaint"><b>repaint</b></a> () const</li>
+<li class=fn>virtual void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>void <a href="#moveItem"><b>moveItem</b></a> ( QListViewItem&nbsp;*&nbsp;after )</li>
+<li class=fn>virtual void <a href="#setDragEnabled"><b>setDragEnabled</b></a> ( bool&nbsp;allow )</li>
+<li class=fn>virtual void <a href="#setDropEnabled"><b>setDropEnabled</b></a> ( bool&nbsp;allow )</li>
+<li class=fn>bool <a href="#dragEnabled"><b>dragEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#dropEnabled"><b>dropEnabled</b></a> () const</li>
+<li class=fn>virtual bool <a href="#acceptDrop"><b>acceptDrop</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;mime ) const</li>
+<li class=fn>void <a href="#setVisible"><b>setVisible</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isVisible"><b>isVisible</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRenameEnabled"><b>setRenameEnabled</b></a> ( int&nbsp;col, bool&nbsp;b )</li>
+<li class=fn>bool <a href="#renameEnabled"><b>renameEnabled</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>virtual void <a href="#startRename"><b>startRename</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMultiLinesEnabled"><b>setMultiLinesEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#multiLinesEnabled"><b>multiLinesEnabled</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#enforceSortOrder"><b>enforceSortOrder</b></a> () const</li>
+<li class=fn>virtual void <a href="#setHeight"><b>setHeight</b></a> ( int&nbsp;height )</li>
+<li class=fn>virtual void <a href="#activate"><b>activate</b></a> ()</li>
+<li class=fn>bool <a href="#activatedPos"><b>activatedPos</b></a> ( QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>virtual void <a href="#dropped"><b>dropped</b></a> ( QDropEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#dragEntered"><b>dragEntered</b></a> ()</li>
+<li class=fn>virtual void <a href="#dragLeft"><b>dragLeft</b></a> ()</li>
+<li class=fn>virtual void <a href="#okRename"><b>okRename</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#cancelRename"><b>cancelRename</b></a> ( int&nbsp;col )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListViewItem class implements a list view item.
+<p>
+<p> A list view item is a multi-column object capable of displaying
+itself in a <a href="qlistview.html">QListView</a>.
+<p> The easiest way to use QListViewItem is to construct one with a
+few constant strings, and either a QListView or another
+QListViewItem as parent.
+<pre>
+ (void) new QListViewItem( listView, "Column 1", "Column 2" );
+ (void) new QListViewItem( listView-&gt;firstChild(), "A", "B", "C" );
+ </pre>
+
+We've discarded the pointers to the items since we can still access
+them via their parent <em>listView</em>. By default, QListView sorts its
+items; this can be switched off with <a href="qlistview.html#setSorting">QListView::setSorting</a>(-1).
+<p> The parent must be another QListViewItem or a QListView. If the
+parent is a QListView, the item becomes a top-level item within
+that QListView. If the parent is another QListViewItem, the item
+becomes a child of that list view item.
+<p> If you keep the pointer, you can set or change the texts using
+<a href="#setText">setText</a>(), add pixmaps using <a href="#setPixmap">setPixmap</a>(), change its mode using
+<a href="#setSelectable">setSelectable</a>(), <a href="#setSelected">setSelected</a>(), <a href="#setOpen">setOpen</a>() and <a href="#setExpandable">setExpandable</a>().
+You'll also be able to change its height using <a href="#setHeight">setHeight</a>(), and
+traverse its sub-items. You don't have to keep the pointer since
+you can get a pointer to any QListViewItem in a <a href="qlistview.html">QListView</a> using
+<a href="qlistview.html#selectedItem">QListView::selectedItem</a>(), <a href="qlistview.html#currentItem">QListView::currentItem</a>(),
+<a href="qlistview.html#firstChild">QListView::firstChild</a>(), <a href="qlistview.html#lastItem">QListView::lastItem</a>() and
+<a href="qlistview.html#findItem">QListView::findItem</a>().
+<p> If you call <tt>delete</tt> on a list view item, it will be deleted as
+expected, and as usual for <a href="qobject.html">QObject</a>s, if it has any child items
+(to any depth), all these will be deleted too.
+<p> <a href="qchecklistitem.html">QCheckListItem</a>s are list view items that have a checkbox or
+radio button and can be used in place of plain QListViewItems.
+<p> You can traverse the tree as if it were a doubly-linked list using
+<a href="#itemAbove">itemAbove</a>() and <a href="#itemBelow">itemBelow</a>(); they return pointers to the items
+directly above and below this item on the screen (even if none of
+them are actually visible at the moment).
+<p> Here's how to traverse all of an item's children (but not its
+children's children, etc.):
+Example:
+<pre>
+ QListViewItem * myChild = myItem-&gt;firstChild();
+ while( myChild ) {
+ doSomething( myChild );
+ myChild = myChild-&gt;<a href="#nextSibling">nextSibling</a>();
+ }
+ </pre>
+
+<p> If you want to iterate over every item, to any level of depth use
+an iterator. To iterate over the entire tree, initialize the
+iterator with the list view itself; to iterate starting from a
+particular item, initialize the iterator with the item:
+<p> <pre>
+ <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( listview );
+ while ( it.<a href="qlistviewitemiterator.html#current">current</a>() ) {
+ QListViewItem *item = it.<a href="qlistviewitemiterator.html#current">current</a>();
+ doSomething( item );
+ ++it;
+ }
+ </pre>
+
+<p> Note that the order of the children will change when the sorting
+order changes and is undefined if the items are not visible. You
+can, however, call <a href="#enforceSortOrder">enforceSortOrder</a>() at any time; <a href="qlistview.html">QListView</a> will
+always call it before it needs to show an item.
+<p> Many programs will need to reimplement QListViewItem. The most
+commonly reimplemented functions are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Description
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#text">text</a>()
+<td valign="top">Returns the text in a column. Many subclasses will compute
+this on the fly.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#key">key</a>()
+<td valign="top">Used for sorting. The default <a href="#key">key</a>() simply calls
+<a href="#text">text</a>(), but judicious use of key() can give you fine
+control over sorting; for example, <a href="qfiledialog.html">QFileDialog</a>
+reimplements key() to sort by date.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#setup">setup</a>()
+<td valign="top">Called before showing the item and whenever the list
+view's font changes, for example.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#activate">activate</a>()
+<td valign="top">Called whenever the user clicks on the item or presses
+Space when the item is the current item.
+</table></center>
+<p> Some subclasses call <a href="#setExpandable">setExpandable</a>(TRUE) even when they have no
+children, and populate themselves when <a href="#setup">setup</a>() or <a href="#setOpen">setOpen</a>(TRUE) is
+called. The <a href="dirview-example.html">dirview/dirview.cpp</a> example program uses this
+technique to start up quickly: The files and subdirectories in a
+directory aren't inserted into the tree until they're actually
+needed.
+<p> <center><img src="qlistviewitems.png" alt="List View Items"></center>
+<p> <p>See also <a href="qchecklistitem.html">QCheckListItem</a>, <a href="qlistview.html">QListView</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListViewItem"></a>QListViewItem::QListViewItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent )
+</h3>
+Constructs a new top-level list view item in the <a href="qlistview.html">QListView</a> <em>parent</em>.
+
+<h3 class=fn><a name="QListViewItem-2"></a>QListViewItem::QListViewItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent )
+</h3>
+Constructs a new list view item that is a child of <em>parent</em> and
+first in the parent's list of children.
+
+<h3 class=fn><a name="QListViewItem-3"></a>QListViewItem::QListViewItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs an empty list view item that is a child of <em>parent</em>
+and is after item <em>after</em> in the parent's list of children. Since
+<em>parent</em> is a <a href="qlistview.html">QListView</a> the item will be a top-level item.
+
+<h3 class=fn><a name="QListViewItem-4"></a>QListViewItem::QListViewItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after )
+</h3>
+Constructs an empty list view item that is a child of <em>parent</em>
+and is after item <em>after</em> in the parent's list of children.
+
+<h3 class=fn><a name="QListViewItem-5"></a>QListViewItem::QListViewItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, <a href="qstring.html">QString</a>&nbsp;label1, <a href="qstring.html">QString</a>&nbsp;label2 = QString::null, <a href="qstring.html">QString</a>&nbsp;label3 = QString::null, <a href="qstring.html">QString</a>&nbsp;label4 = QString::null, <a href="qstring.html">QString</a>&nbsp;label5 = QString::null, <a href="qstring.html">QString</a>&nbsp;label6 = QString::null, <a href="qstring.html">QString</a>&nbsp;label7 = QString::null, <a href="qstring.html">QString</a>&nbsp;label8 = QString::null )
+</h3>
+Constructs a new top-level list view item in the <a href="qlistview.html">QListView</a> <em>parent</em>, with up to eight constant strings, <em>label1</em>, <em>label2</em>, <em>label3</em>, <em>label4</em>, <em>label5</em>, <em>label6</em>, <em>label7</em> and <em>label8</em>
+defining its columns' contents.
+<p> <p>See also <a href="#setText">setText</a>().
+
+<h3 class=fn><a name="QListViewItem-6"></a>QListViewItem::QListViewItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, <a href="qstring.html">QString</a>&nbsp;label1, <a href="qstring.html">QString</a>&nbsp;label2 = QString::null, <a href="qstring.html">QString</a>&nbsp;label3 = QString::null, <a href="qstring.html">QString</a>&nbsp;label4 = QString::null, <a href="qstring.html">QString</a>&nbsp;label5 = QString::null, <a href="qstring.html">QString</a>&nbsp;label6 = QString::null, <a href="qstring.html">QString</a>&nbsp;label7 = QString::null, <a href="qstring.html">QString</a>&nbsp;label8 = QString::null )
+</h3>
+Constructs a new list view item as a child of the QListViewItem <em>parent</em> with up to eight constant strings, <em>label1</em>, <em>label2</em>, <em>label3</em>, <em>label4</em>, <em>label5</em>, <em>label6</em>, <em>label7</em> and <em>label8</em>
+as columns' contents.
+<p> <p>See also <a href="#setText">setText</a>().
+
+<h3 class=fn><a name="QListViewItem-7"></a>QListViewItem::QListViewItem ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after, <a href="qstring.html">QString</a>&nbsp;label1, <a href="qstring.html">QString</a>&nbsp;label2 = QString::null, <a href="qstring.html">QString</a>&nbsp;label3 = QString::null, <a href="qstring.html">QString</a>&nbsp;label4 = QString::null, <a href="qstring.html">QString</a>&nbsp;label5 = QString::null, <a href="qstring.html">QString</a>&nbsp;label6 = QString::null, <a href="qstring.html">QString</a>&nbsp;label7 = QString::null, <a href="qstring.html">QString</a>&nbsp;label8 = QString::null )
+</h3>
+Constructs a new list view item in the <a href="qlistview.html">QListView</a> <em>parent</em> that is
+included after item <em>after</em> and that has up to eight column
+texts, <em>label1</em>, <em>label2</em>, <em>label3</em>, <em>label4</em>, <em>label5</em>, <em>label6</em>, <em>label7</em> and<em>label8</em>.
+<p> Note that the order is changed according to <a href="#key">QListViewItem::key</a>()
+unless the list view's sorting is disabled using
+<a href="qlistview.html#setSorting">QListView::setSorting</a>(-1).
+<p> <p>See also <a href="#setText">setText</a>().
+
+<h3 class=fn><a name="QListViewItem-8"></a>QListViewItem::QListViewItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;parent, <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after, <a href="qstring.html">QString</a>&nbsp;label1, <a href="qstring.html">QString</a>&nbsp;label2 = QString::null, <a href="qstring.html">QString</a>&nbsp;label3 = QString::null, <a href="qstring.html">QString</a>&nbsp;label4 = QString::null, <a href="qstring.html">QString</a>&nbsp;label5 = QString::null, <a href="qstring.html">QString</a>&nbsp;label6 = QString::null, <a href="qstring.html">QString</a>&nbsp;label7 = QString::null, <a href="qstring.html">QString</a>&nbsp;label8 = QString::null )
+</h3>
+Constructs a new list view item as a child of the QListViewItem <em>parent</em>. It is inserted after item <em>after</em> and may contain up to
+eight strings, <em>label1</em>, <em>label2</em>, <em>label3</em>, <em>label4</em>, <em>label5</em>, <em>label6</em>, <em>label7</em> and <em>label8</em> as column entries.
+<p> Note that the order is changed according to <a href="#key">QListViewItem::key</a>()
+unless the list view's sorting is disabled using
+<a href="qlistview.html#setSorting">QListView::setSorting</a>(-1).
+<p> <p>See also <a href="#setText">setText</a>().
+
+<h3 class=fn><a name="~QListViewItem"></a>QListViewItem::~QListViewItem ()<tt> [virtual]</tt>
+</h3>
+Destroys the item, deleting all its children and freeing up all
+allocated resources.
+
+<h3 class=fn>bool <a name="acceptDrop"></a>QListViewItem::acceptDrop ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;mime ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the item can accept drops of type <a href="qmimesource.html">QMimeSource</a> <em>mime</em>; otherwise returns FALSE.
+<p> The default implementation does nothing and returns FALSE. A
+subclass must reimplement this to accept drops.
+
+<h3 class=fn>void <a name="activate"></a>QListViewItem::activate ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called whenever the user presses the mouse
+on this item or presses Space on it.
+<p> <p>See also <a href="#activatedPos">activatedPos</a>().
+
+<p>Reimplemented in <a href="qchecklistitem.html#activate">QCheckListItem</a>.
+<h3 class=fn>bool <a name="activatedPos"></a>QListViewItem::activatedPos ( <a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [protected]</tt>
+</h3>
+When called from a reimplementation of <a href="#activate">activate</a>(), this function
+gives information on how the item was activated. Otherwise the
+behavior is undefined.
+<p> If activate() was caused by a mouse press, the function sets <em>pos</em> to where the user clicked and returns TRUE; otherwise it
+returns FALSE and does not change <em>pos</em>.
+<p> <em>pos</em> is relative to the top-left corner of this item.
+<p> <b>Warning:</b> We recommend that you ignore this function; it is
+scheduled to become obsolete.
+<p> <p>See also <a href="#activate">activate</a>().
+
+<h3 class=fn>void <a name="cancelRename"></a>QListViewItem::cancelRename ( int&nbsp;col )<tt> [virtual protected]</tt>
+</h3>
+This function is called if the user cancels in-place renaming of
+this item in column <em>col</em> (e.g. by pressing Esc).
+<p> <p>See also <a href="#okRename">okRename</a>().
+
+<h3 class=fn>int <a name="childCount"></a>QListViewItem::childCount () const
+</h3>
+
+<p> Returns how many children this item has. The count only includes
+the item's immediate children.
+
+<h3 class=fn>int <a name="compare"></a>QListViewItem::compare ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i, int&nbsp;col, bool&nbsp;ascending ) const<tt> [virtual]</tt>
+</h3>
+Compares this list view item to <em>i</em> using the column <em>col</em> in <em>ascending</em> order. Returns &lt; 0 if this item is less than <em>i</em>, 0 if
+they are equal and &gt; 0 if this item is greater than <em>i</em>.
+<p> This function is used for sorting.
+<p> The default implementation compares the item keys (<a href="#key">key</a>()) using
+<a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>(). A reimplementation can use
+different values and a different comparison function. Here is a
+reimplementation that uses plain Unicode comparison:
+<p> <pre>
+ int MyListViewItem::compare( QListViewItem *i, int col,
+ bool ascending ) const
+ {
+ return key( col, ascending ).compare( i-&gt;<a href="#key">key</a>( col, ascending) );
+ }
+ </pre>
+
+We don't recommend using <em>ascending</em> so your code can safely
+ignore it.
+<p> <p>See also <a href="#key">key</a>(), <a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>(), and <a href="qstring.html#compare">QString::compare</a>().
+
+<h3 class=fn>int <a name="depth"></a>QListViewItem::depth () const
+</h3>
+Returns the depth of this item.
+
+<p>Example: <a href="dirview-example.html#x1686">dirview/dirview.cpp</a>.
+<h3 class=fn>bool <a name="dragEnabled"></a>QListViewItem::dragEnabled () const
+</h3>
+Returns TRUE if this item can be dragged; otherwise returns FALSE.
+<p> <p>See also <a href="#setDragEnabled">setDragEnabled</a>().
+
+<h3 class=fn>void <a name="dragEntered"></a>QListViewItem::dragEntered ()<tt> [virtual protected]</tt>
+</h3>
+This function is called when a drag enters the item's bounding
+rectangle.
+<p> The default implementation does nothing, subclasses may need to
+reimplement this function.
+
+<h3 class=fn>void <a name="dragLeft"></a>QListViewItem::dragLeft ()<tt> [virtual protected]</tt>
+</h3>
+This function is called when a drag leaves the item's bounding
+rectangle.
+<p> The default implementation does nothing, subclasses may need to
+reimplement this function.
+
+<h3 class=fn>bool <a name="dropEnabled"></a>QListViewItem::dropEnabled () const
+</h3>
+Returns TRUE if this item accepts drops; otherwise returns FALSE.
+<p> <p>See also <a href="#setDropEnabled">setDropEnabled</a>() and <a href="#acceptDrop">acceptDrop</a>().
+
+<h3 class=fn>void <a name="dropped"></a>QListViewItem::dropped ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This function is called when something was dropped on the item. <em>e</em>
+contains all the information about the drop.
+<p> The default implementation does nothing, subclasses may need to
+reimplement this function.
+
+<h3 class=fn>void <a name="enforceSortOrder"></a>QListViewItem::enforceSortOrder () const<tt> [virtual protected]</tt>
+</h3>
+Makes sure that this object's children are sorted appropriately.
+<p> This only works if every item from the root item down to this item
+is already sorted.
+<p> <p>See also <a href="#sortChildItems">sortChildItems</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="firstChild"></a>QListViewItem::firstChild () const
+</h3>
+Returns the first (top) child of this item, or 0 if this item has
+no children.
+<p> Note that the children are not guaranteed to be sorted properly.
+<a href="qlistview.html">QListView</a> and QListViewItem try to postpone or avoid sorting to
+the greatest degree possible, in order to keep the user interface
+snappy.
+<p> <p>See also <a href="#nextSibling">nextSibling</a>() and <a href="#sortChildItems">sortChildItems</a>().
+
+<p>Example: <a href="checklists-example.html#x430">checklists/checklists.cpp</a>.
+<h3 class=fn>int <a name="height"></a>QListViewItem::height () const
+</h3>
+Returns the height of this item in pixels. This does not include
+the height of any children; <a href="#totalHeight">totalHeight</a>() returns that.
+
+<h3 class=fn>void <a name="insertItem"></a>QListViewItem::insertItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;newChild )<tt> [virtual]</tt>
+</h3>
+Inserts <em>newChild</em> into this list view item's list of children.
+You should not need to call this function; it is called
+automatically by the constructor of <em>newChild</em>.
+<p> <b>Warning:</b> If you are using <tt>Single</tt> selection mode, then you
+should only insert unselected items.
+
+<h3 class=fn>void <a name="invalidateHeight"></a>QListViewItem::invalidateHeight ()<tt> [virtual]</tt>
+</h3>
+Invalidates the cached total height of this item, including all
+open children.
+<p> <p>See also <a href="#setHeight">setHeight</a>(), <a href="#height">height</a>(), and <a href="#totalHeight">totalHeight</a>().
+
+<h3 class=fn>bool <a name="isEnabled"></a>QListViewItem::isEnabled () const
+</h3>
+Returns TRUE if this item is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>().
+
+<h3 class=fn>bool <a name="isExpandable"></a>QListViewItem::isExpandable () const
+</h3>
+
+<p> Returns TRUE if this item is expandable even when it has no
+children; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isOpen"></a>QListViewItem::isOpen () const
+</h3>
+
+<p> Returns TRUE if this list view item has children <em>and</em> they are
+not explicitly hidden; otherwise returns FALSE.
+<p> <p>See also <a href="#setOpen">setOpen</a>().
+
+<h3 class=fn>bool <a name="isSelectable"></a>QListViewItem::isSelectable () const
+</h3>
+
+<p> Returns TRUE if the item is selectable (as it is by default);
+otherwise returns FALSE
+<p> <p>See also <a href="#setSelectable">setSelectable</a>().
+
+<h3 class=fn>bool <a name="isSelected"></a>QListViewItem::isSelected () const
+</h3>
+
+<p> Returns TRUE if this item is selected; otherwise returns FALSE.
+<p> <p>See also <a href="#setSelected">setSelected</a>(), <a href="qlistview.html#setSelected">QListView::setSelected</a>(), and <a href="qlistview.html#selectionChanged">QListView::selectionChanged</a>().
+
+<p>Example: <a href="listviews-example.html#x156">listviews/listviews.cpp</a>.
+<h3 class=fn>bool <a name="isVisible"></a>QListViewItem::isVisible () const
+</h3>
+Returns TRUE if the item is visible; otherwise returns FALSE.
+<p> <p>See also <a href="#setVisible">setVisible</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="itemAbove"></a>QListViewItem::itemAbove ()
+</h3>
+Returns a pointer to the item immediately above this item on the
+screen. This is usually the item's closest older sibling, but it
+may also be its parent or its next older sibling's youngest child,
+or something else if anyoftheabove->height() returns 0. Returns 0
+if there is no item immediately above this item.
+<p> This function assumes that all parents of this item are open (i.e.
+that this item is visible, or can be made visible by scrolling).
+<p> This function might be relatively slow because of the tree
+traversions needed to find the correct item.
+<p> <p>See also <a href="#itemBelow">itemBelow</a>() and <a href="qlistview.html#itemRect">QListView::itemRect</a>().
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="itemBelow"></a>QListViewItem::itemBelow ()
+</h3>
+Returns a pointer to the item immediately below this item on the
+screen. This is usually the item's eldest child, but it may also
+be its next younger sibling, its parent's next younger sibling,
+grandparent's, etc., or something else if anyoftheabove->height()
+returns 0. Returns 0 if there is no item immediately below this
+item.
+<p> This function assumes that all parents of this item are open (i.e.
+that this item is visible or can be made visible by scrolling).
+<p> <p>See also <a href="#itemAbove">itemAbove</a>() and <a href="qlistview.html#itemRect">QListView::itemRect</a>().
+
+<p>Example: <a href="dirview-example.html#x1687">dirview/dirview.cpp</a>.
+<h3 class=fn>int <a name="itemPos"></a>QListViewItem::itemPos () const
+</h3>
+Returns the y coordinate of this item in the list view's
+coordinate system. This function is normally much slower than
+<a href="qlistview.html#itemAt">QListView::itemAt</a>(), but it works for all items whereas
+QListView::itemAt() normally only works for items on the screen.
+<p> <p>See also <a href="qlistview.html#itemAt">QListView::itemAt</a>(), <a href="qlistview.html#itemRect">QListView::itemRect</a>(), and <a href="qlistview.html#itemPos">QListView::itemPos</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="key"></a>QListViewItem::key ( int&nbsp;column, bool&nbsp;ascending ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns a key that can be used for sorting by column <em>column</em>.
+The default implementation returns <a href="#text">text</a>(). Derived classes may
+also incorporate the order indicated by <em>ascending</em> into this
+key, although this is not recommended.
+<p> If you want to sort on non-alphabetical data, e.g. dates, numbers,
+etc., it is more efficient to reimplement <a href="#compare">compare</a>().
+<p> <p>See also <a href="#compare">compare</a>() and <a href="#sortChildItems">sortChildItems</a>().
+
+<h3 class=fn><a href="qlistview.html">QListView</a>&nbsp;* <a name="listView"></a>QListViewItem::listView () const
+</h3>
+Returns a pointer to the list view containing this item.
+<p> Note that this function traverses the items to the root to find the
+listview. This function will return 0 for taken items - see
+<a href="#takeItem">QListViewItem::takeItem</a>()
+
+<h3 class=fn>void <a name="moveItem"></a>QListViewItem::moveItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;after )
+</h3>
+Move the item to be after item <em>after</em>, which must be one of the
+item's siblings. To move an item in the hierarchy, use <a href="#takeItem">takeItem</a>()
+and <a href="#insertItem">insertItem</a>().
+<p> Note that this function will have no effect if sorting is enabled
+in the list view.
+
+<h3 class=fn>bool <a name="multiLinesEnabled"></a>QListViewItem::multiLinesEnabled () const
+</h3>
+Returns TRUE if the item can display multiple lines of text in its
+columns; otherwise returns FALSE.
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="nextSibling"></a>QListViewItem::nextSibling () const
+</h3>
+
+<p> Returns the sibling item below this item, or 0 if there is no
+sibling item after this item.
+<p> Note that the siblings are not guaranteed to be sorted properly.
+<a href="qlistview.html">QListView</a> and QListViewItem try to postpone or avoid sorting to
+the greatest degree possible, in order to keep the user interface
+snappy.
+<p> <p>See also <a href="#firstChild">firstChild</a>() and <a href="#sortChildItems">sortChildItems</a>().
+
+<p>Example: <a href="tagreader-with-features-example.html#x1965">xml/tagreader-with-features/structureparser.cpp</a>.
+<h3 class=fn>void <a name="okRename"></a>QListViewItem::okRename ( int&nbsp;col )<tt> [virtual protected]</tt>
+</h3>
+This function is called if the user presses Enter during in-place
+renaming of the item in column <em>col</em>.
+<p> <p>See also <a href="#cancelRename">cancelRename</a>().
+
+<h3 class=fn>void <a name="paintBranches"></a>QListViewItem::paintBranches ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, int&nbsp;w, int&nbsp;y, int&nbsp;h )<tt> [virtual]</tt>
+</h3>
+Paints a set of branches from this item to (some of) its children.
+<p> Painter <em>p</em> is set up with clipping and translation so that you
+can only draw in the rectangle that needs redrawing; <em>cg</em> is the
+color group to use; the update rectangle is at (0, 0) and has size
+width <em>w</em> by height <em>h</em>. The top of the rectangle you own is at
+<em>y</em> (which is never greater than 0 but can be outside the window
+system's allowed coordinate range).
+<p> The update rectangle is in an undefined state when this function
+is called; this function must draw on <em>all</em> of the pixels.
+<p> <p>See also <a href="#paintCell">paintCell</a>() and <a href="qlistview.html#drawContentsOffset">QListView::drawContentsOffset</a>().
+
+<h3 class=fn>void <a name="paintCell"></a>QListViewItem::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, int&nbsp;column, int&nbsp;width, int&nbsp;align )<tt> [virtual]</tt>
+</h3>
+This virtual function paints the contents of one column of an item
+and aligns it as described by <em>align</em>.
+<p> <em>p</em> is a <a href="qpainter.html">QPainter</a> open on the relevant paint device. <em>p</em> is
+translated so (0, 0) is the top-left pixel in the cell and <em>width-1</em>, <a href="#height">height</a>()-1 is the bottom-right pixel <em>in</em> the cell. The
+other properties of <em>p</em> (pen, brush, etc) are undefined. <em>cg</em> is
+the color group to use. <em>column</em> is the logical column number
+within the item that is to be painted; 0 is the column which may
+contain a tree.
+<p> This function may use <a href="qlistview.html#itemMargin">QListView::itemMargin</a>() for readability
+spacing on the left and right sides of data such as text, and
+should honor <a href="#isSelected">isSelected</a>() and <a href="qlistview.html#allColumnsShowFocus">QListView::allColumnsShowFocus</a>().
+<p> If you reimplement this function, you should also reimplement
+<a href="#width">width</a>().
+<p> The rectangle to be painted is in an undefined state when this
+function is called, so you <em>must</em> draw on all the pixels. The
+painter <em>p</em> has the right font on entry.
+<p> <p>See also <a href="#paintBranches">paintBranches</a>() and <a href="qlistview.html#drawContentsOffset">QListView::drawContentsOffset</a>().
+
+<p>Example: <a href="listviews-example.html#x157">listviews/listviews.cpp</a>.
+<p>Reimplemented in <a href="qchecklistitem.html#paintCell">QCheckListItem</a>.
+<h3 class=fn>void <a name="paintFocus"></a>QListViewItem::paintFocus ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Paints a focus indicator on the rectangle <em>r</em> using painter <em>p</em>
+and colors <em>cg</em>.
+<p> <em>p</em> is already clipped.
+<p> <p>See also <a href="#paintCell">paintCell</a>(), <a href="#paintBranches">paintBranches</a>(), and <a href="qlistview.html#allColumnsShowFocus-prop">QListView::allColumnsShowFocus</a>.
+
+<p>Reimplemented in <a href="qchecklistitem.html#paintFocus">QCheckListItem</a>.
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="parent"></a>QListViewItem::parent () const
+</h3>
+Returns the parent of this item, or 0 if this item has no parent.
+<p> <p>See also <a href="#firstChild">firstChild</a>() and <a href="#nextSibling">nextSibling</a>().
+
+<p>Examples: <a href="dirview-example.html#x1688">dirview/dirview.cpp</a> and <a href="qaxcontainer-example-qutlook.html#x2727">qutlook/centralwidget.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QListViewItem::pixmap ( int&nbsp;column ) const<tt> [virtual]</tt>
+</h3>
+Returns the pixmap for <em>column</em>, or 0 if there is no pixmap for
+<em>column</em>.
+<p> <p>See also <a href="#setText">setText</a>() and <a href="#setPixmap">setPixmap</a>().
+
+<p>Example: <a href="dirview-example.html#x1689">dirview/dirview.cpp</a>.
+<h3 class=fn>void <a name="removeItem"></a>QListViewItem::removeItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function has been renamed <a href="#takeItem">takeItem</a>().
+
+<h3 class=fn>bool <a name="renameEnabled"></a>QListViewItem::renameEnabled ( int&nbsp;col ) const
+</h3>
+Returns TRUE if this item can be in-place renamed in column <em>col</em>; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="repaint"></a>QListViewItem::repaint () const
+</h3>
+Repaints this item on the screen if it is currently visible.
+
+<p>Example: <a href="addressbook-example.html#x593">addressbook/centralwidget.cpp</a>.
+<h3 class=fn>int <a name="rtti"></a>QListViewItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns 0.
+<p> Make your derived classes return their own values for <a href="#rtti">rtti</a>(), so
+that you can distinguish between different kinds of list view
+items. You should use values greater than 1000 to allow for
+extensions to this class.
+
+<p>Reimplemented in <a href="qchecklistitem.html#rtti">QCheckListItem</a>.
+<h3 class=fn>void <a name="setDragEnabled"></a>QListViewItem::setDragEnabled ( bool&nbsp;allow )<tt> [virtual]</tt>
+</h3>
+If <em>allow</em> is TRUE, the list view starts a drag (see
+<a href="qlistview.html#dragObject">QListView::dragObject</a>()) when the user presses and moves the mouse
+on this item.
+
+<h3 class=fn>void <a name="setDropEnabled"></a>QListViewItem::setDropEnabled ( bool&nbsp;allow )<tt> [virtual]</tt>
+</h3>
+If <em>allow</em> is TRUE, the list view accepts drops onto the item;
+otherwise drops are not allowed.
+
+<h3 class=fn>void <a name="setEnabled"></a>QListViewItem::setEnabled ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE the item is enabled; otherwise it is disabled.
+Disabled items are drawn differently (e.g. grayed-out) and are not
+accessible by the user.
+
+<h3 class=fn>void <a name="setExpandable"></a>QListViewItem::setExpandable ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Sets this item to be expandable even if it has no children if <em>enable</em> is TRUE, and to be expandable only if it has children if <em>enable</em> is FALSE (the default).
+<p> The dirview example uses this in the canonical fashion. It checks
+whether the directory is empty in <a href="#setup">setup</a>() and calls
+<a href="#setExpandable">setExpandable</a>(TRUE) if not; in <a href="#setOpen">setOpen</a>() it reads the contents of
+the directory and inserts items accordingly. This strategy means
+that dirview can display the entire file system without reading
+very much at startup.
+<p> Note that root items are not expandable by the user unless
+<a href="qlistview.html#setRootIsDecorated">QListView::setRootIsDecorated</a>() is set to TRUE.
+<p> <p>See also <a href="#setSelectable">setSelectable</a>().
+
+<h3 class=fn>void <a name="setHeight"></a>QListViewItem::setHeight ( int&nbsp;height )<tt> [virtual protected]</tt>
+</h3>
+Sets this item's height to <em>height</em> pixels. This implicitly
+changes <a href="#totalHeight">totalHeight</a>(), too.
+<p> Note that a font change causes this height to be overwritten
+unless you reimplement <a href="#setup">setup</a>().
+<p> For best results in Windows style we suggest using an even number
+of pixels.
+<p> <p>See also <a href="#height">height</a>(), <a href="#totalHeight">totalHeight</a>(), and <a href="#isOpen">isOpen</a>().
+
+<h3 class=fn>void <a name="setMultiLinesEnabled"></a>QListViewItem::setMultiLinesEnabled ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE each of the item's columns may contain multiple
+lines of text; otherwise each of them may only contain a single
+line.
+
+<h3 class=fn>void <a name="setOpen"></a>QListViewItem::setOpen ( bool&nbsp;o )<tt> [virtual]</tt>
+</h3>
+Opens or closes an item, i.e. shows or hides an item's children.
+<p> If <em>o</em> is TRUE all child items are shown initially. The user can
+hide them by clicking the <b>-</b> icon to the left of the item.
+If <em>o</em> is FALSE, the children of this item are initially hidden.
+The user can show them by clicking the <b>+</b> icon to the left
+of the item.
+<p> <p>See also <a href="#height">height</a>(), <a href="#totalHeight">totalHeight</a>(), and <a href="#isOpen">isOpen</a>().
+
+<p>Examples: <a href="checklists-example.html#x431">checklists/checklists.cpp</a>, <a href="dirview-example.html#x1690">dirview/dirview.cpp</a>, <a href="dirview-example.html#x1718">dirview/main.cpp</a>, <a href="fileiconview-example.html#x887">fileiconview/mainwindow.cpp</a>, and <a href="tagreader-with-features-example.html#x1966">xml/tagreader-with-features/structureparser.cpp</a>.
+<h3 class=fn>void <a name="setPixmap"></a>QListViewItem::setPixmap ( int&nbsp;column, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )<tt> [virtual]</tt>
+</h3>
+Sets the pixmap in column <em>column</em> to <em>pm</em>, if <em>pm</em> is non-null
+and different from the current pixmap, and if <em>column</em> is
+non-negative.
+<p> <p>See also <a href="#pixmap">pixmap</a>() and <a href="#setText">setText</a>().
+
+<p>Example: <a href="dirview-example.html#x1691">dirview/dirview.cpp</a>.
+<h3 class=fn>void <a name="setRenameEnabled"></a>QListViewItem::setRenameEnabled ( int&nbsp;col, bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE, this item can be in-place renamed in the column
+<em>col</em> by the user; otherwise it cannot be renamed in-place.
+
+<h3 class=fn>void <a name="setSelectable"></a>QListViewItem::setSelectable ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Sets this item to be selectable if <em>enable</em> is TRUE (the
+default) or not to be selectable if <em>enable</em> is FALSE.
+<p> The user is not able to select a non-selectable item using either
+the keyboard or the mouse. This also applies for the application
+programmer (e.g. <a href="#setSelected">setSelected</a>() respects this value).
+<p> <p>See also <a href="#isSelectable">isSelectable</a>().
+
+<h3 class=fn>void <a name="setSelected"></a>QListViewItem::setSelected ( bool&nbsp;s )<tt> [virtual]</tt>
+</h3>
+If <em>s</em> is TRUE this item is selected; otherwise it is deselected.
+<p> This function does not maintain any invariants or repaint anything
+-- <a href="qlistview.html#setSelected">QListView::setSelected</a>() does that.
+<p> <p>See also <a href="#height">height</a>() and <a href="#totalHeight">totalHeight</a>().
+
+<p>Example: <a href="addressbook-example.html#x594">addressbook/centralwidget.cpp</a>.
+<h3 class=fn>void <a name="setText"></a>QListViewItem::setText ( int&nbsp;column, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3>
+Sets the text in column <em>column</em> to <em>text</em>, if <em>column</em> is a
+valid column number and <em>text</em> is different from the existing
+text.
+<p> If <em>text()</em> has been reimplemented, this function may be a no-op.
+<p> <p>See also <a href="#text">text</a>() and <a href="#key">key</a>().
+
+<p>Examples: <a href="addressbook-example.html#x595">addressbook/centralwidget.cpp</a>, <a href="qaxcontainer-example-qutlook.html#x2728">qutlook/centralwidget.cpp</a>, and <a href="outliner-example.html#x1916">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn>void <a name="setVisible"></a>QListViewItem::setVisible ( bool&nbsp;b )
+</h3>
+If <em>b</em> is TRUE, the item is made visible; otherwise it is hidden.
+<p> If the item is not visible, <a href="#itemAbove">itemAbove</a>() and <a href="#itemBelow">itemBelow</a>() will never
+return this item, although you still can reach it by using e.g.
+<a href="qlistviewitemiterator.html">QListViewItemIterator</a>.
+
+<h3 class=fn>void <a name="setup"></a>QListViewItem::setup ()<tt> [virtual]</tt>
+</h3>
+This virtual function is called before the first time <a href="qlistview.html">QListView</a>
+needs to know the height or any other graphical attribute of this
+object, and whenever the font, GUI style, or colors of the list
+view change.
+<p> The default calls <a href="#widthChanged">widthChanged</a>() and sets the item's height to the
+height of a single line of text in the list view's font. (If you
+use icons, multi-line text, etc., you will probably need to call
+<a href="#setHeight">setHeight</a>() yourself or reimplement it.)
+
+<p>Example: <a href="dirview-example.html#x1692">dirview/dirview.cpp</a>.
+<h3 class=fn>void <a name="sort"></a>QListViewItem::sort ()<tt> [virtual]</tt>
+</h3>
+Sorts all this item's child items using the current sorting
+configuration (sort column and direction).
+<p> <p>See also <a href="#enforceSortOrder">enforceSortOrder</a>().
+
+<h3 class=fn>void <a name="sortChildItems"></a>QListViewItem::sortChildItems ( int&nbsp;column, bool&nbsp;ascending )<tt> [virtual]</tt>
+</h3>
+Sorts this item's children using column <em>column</em>. This is done in
+ascending order if <em>ascending</em> is TRUE and in descending order if
+<em>ascending</em> is FALSE.
+<p> Asks some of the children to sort their children. (<a href="qlistview.html">QListView</a> and
+QListViewItem ensure that all on-screen objects are properly
+sorted but may avoid or defer sorting other objects in order to be
+more responsive.)
+<p> <p>See also <a href="#key">key</a>() and <a href="#compare">compare</a>().
+
+<h3 class=fn>void <a name="startRename"></a>QListViewItem::startRename ( int&nbsp;col )<tt> [virtual]</tt>
+</h3>
+If in-place renaming of this item is enabled (see
+<a href="#renameEnabled">renameEnabled</a>()), this function starts renaming the item in column
+<em>col</em>, by creating and initializing an edit box.
+
+<h3 class=fn>void <a name="takeItem"></a>QListViewItem::takeItem ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Removes <em>item</em> from this object's list of children and causes an
+update of the screen display. The item is not deleted. You should
+not normally need to call this function because
+<a href="#~QListViewItem">QListViewItem::~QListViewItem</a>() calls it.
+<p> The normal way to delete an item is to use <tt>delete</tt>.
+<p> If you need to move an item from one place in the hierarchy to
+another you can use <a href="#takeItem">takeItem</a>() to remove the item from the list
+view and then <a href="#insertItem">insertItem</a>() to put the item back in its new
+position.
+<p> If a taken item is part of a selection in <tt>Single</tt> selection
+mode, it is unselected and selectionChanged() is emitted. If a
+taken item is part of a selection in <tt>Multi</tt> or <tt>Extended</tt>
+selection mode, it remains selected.
+<p> <b>Warning:</b> This function leaves <em>item</em> and its children in a state
+where most member functions are unsafe. Only a few functions work
+correctly on an item in this state, most notably insertItem(). The
+functions that work on taken items are explicitly documented as
+such.
+<p> <p>See also <a href="#insertItem">QListViewItem::insertItem</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QListViewItem::text ( int&nbsp;column ) const<tt> [virtual]</tt>
+</h3>
+Returns the text in column <em>column</em>, or <a href="qstring.html#QString-null">QString::null</a> if there is
+no text in that column.
+<p> <p>See also <a href="#key">key</a>() and <a href="#paintCell">paintCell</a>().
+
+<p>Examples: <a href="addressbook-example.html#x596">addressbook/centralwidget.cpp</a>, <a href="dirview-example.html#x1693">dirview/dirview.cpp</a>, <a href="archivesearch-example.html#x477">network/archivesearch/archivedialog.ui.h</a>, and <a href="ftpclient-example.html#x766">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>int <a name="totalHeight"></a>QListViewItem::totalHeight () const
+</h3>
+Returns the total height of this object, including any visible
+children. This height is recomputed lazily and cached for as long
+as possible.
+<p> Functions which can affect the total height are, <a href="#setHeight">setHeight</a>() which
+is used to set an item's height, <a href="#setOpen">setOpen</a>() to show or hide an
+item's children, and <a href="#invalidateHeight">invalidateHeight</a>() to invalidate the cached
+height.
+<p> <p>See also <a href="#height">height</a>().
+
+<h3 class=fn>int <a name="width"></a>QListViewItem::width ( const&nbsp;<a href="qfontmetrics.html">QFontMetrics</a>&nbsp;&amp;&nbsp;fm, const&nbsp;<a href="qlistview.html">QListView</a>&nbsp;*&nbsp;lv, int&nbsp;c ) const<tt> [virtual]</tt>
+</h3>
+Returns the number of pixels of width required to draw column <em>c</em>
+of list view <em>lv</em>, using the metrics <em>fm</em> without cropping. The
+list view containing this item may use this information depending
+on the QListView::WidthMode settings for the column.
+<p> The default implementation returns the width of the bounding
+rectangle of the text of column <em>c</em>.
+<p> <p>See also <a href="#listView">listView</a>(), <a href="#widthChanged">widthChanged</a>(), <a href="qlistview.html#setColumnWidthMode">QListView::setColumnWidthMode</a>(), and <a href="qlistview.html#itemMargin-prop">QListView::itemMargin</a>.
+
+<h3 class=fn>void <a name="widthChanged"></a>QListViewItem::widthChanged ( int&nbsp;c = -1 ) const
+</h3>
+Call this function when the value of <a href="#width">width</a>() may have changed for
+column <em>c</em>. Normally, you should call this if <a href="#text">text</a>(c) changes.
+Passing -1 for <em>c</em> indicates that all columns may have changed.
+It is more efficient to pass -1 if two or more columns have
+changed than to call <a href="#widthChanged">widthChanged</a>() separately for each one.
+<p> <p>See also <a href="#width">width</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistviewitemiterator-members.html b/doc/html/qlistviewitemiterator-members.html
new file mode 100644
index 0000000..f42251f
--- /dev/null
+++ b/doc/html/qlistviewitemiterator-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlistview.h:540 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListViewItemIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QListViewItemIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlistviewitemiterator.html">QListViewItemIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qlistviewitemiterator.html#QListViewItemIterator">QListViewItemIterator</a>()
+<li><a href="qlistviewitemiterator.html#~QListViewItemIterator">~QListViewItemIterator</a>()
+<li><a href="qlistviewitemiterator.html#current">current</a>()
+<li><a href="qlistviewitemiterator.html#operator*">operator*</a>()
+<li><a href="qlistviewitemiterator.html#operator++">operator++</a>()
+<li><a href="qlistviewitemiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qlistviewitemiterator.html#operator--">operator--</a>()
+<li><a href="qlistviewitemiterator.html#operator--eq">operator-=</a>()
+<li><a href="qlistviewitemiterator.html#operator-eq">operator=</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistviewitemiterator.html b/doc/html/qlistviewitemiterator.html
new file mode 100644
index 0000000..2a3efc5
--- /dev/null
+++ b/doc/html/qlistviewitemiterator.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qlistview.cpp:7335 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QListViewItemIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QListViewItemIterator Class Reference</h1>
+
+<p>The QListViewItemIterator class provides an iterator for collections of QListViewItems.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;</tt>
+<p><a href="qlistviewitemiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#IteratorFlag-enum"><b>IteratorFlag</b></a> { Visible = 0x00000001, Invisible = 0x00000002, Selected = 0x00000004, Unselected = 0x00000008, Selectable = 0x00000010, NotSelectable = 0x00000020, DragEnabled = 0x00000040, DragDisabled = 0x00000080, DropEnabled = 0x00000100, DropDisabled = 0x00000200, Expandable = 0x00000400, NotExpandable = 0x00000800, Checked = 0x00001000, NotChecked = 0x00002000 }</li>
+<li class=fn><a href="#QListViewItemIterator"><b>QListViewItemIterator</b></a> ()</li>
+<li class=fn><a href="#QListViewItemIterator-2"><b>QListViewItemIterator</b></a> ( QListViewItem&nbsp;*&nbsp;item )</li>
+<li class=fn><a href="#QListViewItemIterator-3"><b>QListViewItemIterator</b></a> ( QListViewItem&nbsp;*&nbsp;item, int&nbsp;iteratorFlags )</li>
+<li class=fn><a href="#QListViewItemIterator-4"><b>QListViewItemIterator</b></a> ( const&nbsp;QListViewItemIterator&nbsp;&amp;&nbsp;it )</li>
+<li class=fn><a href="#QListViewItemIterator-5"><b>QListViewItemIterator</b></a> ( QListView&nbsp;*&nbsp;lv )</li>
+<li class=fn><a href="#QListViewItemIterator-6"><b>QListViewItemIterator</b></a> ( QListView&nbsp;*&nbsp;lv, int&nbsp;iteratorFlags )</li>
+<li class=fn>QListViewItemIterator &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QListViewItemIterator&nbsp;&amp;&nbsp;it )</li>
+<li class=fn><a href="#~QListViewItemIterator"><b>~QListViewItemIterator</b></a> ()</li>
+<li class=fn>QListViewItemIterator &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>const QListViewItemIterator <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
+<li class=fn>QListViewItemIterator &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( int&nbsp;j )</li>
+<li class=fn>QListViewItemIterator &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>const QListViewItemIterator <a href="#operator---2"><b>operator--</b></a> ( int )</li>
+<li class=fn>QListViewItemIterator &amp; <a href="#operator--eq"><b>operator-=</b></a> ( int&nbsp;j )</li>
+<li class=fn>QListViewItem * <a href="#operator*"><b>operator*</b></a> ()</li>
+<li class=fn>QListViewItem * <a href="#current"><b>current</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QListViewItemIterator class provides an iterator for collections of QListViewItems.
+<p>
+<p> Construct an instance of a QListViewItemIterator, with either a
+<a href="qlistview.html">QListView</a>* or a <a href="qlistviewitem.html">QListViewItem</a>* as argument, to operate on the tree
+of QListViewItems, starting from the argument.
+<p> A QListViewItemIterator iterates over all the items from its
+starting point. This means that it always makes the first child of
+the current item the new current item. If there is no child, the
+next sibling becomes the new current item; and if there is no next
+sibling, the next sibling of the parent becomes current.
+<p> The following example creates a list of all the items that have
+been selected by the user, storing pointers to the items in a
+QPtrList:
+<pre>
+ <a href="qptrlist.html">QPtrList</a>&lt;QListViewItem&gt; lst;
+ QListViewItemIterator it( myListView );
+ while ( it.<a href="#current">current</a>() ) {
+ if ( it.<a href="#current">current</a>()-&gt;isSelected() )
+ lst.<a href="qptrlist.html#append">append</a>( it.<a href="#current">current</a>() );
+ ++it;
+ }
+ </pre>
+
+<p> An alternative approach is to use an <a href="#IteratorFlag-enum">IteratorFlag</a>:
+<pre>
+ <a href="qptrlist.html">QPtrList</a>&lt;QListViewItem&gt; lst;
+ QListViewItemIterator it( myListView, QListViewItemIterator::<a href="#IteratorFlag-enum">Selected</a> );
+ while ( it.<a href="#current">current</a>() ) {
+ lst.<a href="qptrlist.html#append">append</a>( it.<a href="#current">current</a>() );
+ ++it;
+ }
+ </pre>
+
+<p> A QListViewItemIterator provides a convenient and easy way to
+traverse a hierarchical <a href="qlistview.html">QListView</a>.
+<p> Multiple QListViewItemIterators can operate on the tree of
+QListViewItems. A QListView knows about all iterators operating on
+its QListViewItems. So when a <a href="qlistviewitem.html">QListViewItem</a> gets removed all
+iterators that point to this item are updated and point to the
+following item if possible, otherwise to a valid item before the
+current one or to 0. Note however that deleting the parent item of
+an item that an iterator points to is not safe.
+<p> <p>See also <a href="qlistview.html">QListView</a>, <a href="qlistviewitem.html">QListViewItem</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="IteratorFlag-enum"></a>QListViewItemIterator::IteratorFlag</h3>
+
+<p> These flags can be passed to a QListViewItemIterator constructor
+(OR-ed together if more than one is used), so that the iterator
+will only iterate over items that match the given flags.
+<ul>
+<li><tt>QListViewItemIterator::Visible</tt>
+<li><tt>QListViewItemIterator::Invisible</tt>
+<li><tt>QListViewItemIterator::Selected</tt>
+<li><tt>QListViewItemIterator::Unselected</tt>
+<li><tt>QListViewItemIterator::Selectable</tt>
+<li><tt>QListViewItemIterator::NotSelectable</tt>
+<li><tt>QListViewItemIterator::DragEnabled</tt>
+<li><tt>QListViewItemIterator::DragDisabled</tt>
+<li><tt>QListViewItemIterator::DropEnabled</tt>
+<li><tt>QListViewItemIterator::DropDisabled</tt>
+<li><tt>QListViewItemIterator::Expandable</tt>
+<li><tt>QListViewItemIterator::NotExpandable</tt>
+<li><tt>QListViewItemIterator::Checked</tt>
+<li><tt>QListViewItemIterator::NotChecked</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QListViewItemIterator"></a>QListViewItemIterator::QListViewItemIterator ()
+</h3>
+Constructs an empty iterator.
+
+<h3 class=fn><a name="QListViewItemIterator-2"></a>QListViewItemIterator::QListViewItemIterator ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item )
+</h3>
+Constructs an iterator for the <a href="qlistview.html">QListView</a> that contains the <em>item</em>. The current iterator item is set to point to the <em>item</em>.
+
+<h3 class=fn><a name="QListViewItemIterator-3"></a>QListViewItemIterator::QListViewItemIterator ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;item, int&nbsp;iteratorFlags )
+</h3>
+Constructs an iterator for the <a href="qlistview.html">QListView</a> that contains the <em>item</em>
+using the flags <em>iteratorFlags</em>. The current iterator item is set
+to point to <em>item</em> or the next matching item if <em>item</em> doesn't
+match the flags.
+<p> <p>See also <a href="#IteratorFlag-enum">QListViewItemIterator::IteratorFlag</a>.
+
+<h3 class=fn><a name="QListViewItemIterator-4"></a>QListViewItemIterator::QListViewItemIterator ( const&nbsp;<a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp;&nbsp;it )
+</h3>
+Constructs an iterator for the same <a href="qlistview.html">QListView</a> as <em>it</em>. The
+current iterator item is set to point on the current item of <em>it</em>.
+
+<h3 class=fn><a name="QListViewItemIterator-5"></a>QListViewItemIterator::QListViewItemIterator ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;lv )
+</h3>
+Constructs an iterator for the <a href="qlistview.html">QListView</a> <em>lv</em>. The current
+iterator item is set to point on the first child (<a href="qlistviewitem.html">QListViewItem</a>)
+of <em>lv</em>.
+
+<h3 class=fn><a name="QListViewItemIterator-6"></a>QListViewItemIterator::QListViewItemIterator ( <a href="qlistview.html">QListView</a>&nbsp;*&nbsp;lv, int&nbsp;iteratorFlags )
+</h3>
+Constructs an iterator for the <a href="qlistview.html">QListView</a> <em>lv</em> with the flags <em>iteratorFlags</em>. The current iterator item is set to point on the
+first child (<a href="qlistviewitem.html">QListViewItem</a>) of <em>lv</em> that matches the flags.
+<p> <p>See also <a href="#IteratorFlag-enum">QListViewItemIterator::IteratorFlag</a>.
+
+<h3 class=fn><a name="~QListViewItemIterator"></a>QListViewItemIterator::~QListViewItemIterator ()
+</h3>
+Destroys the iterator.
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="current"></a>QListViewItemIterator::current () const
+</h3>
+Returns iterator's current item.
+
+<p>Examples: <a href="addressbook-example.html#x597">addressbook/centralwidget.cpp</a>, <a href="checklists-example.html#x432">checklists/checklists.cpp</a>, and <a href="dirview-example.html#x1694">dirview/dirview.cpp</a>.
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="operator*"></a>QListViewItemIterator::operator* ()
+</h3>
+Dereference operator. Returns a reference to the current item. The
+same as <a href="#current">current</a>().
+
+<h3 class=fn><a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp; <a name="operator++"></a>QListViewItemIterator::operator++ ()
+</h3>
+Prefix ++. Makes the next item the new current item and returns
+it. Returns 0 if the current item is the last item or the
+<a href="qlistview.html">QListView</a> is 0.
+
+<h3 class=fn>const&nbsp;<a href="qlistviewitemiterator.html">QListViewItemIterator</a> <a name="operator++-2"></a>QListViewItemIterator::operator++ ( int )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix ++. Makes the next item the new current item and returns
+the item that <em>was</em> the current item.
+
+<h3 class=fn><a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp; <a name="operator+-eq"></a>QListViewItemIterator::operator+= ( int&nbsp;j )
+</h3>
+Sets the current item to the item <em>j</em> positions after the current
+item. If that item is beyond the last item, the current item is
+set to 0. Returns the current item.
+
+<h3 class=fn><a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp; <a name="operator--"></a>QListViewItemIterator::operator-- ()
+</h3>
+Prefix --. Makes the previous item the new current item and
+returns it. Returns 0 if the current item is the first item or the
+<a href="qlistview.html">QListView</a> is 0.
+
+<h3 class=fn>const&nbsp;<a href="qlistviewitemiterator.html">QListViewItemIterator</a> <a name="operator---2"></a>QListViewItemIterator::operator-- ( int )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix --. Makes the previous item the new current item and
+returns the item that <em>was</em> the current item.
+
+<h3 class=fn><a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp; <a name="operator--eq"></a>QListViewItemIterator::operator-= ( int&nbsp;j )
+</h3>
+Sets the current item to the item <em>j</em> positions before the
+current item. If that item is before the first item, the current
+item is set to 0. Returns the current item.
+
+<h3 class=fn><a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp; <a name="operator-eq"></a>QListViewItemIterator::operator= ( const&nbsp;<a href="qlistviewitemiterator.html">QListViewItemIterator</a>&nbsp;&amp;&nbsp;it )
+</h3>
+Assignment. Makes a copy of <em>it</em> and returns a reference to its
+iterator.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlistviewitems.png b/doc/html/qlistviewitems.png
new file mode 100644
index 0000000..fe862c7
--- /dev/null
+++ b/doc/html/qlistviewitems.png
Binary files differ
diff --git a/doc/html/qlocale-h.html b/doc/html/qlocale-h.html
new file mode 100644
index 0000000..4363f80
--- /dev/null
+++ b/doc/html/qlocale-h.html
@@ -0,0 +1,539 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlocale.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlocale.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlocale.h</h1>
+
+<p>This is the verbatim text of the qlocale.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlocale.h 3.3.8 edited Jan 11 14:38 $
+**
+** Declaration of the QLocale class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLOCALE_H
+#define QLOCALE_H
+
+#include "qstring.h"
+
+struct QLocalePrivate;
+
+class Q_EXPORT QLocale
+{
+ friend class QString;
+
+public:
+ enum Language {
+ C = 1,
+ Abkhazian = 2,
+ Afan = 3,
+ Afar = 4,
+ Afrikaans = 5,
+ Albanian = 6,
+ Amharic = 7,
+ Arabic = 8,
+ Armenian = 9,
+ Assamese = 10,
+ Aymara = 11,
+ Azerbaijani = 12,
+ Bashkir = 13,
+ Basque = 14,
+ Bengali = 15,
+ Bhutani = 16,
+ Bihari = 17,
+ Bislama = 18,
+ Breton = 19,
+ Bulgarian = 20,
+ Burmese = 21,
+ Byelorussian = 22,
+ Cambodian = 23,
+ Catalan = 24,
+ Chinese = 25,
+ Corsican = 26,
+ Croatian = 27,
+ Czech = 28,
+ Danish = 29,
+ Dutch = 30,
+ English = 31,
+ Esperanto = 32,
+ Estonian = 33,
+ Faroese = 34,
+ FijiLanguage = 35,
+ Finnish = 36,
+ French = 37,
+ Frisian = 38,
+ Gaelic = 39,
+ Galician = 40,
+ Georgian = 41,
+ German = 42,
+ Greek = 43,
+ Greenlandic = 44,
+ Guarani = 45,
+ Gujarati = 46,
+ Hausa = 47,
+ Hebrew = 48,
+ Hindi = 49,
+ Hungarian = 50,
+ Icelandic = 51,
+ Indonesian = 52,
+ Interlingua = 53,
+ Interlingue = 54,
+ Inuktitut = 55,
+ Inupiak = 56,
+ Irish = 57,
+ Italian = 58,
+ Japanese = 59,
+ Javanese = 60,
+ Kannada = 61,
+ Kashmiri = 62,
+ Kazakh = 63,
+ Kinyarwanda = 64,
+ Kirghiz = 65,
+ Korean = 66,
+ Kurdish = 67,
+ Kurundi = 68,
+ Laothian = 69,
+ Latin = 70,
+ Latvian = 71,
+ Lingala = 72,
+ Lithuanian = 73,
+ Macedonian = 74,
+ Malagasy = 75,
+ Malay = 76,
+ Malayalam = 77,
+ Maltese = 78,
+ Maori = 79,
+ Marathi = 80,
+ Moldavian = 81,
+ Mongolian = 82,
+ NauruLanguage = 83,
+ Nepali = 84,
+ Norwegian = 85,
+ Occitan = 86,
+ Oriya = 87,
+ Pashto = 88,
+ Persian = 89,
+ Polish = 90,
+ Portuguese = 91,
+ Punjabi = 92,
+ Quechua = 93,
+ RhaetoRomance = 94,
+ Romanian = 95,
+ Russian = 96,
+ Samoan = 97,
+ Sangho = 98,
+ Sanskrit = 99,
+ Serbian = 100,
+ SerboCroatian = 101,
+ Sesotho = 102,
+ Setswana = 103,
+ Shona = 104,
+ Sindhi = 105,
+ Singhalese = 106,
+ Siswati = 107,
+ Slovak = 108,
+ Slovenian = 109,
+ Somali = 110,
+ Spanish = 111,
+ Sundanese = 112,
+ Swahili = 113,
+ Swedish = 114,
+ Tagalog = 115,
+ Tajik = 116,
+ Tamil = 117,
+ Tatar = 118,
+ Telugu = 119,
+ Thai = 120,
+ Tibetan = 121,
+ Tigrinya = 122,
+ TongaLanguage = 123,
+ Tsonga = 124,
+ Turkish = 125,
+ Turkmen = 126,
+ Twi = 127,
+ Uigur = 128,
+ Ukrainian = 129,
+ Urdu = 130,
+ Uzbek = 131,
+ Vietnamese = 132,
+ Volapuk = 133,
+ Welsh = 134,
+ Wolof = 135,
+ Xhosa = 136,
+ Yiddish = 137,
+ Yoruba = 138,
+ Zhuang = 139,
+ Zulu = 140,
+ LastLanguage = Zulu
+ };
+
+ enum Country {
+ AnyCountry = 0,
+ Afghanistan = 1,
+ Albania = 2,
+ Algeria = 3,
+ AmericanSamoa = 4,
+ Andorra = 5,
+ Angola = 6,
+ Anguilla = 7,
+ Antarctica = 8,
+ AntiguaAndBarbuda = 9,
+ Argentina = 10,
+ Armenia = 11,
+ Aruba = 12,
+ Australia = 13,
+ Austria = 14,
+ Azerbaijan = 15,
+ Bahamas = 16,
+ Bahrain = 17,
+ Bangladesh = 18,
+ Barbados = 19,
+ Belarus = 20,
+ Belgium = 21,
+ Belize = 22,
+ Benin = 23,
+ Bermuda = 24,
+ Bhutan = 25,
+ Bolivia = 26,
+ BosniaAndHerzegowina = 27,
+ Botswana = 28,
+ BouvetIsland = 29,
+ Brazil = 30,
+ BritishIndianOceanTerritory = 31,
+ BruneiDarussalam = 32,
+ Bulgaria = 33,
+ BurkinaFaso = 34,
+ Burundi = 35,
+ Cambodia = 36,
+ Cameroon = 37,
+ Canada = 38,
+ CapeVerde = 39,
+ CaymanIslands = 40,
+ CentralAfricanRepublic = 41,
+ Chad = 42,
+ Chile = 43,
+ China = 44,
+ ChristmasIsland = 45,
+ CocosIslands = 46,
+ Colombia = 47,
+ Comoros = 48,
+ DemocraticRepublicOfCongo = 49,
+ PeoplesRepublicOfCongo = 50,
+ CookIslands = 51,
+ CostaRica = 52,
+ IvoryCoast = 53,
+ Croatia = 54,
+ Cuba = 55,
+ Cyprus = 56,
+ CzechRepublic = 57,
+ Denmark = 58,
+ Djibouti = 59,
+ Dominica = 60,
+ DominicanRepublic = 61,
+ EastTimor = 62,
+ Ecuador = 63,
+ Egypt = 64,
+ ElSalvador = 65,
+ EquatorialGuinea = 66,
+ Eritrea = 67,
+ Estonia = 68,
+ Ethiopia = 69,
+ FalklandIslands = 70,
+ FaroeIslands = 71,
+ FijiCountry = 72,
+ Finland = 73,
+ France = 74,
+ MetropolitanFrance = 75,
+ FrenchGuiana = 76,
+ FrenchPolynesia = 77,
+ FrenchSouthernTerritories = 78,
+ Gabon = 79,
+ Gambia = 80,
+ Georgia = 81,
+ Germany = 82,
+ Ghana = 83,
+ Gibraltar = 84,
+ Greece = 85,
+ Greenland = 86,
+ Grenada = 87,
+ Guadeloupe = 88,
+ Guam = 89,
+ Guatemala = 90,
+ Guinea = 91,
+ GuineaBissau = 92,
+ Guyana = 93,
+ Haiti = 94,
+ HeardAndMcDonaldIslands = 95,
+ Honduras = 96,
+ HongKong = 97,
+ Hungary = 98,
+ Iceland = 99,
+ India = 100,
+ Indonesia = 101,
+ Iran = 102,
+ Iraq = 103,
+ Ireland = 104,
+ Israel = 105,
+ Italy = 106,
+ Jamaica = 107,
+ Japan = 108,
+ Jordan = 109,
+ Kazakhstan = 110,
+ Kenya = 111,
+ Kiribati = 112,
+ DemocraticRepublicOfKorea = 113,
+ RepublicOfKorea = 114,
+ Kuwait = 115,
+ Kyrgyzstan = 116,
+ Lao = 117,
+ Latvia = 118,
+ Lebanon = 119,
+ Lesotho = 120,
+ Liberia = 121,
+ LibyanArabJamahiriya = 122,
+ Liechtenstein = 123,
+ Lithuania = 124,
+ Luxembourg = 125,
+ Macau = 126,
+ Macedonia = 127,
+ Madagascar = 128,
+ Malawi = 129,
+ Malaysia = 130,
+ Maldives = 131,
+ Mali = 132,
+ Malta = 133,
+ MarshallIslands = 134,
+ Martinique = 135,
+ Mauritania = 136,
+ Mauritius = 137,
+ Mayotte = 138,
+ Mexico = 139,
+ Micronesia = 140,
+ Moldova = 141,
+ Monaco = 142,
+ Mongolia = 143,
+ Montserrat = 144,
+ Morocco = 145,
+ Mozambique = 146,
+ Myanmar = 147,
+ Namibia = 148,
+ NauruCountry = 149,
+ Nepal = 150,
+ Netherlands = 151,
+ NetherlandsAntilles = 152,
+ NewCaledonia = 153,
+ NewZealand = 154,
+ Nicaragua = 155,
+ Niger = 156,
+ Nigeria = 157,
+ Niue = 158,
+ NorfolkIsland = 159,
+ NorthernMarianaIslands = 160,
+ Norway = 161,
+ Oman = 162,
+ Pakistan = 163,
+ Palau = 164,
+ PalestinianTerritory = 165,
+ Panama = 166,
+ PapuaNewGuinea = 167,
+ Paraguay = 168,
+ Peru = 169,
+ Philippines = 170,
+ Pitcairn = 171,
+ Poland = 172,
+ Portugal = 173,
+ PuertoRico = 174,
+ Qatar = 175,
+ Reunion = 176,
+ Romania = 177,
+ RussianFederation = 178,
+ Rwanda = 179,
+ SaintKittsAndNevis = 180,
+ StLucia = 181,
+ StVincentAndTheGrenadines = 182,
+ Samoa = 183,
+ SanMarino = 184,
+ SaoTomeAndPrincipe = 185,
+ SaudiArabia = 186,
+ Senegal = 187,
+ Seychelles = 188,
+ SierraLeone = 189,
+ Singapore = 190,
+ Slovakia = 191,
+ Slovenia = 192,
+ SolomonIslands = 193,
+ Somalia = 194,
+ SouthAfrica = 195,
+ SouthGeorgiaAndTheSouthSandwichIslands = 196,
+ Spain = 197,
+ SriLanka = 198,
+ StHelena = 199,
+ StPierreAndMiquelon = 200,
+ Sudan = 201,
+ Suriname = 202,
+ SvalbardAndJanMayenIslands = 203,
+ Swaziland = 204,
+ Sweden = 205,
+ Switzerland = 206,
+ SyrianArabRepublic = 207,
+ Taiwan = 208,
+ Tajikistan = 209,
+ Tanzania = 210,
+ Thailand = 211,
+ Togo = 212,
+ Tokelau = 213,
+ TongaCountry = 214,
+ TrinidadAndTobago = 215,
+ Tunisia = 216,
+ Turkey = 217,
+ Turkmenistan = 218,
+ TurksAndCaicosIslands = 219,
+ Tuvalu = 220,
+ Uganda = 221,
+ Ukraine = 222,
+ UnitedArabEmirates = 223,
+ UnitedKingdom = 224,
+ UnitedStates = 225,
+ UnitedStatesMinorOutlyingIslands = 226,
+ Uruguay = 227,
+ Uzbekistan = 228,
+ Vanuatu = 229,
+ VaticanCityState = 230,
+ Venezuela = 231,
+ VietNam = 232,
+ BritishVirginIslands = 233,
+ USVirginIslands = 234,
+ WallisAndFutunaIslands = 235,
+ WesternSahara = 236,
+ Yemen = 237,
+ Yugoslavia = 238,
+ Zambia = 239,
+ Zimbabwe = 240,
+ LastCountry = Zimbabwe
+ };
+
+ QLocale();
+ QLocale(const QString &amp;name);
+ QLocale(Language language, Country country = AnyCountry);
+ QLocale(const QLocale &amp;other);
+
+ QLocale &amp;operator=(const QLocale &amp;other);
+
+ Language language() const;
+ Country country() const;
+ QString name() const;
+
+ short toShort(const QString &amp;s, bool *ok = 0) const;
+ ushort toUShort(const QString &amp;s, bool *ok = 0) const;
+ int toInt(const QString &amp;s, bool *ok = 0) const;
+ uint toUInt(const QString &amp;s, bool *ok = 0) const;
+ Q_LONG toLong(const QString &amp;s, bool *ok = 0) const;
+ Q_ULONG toULong(const QString &amp;s, bool *ok = 0) const;
+ Q_LLONG toLongLong(const QString &amp;s, bool *ok = 0) const;
+ Q_ULLONG toULongLong(const QString &amp;s, bool *ok = 0) const;
+ float toFloat(const QString &amp;s, bool *ok = 0) const;
+ double toDouble(const QString &amp;s, bool *ok = 0) const;
+
+ QString toString(short i) const
+ { return toString((Q_LLONG)i); }
+ QString toString(ushort i) const
+ { return toString((Q_ULLONG)i); }
+ QString toString(int i) const
+ { return toString((Q_LLONG)i); }
+ QString toString(uint i) const
+ { return toString((Q_ULLONG)i); }
+#if !defined(Q_OS_WIN64)
+ QString toString(Q_LONG i) const
+ { return toString((Q_LLONG)i); }
+ QString toString(Q_ULONG i) const
+ { return toString((Q_ULLONG)i); }
+#endif
+ QString toString(Q_LLONG i) const;
+ QString toString(Q_ULLONG i) const;
+ QString toString(float i, char f = 'g', int prec = 6) const
+ { return toString((double) i, f, prec); }
+ QString toString(double i, char f = 'g', int prec = 6) const;
+
+ static QString languageToString(Language language);
+ static QString countryToString(Country country);
+ static void setDefault(const QLocale &amp;locale);
+
+ static QLocale c() { return QLocale(C); }
+ static QLocale system();
+
+private:
+ const QLocalePrivate *d;
+ static const QLocalePrivate *default_d;
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlocale-members.html b/doc/html/qlocale-members.html
new file mode 100644
index 0000000..cabe956
--- /dev/null
+++ b/doc/html/qlocale-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlocale.h:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLocale Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLocale</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlocale.html">QLocale</a>, including inherited members.
+
+<ul>
+<li><a href="qlocale.html#QLocale">QLocale</a>()
+<li><a href="qlocale.html#c">c</a>()
+<li><a href="qlocale.html#country">country</a>()
+<li><a href="qlocale.html#countryToString">countryToString</a>()
+<li><a href="qlocale.html#language">language</a>()
+<li><a href="qlocale.html#languageToString">languageToString</a>()
+<li><a href="qlocale.html#name">name</a>()
+<li><a href="qlocale.html#operator-eq">operator=</a>()
+<li><a href="qlocale.html#setDefault">setDefault</a>()
+<li><a href="qlocale.html#system">system</a>()
+<li><a href="qlocale.html#toDouble">toDouble</a>()
+<li><a href="qlocale.html#toFloat">toFloat</a>()
+<li><a href="qlocale.html#toInt">toInt</a>()
+<li><a href="qlocale.html#toLong">toLong</a>()
+<li><a href="qlocale.html#toLongLong">toLongLong</a>()
+<li><a href="qlocale.html#toShort">toShort</a>()
+<li><a href="qlocale.html#toString">toString</a>()
+<li><a href="qlocale.html#toUInt">toUInt</a>()
+<li><a href="qlocale.html#toULong">toULong</a>()
+<li><a href="qlocale.html#toULongLong">toULongLong</a>()
+<li><a href="qlocale.html#toUShort">toUShort</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlocale.html b/doc/html/qlocale.html
new file mode 100644
index 0000000..0524ed9
--- /dev/null
+++ b/doc/html/qlocale.html
@@ -0,0 +1,852 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qlocale.cpp:1921 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLocale Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLocale Class Reference</h1>
+
+<p>The QLocale class converts between numbers and their
+string representations in various languages.
+<a href="#details">More...</a>
+<p>Almost all the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support. The exception is <a href="#setDefault"><b>setDefault</b></a>().
+</p><p><tt>#include &lt;<a href="qlocale-h.html">qlocale.h</a>&gt;</tt>
+<p><a href="qlocale-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Language-enum"><b>Language</b></a> { C = 1, Abkhazian = 2, Afan = 3, Afar = 4, Afrikaans = 5, Albanian = 6, Amharic = 7, Arabic = 8, Armenian = 9, Assamese = 10, Aymara = 11, Azerbaijani = 12, Bashkir = 13, Basque = 14, Bengali = 15, Bhutani = 16, Bihari = 17, Bislama = 18, Breton = 19, Bulgarian = 20, Burmese = 21, Byelorussian = 22, Cambodian = 23, Catalan = 24, Chinese = 25, Corsican = 26, Croatian = 27, Czech = 28, Danish = 29, Dutch = 30, English = 31, Esperanto = 32, Estonian = 33, Faroese = 34, FijiLanguage = 35, Finnish = 36, French = 37, Frisian = 38, Gaelic = 39, Galician = 40, Georgian = 41, German = 42, Greek = 43, Greenlandic = 44, Guarani = 45, Gujarati = 46, Hausa = 47, Hebrew = 48, Hindi = 49, Hungarian = 50, Icelandic = 51, Indonesian = 52, Interlingua = 53, Interlingue = 54, Inuktitut = 55, Inupiak = 56, Irish = 57, Italian = 58, Japanese = 59, Javanese = 60, Kannada = 61, Kashmiri = 62, Kazakh = 63, Kinyarwanda = 64, Kirghiz = 65, Korean = 66, Kurdish = 67, Kurundi = 68, Laothian = 69, Latin = 70, Latvian = 71, Lingala = 72, Lithuanian = 73, Macedonian = 74, Malagasy = 75, Malay = 76, Malayalam = 77, Maltese = 78, Maori = 79, Marathi = 80, Moldavian = 81, Mongolian = 82, NauruLanguage = 83, Nepali = 84, Norwegian = 85, Occitan = 86, Oriya = 87, Pashto = 88, Persian = 89, Polish = 90, Portuguese = 91, Punjabi = 92, Quechua = 93, RhaetoRomance = 94, Romanian = 95, Russian = 96, Samoan = 97, Sangho = 98, Sanskrit = 99, Serbian = 100, SerboCroatian = 101, Sesotho = 102, Setswana = 103, Shona = 104, Sindhi = 105, Singhalese = 106, Siswati = 107, Slovak = 108, Slovenian = 109, Somali = 110, Spanish = 111, Sundanese = 112, Swahili = 113, Swedish = 114, Tagalog = 115, Tajik = 116, Tamil = 117, Tatar = 118, Telugu = 119, Thai = 120, Tibetan = 121, Tigrinya = 122, TongaLanguage = 123, Tsonga = 124, Turkish = 125, Turkmen = 126, Twi = 127, Uigur = 128, Ukrainian = 129, Urdu = 130, Uzbek = 131, Vietnamese = 132, Volapuk = 133, Welsh = 134, Wolof = 135, Xhosa = 136, Yiddish = 137, Yoruba = 138, Zhuang = 139, Zulu = 140, LastLanguage = Zulu }</li>
+<li class=fn>enum <a href="#Country-enum"><b>Country</b></a> { AnyCountry = 0, Afghanistan = 1, Albania = 2, Algeria = 3, AmericanSamoa = 4, Andorra = 5, Angola = 6, Anguilla = 7, Antarctica = 8, AntiguaAndBarbuda = 9, Argentina = 10, Armenia = 11, Aruba = 12, Australia = 13, Austria = 14, Azerbaijan = 15, Bahamas = 16, Bahrain = 17, Bangladesh = 18, Barbados = 19, Belarus = 20, Belgium = 21, Belize = 22, Benin = 23, Bermuda = 24, Bhutan = 25, Bolivia = 26, BosniaAndHerzegowina = 27, Botswana = 28, BouvetIsland = 29, Brazil = 30, BritishIndianOceanTerritory = 31, BruneiDarussalam = 32, Bulgaria = 33, BurkinaFaso = 34, Burundi = 35, Cambodia = 36, Cameroon = 37, Canada = 38, CapeVerde = 39, CaymanIslands = 40, CentralAfricanRepublic = 41, Chad = 42, Chile = 43, China = 44, ChristmasIsland = 45, CocosIslands = 46, Colombia = 47, Comoros = 48, DemocraticRepublicOfCongo = 49, PeoplesRepublicOfCongo = 50, CookIslands = 51, CostaRica = 52, IvoryCoast = 53, Croatia = 54, Cuba = 55, Cyprus = 56, CzechRepublic = 57, Denmark = 58, Djibouti = 59, Dominica = 60, DominicanRepublic = 61, EastTimor = 62, Ecuador = 63, Egypt = 64, ElSalvador = 65, EquatorialGuinea = 66, Eritrea = 67, Estonia = 68, Ethiopia = 69, FalklandIslands = 70, FaroeIslands = 71, FijiCountry = 72, Finland = 73, France = 74, MetropolitanFrance = 75, FrenchGuiana = 76, FrenchPolynesia = 77, FrenchSouthernTerritories = 78, Gabon = 79, Gambia = 80, Georgia = 81, Germany = 82, Ghana = 83, Gibraltar = 84, Greece = 85, Greenland = 86, Grenada = 87, Guadeloupe = 88, Guam = 89, Guatemala = 90, Guinea = 91, GuineaBissau = 92, Guyana = 93, Haiti = 94, HeardAndMcDonaldIslands = 95, Honduras = 96, HongKong = 97, Hungary = 98, Iceland = 99, India = 100, Indonesia = 101, Iran = 102, Iraq = 103, Ireland = 104, Israel = 105, Italy = 106, Jamaica = 107, Japan = 108, Jordan = 109, Kazakhstan = 110, Kenya = 111, Kiribati = 112, DemocraticRepublicOfKorea = 113, RepublicOfKorea = 114, Kuwait = 115, Kyrgyzstan = 116, Lao = 117, Latvia = 118, Lebanon = 119, Lesotho = 120, Liberia = 121, LibyanArabJamahiriya = 122, Liechtenstein = 123, Lithuania = 124, Luxembourg = 125, Macau = 126, Macedonia = 127, Madagascar = 128, Malawi = 129, Malaysia = 130, Maldives = 131, Mali = 132, Malta = 133, MarshallIslands = 134, Martinique = 135, Mauritania = 136, Mauritius = 137, Mayotte = 138, Mexico = 139, Micronesia = 140, Moldova = 141, Monaco = 142, Mongolia = 143, Montserrat = 144, Morocco = 145, Mozambique = 146, Myanmar = 147, Namibia = 148, NauruCountry = 149, Nepal = 150, Netherlands = 151, NetherlandsAntilles = 152, NewCaledonia = 153, NewZealand = 154, Nicaragua = 155, Niger = 156, Nigeria = 157, Niue = 158, NorfolkIsland = 159, NorthernMarianaIslands = 160, Norway = 161, Oman = 162, Pakistan = 163, Palau = 164, PalestinianTerritory = 165, Panama = 166, PapuaNewGuinea = 167, Paraguay = 168, Peru = 169, Philippines = 170, Pitcairn = 171, Poland = 172, Portugal = 173, PuertoRico = 174, Qatar = 175, Reunion = 176, Romania = 177, RussianFederation = 178, Rwanda = 179, SaintKittsAndNevis = 180, StLucia = 181, StVincentAndTheGrenadines = 182, Samoa = 183, SanMarino = 184, SaoTomeAndPrincipe = 185, SaudiArabia = 186, Senegal = 187, Seychelles = 188, SierraLeone = 189, Singapore = 190, Slovakia = 191, Slovenia = 192, SolomonIslands = 193, Somalia = 194, SouthAfrica = 195, SouthGeorgiaAndTheSouthSandwichIslands = 196, Spain = 197, SriLanka = 198, StHelena = 199, StPierreAndMiquelon = 200, Sudan = 201, Suriname = 202, SvalbardAndJanMayenIslands = 203, Swaziland = 204, Sweden = 205, Switzerland = 206, SyrianArabRepublic = 207, Taiwan = 208, Tajikistan = 209, Tanzania = 210, Thailand = 211, Togo = 212, Tokelau = 213, TongaCountry = 214, TrinidadAndTobago = 215, Tunisia = 216, Turkey = 217, Turkmenistan = 218, TurksAndCaicosIslands = 219, Tuvalu = 220, Uganda = 221, Ukraine = 222, UnitedArabEmirates = 223, UnitedKingdom = 224, UnitedStates = 225, UnitedStatesMinorOutlyingIslands = 226, Uruguay = 227, Uzbekistan = 228, Vanuatu = 229, VaticanCityState = 230, Venezuela = 231, VietNam = 232, BritishVirginIslands = 233, USVirginIslands = 234, WallisAndFutunaIslands = 235, WesternSahara = 236, Yemen = 237, Yugoslavia = 238, Zambia = 239, Zimbabwe = 240, LastCountry = Zimbabwe }</li>
+<li class=fn><a href="#QLocale"><b>QLocale</b></a> ()</li>
+<li class=fn><a href="#QLocale-2"><b>QLocale</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn><a href="#QLocale-3"><b>QLocale</b></a> ( Language&nbsp;language, Country&nbsp;country = AnyCountry )</li>
+<li class=fn><a href="#QLocale-4"><b>QLocale</b></a> ( const&nbsp;QLocale&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QLocale &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QLocale&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>Language <a href="#language"><b>language</b></a> () const</li>
+<li class=fn>Country <a href="#country"><b>country</b></a> () const</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>short <a href="#toShort"><b>toShort</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>ushort <a href="#toUShort"><b>toUShort</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>int <a href="#toInt"><b>toInt</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>uint <a href="#toUInt"><b>toUInt</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_LONG <a href="#toLong"><b>toLong</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_ULONG <a href="#toULong"><b>toULong</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_LLONG <a href="#toLongLong"><b>toLongLong</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_ULLONG <a href="#toULongLong"><b>toULongLong</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>float <a href="#toFloat"><b>toFloat</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>double <a href="#toDouble"><b>toDouble</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>QString <a href="#toString-2"><b>toString</b></a> ( short&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-3"><b>toString</b></a> ( ushort&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-4"><b>toString</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-5"><b>toString</b></a> ( uint&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-6"><b>toString</b></a> ( Q_LONG&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-7"><b>toString</b></a> ( Q_ULONG&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> ( Q_LLONG&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-8"><b>toString</b></a> ( Q_ULLONG&nbsp;i ) const</li>
+<li class=fn>QString <a href="#toString-9"><b>toString</b></a> ( float&nbsp;i, char&nbsp;f = 'g', int&nbsp;prec = 6 ) const</li>
+<li class=fn>QString <a href="#toString-a"><b>toString</b></a> ( double&nbsp;i, char&nbsp;f = 'g', int&nbsp;prec = 6 ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#languageToString"><b>languageToString</b></a> ( Language&nbsp;language )</li>
+<li class=fn>QString <a href="#countryToString"><b>countryToString</b></a> ( Country&nbsp;country )</li>
+<li class=fn>void <a href="#setDefault"><b>setDefault</b></a> ( const&nbsp;QLocale&nbsp;&amp;&nbsp;locale )</li>
+<li class=fn>QLocale <a href="#c"><b>c</b></a> ()</li>
+<li class=fn>QLocale <a href="#system"><b>system</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLocale class converts between numbers and their
+string representations in various languages.
+<p>
+
+<p> It is initialized with a country/language pair in its constructor
+and offers number-to-string and string-to-number conversion
+functions simmilar to those in <a href="qstring.html">QString</a>.
+<p> <pre>
+ QLocale egyptian(QLocale::<a href="#Language-enum">Arabic</a>, QLocale::<a href="#Country-enum">Egypt</a>);
+ <a href="qstring.html">QString</a> s1 = egyptian.<a href="#toString">toString</a>(1.571429E+07, 'e');
+ <a href="qstring.html">QString</a> s2 = egyptian.<a href="#toString">toString</a>(10);
+
+ double d = egyptian.<a href="#toDouble">toDouble</a>(s1);
+ int s2 = egyptian.<a href="#toInt">toInt</a>(s2);
+ </pre>
+
+<p> QLocale supports the concept of a default locale, which is
+determined from the system's locale settings at application
+startup. The default locale can be changed by calling the
+static member <a href="#setDefault">setDefault</a>(). The default locale has the
+following effects:
+<p> <ul>
+<li> If a QLocale object is constructed with the default constructor,
+it will use the default locale's settings.
+<li> <a href="qstring.html#toDouble">QString::toDouble</a>() interprets the string according to the default
+locale. If this fails, it falls back on the "C" locale.
+<li> <a href="qstring.html#arg">QString::arg</a>() uses the default locale to format a number when
+its position specifier in the format string contains an 'L',
+e.g. "%L1".
+</ul>
+<p> <pre>
+ QLocale::<a href="#setDefault">setDefault</a>(<a href="#QLocale">QLocale</a>(QLocale::<a href="#Language-enum">Hebrew</a>, QLocale::<a href="#Country-enum">Israel</a>));
+ QLocale hebrew; // Constructs a default QLocale
+ <a href="qstring.html">QString</a> s1 = hebrew.<a href="#toString">toString</a>(15714.3, 'e');
+
+ bool ok;
+ double d;
+
+ QLocale::<a href="#setDefault">setDefault</a>(QLocale::<a href="#Language-enum">C</a>);
+ d = QString( "1234,56" ).toDouble(&amp;ok); // ok == false
+ d = QString( "1234.56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+
+ QLocale::<a href="#setDefault">setDefault</a>(QLocale::<a href="#Language-enum">German</a>);
+ d = QString( "1234,56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+ d = QString( "1234.56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+
+ QLocale::<a href="#setDefault">setDefault</a>(<a href="#QLocale">QLocale</a>(QLocale::<a href="#Language-enum">English</a>, QLocale::<a href="#Country-enum">UnitedStates</a>));
+ str = QString( "%1 %L2 %L3" )
+ .arg( 12345 )
+ .arg( 12345 )
+ .arg( 12345, 0, 16 );
+ // str == "12345 12,345 3039"
+ </pre>
+
+<p> When a language/country pair is specified in the constructor, one
+of three things can happen:
+<p> <ul>
+<li> If the language/country pair is found in the database, it is used.
+<li> If the language is found but the country is not, or if the country
+is <a href="#Country-enum">AnyCountry</a>, the language is used with the most
+appropriate available country (for example, Germany for German),
+<li> If neither the language nor the country are found, QLocale
+defaults to the default locale (see <a href="#setDefault">setDefault</a>()).
+</ul>
+<p> The "C" locale is identical to English/UnitedStates.
+<p> Use <a href="#language">language</a>() and <a href="#country">country</a>() to determine the actual language and
+country values used.
+<p> An alternative method for constructing a QLocale object is by
+specifying the locale name.
+<p> <pre>
+ QLocale korean("ko");
+ QLocale swiss("de_CH");
+ </pre>
+
+<p> This constructor converts the locale name to a language/country
+pair; it does not use the system locale database.
+<p> All the methods in QLocale, with the exception of setDefault(),
+are reentrant.
+<p> <p>See also <a href="qstring.html#toDouble">QString::toDouble</a>(), <a href="qstring.html#arg">QString::arg</a>(), and <a href="text.html">Text Related Classes</a>.
+
+<p> The double-to-string and string-to-double conversion functions are
+covered by the following licenses:
+<p>
+<p> Copyright (c) 1991 by AT&T.
+<p> Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+<p> THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+<p> This product includes software developed by the University of
+California, Berkeley and its contributors.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Country-enum"></a>QLocale::Country</h3>
+
+<p> This enumerated type is used to specify a country.
+<ul>
+<li><tt>QLocale::AnyCountry</tt>
+<li><tt>QLocale::Afghanistan</tt>
+<li><tt>QLocale::Albania</tt>
+<li><tt>QLocale::Algeria</tt>
+<li><tt>QLocale::AmericanSamoa</tt>
+<li><tt>QLocale::Andorra</tt>
+<li><tt>QLocale::Angola</tt>
+<li><tt>QLocale::Anguilla</tt>
+<li><tt>QLocale::Antarctica</tt>
+<li><tt>QLocale::AntiguaAndBarbuda</tt>
+<li><tt>QLocale::Argentina</tt>
+<li><tt>QLocale::Armenia</tt>
+<li><tt>QLocale::Aruba</tt>
+<li><tt>QLocale::Australia</tt>
+<li><tt>QLocale::Austria</tt>
+<li><tt>QLocale::Azerbaijan</tt>
+<li><tt>QLocale::Bahamas</tt>
+<li><tt>QLocale::Bahrain</tt>
+<li><tt>QLocale::Bangladesh</tt>
+<li><tt>QLocale::Barbados</tt>
+<li><tt>QLocale::Belarus</tt>
+<li><tt>QLocale::Belgium</tt>
+<li><tt>QLocale::Belize</tt>
+<li><tt>QLocale::Benin</tt>
+<li><tt>QLocale::Bermuda</tt>
+<li><tt>QLocale::Bhutan</tt>
+<li><tt>QLocale::Bolivia</tt>
+<li><tt>QLocale::BosniaAndHerzegowina</tt>
+<li><tt>QLocale::Botswana</tt>
+<li><tt>QLocale::BouvetIsland</tt>
+<li><tt>QLocale::Brazil</tt>
+<li><tt>QLocale::BritishIndianOceanTerritory</tt>
+<li><tt>QLocale::BruneiDarussalam</tt>
+<li><tt>QLocale::Bulgaria</tt>
+<li><tt>QLocale::BurkinaFaso</tt>
+<li><tt>QLocale::Burundi</tt>
+<li><tt>QLocale::Cambodia</tt>
+<li><tt>QLocale::Cameroon</tt>
+<li><tt>QLocale::Canada</tt>
+<li><tt>QLocale::CapeVerde</tt>
+<li><tt>QLocale::CaymanIslands</tt>
+<li><tt>QLocale::CentralAfricanRepublic</tt>
+<li><tt>QLocale::Chad</tt>
+<li><tt>QLocale::Chile</tt>
+<li><tt>QLocale::China</tt>
+<li><tt>QLocale::ChristmasIsland</tt>
+<li><tt>QLocale::CocosIslands</tt>
+<li><tt>QLocale::Colombia</tt>
+<li><tt>QLocale::Comoros</tt>
+<li><tt>QLocale::DemocraticRepublicOfCongo</tt>
+<li><tt>QLocale::PeoplesRepublicOfCongo</tt>
+<li><tt>QLocale::CookIslands</tt>
+<li><tt>QLocale::CostaRica</tt>
+<li><tt>QLocale::IvoryCoast</tt>
+<li><tt>QLocale::Croatia</tt>
+<li><tt>QLocale::Cuba</tt>
+<li><tt>QLocale::Cyprus</tt>
+<li><tt>QLocale::CzechRepublic</tt>
+<li><tt>QLocale::Denmark</tt>
+<li><tt>QLocale::Djibouti</tt>
+<li><tt>QLocale::Dominica</tt>
+<li><tt>QLocale::DominicanRepublic</tt>
+<li><tt>QLocale::EastTimor</tt>
+<li><tt>QLocale::Ecuador</tt>
+<li><tt>QLocale::Egypt</tt>
+<li><tt>QLocale::ElSalvador</tt>
+<li><tt>QLocale::EquatorialGuinea</tt>
+<li><tt>QLocale::Eritrea</tt>
+<li><tt>QLocale::Estonia</tt>
+<li><tt>QLocale::Ethiopia</tt>
+<li><tt>QLocale::FalklandIslands</tt>
+<li><tt>QLocale::FaroeIslands</tt>
+<li><tt>QLocale::FijiCountry</tt>
+<li><tt>QLocale::Finland</tt>
+<li><tt>QLocale::France</tt>
+<li><tt>QLocale::MetropolitanFrance</tt>
+<li><tt>QLocale::FrenchGuiana</tt>
+<li><tt>QLocale::FrenchPolynesia</tt>
+<li><tt>QLocale::FrenchSouthernTerritories</tt>
+<li><tt>QLocale::Gabon</tt>
+<li><tt>QLocale::Gambia</tt>
+<li><tt>QLocale::Georgia</tt>
+<li><tt>QLocale::Germany</tt>
+<li><tt>QLocale::Ghana</tt>
+<li><tt>QLocale::Gibraltar</tt>
+<li><tt>QLocale::Greece</tt>
+<li><tt>QLocale::Greenland</tt>
+<li><tt>QLocale::Grenada</tt>
+<li><tt>QLocale::Guadeloupe</tt>
+<li><tt>QLocale::Guam</tt>
+<li><tt>QLocale::Guatemala</tt>
+<li><tt>QLocale::Guinea</tt>
+<li><tt>QLocale::GuineaBissau</tt>
+<li><tt>QLocale::Guyana</tt>
+<li><tt>QLocale::Haiti</tt>
+<li><tt>QLocale::HeardAndMcDonaldIslands</tt>
+<li><tt>QLocale::Honduras</tt>
+<li><tt>QLocale::HongKong</tt>
+<li><tt>QLocale::Hungary</tt>
+<li><tt>QLocale::Iceland</tt>
+<li><tt>QLocale::India</tt>
+<li><tt>QLocale::Indonesia</tt>
+<li><tt>QLocale::Iran</tt>
+<li><tt>QLocale::Iraq</tt>
+<li><tt>QLocale::Ireland</tt>
+<li><tt>QLocale::Israel</tt>
+<li><tt>QLocale::Italy</tt>
+<li><tt>QLocale::Jamaica</tt>
+<li><tt>QLocale::Japan</tt>
+<li><tt>QLocale::Jordan</tt>
+<li><tt>QLocale::Kazakhstan</tt>
+<li><tt>QLocale::Kenya</tt>
+<li><tt>QLocale::Kiribati</tt>
+<li><tt>QLocale::DemocraticRepublicOfKorea</tt>
+<li><tt>QLocale::RepublicOfKorea</tt>
+<li><tt>QLocale::Kuwait</tt>
+<li><tt>QLocale::Kyrgyzstan</tt>
+<li><tt>QLocale::Lao</tt>
+<li><tt>QLocale::Latvia</tt>
+<li><tt>QLocale::Lebanon</tt>
+<li><tt>QLocale::Lesotho</tt>
+<li><tt>QLocale::Liberia</tt>
+<li><tt>QLocale::LibyanArabJamahiriya</tt>
+<li><tt>QLocale::Liechtenstein</tt>
+<li><tt>QLocale::Lithuania</tt>
+<li><tt>QLocale::Luxembourg</tt>
+<li><tt>QLocale::Macau</tt>
+<li><tt>QLocale::Macedonia</tt>
+<li><tt>QLocale::Madagascar</tt>
+<li><tt>QLocale::Malawi</tt>
+<li><tt>QLocale::Malaysia</tt>
+<li><tt>QLocale::Maldives</tt>
+<li><tt>QLocale::Mali</tt>
+<li><tt>QLocale::Malta</tt>
+<li><tt>QLocale::MarshallIslands</tt>
+<li><tt>QLocale::Martinique</tt>
+<li><tt>QLocale::Mauritania</tt>
+<li><tt>QLocale::Mauritius</tt>
+<li><tt>QLocale::Mayotte</tt>
+<li><tt>QLocale::Mexico</tt>
+<li><tt>QLocale::Micronesia</tt>
+<li><tt>QLocale::Moldova</tt>
+<li><tt>QLocale::Monaco</tt>
+<li><tt>QLocale::Mongolia</tt>
+<li><tt>QLocale::Montserrat</tt>
+<li><tt>QLocale::Morocco</tt>
+<li><tt>QLocale::Mozambique</tt>
+<li><tt>QLocale::Myanmar</tt>
+<li><tt>QLocale::Namibia</tt>
+<li><tt>QLocale::NauruCountry</tt>
+<li><tt>QLocale::Nepal</tt>
+<li><tt>QLocale::Netherlands</tt>
+<li><tt>QLocale::NetherlandsAntilles</tt>
+<li><tt>QLocale::NewCaledonia</tt>
+<li><tt>QLocale::NewZealand</tt>
+<li><tt>QLocale::Nicaragua</tt>
+<li><tt>QLocale::Niger</tt>
+<li><tt>QLocale::Nigeria</tt>
+<li><tt>QLocale::Niue</tt>
+<li><tt>QLocale::NorfolkIsland</tt>
+<li><tt>QLocale::NorthernMarianaIslands</tt>
+<li><tt>QLocale::Norway</tt>
+<li><tt>QLocale::Oman</tt>
+<li><tt>QLocale::Pakistan</tt>
+<li><tt>QLocale::Palau</tt>
+<li><tt>QLocale::PalestinianTerritory</tt>
+<li><tt>QLocale::Panama</tt>
+<li><tt>QLocale::PapuaNewGuinea</tt>
+<li><tt>QLocale::Paraguay</tt>
+<li><tt>QLocale::Peru</tt>
+<li><tt>QLocale::Philippines</tt>
+<li><tt>QLocale::Pitcairn</tt>
+<li><tt>QLocale::Poland</tt>
+<li><tt>QLocale::Portugal</tt>
+<li><tt>QLocale::PuertoRico</tt>
+<li><tt>QLocale::Qatar</tt>
+<li><tt>QLocale::Reunion</tt>
+<li><tt>QLocale::Romania</tt>
+<li><tt>QLocale::RussianFederation</tt>
+<li><tt>QLocale::Rwanda</tt>
+<li><tt>QLocale::SaintKittsAndNevis</tt>
+<li><tt>QLocale::StLucia</tt>
+<li><tt>QLocale::StVincentAndTheGrenadines</tt>
+<li><tt>QLocale::Samoa</tt>
+<li><tt>QLocale::SanMarino</tt>
+<li><tt>QLocale::SaoTomeAndPrincipe</tt>
+<li><tt>QLocale::SaudiArabia</tt>
+<li><tt>QLocale::Senegal</tt>
+<li><tt>QLocale::Seychelles</tt>
+<li><tt>QLocale::SierraLeone</tt>
+<li><tt>QLocale::Singapore</tt>
+<li><tt>QLocale::Slovakia</tt>
+<li><tt>QLocale::Slovenia</tt>
+<li><tt>QLocale::SolomonIslands</tt>
+<li><tt>QLocale::Somalia</tt>
+<li><tt>QLocale::SouthAfrica</tt>
+<li><tt>QLocale::SouthGeorgiaAndTheSouthSandwichIslands</tt>
+<li><tt>QLocale::Spain</tt>
+<li><tt>QLocale::SriLanka</tt>
+<li><tt>QLocale::StHelena</tt>
+<li><tt>QLocale::StPierreAndMiquelon</tt>
+<li><tt>QLocale::Sudan</tt>
+<li><tt>QLocale::Suriname</tt>
+<li><tt>QLocale::SvalbardAndJanMayenIslands</tt>
+<li><tt>QLocale::Swaziland</tt>
+<li><tt>QLocale::Sweden</tt>
+<li><tt>QLocale::Switzerland</tt>
+<li><tt>QLocale::SyrianArabRepublic</tt>
+<li><tt>QLocale::Taiwan</tt>
+<li><tt>QLocale::Tajikistan</tt>
+<li><tt>QLocale::Tanzania</tt>
+<li><tt>QLocale::Thailand</tt>
+<li><tt>QLocale::Togo</tt>
+<li><tt>QLocale::Tokelau</tt>
+<li><tt>QLocale::TongaCountry</tt>
+<li><tt>QLocale::TrinidadAndTobago</tt>
+<li><tt>QLocale::Tunisia</tt>
+<li><tt>QLocale::Turkey</tt>
+<li><tt>QLocale::Turkmenistan</tt>
+<li><tt>QLocale::TurksAndCaicosIslands</tt>
+<li><tt>QLocale::Tuvalu</tt>
+<li><tt>QLocale::Uganda</tt>
+<li><tt>QLocale::Ukraine</tt>
+<li><tt>QLocale::UnitedArabEmirates</tt>
+<li><tt>QLocale::UnitedKingdom</tt>
+<li><tt>QLocale::UnitedStates</tt>
+<li><tt>QLocale::UnitedStatesMinorOutlyingIslands</tt>
+<li><tt>QLocale::Uruguay</tt>
+<li><tt>QLocale::Uzbekistan</tt>
+<li><tt>QLocale::Vanuatu</tt>
+<li><tt>QLocale::VaticanCityState</tt>
+<li><tt>QLocale::Venezuela</tt>
+<li><tt>QLocale::VietNam</tt>
+<li><tt>QLocale::BritishVirginIslands</tt>
+<li><tt>QLocale::USVirginIslands</tt>
+<li><tt>QLocale::WallisAndFutunaIslands</tt>
+<li><tt>QLocale::WesternSahara</tt>
+<li><tt>QLocale::Yemen</tt>
+<li><tt>QLocale::Yugoslavia</tt>
+<li><tt>QLocale::Zambia</tt>
+<li><tt>QLocale::Zimbabwe</tt>
+</ul>
+<h3 class=fn><a name="Language-enum"></a>QLocale::Language</h3>
+
+<p> This enumerated type is used to specify a language.
+<ul>
+<li><tt>QLocale::C</tt> - Identical to English/UnitedStates
+<li><tt>QLocale::Abkhazian</tt>
+<li><tt>QLocale::Afan</tt>
+<li><tt>QLocale::Afar</tt>
+<li><tt>QLocale::Afrikaans</tt>
+<li><tt>QLocale::Albanian</tt>
+<li><tt>QLocale::Amharic</tt>
+<li><tt>QLocale::Arabic</tt>
+<li><tt>QLocale::Armenian</tt>
+<li><tt>QLocale::Assamese</tt>
+<li><tt>QLocale::Aymara</tt>
+<li><tt>QLocale::Azerbaijani</tt>
+<li><tt>QLocale::Bashkir</tt>
+<li><tt>QLocale::Basque</tt>
+<li><tt>QLocale::Bengali</tt>
+<li><tt>QLocale::Bhutani</tt>
+<li><tt>QLocale::Bihari</tt>
+<li><tt>QLocale::Bislama</tt>
+<li><tt>QLocale::Breton</tt>
+<li><tt>QLocale::Bulgarian</tt>
+<li><tt>QLocale::Burmese</tt>
+<li><tt>QLocale::Byelorussian</tt>
+<li><tt>QLocale::Cambodian</tt>
+<li><tt>QLocale::Catalan</tt>
+<li><tt>QLocale::Chinese</tt>
+<li><tt>QLocale::Corsican</tt>
+<li><tt>QLocale::Croatian</tt>
+<li><tt>QLocale::Czech</tt>
+<li><tt>QLocale::Danish</tt>
+<li><tt>QLocale::Dutch</tt>
+<li><tt>QLocale::English</tt>
+<li><tt>QLocale::Esperanto</tt>
+<li><tt>QLocale::Estonian</tt>
+<li><tt>QLocale::Faroese</tt>
+<li><tt>QLocale::FijiLanguage</tt>
+<li><tt>QLocale::Finnish</tt>
+<li><tt>QLocale::French</tt>
+<li><tt>QLocale::Frisian</tt>
+<li><tt>QLocale::Gaelic</tt>
+<li><tt>QLocale::Galician</tt>
+<li><tt>QLocale::Georgian</tt>
+<li><tt>QLocale::German</tt>
+<li><tt>QLocale::Greek</tt>
+<li><tt>QLocale::Greenlandic</tt>
+<li><tt>QLocale::Guarani</tt>
+<li><tt>QLocale::Gujarati</tt>
+<li><tt>QLocale::Hausa</tt>
+<li><tt>QLocale::Hebrew</tt>
+<li><tt>QLocale::Hindi</tt>
+<li><tt>QLocale::Hungarian</tt>
+<li><tt>QLocale::Icelandic</tt>
+<li><tt>QLocale::Indonesian</tt>
+<li><tt>QLocale::Interlingua</tt>
+<li><tt>QLocale::Interlingue</tt>
+<li><tt>QLocale::Inuktitut</tt>
+<li><tt>QLocale::Inupiak</tt>
+<li><tt>QLocale::Irish</tt>
+<li><tt>QLocale::Italian</tt>
+<li><tt>QLocale::Japanese</tt>
+<li><tt>QLocale::Javanese</tt>
+<li><tt>QLocale::Kannada</tt>
+<li><tt>QLocale::Kashmiri</tt>
+<li><tt>QLocale::Kazakh</tt>
+<li><tt>QLocale::Kinyarwanda</tt>
+<li><tt>QLocale::Kirghiz</tt>
+<li><tt>QLocale::Korean</tt>
+<li><tt>QLocale::Kurdish</tt>
+<li><tt>QLocale::Kurundi</tt>
+<li><tt>QLocale::Laothian</tt>
+<li><tt>QLocale::Latin</tt>
+<li><tt>QLocale::Latvian</tt>
+<li><tt>QLocale::Lingala</tt>
+<li><tt>QLocale::Lithuanian</tt>
+<li><tt>QLocale::Macedonian</tt>
+<li><tt>QLocale::Malagasy</tt>
+<li><tt>QLocale::Malay</tt>
+<li><tt>QLocale::Malayalam</tt>
+<li><tt>QLocale::Maltese</tt>
+<li><tt>QLocale::Maori</tt>
+<li><tt>QLocale::Marathi</tt>
+<li><tt>QLocale::Moldavian</tt>
+<li><tt>QLocale::Mongolian</tt>
+<li><tt>QLocale::NauruLanguage</tt>
+<li><tt>QLocale::Nepali</tt>
+<li><tt>QLocale::Norwegian</tt>
+<li><tt>QLocale::Occitan</tt>
+<li><tt>QLocale::Oriya</tt>
+<li><tt>QLocale::Pashto</tt>
+<li><tt>QLocale::Persian</tt>
+<li><tt>QLocale::Polish</tt>
+<li><tt>QLocale::Portuguese</tt>
+<li><tt>QLocale::Punjabi</tt>
+<li><tt>QLocale::Quechua</tt>
+<li><tt>QLocale::RhaetoRomance</tt>
+<li><tt>QLocale::Romanian</tt>
+<li><tt>QLocale::Russian</tt>
+<li><tt>QLocale::Samoan</tt>
+<li><tt>QLocale::Sangho</tt>
+<li><tt>QLocale::Sanskrit</tt>
+<li><tt>QLocale::Serbian</tt>
+<li><tt>QLocale::SerboCroatian</tt>
+<li><tt>QLocale::Sesotho</tt>
+<li><tt>QLocale::Setswana</tt>
+<li><tt>QLocale::Shona</tt>
+<li><tt>QLocale::Sindhi</tt>
+<li><tt>QLocale::Singhalese</tt>
+<li><tt>QLocale::Siswati</tt>
+<li><tt>QLocale::Slovak</tt>
+<li><tt>QLocale::Slovenian</tt>
+<li><tt>QLocale::Somali</tt>
+<li><tt>QLocale::Spanish</tt>
+<li><tt>QLocale::Sundanese</tt>
+<li><tt>QLocale::Swahili</tt>
+<li><tt>QLocale::Swedish</tt>
+<li><tt>QLocale::Tagalog</tt>
+<li><tt>QLocale::Tajik</tt>
+<li><tt>QLocale::Tamil</tt>
+<li><tt>QLocale::Tatar</tt>
+<li><tt>QLocale::Telugu</tt>
+<li><tt>QLocale::Thai</tt>
+<li><tt>QLocale::Tibetan</tt>
+<li><tt>QLocale::Tigrinya</tt>
+<li><tt>QLocale::TongaLanguage</tt>
+<li><tt>QLocale::Tsonga</tt>
+<li><tt>QLocale::Turkish</tt>
+<li><tt>QLocale::Turkmen</tt>
+<li><tt>QLocale::Twi</tt>
+<li><tt>QLocale::Uigur</tt>
+<li><tt>QLocale::Ukrainian</tt>
+<li><tt>QLocale::Urdu</tt>
+<li><tt>QLocale::Uzbek</tt>
+<li><tt>QLocale::Vietnamese</tt>
+<li><tt>QLocale::Volapuk</tt>
+<li><tt>QLocale::Welsh</tt>
+<li><tt>QLocale::Wolof</tt>
+<li><tt>QLocale::Xhosa</tt>
+<li><tt>QLocale::Yiddish</tt>
+<li><tt>QLocale::Yoruba</tt>
+<li><tt>QLocale::Zhuang</tt>
+<li><tt>QLocale::Zulu</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLocale"></a>QLocale::QLocale ()
+</h3>
+Constructs a QLocale object initialized with the default locale.
+<p> <p>See also <a href="#setDefault">setDefault</a>().
+
+<h3 class=fn><a name="QLocale-2"></a>QLocale::QLocale ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Constructs a QLocale object with the specified <em>name</em>,
+which has the format
+"language[_country][.codeset][@modifier]" or "C", where:
+<p> <ul>
+<li> language is a lowercase, two-letter, ISO 639 language code,
+<li> territory is an uppercase, two-letter, ISO 3166 country code,
+<li> and codeset and modifier are ignored.
+</ul>
+<p> If the string violates the locale format, or language is not
+a valid ISO 369 code, the "C" locale is used instead. If country
+is not present, or is not a valid ISO 3166 code, the most
+appropriate country is chosen for the specified language.
+<p> The language and country codes are converted to their respective
+<a href="#Language-enum">Language</a> and <a href="#Country-enum">Country</a> enums. After this conversion is
+performed the constructor behaves exactly like QLocale(Country,
+Language).
+<p> This constructor is much slower than QLocale(Country, Language).
+<p> <p>See also <a href="#name">name</a>().
+
+<h3 class=fn><a name="QLocale-3"></a>QLocale::QLocale ( <a href="qlocale.html#Language-enum">Language</a>&nbsp;language, <a href="qlocale.html#Country-enum">Country</a>&nbsp;country = AnyCountry )
+</h3>
+Constructs a QLocale object with the specified <em>language</em> and <em>country</em>.
+<p> <ul>
+<li> If the language/country pair is found in the database, it is used.
+<li> If the language is found but the country is not, or if the country
+is <a href="#Country-enum">AnyCountry</a>, the language is used with the most
+appropriate available country (for example, Germany for German),
+<li> If neither the language nor the country are found, QLocale
+defaults to the default locale (see <a href="#setDefault">setDefault</a>()).
+</ul>
+<p> The language and country that are actually used can be queried
+using <a href="#language">language</a>() and <a href="#country">country</a>().
+<p> <p>See also <a href="#setDefault">setDefault</a>(), <a href="#language">language</a>(), and <a href="#country">country</a>().
+
+<h3 class=fn><a name="QLocale-4"></a>QLocale::QLocale ( const&nbsp;<a href="qlocale.html">QLocale</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a QLocale object as a copy of <em>other</em>.
+
+<h3 class=fn><a href="qlocale.html">QLocale</a> <a name="c"></a>QLocale::c ()<tt> [static]</tt>
+</h3>
+
+<p> Returns a QLocale object initialized to the "C" locale.
+<p> <p>See also <a href="#system">system</a>().
+
+<h3 class=fn><a href="qlocale.html#Country-enum">Country</a> <a name="country"></a>QLocale::country () const
+</h3>
+Returns the country of this locale.
+<p> <p>See also <a href="#QLocale">QLocale</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="countryToString"></a>QLocale::countryToString ( <a href="qlocale.html#Country-enum">Country</a>&nbsp;country )<tt> [static]</tt>
+</h3>
+Returns a <a href="qstring.html">QString</a> containing the name of <em>country</em>.
+
+<h3 class=fn><a href="qlocale.html#Language-enum">Language</a> <a name="language"></a>QLocale::language () const
+</h3>
+Returns the language of this locale.
+<p> <p>See also <a href="#QLocale">QLocale</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="languageToString"></a>QLocale::languageToString ( <a href="qlocale.html#Language-enum">Language</a>&nbsp;language )<tt> [static]</tt>
+</h3>
+Returns a <a href="qstring.html">QString</a> containing the name of <em>language</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QLocale::name () const
+</h3>
+Returns the language and country of this locale as a
+string of the form "language_country", where
+language is a lowercase, two-letter ISO 639 language code,
+and country is an uppercase, two-letter ISO 3166 country code.
+<p> <p>See also <a href="#QLocale">QLocale</a>().
+
+<h3 class=fn><a href="qlocale.html">QLocale</a>&nbsp;&amp; <a name="operator-eq"></a>QLocale::operator= ( const&nbsp;<a href="qlocale.html">QLocale</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Assigns <em>other</em> to this QLocale object and returns a reference
+to this QLocale object.
+
+<h3 class=fn>void <a name="setDefault"></a>QLocale::setDefault ( const&nbsp;<a href="qlocale.html">QLocale</a>&nbsp;&amp;&nbsp;locale )<tt> [static]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Sets the global default locale to <em>locale</em>. These
+values are used when a QLocale object is constructed with
+no arguments. If this function is not called, the system's
+locale is used.
+<p> <b>Warning:</b> In a multithreaded application, the default locale
+should be set at application startup, before any non-GUI threads
+are created.
+<p> <p>See also <a href="#system">system</a>() and <a href="#c">c</a>().
+
+<h3 class=fn><a href="qlocale.html">QLocale</a> <a name="system"></a>QLocale::system ()<tt> [static]</tt>
+</h3>
+Returns a QLocale object initialized to the system locale.
+
+<h3 class=fn>double <a name="toDouble"></a>QLocale::toDouble ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the double represented by the localized string <em>s</em>, or
+0.0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> Unlike <a href="qstring.html#toDouble">QString::toDouble</a>(), this function does not fall back to
+the "C" locale if the string cannot be interpreted in this
+locale.
+<p> <pre>
+ bool ok;
+ double d;
+
+ QLocale c(QLocale::<a href="#Language-enum">C</a>);
+ d = c.<a href="#toDouble">toDouble</a>( "1234.56", &amp;ok ); // ok == true, d == 1234.56
+ d = c.<a href="#toDouble">toDouble</a>( "1,234.56", &amp;ok ); // ok == true, d == 1234.56
+ d = c.<a href="#toDouble">toDouble</a>( "1234,56", &amp;ok ); // ok == false
+
+ QLocale german(QLocale::<a href="#Language-enum">German</a>);
+ d = german.<a href="#toDouble">toDouble</a>( "1234,56", &amp;ok ); // ok == true, d == 1234.56
+ d = german.<a href="#toDouble">toDouble</a>( "1.234,56", &amp;ok ); // ok == true, d == 1234.56
+ d = german.<a href="#toDouble">toDouble</a>( "1234.56", &amp;ok ); // ok == false
+
+ d = german.<a href="#toDouble">toDouble</a>( "1.234", &amp;ok ); // ok == true, d == 1234.0
+ </pre>
+
+<p> Notice that the last conversion returns 1234.0, because '.' is the
+thousands group separator in the German locale.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>() and <a href="qstring.html#toDouble">QString::toDouble</a>().
+
+<h3 class=fn>float <a name="toFloat"></a>QLocale::toFloat ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the float represented by the localized string <em>s</em>, or 0.0
+if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>int <a name="toInt"></a>QLocale::toInt ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the int represented by the localized string <em>s</em>, or 0 if
+the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting *ok to false and
+success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>Q_LONG <a name="toLong"></a>QLocale::toLong ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the long int represented by the localized string <em>s</em>, or
+0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>Q_LLONG <a name="toLongLong"></a>QLocale::toLongLong ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the long long int represented by the localized string <em>s</em>, or 0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>short <a name="toShort"></a>QLocale::toShort ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the short int represented by the localized string <em>s</em>, or
+0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QLocale::toString ( Q_LLONG&nbsp;i ) const
+</h3>
+Returns a localized string representation of <em>i</em>.
+<p> <p>See also <a href="#toLongLong">toLongLong</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-2"></a>QLocale::toString ( short&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toShort">toShort</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-3"></a>QLocale::toString ( ushort&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toUShort">toUShort</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-4"></a>QLocale::toString ( int&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toInt">toInt</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-5"></a>QLocale::toString ( uint&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toUInt">toUInt</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-6"></a>QLocale::toString ( Q_LONG&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toLong">toLong</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-7"></a>QLocale::toString ( Q_ULONG&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toULong">toULong</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-8"></a>QLocale::toString ( Q_ULLONG&nbsp;i ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#toULongLong">toULongLong</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-9"></a>QLocale::toString ( float&nbsp;i, char&nbsp;f = 'g', int&nbsp;prec = 6 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>f</em> and <em>prec</em> have the same meaning as in <a href="qstring.html#number">QString::number</a>(double, char, int).
+<p> <p>See also <a href="#toDouble">toDouble</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-a"></a>QLocale::toString ( double&nbsp;i, char&nbsp;f = 'g', int&nbsp;prec = 6 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>f</em> and <em>prec</em> have the same meaning as in <a href="qstring.html#number">QString::number</a>(double, char, int).
+<p> <p>See also <a href="#toDouble">toDouble</a>().
+
+<h3 class=fn>uint <a name="toUInt"></a>QLocale::toUInt ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the unsigned int represented by the localized string <em>s</em>,
+or 0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>Q_ULONG <a name="toULong"></a>QLocale::toULong ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the unsigned long int represented by the localized string
+<em>s</em>, or 0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>Q_ULLONG <a name="toULongLong"></a>QLocale::toULongLong ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the unsigned long long int represented by the localized
+string <em>s</em>, or 0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>ushort <a name="toUShort"></a>QLocale::toUShort ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the unsigned short int represented by the localized string
+<em>s</em>, or 0 if the conversion failed.
+<p> If <em>ok</em> is not 0, reports failure by setting
+*ok to false and success by setting *ok to true.
+<p> This function ignores leading and trailing whitespace.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlocalfs-h.html b/doc/html/qlocalfs-h.html
new file mode 100644
index 0000000..da219d1
--- /dev/null
+++ b/doc/html/qlocalfs-h.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlocalfs.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qlocalfs.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qlocalfs.h</h1>
+
+<p>This is the verbatim text of the qlocalfs.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qlocalfs.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QLocalFs class
+**
+** Created : 950429
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLOCALFS_H
+#define QLOCALFS_H
+
+#ifndef QT_H
+#include "qnetworkprotocol.h"
+#include "qdir.h"
+#endif // QT_H
+
+#ifndef QT_NO_NETWORKPROTOCOL
+
+class Q_EXPORT QLocalFs : public QNetworkProtocol
+{
+ Q_OBJECT
+
+public:
+ QLocalFs();
+ virtual int supportedOperations() const;
+
+protected:
+ virtual void operationListChildren( QNetworkOperation *op );
+ virtual void operationMkDir( QNetworkOperation *op );
+ virtual void operationRemove( QNetworkOperation *op );
+ virtual void operationRename( QNetworkOperation *op );
+ virtual void operationGet( QNetworkOperation *op );
+ virtual void operationPut( QNetworkOperation *op );
+
+private:
+ int calcBlockSize( int totalSize ) const;
+ QDir dir;
+
+};
+
+#endif // QT_NO_NETWORKPROTOCOL
+
+#endif // QLOCALFS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlocalfs-members.html b/doc/html/qlocalfs-members.html
new file mode 100644
index 0000000..a3238ef
--- /dev/null
+++ b/doc/html/qlocalfs-members.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlocalfs.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLocalFs Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QLocalFs</h1>
+
+<p>This is the complete list of member functions for
+<a href="qlocalfs.html">QLocalFs</a>, including inherited members.
+
+<ul>
+<li><a href="qlocalfs.html#QLocalFs">QLocalFs</a>()
+<li><a href="qnetworkprotocol.html#addOperation">addOperation</a>()
+<li><a href="qnetworkprotocol.html#autoDelete">autoDelete</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qnetworkprotocol.html#checkConnection">checkConnection</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qnetworkprotocol.html#connectionStateChanged">connectionStateChanged</a>()
+<li><a href="qnetworkprotocol.html#createdDirectory">createdDirectory</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qnetworkprotocol.html#data">data</a>()
+<li><a href="qnetworkprotocol.html#dataTransferProgress">dataTransferProgress</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnetworkprotocol.html#finished">finished</a>()
+<li><a href="qnetworkprotocol.html#getNetworkProtocol">getNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#hasOnlyLocalFileSystem">hasOnlyLocalFileSystem</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qnetworkprotocol.html#itemChanged">itemChanged</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qnetworkprotocol.html#newChild">newChild</a>()
+<li><a href="qnetworkprotocol.html#newChildren">newChildren</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qnetworkprotocol.html#operationGet">operationGet</a>()
+<li><a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()
+<li><a href="qnetworkprotocol.html#operationListChildren">operationListChildren</a>()
+<li><a href="qnetworkprotocol.html#operationMkDir">operationMkDir</a>()
+<li><a href="qnetworkprotocol.html#operationPut">operationPut</a>()
+<li><a href="qnetworkprotocol.html#operationRemove">operationRemove</a>()
+<li><a href="qnetworkprotocol.html#operationRename">operationRename</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qnetworkprotocol.html#removed">removed</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qnetworkprotocol.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qnetworkprotocol.html#setUrl">setUrl</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qnetworkprotocol.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qnetworkprotocol.html#stop">stop</a>()
+<li><a href="qnetworkprotocol.html#supportedOperations">supportedOperations</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qnetworkprotocol.html#url">url</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qlocalfs.html b/doc/html/qlocalfs.html
new file mode 100644
index 0000000..7521992
--- /dev/null
+++ b/doc/html/qlocalfs.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qlocalfs.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QLocalFs Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QLocalFs Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QLocalFs class is an implementation of a
+QNetworkProtocol that works on the local file system.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlocalfs-h.html">qlocalfs.h</a>&gt;</tt>
+<p>Inherits <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+<p><a href="qlocalfs-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QLocalFs"><b>QLocalFs</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QLocalFs class is an implementation of a
+<a href="qnetworkprotocol.html">QNetworkProtocol</a> that works on the local file system.
+
+<p>
+<p>
+<p> This class is derived from QNetworkProtocol. QLocalFs is not
+normally used directly, but rather through a <a href="qurloperator.html">QUrlOperator</a>, for
+example:
+<pre>
+ <a href="qurloperator.html">QUrlOperator</a> op( "file:///tmp" );
+ op.<a href="qurloperator.html#listChildren">listChildren</a>(); // Asks the server to provide a directory listing
+ </pre>
+
+<p> This code will only work if the QLocalFs class is registered; to
+register the class, you must call <a href="qurloperator.html#qInitNetworkProtocols">qInitNetworkProtocols</a>() before
+using a QUrlOperator with QLocalFs.
+<p> If you really need to use QLocalFs directly, don't forget
+to set its QUrlOperator with <a href="qnetworkprotocol.html#setUrl">setUrl</a>().
+<p> <p>See also <a href="network.html">Qt Network Documentation</a>, <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qurloperator.html">QUrlOperator</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QLocalFs"></a>QLocalFs::QLocalFs ()
+</h3>
+Constructor.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmacmime-members.html b/doc/html/qmacmime-members.html
new file mode 100644
index 0000000..64a983f
--- /dev/null
+++ b/doc/html/qmacmime-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmime.h:170 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMacMime Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMacMime</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmacmime.html">QMacMime</a>, including inherited members.
+
+<ul>
+<li><a href="qmacmime.html#QMacMime">QMacMime</a>()
+<li><a href="qmacmime.html#~QMacMime">~QMacMime</a>()
+<li><a href="qmacmime.html#all">all</a>()
+<li><a href="qmacmime.html#canConvert">canConvert</a>()
+<li><a href="qmacmime.html#convertFromMime">convertFromMime</a>()
+<li><a href="qmacmime.html#convertToMime">convertToMime</a>()
+<li><a href="qmacmime.html#convertor">convertor</a>()
+<li><a href="qmacmime.html#convertorName">convertorName</a>()
+<li><a href="qmacmime.html#countFlavors">countFlavors</a>()
+<li><a href="qmacmime.html#flavor">flavor</a>()
+<li><a href="qmacmime.html#flavorFor">flavorFor</a>()
+<li><a href="qmacmime.html#flavorToMime">flavorToMime</a>()
+<li><a href="qmacmime.html#mimeFor">mimeFor</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmacmime.html b/doc/html/qmacmime.html
new file mode 100644
index 0000000..3bb42ca
--- /dev/null
+++ b/doc/html/qmacmime.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmime_mac.cpp:64 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMacMime Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMacMime Class Reference</h1>
+
+<p>The QMacMime class maps open-standard MIME to Mac flavors.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;</tt>
+<p><a href="qmacmime-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMacMime"><b>QMacMime</b></a> ( char&nbsp;t )</li>
+<li class=fn>virtual <a href="#~QMacMime"><b>~QMacMime</b></a> ()</li>
+<li class=fn>virtual const char * <a href="#convertorName"><b>convertorName</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#countFlavors"><b>countFlavors</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#flavor"><b>flavor</b></a> ( int&nbsp;index ) = 0</li>
+<li class=fn>virtual bool <a href="#canConvert"><b>canConvert</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav ) = 0</li>
+<li class=fn>virtual const char * <a href="#mimeFor"><b>mimeFor</b></a> ( int&nbsp;flav ) = 0</li>
+<li class=fn>virtual int <a href="#flavorFor"><b>flavorFor</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime ) = 0</li>
+<li class=fn>virtual QByteArray <a href="#convertToMime"><b>convertToMime</b></a> ( QValueList&lt;QByteArray&gt;&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav ) = 0</li>
+<li class=fn>virtual QValueList&lt;QByteArray&gt; <a href="#convertFromMime"><b>convertFromMime</b></a> ( QByteArray&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav ) = 0</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QPtrList&lt;QMacMime&gt; <a href="#all"><b>all</b></a> ( QMacMimeType&nbsp;t )</li>
+<li class=fn>QMacMime * <a href="#convertor"><b>convertor</b></a> ( QMacMimeType&nbsp;t, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav )</li>
+<li class=fn>const char * <a href="#flavorToMime"><b>flavorToMime</b></a> ( QMacMimeType&nbsp;t, int&nbsp;flav )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMacMime class maps open-standard MIME to Mac flavors.
+
+
+
+<p> Qt's drag-and-drop and clipboard facilities use the MIME standard.
+On X11, this maps trivially to the Xdnd protocol, but on Mac
+although some applications use MIME types to describe clipboard
+formats, others use arbitrary non-standardized naming conventions,
+or unnamed built-in Mac formats.
+<p> By instantiating subclasses of QMacMime that provide conversions
+between Mac flavors and MIME formats, you can convert proprietary
+clipboard formats to MIME formats.
+<p> Qt has predefined support for the following Mac flavors:
+<ul>
+<li> kScrapFlavorTypeUnicode - converted to "text/plain;charset=ISO-10646-UCS-2"
+and supported by <a href="qtextdrag.html">QTextDrag</a>.
+<li> kScrapFlavorTypeText - converted to "text/plain;charset=system" or "text/plain"
+and supported by QTextDrag.
+<li> kScrapFlavorTypePicture - converted to "image/format", where format is
+a <a href="qimage.html#outputFormats">Qt image format</a>,
+and supported by <a href="qimagedrag.html">QImageDrag</a>.
+<li> kDragFlavorTypeHFS - converted to "text/uri-list",
+and supported by <a href="quridrag.html">QUriDrag</a>.
+</ul>
+<p> You can check if a MIME type is convertible using <a href="#canConvert">canConvert</a>() and
+can perform conversions with <a href="#convertToMime">convertToMime</a>() and <a href="#convertFromMime">convertFromMime</a>().
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMacMime"></a>QMacMime::QMacMime ( char&nbsp;t )
+</h3>
+Constructs a new conversion object of type <em>t</em>, adding it to the
+globally accessed list of available convertors.
+
+<h3 class=fn><a name="~QMacMime"></a>QMacMime::~QMacMime ()<tt> [virtual]</tt>
+</h3>
+Destroys a conversion object, removing it from the global
+list of available convertors.
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QMacMime&gt; <a name="all"></a>QMacMime::all ( QMacMimeType&nbsp;t )<tt> [static]</tt>
+</h3>
+Returns a list of all currently defined QMacMime objects of type <em>t</em>.
+
+<h3 class=fn>bool <a name="canConvert"></a>QMacMime::canConvert ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the convertor can convert (both ways) between
+<em>mime</em> and <em>flav</em>; otherwise returns FALSE.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;QByteArray&gt; <a name="convertFromMime"></a>QMacMime::convertFromMime ( <a href="qbytearray.html">QByteArray</a>&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns <em>data</em> converted from MIME type <em>mime</em>
+to Mac flavor <em>flav</em>.
+<p> Note that Mac flavors must all be self-terminating. The return
+value may contain trailing data.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="convertToMime"></a>QMacMime::convertToMime ( <a href="qvaluelist.html">QValueList</a>&lt;QByteArray&gt;&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns <em>data</em> converted from Mac flavor <em>flav</em> to MIME type <em>mime</em>.
+<p> Note that Mac flavors must all be self-terminating. The input <em>data</em> may contain trailing data.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn><a href="qmacmime.html">QMacMime</a>&nbsp;* <a name="convertor"></a>QMacMime::convertor ( QMacMimeType&nbsp;t, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;flav )<tt> [static]</tt>
+</h3>
+Returns the most-recently created QMacMime of type <em>t</em> that can convert
+between the <em>mime</em> and <em>flav</em> formats. Returns 0 if no such convertor
+exists.
+
+<h3 class=fn>const char * <a name="convertorName"></a>QMacMime::convertorName ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a name for the convertor.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="countFlavors"></a>QMacMime::countFlavors ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the number of Mac flavors supported by this convertor.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="flavor"></a>QMacMime::flavor ( int&nbsp;index )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the Mac flavor supported by this convertor that is
+ordinarily at position <em>index</em>. This means that <a href="#flavor">flavor</a>(0) returns
+the first Mac flavor supported, and flavor(countFlavors()-1) returns
+the last. If <em>index</em> is out of range the return value is undefined.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="flavorFor"></a>QMacMime::flavorFor ( const&nbsp;char&nbsp;*&nbsp;mime )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the Mac flavor used for MIME type <em>mime</em>, or 0 if this
+convertor does not support <em>mime</em>.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>const char * <a name="flavorToMime"></a>QMacMime::flavorToMime ( QMacMimeType&nbsp;t, int&nbsp;flav )<tt> [static]</tt>
+</h3>
+Returns a MIME type of type <em>t</em> for <em>flav</em>, or 0 if none exists.
+
+<h3 class=fn>const char * <a name="mimeFor"></a>QMacMime::mimeFor ( int&nbsp;flav )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the MIME type used for Mac flavor <em>flav</em>, or 0 if this
+convertor does not support <em>flav</em>.
+<p> All subclasses must reimplement this pure virtual function.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmacstyle-members.html b/doc/html/qmacstyle-members.html
new file mode 100644
index 0000000..cd2d1d4
--- /dev/null
+++ b/doc/html/qmacstyle-members.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmacstyle_mac.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMacStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMacStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmacstyle.html">QMacStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qmacstyle.html#QMacStyle">QMacStyle</a>()
+<li><a href="qmacstyle.html#~QMacStyle">~QMacStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmacstyle.html#focusRectPolicy">focusRectPolicy</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmacstyle.html#setFocusRectPolicy">setFocusRectPolicy</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmacstyle.html#setWidgetSizePolicy">setWidgetSizePolicy</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+<li><a href="qmacstyle.html#widgetSizePolicy">widgetSizePolicy</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmacstyle.html b/doc/html/qmacstyle.html
new file mode 100644
index 0000000..85aa464
--- /dev/null
+++ b/doc/html/qmacstyle.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qmacstyle_mac.cpp:324 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMacStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMacStyle Class Reference</h1>
+
+<p>The QMacStyle class implements an Appearance Manager style.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmacstyle_mac-h.html">qmacstyle_mac.h</a>&gt;</tt>
+<p>Inherits <a href="qwindowsstyle.html">QWindowsStyle</a>.
+<p><a href="qmacstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMacStyle"><b>QMacStyle</b></a> ()</li>
+<li class=fn>virtual <a href="#~QMacStyle"><b>~QMacStyle</b></a> ()</li>
+<li class=fn>enum <a href="#FocusRectPolicy-enum"><b>FocusRectPolicy</b></a> { FocusEnabled, FocusDisabled, FocusDefault }</li>
+<li class=fn>enum <a href="#WidgetSizePolicy-enum"><b>WidgetSizePolicy</b></a> { SizeSmall, SizeLarge, SizeNone, SizeDefault }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#setFocusRectPolicy"><b>setFocusRectPolicy</b></a> ( QWidget&nbsp;*&nbsp;w, FocusRectPolicy&nbsp;policy )</li>
+<li class=fn>FocusRectPolicy <a href="#focusRectPolicy"><b>focusRectPolicy</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#setWidgetSizePolicy"><b>setWidgetSizePolicy</b></a> ( QWidget&nbsp;*&nbsp;w, WidgetSizePolicy&nbsp;policy )</li>
+<li class=fn>WidgetSizePolicy <a href="#widgetSizePolicy"><b>widgetSizePolicy</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMacStyle class implements an Appearance Manager style.
+<p>
+<p> This class is implemented as a wrapper to the Apple Appearance
+Manager. This allows your application to be styled by whatever
+theme your Macintosh is using. This is done by having primitives
+in <a href="qstyle.html">QStyle</a> implemented in terms of what the Macintosh would
+normally theme (i.e. the Finder).
+<p> There are additional issues that should be taken
+into consideration to make an application compatible with the
+<a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html">Aqua Style Guidelines</a>. Some of these issues are outlined
+below.
+<p> <ul>
+<p> <li> Layout - The restrictions on window layout are such that some
+aspects of layout that are style-dependent cannot be achieved
+using <a href="qlayout.html">QLayout</a>. Changes are being considered (and feedback would be
+appreciated) to make layouts QStyle-able. Some of the restrictions
+involve horizontal and vertical widget alignment and widget size
+(covered below).
+<p> <li> Widget size - Aqua allows widgets to have specific fixed sizes. Qt
+does not fully implement this behaviour so as to maintain multiplatform
+compatibility. As a result some widgets sizes may be inappropriate (and
+subsequently not rendered correctly by the Appearance Manager).The
+<a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() will return the appropriate size for many
+managed widgets (widgets enumerated in <a href="qstyle.html#ContentsType-enum">QStyle::ContentsType</a>).
+<p> <li> Effects - QMacStyle (in contrast to QAquaStyle) is not emulating
+(except where Appearance Manager does not provide certain
+capabilities), for example <a href="qpushbutton.html">QPushButton</a> pulsing effects. In this case a
+near matching emulation has been implemented, but naturally this will
+not be identical to the similar functionality built into the Appearance
+Manager. Please report any issues you see in effects or non-standard
+widgets.
+<p> </ul>
+<p> There are other issues that need to be considered in the feel of
+your application (including the general color scheme to match the
+Aqua colors). The Guidelines mentioned above will remain current
+with new advances and design suggestions for Mac OS X.
+<p> Note that the functions provided by QMacStyle are
+reimplementations of <a href="qstyle.html">QStyle</a> functions; see QStyle for their
+documentation.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="FocusRectPolicy-enum"></a>QMacStyle::FocusRectPolicy</h3>
+
+<p> This type is used to signify a widget's focus rectangle policy.
+<ul>
+<li><tt>QMacStyle::FocusEnabled</tt> - show a focus rectangle when the widget has focus.
+<li><tt>QMacStyle::FocusDisabled</tt> - never show a focus rectangle for the widget.
+<li><tt>QMacStyle::FocusDefault</tt> - show a focus rectangle when the widget has
+focus and the widget is a QSpinWidget, <a href="qdatetimeedit.html">QDateTimeEdit</a>, <a href="qlineedit.html">QLineEdit</a>,
+<a href="qlistbox.html">QListBox</a>, <a href="qlistview.html">QListView</a>, editable <a href="qtextedit.html">QTextEdit</a>, or one of their
+subclasses.
+</ul>
+<h3 class=fn><a name="WidgetSizePolicy-enum"></a>QMacStyle::WidgetSizePolicy</h3>
+
+<ul>
+<li><tt>QMacStyle::SizeSmall</tt>
+<li><tt>QMacStyle::SizeLarge</tt>
+<li><tt>QMacStyle::SizeNone</tt>
+<li><tt>QMacStyle::SizeDefault</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMacStyle"></a>QMacStyle::QMacStyle ()
+</h3>
+Constructs a QMacStyle object.
+
+<h3 class=fn><a name="~QMacStyle"></a>QMacStyle::~QMacStyle ()<tt> [virtual]</tt>
+</h3>
+Destructs a QMacStyle object.
+
+<h3 class=fn><a href="qmacstyle.html#FocusRectPolicy-enum">FocusRectPolicy</a> <a name="focusRectPolicy"></a>QMacStyle::focusRectPolicy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [static]</tt>
+</h3>
+Returns the focus rectangle policy for the widget <em>w</em>.
+<p> The focus rectangle policy can be one of <a href="#FocusRectPolicy-enum">QMacStyle::FocusRectPolicy</a>.
+<p> <p>See also <a href="#setFocusRectPolicy">setFocusRectPolicy</a>().
+
+<h3 class=fn>void <a name="setFocusRectPolicy"></a>QMacStyle::setFocusRectPolicy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qmacstyle.html#FocusRectPolicy-enum">FocusRectPolicy</a>&nbsp;policy )<tt> [static]</tt>
+</h3>
+Sets the focus rectangle policy of <em>w</em>. The <em>policy</em> can be one of
+<a href="#FocusRectPolicy-enum">QMacStyle::FocusRectPolicy</a>.
+<p> <p>See also <a href="#focusRectPolicy">focusRectPolicy</a>().
+
+<h3 class=fn>void <a name="setWidgetSizePolicy"></a>QMacStyle::setWidgetSizePolicy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qmacstyle.html#WidgetSizePolicy-enum">WidgetSizePolicy</a>&nbsp;policy )<tt> [static]</tt>
+</h3>
+Sets the widget size policy of <em>w</em>. The <em>policy</em> can be one of
+<a href="#WidgetSizePolicy-enum">QMacStyle::WidgetSizePolicy</a>.
+<p> <p>See also <a href="#widgetSizePolicy">widgetSizePolicy</a>().
+
+<h3 class=fn><a href="qmacstyle.html#WidgetSizePolicy-enum">WidgetSizePolicy</a> <a name="widgetSizePolicy"></a>QMacStyle::widgetSizePolicy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [static]</tt>
+</h3>
+Returns the widget size policy for the widget <em>w</em>.
+<p> The widget size policy can be one of <a href="#WidgetSizePolicy-enum">QMacStyle::WidgetSizePolicy</a>.
+<p> <p>See also <a href="#setWidgetSizePolicy">setWidgetSizePolicy</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmacstyle_mac-h.html b/doc/html/qmacstyle_mac-h.html
new file mode 100644
index 0000000..5b7172c
--- /dev/null
+++ b/doc/html/qmacstyle_mac-h.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmacstyle_mac.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmacstyle_mac.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmacstyle_mac.h</h1>
+
+<p>This is the verbatim text of the qmacstyle_mac.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmacstyle_mac.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of ...
+**
+** Created : 981231
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMACSTYLE_MAC_H
+#define QMACSTYLE_MAC_H
+
+#ifndef QT_H
+#include "qwindowsstyle.h"
+#endif // QT_H
+
+#if defined( Q_WS_MAC ) &amp;&amp; !defined( QT_NO_STYLE_MAC )
+
+class QPalette;
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_MAC
+#else
+#define Q_EXPORT_STYLE_MAC Q_EXPORT
+#endif
+
+class QMacStylePrivate;
+
+class Q_EXPORT_STYLE_MAC QMacStyle : public QWindowsStyle
+{
+ Q_OBJECT
+public:
+ QMacStyle( );
+ virtual ~QMacStyle();
+
+ void polish( QWidget * w );
+ void unPolish( QWidget * w );
+ void polish( QApplication* );
+
+ void drawItem( QPainter *p, const QRect &amp;r,
+ int flags, const QColorGroup &amp;g, bool enabled,
+ const QPixmap *pixmap, const QString &amp;text,
+ int len = -1, const QColor *penColor = 0 ) const;
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter* p,
+ const QWidget* w,
+ const QRect&amp; r,
+ const QColorGroup&amp; cg,
+ SFlags flags = Style_Default,
+ SCFlags sub = SC_None,
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+
+ int pixelMetric( PixelMetric metric,
+ const QWidget *widget = 0 ) const;
+
+
+ virtual QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *w,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ virtual QRect subRect( SubRect, const QWidget *w ) const;
+
+ SubControl querySubControl( ComplexControl control,
+ const QWidget *widget,
+ const QPoint &amp;pos,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ virtual int styleHint(StyleHint sh, const QWidget *, const QStyleOption &amp;,
+ QStyleHintReturn *) const;
+
+ QSize sizeFromContents( ContentsType contents,
+ const QWidget *w,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ enum FocusRectPolicy { FocusEnabled, FocusDisabled, FocusDefault };
+ static void setFocusRectPolicy( QWidget *w, FocusRectPolicy policy);
+ static FocusRectPolicy focusRectPolicy( QWidget *w );
+
+ enum WidgetSizePolicy { SizeSmall, SizeLarge, SizeNone, SizeDefault };
+ static void setWidgetSizePolicy( QWidget *w, WidgetSizePolicy policy);
+ static WidgetSizePolicy widgetSizePolicy( QWidget *w );
+
+protected:
+ bool event(QEvent *);
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMacStyle( const QMacStyle &amp; );
+ QMacStyle&amp; operator=( const QMacStyle &amp; );
+#endif
+
+protected:
+ QMacStylePrivate *d;
+};
+
+#endif // Q_WS_MAC
+
+#endif // QMACSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmag-example.html b/doc/html/qmag-example.html
new file mode 100644
index 0000000..a030554
--- /dev/null
+++ b/doc/html/qmag-example.html
@@ -0,0 +1,446 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/qmag/qmag.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMag</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMag</h1>
+
+
+<p>
+This is a simple magnifier-type program. It shows how one can do
+some quite low-level operations in a portable way using Qt.
+<p> Run it, click in the magnifier window, then click where you want to
+magnify or drag out a rectangle. Two combo boxes let you select
+amplification and refresh frequency, a text label tells you the color
+of the pixel the cursor is on, and a button lets you save the
+magnified area as a .bmp file.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/qmag.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qwmatrix-h.html">qwmatrix.h</a>&gt;
+
+
+class MagWidget : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ MagWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+public slots:
+ void setZoom( int );
+ void setRefresh( int );
+ void save();
+ void multiSave();
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void focusOutEvent( <a href="qfocusevent.html">QFocusEvent</a> * );
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a> * );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+
+private:
+ void grabAround(QPoint pos);
+ void grab();
+
+ <a href="qcombobox.html">QComboBox</a> *zoom;
+ <a href="qcombobox.html">QComboBox</a> *refresh;
+ <a href="qpushbutton.html">QPushButton</a> *saveButton;
+ <a href="qpushbutton.html">QPushButton</a> *multiSaveButton;
+ <a href="qpushbutton.html">QPushButton</a> *quitButton;
+ <a href="qpixmap.html">QPixmap</a> pm; // pixmap, magnified
+ <a href="qpixmap.html">QPixmap</a> p; // pixmap
+ <a href="qimage.html">QImage</a> image; // image of pixmap (for RGB)
+ <a href="qlabel.html">QLabel</a> *rgb;
+ int yoffset; // pixels in addition to the actual picture
+ int z; // magnification factor
+ int r; // autorefresh rate (index into refreshrates)
+ bool grabbing; // TRUE if qmag is currently grabbing
+ int grabx, graby;
+ <a href="qstring.html">QString</a> multifn; // filename for multisave
+};
+
+
+#ifdef COMPLEX_GUI
+static const char *zoomfactors[] = {
+ "100%", "200%", "300%", "400%", "500%",
+ "600%", "700%", "800%", "1600%", 0 };
+
+static const char *refreshrates[] = {
+ "No autorefresh", "50 per second", "4 per second", "3 per second", "2 per second",
+ "Every second", "Every two seconds", "Every three seconds",
+ "Every five seconds", "Every ten seconds", 0 };
+#endif
+
+static const int timer[] = {
+ 0, 20, 250, 333, 500, 1000, 2000, 3000, 5000, 10000 };
+
+
+<a name="f484"></a>MagWidget::MagWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name)
+{
+ z = 1; // default zoom (100%)
+ r = 0; // default refresh (none)
+
+#ifdef COMPLEX_GUI
+ int w=0, x=0, n;
+
+ zoom = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>(zoom);
+<a name="x1773"></a> zoom-&gt;<a href="qcombobox.html#insertStrList">insertStrList</a>( zoomfactors, 9 );
+<a name="x1772"></a> <a href="qobject.html#connect">connect</a>( zoom, SIGNAL(<a href="qcombobox.html#activated">activated</a>(int)), SLOT(setZoom(int)) );
+
+ refresh = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>(refresh);
+ refresh-&gt;<a href="qcombobox.html#insertStrList">insertStrList</a>( refreshrates, 9 );
+ <a href="qobject.html#connect">connect</a>( refresh, SIGNAL(<a href="qcombobox.html#activated">activated</a>(int)), SLOT(setRefresh(int)) );
+
+ for( n=0; n&lt;9; n++) {
+<a name="x1797"></a> int w2 = zoom-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width( zoomfactors[n] );
+ w = QMAX(w2, w);
+ }
+<a name="x1807"></a> zoom-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 2, 2, w+30, 20 );
+
+ x = w+34;
+ w = 0;
+ for( n=0; n&lt;9; n++) {
+ int w2 = refresh-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width( refreshrates[n] );
+ w = QMAX(w2, w);
+ }
+ refresh-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( x, 2, w+30, 20 );
+
+ saveButton = new <a href="qpushbutton.html">QPushButton</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>(saveButton);
+ <a href="qobject.html#connect">connect</a>( saveButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(save()) );
+<a name="x1771"></a> saveButton-&gt;<a href="qbutton.html#setText">setText</a>( "Save" );
+<a name="x1788"></a> saveButton-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( x+w+30+2, 2,
+ 10+saveButton-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width("Save"), 20 );
+
+ multiSaveButton = new <a href="qpushbutton.html">QPushButton</a>( this );
+<a name="x1790"></a> multiSaveButton-&gt;<a href="qpushbutton.html#setToggleButton">setToggleButton</a>(TRUE);
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>(multiSaveButton);
+ <a href="qobject.html#connect">connect</a>( multiSaveButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(multiSave()) );
+ multiSaveButton-&gt;<a href="qbutton.html#setText">setText</a>( "MultiSave" );
+<a name="x1798"></a> multiSaveButton-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( saveButton-&gt;<a href="qwidget.html#geometry">geometry</a>().right() + 2, 2,
+ 10+multiSaveButton-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width("MultiSave"), 20 );
+
+ quitButton = new <a href="qpushbutton.html">QPushButton</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>(quitButton);
+ <a href="qobject.html#connect">connect</a>( quitButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ quitButton-&gt;<a href="qbutton.html#setText">setText</a>( "Quit" );
+ quitButton-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( multiSaveButton-&gt;<a href="qwidget.html#geometry">geometry</a>().right() + 2, 2,
+ 10+quitButton-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().width("Quit"), 20 );
+#else
+ zoom = 0;
+ multiSaveButton = 0;
+#endif
+
+ setRefresh(1);
+ setZoom(5);
+
+ rgb = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( rgb );
+<a name="x1779"></a> rgb-&gt;<a href="qlabel.html#setText">setText</a>( "" );
+ rgb-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignVCenter );
+ rgb-&gt;<a href="qwidget.html#resize">resize</a>( <a href="qwidget.html#width">width</a>(), rgb-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().height() + 4 );
+
+#ifdef COMPLEX_GUI
+<a name="x1799"></a> yoffset = zoom-&gt;<a href="qwidget.html#height">height</a>() // top buttons
+ + 4 // space around top buttons
+ + rgb-&gt;<a href="qwidget.html#height">height</a>(); // color-value text height
+<a name="x1804"></a> <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( quitButton-&gt;<a href="qwidget.html#pos">pos</a>().x(), yoffset+20 );
+ <a href="qwidget.html#resize">resize</a>( quitButton-&gt;<a href="qwidget.html#geometry">geometry</a>().topRight().x() + 2, yoffset+60 );
+#else
+ yoffset = 0;
+ <a href="qwidget.html#resize">resize</a>(350,350);
+#endif
+
+ grabx = graby = -1;
+ grabbing = FALSE;
+
+ <a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE ); // and do let me know what pixel I'm at, eh?
+
+<a name="x1765"></a> grabAround( QPoint(grabx=qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;width()/2, graby=qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;height()/2) );
+}
+
+
+void <a name="f485"></a>MagWidget::setZoom( int index )
+{
+ if (index == 8)
+ z = 16;
+ else
+ z = index+1;
+ grab();
+}
+
+
+void <a name="f486"></a>MagWidget::setRefresh( int index )
+{
+ r = index;
+ <a href="qobject.html#killTimers">killTimers</a>();
+ if (index &amp;&amp; !grabbing)
+ <a href="qobject.html#startTimer">startTimer</a>( timer[r] );
+}
+
+
+void <a name="f487"></a>MagWidget::save()
+{
+<a name="x1785"></a> if ( !p.<a href="qpixmap.html#isNull">isNull</a>() ) {
+ <a href="qobject.html#killTimers">killTimers</a>();
+<a name="x1775"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>();
+<a name="x1792"></a> if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+<a name="x1786"></a> p.<a href="qpixmap.html#save">save</a>( fn, "BMP" );
+ if ( r )
+ <a href="qobject.html#startTimer">startTimer</a>( timer[r] );
+ }
+}
+
+void <a name="f488"></a>MagWidget::multiSave()
+{
+ if ( !p.<a href="qpixmap.html#isNull">isNull</a>() ) {
+ multifn = ""; // stops saving
+ multifn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>();
+ if ( multifn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+<a name="x1789"></a> multiSaveButton-&gt;<a href="qpushbutton.html#setOn">setOn</a>(FALSE);
+ if ( !r )
+ p.<a href="qpixmap.html#save">save</a>( multifn, "BMP" );
+ } else {
+ multiSaveButton-&gt;<a href="qpushbutton.html#setOn">setOn</a>(FALSE);
+ }
+}
+
+
+void <a name="f489"></a>MagWidget::grab()
+{
+ if ( !isVisible() )
+ return; // don't eat resources when iconified
+
+ if ( grabx &lt; 0 || graby &lt; 0 )
+ return; // don't grab until the user has said to
+
+ int x,y, w,h;
+
+ w = (<a href="qwidget.html#width">width</a>()+z-1)/z;
+ h = (<a href="qwidget.html#height">height</a>()+z-1-yoffset)/z;
+ if ( w&lt;1 || h&lt;1 )
+ return; // don't ask too much from the window system :)
+
+ x = grabx-w/2; // find a suitable position to grab from
+ y = graby-h/2;
+ if ( x + w &gt; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width() )
+ x = QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width()-w;
+ else if ( x &lt; 0 )
+ x = 0;
+ if ( y + h &gt; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height() )
+ y = QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height()-h;
+ else if ( y &lt; 0 )
+ y = 0;
+
+<a name="x1784"></a> p = QPixmap::<a href="qpixmap.html#grabWindow">grabWindow</a>( QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;winId(), x, y, w, h );
+<a name="x1783"></a> image = p.<a href="qpixmap.html#convertToImage">convertToImage</a>();
+ <a href="qwmatrix.html">QWMatrix</a> m; // after getting it, scale it
+<a name="x1809"></a> m.<a href="qwmatrix.html#scale">scale</a>( (double)z, (double)z );
+<a name="x1787"></a> pm = p.<a href="qpixmap.html#xForm">xForm</a>( m );
+
+<a name="x1770"></a> if ( !multiSaveButton || !multiSaveButton-&gt;<a href="qbutton.html#isOn">isOn</a>() )
+ <a href="qwidget.html#repaint">repaint</a>( FALSE ); // and finally repaint, flicker-free
+}
+
+
+<a name="x1803"></a>void MagWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ if ( !pm.<a href="qpixmap.html#isNull">isNull</a>() ) {
+ <a href="qpainter.html">QPainter</a> paint( this );
+<a name="x1782"></a> paint.<a href="qpainter.html#drawPixmap">drawPixmap</a>( 0, zoom ? zoom-&gt;<a href="qwidget.html#height">height</a>()+4 : 0, pm,
+ 0,0, width(), height()-yoffset );
+ }
+}
+
+
+<a name="x1801"></a>void MagWidget::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( !grabbing ) { // prepare to grab...
+ grabbing = TRUE;
+ <a href="qobject.html#killTimers">killTimers</a>();
+ <a href="qwidget.html#grabMouse">grabMouse</a>( crossCursor );
+ grabx = -1;
+ graby = -1;
+ } else { // REALLY prepare to grab
+<a name="x1780"></a> grabx = <a href="qwidget.html#mapToGlobal">mapToGlobal</a>(e-&gt;<a href="qmouseevent.html#pos">pos</a>()).x();
+ graby = <a href="qwidget.html#mapToGlobal">mapToGlobal</a>(e-&gt;<a href="qmouseevent.html#pos">pos</a>()).y();
+ }
+}
+
+
+
+<a name="x1802"></a>void MagWidget::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * e )
+{
+ if ( grabbing &amp;&amp; grabx &gt;= 0 &amp;&amp; graby &gt;= 0 ) {
+ grabbing = FALSE;
+ grabAround(e-&gt;<a href="qmouseevent.html#pos">pos</a>());
+ <a href="qwidget.html#releaseMouse">releaseMouse</a>();
+ }
+}
+
+void <a name="f490"></a>MagWidget::grabAround(QPoint pos)
+{
+ int rx, ry;
+ rx = <a href="qwidget.html#mapToGlobal">mapToGlobal</a>(pos).x();
+ ry = <a href="qwidget.html#mapToGlobal">mapToGlobal</a>(pos).y();
+ int w = QABS(rx-grabx);
+ int h = QABS(ry-graby);
+ if ( w &gt; 10 &amp;&amp; h &gt; 10 ) {
+ int pz;
+ pz = 1;
+ while ( w*pz*h*pz &lt; width()*(<a href="qwidget.html#height">height</a>()-yoffset) &amp;&amp;
+ w*pz &lt; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width() &amp;&amp;
+ h*pz &lt; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height() )
+ pz++;
+ if ( (w*pz*h*pz - width()*(<a href="qwidget.html#height">height</a>()-yoffset)) &gt;
+ (<a href="qwidget.html#width">width</a>()*(<a href="qwidget.html#height">height</a>()-yoffset) - w*(pz-1)*h*(pz-1)) )
+ pz--;
+ if ( pz &lt; 1 )
+ pz = 1;
+ if ( pz &gt; 8 )
+ pz = 8;
+ if ( zoom )
+<a name="x1774"></a> zoom-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( pz-1 );
+
+ z = pz;
+ grabx = QMIN(rx, grabx) + w/2;
+ graby = QMIN(ry, graby) + h/2;
+ <a href="qwidget.html#resize">resize</a>( w*z, h*z+yoffset );
+ }
+ grab();
+ if ( r )
+ <a href="qobject.html#startTimer">startTimer</a>( timer[r] );
+}
+
+
+<a name="x1800"></a>void MagWidget::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( grabbing || pm.<a href="qpixmap.html#isNull">isNull</a>() ||
+ e-&gt;<a href="qmouseevent.html#pos">pos</a>().y() &gt; height() - (zoom ? zoom-&gt;<a href="qwidget.html#fontMetrics">fontMetrics</a>().height() - 4 : 0) ||
+ e-&gt;<a href="qmouseevent.html#pos">pos</a>().y() &lt; (zoom ? zoom-&gt;<a href="qwidget.html#height">height</a>()+4 : 4) ) {
+ rgb-&gt;<a href="qlabel.html#setText">setText</a>( "" );
+ } else {
+ int x,y;
+ x = e-&gt;<a href="qmouseevent.html#pos">pos</a>().x() / z;
+ y = (e-&gt;<a href="qmouseevent.html#pos">pos</a>().y() - ( zoom ? zoom-&gt;<a href="qwidget.html#height">height</a>() : 0 ) - 4) / z;
+ <a href="qstring.html">QString</a> pixelinfo;
+<a name="x1777"></a> if ( image.<a href="qimage.html#valid">valid</a>(x,y) )
+ {
+<a name="x1776"></a> QRgb px = image.<a href="qimage.html#pixel">pixel</a>(x,y);
+<a name="x1795"></a> pixelinfo.<a href="qstring.html#sprintf">sprintf</a>(" %3d,%3d,%3d #%02x%02x%02x",
+ <a href="qcolor.html#qRed">qRed</a>(px), qGreen(px), qBlue(px),
+ <a href="qcolor.html#qRed">qRed</a>(px), qGreen(px), qBlue(px));
+ }
+ <a href="qstring.html">QString</a> label;
+ label.<a href="qstring.html#sprintf">sprintf</a>( "x=%d, y=%d %s",
+ x+grabx, y+graby, (const char*)pixelinfo );
+ rgb-&gt;<a href="qlabel.html#setText">setText</a>( label );
+ }
+}
+
+
+<a name="x1796"></a>void MagWidget::<a href="qwidget.html#focusOutEvent">focusOutEvent</a>( <a href="qfocusevent.html">QFocusEvent</a> * )
+{
+ rgb-&gt;<a href="qlabel.html#setText">setText</a>( "" );
+}
+
+
+<a name="x1781"></a>void MagWidget::<a href="qobject.html#timerEvent">timerEvent</a>( <a href="qtimerevent.html">QTimerEvent</a> * )
+{
+ grab();
+/*
+ if ( multiSaveButton-&gt;<a href="qbutton.html#isOn">isOn</a>() &amp;&amp; !multifn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ <a href="qregexp.html">QRegExp</a> num("[0-9][0-9]*");
+ int start;
+ int len;
+<a name="x1791"></a> if ((start=num.<a href="qregexp.html#match">match</a>(multifn,0,&amp;len))&gt;=0)
+<a name="x1794"></a> multifn.<a href="qstring.html#replace">replace</a>(num,
+<a name="x1793"></a> QString().setNum(multifn.<a href="qstring.html#mid">mid</a>(start,len).toInt()+1)
+ );
+ p.<a href="qpixmap.html#save">save</a>( multifn, "BMP" );
+ }
+*/
+}
+
+
+<a name="x1806"></a>void MagWidget::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+ rgb-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 0, height() - rgb-&gt;<a href="qwidget.html#height">height</a>(), width(), rgb-&gt;<a href="qwidget.html#height">height</a>() );
+ grab();
+}
+
+
+#include "qmag.moc"
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ MagWidget m;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;m );
+ m.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmainwindow-h.html b/doc/html/qmainwindow-h.html
new file mode 100644
index 0000000..88a9bb9
--- /dev/null
+++ b/doc/html/qmainwindow-h.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmainwindow.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmainwindow.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmainwindow.h</h1>
+
+<p>This is the verbatim text of the qmainwindow.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmainwindow.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMainWindow class
+**
+** Created : 980316
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMAINWINDOW_H
+#define QMAINWINDOW_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qtoolbar.h"
+#include "qptrlist.h"
+#include "qtextstream.h"
+#endif // QT_H
+
+#ifndef QT_NO_MAINWINDOW
+
+class QMenuBar;
+class QStatusBar;
+class QToolTipGroup;
+class QMainWindowPrivate;
+class QMainWindowLayout;
+class QPopupMenu;
+
+class Q_EXPORT QMainWindow: public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY( bool rightJustification READ rightJustification WRITE setRightJustification DESIGNABLE false )
+ Q_PROPERTY( bool usesBigPixmaps READ usesBigPixmaps WRITE setUsesBigPixmaps )
+ Q_PROPERTY( bool usesTextLabel READ usesTextLabel WRITE setUsesTextLabel )
+ Q_PROPERTY( bool dockWindowsMovable READ dockWindowsMovable WRITE setDockWindowsMovable )
+ Q_PROPERTY( bool opaqueMoving READ opaqueMoving WRITE setOpaqueMoving )
+
+public:
+ QMainWindow( QWidget* parent=0, const char* name=0, WFlags f = WType_TopLevel );
+ ~QMainWindow();
+
+#ifndef QT_NO_MENUBAR
+ QMenuBar * menuBar() const;
+#endif
+ QStatusBar * statusBar() const;
+#ifndef QT_NO_TOOLTIP
+ QToolTipGroup * toolTipGroup() const;
+#endif
+
+ virtual void setCentralWidget( QWidget * );
+ QWidget * centralWidget() const;
+
+ virtual void setDockEnabled( Dock dock, bool enable );
+ bool isDockEnabled( Dock dock ) const;
+ bool isDockEnabled( QDockArea *area ) const;
+ virtual void setDockEnabled( QDockWindow *tb, Dock dock, bool enable );
+ bool isDockEnabled( QDockWindow *tb, Dock dock ) const;
+ bool isDockEnabled( QDockWindow *tb, QDockArea *area ) const;
+
+ virtual void addDockWindow( QDockWindow *, Dock = DockTop, bool newLine = FALSE );
+ virtual void addDockWindow( QDockWindow *, const QString &amp;label,
+ Dock = DockTop, bool newLine = FALSE );
+ virtual void moveDockWindow( QDockWindow *, Dock = DockTop );
+ virtual void moveDockWindow( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 );
+ virtual void removeDockWindow( QDockWindow * );
+
+ void show();
+ void hide();
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ bool rightJustification() const;
+ bool usesBigPixmaps() const;
+ bool usesTextLabel() const;
+ bool dockWindowsMovable() const;
+ bool opaqueMoving() const;
+
+ bool eventFilter( QObject*, QEvent* );
+
+ bool getLocation( QDockWindow *tb, Dock &amp;dock, int &amp;index, bool &amp;nl, int &amp;extraOffset ) const;
+
+ QPtrList&lt;QDockWindow&gt; dockWindows( Dock dock ) const;
+ QPtrList&lt;QDockWindow&gt; dockWindows() const;
+ void lineUpDockWindows( bool keepNewLines = FALSE );
+
+ bool isDockMenuEnabled() const;
+
+ // compatibility stuff
+ bool hasDockWindow( QDockWindow *dw );
+#ifndef QT_NO_TOOLBAR
+ void addToolBar( QDockWindow *, Dock = DockTop, bool newLine = FALSE );
+ void addToolBar( QDockWindow *, const QString &amp;label,
+ Dock = DockTop, bool newLine = FALSE );
+ void moveToolBar( QDockWindow *, Dock = DockTop );
+ void moveToolBar( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 );
+ void removeToolBar( QDockWindow * );
+
+ bool toolBarsMovable() const;
+ QPtrList&lt;QToolBar&gt; toolBars( Dock dock ) const;
+ void lineUpToolBars( bool keepNewLines = FALSE );
+#endif
+
+ virtual QDockArea *dockingArea( const QPoint &amp;p );
+ QDockArea *leftDock() const;
+ QDockArea *rightDock() const;
+ QDockArea *topDock() const;
+ QDockArea *bottomDock() const;
+
+ virtual bool isCustomizable() const;
+
+ bool appropriate( QDockWindow *dw ) const;
+
+ enum DockWindows { OnlyToolBars, NoToolBars, AllDockWindows };
+ QPopupMenu *createDockWindowMenu( DockWindows dockWindows = AllDockWindows ) const;
+
+public slots:
+ virtual void setRightJustification( bool );
+ virtual void setUsesBigPixmaps( bool );
+ virtual void setUsesTextLabel( bool );
+ virtual void setDockWindowsMovable( bool );
+ virtual void setOpaqueMoving( bool );
+ virtual void setDockMenuEnabled( bool );
+ virtual void whatsThis();
+ virtual void setAppropriate( QDockWindow *dw, bool a );
+ virtual void customize();
+
+ // compatibility stuff
+ void setToolBarsMovable( bool );
+
+signals:
+ void pixmapSizeChanged( bool );
+ void usesTextLabelChanged( bool );
+ void dockWindowPositionChanged( QDockWindow * );
+
+#ifndef QT_NO_TOOLBAR
+ // compatibility stuff
+ void toolBarPositionChanged( QToolBar * );
+#endif
+
+protected slots:
+ virtual void setUpLayout();
+ virtual bool showDockMenu( const QPoint &amp;globalPos );
+ void menuAboutToShow();
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void childEvent( QChildEvent * );
+ bool event( QEvent * );
+ void styleChange( QStyle&amp; );
+
+private slots:
+ void slotPlaceChanged();
+ void doLineUp() { lineUpDockWindows( TRUE ); }
+
+private:
+ QMainWindowPrivate * d;
+ void triggerLayout( bool deleteLayout = TRUE);
+ bool dockMainWindow( QObject *dock );
+
+#ifndef QT_NO_MENUBAR
+ virtual void setMenuBar( QMenuBar * );
+#endif
+ virtual void setStatusBar( QStatusBar * );
+#ifndef QT_NO_TOOLTIP
+ virtual void setToolTipGroup( QToolTipGroup * );
+#endif
+
+ friend class QDockWindow;
+ friend class QMenuBar;
+ friend class QHideDock;
+ friend class QToolBar;
+ friend class QMainWindowLayout;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMainWindow( const QMainWindow &amp; );
+ QMainWindow&amp; operator=( const QMainWindow &amp; );
+#endif
+};
+
+#ifndef QT_NO_TOOLBAR
+inline void QMainWindow::addToolBar( QDockWindow *w, ToolBarDock dock, bool newLine )
+{
+ addDockWindow( w, dock, newLine );
+}
+
+inline void QMainWindow::addToolBar( QDockWindow *w, const QString &amp;label,
+ ToolBarDock dock, bool newLine )
+{
+ addDockWindow( w, label, dock, newLine );
+}
+
+inline void QMainWindow::moveToolBar( QDockWindow *w, ToolBarDock dock )
+{
+ moveDockWindow( w, dock );
+}
+
+inline void QMainWindow::moveToolBar( QDockWindow *w, ToolBarDock dock, bool nl, int index, int extraOffset )
+{
+ moveDockWindow( w, dock, nl, index, extraOffset );
+}
+
+inline void QMainWindow::removeToolBar( QDockWindow *w )
+{
+ removeDockWindow( w );
+}
+
+inline bool QMainWindow::toolBarsMovable() const
+{
+ return dockWindowsMovable();
+}
+
+inline void QMainWindow::lineUpToolBars( bool keepNewLines )
+{
+ lineUpDockWindows( keepNewLines );
+}
+
+inline void QMainWindow::setToolBarsMovable( bool b )
+{
+ setDockWindowsMovable( b );
+}
+#endif
+
+#ifndef QT_NO_TEXTSTREAM
+Q_EXPORT QTextStream &amp;operator&lt;&lt;( QTextStream &amp;, const QMainWindow &amp; );
+Q_EXPORT QTextStream &amp;operator&gt;&gt;( QTextStream &amp;, QMainWindow &amp; );
+#endif
+
+#endif // QT_NO_MAINWINDOW
+
+#endif // QMAINWINDOW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmainwindow-m.png b/doc/html/qmainwindow-m.png
new file mode 100644
index 0000000..fc0d50b
--- /dev/null
+++ b/doc/html/qmainwindow-m.png
Binary files differ
diff --git a/doc/html/qmainwindow-members.html b/doc/html/qmainwindow-members.html
new file mode 100644
index 0000000..37a3fe6
--- /dev/null
+++ b/doc/html/qmainwindow-members.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmainwindow.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMainWindow Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMainWindow</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmainwindow.html">QMainWindow</a>, including inherited members.
+
+<ul>
+<li><a href="qmainwindow.html#QMainWindow">QMainWindow</a>()
+<li><a href="qmainwindow.html#~QMainWindow">~QMainWindow</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qmainwindow.html#addDockWindow">addDockWindow</a>()
+<li><a href="qmainwindow.html#addToolBar">addToolBar</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qmainwindow.html#appropriate">appropriate</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qmainwindow.html#bottomDock">bottomDock</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qmainwindow.html#centralWidget">centralWidget</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qmainwindow.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qmainwindow.html#createDockWindowMenu">createDockWindowMenu</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qmainwindow.html#customize">customize</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qmainwindow.html#dockWindowPositionChanged">dockWindowPositionChanged</a>()
+<li><a href="qmainwindow.html#dockWindows">dockWindows</a>()
+<li><a href="qmainwindow.html#dockWindowsMovable">dockWindowsMovable</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qmainwindow.html#getLocation">getLocation</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qmainwindow.html#hasDockWindow">hasDockWindow</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qmainwindow.html#isCustomizable">isCustomizable</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qmainwindow.html#isDockEnabled">isDockEnabled</a>()
+<li><a href="qmainwindow.html#isDockMenuEnabled">isDockMenuEnabled</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qmainwindow.html#leftDock">leftDock</a>()
+<li><a href="qmainwindow.html#lineUpDockWindows">lineUpDockWindows</a>()
+<li><a href="qmainwindow.html#lineUpToolBars">lineUpToolBars</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qmainwindow.html#menuAboutToShow">menuAboutToShow</a>()
+<li><a href="qmainwindow.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qmainwindow.html#moveDockWindow">moveDockWindow</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qmainwindow.html#moveToolBar">moveToolBar</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qmainwindow.html#opaqueMoving">opaqueMoving</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qmainwindow.html#pixmapSizeChanged">pixmapSizeChanged</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qmainwindow.html#removeDockWindow">removeDockWindow</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qmainwindow.html#removeToolBar">removeToolBar</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qmainwindow.html#rightDock">rightDock</a>()
+<li><a href="qmainwindow.html#rightJustification">rightJustification</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qmainwindow.html#setAppropriate">setAppropriate</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qmainwindow.html#setDockEnabled">setDockEnabled</a>()
+<li><a href="qmainwindow.html#setDockMenuEnabled">setDockMenuEnabled</a>()
+<li><a href="qmainwindow.html#setDockWindowsMovable">setDockWindowsMovable</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qmainwindow.html#setOpaqueMoving">setOpaqueMoving</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmainwindow.html#setRightJustification">setRightJustification</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qmainwindow.html#setToolBarsMovable">setToolBarsMovable</a>()
+<li><a href="qmainwindow.html#setUpLayout">setUpLayout</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qmainwindow.html#setUsesBigPixmaps">setUsesBigPixmaps</a>()
+<li><a href="qmainwindow.html#setUsesTextLabel">setUsesTextLabel</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qmainwindow.html#showDockMenu">showDockMenu</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qmainwindow.html#statusBar">statusBar</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qmainwindow.html#toolBarPositionChanged">toolBarPositionChanged</a>()
+<li><a href="qmainwindow.html#toolBars">toolBars</a>()
+<li><a href="qmainwindow.html#toolBarsMovable">toolBarsMovable</a>()
+<li><a href="qmainwindow.html#toolTipGroup">toolTipGroup</a>()
+<li><a href="qmainwindow.html#topDock">topDock</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qmainwindow.html#usesBigPixmaps">usesBigPixmaps</a>()
+<li><a href="qmainwindow.html#usesTextLabel">usesTextLabel</a>()
+<li><a href="qmainwindow.html#usesTextLabelChanged">usesTextLabelChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qmainwindow.html#whatsThis">whatsThis</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmainwindow-qdockareas.png b/doc/html/qmainwindow-qdockareas.png
new file mode 100644
index 0000000..aba8fea
--- /dev/null
+++ b/doc/html/qmainwindow-qdockareas.png
Binary files differ
diff --git a/doc/html/qmainwindow-w.png b/doc/html/qmainwindow-w.png
new file mode 100644
index 0000000..e7e5e40
--- /dev/null
+++ b/doc/html/qmainwindow-w.png
Binary files differ
diff --git a/doc/html/qmainwindow.html b/doc/html/qmainwindow.html
new file mode 100644
index 0000000..cb00d2b
--- /dev/null
+++ b/doc/html/qmainwindow.html
@@ -0,0 +1,956 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qmainwindow.cpp:506 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMainWindow Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMainWindow Class Reference</h1>
+
+<p>The QMainWindow class provides a main application window,
+with a menu bar, dock windows (e.g. for toolbars), and a status
+bar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qmainwindow-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMainWindow"><b>QMainWindow</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = WType_TopLevel )</li>
+<li class=fn><a href="#~QMainWindow"><b>~QMainWindow</b></a> ()</li>
+<li class=fn>QMenuBar * <a href="#menuBar"><b>menuBar</b></a> () const</li>
+<li class=fn>QStatusBar * <a href="#statusBar"><b>statusBar</b></a> () const</li>
+<li class=fn>QToolTipGroup * <a href="#toolTipGroup"><b>toolTipGroup</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCentralWidget"><b>setCentralWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#centralWidget"><b>centralWidget</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDockEnabled"><b>setDockEnabled</b></a> ( Dock&nbsp;dock, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isDockEnabled"><b>isDockEnabled</b></a> ( Dock&nbsp;dock ) const</li>
+<li class=fn>bool <a href="#isDockEnabled-2"><b>isDockEnabled</b></a> ( QDockArea&nbsp;*&nbsp;area ) const</li>
+<li class=fn>virtual void <a href="#setDockEnabled-2"><b>setDockEnabled</b></a> ( QDockWindow&nbsp;*&nbsp;dw, Dock&nbsp;dock, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isDockEnabled-3"><b>isDockEnabled</b></a> ( QDockWindow&nbsp;*&nbsp;tb, Dock&nbsp;dock ) const</li>
+<li class=fn>bool <a href="#isDockEnabled-4"><b>isDockEnabled</b></a> ( QDockWindow&nbsp;*&nbsp;dw, QDockArea&nbsp;*&nbsp;area ) const</li>
+<li class=fn>virtual void <a href="#addDockWindow"><b>addDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow, Dock&nbsp;edge = DockTop, bool&nbsp;newLine = FALSE )</li>
+<li class=fn>virtual void <a href="#addDockWindow-2"><b>addDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow, const&nbsp;QString&nbsp;&amp;&nbsp;label, Dock&nbsp;edge = DockTop, bool&nbsp;newLine = FALSE )</li>
+<li class=fn>virtual void <a href="#moveDockWindow"><b>moveDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow, Dock&nbsp;edge = DockTop )</li>
+<li class=fn>virtual void <a href="#moveDockWindow-2"><b>moveDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow, Dock&nbsp;edge, bool&nbsp;nl, int&nbsp;index, int&nbsp;extraOffset = -1 )</li>
+<li class=fn>virtual void <a href="#removeDockWindow"><b>removeDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow )</li>
+<li class=fn>bool rightJustification () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#usesBigPixmaps"><b>usesBigPixmaps</b></a> () const</li>
+<li class=fn>bool <a href="#usesTextLabel"><b>usesTextLabel</b></a> () const</li>
+<li class=fn>bool <a href="#dockWindowsMovable"><b>dockWindowsMovable</b></a> () const</li>
+<li class=fn>bool <a href="#opaqueMoving"><b>opaqueMoving</b></a> () const</li>
+<li class=fn>bool <a href="#getLocation"><b>getLocation</b></a> ( QDockWindow&nbsp;*&nbsp;dw, Dock&nbsp;&amp;&nbsp;dock, int&nbsp;&amp;&nbsp;index, bool&nbsp;&amp;&nbsp;nl, int&nbsp;&amp;&nbsp;extraOffset ) const</li>
+<li class=fn>QPtrList&lt;QDockWindow&gt; <a href="#dockWindows"><b>dockWindows</b></a> ( Dock&nbsp;dock ) const</li>
+<li class=fn>QPtrList&lt;QDockWindow&gt; <a href="#dockWindows-2"><b>dockWindows</b></a> () const</li>
+<li class=fn>void <a href="#lineUpDockWindows"><b>lineUpDockWindows</b></a> ( bool&nbsp;keepNewLines = FALSE )</li>
+<li class=fn>bool <a href="#isDockMenuEnabled"><b>isDockMenuEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#hasDockWindow"><b>hasDockWindow</b></a> ( QDockWindow&nbsp;*&nbsp;dw )</li>
+<li class=fn>void addToolBar ( QDockWindow *, Dock = DockTop, bool&nbsp;newLine = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void addToolBar ( QDockWindow *, const&nbsp;QString&nbsp;&amp;&nbsp;label, Dock = DockTop, bool&nbsp;newLine = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void moveToolBar ( QDockWindow *, Dock = DockTop ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void moveToolBar ( QDockWindow *, Dock, bool&nbsp;nl, int&nbsp;index, int&nbsp;extraOffset = -1 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void removeToolBar ( QDockWindow * ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool toolBarsMovable () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPtrList&lt;QToolBar&gt; <a href="#toolBars"><b>toolBars</b></a> ( Dock&nbsp;dock ) const</li>
+<li class=fn>void lineUpToolBars ( bool&nbsp;keepNewLines = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QDockArea * <a href="#leftDock"><b>leftDock</b></a> () const</li>
+<li class=fn>QDockArea * <a href="#rightDock"><b>rightDock</b></a> () const</li>
+<li class=fn>QDockArea * <a href="#topDock"><b>topDock</b></a> () const</li>
+<li class=fn>QDockArea * <a href="#bottomDock"><b>bottomDock</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isCustomizable"><b>isCustomizable</b></a> () const</li>
+<li class=fn>bool <a href="#appropriate"><b>appropriate</b></a> ( QDockWindow&nbsp;*&nbsp;dw ) const</li>
+<li class=fn>enum <a href="#DockWindows-enum"><b>DockWindows</b></a> { OnlyToolBars, NoToolBars, AllDockWindows }</li>
+<li class=fn>QPopupMenu * <a href="#createDockWindowMenu"><b>createDockWindowMenu</b></a> ( DockWindows&nbsp;dockWindows = AllDockWindows ) const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void setRightJustification ( bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#setUsesBigPixmaps"><b>setUsesBigPixmaps</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setUsesTextLabel"><b>setUsesTextLabel</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setDockWindowsMovable"><b>setDockWindowsMovable</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setOpaqueMoving"><b>setOpaqueMoving</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setDockMenuEnabled"><b>setDockMenuEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#whatsThis"><b>whatsThis</b></a> ()</li>
+<li class=fn>virtual void <a href="#setAppropriate"><b>setAppropriate</b></a> ( QDockWindow&nbsp;*&nbsp;dw, bool&nbsp;a )</li>
+<li class=fn>virtual void <a href="#customize"><b>customize</b></a> ()</li>
+<li class=fn>void setToolBarsMovable ( bool ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#pixmapSizeChanged"><b>pixmapSizeChanged</b></a> ( bool )</li>
+<li class=fn>void <a href="#usesTextLabelChanged"><b>usesTextLabelChanged</b></a> ( bool )</li>
+<li class=fn>void <a href="#dockWindowPositionChanged"><b>dockWindowPositionChanged</b></a> ( QDockWindow&nbsp;*&nbsp;dockWindow )</li>
+<li class=fn>void toolBarPositionChanged ( QToolBar * ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#dockWindowsMovable-prop"><b>dockWindowsMovable</b></a>&nbsp;- whether the dock windows are movable</li>
+<li class=fn>bool <a href="#opaqueMoving-prop"><b>opaqueMoving</b></a>&nbsp;- whether dock windows are moved opaquely</li>
+<li class=fn>bool rightJustification&nbsp;- whether the main window right-justifies its dock windows &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#usesBigPixmaps-prop"><b>usesBigPixmaps</b></a>&nbsp;- whether big pixmaps are enabled</li>
+<li class=fn>bool <a href="#usesTextLabel-prop"><b>usesTextLabel</b></a>&nbsp;- whether text labels for toolbar buttons are enabled</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#childEvent"><b>childEvent</b></a> ( QChildEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setUpLayout"><b>setUpLayout</b></a> ()</li>
+<li class=fn>virtual bool <a href="#showDockMenu"><b>showDockMenu</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos )</li>
+<li class=fn>void <a href="#menuAboutToShow"><b>menuAboutToShow</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, const&nbsp;QMainWindow&nbsp;&amp;&nbsp;mainWindow )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, QMainWindow&nbsp;&amp;&nbsp;mainWindow )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMainWindow class provides a main application window,
+with a menu bar, dock windows (e.g. for toolbars), and a status
+bar.
+<p>
+
+<p> Main windows are most often used to provide menus, toolbars and a
+status bar around a large central widget, such as a text edit,
+drawing canvas or <a href="qworkspace.html">QWorkspace</a> (for MDI applications). QMainWindow
+is usually subclassed since this makes it easier to encapsulate
+the central widget, menus and toolbars as well as the window's
+state. Subclassing makes it possible to create the slots that are
+called when the user clicks menu items or toolbar buttons. You can
+also create main windows using <a href="designer-manual.html">Qt
+ Designer</a>. We'll briefly review adding menu items and
+toolbar buttons then describe the facilities of QMainWindow
+itself.
+<p> <pre>
+ QMainWindow *mw = new QMainWindow;
+ <a href="qtextedit.html">QTextEdit</a> *edit = new <a href="qtextedit.html">QTextEdit</a>( mw, "editor" );
+ edit-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Main Window" );
+ mw-&gt;<a href="#setCentralWidget">setCentralWidget</a>( edit );
+ mw-&gt;<a href="qwidget.html#show">show</a>();
+ </pre>
+
+<p> QMainWindows may be created in their own right as shown above.
+The central widget is set with <a href="#setCentralWidget">setCentralWidget</a>(). Popup menus can
+be added to the default menu bar, widgets can be added to the
+status bar, toolbars and dock windows can be added to any of the
+dock areas.
+<p>
+
+<pre> ApplicationWindow *mw = new ApplicationWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Application" );
+ <a name="x2115"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+</pre>
+<p> In the extract above ApplicationWindow is a subclass of
+QMainWindow that we must write for ourselves; this is the usual
+approach to using QMainWindow. (The source for the extracts in
+this description are taken from <a href="simple-application-example.html">application/main.cpp</a>, <a href="simple-application-example.html">application/application.cpp</a>, <a href="qaction-application-example.html">action/main.cpp</a>, and <a href="qaction-application-example.html">action/application.cpp</a> )
+<p> When subclassing we add the menu items and toolbars in the
+subclass's constructor. If we've created a QMainWindow instance
+directly we can add menu items and toolbars just as easily by
+passing the QMainWindow instance as the parent instead of the <em>this</em> pointer.
+<p>
+
+<pre> <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1 );
+</pre>
+<p> Here we've added a new menu with one menu item. The menu has been
+inserted into the menu bar that QMainWindow provides by default
+and which is accessible through the <a href="#menuBar">menuBar</a>() function. The slot
+will be called when the menu item is clicked.
+<p>
+
+<pre> <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+ fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+</pre><pre> QToolButton * fileOpen
+ = new <a href="qtoolbutton.html">QToolButton</a>( openIcon, "Open File", <a href="qstring.html#QString-null">QString::null</a>,
+ this, SLOT(choose()), fileTools, "open file" );
+</pre>
+<p> This extract shows the creation of a toolbar with one toolbar
+button. QMainWindow supplies four dock areas for toolbars. When a
+toolbar is created as a child of a QMainWindow (or derived class)
+instance it will be placed in a dock area (the <a href="qt.html#Dock-enum">Top</a> dock area by
+default). The slot will be called when the toolbar button is
+clicked. Any dock window can be added to a dock area either using
+<a href="#addDockWindow">addDockWindow</a>(), or by creating a dock window with the QMainWindow
+as the parent.
+<p>
+
+<pre> e = new <a href="qtextedit.html">QTextEdit</a>( this, "editor" );
+ e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ <a href="#setCentralWidget">setCentralWidget</a>( e );
+ <a href="#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+</pre>
+<p> Having created the menus and toolbar we create an instance of the
+large central widget, give it the focus and set it as the main
+window's central widget. In the example we've also set the status
+bar, accessed via the <a href="#statusBar">statusBar</a>() function, to an initial message
+which will be displayed for two seconds. Note that you can add
+additional widgets to the status bar, for example labels, to show
+further status information. See the <a href="qstatusbar.html">QStatusBar</a> documentation for
+details, particularly the addWidget() function.
+<p> Often we want to synchronize a toolbar button with a menu item.
+For example, if the user clicks a 'bold' toolbar button we want
+the 'bold' menu item to be checked. This synchronization can be
+achieved automatically by creating actions and adding the actions
+to the toolbar and menu.
+<p>
+
+<pre> <a href="qaction.html">QAction</a> * fileOpenAction;
+</pre><pre> fileOpenAction = new <a href="qaction.html">QAction</a>( QPixmap( fileopen ), "&amp;Open...",
+ CTRL+Key_O, this, "open" );
+ <a href="qobject.html#connect">connect</a>( fileOpenAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ) , this, SLOT( choose() ) );
+</pre>
+<p> Here we create an action with an icon which will be used in any
+menu and toolbar that the action is added to. We've also given the
+action a menu name, '&amp;Open', and a keyboard shortcut. The
+connection that we have made will be used when the user clicks
+either the menu item <em>or</em> the toolbar button.
+<p>
+
+<pre> <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+</pre><pre> fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+</pre>
+<p> The extract above shows the creation of a popup menu. We add the
+menu to the QMainWindow's menu bar and add our action.
+<p>
+
+<pre> <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+ fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+</pre>
+<p> Here we create a new toolbar as a child of the QMainWindow and add
+our action to the toolbar.
+<p> We'll now explore the functionality offered by QMainWindow.
+<p> The main window will take care of the dock areas, and the geometry
+of the central widget, but all other aspects of the central widget
+are left to you. QMainWindow automatically detects the creation of
+a menu bar or status bar if you specify the QMainWindow as parent,
+or you can use the provided <a href="#menuBar">menuBar</a>() and <a href="#statusBar">statusBar</a>() functions.
+The functions menuBar() and statusBar() create a suitable widget
+if one doesn't exist, and update the window's layout to make
+space.
+<p> QMainWindow provides a <a href="qtooltipgroup.html">QToolTipGroup</a> connected to the status bar.
+The function <a href="#toolTipGroup">toolTipGroup</a>() provides access to the default
+QToolTipGroup. It isn't possible to set a different tool tip
+group.
+<p> New dock windows and toolbars can be added to a QMainWindow using
+<a href="#addDockWindow">addDockWindow</a>(). Dock windows can be moved using <a href="#moveDockWindow">moveDockWindow</a>()
+and removed with <a href="#removeDockWindow">removeDockWindow</a>(). QMainWindow allows default
+dock window (toolbar) docking in all its dock areas (<a href="qt.html#Dock-enum">Top</a>, <a href="qt.html#Dock-enum">Left</a>, <a href="qt.html#Dock-enum">Right</a>, <a href="qt.html#Dock-enum">Bottom</a>). You can use <a href="#setDockEnabled">setDockEnabled</a>() to
+enable and disable docking areas for dock windows. When adding or
+moving dock windows you can specify their 'edge' (dock area). The
+currently available edges are: <a href="qt.html#Dock-enum">Top</a>, <a href="qt.html#Dock-enum">Left</a>, <a href="qt.html#Dock-enum">Right</a>, <a href="qt.html#Dock-enum">Bottom</a>, <a href="qt.html#Dock-enum">Minimized</a> (effectively a 'hidden' dock area) and <a href="qt.html#Dock-enum">TornOff</a> (floating). See <a href="qt.html#Dock-enum">Qt::Dock</a> for an explanation of these
+areas. Note that the *ToolBar functions are included for backward
+compatibility; all new code should use the *DockWindow functions.
+QToolbar is a subclass of <a href="qdockwindow.html">QDockWindow</a> so all functions that work
+with dock windows work on toolbars in the same way.
+<p> <a name="dwm"></a>
+If the user clicks the close button, then the dock window is
+hidden. A dock window can be hidden or unhidden by the user by
+right clicking a dock area and clicking the name of the relevant
+dock window on the pop up dock window menu. This menu lists the
+names of every dock window; visible dock windows have a tick
+beside their names. The dock window menu is created automatically
+as required by <a href="#createDockWindowMenu">createDockWindowMenu</a>(). Since it may not always be
+appropriate for a dock window to appear on this menu the
+<a href="#setAppropriate">setAppropriate</a>() function is used to inform the main window
+whether or not the dock window menu should include a particular
+dock window. Double clicking a dock window handle (usually on the
+left-hand side of the dock window) undocks (floats) the dock
+window. Double clicking a floating dock window's titlebar will
+dock the floating dock window. (See also
+<a href="#DockWindows-enum">QMainWindow::DockWindows</a>.)
+<p> Some functions change the appearance of a QMainWindow globally:
+<ul>
+<li> <a href="qdockwindow.html#setHorizontalStretchable">QDockWindow::setHorizontalStretchable</a>() and
+<a href="qdockwindow.html#setVerticalStretchable">QDockWindow::setVerticalStretchable</a>() are used to make specific dock
+windows or toolbars stretchable.
+<li> <a href="#setUsesBigPixmaps">setUsesBigPixmaps</a>() is used to set whether tool buttons should
+draw small or large pixmaps (see <a href="qiconset.html">QIconSet</a> for more information).
+<li> <a href="#setUsesTextLabel">setUsesTextLabel</a>() is used to set whether tool buttons
+should display a textual label in addition to pixmaps
+(see <a href="qtoolbutton.html">QToolButton</a> for more information).
+</ul>
+<p> The user can drag dock windows into any enabled docking area. Dock
+windows can also be dragged <em>within</em> a docking area, for example
+to rearrange the order of some toolbars. Dock windows can also be
+dragged outside any docking area (undocked or 'floated'). Being
+able to drag dock windows can be enabled (the default) and
+disabled using <a href="#setDockWindowsMovable">setDockWindowsMovable</a>().
+<p> The <a href="qt.html#Dock-enum">Minimized</a> edge is a hidden dock area. If this dock area is
+enabled the user can hide (minimize) a dock window or show (restore)
+a minimized dock window by clicking the dock window handle. If the
+user hovers the mouse cursor over one of the handles, the caption of
+the dock window is displayed in a tool tip (see
+<a href="qwidget.html#caption">QDockWindow::caption</a>() or <a href="qtoolbar.html#label">QToolBar::label</a>()), so if you enable the
+<a href="qt.html#Dock-enum">Minimized</a> dock area, it is best to specify a meaningful caption
+or label for each dock window. To minimize a dock window
+programmatically use <a href="#moveDockWindow">moveDockWindow</a>() with an edge of <a href="qt.html#Dock-enum">Minimized</a>.
+<p> Dock windows are moved transparently by default, i.e. during the
+drag an outline rectangle is drawn on the screen representing the
+position of the dock window as it moves. If you want the dock
+window to be shown normally whilst it is moved use
+<a href="#setOpaqueMoving">setOpaqueMoving</a>().
+<p> The location of a dock window, i.e. its dock area and position
+within the dock area, can be determined by calling <a href="#getLocation">getLocation</a>().
+Movable dock windows can be lined up to minimize wasted space with
+<a href="#lineUpDockWindows">lineUpDockWindows</a>(). Pointers to the dock areas are available from
+<a href="#topDock">topDock</a>(), <a href="#leftDock">leftDock</a>(), <a href="#rightDock">rightDock</a>() and <a href="#bottomDock">bottomDock</a>(). A customize
+menu item is added to the pop up dock window menu if
+<a href="#isCustomizable">isCustomizable</a>() returns TRUE; it returns FALSE by default.
+Reimplement isCustomizable() and <a href="#customize">customize</a>() if you want to offer
+this extra menu item, for example, to allow the user to change
+settings relating to the main window and its toolbars and dock
+windows.
+<p> The main window's menu bar is fixed (at the top) by default. If
+you want a movable menu bar, create a <a href="qmenubar.html">QMenuBar</a> as a stretchable
+widget inside its own movable dock window and restrict this dock
+window to only live within the <a href="qt.html#Dock-enum">Top</a> or <a href="qt.html#Dock-enum">Bottom</a> dock:
+<p> <pre>
+ <a href="qtoolbar.html">QToolBar</a> *tb = new <a href="qtoolbar.html">QToolBar</a>( this );
+ <a href="#addDockWindow">addDockWindow</a>( tb, tr( "Menubar" ), Top, FALSE );
+ <a href="qmenubar.html">QMenuBar</a> *mb = new <a href="qmenubar.html">QMenuBar</a>( tb );
+ mb-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::NoFrame );
+ tb-&gt;<a href="qtoolbar.html#setStretchableWidget">setStretchableWidget</a>( mb );
+ <a href="#setDockEnabled">setDockEnabled</a>( tb, Left, FALSE );
+ <a href="#setDockEnabled">setDockEnabled</a>( tb, Right, FALSE );
+ </pre>
+
+<p> An application with multiple dock windows can choose to save the
+current dock window layout in order to restore it later, e.g. in
+the next session. You can do this by using the streaming operators
+for QMainWindow.
+<p> To save the layout and positions of all the dock windows do this:
+<p> <pre>
+ <a href="qfile.html">QFile</a> file( filename );
+ if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ stream &lt;&lt; *mainWindow;
+ file.<a href="qfile.html#close">close</a>();
+ }
+ </pre>
+
+<p> To restore the dock window positions and sizes (normally when the
+application is next started), do following:
+<p> <pre>
+ <a href="qfile.html">QFile</a> file( filename );
+ if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ stream &gt;&gt; *mainWindow;
+ file.<a href="qfile.html#close">close</a>();
+ }
+ </pre>
+
+<p> The <a href="qsettings.html">QSettings</a> class can be used in conjunction with the streaming
+operators to store the application's settings.
+<p> QMainWindow's management of dock windows and toolbars is done
+transparently behind-the-scenes by <a href="qdockarea.html">QDockArea</a>.
+<p> For multi-document interfaces (MDI), use a <a href="qworkspace.html">QWorkspace</a> as the
+central widget.
+<p> Adding dock windows, e.g. toolbars, to QMainWindow's dock areas is
+straightforward. If the supplied dock areas are not sufficient for
+your application we suggest that you create a <a href="qwidget.html">QWidget</a> subclass and
+add your own dock areas (see <a href="qdockarea.html">QDockArea</a>) to the subclass since
+QMainWindow provides functionality specific to the standard dock
+areas it provides.
+<p> <img src=qmainwindow-m.png> <img src=qmainwindow-w.png>
+<p> <p>See also <a href="qtoolbar.html">QToolBar</a>, <a href="qdockwindow.html">QDockWindow</a>, <a href="qstatusbar.html">QStatusBar</a>, <a href="qaction.html">QAction</a>, <a href="qmenubar.html">QMenuBar</a>, <a href="qpopupmenu.html">QPopupMenu</a>, <a href="qtooltipgroup.html">QToolTipGroup</a>, <a href="qdialog.html">QDialog</a>, and <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DockWindows-enum"></a>QMainWindow::DockWindows</h3>
+
+<p> Right-clicking a dock area will pop-up the dock window menu
+(<a href="#createDockWindowMenu">createDockWindowMenu</a>() is called automatically). When called in
+code you can specify what items should appear on the menu with
+this enum.
+<ul>
+<li><tt>QMainWindow::OnlyToolBars</tt> - The menu will list all the toolbars, but not
+any other dock windows.
+<li><tt>QMainWindow::NoToolBars</tt> - The menu will list dock windows but not
+toolbars.
+<li><tt>QMainWindow::AllDockWindows</tt> - The menu will list all toolbars and other
+dock windows. (This is the default.)
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMainWindow"></a>QMainWindow::QMainWindow ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = WType_TopLevel )
+</h3>
+Constructs an empty main window. The <em>parent</em>, <em>name</em> and widget
+flags <em>f</em>, are passed on to the <a href="qwidget.html">QWidget</a> constructor.
+<p> By default, the widget flags are set to <a href="qt.html#WidgetFlags-enum">WType_TopLevel</a> rather
+than 0 as they are with QWidget. If you don't want your
+QMainWindow to be a top level widget then you will need to set <em>f</em> to 0.
+
+<h3 class=fn><a name="~QMainWindow"></a>QMainWindow::~QMainWindow ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="addDockWindow"></a>QMainWindow::addDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow, <a href="qt.html#Dock-enum">Dock</a>&nbsp;edge = DockTop, bool&nbsp;newLine = FALSE )<tt> [virtual]</tt>
+</h3>
+Adds <em>dockWindow</em> to the <em>edge</em> dock area.
+<p> If <em>newLine</em> is FALSE (the default) then the <em>dockWindow</em> is
+added at the end of the <em>edge</em>. For vertical edges the end is at
+the bottom, for horizontal edges (including <a href="qt.html#Dock-enum">Minimized</a>) the end
+is at the right. If <em>newLine</em> is TRUE a new line of dock windows
+is started with <em>dockWindow</em> as the first (left-most and
+top-most) dock window.
+<p> If <em>dockWindow</em> is managed by another main window, it is first
+removed from that window.
+
+<h3 class=fn>void <a name="addDockWindow-2"></a>QMainWindow::addDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qt.html#Dock-enum">Dock</a>&nbsp;edge = DockTop, bool&nbsp;newLine = FALSE )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds <em>dockWindow</em> to the dock area with label <em>label</em>.
+<p> If <em>newLine</em> is FALSE (the default) the <em>dockWindow</em> is added at
+the end of the <em>edge</em>. For vertical edges the end is at the
+bottom, for horizontal edges (including <a href="qt.html#Dock-enum">Minimized</a>) the end is
+at the right. If <em>newLine</em> is TRUE a new line of dock windows is
+started with <em>dockWindow</em> as the first (left-most and top-most)
+dock window.
+<p> If <em>dockWindow</em> is managed by another main window, it is first
+removed from that window.
+
+<h3 class=fn>void <a name="addToolBar"></a>QMainWindow::addToolBar ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*, <a href="qt.html#Dock-enum">Dock</a> = DockTop, bool&nbsp;newLine = FALSE )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>void <a name="addToolBar-2"></a>QMainWindow::addToolBar ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qt.html#Dock-enum">Dock</a> = DockTop, bool&nbsp;newLine = FALSE )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>bool <a name="appropriate"></a>QMainWindow::appropriate ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw ) const
+</h3>
+Returns TRUE if it is appropriate to include a menu item for the
+<em>dw</em> dock window in the dock window menu; otherwise returns
+FALSE.
+<p> The user is able to change the state (show or hide) a dock window
+that has a menu item by clicking the item.
+<p> Call <a href="#setAppropriate">setAppropriate</a>() to indicate whether or not a particular dock
+window should appear on the popup menu.
+<p> <p>See also <a href="#setAppropriate">setAppropriate</a>().
+
+<h3 class=fn><a href="qdockarea.html">QDockArea</a>&nbsp;* <a name="bottomDock"></a>QMainWindow::bottomDock () const
+</h3>
+Returns a pointer the <a href="qt.html#Dock-enum">Bottom</a> dock area
+<p> <p>See also <a href="#topDock">topDock</a>(), <a href="#leftDock">leftDock</a>(), and <a href="#rightDock">rightDock</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="centralWidget"></a>QMainWindow::centralWidget () const
+</h3>
+Returns a pointer to the main window's central widget.
+<p> The central widget is surrounded by the left, top, right and
+bottom dock areas. The menu bar is above the top dock area.
+<p> <p>See also <a href="#setCentralWidget">setCentralWidget</a>().
+
+<p>Example: <a href="qfd-example.html#x2013">qfd/qfd.cpp</a>.
+<h3 class=fn>void <a name="childEvent"></a>QMainWindow::childEvent ( <a href="qchildevent.html">QChildEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Monitors events, recieved in <em>e</em>, to ensure the layout is updated.
+
+<p>Reimplemented from <a href="qobject.html#childEvent">QObject</a>.
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="createDockWindowMenu"></a>QMainWindow::createDockWindowMenu ( <a href="qmainwindow.html#DockWindows-enum">DockWindows</a>&nbsp;dockWindows = AllDockWindows ) const
+</h3>
+Creates the dock window menu which contains all toolbars (if <em>dockWindows</em> is <a href="#DockWindows-enum">OnlyToolBars</a> ), all dock windows (if <em>dockWindows</em> is <a href="#DockWindows-enum">NoToolBars</a>) or all toolbars and dock windows (if
+<em>dockWindows</em> is <a href="#DockWindows-enum">AllDockWindows</a> - the default).
+<p> This function is called internally when necessary, e.g. when the
+user right clicks a dock area (providing <a href="#isDockMenuEnabled">isDockMenuEnabled</a>()
+returns TRUE).
+
+<p> The menu items representing the toolbars and dock windows are
+checkable. The visible dock windows are checked and the hidden
+dock windows are unchecked. The user can click a menu item to
+change its state (show or hide the dock window).
+<p> The list and the state are always kept up-to-date.
+<p> Toolbars and dock windows which are not appropriate in the current
+context (see <a href="#setAppropriate">setAppropriate</a>()) are not listed in the menu.
+<p> The menu also has a menu item for lining up the dock windows.
+<p> If <a href="#isCustomizable">isCustomizable</a>() returns TRUE, a Customize menu item is added
+to the menu, which if clicked will call <a href="#customize">customize</a>(). The
+isCustomizable() function we provide returns FALSE and customize()
+does nothing, so they must be reimplemented in a subclass to be
+useful.
+
+<h3 class=fn>void <a name="customize"></a>QMainWindow::customize ()<tt> [virtual slot]</tt>
+</h3>
+This function is called when the user clicks the Customize menu
+item on the dock window menu.
+<p> The customize menu item will only appear if <a href="#isCustomizable">isCustomizable</a>()
+returns TRUE (it returns FALSE by default).
+<p> The function is intended, for example, to provide the user with a
+means of telling the application that they wish to customize the
+main window, dock windows or dock areas.
+<p> The default implementation does nothing and the Customize menu
+item is not shown on the right-click menu by default. If you want
+the item to appear then reimplement isCustomizable() to return
+TRUE, and reimplement this function to do whatever you want.
+<p> <p>See also <a href="#isCustomizable">isCustomizable</a>().
+
+<h3 class=fn>void <a name="dockWindowPositionChanged"></a>QMainWindow::dockWindowPositionChanged ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the <em>dockWindow</em> has changed its
+position. A change in position occurs when a dock window is moved
+within its dock area or moved to another dock area (including the
+<a href="qt.html#Dock-enum">Minimized</a> and <tt>TearOff</tt> dock areas).
+<p> <p>See also <a href="#getLocation">getLocation</a>().
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QDockWindow&gt; <a name="dockWindows"></a>QMainWindow::dockWindows ( <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock ) const
+</h3>
+Returns a list of all the dock windows which are in the <em>dock</em>
+dock area, regardless of their state.
+<p> For example, the <a href="qt.html#Dock-enum">DockTornOff</a> dock area may contain closed dock
+windows but these are returned along with the visible dock
+windows.
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QDockWindow&gt; <a name="dockWindows-2"></a>QMainWindow::dockWindows () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the list of dock windows which belong to this main window,
+regardless of which dock area they are in or what their state is,
+(e.g. irrespective of whether they are visible or not).
+
+<h3 class=fn>bool <a name="dockWindowsMovable"></a>QMainWindow::dockWindowsMovable () const
+</h3><p>Returns TRUE if the dock windows are movable; otherwise returns FALSE.
+See the <a href="qmainwindow.html#dockWindowsMovable-prop">"dockWindowsMovable"</a> property for details.
+<h3 class=fn>bool <a name="getLocation"></a>QMainWindow::getLocation ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw, <a href="qt.html#Dock-enum">Dock</a>&nbsp;&amp;&nbsp;dock, int&nbsp;&amp;&nbsp;index, bool&nbsp;&amp;&nbsp;nl, int&nbsp;&amp;&nbsp;extraOffset ) const
+</h3>
+Finds the location of the dock window <em>dw</em>.
+<p> If the <em>dw</em> dock window is found in the main window the function
+returns TRUE and populates the <em>dock</em> variable with the dw's dock
+area and the <em>index</em> with the dw's position within the dock area.
+It also sets <em>nl</em> to TRUE if the <em>dw</em> begins a new line
+(otherwise FALSE), and <em>extraOffset</em> with the dock window's offset.
+<p> If the <em>dw</em> dock window is not found then the function returns
+FALSE and the state of <em>dock</em>, <em>index</em>, <em>nl</em> and <em>extraOffset</em>
+is undefined.
+<p> If you want to save and restore dock window positions then use
+<a href="#operator-gt-gt">operator&gt;&gt;</a>() and <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+<p> <p>See also <a href="#operator-gt-gt">operator&gt;&gt;</a>() and <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+
+<h3 class=fn>bool <a name="hasDockWindow"></a>QMainWindow::hasDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw )
+</h3>
+Returns TRUE if <em>dw</em> is a dock window known to the main window;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isCustomizable"></a>QMainWindow::isCustomizable () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the dock area dock window menu includes the
+Customize menu item (which calls <a href="#customize">customize</a>() when clicked).
+Returns FALSE by default, i.e. the popup menu will not contain a
+Customize menu item. You will need to reimplement this function
+and set it to return TRUE if you wish the user to be able to see
+the dock window menu.
+<p> <p>See also <a href="#customize">customize</a>().
+
+<h3 class=fn>bool <a name="isDockEnabled"></a>QMainWindow::isDockEnabled ( <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock ) const
+</h3>
+Returns TRUE if the <em>dock</em> dock area is enabled, i.e. it can
+accept user dragged dock windows; otherwise returns FALSE.
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>().
+
+<h3 class=fn>bool <a name="isDockEnabled-2"></a>QMainWindow::isDockEnabled ( <a href="qdockarea.html">QDockArea</a>&nbsp;*&nbsp;area ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if dock area <em>area</em> is enabled, i.e. it can accept
+user dragged dock windows; otherwise returns FALSE.
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>().
+
+<h3 class=fn>bool <a name="isDockEnabled-3"></a>QMainWindow::isDockEnabled ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;tb, <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if dock area <em>dock</em> is enabled for the dock window
+<em>tb</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>().
+
+<h3 class=fn>bool <a name="isDockEnabled-4"></a>QMainWindow::isDockEnabled ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw, <a href="qdockarea.html">QDockArea</a>&nbsp;*&nbsp;area ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if dock area <em>area</em> is enabled for the dock window
+<em>dw</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>().
+
+<h3 class=fn>bool <a name="isDockMenuEnabled"></a>QMainWindow::isDockMenuEnabled () const
+</h3>
+Returns TRUE, if the dock window menu is enabled; otherwise
+returns FALSE.
+<p> The menu lists the (<a href="#appropriate">appropriate</a>()) dock windows (which may be
+shown or hidden), and has a "Line Up Dock Windows" menu item. It
+will also have a "Customize" menu item if <a href="#isCustomizable">isCustomizable</a>() returns
+TRUE.
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>(), <a href="#lineUpDockWindows">lineUpDockWindows</a>(), <a href="#appropriate">appropriate</a>(), and <a href="#setAppropriate">setAppropriate</a>().
+
+<h3 class=fn><a href="qdockarea.html">QDockArea</a>&nbsp;* <a name="leftDock"></a>QMainWindow::leftDock () const
+</h3>
+Returns the <a href="qt.html#Dock-enum">Left</a> dock area
+<p> <p>See also <a href="#rightDock">rightDock</a>(), <a href="#topDock">topDock</a>(), and <a href="#bottomDock">bottomDock</a>().
+
+<h3 class=fn>void <a name="lineUpDockWindows"></a>QMainWindow::lineUpDockWindows ( bool&nbsp;keepNewLines = FALSE )
+</h3>
+This function will line up dock windows within the visible dock
+areas (<a href="qt.html#Dock-enum">Top</a>, <a href="qt.html#Dock-enum">Left</a>, <a href="qt.html#Dock-enum">Right</a> and <a href="qt.html#Dock-enum">Bottom</a>) as compactly as
+possible.
+<p> If <em>keepNewLines</em> is TRUE, all dock windows stay on their
+original lines. If <em>keepNewLines</em> is FALSE then newlines may be
+removed to achieve the most compact layout possible.
+<p> The method only works if <a href="#dockWindowsMovable">dockWindowsMovable</a>() returns TRUE.
+
+<h3 class=fn>void <a name="lineUpToolBars"></a>QMainWindow::lineUpToolBars ( bool&nbsp;keepNewLines = FALSE )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>void <a name="menuAboutToShow"></a>QMainWindow::menuAboutToShow ()<tt> [protected slot]</tt>
+</h3>
+This slot is called from the aboutToShow() signal of the default
+dock menu of the mainwindow. The default implementation
+initializes the menu with all dock windows and toolbars in this
+slot.
+
+
+<h3 class=fn><a href="qmenubar.html">QMenuBar</a>&nbsp;* <a name="menuBar"></a>QMainWindow::menuBar () const
+</h3>
+Returns the menu bar for this window.
+<p> If there isn't one, then <a href="#menuBar">menuBar</a>() creates an empty menu bar.
+<p> <p>See also <a href="#statusBar">statusBar</a>().
+
+<h3 class=fn>void <a name="moveDockWindow"></a>QMainWindow::moveDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow, <a href="qt.html#Dock-enum">Dock</a>&nbsp;edge = DockTop )<tt> [virtual]</tt>
+</h3>
+Moves <em>dockWindow</em> to the end of the <em>edge</em>.
+<p> For vertical edges the end is at the bottom, for horizontal edges
+(including <a href="qt.html#Dock-enum">Minimized</a>) the end is at the right.
+<p> If <em>dockWindow</em> is managed by another main window, it is first
+removed from that window.
+
+<h3 class=fn>void <a name="moveDockWindow-2"></a>QMainWindow::moveDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow, <a href="qt.html#Dock-enum">Dock</a>&nbsp;edge, bool&nbsp;nl, int&nbsp;index, int&nbsp;extraOffset = -1 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves <em>dockWindow</em> to position <em>index</em> within the <em>edge</em> dock
+area.
+<p> Any dock windows with positions <em>index</em> or higher have their
+position number incremented and any of these on the same line are
+moved right (down for vertical dock areas) to make room.
+<p> If <em>nl</em> is TRUE, a new dock window line is created below the line
+in which the moved dock window appears and the moved dock window,
+with any others with higher positions on the same line, is moved
+to this new line.
+<p> The <em>extraOffset</em> is the space to put between the left side of
+the dock area (top side for vertical dock areas) and the dock
+window. (This is mostly used for restoring dock windows to the
+positions the user has dragged them to.)
+<p> If <em>dockWindow</em> is managed by another main window, it is first
+removed from that window.
+
+<h3 class=fn>void <a name="moveToolBar"></a>QMainWindow::moveToolBar ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*, <a href="qt.html#Dock-enum">Dock</a> = DockTop )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>void <a name="moveToolBar-2"></a>QMainWindow::moveToolBar ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*, <a href="qt.html#Dock-enum">Dock</a>, bool&nbsp;nl, int&nbsp;index, int&nbsp;extraOffset = -1 )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>bool <a name="opaqueMoving"></a>QMainWindow::opaqueMoving () const
+</h3><p>Returns TRUE if dock windows are moved opaquely; otherwise returns FALSE.
+See the <a href="qmainwindow.html#opaqueMoving-prop">"opaqueMoving"</a> property for details.
+<h3 class=fn>void <a name="pixmapSizeChanged"></a>QMainWindow::pixmapSizeChanged ( bool )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the <a href="#setUsesBigPixmaps">setUsesBigPixmaps</a>() is called
+with a value different to the current setting. All widgets that
+should respond to such changes, e.g. toolbar buttons, must connect
+to this signal.
+
+<h3 class=fn>void <a name="removeDockWindow"></a>QMainWindow::removeDockWindow ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dockWindow )<tt> [virtual]</tt>
+</h3>
+Removes <em>dockWindow</em> from the main window's docking area,
+provided <em>dockWindow</em> is non-null and managed by this main
+window.
+
+<h3 class=fn>void <a name="removeToolBar"></a>QMainWindow::removeToolBar ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;* )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qdockarea.html">QDockArea</a>&nbsp;* <a name="rightDock"></a>QMainWindow::rightDock () const
+</h3>
+Returns the <a href="qt.html#Dock-enum">Right</a> dock area
+<p> <p>See also <a href="#leftDock">leftDock</a>(), <a href="#topDock">topDock</a>(), and <a href="#bottomDock">bottomDock</a>().
+
+<h3 class=fn>bool <a name="rightJustification"></a>QMainWindow::rightJustification () const
+</h3><p>Returns TRUE if the main window right-justifies its dock windows; otherwise returns FALSE.
+See the <a href="qmainwindow.html#rightJustification-prop">"rightJustification"</a> property for details.
+<h3 class=fn>void <a name="setAppropriate"></a>QMainWindow::setAppropriate ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw, bool&nbsp;a )<tt> [virtual slot]</tt>
+</h3>
+Use this function to control whether or not the <em>dw</em> dock
+window's caption should appear as a menu item on the dock window
+menu that lists the dock windows.
+<p> If <em>a</em> is TRUE then the <em>dw</em> will appear as a menu item on the
+dock window menu. The user is able to change the state (show or
+hide) a dock window that has a menu item by clicking the item;
+depending on the state of your application, this may or may not be
+appropriate. If <em>a</em> is FALSE the <em>dw</em> will not appear on the
+popup menu.
+<p> <p>See also <a href="#showDockMenu">showDockMenu</a>(), <a href="#isCustomizable">isCustomizable</a>(), and <a href="#customize">customize</a>().
+
+<h3 class=fn>void <a name="setCentralWidget"></a>QMainWindow::setCentralWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the central widget for this main window to <em>w</em>.
+<p> The central widget is surrounded by the left, top, right and
+bottom dock areas. The menu bar is above the top dock area.
+<p> <p>See also <a href="#centralWidget">centralWidget</a>().
+
+<h3 class=fn>void <a name="setDockEnabled"></a>QMainWindow::setDockEnabled ( <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock, bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+If <em>enable</em> is TRUE then users can dock windows in the <em>dock</em>
+area. If <em>enable</em> is FALSE users cannot dock windows in the <em>dock</em> dock area.
+<p> Users can dock (drag) dock windows into any enabled dock area.
+
+<h3 class=fn>void <a name="setDockEnabled-2"></a>QMainWindow::setDockEnabled ( <a href="qdockwindow.html">QDockWindow</a>&nbsp;*&nbsp;dw, <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock, bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> If <em>enable</em> is TRUE then users can dock the <em>dw</em> dock window in
+the <em>dock</em> area. If <em>enable</em> is FALSE users cannot dock the <em>dw</em> dock window in the <em>dock</em> area.
+<p> In general users can dock (drag) dock windows into any enabled
+dock area. Using this function particular dock areas can be
+enabled (or disabled) as docking points for particular dock
+windows.
+
+<h3 class=fn>void <a name="setDockMenuEnabled"></a>QMainWindow::setDockMenuEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3>
+If <em>b</em> is TRUE, then right clicking on a dock window or dock area
+will pop up the dock window menu. If <em>b</em> is FALSE, right clicking
+a dock window or dock area will not pop up the menu.
+<p> The menu lists the (<a href="#appropriate">appropriate</a>()) dock windows (which may be
+shown or hidden), and has a "Line Up Dock Windows" item. It will
+also have a "Customize" menu item if <a href="#isCustomizable">isCustomizable</a>() returns
+TRUE.
+<p> <p>See also <a href="#lineUpDockWindows">lineUpDockWindows</a>() and <a href="#isDockMenuEnabled">isDockMenuEnabled</a>().
+
+<h3 class=fn>void <a name="setDockWindowsMovable"></a>QMainWindow::setDockWindowsMovable ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the dock windows are movable.
+See the <a href="qmainwindow.html#dockWindowsMovable-prop">"dockWindowsMovable"</a> property for details.
+<h3 class=fn>void <a name="setOpaqueMoving"></a>QMainWindow::setOpaqueMoving ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether dock windows are moved opaquely.
+See the <a href="qmainwindow.html#opaqueMoving-prop">"opaqueMoving"</a> property for details.
+<h3 class=fn>void <a name="setRightJustification"></a>QMainWindow::setRightJustification ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the main window right-justifies its dock windows.
+See the <a href="qmainwindow.html#rightJustification-prop">"rightJustification"</a> property for details.
+<h3 class=fn>void <a name="setToolBarsMovable"></a>QMainWindow::setToolBarsMovable ( bool )<tt> [slot]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>void <a name="setUpLayout"></a>QMainWindow::setUpLayout ()<tt> [virtual protected slot]</tt>
+</h3>
+Sets up the geometry management of the window. It is called
+automatically when needed, so you shouldn't need to call it.
+
+<h3 class=fn>void <a name="setUsesBigPixmaps"></a>QMainWindow::setUsesBigPixmaps ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether big pixmaps are enabled.
+See the <a href="qmainwindow.html#usesBigPixmaps-prop">"usesBigPixmaps"</a> property for details.
+<h3 class=fn>void <a name="setUsesTextLabel"></a>QMainWindow::setUsesTextLabel ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether text labels for toolbar buttons are enabled.
+See the <a href="qmainwindow.html#usesTextLabel-prop">"usesTextLabel"</a> property for details.
+<h3 class=fn>bool <a name="showDockMenu"></a>QMainWindow::showDockMenu ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos )<tt> [virtual protected slot]</tt>
+</h3>
+Shows the dock menu at the position <em>globalPos</em>. The menu lists
+the dock windows so that they can be shown (or hidden), lined up,
+and possibly customized. Returns TRUE if the menu is shown;
+otherwise returns FALSE.
+<p> If you want a custom menu, reimplement this function. You can
+create the menu from scratch or call <a href="#createDockWindowMenu">createDockWindowMenu</a>() and
+modify the result.
+
+
+<h3 class=fn><a href="qstatusbar.html">QStatusBar</a>&nbsp;* <a name="statusBar"></a>QMainWindow::statusBar () const
+</h3>
+Returns this main window's status bar. If there isn't one,
+<a href="#statusBar">statusBar</a>() creates an empty status bar, and if necessary a tool
+tip group too.
+<p> <p>See also <a href="#menuBar">menuBar</a>() and <a href="#toolTipGroup">toolTipGroup</a>().
+
+<p>Example: <a href="qfd-example.html#x2015">qfd/qfd.cpp</a>.
+<h3 class=fn>void <a name="toolBarPositionChanged"></a>QMainWindow::toolBarPositionChanged ( <a href="qtoolbar.html">QToolBar</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QToolBar&gt; <a name="toolBars"></a>QMainWindow::toolBars ( <a href="qt.html#Dock-enum">Dock</a>&nbsp;dock ) const
+</h3>
+Returns a list of all the toolbars which are in the <em>dock</em> dock
+area, regardless of their state.
+<p> For example, the <a href="qt.html#Dock-enum">TornOff</a> dock area may contain closed toolbars
+but these are returned along with the visible toolbars.
+<p> <p>See also <a href="#dockWindows">dockWindows</a>().
+
+<h3 class=fn>bool <a name="toolBarsMovable"></a>QMainWindow::toolBarsMovable () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn><a href="qtooltipgroup.html">QToolTipGroup</a>&nbsp;* <a name="toolTipGroup"></a>QMainWindow::toolTipGroup () const
+</h3>
+Returns this main window's tool tip group. If there isn't one,
+<a href="#toolTipGroup">toolTipGroup</a>() creates an empty tool tip group.
+<p> <p>See also <a href="#menuBar">menuBar</a>() and <a href="#statusBar">statusBar</a>().
+
+<h3 class=fn><a href="qdockarea.html">QDockArea</a>&nbsp;* <a name="topDock"></a>QMainWindow::topDock () const
+</h3>
+Returns the <a href="qt.html#Dock-enum">Top</a> dock area
+<p> <p>See also <a href="#bottomDock">bottomDock</a>(), <a href="#leftDock">leftDock</a>(), and <a href="#rightDock">rightDock</a>().
+
+<h3 class=fn>bool <a name="usesBigPixmaps"></a>QMainWindow::usesBigPixmaps () const
+</h3><p>Returns TRUE if big pixmaps are enabled; otherwise returns FALSE.
+See the <a href="qmainwindow.html#usesBigPixmaps-prop">"usesBigPixmaps"</a> property for details.
+<h3 class=fn>bool <a name="usesTextLabel"></a>QMainWindow::usesTextLabel () const
+</h3><p>Returns TRUE if text labels for toolbar buttons are enabled; otherwise returns FALSE.
+See the <a href="qmainwindow.html#usesTextLabel-prop">"usesTextLabel"</a> property for details.
+<h3 class=fn>void <a name="usesTextLabelChanged"></a>QMainWindow::usesTextLabelChanged ( bool )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the <a href="#setUsesTextLabel">setUsesTextLabel</a>() is called
+with a value different to the current setting. All widgets that
+should respond to such changes, e.g. toolbar buttons, must connect
+to this signal.
+
+<h3 class=fn>void <a name="whatsThis"></a>QMainWindow::whatsThis ()<tt> [virtual slot]</tt>
+</h3>
+Enters 'What's This?' mode and returns immediately.
+<p> This is the same as <a href="qwhatsthis.html#enterWhatsThisMode">QWhatsThis::enterWhatsThisMode</a>(), but
+implemented as a main window object's slot. This way it can easily
+be used for popup menus, for example:
+<p> <pre>
+ <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "What's &amp;This", this , SLOT(<a href="#whatsThis">whatsThis</a>()), SHIFT+Key_F1);
+ </pre>
+
+<p> <p>See also <a href="qwhatsthis.html#enterWhatsThisMode">QWhatsThis::enterWhatsThisMode</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="dockWindowsMovable-prop"></a>dockWindowsMovable</h3>
+<p>This property holds whether the dock windows are movable.
+<p>If TRUE (the default), the user will be able to move movable dock
+windows from one QMainWindow dock area to another, including the
+<tt>TearOff</tt> area (i.e. where the dock window floats freely as a
+window in its own right), and the <a href="qt.html#Dock-enum">Minimized</a> area (where only
+the dock window's handle is shown below the menu bar). Moveable
+dock windows can also be moved within QMainWindow dock areas, i.e.
+to rearrange them within a dock area.
+<p> If FALSE the user will not be able to move any dock windows.
+<p> By default dock windows are moved transparently (i.e. only an
+outline rectangle is shown during the drag), but this setting can
+be changed with <a href="#setOpaqueMoving">setOpaqueMoving</a>().
+<p> <p>See also <a href="#setDockEnabled">setDockEnabled</a>() and <a href="#opaqueMoving-prop">opaqueMoving</a>.
+
+<p>Set this property's value with <a href="#setDockWindowsMovable">setDockWindowsMovable</a>() and get this property's value with <a href="#dockWindowsMovable">dockWindowsMovable</a>().
+<h3 class=fn>bool <a name="opaqueMoving-prop"></a>opaqueMoving</h3>
+<p>This property holds whether dock windows are moved opaquely.
+<p>If TRUE the dock windows of the main window are shown opaquely
+(i.e. it shows the toolbar as it looks when docked) whilst it is
+being moved. If FALSE (the default) they are shown transparently,
+(i.e. as an outline rectangle).
+<p> <b>Warning:</b> Opaque moving of toolbars and dockwindows is known to
+have several problems. We recommend avoiding the use of this
+feature for the time being. We intend fixing the problems in a
+future release.
+
+<p>Set this property's value with <a href="#setOpaqueMoving">setOpaqueMoving</a>() and get this property's value with <a href="#opaqueMoving">opaqueMoving</a>().
+<h3 class=fn>bool <a name="rightJustification-prop"></a>rightJustification</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <p>This property holds whether the main window right-justifies its dock windows.
+<p>If disabled (the default), stretchable dock windows are expanded,
+and non-stretchable dock windows are given the minimum space they
+need. Since most dock windows are not stretchable, this usually
+results in an unjustified right edge (or unjustified bottom edge
+for a vertical dock area). If enabled, the main window will
+right-justify its dock windows.
+<p> <p>See also <a href="qdockwindow.html#setVerticalStretchable">QDockWindow::setVerticalStretchable</a>() and <a href="qdockwindow.html#setHorizontalStretchable">QDockWindow::setHorizontalStretchable</a>().
+
+<p>Set this property's value with <a href="#setRightJustification">setRightJustification</a>() and get this property's value with <a href="#rightJustification">rightJustification</a>().
+<h3 class=fn>bool <a name="usesBigPixmaps-prop"></a>usesBigPixmaps</h3>
+<p>This property holds whether big pixmaps are enabled.
+<p>If FALSE (the default), the tool buttons will use small pixmaps;
+otherwise big pixmaps will be used.
+<p> Tool buttons and other widgets that wish to respond to this
+setting are responsible for reading the correct state on startup,
+and for connecting to the main window's widget's
+<a href="#pixmapSizeChanged">pixmapSizeChanged</a>() signal.
+
+<p>Set this property's value with <a href="#setUsesBigPixmaps">setUsesBigPixmaps</a>() and get this property's value with <a href="#usesBigPixmaps">usesBigPixmaps</a>().
+<h3 class=fn>bool <a name="usesTextLabel-prop"></a>usesTextLabel</h3>
+<p>This property holds whether text labels for toolbar buttons are enabled.
+<p>If disabled (the default), the tool buttons will not use text
+labels. If enabled, text labels will be used.
+<p> Tool buttons and other widgets that wish to respond to this
+setting are responsible for reading the correct state on startup,
+and for connecting to the main window's widget's
+<a href="#usesTextLabelChanged">usesTextLabelChanged</a>() signal.
+<p> <p>See also <a href="qtoolbutton.html#usesTextLabel-prop">QToolButton::usesTextLabel</a>.
+
+<p>Set this property's value with <a href="#setUsesTextLabel">setUsesTextLabel</a>() and get this property's value with <a href="#usesTextLabel">usesTextLabel</a>().
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, const&nbsp;<a href="qmainwindow.html">QMainWindow</a>&nbsp;&amp;&nbsp;mainWindow )
+</h3>
+
+<p> Writes the layout (sizes and positions) of the dock windows in the
+dock areas of the QMainWindow <em>mainWindow</em>, including <a href="qt.html#Dock-enum">Minimized</a> and <a href="qt.html#Dock-enum">TornOff</a> dock windows, to the text stream <em>ts</em>.
+<p> This can be used, for example, in conjunction with <a href="qsettings.html">QSettings</a> to
+save the user's layout when the \mainWindow receives a closeEvent.
+<p> <p>See also <a href="#operator-gt-gt">operator&gt;&gt;</a>() and <a href="qwidget.html#closeEvent">closeEvent</a>().
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, <a href="qmainwindow.html">QMainWindow</a>&nbsp;&amp;&nbsp;mainWindow )
+</h3>
+
+<p> Reads the layout (sizes and positions) of the dock windows in the
+dock areas of the QMainWindow <em>mainWindow</em> from the text stream,
+<em>ts</em>, including <a href="qt.html#Dock-enum">Minimized</a> and <a href="qt.html#Dock-enum">TornOff</a> dock windows.
+Restores the dock windows and dock areas to these sizes and
+positions. The layout information must be in the format produced
+by <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+<p> This can be used, for example, in conjunction with <a href="qsettings.html">QSettings</a> to
+restore the user's layout.
+<p> <p>See also <a href="#operator-lt-lt">operator&lt;&lt;</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-1.html b/doc/html/qmake-manual-1.html
new file mode 100644
index 0000000..fe8b1b2
--- /dev/null
+++ b/doc/html/qmake-manual-1.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-preface.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction to qmake</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-2.html">Next: Installing qmake</a>]</p>
+<h2 align="center">Introduction to qmake</h2>
+<h3><a name="1"></a>Introduction to qmake</h3>
+<p><em>qmake</em> is a tool created by Trolltech to write makefiles for different compilers and platforms.</p>
+<p>Writing makefiles by hand can be difficult and error prone, especially if several makefiles are required for different compiler and platform combinations. With <em>qmake</em>, developers create a simple single 'project' file and run <em>qmake</em> to generate the appropriate makefiles. <em>qmake</em> takes care of all the compiler and platform dependencies, freeing developers to focus on their code. Trolltech uses <em>qmake</em> as the primary build tool for the Qt library, and for the tools supplied with Qt.</p>
+<p><em>qmake</em> also takes care of Qt's special requirements, automatically including build rules for <a href="moc.html">moc</a> and <em>uic</em>.</p>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-2.html">Next: Installing qmake</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-2.html b/doc/html/qmake-manual-2.html
new file mode 100644
index 0000000..33de27e
--- /dev/null
+++ b/doc/html/qmake-manual-2.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-install.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Installing qmake</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-1.html">Prev: Introduction to qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-3.html">Next: The 10 minute guide to using qmake</a>]</p>
+<h2 align="center">Installing qmake</h2>
+<h3><a name="1"></a>Installing qmake</h3>
+<p><em>qmake</em> is built by default when Qt is built.</p>
+<p>This section explains how to build <em>qmake</em> manually. Skip ahead to <a href="qmake-manual-3.html">The 10 minute guide to using qmake</a>, if you already have <em>qmake</em>.</p>
+<h4><a name="1-1"></a>Installing qmake manually</h4>
+<p>Before building Qt manually the following environment variables must be set:</p>
+<ul><li><p>QMAKESPEC <br> This must be set to the platform and compiler combination that you are using on your system. <br> For example, if you are using Windows and Microsoft Visual Studio, you would set this environment variable to <em>win32-msvc</em>. If you are using Solaris and g++, you would set this environment variable to <em>solaris-g++</em>.</p>
+<p>The following is a list of environment variables available to choose from when setting QMAKESPEC:</p>
+<p>aix-64 hpux-cc irix-032 netbsd-g++ solaris-cc unixware7-g++ aix-g++ hpux-g++ linux-cxx openbsd-g++ solaris-g++ win32-borland aix-xlc hpux-n64 linux-g++ openunix-cc sunos-g++ win32-g++ bsdi-g++ hpux-o64 linux-icc qnx-g++ tru64-cxx win32-msvc dgux-g++ hurd-g++ linux-kcc reliant-64 tru64-g++ win32-watc freebsd-g++ irix-64 macx-pbuilder reliant-cds ultrix-g++ win32-visa hpux-acc irix-g++ macx-g++ sco-g++ unixware-g hpux-acc irix-n32 solaris-64 unixware7-cc</p>
+<p>The environment variable should be set to qws/envvar where envvar is one of the following:</p>
+<p>linux-arm-g++ linux-generic-g++ linux-mips-g++ linux-x86-g++ linux-freebsd-g++ linux-ipaq-g++ linux-solaris-g++ qnx-rtp-g++</p>
+<li><p>QTDIR <br> This must be set to where Qt is (or will be) installed. For example, <em>c:\qt</em> and <em>\local\qt</em></p>
+</ul><p>Once the environment variables are set go into the qmake directory, <em>$QTDIR/qmake</em>, e.g. <em>C:\qt\qmake</em>. Now run <em>make</em> or <em>nmake</em> depending on your compiler.</p>
+<p>When the make has completed, <em>qmake</em> is ready for use.</p>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-1.html">Prev: Introduction to qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-3.html">Next: The 10 minute guide to using qmake</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-3.html b/doc/html/qmake-manual-3.html
new file mode 100644
index 0000000..4d8e115
--- /dev/null
+++ b/doc/html/qmake-manual-3.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-quick.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The 10 minute guide to using qmake</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-2.html">Prev: Installing qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-4.html">Next: qmake Tutorial</a>]</p>
+<h2 align="center">The 10 minute guide to using qmake</h2>
+<h3><a name="1"></a>Creating a project file</h3>
+<p><em>qmake</em> uses information stored in project (.pro) files to determine what should go in the makefiles it generates.</p>
+<p>A basic project file contains information about the application, for example, which files are needed to compile the application, and which configuration settings to use.</p>
+<p>Here's a simple example project file:</p>
+<pre>
+ SOURCES = hello.cpp
+ HEADERS = hello.h
+ CONFIG += qt warn_on release
+</pre>
+<p>We'll provide a brief line-by-line explanation, deferring the detail until later on in the manual.</p>
+<pre>
+ SOURCES = hello.cpp
+</pre>
+<p>This line specifies the source files that implement the application. In this case there is just one file, <em>hello.cpp</em>. Most applications require multiple files; this situation is dealt with by listing all the files on the same line space separated, like this:</p>
+<pre>
+ SOURCES = hello.cpp main.cpp
+</pre>
+<p>Alternatively, each file can be listed on a separate line, by escaping the newlines, like this:</p>
+<pre>
+ SOURCES = hello.cpp \
+ main.cpp
+</pre>
+<p>A more verbose approach is to list each file separately, like this:</p>
+<pre>
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+</pre>
+<p>This approach uses "+=" rather than "=" which is safer, because it always adds a new file to the existing list rather than replacing the list.</p>
+<p>The HEADERS line is used to specify the header files created for use by the application, e.g.</p>
+<pre>
+ HEADERS += hello.h
+</pre>
+<p>Any of the approaches used to list source files may be used for header files.</p>
+<p>The CONFIG line is used to give <em>qmake</em> information about the application's configuration.</p>
+<pre>
+ CONFIG += qt warn_on release
+</pre>
+<p>The "+=" is used here, because we add our configuration options to any that are already present. This is safer than using "=" which replaces all options with just those specified.</p>
+<p>The <em>qt</em> part of the CONFIG line tells <em>qmake</em> that the application is built using Qt. This means that <em>qmake</em> will link against the Qt libraries when linking and add in the neccesary include paths for compiling.</p>
+<p>The <em>warn_on</em> part of the CONFIG line tells <em>qmake</em> that it should set the compiler flags so that warnings are output.</p>
+<p>The <em>release</em> part of the CONFIG line tells <em>qmake</em> that the application must be built as a release application. During development, programmers may prefer to replace <em>release</em> with <em>debug</em>, which is discussed later.</p>
+<p>Project files are plain text (i.e. use an editor like notepad, vim or xemacs) and must be saved with a '.pro' extension. The name of the application's executable will be the same as the project file's name, but with an extension appropriate to the platform. For example, a project file called 'hello.pro' will produce 'hello.exe' on Windows and 'hello' on Unix.</p>
+<h3><a name="2"></a>Generating a makefile</h3>
+<p>When you have created your project file it is very easy to generate a makefile, all you need to do is go to where you have created your project file and type:</p>
+<p>Makefiles are generated from the '.pro' files like this:</p>
+<pre>
+ qmake -o Makefile hello.pro
+</pre>
+<p>For Visual Studio users, <em>qmake</em> can also generate '.dsp' files, for example:</p>
+<pre>
+ qmake -t vcapp -o hello.dsp hello.pro
+</pre>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-2.html">Prev: Installing qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-4.html">Next: qmake Tutorial</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-4.html b/doc/html/qmake-manual-4.html
new file mode 100644
index 0000000..1577835
--- /dev/null
+++ b/doc/html/qmake-manual-4.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-tutorial.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmake Tutorial</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-3.html">Prev: The 10 minute guide to using qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-5.html">Next: qmake Concepts</a>]</p>
+<h2 align="center">qmake Tutorial</h2>
+<h3><a name="1"></a>Introduction to the qmake tutorial</h3>
+<p>This tutorial teaches you how to use <em>qmake</em>. We recommend that you read the <em>qmake</em> user guide after completing this tutorial.</p>
+<h3><a name="2"></a>Starting off simple</h3>
+<p>Let's assume that you have just finished a basic implementation of your application, and you have created the following files:</p>
+<ul><li><p>hello.cpp</p>
+<li><p>hello.h</p>
+<li><p>main.cpp</p>
+</ul><p>You will find these files in <em>qt/qmake/examples/tutorial</em>. The only other thing you know about the setup of the application is that it's written in Qt. First, using your favorite plain text editor, create a file called <em>hello.pro</em> in <em>qt/qmake/tutorial</em>. The first thing you need to do is add the lines that tell <em>qmake</em> about the source and header files that are part of your development project.</p>
+<p>We'll add the source files to the project file first. To do this you need to use the SOURCES variable. Just start a new line with <em>SOURCES +=</em> and put hello.cpp after it. You should have something like:</p>
+<pre>
+ SOURCES += hello.cpp
+</pre>
+<p>We repeat this for each source file in the project, until we end up with:</p>
+<pre>
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+</pre>
+<p>If you prefer to use a Make-like syntax, with all the files listed in one go you can use the newline escaping like this:</p>
+<pre>
+ SOURCES = hello.cpp \
+ main.cpp
+</pre>
+<p>Now that the source files are listed in the project file, the header files must be added. These are added in exactly the same way as source files, except that the variable name is HEADERS:</p>
+<p>Once you have done this, your project file should look something like this:</p>
+<pre>
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+</pre>
+<p>The target name is set automatically; it is the same as the project file, but with the suffix appropriate to the platform. For example, if the project file is called 'hello.pro', the target will be 'hello.exe' on Windows and 'hello' on Unix. If you want to use a different name you can set it in the project file:</p>
+<pre>
+ TARGET = helloworld
+</pre>
+<p>The final step is to set the <em>CONFIG</em> variable. Since this is a Qt application, we need to put 'qt' on the CONFIG line so that <em>qmake</em> will add the relevant libraries to be linked against and ensure that build lines for <em>moc</em> and <em>uic</em> are included in the makefile.</p>
+<p>The finished project file should look like this:</p>
+<pre>
+ CONFIG += qt
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+</pre>
+<p>You can now use <em>qmake</em> to generate a makefile for your application. On the command line, in your application directory, type:</p>
+<pre>
+ qmake -o Makefile hello.pro
+</pre>
+<p>Then type <em>make</em> or <em>nmake</em> depending on the compiler you use.</p>
+<h3><a name="3"></a>Making an application debuggable</h3>
+<p>The release version of an application doesn't contain any debugging symbols or other debuggin information. During development it is useful to produce a debugging version of the application that has the relevant information. This is easily achieved by adding 'debug' to the CONFIG variable in the project file.</p>
+<p>For example:</p>
+<pre>
+ CONFIG += qt debug
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+</pre>
+<p>Use <em>qmake</em> as before to generate a makefile and you will be able to debug your application.</p>
+<h3><a name="4"></a>Adding platform specific source files</h3>
+<p>After a few hours of coding, you might have made a start on the platform specific part of your application, and decided to keep the platform dependent code separate. So you now have two new files to include into your project file - <em>hellowin.cpp</em> and <em>hellounix.cpp</em>. We can't just add these to the <em>SOURCES</em> variable since this will put both files in the makefile. So what we need to do here is to use a scope which will be processed depending on which platform <em>qmake</em> is run on.</p>
+<p>A simple scope which will add in the platform dependent file for Windows looks like this:</p>
+<pre>
+ win32 {
+ SOURCES += hellowin.cpp
+ }
+</pre>
+<p>So if <em>qmake</em> is run on Windows, it will add <em>hellowin.cpp</em> to the list of source files. If <em>qmake</em> is run on any other platform, it will simply ignore it. Now all that is left to be done is to create a scope for the unix dependent file.</p>
+<p>When you have done that, your project file should now look something like this:</p>
+<pre>
+ CONFIG += qt debug
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+ win32 {
+ SOURCES += hellowin.cpp
+ }
+ unix {
+ SOURCES += hellounix.cpp
+ }
+</pre>
+<p>Use <em>qmake</em> as before to generate a makefile.</p>
+<h3><a name="5"></a>Stopping qmake if a file doesn't exist</h3>
+<p>You may not want to create a makefile if a certain file doesn't exist. We can check if a file exists by using the exists() function. We can stop <em>qmake</em> from processing by using the error() function. This works in the same way as scopes. Simply replace the scope condition with the function. A check for a main.cpp file looks like this:</p>
+<pre>
+ !exists( main.cpp ) {
+ error( "No main.cpp file found" )
+ }
+</pre>
+<p>The "!" is used to negate the test, i.e. <tt>exists( main.cpp )</tt> is true if the file exists and <tt>!exists( main.cpp )</tt> is true if the file doesn't exist.</p>
+<pre>
+ CONFIG += qt debug
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+ win32 {
+ SOURCES += hellowin.cpp
+ }
+ unix {
+ SOURCES += hellounix.cpp
+ }
+ !exists( main.cpp ) {
+ error( "No main.cpp file found" )
+ }
+</pre>
+<p>Use <em>qmake</em> as before to generate a makefile. If you rename <em>main.cpp</em> temporarily, you will see the message and <em>qmake</em> will stop processing.</p>
+<h3><a name="6"></a>Checking for more than one condition</h3>
+<p>Suppose you use Windows and you want to be able to see the qDebug() statements when you run your application on the command line. Unless you build your application with the console setting, you won't see the output. We can easily put <em>console</em> on the CONFIG line so that on Windows the makefile will have this setting. But let's say that we only want to add the CONFIG line if we are running on Windows <em>and</em> when <em>debug</em> is already on the CONFIG line. This requires using two nested scopes; just create one scope, then create the other inside that one. Put the settings to be processed inside the last scope, like this:</p>
+<pre>
+ win32 {
+ debug {
+ CONFIG += console
+ }
+ }
+</pre>
+<p>Nested scopes can be joined together using colons, so the final project file looks like this:</p>
+<pre>
+ CONFIG += qt debug
+ HEADERS += hello.h
+ SOURCES += hello.cpp
+ SOURCES += main.cpp
+ win32 {
+ SOURCES += hellowin.cpp
+ }
+ unix {
+ SOURCES += hellounix.cpp
+ }
+ !exists( main.cpp ) {
+ error( "No main.cpp file found" )
+ }
+ win32:debug {
+ CONFIG += console
+ }
+</pre>
+<p>That's it! You have now completed the tutorial for <em>qmake</em>, and are ready to write project files for your development projects.</p>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-3.html">Prev: The 10 minute guide to using qmake</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-5.html">Next: qmake Concepts</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-5.html b/doc/html/qmake-manual-5.html
new file mode 100644
index 0000000..2378e7b
--- /dev/null
+++ b/doc/html/qmake-manual-5.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-concepts.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmake Concepts</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-4.html">Prev: qmake Tutorial</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-6.html">Next: qmake's Advanced Concepts</a>]</p>
+<h2 align="center">qmake Concepts</h2>
+<h3><a name="1"></a>Introducing qmake</h3>
+<p><em>qmake</em> is an easy-to-use tool from Trolltech that creates makefiles for development projects across different platforms. <em>qmake</em> simplifies the generation of makefiles so that only a few lines of information are needed to create a makefile. <em>qmake</em> can be used for any software project whether it is written in Qt or not, although it also contains additional features to support Qt development.</p>
+<p><em>qmake</em> generates a makefile based on the information in a project file. Project files are created by the developer. Project files are usually simple, but can be quite sophisticated if required. <em>qmake</em> can also generate projects for Microsoft Visual studio without having to change the project file.</p>
+<h3><a name="2"></a>qmake's Concepts</h3>
+<h4><a name="2-1"></a>The QMAKESPEC environment variable</h4>
+<p>Before <em>qmake</em> can be used to build makefiles, the QMAKESPEC environment variable must be set to the platform-compiler combination that is being used on the system. The QMAKESPEC environment variable tells qmake where to look to find platform and compiler specific information. This ensures that the right libraries are used, and that the generated makefile uses the correct syntax. A list of the currently supported platform-compiler combinations can be found in qt/mkspecs. Just set your environment variable to one of the directories listed.</p>
+<p>For example, if you are using Microsoft Visual Studio on Windows, then you would set the QMAKESPEC environment variable to <em>win32-msvc</em>. If you are using gcc on Solaris then you would set your QMAKESPEC environment variable to <em>solaris-g++</em>.</p>
+<p>Inside each of the directories in qt/mkspecs, there is a <em>qmake.conf</em> file which contains the platform and compiler specific information. These settings are applied to any project that is built using <em>qmake</em> and should not be modified unless you're an expert. For example, if all your applications had to link against a particular library, you might add this information to the relevant <em>qmake.conf</em> file.</p>
+<h4><a name="2-2"></a>Project (.pro) files</h4>
+<p>A project file is used to tell <em>qmake</em> the details it needs to know about creating a makefile for the application. For instance, a list of source files and header files that should be put into the project file; any application specific configuration, such as an extra library that should be linked against, or an extra include path.</p>
+<h5><a name="2-2-1"></a>'#' comments</h5>
+<p>You can add comments to project files. Comments begin with the '#' symbol and run to the end of the line.</p>
+<h4><a name="2-3"></a>Templates</h4>
+<p>The template variable tells <em>qmake</em> what sort of makefile should be generated for the application. The following choices are available:</p>
+<ul><li><p>app - Creates a makefile that builds an application. This is the default, so if a template is not specified, this is used.</p>
+<li><p>lib - Creates a makefile that builds a library.</p>
+<li><p>vcapp - Creates a Visual Studio Project file which builds an application.</p>
+<li><p>vclib - Creates a Visual Studio Project file which builds a library.</p>
+<li><p>subdirs - This is a special template which creates a makefile which will go into the specified directories and create a makefile for the project file and call make on it.</p>
+</ul><h5><a name="2-3-1"></a>The 'app' template</h5>
+<p>The 'app' template tells <em>qmake</em> to generate a makefile that will build an application. When using this template the following <em>qmake</em> system variables are recognized. You should use these in your .pro file to specify information about your application.</p>
+<ul><li><p>HEADERS - A list of all the header files for the application.</p>
+<li><p>SOURCES - A list of all the source files for the application.</p>
+<li><p>FORMS - A list of all the .ui files (created using <em>Qt Designer</em>) for the application.</p>
+<li><p>LEXSOURCES - A list of all the lex source files for the application.</p>
+<li><p>YACCSOURCES - A list of all the yacc source files for the application.</p>
+<li><p>TARGET - Name of the executable for the application. This defaults to the name of the project file. (The extension, if any, is added automatically).</p>
+<li><p>DESTDIR - The directory in which the target executable is placed.</p>
+<li><p>DEFINES - A list of any additional pre-processor defines needed for the application.</p>
+<li><p>INCLUDEPATH - A list of any additional include paths needed for the application.</p>
+<li><p>DEPENDPATH - The dependency search path for the application.</p>
+<li><p>VPATH - The search path to find supplied files.</p>
+<li><p>DEF_FILE - Windows only: A .def file to be linked against for the application.</p>
+<li><p>RC_FILE - Windows only: A resource file for the application.</p>
+<li><p>RES_FILE - Windows only: A resource file to be linked against for the application.</p>
+</ul><p>You only need to use the system variables that you have values for, for instance, if you don't have any extra INCLUDEPATHs then you don't need to specify any, <em>qmake</em> will add in the default ones needed. For instance, an example project file might look like this:</p>
+<pre>
+TEMPLATE = app
+DESTDIR = c:\helloapp
+HEADERS += hello.h
+SOURCES += hello.cpp
+SOURCES += main.cpp
+DEFINES += QT_DLL
+CONFIG += qt warn_on release
+</pre>
+<p>For items that are single valued, e.g. the template or the destination directory, we use "="; but for multi-valued items we use "+=" to <em>add</em> to the existing items of that type. Using "=" replaces the item's value with the new value, for example if we wrote <tt>DEFINES=QT_DLL</tt>, all other definitions would be deleted.</p>
+<h5><a name="2-3-2"></a>The 'lib' template</h5>
+<p>The 'lib' template tells <em>qmake</em> to generate a makefile that will build a library. When using this template, in addition to the system variables mentioned above for the 'app' template the <em>VERSION</em> variable is supported. You should use these in your .pro file to specify information about the library.</p>
+<ul><li><p>VERSION - The version number of the target library, for example, 2.3.1.</p>
+</ul><h5><a name="2-3-3"></a>The 'subdirs' template</h5>
+<p>The 'subdirs' template tells qmake to generate a makefile that will go into the specified subdirectories and generate a makefile for the project file in the directory and call make on it.</p>
+<p>The only system variable that is recognised for this template is the <em>SUBDIRS</em> variable. This variable contains a list of all the subdirectories that contain project files to be processed. It is essential that the project file in the sub directory has the same name as the subdirectory, so that <em>qmake</em> can find it. For example, if the subdirectory is called 'myapp' then the project file in that directory should be called <em>myapp.pro</em> in that directory.</p>
+<h4><a name="2-4"></a>The CONFIG variable</h4>
+<p>The config variable specifies the options that the compiler should use and the libraries that should be linked against. Anything can be added to the config variable, but the options covered below are recognised by qmake internally.</p>
+<p>The following options control what compiler flags are used:</p>
+<ul><li><p>release - The application is to be built in release mode. This is ignored if 'debug' is specified.</p>
+<li><p>debug - The application is to be built in debug mode.</p>
+<li><p>warn_on - The compiler should output as many warnings as possible. This is ignored if 'warn_off' is specified.</p>
+<li><p>warn_off - The compiler should output as few warnings as possible.</p>
+</ul><p>The following options define the type of library/application to be built:</p>
+<ul><li><p>qt - The application is a Qt application and should link against the Qt library.</p>
+<li><p>thread - The application is a multi-threaded application.</p>
+<li><p>x11 - The application is an X11 application or library.</p>
+<li><p>windows - 'app' template only: the application is a Windows window application.</p>
+<li><p>console - 'app' template only: the application is a Windows console application.</p>
+<li><p>dll - 'lib' template only: The library is a shared library (dll).</p>
+<li><p>staticlib - 'lib' template only: The library is a static library.</p>
+<li><p>plugin - 'lib' template only: The library is a plugin; this enables the dll option.</p>
+</ul><p>For example, if your application uses the Qt library and you want to build it as a debuggable multi-threaded application, your project file will have the following line:</p>
+<pre>
+ CONFIG += qt thread debug
+</pre>
+<p>Note, that you must use "+=", not "=", or <em>qmake</em> will not be able to use the settings used to build Qt as a guide as what type of Qt library was built.</p>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-4.html">Prev: qmake Tutorial</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-6.html">Next: qmake's Advanced Concepts</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-6.html b/doc/html/qmake-manual-6.html
new file mode 100644
index 0000000..16c3291
--- /dev/null
+++ b/doc/html/qmake-manual-6.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-advanced.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmake's Advanced Concepts</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-5.html">Prev: qmake Concepts</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-7.html">Next: Using Precompiled Headers</a>]</p>
+<h2 align="center">qmake's Advanced Concepts</h2>
+<h3><a name="1"></a>qmake's Advanced Concepts</h3>
+<p>The <em>qmake</em> project files we've seen up to now have been very simple, just a list of <em>name = value</em> and <em>name += value</em> lines. <em>qmake</em> provides a lot more power, for example you can use a single project file to produce makefiles for multiple platforms.</p>
+<h3><a name="2"></a>Operators</h3>
+<p>So far, you have seen the <em>=</em> operator and <em>+=</em> operator being used in a project file. There are more operators available for use; but some of these should be used carefully as they may change more than you expect them to.</p>
+<h4><a name="2-1"></a>The '=' operator</h4>
+<p>This operator simply assigns a value to a variable, it is used like this:</p>
+<pre>
+ TARGET = myapp
+</pre>
+<p>This sets the TARGET variable to <em>myapp</em>. This will remove any previously set TARGET.</p>
+<h4><a name="2-2"></a>The '+=' operator</h4>
+<p>This operator appends a value to the list of values in a variable. It is used like this:</p>
+<pre>
+ DEFINES += QT_DLL
+</pre>
+<p>This appends QT_DLL to the list of pre-processor defines to be put in the makefile.</p>
+<h4><a name="2-3"></a>The '-=' operator</h4>
+<p>This operator removes a value from the list of values in a variable. It is used like this:</p>
+<pre>
+ DEFINES -= QT_DLL
+</pre>
+<p>This removes QT_DLL from the list of pre-processor defines to be put in the makefile.</p>
+<h4><a name="2-4"></a>The '*=' operator</h4>
+<p>This operator only adds a value to the list of values in a variable if it doesn't already exist. It is used like this:</p>
+<pre>
+ DEFINES *= QT_DLL
+</pre>
+<p>QT_DLL will only be added to the list of pre-processor defines if it is not already defined.</p>
+<h4><a name="2-5"></a>The '~=' operator</h4>
+<p>This operator replaces any values that match the regexp with the specified value. It is used like this:</p>
+<pre>
+ DEFINES ~= s/QT_[DT].+/QT
+</pre>
+<p>This removes any values in the list that start with QT_D or QT_T with QT.</p>
+<h3><a name="3"></a>Scopes</h3>
+<p>A scope are similar to 'if' statements, if a certain condition is true, the settings inside the scope are processed. A scope is written like this:</p>
+<pre>
+ win32 {
+ DEFINES += QT_DLL
+ }
+</pre>
+<p>The above code will add the QT_DLL define to the makefile if <em>qmake</em> is used on a Windows platform. If <em>qmake</em> is used on a different platform than Windows, the define will be ignored. You may also perform single line conditionals/assignments with qmake like this:</p>
+<pre>
+ win32:DEFINES += QT_DLL
+</pre>
+<p>For example, suppose we want to process something on all platforms <em>except</em> for Windows. We can achieve this by negating the scope like this:</p>
+<pre>
+ !win32 {
+ DEFINES += QT_DLL
+ }
+</pre>
+<p>Any entry on the CONFIG line is also a scope. For example, if you write this:</p>
+<pre>
+ CONFIG += warn_on
+</pre>
+<p>you will have a scope called 'warn_on'. This makes it easy to change the configuration for a project without losing all the custom settings that might be needed for a specific configuration. Since it is possible to put your own values on the CONFIG line, this provides you with a very powerful configuration tool for your makefiles. For example:</p>
+<pre>
+ CONFIG += qt warn_on debug
+ debug {
+ TARGET = myappdebug
+ }
+ release {
+ TARGET = myapp
+ }
+</pre>
+<p>In the above code, two scopes are created which depend on what is put on the CONFIG line. In the example, <em>debug</em> is on the config line, so the TARGET variable is set to <em>myappdebug</em>. If <em>release</em> was on the config line, then the TARGET variable would be set to <em>myapp</em>.</p>
+<p>It is also possible to check for two things before processing some settings. For instance, if you want to check if the platform is Windows and that the thread configuration is set, you would write this:</p>
+<pre>
+ win32 {
+ thread {
+ DEFINES += QT_THREAD_SUPPORT
+ }
+ }
+</pre>
+<p>To save writing many nested scopes, you can nest scopes using a colon like this:</p>
+<pre>
+ win32:thread {
+ DEFINES += QT_THREAD_SUPPORT
+ }
+</pre>
+<p>Once a test has been performed you may also do else/elseif operations. With this you may easily write complicated tests. This can be done with the special 'else' scope, it can be combined with other scopes (separated by colons as above) for example:</p>
+<pre>
+ win32:thread {
+ DEFINES += QT_THREAD_SUPPORT
+ } else:debug {
+ DEFINES += QT_NOTHREAD_DEBUG
+ } else {
+ message("Unknown configuration")
+ }
+</pre>
+<h3><a name="4"></a>Variables</h3>
+<p>The variables that we have encountered so far are system variables, such as <em>DEFINES</em>, <em>SOURCES</em> and <em>HEADERS</em>. It is possible for you to create your own variables so that you use them in scopes. It's easy to create your own variable; just name it and assign something to it. For example:</p>
+<pre>
+ MY_VARIABLE = value
+</pre>
+<p>There are no restricitions on what you do to your own variables, as <em>qmake</em> will just ignore them unless it needs to look at them for a scope.</p>
+<p>You can also assign the value of a current variable to another variable by prefixing $$ to the variable name. For example:</p>
+<pre>
+ MY_DEFINES = $$DEFINES
+</pre>
+<p>Now the MY_DEFINES variable contains what is in the DEFINES variable at this point in the project file. This is also equivalent to:</p>
+<pre>
+ MY_DEFINES = $${DEFINES}
+</pre>
+<p>The second notation allows you to adjoin the variable expansion to another value without separating by space. <em>qmake</em> will allow a variable to contain anything (including $(VALUE), which will be placed directly into the Makefile, and allow it to expand as appropriate, usually an environment variable). However, if you require an environment variable to be replaced immediately then you may use the $$() notation. For example:</p>
+<pre>
+ MY_DEFINES = $$(ENV_DEFINES)
+</pre>
+<p>This will set MY_DEFINES to the value of the evironment variable ENV_DEFINES as it parses the .pro file. Additionally you may call built-in functions in variable replacing. These functions (not to be confused with Test Functions as enumerated in the next section) are listed below:</p>
+<h4><a name="4-1"></a>join( variablename, glue, before, after )</h4>
+<p>This will join the value of <em>variablename</em> with glue. If this value is non-empty it will prefix the value with <em>before</em> and suffix it with <em>after</em>. <em>variablename</em> is the only required field, the others will default to empty strings. If you need to encode spaces in <em>glue</em>, <em>before</em>, or <em>after</em> you must quote them.</p>
+<h4><a name="4-2"></a>prompt( question )</h4>
+<p>This will display <em>question</em>, and read from stdin as a return value.</p>
+<h4><a name="4-3"></a>member( variablename, position )</h4>
+<p>This will place the value in <em>variablename</em> in position <em>position</em> of the list. If the value of <em>variablename</em> is not long this will return an empty string. <em>variablename</em> is the only required field, if not specified position will default to the first value in the list (0).</p>
+<h4><a name="4-4"></a>find( variablename, substr )</h4>
+<p>This will place all the values in <em>variablename</em> that match <em>substr</em>. <em>substr</em> may be a regular expression as well, and will be matched accordingly.</p>
+<pre>
+ MY_VAR = one two three four
+ MY_VAR2 = $$join(MY_VAR, " -L", -L) -Lfive
+ MY_VAR3 = $$member(MY_VAR, 2) $$find(MY_VAR, t.*)
+</pre>
+<p>MY_VAR2 will contain '-Lone -Ltwo -Lthree -Lfour -Lfive', and MYVAR3 will contains 'three two three'.</p>
+<h4><a name="4-5"></a>system( program_and_args )</h4>
+<p>This will return the stdout/stderr of the program executed, and parse it as normally expected. You can use this to interrogate information about the platform for example.</p>
+<pre>
+ UNAME = $$system(uname -s)
+ contains( UNAME, [lL]inux ):message( This looks like Linux ($$UNAME) to me )
+</pre>
+<h3><a name="5"></a>Test Functions</h3>
+<p><em>qmake</em> provides built-in functions that perform simple, yet powerful tests. These tests may be used in place of scopes (as described above), in some cases it is more usefull to use the test function by itself ignoring its test value.</p>
+<h4><a name="5-1"></a>contains( variablename, value )</h4>
+<p>If <em>value</em> is in the list of values stored in the variable called <em>variablename</em>, then the settings inside the scope will be processed. For example:</p>
+<pre>
+ contains( CONFIG, thread ) {
+ DEFINES += QT_THREAD_SUPPORT
+ }
+</pre>
+<p>If <em>thread</em> is in the list of values for the <em>CONFIG</em> variable, then QT_THREAD_SUPPORT will be added to the list of values in the <em>DEFINES</em> variable.</p>
+<h4><a name="5-2"></a>count( variablename, number )</h4>
+<p>If <em>number</em> matches the number of values stored in the variable called <em>variablename</em>, then the settings inside the scope will be processed. For example:</p>
+<pre>
+ count( DEFINES, 5 ) {
+ CONFIG += debug
+ }
+</pre>
+<h4><a name="5-3"></a>error( string )</h4>
+<p>This function outputs the string given and then makes <em>qmake</em> exit. For example:</p>
+<pre>
+ error( "An error has occured" )
+</pre>
+<p>The text "An error has occured" will be displayed on the console and <em>qmake</em> will exit.</p>
+<h4><a name="5-4"></a>exists( filename )</h4>
+<p>If the specified file exists, then the settings inside the scope will be processed. For example:</p>
+<pre>
+ exists( /local/qt/qmake/main.cpp ) {
+ SOURCES += main.cpp
+ }
+</pre>
+<p>If <em>/local/qt/qmake/main.cpp</em> exists then main.cpp is added to the list of source files.</p>
+<p>Note that "/" can be used as a directory separator regardless of the platform.</p>
+<h4><a name="5-5"></a>equals( variable, value )</h4>
+<p>If the specified variable is equal to the value passed the scope will be processed. For example:</p>
+<pre>
+ NUMBERS = 1 2 3
+ equals( NUMBERS, 3 4 5 ) {
+ message("The numbers are equal")
+ }
+</pre>
+<p>The message will not be displayed because "1 2 3" does not equal "1 2 3". As with all functions you can pass an expanded variable as the value argument (ie, $$NUMBERS).</p>
+<h4><a name="5-6"></a>include( filename )</h4>
+<p>The contents of filename are included at this point in the project file, so any settings in the specified file will be processed. An example of this is:</p>
+<pre>
+ include( myotherapp.pro )
+</pre>
+<p>Any settings in the <em>myotherapp.pro</em> project file are now processed.</p>
+<h4><a name="5-7"></a>isEmpty( variablename )</h4>
+<p>This is the equivalent of using count( variablename, 0 ). If the variable called <em>variablename</em> has no elements, then the settings inside the scope will be processed. An example of this is:</p>
+<pre>
+ isEmpty( CONFIG ) {
+ CONFIG += qt warn_on debug
+ }
+</pre>
+<h4><a name="5-8"></a>message( string )</h4>
+<p>This function simply outputs a message on the console.</p>
+<pre>
+ message( "This is a message" )
+</pre>
+<p>The text "This is a message" is output to the console and processing of the project file carries on.</p>
+<h4><a name="5-9"></a>system( command )</h4>
+<p>The specified command is performed and if it returns an exit code of 1, the settings inside the scope are processed. For example:</p>
+<pre>
+ system( ls /bin ) {
+ SOURCES += bin/main.cpp
+ HEADERS += bin/main.h
+ }
+</pre>
+<p>So if the command <em>ls /bin</em> returns 1 then <em>bin/main.cpp</em> is added to the list of sources and <em>bin/main.h</em> is added to the list of headers.</p>
+<h4><a name="5-10"></a>infile( filename, var, val )</h4>
+<p>This function will succeed if the file <em>filename</em> (when parsed by qmake itself) contains the variable <em>var</em> with a value of <em>val</em>. You may also not pass in a third argument (<em>val</em>) and the function will only test if <em>var</em> has been assigned to in the file.</p>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-5.html">Prev: qmake Concepts</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-7.html">Next: Using Precompiled Headers</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-7.html b/doc/html/qmake-manual-7.html
new file mode 100644
index 0000000..fb5f37d
--- /dev/null
+++ b/doc/html/qmake-manual-7.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-pch.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Precompiled Headers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-6.html">Prev: qmake's Advanced Concepts</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-8.html">Next: qmake Command Reference</a>]</p>
+<h2 align="center">Using Precompiled Headers</h2>
+<a name="About"></a><h3><a name="1"></a>About Precompiled Headers<!-- index About Precompiled Headers --><!-- index Using Precompiled Headers --><!-- index Precompiled Headers --><!-- index PCH --></h3>
+<p>Precompiled headers are a performance feature supported by some compilers to compile a stable body of code, and store the compiled state of the code in a binary file. During subsequent compilations, the compiler will load the stored state, and continue compiling the specified file. Each subsequent compilation is faster because the stable code does not need to be recompiled.</p>
+<p><em>qmake</em> supports the use of precompiled headers (PCH) on some platforms and build environments, including:</p>
+<ul><li><p>Windows</p>
+<ul><li><p>nmake</p>
+<li><p>Dsp projects (VC 6.0)</p>
+<li><p>Vcproj projects (VC 7.0 &amp; 7.1)</p>
+</ul><li><p>Mac OS X</p>
+<ul><li><p>Makefile</p>
+<li><p>Xcode</p>
+<li><p>GCC 3.3 and up</p>
+</ul><li><p>Unix</p>
+<ul><li><p>GCC 3.4 and up</p>
+</ul></ul><a name="ADD_PCH"></a><h3><a name="2"></a>Adding PCH to your project</h3>
+<a name="PCH_CONTENTS"></a><h4><a name="2-1"></a>Contents of the precompiled header file</h4>
+<p>The precompiled header must contain code which is <em>stable</em> and <em>static</em> throughout your project. A typical PCH might look like this:</p>
+<h5><a name="2-1-1"></a>stable.h</h5>
+<pre>
+ /* Add C includes here */
+
+ #if defined __cplusplus
+ /* Add C++ includes here */
+ #include &lt;stdlib&gt;
+ #include &lt;iostream&gt;
+ #include &lt;vector&gt;
+ #include &lt;qapplication.h&gt; // Qt includes
+ #include &lt;qpushbutton.h&gt;
+ #include &lt;qlabel.h&gt;
+ #include "thirdparty/include/libmain.h"
+ #include "my_stable_class.h"
+ ...
+ #endif
+</pre>
+<p>Note that a precompiled header file needs to separate C includes from CPP includes, since the precompiled header file for C files may not contain C++ code.</p>
+<a name="PROJECT_OPTIONS"></a><h4><a name="2-2"></a>Project options</h4>
+<p>To make your project use PCH, the only thing you need to change in your project settings (.pro), is to include the PRECOMPILED_HEADER option:</p>
+<pre>
+ PRECOMPILED_HEADER = stable.h
+</pre>
+<p><em>qmake</em> will handle the rest, to ensure the creation and use of the precompiled header file. You do not need to include the precompiled header file in HEADERS, as qmake will do this if the configuration supports PCH.</p>
+<p>All platforms that support precompiled headers have the configuration option <b>precompile_header</b> set. Using this option, you may trigger conditional blocks in your .pro file, to add settings when using PCH. For example:</p>
+<pre>
+ precompile_header:!isEmpty(PRECOMPILED_HEADER) {
+ DEFINES += USING_PCH
+ }
+
+</pre>
+<a name="EXAMPLE_PROJECT"></a><h3><a name="3"></a>Example project</h3>
+<p>You can find the following source code in the <em>qt/qmake/examples/precompile</em> directory:</p>
+<p><b>mydialog.ui</b></p>
+<pre> &lt;!DOCTYPE UI&gt;&lt;UI version="3.3" stdsetdef="1"&gt;
+ &lt;class&gt;MyDialog&lt;/class&gt;
+ &lt;widget class="QDialog"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;MyDialog&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="caption"&gt;
+ &lt;string&gt;Mach 2!&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;vbox&gt;
+ &lt;widget class="QLabel"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;aLabel&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="text"&gt;
+ &lt;string&gt;Join the life in the fastlane; - PCH enable your project today! -&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;/widget&gt;
+ &lt;widget class="QPushButton"&gt;
+ &lt;property name="name"&gt;
+ &lt;cstring&gt;aButton&lt;/cstring&gt;
+ &lt;/property&gt;
+ &lt;property name="text"&gt;
+ &lt;string&gt;&amp;amp;Quit&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;property name="accel"&gt;
+ &lt;string&gt;Alt+Q&lt;/string&gt;
+ &lt;/property&gt;
+ &lt;/widget&gt;
+ &lt;/vbox&gt;
+ &lt;/widget&gt;
+ &lt;/UI&gt;
+</pre>
+ <p><b>stable.h</b></p>
+<pre> /* Add C includes here */
+
+ #if defined __cplusplus
+ /* Add C++ includes here */
+
+ # include &lt;iostream&gt;
+ # include &lt;qapplication.h&gt;
+ # include &lt;qpushbutton.h&gt;
+ # include &lt;qlabel.h&gt;
+ #endif
+</pre>
+ <p><b>myobject.h</b></p>
+<pre> #include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+
+ class MyObject : public <a href="qobject.html">QObject</a>
+ {
+ public:
+ MyObject();
+ ~MyObject();
+ };
+</pre>
+ <p><b>myobject.cpp</b></p>
+<pre> #include &lt;iostream&gt;
+ #include &lt;<a href="qobject-h.html">qobject.h</a>&gt;
+ #include "myobject.h"
+
+ MyObject::MyObject()
+ : <a href="qobject.html">QObject</a>()
+ {
+ std::cout &lt;&lt; "MyObject::MyObject()\n";
+ }
+</pre>
+ <p><b>util.cpp</b></p>
+<pre> void util_function_does_nothing()
+ {
+ // Nothing here...
+ int x = 0;
+ ++x;
+ }
+</pre>
+ <p><b>main.cpp</b></p>
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+ #include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+ #include "myobject.h"
+ #include "mydialog.h"
+
+ int main(int argc, char **argv)
+ {
+ <a href="qapplication.html">QApplication</a> app(argc, argv);
+
+ MyObject obj;
+ MyDialog dia;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;dia );
+ dia.connect( dia.aButton, SIGNAL(clicked()), SLOT(<a href="qwidget.html#close">close</a>()) );
+ dia.show();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+ <p><b>precompile.pro</b></p>
+<pre> #############################################
+ #
+ # Example for using Precompiled Headers
+ #
+ #############################################
+ TEMPLATE = app
+ LANGUAGE = C++
+ CONFIG += console precompile_header
+
+ # Use Precompiled headers (PCH)
+ PRECOMPILED_HEADER = stable.h
+
+ HEADERS += stable.h \
+ myobject.h
+ SOURCES += main.cpp \
+ myobject.cpp \
+ util.cpp
+ FORMS = mydialog.ui
+</pre>
+<!-- eof -->
+<p align="right">[<a href="qmake-manual-6.html">Prev: qmake's Advanced Concepts</a>] [<a href="qmake-manual.html">Home</a>] [<a href="qmake-manual-8.html">Next: qmake Command Reference</a>]</p>
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual-8.html b/doc/html/qmake-manual-8.html
new file mode 100644
index 0000000..1cff3f7
--- /dev/null
+++ b/doc/html/qmake-manual-8.html
@@ -0,0 +1,732 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/qmake/book/qmake-commandreference.leaf:3 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> qmake Command Reference</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="qmake-manual-7.html">Prev: Using Precompiled Headers</a>] [<a href="qmake-manual.html">Home</a>]</p>
+<h2 align="center"> qmake Command Reference</h2>
+<h3><a name="1"></a>qmake Command Reference</h3>
+<ul><li><p><a href="qmake-manual-8.html#About">About This Reference</a></p>
+<li><p><a href="qmake-manual-8.html#Commands">Command Line Options</a></p>
+<li><p><a href="qmake-manual-8.html#SystemVariables">System Variables</a></p>
+<li><p><a href="qmake-manual-8.html#Functions">Functions</a></p>
+<li><p><a href="qmake-manual-8.html#Properties">Properties</a></p>
+<li><p><a href="qmake-manual-8.html#Environment">Environment Variables and Configuration</a></p>
+<li><p><a href="qmake-manual-8.html#Extensions">File Extensions</a></p>
+<li><p><a href="qmake-manual-8.html#Customizing">Customizing Makefile Output</a></p>
+</ul><a name="About"></a><h3><a name="2"></a>About This Reference</h3>
+<p>This reference is a detailed index of all command line options, configurations and internal variables used by the cross-platform makefile generation utility <em>qmake</em>.</p>
+<p>In addition to the variables and functions described in the following sections, <em>qmake</em> project files may also include comments. Comments begin with the '#' symbol and run to the end of the line.</p>
+<a name="Commands"></a><h3><a name="3"></a>Command Line Options</h3>
+<h4><a name="3-1"></a>Syntax</h4>
+<pre>
+qmake [options] files
+</pre>
+<h4><a name="3-2"></a>Options</h4>
+<p>The following options can be specified on the command line to <em>qmake</em>:</p>
+<ul><li><p><tt>-o</tt> file <br> <em>qmake</em> output will be directed to <em>file</em>. if this argument is not specified, then <em>qmake</em> will try to guess a suitable name. If '-' is specified, output is directed to stdout.</p>
+<li><p><tt>-unix</tt> <br> <em>qmake</em> will run in unix mode. In this mode, Unix file naming and path conventions will be used, additionally testing for unix (as a scope) will succeed. This is the default mode on all Unices.</p>
+<li><p><tt>-macx</tt> <br> <em>qmake</em> will run in Mac OS X mode. In this mode, Unix file naming and path conventions will be used, additionally testing for macx (as a scope) will succeed. This is the default mode on Mac OS X.</p>
+<li><p><tt>-win32</tt> <br> <em>qmake</em> will run in win32 mode. In this mode, Windows file naming and path conventions will be used, additionally testing for win32 (as a scope) will succeed. This is the default mode on Windows.</p>
+<li><p><tt>-d</tt> <br> <em>qmake</em> will output (hopefully) useful debugging information.</p>
+<li><p><tt>-t</tt> tmpl <br> <em>qmake</em> will override any set TEMPLATE variables with tmpl, but only <em>after</em> the .pro file has been processed.</p>
+<li><p><tt>-tp</tt> prefix <br> <em>qmake</em> will add the prefix to the TEMPLATE variable.</p>
+<li><p><tt>-help</tt> <br> <em>qmake</em> will go over these features and give some useful help.</p>
+</ul><p>There are also warning options that can help to find problems in your project file:</p>
+<ul><li><p><tt>-Wall</tt> <br> With this <em>qmake</em> will turn on all known warnings.</p>
+<li><p><tt>-Wnone</tt> <br> No warning information will be generated by <em>qmake</em>.</p>
+<li><p><tt>-Wparser</tt> <br> <em>qmake</em> will only generate parser warnings, this will alert you to common pitfalls, and potential problems in the parsing of your .pro files.</p>
+<li><p><tt>-Wlogic</tt> <br> Again <em>qmake</em> will warn of common pitfalls, and potential problems. This can include (but not limited to) checking if a file is placed into a list of files multiple times, if a file cannot be found, etc.</p>
+</ul><p><em>qmake</em> supports two different modes of operation. The first mode, which is the default is makefile generation. In this mode, <em>qmake</em> will take a .pro file and turn it into a makefile. Creating makefiles is covered by this reference guide, there is another mode which generates .pro files.</p>
+<p>To toggle between these modes you must specify in the first argument what mode you want to use. If no mode is specified, <em>qmake</em> will assume you want makefile mode. The available modes are:</p>
+<ul><li><p><tt>-makefile</tt> <br> <em>qmake</em> output will be a makefile (<a href="qmake-manual-8.html#MakefileMode">Makefile mode</a>).</p>
+<li><p><tt>-project</tt> <br> <em>qmake</em> output will be a project file (<a href="qmake-manual-8.html#ProjectfileMode">Project file mode</a>).</p>
+</ul><a name="MakefileMode"></a><h5><a name="3-2-1"></a>Makefile Mode</h5>
+<p>In Makefile mode <em>qmake</em> will generate a makefile. Additionally you may supply the following arguments in this mode:</p>
+<ul><li><p><tt>-after</tt> <br> <em>qmake</em> will process assignments given on the commandline after the specified files.</p>
+<li><p><tt>-nocache</tt> <br> <em>qmake</em> will ignore the .qmake.cache file.</p>
+<li><p><tt>-nodepend</tt> <br> <em>qmake</em> will not generate any dependency information.</p>
+<li><p><tt>-cache</tt> file <br> <em>qmake</em> will use <em>file</em> as the cache file, ignoring any other .qmake.cache file found</p>
+<li><p><tt>-spec</tt> spec <br> <em>qmake</em> will use <em>spec</em> as a path to platform-compiler information and QMAKESPEC will be ignored.</p>
+</ul><p>The <tt>files</tt> argument can be a list of one or more project files, separated by spaces. You may also pass qmake assignments on the command line here and they will be processed before all files specified, for example:</p>
+<p>qmake -makefile -unix -o Makefile "CONFIG+=test" test.pro</p>
+<p>If however you are certain you want your variables processed after the the files specified, then you may pass the -after argument. When this is specified all assignments on the commandline after the -after option will be postponed until after the specified files are parsed.</p>
+<p>This will generate a Makefile, from test.pro with Unix pathnames. However many of these arguments aren't necessary as they are the default. Therefore the line can be simplified on Unix to:</p>
+<p>qmake "CONFIG+=test" test.pro</p>
+<a name="ProjectfileMode"></a><h5><a name="3-2-2"></a>Projectfile Mode</h5>
+<p>In Projectfile mode <em>qmake</em> will generate a project file. Additionally, you may supply the following arguments in this mode:</p>
+<ul><li><p><tt>-r</tt> <br> <em>qmake</em> will look through supplied directories recursively</p>
+<li><p><tt>-nopwd</tt> <br> <em>qmake</em> will not look in your current working directory for source code and only use the specified <tt>files</tt></p>
+</ul><p>The <tt>files</tt> argument can be a list of files or directories. If a directory is specified, then it will be included in the <a href="qmake-manual-8.html#DEPENDPATH">DEPENDPATH</a> variable and relevant code from there will be included in the generated project file, if a file is given it will go into the correct variable depending on extension (i.e. .ui files go into FORMS, .cpp files go into SOURCES, etc). Here too you may pass assignments on the commandline, when doing so these assignments will be placed last in the generated .pro file.</p>
+<a name="SystemVariables"></a><h3><a name="4"></a>System Variables</h3>
+<ul><li><p><a href="qmake-manual-8.html#FrequentlyUsedSystemVariables">Frequently Used System Variables</a></p>
+<li><p><a href="qmake-manual-8.html#RarelyUsedSystemVariables">Rarely Used System Variables</a></p>
+</ul><a name="FrequentlyUsedSystemVariables"></a><h4><a name="4-1"></a>Frequently Used System Variables</h4>
+<p>The following variables are recognized by <em>qmake</em> and are used most frequently when creating project files.</p>
+<a name="CONFIG"></a><h5><a name="4-1-1"></a>CONFIG</h5>
+<p>The <tt>CONFIG</tt> variable specifies project configuration and compiler options. The values will be recognized internally by <em>qmake</em> and have special meaning. They are as follows.</p>
+<p>These <tt>CONFIG</tt> values control compilation flags:</p>
+<ul><li><p>release - Compile with optimization enabled, ignored if "debug" is specified</p>
+<li><p>debug - Compile with debug options enabled</p>
+<li><p>warn_on - The compiler should emit more warnings than normally, ignored if "warn_off" is specified</p>
+<li><p>warn_off - The compiler should only emit severe warnings.</p>
+</ul><p>These options define the application/library type:</p>
+<ul><li><p>qt - The target is a Qt application/library and requires the Qt header files/library. The proper include and library paths for the Qt library will automatically be added to the project.</p>
+<li><p>opengl - The target requires the OpenGL (or Mesa) headers/libraries. The proper include and library paths for these libraries will automatically be added to the project.</p>
+<li><p>thread - The target is a multi-threaded application or library. The proper defines and compiler flags will automatically be added to the project.</p>
+<li><p>x11 - The target is a X11 application or library. The proper include paths and libraries will automatically be added to the project.</p>
+<li><p>windows - The target is a Win32 window application (app only). The proper include paths,compiler flags and libraries will automatically be added to the project.</p>
+<li><p>console - The target is a Win32 console application (app only). The proper include paths, compiler flags and libraries will automatically be added to the project.</p>
+<li><p>dll - The target is a shared object/DLL.The proper include paths, compiler flags and libraries will automatically be added to the project.</p>
+<li><p>staticlib - The target is a static library (lib only). The proper compiler flags will automatically be added to the project.</p>
+<li><p>plugin - The target is a plugin (lib only). This enables dll as well.</p>
+</ul><p>These options are used to set the compiler flags:</p>
+<ul><li><p>exceptions - Exception support is enabled</p>
+<li><p>rtti - RTTI support is enabled</p>
+<li><p>stl - STL support is enabled</p>
+</ul><p>These options define specific things depending on the platform and/or template:</p>
+<ul><li><p>flat - When using the vcapp template this will put all the source files into the source group and the header files into the header group regardless of what directory they reside in. Turning this option off will group the files within the source/header group depending on the directory they reside. This is turned on by default.</p>
+</ul><p>The <tt>CONFIG</tt> variable will also be checked when resolving scopes. You may assign anything to this variable.</p>
+<p>For example:</p>
+<pre>
+CONFIG += qt console newstuff
+...
+newstuff {
+ SOURCES += new.cpp
+ HEADERS += new.h
+}
+</pre>
+<a name="DEFINES"></a><h5><a name="4-1-2"></a>DEFINES</h5>
+<p><em>qmake</em> adds the values of this variable as compiler C preprocessor macros (-D option).</p>
+<p>For example:</p>
+<pre>
+DEFINES += USE_MY_STUFF QT_DLL
+</pre>
+<a name="DEF_FILE"></a><h5><a name="4-1-3"></a>DEF_FILE</h5>
+<p><em>This is only used on Windows when using the 'app' template</em>.</p>
+<p>Specifies a .def file to be included in the project.</p>
+<a name="DESTDIR"></a><h5><a name="4-1-4"></a>DESTDIR</h5>
+<p>Specifies where to put the <a href="qmake-manual-8.html#TARGET">target</a> file.</p>
+<p>For example:</p>
+<pre>
+ DESTDIR = ../../lib
+</pre>
+<a name="DLLDESTDIR"></a><h5><a name="4-1-5"></a>DLLDESTDIR</h5>
+<p>Specifies where to copy the <a href="qmake-manual-8.html#TARGET">target</a> dll.</p>
+<a name="HEADERS"></a><h5><a name="4-1-6"></a>HEADERS</h5>
+<p>Defines the header files for the project.</p>
+<p><em>qmake</em> will generate dependency information (unless -nodepend is specified on the <a href="qmake-manual-8.html#Commands">command line</a>) for the specified headers. <em>qmake</em> will also automatically detect if <em>moc</em> is required by the classes in these headers, and add the appropriate dependencies and files to the project for generating and linking the moc files.</p>
+<p>For example:</p>
+<pre>
+HEADERS = myclass.h \
+ login.h \
+ mainwindow.h
+</pre>
+<p>See also <a href="qmake-manual-8.html#SOURCES">SOURCES</a>.</p>
+<a name="INCLUDEPATH"></a><h5><a name="4-1-7"></a>INCLUDEPATH</h5>
+<p>This variable specifies the #include directories which should be searched when compiling the project. Use ';' or a space as the directory separator.</p>
+<p>For example:</p>
+<pre>
+ INCLUDEPATH = c:\msdev\include d:\stl\include
+</pre>
+<a name="FORMS"></a><h5><a name="4-1-8"></a>FORMS</h5>
+<p>This variable specifies the .ui files (see <a href="designer-manual.html">Qt Designer</a>) to be processed through <em>uic</em> before compiling. All dependencies, headers and source files required to build these .ui files will automatically be added to the project.</p>
+<p>For example:</p>
+<pre>
+FORMS = mydialog.ui \
+ mywidget.ui \
+ myconfig.ui
+</pre>
+<p>Note that forms should not be specified using the <tt>+=</tt> operator because this syntax is not fully supported by <em>Qt Designer</em>.</p>
+<a name="LEXSOURCES"></a><h5><a name="4-1-9"></a>LEXSOURCES</h5>
+<p>This variable contains a list of lex source files. All dependencies, headers and source files will automatically be added to the project for building these lex files.</p>
+<p>For example:</p>
+<pre>
+LEXSOURCES = lexer.l
+</pre>
+<a name="LIBS"></a><h5><a name="4-1-10"></a>LIBS</h5>
+<p>This variable contains a list of libraries to be linked into the project. If you are more comfortable with the Unix convension of -L/-l flags you are free to use them in a cross-platform manner and qmake will do the correct thing with these libraries on Windows (namely this means passing the full path of the library to the linker). The only limitation to this is the library must exist, for qmake to find which directory a -l lib lives in.</p>
+<p>For example:</p>
+<pre>
+unix:LIBS += -lmath -L/usr/local/lib
+win32:LIBS += c:\mylibs\math.lib
+</pre>
+<a name="MOC_DIR"></a><h5><a name="4-1-11"></a>MOC_DIR</h5>
+<p>This variable specifies the directory where all intermediate moc files should be placed.</p>
+<p>For example:</p>
+<pre>
+unix:MOC_DIR = ../myproject/tmp
+win32:MOC_DIR = c:\myproject\tmp
+</pre>
+<a name="OBJECTS_DIR"></a><h5><a name="4-1-12"></a>OBJECTS_DIR</h5>
+<p>This variable specifies the directory where all intermediate objects should be placed.</p>
+<p>For example:</p>
+<pre>
+unix:OBJECTS_DIR = ../myproject/tmp
+win32:OBJECTS__DIR = c:\myproject\tmp
+</pre>
+<a name="UI_DIR"></a><h5><a name="4-1-13"></a>UI_DIR</h5>
+<p>This variable specifies the directory where all intermediate files from uic should be placed. This variable overrides both UI_SOURCES_DIR and UI_HEADERS_DIR.</p>
+<p>For example:</p>
+<pre>
+unix:UI_DIR = ../myproject/ui
+win32:UI_DIR = c:\myproject\ui
+</pre>
+<a name="UI_HEADERS_DIR"></a><h5><a name="4-1-14"></a>UI_HEADERS_DIR</h5>
+<p>This variable specifies the directory where all declaration files (as generated by uic) should be placed.</p>
+<p>For example:</p>
+<pre>
+unix:UI_HEADERS_DIR = ../myproject/ui/include
+win32:UI_HEADERS_DIR = c:\myproject\ui\include
+</pre>
+<a name="UI_SOURCES_DIR"></a><h5><a name="4-1-15"></a>UI_SOURCES_DIR</h5>
+<p>This variable specifies the directory where all implementation files (as generated by uic) should be placed.</p>
+<p>For example:</p>
+<pre>
+unix:UI_SOURCES_DIR = ../myproject/ui/src
+win32:UI_SOURCES_DIR = c:\myproject\ui\src
+</pre>
+<a name="REQUIRES"></a><h5><a name="4-1-16"></a>REQUIRES</h5>
+<p>This is a special variable processed by <em>qmake</em>. If the contents of this variable do not appear in CONFIG by the time this variable is assigned, then a minimal makefile will be generated that states what dependencies (the values assigned to REQUIRES) are missing.</p>
+<p>This is mainly used in Qt's build system for building the examples.</p>
+<a name="SOURCES"></a><h5><a name="4-1-17"></a>SOURCES</h5>
+<p>This variable contains the name of all source files in the project.</p>
+<p>For example:</p>
+<pre>
+SOURCES = myclass.cpp \
+ login.cpp \
+ mainwindow.cpp
+
+</pre>
+<p>See also <a href="qmake-manual-8.html#HEADERS">HEADERS</a></p>
+<h5><a name="4-1-18"></a>SUBDIRS</h5>
+<p>This variable, when used with the 'subdirs' <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> contains the names of all subdirectories to look for a project file.</p>
+<p>For example:</p>
+<pre>
+SUBDIRS = kernel \
+ tools
+</pre>
+<a name="TARGET"></a><h5><a name="4-1-19"></a>TARGET</h5>
+<p>This specifies the name of the target file.</p>
+<p>For example:</p>
+<pre>
+TEMPLATE = app
+TARGET = myapp
+SOURCES = main.cpp
+</pre>
+<p>The project file above would produce an executable named 'myapp' on unix and 'myapp.exe' on windows.</p>
+<a name="TEMPLATE"></a><h5><a name="4-1-20"></a>TEMPLATE</h5>
+<p>This variable contains the name of the template to use when generating the project. The allowed values are:</p>
+<ul><li><p>app - Creates a makefile for building applications (the default)</p>
+<li><p>lib - Creates a makefile for building libraries</p>
+<li><p>subdirs - Creates a makefile for building targets in subdirectories</p>
+<li><p>vcapp - <em>win32 only</em> Creates an application project file for Visual Studio</p>
+<li><p>vclib - <em>win32 only</em> Creates a library project file for Visual Studio</p>
+</ul><p>For example:</p>
+<pre>
+TEMPLATE = lib
+SOURCES = main.cpp
+TARGET = mylib
+</pre>
+<p>The template can be overridden by specifying a new template type with the <tt>-t</tt> command line option. This overrides the template type <em>after</em> the .pro file has been processed. With .pro files that use the template type to determine how the project is built, it is necessary to declare TEMPLATE on the command line rather than use the <tt>-t</tt> option.</p>
+<h5><a name="4-1-21"></a>VERSION</h5>
+<p>This variable contains the version number of the library if the 'lib' <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> is specified.</p>
+<p>For example:</p>
+<pre>
+VERSION = 1.2.3
+</pre>
+<h5><a name="4-1-22"></a>DISTFILES</h5>
+<p>This variable contains a list of files to be included in the dist target. This feature is supported by UnixMake specs only.</p>
+<p>For example:</p>
+<pre>
+DISTFILES += ../program.txt
+</pre>
+<a name="YACCSOURCES"></a><h5><a name="4-1-23"></a>YACCSOURCES</h5>
+<p>This variable contains a list of yacc source files to be included in the project. All dependencies, headers and source files will automatically be included in the project.</p>
+<p>For example:</p>
+<pre>
+YACCSOURCES = moc.y
+</pre>
+<a name="RarelyUsedSystemVariables"></a><h4><a name="4-2"></a>Rarely Used System Variables</h4>
+<p>The following variables are also recognized by <em>qmake</em> but are either internal or very rarely used.</p>
+<a name="DESTDIR_TARGET"></a><h5><a name="4-2-1"></a>DESTDIR_TARGET</h5>
+<p>This variable is set internally by <em>qmake</em>, which is basically the DESTDIR variable with the TARGET variable appened at the end. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="DSP_TEMPLATE"></a><h5><a name="4-2-2"></a>DSP_TEMPLATE</h5>
+<p>This variable is set internally by <em>qmake</em>, which specifies where the dsp template file for basing generated dsp files is stored. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="LEXIMPLS"></a><h5><a name="4-2-3"></a>LEXIMPLS</h5>
+<p>This variable contains a list of lex implementation files. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="LEXOBJECTS"></a><h5><a name="4-2-4"></a>LEXOBJECTS</h5>
+<p>This variable contains the names of intermediate lex object files.The value of this variable is typically handled by <em>qmake</em> and rarely needs to be modified.</p>
+<a name="LITERAL_HASH"></a><h5><a name="4-2-5"></a>LITERAL_HASH</h5>
+<p>This variable is used whenever a literal hash character (<tt>#</tt>) is needed in a variable declaration, perhaps as part of a file name or in a string passed to some external application.</p>
+<p>For example:</p>
+<pre>
+# To include a literal hash character, use the $$LITERAL_HASH variable:
+urlPieces = http://doc.trolltech.com/3.3/qmake-manual-8.html LITERAL_HASH
+message($$join(urlPieces, $$LITERAL_HASH))
+</pre>
+<p>By using <tt>LITERAL_HASH</tt> in this way, the <tt>#</tt> character can be used to construct a URL for the <tt>message()</tt> function to print to the console.</p>
+<a name="MAKEFILE"></a><h5><a name="4-2-6"></a>MAKEFILE</h5>
+<p>This variable specifies the name of the makefile which <em>qmake</em> should use when outputting the dependency information for building a project. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="MAKEFILE_GENERATOR"></a><h5><a name="4-2-7"></a>MAKEFILE_GENERATOR</h5>
+<p>This variable contains the name of the makefile generator to use when generating a makefile. The value of this variable is typically handled internally by <em>qmake</em> and rarely needs to be modified.</p>
+<a name="OBJECTS"></a><h5><a name="4-2-8"></a>OBJECTS</h5>
+<p>This variable is generated from the <a href="qmake-manual-8.html#SOURCES">SOURCES</a> variable. The extension of each source file will have been replaced by .o (Unix) or .obj (Win32). The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="OBJMOC"></a><h5><a name="4-2-9"></a>OBJMOC</h5>
+<p>This variable is set by <em>qmake</em> if files can be found that contain the Q_OBJECT macro. <tt>OBJMOC</tt> contains the name of all intermediate moc object files. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="PRECOMPILED_HEADER"></a><h5><a name="4-2-10"></a>PRECOMPILED_HEADER</h5>
+<p>This variable indicates the header file for creating a precompiled header file, to increase the compilation speed of a project. Precompiled headers are currently only supported on some platforms (Windows - all MSVC project types, Mac OS X - Xcode, Makefile, UNIX - gcc 3.3 and up).</p>
+<p>On other platforms, this variable has different meaning, as noted below.</p>
+<p>This variable contains a list of header files that require some sort of pre-compilation step (such as with moc). The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE"></a><h5><a name="4-2-11"></a>QMAKE</h5>
+<p>This variable contains the name of the <em>qmake</em> program itself and is placed in generated makefiles. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKESPEC_systemvariable"></a><h5><a name="4-2-12"></a>QMAKESPEC</h5>
+<p>This variable contains the name of the <em>qmake</em> configuration to use when generating makefiles. The value of this variable is typically handled by <em>qmake</em> and rarely needs to be modified. Use the <a href="qmake-manual-8.html#QMAKESPEC">QMAKESPEC</a> environment variable instead.</p>
+<a name="QMAKE_APP_FLAG"></a><h5><a name="4-2-13"></a>QMAKE_APP_FLAG</h5>
+<p>This variable is empty unless the 'app' <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> is specified. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified. Use the following instead:</p>
+<pre>
+app {
+ #conditional code for 'app' template here
+}
+</pre>
+<a name="QMAKE_APP_OR_DLL"></a><h5><a name="4-2-14"></a>QMAKE_APP_OR_DLL</h5>
+<p>This variable is empty unless the 'app' or 'dll' <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> is specified. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_AR_CMD"></a><h5><a name="4-2-15"></a>QMAKE_AR_CMD</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains the command for invoking the program which creates, modifies and extracts archives. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_DEBUG"></a><h5><a name="4-2-16"></a>QMAKE_CFLAGS_DEBUG</h5>
+<p>This variable contains the flags for the C compiler in debug mode.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_MT"></a><h5><a name="4-2-17"></a>QMAKE_CFLAGS_MT</h5>
+<p>This variable contains the compiler flags for creating a multi-threaded application or when the version of Qt that you link against is a multi-threaded statically linked library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_MT_DBG"></a><h5><a name="4-2-18"></a>QMAKE_CFLAGS_MT_DBG</h5>
+<p>This variable contains the compiler flags for creating a debuggable multi-threaded application or when the version of Qt that you link against is a debuggable multi-threaded statically linked library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_MT_DLL"></a><h5><a name="4-2-19"></a>QMAKE_CFLAGS_MT_DLL</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains the compiler flags for creating a multi-threaded dll or when the version of Qt that you link against is a multi-threaded dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_MT_DLLDBG"></a><h5><a name="4-2-20"></a>QMAKE_CFLAGS_MT_DLLDBG</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains the compiler flags for creating a debuggable multi-threaded dll or when the version of Qt that you link against is a debuggable multi-threaded statically linked library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_RELEASE"></a><h5><a name="4-2-21"></a>QMAKE_CFLAGS_RELEASE</h5>
+<p>This variable contains the compiler flags for creating a non-debuggable application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_SHLIB"></a><h5><a name="4-2-22"></a>QMAKE_CFLAGS_SHLIB</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains the compiler flags for creating a shared library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_THREAD"></a><h5><a name="4-2-23"></a>QMAKE_CFLAGS_THREAD</h5>
+<p>This variable contains the compiler flags for creating a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_WARN_OFF"></a><h5><a name="4-2-24"></a>QMAKE_CFLAGS_WARN_OFF</h5>
+<p>This variable is not empty if the warn_off <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> option is specified. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CFLAGS_WARN_ON"></a><h5><a name="4-2-25"></a>QMAKE_CFLAGS_WARN_ON</h5>
+<p>This variable is not empty if the warn_on <a href="qmake-manual-8.html#TEMPLATE">TEMPLATE</a> option is specified. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CLEAN"></a><h5><a name="4-2-26"></a>QMAKE_CLEAN</h5>
+<p>This variable contains any files which are not generated files (such as moc and uic generated files) and object files that should be removed when using "make clean".</p>
+<a name="QMAKE_CXXFLAGS_DEBUG"></a><h5><a name="4-2-27"></a>QMAKE_CXXFLAGS_DEBUG</h5>
+<p>This variable contains the C++ compiler flags for creating a debuggable application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_MT"></a><h5><a name="4-2-28"></a>QMAKE_CXXFLAGS_MT</h5>
+<p>This variable contains the C++ compiler flags for creating a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_MT_DBG"></a><h5><a name="4-2-29"></a>QMAKE_CXXFLAGS_MT_DBG</h5>
+<p>This variable contains the C++ compiler flags for creating a debuggable multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_MT_DLL"></a><h5><a name="4-2-30"></a>QMAKE_CXXFLAGS_MT_DLL</h5>
+<p><tt>This is used on Windows only</tt></p>
+<p>This variable contains the C++ compiler flags for creating a multi-threaded dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_MT_DLLDBG"></a><h5><a name="4-2-31"></a>QMAKE_CXXFLAGS_MT_DLLDBG</h5>
+<p><tt>This is used on Windows only</tt></p>
+<p>This variable contains the C++ compiler flags for creating a multi-threaded debuggable dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_RELEASE"></a><h5><a name="4-2-32"></a>QMAKE_CXXFLAGS_RELEASE</h5>
+<p>This variable contains the C++ compiler flags for creating an application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_SHLIB"></a><h5><a name="4-2-33"></a>QMAKE_CXXFLAGS_SHLIB</h5>
+<p>This variable contains the C++ compiler flags for creating a shared library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_THREAD"></a><h5><a name="4-2-34"></a>QMAKE_CXXFLAGS_THREAD</h5>
+<p>This variable contains the C++ compiler flags for creating a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_WARN_OFF"></a><h5><a name="4-2-35"></a>QMAKE_CXXFLAGS_WARN_OFF</h5>
+<p>This variable contains the C++ compiler flags for suppressing compiler warnings. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_CXXFLAGS_WARN_ON"></a><h5><a name="4-2-36"></a>QMAKE_CXXFLAGS_WARN_ON</h5>
+<p>This variable contains C++ compiler flags for generating compiler warnings. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_EXTENSION_SHLIB"></a><h5><a name="4-2-37"></a>QMAKE_EXTENSION_SHLIB</h5>
+<p>This variable contains the extention for shared libraries. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_FAILED_REQUIREMENTS"></a><h5><a name="4-2-38"></a>QMAKE_FAILED_REQUIREMENTS</h5>
+<p>This variable contains the list of requirements that were failed to be met when <em>qmake</em> was used. For example, the sql module is needed and wasn't compiled into Qt. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_FILETAGS"></a><h5><a name="4-2-39"></a>QMAKE_FILETAGS</h5>
+<p>This variable contains the file tags needed to be entered into the makefile, such as SOURCES and HEADERS. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_INCDIR"></a><h5><a name="4-2-40"></a>QMAKE_INCDIR</h5>
+<p>This variable contains the location of all known header files to be added to INCLUDEPATH when building an application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="POST_TARGETDEPS"></a><h5><a name="4-2-41"></a>POST_TARGETDEPS</h5>
+<p>All libraries that the <a href="qmake-manual-8.html#TARGET">target</a> depends on can be listed in this variable. Some backends do not support this, these include MSVC Dsp, and ProjectBuilder .pbproj files. Generally this is support internally by these build tools, this is usefull for explicitly listing dependant static libraries.</p>
+<p>This list will go after all builtin (and <a href="qmake-manual-8.html#PRE_TARGETDEPS">$$PRE_TARGETDEPS</a>) dependencies.</p>
+<a name="PRE_TARGETDEPS"></a><h5><a name="4-2-42"></a>PRE_TARGETDEPS</h5>
+<p>All libraries that the <a href="qmake-manual-8.html#TARGET">target</a> depends on can be listed in this variable. Some backends do not support this, these include MSVC Dsp, and ProjectBuilder .pbproj files. Generally this is support internally by these build tools, this is usefull for explicitly listing dependant static libraries.</p>
+<p>This list will go before all builtin dependencies.</p>
+<a name="QMAKE_INCDIR_OPENGL"></a><h5><a name="4-2-43"></a>QMAKE_INCDIR_OPENGL</h5>
+<p>This variable contains the location of OpenGL header files to be added to INCLUDEPATH when building an application with OpenGL support. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_INCDIR_QT"></a><h5><a name="4-2-44"></a>QMAKE_INCDIR_QT</h5>
+<p>This variable contains the location of all known header file paths to be added to INCLUDEPATH when building a Qt application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_INCDIR_THREAD"></a><h5><a name="4-2-45"></a>QMAKE_INCDIR_THREAD</h5>
+<p>This variable contains the location of all known header file paths to be added to INCLUDEPATH when building a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_INCDIR_X11"></a><h5><a name="4-2-46"></a>QMAKE_INCDIR_X11</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains the location of X11 header file paths to be added to INCLUDEPATH when building a X11 application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="QMAKE_LFLAGS_CONSOLE"></a><h5><a name="4-2-47"></a>QMAKE_LFLAGS_CONSOLE</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains link flags when building console programs. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-48"></a>QMAKE_LFLAGS_CONSOLE_DLL</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains link flags when building console dlls. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-49"></a>QMAKE_LFLAGS_DEBUG</h5>
+<p>This variable contains link flags when building debuggable applications. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-50"></a>QMAKE_LFLAGS_PLUGIN</h5>
+<p>This variable contains link flags when building plugins. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-51"></a>QMAKE_LFLAGS_QT_DLL</h5>
+<p>This variable contains link flags when building programs that use the Qt library built as a dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-52"></a>QMAKE_LFLAGS_RELEASE</h5>
+<p>This variable contains link flags when building applications for release. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-53"></a>QMAKE_LFLAGS_SHAPP</h5>
+<p>This variable contains link flags when building applications which are using the 'app' template. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-54"></a>QMAKE_LFLAGS_SHLIB</h5>
+<p>This variable contains link flags when building shared libraries The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-55"></a>QMAKE_LFLAGS_SONAME</h5>
+<p>This variable specifies the link flags to set the name of shared objects, such as .so or .dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-56"></a>QMAKE_LFLAGS_THREAD</h5>
+<p>This variable contains link flags when building multi-threaded projects. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-57"></a>QMAKE_LFLAGS_WINDOWS</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains link flags when building windows projects. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-58"></a>QMAKE_LFLAGS_WINDOWS_DLL</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains link flags when building windows dll projects. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-59"></a>QMAKE_LIBDIR</h5>
+<p>This variable contains the location of all known library directories.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-60"></a>QMAKE_LIBDIR_FLAGS</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains the location of all library directory with -L prefixed. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-61"></a>VPATH</h5>
+<p>This variable tells <em>qmake</em> where to search for files it cannot open. With this you may tell <em>qmake</em> where it may look for things like SOURCES, and if it finds an entry in SOURCES that cannot be opened it will look through the entire VPATH list to see if it can find the file on its own.</p>
+<p>See also <a href="qmake-manual-8.html#DEPENDPATH">DEPENDPATH</a>.</p>
+<a name="DEPENDPATH"></a><h5><a name="4-2-62"></a>DEPENDPATH</h5>
+<p>This variable contains the list of all directories to look in to resolve dependencies. This will be used when crawling through 'included' files.</p>
+<h5><a name="4-2-63"></a>QMAKE_LIBDIR_OPENGL</h5>
+<p>This variable contains the location of the OpenGL library directory.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-64"></a>QMAKE_LIBDIR_QT</h5>
+<p>This variable contains the location of the Qt library directory.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-65"></a>QMAKE_LIBDIR_X11</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains the location of the X11 library directory.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-66"></a>QMAKE_LIBS</h5>
+<p>This variable contains all project libraries. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-67"></a>QMAKE_LIBS_CONSOLE</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains all project libraries that should be linked against when building a console application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-68"></a>QMAKE_LIBS_OPENGL</h5>
+<p>This variable contains all OpenGL libraries. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-69"></a>QMAKE_LIBS_OPENGL_QT</h5>
+<p>This variable contains all OpenGL Qt libraries.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-70"></a>QMAKE_LIBS_QT</h5>
+<p>This variable contains all Qt libraries.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-71"></a>QMAKE_LIBS_QT_DLL</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains all Qt libraries when Qt is built as a dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-72"></a>QMAKE_LIBS_QT_OPENGL</h5>
+<p>This variable contains all the libraries needed to link against if OpenGL support is turned on. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-73"></a>QMAKE_LIBS_QT_THREAD</h5>
+<p>This variable contains all the libraries needed to link against if thread support is turned on. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-74"></a>QMAKE_LIBS_RT</h5>
+<p><em>This is used with Borland compilers only</em></p>
+<p>This variable contains the runtime library needed to link against when building an application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-75"></a>QMAKE_LIBS_RTMT</h5>
+<p><em>This is used with Borland compilers only</em></p>
+<p>This variable contains the runtime library needed to link against when building a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-76"></a>QMAKE_LIBS_THREAD</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains all libraries that need to be linked against when building a multi-threaded application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-77"></a>QMAKE_LIBS_WINDOWS</h5>
+<p><em>This is used on Windows only</em></p>
+<p>This variable contains all windows libraries.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-78"></a>QMAKE_LIBS_X11</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains all X11 libraries.The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-79"></a>QMAKE_LIBS_X11SM</h5>
+<p><em>This is used on Unix platforms only</em></p>
+<p>This variable contains all X11 session management libraries. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-80"></a>QMAKE_LIB_FLAG</h5>
+<p>This variable is not empty if the 'lib' template is specified. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-81"></a>QMAKE_LINK_SHLIB_CMD</h5>
+<p>This variable contains the command to execute when creating a shared library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-82"></a>QMAKE_POST_LINK</h5>
+<p>This variable contains the command to execute after linking the TARGET together. This variable is normally empty and therefore nothing is executed, additionally some backends will not support this - mostly only Makefile backends.</p>
+<h5><a name="4-2-83"></a>QMAKE_PRE_LINK</h5>
+<p>This variable contains the command to execute before linking the TARGET together. This variable is normally empty and therefore nothing is executed, additionally some backends will not support this - mostly only Makefile backends.</p>
+<h5><a name="4-2-84"></a>QMAKE_LN_SHLIB</h5>
+<p>This variable contains the command to execute when creating a link to a shared library. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-85"></a>QMAKE_MAKEFILE</h5>
+<p>This variable contains the name of the makefile to create. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-86"></a>QMAKE_MOC_SRC</h5>
+<p>This variable contains the names of all moc source files to generate and include in the project. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-87"></a>QMAKE_QMAKE</h5>
+<p>This variable contains the location of qmake if it is not in the path. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-88"></a>QMAKE_QT_DLL</h5>
+<p>This variable is not empty if Qt was built as a dll. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-89"></a>QMAKE_RUN_CC</h5>
+<p>This variable specifies the individual rule needed to build an object. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-90"></a>QMAKE_RUN_CC_IMP</h5>
+<p>This variable specifies the individual rule needed to build an object. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-91"></a>QMAKE_RUN_CXX</h5>
+<p>This variable specifies the individual rule needed to build an object. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-92"></a>QMAKE_RUN_CXX_IMP</h5>
+<p>This variable specifies the individual rule needed to build an object. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-93"></a>QMAKE_TARGET</h5>
+<p>This variable contains the name of the project target. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-94"></a>QMAKE_UIC</h5>
+<p>This variable contains the location of uic if it is not in the path. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<p>It can be used to specify arguments to uic as well, such as additional plugin paths. For example:</p>
+<pre>
+ QMAKE_UIC = uic -L /path/to/plugin
+</pre>
+<h5><a name="4-2-95"></a>RC_FILE</h5>
+<p>This variable contains the name of the resource file for the application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-96"></a>RES_FILE</h5>
+<p>This variable contains the name of the resource file for the application. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-97"></a>SRCMOC</h5>
+<p>This variable is set by <em>qmake</em> if files can be found that contain the Q_OBJECT macro. <tt>SRCMOC</tt> contains the name of all the generated moc files. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-98"></a>TARGET_EXT</h5>
+<p>This variable specifies the target's extension. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-99"></a>TARGET_x</h5>
+<p>This variable specifies the target's extension with a major version number. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-100"></a>TARGET_x.y.z</h5>
+<p>This variable specifies the target's extension with version number. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-101"></a>UICIMPLS</h5>
+<p>This variable contains a list of the generated implementation files by UIC. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-102"></a>UICOBJECTS</h5>
+<p>This variable is generated from the UICIMPLS variable. The extension of each file will have been replaced by .o (Unix) or .obj (Win32). The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-103"></a>VER_MAJ</h5>
+<p>This variable contains the major version number of the library, if the 'lib' <a href="qmake-manual-8.html#TEMPLATE">template</a> is specified.</p>
+<h5><a name="4-2-104"></a>VER_MIN</h5>
+<p>This variable contains the minor version number of the library, if the 'lib' <a href="qmake-manual-8.html#TEMPLATE">template</a> is specified.</p>
+<h5><a name="4-2-105"></a>VER_PAT</h5>
+<p>This variable contains the patch version number of the library, if the 'lib' <a href="qmake-manual-8.html#TEMPLATE">template</a> is specified.</p>
+<h5><a name="4-2-106"></a>QMAKE_EXT_MOC</h5>
+<p>This variable changes the extention used on included moc files.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>.</p>
+<h5><a name="4-2-107"></a>QMAKE_EXT_UI</h5>
+<p>This variable changes the extention used on /e Designer UI files.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>.</p>
+<h5><a name="4-2-108"></a>QMAKE_EXT_PRL</h5>
+<p>This variable changes the extention used on created PRL files.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>, <a href="qmake-manual-8.html#LibDepend">Library Dependencies</a>.</p>
+<h5><a name="4-2-109"></a>QMAKE_EXT_LEX</h5>
+<p>This variable changes the extention used on files given to lex.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>, <a href="qmake-manual-8.html#LEXSOURCES">LEXSOURCES</a>.</p>
+<h5><a name="4-2-110"></a>QMAKE_EXT_YACC This variable changes the extention used on files given to yacc.</h5>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>, <a href="qmake-manual-8.html#LEXSOURCES">YACCSOURCES</a>.</p>
+<h5><a name="4-2-111"></a>QMAKE_EXT_OBJ</h5>
+<p>This variable changes the extention used on generated object files.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>.</p>
+<h5><a name="4-2-112"></a>QMAKE_EXT_CPP</h5>
+<p>This variable changes the interpretation of all suffixes in this list of values as files of type C++ source code.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>.</p>
+<h5><a name="4-2-113"></a>QMAKE_EXT_H</h5>
+<p>This variable changes the interpretation of all suffixes in this list of values as files of type C header files.</p>
+<p>See also <a href="qmake-manual-8.html#Extensions">File Extensions</a>.</p>
+<h5><a name="4-2-114"></a>YACCIMPLS</h5>
+<p>This variable contains a list of yacc source files. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<h5><a name="4-2-115"></a>YACCOBJECTS</h5>
+<p>This variable contains a list of yacc object files. The value of this variable is typically handled by <em>qmake</em> or <a href="qmake-manual-8.html#QMAKESPEC">qmake.conf</a> and rarely needs to be modified.</p>
+<a name="Functions"></a><h3><a name="5"></a>Functions</h3>
+<p><em>qmake</em> recognizes the following functions:</p>
+<h4><a name="5-1"></a>include( filename )</h4>
+<p>This function will include the contents of <em>filename</em> into the current project at the point where was included. The function succeeds if <em>filename</em> was included, otherwise it fails. You can check the return value of this function using a scope.</p>
+<p>For example:</p>
+<pre>
+include( shared.pri )
+OPTIONS = standard custom
+!include( options.pri ) {
+ message( "No custom build options specified" )
+ OPTIONS -= custom
+}
+</pre>
+<h4><a name="5-2"></a>exists( file )</h4>
+<p>This function will test if <em>file</em> exists. If the file exists, then it will succeed; otherwise it will fail. You can specify a regular expression in file and it will succeed if any file matches the regular expression specified.</p>
+<p>For example:</p>
+<pre>
+exists( $(QTDIR)/lib/libqt-mt* ) {
+ message( "Configuring for multi-threaded Qt..." )
+ CONFIG += thread
+}
+</pre>
+<h4><a name="5-3"></a>contains( variablename, value )</h4>
+<p>This function will succeed if the variable <em>variablename</em> contains the value <em>value</em>. You can check the return value of this function using a scope.</p>
+<p>For example:</p>
+<pre>
+contains( drivers, network ) {
+ # drivers contains 'network'
+ message( "Configuring for network build..." )
+ HEADERS += network.h
+ SOURCES += network.cpp
+}
+</pre>
+<h4><a name="5-4"></a>count( variablename, number )</h4>
+<p>This function will succeed if the variable <em>variablename</em> contains <em>number</em> elements, otherwise it will fail. You can check the return value of this function using a scope.</p>
+<p>For example:</p>
+<pre>
+MYVAR = one two three
+count( MYVAR, 3 ) {
+ # always true
+}
+</pre>
+<h4><a name="5-5"></a>infile( filename, var, val )</h4>
+<p>This function will succeed if the file <em>filename</em> (when parsed by qmake itself) contains the variable <em>var</em> with a value of <em>val</em>. You may also not pass in a third argument (<em>val</em>) and the function will only test if <em>var</em> has been assigned to in the file.</p>
+<h4><a name="5-6"></a>isEmpty( variablename )</h4>
+<p>This function will succeed if the variable <em>variablename</em> is empty (same as <tt>count(variable, 0)</tt>).</p>
+<h4><a name="5-7"></a>system( command )</h4>
+<p>This function will execute <tt>command</tt> in a secondary shell and will succeed if the command exits with an exit status of 1. You can check the return value of this function using a scope.</p>
+<p>For example:</p>
+<pre>
+ system(ls /bin):HAS_BIN=FALSE
+</pre>
+<h4><a name="5-8"></a>message( string )</h4>
+<p>This function will always succeed, and will display the given <em>string</em> to the user.</p>
+<h4><a name="5-9"></a>error( string )</h4>
+<p>This function will never return a value. It will display the given <em>string</em> to the user, and then exit <em>qmake</em>. This function should only be used for very fatal configurations.</p>
+<p>For example:</p>
+<pre>
+ release:debug:error(You can't have release and debug at the same time!)
+</pre>
+<a name="Properties"></a><h3><a name="6"></a>Properties</h3>
+<p><em>qmake</em> has a system of persistant information, this allows you to 'set' a variable in qmake once, and each time qmake is invoked this value can be queried. Use the following to set a property in qmake:</p>
+<pre>
+qmake -set VARIABLE VALUE
+</pre>
+<p>To retrieve this information back from qmake you can do:</p>
+<pre>
+qmake -query VARIABLE
+qmake -query #queries all current VARIABLE/VALUE pairs..
+</pre>
+<p>This information will be saved into a QSettings object (meaning it will be stored in different places for different platforms). As VARIABLE is versioned as well, you can set one value in an older version of qmake, and newer versions will retrieve this value, however if you -set VARIABLE into a newer version of qmake the older version will not use this value. You can however query a specific version of a variable if you prefix that version of qmake to VARIABLE, as in:</p>
+<pre>
+qmake -query "1.06a/VARIABLE"
+</pre>
+<p>qmake also has the notion of 'builtin' properties, for example you can query the installation of Qt for this version of qmake with the QT_INSTALL_PREFIX property:</p>
+<pre>
+qmake -query "QT_INSTALL_PREFIX"
+</pre>
+<p>These builtin properties cannot have a version prefixed to them as they are not versioned and each qmake will have its own notion of these values. The list below outlines the builtin properties:</p>
+<ul><li><p>QT_INSTALL_PREFIX - Where the version of Qt this qmake is built for resides</p>
+<li><p>QT_INSTALL_DATA - Where data for this version of Qt resides</p>
+<li><p>QMAKE_VERSION - The current version of qmake</p>
+</ul><p>Finally, these values can be queried in a project file with a special notation such as:</p>
+<pre>
+QMAKE_VERS = $$[QMAKE_VERSION]
+</pre>
+<a name="Environment"></a><h3><a name="7"></a>Environment Variables and Configuration</h3>
+<a name="QMAKESPEC"></a><h4><a name="7-1"></a>QMAKESPEC</h4>
+<p><em>qmake</em> requires a platform and compiler description file which contains many default values used to generate appropriate makefiles. The standard Qt distribution comes with many of these files, located in the 'mkspecs' subdirectory of the Qt installation.</p>
+<p>The QMAKESPEC environment variable can contain any of the following:</p>
+<ul><li><p>A complete path to a directory containing a qmake.conf file. In this case <em>qmake</em> will open the qmake.conf file from within that directory. If the file does not exist, <em>qmake</em> will exit with an error.</p>
+<li><p>The name of a platform-compiler combination. In this case, <em>qmake</em> will search in the directory specified by the QTDIR environment variable.</p>
+</ul><p>Note: the QMAKESPEC path will automatically be added to the <a href="qmake-manual-8.html#INCLUDEPATH">INCLUDEPATH</a> system variable.</p>
+<a name="INSTALLS"></a><h4><a name="7-2"></a>INSTALLS</h4>
+<p>It is common on UNIX to be able to install from the same utility as you build with (e.g make install). For this <em>qmake</em> has introduce the concept of an install set. The notation for this is quite simple, first you fill in an "object" in qmake for example:</p>
+<pre>
+ documentation.path = /usr/local/program/doc
+ documentation.files = docs/*
+</pre>
+<p>In this way you are telling <em>qmake</em> several things about this install, first that you plan to install to /usr/local/program/doc (the path member), second that you plan to copy everything in the docs directory. Once this is done you may insert it in the install list:</p>
+<pre>
+ INSTALLS += documentation
+</pre>
+<p>Now <em>qmake</em> will take over making sure the correct things are copied to the specified places. If however you require greater control you may use the 'extra' member of the object:</p>
+<pre>
+ unix:documentation.extra = create_docs; mv master.doc toc.doc
+</pre>
+<p>Then qmake will run the things in extra (this is of course platform specific, so you may need to test for your platform first, this case we test for unix). Then it will do the normal processings of the files member. Finally if you appened a builtin install to INSTALLS <em>qmake</em> (and do not specify a files or extra member) will decide what needs to be copied for you, currently the only supported builtin is target:</p>
+<pre>
+ target.path = /usr/local/myprogram
+ INSTALLS += target
+</pre>
+<p>With this <em>qmake</em> will know what you plan need copied, and do this for you.</p>
+<a name="cache"></a><h4><a name="7-3"></a>Cache File</h4>
+<p>The cache file (mentioned above in the options) is a special file <em>qmake</em> will read to find settings not specified in the <tt>qmake.conf</tt> file, the .pro file, or the command line. If <tt>-nocache</tt> is not specified, <em>qmake</em> will try to find a file called <tt>.qmake.cache</tt> in parent directories. If it fails to find this file, it will silently ignore this step of processing.</p>
+<a name="LibDepend"></a><h4><a name="7-4"></a>Library Dependencies</h4>
+<p>Often when linking against a library <em>qmake</em> relies on the underlying platform to know what other libraries this library links against, and lets the platform pull them in. In many cases, however, this is not sufficent. For example when statically linking a library there are no libraries linked against, and therefore no dependencies to those libraries are created - however an application that later links against this library will need to know where to find the symbols that the linked in library will require. To help with this situation <em>qmake</em> will follow a library's dependencies when it feels appropriate, however this behaviour must be enabled in <em>qmake</em>. To enable requires two steps. First, you must enable it in the library - to do this you must tell <em>qmake</em> to save information about this library:</p>
+<pre>
+ CONFIG += create_prl
+</pre>
+<p>This is only relevant to the lib template, and will be ignored for all others. When this option is enabled <em>qmake</em> will create a file (called a .prl file) which will save some meta information about the library. This metafile is itself just a qmake project file, but with all internal variables. You are free to view this file, and if deleted <em>qmake</em> will know to recreate it when necesary (either when the .pro file is later read, or if a dependent library (described below) has changed). When installing this library (by using target in INSTALLS, above) <em>qmake</em> will automatically copy the .prl file to your install path.</p>
+<p>The second step to enabling this processing is to turn on reading of the meta information created above:</p>
+<pre>
+ CONFIG += link_prl
+</pre>
+<p>When this is turned on <em>qmake</em> will process all libraries linked to, and find their meta information. With this meta information <em>qmake</em> will figure out what is relevant to linking, specifically it will add to your list of DEFINES as well as LIBS. Once <em>qmake</em> has processed this file, it will then look through the newly introduced LIBS and find their dependent .prl files, and continue until all libraries have been resolved. At this point the makefile is created as usual, and the libraries are linked explicity against your program.</p>
+<p>The internals of the .prl file are left closed so they can easily change later. It is not designed to be changed by hand however, and should only be created by <em>qmake</em> - these .prl files should also not be transfered from operating system to operating system as they may be platform dependent (like a makefile).</p>
+<a name="Extensions"></a><h4><a name="7-5"></a>File Extensions</h4>
+<p>Under normal circumstances <em>qmake</em> will try to use appropriate file extensions for your platform. There may be times, however, that you would like to override the behavior of these extensions. To do this, you must modify builtin variables in your .pro file, which will in turn changes <em>qmake</em>'s interpretation of these files. You may do this as:</p>
+<pre>
+ QMAKE_EXT_MOC = .mymoc
+</pre>
+<p>The variables are as follows:</p>
+<ul><li><p>QMAKE_EXT_MOC - This modifies the extension placed on included moc files.</p>
+<li><p>QMAKE_EXT_UI - This modifies the extension used for designer UI files (usually in FORMS).</p>
+<li><p>QMAKE_EXT_PRL - This modifies the extension placed on <a href="qmake-manual-8.html#LibDepend">library dependency files</a>.</p>
+<li><p>QMAKE_EXT_LEX - This changes the suffix used in files (usually in LEXSOURCES).</p>
+<li><p>QMAKE_EXT_YACC - This changes the suffix used in files (usually in YACCSOURCES).</p>
+<li><p>QMAKE_EXT_OBJ - This changes the suffix used on generated object files.</p>
+</ul><p>All the above accept just the first value, so you must assign to it one value that will be used through your makefile. There are two variables that accept a list of values, they are:</p>
+<ul><li><p>QMAKE_EXT_CPP - Changes interpretation all files with these suffixes to be C++ source files.</p>
+<li><p>QMAKE_EXT_H - Changes interpretation all files with these suffixes to be C header files.</p>
+</ul><a name="Customizing"></a><h4><a name="7-6"></a>Customizing Makefile Output</h4>
+<p>qmake often tries to be all things to all build tools, this is often less than ideal when you really need to run special platform dependent commands. This can be achieved with specific instructions to the different qmake backends (currently this is only supported by the UNIX <a href="qmake-manual-8.html#MAKEFILE_GENERATOR">generator</a>).</p>
+<p>The interfaces to customizing the Makefile are done through "objects" as in other places in qmake. The notation for this is quite simple, first you fill in an "object" in qmake for example:</p>
+<pre>
+ mytarget.target = .buildfile
+ mytarget.commands = touch $$mytarget.target
+ mytarget.depends = mytarget2
+
+ mytarget2.commands = @echo Building $$mytarget.target
+</pre>
+<p>The information above defines a qmake target called mytarget which contains a Makefile target called .buildfile, .buildfile is generated by 'touch .buildfile', and finally that this Makefile target depends on the qmake target mytarget2. Additionally we've defined the qmake target mytarget2 which simply echo's something to stdout.</p>
+<p>The final step to making use of the above is to instruct qmake that this is actually an object used by the target building parts of qmake by:</p>
+<pre>
+QMAKE_EXTRA_UNIX_TARGETS += mytarget mytarget2
+</pre>
+<p>This is all you need to do to actually build custom targets in qmake, of course you may want to tie one of these targets to actually building the <a href="qmake-manual-8.html#TARGET">qmake build target</a>. To do this, you simply need to include your Makefile target in the list of <a href="qmake-manual-8.html#PRE_TARGETDEPS">PRE_TARGETDEPS</a>.</p>
+<p>For convenience there is also a method of customizing (UNIX) projects for generic new compilers (or even preprocessors).</p>
+<pre>
+new_moc.output = moc_${QMAKE_FILE_BASE}.cpp
+new_moc.commands = moc ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
+new_moc.depends = g++ -E -M ${QMAKE_FILE_NAME} | sed "s,^.*: ,,"
+new_moc.input = NEW_HEADERS
+QMAKE_EXTRA_UNIX_COMPILERS += new_moc
+</pre>
+<p>With this you can create a new moc for qmake, the commands will be executed over all arguments given to a NEW_HEADERS variable (from the input variable), and write to output (and automatically hand this filename to the compiler to be linked into your target). Additionally qmake will execute depends to generate dependency information and place this in the project as well.</p>
+<p>These commands can easily be placed into a cache file, and subsequent .pro files can give several arguments to NEW_HEADERS.</p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake-manual.html b/doc/html/qmake-manual.html
new file mode 100644
index 0000000..6e60ea1
--- /dev/null
+++ b/doc/html/qmake-manual.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- (null):0 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmake User Guide</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmake User Guide</h1>
+
+<h2><a href="qmake-manual-1.html">Introduction to qmake</a></h2>
+<h2><a href="qmake-manual-2.html">Installing qmake</a></h2>
+<h2><a href="qmake-manual-3.html">The 10 minute guide to using qmake</a></h2>
+<h2><a href="qmake-manual-4.html">qmake Tutorial</a></h2>
+<h2><a href="qmake-manual-5.html">qmake Concepts</a></h2>
+<h2><a href="qmake-manual-6.html">qmake's Advanced Concepts</a></h2>
+<h2><a href="qmake-manual-7.html">Using Precompiled Headers</a></h2>
+<h2><a href="qmake-manual-8.html"> qmake Command Reference</a></h2>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmake.dcf b/doc/html/qmake.dcf
new file mode 100644
index 0000000..a4ac65a
--- /dev/null
+++ b/doc/html/qmake.dcf
@@ -0,0 +1,11 @@
+<!DOCTYPE DCF>
+<DCF ref="qmake-manual.html" imagedir="../../gif" title="qmake User Guide">
+<section ref="qmake-manual-1.html" title="Introduction to qmake"/>
+<section ref="qmake-manual-2.html" title="Installing qmake"/>
+<section ref="qmake-manual-3.html" title="The 10 minute guide to using qmake"/>
+<section ref="qmake-manual-4.html" title="qmake Tutorial"/>
+<section ref="qmake-manual-5.html" title="qmake Concepts"/>
+<section ref="qmake-manual-6.html" title="qmake's Advanced Concepts"/>
+<section ref="qmake-manual-7.html" title="Using Precompiled Headers"/>
+<section ref="qmake-manual-8.html" title=" qmake Command Reference"/>
+</DCF>
diff --git a/doc/html/qmap-h.html b/doc/html/qmap-h.html
new file mode 100644
index 0000000..5538adf
--- /dev/null
+++ b/doc/html/qmap-h.html
@@ -0,0 +1,921 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmap.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmap.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmap.h</h1>
+
+<p>This is the verbatim text of the qmap.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmap.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMap class
+**
+** Created : 990406
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMAP_H
+#define QMAP_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qshared.h"
+#include "qdatastream.h"
+#include "qpair.h"
+#include "qvaluelist.h"
+#endif // QT_H
+
+#ifndef QT_NO_STL
+#include &lt;iterator&gt;
+#include &lt;map&gt;
+#endif
+
+//#define QT_CHECK_MAP_RANGE
+
+struct Q_EXPORT QMapNodeBase
+{
+ enum Color { Red, Black };
+
+ QMapNodeBase* left;
+ QMapNodeBase* right;
+ QMapNodeBase* parent;
+
+ Color color;
+
+ QMapNodeBase* minimum() {
+ QMapNodeBase* x = this;
+ while ( x-&gt;left )
+ x = x-&gt;left;
+ return x;
+ }
+
+ QMapNodeBase* maximum() {
+ QMapNodeBase* x = this;
+ while ( x-&gt;right )
+ x = x-&gt;right;
+ return x;
+ }
+};
+
+
+template &lt;class K, class T&gt;
+struct QMapNode : public QMapNodeBase
+{
+ QMapNode( const K&amp; _key, const T&amp; _data ) { data = _data; key = _key; }
+ QMapNode( const K&amp; _key ) { key = _key; }
+ QMapNode( const QMapNode&lt;K,T&gt;&amp; _n ) { key = _n.key; data = _n.data; }
+ QMapNode() { }
+ T data;
+ K key;
+};
+
+
+template&lt;class K, class T&gt;
+class QMapIterator
+{
+ public:
+ /**
+ * Typedefs
+ */
+ typedef QMapNode&lt; K, T &gt;* NodePtr;
+#ifndef QT_NO_STL
+ typedef std::bidirectional_iterator_tag iterator_category;
+#endif
+ typedef T value_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+ typedef T* pointer;
+ typedef T&amp; reference;
+
+ /**
+ * Variables
+ */
+ QMapNode&lt;K,T&gt;* node;
+
+ /**
+ * Functions
+ */
+ QMapIterator() : node( 0 ) {}
+ QMapIterator( QMapNode&lt;K,T&gt;* p ) : node( p ) {}
+ QMapIterator( const QMapIterator&lt;K,T&gt;&amp; it ) : node( it.node ) {}
+
+ bool operator==( const QMapIterator&lt;K,T&gt;&amp; it ) const { return node == it.node; }
+ bool operator!=( const QMapIterator&lt;K,T&gt;&amp; it ) const { return node != it.node; }
+ T&amp; operator*() { return node-&gt;data; }
+ const T&amp; operator*() const { return node-&gt;data; }
+ // UDT for T = x*
+ // T* operator-&gt;() const { return &amp;node-&gt;data; }
+
+ const K&amp; key() const { return node-&gt;key; }
+ T&amp; data() { return node-&gt;data; }
+ const T&amp; data() const { return node-&gt;data; }
+
+private:
+ int inc();
+ int dec();
+
+public:
+ QMapIterator&lt;K,T&gt;&amp; operator++() {
+ inc();
+ return *this;
+ }
+
+ QMapIterator&lt;K,T&gt; operator++(int) {
+ QMapIterator&lt;K,T&gt; tmp = *this;
+ inc();
+ return tmp;
+ }
+
+ QMapIterator&lt;K,T&gt;&amp; operator--() {
+ dec();
+ return *this;
+ }
+
+ QMapIterator&lt;K,T&gt; operator--(int) {
+ QMapIterator&lt;K,T&gt; tmp = *this;
+ dec();
+ return tmp;
+ }
+};
+
+template &lt;class K, class T&gt;
+Q_INLINE_TEMPLATES int QMapIterator&lt;K,T&gt;::inc()
+{
+ QMapNodeBase* tmp = node;
+ if ( tmp-&gt;right ) {
+ tmp = tmp-&gt;right;
+ while ( tmp-&gt;left )
+ tmp = tmp-&gt;left;
+ } else {
+ QMapNodeBase* y = tmp-&gt;parent;
+ while (tmp == y-&gt;right) {
+ tmp = y;
+ y = y-&gt;parent;
+ }
+ if (tmp-&gt;right != y)
+ tmp = y;
+ }
+ node = (NodePtr)tmp;
+ return 0;
+}
+
+template &lt;class K, class T&gt;
+Q_INLINE_TEMPLATES int QMapIterator&lt;K,T&gt;::dec()
+{
+ QMapNodeBase* tmp = node;
+ if (tmp-&gt;color == QMapNodeBase::Red &amp;&amp;
+ tmp-&gt;parent-&gt;parent == tmp ) {
+ tmp = tmp-&gt;right;
+ } else if (tmp-&gt;left != 0) {
+ QMapNodeBase* y = tmp-&gt;left;
+ while ( y-&gt;right )
+ y = y-&gt;right;
+ tmp = y;
+ } else {
+ QMapNodeBase* y = tmp-&gt;parent;
+ while (tmp == y-&gt;left) {
+ tmp = y;
+ y = y-&gt;parent;
+ }
+ tmp = y;
+ }
+ node = (NodePtr)tmp;
+ return 0;
+}
+
+template&lt;class K, class T&gt;
+class QMapConstIterator
+{
+ public:
+ /**
+ * Typedefs
+ */
+ typedef QMapNode&lt; K, T &gt;* NodePtr;
+#ifndef QT_NO_STL
+ typedef std::bidirectional_iterator_tag iterator_category;
+#endif
+ typedef T value_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+ typedef const T* pointer;
+ typedef const T&amp; reference;
+
+
+ /**
+ * Variables
+ */
+ QMapNode&lt;K,T&gt;* node;
+
+ /**
+ * Functions
+ */
+ QMapConstIterator() : node( 0 ) {}
+ QMapConstIterator( QMapNode&lt;K,T&gt;* p ) : node( p ) {}
+ QMapConstIterator( const QMapConstIterator&lt;K,T&gt;&amp; it ) : node( it.node ) {}
+ QMapConstIterator( const QMapIterator&lt;K,T&gt;&amp; it ) : node( it.node ) {}
+
+ bool operator==( const QMapConstIterator&lt;K,T&gt;&amp; it ) const { return node == it.node; }
+ bool operator!=( const QMapConstIterator&lt;K,T&gt;&amp; it ) const { return node != it.node; }
+ const T&amp; operator*() const { return node-&gt;data; }
+ // UDT for T = x*
+ // const T* operator-&gt;() const { return &amp;node-&gt;data; }
+
+ const K&amp; key() const { return node-&gt;key; }
+ const T&amp; data() const { return node-&gt;data; }
+
+private:
+ int inc();
+ int dec();
+
+public:
+ QMapConstIterator&lt;K,T&gt;&amp; operator++() {
+ inc();
+ return *this;
+ }
+
+ QMapConstIterator&lt;K,T&gt; operator++(int) {
+ QMapConstIterator&lt;K,T&gt; tmp = *this;
+ inc();
+ return tmp;
+ }
+
+ QMapConstIterator&lt;K,T&gt;&amp; operator--() {
+ dec();
+ return *this;
+ }
+
+ QMapConstIterator&lt;K,T&gt; operator--(int) {
+ QMapConstIterator&lt;K,T&gt; tmp = *this;
+ dec();
+ return tmp;
+ }
+};
+
+template &lt;class K, class T&gt;
+Q_INLINE_TEMPLATES int QMapConstIterator&lt;K,T&gt;::inc()
+{
+ QMapNodeBase* tmp = node;
+ if ( tmp-&gt;right ) {
+ tmp = tmp-&gt;right;
+ while ( tmp-&gt;left )
+ tmp = tmp-&gt;left;
+ } else {
+ QMapNodeBase* y = tmp-&gt;parent;
+ while (tmp == y-&gt;right) {
+ tmp = y;
+ y = y-&gt;parent;
+ }
+ if (tmp-&gt;right != y)
+ tmp = y;
+ }
+ node = (NodePtr)tmp;
+ return 0;
+}
+
+template &lt;class K, class T&gt;
+Q_INLINE_TEMPLATES int QMapConstIterator&lt;K,T&gt;::dec()
+{
+ QMapNodeBase* tmp = node;
+ if (tmp-&gt;color == QMapNodeBase::Red &amp;&amp;
+ tmp-&gt;parent-&gt;parent == tmp ) {
+ tmp = tmp-&gt;right;
+ } else if (tmp-&gt;left != 0) {
+ QMapNodeBase* y = tmp-&gt;left;
+ while ( y-&gt;right )
+ y = y-&gt;right;
+ tmp = y;
+ } else {
+ QMapNodeBase* y = tmp-&gt;parent;
+ while (tmp == y-&gt;left) {
+ tmp = y;
+ y = y-&gt;parent;
+ }
+ tmp = y;
+ }
+ node = (NodePtr)tmp;
+ return 0;
+}
+
+// ### 4.0: rename to something without Private in it. Not really internal.
+class Q_EXPORT QMapPrivateBase : public QShared
+{
+public:
+ QMapPrivateBase() {
+ node_count = 0;
+ }
+ QMapPrivateBase( const QMapPrivateBase* _map) {
+ node_count = _map-&gt;node_count;
+ }
+
+ /**
+ * Implementations of basic tree algorithms
+ */
+ void rotateLeft( QMapNodeBase* x, QMapNodeBase*&amp; root);
+ void rotateRight( QMapNodeBase* x, QMapNodeBase*&amp; root );
+ void rebalance( QMapNodeBase* x, QMapNodeBase*&amp; root );
+ QMapNodeBase* removeAndRebalance( QMapNodeBase* z, QMapNodeBase*&amp; root,
+ QMapNodeBase*&amp; leftmost,
+ QMapNodeBase*&amp; rightmost );
+
+ /**
+ * Variables
+ */
+ int node_count;
+};
+
+
+template &lt;class Key, class T&gt;
+class QMapPrivate : public QMapPrivateBase
+{
+public:
+ /**
+ * Typedefs
+ */
+ typedef QMapIterator&lt; Key, T &gt; Iterator;
+ typedef QMapConstIterator&lt; Key, T &gt; ConstIterator;
+ typedef QMapNode&lt; Key, T &gt; Node;
+ typedef QMapNode&lt; Key, T &gt;* NodePtr;
+
+ /**
+ * Functions
+ */
+ QMapPrivate();
+ QMapPrivate( const QMapPrivate&lt; Key, T &gt;* _map );
+ ~QMapPrivate() { clear(); delete header; }
+
+ NodePtr copy( NodePtr p );
+ void clear();
+ void clear( NodePtr p );
+
+ Iterator begin() { return Iterator( (NodePtr)(header-&gt;left ) ); }
+ Iterator end() { return Iterator( header ); }
+ ConstIterator begin() const { return ConstIterator( (NodePtr)(header-&gt;left ) ); }
+ ConstIterator end() const { return ConstIterator( header ); }
+
+ ConstIterator find(const Key&amp; k) const;
+
+ void remove( Iterator it ) {
+ NodePtr del = (NodePtr) removeAndRebalance( it.node, header-&gt;parent, header-&gt;left, header-&gt;right );
+ delete del;
+ --node_count;
+ }
+
+#ifdef QT_QMAP_DEBUG
+ void inorder( QMapNodeBase* x = 0, int level = 0 ){
+ if ( !x )
+ x = header-&gt;parent;
+ if ( x-&gt;left )
+ inorder( x-&gt;left, level + 1 );
+ //cout &lt;&lt; level &lt;&lt; " Key=" &lt;&lt; key(x) &lt;&lt; " Value=" &lt;&lt; ((NodePtr)x)-&gt;data &lt;&lt; endl;
+ if ( x-&gt;right )
+ inorder( x-&gt;right, level + 1 );
+ }
+#endif
+
+#if 0
+ Iterator insertMulti(const Key&amp; v){
+ QMapNodeBase* y = header;
+ QMapNodeBase* x = header-&gt;parent;
+ while (x != 0){
+ y = x;
+ x = ( v &lt; key(x) ) ? x-&gt;left : x-&gt;right;
+ }
+ return insert(x, y, v);
+ }
+#endif
+
+ Iterator insertSingle( const Key&amp; k );
+ Iterator insert( QMapNodeBase* x, QMapNodeBase* y, const Key&amp; k );
+
+protected:
+ /**
+ * Helpers
+ */
+ const Key&amp; key( QMapNodeBase* b ) const { return ((NodePtr)b)-&gt;key; }
+
+ /**
+ * Variables
+ */
+ NodePtr header;
+};
+
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES QMapPrivate&lt;Key,T&gt;::QMapPrivate() {
+ header = new Node;
+ header-&gt;color = QMapNodeBase::Red; // Mark the header
+ header-&gt;parent = 0;
+ header-&gt;left = header-&gt;right = header;
+}
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES QMapPrivate&lt;Key,T&gt;::QMapPrivate( const QMapPrivate&lt; Key, T &gt;* _map ) : QMapPrivateBase( _map ) {
+ header = new Node;
+ header-&gt;color = QMapNodeBase::Red; // Mark the header
+ if ( _map-&gt;header-&gt;parent == 0 ) {
+ header-&gt;parent = 0;
+ header-&gt;left = header-&gt;right = header;
+ } else {
+ header-&gt;parent = copy( (NodePtr)(_map-&gt;header-&gt;parent) );
+ header-&gt;parent-&gt;parent = header;
+ header-&gt;left = header-&gt;parent-&gt;minimum();
+ header-&gt;right = header-&gt;parent-&gt;maximum();
+ }
+}
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMapPrivate&lt;Key,T&gt;::NodePtr QMapPrivate&lt;Key,T&gt;::copy( Q_TYPENAME QMapPrivate&lt;Key,T&gt;::NodePtr p )
+{
+ if ( !p )
+ return 0;
+ NodePtr n = new Node( *p );
+ n-&gt;color = p-&gt;color;
+ if ( p-&gt;left ) {
+ n-&gt;left = copy( (NodePtr)(p-&gt;left) );
+ n-&gt;left-&gt;parent = n;
+ } else {
+ n-&gt;left = 0;
+ }
+ if ( p-&gt;right ) {
+ n-&gt;right = copy( (NodePtr)(p-&gt;right) );
+ n-&gt;right-&gt;parent = n;
+ } else {
+ n-&gt;right = 0;
+ }
+ return n;
+}
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMapPrivate&lt;Key,T&gt;::clear()
+{
+ clear( (NodePtr)(header-&gt;parent) );
+ header-&gt;color = QMapNodeBase::Red;
+ header-&gt;parent = 0;
+ header-&gt;left = header-&gt;right = header;
+ node_count = 0;
+}
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMapPrivate&lt;Key,T&gt;::clear( Q_TYPENAME QMapPrivate&lt;Key,T&gt;::NodePtr p )
+{
+ while ( p != 0 ) {
+ clear( (NodePtr)p-&gt;right );
+ NodePtr y = (NodePtr)p-&gt;left;
+ delete p;
+ p = y;
+ }
+}
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMapPrivate&lt;Key,T&gt;::ConstIterator QMapPrivate&lt;Key,T&gt;::find(const Key&amp; k) const
+{
+ QMapNodeBase* y = header; // Last node
+ QMapNodeBase* x = header-&gt;parent; // Root node.
+
+ while ( x != 0 ) {
+ // If as k &lt;= key(x) go left
+ if ( !( key(x) &lt; k ) ) {
+ y = x;
+ x = x-&gt;left;
+ } else {
+ x = x-&gt;right;
+ }
+ }
+
+ // Was k bigger/smaller then the biggest/smallest
+ // element of the tree ? Return end()
+ if ( y == header || k &lt; key(y) )
+ return ConstIterator( header );
+ return ConstIterator( (NodePtr)y );
+}
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMapPrivate&lt;Key,T&gt;::Iterator QMapPrivate&lt;Key,T&gt;::insertSingle( const Key&amp; k )
+{
+ // Search correct position in the tree
+ QMapNodeBase* y = header;
+ QMapNodeBase* x = header-&gt;parent;
+ bool result = TRUE;
+ while ( x != 0 ) {
+ result = ( k &lt; key(x) );
+ y = x;
+ x = result ? x-&gt;left : x-&gt;right;
+ }
+ // Get iterator on the last not empty one
+ Iterator j( (NodePtr)y );
+ if ( result ) {
+ // Smaller then the leftmost one ?
+ if ( j == begin() ) {
+ return insert(x, y, k );
+ } else {
+ // Perhaps daddy is the right one ?
+ --j;
+ }
+ }
+ // Really bigger ?
+ if ( (j.node-&gt;key) &lt; k )
+ return insert(x, y, k );
+ // We are going to replace a node
+ return j;
+}
+
+
+template &lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMapPrivate&lt;Key,T&gt;::Iterator QMapPrivate&lt;Key,T&gt;::insert( QMapNodeBase* x, QMapNodeBase* y, const Key&amp; k )
+{
+ NodePtr z = new Node( k );
+ if (y == header || x != 0 || k &lt; key(y) ) {
+ y-&gt;left = z; // also makes leftmost = z when y == header
+ if ( y == header ) {
+ header-&gt;parent = z;
+ header-&gt;right = z;
+ } else if ( y == header-&gt;left )
+ header-&gt;left = z; // maintain leftmost pointing to min node
+ } else {
+ y-&gt;right = z;
+ if ( y == header-&gt;right )
+ header-&gt;right = z; // maintain rightmost pointing to max node
+ }
+ z-&gt;parent = y;
+ z-&gt;left = 0;
+ z-&gt;right = 0;
+ rebalance( z, header-&gt;parent );
+ ++node_count;
+ return Iterator(z);
+}
+
+
+#ifdef QT_CHECK_RANGE
+# if !defined( QT_NO_DEBUG ) &amp;&amp; defined( QT_CHECK_MAP_RANGE )
+# define QT_CHECK_INVALID_MAP_ELEMENT if ( empty() ) qWarning( "QMap: Warning invalid element" )
+# define QT_CHECK_INVALID_MAP_ELEMENT_FATAL Q_ASSERT( !empty() );
+# else
+# define QT_CHECK_INVALID_MAP_ELEMENT
+# define QT_CHECK_INVALID_MAP_ELEMENT_FATAL
+# endif
+#else
+# define QT_CHECK_INVALID_MAP_ELEMENT
+# define QT_CHECK_INVALID_MAP_ELEMENT_FATAL
+#endif
+
+template &lt;class T&gt; class QDeepCopy;
+
+template&lt;class Key, class T&gt;
+class QMap
+{
+public:
+ /**
+ * Typedefs
+ */
+ typedef Key key_type;
+ typedef T mapped_type;
+ typedef QPair&lt;const key_type, mapped_type&gt; value_type;
+ typedef value_type* pointer;
+ typedef const value_type* const_pointer;
+ typedef value_type&amp; reference;
+ typedef const value_type&amp; const_reference;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+ typedef size_t size_type;
+ typedef QMapIterator&lt;Key,T&gt; iterator;
+ typedef QMapConstIterator&lt;Key,T&gt; const_iterator;
+ typedef QPair&lt;iterator,bool&gt; insert_pair;
+
+ typedef QMapIterator&lt; Key, T &gt; Iterator;
+ typedef QMapConstIterator&lt; Key, T &gt; ConstIterator;
+ typedef T ValueType;
+ typedef QMapPrivate&lt; Key, T &gt; Priv;
+
+ /**
+ * API
+ */
+ QMap()
+ {
+ sh = new QMapPrivate&lt; Key, T &gt;;
+ }
+ QMap( const QMap&lt;Key,T&gt;&amp; m )
+ {
+ sh = m.sh; sh-&gt;ref();
+ }
+
+#ifndef QT_NO_STL
+ QMap( const std::map&lt;Key,T&gt;&amp; m )
+ {
+ sh = new QMapPrivate&lt;Key,T&gt;;
+ Q_TYPENAME std::map&lt;Key,T&gt;::const_iterator it = m.begin();
+ for ( ; it != m.end(); ++it ) {
+ value_type p( (*it).first, (*it).second );
+ insert( p );
+ }
+ }
+#endif
+ ~QMap()
+ {
+ if ( sh-&gt;deref() )
+ delete sh;
+ }
+ QMap&lt;Key,T&gt;&amp; operator= ( const QMap&lt;Key,T&gt;&amp; m );
+#ifndef QT_NO_STL
+ QMap&lt;Key,T&gt;&amp; operator= ( const std::map&lt;Key,T&gt;&amp; m )
+ {
+ clear();
+ Q_TYPENAME std::map&lt;Key,T&gt;::const_iterator it = m.begin();
+ for ( ; it != m.end(); ++it ) {
+ value_type p( (*it).first, (*it).second );
+ insert( p );
+ }
+ return *this;
+ }
+#endif
+
+ iterator begin() { detach(); return sh-&gt;begin(); }
+ iterator end() { detach(); return sh-&gt;end(); }
+ const_iterator begin() const { return ((const Priv*)sh)-&gt;begin(); }
+ const_iterator end() const { return ((const Priv*)sh)-&gt;end(); }
+ const_iterator constBegin() const { return begin(); }
+ const_iterator constEnd() const { return end(); }
+
+ iterator replace( const Key&amp; k, const T&amp; v )
+ {
+ remove( k );
+ return insert( k, v );
+ }
+
+ size_type size() const
+ {
+ return sh-&gt;node_count;
+ }
+ bool empty() const
+ {
+ return sh-&gt;node_count == 0;
+ }
+ QPair&lt;iterator,bool&gt; insert( const value_type&amp; x );
+
+ void erase( iterator it )
+ {
+ detach();
+ sh-&gt;remove( it );
+ }
+ void erase( const key_type&amp; k );
+ size_type count( const key_type&amp; k ) const;
+ T&amp; operator[] ( const Key&amp; k );
+ void clear();
+
+ iterator find ( const Key&amp; k )
+ {
+ detach();
+ return iterator( sh-&gt;find( k ).node );
+ }
+ const_iterator find ( const Key&amp; k ) const { return sh-&gt;find( k ); }
+
+ const T&amp; operator[] ( const Key&amp; k ) const
+ { QT_CHECK_INVALID_MAP_ELEMENT; return sh-&gt;find( k ).data(); }
+ bool contains ( const Key&amp; k ) const
+ { return find( k ) != end(); }
+ //{ return sh-&gt;find( k ) != ((const Priv*)sh)-&gt;end(); }
+
+ size_type count() const { return sh-&gt;node_count; }
+
+ QValueList&lt;Key&gt; keys() const {
+ QValueList&lt;Key&gt; r;
+ for (const_iterator i=begin(); i!=end(); ++i)
+ r.append(i.key());
+ return r;
+ }
+
+ QValueList&lt;T&gt; values() const {
+ QValueList&lt;T&gt; r;
+ for (const_iterator i=begin(); i!=end(); ++i)
+ r.append(*i);
+ return r;
+ }
+
+ bool isEmpty() const { return sh-&gt;node_count == 0; }
+
+ iterator insert( const Key&amp; key, const T&amp; value, bool overwrite = TRUE );
+ void remove( iterator it ) { detach(); sh-&gt;remove( it ); }
+ void remove( const Key&amp; k );
+
+#if defined(Q_FULL_TEMPLATE_INSTANTIATION)
+ bool operator==( const QMap&lt;Key,T&gt;&amp; ) const { return FALSE; }
+#ifndef QT_NO_STL
+ bool operator==( const std::map&lt;Key,T&gt;&amp; ) const { return FALSE; }
+#endif
+#endif
+
+protected:
+ /**
+ * Helpers
+ */
+ void detach() { if ( sh-&gt;count &gt; 1 ) detachInternal(); }
+
+ Priv* sh;
+private:
+ void detachInternal();
+
+ friend class QDeepCopy&lt; QMap&lt;Key,T&gt; &gt;;
+};
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES QMap&lt;Key,T&gt;&amp; QMap&lt;Key,T&gt;::operator= ( const QMap&lt;Key,T&gt;&amp; m )
+{
+ m.sh-&gt;ref();
+ if ( sh-&gt;deref() )
+ delete sh;
+ sh = m.sh;
+ return *this;
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMap&lt;Key,T&gt;::insert_pair QMap&lt;Key,T&gt;::insert( const Q_TYPENAME QMap&lt;Key,T&gt;::value_type&amp; x )
+{
+ detach();
+ size_type n = size();
+ iterator it = sh-&gt;insertSingle( x.first );
+ bool inserted = FALSE;
+ if ( n &lt; size() ) {
+ inserted = TRUE;
+ it.data() = x.second;
+ }
+ return QPair&lt;iterator,bool&gt;( it, inserted );
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMap&lt;Key,T&gt;::erase( const Key&amp; k )
+{
+ detach();
+ iterator it( sh-&gt;find( k ).node );
+ if ( it != end() )
+ sh-&gt;remove( it );
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMap&lt;Key,T&gt;::size_type QMap&lt;Key,T&gt;::count( const Key&amp; k ) const
+{
+ const_iterator it( sh-&gt;find( k ).node );
+ if ( it != end() ) {
+ size_type c = 0;
+ while ( it != end() ) {
+ ++it;
+ ++c;
+ }
+ return c;
+ }
+ return 0;
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES T&amp; QMap&lt;Key,T&gt;::operator[] ( const Key&amp; k )
+{
+ detach();
+ QMapNode&lt;Key,T&gt;* p = sh-&gt;find( k ).node;
+ if ( p != sh-&gt;end().node )
+ return p-&gt;data;
+ return insert( k, T() ).data();
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMap&lt;Key,T&gt;::clear()
+{
+ if ( sh-&gt;count == 1 )
+ sh-&gt;clear();
+ else {
+ sh-&gt;deref();
+ sh = new QMapPrivate&lt;Key,T&gt;;
+ }
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QMap&lt;Key,T&gt;::iterator QMap&lt;Key,T&gt;::insert( const Key&amp; key, const T&amp; value, bool overwrite )
+{
+ detach();
+ size_type n = size();
+ iterator it = sh-&gt;insertSingle( key );
+ if ( overwrite || n &lt; size() )
+ it.data() = value;
+ return it;
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMap&lt;Key,T&gt;::remove( const Key&amp; k )
+{
+ detach();
+ iterator it( sh-&gt;find( k ).node );
+ if ( it != end() )
+ sh-&gt;remove( it );
+}
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES void QMap&lt;Key,T&gt;::detachInternal()
+{
+ sh-&gt;deref(); sh = new QMapPrivate&lt;Key,T&gt;( sh );
+}
+
+
+#ifndef QT_NO_DATASTREAM
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&gt;&gt;( QDataStream&amp; s, QMap&lt;Key,T&gt;&amp; m ) {
+ m.clear();
+ Q_UINT32 c;
+ s &gt;&gt; c;
+ for( Q_UINT32 i = 0; i &lt; c; ++i ) {
+ Key k; T t;
+ s &gt;&gt; k &gt;&gt; t;
+ m.insert( k, t );
+ if ( s.atEnd() )
+ break;
+ }
+ return s;
+}
+
+
+template&lt;class Key, class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&lt;&lt;( QDataStream&amp; s, const QMap&lt;Key,T&gt;&amp; m ) {
+ s &lt;&lt; (Q_UINT32)m.size();
+ QMapConstIterator&lt;Key,T&gt; it = m.begin();
+ for( ; it != m.end(); ++it )
+ s &lt;&lt; it.key() &lt;&lt; it.data();
+ return s;
+}
+#endif
+
+#define Q_DEFINED_QMAP
+#include "qwinexport.h"
+#endif // QMAP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmap-members.html b/doc/html/qmap-members.html
new file mode 100644
index 0000000..297e619
--- /dev/null
+++ b/doc/html/qmap-members.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmap.h:591 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmap.html">QMap</a>, including inherited members.
+
+<ul>
+<li><a href="qmap.html#QMap">QMap</a>()
+<li><a href="qmap.html#~QMap">~QMap</a>()
+<li><a href="qmap.html#begin">begin</a>()
+<li><a href="qmap.html#clear">clear</a>()
+<li><a href="qmap.html#constBegin">constBegin</a>()
+<li><a href="qmap.html#constEnd">constEnd</a>()
+<li><a href="qmap.html#contains">contains</a>()
+<li><a href="qmap.html#count">count</a>()
+<li><a href="qmap.html#detach">detach</a>()
+<li><a href="qmap.html#empty">empty</a>()
+<li><a href="qmap.html#end">end</a>()
+<li><a href="qmap.html#erase">erase</a>()
+<li><a href="qmap.html#find">find</a>()
+<li><a href="qmap.html#insert">insert</a>()
+<li><a href="qmap.html#isEmpty">isEmpty</a>()
+<li><a href="qmap.html#keys">keys</a>()
+<li><a href="qmap.html#operator-eq">operator=</a>()
+<li><a href="qmap.html#operator[]">operator[]</a>()
+<li><a href="qmap.html#remove">remove</a>()
+<li><a href="qmap.html#replace">replace</a>()
+<li><a href="qmap.html#size">size</a>()
+<li><a href="qmap.html#values">values</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmap.html b/doc/html/qmap.html
new file mode 100644
index 0000000..eefe0a7
--- /dev/null
+++ b/doc/html/qmap.html
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qmap.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMap Class Reference</h1>
+
+<p>The QMap class is a value-based template class that
+provides a dictionary.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;</tt>
+<p><a href="qmap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef Key&nbsp;<a href="#key_type"><b>key_type</b></a></li>
+<li class=fn>typedef T&nbsp;<a href="#mapped_type"><b>mapped_type</b></a></li>
+<li class=fn>typedef QPair&lt;const&nbsp;key_type,&nbsp;mapped_type&gt;&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef value_type&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;*&nbsp;<a href="#const_pointer"><b>const_pointer</b></a></li>
+<li class=fn>typedef value_type&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;&amp;&nbsp;<a href="#const_reference"><b>const_reference</b></a></li>
+<li class=fn>typedef size_t&nbsp;<a href="#size_type"><b>size_type</b></a></li>
+<li class=fn>typedef QMapIterator&lt;Key,&nbsp;T&gt;&nbsp;<a href="#iterator"><b>iterator</b></a></li>
+<li class=fn>typedef QMapConstIterator&lt;Key,&nbsp;T&gt;&nbsp;<a href="#const_iterator"><b>const_iterator</b></a></li>
+<li class=fn>typedef QPair&lt;iterator,&nbsp;bool&gt;&nbsp;<b>insert_pair</b></li>
+<li class=fn>typedef QMapIterator&lt;Key,&nbsp;T&gt;&nbsp;<a href="#Iterator"><b>Iterator</b></a></li>
+<li class=fn>typedef QMapConstIterator&lt;Key,&nbsp;T&gt;&nbsp;<a href="#ConstIterator"><b>ConstIterator</b></a></li>
+<li class=fn>typedef T&nbsp;<a href="#ValueType"><b>ValueType</b></a></li>
+<li class=fn><a href="#QMap"><b>QMap</b></a> ()</li>
+<li class=fn><a href="#QMap-2"><b>QMap</b></a> ( const&nbsp;QMap&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+<li class=fn><a href="#QMap-3"><b>QMap</b></a> ( const&nbsp;std::map&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+<li class=fn><a href="#~QMap"><b>~QMap</b></a> ()</li>
+<li class=fn>QMap&lt;Key, T&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QMap&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>QMap&lt;Key, T&gt; &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;std::map&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>iterator <a href="#begin"><b>begin</b></a> ()</li>
+<li class=fn>iterator <a href="#end"><b>end</b></a> ()</li>
+<li class=fn>const_iterator <a href="#begin-2"><b>begin</b></a> () const</li>
+<li class=fn>const_iterator <a href="#end-2"><b>end</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constBegin"><b>constBegin</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constEnd"><b>constEnd</b></a> () const</li>
+<li class=fn>iterator <a href="#replace"><b>replace</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k, const&nbsp;T&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>size_type <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#empty"><b>empty</b></a> () const</li>
+<li class=fn>QPair&lt;iterator, bool&gt; <a href="#insert-2"><b>insert</b></a> ( const&nbsp;value_type&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>void <a href="#erase"><b>erase</b></a> ( iterator&nbsp;it )</li>
+<li class=fn>void <a href="#erase-2"><b>erase</b></a> ( const&nbsp;key_type&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>size_type <a href="#count"><b>count</b></a> ( const&nbsp;key_type&nbsp;&amp;&nbsp;k ) const</li>
+<li class=fn>T &amp; <a href="#operator[]"><b>operator[]</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>iterator <a href="#find"><b>find</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k )</li>
+<li class=fn>const_iterator <a href="#find-2"><b>find</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const</li>
+<li class=fn>const T &amp; <a href="#operator[]-2"><b>operator[]</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const</li>
+<li class=fn>size_type <a href="#count-2"><b>count</b></a> () const</li>
+<li class=fn>QValueList&lt;Key&gt; <a href="#keys"><b>keys</b></a> () const</li>
+<li class=fn>QValueList&lt;T&gt; <a href="#values"><b>values</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>iterator <a href="#insert"><b>insert</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;key, const&nbsp;T&nbsp;&amp;&nbsp;value, bool&nbsp;overwrite = TRUE )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( iterator&nbsp;it )</li>
+<li class=fn>void <a href="#remove-2"><b>remove</b></a> ( const&nbsp;Key&nbsp;&amp;&nbsp;k )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#detach"><b>detach</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QMap&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QMap&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMap class is a value-based template class that
+provides a dictionary.
+<p>
+
+
+
+<p> QMap is a Qt implementation of an STL-like map container. It can
+be used in your application if the standard <tt>map</tt> is not
+available on all your target platforms. QMap is part of the <a href="qtl.html">Qt Template Library</a>.
+<p> QMap&lt;Key, Data&gt; defines a template instance to create a
+dictionary with keys of type Key and values of type Data. QMap
+does not store pointers to the members of the map; instead, it
+holds a copy of every member. For this reason, QMap is
+value-based, whereas <a href="qptrlist.html">QPtrList</a> and <a href="qdict.html">QDict</a> are pointer-based.
+<p> QMap contains and manages a collection of objects of type Data
+with associated key values of type Key and provides iterators that
+allow the contained objects to be addressed. QMap owns the
+contained items.
+<p> Some classes cannot be used within a QMap. For example everything
+derived from <a href="qobject.html">QObject</a> and thus all classes that implement widgets.
+Only values can be used in a QMap. To qualify as a value, the
+class must provide
+<p> <ul>
+<li> A copy constructor
+<li> An assignment operator
+<li> A default constructor, i.e. a constructor that does not take
+any arguments.
+</ul>
+<p> Note that C++ defaults to field-by-field assignment operators and
+copy constructors if no explicit version is supplied. In many
+cases, this is sufficient.
+<p> The class used for the key requires that the <tt>operator&lt;</tt> is
+implemented to define ordering of the keys.
+<p> QMap's function naming is consistent with the other Qt classes
+(e.g., <a href="#count">count</a>(), <a href="#isEmpty">isEmpty</a>()). QMap also provides extra functions for
+compatibility with STL algorithms, such as <a href="#size">size</a>() and <a href="#empty">empty</a>().
+Programmers already familiar with the STL <tt>map</tt> can use these
+the STL-like functions if preferred.
+<p> Example:
+<a name="qmap-eg"></a>
+<pre>
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+ #include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+ class Employee
+ {
+ public:
+ Employee(): sn(0) {}
+ Employee( const <a href="qstring.html">QString</a>&amp; forename, const <a href="qstring.html">QString</a>&amp; surname, int salary )
+ : fn(forename), sn(surname), sal(salary)
+ { }
+
+ <a href="qstring.html">QString</a> forename() const { return fn; }
+ <a href="qstring.html">QString</a> surname() const { return sn; }
+ int salary() const { return sal; }
+ void setSalary( int salary ) { sal = salary; }
+
+ private:
+ <a href="qstring.html">QString</a> fn;
+ <a href="qstring.html">QString</a> sn;
+ int sal;
+ };
+
+ int main(int argc, char **argv)
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ typedef QMap&lt;QString, Employee&gt; EmployeeMap;
+ EmployeeMap map;
+
+ map["JD001"] = Employee("John", "Doe", 50000);
+ map["JW002"] = Employee("Jane", "Williams", 80000);
+ map["TJ001"] = Employee("Tom", "Jones", 60000);
+
+ Employee sasha( "Sasha", "Hind", 50000 );
+ map["SH001"] = sasha;
+ sasha.setSalary( 40000 );
+
+ EmployeeMap::<a href="#Iterator">Iterator</a> it;
+ for ( it = map.begin(); it != map.end(); ++it ) {
+ printf( "%s: %s, %s earns %d\n",
+ it.key().latin1(),
+ it.data().surname().latin1(),
+ it.data().forename().latin1(),
+ it.data().salary() );
+ }
+ return 0;
+ }
+ </pre>
+
+<p> Program output:
+<pre>
+ JD001: Doe, John earns 50000
+ JW002: Williams, Jane earns 80000
+ SH001: Hind, Sasha earns 50000
+ TJ001: Jones, Tom earns 60000
+ </pre>
+
+<p> The latest changes to Sasha's salary did not affect the value in
+the list because the map created a copy of Sasha's entry. In
+addition, notice that the items are sorted alphabetically (by key)
+when iterating over the map.
+<p> There are several ways to find items in a map. The <a href="#begin">begin</a>() and
+<a href="#end">end</a>() functions return iterators to the beginning and end of the
+map. The advantage of using an iterator is that you can move
+forward or backward by incrementing/decrementing the iterator.
+The iterator returned by end() points to the element which is one
+past the last element in the container. The past-the-end iterator
+is still associated with the map it belongs to, however it is <em>not</em> dereferenceable; <a href="qsize.html#operator*-4">operator*</a>() will not return a well-defined
+value. If the map is empty, the iterator returned by begin() will
+equal the iterator returned by end().
+<p> Another way to find an element in the map is by using the <a href="#find">find</a>()
+function. This returns an iterator pointing to the desired item or
+to the end() iterator if no such element exists.
+<p> Another approach uses the operator[]. But be warned: if the map
+does not contain an entry for the element you are looking for,
+operator[] inserts a default value. If you do not know that the
+element you are searching for is really in the list, you should
+not use operator[]. The following example illustrates this:
+<p> <pre>
+ QMap&lt;QString,QString&gt; map;
+ map["Clinton"] = "Bill";
+ str &lt;&lt; map["Clinton"] &lt;&lt; map["Bush"] &lt;&lt; endl;
+ </pre>
+
+<p> The code fragment will print out "Clinton", "". Since the value
+associated with the "Bush" key did not exist, the map inserted a
+default value (in this case, an empty string). If you are not
+sure whether a certain element is in the map, you should use
+find() and iterators instead.
+<p> If you just want to know whether a certain key is contained in the
+map, use the <a href="#contains">contains</a>() function. In addition, <a href="#count">count</a>() tells you
+how many keys are in the map.
+<p> It is safe to have multiple iterators at the same time. If some
+member of the map is removed, only iterators pointing to the
+removed member become invalid; inserting in the map does not
+invalidate any iterators.
+<p> Since QMap is value-based, there is no need to be concerned about
+deleting items in the map. The map holds its own copies and will
+free them if the corresponding member or the map itself is
+deleted.
+<p> QMap is <a href="shclass.html#implicitly-shared">implicitly shared</a>. This means you can just make copies of
+the map in time O(1). If multiple QMap instances share the same
+data and one is modifying the map's data, this modifying instance
+makes a copy and modifies its private copy: so it does not affect
+other instances. If a QMap is being used in a multi-threaded
+program, you must protect all access to the map. See <a href="qmutex.html">QMutex</a>.
+<p> There are a couple of ways of inserting new items into the map.
+One uses the <a href="#insert">insert</a>() method; the other uses operator[]:
+<pre>
+ QMap&lt;QString, QString&gt; map;
+ map["Clinton"] = "Bill";
+ map.<a href="#insert">insert</a>( "Bush", "George" );
+ </pre>
+
+<p> Items can also be removed from the map in several ways. One way is
+to pass an iterator to <a href="#remove">remove</a>(). Another way is to pass a key
+value to remove(), which will delete the entry with the requested
+key. In addition you can clear the entire map using the <a href="#clear">clear</a>()
+method.
+<p> <p>See also <a href="qmapiterator.html">QMapIterator</a>, <a href="qtl.html">Qt Template Library Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ConstIterator"></a>QMap::ConstIterator</h3>
+The map's const iterator type, Qt style.
+<h3 class=fn><a name="Iterator"></a>QMap::Iterator</h3>
+The map's iterator type, Qt style.
+<h3 class=fn><a name="ValueType"></a>QMap::ValueType</h3>
+Corresponds to <a href="qpair.html">QPair</a>&lt;key_type, mapped_type&gt;, Qt style.
+<h3 class=fn><a name="const_iterator"></a>QMap::const_iterator</h3>
+The map's const iterator type.
+<h3 class=fn><a name="const_pointer"></a>QMap::const_pointer</h3>
+Const pointer to value_type.
+<h3 class=fn><a name="const_reference"></a>QMap::const_reference</h3>
+Const reference to value_type.
+<h3 class=fn><a name="iterator"></a>QMap::iterator</h3>
+The map's iterator type.
+<h3 class=fn><a name="key_type"></a>QMap::key_type</h3>
+The map's key type.
+<h3 class=fn><a name="mapped_type"></a>QMap::mapped_type</h3>
+The map's data type.
+<h3 class=fn><a name="pointer"></a>QMap::pointer</h3>
+Pointer to value_type.
+<h3 class=fn><a name="reference"></a>QMap::reference</h3>
+Reference to value_type.
+<h3 class=fn><a name="size_type"></a>QMap::size_type</h3>
+An unsigned integral type, used to represent various sizes.
+<h3 class=fn><a name="value_type"></a>QMap::value_type</h3>
+Corresponds to <a href="qpair.html">QPair</a>&lt;key_type, mapped_type&gt;.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMap"></a>QMap::QMap ()
+</h3>
+
+<p> Constructs an empty map.
+
+<h3 class=fn><a name="QMap-2"></a>QMap::QMap ( const&nbsp;<a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> Constructs a copy of <em>m</em>.
+<p> This operation costs O(1) time because QMap is <a href="shclass.html#implicitly-shared">implicitly shared</a>.
+This makes returning a QMap from a function very fast. If a shared
+instance is modified, it will be copied (copy-on-write), and this
+takes O(n) time.
+
+<h3 class=fn><a name="QMap-3"></a>QMap::QMap ( const&nbsp;std::map&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> Constructs a copy of <em>m</em>.
+
+<h3 class=fn><a name="~QMap"></a>QMap::~QMap ()
+</h3>
+
+<p> Destroys the map. References to the values in the map and all
+iterators of this map become invalidated. Since QMap is highly
+tuned for performance you won't see warnings if you use invalid
+iterators, because it is not possible for an iterator to check
+whether it is valid or not.
+
+<h3 class=fn><a href="qmap.html#iterator">iterator</a> <a name="begin"></a>QMap::begin ()
+</h3>
+
+<p> Returns an iterator pointing to the first element in the map. This
+iterator equals <a href="#end">end</a>() if the map is empty.
+<p> The items in the map are traversed in the order defined by
+operator&lt;(Key, Key).
+<p> <p>See also <a href="#end">end</a>() and <a href="qmapiterator.html">QMapIterator</a>.
+
+<h3 class=fn><a href="qmap.html#const_iterator">const_iterator</a> <a name="begin-2"></a>QMap::begin () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#end">end</a>() and <a href="qmapconstiterator.html">QMapConstIterator</a>.
+
+<h3 class=fn>void <a name="clear"></a>QMap::clear ()
+</h3>
+
+<p> Removes all items from the map.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qmap.html#const_iterator">const_iterator</a> <a name="constBegin"></a>QMap::constBegin () const
+</h3>
+
+<p> Returns an iterator pointing to the first element in the map. This
+iterator equals <a href="#end">end</a>() if the map is empty.
+<p> The items in the map are traversed in the order defined by
+operator&lt;(Key, Key).
+<p> <p>See also <a href="#constEnd">constEnd</a>() and <a href="qmapconstiterator.html">QMapConstIterator</a>.
+
+<h3 class=fn><a href="qmap.html#const_iterator">const_iterator</a> <a name="constEnd"></a>QMap::constEnd () const
+</h3>
+
+<p> The iterator returned by <a href="#end">end</a>() points to the element which is one
+past the last element in the container. The past-the-end iterator
+is still associated with the map it belongs to, but it is <em>not</em>
+dereferenceable; <a href="qsize.html#operator*-4">operator*</a>() will not return a well-defined value.
+<p> This iterator equals <a href="#constBegin">constBegin</a>() if the map is empty.
+<p> <p>See also <a href="#constBegin">constBegin</a>() and <a href="qmapconstiterator.html">QMapConstIterator</a>.
+
+<h3 class=fn>bool <a name="contains"></a>QMap::contains ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const
+</h3>
+
+<p> Returns TRUE if the map contains an item with key <em>k</em>; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qmap.html#size_type">size_type</a> <a name="count"></a>QMap::count ( const&nbsp;<a href="qmap.html#key_type">key_type</a>&nbsp;&amp;&nbsp;k ) const
+</h3>
+
+<p> Returns the number of items whose key is <em>k</em>. Since QMap does not
+allow duplicate keys, the return value is always 0 or 1.
+<p> This function is provided for STL compatibility.
+
+<h3 class=fn><a href="qmap.html#size_type">size_type</a> <a name="count-2"></a>QMap::count () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the number of items in the map.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>void <a name="detach"></a>QMap::detach ()<tt> [protected]</tt>
+</h3>
+
+<p> If the map does not share its data with another QMap instance,
+nothing happens; otherwise the function creates a new copy of this
+map and detaches from the shared one. This function is called
+whenever the map is modified. The <a href="shclass.html#implicit-sharing">implicit sharing</a> mechanism is
+implemented this way.
+
+<h3 class=fn>bool <a name="empty"></a>QMap::empty () const
+</h3>
+
+<p> Returns TRUE if the map contains no items; otherwise returns
+FALSE.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#isEmpty">isEmpty</a>().
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn><a href="qmap.html#iterator">iterator</a> <a name="end"></a>QMap::end ()
+</h3>
+
+<p> The iterator returned by <a href="#end">end</a>() points to the element which is one
+past the last element in the container. The past-the-end iterator
+is still associated with the map it belongs to, but it is <em>not</em>
+dereferenceable; <a href="qsize.html#operator*-4">operator*</a>() will not return a well-defined value.
+<p> This iterator equals <a href="#begin">begin</a>() if the map is empty.
+<p> <p>See also <a href="#begin">begin</a>() and <a href="qmapiterator.html">QMapIterator</a>.
+
+<h3 class=fn><a href="qmap.html#const_iterator">const_iterator</a> <a name="end-2"></a>QMap::end () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="erase"></a>QMap::erase ( <a href="qmap.html#iterator">iterator</a>&nbsp;it )
+</h3>
+
+<p> Removes the item associated with the iterator <em>it</em> from the map.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#remove">remove</a>().
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="erase-2"></a>QMap::erase ( const&nbsp;<a href="qmap.html#key_type">key_type</a>&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the item with the key <em>k</em> from the map.
+
+<h3 class=fn><a href="qmap.html#iterator">iterator</a> <a name="find"></a>QMap::find ( const&nbsp;Key&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> Returns an iterator pointing to the element with key <em>k</em> in the
+map.
+<p> Returns <a href="#end">end</a>() if no key matched.
+<p> <p>See also <a href="qmapiterator.html">QMapIterator</a>.
+
+<h3 class=fn><a href="qmap.html#const_iterator">const_iterator</a> <a name="find-2"></a>QMap::find ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator pointing to the element with key <em>k</em> in the
+map.
+<p> Returns <a href="#end">end</a>() if no key matched.
+<p> <p>See also <a href="qmapconstiterator.html">QMapConstIterator</a>.
+
+<h3 class=fn><a href="qmap.html#iterator">iterator</a> <a name="insert"></a>QMap::insert ( const&nbsp;Key&nbsp;&amp;&nbsp;key, const&nbsp;T&nbsp;&amp;&nbsp;value, bool&nbsp;overwrite = TRUE )
+</h3>
+
+<p> Inserts a new item with the key, <em>key</em>, and a value of <em>value</em>.
+If there is already an item whose key is <em>key</em>, that item's value
+is replaced with <em>value</em>, unless <em>overwrite</em> is FALSE (it is
+TRUE by default). In this case an iterator to this item is
+returned, else an iterator to the new item is returned.
+<p>
+<h3 class=fn><a href="qpair.html">QPair</a>&lt;iterator,&nbsp;bool&gt; <a name="insert-2"></a>QMap::insert ( const&nbsp;<a href="qmap.html#value_type">value_type</a>&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the (key, value) pair <em>x</em> into the map. <em>x</em> is a <a href="qpair.html">QPair</a>
+whose <tt>first</tt> element is a key to be inserted and whose <tt>second</tt>
+element is the associated value to be inserted. Returns a pair
+whose <tt>first</tt> element is an iterator pointing to the inserted
+item and whose <tt>second</tt> element is a bool indicating TRUE if <em>x</em>
+was inserted and FALSE if it was not inserted, e.g. because it was
+already present.
+<p> <p>See also <a href="#replace">replace</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QMap::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the map contains no items; otherwise returns
+FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;Key&gt; <a name="keys"></a>QMap::keys () const
+</h3>
+
+<p> Returns a list of all the keys in the map, in order.
+
+<h3 class=fn><a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp; <a name="operator-eq"></a>QMap::operator= ( const&nbsp;<a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> Assigns <em>m</em> to this map and returns a reference to this map.
+<p> All iterators of the current map become invalidated by this
+operation. The cost of such an assignment is O(1), because QMap is
+<a href="shclass.html#implicitly-shared">implicitly shared</a>.
+
+<h3 class=fn><a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp; <a name="operator-eq-2"></a>QMap::operator= ( const&nbsp;std::map&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns <em>m</em> to this map and returns a reference to this map.
+<p> All iterators of the current map become invalidated by this
+operation.
+
+<h3 class=fn>T &amp; <a name="operator[]"></a>QMap::operator[] ( const&nbsp;Key&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> Returns the value associated with the key <em>k</em>. If no such key is
+present, an empty item is inserted with this key and a reference
+to the empty item is returned.
+<p> You can use this operator both for reading and writing:
+<pre>
+ QMap&lt;QString, QString&gt; map;
+ map["Clinton"] = "Bill";
+ stream &lt;&lt; map["Clinton"];
+ </pre>
+
+
+<h3 class=fn>const T &amp; <a name="operator[]-2"></a>QMap::operator[] ( const&nbsp;Key&nbsp;&amp;&nbsp;k ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>Warning:</b> This function differs from the non-const version of the
+same function. It will <em>not</em> insert an empty value if the key <em>k</em> does not exist. This may lead to logic errors in your program.
+You should check if the element exists before calling this
+function.
+<p> Returns the value associated with the key <em>k</em>. If no such key is
+present, a reference to an empty item is returned.
+
+<h3 class=fn>void <a name="remove"></a>QMap::remove ( <a href="qmap.html#iterator">iterator</a>&nbsp;it )
+</h3>
+
+<p> Removes the item associated with the iterator <em>it</em> from the map.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="remove-2"></a>QMap::remove ( const&nbsp;Key&nbsp;&amp;&nbsp;k )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the item with the key <em>k</em> from the map.
+
+<h3 class=fn><a href="qmap.html#iterator">iterator</a> <a name="replace"></a>QMap::replace ( const&nbsp;Key&nbsp;&amp;&nbsp;k, const&nbsp;T&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Replaces the value of the element with key <em>k</em>, with the value <em>v</em>.
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qmap.html#size_type">size_type</a> <a name="size"></a>QMap::size () const
+</h3>
+
+<p> Returns the number of items in the map.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#count">count</a>().
+<p> <p>See also <a href="#empty">empty</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt; <a name="values"></a>QMap::values () const
+</h3>
+
+<p> Returns a list of all the values in the map, in key order.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p>
+<p> Writes the map <em>m</em> to the stream <em>s</em>. The types <em>Key</em> and <em>T</em>
+must implement the streaming operator as well.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qmap.html">QMap</a>&lt;Key,&nbsp;T&gt;&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p>
+<p> Reads the map <em>m</em> from the stream <em>s</em>. The types <em>Key</em> and <em>T</em>
+must implement the streaming operator as well.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmapconstiterator-members.html b/doc/html/qmapconstiterator-members.html
new file mode 100644
index 0000000..82ef21a
--- /dev/null
+++ b/doc/html/qmapconstiterator-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmap.h:212 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMapConstIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMapConstIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmapconstiterator.html">QMapConstIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qmapconstiterator.html#QMapConstIterator">QMapConstIterator</a>()
+<li><a href="qmapconstiterator.html#data">data</a>()
+<li><a href="qmapconstiterator.html#key">key</a>()
+<li><a href="qmapconstiterator.html#operator!-eq">operator!=</a>()
+<li><a href="qmapconstiterator.html#operator*">operator*</a>()
+<li><a href="qmapconstiterator.html#operator++">operator++</a>()
+<li><a href="qmapconstiterator.html#operator--">operator--</a>()
+<li><a href="qmapconstiterator.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmapconstiterator.html b/doc/html/qmapconstiterator.html
new file mode 100644
index 0000000..15f7566
--- /dev/null
+++ b/doc/html/qmapconstiterator.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qmap.doc:773 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMapConstIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMapConstIterator Class Reference</h1>
+
+<p>The QMapConstIterator class provides an iterator for QMap.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;</tt>
+<p><a href="qmapconstiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef std::bidirectional_iterator_tag&nbsp;<a href="#iterator_category"><b>iterator_category</b></a></li>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef const&nbsp;T&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef const&nbsp;T&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn><a href="#QMapConstIterator"><b>QMapConstIterator</b></a> ()</li>
+<li class=fn><a href="#QMapConstIterator-2"><b>QMapConstIterator</b></a> ( QMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )</li>
+<li class=fn><a href="#QMapConstIterator-3"><b>QMapConstIterator</b></a> ( const&nbsp;QMapConstIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn><a href="#QMapConstIterator-4"><b>QMapConstIterator</b></a> ( const&nbsp;QMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QMapConstIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QMapConstIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>const T &amp; <a href="#operator*"><b>operator*</b></a> () const</li>
+<li class=fn>const K &amp; <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>const T &amp; <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>QMapConstIterator&lt;K, T&gt; &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>QMapConstIterator&lt;K, T&gt; <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
+<li class=fn>QMapConstIterator&lt;K, T&gt; &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>QMapConstIterator&lt;K, T&gt; <a href="#operator---2"><b>operator--</b></a> ( int )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMapConstIterator class provides an iterator for <a href="qmap.html">QMap</a>.
+<p>
+
+<p> In contrast to <a href="qmapiterator.html">QMapIterator</a>, this class is used to iterate over a
+const map. It does not allow you to modify the values of the map
+because this would break the const semantics.
+<p> For more information on QMap iterators, see <a href="qmapiterator.html">QMapIterator</a> and
+the <a href="qmap.html#qmap-eg">QMap example</a>.
+<p> <p>See also <a href="qmap.html">QMap</a>, <a href="qmapiterator.html">QMapIterator</a>, <a href="qtl.html">Qt Template Library Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="iterator_category"></a>QMapConstIterator::iterator_category</h3>
+The type of iterator category, <tt>std::bidirectional_iterator_tag</tt>.
+<h3 class=fn><a name="pointer"></a>QMapConstIterator::pointer</h3>
+Const pointer to value_type.
+<h3 class=fn><a name="reference"></a>QMapConstIterator::reference</h3>
+Const reference to value_type.
+<h3 class=fn><a name="value_type"></a>QMapConstIterator::value_type</h3>
+The type of const value.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMapConstIterator"></a>QMapConstIterator::QMapConstIterator ()
+</h3>
+
+<p> Constructs an uninitialized iterator.
+
+<h3 class=fn><a name="QMapConstIterator-2"></a>QMapConstIterator::QMapConstIterator ( QMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )
+</h3>
+
+<p> Constructs an iterator starting at node <em>p</em>.
+
+<h3 class=fn><a name="QMapConstIterator-3"></a>QMapConstIterator::QMapConstIterator ( const&nbsp;<a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Constructs a copy of the iterator, <em>it</em>.
+
+<h3 class=fn><a name="QMapConstIterator-4"></a>QMapConstIterator::QMapConstIterator ( const&nbsp;<a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Constructs a copy of the iterator, <em>it</em>.
+
+<h3 class=fn>const T &amp; <a name="data"></a>QMapConstIterator::data () const
+</h3>
+
+<p> Returns a const reference to the current item's data.
+
+<h3 class=fn>const K &amp; <a name="key"></a>QMapConstIterator::key () const
+</h3>
+
+<p> Returns a const reference to the current item's key.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QMapConstIterator::operator!= ( const&nbsp;<a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares the iterator to the <em>it</em> iterator and returns FALSE if
+they point to the same item; otherwise returns TRUE.
+
+<h3 class=fn>const T &amp; <a name="operator*"></a>QMapConstIterator::operator* () const
+</h3>
+
+<p> Dereference operator. Returns a const reference to the current
+item's data. The same as <a href="#data">data</a>().
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator++"></a>QMapConstIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the map. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt; <a name="operator++-2"></a>QMapConstIterator::operator++ ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the map. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator--"></a>QMapConstIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the map. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt; <a name="operator---2"></a>QMapConstIterator::operator-- ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the map. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QMapConstIterator::operator== ( const&nbsp;<a href="qmapconstiterator.html">QMapConstIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares the iterator to the <em>it</em> iterator and returns TRUE if
+they point to the same item; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmapiterator-members.html b/doc/html/qmapiterator-members.html
new file mode 100644
index 0000000..01cb29d
--- /dev/null
+++ b/doc/html/qmapiterator-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmap.h:96 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMapIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMapIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmapiterator.html">QMapIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qmapiterator.html#QMapIterator">QMapIterator</a>()
+<li><a href="qmapiterator.html#data">data</a>()
+<li><a href="qmapiterator.html#key">key</a>()
+<li><a href="qmapiterator.html#operator!-eq">operator!=</a>()
+<li><a href="qmapiterator.html#operator*">operator*</a>()
+<li><a href="qmapiterator.html#operator++">operator++</a>()
+<li><a href="qmapiterator.html#operator--">operator--</a>()
+<li><a href="qmapiterator.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmapiterator.html b/doc/html/qmapiterator.html
new file mode 100644
index 0000000..9b36d70
--- /dev/null
+++ b/doc/html/qmapiterator.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qmap.doc:604 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMapIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMapIterator Class Reference</h1>
+
+<p>The QMapIterator class provides an iterator for QMap.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;</tt>
+<p><a href="qmapiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef std::bidirectional_iterator_tag&nbsp;<a href="#iterator_category"><b>iterator_category</b></a></li>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef T&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef T&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn><a href="#QMapIterator"><b>QMapIterator</b></a> ()</li>
+<li class=fn><a href="#QMapIterator-2"><b>QMapIterator</b></a> ( QMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )</li>
+<li class=fn><a href="#QMapIterator-3"><b>QMapIterator</b></a> ( const&nbsp;QMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>T &amp; <a href="#operator*"><b>operator*</b></a> ()</li>
+<li class=fn>const T &amp; <a href="#operator*-2"><b>operator*</b></a> () const</li>
+<li class=fn>const K &amp; <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>T &amp; <a href="#data"><b>data</b></a> ()</li>
+<li class=fn>const T &amp; <a href="#data-2"><b>data</b></a> () const</li>
+<li class=fn>QMapIterator&lt;K, T&gt; &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>QMapIterator&lt;K, T&gt; <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
+<li class=fn>QMapIterator&lt;K, T&gt; &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>QMapIterator&lt;K, T&gt; <a href="#operator---2"><b>operator--</b></a> ( int )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMapIterator class provides an iterator for <a href="qmap.html">QMap</a>.
+<p>
+
+<p> You cannot create an iterator by yourself. Instead, you must ask a
+map to give you one. An iterator is as big as a pointer; on 32-bit
+machines that means 4 bytes, on 64-bit machines, 8 bytes. That
+makes copying iterators very fast. Iterators behave in a similar
+way to pointers, and they are almost as fast as pointers. See the
+<a href="qmap.html#qmap-eg">QMap example</a>.
+<p> QMap is highly optimized for performance and memory usage, but the
+trade-off is that you must be more careful. The only way to
+traverse a map is to use iterators. QMap does not know about its
+iterators, and the iterators don't even know to which map they
+belong. That makes things fast but a bit dangerous because it is
+up to you to make sure that the iterators you are using are still
+valid. <a href="qdictiterator.html">QDictIterator</a> will be able to give warnings, whereas
+QMapIterator may end up in an undefined state.
+<p> For every Iterator there is also a ConstIterator. You must use the
+ConstIterator to access a <a href="qmap.html">QMap</a> in a const environment or if the
+reference or pointer to the map is itself const. Its semantics are
+the same, but it only returns const references to the item it
+points to.
+<p> <p>See also <a href="qmap.html">QMap</a>, <a href="qmapconstiterator.html">QMapConstIterator</a>, <a href="qtl.html">Qt Template Library Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="iterator_category"></a>QMapIterator::iterator_category</h3>
+The type of iterator category, <tt>std::bidirectional_iterator_tag</tt>.
+<h3 class=fn><a name="pointer"></a>QMapIterator::pointer</h3>
+Pointer to value_type.
+<h3 class=fn><a name="reference"></a>QMapIterator::reference</h3>
+Reference to value_type.
+<h3 class=fn><a name="value_type"></a>QMapIterator::value_type</h3>
+The type of value.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMapIterator"></a>QMapIterator::QMapIterator ()
+</h3>
+
+<p> Creates an uninitialized iterator.
+
+<h3 class=fn><a name="QMapIterator-2"></a>QMapIterator::QMapIterator ( QMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )
+</h3>
+
+<p> Constructs an iterator starting at node <em>p</em>.
+
+<h3 class=fn><a name="QMapIterator-3"></a>QMapIterator::QMapIterator ( const&nbsp;<a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Constructs a copy of the iterator, <em>it</em>.
+
+<h3 class=fn>T &amp; <a name="data"></a>QMapIterator::data ()
+</h3>
+
+<p> Returns a reference to the current item's data.
+
+<h3 class=fn>const T &amp; <a name="data-2"></a>QMapIterator::data () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const reference to the current item's data.
+
+<h3 class=fn>const K &amp; <a name="key"></a>QMapIterator::key () const
+</h3>
+
+<p> Returns a const reference to the current item's key.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QMapIterator::operator!= ( const&nbsp;<a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares the iterator to the <em>it</em> iterator and returns FALSE if
+they point to the same item; otherwise returns TRUE.
+
+<h3 class=fn>T &amp; <a name="operator*"></a>QMapIterator::operator* ()
+</h3>
+
+<p> Dereference operator. Returns a reference to the current item's
+data. The same as <a href="#data">data</a>().
+
+<h3 class=fn>const T &amp; <a name="operator*-2"></a>QMapIterator::operator* () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Dereference operator. Returns a const reference to the current
+item's data. The same as <a href="#data">data</a>().
+
+<h3 class=fn><a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator++"></a>QMapIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the map. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt; <a name="operator++-2"></a>QMapIterator::operator++ ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the map. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator--"></a>QMapIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the map. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn><a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt; <a name="operator---2"></a>QMapIterator::operator-- ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the map. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QMapIterator::operator== ( const&nbsp;<a href="qmapiterator.html">QMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares the iterator to the <em>it</em> iterator and returns TRUE if
+they point to the same item; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmemarray-h.html b/doc/html/qmemarray-h.html
new file mode 100644
index 0000000..8f756f1
--- /dev/null
+++ b/doc/html/qmemarray-h.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmemarray.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmemarray.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmemarray.h</h1>
+
+<p>This is the verbatim text of the qmemarray.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmemarray.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMemArray template/macro class
+**
+** Created : 930906
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMEMARRAY_H
+#define QMEMARRAY_H
+
+#ifndef QT_H
+#include "qgarray.h"
+#endif // QT_H
+
+
+template&lt;class type&gt;
+class QMemArray : public QGArray
+{
+public:
+ typedef type* Iterator;
+ typedef const type* ConstIterator;
+ typedef type ValueType;
+
+protected:
+ QMemArray( int, int ) : QGArray( 0, 0 ) {}
+
+public:
+ QMemArray() {}
+ QMemArray( int size ) : QGArray(size*sizeof(type)) {} // ### 4.0 Q_EXPLICIT
+ QMemArray( const QMemArray&lt;type&gt; &amp;a ) : QGArray(a) {}
+ ~QMemArray() {}
+ QMemArray&lt;type&gt; &amp;operator=(const QMemArray&lt;type&gt; &amp;a)
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::assign(a); }
+ type *data() const { return (type *)QGArray::data(); }
+ uint nrefs() const { return QGArray::nrefs(); }
+ uint size() const { return QGArray::size()/sizeof(type); }
+ uint count() const { return size(); }
+ bool isEmpty() const { return QGArray::size() == 0; }
+ bool isNull() const { return QGArray::data() == 0; }
+ bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); }
+ bool resize( uint size, Optimization optim ) { return QGArray::resize(size*sizeof(type), optim); }
+ bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); }
+ bool fill( const type &amp;d, int size = -1 )
+ { return QGArray::fill((char*)&amp;d,size,sizeof(type) ); }
+ void detach() { QGArray::detach(); }
+ QMemArray&lt;type&gt; copy() const
+ { QMemArray&lt;type&gt; tmp; return tmp.duplicate(*this); }
+ QMemArray&lt;type&gt;&amp; assign( const QMemArray&lt;type&gt;&amp; a )
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::assign(a); }
+ QMemArray&lt;type&gt;&amp; assign( const type *a, uint n )
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::assign((char*)a,n*sizeof(type)); }
+ QMemArray&lt;type&gt;&amp; duplicate( const QMemArray&lt;type&gt;&amp; a )
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::duplicate(a); }
+ QMemArray&lt;type&gt;&amp; duplicate( const type *a, uint n )
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::duplicate((char*)a,n*sizeof(type)); }
+ QMemArray&lt;type&gt;&amp; setRawData( const type *a, uint n )
+ { return (QMemArray&lt;type&gt;&amp;)QGArray::setRawData((char*)a,
+ n*sizeof(type)); }
+ void resetRawData( const type *a, uint n )
+ { QGArray::resetRawData((char*)a,n*sizeof(type)); }
+ int find( const type &amp;d, uint i=0 ) const
+ { return QGArray::find((char*)&amp;d,i,sizeof(type)); }
+ int contains( const type &amp;d ) const
+ { return QGArray::contains((char*)&amp;d,sizeof(type)); }
+ void sort() { QGArray::sort(sizeof(type)); }
+ int bsearch( const type &amp;d ) const
+ { return QGArray::bsearch((const char*)&amp;d,sizeof(type)); }
+ // ### Qt 4.0: maybe provide uint overload as work-around for MSVC bug
+ type&amp; operator[]( int i ) const
+ { return (type &amp;)(*(type *)QGArray::at(i*sizeof(type))); }
+ type&amp; at( uint i ) const
+ { return (type &amp;)(*(type *)QGArray::at(i*sizeof(type))); }
+ operator const type*() const { return (const type *)QGArray::data(); }
+ bool operator==( const QMemArray&lt;type&gt; &amp;a ) const { return isEqual(a); }
+ bool operator!=( const QMemArray&lt;type&gt; &amp;a ) const { return !isEqual(a); }
+ Iterator begin() { return data(); }
+ Iterator end() { return data() + size(); }
+ ConstIterator begin() const { return data(); }
+ ConstIterator end() const { return data() + size(); }
+};
+
+#ifndef QT_NO_COMPAT
+#define QArray QMemArray
+#endif
+
+#define Q_DEFINED_QMEMARRAY
+#include "qwinexport.h"
+#endif // QARRAY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmemarray-members.html b/doc/html/qmemarray-members.html
new file mode 100644
index 0000000..4745c19
--- /dev/null
+++ b/doc/html/qmemarray-members.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmemarray.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMemArray Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMemArray</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmemarray.html">QMemArray</a>, including inherited members.
+
+<ul>
+<li><a href="qmemarray.html#QMemArray">QMemArray</a>()
+<li><a href="qmemarray.html#~QMemArray">~QMemArray</a>()
+<li><a href="qmemarray.html#assign">assign</a>()
+<li><a href="qmemarray.html#at">at</a>()
+<li><a href="qmemarray.html#begin">begin</a>()
+<li><a href="qmemarray.html#bsearch">bsearch</a>()
+<li><a href="qmemarray.html#contains">contains</a>()
+<li><a href="qmemarray.html#copy">copy</a>()
+<li><a href="qmemarray.html#count">count</a>()
+<li><a href="qmemarray.html#data">data</a>()
+<li><a href="qmemarray.html#detach">detach</a>()
+<li><a href="qmemarray.html#duplicate">duplicate</a>()
+<li><a href="qmemarray.html#end">end</a>()
+<li><a href="qmemarray.html#fill">fill</a>()
+<li><a href="qmemarray.html#find">find</a>()
+<li><a href="qmemarray.html#isEmpty">isEmpty</a>()
+<li><a href="qmemarray.html#isNull">isNull</a>()
+<li><a href="qmemarray.html#nrefs">nrefs</a>()
+<li><a href="qmemarray.html#operator-const-type-*">operator const type *</a>()
+<li><a href="qmemarray.html#operator!-eq">operator!=</a>()
+<li><a href="qmemarray.html#operator-eq">operator=</a>()
+<li><a href="qmemarray.html#operator-eq-eq">operator==</a>()
+<li><a href="qmemarray.html#operator[]">operator[]</a>()
+<li><a href="qmemarray.html#resetRawData">resetRawData</a>()
+<li><a href="qmemarray.html#resize">resize</a>()
+<li><a href="qmemarray.html#setRawData">setRawData</a>()
+<li><a href="qmemarray.html#size">size</a>()
+<li><a href="qmemarray.html#sort">sort</a>()
+<li><a href="qmemarray.html#truncate">truncate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmemarray.html b/doc/html/qmemarray.html
new file mode 100644
index 0000000..a20062c
--- /dev/null
+++ b/doc/html/qmemarray.html
@@ -0,0 +1,561 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qmemarray.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMemArray Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMemArray Class Reference</h1>
+
+<p>The QMemArray class is a template class that provides arrays of simple types.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qmemarray-h.html">qmemarray.h</a>&gt;</tt>
+<p>Inherited by <a href="qbytearray.html">QByteArray</a> and <a href="qpointarray.html">QPointArray</a>.
+<p><a href="qmemarray-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef type&nbsp;*&nbsp;<a href="#Iterator"><b>Iterator</b></a></li>
+<li class=fn>typedef const&nbsp;type&nbsp;*&nbsp;<a href="#ConstIterator"><b>ConstIterator</b></a></li>
+<li class=fn><a href="#QMemArray-2"><b>QMemArray</b></a> ()</li>
+<li class=fn><a href="#QMemArray-3"><b>QMemArray</b></a> ( int&nbsp;size )</li>
+<li class=fn><a href="#QMemArray-4"><b>QMemArray</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a )</li>
+<li class=fn><a href="#~QMemArray"><b>~QMemArray</b></a> ()</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>type * <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>uint <a href="#nrefs"><b>nrefs</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#resize-2"><b>resize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>bool <a href="#resize"><b>resize</b></a> ( uint&nbsp;size, Optimization&nbsp;optim )</li>
+<li class=fn>bool <a href="#truncate"><b>truncate</b></a> ( uint&nbsp;pos )</li>
+<li class=fn>bool <a href="#fill"><b>fill</b></a> ( const&nbsp;type&nbsp;&amp;&nbsp;v, int&nbsp;size = -1 )</li>
+<li class=fn>virtual void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>QMemArray&lt;type&gt; <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#assign"><b>assign</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#assign-2"><b>assign</b></a> ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#duplicate"><b>duplicate</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#duplicate-2"><b>duplicate</b></a> ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )</li>
+<li class=fn>QMemArray&lt;type&gt; &amp; <a href="#setRawData"><b>setRawData</b></a> ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )</li>
+<li class=fn>void <a href="#resetRawData"><b>resetRawData</b></a> ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( const&nbsp;type&nbsp;&amp;&nbsp;v, uint&nbsp;index = 0 ) const</li>
+<li class=fn>int <a href="#contains"><b>contains</b></a> ( const&nbsp;type&nbsp;&amp;&nbsp;v ) const</li>
+<li class=fn>void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>int <a href="#bsearch"><b>bsearch</b></a> ( const&nbsp;type&nbsp;&amp;&nbsp;v ) const</li>
+<li class=fn>type &amp; <a href="#operator[]"><b>operator[]</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>type &amp; <a href="#at"><b>at</b></a> ( uint&nbsp;index ) const</li>
+<li class=fn><a href="#operator-const-type-*"><b>operator const type *</b></a> () const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QMemArray&lt;type&gt;&nbsp;&amp;&nbsp;a ) const</li>
+<li class=fn>Iterator <a href="#begin"><b>begin</b></a> ()</li>
+<li class=fn>Iterator <a href="#end"><b>end</b></a> ()</li>
+<li class=fn>ConstIterator <a href="#begin-2"><b>begin</b></a> () const</li>
+<li class=fn>ConstIterator <a href="#end-2"><b>end</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QMemArray"><b>QMemArray</b></a> ( int, int )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>Q_UINT16 <a href="#qChecksum"><b>qChecksum</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, uint&nbsp;len )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QByteArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QByteArray&nbsp;&amp;&nbsp;a )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QMemArray class is a template class that provides arrays of simple types.
+<p>
+<p> QMemArray is implemented as a template class. Define a template
+instance QMemArray&lt;X&gt; to create an array that contains X items.
+<p> QMemArray stores the array elements directly in the array. It can
+only deal with simple types (i.e. C++ types, structs, and classes
+that have no constructors, destructors, or virtual functions).
+QMemArray uses bitwise operations to copy and compare array
+elements.
+<p> The <a href="qptrvector.html">QPtrVector</a> collection class is also a kind of array. Like most
+<a href="collection.html">collection classes</a>, it uses pointers
+to the contained items.
+<p> QMemArray uses <a href="shclass.html">explicit sharing</a> with a
+reference count. If more than one array shares common data and one
+of the arrays is modified, all the arrays are modified.
+<p> The benefit of sharing is that a program does not need to duplicate
+data when it is not required, which results in lower memory use
+and less copying of data.
+<p> An alternative to QMemArray is <a href="qvaluevector.html">QValueVector</a>. The QValueVector class
+also provides an array of objects, but can deal with objects that
+have constructors (specifically a copy constructor and a default
+constructor). QValueVector provides an STL-compatible syntax and is
+<a href="shclass.html">implicitly shared</a>.
+<p> Example:
+<pre>
+ #include &lt;<a href="qmemarray-h.html">qmemarray.h</a>&gt;
+ #include &lt;stdio.h&gt;
+
+ QMemArray&lt;int&gt; fib( int num ) // returns fibonacci array
+ {
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>( num &gt; 2 );
+ QMemArray&lt;int&gt; f( num ); // array of ints
+
+ f[0] = f[1] = 1;
+ for ( int i = 2; i &lt; num; i++ )
+ f[i] = f[i-1] + f[i-2];
+
+ return f;
+ }
+
+ int main()
+ {
+ QMemArray&lt;int&gt; a = fib( 6 ); // get first 6 fibonaccis
+ for ( int i = 0; i &lt; a.<a href="#size">size</a>(); i++ )
+ <a href="qapplication.html#qDebug">qDebug</a>( "%d: %d", i, a[i] );
+
+ <a href="qapplication.html#qDebug">qDebug</a>( "1 is found %d times", a.<a href="#contains">contains</a>(1) );
+ <a href="qapplication.html#qDebug">qDebug</a>( "5 is found at index %d", a.<a href="#find">find</a>(5) );
+
+ return 0;
+ }
+ </pre>
+
+<p> Program output:
+<pre>
+ 0: 1
+ 1: 1
+ 2: 2
+ 3: 3
+ 4: 5
+ 5: 8
+ 1 is found 2 times
+ 5 is found at index 4
+ </pre>
+
+<p> Note concerning the use of QMemArray for manipulating structs or
+classes: Compilers will often pad the size of structs of odd sizes
+up to the nearest word boundary. This will then be the size
+QMemArray will use for its bitwise element comparisons. Because
+the remaining bytes will typically be uninitialized, this can
+cause <a href="#find">find</a>() etc. to fail to find the element. Example:
+<p> <pre>
+ // MyStruct may be padded to 4 or 8 bytes
+ struct MyStruct
+ {
+ short i; // 2 bytes
+ char c; // 1 byte
+ };
+
+ QMemArray&lt;MyStruct&gt; a(1);
+ a[0].i = 5;
+ a[0].c = 't';
+
+ MyStruct x;
+ x.i = '5';
+ x.c = 't';
+ int i = a.<a href="#find">find</a>( x ); // may return -1 if the pad bytes differ
+ </pre>
+
+<p> To work around this, make sure that you use a struct where
+sizeof() returns the same as the sum of the sizes of the members
+either by changing the types of the struct members or by adding
+dummy members.
+<p> QMemArray data can be traversed by iterators (see <a href="#begin">begin</a>() and
+<a href="#end">end</a>()). The number of items is returned by <a href="#count">count</a>(). The array can
+be resized with <a href="#resize">resize</a>() and filled using <a href="#fill">fill</a>().
+<p> You can make a <a href="shclass.html#shallow-copy">shallow copy</a> of the array with <a href="#assign">assign</a>() (or
+<a href="#operator-eq">operator=</a>()) and a <a href="shclass.html#deep-copy">deep copy</a> with <a href="#duplicate">duplicate</a>().
+<p> Search for values in the array with <a href="#find">find</a>() and <a href="#contains">contains</a>(). For
+sorted arrays (see <a href="#sort">sort</a>()) you can search using <a href="#bsearch">bsearch</a>().
+<p> You can set the data directly using <a href="#setRawData">setRawData</a>() and
+<a href="#resetRawData">resetRawData</a>(), although this requires care.
+<p> <p>See also <a href="shclass.html">Shared Classes</a> and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ConstIterator"></a>QMemArray::ConstIterator</h3>
+A const QMemArray iterator.
+<p>See also <a href="#begin">begin</a>() and <a href="#end">end</a>().
+
+<h3 class=fn><a name="Iterator"></a>QMemArray::Iterator</h3>
+A QMemArray iterator.
+<p>See also <a href="#begin">begin</a>() and <a href="#end">end</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMemArray"></a>QMemArray::QMemArray ( int, int )<tt> [protected]</tt>
+</h3>
+
+<p> Constructs an array <em>without allocating</em> array space. The
+arguments should be (0, 0). Use at your own risk.
+
+<h3 class=fn><a name="QMemArray-2"></a>QMemArray::QMemArray ()
+</h3>
+
+<p> Constructs a null array.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QMemArray-3"></a>QMemArray::QMemArray ( int&nbsp;size )
+</h3>
+
+<p> Constructs an array with room for <em>size</em> elements. Makes a null
+array if <em>size</em> == 0.
+<p> The elements are left uninitialized.
+<p> <p>See also <a href="#resize">resize</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QMemArray-4"></a>QMemArray::QMemArray ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Constructs a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>a</em>.
+<p> <p>See also <a href="#assign">assign</a>().
+
+<h3 class=fn><a name="~QMemArray"></a>QMemArray::~QMemArray ()
+</h3>
+
+<p> Dereferences the array data and deletes it if this was the last
+reference.
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="assign"></a>QMemArray::assign ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> <a href="shclass.html#shallow-copy">Shallow copy</a>. Dereferences the current array and references the
+data contained in <em>a</em> instead. Returns a reference to this array.
+<p> <p>See also <a href="#operator-eq">operator=</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="assign-2"></a>QMemArray::assign ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <a href="shclass.html#shallow-copy">Shallow copy</a>. Dereferences the current array and references the
+array data <em>data</em>, which contains <em>size</em> elements. Returns a
+reference to this array.
+<p> Do not delete <em>data</em> later; QMemArray will call free() on it
+at the right time.
+
+<h3 class=fn>type &amp; <a name="at"></a>QMemArray::at ( uint&nbsp;index ) const
+</h3>
+
+<p> Returns a reference to the element at position <em>index</em> in the array.
+<p> This can be used to both read and set an element.
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<h3 class=fn><a href="qmemarray.html#Iterator">Iterator</a> <a name="begin"></a>QMemArray::begin ()
+</h3>
+
+<p> Returns an iterator pointing at the beginning of this array. This
+iterator can be used in the same way as the iterators of
+<a href="qvaluelist.html">QValueList</a> and <a href="qmap.html">QMap</a>, for example.
+
+<h3 class=fn><a href="qmemarray.html#ConstIterator">ConstIterator</a> <a name="begin-2"></a>QMemArray::begin () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const iterator pointing at the beginning of this array.
+This iterator can be used in the same way as the iterators of
+<a href="qvaluelist.html">QValueList</a> and <a href="qmap.html">QMap</a>, for example.
+
+<h3 class=fn>int <a name="bsearch"></a>QMemArray::bsearch ( const&nbsp;type&nbsp;&amp;&nbsp;v ) const
+</h3>
+
+<p> In a sorted array (as sorted by <a href="#sort">sort</a>()), finds the first
+occurrence of <em>v</em> by using a binary search. For a sorted
+array this is generally much faster than <a href="#find">find</a>(), which does
+a linear search.
+<p> Returns the position of <em>v</em>, or -1 if <em>v</em> could not be found.
+<p> <p>See also <a href="#sort">sort</a>() and <a href="#find">find</a>().
+
+<h3 class=fn>int <a name="contains"></a>QMemArray::contains ( const&nbsp;type&nbsp;&amp;&nbsp;v ) const
+</h3>
+
+<p> Returns the number of times <em>v</em> occurs in the array.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt; <a name="copy"></a>QMemArray::copy () const
+</h3>
+
+<p> Returns a <a href="shclass.html#deep-copy">deep copy</a> of this array.
+<p> <p>See also <a href="#detach">detach</a>() and <a href="#duplicate">duplicate</a>().
+
+<h3 class=fn>uint <a name="count"></a>QMemArray::count () const
+</h3>
+
+<p> Returns the same as <a href="#size">size</a>().
+<p> <p>See also <a href="#size">size</a>().
+
+<p>Example: <a href="scribble-example.html#x913">scribble/scribble.cpp</a>.
+<h3 class=fn>type * <a name="data"></a>QMemArray::data () const
+</h3>
+
+<p> Returns a pointer to the actual array data.
+<p> The array is a null array if <a href="#data">data</a>() == 0 (null pointer).
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x855">fileiconview/qfileiconview.cpp</a> and <a href="networkprotocol-example.html#x671">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="detach"></a>QMemArray::detach ()<tt> [virtual]</tt>
+</h3>
+
+<p> Detaches this array from shared array data; i.e. it makes a
+private, <a href="shclass.html#deep-copy">deep copy</a> of the data.
+<p> Copying will be performed only if the <a href="#nrefs">reference
+ count</a> is greater than one.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<p>Reimplemented in <a href="qbitarray.html#detach">QBitArray</a>.
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="duplicate"></a>QMemArray::duplicate ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> <a href="shclass.html#deep-copy">Deep copy</a>. Dereferences the current array and obtains a copy of
+the data contained in <em>a</em> instead. Returns a reference to this
+array.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="duplicate-2"></a>QMemArray::duplicate ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <a href="shclass.html#deep-copy">Deep copy</a>. Dereferences the current array and obtains a copy of
+the array data <em>data</em> instead. Returns a reference to this array.
+The size of the array is given by <em>size</em>.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn><a href="qmemarray.html#Iterator">Iterator</a> <a name="end"></a>QMemArray::end ()
+</h3>
+
+<p> Returns an iterator pointing behind the last element of this
+array. This iterator can be used in the same way as the iterators
+of <a href="qvaluelist.html">QValueList</a> and <a href="qmap.html">QMap</a>, for example.
+
+<h3 class=fn><a href="qmemarray.html#ConstIterator">ConstIterator</a> <a name="end-2"></a>QMemArray::end () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const iterator pointing behind the last element of this
+array. This iterator can be used in the same way as the iterators
+of <a href="qvaluelist.html">QValueList</a> and <a href="qmap.html">QMap</a>, for example.
+
+<h3 class=fn>bool <a name="fill"></a>QMemArray::fill ( const&nbsp;type&nbsp;&amp;&nbsp;v, int&nbsp;size = -1 )
+</h3>
+
+<p> Fills the array with the value <em>v</em>. If <em>size</em> is specified as
+different from -1, then the array will be resized before being
+filled.
+<p> Returns TRUE if successful, i.e. if <em>size</em> is -1, or <em>size</em> is
+!= -1 and the memory can be allocated; otherwise returns FALSE.
+<p> <p>See also <a href="#resize">resize</a>().
+
+<h3 class=fn>int <a name="find"></a>QMemArray::find ( const&nbsp;type&nbsp;&amp;&nbsp;v, uint&nbsp;index = 0 ) const
+</h3>
+
+<p> Finds the first occurrence of <em>v</em>, starting at position <em>index</em>.
+<p> Returns the position of <em>v</em>, or -1 if <em>v</em> could not be found.
+<p> <p>See also <a href="#contains">contains</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QMemArray::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the array is empty; otherwise returns FALSE.
+<p> <a href="#isEmpty">isEmpty</a>() is equivalent to <a href="#isNull">isNull</a>() for QMemArray (unlike
+<a href="qstring.html">QString</a>).
+
+<h3 class=fn>bool <a name="isNull"></a>QMemArray::isNull () const
+</h3>
+
+<p> Returns TRUE if the array is null; otherwise returns FALSE.
+<p> A null array has <a href="#size">size</a>() == 0 and <a href="#data">data</a>() == 0.
+
+<h3 class=fn>uint <a name="nrefs"></a>QMemArray::nrefs () const
+</h3>
+
+<p> Returns the reference count for the shared array data. This
+reference count is always greater than zero.
+
+<h3 class=fn><a name="operator-const-type-*"></a>QMemArray::operator const type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the array.
+<p> <p>See also <a href="#data">data</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QMemArray::operator!= ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a ) const
+</h3>
+
+<p> Returns TRUE if this array is different from <em>a</em>; otherwise
+returns FALSE.
+<p> The two arrays are compared bitwise.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QMemArray::operator= ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Assigns a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>a</em> to this array and returns a
+reference to this array.
+<p> Equivalent to <a href="#assign">assign</a>( a ).
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QMemArray::operator== ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp;&nbsp;a ) const
+</h3>
+
+<p> Returns TRUE if this array is equal to <em>a</em>; otherwise returns
+FALSE.
+<p> The two arrays are compared bitwise.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<h3 class=fn>type &amp; <a name="operator[]"></a>QMemArray::operator[] ( int&nbsp;index ) const
+</h3>
+
+<p> Returns a reference to the element at position <em>index</em> in the
+array.
+<p> This can be used to both read and set an element. Equivalent to
+<a href="#at">at</a>().
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>void <a name="resetRawData"></a>QMemArray::resetRawData ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )
+</h3>
+
+<p> Removes internal references to the raw data that was set using
+<a href="#setRawData">setRawData</a>(). This means that QMemArray no longer has access to
+the <em>data</em>, so you are free to manipulate <em>data</em> as you wish.
+You can now use the QMemArray without affecting the original <em>data</em>, for example by calling setRawData() with a pointer to some
+other data.
+<p> The arguments must be the <em>data</em> and length, <em>size</em>, that were
+passed to setRawData(). This is for consistency checking.
+<p> <p>See also <a href="#setRawData">setRawData</a>().
+
+<h3 class=fn>bool <a name="resize"></a>QMemArray::resize ( uint&nbsp;size, Optimization&nbsp;optim )
+</h3>
+
+<p> Resizes (expands or shrinks) the array to <em>size</em> elements. The
+array becomes a null array if <em>size</em> == 0.
+<p> Returns TRUE if successful, or FALSE if the memory cannot be
+allocated.
+<p> New elements are not initialized.
+<p> <em>optim</em> is either <tt>QGArray::MemOptim</tt> (the default) or
+<tt>QGArray::SpeedOptim</tt>.
+<p> <b>Note:</b> By default, <tt>SpeedOptim</tt> is not available for general
+use since it is only available if Qt is built in a particular
+configuration.
+<p> <p>See also <a href="#size">size</a>().
+
+<p>Example: <a href="fileiconview-example.html#x856">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="resize-2"></a>QMemArray::resize ( uint&nbsp;size )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Resizes (expands or shrinks) the array to <em>size</em> elements. The
+array becomes a null array if <em>size</em> == 0.
+<p> Returns TRUE if successful, i.e. if the memory can be allocated;
+otherwise returns FALSE.
+<p> New elements are not initialized.
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;type&gt;&nbsp;&amp; <a name="setRawData"></a>QMemArray::setRawData ( const&nbsp;type&nbsp;*&nbsp;data, uint&nbsp;size )
+</h3>
+
+<p> Sets raw data and returns a reference to the array.
+<p> Dereferences the current array and sets the new array data to <em>data</em> and the new array size to <em>size</em>. Do not attempt to resize
+or re-assign the array data when raw data has been set. Call
+<a href="#resetRawData">resetRawData</a>(<em>data</em>, <em>size</em>) to reset the array.
+<p> Setting raw data is useful because it sets QMemArray data without
+allocating memory or copying data.
+<p> Example I (intended use):
+<pre>
+ static char bindata[] = { 231, 1, 44, ... };
+ <a href="qbytearray.html">QByteArray</a> a;
+ a.<a href="#setRawData">setRawData</a>( bindata, sizeof(bindata) ); // a points to bindata
+ <a href="qdatastream.html">QDataStream</a> s( a, <a href="qfile.html#open">IO_ReadOnly</a> ); // open on a's data
+ s &gt;&gt; &lt;something&gt;; // read raw bindata
+ a.<a href="#resetRawData">resetRawData</a>( bindata, sizeof(bindata) ); // finished
+ </pre>
+
+<p> Example II (you don't want to do this):
+<pre>
+ static char bindata[] = { 231, 1, 44, ... };
+ <a href="qbytearray.html">QByteArray</a> a, b;
+ a.<a href="#setRawData">setRawData</a>( bindata, sizeof(bindata) ); // a points to bindata
+ a.<a href="#resize">resize</a>( 8 ); // will crash
+ b = a; // will crash
+ a[2] = 123; // might crash
+ // forget to resetRawData: will crash
+ </pre>
+
+<p> <b>Warning:</b> If you do not call <a href="#resetRawData">resetRawData</a>(), QMemArray will attempt
+to deallocate or reallocate the raw data, which might not be too
+good. Be careful.
+<p> <p>See also <a href="#resetRawData">resetRawData</a>().
+
+<h3 class=fn>uint <a name="size"></a>QMemArray::size () const
+</h3>
+
+<p> Returns the size of the array (maximum number of elements).
+<p> The array is a null array if <a href="#size">size</a>() == 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#resize">resize</a>().
+
+<h3 class=fn>void <a name="sort"></a>QMemArray::sort ()
+</h3>
+
+<p> Sorts the array elements in ascending order, using bitwise
+comparison (memcmp()).
+<p> <p>See also <a href="#bsearch">bsearch</a>().
+
+<h3 class=fn>bool <a name="truncate"></a>QMemArray::truncate ( uint&nbsp;pos )
+</h3>
+
+<p> Truncates the array at position <em>pos</em>.
+<p> Returns TRUE if successful, i.e. if the memory can be allocated;
+otherwise returns FALSE.
+<p> Equivalent to <a href="#resize">resize</a>(<em>pos</em>).
+<p> <p>See also <a href="#resize">resize</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Writes byte array <em>a</em> to the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Reads a byte array into <em>a</em> from the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>Q_UINT16 <a name="qChecksum"></a>qChecksum ( const&nbsp;char&nbsp;*&nbsp;data, uint&nbsp;len )
+</h3>
+
+<p> Returns the CRC-16 checksum of <em>len</em> bytes starting at <em>data</em>.
+<p> The checksum is independent of the byte order (endianness).
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenubar-h.html b/doc/html/qmenubar-h.html
new file mode 100644
index 0000000..841c151
--- /dev/null
+++ b/doc/html/qmenubar-h.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmenubar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmenubar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmenubar.h</h1>
+
+<p>This is the verbatim text of the qmenubar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmenubar.h 3.3.8 edited Jan 16 10:55 $
+**
+** Definition of QMenuBar class
+**
+** Created : 941209
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMENUBAR_H
+#define QMENUBAR_H
+
+#ifndef QT_H
+#include "qpopupmenu.h" // ### remove or keep for users' convenience?
+#include "qframe.h"
+#include "qmenudata.h"
+#endif // QT_H
+
+#ifndef QT_NO_MENUBAR
+
+class QPopupMenu;
+
+class Q_EXPORT QMenuBar : public QFrame, public QMenuData
+{
+ Q_OBJECT
+ Q_ENUMS( Separator )
+ Q_PROPERTY( Separator separator READ separator WRITE setSeparator DESIGNABLE false )
+ Q_PROPERTY( bool defaultUp READ isDefaultUp WRITE setDefaultUp )
+
+public:
+ QMenuBar( QWidget* parent=0, const char* name=0 );
+ ~QMenuBar();
+
+ void updateItem( int id );
+
+ void show(); // reimplemented show
+ void hide(); // reimplemented hide
+
+ bool eventFilter( QObject *, QEvent * );
+
+ int heightForWidth(int) const;
+
+ enum Separator { Never=0, InWindowsStyle=1 };
+ Separator separator() const;
+ virtual void setSeparator( Separator when );
+
+ void setDefaultUp( bool );
+ bool isDefaultUp() const;
+
+ bool customWhatsThis() const;
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+
+ void activateItemAt( int index );
+
+#if defined(Q_WS_MAC) &amp;&amp; !defined(QMAC_QMENUBAR_NO_NATIVE)
+ static void initialize();
+ static void cleanup();
+#endif
+
+signals:
+ void activated( int itemId );
+ void highlighted( int itemId );
+
+protected:
+ void drawContents( QPainter * );
+ void fontChange( const QFont &amp; );
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void keyPressEvent( QKeyEvent * );
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+ void resizeEvent( QResizeEvent * );
+ void leaveEvent( QEvent * );
+ void menuContentsChanged();
+ void menuStateChanged();
+ void styleChange( QStyle&amp; );
+ int itemAtPos( const QPoint &amp; );
+ void hidePopups();
+ QRect itemRect( int item );
+
+private slots:
+ void subActivated( int itemId );
+ void subHighlighted( int itemId );
+#ifndef QT_NO_ACCEL
+ void accelActivated( int itemId );
+ void accelDestroyed();
+#endif
+ void popupDestroyed( QObject* );
+ void performDelayedChanges();
+
+ void languageChange();
+
+private:
+ void performDelayedContentsChanged();
+ void performDelayedStateChanged();
+ void menuInsPopup( QPopupMenu * );
+ void menuDelPopup( QPopupMenu * );
+ void frameChanged();
+
+ bool tryMouseEvent( QPopupMenu *, QMouseEvent * );
+ void tryKeyEvent( QPopupMenu *, QKeyEvent * );
+ void goodbye( bool cancelled = FALSE );
+ void openActPopup();
+
+ void setActiveItem( int index, bool show = TRUE, bool activate_first_item = TRUE );
+ void setAltMode( bool );
+
+ int calculateRects( int max_width = -1 );
+
+#ifndef QT_NO_ACCEL
+ void setupAccelerators();
+ QAccel *autoaccel;
+#endif
+ QRect *irects;
+ int rightSide;
+
+ uint mseparator : 1;
+ uint waitforalt : 1;
+ uint popupvisible : 1;
+ uint hasmouse : 1;
+ uint defaultup : 1;
+ uint toggleclose : 1;
+ uint pendingDelayedContentsChanges : 1;
+ uint pendingDelayedStateChanges : 1;
+
+ friend class QPopupMenu;
+
+#if defined(Q_WS_MAC) &amp;&amp; !defined(QMAC_QMENUBAR_NO_NATIVE)
+ friend class QWidget;
+ friend class QApplication;
+ friend void qt_mac_set_modal_state(bool, QMenuBar *);
+
+ void macCreateNativeMenubar();
+ void macRemoveNativeMenubar();
+ void macDirtyNativeMenubar();
+
+#if !defined(QMAC_QMENUBAR_NO_EVENT)
+ static void qt_mac_install_menubar_event(MenuRef);
+ static OSStatus qt_mac_menubar_event(EventHandlerCallRef, EventRef, void *);
+#endif
+ virtual void macWidgetChangedWindow();
+ bool syncPopups(MenuRef ret, QPopupMenu *d);
+ MenuRef createMacPopup(QPopupMenu *d, int id, bool =FALSE);
+ bool updateMenuBar();
+#if !defined(QMAC_QMENUBAR_NO_MERGE)
+ uint isCommand(QMenuItem *, bool just_check=FALSE);
+#endif
+
+ uint mac_eaten_menubar : 1;
+ class MacPrivate;
+ MacPrivate *mac_d;
+ static bool activate(MenuRef, short, bool highlight=FALSE, bool by_accel=FALSE);
+ static bool activateCommand(uint cmd);
+ static bool macUpdateMenuBar();
+ static bool macUpdatePopupVisible(MenuRef, bool);
+ static bool macUpdatePopup(MenuRef);
+#endif
+
+private: // Disabled copy constructor and operator=
+
+#if defined(Q_DISABLE_COPY)
+ QMenuBar( const QMenuBar &amp; );
+ QMenuBar &amp;operator=( const QMenuBar &amp; );
+#endif
+};
+
+
+#endif // QT_NO_MENUBAR
+
+#endif // QMENUBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenubar-m.png b/doc/html/qmenubar-m.png
new file mode 100644
index 0000000..c5e0c46
--- /dev/null
+++ b/doc/html/qmenubar-m.png
Binary files differ
diff --git a/doc/html/qmenubar-members.html b/doc/html/qmenubar-members.html
new file mode 100644
index 0000000..a941d43
--- /dev/null
+++ b/doc/html/qmenubar-members.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmenubar.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMenuBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMenuBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmenubar.html">QMenuBar</a>, including inherited members.
+
+<ul>
+<li><a href="qmenubar.html#QMenuBar">QMenuBar</a>()
+<li><a href="qmenubar.html#~QMenuBar">~QMenuBar</a>()
+<li><a href="qmenudata.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qmenudata.html#activateItemAt">activateItemAt</a>()
+<li><a href="qmenubar.html#activated">activated</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qmenudata.html#changeItem">changeItem</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qmenudata.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qmenudata.html#connectItem">connectItem</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qmenudata.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qmenudata.html#disconnectItem">disconnectItem</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qmenubar.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qmenudata.html#findItem">findItem</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qmenubar.html#heightForWidth">heightForWidth</a>()
+<li><a href="qmenubar.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qmenubar.html#highlighted">highlighted</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qmenudata.html#iconSet">iconSet</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qmenudata.html#idAt">idAt</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qmenudata.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qmenudata.html#insertItem">insertItem</a>()
+<li><a href="qmenudata.html#insertSeparator">insertSeparator</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qmenubar.html#isDefaultUp">isDefaultUp</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qmenudata.html#isItemActive">isItemActive</a>()
+<li><a href="qmenudata.html#isItemChecked">isItemChecked</a>()
+<li><a href="qmenudata.html#isItemEnabled">isItemEnabled</a>()
+<li><a href="qmenudata.html#isItemVisible">isItemVisible</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qmenudata.html#itemParameter">itemParameter</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qmenubar.html#menuContentsChanged">menuContentsChanged</a>()
+<li><a href="qmenudata.html#menuDelPopup">menuDelPopup</a>()
+<li><a href="qmenudata.html#menuInsPopup">menuInsPopup</a>()
+<li><a href="qmenubar.html#menuStateChanged">menuStateChanged</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qmenudata.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qmenudata.html#removeItem">removeItem</a>()
+<li><a href="qmenudata.html#removeItemAt">removeItemAt</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmenubar.html#separator">separator</a>()
+<li><a href="qmenudata.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qmenubar.html#setDefaultUp">setDefaultUp</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qmenudata.html#setId">setId</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qmenudata.html#setItemChecked">setItemChecked</a>()
+<li><a href="qmenudata.html#setItemEnabled">setItemEnabled</a>()
+<li><a href="qmenudata.html#setItemParameter">setItemParameter</a>()
+<li><a href="qmenudata.html#setItemVisible">setItemVisible</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmenubar.html#setSeparator">setSeparator</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qmenudata.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qmenubar.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qmenudata.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qmenudata.html#updateItem">updateItem</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qmenudata.html#whatsThis">whatsThis</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenubar-w.png b/doc/html/qmenubar-w.png
new file mode 100644
index 0000000..0002338
--- /dev/null
+++ b/doc/html/qmenubar-w.png
Binary files differ
diff --git a/doc/html/qmenubar.html b/doc/html/qmenubar.html
new file mode 100644
index 0000000..6da123e
--- /dev/null
+++ b/doc/html/qmenubar.html
@@ -0,0 +1,593 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qmenubar.cpp:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMenuBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMenuBar Class Reference</h1>
+
+<p>The QMenuBar class provides a horizontal menu bar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a> and <a href="qmenudata.html">QMenuData</a>.
+<p><a href="qmenubar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMenuBar"><b>QMenuBar</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QMenuBar"><b>~QMenuBar</b></a> ()</li>
+<li class=fn>virtual void <a href="#show"><b>show</b></a> ()</li>
+<li class=fn>virtual void <a href="#hide"><b>hide</b></a> ()</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;max_width ) const</li>
+<li class=fn>enum <a href="#Separator-enum"><b>Separator</b></a> { Never = 0, InWindowsStyle = 1 }</li>
+<li class=fn>Separator separator () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setSeparator ( Separator&nbsp;when ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setDefaultUp"><b>setDefaultUp</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isDefaultUp"><b>isDefaultUp</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#highlighted"><b>highlighted</b></a> ( int&nbsp;id )</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>int <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-2"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-3"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-4"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-5"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-6"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-7"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-8"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-9"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-a"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-b"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-c"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-d"><b>insertItem</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-e"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-f"><b>insertItem</b></a> ( QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertSeparator"><b>insertSeparator</b></a> ( int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#isItemEnabled"><b>isItemEnabled</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemEnabled"><b>setItemEnabled</b></a> ( int&nbsp;id, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isItemVisible"><b>isItemVisible</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemVisible"><b>setItemVisible</b></a> ( int&nbsp;id, bool&nbsp;visible )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#defaultUp-prop"><b>defaultUp</b></a>&nbsp;- the popup orientation</li>
+<li class=fn>Separator separator&nbsp;- in which cases a menubar sparator is drawn &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+<li class=fn>virtual void <a href="#menuContentsChanged"><b>menuContentsChanged</b></a> ()</li>
+<li class=fn>virtual void <a href="#menuStateChanged"><b>menuStateChanged</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMenuBar class provides a horizontal menu bar.
+<p>
+
+<p> A menu bar consists of a list of pull-down menu items. You add
+menu items with <a href="qmenudata.html#insertItem">insertItem()</a>. For example, asuming that <tt>menubar</tt> is a
+pointer to a QMenuBar and <tt>filemenu</tt> is a pointer to a
+<a href="qpopupmenu.html">QPopupMenu</a>, the following statement inserts the menu into the menu
+bar:
+<pre>
+ menubar-&gt;insertItem( "&amp;File", filemenu );
+ </pre>
+
+The ampersand in the menu item's text sets Alt+F as a shortcut for
+this menu. (You can use "&amp;&amp;" to get a real ampersand in the menu
+bar.)
+<p> Items are either enabled or disabled. You toggle their state with
+<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>().
+<p> There is no need to lay out a menu bar. It automatically sets its
+own geometry to the top of the parent widget and changes it
+appropriately whenever the parent is resized.
+<p>
+<p> Example of creating a menu bar with menu items (from <a href="menu-example.html">menu/menu.cpp</a>):
+
+
+<pre> <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+</pre><pre> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p1, "&amp;Open", this, SLOT(open()), CTRL+Key_O );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( p2, "&amp;New", this, SLOT(news()), CTRL+Key_N );
+</pre><pre> menu = new QMenuBar( this );
+</pre><pre> menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+</pre>
+<p> In most main window style applications you would use the menuBar()
+provided in <a href="qmainwindow.html">QMainWindow</a>, adding <a href="qpopupmenu.html">QPopupMenu</a>s to the menu bar
+and adding <a href="qaction.html">QAction</a>s to the popup menus.
+<p> Example (from <a href="qaction-application-example.html">action/application.cpp</a>):
+
+
+<pre> <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( file );
+</pre>
+<p> Menu items can have text and pixmaps (or iconsets), see the
+various <a href="qmenudata.html#insertItem">insertItem()</a>
+overloads, as well as separators, see <a href="qmenudata.html#insertSeparator">insertSeparator()</a>. You can
+also add custom menu items that are derived from
+<a href="qcustommenuitem.html">QCustomMenuItem</a>.
+<p> Menu items may be removed with <a href="qmenudata.html#removeItem">removeItem</a>() and enabled or
+disabled with <a href="qmenudata.html#setItemEnabled">setItemEnabled()</a>.
+<p> <img src=qmenubar-m.png> <img src=qmenubar-w.png>
+<p> <h3> QMenuBar on Qt/Mac
+</h3>
+<a name="1"></a><p> QMenuBar on Qt/Mac is a wrapper for using the system-wide menubar.
+If you have multiple menubars in one dialog the outermost menubar
+(normally inside a widget with <a href="qt.html#WidgetFlags">widget flag</a> <a href="qt.html#WidgetFlags-enum">WType_TopLevel</a>) will
+be used for the system-wide menubar.
+<p> Note that arbitrary Qt widgets <em>cannot</em> be inserted into a
+QMenuBar on the Mac because Qt uses Mac's native menus which don't
+support this functionality. This limitation does not apply to
+stand-alone QPopupMenus.
+<p> Qt/Mac also provides a menubar merging feature to make QMenuBar
+conform more closely to accepted Mac OS X menubar layout. The
+merging functionality is based on string matching the title of a
+<a href="qpopupmenu.html">QPopupMenu</a> entry. These strings are translated (using
+<a href="qobject.html#tr">QObject::tr</a>()) in the "QMenuBar" context. If an entry is moved its
+slots will still fire as if it was in the original place. The
+table below outlines the strings looked for and where the entry is
+placed if matched:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">String matches <th valign="top">Placement <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top">about.*
+<td valign="top">Application Menu | About <application name>
+<td valign="top">If this entry is not found no About item will appear in
+the Application Menu
+<tr bgcolor="#d0d0d0"> <td valign="top">config, options, setup, settings or preferences
+<td valign="top">Application Menu | Preferences
+<td valign="top">If this entry is not found the Settings item will be disabled
+<tr bgcolor="#f0f0f0"> <td valign="top">quit or exit
+<td valign="top">Application Menu | Quit <application name>
+<td valign="top">If this entry is not found a default Quit item will be
+created to call <a href="qapplication.html#quit">QApplication::quit</a>()
+</table></center>
+<p> <a href="menu-example.html">menu/menu.cpp</a> is an example of
+QMenuBar and <a href="qpopupmenu.html">QPopupMenu</a> use.
+<p> <p>See also <a href="qpopupmenu.html">QPopupMenu</a>, <a href="qaccel.html">QAccel</a>, <a href="qaction.html">QAction</a>, <a href="http://developer.apple.com/techpubs/macosx/Carbon/HumanInterfaceToolbox/Aqua/aqua.html">Aqua Style Guidelines</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Menu Bar</a>, and <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Separator-enum"></a>QMenuBar::Separator</h3>
+
+<p> This enum type is used to decide whether QMenuBar should draw a
+separator line at its bottom.
+<ul>
+<li><tt>QMenuBar::Never</tt> - In many applications there is already a separator,
+and having two looks wrong.
+<li><tt>QMenuBar::InWindowsStyle</tt> - In some other applications a separator looks
+good in Windows style, but nowhere else.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMenuBar"></a>QMenuBar::QMenuBar ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a menu bar called <em>name</em> with parent <em>parent</em>.
+
+<h3 class=fn><a name="~QMenuBar"></a>QMenuBar::~QMenuBar ()
+</h3>
+Destroys the menu bar.
+
+<h3 class=fn>void <a name="activated"></a>QMenuBar::activated ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a menu item is selected; <em>id</em> is the
+id of the selected item.
+<p> Normally you will connect each menu item to a single slot using
+<a href="qmenudata.html#insertItem">QMenuData::insertItem</a>(), but sometimes you will want to connect
+several items to a single slot (most often if the user selects
+from an array). This signal is useful in such cases.
+<p> <p>See also <a href="#highlighted">highlighted</a>() and <a href="qmenudata.html#insertItem">QMenuData::insertItem</a>().
+
+<p>Example: <a href="progress-example.html#x67">progress/progress.cpp</a>.
+<h3 class=fn>void <a name="clear"></a>QMenuData::clear ()
+</h3>
+Removes all menu items.
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>() and <a href="qmenudata.html#removeItemAt">removeItemAt</a>().
+
+<p>Examples: <a href="mdi-example.html#x2029">mdi/application.cpp</a> and <a href="qwerty-example.html#x370">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="drawContents"></a>QMenuBar::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Called from <a href="qframe.html#paintEvent">QFrame::paintEvent</a>(). Draws the menu bar contents
+using painter <em>p</em>.
+
+<p>Reimplemented from <a href="qframe.html#drawContents">QFrame</a>.
+<h3 class=fn>int <a name="heightForWidth"></a>QMenuBar::heightForWidth ( int&nbsp;max_width ) const<tt> [virtual]</tt>
+</h3>
+Returns the height that the menu would resize itself to if its
+parent (and hence itself) resized to the given <em>max_width</em>. This
+can be useful for simple layout tasks in which the height of the
+menu bar is needed after items have been inserted. See <a href="showimg-example.html">showimg/showimg.cpp</a> for an example of the usage.
+
+<p>Example: <a href="showimg-example.html#x1325">showimg/showimg.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#heightForWidth">QWidget</a>.
+<h3 class=fn>void <a name="hide"></a>QMenuBar::hide ()<tt> [virtual]</tt>
+</h3>
+Reimplements <a href="qwidget.html#hide">QWidget::hide</a>() in order to deselect any selected
+item, and calls setUpLayout() for the main window.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2745">grapher/grapher.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#hide">QWidget</a>.
+<h3 class=fn>void <a name="highlighted"></a>QMenuBar::highlighted ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a menu item is highlighted; <em>id</em> is
+the id of the highlighted item.
+<p> Normally, you will connect each menu item to a single slot using
+<a href="qmenudata.html#insertItem">QMenuData::insertItem</a>(), but sometimes you will want to connect
+several items to a single slot (most often if the user selects
+from an array). This signal is useful in such cases.
+<p> <p>See also <a href="#activated">activated</a>() and <a href="qmenudata.html#insertItem">QMenuData::insertItem</a>().
+
+<h3 class=fn>int <a name="insertItem"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+The family of <a href="qmenudata.html#insertItem">insertItem</a>() functions inserts menu items into a
+popup menu or a menu bar.
+<p> A menu item is usually either a text string or a pixmap, both with
+an optional icon or keyboard accelerator. For special cases it is
+also possible to insert custom items (see <a href="qcustommenuitem.html">QCustomMenuItem</a>) or
+even widgets into popup menus.
+<p> Some insertItem() members take a popup menu as an additional
+argument. Use this to insert submenus into existing menus or
+pulldown menus into a menu bar.
+<p> The number of insert functions may look confusing, but they are
+actually quite simple to use.
+<p> This default version inserts a menu item with the text <em>text</em>,
+the accelerator key <em>accel</em>, an id and an optional index and
+connects it to the slot <em>member</em> in the object <em>receiver</em>.
+<p> Example:
+<pre>
+ QMenuBar *mainMenu = new QMenuBar;
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>;
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "New", myView, SLOT(newFile()), CTRL+Key_N );
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open", myView, SLOT(open()), CTRL+Key_O );
+ mainMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "File", fileMenu );
+ </pre>
+
+<p> Not all insert functions take an object/slot parameter or an
+accelerator key. Use <a href="qmenudata.html#connectItem">connectItem</a>() and <a href="qmenudata.html#setAccel">setAccel</a>() on those items.
+<p> If you need to translate accelerators, use <a href="qobject.html#tr">tr</a>() with the text and
+accelerator. (For translations use a string <a href="qkeysequence.html">key
+ sequence</a>.):
+<pre>
+ fileMenu-&gt;insertItem( <a href="qobject.html#tr">tr</a>("Open"), myView, SLOT(open()),
+ <a href="qobject.html#tr">tr</a>("Ctrl+O") );
+ </pre>
+
+<p> In the example above, pressing Ctrl+O or selecting "Open" from the
+menu activates the myView->open() function.
+<p> Some insert functions take a <a href="qiconset.html">QIconSet</a> parameter to specify the
+little menu item icon. Note that you can always pass a <a href="qpixmap.html">QPixmap</a>
+object instead.
+<p> The <em>id</em> specifies the identification number associated with the
+menu item. Note that only positive values are valid, as a negative
+value will make Qt select a unique id for the item.
+<p> The <em>index</em> specifies the position in the menu. The menu item is
+appended at the end of the list if <em>index</em> is negative.
+<p> Note that keyboard accelerators in Qt are not application-global,
+instead they are bound to a certain top-level window. For example,
+accelerators in <a href="qpopupmenu.html">QPopupMenu</a> items only work for menus that are
+associated with a certain window. This is true for popup menus
+that live in a menu bar since their accelerators will then be
+installed in the menu bar itself. This also applies to stand-alone
+popup menus that have a top-level widget in their <a href="qwidget.html#parentWidget">parentWidget</a>()
+chain. The menu will then install its accelerator object on that
+top-level widget. For all other cases use an independent <a href="qaccel.html">QAccel</a>
+object.
+<p> <b>Warning:</b> Be careful when passing a literal 0 to <a href="qmenudata.html#insertItem">insertItem</a>()
+because some C++ compilers choose the wrong overloaded function.
+Cast the 0 to what you mean, e.g. <tt>(QObject*)0</tt>.
+<p> <b>Warning:</b> On Mac OS X, items that connect to a slot that are inserted into a
+menubar will not function as we use the native menubar that knows nothing
+about signals or slots. Instead insert the items into a popup menu and
+insert the popup menu into the menubar. This may be fixed in a future Qt
+version.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<p>Examples: <a href="addressbook-example.html#x569">addressbook/mainwindow.cpp</a>, <a href="canvas-example.html#x2936">canvas/canvas.cpp</a>, <a href="menu-example.html#x1869">menu/menu.cpp</a>, <a href="qwerty-example.html#x371">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x634">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1327">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2810">sound/sound.cpp</a>.
+<h3 class=fn>int <a name="insertItem-2"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, accelerator
+<em>accel</em>, optional id <em>id</em>, and optional <em>index</em> position. The
+menu item is connected it to the <em>receiver</em>'s <em>member</em> slot. The
+icon will be displayed to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-3"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, accelerator <em>accel</em>,
+optional id <em>id</em>, and optional <em>index</em> position. The menu item
+is connected it to the <em>receiver</em>'s <em>member</em> slot. The icon will
+be displayed to the left of the text in the item.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-4"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>,
+accelerator <em>accel</em>, optional id <em>id</em>, and optional <em>index</em>
+position. The icon will be displayed to the left of the pixmap in
+the item. The item is connected to the <em>member</em> slot in the <em>receiver</em> object.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-5"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-6"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, optional id
+<em>id</em>, and optional <em>index</em> position. The icon will be displayed
+to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-7"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, submenu <em>popup</em>, optional
+id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-8"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the text in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-9"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-a"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>, optional
+id <em>id</em>, and optional <em>index</em> position. The icon will be
+displayed to the left of the pixmap in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-b"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, submenu <em>popup</em>,
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-c"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em> submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the pixmap in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-d"></a>QMenuData::insertItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item that consists of the widget <em>widget</em> with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> Ownership of <em>widget</em> is transferred to the popup menu or to the
+menu bar.
+<p> Theoretically, any widget can be inserted into a popup menu. In
+practice, this only makes sense with certain widgets.
+<p> If a widget is not focus-enabled (see
+<a href="qwidget.html#isFocusEnabled">QWidget::isFocusEnabled</a>()), the menu treats it as a separator;
+this means that the item is not selectable and will never get
+focus. In this way you can, for example, simply insert a <a href="qlabel.html">QLabel</a> if
+you need a popup menu with a title.
+<p> If the widget is focus-enabled it will get focus when the user
+traverses the popup menu with the arrow keys. If the widget does
+not accept <tt>ArrowUp</tt> and <tt>ArrowDown</tt> in its key event handler,
+the focus will move back to the menu when the respective arrow key
+is hit one more time. This works with a <a href="qlineedit.html">QLineEdit</a>, for example. If
+the widget accepts the arrow key itself, it must also provide the
+possibility to put the focus back on the menu again by calling
+<a href="qwidget.html#focusNextPrevChild">QWidget::focusNextPrevChild</a>(). Futhermore, if the embedded widget
+closes the menu when the user made a selection, this can be done
+safely by calling:
+<pre>
+ if ( <a href="qwidget.html#isVisible">isVisible</a>() &amp;&amp;
+ <a href="qwidget.html#parentWidget">parentWidget</a>() &amp;&amp;
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;inherits("QPopupMenu") )
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;close();
+ </pre>
+
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>().
+
+<h3 class=fn>int <a name="insertItem-e"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with an <em>icon</em> and with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="qmenudata.html#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertItem-f"></a>QMenuData::insertItem ( <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="qmenudata.html#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertSeparator"></a>QMenuData::insertSeparator ( int&nbsp;index = -1 )
+</h3>
+Inserts a separator at position <em>index</em>, and returns the <a href="qmenudata.html#menu-identifier">menu identifier</a>
+number allocated to it. The separator becomes the last menu item if
+<em>index</em> is negative.
+<p> In a popup menu a separator is rendered as a horizontal line. In a
+<a href="motif-extension.html#Motif">Motif</a> menu bar a separator is spacing, so the rest of the items
+(normally just "Help") are drawn right-justified. In a Windows
+menu bar separators are ignored (to comply with the Windows style
+guidelines).
+
+<p>Examples: <a href="addressbook-example.html#x570">addressbook/mainwindow.cpp</a>, <a href="menu-example.html#x1870">menu/menu.cpp</a>, <a href="progress-example.html#x69">progress/progress.cpp</a>, <a href="qwerty-example.html#x372">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x635">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1328">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2811">sound/sound.cpp</a>.
+<h3 class=fn>bool <a name="isDefaultUp"></a>QMenuBar::isDefaultUp () const
+</h3><p>Returns the popup orientation.
+See the <a href="qmenubar.html#defaultUp-prop">"defaultUp"</a> property for details.
+<h3 class=fn>bool <a name="isItemEnabled"></a>QMenuData::isItemEnabled ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the item with identifier <em>id</em> is enabled;
+otherwise returns FALSE
+<p> <p>See also <a href="qmenudata.html#setItemEnabled">setItemEnabled</a>() and <a href="qmenudata.html#isItemVisible">isItemVisible</a>().
+
+<h3 class=fn>bool <a name="isItemVisible"></a>QMenuData::isItemVisible ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> is visible;
+otherwise returns FALSE.
+<p> <p>See also <a href="qmenudata.html#setItemVisible">setItemVisible</a>().
+
+<h3 class=fn>void <a name="menuContentsChanged"></a>QMenuBar::menuContentsChanged ()<tt> [virtual protected]</tt>
+</h3>
+Recomputes the menu bar's display data according to the new
+contents.
+<p> You should never need to call this; it is called automatically by
+<a href="qmenudata.html">QMenuData</a> whenever it needs to be called.
+
+<p>Reimplemented from <a href="qmenudata.html#menuContentsChanged">QMenuData</a>.
+<h3 class=fn>void <a name="menuStateChanged"></a>QMenuBar::menuStateChanged ()<tt> [virtual protected]</tt>
+</h3>
+Recomputes the menu bar's display data according to the new state.
+<p> You should never need to call this; it is called automatically by
+<a href="qmenudata.html">QMenuData</a> whenever it needs to be called.
+
+<p>Reimplemented from <a href="qmenudata.html#menuStateChanged">QMenuData</a>.
+<h3 class=fn>void <a name="removeItem"></a>QMenuData::removeItem ( int&nbsp;id )
+</h3>
+
+<p> Removes the menu item that has the identifier <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#removeItemAt">removeItemAt</a>() and <a href="qmenudata.html#clear">clear</a>().
+
+<p>Example: <a href="canvas-chart-example.html#x2885">chart/chartform.cpp</a>.
+<h3 class=fn><a href="qmenubar.html#Separator-enum">Separator</a> <a name="separator"></a>QMenuBar::separator () const
+</h3><p>Returns in which cases a menubar sparator is drawn.
+See the <a href="qmenubar.html#separator-prop">"separator"</a> property for details.
+<h3 class=fn>void <a name="setDefaultUp"></a>QMenuBar::setDefaultUp ( bool )
+</h3><p>Sets the popup orientation.
+See the <a href="qmenubar.html#defaultUp-prop">"defaultUp"</a> property for details.
+<h3 class=fn>void <a name="setItemEnabled"></a>QMenuData::setItemEnabled ( int&nbsp;id, bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, enables the menu item with identifier <em>id</em>;
+otherwise disables the menu item with identifier <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#isItemEnabled">isItemEnabled</a>().
+
+<p>Examples: <a href="mdi-example.html#x2033">mdi/application.cpp</a>, <a href="menu-example.html#x1873">menu/menu.cpp</a>, <a href="progress-example.html#x72">progress/progress.cpp</a>, and <a href="showimg-example.html#x1331">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="setItemVisible"></a>QMenuData::setItemVisible ( int&nbsp;id, bool&nbsp;visible )
+</h3>
+If <em>visible</em> is TRUE, shows the menu item with id <em>id</em>; otherwise
+hides the menu item with id <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#isItemVisible">isItemVisible</a>() and <a href="qmenudata.html#isItemEnabled">isItemEnabled</a>().
+
+<h3 class=fn>void <a name="setSeparator"></a>QMenuBar::setSeparator ( <a href="qmenubar.html#Separator-enum">Separator</a>&nbsp;when )<tt> [virtual]</tt>
+</h3><p>Sets in which cases a menubar sparator is drawn to <em>when</em>.
+See the <a href="qmenubar.html#separator-prop">"separator"</a> property for details.
+<h3 class=fn>void <a name="show"></a>QMenuBar::show ()<tt> [virtual]</tt>
+</h3>
+Reimplements <a href="qwidget.html#show">QWidget::show</a>() in order to set up the correct
+keyboard accelerators and to raise itself to the top of the widget
+stack.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2746">grapher/grapher.cpp</a>.
+<p>Reimplemented from <a href="qwidget.html#show">QWidget</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="defaultUp-prop"></a>defaultUp</h3>
+<p>This property holds the popup orientation.
+<p>The default popup orientation. By default, menus pop "down" the
+screen. By setting the property to TRUE, the menu will pop "up".
+You might call this for menus that are <em>below</em> the document to
+which they refer.
+<p> If the menu would not fit on the screen, the other direction is
+used automatically.
+
+<p>Set this property's value with <a href="#setDefaultUp">setDefaultUp</a>() and get this property's value with <a href="#isDefaultUp">isDefaultUp</a>().
+<h3 class=fn><a href="qmenubar.html#Separator-enum">Separator</a> <a name="separator-prop"></a>separator</h3>
+<p>This property holds in which cases a menubar sparator is drawn.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p>Set this property's value with <a href="#setSeparator">setSeparator</a>() and get this property's value with <a href="#separator">separator</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenudata-h.html b/doc/html/qmenudata-h.html
new file mode 100644
index 0000000..d0bf82a
--- /dev/null
+++ b/doc/html/qmenudata-h.html
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmenudata.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmenudata.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmenudata.h</h1>
+
+<p>This is the verbatim text of the qmenudata.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmenudata.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMenuData class
+**
+** Created : 941128
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMENUDATA_H
+#define QMENUDATA_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qiconset.h" // conversion QPixmap-&gt;QIconset
+#include "qkeysequence.h"
+#include "qstring.h"
+#include "qsignal.h"
+#include "qfont.h"
+#endif // QT_H
+
+#ifndef QT_NO_MENUDATA
+
+class QPopupMenu;
+class QMenuDataData;
+class QObject;
+
+class QCustomMenuItem;
+class QMenuItemData;
+
+class Q_EXPORT QMenuItem // internal menu item class
+{
+friend class QMenuData;
+public:
+ QMenuItem();
+ ~QMenuItem();
+
+ int id() const { return ident; }
+ QIconSet *iconSet() const { return iconset_data; }
+ QString text() const { return text_data; }
+ QString whatsThis() const { return whatsthis_data; }
+ QPixmap *pixmap() const { return pixmap_data; }
+ QPopupMenu *popup() const { return popup_menu; }
+ QWidget *widget() const { return widget_item; }
+ QCustomMenuItem *custom() const;
+#ifndef QT_NO_ACCEL
+ QKeySequence key() const { return accel_key; }
+#endif
+ QSignal *signal() const { return signal_data; }
+ bool isSeparator() const { return is_separator; }
+ bool isEnabled() const { return is_enabled; }
+ bool isChecked() const { return is_checked; }
+ bool isDirty() const { return is_dirty; }
+ bool isVisible() const { return is_visible; }
+ bool isEnabledAndVisible() const { return is_enabled &amp;&amp; is_visible; }
+
+ void setText( const QString &amp;text ) { text_data = text; }
+ void setDirty( bool dirty ) { is_dirty = dirty; }
+ void setVisible( bool visible ) { is_visible = visible; }
+ void setWhatsThis( const QString &amp;text ) { whatsthis_data = text; }
+
+private:
+ int ident; // item identifier
+ QIconSet *iconset_data; // icons
+ QString text_data; // item text
+ QString whatsthis_data; // item Whats This help text
+ QPixmap *pixmap_data; // item pixmap
+ QPopupMenu *popup_menu; // item popup menu
+ QWidget *widget_item; // widget menu item
+#ifndef QT_NO_ACCEL
+ QKeySequence accel_key; // accelerator key (state|ascii)
+#endif
+ QSignal *signal_data; // connection
+ uint is_separator : 1; // separator flag
+ uint is_enabled : 1; // disabled flag
+ uint is_checked : 1; // checked flag
+ uint is_dirty : 1; // dirty (update) flag
+ uint is_visible : 1; // visibility flag
+ QMenuItemData* d;
+
+ QMenuItemData* extra();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMenuItem( const QMenuItem &amp; );
+ QMenuItem &amp;operator=( const QMenuItem &amp; );
+#endif
+};
+
+#include "qptrlist.h"
+typedef QPtrList&lt;QMenuItem&gt; QMenuItemList;
+typedef QPtrListIterator&lt;QMenuItem&gt; QMenuItemListIt;
+
+
+class Q_EXPORT QCustomMenuItem : public Qt
+{
+public:
+ QCustomMenuItem();
+ virtual ~QCustomMenuItem();
+ virtual bool fullSpan() const;
+ virtual bool isSeparator() const;
+ virtual void setFont( const QFont&amp; font );
+ virtual void paint( QPainter* p, const QColorGroup&amp; cg, bool act,
+ bool enabled, int x, int y, int w, int h ) = 0;
+ virtual QSize sizeHint() = 0;
+};
+
+
+class Q_EXPORT QMenuData // menu data class
+{
+friend class QMenuBar;
+friend class QPopupMenu;
+public:
+ QMenuData();
+ virtual ~QMenuData();
+
+ uint count() const;
+
+
+ int insertItem( const QString &amp;text,
+ const QObject *receiver, const char* member,
+ const QKeySequence&amp; accel = 0, int id = -1, int index = -1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QString &amp;text,
+ const QObject *receiver, const char* member,
+ const QKeySequence&amp; accel = 0, int id = -1, int index = -1 );
+ int insertItem( const QPixmap &amp;pixmap,
+ const QObject *receiver, const char* member,
+ const QKeySequence&amp; accel = 0, int id = -1, int index = -1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QPixmap &amp;pixmap,
+ const QObject *receiver, const char* member,
+ const QKeySequence&amp; accel = 0, int id = -1, int index = -1 );
+
+ int insertItem( const QString &amp;text, int id=-1, int index=-1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QString &amp;text, int id=-1, int index=-1 );
+
+ int insertItem( const QString &amp;text, QPopupMenu *popup,
+ int id=-1, int index=-1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QString &amp;text, QPopupMenu *popup,
+ int id=-1, int index=-1 );
+
+
+ int insertItem( const QPixmap &amp;pixmap, int id=-1, int index=-1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QPixmap &amp;pixmap, int id=-1, int index=-1 );
+ int insertItem( const QPixmap &amp;pixmap, QPopupMenu *popup,
+ int id=-1, int index=-1 );
+ int insertItem( const QIconSet&amp; icon,
+ const QPixmap &amp;pixmap, QPopupMenu *popup,
+ int id=-1, int index=-1 );
+
+ int insertItem( QWidget* widget, int id=-1, int index=-1 );
+
+ int insertItem( const QIconSet&amp; icon, QCustomMenuItem* custom, int id=-1, int index=-1 );
+ int insertItem( QCustomMenuItem* custom, int id=-1, int index=-1 );
+
+
+ int insertSeparator( int index=-1 );
+
+ void removeItem( int id );
+ void removeItemAt( int index );
+ void clear();
+
+#ifndef QT_NO_ACCEL
+ QKeySequence accel( int id ) const;
+ void setAccel( const QKeySequence&amp; key, int id );
+#endif
+
+ QIconSet *iconSet( int id ) const;
+ QString text( int id ) const;
+ QPixmap *pixmap( int id ) const;
+
+ void setWhatsThis( int id, const QString&amp; );
+ QString whatsThis( int id ) const;
+
+
+ void changeItem( int id, const QString &amp;text );
+ void changeItem( int id, const QPixmap &amp;pixmap );
+ void changeItem( int id, const QIconSet &amp;icon, const QString &amp;text );
+ void changeItem( int id, const QIconSet &amp;icon, const QPixmap &amp;pixmap );
+
+ void changeItem( const QString &amp;text, int id ) { changeItem( id, text); } // obsolete
+ void changeItem( const QPixmap &amp;pixmap, int id ) { changeItem( id, pixmap ); } // obsolete
+ void changeItem( const QIconSet &amp;icon, const QString &amp;text, int id ) { // obsolete
+ changeItem( id, icon, text );
+ }
+
+ bool isItemActive( int id ) const;
+
+ bool isItemEnabled( int id ) const;
+ void setItemEnabled( int id, bool enable );
+
+ bool isItemChecked( int id ) const;
+ void setItemChecked( int id, bool check );
+
+ bool isItemVisible( int id ) const;
+ void setItemVisible( int id, bool visible );
+
+ virtual void updateItem( int id );
+
+ int indexOf( int id ) const;
+ int idAt( int index ) const;
+ virtual void setId( int index, int id );
+
+ bool connectItem( int id,
+ const QObject *receiver, const char* member );
+ bool disconnectItem( int id,
+ const QObject *receiver, const char* member );
+
+ bool setItemParameter( int id, int param );
+ int itemParameter( int id ) const;
+
+ QMenuItem *findItem( int id ) const;
+ QMenuItem *findItem( int id, QMenuData ** parent ) const;
+ QMenuItem * findPopup( QPopupMenu *, int *index = 0 );
+
+ virtual void activateItemAt( int index );
+
+protected:
+ int actItem;
+ QMenuItemList *mitems;
+ QMenuData *parentMenu;
+ uint isPopupMenu : 1;
+ uint isMenuBar : 1;
+ uint badSize : 1;
+ uint mouseBtDn : 1;
+ uint avoid_circularity : 1;
+ uint actItemDown : 1;
+ virtual void menuContentsChanged();
+ virtual void menuStateChanged();
+ virtual void menuInsPopup( QPopupMenu * );
+ virtual void menuDelPopup( QPopupMenu * );
+
+private:
+ int insertAny( const QString *, const QPixmap *, QPopupMenu *,
+ const QIconSet*, int, int, QWidget* = 0, QCustomMenuItem* = 0);
+ void removePopup( QPopupMenu * );
+ void changeItemIconSet( int id, const QIconSet &amp;icon );
+
+ QMenuDataData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMenuData( const QMenuData &amp; );
+ QMenuData &amp;operator=( const QMenuData &amp; );
+#endif
+};
+
+
+#endif // QT_NO_MENUDATA
+
+#endif // QMENUDATA_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenudata-members.html b/doc/html/qmenudata-members.html
new file mode 100644
index 0000000..0274997
--- /dev/null
+++ b/doc/html/qmenudata-members.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmenudata.h:138 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMenuData Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMenuData</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmenudata.html">QMenuData</a>, including inherited members.
+
+<ul>
+<li><a href="qmenudata.html#QMenuData">QMenuData</a>()
+<li><a href="qmenudata.html#~QMenuData">~QMenuData</a>()
+<li><a href="qmenudata.html#accel">accel</a>()
+<li><a href="qmenudata.html#activateItemAt">activateItemAt</a>()
+<li><a href="qmenudata.html#changeItem">changeItem</a>()
+<li><a href="qmenudata.html#clear">clear</a>()
+<li><a href="qmenudata.html#connectItem">connectItem</a>()
+<li><a href="qmenudata.html#count">count</a>()
+<li><a href="qmenudata.html#disconnectItem">disconnectItem</a>()
+<li><a href="qmenudata.html#findItem">findItem</a>()
+<li><a href="qmenudata.html#iconSet">iconSet</a>()
+<li><a href="qmenudata.html#idAt">idAt</a>()
+<li><a href="qmenudata.html#indexOf">indexOf</a>()
+<li><a href="qmenudata.html#insertItem">insertItem</a>()
+<li><a href="qmenudata.html#insertSeparator">insertSeparator</a>()
+<li><a href="qmenudata.html#isItemActive">isItemActive</a>()
+<li><a href="qmenudata.html#isItemChecked">isItemChecked</a>()
+<li><a href="qmenudata.html#isItemEnabled">isItemEnabled</a>()
+<li><a href="qmenudata.html#isItemVisible">isItemVisible</a>()
+<li><a href="qmenudata.html#itemParameter">itemParameter</a>()
+<li><a href="qmenudata.html#menuContentsChanged">menuContentsChanged</a>()
+<li><a href="qmenudata.html#menuDelPopup">menuDelPopup</a>()
+<li><a href="qmenudata.html#menuInsPopup">menuInsPopup</a>()
+<li><a href="qmenudata.html#menuStateChanged">menuStateChanged</a>()
+<li><a href="qmenudata.html#pixmap">pixmap</a>()
+<li><a href="qmenudata.html#removeItem">removeItem</a>()
+<li><a href="qmenudata.html#removeItemAt">removeItemAt</a>()
+<li><a href="qmenudata.html#setAccel">setAccel</a>()
+<li><a href="qmenudata.html#setId">setId</a>()
+<li><a href="qmenudata.html#setItemChecked">setItemChecked</a>()
+<li><a href="qmenudata.html#setItemEnabled">setItemEnabled</a>()
+<li><a href="qmenudata.html#setItemParameter">setItemParameter</a>()
+<li><a href="qmenudata.html#setItemVisible">setItemVisible</a>()
+<li><a href="qmenudata.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qmenudata.html#text">text</a>()
+<li><a href="qmenudata.html#updateItem">updateItem</a>()
+<li><a href="qmenudata.html#whatsThis">whatsThis</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmenudata.html b/doc/html/qmenudata.html
new file mode 100644
index 0000000..721d3f2
--- /dev/null
+++ b/doc/html/qmenudata.html
@@ -0,0 +1,706 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qmenudata.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMenuData Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMenuData Class Reference</h1>
+
+<p>The QMenuData class is a base class for QMenuBar and QPopupMenu.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmenudata-h.html">qmenudata.h</a>&gt;</tt>
+<p>Inherited by <a href="qmenubar.html">QMenuBar</a> and <a href="qpopupmenu.html">QPopupMenu</a>.
+<p><a href="qmenudata-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMenuData"><b>QMenuData</b></a> ()</li>
+<li class=fn>virtual <a href="#~QMenuData"><b>~QMenuData</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>int <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-2"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-3"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-4"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-5"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-6"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-7"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-8"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-9"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-a"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-b"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-c"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-d"><b>insertItem</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-e"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-f"><b>insertItem</b></a> ( QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertSeparator"><b>insertSeparator</b></a> ( int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#removeItemAt"><b>removeItemAt</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setAccel"><b>setAccel</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;key, int&nbsp;id )</li>
+<li class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setWhatsThis"><b>setWhatsThis</b></a> ( int&nbsp;id, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#whatsThis"><b>whatsThis</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#changeItem"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#changeItem-2"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>void <a href="#changeItem-3"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#changeItem-4"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>void changeItem ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void changeItem ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void changeItem ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#isItemActive"><b>isItemActive</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>bool <a href="#isItemEnabled"><b>isItemEnabled</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemEnabled"><b>setItemEnabled</b></a> ( int&nbsp;id, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isItemChecked"><b>isItemChecked</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemChecked"><b>setItemChecked</b></a> ( int&nbsp;id, bool&nbsp;check )</li>
+<li class=fn>bool <a href="#isItemVisible"><b>isItemVisible</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemVisible"><b>setItemVisible</b></a> ( int&nbsp;id, bool&nbsp;visible )</li>
+<li class=fn>virtual void <a href="#updateItem"><b>updateItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>int <a href="#idAt"><b>idAt</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>virtual void <a href="#setId"><b>setId</b></a> ( int&nbsp;index, int&nbsp;id )</li>
+<li class=fn>bool <a href="#connectItem"><b>connectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#disconnectItem"><b>disconnectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#setItemParameter"><b>setItemParameter</b></a> ( int&nbsp;id, int&nbsp;param )</li>
+<li class=fn>int <a href="#itemParameter"><b>itemParameter</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QMenuItem * <a href="#findItem"><b>findItem</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QMenuItem * <a href="#findItem-2"><b>findItem</b></a> ( int&nbsp;id, QMenuData&nbsp;**&nbsp;parent ) const</li>
+<li class=fn>virtual void <a href="#activateItemAt"><b>activateItemAt</b></a> ( int&nbsp;index )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#menuContentsChanged"><b>menuContentsChanged</b></a> ()</li>
+<li class=fn>virtual void <a href="#menuStateChanged"><b>menuStateChanged</b></a> ()</li>
+<li class=fn>virtual void <a href="#menuInsPopup"><b>menuInsPopup</b></a> ( QPopupMenu * )</li>
+<li class=fn>virtual void <a href="#menuDelPopup"><b>menuDelPopup</b></a> ( QPopupMenu * )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMenuData class is a base class for <a href="qmenubar.html">QMenuBar</a> and <a href="qpopupmenu.html">QPopupMenu</a>.
+<p>
+<p> QMenuData has an internal list of menu items. A menu item can have
+a <a href="#text">text</a>(), an <a href="#accel">accelerator</a>, a <a href="#pixmap">pixmap</a>(), an
+<a href="#iconSet">iconSet</a>(), a <a href="#whatsThis">whatsThis</a>() text and a popup menu (unless it is a
+separator). Menu items may optionally be <a href="#setItemChecked">checked</a> (except for separators).
+<p> The menu item sends out an <a href="qmenubar.html#activated">activated()</a> signal when it is chosen and a <a href="qmenubar.html#highlighted">highlighted()</a> signal when it
+receives the user input focus.
+<p> <!-- index menu identifier --><a name="menu-identifier"></a>
+<p> Menu items are assigned the menu identifier <em>id</em> that is passed
+in <a href="#insertItem">insertItem</a>() or an automatically generated identifier if <em>id</em>
+is < 0 (the default). The generated identifiers (negative
+integers) are guaranteed to be unique within the entire
+application. The identifier is used to access the menu item in
+other functions.
+<p> Menu items can be removed with <a href="#removeItem">removeItem</a>() and <a href="#removeItemAt">removeItemAt</a>(), or
+changed with <a href="#changeItem">changeItem</a>(). All menu items can be removed with
+<a href="#clear">clear</a>(). Accelerators can be changed or set with <a href="#setAccel">setAccel</a>().
+Checkable items can be checked or unchecked with <a href="#setItemChecked">setItemChecked</a>().
+Items can be enabled or disabled using <a href="#setItemEnabled">setItemEnabled</a>() and
+connected and disconnected with <a href="#connectItem">connectItem</a>() and <a href="#disconnectItem">disconnectItem</a>()
+respectively. By default, newly created menu items are visible.
+They can be hidden (and shown again) with <a href="#setItemVisible">setItemVisible</a>().
+<p> Menu items are stored in a list. Use <a href="#findItem">findItem</a>() to find an item by
+its list position or by its menu identifier. (See also <a href="#indexOf">indexOf</a>()
+and <a href="#idAt">idAt</a>().)
+<p> <p>See also <a href="qaccel.html">QAccel</a>, <a href="qpopupmenu.html">QPopupMenu</a>, <a href="qaction.html">QAction</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMenuData"></a>QMenuData::QMenuData ()
+</h3>
+Constructs an empty menu data list.
+
+<h3 class=fn><a name="~QMenuData"></a>QMenuData::~QMenuData ()<tt> [virtual]</tt>
+</h3>
+Removes all menu items and disconnects any signals that have been
+connected.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QMenuData::accel ( int&nbsp;id ) const
+</h3>
+Returns the accelerator key that has been defined for the menu
+item <em>id</em>, or 0 if it has no accelerator key or if there is no
+such menu item.
+<p> <p>See also <a href="#setAccel">setAccel</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>void <a name="activateItemAt"></a>QMenuData::activateItemAt ( int&nbsp;index )<tt> [virtual]</tt>
+</h3>
+Activates the menu item at position <em>index</em>.
+<p> If the index is invalid (for example, -1), the object itself is
+deactivated.
+
+<h3 class=fn>void <a name="changeItem"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Changes the text of the menu item <em>id</em> to <em>text</em>. If the item
+has an icon, the icon remains unchanged.
+<p> <p>See also <a href="#text">text</a>().
+
+<h3 class=fn>void <a name="changeItem-2"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the pixmap of the menu item <em>id</em> to the pixmap <em>pixmap</em>.
+If the item has an icon, the icon is unchanged.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-3"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the iconset and text of the menu item <em>id</em> to the <em>icon</em>
+and <em>text</em> respectively.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-4"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the iconset and pixmap of the menu item <em>id</em> to <em>icon</em>
+and <em>pixmap</em> respectively.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-5"></a>QMenuData::changeItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Changes the text of the menu item <em>id</em>. If the item has an icon,
+the icon remains unchanged.
+<p> <p>See also <a href="#text">text</a>().
+
+<h3 class=fn>void <a name="changeItem-6"></a>QMenuData::changeItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Changes the pixmap of the menu item <em>id</em>. If the item has an icon,
+the icon remains unchanged.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-7"></a>QMenuData::changeItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Changes the icon and text of the menu item <em>id</em>.
+<p> <p>See also <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="clear"></a>QMenuData::clear ()
+</h3>
+Removes all menu items.
+<p> <p>See also <a href="#removeItem">removeItem</a>() and <a href="#removeItemAt">removeItemAt</a>().
+
+<p>Examples: <a href="mdi-example.html#x2029">mdi/application.cpp</a> and <a href="qwerty-example.html#x370">qwerty/qwerty.cpp</a>.
+<h3 class=fn>bool <a name="connectItem"></a>QMenuData::connectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the menu item with identifier <em>id</em> to <em>receiver</em>'s <em>member</em> slot or signal.
+<p> The receiver's slot (or signal) is activated when the menu item is
+activated.
+<p> <p>See also <a href="#disconnectItem">disconnectItem</a>() and <a href="#setItemParameter">setItemParameter</a>().
+
+<p>Example: <a href="menu-example.html#x1868">menu/menu.cpp</a>.
+<h3 class=fn>uint <a name="count"></a>QMenuData::count () const
+</h3>
+Returns the number of items in the menu.
+
+<h3 class=fn>bool <a name="disconnectItem"></a>QMenuData::disconnectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Disconnects the <em>receiver</em>'s <em>member</em> from the menu item with
+identifier <em>id</em>.
+<p> All connections are removed when the menu data object is
+destroyed.
+<p> <p>See also <a href="#connectItem">connectItem</a>() and <a href="#setItemParameter">setItemParameter</a>().
+
+<h3 class=fn>QMenuItem * <a name="findItem"></a>QMenuData::findItem ( int&nbsp;id ) const
+</h3>
+Returns the menu item with identifier <em>id</em>, or 0 if there is no
+item with this identifier.
+<p> Note that QMenuItem is an internal class, and that you should not
+need to call this function. Use the higher level functions like
+<a href="#text">text</a>(), <a href="#pixmap">pixmap</a>() and <a href="#changeItem">changeItem</a>() to get and modify menu item
+attributes instead.
+<p> <p>See also <a href="#indexOf">indexOf</a>().
+
+<p>Example: <a href="canvas-chart-example.html#x2882">chart/chartform.cpp</a>.
+<h3 class=fn>QMenuItem * <a name="findItem-2"></a>QMenuData::findItem ( int&nbsp;id, <a href="qmenudata.html">QMenuData</a>&nbsp;**&nbsp;parent ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the menu item with identifier <em>id</em>, or 0 if there is no
+item with this identifier. Changes <em>*parent</em> to point to the
+parent of the return value.
+<p> Note that QMenuItem is an internal class, and that you should not
+need to call this function. Use the higher level functions like
+<a href="#text">text</a>(), <a href="#pixmap">pixmap</a>() and <a href="#changeItem">changeItem</a>() to get and modify menu item
+attributes instead.
+<p> <p>See also <a href="#indexOf">indexOf</a>().
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;* <a name="iconSet"></a>QMenuData::iconSet ( int&nbsp;id ) const
+</h3>
+Returns the icon set that has been set for menu item <em>id</em>, or 0
+if no icon set has been set.
+<p> <p>See also <a href="#changeItem">changeItem</a>(), <a href="#text">text</a>(), and <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>int <a name="idAt"></a>QMenuData::idAt ( int&nbsp;index ) const
+</h3>
+Returns the identifier of the menu item at position <em>index</em> in
+the internal list, or -1 if <em>index</em> is out of range.
+<p> <p>See also <a href="#setId">setId</a>() and <a href="#indexOf">indexOf</a>().
+
+<h3 class=fn>int <a name="indexOf"></a>QMenuData::indexOf ( int&nbsp;id ) const
+</h3>
+Returns the index of the menu item with identifier <em>id</em>, or -1 if
+there is no item with this identifier.
+<p> <p>See also <a href="#idAt">idAt</a>() and <a href="#findItem">findItem</a>().
+
+<p>Example: <a href="scrollview-example.html#x633">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="insertItem"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+The family of <a href="#insertItem">insertItem</a>() functions inserts menu items into a
+popup menu or a menu bar.
+<p> A menu item is usually either a text string or a pixmap, both with
+an optional icon or keyboard accelerator. For special cases it is
+also possible to insert custom items (see <a href="qcustommenuitem.html">QCustomMenuItem</a>) or
+even widgets into popup menus.
+<p> Some insertItem() members take a popup menu as an additional
+argument. Use this to insert submenus into existing menus or
+pulldown menus into a menu bar.
+<p> The number of insert functions may look confusing, but they are
+actually quite simple to use.
+<p> This default version inserts a menu item with the text <em>text</em>,
+the accelerator key <em>accel</em>, an id and an optional index and
+connects it to the slot <em>member</em> in the object <em>receiver</em>.
+<p> Example:
+<pre>
+ <a href="qmenubar.html">QMenuBar</a> *mainMenu = new <a href="qmenubar.html">QMenuBar</a>;
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>;
+ fileMenu-&gt;<a href="#insertItem">insertItem</a>( "New", myView, SLOT(newFile()), CTRL+Key_N );
+ fileMenu-&gt;<a href="#insertItem">insertItem</a>( "Open", myView, SLOT(open()), CTRL+Key_O );
+ mainMenu-&gt;<a href="#insertItem">insertItem</a>( "File", fileMenu );
+ </pre>
+
+<p> Not all insert functions take an object/slot parameter or an
+accelerator key. Use <a href="#connectItem">connectItem</a>() and <a href="#setAccel">setAccel</a>() on those items.
+<p> If you need to translate accelerators, use tr() with the text and
+accelerator. (For translations use a string <a href="qkeysequence.html">key
+ sequence</a>.):
+<pre>
+ fileMenu-&gt;insertItem( tr("Open"), myView, SLOT(open()),
+ tr("Ctrl+O") );
+ </pre>
+
+<p> In the example above, pressing Ctrl+O or selecting "Open" from the
+menu activates the myView->open() function.
+<p> Some insert functions take a <a href="qiconset.html">QIconSet</a> parameter to specify the
+little menu item icon. Note that you can always pass a <a href="qpixmap.html">QPixmap</a>
+object instead.
+<p> The <em>id</em> specifies the identification number associated with the
+menu item. Note that only positive values are valid, as a negative
+value will make Qt select a unique id for the item.
+<p> The <em>index</em> specifies the position in the menu. The menu item is
+appended at the end of the list if <em>index</em> is negative.
+<p> Note that keyboard accelerators in Qt are not application-global,
+instead they are bound to a certain top-level window. For example,
+accelerators in <a href="qpopupmenu.html">QPopupMenu</a> items only work for menus that are
+associated with a certain window. This is true for popup menus
+that live in a menu bar since their accelerators will then be
+installed in the menu bar itself. This also applies to stand-alone
+popup menus that have a top-level widget in their parentWidget()
+chain. The menu will then install its accelerator object on that
+top-level widget. For all other cases use an independent <a href="qaccel.html">QAccel</a>
+object.
+<p> <b>Warning:</b> Be careful when passing a literal 0 to <a href="#insertItem">insertItem</a>()
+because some C++ compilers choose the wrong overloaded function.
+Cast the 0 to what you mean, e.g. <tt>(QObject*)0</tt>.
+<p> <b>Warning:</b> On Mac OS X, items that connect to a slot that are inserted into a
+menubar will not function as we use the native menubar that knows nothing
+about signals or slots. Instead insert the items into a popup menu and
+insert the popup menu into the menubar. This may be fixed in a future Qt
+version.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), <a href="#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<p>Examples: <a href="addressbook-example.html#x569">addressbook/mainwindow.cpp</a>, <a href="canvas-example.html#x2936">canvas/canvas.cpp</a>, <a href="menu-example.html#x1869">menu/menu.cpp</a>, <a href="qwerty-example.html#x371">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x634">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1327">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2810">sound/sound.cpp</a>.
+<h3 class=fn>int <a name="insertItem-2"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, accelerator
+<em>accel</em>, optional id <em>id</em>, and optional <em>index</em> position. The
+menu item is connected it to the <em>receiver</em>'s <em>member</em> slot. The
+icon will be displayed to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), <a href="#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-3"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, accelerator <em>accel</em>,
+optional id <em>id</em>, and optional <em>index</em> position. The menu item
+is connected it to the <em>receiver</em>'s <em>member</em> slot. The icon will
+be displayed to the left of the text in the item.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-4"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>,
+accelerator <em>accel</em>, optional id <em>id</em>, and optional <em>index</em>
+position. The icon will be displayed to the left of the pixmap in
+the item. The item is connected to the <em>member</em> slot in the <em>receiver</em> object.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), <a href="#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-5"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-6"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, optional id
+<em>id</em>, and optional <em>index</em> position. The icon will be displayed
+to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-7"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, submenu <em>popup</em>, optional
+id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-8"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the text in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-9"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-a"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>, optional
+id <em>id</em>, and optional <em>index</em> position. The icon will be
+displayed to the left of the pixmap in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-b"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, submenu <em>popup</em>,
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-c"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em> submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the pixmap in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>(), <a href="#changeItem">changeItem</a>(), <a href="#setAccel">setAccel</a>(), and <a href="#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-d"></a>QMenuData::insertItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item that consists of the widget <em>widget</em> with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> Ownership of <em>widget</em> is transferred to the popup menu or to the
+menu bar.
+<p> Theoretically, any widget can be inserted into a popup menu. In
+practice, this only makes sense with certain widgets.
+<p> If a widget is not focus-enabled (see
+<a href="qwidget.html#isFocusEnabled">QWidget::isFocusEnabled</a>()), the menu treats it as a separator;
+this means that the item is not selectable and will never get
+focus. In this way you can, for example, simply insert a <a href="qlabel.html">QLabel</a> if
+you need a popup menu with a title.
+<p> If the widget is focus-enabled it will get focus when the user
+traverses the popup menu with the arrow keys. If the widget does
+not accept <tt>ArrowUp</tt> and <tt>ArrowDown</tt> in its key event handler,
+the focus will move back to the menu when the respective arrow key
+is hit one more time. This works with a <a href="qlineedit.html">QLineEdit</a>, for example. If
+the widget accepts the arrow key itself, it must also provide the
+possibility to put the focus back on the menu again by calling
+<a href="qwidget.html#focusNextPrevChild">QWidget::focusNextPrevChild</a>(). Futhermore, if the embedded widget
+closes the menu when the user made a selection, this can be done
+safely by calling:
+<pre>
+ if ( isVisible() &amp;&amp;
+ parentWidget() &amp;&amp;
+ parentWidget()-&gt;inherits("QPopupMenu") )
+ parentWidget()-&gt;close();
+ </pre>
+
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#removeItem">removeItem</a>().
+
+<h3 class=fn>int <a name="insertItem-e"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with an <em>icon</em> and with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#connectItem">connectItem</a>(), <a href="#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertItem-f"></a>QMenuData::insertItem ( <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="#connectItem">connectItem</a>(), <a href="#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertSeparator"></a>QMenuData::insertSeparator ( int&nbsp;index = -1 )
+</h3>
+Inserts a separator at position <em>index</em>, and returns the <a href="qmenudata.html#menu-identifier">menu identifier</a>
+number allocated to it. The separator becomes the last menu item if
+<em>index</em> is negative.
+<p> In a popup menu a separator is rendered as a horizontal line. In a
+<a href="motif-extension.html#Motif">Motif</a> menu bar a separator is spacing, so the rest of the items
+(normally just "Help") are drawn right-justified. In a Windows
+menu bar separators are ignored (to comply with the Windows style
+guidelines).
+
+<p>Examples: <a href="addressbook-example.html#x570">addressbook/mainwindow.cpp</a>, <a href="menu-example.html#x1870">menu/menu.cpp</a>, <a href="progress-example.html#x69">progress/progress.cpp</a>, <a href="qwerty-example.html#x372">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x635">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1328">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2811">sound/sound.cpp</a>.
+<h3 class=fn>bool <a name="isItemActive"></a>QMenuData::isItemActive ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> is currently
+active; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isItemChecked"></a>QMenuData::isItemChecked ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> has been checked;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setItemChecked">setItemChecked</a>().
+
+<p>Examples: <a href="canvas-example.html#x2938">canvas/canvas.cpp</a>, <a href="progress-example.html#x70">progress/progress.cpp</a>, and <a href="showimg-example.html#x1329">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="isItemEnabled"></a>QMenuData::isItemEnabled ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the item with identifier <em>id</em> is enabled;
+otherwise returns FALSE
+<p> <p>See also <a href="#setItemEnabled">setItemEnabled</a>() and <a href="#isItemVisible">isItemVisible</a>().
+
+<h3 class=fn>bool <a name="isItemVisible"></a>QMenuData::isItemVisible ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> is visible;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setItemVisible">setItemVisible</a>().
+
+<h3 class=fn>int <a name="itemParameter"></a>QMenuData::itemParameter ( int&nbsp;id ) const
+</h3>
+Returns the parameter of the activation signal of item <em>id</em>.
+<p> If no parameter has been specified for this item with
+<a href="#setItemParameter">setItemParameter</a>(), the value defaults to <em>id</em>.
+<p> <p>See also <a href="#connectItem">connectItem</a>(), <a href="#disconnectItem">disconnectItem</a>(), and <a href="#setItemParameter">setItemParameter</a>().
+
+<h3 class=fn>void <a name="menuContentsChanged"></a>QMenuData::menuContentsChanged ()<tt> [virtual protected]</tt>
+</h3>
+Virtual function; notifies subclasses that one or more items have
+been inserted or removed.
+
+<p>Reimplemented in <a href="qmenubar.html#menuContentsChanged">QMenuBar</a>.
+<h3 class=fn>void <a name="menuDelPopup"></a>QMenuData::menuDelPopup ( <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Virtual function; notifies subclasses that a popup menu item has
+been removed.
+
+<h3 class=fn>void <a name="menuInsPopup"></a>QMenuData::menuInsPopup ( <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Virtual function; notifies subclasses that a popup menu item has
+been inserted.
+
+<h3 class=fn>void <a name="menuStateChanged"></a>QMenuData::menuStateChanged ()<tt> [virtual protected]</tt>
+</h3>
+Virtual function; notifies subclasses that one or more items have
+changed state (enabled/disabled or checked/unchecked).
+
+<p>Reimplemented in <a href="qmenubar.html#menuStateChanged">QMenuBar</a>.
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QMenuData::pixmap ( int&nbsp;id ) const
+</h3>
+Returns the pixmap that has been set for menu item <em>id</em>, or 0 if
+no pixmap has been set.
+<p> <p>See also <a href="#changeItem">changeItem</a>(), <a href="#text">text</a>(), and <a href="#iconSet">iconSet</a>().
+
+<h3 class=fn>void <a name="removeItem"></a>QMenuData::removeItem ( int&nbsp;id )
+</h3>
+
+<p> Removes the menu item that has the identifier <em>id</em>.
+<p> <p>See also <a href="#removeItemAt">removeItemAt</a>() and <a href="#clear">clear</a>().
+
+<p>Example: <a href="canvas-chart-example.html#x2885">chart/chartform.cpp</a>.
+<h3 class=fn>void <a name="removeItemAt"></a>QMenuData::removeItemAt ( int&nbsp;index )
+</h3>
+Removes the menu item at position <em>index</em>.
+<p> <p>See also <a href="#removeItem">removeItem</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QMenuData::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;key, int&nbsp;id )
+</h3>
+Sets the accelerator key for the menu item <em>id</em> to <em>key</em>.
+<p> An accelerator key consists of a key code and a combination of the
+modifiers <tt>SHIFT</tt>, <tt>CTRL</tt>, <tt>ALT</tt> or <tt>UNICODE_ACCEL</tt> (OR'ed or
+added). The header file <a href="qnamespace-h.html">qnamespace.h</a> contains a list of key
+codes.
+<p> Defining an accelerator key produces a text that is added to the
+menu item; for instance, <tt>CTRL</tt> + <tt>Key_O</tt> produces "Ctrl+O". The
+text is formatted differently for different platforms.
+<p> Note that keyboard accelerators in Qt are not application-global,
+instead they are bound to a certain top-level window. For example,
+accelerators in <a href="qpopupmenu.html">QPopupMenu</a> items only work for menus that are
+associated with a certain window. This is true for popup menus
+that live in a menu bar since their accelerators will then be
+installed in the menu bar itself. This also applies to stand-alone
+popup menus that have a top-level widget in their parentWidget()
+chain. The menu will then install its accelerator object on that
+top-level widget. For all other cases use an independent <a href="qaccel.html">QAccel</a>
+object.
+<p> Example:
+<pre>
+ <a href="qmenubar.html">QMenuBar</a> *mainMenu = new <a href="qmenubar.html">QMenuBar</a>;
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>; // file sub menu
+ fileMenu-&gt;<a href="#insertItem">insertItem</a>( "Open Document", 67 ); // add "Open" item
+ fileMenu-&gt;<a href="#setAccel">setAccel</a>( CTRL + Key_O, 67 ); // Ctrl+O to open
+ fileMenu-&gt;<a href="#insertItem">insertItem</a>( "Quit", 69 ); // add "Quit" item
+ fileMenu-&gt;<a href="#setAccel">setAccel</a>( CTRL + ALT + Key_Delete, 69 ); // add Alt+Del to quit
+ mainMenu-&gt;<a href="#insertItem">insertItem</a>( "File", fileMenu ); // add the file menu
+ </pre>
+
+<p> If you need to translate accelerators, use tr() with a string:
+<pre>
+ fileMenu-&gt;setAccel( tr("Ctrl+O"), 67 );
+ </pre>
+
+<p> You can also specify the accelerator in the <a href="#insertItem">insertItem</a>() function.
+You may prefer to use <a href="qaction.html">QAction</a> to associate accelerators with menu
+items.
+<p> <p>See also <a href="#accel">accel</a>(), <a href="#insertItem">insertItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qaction.html">QAction</a>.
+
+<p>Example: <a href="menu-example.html#x1871">menu/menu.cpp</a>.
+<h3 class=fn>void <a name="setId"></a>QMenuData::setId ( int&nbsp;index, int&nbsp;id )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="qmenudata.html#menu-identifier">menu identifier</a> of the item at <em>index</em> to <em>id</em>.
+<p> If <em>index</em> is out of range, the operation is ignored.
+<p> <p>See also <a href="#idAt">idAt</a>().
+
+<h3 class=fn>void <a name="setItemChecked"></a>QMenuData::setItemChecked ( int&nbsp;id, bool&nbsp;check )
+</h3>
+If <em>check</em> is TRUE, checks the menu item with id <em>id</em>; otherwise
+unchecks the menu item with id <em>id</em>. Calls
+<a href="qpopupmenu.html#setCheckable">QPopupMenu::setCheckable</a>( TRUE ) if necessary.
+<p> <p>See also <a href="#isItemChecked">isItemChecked</a>().
+
+<p>Examples: <a href="canvas-example.html#x2939">canvas/canvas.cpp</a>, <a href="grapher-nsplugin-example.html#x2749">grapher/grapher.cpp</a>, <a href="mdi-example.html#x2032">mdi/application.cpp</a>, <a href="menu-example.html#x1872">menu/menu.cpp</a>, <a href="progress-example.html#x71">progress/progress.cpp</a>, <a href="scrollview-example.html#x636">scrollview/scrollview.cpp</a>, and <a href="showimg-example.html#x1330">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="setItemEnabled"></a>QMenuData::setItemEnabled ( int&nbsp;id, bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, enables the menu item with identifier <em>id</em>;
+otherwise disables the menu item with identifier <em>id</em>.
+<p> <p>See also <a href="#isItemEnabled">isItemEnabled</a>().
+
+<p>Examples: <a href="mdi-example.html#x2033">mdi/application.cpp</a>, <a href="menu-example.html#x1873">menu/menu.cpp</a>, <a href="progress-example.html#x72">progress/progress.cpp</a>, and <a href="showimg-example.html#x1331">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="setItemParameter"></a>QMenuData::setItemParameter ( int&nbsp;id, int&nbsp;param )
+</h3>
+Sets the parameter of the activation signal of item <em>id</em> to <em>param</em>.
+<p> If any receiver takes an integer parameter, this value is passed.
+<p> <p>See also <a href="#connectItem">connectItem</a>(), <a href="#disconnectItem">disconnectItem</a>(), and <a href="#itemParameter">itemParameter</a>().
+
+<p>Example: <a href="mdi-example.html#x2034">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="setItemVisible"></a>QMenuData::setItemVisible ( int&nbsp;id, bool&nbsp;visible )
+</h3>
+If <em>visible</em> is TRUE, shows the menu item with id <em>id</em>; otherwise
+hides the menu item with id <em>id</em>.
+<p> <p>See also <a href="#isItemVisible">isItemVisible</a>() and <a href="#isItemEnabled">isItemEnabled</a>().
+
+<h3 class=fn>void <a name="setWhatsThis"></a>QMenuData::setWhatsThis ( int&nbsp;id, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Sets <em>text</em> as What's This help for the menu item with identifier
+<em>id</em>.
+<p> <p>See also <a href="#whatsThis">whatsThis</a>().
+
+<p>Examples: <a href="simple-application-example.html#x1554">application/application.cpp</a>, <a href="helpsystem-example.html#x2689">helpsystem/mainwindow.cpp</a>, and <a href="mdi-example.html#x2035">mdi/application.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QMenuData::text ( int&nbsp;id ) const
+</h3>
+Returns the text that has been set for menu item <em>id</em>, or
+<a href="qstring.html#QString-null">QString::null</a> if no text has been set.
+<p> <p>See also <a href="#changeItem">changeItem</a>(), <a href="#pixmap">pixmap</a>(), and <a href="#iconSet">iconSet</a>().
+
+<p>Examples: <a href="qdir-example.html#x1831">qdir/qdir.cpp</a> and <a href="showimg-example.html#x1332">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="updateItem"></a>QMenuData::updateItem ( int&nbsp;id )<tt> [virtual]</tt>
+</h3>
+Virtual function; notifies subclasses about an item with <em>id</em>
+that has been changed.
+
+<p>Reimplemented in <a href="qpopupmenu.html#updateItem">QPopupMenu</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis"></a>QMenuData::whatsThis ( int&nbsp;id ) const
+</h3>
+Returns the What's This help text for the item with identifier <em>id</em> or <a href="qstring.html#QString-null">QString::null</a> if no text has yet been defined.
+<p> <p>See also <a href="#setWhatsThis">setWhatsThis</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmessagebox-crit.png b/doc/html/qmessagebox-crit.png
new file mode 100644
index 0000000..7a5b212
--- /dev/null
+++ b/doc/html/qmessagebox-crit.png
Binary files differ
diff --git a/doc/html/qmessagebox-h.html b/doc/html/qmessagebox-h.html
new file mode 100644
index 0000000..dba27ca
--- /dev/null
+++ b/doc/html/qmessagebox-h.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmessagebox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmessagebox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmessagebox.h</h1>
+
+<p>This is the verbatim text of the qmessagebox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmessagebox.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QMessageBox class
+**
+** Created : 950503
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMESSAGEBOX_H
+#define QMESSAGEBOX_H
+
+#ifndef QT_H
+#include "qdialog.h"
+#endif // QT_H
+
+#ifndef QT_NO_MESSAGEBOX
+
+class QLabel;
+class QPushButton;
+struct QMessageBoxData;
+
+class Q_EXPORT QMessageBox : public QDialog
+{
+ Q_OBJECT
+ Q_ENUMS( Icon )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( Icon icon READ icon WRITE setIcon )
+ Q_PROPERTY( QPixmap iconPixmap READ iconPixmap WRITE setIconPixmap )
+ Q_PROPERTY( TextFormat textFormat READ textFormat WRITE setTextFormat )
+
+public:
+ enum Icon { NoIcon = 0, Information = 1, Warning = 2, Critical = 3,
+ Question = 4 };
+
+ QMessageBox( QWidget* parent=0, const char* name=0 );
+ QMessageBox( const QString&amp; caption, const QString &amp;text, Icon icon,
+ int button0, int button1, int button2,
+ QWidget* parent=0, const char* name=0, bool modal=TRUE,
+ WFlags f=WStyle_DialogBorder );
+ ~QMessageBox();
+
+ enum { NoButton = 0, Ok = 1, Cancel = 2, Yes = 3, No = 4, Abort = 5,
+ Retry = 6, Ignore = 7, YesAll = 8, NoAll = 9, ButtonMask = 0xff,
+ Default = 0x100, Escape = 0x200, FlagMask = 0x300 };
+
+ static int information( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ int button0, int button1=0, int button2=0 );
+ static int information( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; button0Text = QString::null,
+ const QString&amp; button1Text = QString::null,
+ const QString&amp; button2Text = QString::null,
+ int defaultButtonNumber = 0,
+ int escapeButtonNumber = -1 );
+
+ static int question( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ int button0, int button1=0, int button2=0 );
+ static int question( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; button0Text = QString::null,
+ const QString&amp; button1Text = QString::null,
+ const QString&amp; button2Text = QString::null,
+ int defaultButtonNumber = 0,
+ int escapeButtonNumber = -1 );
+
+ static int warning( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ int button0, int button1, int button2=0 );
+ static int warning( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; button0Text = QString::null,
+ const QString&amp; button1Text = QString::null,
+ const QString&amp; button2Text = QString::null,
+ int defaultButtonNumber = 0,
+ int escapeButtonNumber = -1 );
+
+ static int critical( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ int button0, int button1, int button2=0 );
+ static int critical( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; button0Text = QString::null,
+ const QString&amp; button1Text = QString::null,
+ const QString&amp; button2Text = QString::null,
+ int defaultButtonNumber = 0,
+ int escapeButtonNumber = -1 );
+
+ static void about( QWidget *parent, const QString &amp;caption,
+ const QString&amp; text );
+
+ static void aboutQt( QWidget *parent,
+ const QString&amp; caption=QString::null );
+
+/* OBSOLETE */
+ static int message( const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; buttonText=QString::null,
+ QWidget *parent=0, const char * =0 ) {
+ return QMessageBox::information( parent, caption, text,
+ buttonText.isEmpty()
+ ? tr("OK") : buttonText ) == 0;
+ }
+
+/* OBSOLETE */
+ static bool query( const QString &amp;caption,
+ const QString&amp; text,
+ const QString&amp; yesButtonText=QString::null,
+ const QString&amp; noButtonText=QString::null,
+ QWidget *parent=0, const char * = 0 ) {
+ return QMessageBox::information( parent, caption, text,
+ yesButtonText.isEmpty()
+ ? tr("OK") : yesButtonText,
+ noButtonText ) == 0;
+ }
+
+ QString text() const;
+ void setText( const QString &amp;);
+
+ Icon icon() const;
+
+ void setIcon( Icon );
+ void setIcon( const QPixmap &amp; );
+
+ const QPixmap *iconPixmap() const;
+ void setIconPixmap( const QPixmap &amp; );
+
+ QString buttonText( int button ) const;
+ void setButtonText( int button, const QString &amp;);
+
+ void adjustSize();
+
+/* OBSOLETE */
+ static QPixmap standardIcon( Icon icon, GUIStyle );
+
+ static QPixmap standardIcon( Icon icon );
+
+ TextFormat textFormat() const;
+ void setTextFormat( TextFormat );
+
+protected:
+ void resizeEvent( QResizeEvent * );
+ void showEvent( QShowEvent * );
+ void closeEvent( QCloseEvent * );
+ void keyPressEvent( QKeyEvent * );
+ void styleChanged( QStyle&amp; );
+
+private slots:
+ void buttonClicked();
+
+private:
+ void init( int, int, int );
+ int indexOf( int ) const;
+ void resizeButtons();
+ QLabel *label;
+ QMessageBoxData *mbd;
+ void *reserved1;
+ void *reserved2;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMessageBox( const QMessageBox &amp; );
+ QMessageBox &amp;operator=( const QMessageBox &amp; );
+#endif
+};
+
+/*
+* Macro to be used at the beginning of main(), e.g.
+*
+* #include &lt;qapplication.h&gt;
+* #include &lt;qmessagebox.h&gt;
+* int main( int argc, char**argv )
+* {
+* QT_REQUIRE_VERSION( argc, argv, "3.0.5" )
+* ...
+* }
+*/
+#define QT_REQUIRE_VERSION( argc, argv, str ) { QString s=QString::fromLatin1(str);\
+QString sq=QString::fromLatin1(qVersion()); if ( (sq.section('.',0,0).toInt()&lt;&lt;16)+\
+(sq.section('.',1,1).toInt()&lt;&lt;8)+sq.section('.',2,2).toInt()&lt;(s.section('.',0,0).toInt()&lt;&lt;16)+\
+(s.section('.',1,1).toInt()&lt;&lt;8)+s.section('.',2,2).toInt() ){if ( !qApp){ int c=0; new \
+QApplication(argc,argv);} QString s = QApplication::tr("Executable '%1' requires Qt "\
+ "%2, found Qt %3.").arg(QString::fromLatin1(qAppName())).arg(QString::fromLatin1(\
+str)).arg(QString::fromLatin1(qVersion()) ); QMessageBox::critical( 0, QApplication::tr(\
+"Incompatible Qt Library Error" ), s, QMessageBox::Abort,0 ); qFatal(s.ascii()); }}
+
+
+#endif // QT_NO_MESSAGEBOX
+
+#endif // QMESSAGEBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmessagebox-info.png b/doc/html/qmessagebox-info.png
new file mode 100644
index 0000000..d4d6604
--- /dev/null
+++ b/doc/html/qmessagebox-info.png
Binary files differ
diff --git a/doc/html/qmessagebox-members.html b/doc/html/qmessagebox-members.html
new file mode 100644
index 0000000..072c9cf
--- /dev/null
+++ b/doc/html/qmessagebox-members.html
@@ -0,0 +1,369 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmessagebox.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMessageBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMessageBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmessagebox.html">QMessageBox</a>, including inherited members.
+
+<ul>
+<li><a href="qmessagebox.html#QMessageBox">QMessageBox</a>()
+<li><a href="qmessagebox.html#~QMessageBox">~QMessageBox</a>()
+<li><a href="qmessagebox.html#about">about</a>()
+<li><a href="qmessagebox.html#aboutQt">aboutQt</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qmessagebox.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qmessagebox.html#buttonText">buttonText</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qmessagebox.html#critical">critical</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qmessagebox.html#icon">icon</a>()
+<li><a href="qmessagebox.html#iconPixmap">iconPixmap</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qmessagebox.html#information">information</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qmessagebox.html#message">message</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmessagebox.html#query">query</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qmessagebox.html#question">question</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qmessagebox.html#setButtonText">setButtonText</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qmessagebox.html#setIcon">setIcon</a>()
+<li><a href="qmessagebox.html#setIconPixmap">setIconPixmap</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qmessagebox.html#setText">setText</a>()
+<li><a href="qmessagebox.html#setTextFormat">setTextFormat</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qmessagebox.html#standardIcon">standardIcon</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qmessagebox.html#text">text</a>()
+<li><a href="qmessagebox.html#textFormat">textFormat</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qmessagebox.html#warning">warning</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmessagebox-quest.png b/doc/html/qmessagebox-quest.png
new file mode 100644
index 0000000..32fdf63
--- /dev/null
+++ b/doc/html/qmessagebox-quest.png
Binary files differ
diff --git a/doc/html/qmessagebox-warn.png b/doc/html/qmessagebox-warn.png
new file mode 100644
index 0000000..828e1b4
--- /dev/null
+++ b/doc/html/qmessagebox-warn.png
Binary files differ
diff --git a/doc/html/qmessagebox.html b/doc/html/qmessagebox.html
new file mode 100644
index 0000000..7bb4851
--- /dev/null
+++ b/doc/html/qmessagebox.html
@@ -0,0 +1,751 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qmessagebox.cpp:149 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMessageBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMessageBox Class Reference</h1>
+
+<p>The QMessageBox class provides a modal dialog with a short message, an icon, and some buttons.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qmessagebox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Icon-enum"><b>Icon</b></a> { NoIcon = 0, Information = 1, Warning = 2, Critical = 3, Question = 4 }</li>
+<li class=fn><a href="#QMessageBox"><b>QMessageBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QMessageBox-2"><b>QMessageBox</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, Icon&nbsp;icon, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = TRUE, WFlags&nbsp;f = WStyle_DialogBorder )</li>
+<li class=fn><a href="#~QMessageBox"><b>~QMessageBox</b></a> ()</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>Icon <a href="#icon"><b>icon</b></a> () const</li>
+<li class=fn>void <a href="#setIcon"><b>setIcon</b></a> ( Icon )</li>
+<li class=fn>const QPixmap * <a href="#iconPixmap"><b>iconPixmap</b></a> () const</li>
+<li class=fn>void <a href="#setIconPixmap"><b>setIconPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>QString <a href="#buttonText"><b>buttonText</b></a> ( int&nbsp;button ) const</li>
+<li class=fn>void <a href="#setButtonText"><b>setButtonText</b></a> ( int&nbsp;button, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#adjustSize"><b>adjustSize</b></a> ()</li>
+<li class=fn>TextFormat <a href="#textFormat"><b>textFormat</b></a> () const</li>
+<li class=fn>void <a href="#setTextFormat"><b>setTextFormat</b></a> ( TextFormat )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>int <a href="#information"><b>information</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1 = 0, int&nbsp;button2 = 0 )</li>
+<li class=fn>int <a href="#information-2"><b>information</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )</li>
+<li class=fn>int <a href="#question"><b>question</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1 = 0, int&nbsp;button2 = 0 )</li>
+<li class=fn>int <a href="#question-2"><b>question</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )</li>
+<li class=fn>int <a href="#warning"><b>warning</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2 = 0 )</li>
+<li class=fn>int <a href="#warning-2"><b>warning</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )</li>
+<li class=fn>int <a href="#critical"><b>critical</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2 = 0 )</li>
+<li class=fn>int <a href="#critical-2"><b>critical</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )</li>
+<li class=fn>void <a href="#about"><b>about</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#aboutQt"><b>aboutQt</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null )</li>
+<li class=fn>int message ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;buttonText = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const char * = 0 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool query ( const&nbsp;QString&nbsp;&amp;&nbsp;caption, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;yesButtonText = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;noButtonText = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const char * = 0 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPixmap standardIcon ( Icon&nbsp;icon, GUIStyle&nbsp;style ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPixmap <a href="#standardIcon"><b>standardIcon</b></a> ( Icon&nbsp;icon )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>Icon <a href="#icon-prop"><b>icon</b></a>&nbsp;- the message box's icon</li>
+<li class=fn>QPixmap <a href="#iconPixmap-prop"><b>iconPixmap</b></a>&nbsp;- the current icon</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the message box text to be displayed</li>
+<li class=fn>TextFormat <a href="#textFormat-prop"><b>textFormat</b></a>&nbsp;- the format of the text displayed by the message box</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMessageBox class provides a modal dialog with a short message, an icon, and some buttons.
+
+
+<p> Message boxes are used to provide informative messages and to ask
+simple questions.
+<p> QMessageBox provides a range of different messages, arranged
+roughly along two axes: severity and complexity.
+<p> Severity is
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top"><center><img src="qmessagebox-quest.png"></center> <td valign="top">Question
+<td valign="top">For message boxes that ask a question as part of normal
+operation. Some style guides recommend using Information for this
+purpose.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><center><img src="qmessagebox-info.png"></center> <td valign="top">Information
+<td valign="top">For message boxes that are part of normal operation.
+<tr bgcolor="#f0f0f0">
+<td valign="top"><center><img src="qmessagebox-warn.png"></center> <td valign="top">Warning
+<td valign="top">For message boxes that tell the user about unusual errors.
+<tr bgcolor="#d0d0d0">
+<td valign="top"><center><img src="qmessagebox-crit.png"></center> <td valign="top">Critical
+<td valign="top">For message boxes that tell the user about critical errors.
+</table></center>
+<p> The message box has a different icon for each of the severity levels.
+<p> Complexity is one button (OK) for simple messages, or two or even
+three buttons for questions.
+<p> There are static functions for the most common cases.
+<p> Examples:
+<p> If a program is unable to find a supporting file, but can do perfectly
+well without it:
+<p> <pre>
+ QMessageBox::<a href="#information">information</a>( this, "Application name",
+ "Unable to find the user preferences file.\n"
+ "The factory default will be used instead." );
+ </pre>
+
+<p> <a href="#question">question</a>() is useful for simple yes/no questions:
+<p> <pre>
+ if ( QFile::<a href="qfile.html#exists">exists</a>( filename ) &amp;&amp;
+ QMessageBox::<a href="#question">question</a>(
+ this,
+ <a href="qobject.html#tr">tr</a>("Overwrite File? -- Application Name"),
+ <a href="qobject.html#tr">tr</a>("A file called %1 already exists."
+ "Do you want to overwrite it?")
+ .arg( filename ),
+ <a href="qobject.html#tr">tr</a>("&amp;Yes"), tr("&amp;No"),
+ <a href="qstring.html#QString-null">QString::null</a>, 0, 1 ) )
+ return false;
+ </pre>
+
+<p> <a href="#warning">warning</a>() can be used to tell the user about unusual errors, or
+errors which can't be easily fixed:
+<p> <pre>
+ switch( QMessageBox::<a href="#warning">warning</a>( this, "Application name",
+ "Could not connect to the &lt;mumble&gt; server.\n"
+ "This program can't function correctly "
+ "without the server.\n\n",
+ "Retry",
+ "Quit", 0, 0, 1 ) ) {
+ case 0: // The user clicked the Retry again button or pressed Enter
+ // try again
+ break;
+ case 1: // The user clicked the Quit or pressed Escape
+ // exit
+ break;
+ }
+ </pre>
+
+<p> The text part of all message box messages can be either rich text
+or plain text. If you specify a rich text formatted string, it
+will be rendered using the default stylesheet. See
+<a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>() for details. With certain strings that
+contain XML meta characters, the auto-rich text detection may
+fail, interpreting plain text incorrectly as rich text. In these
+rare cases, use <a href="qstylesheet.html#convertFromPlainText">QStyleSheet::convertFromPlainText</a>() to convert
+your plain text string to a visually equivalent rich text string
+or set the text format explicitly with <a href="#setTextFormat">setTextFormat</a>().
+<p> Note that the Microsoft Windows User Interface Guidelines
+recommend using the application name as the window's caption.
+<p> Below are more examples of how to use the static member functions.
+After these examples you will find an overview of the non-static
+member functions.
+<p> Exiting a program is part of its normal operation. If there is
+unsaved data the user probably should be asked if they want to
+save the data. For example:
+<p> <pre>
+ switch( QMessageBox::<a href="#information">information</a>( this, "Application name here",
+ "The document contains unsaved changes\n"
+ "Do you want to save the changes before exiting?",
+ "&amp;Save", "&amp;Discard", "Cancel",
+ 0, // Enter == button 0
+ 2 ) ) { // Escape == button 2
+ case 0: // Save clicked or Alt+S pressed or Enter pressed.
+ // save
+ break;
+ case 1: // Discard clicked or Alt+D pressed
+ // don't save but exit
+ break;
+ case 2: // Cancel clicked or Escape pressed
+ // don't exit
+ break;
+ }
+ </pre>
+
+<p> The Escape button cancels the entire exit operation, and pressing
+Enter causes the changes to be saved before the exit occurs.
+<p> Disk full errors are unusual and they certainly can be hard to
+correct. This example uses predefined buttons instead of
+hard-coded button texts:
+<p> <pre>
+ switch( QMessageBox::<a href="#warning">warning</a>( this, "Application name here",
+ "Could not save the user preferences,\n"
+ "because the disk is full. You can delete\n"
+ "some files and press Retry, or you can\n"
+ "abort the Save Preferences operation.",
+ QMessageBox::Retry | QMessageBox::Default,
+ QMessageBox::Abort | QMessageBox::Escape )) {
+ case QMessageBox::Retry: // Retry clicked or Enter pressed
+ // try again
+ break;
+ case QMessageBox::Abort: // Abort clicked or Escape pressed
+ // abort
+ break;
+ }
+ </pre>
+
+<p> The <a href="#critical">critical</a>() function should be reserved for critical errors. In
+this example errorDetails is a <a href="qstring.html">QString</a> or const char*, and QString
+is used to concatenate several strings:
+<p> <pre>
+ QMessageBox::<a href="#critical">critical</a>( 0, "Application name here",
+ QString("An internal error occurred. Please ") +
+ "call technical support at 1234-56789 and report\n"+
+ "these numbers:\n\n" + errorDetails +
+ "\n\nApplication will now exit." );
+ </pre>
+
+<p> In this example an OK button is displayed.
+<p> QMessageBox provides a very simple About box which displays an
+appropriate icon and the string you provide:
+<p> <pre>
+ QMessageBox::<a href="#about">about</a>( this, "About &lt;Application&gt;",
+ "&lt;Application&gt; is a &lt;one-paragraph blurb&gt;\n\n"
+ "Copyright 1991-2003 Such-and-such. "
+ "&lt;License words here.&gt;\n\n"
+ "For technical support, call 1234-56789 or see\n"
+ "http://www.such-and-such.com/Application/\n" );
+ </pre>
+
+<p> See <a href="#about">about</a>() for more information.
+<p> If you want your users to know that the application is built using
+Qt (so they know that you use high quality tools) you might like
+to add an "About Qt" menu option under the Help menu to invoke
+<a href="#aboutQt">aboutQt</a>().
+<p> If none of the standard message boxes is suitable, you can create a
+QMessageBox from scratch and use custom button texts:
+<p> <pre>
+ QMessageBox mb( "Application name here",
+ "Saving the file will overwrite the original file on the disk.\n"
+ "Do you really want to save?",
+ QMessageBox::<a href="#Icon-enum">Information</a>,
+ QMessageBox::Yes | QMessageBox::Default,
+ QMessageBox::No,
+ QMessageBox::Cancel | QMessageBox::Escape );
+ mb.<a href="#setButtonText">setButtonText</a>( QMessageBox::Yes, "Save" );
+ mb.<a href="#setButtonText">setButtonText</a>( QMessageBox::No, "Discard" );
+ switch( mb.<a href="qdialog.html#exec">exec</a>() ) {
+ case QMessageBox::Yes:
+ // save and exit
+ break;
+ case QMessageBox::No:
+ // exit without saving
+ break;
+ case QMessageBox::Cancel:
+ // don't save and don't exit
+ break;
+ }
+ </pre>
+
+<p> QMessageBox defines two enum types: Icon and an unnamed button type.
+Icon defines the <a href="#Icon-enum">Question</a>, <a href="#Icon-enum">Information</a>, <a href="#Icon-enum">Warning</a>, and <a href="#Icon-enum">Critical</a> icons for each GUI style. It is used by the constructor
+and by the static member functions <a href="#question">question</a>(), <a href="#information">information</a>(),
+<a href="#warning">warning</a>() and <a href="#critical">critical</a>(). A function called <a href="#standardIcon">standardIcon</a>() gives
+you access to the various icons.
+<p> The button types are:
+<ul>
+<li> Ok - the default for single-button message boxes
+<li> Cancel - note that this is <em>not</em> automatically Escape
+<li> Yes
+<li> No
+<li> Abort
+<li> Retry
+<li> Ignore
+<li> YesAll
+<li> NoAll
+</ul>
+<p> Button types can be combined with two modifiers by using OR, '|':
+<ul>
+<li> Default - makes pressing Enter equivalent to
+clicking this button. Normally used with Ok, Yes or similar.
+<li> Escape - makes pressing Escape equivalent to clicking this button.
+Normally used with Abort, Cancel or similar.
+</ul>
+<p> The <a href="#text">text</a>(), <a href="#icon">icon</a>() and <a href="#iconPixmap">iconPixmap</a>() functions provide access to the
+current text and pixmap of the message box. The <a href="#setText">setText</a>(), <a href="#setIcon">setIcon</a>()
+and <a href="#setIconPixmap">setIconPixmap</a>() let you change it. The difference between
+setIcon() and setIconPixmap() is that the former accepts a
+QMessageBox::Icon and can be used to set standard icons, whereas the
+latter accepts a <a href="qpixmap.html">QPixmap</a> and can be used to set custom icons.
+<p> <a href="#setButtonText">setButtonText</a>() and <a href="#buttonText">buttonText</a>() provide access to the buttons.
+<p> QMessageBox has no signals or slots.
+<p> <img src=qmsgbox-m.png> <img src=qmsgbox-w.png>
+<p> <p>See also <a href="qdialog.html">QDialog</a>, <a href="http://www.iarchitect.com/errormsg.htm
+ ">Isys on error messages</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Message Box</a>, and <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Icon-enum"></a>QMessageBox::Icon</h3>
+
+<p> This enum has the following values:
+<ul>
+<li><tt>QMessageBox::NoIcon</tt> - the message box does not have any icon.
+<li><tt>QMessageBox::Question</tt> - an icon indicating that
+the message is asking a question.
+<li><tt>QMessageBox::Information</tt> - an icon indicating that
+the message is nothing out of the ordinary.
+<li><tt>QMessageBox::Warning</tt> - an icon indicating that the
+message is a warning, but can be dealt with.
+<li><tt>QMessageBox::Critical</tt> - an icon indicating that
+the message represents a critical problem.
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMessageBox"></a>QMessageBox::QMessageBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a message box with no text and a button with the label
+"OK".
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qdialog.html">QDialog</a>
+constructor.
+
+<h3 class=fn><a name="QMessageBox-2"></a>QMessageBox::QMessageBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qmessagebox.html#Icon-enum">Icon</a>&nbsp;icon, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = TRUE, WFlags&nbsp;f = WStyle_DialogBorder )
+</h3>
+Constructs a message box with a <em>caption</em>, a <em>text</em>, an <em>icon</em>,
+and up to three buttons.
+<p> The <em>icon</em> must be one of the following:
+<ul>
+<li> QMessageBox::NoIcon
+<li> QMessageBox::Question
+<li> QMessageBox::Information
+<li> QMessageBox::Warning
+<li> QMessageBox::Critical
+</ul>
+<p> Each button, <em>button0</em>, <em>button1</em> and <em>button2</em>, can have one
+of the following values:
+<ul>
+<li> QMessageBox::NoButton
+<li> QMessageBox::Ok
+<li> QMessageBox::Cancel
+<li> QMessageBox::Yes
+<li> QMessageBox::No
+<li> QMessageBox::Abort
+<li> QMessageBox::Retry
+<li> QMessageBox::Ignore
+<li> QMessageBox::YesAll
+<li> QMessageBox::NoAll
+</ul>
+<p> Use QMessageBox::NoButton for the later parameters to have fewer
+than three buttons in your message box. If you don't specify any
+buttons at all, QMessageBox will provide an Ok button.
+<p> One of the buttons can be OR-ed with the <tt>QMessageBox::Default</tt>
+flag to make it the default button (clicked when Enter is
+pressed).
+<p> One of the buttons can be OR-ed with the <tt>QMessageBox::Escape</tt>
+flag to make it the cancel or close button (clicked when Escape is
+pressed).
+<p> Example:
+<pre>
+ QMessageBox mb( "Application Name",
+ "Hardware failure.\n\nDisk error detected\nDo you want to stop?",
+ QMessageBox::<a href="#Icon-enum">Question</a>,
+ QMessageBox::Yes | QMessageBox::Default,
+ QMessageBox::No | QMessageBox::Escape,
+ QMessageBox::<a href="qt.html#ButtonState-enum">NoButton</a> );
+ if ( mb.<a href="qdialog.html#exec">exec</a>() == QMessageBox::No )
+ // try again
+ </pre>
+
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> If <em>modal</em> is TRUE the message box is modal; otherwise it
+is modeless.
+<p> The <em>parent</em>, <em>name</em>, <em>modal</em>, and <em>f</em> arguments are passed to
+the <a href="qdialog.html">QDialog</a> constructor.
+<p> <p>See also <a href="qwidget.html#caption-prop">caption</a>, <a href="#text-prop">text</a>, and <a href="#icon-prop">icon</a>.
+
+<h3 class=fn><a name="~QMessageBox"></a>QMessageBox::~QMessageBox ()
+</h3>
+Destroys the message box.
+
+<h3 class=fn>void <a name="about"></a>QMessageBox::about ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [static]</tt>
+</h3>
+Displays a simple about box with caption <em>caption</em> and text <em>text</em>. The about box's parent is <em>parent</em>.
+<p> <a href="#about">about</a>() looks for a suitable icon in four locations:
+<ol type=1>
+<li> It prefers <a href="qwidget.html#icon">parent->icon()</a> if that exists.
+<li> If not, it tries the top-level widget containing <em>parent</em>.
+<li> If that fails, it tries the <a href="qapplication.html#mainWidget">main widget.</a>
+<li> As a last resort it uses the Information icon.
+</ol>
+<p> The about box has a single button labelled "OK".
+<p> <p>See also <a href="qwidget.html#icon-prop">QWidget::icon</a> and <a href="qapplication.html#mainWidget">QApplication::mainWidget</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1137">action/application.cpp</a>, <a href="simple-application-example.html#x1555">application/application.cpp</a>, <a href="canvas-chart-example.html#x2886">chart/chartform.cpp</a>, <a href="helpviewer-example.html#x994">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2036">mdi/application.cpp</a>, <a href="menu-example.html#x1874">menu/menu.cpp</a>, and <a href="themes-example.html#x330">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="aboutQt"></a>QMessageBox::aboutQt ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null )<tt> [static]</tt>
+</h3>
+Displays a simple message box about Qt, with caption <em>caption</em>
+and centered over <em>parent</em> (if <em>parent</em> is not 0). The message
+includes the version number of Qt being used by the application.
+<p> This is useful for inclusion in the Help menu of an application.
+See the examples/menu/menu.cpp example.
+<p> <a href="qapplication.html">QApplication</a> provides this functionality as a slot.
+<p> <p>See also <a href="qapplication.html#aboutQt">QApplication::aboutQt</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1138">action/application.cpp</a>, <a href="simple-application-example.html#x1556">application/application.cpp</a>, <a href="canvas-chart-example.html#x2887">chart/chartform.cpp</a>, <a href="helpviewer-example.html#x995">helpviewer/helpwindow.cpp</a>, <a href="menu-example.html#x1875">menu/menu.cpp</a>, <a href="themes-example.html#x331">themes/themes.cpp</a>, and <a href="trivial-nsplugin-example.html#x2736">trivial/trivial.cpp</a>.
+<h3 class=fn>void <a name="adjustSize"></a>QMessageBox::adjustSize ()<tt> [virtual]</tt>
+</h3>
+Adjusts the size of the message box to fit the contents just before
+<a href="qdialog.html#exec">QDialog::exec</a>() or <a href="qdialog.html#show">QDialog::show</a>() is called.
+<p> This function will not be called if the message box has been explicitly
+resized before showing it.
+
+<p>Reimplemented from <a href="qwidget.html#adjustSize">QWidget</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="buttonText"></a>QMessageBox::buttonText ( int&nbsp;button ) const
+</h3>
+Returns the text of the message box button <em>button</em>, or
+<a href="qstring.html#QString-null">QString::null</a> if the message box does not contain the button.
+<p> <p>See also <a href="#setButtonText">setButtonText</a>().
+
+<h3 class=fn>int <a name="critical"></a>QMessageBox::critical ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2 = 0 )<tt> [static]</tt>
+</h3>
+Opens a critical message box with the caption <em>caption</em> and the
+text <em>text</em>. The dialog may have up to three buttons. Each of the
+button parameters, <em>button0</em>, <em>button1</em> and <em>button2</em> may be
+set to one of the following values:
+<p> <ul>
+<li> QMessageBox::NoButton
+<li> QMessageBox::Ok
+<li> QMessageBox::Cancel
+<li> QMessageBox::Yes
+<li> QMessageBox::No
+<li> QMessageBox::Abort
+<li> QMessageBox::Retry
+<li> QMessageBox::Ignore
+<li> QMessageBox::YesAll
+<li> QMessageBox::NoAll
+</ul>
+<p> If you don't want all three buttons, set the last button, or last
+two buttons to QMessageBox::NoButton.
+<p> One button can be OR-ed with <tt>QMessageBox::Default</tt>, and one
+button can be OR-ed with <tt>QMessageBox::Escape</tt>.
+<p> Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.)
+of the button that was clicked.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> <p>See also <a href="#information">information</a>(), <a href="#question">question</a>(), and <a href="#warning">warning</a>().
+
+<p>Examples: <a href="archivesearch-example.html#x478">network/archivesearch/archivedialog.ui.h</a>, <a href="ftpclient-example.html#x767">network/ftpclient/ftpmainwindow.ui.h</a>, <a href="process-example.html#x96">process/process.cpp</a>, and <a href="outliner-example.html#x1917">xml/outliner/outlinetree.cpp</a>.
+<h3 class=fn>int <a name="critical-2"></a>QMessageBox::critical ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Displays a critical error message box with a caption, a text, and
+1, 2 or 3 buttons. Returns the number of the button that was
+clicked (0, 1 or 2).
+<p> <em>button0Text</em> is the text of the first button, and is optional.
+If <em>button0Text</em> is not supplied, "OK" (translated) will be used.
+<em>button1Text</em> is the text of the second button, and is optional,
+and <em>button2Text</em> is the text of the third button, and is
+optional. <em>defaultButtonNumber</em> (0, 1 or 2) is the index of the
+default button; pressing Return or Enter is the same as clicking
+the default button. It defaults to 0 (the first button). <em>escapeButtonNumber</em> is the index of the Escape button; pressing
+Escape is the same as clicking this button. It defaults to -1;
+supply 0, 1, or 2 to make pressing Escape equivalent to clicking
+the relevant button.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> <p>See also <a href="#information">information</a>(), <a href="#question">question</a>(), and <a href="#warning">warning</a>().
+
+<h3 class=fn><a href="qmessagebox.html#Icon-enum">Icon</a> <a name="icon"></a>QMessageBox::icon () const
+</h3><p>Returns the message box's icon.
+See the <a href="qmessagebox.html#icon-prop">"icon"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="iconPixmap"></a>QMessageBox::iconPixmap () const
+</h3><p>Returns the current icon.
+See the <a href="qmessagebox.html#iconPixmap-prop">"iconPixmap"</a> property for details.
+<h3 class=fn>int <a name="information"></a>QMessageBox::information ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1 = 0, int&nbsp;button2 = 0 )<tt> [static]</tt>
+</h3>
+Opens an information message box with the caption <em>caption</em> and
+the text <em>text</em>. The dialog may have up to three buttons. Each of
+the buttons, <em>button0</em>, <em>button1</em> and <em>button2</em> may be set to
+one of the following values:
+<p> <ul>
+<li> QMessageBox::NoButton
+<li> QMessageBox::Ok
+<li> QMessageBox::Cancel
+<li> QMessageBox::Yes
+<li> QMessageBox::No
+<li> QMessageBox::Abort
+<li> QMessageBox::Retry
+<li> QMessageBox::Ignore
+<li> QMessageBox::YesAll
+<li> QMessageBox::NoAll
+</ul>
+<p> If you don't want all three buttons, set the last button, or last
+two buttons to QMessageBox::NoButton.
+<p> One button can be OR-ed with <tt>QMessageBox::Default</tt>, and one
+button can be OR-ed with <tt>QMessageBox::Escape</tt>.
+<p> Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.)
+of the button that was clicked.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> <p>See also <a href="#question">question</a>(), <a href="#warning">warning</a>(), and <a href="#critical">critical</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1139">action/application.cpp</a>, <a href="simple-application-example.html#x1557">application/application.cpp</a>, <a href="dirview-example.html#x1695">dirview/dirview.cpp</a>, <a href="fileiconview-example.html#x859">fileiconview/qfileiconview.cpp</a>, <a href="picture-example.html#x110">picture/picture.cpp</a>, <a href="qwerty-example.html#x373">qwerty/qwerty.cpp</a>, and <a href="qaxserver-example-simple.html#x2524">simple/main.cpp</a>.
+<h3 class=fn>int <a name="information-2"></a>QMessageBox::information ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Displays an information message box with caption <em>caption</em>, text
+<em>text</em> and one, two or three buttons. Returns the index of the
+button that was clicked (0, 1 or 2).
+<p> <em>button0Text</em> is the text of the first button, and is optional.
+If <em>button0Text</em> is not supplied, "OK" (translated) will be used.
+<em>button1Text</em> is the text of the second button, and is optional.
+<em>button2Text</em> is the text of the third button, and is optional.
+<em>defaultButtonNumber</em> (0, 1 or 2) is the index of the default
+button; pressing Return or Enter is the same as clicking the
+default button. It defaults to 0 (the first button). <em>escapeButtonNumber</em> is the index of the Escape button; pressing
+Escape is the same as clicking this button. It defaults to -1;
+supply 0, 1 or 2 to make pressing Escape equivalent to clicking
+the relevant button.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> Note: If you do not specify an Escape button then if the Escape
+button is pressed then -1 will be returned. It is suggested that
+you specify an Escape button to prevent this from happening.
+<p> <p>See also <a href="#question">question</a>(), <a href="#warning">warning</a>(), and <a href="#critical">critical</a>().
+
+<h3 class=fn>int <a name="message"></a>QMessageBox::message ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;buttonText = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const char * = 0 )<tt> [static]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Opens a modal message box directly using the specified parameters.
+<p> Please use <a href="#information">information</a>(), <a href="#warning">warning</a>(), <a href="#question">question</a>(), or <a href="#critical">critical</a>() instead.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2750">grapher/grapher.cpp</a>.
+<h3 class=fn>bool <a name="query"></a>QMessageBox::query ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;yesButtonText = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;noButtonText = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const char * = 0 )<tt> [static]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Queries the user using a modal message box with two buttons.
+Note that <em>caption</em> is not always shown, it depends on the window manager.
+<p> Please use <a href="#information">information</a>(), <a href="#question">question</a>(), <a href="#warning">warning</a>(), or <a href="#critical">critical</a>() instead.
+
+<h3 class=fn>int <a name="question"></a>QMessageBox::question ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1 = 0, int&nbsp;button2 = 0 )<tt> [static]</tt>
+</h3>
+Opens a question message box with the caption <em>caption</em> and the
+text <em>text</em>. The dialog may have up to three buttons. Each of the
+buttons, <em>button0</em>, <em>button1</em> and <em>button2</em> may be set to one
+of the following values:
+<p> <ul>
+<li> QMessageBox::NoButton
+<li> QMessageBox::Ok
+<li> QMessageBox::Cancel
+<li> QMessageBox::Yes
+<li> QMessageBox::No
+<li> QMessageBox::Abort
+<li> QMessageBox::Retry
+<li> QMessageBox::Ignore
+<li> QMessageBox::YesAll
+<li> QMessageBox::NoAll
+</ul>
+<p> If you don't want all three buttons, set the last button, or last
+two buttons to QMessageBox::NoButton.
+<p> One button can be OR-ed with <tt>QMessageBox::Default</tt>, and one
+button can be OR-ed with <tt>QMessageBox::Escape</tt>.
+<p> Returns the identity (QMessageBox::Yes, or QMessageBox::No, etc.)
+of the button that was clicked.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> <p>See also <a href="#information">information</a>(), <a href="#warning">warning</a>(), and <a href="#critical">critical</a>().
+
+<h3 class=fn>int <a name="question-2"></a>QMessageBox::question ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Displays a question message box with caption <em>caption</em>, text <em>text</em> and one, two or three buttons. Returns the index of the
+button that was clicked (0, 1 or 2).
+<p> <em>button0Text</em> is the text of the first button, and is optional.
+If <em>button0Text</em> is not supplied, "OK" (translated) will be used.
+<em>button1Text</em> is the text of the second button, and is optional.
+<em>button2Text</em> is the text of the third button, and is optional.
+<em>defaultButtonNumber</em> (0, 1 or 2) is the index of the default
+button; pressing Return or Enter is the same as clicking the
+default button. It defaults to 0 (the first button). <em>escapeButtonNumber</em> is the index of the Escape button; pressing
+Escape is the same as clicking this button. It defaults to -1;
+supply 0, 1 or 2 to make pressing Escape equivalent to clicking
+the relevant button.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> Note: If you do not specify an Escape button then if the Escape
+button is pressed then -1 will be returned. It is suggested that
+you specify an Escape button to prevent this from happening.
+<p> <p>See also <a href="#information">information</a>(), <a href="#warning">warning</a>(), and <a href="#critical">critical</a>().
+
+<h3 class=fn>void <a name="setButtonText"></a>QMessageBox::setButtonText ( int&nbsp;button, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Sets the text of the message box button <em>button</em> to <em>text</em>.
+Setting the text of a button that is not in the message box is
+silently ignored.
+<p> <p>See also <a href="#buttonText">buttonText</a>().
+
+<h3 class=fn>void <a name="setIcon"></a>QMessageBox::setIcon ( <a href="qmessagebox.html#Icon-enum">Icon</a> )
+</h3><p>Sets the message box's icon.
+See the <a href="qmessagebox.html#icon-prop">"icon"</a> property for details.
+<h3 class=fn>void <a name="setIconPixmap"></a>QMessageBox::setIconPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )
+</h3><p>Sets the current icon.
+See the <a href="qmessagebox.html#iconPixmap-prop">"iconPixmap"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QMessageBox::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )
+</h3><p>Sets the message box text to be displayed.
+See the <a href="qmessagebox.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setTextFormat"></a>QMessageBox::setTextFormat ( <a href="qt.html#TextFormat-enum">TextFormat</a> )
+</h3><p>Sets the format of the text displayed by the message box.
+See the <a href="qmessagebox.html#textFormat-prop">"textFormat"</a> property for details.
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="standardIcon"></a>QMessageBox::standardIcon ( <a href="qmessagebox.html#Icon-enum">Icon</a>&nbsp;icon )<tt> [static]</tt>
+</h3>
+Returns the pixmap used for a standard icon. This allows the
+pixmaps to be used in more complex message boxes. <em>icon</em>
+specifies the required icon, e.g. QMessageBox::Question,
+QMessageBox::Information, QMessageBox::Warning or
+QMessageBox::Critical.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="standardIcon-2"></a>QMessageBox::standardIcon ( <a href="qmessagebox.html#Icon-enum">Icon</a>&nbsp;icon, <a href="qt.html#GUIStyle-enum">GUIStyle</a>&nbsp;style )<tt> [static]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the pixmap used for a standard icon. This
+allows the pixmaps to be used in more complex message boxes.
+<em>icon</em> specifies the required icon, e.g. QMessageBox::Information,
+QMessageBox::Warning or QMessageBox::Critical.
+<p> <em>style</em> is unused.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QMessageBox::text () const
+</h3><p>Returns the message box text to be displayed.
+See the <a href="qmessagebox.html#text-prop">"text"</a> property for details.
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat"></a>QMessageBox::textFormat () const
+</h3><p>Returns the format of the text displayed by the message box.
+See the <a href="qmessagebox.html#textFormat-prop">"textFormat"</a> property for details.
+<h3 class=fn>int <a name="warning"></a>QMessageBox::warning ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2 = 0 )<tt> [static]</tt>
+</h3>
+Opens a warning message box with the caption <em>caption</em> and the
+text <em>text</em>. The dialog may have up to three buttons. Each of the
+button parameters, <em>button0</em>, <em>button1</em> and <em>button2</em> may be
+set to one of the following values:
+<p> <ul>
+<li> QMessageBox::NoButton
+<li> QMessageBox::Ok
+<li> QMessageBox::Cancel
+<li> QMessageBox::Yes
+<li> QMessageBox::No
+<li> QMessageBox::Abort
+<li> QMessageBox::Retry
+<li> QMessageBox::Ignore
+<li> QMessageBox::YesAll
+<li> QMessageBox::NoAll
+</ul>
+<p> If you don't want all three buttons, set the last button, or last
+two buttons to QMessageBox::NoButton.
+<p> One button can be OR-ed with <tt>QMessageBox::Default</tt>, and one
+button can be OR-ed with <tt>QMessageBox::Escape</tt>.
+<p> Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.)
+of the button that was clicked.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> <p>See also <a href="#information">information</a>(), <a href="#question">question</a>(), and <a href="#critical">critical</a>().
+
+<p>Examples: <a href="tutorial2-05.html#x2566">chart/chartform.cpp</a>, <a href="i18n-example.html#x1940">i18n/main.cpp</a>, <a href="mail-example.html#x708">network/mail/smtp.cpp</a>, <a href="qwerty-example.html#x374">qwerty/qwerty.cpp</a>, <a href="showimg-example.html#x1333">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2812">sound/sound.cpp</a>.
+<h3 class=fn>int <a name="warning-2"></a>QMessageBox::warning ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button0Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button1Text = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;button2Text = QString::null, int&nbsp;defaultButtonNumber = 0, int&nbsp;escapeButtonNumber = -1 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Displays a warning message box with a caption, a text, and 1, 2 or
+3 buttons. Returns the number of the button that was clicked (0,
+1, or 2).
+<p> <em>button0Text</em> is the text of the first button, and is optional.
+If <em>button0Text</em> is not supplied, "OK" (translated) will be used.
+<em>button1Text</em> is the text of the second button, and is optional,
+and <em>button2Text</em> is the text of the third button, and is
+optional. <em>defaultButtonNumber</em> (0, 1 or 2) is the index of the
+default button; pressing Return or Enter is the same as clicking
+the default button. It defaults to 0 (the first button). <em>escapeButtonNumber</em> is the index of the Escape button; pressing
+Escape is the same as clicking this button. It defaults to -1;
+supply 0, 1, or 2 to make pressing Escape equivalent to clicking
+the relevant button.
+<p> If <em>parent</em> is 0, the message box becomes an application-global
+modal dialog box. If <em>parent</em> is a widget, the message box
+becomes modal relative to <em>parent</em>.
+<p> Note: If you do not specify an Escape button then if the Escape
+button is pressed then -1 will be returned. It is suggested that
+you specify an Escape button to prevent this from happening.
+<p> <p>See also <a href="#information">information</a>(), <a href="#question">question</a>(), and <a href="#critical">critical</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qmessagebox.html#Icon-enum">Icon</a> <a name="icon-prop"></a>icon</h3>
+<p>This property holds the message box's icon.
+<p>The icon of the message box can be one of the following predefined
+icons:
+<ul>
+<li> QMessageBox::NoIcon
+<li> QMessageBox::Question
+<li> QMessageBox::Information
+<li> QMessageBox::Warning
+<li> QMessageBox::Critical
+</ul>
+<p> The actual pixmap used for displaying the icon depends on the
+current <a href="qwidget.html#style">GUI style</a>. You can also set
+a custom pixmap icon using the <a href="#iconPixmap-prop">QMessageBox::iconPixmap</a>
+property. The default icon is QMessageBox::NoIcon.
+<p> <p>See also <a href="#iconPixmap-prop">iconPixmap</a>.
+
+<p>Set this property's value with <a href="#setIcon">setIcon</a>() and get this property's value with <a href="#icon">icon</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="iconPixmap-prop"></a>iconPixmap</h3>
+<p>This property holds the current icon.
+<p>The icon currently used by the message box. Note that it's often
+hard to draw one pixmap that looks appropriate in both <a href="motif-extension.html#Motif">Motif</a> and
+Windows GUI styles; you may want to draw two pixmaps.
+<p> <p>See also <a href="#icon-prop">icon</a>.
+
+<p>Set this property's value with <a href="#setIconPixmap">setIconPixmap</a>() and get this property's value with <a href="#iconPixmap">iconPixmap</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the message box text to be displayed.
+<p>The text will be interpreted either as a plain text or as rich
+text, depending on the text format setting (<a href="#textFormat-prop">QMessageBox::textFormat</a>). The default setting is <a href="qt.html#TextFormat-enum">AutoText</a>, i.e.
+the message box will try to auto-detect the format of the text.
+<p> The default value of this property is <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#textFormat-prop">textFormat</a>.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat-prop"></a>textFormat</h3>
+<p>This property holds the format of the text displayed by the message box.
+<p>The current text format used by the message box. See the <a href="qt.html#TextFormat-enum">Qt::TextFormat</a> enum for an explanation of the possible options.
+<p> The default format is <a href="qt.html#TextFormat-enum">AutoText</a>.
+<p> <p>See also <a href="#text-prop">text</a>.
+
+<p>Set this property's value with <a href="#setTextFormat">setTextFormat</a>() and get this property's value with <a href="#textFormat">textFormat</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmetaobject-h.html b/doc/html/qmetaobject-h.html
new file mode 100644
index 0000000..70bfde9
--- /dev/null
+++ b/doc/html/qmetaobject-h.html
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmetaobject.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmetaobject.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmetaobject.h</h1>
+
+<p>This is the verbatim text of the qmetaobject.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmetaobject.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMetaObject class
+**
+** Created : 930419
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMETAOBJECT_H
+#define QMETAOBJECT_H
+
+#ifndef QT_H
+#include "qconnection.h"
+#include "qstrlist.h"
+#endif // QT_H
+
+#ifndef Q_MOC_OUTPUT_REVISION
+#define Q_MOC_OUTPUT_REVISION 26
+#endif
+
+class QObject;
+struct QUMethod;
+class QMetaObjectPrivate;
+
+struct QMetaData // - member function meta data
+{ // for signal and slots
+ const char *name; // - member name
+ const QUMethod* method; // - detailed method description
+ enum Access { Private, Protected, Public };
+ Access access; // - access permission
+};
+
+#ifndef QT_NO_PROPERTIES
+struct QMetaEnum // enumerator meta data
+{ // for properties
+ const char *name; // - enumerator name
+ uint count; // - number of values
+ struct Item // - a name/value pair
+ {
+ const char *key;
+ int value;
+ };
+ const Item *items; // - the name/value pairs
+ bool set; // whether enum has to be treated as a set
+};
+#endif
+
+#ifndef QT_NO_PROPERTIES
+
+class Q_EXPORT QMetaProperty // property meta data
+{
+public:
+ const char* type() const { return t; } // type of the property
+ const char* name() const { return n; } // name of the property
+
+ bool writable() const;
+ bool isValid() const;
+
+ bool isSetType() const;
+ bool isEnumType() const;
+ QStrList enumKeys() const; // enumeration names
+
+ int keyToValue( const char* key ) const; // enum and set conversion functions
+ const char* valueToKey( int value ) const;
+ int keysToValue( const QStrList&amp; keys ) const;
+ QStrList valueToKeys( int value ) const;
+
+ bool designable( QObject* = 0 ) const;
+ bool scriptable( QObject* = 0 ) const;
+ bool stored( QObject* = 0 ) const;
+
+ bool reset( QObject* ) const;
+
+ const char* t; // internal
+ const char* n; // internal
+
+ enum Flags {
+ Invalid = 0x00000000,
+ Readable = 0x00000001,
+ Writable = 0x00000002,
+ EnumOrSet = 0x00000004,
+ UnresolvedEnum = 0x00000008,
+ StdSet = 0x00000100,
+ Override = 0x00000200
+ };
+
+ uint flags; // internal
+ bool testFlags( uint f ) const; // internal
+ bool stdSet() const; // internal
+ int id() const; // internal
+
+ QMetaObject** meta; // internal
+
+ const QMetaEnum* enumData; // internal
+ int _id; // internal
+ void clear(); // internal
+};
+
+inline bool QMetaProperty::testFlags( uint f ) const
+{ return (flags &amp; (uint)f) != (uint)0; }
+
+#endif // QT_NO_PROPERTIES
+
+struct QClassInfo // class info meta data
+{
+ const char* name; // - name of the info
+ const char* value; // - value of the info
+};
+
+class Q_EXPORT QMetaObject // meta object class
+{
+public:
+ QMetaObject( const char * const class_name, QMetaObject *superclass,
+ const QMetaData * const slot_data, int n_slots,
+ const QMetaData * const signal_data, int n_signals,
+#ifndef QT_NO_PROPERTIES
+ const QMetaProperty *const prop_data, int n_props,
+ const QMetaEnum *const enum_data, int n_enums,
+#endif
+ const QClassInfo *const class_info, int n_info );
+
+#ifndef QT_NO_PROPERTIES
+ QMetaObject( const char * const class_name, QMetaObject *superclass,
+ const QMetaData * const slot_data, int n_slots,
+ const QMetaData * const signal_data, int n_signals,
+ const QMetaProperty *const prop_data, int n_props,
+ const QMetaEnum *const enum_data, int n_enums,
+ bool (*qt_static_property)(QObject*, int, int, QVariant*),
+ const QClassInfo *const class_info, int n_info );
+#endif
+
+
+ virtual ~QMetaObject();
+
+ const char *className() const { return classname; }
+ const char *superClassName() const { return superclassname; }
+
+ QMetaObject *superClass() const { return superclass; }
+
+ bool inherits( const char* clname ) const;
+
+ int numSlots( bool super = FALSE ) const;
+ int numSignals( bool super = FALSE ) const;
+
+ int findSlot( const char *, bool super = FALSE ) const;
+ int findSignal( const char *, bool super = FALSE ) const;
+
+ const QMetaData *slot( int index, bool super = FALSE ) const;
+ const QMetaData *signal( int index, bool super = FALSE ) const;
+
+ QStrList slotNames( bool super = FALSE ) const;
+ QStrList signalNames( bool super = FALSE ) const;
+
+ int slotOffset() const;
+ int signalOffset() const;
+ int propertyOffset() const;
+
+ int numClassInfo( bool super = FALSE ) const;
+ const QClassInfo *classInfo( int index, bool super = FALSE ) const;
+ const char *classInfo( const char* name, bool super = FALSE ) const;
+
+#ifndef QT_NO_PROPERTIES
+ const QMetaProperty *property( int index, bool super = FALSE ) const;
+ int findProperty( const char *name, bool super = FALSE ) const;
+ int indexOfProperty( const QMetaProperty*, bool super = FALSE ) const;
+ const QMetaProperty* resolveProperty( const QMetaProperty* ) const;
+ int resolveProperty( int ) const;
+ QStrList propertyNames( bool super = FALSE ) const;
+ int numProperties( bool super = FALSE ) const;
+#endif
+
+ // static wrappers around constructors, necessary to work around a
+ // Windows-DLL limitation: objects can only be deleted within a
+ // DLL if they were actually created within that DLL.
+ static QMetaObject *new_metaobject( const char *, QMetaObject *,
+ const QMetaData *const, int,
+ const QMetaData *const, int,
+#ifndef QT_NO_PROPERTIES
+ const QMetaProperty *const prop_data, int n_props,
+ const QMetaEnum *const enum_data, int n_enums,
+#endif
+ const QClassInfo *const class_info, int n_info );
+#ifndef QT_NO_PROPERTIES
+ static QMetaObject *new_metaobject( const char *, QMetaObject *,
+ const QMetaData *const, int,
+ const QMetaData *const, int,
+ const QMetaProperty *const prop_data, int n_props,
+ const QMetaEnum *const enum_data, int n_enums,
+ bool (*qt_static_property)(QObject*, int, int, QVariant*),
+ const QClassInfo *const class_info, int n_info );
+ QStrList enumeratorNames( bool super = FALSE ) const;
+ int numEnumerators( bool super = FALSE ) const;
+ const QMetaEnum *enumerator( const char* name, bool super = FALSE ) const;
+#endif
+
+ static QMetaObject *metaObject( const char *class_name );
+ static bool hasMetaObject( const char *class_name );
+
+private:
+ QMemberDict *init( const QMetaData *, int );
+
+ const char *classname; // class name
+ const char *superclassname; // super class name
+ QMetaObject *superclass; // super class meta object
+ QMetaObjectPrivate *d; // private data for...
+ void *reserved; // ...binary compatibility
+ const QMetaData *slotData; // slot meta data
+ QMemberDict *slotDict; // slot dictionary
+ const QMetaData *signalData; // signal meta data
+ QMemberDict *signalDict; // signal dictionary
+ int signaloffset;
+ int slotoffset;
+#ifndef QT_NO_PROPERTIES
+ int propertyoffset;
+public:
+ bool qt_static_property( QObject* o, int id, int f, QVariant* v);
+private:
+ friend class QMetaProperty;
+#endif
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMetaObject( const QMetaObject &amp; );
+ QMetaObject &amp;operator=( const QMetaObject &amp; );
+#endif
+};
+
+inline int QMetaObject::slotOffset() const
+{ return slotoffset; }
+
+inline int QMetaObject::signalOffset() const
+{ return signaloffset; }
+
+#ifndef QT_NO_PROPERTIES
+inline int QMetaObject::propertyOffset() const
+{ return propertyoffset; }
+#endif
+
+typedef QMetaObject *(*QtStaticMetaObjectFunction)();
+
+class Q_EXPORT QMetaObjectCleanUp
+{
+public:
+ QMetaObjectCleanUp( const char *mo_name, QtStaticMetaObjectFunction );
+ QMetaObjectCleanUp();
+ ~QMetaObjectCleanUp();
+
+ void setMetaObject( QMetaObject *&amp;mo );
+
+private:
+ QMetaObject **metaObject;
+};
+
+#endif // QMETAOBJECT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmetaobject-members.html b/doc/html/qmetaobject-members.html
new file mode 100644
index 0000000..43d1a39
--- /dev/null
+++ b/doc/html/qmetaobject-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmetaobject.h:140 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMetaObject Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMetaObject</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmetaobject.html">QMetaObject</a>, including inherited members.
+
+<ul>
+<li><a href="qmetaobject.html#classInfo">classInfo</a>()
+<li><a href="qmetaobject.html#className">className</a>()
+<li><a href="qmetaobject.html#findProperty">findProperty</a>()
+<li><a href="qmetaobject.html#inherits">inherits</a>()
+<li><a href="qmetaobject.html#numClassInfo">numClassInfo</a>()
+<li><a href="qmetaobject.html#numProperties">numProperties</a>()
+<li><a href="qmetaobject.html#numSignals">numSignals</a>()
+<li><a href="qmetaobject.html#numSlots">numSlots</a>()
+<li><a href="qmetaobject.html#property">property</a>()
+<li><a href="qmetaobject.html#propertyNames">propertyNames</a>()
+<li><a href="qmetaobject.html#signalNames">signalNames</a>()
+<li><a href="qmetaobject.html#slotNames">slotNames</a>()
+<li><a href="qmetaobject.html#superClass">superClass</a>()
+<li><a href="qmetaobject.html#superClassName">superClassName</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmetaobject.html b/doc/html/qmetaobject.html
new file mode 100644
index 0000000..c777457
--- /dev/null
+++ b/doc/html/qmetaobject.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmetaobject.cpp:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMetaObject Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMetaObject Class Reference</h1>
+
+<p>The QMetaObject class contains meta information about Qt objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmetaobject-h.html">qmetaobject.h</a>&gt;</tt>
+<p><a href="qmetaobject-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>const char * <a href="#className"><b>className</b></a> () const</li>
+<li class=fn>const char * <a href="#superClassName"><b>superClassName</b></a> () const</li>
+<li class=fn>QMetaObject * <a href="#superClass"><b>superClass</b></a> () const</li>
+<li class=fn>bool <a href="#inherits"><b>inherits</b></a> ( const&nbsp;char&nbsp;*&nbsp;clname ) const</li>
+<li class=fn>int <a href="#numSlots"><b>numSlots</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>int <a href="#numSignals"><b>numSignals</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>QStrList <a href="#slotNames"><b>slotNames</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>QStrList <a href="#signalNames"><b>signalNames</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>int <a href="#numClassInfo"><b>numClassInfo</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>const QClassInfo * <a href="#classInfo"><b>classInfo</b></a> ( int&nbsp;index, bool&nbsp;super = FALSE ) const</li>
+<li class=fn>const char * <a href="#classInfo-2"><b>classInfo</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;super = FALSE ) const</li>
+<li class=fn>const QMetaProperty * <a href="#property"><b>property</b></a> ( int&nbsp;index, bool&nbsp;super = FALSE ) const</li>
+<li class=fn>int <a href="#findProperty"><b>findProperty</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;super = FALSE ) const</li>
+<li class=fn>QStrList <a href="#propertyNames"><b>propertyNames</b></a> ( bool&nbsp;super = FALSE ) const</li>
+<li class=fn>int <a href="#numProperties"><b>numProperties</b></a> ( bool&nbsp;super = FALSE ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMetaObject class contains meta information about Qt objects.
+<p>
+<p> The Meta Object System in Qt is responsible for the signals and
+slots inter-object communication mechanism, runtime type
+information and the property system. All meta information in Qt is
+kept in a single instance of QMetaObject per class.
+<p> This class is not normally required for application programming.
+But if you write meta applications, such as scripting engines or
+GUI builders, you might find these functions useful:
+<ul>
+<li> <a href="#className">className</a>() to get the name of a class.
+<li> <a href="#superClassName">superClassName</a>() to get the name of the superclass.
+<li> <a href="#inherits">inherits</a>(), the function called by <a href="qobject.html#inherits">QObject::inherits</a>().
+<li> <a href="#superClass">superClass</a>() to access the superclass's <a href="metaobjects.html#meta-object">meta object</a>.
+<li> <a href="#numSlots">numSlots</a>(), <a href="#numSignals">numSignals</a>(), <a href="#slotNames">slotNames</a>(), and <a href="#signalNames">signalNames</a>() to get
+information about a class's signals and slots.
+<li> <a href="#property">property</a>() and <a href="#propertyNames">propertyNames</a>() to obtain information about a
+class's properties.
+</ul>
+<p> Classes may have a list of name-value pairs of class information.
+The number of pairs is returned by <a href="#numClassInfo">numClassInfo</a>(), and values are
+returned by <a href="#classInfo">classInfo</a>().
+<p> <p>See also <a href="moc.html">moc (Meta Object Compiler)</a> and <a href="objectmodel.html">Object Model</a>.
+
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>const QClassInfo * <a name="classInfo"></a>QMetaObject::classInfo ( int&nbsp;index, bool&nbsp;super = FALSE ) const
+</h3>
+Returns the class information with index <em>index</em> or 0 if no such
+information exists.
+<p> If <em>super</em> is TRUE, inherited class information is included.
+
+<h3 class=fn>const char * <a name="classInfo-2"></a>QMetaObject::classInfo ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;super = FALSE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the class information with name <em>name</em> or 0 if no such
+information exists.
+<p> If <em>super</em> is TRUE, inherited class information is included.
+
+<h3 class=fn>const char * <a name="className"></a>QMetaObject::className () const
+</h3>
+
+<p> Returns the class name.
+<p> <p>See also <a href="qobject.html#className">QObject::className</a>() and <a href="#superClassName">superClassName</a>().
+
+<h3 class=fn>int <a name="findProperty"></a>QMetaObject::findProperty ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;super = FALSE ) const
+</h3>
+Returns the index for the property with name <em>name</em> or -1 if no
+such property exists.
+<p> If <em>super</em> is TRUE, inherited properties are included.
+<p> <p>See also <a href="#property">property</a>() and <a href="#propertyNames">propertyNames</a>().
+
+<h3 class=fn>bool <a name="inherits"></a>QMetaObject::inherits ( const&nbsp;char&nbsp;*&nbsp;clname ) const
+</h3>
+Returns TRUE if this class inherits <em>clname</em> within the <a href="metaobjects.html#meta-object">meta object</a> inheritance chain; otherwise returns FALSE.
+<p> (A class is considered to inherit itself.)
+
+<h3 class=fn>int <a name="numClassInfo"></a>QMetaObject::numClassInfo ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns the number of items of class information available for
+this class.
+<p> If <em>super</em> is TRUE, inherited class information is included.
+
+<h3 class=fn>int <a name="numProperties"></a>QMetaObject::numProperties ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns the number of properties for this class.
+<p> If <em>super</em> is TRUE, inherited properties are included.
+<p> <p>See also <a href="#propertyNames">propertyNames</a>().
+
+<h3 class=fn>int <a name="numSignals"></a>QMetaObject::numSignals ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns the number of signals for this class.
+<p> If <em>super</em> is TRUE, inherited signals are included.
+<p> <p>See also <a href="#signalNames">signalNames</a>().
+
+<h3 class=fn>int <a name="numSlots"></a>QMetaObject::numSlots ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns the number of slots for this class.
+<p> If <em>super</em> is TRUE, inherited slots are included.
+<p> <p>See also <a href="#slotNames">slotNames</a>().
+
+<h3 class=fn>const&nbsp;<a href="qmetaproperty.html">QMetaProperty</a>&nbsp;* <a name="property"></a>QMetaObject::property ( int&nbsp;index, bool&nbsp;super = FALSE ) const
+</h3>
+Returns the property meta data for the property at index <em>index</em>
+or 0 if no such property exists.
+<p> If <em>super</em> is TRUE, inherited properties are included.
+<p> <p>See also <a href="#propertyNames">propertyNames</a>().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="propertyNames"></a>QMetaObject::propertyNames ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns a list with the names of all this class's properties.
+<p> If <em>super</em> is TRUE, inherited properties are included.
+<p> <p>See also <a href="#property">property</a>().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="signalNames"></a>QMetaObject::signalNames ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns a list with the names of all this class's signals.
+<p> If <em>super</em> is TRUE, inherited signals are included.
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="slotNames"></a>QMetaObject::slotNames ( bool&nbsp;super = FALSE ) const
+</h3>
+Returns a list with the names of all this class's slots.
+<p> If <em>super</em> is TRUE, inherited slots are included.
+<p> <p>See also <a href="#numSlots">numSlots</a>().
+
+<h3 class=fn><a href="qmetaobject.html">QMetaObject</a>&nbsp;* <a name="superClass"></a>QMetaObject::superClass () const
+</h3>
+
+<p> Returns the <a href="metaobjects.html#meta-object">meta object</a> of the super class or 0 if there is no
+such object.
+
+<h3 class=fn>const char * <a name="superClassName"></a>QMetaObject::superClassName () const
+</h3>
+
+<p> Returns the class name of the superclass or 0 if there is no
+superclass in the <a href="qobject.html">QObject</a> hierachy.
+<p> <p>See also <a href="#className">className</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmetaproperty-members.html b/doc/html/qmetaproperty-members.html
new file mode 100644
index 0000000..8336a0c
--- /dev/null
+++ b/doc/html/qmetaproperty-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmetaobject.h:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMetaProperty Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMetaProperty</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmetaproperty.html">QMetaProperty</a>, including inherited members.
+
+<ul>
+<li><a href="qmetaproperty.html#designable">designable</a>()
+<li><a href="qmetaproperty.html#enumKeys">enumKeys</a>()
+<li><a href="qmetaproperty.html#isEnumType">isEnumType</a>()
+<li><a href="qmetaproperty.html#isSetType">isSetType</a>()
+<li><a href="qmetaproperty.html#keyToValue">keyToValue</a>()
+<li><a href="qmetaproperty.html#keysToValue">keysToValue</a>()
+<li><a href="qmetaproperty.html#name">name</a>()
+<li><a href="qmetaproperty.html#reset">reset</a>()
+<li><a href="qmetaproperty.html#scriptable">scriptable</a>()
+<li><a href="qmetaproperty.html#stored">stored</a>()
+<li><a href="qmetaproperty.html#type">type</a>()
+<li><a href="qmetaproperty.html#valueToKey">valueToKey</a>()
+<li><a href="qmetaproperty.html#valueToKeys">valueToKeys</a>()
+<li><a href="qmetaproperty.html#writable">writable</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmetaproperty.html b/doc/html/qmetaproperty.html
new file mode 100644
index 0000000..51bfe3f
--- /dev/null
+++ b/doc/html/qmetaproperty.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmetaobject.cpp:844 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMetaProperty Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMetaProperty Class Reference</h1>
+
+<p>The QMetaProperty class stores meta data about a property.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmetaobject-h.html">qmetaobject.h</a>&gt;</tt>
+<p><a href="qmetaproperty-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>const char * <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>const char * <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>bool <a href="#writable"><b>writable</b></a> () const</li>
+<li class=fn>bool <a href="#isSetType"><b>isSetType</b></a> () const</li>
+<li class=fn>bool <a href="#isEnumType"><b>isEnumType</b></a> () const</li>
+<li class=fn>QStrList <a href="#enumKeys"><b>enumKeys</b></a> () const</li>
+<li class=fn>int <a href="#keyToValue"><b>keyToValue</b></a> ( const&nbsp;char&nbsp;*&nbsp;key ) const</li>
+<li class=fn>const char * <a href="#valueToKey"><b>valueToKey</b></a> ( int&nbsp;value ) const</li>
+<li class=fn>int <a href="#keysToValue"><b>keysToValue</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;keys ) const</li>
+<li class=fn>QStrList <a href="#valueToKeys"><b>valueToKeys</b></a> ( int&nbsp;value ) const</li>
+<li class=fn>bool <a href="#designable"><b>designable</b></a> ( QObject&nbsp;*&nbsp;o = 0 ) const</li>
+<li class=fn>bool <a href="#scriptable"><b>scriptable</b></a> ( QObject&nbsp;*&nbsp;o = 0 ) const</li>
+<li class=fn>bool <a href="#stored"><b>stored</b></a> ( QObject&nbsp;*&nbsp;o = 0 ) const</li>
+<li class=fn>bool <a href="#reset"><b>reset</b></a> ( QObject&nbsp;*&nbsp;o ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QMetaProperty class stores meta data about a property.
+<p>
+<p> Property meta data includes <a href="#type">type</a>(), <a href="#name">name</a>(), and whether a property
+is <a href="#writable">writable</a>(), <a href="#designable">designable</a>() and <a href="#stored">stored</a>().
+<p> The functions <a href="#isSetType">isSetType</a>(), <a href="#isEnumType">isEnumType</a>() and <a href="#enumKeys">enumKeys</a>() provide
+further information about a property's type. The conversion
+functions <a href="#keyToValue">keyToValue</a>(), <a href="#valueToKey">valueToKey</a>(), <a href="#keysToValue">keysToValue</a>() and
+<a href="#valueToKeys">valueToKeys</a>() allow conversion between the integer representation
+of an enumeration or set value and its literal representation.
+<p> Actual property values are set and received through <a href="qobject.html">QObject</a>'s set
+and get functions. See <a href="qobject.html#setProperty">QObject::setProperty</a>() and
+<a href="qobject.html#property">QObject::property</a>() for details.
+<p> You receive meta property data through an object's <a href="metaobjects.html#meta-object">meta object</a>.
+See <a href="qmetaobject.html#property">QMetaObject::property</a>() and <a href="qmetaobject.html#propertyNames">QMetaObject::propertyNames</a>() for
+details.
+<p>See also <a href="objectmodel.html">Object Model</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="designable"></a>QMetaProperty::designable ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o = 0 ) const
+</h3> Returns TRUE if the property is designable for object <em>o</em>;
+otherwise returns FALSE.
+<p> If no object <em>o</em> is given, the function returns a static
+approximation.
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="enumKeys"></a>QMetaProperty::enumKeys () const
+</h3>
+Returns the possible enumeration keys if this property is an
+enumeration type (or a set type).
+<p> <p>See also <a href="#isEnumType">isEnumType</a>().
+
+<h3 class=fn>bool <a name="isEnumType"></a>QMetaProperty::isEnumType () const
+</h3>
+
+<p> Returns TRUE if the property's type is an enumeration value;
+otherwise returns FALSE.
+<p> <p>See also <a href="#isSetType">isSetType</a>() and <a href="#enumKeys">enumKeys</a>().
+
+<h3 class=fn>bool <a name="isSetType"></a>QMetaProperty::isSetType () const
+</h3>
+
+<p> Returns TRUE if the property's type is an enumeration value that
+is used as set, i.e. if the enumeration values can be OR-ed
+together; otherwise returns FALSE. A set type is implicitly also
+an enum type.
+<p> <p>See also <a href="#isEnumType">isEnumType</a>() and <a href="#enumKeys">enumKeys</a>().
+
+<h3 class=fn>int <a name="keyToValue"></a>QMetaProperty::keyToValue ( const&nbsp;char&nbsp;*&nbsp;key ) const
+</h3>
+Converts the enumeration key <em>key</em> to its integer value.
+<p> For set types, use <a href="#keysToValue">keysToValue</a>().
+<p> <p>See also <a href="#valueToKey">valueToKey</a>(), <a href="#isSetType">isSetType</a>(), and <a href="#keysToValue">keysToValue</a>().
+
+<h3 class=fn>int <a name="keysToValue"></a>QMetaProperty::keysToValue ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;keys ) const
+</h3>
+Converts the list of keys <em>keys</em> to their combined (OR-ed)
+integer value.
+<p> <p>See also <a href="#isSetType">isSetType</a>() and <a href="#valueToKey">valueToKey</a>().
+
+<h3 class=fn>const char * <a name="name"></a>QMetaProperty::name () const
+</h3>
+
+<p> Returns the name of the property.
+
+<h3 class=fn>bool <a name="reset"></a>QMetaProperty::reset ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o ) const
+</h3>
+Tries to reset the property for object <em>o</em> with a reset method.
+On success, returns TRUE; otherwise returns FALSE.
+<p> Reset methods are optional, usually only a few properties support
+them.
+
+<h3 class=fn>bool <a name="scriptable"></a>QMetaProperty::scriptable ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o = 0 ) const
+</h3>
+Returns TRUE if the property is scriptable for object <em>o</em>;
+otherwise returns FALSE.
+<p> If no object <em>o</em> is given, the function returns a static
+approximation.
+
+<h3 class=fn>bool <a name="stored"></a>QMetaProperty::stored ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o = 0 ) const
+</h3>
+Returns TRUE if the property shall be stored for object <em>o</em>;
+otherwise returns FALSE.
+<p> If no object <em>o</em> is given, the function returns a static
+approximation.
+
+<h3 class=fn>const char * <a name="type"></a>QMetaProperty::type () const
+</h3>
+
+<p> Returns the type of the property.
+
+<h3 class=fn>const char * <a name="valueToKey"></a>QMetaProperty::valueToKey ( int&nbsp;value ) const
+</h3>
+Converts the enumeration value <em>value</em> to its literal key.
+<p> For set types, use <a href="#valueToKeys">valueToKeys</a>().
+<p> <p>See also <a href="#isSetType">isSetType</a>() and <a href="#valueToKeys">valueToKeys</a>().
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a> <a name="valueToKeys"></a>QMetaProperty::valueToKeys ( int&nbsp;value ) const
+</h3>
+Converts the set value <em>value</em> to a list of keys.
+<p> <p>See also <a href="#isSetType">isSetType</a>() and <a href="#valueToKey">valueToKey</a>().
+
+<h3 class=fn>bool <a name="writable"></a>QMetaProperty::writable () const
+</h3>
+
+<p> Returns TRUE if the property is writable; otherwise returns FALSE.
+<p>
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmime-h.html b/doc/html/qmime-h.html
new file mode 100644
index 0000000..42df05f
--- /dev/null
+++ b/doc/html/qmime-h.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmime.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmime.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmime.h</h1>
+
+<p>This is the verbatim text of the qmime.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmime.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of mime classes
+**
+** Created : 981204
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMIME_H
+#define QMIME_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qmap.h"
+#endif // QT_H
+
+#ifndef QT_NO_MIME
+
+class QImageDrag;
+class QTextDrag;
+
+class Q_EXPORT QMimeSource
+{
+ friend class QClipboardData;
+
+public:
+ QMimeSource();
+ virtual ~QMimeSource();
+ virtual const char* format( int n = 0 ) const = 0;
+ virtual bool provides( const char* ) const;
+ virtual QByteArray encodedData( const char* ) const = 0;
+ int serialNumber() const;
+
+private:
+ int ser_no;
+ enum { NoCache, Text, Graphics } cacheType;
+ union
+ {
+ struct
+ {
+ QString *str;
+ QCString *subtype;
+ } txt;
+ struct
+ {
+ QImage *img;
+ QPixmap *pix;
+ } gfx;
+ } cache;
+ void clearCache();
+
+ // friends for caching
+ friend class QImageDrag;
+ friend class QTextDrag;
+
+};
+
+inline int QMimeSource::serialNumber() const
+{ return ser_no; }
+
+class QStringList;
+class QMimeSourceFactoryData;
+
+class Q_EXPORT QMimeSourceFactory {
+public:
+ QMimeSourceFactory();
+ virtual ~QMimeSourceFactory();
+
+ static QMimeSourceFactory* defaultFactory();
+ static void setDefaultFactory( QMimeSourceFactory* );
+ static QMimeSourceFactory* takeDefaultFactory();
+ static void addFactory( QMimeSourceFactory *f );
+ static void removeFactory( QMimeSourceFactory *f );
+
+ virtual const QMimeSource* data(const QString&amp; abs_name) const;
+ virtual QString makeAbsolute(const QString&amp; abs_or_rel_name, const QString&amp; context) const;
+ const QMimeSource* data(const QString&amp; abs_or_rel_name, const QString&amp; context) const;
+
+ virtual void setText( const QString&amp; abs_name, const QString&amp; text );
+ virtual void setImage( const QString&amp; abs_name, const QImage&amp; im );
+ virtual void setPixmap( const QString&amp; abs_name, const QPixmap&amp; pm );
+ virtual void setData( const QString&amp; abs_name, QMimeSource* data );
+ virtual void setFilePath( const QStringList&amp; );
+ virtual QStringList filePath() const;
+ void addFilePath( const QString&amp; );
+ virtual void setExtensionType( const QString&amp; ext, const char* mimetype );
+
+private:
+ QMimeSource *dataInternal(const QString&amp; abs_name, const QMap&lt;QString, QString&gt; &amp;extensions ) const;
+ QMimeSourceFactoryData* d;
+};
+
+#if defined(Q_WS_WIN)
+
+#ifndef QT_H
+#include "qptrlist.h" // down here for GCC 2.7.* compatibility
+#endif // QT_H
+
+/*
+ Encapsulation of conversion between MIME and Windows CLIPFORMAT.
+ Not need on X11, as the underlying protocol uses the MIME standard
+ directly.
+*/
+
+class Q_EXPORT QWindowsMime {
+public:
+ QWindowsMime();
+ virtual ~QWindowsMime();
+
+ static void initialize();
+
+ static QPtrList&lt;QWindowsMime&gt; all();
+ static QWindowsMime* convertor( const char* mime, int cf );
+ static const char* cfToMime(int cf);
+
+ static int registerMimeType(const char *mime);
+
+ virtual const char* convertorName()=0;
+ virtual int countCf()=0;
+ virtual int cf(int index)=0;
+ virtual bool canConvert( const char* mime, int cf )=0;
+ virtual const char* mimeFor(int cf)=0;
+ virtual int cfFor(const char* )=0;
+ virtual QByteArray convertToMime( QByteArray data, const char* mime, int cf )=0;
+ virtual QByteArray convertFromMime( QByteArray data, const char* mime, int cf )=0;
+};
+
+#endif
+#if defined(Q_WS_MAC)
+
+#ifndef QT_H
+#include "qptrlist.h" // down here for GCC 2.7.* compatibility
+#endif // QT_H
+
+/*
+ Encapsulation of conversion between MIME and Mac flavor.
+ Not need on X11, as the underlying protocol uses the MIME standard
+ directly.
+*/
+
+class Q_EXPORT QMacMime {
+ char type;
+public:
+ enum QMacMimeType { MIME_DND=0x01, MIME_CLIP=0x02, MIME_QT_CONVERTOR=0x04, MIME_ALL=MIME_DND|MIME_CLIP };
+ QMacMime(char);
+ virtual ~QMacMime();
+
+ static void initialize();
+
+ static QPtrList&lt;QMacMime&gt; all(QMacMimeType);
+ static QMacMime* convertor(QMacMimeType, const char* mime, int flav);
+ static const char* flavorToMime(QMacMimeType, int flav);
+
+ virtual const char* convertorName()=0;
+ virtual int countFlavors()=0;
+ virtual int flavor(int index)=0;
+ virtual bool canConvert(const char* mime, int flav)=0;
+ virtual const char* mimeFor(int flav)=0;
+ virtual int flavorFor(const char*)=0;
+ virtual QByteArray convertToMime(QValueList&lt;QByteArray&gt; data, const char* mime, int flav)=0;
+ virtual QValueList&lt;QByteArray&gt; convertFromMime(QByteArray data, const char* mime, int flav)=0;
+};
+
+#endif // Q_WS_MAC
+
+#endif // QT_NO_MIME
+
+#endif // QMIME_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmimesource-members.html b/doc/html/qmimesource-members.html
new file mode 100644
index 0000000..9c24f53
--- /dev/null
+++ b/doc/html/qmimesource-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmime.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMimeSource Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMimeSource</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmimesource.html">QMimeSource</a>, including inherited members.
+
+<ul>
+<li><a href="qmimesource.html#QMimeSource">QMimeSource</a>()
+<li><a href="qmimesource.html#~QMimeSource">~QMimeSource</a>()
+<li><a href="qmimesource.html#encodedData">encodedData</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmimesource.html b/doc/html/qmimesource.html
new file mode 100644
index 0000000..df6f300
--- /dev/null
+++ b/doc/html/qmimesource.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmime.cpp:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMimeSource Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMimeSource Class Reference</h1>
+
+<p>The QMimeSource class is an abstraction of objects which provide formatted data of a certain MIME type.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;</tt>
+<p>Inherited by <a href="qdragobject.html">QDragObject</a> and <a href="qdropevent.html">QDropEvent</a>.
+<p><a href="qmimesource-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMimeSource"><b>QMimeSource</b></a> ()</li>
+<li class=fn>virtual <a href="#~QMimeSource"><b>~QMimeSource</b></a> ()</li>
+<li class=fn>virtual const char * <a href="#format"><b>format</b></a> ( int&nbsp;i = 0 ) const = 0</li>
+<li class=fn>virtual bool <a href="#provides"><b>provides</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const</li>
+<li class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const char * ) const = 0</li>
+<li class=fn>int <a href="#serialNumber"><b>serialNumber</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMimeSource class is an abstraction of objects which provide formatted data of a certain MIME type.
+<p>
+
+
+<p> <a href="dnd.html">Drag-and-drop</a> and
+<a href="qclipboard.html">clipboard</a> use this abstraction.
+<p> <p>See also <a href="http://www.isi.edu/in-notes/iana/assignments/media-types/
+ ">IANA list of MIME media types</a>, <a href="draganddrop.html">Drag And Drop Classes</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMimeSource"></a>QMimeSource::QMimeSource ()
+</h3>
+Constructs a mime source and assigns a globally unique serial
+number to it.
+<p> <p>See also <a href="#serialNumber">serialNumber</a>().
+
+<h3 class=fn><a name="~QMimeSource"></a>QMimeSource::~QMimeSource ()<tt> [virtual]</tt>
+</h3>
+Provided to ensure that subclasses destroy themselves correctly.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="encodedData"></a>QMimeSource::encodedData ( const char * ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the encoded data of this object in the specified MIME
+format.
+<p> Subclasses must reimplement this function.
+
+<p>Reimplemented in <a href="qstoreddrag.html#encodedData">QStoredDrag</a>, <a href="qdropevent.html#encodedData">QDropEvent</a>, and <a href="qicondrag.html#encodedData">QIconDrag</a>.
+<h3 class=fn>const char * <a name="format"></a>QMimeSource::format ( int&nbsp;i = 0 ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the <em>i</em>-th supported MIME format, or 0.
+
+<p>Reimplemented in <a href="qdropevent.html#format">QDropEvent</a>.
+<h3 class=fn>bool <a name="provides"></a>QMimeSource::provides ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the object can provide the data in format <em>mimeType</em>; otherwise returns FALSE.
+<p> If you inherit from QMimeSource, for consistency reasons it is
+better to implement the more abstract canDecode() functions such
+as <a href="qtextdrag.html#canDecode">QTextDrag::canDecode</a>() and <a href="qimagedrag.html#canDecode">QImageDrag::canDecode</a>().
+
+<p>Example: <a href="simple_dd-example.html#x2825">iconview/simple_dd/main.cpp</a>.
+<p>Reimplemented in <a href="qdropevent.html#provides">QDropEvent</a>.
+<h3 class=fn>int <a name="serialNumber"></a>QMimeSource::serialNumber () const
+</h3>
+
+<p> Returns the mime source's globally unique serial number.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmimesourcefactory-members.html b/doc/html/qmimesourcefactory-members.html
new file mode 100644
index 0000000..5d6936f
--- /dev/null
+++ b/doc/html/qmimesourcefactory-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmime.h:93 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMimeSourceFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMimeSourceFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmimesourcefactory.html">QMimeSourceFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qmimesourcefactory.html#QMimeSourceFactory">QMimeSourceFactory</a>()
+<li><a href="qmimesourcefactory.html#~QMimeSourceFactory">~QMimeSourceFactory</a>()
+<li><a href="qmimesourcefactory.html#addFactory">addFactory</a>()
+<li><a href="qmimesourcefactory.html#addFilePath">addFilePath</a>()
+<li><a href="qmimesourcefactory.html#data">data</a>()
+<li><a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()
+<li><a href="qmimesourcefactory.html#filePath">filePath</a>()
+<li><a href="qmimesourcefactory.html#makeAbsolute">makeAbsolute</a>()
+<li><a href="qmimesourcefactory.html#removeFactory">removeFactory</a>()
+<li><a href="qmimesourcefactory.html#setData">setData</a>()
+<li><a href="qmimesourcefactory.html#setDefaultFactory">setDefaultFactory</a>()
+<li><a href="qmimesourcefactory.html#setExtensionType">setExtensionType</a>()
+<li><a href="qmimesourcefactory.html#setFilePath">setFilePath</a>()
+<li><a href="qmimesourcefactory.html#setImage">setImage</a>()
+<li><a href="qmimesourcefactory.html#setPixmap">setPixmap</a>()
+<li><a href="qmimesourcefactory.html#setText">setText</a>()
+<li><a href="qmimesourcefactory.html#takeDefaultFactory">takeDefaultFactory</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmimesourcefactory.html b/doc/html/qmimesourcefactory.html
new file mode 100644
index 0000000..d925c65
--- /dev/null
+++ b/doc/html/qmimesourcefactory.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmime.cpp:179 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMimeSourceFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMimeSourceFactory Class Reference</h1>
+
+<p>The QMimeSourceFactory class is an extensible provider of mime-typed data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;</tt>
+<p><a href="qmimesourcefactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMimeSourceFactory"><b>QMimeSourceFactory</b></a> ()</li>
+<li class=fn>virtual <a href="#~QMimeSourceFactory"><b>~QMimeSourceFactory</b></a> ()</li>
+<li class=fn>virtual const QMimeSource * <a href="#data"><b>data</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name ) const</li>
+<li class=fn>virtual QString <a href="#makeAbsolute"><b>makeAbsolute</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_or_rel_name, const&nbsp;QString&nbsp;&amp;&nbsp;context ) const</li>
+<li class=fn>const QMimeSource * <a href="#data-2"><b>data</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_or_rel_name, const&nbsp;QString&nbsp;&amp;&nbsp;context ) const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#setImage"><b>setImage</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name, const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name, QMimeSource&nbsp;*&nbsp;data )</li>
+<li class=fn>virtual void <a href="#setFilePath"><b>setFilePath</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>virtual QStringList <a href="#filePath"><b>filePath</b></a> () const</li>
+<li class=fn>void <a href="#addFilePath"><b>addFilePath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>virtual void <a href="#setExtensionType"><b>setExtensionType</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;ext, const&nbsp;char&nbsp;*&nbsp;mimetype )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QMimeSourceFactory * <a href="#defaultFactory"><b>defaultFactory</b></a> ()</li>
+<li class=fn>void <a href="#setDefaultFactory"><b>setDefaultFactory</b></a> ( QMimeSourceFactory&nbsp;*&nbsp;factory )</li>
+<li class=fn>QMimeSourceFactory * <a href="#takeDefaultFactory"><b>takeDefaultFactory</b></a> ()</li>
+<li class=fn>void <a href="#addFactory"><b>addFactory</b></a> ( QMimeSourceFactory&nbsp;*&nbsp;f )</li>
+<li class=fn>void <a href="#removeFactory"><b>removeFactory</b></a> ( QMimeSourceFactory&nbsp;*&nbsp;f )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMimeSourceFactory class is an extensible provider of mime-typed data.
+<p>
+
+<p> A QMimeSourceFactory provides an abstract interface to a
+collection of information. Each piece of information is
+represented by a <a href="qmimesource.html">QMimeSource</a> object which can be examined and
+converted to concrete data types by functions such as
+<a href="qimagedrag.html#canDecode">QImageDrag::canDecode</a>() and <a href="qimagedrag.html#decode">QImageDrag::decode</a>().
+<p> The base QMimeSourceFactory can be used in two ways: as an
+abstraction of a collection of files or as specifically stored
+data. For it to access files, call <a href="#setFilePath">setFilePath</a>() before accessing
+data. For stored data, call <a href="#setData">setData</a>() for each item (there are
+also convenience functions, e.g. <a href="#setText">setText</a>(), <a href="#setImage">setImage</a>() and
+<a href="#setPixmap">setPixmap</a>(), that simply call setData() with appropriate
+parameters).
+<p> The rich text widgets, <a href="qtextedit.html">QTextEdit</a> and <a href="qtextbrowser.html">QTextBrowser</a>, use
+QMimeSourceFactory to resolve references such as images or links
+within rich text documents. They either access the default factory
+(see <a href="#defaultFactory">defaultFactory</a>()) or their own (see
+<a href="qtextedit.html#setMimeSourceFactory">QTextEdit::setMimeSourceFactory</a>()). Other classes that are
+capable of displaying rich text (such as <a href="qlabel.html">QLabel</a>, <a href="qwhatsthis.html">QWhatsThis</a> or
+<a href="qmessagebox.html">QMessageBox</a>) always use the default factory.
+<p> A factory can also be used as a container to store data associated
+with a name. This technique is useful whenever rich text contains
+images that are stored in the program itself, not loaded from the
+hard disk. Your program may, for example, define some image data
+as:
+<pre>
+ static const char* myimage_data[]={
+ "...",
+ ...
+ "..."};
+ </pre>
+
+<p> To be able to use this image within some rich text, for example
+inside a QLabel, you must create a <a href="qimage.html">QImage</a> from the raw data and
+insert it into the factory with a unique name:
+<pre>
+ QMimeSourceFactory::<a href="#defaultFactory">defaultFactory</a>()-&gt;setImage( "myimage", QImage(myimage_data) );
+ </pre>
+
+<p> Now you can create a rich text QLabel with
+<p> <pre>
+ <a href="qlabel.html">QLabel</a>* label = new <a href="qlabel.html">QLabel</a>(
+ "Rich text with embedded image:&lt;img source=\"myimage\"&gt;"
+ "Isn't that &lt;em&gt;cute&lt;/em&gt;?" );
+ </pre>
+
+<p> When no longer needed, you can clear the data from the factory:
+<p> <pre>
+ delete label;
+ QMimeSourceFactory::<a href="#defaultFactory">defaultFactory</a>()-&gt;setData( "myimage", 0 );
+ </pre>
+
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMimeSourceFactory"></a>QMimeSourceFactory::QMimeSourceFactory ()
+</h3>
+Constructs a QMimeSourceFactory that has no file path and no
+stored content.
+
+<h3 class=fn><a name="~QMimeSourceFactory"></a>QMimeSourceFactory::~QMimeSourceFactory ()<tt> [virtual]</tt>
+</h3>
+Destroys the QMimeSourceFactory, deleting all stored content.
+
+<h3 class=fn>void <a name="addFactory"></a>QMimeSourceFactory::addFactory ( <a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
+</h3>
+Adds the QMimeSourceFactory <em>f</em> to the list of available
+mimesource factories. If the <a href="#defaultFactory">defaultFactory</a>() can't resolve a
+<a href="#data">data</a>() it iterates over the list of installed mimesource factories
+until the data can be resolved.
+<p> <p>See also <a href="#removeFactory">removeFactory</a>().
+
+<h3 class=fn>void <a name="addFilePath"></a>QMimeSourceFactory::addFilePath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Adds another search path, <em>p</em> to the existing search paths.
+<p> <p>See also <a href="#setFilePath">setFilePath</a>().
+
+<h3 class=fn>const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;* <a name="data"></a>QMimeSourceFactory::data ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name ) const<tt> [virtual]</tt>
+</h3>
+Returns a reference to the data associated with <em>abs_name</em>. The
+return value remains valid only until the next <a href="#data">data</a>() or <a href="#setData">setData</a>()
+call, so you should immediately decode the result.
+<p> If there is no data associated with <em>abs_name</em> in the factory's
+store, the factory tries to access the local filesystem. If <em>abs_name</em> isn't an absolute file name, the factory will search for
+it in all defined paths (see <a href="#setFilePath">setFilePath</a>()).
+<p> The factory understands all the image formats supported by
+<a href="qimageio.html">QImageIO</a>. Any other mime types are determined by the file name
+extension. The default settings are
+<pre>
+ <a href="#setExtensionType">setExtensionType</a>("html", "text/html;charset=iso8859-1");
+ <a href="#setExtensionType">setExtensionType</a>("htm", "text/html;charset=iso8859-1");
+ <a href="#setExtensionType">setExtensionType</a>("txt", "text/plain");
+ <a href="#setExtensionType">setExtensionType</a>("xml", "text/xml;charset=UTF-8");
+ </pre>
+
+The effect of these is that file names ending in "txt" will be
+treated as text encoded in the local encoding; those ending in
+"xml" will be treated as text encoded in Unicode UTF-8 encoding.
+The text/html type is treated specially, since the encoding can be
+specified in the html file itself. "html" or "htm" will be treated
+as text encoded in the encoding specified by the html meta tag, if
+none could be found, the charset of the mime type will be used.
+The text subtype ("html", "plain", or "xml") does not affect the
+factory, but users of the factory may behave differently. We
+recommend creating "xml" files where practical. These files can be
+viewed regardless of the runtime encoding and can encode any
+Unicode characters without resorting to encoding definitions
+inside the file.
+<p> Any file data that is not recognized will be retrieved as a
+<a href="qmimesource.html">QMimeSource</a> providing the "application/octet-stream" mime type,
+meaning uninterpreted binary data.
+<p> You can add further extensions or change existing ones with
+subsequent calls to <a href="#setExtensionType">setExtensionType</a>(). If the extension mechanism
+is not sufficient for your problem domain, you can inherit
+QMimeSourceFactory and reimplement this function to perform some
+more specialized mime-type detection. The same applies if you want
+to use the mime source factory to access URL referenced data over
+a network.
+
+<h3 class=fn>const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;* <a name="data-2"></a>QMimeSourceFactory::data ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_or_rel_name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> A convenience function. See <a href="#data">data</a>(const <a href="qstring.html">QString</a>& abs_name). The
+file name is given in <em>abs_or_rel_name</em> and the path is in <em>context</em>.
+
+<h3 class=fn><a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;* <a name="defaultFactory"></a>QMimeSourceFactory::defaultFactory ()<tt> [static]</tt>
+</h3>
+Returns the application-wide default mime source factory. This
+factory is used by rich text rendering classes such as
+<a href="qsimplerichtext.html">QSimpleRichText</a>, <a href="qwhatsthis.html">QWhatsThis</a> and <a href="qmessagebox.html">QMessageBox</a> to resolve named
+references within rich text documents. It serves also as the
+initial factory for the more complex render widgets, <a href="qtextedit.html">QTextEdit</a> and
+<a href="qtextbrowser.html">QTextBrowser</a>.
+<p> <p>See also <a href="#setDefaultFactory">setDefaultFactory</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1140">action/application.cpp</a> and <a href="simple-application-example.html#x1558">application/application.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="filePath"></a>QMimeSourceFactory::filePath () const<tt> [virtual]</tt>
+</h3>
+Returns the currently set search paths.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="makeAbsolute"></a>QMimeSourceFactory::makeAbsolute ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_or_rel_name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context ) const<tt> [virtual]</tt>
+</h3>
+Converts the absolute or relative data item name <em>abs_or_rel_name</em> to an absolute name, interpreted within the
+context (path) of the data item named <em>context</em> (this must be an
+absolute name).
+
+<h3 class=fn>void <a name="removeFactory"></a>QMimeSourceFactory::removeFactory ( <a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
+</h3>
+Removes the mimesource factory <em>f</em> from the list of available
+mimesource factories.
+<p> <p>See also <a href="#addFactory">addFactory</a>().
+
+<h3 class=fn>void <a name="setData"></a>QMimeSourceFactory::setData ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name, <a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;data )<tt> [virtual]</tt>
+</h3>
+Sets <em>data</em> to be the data item associated with
+the absolute name <em>abs_name</em>. Note that the ownership of <em>data</em> is
+transferred to the factory: do not delete or access the pointer after
+passing it to this function.
+<p> Passing 0 for data removes previously stored data.
+
+<h3 class=fn>void <a name="setDefaultFactory"></a>QMimeSourceFactory::setDefaultFactory ( <a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;*&nbsp;factory )<tt> [static]</tt>
+</h3>
+Sets the default <em>factory</em>, destroying any previously set mime
+source provider. The ownership of the factory is transferred to
+Qt.
+<p> <p>See also <a href="#defaultFactory">defaultFactory</a>().
+
+<h3 class=fn>void <a name="setExtensionType"></a>QMimeSourceFactory::setExtensionType ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;ext, const&nbsp;char&nbsp;*&nbsp;mimetype )<tt> [virtual]</tt>
+</h3>
+Sets the mime-type to be associated with the file name extension,
+<em>ext</em> to <em>mimetype</em>. This determines the mime-type for files
+found via the paths set by <a href="#setFilePath">setFilePath</a>().
+
+<h3 class=fn>void <a name="setFilePath"></a>QMimeSourceFactory::setFilePath ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;path )<tt> [virtual]</tt>
+</h3>
+Sets the list of directories that will be searched when named data
+is requested to the those given in the string list <em>path</em>.
+<p> <p>See also <a href="#filePath">filePath</a>().
+
+<h3 class=fn>void <a name="setImage"></a>QMimeSourceFactory::setImage ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )<tt> [virtual]</tt>
+</h3>
+Sets <em>image</em> to be the data item associated with the absolute
+name <em>abs_name</em>.
+<p> Equivalent to <a href="#setData">setData</a>(abs_name, new <a href="qimagedrag.html">QImageDrag</a>(image)).
+
+<h3 class=fn>void <a name="setPixmap"></a>QMimeSourceFactory::setPixmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )<tt> [virtual]</tt>
+</h3>
+Sets <em>pixmap</em> to be the data item associated with the absolute
+name <em>abs_name</em>.
+
+<h3 class=fn>void <a name="setText"></a>QMimeSourceFactory::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3>
+Sets <em>text</em> to be the data item associated with the absolute name
+<em>abs_name</em>.
+<p> Equivalent to <a href="#setData">setData</a>(abs_name, new <a href="qtextdrag.html">QTextDrag</a>(text)).
+
+<h3 class=fn><a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;* <a name="takeDefaultFactory"></a>QMimeSourceFactory::takeDefaultFactory ()<tt> [static]</tt>
+</h3>
+Sets the <a href="#defaultFactory">defaultFactory</a>() to 0 and returns the previous one.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmlined-m.png b/doc/html/qmlined-m.png
new file mode 100644
index 0000000..3cd609d
--- /dev/null
+++ b/doc/html/qmlined-m.png
Binary files differ
diff --git a/doc/html/qmlined-w.png b/doc/html/qmlined-w.png
new file mode 100644
index 0000000..13955db
--- /dev/null
+++ b/doc/html/qmlined-w.png
Binary files differ
diff --git a/doc/html/qmotif-h.html b/doc/html/qmotif-h.html
new file mode 100644
index 0000000..9cd4051
--- /dev/null
+++ b/doc/html/qmotif-h.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotif.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmotif.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmotif.h</h1>
+
+<p>This is the verbatim text of the qmotif.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmotif.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt extension classes for Xt/Motif support.
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt extension for Xt/Motif support.
+**
+** Licensees holding valid Qt Enterprise Edition licenses for X11 may use
+** this file in accordance with the Qt Commercial License Agreement provided
+** with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QMOTIF_H
+#define QMOTIF_H
+
+#include &lt;qeventloop.h&gt;
+
+#include &lt;X11/Intrinsic.h&gt;
+
+class QMotifPrivate;
+
+class QMotif : public QEventLoop
+{
+ Q_OBJECT
+
+public:
+ QMotif( const char *applicationClass, XtAppContext context = NULL, XrmOptionDescRec *options = 0, int numOptions = 0);
+ ~QMotif();
+
+ XtAppContext applicationContext() const;
+
+ void registerSocketNotifier( QSocketNotifier * );
+ void unregisterSocketNotifier( QSocketNotifier * );
+ void wakeUp();
+
+ static void registerWidget( QWidget* );
+ static void unregisterWidget( QWidget* );
+ static bool redeliverEvent( XEvent *event );
+
+ static Display *x11Display();
+ static XEvent* lastEvent();
+
+protected:
+ bool processEvents( ProcessEventsFlags flags );
+
+private:
+ void appStartingUp();
+ void appClosingDown();
+ QMotifPrivate *d;
+};
+
+#endif // QMOTIF_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotif-members.html b/doc/html/qmotif-members.html
new file mode 100644
index 0000000..fb57941
--- /dev/null
+++ b/doc/html/qmotif-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotif.h:37 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotif Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMotif</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmotif.html">QMotif</a>, including inherited members.
+
+<ul>
+<li><a href="qmotif.html#QMotif">QMotif</a>()
+<li><a href="qmotif.html#~QMotif">~QMotif</a>()
+<li><a href="qeventloop.html#aboutToBlock">aboutToBlock</a>()
+<li><a href="qeventloop.html#activateSocketNotifiers">activateSocketNotifiers</a>()
+<li><a href="qeventloop.html#activateTimers">activateTimers</a>()
+<li><a href="qmotif.html#applicationContext">applicationContext</a>()
+<li><a href="qeventloop.html#awake">awake</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qeventloop.html#enterLoop">enterLoop</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qeventloop.html#exec">exec</a>()
+<li><a href="qeventloop.html#exit">exit</a>()
+<li><a href="qeventloop.html#exitLoop">exitLoop</a>()
+<li><a href="qeventloop.html#hasPendingEvents">hasPendingEvents</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qeventloop.html#loopLevel">loopLevel</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qeventloop.html#processEvents">processEvents</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qeventloop.html#registerSocketNotifier">registerSocketNotifier</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qeventloop.html#setSocketNotifierPending">setSocketNotifierPending</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qeventloop.html#timeToWait">timeToWait</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qeventloop.html#unregisterSocketNotifier">unregisterSocketNotifier</a>()
+<li><a href="qeventloop.html#wakeUp">wakeUp</a>()
+<li><a href="qmotif.html#x11Display">x11Display</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotif.html b/doc/html/qmotif.html
new file mode 100644
index 0000000..50e3e65
--- /dev/null
+++ b/doc/html/qmotif.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/src/qmotif.cpp:351 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotif Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotif Class Reference</h1>
+
+<p>The QMotif class provides the basis of the Motif Extension.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Motif Extension</b>.
+<p><tt>#include &lt;<a href="qmotif-h.html">qmotif.h</a>&gt;</tt>
+<p>Inherits <a href="qeventloop.html">QEventLoop</a>.
+<p><a href="qmotif-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMotif"><b>QMotif</b></a> ( const&nbsp;char&nbsp;*&nbsp;applicationClass, XtAppContext&nbsp;context = NULL, XrmOptionDescRec&nbsp;*&nbsp;options = 0, int&nbsp;numOptions = 0 )</li>
+<li class=fn><a href="#~QMotif"><b>~QMotif</b></a> ()</li>
+<li class=fn>XtAppContext <a href="#applicationContext"><b>applicationContext</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>Display * <a href="#x11Display"><b>x11Display</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="motif-extension.html#Motif">Motif</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QMotif class provides the basis of the Motif Extension.
+
+<p>
+<p> QMotif only provides a few public functions, but it is at the
+heart of the integration. QMotif is responsible for initializing
+the Xt toolkit and the Xt application context. It does not open a
+connection to the X server, that is done by <a href="qapplication.html">QApplication</a>.
+<p> The only member function in QMotif that depends on an X server
+connection is QMotif::initialize(). QMotif must be created before
+QApplication.
+<p> Example usage of QMotif and QApplication:
+<pre>
+ static char *resources[] = {
+ ...
+ };
+
+ int main(int argc, char **argv)
+ {
+ QMotif integrator( "AppClass" );
+ XtAppSetFallbackResources( integrator.<a href="#applicationContext">applicationContext</a>(),
+ resources );
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ ...
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+ </pre>
+
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMotif"></a>QMotif::QMotif ( const&nbsp;char&nbsp;*&nbsp;applicationClass, XtAppContext&nbsp;context = NULL, XrmOptionDescRec&nbsp;*&nbsp;options = 0, int&nbsp;numOptions = 0 )
+</h3>
+Creates QMotif, which allows Qt and Xt/Motif integration.
+<p> If <em>context</em> is 0, QMotif creates a default application context
+itself. The context is accessible through <a href="#applicationContext">applicationContext</a>().
+<p> All arguments passed to this function (<em>applicationClass</em>, <em>options</em> and <em>numOptions</em>) are used to call XtDisplayInitialize()
+after <a href="qapplication.html">QApplication</a> has been constructed.
+
+<h3 class=fn><a name="~QMotif"></a>QMotif::~QMotif ()
+</h3>
+Destroys QMotif.
+
+<h3 class=fn>XtAppContext <a name="applicationContext"></a>QMotif::applicationContext () const
+</h3>
+Returns the application context.
+
+<h3 class=fn>Display * <a name="x11Display"></a>QMotif::x11Display ()<tt> [static]</tt>
+</h3>
+Returns the X11 display connection used by the Qt <a href="motif-extension.html#Motif">Motif</a> Extension.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifdialog-h.html b/doc/html/qmotifdialog-h.html
new file mode 100644
index 0000000..a752188
--- /dev/null
+++ b/doc/html/qmotifdialog-h.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmotifdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmotifdialog.h</h1>
+
+<p>This is the verbatim text of the qmotifdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmotifdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt extension classes for Xt/Motif support.
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt extension for Xt/Motif support.
+**
+** Licensees holding valid Qt Enterprise Edition licenses for X11 may use
+** this file in accordance with the Qt Commercial License Agreement provided
+** with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QMOTIFDIALOG_H
+#define QMOTIFDIALOG_H
+
+#include &lt;qdialog.h&gt;
+
+#include &lt;X11/Intrinsic.h&gt;
+#include &lt;Xm/Xm.h&gt;
+
+class QMotifWidget;
+class QMotifDialogPrivate;
+
+class QMotifDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ // obsolete
+ enum DialogType {
+ Prompt,
+ Selection,
+ Command,
+ FileSelection,
+ Template,
+ Error,
+ Information,
+ Message,
+ Question,
+ Warning,
+ Working
+ };
+ // obsolete
+ QMotifDialog( DialogType dialogtype,
+ Widget parent, ArgList args = NULL, Cardinal argcount = 0,
+ const char *name = 0, bool modal = FALSE, WFlags flags = 0 );
+ // obsolete
+ QMotifDialog( Widget parent, ArgList args = NULL, Cardinal argcount = 0,
+ const char *name = 0, bool modal = FALSE, WFlags flags = 0 );
+
+ QMotifDialog( Widget parent, const char *name = 0,
+ bool modal = FALSE, WFlags flags = 0 );
+ QMotifDialog( QWidget *parent, const char *name = 0,
+ bool modal = FALSE, WFlags flags = 0 );
+
+ virtual ~QMotifDialog();
+
+ Widget shell() const;
+ Widget dialog() const;
+
+ void show();
+ void hide();
+
+ static void acceptCallback( Widget, XtPointer, XtPointer );
+ static void rejectCallback( Widget, XtPointer, XtPointer );
+
+public slots:
+ void accept();
+ void reject();
+
+protected:
+ bool event( QEvent * );
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QObject::insertChild;
+#endif
+
+private:
+ QMotifDialogPrivate *d;
+
+ void init( Widget parent = NULL, ArgList args = NULL, Cardinal argcount = 0);
+
+ void realize( Widget w );
+ void insertChild( Widget w );
+ void deleteChild( Widget w );
+
+ friend void qmotif_dialog_realize( Widget, XtValueMask *, XSetWindowAttributes *);
+ friend void qmotif_dialog_insert_child( Widget );
+ friend void qmotif_dialog_delete_child( Widget );
+ friend void qmotif_dialog_change_managed( Widget );
+};
+
+#endif // QMOTIFDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifdialog-members.html b/doc/html/qmotifdialog-members.html
new file mode 100644
index 0000000..bc914d0
--- /dev/null
+++ b/doc/html/qmotifdialog-members.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifdialog.h:39 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMotifDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmotifdialog.html">QMotifDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qmotifdialog.html#QMotifDialog">QMotifDialog</a>()
+<li><a href="qmotifdialog.html#~QMotifDialog">~QMotifDialog</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qmotifdialog.html#acceptCallback">acceptCallback</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qmotifdialog.html#dialog">dialog</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qmotifdialog.html#rejectCallback">rejectCallback</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qmotifdialog.html#shell">shell</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifdialog.html b/doc/html/qmotifdialog.html
new file mode 100644
index 0000000..95cf6bf
--- /dev/null
+++ b/doc/html/qmotifdialog.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/src/qmotifdialog.cpp:167 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotifDialog Class Reference</h1>
+
+<p>The QMotifDialog class provides the QDialog API for Motif-based dialogs.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Motif Extension</b>.
+<p><tt>#include &lt;<a href="qmotifdialog-h.html">qmotifdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qmotifdialog-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum DialogType { Prompt, Selection, Command, FileSelection, Template, Error, Information, Message, Question, Warning, Working } &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QMotifDialog ( DialogType&nbsp;dialogtype, Widget&nbsp;parent, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QMotifDialog ( Widget&nbsp;parent, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QMotifDialog-3"><b>QMotifDialog</b></a> ( Widget&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )</li>
+<li class=fn><a href="#QMotifDialog-4"><b>QMotifDialog</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )</li>
+<li class=fn>virtual <a href="#~QMotifDialog"><b>~QMotifDialog</b></a> ()</li>
+<li class=fn>Widget <a href="#shell"><b>shell</b></a> () const</li>
+<li class=fn>Widget <a href="#dialog"><b>dialog</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#acceptCallback"><b>acceptCallback</b></a> ( Widget, XtPointer&nbsp;client_data, XtPointer )</li>
+<li class=fn>void <a href="#rejectCallback"><b>rejectCallback</b></a> ( Widget, XtPointer&nbsp;client_data, XtPointer )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="motif-extension.html#Motif">Motif</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QMotifDialog class provides the <a href="qdialog.html">QDialog</a> API for Motif-based dialogs.
+
+<p>
+<p> QMotifDialog provides two separate modes of operation. The
+application programmer can use QMotifDialog with an existing
+Motif-based dialog and a <a href="qwidget.html">QWidget</a> parent, or the application
+programmer can use QMotifDialog with a custom Qt-based dialog and
+a Motif-based parent. Modality continues to work as expected.
+<p> Motif-based dialogs must have a <tt>Shell</tt> widget parent with a
+single child, due to requirements of the Motif toolkit. The <tt>Shell</tt> widget, which is a special subclass of <tt>XmDialogShell</tt>, is
+created during construction. It can be accessed using the <a href="#shell">shell</a>()
+member function.
+<p> The single child of the <tt>Shell</tt> can be accessed using the
+<a href="#dialog">dialog</a>() member function <em>after</em> it has been created.
+<p> The <a href="#acceptCallback">acceptCallback</a>() and <a href="#rejectCallback">rejectCallback</a>() functions provide a
+convenient way to call <a href="qdialog.html#accept">QDialog::accept</a>() and <a href="qdialog.html#reject">QDialog::reject</a>()
+through callbacks. A pointer to the QMotifDialog should be passed
+as the <tt>client_data</tt> argument to the callback.
+<p> The API and behavior QMotifDialog is identical to that of <a href="qdialog.html">QDialog</a>
+when using a custom Qt-based dialog with a Motif-based parent.
+The only difference is that a Motif-based <em>parent</em> argument is
+passed to the constructor, instead of a <a href="qwidget.html">QWidget</a> parent.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DialogType-enum"></a>QMotifDialog::DialogType</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> This enum lists the predefined <a href="motif-extension.html#Motif">Motif</a> dialog types.
+<ul>
+<li><tt>QMotifDialog::Prompt</tt>
+<li><tt>QMotifDialog::Selection</tt>
+<li><tt>QMotifDialog::Command</tt>
+<li><tt>QMotifDialog::FileSelection</tt>
+<li><tt>QMotifDialog::Template</tt>
+<li><tt>QMotifDialog::Error</tt>
+<li><tt>QMotifDialog::Information</tt>
+<li><tt>QMotifDialog::Message</tt>
+<li><tt>QMotifDialog::Question</tt>
+<li><tt>QMotifDialog::Warning</tt>
+<li><tt>QMotifDialog::Working</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMotifDialog"></a>QMotifDialog::QMotifDialog ( <a href="qmotifdialog.html#DialogType-enum">DialogType</a>&nbsp;dialogtype, Widget&nbsp;parent, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Creates a QMotifDialog using one of the predefined <a href="motif-extension.html#Motif">Motif</a> dialog
+types. The <em>name</em>, <em>modal</em> and <em>flags</em> arguments are passed to
+the <a href="qdialog.html">QDialog</a> constructor.
+<p> This constructor creates a Shell widget, which is a special
+subclass of XmDialogShell. The <em>parent</em>, <em>args</em> and <em>argcount</em>
+arguments are passed to XtCreatePopupShell() when creating the
+subclass. You can access the Shell widget with the <a href="#shell">shell</a>() member
+function.
+<p> This constructor also creates the dialog widget with the Shell
+widget as its parent. The type of the dialog created is specified
+by the <em>dialogtype</em> argument. See the DialogType enum for a list
+of available dialog types. You can access the dialog widget with
+the <a href="#dialog">dialog</a>() member function.
+<p> <b>Warning:</b> QMotifDialog takes ownership of the child widget and
+destroys it during destruction. You should not destroy the dialog
+widget yourself.
+<p> <p>See also <a href="#DialogType-enum">DialogType</a>, <a href="#shell">shell</a>(), and <a href="#dialog">dialog</a>().
+
+<h3 class=fn><a name="QMotifDialog-2"></a>QMotifDialog::QMotifDialog ( Widget&nbsp;parent, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Creates a QMotifDialog which allows the application programmer to
+use the <a href="motif-extension.html#Motif">Motif</a>-based <em>parent</em> for a custom <a href="qdialog.html">QDialog</a>. The <em>name</em>,
+<em>modal</em> and <em>flags</em> arguments are passed to the QDialog
+constructor.
+<p> This constructor creates a Shell widget, which is a special
+subclass of XmDialogShell. The <em>args</em> and <em>argcount</em> arguments
+are passed to XtCreatePopupShell() when creating the subclass.
+You can access the Shell widget with the <a href="#shell">shell</a>() member function.
+<p> The dialog widget is not created by the constructor. You must
+create the dialog widget as a child of the the widget returned by
+shell(). You can access the child widget with the <a href="#dialog">dialog</a>() member
+function.
+<p> A dialog widget is not created by this constructor. Instead, you
+should create the dialog widget as a child of this
+dialog. QMotifDialog will take ownership of your custom dialog,
+and you can access it with the dialog() member function.
+<p> <b>Warning:</b> QMotifDialog takes ownership of the child widget and
+destroys it during destruction. You should not destroy the dialog
+widget yourself.
+<p> <p>See also <a href="#shell">shell</a>() and <a href="#dialog">dialog</a>().
+
+<h3 class=fn><a name="QMotifDialog-3"></a>QMotifDialog::QMotifDialog ( Widget&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )
+</h3>
+Creates a QMotifDialog which allows the application programmer to
+use the <a href="motif-extension.html#Motif">Motif</a>-based <em>parent</em> for a custom <a href="qdialog.html">QDialog</a>. The <em>name</em>,
+<em>modal</em> and <em>flags</em> arguments are passed to the QDialog
+constructor.
+<p> This constructor creates a <tt>Shell</tt> widget, which is a special
+subclass of <tt>XmDialogShell</tt>. You can access the <tt>Shell</tt> widget
+with the <a href="#shell">shell</a>() member function.
+<p> <p>See also <a href="#shell">shell</a>().
+
+<h3 class=fn><a name="QMotifDialog-4"></a>QMotifDialog::QMotifDialog ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;flags = 0 )
+</h3>
+Creates a QMotifDialog which allows the application programmer to
+use a <a href="qwidget.html">QWidget</a> parent for an existing <a href="motif-extension.html#Motif">Motif</a>-based dialog. The <em>parent</em>, <em>name</em>, <em>modal</em> and <em>flags</em> arguments are passed to the
+<a href="qdialog.html">QDialog</a> constructor.
+<p> This constructor creates a <tt>Shell</tt> widget, which is a special
+subclass of <tt>XmDialogShell</tt>. You can access the <tt>Shell</tt> widget
+with the <a href="#shell">shell</a>() member functon.
+<p> A dialog widget is not created by this constructor. Instead, you
+should create the dialog widget as a child of this
+dialog. QMotifDialog will take ownership of your custom dialog,
+and you can access it with the <a href="#dialog">dialog</a>() member function.
+<p> <b>Warning:</b> QMotifDialog takes ownership of the child widget and
+destroys it during destruction. You should not destroy the dialog
+widget yourself.
+<p> <p>See also <a href="#shell">shell</a>() and <a href="#dialog">dialog</a>().
+
+<h3 class=fn><a name="~QMotifDialog"></a>QMotifDialog::~QMotifDialog ()<tt> [virtual]</tt>
+</h3>
+Destroys the <a href="qdialog.html">QDialog</a>, dialog widget and <tt>Shell</tt> widget.
+
+<h3 class=fn>void <a name="acceptCallback"></a>QMotifDialog::acceptCallback ( Widget, XtPointer&nbsp;client_data, XtPointer )<tt> [static]</tt>
+</h3>
+Convenient Xt/Motif callback to accept the QMotifDialog.
+<p> The data is passed in <em>client_data</em>.
+
+<h3 class=fn>Widget <a name="dialog"></a>QMotifDialog::dialog () const
+</h3>
+Returns the <a href="motif-extension.html#Motif">Motif</a> widget embedded in this dialog.
+
+<h3 class=fn>void <a name="rejectCallback"></a>QMotifDialog::rejectCallback ( Widget, XtPointer&nbsp;client_data, XtPointer )<tt> [static]</tt>
+</h3>
+Convenient Xt/Motif callback to reject the QMotifDialog.
+<p> The data is passed in <em>client_data</em>.
+
+<h3 class=fn>Widget <a name="shell"></a>QMotifDialog::shell () const
+</h3>
+Returns the <tt>Shell</tt> widget embedded in this dialog.
+
+<p>Example: <a href="motif-dialog-example.html#x2707">dialog/mainwindow.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifplusstyle-h.html b/doc/html/qmotifplusstyle-h.html
new file mode 100644
index 0000000..6caf385
--- /dev/null
+++ b/doc/html/qmotifplusstyle-h.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifplusstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmotifplusstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmotifplusstyle.h</h1>
+
+<p>This is the verbatim text of the qmotifplusstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmotifplusstyle.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QMotifPlusStyle class
+**
+** Created : 000727
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOTIFPLUSSTYLE_H
+#define QMOTIFPLUSSTYLE_H
+
+
+#ifndef QT_H
+#include "qmotifstyle.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_MOTIFPLUS) || defined(QT_PLUGIN)
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_MOTIFPLUS
+#else
+#define Q_EXPORT_STYLE_MOTIFPLUS Q_EXPORT
+#endif
+
+class Q_EXPORT_STYLE_MOTIFPLUS QMotifPlusStyle : public QMotifStyle
+{
+ Q_OBJECT
+
+public:
+ QMotifPlusStyle(bool hoveringHighlight = TRUE);
+ virtual ~QMotifPlusStyle();
+
+ void polish(QPalette &amp;pal);
+ void polish(QWidget *widget);
+ void unPolish(QWidget*widget);
+
+ void polish(QApplication *app);
+ void unPolish(QApplication *app);
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect subRect(SubRect r, const QWidget *widget) const;
+
+ void drawComplexControl(ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags controls = SC_All,
+#else
+ SCFlags controls = (uint)SC_All,
+#endif
+ SCFlags active = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect querySubControlMetrics(ComplexControl control,
+ const QWidget *widget,
+ SubControl subcontrol,
+ const QStyleOption&amp; = QStyleOption::Default) const;
+
+ int pixelMetric(PixelMetric metric, const QWidget *widget = 0) const;
+
+ int styleHint(StyleHint sh, const QWidget *, const QStyleOption &amp; = QStyleOption::Default,
+ QStyleHintReturn* = 0) const;
+
+protected:
+ bool eventFilter(QObject *, QEvent *);
+
+
+private:
+ bool useHoveringHighlight;
+};
+
+
+#endif // QT_NO_STYLE_MOTIFPLUS
+
+#endif // QMOTIFPLUSSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifplusstyle-members.html b/doc/html/qmotifplusstyle-members.html
new file mode 100644
index 0000000..5d707c6
--- /dev/null
+++ b/doc/html/qmotifplusstyle-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifplusstyle.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifPlusStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMotifPlusStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmotifplusstyle.html">QMotifPlusStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qmotifplusstyle.html#QMotifPlusStyle">QMotifPlusStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmotifstyle.html#setUseHighlightColors">setUseHighlightColors</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qmotifstyle.html#useHighlightColors">useHighlightColors</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifplusstyle.html b/doc/html/qmotifplusstyle.html
new file mode 100644
index 0000000..6ffd701
--- /dev/null
+++ b/doc/html/qmotifplusstyle.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qmotifplusstyle.cpp:131 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifPlusStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotifPlusStyle Class Reference</h1>
+
+<p>The QMotifPlusStyle class provides a more sophisticated Motif-ish look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmotifplusstyle-h.html">qmotifplusstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qmotifstyle.html">QMotifStyle</a>.
+<p><a href="qmotifplusstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMotifPlusStyle"><b>QMotifPlusStyle</b></a> ( bool&nbsp;hoveringHighlight = TRUE )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMotifPlusStyle class provides a more sophisticated <a href="motif-extension.html#Motif">Motif</a>-ish look and feel.
+<p>
+<p> This class implements a Motif-ish look and feel with the more
+sophisticated bevelling as used by the GIMP Toolkit (GTK+) for
+Unix/X11.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMotifPlusStyle"></a>QMotifPlusStyle::QMotifPlusStyle ( bool&nbsp;hoveringHighlight = TRUE )
+</h3>
+Constructs a QMotifPlusStyle
+<p> If <em>hoveringHighlight</em> is TRUE (the default), then the style will
+not highlight push buttons, checkboxes, radiobuttons, comboboxes,
+scrollbars or sliders.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifstyle-h.html b/doc/html/qmotifstyle-h.html
new file mode 100644
index 0000000..9ecb7a7
--- /dev/null
+++ b/doc/html/qmotifstyle-h.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmotifstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmotifstyle.h</h1>
+
+<p>This is the verbatim text of the qmotifstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmotifstyle.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of Motif-like style class
+**
+** Created : 981231
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOTIFSTYLE_H
+#define QMOTIFSTYLE_H
+
+#ifndef QT_H
+#include "qcommonstyle.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_MOTIF) || defined(QT_PLUGIN)
+
+class QPalette;
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_MOTIF
+#else
+#define Q_EXPORT_STYLE_MOTIF Q_EXPORT
+#endif
+
+
+class Q_EXPORT_STYLE_MOTIF QMotifStyle : public QCommonStyle
+{
+ Q_OBJECT
+public:
+ QMotifStyle( bool useHighlightCols=FALSE );
+ virtual ~QMotifStyle();
+
+ void setUseHighlightColors( bool );
+ bool useHighlightColors() const;
+
+ void polish( QPalette&amp; );
+ void polish( QWidget* );
+ void polish( QApplication* );
+
+ void polishPopupMenu( QPopupMenu* );
+
+ // new style API
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget* widget,
+ const QRect&amp; r,
+ const QColorGroup&amp; cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
+
+ QSize sizeFromContents( ContentsType contents,
+ const QWidget *widget,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect subRect( SubRect r, const QWidget *widget ) const;
+
+ QPixmap stylePixmap(StylePixmap, const QWidget * = 0, const QStyleOption&amp; = QStyleOption::Default) const;
+
+ int styleHint(StyleHint sh, const QWidget *, const QStyleOption &amp; = QStyleOption::Default,
+ QStyleHintReturn* = 0) const;
+
+private:
+ bool highlightCols;
+
+ // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMotifStyle( const QMotifStyle &amp; );
+ QMotifStyle&amp; operator=( const QMotifStyle &amp; );
+#endif
+};
+
+#endif // QT_NO_STYLE_MOTIF
+
+#endif // QMOTIFSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifstyle-members.html b/doc/html/qmotifstyle-members.html
new file mode 100644
index 0000000..f194703
--- /dev/null
+++ b/doc/html/qmotifstyle-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifstyle.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMotifStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmotifstyle.html">QMotifStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qmotifstyle.html#QMotifStyle">QMotifStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmotifstyle.html#setUseHighlightColors">setUseHighlightColors</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qmotifstyle.html#useHighlightColors">useHighlightColors</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifstyle.html b/doc/html/qmotifstyle.html
new file mode 100644
index 0000000..11be1e0
--- /dev/null
+++ b/doc/html/qmotifstyle.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qmotifstyle.cpp:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotifStyle Class Reference</h1>
+
+<p>The QMotifStyle class provides Motif look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmotifstyle-h.html">qmotifstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qcommonstyle.html">QCommonStyle</a>.
+<p>Inherited by <a href="qcdestyle.html">QCDEStyle</a>, <a href="qmotifplusstyle.html">QMotifPlusStyle</a>, and <a href="qsgistyle.html">QSGIStyle</a>.
+<p><a href="qmotifstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMotifStyle"><b>QMotifStyle</b></a> ( bool&nbsp;useHighlightCols = FALSE )</li>
+<li class=fn>void <a href="#setUseHighlightColors"><b>setUseHighlightColors</b></a> ( bool&nbsp;arg )</li>
+<li class=fn>bool <a href="#useHighlightColors"><b>useHighlightColors</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMotifStyle class provides <a href="motif-extension.html#Motif">Motif</a> look and feel.
+<p>
+<p> This class implements the Motif look and feel. It closely
+resembles the original Motif look as defined by the Open Group,
+but with some minor improvements. The Motif style is Qt's default
+GUI style on UNIX platforms.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMotifStyle"></a>QMotifStyle::QMotifStyle ( bool&nbsp;useHighlightCols = FALSE )
+</h3>
+Constructs a QMotifStyle.
+<p> If <em>useHighlightCols</em> is FALSE (the default), the style will
+polish the application's color palette to emulate the <a href="motif-extension.html#Motif">Motif</a> way of
+highlighting, which is a simple inversion between the base and the
+text color.
+
+<h3 class=fn>void <a name="setUseHighlightColors"></a>QMotifStyle::setUseHighlightColors ( bool&nbsp;arg )
+</h3>
+If <em>arg</em> is FALSE, the style will polish the application's color
+palette to emulate the <a href="motif-extension.html#Motif">Motif</a> way of highlighting, which is a
+simple inversion between the base and the text color.
+<p> The effect will show up the next time an application palette is
+set via <a href="qapplication.html#setPalette">QApplication::setPalette</a>(). The current color palette of
+the application remains unchanged.
+<p> <p>See also <a href="qstyle.html#polish">QStyle::polish</a>().
+
+<h3 class=fn>bool <a name="useHighlightColors"></a>QMotifStyle::useHighlightColors () const
+</h3>
+Returns TRUE if the style treats the highlight colors of the
+palette in a <a href="motif-extension.html#Motif">Motif</a>-like manner, which is a simple inversion
+between the base and the text color; otherwise returns FALSE. The
+default is FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifwidget-h.html b/doc/html/qmotifwidget-h.html
new file mode 100644
index 0000000..778be51
--- /dev/null
+++ b/doc/html/qmotifwidget-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmotifwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmotifwidget.h</h1>
+
+<p>This is the verbatim text of the qmotifwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmotifwidget.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt extension classes for Xt/Motif support.
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt extension for Xt/Motif support.
+**
+** Licensees holding valid Qt Enterprise Edition licenses for X11 may use
+** this file in accordance with the Qt Commercial License Agreement provided
+** with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QMOTIFWIDGET_H
+#define QMOTIFWIDGET_H
+
+#include &lt;qwidget.h&gt;
+
+#include &lt;X11/Intrinsic.h&gt;
+
+class QMotifWidgetPrivate;
+class QKeyEvent;
+
+class QMotifWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ QMotifWidget( QWidget *, WidgetClass, ArgList = NULL, Cardinal = 0,
+ const char * = 0, WFlags = 0 );
+ virtual ~QMotifWidget();
+
+ Widget motifWidget() const;
+
+ void show();
+ void hide();
+
+protected:
+ bool event( QEvent * );
+ bool eventFilter( QObject *object, QEvent *event );
+ bool x11Event(XEvent *event);
+
+private:
+ QMotifWidgetPrivate *d;
+
+ void realize( Widget );
+
+ friend void qmotif_widget_shell_destroy(Widget w);
+ friend void qmotif_widget_shell_realize( Widget, XtValueMask *,
+ XSetWindowAttributes *);
+ friend void qmotif_widget_shell_change_managed( Widget );
+ static bool dispatchQEvent( QEvent*, QWidget*);
+ friend class QMotifDialog;
+};
+
+#endif // QMOTIFWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifwidget-members.html b/doc/html/qmotifwidget-members.html
new file mode 100644
index 0000000..c7bd05a
--- /dev/null
+++ b/doc/html/qmotifwidget-members.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmotifwidget.h:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMotifWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmotifwidget.html">QMotifWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qmotifwidget.html#QMotifWidget">QMotifWidget</a>()
+<li><a href="qmotifwidget.html#~QMotifWidget">~QMotifWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qmotifwidget.html#motifWidget">motifWidget</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmotifwidget.html b/doc/html/qmotifwidget.html
new file mode 100644
index 0000000..50112a3
--- /dev/null
+++ b/doc/html/qmotifwidget.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/src/qmotifwidget.cpp:272 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMotifWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMotifWidget Class Reference</h1>
+
+<p>The QMotifWidget class provides the QWidget API for Xt/Motif widgets.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Motif Extension</b>.
+<p><tt>#include &lt;<a href="qmotifwidget-h.html">qmotifwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qmotifwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMotifWidget"><b>QMotifWidget</b></a> ( QWidget&nbsp;*&nbsp;parent, WidgetClass&nbsp;widgetclass, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;flags = 0 )</li>
+<li class=fn>virtual <a href="#~QMotifWidget"><b>~QMotifWidget</b></a> ()</li>
+<li class=fn>Widget <a href="#motifWidget"><b>motifWidget</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <b>x11Event</b> ( XEvent&nbsp;*&nbsp;event )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="motif-extension.html#Motif">Motif</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QMotifWidget class provides the <a href="qwidget.html">QWidget</a> API for Xt/Motif widgets.
+
+<p>
+<p> QMotifWidget exists to provide a QWidget that can act as a parent
+for any Xt/Motif widget. Since the QMotifWidget is a proper
+QWidget, it can be used as a top-level widget (e.g. 0 parent) or
+as a child of any other QWidget. Note: Since QMotifWidget acts as
+a parent for Xt/Motif widgets, you should not create QWidgets with
+a QMotifWidget parent.
+<p> An Xt/Motif widget with a top-level QMotifWidget parent can begin
+using the standard Qt dialogs and custom QDialogs while keeping
+the main Xt/Motif interface of the application. Using a
+QMotifWidget as the parent for the various QDialogs will ensure
+that modality and stacking works properly throughout the entire
+application.
+<p> Applications moving to Qt may have custom Xt/Motif widgets that
+will take time to rewrite with Qt. Such applications can use
+these custom widgets as QMotifWidget with QWidget parents. This
+allows the application's interface to be replaced gradually.
+<p> <b>Warning:</b> QMotifWidget uses the X11 window ID of the Motif widget
+directly, instead of creating its own. Because ot this,
+<a href="qwidget.html#reparent">QWidget::reparent</a>() will not work. This includes the functions
+<a href="qwidget.html#showFullScreen">QWidget::showFullScreen</a>() and <a href="qwidget.html#showNormal">QWidget::showNormal</a>(), which use
+QWidget::reparent().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMotifWidget"></a>QMotifWidget::QMotifWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, WidgetClass&nbsp;widgetclass, ArgList&nbsp;args = NULL, Cardinal&nbsp;argcount = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;flags = 0 )
+</h3>
+Creates a QMotifWidget of the given <em>widgetclass</em> as a child of
+<em>parent</em>, with the name <em>name</em> and widget flags <em>flags</em>.
+<p> The <em>args</em> and <em>argcount</em> arguments are passed on to
+XtCreateWidget.
+<p> The <a href="#motifWidget">motifWidget</a>() function returns the resulting Xt/Motif widget.
+This widget can be used as a parent for any other Xt/Motif widget.
+<p> If <em>parent</em> is a QMotifWidget, the Xt/Motif widget is created as
+a child of the parent's motifWidget(). If &#92; parent is 0 or a
+normal <a href="qwidget.html">QWidget</a>, the Xt/Motif widget is created as a child of a
+special TopLevelShell widget. Xt/Motif widgets can use this
+special TopLevelShell parent as the parent for existing
+Xt/Motif dialogs or QMotifDialogs.
+
+<h3 class=fn><a name="~QMotifWidget"></a>QMotifWidget::~QMotifWidget ()<tt> [virtual]</tt>
+</h3>
+Destroys the QMotifWidget. The special TopLevelShell is also
+destroyed, if it was created during construction.
+
+<h3 class=fn>Widget <a name="motifWidget"></a>QMotifWidget::motifWidget () const
+</h3>
+Returns the embedded Xt/Motif widget. If a Shell widget was
+created by the constructor, you can access it with XtParent().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmouse_qws-h.html b/doc/html/qmouse_qws-h.html
new file mode 100644
index 0000000..c3847f3
--- /dev/null
+++ b/doc/html/qmouse_qws-h.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmouse_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmouse_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmouse_qws.h</h1>
+
+<p>This is the verbatim text of the qmouse_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmouse_qws.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt/Embedded mouse driver
+**
+** Created : 20020220
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOUSE_QWS_H
+#define QMOUSE_QWS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qpointarray.h"
+#endif // QT_H
+
+class QWSPointerCalibrationData
+{
+public:
+ enum Location { TopLeft = 0, BottomLeft = 1, BottomRight = 2, TopRight = 3,
+ Center = 4, LastLocation = Center };
+ QPoint devPoints[5];
+ QPoint screenPoints[5];
+};
+
+class QWSMouseHandler
+{
+public:
+ QWSMouseHandler( const QString &amp;driver = QString::null, const QString &amp;device = QString::null );
+ virtual ~QWSMouseHandler();
+
+ virtual void clearCalibration() {}
+ virtual void calibrate( QWSPointerCalibrationData * ) {}
+ virtual void getCalibration( QWSPointerCalibrationData * ) {}
+
+ void limitToScreen( QPoint &amp;pt );
+ void mouseChanged(const QPoint&amp; pos, int bstate);
+ const QPoint &amp;pos() const { return mousePos; }
+
+protected:
+ QPoint &amp;mousePos;
+};
+
+
+class QWSCalibratedMouseHandler : public QWSMouseHandler
+{
+public:
+ QWSCalibratedMouseHandler( const QString &amp;driver = QString::null, const QString &amp;device = QString::null );
+
+ virtual void clearCalibration();
+ virtual void calibrate( QWSPointerCalibrationData * );
+ virtual void getCalibration( QWSPointerCalibrationData * );
+
+ bool sendFiltered( const QPoint &amp;, int button );
+ QPoint transform( const QPoint &amp; );
+
+protected:
+ void readCalibration();
+ void writeCalibration();
+ void setFilterSize( int );
+
+private:
+ int a, b, c;
+ int d, e, f;
+ int s;
+ QPointArray samples;
+ unsigned int currSample;
+ unsigned int numSamples;
+};
+
+#endif // QMOUSE_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverfactory-members.html b/doc/html/qmousedriverfactory-members.html
new file mode 100644
index 0000000..e61cb97
--- /dev/null
+++ b/doc/html/qmousedriverfactory-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmousedriverfactory_qws.h:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseDriverFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMouseDriverFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmousedriverfactory.html">QMouseDriverFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qmousedriverfactory.html#create">create</a>()
+<li><a href="qmousedriverfactory.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverfactory.html b/doc/html/qmousedriverfactory.html
new file mode 100644
index 0000000..f3e4ec8
--- /dev/null
+++ b/doc/html/qmousedriverfactory.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qmousedriverfactory_qws.cpp:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseDriverFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMouseDriverFactory Class Reference</h1>
+
+<p>The QMouseDriverFactory class creates QWSMouseHandler
+objects for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmousedriverfactory_qws-h.html">qmousedriverfactory_qws.h</a>&gt;</tt>
+<p><a href="qmousedriverfactory-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStringList <a href="#keys"><b>keys</b></a> ()</li>
+<li class=fn>QWSMouseHandler * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;device )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMouseDriverFactory class creates <a href="qwsmousehandler.html">QWSMouseHandler</a>
+objects for Qt/Embedded.
+<p> The graphics driver factory creates a QWSMouseHandler object for a
+given key with <a href="#create">QMouseDriverFactory::create</a>(key).
+<p> The drivers are either built-in or dynamically loaded from a
+driver plugin (see <a href="qmousedriverplugin.html">QMouseDriverPlugin</a>).
+<p> This class is only available in Qt/Embedded.
+<p> <a href="#keys">QMouseDriverFactory::keys</a>() returns a list of valid keys.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qwsmousehandler.html">QWSMouseHandler</a>&nbsp;* <a name="create"></a>QMouseDriverFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;device )<tt> [static]</tt>
+</h3>
+Creates a <a href="qwsmousehandler.html">QWSMouseHandler</a> object that matches <em>key</em> and uses
+device <em>device</em>. This is either a built-in driver, or a driver
+from a driver plugin.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QMouseDriverFactory::keys ()<tt> [static]</tt>
+</h3>
+Returns the list of keys this factory can create drivers for.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverfactory_qws-h.html b/doc/html/qmousedriverfactory_qws-h.html
new file mode 100644
index 0000000..68c97ed
--- /dev/null
+++ b/doc/html/qmousedriverfactory_qws-h.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmousedriverfactory_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmousedriverfactory_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmousedriverfactory_qws.h</h1>
+
+<p>This is the verbatim text of the qmousedriverfactory_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmousedriverfactory_qws.h 3.3.8 edited Jan 11 14:46 $
+**
+** ...
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOUSEDRIVERFACTORY_QWS_H
+#define QMOUSEDRIVERFACTORY_QWS_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+class QString;
+class QWSMouseHandler;
+
+class Q_EXPORT QMouseDriverFactory
+{
+public:
+#ifndef QT_NO_STRINGLIST
+ static QStringList keys();
+#endif
+ static QWSMouseHandler *create( const QString&amp;, const QString &amp; );
+};
+
+#endif //QMOUSEDRIVERFACTORY_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverplugin-members.html b/doc/html/qmousedriverplugin-members.html
new file mode 100644
index 0000000..486245c
--- /dev/null
+++ b/doc/html/qmousedriverplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmousedriverplugin_qws.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseDriverPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMouseDriverPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmousedriverplugin.html">QMouseDriverPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qmousedriverplugin.html#QMouseDriverPlugin">QMouseDriverPlugin</a>()
+<li><a href="qmousedriverplugin.html#~QMouseDriverPlugin">~QMouseDriverPlugin</a>()
+<li><a href="qmousedriverplugin.html#create">create</a>()
+<li><a href="qmousedriverplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverplugin.html b/doc/html/qmousedriverplugin.html
new file mode 100644
index 0000000..af66772
--- /dev/null
+++ b/doc/html/qmousedriverplugin.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qmousedriverplugin_qws.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseDriverPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMouseDriverPlugin Class Reference</h1>
+
+<p>The QMouseDriverPlugin class provides an abstract base for
+Qt/Embedded mouse driver plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmousedriverplugin_qws-h.html">qmousedriverplugin_qws.h</a>&gt;</tt>
+<p><a href="qmousedriverplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMouseDriverPlugin"><b>QMouseDriverPlugin</b></a> ()</li>
+<li class=fn><a href="#~QMouseDriverPlugin"><b>~QMouseDriverPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QWSMouseHandler * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driver, const&nbsp;QString&nbsp;&amp;&nbsp;device ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMouseDriverPlugin class provides an abstract base for
+Qt/Embedded mouse driver plugins.
+<p>
+<p> The mouse driver plugin is a simple plugin interface that makes it
+easy to create custom mouse drivers.
+<p> Writing a mouse driver plugin is achieved by subclassing this base
+class, reimplementing the pure virtual functions <a href="#keys">keys</a>() and
+<a href="#create">create</a>(), and exporting the class with the <tt>Q_EXPORT_PLUGIN</tt>
+macro. See the <a href="plugins-howto.html">Plugins
+ documentation</a> for details.
+<p> This class is only available in Qt/Embedded.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMouseDriverPlugin"></a>QMouseDriverPlugin::QMouseDriverPlugin ()
+</h3>
+Constructs a mouse driver plugin. This is invoked automatically by
+the <tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QMouseDriverPlugin"></a>QMouseDriverPlugin::~QMouseDriverPlugin ()
+</h3>
+Destroys the mouse driver plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qwsmousehandler.html">QWSMouseHandler</a>&nbsp;* <a name="create"></a>QMouseDriverPlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driver, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;device )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates a driver matching the type specified by <em>driver</em> and
+which uses device <em>device</em>.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QMouseDriverPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of mouse drivers this plugin supports.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmousedriverplugin_qws-h.html b/doc/html/qmousedriverplugin_qws-h.html
new file mode 100644
index 0000000..cabea62
--- /dev/null
+++ b/doc/html/qmousedriverplugin_qws-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmousedriverplugin_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmousedriverplugin_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmousedriverplugin_qws.h</h1>
+
+<p>This is the verbatim text of the qmousedriverplugin_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmousedriverplugin_qws.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QMouseDriverPlugin
+**
+** Created : 20020220
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOUSEDRIVERPLUGIN_QWS_H
+#define QMOUSEDRIVERPLUGIN_QWS_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_COMPONENT
+
+class QWSMouseHandler;
+class QMouseDriverPluginPrivate;
+
+class Q_EXPORT QMouseDriverPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QMouseDriverPlugin();
+ ~QMouseDriverPlugin();
+
+#ifndef QT_NO_STRINGLIST
+ virtual QStringList keys() const = 0;
+#endif
+ virtual QWSMouseHandler* create( const QString&amp; driver, const QString &amp;device ) = 0;
+
+private:
+ QMouseDriverPluginPrivate *d;
+};
+
+#endif // QT_NO_COMPONENT
+
+#endif // QMOUSEDRIVERPLUGIN_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmouseevent-members.html b/doc/html/qmouseevent-members.html
new file mode 100644
index 0000000..3057ca5
--- /dev/null
+++ b/doc/html/qmouseevent-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:171 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMouseEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmouseevent.html">QMouseEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qmouseevent.html#QMouseEvent">QMouseEvent</a>()
+<li><a href="qmouseevent.html#accept">accept</a>()
+<li><a href="qmouseevent.html#button">button</a>()
+<li><a href="qmouseevent.html#globalPos">globalPos</a>()
+<li><a href="qmouseevent.html#globalX">globalX</a>()
+<li><a href="qmouseevent.html#globalY">globalY</a>()
+<li><a href="qmouseevent.html#ignore">ignore</a>()
+<li><a href="qmouseevent.html#isAccepted">isAccepted</a>()
+<li><a href="qmouseevent.html#pos">pos</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qmouseevent.html#state">state</a>()
+<li><a href="qmouseevent.html#stateAfter">stateAfter</a>()
+<li><a href="qevent.html#type">type</a>()
+<li><a href="qmouseevent.html#x">x</a>()
+<li><a href="qmouseevent.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmouseevent.html b/doc/html/qmouseevent.html
new file mode 100644
index 0000000..a48bab1
--- /dev/null
+++ b/doc/html/qmouseevent.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:244 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMouseEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMouseEvent Class Reference</h1>
+
+<p>The QMouseEvent class contains parameters that describe a mouse event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qmouseevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMouseEvent"><b>QMouseEvent</b></a> ( Type&nbsp;type, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;button, int&nbsp;state )</li>
+<li class=fn><a href="#QMouseEvent-2"><b>QMouseEvent</b></a> ( Type&nbsp;type, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos, int&nbsp;button, int&nbsp;state )</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#globalPos"><b>globalPos</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>int <a href="#globalX"><b>globalX</b></a> () const</li>
+<li class=fn>int <a href="#globalY"><b>globalY</b></a> () const</li>
+<li class=fn>ButtonState <a href="#button"><b>button</b></a> () const</li>
+<li class=fn>ButtonState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>ButtonState <a href="#stateAfter"><b>stateAfter</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QMouseEvent class contains parameters that describe a mouse event.
+<p> Mouse events occur when a mouse button is pressed or released
+inside a widget or when the mouse cursor is moved.
+<p> Mouse move events will occur only when a mouse button is pressed
+down, unless mouse tracking has been enabled with
+<a href="qwidget.html#setMouseTracking">QWidget::setMouseTracking</a>().
+<p> Qt automatically grabs the mouse when a mouse button is pressed
+inside a widget; the widget will continue to receive mouse events
+until the last mouse button is released.
+<p> A mouse event contains a special accept flag that indicates
+whether the receiver wants the event. You should call
+<a href="#ignore">QMouseEvent::ignore</a>() if the mouse event is not handled by your
+widget. A mouse event is propagated up the parent widget chain
+until a widget accepts it with <a href="#accept">QMouseEvent::accept</a>() or an event
+filter consumes it.
+<p> The functions <a href="#pos">pos</a>(), <a href="#x">x</a>() and <a href="#y">y</a>() give the cursor position relative
+to the widget that receives the mouse event. If you move the
+widget as a result of the mouse event, use the global position
+returned by <a href="#globalPos">globalPos</a>() to avoid a shaking motion.
+<p> The <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() function can be used to enable or
+disable mouse and keyboard events for a widget.
+<p> The event handlers <a href="qwidget.html#mousePressEvent">QWidget::mousePressEvent</a>(),
+<a href="qwidget.html#mouseReleaseEvent">QWidget::mouseReleaseEvent</a>(), <a href="qwidget.html#mouseDoubleClickEvent">QWidget::mouseDoubleClickEvent</a>() and
+<a href="qwidget.html#mouseMoveEvent">QWidget::mouseMoveEvent</a>() receive mouse events.
+<p> <p>See also <a href="qwidget.html#mouseTracking-prop">QWidget::mouseTracking</a>, <a href="qwidget.html#grabMouse">QWidget::grabMouse</a>(), <a href="qcursor.html#pos">QCursor::pos</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMouseEvent"></a>QMouseEvent::QMouseEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;button, int&nbsp;state )
+</h3>
+
+<p> Constructs a mouse event object.
+<p> The <em>type</em> parameter must be one of <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a>,
+<a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> or
+<a href="qevent.html#Type-enum">QEvent::MouseMove</a>.
+<p> The <em>pos</em> parameter specifies the position relative to the
+receiving widget. <em>button</em> specifies the <a href="qt.html#ButtonState-enum">button</a> that caused the event, which should be <a href="qt.html#ButtonState-enum">Qt::NoButton</a> (0), if <em>type</em> is <a href="qevent.html#Type-enum">MouseMove</a>. <em>state</em> is the
+<a href="qt.html#ButtonState-enum">ButtonState</a> at the time of the
+event.
+<p> The <a href="#globalPos">globalPos</a>() is initialized to <a href="qcursor.html#pos">QCursor::pos</a>(), which may not be
+appropriate. Use the other constructor to specify the global
+position explicitly.
+
+<h3 class=fn><a name="QMouseEvent-2"></a>QMouseEvent::QMouseEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;type, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos, int&nbsp;button, int&nbsp;state )
+</h3>
+
+<p> Constructs a mouse event object.
+<p> The <em>type</em> parameter must be <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> or <a href="qevent.html#Type-enum">QEvent::MouseMove</a>.
+<p> The <em>pos</em> parameter specifies the position relative to the
+receiving widget. <em>globalPos</em> is the position in absolute
+coordinates. <em>button</em> specifies the <a href="qt.html#ButtonState-enum">button</a> that caused the event, which should be <a href="qt.html#ButtonState-enum">Qt::NoButton</a> (0), if <em>type</em> is <a href="qevent.html#Type-enum">MouseMove</a>. <em>state</em> is the
+<a href="qt.html#ButtonState-enum">ButtonState</a> at the time of the
+event.
+<p>
+<h3 class=fn>void <a name="accept"></a>QMouseEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the mouse event object.
+<p> Setting the accept parameter indicates that the receiver of the
+event wants the mouse event. Unwanted mouse events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#ignore">ignore</a>().
+
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="button"></a>QMouseEvent::button () const
+</h3>
+
+<p> Returns the button that caused the event.
+<p> Possible return values are <a href="qt.html#ButtonState-enum">LeftButton</a>, <a href="qt.html#ButtonState-enum">RightButton</a>, <a href="qt.html#ButtonState-enum">MidButton</a> and <a href="qt.html#ButtonState-enum">NoButton</a>.
+<p> Note that the returned value is always <a href="qt.html#ButtonState-enum">NoButton</a> for mouse move
+events.
+<p> <p>See also <a href="#state">state</a>() and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<p>Examples: <a href="dclock-example.html#x1101">dclock/dclock.cpp</a>, <a href="life-example.html#x1890">life/life.cpp</a>, and <a href="tutorial1-14.html#x2417">t14/cannon.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="globalPos"></a>QMouseEvent::globalPos () const
+</h3>
+
+<p> Returns the global position of the mouse pointer <em>at the time of the event</em>. This is important on asynchronous window systems
+like X11. Whenever you move your widgets around in response to
+mouse events, <a href="#globalPos">globalPos</a>() may differ a lot from the current
+pointer position <a href="qcursor.html#pos">QCursor::pos</a>(), and from <a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>(
+<a href="#pos">pos</a>() ).
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalY">globalY</a>().
+
+<p>Example: <a href="aclock-example.html#x1181">aclock/aclock.cpp</a>.
+<h3 class=fn>int <a name="globalX"></a>QMouseEvent::globalX () const
+</h3>
+
+<p> Returns the global x-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>int <a name="globalY"></a>QMouseEvent::globalY () const
+</h3>
+
+<p> Returns the global y-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QMouseEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag parameter of the mouse event object.
+<p> Clearing the accept parameter indicates that the event receiver
+does not want the mouse event. Unwanted mouse events are sent to
+the parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QMouseEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event wants to keep the key;
+otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QMouseEvent::pos () const
+</h3>
+
+<p> Returns the position of the mouse pointer relative to the widget
+that received the event.
+<p> If you move the widget as a result of the mouse event, use the
+global position returned by <a href="#globalPos">globalPos</a>() to avoid a shaking motion.
+<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#globalPos">globalPos</a>().
+
+<p>Examples: <a href="tutorial2-06.html#x2580">chart/canvasview.cpp</a>, <a href="drawlines-example.html#x1654">drawlines/connect.cpp</a>, <a href="life-example.html#x1891">life/life.cpp</a>, <a href="popup-example.html#x1611">popup/popup.cpp</a>, <a href="qmag-example.html#x1780">qmag/qmag.cpp</a>, <a href="tutorial1-14.html#x2418">t14/cannon.cpp</a>, and <a href="tooltip-example.html#x443">tooltip/tooltip.cpp</a>.
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="state"></a>QMouseEvent::state () const
+</h3>
+
+<p> Returns the button state (a combination of mouse buttons and
+keyboard modifiers), i.e. what buttons and keys were being pressed
+immediately before the event was generated.
+<p> This means that if you have a <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a> or a <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> <a href="#state">state</a>() will <em>not</em> include the mouse
+button that's pressed. But once the mouse button has been
+released, the <a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a> event will have the
+<a href="#button">button</a>() that was pressed.
+<p> This value is mainly interesting for <a href="qevent.html#Type-enum">QEvent::MouseMove</a>; for the
+other cases, button() is more useful.
+<p> The returned value is <a href="qt.html#ButtonState-enum">LeftButton</a>, <a href="qt.html#ButtonState-enum">RightButton</a>, <a href="qt.html#ButtonState-enum">MidButton</a>,
+<a href="qt.html#ButtonState-enum">ShiftButton</a>, <a href="qt.html#ButtonState-enum">ControlButton</a> and <a href="qt.html#ButtonState-enum">AltButton</a> OR'ed together.
+<p> <p>See also <a href="#button">button</a>(), <a href="#stateAfter">stateAfter</a>(), and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<p>Examples: <a href="popup-example.html#x1612">popup/popup.cpp</a> and <a href="showimg-example.html#x1334">showimg/showimg.cpp</a>.
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="stateAfter"></a>QMouseEvent::stateAfter () const
+</h3>
+
+<p> Returns the state of buttons after the event.
+<p> <p>See also <a href="#state">state</a>() and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<h3 class=fn>int <a name="x"></a>QMouseEvent::x () const
+</h3>
+
+<p> Returns the x-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#y">y</a>() and <a href="#pos">pos</a>().
+
+<p>Example: <a href="showimg-example.html#x1335">showimg/showimg.cpp</a>.
+<h3 class=fn>int <a name="y"></a>QMouseEvent::y () const
+</h3>
+
+<p> Returns the y-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#x">x</a>() and <a href="#pos">pos</a>().
+
+<p>Example: <a href="showimg-example.html#x1336">showimg/showimg.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmoveevent-members.html b/doc/html/qmoveevent-members.html
new file mode 100644
index 0000000..94f8934
--- /dev/null
+++ b/doc/html/qmoveevent-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:354 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMoveEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMoveEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmoveevent.html">QMoveEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qmoveevent.html#QMoveEvent">QMoveEvent</a>()
+<li><a href="qmoveevent.html#oldPos">oldPos</a>()
+<li><a href="qmoveevent.html#pos">pos</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmoveevent.html b/doc/html/qmoveevent.html
new file mode 100644
index 0000000..1ad26a8
--- /dev/null
+++ b/doc/html/qmoveevent.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1323 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMoveEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMoveEvent Class Reference</h1>
+
+<p>The QMoveEvent class contains event parameters for move events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qmoveevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMoveEvent"><b>QMoveEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;oldPos )</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#oldPos"><b>oldPos</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMoveEvent class contains event parameters for move events.
+<p>
+<p> Move events are sent to widgets that have been moved to a new position
+relative to their parent.
+<p> The event handler <a href="qwidget.html#moveEvent">QWidget::moveEvent</a>() receives move events.
+<p> <p>See also <a href="qwidget.html#pos-prop">QWidget::pos</a>, <a href="qwidget.html#geometry-prop">QWidget::geometry</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMoveEvent"></a>QMoveEvent::QMoveEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;oldPos )
+</h3>
+
+<p> Constructs a move event with the new and old widget positions, <em>pos</em> and <em>oldPos</em> respectively.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="oldPos"></a>QMoveEvent::oldPos () const
+</h3>
+
+<p> Returns the old position of the widget.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QMoveEvent::pos () const
+</h3>
+
+<p> Returns the new position of the widget. This excludes the window
+frame for top level widgets.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmovie-h.html b/doc/html/qmovie-h.html
new file mode 100644
index 0000000..cf9df72
--- /dev/null
+++ b/doc/html/qmovie-h.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmovie.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmovie.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmovie.h</h1>
+
+<p>This is the verbatim text of the qmovie.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmovie.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of movie classes
+**
+** Created : 970617
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMOVIE_H
+#define QMOVIE_H
+
+#ifndef QT_H
+#include "qpixmap.h" // ### remove or keep for users' convenience?
+#endif // QT_H
+
+#ifndef QT_NO_MOVIE
+
+class QDataSource;
+class QObject;
+class QMoviePrivate;
+
+class Q_EXPORT QMovie {
+public:
+ QMovie();
+ QMovie(int bufsize);
+ QMovie(QDataSource*, int bufsize=1024);
+ QMovie(const QString &amp;fileName, int bufsize=1024);
+ QMovie(QByteArray data, int bufsize=1024);
+ QMovie(const QMovie&amp;);
+ ~QMovie();
+
+ QMovie&amp; operator=(const QMovie&amp;);
+
+ int pushSpace() const;
+ void pushData(const uchar* data, int length);
+
+ const QColor&amp; backgroundColor() const;
+ void setBackgroundColor(const QColor&amp;);
+
+ const QRect&amp; getValidRect() const;
+ const QPixmap&amp; framePixmap() const;
+ const QImage&amp; frameImage() const;
+
+ bool isNull() const;
+
+ int frameNumber() const;
+ int steps() const;
+ bool paused() const;
+ bool finished() const;
+ bool running() const;
+
+ void unpause();
+ void pause();
+ void step();
+ void step(int);
+ void restart();
+
+ int speed() const;
+ void setSpeed(int);
+
+ void connectResize(QObject* receiver, const char *member);
+ void disconnectResize(QObject* receiver, const char *member=0);
+
+ void connectUpdate(QObject* receiver, const char *member);
+ void disconnectUpdate(QObject* receiver, const char *member=0);
+
+#ifdef Q_WS_QWS
+ // Temporary hack
+ void setDisplayWidget(QWidget * w);
+#endif
+
+ enum Status { SourceEmpty=-2,
+ UnrecognizedFormat=-1,
+ Paused=1,
+ EndOfFrame=2,
+ EndOfLoop=3,
+ EndOfMovie=4,
+ SpeedChanged=5 };
+ void connectStatus(QObject* receiver, const char *member);
+ void disconnectStatus(QObject* receiver, const char *member=0);
+
+private:
+ QMoviePrivate *d;
+};
+
+#endif // QT_NO_MOVIE
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmovie-members.html b/doc/html/qmovie-members.html
new file mode 100644
index 0000000..5e1d501
--- /dev/null
+++ b/doc/html/qmovie-members.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmovie.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMovie Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMovie</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmovie.html">QMovie</a>, including inherited members.
+
+<ul>
+<li><a href="qmovie.html#QMovie">QMovie</a>()
+<li><a href="qmovie.html#~QMovie">~QMovie</a>()
+<li><a href="qmovie.html#backgroundColor">backgroundColor</a>()
+<li><a href="qmovie.html#connectResize">connectResize</a>()
+<li><a href="qmovie.html#connectStatus">connectStatus</a>()
+<li><a href="qmovie.html#connectUpdate">connectUpdate</a>()
+<li><a href="qmovie.html#disconnectResize">disconnectResize</a>()
+<li><a href="qmovie.html#disconnectStatus">disconnectStatus</a>()
+<li><a href="qmovie.html#disconnectUpdate">disconnectUpdate</a>()
+<li><a href="qmovie.html#finished">finished</a>()
+<li><a href="qmovie.html#frameImage">frameImage</a>()
+<li><a href="qmovie.html#frameNumber">frameNumber</a>()
+<li><a href="qmovie.html#framePixmap">framePixmap</a>()
+<li><a href="qmovie.html#getValidRect">getValidRect</a>()
+<li><a href="qmovie.html#isNull">isNull</a>()
+<li><a href="qmovie.html#operator-eq">operator=</a>()
+<li><a href="qmovie.html#pause">pause</a>()
+<li><a href="qmovie.html#paused">paused</a>()
+<li><a href="qmovie.html#pushData">pushData</a>()
+<li><a href="qmovie.html#pushSpace">pushSpace</a>()
+<li><a href="qmovie.html#restart">restart</a>()
+<li><a href="qmovie.html#running">running</a>()
+<li><a href="qmovie.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qmovie.html#setSpeed">setSpeed</a>()
+<li><a href="qmovie.html#speed">speed</a>()
+<li><a href="qmovie.html#step">step</a>()
+<li><a href="qmovie.html#steps">steps</a>()
+<li><a href="qmovie.html#unpause">unpause</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmovie.html b/doc/html/qmovie.html
new file mode 100644
index 0000000..599e565
--- /dev/null
+++ b/doc/html/qmovie.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmovie.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMovie Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMovie Class Reference</h1>
+
+<p>The QMovie class provides incremental loading of animations or images, signalling as it progresses.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmovie-h.html">qmovie.h</a>&gt;</tt>
+<p><a href="qmovie-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMovie"><b>QMovie</b></a> ()</li>
+<li class=fn><a href="#QMovie-2"><b>QMovie</b></a> ( int&nbsp;bufsize )</li>
+<li class=fn><a href="#QMovie-3"><b>QMovie</b></a> ( QDataSource&nbsp;*&nbsp;src, int&nbsp;bufsize = 1024 )</li>
+<li class=fn><a href="#QMovie-4"><b>QMovie</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, int&nbsp;bufsize = 1024 )</li>
+<li class=fn><a href="#QMovie-5"><b>QMovie</b></a> ( QByteArray&nbsp;data, int&nbsp;bufsize = 1024 )</li>
+<li class=fn><a href="#QMovie-6"><b>QMovie</b></a> ( const&nbsp;QMovie&nbsp;&amp;&nbsp;movie )</li>
+<li class=fn><a href="#~QMovie"><b>~QMovie</b></a> ()</li>
+<li class=fn>QMovie &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QMovie&nbsp;&amp;&nbsp;movie )</li>
+<li class=fn>int <a href="#pushSpace"><b>pushSpace</b></a> () const</li>
+<li class=fn>void <a href="#pushData"><b>pushData</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;length )</li>
+<li class=fn>const QColor &amp; <a href="#backgroundColor"><b>backgroundColor</b></a> () const</li>
+<li class=fn>void <a href="#setBackgroundColor"><b>setBackgroundColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>const QRect &amp; <a href="#getValidRect"><b>getValidRect</b></a> () const</li>
+<li class=fn>const QPixmap &amp; <a href="#framePixmap"><b>framePixmap</b></a> () const</li>
+<li class=fn>const QImage &amp; <a href="#frameImage"><b>frameImage</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>int <a href="#frameNumber"><b>frameNumber</b></a> () const</li>
+<li class=fn>int <a href="#steps"><b>steps</b></a> () const</li>
+<li class=fn>bool <a href="#paused"><b>paused</b></a> () const</li>
+<li class=fn>bool <a href="#finished"><b>finished</b></a> () const</li>
+<li class=fn>bool <a href="#running"><b>running</b></a> () const</li>
+<li class=fn>void <a href="#unpause"><b>unpause</b></a> ()</li>
+<li class=fn>void <a href="#pause"><b>pause</b></a> ()</li>
+<li class=fn>void <a href="#step"><b>step</b></a> ()</li>
+<li class=fn>void <a href="#step-2"><b>step</b></a> ( int&nbsp;steps )</li>
+<li class=fn>void <a href="#restart"><b>restart</b></a> ()</li>
+<li class=fn>int <a href="#speed"><b>speed</b></a> () const</li>
+<li class=fn>void <a href="#setSpeed"><b>setSpeed</b></a> ( int&nbsp;percent )</li>
+<li class=fn>void <a href="#connectResize"><b>connectResize</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>void <a href="#disconnectResize"><b>disconnectResize</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+<li class=fn>void <a href="#connectUpdate"><b>connectUpdate</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>void <a href="#disconnectUpdate"><b>disconnectUpdate</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+<li class=fn>enum <a href="#Status-enum"><b>Status</b></a> { SourceEmpty = -2, UnrecognizedFormat = -1, Paused = 1, EndOfFrame = 2, EndOfLoop = 3, EndOfMovie = 4, SpeedChanged = 5 }</li>
+<li class=fn>void <a href="#connectStatus"><b>connectStatus</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>void <a href="#disconnectStatus"><b>disconnectStatus</b></a> ( QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMovie class provides incremental loading of animations or images, signalling as it progresses.
+<p>
+
+
+
+<p> The simplest way to display a QMovie is to use a <a href="qlabel.html">QLabel</a> and
+<a href="qlabel.html#setMovie">QLabel::setMovie</a>().
+<p> A QMovie provides a <a href="qpixmap.html">QPixmap</a> as the <a href="#framePixmap">framePixmap</a>(); connections can
+be made via <a href="#connectResize">connectResize</a>() and <a href="#connectUpdate">connectUpdate</a>() to receive
+notification of size and pixmap changes. All decoding is driven
+by the normal event-processing mechanisms.
+<p> The movie begins playing as soon as the QMovie is created
+(actually, once control returns to the event loop). When the last
+frame in the movie has been played, it may loop back to the start
+if such looping is defined in the input source.
+<p> QMovie objects are <a href="shclass.html#explicitly-shared">explicitly shared</a>. This means that a QMovie
+copied from another QMovie will be displaying the same frame at
+all times. If one shared movie pauses, all pause. To make <em>independent</em> movies, they must be constructed separately.
+<p> The set of data formats supported by QMovie is determined by the
+decoder factories that have been installed; the format of the
+input is determined as the input is decoded.
+<p> The supported formats are MNG (if Qt is configured with MNG
+support enabled) and GIF (if Qt is configured with GIF support
+enabled, see qgif.h).
+<p> If Qt is configured to support GIF reading, we are required to
+state that "The Graphics Interchange Format(c) is the Copyright
+property of CompuServe Incorporated. GIF(sm) is a Service Mark
+property of CompuServe Incorporated.
+<p> <b>Warning:</b> If you are in a country that recognizes software patents
+and in which Unisys holds a patent on LZW compression and/or
+decompression and you want to use GIF, Unisys may require you to
+license that technology. Such countries include Canada, Japan,
+the USA, France, Germany, Italy and the UK.
+<p> GIF support may be removed completely in a future version of Qt.
+We recommend using the MNG or PNG format.
+<p> <center><img src="qmovie.png" alt="QMovie"></center>
+<p> <p>See also <a href="qlabel.html#setMovie">QLabel::setMovie</a>(), <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Status-enum"></a>QMovie::Status</h3>
+
+<ul>
+<li><tt>QMovie::SourceEmpty</tt>
+<li><tt>QMovie::UnrecognizedFormat</tt>
+<li><tt>QMovie::Paused</tt>
+<li><tt>QMovie::EndOfFrame</tt>
+<li><tt>QMovie::EndOfLoop</tt>
+<li><tt>QMovie::EndOfMovie</tt>
+<li><tt>QMovie::SpeedChanged</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMovie"></a>QMovie::QMovie ()
+</h3>
+Constructs a null QMovie. The only interesting thing to do with
+such a movie is to assign another movie to it.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QMovie-2"></a>QMovie::QMovie ( int&nbsp;bufsize )
+</h3>
+Constructs a QMovie with an external data source. You should later
+call <a href="#pushData">pushData</a>() to send incoming animation data to the movie.
+<p> The <em>bufsize</em> argument sets the maximum amount of data the movie
+will transfer from the data source per event loop. The lower this
+value, the better interleaved the movie playback will be with
+other event processing, but the slower the overall processing will
+be.
+<p> <p>See also <a href="#pushData">pushData</a>().
+
+<h3 class=fn><a name="QMovie-3"></a>QMovie::QMovie ( <a href="qdatasource.html">QDataSource</a>&nbsp;*&nbsp;src, int&nbsp;bufsize = 1024 )
+</h3>
+Constructs a QMovie that reads an image sequence from the given
+data source, <em>src</em>. The source must be allocated dynamically,
+because QMovie will take ownership of it and will destroy it when
+the movie is destroyed. The movie starts playing as soon as event
+processing continues.
+<p> The <em>bufsize</em> argument sets the maximum amount of data the movie
+will transfer from the data source per event loop. The lower this
+value, the better interleaved the movie playback will be with
+other event processing, but the slower the overall processing will
+be.
+
+<h3 class=fn><a name="QMovie-4"></a>QMovie::QMovie ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, int&nbsp;bufsize = 1024 )
+</h3>
+Constructs a QMovie that reads an image sequence from the file, <em>fileName</em>.
+<p> The <em>bufsize</em> argument sets the maximum amount of data the movie
+will transfer from the data source per event loop. The lower this
+value, the better interleaved the movie playback will be with
+other event processing, but the slower the overall processing will
+be.
+
+<h3 class=fn><a name="QMovie-5"></a>QMovie::QMovie ( <a href="qbytearray.html">QByteArray</a>&nbsp;data, int&nbsp;bufsize = 1024 )
+</h3>
+Constructs a QMovie that reads an image sequence from the byte
+array, <em>data</em>.
+<p> The <em>bufsize</em> argument sets the maximum amount of data the movie
+will transfer from the data source per event loop. The lower this
+value, the better interleaved the movie playback will be with
+other event processing, but the slower the overall processing will
+be.
+
+<h3 class=fn><a name="QMovie-6"></a>QMovie::QMovie ( const&nbsp;<a href="qmovie.html">QMovie</a>&nbsp;&amp;&nbsp;movie )
+</h3>
+Constructs a movie that uses the same data as movie <em>movie</em>.
+QMovies use <a href="shclass.html#explicit-sharing">explicit sharing</a>, so operations on the copy will
+affect both.
+
+<h3 class=fn><a name="~QMovie"></a>QMovie::~QMovie ()
+</h3>
+Destroys the QMovie. If this is the last reference to the data of
+the movie, the data is deallocated.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="backgroundColor"></a>QMovie::backgroundColor () const
+</h3>
+Returns the background color of the movie set by
+<a href="#setBackgroundColor">setBackgroundColor</a>().
+
+<h3 class=fn>void <a name="connectResize"></a>QMovie::connectResize ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the <em>receiver</em>'s <em>member</em> of type <tt>void member(const QSize&amp;)</tt> so that it is signalled when the movie changes size.
+<p> Note that due to the <a href="shclass.html#explicit-sharing">explicit sharing</a> of QMovie objects, these
+connections persist until they are explicitly disconnected with
+<a href="#disconnectResize">disconnectResize</a>() or until <em>every</em> shared copy of the movie is
+deleted.
+
+<p>Example: <a href="movies-example.html#x498">movies/main.cpp</a>.
+<h3 class=fn>void <a name="connectStatus"></a>QMovie::connectStatus ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the <em>receiver</em>'s <em>member</em>, of type <tt>void member(int)</tt> so that it is signalled when the movie changes
+status. The status codes are negative for errors and positive for
+information.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Status Code <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">QMovie::SourceEmpty
+<td valign="top">signalled if the input cannot be read.
+<tr bgcolor="#d0d0d0"> <td valign="top">QMovie::UnrecognizedFormat
+<td valign="top">signalled if the input data is unrecognized.
+<tr bgcolor="#f0f0f0"> <td valign="top">QMovie::Paused
+<td valign="top">signalled when the movie is paused by a call to <a href="#paused">paused</a>()
+or by after <a href="#step">stepping</a> pauses.
+<tr bgcolor="#d0d0d0"> <td valign="top">QMovie::EndOfFrame
+<td valign="top">signalled at end-of-frame after any update and Paused signals.
+<tr bgcolor="#f0f0f0"> <td valign="top">QMovie::EndOfLoop
+<td valign="top">signalled at end-of-loop, after any update signals,
+EndOfFrame - but before EndOfMovie.
+<tr bgcolor="#d0d0d0"> <td valign="top">QMovie::EndOfMovie
+<td valign="top">signalled when the movie completes and is not about to loop.
+</table></center>
+<p> More status messages may be added in the future, so a general test
+for errors would test for negative.
+<p> Note that due to the <a href="shclass.html#explicit-sharing">explicit sharing</a> of QMovie objects, these
+connections persist until they are explicitly disconnected with
+<a href="#disconnectStatus">disconnectStatus</a>() or until <em>every</em> shared copy of the movie is
+deleted.
+
+<p>Example: <a href="movies-example.html#x499">movies/main.cpp</a>.
+<h3 class=fn>void <a name="connectUpdate"></a>QMovie::connectUpdate ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the <em>receiver</em>'s <em>member</em> of type <tt>void member(const QRect&amp;)</tt> so that it is signalled when an area of the <a href="#framePixmap">framePixmap</a>()
+has changed since the previous frame.
+<p> Note that due to the <a href="shclass.html#explicit-sharing">explicit sharing</a> of QMovie objects, these
+connections persist until they are explicitly disconnected with
+<a href="#disconnectUpdate">disconnectUpdate</a>() or until <em>every</em> shared copy of the movie is
+deleted.
+
+<p>Example: <a href="movies-example.html#x500">movies/main.cpp</a>.
+<h3 class=fn>void <a name="disconnectResize"></a>QMovie::disconnectResize ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+Disconnects the <em>receiver</em>'s <em>member</em> (or all members if <em>member</em> is zero) that were previously connected by <a href="#connectResize">connectResize</a>().
+
+<h3 class=fn>void <a name="disconnectStatus"></a>QMovie::disconnectStatus ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+Disconnects the <em>receiver</em>'s <em>member</em> (or all members if <em>member</em> is zero) that were previously connected by <a href="#connectStatus">connectStatus</a>().
+
+<h3 class=fn>void <a name="disconnectUpdate"></a>QMovie::disconnectUpdate ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+Disconnects the <em>receiver</em>'s <em>member</em> (or all members if \q
+member is zero) that were previously connected by <a href="#connectUpdate">connectUpdate</a>().
+
+<h3 class=fn>bool <a name="finished"></a>QMovie::finished () const
+</h3>
+Returns TRUE if the image is no longer playing: this happens when
+all loops of all frames are complete; otherwise returns FALSE.
+
+<p>Example: <a href="movies-example.html#x501">movies/main.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp; <a name="frameImage"></a>QMovie::frameImage () const
+</h3>
+Returns the current frame of the movie, as a <a href="qimage.html">QImage</a>. It is not
+generally useful to keep a copy of this image. Also note that you
+must not call this function if the movie is <a href="#finished">finished</a>(), since by
+then the image will not be available.
+<p> <p>See also <a href="#framePixmap">framePixmap</a>().
+
+<h3 class=fn>int <a name="frameNumber"></a>QMovie::frameNumber () const
+</h3>
+Returns the number of times EndOfFrame has been emitted since the
+start of the current loop of the movie. Thus, before any
+EndOfFrame has been emitted the value will be 0; within slots
+processing the first signal, <a href="#frameNumber">frameNumber</a>() will be 1, and so on.
+
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; <a name="framePixmap"></a>QMovie::framePixmap () const
+</h3>
+Returns the current frame of the movie, as a <a href="qpixmap.html">QPixmap</a>. It is not
+generally useful to keep a copy of this pixmap. It is better to
+keep a copy of the QMovie and get the <a href="#framePixmap">framePixmap</a>() only when
+needed for drawing.
+<p> <p>See also <a href="#frameImage">frameImage</a>().
+
+<p>Example: <a href="movies-example.html#x502">movies/main.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="getValidRect"></a>QMovie::getValidRect () const
+</h3>
+Returns the area of the pixmap for which pixels have been
+generated.
+
+<h3 class=fn>bool <a name="isNull"></a>QMovie::isNull () const
+</h3>
+Returns TRUE if the movie is null; otherwise returns FALSE.
+
+<h3 class=fn><a href="qmovie.html">QMovie</a>&nbsp;&amp; <a name="operator-eq"></a>QMovie::operator= ( const&nbsp;<a href="qmovie.html">QMovie</a>&nbsp;&amp;&nbsp;movie )
+</h3>
+Makes this movie use the same data as movie <em>movie</em>. QMovies use
+<a href="shclass.html#explicit-sharing">explicit sharing</a>.
+
+<h3 class=fn>void <a name="pause"></a>QMovie::pause ()
+</h3>
+Pauses the progress of the animation.
+<p> <p>See also <a href="#unpause">unpause</a>().
+
+<p>Example: <a href="movies-example.html#x503">movies/main.cpp</a>.
+<h3 class=fn>bool <a name="paused"></a>QMovie::paused () const
+</h3>
+Returns TRUE if the image is paused; otherwise returns FALSE.
+
+<p>Example: <a href="movies-example.html#x504">movies/main.cpp</a>.
+<h3 class=fn>void <a name="pushData"></a>QMovie::pushData ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;length )
+</h3>
+Pushes <em>length</em> bytes from <em>data</em> into the movie. <em>length</em> must
+be no more than the amount returned by <a href="#pushSpace">pushSpace</a>() since the
+previous call to <a href="#pushData">pushData</a>().
+
+<h3 class=fn>int <a name="pushSpace"></a>QMovie::pushSpace () const
+</h3>
+Returns the maximum amount of data that can currently be pushed
+into the movie by a call to <a href="#pushData">pushData</a>(). This is affected by the
+initial buffer size, but varies as the movie plays and data is
+consumed.
+
+<h3 class=fn>void <a name="restart"></a>QMovie::restart ()
+</h3>
+Rewinds the movie to the beginning. If the movie has not been
+paused, it begins playing again.
+
+<p>Example: <a href="movies-example.html#x505">movies/main.cpp</a>.
+<h3 class=fn>bool <a name="running"></a>QMovie::running () const
+</h3>
+Returns TRUE if the image is not single-stepping, not paused, and
+not finished; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="setBackgroundColor"></a>QMovie::setBackgroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the background color of the pixmap to <em>c</em>. If the background
+color isValid(), the pixmap will never have a mask because the
+background color will be used in transparent regions of the image.
+<p> <p>See also <a href="#backgroundColor">backgroundColor</a>().
+
+<h3 class=fn>void <a name="setSpeed"></a>QMovie::setSpeed ( int&nbsp;percent )
+</h3>
+Sets the movie's play speed as a percentage, to <em>percent</em>. This
+is a percentage of the speed dictated by the input data format.
+The default is 100 percent.
+
+<h3 class=fn>int <a name="speed"></a>QMovie::speed () const
+</h3>
+Returns the movie's play speed as a percentage. The default is 100
+percent.
+<p> <p>See also <a href="#setSpeed">setSpeed</a>().
+
+<h3 class=fn>void <a name="step"></a>QMovie::step ()
+</h3>
+Steps forward 1 frame and then pauses.
+
+<p>Example: <a href="movies-example.html#x506">movies/main.cpp</a>.
+<h3 class=fn>void <a name="step-2"></a>QMovie::step ( int&nbsp;steps )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Steps forward, showing <em>steps</em> frames, and then pauses.
+
+<h3 class=fn>int <a name="steps"></a>QMovie::steps () const
+</h3>
+Returns the number of steps remaining after a call to <a href="#step">step</a>(). If
+the movie is paused, <a href="#steps">steps</a>() returns 0. If it's running normally
+or is finished, steps() returns a negative number.
+
+<p>Example: <a href="movies-example.html#x507">movies/main.cpp</a>.
+<h3 class=fn>void <a name="unpause"></a>QMovie::unpause ()
+</h3>
+Unpauses the progress of the animation.
+<p> <p>See also <a href="#pause">pause</a>().
+
+<p>Example: <a href="movies-example.html#x508">movies/main.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmovie.png b/doc/html/qmovie.png
new file mode 100644
index 0000000..2833adf
--- /dev/null
+++ b/doc/html/qmovie.png
Binary files differ
diff --git a/doc/html/qmsgbox-m.png b/doc/html/qmsgbox-m.png
new file mode 100644
index 0000000..1684206
--- /dev/null
+++ b/doc/html/qmsgbox-m.png
Binary files differ
diff --git a/doc/html/qmsgbox-w.png b/doc/html/qmsgbox-w.png
new file mode 100644
index 0000000..8eea838
--- /dev/null
+++ b/doc/html/qmsgbox-w.png
Binary files differ
diff --git a/doc/html/qmultilineedit-h.html b/doc/html/qmultilineedit-h.html
new file mode 100644
index 0000000..5e7597f
--- /dev/null
+++ b/doc/html/qmultilineedit-h.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmultilineedit.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmultilineedit.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmultilineedit.h</h1>
+
+<p>This is the verbatim text of the qmultilineedit.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qmultilineedit.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMultiLineEdit widget class
+**
+** Created : 961005
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMULTILINEEDIT_H
+#define QMULTILINEEDIT_H
+
+#ifndef QT_H
+#include "qtextedit.h"
+#endif // QT_H
+
+#ifndef QT_NO_MULTILINEEDIT
+
+class QMultiLineEditCommand;
+class QValidator;
+class QMultiLineEditData;
+
+class Q_EXPORT QMultiLineEdit : public QTextEdit
+{
+ Q_OBJECT
+ Q_PROPERTY( int numLines READ numLines )
+ Q_PROPERTY( bool atBeginning READ atBeginning )
+ Q_PROPERTY( bool atEnd READ atEnd )
+ Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
+ Q_PROPERTY( bool edited READ edited WRITE setEdited DESIGNABLE false )
+
+public:
+ QMultiLineEdit( QWidget* parent=0, const char* name=0 );
+ ~QMultiLineEdit();
+
+ QString textLine( int line ) const;
+ int numLines() const;
+
+ virtual void insertLine( const QString &amp;s, int line = -1 );
+ virtual void insertAt( const QString &amp;s, int line, int col ) {
+ insertAt( s, line, col, FALSE );
+ }
+ virtual void insertAt( const QString &amp;s, int line, int col, bool mark );
+ virtual void removeLine( int line );
+ virtual void setCursorPosition( int line, int col ) {
+ setCursorPosition( line, col, FALSE );
+ }
+ virtual void setCursorPosition( int line, int col, bool mark );
+ bool atBeginning() const;
+ bool atEnd() const;
+
+ void setAlignment( int flags );
+ int alignment() const;
+
+ void setEdited( bool );
+ bool edited() const;
+
+ bool hasMarkedText() const;
+ QString markedText() const;
+
+ void cursorWordForward( bool mark );
+ void cursorWordBackward( bool mark );
+
+ // noops
+ bool autoUpdate() const { return TRUE; }
+ virtual void setAutoUpdate( bool ) {}
+
+ int totalWidth() const { return contentsWidth(); }
+ int totalHeight() const { return contentsHeight(); }
+
+ int maxLines() const { return QWIDGETSIZE_MAX; }
+ void setMaxLines( int ) {}
+
+public slots:
+ void deselect() { selectAll( FALSE ); }
+
+protected:
+ QPoint cursorPoint() const;
+
+protected:
+ virtual void insertAndMark( const QString&amp;, bool mark );
+ virtual void newLine();
+ virtual void killLine();
+ virtual void pageUp( bool mark=FALSE );
+ virtual void pageDown( bool mark=FALSE );
+ virtual void cursorLeft( bool mark=FALSE, bool wrap = TRUE );
+ virtual void cursorRight( bool mark=FALSE, bool wrap = TRUE );
+ virtual void cursorUp( bool mark=FALSE );
+ virtual void cursorDown( bool mark=FALSE );
+ virtual void backspace();
+ virtual void home( bool mark=FALSE );
+ virtual void end( bool mark=FALSE );
+
+ bool getMarkedRegion( int *line1, int *col1,
+ int *line2, int *col2 ) const;
+ int lineLength( int row ) const;
+
+private:
+ QMultiLineEditData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QMultiLineEdit( const QMultiLineEdit &amp; );
+ QMultiLineEdit &amp;operator=( const QMultiLineEdit &amp; );
+#endif
+};
+
+#endif // QT_NO_MULTILINEEDIT
+
+#endif // QMULTILINED_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmultilineedit-members.html b/doc/html/qmultilineedit-members.html
new file mode 100644
index 0000000..6e3fb87
--- /dev/null
+++ b/doc/html/qmultilineedit-members.html
@@ -0,0 +1,578 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmultilineedit.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMultiLineEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMultiLineEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmultilineedit.html">QMultiLineEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qmultilineedit.html#QMultiLineEdit">QMultiLineEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qmultilineedit.html#alignment">alignment</a>()
+<li><a href="qtextedit.html#anchorAt">anchorAt</a>()
+<li><a href="qtextedit.html#append">append</a>()
+<li><a href="qmultilineedit.html#atBeginning">atBeginning</a>()
+<li><a href="qmultilineedit.html#atEnd">atEnd</a>()
+<li><a href="qtextedit.html#autoFormatting">autoFormatting</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qmultilineedit.html#autoUpdate">autoUpdate</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qmultilineedit.html#backspace">backspace</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtextedit.html#bold">bold</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qtextedit.html#charAt">charAt</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtextedit.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtextedit.html#clearParagraphBackground">clearParagraphBackground</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtextedit.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qtextedit.html#color">color</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qtextedit.html#context">context</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtextedit.html#copy">copy</a>()
+<li><a href="qtextedit.html#copyAvailable">copyAvailable</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtextedit.html#createPopupMenu">createPopupMenu</a>()
+<li><a href="qtextedit.html#currentAlignmentChanged">currentAlignmentChanged</a>()
+<li><a href="qtextedit.html#currentColorChanged">currentColorChanged</a>()
+<li><a href="qtextedit.html#currentFont">currentFont</a>()
+<li><a href="qtextedit.html#currentFontChanged">currentFontChanged</a>()
+<li><a href="qtextedit.html#currentVerticalAlignmentChanged">currentVerticalAlignmentChanged</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qmultilineedit.html#cursorDown">cursorDown</a>()
+<li><a href="qmultilineedit.html#cursorLeft">cursorLeft</a>()
+<li><a href="qmultilineedit.html#cursorPoint">cursorPoint</a>()
+<li><a href="qtextedit.html#cursorPositionChanged">cursorPositionChanged</a>()
+<li><a href="qmultilineedit.html#cursorRight">cursorRight</a>()
+<li><a href="qmultilineedit.html#cursorUp">cursorUp</a>()
+<li><a href="qmultilineedit.html#cursorWordBackward">cursorWordBackward</a>()
+<li><a href="qmultilineedit.html#cursorWordForward">cursorWordForward</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qtextedit.html#cut">cut</a>()
+<li><a href="qtextedit.html#del">del</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qmultilineedit.html#deselect">deselect</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtextedit.html#doKeyboardAction">doKeyboardAction</a>()
+<li><a href="qtextedit.html#documentTitle">documentTitle</a>()
+<li><a href="qtextedit.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qmultilineedit.html#edited">edited</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qmultilineedit.html#end">end</a>()
+<li><a href="qtextedit.html#ensureCursorVisible">ensureCursorVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qtextedit.html#family">family</a>()
+<li><a href="qtextedit.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qtextedit.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qtextedit.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qtextedit.html#getCursorPosition">getCursorPosition</a>()
+<li><a href="qmultilineedit.html#getMarkedRegion">getMarkedRegion</a>()
+<li><a href="qtextedit.html#getSelection">getSelection</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qmultilineedit.html#hasMarkedText">hasMarkedText</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qtextedit.html#hasSelectedText">hasSelectedText</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qtextedit.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qmultilineedit.html#home">home</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qtextedit.html#insert">insert</a>()
+<li><a href="qmultilineedit.html#insertAndMark">insertAndMark</a>()
+<li><a href="qmultilineedit.html#insertAt">insertAt</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qmultilineedit.html#insertLine">insertLine</a>()
+<li><a href="qtextedit.html#insertParagraph">insertParagraph</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qtextedit.html#isModified">isModified</a>()
+<li><a href="qtextedit.html#isOverwriteMode">isOverwriteMode</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtextedit.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtextedit.html#isRedoAvailable">isRedoAvailable</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qtextedit.html#isUndoAvailable">isUndoAvailable</a>()
+<li><a href="qtextedit.html#isUndoRedoEnabled">isUndoRedoEnabled</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtextedit.html#italic">italic</a>()
+<li><a href="qtextedit.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qmultilineedit.html#killLine">killLine</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qtextedit.html#length">length</a>()
+<li><a href="qmultilineedit.html#lineLength">lineLength</a>()
+<li><a href="qtextedit.html#lineOfChar">lineOfChar</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qtextedit.html#lines">lines</a>()
+<li><a href="qtextedit.html#linesOfParagraph">linesOfParagraph</a>()
+<li><a href="qtextedit.html#linkUnderline">linkUnderline</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qmultilineedit.html#markedText">markedText</a>()
+<li><a href="qmultilineedit.html#maxLines">maxLines</a>()
+<li><a href="qtextedit.html#maxLogLines">maxLogLines</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qtextedit.html#modificationChanged">modificationChanged</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qtextedit.html#moveCursor">moveCursor</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qmultilineedit.html#newLine">newLine</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qmultilineedit.html#numLines">numLines</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qmultilineedit.html#pageDown">pageDown</a>()
+<li><a href="qmultilineedit.html#pageUp">pageUp</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qtextedit.html#paper">paper</a>()
+<li><a href="qtextedit.html#paragraphAt">paragraphAt</a>()
+<li><a href="qtextedit.html#paragraphBackgroundColor">paragraphBackgroundColor</a>()
+<li><a href="qtextedit.html#paragraphLength">paragraphLength</a>()
+<li><a href="qtextedit.html#paragraphRect">paragraphRect</a>()
+<li><a href="qtextedit.html#paragraphs">paragraphs</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtextedit.html#paste">paste</a>()
+<li><a href="qtextedit.html#pasteSubType">pasteSubType</a>()
+<li><a href="qtextedit.html#placeCursor">placeCursor</a>()
+<li><a href="qtextedit.html#pointSize">pointSize</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qtextedit.html#redo">redo</a>()
+<li><a href="qtextedit.html#redoAvailable">redoAvailable</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qmultilineedit.html#removeLine">removeLine</a>()
+<li><a href="qtextedit.html#removeParagraph">removeParagraph</a>()
+<li><a href="qtextedit.html#removeSelectedText">removeSelectedText</a>()
+<li><a href="qtextedit.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qtextedit.html#repaintChanged">repaintChanged</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qtextedit.html#returnPressed">returnPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtextedit.html#scrollToAnchor">scrollToAnchor</a>()
+<li><a href="qtextedit.html#scrollToBottom">scrollToBottom</a>()
+<li><a href="qtextedit.html#selectAll">selectAll</a>()
+<li><a href="qtextedit.html#selectedText">selectedText</a>()
+<li><a href="qtextedit.html#selectionChanged">selectionChanged</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qmultilineedit.html#setAlignment">setAlignment</a>()
+<li><a href="qtextedit.html#setAutoFormatting">setAutoFormatting</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qmultilineedit.html#setAutoUpdate">setAutoUpdate</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qtextedit.html#setBold">setBold</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtextedit.html#setColor">setColor</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtextedit.html#setCurrentFont">setCurrentFont</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qmultilineedit.html#setCursorPosition">setCursorPosition</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qmultilineedit.html#setEdited">setEdited</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qtextedit.html#setFamily">setFamily</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtextedit.html#setItalic">setItalic</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qtextedit.html#setLinkUnderline">setLinkUnderline</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qmultilineedit.html#setMaxLines">setMaxLines</a>()
+<li><a href="qtextedit.html#setMaxLogLines">setMaxLogLines</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qtextedit.html#setMimeSourceFactory">setMimeSourceFactory</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qtextedit.html#setModified">setModified</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtextedit.html#setOverwriteMode">setOverwriteMode</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtextedit.html#setPaper">setPaper</a>()
+<li><a href="qtextedit.html#setParagraphBackgroundColor">setParagraphBackgroundColor</a>()
+<li><a href="qtextedit.html#setPointSize">setPointSize</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtextedit.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtextedit.html#setSelection">setSelection</a>()
+<li><a href="qtextedit.html#setSelectionAttributes">setSelectionAttributes</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtextedit.html#setStyleSheet">setStyleSheet</a>()
+<li><a href="qtextedit.html#setTabChangesFocus">setTabChangesFocus</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtextedit.html#setTabStopWidth">setTabStopWidth</a>()
+<li><a href="qtextedit.html#setText">setText</a>()
+<li><a href="qtextedit.html#setTextFormat">setTextFormat</a>()
+<li><a href="qtextedit.html#setUnderline">setUnderline</a>()
+<li><a href="qtextedit.html#setUndoDepth">setUndoDepth</a>()
+<li><a href="qtextedit.html#setUndoRedoEnabled">setUndoRedoEnabled</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qtextedit.html#setVerticalAlignment">setVerticalAlignment</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qtextedit.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtextedit.html#setWrapColumnOrWidth">setWrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#setWrapPolicy">setWrapPolicy</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtextedit.html#styleSheet">styleSheet</a>()
+<li><a href="qtextedit.html#sync">sync</a>()
+<li><a href="qtextedit.html#syntaxHighlighter">syntaxHighlighter</a>()
+<li><a href="qtextedit.html#tabChangesFocus">tabChangesFocus</a>()
+<li><a href="qtextedit.html#tabStopWidth">tabStopWidth</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtextedit.html#text">text</a>()
+<li><a href="qtextedit.html#textChanged">textChanged</a>()
+<li><a href="qtextedit.html#textCursor">textCursor</a>()
+<li><a href="qtextedit.html#textFormat">textFormat</a>()
+<li><a href="qmultilineedit.html#textLine">textLine</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qmultilineedit.html#totalHeight">totalHeight</a>()
+<li><a href="qmultilineedit.html#totalWidth">totalWidth</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qtextedit.html#underline">underline</a>()
+<li><a href="qtextedit.html#undo">undo</a>()
+<li><a href="qtextedit.html#undoAvailable">undoAvailable</a>()
+<li><a href="qtextedit.html#undoDepth">undoDepth</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qtextedit.html#wordWrap">wordWrap</a>()
+<li><a href="qtextedit.html#wrapColumnOrWidth">wrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#wrapPolicy">wrapPolicy</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+<li><a href="qtextedit.html#zoomIn">zoomIn</a>()
+<li><a href="qtextedit.html#zoomOut">zoomOut</a>()
+<li><a href="qtextedit.html#zoomTo">zoomTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmultilineedit.html b/doc/html/qmultilineedit.html
new file mode 100644
index 0000000..ef45cbb
--- /dev/null
+++ b/doc/html/qmultilineedit.html
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qmultilineedit.cpp:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMultiLineEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMultiLineEdit Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QMultiLineEdit widget is a simple editor for inputting text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;</tt>
+<p>Inherits <a href="qtextedit.html">QTextEdit</a>.
+<p><a href="qmultilineedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMultiLineEdit"><b>QMultiLineEdit</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QString <a href="#textLine"><b>textLine</b></a> ( int&nbsp;line ) const</li>
+<li class=fn>int <a href="#numLines"><b>numLines</b></a> () const</li>
+<li class=fn>virtual void <a href="#insertLine"><b>insertLine</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;txt, int&nbsp;line = -1 )</li>
+<li class=fn>virtual void <a href="#insertAt"><b>insertAt</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, int&nbsp;line, int&nbsp;col, bool&nbsp;mark )</li>
+<li class=fn>virtual void <a href="#removeLine"><b>removeLine</b></a> ( int&nbsp;paragraph )</li>
+<li class=fn>virtual void <a href="#setCursorPosition"><b>setCursorPosition</b></a> ( int&nbsp;line, int&nbsp;col, bool&nbsp;mark )</li>
+<li class=fn>bool <a href="#atBeginning"><b>atBeginning</b></a> () const</li>
+<li class=fn>bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int&nbsp;flags )</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>void <a href="#setEdited"><b>setEdited</b></a> ( bool )</li>
+<li class=fn>bool <a href="#edited"><b>edited</b></a> () const</li>
+<li class=fn>bool <a href="#hasMarkedText"><b>hasMarkedText</b></a> () const</li>
+<li class=fn>QString <a href="#markedText"><b>markedText</b></a> () const</li>
+<li class=fn>void <a href="#cursorWordForward"><b>cursorWordForward</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>void <a href="#cursorWordBackward"><b>cursorWordBackward</b></a> ( bool&nbsp;mark )</li>
+<li class=fn>bool autoUpdate () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setAutoUpdate ( bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int totalWidth () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int totalHeight () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int maxLines () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setMaxLines ( int ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void deselect () &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>Alignment <a href="#alignment-prop"><b>alignment</b></a>&nbsp;- the editor's paragraph alignment</li>
+<li class=fn>bool <a href="#atBeginning-prop"><b>atBeginning</b></a>&nbsp;- whether the cursor is placed at the beginning of the text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#atEnd-prop"><b>atEnd</b></a>&nbsp;- whether the cursor is placed at the end of the text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#edited-prop"><b>edited</b></a>&nbsp;- whether the document has been edited by the user</li>
+<li class=fn>int <a href="#numLines-prop"><b>numLines</b></a>&nbsp;- the number of paragraphs in the editor &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>QPoint <a href="#cursorPoint"><b>cursorPoint</b></a> () const</li>
+<li class=fn>virtual void <a href="#insertAndMark"><b>insertAndMark</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;mark )</li>
+<li class=fn>virtual void <a href="#newLine"><b>newLine</b></a> ()</li>
+<li class=fn>virtual void <a href="#killLine"><b>killLine</b></a> ()</li>
+<li class=fn>virtual void <a href="#pageUp"><b>pageUp</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>virtual void <a href="#pageDown"><b>pageDown</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>virtual void <a href="#cursorLeft"><b>cursorLeft</b></a> ( bool&nbsp;mark = FALSE, bool&nbsp;wrap = TRUE )</li>
+<li class=fn>virtual void <a href="#cursorRight"><b>cursorRight</b></a> ( bool&nbsp;mark = FALSE, bool&nbsp;wrap = TRUE )</li>
+<li class=fn>virtual void <a href="#cursorUp"><b>cursorUp</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>virtual void <a href="#cursorDown"><b>cursorDown</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>virtual void <a href="#backspace"><b>backspace</b></a> ()</li>
+<li class=fn>virtual void <a href="#home"><b>home</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>virtual void <a href="#end"><b>end</b></a> ( bool&nbsp;mark = FALSE )</li>
+<li class=fn>bool <a href="#getMarkedRegion"><b>getMarkedRegion</b></a> ( int&nbsp;*&nbsp;line1, int&nbsp;*&nbsp;col1, int&nbsp;*&nbsp;line2, int&nbsp;*&nbsp;col2 ) const</li>
+<li class=fn>int <a href="#lineLength"><b>lineLength</b></a> ( int&nbsp;row ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> The QMultiLineEdit widget is a simple editor for inputting text.
+<p>
+<p> The QMultiLineEdit was a simple editor widget in former Qt versions. Qt
+3.0 includes a new richtext engine which obsoletes QMultiLineEdit. It is
+still included for compatibility reasons. It is now a subclass of
+<a href="qtextedit.html">QTextEdit</a>, and provides enough of the old QMultiLineEdit API to keep old
+applications working.
+<p> If you implement something new with QMultiLineEdit, we suggest using
+<a href="qtextedit.html">QTextEdit</a> instead and call <a href="qtextedit.html#setTextFormat">QTextEdit::setTextFormat</a>(Qt::PlainText).
+<p> Although most of the old QMultiLineEdit API is still available, there is
+a few difference. The old QMultiLineEdit operated on lines, not on
+paragraphs. As lines change all the time during wordwrap, the new
+richtext engine uses paragraphs as basic elements in the data structure.
+All functions (<a href="#numLines">numLines</a>(), <a href="#textLine">textLine</a>(), etc.) that operated on lines, now
+operate on paragraphs. Further, getString() has been removed completely.
+It revealed too much of the internal data structure.
+<p> Applications which made normal and reasonable use of QMultiLineEdit
+should still work without problems. Some odd usage will require some
+porting. In these cases, it may be better to use <a href="qtextedit.html">QTextEdit</a> now.
+<p> <img src=qmlined-m.png> <img src=qmlined-w.png>
+<p> <p>See also <a href="qtextedit.html">QTextEdit</a> and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMultiLineEdit"></a>QMultiLineEdit::QMultiLineEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new, empty, QMultiLineEdit with parent <em>parent</em> called
+<em>name</em>.
+
+<h3 class=fn>int <a name="alignment"></a>QMultiLineEdit::alignment () const
+</h3><p>Returns the editor's paragraph alignment.
+See the <a href="qmultilineedit.html#alignment-prop">"alignment"</a> property for details.
+<h3 class=fn>bool <a name="atBeginning"></a>QMultiLineEdit::atBeginning () const
+</h3><p>Returns TRUE if the cursor is placed at the beginning of the text; otherwise returns FALSE.
+See the <a href="qmultilineedit.html#atBeginning-prop">"atBeginning"</a> property for details.
+<h3 class=fn>bool <a name="atEnd"></a>QMultiLineEdit::atEnd () const
+</h3><p>Returns TRUE if the cursor is placed at the end of the text; otherwise returns FALSE.
+See the <a href="qmultilineedit.html#atEnd-prop">"atEnd"</a> property for details.
+<h3 class=fn>bool <a name="autoUpdate"></a>QMultiLineEdit::autoUpdate () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="backspace"></a>QMultiLineEdit::backspace ()<tt> [virtual protected]</tt>
+</h3> Deletes the character on the left side of the text cursor and
+moves the cursor one position to the left. If a text has been selected
+by the user (e.g. by clicking and dragging) the cursor is put at the
+beginning of the selected text and the selected text is removed.
+<a href="qtextedit.html#del">del</a>()
+
+<h3 class=fn>void <a name="cursorDown"></a>QMultiLineEdit::cursorDown ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3>
+Moves the cursor one line down. If <em>mark</em> is TRUE, the text
+is selected.
+<p>See also <a href="#cursorUp">cursorUp</a>(), <a href="#cursorLeft">cursorLeft</a>(), and <a href="#cursorRight">cursorRight</a>().
+
+<h3 class=fn>void <a name="cursorLeft"></a>QMultiLineEdit::cursorLeft ( bool&nbsp;mark = FALSE, bool&nbsp;wrap = TRUE )<tt> [virtual protected]</tt>
+</h3> Moves the cursor one character to the left. If <em>mark</em> is TRUE,
+the text is selected.
+The <em>wrap</em> parameter is currently ignored.
+<p> <p>See also <a href="#cursorRight">cursorRight</a>(), <a href="#cursorUp">cursorUp</a>(), and <a href="#cursorDown">cursorDown</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="cursorPoint"></a>QMultiLineEdit::cursorPoint () const<tt> [protected]</tt>
+</h3> Returns the top center point where the cursor is drawn.
+
+<h3 class=fn>void <a name="cursorRight"></a>QMultiLineEdit::cursorRight ( bool&nbsp;mark = FALSE, bool&nbsp;wrap = TRUE )<tt> [virtual protected]</tt>
+</h3> Moves the cursor one character to the right. If <em>mark</em> is TRUE,
+the text is selected.
+The <em>wrap</em> parameter is currently ignored.
+<p> <p>See also <a href="#cursorLeft">cursorLeft</a>(), <a href="#cursorUp">cursorUp</a>(), and <a href="#cursorDown">cursorDown</a>().
+
+<h3 class=fn>void <a name="cursorUp"></a>QMultiLineEdit::cursorUp ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3> Moves the cursor up one line. If <em>mark</em> is TRUE, the text is
+selected.
+<p> <p>See also <a href="#cursorDown">cursorDown</a>(), <a href="#cursorLeft">cursorLeft</a>(), and <a href="#cursorRight">cursorRight</a>().
+
+<h3 class=fn>void <a name="cursorWordBackward"></a>QMultiLineEdit::cursorWordBackward ( bool&nbsp;mark )
+</h3> Moves the cursor one word to the left. If <em>mark</em> is TRUE, the
+text is selected.
+<p> <p>See also <a href="#cursorWordForward">cursorWordForward</a>().
+
+<h3 class=fn>void <a name="cursorWordForward"></a>QMultiLineEdit::cursorWordForward ( bool&nbsp;mark )
+</h3> Moves the cursor one word to the right. If <em>mark</em> is TRUE, the text
+is selected.
+<p> <p>See also <a href="#cursorWordBackward">cursorWordBackward</a>().
+
+<h3 class=fn>void <a name="deselect"></a>QMultiLineEdit::deselect ()<tt> [slot]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>bool <a name="edited"></a>QMultiLineEdit::edited () const
+</h3><p>Returns TRUE if the document has been edited by the user; otherwise returns FALSE.
+See the <a href="qmultilineedit.html#edited-prop">"edited"</a> property for details.
+<h3 class=fn>void <a name="end"></a>QMultiLineEdit::end ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3> Moves the text cursor to the right end of the line. If <em>mark</em> is
+TRUE, text is selected toward the last position. If it is FALSE and the
+cursor is moved, all selected text is unselected.
+<p> <p>See also <a href="#home">home</a>().
+
+<h3 class=fn>bool <a name="getMarkedRegion"></a>QMultiLineEdit::getMarkedRegion ( int&nbsp;*&nbsp;line1, int&nbsp;*&nbsp;col1, int&nbsp;*&nbsp;line2, int&nbsp;*&nbsp;col2 ) const<tt> [protected]</tt>
+</h3>
+If there is selected text, sets <em>line1</em>, <em>col1</em>, <em>line2</em> and <em>col2</em>
+to the start and end of the selected region and returns TRUE. Returns
+FALSE if there is no selected text.
+
+<h3 class=fn>bool <a name="hasMarkedText"></a>QMultiLineEdit::hasMarkedText () const
+</h3>
+Returns TRUE if there is selected text.
+
+<h3 class=fn>void <a name="home"></a>QMultiLineEdit::home ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3> Moves the text cursor to the left end of the line. If <em>mark</em> is
+TRUE, text is selected toward the first position. If it is FALSE and the
+cursor is moved, all selected text is unselected.
+<p> <p>See also <a href="#end">end</a>().
+
+<h3 class=fn>void <a name="insertAndMark"></a>QMultiLineEdit::insertAndMark ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;mark )<tt> [virtual protected]</tt>
+</h3> Inserts <em>str</em> at the current cursor position and selects the
+text if <em>mark</em> is TRUE.
+
+<h3 class=fn>void <a name="insertAt"></a>QMultiLineEdit::insertAt ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, int&nbsp;line, int&nbsp;col, bool&nbsp;mark )<tt> [virtual]</tt>
+</h3> Inserts string <em>s</em> at paragraph number <em>line</em>, after character
+number <em>col</em> in the paragraph. If <em>s</em> contains newline
+characters, new lines are inserted.
+If <em>mark</em> is TRUE the inserted string will be selected.
+<p> The cursor position is adjusted.
+
+<h3 class=fn>void <a name="insertLine"></a>QMultiLineEdit::insertLine ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt, int&nbsp;line = -1 )<tt> [virtual]</tt>
+</h3> Inserts <em>txt</em> at paragraph number <em>line</em>. If <em>line</em> is less
+than zero, or larger than the number of paragraphs, the new text is
+put at the end. If <em>txt</em> contains newline characters, several
+paragraphs are inserted.
+<p> The cursor position is not changed.
+
+<h3 class=fn>void <a name="killLine"></a>QMultiLineEdit::killLine ()<tt> [virtual protected]</tt>
+</h3> Deletes text from the current cursor position to the end of the
+line. (Note that this function still operates on lines, not paragraphs.)
+
+<h3 class=fn>int <a name="lineLength"></a>QMultiLineEdit::lineLength ( int&nbsp;row ) const<tt> [protected]</tt>
+</h3> Returns the number of characters at paragraph number <em>row</em>. If
+<em>row</em> is out of range, -1 is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="markedText"></a>QMultiLineEdit::markedText () const
+</h3>
+Returns a copy of the selected text.
+
+<h3 class=fn>int <a name="maxLines"></a>QMultiLineEdit::maxLines () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="newLine"></a>QMultiLineEdit::newLine ()<tt> [virtual protected]</tt>
+</h3> Splits the paragraph at the current cursor position.
+
+<h3 class=fn>int <a name="numLines"></a>QMultiLineEdit::numLines () const
+</h3><p>Returns the number of paragraphs in the editor.
+See the <a href="qmultilineedit.html#numLines-prop">"numLines"</a> property for details.
+<h3 class=fn>void <a name="pageDown"></a>QMultiLineEdit::pageDown ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3>
+Moves the cursor one page down. If <em>mark</em> is TRUE, the text
+is selected.
+
+<h3 class=fn>void <a name="pageUp"></a>QMultiLineEdit::pageUp ( bool&nbsp;mark = FALSE )<tt> [virtual protected]</tt>
+</h3>
+Moves the cursor one page up. If <em>mark</em> is TRUE, the text
+is selected.
+
+<h3 class=fn>void <a name="removeLine"></a>QMultiLineEdit::removeLine ( int&nbsp;paragraph )<tt> [virtual]</tt>
+</h3> Deletes the paragraph at paragraph number <em>paragraph</em>. If <em>paragraph</em> is less than zero or larger than the number of paragraphs,
+nothing is deleted.
+
+<h3 class=fn>void <a name="setAlignment"></a>QMultiLineEdit::setAlignment ( int&nbsp;flags )<tt> [virtual]</tt>
+</h3><p>Sets the editor's paragraph alignment to <em>flags</em>.
+See the <a href="qmultilineedit.html#alignment-prop">"alignment"</a> property for details.
+<p>Reimplemented from <a href="qtextedit.html#setAlignment">QTextEdit</a>.
+<h3 class=fn>void <a name="setAutoUpdate"></a>QMultiLineEdit::setAutoUpdate ( bool )<tt> [virtual]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p>Example: <a href="qwerty-example.html#x376">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="setCursorPosition"></a>QMultiLineEdit::setCursorPosition ( int&nbsp;line, int&nbsp;col, bool&nbsp;mark )<tt> [virtual]</tt>
+</h3> Sets the cursor position to character number <em>col</em> in paragraph
+number <em>line</em>. The parameters are adjusted to lie within the legal
+range.
+<p> If <em>mark</em> is FALSE, the selection is cleared. otherwise it is extended.
+<p>
+<h3 class=fn>void <a name="setEdited"></a>QMultiLineEdit::setEdited ( bool )
+</h3><p>Sets whether the document has been edited by the user.
+See the <a href="qmultilineedit.html#edited-prop">"edited"</a> property for details.
+<h3 class=fn>void <a name="setMaxLines"></a>QMultiLineEdit::setMaxLines ( int )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="textLine"></a>QMultiLineEdit::textLine ( int&nbsp;line ) const
+</h3> Returns the text at line number <em>line</em> (possibly the empty
+string), or a <a href="qstring.html#operator!">null string</a> if <em>line</em> is invalid.
+
+<p>Example: <a href="qwerty-example.html#x377">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="totalHeight"></a>QMultiLineEdit::totalHeight () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>int <a name="totalWidth"></a>QMultiLineEdit::totalWidth () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>Alignment <a name="alignment-prop"></a>alignment</h3> <p>This property holds the editor's paragraph alignment.
+<p>Sets the alignment to flag, which must be <a href="qt.html#AlignmentFlags-enum">AlignLeft</a>, <a href="qt.html#AlignmentFlags-enum">AlignHCenter</a> or <a href="qt.html#AlignmentFlags-enum">AlignRight</a>.
+<p> If flag is an illegal flag nothing happens.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<p>Set this property's value with <a href="#setAlignment">setAlignment</a>() and get this property's value with <a href="#alignment">alignment</a>().
+<h3 class=fn>bool <a name="atBeginning-prop"></a>atBeginning</h3> <p>This property holds whether the cursor is placed at the beginning of the text.
+<p>Get this property's value with <a href="#atBeginning">atBeginning</a>().
+<p><p>See also <a href="#atEnd-prop">atEnd</a>.
+
+<h3 class=fn>bool <a name="atEnd-prop"></a>atEnd</h3> <p>This property holds whether the cursor is placed at the end of the text.
+<p>Get this property's value with <a href="#atEnd">atEnd</a>().
+<p><p>See also <a href="#atBeginning-prop">atBeginning</a>.
+
+<h3 class=fn>bool <a name="edited-prop"></a>edited</h3> <p>This property holds whether the document has been edited by the user.
+<p>This is the same as <a href="qtextedit.html">QTextEdit</a>'s "modifed" property.
+<p> <p>See also <a href="qtextedit.html#modified-prop">QTextEdit::modified</a>.
+
+<p>Set this property's value with <a href="#setEdited">setEdited</a>() and get this property's value with <a href="#edited">edited</a>().
+<h3 class=fn>int <a name="numLines-prop"></a>numLines</h3> <p>This property holds the number of paragraphs in the editor.
+<p>The count includes any empty paragraph at top and bottom, so for an
+empty editor this method returns 1.
+
+<p>Get this property's value with <a href="#numLines">numLines</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmutex-h.html b/doc/html/qmutex-h.html
new file mode 100644
index 0000000..9c20161
--- /dev/null
+++ b/doc/html/qmutex-h.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmutex.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qmutex.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qmutex.h</h1>
+
+<p>This is the verbatim text of the qmutex.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qmutex.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QMutex class
+**
+** Created : 931107
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QMUTEX_H
+#define QMUTEX_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+#if defined(QT_THREAD_SUPPORT)
+
+class QMutexPrivate;
+
+const int Q_MUTEX_NORMAL = 0;
+const int Q_MUTEX_RECURSIVE = 1;
+
+class Q_EXPORT QMutex
+{
+ friend class QThread;
+ friend class QWaitCondition;
+ friend class QWaitConditionPrivate;
+
+public:
+ QMutex(bool recursive = FALSE);
+ virtual ~QMutex();
+
+ void lock();
+ void unlock();
+ bool locked();
+ bool tryLock();
+
+private:
+ QMutexPrivate * d;
+
+#if defined(Q_DISABLE_COPY)
+ QMutex( const QMutex &amp; );
+ QMutex &amp;operator=( const QMutex &amp; );
+#endif
+};
+
+class Q_EXPORT QMutexLocker
+{
+public:
+ QMutexLocker( QMutex * );
+ ~QMutexLocker();
+
+ QMutex *mutex() const;
+
+private:
+ QMutex *mtx;
+
+#if defined(Q_DISABLE_COPY)
+ QMutexLocker( const QMutexLocker &amp; );
+ QMutexLocker &amp;operator=( const QMutexLocker &amp; );
+#endif
+};
+
+inline QMutexLocker::QMutexLocker( QMutex *m )
+ : mtx( m )
+{
+ if ( mtx ) mtx-&gt;lock();
+}
+
+inline QMutexLocker::~QMutexLocker()
+{
+ if ( mtx ) mtx-&gt;unlock();
+}
+
+inline QMutex *QMutexLocker::mutex() const
+{
+ return mtx;
+}
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmutex-members.html b/doc/html/qmutex-members.html
new file mode 100644
index 0000000..1225545
--- /dev/null
+++ b/doc/html/qmutex-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmutex.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMutex Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMutex</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmutex.html">QMutex</a>, including inherited members.
+
+<ul>
+<li><a href="qmutex.html#QMutex">QMutex</a>()
+<li><a href="qmutex.html#~QMutex">~QMutex</a>()
+<li><a href="qmutex.html#lock">lock</a>()
+<li><a href="qmutex.html#locked">locked</a>()
+<li><a href="qmutex.html#tryLock">tryLock</a>()
+<li><a href="qmutex.html#unlock">unlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmutex.html b/doc/html/qmutex.html
new file mode 100644
index 0000000..853e811
--- /dev/null
+++ b/doc/html/qmutex.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qmutex_unix.cpp:333 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMutex Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMutex Class Reference</h1>
+
+<p>The QMutex class provides access serialization between threads.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qmutex-h.html">qmutex.h</a>&gt;</tt>
+<p><a href="qmutex-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMutex"><b>QMutex</b></a> ( bool&nbsp;recursive = FALSE )</li>
+<li class=fn>virtual <a href="#~QMutex"><b>~QMutex</b></a> ()</li>
+<li class=fn>void <a href="#lock"><b>lock</b></a> ()</li>
+<li class=fn>void <a href="#unlock"><b>unlock</b></a> ()</li>
+<li class=fn>bool <a href="#locked"><b>locked</b></a> ()</li>
+<li class=fn>bool <a href="#tryLock"><b>tryLock</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QMutex class provides access serialization between threads.
+<p>
+
+<p> The purpose of a QMutex is to protect an object, data structure or
+section of code so that only one thread can access it at a time
+(This is similar to the Java <tt>synchronized</tt> keyword). For
+example, say there is a method which prints a message to the user
+on two lines:
+<p> <pre>
+ int number = 6;
+
+ void method1()
+ {
+ number *= 5;
+ number /= 4;
+ }
+
+ void method2()
+ {
+ number *= 3;
+ number /= 2;
+ }
+ </pre>
+
+<p> If these two methods are called in succession, the following happens:
+<p> <pre>
+ // method1()
+ number *= 5; // number is now 30
+ number /= 4; // number is now 7
+
+ // method2()
+ number *= 3; // nubmer is now 21
+ number /= 2; // number is now 10
+ </pre>
+
+<p> If these two methods are called simultaneously from two threads then the
+following sequence could result:
+<p> <pre>
+ // Thread 1 calls method1()
+ number *= 5; // number is now 30
+
+ // Thread 2 calls method2().
+ //
+ // Most likely Thread 1 has been put to sleep by the operating
+ // system to allow Thread 2 to run.
+ number *= 3; // number is now 90
+ number /= 2; // number is now 45
+
+ // Thread 1 finishes executing.
+ number /= 4; // number is now 11, instead of 10
+ </pre>
+
+<p> If we add a mutex, we should get the result we want:
+<p> <pre>
+ QMutex mutex;
+ int number = 6;
+
+ void method1()
+ {
+ mutex.<a href="#lock">lock</a>();
+ number *= 5;
+ number /= 4;
+ mutex.<a href="#unlock">unlock</a>();
+ }
+
+ void method2()
+ {
+ mutex.<a href="#lock">lock</a>();
+ number *= 3;
+ number /= 2;
+ mutex.<a href="#unlock">unlock</a>();
+ }
+ </pre>
+
+<p> Then only one thread can modify <tt>number</tt> at any given time and
+the result is correct. This is a trivial example, of course, but
+applies to any other case where things need to happen in a
+particular sequence.
+<p> When you call <a href="#lock">lock</a>() in a thread, other threads that try to call
+lock() in the same place will block until the thread that got the
+lock calls <a href="#unlock">unlock</a>(). A non-blocking alternative to lock() is
+<a href="#tryLock">tryLock</a>().
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMutex"></a>QMutex::QMutex ( bool&nbsp;recursive = FALSE )
+</h3>
+Constructs a new mutex. The mutex is created in an unlocked state.
+A recursive mutex is created if <em>recursive</em> is TRUE; a normal
+mutex is created if <em>recursive</em> is FALSE (the default). With a
+recursive mutex, a thread can lock the same mutex multiple times
+and it will not be unlocked until a corresponding number of
+<a href="#unlock">unlock</a>() calls have been made.
+
+<h3 class=fn><a name="~QMutex"></a>QMutex::~QMutex ()<tt> [virtual]</tt>
+</h3>
+Destroys the mutex.
+<p> <b>Warning:</b> If you destroy a mutex that still holds a lock the
+resultant behavior is undefined.
+
+<h3 class=fn>void <a name="lock"></a>QMutex::lock ()
+</h3>
+Attempt to lock the mutex. If another thread has locked the mutex
+then this call will <em>block</em> until that thread has unlocked it.
+<p> <p>See also <a href="#unlock">unlock</a>() and <a href="#locked">locked</a>().
+
+<h3 class=fn>bool <a name="locked"></a>QMutex::locked ()
+</h3>
+Returns TRUE if the mutex is locked by another thread; otherwise
+returns FALSE.
+<p> <b>Warning:</b> Due to differing implementations of recursive mutexes on
+various platforms, calling this function from the same thread that
+previously locked the mutex will return undefined results.
+<p> <p>See also <a href="#lock">lock</a>() and <a href="#unlock">unlock</a>().
+
+<h3 class=fn>bool <a name="tryLock"></a>QMutex::tryLock ()
+</h3>
+Attempt to lock the mutex. If the lock was obtained, this function
+returns TRUE. If another thread has locked the mutex, this
+function returns FALSE, instead of waiting for the mutex to become
+available, i.e. it does not block.
+<p> If the lock was obtained, the mutex must be unlocked with <a href="#unlock">unlock</a>()
+before another thread can successfully lock it.
+<p> <p>See also <a href="#lock">lock</a>(), <a href="#unlock">unlock</a>(), and <a href="#locked">locked</a>().
+
+<h3 class=fn>void <a name="unlock"></a>QMutex::unlock ()
+</h3>
+Unlocks the mutex. Attempting to unlock a mutex in a different
+thread to the one that locked it results in an error. Unlocking a
+mutex that is not locked results in undefined behaviour (varies
+between different Operating Systems' thread implementations).
+<p> <p>See also <a href="#lock">lock</a>() and <a href="#locked">locked</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmutexlocker-members.html b/doc/html/qmutexlocker-members.html
new file mode 100644
index 0000000..944b12d
--- /dev/null
+++ b/doc/html/qmutexlocker-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmutex.h:77 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMutexLocker Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QMutexLocker</h1>
+
+<p>This is the complete list of member functions for
+<a href="qmutexlocker.html">QMutexLocker</a>, including inherited members.
+
+<ul>
+<li><a href="qmutexlocker.html#QMutexLocker">QMutexLocker</a>()
+<li><a href="qmutexlocker.html#~QMutexLocker">~QMutexLocker</a>()
+<li><a href="qmutexlocker.html#mutex">mutex</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qmutexlocker.html b/doc/html/qmutexlocker.html
new file mode 100644
index 0000000..44eff46
--- /dev/null
+++ b/doc/html/qmutexlocker.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qmutex_unix.cpp:511 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QMutexLocker Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMutexLocker Class Reference</h1>
+
+<p>The QMutexLocker class simplifies locking and unlocking QMutexes.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qmutex-h.html">qmutex.h</a>&gt;</tt>
+<p><a href="qmutexlocker-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QMutexLocker"><b>QMutexLocker</b></a> ( QMutex&nbsp;*&nbsp;mutex )</li>
+<li class=fn><a href="#~QMutexLocker"><b>~QMutexLocker</b></a> ()</li>
+<li class=fn>QMutex * <a href="#mutex"><b>mutex</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QMutexLocker class simplifies locking and unlocking QMutexes.
+<p>
+<p>
+
+<p> The purpose of QMutexLocker is to simplify <a href="qmutex.html">QMutex</a> locking and
+unlocking. Locking and unlocking a QMutex in complex functions and
+statements or in exception handling code is error prone and
+difficult to debug. QMutexLocker should be used in such situations
+to ensure that the state of the mutex is well defined and always
+locked and unlocked properly.
+<p> QMutexLocker should be created within a function where a QMutex
+needs to be locked. The mutex is locked when QMutexLocker is
+created, and unlocked when QMutexLocker is destroyed.
+<p> For example, this complex function locks a QMutex upon entering
+the function and unlocks the mutex at all the exit points:
+<p> <pre>
+ int complexFunction( int flag )
+ {
+ mutex.lock();
+
+ int return_value = 0;
+
+ switch ( flag ) {
+ case 0:
+ case 1:
+ {
+ mutex.unlock();
+ return moreComplexFunction( flag );
+ }
+
+ case 2:
+ {
+ int status = anotherFunction();
+ if ( status &lt; 0 ) {
+ mutex.unlock();
+ return -2;
+ }
+ return_value = status + flag;
+ break;
+ }
+
+ default:
+ {
+ if ( flag &gt; 10 ) {
+ mutex.unlock();
+ return -1;
+ }
+ break;
+ }
+ }
+
+ mutex.unlock();
+ return return_value;
+ }
+ </pre>
+
+<p> This example function will get more complicated as it is
+developed, which increases the likelihood that errors will occur.
+<p> Using QMutexLocker greatly simplifies the code, and makes it more
+readable:
+<p> <pre>
+ int complexFunction( int flag )
+ {
+ QMutexLocker locker( &amp;mutex );
+
+ int return_value = 0;
+
+ switch ( flag ) {
+ case 0:
+ case 1:
+ {
+ return moreComplexFunction( flag );
+ }
+
+ case 2:
+ {
+ int status = anotherFunction();
+ if ( status &lt; 0 )
+ return -2;
+ return_value = status + flag;
+ break;
+ }
+
+ default:
+ {
+ if ( flag &gt; 10 )
+ return -1;
+ break;
+ }
+ }
+
+ return return_value;
+ }
+ </pre>
+
+<p> Now, the mutex will always be unlocked when the QMutexLocker
+object is destroyed (when the function returns since <tt>locker</tt> is
+an auto variable). Note that the mutex will be unlocked after
+the call to moreComplexFunction() in this example, avoiding
+possible bugs caused by unlocking the mutex too early, as in
+the first example.
+<p> The same principle applies to code that throws and catches
+exceptions. An exception that is not caught in the function that
+has locked the mutex has no way of unlocking the mutex before the
+exception is passed up the stack to the calling function.
+<p> QMutexLocker also provides a <a href="#mutex">mutex</a>() member function that returns
+the mutex on which the QMutexLocker is operating. This is useful
+for code that needs access to the mutex, such as
+<a href="qwaitcondition.html#wait">QWaitCondition::wait</a>(). For example:
+<p> <pre>
+ class SignalWaiter
+ {
+ private:
+ QMutexLocker locker;
+
+ public:
+ SignalWaiter( <a href="qmutex.html">QMutex</a> *mutex )
+ : locker( mutex )
+ {
+ }
+
+ void waitForSignal()
+ {
+ ...
+ ...
+ ...
+
+ while ( ! signalled )
+ waitcondition.wait( locker.<a href="#mutex">mutex</a>() );
+
+ ...
+ ...
+ ...
+ }
+ };
+ </pre>
+
+<p> <p>See also <a href="qmutex.html">QMutex</a>, <a href="qwaitcondition.html">QWaitCondition</a>, <a href="environment.html">Environment Classes</a>, and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QMutexLocker"></a>QMutexLocker::QMutexLocker ( <a href="qmutex.html">QMutex</a>&nbsp;*&nbsp;mutex )
+</h3>
+
+<p> Constructs a QMutexLocker and locks <em>mutex</em>. The mutex will be
+unlocked when the QMutexLocker is destroyed. If <em>mutex</em> is zero,
+QMutexLocker does nothing.
+<p> <p>See also <a href="qmutex.html#lock">QMutex::lock</a>().
+
+<h3 class=fn><a name="~QMutexLocker"></a>QMutexLocker::~QMutexLocker ()
+</h3>
+
+<p> Destroys the QMutexLocker and unlocks the mutex which was locked
+in the constructor.
+<p> <p>See also <a href="#QMutexLocker">QMutexLocker::QMutexLocker</a>() and <a href="qmutex.html#unlock">QMutex::unlock</a>().
+
+<h3 class=fn><a href="qmutex.html">QMutex</a>&nbsp;* <a name="mutex"></a>QMutexLocker::mutex () const
+</h3>
+
+<p> Returns a pointer to the mutex which was locked in the
+constructor.
+<p> <p>See also <a href="#QMutexLocker">QMutexLocker::QMutexLocker</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnamespace-h.html b/doc/html/qnamespace-h.html
new file mode 100644
index 0000000..578c8b9
--- /dev/null
+++ b/doc/html/qnamespace-h.html
@@ -0,0 +1,965 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnamespace.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qnamespace.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qnamespace.h</h1>
+
+<p>This is the verbatim text of the qnamespace.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qnamespace.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of Qt namespace (as class for compiler compatibility)
+**
+** Created : 980927
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QNAMESPACE_H
+#define QNAMESPACE_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+
+class QColor;
+class QCursor;
+
+
+class Q_EXPORT Qt {
+public:
+ QT_STATIC_CONST QColor &amp; color0;
+ QT_STATIC_CONST QColor &amp; color1;
+ QT_STATIC_CONST QColor &amp; black;
+ QT_STATIC_CONST QColor &amp; white;
+ QT_STATIC_CONST QColor &amp; darkGray;
+ QT_STATIC_CONST QColor &amp; gray;
+ QT_STATIC_CONST QColor &amp; lightGray;
+ QT_STATIC_CONST QColor &amp; red;
+ QT_STATIC_CONST QColor &amp; green;
+ QT_STATIC_CONST QColor &amp; blue;
+ QT_STATIC_CONST QColor &amp; cyan;
+ QT_STATIC_CONST QColor &amp; magenta;
+ QT_STATIC_CONST QColor &amp; yellow;
+ QT_STATIC_CONST QColor &amp; darkRed;
+ QT_STATIC_CONST QColor &amp; darkGreen;
+ QT_STATIC_CONST QColor &amp; darkBlue;
+ QT_STATIC_CONST QColor &amp; darkCyan;
+ QT_STATIC_CONST QColor &amp; darkMagenta;
+ QT_STATIC_CONST QColor &amp; darkYellow;
+
+ // documented in qevent.cpp
+ enum ButtonState { // mouse/keyboard state values
+ NoButton = 0x0000,
+ LeftButton = 0x0001,
+ RightButton = 0x0002,
+ MidButton = 0x0004,
+ MouseButtonMask = 0x0007,
+ ShiftButton = 0x0100,
+ ControlButton = 0x0200,
+ AltButton = 0x0400,
+ MetaButton = 0x0800,
+ KeyButtonMask = 0x0f00,
+ Keypad = 0x4000
+ };
+
+ // documented in qobject.cpp
+ // ideally would start at 1, as in QSizePolicy, but that breaks other things
+ enum Orientation {
+ Horizontal = 0,
+ Vertical
+ };
+
+ // documented in qlistview.cpp
+ enum SortOrder {
+ Ascending,
+ Descending
+ };
+
+ // Text formatting flags for QPainter::drawText and QLabel
+ // the following four enums can be combined to one integer which
+ // is passed as textflag to drawText and qt_format_text.
+
+ // documented in qpainter.cpp
+ enum AlignmentFlags {
+ AlignAuto = 0x0000, // text alignment
+ AlignLeft = 0x0001,
+ AlignRight = 0x0002,
+ AlignHCenter = 0x0004,
+ AlignJustify = 0x0008,
+ AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify,
+ AlignTop = 0x0010,
+ AlignBottom = 0x0020,
+ AlignVCenter = 0x0040,
+ AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter,
+ AlignCenter = AlignVCenter | AlignHCenter
+ };
+
+ // documented in qpainter.cpp
+ enum TextFlags {
+ SingleLine = 0x0080, // misc. flags
+ DontClip = 0x0100,
+ ExpandTabs = 0x0200,
+ ShowPrefix = 0x0400,
+ WordBreak = 0x0800,
+ BreakAnywhere = 0x1000,
+#ifndef Q_QDOC
+ DontPrint = 0x2000,
+ Underline = 0x01000000,
+ Overline = 0x02000000,
+ StrikeOut = 0x04000000,
+ IncludeTrailingSpaces = 0x08000000,
+#endif
+ NoAccel = 0x4000
+ };
+
+ // Widget flags; documented in qwidget.cpp
+ typedef uint WState;
+
+ // QWidget state flags (internal, barely documented in qwidget.cpp)
+ enum WidgetState {
+ WState_Created = 0x00000001,
+ WState_Disabled = 0x00000002,
+ WState_Visible = 0x00000004,
+ WState_ForceHide = 0x00000008,
+ WState_OwnCursor = 0x00000010,
+ WState_MouseTracking = 0x00000020,
+ WState_CompressKeys = 0x00000040,
+ WState_BlockUpdates = 0x00000080,
+ WState_InPaintEvent = 0x00000100,
+ WState_Reparented = 0x00000200,
+ WState_ConfigPending = 0x00000400,
+ WState_Resized = 0x00000800,
+ WState_AutoMask = 0x00001000,
+ WState_Polished = 0x00002000,
+ WState_DND = 0x00004000,
+ WState_Reserved0 = 0x00008000,
+ WState_FullScreen = 0x00010000,
+ WState_OwnSizePolicy = 0x00020000,
+ WState_CreatedHidden = 0x00040000,
+ WState_Maximized = 0x00080000,
+ WState_Minimized = 0x00100000,
+ WState_ForceDisabled = 0x00200000,
+ WState_Exposed = 0x00400000,
+ WState_HasMouse = 0x00800000
+ };
+
+ // Widget flags2; documented in qwidget.cpp
+ typedef uint WFlags;
+
+ // documented in qwidget.cpp
+ enum WidgetFlags {
+ WType_TopLevel = 0x00000001, // widget type flags
+ WType_Dialog = 0x00000002,
+ WType_Popup = 0x00000004,
+ WType_Desktop = 0x00000008,
+ WType_Mask = 0x0000000f,
+
+ WStyle_Customize = 0x00000010, // window style flags
+ WStyle_NormalBorder = 0x00000020,
+ WStyle_DialogBorder = 0x00000040, // MS-Windows only
+ WStyle_NoBorder = 0x00002000,
+ WStyle_Title = 0x00000080,
+ WStyle_SysMenu = 0x00000100,
+ WStyle_Minimize = 0x00000200,
+ WStyle_Maximize = 0x00000400,
+ WStyle_MinMax = WStyle_Minimize | WStyle_Maximize,
+ WStyle_Tool = 0x00000800,
+ WStyle_StaysOnTop = 0x00001000,
+ WStyle_ContextHelp = 0x00004000,
+ WStyle_Reserved = 0x00008000,
+ WStyle_Mask = 0x0000fff0,
+
+ WDestructiveClose = 0x00010000, // misc flags
+ WPaintDesktop = 0x00020000,
+ WPaintUnclipped = 0x00040000,
+ WPaintClever = 0x00080000,
+ WResizeNoErase = 0x00100000, // OBSOLETE
+ WMouseNoMask = 0x00200000,
+ WStaticContents = 0x00400000,
+ WRepaintNoErase = 0x00800000, // OBSOLETE
+#if defined(Q_WS_X11)
+ WX11BypassWM = 0x01000000,
+ WWinOwnDC = 0x00000000,
+ WMacNoSheet = 0x00000000,
+ WMacDrawer = 0x00000000,
+#elif defined(Q_WS_MAC)
+ WX11BypassWM = 0x00000000,
+ WWinOwnDC = 0x00000000,
+ WMacNoSheet = 0x01000000,
+ WMacDrawer = 0x20000000,
+#else
+ WX11BypassWM = 0x00000000,
+ WWinOwnDC = 0x01000000,
+ WMacNoSheet = 0x00000000,
+ WMacDrawer = 0x00000000,
+#endif
+ WGroupLeader = 0x02000000,
+ WShowModal = 0x04000000,
+ WNoMousePropagation = 0x08000000,
+ WSubWindow = 0x10000000,
+#if defined(Q_WS_X11)
+ WStyle_Splash = 0x20000000,
+#else
+ WStyle_Splash = WStyle_NoBorder | WMacNoSheet | WStyle_Tool | WWinOwnDC,
+#endif
+ WNoAutoErase = WRepaintNoErase | WResizeNoErase
+#ifndef QT_NO_COMPAT
+ ,
+ WNorthWestGravity = WStaticContents,
+ WType_Modal = WType_Dialog | WShowModal,
+ WStyle_Dialog = WType_Dialog,
+ WStyle_NoBorderEx = WStyle_NoBorder
+#endif
+ };
+
+ enum WindowState {
+ WindowNoState = 0x00000000,
+ WindowMinimized = 0x00000001,
+ WindowMaximized = 0x00000002,
+ WindowFullScreen = 0x00000004,
+ WindowActive = 0x00000008
+ };
+
+
+ // Image conversion flags. The unusual ordering is caused by
+ // compatibility and default requirements.
+ // Documented in qimage.cpp
+
+ enum ImageConversionFlags {
+ ColorMode_Mask = 0x00000003,
+ AutoColor = 0x00000000,
+ ColorOnly = 0x00000003,
+ MonoOnly = 0x00000002,
+ // Reserved = 0x00000001,
+
+ AlphaDither_Mask = 0x0000000c,
+ ThresholdAlphaDither = 0x00000000,
+ OrderedAlphaDither = 0x00000004,
+ DiffuseAlphaDither = 0x00000008,
+ NoAlpha = 0x0000000c, // Not supported
+
+ Dither_Mask = 0x00000030,
+ DiffuseDither = 0x00000000,
+ OrderedDither = 0x00000010,
+ ThresholdDither = 0x00000020,
+ // ReservedDither= 0x00000030,
+
+ DitherMode_Mask = 0x000000c0,
+ AutoDither = 0x00000000,
+ PreferDither = 0x00000040,
+ AvoidDither = 0x00000080
+ };
+
+ // documented in qpainter.cpp
+ enum BGMode { // background mode
+ TransparentMode,
+ OpaqueMode
+ };
+
+#ifndef QT_NO_COMPAT
+ // documented in qpainter.cpp
+ enum PaintUnit { // paint unit
+ PixelUnit,
+ LoMetricUnit, // OBSOLETE
+ HiMetricUnit, // OBSOLETE
+ LoEnglishUnit, // OBSOLETE
+ HiEnglishUnit, // OBSOLETE
+ TwipsUnit // OBSOLETE
+ };
+#endif
+
+ // documented in qstyle.cpp
+#ifdef QT_NO_COMPAT
+ enum GUIStyle {
+ WindowsStyle = 1, // ### Qt 4.0: either remove the obsolete enums or clean up compat vs.
+ MotifStyle = 4 // ### QT_NO_COMPAT by reordering or combination into one enum.
+ };
+#else
+ enum GUIStyle {
+ MacStyle, // OBSOLETE
+ WindowsStyle,
+ Win3Style, // OBSOLETE
+ PMStyle, // OBSOLETE
+ MotifStyle
+ };
+#endif
+
+ // documented in qkeysequence.cpp
+ enum SequenceMatch {
+ NoMatch,
+ PartialMatch,
+ Identical
+ };
+
+ // documented in qevent.cpp
+ enum Modifier { // accelerator modifiers
+ META = 0x00100000,
+ SHIFT = 0x00200000,
+ CTRL = 0x00400000,
+ ALT = 0x00800000,
+ MODIFIER_MASK = 0x00f00000,
+ UNICODE_ACCEL = 0x10000000,
+
+ ASCII_ACCEL = UNICODE_ACCEL // 1.x compat
+ };
+
+ // documented in qevent.cpp
+ enum Key {
+ Key_Escape = 0x1000, // misc keys
+ Key_Tab = 0x1001,
+ Key_Backtab = 0x1002, Key_BackTab = Key_Backtab,
+ Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace,
+ Key_Return = 0x1004,
+ Key_Enter = 0x1005,
+ Key_Insert = 0x1006,
+ Key_Delete = 0x1007,
+ Key_Pause = 0x1008,
+ Key_Print = 0x1009,
+ Key_SysReq = 0x100a,
+ Key_Clear = 0x100b,
+ Key_Home = 0x1010, // cursor movement
+ Key_End = 0x1011,
+ Key_Left = 0x1012,
+ Key_Up = 0x1013,
+ Key_Right = 0x1014,
+ Key_Down = 0x1015,
+ Key_Prior = 0x1016, Key_PageUp = Key_Prior,
+ Key_Next = 0x1017, Key_PageDown = Key_Next,
+ Key_Shift = 0x1020, // modifiers
+ Key_Control = 0x1021,
+ Key_Meta = 0x1022,
+ Key_Alt = 0x1023,
+ Key_CapsLock = 0x1024,
+ Key_NumLock = 0x1025,
+ Key_ScrollLock = 0x1026,
+ Key_F1 = 0x1030, // function keys
+ Key_F2 = 0x1031,
+ Key_F3 = 0x1032,
+ Key_F4 = 0x1033,
+ Key_F5 = 0x1034,
+ Key_F6 = 0x1035,
+ Key_F7 = 0x1036,
+ Key_F8 = 0x1037,
+ Key_F9 = 0x1038,
+ Key_F10 = 0x1039,
+ Key_F11 = 0x103a,
+ Key_F12 = 0x103b,
+ Key_F13 = 0x103c,
+ Key_F14 = 0x103d,
+ Key_F15 = 0x103e,
+ Key_F16 = 0x103f,
+ Key_F17 = 0x1040,
+ Key_F18 = 0x1041,
+ Key_F19 = 0x1042,
+ Key_F20 = 0x1043,
+ Key_F21 = 0x1044,
+ Key_F22 = 0x1045,
+ Key_F23 = 0x1046,
+ Key_F24 = 0x1047,
+ Key_F25 = 0x1048, // F25 .. F35 only on X11
+ Key_F26 = 0x1049,
+ Key_F27 = 0x104a,
+ Key_F28 = 0x104b,
+ Key_F29 = 0x104c,
+ Key_F30 = 0x104d,
+ Key_F31 = 0x104e,
+ Key_F32 = 0x104f,
+ Key_F33 = 0x1050,
+ Key_F34 = 0x1051,
+ Key_F35 = 0x1052,
+ Key_Super_L = 0x1053, // extra keys
+ Key_Super_R = 0x1054,
+ Key_Menu = 0x1055,
+ Key_Hyper_L = 0x1056,
+ Key_Hyper_R = 0x1057,
+ Key_Help = 0x1058,
+ Key_Direction_L = 0x1059,
+ Key_Direction_R = 0x1060,
+ Key_Space = 0x20, // 7 bit printable ASCII
+ Key_Any = Key_Space,
+ Key_Exclam = 0x21,
+ Key_QuoteDbl = 0x22,
+ Key_NumberSign = 0x23,
+ Key_Dollar = 0x24,
+ Key_Percent = 0x25,
+ Key_Ampersand = 0x26,
+ Key_Apostrophe = 0x27,
+ Key_ParenLeft = 0x28,
+ Key_ParenRight = 0x29,
+ Key_Asterisk = 0x2a,
+ Key_Plus = 0x2b,
+ Key_Comma = 0x2c,
+ Key_Minus = 0x2d,
+ Key_Period = 0x2e,
+ Key_Slash = 0x2f,
+ Key_0 = 0x30,
+ Key_1 = 0x31,
+ Key_2 = 0x32,
+ Key_3 = 0x33,
+ Key_4 = 0x34,
+ Key_5 = 0x35,
+ Key_6 = 0x36,
+ Key_7 = 0x37,
+ Key_8 = 0x38,
+ Key_9 = 0x39,
+ Key_Colon = 0x3a,
+ Key_Semicolon = 0x3b,
+ Key_Less = 0x3c,
+ Key_Equal = 0x3d,
+ Key_Greater = 0x3e,
+ Key_Question = 0x3f,
+ Key_At = 0x40,
+ Key_A = 0x41,
+ Key_B = 0x42,
+ Key_C = 0x43,
+ Key_D = 0x44,
+ Key_E = 0x45,
+ Key_F = 0x46,
+ Key_G = 0x47,
+ Key_H = 0x48,
+ Key_I = 0x49,
+ Key_J = 0x4a,
+ Key_K = 0x4b,
+ Key_L = 0x4c,
+ Key_M = 0x4d,
+ Key_N = 0x4e,
+ Key_O = 0x4f,
+ Key_P = 0x50,
+ Key_Q = 0x51,
+ Key_R = 0x52,
+ Key_S = 0x53,
+ Key_T = 0x54,
+ Key_U = 0x55,
+ Key_V = 0x56,
+ Key_W = 0x57,
+ Key_X = 0x58,
+ Key_Y = 0x59,
+ Key_Z = 0x5a,
+ Key_BracketLeft = 0x5b,
+ Key_Backslash = 0x5c,
+ Key_BracketRight = 0x5d,
+ Key_AsciiCircum = 0x5e,
+ Key_Underscore = 0x5f,
+ Key_QuoteLeft = 0x60,
+ Key_BraceLeft = 0x7b,
+ Key_Bar = 0x7c,
+ Key_BraceRight = 0x7d,
+ Key_AsciiTilde = 0x7e,
+
+ // Latin 1 codes adapted from X: keysymdef.h,v 1.21 94/08/28 16:17:06
+
+ Key_nobreakspace = 0x0a0,
+ Key_exclamdown = 0x0a1,
+ Key_cent = 0x0a2,
+ Key_sterling = 0x0a3,
+ Key_currency = 0x0a4,
+ Key_yen = 0x0a5,
+ Key_brokenbar = 0x0a6,
+ Key_section = 0x0a7,
+ Key_diaeresis = 0x0a8,
+ Key_copyright = 0x0a9,
+ Key_ordfeminine = 0x0aa,
+ Key_guillemotleft = 0x0ab, // left angle quotation mark
+ Key_notsign = 0x0ac,
+ Key_hyphen = 0x0ad,
+ Key_registered = 0x0ae,
+ Key_macron = 0x0af,
+ Key_degree = 0x0b0,
+ Key_plusminus = 0x0b1,
+ Key_twosuperior = 0x0b2,
+ Key_threesuperior = 0x0b3,
+ Key_acute = 0x0b4,
+ Key_mu = 0x0b5,
+ Key_paragraph = 0x0b6,
+ Key_periodcentered = 0x0b7,
+ Key_cedilla = 0x0b8,
+ Key_onesuperior = 0x0b9,
+ Key_masculine = 0x0ba,
+ Key_guillemotright = 0x0bb, // right angle quotation mark
+ Key_onequarter = 0x0bc,
+ Key_onehalf = 0x0bd,
+ Key_threequarters = 0x0be,
+ Key_questiondown = 0x0bf,
+ Key_Agrave = 0x0c0,
+ Key_Aacute = 0x0c1,
+ Key_Acircumflex = 0x0c2,
+ Key_Atilde = 0x0c3,
+ Key_Adiaeresis = 0x0c4,
+ Key_Aring = 0x0c5,
+ Key_AE = 0x0c6,
+ Key_Ccedilla = 0x0c7,
+ Key_Egrave = 0x0c8,
+ Key_Eacute = 0x0c9,
+ Key_Ecircumflex = 0x0ca,
+ Key_Ediaeresis = 0x0cb,
+ Key_Igrave = 0x0cc,
+ Key_Iacute = 0x0cd,
+ Key_Icircumflex = 0x0ce,
+ Key_Idiaeresis = 0x0cf,
+ Key_ETH = 0x0d0,
+ Key_Ntilde = 0x0d1,
+ Key_Ograve = 0x0d2,
+ Key_Oacute = 0x0d3,
+ Key_Ocircumflex = 0x0d4,
+ Key_Otilde = 0x0d5,
+ Key_Odiaeresis = 0x0d6,
+ Key_multiply = 0x0d7,
+ Key_Ooblique = 0x0d8,
+ Key_Ugrave = 0x0d9,
+ Key_Uacute = 0x0da,
+ Key_Ucircumflex = 0x0db,
+ Key_Udiaeresis = 0x0dc,
+ Key_Yacute = 0x0dd,
+ Key_THORN = 0x0de,
+ Key_ssharp = 0x0df,
+ Key_agrave = 0x0e0,
+ Key_aacute = 0x0e1,
+ Key_acircumflex = 0x0e2,
+ Key_atilde = 0x0e3,
+ Key_adiaeresis = 0x0e4,
+ Key_aring = 0x0e5,
+ Key_ae = 0x0e6,
+ Key_ccedilla = 0x0e7,
+ Key_egrave = 0x0e8,
+ Key_eacute = 0x0e9,
+ Key_ecircumflex = 0x0ea,
+ Key_ediaeresis = 0x0eb,
+ Key_igrave = 0x0ec,
+ Key_iacute = 0x0ed,
+ Key_icircumflex = 0x0ee,
+ Key_idiaeresis = 0x0ef,
+ Key_eth = 0x0f0,
+ Key_ntilde = 0x0f1,
+ Key_ograve = 0x0f2,
+ Key_oacute = 0x0f3,
+ Key_ocircumflex = 0x0f4,
+ Key_otilde = 0x0f5,
+ Key_odiaeresis = 0x0f6,
+ Key_division = 0x0f7,
+ Key_oslash = 0x0f8,
+ Key_ugrave = 0x0f9,
+ Key_uacute = 0x0fa,
+ Key_ucircumflex = 0x0fb,
+ Key_udiaeresis = 0x0fc,
+ Key_yacute = 0x0fd,
+ Key_thorn = 0x0fe,
+ Key_ydiaeresis = 0x0ff,
+
+ // multimedia/internet keys - ignored by default - see QKeyEvent c'tor
+
+ Key_Back = 0x1061,
+ Key_Forward = 0x1062,
+ Key_Stop = 0x1063,
+ Key_Refresh = 0x1064,
+
+ Key_VolumeDown = 0x1070,
+ Key_VolumeMute = 0x1071,
+ Key_VolumeUp = 0x1072,
+ Key_BassBoost = 0x1073,
+ Key_BassUp = 0x1074,
+ Key_BassDown = 0x1075,
+ Key_TrebleUp = 0x1076,
+ Key_TrebleDown = 0x1077,
+
+ Key_MediaPlay = 0x1080,
+ Key_MediaStop = 0x1081,
+ Key_MediaPrev = 0x1082,
+ Key_MediaNext = 0x1083,
+ Key_MediaRecord = 0x1084,
+
+ Key_HomePage = 0x1090,
+ Key_Favorites = 0x1091,
+ Key_Search = 0x1092,
+ Key_Standby = 0x1093,
+ Key_OpenUrl = 0x1094,
+
+ Key_LaunchMail = 0x10a0,
+ Key_LaunchMedia = 0x10a1,
+ Key_Launch0 = 0x10a2,
+ Key_Launch1 = 0x10a3,
+ Key_Launch2 = 0x10a4,
+ Key_Launch3 = 0x10a5,
+ Key_Launch4 = 0x10a6,
+ Key_Launch5 = 0x10a7,
+ Key_Launch6 = 0x10a8,
+ Key_Launch7 = 0x10a9,
+ Key_Launch8 = 0x10aa,
+ Key_Launch9 = 0x10ab,
+ Key_LaunchA = 0x10ac,
+ Key_LaunchB = 0x10ad,
+ Key_LaunchC = 0x10ae,
+ Key_LaunchD = 0x10af,
+ Key_LaunchE = 0x10b0,
+ Key_LaunchF = 0x10b1,
+
+ Key_MediaLast = 0x1fff,
+
+ Key_unknown = 0xffff
+ };
+
+ // documented in qcommonstyle.cpp
+ enum ArrowType {
+ UpArrow,
+ DownArrow,
+ LeftArrow,
+ RightArrow
+ };
+
+ // documented in qpainter.cpp
+ enum RasterOp { // raster op mode
+ CopyROP,
+ OrROP,
+ XorROP,
+ NotAndROP, EraseROP=NotAndROP,
+ NotCopyROP,
+ NotOrROP,
+ NotXorROP,
+ AndROP, NotEraseROP=AndROP,
+ NotROP,
+ ClearROP,
+ SetROP,
+ NopROP,
+ AndNotROP,
+ OrNotROP,
+ NandROP,
+ NorROP, LastROP=NorROP
+ };
+
+ // documented in qpainter.cpp
+ enum PenStyle { // pen style
+ NoPen,
+ SolidLine,
+ DashLine,
+ DotLine,
+ DashDotLine,
+ DashDotDotLine,
+ MPenStyle = 0x0f
+ };
+
+ // documented in qpainter.cpp
+ enum PenCapStyle { // line endcap style
+ FlatCap = 0x00,
+ SquareCap = 0x10,
+ RoundCap = 0x20,
+ MPenCapStyle = 0x30
+ };
+
+ // documented in qpainter.cpp
+ enum PenJoinStyle { // line join style
+ MiterJoin = 0x00,
+ BevelJoin = 0x40,
+ RoundJoin = 0x80,
+ MPenJoinStyle = 0xc0
+ };
+
+ // documented in qpainter.cpp
+ enum BrushStyle { // brush style
+ NoBrush,
+ SolidPattern,
+ Dense1Pattern,
+ Dense2Pattern,
+ Dense3Pattern,
+ Dense4Pattern,
+ Dense5Pattern,
+ Dense6Pattern,
+ Dense7Pattern,
+ HorPattern,
+ VerPattern,
+ CrossPattern,
+ BDiagPattern,
+ FDiagPattern,
+ DiagCrossPattern,
+ CustomPattern=24
+ };
+
+ // documented in qapplication_mac.cpp
+ enum MacintoshVersion {
+ //Unknown
+ MV_Unknown = 0x0000,
+
+ //Version numbers
+ MV_9 = 0x0001,
+ MV_10_DOT_0 = 0x0002,
+ MV_10_DOT_1 = 0x0003,
+ MV_10_DOT_2 = 0x0004,
+ MV_10_DOT_3 = 0x0005,
+ MV_10_DOT_4 = 0x0006,
+
+ //Code names
+ MV_CHEETAH = MV_10_DOT_0,
+ MV_PUMA = MV_10_DOT_1,
+ MV_JAGUAR = MV_10_DOT_2,
+ MV_PANTHER = MV_10_DOT_3,
+ MV_TIGER = MV_10_DOT_4
+ };
+
+ // documented in qapplication_win.cpp
+ enum WindowsVersion {
+ WV_32s = 0x0001,
+ WV_95 = 0x0002,
+ WV_98 = 0x0003,
+ WV_Me = 0x0004,
+ WV_DOS_based = 0x000f,
+
+ WV_NT = 0x0010,
+ WV_2000 = 0x0020,
+ WV_XP = 0x0030,
+ WV_2003 = 0x0040,
+ WV_VISTA = 0x0080,
+ WV_NT_based = 0x00f0,
+
+ WV_CE = 0x0100,
+ WV_CENET = 0x0200,
+ WV_CE_based = 0x0f00
+ };
+
+ // documented in qstyle.cpp
+ enum UIEffect {
+ UI_General,
+ UI_AnimateMenu,
+ UI_FadeMenu,
+ UI_AnimateCombo,
+ UI_AnimateTooltip,
+ UI_FadeTooltip,
+ UI_AnimateToolBox
+ };
+
+ // documented in qcursor.cpp
+ enum CursorShape {
+ ArrowCursor,
+ UpArrowCursor,
+ CrossCursor,
+ WaitCursor,
+ IbeamCursor,
+ SizeVerCursor,
+ SizeHorCursor,
+ SizeBDiagCursor,
+ SizeFDiagCursor,
+ SizeAllCursor,
+ BlankCursor,
+ SplitVCursor,
+ SplitHCursor,
+ PointingHandCursor,
+ ForbiddenCursor,
+ WhatsThisCursor,
+ BusyCursor,
+ LastCursor = BusyCursor,
+ BitmapCursor = 24
+ };
+
+ // Global cursors
+
+ QT_STATIC_CONST QCursor &amp; arrowCursor; // standard arrow cursor
+ QT_STATIC_CONST QCursor &amp; upArrowCursor; // upwards arrow
+ QT_STATIC_CONST QCursor &amp; crossCursor; // crosshair
+ QT_STATIC_CONST QCursor &amp; waitCursor; // hourglass/watch
+ QT_STATIC_CONST QCursor &amp; ibeamCursor; // ibeam/text entry
+ QT_STATIC_CONST QCursor &amp; sizeVerCursor; // vertical resize
+ QT_STATIC_CONST QCursor &amp; sizeHorCursor; // horizontal resize
+ QT_STATIC_CONST QCursor &amp; sizeBDiagCursor; // diagonal resize (/)
+ QT_STATIC_CONST QCursor &amp; sizeFDiagCursor; // diagonal resize (\)
+ QT_STATIC_CONST QCursor &amp; sizeAllCursor; // all directions resize
+ QT_STATIC_CONST QCursor &amp; blankCursor; // blank/invisible cursor
+ QT_STATIC_CONST QCursor &amp; splitVCursor; // vertical bar with left-right
+ // arrows
+ QT_STATIC_CONST QCursor &amp; splitHCursor; // horizontal bar with up-down
+ // arrows
+ QT_STATIC_CONST QCursor &amp; pointingHandCursor; // pointing hand
+ QT_STATIC_CONST QCursor &amp; forbiddenCursor; // forbidden cursor (slashed circle)
+ QT_STATIC_CONST QCursor &amp; whatsThisCursor; // arrow with a question mark
+ QT_STATIC_CONST QCursor &amp; busyCursor; // arrow with hourglass
+
+
+ enum TextFormat {
+ PlainText,
+ RichText,
+ AutoText,
+ LogText
+ };
+
+ // Documented in qtextedit.cpp
+ enum AnchorAttribute {
+ AnchorName,
+ AnchorHref
+ };
+
+ // Documented in qmainwindow.cpp
+ enum Dock {
+ DockUnmanaged,
+ DockTornOff,
+ DockTop,
+ DockBottom,
+ DockRight,
+ DockLeft,
+ DockMinimized
+#ifndef QT_NO_COMPAT
+ ,
+ Unmanaged = DockUnmanaged,
+ TornOff = DockTornOff,
+ Top = DockTop,
+ Bottom = DockBottom,
+ Right = DockRight,
+ Left = DockLeft,
+ Minimized = DockMinimized
+#endif
+ };
+ // compatibility
+ typedef Dock ToolBarDock;
+
+ // documented in qdatetime.cpp
+ enum DateFormat {
+ TextDate, // default Qt
+ ISODate, // ISO 8601
+ LocalDate // locale dependent
+ };
+
+ // documented in qdatetime.cpp
+ enum TimeSpec {
+ LocalTime,
+ UTC
+ };
+
+ // documented in qwidget.cpp
+ enum BackgroundMode {
+ FixedColor,
+ FixedPixmap,
+ NoBackground,
+ PaletteForeground,
+ PaletteButton,
+ PaletteLight,
+ PaletteMidlight,
+ PaletteDark,
+ PaletteMid,
+ PaletteText,
+ PaletteBrightText,
+ PaletteBase,
+ PaletteBackground,
+ PaletteShadow,
+ PaletteHighlight,
+ PaletteHighlightedText,
+ PaletteButtonText,
+ PaletteLink,
+ PaletteLinkVisited,
+ X11ParentRelative
+ };
+
+ typedef uint ComparisonFlags;
+
+ // Documented in qstring.cpp
+ enum StringComparisonMode {
+ CaseSensitive = 0x00001, // 0 0001
+ BeginsWith = 0x00002, // 0 0010
+ EndsWith = 0x00004, // 0 0100
+ Contains = 0x00008, // 0 1000
+ ExactMatch = 0x00010 // 1 0000
+ };
+
+ // Documented in qtabwidget.cpp
+ enum Corner {
+ TopLeft = 0x00000,
+ TopRight = 0x00001,
+ BottomLeft = 0x00002,
+ BottomRight = 0x00003
+ };
+
+ // "handle" type for system objects. Documented as \internal in
+ // qapplication.cpp
+#if defined(Q_WS_MAC)
+ typedef void * HANDLE;
+#elif defined(Q_WS_WIN)
+ typedef void *HANDLE;
+#elif defined(Q_WS_X11)
+ typedef unsigned long HANDLE;
+#elif defined(Q_WS_QWS)
+ typedef void * HANDLE;
+#endif
+};
+
+
+class Q_EXPORT QInternal {
+public:
+ enum PaintDeviceFlags {
+ UndefinedDevice = 0x00,
+ Widget = 0x01,
+ Pixmap = 0x02,
+ Printer = 0x03,
+ Picture = 0x04,
+ System = 0x05,
+ DeviceTypeMask = 0x0f,
+ ExternalDevice = 0x10,
+ // used to emulate some of the behaviour different between Qt2 and Qt3 (mainly for printing)
+ CompatibilityMode = 0x20
+ };
+};
+
+#endif // QNAMESPACE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetwork-h.html b/doc/html/qnetwork-h.html
new file mode 100644
index 0000000..e559568
--- /dev/null
+++ b/doc/html/qnetwork-h.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qnetwork.cpp:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qnetwork.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qnetwork.h Example File</h1>
+
+
+<pre></pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetworkoperation-members.html b/doc/html/qnetworkoperation-members.html
new file mode 100644
index 0000000..f5315b7
--- /dev/null
+++ b/doc/html/qnetworkoperation-members.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnetworkprotocol.h:196 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNetworkOperation Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNetworkOperation</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnetworkoperation.html">QNetworkOperation</a>, including inherited members.
+
+<ul>
+<li><a href="qnetworkoperation.html#QNetworkOperation">QNetworkOperation</a>()
+<li><a href="qnetworkoperation.html#~QNetworkOperation">~QNetworkOperation</a>()
+<li><a href="qnetworkoperation.html#arg">arg</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qnetworkoperation.html#errorCode">errorCode</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnetworkoperation.html#free">free</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qnetworkoperation.html#operation">operation</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qnetworkoperation.html#protocolDetail">protocolDetail</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qnetworkoperation.html#rawArg">rawArg</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qnetworkoperation.html#setArg">setArg</a>()
+<li><a href="qnetworkoperation.html#setErrorCode">setErrorCode</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qnetworkoperation.html#setProtocolDetail">setProtocolDetail</a>()
+<li><a href="qnetworkoperation.html#setRawArg">setRawArg</a>()
+<li><a href="qnetworkoperation.html#setState">setState</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qnetworkoperation.html#state">state</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetworkoperation.html b/doc/html/qnetworkoperation.html
new file mode 100644
index 0000000..b61f5ca
--- /dev/null
+++ b/doc/html/qnetworkoperation.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qnetworkprotocol.cpp:974 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNetworkOperation Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNetworkOperation Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QNetworkOperation class provides common operations for network protocols.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qnetworkprotocol-h.html">qnetworkprotocol.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qnetworkoperation-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QNetworkOperation"><b>QNetworkOperation</b></a> ( QNetworkProtocol::Operation&nbsp;operation, const&nbsp;QString&nbsp;&amp;&nbsp;arg0, const&nbsp;QString&nbsp;&amp;&nbsp;arg1, const&nbsp;QString&nbsp;&amp;&nbsp;arg2 )</li>
+<li class=fn><a href="#QNetworkOperation-2"><b>QNetworkOperation</b></a> ( QNetworkProtocol::Operation&nbsp;operation, const&nbsp;QByteArray&nbsp;&amp;&nbsp;arg0, const&nbsp;QByteArray&nbsp;&amp;&nbsp;arg1, const&nbsp;QByteArray&nbsp;&amp;&nbsp;arg2 )</li>
+<li class=fn><a href="#~QNetworkOperation"><b>~QNetworkOperation</b></a> ()</li>
+<li class=fn>void <a href="#setState"><b>setState</b></a> ( QNetworkProtocol::State&nbsp;state )</li>
+<li class=fn>void <a href="#setProtocolDetail"><b>setProtocolDetail</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;detail )</li>
+<li class=fn>void <a href="#setErrorCode"><b>setErrorCode</b></a> ( int&nbsp;ec )</li>
+<li class=fn>void <a href="#setArg"><b>setArg</b></a> ( int&nbsp;num, const&nbsp;QString&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>void <a href="#setRawArg"><b>setRawArg</b></a> ( int&nbsp;num, const&nbsp;QByteArray&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>QNetworkProtocol::Operation <a href="#operation"><b>operation</b></a> () const</li>
+<li class=fn>QNetworkProtocol::State <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>QString <a href="#arg"><b>arg</b></a> ( int&nbsp;num ) const</li>
+<li class=fn>QByteArray <a href="#rawArg"><b>rawArg</b></a> ( int&nbsp;num ) const</li>
+<li class=fn>QString <a href="#protocolDetail"><b>protocolDetail</b></a> () const</li>
+<li class=fn>int <a href="#errorCode"><b>errorCode</b></a> () const</li>
+<li class=fn>void <a href="#free"><b>free</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QNetworkOperation class provides common operations for network protocols.
+
+<p>
+
+<p> An object is created to describe the operation and the current
+state for each operation that a network protocol should process.
+<p> For a detailed description of the Qt Network Architecture and how
+to implement and use network protocols in Qt, see the <a href="network.html">Qt Network Documentation</a>.
+<p> <p>See also <a href="qnetworkprotocol.html">QNetworkProtocol</a> and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNetworkOperation"></a>QNetworkOperation::QNetworkOperation ( <a href="qnetworkprotocol.html#Operation-enum">QNetworkProtocol::Operation</a>&nbsp;operation, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg0, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg2 )
+</h3>
+Constructs a network operation object. <em>operation</em> is the type of
+the operation, and <em>arg0</em>, <em>arg1</em> and <em>arg2</em> are the first
+three arguments of the operation. The state is initialized to
+QNetworkProtocol::StWaiting.
+<p> <p>See also <a href="qnetworkprotocol.html#Operation-enum">QNetworkProtocol::Operation</a> and <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::State</a>.
+
+<h3 class=fn><a name="QNetworkOperation-2"></a>QNetworkOperation::QNetworkOperation ( <a href="qnetworkprotocol.html#Operation-enum">QNetworkProtocol::Operation</a>&nbsp;operation, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;arg0, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;arg1, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;arg2 )
+</h3>
+Constructs a network operation object. <em>operation</em> is the type of
+the operation, and <em>arg0</em>, <em>arg1</em> and <em>arg2</em> are the first
+three raw data arguments of the operation. The state is
+initialized to QNetworkProtocol::StWaiting.
+<p> <p>See also <a href="qnetworkprotocol.html#Operation-enum">QNetworkProtocol::Operation</a> and <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::State</a>.
+
+<h3 class=fn><a name="~QNetworkOperation"></a>QNetworkOperation::~QNetworkOperation ()
+</h3>
+Destructor.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg"></a>QNetworkOperation::arg ( int&nbsp;num ) const
+</h3>
+Returns the operation's <em>num</em>-th argument. If this argument was
+not already set, an empty string is returned.
+
+<p>Example: <a href="networkprotocol-example.html#x672">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>int <a name="errorCode"></a>QNetworkOperation::errorCode () const
+</h3>
+Returns the error code for the last error that occurred.
+
+<h3 class=fn>void <a name="free"></a>QNetworkOperation::free ()
+</h3>
+Sets this object to delete itself when it hasn't been used for one
+second.
+<p> Because QNetworkOperation pointers are passed around a lot the
+<a href="qnetworkprotocol.html">QNetworkProtocol</a> generally does not have enough knowledge to
+delete these at the correct time. If a QNetworkProtocol doesn't
+need an operation any more it will call this function instead.
+<p> Note: you should never need to call the method yourself.
+
+<h3 class=fn><a href="qnetworkprotocol.html#Operation-enum">QNetworkProtocol::Operation</a> <a name="operation"></a>QNetworkOperation::operation () const
+</h3>
+Returns the type of the operation.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="protocolDetail"></a>QNetworkOperation::protocolDetail () const
+</h3>
+Returns a detailed error message for the last error. This must
+have been set using <a href="#setProtocolDetail">setProtocolDetail</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="rawArg"></a>QNetworkOperation::rawArg ( int&nbsp;num ) const
+</h3>
+Returns the operation's <em>num</em>-th raw data argument. If this
+argument was not already set, an empty bytearray is returned.
+
+<h3 class=fn>void <a name="setArg"></a>QNetworkOperation::setArg ( int&nbsp;num, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg )
+</h3>
+Sets the network operation's <em>num</em>-th argument to <em>arg</em>.
+
+<h3 class=fn>void <a name="setErrorCode"></a>QNetworkOperation::setErrorCode ( int&nbsp;ec )
+</h3>
+Sets the error code to <em>ec</em>.
+<p> If the operation failed, the protocol should set an error code to
+describe the error in more detail. If possible, one of the error
+codes defined in <a href="qnetworkprotocol.html">QNetworkProtocol</a> should be used.
+<p> <p>See also <a href="#setProtocolDetail">setProtocolDetail</a>() and <a href="qnetworkprotocol.html#Error-enum">QNetworkProtocol::Error</a>.
+
+<h3 class=fn>void <a name="setProtocolDetail"></a>QNetworkOperation::setProtocolDetail ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;detail )
+</h3>
+If the operation failed, the error message can be specified as <em>detail</em>.
+
+<h3 class=fn>void <a name="setRawArg"></a>QNetworkOperation::setRawArg ( int&nbsp;num, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;arg )
+</h3>
+Sets the network operation's <em>num</em>-th raw data argument to <em>arg</em>.
+
+<h3 class=fn>void <a name="setState"></a>QNetworkOperation::setState ( <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::State</a>&nbsp;state )
+</h3>
+Sets the <em>state</em> of the operation object. This should be done by
+the network protocol during processing; at the end it should be
+set to QNetworkProtocol::StDone or QNetworkProtocol::StFailed,
+depending on success or failure.
+<p> <p>See also <a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::State</a>.
+
+<h3 class=fn><a href="qnetworkprotocol.html#State-enum">QNetworkProtocol::State</a> <a name="state"></a>QNetworkOperation::state () const
+</h3>
+Returns the state of the operation. You can determine whether an
+operation is still waiting to be processed, is being processed,
+has been processed successfully, or failed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetworkprotocol-h.html b/doc/html/qnetworkprotocol-h.html
new file mode 100644
index 0000000..9e28162
--- /dev/null
+++ b/doc/html/qnetworkprotocol-h.html
@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnetworkprotocol.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qnetworkprotocol.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qnetworkprotocol.h</h1>
+
+<p>This is the verbatim text of the qnetworkprotocol.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qnetworkprotocol.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QNetworkProtocol class
+**
+** Created : 950429
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QNETWORKPROTOCOL_H
+#define QNETWORKPROTOCOL_H
+
+#ifndef QT_H
+#include "qurlinfo.h"
+#include "qstring.h"
+#include "qdict.h"
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_NETWORKPROTOCOL
+
+#if __GNUC__ - 0 &gt; 3
+#pragma GCC system_header
+#endif
+
+class QNetworkProtocol;
+class QNetworkOperation;
+class QTimer;
+class QUrlOperator;
+class QNetworkProtocolPrivate;
+template &lt;class T&gt; class QValueList;
+
+class Q_EXPORT QNetworkProtocolFactoryBase
+{
+public:
+ virtual QNetworkProtocol *createObject() = 0;
+
+};
+
+template&lt; class T &gt;
+class QNetworkProtocolFactory : public QNetworkProtocolFactoryBase
+{
+public:
+ QNetworkProtocol *createObject() {
+ return new T;
+ }
+
+};
+
+typedef QDict&lt; QNetworkProtocolFactoryBase &gt; QNetworkProtocolDict;
+
+class Q_EXPORT QNetworkProtocol : public QObject
+{
+ Q_OBJECT
+
+public:
+ enum State {
+ StWaiting = 0,
+ StInProgress,
+ StDone,
+ StFailed,
+ StStopped
+ };
+
+ enum Operation {
+ OpListChildren = 1,
+ OpMkDir = 2,
+ OpMkdir = OpMkDir, // ### remove in 4.0
+ OpRemove = 4,
+ OpRename = 8,
+ OpGet = 32,
+ OpPut = 64
+ };
+
+ enum ConnectionState {
+ ConHostFound,
+ ConConnected,
+ ConClosed
+ };
+
+ enum Error {
+ // no error
+ NoError = 0,
+ // general errors
+ ErrValid,
+ ErrUnknownProtocol,
+ ErrUnsupported,
+ ErrParse,
+ // errors on connect
+ ErrLoginIncorrect,
+ ErrHostNotFound,
+ // protocol errors
+ ErrListChildren,
+ ErrListChlidren = ErrListChildren, // ### remove in 4.0
+ ErrMkDir,
+ ErrMkdir = ErrMkDir, // ### remove in 4.0
+ ErrRemove,
+ ErrRename,
+ ErrGet,
+ ErrPut,
+ ErrFileNotExisting,
+ ErrPermissionDenied
+ };
+
+ QNetworkProtocol();
+ virtual ~QNetworkProtocol();
+
+ virtual void setUrl( QUrlOperator *u );
+
+ virtual void setAutoDelete( bool b, int i = 10000 );
+ bool autoDelete() const;
+
+ static void registerNetworkProtocol( const QString &amp;protocol,
+ QNetworkProtocolFactoryBase *protocolFactory );
+ static QNetworkProtocol *getNetworkProtocol( const QString &amp;protocol );
+ static bool hasOnlyLocalFileSystem();
+
+ virtual int supportedOperations() const;
+ virtual void addOperation( QNetworkOperation *op );
+
+ QUrlOperator *url() const;
+ QNetworkOperation *operationInProgress() const;
+ virtual void clearOperationQueue();
+ virtual void stop();
+
+signals:
+ void data( const QByteArray &amp;, QNetworkOperation *res );
+ void connectionStateChanged( int state, const QString &amp;data );
+ void finished( QNetworkOperation *res );
+ void start( QNetworkOperation *res );
+ void newChildren( const QValueList&lt;QUrlInfo&gt; &amp;, QNetworkOperation *res );
+ void newChild( const QUrlInfo &amp;, QNetworkOperation *res );
+ void createdDirectory( const QUrlInfo &amp;, QNetworkOperation *res );
+ void removed( QNetworkOperation *res );
+ void itemChanged( QNetworkOperation *res );
+ void dataTransferProgress( int bytesDone, int bytesTotal, QNetworkOperation *res );
+
+protected:
+ virtual void processOperation( QNetworkOperation *op );
+ virtual void operationListChildren( QNetworkOperation *op );
+ virtual void operationMkDir( QNetworkOperation *op );
+ virtual void operationRemove( QNetworkOperation *op );
+ virtual void operationRename( QNetworkOperation *op );
+ virtual void operationGet( QNetworkOperation *op );
+ virtual void operationPut( QNetworkOperation *op );
+ virtual void operationPutChunk( QNetworkOperation *op );
+ virtual bool checkConnection( QNetworkOperation *op );
+
+private:
+ QNetworkProtocolPrivate *d;
+
+private slots:
+ void processNextOperation( QNetworkOperation *old );
+ void startOps();
+ void emitNewChildren( const QUrlInfo &amp;i, QNetworkOperation *op );
+
+ void removeMe();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QNetworkProtocol( const QNetworkProtocol &amp; );
+ QNetworkProtocol &amp;operator=( const QNetworkProtocol &amp; );
+#endif
+};
+
+class QNetworkOperationPrivate;
+
+class Q_EXPORT QNetworkOperation : public QObject
+{
+ Q_OBJECT
+ friend class QUrlOperator;
+
+public:
+ QNetworkOperation( QNetworkProtocol::Operation operation,
+ const QString &amp;arg0, const QString &amp;arg1,
+ const QString &amp;arg2 );
+ QNetworkOperation( QNetworkProtocol::Operation operation,
+ const QByteArray &amp;arg0, const QByteArray &amp;arg1,
+ const QByteArray &amp;arg2 );
+ ~QNetworkOperation();
+
+ void setState( QNetworkProtocol::State state );
+ void setProtocolDetail( const QString &amp;detail );
+ void setErrorCode( int ec );
+ void setArg( int num, const QString &amp;arg );
+ void setRawArg( int num, const QByteArray &amp;arg );
+
+ QNetworkProtocol::Operation operation() const;
+ QNetworkProtocol::State state() const;
+ QString arg( int num ) const;
+ QByteArray rawArg( int num ) const;
+ QString protocolDetail() const;
+ int errorCode() const;
+
+ void free();
+
+private slots:
+ void deleteMe();
+
+private:
+ QByteArray &amp;raw( int num ) const;
+ QNetworkOperationPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QNetworkOperation( const QNetworkOperation &amp; );
+ QNetworkOperation &amp;operator=( const QNetworkOperation &amp; );
+#endif
+};
+
+#endif // QT_NO_NETWORKPROTOCOL
+
+#endif // QNETWORKPROTOCOL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetworkprotocol-members.html b/doc/html/qnetworkprotocol-members.html
new file mode 100644
index 0000000..47b17bd
--- /dev/null
+++ b/doc/html/qnetworkprotocol-members.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnetworkprotocol.h:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNetworkProtocol Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNetworkProtocol</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnetworkprotocol.html">QNetworkProtocol</a>, including inherited members.
+
+<ul>
+<li><a href="qnetworkprotocol.html#QNetworkProtocol">QNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#~QNetworkProtocol">~QNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#addOperation">addOperation</a>()
+<li><a href="qnetworkprotocol.html#autoDelete">autoDelete</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qnetworkprotocol.html#checkConnection">checkConnection</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qnetworkprotocol.html#connectionStateChanged">connectionStateChanged</a>()
+<li><a href="qnetworkprotocol.html#createdDirectory">createdDirectory</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qnetworkprotocol.html#data">data</a>()
+<li><a href="qnetworkprotocol.html#dataTransferProgress">dataTransferProgress</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnetworkprotocol.html#finished">finished</a>()
+<li><a href="qnetworkprotocol.html#getNetworkProtocol">getNetworkProtocol</a>()
+<li><a href="qnetworkprotocol.html#hasOnlyLocalFileSystem">hasOnlyLocalFileSystem</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qnetworkprotocol.html#itemChanged">itemChanged</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qnetworkprotocol.html#newChild">newChild</a>()
+<li><a href="qnetworkprotocol.html#newChildren">newChildren</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qnetworkprotocol.html#operationGet">operationGet</a>()
+<li><a href="qnetworkprotocol.html#operationInProgress">operationInProgress</a>()
+<li><a href="qnetworkprotocol.html#operationListChildren">operationListChildren</a>()
+<li><a href="qnetworkprotocol.html#operationMkDir">operationMkDir</a>()
+<li><a href="qnetworkprotocol.html#operationPut">operationPut</a>()
+<li><a href="qnetworkprotocol.html#operationRemove">operationRemove</a>()
+<li><a href="qnetworkprotocol.html#operationRename">operationRename</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qnetworkprotocol.html#removed">removed</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qnetworkprotocol.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qnetworkprotocol.html#setUrl">setUrl</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qnetworkprotocol.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qnetworkprotocol.html#stop">stop</a>()
+<li><a href="qnetworkprotocol.html#supportedOperations">supportedOperations</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qnetworkprotocol.html#url">url</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnetworkprotocol.html b/doc/html/qnetworkprotocol.html
new file mode 100644
index 0000000..60e4c58
--- /dev/null
+++ b/doc/html/qnetworkprotocol.html
@@ -0,0 +1,532 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qnetworkprotocol.cpp:98 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNetworkProtocol Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNetworkProtocol Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QNetworkProtocol class provides a common API for network protocols.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qnetworkprotocol-h.html">qnetworkprotocol.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qftp.html">QFtp</a>, <a href="qhttp.html">QHttp</a>, and <a href="qlocalfs.html">QLocalFs</a>.
+<p><a href="qnetworkprotocol-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { StWaiting = 0, StInProgress, StDone, StFailed, StStopped }</li>
+<li class=fn>enum <a href="#Operation-enum"><b>Operation</b></a> { OpListChildren = 1, OpMkDir = 2, OpMkdir = OpMkDir, OpRemove = 4, OpRename = 8, OpGet = 32, OpPut = 64 }</li>
+<li class=fn>enum <a href="#ConnectionState-enum"><b>ConnectionState</b></a> { ConHostFound, ConConnected, ConClosed }</li>
+<li class=fn>enum <a href="#Error-enum"><b>Error</b></a> { NoError = 0, ErrValid, ErrUnknownProtocol, ErrUnsupported, ErrParse, ErrLoginIncorrect, ErrHostNotFound, ErrListChildren, ErrListChlidren = ErrListChildren, ErrMkDir, ErrMkdir = ErrMkDir, ErrRemove, ErrRename, ErrGet, ErrPut, ErrFileNotExisting, ErrPermissionDenied }</li>
+<li class=fn><a href="#QNetworkProtocol"><b>QNetworkProtocol</b></a> ()</li>
+<li class=fn>virtual <a href="#~QNetworkProtocol"><b>~QNetworkProtocol</b></a> ()</li>
+<li class=fn>virtual void <a href="#setUrl"><b>setUrl</b></a> ( QUrlOperator&nbsp;*&nbsp;u )</li>
+<li class=fn>virtual void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;b, int&nbsp;i = 10000 )</li>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>virtual int <a href="#supportedOperations"><b>supportedOperations</b></a> () const</li>
+<li class=fn>virtual void <a href="#addOperation"><b>addOperation</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>QUrlOperator * <a href="#url"><b>url</b></a> () const</li>
+<li class=fn>QNetworkOperation * <a href="#operationInProgress"><b>operationInProgress</b></a> () const</li>
+<li class=fn>virtual void <a href="#clearOperationQueue"><b>clearOperationQueue</b></a> ()</li>
+<li class=fn>virtual void <a href="#stop"><b>stop</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#data"><b>data</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#connectionStateChanged"><b>connectionStateChanged</b></a> ( int&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;data )</li>
+<li class=fn>void <a href="#finished"><b>finished</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#start"><b>start</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#newChildren"><b>newChildren</b></a> ( const&nbsp;QValueList&lt;QUrlInfo&gt;&nbsp;&amp;&nbsp;i, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#newChild"><b>newChild</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#createdDirectory"><b>createdDirectory</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#removed"><b>removed</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#itemChanged"><b>itemChanged</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#dataTransferProgress"><b>dataTransferProgress</b></a> ( int&nbsp;bytesDone, int&nbsp;bytesTotal, QNetworkOperation&nbsp;*&nbsp;op )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#registerNetworkProtocol"><b>registerNetworkProtocol</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;protocol, QNetworkProtocolFactoryBase&nbsp;*&nbsp;protocolFactory )</li>
+<li class=fn>QNetworkProtocol * <a href="#getNetworkProtocol"><b>getNetworkProtocol</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;protocol )</li>
+<li class=fn>bool <a href="#hasOnlyLocalFileSystem"><b>hasOnlyLocalFileSystem</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#operationListChildren"><b>operationListChildren</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual void <a href="#operationMkDir"><b>operationMkDir</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual void <a href="#operationRemove"><b>operationRemove</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual void <a href="#operationRename"><b>operationRename</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual void <a href="#operationGet"><b>operationGet</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual void <a href="#operationPut"><b>operationPut</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>virtual bool <a href="#checkConnection"><b>checkConnection</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QNetworkProtocol class provides a common API for network protocols.
+
+<p>
+
+
+
+<p> This is a base class which should be used for network protocols
+implementations that can then be used in Qt (e.g. in the file
+dialog) together with the <a href="qurloperator.html">QUrlOperator</a>.
+<p> The easiest way to implement a new network protocol is to
+reimplement the operation*() methods, e.g. <a href="#operationGet">operationGet</a>(), etc.
+Only the supported operations should be reimplemented. To specify
+which operations are supported, also reimplement
+<a href="#supportedOperations">supportedOperations</a>() and return an int that is OR'd together
+using the supported operations from the <a href="#Operation-enum">QNetworkProtocol::Operation</a> enum.
+<p> When you implement a network protocol this way, it is important to
+emit the correct signals. Also, always emit the <a href="#finished">finished</a>() signal
+when an operation is done (on success <em>and</em> on failure). Qt
+relies on correctly emitted finished() signals.
+<p> For a detailed description of the Qt Network Architecture and how
+to implement and use network protocols in Qt, see the <a href="network.html">Qt Network Documentation</a>.
+<p>See also <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ConnectionState-enum"></a>QNetworkProtocol::ConnectionState</h3>
+
+<p> When the connection state of a network protocol changes it emits
+the signal <a href="#connectionStateChanged">connectionStateChanged</a>(). The first argument is one of
+the following values:
+<ul>
+<li><tt>QNetworkProtocol::ConHostFound</tt> - Host has been found.
+<li><tt>QNetworkProtocol::ConConnected</tt> - Connection to the host has been established.
+<li><tt>QNetworkProtocol::ConClosed</tt> - Connection has been closed.
+</ul>
+<h3 class=fn><a name="Error-enum"></a>QNetworkProtocol::Error</h3>
+
+<p> When an operation fails (finishes unsuccessfully), the
+<a href="qnetworkoperation.html">QNetworkOperation</a> of the operation returns an error code which has
+one of the following values:
+<ul>
+<li><tt>QNetworkProtocol::NoError</tt> - No error occurred.
+<li><tt>QNetworkProtocol::ErrValid</tt> - The URL you are operating on is not valid.
+<li><tt>QNetworkProtocol::ErrUnknownProtocol</tt> - There is no protocol implementation
+available for the protocol of the URL you are operating on (e.g.
+if the protocol is http and no http implementation has been
+registered).
+<li><tt>QNetworkProtocol::ErrUnsupported</tt> - The operation is not supported by the
+protocol.
+<li><tt>QNetworkProtocol::ErrParse</tt> - The URL could not be parsed correctly.
+<li><tt>QNetworkProtocol::ErrLoginIncorrect</tt> - You needed to login but the username
+or password is wrong.
+<li><tt>QNetworkProtocol::ErrHostNotFound</tt> - The specified host (in the URL) couldn't
+be found.
+<li><tt>QNetworkProtocol::ErrListChildren</tt> - An error occurred while listing the
+children (files).
+<li><tt>QNetworkProtocol::ErrMkDir</tt> - An error occurred when creating a directory.
+<li><tt>QNetworkProtocol::ErrRemove</tt> - An error occurred when removing a child (file).
+<li><tt>QNetworkProtocol::ErrRename</tt> - An error occurred when renaming a child (file).
+<li><tt>QNetworkProtocol::ErrGet</tt> - An error occurred while getting (retrieving) data.
+<li><tt>QNetworkProtocol::ErrPut</tt> - An error occurred while putting (uploading) data.
+<li><tt>QNetworkProtocol::ErrFileNotExisting</tt> - A file which is needed by the operation
+doesn't exist.
+<li><tt>QNetworkProtocol::ErrPermissionDenied</tt> - Permission for doing the operation has
+been denied.
+</ul><p> You should also use these error codes when implementing custom
+network protocols. If this is not possible, you can define your own
+error codes by using integer values that don't conflict with any
+of these values.
+
+<h3 class=fn><a name="Operation-enum"></a>QNetworkProtocol::Operation</h3>
+
+<p> This enum lists the possible operations that a network protocol
+can support. <a href="#supportedOperations">supportedOperations</a>() returns an int of these that is
+OR'd together. Also, the type() of a <a href="qnetworkoperation.html">QNetworkOperation</a> is always
+one of these values.
+<ul>
+<li><tt>QNetworkProtocol::OpListChildren</tt> - List the children of a URL, e.g. of a directory.
+<li><tt>QNetworkProtocol::OpMkDir</tt> - Create a directory.
+<li><tt>QNetworkProtocol::OpRemove</tt> - Remove a child (e.g. a file).
+<li><tt>QNetworkProtocol::OpRename</tt> - Rename a child (e.g. a file).
+<li><tt>QNetworkProtocol::OpGet</tt> - Get data from a location.
+<li><tt>QNetworkProtocol::OpPut</tt> - Put data to a location.
+</ul>
+<h3 class=fn><a name="State-enum"></a>QNetworkProtocol::State</h3>
+
+<p> This enum contains the state that a <a href="qnetworkoperation.html">QNetworkOperation</a> can have.
+<ul>
+<li><tt>QNetworkProtocol::StWaiting</tt> - The operation is in the QNetworkProtocol's queue
+waiting to be prcessed.
+<li><tt>QNetworkProtocol::StInProgress</tt> - The operation is being processed.
+<li><tt>QNetworkProtocol::StDone</tt> - The operation has been processed succesfully.
+<li><tt>QNetworkProtocol::StFailed</tt> - The operation has been processed but an error occurred.
+<li><tt>QNetworkProtocol::StStopped</tt> - The operation has been processed but has been
+stopped before it finished, and is waiting to be processed.
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNetworkProtocol"></a>QNetworkProtocol::QNetworkProtocol ()
+</h3>
+Constructor of the network protocol base class. Does some
+initialization and connecting of signals and slots.
+
+<h3 class=fn><a name="~QNetworkProtocol"></a>QNetworkProtocol::~QNetworkProtocol ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="addOperation"></a>QNetworkProtocol::addOperation ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual]</tt>
+</h3>
+Adds the operation <em>op</em> to the operation queue. The operation
+will be processed as soon as possible. This method returns
+immediately.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QNetworkProtocol::autoDelete () const
+</h3>
+Returns TRUE if auto-deleting is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setAutoDelete">QNetworkProtocol::setAutoDelete</a>().
+
+<h3 class=fn>bool <a name="checkConnection"></a>QNetworkProtocol::checkConnection ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+For processing operations the network protocol base class calls
+this method quite often. This should be reimplemented by new
+network protocols. It should return TRUE if the connection is OK
+(open); otherwise it should return FALSE. If the connection is not
+open the protocol should open it.
+<p> If the connection can't be opened (e.g. because you already tried
+but the host couldn't be found), set the state of <em>op</em> to
+QNetworkProtocol::StFailed and emit the <a href="#finished">finished</a>() signal with
+this <a href="qnetworkoperation.html">QNetworkOperation</a> as argument.
+<p> <em>op</em> is the operation that needs an open connection.
+
+<p>Example: <a href="networkprotocol-example.html#x673">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="clearOperationQueue"></a>QNetworkProtocol::clearOperationQueue ()<tt> [virtual]</tt>
+</h3>
+Clears the operation queue.
+
+<h3 class=fn>void <a name="connectionStateChanged"></a>QNetworkProtocol::connectionStateChanged ( int&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;data )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the state of the connection of the
+network protocol is changed. <em>state</em> describes the new state,
+which is one of, <a href="#ConnectionState-enum">ConHostFound</a>, <a href="#ConnectionState-enum">ConConnected</a> or <a href="#ConnectionState-enum">ConClosed</a>.
+<em>data</em> is a message text.
+
+<h3 class=fn>void <a name="createdDirectory"></a>QNetworkProtocol::createdDirectory ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when mkdir() has been succesful and the
+directory has been created. <em>i</em> holds the information about the
+new directory. <em>op</em> is the pointer to the operation object which
+contains all the information about the operation, including the
+state, etc. Using op->arg( 0 ), you can get the file name of the
+new directory.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn>void <a name="data"></a>QNetworkProtocol::data ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when new <em>data</em> has been received after
+calling get() or put(). <em>op</em> holds the name of the file from
+which data is retrieved or uploaded in its first argument, and the
+(raw) data in its second argument. You can get them with
+op->arg( 0 ) and op->rawArg( 1 ). <em>op</em> is the pointer to the
+operation object, which contains all the information about the
+operation, including the state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a> (which is used by the network
+protocol) emit its corresponding signal.
+
+<h3 class=fn>void <a name="dataTransferProgress"></a>QNetworkProtocol::dataTransferProgress ( int&nbsp;bytesDone, int&nbsp;bytesTotal, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted during the transfer of data (using put() or
+get()). <em>bytesDone</em> is how many bytes of <em>bytesTotal</em> have been
+transferred. <em>bytesTotal</em> may be -1, which means that the total
+number of bytes is not known. <em>op</em> is the pointer to the
+operation object which contains all the information about the
+operation, including the state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn>void <a name="finished"></a>QNetworkProtocol::finished ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an operation finishes. This signal is
+always emitted, for both success and failure. <em>op</em> is the pointer
+to the operation object which contains all the information about
+the operation, including the state, etc. Check the state and error
+code of the operation object to determine whether or not the
+operation was successful.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn><a href="qnetworkprotocol.html">QNetworkProtocol</a>&nbsp;* <a name="getNetworkProtocol"></a>QNetworkProtocol::getNetworkProtocol ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;protocol )<tt> [static]</tt>
+</h3>
+Static method to get a new instance of the network protocol <em>protocol</em>. For example, if you need to do some FTP operations, do
+the following:
+<pre>
+ <a href="qftp.html">QFtp</a> *ftp = QNetworkProtocol::<a href="#getNetworkProtocol">getNetworkProtocol</a>( "ftp" );
+ </pre>
+
+This returns a pointer to a new instance of an ftp implementation
+or null if no protocol for ftp was registered. The ownership of
+the pointer is transferred to you, so you must delete it if you
+don't need it anymore.
+<p> Normally you should not work directly with network protocols, so
+you will not need to call this method yourself. Instead, use
+<a href="qurloperator.html">QUrlOperator</a>, which makes working with network protocols much more
+convenient.
+<p> <p>See also <a href="qurloperator.html">QUrlOperator</a>.
+
+<h3 class=fn>bool <a name="hasOnlyLocalFileSystem"></a>QNetworkProtocol::hasOnlyLocalFileSystem ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the only protocol registered is for working on the
+local filesystem; returns FALSE if other network protocols are
+also registered.
+
+<h3 class=fn>void <a name="itemChanged"></a>QNetworkProtocol::itemChanged ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a file which is a child of this
+URL has been changed, e.g. by successfully calling rename(). <em>op</em>
+holds the original and the new file names in the first and second
+arguments, accessible with op->arg( 0 ) and op->arg( 1 )
+respectively. <em>op</em> is the pointer to the operation object which
+contains all the information about the operation, including the
+state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn>void <a name="newChild"></a>QNetworkProtocol::newChild ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if a new child (file) has been read.
+QNetworkProtocol automatically connects it to a slot which creates
+a list of <a href="qurlinfo.html">QUrlInfo</a> objects (with just one QUrlInfo <em>i</em>) and emits
+the <a href="#newChildren">newChildren</a>() signal with this list. <em>op</em> is the pointer to
+the operation object which contains all the information about the
+operation that has finished, including the state, etc.
+<p> This is just a convenience signal useful for implementing your own
+network protocol. In all other cases connect to the newChildren()
+signal with its list of QUrlInfo objects.
+
+<h3 class=fn>void <a name="newChildren"></a>QNetworkProtocol::newChildren ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QUrlInfo&gt;&nbsp;&amp;&nbsp;i, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after listChildren() was called and new
+children (files) have been read from the list of files. <em>i</em> holds
+the information about the new children. <em>op</em> is the pointer to
+the operation object which contains all the information about the
+operation, including the state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+<p> When implementing your own network protocol and reading children,
+you usually don't read one child at once, but rather a list of
+them. That's why this signal takes a list of <a href="qurlinfo.html">QUrlInfo</a> objects. If
+you prefer to read just one child at a time you can use the
+convenience signal <a href="#newChild">newChild</a>(), which takes a single QUrlInfo
+object.
+
+<h3 class=fn>void <a name="operationGet"></a>QNetworkProtocol::operationGet ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new network protocol, this method should be
+reimplemented if the protocol supports getting data; this method
+should then process the <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which describes in
+detail how to reimplement this method. You may also want to look
+at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<p>Example: <a href="networkprotocol-example.html#x674">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="operationInProgress"></a>QNetworkProtocol::operationInProgress () const
+</h3>
+Returns the operation, which is being processed, or 0 of no
+operation is being processed at the moment.
+
+<h3 class=fn>void <a name="operationListChildren"></a>QNetworkProtocol::operationListChildren ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new network protocol, this method should be
+reimplemented if the protocol supports listing children (files);
+this method should then process this <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which describes in
+detail how to reimplement this method. You may also want to look
+at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<p>Example: <a href="networkprotocol-example.html#x675">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="operationMkDir"></a>QNetworkProtocol::operationMkDir ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new network protocol, this method should be
+reimplemented if the protocol supports making directories; this
+method should then process this <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which describes in
+detail how to reimplement this method. You may also want to look
+at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<h3 class=fn>void <a name="operationPut"></a>QNetworkProtocol::operationPut ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new network protocol, this method should be
+reimplemented if the protocol supports putting (uploading) data;
+this method should then process the <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which describes in
+detail how to reimplement this method. You may also want to look
+at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<h3 class=fn>void <a name="operationRemove"></a>QNetworkProtocol::operationRemove ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new network protocol, this method should be
+reimplemented if the protocol supports removing children (files);
+this method should then process this <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which is describes
+in detail how to reimplement this method. You may also want to
+look at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<h3 class=fn>void <a name="operationRename"></a>QNetworkProtocol::operationRename ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [virtual protected]</tt>
+</h3>
+When implementing a new newtork protocol, this method should be
+reimplemented if the protocol supports renaming children (files);
+this method should then process this <a href="qnetworkoperation.html">QNetworkOperation</a>.
+<p> When you reimplement this method it's very important that you emit
+the correct signals at the correct time (especially the <a href="#finished">finished</a>()
+signal after processing an operation). Take a look at the <a href="network.html">Qt Network Documentation</a> which describes in
+detail how to reimplement this method. You may also want to look
+at the example implementation in
+examples/network/networkprotocol/nntp.cpp.
+<p> <em>op</em> is the pointer to the operation object which contains all
+the information on the operation that has finished, including the
+state, etc.
+
+<h3 class=fn>void <a name="registerNetworkProtocol"></a>QNetworkProtocol::registerNetworkProtocol ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;protocol, QNetworkProtocolFactoryBase&nbsp;*&nbsp;protocolFactory )<tt> [static]</tt>
+</h3>
+Static method to register a network protocol for Qt. For example,
+if you have an implementation of NNTP (called Nntp) which is
+derived from QNetworkProtocol, call:
+<pre>
+ QNetworkProtocol::<a href="#registerNetworkProtocol">registerNetworkProtocol</a>( "nntp", new QNetworkProtocolFactory&lt;Nntp&gt; );
+ </pre>
+
+after which your implementation is registered for future nntp
+operations.
+<p> The name of the protocol is given in <em>protocol</em> and a pointer to
+the protocol factory is given in <em>protocolFactory</em>.
+
+<h3 class=fn>void <a name="removed"></a>QNetworkProtocol::removed ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when remove() has been succesful and the
+file has been removed. <em>op</em> holds the file name of the removed
+file in the first argument, accessible with op->arg( 0 ). <em>op</em> is
+the pointer to the operation object which contains all the
+information about the operation, including the state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QNetworkProtocol::setAutoDelete ( bool&nbsp;b, int&nbsp;i = 10000 )<tt> [virtual]</tt>
+</h3>
+Because it's sometimes hard to take care of removing network
+protocol instances, QNetworkProtocol provides an auto-delete
+mechanism. If you set <em>b</em> to TRUE, the network protocol instance
+is removed after it has been inactive for <em>i</em> milliseconds (i.e.
+<em>i</em> milliseconds after the last operation has been processed).
+If you set <em>b</em> to FALSE the auto-delete mechanism is switched
+off.
+<p> If you switch on auto-delete, the QNetworkProtocol also deletes
+its <a href="qurloperator.html">QUrlOperator</a>.
+
+<h3 class=fn>void <a name="setUrl"></a>QNetworkProtocol::setUrl ( <a href="qurloperator.html">QUrlOperator</a>&nbsp;*&nbsp;u )<tt> [virtual]</tt>
+</h3>
+Sets the <a href="qurloperator.html">QUrlOperator</a>, on which the protocol works, to <em>u</em>.
+<p> <p>See also <a href="qurloperator.html">QUrlOperator</a>.
+
+<h3 class=fn>void <a name="start"></a>QNetworkProtocol::start ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> Some operations (such as listChildren()) emit this signal when
+they start processing the operation. <em>op</em> is the pointer to the
+operation object which contains all the information about the
+operation, including the state, etc.
+<p> When a protocol emits this signal, QNetworkProtocol is smart
+enough to let the <a href="qurloperator.html">QUrlOperator</a>, which is used by the network
+protocol, emit its corresponding signal.
+
+<h3 class=fn>void <a name="stop"></a>QNetworkProtocol::stop ()<tt> [virtual]</tt>
+</h3>
+Stops the current operation that is being processed and clears all
+waiting operations.
+
+<h3 class=fn>int <a name="supportedOperations"></a>QNetworkProtocol::supportedOperations () const<tt> [virtual]</tt>
+</h3>
+Returns an int that is OR'd together using the enum values of
+<a href="#Operation-enum">QNetworkProtocol::Operation</a>, which describes which operations
+are supported by the network protocol. Should be reimplemented by
+new network protocols.
+
+<p>Example: <a href="networkprotocol-example.html#x676">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qurloperator.html">QUrlOperator</a>&nbsp;* <a name="url"></a>QNetworkProtocol::url () const
+</h3>
+Returns the <a href="qurloperator.html">QUrlOperator</a> on which the protocol works.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnp-h.html b/doc/html/qnp-h.html
new file mode 100644
index 0000000..9dfc20c
--- /dev/null
+++ b/doc/html/qnp-h.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnp.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qnp.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qnp.h</h1>
+
+<p>This is the verbatim text of the qnp.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qnp.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt extension classes for Netscape Plugin support.
+**
+** Created : 970601
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QNP_H
+#define QNP_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+
+struct _NPInstance;
+struct _NPStream;
+class QNPInstance;
+
+class QNPStream {
+public:
+ ~QNPStream();
+
+ const char* url() const;
+ uint end() const;
+ uint lastModified() const;
+
+ const char* type() const;
+ bool seekable() const;
+ bool okay() const;
+ bool complete() const;
+
+ void requestRead(int offset, uint length);
+ int write( int len, void* buffer );
+
+ QNPInstance* instance() { return inst; }
+ QNPStream(QNPInstance*,const char*,_NPStream*,bool);
+ void setOkay(bool);
+ void setComplete(bool);
+
+private:
+ QNPInstance* inst;
+ _NPStream* stream;
+ QString mtype;
+ int seek:1;
+ int isokay:1;
+ int iscomplete:1;
+};
+
+class QNPWidget : public QWidget {
+ Q_OBJECT
+public:
+ QNPWidget();
+ ~QNPWidget();
+ void enterEvent(QEvent*);
+ void leaveEvent(QEvent*);
+
+ virtual void enterInstance();
+ virtual void leaveInstance();
+
+ QNPInstance* instance();
+
+private:
+ _NPInstance* pi;
+};
+
+class QNPInstance : public QObject {
+ Q_OBJECT
+public:
+ ~QNPInstance();
+
+ // Arguments passed to EMBED
+ int argc() const;
+ const char* argn(int) const;
+ const char* argv(int) const;
+ enum Reason {
+ ReasonDone = 0,
+ ReasonBreak = 1,
+ ReasonError = 2,
+ ReasonUnknown = -1
+ };
+ const char* arg(const char* name) const;
+ enum InstanceMode { Embed=1, Full=2, Background=3 };
+ InstanceMode mode() const;
+
+ // The browser's name
+ const char* userAgent() const;
+
+ // Your window.
+ virtual QNPWidget* newWindow();
+ QNPWidget* widget();
+
+ // Incoming streams (SRC=... tag).
+ // Defaults ignore data.
+ enum StreamMode { Normal=1, Seek=2, AsFile=3, AsFileOnly=4 };
+ virtual bool newStreamCreated(QNPStream*, StreamMode&amp; smode);
+ virtual int writeReady(QNPStream*);
+ virtual int write(QNPStream*, int offset, int len, void* buffer);
+ virtual void streamDestroyed(QNPStream*);
+
+ void status(const char* msg);
+ void getURLNotify(const char* url, const char* window=0, void*data=0);
+
+ void getURL(const char* url, const char* window=0);
+ void postURL(const char* url, const char* window,
+ uint len, const char* buf, bool file);
+
+ QNPStream* newStream(const char* mimetype, const char* window,
+ bool as_file=FALSE);
+ virtual void streamAsFile(QNPStream*, const char* fname);
+
+ void* getJavaPeer() const;
+
+ virtual void notifyURL(const char* url, Reason r, void* notifyData);
+ virtual bool printFullPage();
+ virtual void print(QPainter*);
+
+protected:
+ QNPInstance();
+
+private:
+ friend class QNPStream;
+ _NPInstance* pi;
+};
+
+
+class QNPlugin {
+public:
+ // Write this to return your QNPlugin derived class.
+ static QNPlugin* create();
+
+ static QNPlugin* actual();
+
+ virtual ~QNPlugin();
+
+ void getVersionInfo(int&amp; plugin_major, int&amp; plugin_minor,
+ int&amp; browser_major, int&amp; browser_minor);
+
+ virtual QNPInstance* newInstance()=0;
+ virtual const char* getMIMEDescription() const=0;
+ virtual const char* getPluginNameString() const=0;
+ virtual const char* getPluginDescriptionString() const=0;
+
+ virtual void* getJavaClass();
+ virtual void unuseJavaClass();
+ void* getJavaEnv() const;
+
+protected:
+ QNPlugin();
+};
+
+
+#endif // QNP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpinstance-members.html b/doc/html/qnpinstance-members.html
new file mode 100644
index 0000000..f44bff6
--- /dev/null
+++ b/doc/html/qnpinstance-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnp.h:97 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPInstance Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNPInstance</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnpinstance.html">QNPInstance</a>, including inherited members.
+
+<ul>
+<li><a href="qnpinstance.html#QNPInstance">QNPInstance</a>()
+<li><a href="qnpinstance.html#~QNPInstance">~QNPInstance</a>()
+<li><a href="qnpinstance.html#arg">arg</a>()
+<li><a href="qnpinstance.html#argc">argc</a>()
+<li><a href="qnpinstance.html#argn">argn</a>()
+<li><a href="qnpinstance.html#argv">argv</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qnpinstance.html#getJavaPeer">getJavaPeer</a>()
+<li><a href="qnpinstance.html#getURL">getURL</a>()
+<li><a href="qnpinstance.html#getURLNotify">getURLNotify</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qnpinstance.html#mode">mode</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qnpinstance.html#newStream">newStream</a>()
+<li><a href="qnpinstance.html#newStreamCreated">newStreamCreated</a>()
+<li><a href="qnpinstance.html#newWindow">newWindow</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qnpinstance.html#notifyURL">notifyURL</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qnpinstance.html#postURL">postURL</a>()
+<li><a href="qnpinstance.html#print">print</a>()
+<li><a href="qnpinstance.html#printFullPage">printFullPage</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qnpinstance.html#status">status</a>()
+<li><a href="qnpinstance.html#streamAsFile">streamAsFile</a>()
+<li><a href="qnpinstance.html#streamDestroyed">streamDestroyed</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qnpinstance.html#userAgent">userAgent</a>()
+<li><a href="qnpinstance.html#widget">widget</a>()
+<li><a href="qnpinstance.html#write">write</a>()
+<li><a href="qnpinstance.html#writeReady">writeReady</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpinstance.html b/doc/html/qnpinstance.html
new file mode 100644
index 0000000..ca643f2
--- /dev/null
+++ b/doc/html/qnpinstance.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/src/qnp.cpp:870 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPInstance Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNPInstance Class Reference</h1>
+
+<p>The QNPInstance class provides a QObject that is a web browser plugin.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Netscape Extension</b>.
+<p><tt>#include &lt;<a href="qnp-h.html">qnp.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qnpinstance-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#~QNPInstance"><b>~QNPInstance</b></a> ()</li>
+<li class=fn>int <a href="#argc"><b>argc</b></a> () const</li>
+<li class=fn>const char * <a href="#argn"><b>argn</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>const char * <a href="#argv"><b>argv</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>enum <a href="#Reason-enum"><b>Reason</b></a> { ReasonDone = 0, ReasonBreak = 1, ReasonError = 2, ReasonUnknown = -1 }</li>
+<li class=fn>const char * <a href="#arg"><b>arg</b></a> ( const&nbsp;char&nbsp;*&nbsp;name ) const</li>
+<li class=fn>enum <a href="#InstanceMode-enum"><b>InstanceMode</b></a> { Embed = 1, Full = 2, Background = 3 }</li>
+<li class=fn>InstanceMode <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>const char * <a href="#userAgent"><b>userAgent</b></a> () const</li>
+<li class=fn>virtual QNPWidget * <a href="#newWindow"><b>newWindow</b></a> ()</li>
+<li class=fn>QNPWidget * <a href="#widget"><b>widget</b></a> ()</li>
+<li class=fn>enum <a href="#StreamMode-enum"><b>StreamMode</b></a> { Normal = 1, Seek = 2, AsFile = 3, AsFileOnly = 4 }</li>
+<li class=fn>virtual bool <a href="#newStreamCreated"><b>newStreamCreated</b></a> ( QNPStream *, StreamMode&nbsp;&amp;&nbsp;smode )</li>
+<li class=fn>virtual int <a href="#writeReady"><b>writeReady</b></a> ( QNPStream * )</li>
+<li class=fn>virtual int <a href="#write"><b>write</b></a> ( QNPStream *, int&nbsp;offset, int&nbsp;len, void&nbsp;*&nbsp;buffer )</li>
+<li class=fn>virtual void <a href="#streamDestroyed"><b>streamDestroyed</b></a> ( QNPStream * )</li>
+<li class=fn>void <a href="#status"><b>status</b></a> ( const&nbsp;char&nbsp;*&nbsp;msg )</li>
+<li class=fn>void <a href="#getURLNotify"><b>getURLNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0, void&nbsp;*&nbsp;data = 0 )</li>
+<li class=fn>void <a href="#getURL"><b>getURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0 )</li>
+<li class=fn>void <a href="#postURL"><b>postURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;buf, bool&nbsp;file )</li>
+<li class=fn>QNPStream * <a href="#newStream"><b>newStream</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimetype, const&nbsp;char&nbsp;*&nbsp;window, bool&nbsp;as_file = FALSE )</li>
+<li class=fn>virtual void <a href="#streamAsFile"><b>streamAsFile</b></a> ( QNPStream *, const&nbsp;char&nbsp;*&nbsp;fname )</li>
+<li class=fn>void * <a href="#getJavaPeer"><b>getJavaPeer</b></a> () const</li>
+<li class=fn>virtual void <a href="#notifyURL"><b>notifyURL</b></a> ( const&nbsp;char&nbsp;*&nbsp;url, Reason&nbsp;r, void&nbsp;*&nbsp;notifyData )</li>
+<li class=fn>virtual bool <a href="#printFullPage"><b>printFullPage</b></a> ()</li>
+<li class=fn>virtual void <a href="#print"><b>print</b></a> ( QPainter * )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QNPInstance"><b>QNPInstance</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="netscape-plugin.html#Netscape">Netscape</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QNPInstance class provides a <a href="qobject.html">QObject</a> that is a web browser plugin.
+<p>
+<p> Deriving from QNPInstance creates an object that represents a
+single <tt>&lt;EMBED&gt;</tt> tag in an HTML document.
+<p> The QNPInstance is responsible for creating an appropriate
+<a href="qnpwidget.html">QNPWidget</a> window if required (not all plugins have windows), and
+for interacting with the input/output facilities intrinsic to
+plugins.
+<p> Note that there is <em>absolutely no guarantee</em> regarding the order
+in which functions are called. Sometimes the browser will call
+<a href="#newWindow">newWindow</a>() first, at other times, <a href="#newStreamCreated">newStreamCreated</a>() will be
+called first (assuming the <tt>&lt;EMBED&gt;</tt> tag has a SRC parameter).
+<p> <em>None of Qt's GUI functionality</em> may be used until after the
+first call to newWindow(). This includes any use of <a href="qpaintdevice.html">QPaintDevice</a>
+(i.e. <a href="qpixmap.html">QPixmap</a>, <a href="qwidget.html">QWidget</a>, and all subclasses), <a href="qapplication.html">QApplication</a>, anything
+related to <a href="qpainter.html">QPainter</a> (<a href="qbrush.html">QBrush</a>, etc.), fonts, <a href="qmovie.html">QMovie</a>, <a href="qtooltip.html">QToolTip</a>, etc.
+Useful classes which specifically <em>can</em> be used are <a href="qimage.html">QImage</a>,
+<a href="qfile.html">QFile</a>, and <a href="qbuffer.html">QBuffer</a>.
+<p> This restriction can easily be accommodated by structuring your
+plugin so that the task of the QNPInstance is to gather data,
+while the task of the <a href="qnpwidget.html">QNPWidget</a> is to provide a graphical
+interface to that data.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="InstanceMode-enum"></a>QNPInstance::InstanceMode</h3>
+
+<p> This enum type provides Qt-style names for three #defines in
+<tt>npapi.h</tt>:
+<ul>
+<li><tt>QNPInstance::Embed</tt> - corresponds to NP_EMBED
+<li><tt>QNPInstance::Full</tt> - corresponds to NP_FULL
+<li><tt>QNPInstance::Background</tt> - corresponds to NP_BACKGROUND
+</ul><p>
+<h3 class=fn><a name="Reason-enum"></a>QNPInstance::Reason</h3>
+
+<ul>
+<li><tt>QNPInstance::ReasonDone</tt>
+<li><tt>QNPInstance::ReasonBreak</tt>
+<li><tt>QNPInstance::ReasonError</tt>
+<li><tt>QNPInstance::ReasonUnknown</tt>
+</ul>
+<h3 class=fn><a name="StreamMode-enum"></a>QNPInstance::StreamMode</h3>
+
+<ul>
+<li><tt>QNPInstance::Normal</tt>
+<li><tt>QNPInstance::Seek</tt>
+<li><tt>QNPInstance::AsFile</tt>
+<li><tt>QNPInstance::AsFileOnly</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNPInstance"></a>QNPInstance::QNPInstance ()<tt> [protected]</tt>
+</h3>
+Creates a QNPInstance.
+<p> Can only be called from within a derived class created within
+<a href="qnplugin.html#newInstance">QNPlugin::newInstance</a>().
+
+<h3 class=fn><a name="~QNPInstance"></a>QNPInstance::~QNPInstance ()
+</h3>
+Called when the plugin instance is about to be deleted.
+
+<h3 class=fn>const char * <a name="arg"></a>QNPInstance::arg ( const&nbsp;char&nbsp;*&nbsp;name ) const
+</h3>
+Returns the value of the named arguments, or 0 if no argument
+called <em>name</em> appears in the <tt>&lt;EMBED&gt;</tt> tag of this instance.
+If the argument appears, but has no value assigned, the empty
+string is returned. In summary:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Tag <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;EMBED ...&gt;</tt> <td valign="top">arg("FOO") == 0
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;EMBED FOO ...&gt;</tt> <td valign="top">arg("FOO") == ""
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;EMBED FOO=BAR ...&gt;</tt> <td valign="top">arg("FOO") == "BAR"
+</table></center>
+
+<h3 class=fn>int <a name="argc"></a>QNPInstance::argc () const
+</h3>
+Returns the number of arguments to the instance. Note that you
+should not normally rely on the ordering of arguments, and
+note that the SGML specification does not permit multiple
+arguments with the same name.
+<p> <p>See also <a href="#arg">arg</a>() and <a href="#argn">argn</a>().
+
+<h3 class=fn>const char * <a name="argn"></a>QNPInstance::argn ( int&nbsp;i ) const
+</h3>
+Returns the name of the <em>i</em>-th argument.
+<p> <p>See also <a href="#argc">argc</a>() and <a href="#argv">argv</a>().
+
+<h3 class=fn>const char * <a name="argv"></a>QNPInstance::argv ( int&nbsp;i ) const
+</h3>
+Returns the value of the <em>i</em>-th argument.
+<p> \as <a href="#argc">argc</a>(), <a href="#arg">arg</a>()
+
+<h3 class=fn>void * <a name="getJavaPeer"></a>QNPInstance::getJavaPeer () const
+</h3>
+Returns the Java object associated with the plugin instance, an
+object of the <a href="qnplugin.html#getJavaClass">plugin's Java
+ class</a>, or 0 if the plug-in does not have a Java class,
+Java is disabled, or an error occurred.
+<p> The return value is actually a <tt>jref</tt> we use <tt>void*</tt> so as to
+avoid burdening plugins which do not require Java.
+<p> <p>See also <a href="qnplugin.html#getJavaClass">QNPlugin::getJavaClass</a>() and <a href="qnplugin.html#getJavaEnv">QNPlugin::getJavaEnv</a>().
+
+<h3 class=fn>void <a name="getURL"></a>QNPInstance::getURL ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0 )
+</h3>
+Requests that the <em>url</em> be retrieved and sent to the named <em>window</em>. See <a href="netscape-plugin.html#Netscape">Netscape</a>'s JavaScript documentation for an explanation
+of window names.
+
+<h3 class=fn>void <a name="getURLNotify"></a>QNPInstance::getURLNotify ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window = 0, void&nbsp;*&nbsp;data = 0 )
+</h3>
+Requests that the given <em>url</em> be retrieved and sent to
+the named <em>window</em>. See <a href="netscape-plugin.html#Netscape">Netscape</a>'s JavaScript documentation for
+an explanation of window names. Passes the arguments including <em>data</em> to NPN_GetURLNotify.
+<p>
+<a href="http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#npngeturlnotify">Netscape: NPN_GetURLNotify method</a>
+
+<h3 class=fn><a href="qnpinstance.html#InstanceMode-enum">InstanceMode</a> <a name="mode"></a>QNPInstance::mode () const
+</h3>
+Returns the mode of the plugin.
+
+<h3 class=fn><a href="qnpstream.html">QNPStream</a>&nbsp;* <a name="newStream"></a>QNPInstance::newStream ( const&nbsp;char&nbsp;*&nbsp;mimetype, const&nbsp;char&nbsp;*&nbsp;window, bool&nbsp;as_file = FALSE )
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Requests the creation of a new data stream <em>from</em> the plugin.
+The MIME type and window are passed in <em>mimetype</em> and <em>window</em>.
+<em>as_file</em> holds the <a href="#StreamMode-enum">AsFileOnly</a> flag. It is an interface to the
+NPN_NewStream function of the <a href="netscape-plugin.html#Netscape">Netscape</a> Plugin API.
+
+<h3 class=fn>bool <a name="newStreamCreated"></a>QNPInstance::newStreamCreated ( <a href="qnpstream.html">QNPStream</a>&nbsp;*, <a href="qnpinstance.html#StreamMode-enum">StreamMode</a>&nbsp;&amp;&nbsp;smode )<tt> [virtual]</tt>
+</h3>
+
+<p> This function is called when a new stream has been created. The
+instance should return TRUE if it accepts the processing of the
+stream. If the instance requires the stream as a file, it should
+set <em>smode</em> to <a href="#StreamMode-enum">AsFileOnly</a>, in which case the data will be
+delivered some time later to the <a href="#streamAsFile">streamAsFile</a>() function.
+Otherwise, the data will be delivered in chunks to the <a href="#write">write</a>()
+function, which must consume at least as much data as returned
+by the most recent call to <a href="#writeReady">writeReady</a>().
+<p> Note that the <a href="#StreamMode-enum">AsFileOnly</a> method is not supported by <a href="netscape-plugin.html#Netscape">Netscape</a>
+2.0 and MSIE 3.0.
+<p> The default implementation accepts any stream.
+
+<h3 class=fn><a href="qnpwidget.html">QNPWidget</a>&nbsp;* <a name="newWindow"></a>QNPInstance::newWindow ()<tt> [virtual]</tt>
+</h3>
+Called at most once, at some time after the QNPInstance is
+created. If the plugin requires a window, this function should
+return a derived class of <a href="qnpwidget.html">QNPWidget</a> that provides the required
+interface.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2751">grapher/grapher.cpp</a>.
+<h3 class=fn>void <a name="notifyURL"></a>QNPInstance::notifyURL ( const&nbsp;char&nbsp;*&nbsp;url, <a href="qnpinstance.html#Reason-enum">Reason</a>&nbsp;r, void&nbsp;*&nbsp;notifyData )<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Called whenever a <em>url</em> is notified after a call to
+NPN_GetURLNotify with <em>notifyData</em>. The reason is given in <em>r</em>.
+<p> It is an encapsulation of the NPP_URLNotify function of the
+<a href="netscape-plugin.html#Netscape">Netscape</a> Plugin API.
+<p> See also:
+<a href="http://developer.netscape.com/docs/manuals/communicator/plugin/refpgur.htm#nppurlnotify">Netscape: NPP_URLNotify method</a>
+
+<h3 class=fn>void <a name="postURL"></a>QNPInstance::postURL ( const&nbsp;char&nbsp;*&nbsp;url, const&nbsp;char&nbsp;*&nbsp;window, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;buf, bool&nbsp;file )
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> It is an interface to the NPN_PostURL function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+<p> Passes <em>url</em>, <em>window</em>, <em>buf</em>, <em>len</em>, and <em>file</em> to
+NPN_PostURL.
+
+<h3 class=fn>void <a name="print"></a>QNPInstance::print ( <a href="qpainter.html">QPainter</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> Print the instance embedded in a page.
+<p> It is an encapsulation of the NPP_Print function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+
+<h3 class=fn>bool <a name="printFullPage"></a>QNPInstance::printFullPage ()<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> This function is <em>not tested</em>.
+<p> It is an encapsulation of the NPP_Print function of the <a href="netscape-plugin.html#Netscape">Netscape</a>
+Plugin API.
+
+<h3 class=fn>void <a name="status"></a>QNPInstance::status ( const&nbsp;char&nbsp;*&nbsp;msg )
+</h3>
+Sets the status message in the browser containing this instance to
+<em>msg</em>.
+
+<h3 class=fn>void <a name="streamAsFile"></a>QNPInstance::streamAsFile ( <a href="qnpstream.html">QNPStream</a>&nbsp;*, const&nbsp;char&nbsp;*&nbsp;fname )<tt> [virtual]</tt>
+</h3>
+Called when a stream is delivered as a single file called <em>fname</em>
+rather than as chunks. This may be simpler for a plugin to deal
+with, but precludes any incremental behavior.
+<p> Note that the <a href="#StreamMode-enum">AsFileOnly</a> method is not supported by <a href="netscape-plugin.html#Netscape">Netscape</a>
+2.0 and MSIE 3.0.
+<p> <p>See also <a href="#newStreamCreated">newStreamCreated</a>() and <a href="#newStream">newStream</a>().
+
+<h3 class=fn>void <a name="streamDestroyed"></a>QNPInstance::streamDestroyed ( <a href="qnpstream.html">QNPStream</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Called when a stream is destroyed. At this point, the stream may
+be complete() and okay(). If it is not okay(), then an error has
+occurred. If it is okay(), but not complete(), then the user has
+cancelled the transmission; do not give an error message in this
+case.
+
+<h3 class=fn>const char * <a name="userAgent"></a>QNPInstance::userAgent () const
+</h3>
+Returns the user agent (browser name) containing this instance.
+
+<h3 class=fn><a href="qnpwidget.html">QNPWidget</a>&nbsp;* <a name="widget"></a>QNPInstance::widget ()
+</h3>
+Returns the plugin window created by <a href="#newWindow">newWindow</a>(), if any.
+
+<h3 class=fn>int <a name="write"></a>QNPInstance::write ( <a href="qnpstream.html">QNPStream</a>&nbsp;*, int&nbsp;offset, int&nbsp;len, void&nbsp;*&nbsp;buffer )<tt> [virtual]</tt>
+</h3>
+
+<p> Called when incoming data is available for processing by the
+instance. The instance <em>must</em> consume at least the amount that it
+returned in the most recent call to <a href="#writeReady">writeReady</a>(), but it may
+consume up to the amount given by <em>len</em>. <em>buffer</em> is the data
+available for consumption. The <em>offset</em> argument is merely an
+informational value indicating the total amount of data that has
+been consumed in prior calls.
+<p> This function should return the amount of data actually consumed.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2752">grapher/grapher.cpp</a>.
+<h3 class=fn>int <a name="writeReady"></a>QNPInstance::writeReady ( <a href="qnpstream.html">QNPStream</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Returns the minimum amount of data the instance is willing to
+receive from the given stream.
+<p> The default returns a very large value.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnplugin-members.html b/doc/html/qnplugin-members.html
new file mode 100644
index 0000000..314c8da
--- /dev/null
+++ b/doc/html/qnplugin-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnp.h:157 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnplugin.html">QNPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qnplugin.html#QNPlugin">QNPlugin</a>()
+<li><a href="qnplugin.html#~QNPlugin">~QNPlugin</a>()
+<li><a href="qnplugin.html#actual">actual</a>()
+<li><a href="qnplugin.html#create">create</a>()
+<li><a href="qnplugin.html#getJavaClass">getJavaClass</a>()
+<li><a href="qnplugin.html#getJavaEnv">getJavaEnv</a>()
+<li><a href="qnplugin.html#getMIMEDescription">getMIMEDescription</a>()
+<li><a href="qnplugin.html#getPluginDescriptionString">getPluginDescriptionString</a>()
+<li><a href="qnplugin.html#getPluginNameString">getPluginNameString</a>()
+<li><a href="qnplugin.html#getVersionInfo">getVersionInfo</a>()
+<li><a href="qnplugin.html#newInstance">newInstance</a>()
+<li><a href="qnplugin.html#unuseJavaClass">unuseJavaClass</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnplugin.html b/doc/html/qnplugin.html
new file mode 100644
index 0000000..96647d3
--- /dev/null
+++ b/doc/html/qnplugin.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/src/qnp.cpp:1421 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNPlugin Class Reference</h1>
+
+<p>The QNPlugin class provides the main factory for plugin objects.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Netscape Extension</b>.
+<p><tt>#include &lt;<a href="qnp-h.html">qnp.h</a>&gt;</tt>
+<p><a href="qnplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QNPlugin"><b>~QNPlugin</b></a> ()</li>
+<li class=fn>void <a href="#getVersionInfo"><b>getVersionInfo</b></a> ( int&nbsp;&amp;&nbsp;plugin_major, int&nbsp;&amp;&nbsp;plugin_minor, int&nbsp;&amp;&nbsp;browser_major, int&nbsp;&amp;&nbsp;browser_minor )</li>
+<li class=fn>virtual QNPInstance * <a href="#newInstance"><b>newInstance</b></a> () = 0</li>
+<li class=fn>virtual const char * <a href="#getMIMEDescription"><b>getMIMEDescription</b></a> () const = 0</li>
+<li class=fn>virtual const char * <a href="#getPluginNameString"><b>getPluginNameString</b></a> () const = 0</li>
+<li class=fn>virtual const char * <a href="#getPluginDescriptionString"><b>getPluginDescriptionString</b></a> () const = 0</li>
+<li class=fn>virtual void * <a href="#getJavaClass"><b>getJavaClass</b></a> ()</li>
+<li class=fn>virtual void <a href="#unuseJavaClass"><b>unuseJavaClass</b></a> ()</li>
+<li class=fn>void * <a href="#getJavaEnv"><b>getJavaEnv</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QNPlugin * <a href="#create"><b>create</b></a> ()</li>
+<li class=fn>QNPlugin * <a href="#actual"><b>actual</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QNPlugin"><b>QNPlugin</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="netscape-plugin.html#Netscape">Netscape</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QNPlugin class provides the main factory for plugin objects.
+<p>
+<p> This class is the heart of the plugin. One instance of this object
+is created when the plugin is <em>first</em> needed, by calling
+<a href="#create">QNPlugin::create</a>(), which must be implemented in your plugin code
+to return some derived class of QNPlugin. The one QNPlugin object
+creates all <a href="qnpinstance.html">QNPInstance</a> instances for a web browser running in a
+single process.
+<p> Additionally, if Qt is linked to the plugin as a dynamic library,
+only one instance of <a href="qapplication.html">QApplication</a> will exist <em>across all plugins that have been made with Qt</em>. So, your plugin should tread lightly
+on global settings. Do not, for example, use
+<a href="qapplication.html#setFont">QApplication::setFont</a>() - that will change the font in every
+widget of every Qt-based plugin currently loaded!
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNPlugin"></a>QNPlugin::QNPlugin ()<tt> [protected]</tt>
+</h3>
+Creates a QNPlugin. This may only be used by the constructor
+of the class, derived from QNPlugin, that is returned by your
+plugin's implementation of the <a href="#create">QNPlugin::create</a>() function.
+
+<h3 class=fn><a name="~QNPlugin"></a>QNPlugin::~QNPlugin ()<tt> [virtual]</tt>
+</h3>
+Destroys the QNPlugin. This is called by the plugin binding code
+just before the plugin is about to be unloaded from memory. If
+newWindow() has been called, a <a href="qapplication.html">QApplication</a> will still exist at
+this time, but will be deleted shortly after, just before the plugin
+is deleted.
+
+<h3 class=fn><a href="qnplugin.html">QNPlugin</a>&nbsp;* <a name="actual"></a>QNPlugin::actual ()<tt> [static]</tt>
+</h3>
+Returns the plugin most recently returned by <a href="#create">QNPlugin::create</a>().
+
+<h3 class=fn><a href="qnplugin.html">QNPlugin</a>&nbsp;* <a name="create"></a>QNPlugin::create ()<tt> [static]</tt>
+</h3>
+
+<p> This function must be implemented by your plugin code. It should return a
+derived class of QNPlugin.
+
+<h3 class=fn>void * <a name="getJavaClass"></a>QNPlugin::getJavaClass ()<tt> [virtual]</tt>
+</h3>
+Override this function to return a reference to the Java class that represents
+the plugin. The default returns 0, indicating no class.
+<p> If you override this class, you must also override
+<a href="#unuseJavaClass">QNPlugin::unuseJavaClass</a>().
+<p> The return value is actually a <tt>jref</tt>; we use <tt>void*</tt> so as to
+avoid burdening plugins which do not require Java.
+<p> <p>See also <a href="#getJavaEnv">getJavaEnv</a>() and <a href="qnpinstance.html#getJavaPeer">QNPInstance::getJavaPeer</a>().
+
+<h3 class=fn>void * <a name="getJavaEnv"></a>QNPlugin::getJavaEnv () const
+</h3>
+Returns a pointer to the Java execution environment, or 0 if
+either Java is disabled or an error occurred.
+<p> The return value is actually a <tt>JRIEnv*</tt>; we use <tt>void*</tt> so as
+to avoid burdening plugins which do not require Java.
+<p> <p>See also <a href="#getJavaClass">getJavaClass</a>() and <a href="qnpinstance.html#getJavaPeer">QNPInstance::getJavaPeer</a>().
+
+<h3 class=fn>const char * <a name="getMIMEDescription"></a>QNPlugin::getMIMEDescription () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Override this function to return the MIME description of the data formats
+supported by your plugin. The format of this string is shown by
+the following example:
+<p> <pre>
+ const char* getMIMEDescription() const
+ {
+ return "image/x-png:png:PNG Image;"
+ "image/png:png:PNG Image;"
+ "image/x-portable-bitmap:pbm:PBM Image;"
+ "image/x-portable-graymap:pgm:PGM Image;"
+ "image/x-portable-pixmap:ppm:PPM Image;"
+ "image/bmp:bmp:BMP Image;"
+ "image/x-ms-bmp:bmp:BMP Image;"
+ "image/x-xpixmap:xpm:XPM Image;"
+ "image/xpm:xpm:XPM Image";
+ }
+</pre>
+
+
+<h3 class=fn>const char * <a name="getPluginDescriptionString"></a>QNPlugin::getPluginDescriptionString () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a pointer to the plain-text description of the plugin.
+
+<h3 class=fn>const char * <a name="getPluginNameString"></a>QNPlugin::getPluginNameString () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a pointer to the plain-text name of the plugin.
+
+<h3 class=fn>void <a name="getVersionInfo"></a>QNPlugin::getVersionInfo ( int&nbsp;&amp;&nbsp;plugin_major, int&nbsp;&amp;&nbsp;plugin_minor, int&nbsp;&amp;&nbsp;browser_major, int&nbsp;&amp;&nbsp;browser_minor )
+</h3>
+Populates <em>*</em><em>plugin_major</em> and <em>*</em><em>plugin_minor</em> with the
+version of the plugin API and populates <em>*</em><em>browser_major</em> and
+<em>*</em><em>browser_minor</em> with the version of the web browser.
+
+<h3 class=fn><a href="qnpinstance.html">QNPInstance</a>&nbsp;* <a name="newInstance"></a>QNPlugin::newInstance ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Override this function to return an appropriate derived class of
+<a href="qnpinstance.html">QNPInstance</a>.
+
+<h3 class=fn>void <a name="unuseJavaClass"></a>QNPlugin::unuseJavaClass ()<tt> [virtual]</tt>
+</h3>
+This function is called when the plugin is shutting down. The
+function should <em>unuse</em> the Java class returned earlier by
+<a href="#getJavaClass">getJavaClass</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpstream-members.html b/doc/html/qnpstream-members.html
new file mode 100644
index 0000000..c21da3d
--- /dev/null
+++ b/doc/html/qnpstream-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnp.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPStream Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNPStream</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnpstream.html">QNPStream</a>, including inherited members.
+
+<ul>
+<li><a href="qnpstream.html#QNPStream">QNPStream</a>()
+<li><a href="qnpstream.html#~QNPStream">~QNPStream</a>()
+<li><a href="qnpstream.html#complete">complete</a>()
+<li><a href="qnpstream.html#end">end</a>()
+<li><a href="qnpstream.html#instance">instance</a>()
+<li><a href="qnpstream.html#lastModified">lastModified</a>()
+<li><a href="qnpstream.html#okay">okay</a>()
+<li><a href="qnpstream.html#requestRead">requestRead</a>()
+<li><a href="qnpstream.html#seekable">seekable</a>()
+<li><a href="qnpstream.html#type">type</a>()
+<li><a href="qnpstream.html#url">url</a>()
+<li><a href="qnpstream.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpstream.html b/doc/html/qnpstream.html
new file mode 100644
index 0000000..479c71a
--- /dev/null
+++ b/doc/html/qnpstream.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/src/qnp.cpp:1271 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPStream Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNPStream Class Reference</h1>
+
+<p>The QNPStream class provides a stream of data provided to a QNPInstance by the browser.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Netscape Extension</b>.
+<p><tt>#include &lt;<a href="qnp-h.html">qnp.h</a>&gt;</tt>
+<p><a href="qnpstream-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#~QNPStream"><b>~QNPStream</b></a> ()</li>
+<li class=fn>const char * <a href="#url"><b>url</b></a> () const</li>
+<li class=fn>uint <a href="#end"><b>end</b></a> () const</li>
+<li class=fn>uint <a href="#lastModified"><b>lastModified</b></a> () const</li>
+<li class=fn>const char * <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>bool <a href="#seekable"><b>seekable</b></a> () const</li>
+<li class=fn>bool <a href="#okay"><b>okay</b></a> () const</li>
+<li class=fn>bool <a href="#complete"><b>complete</b></a> () const</li>
+<li class=fn>void <a href="#requestRead"><b>requestRead</b></a> ( int&nbsp;offset, uint&nbsp;length )</li>
+<li class=fn>int <a href="#write"><b>write</b></a> ( int&nbsp;len, void&nbsp;*&nbsp;buffer )</li>
+<li class=fn>QNPInstance * <a href="#instance"><b>instance</b></a> ()</li>
+<li class=fn><a href="#QNPStream"><b>QNPStream</b></a> ( QNPInstance&nbsp;*&nbsp;in, const&nbsp;char&nbsp;*&nbsp;mt, _NPStream&nbsp;*&nbsp;st, bool&nbsp;se )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="netscape-plugin.html#Netscape">Netscape</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QNPStream class provides a stream of data provided to a <a href="qnpinstance.html">QNPInstance</a> by the browser.
+<p>
+<p> Note that this is neither a <a href="qtextstream.html">QTextStream</a> nor a <a href="qdatastream.html">QDataStream</a>.
+<p> <p>See also <a href="qnpinstance.html#write">QNPInstance::write</a>() and <a href="qnpinstance.html#newStreamCreated">QNPInstance::newStreamCreated</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNPStream"></a>QNPStream::QNPStream ( <a href="qnpinstance.html">QNPInstance</a>&nbsp;*&nbsp;in, const&nbsp;char&nbsp;*&nbsp;mt, _NPStream&nbsp;*&nbsp;st, bool&nbsp;se )
+</h3>
+Creates a stream. Plugins should not call this; they should call
+<a href="qnpinstance.html#newStream">QNPInstance::newStream</a>() if they need a stream.
+<p> Takes a <a href="qnpinstance.html">QNPInstance</a> <em>in</em>, MIME type <em>mt</em>, a pointer to an
+_NPStream <em>st</em> and a seekable flag <em>se</em>.
+
+<h3 class=fn><a name="~QNPStream"></a>QNPStream::~QNPStream ()
+</h3>
+Destroys the stream.
+
+<h3 class=fn>bool <a name="complete"></a>QNPStream::complete () const
+</h3>
+Returns TRUE if the stream has received all the data from the
+source; otherwise returns FALSE.
+
+<h3 class=fn>uint <a name="end"></a>QNPStream::end () const
+</h3>
+Returns the length of the stream in bytes. The function might
+return 0 for streams of unknown length.
+
+<h3 class=fn><a href="qnpinstance.html">QNPInstance</a>&nbsp;* <a name="instance"></a>QNPStream::instance ()
+</h3>
+
+<p> Returns the <a href="qnpinstance.html">QNPInstance</a> for which this stream was created.
+
+<h3 class=fn>uint <a name="lastModified"></a>QNPStream::lastModified () const
+</h3>
+Returns the time when the source of the stream was last modified.
+
+<h3 class=fn>bool <a name="okay"></a>QNPStream::okay () const
+</h3>
+Returns TRUE if no errors have occurred on the stream; otherwise
+returns FALSE.
+
+<h3 class=fn>void <a name="requestRead"></a>QNPStream::requestRead ( int&nbsp;offset, uint&nbsp;length )
+</h3>
+Requests the section of the stream, of <em>length</em> bytes from <em>offset</em>, be sent to the <a href="qnpinstance.html#write">QNPInstance::write</a>() function of the
+<a href="#instance">instance</a>() of this stream.
+
+<h3 class=fn>bool <a name="seekable"></a>QNPStream::seekable () const
+</h3>
+Returns TRUE if the stream is seekable; otherwise returns FALSE.
+
+<h3 class=fn>const char * <a name="type"></a>QNPStream::type () const
+</h3>
+Returns the MIME type of the stream.
+
+<h3 class=fn>const char * <a name="url"></a>QNPStream::url () const
+</h3>
+Returns the URL from which the stream was created.
+
+<h3 class=fn>int <a name="write"></a>QNPStream::write ( int&nbsp;len, void&nbsp;*&nbsp;buffer )
+</h3>
+Writes <em>len</em> bytes from <em>buffer</em> <em>to</em> the stream.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpwidget-members.html b/doc/html/qnpwidget-members.html
new file mode 100644
index 0000000..c20b97e
--- /dev/null
+++ b/doc/html/qnpwidget-members.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnp.h:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QNPWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qnpwidget.html">QNPWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qnpwidget.html#QNPWidget">QNPWidget</a>()
+<li><a href="qnpwidget.html#~QNPWidget">~QNPWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qnpwidget.html#enterInstance">enterInstance</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qnpwidget.html#instance">instance</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qnpwidget.html#leaveInstance">leaveInstance</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qnpwidget.html b/doc/html/qnpwidget.html
new file mode 100644
index 0000000..22fb216
--- /dev/null
+++ b/doc/html/qnpwidget.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/src/qnp.cpp:750 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QNPWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QNPWidget Class Reference</h1>
+
+<p>The QNPWidget class provides a QWidget that is a web browser plugin window.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Netscape Extension</b>.
+<p><tt>#include &lt;<a href="qnp-h.html">qnp.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qnpwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QNPWidget"><b>QNPWidget</b></a> ()</li>
+<li class=fn><a href="#~QNPWidget"><b>~QNPWidget</b></a> ()</li>
+<li class=fn>virtual void <a href="#enterInstance"><b>enterInstance</b></a> ()</li>
+<li class=fn>virtual void <a href="#leaveInstance"><b>leaveInstance</b></a> ()</li>
+<li class=fn>QNPInstance * <a href="#instance"><b>instance</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="netscape-plugin.html#Netscape">Netscape</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QNPWidget class provides a <a href="qwidget.html">QWidget</a> that is a web browser plugin window.
+<p>
+<p> Derive from QNPWidget to create a widget that can be used as a
+web browser plugin window, or create one and add child widgets.
+Instances of QNPWidget may only be created when
+<a href="qnpinstance.html#newWindow">QNPInstance::newWindow</a>() is called by the browser.
+<p> A common way to develop a plugin widget is to develop it as a
+stand-alone application window, then make it a <em>child</em> of a
+plugin widget to use it as a browser plugin. The technique is:
+<p> <pre>
+class MyPluginWindow : public QNPWidget
+{
+ <a href="qwidget.html">QWidget</a>* child;
+public:
+ MyPluginWindow()
+ {
+ // Some widget that is normally used as a top-level widget
+ child = new MyIndependentlyDevelopedWidget();
+
+ // Use the background color of the web page
+ child-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( <a href="qwidget.html#backgroundColor">backgroundColor</a>() );
+
+ // Fill the plugin widget
+ child-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 0, 0, width(), height() );
+ }
+
+ void resizeEvent(QResizeEvent*)
+ {
+ // Fill the plugin widget
+ child-&gt;<a href="qwidget.html#resize">resize</a>(<a href="qwidget.html#size">size</a>());
+ }
+};
+</pre>
+
+<p> The default implementation is an empty window.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QNPWidget"></a>QNPWidget::QNPWidget ()
+</h3>
+Creates a QNPWidget.
+
+<h3 class=fn><a name="~QNPWidget"></a>QNPWidget::~QNPWidget ()
+</h3>
+Destroys the window. This will be called by the plugin binding
+code when the window is no longer required. The web browser will
+delete windows when they leave the page. The bindings will change
+the <a href="qwidget.html#winId">QWidget::winId</a>() of the window when the window is resized, but
+this should not affect normal widget behavior.
+
+<h3 class=fn>void <a name="enterInstance"></a>QNPWidget::enterInstance ()<tt> [virtual]</tt>
+</h3>
+Called when the mouse enters the plugin window. Does nothing by
+default.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2753">grapher/grapher.cpp</a>.
+<h3 class=fn><a href="qnpinstance.html">QNPInstance</a>&nbsp;* <a name="instance"></a>QNPWidget::instance ()
+</h3>
+Returns the instance for which this widget is the plugin window.
+
+<h3 class=fn>void <a name="leaveInstance"></a>QNPWidget::leaveInstance ()<tt> [virtual]</tt>
+</h3>
+Called when the mouse leaves the plugin window. Does nothing by
+default.
+
+<p>Example: <a href="grapher-nsplugin-example.html#x2754">grapher/grapher.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobject-h.html b/doc/html/qobject-h.html
new file mode 100644
index 0000000..5ae32bd
--- /dev/null
+++ b/doc/html/qobject-h.html
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobject.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qobject.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qobject.h</h1>
+
+<p>This is the verbatim text of the qobject.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qobject.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QObject class
+**
+** Created : 930418
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QOBJECT_H
+#define QOBJECT_H
+
+#ifndef QT_H
+#include "qobjectdefs.h"
+#include "qwindowdefs.h"
+#include "qstring.h"
+#include "qevent.h"
+#include "qnamespace.h"
+#endif // QT_H
+
+#define QT_TR_NOOP(x) (x)
+#define QT_TRANSLATE_NOOP(scope,x) (x)
+
+class QMetaObject;
+class QVariant;
+class QMetaProperty;
+class QPostEventList;
+class QSenderObjectList;
+class QObjectPrivate;
+#ifndef QT_NO_USERDATA
+class QObjectUserData;
+#endif
+struct QUObject;
+
+class Q_EXPORT QObject: public Qt
+{
+ Q_OBJECT
+ Q_PROPERTY( QCString name READ name WRITE setName )
+
+public:
+ QObject( QObject *parent=0, const char *name=0 );
+ virtual ~QObject();
+
+#ifdef Q_QDOC
+ virtual const char *className() const;
+ static QString tr( const char *, const char * );
+ static QString trUtf8( const char *, const char * );
+ virtual QMetaObject *metaObject() const;
+#endif
+
+ virtual bool event( QEvent * );
+ virtual bool eventFilter( QObject *, QEvent * );
+
+ bool isA( const char * ) const;
+ bool inherits( const char * ) const;
+
+ const char *name() const;
+ const char *name( const char * defaultName ) const;
+
+ virtual void setName( const char *name );
+ bool isWidgetType() const { return isWidget; }
+ bool highPriority() const { return FALSE; }
+
+ bool signalsBlocked() const { return blockSig; }
+ void blockSignals( bool b );
+
+ int startTimer( int interval );
+ void killTimer( int id );
+ void killTimers();
+
+ QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE ); //### const in 4.0
+ const QObjectList *children() const { return childObjects; }
+
+ static const QObjectList *objectTrees();
+
+ QObjectList *queryList( const char *inheritsClass = 0,
+ const char *objName = 0,
+ bool regexpMatch = TRUE,
+ bool recursiveSearch = TRUE ) const;
+
+ virtual void insertChild( QObject * );
+ virtual void removeChild( QObject * );
+
+ void installEventFilter( const QObject * );
+ void removeEventFilter( const QObject * );
+
+ static bool connect( const QObject *sender, const char *signal,
+ const QObject *receiver, const char *member );
+ bool connect( const QObject *sender, const char *signal,
+ const char *member ) const;
+ static bool disconnect( const QObject *sender, const char *signal,
+ const QObject *receiver, const char *member );
+ bool disconnect( const char *signal=0,
+ const QObject *receiver=0, const char *member=0 );
+ bool disconnect( const QObject *receiver, const char *member=0 );
+ static void connectInternal( const QObject *sender, int signal_index,
+ const QObject *receiver, int membcode, int member_index );
+ static bool disconnectInternal( const QObject *sender, int signal_index,
+ const QObject *receiver, int membcode, int member_index );
+
+ void dumpObjectTree();
+ void dumpObjectInfo();
+
+#ifndef QT_NO_PROPERTIES
+ virtual bool setProperty( const char *name, const QVariant&amp; value );
+ virtual QVariant property( const char *name ) const;
+#endif // QT_NO_PROPERTIES
+#ifdef QT_NO_TRANSLATION
+ static QString tr( const char *sourceText, const char * = 0);
+#ifndef QT_NO_TEXTCODEC
+ static QString trUtf8( const char *sourceText, const char * = 0);
+#endif
+#endif //QT_NO_TRANSLATION
+
+#ifndef QT_NO_USERDATA
+ static uint registerUserData();
+ void setUserData( uint id, QObjectUserData* data);
+ QObjectUserData* userData( uint id ) const;
+#endif // QT_NO_USERDATA
+
+signals:
+ void destroyed();
+ void destroyed( QObject* obj );
+
+public:
+ QObject *parent() const { return parentObj; }
+
+public slots:
+ void deleteLater();
+
+private slots:
+ void cleanupEventFilter( QObject* );
+
+protected:
+ bool activate_filters( QEvent * );
+ QConnectionList *receivers( const char* signal ) const;
+ QConnectionList *receivers( int signal ) const;
+ void activate_signal( int signal );
+ void activate_signal( int signal, int );
+ void activate_signal( int signal, double );
+ void activate_signal( int signal, QString );
+ void activate_signal_bool( int signal, bool );
+ void activate_signal( QConnectionList *clist, QUObject *o );
+
+ const QObject *sender();
+
+ virtual void timerEvent( QTimerEvent * );
+ virtual void childEvent( QChildEvent * );
+ virtual void customEvent( QCustomEvent * );
+
+ virtual void connectNotify( const char *signal );
+ virtual void disconnectNotify( const char *signal );
+ virtual bool checkConnectArgs( const char *signal, const QObject *receiver,
+ const char *member );
+ static QCString normalizeSignalSlot( const char *signalSlot );
+
+private:
+ uint isSignal : 1;
+ uint isWidget : 1;
+ uint pendTimer : 1;
+ uint blockSig : 1;
+ uint wasDeleted : 1;
+ uint isTree : 1;
+
+ const char *objname;
+ QObject *parentObj;
+ QObjectList *childObjects;
+ QSignalVec *connections;
+ QSenderObjectList *senderObjects;
+ QObjectList *eventFilters;
+ QPostEventList *postedEvents;
+ QObjectPrivate* d;
+
+ static QMetaObject* staticQtMetaObject();
+
+ friend class QApplication;
+ friend class QBaseApplication;
+ friend class QWidget;
+ friend class QSignal;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QObject( const QObject &amp; );
+ QObject &amp;operator=( const QObject &amp; );
+#endif
+};
+
+
+#ifndef QT_NO_USERDATA
+class Q_EXPORT QObjectUserData {
+public:
+ virtual ~QObjectUserData();
+};
+#endif
+
+
+inline bool QObject::connect( const QObject *sender, const char *signal,
+ const char *member ) const
+{
+ return connect( sender, signal, this, member );
+}
+
+
+inline bool QObject::disconnect( const char *signal,
+ const QObject *receiver, const char *member )
+{
+ return disconnect( this, signal, receiver, member );
+}
+
+
+inline bool QObject::disconnect( const QObject *receiver, const char *member )
+{
+ return disconnect( this, 0, receiver, member );
+}
+
+
+#ifdef QT_NO_TRANSLATION
+inline QString QObject::tr( const char *sourceText, const char * ) {
+ return QString::fromLatin1( sourceText );
+}
+#ifndef QT_NO_TEXTCODEC
+inline QString QObject::trUtf8( const char *sourceText, const char * ) {
+ return QString::fromUtf8( sourceText );
+}
+#endif
+#endif //QT_NO_TRANSLATION
+
+
+#define Q_DEFINED_QOBJECT
+#include "qwinexport.h"
+#endif // QOBJECT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobject-members.html b/doc/html/qobject-members.html
new file mode 100644
index 0000000..cd5125c
--- /dev/null
+++ b/doc/html/qobject-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobject.h:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObject Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QObject</h1>
+
+<p>This is the complete list of member functions for
+<a href="qobject.html">QObject</a>, including inherited members.
+
+<ul>
+<li><a href="qobject.html#QObject">QObject</a>()
+<li><a href="qobject.html#~QObject">~QObject</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobject.html b/doc/html/qobject.html
new file mode 100644
index 0000000..8579f78
--- /dev/null
+++ b/doc/html/qobject.html
@@ -0,0 +1,958 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qobject.cpp:105 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObject Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QObject Class Reference</h1>
+
+<p>The QObject class is the base class of all Qt objects.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qobject-h.html">qobject.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qaccel.html">QAccel</a>, <a href="qaccessibleobject.html">QAccessibleObject</a>, <a href="qaction.html">QAction</a>, <a href="qapplication.html">QApplication</a>, <a href="qassistantclient.html">QAssistantClient</a>, <a href="qdatapump.html">QDataPump</a>, <a href="qaxobject.html">QAxObject</a>, <a href="qaxscript.html">QAxScript</a>, <a href="qaxscriptmanager.html">QAxScriptManager</a>, <a href="qwidget.html">QWidget</a>, <a href="qcanvas.html">QCanvas</a>, <a href="qstyle.html">QStyle</a>, <a href="qclipboard.html">QClipboard</a>, <a href="qcopchannel.html">QCopChannel</a>, <a href="qdns.html">QDns</a>, <a href="qlayout.html">QLayout</a>, <a href="qdragobject.html">QDragObject</a>, <a href="qeditorfactory.html">QEditorFactory</a>, <a href="qeventloop.html">QEventLoop</a>, <a href="qfileiconprovider.html">QFileIconProvider</a>, <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>, <a href="qnetworkoperation.html">QNetworkOperation</a>, <a href="qnpinstance.html">QNPInstance</a>, <a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a>, <a href="qprocess.html">QProcess</a>, <a href="qserversocket.html">QServerSocket</a>, <a href="qsessionmanager.html">QSessionManager</a>, <a href="qsignal.html">QSignal</a>, <a href="qsignalmapper.html">QSignalMapper</a>, <a href="qsocket.html">QSocket</a>, <a href="qsocketnotifier.html">QSocketNotifier</a>, <a href="qsound.html">QSound</a>, <a href="qsqldatabase.html">QSqlDatabase</a>, <a href="qsqldriver.html">QSqlDriver</a>, <a href="qsqlform.html">QSqlForm</a>, <a href="qstylesheet.html">QStyleSheet</a>, <a href="qtimer.html">QTimer</a>, <a href="qtooltipgroup.html">QToolTipGroup</a>, <a href="qtranslator.html">QTranslator</a>, <a href="qurloperator.html">QUrlOperator</a>, and <a href="qvalidator.html">QValidator</a>.
+<p><a href="qobject-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QObject"><b>QObject</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QObject"><b>~QObject</b></a> ()</li>
+<li class=fn>virtual const char * <a href="#className"><b>className</b></a> () const</li>
+<li class=fn>virtual QMetaObject * <a href="#metaObject"><b>metaObject</b></a> () const</li>
+<li class=fn>virtual bool <a href="#event"><b>event</b></a> ( QEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( QObject&nbsp;*&nbsp;watched, QEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>bool <a href="#isA"><b>isA</b></a> ( const&nbsp;char&nbsp;*&nbsp;clname ) const</li>
+<li class=fn>bool <a href="#inherits"><b>inherits</b></a> ( const&nbsp;char&nbsp;*&nbsp;clname ) const</li>
+<li class=fn>const char * <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>const char * <a href="#name-2"><b>name</b></a> ( const&nbsp;char&nbsp;*&nbsp;defaultName ) const</li>
+<li class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</li>
+<li class=fn>bool <a href="#isWidgetType"><b>isWidgetType</b></a> () const</li>
+<li class=fn>bool <a href="#highPriority"><b>highPriority</b></a> () const</li>
+<li class=fn>bool <a href="#signalsBlocked"><b>signalsBlocked</b></a> () const</li>
+<li class=fn>void <a href="#blockSignals"><b>blockSignals</b></a> ( bool&nbsp;block )</li>
+<li class=fn>int <a href="#startTimer"><b>startTimer</b></a> ( int&nbsp;interval )</li>
+<li class=fn>void <a href="#killTimer"><b>killTimer</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#killTimers"><b>killTimers</b></a> ()</li>
+<li class=fn>QObject * <a href="#child"><b>child</b></a> ( const&nbsp;char&nbsp;*&nbsp;objName, const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, bool&nbsp;recursiveSearch = TRUE )</li>
+<li class=fn>const QObjectList * <a href="#children"><b>children</b></a> () const</li>
+<li class=fn>QObjectList * <a href="#queryList"><b>queryList</b></a> ( const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, const&nbsp;char&nbsp;*&nbsp;objName = 0, bool&nbsp;regexpMatch = TRUE, bool&nbsp;recursiveSearch = TRUE ) const</li>
+<li class=fn>virtual void <a href="#insertChild"><b>insertChild</b></a> ( QObject&nbsp;*&nbsp;obj )</li>
+<li class=fn>virtual void <a href="#removeChild"><b>removeChild</b></a> ( QObject&nbsp;*&nbsp;obj )</li>
+<li class=fn>void <a href="#installEventFilter"><b>installEventFilter</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;filterObj )</li>
+<li class=fn>void <a href="#removeEventFilter"><b>removeEventFilter</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;obj )</li>
+<li class=fn>bool <a href="#connect-2"><b>connect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;char&nbsp;*&nbsp;member ) const</li>
+<li class=fn>bool <a href="#disconnect-2"><b>disconnect</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal = 0, const&nbsp;QObject&nbsp;*&nbsp;receiver = 0, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+<li class=fn>bool <a href="#disconnect-3"><b>disconnect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+<li class=fn>void <a href="#dumpObjectTree"><b>dumpObjectTree</b></a> ()</li>
+<li class=fn>void <a href="#dumpObjectInfo"><b>dumpObjectInfo</b></a> ()</li>
+<li class=fn>virtual bool <a href="#setProperty"><b>setProperty</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>virtual QVariant <a href="#property"><b>property</b></a> ( const&nbsp;char&nbsp;*&nbsp;name ) const</li>
+<li class=fn>QObject * <a href="#parent"><b>parent</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#deleteLater"><b>deleteLater</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#destroyed"><b>destroyed</b></a> ()</li>
+<li class=fn>void <a href="#destroyed-2"><b>destroyed</b></a> ( QObject&nbsp;*&nbsp;obj )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#tr"><b>tr</b></a> ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment )</li>
+<li class=fn>QString <a href="#trUtf8"><b>trUtf8</b></a> ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment )</li>
+<li class=fn>const QObjectList * <a href="#objectTrees"><b>objectTrees</b></a> ()</li>
+<li class=fn>bool <a href="#connect"><b>connect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#disconnect"><b>disconnect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QCString <a href="#name-prop"><b>name</b></a>&nbsp;- the name of this object</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>const QObject * <a href="#sender"><b>sender</b></a> ()</li>
+<li class=fn>virtual void <a href="#timerEvent"><b>timerEvent</b></a> ( QTimerEvent * )</li>
+<li class=fn>virtual void <a href="#childEvent"><b>childEvent</b></a> ( QChildEvent * )</li>
+<li class=fn>virtual void <a href="#customEvent"><b>customEvent</b></a> ( QCustomEvent * )</li>
+<li class=fn>virtual void <a href="#connectNotify"><b>connectNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal )</li>
+<li class=fn>virtual void <a href="#disconnectNotify"><b>disconnectNotify</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal )</li>
+<li class=fn>virtual bool <a href="#checkConnectArgs"><b>checkConnectArgs</b></a> ( const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+</ul>
+<h2>Static Protected Members</h2>
+<ul>
+<li class=fn>QCString <a href="#normalizeSignalSlot"><b>normalizeSignalSlot</b></a> ( const&nbsp;char&nbsp;*&nbsp;signalSlot )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void * <a href="#qt_find_obj_child"><b>qt_find_obj_child</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;type, const&nbsp;char&nbsp;*&nbsp;name )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QObject class is the base class of all Qt objects.
+<p>
+
+
+<p> QObject is the heart of the <a href="object.html">Qt object model.</a> The central feature in this model is a very powerful
+mechanism for seamless object communication called <a href="signalsandslots.html">signals and slots</a>. You can
+connect a signal to a slot with <a href="#connect">connect</a>() and destroy the
+connection with <a href="#disconnect">disconnect</a>(). To avoid never ending notification
+loops you can temporarily block signals with <a href="#blockSignals">blockSignals</a>(). The
+protected functions <a href="#connectNotify">connectNotify</a>() and <a href="#disconnectNotify">disconnectNotify</a>() make it
+possible to track connections.
+<p> QObjects organize themselves in object trees. When you create a
+QObject with another object as parent, the object will
+automatically do an <a href="#insertChild">insertChild</a>() on the parent and thus show up
+in the parent's <a href="#children">children</a>() list. The parent takes ownership of the
+object i.e. it will automatically delete its children in its
+destructor. You can look for an object by name and optionally type
+using <a href="#child">child</a>() or <a href="#queryList">queryList</a>(), and get the list of tree roots using
+<a href="#objectTrees">objectTrees</a>().
+<p> Every object has an object <a href="#name">name</a>() and can report its <a href="#className">className</a>()
+and whether it <a href="#inherits">inherits</a>() another class in the QObject inheritance
+hierarchy.
+<p> When an object is deleted, it emits a <a href="#destroyed">destroyed</a>() signal. You can
+catch this signal to avoid dangling references to QObjects. The
+<a href="qguardedptr.html">QGuardedPtr</a> class provides an elegant way to use this feature.
+<p> QObjects can receive events through <a href="#event">event</a>() and filter the events
+of other objects. See <a href="#installEventFilter">installEventFilter</a>() and <a href="#eventFilter">eventFilter</a>() for
+details. A convenience handler, <a href="#childEvent">childEvent</a>(), can be reimplemented
+to catch child events.
+<p> Last but not least, QObject provides the basic timer support in
+Qt; see <a href="qtimer.html">QTimer</a> for high-level support for timers.
+<p> Notice that the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro is mandatory for any object that
+implements signals, slots or properties. You also need to run the
+<a href="moc.html">moc program (Meta Object Compiler)</a> on the
+source file. We strongly recommend the use of this macro in <em>all</em>
+subclasses of QObject regardless of whether or not they actually
+use signals, slots and properties, since failure to do so may lead
+certain functions to exhibit undefined behaviour.
+<p> All Qt widgets inherit QObject. The convenience function
+<a href="#isWidgetType">isWidgetType</a>() returns whether an object is actually a widget. It
+is much faster than <a href="#inherits">inherits</a>( "QWidget" ).
+<p> Some QObject functions, e.g. <a href="#children">children</a>(), <a href="#objectTrees">objectTrees</a>() and
+<a href="#queryList">queryList</a>() return a <a href="qobjectlist.html">QObjectList</a>. A QObjectList is a <a href="qptrlist.html">QPtrList</a> of
+QObjects. QObjectLists support the same operations as QPtrLists
+and have an iterator class, QObjectListIt.
+<p>See also <a href="objectmodel.html">Object Model</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QObject"></a>QObject::QObject ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an object called <em>name</em> with parent object, <em>parent</em>.
+<p> The parent of an object may be viewed as the object's owner. For
+instance, a <a href="qdialog.html">dialog box</a> is the parent of the
+"OK" and "Cancel" buttons it contains.
+<p> The destructor of a parent object destroys all child objects.
+<p> Setting <em>parent</em> to 0 constructs an object with no parent. If the
+object is a widget, it will become a top-level window.
+<p> The object name is some text that can be used to identify a
+QObject. It's particularly useful in conjunction with <a href="designer-manual.html"><i>Qt Designer</i></a>. You can find an
+object by name (and type) using <a href="#child">child</a>(). To find several objects
+use <a href="#queryList">queryList</a>().
+<p> <p>See also <a href="#parent">parent</a>(), <a href="#name-prop">name</a>, <a href="#child">child</a>(), and <a href="#queryList">queryList</a>().
+
+<h3 class=fn><a name="~QObject"></a>QObject::~QObject ()<tt> [virtual]</tt>
+</h3>
+Destroys the object, deleting all its child objects.
+<p> All signals to and from the object are automatically disconnected.
+<p> <b>Warning:</b> All child objects are deleted. If any of these objects
+are on the stack or global, sooner or later your program will
+crash. We do not recommend holding pointers to child objects from
+outside the parent. If you still do, the <a href="#destroyed">QObject::destroyed</a>()
+signal gives you an opportunity to detect when an object is
+destroyed.
+<p> <b>Warning:</b> Deleting a QObject while pending events are waiting to be
+delivered can cause a crash. You must not delete the QObject
+directly from a thread that is not the GUI thread. Use the
+<a href="#deleteLater">QObject::deleteLater</a>() method instead, which will cause the event
+loop to delete the object after all pending events have been
+delivered to the object.
+
+<h3 class=fn>void <a name="blockSignals"></a>QObject::blockSignals ( bool&nbsp;block )
+</h3>
+Blocks signals if <em>block</em> is TRUE, or unblocks signals if <em>block</em> is FALSE.
+<p> Emitted signals disappear into hyperspace if signals are blocked.
+Note that the <a href="#destroyed">destroyed</a>() signals will be emitted even if the signals
+for this object have been blocked.
+
+<p>Examples: <a href="rot-example.html#x1371">rot13/rot13.cpp</a> and <a href="qaxserver-example-simple.html#x2525">simple/main.cpp</a>.
+<h3 class=fn>bool <a name="checkConnectArgs"></a>QObject::checkConnectArgs ( const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Returns TRUE if the <em>signal</em> and the <em>member</em> arguments are
+compatible; otherwise returns FALSE. (The <em>receiver</em> argument is
+currently ignored.)
+<p> <b>Warning:</b> We recommend that you use the default implementation and
+do not reimplement this function.
+<p>
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="child"></a>QObject::child ( const&nbsp;char&nbsp;*&nbsp;objName, const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, bool&nbsp;recursiveSearch = TRUE )
+</h3>
+Searches the children and optionally grandchildren of this object,
+and returns a child that is called <em>objName</em> that inherits <em>inheritsClass</em>. If <em>inheritsClass</em> is 0 (the default), any class
+matches.
+<p> If <em>recursiveSearch</em> is TRUE (the default), <a href="#child">child</a>() performs a
+depth-first search of the object's children.
+<p> If there is no such object, this function returns 0. If there are
+more than one, the first one found is retured; if you need all of
+them, use <a href="#queryList">queryList</a>().
+
+<h3 class=fn>void <a name="childEvent"></a>QObject::childEvent ( <a href="qchildevent.html">QChildEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+child events.
+<p> Child events are sent to objects when children are inserted or
+removed.
+<p> Note that events with <a href="qevent.html#type">QEvent::type</a>() <a href="qevent.html#Type-enum">QEvent::ChildInserted</a> are
+posted (with <a href="qapplication.html#postEvent">QApplication::postEvent</a>()) to make sure that the
+child's construction is completed before this function is called.
+<p> If a child is removed immediately after it is inserted, the <tt>ChildInserted</tt> event may be suppressed, but the <tt>ChildRemoved</tt>
+event will always be sent. In such cases it is possible that there
+will be a <tt>ChildRemoved</tt> event without a corresponding <tt>ChildInserted</tt> event.
+<p> If you change state based on <tt>ChildInserted</tt> events, call
+<a href="qwidget.html#constPolish">QWidget::constPolish</a>(), or do
+<pre>
+ QApplication::<a href="qapplication.html#sendPostedEvents">sendPostedEvents</a>( this, QEvent::ChildInserted );
+ </pre>
+
+in functions that depend on the state. One notable example is
+<a href="qwidget.html#sizeHint">QWidget::sizeHint</a>().
+<p> <p>See also <a href="#event">event</a>() and <a href="qchildevent.html">QChildEvent</a>.
+
+<p>Reimplemented in <a href="qmainwindow.html#childEvent">QMainWindow</a> and <a href="qsplitter.html#childEvent">QSplitter</a>.
+<h3 class=fn>const&nbsp;<a href="qobjectlist.html">QObjectList</a>&nbsp;* <a name="children"></a>QObject::children () const
+</h3>
+
+<p> Returns a list of child objects, or 0 if this object has no
+children.
+<p> The <a href="qobjectlist.html">QObjectList</a> class is defined in the <a href="qobjectlist-h.html">qobjectlist.h</a> header
+file.
+<p> The first child added is the <a href="qptrlist.html#first">first</a>
+object in the list and the last child added is the <a href="qptrlist.html#last">last</a> object in the list, i.e. new
+children are appended at the end.
+<p> Note that the list order changes when <a href="qwidget.html">QWidget</a> children are <a href="qwidget.html#raise">raised</a> or <a href="qwidget.html#lower">lowered.</a> A widget that is raised becomes the last object
+in the list, and a widget that is lowered becomes the first object
+in the list.
+<p> <p>See also <a href="#child">child</a>(), <a href="#queryList">queryList</a>(), <a href="#parent">parent</a>(), <a href="#insertChild">insertChild</a>(), and <a href="#removeChild">removeChild</a>().
+
+<h3 class=fn>const char * <a name="className"></a>QObject::className () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the class name of this object.
+<p> This function is generated by the <a href="metaobjects.html">Meta
+ Object Compiler.</a>
+<p> <b>Warning:</b> This function will return the wrong name if the class
+definition lacks the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro.
+<p> <p>See also <a href="#name-prop">name</a>, <a href="#inherits">inherits</a>(), <a href="#isA">isA</a>(), and <a href="#isWidgetType">isWidgetType</a>().
+
+<p>Example: <a href="sql.html#x2235">sql/overview/custom1/main.cpp</a>.
+<h3 class=fn>bool <a name="connect"></a>QObject::connect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )<tt> [static]</tt>
+</h3>
+Connects <em>signal</em> from the <em>sender</em> object to <em>member</em> in object
+<em>receiver</em>, and returns TRUE if the connection succeeds; otherwise
+returns FALSE.
+<p> You must use the SIGNAL() and SLOT() macros when specifying the <em>signal</em>
+and the <em>member</em>, for example:
+<pre>
+ <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>;
+ <a href="qscrollbar.html">QScrollBar</a> *scroll = new <a href="qscrollbar.html">QScrollBar</a>;
+ QObject::<a href="#connect">connect</a>( scroll, SIGNAL(<a href="qscrollbar.html#valueChanged">valueChanged</a>(int)),
+ label, SLOT(<a href="qlabel.html#setNum">setNum</a>(int)) );
+ </pre>
+
+<p> This example ensures that the label always displays the current
+scroll bar value. Note that the signal and slots parameters must not
+contain any variable names, only the type. E.g. the following would
+not work and return FALSE:
+<a href="#connect">QObject::connect</a>( scroll, SIGNAL(valueChanged(int v)),
+label, SLOT(setNum(int v)) );
+<p> A signal can also be connected to another signal:
+<p> <pre>
+ class MyWidget : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ MyWidget();
+
+ signals:
+ void myUsefulSignal();
+
+ private:
+ <a href="qpushbutton.html">QPushButton</a> *aButton;
+ };
+
+ MyWidget::MyWidget()
+ {
+ aButton = new <a href="qpushbutton.html">QPushButton</a>( this );
+ <a href="#connect">connect</a>( aButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SIGNAL(myUsefulSignal()) );
+ }
+ </pre>
+
+<p> In this example, the MyWidget constructor relays a signal from a
+private member variable, and makes it available under a name that
+relates to MyWidget.
+<p> A signal can be connected to many slots and signals. Many signals
+can be connected to one slot.
+<p> If a signal is connected to several slots, the slots are activated
+in an arbitrary order when the signal is emitted.
+<p> The function returns TRUE if it successfully connects the signal
+to the slot. It will return FALSE if it cannot create the
+connection, for example, if QObject is unable to verify the
+existence of either <em>signal</em> or <em>member</em>, or if their signatures
+aren't compatible.
+<p> A signal is emitted for <em>every</em> connection you make, so if you
+duplicate a connection, two signals will be emitted. You can
+always break a connection using <a href="#disconnect">disconnect</a>().
+<p> <p>See also <a href="#disconnect">disconnect</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1179">action/main.cpp</a>, <a href="simple-application-example.html#x1599">application/main.cpp</a>, <a href="extension-dialog-example.html#x2868">extension/main.cpp</a>, <a href="iconview-example.html#x1460">iconview/main.cpp</a>, <a href="archivesearch-example.html#x489">network/archivesearch/main.cpp</a>, <a href="regexptester-example.html#x2512">regexptester/main.cpp</a>, and <a href="tutorial1-02.html#x2291">t2/main.cpp</a>.
+<h3 class=fn>bool <a name="connect-2"></a>QObject::connect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;char&nbsp;*&nbsp;member ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Connects <em>signal</em> from the <em>sender</em> object to this object's <em>member</em>.
+<p> Equivalent to: <tt>QObject::connect(sender, signal, this, member)</tt>.
+<p> <p>See also <a href="#disconnect">disconnect</a>().
+
+<h3 class=fn>void <a name="connectNotify"></a>QObject::connectNotify ( const&nbsp;char&nbsp;*&nbsp;signal )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called when something has been connected
+to <em>signal</em> in this object.
+<p> <b>Warning:</b> This function violates the object-oriented principle of
+modularity. However, it might be useful when you need to perform
+expensive initialization only if something is connected to a
+signal.
+<p> <p>See also <a href="#connect">connect</a>() and <a href="#disconnectNotify">disconnectNotify</a>().
+
+<h3 class=fn>void <a name="customEvent"></a>QObject::customEvent ( <a href="qcustomevent.html">QCustomEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+custom events. Custom events are user-defined events with a type
+value at least as large as the "User" item of the <a href="qevent.html#Type-enum">QEvent::Type</a>
+enum, and is typically a <a href="qcustomevent.html">QCustomEvent</a> or QCustomEvent subclass.
+<p> <p>See also <a href="#event">event</a>() and <a href="qcustomevent.html">QCustomEvent</a>.
+
+<h3 class=fn>void <a name="deleteLater"></a>QObject::deleteLater ()<tt> [slot]</tt>
+</h3>
+Performs a deferred deletion of this object.
+<p> Instead of an immediate deletion this function schedules a
+deferred delete event for processing when Qt returns to the main
+event loop.
+
+<p>Example: <a href="bigtable-example.html#x1290">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="destroyed"></a>QObject::destroyed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the object is being destroyed.
+<p> Note that the signal is emitted by the QObject destructor, so
+the object's virtual table is already degenerated at this point,
+and it is not safe to call any functions on the object emitting
+the signal. This signal can not be blocked.
+<p> All the objects's children are destroyed immediately after this
+signal is emitted.
+
+<h3 class=fn>void <a name="destroyed-2"></a>QObject::destroyed ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted immediately before the object <em>obj</em> is
+destroyed, and can not be blocked.
+<p> All the objects's children are destroyed immediately after this
+signal is emitted.
+
+<h3 class=fn>bool <a name="disconnect"></a>QObject::disconnect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender, const&nbsp;char&nbsp;*&nbsp;signal, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )<tt> [static]</tt>
+</h3>
+Disconnects <em>signal</em> in object <em>sender</em> from <em>member</em> in object
+<em>receiver</em>.
+<p> A signal-slot connection is removed when either of the objects
+involved are destroyed.
+<p> <a href="#disconnect">disconnect</a>() is typically used in three ways, as the following
+examples demonstrate.
+<ol type=1>
+<li> Disconnect everything connected to an object's signals:
+<pre>
+ <a href="#disconnect">disconnect</a>( myObject, 0, 0, 0 );
+ </pre>
+
+equivalent to the non-static overloaded function
+<pre>
+ myObject-&gt;disconnect();
+ </pre>
+
+<li> Disconnect everything connected to a specific signal:
+<pre>
+ <a href="#disconnect">disconnect</a>( myObject, SIGNAL(mySignal()), 0, 0 );
+ </pre>
+
+equivalent to the non-static overloaded function
+<pre>
+ myObject-&gt;disconnect( SIGNAL(mySignal()) );
+ </pre>
+
+<li> Disconnect a specific receiver:
+<pre>
+ <a href="#disconnect">disconnect</a>( myObject, 0, myReceiver, 0 );
+ </pre>
+
+equivalent to the non-static overloaded function
+<pre>
+ myObject-&gt;disconnect( myReceiver );
+ </pre>
+
+</ol>
+<p> 0 may be used as a wildcard, meaning "any signal", "any receiving
+object", or "any slot in the receiving object", respectively.
+<p> The <em>sender</em> may never be 0. (You cannot disconnect signals from
+more than one object in a single call.)
+<p> If <em>signal</em> is 0, it disconnects <em>receiver</em> and <em>member</em> from
+any signal. If not, only the specified signal is disconnected.
+<p> If <em>receiver</em> is 0, it disconnects anything connected to <em>signal</em>. If not, slots in objects other than <em>receiver</em> are not
+disconnected.
+<p> If <em>member</em> is 0, it disconnects anything that is connected to <em>receiver</em>. If not, only slots named <em>member</em> will be disconnected,
+and all other slots are left alone. The <em>member</em> must be 0 if <em>receiver</em> is left out, so you cannot disconnect a
+specifically-named slot on all objects.
+<p> <p>See also <a href="#connect">connect</a>().
+
+<h3 class=fn>bool <a name="disconnect-2"></a>QObject::disconnect ( const&nbsp;char&nbsp;*&nbsp;signal = 0, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver = 0, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Disconnects <em>signal</em> from <em>member</em> of <em>receiver</em>.
+<p> A signal-slot connection is removed when either of the objects
+involved are destroyed.
+
+<h3 class=fn>bool <a name="disconnect-3"></a>QObject::disconnect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Disconnects all signals in this object from <em>receiver</em>'s <em>member</em>.
+<p> A signal-slot connection is removed when either of the objects
+involved are destroyed.
+
+<h3 class=fn>void <a name="disconnectNotify"></a>QObject::disconnectNotify ( const&nbsp;char&nbsp;*&nbsp;signal )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called when something has been
+disconnected from <em>signal</em> in this object.
+<p> <b>Warning:</b> This function violates the object-oriented principle of
+modularity. However, it might be useful for optimizing access to
+expensive resources.
+<p> <p>See also <a href="#disconnect">disconnect</a>() and <a href="#connectNotify">connectNotify</a>().
+
+<h3 class=fn>void <a name="dumpObjectInfo"></a>QObject::dumpObjectInfo ()
+</h3>
+Dumps information about signal connections, etc. for this object
+to the debug output.
+<p> This function is useful for debugging, but does nothing if the
+library has been compiled in release mode (i.e. without debugging
+information).
+
+<h3 class=fn>void <a name="dumpObjectTree"></a>QObject::dumpObjectTree ()
+</h3>
+Dumps a tree of children to the debug output.
+<p> This function is useful for debugging, but does nothing if the
+library has been compiled in release mode (i.e. without debugging
+information).
+
+<h3 class=fn>bool <a name="event"></a>QObject::event ( <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual]</tt>
+</h3>
+This virtual function receives events to an object and should
+return TRUE if the event <em>e</em> was recognized and processed.
+<p> The <a href="#event">event</a>() function can be reimplemented to customize the
+behavior of an object.
+<p> <p>See also <a href="#installEventFilter">installEventFilter</a>(), <a href="#timerEvent">timerEvent</a>(), <a href="qapplication.html#sendEvent">QApplication::sendEvent</a>(), <a href="qapplication.html#postEvent">QApplication::postEvent</a>(), and <a href="qwidget.html#event">QWidget::event</a>().
+
+<p>Reimplemented in <a href="qwidget.html#event">QWidget</a>.
+<h3 class=fn>bool <a name="eventFilter"></a>QObject::eventFilter ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;watched, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual]</tt>
+</h3>
+Filters events if this object has been installed as an event
+filter for the <em>watched</em> object.
+<p> In your reimplementation of this function, if you want to filter
+the event <em>e</em>, out, i.e. stop it being handled further, return
+TRUE; otherwise return FALSE.
+<p> Example:
+<pre>
+ class MyMainWindow : public <a href="qmainwindow.html">QMainWindow</a>
+ {
+ public:
+ MyMainWindow( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+ protected:
+ bool eventFilter( QObject *obj, QEvent *ev );
+
+ private:
+ <a href="qtextedit.html">QTextEdit</a> *textEdit;
+ };
+
+ MyMainWindow::MyMainWindow( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name )
+ {
+ textEdit = new <a href="qtextedit.html">QTextEdit</a>( this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( textEdit );
+ textEdit-&gt;<a href="#installEventFilter">installEventFilter</a>( this );
+ }
+
+ bool MyMainWindow::<a href="#eventFilter">eventFilter</a>( QObject *obj, QEvent *ev )
+ {
+ if ( obj == textEdit ) {
+ if ( e-&gt;type() == QEvent::KeyPress ) {
+ <a href="qkeyevent.html">QKeyEvent</a> *k = (QKeyEvent*)ev;
+ <a href="qapplication.html#qDebug">qDebug</a>( "Ate key press %d", k-&gt;<a href="qkeyevent.html#key">key</a>() );
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ } else {
+ // pass the event on to the parent class
+ return QMainWindow::eventFilter( obj, ev );
+ }
+ }
+ </pre>
+
+<p> Notice in the example above that unhandled events are passed to
+the base class's <a href="#eventFilter">eventFilter</a>() function, since the base class
+might have reimplemented eventFilter() for its own internal
+purposes.
+<p> <b>Warning:</b> If you delete the receiver object in this function, be
+sure to return TRUE. Otherwise, Qt will forward the event to the
+deleted object and the program might crash.
+<p> <p>See also <a href="#installEventFilter">installEventFilter</a>().
+
+<p>Reimplemented in <a href="qaccel.html#eventFilter">QAccel</a>, <a href="qscrollview.html#eventFilter">QScrollView</a>, and <a href="qspinbox.html#eventFilter">QSpinBox</a>.
+<h3 class=fn>bool <a name="highPriority"></a>QObject::highPriority () const
+</h3>
+
+<p> Returns TRUE if the object is a high-priority object, or FALSE if
+it is a standard-priority object.
+<p> High-priority objects are placed first in QObject's list of
+children on the assumption that they will be referenced very
+often.
+
+<h3 class=fn>bool <a name="inherits"></a>QObject::inherits ( const&nbsp;char&nbsp;*&nbsp;clname ) const
+</h3>
+Returns TRUE if this object is an instance of a class that
+inherits <em>clname</em>, and <em>clname</em> inherits QObject; otherwise
+returns FALSE.
+<p> A class is considered to inherit itself.
+<p> Example:
+<pre>
+ <a href="qtimer.html">QTimer</a> *t = new <a href="qtimer.html">QTimer</a>; // QTimer inherits QObject
+ t-&gt;<a href="#inherits">inherits</a>( "QTimer" ); // returns TRUE
+ t-&gt;<a href="#inherits">inherits</a>( "QObject" ); // returns TRUE
+ t-&gt;<a href="#inherits">inherits</a>( "QButton" ); // returns FALSE
+
+ // QScrollBar inherits QWidget and QRangeControl
+ <a href="qscrollbar.html">QScrollBar</a> *s = new <a href="qscrollbar.html">QScrollBar</a>( 0 );
+ s-&gt;<a href="#inherits">inherits</a>( "QWidget" ); // returns TRUE
+ s-&gt;<a href="#inherits">inherits</a>( "QRangeControl" ); // returns FALSE
+ </pre>
+
+<p> (<a href="qrangecontrol.html">QRangeControl</a> is not a QObject.)
+<p> <p>See also <a href="#isA">isA</a>() and <a href="#metaObject">metaObject</a>().
+
+<p>Examples: <a href="statistics-example.html#x2783">table/statistics/statistics.cpp</a>, <a href="themes-example.html#x282">themes/metal.cpp</a>, and <a href="themes-example.html#x211">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="insertChild"></a>QObject::insertChild ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj )<tt> [virtual]</tt>
+</h3>
+Inserts an object <em>obj</em> into the list of child objects.
+<p> <b>Warning:</b> This function cannot be used to make one widget the child
+widget of another widget. Child widgets can only be created by
+setting the parent widget in the constructor or by calling
+<a href="qwidget.html#reparent">QWidget::reparent</a>().
+<p> <p>See also <a href="#removeChild">removeChild</a>() and <a href="qwidget.html#reparent">QWidget::reparent</a>().
+
+<h3 class=fn>void <a name="installEventFilter"></a>QObject::installEventFilter ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;filterObj )
+</h3>
+
+<p> Installs an event filter <em>filterObj</em> on this object. For example:
+<pre>
+ monitoredObj-&gt;installEventFilter( filterObj );
+ </pre>
+
+<p> An event filter is an object that receives all events that are
+sent to this object. The filter can either stop the event or
+forward it to this object. The event filter <em>filterObj</em> receives
+events via its <a href="#eventFilter">eventFilter</a>() function. The eventFilter() function
+must return TRUE if the event should be filtered, (i.e. stopped);
+otherwise it must return FALSE.
+<p> If multiple event filters are installed on a single object, the
+filter that was installed last is activated first.
+<p> Here's a <tt>KeyPressEater</tt> class that eats the key presses of its
+monitored objects:
+<pre>
+ class KeyPressEater : public QObject
+ {
+ ...
+ protected:
+ bool eventFilter( QObject *o, QEvent *e );
+ };
+
+ bool KeyPressEater::<a href="#eventFilter">eventFilter</a>( QObject *o, QEvent *e )
+ {
+ if ( e-&gt;type() == QEvent::KeyPress ) {
+ // special processing for key press
+ <a href="qkeyevent.html">QKeyEvent</a> *k = (QKeyEvent *)e;
+ <a href="qapplication.html#qDebug">qDebug</a>( "Ate key press %d", k-&gt;<a href="qkeyevent.html#key">key</a>() );
+ return TRUE; // eat event
+ } else {
+ // standard event processing
+ return FALSE;
+ }
+ }
+ </pre>
+
+<p> And here's how to install it on two widgets:
+<pre>
+ KeyPressEater *keyPressEater = new KeyPressEater( this );
+ <a href="qpushbutton.html">QPushButton</a> *pushButton = new <a href="qpushbutton.html">QPushButton</a>( this );
+ <a href="qlistview.html">QListView</a> *listView = new <a href="qlistview.html">QListView</a>( this );
+
+ pushButton-&gt;<a href="#installEventFilter">installEventFilter</a>( keyPressEater );
+ listView-&gt;<a href="#installEventFilter">installEventFilter</a>( keyPressEater );
+ </pre>
+
+<p> The <a href="qaccel.html">QAccel</a> class, for example, uses this technique to intercept
+accelerator key presses.
+<p> <b>Warning:</b> If you delete the receiver object in your <a href="#eventFilter">eventFilter</a>()
+function, be sure to return TRUE. If you return FALSE, Qt sends
+the event to the deleted object and the program will crash.
+<p> <p>See also <a href="#removeEventFilter">removeEventFilter</a>(), <a href="#eventFilter">eventFilter</a>(), and <a href="#event">event</a>().
+
+<h3 class=fn>bool <a name="isA"></a>QObject::isA ( const&nbsp;char&nbsp;*&nbsp;clname ) const
+</h3>
+Returns TRUE if this object is an instance of the class <em>clname</em>;
+otherwise returns FALSE.
+<p> Example:
+<pre>
+ <a href="qtimer.html">QTimer</a> *t = new <a href="qtimer.html">QTimer</a>; // QTimer inherits QObject
+ t-&gt;<a href="#isA">isA</a>( "QTimer" ); // returns TRUE
+ t-&gt;<a href="#isA">isA</a>( "QObject" ); // returns FALSE
+ </pre>
+
+<p> <p>See also <a href="#inherits">inherits</a>() and <a href="#metaObject">metaObject</a>().
+
+<h3 class=fn>bool <a name="isWidgetType"></a>QObject::isWidgetType () const
+</h3>
+
+<p> Returns TRUE if the object is a widget; otherwise returns FALSE.
+<p> Calling this function is equivalent to calling
+<a href="#inherits">inherits</a>("QWidget"), except that it is much faster.
+
+<h3 class=fn>void <a name="killTimer"></a>QObject::killTimer ( int&nbsp;id )
+</h3>
+Kills the timer with timer identifier, <em>id</em>.
+<p> The timer identifier is returned by <a href="#startTimer">startTimer</a>() when a timer
+event is started.
+<p> <p>See also <a href="#timerEvent">timerEvent</a>(), <a href="#startTimer">startTimer</a>(), and <a href="#killTimers">killTimers</a>().
+
+<h3 class=fn>void <a name="killTimers"></a>QObject::killTimers ()
+</h3>
+Kills all timers that this object has started.
+<p> <b>Warning:</b> Using this function can cause hard-to-find bugs: it kills
+timers started by sub- and superclasses as well as those started
+by you, which is often not what you want. We recommend using a
+<a href="qtimer.html">QTimer</a> or perhaps <a href="#killTimer">killTimer</a>().
+<p> <p>See also <a href="#timerEvent">timerEvent</a>(), <a href="#startTimer">startTimer</a>(), and <a href="#killTimer">killTimer</a>().
+
+<h3 class=fn><a href="qmetaobject.html">QMetaObject</a>&nbsp;* <a name="metaObject"></a>QObject::metaObject () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns a pointer to the <a href="metaobjects.html#meta-object">meta object</a> of this object.
+<p> A meta object contains information about a class that inherits
+QObject, e.g. class name, superclass name, properties, signals and
+slots. Every class that contains the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro will also have
+a meta object.
+<p> The meta object information is required by the signal/slot
+connection mechanism and the property system. The functions <a href="#isA">isA</a>()
+and <a href="#inherits">inherits</a>() also make use of the meta object.
+
+<h3 class=fn>const char * <a name="name"></a>QObject::name () const
+</h3><p>Returns the name of this object.
+See the <a href="qobject.html#name-prop">"name"</a> property for details.
+<h3 class=fn>const char * <a name="name-2"></a>QObject::name ( const&nbsp;char&nbsp;*&nbsp;defaultName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the name of this object, or <em>defaultName</em> if the object
+does not have a name.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="normalizeSignalSlot"></a>QObject::normalizeSignalSlot ( const&nbsp;char&nbsp;*&nbsp;signalSlot )<tt> [static protected]</tt>
+</h3>
+Normlizes the signal or slot definition <em>signalSlot</em> by removing
+unnecessary whitespace.
+
+<h3 class=fn>const&nbsp;<a href="qobjectlist.html">QObjectList</a>&nbsp;* <a name="objectTrees"></a>QObject::objectTrees ()<tt> [static]</tt>
+</h3>
+Returns a pointer to the list of all object trees (their root
+objects), or 0 if there are no objects.
+<p> The <a href="qobjectlist.html">QObjectList</a> class is defined in the <a href="qobjectlist-h.html">qobjectlist.h</a> header
+file.
+<p> The most recent root object created is the <a href="qptrlist.html#first">first</a> object in the list and the first root object added
+is the <a href="qptrlist.html#last">last</a> object in the list.
+<p> <p>See also <a href="#children">children</a>(), <a href="#parent">parent</a>(), <a href="#insertChild">insertChild</a>(), and <a href="#removeChild">removeChild</a>().
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="parent"></a>QObject::parent () const
+</h3>
+
+<p> Returns a pointer to the parent object.
+<p> <p>See also <a href="#children">children</a>().
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="property"></a>QObject::property ( const&nbsp;char&nbsp;*&nbsp;name ) const<tt> [virtual]</tt>
+</h3>
+Returns the value of the object's <em>name</em> property.
+<p> If no such property exists, the returned variant is invalid.
+<p> Information about all available properties are provided through
+the <a href="#metaObject">metaObject</a>().
+<p> <p>See also <a href="#setProperty">setProperty</a>(), <a href="qvariant.html#isValid">QVariant::isValid</a>(), <a href="#metaObject">metaObject</a>(), <a href="qmetaobject.html#propertyNames">QMetaObject::propertyNames</a>(), and <a href="qmetaobject.html#property">QMetaObject::property</a>().
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2729">qutlook/centralwidget.cpp</a>.
+<h3 class=fn><a href="qobjectlist.html">QObjectList</a>&nbsp;* <a name="queryList"></a>QObject::queryList ( const&nbsp;char&nbsp;*&nbsp;inheritsClass = 0, const&nbsp;char&nbsp;*&nbsp;objName = 0, bool&nbsp;regexpMatch = TRUE, bool&nbsp;recursiveSearch = TRUE ) const
+</h3>
+Searches the children and optionally grandchildren of this object,
+and returns a list of those objects that are named or that match
+<em>objName</em> and inherit <em>inheritsClass</em>. If <em>inheritsClass</em> is 0
+(the default), all classes match. If <em>objName</em> is 0 (the
+default), all object names match.
+<p> If <em>regexpMatch</em> is TRUE (the default), <em>objName</em> is a <a href="qregexp.html#regular-expression">regular expression</a> that the objects's names must match. The syntax is that
+of a <a href="qregexp.html">QRegExp</a>. If <em>regexpMatch</em> is FALSE, <em>objName</em> is a string
+and object names must match it exactly.
+<p> Note that <em>inheritsClass</em> uses single inheritance from QObject,
+the way <a href="#inherits">inherits</a>() does. According to inherits(), <a href="qmenubar.html">QMenuBar</a>
+inherits <a href="qwidget.html">QWidget</a> but not <a href="qmenudata.html">QMenuData</a>. This does not quite match
+reality, but is the best that can be done on the wide variety of
+compilers Qt supports.
+<p> Finally, if <em>recursiveSearch</em> is TRUE (the default), <a href="#queryList">queryList</a>()
+searches <em>n</em>th-generation as well as first-generation children.
+<p> If all this seems a bit complex for your needs, the simpler
+<a href="#child">child</a>() function may be what you want.
+<p> This somewhat contrived example disables all the buttons in this
+window:
+<pre>
+ <a href="qobjectlist.html">QObjectList</a> *l = topLevelWidget()-&gt;queryList( "QButton" );
+ QObjectListIt it( *l ); // iterate over the buttons
+ QObject *obj;
+
+ while ( (obj = it.current()) != 0 ) {
+ // for each found object...
+ ++it;
+ ((QButton*)obj)-&gt;setEnabled( FALSE );
+ }
+ delete l; // delete the list, not the objects
+ </pre>
+
+<p> The <a href="qobjectlist.html">QObjectList</a> class is defined in the <a href="qobjectlist-h.html">qobjectlist.h</a> header
+file.
+<p> <b>Warning:</b> Delete the list as soon you have finished using it. The
+list contains pointers that may become invalid at almost any time
+without notice (as soon as the user closes a window you may have
+dangling pointers, for example).
+<p> <p>See also <a href="#child">child</a>(), <a href="#children">children</a>(), <a href="#parent">parent</a>(), <a href="#inherits">inherits</a>(), <a href="#name-prop">name</a>, and <a href="qregexp.html">QRegExp</a>.
+
+<h3 class=fn>void <a name="removeChild"></a>QObject::removeChild ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj )<tt> [virtual]</tt>
+</h3>
+Removes the child object <em>obj</em> from the list of children.
+<p> <b>Warning:</b> This function will not remove a child widget from the
+screen. It will only remove it from the parent widget's list of
+children.
+<p> <p>See also <a href="#insertChild">insertChild</a>() and <a href="qwidget.html#reparent">QWidget::reparent</a>().
+
+<h3 class=fn>void <a name="removeEventFilter"></a>QObject::removeEventFilter ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj )
+</h3>
+Removes an event filter object <em>obj</em> from this object. The
+request is ignored if such an event filter has not been installed.
+<p> All event filters for this object are automatically removed when
+this object is destroyed.
+<p> It is always safe to remove an event filter, even during event
+filter activation (i.e. from the <a href="#eventFilter">eventFilter</a>() function).
+<p> <p>See also <a href="#installEventFilter">installEventFilter</a>(), <a href="#eventFilter">eventFilter</a>(), and <a href="#event">event</a>().
+
+<h3 class=fn>const&nbsp;<a href="qobject.html">QObject</a>&nbsp;* <a name="sender"></a>QObject::sender ()<tt> [protected]</tt>
+</h3>
+Returns a pointer to the object that sent the signal, if called in
+a slot activated by a signal; otherwise it returns 0. The pointer
+is valid only during the execution of the slot that calls this
+function.
+<p> The pointer returned by this function becomes invalid if the
+sender is destroyed, or if the slot is disconnected from the
+sender's signal.
+<p> <b>Warning:</b> This function violates the object-oriented principle of
+modularity. However, getting access to the sender might be useful
+when many signals are connected to a single slot. The sender is
+undefined if the slot is called as a normal C++ function.
+
+<h3 class=fn>void <a name="setName"></a>QObject::setName ( const&nbsp;char&nbsp;*&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the object's name to <em>name</em>.
+
+<h3 class=fn>bool <a name="setProperty"></a>QObject::setProperty ( const&nbsp;char&nbsp;*&nbsp;name, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;value )<tt> [virtual]</tt>
+</h3>
+Sets the value of the object's <em>name</em> property to <em>value</em>.
+<p> Returns TRUE if the operation was successful; otherwise returns
+FALSE.
+<p> Information about all available properties is provided through the
+<a href="#metaObject">metaObject</a>().
+<p> <p>See also <a href="#property">property</a>(), <a href="#metaObject">metaObject</a>(), <a href="qmetaobject.html#propertyNames">QMetaObject::propertyNames</a>(), and <a href="qmetaobject.html#property">QMetaObject::property</a>().
+
+<p>Example: <a href="qaxcontainer-example-qutlook.html#x2730">qutlook/centralwidget.cpp</a>.
+<h3 class=fn>bool <a name="signalsBlocked"></a>QObject::signalsBlocked () const
+</h3>
+
+<p> Returns TRUE if signals are blocked; otherwise returns FALSE.
+<p> Signals are not blocked by default.
+<p> <p>See also <a href="#blockSignals">blockSignals</a>().
+
+<h3 class=fn>int <a name="startTimer"></a>QObject::startTimer ( int&nbsp;interval )
+</h3>
+Starts a timer and returns a timer identifier, or returns zero if
+it could not start a timer.
+<p> A timer event will occur every <em>interval</em> milliseconds until
+<a href="#killTimer">killTimer</a>() or <a href="#killTimers">killTimers</a>() is called. If <em>interval</em> is 0, then
+the timer event occurs once every time there are no more window
+system events to process.
+<p> The virtual <a href="#timerEvent">timerEvent</a>() function is called with the <a href="qtimerevent.html">QTimerEvent</a>
+event parameter class when a timer event occurs. Reimplement this
+function to get timer events.
+<p> If multiple timers are running, the <a href="qtimerevent.html#timerId">QTimerEvent::timerId</a>() can be
+used to find out which timer was activated.
+<p> Example:
+<pre>
+ class MyObject : public QObject
+ {
+ Q_OBJECT
+ public:
+ MyObject( QObject *parent = 0, const char *name = 0 );
+
+ protected:
+ void timerEvent( <a href="qtimerevent.html">QTimerEvent</a> * );
+ };
+
+ MyObject::MyObject( QObject *parent, const char *name )
+ : QObject( parent, name )
+ {
+ <a href="#startTimer">startTimer</a>( 50 ); // 50-millisecond timer
+ <a href="#startTimer">startTimer</a>( 1000 ); // 1-second timer
+ <a href="#startTimer">startTimer</a>( 60000 ); // 1-minute timer
+ }
+
+ void MyObject::<a href="#timerEvent">timerEvent</a>( <a href="qtimerevent.html">QTimerEvent</a> *e )
+ {
+ <a href="qapplication.html#qDebug">qDebug</a>( "timer event, id %d", e-&gt;<a href="qtimerevent.html#timerId">timerId</a>() );
+ }
+ </pre>
+
+<p> Note that <a href="qtimer.html">QTimer</a>'s accuracy depends on the underlying operating
+system and hardware. Most platforms support an accuracy of 20 ms;
+some provide more. If Qt is unable to deliver the requested
+number of timer clicks, it will silently discard some.
+<p> The QTimer class provides a high-level programming interface with
+one-shot timers and timer signals instead of events.
+<p> <p>See also <a href="#timerEvent">timerEvent</a>(), <a href="#killTimer">killTimer</a>(), <a href="#killTimers">killTimers</a>(), <a href="qeventloop.html#awake">QEventLoop::awake</a>(), and <a href="qeventloop.html#aboutToBlock">QEventLoop::aboutToBlock</a>().
+
+<h3 class=fn>void <a name="timerEvent"></a>QObject::timerEvent ( <a href="qtimerevent.html">QTimerEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+timer events for the object.
+<p> <a href="qtimer.html">QTimer</a> provides a higher-level interface to the timer
+functionality, and also more general information about timers.
+<p> <p>See also <a href="#startTimer">startTimer</a>(), <a href="#killTimer">killTimer</a>(), <a href="#killTimers">killTimers</a>(), and <a href="#event">event</a>().
+
+<p>Examples: <a href="biff-example.html#x1959">biff/biff.cpp</a>, <a href="dclock-example.html#x1102">dclock/dclock.cpp</a>, <a href="forever-example.html#x1048">forever/forever.cpp</a>, <a href="grapher-nsplugin-example.html#x2755">grapher/grapher.cpp</a>, <a href="qmag-example.html#x1781">qmag/qmag.cpp</a>, and <a href="xform-example.html#x1232">xform/xform.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="tr"></a>QObject::tr ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment )<tt> [static]</tt>
+</h3>
+
+
+<p> Returns a translated version of <em>sourceText</em>, or <em>sourceText</em>
+itself if there is no appropriate translated version. The
+translation context is QObject with <em>comment</em> (0 by default).
+All QObject subclasses using the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro automatically have
+a reimplementation of this function with the subclass name as
+context.
+<p> <b>Warning:</b> This method is reentrant only if all translators are
+installed <em>before</em> calling this method. Installing or removing
+translators while performing translations is not supported. Doing
+so will probably result in crashes or other undesirable behavior.
+<p> <p>See also <a href="#trUtf8">trUtf8</a>(), <a href="qapplication.html#translate">QApplication::translate</a>(), and <a href="i18n.html">Internationalization with Qt</a>.
+
+<p>Example: <a href="qdialog.html#x2130">network/networkprotocol/view.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="trUtf8"></a>QObject::trUtf8 ( const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment )<tt> [static]</tt>
+</h3>
+
+
+<p> Returns a translated version of <em>sourceText</em>, or
+<a href="qstring.html#fromUtf8">QString::fromUtf8</a>(<em>sourceText</em>) if there is no appropriate
+version. It is otherwise identical to <a href="#tr">tr</a>(<em>sourceText</em>, <em>comment</em>).
+<p> <b>Warning:</b> This method is reentrant only if all translators are
+installed <em>before</em> calling this method. Installing or removing
+translators while performing translations is not supported. Doing
+so will probably result in crashes or other undesirable behavior.
+<p> <p>See also <a href="#tr">tr</a>() and <a href="qapplication.html#translate">QApplication::translate</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="name-prop"></a>name</h3>
+<p>This property holds the name of this object.
+<p>You can find an object by name (and type) using <a href="#child">child</a>(). You can
+find a set of objects with <a href="#queryList">queryList</a>().
+<p> The object name is set by the constructor or by the <a href="#setName">setName</a>()
+function. The object name is not very useful in the current
+version of Qt, but will become increasingly important in the
+future.
+<p> If the object does not have a name, the <a href="#name">name</a>() function returns
+"unnamed", so printf() (used in <a href="qapplication.html#qDebug">qDebug</a>()) will not be asked to
+output a null pointer. If you want a null pointer to be returned
+for unnamed objects, you can call name( 0 ).
+<p> <pre>
+ <a href="qapplication.html#qDebug">qDebug</a>( "MyClass::setPrecision(): (%s) invalid precision %f",
+ <a href="#name">name</a>(), newPrecision );
+ </pre>
+
+<p> <p>See also <a href="#className">className</a>(), <a href="#child">child</a>(), and <a href="#queryList">queryList</a>().
+
+<p>Set this property's value with <a href="#setName">setName</a>() and get this property's value with <a href="#name">name</a>().
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void * <a name="qt_find_obj_child"></a>qt_find_obj_child ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;type, const&nbsp;char&nbsp;*&nbsp;name )
+</h3>
+
+<p> Returns a pointer to the object named <em>name</em> that inherits <em>type</em> and with a given <em>parent</em>.
+<p> Returns 0 if there is no such child.
+<p> <pre>
+ <a href="qlistbox.html">QListBox</a> *c = (QListBox *) <a href="#qt_find_obj_child">qt_find_obj_child</a>( myWidget, "QListBox",
+ "my list box" );
+ if ( c )
+ c-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( "another string" );
+ </pre>
+
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectcleanuphandler-h.html b/doc/html/qobjectcleanuphandler-h.html
new file mode 100644
index 0000000..d08ca6b
--- /dev/null
+++ b/doc/html/qobjectcleanuphandler-h.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobjectcleanuphandler.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qobjectcleanuphandler.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qobjectcleanuphandler.h</h1>
+
+<p>This is the verbatim text of the qobjectcleanuphandler.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qobjectcleanuphandler.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of ???
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QOBJECTCLEANUPHANDLER_H
+#define QOBJECTCLEANUPHANDLER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+class QObjectList;
+
+class Q_EXPORT QObjectCleanupHandler : public QObject
+{
+ Q_OBJECT
+
+public:
+ QObjectCleanupHandler();
+ ~QObjectCleanupHandler();
+
+ QObject* add( QObject* object );
+ void remove( QObject *object );
+ bool isEmpty() const;
+ void clear();
+
+private:
+ QObjectList *cleanupObjects;
+
+private slots:
+ void objectDestroyed( QObject * );
+};
+
+#endif // QOBJECTCLEANUPHANDLER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectcleanuphandler-members.html b/doc/html/qobjectcleanuphandler-members.html
new file mode 100644
index 0000000..c0d9552
--- /dev/null
+++ b/doc/html/qobjectcleanuphandler-members.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobjectcleanuphandler.h:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectCleanupHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QObjectCleanupHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qobjectcleanuphandler.html">QObjectCleanupHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qobjectcleanuphandler.html#QObjectCleanupHandler">QObjectCleanupHandler</a>()
+<li><a href="qobjectcleanuphandler.html#~QObjectCleanupHandler">~QObjectCleanupHandler</a>()
+<li><a href="qobjectcleanuphandler.html#add">add</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobjectcleanuphandler.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobjectcleanuphandler.html#isEmpty">isEmpty</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobjectcleanuphandler.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectcleanuphandler.html b/doc/html/qobjectcleanuphandler.html
new file mode 100644
index 0000000..2187594
--- /dev/null
+++ b/doc/html/qobjectcleanuphandler.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qobjectcleanuphandler.cpp:39 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectCleanupHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QObjectCleanupHandler Class Reference</h1>
+
+<p>The QObjectCleanupHandler class watches the lifetime of multiple QObjects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qobjectcleanuphandler-h.html">qobjectcleanuphandler.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qobjectcleanuphandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QObjectCleanupHandler"><b>QObjectCleanupHandler</b></a> ()</li>
+<li class=fn><a href="#~QObjectCleanupHandler"><b>~QObjectCleanupHandler</b></a> ()</li>
+<li class=fn>QObject * <a href="#add"><b>add</b></a> ( QObject&nbsp;*&nbsp;object )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( QObject&nbsp;*&nbsp;object )</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QObjectCleanupHandler class watches the lifetime of multiple QObjects.
+<p>
+<p> A QObjectCleanupHandler is useful whenever you need to know when a
+number of <a href="qobject.html">QObject</a>s that are owned by someone else have been
+deleted. This is important, for example, when referencing memory
+in an application that has been allocated in a shared library.
+<p> Example:
+<p> <pre>
+ class FactoryComponent : public FactoryInterface, public QLibraryInterface
+ {
+ public:
+ ...
+
+ <a href="qobject.html">QObject</a> *createObject();
+
+ bool init();
+ void cleanup();
+ bool canUnload() const;
+
+ private:
+ QObjectCleanupHandler objects;
+ };
+
+ // allocate a new object, and add it to the cleanup handler
+ QObject *FactoryComponent::createObject()
+ {
+ return objects.<a href="#add">add</a>( new <a href="qobject.html">QObject</a>() );
+ }
+
+ // QLibraryInterface implementation
+ bool FactoryComponent::init()
+ {
+ return TRUE;
+ }
+
+ void FactoryComponent::cleanup()
+ {
+ }
+
+ // it is only safe to unload the library when all QObject's have been destroyed
+ bool FactoryComponent::canUnload() const
+ {
+ return objects.<a href="#isEmpty">isEmpty</a>();
+ }
+ </pre>
+
+<p>See also <a href="objectmodel.html">Object Model</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QObjectCleanupHandler"></a>QObjectCleanupHandler::QObjectCleanupHandler ()
+</h3>
+Constructs an empty QObjectCleanupHandler.
+
+<h3 class=fn><a name="~QObjectCleanupHandler"></a>QObjectCleanupHandler::~QObjectCleanupHandler ()
+</h3>
+Destroys the cleanup handler. All objects in this cleanup handler
+will be deleted.
+
+<h3 class=fn><a href="qobject.html">QObject</a>&nbsp;* <a name="add"></a>QObjectCleanupHandler::add ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object )
+</h3>
+Adds <em>object</em> to this cleanup handler and returns the pointer to
+the object.
+
+<h3 class=fn>void <a name="clear"></a>QObjectCleanupHandler::clear ()
+</h3>
+Deletes all objects in this cleanup handler. The cleanup handler
+becomes empty.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QObjectCleanupHandler::isEmpty () const
+</h3>
+Returns TRUE if this cleanup handler is empty or if all objects in
+this cleanup handler have been destroyed; otherwise return FALSE.
+
+<h3 class=fn>void <a name="remove"></a>QObjectCleanupHandler::remove ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;object )
+</h3>
+Removes the <em>object</em> from this cleanup handler. The object will
+not be destroyed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectlist-h.html b/doc/html/qobjectlist-h.html
new file mode 100644
index 0000000..a5adccc
--- /dev/null
+++ b/doc/html/qobjectlist-h.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobjectlist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qobjectlist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qobjectlist.h</h1>
+
+<p>This is the verbatim text of the qobjectlist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qobjectlist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QObjectList
+**
+** Created : 940807
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QOBJECTLIST_H
+#define QOBJECTLIST_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qptrlist.h"
+#endif // QT_H
+
+
+#if defined(Q_TEMPLATEDLL)
+//Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList&lt;QObject&gt;;
+//Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrListIterator&lt;QObject&gt;;
+#endif
+
+
+class Q_EXPORT QObjectList : public QPtrList&lt;QObject&gt;
+{
+public:
+ QObjectList() : QPtrList&lt;QObject&gt;() {}
+ QObjectList( const QObjectList &amp;list ) : QPtrList&lt;QObject&gt;(list) {}
+ ~QObjectList() { clear(); }
+ QObjectList &amp;operator=(const QObjectList &amp;list)
+ { return (QObjectList&amp;)QPtrList&lt;QObject&gt;::operator=(list); }
+};
+
+class Q_EXPORT QObjectListIterator : public QPtrListIterator&lt;QObject&gt;
+{
+public:
+ QObjectListIterator( const QObjectList &amp;l )
+ : QPtrListIterator&lt;QObject&gt;( l ) { }
+ QObjectListIterator &amp;operator=( const QObjectListIterator &amp;i )
+ { return (QObjectListIterator&amp;)
+ QPtrListIterator&lt;QObject&gt;::operator=( i ); }
+};
+
+#if (QT_VERSION-0 &gt;= 0x040000)
+#if defined(Q_CC_GNU)
+#warning "remove the QObjectListIt class"
+#warning "remove the typedef too, maybe"
+#endif
+typedef QObjectListIterator QObjectListIt;
+#else
+class Q_EXPORT QObjectListIt : public QPtrListIterator&lt;QObject&gt;
+{
+public:
+ QObjectListIt( const QObjectList &amp;l ) : QPtrListIterator&lt;QObject&gt;(l) {}
+ QObjectListIt &amp;operator=(const QObjectListIt &amp;i)
+ { return (QObjectListIt&amp;)QPtrListIterator&lt;QObject&gt;::operator=(i); }
+};
+#endif
+
+#endif // QOBJECTLIST_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectlist-members.html b/doc/html/qobjectlist-members.html
new file mode 100644
index 0000000..8ff347b
--- /dev/null
+++ b/doc/html/qobjectlist-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobjectlist.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QObjectList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qobjectlist.html">QObjectList</a>, including inherited members.
+
+<ul>
+<li><a href="qobjectlist.html#QObjectList">QObjectList</a>()
+<li><a href="qobjectlist.html#~QObjectList">~QObjectList</a>()
+<li><a href="qptrlist.html#append">append</a>()
+<li><a href="qptrlist.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrlist.html#clear">clear</a>()
+<li><a href="qptrlist.html#compareItems">compareItems</a>()
+<li><a href="qptrlist.html#contains">contains</a>()
+<li><a href="qptrlist.html#containsRef">containsRef</a>()
+<li><a href="qptrlist.html#count">count</a>()
+<li><a href="qptrlist.html#current">current</a>()
+<li><a href="qptrlist.html#currentNode">currentNode</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrlist.html#find">find</a>()
+<li><a href="qptrlist.html#findNext">findNext</a>()
+<li><a href="qptrlist.html#findNextRef">findNextRef</a>()
+<li><a href="qptrlist.html#findRef">findRef</a>()
+<li><a href="qptrlist.html#first">first</a>()
+<li><a href="qptrlist.html#getFirst">getFirst</a>()
+<li><a href="qptrlist.html#getLast">getLast</a>()
+<li><a href="qptrlist.html#inSort">inSort</a>()
+<li><a href="qptrlist.html#insert">insert</a>()
+<li><a href="qptrlist.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlist.html#last">last</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrlist.html#next">next</a>()
+<li><a href="qptrlist.html#operator!-eq">operator!=</a>()
+<li><a href="qobjectlist.html#operator-eq">operator=</a>()
+<li><a href="qptrlist.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrlist.html#prepend">prepend</a>()
+<li><a href="qptrlist.html#prev">prev</a>()
+<li><a href="qptrlist.html#read">read</a>()
+<li><a href="qptrlist.html#remove">remove</a>()
+<li><a href="qptrlist.html#removeFirst">removeFirst</a>()
+<li><a href="qptrlist.html#removeLast">removeLast</a>()
+<li><a href="qptrlist.html#removeNode">removeNode</a>()
+<li><a href="qptrlist.html#removeRef">removeRef</a>()
+<li><a href="qptrlist.html#replace">replace</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrlist.html#sort">sort</a>()
+<li><a href="qptrlist.html#take">take</a>()
+<li><a href="qptrlist.html#takeNode">takeNode</a>()
+<li><a href="qptrlist.html#toVector">toVector</a>()
+<li><a href="qptrlist.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectlist.html b/doc/html/qobjectlist.html
new file mode 100644
index 0000000..cc89b38
--- /dev/null
+++ b/doc/html/qobjectlist.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qobjectlist.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QObjectList Class Reference</h1>
+
+<p>The QObjectList class is a QPtrList of QObjects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qobjectlist-h.html">qobjectlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrlist.html">QPtrList</a>&lt;QObject&gt;.
+<p><a href="qobjectlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QObjectList"><b>QObjectList</b></a> ()</li>
+<li class=fn><a href="#QObjectList-2"><b>QObjectList</b></a> ( const&nbsp;QObjectList&nbsp;&amp;&nbsp;list )</li>
+<li class=fn><a href="#~QObjectList"><b>~QObjectList</b></a> ()</li>
+<li class=fn>QObjectList &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QObjectList&nbsp;&amp;&nbsp;list )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QObjectList class is a <a href="qptrlist.html">QPtrList</a> of QObjects.
+<p>
+
+<p> A QObjectList is a <a href="qptrlist.html">QPtrList&lt;QObject&gt;</a>. The list can be traversed using
+inherited functions, e.g. <a href="qptrlist.html#getFirst">getFirst</a>(), <a href="qptrlist.html#next">next</a>(), etc., or using a
+<a href="qobjectlistiterator.html">QObjectListIterator</a> iterator.
+<p> See <a href="qobject.html#queryList">QObject::queryList</a>() for an example of use.
+<p> <p>See also <a href="qobjectlistiterator.html">QObjectListIterator</a>, <a href="qobject.html">QObject</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QObjectList"></a>QObjectList::QObjectList ()
+</h3>
+
+<p> Constructs an empty <a href="qobject.html">QObject</a> list.
+
+<h3 class=fn><a name="QObjectList-2"></a>QObjectList::QObjectList ( const&nbsp;<a href="qobjectlist.html">QObjectList</a>&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Constructs a copy of <em>list</em>.
+<p> Each item in <em>list</em> is <a href="qptrlist.html#append">appended</a> to this
+list. Only the pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QObjectList"></a>QObjectList::~QObjectList ()
+</h3>
+
+<p> Removes all the object pointers from the list and destroys the
+list.
+<p> All list iterators that access this list will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qobjectlist.html">QObjectList</a>&nbsp;&amp; <a name="operator-eq"></a>QObjectList::operator= ( const&nbsp;<a href="qobjectlist.html">QObjectList</a>&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Assigns <em>list</em> to this list and returns a reference to this list.
+<p> This list is first cleared and then each item in <em>list</em> is <a href="qptrlist.html#append">appended</a> to this list. Only the pointers are
+copied (shallow copy) unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectlistiterator-members.html b/doc/html/qobjectlistiterator-members.html
new file mode 100644
index 0000000..5093ca2
--- /dev/null
+++ b/doc/html/qobjectlistiterator-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qobjectlist.h:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectListIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QObjectListIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qobjectlistiterator.html">QObjectListIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qobjectlistiterator.html#QObjectListIterator">QObjectListIterator</a>()
+<li><a href="qptrlistiterator.html#atFirst">atFirst</a>()
+<li><a href="qptrlistiterator.html#atLast">atLast</a>()
+<li><a href="qptrlistiterator.html#count">count</a>()
+<li><a href="qptrlistiterator.html#current">current</a>()
+<li><a href="qptrlistiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlistiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qptrlistiterator.html#operator()">operator()</a>()
+<li><a href="qptrlistiterator.html#operator*">operator*</a>()
+<li><a href="qptrlistiterator.html#operator++">operator++</a>()
+<li><a href="qptrlistiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qptrlistiterator.html#operator--">operator--</a>()
+<li><a href="qptrlistiterator.html#operator--eq">operator-=</a>()
+<li><a href="qobjectlistiterator.html#operator-eq">operator=</a>()
+<li><a href="qptrlistiterator.html#toFirst">toFirst</a>()
+<li><a href="qptrlistiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qobjectlistiterator.html b/doc/html/qobjectlistiterator.html
new file mode 100644
index 0000000..15b85a0
--- /dev/null
+++ b/doc/html/qobjectlistiterator.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qobjectlist.doc:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QObjectListIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QObjectListIterator Class Reference</h1>
+
+<p>The QObjectListIterator class provides an iterator for
+QObjectLists.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qobjectlist-h.html">qobjectlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;QObject&gt;.
+<p><a href="qobjectlistiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QObjectListIterator"><b>QObjectListIterator</b></a> ( const&nbsp;QObjectList&nbsp;&amp;&nbsp;list )</li>
+<li class=fn>QObjectListIterator &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QObjectListIterator&nbsp;&amp;&nbsp;it )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QObjectListIterator class provides an iterator for
+QObjectLists.
+<p>
+
+<p> A QObjectListIterator iterator is a <a href="qptrlistiterator.html">QPtrListIterator&lt;QObject&gt;</a>.
+<p> See <a href="qobject.html#queryList">QObject::queryList</a>() for an example of use.
+<p> <p>See also <a href="qobjectlist.html">QObjectList</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QObjectListIterator"></a>QObjectListIterator::QObjectListIterator ( const&nbsp;<a href="qobjectlist.html">QObjectList</a>&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Constructs an iterator for <em>list</em>. The current iterator item is
+set to point on the first item in the <em>list</em>.
+
+<h3 class=fn><a href="qobjectlistiterator.html">QObjectListIterator</a>&nbsp;&amp; <a name="operator-eq"></a>QObjectListIterator::operator= ( const&nbsp;<a href="qobjectlistiterator.html">QObjectListIterator</a>&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Assignment. Makes a copy of the iterator <em>it</em> and returns a
+reference to this iterator.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevice-h.html b/doc/html/qpaintdevice-h.html
new file mode 100644
index 0000000..810e951
--- /dev/null
+++ b/doc/html/qpaintdevice-h.html
@@ -0,0 +1,466 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpaintdevice.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpaintdevice.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpaintdevice.h</h1>
+
+<p>This is the verbatim text of the qpaintdevice.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpaintdevice.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPaintDevice class
+**
+** Created : 940721
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPAINTDEVICE_H
+#define QPAINTDEVICE_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qrect.h"
+#endif // QT_H
+
+#if defined(Q_WS_QWS)
+class QWSDisplay;
+class QGfx;
+#endif
+
+class QIODevice;
+class QString;
+class QTextItem;
+
+
+#if defined(Q_WS_X11)
+struct QPaintDeviceX11Data;
+#endif
+
+union QPDevCmdParam {
+ int ival;
+ int *ivec;
+ QString *str;
+ const QPoint *point;
+ const QRect *rect;
+ const QPointArray *ptarr;
+ const QPixmap *pixmap;
+ const QImage *image;
+ const QColor *color;
+ const QFont *font;
+ const QPen *pen;
+ const QBrush *brush;
+ const QRegion *rgn;
+ const QWMatrix *matrix;
+ const QTextItem *textItem;
+ QIODevice *device;
+};
+
+
+
+class Q_EXPORT QPaintDevice // device for QPainter
+{
+public:
+ virtual ~QPaintDevice();
+
+ int devType() const;
+ bool isExtDev() const;
+ bool paintingActive() const;
+
+ virtual void setResolution( int );
+ virtual int resolution() const;
+
+ // Windows: get device context
+ // X-Windows: get drawable
+#if defined(Q_WS_WIN)
+ virtual HDC handle() const;
+#elif defined(Q_WS_X11)
+ virtual Qt::HANDLE handle() const;
+ virtual Qt::HANDLE x11RenderHandle() const;
+#elif defined(Q_WS_MAC)
+ virtual Qt::HANDLE handle() const;
+#elif defined(Q_WS_QWS)
+ virtual Qt::HANDLE handle() const;
+#endif
+
+#if defined(Q_WS_X11)
+ Display *x11Display() const;
+ int x11Screen() const;
+ int x11Depth() const;
+ int x11Cells() const;
+ Qt::HANDLE x11Colormap() const;
+ bool x11DefaultColormap() const;
+ void *x11Visual() const;
+ bool x11DefaultVisual() const;
+
+ static Display *x11AppDisplay();
+ static int x11AppScreen();
+
+ static int x11AppDpiX();
+ static int x11AppDpiY();
+ static void x11SetAppDpiX(int);
+ static void x11SetAppDpiY(int);
+ static int x11AppDepth();
+ static int x11AppCells();
+ static Qt::HANDLE x11AppRootWindow();
+ static Qt::HANDLE x11AppColormap();
+ static bool x11AppDefaultColormap();
+ static void *x11AppVisual();
+ static bool x11AppDefaultVisual();
+
+ // ### in 4.0, the above need to go away, the below needs to take a -1 default
+ // argument, signifying the default screen...
+ static int x11AppDepth( int screen );
+ static int x11AppCells( int screen );
+ static Qt::HANDLE x11AppRootWindow( int screen );
+ static Qt::HANDLE x11AppColormap( int screen );
+ static void *x11AppVisual( int screen );
+ static bool x11AppDefaultColormap( int screen );
+ static bool x11AppDefaultVisual( int screen );
+ static int x11AppDpiX( int );
+ static int x11AppDpiY( int );
+ static void x11SetAppDpiX( int, int );
+ static void x11SetAppDpiY( int, int );
+#endif
+
+#if defined(Q_WS_QWS)
+ static QWSDisplay *qwsDisplay();
+ virtual unsigned char * scanLine(int) const;
+ virtual int bytesPerLine() const;
+ virtual QGfx * graphicsContext(bool clip_children=TRUE) const;
+#endif
+
+ enum PDevCmd {
+ PdcNOP = 0, // &lt;void&gt;
+ PdcDrawPoint = 1, // point
+ PdcDrawFirst = PdcDrawPoint,
+ PdcMoveTo = 2, // point
+ PdcLineTo = 3, // point
+ PdcDrawLine = 4, // point,point
+ PdcDrawRect = 5, // rect
+ PdcDrawRoundRect = 6, // rect,ival,ival
+ PdcDrawEllipse = 7, // rect
+ PdcDrawArc = 8, // rect,ival,ival
+ PdcDrawPie = 9, // rect,ival,ival
+ PdcDrawChord = 10, // rect,ival,ival
+ PdcDrawLineSegments = 11, // ptarr
+ PdcDrawPolyline = 12, // ptarr
+ PdcDrawPolygon = 13, // ptarr,ival
+ PdcDrawCubicBezier = 14, // ptarr
+ PdcDrawText = 15, // point,str
+ PdcDrawTextFormatted = 16, // rect,ival,str
+ PdcDrawPixmap = 17, // rect,pixmap
+ PdcDrawImage = 18, // rect,image
+ PdcDrawText2 = 19, // point,str
+ PdcDrawText2Formatted = 20, // rect,ival,str
+ PdcDrawTextItem = 21,
+ PdcDrawLast = PdcDrawTextItem,
+
+ // no painting commands below PdcDrawLast.
+
+ PdcBegin = 30, // &lt;void&gt;
+ PdcEnd = 31, // &lt;void&gt;
+ PdcSave = 32, // &lt;void&gt;
+ PdcRestore = 33, // &lt;void&gt;
+ PdcSetdev = 34, // device - PRIVATE
+ PdcSetBkColor = 40, // color
+ PdcSetBkMode = 41, // ival
+ PdcSetROP = 42, // ival
+ PdcSetBrushOrigin = 43, // point
+ PdcSetFont = 45, // font
+ PdcSetPen = 46, // pen
+ PdcSetBrush = 47, // brush
+ PdcSetTabStops = 48, // ival
+ PdcSetTabArray = 49, // ival,ivec
+ PdcSetUnit = 50, // ival
+ PdcSetVXform = 51, // ival
+ PdcSetWindow = 52, // rect
+ PdcSetViewport = 53, // rect
+ PdcSetWXform = 54, // ival
+ PdcSetWMatrix = 55, // matrix,ival
+ PdcSaveWMatrix = 56,
+ PdcRestoreWMatrix = 57,
+ PdcSetClip = 60, // ival
+ PdcSetClipRegion = 61, // rgn
+
+ PdcReservedStart = 0, // codes 0-199 are reserved
+ PdcReservedStop = 199 // for Qt
+ };
+
+protected:
+ QPaintDevice( uint devflags );
+
+#if defined(Q_WS_WIN)
+ HDC hdc; // device context
+#elif defined(Q_WS_X11)
+ Qt::HANDLE hd; // handle to drawable
+ Qt::HANDLE rendhd; // handle to RENDER pict
+
+ void copyX11Data( const QPaintDevice * );
+ void cloneX11Data( const QPaintDevice * );
+ virtual void setX11Data( const QPaintDeviceX11Data* );
+ QPaintDeviceX11Data* getX11Data( bool def=FALSE ) const;
+#elif defined(Q_WS_MAC)
+#if !defined( QMAC_NO_QUARTZ )
+ CGContextRef ctx;
+#endif
+ void * hd;
+#elif defined(Q_WS_QWS)
+ Qt::HANDLE hd;
+#endif
+
+ virtual bool cmd( int, QPainter *, QPDevCmdParam * );
+ virtual int metric( int ) const;
+ virtual int fontMet( QFont *, int, const char * = 0, int = 0 ) const;
+ virtual int fontInf( QFont *, int ) const;
+
+ ushort devFlags; // device flags
+ ushort painters; // refcount
+
+ friend class QPainter;
+ friend class QPaintDeviceMetrics;
+#if defined(Q_WS_MAC)
+#ifndef QMAC_NO_QUARTZ
+ virtual CGContextRef macCGContext(bool clipped=TRUE) const;
+#endif
+ friend Q_EXPORT void unclippedScaledBitBlt( QPaintDevice *, int, int, int, int,
+ const QPaintDevice *, int, int, int, int, Qt::RasterOp, bool, bool );
+#else
+ friend Q_EXPORT void bitBlt( QPaintDevice *, int, int,
+ const QPaintDevice *,
+ int, int, int, int, Qt::RasterOp, bool );
+#endif
+#if defined(Q_WS_X11)
+ friend void qt_init_internal( int *, char **, Display *, Qt::HANDLE, Qt::HANDLE );
+ friend void qt_cleanup();
+#endif
+
+private:
+#if defined(Q_WS_X11)
+ static Display *x_appdisplay;
+ static int x_appscreen;
+
+ static int x_appdepth;
+ static int x_appcells;
+ static Qt::HANDLE x_approotwindow;
+ static Qt::HANDLE x_appcolormap;
+ static bool x_appdefcolormap;
+ static void *x_appvisual;
+ static bool x_appdefvisual;
+
+ // ### in 4.0, remove the above, and replace with the below
+ static int *x_appdepth_arr;
+ static int *x_appcells_arr;
+ static Qt::HANDLE *x_approotwindow_arr;
+ static Qt::HANDLE *x_appcolormap_arr;
+ static bool *x_appdefcolormap_arr;
+ static void **x_appvisual_arr;
+ static bool *x_appdefvisual_arr;
+
+ QPaintDeviceX11Data* x11Data;
+#endif
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPaintDevice( const QPaintDevice &amp; );
+ QPaintDevice &amp;operator=( const QPaintDevice &amp; );
+#endif
+};
+
+
+Q_EXPORT
+void bitBlt( QPaintDevice *dst, int dx, int dy,
+ const QPaintDevice *src, int sx=0, int sy=0, int sw=-1, int sh=-1,
+ Qt::RasterOp = Qt::CopyROP, bool ignoreMask=FALSE );
+
+Q_EXPORT
+void bitBlt( QPaintDevice *dst, int dx, int dy,
+ const QImage *src, int sx=0, int sy=0, int sw=-1, int sh=-1,
+ int conversion_flags=0 );
+
+
+#if defined(Q_WS_X11)
+
+struct Q_EXPORT QPaintDeviceX11Data : public QShared {
+ Display* x_display;
+ int x_screen;
+ int x_depth;
+ int x_cells;
+ Qt::HANDLE x_colormap;
+ bool x_defcolormap;
+ void* x_visual;
+ bool x_defvisual;
+};
+
+#endif
+
+/*****************************************************************************
+ Inline functions
+ *****************************************************************************/
+
+inline int QPaintDevice::devType() const
+{ return devFlags &amp; QInternal::DeviceTypeMask; }
+
+inline bool QPaintDevice::isExtDev() const
+{ return (devFlags &amp; QInternal::ExternalDevice) != 0; }
+
+inline bool QPaintDevice::paintingActive() const
+{ return painters != 0; }
+
+#if defined(Q_WS_X11)
+inline Display *QPaintDevice::x11Display() const
+{ return x11Data ? x11Data-&gt;x_display : x_appdisplay; }
+
+inline int QPaintDevice::x11Screen() const
+{ return x11Data ? x11Data-&gt;x_screen : x_appscreen; }
+
+inline int QPaintDevice::x11Depth() const
+{ return x11Data ? x11Data-&gt;x_depth : x_appdepth; }
+
+inline int QPaintDevice::x11Cells() const
+{ return x11Data ? x11Data-&gt;x_cells : x_appcells; }
+
+inline Qt::HANDLE QPaintDevice::x11Colormap() const
+{ return x11Data ? x11Data-&gt;x_colormap : x_appcolormap; }
+
+inline bool QPaintDevice::x11DefaultColormap() const
+{ return x11Data ? x11Data-&gt;x_defcolormap : x_appdefcolormap; }
+
+inline void *QPaintDevice::x11Visual() const
+{ return x11Data ? x11Data-&gt;x_visual : x_appvisual; }
+
+inline bool QPaintDevice::x11DefaultVisual() const
+{ return x11Data ? x11Data-&gt;x_defvisual : x_appdefvisual; }
+
+inline Display *QPaintDevice::x11AppDisplay()
+{ return x_appdisplay; }
+
+inline int QPaintDevice::x11AppScreen()
+{ return x_appscreen; }
+
+inline int QPaintDevice::x11AppDepth( int screen )
+{ return x_appdepth_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline int QPaintDevice::x11AppCells( int screen )
+{ return x_appcells_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline Qt::HANDLE QPaintDevice::x11AppRootWindow( int screen )
+{ return x_approotwindow_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline Qt::HANDLE QPaintDevice::x11AppColormap( int screen )
+{ return x_appcolormap_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline bool QPaintDevice::x11AppDefaultColormap( int screen )
+{ return x_appdefcolormap_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline void *QPaintDevice::x11AppVisual( int screen )
+{ return x_appvisual_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline bool QPaintDevice::x11AppDefaultVisual( int screen )
+{ return x_appdefvisual_arr[ screen == -1 ? x_appscreen : screen ]; }
+
+inline int QPaintDevice::x11AppDepth()
+{ return x_appdepth; }
+
+inline int QPaintDevice::x11AppCells()
+{ return x_appcells; }
+
+inline Qt::HANDLE QPaintDevice::x11AppRootWindow()
+{ return x_approotwindow; }
+
+inline Qt::HANDLE QPaintDevice::x11AppColormap()
+{ return x_appcolormap; }
+
+inline bool QPaintDevice::x11AppDefaultColormap()
+{ return x_appdefcolormap; }
+
+inline void *QPaintDevice::x11AppVisual()
+{ return x_appvisual; }
+
+inline bool QPaintDevice::x11AppDefaultVisual()
+{ return x_appdefvisual; }
+
+#endif // Q_WS_X11
+
+
+Q_EXPORT
+inline void bitBlt( QPaintDevice *dst, const QPoint &amp;dp,
+ const QPaintDevice *src, const QRect &amp;sr =QRect(0,0,-1,-1),
+ Qt::RasterOp rop=Qt::CopyROP, bool ignoreMask=FALSE )
+{
+ bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(),
+ rop, ignoreMask );
+}
+
+
+
+
+#endif // QPAINTDEVICE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevice-members.html b/doc/html/qpaintdevice-members.html
new file mode 100644
index 0000000..269d7e5
--- /dev/null
+++ b/doc/html/qpaintdevice-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpaintdevice.h:82 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintDevice Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPaintDevice</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpaintdevice.html">QPaintDevice</a>, including inherited members.
+
+<ul>
+<li><a href="qpaintdevice.html#QPaintDevice">QPaintDevice</a>()
+<li><a href="qpaintdevice.html#~QPaintDevice">~QPaintDevice</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevice.html b/doc/html/qpaintdevice.html
new file mode 100644
index 0000000..c90d330
--- /dev/null
+++ b/doc/html/qpaintdevice.html
@@ -0,0 +1,464 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpaintdevice_x11.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintDevice Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPaintDevice Class Reference</h1>
+
+<p>The QPaintDevice class is the base class of objects that
+can be painted.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpaintdevice-h.html">qpaintdevice.h</a>&gt;</tt>
+<p>Inherited by <a href="qwidget.html">QWidget</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qpicture.html">QPicture</a>, and <a href="qprinter.html">QPrinter</a>.
+<p><a href="qpaintdevice-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QPaintDevice"><b>~QPaintDevice</b></a> ()</li>
+<li class=fn>bool <a href="#isExtDev"><b>isExtDev</b></a> () const</li>
+<li class=fn>bool <a href="#paintingActive"><b>paintingActive</b></a> () const</li>
+<li class=fn>virtual HDC <b>handle</b> () const</li>
+<li class=fn>virtual Qt::HANDLE <a href="#handle"><b>handle</b></a> () const</li>
+<li class=fn>Display * <a href="#x11Display"><b>x11Display</b></a> () const</li>
+<li class=fn>int <a href="#x11Screen"><b>x11Screen</b></a> () const</li>
+<li class=fn>int <a href="#x11Depth"><b>x11Depth</b></a> () const</li>
+<li class=fn>int <a href="#x11Cells"><b>x11Cells</b></a> () const</li>
+<li class=fn>Qt::HANDLE <a href="#x11Colormap"><b>x11Colormap</b></a> () const</li>
+<li class=fn>bool <a href="#x11DefaultColormap"><b>x11DefaultColormap</b></a> () const</li>
+<li class=fn>void * <a href="#x11Visual"><b>x11Visual</b></a> () const</li>
+<li class=fn>bool <a href="#x11DefaultVisual"><b>x11DefaultVisual</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>Display * <a href="#x11AppDisplay"><b>x11AppDisplay</b></a> ()</li>
+<li class=fn>int <a href="#x11AppScreen"><b>x11AppScreen</b></a> ()</li>
+<li class=fn>int <a href="#x11AppDpiX-2"><b>x11AppDpiX</b></a> ()</li>
+<li class=fn>int <a href="#x11AppDpiY-2"><b>x11AppDpiY</b></a> ()</li>
+<li class=fn>void <a href="#x11SetAppDpiX-2"><b>x11SetAppDpiX</b></a> ( int&nbsp;dpi )</li>
+<li class=fn>void <a href="#x11SetAppDpiY-2"><b>x11SetAppDpiY</b></a> ( int&nbsp;dpi )</li>
+<li class=fn>int <a href="#x11AppDepth-2"><b>x11AppDepth</b></a> ()</li>
+<li class=fn>int <a href="#x11AppCells"><b>x11AppCells</b></a> ()</li>
+<li class=fn>Qt::HANDLE <a href="#x11AppRootWindow"><b>x11AppRootWindow</b></a> ()</li>
+<li class=fn>Qt::HANDLE <a href="#x11AppColormap"><b>x11AppColormap</b></a> ()</li>
+<li class=fn>bool <a href="#x11AppDefaultColormap"><b>x11AppDefaultColormap</b></a> ()</li>
+<li class=fn>void * <a href="#x11AppVisual"><b>x11AppVisual</b></a> ()</li>
+<li class=fn>bool <a href="#x11AppDefaultVisual"><b>x11AppDefaultVisual</b></a> ()</li>
+<li class=fn>int <a href="#x11AppDepth"><b>x11AppDepth</b></a> ( int&nbsp;screen )</li>
+<li class=fn>int <a href="#x11AppCells-2"><b>x11AppCells</b></a> ( int&nbsp;screen )</li>
+<li class=fn>Qt::HANDLE <a href="#x11AppRootWindow-2"><b>x11AppRootWindow</b></a> ( int&nbsp;screen )</li>
+<li class=fn>Qt::HANDLE <a href="#x11AppColormap-2"><b>x11AppColormap</b></a> ( int&nbsp;screen )</li>
+<li class=fn>void * <a href="#x11AppVisual-2"><b>x11AppVisual</b></a> ( int&nbsp;screen )</li>
+<li class=fn>bool <a href="#x11AppDefaultColormap-2"><b>x11AppDefaultColormap</b></a> ( int&nbsp;screen )</li>
+<li class=fn>bool <a href="#x11AppDefaultVisual-2"><b>x11AppDefaultVisual</b></a> ( int&nbsp;screen )</li>
+<li class=fn>int <a href="#x11AppDpiX"><b>x11AppDpiX</b></a> ( int&nbsp;screen )</li>
+<li class=fn>int <a href="#x11AppDpiY"><b>x11AppDpiY</b></a> ( int&nbsp;screen )</li>
+<li class=fn>void <a href="#x11SetAppDpiX"><b>x11SetAppDpiX</b></a> ( int&nbsp;dpi, int&nbsp;screen )</li>
+<li class=fn>void <a href="#x11SetAppDpiY"><b>x11SetAppDpiY</b></a> ( int&nbsp;dpi, int&nbsp;screen )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QPaintDevice"><b>QPaintDevice</b></a> ( uint&nbsp;devflags )</li>
+<li class=fn>virtual bool <a href="#cmd"><b>cmd</b></a> ( int, QPainter *, QPDevCmdParam * )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void <a href="#bitBlt"><b>bitBlt</b></a> ( QPaintDevice&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;QPaintDevice&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh, Qt::RasterOp&nbsp;rop, bool&nbsp;ignoreMask )</li>
+<li class=fn>void <a href="#bitBlt-2"><b>bitBlt</b></a> ( QPaintDevice&nbsp;*&nbsp;dst, const&nbsp;QPoint&nbsp;&amp;&nbsp;dp, const&nbsp;QPaintDevice&nbsp;*&nbsp;src, const&nbsp;QRect&nbsp;&amp;&nbsp;sr, RasterOp&nbsp;rop )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPaintDevice class is the base class of objects that
+can be painted.
+<p>
+
+<p> A paint device is an abstraction of a two-dimensional space that
+can be drawn using a <a href="qpainter.html">QPainter</a>. The drawing capabilities are
+implemented by the subclasses <a href="qwidget.html">QWidget</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qpicture.html">QPicture</a> and
+<a href="qprinter.html">QPrinter</a>.
+<p> The default coordinate system of a paint device has its origin
+located at the top-left position. X increases to the right and Y
+increases downward. The unit is one pixel. There are several ways
+to set up a user-defined coordinate system using the painter, for
+example, using <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>().
+<p> Example (draw on a paint device):
+<pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p; // our painter
+ p.<a href="qpainter.html#begin">begin</a>( this ); // start painting the widget
+ p.<a href="qpainter.html#setPen">setPen</a>( red ); // red outline
+ p.<a href="qpainter.html#setBrush">setBrush</a>( yellow ); // yellow fill
+ p.<a href="qpainter.html#drawEllipse">drawEllipse</a>( 10, 20, 100,100 ); // 100x100 ellipse at position (10, 20)
+ p.<a href="qpainter.html#end">end</a>(); // painting done
+ }
+ </pre>
+
+<p> The bit block transfer is an extremely useful operation for
+copying pixels from one paint device to another (or to itself). It
+is implemented as the global function <a href="#bitBlt">bitBlt</a>().
+<p> Example (scroll widget contents 10 pixels to the right):
+<pre>
+ <a href="#bitBlt">bitBlt</a>( myWidget, 10, 0, myWidget );
+ </pre>
+
+<p> <b>Warning:</b> Qt requires that a <a href="qapplication.html">QApplication</a> object exists before
+any paint devices can be created. Paint devices access window
+system resources, and these resources are not initialized before
+an application object is created.
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPaintDevice"></a>QPaintDevice::QPaintDevice ( uint&nbsp;devflags )<tt> [protected]</tt>
+</h3>
+Constructs a paint device with internal flags <em>devflags</em>. This
+constructor can be invoked only from QPaintDevice subclasses.
+
+<h3 class=fn><a name="~QPaintDevice"></a>QPaintDevice::~QPaintDevice ()<tt> [virtual]</tt>
+</h3>
+Destroys the paint device and frees window system resources.
+
+<h3 class=fn>bool <a name="cmd"></a>QPaintDevice::cmd ( int, <a href="qpainter.html">QPainter</a>&nbsp;*, QPDevCmdParam * )<tt> [virtual protected]</tt>
+</h3>
+Internal virtual function that interprets drawing commands from
+the painter.
+<p> Implemented by subclasses that have no direct support for drawing
+graphics (external paint devices, for example, <a href="qpicture.html">QPicture</a>).
+
+<h3 class=fn>Qt::HANDLE <a name="handle"></a>QPaintDevice::handle () const<tt> [virtual]</tt>
+</h3>
+Returns the window system handle of the paint device, for
+low-level access. Using this function is not portable.
+<p> The HANDLE type varies with platform; see <a href="qpaintdevice-h.html">qpaintdevice.h</a> and
+<a href="qwindowdefs-h.html">qwindowdefs.h</a> for details.
+<p> <p>See also <a href="#x11Display">x11Display</a>().
+
+<h3 class=fn>bool <a name="isExtDev"></a>QPaintDevice::isExtDev () const
+</h3>
+
+<p> Returns TRUE if the device is an external paint device; otherwise
+returns FALSE.
+<p> External paint devices cannot be <a href="#bitBlt">bitBlt</a>()'ed from. <a href="qpicture.html">QPicture</a> and
+<a href="qprinter.html">QPrinter</a> are external paint devices.
+
+<h3 class=fn>bool <a name="paintingActive"></a>QPaintDevice::paintingActive () const
+</h3>
+
+<p> Returns TRUE if the device is being painted, i.e. someone has
+called <a href="qpainter.html#begin">QPainter::begin</a>() but not yet called <a href="qpainter.html#end">QPainter::end</a>() for
+this device; otherwise returns FALSE.
+<p> <p>See also <a href="qpainter.html#isActive">QPainter::isActive</a>().
+
+<h3 class=fn>int <a name="x11AppCells"></a>QPaintDevice::x11AppCells ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the number of entries in the colormap for the default
+screen of the X display global to the application (X11
+only). Using this function is not portable.
+<p> <p>See also <a href="#x11Colormap">x11Colormap</a>().
+
+<h3 class=fn>int <a name="x11AppCells-2"></a>QPaintDevice::x11AppCells ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the number of entries in the colormap for screen <em>screen</em>
+of the X display global to the application (X11 only). Using this
+function is not portable.
+<p> <p>See also <a href="#x11Colormap">x11Colormap</a>().
+
+<h3 class=fn>Qt::HANDLE <a name="x11AppColormap"></a>QPaintDevice::x11AppColormap ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the colormap for the default screen of the X display
+global to the application (X11 only). Using this function is not
+portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>Qt::HANDLE <a name="x11AppColormap-2"></a>QPaintDevice::x11AppColormap ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the colormap for screen <em>screen</em> of the X display global
+to the application (X11 only). Using this function is not
+portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>bool <a name="x11AppDefaultColormap"></a>QPaintDevice::x11AppDefaultColormap ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the default colormap for the default screen of the X
+display global to the application (X11 only). Using this function
+is not portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>bool <a name="x11AppDefaultColormap-2"></a>QPaintDevice::x11AppDefaultColormap ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the default colormap for screen <em>screen</em> of the X display
+global to the application (X11 only). Using this function is not
+portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>bool <a name="x11AppDefaultVisual"></a>QPaintDevice::x11AppDefaultVisual ()<tt> [static]</tt>
+</h3>
+
+<p> Returns TRUE if the Visual used is the default for the default
+screen of the X display global to the application (X11 only);
+otherwise returns FALSE. Using this function is not portable.
+
+<h3 class=fn>bool <a name="x11AppDefaultVisual-2"></a>QPaintDevice::x11AppDefaultVisual ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if the Visual used is the default for screen
+<em>screen</em> of the X display global to the application (X11 only);
+otherwise returns FALSE. Using this function is not portable.
+
+<h3 class=fn>int <a name="x11AppDepth"></a>QPaintDevice::x11AppDepth ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+
+<p> Returns the depth for screen <em>screen</em> of the X display global to
+the application (X11 only). Using this function is not portable.
+<p> <p>See also <a href="qpixmap.html#defaultDepth">QPixmap::defaultDepth</a>().
+
+<h3 class=fn>int <a name="x11AppDepth-2"></a>QPaintDevice::x11AppDepth ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the depth for the default screen of the X display global
+to the application (X11 only). Using this function is not
+portable.
+<p> <p>See also <a href="qpixmap.html#defaultDepth">QPixmap::defaultDepth</a>().
+
+<h3 class=fn>Display * <a name="x11AppDisplay"></a>QPaintDevice::x11AppDisplay ()<tt> [static]</tt>
+</h3>
+
+<p> Returns a pointer to the X display global to the application (X11
+only). Using this function is not portable.
+<p> <p>See also <a href="#handle">handle</a>().
+
+<h3 class=fn>int <a name="x11AppDpiX"></a>QPaintDevice::x11AppDpiX ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+Returns the horizontal DPI of the X display (X11 only) for screen
+<em>screen</em>. Using this function is not portable. See
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> for portable access to related information.
+Using this function is not portable.
+<p> <p>See also <a href="#x11AppDpiY">x11AppDpiY</a>(), <a href="#x11SetAppDpiX">x11SetAppDpiX</a>(), and <a href="qpaintdevicemetrics.html#logicalDpiX">QPaintDeviceMetrics::logicalDpiX</a>().
+
+<h3 class=fn>int <a name="x11AppDpiX-2"></a>QPaintDevice::x11AppDpiX ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the horizontal DPI of the X display (X11 only) for the
+default screen. Using this function is not portable. See
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> for portable access to related information.
+Using this function is not portable.
+
+<h3 class=fn>int <a name="x11AppDpiY"></a>QPaintDevice::x11AppDpiY ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+Returns the vertical DPI of the X11 display (X11 only) for screen
+<em>screen</em>. Using this function is not portable. See
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> for portable access to related information.
+Using this function is not portable.
+<p> <p>See also <a href="#x11AppDpiX">x11AppDpiX</a>(), <a href="#x11SetAppDpiY">x11SetAppDpiY</a>(), and <a href="qpaintdevicemetrics.html#logicalDpiY">QPaintDeviceMetrics::logicalDpiY</a>().
+
+<h3 class=fn>int <a name="x11AppDpiY-2"></a>QPaintDevice::x11AppDpiY ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the vertical DPI of the X11 display (X11 only) for the
+default screen. Using this function is not portable. See
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> for portable access to related information.
+Using this function is not portable.
+<p> <p>See also <a href="#x11AppDpiX">x11AppDpiX</a>(), <a href="#x11SetAppDpiY">x11SetAppDpiY</a>(), and <a href="qpaintdevicemetrics.html#logicalDpiY">QPaintDeviceMetrics::logicalDpiY</a>().
+
+<h3 class=fn>Qt::HANDLE <a name="x11AppRootWindow"></a>QPaintDevice::x11AppRootWindow ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the root window for the default screen of the X display
+global to the applicatoin (X11 only). Using this function is not
+portable.
+
+<h3 class=fn>Qt::HANDLE <a name="x11AppRootWindow-2"></a>QPaintDevice::x11AppRootWindow ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the root window for screen <em>screen</em> of the X display
+global to the applicatoin (X11 only). Using this function is not
+portable.
+
+<h3 class=fn>int <a name="x11AppScreen"></a>QPaintDevice::x11AppScreen ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the screen number on the X display global to the
+application (X11 only). Using this function is not portable.
+
+<h3 class=fn>void * <a name="x11AppVisual"></a>QPaintDevice::x11AppVisual ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the Visual for the default screen of the X display global
+to the application (X11 only). Using this function is not
+portable.
+
+<h3 class=fn>void * <a name="x11AppVisual-2"></a>QPaintDevice::x11AppVisual ( int&nbsp;screen )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the Visual for screen <em>screen</em> of the X display global to
+the application (X11 only). Using this function is not portable.
+
+<h3 class=fn>int <a name="x11Cells"></a>QPaintDevice::x11Cells () const
+</h3>
+
+<p> Returns the number of entries in the colormap of the X display for
+the paint device (X11 only). Using this function is not portable.
+<p> <p>See also <a href="#x11Colormap">x11Colormap</a>().
+
+<h3 class=fn>Qt::HANDLE <a name="x11Colormap"></a>QPaintDevice::x11Colormap () const
+</h3>
+
+<p> Returns the colormap of the X display for the paint device (X11
+only). Using this function is not portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>bool <a name="x11DefaultColormap"></a>QPaintDevice::x11DefaultColormap () const
+</h3>
+
+<p> Returns the default colormap of the X display for the paint device
+(X11 only). Using this function is not portable.
+<p> <p>See also <a href="#x11Cells">x11Cells</a>().
+
+<h3 class=fn>bool <a name="x11DefaultVisual"></a>QPaintDevice::x11DefaultVisual () const
+</h3>
+
+<p> Returns the default Visual of the X display for the paint device
+(X11 only). Using this function is not portable.
+
+<h3 class=fn>int <a name="x11Depth"></a>QPaintDevice::x11Depth () const
+</h3>
+
+<p> Returns the depth of the X display for the paint device (X11
+only). Using this function is not portable.
+<p> <p>See also <a href="qpixmap.html#defaultDepth">QPixmap::defaultDepth</a>().
+
+<h3 class=fn>Display * <a name="x11Display"></a>QPaintDevice::x11Display () const
+</h3>
+
+<p> Returns a pointer to the X display for the paint device (X11
+only). Using this function is not portable.
+<p> <p>See also <a href="#handle">handle</a>().
+
+<h3 class=fn>int <a name="x11Screen"></a>QPaintDevice::x11Screen () const
+</h3>
+
+<p> Returns the screen number on the X display for the paint device
+(X11 only). Using this function is not portable.
+
+<h3 class=fn>void <a name="x11SetAppDpiX"></a>QPaintDevice::x11SetAppDpiX ( int&nbsp;dpi, int&nbsp;screen )<tt> [static]</tt>
+</h3>
+Sets the value returned by <a href="#x11AppDpiX">x11AppDpiX</a>() to <em>dpi</em> for screen
+<em>screen</em>. The default is determined by the display configuration.
+Changing this value will alter the scaling of fonts and many other
+metrics and is not recommended. Using this function is not
+portable.
+<p> <p>See also <a href="#x11SetAppDpiY">x11SetAppDpiY</a>().
+
+<h3 class=fn>void <a name="x11SetAppDpiX-2"></a>QPaintDevice::x11SetAppDpiX ( int&nbsp;dpi )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the value returned by <a href="#x11AppDpiX">x11AppDpiX</a>() to <em>dpi</em> for the default
+screen. The default is determined by the display configuration.
+Changing this value will alter the scaling of fonts and many other
+metrics and is not recommended. Using this function is not
+portable.
+<p>
+<h3 class=fn>void <a name="x11SetAppDpiY"></a>QPaintDevice::x11SetAppDpiY ( int&nbsp;dpi, int&nbsp;screen )<tt> [static]</tt>
+</h3>
+Sets the value returned by <a href="#x11AppDpiY">x11AppDpiY</a>() to <em>dpi</em> for screen
+<em>screen</em>. The default is determined by the display configuration.
+Changing this value will alter the scaling of fonts and many other
+metrics and is not recommended. Using this function is not
+portable.
+<p> <p>See also <a href="#x11SetAppDpiX">x11SetAppDpiX</a>().
+
+<h3 class=fn>void <a name="x11SetAppDpiY-2"></a>QPaintDevice::x11SetAppDpiY ( int&nbsp;dpi )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the value returned by <a href="#x11AppDpiY">x11AppDpiY</a>() to <em>dpi</em> for the default
+screen. The default is determined by the display configuration.
+Changing this value will alter the scaling of fonts and many other
+metrics and is not recommended. Using this function is not
+portable.
+
+<h3 class=fn>void * <a name="x11Visual"></a>QPaintDevice::x11Visual () const
+</h3>
+
+<p> Returns the Visual of the X display for the paint device (X11
+only). Using this function is not portable.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="bitBlt"></a>bitBlt ( <a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh, <a href="qt.html#RasterOp-enum">Qt::RasterOp</a>&nbsp;rop, bool&nbsp;ignoreMask )
+</h3>
+
+<p> Copies a block of pixels from <em>src</em> to <em>dst</em>, perhaps merging
+each pixel according to the <a href="qt.html#RasterOp-enum">raster operation</a>
+<em>rop</em>. <em>sx</em>, <em>sy</em>
+is the top-left pixel in <em>src</em> (0, 0) by default, <em>dx</em>, <em>dy</em> is
+the top-left position in <em>dst</em> and <em>sw</em>, <em>sh</em> is the size of
+the copied block (all of <em>src</em> by default).
+<p> The most common values for <em>rop</em> are CopyROP and XorROP; the <a href="qt.html#RasterOp-enum">Qt::RasterOp</a> documentation defines all the possible values.
+<p> If <em>ignoreMask</em> is FALSE (the default) and <em>src</em> is a
+masked <a href="qpixmap.html">QPixmap</a>, the entire blit is masked by <em>src</em>->mask().
+<p> If <em>src</em>, <em>dst</em>, <em>sw</em> or <em>sh</em> is 0, <a href="#bitBlt">bitBlt</a>() does nothing. If
+<em>sw</em> or <em>sh</em> is negative bitBlt() copies starting at <em>sx</em> (and
+respectively, <em>sy</em>) and ending at the right end (respectively,
+bottom) of <em>src</em>.
+<p> <em>src</em> must be a <a href="qwidget.html">QWidget</a> or QPixmap. You cannot blit from a
+<a href="qprinter.html">QPrinter</a>, for example. bitBlt() does nothing if you attempt to
+blit from an unsupported device.
+<p> bitBlt() does nothing if <em>src</em> has a greater depth than <em>dst</em>.
+If you need to for example, draw a 24-bit pixmap on an 8-bit
+widget, you must use drawPixmap().
+
+<h3 class=fn>void <a name="bitBlt-2"></a>bitBlt ( <a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;dst, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;dp, const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;src, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;sr, RasterOp&nbsp;rop )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Overloaded <a href="#bitBlt">bitBlt</a>() with the destination point <em>dp</em> and source
+rectangle <em>sr</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevicemetrics-h.html b/doc/html/qpaintdevicemetrics-h.html
new file mode 100644
index 0000000..4b9b9c9
--- /dev/null
+++ b/doc/html/qpaintdevicemetrics-h.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpaintdevicemetrics.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpaintdevicemetrics.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpaintdevicemetrics.h</h1>
+
+<p>This is the verbatim text of the qpaintdevicemetrics.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpaintdevicemetrics.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPaintDeviceMetrics class
+**
+** Created : 941109
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPAINTDEVICEMETRICS_H
+#define QPAINTDEVICEMETRICS_H
+
+#ifndef QT_H
+#include "qpaintdevice.h"
+#endif // QT_H
+
+
+class Q_EXPORT QPaintDeviceMetrics // paint device metrics
+{
+public:
+ QPaintDeviceMetrics( const QPaintDevice * );
+
+ enum {
+ PdmWidth = 1,
+ PdmHeight,
+ PdmWidthMM,
+ PdmHeightMM,
+ PdmNumColors,
+ PdmDepth,
+ PdmDpiX,
+ PdmDpiY,
+ PdmPhysicalDpiX,
+ PdmPhysicalDpiY
+ };
+
+ int width() const { return (int)pdev-&gt;metric(PdmWidth); }
+ int height() const { return (int)pdev-&gt;metric(PdmHeight); }
+ int widthMM() const { return (int)pdev-&gt;metric(PdmWidthMM); }
+ int heightMM() const { return (int)pdev-&gt;metric(PdmHeightMM); }
+ int logicalDpiX() const { return (int)pdev-&gt;metric(PdmDpiX); }
+ int logicalDpiY() const { return (int)pdev-&gt;metric(PdmDpiY); }
+ int physicalDpiX()const { return (int)pdev-&gt;metric(PdmPhysicalDpiX); }
+ int physicalDpiY()const { return (int)pdev-&gt;metric(PdmPhysicalDpiY); }
+ int numColors() const { return (int)pdev-&gt;metric(PdmNumColors); }
+ int depth() const { return (int)pdev-&gt;metric(PdmDepth); }
+
+private:
+ QPaintDevice *pdev;
+};
+
+
+#endif // QPAINTDEVICEMETRICS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevicemetrics-members.html b/doc/html/qpaintdevicemetrics-members.html
new file mode 100644
index 0000000..e71c8d2
--- /dev/null
+++ b/doc/html/qpaintdevicemetrics-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpaintdevicemetrics.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintDeviceMetrics Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPaintDeviceMetrics</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>, including inherited members.
+
+<ul>
+<li><a href="qpaintdevicemetrics.html#QPaintDeviceMetrics">QPaintDeviceMetrics</a>()
+<li><a href="qpaintdevicemetrics.html#depth">depth</a>()
+<li><a href="qpaintdevicemetrics.html#height">height</a>()
+<li><a href="qpaintdevicemetrics.html#heightMM">heightMM</a>()
+<li><a href="qpaintdevicemetrics.html#logicalDpiX">logicalDpiX</a>()
+<li><a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>()
+<li><a href="qpaintdevicemetrics.html#numColors">numColors</a>()
+<li><a href="qpaintdevicemetrics.html#width">width</a>()
+<li><a href="qpaintdevicemetrics.html#widthMM">widthMM</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintdevicemetrics.html b/doc/html/qpaintdevicemetrics.html
new file mode 100644
index 0000000..a85ff05
--- /dev/null
+++ b/doc/html/qpaintdevicemetrics.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpaintdevicemetrics.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintDeviceMetrics Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPaintDeviceMetrics Class Reference</h1>
+
+<p>The QPaintDeviceMetrics class provides information about a
+paint device.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;</tt>
+<p><a href="qpaintdevicemetrics-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPaintDeviceMetrics"><b>QPaintDeviceMetrics</b></a> ( const&nbsp;QPaintDevice&nbsp;*&nbsp;pd )</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>int <a href="#widthMM"><b>widthMM</b></a> () const</li>
+<li class=fn>int <a href="#heightMM"><b>heightMM</b></a> () const</li>
+<li class=fn>int <a href="#logicalDpiX"><b>logicalDpiX</b></a> () const</li>
+<li class=fn>int <a href="#logicalDpiY"><b>logicalDpiY</b></a> () const</li>
+<li class=fn>int <a href="#numColors"><b>numColors</b></a> () const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPaintDeviceMetrics class provides information about a
+paint device.
+<p>
+
+<p> Sometimes when drawing graphics it is necessary to obtain
+information about the physical characteristics of a paint device.
+This class provides the information. For example, to compute the
+aspect ratio of a paint device:
+<p> <pre>
+ QPaintDeviceMetrics pdm( myWidget );
+ double aspect = (double)pdm.<a href="#widthMM">widthMM</a>() / (double)pdm.<a href="#heightMM">heightMM</a>();
+ </pre>
+
+<p> QPaintDeviceMetrics contains methods to provide the width and
+height of a device in both pixels (<a href="#width">width</a>() and <a href="#height">height</a>()) and
+millimeters (<a href="#widthMM">widthMM</a>() and <a href="#heightMM">heightMM</a>()), the number of colors the
+device supports (<a href="#numColors">numColors</a>()), the number of bit planes (<a href="#depth">depth</a>()),
+and the resolution of the device (<a href="#logicalDpiX">logicalDpiX</a>() and
+<a href="#logicalDpiY">logicalDpiY</a>()).
+<p> It is not always possible for QPaintDeviceMetrics to compute the
+values you ask for, particularly for external devices. The
+ultimate example is asking for the resolution of of a <a href="qprinter.html">QPrinter</a>
+that is set to "print to file": who knows what printer that file
+will end up on?
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPaintDeviceMetrics"></a>QPaintDeviceMetrics::QPaintDeviceMetrics ( const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pd )
+</h3>
+Constructs a metric for the paint device <em>pd</em>.
+
+<h3 class=fn>int <a name="depth"></a>QPaintDeviceMetrics::depth () const
+</h3>
+
+<p> Returns the bit depth (number of bit planes) of the paint device.
+
+<h3 class=fn>int <a name="height"></a>QPaintDeviceMetrics::height () const
+</h3>
+
+<p> Returns the height of the paint device in default coordinate
+system units (e.g. pixels for <a href="qpixmap.html">QPixmap</a> and <a href="qwidget.html">QWidget</a>).
+
+<p>Examples: <a href="qaction-application-example.html#x1141">action/application.cpp</a>, <a href="simple-application-example.html#x1559">application/application.cpp</a>, <a href="helpviewer-example.html#x996">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2040">mdi/application.cpp</a>, and <a href="qwerty-example.html#x378">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="heightMM"></a>QPaintDeviceMetrics::heightMM () const
+</h3>
+
+<p> Returns the height of the paint device, measured in millimeters.
+
+<h3 class=fn>int <a name="logicalDpiX"></a>QPaintDeviceMetrics::logicalDpiX () const
+</h3>
+
+<p> Returns the horizontal resolution of the device in dots per inch,
+which is used when computing font sizes. For X, this is usually
+the same as could be computed from <a href="#widthMM">widthMM</a>(), but it varies on
+Windows.
+
+<p>Example: <a href="qwerty-example.html#x379">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="logicalDpiY"></a>QPaintDeviceMetrics::logicalDpiY () const
+</h3>
+
+<p> Returns the vertical resolution of the device in dots per inch,
+which is used when computing font sizes. For X, this is usually
+the same as could be computed from <a href="#heightMM">heightMM</a>(), but it varies on
+Windows.
+
+<p>Examples: <a href="qaction-application-example.html#x1142">action/application.cpp</a>, <a href="simple-application-example.html#x1560">application/application.cpp</a>, <a href="helpviewer-example.html#x997">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2041">mdi/application.cpp</a>.
+<h3 class=fn>int <a name="numColors"></a>QPaintDeviceMetrics::numColors () const
+</h3>
+
+<p> Returns the number of different colors available for the paint
+device. Since this value is an int will not be sufficient to represent
+the number of colors on 32 bit displays, in which case INT_MAX is
+returned instead.
+
+<h3 class=fn>int <a name="width"></a>QPaintDeviceMetrics::width () const
+</h3>
+
+<p> Returns the width of the paint device in default coordinate system
+units (e.g. pixels for <a href="qpixmap.html">QPixmap</a> and <a href="qwidget.html">QWidget</a>).
+
+<p>Examples: <a href="qaction-application-example.html#x1143">action/application.cpp</a>, <a href="simple-application-example.html#x1561">application/application.cpp</a>, <a href="helpviewer-example.html#x998">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2042">mdi/application.cpp</a>, and <a href="qwerty-example.html#x380">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="widthMM"></a>QPaintDeviceMetrics::widthMM () const
+</h3>
+
+<p> Returns the width of the paint device, measured in millimeters.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpainter-h.html b/doc/html/qpainter-h.html
new file mode 100644
index 0000000..7055141
--- /dev/null
+++ b/doc/html/qpainter-h.html
@@ -0,0 +1,766 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpainter.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpainter.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpainter.h</h1>
+
+<p>This is the verbatim text of the qpainter.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpainter.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPainter class
+**
+** Created : 940112
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPAINTER_H
+#define QPAINTER_H
+
+
+#ifndef QT_H
+#include "qcolor.h"
+#include "qfontmetrics.h"
+#include "qfontinfo.h"
+#include "qregion.h"
+#include "qpen.h"
+#include "qbrush.h"
+#include "qpointarray.h"
+#include "qwmatrix.h"
+#endif // QT_H
+
+class QGfx;
+class QTextCodec;
+class QTextParag;
+class QPaintDevice;
+class QTextItem;
+#if defined( Q_WS_MAC )
+class QMacSavedPortInfo;
+#endif
+class QPainterPrivate;
+
+#if defined(Q_WS_QWS)
+class QScreen;
+#endif
+
+class Q_EXPORT QPainter : public Qt
+{
+public:
+ enum CoordinateMode { CoordDevice, CoordPainter };
+
+ QPainter();
+ QPainter( const QPaintDevice *, bool unclipped = FALSE );
+ QPainter( const QPaintDevice *, const QWidget *, bool unclipped = FALSE );
+ ~QPainter();
+
+ bool begin( const QPaintDevice *, bool unclipped = FALSE );
+ bool begin( const QPaintDevice *, const QWidget *, bool unclipped = FALSE );
+ bool end();
+ QPaintDevice *device() const;
+
+#ifdef Q_WS_QWS
+ QGfx * internalGfx();
+#ifdef QT_QWS_EXPERIMENTAL_SCREENPAINTER
+ bool begin(QScreen *screen);
+#endif
+#endif
+
+ static void redirect( QPaintDevice *pdev, QPaintDevice *replacement );
+ static QPaintDevice *redirect( QPaintDevice *pdev );
+
+ bool isActive() const;
+
+ void flush( const QRegion &amp;region, CoordinateMode cm = CoordDevice );
+ void flush();
+ void save();
+ void restore();
+
+ // Drawing tools
+
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+
+ const QFont &amp;font() const;
+ void setFont( const QFont &amp; );
+ const QPen &amp;pen() const;
+ void setPen( const QPen &amp; );
+ void setPen( PenStyle );
+ void setPen( const QColor &amp; );
+ const QBrush &amp;brush() const;
+ void setBrush( const QBrush &amp; );
+ void setBrush( BrushStyle );
+ void setBrush( const QColor &amp; );
+ QPoint pos() const;
+
+ // Drawing attributes/modes
+
+ const QColor &amp;backgroundColor() const;
+ void setBackgroundColor( const QColor &amp; );
+ BGMode backgroundMode() const;
+ void setBackgroundMode( BGMode );
+ RasterOp rasterOp() const;
+ void setRasterOp( RasterOp );
+ const QPoint &amp;brushOrigin() const;
+ void setBrushOrigin( int x, int y );
+ void setBrushOrigin( const QPoint &amp; );
+
+ // Scaling and transformations
+
+// PaintUnit unit() const; // get set painter unit
+// void setUnit( PaintUnit ); // NOT IMPLEMENTED!!!
+
+ bool hasViewXForm() const;
+ bool hasWorldXForm() const;
+
+#ifndef QT_NO_TRANSFORMATIONS
+ void setViewXForm( bool ); // set xform on/off
+ QRect window() const; // get window
+ void setWindow( const QRect &amp; ); // set window
+ void setWindow( int x, int y, int w, int h );
+ QRect viewport() const; // get viewport
+ void setViewport( const QRect &amp; ); // set viewport
+ void setViewport( int x, int y, int w, int h );
+
+ void setWorldXForm( bool ); // set world xform on/off
+ const QWMatrix &amp;worldMatrix() const; // get/set world xform matrix
+ void setWorldMatrix( const QWMatrix &amp;, bool combine=FALSE );
+
+ void saveWorldMatrix();
+ void restoreWorldMatrix();
+
+ void scale( double sx, double sy );
+ void shear( double sh, double sv );
+ void rotate( double a );
+#endif
+ void translate( double dx, double dy );
+ void resetXForm();
+ double translationX() const;
+ double translationY() const;
+
+ QPoint xForm( const QPoint &amp; ) const; // map virtual -&gt; device
+ QRect xForm( const QRect &amp; ) const;
+ QPointArray xForm( const QPointArray &amp; ) const;
+ QPointArray xForm( const QPointArray &amp;, int index, int npoints ) const;
+ QPoint xFormDev( const QPoint &amp; ) const; // map device -&gt; virtual
+ QRect xFormDev( const QRect &amp; ) const;
+ QPointArray xFormDev( const QPointArray &amp; ) const;
+ QPointArray xFormDev( const QPointArray &amp;, int index, int npoints ) const;
+
+ // Clipping
+
+ void setClipping( bool ); // set clipping on/off
+ bool hasClipping() const;
+ QRegion clipRegion( CoordinateMode = CoordDevice ) const;
+ void setClipRect( const QRect &amp;, CoordinateMode = CoordDevice ); // set clip rectangle
+ void setClipRect( int x, int y, int w, int h, CoordinateMode = CoordDevice );
+ void setClipRegion( const QRegion &amp;, CoordinateMode = CoordDevice );// set clip region
+
+ // Graphics drawing functions
+
+ void drawPoint( int x, int y );
+ void drawPoint( const QPoint &amp; );
+ void drawPoints( const QPointArray&amp; a,
+ int index=0, int npoints=-1 );
+ void moveTo( int x, int y );
+ void moveTo( const QPoint &amp; );
+ void lineTo( int x, int y );
+ void lineTo( const QPoint &amp; );
+ void drawLine( int x1, int y1, int x2, int y2 );
+ void drawLine( const QPoint &amp;, const QPoint &amp; );
+ void drawRect( int x, int y, int w, int h );
+ void drawRect( const QRect &amp; );
+ void drawWinFocusRect( int x, int y, int w, int h );
+ void drawWinFocusRect( int x, int y, int w, int h,
+ const QColor &amp;bgColor );
+ void drawWinFocusRect( const QRect &amp; );
+ void drawWinFocusRect( const QRect &amp;,
+ const QColor &amp;bgColor );
+ void drawRoundRect( int x, int y, int w, int h, int = 25, int = 25 );
+ void drawRoundRect( const QRect &amp;, int = 25, int = 25 );
+ void drawEllipse( int x, int y, int w, int h );
+ void drawEllipse( const QRect &amp; );
+ void drawArc( int x, int y, int w, int h, int a, int alen );
+ void drawArc( const QRect &amp;, int a, int alen );
+ void drawPie( int x, int y, int w, int h, int a, int alen );
+ void drawPie( const QRect &amp;, int a, int alen );
+ void drawChord( int x, int y, int w, int h, int a, int alen );
+ void drawChord( const QRect &amp;, int a, int alen );
+ void drawLineSegments( const QPointArray &amp;,
+ int index=0, int nlines=-1 );
+ void drawPolyline( const QPointArray &amp;,
+ int index=0, int npoints=-1 );
+ void drawPolygon( const QPointArray &amp;, bool winding=FALSE,
+ int index=0, int npoints=-1 );
+ void drawConvexPolygon( const QPointArray &amp;,
+ int index=0, int npoints=-1 );
+#ifndef QT_NO_BEZIER
+ void drawCubicBezier( const QPointArray &amp;, int index=0 );
+#endif
+ void drawPixmap( int x, int y, const QPixmap &amp;,
+ int sx=0, int sy=0, int sw=-1, int sh=-1 );
+ void drawPixmap( const QPoint &amp;, const QPixmap &amp;,
+ const QRect &amp;sr );
+ void drawPixmap( const QPoint &amp;, const QPixmap &amp; );
+ void drawPixmap( const QRect &amp;, const QPixmap &amp; );
+ void drawImage( int x, int y, const QImage &amp;,
+ int sx = 0, int sy = 0, int sw = -1, int sh = -1,
+ int conversionFlags = 0 );
+ void drawImage( const QPoint &amp;, const QImage &amp;,
+ const QRect &amp;sr, int conversionFlags = 0 );
+ void drawImage( const QPoint &amp;, const QImage &amp;,
+ int conversion_flags = 0 );
+ void drawImage( const QRect &amp;, const QImage &amp; );
+ void drawTiledPixmap( int x, int y, int w, int h, const QPixmap &amp;,
+ int sx=0, int sy=0 );
+ void drawTiledPixmap( const QRect &amp;, const QPixmap &amp;,
+ const QPoint &amp; );
+ void drawTiledPixmap( const QRect &amp;, const QPixmap &amp; );
+#ifndef QT_NO_PICTURE
+ void drawPicture( const QPicture &amp; );
+ void drawPicture( int x, int y, const QPicture &amp; );
+ void drawPicture( const QPoint &amp;, const QPicture &amp; );
+#endif
+
+ void fillRect( int x, int y, int w, int h, const QBrush &amp; );
+ void fillRect( const QRect &amp;, const QBrush &amp; );
+ void eraseRect( int x, int y, int w, int h );
+ void eraseRect( const QRect &amp; );
+
+ // Text drawing functions
+
+ enum TextDirection {
+ Auto,
+ RTL,
+ LTR
+ };
+
+ void drawText( int x, int y, const QString &amp;, int len = -1, TextDirection dir = Auto );
+ void drawText( const QPoint &amp;, const QString &amp;, int len = -1, TextDirection dir = Auto );
+
+ void drawText( int x, int y, const QString &amp;, int pos, int len, TextDirection dir = Auto );
+ void drawText( const QPoint &amp;p, const QString &amp;, int pos, int len, TextDirection dir = Auto );
+
+ void drawText( int x, int y, int w, int h, int flags,
+ const QString&amp;, int len = -1, QRect *br=0,
+ QTextParag **intern=0 );
+ void drawText( const QRect &amp;, int flags,
+ const QString&amp;, int len = -1, QRect *br=0,
+ QTextParag **intern=0 );
+
+ void drawTextItem( int x, int y, const QTextItem &amp;ti, int textflags = 0 );
+ void drawTextItem( const QPoint&amp; p, const QTextItem &amp;ti, int textflags = 0 );
+
+ QRect boundingRect( int x, int y, int w, int h, int flags,
+ const QString&amp;, int len = -1, QTextParag **intern=0 );
+ QRect boundingRect( const QRect &amp;, int flags,
+ const QString&amp;, int len = -1, QTextParag **intern=0 );
+
+ int tabStops() const;
+ void setTabStops( int );
+ int *tabArray() const;
+ void setTabArray( int * );
+
+ // Other functions
+
+#if defined(Q_WS_WIN)
+ HDC handle() const;
+#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
+ HANDLE handle() const;
+#endif
+
+
+ static void initialize();
+ static void cleanup();
+
+private:
+ void init();
+ void destroy();
+ void updateFont();
+ void updatePen();
+ void updateBrush();
+#ifndef QT_NO_TRANSFORMATIONS
+ void updateXForm();
+ void updateInvXForm();
+#endif
+ void map( int, int, int *rx, int *ry ) const;
+ void map( int, int, int, int, int *, int *, int *, int * ) const;
+ void mapInv( int, int, int *, int * ) const;
+ void mapInv( int, int, int, int, int *, int *, int *, int * ) const;
+ void drawPolyInternal( const QPointArray &amp;, bool close=TRUE );
+ void drawWinFocusRect( int x, int y, int w, int h, bool xorPaint,
+ const QColor &amp;penColor );
+
+ enum { IsActive=0x01, ExtDev=0x02, IsStartingUp=0x04, NoCache=0x08,
+ VxF=0x10, WxF=0x20, ClipOn=0x40, SafePolygon=0x80, MonoDev=0x100,
+ DirtyFont=0x200, DirtyPen=0x400, DirtyBrush=0x800,
+ RGBColor=0x1000, FontMet=0x2000, FontInf=0x4000, CtorBegin=0x8000,
+ UsePrivateCx = 0x10000, VolatileDC = 0x20000, Qt2Compat = 0x40000 };
+ uint flags;
+ bool testf( uint b ) const { return (flags&amp;b)!=0; }
+ void setf( uint b ) { flags |= b; }
+ void setf( uint b, bool v );
+ void clearf( uint b ) { flags &amp;= (uint)(~b); }
+ void fix_neg_rect( int *x, int *y, int *w, int *h );
+
+ QPainterPrivate *d;
+ QPaintDevice *pdev;
+ QColor bg_col;
+ uchar bg_mode;
+ uchar rop;
+ uchar pu;
+ QPoint bro;
+ QFont cfont;
+ QFont *pfont; // font used for metrics (might be different for printers)
+ QPen cpen;
+ QBrush cbrush;
+ QRegion crgn;
+ int tabstops;
+ int *tabarray;
+ int tabarraylen;
+ bool block_ext; // for temporary blocking of external devices
+
+ // Transformations
+#ifndef QT_NO_TRANSFORMATIONS
+ QCOORD wx, wy, ww, wh;
+ QCOORD vx, vy, vw, vh;
+ QWMatrix wxmat;
+
+ // Cached composition (and inverse) of transformations
+ QWMatrix xmat;
+ QWMatrix ixmat;
+
+
+
+ double m11() const { return xmat.m11(); }
+ double m12() const { return xmat.m12(); }
+ double m21() const { return xmat.m21(); }
+ double m22() const { return xmat.m22(); }
+ double dx() const { return xmat.dx(); }
+ double dy() const { return xmat.dy(); }
+ double im11() const { return ixmat.m11(); }
+ double im12() const { return ixmat.m12(); }
+ double im21() const { return ixmat.m21(); }
+ double im22() const { return ixmat.m22(); }
+ double idx() const { return ixmat.dx(); }
+ double idy() const { return ixmat.dy(); }
+
+ int txop;
+ bool txinv;
+
+#else
+ // even without transformations we still have translations
+ int xlatex;
+ int xlatey;
+#endif
+
+ void *penRef; // pen cache ref
+ void *brushRef; // brush cache ref
+ void *ps_stack;
+ void *wm_stack;
+ void killPStack();
+
+protected:
+#ifdef Q_OS_TEMP
+ QPoint internalCurrentPos;
+ uint old_pix; // ### All win platforms in 4.0
+#endif
+#if defined(Q_WS_WIN)
+ friend class QFontEngineWin;
+ friend class QFontEngineBox;
+ QT_WIN_PAINTER_MEMBERS
+#elif defined(Q_WS_X11)
+ friend class QFontEngineXLFD;
+ friend class QFontEngineXft;
+ friend class QFontEngineBox;
+ Display *dpy; // current display
+ int scrn; // current screen
+ Qt::HANDLE hd; // handle to drawable
+ Qt::HANDLE rendhd; // handle to Xft draw
+ GC gc; // graphics context (standard)
+ GC gc_brush; // graphics contect for brush
+ QPoint curPt; // current point
+ uint clip_serial; // clipping serial number
+#elif defined(Q_WS_MAC)
+ Qt::HANDLE hd; // handle to drawable
+ void initPaintDevice(bool force=FALSE, QPoint *off=NULL, QRegion *rgn=NULL);
+ friend const QRegion &amp;qt_mac_update_painter(QPainter *, bool);
+ friend class QFontEngineMac;
+ friend class QMacPainter;
+#elif defined(Q_WS_QWS)
+ friend class QFontEngine;
+ QGfx * gfx;
+ friend void qwsUpdateActivePainters();
+#endif
+ friend class QFontMetrics;
+ friend class QFontInfo;
+ friend class QTextLayout;
+ friend void qt_format_text( const QFont &amp;, const QRect &amp;r,
+ int tf, const QString&amp; str, int len, QRect *brect,
+ int tabstops, int* tabarray, int tabarraylen,
+ QTextParag **internal, QPainter* painter );
+ friend void qt_draw_background( QPainter *p, int x, int y, int w, int h );
+ friend void qt_draw_transformed_rect( QPainter *p, int x, int y, int w, int h, bool fill );
+ friend class QPrinter;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPainter( const QPainter &amp; );
+ QPainter &amp;operator=( const QPainter &amp; );
+#endif
+
+ enum TransformationCodes {
+ TxNone = 0, // transformation codes
+ TxTranslate = 1, // copy in qpainter_*.cpp
+ TxScale = 2,
+ TxRotShear = 3
+ };
+};
+
+
+/*****************************************************************************
+ QPainter member functions
+ *****************************************************************************/
+
+inline QPaintDevice *QPainter::device() const
+{
+ return pdev;
+}
+
+inline bool QPainter::isActive() const
+{
+ return testf(IsActive);
+}
+
+inline const QFont &amp;QPainter::font() const
+{
+ return cfont;
+}
+
+inline const QPen &amp;QPainter::pen() const
+{
+ return cpen;
+}
+
+inline const QBrush &amp;QPainter::brush() const
+{
+ return cbrush;
+}
+
+/*
+inline PaintUnit QPainter::unit() const
+{
+ return (PaintUnit)pu;
+}
+*/
+
+inline const QColor &amp;QPainter::backgroundColor() const
+{
+ return bg_col;
+}
+
+inline Qt::BGMode QPainter::backgroundMode() const
+{
+ return (BGMode)bg_mode;
+}
+
+inline Qt::RasterOp QPainter::rasterOp() const
+{
+ return (RasterOp)rop;
+}
+
+inline const QPoint &amp;QPainter::brushOrigin() const
+{
+ return bro;
+}
+
+inline bool QPainter::hasViewXForm() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return testf(VxF);
+#else
+ return xlatex || xlatey;
+#endif
+}
+
+inline bool QPainter::hasWorldXForm() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return testf(WxF);
+#else
+ return xlatex || xlatey;
+#endif
+}
+
+inline double QPainter::translationX() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return worldMatrix().dx();
+#else
+ return xlatex;
+#endif
+}
+
+inline double QPainter::translationY() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return worldMatrix().dy();
+#else
+ return xlatey;
+#endif
+}
+
+
+inline bool QPainter::hasClipping() const
+{
+ return testf(ClipOn);
+}
+
+inline int QPainter::tabStops() const
+{
+ return tabstops;
+}
+
+inline int *QPainter::tabArray() const
+{
+ return tabarray;
+}
+
+#if defined(Q_WS_WIN)
+inline HDC QPainter::handle() const
+{
+ return hdc;
+}
+#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
+inline Qt::HANDLE QPainter::handle() const
+{
+ return hd;
+}
+#endif
+
+inline void QPainter::setBrushOrigin( const QPoint &amp;p )
+{
+ setBrushOrigin( p.x(), p.y() );
+}
+
+#ifndef QT_NO_TRANSFORMATIONS
+inline void QPainter::setWindow( const QRect &amp;r )
+{
+ setWindow( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::setViewport( const QRect &amp;r )
+{
+ setViewport( r.x(), r.y(), r.width(), r.height() );
+}
+#endif
+
+inline void QPainter::setClipRect( int x, int y, int w, int h, CoordinateMode m )
+{
+ setClipRect( QRect(x,y,w,h), m );
+}
+
+inline void QPainter::drawPoint( const QPoint &amp;p )
+{
+ drawPoint( p.x(), p.y() );
+}
+
+inline void QPainter::moveTo( const QPoint &amp;p )
+{
+ moveTo( p.x(), p.y() );
+}
+
+inline void QPainter::lineTo( const QPoint &amp;p )
+{
+ lineTo( p.x(), p.y() );
+}
+
+inline void QPainter::drawLine( const QPoint &amp;p1, const QPoint &amp;p2 )
+{
+ drawLine( p1.x(), p1.y(), p2.x(), p2.y() );
+}
+
+inline void QPainter::drawRect( const QRect &amp;r )
+{
+ drawRect( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawWinFocusRect( const QRect &amp;r )
+{
+ drawWinFocusRect( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawWinFocusRect( const QRect &amp;r,const QColor &amp;penColor )
+{
+ drawWinFocusRect( r.x(), r.y(), r.width(), r.height(), penColor );
+}
+
+inline void QPainter::drawRoundRect( const QRect &amp;r, int xRnd, int yRnd )
+{
+ drawRoundRect( r.x(), r.y(), r.width(), r.height(), xRnd, yRnd );
+}
+
+inline void QPainter::drawEllipse( const QRect &amp;r )
+{
+ drawEllipse( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawArc( const QRect &amp;r, int a, int alen )
+{
+ drawArc( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawPie( const QRect &amp;r, int a, int alen )
+{
+ drawPie( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawChord( const QRect &amp;r, int a, int alen )
+{
+ drawChord( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawPixmap( const QPoint &amp;p, const QPixmap &amp;pm,
+ const QRect &amp;sr )
+{
+ drawPixmap( p.x(), p.y(), pm, sr.x(), sr.y(), sr.width(), sr.height() );
+}
+
+inline void QPainter::drawImage( const QPoint &amp;p, const QImage &amp;pm,
+ const QRect &amp;sr, int conversionFlags )
+{
+ drawImage( p.x(), p.y(), pm,
+ sr.x(), sr.y(), sr.width(), sr.height(), conversionFlags );
+}
+
+inline void QPainter::drawTiledPixmap( const QRect &amp;r, const QPixmap &amp;pm,
+ const QPoint &amp;sp )
+{
+ drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, sp.x(), sp.y() );
+}
+
+inline void QPainter::drawTiledPixmap( const QRect &amp;r, const QPixmap &amp;pm )
+{
+ drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, 0, 0 );
+}
+
+inline void QPainter::fillRect( const QRect &amp;r, const QBrush &amp;brush )
+{
+ fillRect( r.x(), r.y(), r.width(), r.height(), brush );
+}
+
+inline void QPainter::eraseRect( int x, int y, int w, int h )
+{
+ fillRect( x, y, w, h, backgroundColor() );
+}
+
+inline void QPainter::eraseRect( const QRect &amp;r )
+{
+ fillRect( r.x(), r.y(), r.width(), r.height(), backgroundColor() );
+}
+
+inline void QPainter::drawText( const QPoint &amp;p, const QString &amp;s, int len, TextDirection dir )
+{
+ drawText( p.x(), p.y(), s, 0, len, dir );
+}
+
+inline void QPainter::drawText( const QPoint &amp;p, const QString &amp;s, int pos, int len, TextDirection dir )
+{
+ drawText( p.x(), p.y(), s, pos, len, dir );
+}
+
+inline void QPainter::drawText( int x, int y, int w, int h, int tf,
+ const QString&amp; str, int len, QRect *br, QTextParag **i )
+{
+ QRect r(x, y, w, h);
+ drawText( r, tf, str, len, br, i );
+}
+
+inline void QPainter::drawTextItem( const QPoint&amp; p, const QTextItem &amp;ti, int textflags )
+{
+ drawTextItem( p.x(), p.y(), ti, textflags );
+}
+
+inline QRect QPainter::boundingRect( int x, int y, int w, int h, int tf,
+ const QString&amp; str, int len, QTextParag **i )
+{
+ QRect r(x, y, w, h);
+ return boundingRect( r, tf, str, len, i );
+}
+
+#if defined(Q_WS_QWS)
+inline QGfx * QPainter::internalGfx()
+{
+ return gfx;
+}
+#endif
+
+#endif // QPAINTER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpainter-members.html b/doc/html/qpainter-members.html
new file mode 100644
index 0000000..ae6c2a7
--- /dev/null
+++ b/doc/html/qpainter-members.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpainter.h:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPainter Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPainter</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpainter.html">QPainter</a>, including inherited members.
+
+<ul>
+<li><a href="qpainter.html#QPainter">QPainter</a>()
+<li><a href="qpainter.html#~QPainter">~QPainter</a>()
+<li><a href="qpainter.html#backgroundColor">backgroundColor</a>()
+<li><a href="qpainter.html#backgroundMode">backgroundMode</a>()
+<li><a href="qpainter.html#begin">begin</a>()
+<li><a href="qpainter.html#boundingRect">boundingRect</a>()
+<li><a href="qpainter.html#brush">brush</a>()
+<li><a href="qpainter.html#brushOrigin">brushOrigin</a>()
+<li><a href="qpainter.html#clipRegion">clipRegion</a>()
+<li><a href="qpainter.html#device">device</a>()
+<li><a href="qpainter.html#drawArc">drawArc</a>()
+<li><a href="qpainter.html#drawChord">drawChord</a>()
+<li><a href="qpainter.html#drawConvexPolygon">drawConvexPolygon</a>()
+<li><a href="qpainter.html#drawCubicBezier">drawCubicBezier</a>()
+<li><a href="qpainter.html#drawEllipse">drawEllipse</a>()
+<li><a href="qpainter.html#drawImage">drawImage</a>()
+<li><a href="qpainter.html#drawLine">drawLine</a>()
+<li><a href="qpainter.html#drawLineSegments">drawLineSegments</a>()
+<li><a href="qpainter.html#drawPicture">drawPicture</a>()
+<li><a href="qpainter.html#drawPie">drawPie</a>()
+<li><a href="qpainter.html#drawPixmap">drawPixmap</a>()
+<li><a href="qpainter.html#drawPoint">drawPoint</a>()
+<li><a href="qpainter.html#drawPoints">drawPoints</a>()
+<li><a href="qpainter.html#drawPolygon">drawPolygon</a>()
+<li><a href="qpainter.html#drawPolyline">drawPolyline</a>()
+<li><a href="qpainter.html#drawRect">drawRect</a>()
+<li><a href="qpainter.html#drawRoundRect">drawRoundRect</a>()
+<li><a href="qpainter.html#drawText">drawText</a>()
+<li><a href="qpainter.html#drawTiledPixmap">drawTiledPixmap</a>()
+<li><a href="qpainter.html#drawWinFocusRect">drawWinFocusRect</a>()
+<li><a href="qpainter.html#end">end</a>()
+<li><a href="qpainter.html#eraseRect">eraseRect</a>()
+<li><a href="qpainter.html#fillRect">fillRect</a>()
+<li><a href="qpainter.html#flush">flush</a>()
+<li><a href="qpainter.html#font">font</a>()
+<li><a href="qpainter.html#fontInfo">fontInfo</a>()
+<li><a href="qpainter.html#fontMetrics">fontMetrics</a>()
+<li><a href="qpainter.html#handle">handle</a>()
+<li><a href="qpainter.html#hasClipping">hasClipping</a>()
+<li><a href="qpainter.html#hasViewXForm">hasViewXForm</a>()
+<li><a href="qpainter.html#hasWorldXForm">hasWorldXForm</a>()
+<li><a href="qpainter.html#isActive">isActive</a>()
+<li><a href="qpainter.html#lineTo">lineTo</a>()
+<li><a href="qpainter.html#moveTo">moveTo</a>()
+<li><a href="qpainter.html#pen">pen</a>()
+<li><a href="qpainter.html#pos">pos</a>()
+<li><a href="qpainter.html#rasterOp">rasterOp</a>()
+<li><a href="qpainter.html#redirect">redirect</a>()
+<li><a href="qpainter.html#resetXForm">resetXForm</a>()
+<li><a href="qpainter.html#restore">restore</a>()
+<li><a href="qpainter.html#restoreWorldMatrix">restoreWorldMatrix</a>()
+<li><a href="qpainter.html#rotate">rotate</a>()
+<li><a href="qpainter.html#save">save</a>()
+<li><a href="qpainter.html#saveWorldMatrix">saveWorldMatrix</a>()
+<li><a href="qpainter.html#scale">scale</a>()
+<li><a href="qpainter.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qpainter.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qpainter.html#setBrush">setBrush</a>()
+<li><a href="qpainter.html#setBrushOrigin">setBrushOrigin</a>()
+<li><a href="qpainter.html#setClipRect">setClipRect</a>()
+<li><a href="qpainter.html#setClipRegion">setClipRegion</a>()
+<li><a href="qpainter.html#setClipping">setClipping</a>()
+<li><a href="qpainter.html#setFont">setFont</a>()
+<li><a href="qpainter.html#setPen">setPen</a>()
+<li><a href="qpainter.html#setRasterOp">setRasterOp</a>()
+<li><a href="qpainter.html#setTabArray">setTabArray</a>()
+<li><a href="qpainter.html#setTabStops">setTabStops</a>()
+<li><a href="qpainter.html#setViewXForm">setViewXForm</a>()
+<li><a href="qpainter.html#setViewport">setViewport</a>()
+<li><a href="qpainter.html#setWindow">setWindow</a>()
+<li><a href="qpainter.html#setWorldMatrix">setWorldMatrix</a>()
+<li><a href="qpainter.html#setWorldXForm">setWorldXForm</a>()
+<li><a href="qpainter.html#shear">shear</a>()
+<li><a href="qpainter.html#tabArray">tabArray</a>()
+<li><a href="qpainter.html#tabStops">tabStops</a>()
+<li><a href="qpainter.html#translate">translate</a>()
+<li><a href="qpainter.html#viewport">viewport</a>()
+<li><a href="qpainter.html#window">window</a>()
+<li><a href="qpainter.html#worldMatrix">worldMatrix</a>()
+<li><a href="qpainter.html#xForm">xForm</a>()
+<li><a href="qpainter.html#xFormDev">xFormDev</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpainter.html b/doc/html/qpainter.html
new file mode 100644
index 0000000..13d117d
--- /dev/null
+++ b/doc/html/qpainter.html
@@ -0,0 +1,1626 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpainter.cpp:68 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPainter Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPainter Class Reference</h1>
+
+<p>The QPainter class does low-level painting e.g. on widgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qdirectpainter.html">QDirectPainter</a>.
+<p><a href="qpainter-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#CoordinateMode-enum"><b>CoordinateMode</b></a> { CoordDevice, CoordPainter }</li>
+<li class=fn><a href="#QPainter"><b>QPainter</b></a> ()</li>
+<li class=fn><a href="#QPainter-2"><b>QPainter</b></a> ( const&nbsp;QPaintDevice&nbsp;*&nbsp;pd, bool&nbsp;unclipped = FALSE )</li>
+<li class=fn><a href="#QPainter-3"><b>QPainter</b></a> ( const&nbsp;QPaintDevice&nbsp;*&nbsp;pd, const&nbsp;QWidget&nbsp;*&nbsp;copyAttributes, bool&nbsp;unclipped = FALSE )</li>
+<li class=fn><a href="#~QPainter"><b>~QPainter</b></a> ()</li>
+<li class=fn>bool <a href="#begin"><b>begin</b></a> ( const&nbsp;QPaintDevice&nbsp;*&nbsp;pd, bool&nbsp;unclipped = FALSE )</li>
+<li class=fn>bool <a href="#begin-2"><b>begin</b></a> ( const&nbsp;QPaintDevice&nbsp;*&nbsp;pd, const&nbsp;QWidget&nbsp;*&nbsp;copyAttributes, bool&nbsp;unclipped = FALSE )</li>
+<li class=fn>bool <a href="#end"><b>end</b></a> ()</li>
+<li class=fn>QPaintDevice * <a href="#device"><b>device</b></a> () const</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>void <a href="#flush"><b>flush</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;region, CoordinateMode&nbsp;cm = CoordDevice )</li>
+<li class=fn>void <a href="#flush-2"><b>flush</b></a> ()</li>
+<li class=fn>void <a href="#save"><b>save</b></a> ()</li>
+<li class=fn>void <a href="#restore"><b>restore</b></a> ()</li>
+<li class=fn>QFontMetrics <a href="#fontMetrics"><b>fontMetrics</b></a> () const</li>
+<li class=fn>QFontInfo <a href="#fontInfo"><b>fontInfo</b></a> () const</li>
+<li class=fn>const QFont &amp; <a href="#font"><b>font</b></a> () const</li>
+<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>const QPen &amp; <a href="#pen"><b>pen</b></a> () const</li>
+<li class=fn>void <a href="#setPen"><b>setPen</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;pen )</li>
+<li class=fn>void <a href="#setPen-2"><b>setPen</b></a> ( PenStyle&nbsp;style )</li>
+<li class=fn>void <a href="#setPen-3"><b>setPen</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>const QBrush &amp; <a href="#brush"><b>brush</b></a> () const</li>
+<li class=fn>void <a href="#setBrush-2"><b>setBrush</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;brush )</li>
+<li class=fn>void <a href="#setBrush"><b>setBrush</b></a> ( BrushStyle&nbsp;style )</li>
+<li class=fn>void <a href="#setBrush-3"><b>setBrush</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>QPoint pos () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>const QColor &amp; <a href="#backgroundColor"><b>backgroundColor</b></a> () const</li>
+<li class=fn>void <a href="#setBackgroundColor"><b>setBackgroundColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>BGMode <a href="#backgroundMode"><b>backgroundMode</b></a> () const</li>
+<li class=fn>void <a href="#setBackgroundMode"><b>setBackgroundMode</b></a> ( BGMode&nbsp;m )</li>
+<li class=fn>RasterOp <a href="#rasterOp"><b>rasterOp</b></a> () const</li>
+<li class=fn>void <a href="#setRasterOp"><b>setRasterOp</b></a> ( RasterOp&nbsp;r )</li>
+<li class=fn>const QPoint &amp; <a href="#brushOrigin"><b>brushOrigin</b></a> () const</li>
+<li class=fn>void <a href="#setBrushOrigin"><b>setBrushOrigin</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#setBrushOrigin-2"><b>setBrushOrigin</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>bool <a href="#hasViewXForm"><b>hasViewXForm</b></a> () const</li>
+<li class=fn>bool <a href="#hasWorldXForm"><b>hasWorldXForm</b></a> () const</li>
+<li class=fn>void <a href="#setViewXForm"><b>setViewXForm</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>QRect <a href="#window"><b>window</b></a> () const</li>
+<li class=fn>void <a href="#setWindow-2"><b>setWindow</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#setWindow"><b>setWindow</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>QRect <a href="#viewport"><b>viewport</b></a> () const</li>
+<li class=fn>void <a href="#setViewport-2"><b>setViewport</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#setViewport"><b>setViewport</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#setWorldXForm"><b>setWorldXForm</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>const QWMatrix &amp; <a href="#worldMatrix"><b>worldMatrix</b></a> () const</li>
+<li class=fn>void <a href="#setWorldMatrix"><b>setWorldMatrix</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;m, bool&nbsp;combine = FALSE )</li>
+<li class=fn>void saveWorldMatrix () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void restoreWorldMatrix () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#scale"><b>scale</b></a> ( double&nbsp;sx, double&nbsp;sy )</li>
+<li class=fn>void <a href="#shear"><b>shear</b></a> ( double&nbsp;sh, double&nbsp;sv )</li>
+<li class=fn>void <a href="#rotate"><b>rotate</b></a> ( double&nbsp;a )</li>
+<li class=fn>void <a href="#translate"><b>translate</b></a> ( double&nbsp;dx, double&nbsp;dy )</li>
+<li class=fn>void <a href="#resetXForm"><b>resetXForm</b></a> ()</li>
+<li class=fn>QPoint <a href="#xForm"><b>xForm</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pv ) const</li>
+<li class=fn>QRect <a href="#xForm-2"><b>xForm</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rv ) const</li>
+<li class=fn>QPointArray <a href="#xForm-3"><b>xForm</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;av ) const</li>
+<li class=fn>QPointArray <a href="#xForm-4"><b>xForm</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;av, int&nbsp;index, int&nbsp;npoints ) const</li>
+<li class=fn>QPoint <a href="#xFormDev-2"><b>xFormDev</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pd ) const</li>
+<li class=fn>QRect <a href="#xFormDev"><b>xFormDev</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rd ) const</li>
+<li class=fn>QPointArray <a href="#xFormDev-3"><b>xFormDev</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;ad ) const</li>
+<li class=fn>QPointArray <a href="#xFormDev-4"><b>xFormDev</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;ad, int&nbsp;index, int&nbsp;npoints ) const</li>
+<li class=fn>void <a href="#setClipping"><b>setClipping</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#hasClipping"><b>hasClipping</b></a> () const</li>
+<li class=fn>QRegion <a href="#clipRegion"><b>clipRegion</b></a> ( CoordinateMode&nbsp;m = CoordDevice ) const</li>
+<li class=fn>void <a href="#setClipRect-2"><b>setClipRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, CoordinateMode&nbsp;m = CoordDevice )</li>
+<li class=fn>void <a href="#setClipRect"><b>setClipRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, CoordinateMode&nbsp;m = CoordDevice )</li>
+<li class=fn>void <a href="#setClipRegion"><b>setClipRegion</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;rgn, CoordinateMode&nbsp;m = CoordDevice )</li>
+<li class=fn>void <a href="#drawPoint"><b>drawPoint</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#drawPoint-2"><b>drawPoint</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#drawPoints"><b>drawPoints</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;npoints = -1 )</li>
+<li class=fn>void moveTo ( int&nbsp;x, int&nbsp;y ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void moveTo ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void lineTo ( int&nbsp;x, int&nbsp;y ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void lineTo ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#drawLine"><b>drawLine</b></a> ( int&nbsp;x1, int&nbsp;y1, int&nbsp;x2, int&nbsp;y2 )</li>
+<li class=fn>void <a href="#drawLine-2"><b>drawLine</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p1, const&nbsp;QPoint&nbsp;&amp;&nbsp;p2 )</li>
+<li class=fn>void <a href="#drawRect"><b>drawRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#drawRect-2"><b>drawRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#drawWinFocusRect-2"><b>drawWinFocusRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#drawWinFocusRect"><b>drawWinFocusRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColor&nbsp;&amp;&nbsp;bgColor )</li>
+<li class=fn>void <a href="#drawWinFocusRect-3"><b>drawWinFocusRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#drawWinFocusRect-4"><b>drawWinFocusRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QColor&nbsp;&amp;&nbsp;bgColor )</li>
+<li class=fn>void <a href="#drawRoundRect"><b>drawRoundRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;xRnd = 25, int&nbsp;yRnd = 25 )</li>
+<li class=fn>void <a href="#drawRoundRect-2"><b>drawRoundRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;xRnd = 25, int&nbsp;yRnd = 25 )</li>
+<li class=fn>void <a href="#drawEllipse"><b>drawEllipse</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#drawEllipse-2"><b>drawEllipse</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#drawArc"><b>drawArc</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawArc-2"><b>drawArc</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawPie"><b>drawPie</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawPie-2"><b>drawPie</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawChord"><b>drawChord</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawChord-2"><b>drawChord</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )</li>
+<li class=fn>void <a href="#drawLineSegments"><b>drawLineSegments</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;nlines = -1 )</li>
+<li class=fn>void <a href="#drawPolyline"><b>drawPolyline</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;npoints = -1 )</li>
+<li class=fn>void <a href="#drawPolygon"><b>drawPolygon</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, bool&nbsp;winding = FALSE, int&nbsp;index = 0, int&nbsp;npoints = -1 )</li>
+<li class=fn>void <a href="#drawConvexPolygon"><b>drawConvexPolygon</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;pa, int&nbsp;index = 0, int&nbsp;npoints = -1 )</li>
+<li class=fn>void <a href="#drawCubicBezier"><b>drawCubicBezier</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, int&nbsp;index = 0 )</li>
+<li class=fn>void <a href="#drawPixmap"><b>drawPixmap</b></a> ( int&nbsp;x, int&nbsp;y, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;sx = 0, int&nbsp;sy = 0, int&nbsp;sw = -1, int&nbsp;sh = -1 )</li>
+<li class=fn>void <a href="#drawPixmap-2"><b>drawPixmap</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm, const&nbsp;QRect&nbsp;&amp;&nbsp;sr )</li>
+<li class=fn>void <a href="#drawPixmap-3"><b>drawPixmap</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>void <a href="#drawPixmap-4"><b>drawPixmap</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>void <a href="#drawImage"><b>drawImage</b></a> ( int&nbsp;x, int&nbsp;y, const&nbsp;QImage&nbsp;&amp;&nbsp;image, int&nbsp;sx = 0, int&nbsp;sy = 0, int&nbsp;sw = -1, int&nbsp;sh = -1, int&nbsp;conversionFlags = 0 )</li>
+<li class=fn>void <a href="#drawImage-2"><b>drawImage</b></a> ( const QPoint &amp;, const QImage &amp;, const&nbsp;QRect&nbsp;&amp;&nbsp;sr, int&nbsp;conversionFlags = 0 )</li>
+<li class=fn>void <a href="#drawImage-3"><b>drawImage</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const&nbsp;QImage&nbsp;&amp;&nbsp;i, int&nbsp;conversion_flags = 0 )</li>
+<li class=fn>void <a href="#drawImage-4"><b>drawImage</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QImage&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>void <a href="#drawTiledPixmap"><b>drawTiledPixmap</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;sx = 0, int&nbsp;sy = 0 )</li>
+<li class=fn>void <a href="#drawTiledPixmap-2"><b>drawTiledPixmap</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm, const&nbsp;QPoint&nbsp;&amp;&nbsp;sp )</li>
+<li class=fn>void <a href="#drawTiledPixmap-3"><b>drawTiledPixmap</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>void drawPicture ( const&nbsp;QPicture&nbsp;&amp;&nbsp;pic ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#drawPicture"><b>drawPicture</b></a> ( int&nbsp;x, int&nbsp;y, const&nbsp;QPicture&nbsp;&amp;&nbsp;pic )</li>
+<li class=fn>void <a href="#drawPicture-3"><b>drawPicture</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const&nbsp;QPicture&nbsp;&amp;&nbsp;pic )</li>
+<li class=fn>void <a href="#fillRect"><b>fillRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QBrush&nbsp;&amp;&nbsp;brush )</li>
+<li class=fn>void <a href="#fillRect-2"><b>fillRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QBrush&nbsp;&amp;&nbsp;brush )</li>
+<li class=fn>void <a href="#eraseRect"><b>eraseRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#eraseRect-2"><b>eraseRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>enum <a href="#TextDirection-enum"><b>TextDirection</b></a> { Auto, RTL, LTR }</li>
+<li class=fn>void <a href="#drawText-2"><b>drawText</b></a> ( int&nbsp;x, int&nbsp;y, const QString &amp;, int&nbsp;len = -1, TextDirection&nbsp;dir = Auto )</li>
+<li class=fn>void <a href="#drawText-3"><b>drawText</b></a> ( const QPoint &amp;, const QString &amp;, int&nbsp;len = -1, TextDirection&nbsp;dir = Auto )</li>
+<li class=fn>void <a href="#drawText-4"><b>drawText</b></a> ( int&nbsp;x, int&nbsp;y, const QString &amp;, int&nbsp;pos, int&nbsp;len, TextDirection&nbsp;dir = Auto )</li>
+<li class=fn>void <a href="#drawText"><b>drawText</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, const QString &amp;, int&nbsp;pos, int&nbsp;len, TextDirection&nbsp;dir = Auto )</li>
+<li class=fn>void <a href="#drawText-5"><b>drawText</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flags, const QString &amp;, int&nbsp;len = -1, QRect&nbsp;*&nbsp;br = 0, QTextParag&nbsp;**&nbsp;internal = 0 )</li>
+<li class=fn>void <a href="#drawText-6"><b>drawText</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;tf, const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, QRect&nbsp;*&nbsp;brect = 0, QTextParag&nbsp;**&nbsp;internal = 0 )</li>
+<li class=fn>QRect <a href="#boundingRect"><b>boundingRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flags, const QString &amp;, int&nbsp;len = -1, QTextParag&nbsp;**&nbsp;intern = 0 )</li>
+<li class=fn>QRect <a href="#boundingRect-2"><b>boundingRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;flags, const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, QTextParag&nbsp;**&nbsp;internal = 0 )</li>
+<li class=fn>int <a href="#tabStops"><b>tabStops</b></a> () const</li>
+<li class=fn>void <a href="#setTabStops"><b>setTabStops</b></a> ( int&nbsp;ts )</li>
+<li class=fn>int * <a href="#tabArray"><b>tabArray</b></a> () const</li>
+<li class=fn>void <a href="#setTabArray"><b>setTabArray</b></a> ( int&nbsp;*&nbsp;ta )</li>
+<li class=fn>HDC <a href="#handle"><b>handle</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#redirect"><b>redirect</b></a> ( QPaintDevice&nbsp;*&nbsp;pdev, QPaintDevice&nbsp;*&nbsp;replacement )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void <a href="#qDrawShadeLine"><b>qDrawShadeLine</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x1, int&nbsp;y1, int&nbsp;x2, int&nbsp;y2, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, int&nbsp;midLineWidth )</li>
+<li class=fn>void <a href="#qDrawShadeRect"><b>qDrawShadeRect</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, int&nbsp;midLineWidth, const&nbsp;QBrush&nbsp;*&nbsp;fill )</li>
+<li class=fn>void <a href="#qDrawShadePanel"><b>qDrawShadePanel</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, const&nbsp;QBrush&nbsp;*&nbsp;fill )</li>
+<li class=fn>void <a href="#qDrawWinButton"><b>qDrawWinButton</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, const&nbsp;QBrush&nbsp;*&nbsp;fill )</li>
+<li class=fn>void <a href="#qDrawWinPanel"><b>qDrawWinPanel</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, const&nbsp;QBrush&nbsp;*&nbsp;fill )</li>
+<li class=fn>void <a href="#qDrawPlainRect"><b>qDrawPlainRect</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColor&nbsp;&amp;&nbsp;c, int&nbsp;lineWidth, const&nbsp;QBrush&nbsp;*&nbsp;fill )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPainter class does low-level painting e.g. on widgets.
+<p>
+
+
+<p> The painter provides highly optimized functions to do most of the
+drawing GUI programs require. QPainter can draw everything from
+simple lines to complex shapes like pies and chords. It can also
+draw aligned text and pixmaps. Normally, it draws in a "natural"
+coordinate system, but it can also do view and world
+transformation.
+<p> The typical use of a painter is:
+<p> <ul>
+<li> Construct a painter.
+<li> Set a pen, a brush etc.
+<li> Draw.
+<li> Destroy the painter.
+</ul>
+<p> Mostly, all this is done inside a paint event. (In fact, 99% of
+all QPainter use is in a reimplementation of
+<a href="qwidget.html#paintEvent">QWidget::paintEvent</a>(), and the painter is heavily optimized for
+such use.) Here's one very simple example:
+<p> <pre>
+ void SimpleExampleWidget::paintEvent()
+ {
+ QPainter paint( this );
+ paint.<a href="#setPen">setPen</a>( Qt::blue );
+ paint.<a href="#drawText">drawText</a>( rect(), AlignCenter, "The Text" );
+ }
+ </pre>
+
+<p> Usage is simple, and there are many settings you can use:
+<p> <ul>
+<p> <li> <a href="#font">font</a>() is the currently set font. If you set a font that isn't
+available, Qt finds a close match. In fact font() returns what
+you set using <a href="#setFont">setFont</a>() and <a href="#fontInfo">fontInfo</a>() returns the font actually
+being used (which may be the same).
+<p> <li> <a href="#brush">brush</a>() is the currently set brush; the color or pattern that's
+used for filling e.g. circles.
+<p> <li> <a href="#pen">pen</a>() is the currently set pen; the color or stipple that's
+used for drawing lines or boundaries.
+<p> <li> <a href="#backgroundMode">backgroundMode</a>() is <tt>Opaque</tt> or <tt>Transparent</tt>, i.e. whether
+<a href="#backgroundColor">backgroundColor</a>() is used or not.
+<p> <li> backgroundColor() only applies when backgroundMode() is Opaque
+and pen() is a stipple. In that case, it describes the color of
+the background pixels in the stipple.
+<p> <li> <a href="#rasterOp">rasterOp</a>() is how pixels drawn interact with the pixels already
+there.
+<p> <li> <a href="#brushOrigin">brushOrigin</a>() is the origin of the tiled brushes, normally the
+origin of the window.
+<p> <li> <a href="#viewport">viewport</a>(), <a href="#window">window</a>(), <a href="#worldMatrix">worldMatrix</a>() and many more make up the
+painter's coordinate transformation system. See <a href="coordsys.html">The Coordinate System</a> for an explanation of
+this, or see below for a very brief overview of the functions.
+<p> <li> <a href="#hasClipping">hasClipping</a>() is whether the painter clips at all. (The paint
+device clips, too.) If the painter clips, it clips to <a href="#clipRegion">clipRegion</a>().
+<p> <li> <a href="#pos">pos</a>() is the current position, set by <a href="#moveTo">moveTo</a>() and used by
+<a href="#lineTo">lineTo</a>().
+<p> </ul>
+<p> Note that some of these settings mirror settings in some paint
+devices, e.g. <a href="qwidget.html#font">QWidget::font</a>(). <a href="#begin">QPainter::begin</a>() (or the QPainter
+constructor) copies these attributes from the paint device.
+Calling, for example, <a href="qwidget.html#setFont">QWidget::setFont</a>() doesn't take effect until
+the next time a painter begins painting on it.
+<p> <a href="#save">save</a>() saves all of these settings on an internal stack, <a href="#restore">restore</a>()
+pops them back.
+<p> The core functionality of QPainter is drawing, and there are
+functions to draw most primitives: <a href="#drawPoint">drawPoint</a>(), <a href="#drawPoints">drawPoints</a>(),
+<a href="#drawLine">drawLine</a>(), <a href="#drawRect">drawRect</a>(), <a href="#drawWinFocusRect">drawWinFocusRect</a>(), <a href="#drawRoundRect">drawRoundRect</a>(),
+<a href="#drawEllipse">drawEllipse</a>(), <a href="#drawArc">drawArc</a>(), <a href="#drawPie">drawPie</a>(), <a href="#drawChord">drawChord</a>(),
+<a href="#drawLineSegments">drawLineSegments</a>(), <a href="#drawPolyline">drawPolyline</a>(), <a href="#drawPolygon">drawPolygon</a>(),
+<a href="#drawConvexPolygon">drawConvexPolygon</a>() and <a href="#drawCubicBezier">drawCubicBezier</a>(). All of these functions
+take integer coordinates; there are no floating-point versions
+since we want drawing to be as fast as possible.
+<p> There are functions to draw pixmaps/images, namely <a href="#drawPixmap">drawPixmap</a>(),
+<a href="#drawImage">drawImage</a>() and <a href="#drawTiledPixmap">drawTiledPixmap</a>(). drawPixmap() and drawImage()
+produce the same result, except that drawPixmap() is faster
+on-screen and drawImage() faster and sometimes better on <a href="qprinter.html">QPrinter</a>
+and <a href="qpicture.html">QPicture</a>.
+<p> Text drawing is done using <a href="#drawText">drawText</a>(), and when you need
+fine-grained positioning, <a href="#boundingRect">boundingRect</a>() tells you where a given
+drawText() command would draw.
+<p> There is a <a href="#drawPicture">drawPicture</a>() function that draws the contents of an
+entire QPicture using this painter. drawPicture() is the only
+function that disregards all the painter's settings: the QPicture
+has its own settings.
+<p> Normally, the QPainter operates on the device's own coordinate
+system (usually pixels), but QPainter has good support for
+coordinate transformation. See <a href="coordsys.html">The Coordinate
+ System</a> for a more general overview and a simple example.
+<p> The most common functions used are <a href="#scale">scale</a>(), <a href="#rotate">rotate</a>(), <a href="#translate">translate</a>()
+and <a href="#shear">shear</a>(), all of which operate on the <a href="#worldMatrix">worldMatrix</a>().
+<a href="#setWorldMatrix">setWorldMatrix</a>() can replace or add to the currently set
+worldMatrix().
+<p> <a href="#setViewport">setViewport</a>() sets the rectangle on which QPainter operates. The
+default is the entire device, which is usually fine, except on
+printers. <a href="#setWindow">setWindow</a>() sets the coordinate system, that is, the
+rectangle that maps to <a href="#viewport">viewport</a>(). What's drawn inside the
+<a href="#window">window</a>() ends up being inside the viewport(). The window's
+default is the same as the viewport, and if you don't use the
+transformations, they are optimized away, gaining another little
+bit of speed.
+<p> After all the coordinate transformation is done, QPainter can clip
+the drawing to an arbitrary rectangle or region. <a href="#hasClipping">hasClipping</a>() is
+TRUE if QPainter clips, and <a href="#clipRegion">clipRegion</a>() returns the clip region.
+You can set it using either <a href="#setClipRegion">setClipRegion</a>() or <a href="#setClipRect">setClipRect</a>().
+Note that the clipping can be slow. It's all system-dependent,
+but as a rule of thumb, you can assume that drawing speed is
+inversely proportional to the number of rectangles in the clip
+region.
+<p> After QPainter's clipping, the paint device may also clip. For
+example, most widgets clip away the pixels used by child widgets,
+and most printers clip away an area near the edges of the paper.
+This additional clipping is not reflected by the return value of
+clipRegion() or hasClipping().
+<p> QPainter also includes some less-used functions that are very
+useful on those occasions when they're needed.
+<p> <a href="#isActive">isActive</a>() indicates whether the painter is active. <a href="#begin">begin</a>() (and
+the most usual constructor) makes it active. <a href="#end">end</a>() (and the
+destructor) deactivates it. If the painter is active, <a href="#device">device</a>()
+returns the paint device on which the painter paints.
+<p> Sometimes it is desirable to make someone else paint on an unusual
+<a href="qpaintdevice.html">QPaintDevice</a>. QPainter supports a static function to do this,
+<a href="#redirect">redirect</a>(). We recommend not using it, but for some hacks it's
+perfect.
+<p> <a href="#setTabStops">setTabStops</a>() and <a href="#setTabArray">setTabArray</a>() can change where the tab stops
+are, but these are very seldomly used.
+<p> <b>Warning:</b> Note that QPainter does not attempt to work around
+coordinate limitations in the underlying window system. Some
+platforms may behave incorrectly with coordinates as small as
++/-4000.
+
+<p> <p>See also <a href="qpaintdevice.html">QPaintDevice</a>, <a href="qwidget.html">QWidget</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qprinter.html">QPrinter</a>, <a href="qpicture.html">QPicture</a>, <a href="simple-application.html">Application Walkthrough</a>, <a href="coordsys.html">Coordinate System Overview</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="CoordinateMode-enum"></a>QPainter::CoordinateMode</h3>
+
+<ul>
+<li><tt>QPainter::CoordDevice</tt>
+<li><tt>QPainter::CoordPainter</tt>
+</ul><p> <p>See also <a href="#clipRegion">clipRegion</a>().
+
+<h3 class=fn><a name="TextDirection-enum"></a>QPainter::TextDirection</h3>
+
+<ul>
+<li><tt>QPainter::Auto</tt>
+<li><tt>QPainter::RTL</tt> - right to left
+<li><tt>QPainter::LTR</tt> - left to right
+</ul><p> <p>See also <a href="#drawText">drawText</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPainter"></a>QPainter::QPainter ()
+</h3>
+Constructs a painter.
+<p> Notice that all painter settings (setPen, setBrush etc.) are reset
+to default values when <a href="#begin">begin</a>() is called.
+<p> <p>See also <a href="#begin">begin</a>() and <a href="#end">end</a>().
+
+<h3 class=fn><a name="QPainter-2"></a>QPainter::QPainter ( const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pd, bool&nbsp;unclipped = FALSE )
+</h3>
+Constructs a painter that begins painting the paint device <em>pd</em>
+immediately. Depending on the underlying graphic system the
+painter will paint over children of the paintdevice if <em>unclipped</em> is TRUE.
+<p> This constructor is convenient for short-lived painters, e.g. in a
+<a href="qwidget.html#paintEvent">paint event</a> and should be used
+only once. The constructor calls <a href="#begin">begin</a>() for you and the QPainter
+destructor automatically calls <a href="#end">end</a>().
+<p> Here's an example using begin() and end():
+<pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ QPainter p;
+ p.<a href="#begin">begin</a>( this );
+ p.<a href="#drawLine">drawLine</a>( ... ); // drawing code
+ p.<a href="#end">end</a>();
+ }
+ </pre>
+
+<p> The same example using this constructor:
+<pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ QPainter p( this );
+ p.<a href="#drawLine">drawLine</a>( ... ); // drawing code
+ }
+ </pre>
+
+<p> Since the constructor cannot provide feedback when the initialization
+of the painter failed you should rather use begin() and end() to paint
+on external devices, e.g. printers.
+<p> <p>See also <a href="#begin">begin</a>() and <a href="#end">end</a>().
+
+<h3 class=fn><a name="QPainter-3"></a>QPainter::QPainter ( const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pd, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;copyAttributes, bool&nbsp;unclipped = FALSE )
+</h3>
+Constructs a painter that begins painting the paint device <em>pd</em>
+immediately, with the default arguments taken from <em>copyAttributes</em>. The painter will paint over children of the paint
+device if <em>unclipped</em> is TRUE (although this is not supported on
+all platforms).
+<p> <p>See also <a href="#begin">begin</a>().
+
+<h3 class=fn><a name="~QPainter"></a>QPainter::~QPainter ()
+</h3>
+Destroys the painter.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="backgroundColor"></a>QPainter::backgroundColor () const
+</h3>
+
+<p> Returns the current background color.
+<p> <p>See also <a href="#setBackgroundColor">setBackgroundColor</a>() and <a href="qcolor.html">QColor</a>.
+
+<h3 class=fn><a href="qt.html#BGMode-enum">BGMode</a> <a name="backgroundMode"></a>QPainter::backgroundMode () const
+</h3>
+
+<p> Returns the current background mode.
+<p> <p>See also <a href="#setBackgroundMode">setBackgroundMode</a>() and <a href="qt.html#BGMode-enum">BGMode</a>.
+
+<h3 class=fn>bool <a name="begin"></a>QPainter::begin ( const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pd, bool&nbsp;unclipped = FALSE )
+</h3>
+Begins painting the paint device <em>pd</em> and returns TRUE if
+successful; otherwise returns FALSE. If <em>unclipped</em> is TRUE, the
+painting will not be clipped at the paint device's boundaries,
+(although this is not supported by all platforms).
+<p> The errors that can occur are serious problems, such as these:
+<p> <pre>
+ p-&gt;begin( 0 ); // impossible - paint device cannot be 0
+
+ <a href="qpixmap.html">QPixmap</a> pm( 0, 0 );
+ p-&gt;begin( pm ); // impossible - pm.<a href="qpixmap.html#isNull">isNull</a>();
+
+ p-&gt;begin( myWidget );
+ p2-&gt;begin( myWidget ); // impossible - only one painter at a time
+ </pre>
+
+<p> Note that most of the time, you can use one of the constructors
+instead of <a href="#begin">begin</a>(), and that <a href="#end">end</a>() is automatically done at
+destruction.
+<p> <b>Warning:</b> A paint device can only be painted by one painter at a
+time.
+<p> <p>See also <a href="#end">end</a>() and <a href="#flush">flush</a>().
+
+<p>Examples: <a href="aclock-example.html#x1183">aclock/aclock.cpp</a>, <a href="desktop-example.html#x1733">desktop/desktop.cpp</a>, <a href="drawdemo-example.html#x1067">drawdemo/drawdemo.cpp</a>, <a href="hello-example.html#x1633">hello/hello.cpp</a>, <a href="picture-example.html#x111">picture/picture.cpp</a>, <a href="tutorial1-10.html#x2348">t10/cannon.cpp</a>, and <a href="xform-example.html#x1233">xform/xform.cpp</a>.
+<h3 class=fn>bool <a name="begin-2"></a>QPainter::begin ( const&nbsp;<a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pd, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;copyAttributes, bool&nbsp;unclipped = FALSE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version opens the painter on a paint device <em>pd</em> and sets
+the initial pen, background color and font from <em>copyAttributes</em>,
+painting over the paint device's children when <em>unclipped</em> is
+TRUE. This is equivalent to:
+<p> <pre>
+ QPainter p;
+ p.<a href="#begin">begin</a>( pd );
+ p.<a href="#setPen">setPen</a>( copyAttributes-&gt;foregroundColor() );
+ p.<a href="#setBackgroundColor">setBackgroundColor</a>( copyAttributes-&gt;backgroundColor() );
+ p.<a href="#setFont">setFont</a>( copyAttributes-&gt;font() );
+ </pre>
+
+<p> This begin function is convenient for double buffering. When you
+draw in a pixmap instead of directly in a widget (to later bitBlt
+the pixmap into the widget) you will need to set the widget's
+font etc. This function does exactly that.
+<p> Example:
+<pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpixmap.html">QPixmap</a> pm(size());
+ QPainter p;
+ p.<a href="#begin">begin</a>(&amp;pm, this);
+ // ... potentially flickering paint operation ...
+ p.<a href="#end">end</a>();
+ <a href="qimage.html#bitBlt">bitBlt</a>(this, 0, 0, &amp;pm);
+ }
+ </pre>
+
+<p> <p>See also <a href="#end">end</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QPainter::boundingRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flags, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;len = -1, QTextParag&nbsp;**&nbsp;intern = 0 )
+</h3>
+
+<p> Returns the bounding rectangle of the aligned text that would be
+printed with the corresponding <a href="#drawText">drawText</a>() function using the first
+<em>len</em> characters of the string if <em>len</em> is > -1, or the whole of
+the string if <em>len</em> is -1. The drawing, and hence the bounding
+rectangle, is constrained to the rectangle that begins at point <em>(x, y)</em> with width <em>w</em> and hight <em>h</em>, or to the
+rectangle required to draw the text, whichever is the larger.
+<p> The <em>flags</em> argument is
+the bitwise OR of the following flags:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Flag <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignAuto</a> <td valign="top">aligns according to the language, usually left.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignLeft</a> <td valign="top">aligns to the left border.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignRight</a> <td valign="top">aligns to the right border.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignHCenter</a> <td valign="top">aligns horizontally centered.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignTop</a> <td valign="top">aligns to the top border.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignBottom</a> <td valign="top">aligns to the bottom border.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignVCenter</a> <td valign="top">aligns vertically centered.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#AlignmentFlags-enum">AlignCenter</a> <td valign="top">(== <a href="qt.html#AlignmentFlags-enum">AlignHCenter</a> | <a href="qt.html#AlignmentFlags-enum">AlignVCenter</a>).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#TextFlags-enum">SingleLine</a> <td valign="top">ignores newline characters in the text.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#TextFlags-enum">ExpandTabs</a> <td valign="top">expands tabs.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qt.html#TextFlags-enum">ShowPrefix</a> <td valign="top">interprets "&x" as "<u>x</u>".
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qt.html#TextFlags-enum">WordBreak</a> <td valign="top">breaks the text to fit the rectangle.
+</table></center>
+<p> Horizontal alignment defaults to <a href="qt.html#AlignmentFlags-enum">AlignLeft</a> and vertical
+alignment defaults to <a href="qt.html#AlignmentFlags-enum">AlignTop</a>.
+<p> If several of the horizontal or several of the vertical alignment flags
+are set, the resulting alignment is undefined.
+<p> The <em>intern</em> parameter should not be used.
+<p> <p>See also <a href="qt.html#TextFlags-enum">Qt::TextFlags</a>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect-2"></a>QPainter::boundingRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;flags, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, QTextParag&nbsp;**&nbsp;internal = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the bounding rectangle of the aligned text that would be
+printed with the corresponding <a href="#drawText">drawText</a>() function using the first
+<em>len</em> characters from <em>str</em> if <em>len</em> is > -1, or the whole of
+<em>str</em> if <em>len</em> is -1. The drawing, and hence the bounding
+rectangle, is constrained to the rectangle <em>r</em>, or to the
+rectangle required to draw the text, whichever is the larger.
+<p> The <em>internal</em> parameter should not be used.
+<p> <p>See also <a href="#drawText">drawText</a>(), <a href="#fontMetrics">fontMetrics</a>(), <a href="qfontmetrics.html#boundingRect">QFontMetrics::boundingRect</a>(), and <a href="qt.html#TextFlags-enum">Qt::TextFlags</a>.
+
+<h3 class=fn>const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="brush"></a>QPainter::brush () const
+</h3>
+
+<p> Returns the painter's current brush.
+<p> <p>See also <a href="#setBrush">QPainter::setBrush</a>().
+
+<p>Examples: <a href="themes-example.html#x283">themes/metal.cpp</a> and <a href="themes-example.html#x212">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="brushOrigin"></a>QPainter::brushOrigin () const
+</h3>
+
+<p> Returns the brush origin currently set.
+<p> <p>See also <a href="#setBrushOrigin">setBrushOrigin</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="clipRegion"></a>QPainter::clipRegion ( <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;m = CoordDevice ) const
+</h3>
+Returns the currently set clip region. Note that the clip region
+is given in physical device coordinates and <em>not</em> subject to any
+<a href="coordsys.html">coordinate transformation</a> if <em>m</em> is
+equal to <a href="#CoordinateMode-enum">CoordDevice</a> (the default). If <em>m</em> equals <a href="#CoordinateMode-enum">CoordPainter</a> the returned region is in model coordinates.
+<p> <p>See also <a href="#setClipRegion">setClipRegion</a>(), <a href="#setClipRect">setClipRect</a>(), <a href="#setClipping">setClipping</a>(), and <a href="#CoordinateMode-enum">QPainter::CoordinateMode</a>.
+
+<p>Example: <a href="themes-example.html#x213">themes/wood.cpp</a>.
+<h3 class=fn><a href="qpaintdevice.html">QPaintDevice</a>&nbsp;* <a name="device"></a>QPainter::device () const
+</h3>
+
+<p> Returns the paint device on which this painter is currently
+painting, or 0 if the painter is not active.
+<p> <p>See also <a href="qpaintdevice.html#paintingActive">QPaintDevice::paintingActive</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1145">action/application.cpp</a>, <a href="simple-application-example.html#x1563">application/application.cpp</a>, <a href="helpviewer-example.html#x999">helpviewer/helpwindow.cpp</a>, <a href="listboxcombo-example.html#x1413">listboxcombo/listboxcombo.cpp</a>, and <a href="mdi-example.html#x2044">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="drawArc"></a>QPainter::drawArc ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
+</h3>
+Draws an arc defined by the rectangle <em>(x, y, w, h)</em>, the start
+angle <em>a</em> and the arc length <em>alen</em>.
+<p> The angles <em>a</em> and <em>alen</em> are 1/16th of a degree, i.e. a full
+circle equals 5760 (16*360). Positive values of <em>a</em> and <em>alen</em>
+mean counter-clockwise while negative values mean the clockwise
+direction. Zero degrees is at the 3 o'clock position.
+<p> Example:
+<pre>
+ QPainter p( myWidget );
+ p.<a href="#drawArc">drawArc</a>( 10,10, 70,100, 100*16, 160*16 ); // draws a "(" arc
+ </pre>
+
+<p> <p>See also <a href="#drawPie">drawPie</a>() and <a href="#drawChord">drawChord</a>().
+
+<h3 class=fn>void <a name="drawArc-2"></a>QPainter::drawArc ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the arc that fits inside the rectangle <em>r</em> with start angle
+<em>a</em> and arc length <em>alen</em>.
+
+<h3 class=fn>void <a name="drawChord"></a>QPainter::drawChord ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
+</h3>
+Draws a chord defined by the rectangle <em>(x, y, w, h)</em>, the start
+angle <em>a</em> and the arc length <em>alen</em>.
+<p> The chord is filled with the current <a href="#brush">brush</a>().
+<p> The angles <em>a</em> and <em>alen</em> are 1/16th of a degree, i.e. a full
+circle equals 5760 (16*360). Positive values of <em>a</em> and <em>alen</em>
+mean counter-clockwise while negative values mean the clockwise
+direction. Zero degrees is at the 3 o'clock position.
+<p> <p>See also <a href="#drawArc">drawArc</a>() and <a href="#drawPie">drawPie</a>().
+
+<h3 class=fn>void <a name="drawChord-2"></a>QPainter::drawChord ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a chord that fits inside the rectangle <em>r</em> with start angle
+<em>a</em> and arc length <em>alen</em>.
+
+<h3 class=fn>void <a name="drawConvexPolygon"></a>QPainter::drawConvexPolygon ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;pa, int&nbsp;index = 0, int&nbsp;npoints = -1 )
+</h3>
+Draws the convex polygon defined by the <em>npoints</em> points in <em>pa</em>
+starting at <em>pa[index]</em> (<em>index</em> defaults to 0).
+<p> If the supplied polygon is not convex, the results are undefined.
+<p> On some platforms (e.g. X Window), this is faster than
+<a href="#drawPolygon">drawPolygon</a>().
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+
+<p>Example: <a href="coordsys.html#x2271">aclock/aclock.cpp</a>.
+<h3 class=fn>void <a name="drawCubicBezier"></a>QPainter::drawCubicBezier ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0 )
+</h3>
+Draws a cubic Bezier curve defined by the control points in <em>a</em>,
+starting at <em>a[index]</em> (<em>index</em> defaults to 0).
+<p> Control points after <em>a[index + 3]</em> are ignored. Nothing happens
+if there aren't enough control points.
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+
+<h3 class=fn>void <a name="drawEllipse"></a>QPainter::drawEllipse ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Draws an ellipse with center at <em>(x + w/2, y + h/2)</em> and size <em>(w, h)</em>.
+
+<p>Examples: <a href="drawdemo-example.html#x1068">drawdemo/drawdemo.cpp</a>, <a href="qaxserver-example-multiple.html#x2545">multiple/ax2.h</a>, <a href="picture-example.html#x112">picture/picture.cpp</a>, and <a href="tictac-example.html#x28">tictac/tictac.cpp</a>.
+<h3 class=fn>void <a name="drawEllipse-2"></a>QPainter::drawEllipse ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the ellipse that fits inside rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="drawImage"></a>QPainter::drawImage ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image, int&nbsp;sx = 0, int&nbsp;sy = 0, int&nbsp;sw = -1, int&nbsp;sh = -1, int&nbsp;conversionFlags = 0 )
+</h3>
+Draws at (<em>x</em>, <em>y</em>) the <em>sw</em> by <em>sh</em> area of pixels from (<em>sx</em>, <em>sy</em>) in <em>image</em>, using <em>conversionFlags</em> if the image
+needs to be converted to a pixmap. The default value for <em>conversionFlags</em> is 0; see convertFromImage() for information about
+what other values do.
+<p> This function may convert <em>image</em> to a pixmap and then draw it,
+if <a href="#device">device</a>() is a <a href="qpixmap.html">QPixmap</a> or a <a href="qwidget.html">QWidget</a>, or else draw it directly,
+if device() is a <a href="qprinter.html">QPrinter</a> or <a href="qpicture.html">QPicture</a>.
+<p> Currently alpha masks of the image are ignored when painting on a QPrinter.
+<p> <p>See also <a href="#drawPixmap">drawPixmap</a>() and <a href="qpixmap.html#convertFromImage">QPixmap::convertFromImage</a>().
+
+<p>Example: <a href="canvas-example.html#x2941">canvas/canvas.cpp</a>.
+<h3 class=fn>void <a name="drawImage-2"></a>QPainter::drawImage ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;sr, int&nbsp;conversionFlags = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the rectangle <em>sr</em> from the image at the given point.
+
+<h3 class=fn>void <a name="drawImage-3"></a>QPainter::drawImage ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i, int&nbsp;conversion_flags = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the image <em>i</em> at point <em>p</em>.
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversion_flags</em> to specify how you'd prefer this to happen.
+<p> <p>See also <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>.
+
+<h3 class=fn>void <a name="drawImage-4"></a>QPainter::drawImage ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the image <em>i</em> into the rectangle <em>r</em>. The image will be
+scaled to fit the rectangle if image and rectangle dimensions
+differ.
+
+<h3 class=fn>void <a name="drawLine"></a>QPainter::drawLine ( int&nbsp;x1, int&nbsp;y1, int&nbsp;x2, int&nbsp;y2 )
+</h3>
+Draws a line from (<em>x1</em>, <em>y1</em>) to (<em>x2</em>, <em>y2</em>) and sets the
+current pen position to (<em>x2</em>, <em>y2</em>).
+<p> <p>See also <a href="#pen">pen</a>().
+
+<p>Examples: <a href="coordsys.html#x2272">aclock/aclock.cpp</a>, <a href="drawlines-example.html#x1655">drawlines/connect.cpp</a>, <a href="progress-example.html#x73">progress/progress.cpp</a>, <a href="splitter-example.html#x1297">splitter/splitter.cpp</a>, <a href="themes-example.html#x284">themes/metal.cpp</a>, and <a href="themes-example.html#x214">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="drawLine-2"></a>QPainter::drawLine ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a line from point <em>p1</em> to point <em>p2</em>.
+
+<h3 class=fn>void <a name="drawLineSegments"></a>QPainter::drawLineSegments ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;nlines = -1 )
+</h3>
+Draws <em>nlines</em> separate lines from points defined in <em>a</em>,
+starting at <em>a[index]</em> (<em>index</em> defaults to 0). If <em>nlines</em> is
+-1 (the default) all points until the end of the array are used
+(i.e. (a.size()-index)/2 lines are drawn).
+<p> Draws the 1st line from <em>a[index]</em> to <em>a[index+1]</em>. Draws the
+2nd line from <em>a[index+2]</em> to <em>a[index+3]</em> etc.
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+<p> <p>See also <a href="#drawPolyline">drawPolyline</a>(), <a href="#drawPolygon">drawPolygon</a>(), and <a href="qpen.html">QPen</a>.
+
+<h3 class=fn>void <a name="drawPicture"></a>QPainter::drawPicture ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
+</h3>
+Replays the picture <em>pic</em> translated by (<em>x</em>, <em>y</em>).
+<p> This function does exactly the same as <a href="qpicture.html#play">QPicture::play</a>() when
+called with (<em>x</em>, <em>y</em>) = (0, 0).
+
+<p>Examples: <a href="picture-example.html#x113">picture/picture.cpp</a> and <a href="xform-example.html#x1234">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="drawPicture-2"></a>QPainter::drawPicture ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use one of the other <a href="#drawPicture">QPainter::drawPicture</a>() functions with a (0, 0)
+offset instead.
+
+<h3 class=fn>void <a name="drawPicture-3"></a>QPainter::drawPicture ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws picture <em>pic</em> at point <em>p</em>.
+
+<h3 class=fn>void <a name="drawPie"></a>QPainter::drawPie ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a, int&nbsp;alen )
+</h3>
+Draws a pie defined by the rectangle <em>(x, y, w, h)</em>, the start
+angle <em>a</em> and the arc length <em>alen</em>.
+<p> The pie is filled with the current <a href="#brush">brush</a>().
+<p> The angles <em>a</em> and <em>alen</em> are 1/16th of a degree, i.e. a full
+circle equals 5760 (16*360). Positive values of <em>a</em> and <em>alen</em>
+mean counter-clockwise while negative values mean the clockwise
+direction. Zero degrees is at the 3 o'clock position.
+<p> <p>See also <a href="#drawArc">drawArc</a>() and <a href="#drawChord">drawChord</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1069">drawdemo/drawdemo.cpp</a>, <a href="grapher-nsplugin-example.html#x2757">grapher/grapher.cpp</a>, <a href="tutorial1-10.html#x2349">t10/cannon.cpp</a>, and <a href="tutorial1-09.html#x2340">t9/cannon.cpp</a>.
+<h3 class=fn>void <a name="drawPie-2"></a>QPainter::drawPie ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;a, int&nbsp;alen )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a pie segment that fits inside the rectangle <em>r</em> with start
+angle <em>a</em> and arc length <em>alen</em>.
+
+<h3 class=fn>void <a name="drawPixmap"></a>QPainter::drawPixmap ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;sx = 0, int&nbsp;sy = 0, int&nbsp;sw = -1, int&nbsp;sh = -1 )
+</h3>
+Draws a pixmap at <em>(x, y)</em> by copying a part of <em>pixmap</em> into
+the paint device.
+<p> <em>(x, y)</em> specifies the top-left point in the paint device that is
+to be drawn onto. <em>(sx, sy)</em> specifies the top-left point in <em>pixmap</em> that is to be drawn. The default is (0, 0).
+<p> <em>(sw, sh)</em> specifies the size of the pixmap that is to be drawn.
+The default, (-1, -1), means all the way to the bottom right of
+the pixmap.
+<p> Currently the mask of the pixmap or it's alpha channel are ignored
+when painting on a <a href="qprinter.html">QPrinter</a>.
+<p> <p>See also <a href="qimage.html#bitBlt">bitBlt</a>() and <a href="qpixmap.html#setMask">QPixmap::setMask</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2758">grapher/grapher.cpp</a>, <a href="picture-example.html#x114">picture/picture.cpp</a>, <a href="qdir-example.html#x1832">qdir/qdir.cpp</a>, <a href="qmag-example.html#x1782">qmag/qmag.cpp</a>, <a href="showimg-example.html#x1337">showimg/showimg.cpp</a>, <a href="tutorial1-10.html#x2350">t10/cannon.cpp</a>, and <a href="xform-example.html#x1235">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="drawPixmap-2"></a>QPainter::drawPixmap ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;sr )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the rectangle <em>sr</em> of pixmap <em>pm</em> with its origin at point
+<em>p</em>.
+
+<h3 class=fn>void <a name="drawPixmap-3"></a>QPainter::drawPixmap ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the pixmap <em>pm</em> with its origin at point <em>p</em>.
+
+<h3 class=fn>void <a name="drawPixmap-4"></a>QPainter::drawPixmap ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the pixmap <em>pm</em> into the rectangle <em>r</em>. The pixmap is
+scaled to fit the rectangle, if image and rectangle size disagree.
+
+<h3 class=fn>void <a name="drawPoint"></a>QPainter::drawPoint ( int&nbsp;x, int&nbsp;y )
+</h3>
+Draws/plots a single point at <em>(x, y)</em> using the current pen.
+<p> <p>See also <a href="qpen.html">QPen</a>.
+
+<p>Examples: <a href="desktop-example.html#x1734">desktop/desktop.cpp</a> and <a href="drawlines-example.html#x1656">drawlines/connect.cpp</a>.
+<h3 class=fn>void <a name="drawPoint-2"></a>QPainter::drawPoint ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the point <em>p</em>.
+
+<h3 class=fn>void <a name="drawPoints"></a>QPainter::drawPoints ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;npoints = -1 )
+</h3>
+Draws/plots an array of points, <em>a</em>, using the current pen.
+<p> If <em>index</em> is non-zero (the default is zero) only points from <em>index</em> are drawn. If <em>npoints</em> is negative (the default) the rest
+of the points from <em>index</em> are drawn. If <em>npoints</em> is zero or
+greater, <em>npoints</em> points are drawn.
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+
+<h3 class=fn>void <a name="drawPolygon"></a>QPainter::drawPolygon ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, bool&nbsp;winding = FALSE, int&nbsp;index = 0, int&nbsp;npoints = -1 )
+</h3>
+Draws the polygon defined by the <em>npoints</em> points in <em>a</em>
+starting at <em>a[index]</em>. (<em>index</em> defaults to 0.)
+<p> If <em>npoints</em> is -1 (the default) all points until the end of the
+array are used (i.e. a.size()-index line segments define the
+polygon).
+<p> The first point is always connected to the last point.
+<p> The polygon is filled with the current <a href="#brush">brush</a>(). If <em>winding</em> is
+TRUE, the polygon is filled using the winding fill algorithm. If
+<em>winding</em> is FALSE, the polygon is filled using the even-odd
+(alternative) fill algorithm.
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+<p> <p>See also <a href="#drawLineSegments">drawLineSegments</a>(), <a href="#drawPolyline">drawPolyline</a>(), and <a href="qpen.html">QPen</a>.
+
+<p>Examples: <a href="desktop-example.html#x1735">desktop/desktop.cpp</a> and <a href="picture-example.html#x115">picture/picture.cpp</a>.
+<h3 class=fn>void <a name="drawPolyline"></a>QPainter::drawPolyline ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;index = 0, int&nbsp;npoints = -1 )
+</h3>
+Draws the polyline defined by the <em>npoints</em> points in <em>a</em>
+starting at <em>a[index]</em>. (<em>index</em> defaults to 0.)
+<p> If <em>npoints</em> is -1 (the default) all points until the end of the
+array are used (i.e. a.size()-index-1 line segments are drawn).
+<p> <b>Warning:</b> On X11, coordinates that do not fit into 16-bit signed
+values are truncated. This limitation is expected to go away in
+Qt 4.
+<p> <p>See also <a href="#drawLineSegments">drawLineSegments</a>(), <a href="#drawPolygon">drawPolygon</a>(), and <a href="qpen.html">QPen</a>.
+
+<p>Examples: <a href="scribble-example.html#x917">scribble/scribble.cpp</a> and <a href="themes-example.html#x285">themes/metal.cpp</a>.
+<h3 class=fn>void <a name="drawRect"></a>QPainter::drawRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Draws a rectangle with upper left corner at <em>(x, y)</em> and with
+width <em>w</em> and height <em>h</em>.
+<p> <p>See also <a href="qpen.html">QPen</a> and <a href="#drawRoundRect">drawRoundRect</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1070">drawdemo/drawdemo.cpp</a>, <a href="picture-example.html#x116">picture/picture.cpp</a>, <a href="tutorial1-10.html#x2351">t10/cannon.cpp</a>, <a href="tutorial1-11.html#x2366">t11/cannon.cpp</a>, <a href="tutorial1-09.html#x2341">t9/cannon.cpp</a>, <a href="tooltip-example.html#x444">tooltip/tooltip.cpp</a>, and <a href="trivial-nsplugin-example.html#x2737">trivial/trivial.cpp</a>.
+<h3 class=fn>void <a name="drawRect-2"></a>QPainter::drawRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="drawRoundRect"></a>QPainter::drawRoundRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;xRnd = 25, int&nbsp;yRnd = 25 )
+</h3>
+Draws a rectangle with rounded corners at <em>(x, y)</em>, with width <em>w</em> and height <em>h</em>.
+<p> The <em>xRnd</em> and <em>yRnd</em> arguments specify how rounded the corners
+should be. 0 is angled corners, 99 is maximum roundedness.
+<p> The width and height include all of the drawn lines.
+<p> <p>See also <a href="#drawRect">drawRect</a>() and <a href="qpen.html">QPen</a>.
+
+<p>Examples: <a href="drawdemo-example.html#x1071">drawdemo/drawdemo.cpp</a> and <a href="themes-example.html#x215">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="drawRoundRect-2"></a>QPainter::drawRoundRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;xRnd = 25, int&nbsp;yRnd = 25 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a rounded rectangle <em>r</em>, rounding to the x position <em>xRnd</em>
+and the y position <em>yRnd</em> on each corner.
+
+<h3 class=fn>void <a name="drawText"></a>QPainter::drawText ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;pos, int&nbsp;len, <a href="qpainter.html#TextDirection-enum">TextDirection</a>&nbsp;dir = Auto )
+</h3>
+
+<p> Draws the text from position <em>pos</em>, at point <em>p</em>. If <em>len</em> is
+-1 the entire string is drawn, otherwise just the first <em>len</em>
+characters. The text's direction is specified by <em>dir</em>.
+<p> Note that the meaning of <em>y</em> is not the same for the two
+<a href="#drawText">drawText</a>() varieties. For overloads that take a simple <em>x</em>, <em>y</em>
+pair (or a point), the <em>y</em> value is the text's baseline; for
+overloads that take a rectangle, <em>rect.y()</em> is the top of the
+rectangle and the text is aligned within that rectangle in
+accordance with the alignment flags.
+<p> <p>See also <a href="#TextDirection-enum">QPainter::TextDirection</a>.
+
+<p>Examples: <a href="desktop-example.html#x1736">desktop/desktop.cpp</a>, <a href="drawdemo-example.html#x1072">drawdemo/drawdemo.cpp</a>, <a href="grapher-nsplugin-example.html#x2760">grapher/grapher.cpp</a>, <a href="picture-example.html#x117">picture/picture.cpp</a>, <a href="progress-example.html#x74">progress/progress.cpp</a>, <a href="tutorial1-08.html#x2335">t8/cannon.cpp</a>, and <a href="trivial-nsplugin-example.html#x2738">trivial/trivial.cpp</a>.
+<h3 class=fn>void <a name="drawText-2"></a>QPainter::drawText ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;len = -1, <a href="qpainter.html#TextDirection-enum">TextDirection</a>&nbsp;dir = Auto )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the given text at position <em>x</em>, <em>y</em>. If <em>len</em> is -1 (the
+default) all the text is drawn, otherwise the first <em>len</em>
+characters are drawn. The text's direction is given by <em>dir</em>.
+<p> <p>See also <a href="#TextDirection-enum">QPainter::TextDirection</a>.
+
+<h3 class=fn>void <a name="drawText-3"></a>QPainter::drawText ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;len = -1, <a href="qpainter.html#TextDirection-enum">TextDirection</a>&nbsp;dir = Auto )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the text at the given point.
+<p> <p>See also <a href="#TextDirection-enum">QPainter::TextDirection</a>.
+
+<h3 class=fn>void <a name="drawText-4"></a>QPainter::drawText ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;pos, int&nbsp;len, <a href="qpainter.html#TextDirection-enum">TextDirection</a>&nbsp;dir = Auto )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the text from position <em>pos</em>, at point <em>(x, y)</em>. If <em>len</em> is
+-1 the entire string is drawn, otherwise just the first <em>len</em>
+characters. The text's direction is specified by <em>dir</em>.
+
+<h3 class=fn>void <a name="drawText-5"></a>QPainter::drawText ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;flags, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;, int&nbsp;len = -1, <a href="qrect.html">QRect</a>&nbsp;*&nbsp;br = 0, QTextParag&nbsp;**&nbsp;internal = 0 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the given text within the rectangle starting at <em>x</em>, <em>y</em>,
+with width <em>w</em> and height <em>h</em>. If <em>len</em> is -1 (the default) all
+the text is drawn, otherwise the first <em>len</em> characters are
+drawn. The text's flags that are given in the <em>flags</em> parameter
+are <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> and <a href="qt.html#TextFlags-enum">Qt::TextFlags</a> OR'd together. <em>br</em> (if not null) is set to the actual bounding rectangle of the
+output. The <em>internal</em> parameter is for internal use only.
+
+<h3 class=fn>void <a name="drawText-6"></a>QPainter::drawText ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;tf, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;len = -1, <a href="qrect.html">QRect</a>&nbsp;*&nbsp;brect = 0, QTextParag&nbsp;**&nbsp;internal = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws at most <em>len</em> characters from <em>str</em> in the rectangle <em>r</em>.
+<p> This function draws formatted text. The <em>tf</em> text format is
+really of type <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> and <a href="qt.html#TextFlags-enum">Qt::TextFlags</a> OR'd
+together.
+<p> Horizontal alignment defaults to AlignAuto and vertical alignment
+defaults to AlignTop.
+<p> <em>brect</em> (if not null) is set to the actual bounding rectangle of
+the output. <em>internal</em> is, yes, internal.
+<p> <p>See also <a href="#boundingRect">boundingRect</a>().
+
+<h3 class=fn>void <a name="drawTiledPixmap"></a>QPainter::drawTiledPixmap ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;sx = 0, int&nbsp;sy = 0 )
+</h3>
+Draws a tiled <em>pixmap</em> in the specified rectangle.
+<p> <em>(x, y)</em> specifies the top-left point in the paint device that is
+to be drawn onto; with the width and height given by <em>w</em> and <em>h</em>. <em>(sx, sy)</em> specifies the top-left point in <em>pixmap</em> that is
+to be drawn. The default is (0, 0).
+<p> Calling <a href="#drawTiledPixmap">drawTiledPixmap</a>() is similar to calling <a href="#drawPixmap">drawPixmap</a>()
+several times to fill (tile) an area with a pixmap, but is
+potentially much more efficient depending on the underlying window
+system.
+<p> <p>See also <a href="#drawPixmap">drawPixmap</a>().
+
+<h3 class=fn>void <a name="drawTiledPixmap-2"></a>QPainter::drawTiledPixmap ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;sp )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a tiled pixmap, <em>pm</em>, inside rectangle <em>r</em> with its origin
+at point <em>sp</em>.
+
+<h3 class=fn>void <a name="drawTiledPixmap-3"></a>QPainter::drawTiledPixmap ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a tiled pixmap, <em>pm</em>, inside rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="drawWinFocusRect"></a>QPainter::drawWinFocusRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;bgColor )
+</h3>
+Draws a Windows focus rectangle with upper left corner at (<em>x</em>,
+<em>y</em>) and with width <em>w</em> and height <em>h</em> using a pen color that
+contrasts with <em>bgColor</em>.
+<p> This function draws a stippled rectangle (XOR is not used) that is
+used to indicate <a href="focus.html#keyboard-focus">keyboard focus</a> (when the <a href="qapplication.html#style">QApplication::style</a>() is
+<tt>WindowStyle</tt>).
+<p> The pen color used to draw the rectangle is either white or black
+depending on the color of <em>bgColor</em> (see QColor::gray()).
+<p> <b>Warning:</b> This function draws nothing if the coordinate system has
+been <a href="#rotate">rotated</a> or <a href="#shear">sheared</a>.
+<p> <p>See also <a href="#drawRect">drawRect</a>() and <a href="qapplication.html#style">QApplication::style</a>().
+
+<h3 class=fn>void <a name="drawWinFocusRect-2"></a>QPainter::drawWinFocusRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a Windows focus rectangle with upper left corner at (<em>x</em>,
+<em>y</em>) and with width <em>w</em> and height <em>h</em>.
+<p> This function draws a stippled XOR rectangle that is used to
+indicate <a href="focus.html#keyboard-focus">keyboard focus</a> (when <a href="qapplication.html#style">QApplication::style</a>() is <tt>WindowStyle</tt>).
+<p> <b>Warning:</b> This function draws nothing if the coordinate system has
+been <a href="#rotate">rotated</a> or <a href="#shear">sheared</a>.
+<p> <p>See also <a href="#drawRect">drawRect</a>() and <a href="qapplication.html#style">QApplication::style</a>().
+
+<h3 class=fn>void <a name="drawWinFocusRect-3"></a>QPainter::drawWinFocusRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws rectangle <em>r</em> as a window focus rectangle.
+
+<h3 class=fn>void <a name="drawWinFocusRect-4"></a>QPainter::drawWinFocusRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;bgColor )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws rectangle <em>r</em> as a window focus rectangle using background
+color <em>bgColor</em>.
+
+<h3 class=fn>bool <a name="end"></a>QPainter::end ()
+</h3>
+Ends painting. Any resources used while painting are released.
+<p> Note that while you mostly don't need to call <a href="#end">end</a>(), the
+destructor will do it, there is at least one common case when it
+is needed, namely double buffering.
+<p> <pre>
+ QPainter p( myPixmap, this )
+ // ...
+ p.<a href="#end">end</a>(); // stops drawing on myPixmap
+ p.<a href="#begin">begin</a>( this );
+ p.<a href="#drawPixmap">drawPixmap</a>( 0, 0, myPixmap );
+ </pre>
+
+<p> Since you can't draw a <a href="qpixmap.html">QPixmap</a> while it is being painted, it is
+necessary to close the active painter.
+<p> <p>See also <a href="#begin">begin</a>() and <a href="#isActive">isActive</a>().
+
+<p>Examples: <a href="aclock-example.html#x1186">aclock/aclock.cpp</a>, <a href="desktop-example.html#x1737">desktop/desktop.cpp</a>, <a href="hello-example.html#x1635">hello/hello.cpp</a>, <a href="picture-example.html#x118">picture/picture.cpp</a>, <a href="scribble-example.html#x918">scribble/scribble.cpp</a>, <a href="tutorial1-10.html#x2352">t10/cannon.cpp</a>, and <a href="xform-example.html#x1238">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="eraseRect"></a>QPainter::eraseRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+
+<p> Erases the area inside <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>. Equivalent to
+<tt>fillRect( x, y, w, h, backgroundColor() )</tt>.
+
+<p>Examples: <a href="listboxcombo-example.html#x1414">listboxcombo/listboxcombo.cpp</a> and <a href="showimg-example.html#x1338">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="eraseRect-2"></a>QPainter::eraseRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Erases the area inside the rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="fillRect"></a>QPainter::fillRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;brush )
+</h3>
+Fills the rectangle <em>(x, y, w, h)</em> with the <em>brush</em>.
+<p> You can specify a <a href="qcolor.html">QColor</a> as <em>brush</em>, since there is a <a href="qbrush.html">QBrush</a>
+constructor that takes a QColor argument and creates a solid
+pattern brush.
+<p> <p>See also <a href="#drawRect">drawRect</a>().
+
+<p>Examples: <a href="listboxcombo-example.html#x1415">listboxcombo/listboxcombo.cpp</a>, <a href="qaxserver-example-multiple.html#x2543">multiple/ax1.h</a>, <a href="progress-example.html#x75">progress/progress.cpp</a>, <a href="qdir-example.html#x1833">qdir/qdir.cpp</a>, <a href="qfd-example.html#x1998">qfd/fontdisplayer.cpp</a>, <a href="themes-example.html#x286">themes/metal.cpp</a>, and <a href="themes-example.html#x216">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="fillRect-2"></a>QPainter::fillRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;brush )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Fills the rectangle <em>r</em> using brush <em>brush</em>.
+
+<h3 class=fn>void <a name="flush"></a>QPainter::flush ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;region, <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;cm = CoordDevice )
+</h3>
+Flushes any buffered drawing operations inside the region <em>region</em> using clipping mode <em>cm</em>.
+<p> The flush may update the whole device if the platform does not
+support flushing to a specified region.
+<p> <p>See also <a href="#CoordinateMode-enum">CoordinateMode</a>.
+
+<h3 class=fn>void <a name="flush-2"></a>QPainter::flush ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Flushes any buffered drawing operations.
+
+<h3 class=fn>const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp; <a name="font"></a>QPainter::font () const
+</h3>
+
+<p> Returns the currently set painter font.
+<p> <p>See also <a href="#setFont">setFont</a>() and <a href="qfont.html">QFont</a>.
+
+<p>Example: <a href="fileiconview-example.html#x861">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qfontinfo.html">QFontInfo</a> <a name="fontInfo"></a>QPainter::fontInfo () const
+</h3>
+Returns the font info for the painter, if the painter is active.
+It is not possible to obtain font information for an inactive
+painter, so the return value is undefined if the painter is not
+active.
+<p> <p>See also <a href="#fontMetrics">fontMetrics</a>() and <a href="#isActive">isActive</a>().
+
+<h3 class=fn><a href="qfontmetrics.html">QFontMetrics</a> <a name="fontMetrics"></a>QPainter::fontMetrics () const
+</h3>
+Returns the font metrics for the painter, if the painter is
+active. It is not possible to obtain metrics for an inactive
+painter, so the return value is undefined if the painter is not
+active.
+<p> <p>See also <a href="#fontInfo">fontInfo</a>() and <a href="#isActive">isActive</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1147">action/application.cpp</a>, <a href="simple-application-example.html#x1565">application/application.cpp</a>, <a href="desktop-example.html#x1738">desktop/desktop.cpp</a>, <a href="drawdemo-example.html#x1073">drawdemo/drawdemo.cpp</a>, <a href="helpviewer-example.html#x1001">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2046">mdi/application.cpp</a>, and <a href="qwerty-example.html#x384">qwerty/qwerty.cpp</a>.
+<h3 class=fn>HDC <a name="handle"></a>QPainter::handle () const
+</h3>
+
+<p> Returns the platform-dependent handle used for drawing. Using this
+function is not portable.
+
+<h3 class=fn>bool <a name="hasClipping"></a>QPainter::hasClipping () const
+</h3>
+
+<p> Returns TRUE if clipping has been set; otherwise returns FALSE.
+<p> <p>See also <a href="#setClipping">setClipping</a>().
+
+<p>Example: <a href="themes-example.html#x217">themes/wood.cpp</a>.
+<h3 class=fn>bool <a name="hasViewXForm"></a>QPainter::hasViewXForm () const
+</h3>
+
+<p> Returns TRUE if view transformation is enabled; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setViewXForm">setViewXForm</a>() and <a href="#xForm">xForm</a>().
+
+<h3 class=fn>bool <a name="hasWorldXForm"></a>QPainter::hasWorldXForm () const
+</h3>
+
+<p> Returns TRUE if world transformation is enabled; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setWorldXForm">setWorldXForm</a>().
+
+<h3 class=fn>bool <a name="isActive"></a>QPainter::isActive () const
+</h3>
+
+<p> Returns TRUE if the painter is active painting, i.e. <a href="#begin">begin</a>() has
+been called and <a href="#end">end</a>() has not yet been called; otherwise returns
+FALSE.
+<p> <p>See also <a href="qpaintdevice.html#paintingActive">QPaintDevice::paintingActive</a>().
+
+<p>Examples: <a href="desktop-example.html#x1739">desktop/desktop.cpp</a> and <a href="helpviewer-example.html#x1002">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="lineTo"></a>QPainter::lineTo ( int&nbsp;x, int&nbsp;y )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#drawLine">drawLine</a>() instead.
+<p> Draws a line from the current pen position to <em>(x, y)</em> and sets
+<em>(x, y)</em> to be the new current pen position.
+<p> <p>See also <a href="qpen.html">QPen</a>, <a href="#moveTo">moveTo</a>(), <a href="#drawLine">drawLine</a>(), and <a href="#pos">pos</a>().
+
+<h3 class=fn>void <a name="lineTo-2"></a>QPainter::lineTo ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws a line to the point <em>p</em>.
+
+<h3 class=fn>void <a name="moveTo"></a>QPainter::moveTo ( int&nbsp;x, int&nbsp;y )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the current pen position to <em>(x, y)</em>
+<p> <p>See also <a href="#lineTo">lineTo</a>() and <a href="#pos">pos</a>().
+
+<h3 class=fn>void <a name="moveTo-2"></a>QPainter::moveTo ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves to the point <em>p</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp; <a name="pen"></a>QPainter::pen () const
+</h3>
+
+<p> Returns the painter's current pen.
+<p> <p>See also <a href="#setPen">setPen</a>().
+
+<p>Examples: <a href="qaxserver-example-multiple.html#x2546">multiple/ax2.h</a>, <a href="progress-example.html#x76">progress/progress.cpp</a>, and <a href="themes-example.html#x218">themes/wood.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pos"></a>QPainter::pos () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the current position of the pen.
+<p> <p>See also <a href="#moveTo">moveTo</a>().
+
+<h3 class=fn><a href="qt.html#RasterOp-enum">RasterOp</a> <a name="rasterOp"></a>QPainter::rasterOp () const
+</h3>
+
+<p> Returns the current <a href="qt.html#RasterOp-enum">raster operation</a>.
+<p> <p>See also <a href="#setRasterOp">setRasterOp</a>() and <a href="qt.html#RasterOp-enum">RasterOp</a>.
+
+<h3 class=fn>void <a name="redirect"></a>QPainter::redirect ( <a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;pdev, <a href="qpaintdevice.html">QPaintDevice</a>&nbsp;*&nbsp;replacement )<tt> [static]</tt>
+</h3>
+Redirects all paint commands for a paint device, <em>pdev</em>, to
+another paint device, <em>replacement</em>, unless <em>replacement</em> is 0.
+If <em>replacement</em> is 0, the redirection for <em>pdev</em> is removed.
+<p> In general, you'll probably find calling <a href="qpixmap.html#grabWidget">QPixmap::grabWidget</a>() or
+<a href="qpixmap.html#grabWindow">QPixmap::grabWindow</a>() is an easier solution.
+
+<h3 class=fn>void <a name="resetXForm"></a>QPainter::resetXForm ()
+</h3>
+Resets any transformations that were made using <a href="#translate">translate</a>(), <a href="#scale">scale</a>(),
+<a href="#shear">shear</a>(), <a href="#rotate">rotate</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), <a href="#setViewport">setViewport</a>() and
+<a href="#setWindow">setWindow</a>().
+<p> <p>See also <a href="#worldMatrix">worldMatrix</a>(), <a href="#viewport">viewport</a>(), and <a href="#window">window</a>().
+
+<h3 class=fn>void <a name="restore"></a>QPainter::restore ()
+</h3>
+Restores the current painter state (pops a saved state off the
+stack).
+<p> <p>See also <a href="#save">save</a>().
+
+<p>Example: <a href="coordsys.html#x2273">aclock/aclock.cpp</a>.
+<h3 class=fn>void <a name="restoreWorldMatrix"></a>QPainter::restoreWorldMatrix ()
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> We recommend using <a href="#restore">restore</a>() instead.
+
+<h3 class=fn>void <a name="rotate"></a>QPainter::rotate ( double&nbsp;a )
+</h3>
+Rotates the coordinate system <em>a</em> degrees counterclockwise.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#scale">scale</a>(), <a href="#shear">shear</a>(), <a href="#resetXForm">resetXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), and <a href="#xForm">xForm</a>().
+
+<p>Examples: <a href="coordsys.html#x2274">aclock/aclock.cpp</a>, <a href="tutorial1-10.html#x2353">t10/cannon.cpp</a>, and <a href="tutorial1-09.html#x2342">t9/cannon.cpp</a>.
+<h3 class=fn>void <a name="save"></a>QPainter::save ()
+</h3>
+Saves the current painter state (pushes the state onto a stack). A
+<a href="#save">save</a>() must be followed by a corresponding <a href="#restore">restore</a>(). <a href="#end">end</a>()
+unwinds the stack.
+<p> <p>See also <a href="#restore">restore</a>().
+
+<p>Example: <a href="coordsys.html#x2275">aclock/aclock.cpp</a>.
+<h3 class=fn>void <a name="saveWorldMatrix"></a>QPainter::saveWorldMatrix ()
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> We recommend using <a href="#save">save</a>() instead.
+
+<h3 class=fn>void <a name="scale"></a>QPainter::scale ( double&nbsp;sx, double&nbsp;sy )
+</h3>
+Scales the coordinate system by <em>(sx, sy)</em>.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#shear">shear</a>(), <a href="#rotate">rotate</a>(), <a href="#resetXForm">resetXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), and <a href="#xForm">xForm</a>().
+
+<p>Example: <a href="xform-example.html#x1239">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setBackgroundColor"></a>QPainter::setBackgroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the background color of the painter to <em>c</em>.
+<p> The background color is the color that is filled in when drawing
+opaque text, stippled lines and bitmaps. The background color has
+no effect in transparent background mode (which is the default).
+<p> <p>See also <a href="#backgroundColor">backgroundColor</a>(), <a href="#setBackgroundMode">setBackgroundMode</a>(), and <a href="qt.html#BackgroundMode-enum">BackgroundMode</a>.
+
+<h3 class=fn>void <a name="setBackgroundMode"></a>QPainter::setBackgroundMode ( <a href="qt.html#BGMode-enum">BGMode</a>&nbsp;m )
+</h3>
+Sets the background mode of the painter to <em>m</em>, which must be
+either <a href="qt.html#BGMode-enum">TransparentMode</a> (the default) or <a href="qt.html#BGMode-enum">OpaqueMode</a>.
+<p> Transparent mode draws stippled lines and text without setting the
+background pixels. Opaque mode fills these space with the current
+background color.
+<p> Note that in order to draw a bitmap or pixmap transparently, you
+must use <a href="qpixmap.html#setMask">QPixmap::setMask</a>().
+<p> <p>See also <a href="#backgroundMode">backgroundMode</a>() and <a href="#setBackgroundColor">setBackgroundColor</a>().
+
+<p>Example: <a href="picture-example.html#x119">picture/picture.cpp</a>.
+<h3 class=fn>void <a name="setBrush"></a>QPainter::setBrush ( <a href="qt.html#BrushStyle-enum">BrushStyle</a>&nbsp;style )
+</h3>
+Sets the painter's brush to black color and the specified <em>style</em>.
+<p> <p>See also <a href="#brush">brush</a>() and <a href="qbrush.html">QBrush</a>.
+
+<p>Examples: <a href="aclock-example.html#x1190">aclock/aclock.cpp</a>, <a href="drawdemo-example.html#x1074">drawdemo/drawdemo.cpp</a>, <a href="picture-example.html#x120">picture/picture.cpp</a>, <a href="tutorial1-10.html#x2354">t10/cannon.cpp</a>, <a href="tutorial1-09.html#x2343">t9/cannon.cpp</a>, <a href="themes-example.html#x219">themes/wood.cpp</a>, and <a href="tooltip-example.html#x445">tooltip/tooltip.cpp</a>.
+<h3 class=fn>void <a name="setBrush-2"></a>QPainter::setBrush ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;brush )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's brush to <em>brush</em>.
+<p> The <em>brush</em> defines how shapes are filled.
+<p> <p>See also <a href="#brush">brush</a>().
+
+<h3 class=fn>void <a name="setBrush-3"></a>QPainter::setBrush ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's brush to have style <a href="qt.html#BrushStyle-enum">SolidPattern</a> and the
+specified <em>color</em>.
+<p> <p>See also <a href="#brush">brush</a>() and <a href="qbrush.html">QBrush</a>.
+
+<h3 class=fn>void <a name="setBrushOrigin"></a>QPainter::setBrushOrigin ( int&nbsp;x, int&nbsp;y )
+</h3>
+Sets the brush origin to <em>(x, y)</em>.
+<p> The brush origin specifies the (0, 0) coordinate of the painter's
+brush. This setting only applies to pattern brushes and pixmap
+brushes.
+<p> <p>See also <a href="#brushOrigin">brushOrigin</a>().
+
+<h3 class=fn>void <a name="setBrushOrigin-2"></a>QPainter::setBrushOrigin ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the brush origin to point <em>p</em>.
+
+<h3 class=fn>void <a name="setClipRect"></a>QPainter::setClipRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;m = CoordDevice )
+</h3>
+
+<p> Sets the clip region to the rectangle <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em> and
+enables clipping. The clip mode is set to <em>m</em>.
+<p> If <em>m</em> is <a href="#CoordinateMode-enum">CoordDevice</a> (the default), the coordinates given for
+the clip region are taken to be physical device coordinates and
+are <em>not</em> subject to any <a href="coordsys.html">coordinate
+ transformations</a>. If <em>m</em> is <a href="#CoordinateMode-enum">CoordPainter</a>, the
+coordinates given for the clip region are taken to be model
+coordinates.
+<p> <p>See also <a href="#setClipRegion">setClipRegion</a>(), <a href="#clipRegion">clipRegion</a>(), <a href="#setClipping">setClipping</a>(), and <a href="#CoordinateMode-enum">QPainter::CoordinateMode</a>.
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2762">grapher/grapher.cpp</a>, <a href="progress-example.html#x77">progress/progress.cpp</a>, <a href="showimg-example.html#x1339">showimg/showimg.cpp</a>, <a href="splitter-example.html#x1298">splitter/splitter.cpp</a>, and <a href="trivial-nsplugin-example.html#x2739">trivial/trivial.cpp</a>.
+<h3 class=fn>void <a name="setClipRect-2"></a>QPainter::setClipRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;m = CoordDevice )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the clip region to the rectangle <em>r</em> and enables clipping.
+The clip mode is set to <em>m</em>.
+<p> <p>See also <a href="#CoordinateMode-enum">CoordinateMode</a>.
+
+<h3 class=fn>void <a name="setClipRegion"></a>QPainter::setClipRegion ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;rgn, <a href="qpainter.html#CoordinateMode-enum">CoordinateMode</a>&nbsp;m = CoordDevice )
+</h3>
+Sets the clip region to <em>rgn</em> and enables clipping. The clip mode
+is set to <em>m</em>.
+<p> Note that the clip region is given in physical device coordinates
+and <em>not</em> subject to any <a href="coordsys.html">coordinate
+ transformation.</a>
+<p> <p>See also <a href="#setClipRect">setClipRect</a>(), <a href="#clipRegion">clipRegion</a>(), <a href="#setClipping">setClipping</a>(), and <a href="#CoordinateMode-enum">CoordinateMode</a>.
+
+<p>Examples: <a href="qfd-example.html#x1999">qfd/fontdisplayer.cpp</a> and <a href="themes-example.html#x220">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setClipping"></a>QPainter::setClipping ( bool&nbsp;enable )
+</h3>
+Enables clipping if <em>enable</em> is TRUE, or disables clipping if <em>enable</em> is FALSE.
+<p> <p>See also <a href="#hasClipping">hasClipping</a>(), <a href="#setClipRect">setClipRect</a>(), and <a href="#setClipRegion">setClipRegion</a>().
+
+<p>Example: <a href="themes-example.html#x221">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setFont"></a>QPainter::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3>
+Sets the painter's font to <em>font</em>.
+<p> This font is used by subsequent <a href="#drawText">drawText</a>() functions. The text
+color is the same as the pen color.
+<p> <p>See also <a href="#font">font</a>() and <a href="#drawText">drawText</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1075">drawdemo/drawdemo.cpp</a>, <a href="grapher-nsplugin-example.html#x2763">grapher/grapher.cpp</a>, <a href="hello-example.html#x1636">hello/hello.cpp</a>, <a href="picture-example.html#x121">picture/picture.cpp</a>, <a href="qwerty-example.html#x385">qwerty/qwerty.cpp</a>, <a href="tutorial1-13.html#x2403">t13/cannon.cpp</a>, and <a href="xform-example.html#x1240">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setPen"></a>QPainter::setPen ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;pen )
+</h3>
+Sets a new painter pen.
+<p> The <em>pen</em> defines how to draw lines and outlines, and it also
+defines the text color.
+<p> <p>See also <a href="#pen">pen</a>().
+
+<p>Examples: <a href="desktop-example.html#x1741">desktop/desktop.cpp</a>, <a href="drawdemo-example.html#x1076">drawdemo/drawdemo.cpp</a>, <a href="qaxserver-example-multiple.html#x2547">multiple/ax2.h</a>, <a href="progress-example.html#x78">progress/progress.cpp</a>, <a href="tutorial1-09.html#x2344">t9/cannon.cpp</a>, <a href="themes-example.html#x288">themes/metal.cpp</a>, and <a href="themes-example.html#x222">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setPen-2"></a>QPainter::setPen ( <a href="qt.html#PenStyle-enum">PenStyle</a>&nbsp;style )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's pen to have style <em>style</em>, width 0 and black
+color.
+<p> <p>See also <a href="#pen">pen</a>() and <a href="qpen.html">QPen</a>.
+
+<h3 class=fn>void <a name="setPen-3"></a>QPainter::setPen ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's pen to have style <a href="qt.html#PenStyle-enum">SolidLine</a>, width 0 and the
+specified <em>color</em>.
+<p> <p>See also <a href="#pen">pen</a>() and <a href="qpen.html">QPen</a>.
+
+<h3 class=fn>void <a name="setRasterOp"></a>QPainter::setRasterOp ( <a href="qt.html#RasterOp-enum">RasterOp</a>&nbsp;r )
+</h3>
+Sets the <a href="qt.html#RasterOp-enum">raster operation</a> to <em>r</em>.
+The default is <a href="qt.html#RasterOp-enum">CopyROP</a>.
+<p> <p>See also <a href="#rasterOp">rasterOp</a>() and <a href="qt.html#RasterOp-enum">Qt::RasterOp</a>.
+
+<h3 class=fn>void <a name="setTabArray"></a>QPainter::setTabArray ( int&nbsp;*&nbsp;ta )
+</h3>
+Sets the tab stop array to <em>ta</em>. This puts tab stops at <em>ta[0]</em>,
+<em>ta[1]</em> and so on. The array is null-terminated.
+<p> If both a tab array and a tab top size is set, the tab array wins.
+<p> <p>See also <a href="#tabArray">tabArray</a>(), <a href="#setTabStops">setTabStops</a>(), <a href="#drawText">drawText</a>(), and <a href="#fontMetrics">fontMetrics</a>().
+
+<h3 class=fn>void <a name="setTabStops"></a>QPainter::setTabStops ( int&nbsp;ts )
+</h3>
+Set the tab stop width to <em>ts</em>, i.e. locates tab stops at <em>ts</em>,
+2*<em>ts</em>, 3*<em>ts</em> and so on.
+<p> Tab stops are used when drawing formatted text with <a href="qt.html#TextFlags-enum">ExpandTabs</a>
+set. This fixed tab stop value is used only if no tab array is set
+(which is the default case).
+<p> A value of 0 (the default) implies a tabstop setting of 8 times the width of the
+character 'x' in the font currently set on the painter.
+<p> <p>See also <a href="#tabStops">tabStops</a>(), <a href="#setTabArray">setTabArray</a>(), <a href="#drawText">drawText</a>(), and <a href="#fontMetrics">fontMetrics</a>().
+
+<h3 class=fn>void <a name="setViewXForm"></a>QPainter::setViewXForm ( bool&nbsp;enable )
+</h3>
+Enables view transformations if <em>enable</em> is TRUE, or disables
+view transformations if <em>enable</em> is FALSE.
+<p> <p>See also <a href="#hasViewXForm">hasViewXForm</a>(), <a href="#setWindow">setWindow</a>(), <a href="#setViewport">setViewport</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), <a href="#setWorldXForm">setWorldXForm</a>(), and <a href="#xForm">xForm</a>().
+
+<h3 class=fn>void <a name="setViewport"></a>QPainter::setViewport ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Sets the viewport rectangle view transformation for the painter
+and enables view transformation.
+<p> The viewport rectangle is part of the view transformation. The
+viewport specifies the device coordinate system and is specified
+by the <em>x</em>, <em>y</em>, <em>w</em> width and <em>h</em> height parameters. Its
+sister, the <a href="#window">window</a>(), specifies the logical coordinate system.
+<p> The default viewport rectangle is the same as the device's
+rectangle. See the <a href="coordsys.html">Coordinate System Overview</a> for an overview of coordinate transformation.
+<p> <p>See also <a href="#viewport">viewport</a>(), <a href="#setWindow">setWindow</a>(), <a href="#setViewXForm">setViewXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), <a href="#setWorldXForm">setWorldXForm</a>(), and <a href="#xForm">xForm</a>().
+
+<p>Example: <a href="coordsys.html#x2276">aclock/aclock.cpp</a>.
+<h3 class=fn>void <a name="setViewport-2"></a>QPainter::setViewport ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's viewport to rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="setWindow"></a>QPainter::setWindow ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Sets the window rectangle view transformation for the painter and
+enables view transformation.
+<p> The window rectangle is part of the view transformation. The
+window specifies the logical coordinate system and is specified by
+the <em>x</em>, <em>y</em>, <em>w</em> width and <em>h</em> height parameters. Its sister,
+the <a href="#viewport">viewport</a>(), specifies the device coordinate system.
+<p> The default window rectangle is the same as the device's
+rectangle. See the <a href="coordsys.html">Coordinate System Overview</a> for an overview of coordinate transformation.
+<p> <p>See also <a href="#window">window</a>(), <a href="#setViewport">setViewport</a>(), <a href="#setViewXForm">setViewXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), and <a href="#setWorldXForm">setWorldXForm</a>().
+
+<p>Examples: <a href="coordsys.html#x2277">aclock/aclock.cpp</a> and <a href="drawdemo-example.html#x1077">drawdemo/drawdemo.cpp</a>.
+<h3 class=fn>void <a name="setWindow-2"></a>QPainter::setWindow ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the painter's window to rectangle <em>r</em>.
+
+<h3 class=fn>void <a name="setWorldMatrix"></a>QPainter::setWorldMatrix ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m, bool&nbsp;combine = FALSE )
+</h3>
+Sets the world <a href="qwmatrix.html#TransformationMode">transformation matrix</a> to <em>m</em> and enables world
+transformation.
+<p> If <em>combine</em> is TRUE, then <em>m</em> is combined with the current
+transformation matrix, otherwise <em>m</em> replaces the current
+transformation matrix.
+<p> If <em>m</em> is the identity matrix and <em>combine</em> is FALSE, this
+function calls <a href="#setWorldXForm">setWorldXForm</a>(FALSE). (The identity matrix is the
+matrix where <a href="qwmatrix.html#m11">QWMatrix::m11</a>() and <a href="qwmatrix.html#m22">QWMatrix::m22</a>() are 1.0 and the
+rest are 0.0.)
+<p> World transformations are applied after the view transformations
+(i.e. <a href="#setWindow">window</a> and <a href="#setViewport">viewport</a>).
+<p> The following functions can transform the coordinate system without using
+a QWMatrix:
+<ul>
+<li> <a href="#translate">translate</a>()
+<li> <a href="#scale">scale</a>()
+<li> <a href="#shear">shear</a>()
+<li> <a href="#rotate">rotate</a>()
+</ul>
+<p> They operate on the painter's <a href="#worldMatrix">worldMatrix</a>() and are implemented like this:
+<p> <pre>
+ void QPainter::rotate( double a )
+ {
+ <a href="qwmatrix.html">QWMatrix</a> m;
+ m.<a href="qwmatrix.html#rotate">rotate</a>( a );
+ <a href="#setWorldMatrix">setWorldMatrix</a>( m, TRUE );
+ }
+ </pre>
+
+<p> Note that you should always use <em>combine</em> when you are drawing
+into a <a href="qpicture.html">QPicture</a>. Otherwise it may not be possible to replay the
+picture with additional transformations. Using translate(),
+scale(), etc., is safe.
+<p> For a brief overview of coordinate transformation, see the <a href="coordsys.html">Coordinate System Overview.</a>
+<p> <p>See also <a href="#worldMatrix">worldMatrix</a>(), <a href="#setWorldXForm">setWorldXForm</a>(), <a href="#setWindow">setWindow</a>(), <a href="#setViewport">setViewport</a>(), <a href="#setViewXForm">setViewXForm</a>(), <a href="#xForm">xForm</a>(), and <a href="qwmatrix.html">QWMatrix</a>.
+
+<p>Examples: <a href="drawdemo-example.html#x1078">drawdemo/drawdemo.cpp</a> and <a href="xform-example.html#x1242">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setWorldXForm"></a>QPainter::setWorldXForm ( bool&nbsp;enable )
+</h3>
+Enables world transformations if <em>enable</em> is TRUE, or disables
+world transformations if <em>enable</em> is FALSE. The world
+<a href="qwmatrix.html#TransformationMode">transformation matrix</a> is not changed.
+<p> <p>See also <a href="#setWorldMatrix">setWorldMatrix</a>(), <a href="#setWindow">setWindow</a>(), <a href="#setViewport">setViewport</a>(), <a href="#setViewXForm">setViewXForm</a>(), and <a href="#xForm">xForm</a>().
+
+<h3 class=fn>void <a name="shear"></a>QPainter::shear ( double&nbsp;sh, double&nbsp;sv )
+</h3>
+Shears the coordinate system by <em>(sh, sv)</em>.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#scale">scale</a>(), <a href="#rotate">rotate</a>(), <a href="#resetXForm">resetXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), and <a href="#xForm">xForm</a>().
+
+<h3 class=fn>int * <a name="tabArray"></a>QPainter::tabArray () const
+</h3>
+
+<p> Returns the currently set tab stop array.
+<p> <p>See also <a href="#setTabArray">setTabArray</a>().
+
+<h3 class=fn>int <a name="tabStops"></a>QPainter::tabStops () const
+</h3>
+
+<p> Returns the tab stop setting.
+<p> <p>See also <a href="#setTabStops">setTabStops</a>().
+
+<h3 class=fn>void <a name="translate"></a>QPainter::translate ( double&nbsp;dx, double&nbsp;dy )
+</h3>
+Translates the coordinate system by <em>(dx, dy)</em>. After this call,
+<em>(dx, dy)</em> is added to points.
+<p> For example, the following code draws the same point twice:
+<pre>
+ void MyWidget::paintEvent()
+ {
+ QPainter paint( this );
+
+ paint.<a href="#drawPoint">drawPoint</a>( 0, 0 );
+
+ paint.<a href="#translate">translate</a>( 100.0, 40.0 );
+ paint.<a href="#drawPoint">drawPoint</a>( -100, -40 );
+ }
+ </pre>
+
+<p> <p>See also <a href="#scale">scale</a>(), <a href="#shear">shear</a>(), <a href="#rotate">rotate</a>(), <a href="#resetXForm">resetXForm</a>(), <a href="#setWorldMatrix">setWorldMatrix</a>(), and <a href="#xForm">xForm</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1148">action/application.cpp</a>, <a href="simple-application-example.html#x1566">application/application.cpp</a>, <a href="tutorial1-10.html#x2356">t10/cannon.cpp</a>, <a href="tutorial1-09.html#x2345">t9/cannon.cpp</a>, <a href="themes-example.html#x289">themes/metal.cpp</a>, <a href="themes-example.html#x223">themes/wood.cpp</a>, and <a href="xform-example.html#x1243">xform/xform.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="viewport"></a>QPainter::viewport () const
+</h3>
+Returns the viewport rectangle.
+<p> <p>See also <a href="#setViewport">setViewport</a>() and <a href="#setViewXForm">setViewXForm</a>().
+
+<p>Example: <a href="coordsys.html#x2278">aclock/aclock.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="window"></a>QPainter::window () const
+</h3>
+Returns the window rectangle.
+<p> <p>See also <a href="#setWindow">setWindow</a>() and <a href="#setViewXForm">setViewXForm</a>().
+
+<h3 class=fn>const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="worldMatrix"></a>QPainter::worldMatrix () const
+</h3>
+Returns the world <a href="qwmatrix.html#TransformationMode">transformation matrix</a>.
+<p> <p>See also <a href="#setWorldMatrix">setWorldMatrix</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="xForm"></a>QPainter::xForm ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pv ) const
+</h3>
+Returns the point <em>pv</em> transformed from model coordinates to
+device coordinates.
+<p> <p>See also <a href="#xFormDev">xFormDev</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="xForm-2"></a>QPainter::xForm ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rv ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the rectangle <em>rv</em> transformed from model coordinates to
+device coordinates.
+<p> If world transformation is enabled and rotation or shearing has
+been specified, then the bounding rectangle is returned.
+<p> <p>See also <a href="#xFormDev">xFormDev</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="xForm-3"></a>QPainter::xForm ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;av ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point array <em>av</em> transformed from model coordinates
+to device coordinates.
+<p> <p>See also <a href="#xFormDev">xFormDev</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="xForm-4"></a>QPainter::xForm ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;av, int&nbsp;index, int&nbsp;npoints ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point array <em>av</em> transformed from model coordinates
+to device coordinates. The <em>index</em> is the first point in the
+array and <em>npoints</em> denotes the number of points to be
+transformed. If <em>npoints</em> is negative, all points from <em>av[index]</em> until the last point in the array are transformed.
+<p> The returned point array consists of the number of points that
+were transformed.
+<p> Example:
+<pre>
+ <a href="qpointarray.html">QPointArray</a> a(10);
+ <a href="qpointarray.html">QPointArray</a> b;
+ b = painter.xForm(a, 2, 4); // b.<a href="qmemarray.html#size">size</a>() == 4
+ b = painter.xForm(a, 2, -1); // b.<a href="qmemarray.html#size">size</a>() == 8
+ </pre>
+
+<p> <p>See also <a href="#xFormDev">xFormDev</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="xFormDev"></a>QPainter::xFormDev ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rd ) const
+</h3>
+Returns the rectangle <em>rd</em> transformed from device coordinates to
+model coordinates.
+<p> If world transformation is enabled and rotation or shearing is
+used, then the bounding rectangle is returned.
+<p> <p>See also <a href="#xForm">xForm</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="xFormDev-2"></a>QPainter::xFormDev ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pd ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point <em>pd</em> transformed from device coordinates to
+model coordinates.
+<p> <p>See also <a href="#xForm">xForm</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="xFormDev-3"></a>QPainter::xFormDev ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;ad ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point array <em>ad</em> transformed from device coordinates
+to model coordinates.
+<p> <p>See also <a href="#xForm">xForm</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="xFormDev-4"></a>QPainter::xFormDev ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;ad, int&nbsp;index, int&nbsp;npoints ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point array <em>ad</em> transformed from device coordinates
+to model coordinates. The <em>index</em> is the first point in the array
+and <em>npoints</em> denotes the number of points to be transformed. If
+<em>npoints</em> is negative, all points from <em>ad[index]</em> until the
+last point in the array are transformed.
+<p> The returned point array consists of the number of points that
+were transformed.
+<p> Example:
+<pre>
+ <a href="qpointarray.html">QPointArray</a> a(10);
+ <a href="qpointarray.html">QPointArray</a> b;
+ b = painter.xFormDev(a, 1, 3); // b.<a href="qmemarray.html#size">size</a>() == 3
+ b = painter.xFormDev(a, 1, -1); // b.<a href="qmemarray.html#size">size</a>() == 9
+ </pre>
+
+<p> <p>See also <a href="#xForm">xForm</a>() and <a href="qwmatrix.html#map">QWMatrix::map</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="qDrawPlainRect"></a>qDrawPlainRect ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c, int&nbsp;lineWidth, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;fill )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws the plain rectangle specified by (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>)
+using the painter <em>p</em>.
+<p> The color argument <em>c</em> specifies the line color.
+<p> The <em>lineWidth</em> argument specifies the line width.
+<p> The rectangle's interior is filled with the <em>fill</em> brush unless
+<em>fill</em> is 0.
+<p> If you want to use a <a href="qframe.html">QFrame</a> widget instead, you can make it
+display a plain rectangle, for example <tt>QFrame::setFrameStyle( QFrame::Box | QFrame::Plain )</tt>.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawShadeRect">qDrawShadeRect</a>() and <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<h3 class=fn>void <a name="qDrawShadeLine"></a>qDrawShadeLine ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x1, int&nbsp;y1, int&nbsp;x2, int&nbsp;y2, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, int&nbsp;midLineWidth )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws a horizontal (<em>y1</em> == <em>y2</em>) or vertical (<em>x1</em> == <em>x2</em>)
+shaded line using the painter <em>p</em>.
+<p> Nothing is drawn if <em>y1</em> != <em>y2</em> and <em>x1</em> != <em>x2</em> (i.e. the
+line is neither horizontal nor vertical).
+<p> The color group argument <em>g</em> specifies the shading colors (<a href="qcolorgroup.html#light">light</a>, <a href="qcolorgroup.html#dark">dark</a> and <a href="qcolorgroup.html#mid">middle</a> colors).
+<p> The line appears sunken if <em>sunken</em> is TRUE, or raised if <em>sunken</em> is FALSE.
+<p> The <em>lineWidth</em> argument specifies the line width for each of the
+lines. It is not the total line width.
+<p> The <em>midLineWidth</em> argument specifies the width of a middle line
+drawn in the <a href="qcolorgroup.html#mid">QColorGroup::mid</a>() color.
+<p> If you want to use a <a href="qframe.html">QFrame</a> widget instead, you can make it
+display a shaded line, for example <tt>QFrame::setFrameStyle( QFrame::HLine | QFrame::Sunken )</tt>.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawShadeRect">qDrawShadeRect</a>(), <a href="#qDrawShadePanel">qDrawShadePanel</a>(), and <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<h3 class=fn>void <a name="qDrawShadePanel"></a>qDrawShadePanel ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;fill )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws the shaded panel specified by (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>) using
+the painter <em>p</em>.
+<p> The color group argument <em>g</em> specifies the shading colors (<a href="qcolorgroup.html#light">light</a>, <a href="qcolorgroup.html#dark">dark</a> and <a href="qcolorgroup.html#mid">middle</a> colors).
+<p> The panel appears sunken if <em>sunken</em> is TRUE, or raised if <em>sunken</em> is FALSE.
+<p> The <em>lineWidth</em> argument specifies the line width.
+<p> The panel's interior is filled with the <em>fill</em> brush unless <em>fill</em> is 0.
+<p> If you want to use a <a href="qframe.html">QFrame</a> widget instead, you can make it
+display a shaded panel, for example <tt>QFrame::setFrameStyle( QFrame::Panel | QFrame::Sunken )</tt>.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawWinPanel">qDrawWinPanel</a>(), <a href="#qDrawShadeLine">qDrawShadeLine</a>(), <a href="#qDrawShadeRect">qDrawShadeRect</a>(), and <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<h3 class=fn>void <a name="qDrawShadeRect"></a>qDrawShadeRect ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, int&nbsp;lineWidth, int&nbsp;midLineWidth, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;fill )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws the shaded rectangle specified by (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>)
+using the painter <em>p</em>.
+<p> The color group argument <em>g</em> specifies the shading colors (<a href="qcolorgroup.html#light">light</a>, <a href="qcolorgroup.html#dark">dark</a> and <a href="qcolorgroup.html#mid">middle</a> colors).
+<p> The rectangle appears sunken if <em>sunken</em> is TRUE, or raised if <em>sunken</em> is FALSE.
+<p> The <em>lineWidth</em> argument specifies the line width for each of the
+lines. It is not the total line width.
+<p> The <em>midLineWidth</em> argument specifies the width of a middle line
+drawn in the <a href="qcolorgroup.html#mid">QColorGroup::mid</a>() color.
+<p> The rectangle's interior is filled with the <em>fill</em> brush unless
+<em>fill</em> is 0.
+<p> If you want to use a <a href="qframe.html">QFrame</a> widget instead, you can make it
+display a shaded rectangle, for example <tt>QFrame::setFrameStyle( QFrame::Box | QFrame::Raised )</tt>.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawShadeLine">qDrawShadeLine</a>(), <a href="#qDrawShadePanel">qDrawShadePanel</a>(), <a href="#qDrawPlainRect">qDrawPlainRect</a>(), <a href="qstyle.html#drawItem">QStyle::drawItem</a>(), <a href="qstyle.html#drawControl">QStyle::drawControl</a>(), and <a href="qstyle.html#drawComplexControl">QStyle::drawComplexControl</a>().
+
+<h3 class=fn>void <a name="qDrawWinButton"></a>qDrawWinButton ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;fill )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws the Windows-style button specified by (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>) using the painter <em>p</em>.
+<p> The color group argument <em>g</em> specifies the shading colors (<a href="qcolorgroup.html#light">light</a>, <a href="qcolorgroup.html#dark">dark</a> and <a href="qcolorgroup.html#mid">middle</a> colors).
+<p> The button appears sunken if <em>sunken</em> is TRUE, or raised if <em>sunken</em> is FALSE.
+<p> The line width is 2 pixels.
+<p> The button's interior is filled with the <em>*fill</em> brush unless <em>fill</em> is 0.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawWinPanel">qDrawWinPanel</a>() and <a href="qstyle.html#drawControl">QStyle::drawControl</a>().
+
+<h3 class=fn>void <a name="qDrawWinPanel"></a>qDrawWinPanel ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;sunken, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;fill )
+</h3>
+
+<p> <tt>#include &lt;qdrawutil.h&gt;</tt>
+<p> Draws the Windows-style panel specified by (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>) using the painter <em>p</em>.
+<p> The color group argument <em>g</em> specifies the shading colors.
+<p> The panel appears sunken if <em>sunken</em> is TRUE, or raised if <em>sunken</em> is FALSE.
+<p> The line width is 2 pixels.
+<p> The button's interior is filled with the <em>fill</em> brush unless <em>fill</em> is 0.
+<p> If you want to use a <a href="qframe.html">QFrame</a> widget instead, you can make it
+display a shaded panel, for example <tt>QFrame::setFrameStyle( QFrame::WinPanel | QFrame::Raised )</tt>.
+<p> <b>Warning:</b> This function does not look at <a href="qwidget.html#style">QWidget::style</a>() or
+<a href="qapplication.html#style">QApplication::style</a>(). Use the drawing functions in <a href="qstyle.html">QStyle</a> to make
+widgets that follow the current GUI style.
+<p> <p>See also <a href="#qDrawShadePanel">qDrawShadePanel</a>(), <a href="#qDrawWinButton">qDrawWinButton</a>(), and <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintevent-members.html b/doc/html/qpaintevent-members.html
new file mode 100644
index 0000000..082d2f6
--- /dev/null
+++ b/doc/html/qpaintevent-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:323 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPaintEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpaintevent.html">QPaintEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qpaintevent.html#QPaintEvent">QPaintEvent</a>()
+<li><a href="qpaintevent.html#erased">erased</a>()
+<li><a href="qpaintevent.html#rect">rect</a>()
+<li><a href="qpaintevent.html#region">region</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpaintevent.html b/doc/html/qpaintevent.html
new file mode 100644
index 0000000..cb065ba
--- /dev/null
+++ b/doc/html/qpaintevent.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1251 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPaintEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPaintEvent Class Reference</h1>
+
+<p>The QPaintEvent class contains event parameters for paint events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qpaintevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPaintEvent"><b>QPaintEvent</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;paintRegion, bool&nbsp;erased = TRUE )</li>
+<li class=fn><a href="#QPaintEvent-2"><b>QPaintEvent</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;paintRect, bool&nbsp;erased = TRUE )</li>
+<li class=fn><a href="#QPaintEvent-3"><b>QPaintEvent</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;paintRegion, const&nbsp;QRect&nbsp;&amp;&nbsp;paintRect, bool&nbsp;erased = TRUE )</li>
+<li class=fn>const QRect &amp; <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>const QRegion &amp; <a href="#region"><b>region</b></a> () const</li>
+<li class=fn>bool <a href="#erased"><b>erased</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPaintEvent class contains event parameters for paint events.
+<p>
+<p> Paint events are sent to widgets that need to update themselves,
+for instance when part of a widget is exposed because a covering
+widget is moved.
+<p> The event contains a <a href="#region">region</a>() that needs to be updated, and a
+<a href="#rect">rect</a>() that is the bounding rectangle of that region. Both are
+provided because many widgets can't make much use of region(), and
+rect() can be much faster than region().boundingRect(). Painting
+is clipped to region() during processing of a paint event.
+<p> The <a href="#erased">erased</a>() function returns TRUE if the region() has been
+cleared to the widget's background (see
+<a href="qwidget.html#backgroundMode">QWidget::backgroundMode</a>()), and FALSE if the region's contents are
+arbitrary.
+<p> <p>See also <a href="qpainter.html">QPainter</a>, <a href="qwidget.html#update">QWidget::update</a>(), <a href="qwidget.html#repaint">QWidget::repaint</a>(), <a href="qwidget.html#paintEvent">QWidget::paintEvent</a>(), <a href="qwidget.html#backgroundMode-prop">QWidget::backgroundMode</a>, <a href="qregion.html">QRegion</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPaintEvent"></a>QPaintEvent::QPaintEvent ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;paintRegion, bool&nbsp;erased = TRUE )
+</h3>
+
+<p> Constructs a paint event object with the region that should be
+updated. The region is given by <em>paintRegion</em>. If <em>erased</em> is
+TRUE the region will be cleared before repainting.
+
+<h3 class=fn><a name="QPaintEvent-2"></a>QPaintEvent::QPaintEvent ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;paintRect, bool&nbsp;erased = TRUE )
+</h3>
+
+<p> Constructs a paint event object with the rectangle that should be
+updated. The region is also given by <em>paintRect</em>. If <em>erased</em> is
+TRUE the region will be cleared before repainting.
+
+<h3 class=fn><a name="QPaintEvent-3"></a>QPaintEvent::QPaintEvent ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;paintRegion, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;paintRect, bool&nbsp;erased = TRUE )
+</h3>
+
+<p> Constructs a paint event object with the rectangle <em>paintRect</em>
+that should be updated. The region is given by <em>paintRegion</em>. If
+<em>erased</em> is TRUE the region will be cleared before repainting.
+
+<h3 class=fn>bool <a name="erased"></a>QPaintEvent::erased () const
+</h3>
+
+<p> Returns TRUE if the paint event region (or rectangle) has been
+erased with the widget's background; otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="rect"></a>QPaintEvent::rect () const
+</h3>
+
+<p> Returns the rectangle that should be updated.
+<p> <p>See also <a href="#region">region</a>() and <a href="qpainter.html#setClipRect">QPainter::setClipRect</a>().
+
+<p>Examples: <a href="life-example.html#x1892">life/life.cpp</a>, <a href="qfd-example.html#x2001">qfd/fontdisplayer.cpp</a>, <a href="showimg-example.html#x1340">showimg/showimg.cpp</a>, <a href="tutorial1-10.html#x2357">t10/cannon.cpp</a>, <a href="tutorial1-11.html#x2369">t11/cannon.cpp</a>, <a href="tutorial1-13.html#x2405">t13/cannon.cpp</a>, and <a href="tooltip-example.html#x446">tooltip/tooltip.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="region"></a>QPaintEvent::region () const
+</h3>
+
+<p> Returns the region that should be updated.
+<p> <p>See also <a href="#rect">rect</a>() and <a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>().
+
+<p>Examples: <a href="qfd-example.html#x2002">qfd/fontdisplayer.cpp</a> and <a href="scribble-example.html#x920">scribble/scribble.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpair-h.html b/doc/html/qpair-h.html
new file mode 100644
index 0000000..7ecf1b8
--- /dev/null
+++ b/doc/html/qpair-h.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpair.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpair.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpair.h</h1>
+
+<p>This is the verbatim text of the qpair.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QPair class
+**
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPAIR_H
+#define QPAIR_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qdatastream.h"
+#endif // QT_H
+
+template &lt;class T1, class T2&gt;
+struct QPair
+{
+ typedef T1 first_type;
+ typedef T2 second_type;
+
+ QPair()
+ : first( T1() ), second( T2() )
+ {}
+ QPair( const T1&amp; t1, const T2&amp; t2 )
+ : first( t1 ), second( t2 )
+ {}
+
+ QPair&lt;T1, T2&gt;&amp; operator=(const QPair&lt;T1, T2&gt;&amp; other)
+ {
+ if (this != &amp;other) {
+ first = other.first;
+ second = other.second;
+ }
+ return *this;
+ }
+
+ T1 first;
+ T2 second;
+};
+
+template &lt;class T1, class T2&gt;
+Q_INLINE_TEMPLATES bool operator==( const QPair&lt;T1, T2&gt;&amp; x, const QPair&lt;T1, T2&gt;&amp; y )
+{
+ return x.first == y.first &amp;&amp; x.second == y.second;
+}
+
+template &lt;class T1, class T2&gt;
+Q_INLINE_TEMPLATES bool operator&lt;( const QPair&lt;T1, T2&gt;&amp; x, const QPair&lt;T1, T2&gt;&amp; y )
+{
+ return x.first &lt; y.first ||
+ ( !( y.first &lt; x.first ) &amp;&amp; x.second &lt; y.second );
+}
+
+template &lt;class T1, class T2&gt;
+Q_INLINE_TEMPLATES QPair&lt;T1, T2&gt; qMakePair( const T1&amp; x, const T2&amp; y )
+{
+ return QPair&lt;T1, T2&gt;( x, y );
+}
+
+#ifndef QT_NO_DATASTREAM
+template &lt;class T1, class T2&gt;
+inline QDataStream&amp; operator&gt;&gt;( QDataStream&amp; s, QPair&lt;T1, T2&gt;&amp; p )
+{
+ s &gt;&gt; p.first &gt;&gt; p.second;
+ return s;
+}
+
+template &lt;class T1, class T2&gt;
+inline QDataStream&amp; operator&lt;&lt;( QDataStream&amp; s, const QPair&lt;T1, T2&gt;&amp; p )
+{
+ s &lt;&lt; p.first &lt;&lt; p.second;
+ return s;
+}
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpair-members.html b/doc/html/qpair-members.html
new file mode 100644
index 0000000..0efc40f
--- /dev/null
+++ b/doc/html/qpair-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpair.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPair Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPair</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpair.html">QPair</a>, including inherited members.
+
+<ul>
+<li><a href="qpair.html#QPair">QPair</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpair.html b/doc/html/qpair.html
new file mode 100644
index 0000000..d0f7512
--- /dev/null
+++ b/doc/html/qpair.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qpair.doc:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPair Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPair Class Reference</h1>
+
+<p>The QPair class is a value-based template class that provides a pair of elements.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpair-h.html">qpair.h</a>&gt;</tt>
+<p><a href="qpair-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef T1&nbsp;<a href="#first_type"><b>first_type</b></a></li>
+<li class=fn>typedef T2&nbsp;<a href="#second_type"><b>second_type</b></a></li>
+<li class=fn><a href="#QPair"><b>QPair</b></a> ()</li>
+<li class=fn><a href="#QPair-2"><b>QPair</b></a> ( const&nbsp;T1&nbsp;&amp;&nbsp;t1, const&nbsp;T2&nbsp;&amp;&nbsp;t2 )</li>
+<li class=fn>QPair&lt;T1, T2&gt; &amp; <b>operator=</b> ( const&nbsp;QPair&lt;T1,&nbsp;T2&gt;&nbsp;&amp;&nbsp;other )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QPair <a href="#qMakePair"><b>qMakePair</b></a> ( T1&nbsp;t1, T2&nbsp;t2 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPair class is a value-based template class that provides a pair of elements.
+<p>
+
+
+<p> QPair is a Qt implementation of an STL-like pair. It can be used
+in your application if the standard pair&lt;&gt; is not available on
+your target platforms.
+<p> QPair&lt;T1, T2&gt; defines a template instance to create a pair of
+values that contains two values of type T1 and T2. Please note
+that QPair does not store pointers to the two elements; it holds a
+copy of every member. This is why these kinds of classes are
+called <em>value based</em>. If you're interested in <em>pointer based</em>
+classes see, for example, <a href="qptrlist.html">QPtrList</a> and <a href="qdict.html">QDict</a>.
+<p> QPair holds one copy of type T1 and one copy of type T2, but does
+not provide iterators to access these elements. Instead, the two
+elements (<tt>first</tt> and <tt>second</tt>) are public member variables of
+the pair. QPair owns the contained elements. For more relaxed
+ownership semantics, see <a href="qptrcollection.html">QPtrCollection</a> and friends which are
+pointer-based containers.
+<p> Some classes cannot be used within a QPair: for example, all
+classes derived from <a href="qobject.html">QObject</a> and thus all classes that implement
+widgets. Only "values" can be used in a QPair. To qualify as a
+value the class must provide:
+<p> <ul>
+<li> A copy constructor
+<li> An assignment operator
+<li> A constructor that takes no arguments
+</ul>
+<p> Note that C++ defaults to field-by-field assignment operators and
+copy constructors if no explicit version is supplied. In many
+cases this is sufficient.
+<p> QPair uses an STL-like syntax to manipulate and address the
+objects it contains. See the <a href="qtl.html">QTL
+ documentation</a> for more information.
+<p> Functions that need to return two values can use a QPair.
+<p>See also <a href="qtl.html">Qt Template Library Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="first_type"></a>QPair::first_type</h3>
+The type of the first element in the pair.
+<h3 class=fn><a name="second_type"></a>QPair::second_type</h3>
+The type of the second element in the pair.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPair"></a>QPair::QPair ()
+</h3>
+
+<p> Constructs an empty pair. The <tt>first</tt> and <tt>second</tt> elements are
+default constructed.
+
+<h3 class=fn><a name="QPair-2"></a>QPair::QPair ( const&nbsp;T1&nbsp;&amp;&nbsp;t1, const&nbsp;T2&nbsp;&amp;&nbsp;t2 )
+</h3>
+
+<p> Constructs a pair and initializes the <tt>first</tt> element with <em>t1</em>
+and the <tt>second</tt> element with <em>t2</em>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qpair.html">QPair</a> <a name="qMakePair"></a>qMakePair ( T1&nbsp;t1, T2&nbsp;t2 )
+</h3>
+
+<p>
+<p> This is a template convenience function. It is used to create a
+QPair&lt;&gt; object that contains <em>t1</em> and <em>t2</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpalette-h.html b/doc/html/qpalette-h.html
new file mode 100644
index 0000000..becc967
--- /dev/null
+++ b/doc/html/qpalette-h.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpalette.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpalette.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpalette.h</h1>
+
+<p>This is the verbatim text of the qpalette.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpalette.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QColorGroup and QPalette classes
+**
+** Created : 950323
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPALETTE_H
+#define QPALETTE_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qcolor.h"
+#include "qshared.h"
+#include "qbrush.h" // QColor-&gt;QBrush conversion
+#endif // QT_H
+
+#ifndef QT_NO_PALETTE
+
+class QColorGroupPrivate;
+
+class Q_EXPORT QColorGroup
+{
+public:
+ QColorGroup();
+ QColorGroup( const QColor &amp;foreground, const QColor &amp;button,
+ const QColor &amp;light, const QColor &amp;dark, const QColor &amp;mid,
+ const QColor &amp;text, const QColor &amp;base );
+ QColorGroup( const QBrush &amp;foreground, const QBrush &amp;button,
+ const QBrush &amp;light, const QBrush &amp;dark, const QBrush &amp;mid,
+ const QBrush &amp;text, const QBrush &amp;bright_text,
+ const QBrush &amp;base, const QBrush &amp;background);
+ QColorGroup( const QColorGroup &amp; );
+
+ ~QColorGroup();
+
+ QColorGroup&amp; operator =(const QColorGroup&amp;);
+
+ // Do not change the order, the serialization format depends on it
+ enum ColorRole { Foreground, Button, Light, Midlight, Dark, Mid,
+ Text, BrightText, ButtonText, Base, Background, Shadow,
+ Highlight, HighlightedText, Link, LinkVisited,
+ NColorRoles };
+
+ const QColor &amp;color( ColorRole ) const;
+ const QBrush &amp;brush( ColorRole ) const;
+ void setColor( ColorRole, const QColor &amp; );
+ void setBrush( ColorRole, const QBrush &amp; );
+
+ const QColor &amp;foreground() const { return br[Foreground].color(); }
+ const QColor &amp;button() const { return br[Button].color(); }
+ const QColor &amp;light() const { return br[Light].color(); }
+ const QColor &amp;dark() const { return br[Dark].color(); }
+ const QColor &amp;mid() const { return br[Mid].color(); }
+ const QColor &amp;text() const { return br[Text].color(); }
+ const QColor &amp;base() const { return br[Base].color(); }
+ const QColor &amp;background() const { return br[Background].color(); }
+
+ const QColor &amp;midlight() const { return br[Midlight].color(); }
+ const QColor &amp;brightText() const { return br[BrightText].color(); }
+ const QColor &amp;buttonText() const { return br[ButtonText].color(); }
+ const QColor &amp;shadow() const { return br[Shadow].color(); }
+ const QColor &amp;highlight() const { return br[Highlight].color(); }
+ const QColor &amp;highlightedText() const{return br[HighlightedText].color(); }
+ const QColor &amp;link() const { return br[Link].color(); }
+ const QColor &amp;linkVisited() const { return br[LinkVisited].color(); }
+
+ bool operator==( const QColorGroup &amp;g ) const;
+ bool operator!=( const QColorGroup &amp;g ) const
+ { return !(operator==(g)); }
+
+private:
+ QBrush *br;
+ QColorGroupPrivate * d;
+
+ friend class QPalette;
+};
+
+
+class Q_EXPORT QPalette
+{
+public:
+ QPalette();
+ QPalette( const QColor &amp;button );
+ QPalette( const QColor &amp;button, const QColor &amp;background );
+ QPalette( const QColorGroup &amp;active, const QColorGroup &amp;disabled,
+ const QColorGroup &amp;inactive );
+ QPalette( const QPalette &amp; );
+ ~QPalette();
+ QPalette &amp;operator=( const QPalette &amp; );
+
+ enum ColorGroup { Disabled, Active, Inactive, NColorGroups, Normal=Active };
+
+ const QColor &amp;color( ColorGroup, QColorGroup::ColorRole ) const;
+ const QBrush &amp;brush( ColorGroup, QColorGroup::ColorRole ) const;
+ void setColor( ColorGroup, QColorGroup::ColorRole, const QColor &amp; );
+ void setBrush( ColorGroup, QColorGroup::ColorRole, const QBrush &amp; );
+
+ void setColor( QColorGroup::ColorRole, const QColor &amp; );
+ void setBrush( QColorGroup::ColorRole, const QBrush &amp; );
+
+ QPalette copy() const;
+
+ const QColorGroup &amp;active() const { return data-&gt;active; }
+ const QColorGroup &amp;disabled() const { return data-&gt;disabled; }
+ const QColorGroup &amp;inactive() const { return data-&gt;inactive; }
+#ifndef QT_NO_COMPAT
+ const QColorGroup &amp;normal() const { return active(); }
+#endif
+
+ void setActive( const QColorGroup &amp; );
+ void setDisabled( const QColorGroup &amp; );
+ void setInactive( const QColorGroup &amp; );
+#ifndef QT_NO_COMPAT
+ void setNormal( const QColorGroup &amp; cg ) { setActive(cg); }
+#endif
+
+ bool operator==( const QPalette &amp;p ) const;
+ bool operator!=( const QPalette &amp;p ) const
+ { return !(operator==(p)); }
+ bool isCopyOf( const QPalette &amp; );
+
+ int serialNumber() const { return data-&gt;ser_no; }
+
+
+ static QColorGroup::ColorRole foregroundRoleFromMode( Qt::BackgroundMode mode );
+ static QColorGroup::ColorRole backgroundRoleFromMode( Qt::BackgroundMode mode);
+
+private:
+ void detach();
+ const QBrush &amp;directBrush( ColorGroup, QColorGroup::ColorRole ) const;
+ void directSetBrush( ColorGroup, QColorGroup::ColorRole, const QBrush&amp; );
+
+ struct QPalData : public QShared {
+ QColorGroup disabled;
+ QColorGroup active;
+ int ser_no;
+ QColorGroup inactive;
+ } *data;
+};
+
+
+/*****************************************************************************
+ QColorGroup/QPalette stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QColorGroup &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QColorGroup &amp; );
+
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPalette &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPalette &amp; );
+#endif // QT_NO_DATASTREAM
+
+#endif // QT_NO_PALETTE
+#endif // QPALETTE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpalette-members.html b/doc/html/qpalette-members.html
new file mode 100644
index 0000000..f748594
--- /dev/null
+++ b/doc/html/qpalette-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpalette.h:111 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPalette Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPalette</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpalette.html">QPalette</a>, including inherited members.
+
+<ul>
+<li><a href="qpalette.html#QPalette">QPalette</a>()
+<li><a href="qpalette.html#~QPalette">~QPalette</a>()
+<li><a href="qpalette.html#active">active</a>()
+<li><a href="qpalette.html#brush">brush</a>()
+<li><a href="qpalette.html#color">color</a>()
+<li><a href="qpalette.html#copy">copy</a>()
+<li><a href="qpalette.html#disabled">disabled</a>()
+<li><a href="qpalette.html#inactive">inactive</a>()
+<li><a href="qpalette.html#isCopyOf">isCopyOf</a>()
+<li><a href="qpalette.html#normal">normal</a>()
+<li><a href="qpalette.html#operator!-eq">operator!=</a>()
+<li><a href="qpalette.html#operator-eq">operator=</a>()
+<li><a href="qpalette.html#operator-eq-eq">operator==</a>()
+<li><a href="qpalette.html#serialNumber">serialNumber</a>()
+<li><a href="qpalette.html#setActive">setActive</a>()
+<li><a href="qpalette.html#setBrush">setBrush</a>()
+<li><a href="qpalette.html#setColor">setColor</a>()
+<li><a href="qpalette.html#setDisabled">setDisabled</a>()
+<li><a href="qpalette.html#setInactive">setInactive</a>()
+<li><a href="qpalette.html#setNormal">setNormal</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpalette.html b/doc/html/qpalette.html
new file mode 100644
index 0000000..4b47118
--- /dev/null
+++ b/doc/html/qpalette.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpalette.cpp:512 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPalette Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPalette Class Reference</h1>
+
+<p>The QPalette class contains color groups for each widget state.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpalette-h.html">qpalette.h</a>&gt;</tt>
+<p><a href="qpalette-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPalette"><b>QPalette</b></a> ()</li>
+<li class=fn>QPalette ( const&nbsp;QColor&nbsp;&amp;&nbsp;button ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QPalette-3"><b>QPalette</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;button, const&nbsp;QColor&nbsp;&amp;&nbsp;background )</li>
+<li class=fn><a href="#QPalette-4"><b>QPalette</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;active, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;disabled, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;inactive )</li>
+<li class=fn><a href="#QPalette-5"><b>QPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#~QPalette"><b>~QPalette</b></a> ()</li>
+<li class=fn>QPalette &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>enum <a href="#ColorGroup-enum"><b>ColorGroup</b></a> { Disabled, Active, Inactive, NColorGroups, Normal = Active }</li>
+<li class=fn>const QColor &amp; <a href="#color"><b>color</b></a> ( ColorGroup&nbsp;gr, QColorGroup::ColorRole&nbsp;r ) const</li>
+<li class=fn>const QBrush &amp; <a href="#brush"><b>brush</b></a> ( ColorGroup&nbsp;gr, QColorGroup::ColorRole&nbsp;r ) const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( ColorGroup&nbsp;gr, QColorGroup::ColorRole&nbsp;r, const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>void <a href="#setBrush"><b>setBrush</b></a> ( ColorGroup&nbsp;gr, QColorGroup::ColorRole&nbsp;r, const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>void <a href="#setColor-2"><b>setColor</b></a> ( QColorGroup::ColorRole&nbsp;r, const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>void <a href="#setBrush-2"><b>setBrush</b></a> ( QColorGroup::ColorRole&nbsp;r, const&nbsp;QBrush&nbsp;&amp;&nbsp;b )</li>
+<li class=fn>QPalette <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>const QColorGroup &amp; <a href="#active"><b>active</b></a> () const</li>
+<li class=fn>const QColorGroup &amp; <a href="#disabled"><b>disabled</b></a> () const</li>
+<li class=fn>const QColorGroup &amp; <a href="#inactive"><b>inactive</b></a> () const</li>
+<li class=fn>const QColorGroup &amp; normal () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setActive"><b>setActive</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g )</li>
+<li class=fn>void <a href="#setDisabled"><b>setDisabled</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g )</li>
+<li class=fn>void <a href="#setInactive"><b>setInactive</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g )</li>
+<li class=fn>void setNormal ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#isCopyOf"><b>isCopyOf</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>int <a href="#serialNumber"><b>serialNumber</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPalette&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QPalette class contains color groups for each widget state.
+<p>
+
+
+
+
+<p> A palette consists of three color groups: <em>active</em>, <em>disabled</em>,
+and <em>inactive</em>. All widgets contain a palette, and all widgets in
+Qt use their palette to draw themselves. This makes the user
+interface easily configurable and easier to keep consistent.
+<p> If you create a new widget we strongly recommend that you use the
+colors in the palette rather than hard-coding specific colors.
+<p> The color groups:
+<ul>
+<li> The <a href="#active">active</a>() group is used for the window that has <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<li> The <a href="#inactive">inactive</a>() group is used for other windows.
+<li> The <a href="#disabled">disabled</a>() group is used for widgets (not windows) that are
+disabled for some reason.
+</ul>
+<p> Both active and inactive windows can contain disabled widgets.
+(Disabled widgets are often called <em>inaccessible</em> or <em>grayed out</em>.)
+<p> In <a href="motif-extension.html#Motif">Motif</a> style, active() and inactive() look the same. In Windows
+2000 style and Macintosh Platinum style, the two styles look
+slightly different.
+<p> There are <a href="#setActive">setActive</a>(), <a href="#setInactive">setInactive</a>(), and <a href="#setDisabled">setDisabled</a>() functions
+to modify the palette. (Qt also supports a <a href="#normal">normal</a>() group; this is
+an obsolete alias for active(), supported for backwards
+compatibility.)
+<p> Colors and brushes can be set for particular roles in any of a
+palette's color groups with <a href="#setColor">setColor</a>() and <a href="#setBrush">setBrush</a>().
+<p> You can copy a palette using the copy constructor and test to see
+if two palettes are <em>identical</em> using <a href="#isCopyOf">isCopyOf</a>().
+<p> <p>See also <a href="qapplication.html#setPalette">QApplication::setPalette</a>(), <a href="qwidget.html#palette-prop">QWidget::palette</a>, <a href="qcolorgroup.html">QColorGroup</a>, <a href="qcolor.html">QColor</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ColorGroup-enum"></a>QPalette::ColorGroup</h3>
+
+<ul>
+<li><tt>QPalette::Disabled</tt>
+<li><tt>QPalette::Active</tt>
+<li><tt>QPalette::Inactive</tt>
+<li><tt>QPalette::NColorGroups</tt>
+<li><tt>QPalette::Normal</tt> - synonym for Active
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPalette"></a>QPalette::QPalette ()
+</h3>
+Constructs a palette that consists of color groups with only black
+colors.
+
+<h3 class=fn><a name="QPalette-2"></a>QPalette::QPalette ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;button )
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Constructs a palette from the <em>button</em> color. The other colors are
+automatically calculated, based on this color. Background will be
+the button color as well.
+
+<h3 class=fn><a name="QPalette-3"></a>QPalette::QPalette ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;button, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;background )
+</h3>
+Constructs a palette from a <em>button</em> color and a <em>background</em>.
+The other colors are automatically calculated, based on these
+colors.
+
+<h3 class=fn><a name="QPalette-4"></a>QPalette::QPalette ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;active, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;disabled, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;inactive )
+</h3>
+Constructs a palette that consists of the three color groups <em>active</em>, <em>disabled</em> and <em>inactive</em>. See the <a href="#details">Detailed Description</a> for definitions of the color groups
+and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a> for definitions of each color role
+in the three groups.
+<p> <p>See also <a href="qcolorgroup.html">QColorGroup</a> and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<h3 class=fn><a name="QPalette-5"></a>QPalette::QPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Constructs a copy of <em>p</em>.
+<p> This constructor is fast (it uses copy-on-write).
+
+<h3 class=fn><a name="~QPalette"></a>QPalette::~QPalette ()
+</h3>
+Destroys the palette.
+
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="active"></a>QPalette::active () const
+</h3>
+
+<p> Returns the active color group of this palette.
+<p> <p>See also <a href="qcolorgroup.html">QColorGroup</a>, <a href="#setActive">setActive</a>(), <a href="#inactive">inactive</a>(), and <a href="#disabled">disabled</a>().
+
+<p>Examples: <a href="themes-example.html#x290">themes/metal.cpp</a> and <a href="themes-example.html#x224">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="brush"></a>QPalette::brush ( <a href="qpalette.html#ColorGroup-enum">ColorGroup</a>&nbsp;gr, <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r ) const
+</h3>
+Returns the brush in color group <em>gr</em>, used for color role <em>r</em>.
+<p> <p>See also <a href="#color">color</a>(), <a href="#setBrush">setBrush</a>(), and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="color"></a>QPalette::color ( <a href="qpalette.html#ColorGroup-enum">ColorGroup</a>&nbsp;gr, <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r ) const
+</h3>
+Returns the color in color group <em>gr</em>, used for color role <em>r</em>.
+<p> <p>See also <a href="#brush">brush</a>(), <a href="#setColor">setColor</a>(), and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<h3 class=fn><a href="qpalette.html">QPalette</a> <a name="copy"></a>QPalette::copy () const
+</h3>
+Returns a <a href="shclass.html#deep-copy">deep copy</a> of this palette.
+<p> <b>Warning:</b> This is slower than the copy constructor and assignment
+operator and offers no benefits.
+
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="disabled"></a>QPalette::disabled () const
+</h3>
+
+<p> Returns the disabled color group of this palette.
+<p> <p>See also <a href="qcolorgroup.html">QColorGroup</a>, <a href="#setDisabled">setDisabled</a>(), <a href="#active">active</a>(), and <a href="#inactive">inactive</a>().
+
+<p>Examples: <a href="themes-example.html#x291">themes/metal.cpp</a> and <a href="themes-example.html#x225">themes/wood.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="inactive"></a>QPalette::inactive () const
+</h3>
+
+<p> Returns the inactive color group of this palette.
+<p> <p>See also <a href="qcolorgroup.html">QColorGroup</a>, <a href="#setInactive">setInactive</a>(), <a href="#active">active</a>(), and <a href="#disabled">disabled</a>().
+
+<h3 class=fn>bool <a name="isCopyOf"></a>QPalette::isCopyOf ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Returns TRUE if this palette and <em>p</em> are copies of each other,
+i.e. one of them was created as a copy of the other and neither
+was subsequently modified; otherwise returns FALSE. This is much
+stricter than equality.
+<p> <p>See also <a href="#operator-eq">operator=</a>() and <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="normal"></a>QPalette::normal () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> Returns the active color group. Use <a href="#active">active</a>() instead.
+<p> <p>See also <a href="#setActive">setActive</a>() and <a href="#active">active</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QPalette::operator!= ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+<p> Returns TRUE (slowly) if this palette is different from <em>p</em>;
+otherwise returns FALSE (usually quickly).
+
+<h3 class=fn><a href="qpalette.html">QPalette</a>&nbsp;&amp; <a name="operator-eq"></a>QPalette::operator= ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Assigns <em>p</em> to this palette and returns a reference to this
+palette.
+<p> This is fast (it uses copy-on-write).
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QPalette::operator== ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+Returns TRUE (usually quickly) if this palette is equal to <em>p</em>;
+otherwise returns FALSE (slowly).
+
+<h3 class=fn>int <a name="serialNumber"></a>QPalette::serialNumber () const
+</h3>
+
+<p> Returns a number that uniquely identifies this QPalette object.
+The serial number is intended for caching. Its value may not be
+used for anything other than equality testing.
+<p> Note that QPalette uses copy-on-write, and the serial number
+changes during the lazy copy operation (detach()), not during a
+<a href="shclass.html#shallow-copy">shallow copy</a> (copy constructor or assignment).
+<p> <p>See also <a href="qpixmap.html">QPixmap</a>, <a href="qpixmapcache.html">QPixmapCache</a>, and <a href="qcache.html">QCache</a>.
+
+<h3 class=fn>void <a name="setActive"></a>QPalette::setActive ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g )
+</h3>
+Sets the <a href="#ColorGroup-enum">Active</a> color group to <em>g</em>.
+<p> <p>See also <a href="#active">active</a>(), <a href="#setDisabled">setDisabled</a>(), <a href="#setInactive">setInactive</a>(), and <a href="qcolorgroup.html">QColorGroup</a>.
+
+<h3 class=fn>void <a name="setBrush"></a>QPalette::setBrush ( <a href="qpalette.html#ColorGroup-enum">ColorGroup</a>&nbsp;gr, <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+Sets the brush in color group <em>gr</em>, used for color role <em>r</em>, to
+<em>b</em>.
+<p> <p>See also <a href="#brush">brush</a>(), <a href="#setColor">setColor</a>(), and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<h3 class=fn>void <a name="setBrush-2"></a>QPalette::setBrush ( <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;b )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the brush in for color role <em>r</em> in all three color groups to
+<em>b</em>.
+<p> <p>See also <a href="#brush">brush</a>(), <a href="#setColor">setColor</a>(), <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>, <a href="#active">active</a>(), <a href="#inactive">inactive</a>(), and <a href="#disabled">disabled</a>().
+
+<h3 class=fn>void <a name="setColor"></a>QPalette::setColor ( <a href="qpalette.html#ColorGroup-enum">ColorGroup</a>&nbsp;gr, <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the brush in color group <em>gr</em>, used for color role <em>r</em>, to
+the solid color <em>c</em>.
+<p> <p>See also <a href="#setBrush">setBrush</a>(), <a href="#color">color</a>(), and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<p>Example: <a href="themes-example.html#x332">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="setColor-2"></a>QPalette::setColor ( <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>&nbsp;r, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the brush color used for color role <em>r</em> to color <em>c</em> in all
+three color groups.
+<p> <p>See also <a href="#color">color</a>(), <a href="#setBrush">setBrush</a>(), and <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ColorRole</a>.
+
+<h3 class=fn>void <a name="setDisabled"></a>QPalette::setDisabled ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g )
+</h3>
+Sets the <a href="#ColorGroup-enum">Disabled</a> color group to <em>g</em>.
+<p> <p>See also <a href="#disabled">disabled</a>(), <a href="#setActive">setActive</a>(), and <a href="#setInactive">setInactive</a>().
+
+<h3 class=fn>void <a name="setInactive"></a>QPalette::setInactive ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g )
+</h3>
+Sets the <a href="#ColorGroup-enum">Inactive</a> color group to <em>g</em>.
+<p> <p>See also <a href="#active">active</a>(), <a href="#setDisabled">setDisabled</a>(), <a href="#setActive">setActive</a>(), and <a href="qcolorgroup.html">QColorGroup</a>.
+
+<h3 class=fn>void <a name="setNormal"></a>QPalette::setNormal ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> Sets the active color group to <em>cg</em>. Use <a href="#setActive">setActive</a>() instead.
+<p> <p>See also <a href="#setActive">setActive</a>() and <a href="#active">active</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Writes the palette, <em>p</em> to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Reads a palette from the stream, <em>s</em> into the palette <em>p</em>, and
+returns a reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpen-h.html b/doc/html/qpen-h.html
new file mode 100644
index 0000000..e49b778
--- /dev/null
+++ b/doc/html/qpen-h.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpen.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpen.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpen.h</h1>
+
+<p>This is the verbatim text of the qpen.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpen.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPen class
+**
+** Created : 940112
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPEN_H
+#define QPEN_H
+
+#ifndef QT_H
+#include "qcolor.h"
+#include "qshared.h"
+#endif // QT_H
+
+
+class Q_EXPORT QPen: public Qt
+{
+public:
+ QPen();
+ QPen( PenStyle );
+ QPen( const QColor &amp;color, uint width=0, PenStyle style=SolidLine );
+ QPen( const QColor &amp;cl, uint w, PenStyle s, PenCapStyle c, PenJoinStyle j);
+ QPen( const QPen &amp; );
+ ~QPen();
+ QPen &amp;operator=( const QPen &amp; );
+
+ PenStyle style() const { return data-&gt;style; }
+ void setStyle( PenStyle );
+ uint width() const { return data-&gt;width; }
+ void setWidth( uint );
+ const QColor &amp;color() const { return data-&gt;color; }
+ void setColor( const QColor &amp; );
+ PenCapStyle capStyle() const;
+ void setCapStyle( PenCapStyle );
+ PenJoinStyle joinStyle() const;
+ void setJoinStyle( PenJoinStyle );
+
+ bool operator==( const QPen &amp;p ) const;
+ bool operator!=( const QPen &amp;p ) const
+ { return !(operator==(p)); }
+
+private:
+ friend class QPainter;
+#ifdef Q_WS_WIN
+ friend class QFontEngineWin;
+#endif
+
+ QPen copy() const;
+ void detach();
+ void init( const QColor &amp;, uint, uint );
+ struct QPenData : public QShared { // pen data
+ PenStyle style;
+ uint width;
+ QColor color;
+ Q_UINT16 linest;
+ } *data;
+};
+
+
+/*****************************************************************************
+ QPen stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPen &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPen &amp; );
+#endif
+
+#endif // QPEN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpen-members.html b/doc/html/qpen-members.html
new file mode 100644
index 0000000..3bc3918
--- /dev/null
+++ b/doc/html/qpen-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpen.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPen Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPen</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpen.html">QPen</a>, including inherited members.
+
+<ul>
+<li><a href="qpen.html#QPen">QPen</a>()
+<li><a href="qpen.html#~QPen">~QPen</a>()
+<li><a href="qpen.html#capStyle">capStyle</a>()
+<li><a href="qpen.html#color">color</a>()
+<li><a href="qpen.html#joinStyle">joinStyle</a>()
+<li><a href="qpen.html#operator!-eq">operator!=</a>()
+<li><a href="qpen.html#operator-eq">operator=</a>()
+<li><a href="qpen.html#operator-eq-eq">operator==</a>()
+<li><a href="qpen.html#setCapStyle">setCapStyle</a>()
+<li><a href="qpen.html#setColor">setColor</a>()
+<li><a href="qpen.html#setJoinStyle">setJoinStyle</a>()
+<li><a href="qpen.html#setStyle">setStyle</a>()
+<li><a href="qpen.html#setWidth">setWidth</a>()
+<li><a href="qpen.html#style">style</a>()
+<li><a href="qpen.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpen.html b/doc/html/qpen.html
new file mode 100644
index 0000000..ba18e6e
--- /dev/null
+++ b/doc/html/qpen.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpainter.cpp:3138 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPen Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPen Class Reference</h1>
+
+<p>The QPen class defines how a QPainter should draw lines and outlines
+of shapes.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpen-h.html">qpen.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qpen-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPen"><b>QPen</b></a> ()</li>
+<li class=fn><a href="#QPen-2"><b>QPen</b></a> ( PenStyle&nbsp;style )</li>
+<li class=fn><a href="#QPen-3"><b>QPen</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color, uint&nbsp;width = 0, PenStyle&nbsp;style = SolidLine )</li>
+<li class=fn><a href="#QPen-4"><b>QPen</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;cl, uint&nbsp;w, PenStyle&nbsp;s, PenCapStyle&nbsp;c, PenJoinStyle&nbsp;j )</li>
+<li class=fn><a href="#QPen-5"><b>QPen</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#~QPen"><b>~QPen</b></a> ()</li>
+<li class=fn>QPen &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>PenStyle <a href="#style"><b>style</b></a> () const</li>
+<li class=fn>void <a href="#setStyle"><b>setStyle</b></a> ( PenStyle&nbsp;s )</li>
+<li class=fn>uint <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>void <a href="#setWidth"><b>setWidth</b></a> ( uint&nbsp;w )</li>
+<li class=fn>const QColor &amp; <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>PenCapStyle <a href="#capStyle"><b>capStyle</b></a> () const</li>
+<li class=fn>void <a href="#setCapStyle"><b>setCapStyle</b></a> ( PenCapStyle&nbsp;c )</li>
+<li class=fn>PenJoinStyle <a href="#joinStyle"><b>joinStyle</b></a> () const</li>
+<li class=fn>void <a href="#setJoinStyle"><b>setJoinStyle</b></a> ( PenJoinStyle&nbsp;j )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;p ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPen&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPen&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPen class defines how a <a href="qpainter.html">QPainter</a> should draw lines and outlines
+of shapes.
+<p>
+
+
+
+<p> A pen has a style, width, color, cap style and join style.
+<p> The pen style defines the line type. The default pen style is <a href="qt.html#PenStyle-enum">Qt::SolidLine</a>. Setting the style to <a href="qt.html#PenStyle-enum">NoPen</a> tells the painter to
+not draw lines or outlines.
+<p> When drawing 1 pixel wide diagonal lines you can either use a very
+fast algorithm (specified by a line width of 0, which is the
+default), or a slower but more accurate algorithm (specified by a
+line width of 1). For horizontal and vertical lines a line width
+of 0 is the same as a line width of 1. The cap and join style have
+no effect on 0-width lines.
+<p> The pen color defines the color of lines and text. The default
+line color is black. The <a href="qcolor.html">QColor</a> documentation lists predefined
+colors.
+<p> The cap style defines how the end points of lines are drawn. The
+join style defines how the joins between two lines are drawn when
+multiple connected lines are drawn (<a href="qpainter.html#drawPolyline">QPainter::drawPolyline</a>()
+etc.). The cap and join styles only apply to wide lines, i.e. when
+the width is 1 or greater.
+<p> Use the <a href="qbrush.html">QBrush</a> class to specify fill styles.
+<p> Example:
+<pre>
+ <a href="qpainter.html">QPainter</a> painter;
+ QPen pen( red, 2 ); // red solid line, 2 pixels wide
+ painter.<a href="qpainter.html#begin">begin</a>( &amp;anyPaintDevice ); // paint something
+ painter.<a href="qpainter.html#setPen">setPen</a>( pen ); // set the red, wide pen
+ painter.<a href="qpainter.html#drawRect">drawRect</a>( 40,30, 200,100 ); // draw a rectangle
+ painter.<a href="qpainter.html#setPen">setPen</a>( blue ); // set blue pen, 0 pixel width
+ painter.<a href="qpainter.html#drawLine">drawLine</a>( 40,30, 240,130 ); // draw a diagonal in rectangle
+ painter.<a href="qpainter.html#end">end</a>(); // painting done
+ </pre>
+
+<p> See the <a href="qt.html#PenStyle-enum">Qt::PenStyle</a> enum type for a complete list of pen
+styles.
+<p> With reference to the end points of lines, for wide (non-0-width)
+pens it depends on the cap style whether the end point is drawn or
+not. <a href="qpainter.html">QPainter</a> will try to make sure that the end point is drawn
+for 0-width pens, but this cannot be absolutely guaranteed because
+the underlying drawing engine is free to use any (typically
+accelerated) algorithm for drawing 0-width lines. On all tested
+systems, however, the end point of at least all non-diagonal lines
+are drawn.
+<p> A pen's <a href="#color">color</a>(), <a href="#width">width</a>(), <a href="#style">style</a>(), <a href="#capStyle">capStyle</a>() and <a href="#joinStyle">joinStyle</a>() can
+be set in the constructor or later with <a href="#setColor">setColor</a>(), <a href="#setWidth">setWidth</a>(),
+<a href="#setStyle">setStyle</a>(), <a href="#setCapStyle">setCapStyle</a>() and <a href="#setJoinStyle">setJoinStyle</a>(). Pens may also be
+compared and streamed.
+<p> <center><img src="pen-styles.png" alt="Pen styles"></center>
+<p> <p>See also <a href="qpainter.html">QPainter</a>, <a href="qpainter.html#setPen">QPainter::setPen</a>(), <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPen"></a>QPen::QPen ()
+</h3>
+Constructs a default black solid line pen with 0 width, which
+renders lines 1 pixel wide (fast diagonals).
+
+<h3 class=fn><a name="QPen-2"></a>QPen::QPen ( <a href="qt.html#PenStyle-enum">PenStyle</a>&nbsp;style )
+</h3>
+Constructs a black pen with 0 width (fast diagonals) and style <em>style</em>.
+<p> <p>See also <a href="#setStyle">setStyle</a>().
+
+<h3 class=fn><a name="QPen-3"></a>QPen::QPen ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color, uint&nbsp;width = 0, <a href="qt.html#PenStyle-enum">PenStyle</a>&nbsp;style = SolidLine )
+</h3>
+Constructs a pen with the specified <em>color</em>, <em>width</em> and <em>style</em>.
+<p> <p>See also <a href="#setWidth">setWidth</a>(), <a href="#setStyle">setStyle</a>(), and <a href="#setColor">setColor</a>().
+
+<h3 class=fn><a name="QPen-4"></a>QPen::QPen ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;cl, uint&nbsp;w, <a href="qt.html#PenStyle-enum">PenStyle</a>&nbsp;s, <a href="qt.html#PenCapStyle-enum">PenCapStyle</a>&nbsp;c, <a href="qt.html#PenJoinStyle-enum">PenJoinStyle</a>&nbsp;j )
+</h3>
+Constructs a pen with the specified color <em>cl</em> and width <em>w</em>.
+The pen style is set to <em>s</em>, the pen cap style to <em>c</em> and the
+pen join style to <em>j</em>.
+<p> A line width of 0 will produce a 1 pixel wide line using a fast
+algorithm for diagonals. A line width of 1 will also produce a 1
+pixel wide line, but uses a slower more accurate algorithm for
+diagonals. For horizontal and vertical lines a line width of 0 is
+the same as a line width of 1. The cap and join style have no
+effect on 0-width lines.
+<p> <p>See also <a href="#setWidth">setWidth</a>(), <a href="#setStyle">setStyle</a>(), and <a href="#setColor">setColor</a>().
+
+<h3 class=fn><a name="QPen-5"></a>QPen::QPen ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Constructs a pen that is a copy of <em>p</em>.
+
+<h3 class=fn><a name="~QPen"></a>QPen::~QPen ()
+</h3>
+Destroys the pen.
+
+<h3 class=fn><a href="qt.html#PenCapStyle-enum">PenCapStyle</a> <a name="capStyle"></a>QPen::capStyle () const
+</h3>
+Returns the pen's cap style.
+<p> <p>See also <a href="#setCapStyle">setCapStyle</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="color"></a>QPen::color () const
+</h3>
+
+<p> Returns the pen color.
+<p> <p>See also <a href="#setColor">setColor</a>().
+
+<p>Example: <a href="scribble-example.html#x902">scribble/scribble.h</a>.
+<h3 class=fn><a href="qt.html#PenJoinStyle-enum">PenJoinStyle</a> <a name="joinStyle"></a>QPen::joinStyle () const
+</h3>
+Returns the pen's join style.
+<p> <p>See also <a href="#setJoinStyle">setJoinStyle</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QPen::operator!= ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+<p> Returns TRUE if the pen is different from <em>p</em>; otherwise returns
+FALSE.
+<p> Two pens are different if they have different styles, widths or
+colors.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn><a href="qpen.html">QPen</a>&nbsp;&amp; <a name="operator-eq"></a>QPen::operator= ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Assigns <em>p</em> to this pen and returns a reference to this pen.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QPen::operator== ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+Returns TRUE if the pen is equal to <em>p</em>; otherwise returns FALSE.
+<p> Two pens are equal if they have equal styles, widths and colors.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<h3 class=fn>void <a name="setCapStyle"></a>QPen::setCapStyle ( <a href="qt.html#PenCapStyle-enum">PenCapStyle</a>&nbsp;c )
+</h3>
+Sets the pen's cap style to <em>c</em>.
+<p> The default value is <a href="qt.html#PenCapStyle-enum">FlatCap</a>. The cap style has no effect on
+0-width pens.
+<p> <center><img src="pen-cap-styles.png" alt="Pen Cap Styles"></center>
+<p> <b>Warning:</b> On Windows 95/98 and Macintosh, the cap style setting has
+no effect. Wide lines are rendered as if the cap style was <a href="qt.html#PenCapStyle-enum">SquareCap</a>.
+<p> <p>See also <a href="#capStyle">capStyle</a>().
+
+<p>Example: <a href="themes-example.html#x226">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setColor"></a>QPen::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the pen color to <em>c</em>.
+<p> <p>See also <a href="#color">color</a>().
+
+<p>Examples: <a href="progress-example.html#x79">progress/progress.cpp</a> and <a href="scribble-example.html#x903">scribble/scribble.h</a>.
+<h3 class=fn>void <a name="setJoinStyle"></a>QPen::setJoinStyle ( <a href="qt.html#PenJoinStyle-enum">PenJoinStyle</a>&nbsp;j )
+</h3>
+Sets the pen's join style to <em>j</em>.
+<p> The default value is <a href="qt.html#PenJoinStyle-enum">MiterJoin</a>. The join style has no effect on
+0-width pens.
+<p> <center><img src="pen-join-styles.png" alt="Pen Join Styles"></center>
+<p> <b>Warning:</b> On Windows 95/98 and Macintosh, the join style setting
+has no effect. Wide lines are rendered as if the join style was <a href="qt.html#PenJoinStyle-enum">BevelJoin</a>.
+<p> <p>See also <a href="#joinStyle">joinStyle</a>().
+
+<p>Example: <a href="themes-example.html#x227">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setStyle"></a>QPen::setStyle ( <a href="qt.html#PenStyle-enum">PenStyle</a>&nbsp;s )
+</h3>
+Sets the pen style to <em>s</em>.
+<p> See the <a href="qt.html#PenStyle-enum">Qt::PenStyle</a> documentation for a list of all the
+styles.
+<p> <b>Warning:</b> On Mac OS X the style setting (other than <a href="qt.html#PenStyle-enum">NoPen</a> and <a href="qt.html#PenStyle-enum">SolidLine</a>) have no effect as they are not implemented by the
+underlying system.
+<p> <b>Warning:</b> On Windows 95/98, the style setting (other than <a href="qt.html#PenStyle-enum">NoPen</a>
+and <a href="qt.html#PenStyle-enum">SolidLine</a>) has no effect for lines with width greater than
+1.
+<p> <p>See also <a href="#style">style</a>().
+
+<p>Example: <a href="tutorial2-06.html#x2575">chart/chartform_canvas.cpp</a>.
+<h3 class=fn>void <a name="setWidth"></a>QPen::setWidth ( uint&nbsp;w )
+</h3>
+Sets the pen width to <em>w</em>.
+<p> A line width of 0 will produce a 1 pixel wide line using a fast
+algorithm for diagonals. A line width of 1 will also produce a 1
+pixel wide line, but uses a slower more accurate algorithm for
+diagonals. For horizontal and vertical lines a line width of 0 is
+the same as a line width of 1. The cap and join style have no
+effect on 0-width lines.
+<p> <p>See also <a href="#width">width</a>().
+
+<p>Examples: <a href="qaxserver-example-multiple.html#x2548">multiple/ax2.h</a>, <a href="progress-example.html#x80">progress/progress.cpp</a>, and <a href="scribble-example.html#x904">scribble/scribble.h</a>.
+<h3 class=fn><a href="qt.html#PenStyle-enum">PenStyle</a> <a name="style"></a>QPen::style () const
+</h3>
+
+<p> Returns the pen style.
+<p> <p>See also <a href="#setStyle">setStyle</a>().
+
+<h3 class=fn>uint <a name="width"></a>QPen::width () const
+</h3>
+
+<p> Returns the pen width.
+<p> <p>See also <a href="#setWidth">setWidth</a>().
+
+<p>Example: <a href="scribble-example.html#x905">scribble/scribble.h</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Writes the pen <em>p</em> to the stream <em>s</em> and returns a reference to
+the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Reads a pen from the stream <em>s</em> into <em>p</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpicture-h.html b/doc/html/qpicture-h.html
new file mode 100644
index 0000000..ce3b6ff
--- /dev/null
+++ b/doc/html/qpicture-h.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpicture.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpicture.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpicture.h</h1>
+
+<p>This is the verbatim text of the qpicture.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpicture.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPicture class
+**
+** Created : 940729
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPICTURE_H
+#define QPICTURE_H
+
+#ifndef QT_H
+#include "qpaintdevice.h"
+#include "qbuffer.h"
+#endif // QT_H
+
+#ifndef QT_NO_PICTURE
+
+class Q_EXPORT QPicture : public QPaintDevice // picture class
+{
+public:
+ QPicture( int formatVersion = -1 );
+ QPicture( const QPicture &amp; );
+ ~QPicture();
+
+ bool isNull() const;
+
+ uint size() const;
+ const char* data() const;
+ virtual void setData( const char* data, uint size );
+
+ bool play( QPainter * );
+
+ bool load( QIODevice *dev, const char *format = 0 );
+ bool load( const QString &amp;fileName, const char *format = 0 );
+ bool save( QIODevice *dev, const char *format = 0 );
+ bool save( const QString &amp;fileName, const char *format = 0 );
+
+ QRect boundingRect() const;
+ void setBoundingRect( const QRect &amp;r );
+
+ QPicture&amp; operator= (const QPicture&amp;);
+
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPicture &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPicture &amp; );
+
+protected:
+ bool cmd( int, QPainter *, QPDevCmdParam * );
+ int metric( int ) const;
+ void detach();
+ QPicture copy() const;
+
+private:
+ bool exec( QPainter *, QDataStream &amp;, int );
+
+ struct QPicturePrivate : public QShared {
+ bool cmd( int, QPainter *, QPDevCmdParam * );
+ bool checkFormat();
+ void resetFormat();
+
+ QBuffer pictb;
+ int trecs;
+ bool formatOk;
+ int formatMajor;
+ int formatMinor;
+ QRect brect;
+ } *d;
+};
+
+
+inline bool QPicture::isNull() const
+{
+ return d-&gt;pictb.buffer().isNull();
+}
+
+inline uint QPicture::size() const
+{
+ return d-&gt;pictb.buffer().size();
+}
+
+inline const char* QPicture::data() const
+{
+ return d-&gt;pictb.buffer().data();
+}
+
+/*****************************************************************************
+ QPicture stream functions
+ *****************************************************************************/
+
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPicture &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPicture &amp; );
+
+#endif // QT_NO_PICTURE
+
+#endif // QPICTURE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpicture-members.html b/doc/html/qpicture-members.html
new file mode 100644
index 0000000..cc90040
--- /dev/null
+++ b/doc/html/qpicture-members.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpicture.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPicture Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPicture</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpicture.html">QPicture</a>, including inherited members.
+
+<ul>
+<li><a href="qpicture.html#QPicture">QPicture</a>()
+<li><a href="qpicture.html#~QPicture">~QPicture</a>()
+<li><a href="qpicture.html#boundingRect">boundingRect</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qpicture.html#copy">copy</a>()
+<li><a href="qpicture.html#data">data</a>()
+<li><a href="qpicture.html#detach">detach</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpicture.html#isNull">isNull</a>()
+<li><a href="qpicture.html#load">load</a>()
+<li><a href="qpicture.html#metric">metric</a>()
+<li><a href="qpicture.html#operator-eq">operator=</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qpicture.html#play">play</a>()
+<li><a href="qpicture.html#save">save</a>()
+<li><a href="qpicture.html#setBoundingRect">setBoundingRect</a>()
+<li><a href="qpicture.html#setData">setData</a>()
+<li><a href="qpicture.html#size">size</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpicture.html b/doc/html/qpicture.html
new file mode 100644
index 0000000..8fade7b
--- /dev/null
+++ b/doc/html/qpicture.html
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpicture.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPicture Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPicture Class Reference</h1>
+
+<p>The QPicture class is a paint device that records and
+replays QPainter commands.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpicture-h.html">qpicture.h</a>&gt;</tt>
+<p>Inherits <a href="qpaintdevice.html">QPaintDevice</a>.
+<p><a href="qpicture-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPicture"><b>QPicture</b></a> ( int&nbsp;formatVersion = -1 )</li>
+<li class=fn><a href="#QPicture-2"><b>QPicture</b></a> ( const&nbsp;QPicture&nbsp;&amp;&nbsp;pic )</li>
+<li class=fn><a href="#~QPicture"><b>~QPicture</b></a> ()</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>const char * <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, uint&nbsp;size )</li>
+<li class=fn>bool <a href="#play"><b>play</b></a> ( QPainter&nbsp;*&nbsp;painter )</li>
+<li class=fn>bool <a href="#load-2"><b>load</b></a> ( QIODevice&nbsp;*&nbsp;dev, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#save-2"><b>save</b></a> ( QIODevice&nbsp;*&nbsp;dev, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>bool <a href="#save"><b>save</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )</li>
+<li class=fn>QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>void <a href="#setBoundingRect"><b>setBoundingRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QPicture &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPicture&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#metric"><b>metric</b></a> ( int&nbsp;m ) const</li>
+<li class=fn>void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>QPicture <a href="#copy"><b>copy</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPicture&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPicture&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPicture class is a paint device that records and
+replays <a href="qpainter.html">QPainter</a> commands.
+<p>
+
+
+<p> A picture serializes painter commands to an IO device in a
+platform-independent format. For example, a picture created under
+Windows can be read on a Sun SPARC.
+<p> Pictures are called meta-files on some platforms.
+<p> Qt pictures use a proprietary binary format. Unlike native picture
+(meta-file) formats on many window systems, Qt pictures have no
+limitations regarding their contents. Everything that can be
+painted can also be stored in a picture, e.g. fonts, pixmaps,
+regions, transformed graphics, etc.
+<p> QPicture is an <a href="shclass.html">implicitly shared</a> class.
+<p> Example of how to record a picture:
+<pre>
+ QPicture pic;
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( &amp;pic ); // paint in picture
+ p.<a href="qpainter.html#drawEllipse">drawEllipse</a>( 10,20, 80,70 ); // draw an ellipse
+ p.<a href="qpainter.html#end">end</a>(); // painting done
+ pic.<a href="#save">save</a>( "drawing.pic" ); // save picture
+ </pre>
+
+<p> Example of how to replay a picture:
+<pre>
+ QPicture pic;
+ pic.<a href="#load">load</a>( "drawing.pic" ); // load picture
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( &amp;myWidget ); // paint in myWidget
+ p.<a href="qpainter.html#drawPicture">drawPicture</a>( pic ); // draw the picture
+ p.<a href="qpainter.html#end">end</a>(); // painting done
+ </pre>
+
+<p> Pictures can also be drawn using <a href="#play">play</a>(). Some basic data about a
+picture is available, for example, <a href="#size">size</a>(), <a href="#isNull">isNull</a>() and
+<a href="#boundingRect">boundingRect</a>().
+<p> <p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPicture"></a>QPicture::QPicture ( int&nbsp;formatVersion = -1 )
+</h3>
+Constructs an empty picture.
+<p> The <em>formatVersion</em> parameter may be used to <em>create</em> a QPicture
+that can be read by applications that are compiled with earlier
+versions of Qt.
+<ul>
+<li> <em>formatVersion</em> == 1 is binary compatible with Qt 1.x and later.
+<li> <em>formatVersion</em> == 2 is binary compatible with Qt 2.0.x and later.
+<li> <em>formatVersion</em> == 3 is binary compatible with Qt 2.1.x and later.
+<li> <em>formatVersion</em> == 4 is binary compatible with Qt 3.0.x and later.
+<li> <em>formatVersion</em> == 5 is binary compatible with Qt 3.1.
+</ul>
+<p> Note that the default formatVersion is -1 which signifies the
+current release, i.e. for Qt 3.1 a formatVersion of 5 is the same
+as the default formatVersion of -1.
+<p> Reading pictures generated by earlier versions of Qt is supported
+and needs no special coding; the format is automatically detected.
+
+<h3 class=fn><a name="QPicture-2"></a>QPicture::QPicture ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;pic )
+</h3>
+Constructs a <a href="shclass.html">shallow copy</a> of <em>pic</em>.
+
+<h3 class=fn><a name="~QPicture"></a>QPicture::~QPicture ()
+</h3>
+Destroys the picture.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QPicture::boundingRect () const
+</h3>
+Returns the picture's bounding rectangle or an invalid rectangle
+if the picture contains no data.
+
+<h3 class=fn><a href="qpicture.html">QPicture</a> <a name="copy"></a>QPicture::copy () const<tt> [protected]</tt>
+</h3>
+Returns a <a href="shclass.html">deep copy</a> of the picture.
+
+<h3 class=fn>const char * <a name="data"></a>QPicture::data () const
+</h3>
+
+<p> Returns a pointer to the picture data. The pointer is only valid
+until the next non-const function is called on this picture. The
+returned pointer is 0 if the picture contains no data.
+<p> <p>See also <a href="#size">size</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn>void <a name="detach"></a>QPicture::detach ()<tt> [protected]</tt>
+</h3>
+Detaches from shared picture data and makes sure that this picture
+is the only one referring to the data.
+<p> If multiple pictures share common data, this picture makes a copy
+of the data and detaches itself from the sharing mechanism.
+Nothing is done if there is just a single reference.
+
+<h3 class=fn>bool <a name="isNull"></a>QPicture::isNull () const
+</h3>
+
+<p> Returns TRUE if the picture contains no data; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="load"></a>QPicture::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Loads a picture from the file specified by <em>fileName</em> and returns
+TRUE if successful; otherwise returns FALSE.
+<p> By default, the file will be interpreted as being in the native
+QPicture format. Specifying the <em>format</em> string is optional and
+is only needed for importing picture data stored in a different
+format.
+<p> Currently, the only external format supported is the <a href="http://www.w3.org/Graphics/SVG/">W3C SVG</a> format which
+requires the <a href="xml.html">Qt XML module</a>. The
+corresponding <em>format</em> string is "svg".
+<p> <p>See also <a href="#save">save</a>().
+
+<p>Examples: <a href="picture-example.html#x122">picture/picture.cpp</a> and <a href="xform-example.html#x1244">xform/xform.cpp</a>.
+<h3 class=fn>bool <a name="load-2"></a>QPicture::load ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>dev</em> is the device to use for loading.
+
+<h3 class=fn>int <a name="metric"></a>QPicture::metric ( int&nbsp;m ) const<tt> [virtual protected]</tt>
+</h3>
+Internal implementation of the virtual QPaintDevice::metric()
+function.
+<p> Use the <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> class instead.
+<p> A picture has the following hard-coded values: dpi=72,
+numcolors=16777216 and depth=24.
+<p> <em>m</em> is the metric to get.
+
+<h3 class=fn><a href="qpicture.html">QPicture</a>&nbsp;&amp; <a name="operator-eq"></a>QPicture::operator= ( const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Assigns a <a href="shclass.html">shallow copy</a> of <em>p</em> to this
+picture and returns a reference to this picture.
+
+<h3 class=fn>bool <a name="play"></a>QPicture::play ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter )
+</h3>
+Replays the picture using <em>painter</em>, and returns TRUE if
+successful; otherwise returns FALSE.
+<p> This function does exactly the same as <a href="qpainter.html#drawPicture">QPainter::drawPicture</a>()
+with (x, y) = (0, 0).
+
+<h3 class=fn>bool <a name="save"></a>QPicture::save ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+Saves a picture to the file specified by <em>fileName</em> and returns
+TRUE if successful; otherwise returns FALSE.
+<p> Specifying the file <em>format</em> string is optional. It's not
+recommended unless you intend to export the picture data for
+use by a third party reader. By default the data will be saved in
+the native QPicture file format.
+<p> Currently, the only external format supported is the <a href="http://www.w3.org/Graphics/SVG/">W3C SVG</a> format which
+requires the <a href="xml.html">Qt XML module</a>. The
+corresponding <em>format</em> string is "svg".
+<p> <p>See also <a href="#load">load</a>().
+
+<p>Example: <a href="picture-example.html#x123">picture/picture.cpp</a>.
+<h3 class=fn>bool <a name="save-2"></a>QPicture::save ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, const&nbsp;char&nbsp;*&nbsp;format = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>dev</em> is the device to use for saving.
+
+<h3 class=fn>void <a name="setBoundingRect"></a>QPicture::setBoundingRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Sets the picture's bounding rectangle to <em>r</em>. The automatically
+calculated value is overriden.
+
+<h3 class=fn>void <a name="setData"></a>QPicture::setData ( const&nbsp;char&nbsp;*&nbsp;data, uint&nbsp;size )<tt> [virtual]</tt>
+</h3>
+Sets the picture data directly from <em>data</em> and <em>size</em>. This
+function copies the input data.
+<p> <p>See also <a href="#data">data</a>() and <a href="#size">size</a>().
+
+<h3 class=fn>uint <a name="size"></a>QPicture::size () const
+</h3>
+
+<p> Returns the size of the picture data.
+<p> <p>See also <a href="#data">data</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Writes picture <em>r</em> to the stream <em>s</em> and returns a reference to
+the stream.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpicture.html">QPicture</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Reads a picture from the stream <em>s</em> into picture <em>r</em> and returns
+a reference to the stream.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmap-h.html b/doc/html/qpixmap-h.html
new file mode 100644
index 0000000..89bb9fb
--- /dev/null
+++ b/doc/html/qpixmap-h.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpixmap.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpixmap.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpixmap.h</h1>
+
+<p>This is the verbatim text of the qpixmap.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpixmap.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPixmap class
+**
+** Created : 940501
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPIXMAP_H
+#define QPIXMAP_H
+
+#ifndef QT_H
+#include "qpaintdevice.h"
+#include "qcolor.h" // char*-&gt;QColor conversion
+#include "qstring.h" // char*-&gt;QString conversion
+#include "qnamespace.h"
+#endif // QT_H
+
+class QGfx;
+class QPixmapPrivate;
+
+#if defined(Q_WS_WIN)
+// Internal pixmap memory optimization class for Windows 9x
+class QMultiCellPixmap;
+#endif
+
+
+class Q_EXPORT QPixmap : public QPaintDevice, public Qt
+{
+public:
+ enum ColorMode { Auto, Color, Mono };
+ enum Optimization { DefaultOptim, NoOptim, MemoryOptim=NoOptim,
+ NormalOptim, BestOptim };
+
+ QPixmap();
+ QPixmap( const QImage&amp; image );
+ QPixmap( int w, int h, int depth = -1, Optimization = DefaultOptim );
+ QPixmap( const QSize &amp;, int depth = -1, Optimization = DefaultOptim );
+#ifndef QT_NO_IMAGEIO
+ QPixmap( const QString&amp; fileName, const char *format=0,
+ ColorMode mode=Auto );
+ QPixmap( const QString&amp; fileName, const char *format,
+ int conversion_flags );
+ QPixmap( const char *xpm[] ); // ### in 4.0, 'const char * const xpm[]'?
+ QPixmap( const QByteArray &amp;data );
+#endif
+ QPixmap( const QPixmap &amp; );
+ ~QPixmap();
+
+ QPixmap &amp;operator=( const QPixmap &amp; );
+ QPixmap &amp;operator=( const QImage &amp; );
+
+ bool isNull() const;
+
+ int width() const { return data-&gt;w; }
+ int height() const { return data-&gt;h; }
+ QSize size() const { return QSize(data-&gt;w,data-&gt;h); }
+ QRect rect() const { return QRect(0,0,data-&gt;w,data-&gt;h); }
+ int depth() const { return data-&gt;d; }
+ static int defaultDepth();
+
+ void fill( const QColor &amp;fillColor = Qt::white );
+ void fill( const QWidget *, int xofs, int yofs );
+ void fill( const QWidget *, const QPoint &amp;ofs );
+ void resize( int width, int height );
+ void resize( const QSize &amp; );
+
+ const QBitmap *mask() const;
+ void setMask( const QBitmap &amp; );
+ bool selfMask() const;
+ bool hasAlpha() const;
+ bool hasAlphaChannel() const;
+#ifndef QT_NO_IMAGE_HEURISTIC_MASK
+ QBitmap createHeuristicMask( bool clipTight = TRUE ) const;
+#endif
+#ifndef QT_NO_MIME
+ static QPixmap fromMimeSource( const QString&amp; abs_name );
+#endif
+ static QPixmap grabWindow( WId, int x=0, int y=0, int w=-1, int h=-1 );
+ static QPixmap grabWidget( QWidget * widget,
+ int x=0, int y=0, int w=-1, int h=-1 );
+
+#ifndef QT_NO_PIXMAP_TRANSFORMATION
+ QPixmap xForm( const QWMatrix &amp; ) const;
+ static QWMatrix trueMatrix( const QWMatrix &amp;, int w, int h );
+#endif
+
+ QImage convertToImage() const;
+ bool convertFromImage( const QImage &amp;, ColorMode mode=Auto );
+ bool convertFromImage( const QImage &amp;, int conversion_flags );
+#ifndef QT_NO_IMAGEIO
+ static const char* imageFormat( const QString &amp;fileName );
+ bool load( const QString&amp; fileName, const char *format=0,
+ ColorMode mode=Auto );
+ bool load( const QString&amp; fileName, const char *format,
+ int conversion_flags );
+ bool loadFromData( const uchar *buf, uint len,
+ const char* format=0,
+ ColorMode mode=Auto );
+ bool loadFromData( const uchar *buf, uint len,
+ const char* format,
+ int conversion_flags );
+ bool loadFromData( const QByteArray &amp;data,
+ const char* format=0,
+ int conversion_flags=0 );
+ bool save( const QString&amp; fileName, const char* format, int quality = -1 ) const;
+ bool save( QIODevice* device, const char* format, int quality = -1 ) const;
+#endif
+
+#if defined(Q_WS_WIN)
+ HBITMAP hbm() const;
+#endif
+
+ int serialNumber() const;
+
+ Optimization optimization() const;
+ void setOptimization( Optimization );
+ static Optimization defaultOptimization();
+ static void setDefaultOptimization( Optimization );
+
+ virtual void detach();
+
+ bool isQBitmap() const;
+
+#if defined(Q_WS_WIN)
+ // These functions are internal and used by Windows 9x only
+ bool isMultiCellPixmap() const;
+ HDC multiCellHandle() const;
+ HBITMAP multiCellBitmap() const;
+ int multiCellOffset() const;
+ int allocCell();
+ void freeCell( bool = FALSE );
+#endif
+
+#if defined(Q_WS_QWS)
+ virtual QGfx * graphicsContext(bool clip_children=TRUE) const;
+ virtual unsigned char * scanLine(int) const;
+ virtual int bytesPerLine() const;
+ QRgb * clut() const;
+ int numCols() const;
+#elif defined(Q_WS_X11)
+ static int x11SetDefaultScreen( int screen );
+ void x11SetScreen( int screen );
+#endif
+
+#ifndef Q_QDOC
+ Q_DUMMY_COMPARISON_OPERATOR(QPixmap)
+#endif
+
+protected:
+ QPixmap( int w, int h, const uchar *data, bool isXbitmap );
+ int metric( int ) const;
+
+#if defined(Q_WS_WIN)
+ struct QMCPI { // mem optim for win9x
+ QMultiCellPixmap *mcp;
+ int offset;
+ };
+#endif
+
+ struct QPixmapData : public QShared { // internal pixmap data
+ QCOORD w, h;
+ short d;
+ uint uninit : 1;
+ uint bitmap : 1;
+ uint selfmask : 1;
+#if defined(Q_WS_WIN)
+ uint mcp : 1;
+#endif
+ int ser_no;
+ QBitmap *mask;
+#if defined(Q_WS_WIN)
+ QPixmap *maskpm;
+ union {
+ HBITMAP hbm; // if mcp == FALSE
+ QMCPI *mcpi; // if mcp == TRUE
+ } hbm_or_mcpi;
+ uchar *realAlphaBits;
+#ifdef Q_OS_TEMP
+ uchar* ppvBits; // Pointer to DIBSection bits
+#endif
+#elif defined(Q_WS_X11)
+ void *ximage;
+ void *maskgc;
+ QPixmap *alphapm;
+#elif defined(Q_WS_MAC)
+ ColorTable *clut;
+ QPixmap *alphapm;
+#elif defined(Q_WS_QWS)
+ int id; // ### should use QPaintDevice::hd, since it is there
+ QRgb * clut;
+ int numcols;
+ int rw;
+ int rh;
+ bool hasAlpha;
+#endif
+ Optimization optim;
+#if defined(Q_WS_WIN)
+ HBITMAP old_hbm;
+#endif
+ } *data;
+private:
+#ifndef QT_NO_IMAGEIO
+ bool doImageIO( QImageIO* io, int quality ) const;
+#endif
+ QPixmap( int w, int h, int depth, bool, Optimization );
+ void init( int, int, int, bool, Optimization );
+ void deref();
+ QPixmap copy( bool ignoreMask = FALSE ) const;
+#if defined(Q_WS_WIN)
+ void initAlphaPixmap( uchar *bytes, int length, struct tagBITMAPINFO *bmi );
+ void convertToAlphaPixmap( bool initAlpha=TRUE );
+ static void bitBltAlphaPixmap( QPixmap *dst, int dx, int dy,
+ const QPixmap *src, int sx, int sy,
+ int sw, int sh, bool useDstAlpha );
+#endif
+ static Optimization defOptim;
+ friend Q_EXPORT void bitBlt( QPaintDevice *, int, int,
+ const QPaintDevice *,
+ int, int, int, int, RasterOp, bool );
+ friend Q_EXPORT void bitBlt( QPaintDevice *, int, int,
+ const QImage* src,
+ int, int, int, int, int conversion_flags );
+ friend Q_EXPORT void copyBlt( QPixmap *dst, int dx, int dy,
+ const QPixmap *src, int sx, int sy,
+ int sw, int sh );
+
+#if defined(Q_WS_MAC)
+ friend void unclippedScaledBitBlt(QPaintDevice *, int, int, int, int,
+ const QPaintDevice *, int, int, int, int,
+ Qt::RasterOp, bool, bool);
+#endif
+
+ friend class QBitmap;
+ friend class QPaintDevice;
+ friend class QPainter;
+ friend class QGLWidget;
+};
+
+
+inline bool QPixmap::isNull() const
+{
+ return data-&gt;w == 0;
+}
+
+inline void QPixmap::fill( const QWidget *w, const QPoint &amp;ofs )
+{
+ fill( w, ofs.x(), ofs.y() );
+}
+
+inline void QPixmap::resize( const QSize &amp;s )
+{
+ resize( s.width(), s.height() );
+}
+
+inline const QBitmap *QPixmap::mask() const
+{
+ return data-&gt;mask;
+}
+
+inline bool QPixmap::selfMask() const
+{
+ return data-&gt;selfmask;
+}
+
+#if defined(Q_WS_WIN)
+inline HBITMAP QPixmap::hbm() const
+{
+ return data-&gt;mcp ? 0 : data-&gt;hbm_or_mcpi.hbm;
+}
+#endif
+
+inline int QPixmap::serialNumber() const
+{
+ return data-&gt;ser_no;
+}
+
+inline QPixmap::Optimization QPixmap::optimization() const
+{
+ return data-&gt;optim;
+}
+
+inline bool QPixmap::isQBitmap() const
+{
+ return data-&gt;bitmap;
+}
+
+#if defined(Q_WS_WIN)
+inline bool QPixmap::isMultiCellPixmap() const
+{
+ return data-&gt;mcp;
+}
+#endif
+
+
+/*****************************************************************************
+ QPixmap stream functions
+ *****************************************************************************/
+
+#if !defined(QT_NO_DATASTREAM) &amp;&amp; !defined(QT_NO_IMAGEIO)
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPixmap &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPixmap &amp; );
+#endif
+
+/*****************************************************************************
+ QPixmap (and QImage) helper functions
+ *****************************************************************************/
+
+#ifndef QT_NO_PIXMAP_TRANSFORMATION
+# define QT_XFORM_TYPE_MSBFIRST 0
+# define QT_XFORM_TYPE_LSBFIRST 1
+# if defined(Q_WS_WIN)
+# define QT_XFORM_TYPE_WINDOWSPIXMAP 2
+# endif
+bool qt_xForm_helper( const QWMatrix&amp;, int, int, int, uchar*, int, int, int, uchar*, int, int, int );
+#endif
+
+Q_EXPORT void copyBlt( QPixmap *dst, int dx, int dy,
+ const QPixmap *src, int sx = 0, int sy = 0,
+ int sw = -1, int sh = -1 );
+
+#endif // QPIXMAP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmap-members.html b/doc/html/qpixmap-members.html
new file mode 100644
index 0000000..3217095
--- /dev/null
+++ b/doc/html/qpixmap-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpixmap.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPixmap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPixmap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpixmap.html">QPixmap</a>, including inherited members.
+
+<ul>
+<li><a href="qpixmap.html#QPixmap">QPixmap</a>()
+<li><a href="qpixmap.html#~QPixmap">~QPixmap</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qpixmap.html#convertFromImage">convertFromImage</a>()
+<li><a href="qpixmap.html#convertToImage">convertToImage</a>()
+<li><a href="qpixmap.html#createHeuristicMask">createHeuristicMask</a>()
+<li><a href="qpixmap.html#defaultDepth">defaultDepth</a>()
+<li><a href="qpixmap.html#defaultOptimization">defaultOptimization</a>()
+<li><a href="qpixmap.html#depth">depth</a>()
+<li><a href="qpixmap.html#detach">detach</a>()
+<li><a href="qpixmap.html#fill">fill</a>()
+<li><a href="qpixmap.html#fromMimeSource">fromMimeSource</a>()
+<li><a href="qpixmap.html#grabWidget">grabWidget</a>()
+<li><a href="qpixmap.html#grabWindow">grabWindow</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpixmap.html#hasAlpha">hasAlpha</a>()
+<li><a href="qpixmap.html#hasAlphaChannel">hasAlphaChannel</a>()
+<li><a href="qpixmap.html#height">height</a>()
+<li><a href="qpixmap.html#imageFormat">imageFormat</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpixmap.html#isNull">isNull</a>()
+<li><a href="qpixmap.html#isQBitmap">isQBitmap</a>()
+<li><a href="qpixmap.html#load">load</a>()
+<li><a href="qpixmap.html#loadFromData">loadFromData</a>()
+<li><a href="qpixmap.html#mask">mask</a>()
+<li><a href="qpixmap.html#metric">metric</a>()
+<li><a href="qpixmap.html#operator-eq">operator=</a>()
+<li><a href="qpixmap.html#optimization">optimization</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qpixmap.html#rect">rect</a>()
+<li><a href="qpixmap.html#resize">resize</a>()
+<li><a href="qpixmap.html#save">save</a>()
+<li><a href="qpixmap.html#selfMask">selfMask</a>()
+<li><a href="qpixmap.html#serialNumber">serialNumber</a>()
+<li><a href="qpixmap.html#setDefaultOptimization">setDefaultOptimization</a>()
+<li><a href="qpixmap.html#setMask">setMask</a>()
+<li><a href="qpixmap.html#setOptimization">setOptimization</a>()
+<li><a href="qpixmap.html#size">size</a>()
+<li><a href="qpixmap.html#trueMatrix">trueMatrix</a>()
+<li><a href="qpixmap.html#width">width</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qpixmap.html#xForm">xForm</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmap.html b/doc/html/qpixmap.html
new file mode 100644
index 0000000..02cd79d
--- /dev/null
+++ b/doc/html/qpixmap.html
@@ -0,0 +1,825 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpixmap.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPixmap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPixmap Class Reference</h1>
+
+<p>The QPixmap class is an off-screen, pixel-based paint device.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;</tt>
+<p>Inherits <a href="qpaintdevice.html">QPaintDevice</a> and <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qbitmap.html">QBitmap</a> and <a href="qcanvaspixmap.html">QCanvasPixmap</a>.
+<p><a href="qpixmap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#ColorMode-enum"><b>ColorMode</b></a> { Auto, Color, Mono }</li>
+<li class=fn>enum <a href="#Optimization-enum"><b>Optimization</b></a> { DefaultOptim, NoOptim, MemoryOptim = NoOptim, NormalOptim, BestOptim }</li>
+<li class=fn><a href="#QPixmap"><b>QPixmap</b></a> ()</li>
+<li class=fn><a href="#QPixmap-2"><b>QPixmap</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn><a href="#QPixmap-3"><b>QPixmap</b></a> ( int&nbsp;w, int&nbsp;h, int&nbsp;depth = -1, Optimization&nbsp;optimization = DefaultOptim )</li>
+<li class=fn><a href="#QPixmap-4"><b>QPixmap</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size, int&nbsp;depth = -1, Optimization&nbsp;optimization = DefaultOptim )</li>
+<li class=fn><a href="#QPixmap-5"><b>QPixmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0, ColorMode&nbsp;mode = Auto )</li>
+<li class=fn><a href="#QPixmap-6"><b>QPixmap</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )</li>
+<li class=fn><a href="#QPixmap-7"><b>QPixmap</b></a> ( const&nbsp;char&nbsp;*&nbsp;xpm[] )</li>
+<li class=fn><a href="#QPixmap-8"><b>QPixmap</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;img_data )</li>
+<li class=fn><a href="#QPixmap-9"><b>QPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn><a href="#~QPixmap"><b>~QPixmap</b></a> ()</li>
+<li class=fn>QPixmap &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>QPixmap &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>void <a href="#fill"><b>fill</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;fillColor = Qt::white )</li>
+<li class=fn>void <a href="#fill-2"><b>fill</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;widget, int&nbsp;xofs, int&nbsp;yofs )</li>
+<li class=fn>void <a href="#fill-3"><b>fill</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QPoint&nbsp;&amp;&nbsp;ofs )</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#resize-2"><b>resize</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size )</li>
+<li class=fn>const QBitmap * <a href="#mask"><b>mask</b></a> () const</li>
+<li class=fn>void <a href="#setMask"><b>setMask</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;newmask )</li>
+<li class=fn>bool <a href="#selfMask"><b>selfMask</b></a> () const</li>
+<li class=fn>bool <a href="#hasAlpha"><b>hasAlpha</b></a> () const</li>
+<li class=fn>bool <a href="#hasAlphaChannel"><b>hasAlphaChannel</b></a> () const</li>
+<li class=fn>QBitmap <a href="#createHeuristicMask"><b>createHeuristicMask</b></a> ( bool&nbsp;clipTight = TRUE ) const</li>
+<li class=fn>QPixmap <a href="#xForm"><b>xForm</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;matrix ) const</li>
+<li class=fn>QImage <a href="#convertToImage"><b>convertToImage</b></a> () const</li>
+<li class=fn>bool <a href="#convertFromImage-2"><b>convertFromImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;image, ColorMode&nbsp;mode = Auto )</li>
+<li class=fn>bool <a href="#convertFromImage"><b>convertFromImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;img, int&nbsp;conversion_flags )</li>
+<li class=fn>bool <a href="#load-2"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0, ColorMode&nbsp;mode = Auto )</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )</li>
+<li class=fn>bool <a href="#loadFromData-2"><b>loadFromData</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format = 0, ColorMode&nbsp;mode = Auto )</li>
+<li class=fn>bool <a href="#loadFromData"><b>loadFromData</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )</li>
+<li class=fn>bool <a href="#loadFromData-3"><b>loadFromData</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;buf, const&nbsp;char&nbsp;*&nbsp;format = 0, int&nbsp;conversion_flags = 0 )</li>
+<li class=fn>bool <a href="#save"><b>save</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const</li>
+<li class=fn>bool <a href="#save-2"><b>save</b></a> ( QIODevice&nbsp;*&nbsp;device, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const</li>
+<li class=fn>int <a href="#serialNumber"><b>serialNumber</b></a> () const</li>
+<li class=fn>Optimization <a href="#optimization"><b>optimization</b></a> () const</li>
+<li class=fn>void <a href="#setOptimization"><b>setOptimization</b></a> ( Optimization&nbsp;optimization )</li>
+<li class=fn>virtual void <a href="#detach"><b>detach</b></a> ()</li>
+<li class=fn>bool <a href="#isQBitmap"><b>isQBitmap</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>int <a href="#defaultDepth"><b>defaultDepth</b></a> ()</li>
+<li class=fn>QPixmap <a href="#fromMimeSource"><b>fromMimeSource</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;abs_name )</li>
+<li class=fn>QPixmap <a href="#grabWindow"><b>grabWindow</b></a> ( WId&nbsp;window, int&nbsp;x = 0, int&nbsp;y = 0, int&nbsp;w = -1, int&nbsp;h = -1 )</li>
+<li class=fn>QPixmap <a href="#grabWidget"><b>grabWidget</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;x = 0, int&nbsp;y = 0, int&nbsp;w = -1, int&nbsp;h = -1 )</li>
+<li class=fn>QWMatrix <a href="#trueMatrix"><b>trueMatrix</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;matrix, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>const char * <a href="#imageFormat"><b>imageFormat</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>Optimization <a href="#defaultOptimization"><b>defaultOptimization</b></a> ()</li>
+<li class=fn>void <a href="#setDefaultOptimization"><b>setDefaultOptimization</b></a> ( Optimization&nbsp;optimization )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QPixmap-a"><b>QPixmap</b></a> ( int&nbsp;w, int&nbsp;h, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap )</li>
+<li class=fn>virtual int <a href="#metric"><b>metric</b></a> ( int&nbsp;m ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>void <a href="#copyBlt"><b>copyBlt</b></a> ( QPixmap&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;QPixmap&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPixmap class is an off-screen, pixel-based paint device.
+<p>
+
+
+
+<p> QPixmap is one of the two classes Qt provides for dealing with
+images; the other is <a href="qimage.html">QImage</a>. QPixmap is designed and optimized
+for drawing; QImage is designed and optimized for I/O and for
+direct pixel access/manipulation. There are (slow) functions to
+convert between QImage and QPixmap: <a href="#convertToImage">convertToImage</a>() and
+<a href="#convertFromImage">convertFromImage</a>().
+<p> One common use of the QPixmap class is to enable smooth updating
+of widgets. Whenever something complex needs to be drawn, you can
+use a pixmap to obtain flicker-free drawing, like this:
+<p> <ol type=1>
+<li> Create a pixmap with the same size as the widget.
+<li> Fill the pixmap with the widget background color.
+<li> Paint the pixmap.
+<li> <a href="qpaintdevice.html#bitBlt">bitBlt</a>() the pixmap contents onto the widget.
+</ol>
+<p> Pixel data in a pixmap is internal and is managed by the
+underlying window system. Pixels can be accessed only through
+<a href="qpainter.html">QPainter</a> functions, through bitBlt(), and by converting the
+QPixmap to a QImage.
+<p> You can easily display a QPixmap on the screen using
+<a href="qlabel.html#setPixmap">QLabel::setPixmap</a>(). For example, all the <a href="qbutton.html">QButton</a> subclasses
+support pixmap use.
+<p> The QPixmap class uses <a href="shclass.html">copy-on-write</a>,
+so it is practical to pass QPixmap objects by value.
+<p> You can retrieve the <a href="#width">width</a>(), <a href="#height">height</a>(), <a href="#depth">depth</a>() and <a href="#size">size</a>() of a
+pixmap. The enclosing rectangle is given by <a href="#rect">rect</a>(). Pixmaps can be
+filled with <a href="#fill">fill</a>() and resized with <a href="#resize">resize</a>(). You can create and
+set a mask with <a href="#createHeuristicMask">createHeuristicMask</a>() and <a href="#setMask">setMask</a>(). Use
+<a href="#selfMask">selfMask</a>() to see if the pixmap is identical to its mask.
+<p> In addition to loading a pixmap from file using <a href="#load">load</a>() you can
+also <a href="#loadFromData">loadFromData</a>(). You can control optimization with
+<a href="#setOptimization">setOptimization</a>() and obtain a transformed version of the pixmap
+using <a href="#xForm">xForm</a>()
+<p> Note regarding Windows 95 and 98: on Windows 9x the system crashes
+if you create more than about 1000 pixmaps, independent of the
+size of the pixmaps or installed RAM. Windows NT-systems (including
+2000, XP and following versions) do not have the same limitation,
+but depending on the graphics equipment the system will fail to
+allocate pixmap objects at some point (due to system running out of
+GDI resources).
+<p> Qt tries to work around the resource limitation. If you set the
+pixmap optimization to <a href="#Optimization-enum">QPixmap::MemoryOptim</a> and the width of
+your pixmap is less than or equal to 128 pixels, Qt stores the
+pixmap in a way that is very memory-efficient when there are many
+pixmaps.
+<p> If your application uses dozens or hundreds of pixmaps (for
+example on tool bar buttons and in popup menus), and you plan to
+run it on Windows 95 or Windows 98, we recommend using code like
+this:
+<p> <pre>
+ QPixmap::<a href="#setDefaultOptimization">setDefaultOptimization</a>( QPixmap::<a href="#Optimization-enum">MemoryOptim</a> );
+ while ( ... ) {
+ // load tool bar pixmaps etc.
+ QPixmap *pixmap = new QPixmap(fileName);
+ }
+ QPixmap::<a href="#setDefaultOptimization">setDefaultOptimization</a>( QPixmap::<a href="#Optimization-enum">NormalOptim</a> );
+ </pre>
+
+<p> In general it is recommended to make as much use of QPixmap's
+<a href="shclass.html#implicit-sharing">implicit sharing</a> and the <a href="qpixmapcache.html">QPixmapCache</a> as possible.
+<p> <p>See also <a href="qbitmap.html">QBitmap</a>, <a href="qimage.html">QImage</a>, <a href="qimageio.html">QImageIO</a>, <a href="shclass.html">Shared Classes</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ColorMode-enum"></a>QPixmap::ColorMode</h3>
+
+<p> This enum type defines the color modes that exist for converting
+<a href="qimage.html">QImage</a> objects to QPixmap.
+<ul>
+<li><tt>QPixmap::Auto</tt> - Select <a href="#ColorMode-enum">Color</a> or <a href="#ColorMode-enum">Mono</a> on a case-by-case basis.
+<li><tt>QPixmap::Color</tt> - Always create colored pixmaps.
+<li><tt>QPixmap::Mono</tt> - Always create bitmaps.
+</ul>
+<h3 class=fn><a name="Optimization-enum"></a>QPixmap::Optimization</h3>
+
+<p> QPixmap has the choice of optimizing for speed or memory in a few
+places; the best choice varies from pixmap to pixmap but can
+generally be derived heuristically. This enum type defines a
+number of optimization modes that you can set for any pixmap to
+tweak the speed/memory tradeoffs:
+<ul>
+<li><tt>QPixmap::DefaultOptim</tt> - Whatever <a href="#defaultOptimization">QPixmap::defaultOptimization</a>()
+returns. A pixmap with this optimization will have whatever
+the current default optimization is. If the default
+optimization is changed using <a href="#setDefaultOptimization">setDefaultOptimization</a>(), then
+this will not effect any pixmaps that have already been
+created.
+<li><tt>QPixmap::NoOptim</tt> - No optimization (currently the same as <a href="#Optimization-enum">MemoryOptim</a>).
+<li><tt>QPixmap::MemoryOptim</tt> - Optimize for minimal memory use on Windows
+9x and X11 systems.
+<li><tt>QPixmap::NormalOptim</tt> - Optimize for typical usage. Often uses more
+memory than <a href="#Optimization-enum">MemoryOptim</a>, and is often faster.
+<li><tt>QPixmap::BestOptim</tt> - Optimize for pixmaps that are drawn very often
+and where performance is critical. Generally uses more memory
+than <a href="#Optimization-enum">NormalOptim</a> and may provide a little more speed.
+</ul><p> We recommend using <a href="#Optimization-enum">DefaultOptim</a>.
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPixmap"></a>QPixmap::QPixmap ()
+</h3>
+Constructs a null pixmap.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QPixmap-2"></a>QPixmap::QPixmap ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+Constructs a pixmap from the <a href="qimage.html">QImage</a> <em>image</em>.
+<p> <p>See also <a href="#convertFromImage">convertFromImage</a>().
+
+<h3 class=fn><a name="QPixmap-3"></a>QPixmap::QPixmap ( int&nbsp;w, int&nbsp;h, int&nbsp;depth = -1, <a href="qpixmap.html#Optimization-enum">Optimization</a>&nbsp;optimization = DefaultOptim )
+</h3>
+Constructs a pixmap with <em>w</em> width, <em>h</em> height and <em>depth</em> bits
+per pixel. The pixmap is optimized in accordance with the <em>optimization</em> value.
+<p> The contents of the pixmap is uninitialized.
+<p> The <em>depth</em> can be either 1 (monochrome) or the depth of the
+current video mode. If <em>depth</em> is negative, then the hardware
+depth of the current video mode will be used.
+<p> If either <em>w</em> or <em>h</em> is zero, a null pixmap is constructed.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#Optimization-enum">QPixmap::Optimization</a>.
+
+<h3 class=fn><a name="QPixmap-4"></a>QPixmap::QPixmap ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size, int&nbsp;depth = -1, <a href="qpixmap.html#Optimization-enum">Optimization</a>&nbsp;optimization = DefaultOptim )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a pixmap of size <em>size</em>, <em>depth</em> bits per pixel,
+optimized in accordance with the <em>optimization</em> value.
+
+<h3 class=fn><a name="QPixmap-5"></a>QPixmap::QPixmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0, <a href="qpixmap.html#ColorMode-enum">ColorMode</a>&nbsp;mode = Auto )
+</h3>
+Constructs a pixmap from the file <em>fileName</em>. If the file does
+not exist or is of an unknown format, the pixmap becomes a null
+pixmap.
+<p> The <em>fileName</em>, <em>format</em> and <em>mode</em> parameters are passed on to
+<a href="#load">load</a>(). This means that the data in <em>fileName</em> is not compiled
+into the binary. If <em>fileName</em> contains a relative path (e.g. the
+filename only) the relevant file must be found relative to the
+runtime working directory.
+<p> <p>See also <a href="#ColorMode-enum">QPixmap::ColorMode</a>, <a href="#isNull">isNull</a>(), <a href="#load">load</a>(), <a href="#loadFromData">loadFromData</a>(), <a href="#save">save</a>(), and <a href="#imageFormat">imageFormat</a>().
+
+<h3 class=fn><a name="QPixmap-6"></a>QPixmap::QPixmap ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )
+</h3>
+Constructs a pixmap from the file <em>fileName</em>. If the file does
+not exist or is of an unknown format, the pixmap becomes a null
+pixmap.
+<p> The <em>fileName</em>, <em>format</em> and <em>conversion_flags</em> parameters are
+passed on to <a href="#load">load</a>(). This means that the data in <em>fileName</em> is
+not compiled into the binary. If <em>fileName</em> contains a relative
+path (e.g. the filename only) the relevant file must be found
+relative to the runtime working directory.
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversion_flags</em> to specify how you'd prefer this to happen.
+<p> <p>See also <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>, <a href="#isNull">isNull</a>(), <a href="#load">load</a>(), <a href="#loadFromData">loadFromData</a>(), <a href="#save">save</a>(), and <a href="#imageFormat">imageFormat</a>().
+
+<h3 class=fn><a name="QPixmap-7"></a>QPixmap::QPixmap ( const&nbsp;char&nbsp;*&nbsp;xpm[] )
+</h3>
+Constructs a pixmap from <em>xpm</em>, which must be a valid XPM image.
+<p> Errors are silently ignored.
+<p> Note that it's possible to squeeze the XPM variable a little bit
+by using an unusual declaration:
+<p> <pre>
+ static const char * const start_xpm[]={
+ "16 15 8 1",
+ "a c #cec6bd",
+ ....
+ </pre>
+
+<p> The extra <tt>const</tt> makes the entire definition read-only, which is
+slightly more efficient (for example, when the code is in a shared
+library) and ROMable when the application is to be stored in ROM.
+<p> In order to use that sort of declaration you must cast the
+variable back to <tt>const char **</tt> when you create the QPixmap.
+
+<h3 class=fn><a name="QPixmap-8"></a>QPixmap::QPixmap ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;img_data )
+</h3>
+Constructs a pixmaps by loading from <em>img_data</em>. The data can be
+in any image format supported by Qt.
+<p> <p>See also <a href="#loadFromData">loadFromData</a>().
+
+<h3 class=fn><a name="QPixmap-9"></a>QPixmap::QPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Constructs a pixmap that is a copy of <em>pixmap</em>.
+
+<h3 class=fn><a name="QPixmap-a"></a>QPixmap::QPixmap ( int&nbsp;w, int&nbsp;h, const&nbsp;uchar&nbsp;*&nbsp;bits, bool&nbsp;isXbitmap )<tt> [protected]</tt>
+</h3>
+Constructs a monochrome pixmap, with width <em>w</em> and height <em>h</em>,
+that is initialized with the data in <em>bits</em>. The <em>isXbitmap</em>
+indicates whether the data is an X bitmap and defaults to FALSE.
+This constructor is protected and used by the <a href="qbitmap.html">QBitmap</a> class.
+
+<h3 class=fn><a name="~QPixmap"></a>QPixmap::~QPixmap ()
+</h3>
+Destroys the pixmap.
+
+<h3 class=fn>bool <a name="convertFromImage"></a>QPixmap::convertFromImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img, int&nbsp;conversion_flags )
+</h3>
+Converts image <em>img</em> and sets this pixmap. Returns TRUE if
+successful; otherwise returns FALSE.
+<p> The <em>conversion_flags</em> argument is a bitwise-OR of the
+<a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>. Passing 0 for <em>conversion_flags</em>
+sets all the default options.
+<p> Note that even though a QPixmap with depth 1 behaves much like a
+<a href="qbitmap.html">QBitmap</a>, <a href="#isQBitmap">isQBitmap</a>() returns FALSE.
+<p> If a pixmap with depth 1 is painted with color0 and color1 and
+converted to an image, the pixels painted with color0 will produce
+pixel index 0 in the image and those painted with color1 will
+produce pixel index 1.
+<p> <p>See also <a href="#convertToImage">convertToImage</a>(), <a href="#isQBitmap">isQBitmap</a>(), <a href="qimage.html#convertDepth">QImage::convertDepth</a>(), <a href="#defaultDepth">defaultDepth</a>(), and <a href="qimage.html#hasAlphaBuffer">QImage::hasAlphaBuffer</a>().
+
+<p>Examples: <a href="canvas-example.html#x2943">canvas/canvas.cpp</a> and <a href="themes-example.html#x228">themes/wood.cpp</a>.
+<h3 class=fn>bool <a name="convertFromImage-2"></a>QPixmap::convertFromImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image, <a href="qpixmap.html#ColorMode-enum">ColorMode</a>&nbsp;mode = Auto )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Converts <em>image</em> and sets this pixmap using color mode <em>mode</em>.
+Returns TRUE if successful; otherwise returns FALSE.
+<p> <p>See also <a href="#ColorMode-enum">QPixmap::ColorMode</a>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="convertToImage"></a>QPixmap::convertToImage () const
+</h3>
+Converts the pixmap to a <a href="qimage.html">QImage</a>. Returns a null image if it fails.
+<p> If the pixmap has 1-bit depth, the returned image will also be 1
+bit deep. If the pixmap has 2- to 8-bit depth, the returned image
+has 8-bit depth. If the pixmap has greater than 8-bit depth, the
+returned image has 32-bit depth.
+<p> Note that for the moment, alpha masks on monochrome images are
+ignored.
+<p> <p>See also <a href="#convertFromImage">convertFromImage</a>().
+
+<p>Example: <a href="qmag-example.html#x1783">qmag/qmag.cpp</a>.
+<h3 class=fn><a href="qbitmap.html">QBitmap</a> <a name="createHeuristicMask"></a>QPixmap::createHeuristicMask ( bool&nbsp;clipTight = TRUE ) const
+</h3>
+Creates and returns a heuristic mask for this pixmap. It works by
+selecting a color from one of the corners and then chipping away
+pixels of that color, starting at all the edges.
+<p> The mask may not be perfect but it should be reasonable, so you
+can do things such as the following:
+<pre>
+ pm-&gt;setMask( pm-&gt;createHeuristicMask() );
+ </pre>
+
+<p> This function is slow because it involves transformation to a
+<a href="qimage.html">QImage</a>, non-trivial computations and a transformation back to a
+<a href="qbitmap.html">QBitmap</a>.
+<p> If <em>clipTight</em> is TRUE the mask is just large enough to cover the
+pixels; otherwise, the mask is larger than the data pixels.
+<p> <p>See also <a href="qimage.html#createHeuristicMask">QImage::createHeuristicMask</a>().
+
+<h3 class=fn>int <a name="defaultDepth"></a>QPixmap::defaultDepth ()<tt> [static]</tt>
+</h3>
+Returns the default pixmap depth, i.e. the depth a pixmap gets if
+-1 is specified.
+<p> <p>See also <a href="#depth">depth</a>().
+
+<h3 class=fn><a href="qpixmap.html#Optimization-enum">Optimization</a> <a name="defaultOptimization"></a>QPixmap::defaultOptimization ()<tt> [static]</tt>
+</h3>
+Returns the default pixmap optimization setting.
+<p> <p>See also <a href="#setDefaultOptimization">setDefaultOptimization</a>(), <a href="#setOptimization">setOptimization</a>(), and <a href="#optimization">optimization</a>().
+
+<h3 class=fn>int <a name="depth"></a>QPixmap::depth () const
+</h3>
+
+<p> Returns the depth of the pixmap.
+<p> The pixmap depth is also called bits per pixel (bpp) or bit planes
+of a pixmap. A null pixmap has depth 0.
+<p> <p>See also <a href="#defaultDepth">defaultDepth</a>(), <a href="#isNull">isNull</a>(), and <a href="qimage.html#convertDepth">QImage::convertDepth</a>().
+
+<h3 class=fn>void <a name="detach"></a>QPixmap::detach ()<tt> [virtual]</tt>
+</h3>
+This is a special-purpose function that detaches the pixmap from
+shared pixmap data.
+<p> A pixmap is automatically detached by Qt whenever its contents is
+about to change. This is done in all QPixmap member functions
+that modify the pixmap (<a href="#fill">fill</a>(), <a href="#resize">resize</a>(), <a href="#convertFromImage">convertFromImage</a>(),
+<a href="#load">load</a>(), etc.), in <a href="qpaintdevice.html#bitBlt">bitBlt</a>() for the destination pixmap and in
+<a href="qpainter.html#begin">QPainter::begin</a>() on a pixmap.
+<p> It is possible to modify a pixmap without letting Qt know. You can
+first obtain the system-dependent <a href="qpaintdevice.html#handle">handle</a>() and then call
+system-specific functions (for instance, BitBlt under Windows)
+that modify the pixmap contents. In such cases, you can call
+<a href="#detach">detach</a>() to cut the pixmap loose from other pixmaps that share
+data with this one.
+<p> detach() returns immediately if there is just a single reference
+or if the pixmap has not been initialized yet.
+
+<h3 class=fn>void <a name="fill"></a>QPixmap::fill ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;fillColor = Qt::white )
+</h3>
+Fills the pixmap with the color <em>fillColor</em>.
+
+<p>Examples: <a href="tutorial2-08.html#x2606">chart/setdataform.cpp</a>, <a href="desktop-example.html#x1742">desktop/desktop.cpp</a>, <a href="grapher-nsplugin-example.html#x2765">grapher/grapher.cpp</a>, <a href="hello-example.html#x1638">hello/hello.cpp</a>, <a href="tutorial1-10.html#x2358">t10/cannon.cpp</a>, <a href="themes-example.html#x292">themes/metal.cpp</a>, and <a href="xform-example.html#x1245">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="fill-2"></a>QPixmap::fill ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;xofs, int&nbsp;yofs )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Fills the pixmap with the <em>widget</em>'s background color or pixmap.
+If the background is empty, nothing is done. <em>xofs</em>, <em>yofs</em> is
+an offset in the widget.
+
+<h3 class=fn>void <a name="fill-3"></a>QPixmap::fill ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;ofs )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Fills the pixmap with the <em>widget</em>'s background color or pixmap.
+If the background is empty, nothing is done.
+<p> The <em>ofs</em> point is an offset in the widget.
+<p> The point <em>ofs</em> is a point in the widget's coordinate system. The
+pixmap's top-left pixel will be mapped to the point <em>ofs</em> in the
+widget. This is significant if the widget has a background pixmap;
+otherwise the pixmap will simply be filled with the background
+color of the widget.
+<p> Example:
+<pre>
+ void CuteWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a href="qrect.html">QRect</a> ur = e-&gt;<a href="qpaintevent.html#rect">rect</a>(); // rectangle to update
+ QPixmap pix( ur.<a href="qrect.html#size">size</a>() ); // Pixmap for double-buffering
+ pix.<a href="#fill">fill</a>( this, ur.<a href="qrect.html#topLeft">topLeft</a>() ); // fill with widget background
+
+ <a href="qpainter.html">QPainter</a> p( &amp;pix );
+ p.<a href="qpainter.html#translate">translate</a>( -ur.<a href="qrect.html#x">x</a>(), -ur.<a href="qrect.html#y">y</a>() ); // use widget coordinate system
+ // when drawing on pixmap
+ // ... draw on pixmap ...
+
+ p.<a href="qpainter.html#end">end</a>();
+
+ <a href="qpaintdevice.html#bitBlt">bitBlt</a>( this, ur.<a href="qrect.html#topLeft">topLeft</a>(), &amp;pix );
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="fromMimeSource"></a>QPixmap::fromMimeSource ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;abs_name )<tt> [static]</tt>
+</h3> Convenience function. Gets the data associated with the absolute
+name <em>abs_name</em> from the default mime source factory and decodes it
+to a pixmap.
+<p> <p>See also <a href="qmimesourcefactory.html">QMimeSourceFactory</a>, <a href="qimage.html#fromMimeSource">QImage::fromMimeSource</a>(), and <a href="qimagedrag.html#decode">QImageDrag::decode</a>().
+
+<p>Example: <a href="qactiongroup.html#x2113">textedit/textedit.cpp</a>.
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="grabWidget"></a>QPixmap::grabWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;x = 0, int&nbsp;y = 0, int&nbsp;w = -1, int&nbsp;h = -1 )<tt> [static]</tt>
+</h3>
+Creates a pixmap and paints <em>widget</em> in it.
+<p> If the <em>widget</em> has any children, then they are also painted in
+the appropriate positions.
+<p> If you specify <em>x</em>, <em>y</em>, <em>w</em> or <em>h</em>, only the rectangle you
+specify is painted. The defaults are 0, 0 (top-left corner) and
+-1,-1 (which means the entire widget).
+<p> (If <em>w</em> is negative, the function copies everything to the right
+border of the window. If <em>h</em> is negative, the function copies
+everything to the bottom of the window.)
+<p> If <em>widget</em> is 0, or if the rectangle defined by <em>x</em>, <em>y</em>, the
+modified <em>w</em> and the modified <em>h</em> does not overlap the <em>widget</em>->rect(), this function will return a null QPixmap.
+<p> This function actually asks <em>widget</em> to paint itself (and its
+children to paint themselves). <a href="#grabWindow">QPixmap::grabWindow</a>() grabs pixels
+off the screen, which is a bit faster and picks up <em>exactly</em>
+what's on-screen. This function works by calling paintEvent() with
+painter redirection turned on. If there are overlaying windows,
+<a href="#grabWindow">grabWindow</a>() will see them, but not this function.
+<p> If there is overlap, it returns a pixmap of the size you want,
+containing a rendering of <em>widget</em>. If the rectangle you ask for
+is a superset of <em>widget</em>, the areas outside <em>widget</em> are
+covered with the widget's background.
+<p> If an error occurs when trying to grab the widget, such as the
+size of the widget being too large to fit in memory, an <a href="#isNull">isNull</a>()
+pixmap is returned.
+<p> <p>See also <a href="#grabWindow">grabWindow</a>(), <a href="qpainter.html#redirect">QPainter::redirect</a>(), and <a href="qwidget.html#paintEvent">QWidget::paintEvent</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="grabWindow"></a>QPixmap::grabWindow ( WId&nbsp;window, int&nbsp;x = 0, int&nbsp;y = 0, int&nbsp;w = -1, int&nbsp;h = -1 )<tt> [static]</tt>
+</h3>
+Grabs the contents of the window <em>window</em> and makes a pixmap out
+of it. Returns the pixmap.
+<p> The arguments <em>(x, y)</em> specify the offset in the window, whereas
+<em>(w, h)</em> specify the width and height of the area to be copied.
+<p> If <em>w</em> is negative, the function copies everything to the right
+border of the window. If <em>h</em> is negative, the function copies
+everything to the bottom of the window.
+<p> Note that <a href="#grabWindow">grabWindow</a>() grabs pixels from the screen, not from the
+window. If there is another window partially or entirely over the
+one you grab, you get pixels from the overlying window, too.
+<p> Note also that the mouse cursor is generally not grabbed.
+<p> The reason we use a window identifier and not a <a href="qwidget.html">QWidget</a> is to
+enable grabbing of windows that are not part of the application,
+window system frames, and so on.
+<p> <b>Warning:</b> Grabbing an area outside the screen is not safe in
+general. This depends on the underlying window system.
+<p> <b>Warning:</b> X11 only: If <em>window</em> is not the same depth as the root
+window and another window partially or entirely obscures the one
+you grab, you will <em>not</em> get pixels from the overlying window.
+The contests of the obscured areas in the pixmap are undefined and
+uninitialized.
+<p> <p>See also <a href="#grabWidget">grabWidget</a>().
+
+<p>Example: <a href="qmag-example.html#x1784">qmag/qmag.cpp</a>.
+<h3 class=fn>bool <a name="hasAlpha"></a>QPixmap::hasAlpha () const
+</h3>
+Returns TRUE this pixmap has an alpha channel or a mask.
+<p> <p>See also <a href="#hasAlphaChannel">hasAlphaChannel</a>() and <a href="#mask">mask</a>().
+
+<h3 class=fn>bool <a name="hasAlphaChannel"></a>QPixmap::hasAlphaChannel () const
+</h3>
+Returns TRUE if the pixmap has an alpha channel; otherwise it
+returns FALSE.
+<p> NOTE: If the pixmap has a mask but not alpha channel, this
+function returns FALSE.
+<p> <p>See also <a href="#hasAlpha">hasAlpha</a>() and <a href="#mask">mask</a>().
+
+<h3 class=fn>int <a name="height"></a>QPixmap::height () const
+</h3>
+
+<p> Returns the height of the pixmap.
+<p> <p>See also <a href="#width">width</a>(), <a href="#size">size</a>(), and <a href="#rect">rect</a>().
+
+<p>Examples: <a href="desktop-example.html#x1743">desktop/desktop.cpp</a>, <a href="movies-example.html#x510">movies/main.cpp</a>, <a href="scribble-example.html#x921">scribble/scribble.cpp</a>, <a href="scrollview-example.html#x638">scrollview/scrollview.cpp</a>, <a href="tutorial1-10.html#x2359">t10/cannon.cpp</a>, and <a href="xform-example.html#x1246">xform/xform.cpp</a>.
+<h3 class=fn>const char * <a name="imageFormat"></a>QPixmap::imageFormat ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [static]</tt>
+</h3>
+Returns a string that specifies the image format of the file <em>fileName</em>, or 0 if the file cannot be read or if the format cannot
+be recognized.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats.
+<p> <p>See also <a href="#load">load</a>() and <a href="#save">save</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QPixmap::isNull () const
+</h3>
+
+<p> Returns TRUE if this is a null pixmap; otherwise returns FALSE.
+<p> A null pixmap has zero width, zero height and no contents. You
+cannot draw in a null pixmap or <a href="qpaintdevice.html#bitBlt">bitBlt</a>() anything to it.
+<p> Resizing an existing pixmap to (0, 0) makes a pixmap into a null
+pixmap.
+<p> <p>See also <a href="#resize">resize</a>().
+
+<p>Examples: <a href="movies-example.html#x511">movies/main.cpp</a>, <a href="qdir-example.html#x1834">qdir/qdir.cpp</a>, <a href="qmag-example.html#x1785">qmag/qmag.cpp</a>, and <a href="scrollview-example.html#x639">scrollview/scrollview.cpp</a>.
+<h3 class=fn>bool <a name="isQBitmap"></a>QPixmap::isQBitmap () const
+</h3>
+
+<p> Returns TRUE if this is a <a href="qbitmap.html">QBitmap</a>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="load"></a>QPixmap::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )
+</h3>
+Loads a pixmap from the file <em>fileName</em> at runtime. Returns TRUE
+if successful; otherwise returns FALSE.
+<p> If <em>format</em> is specified, the loader attempts to read the pixmap
+using the specified format. If <em>format</em> is not specified
+(default), the loader reads a few bytes from the header to guess
+the file's format.
+<p> See the <a href="#convertFromImage">convertFromImage</a>() documentation for a description of the
+<em>conversion_flags</em> argument.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats and
+explains how to add extra formats.
+<p> <p>See also <a href="#loadFromData">loadFromData</a>(), <a href="#save">save</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qimage.html#load">QImage::load</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<p>Examples: <a href="picture-example.html#x124">picture/picture.cpp</a>, <a href="scrollview-example.html#x640">scrollview/scrollview.cpp</a>, and <a href="xform-example.html#x1247">xform/xform.cpp</a>.
+<h3 class=fn>bool <a name="load-2"></a>QPixmap::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format = 0, <a href="qpixmap.html#ColorMode-enum">ColorMode</a>&nbsp;mode = Auto )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads a pixmap from the file <em>fileName</em> at runtime.
+<p> If <em>format</em> is specified, the loader attempts to read the pixmap
+using the specified format. If <em>format</em> is not specified
+(default), the loader reads a few bytes from the header to guess
+the file's format.
+<p> The <em>mode</em> is used to specify the color mode of the pixmap.
+<p> <p>See also <a href="#ColorMode-enum">QPixmap::ColorMode</a>.
+
+<h3 class=fn>bool <a name="loadFromData"></a>QPixmap::loadFromData ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;conversion_flags )
+</h3>
+Loads a pixmap from the binary data in <em>buf</em> (<em>len</em> bytes).
+Returns TRUE if successful; otherwise returns FALSE.
+<p> If <em>format</em> is specified, the loader attempts to read the pixmap
+using the specified format. If <em>format</em> is not specified
+(default), the loader reads a few bytes from the header to guess
+the file's format.
+<p> See the <a href="#convertFromImage">convertFromImage</a>() documentation for a description of the
+<em>conversion_flags</em> argument.
+<p> The <a href="qimageio.html">QImageIO</a> documentation lists the supported image formats and
+explains how to add extra formats.
+<p> <p>See also <a href="#load">load</a>(), <a href="#save">save</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qimage.html#loadFromData">QImage::loadFromData</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<h3 class=fn>bool <a name="loadFromData-2"></a>QPixmap::loadFromData ( const&nbsp;uchar&nbsp;*&nbsp;buf, uint&nbsp;len, const&nbsp;char&nbsp;*&nbsp;format = 0, <a href="qpixmap.html#ColorMode-enum">ColorMode</a>&nbsp;mode = Auto )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads a pixmap from the binary data in <em>buf</em> (<em>len</em> bytes) using
+color mode <em>mode</em>. Returns TRUE if successful; otherwise returns
+FALSE.
+<p> If <em>format</em> is specified, the loader attempts to read the pixmap
+using the specified format. If <em>format</em> is not specified
+(default), the loader reads a few bytes from the header to guess
+the file's format.
+<p> <p>See also <a href="#ColorMode-enum">QPixmap::ColorMode</a>.
+
+<h3 class=fn>bool <a name="loadFromData-3"></a>QPixmap::loadFromData ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;buf, const&nbsp;char&nbsp;*&nbsp;format = 0, int&nbsp;conversion_flags = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;* <a name="mask"></a>QPixmap::mask () const
+</h3>
+
+<p> Returns the mask bitmap, or 0 if no mask has been set.
+<p> <p>See also <a href="#setMask">setMask</a>(), <a href="qbitmap.html">QBitmap</a>, and <a href="#hasAlpha">hasAlpha</a>().
+
+<h3 class=fn>int <a name="metric"></a>QPixmap::metric ( int&nbsp;m ) const<tt> [virtual protected]</tt>
+</h3>
+Internal implementation of the virtual QPaintDevice::metric() function.
+<p> Use the <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> class instead.
+<p> <em>m</em> is the metric to get.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;&amp; <a name="operator-eq"></a>QPixmap::operator= ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Assigns the pixmap <em>pixmap</em> to this pixmap and returns a
+reference to this pixmap.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;&amp; <a name="operator-eq-2"></a>QPixmap::operator= ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;image )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Converts the image <em>image</em> to a pixmap that is assigned to this
+pixmap. Returns a reference to the pixmap.
+<p> <p>See also <a href="#convertFromImage">convertFromImage</a>().
+
+<h3 class=fn><a href="qpixmap.html#Optimization-enum">Optimization</a> <a name="optimization"></a>QPixmap::optimization () const
+</h3>
+
+<p> Returns the optimization setting for this pixmap.
+<p> The default optimization setting is <a href="#Optimization-enum">QPixmap::NormalOptim</a>. You
+can change this setting in two ways:
+<ul>
+<li> Call <a href="#setDefaultOptimization">setDefaultOptimization</a>() to set the default optimization
+for all new pixmaps.
+<li> Call <a href="#setOptimization">setOptimization</a>() to set the optimization for individual
+pixmaps.
+</ul>
+<p> <p>See also <a href="#setOptimization">setOptimization</a>(), <a href="#setDefaultOptimization">setDefaultOptimization</a>(), and <a href="#defaultOptimization">defaultOptimization</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QPixmap::rect () const
+</h3>
+
+<p> Returns the enclosing rectangle (0,0,width(),height()) of the pixmap.
+<p> <p>See also <a href="#width">width</a>(), <a href="#height">height</a>(), and <a href="#size">size</a>().
+
+<h3 class=fn>void <a name="resize"></a>QPixmap::resize ( int&nbsp;w, int&nbsp;h )
+</h3>
+Resizes the pixmap to <em>w</em> width and <em>h</em> height. If either <em>w</em>
+or <em>h</em> is 0, the pixmap becomes a null pixmap.
+<p> If both <em>w</em> and <em>h</em> are greater than 0, a valid pixmap is
+created. New pixels will be uninitialized (random) if the pixmap
+is expanded.
+
+<p>Examples: <a href="desktop-example.html#x1744">desktop/desktop.cpp</a> and <a href="grapher-nsplugin-example.html#x2766">grapher/grapher.cpp</a>.
+<h3 class=fn>void <a name="resize-2"></a>QPixmap::resize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Resizes the pixmap to size <em>size</em>.
+
+<h3 class=fn>bool <a name="save"></a>QPixmap::save ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const
+</h3>
+Saves the pixmap to the file <em>fileName</em> using the image file
+format <em>format</em> and a quality factor <em>quality</em>. <em>quality</em> must
+be in the range [0,100] or -1. Specify 0 to obtain small
+compressed files, 100 for large uncompressed files, and -1 to use
+the default settings. Returns TRUE if successful; otherwise
+returns FALSE.
+<p> <p>See also <a href="#load">load</a>(), <a href="#loadFromData">loadFromData</a>(), <a href="#imageFormat">imageFormat</a>(), <a href="qimage.html#save">QImage::save</a>(), and <a href="qimageio.html">QImageIO</a>.
+
+<p>Example: <a href="qmag-example.html#x1786">qmag/qmag.cpp</a>.
+<h3 class=fn>bool <a name="save-2"></a>QPixmap::save ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;device, const&nbsp;char&nbsp;*&nbsp;format, int&nbsp;quality = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function writes a QPixmap to the <a href="qiodevice.html">QIODevice</a>, <em>device</em>. This
+can be used, for example, to save a pixmap directly into a
+QByteArray:
+<pre>
+ QPixmap pixmap;
+ <a href="qbytearray.html">QByteArray</a> ba;
+ <a href="qbuffer.html">QBuffer</a> buffer( ba );
+ buffer.<a href="qiodevice.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> );
+ pixmap.<a href="#save">save</a>( &amp;buffer, "PNG" ); // writes pixmap into ba in PNG format
+ </pre>
+
+
+<h3 class=fn>bool <a name="selfMask"></a>QPixmap::selfMask () const
+</h3>
+
+<p> Returns TRUE if the pixmap's mask is identical to the pixmap
+itself; otherwise returns FALSE.
+<p> <p>See also <a href="#mask">mask</a>().
+
+<h3 class=fn>int <a name="serialNumber"></a>QPixmap::serialNumber () const
+</h3>
+
+<p> Returns a number that uniquely identifies the contents of this
+QPixmap object. This means that multiple QPixmap objects can have
+the same serial number as long as they refer to the same contents.
+<p> An example of where this is useful is for caching QPixmaps.
+<p> <p>See also <a href="qpixmapcache.html">QPixmapCache</a>.
+
+<h3 class=fn>void <a name="setDefaultOptimization"></a>QPixmap::setDefaultOptimization ( <a href="qpixmap.html#Optimization-enum">Optimization</a>&nbsp;optimization )<tt> [static]</tt>
+</h3>
+Sets the default pixmap optimization.
+<p> All <em>new</em> pixmaps that are created will use this default
+optimization. You may also set optimization for individual pixmaps
+using the <a href="#setOptimization">setOptimization</a>() function.
+<p> The initial default <em>optimization</em> setting is <tt>QPixmap::Normal</tt>.
+<p> <p>See also <a href="#defaultOptimization">defaultOptimization</a>(), <a href="#setOptimization">setOptimization</a>(), and <a href="#optimization">optimization</a>().
+
+<h3 class=fn>void <a name="setMask"></a>QPixmap::setMask ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;newmask )
+</h3>
+Sets a mask bitmap.
+<p> The <em>newmask</em> bitmap defines the clip mask for this pixmap. Every
+pixel in <em>newmask</em> corresponds to a pixel in this pixmap. Pixel
+value 1 means opaque and pixel value 0 means transparent. The mask
+must have the same size as this pixmap.
+<p> <b>Warning:</b> Setting the mask on a pixmap will cause any alpha channel
+data to be cleared. For example:
+<pre>
+ QPixmap alpha( "image-with-alpha.png" );
+ QPixmap alphacopy = alpha;
+ alphacopy.<a href="#setMask">setMask</a>( *alphacopy.<a href="#mask">mask</a>() );
+ </pre>
+
+Now, alpha and alphacopy are visually different.
+<p> Setting a <a href="#isNull">null</a> mask resets the mask.
+<p> <p>See also <a href="#mask">mask</a>(), <a href="#createHeuristicMask">createHeuristicMask</a>(), and <a href="qbitmap.html">QBitmap</a>.
+
+<h3 class=fn>void <a name="setOptimization"></a>QPixmap::setOptimization ( <a href="qpixmap.html#Optimization-enum">Optimization</a>&nbsp;optimization )
+</h3>
+Sets pixmap drawing optimization for this pixmap.
+<p> The <em>optimization</em> setting affects pixmap operations, in
+particular drawing of transparent pixmaps (<a href="qpaintdevice.html#bitBlt">bitBlt</a>() a pixmap with
+a mask set) and pixmap transformations (the <a href="#xForm">xForm</a>() function).
+<p> Pixmap optimization involves keeping intermediate results in a
+cache buffer and using the cache to speed up bitBlt() and xForm().
+The cost is more memory consumption, up to twice as much as an
+unoptimized pixmap.
+<p> Use the <a href="#setDefaultOptimization">setDefaultOptimization</a>() to change the default
+optimization for all new pixmaps.
+<p> <p>See also <a href="#optimization">optimization</a>(), <a href="#setDefaultOptimization">setDefaultOptimization</a>(), and <a href="#defaultOptimization">defaultOptimization</a>().
+
+<p>Example: <a href="desktop-example.html#x1745">desktop/desktop.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QPixmap::size () const
+</h3>
+
+<p> Returns the size of the pixmap.
+<p> <p>See also <a href="#width">width</a>(), <a href="#height">height</a>(), and <a href="#rect">rect</a>().
+
+<p>Example: <a href="movies-example.html#x512">movies/main.cpp</a>.
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a> <a name="trueMatrix"></a>QPixmap::trueMatrix ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;matrix, int&nbsp;w, int&nbsp;h )<tt> [static]</tt>
+</h3>
+Returns the actual matrix used for transforming a pixmap with <em>w</em>
+width and <em>h</em> height and matrix <em>matrix</em>.
+<p> When transforming a pixmap with <a href="#xForm">xForm</a>(), the <a href="qwmatrix.html#TransformationMode">transformation matrix</a>
+is internally adjusted to compensate for unwanted translation,
+i.e. xForm() returns the smallest pixmap containing all
+transformed points of the original pixmap.
+<p> This function returns the modified matrix, which maps points
+correctly from the original pixmap into the new pixmap.
+<p> <p>See also <a href="#xForm">xForm</a>() and <a href="qwmatrix.html">QWMatrix</a>.
+
+<h3 class=fn>int <a name="width"></a>QPixmap::width () const
+</h3>
+
+<p> Returns the width of the pixmap.
+<p> <p>See also <a href="#height">height</a>(), <a href="#size">size</a>(), and <a href="#rect">rect</a>().
+
+<p>Examples: <a href="desktop-example.html#x1746">desktop/desktop.cpp</a>, <a href="movies-example.html#x513">movies/main.cpp</a>, <a href="scribble-example.html#x922">scribble/scribble.cpp</a>, <a href="scrollview-example.html#x641">scrollview/scrollview.cpp</a>, and <a href="xform-example.html#x1248">xform/xform.cpp</a>.
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="xForm"></a>QPixmap::xForm ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;matrix ) const
+</h3>
+Returns a copy of the pixmap that is transformed using <em>matrix</em>.
+The original pixmap is not changed.
+<p> The transformation <em>matrix</em> is internally adjusted to compensate
+for unwanted translation, i.e. <a href="#xForm">xForm</a>() returns the smallest image
+that contains all the transformed points of the original image.
+<p> This function is slow because it involves transformation to a
+<a href="qimage.html">QImage</a>, non-trivial computations and a transformation back to a
+QPixmap.
+<p> <p>See also <a href="#trueMatrix">trueMatrix</a>(), <a href="qwmatrix.html">QWMatrix</a>, <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>(), and <a href="qimage.html#xForm">QImage::xForm</a>().
+
+<p>Examples: <a href="desktop-example.html#x1747">desktop/desktop.cpp</a>, <a href="fileiconview-example.html#x863">fileiconview/qfileiconview.cpp</a>, <a href="movies-example.html#x514">movies/main.cpp</a>, and <a href="qmag-example.html#x1787">qmag/qmag.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="copyBlt"></a>copyBlt ( <a href="qpixmap.html">QPixmap</a>&nbsp;*&nbsp;dst, int&nbsp;dx, int&nbsp;dy, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;*&nbsp;src, int&nbsp;sx, int&nbsp;sy, int&nbsp;sw, int&nbsp;sh )
+</h3>
+
+<p> Copies a block of pixels from <em>src</em> to <em>dst</em>. The alpha channel
+and mask data (if any) is also copied from <em>src</em>. NOTE: <em>src</em>
+is <em>not</em> alpha blended or masked when copied to <em>dst</em>. Use
+<a href="qpaintdevice.html#bitBlt">bitBlt</a>() or <a href="qpainter.html#drawPixmap">QPainter::drawPixmap</a>() to perform alpha blending or
+masked drawing.
+<p> <em>sx</em>, <em>sy</em> is the top-left pixel in <em>src</em> (0, 0 by default), <em>dx</em>, <em>dy</em> is the top-left position in <em>dst</em> and <em>sw</em>, \sh is the
+size of the copied block (all of <em>src</em> by default).
+<p> If <em>src</em>, <em>dst</em>, <em>sw</em> or <em>sh</em> is 0 (zero), <a href="#copyBlt">copyBlt</a>() does
+nothing. If <em>sw</em> or <em>sh</em> is negative, copyBlt() copies starting
+at <em>sx</em> (and respectively, <em>sy</em>) and ending at the right edge
+(and respectively, the bottom edge) of <em>src</em>.
+<p> copyBlt() does nothing if <em>src</em> and <em>dst</em> have different depths.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+
+<p> Writes the pixmap <em>pixmap</em> to the stream <em>s</em> as a PNG image.
+<p> Note that writing the stream to a file will not produce a valid image file.
+<p> <p>See also <a href="#save">QPixmap::save</a>() and <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+
+<p> Reads a pixmap from the stream <em>s</em> into the pixmap <em>pixmap</em>.
+<p> <p>See also <a href="#load">QPixmap::load</a>() and <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmapcache-h.html b/doc/html/qpixmapcache-h.html
new file mode 100644
index 0000000..59802e5
--- /dev/null
+++ b/doc/html/qpixmapcache-h.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpixmapcache.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpixmapcache.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpixmapcache.h</h1>
+
+<p>This is the verbatim text of the qpixmapcache.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpixmapcache.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPixmapCache class
+**
+** Created : 950501
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPIXMAPCACHE_H
+#define QPIXMAPCACHE_H
+
+#ifndef QT_H
+#include "qpixmap.h"
+#endif // QT_H
+
+
+class Q_EXPORT QPixmapCache // global pixmap cache
+{
+public:
+ static int cacheLimit();
+ static void setCacheLimit( int );
+ static QPixmap *find( const QString &amp;key );
+ static bool find( const QString &amp;key, QPixmap&amp; );
+ static bool insert( const QString &amp;key, QPixmap * );
+ static bool insert( const QString &amp;key, const QPixmap&amp; );
+ static void remove( const QString &amp;key );
+ static void clear();
+};
+
+
+#endif // QPIXMAPCACHE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmapcache-members.html b/doc/html/qpixmapcache-members.html
new file mode 100644
index 0000000..8c44ffc
--- /dev/null
+++ b/doc/html/qpixmapcache-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpixmapcache.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPixmapCache Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPixmapCache</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpixmapcache.html">QPixmapCache</a>, including inherited members.
+
+<ul>
+<li><a href="qpixmapcache.html#cacheLimit">cacheLimit</a>()
+<li><a href="qpixmapcache.html#clear">clear</a>()
+<li><a href="qpixmapcache.html#find">find</a>()
+<li><a href="qpixmapcache.html#insert">insert</a>()
+<li><a href="qpixmapcache.html#remove">remove</a>()
+<li><a href="qpixmapcache.html#setCacheLimit">setCacheLimit</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpixmapcache.html b/doc/html/qpixmapcache.html
new file mode 100644
index 0000000..190294e
--- /dev/null
+++ b/doc/html/qpixmapcache.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpixmapcache.cpp:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPixmapCache Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPixmapCache Class Reference</h1>
+
+<p>The QPixmapCache class provides an application-global cache for
+pixmaps.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpixmapcache-h.html">qpixmapcache.h</a>&gt;</tt>
+<p><a href="qpixmapcache-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>int <a href="#cacheLimit"><b>cacheLimit</b></a> ()</li>
+<li class=fn>void <a href="#setCacheLimit"><b>setCacheLimit</b></a> ( int&nbsp;n )</li>
+<li class=fn>QPixmap * <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>bool <a href="#find-2"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>bool insert ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QPixmap&nbsp;*&nbsp;pm ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QPixmapCache class provides an application-global cache for
+pixmaps.
+<p>
+
+
+<p> This class is a tool for optimized drawing with <a href="qpixmap.html">QPixmap</a>. You can
+use it to store temporary pixmaps that are expensive to generate
+without using more storage space than <a href="#cacheLimit">cacheLimit</a>(). Use <a href="#insert">insert</a>()
+to insert pixmaps, <a href="#find">find</a>() to find them and <a href="#clear">clear</a>() to empty the
+cache.
+<p> For example, <a href="qradiobutton.html">QRadioButton</a> has a non-trivial visual representation
+so we don't want to regenerate a pixmap whenever a radio button is
+displayed or changes state. In the function
+<a href="qbutton.html#drawButton">QRadioButton::drawButton</a>(), we do not draw the radio button
+directly. Instead, we first check the global pixmap cache for a
+pixmap with the key "$qt_radio_nnn_", where <tt>nnn</tt> is a numerical
+value that specifies the the radio button state. If a pixmap is
+found, we <a href="qimage.html#bitBlt">bitBlt</a>() it onto the widget and return. Otherwise, we
+create a new pixmap, draw the radio button in the pixmap, and
+finally insert the pixmap in the global pixmap cache, using the
+key above. The bitBlt() is ten times faster than drawing the
+radio button. All radio buttons in the program share the cached
+pixmap since QPixmapCache is application-global.
+<p> QPixmapCache contains no member data, only static functions to
+access the global pixmap cache. It creates an internal <a href="qcache.html">QCache</a> for
+caching the pixmaps.
+<p> The cache associates a pixmap with a string (key). If two pixmaps
+are inserted into the cache using equal keys, then the last pixmap
+will hide the first pixmap. The <a href="qdict.html">QDict</a> and QCache classes do
+exactly the same.
+<p> The cache becomes full when the total size of all pixmaps in the
+cache exceeds <a href="#cacheLimit">cacheLimit</a>(). The initial cache limit is 1024 KByte
+(1 MByte); it is changed with <a href="#setCacheLimit">setCacheLimit</a>(). A pixmap takes
+roughly width*height*depth/8 bytes of memory.
+<p> See the <a href="qcache.html">QCache</a> documentation for more details about the cache
+mechanism.
+<p>See also <a href="environment.html">Environment Classes</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>int <a name="cacheLimit"></a>QPixmapCache::cacheLimit ()<tt> [static]</tt>
+</h3>
+Returns the cache limit (in kilobytes).
+<p> The default setting is 1024 kilobytes.
+<p> <p>See also <a href="#setCacheLimit">setCacheLimit</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPixmapCache::clear ()<tt> [static]</tt>
+</h3>
+Removes all pixmaps from the cache.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="find"></a>QPixmapCache::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )<tt> [static]</tt>
+</h3>
+Returns the pixmap associated with the <em>key</em> in the cache, or
+null if there is no such pixmap.
+<p> <b>Warning:</b> If valid, you should copy the pixmap immediately (this is
+fast). Subsequent insertions into the cache could cause the
+pointer to become invalid. For this reason, we recommend you use
+<a href="#find">find</a>(const <a href="qstring.html">QString</a>&, <a href="qpixmap.html">QPixmap</a>&) instead.
+<p> Example:
+<pre>
+ <a href="qpixmap.html">QPixmap</a>* pp;
+ <a href="qpixmap.html">QPixmap</a> p;
+ if ( (pp=QPixmapCache::<a href="#find">find</a>("my_big_image", pm)) ) {
+ p = *pp;
+ } else {
+ p.<a href="qpixmap.html#load">load</a>("bigimage.png");
+ QPixmapCache::<a href="#insert">insert</a>("my_big_image", new <a href="qpixmap.html">QPixmap</a>(p));
+ }
+ painter-&gt;drawPixmap(0, 0, p);
+ </pre>
+
+
+<h3 class=fn>bool <a name="find-2"></a>QPixmapCache::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks for a cached pixmap associated with the <em>key</em> in the cache.
+If a pixmap is found, the function sets <em>pm</em> to that pixmap and
+returns TRUE; otherwise leaves <em>pm</em> alone and returns FALSE.
+<p> Example:
+<pre>
+ <a href="qpixmap.html">QPixmap</a> p;
+ if ( !QPixmapCache::find("my_big_image", pm) ) {
+ pm.load("bigimage.png");
+ QPixmapCache::<a href="#insert">insert</a>("my_big_image", pm);
+ }
+ painter-&gt;drawPixmap(0, 0, p);
+ </pre>
+
+
+<h3 class=fn>bool <a name="insert"></a>QPixmapCache::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )<tt> [static]</tt>
+</h3>
+Inserts a copy of the pixmap <em>pm</em> associated with the <em>key</em> into
+the cache.
+<p> All pixmaps inserted by the Qt library have a key starting with
+"$qt", so your own pixmap keys should never begin "$qt".
+<p> When a pixmap is inserted and the cache is about to exceed its
+limit, it removes pixmaps until there is enough room for the
+pixmap to be inserted.
+<p> The oldest pixmaps (least recently accessed in the cache) are
+deleted when more space is needed.
+<p> <p>See also <a href="#setCacheLimit">setCacheLimit</a>().
+
+<h3 class=fn>bool <a name="insert-2"></a>QPixmapCache::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qpixmap.html">QPixmap</a>&nbsp;*&nbsp;pm )<tt> [static]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Inserts the pixmap <em>pm</em> associated with <em>key</em> into the cache.
+Returns TRUE if successful, or FALSE if the pixmap is too big for the cache.
+<p> <strong>
+Note: <em>pm</em> must be allocated on the heap (using <tt>new</tt>).
+<p> If this function returns FALSE, you must delete <em>pm</em> yourself.
+<p> If this function returns TRUE, do not use <em>pm</em> afterwards or
+keep references to it because any other insertions into the cache,
+whether from anywhere in the application or within Qt itself, could cause
+the pixmap to be discarded from the cache and the pointer to
+become invalid.
+<p> Due to these dangers, we strongly recommend that you use
+<a href="#insert">insert</a>(const <a href="qstring.html">QString</a>&, const <a href="qpixmap.html">QPixmap</a>&) instead.
+</strong>
+
+<h3 class=fn>void <a name="remove"></a>QPixmapCache::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )<tt> [static]</tt>
+</h3>
+Removes the pixmap associated with <em>key</em> from the cache.
+
+<h3 class=fn>void <a name="setCacheLimit"></a>QPixmapCache::setCacheLimit ( int&nbsp;n )<tt> [static]</tt>
+</h3>
+Sets the cache limit to <em>n</em> kilobytes.
+<p> The default setting is 1024 kilobytes.
+<p> <p>See also <a href="#cacheLimit">cacheLimit</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qplatinumstyle-h.html b/doc/html/qplatinumstyle-h.html
new file mode 100644
index 0000000..7cbff55
--- /dev/null
+++ b/doc/html/qplatinumstyle-h.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qplatinumstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qplatinumstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qplatinumstyle.h</h1>
+
+<p>This is the verbatim text of the qplatinumstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qplatinumstyle.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of Platinum-like style class
+**
+** Created : 981231
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPLATINUMSTYLE_H
+#define QPLATINUMSTYLE_H
+
+#ifndef QT_H
+#include "qwindowsstyle.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_PLATINUM) || defined(QT_PLUGIN)
+
+class QPalette;
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_PLATINUM
+#else
+#define Q_EXPORT_STYLE_PLATINUM Q_EXPORT
+#endif
+
+class Q_EXPORT_STYLE_PLATINUM QPlatinumStyle : public QWindowsStyle
+{
+ Q_OBJECT
+public:
+ QPlatinumStyle();
+ virtual ~QPlatinumStyle();
+
+ // new Style Stuff
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
+
+ QRect subRect( SubRect r, const QWidget *widget ) const;
+
+protected:
+ QColor mixedColor(const QColor &amp;, const QColor &amp;) const;
+ void drawRiffles( QPainter* p, int x, int y, int w, int h,
+ const QColorGroup &amp;g, bool horizontal ) const;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPlatinumStyle( const QPlatinumStyle &amp; );
+ QPlatinumStyle&amp; operator=( const QPlatinumStyle &amp; );
+#endif
+};
+
+#endif // QT_NO_STYLE_PLATINUM
+
+#endif // QPLATINUMSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qplatinumstyle-members.html b/doc/html/qplatinumstyle-members.html
new file mode 100644
index 0000000..00776ba
--- /dev/null
+++ b/doc/html/qplatinumstyle-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qplatinumstyle.h:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPlatinumStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPlatinumStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qplatinumstyle.html">QPlatinumStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qplatinumstyle.html#QPlatinumStyle">QPlatinumStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qplatinumstyle.html#drawRiffles">drawRiffles</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qplatinumstyle.html#mixedColor">mixedColor</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qplatinumstyle.html b/doc/html/qplatinumstyle.html
new file mode 100644
index 0000000..7f14630
--- /dev/null
+++ b/doc/html/qplatinumstyle.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qplatinumstyle.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPlatinumStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPlatinumStyle Class Reference</h1>
+
+<p>The QPlatinumStyle class provides Mac/Platinum look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qplatinumstyle-h.html">qplatinumstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qwindowsstyle.html">QWindowsStyle</a>.
+<p><a href="qplatinumstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPlatinumStyle"><b>QPlatinumStyle</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>QColor <a href="#mixedColor"><b>mixedColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c1, const&nbsp;QColor&nbsp;&amp;&nbsp;c2 ) const</li>
+<li class=fn>void <a href="#drawRiffles"><b>drawRiffles</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;horizontal ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPlatinumStyle class provides Mac/Platinum look and feel.
+<p>
+<p> This class implements the Platinum look and feel. It's an
+experimental class that tries to resemble a Macinosh-like GUI
+style with the <a href="qstyle.html">QStyle</a> system. The emulation is currently far from
+perfect.
+<p> <p>See also QAquaStyle and <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPlatinumStyle"></a>QPlatinumStyle::QPlatinumStyle ()
+</h3>
+Constructs a QPlatinumStyle
+
+<h3 class=fn>void <a name="drawRiffles"></a>QPlatinumStyle::drawRiffles ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;horizontal ) const<tt> [protected]</tt>
+</h3>
+Draws the nifty Macintosh decoration used on sliders using painter
+<em>p</em> and colorgroup <em>g</em>. <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em> and <em>horizontal</em>
+specify the geometry and orientation of the riffles.
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="mixedColor"></a>QPlatinumStyle::mixedColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c1, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c2 ) const<tt> [protected]</tt>
+</h3>
+Mixes two colors <em>c1</em> and <em>c2</em> to a new color.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpngimagepacker-members.html b/doc/html/qpngimagepacker-members.html
new file mode 100644
index 0000000..0773d1b
--- /dev/null
+++ b/doc/html/qpngimagepacker-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpngio.h:88 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPNGImagePacker Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPNGImagePacker</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpngimagepacker.html">QPNGImagePacker</a>, including inherited members.
+
+<ul>
+<li><a href="qpngimagepacker.html#QPNGImagePacker">QPNGImagePacker</a>()
+<li><a href="qpngimagepacker.html#packImage">packImage</a>()
+<li><a href="qpngimagepacker.html#setPixelAlignment">setPixelAlignment</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpngimagepacker.html b/doc/html/qpngimagepacker.html
new file mode 100644
index 0000000..4aa9928
--- /dev/null
+++ b/doc/html/qpngimagepacker.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpngio.cpp:653 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPNGImagePacker Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPNGImagePacker Class Reference</h1>
+
+<p>The QPNGImagePacker class creates well-compressed PNG animations.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpngio-h.html">qpngio.h</a>&gt;</tt>
+<p><a href="qpngimagepacker-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPNGImagePacker"><b>QPNGImagePacker</b></a> ( QIODevice&nbsp;*&nbsp;iod, int&nbsp;storage_depth, int&nbsp;conversionflags )</li>
+<li class=fn>void <a href="#setPixelAlignment"><b>setPixelAlignment</b></a> ( int&nbsp;x )</li>
+<li class=fn>bool <a href="#packImage"><b>packImage</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;img )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPNGImagePacker class creates well-compressed PNG animations.
+<p>
+
+<p> By using transparency, QPNGImagePacker allows you to build a PNG
+image from a sequence of QImages.
+<p> Images are added using <a href="#packImage">packImage</a>().
+<p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPNGImagePacker"></a>QPNGImagePacker::QPNGImagePacker ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;iod, int&nbsp;storage_depth, int&nbsp;conversionflags )
+</h3>
+Creates an image packer that writes PNG data to IO device <em>iod</em>
+using a <em>storage_depth</em> bit encoding (use 8 or 32, depending on
+the desired quality and compression requirements).
+<p> If the image needs to be modified to fit in a lower-resolution
+result (e.g. converting from 32-bit to 8-bit), use the <em>conversionflags</em> to specify how you'd prefer this to happen.
+<p> <p>See also <a href="qt.html#ImageConversionFlags-enum">Qt::ImageConversionFlags</a>.
+
+<h3 class=fn>bool <a name="packImage"></a>QPNGImagePacker::packImage ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img )
+</h3>
+Adds the image <em>img</em> to the PNG animation, analyzing the
+differences between this and the previous image to improve
+compression.
+
+<h3 class=fn>void <a name="setPixelAlignment"></a>QPNGImagePacker::setPixelAlignment ( int&nbsp;x )
+</h3>
+Aligns pixel differences to <em>x</em> pixels. For example, using 8 can
+improve playback on certain hardware. Normally the default of
+1-pixel alignment (i.e. no alignment) gives better compression and
+performance.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpngio-h.html b/doc/html/qpngio-h.html
new file mode 100644
index 0000000..495e846
--- /dev/null
+++ b/doc/html/qpngio-h.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpngio.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpngio.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpngio.h</h1>
+
+<p>This is the verbatim text of the qpngio.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpngio.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of PNG QImage IOHandler
+**
+** Created : 970521
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPNGIO_H
+#define QPNGIO_H
+
+#ifndef QT_H
+#include "qimage.h"
+#endif // QT_H
+
+#ifndef QT_NO_IMAGEIO_PNG
+
+void qInitPngIO();
+
+class QIODevice;
+
+#ifndef Q_PNGEXPORT
+#if !defined(QT_PLUGIN)
+#define Q_PNGEXPORT Q_EXPORT
+#else
+#define Q_PNGEXPORT
+#endif
+#endif
+
+class Q_PNGEXPORT QPNGImageWriter {
+public:
+ QPNGImageWriter(QIODevice*);
+ ~QPNGImageWriter();
+
+ enum DisposalMethod { Unspecified, NoDisposal, RestoreBackground, RestoreImage };
+ void setDisposalMethod(DisposalMethod);
+ void setLooping(int loops=0); // 0 == infinity
+ void setFrameDelay(int msecs);
+ void setGamma(float);
+
+ bool writeImage(const QImage&amp; img, int x, int y);
+ bool writeImage(const QImage&amp; img, int quality, int x, int y);
+ bool writeImage(const QImage&amp; img)
+ { return writeImage(img, 0, 0); }
+ bool writeImage(const QImage&amp; img, int quality)
+ { return writeImage(img, quality, 0, 0); }
+
+ QIODevice* device() { return dev; }
+
+private:
+ QIODevice* dev;
+ int frames_written;
+ DisposalMethod disposal;
+ int looping;
+ int ms_delay;
+ float gamma;
+};
+
+class Q_PNGEXPORT QPNGImagePacker : public QPNGImageWriter {
+public:
+ QPNGImagePacker(QIODevice*, int depth, int convflags);
+
+ void setPixelAlignment(int x);
+ bool packImage(const QImage&amp; img);
+
+private:
+ QImage previous;
+ int depth;
+ int convflags;
+ int alignx;
+};
+
+#endif // QT_NO_IMAGEIO_PNG
+
+#endif // QPNGIO_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpoint-h.html b/doc/html/qpoint-h.html
new file mode 100644
index 0000000..3666145
--- /dev/null
+++ b/doc/html/qpoint-h.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpoint.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpoint.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpoint.h</h1>
+
+<p>This is the verbatim text of the qpoint.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpoint.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPoint class
+**
+** Created : 931028
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPOINT_H
+#define QPOINT_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#endif // QT_H
+
+
+class Q_EXPORT QPoint
+{
+public:
+ QPoint();
+ QPoint( int xpos, int ypos );
+
+ bool isNull() const;
+
+ int x() const;
+ int y() const;
+ void setX( int x );
+ void setY( int y );
+
+ int manhattanLength() const;
+
+ QCOORD &amp;rx();
+ QCOORD &amp;ry();
+
+ QPoint &amp;operator+=( const QPoint &amp;p );
+ QPoint &amp;operator-=( const QPoint &amp;p );
+ QPoint &amp;operator*=( int c );
+ QPoint &amp;operator*=( double c );
+ QPoint &amp;operator/=( int c );
+ QPoint &amp;operator/=( double c );
+
+ friend inline bool operator==( const QPoint &amp;, const QPoint &amp; );
+ friend inline bool operator!=( const QPoint &amp;, const QPoint &amp; );
+ friend inline const QPoint operator+( const QPoint &amp;, const QPoint &amp; );
+ friend inline const QPoint operator-( const QPoint &amp;, const QPoint &amp; );
+ friend inline const QPoint operator*( const QPoint &amp;, int );
+ friend inline const QPoint operator*( int, const QPoint &amp; );
+ friend inline const QPoint operator*( const QPoint &amp;, double );
+ friend inline const QPoint operator*( double, const QPoint &amp; );
+ friend inline const QPoint operator-( const QPoint &amp; );
+ friend inline const QPoint operator/( const QPoint &amp;, int );
+ friend inline const QPoint operator/( const QPoint &amp;, double );
+
+private:
+ static void warningDivByZero();
+
+#if defined(Q_OS_MAC)
+ QCOORD yp;
+ QCOORD xp;
+#else
+ QCOORD xp;
+ QCOORD yp;
+#endif
+};
+
+
+/*****************************************************************************
+ QPoint stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPoint &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPoint &amp; );
+#endif
+
+/*****************************************************************************
+ QPoint inline functions
+ *****************************************************************************/
+
+inline QPoint::QPoint()
+{ xp=0; yp=0; }
+
+inline QPoint::QPoint( int xpos, int ypos )
+{ xp=(QCOORD)xpos; yp=(QCOORD)ypos; }
+
+inline bool QPoint::isNull() const
+{ return xp == 0 &amp;&amp; yp == 0; }
+
+inline int QPoint::x() const
+{ return xp; }
+
+inline int QPoint::y() const
+{ return yp; }
+
+inline void QPoint::setX( int x )
+{ xp = (QCOORD)x; }
+
+inline void QPoint::setY( int y )
+{ yp = (QCOORD)y; }
+
+inline QCOORD &amp;QPoint::rx()
+{ return xp; }
+
+inline QCOORD &amp;QPoint::ry()
+{ return yp; }
+
+inline QPoint &amp;QPoint::operator+=( const QPoint &amp;p )
+{ xp+=p.xp; yp+=p.yp; return *this; }
+
+inline QPoint &amp;QPoint::operator-=( const QPoint &amp;p )
+{ xp-=p.xp; yp-=p.yp; return *this; }
+
+inline QPoint &amp;QPoint::operator*=( int c )
+{ xp*=(QCOORD)c; yp*=(QCOORD)c; return *this; }
+
+inline QPoint &amp;QPoint::operator*=( double c )
+{ xp=(QCOORD)(xp*c); yp=(QCOORD)(yp*c); return *this; }
+
+inline bool operator==( const QPoint &amp;p1, const QPoint &amp;p2 )
+{ return p1.xp == p2.xp &amp;&amp; p1.yp == p2.yp; }
+
+inline bool operator!=( const QPoint &amp;p1, const QPoint &amp;p2 )
+{ return p1.xp != p2.xp || p1.yp != p2.yp; }
+
+inline const QPoint operator+( const QPoint &amp;p1, const QPoint &amp;p2 )
+{ return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); }
+
+inline const QPoint operator-( const QPoint &amp;p1, const QPoint &amp;p2 )
+{ return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); }
+
+inline const QPoint operator*( const QPoint &amp;p, int c )
+{ return QPoint(p.xp*c, p.yp*c); }
+
+inline const QPoint operator*( int c, const QPoint &amp;p )
+{ return QPoint(p.xp*c, p.yp*c); }
+
+inline const QPoint operator*( const QPoint &amp;p, double c )
+{ return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
+
+inline const QPoint operator*( double c, const QPoint &amp;p )
+{ return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
+
+inline const QPoint operator-( const QPoint &amp;p )
+{ return QPoint(-p.xp, -p.yp); }
+
+inline QPoint &amp;QPoint::operator/=( int c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0 )
+ warningDivByZero();
+#endif
+ xp/=(QCOORD)c;
+ yp/=(QCOORD)c;
+ return *this;
+}
+
+inline QPoint &amp;QPoint::operator/=( double c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0.0 )
+ warningDivByZero();
+#endif
+ xp=(QCOORD)(xp/c);
+ yp=(QCOORD)(yp/c);
+ return *this;
+}
+
+inline const QPoint operator/( const QPoint &amp;p, int c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0 )
+ QPoint::warningDivByZero();
+#endif
+ return QPoint(p.xp/c, p.yp/c);
+}
+
+inline const QPoint operator/( const QPoint &amp;p, double c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0.0 )
+ QPoint::warningDivByZero();
+#endif
+ return QPoint((QCOORD)(p.xp/c), (QCOORD)(p.yp/c));
+}
+
+#define Q_DEFINED_QPOINT
+#include "qwinexport.h"
+#endif // QPOINT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpoint-members.html b/doc/html/qpoint-members.html
new file mode 100644
index 0000000..f1085f4
--- /dev/null
+++ b/doc/html/qpoint-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpoint.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPoint Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPoint</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpoint.html">QPoint</a>, including inherited members.
+
+<ul>
+<li><a href="qpoint.html#QPoint">QPoint</a>()
+<li><a href="qpoint.html#isNull">isNull</a>()
+<li><a href="qpoint.html#manhattanLength">manhattanLength</a>()
+<li><a href="qpoint.html#operator*-eq">operator*=</a>()
+<li><a href="qpoint.html#operator+-eq">operator+=</a>()
+<li><a href="qpoint.html#operator--eq">operator-=</a>()
+<li><a href="qpoint.html#operator/-eq">operator/=</a>()
+<li><a href="qpoint.html#rx">rx</a>()
+<li><a href="qpoint.html#ry">ry</a>()
+<li><a href="qpoint.html#setX">setX</a>()
+<li><a href="qpoint.html#setY">setY</a>()
+<li><a href="qpoint.html#x">x</a>()
+<li><a href="qpoint.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpoint.html b/doc/html/qpoint.html
new file mode 100644
index 0000000..aa2e5b6
--- /dev/null
+++ b/doc/html/qpoint.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpoint.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPoint Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPoint Class Reference</h1>
+
+<p>The QPoint class defines a point in the plane.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpoint-h.html">qpoint.h</a>&gt;</tt>
+<p><a href="qpoint-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPoint"><b>QPoint</b></a> ()</li>
+<li class=fn><a href="#QPoint-2"><b>QPoint</b></a> ( int&nbsp;xpos, int&nbsp;ypos )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>void <a href="#setX"><b>setX</b></a> ( int&nbsp;x )</li>
+<li class=fn>void <a href="#setY"><b>setY</b></a> ( int&nbsp;y )</li>
+<li class=fn>int <a href="#manhattanLength"><b>manhattanLength</b></a> () const</li>
+<li class=fn>QCOORD &amp; <a href="#rx"><b>rx</b></a> ()</li>
+<li class=fn>QCOORD &amp; <a href="#ry"><b>ry</b></a> ()</li>
+<li class=fn>QPoint &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QPoint &amp; <a href="#operator--eq"><b>operator-=</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QPoint &amp; <a href="#operator*-eq"><b>operator*=</b></a> ( int&nbsp;c )</li>
+<li class=fn>QPoint &amp; <a href="#operator*-eq-2"><b>operator*=</b></a> ( double&nbsp;c )</li>
+<li class=fn>QPoint &amp; <a href="#operator/-eq"><b>operator/=</b></a> ( int&nbsp;c )</li>
+<li class=fn>QPoint &amp; <a href="#operator/-eq-2"><b>operator/=</b></a> ( double&nbsp;c )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p1, const&nbsp;QPoint&nbsp;&amp;&nbsp;p2 )</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p1, const&nbsp;QPoint&nbsp;&amp;&nbsp;p2 )</li>
+<li class=fn>const QPoint <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p1, const&nbsp;QPoint&nbsp;&amp;&nbsp;p2 )</li>
+<li class=fn>const QPoint <a href="#operator-"><b>operator-</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p1, const&nbsp;QPoint&nbsp;&amp;&nbsp;p2 )</li>
+<li class=fn>const QPoint <a href="#operator*"><b>operator*</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, int&nbsp;c )</li>
+<li class=fn>const QPoint <a href="#operator*-2"><b>operator*</b></a> ( int&nbsp;c, const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>const QPoint <a href="#operator*-3"><b>operator*</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, double&nbsp;c )</li>
+<li class=fn>const QPoint <a href="#operator*-4"><b>operator*</b></a> ( double&nbsp;c, const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>const QPoint <a href="#operator--2"><b>operator-</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>const QPoint <a href="#operator/"><b>operator/</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, int&nbsp;c )</li>
+<li class=fn>const QPoint <a href="#operator/-2"><b>operator/</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, double&nbsp;c )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPoint&nbsp;&amp;&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPoint class defines a point in the plane.
+<p>
+
+
+<p> A point is specified by an x coordinate and a y coordinate.
+<p> The coordinate type is <tt>QCOORD</tt> (a 32-bit integer). The minimum
+value of <tt>QCOORD</tt> is <tt>QCOORD_MIN</tt> (-2147483648) and the maximum
+value is <tt>QCOORD_MAX</tt> (2147483647).
+<p> The coordinates are accessed by the functions <a href="#x">x</a>() and <a href="#y">y</a>(); they
+can be set by <a href="#setX">setX</a>() and <a href="#setY">setY</a>() or by the reference functions <a href="#rx">rx</a>()
+and <a href="#ry">ry</a>().
+<p> Given a point <em>p</em>, the following statements are all equivalent:
+<pre>
+ p.setX( p.x() + 1 );
+ p += <a href="#QPoint">QPoint</a>( 1, 0 );
+ p.rx()++;
+ </pre>
+
+<p> A QPoint can also be used as a vector. Addition and subtraction
+of QPoints are defined as for vectors (each component is added
+separately). You can divide or multiply a QPoint by an <tt>int</tt> or a
+<tt>double</tt>. The function <a href="#manhattanLength">manhattanLength</a>() gives an inexpensive
+approximation of the length of the QPoint interpreted as a vector.
+<p> Example:
+<pre>
+ //QPoint oldPos is defined somewhere else
+ MyWidget::mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ QPoint vector = e-&gt;<a href="qmouseevent.html#pos">pos</a>() - oldPos;
+ if ( vector.<a href="#manhattanLength">manhattanLength</a>() &gt; 3 )
+ ... //mouse has moved more than 3 pixels since oldPos
+ }
+ </pre>
+
+<p> QPoints can be compared for equality or inequality, and they can
+be written to and read from a QStream.
+<p> <p>See also <a href="qpointarray.html">QPointArray</a>, <a href="qsize.html">QSize</a>, <a href="qrect.html">QRect</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPoint"></a>QPoint::QPoint ()
+</h3>
+
+<p> Constructs a point with coordinates (0, 0) (<a href="#isNull">isNull</a>() returns TRUE).
+
+<h3 class=fn><a name="QPoint-2"></a>QPoint::QPoint ( int&nbsp;xpos, int&nbsp;ypos )
+</h3>
+
+<p> Constructs a point with x value <em>xpos</em> and y value <em>ypos</em>.
+
+<h3 class=fn>bool <a name="isNull"></a>QPoint::isNull () const
+</h3>
+
+<p> Returns TRUE if both the x value and the y value are 0; otherwise
+returns FALSE.
+
+<h3 class=fn>int <a name="manhattanLength"></a>QPoint::manhattanLength () const
+</h3>
+Returns the sum of the absolute values of <a href="#x">x</a>() and <a href="#y">y</a>(),
+traditionally known as the "Manhattan length" of the vector from
+the origin to the point. The tradition arises because such
+distances apply to travelers who can only travel on a rectangular
+grid, like the streets of Manhattan.
+<p> This is a useful, and quick to calculate, approximation to the
+true length: sqrt(pow(x(),2)+pow(y(),2)).
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator*-eq"></a>QPoint::operator*= ( int&nbsp;c )
+</h3>
+
+<p> Multiplies this point's x and y by <em>c</em>, and returns a reference
+to this point.
+<p> Example:
+<pre>
+ QPoint p( -1, 4 );
+ p *= 2; // p becomes (-2,8)
+ </pre>
+
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator*-eq-2"></a>QPoint::operator*= ( double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Multiplies this point's x and y by <em>c</em>, and returns a reference
+to this point.
+<p> Example:
+<pre>
+ QPoint p( -1, 4 );
+ p *= 2.5; // p becomes (-3,10)
+ </pre>
+
+<p> Note that the result is truncated because points are held as
+integers.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator+-eq"></a>QPoint::operator+= ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Adds point <em>p</em> to this point and returns a reference to this
+point.
+<p> Example:
+<pre>
+ QPoint p( 3, 7 );
+ QPoint q( -1, 4 );
+ p += q; // p becomes (2,11)
+ </pre>
+
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator--eq"></a>QPoint::operator-= ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Subtracts point <em>p</em> from this point and returns a reference to
+this point.
+<p> Example:
+<pre>
+ QPoint p( 3, 7 );
+ QPoint q( -1, 4 );
+ p -= q; // p becomes (4,3)
+ </pre>
+
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator/-eq"></a>QPoint::operator/= ( int&nbsp;c )
+</h3>
+
+<p> Divides both x and y by <em>c</em>, and returns a reference to this
+point.
+<p> Example:
+<pre>
+ QPoint p( -2, 8 );
+ p /= 2; // p becomes (-1,4)
+ </pre>
+
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="operator/-eq-2"></a>QPoint::operator/= ( double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Divides both x and y by <em>c</em>, and returns a reference to this
+point.
+<p> Example:
+<pre>
+ QPoint p( -3, 10 );
+ p /= 2.5; // p becomes (-1,4)
+ </pre>
+
+<p> Note that the result is truncated because points are held as
+integers.
+
+<h3 class=fn>QCOORD &amp; <a name="rx"></a>QPoint::rx ()
+</h3>
+
+<p> Returns a reference to the x coordinate of the point.
+<p> Using a reference makes it possible to directly manipulate x.
+<p> Example:
+<pre>
+ QPoint p( 1, 2 );
+ p.<a href="#rx">rx</a>()--; // p becomes (0, 2)
+ </pre>
+
+<p> <p>See also <a href="#ry">ry</a>().
+
+<h3 class=fn>QCOORD &amp; <a name="ry"></a>QPoint::ry ()
+</h3>
+
+<p> Returns a reference to the y coordinate of the point.
+<p> Using a reference makes it possible to directly manipulate y.
+<p> Example:
+<pre>
+ QPoint p( 1, 2 );
+ p.<a href="#ry">ry</a>()++; // p becomes (1, 3)
+ </pre>
+
+<p> <p>See also <a href="#rx">rx</a>().
+
+<h3 class=fn>void <a name="setX"></a>QPoint::setX ( int&nbsp;x )
+</h3>
+
+<p> Sets the x coordinate of the point to <em>x</em>.
+<p> <p>See also <a href="#x">x</a>() and <a href="#setY">setY</a>().
+
+<p>Example: <a href="tutorial1-14.html#x2422">t14/cannon.cpp</a>.
+<h3 class=fn>void <a name="setY"></a>QPoint::setY ( int&nbsp;y )
+</h3>
+
+<p> Sets the y coordinate of the point to <em>y</em>.
+<p> <p>See also <a href="#y">y</a>() and <a href="#setX">setX</a>().
+
+<p>Example: <a href="tutorial1-14.html#x2423">t14/cannon.cpp</a>.
+<h3 class=fn>int <a name="x"></a>QPoint::x () const
+</h3>
+
+<p> Returns the x coordinate of the point.
+<p> <p>See also <a href="#setX">setX</a>() and <a href="#y">y</a>().
+
+<p>Examples: <a href="canvas-example.html#x2944">canvas/canvas.cpp</a>, <a href="tutorial2-06.html#x2581">chart/canvasview.cpp</a>, <a href="dirview-example.html#x1696">dirview/dirview.cpp</a>, <a href="fileiconview-example.html#x864">fileiconview/qfileiconview.cpp</a>, <a href="helpsystem-example.html#x2679">helpsystem/tooltip.cpp</a>, <a href="life-example.html#x1893">life/life.cpp</a>, and <a href="tutorial1-14.html#x2424">t14/cannon.cpp</a>.
+<h3 class=fn>int <a name="y"></a>QPoint::y () const
+</h3>
+
+<p> Returns the y coordinate of the point.
+<p> <p>See also <a href="#setY">setY</a>() and <a href="#x">x</a>().
+
+<p>Examples: <a href="canvas-example.html#x2945">canvas/canvas.cpp</a>, <a href="tutorial2-06.html#x2582">chart/canvasview.cpp</a>, <a href="fileiconview-example.html#x865">fileiconview/qfileiconview.cpp</a>, <a href="helpsystem-example.html#x2680">helpsystem/tooltip.cpp</a>, <a href="life-example.html#x1894">life/life.cpp</a>, <a href="tutorial1-14.html#x2425">t14/cannon.cpp</a>, and <a href="themes-example.html#x230">themes/wood.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn>bool <a name="operator!-eq"></a>operator!= ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>p1</em> and <em>p2</em> are not equal; otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator*"></a>operator* ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, int&nbsp;c )
+</h3>
+
+<p>
+<p> Returns the QPoint formed by multiplying both components of <em>p</em>
+by <em>c</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator*-2"></a>operator* ( int&nbsp;c, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the QPoint formed by multiplying both components of <em>p</em>
+by <em>c</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator*-3"></a>operator* ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the QPoint formed by multiplying both components of <em>p</em>
+by <em>c</em>.
+<p> Note that the result is truncated because points are held as
+integers.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator*-4"></a>operator* ( double&nbsp;c, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the QPoint formed by multiplying both components of <em>p</em>
+by <em>c</em>.
+<p> Note that the result is truncated because points are held as
+integers.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator+"></a>operator+ ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
+</h3>
+
+<p>
+<p> Returns the sum of <em>p1</em> and <em>p2</em>; each component is added separately.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator-"></a>operator- ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
+</h3>
+
+<p>
+<p> Returns <em>p2</em> subtracted from <em>p1</em>; each component is subtracted
+separately.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator--2"></a>operator- ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the QPoint formed by changing the sign of both components
+of <em>p</em>, equivalent to <tt>QPoint(0,0) - p</tt>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator/"></a>operator/ ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, int&nbsp;c )
+</h3>
+
+<p>
+<p> Returns the QPoint formed by dividing both components of <em>p</em> by
+<em>c</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="operator/-2"></a>operator/ ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns the QPoint formed by dividing both components of <em>p</em>
+by <em>c</em>.
+<p> Note that the result is truncated because points are held as
+integers.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Writes point <em>p</em> to the stream <em>s</em> and returns a reference to
+the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p1, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>p1</em> and <em>p2</em> are equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> Reads a QPoint from the stream <em>s</em> into point <em>p</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpointarray-h.html b/doc/html/qpointarray-h.html
new file mode 100644
index 0000000..c50bff7
--- /dev/null
+++ b/doc/html/qpointarray-h.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpointarray.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpointarray.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpointarray.h</h1>
+
+<p>This is the verbatim text of the qpointarray.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpointarray.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPointArray class
+**
+** Created : 940213
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPOINTARRAY_H
+#define QPOINTARRAY_H
+
+#ifndef QT_H
+#include "qmemarray.h"
+#include "qpoint.h"
+#endif // QT_H
+
+
+#if defined(Q_TEMPLATEDLL)
+//Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray&lt;QPoint&gt;;
+#endif
+
+class Q_EXPORT QPointArray : public QMemArray&lt;QPoint&gt;
+{
+public:
+ QPointArray() {}
+ ~QPointArray() {}
+ QPointArray( int size ) : QMemArray&lt;QPoint&gt;( size ) {}
+ QPointArray( const QPointArray &amp;a ) : QMemArray&lt;QPoint&gt;( a ) {}
+ QPointArray( const QRect &amp;r, bool closed=FALSE );
+ QPointArray( int nPoints, const QCOORD *points );
+
+ QPointArray &amp;operator=( const QPointArray &amp;a )
+ { return (QPointArray&amp;)assign( a ); }
+
+ QPointArray copy() const
+ { QPointArray tmp; return *((QPointArray*)&amp;tmp.duplicate(*this)); }
+
+ void translate( int dx, int dy );
+ QRect boundingRect() const;
+
+ void point( uint i, int *x, int *y ) const;
+ QPoint point( uint i ) const;
+ void setPoint( uint i, int x, int y );
+ void setPoint( uint i, const QPoint &amp;p );
+ bool setPoints( int nPoints, const QCOORD *points );
+ bool setPoints( int nPoints, int firstx, int firsty, ... );
+ bool putPoints( int index, int nPoints, const QCOORD *points );
+ bool putPoints( int index, int nPoints, int firstx, int firsty, ... );
+ bool putPoints( int index, int nPoints,
+ const QPointArray &amp; from, int fromIndex=0 );
+
+ void makeArc( int x, int y, int w, int h, int a1, int a2 );
+ void makeEllipse( int x, int y, int w, int h );
+ void makeArc( int x, int y, int w, int h, int a1, int a2,
+ const QWMatrix&amp; );
+#ifndef QT_NO_BEZIER
+ QPointArray cubicBezier() const;
+#endif
+ void* shortPoints( int index = 0, int nPoints = -1 ) const;
+ static void cleanBuffers();
+
+protected:
+ static uint splen;
+ static void* sp;
+};
+
+
+/*****************************************************************************
+ QPointArray stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QPointArray &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QPointArray &amp; );
+#endif
+
+/*****************************************************************************
+ Misc. QPointArray functions
+ *****************************************************************************/
+
+inline void QPointArray::setPoint( uint i, const QPoint &amp;p )
+{
+ setPoint( i, p.x(), p.y() );
+}
+
+
+#endif // QPOINTARRAY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpointarray-members.html b/doc/html/qpointarray-members.html
new file mode 100644
index 0000000..a6b054a
--- /dev/null
+++ b/doc/html/qpointarray-members.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpointarray.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPointArray Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPointArray</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpointarray.html">QPointArray</a>, including inherited members.
+
+<ul>
+<li><a href="qpointarray.html#QPointArray">QPointArray</a>()
+<li><a href="qpointarray.html#~QPointArray">~QPointArray</a>()
+<li><a href="qmemarray.html#assign">assign</a>()
+<li><a href="qmemarray.html#at">at</a>()
+<li><a href="qmemarray.html#begin">begin</a>()
+<li><a href="qpointarray.html#boundingRect">boundingRect</a>()
+<li><a href="qmemarray.html#bsearch">bsearch</a>()
+<li><a href="qmemarray.html#contains">contains</a>()
+<li><a href="qpointarray.html#copy">copy</a>()
+<li><a href="qmemarray.html#count">count</a>()
+<li><a href="qpointarray.html#cubicBezier">cubicBezier</a>()
+<li><a href="qmemarray.html#data">data</a>()
+<li><a href="qmemarray.html#detach">detach</a>()
+<li><a href="qmemarray.html#duplicate">duplicate</a>()
+<li><a href="qmemarray.html#end">end</a>()
+<li><a href="qmemarray.html#fill">fill</a>()
+<li><a href="qmemarray.html#find">find</a>()
+<li><a href="qmemarray.html#isEmpty">isEmpty</a>()
+<li><a href="qmemarray.html#isNull">isNull</a>()
+<li><a href="qpointarray.html#makeArc">makeArc</a>()
+<li><a href="qpointarray.html#makeEllipse">makeEllipse</a>()
+<li><a href="qmemarray.html#nrefs">nrefs</a>()
+<li><a href="qmemarray.html#operator-const-type-*">operator const type *</a>()
+<li><a href="qmemarray.html#operator!-eq">operator!=</a>()
+<li><a href="qpointarray.html#operator-eq">operator=</a>()
+<li><a href="qmemarray.html#operator-eq-eq">operator==</a>()
+<li><a href="qmemarray.html#operator[]">operator[]</a>()
+<li><a href="qpointarray.html#point">point</a>()
+<li><a href="qpointarray.html#putPoints">putPoints</a>()
+<li><a href="qmemarray.html#resetRawData">resetRawData</a>()
+<li><a href="qmemarray.html#resize">resize</a>()
+<li><a href="qpointarray.html#setPoint">setPoint</a>()
+<li><a href="qmemarray.html#setRawData">setRawData</a>()
+<li><a href="qmemarray.html#size">size</a>()
+<li><a href="qmemarray.html#sort">sort</a>()
+<li><a href="qpointarray.html#translate">translate</a>()
+<li><a href="qmemarray.html#truncate">truncate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpointarray.html b/doc/html/qpointarray.html
new file mode 100644
index 0000000..1c4e19b
--- /dev/null
+++ b/doc/html/qpointarray.html
@@ -0,0 +1,285 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qpointarray.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPointArray Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPointArray Class Reference</h1>
+
+<p>The QPointArray class provides an array of points.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpointarray-h.html">qpointarray.h</a>&gt;</tt>
+<p>Inherits <a href="qmemarray.html">QMemArray</a>&lt;QPoint&gt;.
+<p><a href="qpointarray-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPointArray"><b>QPointArray</b></a> ()</li>
+<li class=fn><a href="#~QPointArray"><b>~QPointArray</b></a> ()</li>
+<li class=fn><a href="#QPointArray-2"><b>QPointArray</b></a> ( int&nbsp;size )</li>
+<li class=fn><a href="#QPointArray-3"><b>QPointArray</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn><a href="#QPointArray-4"><b>QPointArray</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, bool&nbsp;closed = FALSE )</li>
+<li class=fn>QPointArray &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QPointArray <a href="#copy"><b>copy</b></a> () const</li>
+<li class=fn>void <a href="#translate"><b>translate</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>void <a href="#point"><b>point</b></a> ( uint&nbsp;index, int&nbsp;*&nbsp;x, int&nbsp;*&nbsp;y ) const</li>
+<li class=fn>QPoint <a href="#point-2"><b>point</b></a> ( uint&nbsp;index ) const</li>
+<li class=fn>void <a href="#setPoint"><b>setPoint</b></a> ( uint&nbsp;index, int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#setPoint-2"><b>setPoint</b></a> ( uint&nbsp;i, const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>bool <a href="#putPoints"><b>putPoints</b></a> ( int&nbsp;index, int&nbsp;nPoints, int&nbsp;firstx, int&nbsp;firsty, ... )</li>
+<li class=fn>bool <a href="#putPoints-3"><b>putPoints</b></a> ( int&nbsp;index, int&nbsp;nPoints, const&nbsp;QPointArray&nbsp;&amp;&nbsp;from, int&nbsp;fromIndex = 0 )</li>
+<li class=fn>void <a href="#makeArc"><b>makeArc</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a1, int&nbsp;a2 )</li>
+<li class=fn>void <a href="#makeEllipse"><b>makeEllipse</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#makeArc-2"><b>makeArc</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a1, int&nbsp;a2, const&nbsp;QWMatrix&nbsp;&amp;&nbsp;xf )</li>
+<li class=fn>QPointArray <a href="#cubicBezier"><b>cubicBezier</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QPointArray&nbsp;&amp;&nbsp;a )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPointArray&nbsp;&amp;&nbsp;a )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPointArray class provides an array of points.
+<p>
+
+
+<p> A QPointArray is an array of <a href="qpoint.html">QPoint</a> objects. In addition to the
+functions provided by <a href="qmemarray.html">QMemArray</a>, QPointArray provides some
+point-specific functions.
+<p> For convenient reading and writing of the point data use
+setPoints(), <a href="#putPoints">putPoints</a>(), <a href="#point">point</a>(), and <a href="#setPoint">setPoint</a>().
+<p> For geometry operations use <a href="#boundingRect">boundingRect</a>() and <a href="#translate">translate</a>(). There
+is also the <a href="qwmatrix.html#map">QWMatrix::map</a>() function for more general
+transformations of QPointArrays. You can also create arcs and
+ellipses with <a href="#makeArc">makeArc</a>() and <a href="#makeEllipse">makeEllipse</a>().
+<p> Among others, QPointArray is used by <a href="qpainter.html#drawLineSegments">QPainter::drawLineSegments</a>(),
+<a href="qpainter.html#drawPolyline">QPainter::drawPolyline</a>(), <a href="qpainter.html#drawPolygon">QPainter::drawPolygon</a>() and
+<a href="qpainter.html#drawCubicBezier">QPainter::drawCubicBezier</a>().
+<p> Note that because this class is a QMemArray, copying an array and
+modifying the copy modifies the original as well, i.e. a <a href="shclass.html#shallow-copy">shallow copy</a>. If you need a <a href="shclass.html#deep-copy">deep copy</a> use <a href="#copy">copy</a>() or <a href="qmemarray.html#detach">detach</a>(), for example:
+<p> <pre>
+ void drawGiraffe( const QPointArray &amp; r, QPainter * p )
+ {
+ QPointArray tmp = r;
+ tmp.<a href="qmemarray.html#detach">detach</a>();
+ // some code that modifies tmp
+ p-&gt;drawPoints( tmp );
+ }
+ </pre>
+
+<p> If you forget the tmp.detach(), the const array will be modified.
+<p> <p>See also <a href="qpainter.html">QPainter</a>, <a href="qwmatrix.html">QWMatrix</a>, <a href="qmemarray.html">QMemArray</a>, <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="shared.html">Implicitly and Explicitly Shared Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPointArray"></a>QPointArray::QPointArray ()
+</h3>
+
+<p> Constructs a null point array.
+<p> <p>See also <a href="qmemarray.html#isNull">isNull</a>().
+
+<h3 class=fn><a name="QPointArray-2"></a>QPointArray::QPointArray ( int&nbsp;size )
+</h3>
+
+<p> Constructs a point array with room for <em>size</em> points. Makes a
+null array if <em>size</em> == 0.
+<p> <p>See also <a href="qmemarray.html#resize">resize</a>() and <a href="qmemarray.html#isNull">isNull</a>().
+
+<h3 class=fn><a name="QPointArray-3"></a>QPointArray::QPointArray ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Constructs a <a href="shclass.html#shallow-copy">shallow copy</a> of the point array <em>a</em>.
+<p> <p>See also <a href="#copy">copy</a>() and <a href="qmemarray.html#detach">detach</a>().
+
+<h3 class=fn><a name="QPointArray-4"></a>QPointArray::QPointArray ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, bool&nbsp;closed = FALSE )
+</h3>
+Constructs a point array from the rectangle <em>r</em>.
+<p> If <em>closed</em> is FALSE, then the point array just contains the
+following four points in the listed order: r.topLeft(),
+r.topRight(), r.bottomRight() and r.bottomLeft().
+<p> If <em>closed</em> is TRUE, then a fifth point is set to r.topLeft().
+
+<h3 class=fn><a name="~QPointArray"></a>QPointArray::~QPointArray ()
+</h3>
+
+<p> Destroys the point array.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QPointArray::boundingRect () const
+</h3>
+Returns the bounding rectangle of the points in the array, or
+<a href="qrect.html">QRect</a>(0,0,0,0) if the array is empty.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="copy"></a>QPointArray::copy () const
+</h3>
+
+<p> Creates a <a href="shclass.html#deep-copy">deep copy</a> of the array.
+<p> <p>See also <a href="qmemarray.html#detach">detach</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="cubicBezier"></a>QPointArray::cubicBezier () const
+</h3>
+Returns the Bezier points for the four control points in this
+array.
+
+<h3 class=fn>void <a name="makeArc"></a>QPointArray::makeArc ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a1, int&nbsp;a2 )
+</h3>
+Sets the points of the array to those describing an arc of an
+ellipse with size, width <em>w</em> by height <em>h</em>, and position (<em>x</em>,
+<em>y</em>), starting from angle <em>a1</em> and spanning by angle <em>a2</em>. The
+resulting array has sufficient resolution for pixel accuracy (see
+the overloaded function which takes an additional <a href="qwmatrix.html">QWMatrix</a>
+parameter).
+<p> Angles are specified in 16ths of a degree, i.e. a full circle
+equals 5760 (16*360). Positive values mean counter-clockwise,
+whereas negative values mean the clockwise direction. Zero degrees
+is at the 3 o'clock position.
+<p> See the <a href="qcanvasellipse.html#anglediagram">angle diagram</a>.
+
+<h3 class=fn>void <a name="makeArc-2"></a>QPointArray::makeArc ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, int&nbsp;a1, int&nbsp;a2, const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;xf )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the points of the array to those describing an arc of an
+ellipse with width <em>w</em> and height <em>h</em> and position (<em>x</em>, <em>y</em>),
+starting from angle <em>a1</em>, and spanning angle by <em>a2</em>, and
+transformed by the matrix <em>xf</em>. The resulting array has
+sufficient resolution for pixel accuracy.
+<p> Angles are specified in 16ths of a degree, i.e. a full circle
+equals 5760 (16*360). Positive values mean counter-clockwise,
+whereas negative values mean the clockwise direction. Zero degrees
+is at the 3 o'clock position.
+<p> See the <a href="qcanvasellipse.html#anglediagram">angle diagram</a>.
+
+<h3 class=fn>void <a name="makeEllipse"></a>QPointArray::makeEllipse ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Sets the points of the array to those describing an ellipse with
+size, width <em>w</em> by height <em>h</em>, and position (<em>x</em>, <em>y</em>).
+<p> The returned array has sufficient resolution for use as pixels.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a>&nbsp;&amp; <a name="operator-eq"></a>QPointArray::operator= ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Assigns a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>a</em> to this point array and returns a
+reference to this point array.
+<p> Equivalent to <a href="qmemarray.html#assign">assign</a>(a).
+<p> <p>See also <a href="#copy">copy</a>() and <a href="qmemarray.html#detach">detach</a>().
+
+<h3 class=fn>void <a name="point"></a>QPointArray::point ( uint&nbsp;index, int&nbsp;*&nbsp;x, int&nbsp;*&nbsp;y ) const
+</h3>
+Reads the coordinates of the point at position <em>index</em> within the
+array and writes them into <em>*x</em> and <em>*y</em>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="point-2"></a>QPointArray::point ( uint&nbsp;index ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point at position <em>index</em> within the array.
+
+<h3 class=fn>bool <a name="putPoints"></a>QPointArray::putPoints ( int&nbsp;index, int&nbsp;nPoints, int&nbsp;firstx, int&nbsp;firsty, ... )
+</h3>
+Copies <em>nPoints</em> points from the variable argument list into this
+point array from position <em>index</em>, and resizes the point array if
+<tt>index+nPoints</tt> exceeds the size of the array.
+<p> Returns TRUE if successful, or FALSE if the array could not be
+resized (typically due to lack of memory).
+<p> The example code creates an array with three points (4,5), (6,7)
+and (8,9), by expanding the array from 1 to 3 points:
+<p> <pre>
+ QPointArray a( 1 );
+ a[0] = QPoint( 4, 5 );
+ a.<a href="#putPoints">putPoints</a>( 1, 2, 6,7, 8,9 ); // index == 1, points == 2
+ </pre>
+
+<p> This has the same result, but here putPoints overwrites rather
+than extends:
+<pre>
+ QPointArray a( 3 );
+ a.<a href="#putPoints">putPoints</a>( 0, 3, 4,5, 0,0, 8,9 );
+ a.<a href="#putPoints">putPoints</a>( 1, 1, 6,7 );
+ </pre>
+
+<p> The points are given as a sequence of integers, starting with <em>firstx</em> then <em>firsty</em>, and so on.
+<p> <p>See also <a href="qmemarray.html#resize">resize</a>().
+
+<h3 class=fn>bool <a name="putPoints-3"></a>QPointArray::putPoints ( int&nbsp;index, int&nbsp;nPoints, const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;from, int&nbsp;fromIndex = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version of the function copies <em>nPoints</em> from <em>from</em> into
+this array, starting at <em>index</em> in this array and <em>fromIndex</em> in
+<em>from</em>. <em>fromIndex</em> is 0 by default.
+<p> <pre>
+ QPointArray a;
+ a.<a href="#putPoints">putPoints</a>( 0, 3, 1,2, 0,0, 5,6 );
+ // a is now the three-point array ( 1,2, 0,0, 5,6 );
+ QPointArray b;
+ b.<a href="#putPoints">putPoints</a>( 0, 3, 4,4, 5,5, 6,6 );
+ // b is now ( 4,4, 5,5, 6,6 );
+ a.<a href="#putPoints">putPoints</a>( 2, 3, b );
+ // a is now ( 1,2, 0,0, 4,4, 5,5, 6,6 );
+ </pre>
+
+
+<h3 class=fn>void <a name="setPoint"></a>QPointArray::setPoint ( uint&nbsp;index, int&nbsp;x, int&nbsp;y )
+</h3>
+Sets the point at position <em>index</em> in the array to <em>(x, y)</em>.
+
+<p>Example: <a href="themes-example.html#x231">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setPoint-2"></a>QPointArray::setPoint ( uint&nbsp;i, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the point at array index <em>i</em> to <em>p</em>.
+
+<h3 class=fn>void <a name="translate"></a>QPointArray::translate ( int&nbsp;dx, int&nbsp;dy )
+</h3>
+Translates all points in the array by <em>(dx, dy)</em>.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Writes the point array, <em>a</em> to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a )
+</h3>
+
+<p> Reads a point array, <em>a</em> from the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpopmenu-fancy.png b/doc/html/qpopmenu-fancy.png
new file mode 100644
index 0000000..5c72198
--- /dev/null
+++ b/doc/html/qpopmenu-fancy.png
Binary files differ
diff --git a/doc/html/qpopmenu-m.png b/doc/html/qpopmenu-m.png
new file mode 100644
index 0000000..30e1040
--- /dev/null
+++ b/doc/html/qpopmenu-m.png
Binary files differ
diff --git a/doc/html/qpopmenu-w.png b/doc/html/qpopmenu-w.png
new file mode 100644
index 0000000..36abd52
--- /dev/null
+++ b/doc/html/qpopmenu-w.png
Binary files differ
diff --git a/doc/html/qpopupmenu-h.html b/doc/html/qpopupmenu-h.html
new file mode 100644
index 0000000..b104869
--- /dev/null
+++ b/doc/html/qpopupmenu-h.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpopupmenu.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpopupmenu.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpopupmenu.h</h1>
+
+<p>This is the verbatim text of the qpopupmenu.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpopupmenu.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPopupMenu class
+**
+** Created : 941128
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPOPUPMENU_H
+#define QPOPUPMENU_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qmenudata.h"
+#endif // QT_H
+
+#ifndef QT_NO_POPUPMENU
+class QPopupMenuPrivate;
+
+class Q_EXPORT QPopupMenu : public QFrame, public QMenuData
+{
+ Q_OBJECT
+ Q_PROPERTY( bool checkable READ isCheckable WRITE setCheckable )
+public:
+ QPopupMenu( QWidget* parent=0, const char* name=0 );
+ ~QPopupMenu();
+
+ void popup( const QPoint &amp; pos, int indexAtPoint = -1 ); // open
+ void updateItem( int id );
+
+ virtual void setCheckable( bool );
+ bool isCheckable() const;
+
+ void setFont( const QFont &amp; );
+ void show();
+ void hide();
+
+ int exec();
+ int exec( const QPoint &amp; pos, int indexAtPoint = 0 ); // modal
+
+ virtual void setActiveItem( int );
+ QSize sizeHint() const;
+
+ int idAt( int index ) const { return QMenuData::idAt( index ); }
+ int idAt( const QPoint&amp; pos ) const;
+
+ bool customWhatsThis() const;
+
+ int insertTearOffHandle( int id=-1, int index=-1 );
+
+ void activateItemAt( int index );
+ QRect itemGeometry( int index );
+
+
+signals:
+ void activated( int itemId );
+ void highlighted( int itemId );
+ void activatedRedirect( int itemId ); // to parent menu
+ void highlightedRedirect( int itemId );
+ void aboutToShow();
+ void aboutToHide();
+
+protected:
+ int itemHeight( int ) const;
+ int itemHeight( QMenuItem* mi ) const;
+ void drawItem( QPainter* p, int tab, QMenuItem* mi,
+ bool act, int x, int y, int w, int h);
+
+ void drawContents( QPainter * );
+
+ void closeEvent( QCloseEvent *e );
+ void paintEvent( QPaintEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void keyPressEvent( QKeyEvent * );
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+ void timerEvent( QTimerEvent * );
+ void leaveEvent( QEvent * );
+ void styleChange( QStyle&amp; );
+ void enabledChange( bool );
+ int columns() const;
+
+ bool focusNextPrevChild( bool next );
+
+ int itemAtPos( const QPoint &amp;, bool ignoreSeparator = TRUE ) const;
+
+private slots:
+ void subActivated( int itemId );
+ void subHighlighted( int itemId );
+#ifndef QT_NO_ACCEL
+ void accelActivated( int itemId );
+ void accelDestroyed();
+#endif
+ void popupDestroyed( QObject* );
+ void modalActivation( int );
+
+ void subMenuTimer();
+ void subScrollTimer();
+ void allowAnimation();
+ void toggleTearOff();
+
+ void performDelayedChanges();
+
+private:
+ void updateScrollerState();
+ void menuContentsChanged();
+ void menuStateChanged();
+ void performDelayedContentsChanged();
+ void performDelayedStateChanged();
+ void menuInsPopup( QPopupMenu * );
+ void menuDelPopup( QPopupMenu * );
+ void frameChanged();
+
+ void actSig( int, bool = FALSE );
+ void hilitSig( int );
+ virtual void setFirstItemActive();
+ void hideAllPopups();
+ void hidePopups();
+ bool tryMenuBar( QMouseEvent * );
+ void byeMenuBar();
+
+ QSize updateSize(bool force_recalc=FALSE, bool do_resize=TRUE);
+ void updateRow( int row );
+#ifndef QT_NO_ACCEL
+ void updateAccel( QWidget * );
+ void enableAccel( bool );
+#endif
+ QPopupMenuPrivate *d;
+#ifndef QT_NO_ACCEL
+ QAccel *autoaccel;
+#endif
+
+#if defined(Q_WS_MAC) &amp;&amp; !defined(QMAC_QMENUBAR_NO_NATIVE)
+ bool macPopupMenu(const QPoint &amp;, int);
+ uint mac_dirty_popup : 1;
+#endif
+
+ int popupActive;
+ int tab;
+ uint accelDisabled : 1;
+ uint checkable : 1;
+ uint connectModalRecursionSafety : 1;
+ uint tornOff : 1;
+ uint pendingDelayedContentsChanges : 1;
+ uint pendingDelayedStateChanges : 1;
+ int maxPMWidth;
+ int ncols;
+ bool snapToMouse;
+ bool tryMouseEvent( QPopupMenu *, QMouseEvent * );
+
+ friend class QMenuData;
+ friend class QMenuBar;
+
+ void connectModal(QPopupMenu* receiver, bool doConnect);
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPopupMenu( const QPopupMenu &amp; );
+ QPopupMenu &amp;operator=( const QPopupMenu &amp; );
+#endif
+};
+
+
+#endif // QT_NO_POPUPMENU
+
+#endif // QPOPUPMENU_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpopupmenu-members.html b/doc/html/qpopupmenu-members.html
new file mode 100644
index 0000000..c262531
--- /dev/null
+++ b/doc/html/qpopupmenu-members.html
@@ -0,0 +1,405 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpopupmenu.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPopupMenu Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPopupMenu</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpopupmenu.html">QPopupMenu</a>, including inherited members.
+
+<ul>
+<li><a href="qpopupmenu.html#QPopupMenu">QPopupMenu</a>()
+<li><a href="qpopupmenu.html#~QPopupMenu">~QPopupMenu</a>()
+<li><a href="qpopupmenu.html#aboutToHide">aboutToHide</a>()
+<li><a href="qpopupmenu.html#aboutToShow">aboutToShow</a>()
+<li><a href="qmenudata.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qmenudata.html#activateItemAt">activateItemAt</a>()
+<li><a href="qpopupmenu.html#activated">activated</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qmenudata.html#changeItem">changeItem</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qmenudata.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qpopupmenu.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qmenudata.html#connectItem">connectItem</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qmenudata.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qmenudata.html#disconnectItem">disconnectItem</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qpopupmenu.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qpopupmenu.html#drawItem">drawItem</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qpopupmenu.html#exec">exec</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qmenudata.html#findItem">findItem</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qpopupmenu.html#highlighted">highlighted</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qmenudata.html#iconSet">iconSet</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qpopupmenu.html#idAt">idAt</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qmenudata.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qmenudata.html#insertItem">insertItem</a>()
+<li><a href="qmenudata.html#insertSeparator">insertSeparator</a>()
+<li><a href="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qpopupmenu.html#isCheckable">isCheckable</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qmenudata.html#isItemActive">isItemActive</a>()
+<li><a href="qmenudata.html#isItemChecked">isItemChecked</a>()
+<li><a href="qmenudata.html#isItemEnabled">isItemEnabled</a>()
+<li><a href="qmenudata.html#isItemVisible">isItemVisible</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qpopupmenu.html#itemHeight">itemHeight</a>()
+<li><a href="qmenudata.html#itemParameter">itemParameter</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qmenudata.html#menuContentsChanged">menuContentsChanged</a>()
+<li><a href="qmenudata.html#menuDelPopup">menuDelPopup</a>()
+<li><a href="qmenudata.html#menuInsPopup">menuInsPopup</a>()
+<li><a href="qmenudata.html#menuStateChanged">menuStateChanged</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qmenudata.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qpopupmenu.html#popup">popup</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qmenudata.html#removeItem">removeItem</a>()
+<li><a href="qmenudata.html#removeItemAt">removeItemAt</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmenudata.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qpopupmenu.html#setActiveItem">setActiveItem</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qpopupmenu.html#setCheckable">setCheckable</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qmenudata.html#setId">setId</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qmenudata.html#setItemChecked">setItemChecked</a>()
+<li><a href="qmenudata.html#setItemEnabled">setItemEnabled</a>()
+<li><a href="qmenudata.html#setItemParameter">setItemParameter</a>()
+<li><a href="qmenudata.html#setItemVisible">setItemVisible</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qmenudata.html#setWhatsThis">setWhatsThis</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qmenudata.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qpopupmenu.html#updateItem">updateItem</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qmenudata.html#whatsThis">whatsThis</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpopupmenu.html b/doc/html/qpopupmenu.html
new file mode 100644
index 0000000..d60d260
--- /dev/null
+++ b/doc/html/qpopupmenu.html
@@ -0,0 +1,830 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qpopupmenu.cpp:126 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPopupMenu Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPopupMenu Class Reference</h1>
+
+<p>The QPopupMenu class provides a popup menu widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a> and <a href="qmenudata.html">QMenuData</a>.
+<p><a href="qpopupmenu-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPopupMenu"><b>QPopupMenu</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QPopupMenu"><b>~QPopupMenu</b></a> ()</li>
+<li class=fn>void <a href="#popup"><b>popup</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;indexAtPoint = -1 )</li>
+<li class=fn>virtual void <a href="#updateItem"><b>updateItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>virtual void <a href="#setCheckable"><b>setCheckable</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isCheckable"><b>isCheckable</b></a> () const</li>
+<li class=fn>int <a href="#exec"><b>exec</b></a> ()</li>
+<li class=fn>int <a href="#exec-2"><b>exec</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;indexAtPoint = 0 )</li>
+<li class=fn>virtual void <a href="#setActiveItem"><b>setActiveItem</b></a> ( int&nbsp;i )</li>
+<li class=fn>int <a href="#idAt"><b>idAt</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#idAt-2"><b>idAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>int <a href="#insertTearOffHandle"><b>insertTearOffHandle</b></a> ( int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#highlighted"><b>highlighted</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#aboutToShow"><b>aboutToShow</b></a> ()</li>
+<li class=fn>void <a href="#aboutToHide"><b>aboutToHide</b></a> ()</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>int <a href="#insertItem"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-2"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-3"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-4"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;QKeySequence&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-5"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-6"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-7"><b>insertItem</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-8"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-9"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-a"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-b"><b>insertItem</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-c"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap, QPopupMenu&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-d"><b>insertItem</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-e"><b>insertItem</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertItem-f"><b>insertItem</b></a> ( QCustomMenuItem&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )</li>
+<li class=fn>int <a href="#insertSeparator"><b>insertSeparator</b></a> ( int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#removeItem"><b>removeItem</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#removeItemAt"><b>removeItemAt</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setAccel"><b>setAccel</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;key, int&nbsp;id )</li>
+<li class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QPixmap * <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setWhatsThis"><b>setWhatsThis</b></a> ( int&nbsp;id, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#whatsThis"><b>whatsThis</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#changeItem"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#changeItem-2"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>void <a href="#changeItem-3"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#changeItem-4"><b>changeItem</b></a> ( int&nbsp;id, const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>bool <a href="#isItemEnabled"><b>isItemEnabled</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemEnabled"><b>setItemEnabled</b></a> ( int&nbsp;id, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isItemChecked"><b>isItemChecked</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemChecked"><b>setItemChecked</b></a> ( int&nbsp;id, bool&nbsp;check )</li>
+<li class=fn>bool <a href="#isItemVisible"><b>isItemVisible</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>void <a href="#setItemVisible"><b>setItemVisible</b></a> ( int&nbsp;id, bool&nbsp;visible )</li>
+<li class=fn>bool <a href="#connectItem"><b>connectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#disconnectItem"><b>disconnectItem</b></a> ( int&nbsp;id, const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#setItemParameter"><b>setItemParameter</b></a> ( int&nbsp;id, int&nbsp;param )</li>
+<li class=fn>int <a href="#itemParameter"><b>itemParameter</b></a> ( int&nbsp;id ) const</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#checkable-prop"><b>checkable</b></a>&nbsp;- whether the display of check marks on menu items is enabled</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>int <a href="#itemHeight"><b>itemHeight</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>int <a href="#itemHeight-2"><b>itemHeight</b></a> ( QMenuItem&nbsp;*&nbsp;mi ) const</li>
+<li class=fn>void <a href="#drawItem"><b>drawItem</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;tab_, QMenuItem&nbsp;*&nbsp;mi, bool&nbsp;act, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p )</li>
+<li class=fn>int <a href="#columns"><b>columns</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPopupMenu class provides a popup menu widget.
+<p>
+
+
+<p> A popup menu widget is a selection menu. It can be either a
+pull-down menu in a menu bar or a standalone context (popup) menu.
+Pull-down menus are shown by the menu bar when the user clicks on
+the respective item or presses the specified shortcut key. Use
+<a href="qmenudata.html#insertItem">QMenuBar::insertItem</a>() to insert a popup menu into a menu bar.
+Show a context menu either asynchronously with <a href="#popup">popup</a>() or
+synchronously with <a href="#exec">exec</a>().
+<p> Technically, a popup menu consists of a list of menu items. You
+add items with <a href="qmenudata.html#insertItem">insertItem</a>(). An item is either a string, a pixmap
+or a custom item that provides its own drawing function (see
+<a href="qcustommenuitem.html">QCustomMenuItem</a>). In addition, items can have an optional icon
+drawn on the very left side and an accelerator key such as
+"Ctrl+X".
+<p> There are three kinds of menu items: separators, menu items that
+perform an action and menu items that show a submenu. Separators
+are inserted with <a href="qmenudata.html#insertSeparator">insertSeparator</a>(). For submenus, you pass a
+pointer to a QPopupMenu in your call to insertItem(). All other
+items are considered action items.
+<p> When inserting action items you usually specify a receiver and a
+slot. The receiver will be notifed whenever the item is selected.
+In addition, QPopupMenu provides two signals, <a href="#activated">activated</a>() and
+<a href="#highlighted">highlighted</a>(), which signal the identifier of the respective menu
+item. It is sometimes practical to connect several items to one
+slot. To distinguish between them, specify a slot that takes an
+integer argument and use <a href="qmenudata.html#setItemParameter">setItemParameter</a>() to associate a unique
+value with each item.
+<p> You clear a popup menu with <a href="qmenudata.html#clear">clear</a>() and remove single items with
+<a href="qmenudata.html#removeItem">removeItem</a>() or <a href="qmenudata.html#removeItemAt">removeItemAt</a>().
+<p> A popup menu can display check marks for certain items when
+enabled with <a href="#setCheckable">setCheckable</a>(TRUE). You check or uncheck items with
+<a href="qmenudata.html#setItemChecked">setItemChecked</a>().
+<p> Items are either enabled or disabled. You toggle their state with
+<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>(). Just before a popup menu becomes visible, it
+emits the <a href="#aboutToShow">aboutToShow</a>() signal. You can use this signal to set the
+correct enabled/disabled states of all menu items before the user
+sees it. The corresponding <a href="#aboutToHide">aboutToHide</a>() signal is emitted when
+the menu hides again.
+<p> You can provide What's This? help for single menu items with
+<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>(). See <a href="qwhatsthis.html">QWhatsThis</a> for general information about this
+kind of lightweight online help.
+<p> For ultimate flexibility, you can also add entire widgets as items
+into a popup menu (for example, a color selector).
+<p> A QPopupMenu can also provide a tear-off menu. A tear-off menu is
+a top-level window that contains a copy of the menu. This makes it
+possible for the user to "tear off" frequently used menus and
+position them in a convenient place on the screen. If you want
+that functionality for a certain menu, insert a tear-off handle
+with <a href="#insertTearOffHandle">insertTearOffHandle</a>(). When using tear-off menus, bear in
+mind that the concept isn't typically used on Microsoft Windows so
+users may not be familiar with it. Consider using a <a href="qtoolbar.html">QToolBar</a>
+instead. Tear-off menus cannot contain custom widgets; if the
+original menu contains a custom widget item, this item is omitted.
+<p> <a href="menu-example.html">menu/menu.cpp</a> is an example of
+<a href="qmenubar.html">QMenuBar</a> and QPopupMenu use.
+<p>
+<p> <img src=qpopmenu-m.png> <img src=qpopmenu-w.png>
+<p> <p>See also <a href="qmenubar.html">QMenuBar</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Menu, Drop-Down and
+ Pop-Up</a>, <a href="application.html">Main Window and Related Classes</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPopupMenu"></a>QPopupMenu::QPopupMenu ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a popup menu called <em>name</em> with parent <em>parent</em>.
+<p> Although a popup menu is always a top-level widget, if a parent is
+passed the popup menu will be deleted when that parent is
+destroyed (as with any other <a href="qobject.html">QObject</a>).
+
+<h3 class=fn><a name="~QPopupMenu"></a>QPopupMenu::~QPopupMenu ()
+</h3>
+Destroys the popup menu.
+
+<h3 class=fn>void <a name="aboutToHide"></a>QPopupMenu::aboutToHide ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the popup menu is hidden after
+it has been displayed.
+<p> <b>Warning:</b> Do not open a widget in a slot connected to this signal.
+<p> <p>See also <a href="#aboutToShow">aboutToShow</a>(), <a href="qmenudata.html#setItemEnabled">setItemEnabled</a>(), <a href="qmenudata.html#setItemChecked">setItemChecked</a>(), <a href="qmenudata.html#insertItem">insertItem</a>(), and <a href="qmenudata.html#removeItem">removeItem</a>().
+
+<h3 class=fn>void <a name="aboutToShow"></a>QPopupMenu::aboutToShow ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the popup menu is displayed.
+You can connect it to any slot that sets up the menu contents
+(e.g. to ensure that the right items are enabled).
+<p> <p>See also <a href="#aboutToHide">aboutToHide</a>(), <a href="qmenudata.html#setItemEnabled">setItemEnabled</a>(), <a href="qmenudata.html#setItemChecked">setItemChecked</a>(), <a href="qmenudata.html#insertItem">insertItem</a>(), and <a href="qmenudata.html#removeItem">removeItem</a>().
+
+<p>Example: <a href="mdi-example.html#x2048">mdi/application.cpp</a>.
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QMenuData::accel ( int&nbsp;id ) const
+</h3>
+Returns the accelerator key that has been defined for the menu
+item <em>id</em>, or 0 if it has no accelerator key or if there is no
+such menu item.
+<p> <p>See also <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>void <a name="activated"></a>QPopupMenu::activated ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a menu item is selected; <em>id</em> is the
+id of the selected item.
+<p> Normally, you connect each menu item to a single slot using
+<a href="qmenudata.html#insertItem">QMenuData::insertItem</a>(), but sometimes you will want to connect
+several items to a single slot (most often if the user selects
+from an array). This signal is useful in such cases.
+<p> <p>See also <a href="#highlighted">highlighted</a>() and <a href="qmenudata.html#insertItem">QMenuData::insertItem</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2767">grapher/grapher.cpp</a>, <a href="helpviewer-example.html#x1004">helpviewer/helpwindow.cpp</a>, <a href="qdir-example.html#x1835">qdir/qdir.cpp</a>, <a href="qwerty-example.html#x386">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x642">scrollview/scrollview.cpp</a>, and <a href="showimg-example.html#x1341">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="changeItem"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Changes the text of the menu item <em>id</em> to <em>text</em>. If the item
+has an icon, the icon remains unchanged.
+<p> <p>See also <a href="qmenudata.html#text">text</a>().
+
+<h3 class=fn>void <a name="changeItem-2"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the pixmap of the menu item <em>id</em> to the pixmap <em>pixmap</em>.
+If the item has an icon, the icon is unchanged.
+<p> <p>See also <a href="qmenudata.html#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-3"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the iconset and text of the menu item <em>id</em> to the <em>icon</em>
+and <em>text</em> respectively.
+<p> <p>See also <a href="qmenudata.html#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="changeItem-4"></a>QMenuData::changeItem ( int&nbsp;id, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the iconset and pixmap of the menu item <em>id</em> to <em>icon</em>
+and <em>pixmap</em> respectively.
+<p> <p>See also <a href="qmenudata.html#pixmap">pixmap</a>().
+
+<h3 class=fn>void <a name="clear"></a>QMenuData::clear ()
+</h3>
+Removes all menu items.
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>() and <a href="qmenudata.html#removeItemAt">removeItemAt</a>().
+
+<p>Examples: <a href="mdi-example.html#x2029">mdi/application.cpp</a> and <a href="qwerty-example.html#x370">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="columns"></a>QPopupMenu::columns () const<tt> [protected]</tt>
+</h3>
+If a popup menu does not fit on the screen it lays itself out so
+that it does fit. It is style dependent what layout means (for
+example, on Windows it will use multiple columns).
+<p> This functions returns the number of columns necessary.
+<p> <p>See also <a href="qwidget.html#sizeHint-prop">sizeHint</a>.
+
+<h3 class=fn>bool <a name="connectItem"></a>QMenuData::connectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the menu item with identifier <em>id</em> to <em>receiver</em>'s <em>member</em> slot or signal.
+<p> The receiver's slot (or signal) is activated when the menu item is
+activated.
+<p> <p>See also <a href="qmenudata.html#disconnectItem">disconnectItem</a>() and <a href="qmenudata.html#setItemParameter">setItemParameter</a>().
+
+<p>Example: <a href="menu-example.html#x1868">menu/menu.cpp</a>.
+<h3 class=fn>bool <a name="disconnectItem"></a>QMenuData::disconnectItem ( int&nbsp;id, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Disconnects the <em>receiver</em>'s <em>member</em> from the menu item with
+identifier <em>id</em>.
+<p> All connections are removed when the menu data object is
+destroyed.
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>() and <a href="qmenudata.html#setItemParameter">setItemParameter</a>().
+
+<h3 class=fn>void <a name="drawContents"></a>QPopupMenu::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Draws all menu items using painter <em>p</em>.
+
+<p>Reimplemented from <a href="qframe.html#drawContents">QFrame</a>.
+<h3 class=fn>void <a name="drawItem"></a>QPopupMenu::drawItem ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;tab_, QMenuItem&nbsp;*&nbsp;mi, bool&nbsp;act, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [protected]</tt>
+</h3>
+Draws menu item <em>mi</em> in the area <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>, using
+painter <em>p</em>. The item is drawn active if <em>act</em> is TRUE or drawn
+inactive if <em>act</em> is FALSE. The rightmost <em>tab_</em> pixels are used
+for accelerator text.
+<p> <p>See also <a href="qstyle.html#drawControl">QStyle::drawControl</a>().
+
+<h3 class=fn>int <a name="exec"></a>QPopupMenu::exec ()
+</h3>
+Executes this popup synchronously.
+<p> This is equivalent to <tt>exec(mapToGlobal(QPoint(0,0)))</tt>. In most
+situations you'll want to specify the position yourself, for
+example at the current mouse position:
+<pre>
+ <a href="#exec">exec</a>(QCursor::<a href="qcursor.html#pos">pos</a>());
+ </pre>
+
+or aligned to a widget:
+<pre>
+ <a href="#exec">exec</a>(somewidget.mapToGlobal(QPoint(0,0)));
+ </pre>
+
+
+<p>Examples: <a href="fileiconview-example.html#x866">fileiconview/qfileiconview.cpp</a>, <a href="menu-example.html#x1878">menu/menu.cpp</a>, and <a href="scribble-example.html#x923">scribble/scribble.cpp</a>.
+<h3 class=fn>int <a name="exec-2"></a>QPopupMenu::exec ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;indexAtPoint = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Executes this popup synchronously.
+<p> Opens the popup menu so that the item number <em>indexAtPoint</em> will
+be at the specified <em>global</em> position <em>pos</em>. To translate a
+widget's local coordinates into global coordinates, use
+<a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>().
+<p> The return code is the id of the selected item in either the popup
+menu or one of its submenus, or -1 if no item is selected
+(normally because the user pressed Esc).
+<p> Note that all signals are emitted as usual. If you connect a menu
+item to a slot and call the menu's <a href="#exec">exec</a>(), you get the result both
+via the signal-slot connection and in the return value of exec().
+<p> Common usage is to position the popup at the current mouse
+position:
+<pre>
+ <a href="#exec">exec</a>( QCursor::<a href="qcursor.html#pos">pos</a>() );
+ </pre>
+
+or aligned to a widget:
+<pre>
+ <a href="#exec">exec</a>( somewidget.mapToGlobal(QPoint(0, 0)) );
+ </pre>
+
+<p> When positioning a popup with exec() or <a href="#popup">popup</a>(), bear in mind that
+you cannot rely on the popup menu's current <a href="qwidget.html#size">size</a>(). For
+performance reasons, the popup adapts its size only when
+necessary. So in many cases, the size before and after the show is
+different. Instead, use <a href="qwidget.html#sizeHint">sizeHint</a>(). It calculates the proper size
+depending on the menu's current contents.
+<p> <p>See also <a href="#popup">popup</a>() and <a href="qwidget.html#sizeHint-prop">sizeHint</a>.
+
+<h3 class=fn>void <a name="highlighted"></a>QPopupMenu::highlighted ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a menu item is highlighted; <em>id</em> is
+the id of the highlighted item.
+<p> <p>See also <a href="#activated">activated</a>() and <a href="qmenudata.html#insertItem">QMenuData::insertItem</a>().
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;* <a name="iconSet"></a>QMenuData::iconSet ( int&nbsp;id ) const
+</h3>
+Returns the icon set that has been set for menu item <em>id</em>, or 0
+if no icon set has been set.
+<p> <p>See also <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#text">text</a>(), and <a href="qmenudata.html#pixmap">pixmap</a>().
+
+<h3 class=fn>int <a name="idAt"></a>QPopupMenu::idAt ( int&nbsp;index ) const
+</h3>
+
+<p> Returns the identifier of the menu item at position <em>index</em> in
+the internal list, or -1 if <em>index</em> is out of range.
+<p> <p>See also <a href="qmenudata.html#setId">QMenuData::setId</a>() and <a href="qmenudata.html#indexOf">QMenuData::indexOf</a>().
+
+<p>Example: <a href="scrollview-example.html#x643">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="idAt-2"></a>QPopupMenu::idAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the id of the item at <em>pos</em>, or -1 if there is no item
+there or if it is a separator.
+
+<h3 class=fn>int <a name="insertItem"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+The family of <a href="qmenudata.html#insertItem">insertItem</a>() functions inserts menu items into a
+popup menu or a menu bar.
+<p> A menu item is usually either a text string or a pixmap, both with
+an optional icon or keyboard accelerator. For special cases it is
+also possible to insert custom items (see <a href="qcustommenuitem.html">QCustomMenuItem</a>) or
+even widgets into popup menus.
+<p> Some insertItem() members take a popup menu as an additional
+argument. Use this to insert submenus into existing menus or
+pulldown menus into a menu bar.
+<p> The number of insert functions may look confusing, but they are
+actually quite simple to use.
+<p> This default version inserts a menu item with the text <em>text</em>,
+the accelerator key <em>accel</em>, an id and an optional index and
+connects it to the slot <em>member</em> in the object <em>receiver</em>.
+<p> Example:
+<pre>
+ <a href="qmenubar.html">QMenuBar</a> *mainMenu = new <a href="qmenubar.html">QMenuBar</a>;
+ QPopupMenu *fileMenu = new QPopupMenu;
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "New", myView, SLOT(newFile()), CTRL+Key_N );
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open", myView, SLOT(open()), CTRL+Key_O );
+ mainMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "File", fileMenu );
+ </pre>
+
+<p> Not all insert functions take an object/slot parameter or an
+accelerator key. Use <a href="qmenudata.html#connectItem">connectItem</a>() and <a href="qmenudata.html#setAccel">setAccel</a>() on those items.
+<p> If you need to translate accelerators, use <a href="qobject.html#tr">tr</a>() with the text and
+accelerator. (For translations use a string <a href="qkeysequence.html">key
+ sequence</a>.):
+<pre>
+ fileMenu-&gt;insertItem( <a href="qobject.html#tr">tr</a>("Open"), myView, SLOT(open()),
+ <a href="qobject.html#tr">tr</a>("Ctrl+O") );
+ </pre>
+
+<p> In the example above, pressing Ctrl+O or selecting "Open" from the
+menu activates the myView->open() function.
+<p> Some insert functions take a <a href="qiconset.html">QIconSet</a> parameter to specify the
+little menu item icon. Note that you can always pass a <a href="qpixmap.html">QPixmap</a>
+object instead.
+<p> The <em>id</em> specifies the identification number associated with the
+menu item. Note that only positive values are valid, as a negative
+value will make Qt select a unique id for the item.
+<p> The <em>index</em> specifies the position in the menu. The menu item is
+appended at the end of the list if <em>index</em> is negative.
+<p> Note that keyboard accelerators in Qt are not application-global,
+instead they are bound to a certain top-level window. For example,
+accelerators in QPopupMenu items only work for menus that are
+associated with a certain window. This is true for popup menus
+that live in a menu bar since their accelerators will then be
+installed in the menu bar itself. This also applies to stand-alone
+popup menus that have a top-level widget in their <a href="qwidget.html#parentWidget">parentWidget</a>()
+chain. The menu will then install its accelerator object on that
+top-level widget. For all other cases use an independent <a href="qaccel.html">QAccel</a>
+object.
+<p> <b>Warning:</b> Be careful when passing a literal 0 to <a href="qmenudata.html#insertItem">insertItem</a>()
+because some C++ compilers choose the wrong overloaded function.
+Cast the 0 to what you mean, e.g. <tt>(QObject*)0</tt>.
+<p> <b>Warning:</b> On Mac OS X, items that connect to a slot that are inserted into a
+menubar will not function as we use the native menubar that knows nothing
+about signals or slots. Instead insert the items into a popup menu and
+insert the popup menu into the menubar. This may be fixed in a future Qt
+version.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<p>Examples: <a href="addressbook-example.html#x569">addressbook/mainwindow.cpp</a>, <a href="canvas-example.html#x2936">canvas/canvas.cpp</a>, <a href="menu-example.html#x1869">menu/menu.cpp</a>, <a href="qwerty-example.html#x371">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x634">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1327">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2810">sound/sound.cpp</a>.
+<h3 class=fn>int <a name="insertItem-2"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, accelerator
+<em>accel</em>, optional id <em>id</em>, and optional <em>index</em> position. The
+menu item is connected it to the <em>receiver</em>'s <em>member</em> slot. The
+icon will be displayed to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-3"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, accelerator <em>accel</em>,
+optional id <em>id</em>, and optional <em>index</em> position. The menu item
+is connected it to the <em>receiver</em>'s <em>member</em> slot. The icon will
+be displayed to the left of the text in the item.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-4"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member, const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;accel = 0, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>,
+accelerator <em>accel</em>, optional id <em>id</em>, and optional <em>index</em>
+position. The icon will be displayed to the left of the pixmap in
+the item. The item is connected to the <em>member</em> slot in the <em>receiver</em> object.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qnamespace-h.html">qnamespace.h</a>.
+
+<h3 class=fn>int <a name="insertItem-5"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-6"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, optional id
+<em>id</em>, and optional <em>index</em> position. The icon will be displayed
+to the left of the text in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-7"></a>QMenuData::insertItem ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with text <em>text</em>, submenu <em>popup</em>, optional
+id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-8"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, text <em>text</em>, submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the text in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-9"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> To look best when being highlighted as a menu item, the pixmap
+should provide a mask (see <a href="qpixmap.html#mask">QPixmap::mask</a>()).
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-a"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em>, optional
+id <em>id</em>, and optional <em>index</em> position. The icon will be
+displayed to the left of the pixmap in the item.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-b"></a>QMenuData::insertItem ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with pixmap <em>pixmap</em>, submenu <em>popup</em>,
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-c"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap, <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item with icon <em>icon</em>, pixmap <em>pixmap</em> submenu <em>popup</em>, optional id <em>id</em>, and optional <em>index</em> position. The icon
+will be displayed to the left of the pixmap in the item.
+<p> The <em>popup</em> must be deleted by the programmer or by its parent
+widget. It is not deleted when this menu item is removed or when
+the menu is deleted.
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>(), <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#setAccel">setAccel</a>(), and <a href="qmenudata.html#connectItem">connectItem</a>().
+
+<h3 class=fn>int <a name="insertItem-d"></a>QMenuData::insertItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a menu item that consists of the widget <em>widget</em> with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> Ownership of <em>widget</em> is transferred to the popup menu or to the
+menu bar.
+<p> Theoretically, any widget can be inserted into a popup menu. In
+practice, this only makes sense with certain widgets.
+<p> If a widget is not focus-enabled (see
+<a href="qwidget.html#isFocusEnabled">QWidget::isFocusEnabled</a>()), the menu treats it as a separator;
+this means that the item is not selectable and will never get
+focus. In this way you can, for example, simply insert a <a href="qlabel.html">QLabel</a> if
+you need a popup menu with a title.
+<p> If the widget is focus-enabled it will get focus when the user
+traverses the popup menu with the arrow keys. If the widget does
+not accept <tt>ArrowUp</tt> and <tt>ArrowDown</tt> in its key event handler,
+the focus will move back to the menu when the respective arrow key
+is hit one more time. This works with a <a href="qlineedit.html">QLineEdit</a>, for example. If
+the widget accepts the arrow key itself, it must also provide the
+possibility to put the focus back on the menu again by calling
+<a href="qwidget.html#focusNextPrevChild">QWidget::focusNextPrevChild</a>(). Futhermore, if the embedded widget
+closes the menu when the user made a selection, this can be done
+safely by calling:
+<pre>
+ if ( <a href="qwidget.html#isVisible">isVisible</a>() &amp;&amp;
+ <a href="qwidget.html#parentWidget">parentWidget</a>() &amp;&amp;
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;inherits("QPopupMenu") )
+ <a href="qwidget.html#parentWidget">parentWidget</a>()-&gt;close();
+ </pre>
+
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>().
+
+<h3 class=fn>int <a name="insertItem-e"></a>QMenuData::insertItem ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with an <em>icon</em> and with
+optional id <em>id</em>, and optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="qmenudata.html#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertItem-f"></a>QMenuData::insertItem ( <a href="qcustommenuitem.html">QCustomMenuItem</a>&nbsp;*&nbsp;custom, int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a custom menu item <em>custom</em> with optional id <em>id</em>, and
+optional <em>index</em> position.
+<p> This only works with popup menus. It is not supported for menu
+bars. Ownership of <em>custom</em> is transferred to the popup menu.
+<p> If you want to connect a custom item to a slot, use <a href="qmenudata.html#connectItem">connectItem</a>().
+<p> Returns the allocated <a href="qmenudata.html#menu-identifier">menu identifier</a> number (<em>id</em> if <em>id</em> >= 0).
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#removeItem">removeItem</a>(), and <a href="qcustommenuitem.html">QCustomMenuItem</a>.
+
+<h3 class=fn>int <a name="insertSeparator"></a>QMenuData::insertSeparator ( int&nbsp;index = -1 )
+</h3>
+Inserts a separator at position <em>index</em>, and returns the <a href="qmenudata.html#menu-identifier">menu identifier</a>
+number allocated to it. The separator becomes the last menu item if
+<em>index</em> is negative.
+<p> In a popup menu a separator is rendered as a horizontal line. In a
+<a href="motif-extension.html#Motif">Motif</a> menu bar a separator is spacing, so the rest of the items
+(normally just "Help") are drawn right-justified. In a Windows
+menu bar separators are ignored (to comply with the Windows style
+guidelines).
+
+<p>Examples: <a href="addressbook-example.html#x570">addressbook/mainwindow.cpp</a>, <a href="menu-example.html#x1870">menu/menu.cpp</a>, <a href="progress-example.html#x69">progress/progress.cpp</a>, <a href="qwerty-example.html#x372">qwerty/qwerty.cpp</a>, <a href="scrollview-example.html#x635">scrollview/scrollview.cpp</a>, <a href="showimg-example.html#x1328">showimg/showimg.cpp</a>, and <a href="sound-example.html#x2811">sound/sound.cpp</a>.
+<h3 class=fn>int <a name="insertTearOffHandle"></a>QPopupMenu::insertTearOffHandle ( int&nbsp;id = -1, int&nbsp;index = -1 )
+</h3>
+Inserts a tear-off handle into the menu. A tear-off handle is a
+special menu item that creates a copy of the menu when the menu is
+selected. This "torn-off" copy lives in a separate window. It
+contains the same menu items as the original menu, with the
+exception of the tear-off handle.
+<p> The handle item is assigned the identifier <em>id</em> or an
+automatically generated identifier if <em>id</em> is < 0. The generated
+identifiers (negative integers) are guaranteed to be unique within
+the entire application.
+<p> The <em>index</em> specifies the position in the menu. The tear-off
+handle is appended at the end of the list if <em>index</em> is negative.
+
+<p>Example: <a href="menu-example.html#x1879">menu/menu.cpp</a>.
+<h3 class=fn>bool <a name="isCheckable"></a>QPopupMenu::isCheckable () const
+</h3><p>Returns TRUE if the display of check marks on menu items is enabled; otherwise returns FALSE.
+See the <a href="qpopupmenu.html#checkable-prop">"checkable"</a> property for details.
+<h3 class=fn>bool <a name="isItemChecked"></a>QMenuData::isItemChecked ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> has been checked;
+otherwise returns FALSE.
+<p> <p>See also <a href="qmenudata.html#setItemChecked">setItemChecked</a>().
+
+<p>Examples: <a href="canvas-example.html#x2938">canvas/canvas.cpp</a>, <a href="progress-example.html#x70">progress/progress.cpp</a>, and <a href="showimg-example.html#x1329">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="isItemEnabled"></a>QMenuData::isItemEnabled ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the item with identifier <em>id</em> is enabled;
+otherwise returns FALSE
+<p> <p>See also <a href="qmenudata.html#setItemEnabled">setItemEnabled</a>() and <a href="qmenudata.html#isItemVisible">isItemVisible</a>().
+
+<h3 class=fn>bool <a name="isItemVisible"></a>QMenuData::isItemVisible ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the menu item with the id <em>id</em> is visible;
+otherwise returns FALSE.
+<p> <p>See also <a href="qmenudata.html#setItemVisible">setItemVisible</a>().
+
+<h3 class=fn>int <a name="itemHeight"></a>QPopupMenu::itemHeight ( int&nbsp;row ) const<tt> [protected]</tt>
+</h3>
+Calculates the height in pixels of the item in row <em>row</em>.
+
+<h3 class=fn>int <a name="itemHeight-2"></a>QPopupMenu::itemHeight ( QMenuItem&nbsp;*&nbsp;mi ) const<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Calculates the height in pixels of the menu item <em>mi</em>.
+
+<h3 class=fn>int <a name="itemParameter"></a>QMenuData::itemParameter ( int&nbsp;id ) const
+</h3>
+Returns the parameter of the activation signal of item <em>id</em>.
+<p> If no parameter has been specified for this item with
+<a href="qmenudata.html#setItemParameter">setItemParameter</a>(), the value defaults to <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#disconnectItem">disconnectItem</a>(), and <a href="qmenudata.html#setItemParameter">setItemParameter</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QMenuData::pixmap ( int&nbsp;id ) const
+</h3>
+Returns the pixmap that has been set for menu item <em>id</em>, or 0 if
+no pixmap has been set.
+<p> <p>See also <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#text">text</a>(), and <a href="qmenudata.html#iconSet">iconSet</a>().
+
+<h3 class=fn>void <a name="popup"></a>QPopupMenu::popup ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;indexAtPoint = -1 )
+</h3>
+Displays the popup menu so that the item number <em>indexAtPoint</em>
+will be at the specified <em>global</em> position <em>pos</em>. To translate a
+widget's local coordinates into global coordinates, use
+<a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>().
+<p> When positioning a popup with <a href="#exec">exec</a>() or <a href="#popup">popup</a>(), bear in mind that
+you cannot rely on the popup menu's current <a href="qwidget.html#size">size</a>(). For
+performance reasons, the popup adapts its size only when
+necessary, so in many cases, the size before and after the show is
+different. Instead, use <a href="qwidget.html#sizeHint">sizeHint</a>(). It calculates the proper size
+depending on the menu's current contents.
+
+<p>Example: <a href="listviews-example.html#x159">listviews/listviews.cpp</a>.
+<h3 class=fn>void <a name="removeItem"></a>QMenuData::removeItem ( int&nbsp;id )
+</h3>
+
+<p> Removes the menu item that has the identifier <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#removeItemAt">removeItemAt</a>() and <a href="qmenudata.html#clear">clear</a>().
+
+<p>Example: <a href="canvas-chart-example.html#x2885">chart/chartform.cpp</a>.
+<h3 class=fn>void <a name="removeItemAt"></a>QMenuData::removeItemAt ( int&nbsp;index )
+</h3>
+Removes the menu item at position <em>index</em>.
+<p> <p>See also <a href="qmenudata.html#removeItem">removeItem</a>() and <a href="qmenudata.html#clear">clear</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QMenuData::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;key, int&nbsp;id )
+</h3>
+Sets the accelerator key for the menu item <em>id</em> to <em>key</em>.
+<p> An accelerator key consists of a key code and a combination of the
+modifiers <a href="qt.html#Modifier-enum">SHIFT</a>, <a href="qt.html#Modifier-enum">CTRL</a>, <a href="qt.html#Modifier-enum">ALT</a> or <a href="qt.html#Modifier-enum">UNICODE_ACCEL</a> (OR'ed or
+added). The header file <a href="qnamespace-h.html">qnamespace.h</a> contains a list of key
+codes.
+<p> Defining an accelerator key produces a text that is added to the
+menu item; for instance, <a href="qt.html#Modifier-enum">CTRL</a> + <a href="qt.html#Key-enum">Key_O</a> produces "Ctrl+O". The
+text is formatted differently for different platforms.
+<p> Note that keyboard accelerators in Qt are not application-global,
+instead they are bound to a certain top-level window. For example,
+accelerators in QPopupMenu items only work for menus that are
+associated with a certain window. This is true for popup menus
+that live in a menu bar since their accelerators will then be
+installed in the menu bar itself. This also applies to stand-alone
+popup menus that have a top-level widget in their <a href="qwidget.html#parentWidget">parentWidget</a>()
+chain. The menu will then install its accelerator object on that
+top-level widget. For all other cases use an independent <a href="qaccel.html">QAccel</a>
+object.
+<p> Example:
+<pre>
+ <a href="qmenubar.html">QMenuBar</a> *mainMenu = new <a href="qmenubar.html">QMenuBar</a>;
+ QPopupMenu *fileMenu = new QPopupMenu; // file sub menu
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open Document", 67 ); // add "Open" item
+ fileMenu-&gt;<a href="qmenudata.html#setAccel">setAccel</a>( CTRL + Key_O, 67 ); // Ctrl+O to open
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Quit", 69 ); // add "Quit" item
+ fileMenu-&gt;<a href="qmenudata.html#setAccel">setAccel</a>( CTRL + ALT + Key_Delete, 69 ); // add Alt+Del to quit
+ mainMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "File", fileMenu ); // add the file menu
+ </pre>
+
+<p> If you need to translate accelerators, use <a href="qobject.html#tr">tr</a>() with a string:
+<pre>
+ fileMenu-&gt;setAccel( <a href="qobject.html#tr">tr</a>("Ctrl+O"), 67 );
+ </pre>
+
+<p> You can also specify the accelerator in the <a href="qmenudata.html#insertItem">insertItem</a>() function.
+You may prefer to use <a href="qaction.html">QAction</a> to associate accelerators with menu
+items.
+<p> <p>See also <a href="qmenudata.html#accel">accel</a>(), <a href="qmenudata.html#insertItem">insertItem</a>(), <a href="qaccel.html">QAccel</a>, and <a href="qaction.html">QAction</a>.
+
+<p>Example: <a href="menu-example.html#x1871">menu/menu.cpp</a>.
+<h3 class=fn>void <a name="setActiveItem"></a>QPopupMenu::setActiveItem ( int&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Sets the currently active item to index <em>i</em> and repaints as necessary.
+
+<h3 class=fn>void <a name="setCheckable"></a>QPopupMenu::setCheckable ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the display of check marks on menu items is enabled.
+See the <a href="qpopupmenu.html#checkable-prop">"checkable"</a> property for details.
+<h3 class=fn>void <a name="setItemChecked"></a>QMenuData::setItemChecked ( int&nbsp;id, bool&nbsp;check )
+</h3>
+If <em>check</em> is TRUE, checks the menu item with id <em>id</em>; otherwise
+unchecks the menu item with id <em>id</em>. Calls
+<a href="#setCheckable">QPopupMenu::setCheckable</a>( TRUE ) if necessary.
+<p> <p>See also <a href="qmenudata.html#isItemChecked">isItemChecked</a>().
+
+<p>Examples: <a href="canvas-example.html#x2939">canvas/canvas.cpp</a>, <a href="grapher-nsplugin-example.html#x2749">grapher/grapher.cpp</a>, <a href="mdi-example.html#x2032">mdi/application.cpp</a>, <a href="menu-example.html#x1872">menu/menu.cpp</a>, <a href="progress-example.html#x71">progress/progress.cpp</a>, <a href="scrollview-example.html#x636">scrollview/scrollview.cpp</a>, and <a href="showimg-example.html#x1330">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="setItemEnabled"></a>QMenuData::setItemEnabled ( int&nbsp;id, bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, enables the menu item with identifier <em>id</em>;
+otherwise disables the menu item with identifier <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#isItemEnabled">isItemEnabled</a>().
+
+<p>Examples: <a href="mdi-example.html#x2033">mdi/application.cpp</a>, <a href="menu-example.html#x1873">menu/menu.cpp</a>, <a href="progress-example.html#x72">progress/progress.cpp</a>, and <a href="showimg-example.html#x1331">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="setItemParameter"></a>QMenuData::setItemParameter ( int&nbsp;id, int&nbsp;param )
+</h3>
+Sets the parameter of the activation signal of item <em>id</em> to <em>param</em>.
+<p> If any receiver takes an integer parameter, this value is passed.
+<p> <p>See also <a href="qmenudata.html#connectItem">connectItem</a>(), <a href="qmenudata.html#disconnectItem">disconnectItem</a>(), and <a href="qmenudata.html#itemParameter">itemParameter</a>().
+
+<p>Example: <a href="mdi-example.html#x2034">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="setItemVisible"></a>QMenuData::setItemVisible ( int&nbsp;id, bool&nbsp;visible )
+</h3>
+If <em>visible</em> is TRUE, shows the menu item with id <em>id</em>; otherwise
+hides the menu item with id <em>id</em>.
+<p> <p>See also <a href="qmenudata.html#isItemVisible">isItemVisible</a>() and <a href="qmenudata.html#isItemEnabled">isItemEnabled</a>().
+
+<h3 class=fn>void <a name="setWhatsThis"></a>QMenuData::setWhatsThis ( int&nbsp;id, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Sets <em>text</em> as What's This help for the menu item with identifier
+<em>id</em>.
+<p> <p>See also <a href="qmenudata.html#whatsThis">whatsThis</a>().
+
+<p>Examples: <a href="simple-application-example.html#x1554">application/application.cpp</a>, <a href="helpsystem-example.html#x2689">helpsystem/mainwindow.cpp</a>, and <a href="mdi-example.html#x2035">mdi/application.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QMenuData::text ( int&nbsp;id ) const
+</h3>
+Returns the text that has been set for menu item <em>id</em>, or
+<a href="qstring.html#QString-null">QString::null</a> if no text has been set.
+<p> <p>See also <a href="qmenudata.html#changeItem">changeItem</a>(), <a href="qmenudata.html#pixmap">pixmap</a>(), and <a href="qmenudata.html#iconSet">iconSet</a>().
+
+<p>Examples: <a href="qdir-example.html#x1831">qdir/qdir.cpp</a> and <a href="showimg-example.html#x1332">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="updateItem"></a>QPopupMenu::updateItem ( int&nbsp;id )<tt> [virtual]</tt>
+</h3>
+Updates the item with identity <em>id</em>.
+
+<p>Reimplemented from <a href="qmenudata.html#updateItem">QMenuData</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis"></a>QMenuData::whatsThis ( int&nbsp;id ) const
+</h3>
+Returns the What's This help text for the item with identifier <em>id</em> or <a href="qstring.html#QString-null">QString::null</a> if no text has yet been defined.
+<p> <p>See also <a href="qmenudata.html#setWhatsThis">setWhatsThis</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="checkable-prop"></a>checkable</h3>
+<p>This property holds whether the display of check marks on menu items is enabled.
+<p>When TRUE, the display of check marks on menu items is enabled.
+Checking is always enabled when in Windows-style.
+<p> <p>See also <a href="qmenudata.html#setItemChecked">QMenuData::setItemChecked</a>().
+
+<p>Set this property's value with <a href="#setCheckable">setCheckable</a>() and get this property's value with <a href="#isCheckable">isCheckable</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprintdlg-m.png b/doc/html/qprintdlg-m.png
new file mode 100644
index 0000000..dff0116
--- /dev/null
+++ b/doc/html/qprintdlg-m.png
Binary files differ
diff --git a/doc/html/qprinter-h.html b/doc/html/qprinter-h.html
new file mode 100644
index 0000000..bd5cae1
--- /dev/null
+++ b/doc/html/qprinter-h.html
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprinter.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qprinter.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qprinter.h</h1>
+
+<p>This is the verbatim text of the qprinter.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qprinter.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPrinter class
+**
+** Created : 940927
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPRINTER_H
+#define QPRINTER_H
+
+#ifndef QT_H
+#include "qpaintdevice.h"
+#include "qstring.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_PRINTER
+
+#if defined(B0)
+#undef B0 // Terminal hang-up. We assume that you do not want that.
+#endif
+
+class QPrinterPrivate;
+
+class Q_EXPORT QPrinter : public QPaintDevice
+{
+public:
+ enum PrinterMode { ScreenResolution, PrinterResolution, HighResolution, Compatible };
+
+ QPrinter( PrinterMode mode = ScreenResolution );
+ ~QPrinter();
+
+ enum Orientation { Portrait, Landscape };
+
+ enum PageSize { A4, B5, Letter, Legal, Executive,
+ A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1,
+ B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,
+ DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom };
+
+ enum PageOrder { FirstPageFirst, LastPageFirst };
+
+ enum ColorMode { GrayScale, Color };
+
+ enum PaperSource { OnlyOne, Lower, Middle, Manual, Envelope,
+ EnvelopeManual, Auto, Tractor, SmallFormat,
+ LargeFormat, LargeCapacity, Cassette, FormSource };
+
+ enum PrintRange { AllPages,
+ Selection,
+ PageRange };
+
+ enum PrinterOption { PrintToFile,
+ PrintSelection,
+ PrintPageRange };
+
+ QString printerName() const;
+ virtual void setPrinterName( const QString &amp;);
+ bool outputToFile() const;
+ virtual void setOutputToFile( bool );
+ QString outputFileName()const;
+ virtual void setOutputFileName( const QString &amp;);
+
+ QString printProgram() const;
+ virtual void setPrintProgram( const QString &amp;);
+
+ QString printerSelectionOption() const;
+ virtual void setPrinterSelectionOption( const QString &amp; );
+
+ QString docName() const;
+ virtual void setDocName( const QString &amp;);
+ QString creator() const;
+ virtual void setCreator( const QString &amp;);
+
+ Orientation orientation() const;
+ virtual void setOrientation( Orientation );
+ PageSize pageSize() const;
+ virtual void setPageSize( PageSize );
+#ifdef Q_WS_WIN
+ void setWinPageSize( short winPageSize );
+ short winPageSize() const;
+#endif
+#ifdef Q_WS_MAC
+ bool printSetup();
+ bool pageSetup();
+#endif
+ virtual void setPageOrder( PageOrder );
+ PageOrder pageOrder() const;
+
+ void setResolution( int );
+ int resolution() const;
+
+ virtual void setColorMode( ColorMode );
+ ColorMode colorMode() const;
+
+ virtual void setFullPage( bool );
+ bool fullPage() const;
+ QSize margins() const;
+ void setMargins( uint top, uint left, uint bottom, uint right );
+ void margins( uint *top, uint *left, uint *bottom, uint *right ) const;
+
+ int fromPage() const;
+ int toPage() const;
+ virtual void setFromTo( int fromPage, int toPage );
+ int minPage() const;
+ int maxPage() const;
+ virtual void setMinMax( int minPage, int maxPage );
+ int numCopies() const;
+ virtual void setNumCopies( int );
+
+ bool collateCopiesEnabled() const;
+ void setCollateCopiesEnabled(bool );
+
+ bool collateCopies() const;
+ void setCollateCopies( bool );
+
+ PrintRange printRange() const;
+ void setPrintRange( PrintRange range );
+
+ bool newPage();
+ bool abort();
+ bool aborted() const;
+
+ bool setup( QWidget *parent = 0 );
+
+ PaperSource paperSource() const;
+ virtual void setPaperSource( PaperSource );
+
+ void setOptionEnabled( PrinterOption, bool enable );
+ bool isOptionEnabled( PrinterOption );
+
+protected:
+ bool cmd( int, QPainter *, QPDevCmdParam * );
+ int metric( int ) const;
+
+#if defined(Q_WS_WIN)
+ virtual void setActive();
+ virtual void setIdle();
+#endif
+
+private:
+#if defined(Q_WS_X11) || defined(Q_WS_QWS)
+ QPaintDevice *pdrv;
+ int pid;
+#endif
+#if defined(Q_WS_MAC)
+ friend class QPrinterPrivate;
+ PMPageFormat pformat;
+ PMPrintSettings psettings;
+ PMPrintSession psession;
+ bool prepare(PMPrintSettings *);
+ bool prepare(PMPageFormat *);
+ void interpret(PMPrintSettings *);
+ void interpret(PMPageFormat *);
+#endif
+#if defined(Q_WS_WIN)
+ void readPdlg( void* );
+ void readPdlgA( void* );
+ void writeDevmode( Qt::HANDLE );
+ void writeDevmodeA( Qt::HANDLE );
+ void reinit();
+
+ bool viewOffsetDone;
+ QPainter* painter;
+ Qt::HANDLE hdevmode;
+ Qt::HANDLE hdevnames;
+#endif
+
+ int state;
+ QString printer_name;
+ QString option_string;
+ QString output_filename;
+ bool output_file;
+ QString print_prog;
+ QString doc_name;
+ QString creator_name;
+
+ PageSize page_size;
+ PaperSource paper_source;
+ PageOrder page_order;
+ ColorMode color_mode;
+ Orientation orient;
+ uint to_edge : 1;
+ uint appcolcopies : 1;
+ uint usercolcopies : 1;
+ uint res_set : 1;
+ short from_pg, to_pg;
+ short min_pg, max_pg;
+ short ncopies;
+ int res;
+ QPrinterPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPrinter( const QPrinter &amp; );
+ QPrinter &amp;operator=( const QPrinter &amp; );
+#endif
+};
+
+
+inline QString QPrinter::printerName() const
+{ return printer_name; }
+
+inline bool QPrinter::outputToFile() const
+{ return output_file; }
+
+inline QString QPrinter::outputFileName() const
+{ return output_filename; }
+
+inline QString QPrinter::printProgram() const
+{ return print_prog; }
+
+inline QString QPrinter::docName() const
+{ return doc_name; }
+
+inline QString QPrinter::creator() const
+{ return creator_name; }
+
+inline QPrinter::PageSize QPrinter::pageSize() const
+{ return page_size; }
+
+inline QPrinter::Orientation QPrinter::orientation() const
+{ return orient; }
+
+inline int QPrinter::fromPage() const
+{ return from_pg; }
+
+inline int QPrinter::toPage() const
+{ return to_pg; }
+
+inline int QPrinter::minPage() const
+{ return min_pg; }
+
+inline int QPrinter::maxPage() const
+{ return max_pg; }
+
+inline int QPrinter::numCopies() const
+{ return ncopies; }
+
+inline bool QPrinter::collateCopiesEnabled() const
+{ return appcolcopies; }
+
+inline void QPrinter::setCollateCopiesEnabled(bool v)
+{ appcolcopies = v; }
+
+inline bool QPrinter::collateCopies() const
+{ return usercolcopies; }
+
+
+#endif // QT_NO_PRINTER
+
+#endif // QPRINTER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprinter-members.html b/doc/html/qprinter-members.html
new file mode 100644
index 0000000..f246696
--- /dev/null
+++ b/doc/html/qprinter-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprinter.h:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPrinter Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPrinter</h1>
+
+<p>This is the complete list of member functions for
+<a href="qprinter.html">QPrinter</a>, including inherited members.
+
+<ul>
+<li><a href="qprinter.html#QPrinter">QPrinter</a>()
+<li><a href="qprinter.html#~QPrinter">~QPrinter</a>()
+<li><a href="qprinter.html#abort">abort</a>()
+<li><a href="qprinter.html#aborted">aborted</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qprinter.html#colorMode">colorMode</a>()
+<li><a href="qprinter.html#creator">creator</a>()
+<li><a href="qprinter.html#docName">docName</a>()
+<li><a href="qprinter.html#fromPage">fromPage</a>()
+<li><a href="qprinter.html#fullPage">fullPage</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qprinter.html#isOptionEnabled">isOptionEnabled</a>()
+<li><a href="qprinter.html#margins">margins</a>()
+<li><a href="qprinter.html#maxPage">maxPage</a>()
+<li><a href="qprinter.html#minPage">minPage</a>()
+<li><a href="qprinter.html#newPage">newPage</a>()
+<li><a href="qprinter.html#numCopies">numCopies</a>()
+<li><a href="qprinter.html#orientation">orientation</a>()
+<li><a href="qprinter.html#outputFileName">outputFileName</a>()
+<li><a href="qprinter.html#outputToFile">outputToFile</a>()
+<li><a href="qprinter.html#pageOrder">pageOrder</a>()
+<li><a href="qprinter.html#pageSize">pageSize</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qprinter.html#paperSource">paperSource</a>()
+<li><a href="qprinter.html#printProgram">printProgram</a>()
+<li><a href="qprinter.html#printRange">printRange</a>()
+<li><a href="qprinter.html#printerName">printerName</a>()
+<li><a href="qprinter.html#printerSelectionOption">printerSelectionOption</a>()
+<li><a href="qprinter.html#resolution">resolution</a>()
+<li><a href="qprinter.html#setColorMode">setColorMode</a>()
+<li><a href="qprinter.html#setCreator">setCreator</a>()
+<li><a href="qprinter.html#setDocName">setDocName</a>()
+<li><a href="qprinter.html#setFromTo">setFromTo</a>()
+<li><a href="qprinter.html#setFullPage">setFullPage</a>()
+<li><a href="qprinter.html#setMargins">setMargins</a>()
+<li><a href="qprinter.html#setMinMax">setMinMax</a>()
+<li><a href="qprinter.html#setNumCopies">setNumCopies</a>()
+<li><a href="qprinter.html#setOptionEnabled">setOptionEnabled</a>()
+<li><a href="qprinter.html#setOrientation">setOrientation</a>()
+<li><a href="qprinter.html#setOutputFileName">setOutputFileName</a>()
+<li><a href="qprinter.html#setOutputToFile">setOutputToFile</a>()
+<li><a href="qprinter.html#setPageOrder">setPageOrder</a>()
+<li><a href="qprinter.html#setPageSize">setPageSize</a>()
+<li><a href="qprinter.html#setPaperSource">setPaperSource</a>()
+<li><a href="qprinter.html#setPrintProgram">setPrintProgram</a>()
+<li><a href="qprinter.html#setPrintRange">setPrintRange</a>()
+<li><a href="qprinter.html#setPrinterName">setPrinterName</a>()
+<li><a href="qprinter.html#setPrinterSelectionOption">setPrinterSelectionOption</a>()
+<li><a href="qprinter.html#setResolution">setResolution</a>()
+<li><a href="qprinter.html#setWinPageSize">setWinPageSize</a>()
+<li><a href="qprinter.html#setup">setup</a>()
+<li><a href="qprinter.html#toPage">toPage</a>()
+<li><a href="qprinter.html#winPageSize">winPageSize</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprinter.html b/doc/html/qprinter.html
new file mode 100644
index 0000000..8a5c0f3
--- /dev/null
+++ b/doc/html/qprinter.html
@@ -0,0 +1,758 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qprinter.cpp:43 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPrinter Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPrinter Class Reference</h1>
+
+<p>The QPrinter class is a paint device that paints on a printer.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;</tt>
+<p>Inherits <a href="qpaintdevice.html">QPaintDevice</a>.
+<p><a href="qprinter-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#PrinterMode-enum"><b>PrinterMode</b></a> { ScreenResolution, PrinterResolution, HighResolution, Compatible }</li>
+<li class=fn><a href="#QPrinter"><b>QPrinter</b></a> ( PrinterMode&nbsp;m = ScreenResolution )</li>
+<li class=fn><a href="#~QPrinter"><b>~QPrinter</b></a> ()</li>
+<li class=fn>enum <a href="#Orientation-enum"><b>Orientation</b></a> { Portrait, Landscape }</li>
+<li class=fn>enum <a href="#PageSize-enum"><b>PageSize</b></a> { A4, B5, Letter, Legal, Executive, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E, DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom }</li>
+<li class=fn>enum <a href="#PageOrder-enum"><b>PageOrder</b></a> { FirstPageFirst, LastPageFirst }</li>
+<li class=fn>enum <a href="#ColorMode-enum"><b>ColorMode</b></a> { GrayScale, Color }</li>
+<li class=fn>enum <a href="#PaperSource-enum"><b>PaperSource</b></a> { OnlyOne, Lower, Middle, Manual, Envelope, EnvelopeManual, Auto, Tractor, SmallFormat, LargeFormat, LargeCapacity, Cassette, FormSource }</li>
+<li class=fn>enum <a href="#PrintRange-enum"><b>PrintRange</b></a> { AllPages, Selection, PageRange }</li>
+<li class=fn>enum <a href="#PrinterOption-enum"><b>PrinterOption</b></a> { PrintToFile, PrintSelection, PrintPageRange }</li>
+<li class=fn>QString <a href="#printerName"><b>printerName</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPrinterName"><b>setPrinterName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>bool <a href="#outputToFile"><b>outputToFile</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOutputToFile"><b>setOutputToFile</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>QString <a href="#outputFileName"><b>outputFileName</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOutputFileName"><b>setOutputFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fileName )</li>
+<li class=fn>QString <a href="#printProgram"><b>printProgram</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPrintProgram"><b>setPrintProgram</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;printProg )</li>
+<li class=fn>QString <a href="#printerSelectionOption"><b>printerSelectionOption</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPrinterSelectionOption"><b>setPrinterSelectionOption</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;option )</li>
+<li class=fn>QString <a href="#docName"><b>docName</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDocName"><b>setDocName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QString <a href="#creator"><b>creator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCreator"><b>setCreator</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;creator )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation&nbsp;orientation )</li>
+<li class=fn>PageSize <a href="#pageSize"><b>pageSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPageSize"><b>setPageSize</b></a> ( PageSize&nbsp;newPageSize )</li>
+<li class=fn>void <a href="#setWinPageSize"><b>setWinPageSize</b></a> ( short&nbsp;winPageSize )</li>
+<li class=fn>short <a href="#winPageSize"><b>winPageSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPageOrder"><b>setPageOrder</b></a> ( PageOrder&nbsp;newPageOrder )</li>
+<li class=fn>PageOrder <a href="#pageOrder"><b>pageOrder</b></a> () const</li>
+<li class=fn>virtual void <a href="#setResolution"><b>setResolution</b></a> ( int&nbsp;dpi )</li>
+<li class=fn>virtual int <a href="#resolution"><b>resolution</b></a> () const</li>
+<li class=fn>virtual void <a href="#setColorMode"><b>setColorMode</b></a> ( ColorMode&nbsp;newColorMode )</li>
+<li class=fn>ColorMode <a href="#colorMode"><b>colorMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFullPage"><b>setFullPage</b></a> ( bool&nbsp;fp )</li>
+<li class=fn>bool <a href="#fullPage"><b>fullPage</b></a> () const</li>
+<li class=fn>QSize <a href="#margins"><b>margins</b></a> () const</li>
+<li class=fn>void <a href="#setMargins"><b>setMargins</b></a> ( uint&nbsp;top, uint&nbsp;left, uint&nbsp;bottom, uint&nbsp;right )</li>
+<li class=fn>void <a href="#margins-2"><b>margins</b></a> ( uint&nbsp;*&nbsp;top, uint&nbsp;*&nbsp;left, uint&nbsp;*&nbsp;bottom, uint&nbsp;*&nbsp;right ) const</li>
+<li class=fn>int <a href="#fromPage"><b>fromPage</b></a> () const</li>
+<li class=fn>int <a href="#toPage"><b>toPage</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFromTo"><b>setFromTo</b></a> ( int&nbsp;fromPage, int&nbsp;toPage )</li>
+<li class=fn>int <a href="#minPage"><b>minPage</b></a> () const</li>
+<li class=fn>int <a href="#maxPage"><b>maxPage</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMinMax"><b>setMinMax</b></a> ( int&nbsp;minPage, int&nbsp;maxPage )</li>
+<li class=fn>int <a href="#numCopies"><b>numCopies</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNumCopies"><b>setNumCopies</b></a> ( int&nbsp;numCopies )</li>
+<li class=fn>PrintRange <a href="#printRange"><b>printRange</b></a> () const</li>
+<li class=fn>void <a href="#setPrintRange"><b>setPrintRange</b></a> ( PrintRange&nbsp;range )</li>
+<li class=fn>bool <a href="#newPage"><b>newPage</b></a> ()</li>
+<li class=fn>bool <a href="#abort"><b>abort</b></a> ()</li>
+<li class=fn>bool <a href="#aborted"><b>aborted</b></a> () const</li>
+<li class=fn>bool <a href="#setup"><b>setup</b></a> ( QWidget&nbsp;*&nbsp;parent = 0 )</li>
+<li class=fn>PaperSource <a href="#paperSource"><b>paperSource</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPaperSource"><b>setPaperSource</b></a> ( PaperSource&nbsp;source )</li>
+<li class=fn>void <a href="#setOptionEnabled"><b>setOptionEnabled</b></a> ( PrinterOption&nbsp;option, bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isOptionEnabled"><b>isOptionEnabled</b></a> ( PrinterOption&nbsp;option )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPrinter class is a paint device that paints on a printer.
+<p>
+
+
+<p> On Windows it uses the built-in printer drivers. On X11 it
+generates postscript and sends that to lpr, lp, or another print
+command.
+<p> QPrinter is used in much the same way as <a href="qwidget.html">QWidget</a> and <a href="qpixmap.html">QPixmap</a> are
+used. The big difference is that you must keep track of the pages.
+<p> QPrinter supports a number of settable parameters, most of which
+can be changed by the end user when the application calls
+<a href="#setup">QPrinter::setup</a>().
+<p> The most important parameters are:
+<ul>
+<li> <a href="#setOrientation">setOrientation</a>() tells QPrinter which page orientation to use (virtual).
+<li> <a href="#setPageSize">setPageSize</a>() tells QPrinter what page size to expect from the
+printer.
+<li> <a href="#setResolution">setResolution</a>() tells QPrinter what resolution you wish the
+printer to provide (in dpi).
+<li> <a href="#setFullPage">setFullPage</a>() tells QPrinter whether you want to deal with the
+full page or just with the part the printer can draw on. The
+default is FALSE, so that by default you should be able to paint
+on (0,0). If TRUE the origin of the coordinate system will be in
+the top left corner of the paper and most probably the printer
+will not be able to paint something there due to it's physical
+margins.
+<li> <a href="#setNumCopies">setNumCopies</a>() tells QPrinter how many copies of the document
+it should print.
+<li> <a href="#setMinMax">setMinMax</a>() tells QPrinter and QPrintDialog what the allowed
+range for <a href="#fromPage">fromPage</a>() and <a href="#toPage">toPage</a>() are.
+</ul>
+<p> Except where noted, you can only call the set functions before
+<a href="#setup">setup</a>(), or between <a href="qpainter.html#end">QPainter::end</a>() and setup(). (Some may take
+effect between setup() and begin(), or between begin() and end(),
+but that's strictly undocumented and such behaviour may differ
+depending on platform.)
+<p> There are also some settings that the user sets (through the
+printer dialog) and that applications are expected to obey:
+<p> <ul>
+<p> <li> <a href="#pageOrder">pageOrder</a>() tells the application program whether to print
+first-page-first or last-page-first.
+<p> <li> <a href="#colorMode">colorMode</a>() tells the application program whether to print in
+color or grayscale. (If you print in color and the printer does
+not support color, Qt will try to approximate. The document may
+take longer to print, but the quality should not be made visibly
+poorer.)
+<p> <li> fromPage() and toPage() indicate what pages the application
+program should print.
+<p> <li> <a href="#paperSource">paperSource</a>() tells the application progam which paper source
+to print from.
+<p> </ul>
+<p> You can of course call these functions to establish defaults
+before you ask the user through <a href="#setup">QPrinter::setup</a>().
+<p> Once you start printing, calling <a href="#newPage">newPage</a>() is essential. You will
+probably also need to look at the <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> for the
+printer (see the <a href="simple-application.html#printersimple">print
+ function</a> in the Application walk-through). In previous versions,
+paint device metrics were valid only after the QPrinter has been set
+up, i.e. after <a href="#setup">setup</a>() has returned successfully. This is no longer
+the case and paint device metrics can be requested safely before set up.
+<p> If you want to abort the print job, <a href="#abort">abort</a>() will try its best to
+stop printing. It may cancel the entire job or just some of it.
+<p>
+<p> If your current locale converts "," to ".", you will need to set
+a locale (via the standard C setlocale() function) that doen't do this
+before using QPrinter. The "C" locale works well for this.
+<p> The TrueType font embedding for Qt's postscript driver uses code
+by David Chappell of Trinity College Computing Center.
+<p>
+<p> Copyright 1995, Trinity College Computing Center.
+Written by David Chappell.
+<p> Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation. This software is
+provided "as is" without express or implied warranty.
+<p> TrueType font support. These functions allow PPR to generate
+PostScript fonts from Microsoft compatible TrueType font files.
+<p> The functions in this file do most of the work to convert a
+TrueType font to a type 3 PostScript font.
+<p> Most of the material in this file is derived from a program called
+"ttf2ps" which L. S. Ng posted to the usenet news group
+"comp.sources.postscript". The author did not provide a copyright
+notice or indicate any restrictions on use.
+<p> Last revised 11 July 1995.
+<p> <p>See also <a href="graphics.html">Graphics Classes</a> and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ColorMode-enum"></a>QPrinter::ColorMode</h3>
+
+<p> This enum type is used to indicate whether QPrinter should print
+in color or not.
+<ul>
+<li><tt>QPrinter::Color</tt> - print in color if available, otherwise in grayscale.
+<li><tt>QPrinter::GrayScale</tt> - print in grayscale, even on color printers.
+Might be a little faster than <a href="#ColorMode-enum">Color</a>. This is the default.
+</ul>
+<h3 class=fn><a name="Orientation-enum"></a>QPrinter::Orientation</h3>
+
+<p> This enum type (not to be confused with Qt::Orientation) is used
+to specify each page's orientation.
+<ul>
+<li><tt>QPrinter::Portrait</tt> - the page's height is greater than its width (the
+default).
+<li><tt>QPrinter::Landscape</tt> - the page's width is greater than its height.
+</ul><p> This type interacts with <a href="#PageSize-enum">QPrinter::PageSize</a> and
+<a href="#setFullPage">QPrinter::setFullPage</a>() to determine the final size of the page
+available to the application.
+
+<h3 class=fn><a name="PageOrder-enum"></a>QPrinter::PageOrder</h3>
+
+<p> This enum type is used by QPrinter to tell the application program
+how to print.
+<ul>
+<li><tt>QPrinter::FirstPageFirst</tt> - the lowest-numbered page should be printed
+first.
+<li><tt>QPrinter::LastPageFirst</tt> - the highest-numbered page should be printed
+first.
+</ul>
+<h3 class=fn><a name="PageSize-enum"></a>QPrinter::PageSize</h3>
+
+<p> This enum type specifies what paper size QPrinter should use.
+QPrinter does not check that the paper size is available; it just
+uses this information, together with QPrinter::Orientation and
+<a href="#setFullPage">QPrinter::setFullPage</a>(), to determine the printable area (see
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>).
+<p> The defined sizes (with <a href="#setFullPage">setFullPage</a>(TRUE)) are:
+<ul>
+<li><tt>QPrinter::A0</tt> - 841 x 1189 mm This value is not supported on windows.
+<li><tt>QPrinter::A1</tt> - 594 x 841 mm This value is not supported on windows.
+<li><tt>QPrinter::A2</tt> - 420 x 594 mm
+<li><tt>QPrinter::A3</tt> - 297 x 420 mm
+<li><tt>QPrinter::A4</tt> - 210 x 297 mm, 8.26 x 11.7 inches
+<li><tt>QPrinter::A5</tt> - 148 x 210 mm
+<li><tt>QPrinter::A6</tt> - 105 x 148 mm
+<li><tt>QPrinter::A7</tt> - 74 x 105 mm
+<li><tt>QPrinter::A8</tt> - 52 x 74 mm
+<li><tt>QPrinter::A9</tt> - 37 x 52 mm
+<li><tt>QPrinter::B0</tt> - 1030 x 1456 mm
+<li><tt>QPrinter::B1</tt> - 728 x 1030 mm
+<li><tt>QPrinter::B10</tt> - 32 x 45 mm
+<li><tt>QPrinter::B2</tt> - 515 x 728 mm
+<li><tt>QPrinter::B3</tt> - 364 x 515 mm
+<li><tt>QPrinter::B4</tt> - 257 x 364 mm
+<li><tt>QPrinter::B5</tt> - 182 x 257 mm, 7.17 x 10.13 inches
+<li><tt>QPrinter::B6</tt> - 128 x 182 mm
+<li><tt>QPrinter::B7</tt> - 91 x 128 mm
+<li><tt>QPrinter::B8</tt> - 64 x 91 mm
+<li><tt>QPrinter::B9</tt> - 45 x 64 mm
+<li><tt>QPrinter::C5E</tt> - 163 x 229 mm
+<li><tt>QPrinter::Comm10E</tt> - 105 x 241 mm, US Common #10 Envelope
+<li><tt>QPrinter::DLE</tt> - 110 x 220 mm
+<li><tt>QPrinter::Executive</tt> - 7.5 x 10 inches, 191 x 254 mm
+<li><tt>QPrinter::Folio</tt> - 210 x 330 mm
+<li><tt>QPrinter::Ledger</tt> - 432 x 279 mm
+<li><tt>QPrinter::Legal</tt> - 8.5 x 14 inches, 216 x 356 mm
+<li><tt>QPrinter::Letter</tt> - 8.5 x 11 inches, 216 x 279 mm
+<li><tt>QPrinter::Tabloid</tt> - 279 x 432 mm
+<li><tt>QPrinter::Custom</tt>
+<li><tt>QPrinter::NPageSize</tt> - (internal)
+</ul><p> With <a href="#setFullPage">setFullPage</a>(FALSE) (the default), the metrics will be a bit
+smaller; how much depends on the printer in use.
+
+<h3 class=fn><a name="PaperSource-enum"></a>QPrinter::PaperSource</h3>
+
+<p> This enum type specifies what paper source QPrinter is to use.
+QPrinter does not check that the paper source is available; it
+just uses this information to try and set the paper source.
+Whether it will set the paper source depends on whether the
+printer has that particular source.
+<p> Note: this is currently only implemented for Windows.
+<ul>
+<li><tt>QPrinter::OnlyOne</tt>
+<li><tt>QPrinter::Lower</tt>
+<li><tt>QPrinter::Middle</tt>
+<li><tt>QPrinter::Manual</tt>
+<li><tt>QPrinter::Envelope</tt>
+<li><tt>QPrinter::EnvelopeManual</tt>
+<li><tt>QPrinter::Auto</tt>
+<li><tt>QPrinter::Tractor</tt>
+<li><tt>QPrinter::SmallFormat</tt>
+<li><tt>QPrinter::LargeFormat</tt>
+<li><tt>QPrinter::LargeCapacity</tt>
+<li><tt>QPrinter::Cassette</tt>
+<li><tt>QPrinter::FormSource</tt>
+</ul>
+<h3 class=fn><a name="PrintRange-enum"></a>QPrinter::PrintRange</h3>
+
+<p> This enum is used to specify which print range the application
+should use to print.
+<ul>
+<li><tt>QPrinter::AllPages</tt> - All pages should be printed
+<li><tt>QPrinter::Selection</tt> - Only the selection should be printed.
+<li><tt>QPrinter::PageRange</tt> - From page, to page option.
+</ul><p> <p>See also <a href="#setPrintRange">setPrintRange</a>() and <a href="#printRange">printRange</a>().
+
+<h3 class=fn><a name="PrinterMode-enum"></a>QPrinter::PrinterMode</h3>
+
+<p> This enum describes the mode the printer should work in. It
+basically presets a certain resolution and working mode.
+<ul>
+<li><tt>QPrinter::ScreenResolution</tt> - Sets the resolution of the print device to
+the screen resolution. This has the big advantage that the results
+obtained when painting on the printer will match more or less
+exactly the visible output on the screen. It is the easiest to
+use, as font metrics on the screen and on the printer are the
+same. This is the default value. ScreenResolution will produce a
+lower quality output than HighResolution and should only be used
+for drafts.
+<li><tt>QPrinter::PrinterResolution</tt> - Use the physical resolution of the
+printer on Windows. On Unix, set the postscript resolution to 72
+dpi.
+<li><tt>QPrinter::HighResolution</tt> - Use printer resolution on windows, set the
+resolution of the postscript driver to 600dpi.
+<li><tt>QPrinter::Compatible</tt> - Almost the same as PrinterResolution, but keeps
+some peculiarities of the Qt 2.x printer driver. This is useful
+for applications ported from Qt 2.x to Qt 3.x.
+</ul>
+<h3 class=fn><a name="PrinterOption-enum"></a>QPrinter::PrinterOption</h3>
+
+<p> This enum describes various printer options that appear in the
+printer setup dialog. It is used to enable and disable these
+options in the setup dialog.
+<ul>
+<li><tt>QPrinter::PrintToFile</tt> - Describes if print to file should be enabled.
+<li><tt>QPrinter::PrintSelection</tt> - Describes if printing selections should be enabled.
+<li><tt>QPrinter::PrintPageRange</tt> - Describes if printing page ranges (from, to) should
+be enabled
+</ul><p> <p>See also <a href="#setOptionEnabled">setOptionEnabled</a>() and <a href="#isOptionEnabled">isOptionEnabled</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPrinter"></a>QPrinter::QPrinter ( <a href="qprinter.html#PrinterMode-enum">PrinterMode</a>&nbsp;m = ScreenResolution )
+</h3>
+Constructs a printer paint device with mode <em>m</em>.
+<p> <p>See also <a href="#PrinterMode-enum">QPrinter::PrinterMode</a>.
+
+<h3 class=fn><a name="~QPrinter"></a>QPrinter::~QPrinter ()
+</h3>
+Destroys the printer paint device and cleans up.
+
+<h3 class=fn>bool <a name="abort"></a>QPrinter::abort ()
+</h3>
+Aborts the print job. Returns TRUE if successful; otherwise
+returns FALSE.
+<p> <p>See also <a href="#aborted">aborted</a>().
+
+<h3 class=fn>bool <a name="aborted"></a>QPrinter::aborted () const
+</h3>
+Returns TRUE if the print job was aborted; otherwise returns
+FALSE.
+<p> <p>See also <a href="#abort">abort</a>().
+
+<h3 class=fn><a href="qprinter.html#ColorMode-enum">ColorMode</a> <a name="colorMode"></a>QPrinter::colorMode () const
+</h3>
+Returns the current color mode. The default color mode is <a href="#ColorMode-enum">Color</a>.
+<p> <p>See also <a href="#setColorMode">setColorMode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="creator"></a>QPrinter::creator () const
+</h3>
+
+<p> Returns the name of the application that created the document.
+<p> <p>See also <a href="#setCreator">setCreator</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="docName"></a>QPrinter::docName () const
+</h3>
+
+<p> Returns the document name.
+<p> <p>See also <a href="#setDocName">setDocName</a>().
+
+<h3 class=fn>int <a name="fromPage"></a>QPrinter::fromPage () const
+</h3>
+
+<p> Returns the from-page setting. The default value is 0.
+<p> If <a href="#fromPage">fromPage</a>() and <a href="#toPage">toPage</a>() both return 0 this signifies 'print the
+whole document'.
+<p> The programmer is responsible for reading this setting and
+printing accordingly.
+<p> <p>See also <a href="#setFromTo">setFromTo</a>() and <a href="#toPage">toPage</a>().
+
+<h3 class=fn>bool <a name="fullPage"></a>QPrinter::fullPage () const
+</h3>
+Returns TRUE if the origin of the printer's coordinate system is
+at the corner of the sheet and FALSE if it is at the edge of the
+printable area.
+<p> See <a href="#setFullPage">setFullPage</a>() for details and caveats.
+<p> <p>See also <a href="#setFullPage">setFullPage</a>(), <a href="#PageSize-enum">PageSize</a>, and <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>.
+
+<h3 class=fn>bool <a name="isOptionEnabled"></a>QPrinter::isOptionEnabled ( <a href="qprinter.html#PrinterOption-enum">PrinterOption</a>&nbsp;option )
+</h3>
+Returns TRUE if the printer option with identifier <em>option</em> is enabled;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setOptionEnabled">setOptionEnabled</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="margins"></a>QPrinter::margins () const
+</h3>
+Returns the width of the left margin and the height of the top
+margin of the printer. On Unix, this is a best-effort guess, not
+based on perfect knowledge.
+<p> If you have called <a href="#setFullPage">setFullPage</a>( TRUE ), <a href="#margins">margins</a>().width() may be
+treated as the smallest sane left margin you can use, and
+margins().height() as the smallest sane top margin you can
+use.
+<p> If you have called setFullPage( FALSE ) (this is the default),
+margins() is automatically subtracted from the <a href="#pageSize">pageSize</a>() by
+QPrinter.
+<p> <p>See also <a href="#setFullPage">setFullPage</a>(), <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>, and <a href="#PageSize-enum">PageSize</a>.
+
+<h3 class=fn>void <a name="margins-2"></a>QPrinter::margins ( uint&nbsp;*&nbsp;top, uint&nbsp;*&nbsp;left, uint&nbsp;*&nbsp;bottom, uint&nbsp;*&nbsp;right ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets <em>top</em>, <em>left</em>, <em>bottom</em> and <em>right</em> to the margins of the
+printer. On Unix, this is a best-effort guess, not based on
+perfect knowledge.
+<p> If you have called <a href="#setFullPage">setFullPage</a>( TRUE ), the four values specify
+the smallest sane margins you can use.
+<p> If you have called setFullPage( FALSE ) (this is the default),
+the margins are automatically subtracted from the <a href="#pageSize">pageSize</a>() by
+QPrinter.
+<p> <p>See also <a href="#setFullPage">setFullPage</a>(), <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>, and <a href="#PageSize-enum">PageSize</a>.
+
+<h3 class=fn>int <a name="maxPage"></a>QPrinter::maxPage () const
+</h3>
+
+<p> Returns the max-page setting. A user can't choose a higher page
+number than <a href="#maxPage">maxPage</a>() when they select a print range. The default
+value is 0.
+<p> <p>See also <a href="#minPage">minPage</a>(), <a href="#setMinMax">setMinMax</a>(), and <a href="#setFromTo">setFromTo</a>().
+
+<h3 class=fn>int <a name="minPage"></a>QPrinter::minPage () const
+</h3>
+
+<p> Returns the min-page setting, i.e. the lowest page number a user
+is allowed to choose. The default value is 0.
+<p> <p>See also <a href="#maxPage">maxPage</a>(), <a href="#setMinMax">setMinMax</a>(), and <a href="#setFromTo">setFromTo</a>().
+
+<h3 class=fn>bool <a name="newPage"></a>QPrinter::newPage ()
+</h3>
+Advances to a new page on the printer. Returns TRUE if successful;
+otherwise returns FALSE.
+
+<p>Examples: <a href="qaction-application-example.html#x1149">action/application.cpp</a>, <a href="simple-application-example.html#x1567">application/application.cpp</a>, <a href="helpviewer-example.html#x1005">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2050">mdi/application.cpp</a>.
+<h3 class=fn>int <a name="numCopies"></a>QPrinter::numCopies () const
+</h3>
+
+<p> Returns the number of copies to be printed. The default value is 1.
+<p> This value will return the number of times the application is
+required to print in order to match the number specified in the
+printer setup dialog. This has been done since some printer
+drivers are not capable of buffering up the copies and the
+application in those cases have to make an explicit call to the
+print code for each copy.
+<p> <p>See also <a href="#setNumCopies">setNumCopies</a>().
+
+<h3 class=fn><a href="qprinter.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QPrinter::orientation () const
+</h3>
+
+<p> Returns the orientation setting. The default value is <a href="#Orientation-enum">QPrinter::Portrait</a>.
+<p> <p>See also <a href="#setOrientation">setOrientation</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="outputFileName"></a>QPrinter::outputFileName () const
+</h3>
+
+<p> Returns the name of the output file. There is no default file
+name.
+<p> <p>See also <a href="#setOutputFileName">setOutputFileName</a>() and <a href="#setOutputToFile">setOutputToFile</a>().
+
+<h3 class=fn>bool <a name="outputToFile"></a>QPrinter::outputToFile () const
+</h3>
+
+<p> Returns TRUE if the output should be written to a file, or FALSE
+if the output should be sent directly to the printer. The default
+setting is FALSE.
+<p> This function is currently only supported under X11 and Mac OS X.
+<p> <p>See also <a href="#setOutputToFile">setOutputToFile</a>() and <a href="#setOutputFileName">setOutputFileName</a>().
+
+<h3 class=fn><a href="qprinter.html#PageOrder-enum">PageOrder</a> <a name="pageOrder"></a>QPrinter::pageOrder () const
+</h3>
+Returns the current page order.
+<p> The default page order is <a href="#PageOrder-enum">FirstPageFirst</a>.
+<p>Bugs and limitations:
+<ul>
+<li> This value is not kept in sync with the Windows or Mac OS X printer
+dialogs.
+</ul>
+<h3 class=fn><a href="qprinter.html#PageSize-enum">PageSize</a> <a name="pageSize"></a>QPrinter::pageSize () const
+</h3>
+
+<p> Returns the printer page size. The default value is system-dependent.
+<p> <p>See also <a href="#setPageSize">setPageSize</a>().
+
+<h3 class=fn><a href="qprinter.html#PaperSource-enum">PaperSource</a> <a name="paperSource"></a>QPrinter::paperSource () const
+</h3>
+Returns the currently set paper source of the printer.
+<p> <p>See also <a href="#setPaperSource">setPaperSource</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="printProgram"></a>QPrinter::printProgram () const
+</h3>
+
+<p> Returns the name of the program that sends the print output to the
+printer.
+<p> The default is to return a null string; meaning that QPrinter will
+try to be smart in a system-dependent way. On X11 only, you can
+set it to something different to use a specific print program.
+<p> On Windows, this function returns the name of the printer device
+driver.
+<p> <p>See also <a href="#setPrintProgram">setPrintProgram</a>() and <a href="#setPrinterSelectionOption">setPrinterSelectionOption</a>().
+
+<h3 class=fn><a href="qprinter.html#PrintRange-enum">PrintRange</a> <a name="printRange"></a>QPrinter::printRange () const
+</h3>
+Returns the PageRange of the QPrinter. After the print setup dialog
+has been opened, this function returns the value selected by the user.
+<p> <p>See also <a href="#setPrintRange">setPrintRange</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="printerName"></a>QPrinter::printerName () const
+</h3>
+
+<p> Returns the printer name. This value is initially set to the name
+of the default printer.
+<p> <p>See also <a href="#setPrinterName">setPrinterName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="printerSelectionOption"></a>QPrinter::printerSelectionOption () const
+</h3>
+Returns the printer options selection string. This is useful only
+if the print command has been explicitly set.
+<p> The default value (a null string) implies that the printer should
+be selected in a system-dependent manner.
+<p> Any other value implies that the given value should be used.
+<p> <p>See also <a href="#setPrinterSelectionOption">setPrinterSelectionOption</a>().
+
+<h3 class=fn>int <a name="resolution"></a>QPrinter::resolution () const<tt> [virtual]</tt>
+</h3>
+Returns the current assumed resolution of the printer, as set by
+<a href="#setResolution">setResolution</a>() or by the printer subsystem.
+<p> <p>See also <a href="#setResolution">setResolution</a>().
+
+<h3 class=fn>void <a name="setColorMode"></a>QPrinter::setColorMode ( <a href="qprinter.html#ColorMode-enum">ColorMode</a>&nbsp;newColorMode )<tt> [virtual]</tt>
+</h3>
+Sets the printer's color mode to <em>newColorMode</em>, which can be
+either <a href="#ColorMode-enum">Color</a> or <a href="#ColorMode-enum">GrayScale</a> (the default).
+<p> <p>See also <a href="#colorMode">colorMode</a>().
+
+<h3 class=fn>void <a name="setCreator"></a>QPrinter::setCreator ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;creator )<tt> [virtual]</tt>
+</h3>
+Sets the name of the application that created the document to <em>creator</em>.
+<p> This function is only applicable to the X11 version of Qt. If no
+creator name is specified, the creator will be set to "Qt"
+followed by some version number.
+<p> <p>See also <a href="#creator">creator</a>().
+
+<h3 class=fn>void <a name="setDocName"></a>QPrinter::setDocName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the document name to <em>name</em>.
+
+<h3 class=fn>void <a name="setFromTo"></a>QPrinter::setFromTo ( int&nbsp;fromPage, int&nbsp;toPage )<tt> [virtual]</tt>
+</h3>
+Sets the from-page and to-page settings to <em>fromPage</em> and <em>toPage</em> respectively.
+<p> The from-page and to-page settings specify what pages to print.
+<p> If <a href="#fromPage">fromPage</a>() and <a href="#toPage">toPage</a>() both return 0 this signifies 'print the
+whole document'.
+<p> This function is useful mostly to set a default value that the
+user can override in the print dialog when you call <a href="#setup">setup</a>().
+<p> <p>See also <a href="#fromPage">fromPage</a>(), <a href="#toPage">toPage</a>(), <a href="#setMinMax">setMinMax</a>(), and <a href="#setup">setup</a>().
+
+<h3 class=fn>void <a name="setFullPage"></a>QPrinter::setFullPage ( bool&nbsp;fp )<tt> [virtual]</tt>
+</h3>
+Sets QPrinter to have the origin of the coordinate system at the
+top-left corner of the paper if <em>fp</em> is TRUE, or where it thinks
+the top-left corner of the printable area is if <em>fp</em> is FALSE.
+<p> The default is FALSE. You can (probably) print on (0,0), and
+<a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> will report something smaller than the size
+indicated by PageSize. (Note that QPrinter may be wrong on Unix
+systems - it does not have perfect knowledge of the physical
+printer.)
+<p> If you set <em>fp</em> to TRUE, QPaintDeviceMetrics will report the
+exact same size as indicated by <a href="#PageSize-enum">PageSize</a>, but you cannot print
+on all of that - you must take care of the output margins
+yourself.
+<p> <p>See also <a href="#PageSize-enum">PageSize</a>, <a href="#setPageSize">setPageSize</a>(), <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a>, and <a href="#fullPage">fullPage</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1150">action/application.cpp</a>, <a href="simple-application-example.html#x1568">application/application.cpp</a>, <a href="helpviewer-example.html#x1006">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2051">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="setMargins"></a>QPrinter::setMargins ( uint&nbsp;top, uint&nbsp;left, uint&nbsp;bottom, uint&nbsp;right )
+</h3>
+Sets the printer margins to the sizes specified in <em>top</em>, <em>left</em>,
+<em>bottom</em> and <em>right</em>.
+<p> This function currently only has an effect on Unix systems.
+<p> <p>See also <a href="#margins">margins</a>().
+
+<h3 class=fn>void <a name="setMinMax"></a>QPrinter::setMinMax ( int&nbsp;minPage, int&nbsp;maxPage )<tt> [virtual]</tt>
+</h3>
+Sets the min-page and max-page settings to <em>minPage</em> and <em>maxPage</em> respectively.
+<p> The min-page and max-page restrict the from-page and to-page
+settings. When the printer setup dialog appears, the user cannot
+select a from page or a to page that are outside the range
+specified by min and max pages.
+<p> <p>See also <a href="#minPage">minPage</a>(), <a href="#maxPage">maxPage</a>(), <a href="#setFromTo">setFromTo</a>(), and <a href="#setup">setup</a>().
+
+<h3 class=fn>void <a name="setNumCopies"></a>QPrinter::setNumCopies ( int&nbsp;numCopies )<tt> [virtual]</tt>
+</h3>
+Sets the number of copies to be printed to <em>numCopies</em>.
+<p> The printer driver reads this setting and prints the specified
+number of copies.
+<p> <p>See also <a href="#numCopies">numCopies</a>() and <a href="#setup">setup</a>().
+
+<h3 class=fn>void <a name="setOptionEnabled"></a>QPrinter::setOptionEnabled ( <a href="qprinter.html#PrinterOption-enum">PrinterOption</a>&nbsp;option, bool&nbsp;enable )
+</h3>
+Enables the printer option with the identifier <em>option</em> if <em>enable</em> is TRUE, and disables option <em>option</em> if <em>enable</em> is FALSE.
+<p> <p>See also <a href="#isOptionEnabled">isOptionEnabled</a>().
+
+<h3 class=fn>void <a name="setOrientation"></a>QPrinter::setOrientation ( <a href="qprinter.html#Orientation-enum">Orientation</a>&nbsp;orientation )<tt> [virtual]</tt>
+</h3>
+Sets the print orientation to <em>orientation</em>.
+<p> The orientation can be either <a href="#Orientation-enum">QPrinter::Portrait</a> or <a href="#Orientation-enum">QPrinter::Landscape</a>.
+<p> The printer driver reads this setting and prints using the
+specified orientation. On Windows this setting won't take effect
+until the printer dialog is shown (using <a href="#setup">QPrinter::setup</a>()).
+<p> Windows only! This option can be changed while printing and will
+take effect from the next call to <a href="#newPage">newPage</a>()
+<p> <p>See also <a href="#orientation">orientation</a>().
+
+<h3 class=fn>void <a name="setOutputFileName"></a>QPrinter::setOutputFileName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fileName )<tt> [virtual]</tt>
+</h3>
+Sets the name of the output file to <em>fileName</em>.
+<p> Setting a null or empty name (0 or "") disables output to a file,
+i.e. calls <a href="#setOutputToFile">setOutputToFile</a>(FALSE). Setting a non-empty name
+enables output to a file, i.e. calls setOutputToFile(TRUE).
+<p> This function is currently only supported under X11.
+<p> <p>See also <a href="#outputFileName">outputFileName</a>() and <a href="#setOutputToFile">setOutputToFile</a>().
+
+<h3 class=fn>void <a name="setOutputToFile"></a>QPrinter::setOutputToFile ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Specifies whether the output should be written to a file or sent
+directly to the printer.
+<p> Will output to a file if <em>enable</em> is TRUE, or will output
+directly to the printer if <em>enable</em> is FALSE.
+<p> This function is currently only supported under X11 and Mac OS X.
+<p> <p>See also <a href="#outputToFile">outputToFile</a>() and <a href="#setOutputFileName">setOutputFileName</a>().
+
+<h3 class=fn>void <a name="setPageOrder"></a>QPrinter::setPageOrder ( <a href="qprinter.html#PageOrder-enum">PageOrder</a>&nbsp;newPageOrder )<tt> [virtual]</tt>
+</h3>
+Sets the page order to <em>newPageOrder</em>.
+<p> The page order can be <a href="#PageOrder-enum">QPrinter::FirstPageFirst</a> or <a href="#PageOrder-enum">QPrinter::LastPageFirst</a>. The application programmer is responsible
+for reading the page order and printing accordingly.
+<p> This function is useful mostly for setting a default value that
+the user can override in the print dialog when you call <a href="#setup">setup</a>().
+<p>Bugs and limitations:
+<ul>
+<li> This value is not kept in sync with the Windows or Mac OS X printer
+dialogs.
+</ul>
+<h3 class=fn>void <a name="setPageSize"></a>QPrinter::setPageSize ( <a href="qprinter.html#PageSize-enum">PageSize</a>&nbsp;newPageSize )<tt> [virtual]</tt>
+</h3>
+Sets the printer page size to <em>newPageSize</em> if that size is
+supported. The result if undefined if <em>newPageSize</em> is not
+supported.
+<p> The default page size is system-dependent.
+<p> This function is useful mostly for setting a default value that
+the user can override in the print dialog when you call <a href="#setup">setup</a>().
+<p> <p>See also <a href="#pageSize">pageSize</a>(), <a href="#PageSize-enum">PageSize</a>, <a href="#setFullPage">setFullPage</a>(), and <a href="#setResolution">setResolution</a>().
+
+<h3 class=fn>void <a name="setPaperSource"></a>QPrinter::setPaperSource ( <a href="qprinter.html#PaperSource-enum">PaperSource</a>&nbsp;source )<tt> [virtual]</tt>
+</h3>
+Sets the paper source setting to <em>source</em>.
+<p> Windows only! This option can be changed while printing and will
+take effect from the next call to <a href="#newPage">newPage</a>()
+<p> <p>See also <a href="#paperSource">paperSource</a>().
+
+<h3 class=fn>void <a name="setPrintProgram"></a>QPrinter::setPrintProgram ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;printProg )<tt> [virtual]</tt>
+</h3>
+Sets the name of the program that should do the print job to <em>printProg</em>.
+<p> On X11, this function sets the program to call with the PostScript
+output. On other platforms, it has no effect.
+<p> <p>See also <a href="#printProgram">printProgram</a>().
+
+<h3 class=fn>void <a name="setPrintRange"></a>QPrinter::setPrintRange ( <a href="qprinter.html#PrintRange-enum">PrintRange</a>&nbsp;range )
+</h3>
+Sets the default selected page range to be used when the print setup
+dialog is opened to <em>range</em>. If the PageRange specified by <em>range</em> is
+currently disabled the function does nothing.
+<p> <p>See also <a href="#printRange">printRange</a>().
+
+<h3 class=fn>void <a name="setPrinterName"></a>QPrinter::setPrinterName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the printer name to <em>name</em>.
+<p> The default printer will be used if no printer name is set.
+<p> Under X11, the <tt>PRINTER</tt> environment variable defines the default
+printer. Under any other window system, the window system defines
+the default printer.
+<p> <p>See also <a href="#printerName">printerName</a>().
+
+<h3 class=fn>void <a name="setPrinterSelectionOption"></a>QPrinter::setPrinterSelectionOption ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;option )<tt> [virtual]</tt>
+</h3>
+Sets the printer to use <em>option</em> to select the printer. <em>option</em>
+is null by default (which implies that Qt should be smart enough
+to guess correctly), but it can be set to other values to use a
+specific printer selection option.
+<p> If the printer selection option is changed while the printer is
+active, the current print job may or may not be affected.
+<p> <p>See also <a href="#printerSelectionOption">printerSelectionOption</a>().
+
+<h3 class=fn>void <a name="setResolution"></a>QPrinter::setResolution ( int&nbsp;dpi )<tt> [virtual]</tt>
+</h3>
+Requests that the printer prints at <em>dpi</em> or as near to <em>dpi</em> as
+possible.
+<p> This setting affects the coordinate system as returned by, for
+example, <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> and <a href="qpainter.html#viewport">QPainter::viewport</a>().
+<p> The value depends on the <tt>PrintingMode</tt> used in the QPrinter
+constructor. By default, the dpi value of the screen is used.
+<p> This function must be called before <a href="#setup">setup</a>() to have an effect on
+all platforms.
+<p> <p>See also <a href="#resolution">resolution</a>() and <a href="#setPageSize">setPageSize</a>().
+
+<h3 class=fn>void <a name="setWinPageSize"></a>QPrinter::setWinPageSize ( short&nbsp;winPageSize )
+</h3>
+Windows only, using this function is not portable!
+Sets the windows page size value that is used by the <tt>DEVMODE</tt>
+struct. The <em>winPageSize</em> value must be one of the DMPAPER_ defines
+from wingdi.h.
+
+<h3 class=fn>bool <a name="setup"></a>QPrinter::setup ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0 )
+</h3>
+Opens a printer setup dialog, with parent <em>parent</em>, and asks the
+user to specify which printer they wish to use and what settings
+it should have.
+<p> Returns TRUE if the user pressed "OK" to print, or FALSE if the
+user canceled the operation.
+
+<p>Examples: <a href="qaction-application-example.html#x1151">action/application.cpp</a>, <a href="simple-application-example.html#x1569">application/application.cpp</a>, <a href="drawdemo-example.html#x1079">drawdemo/drawdemo.cpp</a>, <a href="helpviewer-example.html#x1007">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2052">mdi/application.cpp</a>.
+<h3 class=fn>int <a name="toPage"></a>QPrinter::toPage () const
+</h3>
+
+<p> Returns the to-page setting. The default value is 0.
+<p> If <a href="#fromPage">fromPage</a>() and <a href="#toPage">toPage</a>() both return 0 this signifies 'print the
+whole document'.
+<p> The programmer is responsible for reading this setting and
+printing accordingly.
+<p> <p>See also <a href="#setFromTo">setFromTo</a>() and <a href="#fromPage">fromPage</a>().
+
+<h3 class=fn>short <a name="winPageSize"></a>QPrinter::winPageSize () const
+</h3>
+Returns the Windows page size value as used by the <tt>DEVMODE</tt>
+struct (Windows only). Using this function is not portable.
+<p> Use <a href="#pageSize">pageSize</a>() to get the <a href="#PageSize-enum">PageSize</a>, e.g. 'A4', 'Letter', etc.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprocess-examples.html b/doc/html/qprocess-examples.html
new file mode 100644
index 0000000..c2f9c22
--- /dev/null
+++ b/doc/html/qprocess-examples.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:406 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProcess Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QProcess Examples</h1>
+
+
+<p> The following example programs show how to use the
+<a href="qprocess.html">QProcess</a> class.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="process-example.html">Starting processes with IO redirection</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprocess-h.html b/doc/html/qprocess-h.html
new file mode 100644
index 0000000..19a7dbb
--- /dev/null
+++ b/doc/html/qprocess-h.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprocess.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qprocess.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qprocess.h</h1>
+
+<p>This is the verbatim text of the qprocess.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qprocess.h 3.3.8 edited Jan 11 14:38 $
+**
+** Implementation of QProcess class
+**
+** Created : 20000905
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPROCESS_H
+#define QPROCESS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qstringlist.h"
+#include "qdir.h"
+#endif // QT_H
+
+#ifndef QT_NO_PROCESS
+
+class QProcessPrivate;
+class QMembuf;
+
+
+class Q_EXPORT QProcess : public QObject
+{
+ Q_OBJECT
+public:
+ QProcess( QObject *parent=0, const char *name=0 );
+ QProcess( const QString&amp; arg0, QObject *parent=0, const char *name=0 );
+ QProcess( const QStringList&amp; args, QObject *parent=0, const char *name=0 );
+ ~QProcess();
+
+ // set and get the arguments and working directory
+ QStringList arguments() const;
+ void clearArguments();
+ virtual void setArguments( const QStringList&amp; args );
+ virtual void addArgument( const QString&amp; arg );
+#ifndef QT_NO_DIR
+ QDir workingDirectory() const;
+ virtual void setWorkingDirectory( const QDir&amp; dir );
+#endif
+
+ // set and get the comms wanted
+ enum Communication { Stdin=0x01, Stdout=0x02, Stderr=0x04, DupStderr=0x08 };
+ void setCommunication( int c );
+ int communication() const;
+
+ // start the execution
+ virtual bool start( QStringList *env=0 );
+ virtual bool launch( const QString&amp; buf, QStringList *env=0 );
+ virtual bool launch( const QByteArray&amp; buf, QStringList *env=0 );
+
+ // inquire the status
+ bool isRunning() const;
+ bool normalExit() const;
+ int exitStatus() const;
+
+ // reading
+ virtual QByteArray readStdout();
+ virtual QByteArray readStderr();
+ bool canReadLineStdout() const;
+ bool canReadLineStderr() const;
+ virtual QString readLineStdout();
+ virtual QString readLineStderr();
+
+ // get platform dependent process information
+#if defined(Q_OS_WIN32)
+ typedef void* PID;
+#else
+ typedef Q_LONG PID;
+#endif
+ PID processIdentifier();
+
+ void flushStdin();
+
+signals:
+ void readyReadStdout();
+ void readyReadStderr();
+ void processExited();
+ void wroteToStdin();
+ void launchFinished();
+
+public slots:
+ // end the execution
+ void tryTerminate() const;
+ void kill() const;
+
+ // input
+ virtual void writeToStdin( const QByteArray&amp; buf );
+ virtual void writeToStdin( const QString&amp; buf );
+ virtual void closeStdin();
+
+protected: // ### or private?
+ void connectNotify( const char * signal );
+ void disconnectNotify( const char * signal );
+private:
+ void setIoRedirection( bool value );
+ void setNotifyOnExit( bool value );
+ void setWroteStdinConnected( bool value );
+
+ void init();
+ void reset();
+#if defined(Q_OS_WIN32)
+ uint readStddev( HANDLE dev, char *buf, uint bytes );
+#endif
+ QMembuf* membufStdout();
+ QMembuf* membufStderr();
+
+private slots:
+ void socketRead( int fd );
+ void socketWrite( int fd );
+ void timeout();
+ void closeStdinLaunch();
+
+private:
+ QProcessPrivate *d;
+#ifndef QT_NO_DIR
+ QDir workingDir;
+#endif
+ QStringList _arguments;
+
+ int exitStat; // exit status
+ bool exitNormal; // normal exit?
+ bool ioRedirection; // automatically set be (dis)connectNotify
+ bool notifyOnExit; // automatically set be (dis)connectNotify
+ bool wroteToStdinConnected; // automatically set be (dis)connectNotify
+
+ bool readStdoutCalled;
+ bool readStderrCalled;
+ int comms;
+
+ friend class QProcessPrivate;
+#if defined(Q_OS_UNIX)
+ friend class QProcessManager;
+ friend class QProc;
+#endif
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QProcess( const QProcess &amp; );
+ QProcess &amp;operator=( const QProcess &amp; );
+#endif
+};
+
+#endif // QT_NO_PROCESS
+
+#endif // QPROCESS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprocess-members.html b/doc/html/qprocess-members.html
new file mode 100644
index 0000000..f86a10b
--- /dev/null
+++ b/doc/html/qprocess-members.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprocess.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProcess Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QProcess</h1>
+
+<p>This is the complete list of member functions for
+<a href="qprocess.html">QProcess</a>, including inherited members.
+
+<ul>
+<li><a href="qprocess.html#QProcess">QProcess</a>()
+<li><a href="qprocess.html#~QProcess">~QProcess</a>()
+<li><a href="qprocess.html#addArgument">addArgument</a>()
+<li><a href="qprocess.html#arguments">arguments</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qprocess.html#canReadLineStderr">canReadLineStderr</a>()
+<li><a href="qprocess.html#canReadLineStdout">canReadLineStdout</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qprocess.html#clearArguments">clearArguments</a>()
+<li><a href="qprocess.html#closeStdin">closeStdin</a>()
+<li><a href="qprocess.html#communication">communication</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qprocess.html#exitStatus">exitStatus</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qprocess.html#isRunning">isRunning</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qprocess.html#kill">kill</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qprocess.html#launch">launch</a>()
+<li><a href="qprocess.html#launchFinished">launchFinished</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qprocess.html#normalExit">normalExit</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qprocess.html#processExited">processExited</a>()
+<li><a href="qprocess.html#processIdentifier">processIdentifier</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qprocess.html#readLineStderr">readLineStderr</a>()
+<li><a href="qprocess.html#readLineStdout">readLineStdout</a>()
+<li><a href="qprocess.html#readStderr">readStderr</a>()
+<li><a href="qprocess.html#readStdout">readStdout</a>()
+<li><a href="qprocess.html#readyReadStderr">readyReadStderr</a>()
+<li><a href="qprocess.html#readyReadStdout">readyReadStdout</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qprocess.html#setArguments">setArguments</a>()
+<li><a href="qprocess.html#setCommunication">setCommunication</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qprocess.html#setWorkingDirectory">setWorkingDirectory</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qprocess.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qprocess.html#tryTerminate">tryTerminate</a>()
+<li><a href="qprocess.html#workingDirectory">workingDirectory</a>()
+<li><a href="qprocess.html#writeToStdin">writeToStdin</a>()
+<li><a href="qprocess.html#wroteToStdin">wroteToStdin</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprocess.html b/doc/html/qprocess.html
new file mode 100644
index 0000000..e58ec66
--- /dev/null
+++ b/doc/html/qprocess.html
@@ -0,0 +1,633 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qprocess.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProcess Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QProcess Class Reference</h1>
+
+<p>The QProcess class is used to start external programs and
+to communicate with them.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qprocess-h.html">qprocess.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qprocess-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QProcess"><b>QProcess</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QProcess-2"><b>QProcess</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;arg0, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QProcess-3"><b>QProcess</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;args, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QProcess"><b>~QProcess</b></a> ()</li>
+<li class=fn>QStringList <a href="#arguments"><b>arguments</b></a> () const</li>
+<li class=fn>void <a href="#clearArguments"><b>clearArguments</b></a> ()</li>
+<li class=fn>virtual void <a href="#setArguments"><b>setArguments</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;args )</li>
+<li class=fn>virtual void <a href="#addArgument"><b>addArgument</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;arg )</li>
+<li class=fn>QDir <a href="#workingDirectory"><b>workingDirectory</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWorkingDirectory"><b>setWorkingDirectory</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>enum <a href="#Communication-enum"><b>Communication</b></a> { Stdin = 0x01, Stdout = 0x02, Stderr = 0x04, DupStderr = 0x08 }</li>
+<li class=fn>void <a href="#setCommunication"><b>setCommunication</b></a> ( int&nbsp;commFlags )</li>
+<li class=fn>int <a href="#communication"><b>communication</b></a> () const</li>
+<li class=fn>virtual bool <a href="#start"><b>start</b></a> ( QStringList&nbsp;*&nbsp;env = 0 )</li>
+<li class=fn>virtual bool <a href="#launch-2"><b>launch</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;buf, QStringList&nbsp;*&nbsp;env = 0 )</li>
+<li class=fn>virtual bool <a href="#launch"><b>launch</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;buf, QStringList&nbsp;*&nbsp;env = 0 )</li>
+<li class=fn>bool <a href="#isRunning"><b>isRunning</b></a> () const</li>
+<li class=fn>bool <a href="#normalExit"><b>normalExit</b></a> () const</li>
+<li class=fn>int <a href="#exitStatus"><b>exitStatus</b></a> () const</li>
+<li class=fn>virtual QByteArray <a href="#readStdout"><b>readStdout</b></a> ()</li>
+<li class=fn>virtual QByteArray <a href="#readStderr"><b>readStderr</b></a> ()</li>
+<li class=fn>bool <a href="#canReadLineStdout"><b>canReadLineStdout</b></a> () const</li>
+<li class=fn>bool <a href="#canReadLineStderr"><b>canReadLineStderr</b></a> () const</li>
+<li class=fn>virtual QString <a href="#readLineStdout"><b>readLineStdout</b></a> ()</li>
+<li class=fn>virtual QString <a href="#readLineStderr"><b>readLineStderr</b></a> ()</li>
+<li class=fn>PID <a href="#processIdentifier"><b>processIdentifier</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#tryTerminate"><b>tryTerminate</b></a> () const</li>
+<li class=fn>void <a href="#kill"><b>kill</b></a> () const</li>
+<li class=fn>virtual void <a href="#writeToStdin"><b>writeToStdin</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;buf )</li>
+<li class=fn>virtual void <a href="#writeToStdin-2"><b>writeToStdin</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;buf )</li>
+<li class=fn>virtual void <a href="#closeStdin"><b>closeStdin</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#readyReadStdout"><b>readyReadStdout</b></a> ()</li>
+<li class=fn>void <a href="#readyReadStderr"><b>readyReadStderr</b></a> ()</li>
+<li class=fn>void <a href="#processExited"><b>processExited</b></a> ()</li>
+<li class=fn>void <a href="#wroteToStdin"><b>wroteToStdin</b></a> ()</li>
+<li class=fn>void <a href="#launchFinished"><b>launchFinished</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QProcess class is used to start external programs and
+to communicate with them.
+<p>
+
+
+<p> You can write to the started program's standard input, and can
+read the program's standard output and standard error. You can
+pass command line arguments to the program either in the
+constructor or with <a href="#setArguments">setArguments</a>() or <a href="#addArgument">addArgument</a>(). The program's
+working directory can be set with <a href="#setWorkingDirectory">setWorkingDirectory</a>(). If you
+need to set up environment variables pass them to the <a href="#start">start</a>() or
+<a href="#launch">launch</a>() functions (see below). The <a href="#processExited">processExited</a>() signal is
+emitted if the program exits. The program's exit status is
+available from <a href="#exitStatus">exitStatus</a>(), although you could simply call
+<a href="#normalExit">normalExit</a>() to see if the program terminated normally.
+<p> There are two different ways to start a process. If you just want
+to run a program, optionally passing data to its standard input at
+the beginning, use one of the launch() functions. If you want full
+control of the program's standard input (especially if you don't
+know all the data you want to send to standard input at the
+beginning), use the start() function.
+<p> If you use start() you can write to the program's standard input
+using <a href="#writeToStdin">writeToStdin</a>() and you can close the standard input with
+<a href="#closeStdin">closeStdin</a>(). The <a href="#wroteToStdin">wroteToStdin</a>() signal is emitted if the data
+sent to standard input has been written. You can read from the
+program's standard output using <a href="#readStdout">readStdout</a>() or <a href="#readLineStdout">readLineStdout</a>().
+These functions return an empty <a href="qbytearray.html">QByteArray</a> if there is no data to
+read. The <a href="#readyReadStdout">readyReadStdout</a>() signal is emitted when there is data
+available to be read from standard output. Standard error has a
+set of functions that correspond to the standard output functions,
+i.e. <a href="#readStderr">readStderr</a>(), <a href="#readLineStderr">readLineStderr</a>() and <a href="#readyReadStderr">readyReadStderr</a>().
+<p> If you use one of the <a href="#launch">launch</a>() functions the data you pass will be
+sent to the program's standard input which will be closed once all
+the data has been written. You should <em>not</em> use <a href="#writeToStdin">writeToStdin</a>() or
+<a href="#closeStdin">closeStdin</a>() if you use launch(). If you need to send data to the
+program's standard input after it has started running use <a href="#start">start</a>()
+instead of launch().
+<p> Both start() and launch() can accept a string list of strings each
+of which has the format, key=value, where the keys are the names
+of environment variables.
+<p> You can test to see if a program is running with <a href="#isRunning">isRunning</a>(). The
+program's process identifier is available from
+<a href="#processIdentifier">processIdentifier</a>(). If you want to terminate a running program
+use <a href="#tryTerminate">tryTerminate</a>(), but note that the program may ignore this. If
+you <em>really</em> want to terminate the program, without it having any
+chance to clean up, you can use <a href="#kill">kill</a>().
+<p> As an example, suppose we want to start the <tt>uic</tt> command (a Qt
+command line tool used with <em>Qt Designer</em>) and perform some
+operations on the output (the <tt>uic</tt> outputs the code it generates
+to standard output by default). Suppose further that we want to
+run the program on the file "small_dialog.ui" with the command
+line options "-tr <a href="i18n.html#i18n">i18n</a>". On the command line we would write:
+<pre>
+ uic -tr i18n small_dialog.ui
+ </pre>
+
+<p>
+
+<p> A code snippet for this with the QProcess class might look like
+this:
+<p> <pre> UicManager::UicManager()
+ {
+</pre><pre> proc = new QProcess( this );
+</pre><pre> <a name="x2122"></a> proc-&gt;<a href="#addArgument">addArgument</a>( "uic" );
+ proc-&gt;<a href="#addArgument">addArgument</a>( "-tr" );
+ proc-&gt;<a href="#addArgument">addArgument</a>( "i18n" );
+ proc-&gt;<a href="#addArgument">addArgument</a>( "small_dialog.ui" );
+
+ <a name="x2123"></a> <a href="qobject.html#connect">connect</a>( proc, SIGNAL(<a href="#readyReadStdout">readyReadStdout</a>()),
+ this, SLOT(readFromStdout()) );
+</pre><pre> <a name="x2124"></a> if ( !proc-&gt;<a href="#start">start</a>() ) {
+ // error handling
+</pre><pre> }
+ }
+</pre>
+<p> <pre> void UicManager::readFromStdout()
+ {
+ // Read and process the data.
+ // Bear in mind that the data might be output in chunks.
+</pre><pre> }
+</pre>
+<p> Although you may need quotes for a file named on the command line
+(e.g. if it contains spaces) you shouldn't use extra quotes for
+arguments passed to <a href="#addArgument">addArgument</a>() or <a href="#setArguments">setArguments</a>().
+<p> The <a href="#readyReadStdout">readyReadStdout</a>() signal is emitted when there is new data on
+standard output. This happens asynchronously: you don't know if
+more data will arrive later.
+<p> In the above example you could connect the <a href="#processExited">processExited</a>() signal
+to the slot UicManager::readFromStdout() instead. If you do so,
+you will be certain that all the data is available when the slot
+is called. On the other hand, you must wait until the process has
+finished before doing any processing.
+<p> Note that if you are expecting a lot of output from the process,
+you may hit platform-dependent limits to the pipe buffer size. The
+solution is to make sure you connect to the output, e.g. the
+readyReadStdout() and <a href="#readyReadStderr">readyReadStderr</a>() signals and read the data
+as soon as it becomes available.
+<p> Please note that QProcess does not emulate a shell. This means that
+QProcess does not do any expansion of arguments: a '*' is passed as a '*'
+to the program and is <em>not</em> replaced by all the files, a '$HOME' is also
+passed literally and is <em>not</em> replaced by the environment variable HOME
+and the special characters for IO redirection ('>', '|', etc.) are also
+passed literally and do <em>not</em> have the special meaning as they have in a
+shell.
+<p> Also note that QProcess does not emulate a terminal. This means that
+certain programs which need direct terminal control, do not work as
+expected with QProcess. Such programs include console email programs (like
+pine and mutt) but also programs which require the user to enter a password
+(like su and ssh).
+<p> <h3> Notes for Windows users
+</h3>
+<a name="1"></a><p> Some Windows commands, for example, <tt>dir</tt>, are not provided by
+separate applications, but by the command interpreter.
+If you attempt to use QProcess to execute these commands directly
+it won't work. One possible solution is to execute the command
+interpreter itself (<tt>cmd.exe</tt> on some Windows systems), and ask
+the interpreter to execute the desired command.
+<p> Under Windows there are certain problems starting 16-bit applications
+and capturing their output. Microsoft recommends using an intermediate
+application to start 16-bit applications.
+<p> <p>See also <a href="qsocket.html">QSocket</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Communication-enum"></a>QProcess::Communication</h3>
+
+<p> This enum type defines the communication channels connected to the
+process.
+<ul>
+<li><tt>QProcess::Stdin</tt> - Data can be written to the process's standard input.
+<li><tt>QProcess::Stdout</tt> - Data can be read from the process's standard
+output.
+<li><tt>QProcess::Stderr</tt> - Data can be read from the process's standard error.
+<li><tt>QProcess::DupStderr</tt> - Both the process's standard error output <em>and</em>
+its standard output are written to its standard output. (Like
+Unix's dup2().) This means that nothing is sent to the standard
+error output. This is especially useful if your application
+requires that the output on standard output and on standard error
+must be read in the same order that they are produced. This is a
+flag, so to activate it you must pass <tt>Stdout|Stderr|DupStderr</tt>,
+or <tt>Stdin|Stdout|Stderr|DupStderr</tt> if you want to provide input,
+to the <a href="#setCommunication">setCommunication</a>() call.
+</ul><p> <p>See also <a href="#setCommunication">setCommunication</a>() and <a href="#communication">communication</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QProcess"></a>QProcess::QProcess ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QProcess object. The <em>parent</em> and <em>name</em> parameters
+are passed to the <a href="qobject.html">QObject</a> constructor.
+<p> <p>See also <a href="#setArguments">setArguments</a>(), <a href="#addArgument">addArgument</a>(), and <a href="#start">start</a>().
+
+<h3 class=fn><a name="QProcess-2"></a>QProcess::QProcess ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg0, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QProcess with <em>arg0</em> as the command to be executed.
+The <em>parent</em> and <em>name</em> parameters are passed to the <a href="qobject.html">QObject</a>
+constructor.
+<p> The process is not started. You must call <a href="#start">start</a>() or <a href="#launch">launch</a>() to
+start the process.
+<p> <p>See also <a href="#setArguments">setArguments</a>(), <a href="#addArgument">addArgument</a>(), and <a href="#start">start</a>().
+
+<h3 class=fn><a name="QProcess-3"></a>QProcess::QProcess ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;args, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QProcess with <em>args</em> as the arguments of the
+process. The first element in the list is the command to be
+executed. The other elements in the list are the arguments to this
+command. The <em>parent</em> and <em>name</em> parameters are passed to the
+<a href="qobject.html">QObject</a> constructor.
+<p> The process is not started. You must call <a href="#start">start</a>() or <a href="#launch">launch</a>() to
+start the process.
+<p> <p>See also <a href="#setArguments">setArguments</a>(), <a href="#addArgument">addArgument</a>(), and <a href="#start">start</a>().
+
+<h3 class=fn><a name="~QProcess"></a>QProcess::~QProcess ()
+</h3>
+Destroys the instance.
+<p> If the process is running, it is <b>not</b> terminated! The
+standard input, standard output and standard error of the process
+are closed.
+<p> You can connect the <a href="qobject.html#destroyed">destroyed</a>() signal to the <a href="#kill">kill</a>() slot, if you
+want the process to be terminated automatically when the instance
+is destroyed.
+<p> <p>See also <a href="#tryTerminate">tryTerminate</a>() and <a href="#kill">kill</a>().
+
+<h3 class=fn>void <a name="addArgument"></a>QProcess::addArgument ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;arg )<tt> [virtual]</tt>
+</h3>
+Adds <em>arg</em> to the end of the list of arguments.
+<p> The first element in the list of arguments is the command to be
+executed; the following elements are the command's arguments.
+<p> <p>See also <a href="#arguments">arguments</a>() and <a href="#setArguments">setArguments</a>().
+
+<p>Example: <a href="qprocess.html#x2122">process/process.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="arguments"></a>QProcess::arguments () const
+</h3>
+Returns the list of arguments that are set for the process.
+Arguments can be specified with the constructor or with the
+functions <a href="#setArguments">setArguments</a>() and <a href="#addArgument">addArgument</a>().
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myProcess.arguments();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#setArguments">setArguments</a>() and <a href="#addArgument">addArgument</a>().
+
+<h3 class=fn>bool <a name="canReadLineStderr"></a>QProcess::canReadLineStderr () const
+</h3>
+Returns TRUE if it's possible to read an entire line of text from
+standard error at this time; otherwise returns FALSE.
+<p> <p>See also <a href="#readLineStderr">readLineStderr</a>() and <a href="#canReadLineStdout">canReadLineStdout</a>().
+
+<h3 class=fn>bool <a name="canReadLineStdout"></a>QProcess::canReadLineStdout () const
+</h3>
+Returns TRUE if it's possible to read an entire line of text from
+standard output at this time; otherwise returns FALSE.
+<p> <p>See also <a href="#readLineStdout">readLineStdout</a>() and <a href="#canReadLineStderr">canReadLineStderr</a>().
+
+<h3 class=fn>void <a name="clearArguments"></a>QProcess::clearArguments ()
+</h3>
+Clears the list of arguments that are set for the process.
+<p> <p>See also <a href="#setArguments">setArguments</a>() and <a href="#addArgument">addArgument</a>().
+
+<h3 class=fn>void <a name="closeStdin"></a>QProcess::closeStdin ()<tt> [virtual slot]</tt>
+</h3>
+Closes the process's standard input.
+<p> This function also deletes any pending data that has not been
+written to standard input.
+<p> <p>See also <a href="#wroteToStdin">wroteToStdin</a>().
+
+<h3 class=fn>int <a name="communication"></a>QProcess::communication () const
+</h3>
+Returns the communication required with the process, i.e. some
+combination of the <a href="#Communication-enum">Communication</a> flags.
+<p> <p>See also <a href="#setCommunication">setCommunication</a>().
+
+<h3 class=fn>int <a name="exitStatus"></a>QProcess::exitStatus () const
+</h3>
+Returns the exit status of the process or 0 if the process is
+still running. This function returns immediately and does not wait
+until the process is finished.
+<p> If <a href="#normalExit">normalExit</a>() is FALSE (e.g. if the program was killed or
+crashed), this function returns 0, so you should check the return
+value of normalExit() before relying on this value.
+<p> <p>See also <a href="#normalExit">normalExit</a>() and <a href="#processExited">processExited</a>().
+
+<h3 class=fn>bool <a name="isRunning"></a>QProcess::isRunning () const
+</h3>
+Returns TRUE if the process is running; otherwise returns FALSE.
+<p> <p>See also <a href="#normalExit">normalExit</a>(), <a href="#exitStatus">exitStatus</a>(), and <a href="#processExited">processExited</a>().
+
+<h3 class=fn>void <a name="kill"></a>QProcess::kill () const<tt> [slot]</tt>
+</h3>
+Terminates the process. This is not a safe way to end a process
+since the process will not be able to do any cleanup.
+<a href="#tryTerminate">tryTerminate</a>() is safer, but processes can ignore a
+tryTerminate().
+<p> The nice way to end a process and to be sure that it is finished,
+is to do something like this:
+<pre>
+ process-&gt;tryTerminate();
+ QTimer::<a href="qtimer.html#singleShot">singleShot</a>( 5000, process, SLOT( <a href="#kill">kill</a>() ) );
+ </pre>
+
+<p> This tries to terminate the process the nice way. If the process
+is still running after 5 seconds, it terminates the process the
+hard way. The timeout should be chosen depending on the time the
+process needs to do all its cleanup: use a higher value if the
+process is likely to do a lot of computation or I/O on cleanup.
+<p> The slot returns immediately: it does not wait until the process
+has finished. When the process terminates, the <a href="#processExited">processExited</a>()
+signal is emitted.
+<p> <p>See also <a href="#tryTerminate">tryTerminate</a>() and <a href="#processExited">processExited</a>().
+
+<h3 class=fn>bool <a name="launch"></a>QProcess::launch ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;buf, <a href="qstringlist.html">QStringList</a>&nbsp;*&nbsp;env = 0 )<tt> [virtual]</tt>
+</h3>
+Runs the process and writes the data <em>buf</em> to the process's
+standard input. If all the data is written to standard input,
+standard input is closed. The command is searched for in the path
+for executable programs; you can also use an absolute path in the
+command itself.
+<p> If <em>env</em> is null, then the process is started with the same
+environment as the starting process. If <em>env</em> is non-null, then
+the values in the string list are interpreted as environment
+setttings of the form <tt>key=value</tt> and the process is started
+with these environment settings. For convenience, there is a small
+exception to this rule under Unix: if <em>env</em> does not contain any
+settings for the environment variable <tt>LD_LIBRARY_PATH</tt>, then
+this variable is inherited from the starting process.
+<p> Returns TRUE if the process could be started; otherwise returns
+FALSE.
+<p> Note that you should not use the slots <a href="#writeToStdin">writeToStdin</a>() and
+<a href="#closeStdin">closeStdin</a>() on processes started with <a href="#launch">launch</a>(), since the result
+is not well-defined. If you need these slots, use <a href="#start">start</a>() instead.
+<p> The process may or may not read the <em>buf</em> data sent to its
+standard input.
+<p> You can call this function even when a process that was started
+with this instance is still running. Be aware that if you do this
+the standard input of the process that was launched first will be
+closed, with any pending data being deleted, and the process will
+be left to run out of your control. Similarly, if the process
+could not be started the standard input will be closed and the
+pending data deleted. (On operating systems that have zombie
+processes, Qt will also wait() on the old process.)
+<p> The object emits the signal <a href="#launchFinished">launchFinished</a>() when this function
+call is finished. If the start was successful, this signal is
+emitted after all the data has been written to standard input. If
+the start failed, then this signal is emitted immediately.
+<p> <p>See also <a href="#start">start</a>() and <a href="#launchFinished">launchFinished</a>().
+
+<h3 class=fn>bool <a name="launch-2"></a>QProcess::launch ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;buf, <a href="qstringlist.html">QStringList</a>&nbsp;*&nbsp;env = 0 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The data <em>buf</em> is written to standard input with <a href="#writeToStdin">writeToStdin</a>()
+using the <a href="qstring.html#local8Bit">QString::local8Bit</a>() representation of the strings.
+
+<h3 class=fn>void <a name="launchFinished"></a>QProcess::launchFinished ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the process was started with <a href="#launch">launch</a>().
+If the start was successful, this signal is emitted after all the
+data has been written to standard input. If the start failed, then
+this signal is emitted immediately.
+<p> This signal is especially useful if you want to know when you can
+safely delete the QProcess object when you are not interested in
+reading from standard output or standard error.
+<p> <p>See also <a href="#launch">launch</a>() and <a href="qobject.html#deleteLater">QObject::deleteLater</a>().
+
+<h3 class=fn>bool <a name="normalExit"></a>QProcess::normalExit () const
+</h3>
+Returns TRUE if the process has exited normally; otherwise returns
+FALSE. This implies that this function returns FALSE if the
+process is still running.
+<p> <p>See also <a href="#isRunning">isRunning</a>(), <a href="#exitStatus">exitStatus</a>(), and <a href="#processExited">processExited</a>().
+
+<h3 class=fn>void <a name="processExited"></a>QProcess::processExited ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the process has exited.
+<p> <p>See also <a href="#isRunning">isRunning</a>(), <a href="#normalExit">normalExit</a>(), <a href="#exitStatus">exitStatus</a>(), <a href="#start">start</a>(), and <a href="#launch">launch</a>().
+
+<p>Example: <a href="process-example.html#x98">process/process.cpp</a>.
+<h3 class=fn>PID <a name="processIdentifier"></a>QProcess::processIdentifier ()
+</h3>
+Returns platform dependent information about the process. This can
+be used together with platform specific system calls.
+<p> Under Unix the return value is the PID of the process, or -1 if no
+process belongs to this object.
+<p> Under Windows it is a pointer to the <tt>PROCESS_INFORMATION</tt>
+struct, or 0 if no process is belongs to this object.
+<p> Use of this function's return value is likely to be non-portable.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readLineStderr"></a>QProcess::readLineStderr ()<tt> [virtual]</tt>
+</h3>
+Reads a line of text from standard error, excluding any trailing
+newline or carriage return characters and returns it. Returns
+<a href="qstring.html#QString-null">QString::null</a> if <a href="#canReadLineStderr">canReadLineStderr</a>() returns FALSE.
+<p> By default, the text is interpreted to be in Latin-1 encoding. If you need
+other codecs, you can set a different codec with
+<a href="qtextcodec.html#setCodecForCStrings">QTextCodec::setCodecForCStrings</a>().
+<p> <p>See also <a href="#canReadLineStderr">canReadLineStderr</a>(), <a href="#readyReadStderr">readyReadStderr</a>(), <a href="#readStderr">readStderr</a>(), and <a href="#readLineStdout">readLineStdout</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readLineStdout"></a>QProcess::readLineStdout ()<tt> [virtual]</tt>
+</h3>
+Reads a line of text from standard output, excluding any trailing
+newline or carriage return characters, and returns it. Returns
+<a href="qstring.html#QString-null">QString::null</a> if <a href="#canReadLineStdout">canReadLineStdout</a>() returns FALSE.
+<p> By default, the text is interpreted to be in Latin-1 encoding. If you need
+other codecs, you can set a different codec with
+<a href="qtextcodec.html#setCodecForCStrings">QTextCodec::setCodecForCStrings</a>().
+<p> <p>See also <a href="#canReadLineStdout">canReadLineStdout</a>(), <a href="#readyReadStdout">readyReadStdout</a>(), <a href="#readStdout">readStdout</a>(), and <a href="#readLineStderr">readLineStderr</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readStderr"></a>QProcess::readStderr ()<tt> [virtual]</tt>
+</h3>
+Reads the data that the process has written to standard error.
+When new data is written to standard error, the class emits the
+signal <a href="#readyReadStderr">readyReadStderr</a>().
+<p> If there is no data to read, this function returns a <a href="qbytearray.html">QByteArray</a> of
+size 0: it does not wait until there is something to read.
+<p> <p>See also <a href="#readyReadStderr">readyReadStderr</a>(), <a href="#readLineStderr">readLineStderr</a>(), <a href="#readStdout">readStdout</a>(), and <a href="#writeToStdin">writeToStdin</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="readStdout"></a>QProcess::readStdout ()<tt> [virtual]</tt>
+</h3>
+Reads the data that the process has written to standard output.
+When new data is written to standard output, the class emits the
+signal <a href="#readyReadStdout">readyReadStdout</a>().
+<p> If there is no data to read, this function returns a <a href="qbytearray.html">QByteArray</a> of
+size 0: it does not wait until there is something to read.
+<p> <p>See also <a href="#readyReadStdout">readyReadStdout</a>(), <a href="#readLineStdout">readLineStdout</a>(), <a href="#readStderr">readStderr</a>(), and <a href="#writeToStdin">writeToStdin</a>().
+
+<p>Example: <a href="process-example.html#x99">process/process.cpp</a>.
+<h3 class=fn>void <a name="readyReadStderr"></a>QProcess::readyReadStderr ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the process has written data to
+standard error. You can read the data with <a href="#readStderr">readStderr</a>().
+<p> Note that this signal is only emitted when there is new data and
+not when there is old, but unread data. In the slot connected to
+this signal, you should always read everything that is available
+at that moment to make sure that you don't lose any data.
+<p> <p>See also <a href="#readStderr">readStderr</a>(), <a href="#readLineStderr">readLineStderr</a>(), and <a href="#readyReadStdout">readyReadStdout</a>().
+
+<h3 class=fn>void <a name="readyReadStdout"></a>QProcess::readyReadStdout ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the process has written data to
+standard output. You can read the data with <a href="#readStdout">readStdout</a>().
+<p> Note that this signal is only emitted when there is new data and
+not when there is old, but unread data. In the slot connected to
+this signal, you should always read everything that is available
+at that moment to make sure that you don't lose any data.
+<p> <p>See also <a href="#readStdout">readStdout</a>(), <a href="#readLineStdout">readLineStdout</a>(), and <a href="#readyReadStderr">readyReadStderr</a>().
+
+<p>Example: <a href="qprocess.html#x2123">process/process.cpp</a>.
+<h3 class=fn>void <a name="setArguments"></a>QProcess::setArguments ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;args )<tt> [virtual]</tt>
+</h3>
+Sets <em>args</em> as the arguments for the process. The first element
+in the list is the command to be executed. The other elements in
+the list are the arguments to the command. Any previous arguments
+are deleted.
+<p> QProcess does not perform argument substitutions; for example, if you
+specify "*" or "$DISPLAY", these values are passed to the process
+literally. If you want to have the same behavior as the shell
+provides, you must do the substitutions yourself; i.e. instead of
+specifying a "*" you must specify the list of all the filenames in
+the current directory, and instead of "$DISPLAY" you must specify
+the value of the environment variable <tt>DISPLAY</tt>.
+<p> Note for Windows users. The standard Windows shells, e.g. <tt>command.com</tt> and <tt>cmd.exe</tt>, do not perform file globbing, i.e.
+they do not convert a "*" on the command line into a list of files
+in the current directory. For this reason most Windows
+applications implement their own file globbing, and as a result of
+this, specifying an argument of "*" for a Windows application is
+likely to result in the application performing a file glob and
+ending up with a list of filenames.
+<p> <p>See also <a href="#arguments">arguments</a>() and <a href="#addArgument">addArgument</a>().
+
+<h3 class=fn>void <a name="setCommunication"></a>QProcess::setCommunication ( int&nbsp;commFlags )
+</h3>
+Sets <em>commFlags</em> as the communication required with the process.
+<p> <em>commFlags</em> is a bitwise OR of the flags defined by the <a href="#Communication-enum">Communication</a> enum.
+<p> The default is <tt>Stdin|Stdout|Stderr</tt>.
+<p> <p>See also <a href="#communication">communication</a>().
+
+<h3 class=fn>void <a name="setWorkingDirectory"></a>QProcess::setWorkingDirectory ( const&nbsp;<a href="qdir.html">QDir</a>&nbsp;&amp;&nbsp;dir )<tt> [virtual]</tt>
+</h3>
+Sets <em>dir</em> as the working directory for processes. This does not
+affect running processes; only processes that are started
+afterwards are affected.
+<p> Setting the working directory is especially useful for processes
+that try to access files with relative paths.
+<p> <p>See also <a href="#workingDirectory">workingDirectory</a>() and <a href="#start">start</a>().
+
+<h3 class=fn>bool <a name="start"></a>QProcess::start ( <a href="qstringlist.html">QStringList</a>&nbsp;*&nbsp;env = 0 )<tt> [virtual]</tt>
+</h3>
+Tries to run a process for the command and arguments that were
+specified with <a href="#setArguments">setArguments</a>(), <a href="#addArgument">addArgument</a>() or that were
+specified in the constructor. The command is searched for in the
+path for executable programs; you can also use an absolute path in
+the command itself.
+<p> If <em>env</em> is null, then the process is started with the same
+environment as the starting process. If <em>env</em> is non-null, then
+the values in the stringlist are interpreted as environment
+setttings of the form <tt>key=value</tt> and the process is started in
+these environment settings. For convenience, there is a small
+exception to this rule: under Unix, if <em>env</em> does not contain any
+settings for the environment variable <tt>LD_LIBRARY_PATH</tt>, then
+this variable is inherited from the starting process; under
+Windows the same applies for the environment variable <tt>PATH</tt>.
+<p> Returns TRUE if the process could be started; otherwise returns
+FALSE.
+<p> You can write data to the process's standard input with
+<a href="#writeToStdin">writeToStdin</a>(). You can close standard input with <a href="#closeStdin">closeStdin</a>() and
+you can terminate the process with <a href="#tryTerminate">tryTerminate</a>(), or with <a href="#kill">kill</a>().
+<p> You can call this function even if you've used this instance to
+create a another process which is still running. In such cases,
+QProcess closes the old process's standard input and deletes
+pending data, i.e., you lose all control over the old process, but
+the old process is not terminated. This applies also if the
+process could not be started. (On operating systems that have
+zombie processes, Qt will also wait() on the old process.)
+<p> <p>See also <a href="#launch">launch</a>() and <a href="#closeStdin">closeStdin</a>().
+
+<p>Example: <a href="qprocess.html#x2124">process/process.cpp</a>.
+<h3 class=fn>void <a name="tryTerminate"></a>QProcess::tryTerminate () const<tt> [slot]</tt>
+</h3>
+Asks the process to terminate. Processes can ignore this if they
+wish. If you want to be certain that the process really
+terminates, you can use <a href="#kill">kill</a>() instead.
+<p> The slot returns immediately: it does not wait until the process
+has finished. When the process terminates, the <a href="#processExited">processExited</a>()
+signal is emitted.
+<p> <p>See also <a href="#kill">kill</a>() and <a href="#processExited">processExited</a>().
+
+<h3 class=fn><a href="qdir.html">QDir</a> <a name="workingDirectory"></a>QProcess::workingDirectory () const
+</h3>
+Returns the working directory that was set with
+<a href="#setWorkingDirectory">setWorkingDirectory</a>(), or the current directory if none has been
+explicitly set.
+<p> <p>See also <a href="#setWorkingDirectory">setWorkingDirectory</a>() and <a href="qdir.html#current">QDir::current</a>().
+
+<h3 class=fn>void <a name="writeToStdin"></a>QProcess::writeToStdin ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;buf )<tt> [virtual slot]</tt>
+</h3>
+Writes the data <em>buf</em> to the process's standard input. The
+process may or may not read this data.
+<p> This function always returns immediately. The data you
+pass to <a href="#writeToStdin">writeToStdin</a>() is copied into an internal memory buffer in
+QProcess, and when control goes back to the event loop, QProcess will
+starting transferring data from this buffer to the running process.  
+Sometimes the data will be transferred in several payloads, depending on
+how much data is read at a time by the process itself. When QProcess has
+transferred all the data from its memory buffer to the running process, it
+emits <a href="#wroteToStdin">wroteToStdin</a>().
+<p> Note that some operating systems use a buffer to transfer
+the data. As a result, wroteToStdin() may be emitted before the
+running process has actually read all the data.
+<p> <p>See also <a href="#wroteToStdin">wroteToStdin</a>(), <a href="#closeStdin">closeStdin</a>(), <a href="#readStdout">readStdout</a>(), and <a href="#readStderr">readStderr</a>().
+
+<h3 class=fn>void <a name="writeToStdin-2"></a>QProcess::writeToStdin ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;buf )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The string <em>buf</em> is handled as text using the
+<a href="qstring.html#local8Bit">QString::local8Bit</a>() representation.
+
+<h3 class=fn>void <a name="wroteToStdin"></a>QProcess::wroteToStdin ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the data sent to standard input (via
+<a href="#writeToStdin">writeToStdin</a>()) was actually written to the process. This does not
+imply that the process really read the data, since this class only
+detects when it was able to write the data to the operating
+system. But it is now safe to close standard input without losing
+pending data.
+<p> <p>See also <a href="#writeToStdin">writeToStdin</a>() and <a href="#closeStdin">closeStdin</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogbar-m.png b/doc/html/qprogbar-m.png
new file mode 100644
index 0000000..4f221c0
--- /dev/null
+++ b/doc/html/qprogbar-m.png
Binary files differ
diff --git a/doc/html/qprogbar-w.png b/doc/html/qprogbar-w.png
new file mode 100644
index 0000000..4e820a9
--- /dev/null
+++ b/doc/html/qprogbar-w.png
Binary files differ
diff --git a/doc/html/qprogdlg-m.png b/doc/html/qprogdlg-m.png
new file mode 100644
index 0000000..5990a33
--- /dev/null
+++ b/doc/html/qprogdlg-m.png
Binary files differ
diff --git a/doc/html/qprogdlg-w.png b/doc/html/qprogdlg-w.png
new file mode 100644
index 0000000..cbb259c
--- /dev/null
+++ b/doc/html/qprogdlg-w.png
Binary files differ
diff --git a/doc/html/qprogressbar-h.html b/doc/html/qprogressbar-h.html
new file mode 100644
index 0000000..8aca661
--- /dev/null
+++ b/doc/html/qprogressbar-h.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprogressbar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qprogressbar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qprogressbar.h</h1>
+
+<p>This is the verbatim text of the qprogressbar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qprogressbar.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QProgressBar class
+**
+** Created : 970520
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPROGRESSBAR_H
+#define QPROGRESSBAR_H
+
+#ifndef QT_H
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_PROGRESSBAR
+
+
+class QProgressBarPrivate;
+
+
+class Q_EXPORT QProgressBar : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( int totalSteps READ totalSteps WRITE setTotalSteps )
+ Q_PROPERTY( int progress READ progress WRITE setProgress )
+ Q_PROPERTY( QString progressString READ progressString )
+ Q_PROPERTY( bool centerIndicator READ centerIndicator WRITE setCenterIndicator )
+ Q_PROPERTY( bool indicatorFollowsStyle READ indicatorFollowsStyle WRITE setIndicatorFollowsStyle )
+ Q_PROPERTY( bool percentageVisible READ percentageVisible WRITE setPercentageVisible )
+
+public:
+ QProgressBar( QWidget* parent=0, const char* name=0, WFlags f=0 );
+ QProgressBar( int totalSteps, QWidget* parent=0, const char* name=0, WFlags f=0 );
+
+ int totalSteps() const;
+ int progress() const;
+ const QString &amp;progressString() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ void setCenterIndicator( bool on );
+ bool centerIndicator() const;
+
+ void setIndicatorFollowsStyle( bool );
+ bool indicatorFollowsStyle() const;
+
+ bool percentageVisible() const;
+ void setPercentageVisible( bool );
+
+ void show();
+
+public slots:
+ void reset();
+ virtual void setTotalSteps( int totalSteps );
+ virtual void setProgress( int progress );
+ void setProgress( int progress, int totalSteps );
+
+protected:
+ void drawContents( QPainter * );
+ virtual bool setIndicator( QString &amp; progress_str, int progress,
+ int totalSteps );
+ void styleChange( QStyle&amp; );
+
+private:
+ int total_steps;
+ int progress_val;
+ int percentage;
+ QString progress_str;
+ bool center_indicator : 1;
+ bool auto_indicator : 1;
+ bool percentage_visible : 1;
+ QProgressBarPrivate * d;
+ void initFrame();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QProgressBar( const QProgressBar &amp; );
+ QProgressBar &amp;operator=( const QProgressBar &amp; );
+#endif
+};
+
+
+inline int QProgressBar::totalSteps() const
+{
+ return total_steps;
+}
+
+inline int QProgressBar::progress() const
+{
+ return progress_val;
+}
+
+inline const QString &amp;QProgressBar::progressString() const
+{
+ return progress_str;
+}
+
+inline bool QProgressBar::centerIndicator() const
+{
+ return center_indicator;
+}
+
+inline bool QProgressBar::indicatorFollowsStyle() const
+{
+ return auto_indicator;
+}
+
+inline bool QProgressBar::percentageVisible() const
+{
+ return percentage_visible;
+}
+
+#endif // QT_NO_PROGRESSBAR
+
+#endif // QPROGRESSBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogressbar-members.html b/doc/html/qprogressbar-members.html
new file mode 100644
index 0000000..0b3895d
--- /dev/null
+++ b/doc/html/qprogressbar-members.html
@@ -0,0 +1,369 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprogressbar.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProgressBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QProgressBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qprogressbar.html">QProgressBar</a>, including inherited members.
+
+<ul>
+<li><a href="qprogressbar.html#QProgressBar">QProgressBar</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qprogressbar.html#centerIndicator">centerIndicator</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qprogressbar.html#indicatorFollowsStyle">indicatorFollowsStyle</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qprogressbar.html#percentageVisible">percentageVisible</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qprogressbar.html#progress">progress</a>()
+<li><a href="qprogressbar.html#progressString">progressString</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qprogressbar.html#reset">reset</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qprogressbar.html#setCenterIndicator">setCenterIndicator</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qprogressbar.html#setIndicator">setIndicator</a>()
+<li><a href="qprogressbar.html#setIndicatorFollowsStyle">setIndicatorFollowsStyle</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qprogressbar.html#setPercentageVisible">setPercentageVisible</a>()
+<li><a href="qprogressbar.html#setProgress">setProgress</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qprogressbar.html#setTotalSteps">setTotalSteps</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qprogressbar.html#totalSteps">totalSteps</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogressbar.html b/doc/html/qprogressbar.html
new file mode 100644
index 0000000..344a648
--- /dev/null
+++ b/doc/html/qprogressbar.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qprogressbar.cpp:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProgressBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QProgressBar Class Reference</h1>
+
+<p>The QProgressBar widget provides a horizontal progress bar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qprogressbar-h.html">qprogressbar.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qprogressbar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QProgressBar"><b>QProgressBar</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QProgressBar-2"><b>QProgressBar</b></a> ( int&nbsp;totalSteps, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>int <a href="#totalSteps"><b>totalSteps</b></a> () const</li>
+<li class=fn>int <a href="#progress"><b>progress</b></a> () const</li>
+<li class=fn>const QString &amp; <a href="#progressString"><b>progressString</b></a> () const</li>
+<li class=fn>void <a href="#setCenterIndicator"><b>setCenterIndicator</b></a> ( bool&nbsp;on )</li>
+<li class=fn>bool <a href="#centerIndicator"><b>centerIndicator</b></a> () const</li>
+<li class=fn>void <a href="#setIndicatorFollowsStyle"><b>setIndicatorFollowsStyle</b></a> ( bool )</li>
+<li class=fn>bool <a href="#indicatorFollowsStyle"><b>indicatorFollowsStyle</b></a> () const</li>
+<li class=fn>bool <a href="#percentageVisible"><b>percentageVisible</b></a> () const</li>
+<li class=fn>void <a href="#setPercentageVisible"><b>setPercentageVisible</b></a> ( bool )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>virtual void <a href="#setTotalSteps"><b>setTotalSteps</b></a> ( int&nbsp;totalSteps )</li>
+<li class=fn>virtual void <a href="#setProgress"><b>setProgress</b></a> ( int&nbsp;progress )</li>
+<li class=fn>void <a href="#setProgress-2"><b>setProgress</b></a> ( int&nbsp;progress, int&nbsp;totalSteps )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#centerIndicator-prop"><b>centerIndicator</b></a>&nbsp;- whether the indicator string should be centered</li>
+<li class=fn>bool <a href="#indicatorFollowsStyle-prop"><b>indicatorFollowsStyle</b></a>&nbsp;- whether the display of the indicator string should follow the GUI style</li>
+<li class=fn>bool <a href="#percentageVisible-prop"><b>percentageVisible</b></a>&nbsp;- whether the current progress value is displayed</li>
+<li class=fn>int <a href="#progress-prop"><b>progress</b></a>&nbsp;- the current amount of progress</li>
+<li class=fn>QString <a href="#progressString-prop"><b>progressString</b></a>&nbsp;- the amount of progress as a string &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#totalSteps-prop"><b>totalSteps</b></a>&nbsp;- the total number of steps</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#setIndicator"><b>setIndicator</b></a> ( QString&nbsp;&amp;&nbsp;indicator, int&nbsp;progress, int&nbsp;totalSteps )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QProgressBar widget provides a horizontal progress bar.
+<p>
+
+<p> A progress bar is used to give the user an indication of the
+progress of an operation and to reassure them that the application
+is still running.
+<p> The progress bar uses the concept of <em>steps</em>; you give it the
+total number of steps and the number of steps completed so far and
+it will display the percentage of steps that have been completed.
+You can specify the total number of steps in the constructor or
+later with <a href="#setTotalSteps">setTotalSteps</a>(). The current number of steps is set
+with <a href="#setProgress">setProgress</a>(). The progress bar can be rewound to the
+beginning with <a href="#reset">reset</a>().
+<p> If the total is given as 0 the progress bar shows a busy indicator
+instead of a percentage of steps. This is useful, for example,
+when using <a href="qftp.html">QFtp</a> or <a href="qhttp.html">QHttp</a> to download items when they are unable to
+determine the size of the item being downloaded.
+<p> <p>See also <a href="qprogressdialog.html">QProgressDialog</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Progress Indicator</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<p> <img src=qprogbar-m.png> <img src=qprogbar-w.png>
+<p> <p>See also <a href="qprogressdialog.html">QProgressDialog</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Progress Indicator</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QProgressBar"></a>QProgressBar::QProgressBar ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a progress bar.
+<p> The total number of steps is set to 100 by default.
+<p> The <em>parent</em>, <em>name</em> and widget flags, <em>f</em>, are passed on to
+the <a href="qframe.html#QFrame">QFrame::QFrame</a>() constructor.
+<p> <p>See also <a href="#totalSteps-prop">totalSteps</a>.
+
+<h3 class=fn><a name="QProgressBar-2"></a>QProgressBar::QProgressBar ( int&nbsp;totalSteps, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a progress bar.
+<p> The <em>totalSteps</em> is the total number of steps that need to be
+completed for the operation which this progress bar represents.
+For example, if the operation is to examine 50 files, this value
+would be 50. Before examining the first file, call <a href="#setProgress">setProgress</a>(0);
+call setProgress(50) after examining the last file.
+<p> The <em>parent</em>, <em>name</em> and widget flags, <em>f</em>, are passed to the
+<a href="qframe.html#QFrame">QFrame::QFrame</a>() constructor.
+<p> <p>See also <a href="#totalSteps-prop">totalSteps</a> and <a href="#progress-prop">progress</a>.
+
+<h3 class=fn>bool <a name="centerIndicator"></a>QProgressBar::centerIndicator () const
+</h3><p>Returns TRUE if the indicator string should be centered; otherwise returns FALSE.
+See the <a href="qprogressbar.html#centerIndicator-prop">"centerIndicator"</a> property for details.
+<h3 class=fn>bool <a name="indicatorFollowsStyle"></a>QProgressBar::indicatorFollowsStyle () const
+</h3><p>Returns TRUE if the display of the indicator string should follow the GUI style; otherwise returns FALSE.
+See the <a href="qprogressbar.html#indicatorFollowsStyle-prop">"indicatorFollowsStyle"</a> property for details.
+<h3 class=fn>bool <a name="percentageVisible"></a>QProgressBar::percentageVisible () const
+</h3><p>Returns TRUE if the current progress value is displayed; otherwise returns FALSE.
+See the <a href="qprogressbar.html#percentageVisible-prop">"percentageVisible"</a> property for details.
+<h3 class=fn>int <a name="progress"></a>QProgressBar::progress () const
+</h3><p>Returns the current amount of progress.
+See the <a href="qprogressbar.html#progress-prop">"progress"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="progressString"></a>QProgressBar::progressString () const
+</h3><p>Returns the amount of progress as a string.
+See the <a href="qprogressbar.html#progressString-prop">"progressString"</a> property for details.
+<h3 class=fn>void <a name="reset"></a>QProgressBar::reset ()<tt> [slot]</tt>
+</h3>
+Reset the progress bar. The progress bar "rewinds" and shows no
+progress.
+
+<p>Examples: <a href="fileiconview-example.html#x890">fileiconview/mainwindow.cpp</a> and <a href="progressbar-example.html#x967">progressbar/progressbar.cpp</a>.
+<h3 class=fn>void <a name="setCenterIndicator"></a>QProgressBar::setCenterIndicator ( bool&nbsp;on )
+</h3><p>Sets whether the indicator string should be centered to <em>on</em>.
+See the <a href="qprogressbar.html#centerIndicator-prop">"centerIndicator"</a> property for details.
+<h3 class=fn>bool <a name="setIndicator"></a>QProgressBar::setIndicator ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;indicator, int&nbsp;progress, int&nbsp;totalSteps )<tt> [virtual protected]</tt>
+</h3>
+This method is called to generate the text displayed in the center
+(or in some styles, to the left) of the progress bar.
+<p> The <em>progress</em> may be negative, indicating that the progress bar
+is in the "reset" state before any progress is set.
+<p> The default implementation is the percentage of completion or
+blank in the reset state. The percentage is calculated based on
+the <em>progress</em> and <em>totalSteps</em>. You can set the <em>indicator</em>
+text if you wish.
+<p> To allow efficient repainting of the progress bar, this method
+should return FALSE if the string is unchanged from the last call
+to this function.
+
+<h3 class=fn>void <a name="setIndicatorFollowsStyle"></a>QProgressBar::setIndicatorFollowsStyle ( bool )
+</h3><p>Sets whether the display of the indicator string should follow the GUI style.
+See the <a href="qprogressbar.html#indicatorFollowsStyle-prop">"indicatorFollowsStyle"</a> property for details.
+<h3 class=fn>void <a name="setPercentageVisible"></a>QProgressBar::setPercentageVisible ( bool )
+</h3><p>Sets whether the current progress value is displayed.
+See the <a href="qprogressbar.html#percentageVisible-prop">"percentageVisible"</a> property for details.
+<h3 class=fn>void <a name="setProgress"></a>QProgressBar::setProgress ( int&nbsp;progress )<tt> [virtual slot]</tt>
+</h3><p>Sets the current amount of progress to <em>progress</em>.
+See the <a href="qprogressbar.html#progress-prop">"progress"</a> property for details.
+<h3 class=fn>void <a name="setProgress-2"></a>QProgressBar::setProgress ( int&nbsp;progress, int&nbsp;totalSteps )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the amount of progress to <em>progress</em> and the total number of
+steps to <em>totalSteps</em>.
+<p> <p>See also <a href="#totalSteps-prop">totalSteps</a>.
+
+<h3 class=fn>void <a name="setTotalSteps"></a>QProgressBar::setTotalSteps ( int&nbsp;totalSteps )<tt> [virtual slot]</tt>
+</h3><p>Sets the total number of steps to <em>totalSteps</em>.
+See the <a href="qprogressbar.html#totalSteps-prop">"totalSteps"</a> property for details.
+<h3 class=fn>int <a name="totalSteps"></a>QProgressBar::totalSteps () const
+</h3><p>Returns the total number of steps.
+See the <a href="qprogressbar.html#totalSteps-prop">"totalSteps"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="centerIndicator-prop"></a>centerIndicator</h3>
+<p>This property holds whether the indicator string should be centered.
+<p>Changing this property sets <a href="#indicatorFollowsStyle-prop">QProgressBar::indicatorFollowsStyle</a>
+to FALSE. The default is TRUE.
+
+<p>Set this property's value with <a href="#setCenterIndicator">setCenterIndicator</a>() and get this property's value with <a href="#centerIndicator">centerIndicator</a>().
+<h3 class=fn>bool <a name="indicatorFollowsStyle-prop"></a>indicatorFollowsStyle</h3>
+<p>This property holds whether the display of the indicator string should follow the GUI style.
+<p>The default is TRUE.
+<p> <p>See also <a href="#centerIndicator-prop">centerIndicator</a>.
+
+<p>Set this property's value with <a href="#setIndicatorFollowsStyle">setIndicatorFollowsStyle</a>() and get this property's value with <a href="#indicatorFollowsStyle">indicatorFollowsStyle</a>().
+<h3 class=fn>bool <a name="percentageVisible-prop"></a>percentageVisible</h3>
+<p>This property holds whether the current progress value is displayed.
+<p>The default is TRUE.
+<p> <p>See also <a href="#centerIndicator-prop">centerIndicator</a> and <a href="#indicatorFollowsStyle-prop">indicatorFollowsStyle</a>.
+
+<p>Set this property's value with <a href="#setPercentageVisible">setPercentageVisible</a>() and get this property's value with <a href="#percentageVisible">percentageVisible</a>().
+<h3 class=fn>int <a name="progress-prop"></a>progress</h3>
+<p>This property holds the current amount of progress.
+<p>This property is -1 if progress counting has not started.
+
+<p>Set this property's value with <a href="#setProgress">setProgress</a>() and get this property's value with <a href="#progress">progress</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="progressString-prop"></a>progressString</h3>
+<p>This property holds the amount of progress as a string.
+<p>This property is <a href="qstring.html#QString-null">QString::null</a> if progress counting has not started.
+
+<p>Get this property's value with <a href="#progressString">progressString</a>().
+<h3 class=fn>int <a name="totalSteps-prop"></a>totalSteps</h3>
+<p>This property holds the total number of steps.
+<p>If totalSteps is 0, the progress bar will display a busy
+indicator.
+<p> <p>See also
+<p>Set this property's value with <a href="#setTotalSteps">setTotalSteps</a>() and get this property's value with <a href="#totalSteps">totalSteps</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogressdialog-h.html b/doc/html/qprogressdialog-h.html
new file mode 100644
index 0000000..245cc58
--- /dev/null
+++ b/doc/html/qprogressdialog-h.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprogressdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qprogressdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qprogressdialog.h</h1>
+
+<p>This is the verbatim text of the qprogressdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qprogressdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QProgressDialog class
+**
+** Created : 970520
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPROGRESSDIALOG_H
+#define QPROGRESSDIALOG_H
+
+#ifndef QT_H
+#include "qsemimodal.h"
+#include "qlabel.h" // ### remove or keep for users' convenience?
+#include "qprogressbar.h" // ### remove or keep for users' convenience?
+#endif // QT_H
+
+#ifndef QT_NO_PROGRESSDIALOG
+
+class QPushButton;
+class QTimer;
+class QProgressDialogData;
+
+class Q_EXPORT QProgressDialog : public QDialog
+{
+ Q_OBJECT
+ Q_PROPERTY( bool wasCancelled READ wasCancelled DESIGNABLE false STORED false ) // ### remove in 4.0
+ Q_PROPERTY( bool wasCanceled READ wasCanceled )
+ Q_PROPERTY( int totalSteps READ totalSteps WRITE setTotalSteps )
+ Q_PROPERTY( int progress READ progress WRITE setProgress )
+ Q_PROPERTY( bool autoReset READ autoReset WRITE setAutoReset )
+ Q_PROPERTY( bool autoClose READ autoClose WRITE setAutoClose )
+ Q_PROPERTY( int minimumDuration READ minimumDuration WRITE setMinimumDuration )
+ Q_PROPERTY( QString labelText READ labelText WRITE setLabelText )
+
+public:
+ QProgressDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE,
+ WFlags f=0 );
+ QProgressDialog( const QString&amp; labelText, const QString &amp;cancelButtonText,
+ int totalSteps, QWidget* parent=0, const char* name=0,
+ bool modal=FALSE, WFlags f=0 );
+ ~QProgressDialog();
+
+ void setLabel( QLabel * );
+ void setCancelButton( QPushButton * );
+ void setBar( QProgressBar * );
+
+ // ### Qt 4.0: remove wasCancelled() in 4.0
+ bool wasCancelled() const;
+ inline bool wasCanceled() const { return wasCancelled(); }
+
+ int totalSteps() const;
+ int progress() const;
+
+ QSize sizeHint() const;
+
+ QString labelText() const;
+
+ void setAutoReset( bool b );
+ bool autoReset() const;
+ void setAutoClose( bool b );
+ bool autoClose() const;
+
+public slots:
+ void cancel();
+ void reset();
+ void setTotalSteps( int totalSteps );
+ void setProgress( int progress );
+ void setProgress( int progress, int totalSteps );
+ void setLabelText( const QString &amp;);
+ void setCancelButtonText( const QString &amp;);
+
+ void setMinimumDuration( int ms );
+public:
+ int minimumDuration() const;
+
+signals:
+ // ### remove cancelled() in 4.0
+ void cancelled();
+ void canceled();
+
+protected:
+ void resizeEvent( QResizeEvent * );
+ void closeEvent( QCloseEvent * );
+ void styleChange( QStyle&amp; );
+ void showEvent( QShowEvent *e );
+
+protected slots:
+ void forceShow();
+
+private:
+ void init( QWidget *creator, const QString&amp; lbl, const QString &amp;canc,
+ int totstps);
+ void layout();
+ QLabel *label() const;
+ QProgressBar *bar() const;
+ QProgressDialogData *d;
+ QTimer *forceTimer;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QProgressDialog( const QProgressDialog &amp; );
+ QProgressDialog &amp;operator=( const QProgressDialog &amp; );
+#endif
+};
+
+#endif // QT_NO_PROGRESSDIALOG
+
+#endif // QPROGRESSDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogressdialog-members.html b/doc/html/qprogressdialog-members.html
new file mode 100644
index 0000000..86286e0
--- /dev/null
+++ b/doc/html/qprogressdialog-members.html
@@ -0,0 +1,375 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qprogressdialog.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProgressDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QProgressDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qprogressdialog.html">QProgressDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qprogressdialog.html#QProgressDialog">QProgressDialog</a>()
+<li><a href="qprogressdialog.html#~QProgressDialog">~QProgressDialog</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qprogressdialog.html#autoClose">autoClose</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qprogressdialog.html#autoReset">autoReset</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qprogressdialog.html#cancel">cancel</a>()
+<li><a href="qprogressdialog.html#canceled">canceled</a>()
+<li><a href="qprogressdialog.html#cancelled">cancelled</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qprogressdialog.html#forceShow">forceShow</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qprogressdialog.html#labelText">labelText</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qprogressdialog.html#minimumDuration">minimumDuration</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qprogressdialog.html#progress">progress</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qprogressdialog.html#reset">reset</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qprogressdialog.html#setAutoClose">setAutoClose</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qprogressdialog.html#setAutoReset">setAutoReset</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qprogressdialog.html#setBar">setBar</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qprogressdialog.html#setCancelButton">setCancelButton</a>()
+<li><a href="qprogressdialog.html#setCancelButtonText">setCancelButtonText</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qprogressdialog.html#setLabel">setLabel</a>()
+<li><a href="qprogressdialog.html#setLabelText">setLabelText</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qprogressdialog.html#setMinimumDuration">setMinimumDuration</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qprogressdialog.html#setProgress">setProgress</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qprogressdialog.html#setTotalSteps">setTotalSteps</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qprogressdialog.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qprogressdialog.html#totalSteps">totalSteps</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qprogressdialog.html#wasCanceled">wasCanceled</a>()
+<li><a href="qprogressdialog.html#wasCancelled">wasCancelled</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qprogressdialog.html b/doc/html/qprogressdialog.html
new file mode 100644
index 0000000..a070589
--- /dev/null
+++ b/doc/html/qprogressdialog.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qprogressdialog.cpp:99 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QProgressDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QProgressDialog Class Reference</h1>
+
+<p>The QProgressDialog class provides feedback on the progress of a slow operation.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qprogressdialog-h.html">qprogressdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qprogressdialog-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QProgressDialog"><b>QProgressDialog</b></a> ( QWidget&nbsp;*&nbsp;creator = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QProgressDialog-2"><b>QProgressDialog</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;labelText, const&nbsp;QString&nbsp;&amp;&nbsp;cancelButtonText, int&nbsp;totalSteps, QWidget&nbsp;*&nbsp;creator = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QProgressDialog"><b>~QProgressDialog</b></a> ()</li>
+<li class=fn>void <a href="#setLabel"><b>setLabel</b></a> ( QLabel&nbsp;*&nbsp;label )</li>
+<li class=fn>void <a href="#setCancelButton"><b>setCancelButton</b></a> ( QPushButton&nbsp;*&nbsp;cancelButton )</li>
+<li class=fn>void <a href="#setBar"><b>setBar</b></a> ( QProgressBar&nbsp;*&nbsp;bar )</li>
+<li class=fn>bool wasCancelled () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#wasCanceled"><b>wasCanceled</b></a> () const</li>
+<li class=fn>int <a href="#totalSteps"><b>totalSteps</b></a> () const</li>
+<li class=fn>int <a href="#progress"><b>progress</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>QString <a href="#labelText"><b>labelText</b></a> () const</li>
+<li class=fn>void <a href="#setAutoReset"><b>setAutoReset</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#autoReset"><b>autoReset</b></a> () const</li>
+<li class=fn>void <a href="#setAutoClose"><b>setAutoClose</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#autoClose"><b>autoClose</b></a> () const</li>
+<li class=fn>int <a href="#minimumDuration"><b>minimumDuration</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#cancel"><b>cancel</b></a> ()</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>void <a href="#setTotalSteps"><b>setTotalSteps</b></a> ( int&nbsp;totalSteps )</li>
+<li class=fn>void <a href="#setProgress"><b>setProgress</b></a> ( int&nbsp;progress )</li>
+<li class=fn>void <a href="#setProgress-2"><b>setProgress</b></a> ( int&nbsp;progress, int&nbsp;totalSteps )</li>
+<li class=fn>void <a href="#setLabelText"><b>setLabelText</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#setCancelButtonText"><b>setCancelButtonText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;cancelButtonText )</li>
+<li class=fn>void <a href="#setMinimumDuration"><b>setMinimumDuration</b></a> ( int&nbsp;ms )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void cancelled () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#canceled"><b>canceled</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoClose-prop"><b>autoClose</b></a>&nbsp;- whether the dialog gets hidden by reset()</li>
+<li class=fn>bool <a href="#autoReset-prop"><b>autoReset</b></a>&nbsp;- whether the progress dialog calls reset() as soon as progress() equals totalSteps()</li>
+<li class=fn>QString <a href="#labelText-prop"><b>labelText</b></a>&nbsp;- the label's text</li>
+<li class=fn>int <a href="#minimumDuration-prop"><b>minimumDuration</b></a>&nbsp;- the time that must pass before the dialog appears</li>
+<li class=fn>int <a href="#progress-prop"><b>progress</b></a>&nbsp;- the current amount of progress made</li>
+<li class=fn>int <a href="#totalSteps-prop"><b>totalSteps</b></a>&nbsp;- the total number of steps</li>
+<li class=fn>bool <a href="#wasCanceled-prop"><b>wasCanceled</b></a>&nbsp;- whether the dialog was canceled &nbsp;<em>(read only)</em></li>
+<li class=fn>bool wasCancelled&nbsp;- whether the dialog was canceled &nbsp;<em>(read only)</em> &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>void <a href="#forceShow"><b>forceShow</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QProgressDialog class provides feedback on the progress of a slow operation.
+
+
+<p> A progress dialog is used to give the user an indication of how long
+an operation is going to take, and to demonstrate that the
+application has not frozen. It can also give the user an opportunity
+to abort the operation.
+<p> A common problem with progress dialogs is that it is difficult to know
+when to use them; operations take different amounts of time on different
+hardware. QProgressDialog offers a solution to this problem:
+it estimates the time the operation will take (based on time for
+steps), and only shows itself if that estimate is beyond <a href="#minimumDuration">minimumDuration</a>()
+(4 seconds by default).
+<p> Use <a href="#setTotalSteps">setTotalSteps</a>() (or the constructor) to set the number of
+"steps" in the operation and call <a href="#setProgress">setProgress</a>() as the operation
+progresses. The step value can be chosen arbitrarily. It can be the
+number of files copied, the number of bytes received, the number of
+iterations through the main loop of your algorithm, or some other
+suitable unit. Progress starts at 0, and the progress dialog shows
+that the operation has finished when you call setProgress() with
+<a href="#totalSteps">totalSteps</a>() as its argument.
+<p> The dialog automatically resets and hides itself at the end of the
+operation. Use <a href="#setAutoReset">setAutoReset</a>() and <a href="#setAutoClose">setAutoClose</a>() to change this
+behavior.
+<p> There are two ways of using QProgressDialog: modal and modeless.
+<p> Using a modal QProgressDialog is simpler for the programmer, but you
+must call <a href="qapplication.html#processEvents">QApplication::processEvents</a>() or
+<a href="qeventloop.html#processEvents">QEventLoop::processEvents</a>(ExcludeUserInput) to keep the event loop
+running to ensure that the application doesn't freeze. Do the
+operation in a loop, call <a href="#setProgress">setProgress</a>() at intervals, and check
+for cancellation with <a href="#wasCanceled">wasCanceled</a>(). For example:
+<pre>
+QProgressDialog progress( "Copying files...", "Abort Copy", numFiles,
+ this, "progress", TRUE );
+for ( int i = 0; i &lt; numFiles; i++ ) {
+ progress.setProgress( i );
+ qApp-&gt;<a href="qapplication.html#processEvents">processEvents</a>();
+
+ if ( progress.wasCanceled() )
+ break;
+ //... copy one file
+}
+progress.setProgress( numFiles );
+</pre>
+
+<p> A modeless progress dialog is suitable for operations that take
+place in the background, where the user is able to interact with the
+application. Such operations are typically based on <a href="qtimer.html">QTimer</a> (or
+<a href="qobject.html#timerEvent">QObject::timerEvent</a>()), <a href="qsocketnotifier.html">QSocketNotifier</a>, or <a href="qurloperator.html">QUrlOperator</a>; or performed
+in a separate thread. A <a href="qprogressbar.html">QProgressBar</a> in the status bar of your main window
+is often an alternative to a modeless progress dialog.
+<p> You need to have an event loop to be running, connect the
+<a href="#canceled">canceled</a>() signal to a slot that stops the operation, and call <a href="#setProgress">setProgress</a>() at intervals. For example:
+<pre>
+Operation::Operation( <a href="qobject.html">QObject</a> *parent = 0 )
+ : <a href="qobject.html">QObject</a>( parent ), steps( 0 )
+{
+ pd = new QProgressDialog( "Operation in progress.", "Cancel", 100 );
+ <a href="qobject.html#connect">connect</a>( pd, SIGNAL(<a href="#canceled">canceled</a>()), this, SLOT(<a href="#cancel">cancel</a>()) );
+ t = new <a href="qtimer.html">QTimer</a>( this );
+ <a href="qobject.html#connect">connect</a>( t, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), this, SLOT(perform()) );
+ t-&gt;<a href="qtimer.html#start">start</a>( 0 );
+}
+
+void Operation::perform()
+{
+ pd-&gt;<a href="#setProgress">setProgress</a>( steps );
+ //... perform one percent of the operation
+ steps++;
+ if ( steps &gt; pd-&gt;<a href="#totalSteps">totalSteps</a>() )
+ t-&gt;<a href="qtimer.html#stop">stop</a>();
+}
+
+void Operation::cancel()
+{
+ t-&gt;<a href="qtimer.html#stop">stop</a>();
+ //... cleanup
+}
+</pre>
+
+<p> In both modes the progress dialog may be customized by
+replacing the child widgets with custom widgets by using <a href="#setLabel">setLabel</a>(),
+<a href="#setBar">setBar</a>(), and <a href="#setCancelButton">setCancelButton</a>().
+The functions <a href="#setLabelText">setLabelText</a>() and <a href="#setCancelButtonText">setCancelButtonText</a>()
+set the texts shown.
+<p> <img src=qprogdlg-m.png> <img src=qprogdlg-w.png>
+<p> <p>See also <a href="qdialog.html">QDialog</a>, <a href="qprogressbar.html">QProgressBar</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Progress Indicator</a>, and <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QProgressDialog"></a>QProgressDialog::QProgressDialog ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;creator = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a progress dialog.
+<p> Default settings:
+<ul>
+<li> The label text is empty.
+<li> The cancel button text is (translated) "Cancel".
+<li> The total number of steps is 100.
+</ul>
+<p> The <em>creator</em> argument is the widget to use as the dialog's parent.
+The <em>name</em>, <em>modal</em>, and the widget flags, <em>f</em>, are
+passed to the <a href="qdialog.html#QDialog">QDialog::QDialog</a>() constructor. If <em>modal</em> is FALSE (the
+default), you must have an event loop proceeding for any redrawing
+of the dialog to occur. If <em>modal</em> is TRUE, the dialog ensures that
+events are processed when needed.
+<p> <p>See also <a href="#labelText-prop">labelText</a>, <a href="#setLabel">setLabel</a>(), <a href="#setCancelButtonText">setCancelButtonText</a>(), <a href="#setCancelButton">setCancelButton</a>(), and <a href="#totalSteps-prop">totalSteps</a>.
+
+<h3 class=fn><a name="QProgressDialog-2"></a>QProgressDialog::QProgressDialog ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;labelText, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;cancelButtonText, int&nbsp;totalSteps, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;creator = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a progress dialog.
+<p> The <em>labelText</em> is text used to remind the user what is progressing.
+<p> The <em>cancelButtonText</em> is the text to display on the cancel button,
+or 0 if no cancel button is to be shown.
+<p> The <em>totalSteps</em> is the total number of steps in the operation for
+which this progress dialog shows progress. For example, if the
+operation is to examine 50 files, this value would be 50. Before
+examining the first file, call <a href="#setProgress">setProgress</a>(0). As each file is
+processed call setProgress(1), setProgress(2), etc., finally
+calling setProgress(50) after examining the last file.
+<p> The <em>creator</em> argument is the widget to use as the dialog's parent.
+The <em>name</em>, <em>modal</em>, and widget flags, <em>f</em>, are passed to the
+<a href="qdialog.html#QDialog">QDialog::QDialog</a>() constructor. If <em>modal</em> is FALSE (the default),
+you will must have an event loop proceeding for any redrawing of
+the dialog to occur. If <em>modal</em> is TRUE, the dialog ensures that
+events are processed when needed.
+<p> <p>See also <a href="#labelText-prop">labelText</a>, <a href="#setLabel">setLabel</a>(), <a href="#setCancelButtonText">setCancelButtonText</a>(), <a href="#setCancelButton">setCancelButton</a>(), and <a href="#totalSteps-prop">totalSteps</a>.
+
+<h3 class=fn><a name="~QProgressDialog"></a>QProgressDialog::~QProgressDialog ()
+</h3>
+Destroys the progress dialog.
+
+<h3 class=fn>bool <a name="autoClose"></a>QProgressDialog::autoClose () const
+</h3><p>Returns TRUE if the dialog gets hidden by <a href="#reset">reset</a>(); otherwise returns FALSE.
+See the <a href="qprogressdialog.html#autoClose-prop">"autoClose"</a> property for details.
+<h3 class=fn>bool <a name="autoReset"></a>QProgressDialog::autoReset () const
+</h3><p>Returns TRUE if the progress dialog calls <a href="#reset">reset</a>() as soon as <a href="#progress">progress</a>() equals <a href="#totalSteps">totalSteps</a>(); otherwise returns FALSE.
+See the <a href="qprogressdialog.html#autoReset-prop">"autoReset"</a> property for details.
+<h3 class=fn>void <a name="cancel"></a>QProgressDialog::cancel ()<tt> [slot]</tt>
+</h3>
+Resets the progress dialog. <a href="#wasCanceled">wasCanceled</a>() becomes TRUE until
+the progress dialog is reset.
+The progress dialog becomes hidden.
+
+<h3 class=fn>void <a name="canceled"></a>QProgressDialog::canceled ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the cancel button is clicked.
+It is connected to the <a href="#cancel">cancel</a>() slot by default.
+<p> <p>See also <a href="#wasCanceled-prop">wasCanceled</a>.
+
+<h3 class=fn>void <a name="cancelled"></a>QProgressDialog::cancelled ()<tt> [signal]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#canceled">canceled</a>() instead.
+
+<p>Examples: <a href="ftpclient-example.html#x768">network/ftpclient/ftpmainwindow.ui.h</a> and <a href="progress-example.html#x82">progress/progress.cpp</a>.
+<h3 class=fn>void <a name="forceShow"></a>QProgressDialog::forceShow ()<tt> [protected slot]</tt>
+</h3>
+Shows the dialog if it is still hidden after the algorithm has been started
+and minimumDuration milliseconds have passed.
+<p> <p>See also <a href="#minimumDuration-prop">minimumDuration</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="labelText"></a>QProgressDialog::labelText () const
+</h3><p>Returns the label's text.
+See the <a href="qprogressdialog.html#labelText-prop">"labelText"</a> property for details.
+<h3 class=fn>int <a name="minimumDuration"></a>QProgressDialog::minimumDuration () const
+</h3><p>Returns the time that must pass before the dialog appears.
+See the <a href="qprogressdialog.html#minimumDuration-prop">"minimumDuration"</a> property for details.
+<h3 class=fn>int <a name="progress"></a>QProgressDialog::progress () const
+</h3><p>Returns the current amount of progress made.
+See the <a href="qprogressdialog.html#progress-prop">"progress"</a> property for details.
+<h3 class=fn>void <a name="reset"></a>QProgressDialog::reset ()<tt> [slot]</tt>
+</h3>
+Resets the progress dialog.
+The progress dialog becomes hidden if <a href="#autoClose">autoClose</a>() is TRUE.
+<p> <p>See also <a href="#autoClose-prop">autoClose</a> and <a href="#autoReset-prop">autoReset</a>.
+
+<p>Example: <a href="ftpclient-example.html#x769">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn>void <a name="setAutoClose"></a>QProgressDialog::setAutoClose ( bool&nbsp;b )
+</h3><p>Sets whether the dialog gets hidden by <a href="#reset">reset</a>() to <em>b</em>.
+See the <a href="qprogressdialog.html#autoClose-prop">"autoClose"</a> property for details.
+<h3 class=fn>void <a name="setAutoReset"></a>QProgressDialog::setAutoReset ( bool&nbsp;b )
+</h3><p>Sets whether the progress dialog calls <a href="#reset">reset</a>() as soon as <a href="#progress">progress</a>() equals <a href="#totalSteps">totalSteps</a>() to <em>b</em>.
+See the <a href="qprogressdialog.html#autoReset-prop">"autoReset"</a> property for details.
+<h3 class=fn>void <a name="setBar"></a>QProgressDialog::setBar ( <a href="qprogressbar.html">QProgressBar</a>&nbsp;*&nbsp;bar )
+</h3>
+Sets the progress bar widget to <em>bar</em>. The progress dialog resizes to
+fit. The progress dialog takes ownership of the progress <em>bar</em> which
+will be deleted when necessary, so do not use a progress bar
+allocated on the stack.
+
+<h3 class=fn>void <a name="setCancelButton"></a>QProgressDialog::setCancelButton ( <a href="qpushbutton.html">QPushButton</a>&nbsp;*&nbsp;cancelButton )
+</h3>
+Sets the cancel button to the push button, <em>cancelButton</em>. The
+progress dialog takes ownership of this button which will be deleted
+when necessary, so do not pass the address of an object that is on
+the stack, i.e. use new() to create the button.
+<p> <p>See also <a href="#setCancelButtonText">setCancelButtonText</a>().
+
+<h3 class=fn>void <a name="setCancelButtonText"></a>QProgressDialog::setCancelButtonText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;cancelButtonText )<tt> [slot]</tt>
+</h3>
+Sets the cancel button's text to <em>cancelButtonText</em>.
+<p>See also <a href="#setCancelButton">setCancelButton</a>().
+
+<h3 class=fn>void <a name="setLabel"></a>QProgressDialog::setLabel ( <a href="qlabel.html">QLabel</a>&nbsp;*&nbsp;label )
+</h3>
+Sets the label to <em>label</em>. The progress dialog resizes to fit. The
+label becomes owned by the progress dialog and will be deleted when
+necessary, so do not pass the address of an object on the stack.
+<p> <p>See also <a href="#labelText-prop">labelText</a>.
+
+<p>Example: <a href="progress-example.html#x83">progress/progress.cpp</a>.
+<h3 class=fn>void <a name="setLabelText"></a>QProgressDialog::setLabelText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [slot]</tt>
+</h3><p>Sets the label's text.
+See the <a href="qprogressdialog.html#labelText-prop">"labelText"</a> property for details.
+<h3 class=fn>void <a name="setMinimumDuration"></a>QProgressDialog::setMinimumDuration ( int&nbsp;ms )<tt> [slot]</tt>
+</h3><p>Sets the time that must pass before the dialog appears to <em>ms</em>.
+See the <a href="qprogressdialog.html#minimumDuration-prop">"minimumDuration"</a> property for details.
+<h3 class=fn>void <a name="setProgress"></a>QProgressDialog::setProgress ( int&nbsp;progress )<tt> [slot]</tt>
+</h3><p>Sets the current amount of progress made to <em>progress</em>.
+See the <a href="qprogressdialog.html#progress-prop">"progress"</a> property for details.
+<h3 class=fn>void <a name="setProgress-2"></a>QProgressDialog::setProgress ( int&nbsp;progress, int&nbsp;totalSteps )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the current amount of progress to <em>progress</em> and the total number of
+steps to <em>totalSteps</em>.
+<p> <p>See also <a href="#totalSteps-prop">totalSteps</a>.
+
+<h3 class=fn>void <a name="setTotalSteps"></a>QProgressDialog::setTotalSteps ( int&nbsp;totalSteps )<tt> [slot]</tt>
+</h3><p>Sets the total number of steps to <em>totalSteps</em>.
+See the <a href="qprogressdialog.html#totalSteps-prop">"totalSteps"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QProgressDialog::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns a size that fits the contents of the progress dialog.
+The progress dialog resizes itself as required, so you should not
+need to call this yourself.
+
+<h3 class=fn>int <a name="totalSteps"></a>QProgressDialog::totalSteps () const
+</h3><p>Returns the total number of steps.
+See the <a href="qprogressdialog.html#totalSteps-prop">"totalSteps"</a> property for details.
+<h3 class=fn>bool <a name="wasCanceled"></a>QProgressDialog::wasCanceled () const
+</h3><p>Returns TRUE if the dialog was canceled; otherwise returns FALSE.
+See the <a href="qprogressdialog.html#wasCanceled-prop">"wasCanceled"</a> property for details.
+<h3 class=fn>bool <a name="wasCancelled"></a>QProgressDialog::wasCancelled () const
+</h3><p>Returns TRUE if the dialog was canceled; otherwise returns FALSE.
+See the <a href="qprogressdialog.html#wasCancelled-prop">"wasCancelled"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoClose-prop"></a>autoClose</h3>
+<p>This property holds whether the dialog gets hidden by <a href="#reset">reset</a>().
+<p>The default is TRUE.
+<p> <p>See also <a href="#autoReset-prop">autoReset</a>.
+
+<p>Set this property's value with <a href="#setAutoClose">setAutoClose</a>() and get this property's value with <a href="#autoClose">autoClose</a>().
+<h3 class=fn>bool <a name="autoReset-prop"></a>autoReset</h3>
+<p>This property holds whether the progress dialog calls <a href="#reset">reset</a>() as soon as <a href="#progress">progress</a>() equals <a href="#totalSteps">totalSteps</a>().
+<p>The default is TRUE.
+<p> <p>See also <a href="#autoClose-prop">autoClose</a>.
+
+<p>Set this property's value with <a href="#setAutoReset">setAutoReset</a>() and get this property's value with <a href="#autoReset">autoReset</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="labelText-prop"></a>labelText</h3>
+<p>This property holds the label's text.
+<p>The default text is <a href="qstring.html#QString-null">QString::null</a>.
+
+<p>Set this property's value with <a href="#setLabelText">setLabelText</a>() and get this property's value with <a href="#labelText">labelText</a>().
+<h3 class=fn>int <a name="minimumDuration-prop"></a>minimumDuration</h3>
+<p>This property holds the time that must pass before the dialog appears.
+<p>If the expected duration of the task is less than the
+minimumDuration, the dialog will not appear at all. This prevents
+the dialog popping up for tasks that are quickly over. For tasks
+that are expected to exceed the minimumDuration, the dialog will
+pop up after the minimumDuration time or as soon as any progress
+is set.
+<p> If set to 0, the dialog is always shown as soon as any progress is
+set. The default is 4000 milliseconds.
+
+<p>Set this property's value with <a href="#setMinimumDuration">setMinimumDuration</a>() and get this property's value with <a href="#minimumDuration">minimumDuration</a>().
+<h3 class=fn>int <a name="progress-prop"></a>progress</h3>
+<p>This property holds the current amount of progress made.
+<p>For the progress dialog to work as expected, you should initially set
+this property to 0 and finally set it to
+<a href="#totalSteps">QProgressDialog::totalSteps</a>(); you can call <a href="#setProgress">setProgress</a>() any number of times
+in-between.
+<p> <b>Warning:</b> If the progress dialog is modal
+(see <a href="#QProgressDialog">QProgressDialog::QProgressDialog</a>()),
+this function calls <a href="qapplication.html#processEvents">QApplication::processEvents</a>(), so take care that
+this does not cause undesirable re-entrancy in your code. For example,
+don't use a QProgressDialog inside a <a href="qwidget.html#paintEvent">paintEvent</a>()!
+<p> <p>See also <a href="#totalSteps-prop">totalSteps</a>.
+
+<p>Set this property's value with <a href="#setProgress">setProgress</a>() and get this property's value with <a href="#progress">progress</a>().
+<h3 class=fn>int <a name="totalSteps-prop"></a>totalSteps</h3>
+<p>This property holds the total number of steps.
+<p>The default is 0.
+
+<p>Set this property's value with <a href="#setTotalSteps">setTotalSteps</a>() and get this property's value with <a href="#totalSteps">totalSteps</a>().
+<h3 class=fn>bool <a name="wasCanceled-prop"></a>wasCanceled</h3>
+<p>This property holds whether the dialog was canceled.
+<p>Get this property's value with <a href="#wasCanceled">wasCanceled</a>().
+<p><p>See also <a href="#progress-prop">progress</a>.
+
+<h3 class=fn>bool <a name="wasCancelled-prop"></a>wasCancelled</h3>
+<p>This property holds whether the dialog was canceled.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#wasCanceled-prop">wasCanceled</a> instead.
+
+<p>Get this property's value with <a href="#wasCancelled">wasCancelled</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrcollection-h.html b/doc/html/qptrcollection-h.html
new file mode 100644
index 0000000..9c21462
--- /dev/null
+++ b/doc/html/qptrcollection-h.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrcollection.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrcollection.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrcollection.h</h1>
+
+<p>This is the verbatim text of the qptrcollection.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of base class for all pointer based collection classes
+**
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRCOLLECTION_H
+#define QPTRCOLLECTION_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+
+class QGVector;
+class QGList;
+class QGDict;
+
+
+class Q_EXPORT QPtrCollection // inherited by all collections
+{
+public:
+ bool autoDelete() const { return del_item; }
+ void setAutoDelete( bool enable ) { del_item = enable; }
+
+ virtual uint count() const = 0;
+ virtual void clear() = 0; // delete all objects
+
+ typedef void *Item; // generic collection item
+
+protected:
+ QPtrCollection() { del_item = FALSE; } // no deletion of objects
+ QPtrCollection(const QPtrCollection &amp;) { del_item = FALSE; }
+ virtual ~QPtrCollection() {}
+
+ bool del_item; // default FALSE
+
+ virtual Item newItem( Item ); // create object
+ virtual void deleteItem( Item ) = 0; // delete object
+};
+
+
+#ifndef QT_NO_COMPAT
+#define QCollection QPtrCollection
+#endif
+
+#endif // QPTRCOLLECTION_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrcollection-members.html b/doc/html/qptrcollection-members.html
new file mode 100644
index 0000000..9429f88
--- /dev/null
+++ b/doc/html/qptrcollection-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrcollection.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrCollection Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrCollection</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrcollection.html">QPtrCollection</a>, including inherited members.
+
+<ul>
+<li><a href="qptrcollection.html#QPtrCollection">QPtrCollection</a>()
+<li><a href="qptrcollection.html#~QPtrCollection">~QPtrCollection</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrcollection.html#clear">clear</a>()
+<li><a href="qptrcollection.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrcollection.html b/doc/html/qptrcollection.html
new file mode 100644
index 0000000..a828e49
--- /dev/null
+++ b/doc/html/qptrcollection.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qptrcollection.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrCollection Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrCollection Class Reference</h1>
+
+<p>The QPtrCollection class is the base class of most pointer-based Qt collections.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qptrcollection-h.html">qptrcollection.h</a>&gt;</tt>
+<p>Inherited by <a href="qasciicache.html">QAsciiCache</a>, <a href="qasciidict.html">QAsciiDict</a>, <a href="qcache.html">QCache</a>, <a href="qdict.html">QDict</a>, <a href="qintcache.html">QIntCache</a>, <a href="qintdict.html">QIntDict</a>, <a href="qptrlist.html">QPtrList</a>, <a href="qptrdict.html">QPtrDict</a>, and <a href="qptrvector.html">QPtrVector</a>.
+<p><a href="qptrcollection-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> () = 0</li>
+<li class=fn>typedef void&nbsp;*&nbsp;<a href="#Item"><b>Item</b></a></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QPtrCollection"><b>QPtrCollection</b></a> ()</li>
+<li class=fn><a href="#QPtrCollection-2"><b>QPtrCollection</b></a> ( const&nbsp;QPtrCollection&nbsp;&amp;&nbsp;source )</li>
+<li class=fn>virtual <a href="#~QPtrCollection"><b>~QPtrCollection</b></a> ()</li>
+<li class=fn>virtual Item <a href="#newItem"><b>newItem</b></a> ( Item&nbsp;d )</li>
+<li class=fn>virtual void <a href="#deleteItem"><b>deleteItem</b></a> ( Item&nbsp;d ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QPtrCollection class is the base class of most pointer-based Qt collections.
+<p>
+
+<p> The QPtrCollection class is an abstract base class for the Qt
+<a href="collection.html">collection classes</a> <a href="qdict.html">QDict</a>, <a href="qptrlist.html">QPtrList</a>,
+etc. Qt also includes value based collections, e.g. <a href="qvaluelist.html">QValueList</a>,
+<a href="qmap.html">QMap</a>, etc.
+<p> A QPtrCollection only knows about the number of objects in the
+collection and the deletion strategy (see <a href="#setAutoDelete">setAutoDelete</a>()).
+<p> A collection is implemented using the <a href="#Item">Item</a> (generic collection
+item) type, which is a <tt>void*</tt>. The template classes that create
+the real collections cast the <a href="#Item">Item</a> to the required type.
+<p>See also <a href="collection.html">Collection Classes</a> and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Item"></a>QPtrCollection::Item</h3>
+
+<p> This type is the generic "item" in a QPtrCollection.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrCollection"></a>QPtrCollection::QPtrCollection ()<tt> [protected]</tt>
+</h3>
+
+<p> Constructs a collection. The constructor is protected because
+QPtrCollection is an abstract class.
+
+<h3 class=fn><a name="QPtrCollection-2"></a>QPtrCollection::QPtrCollection ( const&nbsp;<a href="qptrcollection.html">QPtrCollection</a>&nbsp;&amp;&nbsp;source )<tt> [protected]</tt>
+</h3>
+
+<p> Constructs a copy of <em>source</em> with <a href="#autoDelete">autoDelete</a>() set to FALSE. The
+constructor is protected because QPtrCollection is an abstract
+class.
+<p> Note that if <em>source</em> has autoDelete turned on, copying it will
+risk memory leaks, reading freed memory, or both.
+
+<h3 class=fn><a name="~QPtrCollection"></a>QPtrCollection::~QPtrCollection ()<tt> [virtual protected]</tt>
+</h3>
+
+<p> Destroys the collection. The destructor is protected because
+QPtrCollection is an abstract class.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrCollection::clear ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Removes all objects from the collection. The objects will be
+deleted if auto-delete has been enabled.
+<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented in <a href="qasciicache.html#clear">QAsciiCache</a>, <a href="qasciidict.html#clear">QAsciiDict</a>, <a href="qcache.html#clear">QCache</a>, <a href="qdict.html#clear">QDict</a>, <a href="qintcache.html#clear">QIntCache</a>, <a href="qintdict.html#clear">QIntDict</a>, <a href="qptrlist.html#clear">QPtrList</a>, <a href="qptrdict.html#clear">QPtrDict</a>, and <a href="qptrvector.html#clear">QPtrVector</a>.
+<h3 class=fn>uint <a name="count"></a>QPtrCollection::count () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the number of objects in the collection.
+
+<p>Reimplemented in <a href="qasciicache.html#count">QAsciiCache</a>, <a href="qasciidict.html#count">QAsciiDict</a>, <a href="qcache.html#count">QCache</a>, <a href="qdict.html#count">QDict</a>, <a href="qintcache.html#count">QIntCache</a>, <a href="qintdict.html#count">QIntDict</a>, <a href="qptrlist.html#count">QPtrList</a>, <a href="qptrdict.html#count">QPtrDict</a>, and <a href="qptrvector.html#count">QPtrVector</a>.
+<h3 class=fn>void <a name="deleteItem"></a>QPtrCollection::deleteItem ( <a href="qptrcollection.html#Item">Item</a>&nbsp;d )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Reimplement this function if you want to be able to delete items.
+<p> Deletes an item that is about to be removed from the collection.
+<p> This function has to reimplemented in the collection template
+classes, and should <em>only</em> delete item <em>d</em> if auto-delete has
+been enabled.
+<p> <b>Warning:</b> If you reimplement this function you must also
+reimplement the destructor and call the virtual function <a href="#clear">clear</a>()
+from your destructor. This is due to the way virtual functions and
+destructors work in C++: Virtual functions in derived classes
+cannot be called from a destructor. If you do not do this, your
+<a href="#deleteItem">deleteItem</a>() function will not be called when the container is
+destroyed.
+<p> <p>See also <a href="#newItem">newItem</a>() and <a href="#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qptrcollection.html#Item">Item</a> <a name="newItem"></a>QPtrCollection::newItem ( <a href="qptrcollection.html#Item">Item</a>&nbsp;d )<tt> [virtual protected]</tt>
+</h3>
+Virtual function that creates a copy of an object that is about to
+be inserted into the collection.
+<p> The default implementation returns the <em>d</em> pointer, i.e. no copy
+is made.
+<p> This function is seldom reimplemented in the collection template
+classes. It is not common practice to make a copy of something
+that is being inserted.
+<p> <p>See also <a href="#deleteItem">deleteItem</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a remove()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrdict-h.html b/doc/html/qptrdict-h.html
new file mode 100644
index 0000000..9447ec2
--- /dev/null
+++ b/doc/html/qptrdict-h.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrdict.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrdict.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrdict.h</h1>
+
+<p>This is the verbatim text of the qptrdict.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qptrdict.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPtrDict template class
+**
+** Created : 970415
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRDICT_H
+#define QPTRDICT_H
+
+#ifndef QT_H
+#include "qgdict.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QPtrDict
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGDict
+#endif
+{
+public:
+ QPtrDict(int size=17) : QGDict(size,PtrKey,0,0) {}
+ QPtrDict( const QPtrDict&lt;type&gt; &amp;d ) : QGDict(d) {}
+ ~QPtrDict() { clear(); }
+ QPtrDict&lt;type&gt; &amp;operator=(const QPtrDict&lt;type&gt; &amp;d)
+ { return (QPtrDict&lt;type&gt;&amp;)QGDict::operator=(d); }
+ uint count() const { return QGDict::count(); }
+ uint size() const { return QGDict::size(); }
+ bool isEmpty() const { return QGDict::count() == 0; }
+ void insert( void *k, const type *d )
+ { QGDict::look_ptr(k,(Item)d,1); }
+ void replace( void *k, const type *d )
+ { QGDict::look_ptr(k,(Item)d,2); }
+ bool remove( void *k ) { return QGDict::remove_ptr(k); }
+ type *take( void *k ) { return (type*)QGDict::take_ptr(k); }
+ type *find( void *k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_ptr(k,0,0); }
+ type *operator[]( void *k ) const
+ { return (type *)((QGDict*)this)-&gt;QGDict::look_ptr(k,0,0); }
+ void clear() { QGDict::clear(); }
+ void resize( uint n ) { QGDict::resize(n); }
+ void statistics() const { QGDict::statistics(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream &amp;, QPtrCollection::Item &amp; );
+ virtual QDataStream&amp; write( QDataStream &amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QPtrDict&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt;
+inline void QPtrDict&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QPtrDictIterator : public QGDictIterator
+{
+public:
+ QPtrDictIterator(const QPtrDict&lt;type&gt; &amp;d) :QGDictIterator((QGDict &amp;)d) {}
+ ~QPtrDictIterator() {}
+ uint count() const { return dict-&gt;count(); }
+ bool isEmpty() const { return dict-&gt;count() == 0; }
+ type *toFirst() { return (type *)QGDictIterator::toFirst(); }
+ operator type *() const { return (type *)QGDictIterator::get(); }
+ type *current() const { return (type *)QGDictIterator::get(); }
+ void *currentKey() const { return QGDictIterator::getKeyPtr(); }
+ type *operator()() { return (type *)QGDictIterator::operator()(); }
+ type *operator++() { return (type *)QGDictIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGDictIterator::operator+=(j);}
+};
+
+#endif // QPTRDICT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrdict-members.html b/doc/html/qptrdict-members.html
new file mode 100644
index 0000000..8f8566e
--- /dev/null
+++ b/doc/html/qptrdict-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrdict.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrDict Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrDict</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrdict.html">QPtrDict</a>, including inherited members.
+
+<ul>
+<li><a href="qptrdict.html#QPtrDict">QPtrDict</a>()
+<li><a href="qptrdict.html#~QPtrDict">~QPtrDict</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrdict.html#clear">clear</a>()
+<li><a href="qptrdict.html#count">count</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrdict.html#find">find</a>()
+<li><a href="qptrdict.html#insert">insert</a>()
+<li><a href="qptrdict.html#isEmpty">isEmpty</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrdict.html#operator-eq">operator=</a>()
+<li><a href="qptrdict.html#operator[]">operator[]</a>()
+<li><a href="qptrdict.html#read">read</a>()
+<li><a href="qptrdict.html#remove">remove</a>()
+<li><a href="qptrdict.html#replace">replace</a>()
+<li><a href="qptrdict.html#resize">resize</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrdict.html#size">size</a>()
+<li><a href="qptrdict.html#statistics">statistics</a>()
+<li><a href="qptrdict.html#take">take</a>()
+<li><a href="qptrdict.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrdict.html b/doc/html/qptrdict.html
new file mode 100644
index 0000000..62d0026
--- /dev/null
+++ b/doc/html/qptrdict.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrdict.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrDict Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrDict Class Reference</h1>
+
+<p>The QPtrDict class is a template class that provides a dictionary based on void* keys.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrdict-h.html">qptrdict.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qptrdict-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrDict"><b>QPtrDict</b></a> ( int&nbsp;size = 17 )</li>
+<li class=fn><a href="#QPtrDict-2"><b>QPtrDict</b></a> ( const&nbsp;QPtrDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QPtrDict"><b>~QPtrDict</b></a> ()</li>
+<li class=fn>QPtrDict&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( void&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#replace"><b>replace</b></a> ( void&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( void&nbsp;*&nbsp;key )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( void&nbsp;*&nbsp;key )</li>
+<li class=fn>type * <a href="#find"><b>find</b></a> ( void&nbsp;*&nbsp;key ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( void&nbsp;*&nbsp;key ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( uint&nbsp;newsize )</li>
+<li class=fn>void <a href="#statistics"><b>statistics</b></a> () const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrDict class is a template class that provides a dictionary based on void* keys.
+<p>
+
+<p>
+<p> QPtrDict is implemented as a template class. Define a template
+instance QPtrDict&lt;X&gt; to create a dictionary that operates on
+pointers to X (X*).
+<p> A dictionary is a collection of key-value pairs. The key is a
+void* used for insertion, removal and lookup. The value is a
+pointer. Dictionaries provide very fast insertion and lookup.
+<p> Example:
+<pre>
+ QPtrDict&lt;char&gt; fields; // void* keys, char* values
+
+ <a href="qlineedit.html">QLineEdit</a> *le1 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le1-&gt;<a href="qlineedit.html#setText">setText</a>( "Simpson" );
+ <a href="qlineedit.html">QLineEdit</a> *le2 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le2-&gt;<a href="qlineedit.html#setText">setText</a>( "Homer" );
+ <a href="qlineedit.html">QLineEdit</a> *le3 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le3-&gt;<a href="qlineedit.html#setText">setText</a>( "45" );
+
+ fields.<a href="#insert">insert</a>( le1, "Surname" );
+ fields.<a href="#insert">insert</a>( le2, "Forename" );
+ fields.<a href="#insert">insert</a>( le3, "Age" );
+
+ <a href="qptrdictiterator.html">QPtrDictIterator</a>&lt;char&gt; it( fields );
+ for( ; it.<a href="qptrdictiterator.html#current">current</a>(); ++it )
+ cout &lt;&lt; it.<a href="qptrdictiterator.html#current">current</a>() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ if ( fields[le1] ) // Prints "Surname: Simpson"
+ cout &lt;&lt; fields[le1] &lt;&lt; ": " &lt;&lt; le1-&gt;<a href="qlineedit.html#text">text</a>() &lt;&lt; endl;
+ if ( fields[le2] ) // Prints "Forename: Homer"
+ cout &lt;&lt; fields[le2] &lt;&lt; ": " &lt;&lt; le2-&gt;<a href="qlineedit.html#text">text</a>() &lt;&lt; endl;
+
+ fields.<a href="#remove">remove</a>( le1 ); // Removes le1 from the dictionary
+ cout &lt;&lt; le1-&gt;<a href="qlineedit.html#text">text</a>() &lt;&lt; endl; // Prints "Simpson"
+ </pre>
+
+In this example we use a dictionary to add an extra property (a
+char*) to the line edits we're using.
+<p> See <a href="qdict.html">QDict</a> for full details, including the choice of dictionary
+size, and how deletions are handled.
+<p> <p>See also <a href="qptrdictiterator.html">QPtrDictIterator</a>, <a href="qdict.html">QDict</a>, <a href="qasciidict.html">QAsciiDict</a>, <a href="qintdict.html">QIntDict</a>, <a href="collection.html">Collection Classes</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrDict"></a>QPtrDict::QPtrDict ( int&nbsp;size = 17 )
+</h3>
+
+<p> Constructs a dictionary using an internal hash array with the size
+<em>size</em>.
+<p> Setting <em>size</em> to a suitably large <a href="primes.html#prime">prime</a> number (equal to or
+greater than the expected number of entries) makes the hash
+distribution better and improves lookup performance.
+
+<h3 class=fn><a name="QPtrDict-2"></a>QPtrDict::QPtrDict ( const&nbsp;<a href="qptrdict.html">QPtrDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs a copy of <em>dict</em>.
+<p> Each item in <em>dict</em> is inserted into this dictionary. Only the
+pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QPtrDict"></a>QPtrDict::~QPtrDict ()
+</h3>
+
+<p> Removes all items from the dictionary and destroys it.
+<p> All iterators that access this dictionary will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrDict::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the dictionary.
+<p> The removed items are deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that access this dictionary will be
+reset.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#take">take</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>uint <a name="count"></a>QPtrDict::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the dictionary.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="find"></a>QPtrDict::find ( void&nbsp;*&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to operator[].
+<p> <p>See also <a href="#operator[]">operator[]</a>().
+
+<h3 class=fn>void <a name="insert"></a>QPtrDict::insert ( void&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>key</em> with the <em>item</em> into the dictionary.
+<p> Multiple items can have the same key, in which case only the last
+item will be accessible using <a href="#operator[]">operator[]</a>().
+<p> <em>item</em> may not be 0.
+<p> <p>See also <a href="#replace">replace</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrDict::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qptrdict.html">QPtrDict</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrDict::operator= ( const&nbsp;<a href="qptrdict.html">QPtrDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Assigns <em>dict</em> to this dictionary and returns a reference to this
+dictionary.
+<p> This dictionary is first cleared and then each item in <em>dict</em> is
+inserted into the dictionary. Only the pointers are copied
+(shallow copy), unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented.
+
+<h3 class=fn>type * <a name="operator[]"></a>QPtrDict::operator[] ( void&nbsp;*&nbsp;key ) const
+</h3>
+
+<p> Returns the item associated with <em>key</em>, or 0 if the key does not
+exist in the dictionary.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be found.
+<p> Equivalent to the <a href="#find">find</a>() function.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrDict::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a dictionary item from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QPtrDict::remove ( void&nbsp;*&nbsp;key )
+</h3>
+
+<p> Removes the item associated with <em>key</em> from the dictionary.
+Returns TRUE if successful, i.e. if <em>key</em> is in the dictionary;
+otherwise returns FALSE.
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be removed.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All dictionary iterators that refer to the removed item will be
+set to point to the next item in the dictionary traversal order.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="replace"></a>QPtrDict::replace ( void&nbsp;*&nbsp;key, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> If the dictionary has key <em>key</em>, this key's item is replaced with
+<em>item</em>. If the dictionary doesn't contain key <em>key</em>, <em>item</em> is
+inserted into the dictionary using key <em>key</em>.
+<p> <em>item</em> may not be 0.
+<p> Equivalent to
+<pre>
+ QPtrDict&lt;ItemType&gt; dict;
+ ...
+ if ( dict.<a href="#find">find</a>( key ) )
+ dict.<a href="#remove">remove</a>( key );
+ dict.<a href="#insert">insert</a>( key, item );
+ </pre>
+
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be replaced.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="resize"></a>QPtrDict::resize ( uint&nbsp;newsize )
+</h3>
+
+<p> Changes the size of the hash table to <em>newsize</em>. The contents of
+the dictionary are preserved, but all iterators on the dictionary
+become invalid.
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QPtrDict::size () const
+</h3>
+
+<p> Returns the size of the internal hash table (as specified in the
+constructor).
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="statistics"></a>QPtrDict::statistics () const
+</h3>
+
+<p> Debugging-only function that prints out the dictionary
+distribution using <a href="qapplication.html#qDebug">qDebug</a>().
+
+<h3 class=fn>type * <a name="take"></a>QPtrDict::take ( void&nbsp;*&nbsp;key )
+</h3>
+
+<p> Takes the item associated with <em>key</em> out of the dictionary
+without deleting it (even if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+<p> If there are two or more items with equal keys, then the most
+recently inserted item will be removed.
+<p> Returns a pointer to the item taken out, or 0 if the key does not
+exist in the dictionary.
+<p> All dictionary iterators that refer to the taken item will be set
+to point to the next item in the dictionary traversal order.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrDict::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a> ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a dictionary item to the stream <em>s</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrdictiterator-members.html b/doc/html/qptrdictiterator-members.html
new file mode 100644
index 0000000..22eb44c
--- /dev/null
+++ b/doc/html/qptrdictiterator-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrdict.h:99 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrDictIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrDictIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrdictiterator.html">QPtrDictIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qptrdictiterator.html#QPtrDictIterator">QPtrDictIterator</a>()
+<li><a href="qptrdictiterator.html#~QPtrDictIterator">~QPtrDictIterator</a>()
+<li><a href="qptrdictiterator.html#count">count</a>()
+<li><a href="qptrdictiterator.html#current">current</a>()
+<li><a href="qptrdictiterator.html#currentKey">currentKey</a>()
+<li><a href="qptrdictiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qptrdictiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qptrdictiterator.html#operator()">operator()</a>()
+<li><a href="qptrdictiterator.html#operator++">operator++</a>()
+<li><a href="qptrdictiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qptrdictiterator.html#toFirst">toFirst</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrdictiterator.html b/doc/html/qptrdictiterator.html
new file mode 100644
index 0000000..8ab9068
--- /dev/null
+++ b/doc/html/qptrdictiterator.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrdict.doc:319 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrDictIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrDictIterator Class Reference</h1>
+
+<p>The QPtrDictIterator class provides an iterator for QPtrDict collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrdict-h.html">qptrdict.h</a>&gt;</tt>
+<p><a href="qptrdictiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrDictIterator"><b>QPtrDictIterator</b></a> ( const&nbsp;QPtrDict&lt;type&gt;&nbsp;&amp;&nbsp;dict )</li>
+<li class=fn><a href="#~QPtrDictIterator"><b>~QPtrDictIterator</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>void * <a href="#currentKey"><b>currentKey</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrDictIterator class provides an iterator for <a href="qptrdict.html">QPtrDict</a> collections.
+<p>
+
+<p> QPtrDictIterator is implemented as a template class. Define a
+template instance QPtrDictIterator&lt;X&gt; to create a dictionary
+iterator that operates on QPtrDict&lt;X&gt; (dictionary of X*).
+<p> Example:
+<pre>
+ <a href="qptrdict.html">QPtrDict</a>&lt;char&gt; fields;
+
+ <a href="qlineedit.html">QLineEdit</a> *le1 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le1-&gt;<a href="qlineedit.html#setText">setText</a>( "Simpson" );
+ <a href="qlineedit.html">QLineEdit</a> *le2 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le2-&gt;<a href="qlineedit.html#setText">setText</a>( "Homer" );
+ <a href="qlineedit.html">QLineEdit</a> *le3 = new <a href="qlineedit.html">QLineEdit</a>( this );
+ le3-&gt;<a href="qlineedit.html#setText">setText</a>( "45" );
+
+ fields.<a href="qptrdict.html#insert">insert</a>( le1, "Surname" );
+ fields.<a href="qptrdict.html#insert">insert</a>( le2, "Forename" );
+ fields.<a href="qptrdict.html#insert">insert</a>( le3, "Age" );
+
+ QPtrDictIterator&lt;char&gt; it( fields );
+ for( ; it.<a href="#current">current</a>(); ++it ) {
+ <a href="qlineedit.html">QLineEdit</a> *le = (QLineEdit)it.<a href="#currentKey">currentKey</a>();
+ cout &lt;&lt; it.<a href="#current">current</a>() &lt;&lt; ": " &lt;&lt; le-&gt;<a href="qlineedit.html#text">text</a>() &lt;&lt; endl;
+ }
+ cout &lt;&lt; endl;
+
+ // Output (random order):
+ // Forename: Homer
+ // Age: 45
+ // Surname: Simpson
+ </pre>
+
+In the example we insert some line edits into a dictionary,
+associating a string with each. We then iterate over the
+dictionary printing the associated strings.
+<p> Multiple iterators may independently traverse the same dictionary.
+A <a href="qptrdict.html">QPtrDict</a> knows about all the iterators that are operating on the
+dictionary. When an item is removed from the dictionary, QPtrDict
+updates all iterators that refer the removed item to point to the
+next item in the traversing order.
+<p> <p>See also <a href="qptrdict.html">QPtrDict</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrDictIterator"></a>QPtrDictIterator::QPtrDictIterator ( const&nbsp;<a href="qptrdict.html">QPtrDict</a>&lt;type&gt;&nbsp;&amp;&nbsp;dict )
+</h3>
+
+<p> Constructs an iterator for <em>dict</em>. The current iterator item is
+set to point on the first item in the <em>dict</em>.
+
+<h3 class=fn><a name="~QPtrDictIterator"></a>QPtrDictIterator::~QPtrDictIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn>uint <a name="count"></a>QPtrDictIterator::count () const
+</h3>
+
+<p> Returns the number of items in the dictionary this iterator
+operates on.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QPtrDictIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item's value.
+
+<h3 class=fn>void * <a name="currentKey"></a>QPtrDictIterator::currentKey () const
+</h3>
+
+<p> Returns the current iterator item's key.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrDictIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QPtrDictIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QPtrDictIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator++"></a>QPtrDictIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns the new
+current item.
+<p> If the current iterator item was the last item in the dictionary
+or if it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QPtrDictIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Sets the current item to the item <em>jump</em> positions after the
+current item and returns a pointer to that item.
+<p> If that item is beyond the last item or if the dictionary is
+empty, it sets the current item to 0 and returns 0.
+
+<h3 class=fn>type * <a name="toFirst"></a>QPtrDictIterator::toFirst ()
+</h3>
+
+<p> Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. If the dictionary is
+empty, it sets the current item to 0 and returns 0.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrlist-h.html b/doc/html/qptrlist-h.html
new file mode 100644
index 0000000..158d7e8
--- /dev/null
+++ b/doc/html/qptrlist-h.html
@@ -0,0 +1,240 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrlist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrlist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrlist.h</h1>
+
+<p>This is the verbatim text of the qptrlist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qptrlist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPtrList template/macro class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRLIST_H
+#define QPTRLIST_H
+
+#ifndef QT_H
+#include "qglist.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QPtrListStdIterator : public QGListStdIterator
+{
+public:
+ inline QPtrListStdIterator( QLNode* n ): QGListStdIterator(n) {}
+ type *operator*() { return node ? (type *)node-&gt;getData() : 0; }
+ inline QPtrListStdIterator&lt;type&gt; operator++()
+ { node = next(); return *this; }
+ inline QPtrListStdIterator&lt;type&gt; operator++(int)
+ { QLNode* n = node; node = next(); return QPtrListStdIterator&lt;type&gt;( n ); }
+ inline bool operator==( const QPtrListStdIterator&lt;type&gt;&amp; it ) const { return node == it.node; }
+ inline bool operator!=( const QPtrListStdIterator&lt;type&gt;&amp; it ) const { return node != it.node; }
+};
+
+
+template&lt;class type&gt;
+class QPtrList
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGList
+#endif
+{
+public:
+
+ QPtrList() {}
+ QPtrList( const QPtrList&lt;type&gt; &amp;l ) : QGList(l) {}
+ ~QPtrList() { clear(); }
+ QPtrList&lt;type&gt; &amp;operator=(const QPtrList&lt;type&gt; &amp;l)
+ { return (QPtrList&lt;type&gt;&amp;)QGList::operator=(l); }
+ bool operator==( const QPtrList&lt;type&gt; &amp;list ) const
+ { return QGList::operator==( list ); }
+ bool operator!=( const QPtrList&lt;type&gt; &amp;list ) const
+ { return !QGList::operator==( list ); }
+ uint count() const { return QGList::count(); }
+ bool isEmpty() const { return QGList::count() == 0; }
+ bool insert( uint i, const type *d){ return QGList::insertAt(i,(QPtrCollection::Item)d); }
+ void inSort( const type *d ) { QGList::inSort((QPtrCollection::Item)d); }
+ void prepend( const type *d ) { QGList::insertAt(0,(QPtrCollection::Item)d); }
+ void append( const type *d ) { QGList::append((QPtrCollection::Item)d); }
+ bool remove( uint i ) { return QGList::removeAt(i); }
+ bool remove() { return QGList::remove((QPtrCollection::Item)0); }
+ bool remove( const type *d ) { return QGList::remove((QPtrCollection::Item)d); }
+ bool removeRef( const type *d ) { return QGList::removeRef((QPtrCollection::Item)d); }
+ void removeNode( QLNode *n ) { QGList::removeNode(n); }
+ bool removeFirst() { return QGList::removeFirst(); }
+ bool removeLast() { return QGList::removeLast(); }
+ type *take( uint i ) { return (type *)QGList::takeAt(i); }
+ type *take() { return (type *)QGList::take(); }
+ type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n); }
+ void clear() { QGList::clear(); }
+ void sort() { QGList::sort(); }
+ int find( const type *d ) { return QGList::find((QPtrCollection::Item)d); }
+ int findNext( const type *d ) { return QGList::find((QPtrCollection::Item)d,FALSE); }
+ int findRef( const type *d ) { return QGList::findRef((QPtrCollection::Item)d); }
+ int findNextRef( const type *d ){ return QGList::findRef((QPtrCollection::Item)d,FALSE);}
+ uint contains( const type *d ) const { return QGList::contains((QPtrCollection::Item)d); }
+ uint containsRef( const type *d ) const
+ { return QGList::containsRef((QPtrCollection::Item)d); }
+ bool replace( uint i, const type *d ) { return QGList::replaceAt( i, (QPtrCollection::Item)d ); }
+ type *at( uint i ) { return (type *)QGList::at(i); }
+ int at() const { return QGList::at(); }
+ type *current() const { return (type *)QGList::get(); }
+ QLNode *currentNode() const { return QGList::currentNode(); }
+ type *getFirst() const { return (type *)QGList::cfirst(); }
+ type *getLast() const { return (type *)QGList::clast(); }
+ type *first() { return (type *)QGList::first(); }
+ type *last() { return (type *)QGList::last(); }
+ type *next() { return (type *)QGList::next(); }
+ type *prev() { return (type *)QGList::prev(); }
+ void toVector( QGVector *vec )const{ QGList::toVector(vec); }
+
+
+ // standard iterators
+ typedef QPtrListStdIterator&lt;type&gt; Iterator;
+ typedef QPtrListStdIterator&lt;type&gt; ConstIterator;
+ inline Iterator begin() { return QGList::begin(); }
+ inline ConstIterator begin() const { return QGList::begin(); }
+ inline ConstIterator constBegin() const { return QGList::begin(); }
+ inline Iterator end() { return QGList::end(); }
+ inline ConstIterator end() const { return QGList::end(); }
+ inline ConstIterator constEnd() const { return QGList::end(); }
+ inline Iterator erase( Iterator it ) { return QGList::erase( it ); }
+ // stl syntax compatibility
+ typedef Iterator iterator;
+ typedef ConstIterator const_iterator;
+
+
+#ifdef Q_QDOC
+protected:
+ virtual int compareItems( QPtrCollection::Item, QPtrCollection::Item );
+ virtual QDataStream&amp; read( QDataStream&amp;, QPtrCollection::Item&amp; );
+ virtual QDataStream&amp; write( QDataStream&amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QPtrList&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QPtrList&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+template&lt;class type&gt;
+class QPtrListIterator : public QGListIterator
+{
+public:
+ QPtrListIterator(const QPtrList&lt;type&gt; &amp;l) :QGListIterator((QGList &amp;)l) {}
+ ~QPtrListIterator() {}
+ uint count() const { return list-&gt;count(); }
+ bool isEmpty() const { return list-&gt;count() == 0; }
+ bool atFirst() const { return QGListIterator::atFirst(); }
+ bool atLast() const { return QGListIterator::atLast(); }
+ type *toFirst() { return (type *)QGListIterator::toFirst(); }
+ type *toLast() { return (type *)QGListIterator::toLast(); }
+ operator type *() const { return (type *)QGListIterator::get(); }
+ type *operator*() { return (type *)QGListIterator::get(); }
+
+ // No good, since QPtrList&lt;char&gt; (ie. QStrList fails...
+ //
+ // MSVC++ gives warning
+ // Sunpro C++ 4.1 gives error
+ // type *operator-&gt;() { return (type *)QGListIterator::get(); }
+
+ type *current() const { return (type *)QGListIterator::get(); }
+ type *operator()() { return (type *)QGListIterator::operator()();}
+ type *operator++() { return (type *)QGListIterator::operator++(); }
+ type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);}
+ type *operator--() { return (type *)QGListIterator::operator--(); }
+ type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);}
+ QPtrListIterator&lt;type&gt;&amp; operator=(const QPtrListIterator&lt;type&gt;&amp;it)
+ { QGListIterator::operator=(it); return *this; }
+};
+
+#ifndef QT_NO_COMPAT
+#define QList QPtrList
+#define QListIterator QPtrListIterator
+#endif
+
+#define Q_DEFINED_QPTRLIST
+#include "qwinexport.h"
+
+#endif // QPTRLIST_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrlist-members.html b/doc/html/qptrlist-members.html
new file mode 100644
index 0000000..eb28bb3
--- /dev/null
+++ b/doc/html/qptrlist-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrlist.h:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrlist.html">QPtrList</a>, including inherited members.
+
+<ul>
+<li><a href="qptrlist.html#QPtrList">QPtrList</a>()
+<li><a href="qptrlist.html#~QPtrList">~QPtrList</a>()
+<li><a href="qptrlist.html#append">append</a>()
+<li><a href="qptrlist.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrlist.html#clear">clear</a>()
+<li><a href="qptrlist.html#compareItems">compareItems</a>()
+<li><a href="qptrlist.html#contains">contains</a>()
+<li><a href="qptrlist.html#containsRef">containsRef</a>()
+<li><a href="qptrlist.html#count">count</a>()
+<li><a href="qptrlist.html#current">current</a>()
+<li><a href="qptrlist.html#currentNode">currentNode</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrlist.html#find">find</a>()
+<li><a href="qptrlist.html#findNext">findNext</a>()
+<li><a href="qptrlist.html#findNextRef">findNextRef</a>()
+<li><a href="qptrlist.html#findRef">findRef</a>()
+<li><a href="qptrlist.html#first">first</a>()
+<li><a href="qptrlist.html#getFirst">getFirst</a>()
+<li><a href="qptrlist.html#getLast">getLast</a>()
+<li><a href="qptrlist.html#inSort">inSort</a>()
+<li><a href="qptrlist.html#insert">insert</a>()
+<li><a href="qptrlist.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlist.html#last">last</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrlist.html#next">next</a>()
+<li><a href="qptrlist.html#operator!-eq">operator!=</a>()
+<li><a href="qptrlist.html#operator-eq">operator=</a>()
+<li><a href="qptrlist.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrlist.html#prepend">prepend</a>()
+<li><a href="qptrlist.html#prev">prev</a>()
+<li><a href="qptrlist.html#read">read</a>()
+<li><a href="qptrlist.html#remove">remove</a>()
+<li><a href="qptrlist.html#removeFirst">removeFirst</a>()
+<li><a href="qptrlist.html#removeLast">removeLast</a>()
+<li><a href="qptrlist.html#removeNode">removeNode</a>()
+<li><a href="qptrlist.html#removeRef">removeRef</a>()
+<li><a href="qptrlist.html#replace">replace</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrlist.html#sort">sort</a>()
+<li><a href="qptrlist.html#take">take</a>()
+<li><a href="qptrlist.html#takeNode">takeNode</a>()
+<li><a href="qptrlist.html#toVector">toVector</a>()
+<li><a href="qptrlist.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrlist.html b/doc/html/qptrlist.html
new file mode 100644
index 0000000..d973012
--- /dev/null
+++ b/doc/html/qptrlist.html
@@ -0,0 +1,741 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrlist.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrList Class Reference</h1>
+
+<p>The QPtrList class is a template class that provides a list.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p>Inherited by <a href="qobjectlist.html">QObjectList</a>, <a href="qsortedlist.html">QSortedList</a>, and <a href="qstrlist.html">QStrList</a>.
+<p><a href="qptrlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrList"><b>QPtrList</b></a> ()</li>
+<li class=fn><a href="#QPtrList-2"><b>QPtrList</b></a> ( const&nbsp;QPtrList&lt;type&gt;&nbsp;&amp;&nbsp;list )</li>
+<li class=fn><a href="#~QPtrList"><b>~QPtrList</b></a> ()</li>
+<li class=fn>QPtrList&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrList&lt;type&gt;&nbsp;&amp;&nbsp;list )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QPtrList&lt;type&gt;&nbsp;&amp;&nbsp;list ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QPtrList&lt;type&gt;&nbsp;&amp;&nbsp;list ) const</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#inSort"><b>inSort</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#prepend"><b>prepend</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#append"><b>append</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( uint&nbsp;index )</li>
+<li class=fn>bool <a href="#remove-2"><b>remove</b></a> ()</li>
+<li class=fn>bool <a href="#remove-3"><b>remove</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>bool <a href="#removeRef"><b>removeRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#removeNode"><b>removeNode</b></a> ( QLNode&nbsp;*&nbsp;node )</li>
+<li class=fn>bool <a href="#removeFirst"><b>removeFirst</b></a> ()</li>
+<li class=fn>bool <a href="#removeLast"><b>removeLast</b></a> ()</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( uint&nbsp;index )</li>
+<li class=fn>type * <a href="#take-2"><b>take</b></a> ()</li>
+<li class=fn>type * <a href="#takeNode"><b>takeNode</b></a> ( QLNode&nbsp;*&nbsp;node )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#findNext"><b>findNext</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#findRef"><b>findRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#findNextRef"><b>findNextRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>uint <a href="#contains"><b>contains</b></a> ( const&nbsp;type&nbsp;*&nbsp;item ) const</li>
+<li class=fn>uint <a href="#containsRef"><b>containsRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;item ) const</li>
+<li class=fn>bool <a href="#replace"><b>replace</b></a> ( uint&nbsp;index, const&nbsp;type&nbsp;*&nbsp;item )</li>
+<li class=fn>type * <a href="#at"><b>at</b></a> ( uint&nbsp;index )</li>
+<li class=fn>int <a href="#at-2"><b>at</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>QLNode * <a href="#currentNode"><b>currentNode</b></a> () const</li>
+<li class=fn>type * <a href="#getFirst"><b>getFirst</b></a> () const</li>
+<li class=fn>type * <a href="#getLast"><b>getLast</b></a> () const</li>
+<li class=fn>type * <a href="#first"><b>first</b></a> ()</li>
+<li class=fn>type * <a href="#last"><b>last</b></a> ()</li>
+<li class=fn>type * <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>type * <a href="#prev"><b>prev</b></a> ()</li>
+<li class=fn>void <a href="#toVector"><b>toVector</b></a> ( QGVector&nbsp;*&nbsp;vec ) const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#compareItems"><b>compareItems</b></a> ( QPtrCollection::Item&nbsp;item1, QPtrCollection::Item&nbsp;item2 )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrList class is a template class that provides a list.
+<p>
+
+<p>
+<p> <a href="qvaluelist.html">QValueList</a> is an STL-compatible alternative to this class.
+<p> Define a template instance QPtrList&lt;X&gt; to create a list that
+operates on pointers to X (X*).
+<p> The list class is indexable and has a <a href="#at">current
+ index</a> and a <a href="#current">current item</a>. The
+first item corresponds to index position 0. The current index is
+-1 if the current item is 0.
+<p> Items are inserted with <a href="#prepend">prepend</a>(), <a href="#insert">insert</a>() or <a href="#append">append</a>(). Items are
+removed with <a href="#remove">remove</a>(), <a href="#removeRef">removeRef</a>(), <a href="#removeFirst">removeFirst</a>() and
+<a href="#removeLast">removeLast</a>(). You can search for an item using <a href="#find">find</a>(), <a href="#findNext">findNext</a>(),
+<a href="#findRef">findRef</a>() or <a href="#findNextRef">findNextRef</a>(). The list can be sorted with <a href="#sort">sort</a>().
+You can count the number of occurrences of an item with <a href="#contains">contains</a>()
+or <a href="#containsRef">containsRef</a>(). You can get a pointer to the current item with
+<a href="#current">current</a>(), to an item at a particular index position in the list
+with <a href="#at">at</a>() or to the first or last item with <a href="#getFirst">getFirst</a>() and
+<a href="#getLast">getLast</a>(). You can also iterate over the list with <a href="#first">first</a>(),
+<a href="#last">last</a>(), <a href="#next">next</a>() and <a href="#prev">prev</a>() (which all update current()). The list's
+deletion property is set with <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+<p> <a name="example"></a>
+Example:
+<pre>
+ class Employee
+ {
+ public:
+ Employee() : sn( 0 ) { }
+ Employee( const <a href="qstring.html">QString</a>&amp; forename, const <a href="qstring.html">QString</a>&amp; surname, int salary )
+ : fn( forename ), sn( surname ), sal( salary )
+ { }
+
+ void setSalary( int salary ) { sal = salary; }
+
+ <a href="qstring.html">QString</a> forename() const { return fn; }
+ <a href="qstring.html">QString</a> surname() const { return sn; }
+ int salary() const { return sal; }
+
+ private:
+ <a href="qstring.html">QString</a> fn;
+ <a href="qstring.html">QString</a> sn;
+ int sal;
+ };
+
+ QPtrList&lt;Employee&gt; list;
+ list.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE ); // the list owns the objects
+
+ list.<a href="#append">append</a>( new Employee("John", "Doe", 50000) );
+ list.<a href="#append">append</a>( new Employee("Jane", "Williams", 80000) );
+ list.<a href="#append">append</a>( new Employee("Tom", "Jones", 60000) );
+
+ Employee *employee;
+ for ( employee = list.<a href="#first">first</a>(); employee; employee = list.<a href="#next">next</a>() )
+ cout &lt;&lt; employee-&gt;surname().latin1() &lt;&lt; ", " &lt;&lt;
+ employee-&gt;forename().latin1() &lt;&lt; " earns " &lt;&lt;
+ employee-&gt;salary() &lt;&lt; endl;
+ cout &lt;&lt; endl;
+
+ // very inefficient for big lists
+ for ( uint i = 0; i &lt; list.<a href="#count">count</a>(); ++i )
+ if ( list.<a href="#at">at</a>(i) )
+ cout &lt;&lt; list.<a href="#at">at</a>( i )-&gt;surname().latin1() &lt;&lt; endl;
+ </pre>
+
+<p> The output is
+<pre>
+ Doe, John earns 50000
+ Williams, Jane earns 80000
+ Jones, Tom earns 60000
+
+ Doe
+ Williams
+ Jones
+ </pre>
+
+<p> QPtrList has several member functions for traversing the list, but
+using a <a href="qptrlistiterator.html">QPtrListIterator</a> can be more practical. Multiple list
+iterators may traverse the same list, independently of each other
+and of the current list item.
+<p> In the example above we make the call <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(TRUE).
+Enabling auto-deletion tells the list to delete items that are
+removed. The default is to not delete items when they are removed
+but this would cause a memory leak in the example because there
+are no other references to the list items.
+<p> When inserting an item into a list only the pointer is copied, not
+the item itself, i.e. a <a href="shclass.html#shallow-copy">shallow copy</a>. It is possible to make the
+list copy all of the item's data (deep copy) when an item is
+inserted. <a href="#insert">insert</a>(), <a href="#inSort">inSort</a>() and <a href="#append">append</a>() call the virtual
+function <a href="qptrcollection.html#newItem">QPtrCollection::newItem</a>() for the item to be inserted.
+Inherit a list and reimplement <a href="qptrcollection.html#newItem">newItem</a>() to have deep copies.
+<p> When removing an item from a list, the virtual function
+<a href="qptrcollection.html#deleteItem">QPtrCollection::deleteItem</a>() is called. QPtrList's default
+implementation is to delete the item if auto-deletion is enabled.
+<p> The virtual function <a href="#compareItems">compareItems</a>() can be reimplemented to
+compare two list items. This function is called from all list
+functions that need to compare list items, for instance
+<a href="#remove">remove</a>(const type*). If you only want to deal with pointers, there
+are functions that compare pointers instead, for instance
+<a href="#removeRef">removeRef</a>(const type*). These functions are somewhat faster than
+those that call compareItems().
+<p> List items are stored as <tt>void*</tt> in an internal QLNode, which
+also holds pointers to the next and previous list items. The
+functions <a href="#currentNode">currentNode</a>(), <a href="#removeNode">removeNode</a>(), and <a href="#takeNode">takeNode</a>() operate
+directly on the QLNode, but they should be used with care. The
+data component of the node is available through QLNode::getData().
+<p> The <a href="qstrlist.html">QStrList</a> class defined in <a href="qstrlist-h.html">qstrlist.h</a> is a list of <tt>char*</tt>.
+It reimplements <a href="qptrcollection.html#newItem">newItem</a>(), <a href="qptrcollection.html#deleteItem">deleteItem</a>() and <a href="#compareItems">compareItems</a>(). (But
+see <a href="qstringlist.html">QStringList</a> for a list of Unicode QStrings.)
+<p> <p>See also <a href="qptrlistiterator.html">QPtrListIterator</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrList"></a>QPtrList::QPtrList ()
+</h3>
+
+<p> Constructs an empty list.
+
+<h3 class=fn><a name="QPtrList-2"></a>QPtrList::QPtrList ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Constructs a copy of <em>list</em>.
+<p> Each item in <em>list</em> is <a href="#append">appended</a> to this
+list. Only the pointers are copied (shallow copy).
+
+<h3 class=fn><a name="~QPtrList"></a>QPtrList::~QPtrList ()
+</h3>
+
+<p> Removes all items from the list and destroys the list.
+<p> All list iterators that access this list will be reset.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="append"></a>QPtrList::append ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>item</em> at the end of the list.
+<p> The inserted item becomes the current list item. This is
+equivalent to <tt>insert( count(), item )</tt>.
+<p> <em>item</em> must not be 0.
+<p> <p>See also <a href="#insert">insert</a>(), <a href="#current">current</a>(), and <a href="#prepend">prepend</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1500">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1518">customlayout/card.cpp</a>, <a href="customlayout-example.html#x1477">customlayout/flow.cpp</a>, <a href="grapher-nsplugin-example.html#x2770">grapher/grapher.cpp</a>, <a href="listviews-example.html#x160">listviews/listviews.cpp</a>, <a href="listviews-example.html#x131">listviews/listviews.h</a>, and <a href="qwerty-example.html#x387">qwerty/qwerty.cpp</a>.
+<h3 class=fn>type * <a name="at"></a>QPtrList::at ( uint&nbsp;index )
+</h3>
+
+<p> Returns a pointer to the item at position <em>index</em> in the list, or
+0 if the index is out of range.
+<p> Sets the current list item to this item if <em>index</em> is valid. The
+valid range is <tt>0..(count() - 1)</tt> inclusive.
+<p> This function is very efficient. It starts scanning from the first
+item, last item, or current item, whichever is closest to <em>index</em>.
+<p> <p>See also <a href="#current">current</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1501">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1519">customlayout/card.cpp</a>, <a href="customlayout-example.html#x1478">customlayout/flow.cpp</a>, <a href="dirview-example.html#x1697">dirview/dirview.cpp</a>, <a href="mdi-example.html#x2053">mdi/application.cpp</a>, and <a href="qwerty-example.html#x388">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="at-2"></a>QPtrList::at () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the index of the current list item. The returned value is
+-1 if the current item is 0.
+<p> <p>See also <a href="#current">current</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrList::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the list.
+<p> The removed items are deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> All list iterators that access this list will be reset.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#take">take</a>(), and <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>int <a name="compareItems"></a>QPtrList::compareItems ( <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item1, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item2 )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function compares two list items.
+<p> Returns:
+<ul>
+<li> zero if <em>item1</em> == <em>item2</em>
+<li> nonzero if <em>item1</em> != <em>item2</em>
+</ul>
+<p> This function returns <em>int</em> rather than <em>bool</em> so that
+reimplementations can return three values and use it to sort by:
+<p> <ul>
+<li> 0 if <em>item1</em> == <em>item2</em>
+<li> &gt; 0 (positive integer) if <em>item1</em> &gt; <em>item2</em>
+<li> &lt; 0 (negative integer) if <em>item1</em> &lt; <em>item2</em>
+</ul>
+<p> <a href="#inSort">inSort</a>() requires that <a href="#compareItems">compareItems</a>() is implemented as described
+here.
+<p> This function should not modify the list because some const
+functions call compareItems().
+<p> The default implementation compares the pointers.
+
+<h3 class=fn>uint <a name="contains"></a>QPtrList::contains ( const&nbsp;type&nbsp;*&nbsp;item ) const
+</h3>
+
+<p> Returns the number of occurrences of <em>item</em> in the list.
+<p> The <a href="#compareItems">compareItems</a>() function is called when looking for the <em>item</em>
+in the list. If compareItems() is not reimplemented, it is more
+efficient to call <a href="#containsRef">containsRef</a>().
+<p> This function does not affect the current list item.
+<p> <p>See also <a href="#containsRef">containsRef</a>() and <a href="#compareItems">compareItems</a>().
+
+<h3 class=fn>uint <a name="containsRef"></a>QPtrList::containsRef ( const&nbsp;type&nbsp;*&nbsp;item ) const
+</h3>
+
+<p> Returns the number of occurrences of <em>item</em> in the list.
+<p> Calling this function is much faster than <a href="#contains">contains</a>() because
+contains() compares <em>item</em> with each list item using
+<a href="#compareItems">compareItems</a>(), whereas his function only compares the pointers.
+<p> This function does not affect the current list item.
+<p> <p>See also <a href="#contains">contains</a>().
+
+<h3 class=fn>uint <a name="count"></a>QPtrList::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the list.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1502">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1520">customlayout/card.cpp</a>, <a href="customlayout-example.html#x1479">customlayout/flow.cpp</a>, <a href="dirview-example.html#x1699">dirview/dirview.cpp</a>, <a href="grapher-nsplugin-example.html#x2771">grapher/grapher.cpp</a>, <a href="mdi-example.html#x2054">mdi/application.cpp</a>, and <a href="qwerty-example.html#x389">qwerty/qwerty.cpp</a>.
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type * <a name="current"></a>QPtrList::current () const
+</h3>
+
+<p> Returns a pointer to the current list item. The current item may
+be 0 (implies that the current index is -1).
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>QLNode * <a name="currentNode"></a>QPtrList::currentNode () const
+</h3>
+
+<p> Returns a pointer to the current list node.
+<p> The node can be kept and removed later using <a href="#removeNode">removeNode</a>(). The
+advantage is that the item can be removed directly without
+searching the list.
+<p> <b>Warning:</b> Do not call this function unless you are an expert.
+<p> <p>See also <a href="#removeNode">removeNode</a>(), <a href="#takeNode">takeNode</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>int <a name="find"></a>QPtrList::find ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Finds the first occurrence of <em>item</em> in the list.
+<p> If the item is found, the list sets the current item to point to
+the found item and returns the index of this item. If the item is
+not found, the list sets the current item to 0, the current
+index to -1, and returns -1.
+<p> The <a href="#compareItems">compareItems</a>() function is called when searching for the item
+in the list. If compareItems() is not reimplemented, it is more
+efficient to call <a href="#findRef">findRef</a>().
+<p> <p>See also <a href="#findNext">findNext</a>(), <a href="#findRef">findRef</a>(), <a href="#compareItems">compareItems</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>int <a name="findNext"></a>QPtrList::findNext ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Finds the next occurrence of <em>item</em> in the list, starting from
+the current list item.
+<p> If the item is found, the list sets the current item to point to
+the found item and returns the index of this item. If the item is
+not found, the list sets the current item to 0, the current
+index to -1, and returns -1.
+<p> The <a href="#compareItems">compareItems</a>() function is called when searching for the item
+in the list. If compareItems() is not reimplemented, it is more
+efficient to call <a href="#findNextRef">findNextRef</a>().
+<p> <p>See also <a href="#find">find</a>(), <a href="#findNextRef">findNextRef</a>(), <a href="#compareItems">compareItems</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>int <a name="findNextRef"></a>QPtrList::findNextRef ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Finds the next occurrence of <em>item</em> in the list, starting from
+the current list item.
+<p> If the item is found, the list sets the current item to point to
+the found item and returns the index of this item. If the item is
+not found, the list sets the current item to 0, the current
+index to -1, and returns -1.
+<p> Calling this function is much faster than <a href="#findNext">findNext</a>() because
+findNext() compares <em>item</em> with each list item using
+<a href="#compareItems">compareItems</a>(), whereas this function only compares the pointers.
+<p> <p>See also <a href="#findRef">findRef</a>(), <a href="#findNext">findNext</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>int <a name="findRef"></a>QPtrList::findRef ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Finds the first occurrence of <em>item</em> in the list.
+<p> If the item is found, the list sets the current item to point to
+the found item and returns the index of this item. If the item is
+not found, the list sets the current item to 0, the current
+index to -1, and returns -1.
+<p> Calling this function is much faster than <a href="#find">find</a>() because find()
+compares <em>item</em> with each list item using <a href="#compareItems">compareItems</a>(), whereas
+this function only compares the pointers.
+<p> <p>See also <a href="#findNextRef">findNextRef</a>(), <a href="#find">find</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="first"></a>QPtrList::first ()
+</h3>
+
+<p> Returns a pointer to the first item in the list and makes this the
+current list item; returns 0 if the list is empty.
+<p> <p>See also <a href="#getFirst">getFirst</a>(), <a href="#last">last</a>(), <a href="#next">next</a>(), <a href="#prev">prev</a>(), and <a href="#current">current</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2772">grapher/grapher.cpp</a>, <a href="listviews-example.html#x132">listviews/listviews.h</a>, and <a href="showimg-example.html#x1343">showimg/showimg.cpp</a>.
+<h3 class=fn>type * <a name="getFirst"></a>QPtrList::getFirst () const
+</h3>
+
+<p> Returns a pointer to the first item in the list, or 0 if the list
+is empty.
+<p> This function does not affect the current list item.
+<p> <p>See also <a href="#first">first</a>() and <a href="#getLast">getLast</a>().
+
+<h3 class=fn>type * <a name="getLast"></a>QPtrList::getLast () const
+</h3>
+
+<p> Returns a pointer to the last item in the list, or 0 if the list
+is empty.
+<p> This function does not affect the current list item.
+<p> <p>See also <a href="#last">last</a>() and <a href="#getFirst">getFirst</a>().
+
+<h3 class=fn>void <a name="inSort"></a>QPtrList::inSort ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>item</em> at its sorted position in the list.
+<p> The sort order depends on the virtual <a href="#compareItems">compareItems</a>() function. All
+items must be inserted with <a href="#inSort">inSort</a>() to maintain the sorting
+order.
+<p> The inserted item becomes the current list item.
+<p> <em>item</em> must not be 0.
+<p> <b>Warning:</b> Using inSort() is slow. An alternative, especially if you
+have lots of items, is to simply <a href="#append">append</a>() or <a href="#insert">insert</a>() them and
+then use <a href="#sort">sort</a>(). inSort() takes up to O(n) compares. That means
+inserting n items in your list will need O(n^2) compares whereas
+sort() only needs O(n*log n) for the same task. So use inSort()
+only if you already have a presorted list and want to insert just
+a few additional items.
+<p> <p>See also <a href="#insert">insert</a>(), <a href="#compareItems">compareItems</a>(), <a href="#current">current</a>(), and <a href="#sort">sort</a>().
+
+<h3 class=fn>bool <a name="insert"></a>QPtrList::insert ( uint&nbsp;index, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>item</em> at position <em>index</em> in the list.
+<p> Returns TRUE if successful, i.e. if <em>index</em> is in range;
+otherwise returns FALSE. The valid range is 0 to <a href="#count">count</a>()
+(inclusively). The item is appended if <em>index</em> == count().
+<p> The inserted item becomes the current list item.
+<p> <em>item</em> must not be 0.
+<p> <p>See also <a href="#append">append</a>(), <a href="#current">current</a>(), and <a href="#replace">replace</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrList::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the list is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>type * <a name="last"></a>QPtrList::last ()
+</h3>
+
+<p> Returns a pointer to the last item in the list and makes this the
+current list item; returns 0 if the list is empty.
+<p> <p>See also <a href="#getLast">getLast</a>(), <a href="#first">first</a>(), <a href="#next">next</a>(), <a href="#prev">prev</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="next"></a>QPtrList::next ()
+</h3>
+
+<p> Returns a pointer to the item succeeding the current item. Returns
+0 if the current item is 0 or equal to the last item.
+<p> Makes the succeeding item current. If the current item before this
+function call was the last item, the current item will be set to
+0. If the current item was 0, this function does nothing.
+<p> <p>See also <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#prev">prev</a>(), and <a href="#current">current</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2773">grapher/grapher.cpp</a>, <a href="listviews-example.html#x133">listviews/listviews.h</a>, and <a href="showimg-example.html#x1344">showimg/showimg.cpp</a>.
+<h3 class=fn>bool <a name="operator!-eq"></a>QPtrList::operator!= ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list ) const
+</h3>
+
+<p> Compares this list with <em>list</em>. Returns TRUE if the lists contain
+different data; otherwise returns FALSE.
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrList::operator= ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Assigns <em>list</em> to this list and returns a reference to this list.
+<p> This list is first cleared and then each item in <em>list</em> is <a href="#append">appended</a> to this list. Only the pointers are
+copied (shallow copy) unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QPtrList::operator== ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list ) const
+</h3>
+
+<p> Compares this list with <em>list</em>. Returns TRUE if the lists contain
+the same data; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="prepend"></a>QPtrList::prepend ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Inserts the <em>item</em> at the start of the list.
+<p> The inserted item becomes the current list item. This is
+equivalent to <tt>insert( 0, item )</tt>.
+<p> <em>item</em> must not be 0.
+<p> <p>See also <a href="#append">append</a>(), <a href="#insert">insert</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="prev"></a>QPtrList::prev ()
+</h3>
+
+<p> Returns a pointer to the item preceding the current item. Returns
+0 if the current item is 0 or equal to the first item.
+<p> Makes the preceding item current. If the current item before this
+function call was the first item, the current item will be set to
+0. If the current item was 0, this function does nothing.
+<p> <p>See also <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#next">next</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrList::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a list item from the stream <em>s</em> and returns a reference to
+the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QPtrList::remove ( uint&nbsp;index )
+</h3>
+
+<p> Removes the item at position <em>index</em> in the list.
+<p> Returns TRUE if successful, i.e. if <em>index</em> is in range;
+otherwise returns FALSE. The valid range is <tt>0..(count() - 1)</tt>
+inclusive.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), <a href="#current">current</a>(), and <a href="#removeRef">removeRef</a>().
+
+<h3 class=fn>bool <a name="remove-2"></a>QPtrList::remove ()
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the current list item.
+<p> Returns TRUE if successful, i.e. if the current item isn't 0;
+otherwise returns FALSE.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#take">take</a>(), <a href="#clear">clear</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), <a href="#current">current</a>(), and <a href="#removeRef">removeRef</a>().
+
+<h3 class=fn>bool <a name="remove-3"></a>QPtrList::remove ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the first occurrence of <em>item</em> from the list.
+<p> Returns TRUE if successful, i.e. if <em>item</em> is in the list;
+otherwise returns FALSE.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The <a href="#compareItems">compareItems</a>() function is called when searching for the item
+in the list. If compareItems() is not reimplemented, it is more
+efficient to call <a href="#removeRef">removeRef</a>().
+<p> If <em>item</em> is NULL then the current item is removed from the list.
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#removeRef">removeRef</a>(), <a href="#take">take</a>(), <a href="#clear">clear</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), <a href="#compareItems">compareItems</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>bool <a name="removeFirst"></a>QPtrList::removeFirst ()
+</h3>
+
+<p> Removes the first item from the list. Returns TRUE if successful,
+i.e. if the list isn't empty; otherwise returns FALSE.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The first item in the list becomes the new current list item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#removeLast">removeLast</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), <a href="#current">current</a>(), and <a href="#remove">remove</a>().
+
+<h3 class=fn>bool <a name="removeLast"></a>QPtrList::removeLast ()
+</h3>
+
+<p> Removes the last item from the list. Returns TRUE if successful,
+i.e. if the list isn't empty; otherwise returns FALSE.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The last item in the list becomes the new current list item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#removeFirst">removeFirst</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>void <a name="removeNode"></a>QPtrList::removeNode ( QLNode&nbsp;*&nbsp;node )
+</h3>
+
+<p> Removes the <em>node</em> from the list.
+<p> This node must exist in the list, otherwise the program may crash.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> The first item in the list will become the new current list item.
+The current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the item succeeding this item or to the preceding item if
+the removed item was the last item.
+<p> <b>Warning:</b> Do not call this function unless you are an expert.
+<p> <p>See also <a href="#takeNode">takeNode</a>(), <a href="#currentNode">currentNode</a>(), <a href="#remove">remove</a>(), and <a href="#removeRef">removeRef</a>().
+
+<h3 class=fn>bool <a name="removeRef"></a>QPtrList::removeRef ( const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Removes the first occurrence of <em>item</em> from the list.
+<p> Returns TRUE if successful, i.e. if <em>item</em> is in the list;
+otherwise returns FALSE.
+<p> The removed item is deleted if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled.
+<p> Equivalent to:
+<pre>
+ if ( list.findRef( item ) != -1 )
+ list.remove();
+ </pre>
+
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the removed item will be set to
+point to the new current item.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>bool <a name="replace"></a>QPtrList::replace ( uint&nbsp;index, const&nbsp;type&nbsp;*&nbsp;item )
+</h3>
+
+<p> Replaces the item at position <em>index</em> with the new <em>item</em>.
+<p> Returns TRUE if successful, i.e. <em>index</em> is in the range 0 to
+<a href="#count">count</a>()-1.
+<p> <p>See also <a href="#append">append</a>(), <a href="#current">current</a>(), and <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>void <a name="sort"></a>QPtrList::sort ()
+</h3>
+
+<p> Sorts the list by the result of the virtual <a href="#compareItems">compareItems</a>()
+function.
+<p> The heap sort algorithm is used for sorting. It sorts n items with
+O(n*log n) comparisons. This is the asymptotic optimal solution of
+the sorting problem.
+<p> If the items in your list support <a href="qcstring.html#operator-lt-2">operator&lt;</a>() and <a href="#operator-eq-eq">operator==</a>(),
+you might be better off with QSortedList because it implements the
+compareItems() function for you using these two operators.
+<p> <p>See also <a href="#inSort">inSort</a>().
+
+<h3 class=fn>type * <a name="take"></a>QPtrList::take ( uint&nbsp;index )
+</h3>
+
+<p> Takes the item at position <em>index</em> out of the list without
+deleting it (even if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a>
+is enabled).
+<p> Returns a pointer to the item taken out of the list, or 0 if the
+index is out of range. The valid range is <tt>0..(count() - 1)</tt>
+inclusive.
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the taken item will be set to
+point to the new current item.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="#current">current</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1503">customlayout/border.cpp</a>, <a href="customlayout-example.html#x1521">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1480">customlayout/flow.cpp</a>.
+<h3 class=fn>type * <a name="take-2"></a>QPtrList::take ()
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Takes the current item out of the list without deleting it (even
+if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+<p> Returns a pointer to the item taken out of the list, or 0 if
+the current item is 0.
+<p> The item after the removed item becomes the new current list item
+if the removed item is not the last item in the list. If the last
+item is removed, the new last item becomes the current item. The
+current item is set to 0 if the list becomes empty.
+<p> All list iterators that refer to the taken item will be set to
+point to the new current item.
+<p> <p>See also <a href="#remove">remove</a>(), <a href="#clear">clear</a>(), and <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="takeNode"></a>QPtrList::takeNode ( QLNode&nbsp;*&nbsp;node )
+</h3>
+
+<p> Takes the <em>node</em> out of the list without deleting its item (even
+if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled).
+Returns a pointer to the item taken out of the list.
+<p> This node must exist in the list, otherwise the program may crash.
+<p> The first item in the list becomes the new current list item.
+<p> All list iterators that refer to the taken item will be set to
+point to the item succeeding this item or to the preceding item if
+the taken item was the last item.
+<p> <b>Warning:</b> Do not call this function unless you are an expert.
+<p> <p>See also <a href="#removeNode">removeNode</a>() and <a href="#currentNode">currentNode</a>().
+
+<h3 class=fn>void <a name="toVector"></a>QPtrList::toVector ( QGVector&nbsp;*&nbsp;vec ) const
+</h3>
+
+<p> Stores all list items in the vector <em>vec</em>.
+<p> The vector must be of the same item type, otherwise the result
+will be undefined.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrList::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a list item, <em>item</em> to the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation does nothing.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrlistiterator-members.html b/doc/html/qptrlistiterator-members.html
new file mode 100644
index 0000000..8ae710b
--- /dev/null
+++ b/doc/html/qptrlistiterator-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrlist.h:154 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrListIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrListIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrlistiterator.html">QPtrListIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qptrlistiterator.html#QPtrListIterator">QPtrListIterator</a>()
+<li><a href="qptrlistiterator.html#~QPtrListIterator">~QPtrListIterator</a>()
+<li><a href="qptrlistiterator.html#atFirst">atFirst</a>()
+<li><a href="qptrlistiterator.html#atLast">atLast</a>()
+<li><a href="qptrlistiterator.html#count">count</a>()
+<li><a href="qptrlistiterator.html#current">current</a>()
+<li><a href="qptrlistiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlistiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qptrlistiterator.html#operator()">operator()</a>()
+<li><a href="qptrlistiterator.html#operator*">operator*</a>()
+<li><a href="qptrlistiterator.html#operator++">operator++</a>()
+<li><a href="qptrlistiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qptrlistiterator.html#operator--">operator--</a>()
+<li><a href="qptrlistiterator.html#operator--eq">operator-=</a>()
+<li><a href="qptrlistiterator.html#operator-eq">operator=</a>()
+<li><a href="qptrlistiterator.html#toFirst">toFirst</a>()
+<li><a href="qptrlistiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrlistiterator.html b/doc/html/qptrlistiterator.html
new file mode 100644
index 0000000..0d568e4
--- /dev/null
+++ b/doc/html/qptrlistiterator.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrlist.doc:840 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrListIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrListIterator Class Reference</h1>
+
+<p>The QPtrListIterator class provides an iterator for
+QPtrList collections.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;</tt>
+<p>Inherited by <a href="qobjectlistiterator.html">QObjectListIterator</a> and <a href="qstrlistiterator.html">QStrListIterator</a>.
+<p><a href="qptrlistiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrListIterator"><b>QPtrListIterator</b></a> ( const&nbsp;QPtrList&lt;type&gt;&nbsp;&amp;&nbsp;list )</li>
+<li class=fn><a href="#~QPtrListIterator"><b>~QPtrListIterator</b></a> ()</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#atFirst"><b>atFirst</b></a> () const</li>
+<li class=fn>bool <a href="#atLast"><b>atLast</b></a> () const</li>
+<li class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</li>
+<li class=fn>type * <a href="#toLast"><b>toLast</b></a> ()</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#operator*"><b>operator*</b></a> ()</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+<li class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</li>
+<li class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint&nbsp;jump )</li>
+<li class=fn>type * <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>type * <a href="#operator--eq"><b>operator-=</b></a> ( uint&nbsp;jump )</li>
+<li class=fn>QPtrListIterator&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrListIterator&lt;type&gt;&nbsp;&amp;&nbsp;it )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrListIterator class provides an iterator for
+<a href="qptrlist.html">QPtrList</a> collections.
+<p>
+
+<p> Define a template instance QPtrListIterator&lt;X&gt; to create a list
+iterator that operates on QPtrList&lt;X&gt; (list of X*).
+<p> The following example is similar to the <a href="qptrlist.html#example">example in the QPtrList class documentation</a>, but it uses QPtrListIterator. The class Employee is
+defined there.
+<p> <pre>
+ <a href="qptrlist.html">QPtrList</a>&lt;Employee&gt; list;
+
+ list.<a href="qptrlist.html#append">append</a>( new Employee("John", "Doe", 50000) );
+ list.<a href="qptrlist.html#append">append</a>( new Employee("Jane", "Williams", 80000) );
+ list.<a href="qptrlist.html#append">append</a>( new Employee("Tom", "Jones", 60000) );
+
+ QPtrListIterator&lt;Employee&gt; it( list );
+ Employee *employee;
+ while ( (employee = it.<a href="#current">current</a>()) != 0 ) {
+ ++it;
+ cout &lt;&lt; employee-&gt;surname().latin1() &lt;&lt; ", " &lt;&lt;
+ employee-&gt;forename().latin1() &lt;&lt; " earns " &lt;&lt;
+ employee-&gt;salary() &lt;&lt; endl;
+ }
+ </pre>
+
+<p> The output is
+<pre>
+ Doe, John earns 50000
+ Williams, Jane earns 80000
+ Jones, Tom earns 60000
+ </pre>
+
+<p> Using a list iterator is a more robust way of traversing the list
+than using the <a href="qptrlist.html">QPtrList</a> member functions <a href="qptrlist.html#first">first</a>(), <a href="qptrlist.html#next">next</a>(), <a href="qptrlist.html#current">current</a>(), etc., as many iterators can
+traverse the same list independently.
+<p> An iterator has its own current list item and can get the next and
+previous list items. It doesn't modify the list in any way.
+<p> When an item is removed from the list, all iterators that point to
+that item are updated to point to <a href="qptrlist.html#current">QPtrList::current</a>() instead to
+avoid dangling references.
+<p> <p>See also <a href="qptrlist.html">QPtrList</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrListIterator"></a>QPtrListIterator::QPtrListIterator ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Constructs an iterator for <em>list</em>. The current iterator item is
+set to point on the first item in the <em>list</em>.
+
+<h3 class=fn><a name="~QPtrListIterator"></a>QPtrListIterator::~QPtrListIterator ()
+</h3>
+
+<p> Destroys the iterator.
+
+<h3 class=fn>bool <a name="atFirst"></a>QPtrListIterator::atFirst () const
+</h3>
+
+<p> Returns TRUE if the current iterator item is the first list item;
+otherwise returns FALSE.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>().
+
+<h3 class=fn>bool <a name="atLast"></a>QPtrListIterator::atLast () const
+</h3>
+
+<p> Returns TRUE if the current iterator item is the last list item;
+otherwise returns FALSE.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>().
+
+<h3 class=fn>uint <a name="count"></a>QPtrListIterator::count () const
+</h3>
+
+<p> Returns the number of items in the list this iterator operates on.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Example: <a href="customlayout-example.html#x1522">customlayout/card.cpp</a>.
+<h3 class=fn>type * <a name="current"></a>QPtrListIterator::current () const
+</h3>
+
+<p> Returns a pointer to the current iterator item. If the iterator is
+positioned before the first item in the list or after the last
+item in the list, 0 is returned.
+
+<p>Examples: <a href="canvas-example.html#x2949">canvas/canvas.cpp</a>, <a href="customlayout-example.html#x1523">customlayout/card.cpp</a>, and <a href="customlayout-example.html#x1481">customlayout/flow.cpp</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrListIterator::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the list is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QPtrListIterator::operator type * () const
+</h3>
+
+<p> Cast operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator()"></a>QPtrListIterator::operator() ()
+</h3>
+
+<p> Makes the succeeding item current and returns the original current
+item.
+<p> If the current iterator item was the last item in the list or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator*"></a>QPtrListIterator::operator* ()
+</h3>
+
+<p> Asterisk operator. Returns a pointer to the current iterator item.
+Same as <a href="#current">current</a>().
+
+<h3 class=fn>type * <a name="operator++"></a>QPtrListIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns the new
+current item.
+<p> If the current iterator item was the last item in the list or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator+-eq"></a>QPtrListIterator::operator+= ( uint&nbsp;jump )
+</h3>
+
+<p> Sets the current item to the item <em>jump</em> positions after the
+current item and returns a pointer to that item.
+<p> If that item is beyond the last item or if the list is empty, it
+sets the current item to 0 and returns 0
+
+<h3 class=fn>type * <a name="operator--"></a>QPtrListIterator::operator-- ()
+</h3>
+
+<p> Prefix - makes the preceding item current and returns the new
+current item.
+<p> If the current iterator item was the first item in the list or if
+it was 0, 0 is returned.
+
+<h3 class=fn>type * <a name="operator--eq"></a>QPtrListIterator::operator-= ( uint&nbsp;jump )
+</h3>
+
+<p> Returns the item <em>jump</em> positions before the current item or 0
+if it is beyond the first item. Makes this the current item.
+
+<h3 class=fn><a href="qptrlistiterator.html">QPtrListIterator</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrListIterator::operator= ( const&nbsp;<a href="qptrlistiterator.html">QPtrListIterator</a>&lt;type&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Assignment. Makes a copy of the iterator <em>it</em> and returns a
+reference to this iterator.
+
+<h3 class=fn>type * <a name="toFirst"></a>QPtrListIterator::toFirst ()
+</h3>
+
+<p> Sets the current iterator item to point to the first list item and
+returns a pointer to the item. Sets the current item to 0 and
+returns 0 if the list is empty.
+<p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>().
+
+<h3 class=fn>type * <a name="toLast"></a>QPtrListIterator::toLast ()
+</h3>
+
+<p> Sets the current iterator item to point to the last list item and
+returns a pointer to the item. Sets the current item to 0 and
+returns 0 if the list is empty.
+<p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrqueue-h.html b/doc/html/qptrqueue-h.html
new file mode 100644
index 0000000..34799d6
--- /dev/null
+++ b/doc/html/qptrqueue-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrqueue.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrqueue.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrqueue.h</h1>
+
+<p>This is the verbatim text of the qptrqueue.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qptrqueue.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPtrQueue template/macro class
+**
+** Created : 920917
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRQUEUE_H
+#define QPTRQUEUE_H
+
+#ifndef QT_H
+#include "qglist.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QPtrQueue : protected QGList
+{
+public:
+ QPtrQueue() {}
+ QPtrQueue( const QPtrQueue&lt;type&gt; &amp;q ) : QGList(q) {}
+ ~QPtrQueue() { clear(); }
+ QPtrQueue&lt;type&gt;&amp; operator=(const QPtrQueue&lt;type&gt; &amp;q)
+ { return (QPtrQueue&lt;type&gt;&amp;)QGList::operator=(q); }
+ bool autoDelete() const { return QPtrCollection::autoDelete(); }
+ void setAutoDelete( bool del ) { QPtrCollection::setAutoDelete(del); }
+ uint count() const { return QGList::count(); }
+ bool isEmpty() const { return QGList::count() == 0; }
+ void enqueue( const type *d ) { QGList::append(Item(d)); }
+ type *dequeue() { return (type *)QGList::takeFirst();}
+ bool remove() { return QGList::removeFirst(); }
+ void clear() { QGList::clear(); }
+ type *head() const { return (type *)QGList::cfirst(); }
+ operator type *() const { return (type *)QGList::cfirst(); }
+ type *current() const { return (type *)QGList::cfirst(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream&amp;, QPtrCollection::Item&amp; );
+ virtual QDataStream&amp; write( QDataStream&amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QPtrQueue&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QPtrQueue&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+#ifndef QT_NO_COMPAT
+#define QQueue QPtrQueue
+#endif
+
+#endif // QPTRQUEUE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrqueue-members.html b/doc/html/qptrqueue-members.html
new file mode 100644
index 0000000..bcbba76
--- /dev/null
+++ b/doc/html/qptrqueue-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrqueue.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrQueue Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrQueue</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrqueue.html">QPtrQueue</a>, including inherited members.
+
+<ul>
+<li><a href="qptrqueue.html#QPtrQueue">QPtrQueue</a>()
+<li><a href="qptrqueue.html#~QPtrQueue">~QPtrQueue</a>()
+<li><a href="qptrqueue.html#autoDelete">autoDelete</a>()
+<li><a href="qptrqueue.html#clear">clear</a>()
+<li><a href="qptrqueue.html#count">count</a>()
+<li><a href="qptrqueue.html#current">current</a>()
+<li><a href="qptrqueue.html#dequeue">dequeue</a>()
+<li><a href="qptrqueue.html#enqueue">enqueue</a>()
+<li><a href="qptrqueue.html#head">head</a>()
+<li><a href="qptrqueue.html#isEmpty">isEmpty</a>()
+<li><a href="qptrqueue.html#operator-type-*">operator type *</a>()
+<li><a href="qptrqueue.html#operator-eq">operator=</a>()
+<li><a href="qptrqueue.html#read">read</a>()
+<li><a href="qptrqueue.html#remove">remove</a>()
+<li><a href="qptrqueue.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrqueue.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrqueue.html b/doc/html/qptrqueue.html
new file mode 100644
index 0000000..2ffe55e
--- /dev/null
+++ b/doc/html/qptrqueue.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrqueue.doc:37 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrQueue Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrQueue Class Reference</h1>
+
+<p>The QPtrQueue class is a template class that provides a queue.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrqueue-h.html">qptrqueue.h</a>&gt;</tt>
+<p><a href="qptrqueue-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrQueue"><b>QPtrQueue</b></a> ()</li>
+<li class=fn><a href="#QPtrQueue-2"><b>QPtrQueue</b></a> ( const&nbsp;QPtrQueue&lt;type&gt;&nbsp;&amp;&nbsp;queue )</li>
+<li class=fn><a href="#~QPtrQueue"><b>~QPtrQueue</b></a> ()</li>
+<li class=fn>QPtrQueue&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrQueue&lt;type&gt;&nbsp;&amp;&nbsp;queue )</li>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#enqueue"><b>enqueue</b></a> ( const&nbsp;type&nbsp;*&nbsp;d )</li>
+<li class=fn>type * <a href="#dequeue"><b>dequeue</b></a> ()</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ()</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>type * <a href="#head"><b>head</b></a> () const</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrQueue class is a template class that provides a queue.
+<p>
+
+<p> <a href="qvaluevector.html">QValueVector</a> can be used as an STL-compatible alternative to this
+class.
+<p> A template instance QPtrQueue&lt;X&gt; is a queue that operates on
+pointers to X (X*).
+<p> A queue is a first in, first out structure. Items are added to the
+tail of the queue with <a href="#enqueue">enqueue</a>() and retrieved from the head with
+<a href="#dequeue">dequeue</a>(). You can peek at the head item without dequeing it using
+<a href="#head">head</a>().
+<p> You can control the queue's deletion policy with <a href="#setAutoDelete">setAutoDelete</a>().
+<p> For compatibility with the <a href="qptrcollection.html">QPtrCollection</a> classes, <a href="#current">current</a>() and
+<a href="#remove">remove</a>() are provided; both operate on the head().
+<p> <p>See also <a href="qptrlist.html">QPtrList</a>, <a href="qptrstack.html">QPtrStack</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrQueue"></a>QPtrQueue::QPtrQueue ()
+</h3>
+
+<p> Creates an empty queue with <a href="#autoDelete">autoDelete</a>() set to FALSE.
+
+<h3 class=fn><a name="QPtrQueue-2"></a>QPtrQueue::QPtrQueue ( const&nbsp;<a href="qptrqueue.html">QPtrQueue</a>&lt;type&gt;&nbsp;&amp;&nbsp;queue )
+</h3>
+
+<p> Creates a queue from <em>queue</em>.
+<p> Only the pointers are copied; the items are not. The <a href="#autoDelete">autoDelete</a>()
+flag is set to FALSE.
+
+<h3 class=fn><a name="~QPtrQueue"></a>QPtrQueue::~QPtrQueue ()
+</h3>
+
+<p> Destroys the queue. Items in the queue are deleted if <a href="#autoDelete">autoDelete</a>()
+is TRUE.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrQueue::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is
+FALSE.
+<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrQueue::clear ()
+</h3>
+
+<p> Removes all items from the queue, and deletes them if <a href="#autoDelete">autoDelete</a>()
+is TRUE.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<h3 class=fn>uint <a name="count"></a>QPtrQueue::count () const
+</h3>
+
+<p> Returns the number of items in the queue.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QPtrQueue::current () const
+</h3>
+
+<p> Returns a pointer to the head item in the queue. The queue is not
+changed. Returns 0 if the queue is empty.
+<p> <p>See also <a href="#dequeue">dequeue</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="dequeue"></a>QPtrQueue::dequeue ()
+</h3>
+
+<p> Takes the head item from the queue and returns a pointer to it.
+Returns 0 if the queue is empty.
+<p> <p>See also <a href="#enqueue">enqueue</a>() and <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="enqueue"></a>QPtrQueue::enqueue ( const&nbsp;type&nbsp;*&nbsp;d )
+</h3>
+
+<p> Adds item <em>d</em> to the tail of the queue.
+<p> <p>See also <a href="#count">count</a>() and <a href="#dequeue">dequeue</a>().
+
+<h3 class=fn>type * <a name="head"></a>QPtrQueue::head () const
+</h3>
+
+<p> Returns a pointer to the head item in the queue. The queue is not
+changed. Returns 0 if the queue is empty.
+<p> <p>See also <a href="#dequeue">dequeue</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrQueue::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the queue is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>(), <a href="#dequeue">dequeue</a>(), and <a href="#head">head</a>().
+
+<h3 class=fn><a name="operator-type-*"></a>QPtrQueue::operator type * () const
+</h3>
+
+<p> Returns a pointer to the head item in the queue. The queue is not
+changed. Returns 0 if the queue is empty.
+<p> <p>See also <a href="#dequeue">dequeue</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn><a href="qptrqueue.html">QPtrQueue</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrQueue::operator= ( const&nbsp;<a href="qptrqueue.html">QPtrQueue</a>&lt;type&gt;&nbsp;&amp;&nbsp;queue )
+</h3>
+
+<p> Assigns <em>queue</em> to this queue and returns a reference to this
+queue.
+<p> This queue is first cleared and then each item in <em>queue</em> is
+enqueued to this queue. Only the pointers are copied.
+<p> <b>Warning:</b> The <a href="#autoDelete">autoDelete</a>() flag is not modified. If it it TRUE for
+both <em>queue</em> and this queue, deleting the two lists will cause <em>double-deletion</em> of the items.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrQueue::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a queue item, <em>item</em>, from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QPtrQueue::remove ()
+</h3>
+
+<p> Removes the head item from the queue, and returns TRUE if there
+was an item, i.e. the queue wasn't empty; otherwise returns FALSE.
+<p> The item is deleted if <a href="#autoDelete">autoDelete</a>() is TRUE.
+<p> <p>See also <a href="#head">head</a>(), <a href="#isEmpty">isEmpty</a>(), and <a href="#dequeue">dequeue</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrQueue::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the queue to auto-delete its contents if <em>enable</em> is TRUE
+and not to delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a queue are
+deleted when the queue itself is deleted. This can be quite
+convenient if the queue has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the queue: you might find yourself with two
+queues deleting the same items.
+<p> <p>See also <a href="#autoDelete">autoDelete</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrQueue::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a queue item, <em>item</em>, to the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation does nothing.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrstack-h.html b/doc/html/qptrstack-h.html
new file mode 100644
index 0000000..6c3194e
--- /dev/null
+++ b/doc/html/qptrstack-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrstack.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrstack.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrstack.h</h1>
+
+<p>This is the verbatim text of the qptrstack.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qptrstack.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPtrStack pointer based template class
+**
+** Created : 920917
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRSTACK_H
+#define QPTRSTACK_H
+
+#ifndef QT_H
+#include "qglist.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QPtrStack : protected QGList
+{
+public:
+ QPtrStack() { }
+ QPtrStack( const QPtrStack&lt;type&gt; &amp;s ) : QGList( s ) { }
+ ~QPtrStack() { clear(); }
+ QPtrStack&lt;type&gt; &amp;operator=(const QPtrStack&lt;type&gt; &amp;s)
+ { return (QPtrStack&lt;type&gt;&amp;)QGList::operator=(s); }
+ bool autoDelete() const { return QPtrCollection::autoDelete(); }
+ void setAutoDelete( bool del ) { QPtrCollection::setAutoDelete(del); }
+ uint count() const { return QGList::count(); }
+ bool isEmpty() const { return QGList::count() == 0; }
+ void push( const type *d ) { QGList::insertAt(0,Item(d)); }
+ type *pop() { return (type *)QGList::takeFirst(); }
+ bool remove() { return QGList::removeFirst(); }
+ void clear() { QGList::clear(); }
+ type *top() const { return (type *)QGList::cfirst(); }
+ operator type *() const { return (type *)QGList::cfirst(); }
+ type *current() const { return (type *)QGList::cfirst(); }
+
+#ifdef Q_QDOC
+protected:
+ virtual QDataStream&amp; read( QDataStream&amp;, QPtrCollection::Item&amp; );
+ virtual QDataStream&amp; write( QDataStream&amp;, QPtrCollection::Item ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QPtrStack&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QPtrStack&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+#ifndef QT_NO_COMPAT
+#define QStack QPtrStack
+#endif
+
+#endif // QPTRSTACK_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrstack-members.html b/doc/html/qptrstack-members.html
new file mode 100644
index 0000000..56f538c
--- /dev/null
+++ b/doc/html/qptrstack-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrstack.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrStack Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrStack</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrstack.html">QPtrStack</a>, including inherited members.
+
+<ul>
+<li><a href="qptrstack.html#QPtrStack">QPtrStack</a>()
+<li><a href="qptrstack.html#~QPtrStack">~QPtrStack</a>()
+<li><a href="qptrstack.html#autoDelete">autoDelete</a>()
+<li><a href="qptrstack.html#clear">clear</a>()
+<li><a href="qptrstack.html#count">count</a>()
+<li><a href="qptrstack.html#current">current</a>()
+<li><a href="qptrstack.html#isEmpty">isEmpty</a>()
+<li><a href="qptrstack.html#operator-type-*">operator type *</a>()
+<li><a href="qptrstack.html#operator-eq">operator=</a>()
+<li><a href="qptrstack.html#pop">pop</a>()
+<li><a href="qptrstack.html#push">push</a>()
+<li><a href="qptrstack.html#read">read</a>()
+<li><a href="qptrstack.html#remove">remove</a>()
+<li><a href="qptrstack.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrstack.html#top">top</a>()
+<li><a href="qptrstack.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrstack.html b/doc/html/qptrstack.html
new file mode 100644
index 0000000..d907702
--- /dev/null
+++ b/doc/html/qptrstack.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrstack.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrStack Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrStack Class Reference</h1>
+
+<p>The QPtrStack class is a template class that provides a stack.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrstack-h.html">qptrstack.h</a>&gt;</tt>
+<p><a href="qptrstack-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrStack"><b>QPtrStack</b></a> ()</li>
+<li class=fn><a href="#QPtrStack-2"><b>QPtrStack</b></a> ( const&nbsp;QPtrStack&lt;type&gt;&nbsp;&amp;&nbsp;s )</li>
+<li class=fn><a href="#~QPtrStack"><b>~QPtrStack</b></a> ()</li>
+<li class=fn>QPtrStack&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrStack&lt;type&gt;&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>void <a href="#push"><b>push</b></a> ( const&nbsp;type&nbsp;*&nbsp;d )</li>
+<li class=fn>type * <a href="#pop"><b>pop</b></a> ()</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ()</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>type * <a href="#top"><b>top</b></a> () const</li>
+<li class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</li>
+<li class=fn>type * <a href="#current"><b>current</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrStack class is a template class that provides a stack.
+<p>
+<p> <a href="qvaluestack.html">QValueStack</a> is an STL-compatible alternative to this class.
+<p> Define a template instance QPtrStack&lt;X&gt; to create a stack that
+operates on pointers to X, (X*).
+<p> A stack is a last in, first out (LIFO) structure. Items are added
+to the top of the stack with <a href="#push">push</a>() and retrieved from the top
+with <a href="#pop">pop</a>(). Use <a href="#top">top</a>() to get a reference to the top element
+without changing the stack.
+<p> You can control the stack's deletion policy with <a href="#setAutoDelete">setAutoDelete</a>().
+<p> For compatibility with the <a href="qptrcollection.html">QPtrCollection</a> classes <a href="#current">current</a>() and
+<a href="#remove">remove</a>() are provided; they both operate on the top().
+<p> <p>See also <a href="qptrlist.html">QPtrList</a>, <a href="qptrqueue.html">QPtrQueue</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrStack"></a>QPtrStack::QPtrStack ()
+</h3>
+
+<p> Creates an empty stack.
+
+<h3 class=fn><a name="QPtrStack-2"></a>QPtrStack::QPtrStack ( const&nbsp;<a href="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Creates a stack by making a <a href="shclass.html#shallow-copy">shallow copy</a> of another stack <em>s</em>.
+
+<h3 class=fn><a name="~QPtrStack"></a>QPtrStack::~QPtrStack ()
+</h3>
+
+<p> Destroys the stack. All items will be deleted if <a href="#autoDelete">autoDelete</a>() is
+TRUE.
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrStack::autoDelete () const
+</h3>
+
+<p> The same as <a href="qptrcollection.html#autoDelete">QPtrCollection::autoDelete</a>().
+<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrStack::clear ()
+</h3>
+
+<p> Removes all items from the stack, deleting them if <a href="#autoDelete">autoDelete</a>() is
+TRUE.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<h3 class=fn>uint <a name="count"></a>QPtrStack::count () const
+</h3>
+
+<p> Returns the number of items in the stack.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>type * <a name="current"></a>QPtrStack::current () const
+</h3>
+
+<p> Returns a pointer to the top item on the stack (most recently
+pushed). The stack is not changed. Returns 0 if the stack is
+empty.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrStack::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the stack contains no elements; otherwise returns
+FALSE.
+
+<h3 class=fn><a name="operator-type-*"></a>QPtrStack::operator type * () const
+</h3>
+
+<p> Returns a pointer to the top item on the stack (most recently
+pushed). The stack is not changed. Returns 0 if the stack is
+empty.
+
+<h3 class=fn><a href="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrStack::operator= ( const&nbsp;<a href="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Sets the contents of this stack by making a <a href="shclass.html#shallow-copy">shallow copy</a> of
+another stack <em>s</em>. Elements currently in this stack will be
+deleted if <a href="#autoDelete">autoDelete</a>() is TRUE.
+
+<h3 class=fn>type * <a name="pop"></a>QPtrStack::pop ()
+</h3>
+
+<p> Removes the top item from the stack and returns it. The stack must
+not be empty.
+
+<h3 class=fn>void <a name="push"></a>QPtrStack::push ( const&nbsp;type&nbsp;*&nbsp;d )
+</h3>
+
+<p> Adds an element <em>d</em> to the top of the stack. Last in, first out.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrStack::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a stack item, <em>item</em>, from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QPtrStack::remove ()
+</h3>
+
+<p> Removes the top item from the stack and deletes it if <a href="#autoDelete">autoDelete</a>()
+is TRUE. Returns TRUE if there was an item to pop; otherwise
+returns FALSE.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrStack::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Defines whether this stack auto-deletes its contents. The same as
+<a href="qptrcollection.html#setAutoDelete">QPtrCollection::setAutoDelete</a>().
+<p> If <em>enable</em> is TRUE the stack auto-deletes its contents; if <em>enable</em> is FALSE the stack does not delete its contents.
+<p> <p>See also <a href="#autoDelete">autoDelete</a>().
+
+<h3 class=fn>type * <a name="top"></a>QPtrStack::top () const
+</h3>
+
+<p> Returns a pointer to the top item on the stack (most recently
+pushed). The stack is not changed. Returns 0 if the stack is
+empty.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrStack::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a stack item, <em>item</em>, to the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation does nothing.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrvector-h.html b/doc/html/qptrvector-h.html
new file mode 100644
index 0000000..1e53f68
--- /dev/null
+++ b/doc/html/qptrvector-h.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrvector.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qptrvector.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qptrvector.h</h1>
+
+<p>This is the verbatim text of the qptrvector.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qptrvector.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPtrVector pointer based template class
+**
+** Created : 930907
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPTRVECTOR_H
+#define QPTRVECTOR_H
+
+#ifndef QT_H
+#include "qgvector.h"
+#endif // QT_H
+
+template&lt;class type&gt;
+class QPtrVector
+#ifdef Q_QDOC
+ : public QPtrCollection
+#else
+ : public QGVector
+#endif
+{
+public:
+ QPtrVector() { }
+ QPtrVector( uint size ) : QGVector(size) { }
+ QPtrVector( const QPtrVector&lt;type&gt; &amp;v ) : QGVector( v ) { }
+ ~QPtrVector() { clear(); }
+ QPtrVector&lt;type&gt; &amp;operator=(const QPtrVector&lt;type&gt; &amp;v)
+ { return (QPtrVector&lt;type&gt;&amp;)QGVector::operator=(v); }
+ bool operator==( const QPtrVector&lt;type&gt; &amp;v ) const { return QGVector::operator==(v); }
+ type **data() const { return (type **)QGVector::data(); }
+ uint size() const { return QGVector::size(); }
+ uint count() const { return QGVector::count(); }
+ bool isEmpty() const { return QGVector::count() == 0; }
+ bool isNull() const { return QGVector::size() == 0; }
+ bool resize( uint size ) { return QGVector::resize(size); }
+ bool insert( uint i, const type *d){ return QGVector::insert(i,(Item)d); }
+ bool remove( uint i ) { return QGVector::remove(i); }
+ type *take( uint i ) { return (type *)QGVector::take(i); }
+ void clear() { QGVector::clear(); }
+ bool fill( const type *d, int size=-1 )
+ { return QGVector::fill((Item)d,size);}
+ void sort() { QGVector::sort(); }
+ int bsearch( const type *d ) const{ return QGVector::bsearch((Item)d); }
+ int findRef( const type *d, uint i=0 ) const
+ { return QGVector::findRef((Item)d,i);}
+ int find( const type *d, uint i= 0 ) const
+ { return QGVector::find((Item)d,i); }
+ uint containsRef( const type *d ) const
+ { return QGVector::containsRef((Item)d); }
+ uint contains( const type *d ) const
+ { return QGVector::contains((Item)d); }
+ type *operator[]( int i ) const { return (type *)QGVector::at(i); }
+ type *at( uint i ) const { return (type *)QGVector::at(i); }
+ void toList( QGList *list ) const { QGVector::toList(list); }
+
+#ifdef Q_QDOC
+protected:
+ virtual int compareItems( QPtrCollection::Item d1, QPtrCollection::Item d2 );
+ virtual QDataStream&amp; read( QDataStream &amp;s, QPtrCollection::Item &amp;d );
+ virtual QDataStream&amp; write( QDataStream &amp;s, QPtrCollection::Item d ) const;
+#endif
+
+private:
+ void deleteItem( Item d );
+};
+
+#if !defined(Q_BROKEN_TEMPLATE_SPECIALIZATION)
+template&lt;&gt; inline void QPtrVector&lt;void&gt;::deleteItem( QPtrCollection::Item )
+{
+}
+#endif
+
+template&lt;class type&gt; inline void QPtrVector&lt;type&gt;::deleteItem( QPtrCollection::Item d )
+{
+ if ( del_item ) delete (type *)d;
+}
+
+#ifndef QT_NO_COMPAT
+#define QVector QPtrVector
+#endif
+
+#define Q_DEFINED_QPTRVECTOR
+#include "qwinexport.h"
+#endif // QVECTOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrvector-members.html b/doc/html/qptrvector-members.html
new file mode 100644
index 0000000..8032fec
--- /dev/null
+++ b/doc/html/qptrvector-members.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qptrvector.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrVector Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPtrVector</h1>
+
+<p>This is the complete list of member functions for
+<a href="qptrvector.html">QPtrVector</a>, including inherited members.
+
+<ul>
+<li><a href="qptrvector.html#QPtrVector">QPtrVector</a>()
+<li><a href="qptrvector.html#~QPtrVector">~QPtrVector</a>()
+<li><a href="qptrvector.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrvector.html#bsearch">bsearch</a>()
+<li><a href="qptrvector.html#clear">clear</a>()
+<li><a href="qptrvector.html#compareItems">compareItems</a>()
+<li><a href="qptrvector.html#contains">contains</a>()
+<li><a href="qptrvector.html#containsRef">containsRef</a>()
+<li><a href="qptrvector.html#count">count</a>()
+<li><a href="qptrvector.html#data">data</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrvector.html#fill">fill</a>()
+<li><a href="qptrvector.html#find">find</a>()
+<li><a href="qptrvector.html#findRef">findRef</a>()
+<li><a href="qptrvector.html#insert">insert</a>()
+<li><a href="qptrvector.html#isEmpty">isEmpty</a>()
+<li><a href="qptrvector.html#isNull">isNull</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrvector.html#operator-eq">operator=</a>()
+<li><a href="qptrvector.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrvector.html#operator[]">operator[]</a>()
+<li><a href="qptrvector.html#read">read</a>()
+<li><a href="qptrvector.html#remove">remove</a>()
+<li><a href="qptrvector.html#resize">resize</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrvector.html#size">size</a>()
+<li><a href="qptrvector.html#sort">sort</a>()
+<li><a href="qptrvector.html#take">take</a>()
+<li><a href="qptrvector.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qptrvector.html b/doc/html/qptrvector.html
new file mode 100644
index 0000000..cb71ee8
--- /dev/null
+++ b/doc/html/qptrvector.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrvector.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPtrVector Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPtrVector Class Reference</h1>
+
+<p>The QPtrVector class is a template collection class that
+provides a vector (array).
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qptrvector-h.html">qptrvector.h</a>&gt;</tt>
+<p>Inherits <a href="qptrcollection.html">QPtrCollection</a>.
+<p><a href="qptrvector-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPtrVector"><b>QPtrVector</b></a> ()</li>
+<li class=fn><a href="#QPtrVector-2"><b>QPtrVector</b></a> ( uint&nbsp;size )</li>
+<li class=fn><a href="#QPtrVector-3"><b>QPtrVector</b></a> ( const&nbsp;QPtrVector&lt;type&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn><a href="#~QPtrVector"><b>~QPtrVector</b></a> ()</li>
+<li class=fn>QPtrVector&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrVector&lt;type&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QPtrVector&lt;type&gt;&nbsp;&amp;&nbsp;v ) const</li>
+<li class=fn>type ** <a href="#data"><b>data</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>virtual uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#resize"><b>resize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>bool <a href="#insert"><b>insert</b></a> ( uint&nbsp;i, const&nbsp;type&nbsp;*&nbsp;d )</li>
+<li class=fn>bool <a href="#remove"><b>remove</b></a> ( uint&nbsp;i )</li>
+<li class=fn>type * <a href="#take"><b>take</b></a> ( uint&nbsp;i )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>bool <a href="#fill"><b>fill</b></a> ( const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;size = -1 )</li>
+<li class=fn>void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>int <a href="#bsearch"><b>bsearch</b></a> ( const&nbsp;type&nbsp;*&nbsp;d ) const</li>
+<li class=fn>int <a href="#findRef"><b>findRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;d, uint&nbsp;i = 0 ) const</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( const&nbsp;type&nbsp;*&nbsp;d, uint&nbsp;i = 0 ) const</li>
+<li class=fn>uint <a href="#containsRef"><b>containsRef</b></a> ( const&nbsp;type&nbsp;*&nbsp;d ) const</li>
+<li class=fn>uint <a href="#contains"><b>contains</b></a> ( const&nbsp;type&nbsp;*&nbsp;d ) const</li>
+<li class=fn>type * <a href="#operator[]"><b>operator[]</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>type * <a href="#at"><b>at</b></a> ( uint&nbsp;i ) const</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>bool <a href="#autoDelete"><b>autoDelete</b></a> () const</li>
+<li class=fn>void <a href="#setAutoDelete"><b>setAutoDelete</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual int <a href="#compareItems"><b>compareItems</b></a> ( QPtrCollection::Item&nbsp;d1, QPtrCollection::Item&nbsp;d2 )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
+<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;item ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPtrVector class is a template collection class that
+provides a vector (array).
+<p>
+<p>
+<p> <a href="qvaluevector.html">QValueVector</a> is an STL-compatible alternative to this class.
+<p> QPtrVector is implemented as a template class. Defines a template
+instance QPtrVector&lt;X&gt; to create a vector that contains pointers
+to X (X*).
+<p> A vector is the same as an array. The main difference between
+QPtrVector and <a href="qmemarray.html">QMemArray</a> is that QPtrVector stores pointers to the
+elements, whereas QMemArray stores the elements themselves (i.e.
+QMemArray is value-based and QPtrVector is pointer-based).
+<p> Items are added to the vector using <a href="#insert">insert</a>() or <a href="#fill">fill</a>(). Items are
+removed with <a href="#remove">remove</a>(). You can get a pointer to an item at a
+particular index position using <a href="#at">at</a>().
+<p> Unless otherwise stated, all functions that remove items from the
+vector will also delete the element pointed to if <a href="qptrcollection.html#setAutoDelete">auto-deletion</a> is enabled. By default,
+auto-deletion is disabled; see <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>(). This behaviour can
+be changed in a subclass by reimplementing the virtual function
+<a href="qptrcollection.html#deleteItem">deleteItem</a>().
+<p> Functions that compare items (<a href="#find">find</a>() and <a href="#sort">sort</a>() for example) will
+do so using the virtual function <a href="#compareItems">compareItems</a>(). The default
+implementation of this function only compares the pointer values.
+Reimplement compareItems() in a subclass to get searching and
+sorting based on the item contents. You can perform a linear
+search for a pointer in the vector using <a href="#findRef">findRef</a>(), or a binary
+search (of a sorted vector) using <a href="#bsearch">bsearch</a>(). You can count the
+number of times an item appears in the vector with <a href="#contains">contains</a>() or
+<a href="#containsRef">containsRef</a>().
+<p> <p>See also <a href="qmemarray.html">QMemArray</a> and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPtrVector"></a>QPtrVector::QPtrVector ()
+</h3>
+
+<p> Constructs a null vector.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QPtrVector-2"></a>QPtrVector::QPtrVector ( uint&nbsp;size )
+</h3>
+
+<p> Constructs an vector with room for <em>size</em> items. Makes a null
+vector if <em>size</em> == 0.
+<p> All <em>size</em> positions in the vector are initialized to 0.
+<p> <p>See also <a href="#size">size</a>(), <a href="#resize">resize</a>(), and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QPtrVector-3"></a>QPtrVector::QPtrVector ( const&nbsp;<a href="qptrvector.html">QPtrVector</a>&lt;type&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Constructs a copy of <em>v</em>. Only the pointers are copied (i.e.
+<a href="shclass.html#shallow-copy">shallow copy</a>).
+
+<h3 class=fn><a name="~QPtrVector"></a>QPtrVector::~QPtrVector ()
+</h3>
+
+<p> Removes all items from the vector, and destroys the vector itself.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>type * <a name="at"></a>QPtrVector::at ( uint&nbsp;i ) const
+</h3>
+
+<p> Returns the item at position <em>i</em>, or 0 if there is no item at
+that position. <em>i</em> must be less than <a href="#size">size</a>().
+
+<h3 class=fn>bool <a name="autoDelete"></a>QPtrCollection::autoDelete () const
+</h3>
+
+<p> Returns the setting of the auto-delete option. The default is FALSE.
+<p> <p>See also <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>().
+
+<h3 class=fn>int <a name="bsearch"></a>QPtrVector::bsearch ( const&nbsp;type&nbsp;*&nbsp;d ) const
+</h3>
+
+<p> In a sorted array, finds the first occurrence of <em>d</em> using a
+binary search. For a sorted array, this is generally much faster
+than <a href="#find">find</a>(), which performs a linear search.
+<p> Returns the position of <em>d</em>, or -1 if <em>d</em> could not be found. <em>d</em> must not be 0.
+<p> Compares items using the virtual function <a href="#compareItems">compareItems</a>().
+<p> <p>See also <a href="#sort">sort</a>() and <a href="#find">find</a>().
+
+<h3 class=fn>void <a name="clear"></a>QPtrVector::clear ()<tt> [virtual]</tt>
+</h3>
+
+<p> Removes all items from the vector, and destroys the vector itself.
+<p> The vector becomes a null vector.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#clear">QPtrCollection</a>.
+<h3 class=fn>int <a name="compareItems"></a>QPtrVector::compareItems ( <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;d1, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;d2 )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function compares two list items.
+<p> Returns:
+<ul>
+<li> zero if <em>d1</em> == <em>d2</em>
+<li> nonzero if <em>d1</em> != <em>d2</em>
+</ul>
+<p> This function returns <em>int</em> rather than <em>bool</em> so that
+reimplementations can return one of three values and use it to
+sort by:
+<ul>
+<li> 0 if <em>d1</em> == <em>d2</em>
+<li> &gt; 0 (positive integer) if <em>d1</em> &gt; <em>d2</em>
+<li> &lt; 0 (negative integer) if <em>d1</em> &lt; <em>d2</em>
+</ul>
+<p> The <a href="#sort">sort</a>() and <a href="#bsearch">bsearch</a>() functions require <a href="#compareItems">compareItems</a>() to be
+implemented as described here.
+<p> This function should not modify the vector because some const
+functions call compareItems().
+
+<h3 class=fn>uint <a name="contains"></a>QPtrVector::contains ( const&nbsp;type&nbsp;*&nbsp;d ) const
+</h3>
+
+<p> Returns the number of occurrences of item <em>d</em> in the vector.
+<p> Compares items using the virtual function <a href="#compareItems">compareItems</a>().
+<p> <p>See also <a href="#containsRef">containsRef</a>().
+
+<h3 class=fn>uint <a name="containsRef"></a>QPtrVector::containsRef ( const&nbsp;type&nbsp;*&nbsp;d ) const
+</h3>
+
+<p> Returns the number of occurrences of the item pointer <em>d</em> in the
+vector.
+<p> This function does <em>not</em> use <a href="#compareItems">compareItems</a>() to compare items.
+<p> <p>See also <a href="#findRef">findRef</a>().
+
+<h3 class=fn>uint <a name="count"></a>QPtrVector::count () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the number of items in the vector. The vector is empty if
+<a href="#count">count</a>() == 0.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>(), <a href="#size">size</a>(), and <a href="#isNull">isNull</a>().
+
+<p>Reimplemented from <a href="qptrcollection.html#count">QPtrCollection</a>.
+<h3 class=fn>type ** <a name="data"></a>QPtrVector::data () const
+</h3>
+
+<p> Returns a pointer to the actual vector data, which is an array of
+type*.
+<p> The vector is a null vector if <a href="#data">data</a>() == 0 (null pointer).
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn>bool <a name="fill"></a>QPtrVector::fill ( const&nbsp;type&nbsp;*&nbsp;d, int&nbsp;size = -1 )
+</h3>
+
+<p> Inserts item <em>d</em> in all positions in the vector. Any existing
+items are removed. If <em>d</em> is 0, the vector becomes empty.
+<p> If <em>size</em> >= 0, the vector is first resized to <em>size</em>. By
+default, <em>size</em> is -1.
+<p> Returns TRUE if successful, i.e. <em>size</em> is the same as the
+current size, or <em>size</em> is larger and the memory has successfully
+been allocated; otherwise returns FALSE.
+<p> <p>See also <a href="#resize">resize</a>(), <a href="#insert">insert</a>(), and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>int <a name="find"></a>QPtrVector::find ( const&nbsp;type&nbsp;*&nbsp;d, uint&nbsp;i = 0 ) const
+</h3>
+
+<p> Finds the first occurrence of item <em>d</em> in the vector using a
+linear search. The search starts at position <em>i</em>, which must be
+less than <a href="#size">size</a>(). <em>i</em> is by default 0; i.e. the search starts at
+the start of the vector.
+<p> Returns the position of <em>d</em>, or -1 if <em>d</em> could not be found.
+<p> Compares items using the virtual function <a href="#compareItems">compareItems</a>().
+<p> Use the much faster <a href="#bsearch">bsearch</a>() to search a sorted vector.
+<p> <p>See also <a href="#findRef">findRef</a>() and <a href="#bsearch">bsearch</a>().
+
+<h3 class=fn>int <a name="findRef"></a>QPtrVector::findRef ( const&nbsp;type&nbsp;*&nbsp;d, uint&nbsp;i = 0 ) const
+</h3>
+
+<p> Finds the first occurrence of the item pointer <em>d</em> in the vector
+using a linear search. The search starts at position <em>i</em>, which
+must be less than <a href="#size">size</a>(). <em>i</em> is by default 0; i.e. the search
+starts at the start of the vector.
+<p> Returns the position of <em>d</em>, or -1 if <em>d</em> could not be found.
+<p> This function does <em>not</em> use <a href="#compareItems">compareItems</a>() to compare items.
+<p> Use the much faster <a href="#bsearch">bsearch</a>() to search a sorted vector.
+<p> <p>See also <a href="#find">find</a>() and <a href="#bsearch">bsearch</a>().
+
+<h3 class=fn>bool <a name="insert"></a>QPtrVector::insert ( uint&nbsp;i, const&nbsp;type&nbsp;*&nbsp;d )
+</h3>
+
+<p> Sets position <em>i</em> in the vector to contain the item <em>d</em>. <em>i</em>
+must be less than <a href="#size">size</a>(). Any previous element in position <em>i</em> is
+removed.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QPtrVector::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the vector is empty; otherwise returns FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QPtrVector::isNull () const
+</h3>
+
+<p> Returns TRUE if the vector is null; otherwise returns FALSE.
+<p> A null vector has <a href="#size">size</a>() == 0 and <a href="#data">data</a>() == 0.
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn><a href="qptrvector.html">QPtrVector</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrVector::operator= ( const&nbsp;<a href="qptrvector.html">QPtrVector</a>&lt;type&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Assigns <em>v</em> to this vector and returns a reference to this
+vector.
+<p> This vector is first cleared and then all the items from <em>v</em> are
+copied into the vector. Only the pointers are copied (i.e. <a href="shclass.html#shallow-copy">shallow copy</a>).
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QPtrVector::operator== ( const&nbsp;<a href="qptrvector.html">QPtrVector</a>&lt;type&gt;&nbsp;&amp;&nbsp;v ) const
+</h3>
+
+<p> Returns TRUE if this vector and <em>v</em> are equal; otherwise returns
+FALSE.
+
+<h3 class=fn>type * <a name="operator[]"></a>QPtrVector::operator[] ( int&nbsp;i ) const
+</h3>
+
+<p> Returns the item at position <em>i</em>, or 0 if there is no item at
+that position. <em>i</em> must be less than <a href="#size">size</a>().
+<p> Equivalent to <a href="#at">at</a>( <em>i</em> ).
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrVector::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;item )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reads a vector item, <em>item</em>, from the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation sets <em>item</em> to 0.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>bool <a name="remove"></a>QPtrVector::remove ( uint&nbsp;i )
+</h3>
+
+<p> Removes the item at position <em>i</em> in the vector, if there is one.
+<em>i</em> must be less than <a href="#size">size</a>().
+<p> Returns TRUE if <em>i</em> is within range; otherwise returns FALSE.
+<p> <p>See also <a href="#take">take</a>() and <a href="#at">at</a>().
+
+<h3 class=fn>bool <a name="resize"></a>QPtrVector::resize ( uint&nbsp;size )
+</h3>
+
+<p> Resizes (expands or shrinks) the vector to <em>size</em> elements. The
+vector becomes a null vector if <em>size</em> == 0.
+<p> Any items at position <em>size</em> or beyond in the vector are removed.
+New positions are initialized to 0.
+<p> Returns TRUE if successful, i.e. if the memory was successfully
+allocated; otherwise returns FALSE.
+<p> <p>See also <a href="#size">size</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn>void <a name="setAutoDelete"></a>QPtrCollection::setAutoDelete ( bool&nbsp;enable )
+</h3>
+
+<p> Sets the collection to auto-delete its contents if <em>enable</em> is
+TRUE and to never delete them if <em>enable</em> is FALSE.
+<p> If auto-deleting is turned on, all the items in a collection are
+deleted when the collection itself is deleted. This is convenient
+if the collection has the only pointer to the items.
+<p> The default setting is FALSE, for safety. If you turn it on, be
+careful about copying the collection - you might find yourself
+with two collections deleting the same items.
+<p> Note that the auto-delete setting may also affect other functions
+in subclasses. For example, a subclass that has a <a href="#remove">remove</a>()
+function will remove the item from its data structure, and if
+auto-delete is enabled, will also delete the item.
+<p> <p>See also <a href="qptrcollection.html#autoDelete">autoDelete</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2769">grapher/grapher.cpp</a>, <a href="scribble-example.html#x924">scribble/scribble.cpp</a>, and <a href="bigtable-example.html#x1291">table/bigtable/main.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QPtrVector::size () const
+</h3>
+
+<p> Returns the size of the vector, i.e. the number of vector
+positions. This is also the maximum number of items the vector can
+hold.
+<p> The vector is a null vector if <a href="#size">size</a>() == 0.
+<p> <p>See also <a href="#isNull">isNull</a>(), <a href="#resize">resize</a>(), and <a href="#count">count</a>().
+
+<h3 class=fn>void <a name="sort"></a>QPtrVector::sort ()
+</h3>
+
+<p> Sorts the items in ascending order. Any empty positions will be
+put last.
+<p> Compares items using the virtual function <a href="#compareItems">compareItems</a>().
+<p> <p>See also <a href="#bsearch">bsearch</a>().
+
+<h3 class=fn>type * <a name="take"></a>QPtrVector::take ( uint&nbsp;i )
+</h3>
+
+<p> Returns the item at position <em>i</em> in the vector, and removes that
+item from the vector. <em>i</em> must be less than <a href="#size">size</a>(). If there is
+no item at position <em>i</em>, 0 is returned.
+<p> Unlike <a href="#remove">remove</a>(), this function does <em>not</em> call <a href="qptrcollection.html#deleteItem">deleteItem</a>() for
+the removed item.
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#at">at</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrVector::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;item ) const<tt> [virtual protected]</tt>
+</h3>
+
+<p> Writes a vector item, <em>item</em>, to the stream <em>s</em> and returns a
+reference to the stream.
+<p> The default implementation does nothing.
+<p> <p>See also <a href="#read">read</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpushbt-m.png b/doc/html/qpushbt-m.png
new file mode 100644
index 0000000..4a48733
--- /dev/null
+++ b/doc/html/qpushbt-m.png
Binary files differ
diff --git a/doc/html/qpushbt-w.png b/doc/html/qpushbt-w.png
new file mode 100644
index 0000000..6290bfd
--- /dev/null
+++ b/doc/html/qpushbt-w.png
Binary files differ
diff --git a/doc/html/qpushbutton-h.html b/doc/html/qpushbutton-h.html
new file mode 100644
index 0000000..ddf65a4
--- /dev/null
+++ b/doc/html/qpushbutton-h.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpushbutton.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qpushbutton.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qpushbutton.h</h1>
+
+<p>This is the verbatim text of the qpushbutton.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qpushbutton.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QPushButton class
+**
+** Created : 940221
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPUSHBUTTON_H
+#define QPUSHBUTTON_H
+
+#ifndef QT_H
+#include "qbutton.h"
+#include "qiconset.h"
+#endif // QT_H
+
+#ifndef QT_NO_PUSHBUTTON
+class QPushButtonPrivate;
+class QPopupMenu;
+
+class Q_EXPORT QPushButton : public QButton
+{
+ Q_OBJECT
+
+ Q_PROPERTY( bool autoDefault READ autoDefault WRITE setAutoDefault )
+ Q_PROPERTY( bool default READ isDefault WRITE setDefault )
+ Q_PROPERTY( bool menuButton READ isMenuButton DESIGNABLE false )
+ Q_PROPERTY( QIconSet iconSet READ iconSet WRITE setIconSet )
+ Q_OVERRIDE( bool toggleButton WRITE setToggleButton )
+ Q_OVERRIDE( bool on WRITE setOn )
+ Q_PROPERTY( bool flat READ isFlat WRITE setFlat )
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+
+public:
+ QPushButton( QWidget *parent, const char* name=0 );
+ QPushButton( const QString &amp;text, QWidget *parent, const char* name=0 );
+#ifndef QT_NO_ICONSET
+ QPushButton( const QIconSet&amp; icon, const QString &amp;text, QWidget *parent, const char* name=0 );
+#endif
+ ~QPushButton();
+
+ QSize sizeHint() const;
+
+ void move( int x, int y );
+ void move( const QPoint &amp;p );
+ void resize( int w, int h );
+ void resize( const QSize &amp; );
+ void setGeometry( int x, int y, int w, int h );
+
+ void setGeometry( const QRect &amp; );
+
+ void setToggleButton( bool );
+
+ bool autoDefault() const { return autoDefButton; }
+ virtual void setAutoDefault( bool autoDef );
+ bool isDefault() const { return defButton; }
+ virtual void setDefault( bool def );
+
+ virtual void setIsMenuButton( bool enable ) { // obsolete functions
+ if ( (bool)hasMenuArrow == enable )
+ return;
+ hasMenuArrow = enable ? 1 : 0;
+ update();
+ updateGeometry();
+ }
+ bool isMenuButton() const { return hasMenuArrow; }
+
+#ifndef QT_NO_POPUPMENU
+ void setPopup( QPopupMenu* popup );
+ QPopupMenu* popup() const;
+#endif
+#ifndef QT_NO_ICONSET
+ void setIconSet( const QIconSet&amp; );
+ QIconSet* iconSet() const;
+#endif
+ void setFlat( bool );
+ bool isFlat() const;
+
+public slots:
+ virtual void setOn( bool );
+
+protected:
+ void drawButton( QPainter * );
+ void drawButtonLabel( QPainter * );
+ void focusInEvent( QFocusEvent * );
+ void focusOutEvent( QFocusEvent * );
+ void resizeEvent( QResizeEvent * );
+ void updateMask();
+private slots:
+#ifndef QT_NO_POPUPMENU
+ void popupPressed();
+#endif
+private:
+ void init();
+
+ uint autoDefButton : 1;
+ uint defButton : 1;
+ uint flt : 1;
+ uint reserved : 1; // UNUSED
+ uint lastEnabled : 1; // UNUSED
+ uint hasMenuArrow : 1;
+
+ QPushButtonPrivate* d;
+
+ friend class QDialog;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPushButton( const QPushButton &amp; );
+ QPushButton &amp;operator=( const QPushButton &amp; );
+#endif
+};
+
+
+#endif // QT_NO_PUSHBUTTON
+
+#endif // QPUSHBUTTON_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpushbutton-members.html b/doc/html/qpushbutton-members.html
new file mode 100644
index 0000000..9216080
--- /dev/null
+++ b/doc/html/qpushbutton-members.html
@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qpushbutton.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPushButton Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QPushButton</h1>
+
+<p>This is the complete list of member functions for
+<a href="qpushbutton.html">QPushButton</a>, including inherited members.
+
+<ul>
+<li><a href="qpushbutton.html#QPushButton">QPushButton</a>()
+<li><a href="qpushbutton.html#~QPushButton">~QPushButton</a>()
+<li><a href="qbutton.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qbutton.html#animateClick">animateClick</a>()
+<li><a href="qpushbutton.html#autoDefault">autoDefault</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qbutton.html#autoRepeat">autoRepeat</a>()
+<li><a href="qbutton.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbutton.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qbutton.html#drawButton">drawButton</a>()
+<li><a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qbutton.html#group">group</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qbutton.html#hitButton">hitButton</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qpushbutton.html#iconSet">iconSet</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qpushbutton.html#isDefault">isDefault</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qbutton.html#isDown">isDown</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbutton.html#isExclusiveToggle">isExclusiveToggle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qpushbutton.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qpushbutton.html#isMenuButton">isMenuButton</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qbutton.html#isOn">isOn</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qbutton.html#isToggleButton">isToggleButton</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qbutton.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qbutton.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qpushbutton.html#popup">popup</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbutton.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbutton.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qbutton.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qpushbutton.html#setAutoDefault">setAutoDefault</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()
+<li><a href="qbutton.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qpushbutton.html#setDefault">setDefault</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qbutton.html#setDown">setDown</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qpushbutton.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qpushbutton.html#setIconSet">setIconSet</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qpushbutton.html#setIsMenuButton">setIsMenuButton</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qpushbutton.html#setOn">setOn</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qbutton.html#setPixmap">setPixmap</a>()
+<li><a href="qpushbutton.html#setPopup">setPopup</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qbutton.html#setState">setState</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qbutton.html#setText">setText</a>()
+<li><a href="qpushbutton.html#setToggleButton">setToggleButton</a>()
+<li><a href="qbutton.html#setToggleType">setToggleType</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qbutton.html#state">state</a>()
+<li><a href="qbutton.html#stateChanged">stateChanged</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qbutton.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qbutton.html#toggle">toggle</a>()
+<li><a href="qbutton.html#toggleType">toggleType</a>()
+<li><a href="qbutton.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qpushbutton.html b/doc/html/qpushbutton.html
new file mode 100644
index 0000000..6902017
--- /dev/null
+++ b/doc/html/qpushbutton.html
@@ -0,0 +1,470 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qpushbutton.cpp:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QPushButton Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QPushButton Class Reference</h1>
+
+<p>The QPushButton widget provides a command button.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;</tt>
+<p>Inherits <a href="qbutton.html">QButton</a>.
+<p><a href="qpushbutton-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QPushButton"><b>QPushButton</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QPushButton-2"><b>QPushButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QPushButton-3"><b>QPushButton</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QPushButton"><b>~QPushButton</b></a> ()</li>
+<li class=fn>void <a href="#setToggleButton"><b>setToggleButton</b></a> ( bool )</li>
+<li class=fn>bool <a href="#autoDefault"><b>autoDefault</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoDefault"><b>setAutoDefault</b></a> ( bool&nbsp;autoDef )</li>
+<li class=fn>bool <a href="#isDefault"><b>isDefault</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDefault"><b>setDefault</b></a> ( bool&nbsp;def )</li>
+<li class=fn>virtual void setIsMenuButton ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool isMenuButton () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setPopup"><b>setPopup</b></a> ( QPopupMenu&nbsp;*&nbsp;popup )</li>
+<li class=fn>QPopupMenu * <a href="#popup"><b>popup</b></a> () const</li>
+<li class=fn>void <a href="#setIconSet"><b>setIconSet</b></a> ( const QIconSet &amp; )</li>
+<li class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> () const</li>
+<li class=fn>void <a href="#setFlat"><b>setFlat</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isFlat"><b>isFlat</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setOn"><b>setOn</b></a> ( bool )</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const QKeySequence &amp; )</li>
+<li class=fn>bool <a href="#isToggleButton"><b>isToggleButton</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDown"><b>setDown</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isDown"><b>isDown</b></a> () const</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>ToggleState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool <a href="#autoRepeat"><b>autoRepeat</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoRepeat"><b>setAutoRepeat</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isExclusiveToggle"><b>isExclusiveToggle</b></a> () const</li>
+<li class=fn>QButtonGroup * <a href="#group"><b>group</b></a> () const</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ()</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ()</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ()</li>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoDefault-prop"><b>autoDefault</b></a>&nbsp;- whether the push button is the auto default button</li>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the button is automatically masked &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#default-prop"><b>default</b></a>&nbsp;- whether the push button is the default button</li>
+<li class=fn>bool <a href="#flat-prop"><b>flat</b></a>&nbsp;- whether the border is disabled</li>
+<li class=fn>QIconSet <a href="#iconSet-prop"><b>iconSet</b></a>&nbsp;- the icon set on the push button</li>
+<li class=fn>bool menuButton&nbsp;- whether the push button has a menu button on it &nbsp;<em>(read only)</em> &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#on-prop"><b>on</b></a>&nbsp;- whether the push button is toggled</li>
+<li class=fn>bool <a href="#toggleButton-prop"><b>toggleButton</b></a>&nbsp;- whether the button is a toggle button</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QPushButton widget provides a command button.
+<p>
+
+<p> The push button, or command button, is perhaps the most commonly
+used widget in any graphical user interface. Push (click) a button
+to command the computer to perform some action, or to answer a
+question. Typical buttons are OK, Apply, Cancel, Close, Yes, No
+and Help.
+<p> A command button is rectangular and typically displays a text
+label describing its action. An underlined character in the label
+(signified by preceding it with an ampersand in the text)
+indicates an accelerator key, e.g.
+<pre>
+ QPushButton *pb = new QPushButton( "&amp;Download", this );
+ </pre>
+
+In this example the accelerator is <em>Alt+D</em>, and the label text
+will be displayed as <b><u>D</u>ownload</b>.
+<p> Push buttons can display a textual label or a pixmap, and
+optionally a small icon. These can be set using the constructors
+and changed later using <a href="qbutton.html#setText">setText</a>(), <a href="qbutton.html#setPixmap">setPixmap</a>() and <a href="#setIconSet">setIconSet</a>().
+If the button is disabled the appearance of the text or pixmap and
+iconset will be manipulated with respect to the GUI style to make
+the button look "disabled".
+<p> A push button emits the signal <a href="qbutton.html#clicked">clicked</a>() when it is activated by
+the mouse, the Spacebar or by a keyboard accelerator. Connect to
+this signal to perform the button's action. Push buttons also
+provide less commonly used signals, for example, <a href="qbutton.html#pressed">pressed</a>() and
+<a href="qbutton.html#released">released</a>().
+<p> Command buttons in dialogs are by default auto-default buttons,
+i.e. they become the default push button automatically when they
+receive the keyboard input focus. A default button is a push
+button that is activated when the user presses the Enter or Return
+key in a dialog. You can change this with <a href="#setAutoDefault">setAutoDefault</a>(). Note
+that auto-default buttons reserve a little extra space which is
+necessary to draw a default-button indicator. If you do not want
+this space around your buttons, call setAutoDefault(FALSE).
+<p> Being so central, the button widget has grown to accommodate a
+great many variations in the past decade. The Microsoft style
+guide now shows about ten different states of Windows push buttons
+and the text implies that there are dozens more when all the
+combinations of features are taken into consideration.
+<p> The most important modes or states are:
+<ul>
+<li> Available or not (grayed out, disabled).
+<li> Standard push button, toggling push button or menu button.
+<li> On or off (only for toggling push buttons).
+<li> Default or normal. The default button in a dialog can generally
+be "clicked" using the Enter or Return key.
+<li> Auto-repeat or not.
+<li> Pressed down or not.
+</ul>
+<p> As a general rule, use a push button when the application or
+dialog window performs an action when the user clicks on it (such
+as Apply, Cancel, Close and Help) <em>and</em> when the widget is
+supposed to have a wide, rectangular shape with a text label.
+Small, typically square buttons that change the state of the
+window rather than performing an action (such as the buttons in
+the top-right corner of the <a href="qfiledialog.html">QFileDialog</a>) are not command buttons,
+but tool buttons. Qt provides a special class (<a href="qtoolbutton.html">QToolButton</a>) for
+these buttons.
+<p> If you need toggle behavior (see <a href="#setToggleButton">setToggleButton</a>()) or a button
+that auto-repeats the activation signal when being pushed down
+like the arrows in a scroll bar (see <a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()), a command
+button is probably not what you want. When in doubt, use a tool
+button.
+<p> A variation of a command button is a menu button. These provide
+not just one command, but several, since when they are clicked
+they pop up a menu of options. Use the method <a href="#setPopup">setPopup</a>() to
+associate a popup menu with a push button.
+<p> Other classes of buttons are option buttons (see <a href="qradiobutton.html">QRadioButton</a>) and
+check boxes (see <a href="qcheckbox.html">QCheckBox</a>).
+<p> <img src="qpushbt-m.png"> <img src="qpushbt-w.png">
+<p> In Qt, the <a href="qbutton.html">QButton</a> abstract base class provides most of the modes
+and other API, and QPushButton provides GUI logic. See QButton for
+more information about the API.
+<p>
+<p> <p>See also <a href="qtoolbutton.html">QToolButton</a>, <a href="qradiobutton.html">QRadioButton</a>, <a href="qcheckbox.html">QCheckBox</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Push Button</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QPushButton"></a>QPushButton::QPushButton ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a push button with no text.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QPushButton-2"></a>QPushButton::QPushButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a push button called <em>name</em> with the parent <em>parent</em>
+and the text <em>text</em>.
+
+<h3 class=fn><a name="QPushButton-3"></a>QPushButton::QPushButton ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a push button with an <em>icon</em> and a <em>text</em>.
+<p> Note that you can also pass a <a href="qpixmap.html">QPixmap</a> object as an icon (thanks to
+the implicit type conversion provided by C++).
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QPushButton"></a>QPushButton::~QPushButton ()
+</h3>
+Destroys the push button.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QButton::accel () const
+</h3><p>Returns the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>bool <a name="autoDefault"></a>QPushButton::autoDefault () const
+</h3><p>Returns TRUE if the push button is the auto default button; otherwise returns FALSE.
+See the <a href="qpushbutton.html#autoDefault-prop">"autoDefault"</a> property for details.
+<h3 class=fn>bool <a name="autoRepeat"></a>QButton::autoRepeat () const
+</h3><p>Returns TRUE if autoRepeat is enabled; otherwise returns FALSE.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="clicked"></a>QButton::clicked ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is activated (i.e. first
+pressed down and then released when the mouse cursor is inside the
+button), when the accelerator key is typed or when <a href="qbutton.html#animateClick">animateClick</a>()
+is called. This signal is <em>not</em> emitted if you call <a href="qbutton.html#setDown">setDown</a>().
+<p> The <a href="qbuttongroup.html#clicked">QButtonGroup::clicked</a>() signal does the same job, if you want
+to connect several buttons to the same slot.
+<p> <b>Warning:</b> Don't launch a model dialog in response to this signal
+for a button that has <a href="qbutton.html#autoRepeat-prop">autoRepeat</a> turned on.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#released">released</a>(), <a href="qbutton.html#toggled">toggled</a>(), <a href="qbutton.html#autoRepeat-prop">autoRepeat</a>, and <a href="qbutton.html#down-prop">down</a>.
+
+<p>Examples: <a href="tutorial2-08.html#x2596">chart/setdataform.cpp</a>, <a href="listbox-example.html#x1426">listbox/listbox.cpp</a>, <a href="clientserver-example.html#x792">network/clientserver/client/client.cpp</a>, <a href="progressbar-example.html#x962">progressbar/progressbar.cpp</a>, <a href="richtext-example.html#x462">richtext/richtext.cpp</a>, <a href="tutorial1-02.html#x2290">t2/main.cpp</a>, and <a href="tutorial1-04.html#x2306">t4/main.cpp</a>.
+<h3 class=fn><a href="qbuttongroup.html">QButtonGroup</a>&nbsp;* <a name="group"></a>QButton::group () const
+</h3>
+Returns the group that this button belongs to.
+<p> If the button is not a member of any <a href="qbuttongroup.html">QButtonGroup</a>, this function
+returns 0.
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a>.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;* <a name="iconSet"></a>QPushButton::iconSet () const
+</h3><p>Returns the icon set on the push button.
+See the <a href="qpushbutton.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn>bool <a name="isDefault"></a>QPushButton::isDefault () const
+</h3><p>Returns TRUE if the push button is the default button; otherwise returns FALSE.
+See the <a href="qpushbutton.html#default-prop">"default"</a> property for details.
+<h3 class=fn>bool <a name="isDown"></a>QButton::isDown () const
+</h3><p>Returns TRUE if the button is pressed; otherwise returns FALSE.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>bool <a name="isExclusiveToggle"></a>QButton::isExclusiveToggle () const
+</h3><p>Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE.
+See the <a href="qbutton.html#exclusiveToggle-prop">"exclusiveToggle"</a> property for details.
+<h3 class=fn>bool <a name="isFlat"></a>QPushButton::isFlat () const
+</h3><p>Returns TRUE if the border is disabled; otherwise returns FALSE.
+See the <a href="qpushbutton.html#flat-prop">"flat"</a> property for details.
+<h3 class=fn>bool <a name="isMenuButton"></a>QPushButton::isMenuButton () const
+</h3><p>Returns TRUE if the push button has a menu button on it; otherwise returns FALSE.
+See the <a href="qpushbutton.html#menuButton-prop">"menuButton"</a> property for details.
+<h3 class=fn>bool <a name="isOn"></a>QButton::isOn () const
+</h3><p>Returns TRUE if the button is toggled; otherwise returns FALSE.
+See the <a href="qbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>bool <a name="isToggleButton"></a>QButton::isToggleButton () const
+</h3><p>Returns TRUE if the button is a toggle button; otherwise returns FALSE.
+See the <a href="qbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QButton::pixmap () const
+</h3><p>Returns the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="popup"></a>QPushButton::popup () const
+</h3>
+Returns the button's associated popup menu or 0 if no popup menu
+has been set.
+<p> <p>See also <a href="#setPopup">setPopup</a>().
+
+<h3 class=fn>void <a name="pressed"></a>QButton::pressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is pressed down.
+<p> <p>See also <a href="qbutton.html#released">released</a>() and <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Examples: <a href="httpd-example.html#x724">network/httpd/httpd.cpp</a> and <a href="popup-example.html#x1606">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="released"></a>QButton::released ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is released.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#clicked">clicked</a>(), and <a href="qbutton.html#toggled">toggled</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QButton::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="setAutoDefault"></a>QPushButton::setAutoDefault ( bool&nbsp;autoDef )<tt> [virtual]</tt>
+</h3><p>Sets whether the push button is the auto default button to <em>autoDef</em>.
+See the <a href="qpushbutton.html#autoDefault-prop">"autoDefault"</a> property for details.
+<h3 class=fn>void <a name="setAutoRepeat"></a>QButton::setAutoRepeat ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether autoRepeat is enabled.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="setDefault"></a>QPushButton::setDefault ( bool&nbsp;def )<tt> [virtual]</tt>
+</h3><p>Sets whether the push button is the default button to <em>def</em>.
+See the <a href="qpushbutton.html#default-prop">"default"</a> property for details.
+<h3 class=fn>void <a name="setDown"></a>QButton::setDown ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the button is pressed.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>void <a name="setFlat"></a>QPushButton::setFlat ( bool )
+</h3><p>Sets whether the border is disabled.
+See the <a href="qpushbutton.html#flat-prop">"flat"</a> property for details.
+<h3 class=fn>void <a name="setIconSet"></a>QPushButton::setIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp; )
+</h3><p>Sets the icon set on the push button.
+See the <a href="qpushbutton.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn>void <a name="setIsMenuButton"></a>QPushButton::setIsMenuButton ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+
+<h3 class=fn>void <a name="setOn"></a>QPushButton::setOn ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the push button is toggled.
+See the <a href="qpushbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>void <a name="setPixmap"></a>QButton::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setPopup"></a>QPushButton::setPopup ( <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup )
+</h3>
+Associates the popup menu <em>popup</em> with this push button. This
+turns the button into a menu button.
+<p> Ownership of the popup menu is <em>not</em> transferred to the push
+button.
+<p> <p>See also <a href="#popup">popup</a>().
+
+<p>Examples: <a href="buttongroups-example.html#x557">buttongroups/buttongroups.cpp</a> and <a href="qdir-example.html#x1836">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="setText"></a>QButton::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setToggleButton"></a>QPushButton::setToggleButton ( bool )
+</h3><p>Sets whether the button is a toggle button.
+See the <a href="qpushbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn><a href="qbutton.html#ToggleState-enum">ToggleState</a> <a name="state"></a>QButton::state () const
+</h3><p>Returns the state of the toggle button.
+See the <a href="qbutton.html#toggleState-prop">"toggleState"</a> property for details.
+<h3 class=fn>void <a name="stateChanged"></a>QButton::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes state. <em>state</em> is <a href="qbutton.html#ToggleState-enum">On</a> if the button is on, <a href="qbutton.html#ToggleState-enum">NoChange</a> if it is in the
+<a href="qcheckbox.html#setTristate">"no change" state</a> or <a href="qbutton.html#ToggleState-enum">Off</a>
+if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+<a href="qbutton.html#setState">setState</a>(), or because <a href="#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>() and <a href="qbutton.html#ToggleState-enum">QButton::ToggleState</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QButton::text () const
+</h3><p>Returns the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QButton::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of a toggle button.
+<p> <p>See also <a href="#on-prop">on</a>, <a href="#on-prop">on</a>, <a href="qbutton.html#toggled">toggled</a>(), and <a href="#toggleButton-prop">toggleButton</a>.
+
+<h3 class=fn>void <a name="toggled"></a>QButton::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes status. <em>on</em> is TRUE if the button is on, or FALSE if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+or because <a href="#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Example: <a href="listbox-example.html#x1427">listbox/listbox.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel-prop"></a>accel</h3>
+<p>This property holds the accelerator associated with the button.
+<p>This property is 0 if there is no accelerator set. If you set this
+property to 0 then any current accelerator is removed.
+
+<p>Set this property's value with <a href="#setAccel">setAccel</a>() and get this property's value with <a href="#accel">accel</a>().
+<h3 class=fn>bool <a name="autoDefault-prop"></a>autoDefault</h3>
+<p>This property holds whether the push button is the auto default button.
+<p>If this property is set to TRUE then the push button is the auto
+default button in a dialog.
+<p> In some GUI styles a default button is drawn with an extra frame
+around it, up to 3 pixels or more. Qt automatically keeps this
+space free around auto-default buttons, i.e. auto-default buttons
+may have a slightly larger size hint.
+<p> This property's default is TRUE for buttons that have a <a href="qdialog.html">QDialog</a>
+parent; otherwise it defaults to FALSE.
+<p> See the <a href="#default-prop">default</a> property for details of how <a href="#default-prop">default</a> and
+auto-default interact.
+
+<p>Set this property's value with <a href="#setAutoDefault">setAutoDefault</a>() and get this property's value with <a href="#autoDefault">autoDefault</a>().
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the button is automatically masked.
+<p><p><p>See also <a href="qwidget.html#autoMask-prop">QWidget::autoMask</a>.
+
+<h3 class=fn>bool <a name="autoRepeat-prop"></a>autoRepeat</h3>
+<p>This property holds whether autoRepeat is enabled.
+<p>If autoRepeat is enabled then the <a href="qbutton.html#clicked">clicked</a>() signal is emitted at
+regular intervals if the button is down. This property has no
+effect on toggle buttons. autoRepeat is off by default.
+
+<p>Set this property's value with <a href="#setAutoRepeat">setAutoRepeat</a>() and get this property's value with <a href="#autoRepeat">autoRepeat</a>().
+<h3 class=fn>bool <a name="default-prop"></a>default</h3>
+<p>This property holds whether the push button is the default button.
+<p>If this property is set to TRUE then the push button will be
+pressed if the user presses the Enter (or Return) key in a dialog.
+<p> Regardless of focus, if the user presses Enter: If there is a
+default button the default button is pressed; otherwise, if
+there are one or more <a href="#autoDefault-prop">autoDefault</a> buttons the first <a href="#autoDefault-prop">autoDefault</a>
+button that is next in the tab order is pressed. If there are no
+default or <a href="#autoDefault-prop">autoDefault</a> buttons only pressing Space on a button
+with focus, mouse clicking, or using an accelerator will press a
+button.
+<p> In a dialog, only one push button at a time can be the default
+button. This button is then displayed with an additional frame
+(depending on the GUI style).
+<p> The default button behavior is provided only in dialogs. Buttons
+can always be clicked from the keyboard by pressing Enter (or
+Return) or the Spacebar when the button has focus.
+<p> This property's default is FALSE.
+
+<p>Set this property's value with <a href="#setDefault">setDefault</a>() and get this property's value with <a href="#isDefault">isDefault</a>().
+<h3 class=fn>bool <a name="flat-prop"></a>flat</h3>
+<p>This property holds whether the border is disabled.
+<p>This property's default is FALSE.
+
+<p>Set this property's value with <a href="#setFlat">setFlat</a>() and get this property's value with <a href="#isFlat">isFlat</a>().
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet-prop"></a>iconSet</h3>
+<p>This property holds the icon set on the push button.
+<p>This property will return 0 if the push button has no iconset.
+
+<p>Set this property's value with <a href="#setIconSet">setIconSet</a>() and get this property's value with <a href="#iconSet">iconSet</a>().
+<h3 class=fn>bool <a name="menuButton-prop"></a>menuButton</h3> <p>This property holds whether the push button has a menu button on it.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If this property is set to TRUE, then a down arrow is drawn on the push
+button to indicate that a menu will pop up if the user clicks on the
+arrow.
+
+<p>Get this property's value with <a href="#isMenuButton">isMenuButton</a>().
+<h3 class=fn>bool <a name="on-prop"></a>on</h3>
+<p>This property holds whether the push button is toggled.
+<p>This property should only be set for toggle push buttons. The
+default value is FALSE.
+<p> <p>See also <a href="#on-prop">on</a>, <a href="qbutton.html#toggle">toggle</a>(), <a href="qbutton.html#toggled">toggled</a>(), and <a href="#toggleButton-prop">toggleButton</a>.
+
+<p>Set this property's value with <a href="#setOn">setOn</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3>
+<p>This property holds the pixmap shown on the button.
+<p>If the pixmap is monochrome (i.e. it is a <a href="qbitmap.html">QBitmap</a> or its <a href="qpixmap.html#depth">depth</a> is 1) and it does not have a mask,
+this property will set the pixmap to be its own mask. The purpose
+of this is to draw transparent bitmaps which are important for
+toggle buttons, for example.
+<p> <a href="qbutton.html#pixmap">pixmap</a>() returns 0 if no pixmap was set.
+
+<p>Set this property's value with <a href="#setPixmap">setPixmap</a>() and get this property's value with <a href="#pixmap">pixmap</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the text shown on the button.
+<p>This property will return a <a href="qstring.html#QString-null">QString::null</a> if the button has no
+text. If the text has an ampersand (&amp;) in it, then an
+accelerator is automatically created for it using the character
+that follows the '&amp;' as the accelerator key. Any previous
+accelerator will be overwritten, or cleared if no accelerator is
+defined by the text.
+<p> There is no default text.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn>bool <a name="toggleButton-prop"></a>toggleButton</h3>
+<p>This property holds whether the button is a toggle button.
+<p>Toggle buttons have an on/off state similar to <a href="qcheckbox.html">check boxes.</a> A push button is initially not a toggle
+button.
+<p> <p>See also <a href="#on-prop">on</a>, <a href="qbutton.html#toggle">toggle</a>(), <a href="#toggleButton-prop">toggleButton</a>, and <a href="qbutton.html#toggled">toggled</a>().
+
+<p>Set this property's value with <a href="#setToggleButton">setToggleButton</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qqueue.html b/doc/html/qqueue.html
new file mode 100644
index 0000000..f10a6c9
--- /dev/null
+++ b/doc/html/qqueue.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:77 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QQueue Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QQueue Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qqueue.h&gt;</pre>
+
+<p> The QQueue class has been renamed <b> <a href="qptrqueue.html">QPtrQueue</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qradiobt-m.png b/doc/html/qradiobt-m.png
new file mode 100644
index 0000000..cd3eacc
--- /dev/null
+++ b/doc/html/qradiobt-m.png
Binary files differ
diff --git a/doc/html/qradiobt-w.png b/doc/html/qradiobt-w.png
new file mode 100644
index 0000000..0c4f567
--- /dev/null
+++ b/doc/html/qradiobt-w.png
Binary files differ
diff --git a/doc/html/qradiobutton-h.html b/doc/html/qradiobutton-h.html
new file mode 100644
index 0000000..6b0a56f
--- /dev/null
+++ b/doc/html/qradiobutton-h.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qradiobutton.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qradiobutton.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qradiobutton.h</h1>
+
+<p>This is the verbatim text of the qradiobutton.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qradiobutton.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QRadioButton class
+**
+** Created : 940222
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QRADIOBUTTON_H
+#define QRADIOBUTTON_H
+
+#ifndef QT_H
+#include "qbutton.h"
+#endif // QT_H
+
+#ifndef QT_NO_RADIOBUTTON
+
+class Q_EXPORT QRadioButton : public QButton
+{
+ Q_OBJECT
+ Q_PROPERTY( bool checked READ isChecked WRITE setChecked )
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+
+public:
+ QRadioButton( QWidget *parent, const char* name=0 );
+ QRadioButton( const QString &amp;text, QWidget *parent, const char* name=0 );
+
+ bool isChecked() const;
+
+ QSize sizeHint() const;
+
+public slots:
+ virtual void setChecked( bool check );
+
+protected:
+ bool hitButton( const QPoint &amp; ) const;
+ void drawButton( QPainter * );
+ void drawButtonLabel( QPainter * );
+ void updateMask();
+
+ void resizeEvent( QResizeEvent* );
+
+private:
+ void init();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QRadioButton( const QRadioButton &amp; );
+ QRadioButton &amp;operator=( const QRadioButton &amp; );
+#endif
+};
+
+
+inline bool QRadioButton::isChecked() const
+{ return isOn(); }
+
+#endif // QT_NO_RADIOBUTTON
+
+#endif // QRADIOBUTTON_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qradiobutton-members.html b/doc/html/qradiobutton-members.html
new file mode 100644
index 0000000..1560154
--- /dev/null
+++ b/doc/html/qradiobutton-members.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qradiobutton.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRadioButton Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRadioButton</h1>
+
+<p>This is the complete list of member functions for
+<a href="qradiobutton.html">QRadioButton</a>, including inherited members.
+
+<ul>
+<li><a href="qradiobutton.html#QRadioButton">QRadioButton</a>()
+<li><a href="qbutton.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qbutton.html#animateClick">animateClick</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qbutton.html#autoRepeat">autoRepeat</a>()
+<li><a href="qbutton.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbutton.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qbutton.html#drawButton">drawButton</a>()
+<li><a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qbutton.html#group">group</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qbutton.html#hitButton">hitButton</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qradiobutton.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qbutton.html#isDown">isDown</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbutton.html#isExclusiveToggle">isExclusiveToggle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qbutton.html#isOn">isOn</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qbutton.html#isToggleButton">isToggleButton</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qbutton.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qbutton.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbutton.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbutton.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qbutton.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()
+<li><a href="qbutton.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qradiobutton.html#setChecked">setChecked</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qbutton.html#setDown">setDown</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qbutton.html#setOn">setOn</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qbutton.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qbutton.html#setState">setState</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qbutton.html#setText">setText</a>()
+<li><a href="qbutton.html#setToggleButton">setToggleButton</a>()
+<li><a href="qbutton.html#setToggleType">setToggleType</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qbutton.html#state">state</a>()
+<li><a href="qbutton.html#stateChanged">stateChanged</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qbutton.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qbutton.html#toggle">toggle</a>()
+<li><a href="qbutton.html#toggleType">toggleType</a>()
+<li><a href="qbutton.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qradiobutton.html b/doc/html/qradiobutton.html
new file mode 100644
index 0000000..b3cd20f
--- /dev/null
+++ b/doc/html/qradiobutton.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qradiobutton.cpp:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRadioButton Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRadioButton Class Reference</h1>
+
+<p>The QRadioButton widget provides a radio button with a text or pixmap label.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;</tt>
+<p>Inherits <a href="qbutton.html">QButton</a>.
+<p><a href="qradiobutton-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QRadioButton"><b>QRadioButton</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QRadioButton-2"><b>QRadioButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>bool <a href="#isChecked"><b>isChecked</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setChecked"><b>setChecked</b></a> ( bool&nbsp;check )</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const QString &amp; )</li>
+<li class=fn>const QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>QKeySequence <a href="#accel"><b>accel</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAccel"><b>setAccel</b></a> ( const QKeySequence &amp; )</li>
+<li class=fn>bool <a href="#isToggleButton"><b>isToggleButton</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDown"><b>setDown</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isDown"><b>isDown</b></a> () const</li>
+<li class=fn>bool <a href="#isOn"><b>isOn</b></a> () const</li>
+<li class=fn>ToggleState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>bool <a href="#autoRepeat"><b>autoRepeat</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoRepeat"><b>setAutoRepeat</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isExclusiveToggle"><b>isExclusiveToggle</b></a> () const</li>
+<li class=fn>QButtonGroup * <a href="#group"><b>group</b></a> () const</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ()</li>
+<li class=fn>void <a href="#released"><b>released</b></a> ()</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ()</li>
+<li class=fn>void <a href="#toggled"><b>toggled</b></a> ( bool&nbsp;on )</li>
+<li class=fn>void <a href="#stateChanged"><b>stateChanged</b></a> ( int&nbsp;state )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the radio button is automatically masked &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#checked-prop"><b>checked</b></a>&nbsp;- whether the radio button is checked</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QRadioButton widget provides a radio button with a text or pixmap label.
+<p>
+
+<p> QRadioButton and <a href="qcheckbox.html">QCheckBox</a> are both option buttons. That is, they
+can be switched on (checked) or off (unchecked). The classes
+differ in how the choices for the user are restricted. Check boxes
+define "many of many" choices, whereas radio buttons provide a
+"one of many" choice. In a group of radio buttons only one radio
+button at a time can be checked; if the user selects another
+button, the previously selected button is switched off.
+<p> The easiest way to implement a "one of many" choice is simply to
+put the radio buttons into <a href="qbuttongroup.html">QButtonGroup</a>.
+<p> Whenever a button is switched on or off it emits the signal
+<a href="qbutton.html#toggled">toggled</a>(). Connect to this signal if you want to trigger an action
+each time the button changes state. Otherwise, use <a href="#isChecked">isChecked</a>() to
+see if a particular button is selected.
+<p> Just like <a href="qpushbutton.html">QPushButton</a>, a radio button can display text or a
+pixmap. The text can be set in the constructor or with <a href="qbutton.html#setText">setText</a>();
+the pixmap is set with <a href="qbutton.html#setPixmap">setPixmap</a>().
+<p> <img src=qradiobt-m.png> <img src=qradiobt-w.png>
+<p>
+<p> <p>See also <a href="qpushbutton.html">QPushButton</a>, <a href="qtoolbutton.html">QToolButton</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Radio Button</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRadioButton"></a>QRadioButton::QRadioButton ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a radio button with no text.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QRadioButton-2"></a>QRadioButton::QRadioButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a radio button with the text <em>text</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel"></a>QButton::accel () const
+</h3><p>Returns the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>bool <a name="autoRepeat"></a>QButton::autoRepeat () const
+</h3><p>Returns TRUE if autoRepeat is enabled; otherwise returns FALSE.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="clicked"></a>QButton::clicked ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is activated (i.e. first
+pressed down and then released when the mouse cursor is inside the
+button), when the accelerator key is typed or when <a href="qbutton.html#animateClick">animateClick</a>()
+is called. This signal is <em>not</em> emitted if you call <a href="qbutton.html#setDown">setDown</a>().
+<p> The <a href="qbuttongroup.html#clicked">QButtonGroup::clicked</a>() signal does the same job, if you want
+to connect several buttons to the same slot.
+<p> <b>Warning:</b> Don't launch a model dialog in response to this signal
+for a button that has <a href="qbutton.html#autoRepeat-prop">autoRepeat</a> turned on.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#released">released</a>(), <a href="qbutton.html#toggled">toggled</a>(), <a href="qbutton.html#autoRepeat-prop">autoRepeat</a>, and <a href="qbutton.html#down-prop">down</a>.
+
+<p>Examples: <a href="tutorial2-08.html#x2596">chart/setdataform.cpp</a>, <a href="listbox-example.html#x1426">listbox/listbox.cpp</a>, <a href="clientserver-example.html#x792">network/clientserver/client/client.cpp</a>, <a href="progressbar-example.html#x962">progressbar/progressbar.cpp</a>, <a href="richtext-example.html#x462">richtext/richtext.cpp</a>, <a href="tutorial1-02.html#x2290">t2/main.cpp</a>, and <a href="tutorial1-04.html#x2306">t4/main.cpp</a>.
+<h3 class=fn><a href="qbuttongroup.html">QButtonGroup</a>&nbsp;* <a name="group"></a>QButton::group () const
+</h3>
+Returns the group that this button belongs to.
+<p> If the button is not a member of any <a href="qbuttongroup.html">QButtonGroup</a>, this function
+returns 0.
+<p> <p>See also <a href="qbuttongroup.html">QButtonGroup</a>.
+
+<h3 class=fn>bool <a name="isChecked"></a>QRadioButton::isChecked () const
+</h3><p>Returns TRUE if the radio button is checked; otherwise returns FALSE.
+See the <a href="qradiobutton.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>bool <a name="isDown"></a>QButton::isDown () const
+</h3><p>Returns TRUE if the button is pressed; otherwise returns FALSE.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>bool <a name="isExclusiveToggle"></a>QButton::isExclusiveToggle () const
+</h3><p>Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE.
+See the <a href="qbutton.html#exclusiveToggle-prop">"exclusiveToggle"</a> property for details.
+<h3 class=fn>bool <a name="isOn"></a>QButton::isOn () const
+</h3><p>Returns TRUE if the button is toggled; otherwise returns FALSE.
+See the <a href="qbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>bool <a name="isToggleButton"></a>QButton::isToggleButton () const
+</h3><p>Returns TRUE if the button is a toggle button; otherwise returns FALSE.
+See the <a href="qbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QButton::pixmap () const
+</h3><p>Returns the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="pressed"></a>QButton::pressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is pressed down.
+<p> <p>See also <a href="qbutton.html#released">released</a>() and <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Examples: <a href="httpd-example.html#x724">network/httpd/httpd.cpp</a> and <a href="popup-example.html#x1606">popup/popup.cpp</a>.
+<h3 class=fn>void <a name="released"></a>QButton::released ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the button is released.
+<p> <p>See also <a href="qbutton.html#pressed">pressed</a>(), <a href="qbutton.html#clicked">clicked</a>(), and <a href="qbutton.html#toggled">toggled</a>().
+
+<h3 class=fn>void <a name="setAccel"></a>QButton::setAccel ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the accelerator associated with the button.
+See the <a href="qbutton.html#accel-prop">"accel"</a> property for details.
+<h3 class=fn>void <a name="setAutoRepeat"></a>QButton::setAutoRepeat ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether autoRepeat is enabled.
+See the <a href="qbutton.html#autoRepeat-prop">"autoRepeat"</a> property for details.
+<h3 class=fn>void <a name="setChecked"></a>QRadioButton::setChecked ( bool&nbsp;check )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the radio button is checked to <em>check</em>.
+See the <a href="qradiobutton.html#checked-prop">"checked"</a> property for details.
+<h3 class=fn>void <a name="setDown"></a>QButton::setDown ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the button is pressed.
+See the <a href="qbutton.html#down-prop">"down"</a> property for details.
+<h3 class=fn>void <a name="setPixmap"></a>QButton::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the pixmap shown on the button.
+See the <a href="qbutton.html#pixmap-prop">"pixmap"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QButton::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn><a href="qbutton.html#ToggleState-enum">ToggleState</a> <a name="state"></a>QButton::state () const
+</h3><p>Returns the state of the toggle button.
+See the <a href="qbutton.html#toggleState-prop">"toggleState"</a> property for details.
+<h3 class=fn>void <a name="stateChanged"></a>QButton::stateChanged ( int&nbsp;state )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes state. <em>state</em> is <a href="qbutton.html#ToggleState-enum">On</a> if the button is on, <a href="qbutton.html#ToggleState-enum">NoChange</a> if it is in the
+<a href="qcheckbox.html#setTristate">"no change" state</a> or <a href="qbutton.html#ToggleState-enum">Off</a>
+if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+<a href="qbutton.html#setState">setState</a>(), or because <a href="qbutton.html#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>() and <a href="qbutton.html#ToggleState-enum">QButton::ToggleState</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QButton::text () const
+</h3><p>Returns the text shown on the button.
+See the <a href="qbutton.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QButton::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of a toggle button.
+<p> <p>See also <a href="qbutton.html#on-prop">on</a>, <a href="qbutton.html#setOn">setOn</a>(), <a href="qbutton.html#toggled">toggled</a>(), and <a href="qbutton.html#toggleButton-prop">toggleButton</a>.
+
+<h3 class=fn>void <a name="toggled"></a>QButton::toggled ( bool&nbsp;on )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a toggle button changes status. <em>on</em> is TRUE if the button is on, or FALSE if the button is off.
+<p> This may be the result of a user action, <a href="qbutton.html#toggle">toggle</a>() slot activation,
+or because <a href="qbutton.html#setOn">setOn</a>() was called.
+<p> <p>See also <a href="qbutton.html#clicked">clicked</a>().
+
+<p>Example: <a href="listbox-example.html#x1427">listbox/listbox.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a> <a name="accel-prop"></a>accel</h3>
+<p>This property holds the accelerator associated with the button.
+<p>This property is 0 if there is no accelerator set. If you set this
+property to 0 then any current accelerator is removed.
+
+<p>Set this property's value with <a href="#setAccel">setAccel</a>() and get this property's value with <a href="#accel">accel</a>().
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the radio button is automatically masked.
+<p><p><p>See also <a href="qwidget.html#autoMask-prop">QWidget::autoMask</a>.
+
+<h3 class=fn>bool <a name="autoRepeat-prop"></a>autoRepeat</h3>
+<p>This property holds whether autoRepeat is enabled.
+<p>If autoRepeat is enabled then the <a href="qbutton.html#clicked">clicked</a>() signal is emitted at
+regular intervals if the button is down. This property has no
+effect on toggle buttons. autoRepeat is off by default.
+
+<p>Set this property's value with <a href="#setAutoRepeat">setAutoRepeat</a>() and get this property's value with <a href="#autoRepeat">autoRepeat</a>().
+<h3 class=fn>bool <a name="checked-prop"></a>checked</h3>
+<p>This property holds whether the radio button is checked.
+<p>This property will not effect any other radio buttons unless they
+have been placed in the same <a href="qbuttongroup.html">QButtonGroup</a>. The default value is
+FALSE (unchecked).
+
+<p>Set this property's value with <a href="#setChecked">setChecked</a>() and get this property's value with <a href="#isChecked">isChecked</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3>
+<p>This property holds the pixmap shown on the button.
+<p>If the pixmap is monochrome (i.e. it is a <a href="qbitmap.html">QBitmap</a> or its <a href="qpixmap.html#depth">depth</a> is 1) and it does not have a mask,
+this property will set the pixmap to be its own mask. The purpose
+of this is to draw transparent bitmaps which are important for
+toggle buttons, for example.
+<p> <a href="qbutton.html#pixmap">pixmap</a>() returns 0 if no pixmap was set.
+
+<p>Set this property's value with <a href="#setPixmap">setPixmap</a>() and get this property's value with <a href="#pixmap">pixmap</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the text shown on the button.
+<p>This property will return a <a href="qstring.html#QString-null">QString::null</a> if the button has no
+text. If the text has an ampersand (&amp;) in it, then an
+accelerator is automatically created for it using the character
+that follows the '&amp;' as the accelerator key. Any previous
+accelerator will be overwritten, or cleared if no accelerator is
+defined by the text.
+<p> There is no default text.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrangecontrol-h.html b/doc/html/qrangecontrol-h.html
new file mode 100644
index 0000000..776151f
--- /dev/null
+++ b/doc/html/qrangecontrol-h.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrangecontrol.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qrangecontrol.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qrangecontrol.h</h1>
+
+<p>This is the verbatim text of the qrangecontrol.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qrangecontrol.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QRangeControl class
+**
+** Created : 940427
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QRANGECONTROL_H
+#define QRANGECONTROL_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#include "qframe.h"
+#endif // QT_H
+
+#ifndef QT_NO_RANGECONTROL
+
+
+class QRangeControlPrivate;
+
+
+class Q_EXPORT QRangeControl
+{
+public:
+ QRangeControl();
+ QRangeControl( int minValue, int maxValue,
+ int lineStep, int pageStep, int value );
+ virtual ~QRangeControl();
+ int value() const;
+ void setValue( int );
+ void addPage();
+ void subtractPage();
+ void addLine();
+ void subtractLine();
+
+ int minValue() const;
+ int maxValue() const;
+ void setRange( int minValue, int maxValue );
+ void setMinValue( int minVal );
+ void setMaxValue( int minVal );
+
+ int lineStep() const;
+ int pageStep() const;
+ void setSteps( int line, int page );
+
+ int bound( int ) const;
+
+protected:
+ int positionFromValue( int val, int space ) const;
+ int valueFromPosition( int pos, int space ) const;
+ void directSetValue( int val );
+ int prevValue() const;
+
+ virtual void valueChange();
+ virtual void rangeChange();
+ virtual void stepChange();
+
+private:
+ int minVal, maxVal;
+ int line, page;
+ int val, prevVal;
+
+ QRangeControlPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QRangeControl( const QRangeControl &amp; );
+ QRangeControl &amp;operator=( const QRangeControl &amp; );
+#endif
+};
+
+
+inline int QRangeControl::value() const
+{ return val; }
+
+inline int QRangeControl::prevValue() const
+{ return prevVal; }
+
+inline int QRangeControl::minValue() const
+{ return minVal; }
+
+inline int QRangeControl::maxValue() const
+{ return maxVal; }
+
+inline int QRangeControl::lineStep() const
+{ return line; }
+
+inline int QRangeControl::pageStep() const
+{ return page; }
+
+
+#endif // QT_NO_RANGECONTROL
+
+#ifndef QT_NO_SPINWIDGET
+
+class QSpinWidgetPrivate;
+class Q_EXPORT QSpinWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ QSpinWidget( QWidget* parent=0, const char* name=0 );
+ ~QSpinWidget();
+
+ void setEditWidget( QWidget * widget );
+ QWidget * editWidget();
+
+ QRect upRect() const;
+ QRect downRect() const;
+
+ void setUpEnabled( bool on );
+ void setDownEnabled( bool on );
+
+ bool isUpEnabled() const;
+ bool isDownEnabled() const;
+
+ enum ButtonSymbols { UpDownArrows, PlusMinus };
+ virtual void setButtonSymbols( ButtonSymbols bs );
+ ButtonSymbols buttonSymbols() const;
+
+ void arrange();
+
+signals:
+ void stepUpPressed();
+ void stepDownPressed();
+
+public slots:
+ void stepUp();
+ void stepDown();
+
+protected:
+ void mousePressEvent( QMouseEvent *e );
+ void resizeEvent( QResizeEvent* ev );
+ void mouseReleaseEvent( QMouseEvent *e );
+ void mouseMoveEvent( QMouseEvent *e );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void styleChange( QStyle&amp; );
+ void paintEvent( QPaintEvent * );
+ void enableChanged( bool old );
+ void windowActivationChange( bool );
+
+private slots:
+ void timerDone();
+ void timerDoneEx();
+
+private:
+ QSpinWidgetPrivate * d;
+
+ void updateDisplay();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSpinWidget( const QSpinWidget&amp; );
+ QSpinWidget&amp; operator=( const QSpinWidget&amp; );
+#endif
+};
+
+#endif // QT_NO_SPINWIDGET
+
+#endif // QRANGECONTROL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrangecontrol-members.html b/doc/html/qrangecontrol-members.html
new file mode 100644
index 0000000..4ffff0c
--- /dev/null
+++ b/doc/html/qrangecontrol-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrangecontrol.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRangeControl Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRangeControl</h1>
+
+<p>This is the complete list of member functions for
+<a href="qrangecontrol.html">QRangeControl</a>, including inherited members.
+
+<ul>
+<li><a href="qrangecontrol.html#QRangeControl">QRangeControl</a>()
+<li><a href="qrangecontrol.html#~QRangeControl">~QRangeControl</a>()
+<li><a href="qrangecontrol.html#addLine">addLine</a>()
+<li><a href="qrangecontrol.html#addPage">addPage</a>()
+<li><a href="qrangecontrol.html#bound">bound</a>()
+<li><a href="qrangecontrol.html#directSetValue">directSetValue</a>()
+<li><a href="qrangecontrol.html#lineStep">lineStep</a>()
+<li><a href="qrangecontrol.html#maxValue">maxValue</a>()
+<li><a href="qrangecontrol.html#minValue">minValue</a>()
+<li><a href="qrangecontrol.html#pageStep">pageStep</a>()
+<li><a href="qrangecontrol.html#positionFromValue">positionFromValue</a>()
+<li><a href="qrangecontrol.html#prevValue">prevValue</a>()
+<li><a href="qrangecontrol.html#rangeChange">rangeChange</a>()
+<li><a href="qrangecontrol.html#setMaxValue">setMaxValue</a>()
+<li><a href="qrangecontrol.html#setMinValue">setMinValue</a>()
+<li><a href="qrangecontrol.html#setRange">setRange</a>()
+<li><a href="qrangecontrol.html#setSteps">setSteps</a>()
+<li><a href="qrangecontrol.html#setValue">setValue</a>()
+<li><a href="qrangecontrol.html#stepChange">stepChange</a>()
+<li><a href="qrangecontrol.html#subtractLine">subtractLine</a>()
+<li><a href="qrangecontrol.html#subtractPage">subtractPage</a>()
+<li><a href="qrangecontrol.html#value">value</a>()
+<li><a href="qrangecontrol.html#valueChange">valueChange</a>()
+<li><a href="qrangecontrol.html#valueFromPosition">valueFromPosition</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrangecontrol.html b/doc/html/qrangecontrol.html
new file mode 100644
index 0000000..8e9df9a
--- /dev/null
+++ b/doc/html/qrangecontrol.html
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qrangecontrol.cpp:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRangeControl Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRangeControl Class Reference</h1>
+
+<p>The QRangeControl class provides an integer value within a range.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qrangecontrol-h.html">qrangecontrol.h</a>&gt;</tt>
+<p>Inherited by <a href="qdial.html">QDial</a>, <a href="qscrollbar.html">QScrollBar</a>, <a href="qslider.html">QSlider</a>, and <a href="qspinbox.html">QSpinBox</a>.
+<p><a href="qrangecontrol-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QRangeControl"><b>QRangeControl</b></a> ()</li>
+<li class=fn><a href="#QRangeControl-2"><b>QRangeControl</b></a> ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;lineStep, int&nbsp;pageStep, int&nbsp;value )</li>
+<li class=fn>virtual <a href="#~QRangeControl"><b>~QRangeControl</b></a> ()</li>
+<li class=fn>int <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>void <a href="#setValue"><b>setValue</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#addPage"><b>addPage</b></a> ()</li>
+<li class=fn>void <a href="#subtractPage"><b>subtractPage</b></a> ()</li>
+<li class=fn>void <a href="#addLine"><b>addLine</b></a> ()</li>
+<li class=fn>void <a href="#subtractLine"><b>subtractLine</b></a> ()</li>
+<li class=fn>int <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>void <a href="#setRange"><b>setRange</b></a> ( int&nbsp;minValue, int&nbsp;maxValue )</li>
+<li class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int&nbsp;minVal )</li>
+<li class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int&nbsp;maxVal )</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</li>
+<li class=fn>int <a href="#pageStep"><b>pageStep</b></a> () const</li>
+<li class=fn>void <a href="#setSteps"><b>setSteps</b></a> ( int&nbsp;lineStep, int&nbsp;pageStep )</li>
+<li class=fn>int <a href="#bound"><b>bound</b></a> ( int&nbsp;v ) const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>int <a href="#positionFromValue"><b>positionFromValue</b></a> ( int&nbsp;logical_val, int&nbsp;span ) const</li>
+<li class=fn>int <a href="#valueFromPosition"><b>valueFromPosition</b></a> ( int&nbsp;pos, int&nbsp;span ) const</li>
+<li class=fn>void <a href="#directSetValue"><b>directSetValue</b></a> ( int&nbsp;value )</li>
+<li class=fn>int <a href="#prevValue"><b>prevValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#valueChange"><b>valueChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#rangeChange"><b>rangeChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#stepChange"><b>stepChange</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QRangeControl class provides an integer value within a range.
+<p>
+<p> Although originally designed for the <a href="qscrollbar.html">QScrollBar</a> widget, the
+QRangeControl can also be used in conjunction with other widgets
+such as <a href="qslider.html">QSlider</a> and <a href="qspinbox.html">QSpinBox</a>. Here are the five main concepts in
+the class:
+<p> <ol type=1>
+<p> <li> <em>Current value</em> The bounded integer that
+QRangeControl maintains. <a href="#value">value</a>() returns it, and several
+functions, including <a href="#setValue">setValue</a>(), set it.
+<p> <li> <em>Minimum</em> The lowest value that value() can ever
+return. Returned by <a href="#minValue">minValue</a>() and set by <a href="#setRange">setRange</a>() or one of the
+constructors.
+<p> <li> <em>Maximum</em> The highest value that value() can ever
+return. Returned by <a href="#maxValue">maxValue</a>() and set by setRange() or one of the
+constructors.
+<p> <li> <em>Line step</em> The smaller of two natural steps that
+QRangeControl provides and typically corresponds to the user
+pressing an arrow key. The line step is returned by <a href="#lineStep">lineStep</a>()
+and set using <a href="#setSteps">setSteps</a>(). The functions <a href="#addLine">addLine</a>() and
+<a href="#subtractLine">subtractLine</a>() respectively increment and decrement the current
+value by lineStep().
+<p> <li> <em>Page step</em> The larger of two natural steps that
+QRangeControl provides and typically corresponds to the user
+pressing PageUp or PageDown. The page step is returned by
+<a href="#pageStep">pageStep</a>() and set using setSteps(). The functions <a href="#addPage">addPage</a>() and
+substractPage() respectively increment and decrement the current
+value by pageStep().
+<p> </ol>
+<p> Unity (1) may be viewed as a third step size. <a href="#setValue">setValue</a>() lets you
+set the current value to any integer in the allowed range, not
+just <a href="#minValue">minValue</a>() + <em>n</em> * lineStep() for integer values of <em>n</em>.
+Some widgets may allow the user to set any value at all; others
+may just provide multiples of lineStep() or pageStep().
+<p> QRangeControl provides three virtual functions that are well
+suited for updating the on-screen representation of range controls
+and emitting signals: <a href="#valueChange">valueChange</a>(), <a href="#rangeChange">rangeChange</a>() and
+<a href="#stepChange">stepChange</a>().
+<p> QRangeControl also provides a function called <a href="#bound">bound</a>() which lets
+you force arbitrary integers to be within the allowed range of the
+range control.
+<p> We recommend that all widgets that inherit QRangeControl provide
+at least a signal called valueChanged(); many widgets will want to
+provide addStep(), <a href="#addPage">addPage</a>(), substractStep() and substractPage()
+as slots.
+<p> Note that you must use multiple inheritance if you plan to
+implement a widget using QRangeControl because QRangeControl is
+not derived from <a href="qwidget.html">QWidget</a>.
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRangeControl"></a>QRangeControl::QRangeControl ()
+</h3>
+Constructs a range control with a minimum value of 0, maximum
+value of 99, line step of 1, page step of 10 and initial value 0.
+
+<h3 class=fn><a name="QRangeControl-2"></a>QRangeControl::QRangeControl ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;lineStep, int&nbsp;pageStep, int&nbsp;value )
+</h3>
+Constructs a range control whose value can never be smaller than
+<em>minValue</em> or greater than <em>maxValue</em>, whose line step size is
+<em>lineStep</em> and page step size is <em>pageStep</em> and whose value is
+initially <em>value</em> (which is guaranteed to be in range using
+<a href="#bound">bound</a>()).
+
+<h3 class=fn><a name="~QRangeControl"></a>QRangeControl::~QRangeControl ()<tt> [virtual]</tt>
+</h3>
+Destroys the range control
+
+<h3 class=fn>void <a name="addLine"></a>QRangeControl::addLine ()
+</h3>
+Equivalent to <tt>setValue( value() + lineStep() )</tt>.
+<p> If the value is changed, then <a href="#valueChange">valueChange</a>() is called.
+<p> <p>See also <a href="#subtractLine">subtractLine</a>(), <a href="#addPage">addPage</a>(), and <a href="#setValue">setValue</a>().
+
+<h3 class=fn>void <a name="addPage"></a>QRangeControl::addPage ()
+</h3>
+Equivalent to <tt>setValue( value() + pageStep() )</tt>.
+<p> If the value is changed, then <a href="#valueChange">valueChange</a>() is called.
+<p> <p>See also <a href="#subtractPage">subtractPage</a>(), <a href="#addLine">addLine</a>(), and <a href="#setValue">setValue</a>().
+
+<h3 class=fn>int <a name="bound"></a>QRangeControl::bound ( int&nbsp;v ) const
+</h3>
+Forces the value <em>v</em> to be within the range from <a href="#minValue">minValue</a>() to
+<a href="#maxValue">maxValue</a>() inclusive, and returns the result.
+<p> This function is provided so that you can easily force other
+numbers than <a href="#value">value</a>() into the allowed range. You do not need to
+call it in order to use QRangeControl itself.
+<p> <p>See also <a href="#setValue">setValue</a>(), <a href="#value">value</a>(), <a href="#minValue">minValue</a>(), and <a href="#maxValue">maxValue</a>().
+
+<h3 class=fn>void <a name="directSetValue"></a>QRangeControl::directSetValue ( int&nbsp;value )<tt> [protected]</tt>
+</h3>
+Sets the range control <em>value</em> directly without calling
+<a href="#valueChange">valueChange</a>().
+<p> Forces the new <em>value</em> to be within the legal range.
+<p> You will rarely have to call this function. However, if you want
+to change the range control's value inside the overloaded method
+valueChange(), <a href="#setValue">setValue</a>() would call the function valueChange()
+again. To avoid this recursion you must use <a href="#directSetValue">directSetValue</a>()
+instead.
+<p> <p>See also <a href="#setValue">setValue</a>().
+
+<h3 class=fn>int <a name="lineStep"></a>QRangeControl::lineStep () const
+</h3>
+
+<p> Returns the line step.
+<p> <p>See also <a href="#setSteps">setSteps</a>() and <a href="#pageStep">pageStep</a>().
+
+<h3 class=fn>int <a name="maxValue"></a>QRangeControl::maxValue () const
+</h3>
+
+<p> Returns the maximum value of the range.
+<p> <p>See also <a href="#setMaxValue">setMaxValue</a>(), <a href="#setRange">setRange</a>(), and <a href="#minValue">minValue</a>().
+
+<h3 class=fn>int <a name="minValue"></a>QRangeControl::minValue () const
+</h3>
+
+<p> Returns the minimum value of the range.
+<p> <p>See also <a href="#setMinValue">setMinValue</a>(), <a href="#setRange">setRange</a>(), and <a href="#maxValue">maxValue</a>().
+
+<h3 class=fn>int <a name="pageStep"></a>QRangeControl::pageStep () const
+</h3>
+
+<p> Returns the page step.
+<p> <p>See also <a href="#setSteps">setSteps</a>() and <a href="#lineStep">lineStep</a>().
+
+<h3 class=fn>int <a name="positionFromValue"></a>QRangeControl::positionFromValue ( int&nbsp;logical_val, int&nbsp;span ) const<tt> [protected]</tt>
+</h3>
+Converts <em>logical_val</em> to a pixel position. <a href="#minValue">minValue</a>() maps to 0,
+<a href="#maxValue">maxValue</a>() maps to <em>span</em> and other values are distributed evenly
+in-between.
+<p> This function can handle the entire integer range without
+overflow, providing <em>span</em> is &lt;= 4096.
+<p> Calling this method is useful when actually drawing a range
+control such as a <a href="qscrollbar.html">QScrollBar</a> on-screen.
+<p> <p>See also <a href="#valueFromPosition">valueFromPosition</a>().
+
+<h3 class=fn>int <a name="prevValue"></a>QRangeControl::prevValue () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns the previous value of the range control. "Previous value"
+means the value before the last change occurred. Setting a new
+range may affect the value, too, because the value is forced to be
+inside the specified range. When the range control is initially
+created, this is the same as <a href="#value">value</a>().
+<p> <a href="#prevValue">prevValue</a>() can be outside the current legal range if a call to
+<a href="#setRange">setRange</a>() causes the current value to change. For example, if the
+range was [0, 1000] and the current value is 500, setRange(0, 400)
+makes value() return 400 and prevValue() return 500.
+<p> <p>See also <a href="#value">value</a>() and <a href="#setRange">setRange</a>().
+
+<h3 class=fn>void <a name="rangeChange"></a>QRangeControl::rangeChange ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called whenever the range control's range
+changes. You can reimplement it if you want to be notified when
+the range changes. The default implementation does nothing.
+<p> Note that this method is called after the range has changed.
+<p> <p>See also <a href="#setRange">setRange</a>(), <a href="#valueChange">valueChange</a>(), and <a href="#stepChange">stepChange</a>().
+
+<p>Reimplemented in <a href="qdial.html#rangeChange">QDial</a>, <a href="qslider.html#rangeChange">QSlider</a>, and <a href="qspinbox.html#rangeChange">QSpinBox</a>.
+<h3 class=fn>void <a name="setMaxValue"></a>QRangeControl::setMaxValue ( int&nbsp;maxVal )
+</h3>
+Sets the minimum value of the range to <em>maxVal</em>.
+<p> If necessary, the <a href="#minValue">minValue</a>() is adjusted so that the range remains
+valid.
+<p> <p>See also <a href="#maxValue">maxValue</a>() and <a href="#setMinValue">setMinValue</a>().
+
+<h3 class=fn>void <a name="setMinValue"></a>QRangeControl::setMinValue ( int&nbsp;minVal )
+</h3>
+Sets the minimum value of the range to <em>minVal</em>.
+<p> If necessary, the <a href="#maxValue">maxValue</a>() is adjusted so that the range remains
+valid.
+<p> <p>See also <a href="#minValue">minValue</a>() and <a href="#setMaxValue">setMaxValue</a>().
+
+<h3 class=fn>void <a name="setRange"></a>QRangeControl::setRange ( int&nbsp;minValue, int&nbsp;maxValue )
+</h3>
+Sets the range control's minimum value to <em>minValue</em> and its
+maximum value to <em>maxValue</em>.
+<p> Calls the virtual <a href="#rangeChange">rangeChange</a>() function if one or both of the new
+minimum and maximum values are different from the previous
+setting. Calls the virtual <a href="#valueChange">valueChange</a>() function if the current
+value is adjusted because it was outside the new range.
+<p> If <em>maxValue</em> is smaller than <em>minValue</em>, <em>minValue</em> becomes
+the only legal value.
+<p> <p>See also <a href="#minValue">minValue</a>() and <a href="#maxValue">maxValue</a>().
+
+<p>Examples: <a href="listbox-example.html#x1441">listbox/listbox.cpp</a>, <a href="tutorial1-12.html#x2387">t12/lcdrange.cpp</a>, <a href="tutorial1-05.html#x2315">t5/main.cpp</a>, <a href="tutorial1-06.html#x2325">t6/main.cpp</a>, <a href="tutorial1-08.html#x2334">t8/lcdrange.cpp</a>, and <a href="xform-example.html#x1250">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setSteps"></a>QRangeControl::setSteps ( int&nbsp;lineStep, int&nbsp;pageStep )
+</h3>
+Sets the range's line step to <em>lineStep</em> and page step to <em>pageStep</em>.
+<p> Calls the virtual <a href="#stepChange">stepChange</a>() function if the new line step
+or page step are different from the previous settings.
+<p> <p>See also <a href="#lineStep">lineStep</a>(), <a href="#pageStep">pageStep</a>(), and <a href="#setRange">setRange</a>().
+
+<h3 class=fn>void <a name="setValue"></a>QRangeControl::setValue ( int&nbsp;value )
+</h3>
+Sets the range control's value to <em>value</em> and forces it to be
+within the legal range.
+<p> Calls the virtual <a href="#valueChange">valueChange</a>() function if the new value is
+different from the previous value. The old value can still be
+retrieved using <a href="#prevValue">prevValue</a>().
+<p> <p>See also <a href="#value">value</a>().
+
+<h3 class=fn>void <a name="stepChange"></a>QRangeControl::stepChange ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called whenever the range control's
+line or page step settings change. You can reimplement it if you
+want to be notified when the step changes. The default
+implementation does nothing.
+<p> Note that this method is called after a step setting has changed.
+<p> <p>See also <a href="#setSteps">setSteps</a>(), <a href="#rangeChange">rangeChange</a>(), and <a href="#valueChange">valueChange</a>().
+
+<h3 class=fn>void <a name="subtractLine"></a>QRangeControl::subtractLine ()
+</h3>
+Equivalent to <tt>setValue( value() - lineStep() )</tt>.
+<p> If the value is changed, then <a href="#valueChange">valueChange</a>() is called.
+<p> <p>See also <a href="#addLine">addLine</a>(), <a href="#subtractPage">subtractPage</a>(), and <a href="#setValue">setValue</a>().
+
+<h3 class=fn>void <a name="subtractPage"></a>QRangeControl::subtractPage ()
+</h3>
+Equivalent to <tt>setValue( value() - pageStep() )</tt>.
+<p> If the value is changed, then <a href="#valueChange">valueChange</a>() is called.
+<p> <p>See also <a href="#addPage">addPage</a>(), <a href="#subtractLine">subtractLine</a>(), and <a href="#setValue">setValue</a>().
+
+<h3 class=fn>int <a name="value"></a>QRangeControl::value () const
+</h3>
+
+<p> Returns the current range control value. This is guaranteed to be
+within the range [minValue(), <a href="#maxValue">maxValue</a>()].
+<p> <p>See also <a href="#setValue">setValue</a>() and <a href="#prevValue">prevValue</a>().
+
+<h3 class=fn>void <a name="valueChange"></a>QRangeControl::valueChange ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called whenever the range control value
+changes. You can reimplement it if you want to be notified when
+the value changes. The default implementation does nothing.
+<p> Note that this method is called after the value has changed. The
+previous value can be retrieved using <a href="#prevValue">prevValue</a>().
+<p> <p>See also <a href="#setValue">setValue</a>(), <a href="#addPage">addPage</a>(), <a href="#subtractPage">subtractPage</a>(), <a href="#addLine">addLine</a>(), <a href="#subtractLine">subtractLine</a>(), <a href="#rangeChange">rangeChange</a>(), and <a href="#stepChange">stepChange</a>().
+
+<p>Reimplemented in <a href="qdial.html#valueChange">QDial</a>, <a href="qslider.html#valueChange">QSlider</a>, and <a href="qspinbox.html#valueChange">QSpinBox</a>.
+<h3 class=fn>int <a name="valueFromPosition"></a>QRangeControl::valueFromPosition ( int&nbsp;pos, int&nbsp;span ) const<tt> [protected]</tt>
+</h3>
+Converts the pixel position <em>pos</em> to a value. 0 maps to
+<a href="#minValue">minValue</a>(), <em>span</em> maps to <a href="#maxValue">maxValue</a>() and other values are
+distributed evenly in-between.
+<p> This function can handle the entire integer range without
+overflow.
+<p> Calling this method is useful if you actually implemented a range
+control widget such as <a href="qscrollbar.html">QScrollBar</a> and want to handle mouse press
+events. This function then maps screen coordinates to the logical
+values.
+<p> <p>See also <a href="#positionFromValue">positionFromValue</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrect-h.html b/doc/html/qrect-h.html
new file mode 100644
index 0000000..3f7ab65
--- /dev/null
+++ b/doc/html/qrect-h.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrect.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qrect.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qrect.h</h1>
+
+<p>This is the verbatim text of the qrect.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qrect.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QRect class
+**
+** Created : 931028
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QRECT_H
+#define QRECT_H
+
+#ifndef QT_H
+#include "qsize.h"
+#endif // QT_H
+
+#if defined(topLeft)
+#error "Macro definition of topLeft conflicts with QRect"
+// don't just silently undo people's defines: #undef topLeft
+#endif
+
+class Q_EXPORT QRect // rectangle class
+{
+public:
+ QRect() { x1 = y1 = 0; x2 = y2 = -1; }
+ QRect( const QPoint &amp;topleft, const QPoint &amp;bottomright );
+ QRect( const QPoint &amp;topleft, const QSize &amp;size );
+ QRect( int left, int top, int width, int height );
+
+ bool isNull() const;
+ bool isEmpty() const;
+ bool isValid() const;
+ QRect normalize() const;
+
+ int left() const;
+ int top() const;
+ int right() const;
+ int bottom() const;
+
+ QCOORD &amp;rLeft();
+ QCOORD &amp;rTop();
+ QCOORD &amp;rRight();
+ QCOORD &amp;rBottom();
+
+ int x() const;
+ int y() const;
+ void setLeft( int pos );
+ void setTop( int pos );
+ void setRight( int pos );
+ void setBottom( int pos );
+ void setX( int x );
+ void setY( int y );
+
+ void setTopLeft( const QPoint &amp;p );
+ void setBottomRight( const QPoint &amp;p );
+ void setTopRight( const QPoint &amp;p );
+ void setBottomLeft( const QPoint &amp;p );
+
+ QPoint topLeft() const;
+ QPoint bottomRight() const;
+ QPoint topRight() const;
+ QPoint bottomLeft() const;
+ QPoint center() const;
+
+ void rect( int *x, int *y, int *w, int *h ) const;
+ void coords( int *x1, int *y1, int *x2, int *y2 ) const;
+
+ void moveLeft( int pos );
+ void moveTop( int pos );
+ void moveRight( int pos );
+ void moveBottom( int pos );
+ void moveTopLeft( const QPoint &amp;p );
+ void moveBottomRight( const QPoint &amp;p );
+ void moveTopRight( const QPoint &amp;p );
+ void moveBottomLeft( const QPoint &amp;p );
+ void moveCenter( const QPoint &amp;p );
+ void moveBy( int dx, int dy );
+
+ void setRect( int x, int y, int w, int h );
+ void setCoords( int x1, int y1, int x2, int y2 );
+ void addCoords( int x1, int y1, int x2, int y2 );
+
+ QSize size() const;
+ int width() const;
+ int height() const;
+ void setWidth( int w );
+ void setHeight( int h );
+ void setSize( const QSize &amp;s );
+
+ QRect operator|(const QRect &amp;r) const;
+ QRect operator&amp;(const QRect &amp;r) const;
+ QRect&amp; operator|=(const QRect &amp;r);
+ QRect&amp; operator&amp;=(const QRect &amp;r);
+
+ bool contains( const QPoint &amp;p, bool proper=FALSE ) const;
+ bool contains( int x, int y ) const; // inline methods, _don't_ merge these
+ bool contains( int x, int y, bool proper ) const;
+ bool contains( const QRect &amp;r, bool proper=FALSE ) const;
+ QRect unite( const QRect &amp;r ) const;
+ QRect intersect( const QRect &amp;r ) const;
+ bool intersects( const QRect &amp;r ) const;
+
+ friend Q_EXPORT bool operator==( const QRect &amp;, const QRect &amp; );
+ friend Q_EXPORT bool operator!=( const QRect &amp;, const QRect &amp; );
+
+private:
+#if defined(Q_WS_X11) || defined(Q_OS_TEMP)
+ friend void qt_setCoords( QRect *r, int xp1, int yp1, int xp2, int yp2 );
+#endif
+#if defined(Q_OS_MAC)
+ QCOORD y1;
+ QCOORD x1;
+ QCOORD y2;
+ QCOORD x2;
+#else
+ QCOORD x1;
+ QCOORD y1;
+ QCOORD x2;
+ QCOORD y2;
+#endif
+};
+
+Q_EXPORT bool operator==( const QRect &amp;, const QRect &amp; );
+Q_EXPORT bool operator!=( const QRect &amp;, const QRect &amp; );
+
+
+/*****************************************************************************
+ QRect stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QRect &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QRect &amp; );
+#endif
+
+/*****************************************************************************
+ QRect inline member functions
+ *****************************************************************************/
+
+inline QRect::QRect( int left, int top, int width, int height )
+{
+ x1 = (QCOORD)left;
+ y1 = (QCOORD)top;
+ x2 = (QCOORD)(left+width-1);
+ y2 = (QCOORD)(top+height-1);
+}
+
+inline bool QRect::isNull() const
+{ return x2 == x1-1 &amp;&amp; y2 == y1-1; }
+
+inline bool QRect::isEmpty() const
+{ return x1 &gt; x2 || y1 &gt; y2; }
+
+inline bool QRect::isValid() const
+{ return x1 &lt;= x2 &amp;&amp; y1 &lt;= y2; }
+
+inline int QRect::left() const
+{ return x1; }
+
+inline int QRect::top() const
+{ return y1; }
+
+inline int QRect::right() const
+{ return x2; }
+
+inline int QRect::bottom() const
+{ return y2; }
+
+inline QCOORD &amp;QRect::rLeft()
+{ return x1; }
+
+inline QCOORD &amp; QRect::rTop()
+{ return y1; }
+
+inline QCOORD &amp; QRect::rRight()
+{ return x2; }
+
+inline QCOORD &amp; QRect::rBottom()
+{ return y2; }
+
+inline int QRect::x() const
+{ return x1; }
+
+inline int QRect::y() const
+{ return y1; }
+
+inline void QRect::setLeft( int pos )
+{ x1 = (QCOORD)pos; }
+
+inline void QRect::setTop( int pos )
+{ y1 = (QCOORD)pos; }
+
+inline void QRect::setRight( int pos )
+{ x2 = (QCOORD)pos; }
+
+inline void QRect::setBottom( int pos )
+{ y2 = (QCOORD)pos; }
+
+inline void QRect::setX( int x )
+{ x1 = (QCOORD)x; }
+
+inline void QRect::setY( int y )
+{ y1 = (QCOORD)y; }
+
+inline QPoint QRect::topLeft() const
+{ return QPoint(x1, y1); }
+
+inline QPoint QRect::bottomRight() const
+{ return QPoint(x2, y2); }
+
+inline QPoint QRect::topRight() const
+{ return QPoint(x2, y1); }
+
+inline QPoint QRect::bottomLeft() const
+{ return QPoint(x1, y2); }
+
+inline QPoint QRect::center() const
+{ return QPoint((x1+x2)/2, (y1+y2)/2); }
+
+inline int QRect::width() const
+{ return x2 - x1 + 1; }
+
+inline int QRect::height() const
+{ return y2 - y1 + 1; }
+
+inline QSize QRect::size() const
+{ return QSize(x2-x1+1, y2-y1+1); }
+
+inline bool QRect::contains( int x, int y, bool proper ) const
+{
+ if ( proper )
+ return x &gt; x1 &amp;&amp; x &lt; x2 &amp;&amp;
+ y &gt; y1 &amp;&amp; y &lt; y2;
+ else
+ return x &gt;= x1 &amp;&amp; x &lt;= x2 &amp;&amp;
+ y &gt;= y1 &amp;&amp; y &lt;= y2;
+}
+
+inline bool QRect::contains( int x, int y ) const
+{
+ return x &gt;= x1 &amp;&amp; x &lt;= x2 &amp;&amp;
+ y &gt;= y1 &amp;&amp; y &lt;= y2;
+}
+#define Q_DEFINED_QRECT
+#include "qwinexport.h"
+#endif // QRECT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrect-members.html b/doc/html/qrect-members.html
new file mode 100644
index 0000000..743a4e1
--- /dev/null
+++ b/doc/html/qrect-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrect.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRect Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRect</h1>
+
+<p>This is the complete list of member functions for
+<a href="qrect.html">QRect</a>, including inherited members.
+
+<ul>
+<li><a href="qrect.html#QRect">QRect</a>()
+<li><a href="qrect.html#addCoords">addCoords</a>()
+<li><a href="qrect.html#bottom">bottom</a>()
+<li><a href="qrect.html#bottomLeft">bottomLeft</a>()
+<li><a href="qrect.html#bottomRight">bottomRight</a>()
+<li><a href="qrect.html#center">center</a>()
+<li><a href="qrect.html#contains">contains</a>()
+<li><a href="qrect.html#coords">coords</a>()
+<li><a href="qrect.html#height">height</a>()
+<li><a href="qrect.html#intersect">intersect</a>()
+<li><a href="qrect.html#intersects">intersects</a>()
+<li><a href="qrect.html#isEmpty">isEmpty</a>()
+<li><a href="qrect.html#isNull">isNull</a>()
+<li><a href="qrect.html#isValid">isValid</a>()
+<li><a href="qrect.html#left">left</a>()
+<li><a href="qrect.html#moveBottom">moveBottom</a>()
+<li><a href="qrect.html#moveBottomLeft">moveBottomLeft</a>()
+<li><a href="qrect.html#moveBottomRight">moveBottomRight</a>()
+<li><a href="qrect.html#moveBy">moveBy</a>()
+<li><a href="qrect.html#moveCenter">moveCenter</a>()
+<li><a href="qrect.html#moveLeft">moveLeft</a>()
+<li><a href="qrect.html#moveRight">moveRight</a>()
+<li><a href="qrect.html#moveTop">moveTop</a>()
+<li><a href="qrect.html#moveTopLeft">moveTopLeft</a>()
+<li><a href="qrect.html#moveTopRight">moveTopRight</a>()
+<li><a href="qrect.html#normalize">normalize</a>()
+<li><a href="qrect.html#operator-and">operator&amp;</a>()
+<li><a href="qrect.html#operator-and-eq">operator&amp;=</a>()
+<li><a href="qrect.html#operator|">operator|</a>()
+<li><a href="qrect.html#operator|-eq">operator|=</a>()
+<li><a href="qrect.html#rBottom">rBottom</a>()
+<li><a href="qrect.html#rLeft">rLeft</a>()
+<li><a href="qrect.html#rRight">rRight</a>()
+<li><a href="qrect.html#rTop">rTop</a>()
+<li><a href="qrect.html#rect">rect</a>()
+<li><a href="qrect.html#right">right</a>()
+<li><a href="qrect.html#setBottom">setBottom</a>()
+<li><a href="qrect.html#setBottomLeft">setBottomLeft</a>()
+<li><a href="qrect.html#setBottomRight">setBottomRight</a>()
+<li><a href="qrect.html#setCoords">setCoords</a>()
+<li><a href="qrect.html#setHeight">setHeight</a>()
+<li><a href="qrect.html#setLeft">setLeft</a>()
+<li><a href="qrect.html#setRect">setRect</a>()
+<li><a href="qrect.html#setRight">setRight</a>()
+<li><a href="qrect.html#setSize">setSize</a>()
+<li><a href="qrect.html#setTop">setTop</a>()
+<li><a href="qrect.html#setTopLeft">setTopLeft</a>()
+<li><a href="qrect.html#setTopRight">setTopRight</a>()
+<li><a href="qrect.html#setWidth">setWidth</a>()
+<li><a href="qrect.html#setX">setX</a>()
+<li><a href="qrect.html#setY">setY</a>()
+<li><a href="qrect.html#size">size</a>()
+<li><a href="qrect.html#top">top</a>()
+<li><a href="qrect.html#topLeft">topLeft</a>()
+<li><a href="qrect.html#topRight">topRight</a>()
+<li><a href="qrect.html#unite">unite</a>()
+<li><a href="qrect.html#width">width</a>()
+<li><a href="qrect.html#x">x</a>()
+<li><a href="qrect.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrect.html b/doc/html/qrect.html
new file mode 100644
index 0000000..79eba79
--- /dev/null
+++ b/doc/html/qrect.html
@@ -0,0 +1,645 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qrect.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRect Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRect Class Reference</h1>
+
+<p>The QRect class defines a rectangle in the plane.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qrect-h.html">qrect.h</a>&gt;</tt>
+<p><a href="qrect-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QRect"><b>QRect</b></a> ()</li>
+<li class=fn><a href="#QRect-2"><b>QRect</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;topLeft, const&nbsp;QPoint&nbsp;&amp;&nbsp;bottomRight )</li>
+<li class=fn><a href="#QRect-3"><b>QRect</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;topLeft, const&nbsp;QSize&nbsp;&amp;&nbsp;size )</li>
+<li class=fn><a href="#QRect-4"><b>QRect</b></a> ( int&nbsp;left, int&nbsp;top, int&nbsp;width, int&nbsp;height )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QRect <a href="#normalize"><b>normalize</b></a> () const</li>
+<li class=fn>int <a href="#left"><b>left</b></a> () const</li>
+<li class=fn>int <a href="#top"><b>top</b></a> () const</li>
+<li class=fn>int <a href="#right"><b>right</b></a> () const</li>
+<li class=fn>int <a href="#bottom"><b>bottom</b></a> () const</li>
+<li class=fn>QCOORD &amp; <a href="#rLeft"><b>rLeft</b></a> ()</li>
+<li class=fn>QCOORD &amp; <a href="#rTop"><b>rTop</b></a> ()</li>
+<li class=fn>QCOORD &amp; <a href="#rRight"><b>rRight</b></a> ()</li>
+<li class=fn>QCOORD &amp; <a href="#rBottom"><b>rBottom</b></a> ()</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>void <a href="#setLeft"><b>setLeft</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#setTop"><b>setTop</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#setRight"><b>setRight</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#setBottom"><b>setBottom</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#setX"><b>setX</b></a> ( int&nbsp;x )</li>
+<li class=fn>void <a href="#setY"><b>setY</b></a> ( int&nbsp;y )</li>
+<li class=fn>void <a href="#setTopLeft"><b>setTopLeft</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#setBottomRight"><b>setBottomRight</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#setTopRight"><b>setTopRight</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#setBottomLeft"><b>setBottomLeft</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>QPoint <a href="#topLeft"><b>topLeft</b></a> () const</li>
+<li class=fn>QPoint <a href="#bottomRight"><b>bottomRight</b></a> () const</li>
+<li class=fn>QPoint <a href="#topRight"><b>topRight</b></a> () const</li>
+<li class=fn>QPoint <a href="#bottomLeft"><b>bottomLeft</b></a> () const</li>
+<li class=fn>QPoint <a href="#center"><b>center</b></a> () const</li>
+<li class=fn>void <a href="#rect"><b>rect</b></a> ( int&nbsp;*&nbsp;x, int&nbsp;*&nbsp;y, int&nbsp;*&nbsp;w, int&nbsp;*&nbsp;h ) const</li>
+<li class=fn>void <a href="#coords"><b>coords</b></a> ( int&nbsp;*&nbsp;xp1, int&nbsp;*&nbsp;yp1, int&nbsp;*&nbsp;xp2, int&nbsp;*&nbsp;yp2 ) const</li>
+<li class=fn>void <a href="#moveLeft"><b>moveLeft</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#moveTop"><b>moveTop</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#moveRight"><b>moveRight</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#moveBottom"><b>moveBottom</b></a> ( int&nbsp;pos )</li>
+<li class=fn>void <a href="#moveTopLeft"><b>moveTopLeft</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#moveBottomRight"><b>moveBottomRight</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#moveTopRight"><b>moveTopRight</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#moveBottomLeft"><b>moveBottomLeft</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#moveCenter"><b>moveCenter</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>void <a href="#moveBy"><b>moveBy</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>void <a href="#setRect"><b>setRect</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#setCoords"><b>setCoords</b></a> ( int&nbsp;xp1, int&nbsp;yp1, int&nbsp;xp2, int&nbsp;yp2 )</li>
+<li class=fn>void <a href="#addCoords"><b>addCoords</b></a> ( int&nbsp;xp1, int&nbsp;yp1, int&nbsp;xp2, int&nbsp;yp2 )</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>void <a href="#setWidth"><b>setWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>void <a href="#setHeight"><b>setHeight</b></a> ( int&nbsp;h )</li>
+<li class=fn>void <a href="#setSize"><b>setSize</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QRect <a href="#operator|"><b>operator|</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRect <a href="#operator-and"><b>operator&amp;</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRect &amp; <a href="#operator|-eq"><b>operator|=</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QRect &amp; <a href="#operator-and-eq"><b>operator&amp;=</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, bool&nbsp;proper = FALSE ) const</li>
+<li class=fn>bool <a href="#contains-2"><b>contains</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>bool <a href="#contains-3"><b>contains</b></a> ( int&nbsp;x, int&nbsp;y, bool&nbsp;proper ) const</li>
+<li class=fn>bool <a href="#contains-4"><b>contains</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, bool&nbsp;proper = FALSE ) const</li>
+<li class=fn>QRect <a href="#unite"><b>unite</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRect <a href="#intersect"><b>intersect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>bool <a href="#intersects"><b>intersects</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r1, const&nbsp;QRect&nbsp;&amp;&nbsp;r2 )</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r1, const&nbsp;QRect&nbsp;&amp;&nbsp;r2 )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QRect class defines a rectangle in the plane.
+<p>
+
+
+<p> A rectangle is internally represented as an upper-left corner and
+a bottom-right corner, but it is normally expressed as an
+upper-left corner and a size.
+<p> The coordinate type is QCOORD (defined in <a href="qwindowdefs-h.html">qwindowdefs.h</a> as <tt>int</tt>). The minimum value of QCOORD is QCOORD_MIN (-2147483648) and
+the maximum value is QCOORD_MAX (2147483647).
+<p> Note that the size (width and height) of a rectangle might be
+different from what you are used to. If the top-left corner and
+the bottom-right corner are the same, the height and the width of
+the rectangle will both be 1.
+<p> Generally, <em>width = right - left + 1</em> and <em>height = bottom - top + 1</em>. We designed it this way to make it correspond to
+rectangular spaces used by drawing functions in which the width
+and height denote a number of pixels. For example, drawing a
+rectangle with width and height 1 draws a single pixel.
+<p> The default coordinate system has origin (0, 0) in the top-left
+corner. The positive direction of the y axis is down, and the
+positive x axis is from left to right.
+<p> A QRect can be constructed with a set of left, top, width and
+height integers, from two QPoints or from a <a href="qpoint.html">QPoint</a> and a <a href="qsize.html">QSize</a>.
+After creation the dimensions can be changed, e.g. with <a href="#setLeft">setLeft</a>(),
+<a href="#setRight">setRight</a>(), <a href="#setTop">setTop</a>() and <a href="#setBottom">setBottom</a>(), or by setting sizes, e.g.
+<a href="#setWidth">setWidth</a>(), <a href="#setHeight">setHeight</a>() and <a href="#setSize">setSize</a>(). The dimensions can also be
+changed with the move functions, e.g. <a href="#moveBy">moveBy</a>(), <a href="#moveCenter">moveCenter</a>(),
+<a href="#moveBottomRight">moveBottomRight</a>(), etc. You can also add coordinates to a
+rectangle with <a href="#addCoords">addCoords</a>().
+<p> You can test to see if a QRect contains a specific point with
+<a href="#contains">contains</a>(). You can also test to see if two QRects intersect with
+<a href="#intersects">intersects</a>() (see also <a href="#intersect">intersect</a>()). To get the bounding rectangle
+of two QRects use <a href="#unite">unite</a>().
+<p> <p>See also <a href="qpoint.html">QPoint</a>, <a href="qsize.html">QSize</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRect"></a>QRect::QRect ()
+</h3>
+
+<p> Constructs an invalid rectangle.
+
+<h3 class=fn><a name="QRect-2"></a>QRect::QRect ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;topLeft, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;bottomRight )
+</h3>
+Constructs a rectangle with <em>topLeft</em> as the top-left corner and
+<em>bottomRight</em> as the bottom-right corner.
+
+<h3 class=fn><a name="QRect-3"></a>QRect::QRect ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;topLeft, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size )
+</h3>
+Constructs a rectangle with <em>topLeft</em> as the top-left corner and
+<em>size</em> as the rectangle size.
+
+<h3 class=fn><a name="QRect-4"></a>QRect::QRect ( int&nbsp;left, int&nbsp;top, int&nbsp;width, int&nbsp;height )
+</h3>
+
+<p> Constructs a rectangle with the <em>top</em>, <em>left</em> corner and <em>width</em> and <em>height</em>.
+<p> Example (creates three identical rectangles):
+<pre>
+ QRect r1( QPoint(100,200), QPoint(110,215) );
+ QRect r2( QPoint(100,200), QSize(11,16) );
+ QRect r3( 100, 200, 11, 16 );
+ </pre>
+
+
+<h3 class=fn>void <a name="addCoords"></a>QRect::addCoords ( int&nbsp;xp1, int&nbsp;yp1, int&nbsp;xp2, int&nbsp;yp2 )
+</h3>
+Adds <em>xp1</em>, <em>yp1</em>, <em>xp2</em> and <em>yp2</em> respectively to the
+existing coordinates of the rectangle.
+
+<p>Examples: <a href="qaxserver-example-multiple.html#x2544">multiple/ax1.h</a> and <a href="qaxserver-example-multiple.html#x2549">multiple/ax2.h</a>.
+<h3 class=fn>int <a name="bottom"></a>QRect::bottom () const
+</h3>
+
+<p> Returns the bottom coordinate of the rectangle.
+<p> <p>See also <a href="#setBottom">setBottom</a>(), <a href="#top">top</a>(), <a href="#bottomLeft">bottomLeft</a>(), and <a href="#bottomRight">bottomRight</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1152">action/application.cpp</a>, <a href="simple-application-example.html#x1570">application/application.cpp</a>, <a href="desktop-example.html#x1748">desktop/desktop.cpp</a>, <a href="helpviewer-example.html#x1008">helpviewer/helpwindow.cpp</a>, <a href="qfd-example.html#x2003">qfd/fontdisplayer.cpp</a>, <a href="scribble-example.html#x925">scribble/scribble.cpp</a>, and <a href="themes-example.html#x236">themes/wood.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="bottomLeft"></a>QRect::bottomLeft () const
+</h3>
+
+<p> Returns the bottom-left position of the rectangle.
+<p> <p>See also <a href="#setBottomLeft">setBottomLeft</a>(), <a href="#moveBottomLeft">moveBottomLeft</a>(), <a href="#topRight">topRight</a>(), <a href="#bottom">bottom</a>(), and <a href="#left">left</a>().
+
+<p>Example: <a href="tictac-example.html#x32">tictac/tictac.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="bottomRight"></a>QRect::bottomRight () const
+</h3>
+
+<p> Returns the bottom-right position of the rectangle.
+<p> <p>See also <a href="#setBottomRight">setBottomRight</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), <a href="#topLeft">topLeft</a>(), <a href="#right">right</a>(), and <a href="#bottom">bottom</a>().
+
+<p>Example: <a href="tictac-example.html#x33">tictac/tictac.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="center"></a>QRect::center () const
+</h3>
+
+<p> Returns the center point of the rectangle.
+<p> <p>See also <a href="#moveCenter">moveCenter</a>(), <a href="#topLeft">topLeft</a>(), <a href="#bottomRight">bottomRight</a>(), <a href="#topRight">topRight</a>(), and <a href="#bottomLeft">bottomLeft</a>().
+
+<p>Example: <a href="tooltip-example.html#x447">tooltip/tooltip.cpp</a>.
+<h3 class=fn>bool <a name="contains"></a>QRect::contains ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, bool&nbsp;proper = FALSE ) const
+</h3>
+Returns TRUE if the point <em>p</em> is inside or on the edge of the
+rectangle; otherwise returns FALSE.
+<p> If <em>proper</em> is TRUE, this function returns TRUE only if <em>p</em> is
+inside (not on the edge).
+
+<p>Example: <a href="tutorial1-14.html#x2426">t14/cannon.cpp</a>.
+<h3 class=fn>bool <a name="contains-2"></a>QRect::contains ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the point <em>x</em>, <em>y</em> is inside this rectangle;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="contains-3"></a>QRect::contains ( int&nbsp;x, int&nbsp;y, bool&nbsp;proper ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the point <em>x</em>, <em>y</em> is inside this rectangle;
+otherwise returns FALSE.
+<p> If <em>proper</em> is TRUE, this function returns TRUE only if the point
+is entirely inside (not on the edge).
+
+<h3 class=fn>bool <a name="contains-4"></a>QRect::contains ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, bool&nbsp;proper = FALSE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the rectangle <em>r</em> is inside this rectangle;
+otherwise returns FALSE.
+<p> If <em>proper</em> is TRUE, this function returns TRUE only if <em>r</em> is
+entirely inside (not on the edge).
+<p> <p>See also <a href="#unite">unite</a>(), <a href="#intersect">intersect</a>(), and <a href="#intersects">intersects</a>().
+
+<h3 class=fn>void <a name="coords"></a>QRect::coords ( int&nbsp;*&nbsp;xp1, int&nbsp;*&nbsp;yp1, int&nbsp;*&nbsp;xp2, int&nbsp;*&nbsp;yp2 ) const
+</h3>
+Extracts the rectangle parameters as the top-left point <em>*xp1</em>,
+<em>*yp1</em> and the bottom-right point <em>*xp2</em>, <em>*yp2</em>.
+<p> <p>See also <a href="#setCoords">setCoords</a>() and <a href="#rect">rect</a>().
+
+<p>Examples: <a href="themes-example.html#x297">themes/metal.cpp</a> and <a href="themes-example.html#x237">themes/wood.cpp</a>.
+<h3 class=fn>int <a name="height"></a>QRect::height () const
+</h3>
+
+<p> Returns the height of the rectangle. The height includes both the
+top and bottom edges, i.e. height = bottom - top + 1.
+<p> <p>See also <a href="#width">width</a>(), <a href="#size">size</a>(), and <a href="#setHeight">setHeight</a>().
+
+<p>Examples: <a href="coordsys.html#x2279">aclock/aclock.cpp</a>, <a href="desktop-example.html#x1749">desktop/desktop.cpp</a>, <a href="movies-example.html#x515">movies/main.cpp</a>, <a href="scribble-example.html#x926">scribble/scribble.cpp</a>, <a href="themes-example.html#x298">themes/metal.cpp</a>, <a href="themes-example.html#x238">themes/wood.cpp</a>, and <a href="xform-example.html#x1251">xform/xform.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="intersect"></a>QRect::intersect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns the intersection of this rectangle and rectangle <em>r</em>.
+<tt>r.intersect(s)</tt> is equivalent to <tt>r&amp;s</tt>.
+
+<h3 class=fn>bool <a name="intersects"></a>QRect::intersects ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns TRUE if this rectangle intersects with rectangle <em>r</em>
+(there is at least one pixel that is within both rectangles);
+otherwise returns FALSE.
+<p> <p>See also <a href="#intersect">intersect</a>() and <a href="#contains">contains</a>().
+
+<p>Examples: <a href="tutorial1-11.html#x2370">t11/cannon.cpp</a>, <a href="tutorial1-12.html#x2393">t12/cannon.cpp</a>, <a href="tutorial1-13.html#x2406">t13/cannon.cpp</a>, and <a href="tutorial1-14.html#x2427">t14/cannon.cpp</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QRect::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the rectangle is empty; otherwise returns FALSE.
+<p> An empty rectangle has a <a href="#left">left</a>() &gt; <a href="#right">right</a>() or <a href="#top">top</a>() &gt; <a href="#bottom">bottom</a>().
+<p> An empty rectangle is not valid. <tt>isEmpty() == !isValid()</tt>
+<p> <p>See also <a href="#isNull">isNull</a>(), <a href="#isValid">isValid</a>(), and <a href="#normalize">normalize</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QRect::isNull () const
+</h3>
+
+<p> Returns TRUE if the rectangle is a null rectangle; otherwise
+returns FALSE.
+<p> A null rectangle has both the width and the height set to 0, that
+is <a href="#right">right</a>() == <a href="#left">left</a>() - 1 and <a href="#bottom">bottom</a>() == <a href="#top">top</a>() - 1.
+<p> Note that if right() == left() and bottom() == top(), then the
+rectangle has width 1 and height 1.
+<p> A null rectangle is also empty.
+<p> A null rectangle is not valid.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QRect::isValid () const
+</h3>
+
+<p> Returns TRUE if the rectangle is valid; otherwise returns FALSE.
+<p> A valid rectangle has a <a href="#left">left</a>() &lt;= <a href="#right">right</a>() and <a href="#top">top</a>() &lt;= <a href="#bottom">bottom</a>().
+<p> Note that non-trivial operations like intersections are not defined
+for invalid rectangles.
+<p> <tt>isValid() == !isEmpty()</tt>
+<p> <p>See also <a href="#isNull">isNull</a>(), <a href="#isEmpty">isEmpty</a>(), and <a href="#normalize">normalize</a>().
+
+<p>Examples: <a href="themes-example.html#x299">themes/metal.cpp</a> and <a href="tooltip-example.html#x448">tooltip/tooltip.cpp</a>.
+<h3 class=fn>int <a name="left"></a>QRect::left () const
+</h3>
+
+<p> Returns the left coordinate of the rectangle. Identical to <a href="#x">x</a>().
+<p> <p>See also <a href="#setLeft">setLeft</a>(), <a href="#right">right</a>(), <a href="#topLeft">topLeft</a>(), and <a href="#bottomLeft">bottomLeft</a>().
+
+<p>Examples: <a href="coordsys.html#x2280">aclock/aclock.cpp</a>, <a href="desktop-example.html#x1750">desktop/desktop.cpp</a>, <a href="i18n-example.html#x1942">i18n/main.cpp</a>, <a href="scribble-example.html#x927">scribble/scribble.cpp</a>, <a href="tictac-example.html#x35">tictac/tictac.cpp</a>, and <a href="xform-example.html#x1252">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="moveBottom"></a>QRect::moveBottom ( int&nbsp;pos )
+</h3>
+Sets the bottom position of the rectangle to <em>pos</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#bottom">bottom</a>(), <a href="#setBottom">setBottom</a>(), <a href="#moveLeft">moveLeft</a>(), <a href="#moveTop">moveTop</a>(), and <a href="#moveRight">moveRight</a>().
+
+<h3 class=fn>void <a name="moveBottomLeft"></a>QRect::moveBottomLeft ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the bottom-left position of the rectangle to <em>p</em>, leaving
+the size unchanged.
+<p> <p>See also <a href="#bottomLeft">bottomLeft</a>(), <a href="#setBottomLeft">setBottomLeft</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), and <a href="#moveTopRight">moveTopRight</a>().
+
+<p>Example: <a href="tutorial1-10.html#x2360">t10/cannon.cpp</a>.
+<h3 class=fn>void <a name="moveBottomRight"></a>QRect::moveBottomRight ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the bottom-right position of the rectangle to <em>p</em>, leaving
+the size unchanged.
+<p> <p>See also <a href="#bottomRight">bottomRight</a>(), <a href="#setBottomRight">setBottomRight</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#moveTopRight">moveTopRight</a>(), and <a href="#moveBottomLeft">moveBottomLeft</a>().
+
+<h3 class=fn>void <a name="moveBy"></a>QRect::moveBy ( int&nbsp;dx, int&nbsp;dy )
+</h3>
+Moves the rectangle <em>dx</em> along the x axis and <em>dy</em> along the y
+axis, relative to the current position. Positive values move the
+rectangle to the right and down.
+<p> <p>See also <a href="#moveTopLeft">moveTopLeft</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1154">action/application.cpp</a>, <a href="simple-application-example.html#x1572">application/application.cpp</a>, <a href="helpviewer-example.html#x1010">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2057">mdi/application.cpp</a>, <a href="themes-example.html#x239">themes/wood.cpp</a>, and <a href="xform-example.html#x1253">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="moveCenter"></a>QRect::moveCenter ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the center point of the rectangle to <em>p</em>, leaving the size
+unchanged.
+<p> <p>See also <a href="#center">center</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), <a href="#moveTopRight">moveTopRight</a>(), and <a href="#moveBottomLeft">moveBottomLeft</a>().
+
+<p>Examples: <a href="tutorial1-11.html#x2371">t11/cannon.cpp</a> and <a href="tutorial1-12.html#x2394">t12/cannon.cpp</a>.
+<h3 class=fn>void <a name="moveLeft"></a>QRect::moveLeft ( int&nbsp;pos )
+</h3>
+Sets the left position of the rectangle to <em>pos</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#left">left</a>(), <a href="#setLeft">setLeft</a>(), <a href="#moveTop">moveTop</a>(), <a href="#moveRight">moveRight</a>(), and <a href="#moveBottom">moveBottom</a>().
+
+<h3 class=fn>void <a name="moveRight"></a>QRect::moveRight ( int&nbsp;pos )
+</h3>
+Sets the right position of the rectangle to <em>pos</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#right">right</a>(), <a href="#setRight">setRight</a>(), <a href="#moveLeft">moveLeft</a>(), <a href="#moveTop">moveTop</a>(), and <a href="#moveBottom">moveBottom</a>().
+
+<h3 class=fn>void <a name="moveTop"></a>QRect::moveTop ( int&nbsp;pos )
+</h3>
+Sets the top position of the rectangle to <em>pos</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#top">top</a>(), <a href="#setTop">setTop</a>(), <a href="#moveLeft">moveLeft</a>(), <a href="#moveRight">moveRight</a>(), and <a href="#moveBottom">moveBottom</a>().
+
+<h3 class=fn>void <a name="moveTopLeft"></a>QRect::moveTopLeft ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the top-left position of the rectangle to <em>p</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#topLeft">topLeft</a>(), <a href="#setTopLeft">setTopLeft</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), <a href="#moveTopRight">moveTopRight</a>(), and <a href="#moveBottomLeft">moveBottomLeft</a>().
+
+<p>Examples: <a href="helpsystem-example.html#x2681">helpsystem/tooltip.cpp</a> and <a href="xform-example.html#x1254">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="moveTopRight"></a>QRect::moveTopRight ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Sets the top-right position of the rectangle to <em>p</em>, leaving the
+size unchanged.
+<p> <p>See also <a href="#topRight">topRight</a>(), <a href="#setTopRight">setTopRight</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), and <a href="#moveBottomLeft">moveBottomLeft</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="normalize"></a>QRect::normalize () const
+</h3>
+Returns a normalized rectangle, i.e. a rectangle that has a
+non-negative width and height.
+<p> It swaps left and right if <a href="#left">left</a>() &gt; <a href="#right">right</a>(), and swaps top and
+bottom if <a href="#top">top</a>() &gt; <a href="#bottom">bottom</a>().
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="scribble-example.html#x928">scribble/scribble.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="operator-and"></a>QRect::operator&amp; ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns the intersection of this rectangle and rectangle <em>r</em>.
+<p> Returns an empty rectangle if there is no intersection.
+<p> <p>See also <a href="#operator-and-eq">operator&amp;=</a>(), <a href="#operator|">operator|</a>(), <a href="#isEmpty">isEmpty</a>(), <a href="#intersects">intersects</a>(), and <a href="#contains">contains</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a>&nbsp;&amp; <a name="operator-and-eq"></a>QRect::operator&amp;= ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Intersects this rectangle with rectangle <em>r</em>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="operator|"></a>QRect::operator| ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns the bounding rectangle of this rectangle and rectangle <em>r</em>.
+<p> The bounding rectangle of a nonempty rectangle and an empty or
+invalid rectangle is defined to be the nonempty rectangle.
+<p> <p>See also <a href="#operator|-eq">operator|=</a>(), <a href="#operator-and">operator&amp;</a>(), <a href="#intersects">intersects</a>(), and <a href="#contains">contains</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a>&nbsp;&amp; <a name="operator|-eq"></a>QRect::operator|= ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Unites this rectangle with rectangle <em>r</em>.
+
+<h3 class=fn>QCOORD &amp; <a name="rBottom"></a>QRect::rBottom ()
+</h3>
+
+<p> Returns a reference to the bottom coordinate of the rectangle.
+<p> <p>See also <a href="#rLeft">rLeft</a>(), <a href="#rTop">rTop</a>(), and <a href="#rRight">rRight</a>().
+
+<h3 class=fn>QCOORD &amp; <a name="rLeft"></a>QRect::rLeft ()
+</h3>
+
+<p> Returns a reference to the left coordinate of the rectangle.
+<p> <p>See also <a href="#rTop">rTop</a>(), <a href="#rRight">rRight</a>(), and <a href="#rBottom">rBottom</a>().
+
+<h3 class=fn>QCOORD &amp; <a name="rRight"></a>QRect::rRight ()
+</h3>
+
+<p> Returns a reference to the right coordinate of the rectangle.
+<p> <p>See also <a href="#rLeft">rLeft</a>(), <a href="#rTop">rTop</a>(), and <a href="#rBottom">rBottom</a>().
+
+<h3 class=fn>QCOORD &amp; <a name="rTop"></a>QRect::rTop ()
+</h3>
+
+<p> Returns a reference to the top coordinate of the rectangle.
+<p> <p>See also <a href="#rLeft">rLeft</a>(), <a href="#rRight">rRight</a>(), and <a href="#rBottom">rBottom</a>().
+
+<h3 class=fn>void <a name="rect"></a>QRect::rect ( int&nbsp;*&nbsp;x, int&nbsp;*&nbsp;y, int&nbsp;*&nbsp;w, int&nbsp;*&nbsp;h ) const
+</h3>
+Extracts the rectangle parameters as the position <em>*x</em>, <em>*y</em> and
+width <em>*w</em> and height <em>*h</em>.
+<p> <p>See also <a href="#setRect">setRect</a>() and <a href="#coords">coords</a>().
+
+<p>Examples: <a href="themes-example.html#x300">themes/metal.cpp</a> and <a href="themes-example.html#x240">themes/wood.cpp</a>.
+<h3 class=fn>int <a name="right"></a>QRect::right () const
+</h3>
+
+<p> Returns the right coordinate of the rectangle.
+<p> <p>See also <a href="#setRight">setRight</a>(), <a href="#left">left</a>(), <a href="#topRight">topRight</a>(), and <a href="#bottomRight">bottomRight</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1155">action/application.cpp</a>, <a href="simple-application-example.html#x1573">application/application.cpp</a>, <a href="customlayout-example.html#x1482">customlayout/flow.cpp</a>, <a href="desktop-example.html#x1751">desktop/desktop.cpp</a>, <a href="scribble-example.html#x929">scribble/scribble.cpp</a>, <a href="tutorial1-11.html#x2372">t11/cannon.cpp</a>, and <a href="themes-example.html#x241">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setBottom"></a>QRect::setBottom ( int&nbsp;pos )
+</h3>
+
+<p> Sets the bottom edge of the rectangle to <em>pos</em>. May change the
+height, but will never change the top edge of the rectangle.
+<p> <p>See also <a href="#bottom">bottom</a>(), <a href="#setTop">setTop</a>(), and <a href="#setHeight">setHeight</a>().
+
+<p>Example: <a href="scribble-example.html#x930">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="setBottomLeft"></a>QRect::setBottomLeft ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Set the bottom-left corner of the rectangle to <em>p</em>. May change
+the size, but will the never change the top-right corner of
+the rectangle.
+<p> <p>See also <a href="#bottomLeft">bottomLeft</a>(), <a href="#moveBottomLeft">moveBottomLeft</a>(), <a href="#setTopLeft">setTopLeft</a>(), <a href="#setBottomRight">setBottomRight</a>(), and <a href="#setTopRight">setTopRight</a>().
+
+<h3 class=fn>void <a name="setBottomRight"></a>QRect::setBottomRight ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Set the bottom-right corner of the rectangle to <em>p</em>. May change
+the size, but will the never change the top-left corner of
+the rectangle.
+<p> <p>See also <a href="#bottomRight">bottomRight</a>(), <a href="#moveBottomRight">moveBottomRight</a>(), <a href="#setTopLeft">setTopLeft</a>(), <a href="#setTopRight">setTopRight</a>(), and <a href="#setBottomLeft">setBottomLeft</a>().
+
+<h3 class=fn>void <a name="setCoords"></a>QRect::setCoords ( int&nbsp;xp1, int&nbsp;yp1, int&nbsp;xp2, int&nbsp;yp2 )
+</h3>
+Sets the coordinates of the rectangle's top-left corner to <em>(xp1, yp1)</em>, and the coordinates of its bottom-right corner to <em>(xp2, yp2)</em>.
+<p> <p>See also <a href="#coords">coords</a>() and <a href="#setRect">setRect</a>().
+
+<h3 class=fn>void <a name="setHeight"></a>QRect::setHeight ( int&nbsp;h )
+</h3>
+Sets the height of the rectangle to <em>h</em>. The top edge is not
+moved, but the bottom edge may be moved.
+<p> <p>See also <a href="#height">height</a>(), <a href="#setTop">setTop</a>(), <a href="#setBottom">setBottom</a>(), and <a href="#setSize">setSize</a>().
+
+<p>Example: <a href="desktop-example.html#x1752">desktop/desktop.cpp</a>.
+<h3 class=fn>void <a name="setLeft"></a>QRect::setLeft ( int&nbsp;pos )
+</h3>
+
+<p> Sets the left edge of the rectangle to <em>pos</em>. May change the
+width, but will never change the right edge of the rectangle.
+<p> Identical to <a href="#setX">setX</a>().
+<p> <p>See also <a href="#left">left</a>(), <a href="#setTop">setTop</a>(), and <a href="#setWidth">setWidth</a>().
+
+<p>Example: <a href="scribble-example.html#x931">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="setRect"></a>QRect::setRect ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Sets the coordinates of the rectangle's top-left corner to <em>(x, y)</em>, and its size to <em>(w, h)</em>.
+<p> <p>See also <a href="#rect">rect</a>() and <a href="#setCoords">setCoords</a>().
+
+<p>Example: <a href="themes-example.html#x242">themes/wood.cpp</a>.
+<h3 class=fn>void <a name="setRight"></a>QRect::setRight ( int&nbsp;pos )
+</h3>
+
+<p> Sets the right edge of the rectangle to <em>pos</em>. May change the
+width, but will never change the left edge of the rectangle.
+<p> <p>See also <a href="#right">right</a>(), <a href="#setLeft">setLeft</a>(), and <a href="#setWidth">setWidth</a>().
+
+<p>Example: <a href="scribble-example.html#x932">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="setSize"></a>QRect::setSize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Sets the size of the rectangle to <em>s</em>. The top-left corner is not
+moved.
+<p> <p>See also <a href="#size">size</a>(), <a href="#setWidth">setWidth</a>(), and <a href="#setHeight">setHeight</a>().
+
+<p>Example: <a href="xform-example.html#x1255">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setTop"></a>QRect::setTop ( int&nbsp;pos )
+</h3>
+
+<p> Sets the top edge of the rectangle to <em>pos</em>. May change the
+height, but will never change the bottom edge of the rectangle.
+<p> Identical to <a href="#setY">setY</a>().
+<p> <p>See also <a href="#top">top</a>(), <a href="#setBottom">setBottom</a>(), and <a href="#setHeight">setHeight</a>().
+
+<p>Example: <a href="scribble-example.html#x933">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="setTopLeft"></a>QRect::setTopLeft ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Set the top-left corner of the rectangle to <em>p</em>. May change
+the size, but will the never change the bottom-right corner of
+the rectangle.
+<p> <p>See also <a href="#topLeft">topLeft</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#setBottomRight">setBottomRight</a>(), <a href="#setTopRight">setTopRight</a>(), and <a href="#setBottomLeft">setBottomLeft</a>().
+
+<h3 class=fn>void <a name="setTopRight"></a>QRect::setTopRight ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Set the top-right corner of the rectangle to <em>p</em>. May change
+the size, but will the never change the bottom-left corner of
+the rectangle.
+<p> <p>See also <a href="#topRight">topRight</a>(), <a href="#moveTopRight">moveTopRight</a>(), <a href="#setTopLeft">setTopLeft</a>(), <a href="#setBottomRight">setBottomRight</a>(), and <a href="#setBottomLeft">setBottomLeft</a>().
+
+<h3 class=fn>void <a name="setWidth"></a>QRect::setWidth ( int&nbsp;w )
+</h3>
+Sets the width of the rectangle to <em>w</em>. The right edge is
+changed, but not the left edge.
+<p> <p>See also <a href="#width">width</a>(), <a href="#setLeft">setLeft</a>(), <a href="#setRight">setRight</a>(), and <a href="#setSize">setSize</a>().
+
+<p>Example: <a href="desktop-example.html#x1753">desktop/desktop.cpp</a>.
+<h3 class=fn>void <a name="setX"></a>QRect::setX ( int&nbsp;x )
+</h3>
+
+<p> Sets the x position of the rectangle (its left end) to <em>x</em>. May
+change the width, but will never change the right edge of the
+rectangle.
+<p> Identical to <a href="#setLeft">setLeft</a>().
+<p> <p>See also <a href="#x">x</a>() and <a href="#setY">setY</a>().
+
+<h3 class=fn>void <a name="setY"></a>QRect::setY ( int&nbsp;y )
+</h3>
+
+<p> Sets the y position of the rectangle (its top) to <em>y</em>. May change
+the height, but will never change the bottom edge of the
+rectangle.
+<p> Identical to <a href="#setTop">setTop</a>().
+<p> <p>See also <a href="#y">y</a>() and <a href="#setX">setX</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QRect::size () const
+</h3>
+
+<p> Returns the size of the rectangle.
+<p> <p>See also <a href="#width">width</a>() and <a href="#height">height</a>().
+
+<p>Examples: <a href="desktop-example.html#x1754">desktop/desktop.cpp</a>, <a href="movies-example.html#x516">movies/main.cpp</a>, and <a href="tutorial1-10.html#x2361">t10/cannon.cpp</a>.
+<h3 class=fn>int <a name="top"></a>QRect::top () const
+</h3>
+
+<p> Returns the top coordinate of the rectangle. Identical to <a href="#y">y</a>().
+<p> <p>See also <a href="#setTop">setTop</a>(), <a href="#bottom">bottom</a>(), <a href="#topLeft">topLeft</a>(), and <a href="#topRight">topRight</a>().
+
+<p>Examples: <a href="coordsys.html#x2281">aclock/aclock.cpp</a>, <a href="desktop-example.html#x1755">desktop/desktop.cpp</a>, <a href="scribble-example.html#x934">scribble/scribble.cpp</a>, <a href="themes-example.html#x243">themes/wood.cpp</a>, <a href="tictac-example.html#x36">tictac/tictac.cpp</a>, and <a href="xform-example.html#x1256">xform/xform.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="topLeft"></a>QRect::topLeft () const
+</h3>
+
+<p> Returns the top-left position of the rectangle.
+<p> <p>See also <a href="#setTopLeft">setTopLeft</a>(), <a href="#moveTopLeft">moveTopLeft</a>(), <a href="#bottomRight">bottomRight</a>(), <a href="#left">left</a>(), and <a href="#top">top</a>().
+
+<p>Examples: <a href="helpsystem-example.html#x2682">helpsystem/tooltip.cpp</a>, <a href="tutorial1-10.html#x2362">t10/cannon.cpp</a>, and <a href="tictac-example.html#x37">tictac/tictac.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="topRight"></a>QRect::topRight () const
+</h3>
+
+<p> Returns the top-right position of the rectangle.
+<p> <p>See also <a href="#setTopRight">setTopRight</a>(), <a href="#moveTopRight">moveTopRight</a>(), <a href="#bottomLeft">bottomLeft</a>(), <a href="#top">top</a>(), and <a href="#right">right</a>().
+
+<p>Example: <a href="tictac-example.html#x38">tictac/tictac.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="unite"></a>QRect::unite ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns the bounding rectangle of this rectangle and rectangle <em>r</em>. <tt>r.unite(s)</tt> is equivalent to <tt>r|s</tt>.
+
+<p>Examples: <a href="tutorial1-11.html#x2373">t11/cannon.cpp</a>, <a href="tutorial1-12.html#x2395">t12/cannon.cpp</a>, and <a href="xform-example.html#x1257">xform/xform.cpp</a>.
+<h3 class=fn>int <a name="width"></a>QRect::width () const
+</h3>
+
+<p> Returns the width of the rectangle. The width includes both the
+left and right edges, i.e. width = right - left + 1.
+<p> <p>See also <a href="#height">height</a>(), <a href="#size">size</a>(), and <a href="#setHeight">setHeight</a>().
+
+<p>Examples: <a href="coordsys.html#x2282">aclock/aclock.cpp</a>, <a href="customlayout-example.html#x1505">customlayout/border.cpp</a>, <a href="desktop-example.html#x1756">desktop/desktop.cpp</a>, <a href="movies-example.html#x517">movies/main.cpp</a>, <a href="themes-example.html#x301">themes/metal.cpp</a>, <a href="themes-example.html#x244">themes/wood.cpp</a>, and <a href="xform-example.html#x1258">xform/xform.cpp</a>.
+<h3 class=fn>int <a name="x"></a>QRect::x () const
+</h3>
+
+<p> Returns the left coordinate of the rectangle. Identical to <a href="#left">left</a>().
+<p> <p>See also <a href="#left">left</a>(), <a href="#y">y</a>(), and <a href="#setX">setX</a>().
+
+<p>Examples: <a href="customlayout-example.html#x1506">customlayout/border.cpp</a>, <a href="desktop-example.html#x1757">desktop/desktop.cpp</a>, <a href="movies-example.html#x518">movies/main.cpp</a>, <a href="scribble-example.html#x936">scribble/scribble.cpp</a>, <a href="tutorial1-12.html#x2396">t12/cannon.cpp</a>, <a href="themes-example.html#x302">themes/metal.cpp</a>, and <a href="themes-example.html#x245">themes/wood.cpp</a>.
+<h3 class=fn>int <a name="y"></a>QRect::y () const
+</h3>
+
+<p> Returns the top coordinate of the rectangle. Identical to <a href="#top">top</a>().
+<p> <p>See also <a href="#top">top</a>(), <a href="#x">x</a>(), and <a href="#setY">setY</a>().
+
+<p>Examples: <a href="desktop-example.html#x1758">desktop/desktop.cpp</a>, <a href="movies-example.html#x519">movies/main.cpp</a>, <a href="scribble-example.html#x937">scribble/scribble.cpp</a>, <a href="tutorial1-12.html#x2397">t12/cannon.cpp</a>, <a href="tutorial1-14.html#x2429">t14/cannon.cpp</a>, <a href="themes-example.html#x303">themes/metal.cpp</a>, and <a href="themes-example.html#x246">themes/wood.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn>bool <a name="operator!-eq"></a>operator!= ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r1, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r2 )
+</h3>
+
+<p> Returns TRUE if <em>r1</em> and <em>r2</em> are different; otherwise returns FALSE.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Writes the QRect, <em>r</em>, to the stream <em>s</em>, and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r1, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r2 )
+</h3>
+
+<p> Returns TRUE if <em>r1</em> and <em>r2</em> are equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Reads a QRect from the stream <em>s</em> into rect <em>r</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregexp-h.html b/doc/html/qregexp-h.html
new file mode 100644
index 0000000..48ce229
--- /dev/null
+++ b/doc/html/qregexp-h.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qregexp.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qregexp.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qregexp.h</h1>
+
+<p>This is the verbatim text of the qregexp.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qregexp.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QRegExp class
+**
+** Created : 950126
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QREGEXP_H
+#define QREGEXP_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_REGEXP
+class QRegExpEngine;
+struct QRegExpPrivate;
+
+class Q_EXPORT QRegExp
+{
+public:
+ enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch };
+
+ QRegExp();
+ QRegExp( const QString&amp; pattern, bool caseSensitive = TRUE,
+ bool wildcard = FALSE );
+ QRegExp( const QRegExp&amp; rx );
+ ~QRegExp();
+ QRegExp&amp; operator=( const QRegExp&amp; rx );
+
+ bool operator==( const QRegExp&amp; rx ) const;
+ bool operator!=( const QRegExp&amp; rx ) const { return !operator==( rx ); }
+
+ bool isEmpty() const;
+ bool isValid() const;
+ QString pattern() const;
+ void setPattern( const QString&amp; pattern );
+ bool caseSensitive() const;
+ void setCaseSensitive( bool sensitive );
+#ifndef QT_NO_REGEXP_WILDCARD
+ bool wildcard() const;
+ void setWildcard( bool wildcard );
+#endif
+ bool minimal() const;
+ void setMinimal( bool minimal );
+
+ bool exactMatch( const QString&amp; str ) const;
+#ifndef QT_NO_COMPAT
+ int match( const QString&amp; str, int index = 0, int *len = 0,
+ bool indexIsStart = TRUE ) const;
+#endif
+
+#if defined(Q_QDOC)
+ int search( const QString&amp; str, int offset = 0,
+ CaretMode caretMode = CaretAtZero ) const;
+ int searchRev( const QString&amp; str, int offset = -1,
+ CaretMode caretMode = CaretAtZero ) const;
+#else
+ // ### Qt 4.0: reduce these four to two functions
+ int search( const QString&amp; str, int offset = 0 ) const;
+ int search( const QString&amp; str, int offset, CaretMode caretMode ) const;
+ int searchRev( const QString&amp; str, int offset = -1 ) const;
+ int searchRev( const QString&amp; str, int offset, CaretMode caretMode ) const;
+#endif
+ int matchedLength() const;
+#ifndef QT_NO_REGEXP_CAPTURE
+ int numCaptures() const;
+ QStringList capturedTexts();
+ QString cap( int nth = 0 );
+ int pos( int nth = 0 );
+ QString errorString();
+#endif
+
+ static QString escape( const QString&amp; str );
+
+private:
+ void prepareEngine() const;
+ void prepareEngineForMatch( const QString&amp; str ) const;
+ void invalidateEngine();
+
+ static int caretIndex( int offset, CaretMode caretMode );
+
+ QRegExpEngine *eng;
+ QRegExpPrivate *priv;
+};
+#endif // QT_NO_REGEXP
+#endif // QREGEXP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregexp-members.html b/doc/html/qregexp-members.html
new file mode 100644
index 0000000..6655e3a
--- /dev/null
+++ b/doc/html/qregexp-members.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qregexp.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegExp Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRegExp</h1>
+
+<p>This is the complete list of member functions for
+<a href="qregexp.html">QRegExp</a>, including inherited members.
+
+<ul>
+<li><a href="qregexp.html#QRegExp">QRegExp</a>()
+<li><a href="qregexp.html#~QRegExp">~QRegExp</a>()
+<li><a href="qregexp.html#cap">cap</a>()
+<li><a href="qregexp.html#capturedTexts">capturedTexts</a>()
+<li><a href="qregexp.html#caseSensitive">caseSensitive</a>()
+<li><a href="qregexp.html#errorString">errorString</a>()
+<li><a href="qregexp.html#escape">escape</a>()
+<li><a href="qregexp.html#exactMatch">exactMatch</a>()
+<li><a href="qregexp.html#isEmpty">isEmpty</a>()
+<li><a href="qregexp.html#isValid">isValid</a>()
+<li><a href="qregexp.html#match">match</a>()
+<li><a href="qregexp.html#matchedLength">matchedLength</a>()
+<li><a href="qregexp.html#minimal">minimal</a>()
+<li><a href="qregexp.html#numCaptures">numCaptures</a>()
+<li><a href="qregexp.html#operator!-eq">operator!=</a>()
+<li><a href="qregexp.html#operator-eq">operator=</a>()
+<li><a href="qregexp.html#operator-eq-eq">operator==</a>()
+<li><a href="qregexp.html#pattern">pattern</a>()
+<li><a href="qregexp.html#pos">pos</a>()
+<li><a href="qregexp.html#search">search</a>()
+<li><a href="qregexp.html#searchRev">searchRev</a>()
+<li><a href="qregexp.html#setCaseSensitive">setCaseSensitive</a>()
+<li><a href="qregexp.html#setMinimal">setMinimal</a>()
+<li><a href="qregexp.html#setPattern">setPattern</a>()
+<li><a href="qregexp.html#setWildcard">setWildcard</a>()
+<li><a href="qregexp.html#wildcard">wildcard</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregexp.html b/doc/html/qregexp.html
new file mode 100644
index 0000000..e84da64
--- /dev/null
+++ b/doc/html/qregexp.html
@@ -0,0 +1,1037 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qregexp.cpp:77 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegExp Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRegExp Class Reference</h1>
+
+<p>The QRegExp class provides pattern matching using regular expressions.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;</tt>
+<p><a href="qregexp-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#CaretMode-enum"><b>CaretMode</b></a> { CaretAtZero, CaretAtOffset, CaretWontMatch }</li>
+<li class=fn><a href="#QRegExp"><b>QRegExp</b></a> ()</li>
+<li class=fn><a href="#QRegExp-2"><b>QRegExp</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pattern, bool&nbsp;caseSensitive = TRUE, bool&nbsp;wildcard = FALSE )</li>
+<li class=fn><a href="#QRegExp-3"><b>QRegExp</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx )</li>
+<li class=fn><a href="#~QRegExp"><b>~QRegExp</b></a> ()</li>
+<li class=fn>QRegExp &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx ) const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QString <a href="#pattern"><b>pattern</b></a> () const</li>
+<li class=fn>void <a href="#setPattern"><b>setPattern</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pattern )</li>
+<li class=fn>bool <a href="#caseSensitive"><b>caseSensitive</b></a> () const</li>
+<li class=fn>void <a href="#setCaseSensitive"><b>setCaseSensitive</b></a> ( bool&nbsp;sensitive )</li>
+<li class=fn>bool <a href="#wildcard"><b>wildcard</b></a> () const</li>
+<li class=fn>void <a href="#setWildcard"><b>setWildcard</b></a> ( bool&nbsp;wildcard )</li>
+<li class=fn>bool <a href="#minimal"><b>minimal</b></a> () const</li>
+<li class=fn>void <a href="#setMinimal"><b>setMinimal</b></a> ( bool&nbsp;minimal )</li>
+<li class=fn>bool <a href="#exactMatch"><b>exactMatch</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str ) const</li>
+<li class=fn>int match ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;index = 0, int&nbsp;*&nbsp;len = 0, bool&nbsp;indexIsStart = TRUE ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#search"><b>search</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;offset = 0, CaretMode&nbsp;caretMode = CaretAtZero ) const</li>
+<li class=fn>int <a href="#searchRev"><b>searchRev</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;offset = -1, CaretMode&nbsp;caretMode = CaretAtZero ) const</li>
+<li class=fn>int <a href="#matchedLength"><b>matchedLength</b></a> () const</li>
+<li class=fn>int <a href="#numCaptures"><b>numCaptures</b></a> () const</li>
+<li class=fn>QStringList <a href="#capturedTexts"><b>capturedTexts</b></a> ()</li>
+<li class=fn>QString <a href="#cap"><b>cap</b></a> ( int&nbsp;nth = 0 )</li>
+<li class=fn>int <a href="#pos"><b>pos</b></a> ( int&nbsp;nth = 0 )</li>
+<li class=fn>QString <a href="#errorString"><b>errorString</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#escape"><b>escape</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QRegExp class provides pattern matching using regular expressions.
+<p>
+
+
+
+<!-- index regular expression --><a name="regular-expression"></a>
+<p> Regular expressions, or "regexps", provide a way to find patterns
+within text. This is useful in many contexts, for example:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top">Validation
+<td valign="top">A regexp can be used to check whether a piece of text
+meets some criteria, e.g. is an integer or contains no
+whitespace.
+<tr bgcolor="#d0d0d0"> <td valign="top">Searching
+<td valign="top">Regexps provide a much more powerful means of searching
+text than simple string matching does. For example we can
+create a regexp which says "find one of the words 'mail',
+'letter' or 'correspondence' but not any of the words
+'email', 'mailman' 'mailer', 'letterbox' etc."
+<tr bgcolor="#f0f0f0"> <td valign="top">Search and Replace
+<td valign="top">A regexp can be used to replace a pattern with a piece of
+text, for example replace all occurrences of '&' with
+'&amp;amp;' except where the '&' is already followed by 'amp;'.
+<tr bgcolor="#d0d0d0"> <td valign="top">String Splitting
+<td valign="top">A regexp can be used to identify where a string should be
+split into its component fields, e.g. splitting tab-delimited
+strings.
+</table></center>
+<p> We present a very brief introduction to regexps, a description of
+Qt's regexp language, some code examples, and finally the function
+documentation itself. QRegExp is modeled on Perl's regexp
+language, and also fully supports Unicode. QRegExp can also be
+used in the weaker 'wildcard' (globbing) mode which works in a
+similar way to command shells. A good text on regexps is <em>Mastering Regular Expressions: Powerful Techniques for Perl and Other Tools</em> by Jeffrey E. Friedl, ISBN 1565922573.
+<p> Experienced regexp users may prefer to skip the introduction and
+go directly to the relevant information.
+<p> In case of multi-threaded programming, note that QRegExp depends on
+<a href="qthreadstorage.html">QThreadStorage</a> internally. For that reason, QRegExp should only be
+used with threads started with <a href="qthread.html">QThread</a>, i.e. not with threads
+started with platform-specific APIs.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#1-1"> Characters and Abbreviations for Sets of Characters
+</a>
+<li><a href="#1-2"> Sets of Characters
+</a>
+<li><a href="#1-3"> Quantifiers
+</a>
+<li><a href="#1-4"> Capturing Text
+</a>
+<li><a href="#1-5"> Assertions
+</a>
+<li><a href="#1-6"> Wildcard Matching (globbing)
+</a>
+<li><a href="#1-7"> Notes for Perl Users
+</a>
+<li><a href="#1-8"> Code Examples
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h3> Introduction
+</h3>
+<a name="1"></a><p> Regexps are built up from expressions, quantifiers, and assertions.
+The simplest form of expression is simply a character, e.g.
+<b>x</b> or <b>5</b>. An expression can also be a set of
+characters. For example, <b>[ABCD]</b>, will match an <b>A</b> or
+a <b>B</b> or a <b>C</b> or a <b>D</b>. As a shorthand we could
+write this as <b>[A-D]</b>. If we want to match any of the
+captital letters in the English alphabet we can write
+<b>[A-Z]</b>. A quantifier tells the regexp engine how many
+occurrences of the expression we want, e.g. <b>x{1,1}</b> means
+match an <b>x</b> which occurs at least once and at most once.
+We'll look at assertions and more complex expressions later.
+<p> Note that in general regexps cannot be used to check for balanced
+brackets or tags. For example if you want to match an opening html
+<tt>&lt;b&gt;</tt> and its closing <tt>&lt;/b&gt;</tt> you can only use a regexp if you
+know that these tags are not nested; the html fragment, <tt>&lt;b&gt;bold &lt;b&gt;bolder&lt;/b&gt;&lt;/b&gt;</tt> will not match as expected. If you know the
+maximum level of nesting it is possible to create a regexp that
+will match correctly, but for an unknown level of nesting, regexps
+will fail.
+<p> We'll start by writing a regexp to match integers in the range 0
+to 99. We will require at least one digit so we will start with
+<b>[0-9]{1,1}</b> which means match a digit exactly once. This
+regexp alone will match integers in the range 0 to 9. To match one
+or two digits we can increase the maximum number of occurrences so
+the regexp becomes <b>[0-9]{1,2}</b> meaning match a digit at
+least once and at most twice. However, this regexp as it stands
+will not match correctly. This regexp will match one or two digits
+<em>within</em> a string. To ensure that we match against the whole
+string we must use the anchor assertions. We need <b>^</b> (caret)
+which when it is the first character in the regexp means that the
+regexp must match from the beginning of the string. And we also
+need <b>$</b> (dollar) which when it is the last character in the
+regexp means that the regexp must match until the end of the
+string. So now our regexp is <b>^[0-9]{1,2}$</b>. Note that
+assertions, such as <b>^</b> and <b>$</b>, do not match any
+characters.
+<p> If you've seen regexps elsewhere they may have looked different from
+the ones above. This is because some sets of characters and some
+quantifiers are so common that they have special symbols to
+represent them. <b>[0-9]</b> can be replaced with the symbol
+<b>\d</b>. The quantifier to match exactly one occurrence,
+<b>{1,1}</b>, can be replaced with the expression itself. This means
+that <b>x{1,1}</b> is exactly the same as <b>x</b> alone. So our 0
+to 99 matcher could be written <b>^\d{1,2}$</b>. Another way of
+writing it would be <b>^\d\d{0,1}$</b>, i.e. from the start of the
+string match a digit followed by zero or one digits. In practice
+most people would write it <b>^\d\d?$</b>. The <b>?</b> is a
+shorthand for the quantifier <b>{0,1}</b>, i.e. a minimum of no
+occurrences a maximum of one occurrence. This is used to make an
+expression optional. The regexp <b>^\d\d?$</b> means "from the
+beginning of the string match one digit followed by zero or one
+digits and then the end of the string".
+<p> Our second example is matching the words 'mail', 'letter' or
+'correspondence' but without matching 'email', 'mailman',
+'mailer', 'letterbox' etc. We'll start by just matching 'mail'. In
+full the regexp is, <b>m{1,1}a{1,1}i{1,1}l{1,1}</b>, but since
+each expression itself is automatically quantified by <b>{1,1}</b>
+we can simply write this as <b>mail</b>; an 'm' followed by an 'a'
+followed by an 'i' followed by an 'l'. The symbol '|' (bar) is
+used for <em>alternation</em>, so our regexp now becomes
+<b>mail|letter|correspondence</b> which means match 'mail' <em>or</em>
+'letter' <em>or</em> 'correspondence'. Whilst this regexp will find the
+words we want it will also find words we don't want such as
+'email'. We will start by putting our regexp in parentheses,
+<b>(mail|letter|correspondence)</b>. Parentheses have two effects,
+firstly they group expressions together and secondly they identify
+parts of the regexp that we wish to <a href="#capturing-text">capture</a>. Our regexp still matches any of the three words but now
+they are grouped together as a unit. This is useful for building
+up more complex regexps. It is also useful because it allows us to
+examine which of the words actually matched. We need to use
+another assertion, this time <b>\b</b> "word boundary":
+<b>\b(mail|letter|correspondence)\b</b>. This regexp means "match
+a word boundary followed by the expression in parentheses followed
+by another word boundary". The <b>\b</b> assertion matches at a <em>position</em> in the regexp not a <em>character</em> in the regexp. A word
+boundary is any non-word character such as a space a newline or
+the beginning or end of the string.
+<p> For our third example we want to replace ampersands with the HTML
+entity '&amp;amp;'. The regexp to match is simple: <b>&amp;</b>, i.e.
+match one ampersand. Unfortunately this will mess up our text if
+some of the ampersands have already been turned into HTML
+entities. So what we really want to say is replace an ampersand
+providing it is not followed by 'amp;'. For this we need the
+negative lookahead assertion and our regexp becomes:
+<b>&amp;(?!amp;)</b>. The negative lookahead assertion is introduced
+with '(?!' and finishes at the ')'. It means that the text it
+contains, 'amp;' in our example, must <em>not</em> follow the expression
+that preceeds it.
+<p> Regexps provide a rich language that can be used in a variety of
+ways. For example suppose we want to count all the occurrences of
+'Eric' and 'Eirik' in a string. Two valid regexps to match these
+are <b>&#92;b(Eric|Eirik)&#92;b</b> and <b>&#92;bEi?ri[ck]&#92;b</b>. We need
+the word boundary '\b' so we don't get 'Ericsson' etc. The second
+regexp actually matches more than we want, 'Eric', 'Erik', 'Eiric'
+and 'Eirik'.
+<p> We will implement some the examples above in the
+<a href="#code-examples">code examples</a> section.
+<p> <a name="characters-and-abbreviations-for-sets-of-characters"></a>
+<h3> Characters and Abbreviations for Sets of Characters
+</h3>
+<a name="1-1"></a><p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Element <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>c</b>
+<td valign="top">Any character represents itself unless it has a special
+regexp meaning. Thus <b>c</b> matches the character <em>c</em>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;c</b>
+<td valign="top">A character that follows a backslash matches the character
+itself except where mentioned below. For example if you
+wished to match a literal caret at the beginning of a string
+you would write <b>&#92;^</b>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;a</b>
+<td valign="top">This matches the ASCII bell character (BEL, 0x07).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;f</b>
+<td valign="top">This matches the ASCII form feed character (FF, 0x0C).
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;n</b>
+<td valign="top">This matches the ASCII line feed character (LF, 0x0A, Unix newline).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;r</b>
+<td valign="top">This matches the ASCII carriage return character (CR, 0x0D).
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;t</b>
+<td valign="top">This matches the ASCII horizontal tab character (HT, 0x09).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;v</b>
+<td valign="top">This matches the ASCII vertical tab character (VT, 0x0B).
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;xhhhh</b>
+<td valign="top">This matches the Unicode character corresponding to the
+hexadecimal number hhhh (between 0x0000 and 0xFFFF). &#92;0ooo
+(i.e., \zero ooo) matches the ASCII/Latin-1 character
+corresponding to the octal number ooo (between 0 and 0377).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>. (dot)</b>
+<td valign="top">This matches any character (including newline).
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;d</b>
+<td valign="top">This matches a digit (<a href="qchar.html#isDigit">QChar::isDigit</a>()).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;D</b>
+<td valign="top">This matches a non-digit.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;s</b>
+<td valign="top">This matches a whitespace (<a href="qchar.html#isSpace">QChar::isSpace</a>()).
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;S</b>
+<td valign="top">This matches a non-whitespace.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;w</b>
+<td valign="top">This matches a word character (<a href="qchar.html#isLetterOrNumber">QChar::isLetterOrNumber</a>() or '_').
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;W</b>
+<td valign="top">This matches a non-word character.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;n</b>
+<td valign="top">The n-th <a href="#capturing-text">backreference</a>,
+e.g. &#92;1, &#92;2, etc.
+</table></center>
+<p> <em>Note that the C++ compiler transforms backslashes in strings so to include a <b>&#92;</b> in a regexp you will need to enter it twice, i.e. <b>&#92;&#92;</b>.</em>
+<p> <a name="sets-of-characters"></a>
+<h3> Sets of Characters
+</h3>
+<a name="1-2"></a><p> Square brackets are used to match any character in the set of
+characters contained within the square brackets. All the character
+set abbreviations described above can be used within square
+brackets. Apart from the character set abbreviations and the
+following two exceptions no characters have special meanings in
+square brackets.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>^</b>
+<td valign="top">The caret negates the character set if it occurs as the
+first character, i.e. immediately after the opening square
+bracket. For example, <b>[abc]</b> matches 'a' or 'b' or 'c',
+but <b>[^abc]</b> matches anything <em>except</em> 'a' or 'b' or
+'c'.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>-</b>
+<td valign="top">The dash is used to indicate a range of characters, for
+example <b>[W-Z]</b> matches 'W' or 'X' or 'Y' or 'Z'.
+</table></center>
+<p> Using the predefined character set abbreviations is more portable
+than using character ranges across platforms and languages. For
+example, <b>[0-9]</b> matches a digit in Western alphabets but
+<b>\d</b> matches a digit in <em>any</em> alphabet.
+<p> Note that in most regexp literature sets of characters are called
+"character classes".
+<p> <a name="quantifiers"></a>
+<h3> Quantifiers
+</h3>
+<a name="1-3"></a><p> By default an expression is automatically quantified by
+<b>{1,1}</b>, i.e. it should occur exactly once. In the following
+list <b><em>E</em></b> stands for any expression. An expression is a
+character or an abbreviation for a set of characters or a set of
+characters in square brackets or any parenthesised expression.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#d0d0d0"> <td valign="top"><b><em>E</em>?</b>
+<td valign="top">Matches zero or one occurrence of <em>E</em>. This quantifier
+means "the previous expression is optional" since it will
+match whether or not the expression occurs in the string. It
+is the same as <b><em>E</em>{0,1}</b>. For example <b>dents?</b>
+will match 'dent' and 'dents'.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b><em>E</em>+</b>
+<td valign="top">Matches one or more occurrences of <em>E</em>. This is the same
+as <b><em>E</em>{1,MAXINT}</b>. For example, <b>0+</b> will match
+'0', '00', '000', etc.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b><em>E</em>*</b>
+<td valign="top">Matches zero or more occurrences of <em>E</em>. This is the same
+as <b><em>E</em>{0,MAXINT}</b>. The <b>*</b> quantifier is often
+used by a mistake. Since it matches <em>zero</em> or more
+occurrences it will match no occurrences at all. For example
+if we want to match strings that end in whitespace and use
+the regexp <b>\s*$</b> we would get a match on every string.
+This is because we have said find zero or more whitespace
+followed by the end of string, so even strings that don't end
+in whitespace will match. The regexp we want in this case is
+<b>\s+$</b> to match strings that have at least one
+whitespace at the end.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b><em>E</em>{n}</b>
+<td valign="top">Matches exactly <em>n</em> occurrences of the expression. This
+is the same as repeating the expression <em>n</em> times. For
+example, <b>x{5}</b> is the same as <b>xxxxx</b>. It is also
+the same as <b><em>E</em>{n,n}</b>, e.g. <b>x{5,5}</b>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b><em>E</em>{n,}</b>
+<td valign="top">Matches at least <em>n</em> occurrences of the expression. This
+is the same as <b><em>E</em>{n,MAXINT}</b>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b><em>E</em>{,m}</b>
+<td valign="top">Matches at most <em>m</em> occurrences of the expression. This
+is the same as <b><em>E</em>{0,m}</b>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b><em>E</em>{n,m}</b>
+<td valign="top">Matches at least <em>n</em> occurrences of the expression and at
+most <em>m</em> occurrences of the expression.
+</table></center>
+<p> (MAXINT is implementation dependent but will not be smaller than
+1024.)
+<p> If we wish to apply a quantifier to more than just the preceding
+character we can use parentheses to group characters together in
+an expression. For example, <b>tag+</b> matches a 't' followed by
+an 'a' followed by at least one 'g', whereas <b>(tag)+</b> matches
+at least one occurrence of 'tag'.
+<p> Note that quantifiers are "greedy". They will match as much text
+as they can. For example, <b>0+</b> will match as many zeros as it
+can from the first zero it finds, e.g. '2.<u>000</u>5'.
+Quantifiers can be made non-greedy, see <a href="#setMinimal">setMinimal</a>().
+<p> <a name="capturing-text"></a>
+<h3> Capturing Text
+</h3>
+<a name="1-4"></a><p> Parentheses allow us to group elements together so that we can
+quantify and capture them. For example if we have the expression
+<b>mail|letter|correspondence</b> that matches a string we know
+that <em>one</em> of the words matched but not which one. Using
+parentheses allows us to "capture" whatever is matched within
+their bounds, so if we used <b>(mail|letter|correspondence)</b>
+and matched this regexp against the string "I sent you some email"
+we can use the <a href="#cap">cap</a>() or <a href="#capturedTexts">capturedTexts</a>() functions to extract the
+matched characters, in this case 'mail'.
+<p> We can use captured text within the regexp itself. To refer to the
+captured text we use <em>backreferences</em> which are indexed from 1,
+the same as for cap(). For example we could search for duplicate
+words in a string using <b>\b(\w+)\W+&#92;1\b</b> which means match a
+word boundary followed by one or more word characters followed by
+one or more non-word characters followed by the same text as the
+first parenthesised expression followed by a word boundary.
+<p> If we want to use parentheses purely for grouping and not for
+capturing we can use the non-capturing syntax, e.g.
+<b>(?:green|blue)</b>. Non-capturing parentheses begin '(?:' and
+end ')'. In this example we match either 'green' or 'blue' but we
+do not capture the match so we only know whether or not we matched
+but not which color we actually found. Using non-capturing
+parentheses is more efficient than using capturing parentheses
+since the regexp engine has to do less book-keeping.
+<p> Both capturing and non-capturing parentheses may be nested.
+<p> <a name="assertions"></a>
+<h3> Assertions
+</h3>
+<a name="1-5"></a><p> Assertions make some statement about the text at the point where
+they occur in the regexp but they do not match any characters. In
+the following list <b><em>E</em></b> stands for any expression.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>^</b>
+<td valign="top">The caret signifies the beginning of the string. If you
+wish to match a literal <tt>^</tt> you must escape it by
+writing <b>&#92;^</b>. For example, <b>^#include</b> will only
+match strings which <em>begin</em> with the characters '#include'.
+(When the caret is the first character of a character set it
+has a special meaning, see <a href="#sets-of-characters">Sets of
+ Characters</a>.)
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>$</b>
+<td valign="top">The dollar signifies the end of the string. For example
+<b>\d\s*$</b> will match strings which end with a digit
+optionally followed by whitespace. If you wish to match a
+literal <tt>$</tt> you must escape it by writing
+<b>&#92;$</b>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>&#92;b</b>
+<td valign="top">A word boundary. For example the regexp
+<b>&#92;bOK&#92;b</b> means match immediately after a word
+boundary (e.g. start of string or whitespace) the letter 'O'
+then the letter 'K' immediately before another word boundary
+(e.g. end of string or whitespace). But note that the
+assertion does not actually match any whitespace so if we
+write <b>(&#92;bOK&#92;b)</b> and we have a match it will only
+contain 'OK' even if the string is "Its <u>OK</u> now".
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>&#92;B</b>
+<td valign="top">A non-word boundary. This assertion is true wherever
+<b>&#92;b</b> is false. For example if we searched for
+<b>&#92;Bon&#92;B</b> in "Left on" the match would fail (space
+and end of string aren't non-word boundaries), but it would
+match in "t<u>on</u>ne".
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>(?=<em>E</em>)</b>
+<td valign="top">Positive lookahead. This assertion is true if the
+expression matches at this point in the regexp. For example,
+<b>const(?=&#92;s+char)</b> matches 'const' whenever it is
+followed by 'char', as in 'static <u>const</u> char *'.
+(Compare with <b>const&#92;s+char</b>, which matches 'static
+<u>const char</u> *'.)
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>(?!<em>E</em>)</b>
+<td valign="top">Negative lookahead. This assertion is true if the
+expression does not match at this point in the regexp. For
+example, <b>const(?!&#92;s+char)</b> matches 'const' <em>except</em>
+when it is followed by 'char'.
+</table></center>
+<p> <a name="wildcard-matching"></a>
+<h3> Wildcard Matching (globbing)
+</h3>
+<a name="1-6"></a><p> Most command shells such as <em>bash</em> or <em>cmd.exe</em> support "file
+globbing", the ability to identify a group of files by using
+wildcards. The <a href="#setWildcard">setWildcard</a>() function is used to switch between
+regexp and wildcard mode. Wildcard matching is much simpler than
+full regexps and has only four features:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>c</b>
+<td valign="top">Any character represents itself apart from those mentioned
+below. Thus <b>c</b> matches the character <em>c</em>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>?</b>
+<td valign="top">This matches any single character. It is the same as
+<b>.</b> in full regexps.
+<tr bgcolor="#f0f0f0"> <td valign="top"><b>*</b>
+<td valign="top">This matches zero or more of any characters. It is the
+same as <b>.*</b> in full regexps.
+<tr bgcolor="#d0d0d0"> <td valign="top"><b>[...]</b>
+<td valign="top">Sets of characters can be represented in square brackets,
+similar to full regexps. Within the character class, like
+outside, backslash has no special meaning.
+</table></center>
+<p> For example if we are in wildcard mode and have strings which
+contain filenames we could identify HTML files with <b>*.html</b>.
+This will match zero or more characters followed by a dot followed
+by 'h', 't', 'm' and 'l'.
+<p> <a name="perl-users"></a>
+<h3> Notes for Perl Users
+</h3>
+<a name="1-7"></a><p> Most of the character class abbreviations supported by Perl are
+supported by QRegExp, see <a href="#characters-and-abbreviations-for-sets-of-characters">characters
+ and abbreviations for sets of characters</a>.
+<p> In QRegExp, apart from within character classes, <tt>^</tt> always
+signifies the start of the string, so carets must always be
+escaped unless used for that purpose. In Perl the meaning of caret
+varies automagically depending on where it occurs so escaping it
+is rarely necessary. The same applies to <tt>$</tt> which in
+QRegExp always signifies the end of the string.
+<p> QRegExp's quantifiers are the same as Perl's greedy quantifiers.
+Non-greedy matching cannot be applied to individual quantifiers,
+but can be applied to all the quantifiers in the pattern. For
+example, to match the Perl regexp <b>ro+?m</b> requires:
+<pre>
+ QRegExp rx( "ro+m" );
+ rx.<a href="#setMinimal">setMinimal</a>( TRUE );
+ </pre>
+
+<p> The equivalent of Perl's <tt>/i</tt> option is
+<a href="#setCaseSensitive">setCaseSensitive</a>(FALSE).
+<p> Perl's <tt>/g</tt> option can be emulated using a <a href="#cap_in_a_loop">loop</a>.
+<p> In QRegExp <b>.</b> matches any character, therefore all QRegExp
+regexps have the equivalent of Perl's <tt>/s</tt> option. QRegExp
+does not have an equivalent to Perl's <tt>/m</tt> option, but this
+can be emulated in various ways for example by splitting the input
+into lines or by looping with a regexp that searches for newlines.
+<p> Because QRegExp is string oriented there are no \A, \Z or \z
+assertions. The \G assertion is not supported but can be emulated
+in a loop.
+<p> Perl's $& is <a href="#cap">cap</a>(0) or <a href="#capturedTexts">capturedTexts</a>()[0]. There are no QRegExp
+equivalents for $`, $' or $+. Perl's capturing variables, $1, $2,
+... correspond to cap(1) or capturedTexts()[1], cap(2) or
+capturedTexts()[2], etc.
+<p> To substitute a pattern use <a href="qstring.html#replace">QString::replace</a>().
+<p> Perl's extended <tt>/x</tt> syntax is not supported, nor are
+directives, e.g. (?i), or regexp comments, e.g. (?#comment). On
+the other hand, C++'s rules for literal strings can be used to
+achieve the same:
+<pre>
+ QRegExp mark( "\\b" // word boundary
+ "[Mm]ark" // the word we want to match
+ );
+ </pre>
+
+<p> Both zero-width positive and zero-width negative lookahead
+assertions (?=pattern) and (?!pattern) are supported with the same
+syntax as Perl. Perl's lookbehind assertions, "independent"
+subexpressions and conditional expressions are not supported.
+<p> Non-capturing parentheses are also supported, with the same
+(?:pattern) syntax.
+<p> See <a href="qstringlist.html#split">QStringList::split</a>() and <a href="qstringlist.html#join">QStringList::join</a>() for equivalents
+to Perl's split and join functions.
+<p> Note: because C++ transforms &#92;'s they must be written <em>twice</em> in
+code, e.g. <b>&#92;b</b> must be written <b>&#92;&#92;b</b>.
+<p> <a name="code-examples"></a>
+<h3> Code Examples
+</h3>
+<a name="1-8"></a><p> <pre>
+ QRegExp rx( "^\\d\\d?$" ); // match integers 0 to 99
+ rx.<a href="#search">search</a>( "123" ); // returns -1 (no match)
+ rx.<a href="#search">search</a>( "-6" ); // returns -1 (no match)
+ rx.<a href="#search">search</a>( "6" ); // returns 0 (matched as position 0)
+ </pre>
+
+<p> The third string matches '<u>6</u>'. This is a simple validation
+regexp for integers in the range 0 to 99.
+<p> <pre>
+ QRegExp rx( "^\\S+$" ); // match strings without whitespace
+ rx.<a href="#search">search</a>( "Hello world" ); // returns -1 (no match)
+ rx.<a href="#search">search</a>( "This_is-OK" ); // returns 0 (matched at position 0)
+ </pre>
+
+<p> The second string matches '<u>This_is-OK</u>'. We've used the
+character set abbreviation '\S' (non-whitespace) and the anchors
+to match strings which contain no whitespace.
+<p> In the following example we match strings containing 'mail' or
+'letter' or 'correspondence' but only match whole words i.e. not
+'email'
+<p> <pre>
+ QRegExp rx( "\\b(mail|letter|correspondence)\\b" );
+ rx.<a href="#search">search</a>( "I sent you an email" ); // returns -1 (no match)
+ rx.<a href="#search">search</a>( "Please write the letter" ); // returns 17
+ </pre>
+
+<p> The second string matches "Please write the <u>letter</u>". The
+word 'letter' is also captured (because of the parentheses). We
+can see what text we've captured like this:
+<p> <pre>
+ <a href="qstring.html">QString</a> captured = rx.cap( 1 ); // captured == "letter"
+ </pre>
+
+<p> This will capture the text from the first set of capturing
+parentheses (counting capturing left parentheses from left to
+right). The parentheses are counted from 1 since <a href="#cap">cap</a>( 0 ) is the
+whole matched regexp (equivalent to '&' in most regexp engines).
+<p> <pre>
+ QRegExp rx( "&amp;(?!amp;)" ); // match ampersands but not &amp;amp;
+ <a href="qstring.html">QString</a> line1 = "This &amp; that";
+ line1.<a href="qstring.html#replace">replace</a>( rx, "&amp;amp;" );
+ // line1 == "This &amp;amp; that"
+ <a href="qstring.html">QString</a> line2 = "His &amp;amp; hers &amp; theirs";
+ line2.<a href="qstring.html#replace">replace</a>( rx, "&amp;amp;" );
+ // line2 == "His &amp;amp; hers &amp;amp; theirs"
+ </pre>
+
+<p> Here we've passed the QRegExp to <a href="qstring.html">QString</a>'s replace() function to
+replace the matched text with new text.
+<p> <pre>
+ <a href="qstring.html">QString</a> str = "One Eric another Eirik, and an Ericsson."
+ " How many Eiriks, Eric?";
+ QRegExp rx( "\\b(Eric|Eirik)\\b" ); // match Eric or Eirik
+ int pos = 0; // where we are in the string
+ int count = 0; // how many Eric and Eirik's we've counted
+ while ( pos &gt;= 0 ) {
+ pos = rx.<a href="#search">search</a>( str, pos );
+ if ( pos &gt;= 0 ) {
+ pos++; // move along in str
+ count++; // count our Eric or Eirik
+ }
+ }
+ </pre>
+
+<p> We've used the <a href="#search">search</a>() function to repeatedly match the regexp in
+the string. Note that instead of moving forward by one character
+at a time <tt>pos++</tt> we could have written <tt>pos += rx.matchedLength()</tt> to skip over the already matched string. The
+count will equal 3, matching 'One <u>Eric</u> another
+<u>Eirik</u>, and an Ericsson. How many Eiriks, <u>Eric</u>?'; it
+doesn't match 'Ericsson' or 'Eiriks' because they are not bounded
+by non-word boundaries.
+<p> One common use of regexps is to split lines of delimited data into
+their component fields.
+<p> <pre>
+ str = "Trolltech AS\twww.trolltech.com\tNorway";
+ <a href="qstring.html">QString</a> company, web, country;
+ rx.setPattern( "^([^\t]+)\t([^\t]+)\t([^\t]+)$" );
+ if ( rx.search( str ) != -1 ) {
+ company = rx.cap( 1 );
+ web = rx.cap( 2 );
+ country = rx.cap( 3 );
+ }
+ </pre>
+
+<p> In this example our input lines have the format company name, web
+address and country. Unfortunately the regexp is rather long and
+not very versatile -- the code will break if we add any more
+fields. A simpler and better solution is to look for the
+separator, '\t' in this case, and take the surrounding text. The
+<a href="qstringlist.html">QStringList</a> split() function can take a separator string or regexp
+as an argument and split a string accordingly.
+<p> <pre>
+ <a href="qstringlist.html">QStringList</a> field = QStringList::<a href="qstringlist.html#split">split</a>( "\t", str );
+ </pre>
+
+<p> Here field[0] is the company, field[1] the web address and so on.
+<p> To imitate the matching of a shell we can use wildcard mode.
+<p> <pre>
+ QRegExp rx( "*.html" ); // invalid regexp: * doesn't quantify anything
+ rx.<a href="#setWildcard">setWildcard</a>( TRUE ); // now it's a valid wildcard regexp
+ rx.<a href="#exactMatch">exactMatch</a>( "index.html" ); // returns TRUE
+ rx.<a href="#exactMatch">exactMatch</a>( "default.htm" ); // returns FALSE
+ rx.<a href="#exactMatch">exactMatch</a>( "readme.txt" ); // returns FALSE
+ </pre>
+
+<p> Wildcard matching can be convenient because of its simplicity, but
+any wildcard regexp can be defined using full regexps, e.g.
+<b>.*&#92;.html$</b>. Notice that we can't match both <tt>.html</tt> and <tt>.htm</tt> files with a wildcard unless we use <b>*.htm*</b> which will
+also match 'test.html.bak'. A full regexp gives us the precision
+we need, <b>.*&#92;.html?$</b>.
+<p> QRegExp can match case insensitively using <a href="#setCaseSensitive">setCaseSensitive</a>(), and
+can use non-greedy matching, see <a href="#setMinimal">setMinimal</a>(). By default QRegExp
+uses full regexps but this can be changed with <a href="#setWildcard">setWildcard</a>().
+Searching can be forward with <a href="#search">search</a>() or backward with
+<a href="#searchRev">searchRev</a>(). Captured text can be accessed using <a href="#capturedTexts">capturedTexts</a>()
+which returns a string list of all captured strings, or using
+<a href="#cap">cap</a>() which returns the captured string for the given index. The
+<a href="#pos">pos</a>() function takes a match index and returns the position in the
+string where the match was made (or -1 if there was no match).
+<p> <p>See also <a href="qregexpvalidator.html">QRegExpValidator</a>, <a href="qstring.html">QString</a>, <a href="qstringlist.html">QStringList</a>, <a href="misc.html">Miscellaneous Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<p> <a name="member-function-documentation"></a>
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="CaretMode-enum"></a>QRegExp::CaretMode</h3>
+
+<p> The CaretMode enum defines the different meanings of the caret
+(<b>^</b>) in a <a href="qregexp.html#regular-expression">regular expression</a>. The possible values are:
+<ul>
+<li><tt>QRegExp::CaretAtZero</tt> -
+The caret corresponds to index 0 in the searched string.
+<li><tt>QRegExp::CaretAtOffset</tt> -
+The caret corresponds to the start offset of the search.
+<li><tt>QRegExp::CaretWontMatch</tt> -
+The caret never matches.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRegExp"></a>QRegExp::QRegExp ()
+</h3>
+Constructs an empty regexp.
+<p> <p>See also <a href="#isValid">isValid</a>() and <a href="#errorString">errorString</a>().
+
+<h3 class=fn><a name="QRegExp-2"></a>QRegExp::QRegExp ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pattern, bool&nbsp;caseSensitive = TRUE, bool&nbsp;wildcard = FALSE )
+</h3>
+Constructs a <a href="qregexp.html#regular-expression">regular expression</a> object for the given <em>pattern</em>
+string. The pattern must be given using wildcard notation if <em>wildcard</em> is TRUE (default is FALSE). The pattern is case
+sensitive, unless <em>caseSensitive</em> is FALSE. Matching is greedy
+(maximal), but can be changed by calling <a href="#setMinimal">setMinimal</a>().
+<p> <p>See also <a href="#setPattern">setPattern</a>(), <a href="#setCaseSensitive">setCaseSensitive</a>(), <a href="#setWildcard">setWildcard</a>(), and <a href="#setMinimal">setMinimal</a>().
+
+<h3 class=fn><a name="QRegExp-3"></a>QRegExp::QRegExp ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx )
+</h3>
+Constructs a <a href="qregexp.html#regular-expression">regular expression</a> as a copy of <em>rx</em>.
+<p> <p>See also <a href="#operator-eq">operator=</a>().
+
+<h3 class=fn><a name="~QRegExp"></a>QRegExp::~QRegExp ()
+</h3>
+Destroys the <a href="qregexp.html#regular-expression">regular expression</a> and cleans up its internal data.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="cap"></a>QRegExp::cap ( int&nbsp;nth = 0 )
+</h3>
+Returns the text captured by the <em>nth</em> subexpression. The entire
+match has index 0 and the parenthesized subexpressions have
+indices starting from 1 (excluding non-capturing parentheses).
+<p> <pre>
+ QRegExp rxlen( "(\\d+)(?:\\s*)(cm|inch)" );
+ int pos = rxlen.<a href="#search">search</a>( "Length: 189cm" );
+ if ( pos &gt; -1 ) {
+ <a href="qstring.html">QString</a> value = rxlen.<a href="#cap">cap</a>( 1 ); // "189"
+ <a href="qstring.html">QString</a> unit = rxlen.<a href="#cap">cap</a>( 2 ); // "cm"
+ // ...
+ }
+ </pre>
+
+<p> The order of elements matched by <a href="#cap">cap</a>() is as follows. The first
+element, cap(0), is the entire matching string. Each subsequent
+element corresponds to the next capturing open left parentheses.
+Thus cap(1) is the text of the first capturing parentheses, cap(2)
+is the text of the second, and so on.
+<p> <a name="cap_in_a_loop"></a>
+Some patterns may lead to a number of matches which cannot be
+determined in advance, for example:
+<p> <pre>
+ QRegExp rx( "(\\d+)" );
+ str = "Offsets: 12 14 99 231 7";
+ <a href="qstringlist.html">QStringList</a> list;
+ pos = 0;
+ while ( pos &gt;= 0 ) {
+ pos = rx.<a href="#search">search</a>( str, pos );
+ if ( pos &gt; -1 ) {
+ list += rx.<a href="#cap">cap</a>( 1 );
+ pos += rx.<a href="#matchedLength">matchedLength</a>();
+ }
+ }
+ // list contains "12", "14", "99", "231", "7"
+ </pre>
+
+<p> <p>See also <a href="#capturedTexts">capturedTexts</a>(), <a href="#pos">pos</a>(), <a href="#exactMatch">exactMatch</a>(), <a href="#search">search</a>(), and <a href="#searchRev">searchRev</a>().
+
+<p>Examples: <a href="archivesearch-example.html#x479">network/archivesearch/archivedialog.ui.h</a> and <a href="regexptester-example.html#x2485">regexptester/regexptester.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="capturedTexts"></a>QRegExp::capturedTexts ()
+</h3>
+Returns a list of the captured text strings.
+<p> The first string in the list is the entire matched string. Each
+subsequent list element contains a string that matched a
+(capturing) subexpression of the regexp.
+<p> For example:
+<pre>
+ QRegExp rx( "(\\d+)(\\s*)(cm|inch(es)?)" );
+ int pos = rx.<a href="#search">search</a>( "Length: 36 inches" );
+ <a href="qstringlist.html">QStringList</a> list = rx.<a href="#capturedTexts">capturedTexts</a>();
+ // list is now ( "36 inches", "36", " ", "inches", "es" )
+ </pre>
+
+<p> The above example also captures elements that may be present but
+which we have no interest in. This problem can be solved by using
+non-capturing parentheses:
+<p> <pre>
+ QRegExp rx( "(\\d+)(?:\\s*)(cm|inch(?:es)?)" );
+ int pos = rx.<a href="#search">search</a>( "Length: 36 inches" );
+ <a href="qstringlist.html">QStringList</a> list = rx.<a href="#capturedTexts">capturedTexts</a>();
+ // list is now ( "36 inches", "36", "inches" )
+ </pre>
+
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = rx.capturedTexts();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> Some regexps can match an indeterminate number of times. For
+example if the input string is "Offsets: 12 14 99 231 7" and the
+regexp, <tt>rx</tt>, is <b>(&#92;d+)+</b>, we would hope to get a list of
+all the numbers matched. However, after calling
+<tt>rx.search(str)</tt>, <a href="#capturedTexts">capturedTexts</a>() will return the list ( "12",
+"12" ), i.e. the entire match was "12" and the first subexpression
+matched was "12". The correct approach is to use <a href="#cap">cap</a>() in a <a href="#cap_in_a_loop">loop</a>.
+<p> The order of elements in the string list is as follows. The first
+element is the entire matching string. Each subsequent element
+corresponds to the next capturing open left parentheses. Thus
+capturedTexts()[1] is the text of the first capturing parentheses,
+capturedTexts()[2] is the text of the second and so on
+(corresponding to $1, $2, etc., in some other regexp languages).
+<p> <p>See also <a href="#cap">cap</a>(), <a href="#pos">pos</a>(), <a href="#exactMatch">exactMatch</a>(), <a href="#search">search</a>(), and <a href="#searchRev">searchRev</a>().
+
+<h3 class=fn>bool <a name="caseSensitive"></a>QRegExp::caseSensitive () const
+</h3>
+Returns TRUE if case sensitivity is enabled; otherwise returns
+FALSE. The default is TRUE.
+<p> <p>See also <a href="#setCaseSensitive">setCaseSensitive</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QRegExp::errorString ()
+</h3>
+Returns a text string that explains why a regexp pattern is
+invalid the case being; otherwise returns "no error occurred".
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="regexptester-example.html#x2486">regexptester/regexptester.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="escape"></a>QRegExp::escape ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )<tt> [static]</tt>
+</h3>
+Returns the string <em>str</em> with every regexp special character
+escaped with a backslash. The special characters are $, (, ), *, +,
+., ?, [, &#92;, ], ^, {, | and }.
+<p> Example:
+<pre>
+ s1 = QRegExp::<a href="#escape">escape</a>( "bingo" ); // s1 == "bingo"
+ s2 = QRegExp::<a href="#escape">escape</a>( "f(x)" ); // s2 == "f\\(x\\)"
+ </pre>
+
+<p> This function is useful to construct regexp patterns dynamically:
+<p> <pre>
+ QRegExp rx( "(" + QRegExp::escape(name) +
+ "|" + QRegExp::escape(alias) + ")" );
+ </pre>
+
+
+<h3 class=fn>bool <a name="exactMatch"></a>QRegExp::exactMatch ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str ) const
+</h3>
+Returns TRUE if <em>str</em> is matched exactly by this <a href="qregexp.html#regular-expression">regular expression</a>; otherwise returns FALSE. You can determine how much of
+the string was matched by calling <a href="#matchedLength">matchedLength</a>().
+<p> For a given regexp string, R, <a href="#exactMatch">exactMatch</a>("R") is the equivalent of
+<a href="#search">search</a>("^R$") since exactMatch() effectively encloses the regexp
+in the start of string and end of string anchors, except that it
+sets matchedLength() differently.
+<p> For example, if the regular expression is <b>blue</b>, then
+exactMatch() returns TRUE only for input <tt>blue</tt>. For inputs <tt>bluebell</tt>, <tt>blutak</tt> and <tt>lightblue</tt>, exactMatch() returns FALSE
+and matchedLength() will return 4, 3 and 0 respectively.
+<p> Although const, this function sets matchedLength(),
+<a href="#capturedTexts">capturedTexts</a>() and <a href="#pos">pos</a>().
+<p> <p>See also <a href="#search">search</a>(), <a href="#searchRev">searchRev</a>(), and <a href="qregexpvalidator.html">QRegExpValidator</a>.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QRegExp::isEmpty () const
+</h3>
+Returns TRUE if the pattern string is empty; otherwise returns
+FALSE.
+<p> If you call <a href="#exactMatch">exactMatch</a>() with an empty pattern on an empty string
+it will return TRUE; otherwise it returns FALSE since it operates
+over the whole string. If you call <a href="#search">search</a>() with an empty pattern
+on <em>any</em> string it will return the start offset (0 by default)
+because the empty pattern matches the 'emptiness' at the start of
+the string. In this case the length of the match returned by
+<a href="#matchedLength">matchedLength</a>() will be 0.
+<p> See <a href="qstring.html#isEmpty">QString::isEmpty</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QRegExp::isValid () const
+</h3>
+Returns TRUE if the <a href="qregexp.html#regular-expression">regular expression</a> is valid; otherwise returns
+FALSE. An invalid regular expression never matches.
+<p> The pattern <b>[a-z</b> is an example of an invalid pattern, since
+it lacks a closing square bracket.
+<p> Note that the validity of a regexp may also depend on the setting
+of the wildcard flag, for example <b>*.html</b> is a valid
+wildcard regexp but an invalid full regexp.
+<p> <p>See also <a href="#errorString">errorString</a>().
+
+<p>Example: <a href="regexptester-example.html#x2487">regexptester/regexptester.cpp</a>.
+<h3 class=fn>int <a name="match"></a>QRegExp::match ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;index = 0, int&nbsp;*&nbsp;len = 0, bool&nbsp;indexIsStart = TRUE ) const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Attempts to match in <em>str</em>, starting from position <em>index</em>.
+Returns the position of the match, or -1 if there was no match.
+<p> The length of the match is stored in <em>*len</em>, unless <em>len</em> is a
+null pointer.
+<p> If <em>indexIsStart</em> is TRUE (the default), the position <em>index</em> in
+the string will match the start of string anchor, <b>^</b>, in the
+regexp, if present. Otherwise, position 0 in <em>str</em> will match.
+<p> Use <a href="#search">search</a>() and <a href="#matchedLength">matchedLength</a>() instead of this function.
+<p> <p>See also <a href="qstring.html#mid">QString::mid</a>() and <a href="qconststring.html">QConstString</a>.
+
+<p>Example: <a href="qmag-example.html#x1791">qmag/qmag.cpp</a>.
+<h3 class=fn>int <a name="matchedLength"></a>QRegExp::matchedLength () const
+</h3>
+Returns the length of the last matched string, or -1 if there was
+no match.
+<p> <p>See also <a href="#exactMatch">exactMatch</a>(), <a href="#search">search</a>(), and <a href="#searchRev">searchRev</a>().
+
+<p>Examples: <a href="archivesearch-example.html#x480">network/archivesearch/archivedialog.ui.h</a> and <a href="regexptester-example.html#x2488">regexptester/regexptester.cpp</a>.
+<h3 class=fn>bool <a name="minimal"></a>QRegExp::minimal () const
+</h3>
+Returns TRUE if minimal (non-greedy) matching is enabled;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setMinimal">setMinimal</a>().
+
+<h3 class=fn>int <a name="numCaptures"></a>QRegExp::numCaptures () const
+</h3>
+Returns the number of captures contained in the <a href="qregexp.html#regular-expression">regular expression</a>.
+
+<p>Example: <a href="regexptester-example.html#x2489">regexptester/regexptester.cpp</a>.
+<h3 class=fn>bool <a name="operator!-eq"></a>QRegExp::operator!= ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx ) const
+</h3>
+
+<p> Returns TRUE if this <a href="qregexp.html#regular-expression">regular expression</a> is not equal to <em>rx</em>;
+otherwise returns FALSE.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn><a href="qregexp.html">QRegExp</a>&nbsp;&amp; <a name="operator-eq"></a>QRegExp::operator= ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx )
+</h3>
+Copies the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em> and returns a reference to the
+copy. The case sensitivity, wildcard and minimal matching options
+are also copied.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QRegExp::operator== ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx ) const
+</h3>
+Returns TRUE if this <a href="qregexp.html#regular-expression">regular expression</a> is equal to <em>rx</em>;
+otherwise returns FALSE.
+<p> Two QRegExp objects are equal if they have the same pattern
+strings and the same settings for case sensitivity, wildcard and
+minimal matching.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="pattern"></a>QRegExp::pattern () const
+</h3>
+Returns the pattern string of the <a href="qregexp.html#regular-expression">regular expression</a>. The pattern
+has either regular expression syntax or wildcard syntax, depending
+on <a href="#wildcard">wildcard</a>().
+<p> <p>See also <a href="#setPattern">setPattern</a>().
+
+<h3 class=fn>int <a name="pos"></a>QRegExp::pos ( int&nbsp;nth = 0 )
+</h3>
+Returns the position of the <em>nth</em> captured text in the searched
+string. If <em>nth</em> is 0 (the default), <a href="#pos">pos</a>() returns the position
+of the whole match.
+<p> Example:
+<pre>
+ QRegExp rx( "/([a-z]+)/([a-z]+)" );
+ rx.<a href="#search">search</a>( "Output /dev/null" ); // returns 7 (position of /dev/null)
+ rx.<a href="#pos">pos</a>( 0 ); // returns 7 (position of /dev/null)
+ rx.<a href="#pos">pos</a>( 1 ); // returns 8 (position of dev)
+ rx.<a href="#pos">pos</a>( 2 ); // returns 12 (position of null)
+ </pre>
+
+<p> For zero-length matches, pos() always returns -1. (For example, if
+<a href="#cap">cap</a>(4) would return an empty string, pos(4) returns -1.) This is
+due to an implementation tradeoff.
+<p> <p>See also <a href="#capturedTexts">capturedTexts</a>(), <a href="#exactMatch">exactMatch</a>(), <a href="#search">search</a>(), and <a href="#searchRev">searchRev</a>().
+
+<h3 class=fn>int <a name="search"></a>QRegExp::search ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;offset = 0, <a href="qregexp.html#CaretMode-enum">CaretMode</a>&nbsp;caretMode = CaretAtZero ) const
+</h3>
+Attempts to find a match in <em>str</em> from position <em>offset</em> (0 by
+default). If <em>offset</em> is -1, the search starts at the last
+character; if -2, at the next to last character; etc.
+<p> Returns the position of the first match, or -1 if there was no
+match.
+<p> The <em>caretMode</em> parameter can be used to instruct whether <b>^</b>
+should match at index 0 or at <em>offset</em>.
+<p> You might prefer to use <a href="qstring.html#find">QString::find</a>(), <a href="qstring.html#contains">QString::contains</a>() or
+even <a href="qstringlist.html#grep">QStringList::grep</a>(). To replace matches use
+<a href="qstring.html#replace">QString::replace</a>().
+<p> Example:
+<pre>
+ <a href="qstring.html">QString</a> str = "offsets: 1.23 .50 71.00 6.00";
+ QRegExp rx( "\\d*\\.\\d+" ); // primitive floating point matching
+ int count = 0;
+ int pos = 0;
+ while ( (pos = rx.<a href="#search">search</a>(str, pos)) != -1 ) {
+ count++;
+ pos += rx.<a href="#matchedLength">matchedLength</a>();
+ }
+ // pos will be 9, 14, 18 and finally 24; count will end up as 4
+ </pre>
+
+<p> Although const, this function sets <a href="#matchedLength">matchedLength</a>(),
+<a href="#capturedTexts">capturedTexts</a>() and <a href="#pos">pos</a>().
+<p> <p>See also <a href="#searchRev">searchRev</a>() and <a href="#exactMatch">exactMatch</a>().
+
+<p>Examples: <a href="archivesearch-example.html#x481">network/archivesearch/archivedialog.ui.h</a> and <a href="regexptester-example.html#x2490">regexptester/regexptester.cpp</a>.
+<h3 class=fn>int <a name="searchRev"></a>QRegExp::searchRev ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;offset = -1, <a href="qregexp.html#CaretMode-enum">CaretMode</a>&nbsp;caretMode = CaretAtZero ) const
+</h3>
+Attempts to find a match backwards in <em>str</em> from position <em>offset</em>. If <em>offset</em> is -1 (the default), the search starts at the
+last character; if -2, at the next to last character; etc.
+<p> Returns the position of the first match, or -1 if there was no
+match.
+<p> The <em>caretMode</em> parameter can be used to instruct whether <b>^</b>
+should match at index 0 or at <em>offset</em>.
+<p> Although const, this function sets <a href="#matchedLength">matchedLength</a>(),
+<a href="#capturedTexts">capturedTexts</a>() and <a href="#pos">pos</a>().
+<p> <b>Warning:</b> Searching backwards is much slower than searching
+forwards.
+<p> <p>See also <a href="#search">search</a>() and <a href="#exactMatch">exactMatch</a>().
+
+<h3 class=fn>void <a name="setCaseSensitive"></a>QRegExp::setCaseSensitive ( bool&nbsp;sensitive )
+</h3>
+Sets case sensitive matching to <em>sensitive</em>.
+<p> If <em>sensitive</em> is TRUE, <b>&#92;.txt$</b> matches <tt>readme.txt</tt> but
+not <tt>README.TXT</tt>.
+<p> <p>See also <a href="#caseSensitive">caseSensitive</a>().
+
+<p>Example: <a href="regexptester-example.html#x2491">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="setMinimal"></a>QRegExp::setMinimal ( bool&nbsp;minimal )
+</h3>
+Enables or disables minimal matching. If <em>minimal</em> is FALSE,
+matching is greedy (maximal) which is the default.
+<p> For example, suppose we have the input string "We must be
+&lt;b>bold&lt;/b>, very &lt;b>bold&lt;/b>!" and the pattern
+<b>&lt;b>.*&lt;/b></b>. With the default greedy (maximal) matching,
+the match is "We must be <u>&lt;b>bold&lt;/b>, very
+&lt;b>bold&lt;/b></u>!". But with minimal (non-greedy) matching the
+first match is: "We must be <u>&lt;b>bold&lt;/b></u>, very
+&lt;b>bold&lt;/b>!" and the second match is "We must be &lt;b>bold&lt;/b>,
+very <u>&lt;b>bold&lt;/b></u>!". In practice we might use the pattern
+<b>&lt;b>[^&lt;]+&lt;/b></b> instead, although this will still fail for
+nested tags.
+<p> <p>See also <a href="#minimal">minimal</a>().
+
+<p>Examples: <a href="archivesearch-example.html#x482">network/archivesearch/archivedialog.ui.h</a> and <a href="regexptester-example.html#x2492">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="setPattern"></a>QRegExp::setPattern ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pattern )
+</h3>
+Sets the pattern string to <em>pattern</em>. The case sensitivity,
+wildcard and minimal matching options are not changed.
+<p> <p>See also <a href="#pattern">pattern</a>().
+
+<h3 class=fn>void <a name="setWildcard"></a>QRegExp::setWildcard ( bool&nbsp;wildcard )
+</h3>
+Sets the wildcard mode for the <a href="qregexp.html#regular-expression">regular expression</a>. The default is
+FALSE.
+<p> Setting <em>wildcard</em> to TRUE enables simple shell-like wildcard
+matching. (See <a href="#wildcard-matching">wildcard matching
+ (globbing)</a>.)
+<p> For example, <b>r*.txt</b> matches the string <tt>readme.txt</tt> in
+wildcard mode, but does not match <tt>readme</tt>.
+<p> <p>See also <a href="#wildcard">wildcard</a>().
+
+<p>Example: <a href="regexptester-example.html#x2493">regexptester/regexptester.cpp</a>.
+<h3 class=fn>bool <a name="wildcard"></a>QRegExp::wildcard () const
+</h3>
+Returns TRUE if wildcard mode is enabled; otherwise returns FALSE.
+The default is FALSE.
+<p> <p>See also <a href="#setWildcard">setWildcard</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregexpvalidator-members.html b/doc/html/qregexpvalidator-members.html
new file mode 100644
index 0000000..138a31f
--- /dev/null
+++ b/doc/html/qregexpvalidator-members.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvalidator.h:137 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegExpValidator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRegExpValidator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qregexpvalidator.html">QRegExpValidator</a>, including inherited members.
+
+<ul>
+<li><a href="qregexpvalidator.html#QRegExpValidator">QRegExpValidator</a>()
+<li><a href="qregexpvalidator.html#~QRegExpValidator">~QRegExpValidator</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qvalidator.html#fixup">fixup</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qregexpvalidator.html#regExp">regExp</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qregexpvalidator.html#setRegExp">setRegExp</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qregexpvalidator.html#validate">validate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregexpvalidator.html b/doc/html/qregexpvalidator.html
new file mode 100644
index 0000000..bb70075
--- /dev/null
+++ b/doc/html/qregexpvalidator.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvalidator.cpp:517 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegExpValidator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRegExpValidator Class Reference</h1>
+
+<p>The QRegExpValidator class is used to check a string
+against a regular expression.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;</tt>
+<p>Inherits <a href="qvalidator.html">QValidator</a>.
+<p><a href="qregexpvalidator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QRegExpValidator"><b>QRegExpValidator</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QRegExpValidator-2"><b>QRegExpValidator</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QRegExpValidator"><b>~QRegExpValidator</b></a> ()</li>
+<li class=fn>virtual QValidator::State <a href="#validate"><b>validate</b></a> ( QString&nbsp;&amp;&nbsp;input, int&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>void <a href="#setRegExp"><b>setRegExp</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx )</li>
+<li class=fn>const QRegExp &amp; <a href="#regExp"><b>regExp</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QRegExpValidator class is used to check a string
+against a <a href="qregexp.html#regular-expression">regular expression</a>.
+<p>
+<p> QRegExpValidator contains a regular expression, "regexp", used to
+determine whether an input string is <a href="qvalidator.html#State-enum">Acceptable</a>, <a href="qvalidator.html#State-enum">Intermediate</a> or <a href="qvalidator.html#State-enum">Invalid</a>.
+<p> The regexp is treated as if it begins with the start of string
+assertion, <b>^</b>, and ends with the end of string assertion
+<b>$</b> so the match is against the entire input string, or from
+the given position if a start position greater than zero is given.
+<p> For a brief introduction to Qt's regexp engine see <a href="qregexp.html">QRegExp</a>.
+<p> Example of use:
+<pre>
+ // regexp: optional '-' followed by between 1 and 3 digits
+ <a href="qregexp.html">QRegExp</a> rx( "-?\\d{1,3}" );
+ <a href="qvalidator.html">QValidator</a>* validator = new QRegExpValidator( rx, this );
+
+ <a href="qlineedit.html">QLineEdit</a>* edit = new <a href="qlineedit.html">QLineEdit</a>( this );
+ edit-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( validator );
+ </pre>
+
+<p> Below we present some examples of validators. In practice they would
+normally be associated with a widget as in the example above.
+<p> <pre>
+ // integers 1 to 9999
+ <a href="qregexp.html">QRegExp</a> rx( "[1-9]\\d{0,3}" );
+ // the validator treats the regexp as "^[1-9]\\d{0,3}$"
+ QRegExpValidator v( rx, 0 );
+ <a href="qstring.html">QString</a> s;
+ int pos = 0;
+
+ s = "0"; v.<a href="#validate">validate</a>( s, pos ); // returns Invalid
+ s = "12345"; v.<a href="#validate">validate</a>( s, pos ); // returns Invalid
+ s = "1"; v.<a href="#validate">validate</a>( s, pos ); // returns Acceptable
+
+ rx.<a href="qregexp.html#setPattern">setPattern</a>( "\\S+" ); // one or more non-whitespace characters
+ v.<a href="#setRegExp">setRegExp</a>( rx );
+ s = "myfile.txt"; v.<a href="#validate">validate</a>( s, pos ); // Returns Acceptable
+ s = "my file.txt"; v.<a href="#validate">validate</a>( s, pos ); // Returns Invalid
+
+ // A, B or C followed by exactly five digits followed by W, X, Y or Z
+ rx.<a href="qregexp.html#setPattern">setPattern</a>( "[A-C]\\d{5}[W-Z]" );
+ v.<a href="#setRegExp">setRegExp</a>( rx );
+ s = "a12345Z"; v.<a href="#validate">validate</a>( s, pos ); // Returns Invalid
+ s = "A12345Z"; v.<a href="#validate">validate</a>( s, pos ); // Returns Acceptable
+ s = "B12"; v.<a href="#validate">validate</a>( s, pos ); // Returns Intermediate
+
+ // match most 'readme' files
+ rx.<a href="qregexp.html#setPattern">setPattern</a>( "read\\S?me(\.(txt|asc|1st))?" );
+ rx.<a href="qregexp.html#setCaseSensitive">setCaseSensitive</a>( FALSE );
+ v.<a href="#setRegExp">setRegExp</a>( rx );
+ s = "readme"; v.<a href="#validate">validate</a>( s, pos ); // Returns Acceptable
+ s = "README.1ST"; v.<a href="#validate">validate</a>( s, pos ); // Returns Acceptable
+ s = "read me.txt"; v.<a href="#validate">validate</a>( s, pos ); // Returns Invalid
+ s = "readm"; v.<a href="#validate">validate</a>( s, pos ); // Returns Intermediate
+ </pre>
+
+<p> <p>See also <a href="qregexp.html">QRegExp</a>, <a href="qintvalidator.html">QIntValidator</a>, <a href="qdoublevalidator.html">QDoubleValidator</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRegExpValidator"></a>QRegExpValidator::QRegExpValidator ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator that accepts any string (including an empty
+one) as valid. The object's parent is <em>parent</em> and its name is <em>name</em>.
+
+<h3 class=fn><a name="QRegExpValidator-2"></a>QRegExpValidator::QRegExpValidator ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a validator which accepts all strings that match the
+<a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em>. The object's parent is <em>parent</em> and its
+name is <em>name</em>.
+<p> The match is made against the entire string, e.g. if the regexp is
+<b>[A-Fa-f0-9]+</b> it will be treated as <b>^[A-Fa-f0-9]+$</b>.
+
+<h3 class=fn><a name="~QRegExpValidator"></a>QRegExpValidator::~QRegExpValidator ()
+</h3>
+Destroys the validator, freeing any resources allocated.
+
+<h3 class=fn>const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp; <a name="regExp"></a>QRegExpValidator::regExp () const
+</h3>
+
+<p> Returns the <a href="qregexp.html#regular-expression">regular expression</a> used for validation.
+<p> <p>See also <a href="#setRegExp">setRegExp</a>().
+
+<h3 class=fn>void <a name="setRegExp"></a>QRegExpValidator::setRegExp ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx )
+</h3>
+Sets the <a href="qregexp.html#regular-expression">regular expression</a> used for validation to <em>rx</em>.
+<p> <p>See also <a href="#regExp">regExp</a>().
+
+<h3 class=fn><a href="qvalidator.html#State-enum">QValidator::State</a> <a name="validate"></a>QRegExpValidator::validate ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;input, int&nbsp;&amp;&nbsp;pos ) const<tt> [virtual]</tt>
+</h3>
+Returns <a href="qvalidator.html#State-enum">Acceptable</a> if <em>input</em> is matched by the <a href="qregexp.html#regular-expression">regular expression</a> for this validator, <a href="qvalidator.html#State-enum">Intermediate</a> if it has matched
+partially (i.e. could be a valid match if additional valid
+characters are added), and <a href="qvalidator.html#State-enum">Invalid</a> if <em>input</em> is not matched.
+<p> The <em>pos</em> parameter is set to the length of the <em>input</em> parameter.
+<p> For example, if the regular expression is <b>&#92;w&#92;d&#92;d</b> (that
+is, word-character, digit, digit) then "A57" is <a href="qvalidator.html#State-enum">Acceptable</a>,
+"E5" is <a href="qvalidator.html#State-enum">Intermediate</a> and "+9" is <a href="qvalidator.html#State-enum">Invalid</a>.
+<p> <p>See also <a href="qregexp.html#match">QRegExp::match</a>() and <a href="qregexp.html#search">QRegExp::search</a>().
+
+<p>Reimplemented from <a href="qvalidator.html#validate">QValidator</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregion-h.html b/doc/html/qregion-h.html
new file mode 100644
index 0000000..07aafd3
--- /dev/null
+++ b/doc/html/qregion-h.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qregion.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qregion.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qregion.h</h1>
+
+<p>This is the verbatim text of the qregion.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qregion.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QRegion class
+**
+** Created : 940514
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QREGION_H
+#define QREGION_H
+
+#ifndef QT_H
+#include "qshared.h"
+#include "qrect.h"
+#endif // QT_H
+
+#ifdef Q_WS_X11
+struct QRegionPrivate;
+#endif
+
+class Q_EXPORT QRegion
+{
+public:
+ enum RegionType { Rectangle, Ellipse };
+
+ QRegion();
+ QRegion( int x, int y, int w, int h, RegionType = Rectangle );
+ QRegion( const QRect &amp;, RegionType = Rectangle );
+ QRegion( const QPointArray &amp;, bool winding=FALSE );
+ QRegion( const QRegion &amp; );
+ QRegion( const QBitmap &amp; );
+ ~QRegion();
+ QRegion &amp;operator=( const QRegion &amp; );
+
+ bool isNull() const;
+ bool isEmpty() const;
+
+ bool contains( const QPoint &amp;p ) const;
+ bool contains( const QRect &amp;r ) const;
+
+ void translate( int dx, int dy );
+
+ QRegion unite( const QRegion &amp; ) const;
+ QRegion intersect( const QRegion &amp;) const;
+ QRegion subtract( const QRegion &amp; ) const;
+ QRegion eor( const QRegion &amp; ) const;
+
+ QRect boundingRect() const;
+ QMemArray&lt;QRect&gt; rects() const;
+ void setRects( const QRect *, int );
+
+ const QRegion operator|( const QRegion &amp; ) const;
+ const QRegion operator+( const QRegion &amp; ) const;
+ const QRegion operator&amp;( const QRegion &amp; ) const;
+ const QRegion operator-( const QRegion &amp; ) const;
+ const QRegion operator^( const QRegion &amp; ) const;
+ QRegion&amp; operator|=( const QRegion &amp; );
+ QRegion&amp; operator+=( const QRegion &amp; );
+ QRegion&amp; operator&amp;=( const QRegion &amp; );
+ QRegion&amp; operator-=( const QRegion &amp; );
+ QRegion&amp; operator^=( const QRegion &amp; );
+
+ bool operator==( const QRegion &amp; ) const;
+ bool operator!=( const QRegion &amp;r ) const
+ { return !(operator==(r)); }
+
+#if defined(Q_WS_WIN)
+ HRGN handle() const { return data-&gt;rgn; }
+#elif defined(Q_WS_X11)
+ Region handle() const { if(!data-&gt;rgn) updateX11Region(); return data-&gt;rgn; }
+#elif defined(Q_WS_MAC)
+ RgnHandle handle(bool require_rgn=FALSE) const;
+#elif defined(Q_WS_QWS)
+ // QGfx_QWS needs this for region drawing
+ void * handle() const { return data-&gt;rgn; }
+#endif
+
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QRegion &amp; );
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QRegion &amp; );
+#endif
+private:
+ QRegion( bool );
+ QRegion copy() const;
+ void detach();
+#if defined(Q_WS_WIN)
+ QRegion winCombine( const QRegion &amp;, int ) const;
+#endif
+#if defined(Q_WS_X11)
+ void updateX11Region() const;
+ void *clipRectangles( int &amp;num ) const;
+ friend void *qt_getClipRects( const QRegion &amp;, int &amp; );
+#endif
+ void exec( const QByteArray &amp;, int ver = 0 );
+ struct QRegionData : public QShared {
+#if defined(Q_WS_WIN)
+ HRGN rgn;
+#elif defined(Q_WS_X11)
+ Region rgn;
+ void *xrectangles;
+ QRegionPrivate *region;
+#elif defined(Q_WS_MAC)
+ uint is_rect:1;
+ QRect rect;
+ RgnHandle rgn;
+#elif defined(Q_WS_QWS)
+ void * rgn;
+#endif
+ bool is_null;
+ } *data;
+#if defined(Q_WS_MAC)
+ friend struct qt_mac_rgn_data_cache;
+ friend QRegionData *qt_mac_get_rgn_data();
+ friend void qt_mac_free_rgn_data(QRegionData *);
+ void rectifyRegion();
+#elif defined(Q_WS_WIN)
+ friend class QETWidget;
+#endif
+
+};
+
+
+#define QRGN_SETRECT 1 // region stream commands
+#define QRGN_SETELLIPSE 2 // (these are internal)
+#define QRGN_SETPTARRAY_ALT 3
+#define QRGN_SETPTARRAY_WIND 4
+#define QRGN_TRANSLATE 5
+#define QRGN_OR 6
+#define QRGN_AND 7
+#define QRGN_SUB 8
+#define QRGN_XOR 9
+#define QRGN_RECTS 10
+
+
+/*****************************************************************************
+ QRegion stream functions
+ *****************************************************************************/
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QRegion &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QRegion &amp; );
+#endif
+
+
+#endif // QREGION_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregion-members.html b/doc/html/qregion-members.html
new file mode 100644
index 0000000..e395e8d
--- /dev/null
+++ b/doc/html/qregion-members.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qregion.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegion Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QRegion</h1>
+
+<p>This is the complete list of member functions for
+<a href="qregion.html">QRegion</a>, including inherited members.
+
+<ul>
+<li><a href="qregion.html#QRegion">QRegion</a>()
+<li><a href="qregion.html#~QRegion">~QRegion</a>()
+<li><a href="qregion.html#boundingRect">boundingRect</a>()
+<li><a href="qregion.html#contains">contains</a>()
+<li><a href="qregion.html#eor">eor</a>()
+<li><a href="qregion.html#handle">handle</a>()
+<li><a href="qregion.html#intersect">intersect</a>()
+<li><a href="qregion.html#isEmpty">isEmpty</a>()
+<li><a href="qregion.html#isNull">isNull</a>()
+<li><a href="qregion.html#operator!-eq">operator!=</a>()
+<li><a href="qregion.html#operator-and">operator&amp;</a>()
+<li><a href="qregion.html#operator-and-eq">operator&amp;=</a>()
+<li><a href="qregion.html#operator+">operator+</a>()
+<li><a href="qregion.html#operator+-eq">operator+=</a>()
+<li><a href="qregion.html#operator-">operator-</a>()
+<li><a href="qregion.html#operator--eq">operator-=</a>()
+<li><a href="qregion.html#operator-eq">operator=</a>()
+<li><a href="qregion.html#operator-eq-eq">operator==</a>()
+<li><a href="qregion.html#operator^">operator^</a>()
+<li><a href="qregion.html#operator^-eq">operator^=</a>()
+<li><a href="qregion.html#operator|">operator|</a>()
+<li><a href="qregion.html#operator|-eq">operator|=</a>()
+<li><a href="qregion.html#rects">rects</a>()
+<li><a href="qregion.html#subtract">subtract</a>()
+<li><a href="qregion.html#translate">translate</a>()
+<li><a href="qregion.html#unite">unite</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qregion.html b/doc/html/qregion.html
new file mode 100644
index 0000000..49384e2
--- /dev/null
+++ b/doc/html/qregion.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qregion.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QRegion Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QRegion Class Reference</h1>
+
+<p>The QRegion class specifies a clip region for a painter.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qregion-h.html">qregion.h</a>&gt;</tt>
+<p><a href="qregion-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#RegionType-enum"><b>RegionType</b></a> { Rectangle, Ellipse }</li>
+<li class=fn><a href="#QRegion"><b>QRegion</b></a> ()</li>
+<li class=fn><a href="#QRegion-2"><b>QRegion</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, RegionType&nbsp;t = Rectangle )</li>
+<li class=fn><a href="#QRegion-3"><b>QRegion</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, RegionType&nbsp;t = Rectangle )</li>
+<li class=fn><a href="#QRegion-4"><b>QRegion</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a, bool&nbsp;winding = FALSE )</li>
+<li class=fn><a href="#QRegion-5"><b>QRegion</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn><a href="#QRegion-6"><b>QRegion</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;bm )</li>
+<li class=fn><a href="#~QRegion"><b>~QRegion</b></a> ()</li>
+<li class=fn>QRegion &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>bool <a href="#contains-2"><b>contains</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>void <a href="#translate"><b>translate</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>QRegion <a href="#unite"><b>unite</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRegion <a href="#intersect"><b>intersect</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRegion <a href="#subtract"><b>subtract</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRegion <a href="#eor"><b>eor</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRect <a href="#boundingRect"><b>boundingRect</b></a> () const</li>
+<li class=fn>QMemArray&lt;QRect&gt; <a href="#rects"><b>rects</b></a> () const</li>
+<li class=fn>const QRegion <a href="#operator|"><b>operator|</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>const QRegion <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>const QRegion <a href="#operator-and"><b>operator&amp;</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>const QRegion <a href="#operator-"><b>operator-</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>const QRegion <a href="#operator^"><b>operator^</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRegion &amp; <a href="#operator|-eq"><b>operator|=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QRegion &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QRegion &amp; <a href="#operator-and-eq"><b>operator&amp;=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QRegion &amp; <a href="#operator--eq"><b>operator-=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QRegion &amp; <a href="#operator^-eq"><b>operator^=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>HRGN <a href="#handle"><b>handle</b></a> () const</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QRegion&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QRegion class specifies a clip region for a painter.
+<p>
+
+<p> QRegion is used with <a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>() to limit the paint
+area to what needs to be painted. There is also a
+<a href="qwidget.html#repaint">QWidget::repaint</a>() that takes a QRegion parameter. QRegion is the
+best tool for reducing flicker.
+<p> A region can be created from a rectangle, an ellipse, a polygon or
+a bitmap. Complex regions may be created by combining simple
+regions using <a href="#unite">unite</a>(), <a href="#intersect">intersect</a>(), <a href="#subtract">subtract</a>() or <a href="#eor">eor</a>() (exclusive
+or). You can move a region using <a href="#translate">translate</a>().
+<p> You can test whether a region <a href="#isNull">isNull</a>(), <a href="#isEmpty">isEmpty</a>() or if it
+<a href="#contains">contains</a>() a <a href="qpoint.html">QPoint</a> or <a href="qrect.html">QRect</a>. The bounding rectangle is given by
+<a href="#boundingRect">boundingRect</a>().
+<p> The function <a href="#rects">rects</a>() gives a decomposition of the region into
+rectangles.
+<p> Example of using complex regions:
+<pre>
+ void MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p; // our painter
+ QRegion r1( QRect(100,100,200,80), // r1 = elliptic region
+ QRegion::<a href="#RegionType-enum">Ellipse</a> );
+ QRegion r2( QRect(100,120,90,30) ); // r2 = rectangular region
+ QRegion r3 = r1.<a href="#intersect">intersect</a>( r2 ); // r3 = intersection
+ p.<a href="qpainter.html#begin">begin</a>( this ); // start painting widget
+ p.<a href="qpainter.html#setClipRegion">setClipRegion</a>( r3 ); // set clip region
+ ... // paint clipped graphics
+ p.<a href="qpainter.html#end">end</a>(); // painting done
+ }
+ </pre>
+
+<p> QRegion is an <a href="shclass.html">implicitly shared</a> class.
+<p> <b>Warning:</b> Due to window system limitations, the whole coordinate
+space for a region is limited to the points between -32767 and
+32767 on Mac OS X and Windows 95/98/ME.
+<p> <p>See also <a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>(), <a href="qpainter.html#setClipRect">QPainter::setClipRect</a>(), <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="RegionType-enum"></a>QRegion::RegionType</h3>
+
+<p> Specifies the shape of the region to be created.
+<ul>
+<li><tt>QRegion::Rectangle</tt> - the region covers the entire rectangle.
+<li><tt>QRegion::Ellipse</tt> - the region is an ellipse inside the rectangle.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QRegion"></a>QRegion::QRegion ()
+</h3>
+Constructs a null region.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QRegion-2"></a>QRegion::QRegion ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, <a href="qregion.html#RegionType-enum">RegionType</a>&nbsp;t = Rectangle )
+</h3>
+Constructs a rectangular or elliptic region.
+<p> If <em>t</em> is <a href="#RegionType-enum">Rectangle</a>, the region is the filled rectangle (<em>x</em>,
+<em>y</em>, <em>w</em>, <em>h</em>). If <em>t</em> is <a href="#RegionType-enum">Ellipse</a>, the region is the filled
+ellipse with center at (<em>x</em> + <em>w</em> / 2, <em>y</em> + <em>h</em> / 2) and size
+(<em>w</em> ,<em>h</em> ).
+
+<h3 class=fn><a name="QRegion-3"></a>QRegion::QRegion ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, <a href="qregion.html#RegionType-enum">RegionType</a>&nbsp;t = Rectangle )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Create a region based on the rectange <em>r</em> with region type <em>t</em>.
+<p> If the rectangle is invalid a null region will be created.
+<p> <p>See also <a href="#RegionType-enum">QRegion::RegionType</a>.
+
+<h3 class=fn><a name="QRegion-4"></a>QRegion::QRegion ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a, bool&nbsp;winding = FALSE )
+</h3>
+Constructs a polygon region from the point array <em>a</em>.
+<p> If <em>winding</em> is TRUE, the polygon region is filled using the
+winding algorithm, otherwise the default even-odd fill algorithm
+is used.
+<p> This constructor may create complex regions that will slow down
+painting when used.
+
+<h3 class=fn><a name="QRegion-5"></a>QRegion::QRegion ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Constructs a new region which is equal to region <em>r</em>.
+
+<h3 class=fn><a name="QRegion-6"></a>QRegion::QRegion ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;bm )
+</h3>
+Constructs a region from the bitmap <em>bm</em>.
+<p> The resulting region consists of the pixels in bitmap <em>bm</em> that
+are <tt>color1</tt>, as if each pixel was a 1 by 1 rectangle.
+<p> This constructor may create complex regions that will slow down
+painting when used. Note that drawing masked pixmaps can be done
+much faster using <a href="qpixmap.html#setMask">QPixmap::setMask</a>().
+
+<h3 class=fn><a name="~QRegion"></a>QRegion::~QRegion ()
+</h3>
+Destroys the region.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="boundingRect"></a>QRegion::boundingRect () const
+</h3>
+Returns the bounding rectangle of this region. An empty region
+gives a rectangle that is <a href="qrect.html#isNull">QRect::isNull</a>().
+
+<h3 class=fn>bool <a name="contains"></a>QRegion::contains ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+Returns TRUE if the region contains the point <em>p</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="contains-2"></a>QRegion::contains ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the region overlaps the rectangle <em>r</em>; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="eor"></a>QRegion::eor ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns a region which is the exclusive or (XOR) of this region
+and <em>r</em>.
+<p> <center><img src="rxor.png" alt="Region XORed"></center>
+<p> The figure shows the exclusive or of two elliptical regions.
+
+<h3 class=fn>HRGN <a name="handle"></a>QRegion::handle () const
+</h3>
+
+<p> Returns the region's handle.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="intersect"></a>QRegion::intersect ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns a region which is the intersection of this region and <em>r</em>.
+<p> <center><img src="rintersect.png" alt="Region Intersection"></center>
+<p> The figure shows the intersection of two elliptical regions.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QRegion::isEmpty () const
+</h3>
+Returns TRUE if the region is empty; otherwise returns FALSE. An
+empty region is a region that contains no points.
+<p> Example:
+<pre>
+ QRegion r1( 10, 10, 20, 20 );
+ QRegion r2( 40, 40, 20, 20 );
+ QRegion r3;
+ r1.<a href="#isNull">isNull</a>(); // FALSE
+ r1.<a href="#isEmpty">isEmpty</a>(); // FALSE
+ r3.<a href="#isNull">isNull</a>(); // TRUE
+ r3.<a href="#isEmpty">isEmpty</a>(); // TRUE
+ r3 = r1.<a href="#intersect">intersect</a>( r2 ); // r3 = intersection of r1 and r2
+ r3.<a href="#isNull">isNull</a>(); // FALSE
+ r3.<a href="#isEmpty">isEmpty</a>(); // TRUE
+ r3 = r1.<a href="#unite">unite</a>( r2 ); // r3 = union of r1 and r2
+ r3.<a href="#isNull">isNull</a>(); // FALSE
+ r3.<a href="#isEmpty">isEmpty</a>(); // FALSE
+ </pre>
+
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QRegion::isNull () const
+</h3>
+Returns TRUE if the region is a null region; otherwise returns
+FALSE.
+<p> A null region is a region that has not been initialized. A null
+region is always empty.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QRegion::operator!= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+
+<p> Returns TRUE if the region is different from <em>r</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="operator-and"></a>QRegion::operator&amp; ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Applies the <a href="#intersect">intersect</a>() function to this region and <em>r</em>. <tt>r1&amp;r2</tt>
+is equivalent to <tt>r1.intersect(r2)</tt>
+<p> <p>See also <a href="#intersect">intersect</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator-and-eq"></a>QRegion::operator&amp;= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Applies the <a href="#intersect">intersect</a>() function to this region and <em>r</em> and
+assigns the result to this region. <tt>r1&amp;=r2</tt> is equivalent to <tt>r1=r1.intersect(r2)</tt>
+<p> <p>See also <a href="#intersect">intersect</a>().
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="operator+"></a>QRegion::operator+ ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Applies the <a href="#unite">unite</a>() function to this region and <em>r</em>. <tt>r1+r2</tt> is
+equivalent to <tt>r1.unite(r2)</tt>
+<p> <p>See also <a href="#unite">unite</a>() and <a href="#operator|">operator|</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator+-eq"></a>QRegion::operator+= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Applies the <a href="#unite">unite</a>() function to this region and <em>r</em> and assigns
+the result to this region. <tt>r1+=r2</tt> is equivalent to <tt>r1=r1.unite(r2)</tt>
+<p> <p>See also <a href="#intersect">intersect</a>().
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="operator-"></a>QRegion::operator- ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Applies the <a href="#subtract">subtract</a>() function to this region and <em>r</em>. <tt>r1-r2</tt>
+is equivalent to <tt>r1.subtract(r2)</tt>
+<p> <p>See also <a href="#subtract">subtract</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator--eq"></a>QRegion::operator-= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Applies the <a href="#subtract">subtract</a>() function to this region and <em>r</em> and
+assigns the result to this region. <tt>r1-=r2</tt> is equivalent to <tt>r1=r1.subtract(r2)</tt>
+<p> <p>See also <a href="#subtract">subtract</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator-eq"></a>QRegion::operator= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Assigns <em>r</em> to this region and returns a reference to the region.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QRegion::operator== ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns TRUE if the region is equal to <em>r</em>; otherwise returns
+FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="operator^"></a>QRegion::operator^ ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Applies the <a href="#eor">eor</a>() function to this region and <em>r</em>. <tt>r1^r2</tt> is
+equivalent to <tt>r1.eor(r2)</tt>
+<p> <p>See also <a href="#eor">eor</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator^-eq"></a>QRegion::operator^= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Applies the <a href="#eor">eor</a>() function to this region and <em>r</em> and
+assigns the result to this region. <tt>r1^=r2</tt> is equivalent to <tt>r1=r1.eor(r2)</tt>
+<p> <p>See also <a href="#eor">eor</a>().
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="operator|"></a>QRegion::operator| ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Applies the <a href="#unite">unite</a>() function to this region and <em>r</em>. <tt>r1|r2</tt> is
+equivalent to <tt>r1.unite(r2)</tt>
+<p> <p>See also <a href="#unite">unite</a>() and <a href="#operator+">operator+</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="operator|-eq"></a>QRegion::operator|= ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+Applies the <a href="#unite">unite</a>() function to this region and <em>r</em> and assigns
+the result to this region. <tt>r1|=r2</tt> is equivalent to <tt>r1=r1.unite(r2)</tt>
+<p> <p>See also <a href="#unite">unite</a>().
+
+<h3 class=fn><a href="qmemarray.html">QMemArray</a>&lt;QRect&gt; <a name="rects"></a>QRegion::rects () const
+</h3>
+Returns an array of non-overlapping rectangles that make up the
+region.
+<p> The union of all the rectangles is equal to the original region.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="subtract"></a>QRegion::subtract ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns a region which is <em>r</em> subtracted from this region.
+<p> <center><img src="rsubtract.png" alt="Region Subtraction"></center>
+<p> The figure shows the result when the ellipse on the right is
+subtracted from the ellipse on the left. (<tt>left-right</tt> )
+
+<h3 class=fn>void <a name="translate"></a>QRegion::translate ( int&nbsp;dx, int&nbsp;dy )
+</h3>
+Translates (moves) the region <em>dx</em> along the X axis and <em>dy</em>
+along the Y axis.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="unite"></a>QRegion::unite ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+Returns a region which is the union of this region and <em>r</em>.
+<p> <center><img src="runion.png" alt="Region Union"></center>
+<p> The figure shows the union of two elliptical regions.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Writes the region <em>r</em> to the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Reads a region from the stream <em>s</em> into <em>r</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qresizeevent-members.html b/doc/html/qresizeevent-members.html
new file mode 100644
index 0000000..97e9712
--- /dev/null
+++ b/doc/html/qresizeevent-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:368 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QResizeEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QResizeEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qresizeevent.html">QResizeEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qresizeevent.html#QResizeEvent">QResizeEvent</a>()
+<li><a href="qresizeevent.html#oldSize">oldSize</a>()
+<li><a href="qresizeevent.html#size">size</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qresizeevent.html b/doc/html/qresizeevent.html
new file mode 100644
index 0000000..5ff08d6
--- /dev/null
+++ b/doc/html/qresizeevent.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1358 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QResizeEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QResizeEvent Class Reference</h1>
+
+<p>The QResizeEvent class contains event parameters for resize events.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qresizeevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QResizeEvent"><b>QResizeEvent</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;size, const&nbsp;QSize&nbsp;&amp;&nbsp;oldSize )</li>
+<li class=fn>const QSize &amp; <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>const QSize &amp; <a href="#oldSize"><b>oldSize</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QResizeEvent class contains event parameters for resize events.
+<p>
+<p> Resize events are sent to widgets that have been resized.
+<p> The event handler <a href="qwidget.html#resizeEvent">QWidget::resizeEvent</a>() receives resize events.
+<p> <p>See also <a href="qwidget.html#size-prop">QWidget::size</a>, <a href="qwidget.html#geometry-prop">QWidget::geometry</a>, and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QResizeEvent"></a>QResizeEvent::QResizeEvent ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;size, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;oldSize )
+</h3>
+
+<p> Constructs a resize event with the new and old widget sizes, <em>size</em> and <em>oldSize</em> respectively.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; <a name="oldSize"></a>QResizeEvent::oldSize () const
+</h3>
+
+<p> Returns the old size of the widget.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; <a name="size"></a>QResizeEvent::size () const
+</h3>
+
+<p> Returns the new size of the widget, which is the same as
+<a href="qwidget.html#size">QWidget::size</a>().
+
+<p>Examples: <a href="tutorial2-06.html#x2583">chart/canvasview.cpp</a> and <a href="life-example.html#x1895">life/life.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qrtlcodec-h.html b/doc/html/qrtlcodec-h.html
new file mode 100644
index 0000000..f45be46
--- /dev/null
+++ b/doc/html/qrtlcodec-h.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qrtlcodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qrtlcodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qrtlcodec.h</h1>
+
+<p>This is the verbatim text of the qrtlcodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qrtlcodec.h 3.3.8 edited Jan 11 14:46 $
+**
+** Implementation of QTextCodec class
+**
+** Created : 981015
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QRTLCODEC_H
+#define QRTLCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+#ifndef QT_NO_CODEC_HEBREW
+
+class Q_EXPORT QHebrewCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+ const char* mimeName() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+};
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qs-addwidg.png b/doc/html/qs-addwidg.png
new file mode 100644
index 0000000..54e7dad
--- /dev/null
+++ b/doc/html/qs-addwidg.png
Binary files differ
diff --git a/doc/html/qs-editconn1.png b/doc/html/qs-editconn1.png
new file mode 100644
index 0000000..f58d47c
--- /dev/null
+++ b/doc/html/qs-editconn1.png
Binary files differ
diff --git a/doc/html/qs-editconn2.png b/doc/html/qs-editconn2.png
new file mode 100644
index 0000000..6fc7e3d
--- /dev/null
+++ b/doc/html/qs-editconn2.png
Binary files differ
diff --git a/doc/html/qs-editfunc.png b/doc/html/qs-editfunc.png
new file mode 100644
index 0000000..4098f3d
--- /dev/null
+++ b/doc/html/qs-editfunc.png
Binary files differ
diff --git a/doc/html/qs-editlistbox1.png b/doc/html/qs-editlistbox1.png
new file mode 100644
index 0000000..b85e7ad
--- /dev/null
+++ b/doc/html/qs-editlistbox1.png
Binary files differ
diff --git a/doc/html/qs-laygrid.png b/doc/html/qs-laygrid.png
new file mode 100644
index 0000000..de41cb7
--- /dev/null
+++ b/doc/html/qs-laygrid.png
Binary files differ
diff --git a/doc/html/qs-layhoriz.png b/doc/html/qs-layhoriz.png
new file mode 100644
index 0000000..6ce383c
--- /dev/null
+++ b/doc/html/qs-layhoriz.png
Binary files differ
diff --git a/doc/html/qs-layvert.png b/doc/html/qs-layvert.png
new file mode 100644
index 0000000..f35845e
--- /dev/null
+++ b/doc/html/qs-layvert.png
Binary files differ
diff --git a/doc/html/qs-newdlg.png b/doc/html/qs-newdlg.png
new file mode 100644
index 0000000..23189c9
--- /dev/null
+++ b/doc/html/qs-newdlg.png
Binary files differ
diff --git a/doc/html/qs-projset.png b/doc/html/qs-projset.png
new file mode 100644
index 0000000..14371bf
--- /dev/null
+++ b/doc/html/qs-projset.png
Binary files differ
diff --git a/doc/html/qs-pushbutt.png b/doc/html/qs-pushbutt.png
new file mode 100644
index 0000000..14eabf7
--- /dev/null
+++ b/doc/html/qs-pushbutt.png
Binary files differ
diff --git a/doc/html/qs-spacers.png b/doc/html/qs-spacers.png
new file mode 100644
index 0000000..fa5c6e5
--- /dev/null
+++ b/doc/html/qs-spacers.png
Binary files differ
diff --git a/doc/html/qs-taborder.png b/doc/html/qs-taborder.png
new file mode 100644
index 0000000..faefc11
--- /dev/null
+++ b/doc/html/qs-taborder.png
Binary files differ
diff --git a/doc/html/qs-txtlbl.png b/doc/html/qs-txtlbl.png
new file mode 100644
index 0000000..5f5dbc9
--- /dev/null
+++ b/doc/html/qs-txtlbl.png
Binary files differ
diff --git a/doc/html/qscrbar-m.png b/doc/html/qscrbar-m.png
new file mode 100644
index 0000000..7ee04c2
--- /dev/null
+++ b/doc/html/qscrbar-m.png
Binary files differ
diff --git a/doc/html/qscrbar-w.png b/doc/html/qscrbar-w.png
new file mode 100644
index 0000000..348aba4
--- /dev/null
+++ b/doc/html/qscrbar-w.png
Binary files differ
diff --git a/doc/html/qscreen-members.html b/doc/html/qscreen-members.html
new file mode 100644
index 0000000..c8e27fb
--- /dev/null
+++ b/doc/html/qscreen-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qgfx_qws.h:191 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScreen Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QScreen</h1>
+
+<p>This is the complete list of member functions for
+<a href="qscreen.html">QScreen</a>, including inherited members.
+
+<ul>
+<li><a href="qscreen.html#QScreen">QScreen</a>()
+<li><a href="qscreen.html#~QScreen">~QScreen</a>()
+<li><a href="qscreen.html#alloc">alloc</a>()
+<li><a href="qscreen.html#base">base</a>()
+<li><a href="qscreen.html#blank">blank</a>()
+<li><a href="qscreen.html#cache">cache</a>()
+<li><a href="qscreen.html#clut">clut</a>()
+<li><a href="qscreen.html#connect">connect</a>()
+<li><a href="qscreen.html#createGfx">createGfx</a>()
+<li><a href="qscreen.html#depth">depth</a>()
+<li><a href="qscreen.html#deviceHeight">deviceHeight</a>()
+<li><a href="qscreen.html#deviceWidth">deviceWidth</a>()
+<li><a href="qscreen.html#disconnect">disconnect</a>()
+<li><a href="qscreen.html#height">height</a>()
+<li><a href="qscreen.html#initCursor">initCursor</a>()
+<li><a href="qscreen.html#initDevice">initDevice</a>()
+<li><a href="qscreen.html#isInterlaced">isInterlaced</a>()
+<li><a href="qscreen.html#isTransformed">isTransformed</a>()
+<li><a href="qscreen.html#lastOp">lastOp</a>()
+<li><a href="qscreen.html#linestep">linestep</a>()
+<li><a href="qscreen.html#mapFromDevice">mapFromDevice</a>()
+<li><a href="qscreen.html#mapToDevice">mapToDevice</a>()
+<li><a href="qscreen.html#numCols">numCols</a>()
+<li><a href="qscreen.html#onCard">onCard</a>()
+<li><a href="qscreen.html#opType">opType</a>()
+<li><a href="qscreen.html#pixelType">pixelType</a>()
+<li><a href="qscreen.html#pixmapDepth">pixmapDepth</a>()
+<li><a href="qscreen.html#pixmapLinestepAlignment">pixmapLinestepAlignment</a>()
+<li><a href="qscreen.html#pixmapOffsetAlignment">pixmapOffsetAlignment</a>()
+<li><a href="qscreen.html#restore">restore</a>()
+<li><a href="qscreen.html#save">save</a>()
+<li><a href="qscreen.html#screenGfx">screenGfx</a>()
+<li><a href="qscreen.html#screenSize">screenSize</a>()
+<li><a href="qscreen.html#set">set</a>()
+<li><a href="qscreen.html#setDirty">setDirty</a>()
+<li><a href="qscreen.html#setMode">setMode</a>()
+<li><a href="qscreen.html#shutdownDevice">shutdownDevice</a>()
+<li><a href="qscreen.html#supportsDepth">supportsDepth</a>()
+<li><a href="qscreen.html#totalSize">totalSize</a>()
+<li><a href="qscreen.html#transformOrientation">transformOrientation</a>()
+<li><a href="qscreen.html#uncache">uncache</a>()
+<li><a href="qscreen.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscreen.html b/doc/html/qscreen.html
new file mode 100644
index 0000000..40603fe
--- /dev/null
+++ b/doc/html/qscreen.html
@@ -0,0 +1,440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qgfxraster_qws.cpp:5792 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScreen Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QScreen Class Reference</h1>
+
+<p>The QScreen class and its descendants manage the framebuffer and
+palette.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qgfx_qws-h.html">qgfx_qws.h</a>&gt;</tt>
+<p><a href="qscreen-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QScreen"><b>QScreen</b></a> ( int&nbsp;display_id )</li>
+<li class=fn>virtual <a href="#~QScreen"><b>~QScreen</b></a> ()</li>
+<li class=fn>virtual bool <a href="#initDevice"><b>initDevice</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#connect"><b>connect</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;displaySpec ) = 0</li>
+<li class=fn>virtual void <a href="#disconnect"><b>disconnect</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#initCursor"><b>initCursor</b></a> ( void&nbsp;*&nbsp;end_of_location, bool&nbsp;init = FALSE )</li>
+<li class=fn>virtual void <a href="#shutdownDevice"><b>shutdownDevice</b></a> ()</li>
+<li class=fn>virtual void <a href="#setMode"><b>setMode</b></a> ( int, int, int ) = 0</li>
+<li class=fn>virtual bool <a href="#supportsDepth"><b>supportsDepth</b></a> ( int&nbsp;d ) const</li>
+<li class=fn>virtual QGfx * <a href="#createGfx"><b>createGfx</b></a> ( unsigned&nbsp;char&nbsp;*&nbsp;bytes, int&nbsp;w, int&nbsp;h, int&nbsp;d, int&nbsp;linestep )</li>
+<li class=fn>virtual QGfx * <a href="#screenGfx"><b>screenGfx</b></a> ()</li>
+<li class=fn>virtual void <a href="#save"><b>save</b></a> ()</li>
+<li class=fn>virtual void <a href="#restore"><b>restore</b></a> ()</li>
+<li class=fn>virtual void <a href="#blank"><b>blank</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual int <a href="#pixmapOffsetAlignment"><b>pixmapOffsetAlignment</b></a> ()</li>
+<li class=fn>virtual int <a href="#pixmapLinestepAlignment"><b>pixmapLinestepAlignment</b></a> ()</li>
+<li class=fn>virtual bool <a href="#onCard"><b>onCard</b></a> ( unsigned&nbsp;char&nbsp;*&nbsp;p ) const</li>
+<li class=fn>virtual bool <a href="#onCard-2"><b>onCard</b></a> ( unsigned&nbsp;char&nbsp;*&nbsp;p, ulong&nbsp;&amp;&nbsp;offset ) const</li>
+<li class=fn>virtual void <a href="#set"><b>set</b></a> ( unsigned int, unsigned int, unsigned int, unsigned int )</li>
+<li class=fn>virtual int <a href="#alloc"><b>alloc</b></a> ( unsigned&nbsp;int&nbsp;r, unsigned&nbsp;int&nbsp;g, unsigned&nbsp;int&nbsp;b )</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>int <a href="#depth"><b>depth</b></a> () const</li>
+<li class=fn>virtual int <a href="#pixmapDepth"><b>pixmapDepth</b></a> () const</li>
+<li class=fn>int <a href="#pixelType"><b>pixelType</b></a> () const</li>
+<li class=fn>int <a href="#linestep"><b>linestep</b></a> () const</li>
+<li class=fn>int <a href="#deviceWidth"><b>deviceWidth</b></a> () const</li>
+<li class=fn>int <a href="#deviceHeight"><b>deviceHeight</b></a> () const</li>
+<li class=fn>uchar * <a href="#base"><b>base</b></a> () const</li>
+<li class=fn>virtual uchar * <a href="#cache"><b>cache</b></a> ( int, int )</li>
+<li class=fn>virtual void <a href="#uncache"><b>uncache</b></a> ( uchar * )</li>
+<li class=fn>int <a href="#screenSize"><b>screenSize</b></a> () const</li>
+<li class=fn>int <a href="#totalSize"><b>totalSize</b></a> () const</li>
+<li class=fn>QRgb * <a href="#clut"><b>clut</b></a> ()</li>
+<li class=fn>int <a href="#numCols"><b>numCols</b></a> ()</li>
+<li class=fn>virtual QSize <a href="#mapToDevice"><b>mapToDevice</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>virtual QSize <a href="#mapFromDevice"><b>mapFromDevice</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>virtual QPoint <a href="#mapToDevice-2"><b>mapToDevice</b></a> ( const QPoint &amp;, const QSize &amp; ) const</li>
+<li class=fn>virtual QPoint <a href="#mapFromDevice-2"><b>mapFromDevice</b></a> ( const QPoint &amp;, const QSize &amp; ) const</li>
+<li class=fn>virtual QRect <a href="#mapToDevice-3"><b>mapToDevice</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const QSize &amp; ) const</li>
+<li class=fn>virtual QRect <a href="#mapFromDevice-3"><b>mapFromDevice</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, const QSize &amp; ) const</li>
+<li class=fn>virtual QImage <a href="#mapToDevice-4"><b>mapToDevice</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;i ) const</li>
+<li class=fn>virtual QImage <a href="#mapFromDevice-4"><b>mapFromDevice</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;i ) const</li>
+<li class=fn>virtual QRegion <a href="#mapToDevice-5"><b>mapToDevice</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r, const QSize &amp; ) const</li>
+<li class=fn>virtual QRegion <a href="#mapFromDevice-5"><b>mapFromDevice</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r, const QSize &amp; ) const</li>
+<li class=fn>virtual int <a href="#transformOrientation"><b>transformOrientation</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isTransformed"><b>isTransformed</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isInterlaced"><b>isInterlaced</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDirty"><b>setDirty</b></a> ( const QRect &amp; )</li>
+<li class=fn>int * <a href="#opType"><b>opType</b></a> ()</li>
+<li class=fn>int * <a href="#lastOp"><b>lastOp</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QScreen class and its descendants manage the framebuffer and
+palette.
+<p> QScreens act as factories for the screen cursor and QGfx's. QLinuxFbScreen
+manages a Linux framebuffer; accelerated drivers subclass QLinuxFbScreen.
+There can only be one screen in a Qt/Embedded application.
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QScreen"></a>QScreen::QScreen ( int&nbsp;display_id )
+</h3>
+
+Create a screen; the <em>display_id</em> is the number of the Qt/Embedded server
+to connect to.
+
+<h3 class=fn><a name="~QScreen"></a>QScreen::~QScreen ()<tt> [virtual]</tt>
+</h3>
+Destroys a QScreen
+
+<h3 class=fn>int <a name="alloc"></a>QScreen::alloc ( unsigned&nbsp;int&nbsp;r, unsigned&nbsp;int&nbsp;g, unsigned&nbsp;int&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Given an RGB value <em>r</em> <em>g</em> <em>b</em>, return an index which is the closest
+match to it in the screen's palette. Used in paletted modes only.
+
+<h3 class=fn>uchar * <a name="base"></a>QScreen::base () const
+</h3>
+
+Returns a pointer to the start of the framebuffer.
+
+<h3 class=fn>void <a name="blank"></a>QScreen::blank ( bool&nbsp;on )<tt> [virtual]</tt>
+</h3>
+
+If <em>on</em> is true, blank the screen. Otherwise unblank it.
+
+<h3 class=fn>uchar * <a name="cache"></a>QScreen::cache ( int, int )<tt> [virtual]</tt>
+</h3>
+
+This function is used to store pixmaps in graphics memory for the
+use of the accelerated drivers. See QLinuxFbScreen (where the cacheing
+is implemented) for more information.
+
+<h3 class=fn>QRgb * <a name="clut"></a>QScreen::clut ()
+</h3>
+
+Returns the screen's color lookup table (color palette). This is only
+valid in paletted modes (8bpp and lower).
+
+<h3 class=fn>bool <a name="connect"></a>QScreen::connect ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;displaySpec )<tt> [pure virtual]</tt>
+</h3>
+
+This function is called by every Qt/Embedded application on startup.
+It maps in the framebuffer and in the accelerated drivers the graphics
+card control registers. <em>displaySpec</em> has the following syntax:
+<p>
+<tt>[gfx driver][:driver specific options][:display number]</tt>
+<p>
+for example if you want to use the mach64 driver on fb1 as display 2:
+<p>
+<tt>Mach64:/dev/fb1:2</tt>
+<p>
+<em>displaySpec</em> is passed in via the QWS_DISPLAY environment variable
+or the -display command line parameter.
+
+<h3 class=fn>QGfx * <a name="createGfx"></a>QScreen::createGfx ( unsigned&nbsp;char&nbsp;*&nbsp;bytes, int&nbsp;w, int&nbsp;h, int&nbsp;d, int&nbsp;linestep )<tt> [virtual]</tt>
+</h3>
+
+Creates a gfx on an arbitrary buffer <em>bytes</em>, width <em>w</em> and height <em>h</em> in
+pixels, depth <em>d</em> and <em>linestep</em> (length in bytes of each line in the
+buffer). Accelerated drivers can check to see if <em>bytes</em> points into
+graphics memory and create an accelerated Gfx.
+
+<h3 class=fn>int <a name="depth"></a>QScreen::depth () const
+</h3>
+
+Gives the depth in bits per pixel of the framebuffer. This is the number
+of bits each pixel takes up rather than the number of significant bits,
+so 24bpp and 32bpp express the same range of colors (8 bits of
+red, green and blue)
+
+<h3 class=fn>int <a name="deviceHeight"></a>QScreen::deviceHeight () const
+</h3>
+
+Gives the full height of the framebuffer device, as opposed to the
+height which Qt/Embedded will actually use. These can differ if the
+display is centered within the framebuffer.
+
+<h3 class=fn>int <a name="deviceWidth"></a>QScreen::deviceWidth () const
+</h3>
+
+Gives the full width of the framebuffer device, as opposed to the
+width which Qt/Embedded will actually use. These can differ if the
+display is centered within the framebuffer.
+
+<h3 class=fn>void <a name="disconnect"></a>QScreen::disconnect ()<tt> [pure virtual]</tt>
+</h3>
+
+This function is called by every Qt/Embedded application just
+before exitting; it's normally used to unmap the framebuffer.
+
+<h3 class=fn>int <a name="height"></a>QScreen::height () const
+</h3>
+
+Gives the height in pixels of the framebuffer.
+
+<h3 class=fn>int <a name="initCursor"></a>QScreen::initCursor ( void&nbsp;*&nbsp;end_of_location, bool&nbsp;init = FALSE )<tt> [virtual]</tt>
+</h3>
+This is used to initialize the software cursor - <em>end_of_location</em>
+points to the address after the area where the cursor image can be stored.
+<em>init</em> is true for the first application this method is called from
+(the Qt/Embedded server), false otherwise.
+
+<h3 class=fn>bool <a name="initDevice"></a>QScreen::initDevice ()<tt> [pure virtual]</tt>
+</h3>
+
+This function is called by the Qt/Embedded server when initializing
+the framebuffer. Accelerated drivers use it to set up the graphics card.
+
+<h3 class=fn>bool <a name="isInterlaced"></a>QScreen::isInterlaced () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the display is interlaced (for instance a
+television screen); otherwise returns FALSE. If TRUE, drawing is
+altered to look better on such displays.
+
+<h3 class=fn>bool <a name="isTransformed"></a>QScreen::isTransformed () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the screen is transformed (for instance, rotated
+90 degrees); otherwise returns FALSE. QScreen's version always
+returns FALSE.
+
+<h3 class=fn>int * <a name="lastOp"></a>QScreen::lastOp ()
+</h3>
+
+<p> Returns the screens last operation.
+
+<h3 class=fn>int <a name="linestep"></a>QScreen::linestep () const
+</h3>
+
+Returns the length in bytes of each scanline of the framebuffer.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="mapFromDevice"></a>QScreen::mapFromDevice ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Map a framebuffer coordinate to the coordinate space used by the
+application. Used by the rotated driver; the QScreen
+implementation simply returns <em>s</em>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapFromDevice-2"></a>QScreen::mapFromDevice ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Map a framebuffer coordinate to the coordinate space used by the
+application. Used by the rotated driver; the QScreen
+implementation simply returns the point.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="mapFromDevice-3"></a>QScreen::mapFromDevice ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Map a framebuffer coordinate to the coordinate space used by the
+application. Used by the rotated driver; the QScreen
+implementation simply returns <em>r</em>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="mapFromDevice-4"></a>QScreen::mapFromDevice ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms an image so that it matches the application coordinate
+space (e.g. rotating it 90 degrees counter-clockwise). The QScreen
+implementation simply returns <em>i</em>.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="mapFromDevice-5"></a>QScreen::mapFromDevice ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms a region so that it matches the application coordinate
+space (e.g. rotating it 90 degrees counter-clockwise). The QScreen
+implementation simply returns <em>r</em>.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="mapToDevice"></a>QScreen::mapToDevice ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s ) const<tt> [virtual]</tt>
+</h3>
+
+<p> Map a user coordinate to the one to actually draw. Used by the
+rotated driver; the QScreen implementation simply returns <em>s</em>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapToDevice-2"></a>QScreen::mapToDevice ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Map a user coordinate to the one to actually draw. Used by the
+rotated driver; the QScreen implementation simply returns the
+point passed in.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="mapToDevice-3"></a>QScreen::mapToDevice ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Map a user coordinate to the one to actually draw. Used by the
+rotated driver; the QScreen implementation simply returns <em>r</em>.
+
+<h3 class=fn><a href="qimage.html">QImage</a> <a name="mapToDevice-4"></a>QScreen::mapToDevice ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;i ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms an image so that it fits the device coordinate space
+(e.g. rotating it 90 degrees clockwise). The QScreen
+implementation simply returns <em>i</em>.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="mapToDevice-5"></a>QScreen::mapToDevice ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms a region so that it fits the device coordinate space
+(e.g. rotating it 90 degrees clockwise). The QScreen
+implementation simply returns <em>r</em>.
+
+<h3 class=fn>int <a name="numCols"></a>QScreen::numCols ()
+</h3>
+
+Returns the number of entries in the color table returned by <a href="#clut">clut</a>().
+
+<h3 class=fn>bool <a name="onCard"></a>QScreen::onCard ( unsigned&nbsp;char&nbsp;*&nbsp;p ) const<tt> [virtual]</tt>
+</h3>
+
+Returns true if the buffer pointed to by <em>p</em> is within graphics card
+memory, false if it's in main RAM.
+
+<h3 class=fn>bool <a name="onCard-2"></a>QScreen::onCard ( unsigned&nbsp;char&nbsp;*&nbsp;p, ulong&nbsp;&amp;&nbsp;offset ) const<tt> [virtual]</tt>
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This checks whether the buffer specified by <em>p</em> is on the card
+(as per the other version of onCard) and returns an offset in bytes
+from the start of graphics card memory in <em>offset</em> if it is.
+
+<h3 class=fn>int * <a name="opType"></a>QScreen::opType ()
+</h3>
+
+<p> Returns the screen's operation type.
+
+<h3 class=fn>int <a name="pixelType"></a>QScreen::pixelType () const
+</h3>
+
+Returns an integer (taking the same values as QGfx::PixelType)
+that specifies the pixel storage format of the screen.
+
+<h3 class=fn>int <a name="pixmapDepth"></a>QScreen::pixmapDepth () const<tt> [virtual]</tt>
+</h3>
+
+Gives the preferred depth for pixmaps. By default this is the same
+as the screen depth, but for the VGA16 driver it's 8bpp.
+
+<h3 class=fn>int <a name="pixmapLinestepAlignment"></a>QScreen::pixmapLinestepAlignment ()<tt> [virtual]</tt>
+</h3>
+
+Returns the value in bits to which individual scanlines of pixmaps held in
+graphics card memory should be aligned. This is only useful for accelerated
+drivers. By default the value returned is 64 but it can be overridden
+by individual accelerated drivers.
+
+<h3 class=fn>int <a name="pixmapOffsetAlignment"></a>QScreen::pixmapOffsetAlignment ()<tt> [virtual]</tt>
+</h3>
+
+Returns the value in bits to which the start address of pixmaps held in
+graphics card memory should be aligned. This is only useful for accelerated
+drivers. By default the value returned is 64 but it can be overridden
+by individual accelerated drivers.
+
+<h3 class=fn>void <a name="restore"></a>QScreen::restore ()<tt> [virtual]</tt>
+</h3>
+Restores the state of the graphics card from a previous <a href="#save">save</a>()
+
+<h3 class=fn>void <a name="save"></a>QScreen::save ()<tt> [virtual]</tt>
+</h3>
+Saves the state of the graphics card - used so that, for instance,
+the palette can be restored when switching between linux virtual
+consoles. Hardware QScreen descendants should save register state
+here if necessary if switching between virtual consoles (for
+example to/from X) is to be permitted.
+
+<h3 class=fn>QGfx * <a name="screenGfx"></a>QScreen::screenGfx ()<tt> [virtual]</tt>
+</h3>
+Returns a QGfx (normally a QGfxRaster) initialized to point to the screen,
+with an origin at 0,0 and a clip region covering the whole screen.
+
+<h3 class=fn>int <a name="screenSize"></a>QScreen::screenSize () const
+</h3>
+
+Returns the size in bytes of the screen. This is always located at
+the beginning of framebuffer memory (i.e. at <a href="#base">base</a>()).
+
+<h3 class=fn>void <a name="set"></a>QScreen::set ( unsigned int, unsigned int, unsigned int, unsigned int )<tt> [virtual]</tt>
+</h3>
+Sets an entry in the color palette.
+
+<h3 class=fn>void <a name="setDirty"></a>QScreen::setDirty ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3>
+
+<p> Indicates which section of the screen has been altered. Used by
+the VNC and VFB displays; the QScreen version does nothing.
+
+<h3 class=fn>void <a name="setMode"></a>QScreen::setMode ( int, int, int )<tt> [pure virtual]</tt>
+</h3>
+
+This function can be used to set the framebuffer width, height and
+depth. It's currently unused.
+
+<h3 class=fn>void <a name="shutdownDevice"></a>QScreen::shutdownDevice ()<tt> [virtual]</tt>
+</h3>
+Called by the Qt/Embedded server on shutdown; never called by
+a Qt/Embedded client. This is intended to support graphics card specific
+shutdown; the unaccelerated implementation simply hides the mouse cursor.
+
+<h3 class=fn>bool <a name="supportsDepth"></a>QScreen::supportsDepth ( int&nbsp;d ) const<tt> [virtual]</tt>
+</h3>
+
+Returns true if the screen supports a particular color depth <em>d</em>.
+Possible values are 1,4,8,16 and 32.
+
+<h3 class=fn>int <a name="totalSize"></a>QScreen::totalSize () const
+</h3>
+
+Returns the size in bytes of available graphics card memory, including the
+screen. Offscreen memory is only used by the accelerated drivers.
+
+<h3 class=fn>int <a name="transformOrientation"></a>QScreen::transformOrientation () const<tt> [virtual]</tt>
+</h3>
+
+<p> Used by the rotated server. The QScreeen implementation returns 0.
+
+<h3 class=fn>void <a name="uncache"></a>QScreen::uncache ( uchar * )<tt> [virtual]</tt>
+</h3>
+
+This function is called on pixmap destruction to remove them from
+graphics card memory.
+
+<h3 class=fn>int <a name="width"></a>QScreen::width () const
+</h3>
+
+Gives the width in pixels of the framebuffer.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollbar-h.html b/doc/html/qscrollbar-h.html
new file mode 100644
index 0000000..81900de
--- /dev/null
+++ b/doc/html/qscrollbar-h.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qscrollbar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qscrollbar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qscrollbar.h</h1>
+
+<p>This is the verbatim text of the qscrollbar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qscrollbar.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QScrollBar class
+**
+** Created : 940427
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSCROLLBAR_H
+#define QSCROLLBAR_H
+
+class QTimer;
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#endif // QT_H
+
+#ifndef QT_NO_SCROLLBAR
+
+class Q_EXPORT QScrollBar : public QWidget, public QRangeControl
+{
+ Q_OBJECT
+ Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
+ Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( int lineStep READ lineStep WRITE setLineStep )
+ Q_PROPERTY( int pageStep READ pageStep WRITE setPageStep )
+ Q_PROPERTY( int value READ value WRITE setValue )
+ Q_PROPERTY( bool tracking READ tracking WRITE setTracking )
+ Q_PROPERTY( bool draggingSlider READ draggingSlider )
+ Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
+
+public:
+ QScrollBar( QWidget *parent, const char* name = 0 );
+ QScrollBar( Orientation, QWidget *parent, const char* name = 0 );
+ QScrollBar( int minValue, int maxValue, int lineStep, int pageStep,
+ int value, Orientation, QWidget *parent, const char* name = 0 );
+ ~QScrollBar();
+
+ virtual void setOrientation( Orientation );
+ Orientation orientation() const;
+ virtual void setTracking( bool enable );
+ bool tracking() const;
+ bool draggingSlider() const;
+
+ virtual void setPalette( const QPalette &amp; );
+ virtual QSize sizeHint() const;
+ virtual void setSizePolicy( QSizePolicy sp );
+ void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE );
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue( int );
+ void setMaxValue( int );
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep( int );
+ void setPageStep( int );
+ int value() const;
+
+ int sliderStart() const;
+ QRect sliderRect() const;
+
+public slots:
+ void setValue( int );
+
+signals:
+ void valueChanged( int value );
+ void sliderPressed();
+ void sliderMoved( int value );
+ void sliderReleased();
+ void nextLine();
+ void prevLine();
+ void nextPage();
+ void prevPage();
+
+protected:
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void keyPressEvent( QKeyEvent * );
+ void resizeEvent( QResizeEvent * );
+ void paintEvent( QPaintEvent * );
+
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+ void contextMenuEvent( QContextMenuEvent * );
+ void hideEvent( QHideEvent* );
+
+ void valueChange();
+ void stepChange();
+ void rangeChange();
+
+ void styleChange( QStyle&amp; );
+
+private slots:
+ void doAutoRepeat();
+
+private:
+ void init();
+ void positionSliderFromValue();
+ int calculateValueFromSlider() const;
+
+ void startAutoRepeat();
+ void stopAutoRepeat();
+
+ int rangeValueToSliderPos( int val ) const;
+ int sliderPosToRangeValue( int val ) const;
+
+ void action( int control );
+
+ void drawControls( uint controls, uint activeControl ) const;
+ void drawControls( uint controls, uint activeControl,
+ QPainter *p ) const;
+
+ uint pressedControl;
+ bool track;
+ bool clickedAt;
+ Orientation orient;
+
+ int slidePrevVal;
+ QCOORD sliderPos;
+ QCOORD clickOffset;
+
+ QTimer * repeater;
+ void * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QScrollBar( const QScrollBar &amp; );
+ QScrollBar &amp;operator=( const QScrollBar &amp; );
+#endif
+};
+
+
+inline void QScrollBar::setTracking( bool t )
+{
+ track = t;
+}
+
+inline bool QScrollBar::tracking() const
+{
+ return track;
+}
+
+inline QScrollBar::Orientation QScrollBar::orientation() const
+{
+ return orient;
+}
+
+inline int QScrollBar::sliderStart() const
+{
+ return sliderPos;
+}
+
+inline void QScrollBar::setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw )
+{
+ QWidget::setSizePolicy( hor, ver, hfw );
+}
+
+
+#endif // QT_NO_SCROLLBAR
+
+#endif // QSCROLLBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollbar-members.html b/doc/html/qscrollbar-members.html
new file mode 100644
index 0000000..d6bec5f
--- /dev/null
+++ b/doc/html/qscrollbar-members.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qscrollbar.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScrollBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QScrollBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qscrollbar.html">QScrollBar</a>, including inherited members.
+
+<ul>
+<li><a href="qscrollbar.html#QScrollBar">QScrollBar</a>()
+<li><a href="qscrollbar.html#~QScrollBar">~QScrollBar</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qrangecontrol.html#addLine">addLine</a>()
+<li><a href="qrangecontrol.html#addPage">addPage</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qrangecontrol.html#bound">bound</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qrangecontrol.html#directSetValue">directSetValue</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollbar.html#draggingSlider">draggingSlider</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qscrollbar.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollbar.html#lineStep">lineStep</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qscrollbar.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qscrollbar.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qscrollbar.html#nextLine">nextLine</a>()
+<li><a href="qscrollbar.html#nextPage">nextPage</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qscrollbar.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qscrollbar.html#pageStep">pageStep</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qrangecontrol.html#positionFromValue">positionFromValue</a>()
+<li><a href="qscrollbar.html#prevLine">prevLine</a>()
+<li><a href="qscrollbar.html#prevPage">prevPage</a>()
+<li><a href="qrangecontrol.html#prevValue">prevValue</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qrangecontrol.html#rangeChange">rangeChange</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qscrollbar.html#setLineStep">setLineStep</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qscrollbar.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qscrollbar.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qscrollbar.html#setOrientation">setOrientation</a>()
+<li><a href="qscrollbar.html#setPageStep">setPageStep</a>()
+<li><a href="qscrollbar.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qrangecontrol.html#setRange">setRange</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qrangecontrol.html#setSteps">setSteps</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qscrollbar.html#setTracking">setTracking</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollbar.html#setValue">setValue</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qscrollbar.html#sliderMoved">sliderMoved</a>()
+<li><a href="qscrollbar.html#sliderPressed">sliderPressed</a>()
+<li><a href="qscrollbar.html#sliderRect">sliderRect</a>()
+<li><a href="qscrollbar.html#sliderReleased">sliderReleased</a>()
+<li><a href="qscrollbar.html#sliderStart">sliderStart</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qrangecontrol.html#stepChange">stepChange</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qrangecontrol.html#subtractLine">subtractLine</a>()
+<li><a href="qrangecontrol.html#subtractPage">subtractPage</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qscrollbar.html#tracking">tracking</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollbar.html#value">value</a>()
+<li><a href="qrangecontrol.html#valueChange">valueChange</a>()
+<li><a href="qscrollbar.html#valueChanged">valueChanged</a>()
+<li><a href="qrangecontrol.html#valueFromPosition">valueFromPosition</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollbar.html b/doc/html/qscrollbar.html
new file mode 100644
index 0000000..cde2597
--- /dev/null
+++ b/doc/html/qscrollbar.html
@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qscrollbar.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScrollBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QScrollBar Class Reference</h1>
+
+<p>The QScrollBar widget provides a vertical or horizontal scroll bar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qscrollbar-h.html">qscrollbar.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qrangecontrol.html">QRangeControl</a>.
+<p><a href="qscrollbar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QScrollBar"><b>QScrollBar</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QScrollBar-2"><b>QScrollBar</b></a> ( Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QScrollBar-3"><b>QScrollBar</b></a> ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;lineStep, int&nbsp;pageStep, int&nbsp;value, Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QScrollBar"><b>~QScrollBar</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTracking"><b>setTracking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#tracking"><b>tracking</b></a> () const</li>
+<li class=fn>bool <a href="#draggingSlider"><b>draggingSlider</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPalette"><b>setPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>int <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int )</li>
+<li class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int )</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</li>
+<li class=fn>int <a href="#pageStep"><b>pageStep</b></a> () const</li>
+<li class=fn>void <a href="#setLineStep"><b>setLineStep</b></a> ( int )</li>
+<li class=fn>void <a href="#setPageStep"><b>setPageStep</b></a> ( int )</li>
+<li class=fn>int <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>int <a href="#sliderStart"><b>sliderStart</b></a> () const</li>
+<li class=fn>QRect <a href="#sliderRect"><b>sliderRect</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setValue"><b>setValue</b></a> ( int )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#sliderPressed"><b>sliderPressed</b></a> ()</li>
+<li class=fn>void <a href="#sliderMoved"><b>sliderMoved</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#sliderReleased"><b>sliderReleased</b></a> ()</li>
+<li class=fn>void <a href="#nextLine"><b>nextLine</b></a> ()</li>
+<li class=fn>void <a href="#prevLine"><b>prevLine</b></a> ()</li>
+<li class=fn>void <a href="#nextPage"><b>nextPage</b></a> ()</li>
+<li class=fn>void <a href="#prevPage"><b>prevPage</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#draggingSlider-prop"><b>draggingSlider</b></a>&nbsp;- whether the user has clicked the mouse on the slider and is currently dragging it &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#lineStep-prop"><b>lineStep</b></a>&nbsp;- the line step</li>
+<li class=fn>int <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the scroll bar's maximum value</li>
+<li class=fn>int <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the scroll bar's minimum value</li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the orientation of the scroll bar</li>
+<li class=fn>int <a href="#pageStep-prop"><b>pageStep</b></a>&nbsp;- the page step</li>
+<li class=fn>bool <a href="#tracking-prop"><b>tracking</b></a>&nbsp;- whether scroll bar tracking is enabled</li>
+<li class=fn>int <a href="#value-prop"><b>value</b></a>&nbsp;- the scroll bar's value</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#hideEvent"><b>hideEvent</b></a> ( QHideEvent * )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QScrollBar widget provides a vertical or horizontal scroll bar.
+<p>
+<p> A scroll bar allows the user to control a value within a
+program-definable range and gives users a visible indication of
+the current value of a <a href="qrangecontrol.html">range control</a>.
+<p> Scroll bars include four separate controls:
+<p> <ul>
+<p> <li> The <em>line-up</em> and <em>line-down</em> controls are little buttons
+which the user can use to move one "line" up or down. The meaning
+of line is configurable. In editors and list boxes it means one
+line of text; in an image viewer it might mean 20 pixels.
+<p> <li> The <em>slider</em> is the handle that indicates the current value of
+the scroll bar, which the user can drag to change the value. This
+part of the scroll bar is sometimes called the "thumb".
+<p> <li> The <em>page-up/page-down</em> control is the area on which the
+slider slides (the scroll bar's background). Clicking here moves
+the scroll bar towards the click. The meaning of "page" is also
+configurable: in editors and list boxes it means as many lines as
+there is space for in the widget.
+<p> </ul>
+<p> QScrollBar has very few of its own functions; it mostly relies on
+<a href="qrangecontrol.html">QRangeControl</a>. The most useful functions are <a href="#setValue">setValue</a>() to set the
+scroll bar directly to some value; <a href="qrangecontrol.html#addPage">addPage</a>(), <a href="qrangecontrol.html#addLine">addLine</a>(),
+<a href="qrangecontrol.html#subtractPage">subtractPage</a>(), and <a href="qrangecontrol.html#subtractLine">subtractLine</a>() to simulate the effects of
+clicking (useful for accelerator keys); <a href="qrangecontrol.html#setSteps">setSteps</a>() to define the
+values of <a href="#pageStep">pageStep</a>() and <a href="#lineStep">lineStep</a>(); and <a href="qrangecontrol.html#setRange">setRange</a>() to set the
+<a href="#minValue">minValue</a>() and <a href="#maxValue">maxValue</a>() of the scroll bar. QScrollBar has a
+convenience constructor with which you can set most of these
+properties.
+<p> Some GUI styles (for example, the Windows and <a href="motif-extension.html#Motif">Motif</a> styles
+provided with Qt), also use the pageStep() value to calculate the
+size of the slider.
+<p> In addition to the access functions from <a href="qrangecontrol.html">QRangeControl</a>, QScrollBar
+provides a comprehensive set of signals:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Signal <th valign="top">Emitted when
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#valueChanged">valueChanged</a>()
+<td valign="top">the scroll bar's value has changed. The <a href="#tracking">tracking</a>()
+determines whether this signal is emitted during user
+interaction.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#sliderPressed">sliderPressed</a>()
+<td valign="top">the user starts to drag the slider.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#sliderMoved">sliderMoved</a>()
+<td valign="top">the user drags the slider.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#sliderReleased">sliderReleased</a>()
+<td valign="top">the user releases the slider.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#nextLine">nextLine</a>()
+<td valign="top">the scroll bar has moved one line down or right. Line is
+defined in <a href="qrangecontrol.html">QRangeControl</a>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#prevLine">prevLine</a>()
+<td valign="top">the scroll bar has moved one line up or left.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#nextPage">nextPage</a>()
+<td valign="top">the scroll bar has moved one page down or right.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#prevPage">prevPage</a>()
+<td valign="top">the scroll bar has moved one page up or left.
+</table></center>
+<p> QScrollBar only provides integer ranges. Note that although
+QScrollBar handles very large numbers, scroll bars on current
+screens cannot usefully control ranges above about 100,000 pixels.
+Beyond that, it becomes difficult for the user to control the
+scroll bar using either the keyboard or the mouse.
+<p> A scroll bar can be controlled by the keyboard, but it has a
+default <a href="qwidget.html#focusPolicy">focusPolicy</a>() of <a href="qwidget.html#FocusPolicy-enum">NoFocus</a>. Use <a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>() to
+enable <a href="focus.html#keyboard-focus">keyboard focus</a>. See <a href="qwidget.html#keyPressEvent">keyPressEvent</a>() for a list of key
+bindings.
+<p> If you need to add scroll bars to an interface, consider using the
+<a href="qscrollview.html">QScrollView</a> class, which encapsulates the common uses for scroll
+bars.
+<p> <img src=qscrbar-m.png> <img src=qscrbar-w.png>
+<p> <p>See also <a href="qslider.html">QSlider</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="qscrollview.html">QScrollView</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Scroll Bar</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QScrollBar"></a>QScrollBar::QScrollBar ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical scroll bar.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> The <a href="#minValue-prop">minValue</a> defaults to 0, the <a href="#maxValue-prop">maxValue</a> to 99, with a <a href="#lineStep-prop">lineStep</a> size of 1 and a <a href="#pageStep-prop">pageStep</a> size of 10, and an initial
+<a href="#value-prop">value</a> of 0.
+
+<h3 class=fn><a name="QScrollBar-2"></a>QScrollBar::QScrollBar ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a scroll bar.
+<p> The <em>orientation</em> must be <a href="qt.html#Orientation-enum">Qt::Vertical</a> or <a href="qt.html#Orientation-enum">Qt::Horizontal</a>.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> The <a href="#minValue-prop">minValue</a> defaults to 0, the <a href="#maxValue-prop">maxValue</a> to 99, with a <a href="#lineStep-prop">lineStep</a> size of 1 and a <a href="#pageStep-prop">pageStep</a> size of 10, and an initial
+<a href="#value-prop">value</a> of 0.
+
+<h3 class=fn><a name="QScrollBar-3"></a>QScrollBar::QScrollBar ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;lineStep, int&nbsp;pageStep, int&nbsp;value, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a scroll bar whose value can never be smaller than <em>minValue</em> or greater than <em>maxValue</em>, whose line step size is <em>lineStep</em> and page step size is <em>pageStep</em> and whose value is
+initially <em>value</em> (which is guaranteed to be in range using
+<a href="qrangecontrol.html#bound">bound</a>()).
+<p> If <em>orientation</em> is <a href="qt.html#Orientation-enum">Vertical</a> the scroll bar is vertical and if
+it is <a href="qt.html#Orientation-enum">Horizontal</a> the scroll bar is horizontal.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QScrollBar"></a>QScrollBar::~QScrollBar ()
+</h3>
+Destructor.
+
+<h3 class=fn>bool <a name="draggingSlider"></a>QScrollBar::draggingSlider () const
+</h3><p>Returns TRUE if the user has clicked the mouse on the slider and is currently dragging it; otherwise returns FALSE.
+See the <a href="qscrollbar.html#draggingSlider-prop">"draggingSlider"</a> property for details.
+<h3 class=fn>void <a name="hideEvent"></a>QScrollBar::hideEvent ( <a href="qhideevent.html">QHideEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This function is called when the scrollbar is hidden.
+
+<p>Reimplemented from <a href="qwidget.html#hideEvent">QWidget</a>.
+<h3 class=fn>int <a name="lineStep"></a>QScrollBar::lineStep () const
+</h3><p>Returns the line step.
+See the <a href="qscrollbar.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>int <a name="maxValue"></a>QScrollBar::maxValue () const
+</h3><p>Returns the scroll bar's maximum value.
+See the <a href="qscrollbar.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>int <a name="minValue"></a>QScrollBar::minValue () const
+</h3><p>Returns the scroll bar's minimum value.
+See the <a href="qscrollbar.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="nextLine"></a>QScrollBar::nextLine ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the scroll bar scrolls one line down
+or right.
+
+<h3 class=fn>void <a name="nextPage"></a>QScrollBar::nextPage ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the scroll bar scrolls one page down
+or right.
+
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QScrollBar::orientation () const
+</h3><p>Returns the orientation of the scroll bar.
+See the <a href="qscrollbar.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>int <a name="pageStep"></a>QScrollBar::pageStep () const
+</h3><p>Returns the page step.
+See the <a href="qscrollbar.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="prevLine"></a>QScrollBar::prevLine ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the scroll bar scrolls one line up or
+left.
+
+<h3 class=fn>void <a name="prevPage"></a>QScrollBar::prevPage ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the scroll bar scrolls one page up or
+left.
+
+<h3 class=fn>void <a name="setLineStep"></a>QScrollBar::setLineStep ( int )
+</h3><p>Sets the line step.
+See the <a href="qscrollbar.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>void <a name="setMaxValue"></a>QScrollBar::setMaxValue ( int )
+</h3><p>Sets the scroll bar's maximum value.
+See the <a href="qscrollbar.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QScrollBar::setMinValue ( int )
+</h3><p>Sets the scroll bar's minimum value.
+See the <a href="qscrollbar.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QScrollBar::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )<tt> [virtual]</tt>
+</h3><p>Sets the orientation of the scroll bar.
+See the <a href="qscrollbar.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setPageStep"></a>QScrollBar::setPageStep ( int )
+</h3><p>Sets the page step.
+See the <a href="qscrollbar.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="setPalette"></a>QScrollBar::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Reimplements the virtual function <a href="qwidget.html#setPalette">QWidget::setPalette</a>().
+<p> Sets the background color to the mid color for <a href="motif-extension.html#Motif">Motif</a> style scroll
+bars using palette <em>p</em>.
+
+<p>Reimplemented from <a href="qwidget.html#setPalette">QWidget</a>.
+<h3 class=fn>void <a name="setTracking"></a>QScrollBar::setTracking ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3><p>Sets whether scroll bar tracking is enabled to <em>enable</em>.
+See the <a href="qscrollbar.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>void <a name="setValue"></a>QScrollBar::setValue ( int )<tt> [slot]</tt>
+</h3><p>Sets the scroll bar's value.
+See the <a href="qscrollbar.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="sliderMoved"></a>QScrollBar::sliderMoved ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the slider is dragged by the user, with
+the new scroll bar <em>value</em> as an argument.
+<p> This signal is emitted even when tracking is turned off.
+<p> <p>See also <a href="#tracking-prop">tracking</a>, <a href="#valueChanged">valueChanged</a>(), <a href="#nextLine">nextLine</a>(), <a href="#prevLine">prevLine</a>(), <a href="#nextPage">nextPage</a>(), and <a href="#prevPage">prevPage</a>().
+
+<h3 class=fn>void <a name="sliderPressed"></a>QScrollBar::sliderPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses the slider with the
+mouse.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="sliderRect"></a>QScrollBar::sliderRect () const
+</h3>
+Returns the scroll bar slider rectangle.
+<p> <p>See also <a href="#sliderStart">sliderStart</a>().
+
+<h3 class=fn>void <a name="sliderReleased"></a>QScrollBar::sliderReleased ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user releases the slider with the
+mouse.
+
+<h3 class=fn>int <a name="sliderStart"></a>QScrollBar::sliderStart () const
+</h3>
+
+<p> Returns the pixel position where the scroll bar slider starts.
+<p> This is equivalent to <a href="#sliderRect">sliderRect</a>().<a href="qwidget.html#y">y</a>() for vertical scroll bars or
+sliderRect().<a href="qwidget.html#x">x</a>() for horizontal scroll bars.
+
+<h3 class=fn>bool <a name="tracking"></a>QScrollBar::tracking () const
+</h3><p>Returns TRUE if scroll bar tracking is enabled; otherwise returns FALSE.
+See the <a href="qscrollbar.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>int <a name="value"></a>QScrollBar::value () const
+</h3><p>Returns the scroll bar's value.
+See the <a href="qscrollbar.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="valueChanged"></a>QScrollBar::valueChanged ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the scroll bar value has changed, with
+the new scroll bar <em>value</em> as an argument.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="draggingSlider-prop"></a>draggingSlider</h3>
+<p>This property holds whether the user has clicked the mouse on the slider and is currently dragging it.
+<p>
+<p>Get this property's value with <a href="#draggingSlider">draggingSlider</a>().
+<h3 class=fn>int <a name="lineStep-prop"></a>lineStep</h3>
+<p>This property holds the line step.
+<p>When setting lineStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be
+called if the new line step is different from the previous
+setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">setSteps</a>(), <a href="qrangecontrol.html#pageStep">QRangeControl::pageStep</a>(), and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setLineStep">setLineStep</a>() and get this property's value with <a href="#lineStep">lineStep</a>().
+<h3 class=fn>int <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the scroll bar's maximum value.
+<p>When setting this property, the <a href="#minValue-prop">QScrollBar::minValue</a> is
+adjusted if necessary to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn>int <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the scroll bar's minimum value.
+<p>When setting this property, the <a href="#maxValue-prop">QScrollBar::maxValue</a> is
+adjusted if necessary to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the orientation of the scroll bar.
+<p>The orientation must be <a href="qt.html#Orientation-enum">Qt::Vertical</a> (the default) or <a href="qt.html#Orientation-enum">Qt::Horizontal</a>.
+
+<p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>().
+<h3 class=fn>int <a name="pageStep-prop"></a>pageStep</h3>
+<p>This property holds the page step.
+<p>When setting pageStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be
+called if the new page step is different from the previous
+setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">QRangeControl::setSteps</a>(), <a href="#lineStep-prop">lineStep</a>, and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setPageStep">setPageStep</a>() and get this property's value with <a href="#pageStep">pageStep</a>().
+<h3 class=fn>bool <a name="tracking-prop"></a>tracking</h3>
+<p>This property holds whether scroll bar tracking is enabled.
+<p>If tracking is enabled (the default), the scroll bar emits the
+<a href="#valueChanged">valueChanged</a>() signal while the slider is being dragged. If
+tracking is disabled, the scroll bar emits the valueChanged()
+signal only when the user releases the mouse button after moving
+the slider.
+
+<p>Set this property's value with <a href="#setTracking">setTracking</a>() and get this property's value with <a href="#tracking">tracking</a>().
+<h3 class=fn>int <a name="value-prop"></a>value</h3>
+<p>This property holds the scroll bar's value.
+<p>Set this property's value with <a href="#setValue">setValue</a>() and get this property's value with <a href="#value">value</a>().
+<p><p>See also <a href="qrangecontrol.html#value">QRangeControl::value</a>() and <a href="qrangecontrol.html#prevValue">prevValue</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollview-cl.png b/doc/html/qscrollview-cl.png
new file mode 100644
index 0000000..c1cfe51
--- /dev/null
+++ b/doc/html/qscrollview-cl.png
Binary files differ
diff --git a/doc/html/qscrollview-h.html b/doc/html/qscrollview-h.html
new file mode 100644
index 0000000..ca093a9
--- /dev/null
+++ b/doc/html/qscrollview-h.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qscrollview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qscrollview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qscrollview.h</h1>
+
+<p>This is the verbatim text of the qscrollview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qscrollview.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QScrollView class
+**
+** Created : 970523
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+#ifndef QSCROLLVIEW_H
+#define QSCROLLVIEW_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qscrollbar.h"
+#endif // QT_H
+
+#ifndef QT_NO_SCROLLVIEW
+
+class QScrollViewData;
+
+class Q_EXPORT QScrollView : public QFrame
+{
+ Q_OBJECT
+ Q_ENUMS( ResizePolicy ScrollBarMode )
+ Q_PROPERTY( ResizePolicy resizePolicy READ resizePolicy WRITE setResizePolicy )
+ Q_PROPERTY( ScrollBarMode vScrollBarMode READ vScrollBarMode WRITE setVScrollBarMode )
+ Q_PROPERTY( ScrollBarMode hScrollBarMode READ hScrollBarMode WRITE setHScrollBarMode )
+ Q_PROPERTY( int visibleWidth READ visibleWidth )
+ Q_PROPERTY( int visibleHeight READ visibleHeight )
+ Q_PROPERTY( int contentsWidth READ contentsWidth )
+ Q_PROPERTY( int contentsHeight READ contentsHeight )
+ Q_PROPERTY( int contentsX READ contentsX )
+ Q_PROPERTY( int contentsY READ contentsY )
+#ifndef QT_NO_DRAGANDDROP
+ Q_PROPERTY( bool dragAutoScroll READ dragAutoScroll WRITE setDragAutoScroll )
+#endif
+
+public:
+ QScrollView(QWidget* parent=0, const char* name=0, WFlags f=0);
+ ~QScrollView();
+
+ enum ResizePolicy { Default, Manual, AutoOne, AutoOneFit };
+ virtual void setResizePolicy( ResizePolicy );
+ ResizePolicy resizePolicy() const;
+
+ void styleChange( QStyle &amp; );
+ void removeChild(QWidget* child);
+ virtual void addChild( QWidget* child, int x=0, int y=0 );
+ virtual void moveChild( QWidget* child, int x, int y );
+ int childX(QWidget* child);
+ int childY(QWidget* child);
+ bool childIsVisible(QWidget* child) { return child-&gt;isVisible(); } // obsolete functions
+ void showChild(QWidget* child, bool yes=TRUE) {
+ if ( yes )
+ child-&gt;show();
+ else
+ child-&gt;hide();
+ }
+
+ enum ScrollBarMode { Auto, AlwaysOff, AlwaysOn };
+
+ ScrollBarMode vScrollBarMode() const;
+ virtual void setVScrollBarMode( ScrollBarMode );
+
+ ScrollBarMode hScrollBarMode() const;
+ virtual void setHScrollBarMode( ScrollBarMode );
+
+ QWidget* cornerWidget() const;
+ virtual void setCornerWidget(QWidget*);
+
+ // ### 4.0: Consider providing a factory function for scrollbars
+ // (e.g. make the two following functions virtual)
+ QScrollBar* horizontalScrollBar() const;
+ QScrollBar* verticalScrollBar() const;
+ QWidget* viewport() const;
+ QWidget* clipper() const;
+
+ int visibleWidth() const;
+ int visibleHeight() const;
+
+ int contentsWidth() const;
+ int contentsHeight() const;
+ int contentsX() const;
+ int contentsY() const;
+
+ void resize( int w, int h );
+ void resize( const QSize&amp; );
+ void show();
+
+ void updateContents( int x, int y, int w, int h );
+ void updateContents( const QRect&amp; r );
+ void updateContents();
+ void repaintContents( int x, int y, int w, int h, bool erase=TRUE );
+ void repaintContents( const QRect&amp; r, bool erase=TRUE );
+ void repaintContents( bool erase=TRUE );
+ void contentsToViewport( int x, int y, int&amp; vx, int&amp; vy ) const;
+ void viewportToContents( int vx, int vy, int&amp; x, int&amp; y ) const;
+ QPoint contentsToViewport( const QPoint&amp; ) const;
+ QPoint viewportToContents( const QPoint&amp; ) const;
+ void enableClipper( bool y );
+
+ void setStaticBackground( bool y );
+ bool hasStaticBackground() const;
+
+ QSize viewportSize( int, int ) const;
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ void removeChild(QObject* child);
+
+ bool isHorizontalSliderPressed();
+ bool isVerticalSliderPressed();
+
+#ifndef QT_NO_DRAGANDDROP
+ virtual void setDragAutoScroll( bool b );
+ bool dragAutoScroll() const;
+#endif
+
+signals:
+ void contentsMoving(int x, int y);
+ void horizontalSliderPressed();
+ void horizontalSliderReleased();
+ void verticalSliderPressed();
+ void verticalSliderReleased();
+
+public slots:
+ virtual void resizeContents( int w, int h );
+ void scrollBy( int dx, int dy );
+ virtual void setContentsPos( int x, int y );
+ void ensureVisible(int x, int y);
+ void ensureVisible(int x, int y, int xmargin, int ymargin);
+ void center(int x, int y);
+ void center(int x, int y, float xmargin, float ymargin);
+
+ void updateScrollBars(); // ### virtual in 4.0
+ void setEnabled( bool enable );
+
+protected:
+ virtual void drawContents(QPainter*, int cx, int cy, int cw, int ch);
+ virtual void drawContentsOffset(QPainter*, int ox, int oy,
+ int cx, int cy, int cw, int ch);
+
+
+ virtual void contentsMousePressEvent( QMouseEvent* );
+ virtual void contentsMouseReleaseEvent( QMouseEvent* );
+ virtual void contentsMouseDoubleClickEvent( QMouseEvent* );
+ virtual void contentsMouseMoveEvent( QMouseEvent* );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void contentsDragEnterEvent( QDragEnterEvent * );
+ virtual void contentsDragMoveEvent( QDragMoveEvent * );
+ virtual void contentsDragLeaveEvent( QDragLeaveEvent * );
+ virtual void contentsDropEvent( QDropEvent * );
+#endif
+#ifndef QT_NO_WHEELEVENT
+ virtual void contentsWheelEvent( QWheelEvent * );
+#endif
+ virtual void contentsContextMenuEvent( QContextMenuEvent * );
+
+
+ virtual void viewportPaintEvent( QPaintEvent* );
+ virtual void viewportResizeEvent( QResizeEvent* );
+ virtual void viewportMousePressEvent( QMouseEvent* );
+ virtual void viewportMouseReleaseEvent( QMouseEvent* );
+ virtual void viewportMouseDoubleClickEvent( QMouseEvent* );
+ virtual void viewportMouseMoveEvent( QMouseEvent* );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void viewportDragEnterEvent( QDragEnterEvent * );
+ virtual void viewportDragMoveEvent( QDragMoveEvent * );
+ virtual void viewportDragLeaveEvent( QDragLeaveEvent * );
+ virtual void viewportDropEvent( QDropEvent * );
+#endif
+#ifndef QT_NO_WHEELEVENT
+ virtual void viewportWheelEvent( QWheelEvent * );
+#endif
+ virtual void viewportContextMenuEvent( QContextMenuEvent * );
+
+ void frameChanged();
+
+ virtual void setMargins(int left, int top, int right, int bottom);
+ int leftMargin() const;
+ int topMargin() const;
+ int rightMargin() const;
+ int bottomMargin() const;
+
+ bool focusNextPrevChild( bool next );
+
+ virtual void setHBarGeometry(QScrollBar&amp; hbar, int x, int y, int w, int h);
+ virtual void setVBarGeometry(QScrollBar&amp; vbar, int x, int y, int w, int h);
+
+ void resizeEvent(QResizeEvent*);
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseDoubleClickEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void contextMenuEvent( QContextMenuEvent * );
+ bool eventFilter( QObject *, QEvent *e );
+
+ void setCachedSizeHint( const QSize &amp;sh ) const;
+ QSize cachedSizeHint() const;
+ void fontChange( const QFont &amp; );
+
+private:
+ void drawContents( QPainter* );
+ void moveContents(int x, int y);
+
+ QScrollViewData* d;
+
+private slots:
+ void hslide(int);
+ void vslide(int);
+ void hbarIsPressed();
+ void hbarIsReleased();
+ void vbarIsPressed();
+ void vbarIsReleased();
+#ifndef QT_NO_DRAGANDDROP
+ void doDragAutoScroll();
+ void startDragAutoScroll();
+ void stopDragAutoScroll();
+#endif
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QScrollView( const QScrollView &amp; );
+ QScrollView &amp;operator=( const QScrollView &amp; );
+#endif
+ void changeFrameRect(const QRect&amp;);
+
+public:
+ void disableSizeHintCaching();
+
+};
+
+#endif // QT_NO_SCROLLVIEW
+
+#endif // QSCROLLVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollview-m.png b/doc/html/qscrollview-m.png
new file mode 100644
index 0000000..28770df
--- /dev/null
+++ b/doc/html/qscrollview-m.png
Binary files differ
diff --git a/doc/html/qscrollview-members.html b/doc/html/qscrollview-members.html
new file mode 100644
index 0000000..46d4402
--- /dev/null
+++ b/doc/html/qscrollview-members.html
@@ -0,0 +1,424 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qscrollview.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScrollView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QScrollView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qscrollview.html">QScrollView</a>, including inherited members.
+
+<ul>
+<li><a href="qscrollview.html#QScrollView">QScrollView</a>()
+<li><a href="qscrollview.html#~QScrollView">~QScrollView</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qscrollview-vp.png b/doc/html/qscrollview-vp.png
new file mode 100644
index 0000000..27d456f
--- /dev/null
+++ b/doc/html/qscrollview-vp.png
Binary files differ
diff --git a/doc/html/qscrollview-vp2.png b/doc/html/qscrollview-vp2.png
new file mode 100644
index 0000000..1d54918
--- /dev/null
+++ b/doc/html/qscrollview-vp2.png
Binary files differ
diff --git a/doc/html/qscrollview-w.png b/doc/html/qscrollview-w.png
new file mode 100644
index 0000000..dba6c5f
--- /dev/null
+++ b/doc/html/qscrollview-w.png
Binary files differ
diff --git a/doc/html/qscrollview.html b/doc/html/qscrollview.html
new file mode 100644
index 0000000..be8d219
--- /dev/null
+++ b/doc/html/qscrollview.html
@@ -0,0 +1,930 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qscrollview.cpp:347 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QScrollView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QScrollView Class Reference</h1>
+
+<p>The QScrollView widget provides a scrolling area with on-demand scroll bars.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qscrollview-h.html">qscrollview.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p>Inherited by <a href="qcanvasview.html">QCanvasView</a>, <a href="qtable.html">QTable</a>, <a href="qgridview.html">QGridView</a>, <a href="qiconview.html">QIconView</a>, <a href="qlistbox.html">QListBox</a>, <a href="qlistview.html">QListView</a>, and <a href="qtextedit.html">QTextEdit</a>.
+<p><a href="qscrollview-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QScrollView"><b>QScrollView</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QScrollView"><b>~QScrollView</b></a> ()</li>
+<li class=fn>enum <a href="#ResizePolicy-enum"><b>ResizePolicy</b></a> { Default, Manual, AutoOne, AutoOneFit }</li>
+<li class=fn>virtual void <a href="#setResizePolicy"><b>setResizePolicy</b></a> ( ResizePolicy )</li>
+<li class=fn>ResizePolicy <a href="#resizePolicy"><b>resizePolicy</b></a> () const</li>
+<li class=fn>void <a href="#removeChild"><b>removeChild</b></a> ( QWidget&nbsp;*&nbsp;child )</li>
+<li class=fn>virtual void <a href="#addChild"><b>addChild</b></a> ( QWidget&nbsp;*&nbsp;child, int&nbsp;x = 0, int&nbsp;y = 0 )</li>
+<li class=fn>virtual void <a href="#moveChild"><b>moveChild</b></a> ( QWidget&nbsp;*&nbsp;child, int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>int <a href="#childX"><b>childX</b></a> ( QWidget&nbsp;*&nbsp;child )</li>
+<li class=fn>int <a href="#childY"><b>childY</b></a> ( QWidget&nbsp;*&nbsp;child )</li>
+<li class=fn>bool childIsVisible ( QWidget&nbsp;*&nbsp;child ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void showChild ( QWidget&nbsp;*&nbsp;child, bool&nbsp;y = TRUE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#ScrollBarMode-enum"><b>ScrollBarMode</b></a> { Auto, AlwaysOff, AlwaysOn }</li>
+<li class=fn>ScrollBarMode <a href="#vScrollBarMode"><b>vScrollBarMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setVScrollBarMode"><b>setVScrollBarMode</b></a> ( ScrollBarMode )</li>
+<li class=fn>ScrollBarMode <a href="#hScrollBarMode"><b>hScrollBarMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setHScrollBarMode"><b>setHScrollBarMode</b></a> ( ScrollBarMode )</li>
+<li class=fn>QWidget * <a href="#cornerWidget"><b>cornerWidget</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCornerWidget"><b>setCornerWidget</b></a> ( QWidget&nbsp;*&nbsp;corner )</li>
+<li class=fn>QScrollBar * <a href="#horizontalScrollBar"><b>horizontalScrollBar</b></a> () const</li>
+<li class=fn>QScrollBar * <a href="#verticalScrollBar"><b>verticalScrollBar</b></a> () const</li>
+<li class=fn>QWidget * <a href="#viewport"><b>viewport</b></a> () const</li>
+<li class=fn>QWidget * <a href="#clipper"><b>clipper</b></a> () const</li>
+<li class=fn>int <a href="#visibleWidth"><b>visibleWidth</b></a> () const</li>
+<li class=fn>int <a href="#visibleHeight"><b>visibleHeight</b></a> () const</li>
+<li class=fn>int <a href="#contentsWidth"><b>contentsWidth</b></a> () const</li>
+<li class=fn>int <a href="#contentsHeight"><b>contentsHeight</b></a> () const</li>
+<li class=fn>int <a href="#contentsX"><b>contentsX</b></a> () const</li>
+<li class=fn>int <a href="#contentsY"><b>contentsY</b></a> () const</li>
+<li class=fn>void <a href="#updateContents"><b>updateContents</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#updateContents-2"><b>updateContents</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#updateContents-3"><b>updateContents</b></a> ()</li>
+<li class=fn>void <a href="#repaintContents"><b>repaintContents</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#repaintContents-2"><b>repaintContents</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#repaintContents-3"><b>repaintContents</b></a> ( bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#contentsToViewport"><b>contentsToViewport</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;&amp;&nbsp;vx, int&nbsp;&amp;&nbsp;vy ) const</li>
+<li class=fn>void <a href="#viewportToContents"><b>viewportToContents</b></a> ( int&nbsp;vx, int&nbsp;vy, int&nbsp;&amp;&nbsp;x, int&nbsp;&amp;&nbsp;y ) const</li>
+<li class=fn>QPoint <a href="#contentsToViewport-2"><b>contentsToViewport</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>QPoint <a href="#viewportToContents-2"><b>viewportToContents</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;vp ) const</li>
+<li class=fn>void <a href="#enableClipper"><b>enableClipper</b></a> ( bool&nbsp;y )</li>
+<li class=fn>void <a href="#setStaticBackground"><b>setStaticBackground</b></a> ( bool&nbsp;y )</li>
+<li class=fn>bool <a href="#hasStaticBackground"><b>hasStaticBackground</b></a> () const</li>
+<li class=fn>QSize <a href="#viewportSize"><b>viewportSize</b></a> ( int&nbsp;x, int&nbsp;y ) const</li>
+<li class=fn>bool <a href="#isHorizontalSliderPressed"><b>isHorizontalSliderPressed</b></a> ()</li>
+<li class=fn>bool <a href="#isVerticalSliderPressed"><b>isVerticalSliderPressed</b></a> ()</li>
+<li class=fn>virtual void <a href="#setDragAutoScroll"><b>setDragAutoScroll</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#dragAutoScroll"><b>dragAutoScroll</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#resizeContents"><b>resizeContents</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#scrollBy"><b>scrollBy</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>virtual void <a href="#setContentsPos"><b>setContentsPos</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#ensureVisible"><b>ensureVisible</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#ensureVisible-2"><b>ensureVisible</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;xmargin, int&nbsp;ymargin )</li>
+<li class=fn>void <a href="#center"><b>center</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#center-2"><b>center</b></a> ( int&nbsp;x, int&nbsp;y, float&nbsp;xmargin, float&nbsp;ymargin )</li>
+<li class=fn>void <a href="#updateScrollBars"><b>updateScrollBars</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#contentsMoving"><b>contentsMoving</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#horizontalSliderPressed"><b>horizontalSliderPressed</b></a> ()</li>
+<li class=fn>void <a href="#horizontalSliderReleased"><b>horizontalSliderReleased</b></a> ()</li>
+<li class=fn>void <a href="#verticalSliderPressed"><b>verticalSliderPressed</b></a> ()</li>
+<li class=fn>void <a href="#verticalSliderReleased"><b>verticalSliderReleased</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#contentsHeight-prop"><b>contentsHeight</b></a>&nbsp;- the height of the contents area &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#contentsWidth-prop"><b>contentsWidth</b></a>&nbsp;- the width of the contents area &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#contentsX-prop"><b>contentsX</b></a>&nbsp;- the X coordinate of the contents that are at the left edge of the viewport &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#contentsY-prop"><b>contentsY</b></a>&nbsp;- the Y coordinate of the contents that are at the top edge of the viewport &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#dragAutoScroll-prop"><b>dragAutoScroll</b></a>&nbsp;- whether autoscrolling in drag move events is enabled</li>
+<li class=fn>ScrollBarMode <a href="#hScrollBarMode-prop"><b>hScrollBarMode</b></a>&nbsp;- the mode for the horizontal scroll bar</li>
+<li class=fn>ResizePolicy <a href="#resizePolicy-prop"><b>resizePolicy</b></a>&nbsp;- the resize policy</li>
+<li class=fn>ScrollBarMode <a href="#vScrollBarMode-prop"><b>vScrollBarMode</b></a>&nbsp;- the mode for the vertical scroll bar</li>
+<li class=fn>int <a href="#visibleHeight-prop"><b>visibleHeight</b></a>&nbsp;- the vertical amount of the content that is visible &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#visibleWidth-prop"><b>visibleWidth</b></a>&nbsp;- the horizontal amount of the content that is visible &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;clipx, int&nbsp;clipy, int&nbsp;clipw, int&nbsp;cliph )</li>
+<li class=fn>virtual void <a href="#drawContentsOffset"><b>drawContentsOffset</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;offsetx, int&nbsp;offsety, int&nbsp;clipx, int&nbsp;clipy, int&nbsp;clipw, int&nbsp;cliph )</li>
+<li class=fn>virtual void <a href="#contentsMousePressEvent"><b>contentsMousePressEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseReleaseEvent"><b>contentsMouseReleaseEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseDoubleClickEvent"><b>contentsMouseDoubleClickEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsMouseMoveEvent"><b>contentsMouseMoveEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsDragEnterEvent"><b>contentsDragEnterEvent</b></a> ( QDragEnterEvent * )</li>
+<li class=fn>virtual void <a href="#contentsDragMoveEvent"><b>contentsDragMoveEvent</b></a> ( QDragMoveEvent * )</li>
+<li class=fn>virtual void <a href="#contentsDragLeaveEvent"><b>contentsDragLeaveEvent</b></a> ( QDragLeaveEvent * )</li>
+<li class=fn>virtual void <a href="#contentsDropEvent"><b>contentsDropEvent</b></a> ( QDropEvent * )</li>
+<li class=fn>virtual void <a href="#contentsWheelEvent"><b>contentsWheelEvent</b></a> ( QWheelEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsContextMenuEvent"><b>contentsContextMenuEvent</b></a> ( QContextMenuEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#viewportPaintEvent"><b>viewportPaintEvent</b></a> ( QPaintEvent&nbsp;*&nbsp;pe )</li>
+<li class=fn>virtual void <a href="#viewportResizeEvent"><b>viewportResizeEvent</b></a> ( QResizeEvent * )</li>
+<li class=fn>virtual void <a href="#setMargins"><b>setMargins</b></a> ( int&nbsp;left, int&nbsp;top, int&nbsp;right, int&nbsp;bottom )</li>
+<li class=fn>int <a href="#leftMargin"><b>leftMargin</b></a> () const</li>
+<li class=fn>int <a href="#topMargin"><b>topMargin</b></a> () const</li>
+<li class=fn>int <a href="#rightMargin"><b>rightMargin</b></a> () const</li>
+<li class=fn>int <a href="#bottomMargin"><b>bottomMargin</b></a> () const</li>
+<li class=fn>virtual void <a href="#setHBarGeometry"><b>setHBarGeometry</b></a> ( QScrollBar&nbsp;&amp;&nbsp;hbar, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#setVBarGeometry"><b>setVBarGeometry</b></a> ( QScrollBar&nbsp;&amp;&nbsp;vbar, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( QObject&nbsp;*&nbsp;obj, QEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QScrollView widget provides a scrolling area with on-demand scroll bars.
+<p>
+
+<p> The QScrollView is a large canvas - potentially larger than the
+coordinate system normally supported by the underlying window
+system. This is important because it is quite easy to go beyond
+these limitations (e.g. many web pages are more than 32000 pixels
+high). Additionally, the QScrollView can have QWidgets positioned
+on it that scroll around with the drawn content. These sub-widgets
+can also have positions outside the normal coordinate range (but
+they are still limited in size).
+<p> To provide content for the widget, inherit from QScrollView,
+reimplement <a href="#drawContents">drawContents</a>() and use <a href="#resizeContents">resizeContents</a>() to set the
+size of the viewed area. Use <a href="#addChild">addChild</a>() and <a href="#moveChild">moveChild</a>() to
+position widgets on the view.
+<p> To use QScrollView effectively it is important to understand its
+widget structure in the three styles of use: a single large child
+widget, a large panning area with some widgets and a large panning
+area with many widgets.
+<p> <h3> Using One Big Widget
+</h3>
+<a name="1"></a><p> <center><img src="qscrollview-vp2.png"></center>
+<p> The first, simplest usage of QScrollView (depicted above), is
+appropriate for scrolling areas that are never more than about
+4000 pixels in either dimension (this is about the maximum
+reliable size on X11 servers). In this usage, you just make one
+large child in the QScrollView. The child should be a child of the
+<a href="#viewport">viewport</a>() of the scrollview and be added with addChild():
+<pre>
+ QScrollView* sv = new QScrollView(...);
+ <a href="qvbox.html">QVBox</a>* big_box = new <a href="qvbox.html">QVBox</a>(sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(big_box);
+ </pre>
+
+You can go on to add arbitrary child widgets to the single child
+in the scrollview as you would with any widget:
+<pre>
+ <a href="qlabel.html">QLabel</a>* child1 = new <a href="qlabel.html">QLabel</a>("CHILD", big_box);
+ <a href="qlabel.html">QLabel</a>* child2 = new <a href="qlabel.html">QLabel</a>("CHILD", big_box);
+ <a href="qlabel.html">QLabel</a>* child3 = new <a href="qlabel.html">QLabel</a>("CHILD", big_box);
+ ...
+ </pre>
+
+<p> Here the QScrollView has four children: the viewport(), the
+<a href="#verticalScrollBar">verticalScrollBar</a>(), the <a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small
+<a href="#cornerWidget">cornerWidget</a>(). The <a href="#viewport">viewport</a>() has one child: the big <a href="qvbox.html">QVBox</a>. The
+QVBox has the three <a href="qlabel.html">QLabel</a> objects as child widgets. When the view
+is scrolled, the QVBox is moved; its children move with it as
+child widgets normally do.
+<p> <h3> Using a Very Big View with Some Widgets
+</h3>
+<a name="1-1"></a><p> <center><img src="qscrollview-vp.png"></center>
+<p> The second usage of QScrollView (depicted above) is appropriate
+when few, if any, widgets are on a very large scrolling area that
+is potentially larger than 4000 pixels in either dimension. In
+this usage you call <a href="#resizeContents">resizeContents</a>() to set the size of the area
+and reimplement <a href="#drawContents">drawContents</a>() to paint the contents. You may also
+add some widgets by making them children of the viewport() and
+adding them with <a href="#addChild">addChild</a>() (this is the same as the process for
+the single large widget in the previous example):
+<pre>
+ QScrollView* sv = new QScrollView(...);
+ <a href="qlabel.html">QLabel</a>* child1 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child1);
+ <a href="qlabel.html">QLabel</a>* child2 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child2);
+ <a href="qlabel.html">QLabel</a>* child3 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child3);
+ </pre>
+
+Here, the QScrollView has the same four children: the <a href="#viewport">viewport</a>(),
+the <a href="#verticalScrollBar">verticalScrollBar</a>(), the <a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small
+<a href="#cornerWidget">cornerWidget</a>(). The viewport() has the three <a href="qlabel.html">QLabel</a> objects as
+child widgets. When the view is scrolled, the scrollview moves the
+child widgets individually.
+<p> <h3> Using a Very Big View with Many Widgets
+</h3>
+<a name="1-2"></a><p> <a name="enableclipper"></a>
+<center><img src="qscrollview-cl.png"></center>
+<p> The final usage of QScrollView (depicted above) is appropriate
+when many widgets are on a very large scrolling area that is
+potentially larger than 4000 pixels in either dimension. In this
+usage you call <a href="#resizeContents">resizeContents</a>() to set the size of the area and
+reimplement <a href="#drawContents">drawContents</a>() to paint the contents. You then call
+<a href="#enableClipper">enableClipper</a>(TRUE) and add widgets, again by making them children
+of the <a href="#viewport">viewport</a>(), and adding them with <a href="#addChild">addChild</a>():
+<pre>
+ QScrollView* sv = new QScrollView(...);
+ sv-&gt;<a href="#enableClipper">enableClipper</a>(TRUE);
+ <a href="qlabel.html">QLabel</a>* child1 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child1);
+ <a href="qlabel.html">QLabel</a>* child2 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child2);
+ <a href="qlabel.html">QLabel</a>* child3 = new <a href="qlabel.html">QLabel</a>("CHILD", sv-&gt;<a href="#viewport">viewport</a>());
+ sv-&gt;<a href="#addChild">addChild</a>(child3);
+ </pre>
+
+<p> Here, the QScrollView has four children: the <a href="#clipper">clipper</a>() (not the
+viewport() this time), the <a href="#verticalScrollBar">verticalScrollBar</a>(), the
+<a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small <a href="#cornerWidget">cornerWidget</a>(). The clipper()
+has one child: the <a href="#viewport">viewport</a>(). The viewport() has the same three
+labels as child widgets. When the view is scrolled the viewport()
+is moved; its children move with it as child widgets normally do.
+<p> <a name="allviews"></a>
+<h3> Details Relevant for All Views
+</h3>
+<a name="1-3"></a><p> Normally you will use the first or third method if you want any
+child widgets in the view.
+<p> Note that the widget you see in the scrolled area is the
+viewport() widget, not the QScrollView itself. So to turn mouse
+tracking on, for example, use viewport()->setMouseTracking(TRUE).
+<p> To enable drag-and-drop, you would <a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>(TRUE) on the
+QScrollView (because drag-and-drop events propagate to the
+parent). But to work out the logical position in the view, you
+would need to map the drop co-ordinate from being relative to the
+QScrollView to being relative to the contents; use the function
+<a href="#viewportToContents">viewportToContents</a>() for this.
+<p> To handle mouse events on the scrolling area, subclass scrollview
+as you would subclass other widgets, but rather than
+reimplementing <a href="qwidget.html#mousePressEvent">mousePressEvent</a>(), reimplement
+<a href="#contentsMousePressEvent">contentsMousePressEvent</a>() instead. The contents specific event
+handlers provide translated events in the coordinate system of the
+scrollview. If you reimplement mousePressEvent(), you'll get
+called only when part of the QScrollView is clicked: and the only
+such part is the "corner" (if you don't set a <a href="#cornerWidget">cornerWidget</a>()) and
+the frame; everything else is covered up by the viewport, clipper
+or scroll bars.
+<p> When you construct a QScrollView, some of the widget flags apply
+to the <a href="#viewport">viewport</a>() instead of being sent to the <a href="qwidget.html">QWidget</a> constructor
+for the QScrollView. This applies to <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a>, <a href="qt.html#WidgetFlags-enum">WStaticContents</a>, and <a href="qt.html#WidgetFlags-enum">WPaintClever</a>. See <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a> for
+documentation about these flags. Here are some examples:
+<p> <ul>
+<p> <li> An image-manipulation widget would use <tt>WNoAutoErase|WStaticContents</tt> because the widget draws all pixels
+itself, and when its size increases, it only needs a paint event
+for the new part because the old part remains unchanged.
+<p> <li> A scrolling game widget in which the background scrolls as the
+characters move might use <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> (in addition to <a href="qt.html#WidgetFlags-enum">WStaticContents</a>) so that the window system background does not
+flash in and out during scrolling.
+<p> <li> A word processing widget might use <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> and repaint
+itself line by line to get a less-flickery resizing. If the widget
+is in a mode in which no text justification can take place, it
+might use <a href="qt.html#WidgetFlags-enum">WStaticContents</a> too, so that it would only get a
+repaint for the newly visible parts.
+<p> </ul>
+<p> Child widgets may be moved using <a href="#addChild">addChild</a>() or <a href="#moveChild">moveChild</a>(). Use
+<a href="#childX">childX</a>() and <a href="#childY">childY</a>() to get the position of a child widget.
+<p> A widget may be placed in the corner between the vertical and
+horizontal scrollbars with <a href="#setCornerWidget">setCornerWidget</a>(). You can get access
+to the scrollbars using <a href="#horizontalScrollBar">horizontalScrollBar</a>() and
+<a href="#verticalScrollBar">verticalScrollBar</a>(), and to the viewport with <a href="#viewport">viewport</a>(). The
+scroll view can be scrolled using <a href="#scrollBy">scrollBy</a>(), <a href="#ensureVisible">ensureVisible</a>(),
+<a href="#setContentsPos">setContentsPos</a>() or <a href="#center">center</a>().
+<p> The visible area is given by <a href="#visibleWidth">visibleWidth</a>() and <a href="#visibleHeight">visibleHeight</a>(),
+and the contents area by <a href="#contentsWidth">contentsWidth</a>() and <a href="#contentsHeight">contentsHeight</a>(). The
+contents may be repainted using one of the <a href="#repaintContents">repaintContents</a>() or
+<a href="#updateContents">updateContents</a>() functions.
+<p> Coordinate conversion is provided by <a href="#contentsToViewport">contentsToViewport</a>() and
+<a href="#viewportToContents">viewportToContents</a>().
+<p> The <a href="#contentsMoving">contentsMoving</a>() signal is emitted just before the contents
+are moved to a new position.
+<p> <b>Warning:</b> QScrollView currently does not erase the background when
+resized, i.e. you must always clear the background manually in
+scrollview subclasses. This will change in a future version of Qt
+and we recommend specifying the WNoAutoErase flag explicitly.
+<p> <img src=qscrollview-m.png> <img src=qscrollview-w.png>
+<p>See also <a href="abstractwidgets.html">Abstract Widget Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ResizePolicy-enum"></a>QScrollView::ResizePolicy</h3>
+
+<p> This enum type is used to control a QScrollView's reaction to
+resize events.
+<ul>
+<li><tt>QScrollView::Default</tt> - the QScrollView selects one of the other settings
+automatically when it has to. In this version of Qt, QScrollView
+changes to <a href="#ResizePolicy-enum">Manual</a> if you resize the contents with
+<a href="#resizeContents">resizeContents</a>() and to <a href="#ResizePolicy-enum">AutoOne</a> if a child is added.
+<li><tt>QScrollView::Manual</tt> - the contents stays the size set by resizeContents().
+<li><tt>QScrollView::AutoOne</tt> - if there is only one child widget the contents stays
+the size of that widget. Otherwise the behavior is undefined.
+<li><tt>QScrollView::AutoOneFit</tt> - if there is only one child widget the contents stays
+the size of that widget's <a href="qwidget.html#sizeHint">sizeHint</a>(). If the scrollview is resized
+larger than the child's sizeHint(), the child will be resized to
+fit. If there is more than one child, the behavior is undefined.
+</ul><p>
+<h3 class=fn><a name="ScrollBarMode-enum"></a>QScrollView::ScrollBarMode</h3>
+
+<p> This enum type describes the various modes of QScrollView's scroll
+bars.
+<ul>
+<li><tt>QScrollView::Auto</tt> - QScrollView shows a scroll bar when the content is
+too large to fit and not otherwise. This is the default.
+<li><tt>QScrollView::AlwaysOff</tt> - QScrollView never shows a scroll bar.
+<li><tt>QScrollView::AlwaysOn</tt> - QScrollView always shows a scroll bar.
+</ul><p> (The modes for the horizontal and vertical scroll bars are
+independent.)
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QScrollView"></a>QScrollView::QScrollView ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a QScrollView called <em>name</em> with parent <em>parent</em> and
+widget flags <em>f</em>.
+<p> The widget flags <a href="qt.html#WidgetFlags-enum">WStaticContents</a>, <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> and <a href="qt.html#WidgetFlags-enum">WPaintClever</a> are propagated to the <a href="#viewport">viewport</a>() widget. The other
+widget flags are propagated to the parent constructor as usual.
+
+<h3 class=fn><a name="~QScrollView"></a>QScrollView::~QScrollView ()
+</h3>
+Destroys the QScrollView. Any children added with <a href="#addChild">addChild</a>() will
+be deleted.
+
+<h3 class=fn>void <a name="addChild"></a>QScrollView::addChild ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, int&nbsp;x = 0, int&nbsp;y = 0 )<tt> [virtual]</tt>
+</h3>
+Inserts the widget, <em>child</em>, into the scrolled area positioned at
+(<em>x</em>, <em>y</em>). The position defaults to (0, 0). If the child is
+already in the view, it is just moved.
+<p> You may want to call <a href="#enableClipper">enableClipper</a>(TRUE) if you add a large number
+of widgets.
+
+<p>Example: <a href="scrollview-example.html#x645">scrollview/scrollview.cpp</a>.
+<h3 class=fn>int <a name="bottomMargin"></a>QScrollView::bottomMargin () const<tt> [protected]</tt>
+</h3>
+Returns the bottom margin.
+<p> <p>See also <a href="#setMargins">setMargins</a>().
+
+<h3 class=fn>void <a name="center"></a>QScrollView::center ( int&nbsp;x, int&nbsp;y )<tt> [slot]</tt>
+</h3>
+Scrolls the content so that the point <em>(x, y)</em> is in the center
+of visible area.
+
+<p>Example: <a href="scrollview-example.html#x646">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="center-2"></a>QScrollView::center ( int&nbsp;x, int&nbsp;y, float&nbsp;xmargin, float&nbsp;ymargin )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Scrolls the content so that the point <em>(x, y)</em> is visible with
+the <em>xmargin</em> and <em>ymargin</em> margins (as fractions of visible
+the area).
+<p> For example:
+<ul>
+<li> Margin 0.0 allows (x, y) to be on the edge of the visible area.
+<li> Margin 0.5 ensures that (x, y) is in middle 50% of the visible area.
+<li> Margin 1.0 ensures that (x, y) is in the center of the the visible area.
+</ul>
+
+<h3 class=fn>bool <a name="childIsVisible"></a>QScrollView::childIsVisible ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if <em>child</em> is visible. This is equivalent
+to child->isVisible().
+
+<h3 class=fn>int <a name="childX"></a>QScrollView::childX ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child )
+</h3>
+Returns the X position of the given <em>child</em> widget. Use this
+rather than <a href="qwidget.html#x">QWidget::x</a>() for widgets added to the view.
+<p> This function returns 0 if <em>child</em> has not been added to the view.
+
+<h3 class=fn>int <a name="childY"></a>QScrollView::childY ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child )
+</h3>
+Returns the Y position of the given <em>child</em> widget. Use this
+rather than <a href="qwidget.html#y">QWidget::y</a>() for widgets added to the view.
+<p> This function returns 0 if <em>child</em> has not been added to the view.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="clipper"></a>QScrollView::clipper () const
+</h3>
+Returns the clipper widget. Contents in the scrollview are
+ultimately clipped to be inside the clipper widget.
+<p> You should not need to use this function.
+<p> <p>See also <a href="#visibleWidth-prop">visibleWidth</a> and <a href="#visibleHeight-prop">visibleHeight</a>.
+
+<h3 class=fn>void <a name="contentsContextMenuEvent"></a>QScrollView::contentsContextMenuEvent ( <a href="qcontextmenuevent.html">QContextMenuEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>() in <em>e</em>: the mouse position is translated to
+be a point on the contents.
+
+<p>Example: <a href="tutorial2-06.html#x2584">chart/canvasview.cpp</a>.
+<h3 class=fn>void <a name="contentsDragEnterEvent"></a>QScrollView::contentsDragEnterEvent ( <a href="qdragenterevent.html">QDragEnterEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>(): the drag position is translated to be a point
+on the contents.
+
+<p>Reimplemented in <a href="qtable.html#contentsDragEnterEvent">QTable</a>.
+<h3 class=fn>void <a name="contentsDragLeaveEvent"></a>QScrollView::contentsDragLeaveEvent ( <a href="qdragleaveevent.html">QDragLeaveEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>(): the drag position is translated to be a point
+on the contents.
+
+<p>Reimplemented in <a href="qtable.html#contentsDragLeaveEvent">QTable</a>.
+<h3 class=fn>void <a name="contentsDragMoveEvent"></a>QScrollView::contentsDragMoveEvent ( <a href="qdragmoveevent.html">QDragMoveEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>(): the drag position is translated to be a point on
+the contents.
+
+<p>Reimplemented in <a href="qtable.html#contentsDragMoveEvent">QTable</a>.
+<h3 class=fn>void <a name="contentsDropEvent"></a>QScrollView::contentsDropEvent ( <a href="qdropevent.html">QDropEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#dropEvent">dropEvent</a>(): the drop position is translated to be a point on the
+contents.
+
+<p>Reimplemented in <a href="qtable.html#contentsDropEvent">QTable</a>.
+<h3 class=fn>int <a name="contentsHeight"></a>QScrollView::contentsHeight () const
+</h3><p>Returns the height of the contents area.
+See the <a href="qscrollview.html#contentsHeight-prop">"contentsHeight"</a> property for details.
+<h3 class=fn>void <a name="contentsMouseDoubleClickEvent"></a>QScrollView::contentsMouseDoubleClickEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(): the click position in <em>e</em> is translated to be a
+point on the contents.
+<p> The default implementation generates a normal mouse press event.
+
+<p>Reimplemented in <a href="qlistview.html#contentsMouseDoubleClickEvent">QListView</a>.
+<h3 class=fn>void <a name="contentsMouseMoveEvent"></a>QScrollView::contentsMouseMoveEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>(): the mouse position in <em>e</em> is translated to be a point
+on the contents.
+
+<p>Examples: <a href="canvas-example.html#x2950">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2585">chart/canvasview.cpp</a>.
+<p>Reimplemented in <a href="qlistview.html#contentsMouseMoveEvent">QListView</a>.
+<h3 class=fn>void <a name="contentsMousePressEvent"></a>QScrollView::contentsMousePressEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#mousePressEvent">mousePressEvent</a>(): the press position in <em>e</em> is translated to be a point
+on the contents.
+
+<p>Examples: <a href="canvas-example.html#x2951">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2586">chart/canvasview.cpp</a>.
+<p>Reimplemented in <a href="qlistview.html#contentsMousePressEvent">QListView</a>.
+<h3 class=fn>void <a name="contentsMouseReleaseEvent"></a>QScrollView::contentsMouseReleaseEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>(): the release position in <em>e</em> is translated to be a
+point on the contents.
+
+<p>Reimplemented in <a href="qlistview.html#contentsMouseReleaseEvent">QListView</a>.
+<h3 class=fn>void <a name="contentsMoving"></a>QScrollView::contentsMoving ( int&nbsp;x, int&nbsp;y )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before the contents are moved to
+position <em>(x, y)</em>.
+<p> <p>See also <a href="#contentsX-prop">contentsX</a> and <a href="#contentsY-prop">contentsY</a>.
+
+<h3 class=fn>void <a name="contentsToViewport"></a>QScrollView::contentsToViewport ( int&nbsp;x, int&nbsp;y, int&nbsp;&amp;&nbsp;vx, int&nbsp;&amp;&nbsp;vy ) const
+</h3>
+Translates a point (<em>x</em>, <em>y</em>) in the contents to a point (<em>vx</em>,
+<em>vy</em>) on the <a href="#viewport">viewport</a>() widget.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="contentsToViewport-2"></a>QScrollView::contentsToViewport ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point <em>p</em> translated to a point on the <a href="#viewport">viewport</a>()
+widget.
+
+<h3 class=fn>void <a name="contentsWheelEvent"></a>QScrollView::contentsWheelEvent ( <a href="qwheelevent.html">QWheelEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever the QScrollView receives a
+<a href="qwidget.html#wheelEvent">wheelEvent</a>() in <em>e</em>: the mouse position is translated to be a
+point on the contents.
+
+<h3 class=fn>int <a name="contentsWidth"></a>QScrollView::contentsWidth () const
+</h3><p>Returns the width of the contents area.
+See the <a href="qscrollview.html#contentsWidth-prop">"contentsWidth"</a> property for details.
+<h3 class=fn>int <a name="contentsX"></a>QScrollView::contentsX () const
+</h3><p>Returns the X coordinate of the contents that are at the left edge of the viewport.
+See the <a href="qscrollview.html#contentsX-prop">"contentsX"</a> property for details.
+<h3 class=fn>int <a name="contentsY"></a>QScrollView::contentsY () const
+</h3><p>Returns the Y coordinate of the contents that are at the top edge of the viewport.
+See the <a href="qscrollview.html#contentsY-prop">"contentsY"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="cornerWidget"></a>QScrollView::cornerWidget () const
+</h3>
+Returns the widget in the corner between the two scroll bars.
+<p> By default, no corner widget is present.
+
+<p>Example: <a href="scrollview-example.html#x647">scrollview/scrollview.cpp</a>.
+<h3 class=fn>bool <a name="dragAutoScroll"></a>QScrollView::dragAutoScroll () const
+</h3><p>Returns TRUE if autoscrolling in drag move events is enabled; otherwise returns FALSE.
+See the <a href="qscrollview.html#dragAutoScroll-prop">"dragAutoScroll"</a> property for details.
+<h3 class=fn>void <a name="drawContents"></a>QScrollView::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;clipx, int&nbsp;clipy, int&nbsp;clipw, int&nbsp;cliph )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Reimplement this function if you are viewing a drawing area rather
+than a widget.
+<p> The function should draw the rectangle (<em>clipx</em>, <em>clipy</em>, <em>clipw</em>, <em>cliph</em>) of the contents using painter <em>p</em>. The clip
+rectangle is in the scrollview's coordinates.
+<p> For example:
+<pre>
+ {
+ // Fill a 40000 by 50000 rectangle at (100000,150000)
+
+ // Calculate the coordinates...
+ int x1 = 100000, y1 = 150000;
+ int x2 = x1+40000-1, y2 = y1+50000-1;
+
+ // Clip the coordinates so X/Windows will not have problems...
+ if (x1 &lt; clipx) x1=clipx;
+ if (y1 &lt; clipy) y1=clipy;
+ if (x2 &gt; clipx+clipw-1) x2=clipx+clipw-1;
+ if (y2 &gt; clipy+cliph-1) y2=clipy+cliph-1;
+
+ // Paint using the small coordinates...
+ if ( x2 &gt;= x1 &amp;&amp; y2 &gt;= y1 )
+ p-&gt;fillRect(x1, y1, x2-x1+1, y2-y1+1, red);
+ }
+ </pre>
+
+<p> The clip rectangle and translation of the painter <em>p</em> is already
+set appropriately.
+
+<p>Example: <a href="qdir-example.html#x1837">qdir/qdir.cpp</a>.
+<p>Reimplemented in <a href="qcanvasview.html#drawContents">QCanvasView</a> and <a href="qtable.html#drawContents">QTable</a>.
+<h3 class=fn>void <a name="drawContentsOffset"></a>QScrollView::drawContentsOffset ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;offsetx, int&nbsp;offsety, int&nbsp;clipx, int&nbsp;clipy, int&nbsp;clipw, int&nbsp;cliph )<tt> [virtual protected]</tt>
+</h3>
+For backward-compatibility only. It is easier to use
+<a href="#drawContents">drawContents</a>(<a href="qpainter.html">QPainter</a>*,int,int,int,int).
+<p> The default implementation translates the painter appropriately
+and calls drawContents(QPainter*,int,int,int,int). See
+drawContents() for an explanation of the parameters <em>p</em>, <em>offsetx</em>, <em>offsety</em>, <em>clipx</em>, <em>clipy</em>, <em>clipw</em> and <em>cliph</em>.
+
+<p>Reimplemented in <a href="qlistview.html#drawContentsOffset">QListView</a>.
+<h3 class=fn>void <a name="enableClipper"></a>QScrollView::enableClipper ( bool&nbsp;y )
+</h3>
+When a large numbers of child widgets are in a scrollview,
+especially if they are close together, the scrolling performance
+can suffer greatly. If <em>y</em> is TRUE the scrollview will use an
+extra widget to group child widgets.
+<p> Note that you may only call <a href="#enableClipper">enableClipper</a>() prior to adding
+widgets.
+<p> For a full discussion, see this class's <a href="#enableclipper">detailed description</a>.
+
+<p>Example: <a href="scrollview-example.html#x648">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="ensureVisible"></a>QScrollView::ensureVisible ( int&nbsp;x, int&nbsp;y )<tt> [slot]</tt>
+</h3>
+Scrolls the content so that the point <em>(x, y)</em> is visible with at
+least 50-pixel margins (if possible, otherwise centered).
+
+<h3 class=fn>void <a name="ensureVisible-2"></a>QScrollView::ensureVisible ( int&nbsp;x, int&nbsp;y, int&nbsp;xmargin, int&nbsp;ymargin )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Scrolls the content so that the point <em>(x, y)</em> is visible with at
+least the <em>xmargin</em> and <em>ymargin</em> margins (if possible,
+otherwise centered).
+
+<h3 class=fn>bool <a name="eventFilter"></a>QScrollView::eventFilter ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;obj, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event filter ensures the scroll bars are updated when a
+single contents widget is resized, shown, hidden or destroyed; it
+passes mouse events to the QScrollView. The event is in <em>e</em> and
+the object is in <em>obj</em>.
+
+<p>Reimplemented from <a href="qobject.html#eventFilter">QObject</a>.
+<p>Reimplemented in <a href="qlistview.html#eventFilter">QListView</a>.
+<h3 class=fn><a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="hScrollBarMode"></a>QScrollView::hScrollBarMode () const
+</h3><p>Returns the mode for the horizontal scroll bar.
+See the <a href="qscrollview.html#hScrollBarMode-prop">"hScrollBarMode"</a> property for details.
+<h3 class=fn>bool <a name="hasStaticBackground"></a>QScrollView::hasStaticBackground () const
+</h3>
+Returns TRUE if QScrollView uses a static background; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setStaticBackground">setStaticBackground</a>().
+
+<h3 class=fn><a href="qscrollbar.html">QScrollBar</a>&nbsp;* <a name="horizontalScrollBar"></a>QScrollView::horizontalScrollBar () const
+</h3>
+Returns the component horizontal scroll bar. It is made available
+to allow accelerators, autoscrolling, etc.
+<p> It should not be used for other purposes.
+<p> This function never returns 0.
+
+<h3 class=fn>void <a name="horizontalSliderPressed"></a>QScrollView::horizontalSliderPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user presses the horizontal slider.
+
+<h3 class=fn>void <a name="horizontalSliderReleased"></a>QScrollView::horizontalSliderReleased ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user releases the horizontal slider.
+
+<h3 class=fn>bool <a name="isHorizontalSliderPressed"></a>QScrollView::isHorizontalSliderPressed ()
+</h3>
+Returns TRUE if horizontal slider is pressed by user; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isVerticalSliderPressed"></a>QScrollView::isVerticalSliderPressed ()
+</h3>
+Returns TRUE if vertical slider is pressed by user; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="leftMargin"></a>QScrollView::leftMargin () const<tt> [protected]</tt>
+</h3>
+Returns the left margin.
+<p> <p>See also <a href="#setMargins">setMargins</a>().
+
+<h3 class=fn>void <a name="moveChild"></a>QScrollView::moveChild ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, int&nbsp;x, int&nbsp;y )<tt> [virtual]</tt>
+</h3>
+Repositions the <em>child</em> widget to (<em>x</em>, <em>y</em>). This function is
+the same as <a href="#addChild">addChild</a>().
+
+<h3 class=fn>void <a name="removeChild"></a>QScrollView::removeChild ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child )
+</h3>
+Removes the <em>child</em> widget from the scrolled area. Note that this
+happens automatically if the <em>child</em> is deleted.
+
+<h3 class=fn>void <a name="repaintContents"></a>QScrollView::repaintContents ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, bool&nbsp;erase = TRUE )
+</h3>
+Calls <a href="qwidget.html#repaint">repaint</a>() on a rectangle defined by <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>,
+translated appropriately. If the rectangle is not visible, nothing
+is repainted. If <em>erase</em> is TRUE the background is cleared using
+the background color.
+<p> <p>See also <a href="#updateContents">updateContents</a>().
+
+<h3 class=fn>void <a name="repaintContents-2"></a>QScrollView::repaintContents ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, bool&nbsp;erase = TRUE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Repaints the contents of rectangle <em>r</em>. If <em>erase</em> is TRUE the
+background is cleared using the background color.
+
+<h3 class=fn>void <a name="repaintContents-3"></a>QScrollView::repaintContents ( bool&nbsp;erase = TRUE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Repaints the contents. If <em>erase</em> is TRUE the background is
+cleared using the background color.
+
+<h3 class=fn>void <a name="resizeContents"></a>QScrollView::resizeContents ( int&nbsp;w, int&nbsp;h )<tt> [virtual slot]</tt>
+</h3>
+Sets the size of the contents area to <em>w</em> pixels wide and <em>h</em>
+pixels high and updates the viewport accordingly.
+
+<h3 class=fn><a href="qscrollview.html#ResizePolicy-enum">ResizePolicy</a> <a name="resizePolicy"></a>QScrollView::resizePolicy () const
+</h3><p>Returns the resize policy.
+See the <a href="qscrollview.html#resizePolicy-prop">"resizePolicy"</a> property for details.
+<h3 class=fn>int <a name="rightMargin"></a>QScrollView::rightMargin () const<tt> [protected]</tt>
+</h3>
+Returns the right margin.
+<p> <p>See also <a href="#setMargins">setMargins</a>().
+
+<h3 class=fn>void <a name="scrollBy"></a>QScrollView::scrollBy ( int&nbsp;dx, int&nbsp;dy )<tt> [slot]</tt>
+</h3>
+Scrolls the content by <em>dx</em> to the left and <em>dy</em> upwards.
+
+<h3 class=fn>void <a name="setContentsPos"></a>QScrollView::setContentsPos ( int&nbsp;x, int&nbsp;y )<tt> [virtual slot]</tt>
+</h3>
+Scrolls the content so that the point <em>(x, y)</em> is in the top-left
+corner.
+
+<p>Example: <a href="process-example.html#x102">process/process.cpp</a>.
+<h3 class=fn>void <a name="setCornerWidget"></a>QScrollView::setCornerWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;corner )<tt> [virtual]</tt>
+</h3>
+Sets the widget in the <em>corner</em> between the two scroll bars.
+<p> You will probably also want to set at least one of the scroll bar
+modes to <a href="#ScrollBarMode-enum">AlwaysOn</a>.
+<p> Passing 0 shows no widget in the corner.
+<p> Any previous <em>corner</em> widget is hidden.
+<p> You may call <a href="#setCornerWidget">setCornerWidget</a>() with the same widget at different
+times.
+<p> All widgets set here will be deleted by the QScrollView when it is
+destroyed unless you separately reparent the widget after setting
+some other corner widget (or 0).
+<p> Any <em>newly</em> set widget should have no current parent.
+<p> By default, no corner widget is present.
+<p> <p>See also <a href="#vScrollBarMode-prop">vScrollBarMode</a> and <a href="#hScrollBarMode-prop">hScrollBarMode</a>.
+
+<p>Example: <a href="scrollview-example.html#x651">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="setDragAutoScroll"></a>QScrollView::setDragAutoScroll ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3><p>Sets whether autoscrolling in drag move events is enabled to <em>b</em>.
+See the <a href="qscrollview.html#dragAutoScroll-prop">"dragAutoScroll"</a> property for details.
+<h3 class=fn>void <a name="setHBarGeometry"></a>QScrollView::setHBarGeometry ( <a href="qscrollbar.html">QScrollBar</a>&nbsp;&amp;&nbsp;hbar, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [virtual protected]</tt>
+</h3>
+Called when the horizontal scroll bar geometry changes. This is
+provided as a protected function so that subclasses can do
+interesting things such as providing extra buttons in some of the
+space normally used by the scroll bars.
+<p> The default implementation simply gives all the space to <em>hbar</em>.
+The new geometry is given by <em>x</em>, <em>y</em>, <em>w</em> and <em>h</em>.
+<p> <p>See also <a href="#setVBarGeometry">setVBarGeometry</a>().
+
+<h3 class=fn>void <a name="setHScrollBarMode"></a>QScrollView::setHScrollBarMode ( <a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the mode for the horizontal scroll bar.
+See the <a href="qscrollview.html#hScrollBarMode-prop">"hScrollBarMode"</a> property for details.
+<h3 class=fn>void <a name="setMargins"></a>QScrollView::setMargins ( int&nbsp;left, int&nbsp;top, int&nbsp;right, int&nbsp;bottom )<tt> [virtual protected]</tt>
+</h3>
+Sets the margins around the scrolling area to <em>left</em>, <em>top</em>, <em>right</em> and <em>bottom</em>. This is useful for applications such as
+spreadsheets with "locked" rows and columns. The marginal space is
+<em>inside</em> the <a href="qframe.html#frameRect">frameRect</a>() and is left blank; reimplement
+<a href="qframe.html#drawFrame">drawFrame</a>() or put widgets in the unused area.
+<p> By default all margins are zero.
+<p> <p>See also <a href="qframe.html#frameChanged">frameChanged</a>().
+
+<h3 class=fn>void <a name="setResizePolicy"></a>QScrollView::setResizePolicy ( <a href="qscrollview.html#ResizePolicy-enum">ResizePolicy</a> )<tt> [virtual]</tt>
+</h3><p>Sets the resize policy.
+See the <a href="qscrollview.html#resizePolicy-prop">"resizePolicy"</a> property for details.
+<h3 class=fn>void <a name="setStaticBackground"></a>QScrollView::setStaticBackground ( bool&nbsp;y )
+</h3>
+Sets the scrollview to have a static background if <em>y</em> is TRUE,
+or a scrolling background if <em>y</em> is FALSE. By default, the
+background is scrolling.
+<p> Be aware that this mode is quite slow, as a full repaint of the
+visible area has to be triggered on every contents move.
+<p> <p>See also <a href="#hasStaticBackground">hasStaticBackground</a>().
+
+<h3 class=fn>void <a name="setVBarGeometry"></a>QScrollView::setVBarGeometry ( <a href="qscrollbar.html">QScrollBar</a>&nbsp;&amp;&nbsp;vbar, int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [virtual protected]</tt>
+</h3>
+Called when the vertical scroll bar geometry changes. This is
+provided as a protected function so that subclasses can do
+interesting things such as providing extra buttons in some of the
+space normally used by the scroll bars.
+<p> The default implementation simply gives all the space to <em>vbar</em>.
+The new geometry is given by <em>x</em>, <em>y</em>, <em>w</em> and <em>h</em>.
+<p> <p>See also <a href="#setHBarGeometry">setHBarGeometry</a>().
+
+<h3 class=fn>void <a name="setVScrollBarMode"></a>QScrollView::setVScrollBarMode ( <a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the mode for the vertical scroll bar.
+See the <a href="qscrollview.html#vScrollBarMode-prop">"vScrollBarMode"</a> property for details.
+<h3 class=fn>void <a name="showChild"></a>QScrollView::showChild ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, bool&nbsp;y = TRUE )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the visibility of <em>child</em>. Equivalent to
+<a href="qwidget.html#show">QWidget::show</a>() or <a href="qwidget.html#hide">QWidget::hide</a>().
+
+<h3 class=fn>int <a name="topMargin"></a>QScrollView::topMargin () const<tt> [protected]</tt>
+</h3>
+Returns the top margin.
+<p> <p>See also <a href="#setMargins">setMargins</a>().
+
+<h3 class=fn>void <a name="updateContents"></a>QScrollView::updateContents ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Calls <a href="qwidget.html#update">update</a>() on a rectangle defined by <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>,
+translated appropriately. If the rectangle is not visible, nothing
+is repainted.
+<p> <p>See also <a href="#repaintContents">repaintContents</a>().
+
+<h3 class=fn>void <a name="updateContents-2"></a>QScrollView::updateContents ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Updates the contents in rectangle <em>r</em>
+
+<h3 class=fn>void <a name="updateContents-3"></a>QScrollView::updateContents ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>void <a name="updateScrollBars"></a>QScrollView::updateScrollBars ()<tt> [slot]</tt>
+</h3>
+Updates scroll bars: all possibilities are considered. You should
+never need to call this in your code.
+
+<h3 class=fn><a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="vScrollBarMode"></a>QScrollView::vScrollBarMode () const
+</h3><p>Returns the mode for the vertical scroll bar.
+See the <a href="qscrollview.html#vScrollBarMode-prop">"vScrollBarMode"</a> property for details.
+<h3 class=fn><a href="qscrollbar.html">QScrollBar</a>&nbsp;* <a name="verticalScrollBar"></a>QScrollView::verticalScrollBar () const
+</h3>
+Returns the component vertical scroll bar. It is made available to
+allow accelerators, autoscrolling, etc.
+<p> It should not be used for other purposes.
+<p> This function never returns 0.
+
+<h3 class=fn>void <a name="verticalSliderPressed"></a>QScrollView::verticalSliderPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user presses the vertical slider.
+
+<h3 class=fn>void <a name="verticalSliderReleased"></a>QScrollView::verticalSliderReleased ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the user releases the vertical slider.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="viewport"></a>QScrollView::viewport () const
+</h3>
+Returns the viewport widget of the scrollview. This is the widget
+containing the contents widget or which is the drawing area.
+
+<p>Examples: <a href="helpsystem-example.html#x2683">helpsystem/tooltip.cpp</a> and <a href="scrollview-example.html#x655">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="viewportPaintEvent"></a>QScrollView::viewportPaintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;*&nbsp;pe )<tt> [virtual protected]</tt>
+</h3>
+This is a low-level painting routine that draws the viewport
+contents. Reimplement this if <a href="#drawContents">drawContents</a>() is too high-level
+(for example, if you don't want to open a <a href="qpainter.html">QPainter</a> on the
+viewport). The paint event is passed in <em>pe</em>.
+
+<h3 class=fn>void <a name="viewportResizeEvent"></a>QScrollView::viewportResizeEvent ( <a href="qresizeevent.html">QResizeEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+To provide simple processing of events on the contents, this
+function receives all resize events sent to the viewport.
+<p> <p>See also <a href="qwidget.html#resizeEvent">QWidget::resizeEvent</a>().
+
+<p>Example: <a href="tutorial2-06.html#x2587">chart/canvasview.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="viewportSize"></a>QScrollView::viewportSize ( int&nbsp;x, int&nbsp;y ) const
+</h3>
+Returns the viewport size for size (<em>x</em>, <em>y</em>).
+<p> The viewport size depends on <em>(x, y)</em> (the size of the contents),
+the size of this widget and the modes of the horizontal and
+vertical scroll bars.
+<p> This function permits widgets that can trade vertical and
+horizontal space for each other to control scroll bar appearance
+better. For example, a word processor or web browser can control
+the width of the right margin accurately, whether or not there
+needs to be a vertical scroll bar.
+
+<h3 class=fn>void <a name="viewportToContents"></a>QScrollView::viewportToContents ( int&nbsp;vx, int&nbsp;vy, int&nbsp;&amp;&nbsp;x, int&nbsp;&amp;&nbsp;y ) const
+</h3>
+Translates a point (<em>vx</em>, <em>vy</em>) on the <a href="#viewport">viewport</a>() widget to a
+point (<em>x</em>, <em>y</em>) in the contents.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="viewportToContents-2"></a>QScrollView::viewportToContents ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;vp ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point on the viewport <em>vp</em> translated to a point in
+the contents.
+
+<h3 class=fn>int <a name="visibleHeight"></a>QScrollView::visibleHeight () const
+</h3><p>Returns the vertical amount of the content that is visible.
+See the <a href="qscrollview.html#visibleHeight-prop">"visibleHeight"</a> property for details.
+<h3 class=fn>int <a name="visibleWidth"></a>QScrollView::visibleWidth () const
+</h3><p>Returns the horizontal amount of the content that is visible.
+See the <a href="qscrollview.html#visibleWidth-prop">"visibleWidth"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="contentsHeight-prop"></a>contentsHeight</h3>
+<p>This property holds the height of the contents area.
+<p>
+<p>Get this property's value with <a href="#contentsHeight">contentsHeight</a>().
+<h3 class=fn>int <a name="contentsWidth-prop"></a>contentsWidth</h3>
+<p>This property holds the width of the contents area.
+<p>
+<p>Get this property's value with <a href="#contentsWidth">contentsWidth</a>().
+<h3 class=fn>int <a name="contentsX-prop"></a>contentsX</h3>
+<p>This property holds the X coordinate of the contents that are at the left edge of the viewport.
+<p>
+<p>Get this property's value with <a href="#contentsX">contentsX</a>().
+<h3 class=fn>int <a name="contentsY-prop"></a>contentsY</h3>
+<p>This property holds the Y coordinate of the contents that are at the top edge of the viewport.
+<p>
+<p>Get this property's value with <a href="#contentsY">contentsY</a>().
+<h3 class=fn>bool <a name="dragAutoScroll-prop"></a>dragAutoScroll</h3>
+<p>This property holds whether autoscrolling in drag move events is enabled.
+<p>If this property is set to TRUE (the default), the QScrollView
+automatically scrolls the contents in drag move events if the user
+moves the cursor close to a border of the view. Of course this
+works only if the viewport accepts drops. Specifying FALSE
+disables this autoscroll feature.
+<p> <b>Warning:</b> Enabling this property might not be enough to
+effectively turn on autoscrolling. If you put a custom widget in
+the QScrollView, you might need to call QDragEvent::ignore() on
+the event in the <a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>() and <a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+reimplementations.
+
+<p>Set this property's value with <a href="#setDragAutoScroll">setDragAutoScroll</a>() and get this property's value with <a href="#dragAutoScroll">dragAutoScroll</a>().
+<h3 class=fn><a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="hScrollBarMode-prop"></a>hScrollBarMode</h3>
+<p>This property holds the mode for the horizontal scroll bar.
+<p>The default mode is <a href="#ScrollBarMode-enum">QScrollView::Auto</a>.
+<p> <p>See also <a href="#vScrollBarMode-prop">vScrollBarMode</a>.
+
+<p>Set this property's value with <a href="#setHScrollBarMode">setHScrollBarMode</a>() and get this property's value with <a href="#hScrollBarMode">hScrollBarMode</a>().
+<h3 class=fn><a href="qscrollview.html#ResizePolicy-enum">ResizePolicy</a> <a name="resizePolicy-prop"></a>resizePolicy</h3>
+<p>This property holds the resize policy.
+<p>The default is <a href="#ResizePolicy-enum">Default</a>.
+<p> <p>See also <a href="#ResizePolicy-enum">ResizePolicy</a>.
+
+<p>Set this property's value with <a href="#setResizePolicy">setResizePolicy</a>() and get this property's value with <a href="#resizePolicy">resizePolicy</a>().
+<h3 class=fn><a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="vScrollBarMode-prop"></a>vScrollBarMode</h3>
+<p>This property holds the mode for the vertical scroll bar.
+<p>The default mode is <a href="#ScrollBarMode-enum">QScrollView::Auto</a>.
+<p> <p>See also <a href="#hScrollBarMode-prop">hScrollBarMode</a>.
+
+<p>Set this property's value with <a href="#setVScrollBarMode">setVScrollBarMode</a>() and get this property's value with <a href="#vScrollBarMode">vScrollBarMode</a>().
+<h3 class=fn>int <a name="visibleHeight-prop"></a>visibleHeight</h3>
+<p>This property holds the vertical amount of the content that is visible.
+<p>
+<p>Get this property's value with <a href="#visibleHeight">visibleHeight</a>().
+<h3 class=fn>int <a name="visibleWidth-prop"></a>visibleWidth</h3>
+<p>This property holds the horizontal amount of the content that is visible.
+<p>
+<p>Get this property's value with <a href="#visibleWidth">visibleWidth</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsemaphore-h.html b/doc/html/qsemaphore-h.html
new file mode 100644
index 0000000..488513f
--- /dev/null
+++ b/doc/html/qsemaphore-h.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsemaphore.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsemaphore.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsemaphore.h</h1>
+
+<p>This is the verbatim text of the qsemaphore.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsemaphore.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSemaphore class
+**
+** Created : 931107
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSEMAPHORE_H
+#define QSEMAPHORE_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+#if defined(QT_THREAD_SUPPORT)
+
+class QSemaphorePrivate;
+
+class Q_EXPORT QSemaphore
+{
+public:
+ QSemaphore( int );
+ virtual ~QSemaphore();
+
+ int available() const;
+ int total() const;
+
+ // postfix operators
+ int operator++(int);
+ int operator--(int);
+
+ int operator+=(int);
+ int operator-=(int);
+
+ bool tryAccess(int);
+
+private:
+ QSemaphorePrivate *d;
+
+#if defined(Q_DISABLE_COPY)
+ QSemaphore(const QSemaphore &amp;);
+ QSemaphore &amp;operator=(const QSemaphore &amp;);
+#endif
+};
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsemaphore-members.html b/doc/html/qsemaphore-members.html
new file mode 100644
index 0000000..4ed26cd
--- /dev/null
+++ b/doc/html/qsemaphore-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsemaphore.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSemaphore Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSemaphore</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsemaphore.html">QSemaphore</a>, including inherited members.
+
+<ul>
+<li><a href="qsemaphore.html#QSemaphore">QSemaphore</a>()
+<li><a href="qsemaphore.html#~QSemaphore">~QSemaphore</a>()
+<li><a href="qsemaphore.html#available">available</a>()
+<li><a href="qsemaphore.html#operator++">operator++</a>()
+<li><a href="qsemaphore.html#operator+-eq">operator+=</a>()
+<li><a href="qsemaphore.html#operator--">operator--</a>()
+<li><a href="qsemaphore.html#operator--eq">operator-=</a>()
+<li><a href="qsemaphore.html#total">total</a>()
+<li><a href="qsemaphore.html#tryAccess">tryAccess</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsemaphore.html b/doc/html/qsemaphore.html
new file mode 100644
index 0000000..d789229
--- /dev/null
+++ b/doc/html/qsemaphore.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qsemaphore.cpp:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSemaphore Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSemaphore Class Reference</h1>
+
+<p>The QSemaphore class provides a robust integer semaphore.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qsemaphore-h.html">qsemaphore.h</a>&gt;</tt>
+<p><a href="qsemaphore-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSemaphore"><b>QSemaphore</b></a> ( int&nbsp;maxcount )</li>
+<li class=fn>virtual <a href="#~QSemaphore"><b>~QSemaphore</b></a> ()</li>
+<li class=fn>int <a href="#available"><b>available</b></a> () const</li>
+<li class=fn>int <a href="#total"><b>total</b></a> () const</li>
+<li class=fn>int <a href="#operator++"><b>operator++</b></a> ( int )</li>
+<li class=fn>int <a href="#operator--"><b>operator--</b></a> ( int )</li>
+<li class=fn>int <a href="#operator+-eq"><b>operator+=</b></a> ( int&nbsp;n )</li>
+<li class=fn>int <a href="#operator--eq"><b>operator-=</b></a> ( int&nbsp;n )</li>
+<li class=fn>bool <a href="#tryAccess"><b>tryAccess</b></a> ( int&nbsp;n )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QSemaphore class provides a robust integer semaphore.
+<p>
+
+<p> A QSemaphore can be used to serialize thread execution, in a
+similar way to a <a href="qmutex.html">QMutex</a>. A semaphore differs from a mutex, in
+that a semaphore can be accessed by more than one thread at a
+time.
+<p> For example, suppose we have an application that stores data in a
+large tree structure. The application creates 10 threads
+(commonly called a thread pool) to perform searches on the tree.
+When the application searches the tree for some piece of data, it
+uses one thread per base node to do the searching. A semaphore
+could be used to make sure that two threads don't try to search
+the same branch of the tree at the same time.
+<p> A non-computing example of a semaphore would be dining at a
+restuarant. A semaphore is initialized to have a maximum count
+equal to the number of chairs in the restuarant. As people
+arrive, they want a seat. As seats are filled, the semaphore is
+accessed, once per person. As people leave, the access is
+released, allowing more people to enter. If a party of 10 people
+want to be seated, but there are only 9 seats, those 10 people
+will wait, but a party of 4 people would be seated (taking the
+available seats to 5, making the party of 10 people wait longer).
+<p> When a semaphore is created it is given a number which is the
+maximum number of concurrent accesses it will permit. Accesses to
+the sempahore are gained using <a href="#operator++">operator++</a>() or <a href="#operator+-eq">operator+=</a>(), and
+released with <a href="#operator--">operator--</a>() or <a href="#operator--eq">operator-=</a>(). The number of
+accesses allowed is retrieved with <a href="#available">available</a>(), and the total
+number with <a href="#total">total</a>(). Note that the incrementing functions will
+block if there aren't enough available accesses. Use <a href="#tryAccess">tryAccess</a>()
+if you want to acquire accesses without blocking.
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSemaphore"></a>QSemaphore::QSemaphore ( int&nbsp;maxcount )
+</h3>
+Creates a new semaphore. The semaphore can be concurrently
+accessed at most <em>maxcount</em> times.
+
+<h3 class=fn><a name="~QSemaphore"></a>QSemaphore::~QSemaphore ()<tt> [virtual]</tt>
+</h3>
+Destroys the semaphore.
+<p> <b>Warning:</b> If you destroy a semaphore that has accesses in use the
+resultant behavior is undefined.
+
+<h3 class=fn>int <a name="available"></a>QSemaphore::available () const
+</h3>
+Returns the number of accesses currently available to the
+semaphore.
+
+<h3 class=fn>int <a name="operator++"></a>QSemaphore::operator++ ( int )
+</h3>
+Postfix ++ operator.
+<p> Try to get access to the semaphore. If <a href="#available">available</a>() == 0, this
+call will block until it can get access, i.e. until <a href="#available">available</a>() &gt;
+0.
+
+<h3 class=fn>int <a name="operator+-eq"></a>QSemaphore::operator+= ( int&nbsp;n )
+</h3>
+Try to get access to the semaphore. If <a href="#available">available</a>() &lt; <em>n</em>, this
+call will block until it can get all the accesses it wants, i.e.
+until <a href="#available">available</a>() &gt;= <em>n</em>.
+
+<h3 class=fn>int <a name="operator--"></a>QSemaphore::operator-- ( int )
+</h3>
+Postfix -- operator.
+<p> Release access of the semaphore. This wakes all threads waiting
+for access to the semaphore.
+
+<h3 class=fn>int <a name="operator--eq"></a>QSemaphore::operator-= ( int&nbsp;n )
+</h3>
+Release <em>n</em> accesses to the semaphore.
+
+<h3 class=fn>int <a name="total"></a>QSemaphore::total () const
+</h3>
+Returns the total number of accesses to the semaphore.
+
+<h3 class=fn>bool <a name="tryAccess"></a>QSemaphore::tryAccess ( int&nbsp;n )
+</h3>
+Try to get access to the semaphore. If <a href="#available">available</a>() &lt; <em>n</em>, this
+function will return FALSE immediately. If <a href="#available">available</a>() &gt;= <em>n</em>,
+this function will take <em>n</em> accesses and return TRUE. This
+function does <em>not</em> block.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qserversocket-h.html b/doc/html/qserversocket-h.html
new file mode 100644
index 0000000..9697a49
--- /dev/null
+++ b/doc/html/qserversocket-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qserversocket.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qserversocket.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qserversocket.h</h1>
+
+<p>This is the verbatim text of the qserversocket.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qserversocket.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QServerSocketClass.
+**
+** Created : 970521
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSERVERSOCKET_H
+#define QSERVERSOCKET_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qhostaddress.h"
+#include "qsocketdevice.h" // ### remove or keep for users' convenience?
+#endif // QT_H
+#ifndef QT_NO_NETWORK
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_NETWORK
+#else
+#define QM_EXPORT_NETWORK Q_EXPORT
+#endif
+
+class QServerSocketPrivate;
+
+
+class QM_EXPORT_NETWORK QServerSocket : public QObject
+{
+ Q_OBJECT
+public:
+ QServerSocket( Q_UINT16 port, int backlog = 1,
+ QObject *parent=0, const char *name=0 );
+ QServerSocket( const QHostAddress &amp; address, Q_UINT16 port, int backlog = 1,
+ QObject *parent=0, const char *name=0 );
+ QServerSocket( QObject *parent=0, const char *name=0 );
+ virtual ~QServerSocket();
+
+ bool ok() const;
+
+ Q_UINT16 port() const ;
+
+ int socket() const ;
+ virtual void setSocket( int socket );
+
+ QHostAddress address() const ;
+
+ virtual void newConnection( int socket ) = 0;
+
+protected:
+ QSocketDevice *socketDevice();
+
+private slots:
+ void incomingConnection( int socket );
+
+private:
+ QServerSocketPrivate *d;
+ void init( const QHostAddress &amp; address, Q_UINT16 port, int backlog );
+};
+
+#endif // QT_NO_NETWORK
+#endif // QSERVERSOCKET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qserversocket-members.html b/doc/html/qserversocket-members.html
new file mode 100644
index 0000000..8394c46
--- /dev/null
+++ b/doc/html/qserversocket-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qserversocket.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QServerSocket Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QServerSocket</h1>
+
+<p>This is the complete list of member functions for
+<a href="qserversocket.html">QServerSocket</a>, including inherited members.
+
+<ul>
+<li><a href="qserversocket.html#QServerSocket">QServerSocket</a>()
+<li><a href="qserversocket.html#~QServerSocket">~QServerSocket</a>()
+<li><a href="qserversocket.html#address">address</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qserversocket.html#newConnection">newConnection</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qserversocket.html#ok">ok</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qserversocket.html#port">port</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qserversocket.html#setSocket">setSocket</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qserversocket.html#socket">socket</a>()
+<li><a href="qserversocket.html#socketDevice">socketDevice</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qserversocket.html b/doc/html/qserversocket.html
new file mode 100644
index 0000000..9ee9e61
--- /dev/null
+++ b/doc/html/qserversocket.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qserversocket.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QServerSocket Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QServerSocket Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QServerSocket class provides a TCP-based server.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qserversocket-h.html">qserversocket.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qserversocket-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QServerSocket"><b>QServerSocket</b></a> ( Q_UINT16&nbsp;port, int&nbsp;backlog = 1, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QServerSocket-2"><b>QServerSocket</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address, Q_UINT16&nbsp;port, int&nbsp;backlog = 1, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QServerSocket-3"><b>QServerSocket</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QServerSocket"><b>~QServerSocket</b></a> ()</li>
+<li class=fn>bool <a href="#ok"><b>ok</b></a> () const</li>
+<li class=fn>Q_UINT16 <a href="#port"><b>port</b></a> () const</li>
+<li class=fn>int <a href="#socket"><b>socket</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSocket"><b>setSocket</b></a> ( int&nbsp;socket )</li>
+<li class=fn>QHostAddress <a href="#address"><b>address</b></a> () const</li>
+<li class=fn>virtual void <a href="#newConnection"><b>newConnection</b></a> ( int&nbsp;socket ) = 0</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>QSocketDevice * <a href="#socketDevice"><b>socketDevice</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QServerSocket class provides a TCP-based server.
+
+<p>
+
+<p> This class is a convenience class for accepting incoming TCP
+connections. You can specify the port or have QServerSocket pick
+one, and listen on just one address or on all the machine's
+addresses.
+<p> Using the API is very simple: subclass QServerSocket, call the
+constructor of your choice, and implement <a href="#newConnection">newConnection</a>() to
+handle new incoming connections. There is nothing more to do.
+<p> (Note that due to lack of support in the underlying APIs,
+QServerSocket cannot accept or reject connections conditionally.)
+<p> <p>See also <a href="qsocket.html">QSocket</a>, <a href="qsocketdevice.html">QSocketDevice</a>, <a href="qhostaddress.html">QHostAddress</a>, <a href="qsocketnotifier.html">QSocketNotifier</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QServerSocket"></a>QServerSocket::QServerSocket ( Q_UINT16&nbsp;port, int&nbsp;backlog = 1, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a server socket object, that will serve the given <em>port</em>
+on all the addresses of this host. If <em>port</em> is 0, QServerSocket
+will pick a suitable port in a system-dependent manner. Use <em>backlog</em> to specify how many pending connections the server can
+have.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qobject.html">QObject</a>
+constructor.
+<p> <b>Warning:</b> On Tru64 Unix systems a value of 0 for <em>backlog</em> means
+that you don't accept any connections at all; you should specify a
+value larger than 0.
+
+<h3 class=fn><a name="QServerSocket-2"></a>QServerSocket::QServerSocket ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address, Q_UINT16&nbsp;port, int&nbsp;backlog = 1, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a server socket object, that will serve the given <em>port</em>
+only on the given <em>address</em>. Use <em>backlog</em> to specify how many
+pending connections the server can have.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qobject.html">QObject</a>
+constructor.
+<p> <b>Warning:</b> On Tru64 Unix systems a value of 0 for <em>backlog</em> means
+that you don't accept any connections at all; you should specify a
+value larger than 0.
+
+<h3 class=fn><a name="QServerSocket-3"></a>QServerSocket::QServerSocket ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Construct an empty server socket.
+<p> This constructor, in combination with <a href="#setSocket">setSocket</a>(), allows us to
+use the QServerSocket class as a wrapper for other socket types
+(e.g. Unix Domain Sockets under Unix).
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qobject.html">QObject</a>
+constructor.
+<p> <p>See also <a href="#setSocket">setSocket</a>().
+
+<h3 class=fn><a name="~QServerSocket"></a>QServerSocket::~QServerSocket ()<tt> [virtual]</tt>
+</h3>
+Destroys the socket.
+<p> This causes any backlogged connections (connections that have
+reached the host, but not yet been completely set up by calling
+<a href="qsocketdevice.html#accept">QSocketDevice::accept</a>()) to be severed.
+<p> Existing connections continue to exist; this only affects the
+acceptance of new connections.
+
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a> <a name="address"></a>QServerSocket::address () const
+</h3>
+Returns the address on which this object listens, or 0.0.0.0 if
+this object listens on more than one address. <a href="#ok">ok</a>() must be TRUE
+before calling this function.
+<p> <p>See also <a href="#port">port</a>() and <a href="qsocketdevice.html#address">QSocketDevice::address</a>().
+
+<h3 class=fn>void <a name="newConnection"></a>QServerSocket::newConnection ( int&nbsp;socket )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This pure virtual function is responsible for setting up a new
+incoming connection. <em>socket</em> is the fd (file descriptor) for the
+newly accepted connection.
+
+<h3 class=fn>bool <a name="ok"></a>QServerSocket::ok () const
+</h3>
+Returns TRUE if the construction succeeded; otherwise returns FALSE.
+
+<h3 class=fn>Q_UINT16 <a name="port"></a>QServerSocket::port () const
+</h3>
+Returns the port number on which this server socket listens. This
+is always non-zero; if you specify 0 in the constructor,
+QServerSocket will pick a non-zero port itself. <a href="#ok">ok</a>() must be TRUE
+before calling this function.
+<p> <p>See also <a href="#address">address</a>() and <a href="qsocketdevice.html#port">QSocketDevice::port</a>().
+
+<p>Example: <a href="httpd-example.html#x726">network/httpd/httpd.cpp</a>.
+<h3 class=fn>void <a name="setSocket"></a>QServerSocket::setSocket ( int&nbsp;socket )<tt> [virtual]</tt>
+</h3>
+Sets the socket to use <em>socket</em>. bind() and listen() should
+already have been called for <em>socket</em>.
+<p> This allows us to use the QServerSocket class as a wrapper for
+other socket types (e.g. Unix Domain Sockets).
+
+<h3 class=fn>int <a name="socket"></a>QServerSocket::socket () const
+</h3>
+Returns the operating system socket.
+
+<h3 class=fn><a href="qsocketdevice.html">QSocketDevice</a>&nbsp;* <a name="socketDevice"></a>QServerSocket::socketDevice ()<tt> [protected]</tt>
+</h3>
+Returns a pointer to the internal socket device. The returned
+pointer is 0 if there is no connection or pending connection.
+<p> There is normally no need to manipulate the socket device directly
+since this class does all the necessary setup for most client or
+server socket applications.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsessionmanager-h.html b/doc/html/qsessionmanager-h.html
new file mode 100644
index 0000000..d23297f
--- /dev/null
+++ b/doc/html/qsessionmanager-h.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsessionmanager.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsessionmanager.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsessionmanager.h</h1>
+
+<p>This is the verbatim text of the qsessionmanager.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsessionmanager.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSessionManager class
+**
+** Created : 990510
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSESSIONMANAGER_H
+#define QSESSIONMANAGER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qwindowdefs.h"
+#include "qstring.h"
+#include "qstringlist.h"
+#endif // QT_H
+#ifndef QT_NO_SESSIONMANAGER
+
+class QSessionManagerData;
+
+class Q_EXPORT QSessionManager : public QObject
+{
+ Q_OBJECT
+ QSessionManager( QApplication *app, QString &amp;id, QString &amp;key );
+ ~QSessionManager();
+public:
+ QString sessionId() const;
+ QString sessionKey() const;
+#if defined(Q_WS_X11) || defined(Q_WS_MAC)
+ void* handle() const;
+#endif
+
+ bool allowsInteraction();
+ bool allowsErrorInteraction();
+ void release();
+
+ void cancel();
+
+ enum RestartHint {
+ RestartIfRunning,
+ RestartAnyway,
+ RestartImmediately,
+ RestartNever
+ };
+ void setRestartHint( RestartHint );
+ RestartHint restartHint() const;
+
+ void setRestartCommand( const QStringList&amp; );
+ QStringList restartCommand() const;
+ void setDiscardCommand( const QStringList&amp; );
+ QStringList discardCommand() const;
+
+ void setManagerProperty( const QString&amp; name, const QString&amp; value );
+ void setManagerProperty( const QString&amp; name, const QStringList&amp; value );
+
+ bool isPhase2() const;
+ void requestPhase2();
+
+private:
+ friend class QApplication;
+ friend class QBaseApplication;
+ QSessionManagerData* d;
+};
+
+#endif // QT_NO_SESSIONMANAGER
+#endif // QSESSIONMANAGER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsessionmanager-members.html b/doc/html/qsessionmanager-members.html
new file mode 100644
index 0000000..441b536
--- /dev/null
+++ b/doc/html/qsessionmanager-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsessionmanager.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSessionManager Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSessionManager</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsessionmanager.html">QSessionManager</a>, including inherited members.
+
+<ul>
+<li><a href="qsessionmanager.html#allowsErrorInteraction">allowsErrorInteraction</a>()
+<li><a href="qsessionmanager.html#allowsInteraction">allowsInteraction</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qsessionmanager.html#cancel">cancel</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qsessionmanager.html#discardCommand">discardCommand</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qsessionmanager.html#handle">handle</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsessionmanager.html#isPhase2">isPhase2</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qsessionmanager.html#release">release</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qsessionmanager.html#requestPhase2">requestPhase2</a>()
+<li><a href="qsessionmanager.html#restartCommand">restartCommand</a>()
+<li><a href="qsessionmanager.html#restartHint">restartHint</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsessionmanager.html#sessionId">sessionId</a>()
+<li><a href="qsessionmanager.html#sessionKey">sessionKey</a>()
+<li><a href="qsessionmanager.html#setDiscardCommand">setDiscardCommand</a>()
+<li><a href="qsessionmanager.html#setManagerProperty">setManagerProperty</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsessionmanager.html#setRestartCommand">setRestartCommand</a>()
+<li><a href="qsessionmanager.html#setRestartHint">setRestartHint</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsessionmanager.html b/doc/html/qsessionmanager.html
new file mode 100644
index 0000000..167a236
--- /dev/null
+++ b/doc/html/qsessionmanager.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qapplication.cpp:4067 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSessionManager Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSessionManager Class Reference</h1>
+
+<p>The QSessionManager class provides access to the session manager.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsessionmanager-h.html">qsessionmanager.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsessionmanager-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#sessionId"><b>sessionId</b></a> () const</li>
+<li class=fn>QString <a href="#sessionKey"><b>sessionKey</b></a> () const</li>
+<li class=fn>void * <a href="#handle"><b>handle</b></a> () const</li>
+<li class=fn>bool <a href="#allowsInteraction"><b>allowsInteraction</b></a> ()</li>
+<li class=fn>bool <a href="#allowsErrorInteraction"><b>allowsErrorInteraction</b></a> ()</li>
+<li class=fn>void <a href="#release"><b>release</b></a> ()</li>
+<li class=fn>void <a href="#cancel"><b>cancel</b></a> ()</li>
+<li class=fn>enum <a href="#RestartHint-enum"><b>RestartHint</b></a> { RestartIfRunning, RestartAnyway, RestartImmediately, RestartNever }</li>
+<li class=fn>void <a href="#setRestartHint"><b>setRestartHint</b></a> ( RestartHint&nbsp;hint )</li>
+<li class=fn>RestartHint <a href="#restartHint"><b>restartHint</b></a> () const</li>
+<li class=fn>void <a href="#setRestartCommand"><b>setRestartCommand</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;command )</li>
+<li class=fn>QStringList <a href="#restartCommand"><b>restartCommand</b></a> () const</li>
+<li class=fn>void <a href="#setDiscardCommand"><b>setDiscardCommand</b></a> ( const QStringList &amp; )</li>
+<li class=fn>QStringList <a href="#discardCommand"><b>discardCommand</b></a> () const</li>
+<li class=fn>void <a href="#setManagerProperty-2"><b>setManagerProperty</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>void <a href="#setManagerProperty"><b>setManagerProperty</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QStringList&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>bool <a href="#isPhase2"><b>isPhase2</b></a> () const</li>
+<li class=fn>void <a href="#requestPhase2"><b>requestPhase2</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSessionManager class provides access to the session manager.
+<p>
+
+<p> The session manager is responsible for session management, most
+importantly for interruption and resumption. A "session" is a kind
+of record of the state of the system, e.g. which applications were
+run at start up and which applications are currently running. The
+session manager is used to save the session, e.g. when the machine
+is shut down; and to restore a session, e.g. when the machine is
+started up. Use <a href="qsettings.html">QSettings</a> to save and restore an individual
+application's settings, e.g. window positions, recently used files,
+etc.
+<p> QSessionManager provides an interface between the application and
+the session manager so that the program can work well with the
+session manager. In Qt, session management requests for action
+are handled by the two virtual functions <a href="qapplication.html#commitData">QApplication::commitData</a>()
+and <a href="qapplication.html#saveState">QApplication::saveState</a>(). Both provide a reference to
+a session manager object as argument, to allow the application
+to communicate with the session manager.
+<p> During a session management action (i.e. within commitData() and
+saveState()), no user interaction is possible <em>unless</em> the
+application got explicit permission from the session manager. You
+ask for permission by calling <a href="#allowsInteraction">allowsInteraction</a>() or, if it's really
+urgent, <a href="#allowsErrorInteraction">allowsErrorInteraction</a>(). Qt does not enforce this, but the
+session manager may.
+<p> You can try to abort the shutdown process by calling <a href="#cancel">cancel</a>(). The
+default commitData() function does this if some top-level window
+rejected its closeEvent().
+<p> For sophisticated session managers provided on Unix/X11, QSessionManager
+offers further possibilites to fine-tune an application's session
+management behavior: <a href="#setRestartCommand">setRestartCommand</a>(), <a href="#setDiscardCommand">setDiscardCommand</a>(),
+<a href="#setRestartHint">setRestartHint</a>(), <a href="qobject.html#setProperty">setProperty</a>(), <a href="#requestPhase2">requestPhase2</a>(). See the respective
+function descriptions for further details.
+<p>See also <a href="application.html">Main Window and Related Classes</a> and <a href="environment.html">Environment Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="RestartHint-enum"></a>QSessionManager::RestartHint</h3>
+<p> This enum type defines the circumstances under which this
+application wants to be restarted by the session manager. The
+current values are
+<ul>
+<li><tt>QSessionManager::RestartIfRunning</tt> - if the application is still running when
+the session is shut down, it wants to be restarted at the start of
+the next session.
+<li><tt>QSessionManager::RestartAnyway</tt> - the application wants to be started at the
+start of the next session, no matter what. (This is useful for
+utilities that run just after startup and then quit.)
+<li><tt>QSessionManager::RestartImmediately</tt> - the application wants to be started
+immediately whenever it is not running.
+<li><tt>QSessionManager::RestartNever</tt> - the application does not want to be restarted
+automatically.
+</ul><p> The default hint is <a href="#RestartHint-enum">RestartIfRunning</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="allowsErrorInteraction"></a>QSessionManager::allowsErrorInteraction ()
+</h3>
+
+<p> This is similar to <a href="#allowsInteraction">allowsInteraction</a>(), but also tells the session
+manager that an error occurred. Session managers may give error
+interaction request higher priority, which means that it is more likely
+that an error interaction is permitted. However, you are still not
+guaranteed that the session manager will allow interaction.
+<p> <p>See also <a href="#allowsInteraction">allowsInteraction</a>(), <a href="#release">release</a>(), and <a href="#cancel">cancel</a>().
+
+<h3 class=fn>bool <a name="allowsInteraction"></a>QSessionManager::allowsInteraction ()
+</h3>
+
+<p> Asks the session manager for permission to interact with the
+user. Returns TRUE if interaction is permitted; otherwise
+returns FALSE.
+<p> The rationale behind this mechanism is to make it possible to
+synchronize user interaction during a shutdown. Advanced session
+managers may ask all applications simultaneously to commit their
+data, resulting in a much faster shutdown.
+<p> When the interaction is completed we strongly recommend releasing the
+user interaction semaphore with a call to <a href="#release">release</a>(). This way, other
+applications may get the chance to interact with the user while your
+application is still busy saving data. (The semaphore is implicitly
+released when the application exits.)
+<p> If the user decides to cancel the shutdown process during the
+interaction phase, you must tell the session manager that this has
+happened by calling <a href="#cancel">cancel</a>().
+<p> Here's an example of how an application's <a href="qapplication.html#commitData">QApplication::commitData</a>()
+might be implemented:
+<p> <pre>
+void MyApplication::commitData( QSessionManager&amp; sm ) {
+ if ( sm.<a href="#allowsInteraction">allowsInteraction</a>() ) {
+ switch ( QMessageBox::<a href="qmessagebox.html#warning">warning</a>(
+ yourMainWindow,
+ <a href="qobject.html#tr">tr</a>("Application Name"),
+ <a href="qobject.html#tr">tr</a>("Save changes to document Foo?"),
+ <a href="qobject.html#tr">tr</a>("&amp;Yes"),
+ <a href="qobject.html#tr">tr</a>("&amp;No"),
+ <a href="qobject.html#tr">tr</a>("Cancel"),
+ 0, 2) ) {
+ case 0: // yes
+ sm.<a href="#release">release</a>();
+ // save document here; if saving fails, call sm.<a href="#cancel">cancel</a>()
+ break;
+ case 1: // continue without saving
+ break;
+ default: // cancel
+ sm.<a href="#cancel">cancel</a>();
+ break;
+ }
+ } else {
+ // we did not get permission to interact, then
+ // do something reasonable instead.
+ }
+}
+</pre>
+
+<p> If an error occurred within the application while saving its data,
+you may want to try <a href="#allowsErrorInteraction">allowsErrorInteraction</a>() instead.
+<p> <p>See also <a href="qapplication.html#commitData">QApplication::commitData</a>(), <a href="#release">release</a>(), and <a href="#cancel">cancel</a>().
+
+<h3 class=fn>void <a name="cancel"></a>QSessionManager::cancel ()
+</h3>
+
+<p> Tells the session manager to cancel the shutdown process. Applications
+should not call this function without first asking the user.
+<p> <p>See also <a href="#allowsInteraction">allowsInteraction</a>() and <a href="#allowsErrorInteraction">allowsErrorInteraction</a>().
+
+<p>
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="discardCommand"></a>QSessionManager::discardCommand () const
+</h3>
+
+<p> Returns the currently set discard command.
+<p> Note that if you want to iterate over the list, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = mySession.discardCommand();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#setDiscardCommand">setDiscardCommand</a>(), <a href="#restartCommand">restartCommand</a>(), and <a href="#setRestartCommand">setRestartCommand</a>().
+
+<h3 class=fn>void * <a name="handle"></a>QSessionManager::handle () const
+</h3>
+
+<p> X11 only: returns a handle to the current <tt>SmcConnection</tt>.
+
+<h3 class=fn>bool <a name="isPhase2"></a>QSessionManager::isPhase2 () const
+</h3>
+
+<p> Returns TRUE if the session manager is currently performing a second
+session management phase; otherwise returns FALSE.
+<p> <p>See also <a href="#requestPhase2">requestPhase2</a>().
+
+<h3 class=fn>void <a name="release"></a>QSessionManager::release ()
+</h3>
+
+<p> Releases the session manager's interaction semaphore after an
+interaction phase.
+<p> <p>See also <a href="#allowsInteraction">allowsInteraction</a>() and <a href="#allowsErrorInteraction">allowsErrorInteraction</a>().
+
+<h3 class=fn>void <a name="requestPhase2"></a>QSessionManager::requestPhase2 ()
+</h3>
+
+<p> Requests a second session management phase for the application. The
+application may then return immediately from the
+<a href="qapplication.html#commitData">QApplication::commitData</a>() or <a href="qapplication.html#saveState">QApplication::saveState</a>() function,
+and they will be called again once most or all other applications have
+finished their session management.
+<p> The two phases are useful for applications such as the X11 window manager
+that need to store information about another application's windows
+and therefore have to wait until these applications have completed their
+respective session management tasks.
+<p> Note that if another application has requested a second phase it
+may get called before, simultaneously with, or after your
+application's second phase.
+<p> <p>See also <a href="#isPhase2">isPhase2</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="restartCommand"></a>QSessionManager::restartCommand () const
+</h3>
+
+<p> Returns the currently set restart command.
+<p> Note that if you want to iterate over the list, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = mySession.restartCommand();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#setRestartCommand">setRestartCommand</a>() and <a href="#restartHint">restartHint</a>().
+
+<h3 class=fn><a href="qsessionmanager.html#RestartHint-enum">RestartHint</a> <a name="restartHint"></a>QSessionManager::restartHint () const
+</h3>
+
+<p> Returns the application's current restart hint. The default is
+<a href="#RestartHint-enum">RestartIfRunning</a>.
+<p> <p>See also <a href="#setRestartHint">setRestartHint</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionId"></a>QSessionManager::sessionId () const
+</h3>
+
+<p> Returns the identifier of the current session.
+<p> If the application has been restored from an earlier session, this
+identifier is the same as it was in that earlier session.
+<p> <p>See also <a href="#sessionKey">sessionKey</a>() and <a href="qapplication.html#sessionId">QApplication::sessionId</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sessionKey"></a>QSessionManager::sessionKey () const
+</h3>
+
+<p> Returns the session key in the current session.
+<p> If the application has been restored from an earlier session, this
+key is the same as it was when the previous session ended.
+<p> The session key changes with every call of commitData() or
+saveState().
+<p> <p>See also <a href="#sessionId">sessionId</a>() and <a href="qapplication.html#sessionKey">QApplication::sessionKey</a>().
+
+<h3 class=fn>void <a name="setDiscardCommand"></a>QSessionManager::setDiscardCommand ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp; )
+</h3>
+
+<p> <p>See also <a href="#discardCommand">discardCommand</a>() and <a href="#setRestartCommand">setRestartCommand</a>().
+
+<h3 class=fn>void <a name="setManagerProperty"></a>QSessionManager::setManagerProperty ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;value )
+</h3>
+
+<p> Low-level write access to the application's identification and state
+record are kept in the session manager.
+<p> The property called <em>name</em> has its value set to the string list <em>value</em>.
+
+<h3 class=fn>void <a name="setManagerProperty-2"></a>QSessionManager::setManagerProperty ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Low-level write access to the application's identification and state
+records are kept in the session manager.
+<p> The property called <em>name</em> has its value set to the string <em>value</em>.
+
+<h3 class=fn>void <a name="setRestartCommand"></a>QSessionManager::setRestartCommand ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;command )
+</h3>
+
+<p> If the session manager is capable of restoring sessions it will
+execute <em>command</em> in order to restore the application. The command
+defaults to
+<p> <pre>
+ appname -session id
+ </pre>
+
+<p> The <tt>-session</tt> option is mandatory; otherwise <a href="qapplication.html">QApplication</a> cannot
+tell whether it has been restored or what the current session
+identifier is. See <a href="qapplication.html#isSessionRestored">QApplication::isSessionRestored</a>() and
+<a href="qapplication.html#sessionId">QApplication::sessionId</a>() for details.
+<p> If your application is very simple, it may be possible to store the
+entire application state in additional command line options. This
+is usually a very bad idea because command lines are often limited
+to a few hundred bytes. Instead, use <a href="qsettings.html">QSettings</a>, or temporary files
+or a database for this purpose. By marking the data with the unique
+<a href="#sessionId">sessionId</a>(), you will be able to restore the application in a future
+session.
+<p> <p>See also <a href="#restartCommand">restartCommand</a>(), <a href="#setDiscardCommand">setDiscardCommand</a>(), and <a href="#setRestartHint">setRestartHint</a>().
+
+<h3 class=fn>void <a name="setRestartHint"></a>QSessionManager::setRestartHint ( <a href="qsessionmanager.html#RestartHint-enum">RestartHint</a>&nbsp;hint )
+</h3>
+
+<p> Sets the application's restart hint to <em>hint</em>. On application
+startup the hint is set to <a href="#RestartHint-enum">RestartIfRunning</a>.
+<p> Note that these flags are only hints, a session manager may or may
+not respect them.
+<p> We recommend setting the restart hint in <a href="qapplication.html#saveState">QApplication::saveState</a>()
+because most session managers perform a checkpoint shortly after an
+application's startup.
+<p> <p>See also <a href="#restartHint">restartHint</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsettings-h.html b/doc/html/qsettings-h.html
new file mode 100644
index 0000000..6c177c3
--- /dev/null
+++ b/doc/html/qsettings-h.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsettings.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsettings.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsettings.h</h1>
+
+<p>This is the verbatim text of the qsettings.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsettings.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QSettings class
+**
+** Created : 000626
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSETTINGS_H
+#define QSETTINGS_H
+
+#ifndef QT_H
+#include "qdatetime.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_SETTINGS
+
+class QSettingsPrivate;
+
+
+class Q_EXPORT QSettings
+{
+public:
+ enum Format {
+ Native = 0,
+ Ini
+ };
+ enum System {
+ Unix = 0,
+ Windows,
+ Mac
+ };
+ enum Scope {
+ User,
+ Global
+ };
+
+ QSettings();
+ QSettings( Format format );
+
+ ~QSettings();
+
+#if !defined(Q_NO_BOOL_TYPE)
+ bool writeEntry( const QString &amp;, bool );
+#endif
+ bool writeEntry( const QString &amp;, double );
+ bool writeEntry( const QString &amp;, int );
+ bool writeEntry( const QString &amp;, const char * );
+ bool writeEntry( const QString &amp;, const QString &amp; );
+ bool writeEntry( const QString &amp;, const QStringList &amp; );
+ bool writeEntry( const QString &amp;, const QStringList &amp;, const QChar&amp; sep );
+
+ QStringList entryList(const QString &amp;) const;
+ QStringList subkeyList(const QString &amp;) const;
+
+ //### remove non const versions in 4.0
+ QStringList readListEntry( const QString &amp;, bool * = 0 );
+ QStringList readListEntry( const QString &amp;, const QChar&amp; sep, bool * = 0 );
+ QString readEntry( const QString &amp;, const QString &amp;def = QString::null, bool * = 0 );
+ int readNumEntry( const QString &amp;, int def = 0, bool * = 0 );
+ double readDoubleEntry( const QString &amp;, double def = 0, bool * = 0 );
+ bool readBoolEntry( const QString &amp;, bool def = FALSE, bool * = 0 );
+
+ //### make those non-inlined in 4.0
+ QStringList readListEntry( const QString &amp;key, bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readListEntry( key, ok );
+ }
+ QStringList readListEntry( const QString &amp;key, const QChar&amp; sep, bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readListEntry( key, sep, ok );
+ }
+ QString readEntry( const QString &amp;key, const QString &amp;def = QString::null,
+ bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readEntry( key, def, ok );
+ }
+ int readNumEntry( const QString &amp;key, int def = 0, bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readNumEntry( key, def, ok );
+ }
+
+ double readDoubleEntry( const QString &amp;key, double def = 0, bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readDoubleEntry( key, def, ok );
+ }
+ bool readBoolEntry( const QString &amp;key, bool def = FALSE, bool *ok = 0 ) const
+ {
+ QSettings *that = (QSettings*)this;
+ return that-&gt;readBoolEntry( key, def, ok );
+ }
+
+ bool removeEntry( const QString &amp; );
+
+ void insertSearchPath( System, const QString &amp; );
+ void removeSearchPath( System, const QString &amp; );
+
+ void setPath( const QString &amp;domain, const QString &amp;product, Scope = Global );
+
+ void beginGroup( const QString &amp;group );
+ void endGroup();
+ void resetGroup();
+ QString group() const;
+
+ bool sync();
+
+private:
+ QSettingsPrivate *d;
+
+#if defined(Q_DISABLE_COPY)
+ QSettings(const QSettings &amp;);
+ QSettings &amp;operator=(const QSettings &amp;);
+#endif
+
+ QDateTime lastModificationTime( const QString &amp; );
+
+ friend class QApplication;
+};
+
+#endif // QT_NO_SETTINGS
+#endif // QSETTINGS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsettings-members.html b/doc/html/qsettings-members.html
new file mode 100644
index 0000000..76aebe2
--- /dev/null
+++ b/doc/html/qsettings-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsettings.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSettings Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSettings</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsettings.html">QSettings</a>, including inherited members.
+
+<ul>
+<li><a href="qsettings.html#QSettings">QSettings</a>()
+<li><a href="qsettings.html#~QSettings">~QSettings</a>()
+<li><a href="qsettings.html#beginGroup">beginGroup</a>()
+<li><a href="qsettings.html#endGroup">endGroup</a>()
+<li><a href="qsettings.html#entryList">entryList</a>()
+<li><a href="qsettings.html#group">group</a>()
+<li><a href="qsettings.html#insertSearchPath">insertSearchPath</a>()
+<li><a href="qsettings.html#readBoolEntry">readBoolEntry</a>()
+<li><a href="qsettings.html#readDoubleEntry">readDoubleEntry</a>()
+<li><a href="qsettings.html#readEntry">readEntry</a>()
+<li><a href="qsettings.html#readListEntry">readListEntry</a>()
+<li><a href="qsettings.html#readNumEntry">readNumEntry</a>()
+<li><a href="qsettings.html#removeEntry">removeEntry</a>()
+<li><a href="qsettings.html#removeSearchPath">removeSearchPath</a>()
+<li><a href="qsettings.html#resetGroup">resetGroup</a>()
+<li><a href="qsettings.html#setPath">setPath</a>()
+<li><a href="qsettings.html#subkeyList">subkeyList</a>()
+<li><a href="qsettings.html#writeEntry">writeEntry</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsettings.html b/doc/html/qsettings.html
new file mode 100644
index 0000000..d8a3dd8
--- /dev/null
+++ b/doc/html/qsettings.html
@@ -0,0 +1,626 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qsettings.cpp:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSettings Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSettings Class Reference</h1>
+
+<p>The QSettings class provides persistent platform-independent application settings.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsettings-h.html">qsettings.h</a>&gt;</tt>
+<p><a href="qsettings-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Format-enum"><b>Format</b></a> { Native = 0, Ini }</li>
+<li class=fn>enum <a href="#System-enum"><b>System</b></a> { Unix = 0, Windows, Mac }</li>
+<li class=fn>enum <a href="#Scope-enum"><b>Scope</b></a> { User, Global }</li>
+<li class=fn><a href="#QSettings"><b>QSettings</b></a> ()</li>
+<li class=fn><a href="#QSettings-2"><b>QSettings</b></a> ( Format&nbsp;format )</li>
+<li class=fn><a href="#~QSettings"><b>~QSettings</b></a> ()</li>
+<li class=fn>bool <a href="#writeEntry"><b>writeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, bool&nbsp;value )</li>
+<li class=fn>bool <a href="#writeEntry-2"><b>writeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, double&nbsp;value )</li>
+<li class=fn>bool <a href="#writeEntry-3"><b>writeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, int&nbsp;value )</li>
+<li class=fn>bool <a href="#writeEntry-5"><b>writeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>bool <a href="#writeEntry-6"><b>writeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QStringList&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>bool writeEntry ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QStringList&nbsp;&amp;&nbsp;value, const&nbsp;QChar&nbsp;&amp;&nbsp;separator ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QStringList <a href="#entryList"><b>entryList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>QStringList <a href="#subkeyList"><b>subkeyList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>QStringList <a href="#readListEntry"><b>readListEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>QStringList readListEntry ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QChar&nbsp;&amp;&nbsp;separator, bool&nbsp;*&nbsp;ok = 0 ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString <a href="#readEntry"><b>readEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, const&nbsp;QString&nbsp;&amp;&nbsp;def = QString::null, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>int <a href="#readNumEntry"><b>readNumEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, int&nbsp;def = 0, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>double <a href="#readDoubleEntry"><b>readDoubleEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, double&nbsp;def = 0, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>bool <a href="#readBoolEntry"><b>readBoolEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, bool&nbsp;def = FALSE, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>bool <a href="#removeEntry"><b>removeEntry</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+<li class=fn>void <a href="#insertSearchPath"><b>insertSearchPath</b></a> ( System&nbsp;s, const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>void <a href="#removeSearchPath"><b>removeSearchPath</b></a> ( System&nbsp;s, const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>void <a href="#setPath"><b>setPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;domain, const&nbsp;QString&nbsp;&amp;&nbsp;product, Scope&nbsp;scope = Global )</li>
+<li class=fn>void <a href="#beginGroup"><b>beginGroup</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;group )</li>
+<li class=fn>void <a href="#endGroup"><b>endGroup</b></a> ()</li>
+<li class=fn>void <a href="#resetGroup"><b>resetGroup</b></a> ()</li>
+<li class=fn>QString <a href="#group"><b>group</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSettings class provides persistent platform-independent application settings.
+<p>
+
+
+<p> On Unix systems, QSettings uses text files to store settings. On Windows
+systems, QSettings uses the system registry. On Mac OS X, QSettings uses
+the Carbon preferences API.
+<p> Each setting comprises an identifying key and the data associated with
+the key. A key is a unicode string which consists of <em>two</em> or more
+subkeys. A subkey is a slash, '/', followed by one or more unicode
+characters (excluding slashes, newlines, carriage returns and equals,
+'=', signs). The associated data, called the entry or value, may be a
+boolean, an integer, a double, a string or a list of strings. Entry
+strings may contain any unicode characters.
+<p> If you want to save and restore the entire desktop's settings, i.e.
+which applications are running, use QSettings to save the settings
+for each individual application and <a href="qsessionmanager.html">QSessionManager</a> to save the
+desktop's session.
+<p> Example settings:
+<pre>
+ /MyCompany/MyApplication/background color
+ /MyCompany/MyApplication/foreground color
+ /MyCompany/MyApplication/geometry/x
+ /MyCompany/MyApplication/geometry/y
+ /MyCompany/MyApplication/geometry/width
+ /MyCompany/MyApplication/geometry/height
+ /MyCompany/MyApplication/recent files/1
+ /MyCompany/MyApplication/recent files/2
+ /MyCompany/MyApplication/recent files/3
+ </pre>
+
+Each line above is a complete key, made up of subkeys.
+<p> A typical usage pattern for reading settings at application
+startup:
+<pre>
+ QSettings settings;
+ settings.<a href="#setPath">setPath</a>( "MyCompany.com", "MyApplication" );
+
+ <a href="qstring.html">QString</a> bgColor = settings.<a href="#readEntry">readEntry</a>( "/colors/background", "white" );
+ int width = settings.<a href="#readNumEntry">readNumEntry</a>( "/geometry/width", 640 );
+ // ...
+ </pre>
+
+<p> A typical usage pattern for saving settings at application exit or
+'save preferences':
+<pre>
+ QSettings settings;
+ settings.<a href="#setPath">setPath</a>( "MyCompany.com", "MyApplication" );
+
+ settings.<a href="#writeEntry">writeEntry</a>( "/colors/background", bgColor );
+ settings.<a href="#writeEntry">writeEntry</a>( "/geometry/width", width );
+ // ...
+ </pre>
+
+<p> A key prefix can be prepended to all keys using <a href="#beginGroup">beginGroup</a>(). The
+application of the prefix is stopped using <a href="#endGroup">endGroup</a>(). For
+example:
+<pre>
+ QSettings settings;
+
+ settings.<a href="#beginGroup">beginGroup</a>( "/MainWindow" );
+ settings.<a href="#beginGroup">beginGroup</a>( "/Geometry" );
+ int x = settings.<a href="#readEntry">readEntry</a>( "/x" );
+ // ...
+ settings.<a href="#endGroup">endGroup</a>();
+ settings.<a href="#beginGroup">beginGroup</a>( "/Toolbars" );
+ // ...
+ settings.<a href="#endGroup">endGroup</a>();
+ settings.<a href="#endGroup">endGroup</a>();
+ </pre>
+
+<p> You can get a list of entry-holding keys by calling <a href="#entryList">entryList</a>(), and
+a list of key-holding keys using <a href="#subkeyList">subkeyList</a>().
+<p> <pre>
+ <a href="qstringlist.html">QStringList</a> keys = settings.entryList( "/MyApplication" );
+ // keys contains 'background color' and 'foreground color'.
+
+ <a href="qstringlist.html">QStringList</a> keys = settings.entryList( "/MyApplication/recent files" );
+ // keys contains '1', '2' and '3'.
+
+ <a href="qstringlist.html">QStringList</a> subkeys = settings.subkeyList( "/MyApplication" );
+ // subkeys contains 'geometry' and 'recent files'
+
+ <a href="qstringlist.html">QStringList</a> subkeys = settings.subkeyList( "/MyApplication/recent files" );
+ // subkeys is empty.
+ </pre>
+
+<p> Since settings for Windows are stored in the registry there are
+some size limitations as follows:
+<ul>
+<li> A subkey may not exceed 255 characters.
+<li> An entry's value may not exceed 16,300 characters.
+<li> All the values of a key (for example, all the 'recent files'
+subkeys values), may not exceed 65,535 characters.
+</ul>
+<p> These limitations are not enforced on Unix or Mac OS X.
+<p> <b>Warning:</b> Creating multiple, simultaneous instances of QSettings writing
+to a text file may lead to data loss! This is a known issue which will
+be fixed in a future release of Qt.
+<p> <h3> Notes for Mac OS X Applications
+</h3>
+<a name="1"></a><p> The location where settings are stored is not formally defined by
+the CFPreferences API.
+<p> At the time of writing settings are stored (either on a global or
+user basis, preferring locally) into a plist file in <tt>$ROOT/System/Library/Preferences</tt> (in XML format). QSettings will
+create an appropriate plist file (<tt>com.&lt;first group name&gt;.plist</tt>)
+out of the full path to a key.
+<p> For further information on CFPreferences see
+<a href="http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFPreferences/index.html">Apple's Specifications</a>
+<p> <h3> Notes for Unix Applications
+</h3>
+<a name="1-1"></a><p> There is no universally accepted place for storing application
+settings under Unix. In the examples the settings file will be
+searched for in the following directories:
+<ol type=1>
+<li> <tt>SYSCONF</tt> - the default value is <tt>INSTALL/etc/settings</tt>
+<li> <tt>/opt/MyCompany/share/etc</tt>
+<li> <tt>/opt/MyCompany/share/MyApplication/etc</tt>
+<li> <tt>$HOME/.qt</tt>
+</ol>
+When reading settings the files are searched in the order shown
+above, with later settings overriding earlier settings. Files for
+which the user doesn't have read permission are ignored. When saving
+settings QSettings works in the order shown above, writing
+to the first settings file for which the user has write permission.
+(<tt>INSTALL</tt> is the directory where Qt was installed. This can be
+modified by using the configure script's -prefix argument )
+<p> If you want to put the settings in a particular place in the
+filesystem you could do this:
+<pre>
+ settings.insertSearchPath( QSettings::<a href="#System-enum">Unix</a>, "/opt/MyCompany/share" );
+ </pre>
+
+<p> But in practice you may prefer not to use a search path for Unix.
+For example the following code:
+<pre>
+ settings.writeEntry( "/MyApplication/geometry/width", width );
+ </pre>
+
+will end up writing the "geometry/width" setting to the file
+<tt>$HOME/.qt/myapplicationrc</tt> (assuming that the application is
+being run by an ordinary user, i.e. not by root).
+<p> For cross-platform applications you should ensure that the
+<a href="#sizelimit">Windows size limitations</a> are not exceeded.
+<p> <b>Warning:</b> QSettings doesn't write the settings until it is destroyed so
+you should construct the QSettings object on the stack.
+<p>See also <a href="io.html">Input/Output and Networking</a> and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Format-enum"></a>QSettings::Format</h3>
+
+<ul>
+<li><tt>QSettings::Native</tt> - Store the settings in a platform dependent location
+<li><tt>QSettings::Ini</tt> - Store the settings in a text file
+</ul>
+<h3 class=fn><a name="Scope-enum"></a>QSettings::Scope</h3>
+
+<ul>
+<li><tt>QSettings::Global</tt> - Save settings as global as possible
+<li><tt>QSettings::User</tt> - Save settings in user space
+</ul>
+<h3 class=fn><a name="System-enum"></a>QSettings::System</h3>
+
+<ul>
+<li><tt>QSettings::Mac</tt> - Macintosh execution environments
+<li><tt>QSettings::Unix</tt> - Mac OS X, Unix, Linux and Unix-like execution environments
+<li><tt>QSettings::Windows</tt> - Windows execution environments
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSettings"></a>QSettings::QSettings ()
+</h3>
+Creates a settings object.
+<p> Be aware that you must call <a href="#setPath">setPath</a>() or <a href="#insertSearchPath">insertSearchPath</a>() before
+you can use the QSettings object.
+
+<h3 class=fn><a name="QSettings-2"></a>QSettings::QSettings ( <a href="qsettings.html#Format-enum">Format</a>&nbsp;format )
+</h3>
+Creates a settings object. If <em>format</em> is 'Ini' the settings will
+be stored in a text file, using the Unix strategy (see above). If <em>format</em>
+is 'Native', the settings will be stored in a platform specific way
+(ie. the Windows registry).
+<p> Be aware that you must call <a href="#setPath">setPath</a>() or <a href="#insertSearchPath">insertSearchPath</a>() before
+you can use the QSettings object.
+
+<h3 class=fn><a name="~QSettings"></a>QSettings::~QSettings ()
+</h3>
+Destroys the settings object. All modifications made to the settings
+will automatically be saved.
+<p>
+<h3 class=fn>void <a name="beginGroup"></a>QSettings::beginGroup ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;group )
+</h3>
+Appends <em>group</em> to the current key prefix.
+<p> <pre>
+ QSettings settings;
+ settings.<a href="#beginGroup">beginGroup</a>( "/MainWindow" );
+ // read values
+ settings.<a href="#endGroup">endGroup</a>();
+ </pre>
+
+
+<h3 class=fn>void <a name="endGroup"></a>QSettings::endGroup ()
+</h3>
+Undo previous calls to <a href="#beginGroup">beginGroup</a>(). Note that a single beginGroup("a/b/c") is undone
+by a single call to <a href="#endGroup">endGroup</a>().
+<p> <pre>
+ QSettings settings;
+ settings.<a href="#beginGroup">beginGroup</a>( "/MainWindow/Geometry" );
+ // read values
+ settings.<a href="#endGroup">endGroup</a>();
+ </pre>
+
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="entryList"></a>QSettings::entryList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns a list of the keys which contain entries under <em>key</em>. Does <em>not</em> return any keys that contain subkeys.
+<p> Example settings:
+<pre>
+ /MyCompany/MyApplication/background color
+ /MyCompany/MyApplication/foreground color
+ /MyCompany/MyApplication/geometry/x
+ /MyCompany/MyApplication/geometry/y
+ /MyCompany/MyApplication/geometry/width
+ /MyCompany/MyApplication/geometry/height
+ </pre>
+
+<pre>
+ <a href="qstringlist.html">QStringList</a> keys = settings.entryList( "/MyCompany/MyApplication" );
+ </pre>
+
+<p> In the above example, <tt>keys</tt> will contain 'background color' and
+'foreground color'. It will not contain 'geometry' because this key
+contains subkeys not entries.
+<p> To access the geometry values, you could either use <a href="#subkeyList">subkeyList</a>()
+to read the keys then read each entry, or simply read each entry
+directly by specifying its full key, e.g.
+"/MyCompany/MyApplication/geometry/y".
+<p> <p>See also <a href="#subkeyList">subkeyList</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="group"></a>QSettings::group () const
+</h3>
+Returns the current key prefix, or a null string if there is no key prefix set.
+<p> <p>See also <a href="#beginGroup">beginGroup</a>().
+
+<h3 class=fn>void <a name="insertSearchPath"></a>QSettings::insertSearchPath ( <a href="qsettings.html#System-enum">System</a>&nbsp;s, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )
+</h3>
+Inserts <em>path</em> into the settings search path. The semantics of <em>path</em> depends on the system <em>s</em>. It is usually easier and better to
+use <a href="#setPath">setPath</a>() instead of this function.
+<p> When <em>s</em> is <em>Windows</em> and the execution environment is <em>not</em>
+Windows the function does nothing. Similarly when <em>s</em> is <em>Unix</em> and
+the execution environment is <em>not</em> Unix the function does nothing.
+<p> When <em>s</em> is <em>Windows</em>, and the execution environment is Windows, the
+search path list will be used as the first subfolder of the "Software"
+folder in the registry.
+<p> When reading settings the folders are searched forwards from the
+first folder (listed below) to the last, returning the first
+settings found, and ignoring any folders for which the user doesn't
+have read permission.
+<ol type=1>
+<li> HKEY_CURRENT_USER/Software/MyCompany/MyApplication
+<li> HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication
+<li> HKEY_CURRENT_USER/Software/MyApplication
+<li> HKEY_LOCAL_MACHINE/Software/MyApplication
+</ol>
+<p> <pre>
+ QSettings settings;
+ settings.<a href="#insertSearchPath">insertSearchPath</a>( QSettings::<a href="#System-enum">Windows</a>, "/MyCompany" );
+ settings.<a href="#writeEntry">writeEntry</a>( "/MyApplication/Tip of the day", TRUE );
+ </pre>
+
+The code above will write the subkey "Tip of the day" into the <em>first</em> of the registry folders listed below that is found and for
+which the user has write permission.
+<ol type=1>
+<li> HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication
+<li> HKEY_CURRENT_USER/Software/MyCompany/MyApplication
+<li> HKEY_LOCAL_MACHINE/Software/MyApplication
+<li> HKEY_CURRENT_USER/Software/MyApplication
+</ol>
+If a setting is found in the HKEY_CURRENT_USER space, this setting
+is overwritten independently of write permissions in the
+HKEY_LOCAL_MACHINE space.
+<p> When <em>s</em> is <em>Unix</em>, and the execution environment is Unix, the
+search path list will be used when trying to determine a suitable
+filename for reading and writing settings files. By default, there are
+two entries in the search path:
+<p> <ol type=1>
+<li> <tt>SYSCONF</tt> - where <tt>SYSCONF</tt> is a directory specified when
+configuring Qt; by default it is INSTALL/etc/settings.
+<li> <tt>$HOME/.qt/</tt> - where <tt>$HOME</tt> is the user's home directory.
+</ol>
+<p> All insertions into the search path will go before $HOME/.qt/.
+For example:
+<pre>
+ QSettings settings;
+ settings.<a href="#insertSearchPath">insertSearchPath</a>( QSettings::<a href="#System-enum">Unix</a>, "/opt/MyCompany/share/etc" );
+ settings.<a href="#insertSearchPath">insertSearchPath</a>( QSettings::<a href="#System-enum">Unix</a>, "/opt/MyCompany/share/MyApplication/etc" );
+ // ...
+ </pre>
+
+Will result in a search path of:
+<ol type=1>
+<li> SYSCONF
+<li> /opt/MyCompany/share/etc
+<li> /opt/MyCompany/share/MyApplication/etc
+<li> $HOME/.qt
+</ol>
+When reading settings the files are searched in the order shown
+above, with later settings overriding earlier settings. Files for
+which the user doesn't have read permission are ignored. When saving
+settings QSettings works in the order shown above, writing
+to the first settings file for which the user has write permission.
+<p> Note that paths in the file system are not created by this
+function, so they must already exist to be useful.
+<p> Settings under Unix are stored in files whose names are based on the
+first subkey of the key (not including the search path). The algorithm
+for creating names is essentially: lowercase the first subkey, replace
+spaces with underscores and add 'rc', e.g.
+<tt>/MyCompany/MyApplication/background color</tt> will be stored in
+<tt>myapplicationrc</tt> (assuming that <tt>/MyCompany</tt> is part of
+the search path).
+<p> <p>See also <a href="#removeSearchPath">removeSearchPath</a>().
+
+<p>
+<p>Example: <a href="canvas-chart-example.html#x2890">chart/chartform.cpp</a>.
+<h3 class=fn>bool <a name="readBoolEntry"></a>QSettings::readBoolEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, bool&nbsp;def = FALSE, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+<p> Reads the entry specified by <em>key</em>, and returns a bool, or the
+default value, <em>def</em>, if the entry couldn't be read.
+If <em>ok</em> is non-null, *ok is set to TRUE if the key was read, FALSE
+otherwise.
+<p> <p>See also <a href="#readEntry">readEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#writeEntry">writeEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>double <a name="readDoubleEntry"></a>QSettings::readDoubleEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, double&nbsp;def = 0, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+<p> Reads the entry specified by <em>key</em>, and returns a double, or the
+default value, <em>def</em>, if the entry couldn't be read.
+If <em>ok</em> is non-null, *ok is set to TRUE if the key was read, FALSE
+otherwise.
+<p> <p>See also <a href="#readEntry">readEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#writeEntry">writeEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readEntry"></a>QSettings::readEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;def = QString::null, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+<p> Reads the entry specified by <em>key</em>, and returns a <a href="qstring.html">QString</a>, or the
+default value, <em>def</em>, if the entry couldn't be read.
+If <em>ok</em> is non-null, *ok is set to TRUE if the key was read, FALSE
+otherwise.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#writeEntry">writeEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="readListEntry"></a>QSettings::readListEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+Reads the entry specified by <em>key</em> as a string. If <em>ok</em> is not
+0, <em>*ok</em> is set to TRUE if the key was read, otherwise <em>*ok</em> is
+set to FALSE.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = mySettings.readListEntry( "recentfiles" );
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#readEntry">readEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#writeEntry">writeEntry</a>(), <a href="#removeEntry">removeEntry</a>(), and <a href="qstringlist.html#split">QStringList::split</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="readListEntry-4"></a>QSettings::readListEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qchar.html">QChar</a>&nbsp;&amp;&nbsp;separator, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Reads the entry specified by <em>key</em> as a string. The <em>separator</em>
+is used to create a <a href="qstringlist.html">QStringList</a> by calling <a href="qstringlist.html#split">QStringList::split</a>(<em>separator</em>, entry). If <em>ok</em> is not 0: <em>*ok</em> is set to TRUE
+if the key was read, otherwise <em>*ok</em> is set to FALSE.
+<p> <b>Warning:</b> As the documentation states, QStringList::split() will
+omit empty strings from the list. Because of this, it is
+impossible to retrieve identical list data with this function. We
+recommend using the <a href="#readListEntry">readListEntry</a>() and <a href="#writeEntry">writeEntry</a>() overloads
+that do not take a <em>separator</em> argument.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = mySettings.readListEntry( "size", " " );
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#readEntry">readEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#writeEntry">writeEntry</a>(), <a href="#removeEntry">removeEntry</a>(), and <a href="qstringlist.html#split">QStringList::split</a>().
+
+<h3 class=fn>int <a name="readNumEntry"></a>QSettings::readNumEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, int&nbsp;def = 0, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+<p> Reads the entry specified by <em>key</em>, and returns an integer, or the
+default value, <em>def</em>, if the entry couldn't be read.
+If <em>ok</em> is non-null, *ok is set to TRUE if the key was read, FALSE
+otherwise.
+<p> <p>See also <a href="#readEntry">readEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#writeEntry">writeEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>bool <a name="removeEntry"></a>QSettings::removeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )
+</h3>
+Removes the entry specified by <em>key</em>.
+<p> Returns true if the entry was successfully removed; otherwise
+returns false. Note that removing the last entry in any given
+folder, will also remove the folder.
+<p> <p>See also <a href="#readEntry">readEntry</a>() and <a href="#writeEntry">writeEntry</a>().
+
+<h3 class=fn>void <a name="removeSearchPath"></a>QSettings::removeSearchPath ( <a href="qsettings.html#System-enum">System</a>&nbsp;s, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )
+</h3>
+Removes all occurrences of <em>path</em> (using exact matching) from the
+settings search path for system <em>s</em>. Note that the default search
+paths cannot be removed.
+<p> <p>See also <a href="#insertSearchPath">insertSearchPath</a>().
+
+<h3 class=fn>void <a name="resetGroup"></a>QSettings::resetGroup ()
+</h3>
+Set the current key prefix to the empty string.
+
+<h3 class=fn>void <a name="setPath"></a>QSettings::setPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;domain, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;product, <a href="qsettings.html#Scope-enum">Scope</a>&nbsp;scope = Global )
+</h3>
+Insert platform-dependent paths from platform-independent information.
+<p> The <em>domain</em> should be an Internet domain name
+controlled by the producer of the software, eg. Trolltech products
+use "trolltech.com".
+<p> The <em>product</em> should be the official name of the product.
+<p> The <em>scope</em> should be
+QSettings::User for user-specific settings, or
+QSettings::Global for system-wide settings (generally
+these will be read-only to many users).
+<p> Not all information is relevant on all systems.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="subkeyList"></a>QSettings::subkeyList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+Returns a list of the keys which contain subkeys under <em>key</em>. Does <em>not</em> return any keys that contain entries.
+<p> Example settings:
+<pre>
+ /MyCompany/MyApplication/background color
+ /MyCompany/MyApplication/foreground color
+ /MyCompany/MyApplication/geometry/x
+ /MyCompany/MyApplication/geometry/y
+ /MyCompany/MyApplication/geometry/width
+ /MyCompany/MyApplication/geometry/height
+ /MyCompany/MyApplication/recent files/1
+ /MyCompany/MyApplication/recent files/2
+ /MyCompany/MyApplication/recent files/3
+ </pre>
+
+<pre>
+ <a href="qstringlist.html">QStringList</a> keys = settings.subkeyList( "/MyCompany/MyApplication" );
+ </pre>
+
+<p> In the above example, <tt>keys</tt> will contain 'geometry' and
+'recent files'. It will not contain 'background color' or
+'foreground color' because those keys contain entries not
+subkeys. To get a list of keys that contain entries rather than
+subkeys use <a href="#entryList">entryList</a>() instead.
+<p> <b>Warning:</b> In the above example, if QSettings is writing to an Ini file,
+then a call to
+<pre> subkeyList("/MyCompany") </pre>
+
+will return an empty list. This happens because a key like
+<pre> /MyCompany/MyApplication/background color </pre>
+
+is written to the file <em>"mycompanyrc"</em>, under the section <em>[MyApplication]</em>.
+This call is therefore a request to list the sections in an ini file, which
+is not supported in this version of QSettings. This is a known issue which
+will be fixed in Qt-4.
+<p> <p>See also <a href="#entryList">entryList</a>().
+
+<h3 class=fn>bool <a name="writeEntry"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, bool&nbsp;value )
+</h3>
+Writes the boolean entry <em>value</em> into key <em>key</em>. The <em>key</em> is
+created if it doesn't exist. Any previous value is overwritten by <em>value</em>.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise TRUE is returned.
+<p> <b>Warning:</b> On certain platforms, keys are required to contain at least
+two components (e.g., "/foo/bar"). This limitation does not apply to
+Qt 4.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<p>Example: <a href="canvas-chart-example.html#x2891">chart/chartform.cpp</a>.
+<h3 class=fn>bool <a name="writeEntry-2"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, double&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the double entry <em>value</em> into key <em>key</em>. The <em>key</em> is
+created if it doesn't exist. Any previous value is overwritten by <em>value</em>.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise TRUE is returned.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>bool <a name="writeEntry-3"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, int&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the integer entry <em>value</em> into key <em>key</em>. The <em>key</em> is
+created if it doesn't exist. Any previous value is overwritten by <em>value</em>.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise TRUE is returned.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>bool <a name="writeEntry-5"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the string entry <em>value</em> into key <em>key</em>. The <em>key</em> is
+created if it doesn't exist. Any previous value is overwritten by <em>value</em>. If <em>value</em> is an empty string or a null string the key's
+value will be an empty string.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise TRUE is returned.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>bool <a name="writeEntry-6"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;value )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes the string list entry <em>value</em> into key <em>key</em>. The <em>key</em>
+is created if it doesn't exist. Any previous value is overwritten
+by <em>value</em>.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise returns TRUE.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), and <a href="#removeEntry">removeEntry</a>().
+
+<h3 class=fn>bool <a name="writeEntry-7"></a>QSettings::writeEntry ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;value, const&nbsp;<a href="qchar.html">QChar</a>&nbsp;&amp;&nbsp;separator )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Writes the string list entry <em>value</em> into key <em>key</em>. The <em>key</em>
+is created if it doesn't exist. Any previous value is overwritten
+by <em>value</em>. The list is stored as a sequence of strings separated
+by <em>separator</em> (using <a href="qstringlist.html#join">QStringList::join</a>()), so none of the
+strings in the list should contain the separator. If the list is
+empty or null the key's value will be an empty string.
+<p> <b>Warning:</b> The list should not contain empty or null strings, as
+<a href="#readListEntry">readListEntry</a>() will use <a href="qstringlist.html#split">QStringList::split</a>() to recreate the
+list. As the documentation states, QStringList::split() will omit
+empty strings from the list. Because of this, it is impossible to
+retrieve identical list data that is stored with this function.
+We recommend using the <a href="#writeEntry">writeEntry</a>() and readListEntry() overloads
+that do not take a <em>separator</em> argument.
+<p> If an error occurs the settings are left unchanged and FALSE is
+returned; otherwise returns TRUE.
+<p> <p>See also <a href="#readListEntry">readListEntry</a>(), <a href="#readNumEntry">readNumEntry</a>(), <a href="#readDoubleEntry">readDoubleEntry</a>(), <a href="#readBoolEntry">readBoolEntry</a>(), <a href="#removeEntry">removeEntry</a>(), and <a href="qstringlist.html#join">QStringList::join</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsgistyle-h.html b/doc/html/qsgistyle-h.html
new file mode 100644
index 0000000..ab9d381
--- /dev/null
+++ b/doc/html/qsgistyle-h.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsgistyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsgistyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsgistyle.h</h1>
+
+<p>This is the verbatim text of the qsgistyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsgistyle.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of SGI-like style class
+**
+** Created : 981231
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSGISTYLE_H
+#define QSGISTYLE_H
+
+#ifndef QT_H
+#include "qmotifstyle.h"
+#include "qguardedptr.h"
+#include "qwidget.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_SGI) || defined(QT_PLUGIN)
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_SGI
+#else
+#define Q_EXPORT_STYLE_SGI Q_EXPORT
+#endif
+
+class QSGIStylePrivate;
+
+class Q_EXPORT_STYLE_SGI QSGIStyle: public QMotifStyle
+{
+ Q_OBJECT
+public:
+ QSGIStyle( bool useHighlightCols = FALSE );
+ virtual ~QSGIStyle();
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QMotifStyle::polish;
+#endif
+ void polish( QWidget* );
+ void unPolish( QWidget* );
+ void polish( QApplication* );
+ void unPolish( QApplication* );
+
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget* widget,
+ const QRect&amp; r,
+ const QColorGroup&amp; cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
+
+ QSize sizeFromContents( ContentsType contents,
+ const QWidget *widget,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect subRect( SubRect r, const QWidget *widget ) const;
+ QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+protected:
+ bool eventFilter( QObject*, QEvent*);
+
+private:
+ QSGIStylePrivate *d;
+
+ uint isApplicationStyle :1;
+#if defined(Q_DISABLE_COPY)
+ QSGIStyle( const QSGIStyle &amp; );
+ QSGIStyle&amp; operator=( const QSGIStyle &amp; );
+#endif
+
+};
+
+#endif // QT_NO_STYLE_SGI
+
+#endif // QSGISTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsgistyle-members.html b/doc/html/qsgistyle-members.html
new file mode 100644
index 0000000..0ab0a7b
--- /dev/null
+++ b/doc/html/qsgistyle-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsgistyle.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSGIStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSGIStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsgistyle.html">QSGIStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qsgistyle.html#QSGIStyle">QSGIStyle</a>()
+<li><a href="qsgistyle.html#~QSGIStyle">~QSGIStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qmotifstyle.html#setUseHighlightColors">setUseHighlightColors</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qmotifstyle.html#useHighlightColors">useHighlightColors</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsgistyle.html b/doc/html/qsgistyle.html
new file mode 100644
index 0000000..3727f7b
--- /dev/null
+++ b/doc/html/qsgistyle.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qsgistyle.cpp:96 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSGIStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSGIStyle Class Reference</h1>
+
+<p>The QSGIStyle class provides SGI/Irix look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsgistyle-h.html">qsgistyle.h</a>&gt;</tt>
+<p>Inherits <a href="qmotifstyle.html">QMotifStyle</a>.
+<p><a href="qsgistyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSGIStyle"><b>QSGIStyle</b></a> ( bool&nbsp;useHighlightCols = FALSE )</li>
+<li class=fn>virtual <a href="#~QSGIStyle"><b>~QSGIStyle</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSGIStyle class provides SGI/Irix look and feel.
+<p>
+<p> This class implements the SGI look and feel. It resembles the
+SGI/Irix <a href="motif-extension.html#Motif">Motif</a> GUI style as closely as <a href="qstyle.html">QStyle</a> allows.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSGIStyle"></a>QSGIStyle::QSGIStyle ( bool&nbsp;useHighlightCols = FALSE )
+</h3>
+Constructs a QSGIStyle.
+<p> If <em>useHighlightCols</em> is FALSE (default value), the style will
+polish the application's color palette to emulate the <a href="motif-extension.html#Motif">Motif</a> way of
+highlighting, which is a simple inversion between the base and the
+text color.
+<p> <p>See also <a href="qmotifstyle.html#useHighlightColors">QMotifStyle::useHighlightColors</a>().
+
+<h3 class=fn><a name="~QSGIStyle"></a>QSGIStyle::~QSGIStyle ()<tt> [virtual]</tt>
+</h3>
+Destroys the style.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qshowevent-members.html b/doc/html/qshowevent-members.html
new file mode 100644
index 0000000..d9c5a2a
--- /dev/null
+++ b/doc/html/qshowevent-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:408 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QShowEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QShowEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qshowevent.html">QShowEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qshowevent.html#QShowEvent">QShowEvent</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qshowevent.html b/doc/html/qshowevent.html
new file mode 100644
index 0000000..be91beb
--- /dev/null
+++ b/doc/html/qshowevent.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:2522 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QShowEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QShowEvent Class Reference</h1>
+
+<p>The QShowEvent class provides an event which is sent when a widget is shown.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qshowevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QShowEvent"><b>QShowEvent</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QShowEvent class provides an event which is sent when a widget is shown.
+<p>
+<p> There are two kinds of show events: show events caused by the
+window system (spontaneous) and internal show events. Spontaneous
+show events are sent just after the window system shows the
+window, including after a top-level window has been shown
+(un-iconified) by the user. Internal show events are delivered
+just before the widget becomes visible.
+<p> <p>See also <a href="qhideevent.html">QHideEvent</a> and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QShowEvent"></a>QShowEvent::QShowEvent ()
+</h3>
+
+<p> Constructs a QShowEvent.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignal-h.html b/doc/html/qsignal-h.html
new file mode 100644
index 0000000..7207aa2
--- /dev/null
+++ b/doc/html/qsignal-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsignal.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsignal.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsignal.h</h1>
+
+<p>This is the verbatim text of the qsignal.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsignal.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSignal class
+**
+** Created : 941201
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIGNAL_H
+#define QSIGNAL_H
+
+#ifndef QT_H
+#include "qvariant.h"
+#include "qobject.h"
+#endif // QT_H
+
+
+class Q_EXPORT QSignal : public QObject
+{
+ Q_OBJECT
+
+public:
+ QSignal( QObject *parent=0, const char *name=0 );
+ ~QSignal();
+
+ bool connect( const QObject *receiver, const char *member );
+ bool disconnect( const QObject *receiver, const char *member=0 );
+
+ void activate();
+
+#ifndef QT_NO_COMPAT
+ bool isBlocked() const { return QObject::signalsBlocked(); }
+ void block( bool b ) { QObject::blockSignals( b ); }
+#ifndef QT_NO_VARIANT
+ void setParameter( int value );
+ int parameter() const;
+#endif
+#endif
+
+#ifndef QT_NO_VARIANT
+ void setValue( const QVariant &amp;value );
+ QVariant value() const;
+#endif
+signals:
+#ifndef QT_NO_VARIANT
+ void signal( const QVariant&amp; );
+#endif
+ void intSignal( int );
+
+private:
+#ifndef QT_NO_VARIANT
+ QVariant val;
+#endif
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSignal( const QSignal &amp; );
+ QSignal &amp;operator=( const QSignal &amp; );
+#endif
+};
+
+
+#endif // QSIGNAL_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignal-members.html b/doc/html/qsignal-members.html
new file mode 100644
index 0000000..1b55539
--- /dev/null
+++ b/doc/html/qsignal-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsignal.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSignal Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSignal</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsignal.html">QSignal</a>, including inherited members.
+
+<ul>
+<li><a href="qsignal.html#QSignal">QSignal</a>()
+<li><a href="qsignal.html#~QSignal">~QSignal</a>()
+<li><a href="qsignal.html#activate">activate</a>()
+<li><a href="qsignal.html#block">block</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsignal.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qsignal.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsignal.html#isBlocked">isBlocked</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qsignal.html#parameter">parameter</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qsignal.html#setParameter">setParameter</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsignal.html#setValue">setValue</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qsignal.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignal.html b/doc/html/qsignal.html
new file mode 100644
index 0000000..946a522
--- /dev/null
+++ b/doc/html/qsignal.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsignal.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSignal Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSignal Class Reference</h1>
+
+<p>The QSignal class can be used to send signals for classes
+that don't inherit QObject.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsignal-h.html">qsignal.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsignal-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSignal"><b>QSignal</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSignal"><b>~QSignal</b></a> ()</li>
+<li class=fn>bool <a href="#connect"><b>connect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+<li class=fn>bool <a href="#disconnect"><b>disconnect</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )</li>
+<li class=fn>void <a href="#activate"><b>activate</b></a> ()</li>
+<li class=fn>bool isBlocked () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void block ( bool&nbsp;b ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setParameter ( int&nbsp;value ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int parameter () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setValue"><b>setValue</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>QVariant <a href="#value"><b>value</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSignal class can be used to send signals for classes
+that don't inherit <a href="qobject.html">QObject</a>.
+<p>
+
+<p> If you want to send signals from a class that does not inherit
+QObject, you can create an internal QSignal object to emit the
+signal. You must also provide a function that connects the signal
+to an outside object slot. This is how we have implemented
+signals in the <a href="qmenudata.html">QMenuData</a> class, which is not a QObject.
+<p> In general, we recommend inheriting QObject instead. QObject
+provides much more functionality.
+<p> You can set a single <a href="qvariant.html">QVariant</a> parameter for the signal with
+<a href="#setValue">setValue</a>().
+<p> Note that QObject is a <em>private</em> base class of QSignal, i.e. you
+cannot call any QObject member functions from a QSignal object.
+<p> Example:
+<pre>
+ #include &lt;<a href="qsignal-h.html">qsignal.h</a>&gt;
+
+ class MyClass
+ {
+ public:
+ MyClass();
+ ~MyClass();
+
+ void doSomething();
+
+ void connect( <a href="qobject.html">QObject</a> *receiver, const char *member );
+
+ private:
+ QSignal *sig;
+ };
+
+ MyClass::MyClass()
+ {
+ sig = new QSignal;
+ }
+
+ MyClass::~MyClass()
+ {
+ delete sig;
+ }
+
+ void MyClass::doSomething()
+ {
+ // ... does something
+ sig-&gt;<a href="#activate">activate</a>(); // emits the signal
+ }
+
+ void MyClass::connect( <a href="qobject.html">QObject</a> *receiver, const char *member )
+ {
+ sig-&gt;<a href="#connect">connect</a>( receiver, member );
+ }
+ </pre>
+
+<p>See also <a href="io.html">Input/Output and Networking</a> and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSignal"></a>QSignal::QSignal ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a signal object called <em>name</em>, with the parent object
+<em>parent</em>. These arguments are passed directly to <a href="qobject.html">QObject</a>.
+
+<h3 class=fn><a name="~QSignal"></a>QSignal::~QSignal ()
+</h3>
+Destroys the signal. All connections are removed, as is the case
+with all QObjects.
+
+<h3 class=fn>void <a name="activate"></a>QSignal::activate ()
+</h3>
+
+<p> Emits the signal. If the platform supports <a href="qvariant.html">QVariant</a> and a
+parameter has been set with <a href="#setValue">setValue</a>(), this value is passed in
+the signal.
+
+<h3 class=fn>void <a name="block"></a>QSignal::block ( bool&nbsp;b )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Blocks the signal if <em>b</em> is TRUE, or unblocks the signal if <em>b</em> is FALSE.
+<p> An activated signal disappears into hyperspace if it is blocked.
+<p> <p>See also <a href="#isBlocked">isBlocked</a>(), <a href="#activate">activate</a>(), and <a href="qobject.html#blockSignals">QObject::blockSignals</a>().
+
+<h3 class=fn>bool <a name="connect"></a>QSignal::connect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )
+</h3>
+Connects the signal to <em>member</em> in object <em>receiver</em>.
+<p> <p>See also <a href="#disconnect">disconnect</a>() and <a href="qobject.html#connect">QObject::connect</a>().
+
+<h3 class=fn>bool <a name="disconnect"></a>QSignal::disconnect ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member = 0 )
+</h3>
+Disonnects the signal from <em>member</em> in object <em>receiver</em>.
+<p> <p>See also <a href="#connect">connect</a>() and <a href="qobject.html#disconnect">QObject::disconnect</a>().
+
+<h3 class=fn>bool <a name="isBlocked"></a>QSignal::isBlocked () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if the signal is blocked, or FALSE if it is not blocked.
+<p> The signal is not blocked by default.
+<p> <p>See also <a href="#block">block</a>() and <a href="qobject.html#signalsBlocked">QObject::signalsBlocked</a>().
+
+<h3 class=fn>int <a name="parameter"></a>QSignal::parameter () const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+
+<h3 class=fn>void <a name="setParameter"></a>QSignal::setParameter ( int&nbsp;value )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+
+<h3 class=fn>void <a name="setValue"></a>QSignal::setValue ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Sets the signal's parameter to <em>value</em>
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QSignal::value () const
+</h3>
+Returns the signal's parameter
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignalmapper-h.html b/doc/html/qsignalmapper-h.html
new file mode 100644
index 0000000..1eaa709
--- /dev/null
+++ b/doc/html/qsignalmapper-h.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsignalmapper.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsignalmapper.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsignalmapper.h</h1>
+
+<p>This is the verbatim text of the qsignalmapper.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsignalmapper.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSignalMapper class
+**
+** Created : 980503
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIGNALMAPPER_H
+#define QSIGNALMAPPER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+#ifndef QT_NO_SIGNALMAPPER
+class QSignalMapperData;
+struct QSignalMapperRec;
+
+
+class Q_EXPORT QSignalMapper : public QObject {
+ Q_OBJECT
+public:
+ QSignalMapper( QObject* parent, const char* name=0 );
+ ~QSignalMapper();
+
+ virtual void setMapping( const QObject* sender, int identifier );
+ virtual void setMapping( const QObject* sender, const QString &amp;identifier );
+ void removeMappings( const QObject* sender );
+
+signals:
+ void mapped(int);
+ void mapped(const QString &amp;);
+
+public slots:
+ void map();
+
+private:
+ QSignalMapperData* d;
+ QSignalMapperRec* getRec( const QObject* );
+
+private slots:
+ void removeMapping();
+};
+
+#endif // QT_NO_SIGNALMAPPER
+#endif // QSIGNALMAPPER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignalmapper-members.html b/doc/html/qsignalmapper-members.html
new file mode 100644
index 0000000..5e1f4c5
--- /dev/null
+++ b/doc/html/qsignalmapper-members.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsignalmapper.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSignalMapper Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSignalMapper</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsignalmapper.html">QSignalMapper</a>, including inherited members.
+
+<ul>
+<li><a href="qsignalmapper.html#QSignalMapper">QSignalMapper</a>()
+<li><a href="qsignalmapper.html#~QSignalMapper">~QSignalMapper</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qsignalmapper.html#map">map</a>()
+<li><a href="qsignalmapper.html#mapped">mapped</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qsignalmapper.html#removeMappings">removeMappings</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsignalmapper.html#setMapping">setMapping</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsignalmapper.html b/doc/html/qsignalmapper.html
new file mode 100644
index 0000000..9957df4
--- /dev/null
+++ b/doc/html/qsignalmapper.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsignalmapper.cpp:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSignalMapper Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSignalMapper Class Reference</h1>
+
+<p>The QSignalMapper class bundles signals from identifiable senders.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsignalmapper-h.html">qsignalmapper.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsignalmapper-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSignalMapper"><b>QSignalMapper</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSignalMapper"><b>~QSignalMapper</b></a> ()</li>
+<li class=fn>virtual void <a href="#setMapping"><b>setMapping</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, int&nbsp;identifier )</li>
+<li class=fn>virtual void <a href="#setMapping-2"><b>setMapping</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender, const&nbsp;QString&nbsp;&amp;&nbsp;identifier )</li>
+<li class=fn>void <a href="#removeMappings"><b>removeMappings</b></a> ( const&nbsp;QObject&nbsp;*&nbsp;sender )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#map"><b>map</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#mapped"><b>mapped</b></a> ( int )</li>
+<li class=fn>void <a href="#mapped-2"><b>mapped</b></a> ( const QString &amp; )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSignalMapper class bundles signals from identifiable senders.
+<p>
+<p> This class collects a set of parameterless signals, and re-emits
+them with integer or string parameters corresponding to the object
+that sent the signal.
+<p>See also <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSignalMapper"></a>QSignalMapper::QSignalMapper ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QSignalMapper called <em>name</em>, with parent <em>parent</em>.
+Like all QObjects, it will be deleted when the parent is deleted.
+
+<h3 class=fn><a name="~QSignalMapper"></a>QSignalMapper::~QSignalMapper ()
+</h3>
+Destroys the QSignalMapper.
+
+<h3 class=fn>void <a name="map"></a>QSignalMapper::map ()<tt> [slot]</tt>
+</h3>
+This slot emits signals based on which object sends signals to it.
+
+<p>Examples: <a href="i18n-example.html#x1945">i18n/main.cpp</a> and <a href="themes-example.html#x334">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="mapped"></a>QSignalMapper::mapped ( int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <a href="#map">map</a>() is signaled from an object that
+has an integer mapping set.
+<p> <p>See also <a href="#setMapping">setMapping</a>().
+
+<p>Examples: <a href="i18n-example.html#x1946">i18n/main.cpp</a> and <a href="themes-example.html#x335">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="mapped-2"></a>QSignalMapper::mapped ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted when <a href="#map">map</a>() is signaled from an object that
+has a string mapping set.
+<p> <p>See also <a href="#setMapping">setMapping</a>().
+
+<h3 class=fn>void <a name="removeMappings"></a>QSignalMapper::removeMappings ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender )
+</h3>
+Removes all mappings for <em>sender</em>. This is done automatically
+when mapped objects are destroyed.
+
+<h3 class=fn>void <a name="setMapping"></a>QSignalMapper::setMapping ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender, int&nbsp;identifier )<tt> [virtual]</tt>
+</h3>
+Adds a mapping so that when <a href="#map">map</a>() is signaled from the given <em>sender</em>, the signal <a href="#mapped">mapped</a>(<em>identifier</em>) is emitted.
+<p> There may be at most one integer identifier for each object.
+
+<p>Examples: <a href="i18n-example.html#x1947">i18n/main.cpp</a> and <a href="themes-example.html#x336">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="setMapping-2"></a>QSignalMapper::setMapping ( const&nbsp;<a href="qobject.html">QObject</a>&nbsp;*&nbsp;sender, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;identifier )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a mapping so that when <a href="#map">map</a>() is signaled from the given <em>sender</em>, the signal mapper(<em>identifier</em>) is emitted.
+<p> There may be at most one string identifier for each object, and it
+may not be empty.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsimplerichtext-h.html b/doc/html/qsimplerichtext-h.html
new file mode 100644
index 0000000..541ad46
--- /dev/null
+++ b/doc/html/qsimplerichtext-h.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsimplerichtext.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsimplerichtext.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsimplerichtext.h</h1>
+
+<p>This is the verbatim text of the qsimplerichtext.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsimplerichtext.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the QSimpleRichText class
+**
+** Created : 990101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIMPLERICHTEXT_H
+#define QSIMPLERICHTEXT_H
+
+#ifndef QT_H
+#include "qnamespace.h"
+#include "qstring.h"
+#include "qregion.h"
+#endif // QT_H
+
+#ifndef QT_NO_RICHTEXT
+
+class QPainter;
+class QWidget;
+class QStyleSheet;
+class QBrush;
+class QMimeSourceFactory;
+class QSimpleRichTextData;
+
+class Q_EXPORT QSimpleRichText
+{
+public:
+ QSimpleRichText( const QString&amp; text, const QFont&amp; fnt,
+ const QString&amp; context = QString::null, const QStyleSheet* sheet = 0);
+ QSimpleRichText( const QString&amp; text, const QFont&amp; fnt,
+ const QString&amp; context, const QStyleSheet* sheet,
+ const QMimeSourceFactory* factory, int pageBreak = -1,
+ const QColor&amp; linkColor = Qt::blue, bool linkUnderline = TRUE );
+ ~QSimpleRichText();
+
+ void setWidth( int );
+ void setWidth( QPainter*, int );
+ void setDefaultFont( const QFont &amp;f );
+ int width() const;
+ int widthUsed() const;
+ int height() const;
+ void adjustSize();
+
+ void draw( QPainter* p, int x, int y, const QRect&amp; clipRect,
+ const QColorGroup&amp; cg, const QBrush* paper = 0) const;
+
+ // obsolete
+ void draw( QPainter* p, int x, int y, const QRegion&amp; clipRegion,
+ const QColorGroup&amp; cg, const QBrush* paper = 0) const {
+ draw( p, x, y, clipRegion.boundingRect(), cg, paper );
+ }
+
+ QString context() const;
+ QString anchorAt( const QPoint&amp; pos ) const;
+
+ bool inText( const QPoint&amp; pos ) const;
+
+private:
+ QSimpleRichTextData* d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSimpleRichText( const QSimpleRichText &amp; );
+ QSimpleRichText &amp;operator=( const QSimpleRichText &amp; );
+#endif
+};
+
+#endif // QT_NO_RICHTEXT
+
+#endif // QSIMPLERICHTEXT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsimplerichtext-members.html b/doc/html/qsimplerichtext-members.html
new file mode 100644
index 0000000..64672d4
--- /dev/null
+++ b/doc/html/qsimplerichtext-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsimplerichtext.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSimpleRichText Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSimpleRichText</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsimplerichtext.html">QSimpleRichText</a>, including inherited members.
+
+<ul>
+<li><a href="qsimplerichtext.html#QSimpleRichText">QSimpleRichText</a>()
+<li><a href="qsimplerichtext.html#~QSimpleRichText">~QSimpleRichText</a>()
+<li><a href="qsimplerichtext.html#adjustSize">adjustSize</a>()
+<li><a href="qsimplerichtext.html#anchorAt">anchorAt</a>()
+<li><a href="qsimplerichtext.html#context">context</a>()
+<li><a href="qsimplerichtext.html#draw">draw</a>()
+<li><a href="qsimplerichtext.html#height">height</a>()
+<li><a href="qsimplerichtext.html#inText">inText</a>()
+<li><a href="qsimplerichtext.html#setDefaultFont">setDefaultFont</a>()
+<li><a href="qsimplerichtext.html#setWidth">setWidth</a>()
+<li><a href="qsimplerichtext.html#width">width</a>()
+<li><a href="qsimplerichtext.html#widthUsed">widthUsed</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsimplerichtext.html b/doc/html/qsimplerichtext.html
new file mode 100644
index 0000000..d7003e4
--- /dev/null
+++ b/doc/html/qsimplerichtext.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsimplerichtext.cpp:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSimpleRichText Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSimpleRichText Class Reference</h1>
+
+<p>The QSimpleRichText class provides a small displayable piece of rich text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>&gt;</tt>
+<p><a href="qsimplerichtext-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSimpleRichText"><b>QSimpleRichText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QFont&nbsp;&amp;&nbsp;fnt, const&nbsp;QString&nbsp;&amp;&nbsp;context = QString::null, const&nbsp;QStyleSheet&nbsp;*&nbsp;sheet = 0 )</li>
+<li class=fn><a href="#QSimpleRichText-2"><b>QSimpleRichText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QFont&nbsp;&amp;&nbsp;fnt, const&nbsp;QString&nbsp;&amp;&nbsp;context, const&nbsp;QStyleSheet&nbsp;*&nbsp;sheet, const&nbsp;QMimeSourceFactory&nbsp;*&nbsp;factory, int&nbsp;pageBreak = -1, const&nbsp;QColor&nbsp;&amp;&nbsp;linkColor = Qt::blue, bool&nbsp;linkUnderline = TRUE )</li>
+<li class=fn><a href="#~QSimpleRichText"><b>~QSimpleRichText</b></a> ()</li>
+<li class=fn>void <a href="#setWidth-2"><b>setWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>void <a href="#setWidth"><b>setWidth</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;w )</li>
+<li class=fn>void <a href="#setDefaultFont"><b>setDefaultFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#widthUsed"><b>widthUsed</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>void <a href="#adjustSize"><b>adjustSize</b></a> ()</li>
+<li class=fn>void <a href="#draw"><b>draw</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, const&nbsp;QRect&nbsp;&amp;&nbsp;clipRect, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, const&nbsp;QBrush&nbsp;*&nbsp;paper = 0 ) const</li>
+<li class=fn>void draw ( QPainter&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, const&nbsp;QRegion&nbsp;&amp;&nbsp;clipRegion, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, const&nbsp;QBrush&nbsp;*&nbsp;paper = 0 ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString <a href="#context"><b>context</b></a> () const</li>
+<li class=fn>QString <a href="#anchorAt"><b>anchorAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>bool <a href="#inText"><b>inText</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSimpleRichText class provides a small displayable piece of rich text.
+<p>
+
+<p> This class encapsulates simple rich text usage in which a string
+is interpreted as rich text and can be drawn. This is particularly
+useful if you want to display some rich text in a custom widget. A
+<a href="qstylesheet.html">QStyleSheet</a> is needed to interpret the tags and format the rich
+text. Qt provides a default HTML-like style sheet, but you may
+define custom style sheets.
+<p> Once created, the rich text object can be queried for its <a href="#width">width</a>(),
+<a href="#height">height</a>(), and the actual width used (see <a href="#widthUsed">widthUsed</a>()). Most
+importantly, it can be drawn on any given <a href="qpainter.html">QPainter</a> with <a href="#draw">draw</a>().
+QSimpleRichText can also be used to implement hypertext or active
+text facilities by using <a href="#anchorAt">anchorAt</a>(). A hit test through <a href="#inText">inText</a>()
+makes it possible to use simple rich text for text objects in
+editable drawing canvases.
+<p> Once constructed from a string the contents cannot be changed,
+only resized. If the contents change, just throw the rich text
+object away and make a new one with the new contents.
+<p> For large documents use <a href="qtextedit.html">QTextEdit</a> or <a href="qtextbrowser.html">QTextBrowser</a>. For very small
+items of rich text you can use a <a href="qlabel.html">QLabel</a>.
+<p> If you are using QSimpleRichText to print in high resolution you
+should call <a href="#setWidth">setWidth</a>(QPainter, int) so that the content will be
+laid out properly on the page.
+<p>See also <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSimpleRichText"></a>QSimpleRichText::QSimpleRichText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;fnt, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context = QString::null, const&nbsp;<a href="qstylesheet.html">QStyleSheet</a>&nbsp;*&nbsp;sheet = 0 )
+</h3>
+Constructs a QSimpleRichText from the rich text string <em>text</em> and
+the font <em>fnt</em>.
+<p> The font is used as a basis for the text rendering. When using
+rich text rendering on a widget <em>w</em>, you would normally specify
+the widget's font, for example:
+<p> <pre>
+ QSimpleRichText myrichtext( contents, mywidget-&gt;font() );
+ </pre>
+
+<p> <em>context</em> is the optional context of the rich text object. This
+becomes important if <em>text</em> contains relative references, for
+example within image tags. QSimpleRichText always uses the default
+mime source factory (see <a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory::defaultFactory</a>())
+to resolve those references. The context will then be used to
+calculate the absolute path. See
+<a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory::makeAbsolute</a>() for details.
+<p> The <em>sheet</em> is an optional style sheet. If it is 0, the default
+style sheet will be used (see <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>()).
+
+<h3 class=fn><a name="QSimpleRichText-2"></a>QSimpleRichText::QSimpleRichText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;fnt, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context, const&nbsp;<a href="qstylesheet.html">QStyleSheet</a>&nbsp;*&nbsp;sheet, const&nbsp;<a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;*&nbsp;factory, int&nbsp;pageBreak = -1, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;linkColor = Qt::blue, bool&nbsp;linkUnderline = TRUE )
+</h3>
+Constructs a QSimpleRichText from the rich text string <em>text</em> and
+the font <em>fnt</em>.
+<p> This is a slightly more complex constructor for QSimpleRichText
+that takes an additional mime source factory <em>factory</em>, a page
+break parameter <em>pageBreak</em> and a bool <em>linkUnderline</em>. <em>linkColor</em> is only provided for compatibility, but has no effect,
+as <a href="qcolorgroup.html">QColorGroup</a>'s <a href="qcolorgroup.html#link">QColorGroup::link</a>() color is used now.
+<p> <em>context</em> is the optional context of the rich text object. This
+becomes important if <em>text</em> contains relative references, for
+example within image tags. QSimpleRichText always uses the default
+mime source factory (see <a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory::defaultFactory</a>())
+to resolve those references. The context will then be used to
+calculate the absolute path. See
+<a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory::makeAbsolute</a>() for details.
+<p> The <em>sheet</em> is an optional style sheet. If it is 0, the default
+style sheet will be used (see <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>()).
+<p> This constructor is useful for creating a QSimpleRichText object
+suitable for printing. Set <em>pageBreak</em> to be the height of the
+contents area of the pages.
+
+<h3 class=fn><a name="~QSimpleRichText"></a>QSimpleRichText::~QSimpleRichText ()
+</h3>
+Destroys the rich text object, freeing memory.
+
+<h3 class=fn>void <a name="adjustSize"></a>QSimpleRichText::adjustSize ()
+</h3>
+Adjusts the richt text object to a reasonable size.
+<p> <p>See also <a href="#setWidth">setWidth</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="anchorAt"></a>QSimpleRichText::anchorAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Returns the anchor at the requested position, <em>pos</em>. An empty
+string is returned if no anchor is specified for this position.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="context"></a>QSimpleRichText::context () const
+</h3>
+Returns the context of the rich text object. If no context has
+been specified in the constructor, a null string is returned. The
+context is the path to use to look up relative links, such as
+image tags and anchor references.
+
+<h3 class=fn>void <a name="draw"></a>QSimpleRichText::draw ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;clipRect, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;paper = 0 ) const
+</h3>
+Draws the formatted text with painter <em>p</em>, at position (<em>x</em>, <em>y</em>), clipped to <em>clipRect</em>. The clipping rectangle is given in the
+rich text object's coordinates translated by (<em>x</em>, <em>y</em>). Passing
+an null rectangle results in no clipping. Colors from the color
+group <em>cg</em> are used as needed, and if not 0, <em>*paper</em> is used as
+the background brush.
+<p> Note that the display code is highly optimized to reduce flicker,
+so passing a brush for <em>paper</em> is preferable to simply clearing
+the area to be painted and then calling this without a brush.
+
+<p>Examples: <a href="qaction-application-example.html#x1158">action/application.cpp</a>, <a href="simple-application-example.html#x1576">application/application.cpp</a>, <a href="helpviewer-example.html#x1014">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2061">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="draw-2"></a>QSimpleRichText::draw ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;clipRegion, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;*&nbsp;paper = 0 ) const
+</h3>
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use the version with clipRect instead. The region version has
+problems with larger documents on some platforms (on X11 regions
+internally are represented with 16bit coordinates).
+
+<h3 class=fn>int <a name="height"></a>QSimpleRichText::height () const
+</h3>
+Returns the height of the rich text object in pixels.
+<p> <p>See also <a href="#setWidth">setWidth</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1159">action/application.cpp</a>, <a href="simple-application-example.html#x1577">application/application.cpp</a>, <a href="helpviewer-example.html#x1015">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2062">mdi/application.cpp</a>.
+<h3 class=fn>bool <a name="inText"></a>QSimpleRichText::inText ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Returns TRUE if <em>pos</em> is within a text line of the rich text
+object; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="setDefaultFont"></a>QSimpleRichText::setDefaultFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )
+</h3>
+Sets the default font for the rich text object to <em>f</em>
+
+<h3 class=fn>void <a name="setWidth"></a>QSimpleRichText::setWidth ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;w )
+</h3>
+Sets the width of the rich text object to <em>w</em> pixels,
+recalculating the layout as if it were to be drawn with painter <em>p</em>.
+<p> Passing a painter is useful when you intend drawing on devices
+other than the screen, for example a <a href="qprinter.html">QPrinter</a>.
+<p> <p>See also <a href="#height">height</a>() and <a href="#adjustSize">adjustSize</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1160">action/application.cpp</a>, <a href="simple-application-example.html#x1578">application/application.cpp</a>, <a href="helpviewer-example.html#x1016">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2063">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="setWidth-2"></a>QSimpleRichText::setWidth ( int&nbsp;w )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the width of the rich text object to <em>w</em> pixels.
+<p> <p>See also <a href="#height">height</a>() and <a href="#adjustSize">adjustSize</a>().
+
+<h3 class=fn>int <a name="width"></a>QSimpleRichText::width () const
+</h3>
+Returns the set width of the rich text object in pixels.
+<p> <p>See also <a href="#widthUsed">widthUsed</a>().
+
+<h3 class=fn>int <a name="widthUsed"></a>QSimpleRichText::widthUsed () const
+</h3>
+Returns the width in pixels that is actually used by the rich text
+object. This can be smaller or wider than the set width.
+<p> It may be wider, for example, if the text contains images or
+non-breakable words that are already wider than the available
+space. It's smaller when the object only consists of lines that do
+not fill the width completely.
+<p> <p>See also <a href="#width">width</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsize-h.html b/doc/html/qsize-h.html
new file mode 100644
index 0000000..e79f07f
--- /dev/null
+++ b/doc/html/qsize-h.html
@@ -0,0 +1,282 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsize.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsize.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsize.h</h1>
+
+<p>This is the verbatim text of the qsize.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsize.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSize class
+**
+** Created : 931028
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIZE_H
+#define QSIZE_H
+
+#ifndef QT_H
+#include "qpoint.h" // ### change to qwindowdefs.h?
+#endif // QT_H
+
+class Q_EXPORT QSize
+// ### Make QSize inherit Qt in Qt 4.0
+{
+public:
+ // ### Move this enum to qnamespace.h in Qt 4.0
+ enum ScaleMode {
+ ScaleFree,
+ ScaleMin,
+ ScaleMax
+ };
+
+ QSize();
+ QSize( int w, int h );
+
+ bool isNull() const;
+ bool isEmpty() const;
+ bool isValid() const;
+
+ int width() const;
+ int height() const;
+ void setWidth( int w );
+ void setHeight( int h );
+ void transpose();
+
+ void scale( int w, int h, ScaleMode mode );
+ void scale( const QSize &amp;s, ScaleMode mode );
+
+ QSize expandedTo( const QSize &amp; ) const;
+ QSize boundedTo( const QSize &amp; ) const;
+
+ QCOORD &amp;rwidth();
+ QCOORD &amp;rheight();
+
+ QSize &amp;operator+=( const QSize &amp; );
+ QSize &amp;operator-=( const QSize &amp; );
+ QSize &amp;operator*=( int c );
+ QSize &amp;operator*=( double c );
+ QSize &amp;operator/=( int c );
+ QSize &amp;operator/=( double c );
+
+ friend inline bool operator==( const QSize &amp;, const QSize &amp; );
+ friend inline bool operator!=( const QSize &amp;, const QSize &amp; );
+ friend inline const QSize operator+( const QSize &amp;, const QSize &amp; );
+ friend inline const QSize operator-( const QSize &amp;, const QSize &amp; );
+ friend inline const QSize operator*( const QSize &amp;, int );
+ friend inline const QSize operator*( int, const QSize &amp; );
+ friend inline const QSize operator*( const QSize &amp;, double );
+ friend inline const QSize operator*( double, const QSize &amp; );
+ friend inline const QSize operator/( const QSize &amp;, int );
+ friend inline const QSize operator/( const QSize &amp;, double );
+
+private:
+ static void warningDivByZero();
+
+ QCOORD wd;
+ QCOORD ht;
+};
+
+
+/*****************************************************************************
+ QSize stream functions
+ *****************************************************************************/
+
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QSize &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QSize &amp; );
+
+
+/*****************************************************************************
+ QSize inline functions
+ *****************************************************************************/
+
+inline QSize::QSize()
+{ wd = ht = -1; }
+
+inline QSize::QSize( int w, int h )
+{ wd=(QCOORD)w; ht=(QCOORD)h; }
+
+inline bool QSize::isNull() const
+{ return wd==0 &amp;&amp; ht==0; }
+
+inline bool QSize::isEmpty() const
+{ return wd&lt;1 || ht&lt;1; }
+
+inline bool QSize::isValid() const
+{ return wd&gt;=0 &amp;&amp; ht&gt;=0; }
+
+inline int QSize::width() const
+{ return wd; }
+
+inline int QSize::height() const
+{ return ht; }
+
+inline void QSize::setWidth( int w )
+{ wd=(QCOORD)w; }
+
+inline void QSize::setHeight( int h )
+{ ht=(QCOORD)h; }
+
+inline QCOORD &amp;QSize::rwidth()
+{ return wd; }
+
+inline QCOORD &amp;QSize::rheight()
+{ return ht; }
+
+inline QSize &amp;QSize::operator+=( const QSize &amp;s )
+{ wd+=s.wd; ht+=s.ht; return *this; }
+
+inline QSize &amp;QSize::operator-=( const QSize &amp;s )
+{ wd-=s.wd; ht-=s.ht; return *this; }
+
+inline QSize &amp;QSize::operator*=( int c )
+{ wd*=(QCOORD)c; ht*=(QCOORD)c; return *this; }
+
+inline QSize &amp;QSize::operator*=( double c )
+{ wd=(QCOORD)(wd*c); ht=(QCOORD)(ht*c); return *this; }
+
+inline bool operator==( const QSize &amp;s1, const QSize &amp;s2 )
+{ return s1.wd == s2.wd &amp;&amp; s1.ht == s2.ht; }
+
+inline bool operator!=( const QSize &amp;s1, const QSize &amp;s2 )
+{ return s1.wd != s2.wd || s1.ht != s2.ht; }
+
+inline const QSize operator+( const QSize &amp; s1, const QSize &amp; s2 )
+{ return QSize(s1.wd+s2.wd, s1.ht+s2.ht); }
+
+inline const QSize operator-( const QSize &amp;s1, const QSize &amp;s2 )
+{ return QSize(s1.wd-s2.wd, s1.ht-s2.ht); }
+
+inline const QSize operator*( const QSize &amp;s, int c )
+{ return QSize(s.wd*c, s.ht*c); }
+
+inline const QSize operator*( int c, const QSize &amp;s )
+{ return QSize(s.wd*c, s.ht*c); }
+
+inline const QSize operator*( const QSize &amp;s, double c )
+{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
+
+inline const QSize operator*( double c, const QSize &amp;s )
+{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
+
+inline QSize &amp;QSize::operator/=( int c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0 )
+ warningDivByZero();
+#endif
+ wd/=(QCOORD)c; ht/=(QCOORD)c;
+ return *this;
+}
+
+inline QSize &amp;QSize::operator/=( double c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0.0 )
+ warningDivByZero();
+#endif
+ wd=(QCOORD)(wd/c); ht=(QCOORD)(ht/c);
+ return *this;
+}
+
+inline const QSize operator/( const QSize &amp;s, int c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0 )
+ QSize::warningDivByZero();
+#endif
+ return QSize(s.wd/c, s.ht/c);
+}
+
+inline const QSize operator/( const QSize &amp;s, double c )
+{
+#if defined(QT_CHECK_MATH)
+ if ( c == 0.0 )
+ QSize::warningDivByZero();
+#endif
+ return QSize((QCOORD)(s.wd/c), (QCOORD)(s.ht/c));
+}
+
+inline QSize QSize::expandedTo( const QSize &amp; otherSize ) const
+{
+ return QSize( QMAX(wd,otherSize.wd), QMAX(ht,otherSize.ht) );
+}
+
+inline QSize QSize::boundedTo( const QSize &amp; otherSize ) const
+{
+ return QSize( QMIN(wd,otherSize.wd), QMIN(ht,otherSize.ht) );
+}
+
+
+#endif // QSIZE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsize-members.html b/doc/html/qsize-members.html
new file mode 100644
index 0000000..c0a4b4c
--- /dev/null
+++ b/doc/html/qsize-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsize.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSize Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSize</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsize.html">QSize</a>, including inherited members.
+
+<ul>
+<li><a href="qsize.html#QSize">QSize</a>()
+<li><a href="qsize.html#boundedTo">boundedTo</a>()
+<li><a href="qsize.html#expandedTo">expandedTo</a>()
+<li><a href="qsize.html#height">height</a>()
+<li><a href="qsize.html#isEmpty">isEmpty</a>()
+<li><a href="qsize.html#isNull">isNull</a>()
+<li><a href="qsize.html#isValid">isValid</a>()
+<li><a href="qsize.html#operator*-eq">operator*=</a>()
+<li><a href="qsize.html#operator+-eq">operator+=</a>()
+<li><a href="qsize.html#operator--eq">operator-=</a>()
+<li><a href="qsize.html#operator/-eq">operator/=</a>()
+<li><a href="qsize.html#rheight">rheight</a>()
+<li><a href="qsize.html#rwidth">rwidth</a>()
+<li><a href="qsize.html#scale">scale</a>()
+<li><a href="qsize.html#setHeight">setHeight</a>()
+<li><a href="qsize.html#setWidth">setWidth</a>()
+<li><a href="qsize.html#transpose">transpose</a>()
+<li><a href="qsize.html#width">width</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsize.html b/doc/html/qsize.html
new file mode 100644
index 0000000..5ed73ca
--- /dev/null
+++ b/doc/html/qsize.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsize.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSize Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSize Class Reference</h1>
+
+<p>The QSize class defines the size of a two-dimensional object.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsize-h.html">qsize.h</a>&gt;</tt>
+<p><a href="qsize-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#ScaleMode-enum"><b>ScaleMode</b></a> { ScaleFree, ScaleMin, ScaleMax }</li>
+<li class=fn><a href="#QSize"><b>QSize</b></a> ()</li>
+<li class=fn><a href="#QSize-2"><b>QSize</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>void <a href="#setWidth"><b>setWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>void <a href="#setHeight"><b>setHeight</b></a> ( int&nbsp;h )</li>
+<li class=fn>void <a href="#transpose"><b>transpose</b></a> ()</li>
+<li class=fn>void <a href="#scale"><b>scale</b></a> ( int&nbsp;w, int&nbsp;h, ScaleMode&nbsp;mode )</li>
+<li class=fn>void <a href="#scale-2"><b>scale</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, ScaleMode&nbsp;mode )</li>
+<li class=fn>QSize <a href="#expandedTo"><b>expandedTo</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;otherSize ) const</li>
+<li class=fn>QSize <a href="#boundedTo"><b>boundedTo</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;otherSize ) const</li>
+<li class=fn>QCOORD &amp; <a href="#rwidth"><b>rwidth</b></a> ()</li>
+<li class=fn>QCOORD &amp; <a href="#rheight"><b>rheight</b></a> ()</li>
+<li class=fn>QSize &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QSize &amp; <a href="#operator--eq"><b>operator-=</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QSize &amp; <a href="#operator*-eq"><b>operator*=</b></a> ( int&nbsp;c )</li>
+<li class=fn>QSize &amp; <a href="#operator*-eq-2"><b>operator*=</b></a> ( double&nbsp;c )</li>
+<li class=fn>QSize &amp; <a href="#operator/-eq"><b>operator/=</b></a> ( int&nbsp;c )</li>
+<li class=fn>QSize &amp; <a href="#operator/-eq-2"><b>operator/=</b></a> ( double&nbsp;c )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s1, const&nbsp;QSize&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s1, const&nbsp;QSize&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QSize <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s1, const&nbsp;QSize&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QSize <a href="#operator-"><b>operator-</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s1, const&nbsp;QSize&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QSize <a href="#operator*"><b>operator*</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, int&nbsp;c )</li>
+<li class=fn>const QSize <a href="#operator*-2"><b>operator*</b></a> ( int&nbsp;c, const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>const QSize <a href="#operator*-3"><b>operator*</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, double&nbsp;c )</li>
+<li class=fn>const QSize <a href="#operator*-4"><b>operator*</b></a> ( double&nbsp;c, const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>const QSize <a href="#operator/"><b>operator/</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, int&nbsp;c )</li>
+<li class=fn>const QSize <a href="#operator/-2"><b>operator/</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s, double&nbsp;c )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QSize&nbsp;&amp;&nbsp;sz )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QSize&nbsp;&amp;&nbsp;sz )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSize class defines the size of a two-dimensional object.
+<p>
+
+<p> A size is specified by a width and a height.
+<p> The coordinate type is QCOORD (defined in <tt>&lt;qwindowdefs.h&gt;</tt> as <tt>int</tt>).
+The minimum value of QCOORD is QCOORD_MIN (-2147483648) and the maximum
+value is QCOORD_MAX (2147483647).
+<p> The size can be set in the constructor and changed with <a href="#setWidth">setWidth</a>()
+and <a href="#setHeight">setHeight</a>(), or using <a href="#operator+-eq">operator+=</a>(), <a href="#operator--eq">operator-=</a>(), <a href="#operator*-eq">operator*=</a>()
+and <a href="#operator/-eq">operator/=</a>(), etc. You can swap the width and height with
+<a href="#transpose">transpose</a>(). You can get a size which holds the maximum height and
+width of two sizes using <a href="#expandedTo">expandedTo</a>(), and the minimum height and
+width of two sizes using <a href="#boundedTo">boundedTo</a>().
+<p> <p>See also <a href="qpoint.html">QPoint</a>, <a href="qrect.html">QRect</a>, <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ScaleMode-enum"></a>QSize::ScaleMode</h3>
+<p> This enum type defines the different ways of scaling a size.
+<p> <center><img src="scaling.png"></center>
+<ul>
+<li><tt>QSize::ScaleFree</tt> - The size is scaled freely. The ratio is not preserved.
+<li><tt>QSize::ScaleMin</tt> - The size is scaled to a rectangle as large as possible
+inside a given rectangle, preserving the aspect ratio.
+<li><tt>QSize::ScaleMax</tt> - The size is scaled to a rectangle as small as possible
+outside a given rectangle, preserving the aspect ratio.
+</ul><p> <p>See also <a href="#scale">QSize::scale</a>(), <a href="qimage.html#scale">QImage::scale</a>(), and <a href="qimage.html#smoothScale">QImage::smoothScale</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSize"></a>QSize::QSize ()
+</h3>
+
+Constructs a size with invalid (negative) width and height.
+
+<h3 class=fn><a name="QSize-2"></a>QSize::QSize ( int&nbsp;w, int&nbsp;h )
+</h3>
+
+Constructs a size with width <em>w</em> and height <em>h</em>.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="boundedTo"></a>QSize::boundedTo ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;otherSize ) const
+</h3>
+
+<p> Returns a size with the minimum width and height of this size and
+<em>otherSize</em>.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="expandedTo"></a>QSize::expandedTo ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;otherSize ) const
+</h3>
+
+<p> Returns a size with the maximum width and height of this size and
+<em>otherSize</em>.
+
+<p>Examples: <a href="customlayout-example.html#x1528">customlayout/card.cpp</a> and <a href="customlayout-example.html#x1485">customlayout/flow.cpp</a>.
+<h3 class=fn>int <a name="height"></a>QSize::height () const
+</h3>
+
+Returns the height.
+<p>See also <a href="#width">width</a>().
+
+<p>Examples: <a href="movies-example.html#x520">movies/main.cpp</a>, <a href="qfd-example.html#x2007">qfd/fontdisplayer.cpp</a>, and <a href="qfd-example.html#x2016">qfd/qfd.cpp</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QSize::isEmpty () const
+</h3>
+
+Returns TRUE if the width is less than or equal to 0, or the height is
+less than or equal to 0; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isNull"></a>QSize::isNull () const
+</h3>
+
+Returns TRUE if the width is 0 and the height is 0; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="isValid"></a>QSize::isValid () const
+</h3>
+
+Returns TRUE if the width is equal to or greater than 0 and the height is
+equal to or greater than 0; otherwise returns FALSE.
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator*-eq"></a>QSize::operator*= ( int&nbsp;c )
+</h3>
+
+Multiplies both the width and height by <em>c</em> and returns a reference to
+the size.
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator*-eq-2"></a>QSize::operator*= ( double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Multiplies both the width and height by <em>c</em> and returns a reference to
+the size.
+<p> Note that the result is truncated.
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator+-eq"></a>QSize::operator+= ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Adds <em>s</em> to the size and returns a reference to this size.
+<p> Example:
+<pre>
+ QSize s( 3, 7 );
+ QSize r( -1, 4 );
+ s += r; // s becomes (2,11)
+</pre>
+
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator--eq"></a>QSize::operator-= ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Subtracts <em>s</em> from the size and returns a reference to this size.
+<p> Example:
+<pre>
+ QSize s( 3, 7 );
+ QSize r( -1, 4 );
+ s -= r; // s becomes (4,3)
+ </pre>
+
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator/-eq"></a>QSize::operator/= ( int&nbsp;c )
+</h3>
+
+Divides both the width and height by <em>c</em> and returns a reference to the
+size.
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="operator/-eq-2"></a>QSize::operator/= ( double&nbsp;c )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Divides both the width and height by <em>c</em> and returns a reference to the
+size.
+<p> Note that the result is truncated.
+
+<h3 class=fn>QCOORD &amp; <a name="rheight"></a>QSize::rheight ()
+</h3>
+
+Returns a reference to the height.
+<p> Using a reference makes it possible to directly manipulate the height.
+<p> Example:
+<pre>
+ QSize s( 100, 10 );
+ s.<a href="#rheight">rheight</a>() += 5; // s becomes (100,15)
+ </pre>
+
+<p> <p>See also <a href="#rwidth">rwidth</a>().
+
+<h3 class=fn>QCOORD &amp; <a name="rwidth"></a>QSize::rwidth ()
+</h3>
+
+Returns a reference to the width.
+<p> Using a reference makes it possible to directly manipulate the width.
+<p> Example:
+<pre>
+ QSize s( 100, 10 );
+ s.<a href="#rwidth">rwidth</a>() += 20; // s becomes (120,10)
+ </pre>
+
+<p> <p>See also <a href="#rheight">rheight</a>().
+
+<h3 class=fn>void <a name="scale"></a>QSize::scale ( int&nbsp;w, int&nbsp;h, <a href="qsize.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode )
+</h3>
+Scales the size to a rectangle of width <em>w</em> and height <em>h</em> according
+to the ScaleMode <em>mode</em>.
+<p> <ul>
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleFree</a>, the size is set to (<em>w</em>, <em>h</em>).
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleMin</a>, the current size is scaled to a rectangle
+as large as possible inside (<em>w</em>, <em>h</em>), preserving the aspect ratio.
+<li> If <em>mode</em> is <a href="#ScaleMode-enum">ScaleMax</a>, the current size is scaled to a rectangle
+as small as possible outside (<em>w</em>, <em>h</em>), preserving the aspect ratio.
+</ul>
+<p> Example:
+<pre>
+ QSize t1( 10, 12 );
+ t1.<a href="#scale">scale</a>( 60, 60, QSize::<a href="#ScaleMode-enum">ScaleFree</a> );
+ // t1 is (60, 60)
+
+ QSize t2( 10, 12 );
+ t2.<a href="#scale">scale</a>( 60, 60, QSize::<a href="#ScaleMode-enum">ScaleMin</a> );
+ // t2 is (50, 60)
+
+ QSize t3( 10, 12 );
+ t3.<a href="#scale">scale</a>( 60, 60, QSize::<a href="#ScaleMode-enum">ScaleMax</a> );
+ // t3 is (60, 72)
+ </pre>
+
+
+<h3 class=fn>void <a name="scale-2"></a>QSize::scale ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, <a href="qsize.html#ScaleMode-enum">ScaleMode</a>&nbsp;mode )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Equivalent to <a href="#scale">scale</a>(<em>s</em>.<a href="#width">width</a>(), <em>s</em>.<a href="#height">height</a>(), <em>mode</em>).
+
+<h3 class=fn>void <a name="setHeight"></a>QSize::setHeight ( int&nbsp;h )
+</h3>
+
+Sets the height to <em>h</em>.
+<p>See also <a href="#height">height</a>() and <a href="#setWidth">setWidth</a>().
+
+<h3 class=fn>void <a name="setWidth"></a>QSize::setWidth ( int&nbsp;w )
+</h3>
+
+Sets the width to <em>w</em>.
+<p>See also <a href="#width">width</a>() and <a href="#setHeight">setHeight</a>().
+
+<h3 class=fn>void <a name="transpose"></a>QSize::transpose ()
+</h3>
+Swaps the values of width and height.
+
+<h3 class=fn>int <a name="width"></a>QSize::width () const
+</h3>
+
+Returns the width.
+<p>See also <a href="#height">height</a>().
+
+<p>Examples: <a href="movies-example.html#x521">movies/main.cpp</a>, <a href="qfd-example.html#x2008">qfd/fontdisplayer.cpp</a>, and <a href="qfd-example.html#x2017">qfd/qfd.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn>bool <a name="operator!-eq"></a>operator!= ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+
+Returns TRUE if <em>s1</em> and <em>s2</em> are different; otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator*"></a>operator* ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, int&nbsp;c )
+</h3>
+
+
+Multiplies <em>s</em> by <em>c</em> and returns the result.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator*-2"></a>operator* ( int&nbsp;c, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+Multiplies <em>s</em> by <em>c</em> and returns the result.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator*-3"></a>operator* ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, double&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+Multiplies <em>s</em> by <em>c</em> and returns the result.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator*-4"></a>operator* ( double&nbsp;c, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+Multiplies <em>s</em> by <em>c</em> and returns the result.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator+"></a>operator+ ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+
+Returns the sum of <em>s1</em> and <em>s2</em>; each component is added separately.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator-"></a>operator- ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+
+Returns <em>s2</em> subtracted from <em>s1</em>; each component is
+subtracted separately.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator/"></a>operator/ ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, int&nbsp;c )
+</h3>
+
+
+Divides <em>s</em> by <em>c</em> and returns the result.
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="operator/-2"></a>operator/ ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s, double&nbsp;c )
+</h3>
+
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Divides <em>s</em> by <em>c</em> and returns the result.
+<p> Note that the result is truncated.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;sz )
+</h3>
+
+Writes the size <em>sz</em> to the stream <em>s</em> and returns a reference to
+the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+
+Returns TRUE if <em>s1</em> and <em>s2</em> are equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;sz )
+</h3>
+
+Reads the size from the stream <em>s</em> into size <em>sz</em> and returns a
+reference to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizegrip-h.html b/doc/html/qsizegrip-h.html
new file mode 100644
index 0000000..cab352f
--- /dev/null
+++ b/doc/html/qsizegrip-h.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsizegrip.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsizegrip.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsizegrip.h</h1>
+
+<p>This is the verbatim text of the qsizegrip.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsizegrip.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSizeGrip class
+**
+** Created : 980316
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIZEGRIP_H
+#define QSIZEGRIP_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_SIZEGRIP
+
+class Q_EXPORT QSizeGrip: public QWidget
+{
+ Q_OBJECT
+public:
+ QSizeGrip( QWidget* parent, const char* name=0 );
+ ~QSizeGrip();
+
+ QSize sizeHint() const;
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+
+ bool eventFilter( QObject *, QEvent * );
+
+private:
+ QPoint p;
+ QSize s;
+ int d;
+ QWidget *tlw;
+};
+
+#endif //QT_NO_SIZEGRIP
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizegrip-m.png b/doc/html/qsizegrip-m.png
new file mode 100644
index 0000000..1e5a31f
--- /dev/null
+++ b/doc/html/qsizegrip-m.png
Binary files differ
diff --git a/doc/html/qsizegrip-members.html b/doc/html/qsizegrip-members.html
new file mode 100644
index 0000000..49c35cb
--- /dev/null
+++ b/doc/html/qsizegrip-members.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsizegrip.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSizeGrip Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSizeGrip</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsizegrip.html">QSizeGrip</a>, including inherited members.
+
+<ul>
+<li><a href="qsizegrip.html#QSizeGrip">QSizeGrip</a>()
+<li><a href="qsizegrip.html#~QSizeGrip">~QSizeGrip</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qsizegrip.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qsizegrip.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qsizegrip.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qsizegrip.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizegrip-w.png b/doc/html/qsizegrip-w.png
new file mode 100644
index 0000000..418e569
--- /dev/null
+++ b/doc/html/qsizegrip-w.png
Binary files differ
diff --git a/doc/html/qsizegrip.html b/doc/html/qsizegrip.html
new file mode 100644
index 0000000..69a9e7f
--- /dev/null
+++ b/doc/html/qsizegrip.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsizegrip.cpp:78 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSizeGrip Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSizeGrip Class Reference</h1>
+
+<p>The QSizeGrip class provides a corner-grip for resizing a top-level window.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsizegrip-h.html">qsizegrip.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qsizegrip-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSizeGrip"><b>QSizeGrip</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSizeGrip"><b>~QSizeGrip</b></a> ()</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mousePressEvent"><b>mousePressEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mouseMoveEvent"><b>mouseMoveEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QSizeGrip class provides a corner-grip for resizing a top-level window.
+<p>
+
+
+<p> This widget works like the standard Windows resize handle. In the
+X11 version this resize handle generally works differently from
+the one provided by the system; we hope to reduce this difference
+in the future.
+<p> Put this widget anywhere in a widget tree and the user can use it
+to resize the top-level window. Generally, this should be in the
+lower right-hand corner. Note that <a href="qstatusbar.html">QStatusBar</a> already uses this
+widget, so if you have a status bar (e.g. you are using
+<a href="qmainwindow.html">QMainWindow</a>), then you don't need to use this widget explicitly.
+<p> <img src=qsizegrip-m.png> <img src=qsizegrip-w.png>
+<p> <p>See also <a href="qstatusbar.html">QStatusBar</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="application.html">Main Window and Related Classes</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSizeGrip"></a>QSizeGrip::QSizeGrip ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a resize corner called <em>name</em>, as a child widget of <em>parent</em>.
+
+<h3 class=fn><a name="~QSizeGrip"></a>QSizeGrip::~QSizeGrip ()
+</h3>
+Destroys the size grip.
+
+<h3 class=fn>void <a name="mouseMoveEvent"></a>QSizeGrip::mouseMoveEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Resizes the top-level widget containing this widget. The event is
+in <em>e</em>.
+
+<p>Reimplemented from <a href="qwidget.html#mouseMoveEvent">QWidget</a>.
+<h3 class=fn>void <a name="mousePressEvent"></a>QSizeGrip::mousePressEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Primes the resize operation. The event is in <em>e</em>.
+
+<p>Reimplemented from <a href="qwidget.html#mousePressEvent">QWidget</a>.
+<h3 class=fn>void <a name="paintEvent"></a>QSizeGrip::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Paints the resize grip. Resize grips are usually rendered as small
+diagonal textured lines in the lower-right corner. The event is in
+<em>e</em>.
+
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QSizeGrip::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns the size grip's size hint; this is a small size.
+
+<p>Reimplemented from <a href="qwidget.html#sizeHint">QWidget</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizepolicy-h.html b/doc/html/qsizepolicy-h.html
new file mode 100644
index 0000000..b0431a5
--- /dev/null
+++ b/doc/html/qsizepolicy-h.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsizepolicy.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsizepolicy.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsizepolicy.h</h1>
+
+<p>This is the verbatim text of the qsizepolicy.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsizepolicy.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the QSizePolicy class
+**
+** Created : 980929
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSIZEPOLICY_H
+#define QSIZEPOLICY_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+// Documentation is in qabstractlayout.cpp.
+
+class Q_EXPORT QSizePolicy
+{
+private:
+ enum SizePolicy_Internal { HSize = 6, HMask = 0x3f, VMask = HMask &lt;&lt; HSize,
+ MayGrow = 1, ExpMask = 2, MayShrink = 4 };
+public:
+ enum SizeType { Fixed = 0,
+ Minimum = MayGrow,
+ Maximum = MayShrink,
+ Preferred = MayGrow | MayShrink,
+ MinimumExpanding = MayGrow | ExpMask,
+ Expanding = MayGrow | MayShrink | ExpMask,
+ Ignored = ExpMask /* magic value */ };
+
+ enum ExpandData { NoDirection = 0,
+ Horizontally = 1,
+ Vertically = 2,
+#ifndef QT_NO_COMPAT
+ Horizontal = Horizontally,
+ Vertical = Vertically,
+#endif
+ BothDirections = Horizontally | Vertically };
+
+ QSizePolicy() : data( 0 ) { }
+
+ QSizePolicy( SizeType hor, SizeType ver, bool hfw = FALSE )
+ : data( hor | (ver&lt;&lt;HSize) | (hfw ? (Q_UINT32)(1&lt;&lt;2*HSize) : 0) ) { }
+ QSizePolicy( SizeType hor, SizeType ver, uchar hors, uchar vers, bool hfw = FALSE );
+
+ SizeType horData() const { return (SizeType)( data &amp; HMask ); }
+ SizeType verData() const { return (SizeType)( (data &amp; VMask) &gt;&gt; HSize ); }
+
+ bool mayShrinkHorizontally() const { return horData() &amp; MayShrink || horData() == Ignored; }
+ bool mayShrinkVertically() const { return verData() &amp; MayShrink || verData() == Ignored; }
+ bool mayGrowHorizontally() const { return horData() &amp; MayGrow || horData() == Ignored; }
+ bool mayGrowVertically() const { return verData() &amp; MayGrow || verData() == Ignored; }
+
+ ExpandData expanding() const
+ {
+ return (ExpandData)( (int)(verData() &amp; ExpMask ? Vertically : 0) |
+ (int)(horData() &amp; ExpMask ? Horizontally : 0) );
+ }
+
+ void setHorData( SizeType d ) { data = (Q_UINT32)(data &amp; ~HMask) | d; }
+ void setVerData( SizeType d ) { data = (Q_UINT32)(data &amp; ~(HMask &lt;&lt; HSize)) |
+ (d &lt;&lt; HSize); }
+
+ void setHeightForWidth( bool b ) { data = b ? (Q_UINT32)( data | ( 1 &lt;&lt; 2*HSize ) )
+ : (Q_UINT32)( data &amp; ~( 1 &lt;&lt; 2*HSize ) ); }
+ bool hasHeightForWidth() const { return data &amp; ( 1 &lt;&lt; 2*HSize ); }
+
+ bool operator==( const QSizePolicy&amp; s ) const { return data == s.data; }
+ bool operator!=( const QSizePolicy&amp; s ) const { return data != s.data; }
+
+
+ uint horStretch() const { return data &gt;&gt; 24; }
+ uint verStretch() const { return (data &gt;&gt; 16) &amp; 0xff; }
+ void setHorStretch( uchar sf ) { data = (data&amp;0x00ffffff) | (uint(sf)&lt;&lt;24); }
+ void setVerStretch( uchar sf ) { data = (data&amp;0xff00ffff) | (uint(sf)&lt;&lt;16); }
+ inline void transpose();
+
+private:
+ QSizePolicy( int i ) : data( (Q_UINT32)i ) { }
+
+ Q_UINT32 data;
+};
+
+inline QSizePolicy::QSizePolicy( SizeType hor, SizeType ver, uchar hors, uchar vers, bool hfw )
+ : data( hor | (ver&lt;&lt;HSize) | (hfw ? (Q_UINT32)(1&lt;&lt;2*HSize) : 0) ) {
+ setHorStretch( hors );
+ setVerStretch( vers );
+}
+
+inline void QSizePolicy::transpose() {
+ *this = QSizePolicy( verData(), horData(), verStretch(), horStretch(),
+ hasHeightForWidth() );
+}
+
+#endif // QSIZEPOLICY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizepolicy-members.html b/doc/html/qsizepolicy-members.html
new file mode 100644
index 0000000..9810b70
--- /dev/null
+++ b/doc/html/qsizepolicy-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsizepolicy.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSizePolicy Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSizePolicy</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsizepolicy.html">QSizePolicy</a>, including inherited members.
+
+<ul>
+<li><a href="qsizepolicy.html#QSizePolicy">QSizePolicy</a>()
+<li><a href="qsizepolicy.html#expanding">expanding</a>()
+<li><a href="qsizepolicy.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qsizepolicy.html#horData">horData</a>()
+<li><a href="qsizepolicy.html#horStretch">horStretch</a>()
+<li><a href="qsizepolicy.html#mayGrowHorizontally">mayGrowHorizontally</a>()
+<li><a href="qsizepolicy.html#mayGrowVertically">mayGrowVertically</a>()
+<li><a href="qsizepolicy.html#mayShrinkHorizontally">mayShrinkHorizontally</a>()
+<li><a href="qsizepolicy.html#mayShrinkVertically">mayShrinkVertically</a>()
+<li><a href="qsizepolicy.html#operator!-eq">operator!=</a>()
+<li><a href="qsizepolicy.html#operator-eq-eq">operator==</a>()
+<li><a href="qsizepolicy.html#setHeightForWidth">setHeightForWidth</a>()
+<li><a href="qsizepolicy.html#setHorData">setHorData</a>()
+<li><a href="qsizepolicy.html#setHorStretch">setHorStretch</a>()
+<li><a href="qsizepolicy.html#setVerData">setVerData</a>()
+<li><a href="qsizepolicy.html#setVerStretch">setVerStretch</a>()
+<li><a href="qsizepolicy.html#transpose">transpose</a>()
+<li><a href="qsizepolicy.html#verData">verData</a>()
+<li><a href="qsizepolicy.html#verStretch">verStretch</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsizepolicy.html b/doc/html/qsizepolicy.html
new file mode 100644
index 0000000..f4353e5
--- /dev/null
+++ b/doc/html/qsizepolicy.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:1240 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSizePolicy Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSizePolicy Class Reference</h1>
+
+<p>The QSizePolicy class is a layout attribute describing horizontal
+and vertical resizing policy.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsizepolicy-h.html">qsizepolicy.h</a>&gt;</tt>
+<p><a href="qsizepolicy-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#SizeType-enum"><b>SizeType</b></a> { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow | MayShrink, MinimumExpanding = MayGrow | ExpMask, Expanding = MayGrow | MayShrink | ExpMask, Ignored = ExpMask }</li>
+<li class=fn>enum <a href="#ExpandData-enum"><b>ExpandData</b></a> { NoDirection = 0, Horizontally = 1, Vertically = 2, Horizontal = Horizontally, Vertical = Vertically, BothDirections = Horizontally | Vertically }</li>
+<li class=fn><a href="#QSizePolicy"><b>QSizePolicy</b></a> ()</li>
+<li class=fn><a href="#QSizePolicy-2"><b>QSizePolicy</b></a> ( SizeType&nbsp;hor, SizeType&nbsp;ver, bool&nbsp;hfw = FALSE )</li>
+<li class=fn><a href="#QSizePolicy-3"><b>QSizePolicy</b></a> ( SizeType&nbsp;hor, SizeType&nbsp;ver, uchar&nbsp;horStretch, uchar&nbsp;verStretch, bool&nbsp;hfw = FALSE )</li>
+<li class=fn>SizeType <a href="#horData"><b>horData</b></a> () const</li>
+<li class=fn>SizeType <a href="#verData"><b>verData</b></a> () const</li>
+<li class=fn>bool <a href="#mayShrinkHorizontally"><b>mayShrinkHorizontally</b></a> () const</li>
+<li class=fn>bool <a href="#mayShrinkVertically"><b>mayShrinkVertically</b></a> () const</li>
+<li class=fn>bool <a href="#mayGrowHorizontally"><b>mayGrowHorizontally</b></a> () const</li>
+<li class=fn>bool <a href="#mayGrowVertically"><b>mayGrowVertically</b></a> () const</li>
+<li class=fn>ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>void <a href="#setHorData"><b>setHorData</b></a> ( SizeType&nbsp;d )</li>
+<li class=fn>void <a href="#setVerData"><b>setVerData</b></a> ( SizeType&nbsp;d )</li>
+<li class=fn>void <a href="#setHeightForWidth"><b>setHeightForWidth</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#hasHeightForWidth"><b>hasHeightForWidth</b></a> () const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QSizePolicy&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QSizePolicy&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>uint <a href="#horStretch"><b>horStretch</b></a> () const</li>
+<li class=fn>uint <a href="#verStretch"><b>verStretch</b></a> () const</li>
+<li class=fn>void <a href="#setHorStretch"><b>setHorStretch</b></a> ( uchar&nbsp;sf )</li>
+<li class=fn>void <a href="#setVerStretch"><b>setVerStretch</b></a> ( uchar&nbsp;sf )</li>
+<li class=fn>void <a href="#transpose"><b>transpose</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSizePolicy class is a layout attribute describing horizontal
+and vertical resizing policy.
+<p>
+
+<p> The size policy of a widget is an expression of its willingness to
+be resized in various ways.
+<p> Widgets that reimplement <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>() return a QSizePolicy
+that describes the horizontal and vertical resizing policy they
+prefer when being laid out. Only <a href="#interesting">one of the
+ constructors</a> is of interest in most applications.
+<p> QSizePolicy contains two independent SizeType objects; one describes
+the widgets's horizontal size policy, and the other describes its
+vertical size policy. It also contains a flag to indicate whether the
+height and width of its preferred size are related.
+<p> The horizontal and vertical <a href="#SizeType-enum">SizeType</a>s are set in the usual constructor
+and can be queried using a variety of functions.
+<p> The <a href="#hasHeightForWidth">hasHeightForWidth</a>() flag indicates whether the widget's sizeHint()
+is width-dependent (such as a word-wrapping label) or not.
+<p> <p>See also <a href="#SizeType-enum">QSizePolicy::SizeType</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ExpandData-enum"></a>QSizePolicy::ExpandData</h3>
+
+<p> This enum type describes in which directions a widget can make use
+of extra space. There are four possible values:
+<ul>
+<li><tt>QSizePolicy::NoDirection</tt> - the widget cannot make use of extra space in
+any direction.
+<li><tt>QSizePolicy::Horizontally</tt> - the widget can usefully be wider than the
+sizeHint().
+<li><tt>QSizePolicy::Vertically</tt> - the widget can usefully be taller than the
+sizeHint().
+<li><tt>QSizePolicy::BothDirections</tt> - the widget can usefully be both wider and
+taller than the sizeHint().
+</ul>
+<h3 class=fn><a name="SizeType-enum"></a>QSizePolicy::SizeType</h3>
+
+<p> The per-dimension sizing types used when constructing a
+QSizePolicy are:
+<ul>
+<li><tt>QSizePolicy::Fixed</tt> - The <a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() is the only acceptable
+alternative, so the widget can never grow or shrink (e.g. the
+vertical direction of a push button).
+<li><tt>QSizePolicy::Minimum</tt> - The sizeHint() is minimal, and sufficient. The
+widget can be expanded, but there is no advantage to it being
+larger (e.g. the horizontal direction of a push button).
+It cannot be smaller than the size provided by sizeHint().
+<li><tt>QSizePolicy::Maximum</tt> - The sizeHint() is a maximum. The widget can be
+shrunk any amount without detriment if other widgets need the
+space (e.g. a separator line).
+It cannot be larger than the size provided by sizeHint().
+<li><tt>QSizePolicy::Preferred</tt> - The sizeHint() is best, but the widget can be
+shrunk and still be useful. The widget can be expanded, but there
+is no advantage to it being larger than sizeHint() (the default
+<a href="qwidget.html">QWidget</a> policy).
+<li><tt>QSizePolicy::Expanding</tt> - The sizeHint() is a sensible size, but the
+widget can be shrunk and still be useful. The widget can make use
+of extra space, so it should get as much space as possible (e.g.
+the horizontal direction of a slider).
+<li><tt>QSizePolicy::MinimumExpanding</tt> - The sizeHint() is minimal, and sufficient.
+The widget can make use of extra space, so it should get as much
+space as possible (e.g. the horizontal direction of a slider).
+<li><tt>QSizePolicy::Ignored</tt> - the sizeHint() is ignored. The widget will get as
+much space as possible.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSizePolicy"></a>QSizePolicy::QSizePolicy ()
+</h3>
+
+<p> Constructs a minimally initialized QSizePolicy.
+
+<h3 class=fn><a name="QSizePolicy-2"></a>QSizePolicy::QSizePolicy ( <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;hor, <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;ver, bool&nbsp;hfw = FALSE )
+</h3>
+
+<p> <a name="interesting"></a>
+This is the constructor normally used to return a value in the
+overridden <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>() function of a <a href="qwidget.html">QWidget</a>
+subclass.
+<p> It constructs a QSizePolicy with independent horizontal and
+vertical sizing types, <em>hor</em> and <em>ver</em> respectively. These <a href="#SizeType-enum">sizing types</a> affect how the widget
+is treated by the <a href="qlayout.html">layout engine</a>.
+<p> If <em>hfw</em> is TRUE, the preferred height of the widget is dependent
+on the width of the widget (for example, a <a href="qlabel.html">QLabel</a> with line
+wrapping).
+<p> <p>See also <a href="#horData">horData</a>(), <a href="#verData">verData</a>(), and <a href="#hasHeightForWidth">hasHeightForWidth</a>().
+
+<h3 class=fn><a name="QSizePolicy-3"></a>QSizePolicy::QSizePolicy ( <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;hor, <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;ver, uchar&nbsp;horStretch, uchar&nbsp;verStretch, bool&nbsp;hfw = FALSE )
+</h3>
+
+<p> Constructs a QSizePolicy with independent horizontal and vertical
+sizing types <em>hor</em> and <em>ver</em>, and stretch factors <em>horStretch</em>
+and <em>verStretch</em>.
+<p> If <em>hfw</em> is TRUE, the preferred height of the widget is dependent on the
+width of the widget.
+<p> <p>See also <a href="#horStretch">horStretch</a>() and <a href="#verStretch">verStretch</a>().
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">ExpandData</a> <a name="expanding"></a>QSizePolicy::expanding () const
+</h3>
+
+<p> Returns whether this layout can make use of more space than
+sizeHint(). A value of <a href="#ExpandData-enum">Vertical</a> or <a href="#ExpandData-enum">Horizontal</a> means that it wants
+to grow in only one dimension, whereas <a href="#ExpandData-enum">BothDirections</a> means that
+it wants to grow in both dimensions.
+<p> <p>See also <a href="#mayShrinkHorizontally">mayShrinkHorizontally</a>(), <a href="#mayGrowHorizontally">mayGrowHorizontally</a>(), <a href="#mayShrinkVertically">mayShrinkVertically</a>(), and <a href="#mayGrowVertically">mayGrowVertically</a>().
+
+<h3 class=fn>bool <a name="hasHeightForWidth"></a>QSizePolicy::hasHeightForWidth () const
+</h3>
+
+<p> Returns TRUE if the widget's preferred height depends on its
+width; otherwise returns FALSE.
+<p> <p>See also <a href="#setHeightForWidth">setHeightForWidth</a>().
+
+<h3 class=fn><a href="qsizepolicy.html#SizeType-enum">SizeType</a> <a name="horData"></a>QSizePolicy::horData () const
+</h3>
+
+<p> Returns the horizontal component of the size policy.
+<p> <p>See also <a href="#setHorData">setHorData</a>(), <a href="#verData">verData</a>(), and <a href="#horStretch">horStretch</a>().
+
+<h3 class=fn>uint <a name="horStretch"></a>QSizePolicy::horStretch () const
+</h3>
+
+<p> Returns the horizontal <a href="layout.html#stretch-factor">stretch factor</a> of the size policy.
+<p> <p>See also <a href="#setHorStretch">setHorStretch</a>() and <a href="#verStretch">verStretch</a>().
+
+<h3 class=fn>bool <a name="mayGrowHorizontally"></a>QSizePolicy::mayGrowHorizontally () const
+</h3>
+
+<p> Returns TRUE if the widget can sensibly be wider than its
+sizeHint(); otherwise returns FALSE.
+<p> <p>See also <a href="#mayGrowVertically">mayGrowVertically</a>() and <a href="#mayShrinkHorizontally">mayShrinkHorizontally</a>().
+
+<h3 class=fn>bool <a name="mayGrowVertically"></a>QSizePolicy::mayGrowVertically () const
+</h3>
+
+<p> Returns TRUE if the widget can sensibly be taller than its
+sizeHint(); otherwise returns FALSE.
+<p> <p>See also <a href="#mayGrowHorizontally">mayGrowHorizontally</a>() and <a href="#mayShrinkVertically">mayShrinkVertically</a>().
+
+<h3 class=fn>bool <a name="mayShrinkHorizontally"></a>QSizePolicy::mayShrinkHorizontally () const
+</h3>
+
+<p> Returns TRUE if the widget can sensibly be narrower than its
+sizeHint(); otherwise returns FALSE.
+<p> <p>See also <a href="#mayShrinkVertically">mayShrinkVertically</a>() and <a href="#mayGrowHorizontally">mayGrowHorizontally</a>().
+
+<h3 class=fn>bool <a name="mayShrinkVertically"></a>QSizePolicy::mayShrinkVertically () const
+</h3>
+
+<p> Returns TRUE if the widget can sensibly be shorter than its
+sizeHint(); otherwise returns FALSE.
+<p> <p>See also <a href="#mayShrinkHorizontally">mayShrinkHorizontally</a>() and <a href="#mayGrowVertically">mayGrowVertically</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QSizePolicy::operator!= ( const&nbsp;<a href="qsizepolicy.html">QSizePolicy</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+
+<p> Returns TRUE if this policy is different from <em>s</em>; otherwise
+returns FALSE.
+<p> <p>See also <a href="#operator-eq-eq">operator==</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QSizePolicy::operator== ( const&nbsp;<a href="qsizepolicy.html">QSizePolicy</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+
+<p> Returns TRUE if this policy is equal to <em>s</em>; otherwise returns
+FALSE.
+<p> <p>See also <a href="#operator!-eq">operator!=</a>().
+
+<h3 class=fn>void <a name="setHeightForWidth"></a>QSizePolicy::setHeightForWidth ( bool&nbsp;b )
+</h3>
+
+<p> Sets the <a href="#hasHeightForWidth">hasHeightForWidth</a>() flag to <em>b</em>.
+<p> <p>See also <a href="#hasHeightForWidth">hasHeightForWidth</a>().
+
+<h3 class=fn>void <a name="setHorData"></a>QSizePolicy::setHorData ( <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;d )
+</h3>
+
+<p> Sets the horizontal component of the size policy to size type <em>d</em>.
+<p> <p>See also <a href="#horData">horData</a>() and <a href="#setVerData">setVerData</a>().
+
+<h3 class=fn>void <a name="setHorStretch"></a>QSizePolicy::setHorStretch ( uchar&nbsp;sf )
+</h3>
+
+<p> Sets the horizontal <a href="layout.html#stretch-factor">stretch factor</a> of the size policy to <em>sf</em>.
+<p> <p>See also <a href="#horStretch">horStretch</a>() and <a href="#setVerStretch">setVerStretch</a>().
+
+<h3 class=fn>void <a name="setVerData"></a>QSizePolicy::setVerData ( <a href="qsizepolicy.html#SizeType-enum">SizeType</a>&nbsp;d )
+</h3>
+
+<p> Sets the vertical component of the size policy to size type <em>d</em>.
+<p> <p>See also <a href="#verData">verData</a>() and <a href="#setHorData">setHorData</a>().
+
+<h3 class=fn>void <a name="setVerStretch"></a>QSizePolicy::setVerStretch ( uchar&nbsp;sf )
+</h3>
+
+<p> Sets the vertical <a href="layout.html#stretch-factor">stretch factor</a> of the size policy to <em>sf</em>.
+<p> <p>See also <a href="#verStretch">verStretch</a>() and <a href="#setHorStretch">setHorStretch</a>().
+
+<h3 class=fn>void <a name="transpose"></a>QSizePolicy::transpose ()
+</h3>
+
+<p> Swaps the horizontal and vertical policies and stretches.
+
+<h3 class=fn><a href="qsizepolicy.html#SizeType-enum">SizeType</a> <a name="verData"></a>QSizePolicy::verData () const
+</h3>
+
+<p> Returns the vertical component of the size policy.
+<p> <p>See also <a href="#setVerData">setVerData</a>(), <a href="#horData">horData</a>(), and <a href="#verStretch">verStretch</a>().
+
+<h3 class=fn>uint <a name="verStretch"></a>QSizePolicy::verStretch () const
+</h3>
+
+<p> Returns the vertical <a href="layout.html#stretch-factor">stretch factor</a> of the size policy.
+<p> <p>See also <a href="#setVerStretch">setVerStretch</a>() and <a href="#horStretch">horStretch</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsjiscodec-h.html b/doc/html/qsjiscodec-h.html
new file mode 100644
index 0000000..a457583
--- /dev/null
+++ b/doc/html/qsjiscodec-h.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsjiscodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsjiscodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsjiscodec.h</h1>
+
+<p>This is the verbatim text of the qsjiscodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsjiscodec.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QSjisCodec class
+**
+** Created : 990225
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Most of the code here was originally written by Serika Kurusugawa
+// a.k.a. Junji Takagi, and is included in Qt with the author's permission,
+// and the grateful thanks of the Trolltech team.
+
+/*
+ * Copyright (C) 1999 Serika Kurusugawa, All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef QSJISCODEC_H
+#define QSJISCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#include "qjpunicode.h"
+#endif // QT_H
+
+#ifndef QT_NO_BIG_CODECS
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_CODECS_JP
+#else
+#define Q_EXPORT_CODECS_JP Q_EXPORT
+#endif
+
+class Q_EXPORT_CODECS_JP QSjisCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+ const char* mimeName() const;
+
+ QTextDecoder* makeDecoder() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+
+ QSjisCodec();
+ ~QSjisCodec();
+
+protected:
+ const QJpUnicodeConv *conv;
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsjiscodec-members.html b/doc/html/qsjiscodec-members.html
new file mode 100644
index 0000000..4988f31
--- /dev/null
+++ b/doc/html/qsjiscodec-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsjiscodec.h:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSjisCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSjisCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsjiscodec.html">QSjisCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qsjiscodec.html#QSjisCodec">QSjisCodec</a>()
+<li><a href="qsjiscodec.html#~QSjisCodec">~QSjisCodec</a>()
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qsjiscodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsjiscodec.html b/doc/html/qsjiscodec.html
new file mode 100644
index 0000000..422dac3
--- /dev/null
+++ b/doc/html/qsjiscodec.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qsjiscodec.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSjisCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSjisCodec Class Reference</h1>
+
+<p>The QSjisCodec class provides conversion to and from Shift-JIS.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qsjiscodec-h.html">qsjiscodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qsjiscodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+<li class=fn><a href="#QSjisCodec"><b>QSjisCodec</b></a> ()</li>
+<li class=fn><a href="#~QSjisCodec"><b>~QSjisCodec</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QSjisCodec class provides conversion to and from Shift-JIS.
+<p> More precisely, the QSjisCodec class subclasses <a href="qtextcodec.html">QTextCodec</a> to
+provide support for Shift-JIS, an encoding of JIS X 0201 Latin, JIS
+X 0201 Kana or JIS X 0208.
+<p> The environment variable <tt>UNICODEMAP_JP</tt> can be used to fine-tune
+<a href="qjiscodec.html">QJisCodec</a>, QSjisCodec and <a href="qeucjpcodec.html">QEucJpCodec</a>. The <a href="qjiscodec.html">QJisCodec</a>
+documentation describes how to use this variable.
+<p> Most of the code here was written by Serika Kurusugawa,
+a.k.a. Junji Takagi, and is included in Qt with the author's
+permission and the grateful thanks of the Trolltech team.
+Here is the copyright statement for the code as it was at the
+point of contribution. Trolltech's subsequent modifications
+are covered by the usual copyright for Qt.
+<p>
+<p> Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS".
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSjisCodec"></a>QSjisCodec::QSjisCodec ()
+</h3>
+Creates a Shift-JIS codec. Note that this is done automatically by
+the <a href="qapplication.html">QApplication</a>, you do not need construct your own.
+
+<h3 class=fn><a name="~QSjisCodec"></a>QSjisCodec::~QSjisCodec ()
+</h3>
+Destroys the Shift-JIS codec.
+
+<h3 class=fn>const char * <a name="mimeName"></a>QSjisCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the codec's mime name.
+
+<p>Reimplemented from <a href="qtextcodec.html#mimeName">QTextCodec</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qslider-h.html b/doc/html/qslider-h.html
new file mode 100644
index 0000000..146e704
--- /dev/null
+++ b/doc/html/qslider-h.html
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qslider.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qslider.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qslider.h</h1>
+
+<p>This is the verbatim text of the qslider.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qslider.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSlider class
+**
+** Created : 961019
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSLIDER_H
+#define QSLIDER_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#endif // QT_H
+
+#ifndef QT_NO_SLIDER
+
+struct QSliderPrivate;
+
+class QTimer;
+
+class Q_EXPORT QSlider : public QWidget, public QRangeControl
+{
+ Q_OBJECT
+ Q_ENUMS( TickSetting )
+ Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
+ Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( int lineStep READ lineStep WRITE setLineStep )
+ Q_PROPERTY( int pageStep READ pageStep WRITE setPageStep )
+ Q_PROPERTY( int value READ value WRITE setValue )
+ Q_PROPERTY( bool tracking READ tracking WRITE setTracking )
+ Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
+ Q_PROPERTY( TickSetting tickmarks READ tickmarks WRITE setTickmarks )
+ Q_PROPERTY( int tickInterval READ tickInterval WRITE setTickInterval )
+
+public:
+ enum TickSetting { NoMarks = 0, Above = 1, Left = Above,
+ Below = 2, Right = Below, Both = 3 };
+
+ QSlider( QWidget *parent, const char* name = 0 );
+ QSlider( Orientation, QWidget *parent, const char* name = 0 );
+ QSlider( int minValue, int maxValue, int pageStep, int value, Orientation,
+ QWidget *parent, const char* name = 0 );
+ ~QSlider();
+
+ virtual void setOrientation( Orientation );
+ Orientation orientation() const;
+ virtual void setTracking( bool enable );
+ bool tracking() const;
+ virtual void setPalette( const QPalette &amp; );
+
+ int sliderStart() const;
+ QRect sliderRect() const;
+ QSize sizeHint() const;
+ void setSizePolicy( QSizePolicy sp );
+ void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE );
+
+ QSizePolicy sizePolicy() const;
+ QSize minimumSizeHint() const;
+
+ virtual void setTickmarks( TickSetting );
+ TickSetting tickmarks() const { return ticks; }
+
+ virtual void setTickInterval( int );
+ int tickInterval() const { return tickInt; }
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue( int );
+ void setMaxValue( int );
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep( int );
+ void setPageStep( int );
+ int value() const;
+
+public slots:
+ virtual void setValue( int );
+ void addStep();
+ void subtractStep();
+ void addLine();
+ void subtractLine();
+
+signals:
+ void valueChanged( int value );
+ void sliderPressed();
+ void sliderMoved( int value );
+ void sliderReleased();
+
+protected:
+ void resizeEvent( QResizeEvent * );
+ void paintEvent( QPaintEvent * );
+
+ void keyPressEvent( QKeyEvent * );
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void focusInEvent( QFocusEvent *e );
+ void focusOutEvent( QFocusEvent *e );
+
+ void styleChange( QStyle&amp; );
+
+ void valueChange();
+ void rangeChange();
+
+private slots:
+ void repeatTimeout();
+
+private:
+ enum State { Idle, Dragging, TimingUp, TimingDown };
+
+ void init();
+ int positionFromValue( int ) const;
+ int valueFromPosition( int ) const;
+ void moveSlider( int );
+ void reallyMoveSlider( int );
+ void resetState();
+ int available() const;
+ int goodPart( const QPoint&amp; ) const;
+ void initTicks();
+
+ QSliderPrivate *d;
+ QTimer *timer;
+ QCOORD sliderPos;
+ int sliderVal;
+ QCOORD clickOffset;
+ State state;
+ bool track;
+ QCOORD tickOffset;
+ TickSetting ticks;
+ int tickInt;
+ Orientation orient;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSlider( const QSlider &amp; );
+ QSlider &amp;operator=( const QSlider &amp; );
+#endif
+};
+
+inline bool QSlider::tracking() const
+{
+ return track;
+}
+
+inline QSlider::Orientation QSlider::orientation() const
+{
+ return orient;
+}
+
+inline int QSlider::sliderStart() const
+{
+ return sliderPos;
+}
+
+inline void QSlider::setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw )
+{
+ QWidget::setSizePolicy( hor, ver, hfw );
+}
+
+#endif // QT_NO_SLIDER
+
+#endif // QSLIDER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qslider-m.png b/doc/html/qslider-m.png
new file mode 100644
index 0000000..37a19b6
--- /dev/null
+++ b/doc/html/qslider-m.png
Binary files differ
diff --git a/doc/html/qslider-members.html b/doc/html/qslider-members.html
new file mode 100644
index 0000000..77bc6c0
--- /dev/null
+++ b/doc/html/qslider-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qslider.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSlider Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSlider</h1>
+
+<p>This is the complete list of member functions for
+<a href="qslider.html">QSlider</a>, including inherited members.
+
+<ul>
+<li><a href="qslider.html#QSlider">QSlider</a>()
+<li><a href="qslider.html#~QSlider">~QSlider</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qrangecontrol.html#addLine">addLine</a>()
+<li><a href="qrangecontrol.html#addPage">addPage</a>()
+<li><a href="qslider.html#addStep">addStep</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qrangecontrol.html#bound">bound</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qrangecontrol.html#directSetValue">directSetValue</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qslider.html#lineStep">lineStep</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qslider.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qslider.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qslider.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qslider.html#pageStep">pageStep</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qrangecontrol.html#positionFromValue">positionFromValue</a>()
+<li><a href="qrangecontrol.html#prevValue">prevValue</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qslider.html#rangeChange">rangeChange</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qslider.html#setLineStep">setLineStep</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qslider.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qslider.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qslider.html#setOrientation">setOrientation</a>()
+<li><a href="qslider.html#setPageStep">setPageStep</a>()
+<li><a href="qslider.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qrangecontrol.html#setRange">setRange</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qrangecontrol.html#setSteps">setSteps</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qslider.html#setTickInterval">setTickInterval</a>()
+<li><a href="qslider.html#setTickmarks">setTickmarks</a>()
+<li><a href="qslider.html#setTracking">setTracking</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qslider.html#setValue">setValue</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qslider.html#sliderMoved">sliderMoved</a>()
+<li><a href="qslider.html#sliderPressed">sliderPressed</a>()
+<li><a href="qslider.html#sliderRect">sliderRect</a>()
+<li><a href="qslider.html#sliderReleased">sliderReleased</a>()
+<li><a href="qslider.html#sliderStart">sliderStart</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qrangecontrol.html#stepChange">stepChange</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qrangecontrol.html#subtractLine">subtractLine</a>()
+<li><a href="qrangecontrol.html#subtractPage">subtractPage</a>()
+<li><a href="qslider.html#subtractStep">subtractStep</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qslider.html#tickInterval">tickInterval</a>()
+<li><a href="qslider.html#tickmarks">tickmarks</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qslider.html#tracking">tracking</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qslider.html#value">value</a>()
+<li><a href="qslider.html#valueChange">valueChange</a>()
+<li><a href="qslider.html#valueChanged">valueChanged</a>()
+<li><a href="qrangecontrol.html#valueFromPosition">valueFromPosition</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qslider-w.png b/doc/html/qslider-w.png
new file mode 100644
index 0000000..d39e158
--- /dev/null
+++ b/doc/html/qslider-w.png
Binary files differ
diff --git a/doc/html/qslider.html b/doc/html/qslider.html
new file mode 100644
index 0000000..4aca4e2
--- /dev/null
+++ b/doc/html/qslider.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qslider.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSlider Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSlider Class Reference</h1>
+
+<p>The QSlider widget provides a vertical or horizontal slider.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qrangecontrol.html">QRangeControl</a>.
+<p><a href="qslider-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#TickSetting-enum"><b>TickSetting</b></a> { NoMarks = 0, Above = 1, Left = Above, Below = 2, Right = Below, Both = 3 }</li>
+<li class=fn><a href="#QSlider"><b>QSlider</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QSlider-2"><b>QSlider</b></a> ( Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QSlider-3"><b>QSlider</b></a> ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;pageStep, int&nbsp;value, Orientation&nbsp;orientation, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSlider"><b>~QSlider</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTracking"><b>setTracking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#tracking"><b>tracking</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPalette"><b>setPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>int <a href="#sliderStart"><b>sliderStart</b></a> () const</li>
+<li class=fn>QRect <a href="#sliderRect"><b>sliderRect</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTickmarks"><b>setTickmarks</b></a> ( TickSetting )</li>
+<li class=fn>TickSetting <a href="#tickmarks"><b>tickmarks</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTickInterval"><b>setTickInterval</b></a> ( int )</li>
+<li class=fn>int <a href="#tickInterval"><b>tickInterval</b></a> () const</li>
+<li class=fn>int <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int )</li>
+<li class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int )</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</li>
+<li class=fn>int <a href="#pageStep"><b>pageStep</b></a> () const</li>
+<li class=fn>void <a href="#setLineStep"><b>setLineStep</b></a> ( int )</li>
+<li class=fn>void <a href="#setPageStep"><b>setPageStep</b></a> ( int )</li>
+<li class=fn>int <a href="#value"><b>value</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( int )</li>
+<li class=fn>void <a href="#addStep"><b>addStep</b></a> ()</li>
+<li class=fn>void <a href="#subtractStep"><b>subtractStep</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#sliderPressed"><b>sliderPressed</b></a> ()</li>
+<li class=fn>void <a href="#sliderMoved"><b>sliderMoved</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#sliderReleased"><b>sliderReleased</b></a> ()</li>
+</ul>
+<h2>Important Inherited Members</h2>
+<ul>
+<li class=fn>void <a href="#setRange"><b>setRange</b></a> ( int&nbsp;minValue, int&nbsp;maxValue )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#lineStep-prop"><b>lineStep</b></a>&nbsp;- the current line step</li>
+<li class=fn>int <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the current maximum value of the slider</li>
+<li class=fn>int <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the current minimum value of the slider</li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the slider's orientation</li>
+<li class=fn>int <a href="#pageStep-prop"><b>pageStep</b></a>&nbsp;- the current page step</li>
+<li class=fn>int <a href="#tickInterval-prop"><b>tickInterval</b></a>&nbsp;- the interval between tickmarks</li>
+<li class=fn>TickSetting <a href="#tickmarks-prop"><b>tickmarks</b></a>&nbsp;- the tickmark settings for this slider</li>
+<li class=fn>bool <a href="#tracking-prop"><b>tracking</b></a>&nbsp;- whether slider tracking is enabled</li>
+<li class=fn>int <a href="#value-prop"><b>value</b></a>&nbsp;- the current slider value</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#valueChange"><b>valueChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#rangeChange"><b>rangeChange</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSlider widget provides a vertical or horizontal slider.
+<p>
+
+<p> The slider is the classic widget for controlling a bounded value.
+It lets the user move a slider along a horizontal or vertical
+groove and translates the slider's position into an integer value
+within the legal range.
+<p> QSlider inherits <a href="qrangecontrol.html">QRangeControl</a>, which provides the "integer" side
+of the slider. <a href="qrangecontrol.html#setRange">setRange</a>() and <a href="#value">value</a>() are likely to be used by
+practically all slider users; see the <a href="qrangecontrol.html">QRangeControl</a>
+documentation for information about the many other functions that
+class provides.
+<p> The main functions offered by the slider itself are tickmark and
+orientation control; you can use <a href="#setTickmarks">setTickmarks</a>() to indicate where
+you want the tickmarks to be, <a href="#setTickInterval">setTickInterval</a>() to indicate how
+many of them you want and <a href="#setOrientation">setOrientation</a>() to indicate whether the
+slider is to be horizontal or vertical.
+<p> A slider accepts focus on Tab and uses the mouse wheel and a
+suitable keyboard interface.
+<p> <img src=qslider-m.png> <img src=qslider-w.png>
+<p>
+<p> <p>See also <a href="qscrollbar.html">QScrollBar</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Slider</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="TickSetting-enum"></a>QSlider::TickSetting</h3>
+
+<p> This enum specifies where the tickmarks are to be drawn relative
+to the slider's groove and the handle the user moves.
+<ul>
+<li><tt>QSlider::NoMarks</tt> - do not draw any tickmarks.
+<li><tt>QSlider::Both</tt> - draw tickmarks on both sides of the groove.
+<li><tt>QSlider::Above</tt> - draw tickmarks above the (horizontal) slider
+<li><tt>QSlider::Below</tt> - draw tickmarks below the (horizontal) slider
+<li><tt>QSlider::Left</tt> - draw tickmarks to the left of the (vertical) slider
+<li><tt>QSlider::Right</tt> - draw tickmarks to the right of the (vertical) slider
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSlider"></a>QSlider::QSlider ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical slider.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QSlider-2"></a>QSlider::QSlider ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a slider.
+<p> The <em>orientation</em> must be <a href="qt.html#Orientation-enum">Qt::Vertical</a> or <a href="qt.html#Orientation-enum">Qt::Horizontal</a>.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QSlider-3"></a>QSlider::QSlider ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;pageStep, int&nbsp;value, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orientation, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a slider whose value can never be smaller than <em>minValue</em> or greater than <em>maxValue</em>, whose page step size is <em>pageStep</em> and whose value is initially <em>value</em> (which is
+guaranteed to be in range using <a href="qrangecontrol.html#bound">bound</a>()).
+<p> If <em>orientation</em> is <a href="qt.html#Orientation-enum">Qt::Vertical</a> the slider is vertical and if it
+is <a href="qt.html#Orientation-enum">Qt::Horizontal</a> the slider is horizontal.
+<p> The <em>parent</em> and <em>name</em> arguments are sent on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QSlider"></a>QSlider::~QSlider ()
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="addStep"></a>QSlider::addStep ()<tt> [slot]</tt>
+</h3>
+Moves the slider one <a href="#pageStep">pageStep</a>() up or right.
+
+<h3 class=fn>int <a name="lineStep"></a>QSlider::lineStep () const
+</h3><p>Returns the current line step.
+See the <a href="qslider.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>int <a name="maxValue"></a>QSlider::maxValue () const
+</h3><p>Returns the current maximum value of the slider.
+See the <a href="qslider.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>int <a name="minValue"></a>QSlider::minValue () const
+</h3><p>Returns the current minimum value of the slider.
+See the <a href="qslider.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QSlider::orientation () const
+</h3><p>Returns the slider's orientation.
+See the <a href="qslider.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>int <a name="pageStep"></a>QSlider::pageStep () const
+</h3><p>Returns the current page step.
+See the <a href="qslider.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="rangeChange"></a>QSlider::rangeChange ()<tt> [virtual protected]</tt>
+</h3>
+Implements the virtual <a href="qrangecontrol.html">QRangeControl</a> function.
+
+<p>Reimplemented from <a href="qrangecontrol.html#rangeChange">QRangeControl</a>.
+<h3 class=fn>void <a name="setLineStep"></a>QSlider::setLineStep ( int )
+</h3><p>Sets the current line step.
+See the <a href="qslider.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>void <a name="setMaxValue"></a>QSlider::setMaxValue ( int )
+</h3><p>Sets the current maximum value of the slider.
+See the <a href="qslider.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QSlider::setMinValue ( int )
+</h3><p>Sets the current minimum value of the slider.
+See the <a href="qslider.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QSlider::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )<tt> [virtual]</tt>
+</h3><p>Sets the slider's orientation.
+See the <a href="qslider.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setPageStep"></a>QSlider::setPageStep ( int )
+</h3><p>Sets the current page step.
+See the <a href="qslider.html#pageStep-prop">"pageStep"</a> property for details.
+<h3 class=fn>void <a name="setPalette"></a>QSlider::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Reimplements the virtual function <a href="qwidget.html#setPalette">QWidget::setPalette</a>().
+<p> Sets the background color to the mid color for <a href="motif-extension.html#Motif">Motif</a> style sliders
+using palette <em>p</em>.
+
+<p>Reimplemented from <a href="qwidget.html#setPalette">QWidget</a>.
+<h3 class=fn>void <a name="setRange"></a>QRangeControl::setRange ( int&nbsp;minValue, int&nbsp;maxValue )
+</h3>
+Sets the range control's minimum value to <em>minValue</em> and its
+maximum value to <em>maxValue</em>.
+<p> Calls the virtual <a href="#rangeChange">rangeChange</a>() function if one or both of the new
+minimum and maximum values are different from the previous
+setting. Calls the virtual <a href="#valueChange">valueChange</a>() function if the current
+value is adjusted because it was outside the new range.
+<p> If <em>maxValue</em> is smaller than <em>minValue</em>, <em>minValue</em> becomes
+the only legal value.
+<p> <p>See also <a href="#minValue-prop">minValue</a> and <a href="#maxValue-prop">maxValue</a>.
+
+<p>Examples: <a href="listbox-example.html#x1441">listbox/listbox.cpp</a>, <a href="tutorial1-12.html#x2387">t12/lcdrange.cpp</a>, <a href="tutorial1-05.html#x2315">t5/main.cpp</a>, <a href="tutorial1-06.html#x2325">t6/main.cpp</a>, <a href="tutorial1-08.html#x2334">t8/lcdrange.cpp</a>, and <a href="xform-example.html#x1250">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setTickInterval"></a>QSlider::setTickInterval ( int )<tt> [virtual]</tt>
+</h3><p>Sets the interval between tickmarks.
+See the <a href="qslider.html#tickInterval-prop">"tickInterval"</a> property for details.
+<h3 class=fn>void <a name="setTickmarks"></a>QSlider::setTickmarks ( <a href="qslider.html#TickSetting-enum">TickSetting</a> )<tt> [virtual]</tt>
+</h3><p>Sets the tickmark settings for this slider.
+See the <a href="qslider.html#tickmarks-prop">"tickmarks"</a> property for details.
+<h3 class=fn>void <a name="setTracking"></a>QSlider::setTracking ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3><p>Sets whether slider tracking is enabled to <em>enable</em>.
+See the <a href="qslider.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>void <a name="setValue"></a>QSlider::setValue ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the current slider value.
+See the <a href="qslider.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="sliderMoved"></a>QSlider::sliderMoved ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the slider is dragged, with the new
+slider <em>value</em> as its argument.
+
+<h3 class=fn>void <a name="sliderPressed"></a>QSlider::sliderPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user presses the slider with the
+mouse.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="sliderRect"></a>QSlider::sliderRect () const
+</h3>
+Returns the slider handle rectangle. (This is the visual marker
+that the user can move.)
+
+<h3 class=fn>void <a name="sliderReleased"></a>QSlider::sliderReleased ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user releases the slider with the mouse.
+
+<h3 class=fn>int <a name="sliderStart"></a>QSlider::sliderStart () const
+</h3>
+
+<p> Returns the start position of the slider.
+
+<h3 class=fn>void <a name="subtractStep"></a>QSlider::subtractStep ()<tt> [slot]</tt>
+</h3>
+Moves the slider one <a href="#pageStep">pageStep</a>() down or left.
+
+<h3 class=fn>int <a name="tickInterval"></a>QSlider::tickInterval () const
+</h3><p>Returns the interval between tickmarks.
+See the <a href="qslider.html#tickInterval-prop">"tickInterval"</a> property for details.
+<h3 class=fn><a href="qslider.html#TickSetting-enum">TickSetting</a> <a name="tickmarks"></a>QSlider::tickmarks () const
+</h3><p>Returns the tickmark settings for this slider.
+See the <a href="qslider.html#tickmarks-prop">"tickmarks"</a> property for details.
+<h3 class=fn>bool <a name="tracking"></a>QSlider::tracking () const
+</h3><p>Returns TRUE if slider tracking is enabled; otherwise returns FALSE.
+See the <a href="qslider.html#tracking-prop">"tracking"</a> property for details.
+<h3 class=fn>int <a name="value"></a>QSlider::value () const
+</h3><p>Returns the current slider value.
+See the <a href="qslider.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="valueChange"></a>QSlider::valueChange ()<tt> [virtual protected]</tt>
+</h3>
+Implements the virtual <a href="qrangecontrol.html">QRangeControl</a> function.
+
+<p>Reimplemented from <a href="qrangecontrol.html#valueChange">QRangeControl</a>.
+<h3 class=fn>void <a name="valueChanged"></a>QSlider::valueChanged ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the slider value is changed, with the
+new slider <em>value</em> as its argument.
+
+<p>Examples: <a href="rangecontrols-example.html#x1386">rangecontrols/rangecontrols.cpp</a>, <a href="qaxserver-example-simple.html#x2528">simple/main.cpp</a>, <a href="tutorial1-12.html#x2389">t12/lcdrange.cpp</a>, <a href="tutorial1-05.html#x2317">t5/main.cpp</a>, <a href="tutorial1-06.html#x2327">t6/main.cpp</a>, <a href="tutorial1-07.html#x2333">t7/lcdrange.cpp</a>, and <a href="xform-example.html#x1263">xform/xform.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="lineStep-prop"></a>lineStep</h3>
+<p>This property holds the current line step.
+<p>When setting lineStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be
+called if the new line step is different from the previous
+setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">setSteps</a>(), <a href="qrangecontrol.html#pageStep">QRangeControl::pageStep</a>(), and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setLineStep">setLineStep</a>() and get this property's value with <a href="#lineStep">lineStep</a>().
+<h3 class=fn>int <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the current maximum value of the slider.
+<p>When setting this property, the <a href="#minValue-prop">QSlider::minValue</a> is adjusted,
+if necessary, to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn>int <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the current minimum value of the slider.
+<p>When setting this property, the <a href="#maxValue-prop">QSlider::maxValue</a> is adjusted,
+if necessary, to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the slider's orientation.
+<p>The orientation must be <a href="qt.html#Orientation-enum">Qt::Vertical</a> (the default) or <a href="qt.html#Orientation-enum">Qt::Horizontal</a>.
+
+<p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>().
+<h3 class=fn>int <a name="pageStep-prop"></a>pageStep</h3>
+<p>This property holds the current page step.
+<p>When setting pageStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be
+called if the new page step is different from the previous
+setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">QRangeControl::setSteps</a>(), <a href="#lineStep-prop">lineStep</a>, and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setPageStep">setPageStep</a>() and get this property's value with <a href="#pageStep">pageStep</a>().
+<h3 class=fn>int <a name="tickInterval-prop"></a>tickInterval</h3>
+<p>This property holds the interval between tickmarks.
+<p>This is a value interval, not a pixel interval. If it is 0, the
+slider will choose between <a href="#lineStep">lineStep</a>() and <a href="#pageStep">pageStep</a>(). The initial
+value of tickInterval is 0.
+<p> <p>See also <a href="qrangecontrol.html#lineStep">QRangeControl::lineStep</a>() and <a href="qrangecontrol.html#pageStep">QRangeControl::pageStep</a>().
+
+<p>Set this property's value with <a href="#setTickInterval">setTickInterval</a>() and get this property's value with <a href="#tickInterval">tickInterval</a>().
+<h3 class=fn><a href="qslider.html#TickSetting-enum">TickSetting</a> <a name="tickmarks-prop"></a>tickmarks</h3>
+<p>This property holds the tickmark settings for this slider.
+<p>The valid values are in <a href="#TickSetting-enum">QSlider::TickSetting</a>. The default is
+<a href="#TickSetting-enum">NoMarks</a>.
+<p> <p>See also <a href="#tickInterval-prop">tickInterval</a>.
+
+<p>Set this property's value with <a href="#setTickmarks">setTickmarks</a>() and get this property's value with <a href="#tickmarks">tickmarks</a>().
+<h3 class=fn>bool <a name="tracking-prop"></a>tracking</h3>
+<p>This property holds whether slider tracking is enabled.
+<p>If tracking is enabled (the default), the slider emits the
+<a href="#valueChanged">valueChanged</a>() signal whenever the slider is being dragged. If
+tracking is disabled, the slider emits the valueChanged() signal
+when the user releases the mouse button (unless the value happens
+to be the same as before).
+
+<p>Set this property's value with <a href="#setTracking">setTracking</a>() and get this property's value with <a href="#tracking">tracking</a>().
+<h3 class=fn>int <a name="value-prop"></a>value</h3>
+<p>This property holds the current slider value.
+<p>Set this property's value with <a href="#setValue">setValue</a>() and get this property's value with <a href="#value">value</a>().
+<p><p>See also <a href="qrangecontrol.html#value">QRangeControl::value</a>() and <a href="qrangecontrol.html#prevValue">prevValue</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsmetric.png b/doc/html/qsmetric.png
new file mode 100644
index 0000000..ba0ef2f
--- /dev/null
+++ b/doc/html/qsmetric.png
Binary files differ
diff --git a/doc/html/qsocket-h.html b/doc/html/qsocket-h.html
new file mode 100644
index 0000000..2e2d4c8
--- /dev/null
+++ b/doc/html/qsocket-h.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocket.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsocket.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsocket.h</h1>
+
+<p>This is the verbatim text of the qsocket.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsocket.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSocket class.
+**
+** Created : 970521
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSOCKET_H
+#define QSOCKET_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qiodevice.h"
+#include "qhostaddress.h" // int-&gt;QHostAddress conversion
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_NETWORK
+#else
+#define QM_EXPORT_NETWORK Q_EXPORT
+#endif
+
+#ifndef QT_NO_NETWORK
+class QSocketPrivate;
+class QSocketDevice;
+
+
+class QM_EXPORT_NETWORK QSocket : public QObject, public QIODevice
+{
+ Q_OBJECT
+public:
+ enum Error {
+ ErrConnectionRefused,
+ ErrHostNotFound,
+ ErrSocketRead
+ };
+
+ QSocket( QObject *parent=0, const char *name=0 );
+ virtual ~QSocket();
+
+ enum State { Idle, HostLookup, Connecting,
+ Connected, Closing,
+ Connection=Connected };
+ State state() const;
+
+ int socket() const;
+ virtual void setSocket( int );
+
+ QSocketDevice *socketDevice();
+ virtual void setSocketDevice( QSocketDevice * );
+
+#ifndef QT_NO_DNS
+ virtual void connectToHost( const QString &amp;host, Q_UINT16 port );
+#endif
+ QString peerName() const;
+
+ // Implementation of QIODevice abstract virtual functions
+ bool open( int mode );
+ void close();
+ void flush();
+ Offset size() const;
+ Offset at() const;
+ bool at( Offset );
+ bool atEnd() const;
+
+ Q_ULONG bytesAvailable() const; // ### QIODevice::Offset instead?
+ Q_ULONG waitForMore( int msecs, bool *timeout ) const;
+ Q_ULONG waitForMore( int msecs ) const; // ### Qt 4.0: merge the two overloads
+ Q_ULONG bytesToWrite() const;
+ void clearPendingData();
+
+ Q_LONG readBlock( char *data, Q_ULONG maxlen );
+ Q_LONG writeBlock( const char *data, Q_ULONG len );
+ Q_LONG readLine( char *data, Q_ULONG maxlen );
+
+ int getch();
+ int putch( int );
+ int ungetch(int);
+
+ bool canReadLine() const;
+ virtual QString readLine();
+
+ Q_UINT16 port() const;
+ Q_UINT16 peerPort() const;
+ QHostAddress address() const;
+ QHostAddress peerAddress() const;
+
+ void setReadBufferSize( Q_ULONG );
+ Q_ULONG readBufferSize() const;
+
+signals:
+ void hostFound();
+ void connected();
+ void connectionClosed();
+ void delayedCloseFinished();
+ void readyRead();
+ void bytesWritten( int nbytes );
+ void error( int );
+
+protected slots:
+ virtual void sn_read( bool force=FALSE );
+ virtual void sn_write();
+
+private slots:
+ void tryConnecting();
+ void emitErrorConnectionRefused();
+
+private:
+ QSocketPrivate *d;
+
+ bool consumeWriteBuf( Q_ULONG nbytes );
+ void tryConnection();
+ void setSocketIntern( int socket );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSocket( const QSocket &amp; );
+ QSocket &amp;operator=( const QSocket &amp; );
+#endif
+};
+
+#endif //QT_NO_NETWORK
+#endif // QSOCKET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocket-members.html b/doc/html/qsocket-members.html
new file mode 100644
index 0000000..3919a3e
--- /dev/null
+++ b/doc/html/qsocket-members.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocket.h:58 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocket Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSocket</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsocket.html">QSocket</a>, including inherited members.
+
+<ul>
+<li><a href="qsocket.html#QSocket">QSocket</a>()
+<li><a href="qsocket.html#~QSocket">~QSocket</a>()
+<li><a href="qsocket.html#address">address</a>()
+<li><a href="qsocket.html#at">at</a>()
+<li><a href="qsocket.html#atEnd">atEnd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qsocket.html#bytesAvailable">bytesAvailable</a>()
+<li><a href="qsocket.html#bytesToWrite">bytesToWrite</a>()
+<li><a href="qsocket.html#bytesWritten">bytesWritten</a>()
+<li><a href="qsocket.html#canReadLine">canReadLine</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsocket.html#clearPendingData">clearPendingData</a>()
+<li><a href="qsocket.html#close">close</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qsocket.html#connectToHost">connectToHost</a>()
+<li><a href="qsocket.html#connected">connected</a>()
+<li><a href="qsocket.html#connectionClosed">connectionClosed</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qsocket.html#delayedCloseFinished">delayedCloseFinished</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qsocket.html#error">error</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qiodevice.html#flags">flags</a>()
+<li><a href="qsocket.html#flush">flush</a>()
+<li><a href="qsocket.html#getch">getch</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qsocket.html#hostFound">hostFound</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qiodevice.html#isAsynchronous">isAsynchronous</a>()
+<li><a href="qiodevice.html#isBuffered">isBuffered</a>()
+<li><a href="qiodevice.html#isCombinedAccess">isCombinedAccess</a>()
+<li><a href="qiodevice.html#isDirectAccess">isDirectAccess</a>()
+<li><a href="qiodevice.html#isInactive">isInactive</a>()
+<li><a href="qiodevice.html#isOpen">isOpen</a>()
+<li><a href="qiodevice.html#isRaw">isRaw</a>()
+<li><a href="qiodevice.html#isReadWrite">isReadWrite</a>()
+<li><a href="qiodevice.html#isReadable">isReadable</a>()
+<li><a href="qiodevice.html#isSequentialAccess">isSequentialAccess</a>()
+<li><a href="qiodevice.html#isSynchronous">isSynchronous</a>()
+<li><a href="qiodevice.html#isTranslated">isTranslated</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qiodevice.html#isWritable">isWritable</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qiodevice.html#mode">mode</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qsocket.html#open">open</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qsocket.html#peerAddress">peerAddress</a>()
+<li><a href="qsocket.html#peerName">peerName</a>()
+<li><a href="qsocket.html#peerPort">peerPort</a>()
+<li><a href="qsocket.html#port">port</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qsocket.html#putch">putch</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qiodevice.html#readAll">readAll</a>()
+<li><a href="qsocket.html#readBlock">readBlock</a>()
+<li><a href="qsocket.html#readBufferSize">readBufferSize</a>()
+<li><a href="qsocket.html#readLine">readLine</a>()
+<li><a href="qsocket.html#readyRead">readyRead</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qiodevice.html#reset">reset</a>()
+<li><a href="qiodevice.html#resetStatus">resetStatus</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qiodevice.html#setFlags">setFlags</a>()
+<li><a href="qiodevice.html#setMode">setMode</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsocket.html#setReadBufferSize">setReadBufferSize</a>()
+<li><a href="qsocket.html#setSocket">setSocket</a>()
+<li><a href="qsocket.html#setSocketDevice">setSocketDevice</a>()
+<li><a href="qiodevice.html#setState">setState</a>()
+<li><a href="qiodevice.html#setStatus">setStatus</a>()
+<li><a href="qiodevice.html#setType">setType</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qsocket.html#size">size</a>()
+<li><a href="qsocket.html#socket">socket</a>()
+<li><a href="qsocket.html#socketDevice">socketDevice</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qsocket.html#state">state</a>()
+<li><a href="qiodevice.html#status">status</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qsocket.html#ungetch">ungetch</a>()
+<li><a href="qsocket.html#waitForMore">waitForMore</a>()
+<li><a href="qsocket.html#writeBlock">writeBlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocket.html b/doc/html/qsocket.html
new file mode 100644
index 0000000..d0507ec
--- /dev/null
+++ b/doc/html/qsocket.html
@@ -0,0 +1,500 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qsocket.cpp:223 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocket Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSocket Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QSocket class provides a buffered TCP connection.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsocket-h.html">qsocket.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qiodevice.html">QIODevice</a>.
+<p><a href="qsocket-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Error-enum"><b>Error</b></a> { ErrConnectionRefused, ErrHostNotFound, ErrSocketRead }</li>
+<li class=fn><a href="#QSocket"><b>QSocket</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QSocket"><b>~QSocket</b></a> ()</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Idle, HostLookup, Connecting, Connected, Closing, Connection = Connected }</li>
+<li class=fn>State <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>int <a href="#socket"><b>socket</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSocket"><b>setSocket</b></a> ( int&nbsp;socket )</li>
+<li class=fn>QSocketDevice * <a href="#socketDevice"><b>socketDevice</b></a> ()</li>
+<li class=fn>virtual void <a href="#setSocketDevice"><b>setSocketDevice</b></a> ( QSocketDevice&nbsp;*&nbsp;device )</li>
+<li class=fn>virtual void <a href="#connectToHost"><b>connectToHost</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port )</li>
+<li class=fn>QString <a href="#peerName"><b>peerName</b></a> () const</li>
+<li class=fn>virtual bool <a href="#open"><b>open</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual void <a href="#close"><b>close</b></a> ()</li>
+<li class=fn>virtual void <a href="#flush"><b>flush</b></a> ()</li>
+<li class=fn>virtual Offset <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>virtual Offset <a href="#at"><b>at</b></a> () const</li>
+<li class=fn>virtual bool <a href="#at-2"><b>at</b></a> ( Offset&nbsp;index )</li>
+<li class=fn>virtual bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>Q_ULONG <a href="#bytesAvailable"><b>bytesAvailable</b></a> () const</li>
+<li class=fn>Q_ULONG <a href="#waitForMore"><b>waitForMore</b></a> ( int&nbsp;msecs, bool&nbsp;*&nbsp;timeout ) const</li>
+<li class=fn>Q_ULONG <a href="#waitForMore-2"><b>waitForMore</b></a> ( int&nbsp;msecs ) const</li>
+<li class=fn>Q_ULONG <a href="#bytesToWrite"><b>bytesToWrite</b></a> () const</li>
+<li class=fn>void <a href="#clearPendingData"><b>clearPendingData</b></a> ()</li>
+<li class=fn>virtual Q_LONG <a href="#readBlock"><b>readBlock</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>virtual Q_LONG <a href="#writeBlock"><b>writeBlock</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len )</li>
+<li class=fn>virtual int <a href="#getch"><b>getch</b></a> ()</li>
+<li class=fn>virtual int <a href="#putch"><b>putch</b></a> ( int&nbsp;ch )</li>
+<li class=fn>virtual int <a href="#ungetch"><b>ungetch</b></a> ( int&nbsp;ch )</li>
+<li class=fn>bool <a href="#canReadLine"><b>canReadLine</b></a> () const</li>
+<li class=fn>virtual QString <a href="#readLine"><b>readLine</b></a> ()</li>
+<li class=fn>Q_UINT16 <a href="#port"><b>port</b></a> () const</li>
+<li class=fn>Q_UINT16 <a href="#peerPort"><b>peerPort</b></a> () const</li>
+<li class=fn>QHostAddress <a href="#address"><b>address</b></a> () const</li>
+<li class=fn>QHostAddress <a href="#peerAddress"><b>peerAddress</b></a> () const</li>
+<li class=fn>void <a href="#setReadBufferSize"><b>setReadBufferSize</b></a> ( Q_ULONG&nbsp;bufSize )</li>
+<li class=fn>Q_ULONG <a href="#readBufferSize"><b>readBufferSize</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#hostFound"><b>hostFound</b></a> ()</li>
+<li class=fn>void <a href="#connected"><b>connected</b></a> ()</li>
+<li class=fn>void <a href="#connectionClosed"><b>connectionClosed</b></a> ()</li>
+<li class=fn>void <a href="#delayedCloseFinished"><b>delayedCloseFinished</b></a> ()</li>
+<li class=fn>void <a href="#readyRead"><b>readyRead</b></a> ()</li>
+<li class=fn>void <a href="#bytesWritten"><b>bytesWritten</b></a> ( int&nbsp;nbytes )</li>
+<li class=fn>void <a href="#error"><b>error</b></a> ( int )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSocket class provides a buffered TCP connection.
+
+<p>
+
+<p> It provides a totally non-blocking <a href="qiodevice.html">QIODevice</a>, and modifies and
+extends the API of QIODevice with socket-specific code.
+<p> Note that a <a href="qapplication.html">QApplication</a> must have been constructed before this
+class can be used.
+<p> The functions you're likely to call most are <a href="#connectToHost">connectToHost</a>(),
+<a href="#bytesAvailable">bytesAvailable</a>(), <a href="#canReadLine">canReadLine</a>() and the ones it inherits from
+QIODevice.
+<p> connectToHost() is the most-used function. As its name implies,
+it opens a connection to a named host.
+<p> Most network protocols are either packet-oriented or
+line-oriented. canReadLine() indicates whether a connection
+contains an entire unread line or not, and bytesAvailable()
+returns the number of bytes available for reading.
+<p> The signals <a href="#error">error</a>(), <a href="#connected">connected</a>(), <a href="#readyRead">readyRead</a>() and
+<a href="#connectionClosed">connectionClosed</a>() inform you of the progress of the connection.
+There are also some less commonly used signals. <a href="#hostFound">hostFound</a>() is
+emitted when connectToHost() has finished its DNS lookup and is
+starting its TCP connection. <a href="#delayedCloseFinished">delayedCloseFinished</a>() is emitted
+when <a href="#close">close</a>() succeeds. <a href="#bytesWritten">bytesWritten</a>() is emitted when QSocket
+moves data from its "to be written" queue into the TCP
+implementation.
+<p> There are several access functions for the socket: <a href="#state">state</a>() returns
+whether the object is idle, is doing a DNS lookup, is connecting,
+has an operational connection, etc. <a href="#address">address</a>() and <a href="#port">port</a>() return
+the IP address and port used for the connection. The <a href="#peerAddress">peerAddress</a>()
+and <a href="#peerPort">peerPort</a>() functions return the IP address and port used by
+the peer, and <a href="#peerName">peerName</a>() returns the name of the peer (normally
+the name that was passed to <a href="#connectToHost">connectToHost</a>()). <a href="#socketDevice">socketDevice</a>()
+returns a pointer to the <a href="qsocketdevice.html">QSocketDevice</a> used for this socket.
+<p> QSocket inherits <a href="qiodevice.html">QIODevice</a>, and reimplements some functions. In
+general, you can treat it as a QIODevice for writing, and mostly
+also for reading. The match isn't perfect, since the QIODevice
+API is designed for devices that are controlled by the same
+machine, and an asynchronous peer-to-peer network connection isn't
+quite like that. For example, there is nothing that matches
+<a href="qiodevice.html#size">QIODevice::size</a>() exactly. The documentation for <a href="#open">open</a>(), <a href="#close">close</a>(),
+<a href="#flush">flush</a>(), <a href="#size">size</a>(), <a href="#at">at</a>(), <a href="#atEnd">atEnd</a>(), <a href="#readBlock">readBlock</a>(), <a href="#writeBlock">writeBlock</a>(),
+<a href="#getch">getch</a>(), <a href="#putch">putch</a>(), <a href="#ungetch">ungetch</a>() and <a href="#readLine">readLine</a>() describes the
+differences in detail.
+<p> <b>Warning:</b> QSocket is not suitable for use in threads. If you need
+to uses sockets in threads use the lower-level <a href="qsocketdevice.html">QSocketDevice</a> class.
+<p> <b>Warning:</b> Because Qt doesn't use the native socketstream
+implementation on Mac OS X, QSocket has an implicit transfer
+latency of 100ms. You can achieve lower latency on Mac OS X by
+using QSocketDevice instead.
+<p> <p>See also <a href="qsocketdevice.html">QSocketDevice</a>, <a href="qhostaddress.html">QHostAddress</a>, <a href="qsocketnotifier.html">QSocketNotifier</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Error-enum"></a>QSocket::Error</h3>
+
+<p> This enum specifies the possible errors:
+<ul>
+<li><tt>QSocket::ErrConnectionRefused</tt> - if the connection was refused
+<li><tt>QSocket::ErrHostNotFound</tt> - if the host was not found
+<li><tt>QSocket::ErrSocketRead</tt> - if a read from the socket failed
+</ul>
+<h3 class=fn><a name="State-enum"></a>QSocket::State</h3>
+
+<p> This enum defines the connection states:
+<ul>
+<li><tt>QSocket::Idle</tt> - if there is no connection
+<li><tt>QSocket::HostLookup</tt> - during a DNS lookup
+<li><tt>QSocket::Connecting</tt> - during TCP connection establishment
+<li><tt>QSocket::Connected</tt> - when there is an operational connection
+<li><tt>QSocket::Closing</tt> - if the socket is closing down, but is not yet closed.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSocket"></a>QSocket::QSocket ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a QSocket object in <a href="#State-enum">QSocket::Idle</a> state.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qobject.html">QObject</a>
+constructor.
+<p> Note that a <a href="qapplication.html">QApplication</a> must have been constructed before sockets
+can be used.
+
+<h3 class=fn><a name="~QSocket"></a>QSocket::~QSocket ()<tt> [virtual]</tt>
+</h3>
+Destroys the socket. Closes the connection if necessary.
+<p> <p>See also <a href="#close">close</a>().
+
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a> <a name="address"></a>QSocket::address () const
+</h3>
+Returns the host address of this socket. (This is normally the
+main IP address of the host, but can be e.g. 127.0.0.1 for
+connections to localhost.)
+
+<h3 class=fn><a href="qiodevice.html#Offset">Offset</a> <a name="at"></a>QSocket::at () const<tt> [virtual]</tt>
+</h3>
+Returns the current read index. Since QSocket is a sequential
+device, the current read index is always zero.
+
+<p>Reimplemented from <a href="qiodevice.html#at">QIODevice</a>.
+<h3 class=fn>bool <a name="at-2"></a>QSocket::at ( <a href="qiodevice.html#Offset">Offset</a>&nbsp;index )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Moves the read index forward to <em>index</em> and returns TRUE if the
+operation was successful; otherwise returns FALSE. Moving the
+index forward means skipping incoming data.
+
+<p>Reimplemented from <a href="qiodevice.html#at-2">QIODevice</a>.
+<h3 class=fn>bool <a name="atEnd"></a>QSocket::atEnd () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if there is no more data to read; otherwise returns FALSE.
+
+<p>Reimplemented from <a href="qiodevice.html#atEnd">QIODevice</a>.
+<h3 class=fn>Q_ULONG <a name="bytesAvailable"></a>QSocket::bytesAvailable () const
+</h3>
+Returns the number of incoming bytes that can be read, i.e. the
+size of the input buffer. Equivalent to <a href="#size">size</a>().
+<p> This function can trigger the <a href="#readyRead">readyRead</a>() signal, if more data has
+arrived on the socket.
+<p> <p>See also <a href="#bytesToWrite">bytesToWrite</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x677">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>Q_ULONG <a name="bytesToWrite"></a>QSocket::bytesToWrite () const
+</h3>
+Returns the number of bytes that are waiting to be written, i.e.
+the size of the output buffer.
+<p> <p>See also <a href="#bytesAvailable">bytesAvailable</a>() and <a href="#clearPendingData">clearPendingData</a>().
+
+<h3 class=fn>void <a name="bytesWritten"></a>QSocket::bytesWritten ( int&nbsp;nbytes )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when data has been written to the network.
+The <em>nbytes</em> parameter specifies how many bytes were written.
+<p> The <a href="#bytesToWrite">bytesToWrite</a>() function is often used in the same context; it
+indicates how many buffered bytes there are left to write.
+<p> <p>See also <a href="#writeBlock">writeBlock</a>() and <a href="#bytesToWrite">bytesToWrite</a>().
+
+<h3 class=fn>bool <a name="canReadLine"></a>QSocket::canReadLine () const
+</h3>
+Returns TRUE if it's possible to read an entire line of text from
+this socket at this time; otherwise returns FALSE.
+<p> Note that if the peer closes the connection unexpectedly, this
+function returns FALSE. This means that loops such as this won't
+work:
+<p> <pre>
+ while( !socket-&gt;canReadLine() ) // WRONG
+ ;
+ </pre>
+
+<p> <p>See also <a href="#readLine">readLine</a>().
+
+<p>Examples: <a href="clientserver-example.html#x795">network/clientserver/client/client.cpp</a>, <a href="httpd-example.html#x727">network/httpd/httpd.cpp</a>, <a href="mail-example.html#x709">network/mail/smtp.cpp</a>, and <a href="networkprotocol-example.html#x678">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="clearPendingData"></a>QSocket::clearPendingData ()
+</h3>
+Deletes the data that is waiting to be written. This is useful if you want
+to close the socket without waiting for all the data to be written.
+<p> <p>See also <a href="#bytesToWrite">bytesToWrite</a>(), <a href="#close">close</a>(), and <a href="#delayedCloseFinished">delayedCloseFinished</a>().
+
+<h3 class=fn>void <a name="close"></a>QSocket::close ()<tt> [virtual]</tt>
+</h3>
+Closes the socket.
+<p> The read buffer is cleared.
+<p> If the output buffer is empty, the state is set to <a href="#State-enum">QSocket::Idle</a> and the connection is terminated immediately. If the
+output buffer still contains data to be written, QSocket goes into
+the <a href="#State-enum">QSocket::Closing</a> state and the rest of the data will be
+written. When all of the outgoing data have been written, the
+state is set to <a href="#State-enum">QSocket::Idle</a> and the connection is terminated.
+At this point, the <a href="#delayedCloseFinished">delayedCloseFinished</a>() signal is emitted.
+<p> If you don't want that the data of the output buffer is written, call
+<a href="#clearPendingData">clearPendingData</a>() before you call <a href="#close">close</a>().
+<p> <p>See also <a href="#state">state</a>(), <a href="#bytesToWrite">bytesToWrite</a>(), and <a href="#clearPendingData">clearPendingData</a>().
+
+<p>Examples: <a href="clientserver-example.html#x796">network/clientserver/client/client.cpp</a>, <a href="httpd-example.html#x728">network/httpd/httpd.cpp</a>, and <a href="networkprotocol-example.html#x679">network/networkprotocol/nntp.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#close">QIODevice</a>.
+<h3 class=fn>void <a name="connectToHost"></a>QSocket::connectToHost ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port )<tt> [virtual]</tt>
+</h3>
+Attempts to make a connection to <em>host</em> on the specified <em>port</em>
+and return immediately.
+<p> Any connection or pending connection is closed immediately, and
+QSocket goes into the <a href="#State-enum">HostLookup</a> state. When the lookup
+succeeds, it emits <a href="#hostFound">hostFound</a>(), starts a TCP connection and goes
+into the <a href="#State-enum">Connecting</a> state. Finally, when the connection
+succeeds, it emits <a href="#connected">connected</a>() and goes into the <a href="#State-enum">Connected</a>
+state. If there is an error at any point, it emits <a href="#error">error</a>().
+<p> <em>host</em> may be an IP address in string form, or it may be a DNS
+name. QSocket will do a normal DNS lookup if required. Note that
+<em>port</em> is in native byte order, unlike some other libraries.
+<p> <p>See also <a href="#state">state</a>().
+
+<p>Examples: <a href="clientserver-example.html#x797">network/clientserver/client/client.cpp</a>, <a href="mail-example.html#x710">network/mail/smtp.cpp</a>, and <a href="networkprotocol-example.html#x680">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="connected"></a>QSocket::connected ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after <a href="#connectToHost">connectToHost</a>() has been called and a
+connection has been successfully established.
+<p> <p>See also <a href="#connectToHost">connectToHost</a>() and <a href="#connectionClosed">connectionClosed</a>().
+
+<p>Examples: <a href="clientserver-example.html#x798">network/clientserver/client/client.cpp</a>, <a href="mail-example.html#x711">network/mail/smtp.cpp</a>, and <a href="networkprotocol-example.html#x681">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="connectionClosed"></a>QSocket::connectionClosed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the other end has closed the
+connection. The read buffers may contain buffered input data which
+you can read after the connection was closed.
+<p> <p>See also <a href="#connectToHost">connectToHost</a>() and <a href="#close">close</a>().
+
+<p>Examples: <a href="clientserver-example.html#x799">network/clientserver/client/client.cpp</a>, <a href="clientserver-example.html#x785">network/clientserver/server/server.cpp</a>, and <a href="networkprotocol-example.html#x682">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="delayedCloseFinished"></a>QSocket::delayedCloseFinished ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a delayed close is finished.
+<p> If you call <a href="#close">close</a>() and there is buffered output data to be
+written, QSocket goes into the <a href="#State-enum">QSocket::Closing</a> state and
+returns immediately. It will then keep writing to the socket until
+all the data has been written. Then, the <a href="#delayedCloseFinished">delayedCloseFinished</a>()
+signal is emitted.
+<p> <p>See also <a href="#close">close</a>().
+
+<p>Examples: <a href="clientserver-example.html#x800">network/clientserver/client/client.cpp</a> and <a href="httpd-example.html#x729">network/httpd/httpd.cpp</a>.
+<h3 class=fn>void <a name="error"></a>QSocket::error ( int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after an error occurred. The parameter is
+the <a href="#Error-enum">Error</a> value.
+
+<p>Examples: <a href="clientserver-example.html#x801">network/clientserver/client/client.cpp</a> and <a href="networkprotocol-example.html#x683">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="flush"></a>QSocket::flush ()<tt> [virtual]</tt>
+</h3>
+Implementation of the abstract virtual <a href="qiodevice.html#flush">QIODevice::flush</a>() function.
+
+<p>Reimplemented from <a href="qiodevice.html#flush">QIODevice</a>.
+<h3 class=fn>int <a name="getch"></a>QSocket::getch ()<tt> [virtual]</tt>
+</h3>
+Reads a single byte/character from the internal read buffer.
+Returns the byte/character read, or -1 if there is nothing to be
+read.
+<p> <p>See also <a href="#bytesAvailable">bytesAvailable</a>() and <a href="#putch">putch</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#getch">QIODevice</a>.
+<h3 class=fn>void <a name="hostFound"></a>QSocket::hostFound ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after <a href="#connectToHost">connectToHost</a>() has been called and
+the host lookup has succeeded.
+<p> <p>See also <a href="#connected">connected</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x684">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>bool <a name="open"></a>QSocket::open ( int&nbsp;m )<tt> [virtual]</tt>
+</h3>
+Opens the socket using the specified <a href="qiodevice.html">QIODevice</a> file mode <em>m</em>.
+This function is called automatically when needed and you should
+not call it yourself.
+<p> <p>See also <a href="#close">close</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#open">QIODevice</a>.
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a> <a name="peerAddress"></a>QSocket::peerAddress () const
+</h3>
+Returns the address of the connected peer if the socket is in
+Connected state; otherwise an empty <a href="qhostaddress.html">QHostAddress</a> is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="peerName"></a>QSocket::peerName () const
+</h3>
+Returns the host name as specified to the <a href="#connectToHost">connectToHost</a>()
+function. An empty string is returned if none has been set.
+
+<p>Example: <a href="mail-example.html#x712">network/mail/smtp.cpp</a>.
+<h3 class=fn>Q_UINT16 <a name="peerPort"></a>QSocket::peerPort () const
+</h3>
+Returns the peer's host port number, normally as specified to the
+<a href="#connectToHost">connectToHost</a>() function. If none has been set, this function
+returns 0.
+<p> Note that Qt always uses native byte order, i.e. 67 is 67 in Qt;
+there is no need to call htons().
+
+<h3 class=fn>Q_UINT16 <a name="port"></a>QSocket::port () const
+</h3>
+Returns the host port number of this socket, in native byte order.
+
+<h3 class=fn>int <a name="putch"></a>QSocket::putch ( int&nbsp;ch )<tt> [virtual]</tt>
+</h3>
+Writes the character <em>ch</em> to the output buffer.
+<p> Returns <em>ch</em>, or -1 if an error occurred.
+<p> <p>See also <a href="#getch">getch</a>().
+
+<p>Reimplemented from <a href="qiodevice.html#putch">QIODevice</a>.
+<h3 class=fn>Q_LONG <a name="readBlock"></a>QSocket::readBlock ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )<tt> [virtual]</tt>
+</h3>
+Reads <em>maxlen</em> bytes from the socket into <em>data</em> and returns the
+number of bytes read. Returns -1 if an error occurred.
+
+<p>Example: <a href="networkprotocol-example.html#x685">network/networkprotocol/nntp.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#readBlock">QIODevice</a>.
+<h3 class=fn>Q_ULONG <a name="readBufferSize"></a>QSocket::readBufferSize () const
+</h3>
+Returns the size of the read buffer.
+<p> <p>See also <a href="#setReadBufferSize">setReadBufferSize</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readLine"></a>QSocket::readLine ()<tt> [virtual]</tt>
+</h3>
+Returns a line of text including a terminating newline character
+(\n). Returns "" if <a href="#canReadLine">canReadLine</a>() returns FALSE.
+<p> <p>See also <a href="#canReadLine">canReadLine</a>().
+
+<p>Examples: <a href="clientserver-example.html#x802">network/clientserver/client/client.cpp</a>, <a href="httpd-example.html#x730">network/httpd/httpd.cpp</a>, <a href="mail-example.html#x713">network/mail/smtp.cpp</a>, and <a href="networkprotocol-example.html#x686">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="readyRead"></a>QSocket::readyRead ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted every time there is new incoming data.
+<p> Bear in mind that new incoming data is only reported once; if you do not
+read all the data, this class buffers the data and you can read it later,
+but no signal is emitted unless new data arrives. A good practice is to
+read all data in the slot connected to this signal unless you are sure that
+you need to receive more data to be able to process it.
+<p> <p>See also <a href="#readBlock">readBlock</a>(), <a href="#readLine">readLine</a>(), and <a href="#bytesAvailable">bytesAvailable</a>().
+
+<p>Examples: <a href="clientserver-example.html#x803">network/clientserver/client/client.cpp</a>, <a href="httpd-example.html#x731">network/httpd/httpd.cpp</a>, <a href="mail-example.html#x714">network/mail/smtp.cpp</a>, and <a href="networkprotocol-example.html#x687">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setReadBufferSize"></a>QSocket::setReadBufferSize ( Q_ULONG&nbsp;bufSize )
+</h3>
+Sets the size of the QSocket's internal read buffer to <em>bufSize</em>.
+<p> Usually QSocket reads all data that is available from the operating
+system's socket. If the buffer size is limited to a certain size, this
+means that the QSocket class doesn't buffer more than this size of data.
+<p> If the size of the read buffer is 0, the read buffer is unlimited and all
+incoming data is buffered. This is the default.
+<p> If you read the data in the <a href="#readyRead">readyRead</a>() signal, you shouldn't use this
+option since it might slow down your program unnecessary. This option is
+useful if you only need to read the data at certain points in time, like in
+a realtime streaming application.
+<p> <p>See also <a href="#readBufferSize">readBufferSize</a>().
+
+<h3 class=fn>void <a name="setSocket"></a>QSocket::setSocket ( int&nbsp;socket )<tt> [virtual]</tt>
+</h3>
+Sets the socket to use <em>socket</em> and the <a href="#state">state</a>() to <a href="#State-enum">Connected</a>.
+The socket must already be connected.
+<p> This allows us to use the QSocket class as a wrapper for other
+socket types (e.g. Unix Domain Sockets).
+
+<p>Example: <a href="httpd-example.html#x732">network/httpd/httpd.cpp</a>.
+<h3 class=fn>void <a name="setSocketDevice"></a>QSocket::setSocketDevice ( <a href="qsocketdevice.html">QSocketDevice</a>&nbsp;*&nbsp;device )<tt> [virtual]</tt>
+</h3>
+Sets the internal socket device to <em>device</em>. Passing a <em>device</em>
+of 0 will cause the internal socket device to be used. Any
+existing connection will be disconnected before using the new <em>device</em>.
+<p> The new device should not be connected before being associated
+with a QSocket; after setting the socket call <a href="#connectToHost">connectToHost</a>() to
+make the connection.
+<p> This function is useful if you need to subclass <a href="qsocketdevice.html">QSocketDevice</a> and
+want to use the QSocket API, for example, to implement Unix domain
+sockets.
+
+<h3 class=fn><a href="qiodevice.html#Offset">Offset</a> <a name="size"></a>QSocket::size () const<tt> [virtual]</tt>
+</h3>
+Returns the number of incoming bytes that can be read right now
+(like <a href="#bytesAvailable">bytesAvailable</a>()).
+
+<p>Reimplemented from <a href="qiodevice.html#size">QIODevice</a>.
+<h3 class=fn>int <a name="socket"></a>QSocket::socket () const
+</h3>
+Returns the socket number, or -1 if there is no socket at the moment.
+
+<h3 class=fn><a href="qsocketdevice.html">QSocketDevice</a>&nbsp;* <a name="socketDevice"></a>QSocket::socketDevice ()
+</h3>
+Returns a pointer to the internal socket device.
+<p> There is normally no need to manipulate the socket device directly
+since this class does the necessary setup for most applications.
+
+<h3 class=fn><a href="qsocket.html#State-enum">State</a> <a name="state"></a>QSocket::state () const
+</h3>
+Returns the current state of the socket connection.
+<p> <p>See also <a href="#State-enum">QSocket::State</a>.
+
+<p>Examples: <a href="clientserver-example.html#x804">network/clientserver/client/client.cpp</a> and <a href="networkprotocol-example.html#x688">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>int <a name="ungetch"></a>QSocket::ungetch ( int&nbsp;ch )<tt> [virtual]</tt>
+</h3>
+This implementation of the virtual function <a href="qiodevice.html#ungetch">QIODevice::ungetch</a>()
+prepends the character <em>ch</em> to the read buffer so that the next
+read returns this character as the first character of the output.
+
+<p>Reimplemented from <a href="qiodevice.html#ungetch">QIODevice</a>.
+<h3 class=fn>Q_ULONG <a name="waitForMore"></a>QSocket::waitForMore ( int&nbsp;msecs, bool&nbsp;*&nbsp;timeout ) const
+</h3>
+Wait up to <em>msecs</em> milliseconds for more data to be available.
+<p> If <em>msecs</em> is -1 the call will block indefinitely.
+<p> Returns the number of bytes available.
+<p> If <em>timeout</em> is non-null and no error occurred (i.e. it does not
+return -1): this function sets <em>*timeout</em> to TRUE, if the reason
+for returning was that the timeout was reached; otherwise it sets
+<em>*timeout</em> to FALSE. This is useful to find out if the peer
+closed the connection.
+<p> <b>Warning:</b> This is a blocking call and should be avoided in event
+driven applications.
+<p> <p>See also <a href="#bytesAvailable">bytesAvailable</a>().
+
+<h3 class=fn>Q_ULONG <a name="waitForMore-2"></a>QSocket::waitForMore ( int&nbsp;msecs ) const
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>Q_LONG <a name="writeBlock"></a>QSocket::writeBlock ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len )<tt> [virtual]</tt>
+</h3>
+Writes <em>len</em> bytes to the socket from <em>data</em> and returns the
+number of bytes written. Returns -1 if an error occurred.
+
+<p>Example: <a href="networkprotocol-example.html#x689">network/networkprotocol/nntp.cpp</a>.
+<p>Reimplemented from <a href="qiodevice.html#writeBlock">QIODevice</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketdevice-h.html b/doc/html/qsocketdevice-h.html
new file mode 100644
index 0000000..419c0cc
--- /dev/null
+++ b/doc/html/qsocketdevice-h.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocketdevice.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsocketdevice.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsocketdevice.h</h1>
+
+<p>This is the verbatim text of the qsocketdevice.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsocketdevice.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSocketDevice class.
+**
+** Created : 970521
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the network module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSOCKETDEVICE_H
+#define QSOCKETDEVICE_H
+
+#ifndef QT_H
+#include "qiodevice.h"
+#include "qhostaddress.h" // int-&gt;QHostAddress conversion
+#endif // QT_H
+
+#if !defined( QT_MODULE_NETWORK ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_NETWORK )
+#define QM_EXPORT_NETWORK
+#else
+#define QM_EXPORT_NETWORK Q_EXPORT
+#endif
+
+#ifndef QT_NO_NETWORK
+class QSocketDevicePrivate;
+
+
+class QM_EXPORT_NETWORK QSocketDevice: public QIODevice
+{
+public:
+ enum Type { Stream, Datagram };
+ enum Protocol { IPv4, IPv6, Unknown };
+
+ QSocketDevice( Type type = Stream );
+ QSocketDevice( Type type, Protocol protocol, int dummy );
+ QSocketDevice( int socket, Type type );
+ virtual ~QSocketDevice();
+
+ bool isValid() const;
+ Type type() const;
+ Protocol protocol() const;
+
+ int socket() const;
+ virtual void setSocket( int socket, Type type );
+
+ bool open( int mode );
+ void close();
+ void flush();
+
+ // Implementation of QIODevice abstract virtual functions
+ Offset size() const;
+ Offset at() const;
+ bool at( Offset );
+ bool atEnd() const;
+
+ bool blocking() const;
+ virtual void setBlocking( bool );
+
+ bool addressReusable() const;
+ virtual void setAddressReusable( bool );
+
+ int receiveBufferSize() const;
+ virtual void setReceiveBufferSize( uint );
+ int sendBufferSize() const;
+ virtual void setSendBufferSize( uint );
+
+ virtual bool connect( const QHostAddress &amp;, Q_UINT16 );
+
+ virtual bool bind( const QHostAddress &amp;, Q_UINT16 );
+ virtual bool listen( int backlog );
+ virtual int accept();
+
+ Q_LONG bytesAvailable() const;
+ Q_LONG waitForMore( int msecs, bool *timeout=0 ) const;
+ Q_LONG readBlock( char *data, Q_ULONG maxlen );
+ Q_LONG writeBlock( const char *data, Q_ULONG len );
+ virtual Q_LONG writeBlock( const char *data, Q_ULONG len,
+ const QHostAddress &amp; host, Q_UINT16 port );
+
+ int getch();
+ int putch( int );
+ int ungetch(int);
+
+ Q_UINT16 port() const;
+ Q_UINT16 peerPort() const;
+ QHostAddress address() const;
+ QHostAddress peerAddress() const;
+
+ enum Error {
+ NoError,
+ AlreadyBound,
+ Inaccessible,
+ NoResources,
+ InternalError,
+ Bug = InternalError, // ### remove in 4.0?
+ Impossible,
+ NoFiles,
+ ConnectionRefused,
+ NetworkFailure,
+ UnknownError
+ };
+ Error error() const;
+
+protected:
+ void setError( Error err );
+
+private:
+ int fd;
+ Type t;
+ Q_UINT16 p;
+ QHostAddress a;
+ Q_UINT16 pp;
+ QHostAddress pa;
+ QSocketDevice::Error e;
+ QSocketDevicePrivate * d;
+
+ enum Option { Broadcast, ReceiveBuffer, ReuseAddress, SendBuffer };
+
+ int option( Option ) const;
+ virtual void setOption( Option, int );
+
+ void fetchConnectionParameters();
+#if defined(Q_OS_WIN32)
+ void fetchPeerConnectionParameters();
+#endif
+
+ static void init();
+ int createNewSocket();
+ Protocol getProtocol() const;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSocketDevice( const QSocketDevice &amp; );
+ QSocketDevice &amp;operator=( const QSocketDevice &amp; );
+#endif
+};
+
+#endif // QT_NO_NETWORK
+#endif // QSOCKETDEVICE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketdevice-members.html b/doc/html/qsocketdevice-members.html
new file mode 100644
index 0000000..64f9662
--- /dev/null
+++ b/doc/html/qsocketdevice-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocketdevice.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocketDevice Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSocketDevice</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsocketdevice.html">QSocketDevice</a>, including inherited members.
+
+<ul>
+<li><a href="qsocketdevice.html#QSocketDevice">QSocketDevice</a>()
+<li><a href="qsocketdevice.html#~QSocketDevice">~QSocketDevice</a>()
+<li><a href="qsocketdevice.html#accept">accept</a>()
+<li><a href="qsocketdevice.html#address">address</a>()
+<li><a href="qsocketdevice.html#addressReusable">addressReusable</a>()
+<li><a href="qiodevice.html#at">at</a>()
+<li><a href="qiodevice.html#atEnd">atEnd</a>()
+<li><a href="qsocketdevice.html#bind">bind</a>()
+<li><a href="qsocketdevice.html#blocking">blocking</a>()
+<li><a href="qsocketdevice.html#bytesAvailable">bytesAvailable</a>()
+<li><a href="qiodevice.html#close">close</a>()
+<li><a href="qsocketdevice.html#connect">connect</a>()
+<li><a href="qsocketdevice.html#error">error</a>()
+<li><a href="qiodevice.html#flags">flags</a>()
+<li><a href="qiodevice.html#flush">flush</a>()
+<li><a href="qiodevice.html#getch">getch</a>()
+<li><a href="qiodevice.html#isAsynchronous">isAsynchronous</a>()
+<li><a href="qiodevice.html#isBuffered">isBuffered</a>()
+<li><a href="qiodevice.html#isCombinedAccess">isCombinedAccess</a>()
+<li><a href="qiodevice.html#isDirectAccess">isDirectAccess</a>()
+<li><a href="qiodevice.html#isInactive">isInactive</a>()
+<li><a href="qiodevice.html#isOpen">isOpen</a>()
+<li><a href="qiodevice.html#isRaw">isRaw</a>()
+<li><a href="qiodevice.html#isReadWrite">isReadWrite</a>()
+<li><a href="qiodevice.html#isReadable">isReadable</a>()
+<li><a href="qiodevice.html#isSequentialAccess">isSequentialAccess</a>()
+<li><a href="qiodevice.html#isSynchronous">isSynchronous</a>()
+<li><a href="qiodevice.html#isTranslated">isTranslated</a>()
+<li><a href="qsocketdevice.html#isValid">isValid</a>()
+<li><a href="qiodevice.html#isWritable">isWritable</a>()
+<li><a href="qsocketdevice.html#listen">listen</a>()
+<li><a href="qiodevice.html#mode">mode</a>()
+<li><a href="qiodevice.html#open">open</a>()
+<li><a href="qsocketdevice.html#peerAddress">peerAddress</a>()
+<li><a href="qsocketdevice.html#peerPort">peerPort</a>()
+<li><a href="qsocketdevice.html#port">port</a>()
+<li><a href="qsocketdevice.html#protocol">protocol</a>()
+<li><a href="qiodevice.html#putch">putch</a>()
+<li><a href="qiodevice.html#readAll">readAll</a>()
+<li><a href="qsocketdevice.html#readBlock">readBlock</a>()
+<li><a href="qiodevice.html#readLine">readLine</a>()
+<li><a href="qsocketdevice.html#receiveBufferSize">receiveBufferSize</a>()
+<li><a href="qiodevice.html#reset">reset</a>()
+<li><a href="qiodevice.html#resetStatus">resetStatus</a>()
+<li><a href="qsocketdevice.html#sendBufferSize">sendBufferSize</a>()
+<li><a href="qsocketdevice.html#setAddressReusable">setAddressReusable</a>()
+<li><a href="qsocketdevice.html#setBlocking">setBlocking</a>()
+<li><a href="qsocketdevice.html#setError">setError</a>()
+<li><a href="qiodevice.html#setFlags">setFlags</a>()
+<li><a href="qiodevice.html#setMode">setMode</a>()
+<li><a href="qsocketdevice.html#setReceiveBufferSize">setReceiveBufferSize</a>()
+<li><a href="qsocketdevice.html#setSendBufferSize">setSendBufferSize</a>()
+<li><a href="qsocketdevice.html#setSocket">setSocket</a>()
+<li><a href="qiodevice.html#setState">setState</a>()
+<li><a href="qiodevice.html#setStatus">setStatus</a>()
+<li><a href="qiodevice.html#setType">setType</a>()
+<li><a href="qiodevice.html#size">size</a>()
+<li><a href="qsocketdevice.html#socket">socket</a>()
+<li><a href="qiodevice.html#state">state</a>()
+<li><a href="qiodevice.html#status">status</a>()
+<li><a href="qsocketdevice.html#type">type</a>()
+<li><a href="qiodevice.html#ungetch">ungetch</a>()
+<li><a href="qsocketdevice.html#waitForMore">waitForMore</a>()
+<li><a href="qsocketdevice.html#writeBlock">writeBlock</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketdevice.html b/doc/html/qsocketdevice.html
new file mode 100644
index 0000000..cf42aec
--- /dev/null
+++ b/doc/html/qsocketdevice.html
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/network/qsocketdevice.cpp:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocketDevice Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSocketDevice Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QSocketDevice class provides a platform-independent low-level socket API.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsocketdevice-h.html">qsocketdevice.h</a>&gt;</tt>
+<p>Inherits <a href="qiodevice.html">QIODevice</a>.
+<p><a href="qsocketdevice-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { Stream, Datagram }</li>
+<li class=fn>enum <a href="#Protocol-enum"><b>Protocol</b></a> { IPv4, IPv6, Unknown }</li>
+<li class=fn><a href="#QSocketDevice"><b>QSocketDevice</b></a> ( Type&nbsp;type = Stream )</li>
+<li class=fn><a href="#QSocketDevice-2"><b>QSocketDevice</b></a> ( Type&nbsp;type, Protocol&nbsp;protocol, int&nbsp;dummy )</li>
+<li class=fn><a href="#QSocketDevice-3"><b>QSocketDevice</b></a> ( int&nbsp;socket, Type&nbsp;type )</li>
+<li class=fn>virtual <a href="#~QSocketDevice"><b>~QSocketDevice</b></a> ()</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>Protocol <a href="#protocol"><b>protocol</b></a> () const</li>
+<li class=fn>int <a href="#socket"><b>socket</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSocket"><b>setSocket</b></a> ( int&nbsp;socket, Type&nbsp;type )</li>
+<li class=fn>bool <a href="#blocking"><b>blocking</b></a> () const</li>
+<li class=fn>virtual void <a href="#setBlocking"><b>setBlocking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#addressReusable"><b>addressReusable</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAddressReusable"><b>setAddressReusable</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>int <a href="#receiveBufferSize"><b>receiveBufferSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setReceiveBufferSize"><b>setReceiveBufferSize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>int <a href="#sendBufferSize"><b>sendBufferSize</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSendBufferSize"><b>setSendBufferSize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>virtual bool <a href="#connect"><b>connect</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;addr, Q_UINT16&nbsp;port )</li>
+<li class=fn>virtual bool <a href="#bind"><b>bind</b></a> ( const&nbsp;QHostAddress&nbsp;&amp;&nbsp;address, Q_UINT16&nbsp;port )</li>
+<li class=fn>virtual bool <a href="#listen"><b>listen</b></a> ( int&nbsp;backlog )</li>
+<li class=fn>virtual int <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>Q_LONG <a href="#bytesAvailable"><b>bytesAvailable</b></a> () const</li>
+<li class=fn>Q_LONG <a href="#waitForMore"><b>waitForMore</b></a> ( int&nbsp;msecs, bool&nbsp;*&nbsp;timeout = 0 ) const</li>
+<li class=fn>virtual Q_LONG <a href="#readBlock"><b>readBlock</b></a> ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )</li>
+<li class=fn>virtual Q_LONG <a href="#writeBlock"><b>writeBlock</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len )</li>
+<li class=fn>virtual Q_LONG <a href="#writeBlock-2"><b>writeBlock</b></a> ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len, const&nbsp;QHostAddress&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port )</li>
+<li class=fn>Q_UINT16 <a href="#port"><b>port</b></a> () const</li>
+<li class=fn>Q_UINT16 <a href="#peerPort"><b>peerPort</b></a> () const</li>
+<li class=fn>QHostAddress <a href="#address"><b>address</b></a> () const</li>
+<li class=fn>QHostAddress <a href="#peerAddress"><b>peerAddress</b></a> () const</li>
+<li class=fn>enum <a href="#Error-enum"><b>Error</b></a> { NoError, AlreadyBound, Inaccessible, NoResources, InternalError, Bug = InternalError, Impossible, NoFiles, ConnectionRefused, NetworkFailure, UnknownError }</li>
+<li class=fn>Error <a href="#error"><b>error</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setError"><b>setError</b></a> ( Error&nbsp;err )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSocketDevice class provides a platform-independent low-level socket API.
+
+<p>
+
+<p> This class provides a low level API for working with sockets. Users of
+this class are assumed to have networking experience. For most users the
+<a href="qsocket.html">QSocket</a> class provides a much easier and high level alternative, but
+certain things (like UDP) can't be done with QSocket and if you need a
+platform-independent API for those, QSocketDevice is the right choice.
+<p> The essential purpose of the class is to provide a <a href="qiodevice.html">QIODevice</a> that
+works on sockets, wrapped in a platform-independent API.
+<p> When calling <a href="#connect">connect</a>() or <a href="#bind">bind</a>(), QSocketDevice detects the
+protocol family (IPv4, IPv6) automatically. Passing the protocol
+family to QSocketDevice's constructor or to <a href="#setSocket">setSocket</a>() forces
+creation of a socket device of a specific protocol. If not set, the
+protocol will be detected at the first call to connect() or bind().
+<p> <p>See also <a href="qsocket.html">QSocket</a>, <a href="qsocketnotifier.html">QSocketNotifier</a>, <a href="qhostaddress.html">QHostAddress</a>, and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Error-enum"></a>QSocketDevice::Error</h3>
+
+<p> This enum type describes the error states of QSocketDevice.
+<ul>
+<li><tt>QSocketDevice::NoError</tt> - No error has occurred.
+<li><tt>QSocketDevice::AlreadyBound</tt> - The device is already bound, according to <a href="#bind">bind</a>().
+<li><tt>QSocketDevice::Inaccessible</tt> - The operating system or firewall prohibited
+the action.
+<li><tt>QSocketDevice::NoResources</tt> - The operating system ran out of a resource.
+<li><tt>QSocketDevice::InternalError</tt> - An internal error occurred in QSocketDevice.
+<li><tt>QSocketDevice::Impossible</tt> - An attempt was made to do something which makes
+no sense. For example:
+<pre>
+ ::close( sd-&gt;socket() );
+ sd-&gt;writeBlock( someData, 42 );
+ </pre>
+
+The libc ::close() closes the socket, but QSocketDevice is not aware
+of this. So when you call <a href="#writeBlock">writeBlock</a>(), the impossible happens.
+<li><tt>QSocketDevice::NoFiles</tt> - The operating system will not let QSocketDevice open
+another file.
+<li><tt>QSocketDevice::ConnectionRefused</tt> - A connection attempt was rejected by the
+peer.
+<li><tt>QSocketDevice::NetworkFailure</tt> - There is a network failure.
+<li><tt>QSocketDevice::UnknownError</tt> - The operating system did something
+unexpected.
+</ul>
+<h3 class=fn><a name="Protocol-enum"></a>QSocketDevice::Protocol</h3>
+
+<p> This enum type describes the protocol family of the socket. Possible values
+are:
+<ul>
+<li><tt>QSocketDevice::IPv4</tt> - The socket is an IPv4 socket.
+<li><tt>QSocketDevice::IPv6</tt> - The socket is an IPv6 socket.
+<li><tt>QSocketDevice::Unknown</tt> - The protocol family of the socket is not known. This can
+happen if you use QSocketDevice with an already existing socket; it
+tries to determine the protocol family, but this can fail if the
+protocol family is not known to QSocketDevice.
+</ul><p> <p>See also <a href="#protocol">protocol</a>() and <a href="#setSocket">setSocket</a>().
+
+<h3 class=fn><a name="Type-enum"></a>QSocketDevice::Type</h3>
+
+<p> This enum type describes the type of the socket:
+<ul>
+<li><tt>QSocketDevice::Stream</tt> - a stream socket (TCP, usually)
+<li><tt>QSocketDevice::Datagram</tt> - a datagram socket (UDP, usually)
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSocketDevice"></a>QSocketDevice::QSocketDevice ( <a href="qsocketdevice.html#Type-enum">Type</a>&nbsp;type = Stream )
+</h3>
+Creates a QSocketDevice object for a stream or datagram socket.
+<p> The <em>type</em> argument must be either <a href="#Type-enum">QSocketDevice::Stream</a> for a
+reliable, connection-oriented TCP socket, or <a href="#Type-enum">QSocketDevice::Datagram</a> for an unreliable UDP socket.
+<p> The socket is created as an IPv4 socket.
+<p> <p>See also <a href="#blocking">blocking</a>() and <a href="#protocol">protocol</a>().
+
+<h3 class=fn><a name="QSocketDevice-2"></a>QSocketDevice::QSocketDevice ( <a href="qsocketdevice.html#Type-enum">Type</a>&nbsp;type, <a href="qsocketdevice.html#Protocol-enum">Protocol</a>&nbsp;protocol, int&nbsp;dummy )
+</h3>
+Creates a QSocketDevice object for a stream or datagram socket.
+<p> The <em>type</em> argument must be either <a href="#Type-enum">QSocketDevice::Stream</a> for a
+reliable, connection-oriented TCP socket, or <a href="#Type-enum">QSocketDevice::Datagram</a> for an unreliable UDP socket.
+<p> The <em>protocol</em> indicates whether the socket should be of type IPv4
+or IPv6. Passing <a href="#Protocol-enum">Unknown</a> is not meaningful in this context and you
+should avoid using (it creates an IPv4 socket, but your code is not easily
+readable).
+<p> The argument <em>dummy</em> is necessary for compatibility with some
+compilers.
+<p> <p>See also <a href="#blocking">blocking</a>() and <a href="#protocol">protocol</a>().
+
+<h3 class=fn><a name="QSocketDevice-3"></a>QSocketDevice::QSocketDevice ( int&nbsp;socket, <a href="qsocketdevice.html#Type-enum">Type</a>&nbsp;type )
+</h3>
+Creates a QSocketDevice object for the existing socket <em>socket</em>.
+<p> The <em>type</em> argument must match the actual socket type; use <a href="#Type-enum">QSocketDevice::Stream</a> for a reliable, connection-oriented TCP
+socket, or <a href="#Type-enum">QSocketDevice::Datagram</a> for an unreliable,
+connectionless UDP socket.
+
+<h3 class=fn><a name="~QSocketDevice"></a>QSocketDevice::~QSocketDevice ()<tt> [virtual]</tt>
+</h3>
+Destroys the socket device and closes the socket if it is open.
+
+<h3 class=fn>int <a name="accept"></a>QSocketDevice::accept ()<tt> [virtual]</tt>
+</h3>
+Extracts the first connection from the queue of pending
+connections for this socket and returns a new socket identifier.
+Returns -1 if the operation failed.
+<p> <p>See also <a href="#bind">bind</a>() and <a href="#listen">listen</a>().
+
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a> <a name="address"></a>QSocketDevice::address () const
+</h3>
+Returns the address of this socket device. This may be 0.0.0.0 for
+a while, but is set to something sensible as soon as a sensible
+value is available.
+
+<h3 class=fn>bool <a name="addressReusable"></a>QSocketDevice::addressReusable () const
+</h3>
+Returns TRUE if the address of this socket can be used by other
+sockets at the same time, and FALSE if this socket claims
+exclusive ownership.
+<p> <p>See also <a href="#setAddressReusable">setAddressReusable</a>().
+
+<h3 class=fn>bool <a name="bind"></a>QSocketDevice::bind ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;address, Q_UINT16&nbsp;port )<tt> [virtual]</tt>
+</h3>
+Assigns a name to an unnamed socket. The name is the host address
+<em>address</em> and the port number <em>port</em>. If the operation succeeds,
+<a href="#bind">bind</a>() returns TRUE; otherwise it returns FALSE without changing
+what <a href="#port">port</a>() and <a href="#address">address</a>() return.
+<p> bind() is used by servers for setting up incoming connections.
+Call bind() before <a href="#listen">listen</a>().
+
+<h3 class=fn>bool <a name="blocking"></a>QSocketDevice::blocking () const
+</h3>
+Returns TRUE if the socket is valid and in blocking mode;
+otherwise returns FALSE.
+<p> Note that this function does not set <a href="#error">error</a>().
+<p> <b>Warning:</b> On Windows, this function always returns TRUE since the
+ioctlsocket() function is broken.
+<p> <p>See also <a href="#setBlocking">setBlocking</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>Q_LONG <a name="bytesAvailable"></a>QSocketDevice::bytesAvailable () const
+</h3>
+Returns the number of bytes available for reading, or -1 if an
+error occurred.
+<p> <b>Warning:</b> On Microsoft Windows, we use the ioctlsocket() function
+to determine the number of bytes queued on the socket. According
+to Microsoft (KB Q125486), ioctlsocket() sometimes returns an
+incorrect number. The only safe way to determine the amount of
+data on the socket is to read it using <a href="#readBlock">readBlock</a>(). <a href="qsocket.html">QSocket</a> has
+workarounds to deal with this problem.
+
+<h3 class=fn>bool <a name="connect"></a>QSocketDevice::connect ( const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;addr, Q_UINT16&nbsp;port )<tt> [virtual]</tt>
+</h3>
+Connects to the IP address and port specified by <em>addr</em> and <em>port</em>. Returns TRUE if it establishes a connection; otherwise returns FALSE.
+If it returns FALSE, <a href="#error">error</a>() explains why.
+<p> Note that error() commonly returns NoError for non-blocking
+sockets; this just means that you can call <a href="#connect">connect</a>() again in a
+little while and it'll probably succeed.
+
+<h3 class=fn><a href="qsocketdevice.html#Error-enum">Error</a> <a name="error"></a>QSocketDevice::error () const
+</h3>
+Returns the first error seen.
+
+<h3 class=fn>bool <a name="isValid"></a>QSocketDevice::isValid () const
+</h3>
+Returns TRUE if this is a valid socket; otherwise returns FALSE.
+<p> <p>See also <a href="#socket">socket</a>().
+
+<h3 class=fn>bool <a name="listen"></a>QSocketDevice::listen ( int&nbsp;backlog )<tt> [virtual]</tt>
+</h3>
+Specifies how many pending connections a server socket can have.
+Returns TRUE if the operation was successful; otherwise returns
+FALSE. A <em>backlog</em> value of 50 is quite common.
+<p> The <a href="#listen">listen</a>() call only applies to sockets where <a href="#type">type</a>() is <a href="#Type-enum">Stream</a>, i.e. not to <a href="#Type-enum">Datagram</a> sockets. listen() must not be
+called before <a href="#bind">bind</a>() or after <a href="#accept">accept</a>().
+<p> <p>See also <a href="#bind">bind</a>() and <a href="#accept">accept</a>().
+
+<h3 class=fn><a href="qhostaddress.html">QHostAddress</a> <a name="peerAddress"></a>QSocketDevice::peerAddress () const
+</h3>
+Returns the address of the port this socket device is connected
+to. This may be 0.0.0.0 for a while, but is set to something
+sensible as soon as a sensible value is available.
+<p> Note that for Datagram sockets, this is the source port of the
+last packet received.
+
+<h3 class=fn>Q_UINT16 <a name="peerPort"></a>QSocketDevice::peerPort () const
+</h3>
+Returns the port number of the port this socket device is
+connected to. This may be 0 for a while, but is set to something
+sensible as soon as a sensible value is available.
+<p> Note that for Datagram sockets, this is the source port of the
+last packet received, and that it is in native byte order.
+
+<h3 class=fn>Q_UINT16 <a name="port"></a>QSocketDevice::port () const
+</h3>
+Returns the port number of this socket device. This may be 0 for a
+while, but is set to something sensible as soon as a sensible
+value is available.
+<p> Note that Qt always uses native byte order, i.e. 67 is 67 in Qt;
+there is no need to call htons().
+
+<h3 class=fn><a href="qsocketdevice.html#Protocol-enum">Protocol</a> <a name="protocol"></a>QSocketDevice::protocol () const
+</h3>
+Returns the socket's protocol family, which is one of <a href="#Protocol-enum">Unknown</a>, <a href="#Protocol-enum">IPv4</a>,
+or <a href="#Protocol-enum">IPv6</a>.
+<p> QSocketDevice either creates a socket with a well known protocol family or
+it uses an already existing socket. In the first case, this function
+returns the protocol family it was constructed with. In the second case, it
+tries to determine the protocol family of the socket; if this fails, it
+returns <a href="#Protocol-enum">Unknown</a>.
+<p> <p>See also <a href="#Protocol-enum">Protocol</a> and <a href="#setSocket">setSocket</a>().
+
+<h3 class=fn>Q_LONG <a name="readBlock"></a>QSocketDevice::readBlock ( char&nbsp;*&nbsp;data, Q_ULONG&nbsp;maxlen )<tt> [virtual]</tt>
+</h3>
+Reads <em>maxlen</em> bytes from the socket into <em>data</em> and returns the
+number of bytes read. Returns -1 if an error occurred. Returning 0
+is not an error. For Stream sockets, 0 is returned when the remote
+host closes the connection. For Datagram sockets, 0 is a valid
+datagram size.
+
+<p>Reimplemented from <a href="qiodevice.html#readBlock">QIODevice</a>.
+<h3 class=fn>int <a name="receiveBufferSize"></a>QSocketDevice::receiveBufferSize () const
+</h3>
+Returns the size of the operating system receive buffer.
+<p> <p>See also <a href="#setReceiveBufferSize">setReceiveBufferSize</a>().
+
+<h3 class=fn>int <a name="sendBufferSize"></a>QSocketDevice::sendBufferSize () const
+</h3>
+Returns the size of the operating system send buffer.
+<p> <p>See also <a href="#setSendBufferSize">setSendBufferSize</a>().
+
+<h3 class=fn>void <a name="setAddressReusable"></a>QSocketDevice::setAddressReusable ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Sets the address of this socket to be usable by other sockets too
+if <em>enable</em> is TRUE, and to be used exclusively by this socket if
+<em>enable</em> is FALSE.
+<p> When a socket is reusable, other sockets can use the same port
+number (and IP address), which is generally useful. Of course
+other sockets cannot use the same
+(address,port,peer-address,peer-port) 4-tuple as this socket, so
+there is no risk of confusing the two TCP connections.
+<p> <p>See also <a href="#addressReusable">addressReusable</a>().
+
+<h3 class=fn>void <a name="setBlocking"></a>QSocketDevice::setBlocking ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Makes the socket blocking if <em>enable</em> is TRUE or nonblocking if
+<em>enable</em> is FALSE.
+<p> Sockets are blocking by default, but we recommend using
+nonblocking socket operations, especially for GUI programs that
+need to be responsive.
+<p> <b>Warning:</b> On Windows, this function should be used with care since
+whenever you use a <a href="qsocketnotifier.html">QSocketNotifier</a> on Windows, the socket is
+immediately made nonblocking.
+<p> <p>See also <a href="#blocking">blocking</a>() and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setError"></a>QSocketDevice::setError ( <a href="qsocketdevice.html#Error-enum">Error</a>&nbsp;err )<tt> [protected]</tt>
+</h3>
+Allows subclasses to set the error state to <em>err</em>.
+
+<h3 class=fn>void <a name="setReceiveBufferSize"></a>QSocketDevice::setReceiveBufferSize ( uint&nbsp;size )<tt> [virtual]</tt>
+</h3>
+Sets the size of the operating system receive buffer to <em>size</em>.
+<p> The operating system receive buffer size effectively limits two
+things: how much data can be in transit at any one moment, and how
+much data can be received in one iteration of the main event loop.
+<p> The default is operating system-dependent. A socket that receives
+large amounts of data is probably best with a buffer size of
+49152.
+
+<h3 class=fn>void <a name="setSendBufferSize"></a>QSocketDevice::setSendBufferSize ( uint&nbsp;size )<tt> [virtual]</tt>
+</h3>
+Sets the size of the operating system send buffer to <em>size</em>.
+<p> The operating system send buffer size effectively limits how much
+data can be in transit at any one moment.
+<p> The default is operating system-dependent. A socket that sends
+large amounts of data is probably best with a buffer size of
+49152.
+
+<h3 class=fn>void <a name="setSocket"></a>QSocketDevice::setSocket ( int&nbsp;socket, <a href="qsocketdevice.html#Type-enum">Type</a>&nbsp;type )<tt> [virtual]</tt>
+</h3>
+Sets the socket device to operate on the existing socket <em>socket</em>.
+<p> The <em>type</em> argument must match the actual socket type; use <a href="#Type-enum">QSocketDevice::Stream</a> for a reliable, connection-oriented TCP
+socket, or <a href="#Type-enum">QSocketDevice::Datagram</a> for an unreliable,
+connectionless UDP socket.
+<p> Any existing socket is closed.
+<p> <p>See also <a href="#isValid">isValid</a>() and <a href="qiodevice.html#close">close</a>().
+
+<h3 class=fn>int <a name="socket"></a>QSocketDevice::socket () const
+</h3>
+Returns the socket number, or -1 if it is an invalid socket.
+<p> <p>See also <a href="#isValid">isValid</a>() and <a href="#type">type</a>().
+
+<h3 class=fn><a href="qsocketdevice.html#Type-enum">Type</a> <a name="type"></a>QSocketDevice::type () const
+</h3>
+
+<p> Returns the socket type which is either <a href="#Type-enum">QSocketDevice::Stream</a>
+or <a href="#Type-enum">QSocketDevice::Datagram</a>.
+<p> <p>See also <a href="#socket">socket</a>().
+
+<h3 class=fn>Q_LONG <a name="waitForMore"></a>QSocketDevice::waitForMore ( int&nbsp;msecs, bool&nbsp;*&nbsp;timeout = 0 ) const
+</h3>
+Wait up to <em>msecs</em> milliseconds for more data to be available. If
+<em>msecs</em> is -1 the call will block indefinitely.
+<p> Returns the number of bytes available for reading, or -1 if an
+error occurred.
+<p> If <em>timeout</em> is non-null and no error occurred (i.e. it does not
+return -1): this function sets <em>*timeout</em> to TRUE, if the reason
+for returning was that the timeout was reached; otherwise it sets
+<em>*timeout</em> to FALSE. This is useful to find out if the peer
+closed the connection.
+<p> <b>Warning:</b> This is a blocking call and should be avoided in event
+driven applications.
+<p> <p>See also <a href="#bytesAvailable">bytesAvailable</a>().
+
+<h3 class=fn>Q_LONG <a name="writeBlock"></a>QSocketDevice::writeBlock ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len )<tt> [virtual]</tt>
+</h3>
+Writes <em>len</em> bytes to the socket from <em>data</em> and returns the
+number of bytes written. Returns -1 if an error occurred.
+<p> This is used for <a href="#Type-enum">QSocketDevice::Stream</a> sockets.
+
+<p>Reimplemented from <a href="qiodevice.html#writeBlock">QIODevice</a>.
+<h3 class=fn>Q_LONG <a name="writeBlock-2"></a>QSocketDevice::writeBlock ( const&nbsp;char&nbsp;*&nbsp;data, Q_ULONG&nbsp;len, const&nbsp;<a href="qhostaddress.html">QHostAddress</a>&nbsp;&amp;&nbsp;host, Q_UINT16&nbsp;port )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes <em>len</em> bytes to the socket from <em>data</em> and returns the
+number of bytes written. Returns -1 if an error occurred.
+<p> This is used for <a href="#Type-enum">QSocketDevice::Datagram</a> sockets. You must
+specify the <em>host</em> and <em>port</em> of the destination of the data.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketnotifier-h.html b/doc/html/qsocketnotifier-h.html
new file mode 100644
index 0000000..bb263c7
--- /dev/null
+++ b/doc/html/qsocketnotifier-h.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocketnotifier.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsocketnotifier.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsocketnotifier.h</h1>
+
+<p>This is the verbatim text of the qsocketnotifier.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsocketnotifier.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSocketNotifier class
+**
+** Created : 951114
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSOCKETNOTIFIER_H
+#define QSOCKETNOTIFIER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+
+class Q_EXPORT QSocketNotifier : public QObject
+{
+ Q_OBJECT
+public:
+ enum Type { Read, Write, Exception };
+
+ QSocketNotifier( int socket, Type, QObject *parent=0, const char *name=0 );
+ ~QSocketNotifier();
+
+ int socket() const;
+ Type type() const;
+
+ bool isEnabled() const;
+ virtual void setEnabled( bool );
+
+signals:
+ void activated( int socket );
+
+protected:
+ bool event( QEvent * );
+
+private:
+ int sockfd;
+ Type sntype;
+ bool snenabled;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSocketNotifier( const QSocketNotifier &amp; );
+ QSocketNotifier &amp;operator=( const QSocketNotifier &amp; );
+#endif
+};
+
+
+inline int QSocketNotifier::socket() const
+{ return sockfd; }
+
+inline QSocketNotifier::Type QSocketNotifier::type() const
+{ return sntype; }
+
+inline bool QSocketNotifier::isEnabled() const
+{ return snenabled; }
+
+
+#endif // QSOCKETNOTIFIER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketnotifier-members.html b/doc/html/qsocketnotifier-members.html
new file mode 100644
index 0000000..701de6c
--- /dev/null
+++ b/doc/html/qsocketnotifier-members.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsocketnotifier.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocketNotifier Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSocketNotifier</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsocketnotifier.html">QSocketNotifier</a>, including inherited members.
+
+<ul>
+<li><a href="qsocketnotifier.html#QSocketNotifier">QSocketNotifier</a>()
+<li><a href="qsocketnotifier.html#~QSocketNotifier">~QSocketNotifier</a>()
+<li><a href="qsocketnotifier.html#activated">activated</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsocketnotifier.html#isEnabled">isEnabled</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsocketnotifier.html#setEnabled">setEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qsocketnotifier.html#socket">socket</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qsocketnotifier.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsocketnotifier.html b/doc/html/qsocketnotifier.html
new file mode 100644
index 0000000..48da714
--- /dev/null
+++ b/doc/html/qsocketnotifier.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsocketnotifier.cpp:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSocketNotifier Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSocketNotifier Class Reference</h1>
+
+<p>The QSocketNotifier class provides support for socket callbacks.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsocketnotifier-h.html">qsocketnotifier.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsocketnotifier-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { Read, Write, Exception }</li>
+<li class=fn><a href="#QSocketNotifier"><b>QSocketNotifier</b></a> ( int&nbsp;socket, Type&nbsp;type, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSocketNotifier"><b>~QSocketNotifier</b></a> ()</li>
+<li class=fn>int <a href="#socket"><b>socket</b></a> () const</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#activated"><b>activated</b></a> ( int&nbsp;socket )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSocketNotifier class provides support for socket callbacks.
+<p>
+<p> This class makes it possible to write asynchronous socket-based
+code in Qt. Using synchronous socket operations blocks the
+program, which is clearly not acceptable for an event-driven GUI
+program.
+<p> Once you have opened a non-blocking socket (whether for TCP, UDP,
+a UNIX-domain socket, or any other protocol family your operating
+system supports), you can create a socket notifier to monitor the
+socket. Then you connect the <a href="#activated">activated</a>() signal to the slot you
+want to be called when a socket event occurs.
+<p> Note for Windows users: the socket passed to QSocketNotifier will
+become non-blocking, even if it was created as a blocking socket.
+<p> There are three types of socket notifiers (read, write and
+exception); you must specify one of these in the constructor.
+<p> The type specifies when the activated() signal is to be emitted:
+<ol type=1>
+<li> QSocketNotifier::Read - There is data to be read (socket read event).
+<li> QSocketNotifier::Write - Data can be written (socket write event).
+<li> QSocketNofifier::Exception - An exception has occurred (socket
+exception event). We recommend against using this.
+</ol>
+<p> For example, if you need to monitor both reads and writes for the
+same socket you must create two socket notifiers.
+<p> For read notifiers it makes little sense to connect the
+activated() signal to more than one slot because the data can be
+read from the socket only once.
+<p> Also observe that if you do not read all the available data when
+the read notifier fires, it fires again and again.
+<p> For write notifiers, immediately disable the notifier after the
+<a href="#activated">activated</a>() signal has been received and you have sent the data to
+be written on the socket. When you have more data to be written,
+enable it again to get a new activated() signal. The exception is
+if the socket data writing operation (send() or equivalent) fails
+with a "would block" error, which means that some buffer is full
+and you must wait before sending more data. In that case you do
+not need to disable and re-enable the write notifier; it will fire
+again as soon as the system allows more data to be sent.
+<p> The behavior of a write notifier that is left in enabled state
+after having emitting the first activated() signal (and no "would
+block" error has occurred) is undefined. Depending on the
+operating system, it may fire on every pass of the event loop or
+not at all.
+<p> If you need a time-out for your sockets you can use either <a href="qobject.html#startTimer">timer events</a> or the <a href="qtimer.html">QTimer</a> class.
+<p> Socket action is detected in the <a href="qapplication.html#exec">main
+ event loop</a> of Qt. The X11 version of Qt has a single UNIX
+select() call that incorporates all socket notifiers and the X
+socket.
+<p> Note that on XFree86 for OS/2, select() works only in the thread
+in which main() is running; you should therefore use that thread
+for GUI operations.
+<p> <p>See also <a href="qsocket.html">QSocket</a>, <a href="qserversocket.html">QServerSocket</a>, <a href="qsocketdevice.html">QSocketDevice</a>, <a href="qfile.html#handle">QFile::handle</a>(), and <a href="io.html">Input/Output and Networking</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Type-enum"></a>QSocketNotifier::Type</h3>
+
+<ul>
+<li><tt>QSocketNotifier::Read</tt>
+<li><tt>QSocketNotifier::Write</tt>
+<li><tt>QSocketNotifier::Exception</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSocketNotifier"></a>QSocketNotifier::QSocketNotifier ( int&nbsp;socket, <a href="qsocketnotifier.html#Type-enum">Type</a>&nbsp;type, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a socket notifier called <em>name</em>, with the parent, <em>parent</em>. It watches <em>socket</em> for <em>type</em> events, and enables it.
+<p> It is generally advisable to explicitly enable or disable the
+socket notifier, especially for write notifiers.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>() and <a href="#isEnabled">isEnabled</a>().
+
+<h3 class=fn><a name="~QSocketNotifier"></a>QSocketNotifier::~QSocketNotifier ()
+</h3>
+Destroys the socket notifier.
+
+<h3 class=fn>void <a name="activated"></a>QSocketNotifier::activated ( int&nbsp;socket )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted under certain conditions specified by the
+notifier <a href="#type">type</a>():
+<ol type=1>
+<li> QSocketNotifier::Read - There is data to be read (socket read event).
+<li> QSocketNotifier::Write - Data can be written (socket write event).
+<li> QSocketNofifier::Exception - An exception has occurred (socket
+exception event).
+</ol>
+<p> The <em>socket</em> argument is the <a href="#socket">socket</a> identifier.
+<p> <p>See also <a href="#type">type</a>() and <a href="#socket">socket</a>().
+
+<h3 class=fn>bool <a name="isEnabled"></a>QSocketNotifier::isEnabled () const
+</h3>
+
+<p> Returns TRUE if the notifier is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>().
+
+<h3 class=fn>void <a name="setEnabled"></a>QSocketNotifier::setEnabled ( bool&nbsp;enable )<tt> [virtual]</tt>
+</h3>
+Enables the notifier if <em>enable</em> is TRUE or disables it if <em>enable</em> is FALSE.
+<p> The notifier is enabled by default.
+<p> If the notifier is enabled, it emits the <a href="#activated">activated</a>() signal
+whenever a socket event corresponding to its <a href="#type">type</a> occurs. If it is disabled, it ignores socket events
+(the same effect as not creating the socket notifier).
+<p> Write notifiers should normally be disabled immediately after the
+activated() signal has been emitted; see discussion of write
+notifiers in the <a href="#details">class description</a> above.
+<p> <p>See also <a href="#isEnabled">isEnabled</a>() and <a href="#activated">activated</a>().
+
+<h3 class=fn>int <a name="socket"></a>QSocketNotifier::socket () const
+</h3>
+
+<p> Returns the socket identifier specified to the constructor.
+<p> <p>See also <a href="#type">type</a>().
+
+<h3 class=fn><a href="qsocketnotifier.html#Type-enum">Type</a> <a name="type"></a>QSocketNotifier::type () const
+</h3>
+
+<p> Returns the socket event type specified to the constructor: <a href="#Type-enum">QSocketNotifier::Read</a>, <a href="#Type-enum">QSocketNotifier::Write</a>, or <a href="#Type-enum">QSocketNotifier::Exception</a>.
+<p> <p>See also <a href="#socket">socket</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsortedlist-h.html b/doc/html/qsortedlist-h.html
new file mode 100644
index 0000000..0f7e92e
--- /dev/null
+++ b/doc/html/qsortedlist-h.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsortedlist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsortedlist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsortedlist.h</h1>
+
+<p>This is the verbatim text of the qsortedlist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsortedlist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSortedList template/macro class
+**
+** Created : 920701
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSORTEDLIST_H
+#define QSORTEDLIST_H
+
+#ifndef QT_H
+#include "qptrlist.h"
+#endif // QT_H
+
+
+template&lt;class type&gt;
+class QSortedList : public QPtrList&lt;type&gt;
+{
+public:
+ QSortedList() {}
+ QSortedList( const QSortedList&lt;type&gt; &amp;l ) : QPtrList&lt;type&gt;(l) {}
+ ~QSortedList() { this-&gt;clear(); }
+ QSortedList&lt;type&gt; &amp;operator=(const QSortedList&lt;type&gt; &amp;l)
+ { return (QSortedList&lt;type&gt;&amp;)QPtrList&lt;type&gt;::operator=(l); }
+
+ virtual int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 )
+ { if ( *((type*)s1) == *((type*)s2) ) return 0; return ( *((type*)s1) &lt; *((type*)s2) ? -1 : 1 ); }
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsortedlist-members.html b/doc/html/qsortedlist-members.html
new file mode 100644
index 0000000..a629550
--- /dev/null
+++ b/doc/html/qsortedlist-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsortedlist.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSortedList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSortedList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsortedlist.html">QSortedList</a>, including inherited members.
+
+<ul>
+<li><a href="qsortedlist.html#QSortedList">QSortedList</a>()
+<li><a href="qsortedlist.html#~QSortedList">~QSortedList</a>()
+<li><a href="qptrlist.html#append">append</a>()
+<li><a href="qptrlist.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrlist.html#clear">clear</a>()
+<li><a href="qptrlist.html#compareItems">compareItems</a>()
+<li><a href="qptrlist.html#contains">contains</a>()
+<li><a href="qptrlist.html#containsRef">containsRef</a>()
+<li><a href="qptrlist.html#count">count</a>()
+<li><a href="qptrlist.html#current">current</a>()
+<li><a href="qptrlist.html#currentNode">currentNode</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrlist.html#find">find</a>()
+<li><a href="qptrlist.html#findNext">findNext</a>()
+<li><a href="qptrlist.html#findNextRef">findNextRef</a>()
+<li><a href="qptrlist.html#findRef">findRef</a>()
+<li><a href="qptrlist.html#first">first</a>()
+<li><a href="qptrlist.html#getFirst">getFirst</a>()
+<li><a href="qptrlist.html#getLast">getLast</a>()
+<li><a href="qptrlist.html#inSort">inSort</a>()
+<li><a href="qptrlist.html#insert">insert</a>()
+<li><a href="qptrlist.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlist.html#last">last</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrlist.html#next">next</a>()
+<li><a href="qptrlist.html#operator!-eq">operator!=</a>()
+<li><a href="qsortedlist.html#operator-eq">operator=</a>()
+<li><a href="qptrlist.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrlist.html#prepend">prepend</a>()
+<li><a href="qptrlist.html#prev">prev</a>()
+<li><a href="qptrlist.html#read">read</a>()
+<li><a href="qptrlist.html#remove">remove</a>()
+<li><a href="qptrlist.html#removeFirst">removeFirst</a>()
+<li><a href="qptrlist.html#removeLast">removeLast</a>()
+<li><a href="qptrlist.html#removeNode">removeNode</a>()
+<li><a href="qptrlist.html#removeRef">removeRef</a>()
+<li><a href="qptrlist.html#replace">replace</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrlist.html#sort">sort</a>()
+<li><a href="qptrlist.html#take">take</a>()
+<li><a href="qptrlist.html#takeNode">takeNode</a>()
+<li><a href="qptrlist.html#toVector">toVector</a>()
+<li><a href="qptrlist.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsortedlist.html b/doc/html/qsortedlist.html
new file mode 100644
index 0000000..67451e3
--- /dev/null
+++ b/doc/html/qsortedlist.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qsortedlist.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSortedList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSortedList Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QSortedList class provides a list sorted by operator< and operator==.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsortedlist-h.html">qsortedlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrlist.html">QPtrList</a>&lt;type&gt;.
+<p><a href="qsortedlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSortedList"><b>QSortedList</b></a> ()</li>
+<li class=fn><a href="#QSortedList-2"><b>QSortedList</b></a> ( const&nbsp;QSortedList&lt;type&gt;&nbsp;&amp;&nbsp;list )</li>
+<li class=fn><a href="#~QSortedList"><b>~QSortedList</b></a> ()</li>
+<li class=fn>QSortedList&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSortedList&lt;type&gt;&nbsp;&amp;&nbsp;list )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSortedList class provides a list sorted by operator< and operator==.
+<p> <b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> If you want to sort a <a href="qptrlist.html">QPtrList</a> you have to reimplement the
+QGList::compareItems() method. If the elements of your list support
+<a href="qcstring.html#operator-lt-2">operator&lt;</a>() and <a href="qptrlist.html#operator-eq-eq">operator==</a>(), you can use QSortedList instead.
+Its <a href="qptrlist.html#compareItems">compareItems</a>() calls operator<() and operator==() and returns an
+appropriate result.
+<p> Otherwise, this is as QPtrList.
+<p> <p>See also <a href="qptrlist.html">QPtrList</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSortedList"></a>QSortedList::QSortedList ()
+</h3>
+
+Constructs an empty list.
+
+<h3 class=fn><a name="QSortedList-2"></a>QSortedList::QSortedList ( const&nbsp;<a href="qsortedlist.html">QSortedList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list )
+</h3>
+
+Constructs a copy of <em>list</em>.
+<p> Each item in <em>list</em> is copied to this new list.
+
+<h3 class=fn><a name="~QSortedList"></a>QSortedList::~QSortedList ()
+</h3>
+
+Removes all items from the list and destroys the list.
+<p> All list iterators that access this list will be reset.
+
+<h3 class=fn><a href="qsortedlist.html">QSortedList</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QSortedList::operator= ( const&nbsp;<a href="qsortedlist.html">QSortedList</a>&lt;type&gt;&nbsp;&amp;&nbsp;list )
+</h3>
+
+Assigns <em>list</em> to this list and returns a reference to this list.
+<p> This list is first cleared; each item in <em>list</em> is then
+appended to this list. Only the pointers are copied
+(shallow copy) unless <a href="qptrcollection.html#newItem">newItem</a>() has been reimplemented().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsound-h.html b/doc/html/qsound-h.html
new file mode 100644
index 0000000..e121562
--- /dev/null
+++ b/doc/html/qsound-h.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsound.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsound.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsound.h</h1>
+
+<p>This is the verbatim text of the qsound.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsound.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QSound class and QAuServer internal class
+**
+** Created : 000117
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+#ifndef QSOUND_H
+#define QSOUND_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_SOUND
+
+class QSoundData;
+
+class Q_EXPORT QSound : public QObject {
+ Q_OBJECT
+public:
+ static bool isAvailable();
+ static void play(const QString&amp; filename);
+
+ QSound(const QString&amp; filename, QObject* parent=0, const char* name=0);
+ ~QSound();
+
+ /* Coming soon...
+ ?
+ QSound(int hertz, Type type=Mono);
+ int play(const ushort* data, int samples);
+ bool full();
+ signal void notFull();
+ ?
+ */
+
+#ifndef QT_NO_COMPAT
+ static bool available() { return isAvailable(); }
+#endif
+
+ int loops() const;
+ int loopsRemaining() const;
+ void setLoops(int);
+ QString fileName() const;
+
+ bool isFinished() const;
+
+public slots:
+ void play();
+ void stop();
+
+private:
+ QSoundData* d;
+ friend class QAuServer;
+};
+
+
+/*
+ QAuServer is an INTERNAL class. If you wish to provide support for
+ additional audio servers, you can make a subclass of QAuServer to do
+ so, HOWEVER, your class may need to be re-engineered to some degree
+ with each new Qt release, including minor releases.
+
+ QAuBucket is whatever you want.
+*/
+
+class QAuBucket {
+public:
+ virtual ~QAuBucket();
+};
+
+class QAuServer : public QObject {
+ Q_OBJECT
+
+public:
+ QAuServer(QObject* parent, const char* name);
+ ~QAuServer();
+
+ virtual void init(QSound*);
+ virtual void play(const QString&amp; filename);
+ virtual void play(QSound*)=0;
+ virtual void stop(QSound*)=0;
+ virtual bool okay()=0;
+
+protected:
+ void setBucket(QSound*, QAuBucket*);
+ QAuBucket* bucket(QSound*);
+ int decLoop(QSound*);
+};
+
+#endif // QT_NO_SOUND
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsound-members.html b/doc/html/qsound-members.html
new file mode 100644
index 0000000..66200fe
--- /dev/null
+++ b/doc/html/qsound-members.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsound.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSound Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSound</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsound.html">QSound</a>, including inherited members.
+
+<ul>
+<li><a href="qsound.html#QSound">QSound</a>()
+<li><a href="qsound.html#~QSound">~QSound</a>()
+<li><a href="qsound.html#available">available</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qsound.html#fileName">fileName</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsound.html#isAvailable">isAvailable</a>()
+<li><a href="qsound.html#isFinished">isFinished</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qsound.html#loops">loops</a>()
+<li><a href="qsound.html#loopsRemaining">loopsRemaining</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qsound.html#play">play</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsound.html#setLoops">setLoops</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qsound.html#stop">stop</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsound.html b/doc/html/qsound.html
new file mode 100644
index 0000000..fa9c58a
--- /dev/null
+++ b/doc/html/qsound.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qsound.cpp:97 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSound Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSound Class Reference</h1>
+
+<p>The QSound class provides access to the platform audio facilities.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsound-h.html">qsound.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsound-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSound"><b>QSound</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSound"><b>~QSound</b></a> ()</li>
+<li class=fn>int <a href="#loops"><b>loops</b></a> () const</li>
+<li class=fn>int <a href="#loopsRemaining"><b>loopsRemaining</b></a> () const</li>
+<li class=fn>void <a href="#setLoops"><b>setLoops</b></a> ( int&nbsp;l )</li>
+<li class=fn>QString <a href="#fileName"><b>fileName</b></a> () const</li>
+<li class=fn>bool <a href="#isFinished"><b>isFinished</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#play-2"><b>play</b></a> ()</li>
+<li class=fn>void <a href="#stop"><b>stop</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#isAvailable"><b>isAvailable</b></a> ()</li>
+<li class=fn>void <a href="#play"><b>play</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>bool <a href="#available"><b>available</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSound class provides access to the platform audio facilities.
+<p>
+
+<p> Qt provides the most commonly required audio operation in GUI
+applications: asynchronously playing a sound file. This is most
+easily accomplished with a single call:
+<pre>
+ QSound::<a href="#play">play</a>("mysounds/bells.wav");
+ </pre>
+
+<p> A second API is provided in which a QSound object is created from
+a sound file and is played later:
+<pre>
+ QSound bells("mysounds/bells.wav");
+
+ bells.<a href="#play">play</a>();
+ </pre>
+
+<p> Sounds played using the second model may use more memory but play
+more immediately than sounds played using the first model,
+depending on the underlying platform audio facilities.
+<p> On Microsoft Windows the underlying multimedia system is used;
+only WAVE format sound files are supported.
+<p> On X11 the <a href="ftp://ftp.x.org/contrib/audio/nas/">Network Audio
+ System</a> is used if available, otherwise all operations work
+silently. NAS supports WAVE and AU files.
+<p> On Macintosh, ironically, we use QT (<a href="http://quicktime.apple.com">QuickTime</a>) for sound, this
+means all QuickTime formats are supported by Qt/Mac.
+<p> On Qt/Embedded, a built-in mixing sound server is used, which
+accesses <tt>/dev/dsp</tt> directly. Only the WAVE format is supported.
+<p> The availability of sound can be tested with
+<a href="#isAvailable">QSound::isAvailable</a>().
+<p>See also <a href="multimedia.html">Multimedia Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSound"></a>QSound::QSound ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QSound that can quickly play the sound in a file
+named <em>filename</em>.
+<p> This may use more memory than the static <tt>play</tt> function.
+<p> The <em>parent</em> and <em>name</em> arguments (default 0) are passed on to
+the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="~QSound"></a>QSound::~QSound ()
+</h3>
+Destroys the sound object. If the sound is not finished playing <a href="#stop">stop</a>() is called on it.
+<p> <p>See also <a href="#stop">stop</a>() and <a href="#isFinished">isFinished</a>().
+
+<h3 class=fn>bool <a name="available"></a>QSound::available ()<tt> [static]</tt>
+</h3>
+
+<p> Returns TRUE if sound support is available; otherwise returns FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fileName"></a>QSound::fileName () const
+</h3>
+Returns the filename associated with the sound.
+
+<h3 class=fn>bool <a name="isAvailable"></a>QSound::isAvailable ()<tt> [static]</tt>
+</h3>
+Returns TRUE if sound facilities exist on the platform; otherwise
+returns FALSE. An application may choose either to notify the user
+if sound is crucial to the application or to operate silently
+without bothering the user.
+<p> If no sound is available, all QSound operations work silently and
+quickly.
+
+<h3 class=fn>bool <a name="isFinished"></a>QSound::isFinished () const
+</h3>
+Returns TRUE if the sound has finished playing; otherwise returns FALSE.
+<p> <b>Warning:</b> On Windows this function always returns TRUE for unlooped sounds.
+
+<h3 class=fn>int <a name="loops"></a>QSound::loops () const
+</h3>
+Returns the number of times the sound will play.
+
+<h3 class=fn>int <a name="loopsRemaining"></a>QSound::loopsRemaining () const
+</h3>
+Returns the number of times the sound will loop. This value
+decreases each time the sound loops.
+
+<h3 class=fn>void <a name="play"></a>QSound::play ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )<tt> [static]</tt>
+</h3>
+Plays the sound in a file called <em>filename</em>.
+
+<p>Example: <a href="sound-example.html#x2813">sound/sound.cpp</a>.
+<h3 class=fn>void <a name="play-2"></a>QSound::play ()<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Starts the sound playing. The function returns immediately.
+Depending on the platform audio facilities, other sounds may stop
+or may be mixed with the new sound.
+<p> The sound can be played again at any time, possibly mixing or
+replacing previous plays of the sound.
+
+<h3 class=fn>void <a name="setLoops"></a>QSound::setLoops ( int&nbsp;l )
+</h3>
+Sets the sound to repeat <em>l</em> times when it is played. Passing the
+value -1 will cause the sound to loop indefinitely.
+<p> <p>See also <a href="#loops">loops</a>().
+
+<h3 class=fn>void <a name="stop"></a>QSound::stop ()<tt> [slot]</tt>
+</h3>
+Stops the sound playing.
+<p> On Windows the current loop will finish if a sound is played
+in a loop.
+<p> <p>See also <a href="#play">play</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qspaceritem-members.html b/doc/html/qspaceritem-members.html
new file mode 100644
index 0000000..b4c7ca7
--- /dev/null
+++ b/doc/html/qspaceritem-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:130 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSpacerItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSpacerItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qspaceritem.html">QSpacerItem</a>, including inherited members.
+
+<ul>
+<li><a href="qspaceritem.html#QSpacerItem">QSpacerItem</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qspaceritem.html#changeSize">changeSize</a>()
+<li><a href="qspaceritem.html#expanding">expanding</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qlayoutitem.html#heightForWidth">heightForWidth</a>()
+<li><a href="qlayoutitem.html#invalidate">invalidate</a>()
+<li><a href="qspaceritem.html#isEmpty">isEmpty</a>()
+<li><a href="qlayoutitem.html#iterator">iterator</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qspaceritem.html#maximumSize">maximumSize</a>()
+<li><a href="qspaceritem.html#minimumSize">minimumSize</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qspaceritem.html#setGeometry">setGeometry</a>()
+<li><a href="qspaceritem.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qspaceritem.html b/doc/html/qspaceritem.html
new file mode 100644
index 0000000..9700efe
--- /dev/null
+++ b/doc/html/qspaceritem.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:81 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSpacerItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSpacerItem Class Reference</h1>
+
+<p>The QSpacerItem class provides blank space in a layout.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qlayoutitem.html">QLayoutItem</a>.
+<p><a href="qspaceritem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSpacerItem"><b>QSpacerItem</b></a> ( int&nbsp;w, int&nbsp;h, QSizePolicy::SizeType&nbsp;hData = QSizePolicy::Minimum, QSizePolicy::SizeType&nbsp;vData = QSizePolicy::Minimum )</li>
+<li class=fn>void <a href="#changeSize"><b>changeSize</b></a> ( int&nbsp;w, int&nbsp;h, QSizePolicy::SizeType&nbsp;hData = QSizePolicy::Minimum, QSizePolicy::SizeType&nbsp;vData = QSizePolicy::Minimum )</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QSpacerItem class provides blank space in a layout.
+<p> This class is used by custom layouts.
+<p> <p>See also <a href="qlayout.html">QLayout</a>, <a href="qlayoutitem.html#spacerItem">QLayout::spacerItem</a>(), <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSpacerItem"></a>QSpacerItem::QSpacerItem ( int&nbsp;w, int&nbsp;h, <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;hData = QSizePolicy::Minimum, <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;vData = QSizePolicy::Minimum )
+</h3>
+
+<p> Constructs a spacer item with preferred width <em>w</em>, preferred
+height <em>h</em>, horizontal size policy <em>hData</em> and vertical size
+policy <em>vData</em>.
+<p> The default values provide a gap that is able to stretch if
+nothing else wants the space.
+
+<h3 class=fn>void <a name="changeSize"></a>QSpacerItem::changeSize ( int&nbsp;w, int&nbsp;h, <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;hData = QSizePolicy::Minimum, <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;vData = QSizePolicy::Minimum )
+</h3>
+Changes this spacer item to have preferred width <em>w</em>, preferred
+height <em>h</em>, horizontal size policy <em>hData</em> and vertical size
+policy <em>vData</em>.
+<p> The default values provide a gap that is able to stretch if
+nothing else wants the space.
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QSpacerItem::expanding () const<tt> [virtual]</tt>
+</h3>
+Returns the direction in which this spacer item will expand.
+<p> <p>See also <a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a>.
+
+<p>Reimplemented from <a href="qlayoutitem.html#expanding">QLayoutItem</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QSpacerItem::isEmpty () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE because a spacer item never contains widgets.
+
+<p>Reimplemented from <a href="qlayoutitem.html#isEmpty">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QSpacerItem::maximumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the maximum size of this spacer item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#maximumSize">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QSpacerItem::minimumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the minimum size of this spacer item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#minimumSize">QLayoutItem</a>.
+<h3 class=fn>void <a name="setGeometry"></a>QSpacerItem::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Stores the spacer item's rect <em>r</em> so that it can be returned by
+<a href="qlayoutitem.html#geometry">geometry</a>().
+
+<p>Reimplemented from <a href="qlayoutitem.html#setGeometry">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QSpacerItem::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns the preferred size of this spacer item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#sizeHint">QLayoutItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qspinbox-h.html b/doc/html/qspinbox-h.html
new file mode 100644
index 0000000..b9de3f1
--- /dev/null
+++ b/doc/html/qspinbox-h.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qspinbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qspinbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qspinbox.h</h1>
+
+<p>This is the verbatim text of the qspinbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qspinbox.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QSpinBox widget class
+**
+** Created : 970101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSPINBOX_H
+#define QSPINBOX_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#endif // QT_H
+
+#ifndef QT_NO_SPINBOX
+
+class QLineEdit;
+class QValidator;
+class QSpinBoxPrivate;
+
+class Q_EXPORT QSpinBox: public QWidget, public QRangeControl
+{
+ Q_OBJECT
+ Q_ENUMS( ButtonSymbols )
+ Q_PROPERTY( QString text READ text )
+ Q_PROPERTY( QString prefix READ prefix WRITE setPrefix )
+ Q_PROPERTY( QString suffix READ suffix WRITE setSuffix )
+ Q_PROPERTY( QString cleanText READ cleanText )
+ Q_PROPERTY( QString specialValueText READ specialValueText WRITE setSpecialValueText )
+ Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
+ Q_PROPERTY( ButtonSymbols buttonSymbols READ buttonSymbols WRITE setButtonSymbols )
+ Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
+ Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
+ Q_PROPERTY( int lineStep READ lineStep WRITE setLineStep )
+ Q_PROPERTY( int value READ value WRITE setValue )
+
+public:
+ QSpinBox( QWidget* parent=0, const char* name=0 );
+ QSpinBox( int minValue, int maxValue, int step = 1,
+ QWidget* parent=0, const char* name=0 );
+ ~QSpinBox();
+
+ QString text() const;
+
+ virtual QString prefix() const;
+ virtual QString suffix() const;
+ virtual QString cleanText() const;
+
+ virtual void setSpecialValueText( const QString &amp;text );
+ QString specialValueText() const;
+
+ virtual void setWrapping( bool on );
+ bool wrapping() const;
+
+ enum ButtonSymbols { UpDownArrows, PlusMinus };
+ virtual void setButtonSymbols( ButtonSymbols );
+ ButtonSymbols buttonSymbols() const;
+
+ virtual void setValidator( const QValidator* v );
+ const QValidator * validator() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue( int );
+ void setMaxValue( int );
+ int lineStep() const;
+ void setLineStep( int );
+ int value() const;
+
+ QRect upRect() const;
+ QRect downRect() const;
+
+public slots:
+ virtual void setValue( int value );
+ virtual void setPrefix( const QString &amp;text );
+ virtual void setSuffix( const QString &amp;text );
+ virtual void stepUp();
+ virtual void stepDown();
+ virtual void setEnabled( bool enabled );
+ virtual void selectAll();
+
+signals:
+ void valueChanged( int value );
+ void valueChanged( const QString &amp;valueText );
+
+protected:
+ virtual QString mapValueToText( int value );
+ virtual int mapTextToValue( bool* ok );
+ QString currentValueText();
+
+ virtual void updateDisplay();
+ virtual void interpretText();
+
+ QLineEdit* editor() const;
+
+ virtual void valueChange();
+ virtual void rangeChange();
+
+ bool eventFilter( QObject* obj, QEvent* ev );
+ void resizeEvent( QResizeEvent* ev );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent * );
+#endif
+ void leaveEvent( QEvent* );
+
+ void styleChange( QStyle&amp; );
+
+protected slots:
+ void textChanged();
+
+private:
+ void initSpinBox();
+ QSpinBoxPrivate* d;
+ QLineEdit* vi;
+ QValidator* validate;
+ QString pfix;
+ QString sfix;
+ QString specText;
+
+ uint wrap : 1;
+ uint edited : 1;
+
+ void arrangeWidgets();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSpinBox( const QSpinBox&amp; );
+ QSpinBox&amp; operator=( const QSpinBox&amp; );
+#endif
+
+};
+
+#endif // QT_NO_SPINBOX
+
+#endif // QSPINBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qspinbox-m.png b/doc/html/qspinbox-m.png
new file mode 100644
index 0000000..ed193e7
--- /dev/null
+++ b/doc/html/qspinbox-m.png
Binary files differ
diff --git a/doc/html/qspinbox-members.html b/doc/html/qspinbox-members.html
new file mode 100644
index 0000000..9783c68
--- /dev/null
+++ b/doc/html/qspinbox-members.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qspinbox.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSpinBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSpinBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qspinbox.html">QSpinBox</a>, including inherited members.
+
+<ul>
+<li><a href="qspinbox.html#QSpinBox">QSpinBox</a>()
+<li><a href="qspinbox.html#~QSpinBox">~QSpinBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qrangecontrol.html#addLine">addLine</a>()
+<li><a href="qrangecontrol.html#addPage">addPage</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qrangecontrol.html#bound">bound</a>()
+<li><a href="qspinbox.html#buttonSymbols">buttonSymbols</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qspinbox.html#cleanText">cleanText</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qspinbox.html#currentValueText">currentValueText</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qrangecontrol.html#directSetValue">directSetValue</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qspinbox.html#downRect">downRect</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qspinbox.html#editor">editor</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qspinbox.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qspinbox.html#interpretText">interpretText</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qspinbox.html#lineStep">lineStep</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qspinbox.html#mapTextToValue">mapTextToValue</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qspinbox.html#mapValueToText">mapValueToText</a>()
+<li><a href="qspinbox.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qspinbox.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qrangecontrol.html#pageStep">pageStep</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qrangecontrol.html#positionFromValue">positionFromValue</a>()
+<li><a href="qspinbox.html#prefix">prefix</a>()
+<li><a href="qrangecontrol.html#prevValue">prevValue</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qspinbox.html#rangeChange">rangeChange</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qspinbox.html#selectAll">selectAll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qspinbox.html#setButtonSymbols">setButtonSymbols</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qspinbox.html#setLineStep">setLineStep</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qspinbox.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qspinbox.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qspinbox.html#setPrefix">setPrefix</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qrangecontrol.html#setRange">setRange</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qspinbox.html#setSpecialValueText">setSpecialValueText</a>()
+<li><a href="qrangecontrol.html#setSteps">setSteps</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qspinbox.html#setSuffix">setSuffix</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qspinbox.html#setValidator">setValidator</a>()
+<li><a href="qspinbox.html#setValue">setValue</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qspinbox.html#setWrapping">setWrapping</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qspinbox.html#specialValueText">specialValueText</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qrangecontrol.html#stepChange">stepChange</a>()
+<li><a href="qspinbox.html#stepDown">stepDown</a>()
+<li><a href="qspinbox.html#stepUp">stepUp</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qrangecontrol.html#subtractLine">subtractLine</a>()
+<li><a href="qrangecontrol.html#subtractPage">subtractPage</a>()
+<li><a href="qspinbox.html#suffix">suffix</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qspinbox.html#text">text</a>()
+<li><a href="qspinbox.html#textChanged">textChanged</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qspinbox.html#upRect">upRect</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qspinbox.html#updateDisplay">updateDisplay</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qspinbox.html#validator">validator</a>()
+<li><a href="qspinbox.html#value">value</a>()
+<li><a href="qspinbox.html#valueChange">valueChange</a>()
+<li><a href="qspinbox.html#valueChanged">valueChanged</a>()
+<li><a href="qrangecontrol.html#valueFromPosition">valueFromPosition</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qspinbox.html#wrapping">wrapping</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qspinbox-w.png b/doc/html/qspinbox-w.png
new file mode 100644
index 0000000..46cbb93
--- /dev/null
+++ b/doc/html/qspinbox-w.png
Binary files differ
diff --git a/doc/html/qspinbox.html b/doc/html/qspinbox.html
new file mode 100644
index 0000000..64a8094
--- /dev/null
+++ b/doc/html/qspinbox.html
@@ -0,0 +1,561 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qspinbox.cpp:129 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSpinBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSpinBox Class Reference</h1>
+
+<p>The QSpinBox class provides a spin box widget (spin button).
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qrangecontrol.html">QRangeControl</a>.
+<p><a href="qspinbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSpinBox"><b>QSpinBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QSpinBox-2"><b>QSpinBox</b></a> ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;step = 1, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSpinBox"><b>~QSpinBox</b></a> ()</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual QString <a href="#prefix"><b>prefix</b></a> () const</li>
+<li class=fn>virtual QString <a href="#suffix"><b>suffix</b></a> () const</li>
+<li class=fn>virtual QString <a href="#cleanText"><b>cleanText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSpecialValueText"><b>setSpecialValueText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#specialValueText"><b>specialValueText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWrapping"><b>setWrapping</b></a> ( bool&nbsp;on )</li>
+<li class=fn>bool <a href="#wrapping"><b>wrapping</b></a> () const</li>
+<li class=fn>enum <a href="#ButtonSymbols-enum"><b>ButtonSymbols</b></a> { UpDownArrows, PlusMinus }</li>
+<li class=fn>virtual void <a href="#setButtonSymbols"><b>setButtonSymbols</b></a> ( ButtonSymbols )</li>
+<li class=fn>ButtonSymbols <a href="#buttonSymbols"><b>buttonSymbols</b></a> () const</li>
+<li class=fn>virtual void <a href="#setValidator"><b>setValidator</b></a> ( const&nbsp;QValidator&nbsp;*&nbsp;v )</li>
+<li class=fn>const QValidator * <a href="#validator"><b>validator</b></a> () const</li>
+<li class=fn>int <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int )</li>
+<li class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int )</li>
+<li class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</li>
+<li class=fn>void <a href="#setLineStep"><b>setLineStep</b></a> ( int )</li>
+<li class=fn>int <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>QRect <a href="#upRect"><b>upRect</b></a> () const</li>
+<li class=fn>QRect <a href="#downRect"><b>downRect</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( int&nbsp;value )</li>
+<li class=fn>virtual void <a href="#setPrefix"><b>setPrefix</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#setSuffix"><b>setSuffix</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#stepUp"><b>stepUp</b></a> ()</li>
+<li class=fn>virtual void <a href="#stepDown"><b>stepDown</b></a> ()</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int&nbsp;value )</li>
+<li class=fn>void <a href="#valueChanged-2"><b>valueChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;valueText )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>ButtonSymbols <a href="#buttonSymbols-prop"><b>buttonSymbols</b></a>&nbsp;- the current button symbol mode</li>
+<li class=fn>QString <a href="#cleanText-prop"><b>cleanText</b></a>&nbsp;- the spin box's text with no prefix(), suffix() or leading or trailing whitespace &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#lineStep-prop"><b>lineStep</b></a>&nbsp;- the line step</li>
+<li class=fn>int <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the maximum value of the spin box</li>
+<li class=fn>int <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the minimum value of the spin box</li>
+<li class=fn>QString <a href="#prefix-prop"><b>prefix</b></a>&nbsp;- the spin box's prefix</li>
+<li class=fn>QString <a href="#specialValueText-prop"><b>specialValueText</b></a>&nbsp;- the special-value text</li>
+<li class=fn>QString <a href="#suffix-prop"><b>suffix</b></a>&nbsp;- the suffix of the spin box</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the spin box's text, including any prefix() and suffix() &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#value-prop"><b>value</b></a>&nbsp;- the value of the spin box</li>
+<li class=fn>bool <a href="#wrapping-prop"><b>wrapping</b></a>&nbsp;- whether it is possible to step the value from the highest value to the lowest value and vice versa</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QString <a href="#mapValueToText"><b>mapValueToText</b></a> ( int&nbsp;v )</li>
+<li class=fn>virtual int <a href="#mapTextToValue"><b>mapTextToValue</b></a> ( bool&nbsp;*&nbsp;ok )</li>
+<li class=fn>QString <a href="#currentValueText"><b>currentValueText</b></a> ()</li>
+<li class=fn>virtual void <a href="#updateDisplay"><b>updateDisplay</b></a> ()</li>
+<li class=fn>virtual void <a href="#interpretText"><b>interpretText</b></a> ()</li>
+<li class=fn>QLineEdit * <a href="#editor"><b>editor</b></a> () const</li>
+<li class=fn>virtual void <a href="#valueChange"><b>valueChange</b></a> ()</li>
+<li class=fn>virtual void <a href="#rangeChange"><b>rangeChange</b></a> ()</li>
+<li class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( QObject&nbsp;*&nbsp;o, QEvent&nbsp;*&nbsp;ev )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>void <a href="#textChanged"><b>textChanged</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSpinBox class provides a spin box widget (spin button).
+<p>
+
+<p> QSpinBox allows the user to choose a value either by clicking the
+up/down buttons to increase/decrease the value currently displayed
+or by typing the value directly into the spin box. If the value is
+entered directly into the spin box, Enter (or Return) must be
+pressed to apply the new value. The value is usually an integer.
+<p> Every time the value changes QSpinBox emits the <a href="#valueChanged">valueChanged</a>()
+signal. The current value can be fetched with <a href="#value">value</a>() and set
+with <a href="#setValue">setValue</a>().
+<p> The spin box keeps the value within a numeric range, and to
+multiples of the <a href="#lineStep">lineStep</a>() size (see <a href="qrangecontrol.html">QRangeControl</a> for details).
+Clicking the up/down buttons or using the keyboard accelerator's
+up and down arrows will increase or decrease the current value in
+steps of size lineStep(). The minimum and maximum value and the
+step size can be set using one of the constructors, and can be
+changed later with <a href="#setMinValue">setMinValue</a>(), <a href="#setMaxValue">setMaxValue</a>() and <a href="#setLineStep">setLineStep</a>().
+<p> Most spin boxes are directional, but QSpinBox can also operate as
+a circular spin box, i.e. if the range is 0-99 and the current
+value is 99, clicking "up" will give 0. Use <a href="#setWrapping">setWrapping</a>() if you
+want circular behavior.
+<p> The displayed value can be prepended and appended with arbitrary
+strings indicating, for example, currency or the unit of
+measurement. See <a href="#setPrefix">setPrefix</a>() and <a href="#setSuffix">setSuffix</a>(). The text in the spin
+box is retrieved with <a href="#text">text</a>() (which includes any <a href="#prefix">prefix</a>() and
+<a href="#suffix">suffix</a>()), or with <a href="#cleanText">cleanText</a>() (which has no prefix(), no suffix()
+and no leading or trailing whitespace). <a href="#currentValueText">currentValueText</a>() returns
+the spin box's current value as text.
+<p> Normally the spin box displays up and down arrows in the buttons.
+You can use <a href="#setButtonSymbols">setButtonSymbols</a>() to change the display to show
+<b>+</b> and <b>-</b> symbols if you prefer. In either case the up
+and down arrow keys work as expected.
+<p> It is often desirable to give the user a special (often default)
+choice in addition to the range of numeric values. See
+<a href="#setSpecialValueText">setSpecialValueText</a>() for how to do this with QSpinBox.
+<p> The default <a href="qwidget.html#focusPolicy">QWidget::focusPolicy</a>() is StrongFocus.
+<p> If using prefix(), suffix() and <a href="#specialValueText">specialValueText</a>() don't provide
+enough control, you can ignore them and subclass QSpinBox instead.
+<p> QSpinBox can easily be subclassed to allow the user to input
+things other than an integer value as long as the allowed input
+can be mapped to a range of integers. This can be done by
+overriding the virtual functions <a href="#mapValueToText">mapValueToText</a>() and
+<a href="#mapTextToValue">mapTextToValue</a>(), and setting another suitable validator using
+<a href="#setValidator">setValidator</a>().
+<p> For example, these functions could be changed so that the user
+provided values from 0.0 to 10.0, or -1 to signify 'Auto', while
+the range of integers used inside the program would be -1 to 100:
+<p> <pre>
+ class MySpinBox : public QSpinBox
+ {
+ Q_OBJECT
+ public:
+ ...
+
+ <a href="qstring.html">QString</a> mapValueToText( int value )
+ {
+ if ( <a href="#value-prop">value</a> == -1 ) // special case
+ return QString( "Auto" );
+
+ return QString( "%1.%2" ) // 0.0 to 10.0
+ .arg( value / 10 ).arg( value % 10 );
+ }
+
+ int mapTextToValue( bool *ok )
+ {
+ if ( <a href="#text">text</a>() == "Auto" ) // special case
+ return -1;
+
+ return (int) ( 10 * text().toFloat() ); // 0 to 100
+ }
+ };
+ </pre>
+
+<p> <img src=qspinbox-m.png> <img src=qspinbox-w.png>
+<p> <p>See also <a href="qscrollbar.html">QScrollBar</a>, <a href="qslider.html">QSlider</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Spin Box</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ButtonSymbols-enum"></a>QSpinBox::ButtonSymbols</h3>
+
+<p> This enum type determines what the buttons in a spin box show.
+<ul>
+<li><tt>QSpinBox::UpDownArrows</tt> - the buttons show little arrows in the classic
+style.
+<li><tt>QSpinBox::PlusMinus</tt> - the buttons show <b>+</b> and <b>-</b> symbols.
+</ul><p> <p>See also <a href="#buttonSymbols-prop">QSpinBox::buttonSymbols</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSpinBox"></a>QSpinBox::QSpinBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a spin box with the default <a href="qrangecontrol.html">QRangeControl</a> range and
+step values. It is called <em>name</em> and has parent <em>parent</em>.
+<p> <p>See also <a href="#minValue-prop">minValue</a>, <a href="#maxValue-prop">maxValue</a>, <a href="qrangecontrol.html#setRange">setRange</a>(), <a href="#lineStep-prop">lineStep</a>, and <a href="qrangecontrol.html#setSteps">setSteps</a>().
+
+<h3 class=fn><a name="QSpinBox-2"></a>QSpinBox::QSpinBox ( int&nbsp;minValue, int&nbsp;maxValue, int&nbsp;step = 1, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a spin box that allows values from <em>minValue</em> to <em>maxValue</em> inclusive, with step amount <em>step</em>. The value is
+initially set to <em>minValue</em>.
+<p> The spin box is called <em>name</em> and has parent <em>parent</em>.
+<p> <p>See also <a href="#minValue-prop">minValue</a>, <a href="#maxValue-prop">maxValue</a>, <a href="qrangecontrol.html#setRange">setRange</a>(), <a href="#lineStep-prop">lineStep</a>, and <a href="qrangecontrol.html#setSteps">setSteps</a>().
+
+<h3 class=fn><a name="~QSpinBox"></a>QSpinBox::~QSpinBox ()
+</h3>
+Destroys the spin box, freeing all memory and other resources.
+
+<h3 class=fn><a href="qspinbox.html#ButtonSymbols-enum">ButtonSymbols</a> <a name="buttonSymbols"></a>QSpinBox::buttonSymbols () const
+</h3><p>Returns the current button symbol mode.
+See the <a href="qspinbox.html#buttonSymbols-prop">"buttonSymbols"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="cleanText"></a>QSpinBox::cleanText () const<tt> [virtual]</tt>
+</h3><p>Returns the spin box's text with no <a href="#prefix">prefix</a>(), <a href="#suffix">suffix</a>() or leading or trailing whitespace.
+See the <a href="qspinbox.html#cleanText-prop">"cleanText"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="currentValueText"></a>QSpinBox::currentValueText ()<tt> [protected]</tt>
+</h3>
+Returns the full text calculated from the current value, including
+any prefix and suffix. If there is special value text and the
+value is <a href="#minValue">minValue</a>() the <a href="#specialValueText">specialValueText</a>() is returned.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="downRect"></a>QSpinBox::downRect () const
+</h3>
+Returns the geometry of the "down" button.
+
+<h3 class=fn><a href="qlineedit.html">QLineEdit</a>&nbsp;* <a name="editor"></a>QSpinBox::editor () const<tt> [protected]</tt>
+</h3>
+Returns a pointer to the embedded <a href="qlineedit.html">QLineEdit</a>.
+
+<h3 class=fn>bool <a name="eventFilter"></a>QSpinBox::eventFilter ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;o, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;ev )<tt> [virtual protected]</tt>
+</h3>
+Intercepts and handles the events coming to the embedded <a href="qlineedit.html">QLineEdit</a>
+that have special meaning for the QSpinBox. The object is passed
+as <em>o</em> and the event is passed as <em>ev</em>.
+
+<p>Reimplemented from <a href="qobject.html#eventFilter">QObject</a>.
+<h3 class=fn>void <a name="interpretText"></a>QSpinBox::interpretText ()<tt> [virtual protected]</tt>
+</h3>
+QSpinBox calls this after the user has manually edited the
+contents of the spin box (i.e. by typing in the embedded
+<a href="qlineedit.html">QLineEdit</a>, rather than using the up/down buttons/keys).
+<p> The default implementation of this function interprets the new
+text using <a href="#mapTextToValue">mapTextToValue</a>(). If mapTextToValue() is successful, it
+changes the spin box's value; if not, the value is left unchanged.
+<p> <p>See also <a href="#editor">editor</a>().
+
+<h3 class=fn>int <a name="lineStep"></a>QSpinBox::lineStep () const
+</h3><p>Returns the line step.
+See the <a href="qspinbox.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>int <a name="mapTextToValue"></a>QSpinBox::mapTextToValue ( bool&nbsp;*&nbsp;ok )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is used by the spin box whenever it needs to
+interpret text entered by the user as a value. The text is
+available as <a href="#text">text</a>() and as <a href="#cleanText">cleanText</a>(), and this function must
+parse it if possible. If <em>ok</em> is not 0: if it parses the text
+successfully, <em>*ok</em> is set to TRUE; otherwise <em>*ok</em> is set to
+FALSE.
+<p> Subclasses that need to display spin box values in a non-numeric
+way need to reimplement this function.
+<p> Note that Qt handles <a href="#specialValueText">specialValueText</a>() separately; this function
+is only concerned with the other values.
+<p> The default implementation tries to interpret the text() as an
+integer in the standard way and returns the integer value.
+<p> <p>See also <a href="#interpretText">interpretText</a>() and <a href="#mapValueToText">mapValueToText</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="mapValueToText"></a>QSpinBox::mapValueToText ( int&nbsp;v )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is used by the spin box whenever it needs to
+display value <em>v</em>. The default implementation returns a string
+containing <em>v</em> printed in the standard way. Reimplementations may
+return anything. (See the example in the detailed description.)
+<p> Note that Qt does not call this function for <a href="#specialValueText">specialValueText</a>()
+and that neither <a href="#prefix">prefix</a>() nor <a href="#suffix">suffix</a>() are included in the return
+value.
+<p> If you reimplement this, you may also need to reimplement
+<a href="#mapTextToValue">mapTextToValue</a>().
+<p> <p>See also <a href="#updateDisplay">updateDisplay</a>() and <a href="#mapTextToValue">mapTextToValue</a>().
+
+<h3 class=fn>int <a name="maxValue"></a>QSpinBox::maxValue () const
+</h3><p>Returns the maximum value of the spin box.
+See the <a href="qspinbox.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>int <a name="minValue"></a>QSpinBox::minValue () const
+</h3><p>Returns the minimum value of the spin box.
+See the <a href="qspinbox.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="prefix"></a>QSpinBox::prefix () const<tt> [virtual]</tt>
+</h3><p>Returns the spin box's prefix.
+See the <a href="qspinbox.html#prefix-prop">"prefix"</a> property for details.
+<h3 class=fn>void <a name="rangeChange"></a>QSpinBox::rangeChange ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called by <a href="qrangecontrol.html">QRangeControl</a> whenever the
+range has changed. It adjusts the default validator and updates
+the display; if you need additional processing, you can
+reimplement this function.
+
+<p>Reimplemented from <a href="qrangecontrol.html#rangeChange">QRangeControl</a>.
+<h3 class=fn>void <a name="selectAll"></a>QSpinBox::selectAll ()<tt> [virtual slot]</tt>
+</h3>
+Selects all the text in the spin box's editor.
+
+<h3 class=fn>void <a name="setButtonSymbols"></a>QSpinBox::setButtonSymbols ( <a href="qspinbox.html#ButtonSymbols-enum">ButtonSymbols</a> )<tt> [virtual]</tt>
+</h3><p>Sets the current button symbol mode.
+See the <a href="qspinbox.html#buttonSymbols-prop">"buttonSymbols"</a> property for details.
+<h3 class=fn>void <a name="setLineStep"></a>QSpinBox::setLineStep ( int )
+</h3><p>Sets the line step.
+See the <a href="qspinbox.html#lineStep-prop">"lineStep"</a> property for details.
+<h3 class=fn>void <a name="setMaxValue"></a>QSpinBox::setMaxValue ( int )
+</h3><p>Sets the maximum value of the spin box.
+See the <a href="qspinbox.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QSpinBox::setMinValue ( int )
+</h3><p>Sets the minimum value of the spin box.
+See the <a href="qspinbox.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setPrefix"></a>QSpinBox::setPrefix ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual slot]</tt>
+</h3><p>Sets the spin box's prefix to <em>text</em>.
+See the <a href="qspinbox.html#prefix-prop">"prefix"</a> property for details.
+<h3 class=fn>void <a name="setSpecialValueText"></a>QSpinBox::setSpecialValueText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3><p>Sets the special-value text to <em>text</em>.
+See the <a href="qspinbox.html#specialValueText-prop">"specialValueText"</a> property for details.
+<h3 class=fn>void <a name="setSuffix"></a>QSpinBox::setSuffix ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual slot]</tt>
+</h3><p>Sets the suffix of the spin box to <em>text</em>.
+See the <a href="qspinbox.html#suffix-prop">"suffix"</a> property for details.
+<h3 class=fn>void <a name="setValidator"></a>QSpinBox::setValidator ( const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;*&nbsp;v )<tt> [virtual]</tt>
+</h3>
+Sets the validator to <em>v</em>. The validator controls what keyboard
+input is accepted when the user is editing in the value field. The
+default is to use a suitable <a href="qintvalidator.html">QIntValidator</a>.
+<p> Use <a href="#setValidator">setValidator</a>(0) to turn off input validation (entered input
+will still be kept within the spin box's range).
+
+<h3 class=fn>void <a name="setValue"></a>QSpinBox::setValue ( int&nbsp;value )<tt> [virtual slot]</tt>
+</h3><p>Sets the value of the spin box to <em>value</em>.
+See the <a href="qspinbox.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="setWrapping"></a>QSpinBox::setWrapping ( bool&nbsp;on )<tt> [virtual]</tt>
+</h3><p>Sets whether it is possible to step the value from the highest value to the lowest value and vice versa to <em>on</em>.
+See the <a href="qspinbox.html#wrapping-prop">"wrapping"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="specialValueText"></a>QSpinBox::specialValueText () const
+</h3><p>Returns the special-value text.
+See the <a href="qspinbox.html#specialValueText-prop">"specialValueText"</a> property for details.
+<h3 class=fn>void <a name="stepDown"></a>QSpinBox::stepDown ()<tt> [virtual slot]</tt>
+</h3>
+Decreases the spin box's value one <a href="#lineStep">lineStep</a>(), wrapping as
+necessary if <a href="#wrapping">wrapping</a>() is TRUE. This is the same as clicking on
+the pointing-down button and can be used for keyboard
+accelerators, for example.
+<p> <p>See also <a href="#stepUp">stepUp</a>(), <a href="qrangecontrol.html#subtractLine">subtractLine</a>(), <a href="#lineStep-prop">lineStep</a>, <a href="qrangecontrol.html#setSteps">setSteps</a>(), <a href="#value-prop">value</a>, and <a href="#value-prop">value</a>.
+
+<h3 class=fn>void <a name="stepUp"></a>QSpinBox::stepUp ()<tt> [virtual slot]</tt>
+</h3>
+Increases the spin box's value by one <a href="#lineStep">lineStep</a>(), wrapping as
+necessary if <a href="#wrapping">wrapping</a>() is TRUE. This is the same as clicking on
+the pointing-up button and can be used for keyboard accelerators,
+for example.
+<p> <p>See also <a href="#stepDown">stepDown</a>(), <a href="qrangecontrol.html#addLine">addLine</a>(), <a href="#lineStep-prop">lineStep</a>, <a href="qrangecontrol.html#setSteps">setSteps</a>(), <a href="#value-prop">value</a>, and <a href="#value-prop">value</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="suffix"></a>QSpinBox::suffix () const<tt> [virtual]</tt>
+</h3><p>Returns the suffix of the spin box.
+See the <a href="qspinbox.html#suffix-prop">"suffix"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QSpinBox::text () const
+</h3><p>Returns the spin box's text, including any <a href="#prefix">prefix</a>() and <a href="#suffix">suffix</a>().
+See the <a href="qspinbox.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="textChanged"></a>QSpinBox::textChanged ()<tt> [protected slot]</tt>
+</h3>
+This slot is called whenever the user edits the spin box's text.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="upRect"></a>QSpinBox::upRect () const
+</h3>
+Returns the geometry of the "up" button.
+
+<h3 class=fn>void <a name="updateDisplay"></a>QSpinBox::updateDisplay ()<tt> [virtual protected]</tt>
+</h3>
+Updates the contents of the embedded <a href="qlineedit.html">QLineEdit</a> to reflect the
+current value using <a href="#mapValueToText">mapValueToText</a>(). Also enables/disables the
+up/down push buttons accordingly.
+<p> <p>See also <a href="#mapValueToText">mapValueToText</a>().
+
+<h3 class=fn>const&nbsp;<a href="qvalidator.html">QValidator</a>&nbsp;* <a name="validator"></a>QSpinBox::validator () const
+</h3>
+Returns the validator that constrains editing for this spin box if
+there is any; otherwise returns 0.
+<p> <p>See also <a href="#setValidator">setValidator</a>() and <a href="qvalidator.html">QValidator</a>.
+
+<h3 class=fn>int <a name="value"></a>QSpinBox::value () const
+</h3><p>Returns the value of the spin box.
+See the <a href="qspinbox.html#value-prop">"value"</a> property for details.
+<h3 class=fn>void <a name="valueChange"></a>QSpinBox::valueChange ()<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called by <a href="qrangecontrol.html">QRangeControl</a> whenever the
+value has changed. The QSpinBox reimplementation updates the
+display and emits the <a href="#valueChanged">valueChanged</a>() signals; if you need
+additional processing, either reimplement this or connect to one
+of the valueChanged() signals.
+
+<p>Reimplemented from <a href="qrangecontrol.html#valueChange">QRangeControl</a>.
+<h3 class=fn>void <a name="valueChanged"></a>QSpinBox::valueChanged ( int&nbsp;value )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted every time the value of the spin box
+changes; the new value is passed in <em>value</em>. This signal will be
+emitted as a result of a call to <a href="#setValue">setValue</a>(), or because the user
+changed the value by using a keyboard accelerator or mouse click,
+etc.
+<p> Note that the <a href="#valueChanged">valueChanged</a>() signal is emitted <em>every</em> time, not
+just for the "last" step; i.e. if the user clicks "up" three
+times, this signal is emitted three times.
+<p> <p>See also <a href="#value-prop">value</a>.
+
+<p>Examples: <a href="listbox-example.html#x1445">listbox/listbox.cpp</a>, <a href="qfd-example.html#x2009">qfd/fontdisplayer.cpp</a>, and <a href="scribble-example.html#x939">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="valueChanged-2"></a>QSpinBox::valueChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;valueText )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted whenever the <a href="#valueChanged">valueChanged</a>( int ) signal is
+emitted, i.e. every time the value of the spin box changes
+(whatever the cause, e.g. by <a href="#setValue">setValue</a>(), by a keyboard
+accelerator, by mouse clicks, etc.).
+<p> The <em>valueText</em> parameter is the same string that is displayed in
+the edit field of the spin box.
+<p> <p>See also <a href="#value-prop">value</a>, <a href="#prefix-prop">prefix</a>, <a href="#suffix-prop">suffix</a>, and <a href="#specialValueText-prop">specialValueText</a>.
+
+<h3 class=fn>bool <a name="wrapping"></a>QSpinBox::wrapping () const
+</h3><p>Returns TRUE if it is possible to step the value from the highest value to the lowest value and vice versa; otherwise returns FALSE.
+See the <a href="qspinbox.html#wrapping-prop">"wrapping"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qspinbox.html#ButtonSymbols-enum">ButtonSymbols</a> <a name="buttonSymbols-prop"></a>buttonSymbols</h3>
+<p>This property holds the current button symbol mode.
+<p>The possible values can be either <a href="#ButtonSymbols-enum">UpDownArrows</a> or <a href="#ButtonSymbols-enum">PlusMinus</a>.
+The default is <a href="#ButtonSymbols-enum">UpDownArrows</a>.
+<p> <p>See also <a href="#ButtonSymbols-enum">ButtonSymbols</a>.
+
+<p>Set this property's value with <a href="#setButtonSymbols">setButtonSymbols</a>() and get this property's value with <a href="#buttonSymbols">buttonSymbols</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="cleanText-prop"></a>cleanText</h3>
+<p>This property holds the spin box's text with no <a href="#prefix">prefix</a>(), <a href="#suffix">suffix</a>() or leading or trailing whitespace.
+<p>Get this property's value with <a href="#cleanText">cleanText</a>().
+<p><p>See also <a href="#text-prop">text</a>, <a href="#prefix-prop">prefix</a>, and <a href="#suffix-prop">suffix</a>.
+
+<h3 class=fn>int <a name="lineStep-prop"></a>lineStep</h3>
+<p>This property holds the line step.
+<p>When the user uses the arrows to change the spin box's value the
+value will be incremented/decremented by the amount of the line
+step.
+<p> The <a href="#setLineStep">setLineStep</a>() function calls the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function
+if the new line step is different from the previous setting.
+<p> <p>See also <a href="qrangecontrol.html#setSteps">QRangeControl::setSteps</a>() and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setLineStep">setLineStep</a>() and get this property's value with <a href="#lineStep">lineStep</a>().
+<h3 class=fn>int <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the maximum value of the spin box.
+<p>When setting this property, <a href="#minValue-prop">QSpinBox::minValue</a> is adjusted, if
+necessary, to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>() and <a href="#specialValueText-prop">specialValueText</a>.
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn>int <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the minimum value of the spin box.
+<p>When setting this property, <a href="#maxValue-prop">QSpinBox::maxValue</a> is adjusted, if
+necessary, to ensure that the range remains valid.
+<p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>() and <a href="#specialValueText-prop">specialValueText</a>.
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="prefix-prop"></a>prefix</h3>
+<p>This property holds the spin box's prefix.
+<p>The prefix is prepended to the start of the displayed value.
+Typical use is to display a unit of measurement or a currency
+symbol. For example:
+<p> <pre>
+ sb-&gt;setPrefix( "$" );
+ </pre>
+
+<p> To turn off the prefix display, set this property to an empty
+string. The default is no prefix. The prefix is not displayed for
+the <a href="#minValue">minValue</a>() if <a href="#specialValueText">specialValueText</a>() is not empty.
+<p> If no prefix is set, <a href="#prefix">prefix</a>() returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#suffix-prop">suffix</a>.
+
+<p>Set this property's value with <a href="#setPrefix">setPrefix</a>() and get this property's value with <a href="#prefix">prefix</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="specialValueText-prop"></a>specialValueText</h3>
+<p>This property holds the special-value text.
+<p>If set, the spin box will display this text instead of a numeric
+value whenever the current value is equal to minVal(). Typical use
+is to indicate that this choice has a special (default) meaning.
+<p> For example, if your spin box allows the user to choose the margin
+width in a print dialog and your application is able to
+automatically choose a good margin width, you can set up the spin
+box like this:
+<pre>
+ QSpinBox marginBox( -1, 20, 1, parent, "marginBox" );
+ marginBox-&gt;<a href="#setSuffix">setSuffix</a>( " mm" );
+ marginBox-&gt;<a href="#setSpecialValueText">setSpecialValueText</a>( "Auto" );
+ </pre>
+
+The user will then be able to choose a margin width from 0-20
+millimeters or select "Auto" to leave it to the application to
+choose. Your code must then interpret the spin box value of -1 as
+the user requesting automatic margin width.
+<p> All values are displayed with the <a href="#prefix">prefix</a>() and <a href="#suffix">suffix</a>() (if set),
+<em>except</em> for the special value, which only shows the special
+value text.
+<p> To turn off the special-value text display, call this function
+with an empty string. The default is no special-value text, i.e.
+the numeric value is shown as usual.
+<p> If no special-value text is set, <a href="#specialValueText">specialValueText</a>() returns
+<a href="qstring.html#QString-null">QString::null</a>.
+
+<p>Set this property's value with <a href="#setSpecialValueText">setSpecialValueText</a>() and get this property's value with <a href="#specialValueText">specialValueText</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="suffix-prop"></a>suffix</h3>
+<p>This property holds the suffix of the spin box.
+<p>The suffix is appended to the end of the displayed value. Typical
+use is to display a unit of measurement or a currency symbol. For
+example:
+<p> <pre>
+ sb-&gt;setSuffix( " km" );
+ </pre>
+
+<p> To turn off the suffix display, set this property to an empty
+string. The default is no suffix. The suffix is not displayed for
+the <a href="#minValue">minValue</a>() if <a href="#specialValueText">specialValueText</a>() is not empty.
+<p> If no suffix is set, <a href="#suffix">suffix</a>() returns a <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#prefix-prop">prefix</a>.
+
+<p>Set this property's value with <a href="#setSuffix">setSuffix</a>() and get this property's value with <a href="#suffix">suffix</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the spin box's text, including any <a href="#prefix">prefix</a>() and <a href="#suffix">suffix</a>().
+<p>There is no default text.
+<p> <p>See also <a href="#value-prop">value</a>.
+
+<p>Get this property's value with <a href="#text">text</a>().
+<h3 class=fn>int <a name="value-prop"></a>value</h3>
+<p>This property holds the value of the spin box.
+<p>Set this property's value with <a href="#setValue">setValue</a>() and get this property's value with <a href="#value">value</a>().
+<p><p>See also <a href="qrangecontrol.html#setValue">QRangeControl::setValue</a>().
+
+<h3 class=fn>bool <a name="wrapping-prop"></a>wrapping</h3>
+<p>This property holds whether it is possible to step the value from the highest value to the lowest value and vice versa.
+<p>By default, wrapping is turned off.
+<p> If you have a range of 0..100 and wrapping is off when the user
+reaches 100 and presses the Up Arrow nothing will happen; but if
+wrapping is on the value will change from 100 to 0, then to 1,
+etc. When wrapping is on, navigating past the highest value takes
+you to the lowest and vice versa.
+<p> <p>See also <a href="#minValue-prop">minValue</a>, <a href="#maxValue-prop">maxValue</a>, and <a href="qrangecontrol.html#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setWrapping">setWrapping</a>() and get this property's value with <a href="#wrapping">wrapping</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplashscreen-h.html b/doc/html/qsplashscreen-h.html
new file mode 100644
index 0000000..78186e2
--- /dev/null
+++ b/doc/html/qsplashscreen-h.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsplashscreen.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsplashscreen.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsplashscreen.h</h1>
+
+<p>This is the verbatim text of the qsplashscreen.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsplashscreen.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QSplashScreen class
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSPLASHSCREEN_H
+#define QSPLASHSCREEN_H
+
+#ifndef QT_H
+#include "qpixmap.h"
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_SPLASHSCREEN
+class QSplashScreenPrivate;
+
+class Q_EXPORT QSplashScreen : public QWidget
+{
+ Q_OBJECT
+public:
+ QSplashScreen( const QPixmap &amp;pixmap = QPixmap(), WFlags f = 0 );
+ virtual ~QSplashScreen();
+
+ void setPixmap( const QPixmap &amp;pixmap );
+ QPixmap* pixmap() const;
+ void finish( QWidget *w );
+ void repaint();
+
+public slots:
+ void message( const QString &amp;str, int flags = AlignLeft,
+ const QColor &amp;color = black );
+ void clear();
+
+signals:
+ void messageChanged( const QString &amp;str );
+
+protected:
+ virtual void drawContents( QPainter *painter );
+ void mousePressEvent( QMouseEvent * );
+
+private:
+ void drawContents();
+
+ QSplashScreenPrivate *d;
+};
+#endif //QT_NO_SPLASHSCREEN
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplashscreen-members.html b/doc/html/qsplashscreen-members.html
new file mode 100644
index 0000000..68b9817
--- /dev/null
+++ b/doc/html/qsplashscreen-members.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsplashscreen.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSplashScreen Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSplashScreen</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsplashscreen.html">QSplashScreen</a>, including inherited members.
+
+<ul>
+<li><a href="qsplashscreen.html#QSplashScreen">QSplashScreen</a>()
+<li><a href="qsplashscreen.html#~QSplashScreen">~QSplashScreen</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsplashscreen.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qsplashscreen.html#drawContents">drawContents</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qsplashscreen.html#finish">finish</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qsplashscreen.html#message">message</a>()
+<li><a href="qsplashscreen.html#messageChanged">messageChanged</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qsplashscreen.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qsplashscreen.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qsplashscreen.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplashscreen.html b/doc/html/qsplashscreen.html
new file mode 100644
index 0000000..06d9034
--- /dev/null
+++ b/doc/html/qsplashscreen.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qsplashscreen.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSplashScreen Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSplashScreen Class Reference</h1>
+
+<p>The QSplashScreen widget provides a splash screen that can
+be shown during application startup.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsplashscreen-h.html">qsplashscreen.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qsplashscreen-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSplashScreen"><b>QSplashScreen</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap = QPixmap ( ), WFlags&nbsp;f = 0 )</li>
+<li class=fn>virtual <a href="#~QSplashScreen"><b>~QSplashScreen</b></a> ()</li>
+<li class=fn>void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>QPixmap * <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>void <a href="#finish"><b>finish</b></a> ( QWidget&nbsp;*&nbsp;mainWin )</li>
+<li class=fn>void <a href="#repaint"><b>repaint</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#message"><b>message</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;message, int&nbsp;alignment = AlignLeft, const&nbsp;QColor&nbsp;&amp;&nbsp;color = black )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#messageChanged"><b>messageChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;message )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;painter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSplashScreen widget provides a splash screen that can
+be shown during application startup.
+<p>
+
+<p> A splash screen is a widget that is usually displayed when an
+application is being started. Splash screens are often used for
+applications that have long start up times (e.g. database or
+networking applications that take time to establish connections) to
+provide the user with feedback that the application is loading.
+<p> The splash screen appears centered on the screen. It may be useful to add
+the <a href="qt.html#WidgetFlags-enum">WStyle_StaysOnTop</a> if you desire to keep above all the windows in the
+GUI.
+<p> Some X11 window managers do not support the "stays on top" flag. A
+solution is to set up a timer that periodically calls <a href="qwidget.html#raise">raise</a>() on
+the splash screen to simulate the "stays on top" effect.
+<p> The most common usage is to show a splash screen before the main
+widget is displayed on the screen. This is illustrated in the
+following code snippet.
+<p> <pre>
+ int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ <a href="qpixmap.html">QPixmap</a> pixmap( "splash.png" );
+ QSplashScreen *splash = new QSplashScreen( pixmap );
+ splash-&gt;<a href="qwidget.html#show">show</a>();
+ <a href="qmainwindow.html">QMainWindow</a> *mainWin = new <a href="qmainwindow.html">QMainWindow</a>;
+ ...
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( mainWin );
+ mainWin-&gt;<a href="qwidget.html#show">show</a>();
+ splash-&gt;<a href="#finish">finish</a>( mainWin );
+ delete splash;
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+ </pre>
+
+<p> It is sometimes useful to update the splash screen with messages,
+for example, announcing connections established or modules loaded
+as the application starts up. QSplashScreen supports this with the
+<a href="#message">message</a>() function. If you wish to do your own drawing you can
+get a pointer to the pixmap used in the splash screen with <a href="#pixmap">pixmap</a>().
+Alternatively, you can subclass QSplashScreen and reimplement
+<a href="#drawContents">drawContents</a>().
+<p> The user can hide the splash screen by clicking on it with the
+mouse. Since the splash screen is typically displayed before the
+event loop has started running, it is necessary to periodically
+call <a href="qapplication.html#processEvents">QApplication::processEvents</a>() to receive the mouse clicks.
+<p> <pre>
+ <a href="qpixmap.html">QPixmap</a> pixmap( "splash.png" );
+ QSplashScreen *splash = new QSplashScreen( pixmap );
+ splash-&gt;<a href="qwidget.html#show">show</a>();
+ ... // Loading some items
+ splash-&gt;<a href="#message">message</a>( "Loaded modules" );
+ qApp-&gt;<a href="qapplication.html#processEvents">processEvents</a>();
+ ... // Establishing connections
+ splash-&gt;<a href="#message">message</a>( "Established connections" );
+ qApp-&gt;<a href="qapplication.html#processEvents">processEvents</a>();
+ </pre>
+
+<p> <p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSplashScreen"></a>QSplashScreen::QSplashScreen ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap = QPixmap ( ), WFlags&nbsp;f = 0 )
+</h3>
+Construct a splash screen that will display the <em>pixmap</em>.
+<p> There should be no need to set the widget flags, <em>f</em>, except
+perhaps <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> or <a href="qt.html#WidgetFlags-enum">WStyle_StaysOnTop</a>.
+
+<h3 class=fn><a name="~QSplashScreen"></a>QSplashScreen::~QSplashScreen ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="clear"></a>QSplashScreen::clear ()<tt> [slot]</tt>
+</h3>
+Removes the message being displayed on the splash screen
+<p> <p>See also <a href="#message">message</a>().
+
+<h3 class=fn>void <a name="drawContents"></a>QSplashScreen::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter )<tt> [virtual protected]</tt>
+</h3>
+Draw the contents of the splash screen using painter <em>painter</em>.
+The default implementation draws the message passed by <a href="#message">message</a>().
+Reimplement this function if you want to do your own drawing on
+the splash screen.
+
+<h3 class=fn>void <a name="finish"></a>QSplashScreen::finish ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;mainWin )
+</h3>
+Makes the splash screen wait until the widget <em>mainWin</em> is displayed
+before calling <a href="qwidget.html#close">close</a>() on itself.
+
+<h3 class=fn>void <a name="message"></a>QSplashScreen::message ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;message, int&nbsp;alignment = AlignLeft, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color = black )<tt> [slot]</tt>
+</h3>
+Draws the <em>message</em> text onto the splash screen with color <em>color</em> and aligns the text according to the flags in <em>alignment</em>.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a> and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="messageChanged"></a>QSplashScreen::messageChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;message )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the message on the splash screen
+changes. <em>message</em> is the new message and is a null-string
+when the message has been removed.
+<p> <p>See also <a href="#message">message</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="pixmap"></a>QSplashScreen::pixmap () const
+</h3>
+Returns the pixmap that is used in the splash screen. The image
+does not have any of the text drawn by <a href="#message">message</a>() calls.
+
+<h3 class=fn>void <a name="repaint"></a>QSplashScreen::repaint ()
+</h3>
+This overrides <a href="qwidget.html#repaint">QWidget::repaint</a>(). It differs from the standard
+repaint function in that it also calls <a href="qapplication.html#flush">QApplication::flush</a>() to
+ensure the updates are displayed, even when there is no event loop
+present.
+
+<h3 class=fn>void <a name="setPixmap"></a>QSplashScreen::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )
+</h3>
+Sets the pixmap that will be used as the splash screen's image to
+<em>pixmap</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplitter-h.html b/doc/html/qsplitter-h.html
new file mode 100644
index 0000000..fc5e59a
--- /dev/null
+++ b/doc/html/qsplitter-h.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsplitter.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsplitter.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsplitter.h</h1>
+
+<p>This is the verbatim text of the qsplitter.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsplitter.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QSplitter class
+**
+** Created : 980105
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSPLITTER_H
+#define QSPLITTER_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qvaluelist.h"
+#endif // QT_H
+
+#ifndef QT_NO_SPLITTER
+
+class QSplitterHandle;
+class QSplitterPrivate;
+class QSplitterLayoutStruct;
+class QTextStream;
+
+class Q_EXPORT QSplitter : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
+ Q_PROPERTY( bool opaqueResize READ opaqueResize WRITE setOpaqueResize )
+ Q_PROPERTY( int handleWidth READ handleWidth WRITE setHandleWidth )
+ Q_PROPERTY( bool childrenCollapsible READ childrenCollapsible WRITE setChildrenCollapsible )
+
+public:
+ // ### Qt 4.0: remove Auto from public API
+ enum ResizeMode { Stretch, KeepSize, FollowSizeHint, Auto };
+
+ QSplitter( QWidget* parent = 0, const char* name = 0 );
+ QSplitter( Orientation, QWidget* parent = 0, const char* name = 0 );
+ ~QSplitter();
+
+ virtual void setOrientation( Orientation );
+ Orientation orientation() const { return orient; }
+
+ // ### Qt 4.0: make setChildrenCollapsible() and setCollapsible() virtual
+
+ void setChildrenCollapsible( bool );
+ bool childrenCollapsible() const;
+
+ void setCollapsible( QWidget *w, bool );
+ virtual void setResizeMode( QWidget *w, ResizeMode );
+ virtual void setOpaqueResize( bool = TRUE );
+ bool opaqueResize() const;
+
+ void moveToFirst( QWidget * );
+ void moveToLast( QWidget * );
+
+ void refresh() { recalc( TRUE ); }
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ QValueList&lt;int&gt; sizes() const;
+ void setSizes( QValueList&lt;int&gt; );
+
+ int handleWidth() const;
+ void setHandleWidth( int );
+
+protected:
+ void childEvent( QChildEvent * );
+
+ bool event( QEvent * );
+ void resizeEvent( QResizeEvent * );
+
+ int idAfter( QWidget* ) const;
+
+ void moveSplitter( QCOORD pos, int id );
+ virtual void drawSplitter( QPainter*, QCOORD x, QCOORD y,
+ QCOORD w, QCOORD h );
+ void styleChange( QStyle&amp; );
+ int adjustPos( int, int );
+ virtual void setRubberband( int );
+ void getRange( int id, int *, int * );
+
+private:
+ enum { DefaultResizeMode = 3 };
+
+ void init();
+ void recalc( bool update = FALSE );
+ void doResize();
+ void storeSizes();
+ void getRange( int id, int *, int *, int *, int * );
+ void addContribution( int, int *, int *, bool );
+ int adjustPos( int, int, int *, int *, int *, int * );
+ bool collapsible( QSplitterLayoutStruct * );
+ void processChildEvents();
+ QSplitterLayoutStruct *findWidget( QWidget * );
+ QSplitterLayoutStruct *addWidget( QWidget *, bool prepend = FALSE );
+ void recalcId();
+ void doMove( bool backwards, int pos, int id, int delta, bool upLeft,
+ bool mayCollapse );
+ void setGeo( QWidget *w, int pos, int size, bool splitterMoved );
+ int findWidgetJustBeforeOrJustAfter( int id, int delta, int &amp;collapsibleSize );
+ void updateHandles();
+
+ inline QCOORD pick( const QPoint &amp;p ) const
+ { return orient == Horizontal ? p.x() : p.y(); }
+ inline QCOORD pick( const QSize &amp;s ) const
+ { return orient == Horizontal ? s.width() : s.height(); }
+
+ inline QCOORD trans( const QPoint &amp;p ) const
+ { return orient == Vertical ? p.x() : p.y(); }
+ inline QCOORD trans( const QSize &amp;s ) const
+ { return orient == Vertical ? s.width() : s.height(); }
+
+ QSplitterPrivate *d;
+
+ Orientation orient;
+ friend class QSplitterHandle;
+
+#ifndef QT_NO_TEXTSTREAM
+ friend Q_EXPORT QTextStream&amp; operator&lt;&lt;( QTextStream&amp;, const QSplitter&amp; );
+ friend Q_EXPORT QTextStream&amp; operator&gt;&gt;( QTextStream&amp;, QSplitter&amp; );
+#endif
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QSplitter( const QSplitter &amp; );
+ QSplitter&amp; operator=( const QSplitter &amp; );
+#endif
+};
+
+#ifndef QT_NO_TEXTSTREAM
+Q_EXPORT QTextStream&amp; operator&lt;&lt;( QTextStream&amp;, const QSplitter&amp; );
+Q_EXPORT QTextStream&amp; operator&gt;&gt;( QTextStream&amp;, QSplitter&amp; );
+#endif
+
+#endif // QT_NO_SPLITTER
+
+#endif // QSPLITTER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplitter-m.png b/doc/html/qsplitter-m.png
new file mode 100644
index 0000000..732ec7a
--- /dev/null
+++ b/doc/html/qsplitter-m.png
Binary files differ
diff --git a/doc/html/qsplitter-members.html b/doc/html/qsplitter-members.html
new file mode 100644
index 0000000..cbdc1aa
--- /dev/null
+++ b/doc/html/qsplitter-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsplitter.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSplitter Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSplitter</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsplitter.html">QSplitter</a>, including inherited members.
+
+<ul>
+<li><a href="qsplitter.html#QSplitter">QSplitter</a>()
+<li><a href="qsplitter.html#~QSplitter">~QSplitter</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qsplitter.html#adjustPos">adjustPos</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qsplitter.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qsplitter.html#childrenCollapsible">childrenCollapsible</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qsplitter.html#drawSplitter">drawSplitter</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qsplitter.html#getRange">getRange</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qsplitter.html#handleWidth">handleWidth</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qsplitter.html#idAfter">idAfter</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qsplitter.html#moveSplitter">moveSplitter</a>()
+<li><a href="qsplitter.html#moveToFirst">moveToFirst</a>()
+<li><a href="qsplitter.html#moveToLast">moveToLast</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qsplitter.html#opaqueResize">opaqueResize</a>()
+<li><a href="qsplitter.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qsplitter.html#refresh">refresh</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qsplitter.html#setChildrenCollapsible">setChildrenCollapsible</a>()
+<li><a href="qsplitter.html#setCollapsible">setCollapsible</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qsplitter.html#setHandleWidth">setHandleWidth</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qsplitter.html#setOpaqueResize">setOpaqueResize</a>()
+<li><a href="qsplitter.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsplitter.html#setResizeMode">setResizeMode</a>()
+<li><a href="qsplitter.html#setRubberband">setRubberband</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qsplitter.html#setSizes">setSizes</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qsplitter.html#sizes">sizes</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsplitter-w.png b/doc/html/qsplitter-w.png
new file mode 100644
index 0000000..5719912
--- /dev/null
+++ b/doc/html/qsplitter-w.png
Binary files differ
diff --git a/doc/html/qsplitter.html b/doc/html/qsplitter.html
new file mode 100644
index 0000000..fb11343
--- /dev/null
+++ b/doc/html/qsplitter.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qsplitter.cpp:220 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSplitter Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSplitter Class Reference</h1>
+
+<p>The QSplitter class implements a splitter widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qsplitter-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#ResizeMode-enum"><b>ResizeMode</b></a> { Stretch, KeepSize, FollowSizeHint, Auto }</li>
+<li class=fn><a href="#QSplitter"><b>QSplitter</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QSplitter-2"><b>QSplitter</b></a> ( Orientation&nbsp;o, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSplitter"><b>~QSplitter</b></a> ()</li>
+<li class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>void <a href="#setChildrenCollapsible"><b>setChildrenCollapsible</b></a> ( bool )</li>
+<li class=fn>bool <a href="#childrenCollapsible"><b>childrenCollapsible</b></a> () const</li>
+<li class=fn>void <a href="#setCollapsible"><b>setCollapsible</b></a> ( QWidget&nbsp;*&nbsp;w, bool&nbsp;collapse )</li>
+<li class=fn>virtual void <a href="#setResizeMode"><b>setResizeMode</b></a> ( QWidget&nbsp;*&nbsp;w, ResizeMode&nbsp;mode )</li>
+<li class=fn>virtual void <a href="#setOpaqueResize"><b>setOpaqueResize</b></a> ( bool = TRUE )</li>
+<li class=fn>bool <a href="#opaqueResize"><b>opaqueResize</b></a> () const</li>
+<li class=fn>void <a href="#moveToFirst"><b>moveToFirst</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#moveToLast"><b>moveToLast</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#refresh"><b>refresh</b></a> ()</li>
+<li class=fn>QValueList&lt;int&gt; <a href="#sizes"><b>sizes</b></a> () const</li>
+<li class=fn>void <a href="#setSizes"><b>setSizes</b></a> ( QValueList&lt;int&gt;&nbsp;list )</li>
+<li class=fn>int <a href="#handleWidth"><b>handleWidth</b></a> () const</li>
+<li class=fn>void <a href="#setHandleWidth"><b>setHandleWidth</b></a> ( int )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#childrenCollapsible-prop"><b>childrenCollapsible</b></a>&nbsp;- whether child widgets can be resized down to size 0 by the user</li>
+<li class=fn>int <a href="#handleWidth-prop"><b>handleWidth</b></a>&nbsp;- the width of the splitter handle</li>
+<li class=fn>bool <a href="#opaqueResize-prop"><b>opaqueResize</b></a>&nbsp;- whether resizing is opaque</li>
+<li class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a>&nbsp;- the orientation of the splitter</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#childEvent"><b>childEvent</b></a> ( QChildEvent&nbsp;*&nbsp;c )</li>
+<li class=fn>int <a href="#idAfter"><b>idAfter</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>void <a href="#moveSplitter"><b>moveSplitter</b></a> ( QCOORD&nbsp;p, int&nbsp;id )</li>
+<li class=fn>virtual void drawSplitter ( QPainter&nbsp;*&nbsp;p, QCOORD&nbsp;x, QCOORD&nbsp;y, QCOORD&nbsp;w, QCOORD&nbsp;h ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#adjustPos"><b>adjustPos</b></a> ( int&nbsp;pos, int&nbsp;id )</li>
+<li class=fn>virtual void <a href="#setRubberband"><b>setRubberband</b></a> ( int&nbsp;p )</li>
+<li class=fn>void <a href="#getRange"><b>getRange</b></a> ( int&nbsp;id, int&nbsp;*&nbsp;min, int&nbsp;*&nbsp;max )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, const&nbsp;QSplitter&nbsp;&amp;&nbsp;splitter )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QTextStream&nbsp;&amp;&nbsp;ts, QSplitter&nbsp;&amp;&nbsp;splitter )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSplitter class implements a splitter widget.
+<p>
+
+<p> A splitter lets the user control the size of child widgets by
+dragging the boundary between the children. Any number of widgets
+may be controlled by a single splitter.
+<p> To show a <a href="qlistbox.html">QListBox</a>, a <a href="qlistview.html">QListView</a> and a <a href="qtextedit.html">QTextEdit</a> side by side:
+<pre>
+ QSplitter *split = new QSplitter( parent );
+ <a href="qlistbox.html">QListBox</a> *lb = new <a href="qlistbox.html">QListBox</a>( split );
+ <a href="qlistview.html">QListView</a> *lv = new <a href="qlistview.html">QListView</a>( split );
+ <a href="qtextedit.html">QTextEdit</a> *ed = new <a href="qtextedit.html">QTextEdit</a>( split );
+ </pre>
+
+<p> QSplitter lays out its children horizontally (side by side); you
+can use <a href="#setOrientation">setOrientation</a>(QSplitter::Vertical) to lay out the
+children vertically.
+<p> By default, all widgets can be as large or as small as the user
+wishes, between the <a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>() (or <a href="qwidget.html#minimumSize">minimumSize</a>())
+and <a href="qwidget.html#maximumSize">maximumSize</a>() of the widgets. Use <a href="#setResizeMode">setResizeMode</a>() to
+specify that a widget should keep its size when the splitter is
+resized, or set the stretch component of the <a href="qwidget.html#sizePolicy-prop">sizePolicy</a>.
+<p> Although QSplitter normally resizes the children only at the end
+of a resize operation, if you call <a href="#setOpaqueResize">setOpaqueResize</a>(TRUE) the
+widgets are resized as often as possible.
+<p> The initial distribution of size between the widgets is determined
+by the initial size of each widget. You can also use <a href="#setSizes">setSizes</a>() to
+set the sizes of all the widgets. The function <a href="#sizes">sizes</a>() returns the
+sizes set by the user.
+<p> If you <a href="qwidget.html#hide">hide</a>() a child its space will be distributed among the
+other children. It will be reinstated when you <a href="qwidget.html#show">show</a>() it again. It
+is also possible to reorder the widgets within the splitter using
+<a href="#moveToFirst">moveToFirst</a>() and <a href="#moveToLast">moveToLast</a>().
+<p> <img src=qsplitter-m.png> <img src=qsplitter-w.png>
+<p> <p>See also <a href="qtabbar.html">QTabBar</a> and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ResizeMode-enum"></a>QSplitter::ResizeMode</h3>
+
+<p> This enum type describes how QSplitter will resize each of its
+child widgets.
+<ul>
+<li><tt>QSplitter::Auto</tt> - The widget will be resized according to the stretch
+factors set in its <a href="qwidget.html#sizePolicy">sizePolicy</a>().
+<li><tt>QSplitter::Stretch</tt> - The widget will be resized when the splitter
+itself is resized.
+<li><tt>QSplitter::KeepSize</tt> - QSplitter will try to keep the widget's size
+unchanged.
+<li><tt>QSplitter::FollowSizeHint</tt> - QSplitter will resize the widget when the
+widget's size hint changes.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSplitter"></a>QSplitter::QSplitter ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a horizontal splitter with the <em>parent</em> and <em>name</em>
+arguments being passed on to the <a href="qframe.html">QFrame</a> constructor.
+
+<h3 class=fn><a name="QSplitter-2"></a>QSplitter::QSplitter ( <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;o, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a splitter with orientation <em>o</em> with the <em>parent</em> and
+<em>name</em> arguments being passed on to the <a href="qframe.html">QFrame</a> constructor.
+
+<h3 class=fn><a name="~QSplitter"></a>QSplitter::~QSplitter ()
+</h3>
+Destroys the splitter and any children.
+
+<h3 class=fn>int <a name="adjustPos"></a>QSplitter::adjustPos ( int&nbsp;pos, int&nbsp;id )<tt> [protected]</tt>
+</h3>
+Returns the closest legal position to <em>pos</em> of the widget with ID
+<em>id</em>.
+<p> <p>See also <a href="#idAfter">idAfter</a>().
+
+<h3 class=fn>void <a name="childEvent"></a>QSplitter::childEvent ( <a href="qchildevent.html">QChildEvent</a>&nbsp;*&nbsp;c )<tt> [virtual protected]</tt>
+</h3>
+Tells the splitter that the child widget described by <em>c</em> has
+been inserted or removed.
+
+<p>Reimplemented from <a href="qobject.html#childEvent">QObject</a>.
+<h3 class=fn>bool <a name="childrenCollapsible"></a>QSplitter::childrenCollapsible () const
+</h3><p>Returns TRUE if child widgets can be resized down to size 0 by the user; otherwise returns FALSE.
+See the <a href="qsplitter.html#childrenCollapsible-prop">"childrenCollapsible"</a> property for details.
+<h3 class=fn>void <a name="drawSplitter"></a>QSplitter::drawSplitter ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, QCOORD&nbsp;x, QCOORD&nbsp;y, QCOORD&nbsp;w, QCOORD&nbsp;h )<tt> [virtual protected]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Draws the splitter handle in the rectangle described by <em>x</em>, <em>y</em>,
+<em>w</em>, <em>h</em> using painter <em>p</em>.
+<p>See also <a href="qstyle.html#drawPrimitive">QStyle::drawPrimitive</a>().
+
+<h3 class=fn>void <a name="getRange"></a>QSplitter::getRange ( int&nbsp;id, int&nbsp;*&nbsp;min, int&nbsp;*&nbsp;max )<tt> [protected]</tt>
+</h3>
+Returns the valid range of the splitter with ID <em>id</em> in <em>*min</em>
+and <em>*max</em> if <em>min</em> and <em>max</em> are not 0.
+<p> <p>See also <a href="#idAfter">idAfter</a>().
+
+<h3 class=fn>int <a name="handleWidth"></a>QSplitter::handleWidth () const
+</h3><p>Returns the width of the splitter handle.
+See the <a href="qsplitter.html#handleWidth-prop">"handleWidth"</a> property for details.
+<h3 class=fn>int <a name="idAfter"></a>QSplitter::idAfter ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const<tt> [protected]</tt>
+</h3>
+Returns the ID of the widget to the right of or below the widget
+<em>w</em>, or 0 if there is no such widget (i.e. it is either not in
+this QSplitter or <em>w</em> is at the end).
+
+<h3 class=fn>void <a name="moveSplitter"></a>QSplitter::moveSplitter ( QCOORD&nbsp;p, int&nbsp;id )<tt> [protected]</tt>
+</h3>
+Moves the left/top edge of the splitter handle with ID <em>id</em> as
+close as possible to position <em>p</em>, which is the distance from the
+left (or top) edge of the widget.
+<p> For Arabic, Hebrew and other right-to-left languages the layout is
+reversed. <em>p</em> is then the distance from the right (or top) edge
+of the widget.
+<p> <p>See also <a href="#idAfter">idAfter</a>().
+
+<h3 class=fn>void <a name="moveToFirst"></a>QSplitter::moveToFirst ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Moves widget <em>w</em> to the leftmost/top position.
+
+<p>Example: <a href="splitter-example.html#x1299">splitter/splitter.cpp</a>.
+<h3 class=fn>void <a name="moveToLast"></a>QSplitter::moveToLast ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Moves widget <em>w</em> to the rightmost/bottom position.
+
+<h3 class=fn>bool <a name="opaqueResize"></a>QSplitter::opaqueResize () const
+</h3><p>Returns TRUE if resizing is opaque; otherwise returns FALSE.
+See the <a href="qsplitter.html#opaqueResize-prop">"opaqueResize"</a> property for details.
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QSplitter::orientation () const
+</h3><p>Returns the orientation of the splitter.
+See the <a href="qsplitter.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="refresh"></a>QSplitter::refresh ()
+</h3>
+
+<p> Updates the splitter's state. You should not need to call this
+function.
+
+<h3 class=fn>void <a name="setChildrenCollapsible"></a>QSplitter::setChildrenCollapsible ( bool )
+</h3><p>Sets whether child widgets can be resized down to size 0 by the user.
+See the <a href="qsplitter.html#childrenCollapsible-prop">"childrenCollapsible"</a> property for details.
+<h3 class=fn>void <a name="setCollapsible"></a>QSplitter::setCollapsible ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, bool&nbsp;collapse )
+</h3>
+Sets whether the child widget <em>w</em> is collapsible to <em>collapse</em>.
+<p> By default, children are collapsible, meaning that the user can
+resize them down to size 0, even if they have a non-zero
+<a href="qwidget.html#minimumSize">minimumSize</a>() or <a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>(). This behavior can be changed
+on a per-widget basis by calling this function, or globally for
+all the widgets in the splitter by setting the <a href="#childrenCollapsible-prop">childrenCollapsible</a> property.
+<p> <p>See also <a href="#childrenCollapsible-prop">childrenCollapsible</a>.
+
+<h3 class=fn>void <a name="setHandleWidth"></a>QSplitter::setHandleWidth ( int )
+</h3><p>Sets the width of the splitter handle.
+See the <a href="qsplitter.html#handleWidth-prop">"handleWidth"</a> property for details.
+<h3 class=fn>void <a name="setOpaqueResize"></a>QSplitter::setOpaqueResize ( bool = TRUE )<tt> [virtual]</tt>
+</h3><p>Sets whether resizing is opaque.
+See the <a href="qsplitter.html#opaqueResize-prop">"opaqueResize"</a> property for details.
+<h3 class=fn>void <a name="setOrientation"></a>QSplitter::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )<tt> [virtual]</tt>
+</h3><p>Sets the orientation of the splitter.
+See the <a href="qsplitter.html#orientation-prop">"orientation"</a> property for details.
+<h3 class=fn>void <a name="setResizeMode"></a>QSplitter::setResizeMode ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qsplitter.html#ResizeMode-enum">ResizeMode</a>&nbsp;mode )<tt> [virtual]</tt>
+</h3>
+Sets resize mode of widget <em>w</em> to <em>mode</em>. (The default is <a href="#ResizeMode-enum">Auto</a>.)
+
+<p>Examples: <a href="fileiconview-example.html#x894">fileiconview/mainwindow.cpp</a>, <a href="listviews-example.html#x161">listviews/listviews.cpp</a>, and <a href="splitter-example.html#x1301">splitter/splitter.cpp</a>.
+<h3 class=fn>void <a name="setRubberband"></a>QSplitter::setRubberband ( int&nbsp;p )<tt> [virtual protected]</tt>
+</h3>
+Displays a rubber band at position <em>p</em>. If <em>p</em> is negative, the
+rubber band is removed.
+
+<h3 class=fn>void <a name="setSizes"></a>QSplitter::setSizes ( <a href="qvaluelist.html">QValueList</a>&lt;int&gt;&nbsp;list )
+</h3>
+Sets the size parameters to the values given in the <em>list</em>. If
+the splitter is horizontal, the values set the widths of each
+widget going from left to right. If the splitter is vertical, the
+values set the heights of each widget going from top to bottom.
+Extra values in the <em>list</em> are ignored.
+<p> If <em>list</em> contains too few values, the result is undefined but
+the program will still be well-behaved.
+<p> Note that the values in <em>list</em> should be the height/width that
+the widgets should be resized to.
+<p> <p>See also <a href="#sizes">sizes</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="sizes"></a>QSplitter::sizes () const
+</h3>
+Returns a list of the size parameters of all the widgets in this
+splitter.
+<p> If the splitter's orientation is horizontal, the list is a list of
+widget widths; if the orientation is vertical, the list is a list
+of widget heights.
+<p> Giving the values to another splitter's <a href="#setSizes">setSizes</a>() function will
+produce a splitter with the same layout as this one.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; list = mySplitter.sizes();
+ QValueList&lt;int&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#setSizes">setSizes</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="childrenCollapsible-prop"></a>childrenCollapsible</h3>
+<p>This property holds whether child widgets can be resized down to size 0 by the user.
+<p>By default, children are collapsible. It is possible to enable
+and disable the collapsing of individual children; see
+<a href="#setCollapsible">setCollapsible</a>().
+
+<p>Set this property's value with <a href="#setChildrenCollapsible">setChildrenCollapsible</a>() and get this property's value with <a href="#childrenCollapsible">childrenCollapsible</a>().
+<h3 class=fn>int <a name="handleWidth-prop"></a>handleWidth</h3>
+<p>This property holds the width of the splitter handle.
+<p>
+<p>Set this property's value with <a href="#setHandleWidth">setHandleWidth</a>() and get this property's value with <a href="#handleWidth">handleWidth</a>().
+<h3 class=fn>bool <a name="opaqueResize-prop"></a>opaqueResize</h3>
+<p>This property holds whether resizing is opaque.
+<p>Opaque resizing is off by default.
+
+<p>Set this property's value with <a href="#setOpaqueResize">setOpaqueResize</a>() and get this property's value with <a href="#opaqueResize">opaqueResize</a>().
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3>
+<p>This property holds the orientation of the splitter.
+<p>By default the orientation is horizontal (the widgets are side by
+side). The possible orientations are <a href="qt.html#Orientation-enum">Horizontal</a> and
+<a href="qt.html#Orientation-enum">Vertical</a>.
+
+<p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>().
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, const&nbsp;<a href="qsplitter.html">QSplitter</a>&nbsp;&amp;&nbsp;splitter )
+</h3>
+
+<p> Writes the sizes and the hidden state of the widgets in the
+splitter <em>splitter</em> to the text stream <em>ts</em>.
+<p> <p>See also <a href="#operator-gt-gt">operator&gt;&gt;</a>(), <a href="#sizes">sizes</a>(), and <a href="qwidget.html#hidden-prop">QWidget::hidden</a>.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;ts, <a href="qsplitter.html">QSplitter</a>&nbsp;&amp;&nbsp;splitter )
+</h3>
+
+<p> Reads the sizes and the hidden state of the widgets in the
+splitter <em>splitter</em> from the text stream <em>ts</em>. The sizes must
+have been previously written by the <a href="#operator-lt-lt">operator&lt;&lt;</a>() function.
+<p> <p>See also <a href="#operator-lt-lt">operator&lt;&lt;</a>(), <a href="#setSizes">setSizes</a>(), and <a href="qwidget.html#hide">QWidget::hide</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsql-h.html b/doc/html/qsql-h.html
new file mode 100644
index 0000000..3f2a568
--- /dev/null
+++ b/doc/html/qsql-h.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsql.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsql.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsql.h</h1>
+
+<p>This is the verbatim text of the qsql.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSql class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQL_H
+#define QSQL_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QM_EXPORT_SQL QSql
+{
+public:
+ QSql() {}
+ enum Op {
+ None = -1,
+ Insert = 0,
+ Update = 1,
+ Delete = 2
+ };
+
+ enum Location {
+ BeforeFirst = -1,
+ AfterLast = -2
+ };
+
+ enum Confirm {
+ Cancel = -1,
+ No = 0,
+ Yes = 1
+ };
+
+ enum ParameterType {
+ In = 1,
+ Out = 2,
+ InOut = 3 //InOut = In | Out
+ };
+
+ enum TableType {
+ Tables = 0x01,
+ SystemTables = 0x02,
+ Views = 0x04,
+ AllTables = 0xff
+ };
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSql( const QSql &amp; );
+ QSql &amp;operator=( const QSql &amp; );
+#endif
+
+};
+
+#endif
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsql-members.html b/doc/html/qsql-members.html
new file mode 100644
index 0000000..44193b0
--- /dev/null
+++ b/doc/html/qsql-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsql.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSql Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSql</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsql.html">QSql</a>, including inherited members.
+
+<ul>
+<li><a href="qsql.html#QSql">QSql</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsql.html b/doc/html/qsql.html
new file mode 100644
index 0000000..1a68daf
--- /dev/null
+++ b/doc/html/qsql.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsql.cpp:39 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSql Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSql Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSql class is a namespace for Qt SQL identifiers that
+need to be global-like.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsql-h.html">qsql.h</a>&gt;</tt>
+<p><a href="qsql-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSql"><b>QSql</b></a> ()</li>
+<li class=fn>enum <a href="#Op-enum"><b>Op</b></a> { None = -1, Insert = 0, Update = 1, Delete = 2 }</li>
+<li class=fn>enum <a href="#Location-enum"><b>Location</b></a> { BeforeFirst = -1, AfterLast = -2 }</li>
+<li class=fn>enum <a href="#Confirm-enum"><b>Confirm</b></a> { Cancel = -1, No = 0, Yes = 1 }</li>
+<li class=fn>enum <a href="#ParameterType-enum"><b>ParameterType</b></a> { In = 1, Out = 2, InOut = 3 }</li>
+<li class=fn>enum <a href="#TableType-enum"><b>TableType</b></a> { Tables = 0x01, SystemTables = 0x02, Views = 0x04, AllTables = 0xff }</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSql class is a namespace for Qt SQL identifiers that
+need to be global-like.
+<p>
+
+
+<p> Normally, you can ignore this class. Several Qt SQL classes
+inherit it, so all the identifiers in the Qt SQL namespace are
+visible without qualification.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Confirm-enum"></a>QSql::Confirm</h3>
+
+<p> This enum type describes edit confirmations.
+<ul>
+<li><tt>QSql::Yes</tt>
+<li><tt>QSql::No</tt>
+<li><tt>QSql::Cancel</tt>
+</ul>
+<h3 class=fn><a name="Location-enum"></a>QSql::Location</h3>
+
+<p> This enum type describes SQL navigation locations.
+<ul>
+<li><tt>QSql::BeforeFirst</tt>
+<li><tt>QSql::AfterLast</tt>
+</ul>
+<h3 class=fn><a name="Op-enum"></a>QSql::Op</h3>
+
+<p> This enum type describes edit operations.
+<ul>
+<li><tt>QSql::None</tt>
+<li><tt>QSql::Insert</tt>
+<li><tt>QSql::Update</tt>
+<li><tt>QSql::Delete</tt>
+</ul>
+<h3 class=fn><a name="ParameterType-enum"></a>QSql::ParameterType</h3>
+
+<p> This enum is used to set the type of a bind parameter
+<ul>
+<li><tt>QSql::In</tt> - the bind parameter is used to put data into the database
+<li><tt>QSql::Out</tt> - the bind parameter is used to receive data from the database
+<li><tt>QSql::InOut</tt> - the bind parameter is used to put data into the
+database; it will be overwritten with output data on executing
+a query.
+</ul>
+<h3 class=fn><a name="TableType-enum"></a>QSql::TableType</h3>
+
+<p> This enum type describes types of tables
+<ul>
+<li><tt>QSql::Tables</tt> - All the tables visible to the user
+<li><tt>QSql::SystemTables</tt> - Internal tables used by the DBMS
+<li><tt>QSql::Views</tt> - All the views visible to the user
+<li><tt>QSql::AllTables</tt> - All of the above
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSql"></a>QSql::QSql ()
+</h3>
+
+<p> Constructs a Qt SQL namespace class
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlcursor-h.html b/doc/html/qsqlcursor-h.html
new file mode 100644
index 0000000..fe44e55
--- /dev/null
+++ b/doc/html/qsqlcursor-h.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlcursor.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlcursor.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlcursor.h</h1>
+
+<p>This is the verbatim text of the qsqlcursor.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlCursor class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLCURSOR_H
+#define QSQLCURSOR_H
+
+#ifndef QT_H
+#include "qsqlrecord.h"
+#include "qstringlist.h"
+#include "qsqlquery.h"
+#include "qsqlindex.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlDatabase;
+class QSqlCursorPrivate;
+
+class QM_EXPORT_SQL QSqlCursor : public QSqlRecord, public QSqlQuery
+{
+public:
+ QSqlCursor( const QString &amp; name = QString::null, bool autopopulate = TRUE, QSqlDatabase* db = 0 );
+ QSqlCursor( const QSqlCursor &amp; other );
+ QSqlCursor&amp; operator=( const QSqlCursor&amp; other );
+ ~QSqlCursor();
+
+ enum Mode {
+ ReadOnly = 0,
+ Insert = 1,
+ Update = 2,
+ Delete = 4,
+ Writable = 7
+ };
+
+ QVariant value( int i ) const;
+ QVariant value( const QString&amp; name ) const;
+ void setValue( int i, const QVariant&amp; val );
+ void setValue( const QString&amp; name, const QVariant&amp; val );
+ virtual QSqlIndex primaryIndex( bool prime = TRUE ) const;
+ virtual QSqlIndex index( const QStringList&amp; fieldNames ) const;
+ QSqlIndex index( const QString&amp; fieldName ) const;
+ QSqlIndex index( const char* fieldName ) const;
+ virtual void setPrimaryIndex( const QSqlIndex&amp; idx );
+
+ virtual void append( const QSqlFieldInfo&amp; fieldInfo );
+ virtual void insert( int pos, const QSqlFieldInfo&amp; fieldInfo );
+ void remove( int pos );
+ void clear();
+ void setGenerated( const QString&amp; name, bool generated );
+ void setGenerated( int i, bool generated );
+
+ virtual QSqlRecord* editBuffer( bool copy = FALSE );
+ virtual QSqlRecord* primeInsert();
+ virtual QSqlRecord* primeUpdate();
+ virtual QSqlRecord* primeDelete();
+ virtual int insert( bool invalidate = TRUE );
+ virtual int update( bool invalidate = TRUE );
+ virtual int del( bool invalidate = TRUE );
+
+ virtual void setMode( int flags );
+ int mode() const;
+ virtual void setCalculated( const QString&amp; name, bool calculated );
+ bool isCalculated( const QString&amp; name ) const;
+ virtual void setTrimmed( const QString&amp; name, bool trim );
+ bool isTrimmed( const QString&amp; name ) const;
+
+ bool isReadOnly() const;
+ bool canInsert() const;
+ bool canUpdate() const;
+ bool canDelete() const;
+
+ bool select();
+ bool select( const QSqlIndex&amp; sort );
+ bool select( const QSqlIndex &amp; filter, const QSqlIndex &amp; sort );
+ virtual bool select( const QString &amp; filter, const QSqlIndex &amp; sort = QSqlIndex() );
+
+ virtual void setSort( const QSqlIndex&amp; sort );
+ QSqlIndex sort() const;
+ virtual void setFilter( const QString&amp; filter );
+ QString filter() const;
+ virtual void setName( const QString&amp; name, bool autopopulate = TRUE );
+ QString name() const;
+ QString toString( const QString&amp; prefix = QString::null,
+ const QString&amp; sep = "," ) const;
+ bool isNull( int i ) const;
+ bool isNull( const QString&amp; name ) const;
+
+protected:
+ void afterSeek();
+ bool exec( const QString &amp; sql );
+
+ virtual QVariant calculateField( const QString&amp; name );
+ virtual int update( const QString &amp; filter, bool invalidate = TRUE );
+ virtual int del( const QString &amp; filter, bool invalidate = TRUE );
+
+ virtual QString toString( const QString&amp; prefix, QSqlField* field, const QString&amp; fieldSep ) const;
+ virtual QString toString( QSqlRecord* rec, const QString&amp; prefix, const QString&amp; fieldSep,
+ const QString&amp; sep ) const;
+ virtual QString toString( const QSqlIndex&amp; i, QSqlRecord* rec, const QString&amp; prefix,
+ const QString&amp; fieldSep, const QString&amp; sep ) const;
+
+private:
+ void sync();
+ int apply( const QString&amp; q, bool invalidate );
+ int applyPrepared( const QString&amp; q, bool invalidate );
+ QSqlRecord&amp; operator=( const QSqlRecord &amp; list );
+ void append( const QSqlField&amp; field );
+ void insert( int pos, const QSqlField&amp; field );
+
+ QSqlCursorPrivate* d;
+};
+
+
+
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlcursor-members.html b/doc/html/qsqlcursor-members.html
new file mode 100644
index 0000000..55859bf
--- /dev/null
+++ b/doc/html/qsqlcursor-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlcursor.h:58 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlCursor Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlCursor</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlcursor.html">QSqlCursor</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlcursor.html#QSqlCursor">QSqlCursor</a>()
+<li><a href="qsqlcursor.html#~QSqlCursor">~QSqlCursor</a>()
+<li><a href="qsqlquery.html#addBindValue">addBindValue</a>()
+<li><a href="qsqlquery.html#afterSeek">afterSeek</a>()
+<li><a href="qsqlcursor.html#append">append</a>()
+<li><a href="qsqlquery.html#at">at</a>()
+<li><a href="qsqlquery.html#beforeSeek">beforeSeek</a>()
+<li><a href="qsqlquery.html#bindValue">bindValue</a>()
+<li><a href="qsqlquery.html#boundValue">boundValue</a>()
+<li><a href="qsqlquery.html#boundValues">boundValues</a>()
+<li><a href="qsqlcursor.html#calculateField">calculateField</a>()
+<li><a href="qsqlcursor.html#canDelete">canDelete</a>()
+<li><a href="qsqlcursor.html#canInsert">canInsert</a>()
+<li><a href="qsqlcursor.html#canUpdate">canUpdate</a>()
+<li><a href="qsqlcursor.html#clear">clear</a>()
+<li><a href="qsqlrecord.html#clearValues">clearValues</a>()
+<li><a href="qsqlrecord.html#contains">contains</a>()
+<li><a href="qsqlrecord.html#count">count</a>()
+<li><a href="qsqlcursor.html#del">del</a>()
+<li><a href="qsqlquery.html#driver">driver</a>()
+<li><a href="qsqlcursor.html#editBuffer">editBuffer</a>()
+<li><a href="qsqlquery.html#exec">exec</a>()
+<li><a href="qsqlquery.html#executedQuery">executedQuery</a>()
+<li><a href="qsqlrecord.html#field">field</a>()
+<li><a href="qsqlrecord.html#fieldName">fieldName</a>()
+<li><a href="qsqlcursor.html#filter">filter</a>()
+<li><a href="qsqlquery.html#first">first</a>()
+<li><a href="qsqlcursor.html#index">index</a>()
+<li><a href="qsqlcursor.html#insert">insert</a>()
+<li><a href="qsqlquery.html#isActive">isActive</a>()
+<li><a href="qsqlcursor.html#isCalculated">isCalculated</a>()
+<li><a href="qsqlrecord.html#isEmpty">isEmpty</a>()
+<li><a href="qsqlquery.html#isForwardOnly">isForwardOnly</a>()
+<li><a href="qsqlrecord.html#isGenerated">isGenerated</a>()
+<li><a href="qsqlcursor.html#isNull">isNull</a>()
+<li><a href="qsqlcursor.html#isReadOnly">isReadOnly</a>()
+<li><a href="qsqlquery.html#isSelect">isSelect</a>()
+<li><a href="qsqlcursor.html#isTrimmed">isTrimmed</a>()
+<li><a href="qsqlquery.html#isValid">isValid</a>()
+<li><a href="qsqlquery.html#last">last</a>()
+<li><a href="qsqlquery.html#lastError">lastError</a>()
+<li><a href="qsqlquery.html#lastQuery">lastQuery</a>()
+<li><a href="qsqlcursor.html#mode">mode</a>()
+<li><a href="qsqlcursor.html#name">name</a>()
+<li><a href="qsqlquery.html#next">next</a>()
+<li><a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>()
+<li><a href="qsqlcursor.html#operator-eq">operator=</a>()
+<li><a href="qsqlrecord.html#position">position</a>()
+<li><a href="qsqlquery.html#prepare">prepare</a>()
+<li><a href="qsqlquery.html#prev">prev</a>()
+<li><a href="qsqlcursor.html#primaryIndex">primaryIndex</a>()
+<li><a href="qsqlcursor.html#primeDelete">primeDelete</a>()
+<li><a href="qsqlcursor.html#primeInsert">primeInsert</a>()
+<li><a href="qsqlcursor.html#primeUpdate">primeUpdate</a>()
+<li><a href="qsqlcursor.html#remove">remove</a>()
+<li><a href="qsqlquery.html#result">result</a>()
+<li><a href="qsqlquery.html#seek">seek</a>()
+<li><a href="qsqlcursor.html#select">select</a>()
+<li><a href="qsqlcursor.html#setCalculated">setCalculated</a>()
+<li><a href="qsqlcursor.html#setFilter">setFilter</a>()
+<li><a href="qsqlquery.html#setForwardOnly">setForwardOnly</a>()
+<li><a href="qsqlcursor.html#setGenerated">setGenerated</a>()
+<li><a href="qsqlcursor.html#setMode">setMode</a>()
+<li><a href="qsqlcursor.html#setName">setName</a>()
+<li><a href="qsqlrecord.html#setNull">setNull</a>()
+<li><a href="qsqlcursor.html#setPrimaryIndex">setPrimaryIndex</a>()
+<li><a href="qsqlcursor.html#setSort">setSort</a>()
+<li><a href="qsqlcursor.html#setTrimmed">setTrimmed</a>()
+<li><a href="qsqlrecord.html#setValue">setValue</a>()
+<li><a href="qsqlquery.html#size">size</a>()
+<li><a href="qsqlcursor.html#sort">sort</a>()
+<li><a href="qsqlcursor.html#toString">toString</a>()
+<li><a href="qsqlrecord.html#toStringList">toStringList</a>()
+<li><a href="qsqlcursor.html#update">update</a>()
+<li><a href="qsqlquery.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlcursor.html b/doc/html/qsqlcursor.html
new file mode 100644
index 0000000..3111cc5
--- /dev/null
+++ b/doc/html/qsqlcursor.html
@@ -0,0 +1,761 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlcursor.cpp:122 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlCursor Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlCursor Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlCursor class provides browsing and editing of SQL
+tables and views.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;</tt>
+<p>Inherits <a href="qsqlrecord.html">QSqlRecord</a> and <a href="qsqlquery.html">QSqlQuery</a>.
+<p>Inherited by <a href="qsqlselectcursor.html">QSqlSelectCursor</a>.
+<p><a href="qsqlcursor-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlCursor"><b>QSqlCursor</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name = QString::null, bool&nbsp;autopopulate = TRUE, QSqlDatabase&nbsp;*&nbsp;db = 0 )</li>
+<li class=fn><a href="#QSqlCursor-2"><b>QSqlCursor</b></a> ( const&nbsp;QSqlCursor&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QSqlCursor &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlCursor&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#~QSqlCursor"><b>~QSqlCursor</b></a> ()</li>
+<li class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { ReadOnly = 0, Insert = 1, Update = 2, Delete = 4, Writable = 7 }</li>
+<li class=fn>virtual QSqlIndex <a href="#primaryIndex"><b>primaryIndex</b></a> ( bool&nbsp;setFromCursor = TRUE ) const</li>
+<li class=fn>virtual QSqlIndex <a href="#index"><b>index</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;fieldNames ) const</li>
+<li class=fn>QSqlIndex <a href="#index-2"><b>index</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName ) const</li>
+<li class=fn>QSqlIndex <a href="#index-3"><b>index</b></a> ( const&nbsp;char&nbsp;*&nbsp;fieldName ) const</li>
+<li class=fn>virtual void <a href="#setPrimaryIndex"><b>setPrimaryIndex</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;idx )</li>
+<li class=fn>virtual void <a href="#append"><b>append</b></a> ( const&nbsp;QSqlFieldInfo&nbsp;&amp;&nbsp;fieldInfo )</li>
+<li class=fn>virtual void <a href="#insert"><b>insert</b></a> ( int&nbsp;pos, const&nbsp;QSqlFieldInfo&nbsp;&amp;&nbsp;fieldInfo )</li>
+<li class=fn>virtual void <a href="#remove"><b>remove</b></a> ( int&nbsp;pos )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#setGenerated"><b>setGenerated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;generated )</li>
+<li class=fn>virtual void <a href="#setGenerated-2"><b>setGenerated</b></a> ( int&nbsp;i, bool&nbsp;generated )</li>
+<li class=fn>virtual QSqlRecord * <a href="#editBuffer"><b>editBuffer</b></a> ( bool&nbsp;copy = FALSE )</li>
+<li class=fn>virtual QSqlRecord * <a href="#primeInsert"><b>primeInsert</b></a> ()</li>
+<li class=fn>virtual QSqlRecord * <a href="#primeUpdate"><b>primeUpdate</b></a> ()</li>
+<li class=fn>virtual QSqlRecord * <a href="#primeDelete"><b>primeDelete</b></a> ()</li>
+<li class=fn>virtual int <a href="#insert-2"><b>insert</b></a> ( bool&nbsp;invalidate = TRUE )</li>
+<li class=fn>virtual int <a href="#update"><b>update</b></a> ( bool&nbsp;invalidate = TRUE )</li>
+<li class=fn>virtual int <a href="#del"><b>del</b></a> ( bool&nbsp;invalidate = TRUE )</li>
+<li class=fn>virtual void <a href="#setMode"><b>setMode</b></a> ( int&nbsp;mode )</li>
+<li class=fn>int <a href="#mode"><b>mode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCalculated"><b>setCalculated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;calculated )</li>
+<li class=fn>bool <a href="#isCalculated"><b>isCalculated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual void <a href="#setTrimmed"><b>setTrimmed</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;trim )</li>
+<li class=fn>bool <a href="#isTrimmed"><b>isTrimmed</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>bool <a href="#canInsert"><b>canInsert</b></a> () const</li>
+<li class=fn>bool <a href="#canUpdate"><b>canUpdate</b></a> () const</li>
+<li class=fn>bool <a href="#canDelete"><b>canDelete</b></a> () const</li>
+<li class=fn>bool <a href="#select-2"><b>select</b></a> ()</li>
+<li class=fn>bool <a href="#select-3"><b>select</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>bool <a href="#select-4"><b>select</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;filter, const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>virtual bool <a href="#select"><b>select</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter, const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort = QSqlIndex ( ) )</li>
+<li class=fn>virtual void <a href="#setSort"><b>setSort</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;sort )</li>
+<li class=fn>QSqlIndex <a href="#sort"><b>sort</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</li>
+<li class=fn>QString <a href="#filter"><b>filter</b></a> () const</li>
+<li class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;autopopulate = TRUE )</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>bool <a href="#isNull-2"><b>isNull</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QVariant <a href="#calculateField"><b>calculateField</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual int <a href="#update-2"><b>update</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter, bool&nbsp;invalidate = TRUE )</li>
+<li class=fn>virtual int <a href="#del-2"><b>del</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter, bool&nbsp;invalidate = TRUE )</li>
+<li class=fn>virtual QString <a href="#toString-3"><b>toString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix, QSqlField&nbsp;*&nbsp;field, const&nbsp;QString&nbsp;&amp;&nbsp;fieldSep ) const</li>
+<li class=fn>virtual QString <a href="#toString"><b>toString</b></a> ( QSqlRecord&nbsp;*&nbsp;rec, const&nbsp;QString&nbsp;&amp;&nbsp;prefix, const&nbsp;QString&nbsp;&amp;&nbsp;fieldSep, const&nbsp;QString&nbsp;&amp;&nbsp;sep ) const</li>
+<li class=fn>virtual QString <a href="#toString-4"><b>toString</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;i, QSqlRecord&nbsp;*&nbsp;rec, const&nbsp;QString&nbsp;&amp;&nbsp;prefix, const&nbsp;QString&nbsp;&amp;&nbsp;fieldSep, const&nbsp;QString&nbsp;&amp;&nbsp;sep ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlCursor class provides browsing and editing of SQL
+tables and views.
+<p>
+
+<p> A QSqlCursor is a database record (see <a href="qsqlrecord.html">QSqlRecord</a>) that
+corresponds to a table or view within an SQL database (see <a href="qsqldatabase.html">QSqlDatabase</a>). There are two buffers in a cursor, one used for
+browsing and one used for editing records. Each buffer contains a
+list of fields which correspond to the fields in the table or
+view.
+<p> When positioned on a valid record, the browse buffer contains the
+values of the current record's fields from the database. The edit
+buffer is separate, and is used for editing existing records and
+inserting new records.
+<p> For browsing data, a cursor must first <a href="#select">select</a>() data from the
+database. After a successful select() the cursor is active
+(<a href="qsqlquery.html#isActive">isActive</a>() returns TRUE), but is initially not positioned on a
+valid record (<a href="qsqlquery.html#isValid">isValid</a>() returns FALSE). To position the cursor on
+a valid record, use one of the navigation functions, <a href="qsqlquery.html#next">next</a>(),
+<a href="qsqlquery.html#prev">prev</a>(), <a href="qsqlquery.html#first">first</a>(), <a href="qsqlquery.html#last">last</a>(), or <a href="qsqlquery.html#seek">seek</a>(). Once positioned on a valid
+record, data can be retrieved from the browse buffer using
+<a href="qsqlquery.html#value">value</a>(). If a navigation function is not successful, it returns
+FALSE, the cursor will no longer be positioned on a valid record
+and the values returned by value() are undefined.
+<p> For example:
+<p>
+
+<pre> QSqlCursor cur( "staff" ); // Specify the table/view name
+ <a name="x2178"></a> cur.<a href="#select">select</a>(); // We'll retrieve every record
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2179"></a> <a href="qapplication.html#qDebug">qDebug</a>( cur.<a href="qsqlquery.html#value">value</a>( "id" ).toString() + ": " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "salary" ).toString() );
+ }
+</pre>
+<p> In the above example, a cursor is created specifying a table or
+view name in the database. Then, <a href="#select">select</a>() is called, which can be
+optionally parameterised to filter and order the records
+retrieved. Each record in the cursor is retrieved using <a href="qsqlquery.html#next">next</a>().
+When next() returns FALSE, there are no more records to process,
+and the loop terminates.
+<p> For editing records (rows of data), a cursor contains a separate
+edit buffer which is independent of the fields used when browsing.
+The functions <a href="#insert">insert</a>(), <a href="#update">update</a>() and <a href="#del">del</a>() operate on the edit
+buffer. This allows the cursor to be repositioned to other
+records while simultaneously maintaining a separate buffer for
+edits. You can get a pointer to the edit buffer using
+<a href="#editBuffer">editBuffer</a>(). The <a href="#primeInsert">primeInsert</a>(), <a href="#primeUpdate">primeUpdate</a>() and <a href="#primeDelete">primeDelete</a>()
+functions also return a pointer to the edit buffer and prepare it
+for insert, update and delete respectively. Edit operations only
+affect a single row at a time. Note that update() and del()
+require that the table or view contain a <a href="#primaryIndex">primaryIndex</a>() to ensure
+that edit operations affect a unique record within the database.
+<p> For example:
+<p>
+
+<pre> QSqlCursor cur( "prices" );
+ <a name="x2200"></a> cur.<a href="#select">select</a>( "id=202" );
+ if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2199"></a> <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="#primeUpdate">primeUpdate</a>();
+ <a name="x2204"></a> double price = buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "price" ).toDouble();
+ double newprice = price * 1.05;
+ <a name="x2203"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", newprice );
+ <a name="x2201"></a> cur.<a href="#update">update</a>();
+ }
+</pre>
+<p> To edit an existing database record, first move to the record you
+wish to update. Call <a href="#primeUpdate">primeUpdate</a>() to get the pointer to the
+cursor's edit buffer. Then use this pointer to modify the values
+in the edit buffer. Finally, call <a href="#update">update</a>() to save the changes to
+the database. The values in the edit buffer will be used to
+locate the appropriate record when updating the database (see
+<a href="#primaryIndex">primaryIndex</a>()).
+<p> Similarly, when deleting an existing database record, first move
+to the record you wish to delete. Then, call <a href="#primeDelete">primeDelete</a>() to get
+the pointer to the edit buffer. Finally, call <a href="#del">del</a>() to delete the
+record from the database. Again, the values in the edit buffer
+will be used to locate and delete the appropriate record.
+<p> To insert a new record, call <a href="#primeInsert">primeInsert</a>() to get the pointer to
+the edit buffer. Use this pointer to populate the edit buffer
+with new values and then <a href="#insert">insert</a>() the record into the database.
+<p> After calling insert(), update() or del(), the cursor is no longer
+positioned on a valid record and can no longer be navigated
+(<a href="qsqlquery.html#isValid">isValid</a>() return FALSE). The reason for this is that any changes
+made to the database will not be visible until <a href="#select">select</a>() is called
+to refresh the cursor. You can change this behavior by passing
+FALSE to insert(), <a href="#update">update</a>() or del() which will prevent the cursor
+from becoming invalid. The edits will still not be visible when
+navigating the cursor until select() is called.
+<p> QSqlCursor contains virtual methods which allow editing behavior
+to be customized by subclasses. This allows custom cursors to be
+created that encapsulate the editing behavior of a database table
+for an entire application. For example, a cursor can be customized
+to always auto-number primary index fields, or provide fields with
+suitable default values, when inserting new records. QSqlCursor
+generates SQL statements which are sent to the database engine;
+you can control which fields are included in these statements
+using <a href="#setGenerated">setGenerated</a>().
+<p> Note that QSqlCursor does not inherit from <a href="qobject.html">QObject</a>. This means
+that you are responsible for destroying instances of this class
+yourself. However if you create a QSqlCursor and use it in a
+<a href="qdatatable.html">QDataTable</a>, <a href="qdatabrowser.html">QDataBrowser</a> or a <a href="qdataview.html">QDataView</a> these classes will
+usually take ownership of the cursor and destroy it when they
+don't need it anymore. The documentation for <a href="qdatatable.html">QDataTable</a>,
+<a href="qdatabrowser.html">QDataBrowser</a> and <a href="qdataview.html">QDataView</a> explicitly states which calls take
+ownership of the cursor.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Mode-enum"></a>QSqlCursor::Mode</h3>
+
+<p> This enum type describes how QSqlCursor operates on records in the
+database.
+<ul>
+<li><tt>QSqlCursor::ReadOnly</tt> - the cursor can only SELECT records from the
+database.
+<li><tt>QSqlCursor::Insert</tt> - the cursor can INSERT records into the database.
+<li><tt>QSqlCursor::Update</tt> - the cursor can UPDATE records in the database.
+<li><tt>QSqlCursor::Delete</tt> - the cursor can DELETE records from the database.
+<li><tt>QSqlCursor::Writable</tt> - the cursor can INSERT, UPDATE and DELETE records
+in the database.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlCursor"></a>QSqlCursor::QSqlCursor ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name = QString::null, bool&nbsp;autopopulate = TRUE, <a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;*&nbsp;db = 0 )
+</h3>
+Constructs a cursor on database <em>db</em> using table or view <em>name</em>.
+<p> If <em>autopopulate</em> is TRUE (the default), the <em>name</em> of the
+cursor must correspond to an existing table or view name in the
+database so that field information can be automatically created.
+If the table or view does not exist, the cursor will not be
+functional.
+<p> The cursor is created with an initial mode of QSqlCursor::Writable
+(meaning that records can be inserted, updated or deleted using
+the cursor). If the cursor does not have a unique primary index,
+update and deletes cannot be performed.
+<p> Note that <em>autopopulate</em> refers to populating the cursor with
+meta-data, e.g. the names of the table's fields, not with
+retrieving data. The <a href="#select">select</a>() function is used to populate the
+cursor with data.
+<p> <p>See also <a href="#setName">setName</a>() and <a href="#setMode">setMode</a>().
+
+<h3 class=fn><a name="QSqlCursor-2"></a>QSqlCursor::QSqlCursor ( const&nbsp;<a href="qsqlcursor.html">QSqlCursor</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlCursor"></a>QSqlCursor::~QSqlCursor ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="append"></a>QSqlCursor::append ( const&nbsp;<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp;&nbsp;fieldInfo )<tt> [virtual]</tt>
+</h3>
+Append a copy of field <em>fieldInfo</em> to the end of the cursor. Note
+that all references to the cursor edit buffer become invalidated.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="calculateField"></a>QSqlCursor::calculateField ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function which is called whenever a field needs
+to be calculated. If calculated fields are being used, derived
+classes must reimplement this function and return the appropriate
+value for field <em>name</em>. The default implementation returns an
+invalid <a href="qvariant.html">QVariant</a>.
+<p> <p>See also <a href="#setCalculated">setCalculated</a>().
+
+<p>Examples: <a href="sql.html#x2259">sql/overview/subclass3/main.cpp</a> and <a href="sql.html#x2263">sql/overview/subclass4/main.cpp</a>.
+<h3 class=fn>bool <a name="canDelete"></a>QSqlCursor::canDelete () const
+</h3>
+Returns TRUE if the cursor will perform deletes; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setMode">setMode</a>().
+
+<h3 class=fn>bool <a name="canInsert"></a>QSqlCursor::canInsert () const
+</h3>
+Returns TRUE if the cursor will perform inserts; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setMode">setMode</a>().
+
+<h3 class=fn>bool <a name="canUpdate"></a>QSqlCursor::canUpdate () const
+</h3>
+Returns TRUE if the cursor will perform updates; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setMode">setMode</a>().
+
+<h3 class=fn>void <a name="clear"></a>QSqlCursor::clear ()<tt> [virtual]</tt>
+</h3>
+Removes all fields from the cursor. Note that all references to
+the cursor edit buffer become invalidated.
+
+<p>Reimplemented from <a href="qsqlrecord.html#clear">QSqlRecord</a>.
+<h3 class=fn>int <a name="del"></a>QSqlCursor::del ( bool&nbsp;invalidate = TRUE )<tt> [virtual]</tt>
+</h3>
+Deletes a record from the database using the cursor's primary
+index and the contents of the cursor edit buffer. Returns the
+number of records which were deleted.
+For error information, use <a href="qsqlquery.html#lastError">lastError</a>().
+<p> Only records which meet the filter criteria specified by the
+cursor's primary index are deleted. If the cursor does not contain
+a primary index, no delete is performed and 0 is returned. If <em>invalidate</em> is TRUE (the default), the current cursor can no longer
+be navigated. A new <a href="#select">select</a>() call must be made before you can move
+to a valid record. For example:
+<p>
+
+<pre> QSqlCursor cur( "prices" );
+ <a name="x2207"></a> cur.<a href="#select">select</a>( "id=999" );
+ <a name="x2208"></a> if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2206"></a> cur.<a href="#primeDelete">primeDelete</a>();
+ <a name="x2205"></a> cur.<a href="#del">del</a>();
+ }
+</pre>
+<p> In the above example, a cursor is created on the 'prices' table
+and positioned to the record to be deleted. First <a href="#primeDelete">primeDelete</a>() is
+called to populate the edit buffer with the current cursor values,
+e.g. with an id of 999, and then <a href="#del">del</a>() is called to actually
+delete the record from the database. Remember: all edit operations
+(<a href="#insert">insert</a>(), <a href="#update">update</a>() and delete()) operate on the contents of the
+cursor edit buffer and not on the contents of the cursor itself.
+<p> <p>See also <a href="#primeDelete">primeDelete</a>(), <a href="#setMode">setMode</a>(), and <a href="qsqlquery.html#lastError">lastError</a>().
+
+<p>Example: <a href="sql.html#x2205">sql/overview/delete/main.cpp</a>.
+<h3 class=fn>int <a name="del-2"></a>QSqlCursor::del ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter, bool&nbsp;invalidate = TRUE )<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Deletes the current cursor record from the database using the
+filter <em>filter</em>. Only records which meet the filter criteria are
+deleted. Returns the number of records which were deleted. If <em>invalidate</em> is TRUE (the default), the current cursor can no longer
+be navigated. A new <a href="#select">select</a>() call must be made before you can move
+to a valid record. For error information, use <a href="qsqlquery.html#lastError">lastError</a>().
+<p> The <em>filter</em> is an SQL <tt>WHERE</tt> clause, e.g. <tt>id=500</tt>.
+<p> <p>See also <a href="#setMode">setMode</a>() and <a href="qsqlquery.html#lastError">lastError</a>().
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="editBuffer"></a>QSqlCursor::editBuffer ( bool&nbsp;copy = FALSE )<tt> [virtual]</tt>
+</h3>
+Returns the current internal edit buffer. If <em>copy</em> is TRUE (the
+default is FALSE), the current cursor field values are first
+copied into the edit buffer. The edit buffer is valid as long as
+the cursor remains valid. The cursor retains ownership of the
+returned pointer, so it must not be deleted or modified.
+<p> <p>See also <a href="#primeInsert">primeInsert</a>(), <a href="#primeUpdate">primeUpdate</a>(), and <a href="#primeDelete">primeDelete</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="filter"></a>QSqlCursor::filter () const
+</h3>
+Returns the current filter, or an empty string if there is no
+current filter.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="index"></a>QSqlCursor::index ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;fieldNames ) const<tt> [virtual]</tt>
+</h3>
+Returns an index composed of <em>fieldNames</em>, all in ASCending
+order. Note that all field names must exist in the cursor,
+otherwise an empty index is returned.
+<p> <p>See also <a href="qsqlindex.html">QSqlIndex</a>.
+
+<p>Examples: <a href="sql.html#x2188">sql/overview/extract/main.cpp</a>, <a href="sql.html#x2181">sql/overview/order1/main.cpp</a>, <a href="sql.html#x2184">sql/overview/order2/main.cpp</a>, and <a href="sql.html#x2241">sql/overview/table3/main.cpp</a>.
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="index-2"></a>QSqlCursor::index ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an index based on <em>fieldName</em>.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="index-3"></a>QSqlCursor::index ( const&nbsp;char&nbsp;*&nbsp;fieldName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an index based on <em>fieldName</em>.
+
+<h3 class=fn>void <a name="insert"></a>QSqlCursor::insert ( int&nbsp;pos, const&nbsp;<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp;&nbsp;fieldInfo )<tt> [virtual]</tt>
+</h3>
+Insert a copy of <em>fieldInfo</em> at position <em>pos</em>. If a field
+already exists at <em>pos</em>, it is removed. Note that all references
+to the cursor edit buffer become invalidated.
+
+<p>Examples: <a href="sql.html#x2194">sql/overview/insert/main.cpp</a> and <a href="qsqlcursor.html#x2446">sql/overview/insert2/main.cpp</a>.
+<h3 class=fn>int <a name="insert-2"></a>QSqlCursor::insert ( bool&nbsp;invalidate = TRUE )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the current contents of the cursor's edit record buffer
+into the database, if the cursor allows inserts. Returns the
+number of rows affected by the insert. For error information, use
+<a href="qsqlquery.html#lastError">lastError</a>().
+<p> If <em>invalidate</em> is TRUE (the default), the cursor will no longer
+be positioned on a valid record and can no longer be navigated. A
+new <a href="#select">select</a>() call must be made before navigating to a valid
+record.
+<p>
+
+<pre> QSqlCursor cur( "prices" );
+ <a name="x2447"></a> <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="#primeInsert">primeInsert</a>();
+ <a name="x2448"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", 53981 );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "name", "Thingy" );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", 105.75 );
+ <a name="x2446"></a> cur.<a href="#insert">insert</a>();
+</pre>
+<p> In the above example, a cursor is created on the 'prices' table
+and a pointer to the insert buffer is aquired using <a href="#primeInsert">primeInsert</a>().
+Each field's value is set to the desired value and then <a href="#insert">insert</a>()
+is called to insert the data into the database. Remember: all edit
+operations (insert(), <a href="#update">update</a>() and delete()) operate on the
+contents of the cursor edit buffer and not on the contents of the
+cursor itself.
+<p> <p>See also <a href="#setMode">setMode</a>() and <a href="qsqlquery.html#lastError">lastError</a>().
+
+<h3 class=fn>bool <a name="isCalculated"></a>QSqlCursor::isCalculated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if the field <em>name</em> exists and is calculated;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setCalculated">setCalculated</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QSqlCursor::isNull ( int&nbsp;i ) const
+</h3>
+Returns TRUE if the field <em>i</em> is NULL or if there is no field at
+position <em>i</em>; otherwise returns FALSE.
+<p> This is the same as calling <a href="qsqlrecord.html#isNull">QSqlRecord::isNull</a>( <em>i</em> )
+
+<h3 class=fn>bool <a name="isNull-2"></a>QSqlCursor::isNull ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the field called <em>name</em> is NULL or if there is no
+field called <em>name</em>; otherwise returns FALSE.
+<p> This is the same as calling <a href="qsqlrecord.html#isNull">QSqlRecord::isNull</a>( <em>name</em> )
+
+<h3 class=fn>bool <a name="isReadOnly"></a>QSqlCursor::isReadOnly () const
+</h3>
+Returns TRUE if the cursor is read-only; otherwise returns FALSE.
+The default is FALSE. Read-only cursors cannot be edited using
+<a href="#insert">insert</a>(), <a href="#update">update</a>() or <a href="#del">del</a>().
+<p> <p>See also <a href="#setMode">setMode</a>().
+
+<h3 class=fn>bool <a name="isTrimmed"></a>QSqlCursor::isTrimmed ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if the field <em>name</em> exists and is trimmed; otherwise
+returns FALSE.
+<p> When a trimmed field of type string or cstring is read from the
+database any trailing (right-most) spaces are removed.
+<p> <p>See also <a href="#setTrimmed">setTrimmed</a>().
+
+<h3 class=fn>int <a name="mode"></a>QSqlCursor::mode () const
+</h3>
+Returns the current cursor mode.
+<p> <p>See also <a href="#setMode">setMode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QSqlCursor::name () const
+</h3>
+Returns the name of the cursor.
+
+<h3 class=fn><a href="qsqlcursor.html">QSqlCursor</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlCursor::operator= ( const&nbsp;<a href="qsqlcursor.html">QSqlCursor</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Sets the cursor equal to <em>other</em>.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="primaryIndex"></a>QSqlCursor::primaryIndex ( bool&nbsp;setFromCursor = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Returns the primary index associated with the cursor as defined in
+the database, or an empty index if there is no primary index. If
+<em>setFromCursor</em> is TRUE (the default), the index fields are
+populated with the corresponding values in the cursor's current
+record.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="primeDelete"></a>QSqlCursor::primeDelete ()<tt> [virtual]</tt>
+</h3>
+This function primes the edit buffer's field values for delete and
+returns the edit buffer. The default implementation copies the
+field values from the current cursor record into the edit buffer
+(therefore, this function is equivalent to calling <a href="#editBuffer">editBuffer</a>(
+TRUE ) ). The cursor retains ownership of the returned pointer, so
+it must not be deleted or modified.
+<p> <p>See also <a href="#editBuffer">editBuffer</a>() and <a href="#del">del</a>().
+
+<p>Example: <a href="sql.html#x2206">sql/overview/delete/main.cpp</a>.
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="primeInsert"></a>QSqlCursor::primeInsert ()<tt> [virtual]</tt>
+</h3>
+This function primes the edit buffer's field values for insert and
+returns the edit buffer. The default implementation clears all
+field values in the edit buffer. The cursor retains ownership of
+the returned pointer, so it must not be deleted or modified.
+<p> <p>See also <a href="#editBuffer">editBuffer</a>() and <a href="#insert">insert</a>().
+
+<p>Examples: <a href="sql.html#x2195">sql/overview/insert/main.cpp</a>, <a href="qsqlcursor.html#x2447">sql/overview/insert2/main.cpp</a>, <a href="sql.html#x2267">sql/overview/subclass5/main.cpp</a>, and <a href="sqltable-example.html#x2453">sql/sqltable/main.cpp</a>.
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;* <a name="primeUpdate"></a>QSqlCursor::primeUpdate ()<tt> [virtual]</tt>
+</h3>
+This function primes the edit buffer's field values for update and
+returns the edit buffer. The default implementation copies the
+field values from the current cursor record into the edit buffer
+(therefore, this function is equivalent to calling <a href="#editBuffer">editBuffer</a>(
+TRUE ) ). The cursor retains ownership of the returned pointer, so
+it must not be deleted or modified.
+<p> <p>See also <a href="#editBuffer">editBuffer</a>() and <a href="#update">update</a>().
+
+<p>Examples: <a href="sql.html#x2236">sql/overview/custom1/main.cpp</a>, <a href="sql.html#x2223">sql/overview/form1/main.cpp</a>, and <a href="sql.html#x2199">sql/overview/update/main.cpp</a>.
+<h3 class=fn>void <a name="remove"></a>QSqlCursor::remove ( int&nbsp;pos )<tt> [virtual]</tt>
+</h3>
+Removes the field at <em>pos</em>. If <em>pos</em> does not exist, nothing
+happens. Note that all references to the cursor edit buffer become
+invalidated.
+
+<p>Reimplemented from <a href="qsqlrecord.html#remove">QSqlRecord</a>.
+<h3 class=fn>bool <a name="select"></a>QSqlCursor::select ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter, const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort = QSqlIndex ( ) )<tt> [virtual]</tt>
+</h3>
+Selects all fields in the cursor from the database matching the
+filter criteria <em>filter</em>. The data is returned in the order
+specified by the index <em>sort</em>. Returns TRUE if the data was
+successfully selected; otherwise returns FALSE.
+<p> The <em>filter</em> is a string containing a SQL <tt>WHERE</tt> clause but
+without the 'WHERE' keyword. The cursor is initially positioned at
+an invalid row after this function is called. To move to a valid
+row, use <a href="qsqlquery.html#seek">seek</a>(), <a href="qsqlquery.html#first">first</a>(), <a href="qsqlquery.html#last">last</a>(), <a href="qsqlquery.html#prev">prev</a>() or <a href="qsqlquery.html#next">next</a>().
+<p> Example:
+<pre>
+ QSqlCursor cur( "Employee" ); // Use the Employee table or view
+ cur.<a href="#select">select</a>( "deptno=10" ); // select all records in department 10
+ while( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ ... // process data
+ }
+ ...
+ // select records in other departments, ordered by department number
+ cur.<a href="#select">select</a>( "deptno&gt;10", cur.<a href="#index">index</a>( "deptno" ) );
+ ...
+ </pre>
+
+<p> The filter will apply to any subsequent <a href="#select">select</a>() calls that do not
+explicitly specify another filter. Similarly the sort will apply
+to any subsequent select() calls that do not explicitly specify
+another sort.
+<p> <pre>
+ QSqlCursor cur( "Employee" );
+ cur.<a href="#select">select</a>( "deptno=10" ); // select all records in department 10
+ while( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ ... // process data
+ }
+ ...
+ cur.<a href="#select">select</a>(); // re-selects all records in department 10
+ ...
+ </pre>
+
+<p>
+<p>Examples: <a href="sql.html#x2207">sql/overview/delete/main.cpp</a>, <a href="sql.html#x2189">sql/overview/extract/main.cpp</a>, <a href="sql.html#x2182">sql/overview/order1/main.cpp</a>, <a href="sql.html#x2185">sql/overview/order2/main.cpp</a>, <a href="sql.html#x2178">sql/overview/retrieve2/main.cpp</a>, <a href="sql.html#x2242">sql/overview/table3/main.cpp</a>, and <a href="sql.html#x2200">sql/overview/update/main.cpp</a>.
+<h3 class=fn>bool <a name="select-2"></a>QSqlCursor::select ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Selects all fields in the cursor from the database. The rows are
+returned in the order specified by the last call to <a href="#setSort">setSort</a>() or
+the last call to <a href="#select">select</a>() that specified a sort, whichever is the
+most recent. If there is no current sort, the order in which the
+rows are returned is undefined. The records are filtered according
+to the filter specified by the last call to <a href="#setFilter">setFilter</a>() or the
+last call to select() that specified a filter, whichever is the
+most recent. If there is no current filter, all records are
+returned. The cursor is initially positioned at an invalid row. To
+move to a valid row, use <a href="qsqlquery.html#seek">seek</a>(), <a href="qsqlquery.html#first">first</a>(), <a href="qsqlquery.html#last">last</a>(), <a href="qsqlquery.html#prev">prev</a>() or
+<a href="qsqlquery.html#next">next</a>().
+<p> <p>See also <a href="#setSort">setSort</a>() and <a href="#setFilter">setFilter</a>().
+
+<h3 class=fn>bool <a name="select-3"></a>QSqlCursor::select ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Selects all fields in the cursor from the database. The data is
+returned in the order specified by the index <em>sort</em>. The records
+are filtered according to the filter specified by the last call to
+<a href="#setFilter">setFilter</a>() or the last call to <a href="#select">select</a>() that specified a filter,
+whichever is the most recent. The cursor is initially positioned
+at an invalid row. To move to a valid row, use <a href="qsqlquery.html#seek">seek</a>(), <a href="qsqlquery.html#first">first</a>(),
+<a href="qsqlquery.html#last">last</a>(), <a href="qsqlquery.html#prev">prev</a>() or <a href="qsqlquery.html#next">next</a>().
+
+<h3 class=fn>bool <a name="select-4"></a>QSqlCursor::select ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;filter, const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Selects all fields in the cursor matching the filter index <em>filter</em>. The data is returned in the order specified by the index
+<em>sort</em>. The <em>filter</em> index works by constructing a WHERE clause
+using the names of the fields from the <em>filter</em> and their values
+from the current cursor record. The cursor is initially positioned
+at an invalid row. To move to a valid row, use <a href="qsqlquery.html#seek">seek</a>(), <a href="qsqlquery.html#first">first</a>(),
+<a href="qsqlquery.html#last">last</a>(), <a href="qsqlquery.html#prev">prev</a>() or <a href="qsqlquery.html#next">next</a>(). This function is useful, for example,
+for retrieving data based upon a table's primary index:
+<p> <pre>
+ QSqlCursor cur( "Employee" );
+ <a href="qsqlindex.html">QSqlIndex</a> pk = cur.<a href="#primaryIndex">primaryIndex</a>();
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "id", 10 );
+ cur.<a href="#select">select</a>( pk, pk ); // generates "SELECT ... FROM Employee WHERE id=10 ORDER BY id"
+ ...
+ </pre>
+
+<p> In this example the <a href="qsqlindex.html">QSqlIndex</a>, pk, is used for two different
+purposes. When used as the filter (first) argument, the field
+names it contains are used to construct the WHERE clause, each set
+to the current cursor value, <tt>WHERE id=10</tt>, in this case. When
+used as the sort (second) argument the field names it contains are
+used for the ORDER BY clause, <tt>ORDER BY id</tt> in this example.
+
+<h3 class=fn>void <a name="setCalculated"></a>QSqlCursor::setCalculated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;calculated )<tt> [virtual]</tt>
+</h3>
+Sets field <em>name</em> to <em>calculated</em>. If the field <em>name</em> does not
+exist, nothing happens. The value of a calculated field is set by
+the <a href="#calculateField">calculateField</a>() virtual function which you must reimplement
+(or the field value will be an invalid <a href="qvariant.html">QVariant</a>). Calculated
+fields do not appear in generated SQL statements sent to the
+database.
+<p> <p>See also <a href="#calculateField">calculateField</a>() and <a href="qsqlrecord.html#setGenerated">QSqlRecord::setGenerated</a>().
+
+<h3 class=fn>void <a name="setFilter"></a>QSqlCursor::setFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter )<tt> [virtual]</tt>
+</h3>
+Sets the current filter to <em>filter</em>. Note that no new records are
+selected. To select new records, use <a href="#select">select</a>(). The <em>filter</em> will
+apply to any subsequent select() calls that do not explicitly
+specify a filter.
+<p> The filter is a SQL <tt>WHERE</tt> clause without the keyword 'WHERE',
+e.g. <tt>name='Dave'</tt> which will be processed by the DBMS.
+
+<h3 class=fn>void <a name="setGenerated"></a>QSqlCursor::setGenerated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;generated )<tt> [virtual]</tt>
+</h3>
+Sets the generated flag for the field <em>name</em> to <em>generated</em>. If
+the field does not exist, nothing happens. Only fields that have
+<em>generated</em> set to TRUE are included in the SQL that is
+generated by <a href="#insert">insert</a>(), <a href="#update">update</a>() or <a href="#del">del</a>().
+<p> <p>See also <a href="qsqlrecord.html#isGenerated">isGenerated</a>().
+
+<p>Reimplemented from <a href="qsqlrecord.html#setGenerated">QSqlRecord</a>.
+<h3 class=fn>void <a name="setGenerated-2"></a>QSqlCursor::setGenerated ( int&nbsp;i, bool&nbsp;generated )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the generated flag for the field <em>i</em> to <em>generated</em>.
+<p> <p>See also <a href="qsqlrecord.html#isGenerated">isGenerated</a>().
+
+<p>Reimplemented from <a href="qsqlrecord.html#setGenerated-2">QSqlRecord</a>.
+<h3 class=fn>void <a name="setMode"></a>QSqlCursor::setMode ( int&nbsp;mode )<tt> [virtual]</tt>
+</h3>
+Sets the cursor mode to <em>mode</em>. This value can be an OR'ed
+combination of <a href="#Mode-enum">QSqlCursor::Mode</a> values. The default mode for a
+cursor is <a href="#Mode-enum">QSqlCursor::Writable</a>.
+<p> <pre>
+ QSqlCursor cur( "Employee" );
+ cur.<a href="#setMode">setMode</a>( QSqlCursor::<a href="#Mode-enum">Writable</a> ); // allow insert/update/delete
+ ...
+ cur.<a href="#setMode">setMode</a>( QSqlCursor::<a href="#Mode-enum">Insert</a> | QSqlCursor::<a href="#Mode-enum">Update</a> ); // allow inserts and updates only
+ ...
+ cur.<a href="#setMode">setMode</a>( QSqlCursor::<a href="#Mode-enum">ReadOnly</a> ); // no inserts/updates/deletes allowed
+
+ </pre>
+
+
+<h3 class=fn>void <a name="setName"></a>QSqlCursor::setName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;autopopulate = TRUE )<tt> [virtual]</tt>
+</h3>
+Sets the name of the cursor to <em>name</em>. If <em>autopopulate</em> is TRUE
+(the default), the <em>name</em> must correspond to a valid table or
+view name in the database. Also, note that all references to the
+cursor edit buffer become invalidated when fields are
+auto-populated. See the QSqlCursor constructor documentation for
+more information.
+
+<h3 class=fn>void <a name="setPrimaryIndex"></a>QSqlCursor::setPrimaryIndex ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;idx )<tt> [virtual]</tt>
+</h3>
+Sets the primary index associated with the cursor to the index <em>idx</em>. Note that this index must contain a field or set of fields
+which identify a unique record within the underlying database
+table or view so that <a href="#update">update</a>() and <a href="#del">del</a>() will execute as expected.
+<p> <p>See also <a href="#update">update</a>() and <a href="#del">del</a>().
+
+<h3 class=fn>void <a name="setSort"></a>QSqlCursor::setSort ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;sort )<tt> [virtual]</tt>
+</h3>
+Sets the current sort to <em>sort</em>. Note that no new records are
+selected. To select new records, use <a href="#select">select</a>(). The <em>sort</em> will
+apply to any subsequent select() calls that do not explicitly
+specify a sort.
+
+<h3 class=fn>void <a name="setTrimmed"></a>QSqlCursor::setTrimmed ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;trim )<tt> [virtual]</tt>
+</h3>
+Sets field <em>name</em>'s trimmed status to <em>trim</em>. If the field <em>name</em> does not exist, nothing happens.
+<p> When a trimmed field of type string or cstring is read from the
+database any trailing (right-most) spaces are removed.
+<p> <p>See also <a href="#isTrimmed">isTrimmed</a>() and <a href="qvariant.html">QVariant</a>.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="sort"></a>QSqlCursor::sort () const
+</h3>
+Returns the current sort, or an empty index if there is no current
+sort.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QSqlCursor::toString ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;rec, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldSep, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep ) const<tt> [virtual protected]</tt>
+</h3>
+Returns a formatted string composed of all the fields in <em>rec</em>.
+Each field is composed of the <em>prefix</em> (e.g. table or view name),
+".", the field name, the <em>fieldSep</em> and the field value. If the
+<em>prefix</em> is empty then each field will begin with the field name.
+The fields are then joined together separated by <em>sep</em>. Fields
+where <a href="qsqlrecord.html#isGenerated">isGenerated</a>() returns FALSE are not included. This function
+is useful for generating SQL statements.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-3"></a>QSqlCursor::toString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix, <a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldSep ) const<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a formatted string composed of the <em>prefix</em> (e.g. table
+or view name), ".", the <em>field</em> name, the <em>fieldSep</em> and the
+field value. If the <em>prefix</em> is empty then the string will begin
+with the <em>field</em> name. This function is useful for generating SQL
+statements.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-4"></a>QSqlCursor::toString ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;i, <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;rec, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldSep, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep ) const<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a formatted string composed of all the fields in the index
+<em>i</em>. Each field is composed of the <em>prefix</em> (e.g. table or view
+name), ".", the field name, the <em>fieldSep</em> and the field value.
+If the <em>prefix</em> is empty then each field will begin with the field
+name. The field values are taken from <em>rec</em>. The fields are then
+joined together separated by <em>sep</em>. Fields where <a href="qsqlrecord.html#isGenerated">isGenerated</a>()
+returns FALSE are ignored. This function is useful for generating
+SQL statements.
+
+<h3 class=fn>int <a name="update"></a>QSqlCursor::update ( bool&nbsp;invalidate = TRUE )<tt> [virtual]</tt>
+</h3>
+Updates the database with the current contents of the edit buffer.
+Returns the number of records which were updated.
+For error information, use <a href="qsqlquery.html#lastError">lastError</a>().
+<p> Only records which meet the filter criteria specified by the
+cursor's primary index are updated. If the cursor does not contain
+a primary index, no update is performed and 0 is returned.
+<p> If <em>invalidate</em> is TRUE (the default), the current cursor can no
+longer be navigated. A new <a href="#select">select</a>() call must be made before you
+can move to a valid record. For example:
+<p>
+
+<pre> QSqlCursor cur( "prices" );
+ <a name="x2200"></a> cur.<a href="#select">select</a>( "id=202" );
+ if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2199"></a> <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="#primeUpdate">primeUpdate</a>();
+ <a name="x2204"></a> double price = buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "price" ).toDouble();
+ double newprice = price * 1.05;
+ <a name="x2203"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", newprice );
+ <a name="x2201"></a> cur.<a href="#update">update</a>();
+ }
+</pre>
+<p> In the above example, a cursor is created on the 'prices' table
+and is positioned on the record to be updated. Then a pointer to
+the cursor's edit buffer is acquired using <a href="#primeUpdate">primeUpdate</a>(). A new
+value is calculated and placed into the edit buffer with the
+<a href="qsqlrecord.html#setValue">setValue</a>() call. Finally, an <a href="#update">update</a>() call is made on the cursor
+which uses the tables's primary index to update the record in the
+database with the contents of the cursor's edit buffer. Remember:
+all edit operations (<a href="#insert">insert</a>(), update() and delete()) operate on
+the contents of the cursor edit buffer and not on the contents of
+the cursor itself.
+<p> Note that if the primary index does not uniquely distinguish
+records the database may be changed into an inconsistent state.
+<p> <p>See also <a href="#setMode">setMode</a>() and <a href="qsqlquery.html#lastError">lastError</a>().
+
+<p>Example: <a href="sql.html#x2201">sql/overview/update/main.cpp</a>.
+<h3 class=fn>int <a name="update-2"></a>QSqlCursor::update ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filter, bool&nbsp;invalidate = TRUE )<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Updates the database with the current contents of the cursor edit
+buffer using the specified <em>filter</em>. Returns the number of
+records which were updated.
+For error information, use <a href="qsqlquery.html#lastError">lastError</a>().
+<p> Only records which meet the filter criteria are updated, otherwise
+all records in the table are updated.
+<p> If <em>invalidate</em> is TRUE (the default), the cursor can no longer
+be navigated. A new <a href="#select">select</a>() call must be made before you can move
+to a valid record.
+<p> <p>See also <a href="#primeUpdate">primeUpdate</a>(), <a href="#setMode">setMode</a>(), and <a href="qsqlquery.html#lastError">lastError</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldatabase-h.html b/doc/html/qsqldatabase-h.html
new file mode 100644
index 0000000..61ce71b
--- /dev/null
+++ b/doc/html/qsqldatabase-h.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldatabase.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqldatabase.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqldatabase.h</h1>
+
+<p>This is the verbatim text of the qsqldatabase.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlDatabase class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLDATABASE_H
+#define QSQLDATABASE_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qstring.h"
+#include "qsqlquery.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlError;
+class QSqlDriver;
+class QSqlIndex;
+class QSqlRecord;
+class QSqlRecordInfo;
+class QSqlDatabasePrivate;
+
+class QM_EXPORT_SQL QSqlDriverCreatorBase
+{
+public:
+ virtual QSqlDriver* createObject() = 0;
+};
+
+template &lt;class type&gt;
+class QM_EXPORT_SQL QSqlDriverCreator: public QSqlDriverCreatorBase
+{
+public:
+ QSqlDriver* createObject() { return new type; }
+};
+
+class QM_EXPORT_SQL QSqlDatabase : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY( QString databaseName READ databaseName WRITE setDatabaseName )
+ Q_PROPERTY( QString userName READ userName WRITE setUserName )
+ Q_PROPERTY( QString password READ password WRITE setPassword )
+ Q_PROPERTY( QString hostName READ hostName WRITE setHostName )
+ Q_PROPERTY( int port READ port WRITE setPort )
+ Q_PROPERTY( QString connectOptions READ connectOptions WRITE setConnectOptions )
+
+public:
+ ~QSqlDatabase();
+
+ bool open();
+ bool open( const QString&amp; user, const QString&amp; password );
+ void close();
+ bool isOpen() const;
+ bool isOpenError() const;
+ QStringList tables() const;
+ QStringList tables( QSql::TableType type ) const;
+ QSqlIndex primaryIndex( const QString&amp; tablename ) const;
+ QSqlRecord record( const QString&amp; tablename ) const;
+ QSqlRecord record( const QSqlQuery&amp; query ) const;
+ QSqlRecordInfo recordInfo( const QString&amp; tablename ) const;
+ QSqlRecordInfo recordInfo( const QSqlQuery&amp; query ) const;
+ QSqlQuery exec( const QString&amp; query = QString::null ) const;
+ QSqlError lastError() const;
+
+ bool transaction();
+ bool commit();
+ bool rollback();
+
+ virtual void setDatabaseName( const QString&amp; name );
+ virtual void setUserName( const QString&amp; name );
+ virtual void setPassword( const QString&amp; password );
+ virtual void setHostName( const QString&amp; host );
+ virtual void setPort( int p );
+ void setConnectOptions( const QString&amp; options = QString::null );
+ QString databaseName() const;
+ QString userName() const;
+ QString password() const;
+ QString hostName() const;
+ QString driverName() const;
+ int port() const;
+ QString connectOptions() const;
+
+ QSqlDriver* driver() const;
+
+ // MOC_SKIP_BEGIN
+ QT_STATIC_CONST char * const defaultConnection;
+ // MOC_SKIP_END
+
+ static QSqlDatabase* addDatabase( const QString&amp; type, const QString&amp; connectionName = defaultConnection );
+ static QSqlDatabase* addDatabase( QSqlDriver* driver, const QString&amp; connectionName = defaultConnection );
+ static QSqlDatabase* database( const QString&amp; connectionName = defaultConnection, bool open = TRUE );
+ static void removeDatabase( const QString&amp; connectionName );
+ static void removeDatabase( QSqlDatabase* db );
+ static bool contains( const QString&amp; connectionName = defaultConnection );
+ static QStringList drivers();
+ static void registerSqlDriver( const QString&amp; name, const QSqlDriverCreatorBase* creator ); // ### 4.0: creator should not be const
+ static bool isDriverAvailable( const QString&amp; name );
+
+protected:
+ QSqlDatabase( const QString&amp; type, const QString&amp; name, QObject * parent=0, const char * objname=0 );
+ QSqlDatabase( QSqlDriver* driver, QObject * parent=0, const char * objname=0 );
+private:
+ void init( const QString&amp; type, const QString&amp; name );
+ QSqlDatabasePrivate* d;
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QSqlDatabase( const QSqlDatabase &amp; );
+ QSqlDatabase &amp;operator=( const QSqlDatabase &amp; );
+#endif
+
+};
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldatabase-members.html b/doc/html/qsqldatabase-members.html
new file mode 100644
index 0000000..b0af779
--- /dev/null
+++ b/doc/html/qsqldatabase-members.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldatabase.h:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDatabase Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlDatabase</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqldatabase.html">QSqlDatabase</a>, including inherited members.
+
+<ul>
+<li><a href="qsqldatabase.html#QSqlDatabase">QSqlDatabase</a>()
+<li><a href="qsqldatabase.html#~QSqlDatabase">~QSqlDatabase</a>()
+<li><a href="qsqldatabase.html#addDatabase">addDatabase</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsqldatabase.html#close">close</a>()
+<li><a href="qsqldatabase.html#commit">commit</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qsqldatabase.html#connectOptions">connectOptions</a>()
+<li><a href="qsqldatabase.html#contains">contains</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qsqldatabase.html#database">database</a>()
+<li><a href="qsqldatabase.html#databaseName">databaseName</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qsqldatabase.html#driver">driver</a>()
+<li><a href="qsqldatabase.html#driverName">driverName</a>()
+<li><a href="qsqldatabase.html#drivers">drivers</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qsqldatabase.html#exec">exec</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qsqldatabase.html#hostName">hostName</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsqldatabase.html#isDriverAvailable">isDriverAvailable</a>()
+<li><a href="qsqldatabase.html#isOpen">isOpen</a>()
+<li><a href="qsqldatabase.html#isOpenError">isOpenError</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qsqldatabase.html#lastError">lastError</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qsqldatabase.html#open">open</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qsqldatabase.html#password">password</a>()
+<li><a href="qsqldatabase.html#port">port</a>()
+<li><a href="qsqldatabase.html#primaryIndex">primaryIndex</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qsqldatabase.html#record">record</a>()
+<li><a href="qsqldatabase.html#recordInfo">recordInfo</a>()
+<li><a href="qsqldatabase.html#registerSqlDriver">registerSqlDriver</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qsqldatabase.html#removeDatabase">removeDatabase</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qsqldatabase.html#rollback">rollback</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsqldatabase.html#setConnectOptions">setConnectOptions</a>()
+<li><a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>()
+<li><a href="qsqldatabase.html#setHostName">setHostName</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qsqldatabase.html#setPassword">setPassword</a>()
+<li><a href="qsqldatabase.html#setPort">setPort</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsqldatabase.html#setUserName">setUserName</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qsqldatabase.html#tables">tables</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qsqldatabase.html#transaction">transaction</a>()
+<li><a href="qsqldatabase.html#userName">userName</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldatabase.html b/doc/html/qsqldatabase.html
new file mode 100644
index 0000000..2c3a7ff
--- /dev/null
+++ b/doc/html/qsqldatabase.html
@@ -0,0 +1,668 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqldatabase.cpp:353 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDatabase Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlDatabase Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlDatabase class is used to create SQL database
+connections and to provide transaction handling.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsqldatabase-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#~QSqlDatabase"><b>~QSqlDatabase</b></a> ()</li>
+<li class=fn>bool <a href="#open"><b>open</b></a> ()</li>
+<li class=fn>bool <a href="#open-2"><b>open</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;user, const&nbsp;QString&nbsp;&amp;&nbsp;password )</li>
+<li class=fn>void <a href="#close"><b>close</b></a> ()</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> () const</li>
+<li class=fn>bool <a href="#isOpenError"><b>isOpenError</b></a> () const</li>
+<li class=fn>QStringList <a href="#tables-2"><b>tables</b></a> () const</li>
+<li class=fn>QStringList <a href="#tables"><b>tables</b></a> ( QSql::TableType&nbsp;type ) const</li>
+<li class=fn>QSqlIndex <a href="#primaryIndex"><b>primaryIndex</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tablename ) const</li>
+<li class=fn>QSqlRecord <a href="#record"><b>record</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tablename ) const</li>
+<li class=fn>QSqlRecord <a href="#record-2"><b>record</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;query ) const</li>
+<li class=fn>QSqlRecordInfo <a href="#recordInfo"><b>recordInfo</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tablename ) const</li>
+<li class=fn>QSqlRecordInfo <a href="#recordInfo-2"><b>recordInfo</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;query ) const</li>
+<li class=fn>QSqlQuery <a href="#exec"><b>exec</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query = QString::null ) const</li>
+<li class=fn>QSqlError <a href="#lastError"><b>lastError</b></a> () const</li>
+<li class=fn>bool <a href="#transaction"><b>transaction</b></a> ()</li>
+<li class=fn>bool <a href="#commit"><b>commit</b></a> ()</li>
+<li class=fn>bool <a href="#rollback"><b>rollback</b></a> ()</li>
+<li class=fn>virtual void <a href="#setDatabaseName"><b>setDatabaseName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual void <a href="#setUserName"><b>setUserName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual void <a href="#setPassword"><b>setPassword</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;password )</li>
+<li class=fn>virtual void <a href="#setHostName"><b>setHostName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;host )</li>
+<li class=fn>virtual void <a href="#setPort"><b>setPort</b></a> ( int&nbsp;p )</li>
+<li class=fn>void <a href="#setConnectOptions"><b>setConnectOptions</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;options = QString::null )</li>
+<li class=fn>QString <a href="#databaseName"><b>databaseName</b></a> () const</li>
+<li class=fn>QString <a href="#userName"><b>userName</b></a> () const</li>
+<li class=fn>QString <a href="#password"><b>password</b></a> () const</li>
+<li class=fn>QString <a href="#hostName"><b>hostName</b></a> () const</li>
+<li class=fn>QString <a href="#driverName"><b>driverName</b></a> () const</li>
+<li class=fn>int <a href="#port"><b>port</b></a> () const</li>
+<li class=fn>QString <a href="#connectOptions"><b>connectOptions</b></a> () const</li>
+<li class=fn>QSqlDriver * <a href="#driver"><b>driver</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QSqlDatabase * <a href="#addDatabase"><b>addDatabase</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;type, const&nbsp;QString&nbsp;&amp;&nbsp;connectionName = defaultConnection )</li>
+<li class=fn>QSqlDatabase * <a href="#addDatabase-2"><b>addDatabase</b></a> ( QSqlDriver&nbsp;*&nbsp;driver, const&nbsp;QString&nbsp;&amp;&nbsp;connectionName = defaultConnection )</li>
+<li class=fn>QSqlDatabase * <a href="#database"><b>database</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;connectionName = defaultConnection, bool&nbsp;open = TRUE )</li>
+<li class=fn>void <a href="#removeDatabase"><b>removeDatabase</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;connectionName )</li>
+<li class=fn>void <a href="#removeDatabase-2"><b>removeDatabase</b></a> ( QSqlDatabase&nbsp;*&nbsp;db )</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;connectionName = defaultConnection )</li>
+<li class=fn>QStringList <a href="#drivers"><b>drivers</b></a> ()</li>
+<li class=fn>void <a href="#registerSqlDriver"><b>registerSqlDriver</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QSqlDriverCreatorBase&nbsp;*&nbsp;creator )</li>
+<li class=fn>bool <a href="#isDriverAvailable"><b>isDriverAvailable</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QString <a href="#connectOptions-prop"><b>connectOptions</b></a>&nbsp;- the database connect options</li>
+<li class=fn>QString <a href="#databaseName-prop"><b>databaseName</b></a>&nbsp;- the name of the database</li>
+<li class=fn>QString <a href="#hostName-prop"><b>hostName</b></a>&nbsp;- the host name where the database resides</li>
+<li class=fn>QString <a href="#password-prop"><b>password</b></a>&nbsp;- the password used to connect to the database</li>
+<li class=fn>int <a href="#port-prop"><b>port</b></a>&nbsp;- the port used to connect to the database</li>
+<li class=fn>QString <a href="#userName-prop"><b>userName</b></a>&nbsp;- the user name connected to the database</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QSqlDatabase"><b>QSqlDatabase</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;type, const&nbsp;QString&nbsp;&amp;&nbsp;name, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;objname = 0 )</li>
+<li class=fn><a href="#QSqlDatabase-2"><b>QSqlDatabase</b></a> ( QSqlDriver&nbsp;*&nbsp;driver, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;objname = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlDatabase class is used to create SQL database
+connections and to provide transaction handling.
+<p>
+
+
+<p> Note that transaction handling is not supported by every SQL
+database. You can find out whether transactions are supported
+using <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>().
+<p> The QSqlDatabase class provides an abstract interface for
+accessing many types of database backends. Database-specific
+drivers are used internally to actually access and manipulate
+data, (see <a href="qsqldriver.html">QSqlDriver</a>). Result set objects provide the interface
+for executing and manipulating SQL queries (see <a href="qsqlquery.html">QSqlQuery</a>).
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlDatabase"></a>QSqlDatabase::QSqlDatabase ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;type, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;objname = 0 )<tt> [protected]</tt>
+</h3>
+Creates a QSqlDatabase connection called <em>name</em> that uses the
+driver referred to by <em>type</em>, with the parent <em>parent</em> and the
+object name <em>objname</em>. If the <em>type</em> is not recognized, the
+database connection will have no functionality.
+<p> The currently available drivers are:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Driver Type <th valign="top">Description
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="sql-driver.html#QODBC3">QODBC3</a> <td valign="top">ODBC Driver (includes Microsoft SQL Server)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="sql-driver.html#QOCI8">QOCI8</a> <td valign="top">Oracle Call Interface Driver
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="sql-driver.html#QPSQL7">QPSQL7</a> <td valign="top">PostgreSQL v6.x and v7.x Driver
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="sql-driver.html#QTDS7">QTDS7</a> <td valign="top">Sybase Adaptive Server
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="sql-driver.html#QMYSQL3">QMYSQL3</a> <td valign="top">MySQL Driver
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="sql-driver.html#QDB2">QDB2</a> <td valign="top">IBM DB2, v7.1 and higher
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="sql-driver.html#QSQLITE">QSQLITE</a> <td valign="top">SQLite Driver
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="sql-driver.html#QIBASE">QIBASE</a> <td valign="top">Borland Interbase Driver
+</table></center>
+<p> Additional third party drivers, including your own custom drivers,
+can be loaded dynamically.
+<p> <p>See also <a href="#registerSqlDriver">registerSqlDriver</a>().
+
+<h3 class=fn><a name="QSqlDatabase-2"></a>QSqlDatabase::QSqlDatabase ( <a href="qsqldriver.html">QSqlDriver</a>&nbsp;*&nbsp;driver, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;objname = 0 )<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Creates a database connection using the driver <em>driver</em>, with
+the parent <em>parent</em> and the object name <em>objname</em>.
+<p> <b>Warning:</b> The framework takes ownership of the <em>driver</em> pointer,
+so it should not be deleted.
+
+<h3 class=fn><a name="~QSqlDatabase"></a>QSqlDatabase::~QSqlDatabase ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn><a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;* <a name="addDatabase"></a>QSqlDatabase::addDatabase ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;type, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connectionName = defaultConnection )<tt> [static]</tt>
+</h3>
+Adds a database to the list of database connections using the
+driver <em>type</em> and the connection name <em>connectionName</em>.
+<p> The database connection is referred to by <em>connectionName</em>. The
+newly added database connection is returned. This pointer is owned
+by QSqlDatabase and will be deleted on program exit or when
+<a href="#removeDatabase">removeDatabase</a>() is called.
+<p> If <em>connectionName</em> is not specified, the newly added database
+connection becomes the default database connection for the
+application, and subsequent calls to <a href="#database">database</a>() (without a
+database name parameter) will return a pointer to it. If <em>connectionName</em> is given, use <a href="#database">database(connectionName)</a> to retrieve a pointer to the
+database connection.
+<p> <b>Warning:</b> If you add a database with the same name as an
+existing database, the new database will replace the old one.
+This will happen automatically if you call this function more
+than once without specifying <em>connectionName</em>.
+<p> <p>See also <a href="#database">database</a>() and <a href="#removeDatabase">removeDatabase</a>().
+
+<p>Examples: <a href="sql.html#x2141">sql/overview/connect1/main.cpp</a>, <a href="sql.html#x2147">sql/overview/connection.cpp</a>, and <a href="sqltable-example.html#x2454">sql/sqltable/main.cpp</a>.
+<h3 class=fn><a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;* <a name="addDatabase-2"></a>QSqlDatabase::addDatabase ( <a href="qsqldriver.html">QSqlDriver</a>&nbsp;*&nbsp;driver, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connectionName = defaultConnection )<tt> [static]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function is useful if you need to set up the database
+connection and instantiate the driver yourself. If you do this, it
+is recommended that you include the driver code in your own
+application. For example, setting up a custom PostgreSQL
+connection and instantiating the <a href="sql-driver.html#QPSQL7">QPSQL7</a> driver can be done the
+following way:
+<p> <pre>
+ #include "qtdir/src/sql/drivers/psql/qsql_psql.cpp"
+ </pre>
+
+(We assume that <tt>qtdir</tt> is the directory where Qt is installed.)
+This will pull in the code that is needed to use the PostgreSQL
+client library and to instantiate a QPSQLDriver object, assuming
+that you have the PostgreSQL headers somewhere in your include
+search path.
+<p> <pre>
+ PGconn* con = PQconnectdb( "host=server user=bart password=simpson dbname=springfield" );
+ QPSQLDriver* drv = new QPSQLDriver( con );
+ QSqlDatabase* db = QSqlDatabase::<a href="#addDatabase">addDatabase</a>( drv ); // becomes the new default connection
+ <a href="qsqlquery.html">QSqlQuery</a> q;
+ q.<a href="qsqlquery.html#exec">exec</a>( "SELECT * FROM people" );
+ ...
+ </pre>
+
+<p> The above code sets up a PostgreSQL connection and instantiates a
+QPSQLDriver object. Next, <a href="#addDatabase">addDatabase</a>() is called to add the
+connection to the known connections so that it can be used by the
+Qt SQL classes. When a driver is instantiated with a connection
+handle (or set of handles), Qt assumes that you have already
+opened the database connection.
+<p> Remember that you must link your application against the database
+client library as well. The simplest way to do this is to add
+lines like those below to your <tt>.pro</tt> file:
+<p> <pre>
+ unix:LIBS += -lpq
+ win32:LIBS += libpqdll.lib
+ </pre>
+
+<p> You will need to have the client library in your linker's search
+path.
+<p> The method described above will work for all the drivers, the only
+difference is the arguments the driver constructors take. Below is
+an overview of the drivers and their constructor arguments.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Driver <th valign="top">Class name <th valign="top">Constructor arguments <th valign="top">File to include
+<tr bgcolor="#f0f0f0">
+<td valign="top">QPSQL7
+<td valign="top">QPSQLDriver
+<td valign="top">PGconn* connection
+<td valign="top"><tt>qsql_psql.cpp</tt>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="sql-driver.html#QMYSQL3">QMYSQL3</a>
+<td valign="top">QMYSQLDriver
+<td valign="top">MYSQL* connection
+<td valign="top"><tt>qsql_mysql.cpp</tt>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="sql-driver.html#QOCI8">QOCI8</a>
+<td valign="top">QOCIDriver
+<td valign="top">OCIEnv* environment, OCIError* error, OCISvcCtx* serviceContext
+<td valign="top"><tt>qsql_oci.cpp</tt>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="sql-driver.html#QODBC3">QODBC3</a>
+<td valign="top">QODBCDriver
+<td valign="top">SQLHANDLE environment, SQLHANDLE connection
+<td valign="top"><tt>qsql_odbc.cpp</tt>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="sql-driver.html#QDB2">QDB2</a>
+<td valign="top">QDB2
+<td valign="top">SQLHANDLE environment, SQLHANDLE connection
+<td valign="top"><tt>qsql_db2.cpp</tt>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="sql-driver.html#QTDS7">QTDS7</a>
+<td valign="top">QTDSDriver
+<td valign="top">LOGINREC* loginRecord, DBPROCESS* dbProcess, const <a href="qstring.html">QString</a>& hostName
+<td valign="top"><tt>qsql_tds.cpp</tt>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="sql-driver.html#QSQLITE">QSQLITE</a>
+<td valign="top">QSQLiteDriver
+<td valign="top">sqlite* connection
+<td valign="top"><tt>qsql_sqlite.cpp</tt>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="sql-driver.html#QIBASE">QIBASE</a>
+<td valign="top">QIBaseDriver
+<td valign="top">isc_db_handle connection
+<td valign="top"><tt>qsql_ibase.cpp</tt>
+</table></center>
+<p> Note: The host name (or service name) is needed when constructing
+the QTDSDriver for creating new connections for internal
+queries. This is to prevent the simultaneous usage of several
+<a href="qsqlquery.html">QSqlQuery</a>/<a href="qsqlcursor.html">QSqlCursor</a> objects from blocking each other.
+<p> <b>Warning:</b> The SQL framework takes ownership of the <em>driver</em> pointer,
+and it should not be deleted. The returned QSqlDatabase object is
+owned by the framework and must not be deleted. If you want to
+explicitly remove the connection, use <a href="#removeDatabase">removeDatabase</a>()
+<p> <p>See also <a href="#drivers">drivers</a>().
+
+<h3 class=fn>void <a name="close"></a>QSqlDatabase::close ()
+</h3>
+Closes the database connection, freeing any resources acquired.
+<p> <p>See also <a href="#removeDatabase">removeDatabase</a>().
+
+<h3 class=fn>bool <a name="commit"></a>QSqlDatabase::commit ()
+</h3>
+Commits a transaction to the database if the driver supports
+transactions. Returns TRUE if the operation succeeded; otherwise
+returns FALSE.
+<p> <p>See also <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>() and <a href="#rollback">rollback</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="connectOptions"></a>QSqlDatabase::connectOptions () const
+</h3><p>Returns the database connect options.
+See the <a href="qsqldatabase.html#connectOptions-prop">"connectOptions"</a> property for details.
+<h3 class=fn>bool <a name="contains"></a>QSqlDatabase::contains ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connectionName = defaultConnection )<tt> [static]</tt>
+</h3>
+Returns TRUE if the list of database connections contains <em>connectionName</em>; otherwise returns FALSE.
+
+<h3 class=fn><a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;* <a name="database"></a>QSqlDatabase::database ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connectionName = defaultConnection, bool&nbsp;open = TRUE )<tt> [static]</tt>
+</h3>
+Returns the database connection called <em>connectionName</em>. The
+database connection must have been previously added with
+<a href="#addDatabase">addDatabase</a>(). If <em>open</em> is TRUE (the default) and the database
+connection is not already open it is opened now. If no <em>connectionName</em> is specified the default connection is used. If <em>connectionName</em> does not exist in the list of databases, 0 is
+returned. The pointer returned is owned by QSqlDatabase and should
+<em>not</em> be deleted.
+<p> <b>Warning:</b> There are restrictions on the use of database connections
+in threaded applications. Please see the <a href="threads.html#threads-sql">Thread Support in Qt</a> document for more information about
+threading and SQL databases.
+
+<p>Examples: <a href="sql.html#x2156">sql/overview/basicbrowsing/main.cpp</a> and <a href="sql.html#x2155">sql/overview/create_connections/main.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="databaseName"></a>QSqlDatabase::databaseName () const
+</h3><p>Returns the name of the database.
+See the <a href="qsqldatabase.html#databaseName-prop">"databaseName"</a> property for details.
+<h3 class=fn><a href="qsqldriver.html">QSqlDriver</a>&nbsp;* <a name="driver"></a>QSqlDatabase::driver () const
+</h3>
+Returns the database driver used to access the database
+connection.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="driverName"></a>QSqlDatabase::driverName () const
+</h3>
+Returns the name of the driver used by the database connection.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="drivers"></a>QSqlDatabase::drivers ()<tt> [static]</tt>
+</h3>
+Returns a list of all the available database drivers.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = QSqlDatabase::<a href="#drivers">drivers</a>();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qsqlquery.html">QSqlQuery</a> <a name="exec"></a>QSqlDatabase::exec ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query = QString::null ) const
+</h3>
+Executes a SQL statement (e.g. an <tt>INSERT</tt>, <tt>UPDATE</tt> or <tt>DELETE</tt> statement) on the database, and returns a <a href="qsqlquery.html">QSqlQuery</a> object.
+Use <a href="#lastError">lastError</a>() to retrieve error information. If <em>query</em> is
+<a href="qstring.html#QString-null">QString::null</a>, an empty, invalid query is returned and lastError()
+is not affected.
+<p> <p>See also <a href="qsqlquery.html">QSqlQuery</a> and <a href="#lastError">lastError</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="hostName"></a>QSqlDatabase::hostName () const
+</h3><p>Returns the host name where the database resides.
+See the <a href="qsqldatabase.html#hostName-prop">"hostName"</a> property for details.
+<h3 class=fn>bool <a name="isDriverAvailable"></a>QSqlDatabase::isDriverAvailable ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [static]</tt>
+</h3>
+Returns TRUE if a driver called <em>name</em> is available; otherwise
+returns FALSE.
+<p> <p>See also <a href="#drivers">drivers</a>().
+
+<h3 class=fn>bool <a name="isOpen"></a>QSqlDatabase::isOpen () const
+</h3>
+Returns TRUE if the database connection is currently open;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isOpenError"></a>QSqlDatabase::isOpenError () const
+</h3>
+Returns TRUE if there was an error opening the database
+connection; otherwise returns FALSE. Error information can be
+retrieved using the <a href="#lastError">lastError</a>() function.
+
+<h3 class=fn><a href="qsqlerror.html">QSqlError</a> <a name="lastError"></a>QSqlDatabase::lastError () const
+</h3>
+Returns information about the last error that occurred on the
+database. See <a href="qsqlerror.html">QSqlError</a> for more information.
+
+<p>Examples: <a href="sql.html#x2148">sql/overview/connection.cpp</a> and <a href="sqltable-example.html#x2455">sql/sqltable/main.cpp</a>.
+<h3 class=fn>bool <a name="open"></a>QSqlDatabase::open ()
+</h3>
+Opens the database connection using the current connection values.
+Returns TRUE on success; otherwise returns FALSE. Error
+information can be retrieved using the <a href="#lastError">lastError</a>() function.
+<p> <p>See also <a href="#lastError">lastError</a>().
+
+<p>Examples: <a href="sql.html#x2142">sql/overview/connect1/main.cpp</a>, <a href="sql.html#x2149">sql/overview/connection.cpp</a>, and <a href="sqltable-example.html#x2456">sql/sqltable/main.cpp</a>.
+<h3 class=fn>bool <a name="open-2"></a>QSqlDatabase::open ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;user, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;password )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Opens the database connection using the given <em>user</em> name and <em>password</em>. Returns TRUE on success; otherwise returns FALSE. Error
+information can be retrieved using the <a href="#lastError">lastError</a>() function.
+<p> This function does not store the password it is given. Instead,
+the password is passed directly to the driver for opening a
+connection and is then discarded.
+<p> <p>See also <a href="#lastError">lastError</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="password"></a>QSqlDatabase::password () const
+</h3><p>Returns the password used to connect to the database.
+See the <a href="qsqldatabase.html#password-prop">"password"</a> property for details.
+<h3 class=fn>int <a name="port"></a>QSqlDatabase::port () const
+</h3><p>Returns the port used to connect to the database.
+See the <a href="qsqldatabase.html#port-prop">"port"</a> property for details.
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="primaryIndex"></a>QSqlDatabase::primaryIndex ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tablename ) const
+</h3>
+Returns the primary index for table <em>tablename</em>. If no primary
+index exists an empty <a href="qsqlindex.html">QSqlIndex</a> will be returned.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> <a name="record"></a>QSqlDatabase::record ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tablename ) const
+</h3>
+Returns a <a href="qsqlrecord.html">QSqlRecord</a> populated with the names of all the fields in
+the table (or view) called <em>tablename</em>. The order in which the
+fields appear in the record is undefined. If no such table (or
+view) exists, an empty record is returned.
+<p> <p>See also <a href="#recordInfo">recordInfo</a>().
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> <a name="record-2"></a>QSqlDatabase::record ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;query ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="qsqlrecord.html">QSqlRecord</a> populated with the names of all the fields
+used in the SQL <em>query</em>. If the query is a "SELECT *" the order
+in which fields appear in the record is undefined.
+<p> <p>See also <a href="#recordInfo">recordInfo</a>().
+
+<h3 class=fn><a href="qsqlrecordinfo.html">QSqlRecordInfo</a> <a name="recordInfo"></a>QSqlDatabase::recordInfo ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tablename ) const
+</h3>
+Returns a <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> populated with meta data about the table
+or view <em>tablename</em>. If no such table (or view) exists, an empty
+record is returned.
+<p> <p>See also <a href="qsqlrecordinfo.html">QSqlRecordInfo</a>, <a href="qsqlfieldinfo.html">QSqlFieldInfo</a>, and <a href="#record">record</a>().
+
+<h3 class=fn><a href="qsqlrecordinfo.html">QSqlRecordInfo</a> <a name="recordInfo-2"></a>QSqlDatabase::recordInfo ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;query ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> object with meta data for the <a href="qsqlquery.html">QSqlQuery</a>
+<em>query</em>. Note that this overloaded function may return less
+information than the <a href="#recordInfo">recordInfo</a>() function which takes the name of
+a table as parameter.
+<p> <p>See also <a href="qsqlrecordinfo.html">QSqlRecordInfo</a>, <a href="qsqlfieldinfo.html">QSqlFieldInfo</a>, and <a href="#record">record</a>().
+
+<h3 class=fn>void <a name="registerSqlDriver"></a>QSqlDatabase::registerSqlDriver ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;QSqlDriverCreatorBase&nbsp;*&nbsp;creator )<tt> [static]</tt>
+</h3>
+This function registers a new SQL driver called <em>name</em>, within
+the SQL framework. This is useful if you have a custom SQL driver
+and don't want to compile it as a plugin.
+<p> Example usage:
+<p> <pre>
+ QSqlDatabase::<a href="#registerSqlDriver">registerSqlDriver</a>( "MYDRIVER", new QSqlDriverCreator&lt;MyDatabaseDriver&gt; );
+ QSqlDatabase* db = QSqlDatabase::<a href="#addDatabase">addDatabase</a>( "MYDRIVER" );
+ ...
+ </pre>
+
+<p> <b>Warning:</b> The framework takes ownership of the <em>creator</em> pointer,
+so it should not be deleted.
+
+<h3 class=fn>void <a name="removeDatabase"></a>QSqlDatabase::removeDatabase ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connectionName )<tt> [static]</tt>
+</h3>
+Removes the database connection <em>connectionName</em> from the list of
+database connections.
+<p> <b>Warning:</b> There should be no open queries on the database
+connection when this function is called, otherwise a resource leak
+will occur.
+
+<h3 class=fn>void <a name="removeDatabase-2"></a>QSqlDatabase::removeDatabase ( <a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;*&nbsp;db )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes the database connection <em>db</em> from the list of database
+connections. The QSqlDatabase object is destroyed when it is removed
+from the list.
+<p> <b>Warning:</b> The <em>db</em> pointer is not valid after this function has
+been called. There should be no open queries on the database
+connection when this function is called, otherwise a resource leak
+will occur.
+
+<h3 class=fn>bool <a name="rollback"></a>QSqlDatabase::rollback ()
+</h3>
+Rolls a transaction back on the database if the driver supports
+transactions. Returns TRUE if the operation succeeded; otherwise
+returns FALSE.
+<p> <p>See also <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>(), <a href="#commit">commit</a>(), and <a href="#transaction">transaction</a>().
+
+<h3 class=fn>void <a name="setConnectOptions"></a>QSqlDatabase::setConnectOptions ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;options = QString::null )
+</h3><p>Sets the database connect options to <em>options</em>.
+See the <a href="qsqldatabase.html#connectOptions-prop">"connectOptions"</a> property for details.
+<h3 class=fn>void <a name="setDatabaseName"></a>QSqlDatabase::setDatabaseName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3><p>Sets the name of the database to <em>name</em>.
+See the <a href="qsqldatabase.html#databaseName-prop">"databaseName"</a> property for details.
+<h3 class=fn>void <a name="setHostName"></a>QSqlDatabase::setHostName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host )<tt> [virtual]</tt>
+</h3><p>Sets the host name where the database resides to <em>host</em>.
+See the <a href="qsqldatabase.html#hostName-prop">"hostName"</a> property for details.
+<h3 class=fn>void <a name="setPassword"></a>QSqlDatabase::setPassword ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;password )<tt> [virtual]</tt>
+</h3><p>Sets the password used to connect to the database to <em>password</em>.
+See the <a href="qsqldatabase.html#password-prop">"password"</a> property for details.
+<h3 class=fn>void <a name="setPort"></a>QSqlDatabase::setPort ( int&nbsp;p )<tt> [virtual]</tt>
+</h3><p>Sets the port used to connect to the database to <em>p</em>.
+See the <a href="qsqldatabase.html#port-prop">"port"</a> property for details.
+<h3 class=fn>void <a name="setUserName"></a>QSqlDatabase::setUserName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3><p>Sets the user name connected to the database to <em>name</em>.
+See the <a href="qsqldatabase.html#userName-prop">"userName"</a> property for details.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="tables"></a>QSqlDatabase::tables ( <a href="qsql.html#TableType-enum">QSql::TableType</a>&nbsp;type ) const
+</h3>
+Returns a list of the database's tables, system tables and views,
+as specified by the parameter <em>type</em>.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDatabase.tables( QSql::Tables | QSql::Views );
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<p>Example: <a href="sqltable-example.html#x2461">sql/sqltable/main.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="tables-2"></a>QSqlDatabase::tables () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of the database's tables that are visible to the
+user. To include views or system tables, use the version of this
+function that takes a table <tt>type</tt> parameter.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myDatabase.tables();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>bool <a name="transaction"></a>QSqlDatabase::transaction ()
+</h3>
+Begins a transaction on the database if the driver supports
+transactions. Returns TRUE if the operation succeeded; otherwise
+returns FALSE.
+<p> <p>See also <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>(), <a href="#commit">commit</a>(), and <a href="#rollback">rollback</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="userName"></a>QSqlDatabase::userName () const
+</h3><p>Returns the user name connected to the database.
+See the <a href="qsqldatabase.html#userName-prop">"userName"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="connectOptions-prop"></a>connectOptions</h3>
+<p>This property holds the database connect options.
+<p>The format of the options string is a semi-colon separated list of
+option names or option = value pairs. The options depend on the
+database client used:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">ODBC <th valign="top">MySQL <th valign="top">PostgreSQL
+<tr bgcolor="#f0f0f0">
+<p> <td valign="top">
+<ul>
+<li> SQL_ATTR_ACCESS_MODE
+<li> SQL_ATTR_LOGIN_TIMEOUT
+<li> SQL_ATTR_CONNECTION_TIMEOUT
+<li> SQL_ATTR_CURRENT_CATALOG
+<li> SQL_ATTR_METADATA_ID
+<li> SQL_ATTR_PACKET_SIZE
+<li> SQL_ATTR_TRACEFILE
+<li> SQL_ATTR_TRACE
+</ul>
+<p> <td valign="top">
+<ul>
+<li> CLIENT_COMPRESS
+<li> CLIENT_FOUND_ROWS
+<li> CLIENT_IGNORE_SPACE
+<li> CLIENT_SSL
+<li> CLIENT_ODBC
+<li> CLIENT_NO_SCHEMA
+<li> CLIENT_INTERACTIVE
+</ul>
+<p> <td valign="top">
+<ul>
+<li> connect_timeout
+<li> options
+<li> tty
+<li> requiressl
+<li> service
+</ul>
+<tr bgcolor="#a2c511"> <th valign="top">DB2 <th valign="top">OCI <th valign="top">TDS
+<tr bgcolor="#d0d0d0">
+<p> <td valign="top">
+<ul>
+<li> SQL_ATTR_ACCESS_MODE
+<li> SQL_ATTR_LOGIN_TIMEOUT
+</ul>
+<p> <td valign="top">
+<em>none</em>
+<p> <td valign="top">
+<em>none</em>
+<p> </table></center>
+<p> Example of usage:
+<pre>
+ ...
+ // MySQL connection
+ db-&gt;setConnectOptions( "CLIENT_SSL;CLIENT_IGNORE_SPACE" ); // use an SSL connection to the server
+ if ( !db-&gt;open() ) {
+ db-&gt;setConnectOptions(); // clears the connect option string
+ ...
+ }
+ ...
+ // PostgreSQL connection
+ db-&gt;setConnectOptions( "requiressl=1" ); // enable PostgreSQL SSL connections
+ if ( !db-&gt;open() ) {
+ db-&gt;setConnectOptions(); // clear options
+ ...
+ }
+ ...
+ // ODBC connection
+ db-&gt;setConnectOptions( "SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON" ); // set ODBC options
+ if ( !db-&gt;open() ) {
+ db-&gt;setConnectOptions(); // don't try to set this option
+ ...
+ }
+ </pre>
+
+<p> Please refer to the client library documentation for more
+information about the different options. The options will be set
+prior to opening the database connection. Setting new options
+without re-opening the connection does nothing.
+<p> <p>See also
+<p>Set this property's value with <a href="#setConnectOptions">setConnectOptions</a>() and get this property's value with <a href="#connectOptions">connectOptions</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="databaseName-prop"></a>databaseName</h3>
+<p>This property holds the name of the database.
+<p>Note that the database name is the TNS Service Name for the <a href="sql-driver.html#QOCI8">QOCI8</a>
+(Oracle) driver.
+<p> For the <a href="sql-driver.html#QODBC3">QODBC3</a> driver it can either be a DSN, a DSN filename (the
+file must have a <tt>.dsn</tt> extension), or a connection string. MS
+Access users can for example use the following connection string
+to open a <tt>.mdb</tt> file directly, instead of having to create a DSN
+entry in the ODBC manager:
+<p> <pre>
+ ...
+ db = QSqlDatabase::<a href="#addDatabase">addDatabase</a>( "QODBC3" );
+ db-&gt;setDatabaseName( "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb" );
+ if ( db-&gt;open() ) {
+ // success!
+ }
+ ...
+ </pre>
+
+("FIL" is the required spelling in Microsoft's API.)
+<p> There is no default value.
+
+<p>Set this property's value with <a href="#setDatabaseName">setDatabaseName</a>() and get this property's value with <a href="#databaseName">databaseName</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="hostName-prop"></a>hostName</h3>
+<p>This property holds the host name where the database resides.
+<p>There is no default value.
+
+<p>Set this property's value with <a href="#setHostName">setHostName</a>() and get this property's value with <a href="#hostName">hostName</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="password-prop"></a>password</h3>
+<p>This property holds the password used to connect to the database.
+<p>There is no default value.
+<p> <b>Warning:</b> This function stores the password in plain text within
+Qt. Use the <a href="#open">open</a>() call that takes a password as parameter to
+avoid this behaviour.
+<p> <p>See also <a href="#open">open</a>().
+
+<p>Set this property's value with <a href="#setPassword">setPassword</a>() and get this property's value with <a href="#password">password</a>().
+<h3 class=fn>int <a name="port-prop"></a>port</h3>
+<p>This property holds the port used to connect to the database.
+<p>There is no default value.
+
+<p>Set this property's value with <a href="#setPort">setPort</a>() and get this property's value with <a href="#port">port</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="userName-prop"></a>userName</h3>
+<p>This property holds the user name connected to the database.
+<p>There is no default value.
+
+<p>Set this property's value with <a href="#setUserName">setUserName</a>() and get this property's value with <a href="#userName">userName</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriver-h.html b/doc/html/qsqldriver-h.html
new file mode 100644
index 0000000..0c042df
--- /dev/null
+++ b/doc/html/qsqldriver-h.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldriver.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqldriver.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqldriver.h</h1>
+
+<p>This is the verbatim text of the qsqldriver.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlDriver class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLDRIVER_H
+#define QSQLDRIVER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qptrdict.h"
+#include "qstring.h"
+#include "qsqlerror.h"
+#include "qsqlquery.h"
+#include "qsqlfield.h"
+#include "qsqlindex.h"
+#include "qstringlist.h"
+#include "qmap.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlDriverExtension;
+
+class QSqlDatabase;
+
+class QM_EXPORT_SQL QSqlDriver : public QObject
+{
+ friend class QSqlDatabase;
+ Q_OBJECT
+public:
+ enum DriverFeature { Transactions, QuerySize, BLOB, Unicode, PreparedQueries,
+ NamedPlaceholders, PositionalPlaceholders };
+
+ QSqlDriver( QObject * parent=0, const char * name=0 );
+ ~QSqlDriver();
+ bool isOpen() const;
+ bool isOpenError() const;
+
+ virtual bool beginTransaction();
+ virtual bool commitTransaction();
+ virtual bool rollbackTransaction();
+ virtual QStringList tables( const QString&amp; tableType ) const;
+ virtual QSqlIndex primaryIndex( const QString&amp; tableName ) const;
+ virtual QSqlRecord record( const QString&amp; tableName ) const;
+ virtual QSqlRecord record( const QSqlQuery&amp; query ) const;
+ virtual QSqlRecordInfo recordInfo( const QString&amp; tablename ) const;
+ virtual QSqlRecordInfo recordInfo( const QSqlQuery&amp; query ) const;
+ virtual QString nullText() const;
+ virtual QString formatValue( const QSqlField* field, bool trimStrings = FALSE ) const;
+ QSqlError lastError() const;
+
+ virtual bool hasFeature( DriverFeature f ) const = 0;
+ virtual bool open( const QString &amp; db,
+ const QString &amp; user = QString::null,
+ const QString &amp; password = QString::null,
+ const QString &amp; host = QString::null,
+ int port = -1 ) = 0;
+ virtual void close() = 0;
+ virtual QSqlQuery createQuery() const = 0;
+
+ // ### remove for 4.0
+ bool open( const QString&amp; db,
+ const QString&amp; user,
+ const QString&amp; password,
+ const QString&amp; host,
+ int port,
+ const QString&amp; connOpts );
+protected:
+ virtual void setOpen( bool o );
+ virtual void setOpenError( bool e );
+ virtual void setLastError( const QSqlError&amp; e );
+private:
+ // ### This class needs a d-pointer in 4.0.
+ int dbState;
+ QSqlError error;
+#if defined(Q_DISABLE_COPY)
+ QSqlDriver( const QSqlDriver &amp; );
+ QSqlDriver &amp;operator=( const QSqlDriver &amp; );
+#endif
+};
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriver-members.html b/doc/html/qsqldriver-members.html
new file mode 100644
index 0000000..815009a
--- /dev/null
+++ b/doc/html/qsqldriver-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldriver.h:64 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDriver Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlDriver</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqldriver.html">QSqlDriver</a>, including inherited members.
+
+<ul>
+<li><a href="qsqldriver.html#QSqlDriver">QSqlDriver</a>()
+<li><a href="qsqldriver.html#~QSqlDriver">~QSqlDriver</a>()
+<li><a href="qsqldriver.html#beginTransaction">beginTransaction</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsqldriver.html#close">close</a>()
+<li><a href="qsqldriver.html#commitTransaction">commitTransaction</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qsqldriver.html#createQuery">createQuery</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qsqldriver.html#formatValue">formatValue</a>()
+<li><a href="qsqldriver.html#hasFeature">hasFeature</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qsqldriver.html#isOpen">isOpen</a>()
+<li><a href="qsqldriver.html#isOpenError">isOpenError</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qsqldriver.html#lastError">lastError</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qsqldriver.html#nullText">nullText</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qsqldriver.html#open">open</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qsqldriver.html#primaryIndex">primaryIndex</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qsqldriver.html#record">record</a>()
+<li><a href="qsqldriver.html#recordInfo">recordInfo</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qsqldriver.html#rollbackTransaction">rollbackTransaction</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qsqldriver.html#setLastError">setLastError</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qsqldriver.html#setOpen">setOpen</a>()
+<li><a href="qsqldriver.html#setOpenError">setOpenError</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qsqldriver.html#tables">tables</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriver.html b/doc/html/qsqldriver.html
new file mode 100644
index 0000000..c96cdac
--- /dev/null
+++ b/doc/html/qsqldriver.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqldriver.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDriver Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlDriver Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlDriver class is an abstract base class for accessing
+SQL databases.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqldriver-h.html">qsqldriver.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsqldriver-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#DriverFeature-enum"><b>DriverFeature</b></a> { Transactions, QuerySize, BLOB, Unicode, PreparedQueries, NamedPlaceholders, PositionalPlaceholders }</li>
+<li class=fn><a href="#QSqlDriver"><b>QSqlDriver</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSqlDriver"><b>~QSqlDriver</b></a> ()</li>
+<li class=fn>bool <a href="#isOpen"><b>isOpen</b></a> () const</li>
+<li class=fn>bool <a href="#isOpenError"><b>isOpenError</b></a> () const</li>
+<li class=fn>virtual bool <a href="#beginTransaction"><b>beginTransaction</b></a> ()</li>
+<li class=fn>virtual bool <a href="#commitTransaction"><b>commitTransaction</b></a> ()</li>
+<li class=fn>virtual bool <a href="#rollbackTransaction"><b>rollbackTransaction</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#tables"><b>tables</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tableType ) const</li>
+<li class=fn>virtual QSqlIndex <a href="#primaryIndex"><b>primaryIndex</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tableName ) const</li>
+<li class=fn>virtual QSqlRecord <a href="#record"><b>record</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tableName ) const</li>
+<li class=fn>virtual QSqlRecord <a href="#record-2"><b>record</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;query ) const</li>
+<li class=fn>virtual QSqlRecordInfo <a href="#recordInfo"><b>recordInfo</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;tablename ) const</li>
+<li class=fn>virtual QSqlRecordInfo <a href="#recordInfo-2"><b>recordInfo</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;query ) const</li>
+<li class=fn>virtual QString <a href="#nullText"><b>nullText</b></a> () const</li>
+<li class=fn>virtual QString <a href="#formatValue"><b>formatValue</b></a> ( const&nbsp;QSqlField&nbsp;*&nbsp;field, bool&nbsp;trimStrings = FALSE ) const</li>
+<li class=fn>QSqlError <a href="#lastError"><b>lastError</b></a> () const</li>
+<li class=fn>virtual bool <a href="#hasFeature"><b>hasFeature</b></a> ( DriverFeature&nbsp;f ) const = 0</li>
+<li class=fn>virtual bool <a href="#open"><b>open</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;db, const&nbsp;QString&nbsp;&amp;&nbsp;user = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;password = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;host = QString::null, int&nbsp;port = -1 ) = 0</li>
+<li class=fn>virtual void <a href="#close"><b>close</b></a> () = 0</li>
+<li class=fn>virtual QSqlQuery <a href="#createQuery"><b>createQuery</b></a> () const = 0</li>
+<li class=fn>bool <a href="#open-2"><b>open</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;db, const&nbsp;QString&nbsp;&amp;&nbsp;user, const&nbsp;QString&nbsp;&amp;&nbsp;password, const&nbsp;QString&nbsp;&amp;&nbsp;host, int&nbsp;port, const&nbsp;QString&nbsp;&amp;&nbsp;connOpts )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#setOpen"><b>setOpen</b></a> ( bool&nbsp;o )</li>
+<li class=fn>virtual void <a href="#setOpenError"><b>setOpenError</b></a> ( bool&nbsp;e )</li>
+<li class=fn>virtual void <a href="#setLastError"><b>setLastError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlDriver class is an abstract base class for accessing
+SQL databases.
+<p>
+
+<p> This class should not be used directly. Use <a href="qsqldatabase.html">QSqlDatabase</a> instead.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DriverFeature-enum"></a>QSqlDriver::DriverFeature</h3>
+
+<p> This enum contains a list of features a driver may support. Use
+<a href="#hasFeature">hasFeature</a>() to query whether a feature is supported or not.
+<ul>
+<li><tt>QSqlDriver::Transactions</tt> - whether the driver supports SQL transactions
+<li><tt>QSqlDriver::QuerySize</tt> - whether the database is capable of reporting the size
+of a query. Note that some databases do not support returning the size
+(i.e. number of rows returned) of a query, in which case
+<a href="qsqlquery.html#size">QSqlQuery::size</a>() will return -1
+<li><tt>QSqlDriver::BLOB</tt> - whether the driver supports Binary Large Object fields
+<li><tt>QSqlDriver::Unicode</tt> - whether the driver supports Unicode strings if the
+database server does
+<li><tt>QSqlDriver::PreparedQueries</tt> - whether the driver supports prepared query execution
+<li><tt>QSqlDriver::NamedPlaceholders</tt> - whether the driver supports usage of named placeholders
+<li><tt>QSqlDriver::PositionalPlaceholders</tt> - whether the driver supports usage of positional placeholders
+</ul><p> More information about supported features can be found in the
+<a href="sql-driver.html">Qt SQL driver</a> documentation.
+<p> <p>See also <a href="#hasFeature">hasFeature</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlDriver"></a>QSqlDriver::QSqlDriver ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Default constructor. Creates a new driver with parent <em>parent</em>,
+called <em>name</em>.
+<p>
+<h3 class=fn><a name="~QSqlDriver"></a>QSqlDriver::~QSqlDriver ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="beginTransaction"></a>QSqlDriver::beginTransaction ()<tt> [virtual]</tt>
+</h3>
+Protected function which derived classes can reimplement to begin
+a transaction. If successful, return TRUE, otherwise return FALSE.
+The default implementation returns FALSE.
+<p> <p>See also <a href="#commitTransaction">commitTransaction</a>() and <a href="#rollbackTransaction">rollbackTransaction</a>().
+
+<h3 class=fn>void <a name="close"></a>QSqlDriver::close ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Derived classes must reimplement this abstract virtual function in
+order to close the database connection. Return TRUE on success,
+FALSE on failure.
+<p> <p>See also <a href="#setOpen">setOpen</a>().
+
+<p>
+<h3 class=fn>bool <a name="commitTransaction"></a>QSqlDriver::commitTransaction ()<tt> [virtual]</tt>
+</h3>
+Protected function which derived classes can reimplement to commit
+a transaction. If successful, return TRUE, otherwise return FALSE.
+The default implementation returns FALSE.
+<p> <p>See also <a href="#beginTransaction">beginTransaction</a>() and <a href="#rollbackTransaction">rollbackTransaction</a>().
+
+<h3 class=fn><a href="qsqlquery.html">QSqlQuery</a> <a name="createQuery"></a>QSqlDriver::createQuery () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates an empty SQL result on the database. Derived classes must
+reimplement this function and return a <a href="qsqlquery.html">QSqlQuery</a> object
+appropriate for their database to the caller.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="formatValue"></a>QSqlDriver::formatValue ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field, bool&nbsp;trimStrings = FALSE ) const<tt> [virtual]</tt>
+</h3>
+Returns a string representation of the <em>field</em> value for the
+database. This is used, for example, when constructing INSERT and
+UPDATE statements.
+<p> The default implementation returns the value formatted as a string
+according to the following rules:
+<p> <ul>
+<p> <li> If <em>field</em> is NULL, <a href="#nullText">nullText</a>() is returned.
+<p> <li> If <em>field</em> is character data, the value is returned enclosed
+in single quotation marks, which is appropriate for many SQL
+databases. Any embedded single-quote characters are escaped
+(replaced with two single-quote characters). If <em>trimStrings</em> is
+TRUE (the default is FALSE), all trailing whitespace is trimmed
+from the field.
+<p> <li> If <em>field</em> is date/time data, the value is formatted in ISO
+format and enclosed in single quotation marks. If the date/time
+data is invalid, nullText() is returned.
+<p> <li> If <em>field</em> is bytearray data, and the driver can edit binary
+fields, the value is formatted as a hexadecimal string.
+<p> <li> For any other field type toString() will be called on its value
+and the result returned.
+<p> </ul>
+<p> <p>See also <a href="qvariant.html#toString">QVariant::toString</a>().
+
+<p>
+<h3 class=fn>bool <a name="hasFeature"></a>QSqlDriver::hasFeature ( <a href="qsqldriver.html#DriverFeature-enum">DriverFeature</a>&nbsp;f ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the driver supports feature <em>f</em>; otherwise
+returns FALSE.
+<p> Note that some databases need to be <a href="#open">open</a>() before this can be
+determined.
+<p> <p>See also <a href="#DriverFeature-enum">DriverFeature</a>.
+
+<h3 class=fn>bool <a name="isOpen"></a>QSqlDriver::isOpen () const
+</h3>
+Returns TRUE if the database connection is open; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="isOpenError"></a>QSqlDriver::isOpenError () const
+</h3>
+Returns TRUE if the there was an error opening the database
+connection; otherwise returns FALSE.
+
+<h3 class=fn><a href="qsqlerror.html">QSqlError</a> <a name="lastError"></a>QSqlDriver::lastError () const
+</h3>
+Returns a <a href="qsqlerror.html">QSqlError</a> object which contains information about the
+last error that occurred on the database.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nullText"></a>QSqlDriver::nullText () const<tt> [virtual]</tt>
+</h3>
+Returns a string representation of the NULL value for the
+database. This is used, for example, when constructing INSERT and
+UPDATE statements. The default implementation returns the string
+"NULL".
+
+<h3 class=fn>bool <a name="open"></a>QSqlDriver::open ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;db, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;user = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;password = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host = QString::null, int&nbsp;port = -1 )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Derived classes must reimplement this abstract virtual function in
+order to open a database connection on database <em>db</em>, using user
+name <em>user</em>, password <em>password</em>, host <em>host</em> and port <em>port</em>.
+<p> The function <em>must</em> return TRUE on success and FALSE on failure.
+<p> <p>See also <a href="#setOpen">setOpen</a>().
+
+<p>
+<h3 class=fn>bool <a name="open-2"></a>QSqlDriver::open ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;db, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;user, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;password, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host, int&nbsp;port, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;connOpts )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Open a database connection on database <em>db</em>, using user name <em>user</em>, password <em>password</em>, host <em>host</em>, port <em>port</em> and
+connection options <em>connOpts</em>.
+<p> Returns TRUE on success and FALSE on failure.
+<p> <p>See also <a href="#setOpen">setOpen</a>().
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="primaryIndex"></a>QSqlDriver::primaryIndex ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tableName ) const<tt> [virtual]</tt>
+</h3>
+Returns the primary index for table <em>tableName</em>. Returns an empty
+<a href="qsqlindex.html">QSqlIndex</a> if the table doesn't have a primary index. The default
+implementation returns an empty index.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> <a name="record"></a>QSqlDriver::record ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tableName ) const<tt> [virtual]</tt>
+</h3>
+Returns a <a href="qsqlrecord.html">QSqlRecord</a> populated with the names of the fields in
+table <em>tableName</em>. If no such table exists, an empty record is
+returned. The default implementation returns an empty record.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> <a name="record-2"></a>QSqlDriver::record ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;query ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="qsqlrecord.html">QSqlRecord</a> populated with the names of the fields in the
+SQL <em>query</em>. The default implementation returns an empty record.
+
+<h3 class=fn><a href="qsqlrecordinfo.html">QSqlRecordInfo</a> <a name="recordInfo"></a>QSqlDriver::recordInfo ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tablename ) const<tt> [virtual]</tt>
+</h3>
+Returns a <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> object with meta data about the table <em>tablename</em>.
+
+<h3 class=fn><a href="qsqlrecordinfo.html">QSqlRecordInfo</a> <a name="recordInfo-2"></a>QSqlDriver::recordInfo ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;query ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> object with meta data for the <a href="qsqlquery.html">QSqlQuery</a>
+<em>query</em>. Note that this overloaded function may return less
+information than the <a href="#recordInfo">recordInfo</a>() function which takes the name of
+a table as parameter.
+
+<h3 class=fn>bool <a name="rollbackTransaction"></a>QSqlDriver::rollbackTransaction ()<tt> [virtual]</tt>
+</h3>
+Protected function which derived classes can reimplement to
+rollback a transaction. If successful, return TRUE, otherwise
+return FALSE. The default implementation returns FALSE.
+<p> <p>See also <a href="#beginTransaction">beginTransaction</a>() and <a href="#commitTransaction">commitTransaction</a>().
+
+<h3 class=fn>void <a name="setLastError"></a>QSqlDriver::setLastError ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Protected function which allows derived classes to set the value
+of the last error, <em>e</em>, that occurred on the database.
+<p> <p>See also <a href="#lastError">lastError</a>().
+
+<h3 class=fn>void <a name="setOpen"></a>QSqlDriver::setOpen ( bool&nbsp;o )<tt> [virtual protected]</tt>
+</h3>
+Protected function which sets the open state of the database to <em>o</em>. Derived classes can use this function to report the status of
+<a href="#open">open</a>().
+<p> <p>See also <a href="#open">open</a>() and <a href="#setOpenError">setOpenError</a>().
+
+<h3 class=fn>void <a name="setOpenError"></a>QSqlDriver::setOpenError ( bool&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Protected function which sets the open error state of the database
+to <em>e</em>. Derived classes can use this function to report the
+status of <a href="#open">open</a>(). Note that if <em>e</em> is TRUE the open state of the
+database is set to closed (i.e. <a href="#isOpen">isOpen</a>() returns FALSE).
+<p> <p>See also <a href="#open">open</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="tables"></a>QSqlDriver::tables ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tableType ) const<tt> [virtual]</tt>
+</h3>
+Returns a list of tables in the database. The default
+implementation returns an empty list.
+<p> The <em>tableType</em> argument describes what types of tables
+should be returned. Due to binary compatibility, the string
+contains the value of the enum QSql::TableTypes as text.
+An empty string should be treated as QSql::Tables for
+downward compatibility.
+<p> <p>See also <a href="qsql.html#TableType-enum">QSql::TableType</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriverplugin-h.html b/doc/html/qsqldriverplugin-h.html
new file mode 100644
index 0000000..5fb0bd0
--- /dev/null
+++ b/doc/html/qsqldriverplugin-h.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldriverplugin.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqldriverplugin.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqldriverplugin.h</h1>
+
+<p>This is the verbatim text of the qsqldriverplugin.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsqldriverplugin.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QSqlDriverPlugin class
+**
+** Created : 2001-09-20
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLDRIVERPLUGIN_H
+#define QSQLDRIVERPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_SQL
+#ifndef QT_NO_COMPONENT
+
+class QSqlDriver;
+class QSqlDriverPluginPrivate;
+
+class Q_EXPORT QSqlDriverPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QSqlDriverPlugin();
+ ~QSqlDriverPlugin();
+
+ virtual QStringList keys() const = 0;
+ virtual QSqlDriver *create( const QString &amp;key ) = 0;
+
+private:
+ QSqlDriverPluginPrivate *d;
+};
+
+#endif // QT_NO_COMPONENT
+#endif // QT_NO_SQL
+
+#endif // QSQLDRIVERPLUGIN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriverplugin-members.html b/doc/html/qsqldriverplugin-members.html
new file mode 100644
index 0000000..1115d64
--- /dev/null
+++ b/doc/html/qsqldriverplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqldriverplugin.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDriverPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlDriverPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqldriverplugin.html">QSqlDriverPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qsqldriverplugin.html#QSqlDriverPlugin">QSqlDriverPlugin</a>()
+<li><a href="qsqldriverplugin.html#~QSqlDriverPlugin">~QSqlDriverPlugin</a>()
+<li><a href="qsqldriverplugin.html#create">create</a>()
+<li><a href="qsqldriverplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqldriverplugin.html b/doc/html/qsqldriverplugin.html
new file mode 100644
index 0000000..b418627
--- /dev/null
+++ b/doc/html/qsqldriverplugin.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqldriverplugin.cpp:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlDriverPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlDriverPlugin Class Reference</h1>
+
+<p>The QSqlDriverPlugin class provides an abstract base for custom QSqlDriver plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqldriverplugin-h.html">qsqldriverplugin.h</a>&gt;</tt>
+<p><a href="qsqldriverplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlDriverPlugin"><b>QSqlDriverPlugin</b></a> ()</li>
+<li class=fn><a href="#~QSqlDriverPlugin"><b>~QSqlDriverPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QSqlDriver * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlDriverPlugin class provides an abstract base for custom <a href="qsqldriver.html">QSqlDriver</a> plugins.
+<p>
+
+<p> The SQL driver plugin is a simple plugin interface that makes it
+easy to create your own SQL driver plugins that can be loaded
+dynamically by Qt.
+<p> Writing a SQL plugin is achieved by subclassing this base class,
+reimplementing the pure virtual functions <a href="#keys">keys</a>() and <a href="#create">create</a>(), and
+exporting the class with the <tt>Q_EXPORT_PLUGIN</tt> macro. See the SQL
+plugins that come with Qt for example implementations (in the
+<tt>plugins/src/sqldrivers</tt> subdirectory of the source
+distribution). Read the <a href="plugins-howto.html">plugins
+ documentation</a> for more information on plugins.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlDriverPlugin"></a>QSqlDriverPlugin::QSqlDriverPlugin ()
+</h3>
+Constructs a SQL driver plugin. This is invoked automatically by
+the <tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QSqlDriverPlugin"></a>QSqlDriverPlugin::~QSqlDriverPlugin ()
+</h3>
+Destroys the SQL driver plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qsqldriver.html">QSqlDriver</a>&nbsp;* <a name="create"></a>QSqlDriverPlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates and returns a <a href="qsqldriver.html">QSqlDriver</a> object for the driver key <em>key</em>.
+The driver key is usually the class name of the required driver.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QSqlDriverPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of drivers (keys) this plugin supports.
+<p> These keys are usually the class names of the custom drivers that
+are implemented in the plugin.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqleditorfactory-h.html b/doc/html/qsqleditorfactory-h.html
new file mode 100644
index 0000000..bc231d0
--- /dev/null
+++ b/doc/html/qsqleditorfactory-h.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqleditorfactory.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqleditorfactory.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqleditorfactory.h</h1>
+
+<p>This is the verbatim text of the qsqleditorfactory.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlEditorFactory class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLEDITORFACTORY_H
+#define QSQLEDITORFACTORY_H
+
+#ifndef QT_H
+#include "qeditorfactory.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL_EDIT_WIDGETS
+
+class QSqlField;
+
+class QM_EXPORT_SQL QSqlEditorFactory : public QEditorFactory
+{
+public:
+ QSqlEditorFactory ( QObject * parent = 0, const char * name = 0 );
+ ~QSqlEditorFactory();
+ virtual QWidget * createEditor( QWidget * parent, const QVariant &amp; variant );
+ virtual QWidget * createEditor( QWidget * parent, const QSqlField * field );
+
+ static QSqlEditorFactory * defaultFactory();
+ static void installDefaultFactory( QSqlEditorFactory * factory );
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QSqlEditorFactory( const QSqlEditorFactory &amp; );
+ QSqlEditorFactory &amp;operator=( const QSqlEditorFactory &amp; );
+#endif
+};
+
+#endif // QT_NO_SQL
+#endif // QSQLEDITORFACTORY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqleditorfactory-members.html b/doc/html/qsqleditorfactory-members.html
new file mode 100644
index 0000000..1642762
--- /dev/null
+++ b/doc/html/qsqleditorfactory-members.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqleditorfactory.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlEditorFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlEditorFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqleditorfactory.html">QSqlEditorFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qsqleditorfactory.html#QSqlEditorFactory">QSqlEditorFactory</a>()
+<li><a href="qsqleditorfactory.html#~QSqlEditorFactory">~QSqlEditorFactory</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qsqleditorfactory.html#createEditor">createEditor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qsqleditorfactory.html#defaultFactory">defaultFactory</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qsqleditorfactory.html#installDefaultFactory">installDefaultFactory</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqleditorfactory.html b/doc/html/qsqleditorfactory.html
new file mode 100644
index 0000000..0bc99a1
--- /dev/null
+++ b/doc/html/qsqleditorfactory.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqleditorfactory.cpp:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlEditorFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlEditorFactory Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlEditorFactory class is used to create the editors
+used by QDataTable and QSqlForm.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqleditorfactory-h.html">qsqleditorfactory.h</a>&gt;</tt>
+<p>Inherits <a href="qeditorfactory.html">QEditorFactory</a>.
+<p><a href="qsqleditorfactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlEditorFactory"><b>QSqlEditorFactory</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSqlEditorFactory"><b>~QSqlEditorFactory</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#createEditor"><b>createEditor</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QVariant&nbsp;&amp;&nbsp;variant )</li>
+<li class=fn>virtual QWidget * <a href="#createEditor-2"><b>createEditor</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QSqlField&nbsp;*&nbsp;field )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QSqlEditorFactory * <a href="#defaultFactory"><b>defaultFactory</b></a> ()</li>
+<li class=fn>void <a href="#installDefaultFactory"><b>installDefaultFactory</b></a> ( QSqlEditorFactory&nbsp;*&nbsp;factory )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlEditorFactory class is used to create the editors
+used by <a href="qdatatable.html">QDataTable</a> and <a href="qsqlform.html">QSqlForm</a>.
+<p>
+
+<p> QSqlEditorFactory is used by QDataTable and QSqlForm to
+automatically create appropriate editors for a given <a href="qsqlfield.html">QSqlField</a>.
+For example if the field is a QVariant::String a <a href="qlineedit.html">QLineEdit</a> would
+be the default editor, whereas a QVariant::Int's default editor
+would be a <a href="qspinbox.html">QSpinBox</a>.
+<p> If you want to create different editors for fields with the same
+data type, subclass QSqlEditorFactory and reimplement the
+<a href="#createEditor">createEditor</a>() function.
+<p> <p>See also <a href="qdatatable.html">QDataTable</a>, <a href="qsqlform.html">QSqlForm</a>, and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlEditorFactory"></a>QSqlEditorFactory::QSqlEditorFactory ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a SQL editor factory with parent <em>parent</em>, called <em>name</em>.
+
+<h3 class=fn><a name="~QSqlEditorFactory"></a>QSqlEditorFactory::~QSqlEditorFactory ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createEditor"></a>QSqlEditorFactory::createEditor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;variant )<tt> [virtual]</tt>
+</h3>
+Creates and returns the appropriate editor widget for the <a href="qvariant.html">QVariant</a>
+<em>variant</em>.
+<p> The widget that is returned has the parent <em>parent</em> (which may be
+zero). If <em>variant</em> is invalid, 0 is returned.
+
+<p>Reimplemented from <a href="qeditorfactory.html#createEditor">QEditorFactory</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createEditor-2"></a>QSqlEditorFactory::createEditor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Creates and returns the appropriate editor for the <a href="qsqlfield.html">QSqlField</a> <em>field</em>.
+
+<h3 class=fn><a href="qsqleditorfactory.html">QSqlEditorFactory</a>&nbsp;* <a name="defaultFactory"></a>QSqlEditorFactory::defaultFactory ()<tt> [static]</tt>
+</h3>
+Returns an instance of a default editor factory.
+
+<h3 class=fn>void <a name="installDefaultFactory"></a>QSqlEditorFactory::installDefaultFactory ( <a href="qsqleditorfactory.html">QSqlEditorFactory</a>&nbsp;*&nbsp;factory )<tt> [static]</tt>
+</h3>
+Replaces the default editor factory with <em>factory</em>. All
+<a href="qdatatable.html">QDataTable</a> and <a href="qsqlform.html">QSqlForm</a> instantiations will use this new factory
+for creating field editors. <em>QSqlEditorFactory takes ownership of &#92;a factory, and destroys it when it is no longer needed.</em>
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlerror-h.html b/doc/html/qsqlerror-h.html
new file mode 100644
index 0000000..980a4a0
--- /dev/null
+++ b/doc/html/qsqlerror-h.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlerror.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlerror.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlerror.h</h1>
+
+<p>This is the verbatim text of the qsqlerror.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlError class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLERROR_H
+#define QSQLERROR_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QM_EXPORT_SQL QSqlError
+{
+public:
+ enum Type {
+ None,
+ Connection,
+ Statement,
+ Transaction,
+ Unknown
+ };
+ QSqlError( const QString&amp; driverText = QString::null,
+ const QString&amp; databaseText = QString::null,
+ int type = QSqlError::None,
+ int number = -1 );
+ QSqlError( const QSqlError&amp; other );
+ QSqlError&amp; operator=( const QSqlError&amp; other );
+ virtual ~QSqlError();
+
+ QString driverText() const;
+ virtual void setDriverText( const QString&amp; driverText );
+ QString databaseText() const;
+ virtual void setDatabaseText( const QString&amp; databaseText );
+ int type() const;
+ virtual void setType( int type );
+ int number() const;
+ virtual void setNumber( int number );
+ QString text() const;
+ void showMessage( const QString&amp; msg = QString::null ) const;
+
+private:
+ QString driverError;
+ QString databaseError;
+ int errorType;
+ int errorNumber;
+};
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlerror-members.html b/doc/html/qsqlerror-members.html
new file mode 100644
index 0000000..a3a5b95
--- /dev/null
+++ b/doc/html/qsqlerror-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlerror.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlError Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlError</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlerror.html">QSqlError</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlerror.html#QSqlError">QSqlError</a>()
+<li><a href="qsqlerror.html#~QSqlError">~QSqlError</a>()
+<li><a href="qsqlerror.html#databaseText">databaseText</a>()
+<li><a href="qsqlerror.html#driverText">driverText</a>()
+<li><a href="qsqlerror.html#number">number</a>()
+<li><a href="qsqlerror.html#operator-eq">operator=</a>()
+<li><a href="qsqlerror.html#setDatabaseText">setDatabaseText</a>()
+<li><a href="qsqlerror.html#setDriverText">setDriverText</a>()
+<li><a href="qsqlerror.html#setNumber">setNumber</a>()
+<li><a href="qsqlerror.html#setType">setType</a>()
+<li><a href="qsqlerror.html#showMessage">showMessage</a>()
+<li><a href="qsqlerror.html#text">text</a>()
+<li><a href="qsqlerror.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlerror.html b/doc/html/qsqlerror.html
new file mode 100644
index 0000000..3dada92
--- /dev/null
+++ b/doc/html/qsqlerror.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlerror.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlError Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlError Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlError class provides SQL database error information.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlerror-h.html">qsqlerror.h</a>&gt;</tt>
+<p><a href="qsqlerror-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { None, Connection, Statement, Transaction, Unknown }</li>
+<li class=fn><a href="#QSqlError"><b>QSqlError</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driverText = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;databaseText = QString::null, int&nbsp;type = QSqlError::None, int&nbsp;number = -1 )</li>
+<li class=fn><a href="#QSqlError-2"><b>QSqlError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QSqlError &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>virtual <a href="#~QSqlError"><b>~QSqlError</b></a> ()</li>
+<li class=fn>QString <a href="#driverText"><b>driverText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDriverText"><b>setDriverText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driverText )</li>
+<li class=fn>QString <a href="#databaseText"><b>databaseText</b></a> () const</li>
+<li class=fn>virtual void <a href="#setDatabaseText"><b>setDatabaseText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;databaseText )</li>
+<li class=fn>int <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>virtual void <a href="#setType"><b>setType</b></a> ( int&nbsp;type )</li>
+<li class=fn>int <a href="#number"><b>number</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNumber"><b>setNumber</b></a> ( int&nbsp;number )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>void showMessage ( const&nbsp;QString&nbsp;&amp;&nbsp;msg = QString::null ) const &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlError class provides SQL database error information.
+<p>
+
+<p> This class is used to report database-specific errors. An error
+description and (if appropriate) a database-specific error number
+can be obtained using this class.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Type-enum"></a>QSqlError::Type</h3>
+
+<p> This enum type describes the type of SQL error that occurred.
+<ul>
+<li><tt>QSqlError::None</tt> - no error occurred
+<li><tt>QSqlError::Connection</tt> - connection error
+<li><tt>QSqlError::Statement</tt> - SQL statement syntax error
+<li><tt>QSqlError::Transaction</tt> - transaction failed error
+<li><tt>QSqlError::Unknown</tt> - unknown error
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlError"></a>QSqlError::QSqlError ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driverText = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;databaseText = QString::null, int&nbsp;type = QSqlError::None, int&nbsp;number = -1 )
+</h3>
+Constructs an error containing the driver error text <em>driverText</em>, the database-specific error text <em>databaseText</em>, the
+type <em>type</em> and the optional error number <em>number</em>.
+
+<h3 class=fn><a name="QSqlError-2"></a>QSqlError::QSqlError ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Creates a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlError"></a>QSqlError::~QSqlError ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="databaseText"></a>QSqlError::databaseText () const
+</h3>
+Returns the text of the error as reported by the database. This
+may contain database-specific descriptions.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="driverText"></a>QSqlError::driverText () const
+</h3>
+Returns the text of the error as reported by the driver. This may
+contain database-specific descriptions.
+
+<h3 class=fn>int <a name="number"></a>QSqlError::number () const
+</h3>
+Returns the database-specific error number, or -1 if it cannot be
+determined.
+
+<h3 class=fn><a href="qsqlerror.html">QSqlError</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlError::operator= ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Sets the error equal to <em>other</em>.
+
+<h3 class=fn>void <a name="setDatabaseText"></a>QSqlError::setDatabaseText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;databaseText )<tt> [virtual]</tt>
+</h3>
+Sets the database error text to the value of <em>databaseText</em>.
+
+<h3 class=fn>void <a name="setDriverText"></a>QSqlError::setDriverText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driverText )<tt> [virtual]</tt>
+</h3>
+Sets the driver error text to the value of <em>driverText</em>.
+
+<h3 class=fn>void <a name="setNumber"></a>QSqlError::setNumber ( int&nbsp;number )<tt> [virtual]</tt>
+</h3>
+Sets the database-specific error number to <em>number</em>.
+
+<h3 class=fn>void <a name="setType"></a>QSqlError::setType ( int&nbsp;type )<tt> [virtual]</tt>
+</h3>
+Sets the error type to the value of <em>type</em>.
+
+<h3 class=fn>void <a name="showMessage"></a>QSqlError::showMessage ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;msg = QString::null ) const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is a convenience function that pops up a <a href="qmessagebox.html">QMessageBox</a>
+containing the message returned by <a href="#text">text</a>(). An additional string
+can be passed in via the <em>msg</em> parameter, which will be
+concatenated with the text() message.
+<p> <p>See also <a href="#text">text</a>(), <a href="#driverText">driverText</a>(), and <a href="#databaseText">databaseText</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QSqlError::text () const
+</h3>
+This is a convenience function that returns <a href="#databaseText">databaseText</a>() and
+<a href="#driverText">driverText</a>() concatenated into a single string.
+<p> <p>See also <a href="#showMessage">showMessage</a>(), <a href="#driverText">driverText</a>(), and <a href="#databaseText">databaseText</a>().
+
+<h3 class=fn>int <a name="type"></a>QSqlError::type () const
+</h3>
+Returns the error type, or -1 if the type cannot be determined.
+<p> <p>See also <a href="#Type-enum">QSqlError::Type</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlfield-h.html b/doc/html/qsqlfield-h.html
new file mode 100644
index 0000000..fd1c5f3
--- /dev/null
+++ b/doc/html/qsqlfield-h.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlfield.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlfield.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlfield.h</h1>
+
+<p>This is the verbatim text of the qsqlfield.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlField class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLFIELD_H
+#define QSQLFIELD_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qvariant.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlFieldPrivate
+{
+public:
+ QVariant::Type type;
+};
+
+class QM_EXPORT_SQL QSqlField
+{
+public:
+ QSqlField( const QString&amp; fieldName = QString::null, QVariant::Type type = QVariant::Invalid );
+ QSqlField( const QSqlField&amp; other );
+ QSqlField&amp; operator=( const QSqlField&amp; other );
+ bool operator==(const QSqlField&amp; other) const;
+ virtual ~QSqlField();
+
+ virtual void setValue( const QVariant&amp; value );
+ virtual QVariant value() const;
+ virtual void setName( const QString&amp; name );
+ QString name() const;
+ virtual void setNull();
+ bool isNull() const;
+ virtual void setReadOnly( bool readOnly );
+ bool isReadOnly() const;
+ void clear( bool nullify = TRUE );
+ QVariant::Type type() const;
+
+private:
+ QString nm;
+ QVariant val;
+ uint ro: 1;
+ uint nul: 1;
+ QSqlFieldPrivate* d;
+};
+
+inline QVariant QSqlField::value() const
+{ return val; }
+
+inline QString QSqlField::name() const
+{ return nm; }
+
+inline bool QSqlField::isNull() const
+{ return nul; }
+
+inline bool QSqlField::isReadOnly() const
+{ return ro; }
+
+inline QVariant::Type QSqlField::type() const
+{ return d-&gt;type; }
+
+
+/******************************************/
+/******* QSqlFieldInfo Class ******/
+/******************************************/
+
+struct QSqlFieldInfoPrivate;
+
+class QM_EXPORT_SQL QSqlFieldInfo
+{
+public:
+ QSqlFieldInfo( const QString&amp; name = QString::null,
+ QVariant::Type typ = QVariant::Invalid,
+ int required = -1,
+ int len = -1,
+ int prec = -1,
+ const QVariant&amp; defValue = QVariant(),
+ int sqlType = 0,
+ bool generated = TRUE,
+ bool trim = FALSE,
+ bool calculated = FALSE );
+ QSqlFieldInfo( const QSqlFieldInfo &amp; other );
+ QSqlFieldInfo( const QSqlField &amp; other, bool generated = TRUE );
+ virtual ~QSqlFieldInfo();
+ QSqlFieldInfo&amp; operator=( const QSqlFieldInfo&amp; other );
+ bool operator==( const QSqlFieldInfo&amp; f ) const;
+
+ QSqlField toField() const;
+ int isRequired() const;
+ QVariant::Type type() const;
+ int length() const;
+ int precision() const;
+ QVariant defaultValue() const;
+ QString name() const;
+ int typeID() const;
+ bool isGenerated() const;
+ bool isTrim() const;
+ bool isCalculated() const;
+
+ virtual void setTrim( bool trim );
+ virtual void setGenerated( bool gen );
+ virtual void setCalculated( bool calc );
+
+private:
+ QSqlFieldInfoPrivate* d;
+};
+
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlfield-members.html b/doc/html/qsqlfield-members.html
new file mode 100644
index 0000000..6f320a4
--- /dev/null
+++ b/doc/html/qsqlfield-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlfield.h:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlField Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlField</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlfield.html">QSqlField</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlfield.html#QSqlField">QSqlField</a>()
+<li><a href="qsqlfield.html#~QSqlField">~QSqlField</a>()
+<li><a href="qsqlfield.html#clear">clear</a>()
+<li><a href="qsqlfield.html#isNull">isNull</a>()
+<li><a href="qsqlfield.html#isReadOnly">isReadOnly</a>()
+<li><a href="qsqlfield.html#name">name</a>()
+<li><a href="qsqlfield.html#operator-eq">operator=</a>()
+<li><a href="qsqlfield.html#operator-eq-eq">operator==</a>()
+<li><a href="qsqlfield.html#setName">setName</a>()
+<li><a href="qsqlfield.html#setNull">setNull</a>()
+<li><a href="qsqlfield.html#setReadOnly">setReadOnly</a>()
+<li><a href="qsqlfield.html#setValue">setValue</a>()
+<li><a href="qsqlfield.html#type">type</a>()
+<li><a href="qsqlfield.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlfield.html b/doc/html/qsqlfield.html
new file mode 100644
index 0000000..f5d6f36
--- /dev/null
+++ b/doc/html/qsqlfield.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlfield.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlField Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlField Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlField class manipulates the fields in SQL database tables
+and views.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlfield-h.html">qsqlfield.h</a>&gt;</tt>
+<p><a href="qsqlfield-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlField"><b>QSqlField</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName = QString::null, QVariant::Type&nbsp;type = QVariant::Invalid )</li>
+<li class=fn><a href="#QSqlField-2"><b>QSqlField</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QSqlField &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>virtual <a href="#~QSqlField"><b>~QSqlField</b></a> ()</li>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>virtual QVariant <a href="#value"><b>value</b></a> () const</li>
+<li class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>virtual void <a href="#setNull"><b>setNull</b></a> ()</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>virtual void <a href="#setReadOnly"><b>setReadOnly</b></a> ( bool&nbsp;readOnly )</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ( bool&nbsp;nullify = TRUE )</li>
+<li class=fn>QVariant::Type <a href="#type"><b>type</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlField class manipulates the fields in SQL database tables
+and views.
+<p>
+
+<p> QSqlField represents the characteristics of a single column in a
+database table or view, such as the data type and column name. A
+field also contains the value of the database column, which can be
+viewed or changed.
+<p> Field data values are stored as QVariants. Using an incompatible
+type is not permitted. For example:
+<p> <pre>
+ QSqlField f( "myfield", QVariant::Int );
+ f.<a href="#setValue">setValue</a>( QPixmap() ); // will not work
+ </pre>
+
+<p> However, the field will attempt to cast certain data types to the
+field data type where possible:
+<p> <pre>
+ QSqlField f( "myfield", QVariant::Int );
+ f.<a href="#setValue">setValue</a>( QString("123") ); // casts QString to int
+ </pre>
+
+<p> QSqlField objects are rarely created explicitly in application
+code. They are usually accessed indirectly through <a href="qsqlrecord.html">QSqlRecord</a>
+or <a href="qsqlcursor.html">QSqlCursor</a> which already contain a list of fields. For
+example:
+<p> <pre>
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "Employee" ); // create cursor using the 'Employee' table
+ QSqlField* f = cur.<a href="qsqlrecord.html#field">field</a>( "name" ); // use the 'name' field
+ f-&gt;<a href="#setValue">setValue</a>( "Dave" ); // set field value
+ ...
+ </pre>
+
+<p> In practice we rarely need to extract a pointer to a field at all.
+The previous example would normally be written:
+<p> <pre>
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "Employee" );
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "name", "Dave" );
+ ...
+ </pre>
+
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlField"></a>QSqlField::QSqlField ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName = QString::null, <a href="qvariant.html#Type-enum">QVariant::Type</a>&nbsp;type = QVariant::Invalid )
+</h3>
+Constructs an empty field called <em>fieldName</em> of type <em>type</em>.
+
+<h3 class=fn><a name="QSqlField-2"></a>QSqlField::QSqlField ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlField"></a>QSqlField::~QSqlField ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="clear"></a>QSqlField::clear ( bool&nbsp;nullify = TRUE )
+</h3>
+Clears the value of the field. If the field is read-only, nothing
+happens. If <em>nullify</em> is TRUE (the default), the field is set to
+NULL.
+
+<h3 class=fn>bool <a name="isNull"></a>QSqlField::isNull () const
+</h3>
+
+<p> Returns TRUE if the field is currently NULL; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="isReadOnly"></a>QSqlField::isReadOnly () const
+</h3>
+
+<p> Returns TRUE if the field's value is read only; otherwise returns
+FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QSqlField::name () const
+</h3>
+
+<p> Returns the name of the field.
+
+<p>Example: <a href="sql.html#x2249">sql/overview/table4/main.cpp</a>.
+<h3 class=fn><a href="qsqlfield.html">QSqlField</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlField::operator= ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Sets the field equal to <em>other</em>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QSqlField::operator== ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+Returns TRUE if the field is equal to <em>other</em>; otherwise returns
+FALSE. Fields are considered equal when the following field
+properties are the same:
+<p> <ul>
+<li> <a href="#name">name</a>()
+<li> <a href="#isNull">isNull</a>()
+<li> <a href="#value">value</a>()
+<li> <a href="#isReadOnly">isReadOnly</a>()
+</ul>
+<p>
+<h3 class=fn>void <a name="setName"></a>QSqlField::setName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+
+<p> Sets the name of the field to <em>name</em>.
+
+<h3 class=fn>void <a name="setNull"></a>QSqlField::setNull ()<tt> [virtual]</tt>
+</h3>
+
+<p> Sets the field to NULL and clears the value using <a href="#clear">clear</a>(). If the
+field is read-only, nothing happens.
+<p> <p>See also <a href="#isReadOnly">isReadOnly</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="setReadOnly"></a>QSqlField::setReadOnly ( bool&nbsp;readOnly )<tt> [virtual]</tt>
+</h3>
+
+<p> Sets the read only flag of the field's value to <em>readOnly</em>.
+<p> <p>See also <a href="#setValue">setValue</a>().
+
+<h3 class=fn>void <a name="setValue"></a>QSqlField::setValue ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;value )<tt> [virtual]</tt>
+</h3>
+Sets the value of the field to <em>value</em>. If the field is read-only
+(<a href="#isReadOnly">isReadOnly</a>() returns TRUE), nothing happens. If the data type of
+<em>value</em> differs from the field's current data type, an attempt is
+made to cast it to the proper type. This preserves the data type
+of the field in the case of assignment, e.g. a <a href="qstring.html">QString</a> to an
+integer data type. For example:
+<p> <pre>
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "Employee" ); // 'Employee' table
+ QSqlField* f = cur.<a href="qsqlrecord.html#field">field</a>( "student_count" ); // an integer field
+ ...
+ f-&gt;<a href="#setValue">setValue</a>( myLineEdit-&gt;text() ); // cast the line edit text to an integer
+ </pre>
+
+<p> <p>See also <a href="#isReadOnly">isReadOnly</a>().
+
+<h3 class=fn><a href="qvariant.html#Type-enum">QVariant::Type</a> <a name="type"></a>QSqlField::type () const
+</h3>
+
+<p> Returns the field's type as stored in the database.
+Note that the actual value might have a different type,
+Numerical values that are too large to store in a long
+int or double are usually stored as strings to prevent
+precision loss.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QSqlField::value () const<tt> [virtual]</tt>
+</h3>
+
+<p> Returns the value of the field as a <a href="qvariant.html">QVariant</a>.
+
+<p>Example: <a href="sql.html#x2250">sql/overview/table4/main.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlfieldinfo-members.html b/doc/html/qsqlfieldinfo-members.html
new file mode 100644
index 0000000..ad45a58
--- /dev/null
+++ b/doc/html/qsqlfieldinfo-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlfield.h:110 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlFieldInfo Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlFieldInfo</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlfieldinfo.html#QSqlFieldInfo">QSqlFieldInfo</a>()
+<li><a href="qsqlfieldinfo.html#~QSqlFieldInfo">~QSqlFieldInfo</a>()
+<li><a href="qsqlfieldinfo.html#defaultValue">defaultValue</a>()
+<li><a href="qsqlfieldinfo.html#isCalculated">isCalculated</a>()
+<li><a href="qsqlfieldinfo.html#isGenerated">isGenerated</a>()
+<li><a href="qsqlfieldinfo.html#isRequired">isRequired</a>()
+<li><a href="qsqlfieldinfo.html#isTrim">isTrim</a>()
+<li><a href="qsqlfieldinfo.html#length">length</a>()
+<li><a href="qsqlfieldinfo.html#name">name</a>()
+<li><a href="qsqlfieldinfo.html#operator-eq">operator=</a>()
+<li><a href="qsqlfieldinfo.html#operator-eq-eq">operator==</a>()
+<li><a href="qsqlfieldinfo.html#precision">precision</a>()
+<li><a href="qsqlfieldinfo.html#setCalculated">setCalculated</a>()
+<li><a href="qsqlfieldinfo.html#setGenerated">setGenerated</a>()
+<li><a href="qsqlfieldinfo.html#setTrim">setTrim</a>()
+<li><a href="qsqlfieldinfo.html#toField">toField</a>()
+<li><a href="qsqlfieldinfo.html#type">type</a>()
+<li><a href="qsqlfieldinfo.html#typeID">typeID</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlfieldinfo.html b/doc/html/qsqlfieldinfo.html
new file mode 100644
index 0000000..744acae
--- /dev/null
+++ b/doc/html/qsqlfieldinfo.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlfield.cpp:304 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlFieldInfo Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlFieldInfo Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlFieldInfo class stores meta data associated with a SQL field.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlfield-h.html">qsqlfield.h</a>&gt;</tt>
+<p><a href="qsqlfieldinfo-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlFieldInfo"><b>QSqlFieldInfo</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name = QString::null, QVariant::Type&nbsp;typ = QVariant::Invalid, int&nbsp;required = -1, int&nbsp;len = -1, int&nbsp;prec = -1, const&nbsp;QVariant&nbsp;&amp;&nbsp;defValue = QVariant ( ), int&nbsp;typeID = 0, bool&nbsp;generated = TRUE, bool&nbsp;trim = FALSE, bool&nbsp;calculated = FALSE )</li>
+<li class=fn><a href="#QSqlFieldInfo-2"><b>QSqlFieldInfo</b></a> ( const&nbsp;QSqlFieldInfo&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#QSqlFieldInfo-3"><b>QSqlFieldInfo</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;other, bool&nbsp;generated = TRUE )</li>
+<li class=fn>virtual <a href="#~QSqlFieldInfo"><b>~QSqlFieldInfo</b></a> ()</li>
+<li class=fn>QSqlFieldInfo &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlFieldInfo&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QSqlFieldInfo&nbsp;&amp;&nbsp;f ) const</li>
+<li class=fn>QSqlField <a href="#toField"><b>toField</b></a> () const</li>
+<li class=fn>int <a href="#isRequired"><b>isRequired</b></a> () const</li>
+<li class=fn>QVariant::Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>int <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>int <a href="#precision"><b>precision</b></a> () const</li>
+<li class=fn>QVariant <a href="#defaultValue"><b>defaultValue</b></a> () const</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>int <a href="#typeID"><b>typeID</b></a> () const</li>
+<li class=fn>bool <a href="#isGenerated"><b>isGenerated</b></a> () const</li>
+<li class=fn>bool <a href="#isTrim"><b>isTrim</b></a> () const</li>
+<li class=fn>bool <a href="#isCalculated"><b>isCalculated</b></a> () const</li>
+<li class=fn>virtual void <a href="#setTrim"><b>setTrim</b></a> ( bool&nbsp;trim )</li>
+<li class=fn>virtual void <a href="#setGenerated"><b>setGenerated</b></a> ( bool&nbsp;gen )</li>
+<li class=fn>virtual void <a href="#setCalculated"><b>setCalculated</b></a> ( bool&nbsp;calc )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlFieldInfo class stores meta data associated with a SQL field.
+<p>
+
+<p> QSqlFieldInfo objects only store meta data; field values are
+stored in <a href="qsqlfield.html">QSqlField</a> objects.
+<p> All values must be set in the constructor, and may be retrieved
+using <a href="#isRequired">isRequired</a>(), <a href="#type">type</a>(), <a href="#length">length</a>(), <a href="#precision">precision</a>(), <a href="#defaultValue">defaultValue</a>(),
+<a href="#name">name</a>(), <a href="#isGenerated">isGenerated</a>() and <a href="#typeID">typeID</a>().
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlFieldInfo"></a>QSqlFieldInfo::QSqlFieldInfo ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name = QString::null, <a href="qvariant.html#Type-enum">QVariant::Type</a>&nbsp;typ = QVariant::Invalid, int&nbsp;required = -1, int&nbsp;len = -1, int&nbsp;prec = -1, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;defValue = QVariant ( ), int&nbsp;typeID = 0, bool&nbsp;generated = TRUE, bool&nbsp;trim = FALSE, bool&nbsp;calculated = FALSE )
+</h3>
+Constructs a QSqlFieldInfo with the following parameters:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>name</em> <td valign="top">the name of the field.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>typ</em> <td valign="top">the field's type in a <a href="qvariant.html">QVariant</a>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>required</em> <td valign="top">greater than 0 if the field is required, 0
+if its value can be NULL and less than 0 if it cannot be
+determined whether the field is required or not.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>len</em> <td valign="top">the length of the field. Note that for
+non-character types some databases return either the length in
+bytes or the number of digits. -1 signifies that the length cannot
+be determined.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>prec</em> <td valign="top">the precision of the field, or -1 if the field
+has no precision or it cannot be determined.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>defValue</em> <td valign="top">the default value that is inserted into
+the table if none is specified by the user. QVariant() if there is
+no default value or it cannot be determined.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>typeID</em> <td valign="top">the internal typeID of the database system
+(only useful for low-level programming). 0 if unknown.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>generated</em> <td valign="top">TRUE indicates that this field should be
+included in auto-generated SQL statments, e.g. in <a href="qsqlcursor.html">QSqlCursor</a>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>trim</em> <td valign="top">TRUE indicates that widgets should remove
+trailing whitespace from character fields. This does not affect
+the field value but only its representation inside widgets.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>calculated</em> <td valign="top">TRUE indicates that the value of this
+field is calculated. The value of calculated fields can by
+modified by subclassing QSqlCursor and overriding
+<a href="qsqlcursor.html#calculateField">QSqlCursor::calculateField</a>().
+</table></center>
+
+<h3 class=fn><a name="QSqlFieldInfo-2"></a>QSqlFieldInfo::QSqlFieldInfo ( const&nbsp;<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="QSqlFieldInfo-3"></a>QSqlFieldInfo::QSqlFieldInfo ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;other, bool&nbsp;generated = TRUE )
+</h3>
+Creates a QSqlFieldInfo object with the type and the name of the
+<a href="qsqlfield.html">QSqlField</a> <em>other</em>. If <em>generated</em> is TRUE this field will be
+included in auto-generated SQL statments, e.g. in <a href="qsqlcursor.html">QSqlCursor</a>.
+
+<h3 class=fn><a name="~QSqlFieldInfo"></a>QSqlFieldInfo::~QSqlFieldInfo ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="defaultValue"></a>QSqlFieldInfo::defaultValue () const
+</h3>
+Returns the field's default value or an empty <a href="qvariant.html">QVariant</a> if the
+field has no default value or the value couldn't be determined.
+The default value is the value inserted in the database when it
+is not explicitly specified by the user.
+
+<h3 class=fn>bool <a name="isCalculated"></a>QSqlFieldInfo::isCalculated () const
+</h3>
+Returns TRUE if the field is calculated; otherwise returns FALSE.
+<p> <p>See also <a href="#setCalculated">setCalculated</a>().
+
+<h3 class=fn>bool <a name="isGenerated"></a>QSqlFieldInfo::isGenerated () const
+</h3>
+Returns TRUE if the field should be included in auto-generated
+SQL statments, e.g. in <a href="qsqlcursor.html">QSqlCursor</a>; otherwise returns FALSE.
+<p> <p>See also <a href="#setGenerated">setGenerated</a>().
+
+<h3 class=fn>int <a name="isRequired"></a>QSqlFieldInfo::isRequired () const
+</h3>
+Returns a value greater than 0 if the field is required (NULL
+values are not allowed), 0 if it isn't required (NULL values are
+allowed) or less than 0 if it cannot be determined whether the
+field is required or not.
+
+<h3 class=fn>bool <a name="isTrim"></a>QSqlFieldInfo::isTrim () const
+</h3>
+Returns TRUE if trailing whitespace should be removed from
+character fields; otherwise returns FALSE.
+<p> <p>See also <a href="#setTrim">setTrim</a>().
+
+<h3 class=fn>int <a name="length"></a>QSqlFieldInfo::length () const
+</h3>
+Returns the field's length. For fields storing text the return
+value is the maximum number of characters the field can hold. For
+non-character fields some database systems return the number of
+bytes needed or the number of digits allowed. If the length cannot
+be determined -1 is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QSqlFieldInfo::name () const
+</h3>
+Returns the name of the field in the SQL table.
+
+<p>Examples: <a href="sql.html#x2260">sql/overview/subclass3/main.cpp</a> and <a href="sql.html#x2264">sql/overview/subclass4/main.cpp</a>.
+<h3 class=fn><a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlFieldInfo::operator= ( const&nbsp;<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Assigns <em>other</em> to this field info and returns a reference to it.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QSqlFieldInfo::operator== ( const&nbsp;<a href="qsqlfieldinfo.html">QSqlFieldInfo</a>&nbsp;&amp;&nbsp;f ) const
+</h3>
+Returns TRUE if this fieldinfo is equal to <em>f</em>; otherwise returns
+FALSE.
+<p> Two field infos are considered equal if all their attributes
+match.
+
+<h3 class=fn>int <a name="precision"></a>QSqlFieldInfo::precision () const
+</h3>
+Returns the field's precision or -1 if the field has no precision
+or it cannot be determined.
+
+<h3 class=fn>void <a name="setCalculated"></a>QSqlFieldInfo::setCalculated ( bool&nbsp;calc )<tt> [virtual]</tt>
+</h3>
+<em>calc</em> set to TRUE indicates that this field is a calculated
+field. The value of calculated fields can by modified by subclassing
+<a href="qsqlcursor.html">QSqlCursor</a> and overriding <a href="qsqlcursor.html#calculateField">QSqlCursor::calculateField</a>().
+<p> <p>See also <a href="#isCalculated">isCalculated</a>().
+
+<h3 class=fn>void <a name="setGenerated"></a>QSqlFieldInfo::setGenerated ( bool&nbsp;gen )<tt> [virtual]</tt>
+</h3>
+<em>gen</em> set to FALSE indicates that this field should not appear
+in auto-generated SQL statements (for example in <a href="qsqlcursor.html">QSqlCursor</a>).
+<p> <p>See also <a href="#isGenerated">isGenerated</a>().
+
+<h3 class=fn>void <a name="setTrim"></a>QSqlFieldInfo::setTrim ( bool&nbsp;trim )<tt> [virtual]</tt>
+</h3>
+If <em>trim</em> is TRUE widgets should remove trailing whitespace from
+character fields. This does not affect the field value but only
+its representation inside widgets.
+<p> <p>See also <a href="#isTrim">isTrim</a>().
+
+<h3 class=fn><a href="qsqlfield.html">QSqlField</a> <a name="toField"></a>QSqlFieldInfo::toField () const
+</h3>
+Returns an empty <a href="qsqlfield.html">QSqlField</a> based on the information in this
+QSqlFieldInfo.
+
+<h3 class=fn><a href="qvariant.html#Type-enum">QVariant::Type</a> <a name="type"></a>QSqlFieldInfo::type () const
+</h3>
+Returns the field's type or QVariant::Invalid if the type is
+unknown.
+
+<h3 class=fn>int <a name="typeID"></a>QSqlFieldInfo::typeID () const
+</h3>
+Returns the internal type identifier as returned from the database
+system. The return value is 0 if the type is unknown.
+<p> <b>Warning:</b> This information is only useful for low-level database
+programming and is <em>not</em> database independent.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlform-h.html b/doc/html/qsqlform-h.html
new file mode 100644
index 0000000..69b69ed
--- /dev/null
+++ b/doc/html/qsqlform-h.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlform.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlform.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlform.h</h1>
+
+<p>This is the verbatim text of the qsqlform.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlForm class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLFORM_H
+#define QSQLFORM_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qmap.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL_FORM
+
+class QSqlField;
+class QSqlRecord;
+class QSqlEditorFactory;
+class QSqlPropertyMap;
+class QWidget;
+class QSqlFormPrivate;
+
+class QM_EXPORT_SQL QSqlForm : public QObject
+{
+ Q_OBJECT
+public:
+ QSqlForm( QObject * parent = 0, const char * name = 0 );
+ ~QSqlForm();
+
+ virtual void insert( QWidget * widget, const QString&amp; field );
+ virtual void remove( const QString&amp; field );
+ uint count() const;
+
+ QWidget * widget( uint i ) const;
+ QSqlField * widgetToField( QWidget * widget ) const;
+ QWidget * fieldToWidget( QSqlField * field ) const;
+
+ void installPropertyMap( QSqlPropertyMap * map );
+
+ virtual void setRecord( QSqlRecord* buf );
+
+public slots:
+ virtual void readField( QWidget * widget );
+ virtual void writeField( QWidget * widget );
+ virtual void readFields();
+ virtual void writeFields();
+
+ virtual void clear();
+ virtual void clearValues( bool nullify = FALSE );
+
+protected:
+ virtual void insert( QWidget * widget, QSqlField * field );
+ virtual void remove( QWidget * widget );
+ void clearMap();
+
+private:
+ virtual void sync();
+ QSqlFormPrivate* d;
+
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QSqlForm( const QSqlForm &amp; );
+ QSqlForm &amp;operator=( const QSqlForm &amp; );
+#endif
+};
+
+#endif // QT_NO_SQL
+#endif // QSQLFORM_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlform-members.html b/doc/html/qsqlform-members.html
new file mode 100644
index 0000000..3197536
--- /dev/null
+++ b/doc/html/qsqlform-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlform.h:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlForm Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlForm</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlform.html">QSqlForm</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlform.html#QSqlForm">QSqlForm</a>()
+<li><a href="qsqlform.html#~QSqlForm">~QSqlForm</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qsqlform.html#clear">clear</a>()
+<li><a href="qsqlform.html#clearValues">clearValues</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qsqlform.html#count">count</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qsqlform.html#fieldToWidget">fieldToWidget</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qsqlform.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qsqlform.html#installPropertyMap">installPropertyMap</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qsqlform.html#readField">readField</a>()
+<li><a href="qsqlform.html#readFields">readFields</a>()
+<li><a href="qsqlform.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qsqlform.html#setRecord">setRecord</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qsqlform.html#widget">widget</a>()
+<li><a href="qsqlform.html#widgetToField">widgetToField</a>()
+<li><a href="qsqlform.html#writeField">writeField</a>()
+<li><a href="qsqlform.html#writeFields">writeFields</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlform.html b/doc/html/qsqlform.html
new file mode 100644
index 0000000..e4fbc2a
--- /dev/null
+++ b/doc/html/qsqlform.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlform.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlForm Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlForm Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlForm class creates and manages data entry forms
+tied to SQL databases.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlform-h.html">qsqlform.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qsqlform-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlForm"><b>QSqlForm</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QSqlForm"><b>~QSqlForm</b></a> ()</li>
+<li class=fn>virtual void <a href="#insert"><b>insert</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QString&nbsp;&amp;&nbsp;field )</li>
+<li class=fn>virtual void <a href="#remove-2"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;field )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QWidget * <a href="#widget"><b>widget</b></a> ( uint&nbsp;i ) const</li>
+<li class=fn>QSqlField * <a href="#widgetToField"><b>widgetToField</b></a> ( QWidget&nbsp;*&nbsp;widget ) const</li>
+<li class=fn>QWidget * <a href="#fieldToWidget"><b>fieldToWidget</b></a> ( QSqlField&nbsp;*&nbsp;field ) const</li>
+<li class=fn>void <a href="#installPropertyMap"><b>installPropertyMap</b></a> ( QSqlPropertyMap&nbsp;*&nbsp;pmap )</li>
+<li class=fn>virtual void <a href="#setRecord"><b>setRecord</b></a> ( QSqlRecord&nbsp;*&nbsp;buf )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#readField"><b>readField</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual void <a href="#writeField"><b>writeField</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual void <a href="#readFields"><b>readFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#writeFields"><b>writeFields</b></a> ()</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearValues"><b>clearValues</b></a> ( bool&nbsp;nullify = FALSE )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#insert-2"><b>insert</b></a> ( QWidget&nbsp;*&nbsp;widget, QSqlField&nbsp;*&nbsp;field )</li>
+<li class=fn>virtual void <a href="#remove"><b>remove</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlForm class creates and manages data entry forms
+tied to SQL databases.
+<p>
+
+
+<p> Typical use of a QSqlForm consists of the following steps:
+<ul>
+<li> Create the widgets you want to appear in the form.
+<li> Create a cursor and navigate to the record to be edited.
+<li> Create the QSqlForm.
+<li> Set the form's record buffer to the cursor's update buffer.
+<li> Insert each widget and the field it is to edit into the form.
+<li> Use <a href="#readFields">readFields</a>() to update the editor widgets with values from
+the database's fields.
+<li> Display the form and let the user edit values etc.
+<li> Use <a href="#writeFields">writeFields</a>() to update the database's field values with
+the values in the editor widgets.
+</ul>
+<p> Note that a QSqlForm does not access the database directly, but
+most often via QSqlFields which are part of a <a href="qsqlcursor.html">QSqlCursor</a>. A
+<a href="qsqlcursor.html#insert">QSqlCursor::insert</a>(), <a href="qsqlcursor.html#update">QSqlCursor::update</a>() or <a href="qsqlcursor.html#del">QSqlCursor::del</a>()
+call is needed to actually write values to the database.
+<p> Some sample code to initialize a form successfully:
+<p> <pre>
+ <a href="qlineedit.html">QLineEdit</a> myEditor( this );
+ QSqlForm myForm( this );
+ <a href="qsqlcursor.html">QSqlCursor</a> myCursor( "mytable" );
+
+ // Execute a query to make the cursor valid
+ myCursor.<a href="qsqlcursor.html#select">select</a>();
+ // Move the cursor to a valid record (the first record)
+ myCursor.<a href="qsqlquery.html#next">next</a>();
+ // Set the form's record pointer to the cursor's edit buffer (which
+ // contains the current record's values)
+ myForm.<a href="#setRecord">setRecord</a>( myCursor.<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>() );
+
+ // Insert a field into the form that uses myEditor to edit the
+ // field 'somefield' in 'mytable'
+ myForm.<a href="#insert">insert</a>( &amp;myEditor, "somefield" );
+
+ // Update myEditor with the value from the mapped database field
+ myForm.<a href="#readFields">readFields</a>();
+ ...
+ // Let the user edit the form
+ ...
+ // Update the database
+ myForm.<a href="#writeFields">writeFields</a>(); // Update the cursor's edit buffer from the form
+ myCursor.<a href="qsqlcursor.html#update">update</a>(); // Update the database from the cursor's buffer
+ </pre>
+
+<p> If you want to use custom editors for displaying and editing data
+fields, you must install a custom <a href="qsqlpropertymap.html">QSqlPropertyMap</a>. The form
+uses this object to get or set the value of a widget.
+<p> Note that <a href="designer-manual.html">Qt Designer</a> provides
+a visual means of creating data-aware forms.
+<p> <p>See also <a href="#installPropertyMap">installPropertyMap</a>(), <a href="qsqlpropertymap.html">QSqlPropertyMap</a>, and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlForm"></a>QSqlForm::QSqlForm ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QSqlForm with parent <em>parent</em> and called <em>name</em>.
+
+<h3 class=fn><a name="~QSqlForm"></a>QSqlForm::~QSqlForm ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="clear"></a>QSqlForm::clear ()<tt> [virtual slot]</tt>
+</h3>
+Removes every widget, and the fields they're mapped to, from the form.
+
+<h3 class=fn>void <a name="clearValues"></a>QSqlForm::clearValues ( bool&nbsp;nullify = FALSE )<tt> [virtual slot]</tt>
+</h3>
+Clears the values in all the widgets, and the fields they are
+mapped to, in the form. If <em>nullify</em> is TRUE (the default is
+FALSE), each field is also set to NULL.
+
+<h3 class=fn>uint <a name="count"></a>QSqlForm::count () const
+</h3>
+Returns the number of widgets in the form.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="fieldToWidget"></a>QSqlForm::fieldToWidget ( <a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field ) const
+</h3>
+Returns the widget that field <em>field</em> is mapped to.
+
+<h3 class=fn>void <a name="insert"></a>QSqlForm::insert ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;field )<tt> [virtual]</tt>
+</h3>
+Inserts a <em>widget</em>, and the name of the <em>field</em> it is to be
+mapped to, into the form. To actually associate inserted widgets
+with an edit buffer, use <a href="#setRecord">setRecord</a>().
+<p> <p>See also <a href="#setRecord">setRecord</a>().
+
+<p>Examples: <a href="sql.html#x2225">sql/overview/form1/main.cpp</a> and <a href="sql.html#x2231">sql/overview/form2/main.cpp</a>.
+<h3 class=fn>void <a name="insert-2"></a>QSqlForm::insert ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, <a href="qsqlfield.html">QSqlField</a>&nbsp;*&nbsp;field )<tt> [virtual protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts a <em>widget</em>, and the <em>field</em> it is to be mapped to, into
+the form.
+
+<h3 class=fn>void <a name="installPropertyMap"></a>QSqlForm::installPropertyMap ( <a href="qsqlpropertymap.html">QSqlPropertyMap</a>&nbsp;*&nbsp;pmap )
+</h3>
+Installs a custom <a href="qsqlpropertymap.html">QSqlPropertyMap</a>. This is useful if you plan to
+create your own custom editor widgets.
+<p> QSqlForm takes ownership of <em>pmap</em>, so <em>pmap</em> is deleted when
+QSqlForm goes out of scope.
+<p> <p>See also <a href="qdatatable.html#installEditorFactory">QDataTable::installEditorFactory</a>().
+
+<p>Example: <a href="sql.html#x2237">sql/overview/custom1/main.cpp</a>.
+<h3 class=fn>void <a name="readField"></a>QSqlForm::readField ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual slot]</tt>
+</h3>
+Updates the widget <em>widget</em> with the value from the SQL field it
+is mapped to. Nothing happens if no SQL field is mapped to the <em>widget</em>.
+
+<h3 class=fn>void <a name="readFields"></a>QSqlForm::readFields ()<tt> [virtual slot]</tt>
+</h3>
+Updates the widgets in the form with current values from the SQL
+fields they are mapped to.
+
+<p>Examples: <a href="sql.html#x2226">sql/overview/form1/main.cpp</a> and <a href="sql.html#x2232">sql/overview/form2/main.cpp</a>.
+<h3 class=fn>void <a name="remove"></a>QSqlForm::remove ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual protected]</tt>
+</h3>
+Removes a <em>widget</em>, and hence the field it's mapped to, from the
+form.
+
+<h3 class=fn>void <a name="remove-2"></a>QSqlForm::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;field )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes <em>field</em> from the form.
+
+<h3 class=fn>void <a name="setRecord"></a>QSqlForm::setRecord ( <a href="qsqlrecord.html">QSqlRecord</a>&nbsp;*&nbsp;buf )<tt> [virtual]</tt>
+</h3>
+Sets <em>buf</em> as the record buffer for the form. To force the
+display of the data from <em>buf</em>, use <a href="#readFields">readFields</a>().
+<p> <p>See also <a href="#readFields">readFields</a>() and <a href="#writeFields">writeFields</a>().
+
+<p>Examples: <a href="sql.html#x2238">sql/overview/custom1/main.cpp</a>, <a href="sql.html#x2227">sql/overview/form1/main.cpp</a>, and <a href="sql.html#x2233">sql/overview/form2/main.cpp</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QSqlForm::widget ( uint&nbsp;i ) const
+</h3>
+Returns the <em>i</em>-th widget in the form. Useful for traversing
+the widgets in the form.
+
+<h3 class=fn><a href="qsqlfield.html">QSqlField</a>&nbsp;* <a name="widgetToField"></a>QSqlForm::widgetToField ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget ) const
+</h3>
+Returns the SQL field that widget <em>widget</em> is mapped to.
+
+<h3 class=fn>void <a name="writeField"></a>QSqlForm::writeField ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual slot]</tt>
+</h3>
+Updates the SQL field with the value from the <em>widget</em> it is
+mapped to. Nothing happens if no SQL field is mapped to the <em>widget</em>.
+
+<h3 class=fn>void <a name="writeFields"></a>QSqlForm::writeFields ()<tt> [virtual slot]</tt>
+</h3>
+Updates the SQL fields with values from the widgets they are
+mapped to. To actually update the database with the contents of
+the record buffer, use <a href="qsqlcursor.html#insert">QSqlCursor::insert</a>(), <a href="qsqlcursor.html#update">QSqlCursor::update</a>()
+or <a href="qsqlcursor.html#del">QSqlCursor::del</a>() as appropriate.
+
+<p>Example: <a href="sql.html#x2234">sql/overview/form2/main.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlindex-h.html b/doc/html/qsqlindex-h.html
new file mode 100644
index 0000000..d0e60e8
--- /dev/null
+++ b/doc/html/qsqlindex-h.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlindex.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlindex.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlindex.h</h1>
+
+<p>This is the verbatim text of the qsqlindex.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlIndex class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLINDEX_H
+#define QSQLINDEX_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qstringlist.h"
+#include "qsqlfield.h"
+#include "qsqlrecord.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#define QM_TEMPLATE_EXTERN_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlCursor;
+
+class QM_EXPORT_SQL QSqlIndex : public QSqlRecord
+{
+public:
+ QSqlIndex( const QString&amp; cursorName = QString::null, const QString&amp; name = QString::null );
+ QSqlIndex( const QSqlIndex&amp; other );
+ ~QSqlIndex();
+ QSqlIndex&amp; operator=( const QSqlIndex&amp; other );
+ virtual void setCursorName( const QString&amp; cursorName );
+ QString cursorName() const { return cursor; }
+ virtual void setName( const QString&amp; name );
+ QString name() const { return nm; }
+
+ void append( const QSqlField&amp; field );
+ virtual void append( const QSqlField&amp; field, bool desc );
+
+ bool isDescending( int i ) const;
+ virtual void setDescending( int i, bool desc );
+
+ QString toString( const QString&amp; prefix = QString::null,
+ const QString&amp; sep = ",",
+ bool verbose = TRUE ) const;
+ QStringList toStringList( const QString&amp; prefix = QString::null,
+ bool verbose = TRUE ) const;
+
+ static QSqlIndex fromStringList( const QStringList&amp; l, const QSqlCursor* cursor );
+
+private:
+ QString createField( int i, const QString&amp; prefix, bool verbose ) const;
+ QString cursor;
+ QString nm;
+ QValueList&lt;bool&gt; sorts;
+};
+
+#define Q_DEFINED_QSQLINDEX
+#include "qwinexport.h"
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlindex-members.html b/doc/html/qsqlindex-members.html
new file mode 100644
index 0000000..b3afcc2
--- /dev/null
+++ b/doc/html/qsqlindex-members.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlindex.h:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlIndex Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlIndex</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlindex.html">QSqlIndex</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlindex.html#QSqlIndex">QSqlIndex</a>()
+<li><a href="qsqlindex.html#~QSqlIndex">~QSqlIndex</a>()
+<li><a href="qsqlindex.html#append">append</a>()
+<li><a href="qsqlrecord.html#clear">clear</a>()
+<li><a href="qsqlrecord.html#clearValues">clearValues</a>()
+<li><a href="qsqlrecord.html#contains">contains</a>()
+<li><a href="qsqlrecord.html#count">count</a>()
+<li><a href="qsqlindex.html#cursorName">cursorName</a>()
+<li><a href="qsqlrecord.html#field">field</a>()
+<li><a href="qsqlrecord.html#fieldName">fieldName</a>()
+<li><a href="qsqlindex.html#fromStringList">fromStringList</a>()
+<li><a href="qsqlrecord.html#insert">insert</a>()
+<li><a href="qsqlindex.html#isDescending">isDescending</a>()
+<li><a href="qsqlrecord.html#isEmpty">isEmpty</a>()
+<li><a href="qsqlrecord.html#isGenerated">isGenerated</a>()
+<li><a href="qsqlrecord.html#isNull">isNull</a>()
+<li><a href="qsqlindex.html#name">name</a>()
+<li><a href="qsqlindex.html#operator-eq">operator=</a>()
+<li><a href="qsqlrecord.html#position">position</a>()
+<li><a href="qsqlrecord.html#remove">remove</a>()
+<li><a href="qsqlindex.html#setCursorName">setCursorName</a>()
+<li><a href="qsqlindex.html#setDescending">setDescending</a>()
+<li><a href="qsqlrecord.html#setGenerated">setGenerated</a>()
+<li><a href="qsqlindex.html#setName">setName</a>()
+<li><a href="qsqlrecord.html#setNull">setNull</a>()
+<li><a href="qsqlrecord.html#setValue">setValue</a>()
+<li><a href="qsqlrecord.html#toString">toString</a>()
+<li><a href="qsqlrecord.html#toStringList">toStringList</a>()
+<li><a href="qsqlrecord.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlindex.html b/doc/html/qsqlindex.html
new file mode 100644
index 0000000..9f6b78e
--- /dev/null
+++ b/doc/html/qsqlindex.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlindex.cpp:43 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlIndex Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlIndex Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlIndex class provides functions to manipulate and
+describe QSqlCursor and QSqlDatabase indexes.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlindex-h.html">qsqlindex.h</a>&gt;</tt>
+<p>Inherits <a href="qsqlrecord.html">QSqlRecord</a>.
+<p><a href="qsqlindex-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlIndex"><b>QSqlIndex</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;cursorname = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;name = QString::null )</li>
+<li class=fn><a href="#QSqlIndex-2"><b>QSqlIndex</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#~QSqlIndex"><b>~QSqlIndex</b></a> ()</li>
+<li class=fn>QSqlIndex &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlIndex&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>virtual void <a href="#setCursorName"><b>setCursorName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;cursorName )</li>
+<li class=fn>QString <a href="#cursorName"><b>cursorName</b></a> () const</li>
+<li class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>virtual void <a href="#append"><b>append</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;field )</li>
+<li class=fn>virtual void <a href="#append-2"><b>append</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;field, bool&nbsp;desc )</li>
+<li class=fn>bool <a href="#isDescending"><b>isDescending</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>virtual void <a href="#setDescending"><b>setDescending</b></a> ( int&nbsp;i, bool&nbsp;desc )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QSqlIndex <a href="#fromStringList"><b>fromStringList</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;l, const&nbsp;QSqlCursor&nbsp;*&nbsp;cursor )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlIndex class provides functions to manipulate and
+describe <a href="qsqlcursor.html">QSqlCursor</a> and <a href="qsqldatabase.html">QSqlDatabase</a> indexes.
+<p>
+
+<p> This class is used to describe and manipulate QSqlCursor and
+QSqlDatabase indexes. An index refers to a single table or view
+in a database. Information about the fields that comprise the
+index can be used to generate SQL statements, or to affect the
+behavior of a <a href="qsqlcursor.html">QSqlCursor</a> object.
+<p> Normally, QSqlIndex objects are created by <a href="qsqldatabase.html">QSqlDatabase</a> or
+QSqlCursor.
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlIndex"></a>QSqlIndex::QSqlIndex ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;cursorname = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name = QString::null )
+</h3>
+Constructs an empty index using the cursor name <em>cursorname</em> and
+index name <em>name</em>.
+
+<h3 class=fn><a name="QSqlIndex-2"></a>QSqlIndex::QSqlIndex ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlIndex"></a>QSqlIndex::~QSqlIndex ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="append"></a>QSqlIndex::append ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;field )<tt> [virtual]</tt>
+</h3>
+Appends the field <em>field</em> to the list of indexed fields. The
+field is appended with an ascending sort order.
+
+<p>Reimplemented from <a href="qsqlrecord.html#append">QSqlRecord</a>.
+<h3 class=fn>void <a name="append-2"></a>QSqlIndex::append ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;field, bool&nbsp;desc )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends the field <em>field</em> to the list of indexed fields. The
+field is appended with an ascending sort order, unless <em>desc</em> is
+TRUE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="cursorName"></a>QSqlIndex::cursorName () const
+</h3>
+
+<p> Returns the name of the cursor which the index is associated with.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a> <a name="fromStringList"></a>QSqlIndex::fromStringList ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;l, const&nbsp;<a href="qsqlcursor.html">QSqlCursor</a>&nbsp;*&nbsp;cursor )<tt> [static]</tt>
+</h3>
+Returns an index based on the field descriptions in <em>l</em> and the
+cursor <em>cursor</em>. The field descriptions should be in the same
+format that <a href="qsqlrecord.html#toStringList">toStringList</a>() produces, for example, a surname field
+in the people table might be in one of these forms: "surname",
+"surname DESC" or "people.surname ASC".
+<p> <p>See also <a href="qsqlrecord.html#toStringList">toStringList</a>().
+
+<h3 class=fn>bool <a name="isDescending"></a>QSqlIndex::isDescending ( int&nbsp;i ) const
+</h3>
+Returns TRUE if field <em>i</em> in the index is sorted in descending
+order; otherwise returns FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QSqlIndex::name () const
+</h3>
+
+<p> Returns the name of the index.
+
+<h3 class=fn><a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlIndex::operator= ( const&nbsp;<a href="qsqlindex.html">QSqlIndex</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Sets the index equal to <em>other</em>.
+
+<h3 class=fn>void <a name="setCursorName"></a>QSqlIndex::setCursorName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;cursorName )<tt> [virtual]</tt>
+</h3>
+Sets the name of the cursor that the index is associated with to
+<em>cursorName</em>.
+
+<h3 class=fn>void <a name="setDescending"></a>QSqlIndex::setDescending ( int&nbsp;i, bool&nbsp;desc )<tt> [virtual]</tt>
+</h3>
+If <em>desc</em> is TRUE, field <em>i</em> is sorted in descending order.
+Otherwise, field <em>i</em> is sorted in ascending order (the default).
+If the field does not exist, nothing happens.
+
+<h3 class=fn>void <a name="setName"></a>QSqlIndex::setName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the name of the index to <em>name</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlpropertymap-h.html b/doc/html/qsqlpropertymap-h.html
new file mode 100644
index 0000000..1620606
--- /dev/null
+++ b/doc/html/qsqlpropertymap-h.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlpropertymap.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlpropertymap.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlpropertymap.h</h1>
+
+<p>This is the verbatim text of the qsqlpropertymap.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlPropertyMap class
+**
+** Created : 2000-11-20
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLPROPERTYMAP_H
+#define QSQLPROPERTYMAP_H
+
+#ifndef QT_H
+#include "qvariant.h"
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_SQL_FORM
+
+class QWidget;
+class QSqlPropertyMapPrivate;
+
+class Q_EXPORT QSqlPropertyMap {
+public:
+ QSqlPropertyMap();
+ virtual ~QSqlPropertyMap();
+
+ QVariant property( QWidget * widget );
+ virtual void setProperty( QWidget * widget, const QVariant &amp; value );
+
+ void insert( const QString &amp; classname, const QString &amp; property );
+ void remove( const QString &amp; classname );
+
+ static QSqlPropertyMap * defaultMap();
+ static void installDefaultMap( QSqlPropertyMap * map );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSqlPropertyMap( const QSqlPropertyMap &amp; );
+ QSqlPropertyMap &amp;operator=( const QSqlPropertyMap &amp; );
+#endif
+ QSqlPropertyMapPrivate* d;
+
+};
+
+#endif // QT_NO_SQL_FORM
+#endif // QSQLPROPERTYMAP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlpropertymap-members.html b/doc/html/qsqlpropertymap-members.html
new file mode 100644
index 0000000..40fdaa3
--- /dev/null
+++ b/doc/html/qsqlpropertymap-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlpropertymap.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlPropertyMap Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlPropertyMap</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlpropertymap.html">QSqlPropertyMap</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlpropertymap.html#QSqlPropertyMap">QSqlPropertyMap</a>()
+<li><a href="qsqlpropertymap.html#~QSqlPropertyMap">~QSqlPropertyMap</a>()
+<li><a href="qsqlpropertymap.html#defaultMap">defaultMap</a>()
+<li><a href="qsqlpropertymap.html#insert">insert</a>()
+<li><a href="qsqlpropertymap.html#installDefaultMap">installDefaultMap</a>()
+<li><a href="qsqlpropertymap.html#property">property</a>()
+<li><a href="qsqlpropertymap.html#remove">remove</a>()
+<li><a href="qsqlpropertymap.html#setProperty">setProperty</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlpropertymap.html b/doc/html/qsqlpropertymap.html
new file mode 100644
index 0000000..a65cdc6
--- /dev/null
+++ b/doc/html/qsqlpropertymap.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlpropertymap.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlPropertyMap Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlPropertyMap Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlPropertyMap class is used to map widgets to SQL fields.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlpropertymap-h.html">qsqlpropertymap.h</a>&gt;</tt>
+<p><a href="qsqlpropertymap-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlPropertyMap"><b>QSqlPropertyMap</b></a> ()</li>
+<li class=fn>virtual <a href="#~QSqlPropertyMap"><b>~QSqlPropertyMap</b></a> ()</li>
+<li class=fn>QVariant <a href="#property"><b>property</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual void <a href="#setProperty"><b>setProperty</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QVariant&nbsp;&amp;&nbsp;value )</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;classname, const&nbsp;QString&nbsp;&amp;&nbsp;property )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;classname )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QSqlPropertyMap * <a href="#defaultMap"><b>defaultMap</b></a> ()</li>
+<li class=fn>void <a href="#installDefaultMap"><b>installDefaultMap</b></a> ( QSqlPropertyMap&nbsp;*&nbsp;map )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlPropertyMap class is used to map widgets to SQL fields.
+<p>
+
+<p> The SQL module uses Qt <a href="properties.html">object
+ properties</a> to insert and extract values from editor
+widgets.
+<p> This class is used to map editors to SQL fields. This works by
+associating SQL editor class names to the properties used to
+insert and extract values to/from the editor.
+<p> For example, a <a href="qlineedit.html">QLineEdit</a> can be used to edit text strings and
+other data types in QDataTables or QSqlForms. Several properties
+are defined in QLineEdit, but only the <em>text</em> property is used to
+insert and extract text from a QLineEdit. Both <a href="qdatatable.html">QDataTable</a> and
+<a href="qsqlform.html">QSqlForm</a> use the global QSqlPropertyMap for inserting and
+extracting values to and from an editor widget. The global
+property map defines several common widgets and properties that
+are suitable for many applications. You can add and remove widget
+properties to suit your specific needs.
+<p> If you want to use custom editors with your QDataTable or
+QSqlForm, you must install your own QSqlPropertyMap for that table
+or form. Example:
+<p> <pre>
+ QSqlPropertyMap *myMap = new QSqlPropertyMap();
+ <a href="qsqlform.html">QSqlForm</a> *myForm = new <a href="qsqlform.html">QSqlForm</a>( this );
+ MyEditor myEditor( this );
+
+ // Set the QSqlForm's record buffer to the update buffer of
+ // a pre-existing QSqlCursor called 'cur'.
+ myForm-&gt;<a href="qsqlform.html#setRecord">setRecord</a>( cur-&gt;primeUpdate() );
+
+ // Install the customized map
+ myMap-&gt;<a href="#insert">insert</a>( "MyEditor", "content" );
+ myForm-&gt;<a href="qsqlform.html#installPropertyMap">installPropertyMap</a>( myMap ); // myForm now owns myMap
+ ...
+ // Insert a field into the form that uses a myEditor to edit the
+ // field 'somefield'
+ myForm-&gt;<a href="qsqlform.html#insert">insert</a>( &amp;myEditor, "somefield" );
+
+ // Update myEditor with the value from the mapped database field
+ myForm-&gt;<a href="qsqlform.html#readFields">readFields</a>();
+ ...
+ // Let the user edit the form
+ ...
+ // Update the database fields with the values in the form
+ myForm-&gt;<a href="qsqlform.html#writeFields">writeFields</a>();
+ ...
+ </pre>
+
+<p> You can also replace the global QSqlPropertyMap that is used by
+default. (Bear in mind that QSqlPropertyMap takes ownership of the
+new default map.)
+<p> <pre>
+ QSqlPropertyMap *myMap = new QSqlPropertyMap;
+
+ myMap-&gt;<a href="#insert">insert</a>( "MyEditor", "content" );
+ QSqlPropertyMap::<a href="#installDefaultMap">installDefaultMap</a>( myMap );
+ ...
+ </pre>
+
+<p> <p>See also <a href="qdatatable.html">QDataTable</a>, <a href="qsqlform.html">QSqlForm</a>, <a href="qsqleditorfactory.html">QSqlEditorFactory</a>, and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlPropertyMap"></a>QSqlPropertyMap::QSqlPropertyMap ()
+</h3>
+<p> Constructs a QSqlPropertyMap.
+<p> The default property mappings used by Qt widgets are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Widgets <th valign="top">Property
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qcheckbox.html">QCheckBox</a>,
+<a href="qradiobutton.html">QRadioButton</a>
+<td valign="top">checked
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qcombobox.html">QComboBox</a>,
+<a href="qlistbox.html">QListBox</a>
+<td valign="top">currentItem
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdateedit.html">QDateEdit</a>
+<td valign="top">date
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdatetimeedit.html">QDateTimeEdit</a>
+<td valign="top">dateTime
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qtextbrowser.html">QTextBrowser</a>
+<td valign="top">source
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qbutton.html">QButton</a>,
+<a href="qdial.html">QDial</a>,
+<a href="qlabel.html">QLabel</a>,
+<a href="qlineedit.html">QLineEdit</a>,
+<a href="qmultilineedit.html">QMultiLineEdit</a>,
+<a href="qpushbutton.html">QPushButton</a>,
+<a href="qtextedit.html">QTextEdit</a>,
+<td valign="top">text
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qtimeedit.html">QTimeEdit</a>
+<td valign="top">time
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qlcdnumber.html">QLCDNumber</a>,
+<a href="qscrollbar.html">QScrollBar</a>
+<a href="qslider.html">QSlider</a>,
+<a href="qspinbox.html">QSpinBox</a>
+<td valign="top">value
+</table></center>
+
+<h3 class=fn><a name="~QSqlPropertyMap"></a>QSqlPropertyMap::~QSqlPropertyMap ()<tt> [virtual]</tt>
+</h3>
+Destroys the QSqlPropertyMap.
+<p> Note that if the QSqlPropertyMap is installed with
+installPropertyMap() the object it was installed into, e.g. the
+<a href="qsqlform.html">QSqlForm</a>, takes ownership and will delete the QSqlPropertyMap when
+necessary.
+
+<h3 class=fn><a href="qsqlpropertymap.html">QSqlPropertyMap</a>&nbsp;* <a name="defaultMap"></a>QSqlPropertyMap::defaultMap ()<tt> [static]</tt>
+</h3>
+Returns the application global QSqlPropertyMap.
+
+<h3 class=fn>void <a name="insert"></a>QSqlPropertyMap::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;classname, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;property )
+</h3>
+Insert a new classname/property pair, which is used for custom SQL
+field editors. There <em>must</em> be a <tt>Q_PROPERTY</tt> clause in the <em>classname</em> class declaration for the <em>property</em>.
+
+<p>Example: <a href="sql.html#x2239">sql/overview/custom1/main.cpp</a>.
+<h3 class=fn>void <a name="installDefaultMap"></a>QSqlPropertyMap::installDefaultMap ( <a href="qsqlpropertymap.html">QSqlPropertyMap</a>&nbsp;*&nbsp;map )<tt> [static]</tt>
+</h3>
+Replaces the global default property map with <em>map</em>. All
+<a href="qdatatable.html">QDataTable</a> and <a href="qsqlform.html">QSqlForm</a> instantiations will use this new map for
+inserting and extracting values to and from editors.
+<em>QSqlPropertyMap takes ownership of &#92;a map, and destroys it when it is no longer needed.</em>
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="property"></a>QSqlPropertyMap::property ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )
+</h3>
+Returns the mapped property of <em>widget</em> as a <a href="qvariant.html">QVariant</a>.
+
+<h3 class=fn>void <a name="remove"></a>QSqlPropertyMap::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;classname )
+</h3>
+Removes <em>classname</em> from the map.
+
+<h3 class=fn>void <a name="setProperty"></a>QSqlPropertyMap::setProperty ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;value )<tt> [virtual]</tt>
+</h3>
+Sets the property of <em>widget</em> to <em>value</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlquery-h.html b/doc/html/qsqlquery-h.html
new file mode 100644
index 0000000..d06066c
--- /dev/null
+++ b/doc/html/qsqlquery-h.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlquery.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlquery.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlquery.h</h1>
+
+<p>This is the verbatim text of the qsqlquery.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlQuery class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLQUERY_H
+#define QSQLQUERY_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qstring.h"
+#include "qvariant.h"
+#include "qvaluelist.h"
+#include "qsqlerror.h"
+#include "qsqlfield.h"
+#include "qsql.h"
+#endif // QT_H
+
+#ifndef QT_NO_SQL
+
+class QSqlDriver;
+class QSqlResult;
+class QSqlDatabase;
+
+class Q_EXPORT QSqlResultShared : public QObject, public QShared
+{
+ Q_OBJECT
+public:
+ QSqlResultShared( QSqlResult* result );
+ virtual ~QSqlResultShared();
+ QSqlResult* sqlResult;
+ QString executedQuery;
+private slots:
+ void slotResultDestroyed();
+};
+
+class Q_EXPORT QSqlQuery
+{
+public:
+ QSqlQuery( QSqlResult * r );
+ QSqlQuery( const QString&amp; query = QString::null, QSqlDatabase* db = 0 );
+ Q_EXPLICIT QSqlQuery( QSqlDatabase* db );
+ QSqlQuery( const QSqlQuery&amp; other );
+ QSqlQuery&amp; operator=( const QSqlQuery&amp; other );
+ virtual ~QSqlQuery();
+
+ bool isValid() const;
+ bool isActive() const;
+ bool isNull( int field ) const;
+ int at() const;
+ QString lastQuery() const;
+ int numRowsAffected() const;
+ QSqlError lastError() const;
+ bool isSelect() const;
+ int size() const;
+ const QSqlDriver* driver() const;
+ const QSqlResult* result() const;
+ bool isForwardOnly() const;
+ void setForwardOnly( bool forward );
+
+ virtual bool exec ( const QString&amp; query );
+ virtual QVariant value( int i ) const;
+
+ virtual bool seek( int i, bool relative = FALSE );
+ virtual bool next();
+ virtual bool prev();
+ virtual bool first();
+ virtual bool last();
+
+ // prepared query support
+ bool exec();
+ bool prepare( const QString&amp; query );
+ void bindValue( const QString&amp; placeholder, const QVariant&amp; val );
+ void bindValue( int pos, const QVariant&amp; val );
+ void addBindValue( const QVariant&amp; val );
+ // remove these overloads in 4.0
+ void bindValue( const QString&amp; placeholder, const QVariant&amp; val, QSql::ParameterType type );
+ void bindValue( int pos, const QVariant&amp; val, QSql::ParameterType type );
+ void addBindValue( const QVariant&amp; val, QSql::ParameterType type );
+ QVariant boundValue( const QString&amp; placeholder ) const;
+ QVariant boundValue( int pos ) const;
+ QMap&lt;QString, QVariant&gt; boundValues() const;
+ QString executedQuery() const;
+
+protected:
+ virtual void beforeSeek();
+ virtual void afterSeek();
+
+private:
+ void init( const QString&amp; query, QSqlDatabase* db );
+ void deref();
+ bool checkDetach();
+ QSqlResultShared* d;
+};
+
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlquery-members.html b/doc/html/qsqlquery-members.html
new file mode 100644
index 0000000..8e172c1
--- /dev/null
+++ b/doc/html/qsqlquery-members.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlquery.h:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlQuery Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlQuery</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlquery.html">QSqlQuery</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlquery.html#QSqlQuery">QSqlQuery</a>()
+<li><a href="qsqlquery.html#~QSqlQuery">~QSqlQuery</a>()
+<li><a href="qsqlquery.html#addBindValue">addBindValue</a>()
+<li><a href="qsqlquery.html#afterSeek">afterSeek</a>()
+<li><a href="qsqlquery.html#at">at</a>()
+<li><a href="qsqlquery.html#beforeSeek">beforeSeek</a>()
+<li><a href="qsqlquery.html#bindValue">bindValue</a>()
+<li><a href="qsqlquery.html#boundValue">boundValue</a>()
+<li><a href="qsqlquery.html#boundValues">boundValues</a>()
+<li><a href="qsqlquery.html#driver">driver</a>()
+<li><a href="qsqlquery.html#exec">exec</a>()
+<li><a href="qsqlquery.html#executedQuery">executedQuery</a>()
+<li><a href="qsqlquery.html#first">first</a>()
+<li><a href="qsqlquery.html#isActive">isActive</a>()
+<li><a href="qsqlquery.html#isForwardOnly">isForwardOnly</a>()
+<li><a href="qsqlquery.html#isNull">isNull</a>()
+<li><a href="qsqlquery.html#isSelect">isSelect</a>()
+<li><a href="qsqlquery.html#isValid">isValid</a>()
+<li><a href="qsqlquery.html#last">last</a>()
+<li><a href="qsqlquery.html#lastError">lastError</a>()
+<li><a href="qsqlquery.html#lastQuery">lastQuery</a>()
+<li><a href="qsqlquery.html#next">next</a>()
+<li><a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>()
+<li><a href="qsqlquery.html#operator-eq">operator=</a>()
+<li><a href="qsqlquery.html#prepare">prepare</a>()
+<li><a href="qsqlquery.html#prev">prev</a>()
+<li><a href="qsqlquery.html#result">result</a>()
+<li><a href="qsqlquery.html#seek">seek</a>()
+<li><a href="qsqlquery.html#setForwardOnly">setForwardOnly</a>()
+<li><a href="qsqlquery.html#size">size</a>()
+<li><a href="qsqlquery.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlquery.html b/doc/html/qsqlquery.html
new file mode 100644
index 0000000..7f448d2
--- /dev/null
+++ b/doc/html/qsqlquery.html
@@ -0,0 +1,595 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlquery.cpp:79 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlQuery Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlQuery Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlQuery class provides a means of executing and
+manipulating SQL statements.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;</tt>
+<p>Inherited by <a href="qsqlcursor.html">QSqlCursor</a>.
+<p><a href="qsqlquery-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlQuery"><b>QSqlQuery</b></a> ( QSqlResult&nbsp;*&nbsp;r )</li>
+<li class=fn><a href="#QSqlQuery-2"><b>QSqlQuery</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query = QString::null, QSqlDatabase&nbsp;*&nbsp;db = 0 )</li>
+<li class=fn>explicit <a href="#QSqlQuery-3"><b>QSqlQuery</b></a> ( QSqlDatabase&nbsp;*&nbsp;db )</li>
+<li class=fn><a href="#QSqlQuery-4"><b>QSqlQuery</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QSqlQuery &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlQuery&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>virtual <a href="#~QSqlQuery"><b>~QSqlQuery</b></a> ()</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> ( int&nbsp;field ) const</li>
+<li class=fn>int <a href="#at"><b>at</b></a> () const</li>
+<li class=fn>QString <a href="#lastQuery"><b>lastQuery</b></a> () const</li>
+<li class=fn>int <a href="#numRowsAffected"><b>numRowsAffected</b></a> () const</li>
+<li class=fn>QSqlError <a href="#lastError"><b>lastError</b></a> () const</li>
+<li class=fn>bool <a href="#isSelect"><b>isSelect</b></a> () const</li>
+<li class=fn>int <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>const QSqlDriver * <a href="#driver"><b>driver</b></a> () const</li>
+<li class=fn>const QSqlResult * <a href="#result"><b>result</b></a> () const</li>
+<li class=fn>bool <a href="#isForwardOnly"><b>isForwardOnly</b></a> () const</li>
+<li class=fn>void <a href="#setForwardOnly"><b>setForwardOnly</b></a> ( bool&nbsp;forward )</li>
+<li class=fn>virtual bool <a href="#exec"><b>exec</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query )</li>
+<li class=fn>virtual QVariant <a href="#value"><b>value</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>virtual bool <a href="#seek"><b>seek</b></a> ( int&nbsp;i, bool&nbsp;relative = FALSE )</li>
+<li class=fn>virtual bool <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>virtual bool <a href="#prev"><b>prev</b></a> ()</li>
+<li class=fn>virtual bool <a href="#first"><b>first</b></a> ()</li>
+<li class=fn>virtual bool <a href="#last"><b>last</b></a> ()</li>
+<li class=fn>bool <a href="#exec-2"><b>exec</b></a> ()</li>
+<li class=fn>bool <a href="#prepare"><b>prepare</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query )</li>
+<li class=fn>void <a href="#bindValue-2"><b>bindValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;placeholder, const&nbsp;QVariant&nbsp;&amp;&nbsp;val )</li>
+<li class=fn>void <a href="#bindValue-3"><b>bindValue</b></a> ( int&nbsp;pos, const&nbsp;QVariant&nbsp;&amp;&nbsp;val )</li>
+<li class=fn>void <a href="#addBindValue-2"><b>addBindValue</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;val )</li>
+<li class=fn>void <a href="#bindValue"><b>bindValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;placeholder, const&nbsp;QVariant&nbsp;&amp;&nbsp;val, QSql::ParameterType&nbsp;type )</li>
+<li class=fn>void <a href="#bindValue-4"><b>bindValue</b></a> ( int&nbsp;pos, const&nbsp;QVariant&nbsp;&amp;&nbsp;val, QSql::ParameterType&nbsp;type )</li>
+<li class=fn>void <a href="#addBindValue"><b>addBindValue</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;val, QSql::ParameterType&nbsp;type )</li>
+<li class=fn>QVariant <a href="#boundValue"><b>boundValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;placeholder ) const</li>
+<li class=fn>QVariant <a href="#boundValue-2"><b>boundValue</b></a> ( int&nbsp;pos ) const</li>
+<li class=fn>QMap&lt;QString, QVariant&gt; <a href="#boundValues"><b>boundValues</b></a> () const</li>
+<li class=fn>QString <a href="#executedQuery"><b>executedQuery</b></a> () const</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#beforeSeek"><b>beforeSeek</b></a> ()</li>
+<li class=fn>virtual void <a href="#afterSeek"><b>afterSeek</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlQuery class provides a means of executing and
+manipulating SQL statements.
+<p>
+
+
+<p> QSqlQuery encapsulates the functionality involved in creating,
+navigating and retrieving data from SQL queries which are executed
+on a <a href="qsqldatabase.html">QSqlDatabase</a>. It can be used to execute DML (data
+manipulation language) statements, e.g. <tt>SELECT</tt>, <tt>INSERT</tt>, <tt>UPDATE</tt> and <tt>DELETE</tt>, and also DDL (data definition language)
+statements, e.g. <tt>CREATE TABLE</tt>. It can also be used to
+execute database-specific commands which are not standard SQL
+(e.g. <tt>SET DATESTYLE=ISO</tt> for PostgreSQL).
+<p> Successfully executed SQL statements set the query's state to
+active (<a href="#isActive">isActive</a>() returns TRUE); otherwise the query's state is
+set to inactive. In either case, when executing a new SQL
+statement, the query is positioned on an invalid record; an active
+query must be navigated to a valid record (so that <a href="#isValid">isValid</a>()
+returns TRUE) before values can be retrieved.
+<p> Navigating records is performed with the following functions:
+<p> <ul>
+<li> <a href="#next">next</a>()
+<li> <a href="#prev">prev</a>()
+<li> <a href="#first">first</a>()
+<li> <a href="#last">last</a>()
+<li> <tt></tt><a href="#seek">seek</a>(int)
+</ul>
+<p> These functions allow the programmer to move forward, backward or
+arbitrarily through the records returned by the query. If you only
+need to move forward through the results, e.g. using <a href="#next">next</a>() or
+using <a href="#seek">seek</a>() with a positive offset, you can use <a href="#setForwardOnly">setForwardOnly</a>()
+and save a significant amount of memory overhead. Once an active
+query is positioned on a valid record, data can be retrieved using
+<a href="#value">value</a>(). All data is transferred from the SQL backend using
+QVariants.
+<p> For example:
+<p> <pre>
+ QSqlQuery query( "SELECT name FROM customer" );
+ while ( query.<a href="#next">next</a>() ) {
+ <a href="qstring.html">QString</a> name = query.<a href="#value">value</a>(0).toString();
+ doSomething( name );
+ }
+ </pre>
+
+<p> To access the data returned by a query, use the value() method.
+Each field in the data returned by a SELECT statement is accessed
+by passing the field's position in the statement, starting from 0.
+Information about the fields can be obtained via <a href="qsqldatabase.html#record">QSqlDatabase::record</a>().
+For the sake of efficiency there are no functions to access a field
+by name. (The <a href="qsqlcursor.html">QSqlCursor</a> class provides a higher-level interface
+with field access by name and automatic SQL generation.)
+<p> QSqlQuery supports prepared query execution and the binding of
+parameter values to placeholders. Some databases don't support
+these features, so for them Qt emulates the required
+functionality. For example, the Oracle and ODBC drivers have
+proper prepared query support, and Qt makes use of it; but for
+databases that don't have this support, Qt implements the feature
+itself, e.g. by replacing placeholders with actual values when a
+query is executed. The exception is positional binding using named
+placeholders, which requires that the database supports prepared
+queries.
+<p> Oracle databases identify placeholders by using a colon-name
+syntax, e.g <tt>:name</tt>. ODBC simply uses <tt>?</tt> characters. Qt
+supports both syntaxes (although you can't mix them in the same
+query).
+<p> Below we present the same example using each of the four different
+binding approaches.
+<p> <b>Named binding using named placeholders</b>
+<pre>
+ QSqlQuery query;
+ query.<a href="#prepare">prepare</a>( "INSERT INTO atable (id, forename, surname) "
+ "VALUES (:id, :forename, :surname)" );
+ query.<a href="#bindValue">bindValue</a>( ":id", 1001 );
+ query.<a href="#bindValue">bindValue</a>( ":forename", "Bart" );
+ query.<a href="#bindValue">bindValue</a>( ":surname", "Simpson" );
+ query.<a href="#exec">exec</a>();
+ </pre>
+
+<p> <b>Positional binding using named placeholders</b>
+<pre>
+ QSqlQuery query;
+ query.<a href="#prepare">prepare</a>( "INSERT INTO atable (id, forename, surname) "
+ "VALUES (:id, :forename, :surname)" );
+ query.<a href="#bindValue">bindValue</a>( 0, 1001 );
+ query.<a href="#bindValue">bindValue</a>( 1, "Bart" );
+ query.<a href="#bindValue">bindValue</a>( 2, "Simpson" );
+ query.<a href="#exec">exec</a>();
+ </pre>
+
+<b>Note:</b> Using positional binding with named placeholders will
+only work if the database supports prepared queries. This can be
+checked with <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>() using QSqlDriver::PreparedQueries
+as argument for driver feature.
+<p> <b>Binding values using positional placeholders #1</b>
+<pre>
+ QSqlQuery query;
+ query.<a href="#prepare">prepare</a>( "INSERT INTO atable (id, forename, surname) "
+ "VALUES (?, ?, ?)" );
+ query.<a href="#bindValue">bindValue</a>( 0, 1001 );
+ query.<a href="#bindValue">bindValue</a>( 1, "Bart" );
+ query.<a href="#bindValue">bindValue</a>( 2, "Simpson" );
+ query.<a href="#exec">exec</a>();
+ </pre>
+
+<p> <b>Binding values using positional placeholders #2</b>
+<pre>
+ query.prepare( "INSERT INTO atable (id, forename, surname) "
+ "VALUES (?, ?, ?)" );
+ query.addBindValue( 1001 );
+ query.addBindValue( "Bart" );
+ query.addBindValue( "Simpson" );
+ query.exec();
+ </pre>
+
+<p> <b>Binding values to a stored procedure</b>
+This code calls a stored procedure called <tt>AsciiToInt()</tt>, passing
+it a character through its in parameter, and taking its result in
+the out parameter.
+<pre>
+ QSqlQuery query;
+ query.<a href="#prepare">prepare</a>( "call AsciiToInt(?, ?)" );
+ query.<a href="#bindValue">bindValue</a>( 0, "A" );
+ query.<a href="#bindValue">bindValue</a>( 1, 0, QSql::Out );
+ query.<a href="#exec">exec</a>();
+ int i = query.<a href="#boundValue">boundValue</a>( 1 ).toInt(); // i is 65.
+ </pre>
+
+<p> <p>See also <a href="qsqldatabase.html">QSqlDatabase</a>, <a href="qsqlcursor.html">QSqlCursor</a>, <a href="qvariant.html">QVariant</a>, and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlQuery"></a>QSqlQuery::QSqlQuery ( <a href="qsqlresult.html">QSqlResult</a>&nbsp;*&nbsp;r )
+</h3>
+Creates a QSqlQuery object which uses the <a href="qsqlresult.html">QSqlResult</a> <em>r</em> to
+communicate with a database.
+
+<h3 class=fn><a name="QSqlQuery-2"></a>QSqlQuery::QSqlQuery ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query = QString::null, <a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;*&nbsp;db = 0 )
+</h3>
+Creates a QSqlQuery object using the SQL <em>query</em> and the database
+<em>db</em>. If <em>db</em> is 0, (the default), the application's default
+database is used. If <em>query</em> is not a null string, it will be
+executed.
+<p> <p>See also <a href="qsqldatabase.html">QSqlDatabase</a>.
+
+<h3 class=fn>explicit <a name="QSqlQuery-3"></a>QSqlQuery::QSqlQuery ( <a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;*&nbsp;db )
+</h3>
+Creates a QSqlQuery object using the database <em>db</em>. If <em>db</em> is
+0, the application's default database is used.
+<p> <p>See also <a href="qsqldatabase.html">QSqlDatabase</a>.
+
+<h3 class=fn><a name="QSqlQuery-4"></a>QSqlQuery::QSqlQuery ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlQuery"></a>QSqlQuery::~QSqlQuery ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="addBindValue"></a>QSqlQuery::addBindValue ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val, <a href="qsql.html#ParameterType-enum">QSql::ParameterType</a>&nbsp;type )
+</h3>
+Adds the value <em>val</em> to the list of values when using positional
+value binding. The order of the <a href="#addBindValue">addBindValue</a>() calls determines
+which placeholder a value will be bound to in the prepared query.
+If <em>type</em> is <a href="qsql.html#ParameterType-enum">QSql::Out</a> or <a href="qsql.html#ParameterType-enum">QSql::InOut</a>, the placeholder will
+be overwritten with data from the database after the <a href="#exec">exec</a>() call.
+<p> <p>See also <a href="#bindValue">bindValue</a>(), <a href="#prepare">prepare</a>(), and <a href="#exec">exec</a>().
+
+<h3 class=fn>void <a name="addBindValue-2"></a>QSqlQuery::addBindValue ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Binds the placeholder with type <a href="qsql.html#ParameterType-enum">QSql::In</a>.
+
+<h3 class=fn>void <a name="afterSeek"></a>QSqlQuery::afterSeek ()<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function called after the internal record
+pointer is moved to a new record. The default implementation does
+nothing.
+
+<h3 class=fn>int <a name="at"></a>QSqlQuery::at () const
+</h3>
+Returns the current internal position of the query. The first
+record is at position zero. If the position is invalid, a
+QSql::Location will be returned indicating the invalid position.
+<p> <p>See also <a href="#prev">prev</a>(), <a href="#next">next</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#seek">seek</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="sql.html#x2169">sql/overview/navigating/main.cpp</a>.
+<h3 class=fn>void <a name="beforeSeek"></a>QSqlQuery::beforeSeek ()<tt> [virtual protected]</tt>
+</h3>
+Protected virtual function called before the internal record
+pointer is moved to a new record. The default implementation does
+nothing.
+
+<h3 class=fn>void <a name="bindValue"></a>QSqlQuery::bindValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;placeholder, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val, <a href="qsql.html#ParameterType-enum">QSql::ParameterType</a>&nbsp;type )
+</h3>
+Set the placeholder <em>placeholder</em> to be bound to value <em>val</em> in
+the prepared statement. Note that the placeholder mark (e.g <tt>:</tt>)
+must be included when specifying the placeholder name. If <em>type</em>
+is <a href="qsql.html#ParameterType-enum">QSql::Out</a> or <a href="qsql.html#ParameterType-enum">QSql::InOut</a>, the placeholder will be
+overwritten with data from the database after the <a href="#exec">exec</a>() call.
+<p> <p>See also <a href="#addBindValue">addBindValue</a>(), <a href="#prepare">prepare</a>(), and <a href="#exec">exec</a>().
+
+<h3 class=fn>void <a name="bindValue-2"></a>QSqlQuery::bindValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;placeholder, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Binds the placeholder with type <a href="qsql.html#ParameterType-enum">QSql::In</a>.
+
+<h3 class=fn>void <a name="bindValue-3"></a>QSqlQuery::bindValue ( int&nbsp;pos, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Binds the placeholder at position <em>pos</em> with type <a href="qsql.html#ParameterType-enum">QSql::In</a>.
+
+<h3 class=fn>void <a name="bindValue-4"></a>QSqlQuery::bindValue ( int&nbsp;pos, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val, <a href="qsql.html#ParameterType-enum">QSql::ParameterType</a>&nbsp;type )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Set the placeholder in position <em>pos</em> to be bound to value <em>val</em>
+in the prepared statement. Field numbering starts at 0. If <em>type</em>
+is <a href="qsql.html#ParameterType-enum">QSql::Out</a> or <a href="qsql.html#ParameterType-enum">QSql::InOut</a>, the placeholder will be
+overwritten with data from the database after the <a href="#exec">exec</a>() call.
+<p> <p>See also <a href="#addBindValue">addBindValue</a>(), <a href="#prepare">prepare</a>(), and <a href="#exec">exec</a>().
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="boundValue"></a>QSqlQuery::boundValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;placeholder ) const
+</h3>
+Returns the value for the <em>placeholder</em>.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="boundValue-2"></a>QSqlQuery::boundValue ( int&nbsp;pos ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the value for the placeholder at position <em>pos</em>.
+
+<h3 class=fn><a href="qmap.html">QMap</a>&lt;QString,&nbsp;QVariant&gt; <a name="boundValues"></a>QSqlQuery::boundValues () const
+</h3>
+Returns a map of the bound values.
+<p> The bound values can be examined in the following way:
+<pre>
+ QSqlQuery query;
+ ...
+ // Examine the bound values - bound using named binding
+ QMap&lt;QString, QVariant&gt;::ConstIterator it;
+ <a href="qmap.html">QMap</a>&lt;QString, QVariant&gt; vals = query.<a href="#boundValues">boundValues</a>();
+ for ( it = vals.<a href="qmap.html#begin">begin</a>(); it != vals.<a href="qmap.html#end">end</a>(); ++it )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Placeholder: " + it.key() + ", Value: " + (*it).toString() );
+ ...
+
+ // Examine the bound values - bound using positional binding
+ QValueList&lt;QVariant&gt;::ConstIterator it;
+ <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; list = query.<a href="#boundValues">boundValues</a>().values();
+ int i = 0;
+ for ( it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it )
+ <a href="qapplication.html#qWarning">qWarning</a>( "Placeholder pos: %d, Value: " + (*it).toString(), i++ );
+ ...
+
+ </pre>
+
+
+<h3 class=fn>const&nbsp;<a href="qsqldriver.html">QSqlDriver</a>&nbsp;* <a name="driver"></a>QSqlQuery::driver () const
+</h3>
+Returns the database driver associated with the query.
+
+<h3 class=fn>bool <a name="exec"></a>QSqlQuery::exec ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query )<tt> [virtual]</tt>
+</h3>
+Executes the SQL in <em>query</em>. Returns TRUE and sets the query
+state to active if the query was successful; otherwise returns
+FALSE and sets the query state to inactive. The <em>query</em> string
+must use syntax appropriate for the SQL database being queried,
+for example, standard SQL.
+<p> After the query is executed, the query is positioned on an <em>invalid</em> record, and must be navigated to a valid record before
+data values can be retrieved, e.g. using <a href="#next">next</a>().
+<p> Note that the last error for this query is reset when <a href="#exec">exec</a>() is
+called.
+<p> <p>See also <a href="#isActive">isActive</a>(), <a href="#isValid">isValid</a>(), <a href="#next">next</a>(), <a href="#prev">prev</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), and <a href="#seek">seek</a>().
+
+<p>Examples: <a href="sql.html#x2157">sql/overview/basicbrowsing/main.cpp</a>, <a href="sql.html#x2161">sql/overview/basicbrowsing2/main.cpp</a>, <a href="sql.html#x2166">sql/overview/basicdatamanip/main.cpp</a>, and <a href="sql.html#x2154">sql/overview/connection.cpp</a>.
+<h3 class=fn>bool <a name="exec-2"></a>QSqlQuery::exec ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Executes a previously prepared SQL query. Returns TRUE if the
+query executed successfully; otherwise returns FALSE.
+<p> <p>See also <a href="#prepare">prepare</a>(), <a href="#bindValue">bindValue</a>(), and <a href="#addBindValue">addBindValue</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="executedQuery"></a>QSqlQuery::executedQuery () const
+</h3>
+Returns the last query that was executed.
+<p> In most cases this function returns the same as <a href="#lastQuery">lastQuery</a>(). If a
+prepared query with placeholders is executed on a DBMS that does
+not support it, the preparation of this query is emulated. The
+placeholders in the original query are replaced with their bound
+values to form a new query. This function returns the modified
+query. Useful for debugging purposes.
+<p> <p>See also <a href="#lastQuery">lastQuery</a>().
+
+<h3 class=fn>bool <a name="first"></a>QSqlQuery::first ()<tt> [virtual]</tt>
+</h3>
+Retrieves the first record in the result, if available, and
+positions the query on the retrieved record. Note that the result
+must be in an active state and <a href="#isSelect">isSelect</a>() must return TRUE before
+calling this function or it will do nothing and return FALSE.
+Returns TRUE if successful. If unsuccessful the query position is
+set to an invalid position and FALSE is returned.
+<p> <p>See also <a href="#next">next</a>(), <a href="#prev">prev</a>(), <a href="#last">last</a>(), <a href="#seek">seek</a>(), <a href="#at">at</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="sql.html#x2170">sql/overview/navigating/main.cpp</a>.
+<h3 class=fn>bool <a name="isActive"></a>QSqlQuery::isActive () const
+</h3>
+Returns TRUE if the query is currently active; otherwise returns
+FALSE.
+
+<p>Examples: <a href="sql.html#x2158">sql/overview/basicbrowsing/main.cpp</a>, <a href="sql.html#x2162">sql/overview/basicbrowsing2/main.cpp</a>, <a href="sql.html#x2167">sql/overview/basicdatamanip/main.cpp</a>, <a href="sql.html#x2171">sql/overview/navigating/main.cpp</a>, and <a href="sql.html#x2175">sql/overview/retrieve1/main.cpp</a>.
+<h3 class=fn>bool <a name="isForwardOnly"></a>QSqlQuery::isForwardOnly () const
+</h3>
+Returns TRUE if you can only scroll <em>forward</em> through a result
+set; otherwise returns FALSE.
+<p> <p>See also <a href="#setForwardOnly">setForwardOnly</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QSqlQuery::isNull ( int&nbsp;field ) const
+</h3>
+Returns TRUE if the query is active and positioned on a valid
+record and the <em>field</em> is NULL; otherwise returns FALSE. Note
+that for some drivers <a href="#isNull">isNull</a>() will not return accurate
+information until after an attempt is made to retrieve data.
+<p> <p>See also <a href="#isActive">isActive</a>(), <a href="#isValid">isValid</a>(), and <a href="#value">value</a>().
+
+<h3 class=fn>bool <a name="isSelect"></a>QSqlQuery::isSelect () const
+</h3>
+Returns TRUE if the current query is a <tt>SELECT</tt> statement;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isValid"></a>QSqlQuery::isValid () const
+</h3>
+Returns TRUE if the query is currently positioned on a valid
+record; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="last"></a>QSqlQuery::last ()<tt> [virtual]</tt>
+</h3>
+Retrieves the last record in the result, if available, and
+positions the query on the retrieved record. Note that the result
+must be in an active state and <a href="#isSelect">isSelect</a>() must return TRUE before
+calling this function or it will do nothing and return FALSE.
+Returns TRUE if successful. If unsuccessful the query position is
+set to an invalid position and FALSE is returned.
+<p> <p>See also <a href="#next">next</a>(), <a href="#prev">prev</a>(), <a href="#first">first</a>(), <a href="#seek">seek</a>(), <a href="#at">at</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="sql.html#x2172">sql/overview/navigating/main.cpp</a>.
+<h3 class=fn><a href="qsqlerror.html">QSqlError</a> <a name="lastError"></a>QSqlQuery::lastError () const
+</h3>
+Returns error information about the last error (if any) that
+occurred.
+<p> <p>See also <a href="qsqlerror.html">QSqlError</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="lastQuery"></a>QSqlQuery::lastQuery () const
+</h3>
+Returns the text of the current query being used, or <a href="qstring.html#QString-null">QString::null</a>
+if there is no current query text.
+<p> <p>See also <a href="#executedQuery">executedQuery</a>().
+
+<h3 class=fn>bool <a name="next"></a>QSqlQuery::next ()<tt> [virtual]</tt>
+</h3>
+Retrieves the next record in the result, if available, and
+positions the query on the retrieved record. Note that the result
+must be in an active state and <a href="#isSelect">isSelect</a>() must return TRUE before
+calling this function or it will do nothing and return FALSE.
+<p> The following rules apply:
+<p> <ul>
+<li> If the result is currently located before the first
+record, e.g. immediately after a query is executed, an attempt is
+made to retrieve the first record.
+<p> <li> If the result is currently located after the last record,
+there is no change and FALSE is returned.
+<p> <li> If the result is located somewhere in the middle, an attempt
+is made to retrieve the next record.
+</ul>
+<p> If the record could not be retrieved, the result is positioned after
+the last record and FALSE is returned. If the record is successfully
+retrieved, TRUE is returned.
+<p> <p>See also <a href="#prev">prev</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#seek">seek</a>(), <a href="#at">at</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Examples: <a href="sql.html#x2159">sql/overview/basicbrowsing/main.cpp</a>, <a href="sql.html#x2163">sql/overview/basicbrowsing2/main.cpp</a>, <a href="sql.html#x2208">sql/overview/delete/main.cpp</a>, <a href="sql.html#x2183">sql/overview/order1/main.cpp</a>, <a href="sql.html#x2176">sql/overview/retrieve1/main.cpp</a>, <a href="sql.html#x2265">sql/overview/subclass4/main.cpp</a>, and <a href="sql.html#x2268">sql/overview/subclass5/main.cpp</a>.
+<h3 class=fn>int <a name="numRowsAffected"></a>QSqlQuery::numRowsAffected () const
+</h3>
+Returns the number of rows affected by the result's SQL statement,
+or -1 if it cannot be determined. Note that for <tt>SELECT</tt>
+statements, the value is undefined; see <a href="#size">size</a>() instead. If the
+query is not active (<a href="#isActive">isActive</a>() returns FALSE), -1 is returned.
+<p> <p>See also <a href="#size">size</a>() and <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>().
+
+<p>Examples: <a href="sql.html#x2164">sql/overview/basicbrowsing2/main.cpp</a> and <a href="sql.html#x2168">sql/overview/basicdatamanip/main.cpp</a>.
+<h3 class=fn><a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlQuery::operator= ( const&nbsp;<a href="qsqlquery.html">QSqlQuery</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Assigns <em>other</em> to the query.
+
+<h3 class=fn>bool <a name="prepare"></a>QSqlQuery::prepare ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query )
+</h3>
+Prepares the SQL query <em>query</em> for execution. The query may
+contain placeholders for binding values. Both Oracle style
+colon-name (e.g. <tt>:surname</tt>), and ODBC style (e.g. <tt>?</tt>)
+placeholders are supported; but they cannot be mixed in the same
+query. See the <a href="#details">Description</a> for examples.
+<p> <p>See also <a href="#exec">exec</a>(), <a href="#bindValue">bindValue</a>(), and <a href="#addBindValue">addBindValue</a>().
+
+<h3 class=fn>bool <a name="prev"></a>QSqlQuery::prev ()<tt> [virtual]</tt>
+</h3>
+Retrieves the previous record in the result, if available, and
+positions the query on the retrieved record. Note that the result
+must be in an active state and <a href="#isSelect">isSelect</a>() must return TRUE before
+calling this function or it will do nothing and return FALSE.
+<p> The following rules apply:
+<p> <ul>
+<li> If the result is currently located before the first record,
+there is no change and FALSE is returned.
+<p> <li> If the result is currently located after the last record, an
+attempt is made to retrieve the last record.
+<p> <li> If the result is somewhere in the middle, an attempt is made
+to retrieve the previous record.
+</ul>
+<p> If the record could not be retrieved, the result is positioned
+before the first record and FALSE is returned. If the record is
+successfully retrieved, TRUE is returned.
+<p> <p>See also <a href="#next">next</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#seek">seek</a>(), <a href="#at">at</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<h3 class=fn>const&nbsp;<a href="qsqlresult.html">QSqlResult</a>&nbsp;* <a name="result"></a>QSqlQuery::result () const
+</h3>
+Returns the result associated with the query.
+
+<h3 class=fn>bool <a name="seek"></a>QSqlQuery::seek ( int&nbsp;i, bool&nbsp;relative = FALSE )<tt> [virtual]</tt>
+</h3>
+Retrieves the record at position (offset) <em>i</em>, if available, and
+positions the query on the retrieved record. The first record is
+at position 0. Note that the query must be in an active state and
+<a href="#isSelect">isSelect</a>() must return TRUE before calling this function.
+<p> If <em>relative</em> is FALSE (the default), the following rules apply:
+<p> <ul>
+<li> If <em>i</em> is negative, the result is positioned before the
+first record and FALSE is returned.
+<li> Otherwise, an attempt is made to move to the record at position
+<em>i</em>. If the record at position <em>i</em> could not be retrieved, the
+result is positioned after the last record and FALSE is returned. If
+the record is successfully retrieved, TRUE is returned.
+</ul>
+<p> If <em>relative</em> is TRUE, the following rules apply:
+<p> <ul>
+<li> If the result is currently positioned before the first
+record or on the first record, and <em>i</em> is negative, there is no
+change, and FALSE is returned.
+<li> If the result is currently located after the last record, and
+<em>i</em> is positive, there is no change, and FALSE is returned.
+<li> If the result is currently located somewhere in the middle,
+and the relative offset <em>i</em> moves the result below zero, the
+result is positioned before the first record and FALSE is
+returned.
+<li> Otherwise, an attempt is made to move to the record <em>i</em>
+records ahead of the current record (or <em>i</em> records behind the
+current record if <em>i</em> is negative). If the record at offset <em>i</em>
+could not be retrieved, the result is positioned after the last
+record if <em>i</em> >= 0, (or before the first record if <em>i</em> is
+negative), and FALSE is returned. If the record is successfully
+retrieved, TRUE is returned.
+</ul>
+<p> <p>See also <a href="#next">next</a>(), <a href="#prev">prev</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#at">at</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="sql.html#x2173">sql/overview/navigating/main.cpp</a>.
+<h3 class=fn>void <a name="setForwardOnly"></a>QSqlQuery::setForwardOnly ( bool&nbsp;forward )
+</h3>
+Sets forward only mode to <em>forward</em>. If forward is TRUE only
+<a href="#next">next</a>(), and <a href="#seek">seek</a>() with positive values, are allowed for
+navigating the results. Forward only mode needs far less memory
+since results do not need to be cached.
+<p> Forward only mode is off by default.
+<p> Forward only mode cannot be used with data aware widgets like
+<a href="qdatatable.html">QDataTable</a>, since they must to be able to scroll backward as well
+as forward.
+<p> <p>See also <a href="#isForwardOnly">isForwardOnly</a>(), <a href="#next">next</a>(), and <a href="#seek">seek</a>().
+
+<h3 class=fn>int <a name="size"></a>QSqlQuery::size () const
+</h3>
+Returns the size of the result, (number of rows returned), or -1
+if the size cannot be determined or if the database does not
+support reporting information about query sizes. Note that for
+non-<tt>SELECT</tt> statements (<a href="#isSelect">isSelect</a>() returns FALSE), <a href="#size">size</a>() will
+return -1. If the query is not active (<a href="#isActive">isActive</a>() returns FALSE),
+-1 is returned.
+<p> To determine the number of rows affected by a non-SELECT
+statement, use <a href="#numRowsAffected">numRowsAffected</a>().
+<p> <p>See also <a href="#isActive">isActive</a>(), <a href="#numRowsAffected">numRowsAffected</a>(), and <a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>().
+
+<p>Example: <a href="sql.html#x2174">sql/overview/navigating/main.cpp</a>.
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QSqlQuery::value ( int&nbsp;i ) const<tt> [virtual]</tt>
+</h3>
+Returns the value of the <em>i</em>-th field in the query (zero based).
+<p> The fields are numbered from left to right using the text of the
+<tt>SELECT</tt> statement, e.g. in <tt>SELECT forename, surname FROM people</tt>,
+field 0 is <tt>forename</tt> and field 1 is <tt>surname</tt>. Using <tt>SELECT *</tt>
+is not recommended because the order of the fields in the query is
+undefined.
+<p> An invalid <a href="qvariant.html">QVariant</a> is returned if field <em>i</em> does not exist, if
+the query is inactive, or if the query is positioned on an invalid
+record.
+<p> <p>See also <a href="#prev">prev</a>(), <a href="#next">next</a>(), <a href="#first">first</a>(), <a href="#last">last</a>(), <a href="#seek">seek</a>(), <a href="#isActive">isActive</a>(), and <a href="#isValid">isValid</a>().
+
+<p>Examples: <a href="sql.html#x2160">sql/overview/basicbrowsing/main.cpp</a>, <a href="sql.html#x2165">sql/overview/basicbrowsing2/main.cpp</a>, <a href="sql.html#x2177">sql/overview/retrieve1/main.cpp</a>, <a href="sql.html#x2262">sql/overview/subclass3/main.cpp</a>, <a href="sql.html#x2266">sql/overview/subclass4/main.cpp</a>, <a href="sql.html#x2269">sql/overview/subclass5/main.cpp</a>, and <a href="sql.html#x2252">sql/overview/table4/main.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlrecord-h.html b/doc/html/qsqlrecord-h.html
new file mode 100644
index 0000000..4cfe323
--- /dev/null
+++ b/doc/html/qsqlrecord-h.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlrecord.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlrecord.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlrecord.h</h1>
+
+<p>This is the verbatim text of the qsqlrecord.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlRecord class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLRECORD_H
+#define QSQLRECORD_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qstringlist.h"
+#include "qvariant.h"
+#include "qsqlfield.h"
+#endif // QT_H
+
+#ifndef QT_NO_SQL
+
+class QSqlRecordPrivate;
+
+class QSqlRecordShared : public QShared
+{
+public:
+ QSqlRecordShared( QSqlRecordPrivate* sqlRecordPrivate )
+ : d( sqlRecordPrivate )
+ {}
+ virtual ~QSqlRecordShared();
+ QSqlRecordPrivate* d;
+};
+
+class Q_EXPORT QSqlRecord
+{
+public:
+ QSqlRecord();
+ QSqlRecord( const QSqlRecord&amp; other );
+ QSqlRecord&amp; operator=( const QSqlRecord&amp; other );
+ virtual ~QSqlRecord();
+ virtual QVariant value( int i ) const;
+ virtual QVariant value( const QString&amp; name ) const;
+ virtual void setValue( int i, const QVariant&amp; val );
+ virtual void setValue( const QString&amp; name, const QVariant&amp; val );
+ bool isGenerated( int i ) const;
+ bool isGenerated( const QString&amp; name ) const;
+ virtual void setGenerated( const QString&amp; name, bool generated );
+ virtual void setGenerated( int i, bool generated );
+ virtual void setNull( int i );
+ virtual void setNull( const QString&amp; name );
+ bool isNull( int i ); // remove in 4.0
+ bool isNull( const QString&amp; name ); // remove in 4.0
+ bool isNull( int i ) const;
+ bool isNull( const QString&amp; name ) const;
+
+ int position( const QString&amp; name ) const;
+ QString fieldName( int i ) const;
+ QSqlField* field( int i );
+ QSqlField* field( const QString&amp; name );
+ const QSqlField* field( int i ) const;
+ const QSqlField* field( const QString&amp; name ) const;
+
+ virtual void append( const QSqlField&amp; field );
+ virtual void insert( int pos, const QSqlField&amp; field );
+ virtual void remove( int pos );
+
+ bool isEmpty() const;
+ bool contains( const QString&amp; name ) const;
+ virtual void clear();
+ virtual void clearValues( bool nullify = FALSE );
+ uint count() const;
+ virtual QString toString( const QString&amp; prefix = QString::null,
+ const QString&amp; sep = "," ) const;
+ virtual QStringList toStringList( const QString&amp; prefix = QString::null ) const;
+
+private:
+ QString createField( int i, const QString&amp; prefix ) const;
+ void deref();
+ bool checkDetach();
+ QSqlRecordShared* sh;
+};
+
+/******************************************/
+/******* QSqlRecordInfo Class ******/
+/******************************************/
+
+#if defined(Q_TEMPLATEDLL)
+// MOC_SKIP_BEGIN
+Q_TEMPLATE_EXTERN template class Q_EXPORT QValueList&lt;QSqlFieldInfo&gt;;
+// MOC_SKIP_END
+#endif
+
+typedef QValueList&lt;QSqlFieldInfo&gt; QSqlFieldInfoList;
+
+class Q_EXPORT QSqlRecordInfo: public QSqlFieldInfoList
+{
+public:
+ QSqlRecordInfo(): QSqlFieldInfoList() {}
+ QSqlRecordInfo( const QSqlFieldInfoList&amp; other ): QSqlFieldInfoList( other ) {}
+ QSqlRecordInfo( const QSqlRecord&amp; other );
+
+ size_type contains( const QString&amp; fieldName ) const;
+ QSqlFieldInfo find( const QString&amp; fieldName ) const;
+ QSqlRecord toRecord() const;
+
+};
+
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlrecord-members.html b/doc/html/qsqlrecord-members.html
new file mode 100644
index 0000000..efeda14
--- /dev/null
+++ b/doc/html/qsqlrecord-members.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlrecord.h:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlRecord Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlRecord</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlrecord.html">QSqlRecord</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlrecord.html#QSqlRecord">QSqlRecord</a>()
+<li><a href="qsqlrecord.html#~QSqlRecord">~QSqlRecord</a>()
+<li><a href="qsqlrecord.html#append">append</a>()
+<li><a href="qsqlrecord.html#clear">clear</a>()
+<li><a href="qsqlrecord.html#clearValues">clearValues</a>()
+<li><a href="qsqlrecord.html#contains">contains</a>()
+<li><a href="qsqlrecord.html#count">count</a>()
+<li><a href="qsqlrecord.html#field">field</a>()
+<li><a href="qsqlrecord.html#fieldName">fieldName</a>()
+<li><a href="qsqlrecord.html#insert">insert</a>()
+<li><a href="qsqlrecord.html#isEmpty">isEmpty</a>()
+<li><a href="qsqlrecord.html#isGenerated">isGenerated</a>()
+<li><a href="qsqlrecord.html#isNull">isNull</a>()
+<li><a href="qsqlrecord.html#operator-eq">operator=</a>()
+<li><a href="qsqlrecord.html#position">position</a>()
+<li><a href="qsqlrecord.html#remove">remove</a>()
+<li><a href="qsqlrecord.html#setGenerated">setGenerated</a>()
+<li><a href="qsqlrecord.html#setNull">setNull</a>()
+<li><a href="qsqlrecord.html#setValue">setValue</a>()
+<li><a href="qsqlrecord.html#toString">toString</a>()
+<li><a href="qsqlrecord.html#toStringList">toStringList</a>()
+<li><a href="qsqlrecord.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlrecord.html b/doc/html/qsqlrecord.html
new file mode 100644
index 0000000..02aca50
--- /dev/null
+++ b/doc/html/qsqlrecord.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlrecord.cpp:151 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlRecord Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlRecord Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlRecord class encapsulates a database record, i.e. a
+set of database fields.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlrecord-h.html">qsqlrecord.h</a>&gt;</tt>
+<p>Inherited by <a href="qsqlcursor.html">QSqlCursor</a> and <a href="qsqlindex.html">QSqlIndex</a>.
+<p><a href="qsqlrecord-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlRecord"><b>QSqlRecord</b></a> ()</li>
+<li class=fn><a href="#QSqlRecord-2"><b>QSqlRecord</b></a> ( const&nbsp;QSqlRecord&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QSqlRecord &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QSqlRecord&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>virtual <a href="#~QSqlRecord"><b>~QSqlRecord</b></a> ()</li>
+<li class=fn>virtual QVariant <a href="#value"><b>value</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>virtual QVariant <a href="#value-2"><b>value</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( int&nbsp;i, const&nbsp;QVariant&nbsp;&amp;&nbsp;val )</li>
+<li class=fn>virtual void <a href="#setValue-2"><b>setValue</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QVariant&nbsp;&amp;&nbsp;val )</li>
+<li class=fn>bool <a href="#isGenerated-2"><b>isGenerated</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>bool <a href="#isGenerated"><b>isGenerated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual void <a href="#setGenerated"><b>setGenerated</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;generated )</li>
+<li class=fn>virtual void <a href="#setGenerated-2"><b>setGenerated</b></a> ( int&nbsp;i, bool&nbsp;generated )</li>
+<li class=fn>virtual void <a href="#setNull"><b>setNull</b></a> ( int&nbsp;i )</li>
+<li class=fn>virtual void <a href="#setNull-2"><b>setNull</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>bool <a href="#isNull-4"><b>isNull</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>int <a href="#position"><b>position</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>QString <a href="#fieldName"><b>fieldName</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>QSqlField * <a href="#field"><b>field</b></a> ( int&nbsp;i )</li>
+<li class=fn>QSqlField * <a href="#field-2"><b>field</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>const QSqlField * <a href="#field-3"><b>field</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>const QSqlField * <a href="#field-4"><b>field</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual void <a href="#append"><b>append</b></a> ( const&nbsp;QSqlField&nbsp;&amp;&nbsp;field )</li>
+<li class=fn>virtual void <a href="#insert"><b>insert</b></a> ( int&nbsp;pos, const&nbsp;QSqlField&nbsp;&amp;&nbsp;field )</li>
+<li class=fn>virtual void <a href="#remove"><b>remove</b></a> ( int&nbsp;pos )</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearValues"><b>clearValues</b></a> ( bool&nbsp;nullify = FALSE )</li>
+<li class=fn>uint <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>virtual QString <a href="#toString"><b>toString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;sep = "," ) const</li>
+<li class=fn>virtual QStringList <a href="#toStringList"><b>toStringList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix = QString::null ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlRecord class encapsulates a database record, i.e. a
+set of database fields.
+<p>
+
+<p> The QSqlRecord class encapsulates the functionality and
+characteristics of a database record (usually a table or view within
+the database). QSqlRecords support adding and removing fields as
+well as setting and retrieving field values.
+<p> QSqlRecord is <a href="shclass.html#implicitly-shared">implicitly shared</a>. This means you can make copies of
+the record in time O(1). If multiple QSqlRecord instances share
+the same data and one is modifying the record's data then this
+modifying instance makes a copy and modifies its private copy -
+thus it does not affect other instances.
+<p> <p>See also <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlRecord"></a>QSqlRecord::QSqlRecord ()
+</h3>
+Constructs an empty record.
+
+<h3 class=fn><a name="QSqlRecord-2"></a>QSqlRecord::QSqlRecord ( const&nbsp;<a href="qsqlrecord.html">QSqlRecord</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="~QSqlRecord"></a>QSqlRecord::~QSqlRecord ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="append"></a>QSqlRecord::append ( const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;field )<tt> [virtual]</tt>
+</h3>
+Append a copy of field <em>field</em> to the end of the record.
+
+<p>Reimplemented in <a href="qsqlindex.html#append">QSqlIndex</a>.
+<h3 class=fn>void <a name="clear"></a>QSqlRecord::clear ()<tt> [virtual]</tt>
+</h3>
+Removes all the record's fields.
+<p> <p>See also <a href="#clearValues">clearValues</a>().
+
+<p>Reimplemented in <a href="qsqlcursor.html#clear">QSqlCursor</a>.
+<h3 class=fn>void <a name="clearValues"></a>QSqlRecord::clearValues ( bool&nbsp;nullify = FALSE )<tt> [virtual]</tt>
+</h3>
+Clears the value of all fields in the record. If <em>nullify</em> is
+TRUE, (the default is FALSE), each field is set to NULL.
+
+<h3 class=fn>bool <a name="contains"></a>QSqlRecord::contains ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if there is a field in the record called <em>name</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>uint <a name="count"></a>QSqlRecord::count () const
+</h3>
+Returns the number of fields in the record.
+
+<h3 class=fn><a href="qsqlfield.html">QSqlField</a>&nbsp;* <a name="field"></a>QSqlRecord::field ( int&nbsp;i )
+</h3>
+Returns the field at position <em>i</em> within the record, or 0 if it
+cannot be found.
+
+<h3 class=fn><a href="qsqlfield.html">QSqlField</a>&nbsp;* <a name="field-2"></a>QSqlRecord::field ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the field called <em>name</em> within the record, or 0 if it
+cannot be found. Field names are not case-sensitive.
+
+<h3 class=fn>const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;* <a name="field-3"></a>QSqlRecord::field ( int&nbsp;i ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;* <a name="field-4"></a>QSqlRecord::field ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the field called <em>name</em> within the record, or 0 if it
+cannot be found. Field names are not case-sensitive.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fieldName"></a>QSqlRecord::fieldName ( int&nbsp;i ) const
+</h3>
+Returns the name of the field at position <em>i</em>. If the field does
+not exist, <a href="qstring.html#QString-null">QString::null</a> is returned.
+
+<h3 class=fn>void <a name="insert"></a>QSqlRecord::insert ( int&nbsp;pos, const&nbsp;<a href="qsqlfield.html">QSqlField</a>&nbsp;&amp;&nbsp;field )<tt> [virtual]</tt>
+</h3>
+Insert a copy of <em>field</em> at position <em>pos</em>. If a field already
+exists at <em>pos</em>, it is removed.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QSqlRecord::isEmpty () const
+</h3>
+Returns TRUE if there are no fields in the record; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="isGenerated"></a>QSqlRecord::isGenerated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if the record has a field called <em>name</em> and this
+field is to be generated (the default); otherwise returns FALSE.
+<p> <p>See also <a href="#setGenerated">setGenerated</a>().
+
+<h3 class=fn>bool <a name="isGenerated-2"></a>QSqlRecord::isGenerated ( int&nbsp;i ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the record has a field at position <em>i</em> and this
+field is to be generated (the default); otherwise returns FALSE.
+<p> <p>See also <a href="#setGenerated">setGenerated</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QSqlRecord::isNull ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns TRUE if the field called <em>name</em> is NULL or if there is no
+field called <em>name</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#position">position</a>().
+
+<h3 class=fn>bool <a name="isNull-4"></a>QSqlRecord::isNull ( int&nbsp;i ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the field <em>i</em> is NULL or if there is no field at
+position <em>i</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#fieldName">fieldName</a>().
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a>&nbsp;&amp; <a name="operator-eq"></a>QSqlRecord::operator= ( const&nbsp;<a href="qsqlrecord.html">QSqlRecord</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Sets the record equal to <em>other</em>.
+
+<h3 class=fn>int <a name="position"></a>QSqlRecord::position ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+Returns the position of the field called <em>name</em> within the
+record, or -1 if it cannot be found. Field names are not
+case-sensitive. If more than one field matches, the first one is
+returned.
+
+<h3 class=fn>void <a name="remove"></a>QSqlRecord::remove ( int&nbsp;pos )<tt> [virtual]</tt>
+</h3>
+Removes the field at <em>pos</em>. If <em>pos</em> does not exist, nothing
+happens.
+
+<p>Reimplemented in <a href="qsqlcursor.html#remove">QSqlCursor</a>.
+<h3 class=fn>void <a name="setGenerated"></a>QSqlRecord::setGenerated ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;generated )<tt> [virtual]</tt>
+</h3>
+Sets the generated flag for the field called <em>name</em> to <em>generated</em>. If the field does not exist, nothing happens. Only
+fields that have <em>generated</em> set to TRUE are included in the SQL
+that is generated, e.g. by <a href="qsqlcursor.html">QSqlCursor</a>.
+<p> <p>See also <a href="#isGenerated">isGenerated</a>().
+
+<p>Reimplemented in <a href="qsqlcursor.html#setGenerated">QSqlCursor</a>.
+<h3 class=fn>void <a name="setGenerated-2"></a>QSqlRecord::setGenerated ( int&nbsp;i, bool&nbsp;generated )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the generated flag for the field <em>i</em> to <em>generated</em>.
+<p> <p>See also <a href="#isGenerated">isGenerated</a>().
+
+<p>Reimplemented in <a href="qsqlcursor.html#setGenerated-2">QSqlCursor</a>.
+<h3 class=fn>void <a name="setNull"></a>QSqlRecord::setNull ( int&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Sets the value of field <em>i</em> to NULL. If the field does not exist,
+nothing happens.
+
+<h3 class=fn>void <a name="setNull-2"></a>QSqlRecord::setNull ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the value of the field called <em>name</em> to NULL. If the field
+does not exist, nothing happens.
+
+<h3 class=fn>void <a name="setValue"></a>QSqlRecord::setValue ( int&nbsp;i, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val )<tt> [virtual]</tt>
+</h3>
+Sets the value of the field at position <em>i</em> to <em>val</em>. If the
+field does not exist, nothing happens.
+
+<p>Examples: <a href="sql.html#x2196">sql/overview/insert/main.cpp</a>, <a href="qsqlcursor.html#x2448">sql/overview/insert2/main.cpp</a>, <a href="sql.html#x2270">sql/overview/subclass5/main.cpp</a>, <a href="sql.html#x2203">sql/overview/update/main.cpp</a>, and <a href="sqltable-example.html#x2464">sql/sqltable/main.cpp</a>.
+<h3 class=fn>void <a name="setValue-2"></a>QSqlRecord::setValue ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;val )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the value of the field called <em>name</em> to <em>val</em>. If the field
+does not exist, nothing happens.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QSqlRecord::toString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep = "," ) const<tt> [virtual]</tt>
+</h3>
+Returns a list of all the record's field names as a string
+separated by <em>sep</em>.
+<p> Note that fields which are not generated are <em>not</em> included (see
+<a href="#isGenerated">isGenerated</a>()). The returned string is suitable, for example, for
+generating SQL SELECT statements. If a <em>prefix</em> is specified,
+e.g. a table name, all fields are prefixed in the form:
+<p> "<em>prefix</em>.&lt;fieldname&gt;"
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="toStringList"></a>QSqlRecord::toStringList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix = QString::null ) const<tt> [virtual]</tt>
+</h3>
+Returns a list of all the record's field names, each having the
+prefix <em>prefix</em>.
+<p> Note that fields which have generated set to FALSE are <em>not</em>
+included. (See <a href="#isGenerated">isGenerated</a>()). If <em>prefix</em> is supplied, e.g.
+a table name, all fields are prefixed in the form:
+<p> "<em>prefix</em>.&lt;fieldname&gt;"
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QSqlRecord::value ( int&nbsp;i ) const<tt> [virtual]</tt>
+</h3>
+Returns the value of the field located at position <em>i</em> in the
+record. If field <em>i</em> does not exist the resultant behaviour is
+undefined.
+<p> This function should be used with <a href="qsqlquery.html">QSqlQuery</a>s. When working
+with a <a href="qsqlcursor.html">QSqlCursor</a> the <a href="qsqlquery.html#value">value(const
+ QString&)</a> overload which uses field names is more
+appropriate.
+
+<p>Example: <a href="sql.html#x2204">sql/overview/update/main.cpp</a>.
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value-2"></a>QSqlRecord::value ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the value of the field called <em>name</em> in the record. If
+field <em>name</em> does not exist the resultant behaviour is undefined.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlrecordinfo-members.html b/doc/html/qsqlrecordinfo-members.html
new file mode 100644
index 0000000..fdad7c1
--- /dev/null
+++ b/doc/html/qsqlrecordinfo-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlrecord.h:122 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlRecordInfo Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlRecordInfo</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlrecordinfo.html">QSqlRecordInfo</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlrecordinfo.html#QSqlRecordInfo">QSqlRecordInfo</a>()
+<li><a href="qsqlrecordinfo.html#contains">contains</a>()
+<li><a href="qsqlrecordinfo.html#find">find</a>()
+<li><a href="qsqlrecordinfo.html#toRecord">toRecord</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlrecordinfo.html b/doc/html/qsqlrecordinfo.html
new file mode 100644
index 0000000..9f072c4
--- /dev/null
+++ b/doc/html/qsqlrecordinfo.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlrecord.cpp:686 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlRecordInfo Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlRecordInfo Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlRecordInfo class encapsulates a set of database field meta data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlrecord-h.html">qsqlrecord.h</a>&gt;</tt>
+<p><a href="qsqlrecordinfo-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlRecordInfo"><b>QSqlRecordInfo</b></a> ()</li>
+<li class=fn><a href="#QSqlRecordInfo-2"><b>QSqlRecordInfo</b></a> ( const&nbsp;QSqlFieldInfoList&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#QSqlRecordInfo-3"><b>QSqlRecordInfo</b></a> ( const&nbsp;QSqlRecord&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>size_type <a href="#contains"><b>contains</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName ) const</li>
+<li class=fn>QSqlFieldInfo <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fieldName ) const</li>
+<li class=fn>QSqlRecord <a href="#toRecord"><b>toRecord</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlRecordInfo class encapsulates a set of database field meta data.
+<p>
+
+<p> This class is a <a href="qvaluelist.html">QValueList</a> that holds a set of database field meta
+data. Use <a href="#contains">contains</a>() to see if a given field name exists in the
+record, and use <a href="#find">find</a>() to get a <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> record for a named
+field.
+<p> <p>See also <a href="qvaluelist.html">QValueList</a>, <a href="qsqlfieldinfo.html">QSqlFieldInfo</a>, and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlRecordInfo"></a>QSqlRecordInfo::QSqlRecordInfo ()
+</h3>
+
+<p> Constructs an empty record info object
+
+<h3 class=fn><a name="QSqlRecordInfo-2"></a>QSqlRecordInfo::QSqlRecordInfo ( const&nbsp;QSqlFieldInfoList&nbsp;&amp;&nbsp;other )
+</h3>
+
+<p> Constructs a copy of <em>other</em>.
+
+<h3 class=fn><a name="QSqlRecordInfo-3"></a>QSqlRecordInfo::QSqlRecordInfo ( const&nbsp;<a href="qsqlrecord.html">QSqlRecord</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Constructs a QSqlRecordInfo object based on the fields in the
+<a href="qsqlrecord.html">QSqlRecord</a> <em>other</em>.
+
+<h3 class=fn>size_type <a name="contains"></a>QSqlRecordInfo::contains ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName ) const
+</h3>
+Returns the number of times a field called <em>fieldName</em> occurs in
+the record. Returns 0 if no field by that name could be found.
+
+<h3 class=fn><a href="qsqlfieldinfo.html">QSqlFieldInfo</a> <a name="find"></a>QSqlRecordInfo::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fieldName ) const
+</h3>
+Returns a <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> object for the first field in the record
+which has the field name <em>fieldName</em>. If no matching field is
+found then an empty QSqlFieldInfo object is returned.
+
+<h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> <a name="toRecord"></a>QSqlRecordInfo::toRecord () const
+</h3>
+Returns an empty <a href="qsqlrecord.html">QSqlRecord</a> based on the field information
+in this QSqlRecordInfo.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlresult-h.html b/doc/html/qsqlresult-h.html
new file mode 100644
index 0000000..8ac788c
--- /dev/null
+++ b/doc/html/qsqlresult-h.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlresult.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlresult.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlresult.h</h1>
+
+<p>This is the verbatim text of the qsqlresult.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlResult class
+**
+** Created : 2000-11-03
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLRESULT_H
+#define QSQLRESULT_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qvariant.h"
+#include "qsqlerror.h"
+#include "qsqlfield.h"
+#include "qsql.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlDriver;
+class QSql;
+class QSqlResultPrivate;
+class QSqlExtension;
+
+class QM_EXPORT_SQL QSqlResult
+{
+friend class QSqlQuery;
+friend class QSqlResultShared;
+public:
+ virtual ~QSqlResult();
+
+ // BCI HACK - remove in 4.0
+ void setExtension( QSqlExtension * ext );
+ QSqlExtension * extension();
+
+protected:
+ QSqlResult(const QSqlDriver * db );
+ int at() const;
+ QString lastQuery() const;
+ QSqlError lastError() const;
+ bool isValid() const;
+ bool isActive() const;
+ bool isSelect() const;
+ bool isForwardOnly() const;
+ const QSqlDriver* driver() const;
+ virtual void setAt( int at );
+ virtual void setActive( bool a );
+ virtual void setLastError( const QSqlError&amp; e );
+ virtual void setQuery( const QString&amp; query );
+ virtual void setSelect( bool s );
+ virtual void setForwardOnly( bool forward );
+
+ virtual QVariant data( int i ) = 0;
+ virtual bool isNull( int i ) = 0;
+ virtual bool reset ( const QString&amp; sqlquery ) = 0;
+ virtual bool fetch( int i ) = 0;
+ virtual bool fetchNext();
+ virtual bool fetchPrev();
+ virtual bool fetchFirst() = 0;
+ virtual bool fetchLast() = 0;
+ virtual int size() = 0;
+ virtual int numRowsAffected() = 0;
+private:
+ QSqlResultPrivate* d;
+ bool forwardOnly;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QSqlResult( const QSqlResult &amp; );
+ QSqlResult &amp;operator=( const QSqlResult &amp; );
+#endif
+};
+
+#endif // QT_NO_SQL
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlresult-members.html b/doc/html/qsqlresult-members.html
new file mode 100644
index 0000000..56da7a8
--- /dev/null
+++ b/doc/html/qsqlresult-members.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlresult.h:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlResult Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlResult</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlresult.html">QSqlResult</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlresult.html#QSqlResult">QSqlResult</a>()
+<li><a href="qsqlresult.html#~QSqlResult">~QSqlResult</a>()
+<li><a href="qsqlresult.html#at">at</a>()
+<li><a href="qsqlresult.html#data">data</a>()
+<li><a href="qsqlresult.html#driver">driver</a>()
+<li><a href="qsqlresult.html#fetch">fetch</a>()
+<li><a href="qsqlresult.html#fetchFirst">fetchFirst</a>()
+<li><a href="qsqlresult.html#fetchLast">fetchLast</a>()
+<li><a href="qsqlresult.html#fetchNext">fetchNext</a>()
+<li><a href="qsqlresult.html#fetchPrev">fetchPrev</a>()
+<li><a href="qsqlresult.html#isActive">isActive</a>()
+<li><a href="qsqlresult.html#isForwardOnly">isForwardOnly</a>()
+<li><a href="qsqlresult.html#isNull">isNull</a>()
+<li><a href="qsqlresult.html#isSelect">isSelect</a>()
+<li><a href="qsqlresult.html#isValid">isValid</a>()
+<li><a href="qsqlresult.html#lastError">lastError</a>()
+<li><a href="qsqlresult.html#lastQuery">lastQuery</a>()
+<li><a href="qsqlresult.html#numRowsAffected">numRowsAffected</a>()
+<li><a href="qsqlresult.html#reset">reset</a>()
+<li><a href="qsqlresult.html#setActive">setActive</a>()
+<li><a href="qsqlresult.html#setAt">setAt</a>()
+<li><a href="qsqlresult.html#setForwardOnly">setForwardOnly</a>()
+<li><a href="qsqlresult.html#setLastError">setLastError</a>()
+<li><a href="qsqlresult.html#setQuery">setQuery</a>()
+<li><a href="qsqlresult.html#setSelect">setSelect</a>()
+<li><a href="qsqlresult.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlresult.html b/doc/html/qsqlresult.html
new file mode 100644
index 0000000..d75f00a
--- /dev/null
+++ b/doc/html/qsqlresult.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlresult.cpp:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlResult Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlResult Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlResult class provides an abstract interface for
+accessing data from SQL databases.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlresult-h.html">qsqlresult.h</a>&gt;</tt>
+<p><a href="qsqlresult-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QSqlResult"><b>~QSqlResult</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QSqlResult"><b>QSqlResult</b></a> ( const&nbsp;QSqlDriver&nbsp;*&nbsp;db )</li>
+<li class=fn>int <a href="#at"><b>at</b></a> () const</li>
+<li class=fn>QString <a href="#lastQuery"><b>lastQuery</b></a> () const</li>
+<li class=fn>QSqlError <a href="#lastError"><b>lastError</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>bool <a href="#isSelect"><b>isSelect</b></a> () const</li>
+<li class=fn>bool <a href="#isForwardOnly"><b>isForwardOnly</b></a> () const</li>
+<li class=fn>const QSqlDriver * <a href="#driver"><b>driver</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAt"><b>setAt</b></a> ( int&nbsp;at )</li>
+<li class=fn>virtual void <a href="#setActive"><b>setActive</b></a> ( bool&nbsp;a )</li>
+<li class=fn>virtual void <a href="#setLastError"><b>setLastError</b></a> ( const&nbsp;QSqlError&nbsp;&amp;&nbsp;e )</li>
+<li class=fn>virtual void <a href="#setQuery"><b>setQuery</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query )</li>
+<li class=fn>virtual void <a href="#setSelect"><b>setSelect</b></a> ( bool&nbsp;s )</li>
+<li class=fn>virtual void <a href="#setForwardOnly"><b>setForwardOnly</b></a> ( bool&nbsp;forward )</li>
+<li class=fn>virtual QVariant <a href="#data"><b>data</b></a> ( int&nbsp;i ) = 0</li>
+<li class=fn>virtual bool <a href="#isNull"><b>isNull</b></a> ( int&nbsp;i ) = 0</li>
+<li class=fn>virtual bool <a href="#reset"><b>reset</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query ) = 0</li>
+<li class=fn>virtual bool <a href="#fetch"><b>fetch</b></a> ( int&nbsp;i ) = 0</li>
+<li class=fn>virtual bool <a href="#fetchNext"><b>fetchNext</b></a> ()</li>
+<li class=fn>virtual bool <a href="#fetchPrev"><b>fetchPrev</b></a> ()</li>
+<li class=fn>virtual bool <a href="#fetchFirst"><b>fetchFirst</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#fetchLast"><b>fetchLast</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#size"><b>size</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#numRowsAffected"><b>numRowsAffected</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlResult class provides an abstract interface for
+accessing data from SQL databases.
+<p>
+
+<p> Normally you would use <a href="qsqlquery.html">QSqlQuery</a> instead of QSqlResult since QSqlQuery
+provides a generic wrapper for database-specific implementations of
+QSqlResult.
+<p> <p>See also <a href="qsql.html">QSql</a> and <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlResult"></a>QSqlResult::QSqlResult ( const&nbsp;<a href="qsqldriver.html">QSqlDriver</a>&nbsp;*&nbsp;db )<tt> [protected]</tt>
+</h3>
+Protected constructor which creates a QSqlResult using database <em>db</em>. The object is initialized to an inactive state.
+
+<h3 class=fn><a name="~QSqlResult"></a>QSqlResult::~QSqlResult ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>int <a name="at"></a>QSqlResult::at () const<tt> [protected]</tt>
+</h3>
+Returns the current (zero-based) position of the result.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a> <a name="data"></a>QSqlResult::data ( int&nbsp;i )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Returns the data for field <em>i</em> (zero-based) as a <a href="qvariant.html">QVariant</a>. This
+function is only called if the result is in an active state and is
+positioned on a valid record and <em>i</em> is non-negative.
+Derived classes must reimplement this function and return the value
+of field <em>i</em>, or QVariant() if it cannot be determined.
+
+<h3 class=fn>const&nbsp;<a href="qsqldriver.html">QSqlDriver</a>&nbsp;* <a name="driver"></a>QSqlResult::driver () const<tt> [protected]</tt>
+</h3>
+Returns the driver associated with the result.
+
+<h3 class=fn>bool <a name="fetch"></a>QSqlResult::fetch ( int&nbsp;i )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Positions the result to an arbitrary (zero-based) index <em>i</em>. This
+function is only called if the result is in an active state. Derived
+classes must reimplement this function and position the result to the
+index <em>i</em>, and call <a href="#setAt">setAt</a>() with an appropriate value. Return TRUE
+to indicate success, or FALSE to signify failure.
+
+<h3 class=fn>bool <a name="fetchFirst"></a>QSqlResult::fetchFirst ()<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Positions the result to the first record in the result. This
+function is only called if the result is in an active state.
+Derived classes must reimplement this function and position the result
+to the first record, and call <a href="#setAt">setAt</a>() with an appropriate value.
+Return TRUE to indicate success, or FALSE to signify failure.
+
+<h3 class=fn>bool <a name="fetchLast"></a>QSqlResult::fetchLast ()<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Positions the result to the last record in the result. This
+function is only called if the result is in an active state.
+Derived classes must reimplement this function and position the result
+to the last record, and call <a href="#setAt">setAt</a>() with an appropriate value.
+Return TRUE to indicate success, or FALSE to signify failure.
+
+<h3 class=fn>bool <a name="fetchNext"></a>QSqlResult::fetchNext ()<tt> [virtual protected]</tt>
+</h3>
+Positions the result to the next available record in the result.
+This function is only called if the result is in an active state.
+The default implementation calls <a href="#fetch">fetch</a>() with the next index.
+Derived classes can reimplement this function and position the result
+to the next record in some other way, and call <a href="#setAt">setAt</a>() with an
+appropriate value. Return TRUE to indicate success, or FALSE to
+signify failure.
+
+<h3 class=fn>bool <a name="fetchPrev"></a>QSqlResult::fetchPrev ()<tt> [virtual protected]</tt>
+</h3>
+Positions the result to the previous available record in the
+result. This function is only called if the result is in an active
+state. The default implementation calls <a href="#fetch">fetch</a>() with the previous
+index. Derived classes can reimplement this function and position the
+result to the next record in some other way, and call <a href="#setAt">setAt</a>() with
+an appropriate value. Return TRUE to indicate success, or FALSE to
+signify failure.
+
+<h3 class=fn>bool <a name="isActive"></a>QSqlResult::isActive () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the result has records to be retrieved; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="isForwardOnly"></a>QSqlResult::isForwardOnly () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if you can only scroll forward through a result set;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isNull"></a>QSqlResult::isNull ( int&nbsp;i )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Returns TRUE if the field at position <em>i</em> is NULL; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="isSelect"></a>QSqlResult::isSelect () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the current result is from a SELECT statement;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isValid"></a>QSqlResult::isValid () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the result is positioned on a valid record (that
+is, the result is not positioned before the first or after the
+last record); otherwise returns FALSE.
+
+<h3 class=fn><a href="qsqlerror.html">QSqlError</a> <a name="lastError"></a>QSqlResult::lastError () const<tt> [protected]</tt>
+</h3>
+Returns the last error associated with the result.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="lastQuery"></a>QSqlResult::lastQuery () const<tt> [protected]</tt>
+</h3>
+Returns the current SQL query text, or <a href="qstring.html#QString-null">QString::null</a> if there is none.
+
+<h3 class=fn>int <a name="numRowsAffected"></a>QSqlResult::numRowsAffected ()<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Returns the number of rows affected by the last query executed.
+
+<h3 class=fn>bool <a name="reset"></a>QSqlResult::reset ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Sets the result to use the SQL statement <em>query</em> for subsequent
+data retrieval. Derived classes must reimplement this function and
+apply the <em>query</em> to the database. This function is called only
+after the result is set to an inactive state and is positioned
+before the first record of the new result. Derived classes should
+return TRUE if the query was successful and ready to be used,
+or FALSE otherwise.
+
+<h3 class=fn>void <a name="setActive"></a>QSqlResult::setActive ( bool&nbsp;a )<tt> [virtual protected]</tt>
+</h3>
+Protected function provided for derived classes to set the
+internal active state to the value of <em>a</em>.
+<p> <p>See also <a href="#isActive">isActive</a>().
+
+<h3 class=fn>void <a name="setAt"></a>QSqlResult::setAt ( int&nbsp;at )<tt> [virtual protected]</tt>
+</h3>
+Protected function provided for derived classes to set the
+internal (zero-based) result index to <em>at</em>.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>void <a name="setForwardOnly"></a>QSqlResult::setForwardOnly ( bool&nbsp;forward )<tt> [virtual protected]</tt>
+</h3>
+Sets forward only mode to <em>forward</em>. If forward is TRUE only
+<a href="#fetchNext">fetchNext</a>() is allowed for navigating the results. Forward only
+mode needs far less memory since results do not have to be cached.
+forward only mode is off by default.
+<p> <p>See also <a href="#fetchNext">fetchNext</a>().
+
+<h3 class=fn>void <a name="setLastError"></a>QSqlResult::setLastError ( const&nbsp;<a href="qsqlerror.html">QSqlError</a>&nbsp;&amp;&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Protected function provided for derived classes to set the last
+error to the value of <em>e</em>.
+<p> <p>See also <a href="#lastError">lastError</a>().
+
+<h3 class=fn>void <a name="setQuery"></a>QSqlResult::setQuery ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query )<tt> [virtual protected]</tt>
+</h3>
+Sets the current query for the result to <em>query</em>. The result must
+be <a href="#reset">reset</a>() in order to execute the query on the database.
+
+<h3 class=fn>void <a name="setSelect"></a>QSqlResult::setSelect ( bool&nbsp;s )<tt> [virtual protected]</tt>
+</h3>
+Protected function provided for derived classes to indicate
+whether or not the current statement is a SQL SELECT statement.
+The <em>s</em> parameter should be TRUE if the statement is a SELECT
+statement, or FALSE otherwise.
+
+<h3 class=fn>int <a name="size"></a>QSqlResult::size ()<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> Returns the size of the result or -1 if it cannot be determined.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlselectcursor-h.html b/doc/html/qsqlselectcursor-h.html
new file mode 100644
index 0000000..1d95415
--- /dev/null
+++ b/doc/html/qsqlselectcursor-h.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlselectcursor.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsqlselectcursor.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsqlselectcursor.h</h1>
+
+<p>This is the verbatim text of the qsqlselectcursor.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QSqlSelectCursor class
+**
+** Created : 2002-11-13
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the sql module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSQLSELECTCURSOR_H
+#define QSQLSELECTCURSOR_H
+
+#ifndef QT_H
+#include "qsqlcursor.h"
+#endif // QT_H
+
+#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
+#define QM_EXPORT_SQL
+#else
+#define QM_EXPORT_SQL Q_EXPORT
+#endif
+
+#ifndef QT_NO_SQL
+
+class QSqlSelectCursorPrivate;
+
+class QM_EXPORT_SQL QSqlSelectCursor : public QSqlCursor
+{
+public:
+ QSqlSelectCursor( const QString&amp; query = QString::null, QSqlDatabase* db = 0 );
+ QSqlSelectCursor( const QSqlSelectCursor&amp; other );
+ ~QSqlSelectCursor();
+ bool exec( const QString&amp; query );
+ bool select() { return QSqlCursor::select(); }
+
+protected:
+ QSqlIndex primaryIndex( bool = TRUE ) const { return QSqlIndex(); }
+ QSqlIndex index( const QStringList&amp; ) const { return QSqlIndex(); }
+ QSqlIndex index( const QString&amp; ) const { return QSqlIndex(); }
+ QSqlIndex index( const char* ) const { return QSqlIndex(); }
+ void setPrimaryIndex( const QSqlIndex&amp; ) {}
+ void append( const QSqlFieldInfo&amp; ) {}
+ void insert( int, const QSqlFieldInfo&amp; ) {}
+ void remove( int ) {}
+ void clear() {}
+ void setGenerated( const QString&amp;, bool ) {}
+ void setGenerated( int, bool ) {}
+ QSqlRecord* editBuffer( bool = FALSE ) { return 0; }
+ QSqlRecord* primeInsert() { return 0; }
+ QSqlRecord* primeUpdate() { return 0; }
+ QSqlRecord* primeDelete() { return 0; }
+ int insert( bool = TRUE ) { return 0; }
+ int update( bool = TRUE ) { return 0; }
+ int del( bool = TRUE ) { return 0; }
+ void setMode( int ) {}
+
+ void setSort( const QSqlIndex&amp; ) {}
+ QSqlIndex sort() const { return QSqlIndex(); }
+ void setFilter( const QString&amp; ) {}
+ QString filter() const { return QString::null; }
+ void setName( const QString&amp;, bool = TRUE ) {}
+ QString name() const { return QString::null; }
+ QString toString( const QString&amp; = QString::null, const QString&amp; = "," ) const { return QString::null; }
+ bool select( const QString &amp;, const QSqlIndex&amp; = QSqlIndex() );
+
+private:
+ void populateCursor();
+
+ QSqlSelectCursorPrivate * d;
+};
+
+#endif // QT_NO_SQL
+#endif // QSQLSELECTCURSOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlselectcursor-members.html b/doc/html/qsqlselectcursor-members.html
new file mode 100644
index 0000000..96e8a6f
--- /dev/null
+++ b/doc/html/qsqlselectcursor-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsqlselectcursor.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlSelectCursor Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSqlSelectCursor</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsqlselectcursor.html">QSqlSelectCursor</a>, including inherited members.
+
+<ul>
+<li><a href="qsqlselectcursor.html#QSqlSelectCursor">QSqlSelectCursor</a>()
+<li><a href="qsqlselectcursor.html#~QSqlSelectCursor">~QSqlSelectCursor</a>()
+<li><a href="qsqlquery.html#addBindValue">addBindValue</a>()
+<li><a href="qsqlquery.html#afterSeek">afterSeek</a>()
+<li><a href="qsqlcursor.html#append">append</a>()
+<li><a href="qsqlquery.html#at">at</a>()
+<li><a href="qsqlquery.html#beforeSeek">beforeSeek</a>()
+<li><a href="qsqlquery.html#bindValue">bindValue</a>()
+<li><a href="qsqlquery.html#boundValue">boundValue</a>()
+<li><a href="qsqlquery.html#boundValues">boundValues</a>()
+<li><a href="qsqlcursor.html#calculateField">calculateField</a>()
+<li><a href="qsqlcursor.html#canDelete">canDelete</a>()
+<li><a href="qsqlcursor.html#canInsert">canInsert</a>()
+<li><a href="qsqlcursor.html#canUpdate">canUpdate</a>()
+<li><a href="qsqlcursor.html#clear">clear</a>()
+<li><a href="qsqlrecord.html#clearValues">clearValues</a>()
+<li><a href="qsqlrecord.html#contains">contains</a>()
+<li><a href="qsqlrecord.html#count">count</a>()
+<li><a href="qsqlcursor.html#del">del</a>()
+<li><a href="qsqlquery.html#driver">driver</a>()
+<li><a href="qsqlcursor.html#editBuffer">editBuffer</a>()
+<li><a href="qsqlquery.html#exec">exec</a>()
+<li><a href="qsqlquery.html#executedQuery">executedQuery</a>()
+<li><a href="qsqlrecord.html#field">field</a>()
+<li><a href="qsqlrecord.html#fieldName">fieldName</a>()
+<li><a href="qsqlcursor.html#filter">filter</a>()
+<li><a href="qsqlquery.html#first">first</a>()
+<li><a href="qsqlcursor.html#index">index</a>()
+<li><a href="qsqlcursor.html#insert">insert</a>()
+<li><a href="qsqlquery.html#isActive">isActive</a>()
+<li><a href="qsqlcursor.html#isCalculated">isCalculated</a>()
+<li><a href="qsqlrecord.html#isEmpty">isEmpty</a>()
+<li><a href="qsqlquery.html#isForwardOnly">isForwardOnly</a>()
+<li><a href="qsqlrecord.html#isGenerated">isGenerated</a>()
+<li><a href="qsqlcursor.html#isNull">isNull</a>()
+<li><a href="qsqlcursor.html#isReadOnly">isReadOnly</a>()
+<li><a href="qsqlquery.html#isSelect">isSelect</a>()
+<li><a href="qsqlcursor.html#isTrimmed">isTrimmed</a>()
+<li><a href="qsqlquery.html#isValid">isValid</a>()
+<li><a href="qsqlquery.html#last">last</a>()
+<li><a href="qsqlquery.html#lastError">lastError</a>()
+<li><a href="qsqlquery.html#lastQuery">lastQuery</a>()
+<li><a href="qsqlcursor.html#mode">mode</a>()
+<li><a href="qsqlcursor.html#name">name</a>()
+<li><a href="qsqlquery.html#next">next</a>()
+<li><a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>()
+<li><a href="qsqlcursor.html#operator-eq">operator=</a>()
+<li><a href="qsqlrecord.html#position">position</a>()
+<li><a href="qsqlquery.html#prepare">prepare</a>()
+<li><a href="qsqlquery.html#prev">prev</a>()
+<li><a href="qsqlcursor.html#primaryIndex">primaryIndex</a>()
+<li><a href="qsqlcursor.html#primeDelete">primeDelete</a>()
+<li><a href="qsqlcursor.html#primeInsert">primeInsert</a>()
+<li><a href="qsqlcursor.html#primeUpdate">primeUpdate</a>()
+<li><a href="qsqlcursor.html#remove">remove</a>()
+<li><a href="qsqlquery.html#result">result</a>()
+<li><a href="qsqlquery.html#seek">seek</a>()
+<li><a href="qsqlcursor.html#select">select</a>()
+<li><a href="qsqlcursor.html#setCalculated">setCalculated</a>()
+<li><a href="qsqlcursor.html#setFilter">setFilter</a>()
+<li><a href="qsqlquery.html#setForwardOnly">setForwardOnly</a>()
+<li><a href="qsqlcursor.html#setGenerated">setGenerated</a>()
+<li><a href="qsqlcursor.html#setMode">setMode</a>()
+<li><a href="qsqlcursor.html#setName">setName</a>()
+<li><a href="qsqlrecord.html#setNull">setNull</a>()
+<li><a href="qsqlcursor.html#setPrimaryIndex">setPrimaryIndex</a>()
+<li><a href="qsqlcursor.html#setSort">setSort</a>()
+<li><a href="qsqlcursor.html#setTrimmed">setTrimmed</a>()
+<li><a href="qsqlrecord.html#setValue">setValue</a>()
+<li><a href="qsqlquery.html#size">size</a>()
+<li><a href="qsqlcursor.html#sort">sort</a>()
+<li><a href="qsqlcursor.html#toString">toString</a>()
+<li><a href="qsqlrecord.html#toStringList">toStringList</a>()
+<li><a href="qsqlcursor.html#update">update</a>()
+<li><a href="qsqlquery.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsqlselectcursor.html b/doc/html/qsqlselectcursor.html
new file mode 100644
index 0000000..8e10e58
--- /dev/null
+++ b/doc/html/qsqlselectcursor.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlselectcursor.cpp:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSqlSelectCursor Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlSelectCursor Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1>
+
+<p>The QSqlSelectCursor class provides browsing of general SQL
+SELECT statements.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsqlselectcursor-h.html">qsqlselectcursor.h</a>&gt;</tt>
+<p>Inherits <a href="qsqlcursor.html">QSqlCursor</a>.
+<p><a href="qsqlselectcursor-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSqlSelectCursor"><b>QSqlSelectCursor</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;query = QString::null, QSqlDatabase&nbsp;*&nbsp;db = 0 )</li>
+<li class=fn><a href="#QSqlSelectCursor-2"><b>QSqlSelectCursor</b></a> ( const&nbsp;QSqlSelectCursor&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#~QSqlSelectCursor"><b>~QSqlSelectCursor</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSqlSelectCursor class provides browsing of general SQL
+SELECT statements.
+<p>
+
+<p> QSqlSelectCursor is a convenience class that makes it possible to
+display result sets from general SQL <tt>SELECT</tt> statements in
+data-aware Qt widgets. QSqlSelectCursor is read-only and does not
+support <tt>INSERT</tt>, <tt>UPDATE</tt> or <tt>DELETE</tt> operations.
+<p> Pass the query in at construction time, or use the
+<a href="qsqlquery.html#exec">QSqlSelectCursor::exec</a>() function.
+<p> Example:
+<pre>
+ ...
+ QSqlSelectCursor* cur = new QSqlSelectCursor( "SELECT id, firstname, lastname FROM author" );
+ <a href="qdatatable.html">QDataTable</a>* table = new <a href="qdatatable.html">QDataTable</a>( this );
+ table-&gt;<a href="qdatatable.html#setSqlCursor">setSqlCursor</a>( cur, TRUE, TRUE );
+ table-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ ...
+ cur-&gt;<a href="qsqlquery.html#exec">exec</a>( "SELECT * FROM books" );
+ table-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ ...
+ </pre>
+
+<p>See also <a href="database.html">Database Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSqlSelectCursor"></a>QSqlSelectCursor::QSqlSelectCursor ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;query = QString::null, <a href="qsqldatabase.html">QSqlDatabase</a>&nbsp;*&nbsp;db = 0 )
+</h3>
+Constructs a read only cursor on database <em>db</em> using the query <em>query</em>.
+
+<h3 class=fn><a name="QSqlSelectCursor-2"></a>QSqlSelectCursor::QSqlSelectCursor ( const&nbsp;<a href="qsqlselectcursor.html">QSqlSelectCursor</a>&nbsp;&amp;&nbsp;other )
+</h3> Constructs a copy of <em>other</em>
+<h3 class=fn><a name="~QSqlSelectCursor"></a>QSqlSelectCursor::~QSqlSelectCursor ()
+</h3> Destroys the object and frees any allocated resources
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstack.html b/doc/html/qstack.html
new file mode 100644
index 0000000..6a00e02
--- /dev/null
+++ b/doc/html/qstack.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:87 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStack Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStack Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qstack.h&gt;</pre>
+
+<p> The QStack class has been renamed <b> <a href="qptrstack.html">QPtrStack</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstatusbar-h.html b/doc/html/qstatusbar-h.html
new file mode 100644
index 0000000..26c4143
--- /dev/null
+++ b/doc/html/qstatusbar-h.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstatusbar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstatusbar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstatusbar.h</h1>
+
+<p>This is the verbatim text of the qstatusbar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstatusbar.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QStatusBar class
+**
+** Created : 980316
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTATUSBAR_H
+#define QSTATUSBAR_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_STATUSBAR
+
+
+class QStatusBarPrivate;
+
+
+class Q_EXPORT QStatusBar: public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY( bool sizeGripEnabled READ isSizeGripEnabled WRITE setSizeGripEnabled )
+
+public:
+ QStatusBar( QWidget* parent=0, const char* name=0 );
+ virtual ~QStatusBar();
+
+ virtual void addWidget( QWidget *, int stretch = 0, bool = FALSE );
+ virtual void removeWidget( QWidget * );
+
+ void setSizeGripEnabled(bool);
+ bool isSizeGripEnabled() const;
+
+public slots:
+ void message( const QString &amp;);
+ void message( const QString &amp;, int );
+ void clear();
+
+signals:
+ void messageChanged( const QString &amp;text );
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void resizeEvent( QResizeEvent * );
+
+ void reformat();
+ void hideOrShow();
+ bool event( QEvent *);
+
+private:
+ QStatusBarPrivate * d;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QStatusBar( const QStatusBar &amp; );
+ QStatusBar&amp; operator=( const QStatusBar &amp; );
+#endif
+};
+
+#endif // QT_NO_STATUSBAR
+
+#endif // QSTATUSBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstatusbar-m.png b/doc/html/qstatusbar-m.png
new file mode 100644
index 0000000..58e4831
--- /dev/null
+++ b/doc/html/qstatusbar-m.png
Binary files differ
diff --git a/doc/html/qstatusbar-members.html b/doc/html/qstatusbar-members.html
new file mode 100644
index 0000000..8138ec9
--- /dev/null
+++ b/doc/html/qstatusbar-members.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstatusbar.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStatusBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStatusBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstatusbar.html">QStatusBar</a>, including inherited members.
+
+<ul>
+<li><a href="qstatusbar.html#QStatusBar">QStatusBar</a>()
+<li><a href="qstatusbar.html#~QStatusBar">~QStatusBar</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qstatusbar.html#addWidget">addWidget</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qstatusbar.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qstatusbar.html#hideOrShow">hideOrShow</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qstatusbar.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qstatusbar.html#message">message</a>()
+<li><a href="qstatusbar.html#messageChanged">messageChanged</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qstatusbar.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qstatusbar.html#reformat">reformat</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstatusbar.html#removeWidget">removeWidget</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qstatusbar.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstatusbar-w.png b/doc/html/qstatusbar-w.png
new file mode 100644
index 0000000..1b8f540
--- /dev/null
+++ b/doc/html/qstatusbar-w.png
Binary files differ
diff --git a/doc/html/qstatusbar.html b/doc/html/qstatusbar.html
new file mode 100644
index 0000000..0fe9728
--- /dev/null
+++ b/doc/html/qstatusbar.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qstatusbar.cpp:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStatusBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStatusBar Class Reference</h1>
+
+<p>The QStatusBar class provides a horizontal bar suitable for
+presenting status information.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qstatusbar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStatusBar"><b>QStatusBar</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QStatusBar"><b>~QStatusBar</b></a> ()</li>
+<li class=fn>virtual void <a href="#addWidget"><b>addWidget</b></a> ( QWidget&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, bool&nbsp;permanent = FALSE )</li>
+<li class=fn>virtual void <a href="#removeWidget"><b>removeWidget</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>void <a href="#setSizeGripEnabled"><b>setSizeGripEnabled</b></a> ( bool )</li>
+<li class=fn>bool <a href="#isSizeGripEnabled"><b>isSizeGripEnabled</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#message"><b>message</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;message )</li>
+<li class=fn>void <a href="#message-2"><b>message</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;message, int&nbsp;ms )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#messageChanged"><b>messageChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;message )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#sizeGripEnabled-prop"><b>sizeGripEnabled</b></a>&nbsp;- whether the QSizeGrip in the bottom right of the status bar is enabled</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent * )</li>
+<li class=fn>void <a href="#reformat"><b>reformat</b></a> ()</li>
+<li class=fn>void <a href="#hideOrShow"><b>hideOrShow</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStatusBar class provides a horizontal bar suitable for
+presenting status information.
+<p>
+
+
+<p> Each status indicator falls into one of three categories:
+<p> <ul>
+<li> <em>Temporary</em> - briefly occupies most of the status bar. Used
+to explain tool tip texts or menu entries, for example.
+<li> <em>Normal</em> - occupies part of the status bar and may be hidden
+by temporary messages. Used to display the page and line
+number in a word processor, for example.
+<li> <em>Permanent</em> - is never hidden. Used for important mode
+indications, for example, some applications put a Caps Lock
+indicator in the status bar.
+</ul>
+<p> QStatusBar lets you display all three types of indicators.
+<p> To display a <em>temporary</em> message, call <a href="#message">message</a>() (perhaps by
+connecting a suitable signal to it). To remove a temporary
+message, call <a href="#clear">clear</a>(). There are two variants of message(): one
+that displays the message until the next clear() or message() and
+one that has a time limit:
+<p> <pre>
+ <a href="qobject.html#connect">connect</a>( loader, SIGNAL(progressMessage(const <a href="qstring.html">QString</a>&amp;)),
+ statusBar(), SLOT(<a href="#message">message</a>(const <a href="qstring.html">QString</a>&amp;)) );
+
+ statusBar()-&gt;message("Loading..."); // Initial message
+ loader.loadStuff(); // Emits progress messages
+ statusBar()-&gt;message("Done.", 2000); // Final message for 2 seconds
+ </pre>
+
+<p> <em>Normal</em> and <em>Permanent</em> messages are displayed by creating a
+small widget and then adding it to the status bar with
+<a href="#addWidget">addWidget</a>(). Widgets like <a href="qlabel.html">QLabel</a>, <a href="qprogressbar.html">QProgressBar</a> or even <a href="qtoolbutton.html">QToolButton</a>
+are useful for adding to status bars. <a href="#removeWidget">removeWidget</a>() is used to
+remove widgets.
+<p> <pre>
+ statusBar()-&gt;addWidget(new MyReadWriteIndication(statusBar()));
+ </pre>
+
+<p> By default QStatusBar provides a <a href="qsizegrip.html">QSizeGrip</a> in the lower-right
+corner. You can disable it with <a href="#setSizeGripEnabled">setSizeGripEnabled</a>(FALSE);
+<p> <img src=qstatusbar-m.png> <img src=qstatusbar-w.png>
+<p> <p>See also <a href="qtoolbar.html">QToolBar</a>, <a href="qmainwindow.html">QMainWindow</a>, <a href="qlabel.html">QLabel</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Status Bar</a>, <a href="application.html">Main Window and Related Classes</a>, and <a href="helpsystem.html">Help System</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStatusBar"></a>QStatusBar::QStatusBar ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a status bar called <em>name</em> with parent <em>parent</em> and
+with a size grip.
+<p> <p>See also <a href="#sizeGripEnabled-prop">sizeGripEnabled</a>.
+
+<h3 class=fn><a name="~QStatusBar"></a>QStatusBar::~QStatusBar ()<tt> [virtual]</tt>
+</h3>
+Destroys the status bar and frees any allocated resources and
+child widgets.
+
+<h3 class=fn>void <a name="addWidget"></a>QStatusBar::addWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, int&nbsp;stretch = 0, bool&nbsp;permanent = FALSE )<tt> [virtual]</tt>
+</h3>
+Adds <em>widget</em> to this status bar. <em>widget</em> is reparented if it
+isn't already a child of the QStatusBar.
+<p> <em>widget</em> is permanently visible if <em>permanent</em> is TRUE and may
+be obscured by temporary messages if <em>permanent</em> is FALSE. The
+default is FALSE.
+<p> If <em>permanent</em> is TRUE, <em>widget</em> is located at the far right of
+the status bar. If <em>permanent</em> is FALSE (the default), <em>widget</em>
+is located just to the left of the first permanent widget.
+<p> <em>stretch</em> is used to compute a suitable size for <em>widget</em> as the
+status bar grows and shrinks. The default of 0 uses a minimum of
+space.
+<p> This function may cause some flicker.
+<p> <p>See also <a href="#removeWidget">removeWidget</a>().
+
+<h3 class=fn>void <a name="clear"></a>QStatusBar::clear ()<tt> [slot]</tt>
+</h3>
+Removes any temporary message being shown.
+<p> <p>See also <a href="#message">message</a>().
+
+<h3 class=fn>void <a name="hideOrShow"></a>QStatusBar::hideOrShow ()<tt> [protected]</tt>
+</h3>
+Ensures that the right widgets are visible. Used by <a href="#message">message</a>() and
+<a href="#clear">clear</a>().
+
+<h3 class=fn>bool <a name="isSizeGripEnabled"></a>QStatusBar::isSizeGripEnabled () const
+</h3><p>Returns TRUE if the <a href="qsizegrip.html">QSizeGrip</a> in the bottom right of the status bar is enabled; otherwise returns FALSE.
+See the <a href="qstatusbar.html#sizeGripEnabled-prop">"sizeGripEnabled"</a> property for details.
+<h3 class=fn>void <a name="message"></a>QStatusBar::message ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;message )<tt> [slot]</tt>
+</h3>
+Hides the normal status indicators and displays <em>message</em> until
+<a href="#clear">clear</a>() or another <a href="#message">message</a>() is called.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<p>Example: <a href="regexptester-example.html#x2494">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="message-2"></a>QStatusBar::message ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;message, int&nbsp;ms )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Hides the normal status indications and displays <em>message</em> for <em>ms</em> milli-seconds or until <a href="#clear">clear</a>() or another <a href="#message">message</a>() is called,
+whichever occurs first.
+
+<h3 class=fn>void <a name="messageChanged"></a>QStatusBar::messageChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;message )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the temporary status messages
+changes. <em>message</em> is the new temporary message, and is a
+null-string when the message has been removed.
+<p> <p>See also <a href="#message">message</a>() and <a href="#clear">clear</a>().
+
+<h3 class=fn>void <a name="paintEvent"></a>QStatusBar::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+Shows the temporary message, if appropriate.
+
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn>void <a name="reformat"></a>QStatusBar::reformat ()<tt> [protected]</tt>
+</h3>
+Changes the status bar's appearance to account for item changes.
+Special subclasses may need this, but geometry management will
+usually take care of any necessary rearrangements.
+
+<h3 class=fn>void <a name="removeWidget"></a>QStatusBar::removeWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual]</tt>
+</h3>
+Removes <em>widget</em> from the status bar.
+<p> This function may cause some flicker.
+<p> Note that <em>widget</em> is not deleted.
+<p> <p>See also <a href="#addWidget">addWidget</a>().
+
+<h3 class=fn>void <a name="setSizeGripEnabled"></a>QStatusBar::setSizeGripEnabled ( bool )
+</h3><p>Sets whether the <a href="qsizegrip.html">QSizeGrip</a> in the bottom right of the status bar is enabled.
+See the <a href="qstatusbar.html#sizeGripEnabled-prop">"sizeGripEnabled"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="sizeGripEnabled-prop"></a>sizeGripEnabled</h3>
+<p>This property holds whether the <a href="qsizegrip.html">QSizeGrip</a> in the bottom right of the status bar is enabled.
+<p>Enables or disables the QSizeGrip in the bottom right of the
+status bar. By default, the size grip is enabled.
+
+<p>Set this property's value with <a href="#setSizeGripEnabled">setSizeGripEnabled</a>() and get this property's value with <a href="#isSizeGripEnabled">isSizeGripEnabled</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstoreddrag-members.html b/doc/html/qstoreddrag-members.html
new file mode 100644
index 0000000..96523bf
--- /dev/null
+++ b/doc/html/qstoreddrag-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:92 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStoredDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStoredDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstoreddrag.html">QStoredDrag</a>, including inherited members.
+
+<ul>
+<li><a href="qstoreddrag.html#QStoredDrag">QStoredDrag</a>()
+<li><a href="qstoreddrag.html#~QStoredDrag">~QStoredDrag</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qstoreddrag.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qstoreddrag.html#setEncodedData">setEncodedData</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstoreddrag.html b/doc/html/qstoreddrag.html
new file mode 100644
index 0000000..98b9483
--- /dev/null
+++ b/doc/html/qstoreddrag.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:1202 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStoredDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStoredDrag Class Reference</h1>
+
+<p>The QStoredDrag class provides a simple stored-value drag object for arbitrary MIME data.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qdragobject.html">QDragObject</a>.
+<p>Inherited by <a href="quridrag.html">QUriDrag</a> and <a href="qcolordrag.html">QColorDrag</a>.
+<p><a href="qstoreddrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStoredDrag"><b>QStoredDrag</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimeType, QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QStoredDrag"><b>~QStoredDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#setEncodedData"><b>setEncodedData</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;encodedData )</li>
+<li class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const&nbsp;char&nbsp;*&nbsp;m ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStoredDrag class provides a simple stored-value drag object for arbitrary MIME data.
+<p>
+<p> When a block of data has only one representation, you can use a
+QStoredDrag to hold it.
+<p> For more information about drag and drop, see the <a href="qdragobject.html">QDragObject</a>
+class and the <a href="dnd.html">drag and drop documentation</a>.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStoredDrag"></a>QStoredDrag::QStoredDrag ( const&nbsp;char&nbsp;*&nbsp;mimeType, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QStoredDrag. The <em>dragSource</em> and <em>name</em> are passed
+to the <a href="qdragobject.html">QDragObject</a> constructor, and the format is set to <em>mimeType</em>.
+<p> The data will be unset. Use <a href="#setEncodedData">setEncodedData</a>() to set it.
+
+<h3 class=fn><a name="~QStoredDrag"></a>QStoredDrag::~QStoredDrag ()
+</h3>
+Destroys the drag object and frees up all allocated resources.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="encodedData"></a>QStoredDrag::encodedData ( const&nbsp;char&nbsp;*&nbsp;m ) const<tt> [virtual]</tt>
+</h3>
+Returns the stored data. <em>m</em> contains the data's format.
+<p> <p>See also <a href="#setEncodedData">setEncodedData</a>().
+
+<p>Reimplemented from <a href="qmimesource.html#encodedData">QMimeSource</a>.
+<h3 class=fn>void <a name="setEncodedData"></a>QStoredDrag::setEncodedData ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;encodedData )<tt> [virtual]</tt>
+</h3>
+Sets the encoded data of this drag object to <em>encodedData</em>. The
+encoded data is what's delivered to the drop sites. It must be in
+a strictly defined and portable format.
+<p> The drag object can't be dropped (by the user) until this function
+has been called.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrilist-members.html b/doc/html/qstrilist-members.html
new file mode 100644
index 0000000..678e5e3
--- /dev/null
+++ b/doc/html/qstrilist-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstrlist.h:78 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrIList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStrIList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstrilist.html">QStrIList</a>, including inherited members.
+
+<ul>
+<li><a href="qstrilist.html#QStrIList">QStrIList</a>()
+<li><a href="qstrilist.html#~QStrIList">~QStrIList</a>()
+<li><a href="qptrlist.html#append">append</a>()
+<li><a href="qptrlist.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrlist.html#clear">clear</a>()
+<li><a href="qptrlist.html#compareItems">compareItems</a>()
+<li><a href="qptrlist.html#contains">contains</a>()
+<li><a href="qptrlist.html#containsRef">containsRef</a>()
+<li><a href="qptrlist.html#count">count</a>()
+<li><a href="qptrlist.html#current">current</a>()
+<li><a href="qptrlist.html#currentNode">currentNode</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrlist.html#find">find</a>()
+<li><a href="qptrlist.html#findNext">findNext</a>()
+<li><a href="qptrlist.html#findNextRef">findNextRef</a>()
+<li><a href="qptrlist.html#findRef">findRef</a>()
+<li><a href="qptrlist.html#first">first</a>()
+<li><a href="qptrlist.html#getFirst">getFirst</a>()
+<li><a href="qptrlist.html#getLast">getLast</a>()
+<li><a href="qptrlist.html#inSort">inSort</a>()
+<li><a href="qptrlist.html#insert">insert</a>()
+<li><a href="qptrlist.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlist.html#last">last</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrlist.html#next">next</a>()
+<li><a href="qptrlist.html#operator!-eq">operator!=</a>()
+<li><a href="qstrlist.html#operator-eq">operator=</a>()
+<li><a href="qptrlist.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrlist.html#prepend">prepend</a>()
+<li><a href="qptrlist.html#prev">prev</a>()
+<li><a href="qptrlist.html#read">read</a>()
+<li><a href="qptrlist.html#remove">remove</a>()
+<li><a href="qptrlist.html#removeFirst">removeFirst</a>()
+<li><a href="qptrlist.html#removeLast">removeLast</a>()
+<li><a href="qptrlist.html#removeNode">removeNode</a>()
+<li><a href="qptrlist.html#removeRef">removeRef</a>()
+<li><a href="qptrlist.html#replace">replace</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrlist.html#sort">sort</a>()
+<li><a href="qptrlist.html#take">take</a>()
+<li><a href="qptrlist.html#takeNode">takeNode</a>()
+<li><a href="qptrlist.html#toVector">toVector</a>()
+<li><a href="qptrlist.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrilist.html b/doc/html/qstrilist.html
new file mode 100644
index 0000000..2c2afe4
--- /dev/null
+++ b/doc/html/qstrilist.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrlist.doc:1125 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrIList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStrIList Class Reference</h1>
+
+<p>The QStrIList class provides a doubly-linked list of char*
+with case-insensitive comparison.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;</tt>
+<p>Inherits <a href="qstrlist.html">QStrList</a>.
+<p><a href="qstrilist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStrIList"><b>QStrIList</b></a> ( bool&nbsp;deepCopies = TRUE )</li>
+<li class=fn><a href="#~QStrIList"><b>~QStrIList</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStrIList class provides a doubly-linked list of char*
+with case-insensitive comparison.
+<p>
+
+<p> This class is a <a href="qptrlist.html">QPtrList</a>&lt;char&gt; instance (a list of char*).
+<p> QStrIList is identical to <a href="qstrlist.html">QStrList</a> except that the virtual
+<a href="qptrlist.html#compareItems">compareItems</a>() function is reimplemented to compare strings
+case-insensitively. The <a href="qptrlist.html#inSort">inSort</a>() function inserts strings in a
+sorted order. In general it is fastest to insert the strings as
+they come and <a href="qptrlist.html#sort">sort</a>() at the end; inSort() is useful when you just
+have to add a few extra strings to an already sorted list.
+<p> The <a href="qstrlistiterator.html">QStrListIterator</a> class works for QStrIList.
+<p> <p>See also <a href="qstringlist.html">QStringList</a>, <a href="collection.html">Collection Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStrIList"></a>QStrIList::QStrIList ( bool&nbsp;deepCopies = TRUE )
+</h3>
+
+<p> Constructs a list of strings. Will make deep copies of all
+inserted strings if <em>deepCopies</em> is TRUE, or use shallow copies
+if <em>deepCopies</em> is FALSE.
+
+<h3 class=fn><a name="~QStrIList"></a>QStrIList::~QStrIList ()
+</h3>
+
+<p> Destroys the list. All strings are removed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstring-h.html b/doc/html/qstring-h.html
new file mode 100644
index 0000000..db9e396
--- /dev/null
+++ b/doc/html/qstring-h.html
@@ -0,0 +1,1160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstring.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstring.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstring.h</h1>
+
+<p>This is the verbatim text of the qstring.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstring.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the QString class, and related Unicode functions.
+**
+** Created : 920609
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTRING_H
+#define QSTRING_H
+
+#ifndef QT_H
+#include "qcstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_CAST_ASCII
+#include &lt;limits.h&gt;
+#endif
+
+#ifndef QT_NO_STL
+#if defined ( Q_CC_MSVC_NET ) &amp;&amp; _MSC_VER &lt; 1310 // Avoids nasty warning for xlocale, line 450
+# pragma warning ( push )
+# pragma warning ( disable : 4189 )
+# include &lt;string&gt;
+# pragma warning ( pop )
+#else
+# include &lt;string&gt;
+#endif
+#if defined(Q_WRONG_SB_CTYPE_MACROS) &amp;&amp; defined(_SB_CTYPE_MACROS)
+#undef _SB_CTYPE_MACROS
+#endif
+#endif
+
+
+/*****************************************************************************
+ QString class
+ *****************************************************************************/
+
+class QRegExp;
+class QString;
+class QCharRef;
+template &lt;class T&gt; class QDeepCopy;
+
+class Q_EXPORT QChar {
+public:
+ QChar();
+ QChar( char c );
+ QChar( uchar c );
+ QChar( uchar c, uchar r );
+ QChar( const QChar&amp; c ); // ### remove in 4.0 to allow compiler optimization
+ QChar( ushort rc );
+ QChar( short rc );
+ QChar( uint rc );
+ QChar( int rc );
+
+ QT_STATIC_CONST QChar null; // 0000
+ QT_STATIC_CONST QChar replacement; // FFFD
+ QT_STATIC_CONST QChar byteOrderMark; // FEFF
+ QT_STATIC_CONST QChar byteOrderSwapped; // FFFE
+ QT_STATIC_CONST QChar nbsp; // 00A0
+
+ // Unicode information
+
+ enum Category
+ {
+ NoCategory,
+
+ Mark_NonSpacing, // Mn
+ Mark_SpacingCombining, // Mc
+ Mark_Enclosing, // Me
+
+ Number_DecimalDigit, // Nd
+ Number_Letter, // Nl
+ Number_Other, // No
+
+ Separator_Space, // Zs
+ Separator_Line, // Zl
+ Separator_Paragraph, // Zp
+
+ Other_Control, // Cc
+ Other_Format, // Cf
+ Other_Surrogate, // Cs
+ Other_PrivateUse, // Co
+ Other_NotAssigned, // Cn
+
+ Letter_Uppercase, // Lu
+ Letter_Lowercase, // Ll
+ Letter_Titlecase, // Lt
+ Letter_Modifier, // Lm
+ Letter_Other, // Lo
+
+ Punctuation_Connector, // Pc
+ Punctuation_Dash, // Pd
+ Punctuation_Dask = Punctuation_Dash, // oops
+ Punctuation_Open, // Ps
+ Punctuation_Close, // Pe
+ Punctuation_InitialQuote, // Pi
+ Punctuation_FinalQuote, // Pf
+ Punctuation_Other, // Po
+
+ Symbol_Math, // Sm
+ Symbol_Currency, // Sc
+ Symbol_Modifier, // Sk
+ Symbol_Other // So
+ };
+
+ enum Direction
+ {
+ DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
+ DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN
+ };
+
+ enum Decomposition
+ {
+ Single, Canonical, Font, NoBreak, Initial, Medial,
+ Final, Isolated, Circle, Super, Sub, Vertical,
+ Wide, Narrow, Small, Square, Compat, Fraction
+ };
+
+ enum Joining
+ {
+ OtherJoining, Dual, Right, Center
+ };
+
+ enum CombiningClass
+ {
+ Combining_BelowLeftAttached = 200,
+ Combining_BelowAttached = 202,
+ Combining_BelowRightAttached = 204,
+ Combining_LeftAttached = 208,
+ Combining_RightAttached = 210,
+ Combining_AboveLeftAttached = 212,
+ Combining_AboveAttached = 214,
+ Combining_AboveRightAttached = 216,
+
+ Combining_BelowLeft = 218,
+ Combining_Below = 220,
+ Combining_BelowRight = 222,
+ Combining_Left = 224,
+ Combining_Right = 226,
+ Combining_AboveLeft = 228,
+ Combining_Above = 230,
+ Combining_AboveRight = 232,
+
+ Combining_DoubleBelow = 233,
+ Combining_DoubleAbove = 234,
+ Combining_IotaSubscript = 240
+ };
+
+ // ****** WHEN ADDING FUNCTIONS, CONSIDER ADDING TO QCharRef TOO
+
+ int digitValue() const;
+ QChar lower() const;
+ QChar upper() const;
+
+ Category category() const;
+ Direction direction() const;
+ Joining joining() const;
+ bool mirrored() const;
+ QChar mirroredChar() const;
+ const QString &amp;decomposition() const; // ### return just QString in 4.0
+ Decomposition decompositionTag() const;
+ unsigned char combiningClass() const;
+
+ char latin1() const { return ucs &gt; 0xff ? 0 : (char) ucs; }
+ ushort unicode() const { return ucs; }
+#ifdef Q_NO_PACKED_REFERENCE
+ ushort &amp;unicode() { return *(&amp;ucs); }
+#else
+ ushort &amp;unicode() { return ucs; }
+#endif
+#ifndef QT_NO_CAST_ASCII
+ // like all ifdef'd code this is undocumented
+ operator char() const { return latin1(); }
+#endif
+
+ bool isNull() const { return unicode()==0; }
+ bool isPrint() const;
+ bool isPunct() const;
+ bool isSpace() const;
+ bool isMark() const;
+ bool isLetter() const;
+ bool isNumber() const;
+ bool isLetterOrNumber() const;
+ bool isDigit() const;
+ bool isSymbol() const;
+
+ uchar cell() const { return ((uchar) ucs &amp; 0xff); }
+ uchar row() const { return ((uchar) (ucs&gt;&gt;8)&amp;0xff); }
+ void setCell( uchar cell ) { ucs = (ucs &amp; 0xff00) + cell; }
+ void setRow( uchar row ) { ucs = (((ushort) row)&lt;&lt;8) + (ucs&amp;0xff); }
+
+ static bool networkOrdered() {
+ int wordSize;
+ bool bigEndian = FALSE;
+ qSysInfo( &amp;wordSize, &amp;bigEndian );
+ return bigEndian;
+ }
+
+ friend inline bool operator==( char ch, QChar c );
+ friend inline bool operator==( QChar c, char ch );
+ friend inline bool operator==( QChar c1, QChar c2 );
+ friend inline bool operator!=( QChar c1, QChar c2 );
+ friend inline bool operator!=( char ch, QChar c );
+ friend inline bool operator!=( QChar c, char ch );
+ friend inline bool operator&lt;=( QChar c, char ch );
+ friend inline bool operator&lt;=( char ch, QChar c );
+ friend inline bool operator&lt;=( QChar c1, QChar c2 );
+
+private:
+ ushort ucs;
+#if defined(QT_QSTRING_UCS_4)
+ ushort grp;
+#endif
+} Q_PACKED;
+
+inline QChar::QChar() : ucs( 0 )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( char c ) : ucs( (uchar)c )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( uchar c ) : ucs( c )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( uchar c, uchar r ) : ucs( (r &lt;&lt; 8) | c )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( const QChar&amp; c ) : ucs( c.ucs )
+#ifdef QT_QSTRING_UCS_4
+ , grp( c.grp )
+#endif
+{
+}
+
+inline QChar::QChar( ushort rc ) : ucs( rc )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( short rc ) : ucs( (ushort) rc )
+#ifdef QT_QSTRING_UCS_4
+ , grp( 0 )
+#endif
+{
+}
+inline QChar::QChar( uint rc ) : ucs( (ushort ) (rc &amp; 0xffff) )
+#ifdef QT_QSTRING_UCS_4
+ , grp( (ushort) ((rc &gt;&gt; 16) &amp; 0xffff) )
+#endif
+{
+}
+inline QChar::QChar( int rc ) : ucs( (ushort) (rc &amp; 0xffff) )
+#ifdef QT_QSTRING_UCS_4
+ , grp( (ushort) ((rc &gt;&gt; 16) &amp; 0xffff) )
+#endif
+{
+}
+
+inline bool operator==( char ch, QChar c )
+{
+ return ((uchar) ch) == c.ucs;
+}
+
+inline bool operator==( QChar c, char ch )
+{
+ return ((uchar) ch) == c.ucs;
+}
+
+inline bool operator==( QChar c1, QChar c2 )
+{
+ return c1.ucs == c2.ucs;
+}
+
+inline bool operator!=( QChar c1, QChar c2 )
+{
+ return c1.ucs != c2.ucs;
+}
+
+inline bool operator!=( char ch, QChar c )
+{
+ return ((uchar)ch) != c.ucs;
+}
+
+inline bool operator!=( QChar c, char ch )
+{
+ return ((uchar) ch) != c.ucs;
+}
+
+inline bool operator&lt;=( QChar c, char ch )
+{
+ return c.ucs &lt;= ((uchar) ch);
+}
+
+inline bool operator&lt;=( char ch, QChar c )
+{
+ return ((uchar) ch) &lt;= c.ucs;
+}
+
+inline bool operator&lt;=( QChar c1, QChar c2 )
+{
+ return c1.ucs &lt;= c2.ucs;
+}
+
+inline bool operator&gt;=( QChar c, char ch ) { return ch &lt;= c; }
+inline bool operator&gt;=( char ch, QChar c ) { return c &lt;= ch; }
+inline bool operator&gt;=( QChar c1, QChar c2 ) { return c2 &lt;= c1; }
+inline bool operator&lt;( QChar c, char ch ) { return !(ch&lt;=c); }
+inline bool operator&lt;( char ch, QChar c ) { return !(c&lt;=ch); }
+inline bool operator&lt;( QChar c1, QChar c2 ) { return !(c2&lt;=c1); }
+inline bool operator&gt;( QChar c, char ch ) { return !(ch&gt;=c); }
+inline bool operator&gt;( char ch, QChar c ) { return !(c&gt;=ch); }
+inline bool operator&gt;( QChar c1, QChar c2 ) { return !(c2&gt;=c1); }
+
+// internal
+struct Q_EXPORT QStringData : public QShared {
+ QStringData() :
+ QShared(), unicode(0), ascii(0), len(0), issimpletext(TRUE), maxl(0), islatin1(FALSE) { ref(); }
+ QStringData(QChar *u, uint l, uint m) :
+ QShared(), unicode(u), ascii(0), len(l), issimpletext(FALSE), maxl(m), islatin1(FALSE) { }
+ ~QStringData() { if ( unicode ) delete[] ((char*)unicode);
+ if ( ascii ) delete[] ascii; }
+
+ void deleteSelf();
+ QChar *unicode;
+ char *ascii;
+ void setDirty() {
+ if ( ascii ) {
+ delete [] ascii;
+ ascii = 0;
+ }
+ issimpletext = FALSE;
+ }
+#ifdef Q_OS_MAC9
+ uint len;
+#else
+ uint len : 30;
+#endif
+ uint issimpletext : 1;
+#ifdef Q_OS_MAC9
+ uint maxl;
+#else
+ uint maxl : 30;
+#endif
+ uint islatin1 : 1;
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QStringData( const QStringData&amp; );
+ QStringData&amp; operator=( const QStringData&amp; );
+#endif
+};
+
+
+class Q_EXPORT QString
+{
+public:
+ QString(); // make null string
+ QString( QChar ); // one-char string
+ QString( const QString &amp; ); // impl-shared copy
+ QString( const QByteArray&amp; ); // deep copy
+ QString( const QChar* unicode, uint length ); // deep copy
+#ifndef QT_NO_CAST_ASCII
+ QString( const char *str ); // deep copy
+#endif
+#ifndef QT_NO_STL
+ QString( const std::string&amp; ); // deep copy
+#endif
+ ~QString();
+
+ QString &amp;operator=( const QString &amp; ); // impl-shared copy
+ QString &amp;operator=( const char * ); // deep copy
+#ifndef QT_NO_STL
+ QString &amp;operator=( const std::string&amp; ); // deep copy
+#endif
+ QString &amp;operator=( const QCString&amp; ); // deep copy
+ QString &amp;operator=( QChar c );
+ QString &amp;operator=( char c );
+
+ QT_STATIC_CONST QString null;
+
+ bool isNull() const;
+ bool isEmpty() const;
+ uint length() const;
+ void truncate( uint pos );
+
+ QString &amp; fill( QChar c, int len = -1 );
+
+ QString copy() const;
+
+ QString arg( long a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( ulong a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( Q_LLONG a, int fieldwidth=0, int base=10 ) const;
+ QString arg( Q_ULLONG a, int fieldwidth=0, int base=10 ) const;
+ QString arg( int a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( uint a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( short a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( ushort a, int fieldWidth = 0, int base = 10 ) const;
+ QString arg( double a, int fieldWidth = 0, char fmt = 'g',
+ int prec = -1 ) const;
+ QString arg( char a, int fieldWidth = 0 ) const;
+ QString arg( QChar a, int fieldWidth = 0 ) const;
+ QString arg( const QString&amp; a, int fieldWidth = 0 ) const;
+ QString arg( const QString&amp; a1, const QString&amp; a2 ) const;
+ QString arg( const QString&amp; a1, const QString&amp; a2,
+ const QString&amp; a3 ) const;
+ QString arg( const QString&amp; a1, const QString&amp; a2, const QString&amp; a3,
+ const QString&amp; a4 ) const;
+
+#ifndef QT_NO_SPRINTF
+ QString &amp;sprintf( const char* format, ... )
+#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
+ __attribute__ ((format (printf, 2, 3)))
+#endif
+ ;
+#endif
+
+ int find( QChar c, int index=0, bool cs=TRUE ) const;
+ int find( char c, int index=0, bool cs=TRUE ) const;
+ int find( const QString &amp;str, int index=0, bool cs=TRUE ) const;
+#ifndef QT_NO_REGEXP
+ int find( const QRegExp &amp;, int index=0 ) const;
+#endif
+#ifndef QT_NO_CAST_ASCII
+ int find( const char* str, int index=0 ) const;
+#endif
+ int findRev( QChar c, int index=-1, bool cs=TRUE) const;
+ int findRev( char c, int index=-1, bool cs=TRUE) const;
+ int findRev( const QString &amp;str, int index=-1, bool cs=TRUE) const;
+#ifndef QT_NO_REGEXP
+ int findRev( const QRegExp &amp;, int index=-1 ) const;
+#endif
+#ifndef QT_NO_CAST_ASCII
+ int findRev( const char* str, int index=-1 ) const;
+#endif
+ int contains( QChar c, bool cs=TRUE ) const;
+ int contains( char c, bool cs=TRUE ) const
+ { return contains(QChar(c), cs); }
+#ifndef QT_NO_CAST_ASCII
+ int contains( const char* str, bool cs=TRUE ) const;
+#endif
+ int contains( const QString &amp;str, bool cs=TRUE ) const;
+#ifndef QT_NO_REGEXP
+ int contains( const QRegExp &amp; ) const;
+#endif
+
+ enum SectionFlags {
+ SectionDefault = 0x00,
+ SectionSkipEmpty = 0x01,
+ SectionIncludeLeadingSep = 0x02,
+ SectionIncludeTrailingSep = 0x04,
+ SectionCaseInsensitiveSeps = 0x08
+ };
+ QString section( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
+ QString section( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
+#ifndef QT_NO_CAST_ASCII
+ QString section( const char *in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
+#endif
+ QString section( const QString &amp;in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
+#ifndef QT_NO_REGEXP
+ QString section( const QRegExp &amp;reg, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
+#endif
+
+ QString left( uint len ) const;
+ QString right( uint len ) const;
+ QString mid( uint index, uint len=0xffffffff) const;
+
+ QString leftJustify( uint width, QChar fill=' ', bool trunc=FALSE)const;
+ QString rightJustify( uint width, QChar fill=' ',bool trunc=FALSE)const;
+
+ QString lower() const;
+ QString upper() const;
+
+ QString stripWhiteSpace() const;
+ QString simplifyWhiteSpace() const;
+
+ QString &amp;insert( uint index, const QString &amp; );
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;insert( uint index, const QByteArray &amp; );
+ QString &amp;insert( uint index, const char * );
+#endif
+ QString &amp;insert( uint index, const QChar*, uint len );
+ QString &amp;insert( uint index, QChar );
+ QString &amp;insert( uint index, char c ) { return insert(index,QChar(c)); }
+ QString &amp;append( char );
+ QString &amp;append( QChar );
+ QString &amp;append( const QString &amp; );
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;append( const QByteArray &amp; );
+ QString &amp;append( const char * );
+#endif
+#if !defined(QT_NO_STL) &amp;&amp; !defined(QT_NO_CAST_ASCII)
+ QString &amp;append( const std::string&amp; );
+#endif
+ QString &amp;prepend( char );
+ QString &amp;prepend( QChar );
+ QString &amp;prepend( const QString &amp; );
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;prepend( const QByteArray &amp; );
+ QString &amp;prepend( const char * );
+#endif
+#if !defined(QT_NO_STL) &amp;&amp; !defined(QT_NO_CAST_ASCII)
+ QString &amp;prepend( const std::string&amp; );
+#endif
+ QString &amp;remove( uint index, uint len );
+#if defined(Q_QDOC)
+ QString &amp;remove( const QString &amp; str, bool cs = TRUE );
+#else
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ QString &amp;remove( const QString &amp; );
+ QString &amp;remove( const QString &amp;, bool cs );
+#endif
+ QString &amp;remove( QChar c );
+ QString &amp;remove( char c )
+ { return remove( QChar(c) ); }
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;remove( const char * );
+#endif
+#ifndef QT_NO_REGEXP
+ QString &amp;remove( const QRegExp &amp; );
+#endif
+ QString &amp;replace( uint index, uint len, const QString &amp; );
+ QString &amp;replace( uint index, uint len, const QChar*, uint clen );
+ QString &amp;replace( uint index, uint len, QChar );
+ QString &amp;replace( uint index, uint len, char c )
+ { return replace( index, len, QChar(c) ); }
+#if defined(Q_QDOC)
+ QString &amp;replace( QChar c, const QString &amp; after, bool cs = TRUE );
+ QString &amp;replace( char c, const QString &amp; after, bool cs = TRUE );
+ QString &amp;replace( const QString &amp; before, const QString &amp; after,
+ bool cs = TRUE );
+#else
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ QString &amp;replace( QChar c, const QString &amp; );
+ QString &amp;replace( QChar c, const QString &amp;, bool );
+
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ QString &amp;replace( char c, const QString &amp; after )
+ { return replace( QChar(c), after, TRUE ); }
+ QString &amp;replace( char c, const QString &amp; after, bool cs )
+ { return replace( QChar(c), after, cs ); }
+
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ QString &amp;replace( const QString &amp;, const QString &amp; );
+ QString &amp;replace( const QString &amp;, const QString &amp;, bool );
+#endif
+#ifndef QT_NO_REGEXP_CAPTURE
+ QString &amp;replace( const QRegExp &amp;, const QString &amp; );
+#endif
+ QString &amp;replace( QChar, QChar );
+
+ short toShort( bool *ok=0, int base=10 ) const;
+ ushort toUShort( bool *ok=0, int base=10 ) const;
+ int toInt( bool *ok=0, int base=10 ) const;
+ uint toUInt( bool *ok=0, int base=10 ) const;
+ long toLong( bool *ok=0, int base=10 ) const;
+ ulong toULong( bool *ok=0, int base=10 ) const;
+ Q_LLONG toLongLong( bool *ok=0, int base=10 ) const;
+ Q_ULLONG toULongLong( bool *ok=0, int base=10 ) const;
+ float toFloat( bool *ok=0 ) const;
+ double toDouble( bool *ok=0 ) const;
+
+ QString &amp;setNum( short, int base=10 );
+ QString &amp;setNum( ushort, int base=10 );
+ QString &amp;setNum( int, int base=10 );
+ QString &amp;setNum( uint, int base=10 );
+ QString &amp;setNum( long, int base=10 );
+ QString &amp;setNum( ulong, int base=10 );
+ QString &amp;setNum( Q_LLONG, int base=10 );
+ QString &amp;setNum( Q_ULLONG, int base=10 );
+ QString &amp;setNum( float, char f='g', int prec=6 );
+ QString &amp;setNum( double, char f='g', int prec=6 );
+
+ static QString number( long, int base=10 );
+ static QString number( ulong, int base=10);
+ static QString number( Q_LLONG, int base=10 );
+ static QString number( Q_ULLONG, int base=10);
+ static QString number( int, int base=10 );
+ static QString number( uint, int base=10);
+ static QString number( double, char f='g', int prec=6 );
+
+ void setExpand( uint index, QChar c );
+
+ QString &amp;operator+=( const QString &amp;str );
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;operator+=( const QByteArray &amp;str );
+ QString &amp;operator+=( const char *str );
+#endif
+#if !defined(QT_NO_STL) &amp;&amp; !defined(QT_NO_CAST_ASCII)
+ QString &amp;operator+=( const std::string&amp; );
+#endif
+ QString &amp;operator+=( QChar c );
+ QString &amp;operator+=( char c );
+
+ QChar at( uint i ) const
+ { return i &lt; d-&gt;len ? d-&gt;unicode[i] : QChar::null; }
+ QChar operator[]( int i ) const { return at((uint)i); }
+ QCharRef at( uint i );
+ QCharRef operator[]( int i );
+
+ QChar constref(uint i) const
+ { return at(i); }
+ QChar&amp; ref(uint i)
+ { // Optimized for easy-inlining by simple compilers.
+ if ( d-&gt;count != 1 || i &gt;= d-&gt;len )
+ subat( i );
+ d-&gt;setDirty();
+ return d-&gt;unicode[i];
+ }
+
+ const QChar* unicode() const { return d-&gt;unicode; }
+ const char* ascii() const;
+ static QString fromAscii(const char*, int len=-1);
+ const char* latin1() const;
+ static QString fromLatin1(const char*, int len=-1);
+ QCString utf8() const;
+ static QString fromUtf8(const char*, int len=-1);
+ QCString local8Bit() const;
+ static QString fromLocal8Bit(const char*, int len=-1);
+ bool operator!() const;
+#ifndef QT_NO_ASCII_CAST
+ operator const char *() const { return ascii(); }
+#endif
+#ifndef QT_NO_STL
+ operator std::string() const { return ascii() ? ascii() : ""; }
+#endif
+
+ static QString fromUcs2( const unsigned short *ucs2 );
+ const unsigned short *ucs2() const;
+
+ QString &amp;setUnicode( const QChar* unicode, uint len );
+ QString &amp;setUnicodeCodes( const ushort* unicode_as_ushorts, uint len );
+ QString &amp;setAscii( const char*, int len=-1 );
+ QString &amp;setLatin1( const char*, int len=-1 );
+
+ int compare( const QString&amp; s ) const;
+ static int compare( const QString&amp; s1, const QString&amp; s2 )
+ { return s1.compare( s2 ); }
+
+ int localeAwareCompare( const QString&amp; s ) const;
+ static int localeAwareCompare( const QString&amp; s1, const QString&amp; s2 )
+ { return s1.localeAwareCompare( s2 ); }
+
+#ifndef QT_NO_DATASTREAM
+ friend Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QString &amp; );
+#endif
+
+ void compose();
+
+#ifndef QT_NO_COMPAT
+ const char* data() const { return ascii(); }
+#endif
+
+#if defined(Q_QDOC)
+ bool startsWith( const QString&amp; str, bool cs = TRUE ) const;
+ bool endsWith( const QString&amp; str, bool cs = TRUE ) const;
+#else
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ bool startsWith( const QString&amp; str ) const;
+ bool startsWith( const QString&amp; str, bool cs ) const;
+
+ // ### Qt 4.0: merge these two into one, and remove Q_QDOC hack
+ bool endsWith( const QString&amp; str ) const;
+ bool endsWith( const QString&amp; str, bool cs ) const;
+#endif
+
+ void setLength( uint newLength );
+
+ uint capacity() const;
+ void reserve( uint minCapacity );
+ void squeeze();
+
+ bool simpleText() const { if ( !d-&gt;issimpletext ) checkSimpleText(); return (bool)d-&gt;issimpletext; }
+ bool isRightToLeft() const;
+
+
+private:
+ QString( int size, bool /* dummy */ ); // allocate size incl. \0
+
+ void deref();
+ void real_detach();
+ void subat( uint );
+ QString multiArg( int numArgs, const QString&amp; a1, const QString&amp; a2,
+ const QString&amp; a3 = QString::null,
+ const QString&amp; a4 = QString::null ) const;
+
+ void checkSimpleText() const;
+ void grow( uint newLength );
+#ifndef QT_NO_CAST_ASCII
+ QString &amp;insertHelper( uint index, const char *s, uint len=UINT_MAX );
+ QString &amp;operatorPlusEqHelper( const char *s, uint len2=UINT_MAX );
+#endif
+
+ static QChar* latin1ToUnicode( const char*, uint * len, uint maxlen=(uint)-1 );
+ static QChar* latin1ToUnicode( const QByteArray&amp;, uint * len );
+ static char* unicodeToLatin1( const QChar*, uint len );
+
+ QStringData *d;
+ static QStringData* shared_null;
+ static QStringData* makeSharedNull();
+
+ friend class QConstString;
+ friend class QTextStream;
+ QString( QStringData* dd, bool /* dummy */ ) : d(dd) { }
+
+ // needed for QDeepCopy
+ void detach();
+ friend class QDeepCopy&lt;QString&gt;;
+};
+
+class Q_EXPORT QCharRef {
+ friend class QString;
+ QString&amp; s;
+ uint p;
+ QCharRef(QString* str, uint pos) : s(*str), p(pos) { }
+
+public:
+ // most QChar operations repeated here
+
+ // all this is not documented: We just say "like QChar" and let it be.
+#ifndef Q_QDOC
+ ushort unicode() const { return s.constref(p).unicode(); }
+ char latin1() const { return s.constref(p).latin1(); }
+
+ // An operator= for each QChar cast constructors
+ QCharRef operator=(char c ) { s.ref(p)=c; return *this; }
+ QCharRef operator=(uchar c ) { s.ref(p)=c; return *this; }
+ QCharRef operator=(QChar c ) { s.ref(p)=c; return *this; }
+ QCharRef operator=(const QCharRef&amp; c ) { s.ref(p)=c.unicode(); return *this; }
+ QCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; }
+ QCharRef operator=(short rc ) { s.ref(p)=rc; return *this; }
+ QCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; }
+ QCharRef operator=(int rc ) { s.ref(p)=rc; return *this; }
+
+ operator QChar () const { return s.constref(p); }
+
+ // each function...
+ bool isNull() const { return unicode()==0; }
+ bool isPrint() const { return s.constref(p).isPrint(); }
+ bool isPunct() const { return s.constref(p).isPunct(); }
+ bool isSpace() const { return s.constref(p).isSpace(); }
+ bool isMark() const { return s.constref(p).isMark(); }
+ bool isLetter() const { return s.constref(p).isLetter(); }
+ bool isNumber() const { return s.constref(p).isNumber(); }
+ bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); }
+ bool isDigit() const { return s.constref(p).isDigit(); }
+
+ int digitValue() const { return s.constref(p).digitValue(); }
+ QChar lower() const { return s.constref(p).lower(); }
+ QChar upper() const { return s.constref(p).upper(); }
+
+ QChar::Category category() const { return s.constref(p).category(); }
+ QChar::Direction direction() const { return s.constref(p).direction(); }
+ QChar::Joining joining() const { return s.constref(p).joining(); }
+ bool mirrored() const { return s.constref(p).mirrored(); }
+ QChar mirroredChar() const { return s.constref(p).mirroredChar(); }
+ const QString &amp;decomposition() const { return s.constref(p).decomposition(); }
+ QChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); }
+ unsigned char combiningClass() const { return s.constref(p).combiningClass(); }
+
+ // Not the non-const ones of these.
+ uchar cell() const { return s.constref(p).cell(); }
+ uchar row() const { return s.constref(p).row(); }
+#endif
+};
+
+inline QCharRef QString::at( uint i ) { return QCharRef(this,i); }
+inline QCharRef QString::operator[]( int i ) { return at((uint)i); }
+
+
+class Q_EXPORT QConstString : private QString {
+public:
+ QConstString( const QChar* unicode, uint length );
+ ~QConstString();
+ const QString&amp; string() const { return *this; }
+};
+
+
+/*****************************************************************************
+ QString stream functions
+ *****************************************************************************/
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QString &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QString &amp; );
+#endif
+
+/*****************************************************************************
+ QString inline functions
+ *****************************************************************************/
+
+// These two move code into makeSharedNull() and deletesData()
+// to improve cache-coherence (and reduce code bloat), while
+// keeping the common cases fast.
+//
+// No safe way to pre-init shared_null on ALL compilers/linkers.
+inline QString::QString() :
+ d(shared_null ? shared_null : makeSharedNull())
+{
+ d-&gt;ref();
+}
+//
+inline QString::~QString()
+{
+ if ( d-&gt;deref() ) {
+ if ( d != shared_null )
+ d-&gt;deleteSelf();
+ }
+}
+
+// needed for QDeepCopy
+inline void QString::detach()
+{ real_detach(); }
+
+inline QString QString::section( QChar sep, int start, int end, int flags ) const
+{ return section(QString(sep), start, end, flags); }
+
+inline QString QString::section( char sep, int start, int end, int flags ) const
+{ return section(QChar(sep), start, end, flags); }
+
+#ifndef QT_NO_CAST_ASCII
+inline QString QString::section( const char *in_sep, int start, int end, int flags ) const
+{ return section(QString(in_sep), start, end, flags); }
+#endif
+
+inline QString &amp;QString::operator=( QChar c )
+{ *this = QString(c); return *this; }
+
+inline QString &amp;QString::operator=( char c )
+{ *this = QString(QChar(c)); return *this; }
+
+inline bool QString::isNull() const
+{ return unicode() == 0; }
+
+inline bool QString::operator!() const
+{ return isNull(); }
+
+inline uint QString::length() const
+{ return d-&gt;len; }
+
+inline uint QString::capacity() const
+{ return d-&gt;maxl; }
+
+inline bool QString::isEmpty() const
+{ return length() == 0; }
+
+inline QString QString::copy() const
+{ return QString( *this ); }
+
+#ifndef QT_NO_CAST_ASCII
+inline QString &amp;QString::insert( uint index, const char *s )
+{ return insertHelper( index, s ); }
+
+inline QString &amp;QString::insert( uint index, const QByteArray &amp;s )
+{
+ int pos = s.find( 0 );
+ return insertHelper( index, s, pos==-1 ? s.size() : pos );
+}
+#endif
+
+inline QString &amp;QString::prepend( const QString &amp; s )
+{ return insert(0,s); }
+
+inline QString &amp;QString::prepend( QChar c )
+{ return insert(0,c); }
+
+inline QString &amp;QString::prepend( char c )
+{ return insert(0,c); }
+
+#ifndef QT_NO_CAST_ASCII
+inline QString &amp;QString::prepend( const QByteArray &amp; s )
+{ return insert(0,s); }
+#endif
+
+#ifndef QT_NO_CAST_ASCII
+inline QString &amp;QString::operator+=( const QByteArray &amp;s )
+{
+ int pos = s.find( 0 );
+ return operatorPlusEqHelper( s, pos==-1 ? s.size() : pos );
+}
+#endif
+
+inline QString &amp;QString::append( const QString &amp; s )
+{ return operator+=(s); }
+
+#ifndef QT_NO_CAST_ASCII
+inline QString &amp;QString::append( const QByteArray &amp;s )
+{ return operator+=(s); }
+
+inline QString &amp;QString::append( const char * s )
+{ return operator+=(s); }
+#endif
+
+inline QString &amp;QString::append( QChar c )
+{ return operator+=(c); }
+
+inline QString &amp;QString::append( char c )
+{ return operator+=(c); }
+
+#ifndef QT_NO_STL
+inline QString &amp;QString::operator=( const std::string&amp; str )
+{ return operator=(str.c_str()); }
+#ifndef QT_NO_CAST_ASCII
+inline QString &amp;QString::operator+=( const std::string&amp; s )
+{ return operator+=(s.c_str()); }
+inline QString &amp;QString::append( const std::string&amp; s )
+{ return operator+=(s); }
+inline QString &amp;QString::prepend( const std::string&amp; s )
+{ return insert(0, s); }
+#endif
+#endif
+
+inline QString &amp;QString::setNum( short n, int base )
+{ return setNum((Q_LLONG)n, base); }
+
+inline QString &amp;QString::setNum( ushort n, int base )
+{ return setNum((Q_ULLONG)n, base); }
+
+inline QString &amp;QString::setNum( int n, int base )
+{ return setNum((Q_LLONG)n, base); }
+
+inline QString &amp;QString::setNum( uint n, int base )
+{ return setNum((Q_ULLONG)n, base); }
+
+inline QString &amp;QString::setNum( float n, char f, int prec )
+{ return setNum((double)n,f,prec); }
+
+inline QString QString::arg( int a, int fieldWidth, int base ) const
+{ return arg( (Q_LLONG)a, fieldWidth, base ); }
+
+inline QString QString::arg( uint a, int fieldWidth, int base ) const
+{ return arg( (Q_ULLONG)a, fieldWidth, base ); }
+
+inline QString QString::arg( short a, int fieldWidth, int base ) const
+{ return arg( (Q_LLONG)a, fieldWidth, base ); }
+
+inline QString QString::arg( ushort a, int fieldWidth, int base ) const
+{ return arg( (Q_ULLONG)a, fieldWidth, base ); }
+
+inline QString QString::arg( const QString&amp; a1, const QString&amp; a2 ) const {
+ return multiArg( 2, a1, a2 );
+}
+
+inline QString QString::arg( const QString&amp; a1, const QString&amp; a2,
+ const QString&amp; a3 ) const {
+ return multiArg( 3, a1, a2, a3 );
+}
+
+inline QString QString::arg( const QString&amp; a1, const QString&amp; a2,
+ const QString&amp; a3, const QString&amp; a4 ) const {
+ return multiArg( 4, a1, a2, a3, a4 );
+}
+
+inline int QString::find( char c, int index, bool cs ) const
+{ return find(QChar(c), index, cs); }
+
+inline int QString::findRev( char c, int index, bool cs ) const
+{ return findRev( QChar(c), index, cs ); }
+
+#ifndef QT_NO_CAST_ASCII
+inline int QString::find( const char* str, int index ) const
+{ return find(QString::fromAscii(str), index); }
+
+inline int QString::findRev( const char* str, int index ) const
+{ return findRev(QString::fromAscii(str), index); }
+#endif
+
+
+/*****************************************************************************
+ QString non-member operators
+ *****************************************************************************/
+
+Q_EXPORT bool operator!=( const QString &amp;s1, const QString &amp;s2 );
+Q_EXPORT bool operator&lt;( const QString &amp;s1, const QString &amp;s2 );
+Q_EXPORT bool operator&lt;=( const QString &amp;s1, const QString &amp;s2 );
+Q_EXPORT bool operator==( const QString &amp;s1, const QString &amp;s2 );
+Q_EXPORT bool operator&gt;( const QString &amp;s1, const QString &amp;s2 );
+Q_EXPORT bool operator&gt;=( const QString &amp;s1, const QString &amp;s2 );
+#ifndef QT_NO_CAST_ASCII
+Q_EXPORT bool operator!=( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator&lt;( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator&lt;=( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator==( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator&gt;( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator&gt;=( const QString &amp;s1, const char *s2 );
+Q_EXPORT bool operator!=( const char *s1, const QString &amp;s2 );
+Q_EXPORT bool operator&lt;( const char *s1, const QString &amp;s2 );
+Q_EXPORT bool operator&lt;=( const char *s1, const QString &amp;s2 );
+Q_EXPORT bool operator==( const char *s1, const QString &amp;s2 );
+//Q_EXPORT bool operator&gt;( const char *s1, const QString &amp;s2 ); // MSVC++
+Q_EXPORT bool operator&gt;=( const char *s1, const QString &amp;s2 );
+#endif
+
+Q_EXPORT inline const QString operator+( const QString &amp;s1, const QString &amp;s2 )
+{
+ QString tmp( s1 );
+ tmp += s2;
+ return tmp;
+}
+
+#ifndef QT_NO_CAST_ASCII
+Q_EXPORT inline const QString operator+( const QString &amp;s1, const char *s2 )
+{
+ QString tmp( s1 );
+ tmp += QString::fromAscii(s2);
+ return tmp;
+}
+
+Q_EXPORT inline const QString operator+( const char *s1, const QString &amp;s2 )
+{
+ QString tmp = QString::fromAscii( s1 );
+ tmp += s2;
+ return tmp;
+}
+#endif
+
+Q_EXPORT inline const QString operator+( const QString &amp;s1, QChar c2 )
+{
+ QString tmp( s1 );
+ tmp += c2;
+ return tmp;
+}
+
+Q_EXPORT inline const QString operator+( const QString &amp;s1, char c2 )
+{
+ QString tmp( s1 );
+ tmp += c2;
+ return tmp;
+}
+
+Q_EXPORT inline const QString operator+( QChar c1, const QString &amp;s2 )
+{
+ QString tmp;
+ tmp += c1;
+ tmp += s2;
+ return tmp;
+}
+
+Q_EXPORT inline const QString operator+( char c1, const QString &amp;s2 )
+{
+ QString tmp;
+ tmp += c1;
+ tmp += s2;
+ return tmp;
+}
+
+#ifndef QT_NO_STL
+Q_EXPORT inline const QString operator+(const QString&amp; s1, const std::string&amp; s2)
+{
+ return s1 + QString(s2);
+}
+
+Q_EXPORT inline const QString operator+(const std::string&amp; s1, const QString&amp; s2)
+{
+ QString tmp(s2);
+ return QString(tmp.prepend(s1));
+}
+#endif
+
+
+#if defined(Q_OS_WIN32)
+extern Q_EXPORT QString qt_winQString(void*);
+extern Q_EXPORT const void* qt_winTchar(const QString&amp; str, bool addnul);
+extern Q_EXPORT void* qt_winTchar_new(const QString&amp; str);
+extern Q_EXPORT QCString qt_winQString2MB( const QString&amp; s, int len=-1 );
+extern Q_EXPORT QString qt_winMB2QString( const char* mb, int len=-1 );
+#endif
+
+#define Q_DEFINED_QSTRING
+#include "qwinexport.h"
+#endif // QSTRING_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstring-members.html b/doc/html/qstring-members.html
new file mode 100644
index 0000000..ade796d
--- /dev/null
+++ b/doc/html/qstring-members.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstring.h:398 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QString Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QString</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstring.html">QString</a>, including inherited members.
+
+<ul>
+<li><a href="qstring.html#QString">QString</a>()
+<li><a href="qstring.html#~QString">~QString</a>()
+<li><a href="qstring.html#append">append</a>()
+<li><a href="qstring.html#arg">arg</a>()
+<li><a href="qstring.html#ascii">ascii</a>()
+<li><a href="qstring.html#at">at</a>()
+<li><a href="qstring.html#capacity">capacity</a>()
+<li><a href="qstring.html#compare">compare</a>()
+<li><a href="qstring.html#compose">compose</a>()
+<li><a href="qstring.html#constref">constref</a>()
+<li><a href="qstring.html#contains">contains</a>()
+<li><a href="qstring.html#copy">copy</a>()
+<li><a href="qstring.html#data">data</a>()
+<li><a href="qstring.html#endsWith">endsWith</a>()
+<li><a href="qstring.html#fill">fill</a>()
+<li><a href="qstring.html#find">find</a>()
+<li><a href="qstring.html#findRev">findRev</a>()
+<li><a href="qstring.html#fromAscii">fromAscii</a>()
+<li><a href="qstring.html#fromLatin1">fromLatin1</a>()
+<li><a href="qstring.html#fromLocal8Bit">fromLocal8Bit</a>()
+<li><a href="qstring.html#fromUcs2">fromUcs2</a>()
+<li><a href="qstring.html#fromUtf8">fromUtf8</a>()
+<li><a href="qstring.html#insert">insert</a>()
+<li><a href="qstring.html#isEmpty">isEmpty</a>()
+<li><a href="qstring.html#isNull">isNull</a>()
+<li><a href="qstring.html#latin1">latin1</a>()
+<li><a href="qstring.html#left">left</a>()
+<li><a href="qstring.html#leftJustify">leftJustify</a>()
+<li><a href="qstring.html#length">length</a>()
+<li><a href="qstring.html#local8Bit">local8Bit</a>()
+<li><a href="qstring.html#localeAwareCompare">localeAwareCompare</a>()
+<li><a href="qstring.html#lower">lower</a>()
+<li><a href="qstring.html#mid">mid</a>()
+<li><a href="qstring.html#number">number</a>()
+<li><a href="qstring.html#operator-const-char-*">operator const char *</a>()
+<li><a href="qstring.html#operator-std::string">operator std::string</a>()
+<li><a href="qstring.html#operator!">operator!</a>()
+<li><a href="qstring.html#operator+-eq">operator+=</a>()
+<li><a href="qstring.html#operator-eq">operator=</a>()
+<li><a href="qstring.html#operator[]">operator[]</a>()
+<li><a href="qstring.html#prepend">prepend</a>()
+<li><a href="qstring.html#ref">ref</a>()
+<li><a href="qstring.html#remove">remove</a>()
+<li><a href="qstring.html#replace">replace</a>()
+<li><a href="qstring.html#reserve">reserve</a>()
+<li><a href="qstring.html#right">right</a>()
+<li><a href="qstring.html#rightJustify">rightJustify</a>()
+<li><a href="qstring.html#section">section</a>()
+<li><a href="qstring.html#setAscii">setAscii</a>()
+<li><a href="qstring.html#setExpand">setExpand</a>()
+<li><a href="qstring.html#setLatin1">setLatin1</a>()
+<li><a href="qstring.html#setLength">setLength</a>()
+<li><a href="qstring.html#setNum">setNum</a>()
+<li><a href="qstring.html#setUnicode">setUnicode</a>()
+<li><a href="qstring.html#setUnicodeCodes">setUnicodeCodes</a>()
+<li><a href="qstring.html#simplifyWhiteSpace">simplifyWhiteSpace</a>()
+<li><a href="qstring.html#sprintf">sprintf</a>()
+<li><a href="qstring.html#squeeze">squeeze</a>()
+<li><a href="qstring.html#startsWith">startsWith</a>()
+<li><a href="qstring.html#stripWhiteSpace">stripWhiteSpace</a>()
+<li><a href="qstring.html#toDouble">toDouble</a>()
+<li><a href="qstring.html#toFloat">toFloat</a>()
+<li><a href="qstring.html#toInt">toInt</a>()
+<li><a href="qstring.html#toLong">toLong</a>()
+<li><a href="qstring.html#toLongLong">toLongLong</a>()
+<li><a href="qstring.html#toShort">toShort</a>()
+<li><a href="qstring.html#toUInt">toUInt</a>()
+<li><a href="qstring.html#toULong">toULong</a>()
+<li><a href="qstring.html#toULongLong">toULongLong</a>()
+<li><a href="qstring.html#toUShort">toUShort</a>()
+<li><a href="qstring.html#truncate">truncate</a>()
+<li><a href="qstring.html#ucs2">ucs2</a>()
+<li><a href="qstring.html#unicode">unicode</a>()
+<li><a href="qstring.html#upper">upper</a>()
+<li><a href="qstring.html#utf8">utf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstring.html b/doc/html/qstring.html
new file mode 100644
index 0000000..26fa781
--- /dev/null
+++ b/doc/html/qstring.html
@@ -0,0 +1,2440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qstring.cpp:1228 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QString Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QString Class Reference</h1>
+
+<p>The QString class provides an abstraction of Unicode text
+and the classic C '&#92;0'-terminated char array.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;</tt>
+<p><a href="qstring-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QString"><b>QString</b></a> ()</li>
+<li class=fn><a href="#QString-2"><b>QString</b></a> ( QChar&nbsp;ch )</li>
+<li class=fn><a href="#QString-3"><b>QString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn><a href="#QString-4"><b>QString</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;ba )</li>
+<li class=fn><a href="#QString-5"><b>QString</b></a> ( const&nbsp;QChar&nbsp;*&nbsp;unicode, uint&nbsp;length )</li>
+<li class=fn><a href="#QString-6"><b>QString</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn><a href="#QString-7"><b>QString</b></a> ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )</li>
+<li class=fn><a href="#~QString"><b>~QString</b></a> ()</li>
+<li class=fn>QString &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#operator-eq-3"><b>operator=</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#operator-eq-4"><b>operator=</b></a> ( const&nbsp;std::string&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#operator-eq-5"><b>operator=</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;cstr )</li>
+<li class=fn>QString &amp; <a href="#operator-eq"><b>operator=</b></a> ( QChar&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#operator-eq-6"><b>operator=</b></a> ( char&nbsp;c )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>uint <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>void <a href="#truncate"><b>truncate</b></a> ( uint&nbsp;newLen )</li>
+<li class=fn>QString &amp; <a href="#fill"><b>fill</b></a> ( QChar&nbsp;c, int&nbsp;len = -1 )</li>
+<li class=fn>QString copy () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString <a href="#arg-2"><b>arg</b></a> ( long&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-3"><b>arg</b></a> ( ulong&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-4"><b>arg</b></a> ( Q_LLONG&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-5"><b>arg</b></a> ( Q_ULLONG&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-6"><b>arg</b></a> ( int&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-7"><b>arg</b></a> ( uint&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-8"><b>arg</b></a> ( short&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-9"><b>arg</b></a> ( ushort&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>QString <a href="#arg-a"><b>arg</b></a> ( double&nbsp;a, int&nbsp;fieldWidth = 0, char&nbsp;fmt = 'g', int&nbsp;prec = -1 ) const</li>
+<li class=fn>QString <a href="#arg-b"><b>arg</b></a> ( char&nbsp;a, int&nbsp;fieldWidth = 0 ) const</li>
+<li class=fn>QString <a href="#arg-c"><b>arg</b></a> ( QChar&nbsp;a, int&nbsp;fieldWidth = 0 ) const</li>
+<li class=fn>QString <a href="#arg"><b>arg</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;a, int&nbsp;fieldWidth = 0 ) const</li>
+<li class=fn>QString <a href="#arg-d"><b>arg</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;a1, const&nbsp;QString&nbsp;&amp;&nbsp;a2 ) const</li>
+<li class=fn>QString <a href="#arg-e"><b>arg</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;a1, const&nbsp;QString&nbsp;&amp;&nbsp;a2, const&nbsp;QString&nbsp;&amp;&nbsp;a3 ) const</li>
+<li class=fn>QString <a href="#arg-f"><b>arg</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;a1, const&nbsp;QString&nbsp;&amp;&nbsp;a2, const&nbsp;QString&nbsp;&amp;&nbsp;a3, const&nbsp;QString&nbsp;&amp;&nbsp;a4 ) const</li>
+<li class=fn>QString &amp; <a href="#sprintf"><b>sprintf</b></a> ( const&nbsp;char&nbsp;*&nbsp;cformat, ... )</li>
+<li class=fn>int <a href="#find-2"><b>find</b></a> ( QChar&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#find-3"><b>find</b></a> ( char&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#find-4"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#find"><b>find</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, int&nbsp;index = 0 ) const</li>
+<li class=fn>int <a href="#find-5"><b>find</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = 0 ) const</li>
+<li class=fn>int <a href="#findRev-2"><b>findRev</b></a> ( QChar&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#findRev-3"><b>findRev</b></a> ( char&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#findRev-4"><b>findRev</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#findRev-5"><b>findRev</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, int&nbsp;index = -1 ) const</li>
+<li class=fn>int <a href="#findRev"><b>findRev</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = -1 ) const</li>
+<li class=fn>int <a href="#contains"><b>contains</b></a> ( QChar&nbsp;c, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-2"><b>contains</b></a> ( char&nbsp;c, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-3"><b>contains</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-4"><b>contains</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>int <a href="#contains-5"><b>contains</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx ) const</li>
+<li class=fn>enum <a href="#SectionFlags-enum"><b>SectionFlags</b></a> { SectionDefault = 0x00, SectionSkipEmpty = 0x01, SectionIncludeLeadingSep = 0x02, SectionIncludeTrailingSep = 0x04, SectionCaseInsensitiveSeps = 0x08 }</li>
+<li class=fn>QString <a href="#section"><b>section</b></a> ( QChar&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const</li>
+<li class=fn>QString <a href="#section-2"><b>section</b></a> ( char&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const</li>
+<li class=fn>QString <a href="#section-3"><b>section</b></a> ( const&nbsp;char&nbsp;*&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const</li>
+<li class=fn>QString <a href="#section-4"><b>section</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const</li>
+<li class=fn>QString <a href="#section-5"><b>section</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;reg, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const</li>
+<li class=fn>QString <a href="#left"><b>left</b></a> ( uint&nbsp;len ) const</li>
+<li class=fn>QString <a href="#right"><b>right</b></a> ( uint&nbsp;len ) const</li>
+<li class=fn>QString <a href="#mid"><b>mid</b></a> ( uint&nbsp;index, uint&nbsp;len = 0xffffffff ) const</li>
+<li class=fn>QString <a href="#leftJustify"><b>leftJustify</b></a> ( uint&nbsp;width, QChar&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const</li>
+<li class=fn>QString <a href="#rightJustify"><b>rightJustify</b></a> ( uint&nbsp;width, QChar&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const</li>
+<li class=fn>QString <a href="#lower"><b>lower</b></a> () const</li>
+<li class=fn>QString <a href="#upper"><b>upper</b></a> () const</li>
+<li class=fn>QString <a href="#stripWhiteSpace"><b>stripWhiteSpace</b></a> () const</li>
+<li class=fn>QString <a href="#simplifyWhiteSpace"><b>simplifyWhiteSpace</b></a> () const</li>
+<li class=fn>QString &amp; <a href="#insert"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#insert-2"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;QByteArray&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#insert-3"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#insert-4"><b>insert</b></a> ( uint&nbsp;index, const&nbsp;QChar&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+<li class=fn>QString &amp; <a href="#insert-5"><b>insert</b></a> ( uint&nbsp;index, QChar&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#insert-6"><b>insert</b></a> ( uint&nbsp;index, char&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#append-2"><b>append</b></a> ( char&nbsp;ch )</li>
+<li class=fn>QString &amp; <a href="#append-3"><b>append</b></a> ( QChar&nbsp;ch )</li>
+<li class=fn>QString &amp; <a href="#append"><b>append</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#append-4"><b>append</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#append-5"><b>append</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#append-6"><b>append</b></a> ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#prepend-2"><b>prepend</b></a> ( char&nbsp;ch )</li>
+<li class=fn>QString &amp; <a href="#prepend-3"><b>prepend</b></a> ( QChar&nbsp;ch )</li>
+<li class=fn>QString &amp; <a href="#prepend"><b>prepend</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#prepend-4"><b>prepend</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#prepend-5"><b>prepend</b></a> ( const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#prepend-6"><b>prepend</b></a> ( const&nbsp;std::string&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#remove"><b>remove</b></a> ( uint&nbsp;index, uint&nbsp;len )</li>
+<li class=fn>QString &amp; <a href="#remove-2"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE )</li>
+<li class=fn>QString &amp; <a href="#remove-3"><b>remove</b></a> ( QChar&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#remove-4"><b>remove</b></a> ( char&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#remove-5"><b>remove</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#remove-6"><b>remove</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx )</li>
+<li class=fn>QString &amp; <a href="#replace"><b>replace</b></a> ( uint&nbsp;index, uint&nbsp;len, const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QString &amp; <a href="#replace-2"><b>replace</b></a> ( uint&nbsp;index, uint&nbsp;len, const&nbsp;QChar&nbsp;*&nbsp;s, uint&nbsp;slen )</li>
+<li class=fn>QString &amp; <a href="#replace-3"><b>replace</b></a> ( uint&nbsp;index, uint&nbsp;len, QChar&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#replace-4"><b>replace</b></a> ( uint&nbsp;index, uint&nbsp;len, char&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#replace-5"><b>replace</b></a> ( QChar&nbsp;c, const&nbsp;QString&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )</li>
+<li class=fn>QString &amp; <a href="#replace-6"><b>replace</b></a> ( char&nbsp;c, const&nbsp;QString&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )</li>
+<li class=fn>QString &amp; <a href="#replace-7"><b>replace</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;before, const&nbsp;QString&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )</li>
+<li class=fn>QString &amp; <a href="#replace-8"><b>replace</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, const&nbsp;QString&nbsp;&amp;&nbsp;after )</li>
+<li class=fn>QString &amp; <a href="#replace-9"><b>replace</b></a> ( QChar&nbsp;c1, QChar&nbsp;c2 )</li>
+<li class=fn>short <a href="#toShort"><b>toShort</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>ushort <a href="#toUShort"><b>toUShort</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>int <a href="#toInt"><b>toInt</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>uint <a href="#toUInt"><b>toUInt</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>long <a href="#toLong"><b>toLong</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>ulong <a href="#toULong"><b>toULong</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>Q_LLONG <a href="#toLongLong"><b>toLongLong</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>Q_ULLONG <a href="#toULongLong"><b>toULongLong</b></a> ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const</li>
+<li class=fn>float <a href="#toFloat"><b>toFloat</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>double <a href="#toDouble"><b>toDouble</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>QString &amp; <a href="#setNum-2"><b>setNum</b></a> ( short&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-3"><b>setNum</b></a> ( ushort&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-4"><b>setNum</b></a> ( int&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-5"><b>setNum</b></a> ( uint&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-6"><b>setNum</b></a> ( long&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-7"><b>setNum</b></a> ( ulong&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum"><b>setNum</b></a> ( Q_LLONG&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-8"><b>setNum</b></a> ( Q_ULLONG&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString &amp; <a href="#setNum-9"><b>setNum</b></a> ( float&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )</li>
+<li class=fn>QString &amp; <a href="#setNum-a"><b>setNum</b></a> ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )</li>
+<li class=fn>void setExpand ( uint&nbsp;index, QChar&nbsp;c ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#operator+-eq-2"><b>operator+=</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#operator+-eq-3"><b>operator+=</b></a> ( const&nbsp;char&nbsp;*&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#operator+-eq-4"><b>operator+=</b></a> ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QString &amp; <a href="#operator+-eq-5"><b>operator+=</b></a> ( QChar&nbsp;c )</li>
+<li class=fn>QString &amp; <a href="#operator+-eq-6"><b>operator+=</b></a> ( char&nbsp;c )</li>
+<li class=fn>QChar <a href="#at"><b>at</b></a> ( uint&nbsp;i ) const</li>
+<li class=fn>QChar <a href="#operator[]"><b>operator[]</b></a> ( int&nbsp;i ) const</li>
+<li class=fn>QCharRef <a href="#at-2"><b>at</b></a> ( uint&nbsp;i )</li>
+<li class=fn>QCharRef <a href="#operator[]-2"><b>operator[]</b></a> ( int&nbsp;i )</li>
+<li class=fn>QChar <a href="#constref"><b>constref</b></a> ( uint&nbsp;i ) const</li>
+<li class=fn>QChar &amp; <a href="#ref"><b>ref</b></a> ( uint&nbsp;i )</li>
+<li class=fn>const QChar * <a href="#unicode"><b>unicode</b></a> () const</li>
+<li class=fn>const char * <a href="#ascii"><b>ascii</b></a> () const</li>
+<li class=fn>const char * <a href="#latin1"><b>latin1</b></a> () const</li>
+<li class=fn>QCString <a href="#utf8"><b>utf8</b></a> () const</li>
+<li class=fn>QCString <a href="#local8Bit"><b>local8Bit</b></a> () const</li>
+<li class=fn>bool <a href="#operator!"><b>operator!</b></a> () const</li>
+<li class=fn><a href="#operator-const-char-*"><b>operator const char *</b></a> () const</li>
+<li class=fn><a href="#operator-std::string"><b>operator std::string</b></a> () const</li>
+<li class=fn>const unsigned short * <a href="#ucs2"><b>ucs2</b></a> () const</li>
+<li class=fn>QString &amp; <a href="#setUnicode"><b>setUnicode</b></a> ( const&nbsp;QChar&nbsp;*&nbsp;unicode, uint&nbsp;len )</li>
+<li class=fn>QString &amp; <a href="#setUnicodeCodes"><b>setUnicodeCodes</b></a> ( const&nbsp;ushort&nbsp;*&nbsp;unicode_as_ushorts, uint&nbsp;len )</li>
+<li class=fn>QString &amp; <a href="#setAscii"><b>setAscii</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;len = -1 )</li>
+<li class=fn>QString &amp; <a href="#setLatin1"><b>setLatin1</b></a> ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;len = -1 )</li>
+<li class=fn>int <a href="#compare-2"><b>compare</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>int <a href="#localeAwareCompare-2"><b>localeAwareCompare</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>void <a href="#compose"><b>compose</b></a> ()</li>
+<li class=fn>const char * data () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#startsWith"><b>startsWith</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>bool <a href="#endsWith"><b>endsWith</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>void <a href="#setLength"><b>setLength</b></a> ( uint&nbsp;newLen )</li>
+<li class=fn>uint <a href="#capacity"><b>capacity</b></a> () const</li>
+<li class=fn>void <a href="#reserve"><b>reserve</b></a> ( uint&nbsp;minCapacity )</li>
+<li class=fn>void <a href="#squeeze"><b>squeeze</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#number"><b>number</b></a> ( long&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-2"><b>number</b></a> ( ulong&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-3"><b>number</b></a> ( Q_LLONG&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-4"><b>number</b></a> ( Q_ULLONG&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-5"><b>number</b></a> ( int&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-6"><b>number</b></a> ( uint&nbsp;n, int&nbsp;base = 10 )</li>
+<li class=fn>QString <a href="#number-7"><b>number</b></a> ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )</li>
+<li class=fn>QString <a href="#fromAscii"><b>fromAscii</b></a> ( const&nbsp;char&nbsp;*&nbsp;ascii, int&nbsp;len = -1 )</li>
+<li class=fn>QString <a href="#fromLatin1"><b>fromLatin1</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len = -1 )</li>
+<li class=fn>QString <a href="#fromUtf8"><b>fromUtf8</b></a> ( const&nbsp;char&nbsp;*&nbsp;utf8, int&nbsp;len = -1 )</li>
+<li class=fn>QString <a href="#fromLocal8Bit"><b>fromLocal8Bit</b></a> ( const&nbsp;char&nbsp;*&nbsp;local8Bit, int&nbsp;len = -1 )</li>
+<li class=fn>QString <a href="#fromUcs2"><b>fromUcs2</b></a> ( const&nbsp;unsigned&nbsp;short&nbsp;*&nbsp;str )</li>
+<li class=fn>int <a href="#compare"><b>compare</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>int <a href="#localeAwareCompare"><b>localeAwareCompare</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-eq-eq-3"><b>operator==</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq-2"><b>operator!=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator!-eq-3"><b>operator!=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-2"><b>operator&lt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-lt-eq-2"><b>operator&lt;=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-2"><b>operator&gt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>bool <a href="#operator-gt-eq-2"><b>operator&gt;=</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QString <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QString <a href="#operator+-2"><b>operator+</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )</li>
+<li class=fn>const QString <a href="#operator+-3"><b>operator+</b></a> ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;QString&nbsp;&amp;&nbsp;s2 )</li>
+<li class=fn>const QString <a href="#operator+-4"><b>operator+</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, char&nbsp;c )</li>
+<li class=fn>const QString <a href="#operator+-5"><b>operator+</b></a> ( char&nbsp;c, const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QString&nbsp;&amp;&nbsp;str )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QString class provides an abstraction of Unicode text
+and the classic C '&#92;0'-terminated char array.
+<p>
+
+
+
+<p> QString uses <a href="shclass.html">implicit sharing</a>, which
+makes it very efficient and easy to use.
+<p> In all of the QString methods that take <tt>const char *</tt>
+parameters, the <tt>const char *</tt> is interpreted as a classic
+C-style '&#92;0'-terminated ASCII string. It is legal for the <tt>const char *</tt> parameter to be 0. If the <tt>const char *</tt> is not
+'&#92;0'-terminated, the results are undefined. Functions that copy
+classic C strings into a QString will not copy the terminating
+'&#92;0' character. The <a href="qchar.html">QChar</a> array of the QString (as returned by
+<a href="#unicode">unicode</a>()) is generally not terminated by a '&#92;0'. If you need to
+pass a QString to a function that requires a C '&#92;0'-terminated
+string use <a href="#latin1">latin1</a>().
+<p> <!-- index QString::null --><a name="QString-null"></a>A QString that has not been assigned to anything is <em>null</em>, i.e.
+both the length and data pointer is 0. A QString that references
+the empty string ("", a single '&#92;0' char) is <em>empty</em>. Both null
+and empty QStrings are legal parameters to the methods. Assigning
+<tt>(const char *) 0</tt> to QString gives a null QString. For
+convenience, <a href="qstring.html#QString-null">QString::null</a> is a null QString. When sorting,
+empty strings come first, followed by non-empty strings, followed
+by null strings. We recommend using <tt>if ( !str.isNull() )</tt> to
+check for a non-null string rather than <tt>if ( !str )</tt>; see <a href="#operator!">operator!</a>() for an explanation.
+<p> Note that if you find that you are mixing usage of <a href="qcstring.html">QCString</a>,
+QString, and <a href="qbytearray.html">QByteArray</a>, this causes lots of unnecessary
+copying and might indicate that the true nature of the data you
+are dealing with is uncertain. If the data is '&#92;0'-terminated 8-bit
+data, use <a href="qcstring.html">QCString</a>; if it is unterminated (i.e. contains '&#92;0's)
+8-bit data, use <a href="qbytearray.html">QByteArray</a>; if it is text, use QString.
+<p> Lists of strings are handled by the <a href="qstringlist.html">QStringList</a> class. You can
+split a string into a list of strings using <a href="qstringlist.html#split">QStringList::split</a>(),
+and join a list of strings into a single string with an optional
+separator using <a href="qstringlist.html#join">QStringList::join</a>(). You can obtain a list of
+strings from a string list that contain a particular substring or
+that match a particular <a href="qregexp.html">regex</a> using
+<a href="qstringlist.html#grep">QStringList::grep</a>().
+<p> <b>Note for C programmers</b>
+<p> Due to C++'s type system and the fact that QString is <a href="shclass.html#implicitly-shared">implicitly shared</a>, QStrings can be treated like ints or other simple base
+types. For example:
+<p> <pre>
+ QString boolToString( bool b )
+ {
+ QString result;
+ if ( b )
+ result = "True";
+ else
+ result = "False";
+ return result;
+ }
+ </pre>
+
+<p> The variable, result, is an auto variable allocated on the stack.
+When return is called, because we're returning by value, The copy
+constructor is called and a copy of the string is returned. (No
+actual copying takes place thanks to the <a href="shclass.html#implicit-sharing">implicit sharing</a>, see
+below.)
+<p> Throughout Qt's source code you will encounter QString usages like
+this:
+<pre>
+ QString func( const QString&amp; input )
+ {
+ QString output = input;
+ // process output
+ return output;
+ }
+ </pre>
+
+<p> The 'copying' of input to output is almost as fast as copying a
+pointer because behind the scenes copying is achieved by
+incrementing a reference count. QString (like all Qt's implicitly
+shared classes) operates on a copy-on-write basis, only copying if
+an instance is actually changed.
+<p> If you wish to create a <a href="shclass.html#deep-copy">deep copy</a> of a QString without losing any
+Unicode information then you should use <a href="qdeepcopy.html">QDeepCopy</a>.
+<p> <p>See also <a href="qchar.html">QChar</a>, <a href="qcstring.html">QCString</a>, <a href="qbytearray.html">QByteArray</a>, <a href="qconststring.html">QConstString</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, <a href="text.html">Text Related Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="SectionFlags-enum"></a>QString::SectionFlags</h3>
+
+<ul>
+<li><tt>QString::SectionDefault</tt> - Empty fields are counted, leading and
+trailing separators are not included, and the separator is
+compared case sensitively.
+<li><tt>QString::SectionSkipEmpty</tt> - Treat empty fields as if they don't exist,
+i.e. they are not considered as far as <em>start</em> and <em>end</em> are
+concerned.
+<li><tt>QString::SectionIncludeLeadingSep</tt> - Include the leading separator (if
+any) in the result string.
+<li><tt>QString::SectionIncludeTrailingSep</tt> - Include the trailing separator
+(if any) in the result string.
+<li><tt>QString::SectionCaseInsensitiveSeps</tt> - Compare the separator
+case-insensitively.
+</ul><p> Any of the last four values can be OR-ed together to form a flag.
+<p> <p>See also <a href="#section">section</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QString"></a>QString::QString ()
+</h3>
+
+<p> Constructs a null string, i.e. both the length and data pointer
+are 0.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a name="QString-2"></a>QString::QString ( <a href="qchar.html">QChar</a>&nbsp;ch )
+</h3>
+Constructs a string of length one, containing the character <em>ch</em>.
+
+<h3 class=fn><a name="QString-3"></a>QString::QString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Constructs an <a href="shclass.html#implicitly-shared">implicitly shared</a> copy of <em>s</em>. This is very fast
+since it only involves incrementing a reference count.
+
+<h3 class=fn><a name="QString-4"></a>QString::QString ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;ba )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>ba</em> interpreted as a
+classic C string.
+
+<h3 class=fn><a name="QString-5"></a>QString::QString ( const&nbsp;<a href="qchar.html">QChar</a>&nbsp;*&nbsp;unicode, uint&nbsp;length )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of the first <em>length</em>
+characters in the <a href="qchar.html">QChar</a> array.
+<p> If <em>unicode</em> and <em>length</em> are 0, then a null string is created.
+<p> If only <em>unicode</em> is 0, the string is empty but has <em>length</em>
+characters of space preallocated: QString expands automatically
+anyway, but this may speed up some cases a little. We recommend
+using the plain constructor and <a href="#setLength">setLength</a>() for this purpose since
+it will result in more readable code.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#setLength">setLength</a>().
+
+<h3 class=fn><a name="QString-6"></a>QString::QString ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>, interpreted as
+a classic C string. The encoding is assumed to be Latin-1, unless
+you change it using <a href="qtextcodec.html#setCodecForCStrings">QTextCodec::setCodecForCStrings</a>().
+<p> If <em>str</em> is 0, then a null string is created.
+<p> This is a cast constructor, but it is perfectly safe: converting a
+Latin-1 <tt>const char *</tt> to QString preserves all the information. You
+can disable this constructor by defining <tt>QT_NO_CAST_ASCII</tt> when
+you compile your applications. You can also make QString objects
+by using <a href="#setLatin1">setLatin1</a>(), <a href="#fromLatin1">fromLatin1</a>(), <a href="#fromLocal8Bit">fromLocal8Bit</a>(), and
+<a href="#fromUtf8">fromUtf8</a>(). Or whatever encoding is appropriate for the 8-bit data
+you have.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#fromAscii">fromAscii</a>().
+
+<h3 class=fn><a name="QString-7"></a>QString::QString ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>.
+<p> This is the same as <a href="#fromAscii">fromAscii</a>(<em>str</em>).
+
+<h3 class=fn><a name="~QString"></a>QString::~QString ()
+</h3>
+
+<p> Destroys the string and frees the string's data if this is the
+last reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append"></a>QString::append ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+<p> Appends <em>str</em> to the string and returns a reference to the
+result.
+<p> <pre>
+ string = "Test";
+ string.append( "ing" ); // string == "Testing"
+ </pre>
+
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<p>Example: <a href="dirview-example.html#x1701">dirview/dirview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append-2"></a>QString::append ( char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends character <em>ch</em> to the string and returns a reference to
+the result.
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append-3"></a>QString::append ( <a href="qchar.html">QChar</a>&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends character <em>ch</em> to the string and returns a reference to
+the result.
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append-4"></a>QString::append ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the result.
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append-5"></a>QString::append ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the result.
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="append-6"></a>QString::append ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the result.
+<p> Equivalent to <a href="#operator+-eq">operator+=</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg"></a>QString::arg ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a, int&nbsp;fieldWidth = 0 ) const
+</h3>
+This function will return a string that replaces the lowest
+numbered occurrence of <tt>%1</tt>, <tt>%2</tt>, ..., <tt>%9</tt> with <em>a</em>.
+<p> The <em>fieldWidth</em> value specifies the minimum amount of space that
+<em>a</em> is padded to. A positive value will produce right-aligned
+text, whereas a negative value will produce left-aligned text.
+<p> The following example shows how we could create a 'status' string
+when processing a list of files:
+<pre>
+ QString status = <a href="#QString">QString</a>( "Processing file %1 of %2: %3" )
+ .arg( i ) // current file's number
+ .arg( total ) // number of files to process
+ .arg( fileName ); // current file's name
+ </pre>
+
+<p> It is generally fine to use filenames and numbers as we have done
+in the example above. But note that using <a href="#arg">arg</a>() to construct
+natural language sentences does not usually translate well into
+other languages because sentence structure and word order often
+differ between languages.
+<p> If there is no place marker (<tt>%1</tt>, <tt>%2</tt>, etc.), a warning
+message (<a href="qapplication.html#qWarning">qWarning</a>()) is output and the result is undefined.
+<p> <b>Warning:</b> If any placeholder occurs more than once, the result is undefined.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-2"></a>QString::arg ( long&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The <em>fieldWidth</em> value specifies the minimum amount of space that
+<em>a</em> is padded to. A positive value will produce a right-aligned
+number, whereas a negative value will produce a left-aligned
+number.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36.
+<p> The '%' can be followed by an 'L', in which case the sequence is
+replaced with a localized representation of <em>a</em>. The conversion
+uses the default locale. The default locale is determined from the
+system's locale settings at application startup. It can be changed
+using <a href="qlocale.html#setDefault">QLocale::setDefault</a>(). The 'L' flag is ignored if <em>base</em> is
+not 10.
+<p> <pre>
+ QString str;
+ str = <a href="#QString">QString</a>( "Decimal 63 is %1 in hexadecimal" )
+ .arg( 63, 0, 16 );
+ // str == "Decimal 63 is 3f in hexadecimal"
+
+ QLocale::<a href="qlocale.html#setDefault">setDefault</a>(QLocale::English, QLocale::UnitedStates);
+ str = <a href="#QString">QString</a>( "%1 %L2 %L3" )
+ .arg( 12345 )
+ .arg( 12345 )
+ .arg( 12345, 0, 16 );
+ // str == "12345 12,345 3039"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-3"></a>QString::arg ( ulong&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-4"></a>QString::arg ( Q_LLONG&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-5"></a>QString::arg ( Q_ULLONG&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-6"></a>QString::arg ( int&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-7"></a>QString::arg ( uint&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-8"></a>QString::arg ( short&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-9"></a>QString::arg ( ushort&nbsp;a, int&nbsp;fieldWidth = 0, int&nbsp;base = 10 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is expressed in base <em>base</em>, which is 10 by default and must
+be between 2 and 36. If <em>base</em> is 10, the '%L' syntax can be used
+to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-a"></a>QString::arg ( double&nbsp;a, int&nbsp;fieldWidth = 0, char&nbsp;fmt = 'g', int&nbsp;prec = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <a name="arg-formats"></a>
+<p> Argument <em>a</em> is formatted according to the <em>fmt</em> format specified,
+which is 'g' by default and can be any of the following:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Format <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>e</tt> <td valign="top">format as [-]9.9e[+|-]999
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>E</tt> <td valign="top">format as [-]9.9E[+|-]999
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>f</tt> <td valign="top">format as [-]9.9
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>g</tt> <td valign="top">use <tt>e</tt> or <tt>f</tt> format, whichever is the most concise
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>G</tt> <td valign="top">use <tt>E</tt> or <tt>f</tt> format, whichever is the most concise
+</table></center>
+<p> With 'e', 'E', and 'f', <em>prec</em> is the number of digits after the
+decimal point. With 'g' and 'G', <em>prec</em> is the maximum number of
+significant digits (trailing zeroes are omitted).
+<p> <pre>
+ double d = 12.34;
+ QString ds = <a href="#QString">QString</a>( "'E' format, precision 3, gives %1" )
+ .arg( d, 0, 'E', 3 );
+ // ds == "'E' format, precision 3, gives 1.234E+01"
+ </pre>
+
+<p> The '%L' syntax can be used to produce localized strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-b"></a>QString::arg ( char&nbsp;a, int&nbsp;fieldWidth = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> is assumed to be in the Latin-1 character set.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-c"></a>QString::arg ( <a href="qchar.html">QChar</a>&nbsp;a, int&nbsp;fieldWidth = 0 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-d"></a>QString::arg ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a2 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is the same as str.<a href="#arg">arg</a>(<em>a1</em>).arg(<em>a2</em>), except that
+the strings are replaced in one pass. This can make a difference
+if <em>a1</em> contains e.g. <tt>%1</tt>:
+<p> <pre>
+ QString str( "%1 %2" );
+ str.<a href="#arg">arg</a>( "Hello", "world" ); // returns "Hello world"
+ str.<a href="#arg">arg</a>( "Hello" ).arg( "world" ); // returns "Hello world"
+
+ str.<a href="#arg">arg</a>( "(%1)", "Hello" ); // returns "(%1) Hello"
+ str.<a href="#arg">arg</a>( "(%1)" ).arg( "Hello" ); // returns "(Hello) %2"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-e"></a>QString::arg ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a2, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a3 ) const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is the same as calling str.<a href="#arg">arg</a>(<em>a1</em>).arg(<em>a2</em>).arg(<em>a3</em>),
+except that the strings are replaced in one pass.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="arg-f"></a>QString::arg ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a2, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a3, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;a4 ) const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is the same as calling
+str.<a href="#arg">arg</a>(<em>a1</em>).arg(<em>a2</em>).arg(<em>a3</em>).arg(<em>a4</em>),
+except that the strings are replaced in one pass.
+
+<h3 class=fn>const char * <a name="ascii"></a>QString::ascii () const
+</h3>
+Returns an 8-bit ASCII representation of the string.
+<p> If a codec has been set using <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>(),
+it is used to convert Unicode to 8-bit char. Otherwise, this function
+does the same as <a href="#latin1">latin1</a>().
+<p> <p>See also <a href="#fromAscii">fromAscii</a>(), <a href="#latin1">latin1</a>(), <a href="#utf8">utf8</a>(), and <a href="#local8Bit">local8Bit</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x690">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="at"></a>QString::at ( uint&nbsp;i ) const
+</h3>
+
+<p> Returns the character at index <em>i</em>, or 0 if <em>i</em> is beyond the
+length of the string.
+<p> <pre>
+ const QString string( "abcdefgh" );
+ <a href="qchar.html">QChar</a> ch = string.<a href="#at">at</a>( 4 );
+ // ch == 'e'
+ </pre>
+
+<p> If the QString is not const (i.e. const QString) or const& (i.e.
+const QString &), then the non-const overload of <a href="#at">at</a>() will be used
+instead.
+
+<h3 class=fn><a href="qcharref.html">QCharRef</a> <a name="at-2"></a>QString::at ( uint&nbsp;i )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The function returns a reference to the character at index <em>i</em>.
+The resulting reference can then be assigned to, or used
+immediately, but it will become invalid once further modifications
+are made to the original string.
+<p> If <em>i</em> is beyond the length of the string then the string is
+expanded with QChar::null.
+
+<h3 class=fn>uint <a name="capacity"></a>QString::capacity () const
+</h3>
+
+<p> Returns the number of characters this string can hold
+in the allocated memory.
+<p> <p>See also <a href="#reserve">reserve</a>() and <a href="#squeeze">squeeze</a>().
+
+<h3 class=fn>int <a name="compare"></a>QString::compare ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )<tt> [static]</tt>
+</h3>
+
+<p> Lexically compares <em>s1</em> with <em>s2</em> and returns an integer less
+than, equal to, or greater than zero if <em>s1</em> is less than, equal
+to, or greater than <em>s2</em>.
+<p> The comparison is based exclusively on the numeric Unicode values
+of the characters and is very fast, but is not what a human would
+expect. Consider sorting user-interface strings with
+<a href="#localeAwareCompare">QString::localeAwareCompare</a>().
+<p> <pre>
+ int a = QString::<a href="#compare">compare</a>( "def", "abc" ); // a &gt; 0
+ int b = QString::<a href="#compare">compare</a>( "abc", "def" ); // b &lt; 0
+ int c = QString::<a href="#compare">compare</a>( "abc", "abc" ); // c == 0
+ </pre>
+
+
+<h3 class=fn>int <a name="compare-2"></a>QString::compare ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Lexically compares this string with <em>s</em> and returns an integer
+less than, equal to, or greater than zero if it is less than, equal
+to, or greater than <em>s</em>.
+
+<h3 class=fn>void <a name="compose"></a>QString::compose ()
+</h3>
+<b>Warning:</b> This function is not supported in Qt 3.x. It is provided
+for experimental and illustrative purposes only. It is mainly of
+interest to those experimenting with Arabic and other
+composition-rich texts.
+<p> Applies possible ligatures to a QString. Useful when
+composition-rich text requires rendering with glyph-poor fonts,
+but it also makes compositions such as <a href="qchar.html">QChar</a>(0x0041) ('A') and
+QChar(0x0308) (Unicode accent diaresis), giving QChar(0x00c4)
+(German A Umlaut).
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="constref"></a>QString::constref ( uint&nbsp;i ) const
+</h3>
+
+<p> Returns the <a href="qchar.html">QChar</a> at index <em>i</em> by value.
+<p> Equivalent to <a href="#at">at</a>(<em>i</em>).
+<p> <p>See also <a href="#ref">ref</a>().
+
+<h3 class=fn>int <a name="contains"></a>QString::contains ( <a href="qchar.html">QChar</a>&nbsp;c, bool&nbsp;cs = TRUE ) const
+</h3>
+Returns the number of times the character <em>c</em> occurs in the
+string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> <pre>
+ QString string( "Trolltech and Qt" );
+ int n = string.<a href="#contains">contains</a>( 't', FALSE );
+ // n == 3
+ </pre>
+
+
+<p>Examples: <a href="fileiconview-example.html#x867">fileiconview/qfileiconview.cpp</a> and <a href="mdi-example.html#x2064">mdi/application.cpp</a>.
+<h3 class=fn>int <a name="contains-2"></a>QString::contains ( char&nbsp;c, bool&nbsp;cs = TRUE ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>int <a name="contains-3"></a>QString::contains ( const&nbsp;char&nbsp;*&nbsp;str, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the number of times the string <em>str</em> occurs in the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+
+<h3 class=fn>int <a name="contains-4"></a>QString::contains ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the number of times <em>str</em> occurs in the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> This function counts overlapping strings, so in the example below,
+there are two instances of "ana" in "bananas".
+<p> <pre>
+ QString str( "bananas" );
+ int i = str.<a href="#contains">contains</a>( "ana" ); // i == 2
+ </pre>
+
+<p> <p>See also <a href="#findRev">findRev</a>().
+
+<h3 class=fn>int <a name="contains-5"></a>QString::contains ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the number of times the regexp, <em>rx</em>, matches in the
+string.
+<p> This function counts overlapping matches, so in the example below,
+there are four instances of "ana" or "ama".
+<p> <pre>
+ QString str = "banana and panama";
+ <a href="qregexp.html">QRegExp</a> rxp = QRegExp( "a[nm]a", TRUE, FALSE );
+ int i = str.<a href="#contains">contains</a>( rxp ); // i == 4
+ </pre>
+
+<p> <p>See also <a href="#find">find</a>() and <a href="#findRev">findRev</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="copy"></a>QString::copy () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> In Qt 2.0 and later, all calls to this function are needless. Just
+remove them.
+
+<h3 class=fn>const char * <a name="data"></a>QString::data () const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns a pointer to a '&#92;0'-terminated classic C string.
+<p> In Qt 1.x, this returned a char* allowing direct manipulation of the
+string as a sequence of bytes. In Qt 2.x where QString is a Unicode
+string, char* conversion constructs a temporary string, and hence
+direct character operations are meaningless.
+
+<h3 class=fn>bool <a name="endsWith"></a>QString::endsWith ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;cs = TRUE ) const
+</h3>
+Returns TRUE if the string ends with <em>s</em>; otherwise returns
+FALSE.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> <pre>
+ QString str( "Bananas" );
+ str.<a href="#endsWith">endsWith</a>( "anas" ); // returns TRUE
+ str.<a href="#endsWith">endsWith</a>( "pple" ); // returns FALSE
+ </pre>
+
+<p> <p>See also <a href="#startsWith">startsWith</a>().
+
+<p>Example: <a href="tutorial2-04.html#x2561">chart/main.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="fill"></a>QString::fill ( <a href="qchar.html">QChar</a>&nbsp;c, int&nbsp;len = -1 )
+</h3>
+Fills the string with <em>len</em> characters of value <em>c</em>, and returns
+a reference to the string.
+<p> If <em>len</em> is negative (the default), the current string length is
+used.
+<p> <pre>
+ QString str;
+ str.<a href="#fill">fill</a>( 'g', 5 ); // string == "ggggg"
+ </pre>
+
+
+<h3 class=fn>int <a name="find"></a>QString::find ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, int&nbsp;index = 0 ) const
+</h3>
+Finds the first match of the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em>, starting
+from position <em>index</em>. If <em>index</em> is -1, the search starts at
+the last character; if -2, at the next to last character and so
+on. (See <a href="#findRev">findRev</a>() for searching backwards.)
+<p> Returns the position of the first match of <em>rx</em> or -1 if no match
+was found.
+<p> <pre>
+ QString string( "bananas" );
+ int i = string.<a href="#find">find</a>( QRegExp("an"), 0 ); // i == 1
+ </pre>
+
+<p> <p>See also <a href="#findRev">findRev</a>(), <a href="#replace">replace</a>(), and <a href="#contains">contains</a>().
+
+<p>Example: <a href="mail-example.html#x715">network/mail/smtp.cpp</a>.
+<h3 class=fn>int <a name="find-2"></a>QString::find ( <a href="qchar.html">QChar</a>&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the character <em>c</em>, starting at
+position <em>index</em>. If <em>index</em> is -1, the search starts at the
+last character; if -2, at the next to last character and so on.
+(See <a href="#findRev">findRev</a>() for searching backwards.)
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> Returns the position of <em>c</em> or -1 if <em>c</em> could not be found.
+
+<h3 class=fn>int <a name="find-3"></a>QString::find ( char&nbsp;c, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Find character <em>c</em> starting from position <em>index</em>.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+
+<h3 class=fn>int <a name="find-4"></a>QString::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;index = 0, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the string <em>str</em>, starting at
+position <em>index</em>. If <em>index</em> is -1, the search starts at the
+last character, if it is -2, at the next to last character and so
+on. (See <a href="#findRev">findRev</a>() for searching backwards.)
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> Returns the position of <em>str</em> or -1 if <em>str</em> could not be found.
+
+<h3 class=fn>int <a name="find-5"></a>QString::find ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = 0 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Equivalent to <a href="#find">find</a>(QString(<em>str</em>), <em>index</em>).
+
+<h3 class=fn>int <a name="findRev"></a>QString::findRev ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;index = -1 ) const
+</h3>
+
+<p> Equivalent to <a href="#findRev">findRev</a>(QString(<em>str</em>), <em>index</em>).
+
+<h3 class=fn>int <a name="findRev-2"></a>QString::findRev ( <a href="qchar.html">QChar</a>&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the character <em>c</em>, starting at
+position <em>index</em> and searching backwards. If the index is -1, the
+search starts at the last character, if it is -2, at the next to
+last character and so on.
+<p> Returns the position of <em>c</em> or -1 if <em>c</em> could not be found.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> <pre>
+ QString string( "bananas" );
+ int i = string.<a href="#findRev">findRev</a>( 'a' ); // i == 5
+ </pre>
+
+
+<h3 class=fn>int <a name="findRev-3"></a>QString::findRev ( char&nbsp;c, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Find character <em>c</em> starting from position <em>index</em> and working
+backwards.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+
+<h3 class=fn>int <a name="findRev-4"></a>QString::findRev ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;index = -1, bool&nbsp;cs = TRUE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of the string <em>str</em>, starting at
+position <em>index</em> and searching backwards. If the index is -1, the
+search starts at the last character, if it is -2, at the next to
+last character and so on.
+<p> Returns the position of <em>str</em> or -1 if <em>str</em> could not be found.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> <pre>
+ QString string("bananas");
+ int i = string.<a href="#findRev">findRev</a>( "ana" ); // i == 3
+ </pre>
+
+
+<h3 class=fn>int <a name="findRev-5"></a>QString::findRev ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, int&nbsp;index = -1 ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first match of the regexp <em>rx</em>, starting at position <em>index</em> and searching backwards. If the index is -1, the search
+starts at the last character, if it is -2, at the next to last
+character and so on. (See <a href="#findRev">findRev</a>() for searching backwards.)
+<p> Returns the position of the match or -1 if no match was found.
+<p> <pre>
+ QString string( "bananas" );
+ int i = string.<a href="#findRev">findRev</a>( QRegExp("an") ); // i == 3
+ </pre>
+
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromAscii"></a>QString::fromAscii ( const&nbsp;char&nbsp;*&nbsp;ascii, int&nbsp;len = -1 )<tt> [static]</tt>
+</h3>
+Returns the Unicode string decoded from the first <em>len</em>
+bytes of <em>ascii</em>, ignoring the rest of <em>ascii</em>. If <em>len</em>
+is -1 then the length of <em>ascii</em> is used. If <em>len</em> is bigger
+than the length of <em>ascii</em> then it will use the length of <em>ascii</em>.
+<p> If a codec has been set using <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>(),
+it is used to convert the string from 8-bit characters to Unicode.
+Otherwise, this function does the same as <a href="#fromLatin1">fromLatin1</a>().
+<p> This is the same as the QString(const char*) constructor, but you
+can make that constructor invisible if you compile with the define
+<tt>QT_NO_CAST_ASCII</tt>, in which case you can explicitly create a
+QString from 8-bit ASCII text using this function.
+<p> <pre>
+ QString str = QString::<a href="#fromAscii">fromAscii</a>( "123456789", 5 );
+ // str == "12345"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromLatin1"></a>QString::fromLatin1 ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len = -1 )<tt> [static]</tt>
+</h3>
+Returns the Unicode string decoded from the first <em>len</em>
+bytes of <em>chars</em>, ignoring the rest of <em>chars</em>. If <em>len</em>
+is -1 then the length of <em>chars</em> is used. If <em>len</em> is bigger
+than the length of <em>chars</em> then it will use the length of <em>chars</em>.
+<p> <p>See also <a href="#fromAscii">fromAscii</a>().
+
+<p>Examples: <a href="listbox-example.html#x1446">listbox/listbox.cpp</a> and <a href="mail-example.html#x716">network/mail/smtp.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromLocal8Bit"></a>QString::fromLocal8Bit ( const&nbsp;char&nbsp;*&nbsp;local8Bit, int&nbsp;len = -1 )<tt> [static]</tt>
+</h3>
+Returns the Unicode string decoded from the first <em>len</em>
+bytes of <em>local8Bit</em>, ignoring the rest of <em>local8Bit</em>. If
+<em>len</em> is -1 then the length of <em>local8Bit</em> is used. If <em>len</em> is
+bigger than the length of <em>local8Bit</em> then it will use the length
+of <em>local8Bit</em>.
+<p> <pre>
+ QString str = QString::<a href="#fromLocal8Bit">fromLocal8Bit</a>( "123456789", 5 );
+ // str == "12345"
+ </pre>
+
+<p> <em>local8Bit</em> is assumed to be encoded in a locale-specific format.
+<p> See <a href="qtextcodec.html">QTextCodec</a> for more diverse coding/decoding of Unicode strings.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromUcs2"></a>QString::fromUcs2 ( const&nbsp;unsigned&nbsp;short&nbsp;*&nbsp;str )<tt> [static]</tt>
+</h3>
+Constructs a string that is a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>, interpreted as a
+UCS2 encoded, zero terminated, Unicode string.
+<p> If <em>str</em> is 0, then a null string is created.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromUtf8"></a>QString::fromUtf8 ( const&nbsp;char&nbsp;*&nbsp;utf8, int&nbsp;len = -1 )<tt> [static]</tt>
+</h3>
+Returns the Unicode string decoded from the first <em>len</em>
+bytes of <em>utf8</em>, ignoring the rest of <em>utf8</em>. If <em>len</em> is
+-1 then the length of <em>utf8</em> is used. If <em>len</em> is bigger than
+the length of <em>utf8</em> then it will use the length of <em>utf8</em>.
+<p> <pre>
+ QString str = QString::<a href="#fromUtf8">fromUtf8</a>( "123456789", 5 );
+ // str == "12345"
+ </pre>
+
+<p> See <a href="qtextcodec.html">QTextCodec</a> for more diverse coding/decoding of Unicode strings.
+
+<p>Example: <a href="simple-font-demo-example.html#x2850">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert"></a>QString::insert ( uint&nbsp;index, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Inserts <em>s</em> into the string at position <em>index</em>.
+<p> If <em>index</em> is beyond the end of the string, the string is
+extended with spaces to length <em>index</em> and <em>s</em> is then appended
+and returns a reference to the string.
+<p> <pre>
+ QString string( "I like fish" );
+ str = string.<a href="#insert">insert</a>( 2, "don't " );
+ // str == "I don't like fish"
+ </pre>
+
+<p> <p>See also <a href="#remove">remove</a>() and <a href="#replace">replace</a>().
+
+<p>Examples: <a href="themes-example.html#x337">themes/themes.cpp</a> and <a href="xform-example.html#x1264">xform/xform.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert-2"></a>QString::insert ( uint&nbsp;index, const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>s</em> into the string at position <em>index</em> and returns
+a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert-3"></a>QString::insert ( uint&nbsp;index, const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>s</em> into the string at position <em>index</em> and returns
+a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert-4"></a>QString::insert ( uint&nbsp;index, const&nbsp;<a href="qchar.html">QChar</a>&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the first <em>len</em> characters in <em>s</em> into the string at
+position <em>index</em> and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert-5"></a>QString::insert ( uint&nbsp;index, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Insert <em>c</em> into the string at position <em>index</em> and returns a
+reference to the string.
+<p> If <em>index</em> is beyond the end of the string, the string is
+extended with spaces (ASCII 32) to length <em>index</em> and <em>c</em> is
+then appended.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="insert-6"></a>QString::insert ( uint&nbsp;index, char&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Insert character <em>c</em> at position <em>index</em>.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QString::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the string is empty, i.e. if <a href="#length">length</a>() == 0;
+otherwise returns FALSE. Null strings are also empty.
+<p> <pre>
+ QString a( "" );
+ a.<a href="#isEmpty">isEmpty</a>(); // TRUE
+ a.<a href="#isNull">isNull</a>(); // FALSE
+
+ QString b;
+ b.<a href="#isEmpty">isEmpty</a>(); // TRUE
+ b.<a href="#isNull">isNull</a>(); // TRUE
+ </pre>
+
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#length">length</a>().
+
+<p>Examples: <a href="addressbook-example.html#x571">addressbook/mainwindow.cpp</a>, <a href="canvas-chart-example.html#x2892">chart/chartform.cpp</a>, <a href="tutorial2-06.html#x2576">chart/chartform_canvas.cpp</a>, <a href="networkprotocol-example.html#x691">network/networkprotocol/nntp.cpp</a>, <a href="qmag-example.html#x1792">qmag/qmag.cpp</a>, and <a href="qwerty-example.html#x390">qwerty/qwerty.cpp</a>.
+<h3 class=fn>bool <a name="isNull"></a>QString::isNull () const
+</h3>
+
+<p> Returns TRUE if the string is null; otherwise returns FALSE. A
+null string is always empty.
+<p> <pre>
+ QString a; // a.<a href="#unicode">unicode</a>() == 0, a.<a href="#length">length</a>() == 0
+ a.<a href="#isNull">isNull</a>(); // TRUE, because a.<a href="#unicode">unicode</a>() == 0
+ a.<a href="#isEmpty">isEmpty</a>(); // TRUE, because a.<a href="#length">length</a>() == 0
+ </pre>
+
+<p> <p>See also <a href="#isEmpty">isEmpty</a>() and <a href="#length">length</a>().
+
+<p>Examples: <a href="i18n-example.html#x1948">i18n/main.cpp</a>, <a href="ftpclient-example.html#x771">network/ftpclient/ftpmainwindow.ui.h</a>, and <a href="qdir-example.html#x1842">qdir/qdir.cpp</a>.
+<h3 class=fn>const char * <a name="latin1"></a>QString::latin1 () const
+</h3>
+Returns a Latin-1 representation of the string. The
+returned value is undefined if the string contains non-Latin-1
+characters. If you want to convert strings into formats other than
+Unicode, see the <a href="qtextcodec.html">QTextCodec</a> classes.
+<p> This function is mainly useful for boot-strapping legacy code to
+use Unicode.
+<p> The result remains valid so long as one unmodified copy of the
+source string exists.
+<p> <p>See also <a href="#fromLatin1">fromLatin1</a>(), <a href="#ascii">ascii</a>(), <a href="#utf8">utf8</a>(), and <a href="#local8Bit">local8Bit</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x869">fileiconview/qfileiconview.cpp</a> and <a href="networkprotocol-example.html#x692">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="left"></a>QString::left ( uint&nbsp;len ) const
+</h3>
+Returns a substring that contains the <em>len</em> leftmost characters
+of the string.
+<p> The whole string is returned if <em>len</em> exceeds the length of the
+string.
+<p> <pre>
+ QString s = "Pineapple";
+ QString t = s.<a href="#left">left</a>( 4 ); // t == "Pine"
+ </pre>
+
+<p> <p>See also <a href="#right">right</a>(), <a href="#mid">mid</a>(), and <a href="#isEmpty">isEmpty</a>().
+
+<p>Example: <a href="themes-example.html#x338">themes/themes.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="leftJustify"></a>QString::leftJustify ( uint&nbsp;width, <a href="qchar.html">QChar</a>&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const
+</h3>
+Returns a string of length <em>width</em> that contains this string
+padded by the <em>fill</em> character.
+<p> If <em>truncate</em> is FALSE and the length of the string is more than
+<em>width</em>, then the returned string is a copy of the string.
+<p> If <em>truncate</em> is TRUE and the length of the string is more than
+<em>width</em>, then any characters in a copy of the string after length
+<em>width</em> are removed, and the copy is returned.
+<p> <pre>
+ QString s( "apple" );
+ QString t = s.<a href="#leftJustify">leftJustify</a>( 8, '.' ); // t == "apple..."
+ </pre>
+
+<p> <p>See also <a href="#rightJustify">rightJustify</a>().
+
+<h3 class=fn>uint <a name="length"></a>QString::length () const
+</h3>
+
+<p> Returns the length of the string.
+<p> Null strings and empty strings have zero length.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<p>Examples: <a href="dirview-example.html#x1702">dirview/dirview.cpp</a>, <a href="fileiconview-example.html#x870">fileiconview/qfileiconview.cpp</a>, <a href="networkprotocol-example.html#x693">network/networkprotocol/nntp.cpp</a>, <a href="rot-example.html#x1372">rot13/rot13.cpp</a>, and <a href="themes-example.html#x339">themes/themes.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="local8Bit"></a>QString::local8Bit () const
+</h3>
+Returns the string encoded in a locale-specific format. On X11,
+this is the <a href="qtextcodec.html#codecForLocale">QTextCodec::codecForLocale</a>(). On Windows, it is a
+system-defined encoding. On Mac OS X, this always uses UTF-8 as
+the encoding.
+<p> See <a href="qtextcodec.html">QTextCodec</a> for more diverse coding/decoding of Unicode
+strings.
+<p> <p>See also <a href="#fromLocal8Bit">fromLocal8Bit</a>(), <a href="#ascii">ascii</a>(), <a href="#latin1">latin1</a>(), and <a href="#utf8">utf8</a>().
+
+<h3 class=fn>int <a name="localeAwareCompare"></a>QString::localeAwareCompare ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )<tt> [static]</tt>
+</h3>
+
+<p> Compares <em>s1</em> with <em>s2</em> and returns an integer less than, equal
+to, or greater than zero if <em>s1</em> is less than, equal to, or
+greater than <em>s2</em>.
+<p> The comparison is performed in a locale- and also
+platform-dependent manner. Use this function to present sorted
+lists of strings to the user.
+<p> <p>See also <a href="#compare">QString::compare</a>() and <a href="qtextcodec.html#locale">QTextCodec::locale</a>().
+
+<h3 class=fn>int <a name="localeAwareCompare-2"></a>QString::localeAwareCompare ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Compares this string with <em>s</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="lower"></a>QString::lower () const
+</h3>
+Returns a lowercase copy of the string.
+<p> <pre>
+ QString string( "TROlltECH" );
+ str = string.<a href="#lower">lower</a>(); // str == "trolltech"
+ </pre>
+
+<p> <p>See also <a href="#upper">upper</a>().
+
+<p>Example: <a href="scribble-example.html#x941">scribble/scribble.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="mid"></a>QString::mid ( uint&nbsp;index, uint&nbsp;len = 0xffffffff ) const
+</h3>
+Returns a string that contains the <em>len</em> characters of this
+string, starting at position <em>index</em>.
+<p> Returns a null string if the string is empty or <em>index</em> is out of
+range. Returns the whole string from <em>index</em> if <em>index</em> + <em>len</em>
+exceeds the length of the string.
+<p> <pre>
+ QString s( "Five pineapples" );
+ QString t = s.<a href="#mid">mid</a>( 5, 4 ); // t == "pine"
+ </pre>
+
+<p> <p>See also <a href="#left">left</a>() and <a href="#right">right</a>().
+
+<p>Examples: <a href="mail-example.html#x717">network/mail/smtp.cpp</a>, <a href="qmag-example.html#x1793">qmag/qmag.cpp</a>, and <a href="themes-example.html#x340">themes/themes.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number"></a>QString::number ( long&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+A convenience function that returns a string equivalent of the
+number <em>n</em> to base <em>base</em>, which is 10 by default and must be
+between 2 and 36. The returned string is in "C" locale.
+<p> <pre>
+ long a = 63;
+ QString str = QString::<a href="#number">number</a>( a, 16 ); // str == "3f"
+ QString str = QString::<a href="#number">number</a>( a, 16 ).upper(); // str == "3F"
+ </pre>
+
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<p>Examples: <a href="simple-application-example.html#x1580">application/application.cpp</a>, <a href="canvas-chart-example.html#x2893">chart/chartform.cpp</a>, <a href="simple-font-demo-example.html#x2851">fonts/simple-qfont-demo/viewer.cpp</a>, <a href="helpviewer-example.html#x1018">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2066">mdi/application.cpp</a>, <a href="regexptester-example.html#x2496">regexptester/regexptester.cpp</a>, and <a href="sql.html#x2193">sql/overview/extract/main.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-2"></a>QString::number ( ulong&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-3"></a>QString::number ( Q_LLONG&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-4"></a>QString::number ( Q_ULLONG&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-5"></a>QString::number ( int&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-6"></a>QString::number ( uint&nbsp;n, int&nbsp;base = 10 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> A convenience factory function that returns a string
+representation of the number <em>n</em> to the base <em>base</em>, which is 10
+by default and must be between 2 and 36.
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="number-7"></a>QString::number ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Argument <em>n</em> is formatted according to the <em>f</em> format specified,
+which is <tt>g</tt> by default, and can be any of the following:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Format <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>e</tt> <td valign="top">format as [-]9.9e[+|-]999
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>E</tt> <td valign="top">format as [-]9.9E[+|-]999
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>f</tt> <td valign="top">format as [-]9.9
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>g</tt> <td valign="top">use <tt>e</tt> or <tt>f</tt> format, whichever is the most concise
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>G</tt> <td valign="top">use <tt>E</tt> or <tt>f</tt> format, whichever is the most concise
+</table></center>
+<p> With 'e', 'E', and 'f', <em>prec</em> is the number of digits after the
+decimal point. With 'g' and 'G', <em>prec</em> is the maximum number of
+significant digits (trailing zeroes are omitted).
+<p> <pre>
+ double d = 12.34;
+ QString ds = <a href="#QString">QString</a>( "'E' format, precision 3, gives %1" )
+ .arg( d, 0, 'E', 3 );
+ // ds == "1.234E+001"
+ </pre>
+
+<p> <p>See also <a href="#setNum">setNum</a>().
+
+<h3 class=fn><a name="operator-const-char-*"></a>QString::operator const char * () const
+</h3>
+
+<p> Returns <a href="#ascii">ascii</a>(). Be sure to see the warnings documented in the
+ascii() function. Note that for new code which you wish to be
+strictly Unicode-clean, you can define the macro <tt>QT_NO_ASCII_CAST</tt> when compiling your code to hide this function so
+that automatic casts are not done. This has the added advantage
+that you catch the programming error described in <a href="#operator!">operator!</a>().
+
+<h3 class=fn><a name="operator-std::string"></a>QString::operator std::string () const
+</h3>
+
+<p> Returns <a href="#ascii">ascii</a>() as a std::string.
+<p> <b>Warning:</b> The function may cause an application to crash if a static C run-time is in use.
+This can happen in Microsoft Visual C++ if Qt is configured as single-threaded. A safe
+alternative is to call ascii() directly and construct a std::string manually.
+
+<h3 class=fn>bool <a name="operator!"></a>QString::operator! () const
+</h3>
+
+<p> Returns TRUE if this is a null string; otherwise returns FALSE.
+<p> <pre>
+ QString name = getName();
+ if ( !name )
+ name = "Rodney";
+ </pre>
+
+<p> Note that if you say
+<p> <pre>
+ QString name = getName();
+ if ( name )
+ doSomethingWith(name);
+ </pre>
+
+<p> It will call "operator const char*()", which is inefficent; you
+may wish to define the macro <tt>QT_NO_ASCII_CAST</tt> when writing code
+which you wish to remain Unicode-clean.
+<p> When you want the above semantics, use:
+<p> <pre>
+ QString name = getName();
+ if ( !name.<a href="#isNull">isNull</a>() )
+ doSomethingWith(name);
+ </pre>
+
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq"></a>QString::operator+= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+Appends <em>str</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq-2"></a>QString::operator+= ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq-3"></a>QString::operator+= ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq-4"></a>QString::operator+= ( const&nbsp;std::string&nbsp;&amp;&nbsp;str )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>str</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq-5"></a>QString::operator+= ( <a href="qchar.html">QChar</a>&nbsp;c )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>c</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator+-eq-6"></a>QString::operator+= ( char&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends <em>c</em> to the string and returns a reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq"></a>QString::operator= ( <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+
+<p> Sets the string to contain just the single character <em>c</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq-2"></a>QString::operator= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns a <a href="shclass.html#shallow-copy">shallow copy</a> of <em>s</em> to this string and returns a
+reference to this string. This is very fast because the string
+isn't actually copied.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq-3"></a>QString::operator= ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns a <a href="shclass.html#deep-copy">deep copy</a> of <em>str</em>, interpreted as a classic C string
+to this string and returns a reference to this string.
+<p> If <em>str</em> is 0, then a null string is created.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq-4"></a>QString::operator= ( const&nbsp;std::string&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Makes a <a href="shclass.html#deep-copy">deep copy</a> of <em>s</em> and returns a reference to the deep
+copy.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq-5"></a>QString::operator= ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;cstr )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns a <a href="shclass.html#deep-copy">deep copy</a> of <em>cstr</em>, interpreted as a classic C
+string, to this string. Returns a reference to this string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="operator-eq-6"></a>QString::operator= ( char&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to contain just the single character <em>c</em>.
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="operator[]"></a>QString::operator[] ( int&nbsp;i ) const
+</h3>
+
+<p> Returns the character at index <em>i</em>, or QChar::null if <em>i</em> is
+beyond the length of the string.
+<p> If the QString is not const (i.e., const QString) or const&amp;
+(i.e., const QString&amp;), then the non-const overload of operator[]
+will be used instead.
+
+<h3 class=fn><a href="qcharref.html">QCharRef</a> <a name="operator[]-2"></a>QString::operator[] ( int&nbsp;i )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The function returns a reference to the character at index <em>i</em>.
+The resulting reference can then be assigned to, or used
+immediately, but it will become invalid once further modifications
+are made to the original string.
+<p> If <em>i</em> is beyond the length of the string then the string is
+expanded with QChar::nulls, so that the <a href="qcharref.html">QCharRef</a> references a
+valid (null) character in the string.
+<p> The QCharRef internal class can be used much like a constant
+<a href="qchar.html">QChar</a>, but if you assign to it, you change the original string
+(which will detach itself because of QString's copy-on-write
+semantics). You will get compilation errors if you try to use the
+result as anything but a QChar.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend"></a>QString::prepend ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> Inserts <em>s</em> at the beginning of the string and returns a
+reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>s</em>).
+<p> <pre>
+ QString string = "42";
+ string.<a href="#prepend">prepend</a>( "The answer is " );
+ // string == "The answer is 42"
+ </pre>
+
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend-2"></a>QString::prepend ( char&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>ch</em> at the beginning of the string and returns a
+reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>ch</em>).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend-3"></a>QString::prepend ( <a href="qchar.html">QChar</a>&nbsp;ch )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>ch</em> at the beginning of the string and returns a
+reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>ch</em>).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend-4"></a>QString::prepend ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>s</em> at the beginning of the string and returns a reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>s</em>).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend-5"></a>QString::prepend ( const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>s</em> at the beginning of the string and returns a reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>s</em>).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="prepend-6"></a>QString::prepend ( const&nbsp;std::string&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>s</em> at the beginning of the string and returns a reference to the string.
+<p> Equivalent to <a href="#insert">insert</a>(0, <em>s</em>).
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qchar.html">QChar</a>&nbsp;&amp; <a name="ref"></a>QString::ref ( uint&nbsp;i )
+</h3>
+
+<p> Returns the <a href="qchar.html">QChar</a> at index <em>i</em> by reference, expanding the string
+with QChar::null if necessary. The resulting reference can be
+assigned to, or otherwise used immediately, but becomes invalid
+once furher modifications are made to the string.
+<p> <pre>
+ QString string("ABCDEF");
+ <a href="qchar.html">QChar</a> ch = string.<a href="#ref">ref</a>( 3 ); // ch == 'D'
+ </pre>
+
+<p> <p>See also <a href="#constref">constref</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove"></a>QString::remove ( uint&nbsp;index, uint&nbsp;len )
+</h3>
+Removes <em>len</em> characters from the string starting at position <em>index</em>, and returns a reference to the string.
+<p> If <em>index</em> is beyond the length of the string, nothing happens.
+If <em>index</em> is within the string, but <em>index</em> + <em>len</em> is beyond
+the end of the string, the string is truncated at position <em>index</em>.
+<p> <pre>
+ QString string( "Montreal" );
+ string.<a href="#remove">remove</a>( 1, 4 ); // string == "Meal"
+ </pre>
+
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#replace">replace</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove-2"></a>QString::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes every occurrence of <em>str</em> in the string. Returns a
+reference to the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> This is the same as <a href="#replace">replace</a>(<em>str</em>, "", <em>cs</em>).
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove-3"></a>QString::remove ( <a href="qchar.html">QChar</a>&nbsp;c )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes every occurrence of the character <em>c</em> in the string.
+Returns a reference to the string.
+<p> This is the same as <a href="#replace">replace</a>(<em>c</em>, "").
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove-4"></a>QString::remove ( char&nbsp;c )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Removes every occurrence of the character <em>c</em> in the string.
+Returns a reference to the string.
+<p> This is the same as <a href="#replace">replace</a>(<em>c</em>, "").
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove-5"></a>QString::remove ( const&nbsp;char&nbsp;*&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes every occurrence of <em>str</em> in the string. Returns a
+reference to the string.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="remove-6"></a>QString::remove ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes every occurrence of the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em> in the
+string. Returns a reference to the string.
+<p> This is the same as <a href="#replace">replace</a>(<em>rx</em>, "").
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace"></a>QString::replace ( uint&nbsp;index, uint&nbsp;len, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Replaces <em>len</em> characters from the string with <em>s</em>, starting at
+position <em>index</em>, and returns a reference to the string.
+<p> If <em>index</em> is beyond the length of the string, nothing is deleted
+and <em>s</em> is appended at the end of the string. If <em>index</em> is
+valid, but <em>index</em> + <em>len</em> is beyond the end of the string,
+the string is truncated at position <em>index</em>, then <em>s</em> is
+appended at the end.
+<p> <pre>
+ QString string( "Say yes!" );
+ string = string.<a href="#replace">replace</a>( 4, 3, "NO" );
+ // string == "Say NO!"
+ </pre>
+
+<p> <b>Warning:</b> Qt 3.3.3 and earlier had different semantics for the
+case <em>index</em> >= <a href="#length">length</a>(), which contradicted the documentation.
+To avoid portability problems between Qt 3 versions and with Qt
+4, we recommend that you never call the function with <em>index</em> >=
+length().
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#remove">remove</a>().
+
+<p>Examples: <a href="listviews-example.html#x162">listviews/listviews.cpp</a>, <a href="networkprotocol-example.html#x694">network/networkprotocol/nntp.cpp</a>, <a href="qmag-example.html#x1794">qmag/qmag.cpp</a>, and <a href="regexptester-example.html#x2497">regexptester/regexptester.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-2"></a>QString::replace ( uint&nbsp;index, uint&nbsp;len, const&nbsp;<a href="qchar.html">QChar</a>&nbsp;*&nbsp;s, uint&nbsp;slen )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces <em>len</em> characters with <em>slen</em> characters of <a href="qchar.html">QChar</a> data
+from <em>s</em>, starting at position <em>index</em>, and returns a reference
+to the string.
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-3"></a>QString::replace ( uint&nbsp;index, uint&nbsp;len, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is the same as <a href="#replace">replace</a>(<em>index</em>, <em>len</em>, QString(<em>c</em>)).
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-4"></a>QString::replace ( uint&nbsp;index, uint&nbsp;len, char&nbsp;c )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> This is the same as <a href="#replace">replace</a>(<em>index</em>, <em>len</em>, <a href="qchar.html">QChar</a>(<em>c</em>)).
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-5"></a>QString::replace ( <a href="qchar.html">QChar</a>&nbsp;c, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the character <em>c</em> in the string
+with <em>after</em>. Returns a reference to the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> Example:
+<pre>
+ QString s = "a,b,c";
+ s.<a href="#replace">replace</a>( QChar(','), " or " );
+ // s == "a or b or c"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-6"></a>QString::replace ( char&nbsp;c, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Replaces every occurrence of the character <em>c</em> in the string
+with <em>after</em>. Returns a reference to the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-7"></a>QString::replace ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;before, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the string <em>before</em> in the string
+with the string <em>after</em>. Returns a reference to the string.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> Example:
+<pre>
+ QString s = "Greek is Greek";
+ s.<a href="#replace">replace</a>( "Greek", "English" );
+ // s == "English is English"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-8"></a>QString::replace ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the regexp <em>rx</em> in the string with
+<em>after</em>. Returns a reference to the string. For example:
+<pre>
+ QString s = "banana";
+ s.<a href="#replace">replace</a>( QRegExp("an"), "" );
+ // s == "ba"
+ </pre>
+
+<p> For regexps containing <a href="qregexp.html#capturing-text">capturing
+ parentheses</a>, occurrences of <b>&#92;1</b>, <b>&#92;2</b>, ...,
+in <em>after</em> are replaced with <em>rx</em>.cap(1), cap(2), ...
+<p> <pre>
+ QString t = "A &lt;i&gt;bon mot&lt;/i&gt;.";
+ t.<a href="#replace">replace</a>( QRegExp("&lt;i&gt;([^&lt;]*)&lt;/i&gt;"), "\\emph{\\1}" );
+ // t == "A \\emph{bon mot}."
+ </pre>
+
+<p> <p>See also <a href="#find">find</a>(), <a href="#findRev">findRev</a>(), and <a href="qregexp.html#cap">QRegExp::cap</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="replace-9"></a>QString::replace ( <a href="qchar.html">QChar</a>&nbsp;c1, <a href="qchar.html">QChar</a>&nbsp;c2 )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of <em>c1</em> with the char <em>c2</em>. Returns a
+reference to the string.
+
+<h3 class=fn>void <a name="reserve"></a>QString::reserve ( uint&nbsp;minCapacity )
+</h3>
+Ensures that at least <em>minCapacity</em> characters are allocated to
+the string.
+<p> This function is useful for code that needs to build up a long
+string and wants to avoid repeated reallocation. In this example,
+we want to add to the string until some condition is true, and
+we're fairly sure that size is big enough:
+<pre>
+ QString result;
+ int len = 0;
+ result.<a href="#reserve">reserve</a>(maxLen);
+ while (...) {
+ result[len++] = ... // fill part of the space
+ }
+ result.<a href="#squeeze">squeeze</a>();
+ </pre>
+
+<p> If <em>maxLen</em> is an underestimate, the worst that will happen is
+that the loop will slow down.
+<p> If it is not possible to allocate enough memory, the string
+remains unchanged.
+<p> <p>See also <a href="#capacity">capacity</a>(), <a href="#squeeze">squeeze</a>(), and <a href="#setLength">setLength</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="right"></a>QString::right ( uint&nbsp;len ) const
+</h3>
+Returns a string that contains the <em>len</em> rightmost characters of
+the string.
+<p> If <em>len</em> is greater than the length of the string then the whole
+string is returned.
+<p> <pre>
+ QString string( "Pineapple" );
+ QString t = string.<a href="#right">right</a>( 5 ); // t == "apple"
+ </pre>
+
+<p> <p>See also <a href="#left">left</a>(), <a href="#mid">mid</a>(), and <a href="#isEmpty">isEmpty</a>().
+
+<p>Example: <a href="fileiconview-example.html#x871">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="rightJustify"></a>QString::rightJustify ( uint&nbsp;width, <a href="qchar.html">QChar</a>&nbsp;fill = ' ', bool&nbsp;truncate = FALSE ) const
+</h3>
+Returns a string of length <em>width</em> that contains the <em>fill</em>
+character followed by the string.
+<p> If <em>truncate</em> is FALSE and the length of the string is more than
+<em>width</em>, then the returned string is a copy of the string.
+<p> If <em>truncate</em> is TRUE and the length of the string is more than
+<em>width</em>, then the resulting string is truncated at position <em>width</em>.
+<p> <pre>
+ QString string( "apple" );
+ QString t = string.<a href="#rightJustify">rightJustify</a>( 8, '.' ); // t == "...apple"
+ </pre>
+
+<p> <p>See also <a href="#leftJustify">leftJustify</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="section"></a>QString::section ( <a href="qchar.html">QChar</a>&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const
+</h3>
+
+<p> This function returns a section of the string.
+<p> This string is treated as a sequence of fields separated by the
+character, <em>sep</em>. The returned string consists of the fields from
+position <em>start</em> to position <em>end</em> inclusive. If <em>end</em> is not
+specified, all fields from position <em>start</em> to the end of the
+string are included. Fields are numbered 0, 1, 2, etc., counting
+from the left, and -1, -2, etc., counting from right to left.
+<p> The <em>flags</em> argument can be used to affect some aspects of the
+function's behaviour, e.g. whether to be case sensitive, whether
+to skip empty fields and how to deal with leading and trailing
+separators; see <a href="#SectionFlags-enum">SectionFlags</a>.
+<p> <pre>
+ QString csv( "forename,middlename,surname,phone" );
+ QString s = csv.<a href="#section">section</a>( ',', 2, 2 ); // s == "surname"
+
+ QString path( "/usr/local/bin/myapp" ); // First field is empty
+ QString s = path.<a href="#section">section</a>( '/', 3, 4 ); // s == "bin/myapp"
+ QString s = path.<a href="#section">section</a>( '/', 3, 3, SectionSkipEmpty ); // s == "myapp"
+ </pre>
+
+<p> If <em>start</em> or <em>end</em> is negative, we count fields from the right
+of the string, the right-most field being -1, the one from
+right-most field being -2, and so on.
+<p> <pre>
+ QString csv( "forename,middlename,surname,phone" );
+ QString s = csv.<a href="#section">section</a>( ',', -3, -2 ); // s == "middlename,surname"
+
+ QString path( "/usr/local/bin/myapp" ); // First field is empty
+ QString s = path.<a href="#section">section</a>( '/', -1 ); // s == "myapp"
+ </pre>
+
+<p> <p>See also <a href="qstringlist.html#split">QStringList::split</a>().
+
+<p>Examples: <a href="tutorial2-03.html#x2551">chart/element.cpp</a> and <a href="ftpclient-example.html#x772">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="section-2"></a>QString::section ( char&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="section-3"></a>QString::section ( const&nbsp;char&nbsp;*&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="section-4"></a>QString::section ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function returns a section of the string.
+<p> This string is treated as a sequence of fields separated by the
+string, <em>sep</em>. The returned string consists of the fields from
+position <em>start</em> to position <em>end</em> inclusive. If <em>end</em> is not
+specified, all fields from position <em>start</em> to the end of the
+string are included. Fields are numbered 0, 1, 2, etc., counting
+from the left, and -1, -2, etc., counting from right to left.
+<p> The <em>flags</em> argument can be used to affect some aspects of the
+function's behaviour, e.g. whether to be case sensitive, whether
+to skip empty fields and how to deal with leading and trailing
+separators; see <a href="#SectionFlags-enum">SectionFlags</a>.
+<p> <pre>
+ QString data( "forename**middlename**surname**phone" );
+ QString s = data.<a href="#section">section</a>( "**", 2, 2 ); // s == "surname"
+ </pre>
+
+<p> If <em>start</em> or <em>end</em> is negative, we count fields from the right
+of the string, the right-most field being -1, the one from
+right-most field being -2, and so on.
+<p> <pre>
+ QString data( "forename**middlename**surname**phone" );
+ QString s = data.<a href="#section">section</a>( "**", -3, -2 ); // s == "middlename**surname"
+ </pre>
+
+<p> <p>See also <a href="qstringlist.html#split">QStringList::split</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="section-5"></a>QString::section ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;reg, int&nbsp;start, int&nbsp;end = 0xffffffff, int&nbsp;flags = SectionDefault ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function returns a section of the string.
+<p> This string is treated as a sequence of fields separated by the
+<a href="qregexp.html#regular-expression">regular expression</a>, <em>reg</em>. The returned string consists of the
+fields from position <em>start</em> to position <em>end</em> inclusive. If <em>end</em> is not specified, all fields from position <em>start</em> to the end
+of the string are included. Fields are numbered 0, 1, 2, etc., counting
+from the left, and -1, -2, etc., counting from right to left.
+<p> The <em>flags</em> argument can be used to affect some aspects of the
+function's behaviour, e.g. whether to be case sensitive, whether
+to skip empty fields and how to deal with leading and trailing
+separators; see <a href="#SectionFlags-enum">SectionFlags</a>.
+<p> <pre>
+ QString line( "forename\tmiddlename surname \t \t phone" );
+ <a href="qregexp.html">QRegExp</a> sep( "\s+" );
+ QString s = line.<a href="#section">section</a>( sep, 2, 2 ); // s == "surname"
+ </pre>
+
+<p> If <em>start</em> or <em>end</em> is negative, we count fields from the right
+of the string, the right-most field being -1, the one from
+right-most field being -2, and so on.
+<p> <pre>
+ QString line( "forename\tmiddlename surname \t \t phone" );
+ <a href="qregexp.html">QRegExp</a> sep( "\\s+" );
+ QString s = line.<a href="#section">section</a>( sep, -3, -2 ); // s == "middlename surname"
+ </pre>
+
+<p> <b>Warning:</b> Using this <a href="qregexp.html">QRegExp</a> version is much more expensive than
+the overloaded string and character versions.
+<p> <p>See also <a href="qstringlist.html#split">QStringList::split</a>() and <a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setAscii"></a>QString::setAscii ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;len = -1 )
+</h3>
+Sets this string to <em>str</em>, interpreted as a classic 8-bit ASCII C
+string. If <em>len</em> is -1 (the default), then it is set to
+strlen(str).
+<p> If <em>str</em> is 0 a null string is created. If <em>str</em> is "", an empty
+string is created.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>void <a name="setExpand"></a>QString::setExpand ( uint&nbsp;index, <a href="qchar.html">QChar</a>&nbsp;c )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the character at position <em>index</em> to <em>c</em> and expands the
+string if necessary, filling with spaces.
+<p> This method is redundant in Qt 3.x, because operator[] will expand
+the string as necessary.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setLatin1"></a>QString::setLatin1 ( const&nbsp;char&nbsp;*&nbsp;str, int&nbsp;len = -1 )
+</h3>
+Sets this string to <em>str</em>, interpreted as a classic Latin-1 C
+string. If <em>len</em> is -1 (the default), then it is set to
+strlen(str).
+<p> If <em>str</em> is 0 a null string is created. If <em>str</em> is "", an empty
+string is created.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>void <a name="setLength"></a>QString::setLength ( uint&nbsp;newLen )
+</h3>
+Ensures that at least <em>newLen</em> characters are allocated to the
+string, and sets the length of the string to <em>newLen</em>. Any new
+space allocated contains arbitrary data.
+<p> <p>See also <a href="#reserve">reserve</a>() and <a href="#truncate">truncate</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum"></a>QString::setNum ( Q_LLONG&nbsp;n, int&nbsp;base = 10 )
+</h3>
+Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string. The returned string is in "C" locale.
+<p> The base is 10 by default and must be between 2 and 36.
+<p> <pre>
+ QString string;
+ string = string.<a href="#setNum">setNum</a>( 1234 ); // string == "1234"
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-2"></a>QString::setNum ( short&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string.
+<p> The base is 10 by default and must be between 2 and 36.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-3"></a>QString::setNum ( ushort&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string.
+<p> The base is 10 by default and must be between 2 and 36.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-4"></a>QString::setNum ( int&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string.
+<p> The base is 10 by default and must be between 2 and 36.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-5"></a>QString::setNum ( uint&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string.
+<p> The base is 10 by default and must be between 2 and 36.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-6"></a>QString::setNum ( long&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-7"></a>QString::setNum ( ulong&nbsp;n, int&nbsp;base = 10 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-8"></a>QString::setNum ( Q_ULLONG&nbsp;n, int&nbsp;base = 10 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em> in base <em>base</em> and
+returns a reference to the string.
+<p> The base is 10 by default and must be between 2 and 36.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-9"></a>QString::setNum ( float&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em>, formatted in format
+<em>f</em> with precision <em>prec</em>, and returns a reference to the
+string.
+<p> The format <em>f</em> can be 'f', 'F', 'e', 'E', 'g' or 'G'. See <a href="#arg-formats">arg</a>() for an explanation of the formats.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setNum-a"></a>QString::setNum ( double&nbsp;n, char&nbsp;f = 'g', int&nbsp;prec = 6 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the string to the printed value of <em>n</em>, formatted in format
+<em>f</em> with precision <em>prec</em>, and returns a reference to the
+string.
+<p> The format <em>f</em> can be 'f', 'F', 'e', 'E', 'g' or 'G'. See <a href="#arg-formats">arg</a>() for an explanation of the formats.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setUnicode"></a>QString::setUnicode ( const&nbsp;<a href="qchar.html">QChar</a>&nbsp;*&nbsp;unicode, uint&nbsp;len )
+</h3>
+Resizes the string to <em>len</em> characters and copies <em>unicode</em> into
+the string. If <em>unicode</em> is 0, nothing is copied, but the
+string is still resized to <em>len</em>. If <em>len</em> is zero, then the
+string becomes a <a href="#isNull">null</a> string.
+<p> <p>See also <a href="#setLatin1">setLatin1</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="setUnicodeCodes"></a>QString::setUnicodeCodes ( const&nbsp;ushort&nbsp;*&nbsp;unicode_as_ushorts, uint&nbsp;len )
+</h3>
+Resizes the string to <em>len</em> characters and copies <em>unicode_as_ushorts</em> into the string (on some X11 client platforms
+this will involve a byte-swapping pass).
+<p> If <em>unicode_as_ushorts</em> is 0, nothing is copied, but the string
+is still resized to <em>len</em>. If <em>len</em> is zero, the string becomes
+a <a href="#isNull">null</a> string.
+<p> <p>See also <a href="#setLatin1">setLatin1</a>() and <a href="#isNull">isNull</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="simplifyWhiteSpace"></a>QString::simplifyWhiteSpace () const
+</h3>
+Returns a string that has whitespace removed from the start and
+the end, and which has each sequence of internal whitespace
+replaced with a single space.
+<p> Whitespace means any character for which <a href="qchar.html#isSpace">QChar::isSpace</a>() returns
+TRUE. This includes Unicode characters with decimal values 9
+(TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR), and 32 (Space).
+<p> <pre>
+ QString string = " lots\t of\nwhite space ";
+ QString t = string.<a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>();
+ // t == "lots of white space"
+ </pre>
+
+<p> <p>See also <a href="#stripWhiteSpace">stripWhiteSpace</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="sprintf"></a>QString::sprintf ( const&nbsp;char&nbsp;*&nbsp;cformat, ... )
+</h3>
+Safely builds a formatted string from the format string <em>cformat</em>
+and an arbitrary list of arguments. The format string supports all
+the escape sequences of printf() in the standard C library.
+<p> The %s escape sequence expects a <a href="#utf8">utf8</a>() encoded string. The format
+string <em>cformat</em> is expected to be in latin1. If you need a
+Unicode format string, use <a href="#arg">arg</a>() instead. For typesafe string
+building, with full Unicode support, you can use <a href="qtextostream.html">QTextOStream</a> like
+this:
+<p> <pre>
+ QString str;
+ QString s = ...;
+ int x = ...;
+ QTextOStream( &amp;str ) &lt;&lt; s &lt;&lt; " : " &lt;&lt; x;
+ </pre>
+
+<p> For <a href="qobject.html#tr">translations,</a> especially if the
+strings contains more than one escape sequence, you should
+consider using the arg() function instead. This allows the order
+of the replacements to be controlled by the translator, and has
+Unicode support.
+<p> The %lc escape sequence expects a unicode character of type ushort
+(as returned by <a href="qchar.html#unicode">QChar::unicode</a>()).
+The %ls escape sequence expects a pointer to a zero-terminated
+array of unicode characters of type ushort (as returned by
+<a href="#ucs2">QString::ucs2</a>()).
+<p> <p>See also <a href="#arg">arg</a>().
+
+<p>Examples: <a href="dclock-example.html#x1103">dclock/dclock.cpp</a>, <a href="forever-example.html#x1052">forever/forever.cpp</a>, <a href="layout-example.html#x542">layout/layout.cpp</a>, <a href="qmag-example.html#x1795">qmag/qmag.cpp</a>, <a href="scrollview-example.html#x656">scrollview/scrollview.cpp</a>, <a href="tooltip-example.html#x449">tooltip/tooltip.cpp</a>, and <a href="xform-example.html#x1265">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="squeeze"></a>QString::squeeze ()
+</h3>
+Squeezes the string's capacity to the current content.
+<p> <p>See also <a href="#capacity">capacity</a>() and <a href="#reserve">reserve</a>().
+
+<h3 class=fn>bool <a name="startsWith"></a>QString::startsWith ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, bool&nbsp;cs = TRUE ) const
+</h3>
+Returns TRUE if the string starts with <em>s</em>; otherwise returns
+FALSE.
+<p> If <em>cs</em> is TRUE (the default), the search is case sensitive;
+otherwise the search is case insensitive.
+<p> <pre>
+ QString str( "Bananas" );
+ str.<a href="#startsWith">startsWith</a>( "Ban" ); // returns TRUE
+ str.<a href="#startsWith">startsWith</a>( "Car" ); // returns FALSE
+ </pre>
+
+<p> <p>See also <a href="#endsWith">endsWith</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="stripWhiteSpace"></a>QString::stripWhiteSpace () const
+</h3>
+Returns a string that has whitespace removed from the start and
+the end.
+<p> Whitespace means any character for which <a href="qchar.html#isSpace">QChar::isSpace</a>() returns
+TRUE. This includes Unicode characters with decimal values 9
+(TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR) and 32 (Space), and may
+also include other Unicode characters.
+<p> <pre>
+ QString string = " white space ";
+ QString s = string.<a href="#stripWhiteSpace">stripWhiteSpace</a>(); // s == "white space"
+ </pre>
+
+<p> <p>See also <a href="#simplifyWhiteSpace">simplifyWhiteSpace</a>().
+
+<h3 class=fn>double <a name="toDouble"></a>QString::toDouble ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>double</tt> value.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> <pre>
+ QString string( "1234.56" );
+ double a = string.<a href="#toDouble">toDouble</a>(); // a == 1234.56
+ </pre>
+
+<p> The string-to-number functions:
+<ul>
+<li> <a href="#toShort">toShort</a>()
+<li> <a href="#toUShort">toUShort</a>()
+<li> <a href="#toInt">toInt</a>()
+<li> <a href="#toUInt">toUInt</a>()
+<li> <a href="#toLong">toLong</a>()
+<li> <a href="#toULong">toULong</a>()
+<li> <a href="#toLongLong">toLongLong</a>()
+<li> <a href="#toULongLong">toULongLong</a>()
+<li> <a href="#toFloat">toFloat</a>()
+<li> <a href="#toDouble">toDouble</a>()
+</ul>
+can handle numbers
+represented in various locales. These representations may use different
+characters for the decimal point, thousands group sepearator
+and even individual digits. QString's functions try to interpret
+the string according to the current locale. The current locale is
+determined from the system at application startup and can be changed
+by calling <a href="qlocale.html#setDefault">QLocale::setDefault</a>(). If the string cannot be interpreted
+according to the current locale, this function falls back
+on the "C" locale.
+<p> <pre>
+ bool ok;
+ double d;
+
+ QLocale::<a href="qlocale.html#setDefault">setDefault</a>(QLocale::C);
+ d = <a href="#QString">QString</a>( "1234,56" ).toDouble(&amp;ok); // ok == false
+ d = <a href="#QString">QString</a>( "1234.56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+
+ QLocale::<a href="qlocale.html#setDefault">setDefault</a>(QLocale::German);
+ d = <a href="#QString">QString</a>( "1234,56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+ d = <a href="#QString">QString</a>( "1234.56" ).toDouble(&amp;ok); // ok == true, d == 1234.56
+ </pre>
+
+<p> Due to the ambiguity between the decimal point and thousands group
+separator in various locales, these functions do not handle
+thousands group separators. If you need to convert such numbers,
+use the corresponding function in <a href="qlocale.html">QLocale</a>.
+<p> <pre>
+ bool ok;
+ QLocale::<a href="qlocale.html#setDefault">setDefault</a>(QLocale::C);
+ double d = <a href="#QString">QString</a>( "1,234,567.89" ).toDouble(&amp;ok); // ok == false
+ </pre>
+
+<p> <b>Warning:</b> If the string contains trailing whitespace this function
+will fail, and set <em>*ok</em> to false if <em>ok</em> is not 0. Leading
+whitespace is ignored.
+<p> <p>See also <a href="#number">number</a>(), <a href="qlocale.html#setDefault">QLocale::setDefault</a>(), <a href="qlocale.html#toDouble">QLocale::toDouble</a>(), and <a href="#stripWhiteSpace">stripWhiteSpace</a>().
+
+<h3 class=fn>float <a name="toFloat"></a>QString::toFloat ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the string converted to a <tt>float</tt> value.
+<p> Returns 0.0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <b>Warning:</b> If the string contains trailing whitespace this function
+will fail, settings <em>*ok</em> to false if <em>ok</em> is not 0.
+Leading whitespace is ignored.
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>int <a name="toInt"></a>QString::toInt ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to an <tt>int</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> <pre>
+ QString str( "FF" );
+ bool ok;
+ int hex = str.<a href="#toInt">toInt</a>( &amp;ok, 16 ); // hex == 255, ok == TRUE
+ int dec = str.<a href="#toInt">toInt</a>( &amp;ok, 10 ); // dec == 0, ok == FALSE
+ </pre>
+
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>long <a name="toLong"></a>QString::toLong ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to a <tt>long</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>Q_LLONG <a name="toLongLong"></a>QString::toLongLong ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to a <tt>long long</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>short <a name="toShort"></a>QString::toShort ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to a <tt>short</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>uint <a name="toUInt"></a>QString::toUInt ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to an <tt>unsigned int</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>ulong <a name="toULong"></a>QString::toULong ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to an <tt>unsigned long</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>Q_ULLONG <a name="toULongLong"></a>QString::toULongLong ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to an <tt>unsigned long long</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>ushort <a name="toUShort"></a>QString::toUShort ( bool&nbsp;*&nbsp;ok = 0, int&nbsp;base = 10 ) const
+</h3>
+Returns the string converted to an <tt>unsigned short</tt> using base <em>base</em>, which is 10 by default and must be between 2 and 36 or 0. If
+<em>base</em> is 0, the base is determined automatically using the
+following rules:
+<ul>
+<li>If the string begins with "0x", it is assumed to
+be hexadecimal;
+<li>If it begins with "0", it is assumed to be octal;
+<li>Otherwise it is assumed to be decimal.
+</ul>
+<p> Returns 0 if the conversion fails.
+<p> If <em>ok</em> is not 0: if a conversion error occurs, <em>*ok</em> is set to
+FALSE; otherwise <em>*ok</em> is set to TRUE.
+<p> Leading and trailing whitespace is ignored by this function.
+<p> For information on how string-to-number functions in QString handle
+localized input, see <a href="#toDouble">toDouble</a>().
+<p> <p>See also <a href="#number">number</a>().
+
+<h3 class=fn>void <a name="truncate"></a>QString::truncate ( uint&nbsp;newLen )
+</h3>
+If <em>newLen</em> is less than the length of the string, then the
+string is truncated at position <em>newLen</em>. Otherwise nothing
+happens.
+<p> <pre>
+ QString s = "truncate me";
+ s.<a href="#truncate">truncate</a>( 5 ); // s == "trunc"
+ </pre>
+
+<p> <p>See also <a href="#setLength">setLength</a>().
+
+<p>Example: <a href="mail-example.html#x718">network/mail/smtp.cpp</a>.
+<h3 class=fn>const unsigned short * <a name="ucs2"></a>QString::ucs2 () const
+</h3>
+Returns the QString as a zero terminated array of unsigned shorts
+if the string is not null; otherwise returns zero.
+<p> The result remains valid so long as one unmodified
+copy of the source string exists.
+
+<p>Example: <a href="activeqt-dotnet.html#x2467">dotnet/wrapper/lib/tools.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qchar.html">QChar</a>&nbsp;* <a name="unicode"></a>QString::unicode () const
+</h3>
+
+<p> Returns the Unicode representation of the string. The result
+remains valid until the string is modified.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="upper"></a>QString::upper () const
+</h3>
+Returns an uppercase copy of the string.
+<p> <pre>
+ QString string( "TeXt" );
+ str = string.<a href="#upper">upper</a>(); // t == "TEXT"
+ </pre>
+
+<p> <p>See also <a href="#lower">lower</a>().
+
+<p>Examples: <a href="scribble-example.html#x942">scribble/scribble.cpp</a> and <a href="sql.html#x2240">sql/overview/custom1/main.cpp</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="utf8"></a>QString::utf8 () const
+</h3>
+Returns the string encoded in UTF-8 format.
+<p> See <a href="qtextcodec.html">QTextCodec</a> for more diverse coding/decoding of Unicode strings.
+<p> <p>See also <a href="#fromUtf8">fromUtf8</a>(), <a href="#ascii">ascii</a>(), <a href="#latin1">latin1</a>(), and <a href="#local8Bit">local8Bit</a>().
+
+<p>Example: <a href="archivesearch-example.html#x483">network/archivesearch/archivedialog.ui.h</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn>bool <a name="operator!-eq"></a>operator!= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is not equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) != 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator!-eq-2"></a>operator!= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is not equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) != 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator!-eq-3"></a>operator!= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is not equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) != 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="operator+"></a>operator+ ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns a string which is the result of concatenating the string
+<em>s1</em> and the string <em>s2</em>.
+<p> Equivalent to <em>s1</em>.<a href="#append">append</a>(<em>s2</em>).
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="operator+-2"></a>operator+ ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which is the result of concatenating the string
+<em>s1</em> and character <em>s2</em>.
+<p> Equivalent to <em>s1</em>.<a href="#append">append</a>(<em>s2</em>).
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="operator+-3"></a>operator+ ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which is the result of concatenating the
+character <em>s1</em> and string <em>s2</em>.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="operator+-4"></a>operator+ ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, char&nbsp;c )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which is the result of concatenating the string
+<em>s</em> and character <em>c</em>.
+<p> Equivalent to <em>s</em>.<a href="#append">append</a>(<em>c</em>).
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="operator+-5"></a>operator+ ( char&nbsp;c, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns a string which is the result of concatenating the
+character <em>c</em> and string <em>s</em>.
+<p> Equivalent to <em>s</em>.<a href="#prepend">prepend</a>(<em>c</em>).
+
+<h3 class=fn>bool <a name="operator-lt"></a>operator&lt; ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically less than <em>s2</em>; otherwise returns FALSE.
+The comparison is case sensitive.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &lt; 0.
+
+<h3 class=fn>bool <a name="operator-lt-2"></a>operator&lt; ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically less than <em>s2</em>; otherwise returns FALSE.
+The comparison is case sensitive.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &lt; 0.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+<p> Writes the string <em>str</em> to the stream <em>s</em>.
+<p> See also <a href="datastreamformat.html">Format of the QDataStream operators</a>
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>operator&lt;= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically less than or equal to <em>s2</em>;
+otherwise returns FALSE.
+The comparison is case sensitive.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>,<em>s2</em>) &lt;= 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-lt-eq-2"></a>operator&lt;= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically less than or equal to <em>s2</em>;
+otherwise returns FALSE.
+The comparison is case sensitive.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &lt;= 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>operator== ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) == 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>operator== ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) == 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-eq-eq-3"></a>operator== ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is equal to <em>s2</em>; otherwise returns FALSE.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) == 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-gt"></a>operator&gt; ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically greater than <em>s2</em>; otherwise
+returns FALSE.
+The comparison is case sensitive.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &gt; 0.
+
+<h3 class=fn>bool <a name="operator-gt-2"></a>operator&gt; ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically greater than <em>s2</em>; otherwise
+returns FALSE.
+The comparison is case sensitive.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &gt; 0.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>operator&gt;= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s1, const&nbsp;char&nbsp;*&nbsp;s2 )
+</h3>
+
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically greater than or equal to <em>s2</em>;
+otherwise returns FALSE.
+The comparison is case sensitive.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &gt;= 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="operator-gt-eq-2"></a>operator&gt;= ( const&nbsp;char&nbsp;*&nbsp;s1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s2 )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Returns TRUE if <em>s1</em> is lexically greater than or equal to <em>s2</em>;
+otherwise returns FALSE.
+The comparison is case sensitive.
+Note that a null string is not equal to a not-null empty string.
+<p> Equivalent to <a href="#compare">compare</a>(<em>s1</em>, <em>s2</em>) &gt;= 0.
+<p> <p>See also <a href="#isNull">isNull</a>() and <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+
+<p> Reads a string from the stream <em>s</em> into string <em>str</em>.
+<p> See also <a href="datastreamformat.html">Format of the QDataStream operators</a>
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstringlist-h.html b/doc/html/qstringlist-h.html
new file mode 100644
index 0000000..6a70d49
--- /dev/null
+++ b/doc/html/qstringlist-h.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstringlist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstringlist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstringlist.h</h1>
+
+<p>This is the verbatim text of the qstringlist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstringlist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QStringList class
+**
+** Created : 990406
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTRINGLIST_H
+#define QSTRINGLIST_H
+
+#ifndef QT_H
+#include "qvaluelist.h"
+#include "qstring.h"
+#include "qstrlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_STRINGLIST
+
+class QRegExp;
+template &lt;class T&gt; class QDeepCopy;
+
+#if defined(Q_TEMPLATEDLL)
+// MOC_SKIP_BEGIN
+//Q_TEMPLATE_EXTERN template class Q_EXPORT QValueList&lt;QString&gt;;
+// MOC_SKIP_END
+#endif
+
+class Q_EXPORT QStringList : public QValueList&lt;QString&gt;
+{
+public:
+ QStringList() { }
+ QStringList( const QStringList&amp; l ) : QValueList&lt;QString&gt;(l) { }
+ QStringList( const QValueList&lt;QString&gt;&amp; l ) : QValueList&lt;QString&gt;(l) { }
+ QStringList( const QString&amp; i ) { append(i); }
+#ifndef QT_NO_CAST_ASCII
+ QStringList( const char* i ) { append(i); }
+#endif
+
+ static QStringList fromStrList(const QStrList&amp;);
+
+ void sort();
+
+ static QStringList split( const QString &amp;sep, const QString &amp;str, bool allowEmptyEntries = FALSE );
+ static QStringList split( const QChar &amp;sep, const QString &amp;str, bool allowEmptyEntries = FALSE );
+#ifndef QT_NO_REGEXP
+ static QStringList split( const QRegExp &amp;sep, const QString &amp;str, bool allowEmptyEntries = FALSE );
+#endif
+ QString join( const QString &amp;sep ) const;
+
+ QStringList grep( const QString &amp;str, bool cs = TRUE ) const;
+#ifndef QT_NO_REGEXP
+ QStringList grep( const QRegExp &amp;expr ) const;
+#endif
+
+ QStringList&amp; gres( const QString &amp;before, const QString &amp;after,
+ bool cs = TRUE );
+#ifndef QT_NO_REGEXP_CAPTURE
+ QStringList&amp; gres( const QRegExp &amp;expr, const QString &amp;after );
+#endif
+
+protected:
+ void detach() { QValueList&lt;QString&gt;::detach(); }
+ friend class QDeepCopy&lt; QStringList &gt;;
+};
+
+#ifndef QT_NO_DATASTREAM
+class QDataStream;
+extern Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QStringList&amp; );
+extern Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QStringList&amp; );
+#endif
+
+#endif // QT_NO_STRINGLIST
+#endif // QSTRINGLIST_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstringlist-members.html b/doc/html/qstringlist-members.html
new file mode 100644
index 0000000..f6cd04f
--- /dev/null
+++ b/doc/html/qstringlist-members.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstringlist.h:58 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStringList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStringList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstringlist.html">QStringList</a>, including inherited members.
+
+<ul>
+<li><a href="qstringlist.html#QStringList">QStringList</a>()
+<li><a href="qvaluelist.html#append">append</a>()
+<li><a href="qvaluelist.html#at">at</a>()
+<li><a href="qvaluelist.html#back">back</a>()
+<li><a href="qvaluelist.html#begin">begin</a>()
+<li><a href="qvaluelist.html#clear">clear</a>()
+<li><a href="qvaluelist.html#constBegin">constBegin</a>()
+<li><a href="qvaluelist.html#constEnd">constEnd</a>()
+<li><a href="qvaluelist.html#contains">contains</a>()
+<li><a href="qvaluelist.html#count">count</a>()
+<li><a href="qvaluelist.html#empty">empty</a>()
+<li><a href="qvaluelist.html#end">end</a>()
+<li><a href="qvaluelist.html#erase">erase</a>()
+<li><a href="qvaluelist.html#find">find</a>()
+<li><a href="qvaluelist.html#findIndex">findIndex</a>()
+<li><a href="qvaluelist.html#first">first</a>()
+<li><a href="qvaluelist.html#fromLast">fromLast</a>()
+<li><a href="qstringlist.html#fromStrList">fromStrList</a>()
+<li><a href="qvaluelist.html#front">front</a>()
+<li><a href="qstringlist.html#grep">grep</a>()
+<li><a href="qstringlist.html#gres">gres</a>()
+<li><a href="qvaluelist.html#insert">insert</a>()
+<li><a href="qvaluelist.html#isEmpty">isEmpty</a>()
+<li><a href="qstringlist.html#join">join</a>()
+<li><a href="qvaluelist.html#last">last</a>()
+<li><a href="qvaluelist.html#operator!-eq">operator!=</a>()
+<li><a href="qvaluelist.html#operator+">operator+</a>()
+<li><a href="qvaluelist.html#operator+-eq">operator+=</a>()
+<li><a href="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qvaluelist.html#operator-eq">operator=</a>()
+<li><a href="qvaluelist.html#operator-eq-eq">operator==</a>()
+<li><a href="qvaluelist.html#operator[]">operator[]</a>()
+<li><a href="qvaluelist.html#pop_back">pop_back</a>()
+<li><a href="qvaluelist.html#pop_front">pop_front</a>()
+<li><a href="qvaluelist.html#prepend">prepend</a>()
+<li><a href="qvaluelist.html#push_back">push_back</a>()
+<li><a href="qvaluelist.html#push_front">push_front</a>()
+<li><a href="qvaluelist.html#remove">remove</a>()
+<li><a href="qvaluelist.html#size">size</a>()
+<li><a href="qstringlist.html#sort">sort</a>()
+<li><a href="qstringlist.html#split">split</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstringlist.html b/doc/html/qstringlist.html
new file mode 100644
index 0000000..e626edf
--- /dev/null
+++ b/doc/html/qstringlist.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qstringlist.cpp:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStringList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStringList Class Reference</h1>
+
+<p>The QStringList class provides a list of strings.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;</tt>
+<p>Inherits <a href="qvaluelist.html">QValueList</a>&lt;QString&gt;.
+<p><a href="qstringlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStringList"><b>QStringList</b></a> ()</li>
+<li class=fn><a href="#QStringList-2"><b>QStringList</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;l )</li>
+<li class=fn><a href="#QStringList-3"><b>QStringList</b></a> ( const&nbsp;QValueList&lt;QString&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn><a href="#QStringList-4"><b>QStringList</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;i )</li>
+<li class=fn><a href="#QStringList-5"><b>QStringList</b></a> ( const&nbsp;char&nbsp;*&nbsp;i )</li>
+<li class=fn>void <a href="#sort"><b>sort</b></a> ()</li>
+<li class=fn>QString <a href="#join"><b>join</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;sep ) const</li>
+<li class=fn>QStringList <a href="#grep"><b>grep</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE ) const</li>
+<li class=fn>QStringList <a href="#grep-2"><b>grep</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx ) const</li>
+<li class=fn>QStringList &amp; <a href="#gres"><b>gres</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;before, const&nbsp;QString&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )</li>
+<li class=fn>QStringList &amp; <a href="#gres-2"><b>gres</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;rx, const&nbsp;QString&nbsp;&amp;&nbsp;after )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStringList <a href="#fromStrList"><b>fromStrList</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;ascii )</li>
+<li class=fn>QStringList <a href="#split-2"><b>split</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;sep, const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )</li>
+<li class=fn>QStringList <a href="#split-3"><b>split</b></a> ( const&nbsp;QChar&nbsp;&amp;&nbsp;sep, const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )</li>
+<li class=fn>QStringList <a href="#split"><b>split</b></a> ( const&nbsp;QRegExp&nbsp;&amp;&nbsp;sep, const&nbsp;QString&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QStringList class provides a list of strings.
+<p>
+
+
+
+<p> It is used to store and manipulate strings that logically belong
+together. Essentially QStringList is a <a href="qvaluelist.html">QValueList</a> of <a href="qstring.html">QString</a>
+objects. Unlike <a href="qstrlist.html">QStrList</a>, which stores pointers to characters,
+QStringList holds real QString objects. It is the class of choice
+whenever you work with Unicode strings. QStringList is part of the
+<a href="qtl.html">Qt Template Library</a>.
+<p> Like QString itself, QStringList objects are <a href="shclass.html#implicitly-shared">implicitly shared</a>, so
+passing them around as value-parameters is both fast and safe.
+<p> Strings can be added to a list using <a href="qvaluelist.html#append">append</a>(), <a href="qvaluelist.html#operator+-eq">operator+=</a>() or
+<a href="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</a>(), e.g.
+<pre>
+ QStringList fonts;
+ fonts.<a href="qvaluelist.html#append">append</a>( "Times" );
+ fonts += "Courier";
+ fonts += "Courier New";
+ fonts &lt;&lt; "Helvetica [Cronyx]" &lt;&lt; "Helvetica [Adobe]";
+ </pre>
+
+<p> String lists have an iterator, QStringList::Iterator(), e.g.
+<pre>
+ for ( QStringList::<a href="qvaluelist.html#Iterator">Iterator</a> it = fonts.begin(); it != fonts.end(); ++it ) {
+ cout &lt;&lt; *it &lt;&lt; ":";
+ }
+ cout &lt;&lt; endl;
+ // Output:
+ // Times:Courier:Courier New:Helvetica [Cronyx]:Helvetica [Adobe]:
+ </pre>
+
+<p> Many Qt functions return string lists by value; to iterate over
+these you should make a copy and iterate over the copy.
+<p> You can concatenate all the strings in a string list into a single
+string (with an optional separator) using <a href="#join">join</a>(), e.g.
+<pre>
+ <a href="qstring.html">QString</a> allFonts = fonts.join( ", " );
+ cout &lt;&lt; allFonts &lt;&lt; endl;
+ // Output:
+ // Times, Courier, Courier New, Helvetica [Cronyx], Helvetica [Adobe]
+ </pre>
+
+<p> You can sort the list with <a href="#sort">sort</a>(), and extract a new list which
+contains only those strings which contain a particular substring
+(or match a particular <a href="qregexp.html#regular-expression">regular expression</a>) using the <a href="#grep">grep</a>()
+functions, e.g.
+<pre>
+ fonts.sort();
+ cout &lt;&lt; fonts.join( ", " ) &lt;&lt; endl;
+ // Output:
+ // Courier, Courier New, Helvetica [Adobe], Helvetica [Cronyx], Times
+
+ QStringList helveticas = fonts.grep( "Helvetica" );
+ cout &lt;&lt; helveticas.<a href="#join">join</a>( ", " ) &lt;&lt; endl;
+ // Output:
+ // Helvetica [Adobe], Helvetica [Cronyx]
+ </pre>
+
+<p> Existing strings can be split into string lists with character,
+string or regular expression separators, e.g.
+<pre>
+ <a href="qstring.html">QString</a> s = "Red\tGreen\tBlue";
+ QStringList colors = QStringList::<a href="#split">split</a>( "\t", s );
+ cout &lt;&lt; colors.<a href="#join">join</a>( ", " ) &lt;&lt; endl;
+ // Output:
+ // Red, Green, Blue
+ </pre>
+
+<p>See also <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, <a href="text.html">Text Related Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStringList"></a>QStringList::QStringList ()
+</h3>
+
+<p> Creates an empty string list.
+
+<h3 class=fn><a name="QStringList-2"></a>QStringList::QStringList ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Creates a copy of the list <em>l</em>. This function is very fast
+because QStringList is <a href="shclass.html#implicitly-shared">implicitly shared</a>. In most situations this
+acts like a <a href="shclass.html#deep-copy">deep copy</a>, for example, if this list or the original
+one or some other list referencing the same shared data is
+modified, the modifying list first makes a copy, i.e.
+copy-on-write.
+In a threaded environment you may require a real deep copy
+.
+
+<h3 class=fn><a name="QStringList-3"></a>QStringList::QStringList ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QString&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Constructs a new string list that is a copy of <em>l</em>.
+
+<h3 class=fn><a name="QStringList-4"></a>QStringList::QStringList ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;i )
+</h3>
+
+<p> Constructs a string list consisting of the single string <em>i</em>.
+Longer lists are easily created as follows:
+<p> <pre>
+ QStringList items;
+ items &lt;&lt; "Buy" &lt;&lt; "Sell" &lt;&lt; "Update" &lt;&lt; "Value";
+ </pre>
+
+
+<h3 class=fn><a name="QStringList-5"></a>QStringList::QStringList ( const&nbsp;char&nbsp;*&nbsp;i )
+</h3>
+
+<p> Constructs a string list consisting of the single Latin-1 string <em>i</em>.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="fromStrList"></a>QStringList::fromStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;ascii )<tt> [static]</tt>
+</h3>
+Converts from an ASCII-QStrList <em>ascii</em> to a QStringList (Unicode).
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="grep"></a>QStringList::grep ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;cs = TRUE ) const
+</h3>
+Returns a list of all the strings containing the substring <em>str</em>.
+<p> If <em>cs</em> is TRUE, the grep is done case-sensitively; otherwise
+case is ignored.
+<p> <pre>
+ QStringList list;
+ list &lt;&lt; "Bill Gates" &lt;&lt; "John Doe" &lt;&lt; "Bill Clinton";
+ list = list.<a href="#grep">grep</a>( "Bill" );
+ // list == ["Bill Gates", "Bill Clinton"]
+ </pre>
+
+<p> <p>See also <a href="qstring.html#find">QString::find</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="grep-2"></a>QStringList::grep ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of all the strings that match the <a href="qregexp.html#regular-expression">regular expression</a> <em>rx</em>.
+<p> <p>See also <a href="qstring.html#find">QString::find</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a>&nbsp;&amp; <a name="gres"></a>QStringList::gres ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;before, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after, bool&nbsp;cs = TRUE )
+</h3>
+Replaces every occurrence of the string <em>before</em> in the strings
+that constitute the string list with the string <em>after</em>. Returns
+a reference to the string list.
+<p> If <em>cs</em> is TRUE, the search is case sensitive; otherwise the
+search is case insensitive.
+<p> Example:
+<pre>
+ QStringList list;
+ list &lt;&lt; "alpha" &lt;&lt; "beta" &lt;&lt; "gamma" &lt;&lt; "epsilon";
+ list.<a href="#gres">gres</a>( "a", "o" );
+ // list == ["olpho", "beto", "gommo", "epsilon"]
+ </pre>
+
+<p> <p>See also <a href="qstring.html#replace">QString::replace</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a>&nbsp;&amp; <a name="gres-2"></a>QStringList::gres ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;rx, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;after )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Replaces every occurrence of the regexp <em>rx</em> in the string
+with <em>after</em>. Returns a reference to the string list.
+<p> Example:
+<pre>
+ QStringList list;
+ list &lt;&lt; "alpha" &lt;&lt; "beta" &lt;&lt; "gamma" &lt;&lt; "epsilon";
+ list.<a href="#gres">gres</a>( QRegExp("^a"), "o" );
+ // list == ["olpha", "beta", "gamma", "epsilon"]
+ </pre>
+
+<p> For regexps containing <a href="qregexp.html#capturing-text">capturing parentheses</a>, occurrences of <b>&#92;1</b>,
+<b>&#92;2</b>, ..., in <em>after</em> are replaced with <em>rx</em>.cap(1),
+cap(2), ...
+<p> Example:
+<pre>
+ QStringList list;
+ list &lt;&lt; "Bill Clinton" &lt;&lt; "Gates, Bill";
+ list.<a href="#gres">gres</a>( QRegExp("^(.*), (.*)$"), "\\2 \\1" );
+ // list == ["Bill Clinton", "Bill Gates"]
+ </pre>
+
+<p> <p>See also <a href="qstring.html#replace">QString::replace</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="join"></a>QStringList::join ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep ) const
+</h3>
+Joins the string list into a single string with each element
+separated by the string <em>sep</em> (which can be empty).
+<p> <p>See also <a href="#split">split</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x872">fileiconview/qfileiconview.cpp</a> and <a href="toplevel-example.html#x2533">toplevel/options.ui.h</a>.
+<h3 class=fn>void <a name="sort"></a>QStringList::sort ()
+</h3>
+Sorts the list of strings in ascending case-sensitive order.
+<p> Sorting is very fast. It uses the <a href="qtl.html">Qt Template
+ Library's</a> efficient HeapSort implementation that has a
+time complexity of O(n*log n).
+<p> If you want to sort your strings in an arbitrary order consider
+using a <a href="qmap.html">QMap</a>. For example you could use a QMap&lt;QString,QString&gt;
+to create a case-insensitive ordering (e.g. mapping the lowercase
+text to the text), or a QMap&lt;int,QString&gt; to sort the strings by
+some integer index, etc.
+
+<p>Example: <a href="themes-example.html#x341">themes/themes.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="split"></a>QStringList::split ( const&nbsp;<a href="qregexp.html">QRegExp</a>&nbsp;&amp;&nbsp;sep, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )<tt> [static]</tt>
+</h3>
+Splits the string <em>str</em> into strings wherever the <a href="qregexp.html#regular-expression">regular expression</a> <em>sep</em> occurs, and returns the list of those strings.
+<p> If <em>allowEmptyEntries</em> is TRUE, a null string is inserted in
+the list wherever the separator matches twice without intervening
+text.
+<p> For example, if you split the string "a,,b,c" on commas, <a href="#split">split</a>()
+returns the three-item list "a", "b", "c" if <em>allowEmptyEntries</em>
+is FALSE (the default), and the four-item list "a", "", "b", "c"
+if <em>allowEmptyEntries</em> is TRUE.
+<p> If <em>sep</em> does not match anywhere in <em>str</em>, split() returns a
+single element list with the element containing the single string
+<em>str</em>.
+<p> <p>See also <a href="#join">join</a>() and <a href="qstring.html#section">QString::section</a>().
+
+<p>Examples: <a href="tutorial2-03.html#x2552">chart/element.cpp</a>, <a href="dirview-example.html#x1703">dirview/dirview.cpp</a>, and <a href="httpd-example.html#x733">network/httpd/httpd.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="split-2"></a>QStringList::split ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;sep, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version of the function uses a <a href="qstring.html">QString</a> as separator, rather
+than a <a href="qregexp.html#regular-expression">regular expression</a>.
+<p> If <em>sep</em> is an empty string, the return value is a list of
+one-character strings: <a href="#split">split</a>( QString( "" ), "four" ) returns the
+four-item list, "f", "o", "u", "r".
+<p> If <em>allowEmptyEntries</em> is TRUE, a null string is inserted in
+the list wherever the separator matches twice without intervening
+text.
+<p> <p>See also <a href="#join">join</a>() and <a href="qstring.html#section">QString::section</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="split-3"></a>QStringList::split ( const&nbsp;<a href="qchar.html">QChar</a>&nbsp;&amp;&nbsp;sep, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, bool&nbsp;allowEmptyEntries = FALSE )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version of the function uses a <a href="qchar.html">QChar</a> as separator, rather
+than a <a href="qregexp.html#regular-expression">regular expression</a>.
+<p> <p>See also <a href="#join">join</a>() and <a href="qstring.html#section">QString::section</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrlist-h.html b/doc/html/qstrlist-h.html
new file mode 100644
index 0000000..b190bf7
--- /dev/null
+++ b/doc/html/qstrlist-h.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstrlist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstrlist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstrlist.h</h1>
+
+<p>This is the verbatim text of the qstrlist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstrlist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QStrList, QStrIList and QStrListIterator classes
+**
+** Created : 920730
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTRLIST_H
+#define QSTRLIST_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qptrlist.h"
+#include "qdatastream.h"
+#endif // QT_H
+
+#if defined(Q_QDOC)
+class QStrListIterator : public QPtrListIterator&lt;char&gt;
+{
+};
+#else
+typedef QPtrListIterator&lt;char&gt; QStrListIterator;
+#endif
+
+class Q_EXPORT QStrList : public QPtrList&lt;char&gt;
+{
+public:
+ QStrList( bool deepCopies=TRUE ) { dc = deepCopies; del_item = deepCopies; }
+ QStrList( const QStrList &amp; );
+ ~QStrList() { clear(); }
+ QStrList&amp; operator=( const QStrList &amp; );
+
+private:
+ QPtrCollection::Item newItem( QPtrCollection::Item d ) { return dc ? qstrdup( (const char*)d ) : d; }
+ void deleteItem( QPtrCollection::Item d ) { if ( del_item ) delete[] (char*)d; }
+ int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 ) { return qstrcmp((const char*)s1,
+ (const char*)s2); }
+#ifndef QT_NO_DATASTREAM
+ QDataStream &amp;read( QDataStream &amp;s, QPtrCollection::Item &amp;d )
+ { s &gt;&gt; (char *&amp;)d; return s; }
+ QDataStream &amp;write( QDataStream &amp;s, QPtrCollection::Item d ) const
+ { return s &lt;&lt; (const char *)d; }
+#endif
+ bool dc;
+};
+
+
+class Q_EXPORT QStrIList : public QStrList // case insensitive string list
+{
+public:
+ QStrIList( bool deepCopies=TRUE ) : QStrList( deepCopies ) {}
+ ~QStrIList() { clear(); }
+private:
+ int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 )
+ { return qstricmp((const char*)s1,
+ (const char*)s2); }
+};
+
+
+inline QStrList &amp; QStrList::operator=( const QStrList &amp;strList )
+{
+ clear();
+ dc = strList.dc;
+ del_item = dc;
+ QPtrList&lt;char&gt;::operator=( strList );
+ return *this;
+}
+
+inline QStrList::QStrList( const QStrList &amp;strList )
+ : QPtrList&lt;char&gt;( strList )
+{
+ dc = FALSE;
+ operator=( strList );
+}
+
+#endif // QSTRLIST_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrlist-members.html b/doc/html/qstrlist-members.html
new file mode 100644
index 0000000..ea9f87e
--- /dev/null
+++ b/doc/html/qstrlist-members.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstrlist.h:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStrList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstrlist.html">QStrList</a>, including inherited members.
+
+<ul>
+<li><a href="qstrlist.html#QStrList">QStrList</a>()
+<li><a href="qstrlist.html#~QStrList">~QStrList</a>()
+<li><a href="qptrlist.html#append">append</a>()
+<li><a href="qptrlist.html#at">at</a>()
+<li><a href="qptrcollection.html#autoDelete">autoDelete</a>()
+<li><a href="qptrlist.html#clear">clear</a>()
+<li><a href="qptrlist.html#compareItems">compareItems</a>()
+<li><a href="qptrlist.html#contains">contains</a>()
+<li><a href="qptrlist.html#containsRef">containsRef</a>()
+<li><a href="qptrlist.html#count">count</a>()
+<li><a href="qptrlist.html#current">current</a>()
+<li><a href="qptrlist.html#currentNode">currentNode</a>()
+<li><a href="qptrcollection.html#deleteItem">deleteItem</a>()
+<li><a href="qptrlist.html#find">find</a>()
+<li><a href="qptrlist.html#findNext">findNext</a>()
+<li><a href="qptrlist.html#findNextRef">findNextRef</a>()
+<li><a href="qptrlist.html#findRef">findRef</a>()
+<li><a href="qptrlist.html#first">first</a>()
+<li><a href="qptrlist.html#getFirst">getFirst</a>()
+<li><a href="qptrlist.html#getLast">getLast</a>()
+<li><a href="qptrlist.html#inSort">inSort</a>()
+<li><a href="qptrlist.html#insert">insert</a>()
+<li><a href="qptrlist.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlist.html#last">last</a>()
+<li><a href="qptrcollection.html#newItem">newItem</a>()
+<li><a href="qptrlist.html#next">next</a>()
+<li><a href="qptrlist.html#operator!-eq">operator!=</a>()
+<li><a href="qstrlist.html#operator-eq">operator=</a>()
+<li><a href="qptrlist.html#operator-eq-eq">operator==</a>()
+<li><a href="qptrlist.html#prepend">prepend</a>()
+<li><a href="qptrlist.html#prev">prev</a>()
+<li><a href="qptrlist.html#read">read</a>()
+<li><a href="qptrlist.html#remove">remove</a>()
+<li><a href="qptrlist.html#removeFirst">removeFirst</a>()
+<li><a href="qptrlist.html#removeLast">removeLast</a>()
+<li><a href="qptrlist.html#removeNode">removeNode</a>()
+<li><a href="qptrlist.html#removeRef">removeRef</a>()
+<li><a href="qptrlist.html#replace">replace</a>()
+<li><a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()
+<li><a href="qptrlist.html#sort">sort</a>()
+<li><a href="qptrlist.html#take">take</a>()
+<li><a href="qptrlist.html#takeNode">takeNode</a>()
+<li><a href="qptrlist.html#toVector">toVector</a>()
+<li><a href="qptrlist.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrlist.html b/doc/html/qstrlist.html
new file mode 100644
index 0000000..6b3dbcb
--- /dev/null
+++ b/doc/html/qstrlist.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrlist.doc:1044 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStrList Class Reference</h1>
+
+<p>The QStrList class provides a doubly-linked list of char*.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrlist.html">QPtrList</a>&lt;char&gt;.
+<p>Inherited by <a href="qstrilist.html">QStrIList</a>.
+<p><a href="qstrlist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStrList"><b>QStrList</b></a> ( bool&nbsp;deepCopies = TRUE )</li>
+<li class=fn><a href="#QStrList-2"><b>QStrList</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;list )</li>
+<li class=fn><a href="#~QStrList"><b>~QStrList</b></a> ()</li>
+<li class=fn>QStrList &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QStrList&nbsp;&amp;&nbsp;list )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStrList class provides a doubly-linked list of char*.
+<p>
+
+
+<p> If you want a string list of <a href="qstring.html">QString</a>s use <a href="qstringlist.html">QStringList</a>.
+<p> This class is a <a href="qptrlist.html">QPtrList</a>&lt;char&gt; instance (a list of char*).
+<p> QStrList can make deep or shallow copies of the strings that are
+inserted.
+<p> A <a href="shclass.html#deep-copy">deep copy</a> means that memory is allocated for the string and then
+the string data is copied into that memory. A <a href="shclass.html#shallow-copy">shallow copy</a> is just
+a copy of the pointer value and not of the string data itself.
+<p> The disadvantage of shallow copies is that because a pointer can
+be deleted only once, the program must put all strings in a
+central place and know when it is safe to delete them (i.e. when
+the strings are no longer referenced by other parts of the
+program). This can make the program more complex. The advantage of
+shallow copies is that they consume far less memory than deep
+copies. It is also much faster to copy a pointer (typically 4 or 8
+bytes) than to copy string data.
+<p> A QStrList that operates on deep copies will, by default, turn on
+auto-deletion (see <a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>()). Thus, by default QStrList
+will deallocate any string copies it allocates.
+<p> The virtual <a href="qptrlist.html#compareItems">compareItems</a>() function is reimplemented and does a
+case-sensitive string comparison. The <a href="qptrlist.html#inSort">inSort</a>() function will
+insert strings in sorted order. In general it is fastest to insert
+the strings as they come and <a href="qptrlist.html#sort">sort</a>() at the end; inSort() is useful
+when you just have to add a few extra strings to an already sorted
+list.
+<p> The <a href="qstrlistiterator.html">QStrListIterator</a> class is an iterator for QStrList.
+<p>See also <a href="collection.html">Collection Classes</a>, <a href="text.html">Text Related Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStrList"></a>QStrList::QStrList ( bool&nbsp;deepCopies = TRUE )
+</h3>
+
+<p> Constructs an empty list of strings. Will make deep copies of all
+inserted strings if <em>deepCopies</em> is TRUE, or use shallow copies
+if <em>deepCopies</em> is FALSE.
+
+<h3 class=fn><a name="QStrList-2"></a>QStrList::QStrList ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Constructs a copy of <em>list</em>.
+<p> If <em>list</em> has deep copies, this list will also get deep copies.
+Only the pointers are copied (shallow copy) if the other list does
+not use deep copies.
+
+<h3 class=fn><a name="~QStrList"></a>QStrList::~QStrList ()
+</h3>
+
+<p> Destroys the list. All strings are removed.
+
+<h3 class=fn><a href="qstrlist.html">QStrList</a>&nbsp;&amp; <a name="operator-eq"></a>QStrList::operator= ( const&nbsp;<a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;list )
+</h3>
+
+<p> Assigns <em>list</em> to this list and returns a reference to this list.
+<p> If <em>list</em> has deep copies, this list will also get deep copies.
+Only the pointers are copied (shallow copy) if the other list does
+not use deep copies.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrlistiterator-members.html b/doc/html/qstrlistiterator-members.html
new file mode 100644
index 0000000..14f0ac9
--- /dev/null
+++ b/doc/html/qstrlistiterator-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstrlist.h:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrListIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStrListIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstrlistiterator.html">QStrListIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qptrlistiterator.html#atFirst">atFirst</a>()
+<li><a href="qptrlistiterator.html#atLast">atLast</a>()
+<li><a href="qptrlistiterator.html#count">count</a>()
+<li><a href="qptrlistiterator.html#current">current</a>()
+<li><a href="qptrlistiterator.html#isEmpty">isEmpty</a>()
+<li><a href="qptrlistiterator.html#operator-type-*">operator type *</a>()
+<li><a href="qptrlistiterator.html#operator()">operator()</a>()
+<li><a href="qptrlistiterator.html#operator*">operator*</a>()
+<li><a href="qptrlistiterator.html#operator++">operator++</a>()
+<li><a href="qptrlistiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qptrlistiterator.html#operator--">operator--</a>()
+<li><a href="qptrlistiterator.html#operator--eq">operator-=</a>()
+<li><a href="qptrlistiterator.html#operator-eq">operator=</a>()
+<li><a href="qptrlistiterator.html#toFirst">toFirst</a>()
+<li><a href="qptrlistiterator.html#toLast">toLast</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstrlistiterator.html b/doc/html/qstrlistiterator.html
new file mode 100644
index 0000000..4312e5a
--- /dev/null
+++ b/doc/html/qstrlistiterator.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qptrlist.doc:1232 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStrListIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStrListIterator Class Reference</h1>
+
+<p>The QStrListIterator class is an iterator for the QStrList
+and QStrIList classes.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;</tt>
+<p>Inherits <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;char&gt;.
+<p><a href="qstrlistiterator-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStrListIterator class is an iterator for the <a href="qstrlist.html">QStrList</a>
+and <a href="qstrilist.html">QStrIList</a> classes.
+<p>
+<p> This class is a <a href="qptrlistiterator.html">QPtrListIterator</a>&lt;char&gt; instance. It can traverse
+the strings in the QStrList and QStrIList classes.
+<p>See also <a href="tools.html">Non-GUI Classes</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyle-h.html b/doc/html/qstyle-h.html
new file mode 100644
index 0000000..1b13a72
--- /dev/null
+++ b/doc/html/qstyle-h.html
@@ -0,0 +1,801 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstyle.h</h1>
+
+<p>This is the verbatim text of the qstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstyle.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QStyle class
+**
+** Created : 980616
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+#ifndef QSTYLE_H
+#define QSTYLE_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+
+#ifndef QT_NO_STYLE
+
+class QPopupMenu;
+class QStylePrivate;
+class QMenuItem;
+class QTab;
+class QListViewItem;
+class QCheckListItem;
+
+class QStyleOption {
+public:
+ enum StyleOptionDefault { Default };
+
+ QStyleOption(StyleOptionDefault=Default) : def(TRUE) {}
+
+ // Note: we don't use default arguments since that is unnecessary
+ // initialization.
+ QStyleOption(int in1) :
+ def(FALSE), i1(in1) {}
+ QStyleOption(int in1, int in2) :
+ def(FALSE), i1(in1), i2(in2) {}
+ QStyleOption(int in1, int in2, int in3, int in4) :
+ def(FALSE), i1(in1), i2(in2), i3(in3), i4(in4) {}
+ QStyleOption(QMenuItem* m) : def(FALSE), mi(m) {}
+ QStyleOption(QMenuItem* m, int in1) : def(FALSE), mi(m), i1(in1) {}
+ QStyleOption(QMenuItem* m, int in1, int in2) : def(FALSE), mi(m), i1(in1), i2(in2) {}
+ QStyleOption(const QColor&amp; c) : def(FALSE), cl(&amp;c) {}
+ QStyleOption(QTab* t) : def(FALSE), tb(t) {}
+ QStyleOption(QListViewItem* i) : def(FALSE), li(i) {}
+ QStyleOption(QCheckListItem* i) : def(FALSE), cli(i) {}
+ QStyleOption(Qt::ArrowType a) : def(FALSE), i1((int)a) {}
+ QStyleOption(const QRect&amp; r) : def(FALSE), i1(r.x()), i2(r.y()), i3(r.width()),i4(r.height()){}
+ QStyleOption(QWidget *w) : def(FALSE), p1((void*)w) {}
+
+ bool isDefault() const { return def; }
+
+ int day() const { return i1; }
+
+ int lineWidth() const { return i1; }
+ int midLineWidth() const { return i2; }
+ int frameShape() const { return i3; }
+ int frameShadow() const { return i4; }
+
+ int headerSection() const { return i1; }
+ QMenuItem* menuItem() const { return mi; }
+ int maxIconWidth() const { return i1; }
+ int tabWidth() const { return i2; }
+
+ const QColor&amp; color() const { return *cl; }
+
+ QTab* tab() const { return tb; }
+
+ QCheckListItem* checkListItem() const { return cli; }
+ QListViewItem* listViewItem() const { return li; }
+
+ Qt::ArrowType arrowType() const { return (Qt::ArrowType)i1; }
+ QRect rect() const { return QRect( i1, i2, i3, i4 ); }
+ QWidget* widget() const { return (QWidget*)p1; }
+
+private:
+ // NOTE: none of these components have constructors.
+ bool def;
+ bool b1,b2,b3; // reserved
+ QMenuItem* mi;
+ QTab* tb;
+ QListViewItem* li;
+ const QColor* cl;
+ int i1, i2, i3, i4;
+ int i5, i6; // reserved
+ QCheckListItem* cli;
+ void *p1, *p2, *p3, *p4; // reserved
+ // (padded to 64 bytes on some architectures)
+};
+
+class QStyleHintReturn; // not defined yet
+
+class Q_EXPORT QStyle: public QObject
+{
+ Q_OBJECT
+
+public:
+ QStyle();
+ virtual ~QStyle();
+
+ // New QStyle API - most of these should probably be pure virtual
+
+ virtual void polish( QWidget * );
+ virtual void unPolish( QWidget * );
+
+ virtual void polish( QApplication * );
+ virtual void unPolish( QApplication * );
+
+ virtual void polish( QPalette &amp; );
+
+ virtual void polishPopupMenu( QPopupMenu* ) = 0;
+
+ virtual QRect itemRect( QPainter *p, const QRect &amp;r,
+ int flags, bool enabled,
+ const QPixmap *pixmap,
+ const QString &amp;text, int len = -1 ) const;
+
+ virtual void drawItem( QPainter *p, const QRect &amp;r,
+ int flags, const QColorGroup &amp;g, bool enabled,
+ const QPixmap *pixmap, const QString &amp;text,
+ int len = -1, const QColor *penColor = 0 ) const;
+
+
+ enum PrimitiveElement {
+ PE_ButtonCommand,
+ PE_ButtonDefault,
+ PE_ButtonBevel,
+ PE_ButtonTool,
+ PE_ButtonDropDown,
+
+ PE_FocusRect,
+
+ PE_ArrowUp,
+ PE_ArrowDown,
+ PE_ArrowRight,
+ PE_ArrowLeft,
+
+ PE_SpinWidgetUp,
+ PE_SpinWidgetDown,
+ PE_SpinWidgetPlus,
+ PE_SpinWidgetMinus,
+
+ PE_Indicator,
+ PE_IndicatorMask,
+ PE_ExclusiveIndicator,
+ PE_ExclusiveIndicatorMask,
+
+ PE_DockWindowHandle,
+ PE_DockWindowSeparator,
+ PE_DockWindowResizeHandle,
+
+ PE_Splitter,
+
+ PE_Panel,
+ PE_PanelPopup,
+ PE_PanelMenuBar,
+ PE_PanelDockWindow,
+
+ PE_TabBarBase,
+
+ PE_HeaderSection,
+ PE_HeaderArrow,
+ PE_StatusBarSection,
+
+ PE_GroupBoxFrame,
+
+ PE_Separator,
+
+ PE_SizeGrip,
+
+ PE_CheckMark,
+
+ PE_ScrollBarAddLine,
+ PE_ScrollBarSubLine,
+ PE_ScrollBarAddPage,
+ PE_ScrollBarSubPage,
+ PE_ScrollBarSlider,
+ PE_ScrollBarFirst,
+ PE_ScrollBarLast,
+
+ PE_ProgressBarChunk,
+
+ PE_PanelLineEdit,
+ PE_PanelTabWidget,
+
+ PE_WindowFrame,
+
+ PE_CheckListController,
+ PE_CheckListIndicator,
+ PE_CheckListExclusiveIndicator,
+
+ PE_PanelGroupBox,
+ PE_RubberBand,
+
+ // do not add any values below/greater this
+ PE_CustomBase = 0xf000000
+ };
+
+ enum StyleFlags {
+ Style_Default = 0x00000000,
+ Style_Enabled = 0x00000001,
+ Style_Raised = 0x00000002,
+ Style_Sunken = 0x00000004,
+ Style_Off = 0x00000008,
+ Style_NoChange = 0x00000010,
+ Style_On = 0x00000020,
+ Style_Down = 0x00000040,
+ Style_Horizontal = 0x00000080,
+ Style_HasFocus = 0x00000100,
+ Style_Top = 0x00000200,
+ Style_Bottom = 0x00000400,
+ Style_FocusAtBorder = 0x00000800,
+ Style_AutoRaise = 0x00001000,
+ Style_MouseOver = 0x00002000,
+ Style_Up = 0x00004000,
+ Style_Selected = 0x00008000,
+ Style_Active = 0x00010000,
+ Style_ButtonDefault = 0x00020000
+ };
+ typedef uint SFlags;
+
+ virtual void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+
+ enum ControlElement {
+ CE_PushButton,
+ CE_PushButtonLabel,
+
+ CE_CheckBox,
+ CE_CheckBoxLabel,
+
+ CE_RadioButton,
+ CE_RadioButtonLabel,
+
+ CE_TabBarTab,
+ CE_TabBarLabel,
+
+ CE_ProgressBarGroove,
+ CE_ProgressBarContents,
+ CE_ProgressBarLabel,
+
+ CE_PopupMenuItem,
+ CE_MenuBarItem,
+
+ CE_ToolButtonLabel,
+ CE_MenuBarEmptyArea,
+ CE_PopupMenuScroller,
+ CE_DockWindowEmptyArea,
+ CE_PopupMenuVerticalExtra,
+ CE_PopupMenuHorizontalExtra,
+
+ CE_ToolBoxTab,
+ CE_HeaderLabel,
+
+ // do not add any values below/greater than this
+ CE_CustomBase = 0xf0000000
+ };
+
+ virtual void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+ virtual void drawControlMask( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+ enum SubRect {
+ SR_PushButtonContents,
+ SR_PushButtonFocusRect,
+
+ SR_CheckBoxIndicator,
+ SR_CheckBoxContents,
+ SR_CheckBoxFocusRect,
+
+ SR_RadioButtonIndicator,
+ SR_RadioButtonContents,
+ SR_RadioButtonFocusRect,
+
+ SR_ComboBoxFocusRect,
+
+ SR_SliderFocusRect,
+
+ SR_DockWindowHandleRect,
+
+ SR_ProgressBarGroove,
+ SR_ProgressBarContents,
+ SR_ProgressBarLabel,
+
+ SR_ToolButtonContents,
+
+ SR_DialogButtonAccept,
+ SR_DialogButtonReject,
+ SR_DialogButtonApply,
+ SR_DialogButtonHelp,
+ SR_DialogButtonAll,
+ SR_DialogButtonAbort,
+ SR_DialogButtonIgnore,
+ SR_DialogButtonRetry,
+ SR_DialogButtonCustom,
+
+ SR_ToolBoxTabContents,
+
+ // do not add any values below/greater than this
+ SR_CustomBase = 0xf0000000
+ };
+
+ virtual QRect subRect( SubRect r, const QWidget *widget ) const = 0;
+
+
+ enum ComplexControl{
+ CC_SpinWidget,
+ CC_ComboBox,
+ CC_ScrollBar,
+ CC_Slider,
+ CC_ToolButton,
+ CC_TitleBar,
+ CC_ListView,
+
+ // do not add any values below/greater than this
+ CC_CustomBase = 0xf0000000
+ };
+
+ enum SubControl {
+ SC_None = 0x00000000,
+
+ SC_ScrollBarAddLine = 0x00000001,
+ SC_ScrollBarSubLine = 0x00000002,
+ SC_ScrollBarAddPage = 0x00000004,
+ SC_ScrollBarSubPage = 0x00000008,
+ SC_ScrollBarFirst = 0x00000010,
+ SC_ScrollBarLast = 0x00000020,
+ SC_ScrollBarSlider = 0x00000040,
+ SC_ScrollBarGroove = 0x00000080,
+
+ SC_SpinWidgetUp = 0x00000001,
+ SC_SpinWidgetDown = 0x00000002,
+ SC_SpinWidgetFrame = 0x00000004,
+ SC_SpinWidgetEditField = 0x00000008,
+ SC_SpinWidgetButtonField = 0x00000010,
+
+ SC_ComboBoxFrame = 0x00000001,
+ SC_ComboBoxEditField = 0x00000002,
+ SC_ComboBoxArrow = 0x00000004,
+ SC_ComboBoxListBoxPopup = 0x00000008,
+
+ SC_SliderGroove = 0x00000001,
+ SC_SliderHandle = 0x00000002,
+ SC_SliderTickmarks = 0x00000004,
+
+ SC_ToolButton = 0x00000001,
+ SC_ToolButtonMenu = 0x00000002,
+
+ SC_TitleBarLabel = 0x00000001,
+ SC_TitleBarSysMenu = 0x00000002,
+ SC_TitleBarMinButton = 0x00000004,
+ SC_TitleBarMaxButton = 0x00000008,
+ SC_TitleBarCloseButton = 0x00000010,
+ SC_TitleBarNormalButton = 0x00000020,
+ SC_TitleBarShadeButton = 0x00000040,
+ SC_TitleBarUnshadeButton = 0x00000080,
+
+ SC_ListView = 0x00000001,
+ SC_ListViewBranch = 0x00000002,
+ SC_ListViewExpand = 0x00000004,
+
+ SC_All = 0xffffffff
+ };
+ typedef uint SCFlags;
+
+
+ virtual void drawComplexControl( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags how = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+ virtual void drawComplexControlMask( ComplexControl control,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+ virtual QRect querySubControlMetrics( ComplexControl control,
+ const QWidget *widget,
+ SubControl sc,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+ virtual SubControl querySubControl( ComplexControl control,
+ const QWidget *widget,
+ const QPoint &amp;pos,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+
+ enum PixelMetric {
+ PM_ButtonMargin,
+ PM_ButtonDefaultIndicator,
+ PM_MenuButtonIndicator,
+ PM_ButtonShiftHorizontal,
+ PM_ButtonShiftVertical,
+
+ PM_DefaultFrameWidth,
+ PM_SpinBoxFrameWidth,
+
+ PM_MaximumDragDistance,
+
+ PM_ScrollBarExtent,
+ PM_ScrollBarSliderMin,
+
+ PM_SliderThickness, // total slider thickness
+ PM_SliderControlThickness, // thickness of the business part
+ PM_SliderLength, // total length of slider
+ PM_SliderTickmarkOffset, //
+ PM_SliderSpaceAvailable, // available space for slider to move
+
+ PM_DockWindowSeparatorExtent,
+ PM_DockWindowHandleExtent,
+ PM_DockWindowFrameWidth,
+
+ PM_MenuBarFrameWidth,
+
+ PM_TabBarTabOverlap,
+ PM_TabBarTabHSpace,
+ PM_TabBarTabVSpace,
+ PM_TabBarBaseHeight,
+ PM_TabBarBaseOverlap,
+
+ PM_ProgressBarChunkWidth,
+
+ PM_SplitterWidth,
+ PM_TitleBarHeight,
+
+ PM_IndicatorWidth,
+ PM_IndicatorHeight,
+ PM_ExclusiveIndicatorWidth,
+ PM_ExclusiveIndicatorHeight,
+ PM_PopupMenuScrollerHeight,
+ PM_CheckListButtonSize,
+ PM_CheckListControllerSize,
+ PM_PopupMenuFrameHorizontalExtra,
+ PM_PopupMenuFrameVerticalExtra,
+
+ PM_DialogButtonsSeparator,
+ PM_DialogButtonsButtonWidth,
+ PM_DialogButtonsButtonHeight,
+
+ PM_MDIFrameWidth,
+ PM_MDIMinimizedWidth,
+ PM_HeaderMargin,
+ PM_HeaderMarkSize,
+ PM_HeaderGripMargin,
+ PM_TabBarTabShiftHorizontal,
+ PM_TabBarTabShiftVertical,
+ PM_TabBarScrollButtonWidth,
+
+ PM_MenuBarItemSpacing,
+ PM_ToolBarItemSpacing,
+
+ // do not add any values below/greater than this
+ PM_CustomBase = 0xf0000000
+ };
+
+ virtual int pixelMetric( PixelMetric metric,
+ const QWidget *widget = 0 ) const = 0;
+
+
+ enum ContentsType {
+ CT_PushButton,
+ CT_CheckBox,
+ CT_RadioButton,
+ CT_ToolButton,
+ CT_ComboBox,
+ CT_Splitter,
+ CT_DockWindow,
+ CT_ProgressBar,
+ CT_PopupMenuItem,
+ CT_TabBarTab,
+ CT_Slider,
+ CT_Header,
+ CT_LineEdit,
+ CT_MenuBar,
+ CT_SpinBox,
+ CT_SizeGrip,
+ CT_TabWidget,
+ CT_DialogButtons,
+
+ // do not add any values below/greater than this
+ CT_CustomBase = 0xf0000000
+ };
+
+ virtual QSize sizeFromContents( ContentsType contents,
+ const QWidget *widget,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+ enum StyleHint {
+ // ...
+ // the general hints
+ // ...
+ // disabled text should be etched, ala Windows
+ SH_EtchDisabledText,
+
+ // the GUI style enum, argh!
+ SH_GUIStyle,
+
+ // ...
+ // widget specific hints
+ // ...
+ SH_ScrollBar_BackgroundMode,
+ SH_ScrollBar_MiddleClickAbsolutePosition,
+ SH_ScrollBar_ScrollWhenPointerLeavesControl,
+
+ // QEvent::Type - which mouse event to select a tab
+ SH_TabBar_SelectMouseType,
+
+ SH_TabBar_Alignment,
+
+ SH_Header_ArrowAlignment,
+
+ // bool - sliders snap to values while moving, ala Windows
+ SH_Slider_SnapToValue,
+
+ // bool - key presses handled in a sloppy manner - ie. left on a vertical
+ // slider subtracts a line
+ SH_Slider_SloppyKeyEvents,
+
+ // bool - center button on progress dialogs, ala Motif, else right aligned
+ // perhaps this should be a Qt::Alignment value
+ SH_ProgressDialog_CenterCancelButton,
+
+ // Qt::AlignmentFlags - text label alignment in progress dialogs
+ // Center on windows, Auto|VCenter otherwize
+ SH_ProgressDialog_TextLabelAlignment,
+
+ // bool - right align buttons on print dialog, ala Windows
+ SH_PrintDialog_RightAlignButtons,
+
+ // bool - 1 or 2 pixel space between the menubar and the dockarea, ala Windows
+ // this *REALLY* needs a better name
+ SH_MainWindow_SpaceBelowMenuBar,
+
+ // bool - select the text in the line edit about the listbox when selecting
+ // an item from the listbox, or when the line edit receives focus, ala Windows
+ SH_FontDialog_SelectAssociatedText,
+
+ // bool - allows disabled menu items to be active
+ SH_PopupMenu_AllowActiveAndDisabled,
+
+ // bool - pressing space activates item, ala Motif
+ SH_PopupMenu_SpaceActivatesItem,
+
+ // int - number of milliseconds to wait before opening a submenu
+ // 256 on windows, 96 on motif
+ SH_PopupMenu_SubMenuPopupDelay,
+
+ // bool - should scrollviews draw their frame only around contents (ala Motif),
+ // or around contents, scrollbars and corner widgets (ala Windows) ?
+ SH_ScrollView_FrameOnlyAroundContents,
+
+ // bool - menubars items are navigatable by pressing alt, followed by using
+ // the arrow keys to select the desired item
+ SH_MenuBar_AltKeyNavigation,
+
+ // bool - mouse tracking in combobox dropdown lists
+ SH_ComboBox_ListMouseTracking,
+
+ // bool - mouse tracking in popupmenus
+ SH_PopupMenu_MouseTracking,
+
+ // bool - mouse tracking in menubars
+ SH_MenuBar_MouseTracking,
+
+ // bool - gray out selected items when loosing focus
+ SH_ItemView_ChangeHighlightOnFocus,
+
+ // bool - supports shared activation among modeless widgets
+ SH_Widget_ShareActivation,
+
+ // bool - workspace should just maximize the client area
+ SH_Workspace_FillSpaceOnMaximize,
+
+ // bool - supports popup menu comboboxes
+ SH_ComboBox_Popup,
+
+ // bool - titlebar has no border
+ SH_TitleBar_NoBorder,
+
+ // bool - stop scrollbar at mouse
+ SH_ScrollBar_StopMouseOverSlider,
+
+ //bool - blink cursort with selected text
+ SH_BlinkCursorWhenTextSelected,
+
+ //bool - richtext selections extend the full width of the docuemnt
+ SH_RichText_FullWidthSelection,
+
+ //bool - popupmenu supports scrolling instead of multicolumn mode
+ SH_PopupMenu_Scrollable,
+
+ // Qt::AlignmentFlags - text label vertical alignment in groupboxes
+ // Center on windows, Auto|VCenter otherwize
+ SH_GroupBox_TextLabelVerticalAlignment,
+
+ // Qt::QRgb - text label color in groupboxes
+ SH_GroupBox_TextLabelColor,
+
+ // bool - popupmenu supports sloppy submenus
+ SH_PopupMenu_SloppySubMenus,
+
+ // Qt::QRgb - table grid color
+ SH_Table_GridLineColor,
+
+ // QChar - Unicode character for password char
+ SH_LineEdit_PasswordCharacter,
+
+ // QDialogButtons::Button - default button
+ SH_DialogButtons_DefaultButton,
+
+ // QToolBox - Boldness of the selected page title
+ SH_ToolBox_SelectedPageTitleBold,
+
+ //bool - if a tabbar prefers not to have scroller arrows
+ SH_TabBar_PreferNoArrows,
+
+ //bool - if left button should cause an absolute position
+ SH_ScrollBar_LeftClickAbsolutePosition,
+
+ // QEvent::Type - which mouse event to select a list view expansion
+ SH_ListViewExpand_SelectMouseType,
+
+ //bool - if underline for accelerators
+ SH_UnderlineAccelerator,
+
+ // bool - QToolButton - if tool buttons should use a 3D frame
+ // when the mouse is over the button
+ SH_ToolButton_Uses3D,
+
+ // do not add any values below/greater than this
+ SH_CustomBase = 0xf0000000
+ };
+
+ virtual int styleHint( StyleHint stylehint,
+ const QWidget *widget = 0,
+ const QStyleOption&amp; = QStyleOption::Default,
+ QStyleHintReturn* returnData = 0
+ ) const = 0;
+
+
+ enum StylePixmap {
+ SP_TitleBarMinButton,
+ SP_TitleBarMaxButton,
+ SP_TitleBarCloseButton,
+ SP_TitleBarNormalButton,
+ SP_TitleBarShadeButton,
+ SP_TitleBarUnshadeButton,
+ SP_DockWindowCloseButton,
+ SP_MessageBoxInformation,
+ SP_MessageBoxWarning,
+ SP_MessageBoxCritical,
+ SP_MessageBoxQuestion,
+
+ // do not add any values below/greater than this
+ SP_CustomBase = 0xf0000000
+ };
+
+ virtual QPixmap stylePixmap( StylePixmap stylepixmap,
+ const QWidget *widget = 0,
+ const QStyleOption&amp; = QStyleOption::Default ) const = 0;
+
+
+ static QRect visualRect( const QRect &amp;logical, const QWidget *w );
+
+ static QRect visualRect( const QRect &amp;logical, const QRect &amp;bounding );
+
+
+
+
+ // Old 2.x QStyle API
+
+#ifndef QT_NO_COMPAT
+ int defaultFrameWidth() const
+ {
+ return pixelMetric( PM_DefaultFrameWidth );
+ }
+ void tabbarMetrics( const QWidget* t,
+ int&amp; hf, int&amp; vf, int&amp; ov ) const
+ {
+ hf = pixelMetric( PM_TabBarTabHSpace, t );
+ vf = pixelMetric( PM_TabBarTabVSpace, t );
+ ov = pixelMetric( PM_TabBarBaseOverlap, t );
+ }
+ QSize scrollBarExtent() const
+ {
+ return QSize(pixelMetric(PM_ScrollBarExtent),
+ pixelMetric(PM_ScrollBarExtent));
+ }
+#endif
+
+
+private:
+ QStylePrivate * d;
+
+#if defined(Q_DISABLE_COPY)
+ QStyle( const QStyle &amp; );
+ QStyle&amp; operator=( const QStyle &amp; );
+#endif
+};
+
+#endif // QT_NO_STYLE
+#endif // QSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyle-members.html b/doc/html/qstyle-members.html
new file mode 100644
index 0000000..46f2e68
--- /dev/null
+++ b/doc/html/qstyle-members.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstyle.h:121 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstyle.html">QStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qstyle.html#QStyle">QStyle</a>()
+<li><a href="qstyle.html#~QStyle">~QStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyle.html b/doc/html/qstyle.html
new file mode 100644
index 0000000..c956e64
--- /dev/null
+++ b/doc/html/qstyle.html
@@ -0,0 +1,1220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qstyle.cpp:306 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStyle Class Reference</h1>
+
+<p>The QStyle class specifies the look and feel of a GUI.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstyle-h.html">qstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qcommonstyle.html">QCommonStyle</a>.
+<p><a href="qstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStyle"><b>QStyle</b></a> ()</li>
+<li class=fn>virtual <a href="#~QStyle"><b>~QStyle</b></a> ()</li>
+<li class=fn>virtual void <a href="#polish"><b>polish</b></a> ( QWidget * )</li>
+<li class=fn>virtual void <a href="#unPolish"><b>unPolish</b></a> ( QWidget * )</li>
+<li class=fn>virtual void <a href="#polish-2"><b>polish</b></a> ( QApplication * )</li>
+<li class=fn>virtual void <a href="#unPolish-2"><b>unPolish</b></a> ( QApplication * )</li>
+<li class=fn>virtual void <a href="#polish-3"><b>polish</b></a> ( QPalette &amp; )</li>
+<li class=fn>virtual void <a href="#polishPopupMenu"><b>polishPopupMenu</b></a> ( QPopupMenu * ) = 0</li>
+<li class=fn>virtual QRect <a href="#itemRect"><b>itemRect</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;flags, bool&nbsp;enabled, const&nbsp;QPixmap&nbsp;*&nbsp;pixmap, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;len = -1 ) const</li>
+<li class=fn>virtual void <a href="#drawItem"><b>drawItem</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;r, int&nbsp;flags, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;g, bool&nbsp;enabled, const&nbsp;QPixmap&nbsp;*&nbsp;pixmap, const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;len = -1, const&nbsp;QColor&nbsp;*&nbsp;penColor = 0 ) const</li>
+<li class=fn>enum <a href="#PrimitiveElement-enum"><b>PrimitiveElement</b></a> { PE_ButtonCommand, PE_ButtonDefault, PE_ButtonBevel, PE_ButtonTool, PE_ButtonDropDown, PE_FocusRect, PE_ArrowUp, PE_ArrowDown, PE_ArrowRight, PE_ArrowLeft, PE_SpinWidgetUp, PE_SpinWidgetDown, PE_SpinWidgetPlus, PE_SpinWidgetMinus, PE_Indicator, PE_IndicatorMask, PE_ExclusiveIndicator, PE_ExclusiveIndicatorMask, PE_DockWindowHandle, PE_DockWindowSeparator, PE_DockWindowResizeHandle, PE_Splitter, PE_Panel, PE_PanelPopup, PE_PanelMenuBar, PE_PanelDockWindow, PE_TabBarBase, PE_HeaderSection, PE_HeaderArrow, PE_StatusBarSection, PE_GroupBoxFrame, PE_Separator, PE_SizeGrip, PE_CheckMark, PE_ScrollBarAddLine, PE_ScrollBarSubLine, PE_ScrollBarAddPage, PE_ScrollBarSubPage, PE_ScrollBarSlider, PE_ScrollBarFirst, PE_ScrollBarLast, PE_ProgressBarChunk, PE_PanelLineEdit, PE_PanelTabWidget, PE_WindowFrame, PE_CheckListController, PE_CheckListIndicator, PE_CheckListExclusiveIndicator, PE_PanelGroupBox, PE_RubberBand, PE_CustomBase = 0xf000000 }</li>
+<li class=fn>enum <a href="#StyleFlags-enum"><b>StyleFlags</b></a> { Style_Default = 0x00000000, Style_Enabled = 0x00000001, Style_Raised = 0x00000002, Style_Sunken = 0x00000004, Style_Off = 0x00000008, Style_NoChange = 0x00000010, Style_On = 0x00000020, Style_Down = 0x00000040, Style_Horizontal = 0x00000080, Style_HasFocus = 0x00000100, Style_Top = 0x00000200, Style_Bottom = 0x00000400, Style_FocusAtBorder = 0x00000800, Style_AutoRaise = 0x00001000, Style_MouseOver = 0x00002000, Style_Up = 0x00004000, Style_Selected = 0x00008000, Style_Active = 0x00010000, Style_ButtonDefault = 0x00020000 }</li>
+<li class=fn>virtual void <a href="#drawPrimitive"><b>drawPrimitive</b></a> ( PrimitiveElement&nbsp;pe, QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, SFlags&nbsp;flags = Style_Default, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>enum <a href="#ControlElement-enum"><b>ControlElement</b></a> { CE_PushButton, CE_PushButtonLabel, CE_CheckBox, CE_CheckBoxLabel, CE_RadioButton, CE_RadioButtonLabel, CE_TabBarTab, CE_TabBarLabel, CE_ProgressBarGroove, CE_ProgressBarContents, CE_ProgressBarLabel, CE_PopupMenuItem, CE_MenuBarItem, CE_ToolButtonLabel, CE_MenuBarEmptyArea, CE_PopupMenuScroller, CE_DockWindowEmptyArea, CE_PopupMenuVerticalExtra, CE_PopupMenuHorizontalExtra, CE_ToolBoxTab, CE_HeaderLabel, CE_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual void <a href="#drawControl"><b>drawControl</b></a> ( ControlElement&nbsp;element, QPainter&nbsp;*&nbsp;p, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, SFlags&nbsp;how = Style_Default, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>virtual void <a href="#drawControlMask"><b>drawControlMask</b></a> ( ControlElement&nbsp;element, QPainter&nbsp;*&nbsp;p, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>enum <a href="#SubRect-enum"><b>SubRect</b></a> { SR_PushButtonContents, SR_PushButtonFocusRect, SR_CheckBoxIndicator, SR_CheckBoxContents, SR_CheckBoxFocusRect, SR_RadioButtonIndicator, SR_RadioButtonContents, SR_RadioButtonFocusRect, SR_ComboBoxFocusRect, SR_SliderFocusRect, SR_DockWindowHandleRect, SR_ProgressBarGroove, SR_ProgressBarContents, SR_ProgressBarLabel, SR_ToolButtonContents, SR_DialogButtonAccept, SR_DialogButtonReject, SR_DialogButtonApply, SR_DialogButtonHelp, SR_DialogButtonAll, SR_DialogButtonAbort, SR_DialogButtonIgnore, SR_DialogButtonRetry, SR_DialogButtonCustom, SR_ToolBoxTabContents, SR_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual QRect <a href="#subRect"><b>subRect</b></a> ( SubRect&nbsp;subrect, const&nbsp;QWidget&nbsp;*&nbsp;widget ) const = 0</li>
+<li class=fn>enum <a href="#ComplexControl-enum"><b>ComplexControl</b></a> { CC_SpinWidget, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, CC_TitleBar, CC_ListView, CC_CustomBase = 0xf0000000 }</li>
+<li class=fn>enum <a href="#SubControl-enum"><b>SubControl</b></a> { SC_None = 0x00000000, SC_ScrollBarAddLine = 0x00000001, SC_ScrollBarSubLine = 0x00000002, SC_ScrollBarAddPage = 0x00000004, SC_ScrollBarSubPage = 0x00000008, SC_ScrollBarFirst = 0x00000010, SC_ScrollBarLast = 0x00000020, SC_ScrollBarSlider = 0x00000040, SC_ScrollBarGroove = 0x00000080, SC_SpinWidgetUp = 0x00000001, SC_SpinWidgetDown = 0x00000002, SC_SpinWidgetFrame = 0x00000004, SC_SpinWidgetEditField = 0x00000008, SC_SpinWidgetButtonField = 0x00000010, SC_ComboBoxFrame = 0x00000001, SC_ComboBoxEditField = 0x00000002, SC_ComboBoxArrow = 0x00000004, SC_ComboBoxListBoxPopup = 0x00000008, SC_SliderGroove = 0x00000001, SC_SliderHandle = 0x00000002, SC_SliderTickmarks = 0x00000004, SC_ToolButton = 0x00000001, SC_ToolButtonMenu = 0x00000002, SC_TitleBarLabel = 0x00000001, SC_TitleBarSysMenu = 0x00000002, SC_TitleBarMinButton = 0x00000004, SC_TitleBarMaxButton = 0x00000008, SC_TitleBarCloseButton = 0x00000010, SC_TitleBarNormalButton = 0x00000020, SC_TitleBarShadeButton = 0x00000040, SC_TitleBarUnshadeButton = 0x00000080, SC_ListView = 0x00000001, SC_ListViewBranch = 0x00000002, SC_ListViewExpand = 0x00000004, SC_All = 0xffffffff }</li>
+<li class=fn>virtual void <a href="#drawComplexControl"><b>drawComplexControl</b></a> ( ComplexControl&nbsp;control, QPainter&nbsp;*&nbsp;p, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, SFlags&nbsp;how = Style_Default, SCFlags&nbsp;sub = SC_All, SCFlags&nbsp;subActive = SC_None, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>virtual void <a href="#drawComplexControlMask"><b>drawComplexControlMask</b></a> ( ComplexControl&nbsp;control, QPainter&nbsp;*&nbsp;p, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;r, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>virtual QRect <a href="#querySubControlMetrics"><b>querySubControlMetrics</b></a> ( ComplexControl&nbsp;control, const&nbsp;QWidget&nbsp;*&nbsp;widget, SubControl&nbsp;subcontrol, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>virtual SubControl <a href="#querySubControl"><b>querySubControl</b></a> ( ComplexControl&nbsp;control, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>enum <a href="#PixelMetric-enum"><b>PixelMetric</b></a> { PM_ButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, PM_ButtonShiftVertical, PM_DefaultFrameWidth, PM_SpinBoxFrameWidth, PM_MaximumDragDistance, PM_ScrollBarExtent, PM_ScrollBarSliderMin, PM_SliderThickness, PM_SliderControlThickness, PM_SliderLength, PM_SliderTickmarkOffset, PM_SliderSpaceAvailable, PM_DockWindowSeparatorExtent, PM_DockWindowHandleExtent, PM_DockWindowFrameWidth, PM_MenuBarFrameWidth, PM_TabBarTabOverlap, PM_TabBarTabHSpace, PM_TabBarTabVSpace, PM_TabBarBaseHeight, PM_TabBarBaseOverlap, PM_ProgressBarChunkWidth, PM_SplitterWidth, PM_TitleBarHeight, PM_IndicatorWidth, PM_IndicatorHeight, PM_ExclusiveIndicatorWidth, PM_ExclusiveIndicatorHeight, PM_PopupMenuScrollerHeight, PM_CheckListButtonSize, PM_CheckListControllerSize, PM_PopupMenuFrameHorizontalExtra, PM_PopupMenuFrameVerticalExtra, PM_DialogButtonsSeparator, PM_DialogButtonsButtonWidth, PM_DialogButtonsButtonHeight, PM_MDIFrameWidth, PM_MDIMinimizedWidth, PM_HeaderMargin, PM_HeaderMarkSize, PM_HeaderGripMargin, PM_TabBarTabShiftHorizontal, PM_TabBarTabShiftVertical, PM_TabBarScrollButtonWidth, PM_MenuBarItemSpacing, PM_ToolBarItemSpacing, PM_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual int <a href="#pixelMetric"><b>pixelMetric</b></a> ( PixelMetric&nbsp;metric, const&nbsp;QWidget&nbsp;*&nbsp;widget = 0 ) const = 0</li>
+<li class=fn>enum <a href="#ContentsType-enum"><b>ContentsType</b></a> { CT_PushButton, CT_CheckBox, CT_RadioButton, CT_ToolButton, CT_ComboBox, CT_Splitter, CT_DockWindow, CT_ProgressBar, CT_PopupMenuItem, CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit, CT_MenuBar, CT_SpinBox, CT_SizeGrip, CT_TabWidget, CT_DialogButtons, CT_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual QSize <a href="#sizeFromContents"><b>sizeFromContents</b></a> ( ContentsType&nbsp;contents, const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QSize&nbsp;&amp;&nbsp;contentsSize, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>enum <a href="#StyleHint-enum"><b>StyleHint</b></a> { SH_EtchDisabledText, SH_GUIStyle, SH_ScrollBar_BackgroundMode, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_ScrollWhenPointerLeavesControl, SH_TabBar_SelectMouseType, SH_TabBar_Alignment, SH_Header_ArrowAlignment, SH_Slider_SnapToValue, SH_Slider_SloppyKeyEvents, SH_ProgressDialog_CenterCancelButton, SH_ProgressDialog_TextLabelAlignment, SH_PrintDialog_RightAlignButtons, SH_MainWindow_SpaceBelowMenuBar, SH_FontDialog_SelectAssociatedText, SH_PopupMenu_AllowActiveAndDisabled, SH_PopupMenu_SpaceActivatesItem, SH_PopupMenu_SubMenuPopupDelay, SH_ScrollView_FrameOnlyAroundContents, SH_MenuBar_AltKeyNavigation, SH_ComboBox_ListMouseTracking, SH_PopupMenu_MouseTracking, SH_MenuBar_MouseTracking, SH_ItemView_ChangeHighlightOnFocus, SH_Widget_ShareActivation, SH_Workspace_FillSpaceOnMaximize, SH_ComboBox_Popup, SH_TitleBar_NoBorder, SH_ScrollBar_StopMouseOverSlider, SH_BlinkCursorWhenTextSelected, SH_RichText_FullWidthSelection, SH_PopupMenu_Scrollable, SH_GroupBox_TextLabelVerticalAlignment, SH_GroupBox_TextLabelColor, SH_PopupMenu_SloppySubMenus, SH_Table_GridLineColor, SH_LineEdit_PasswordCharacter, SH_DialogButtons_DefaultButton, SH_ToolBox_SelectedPageTitleBold, SH_TabBar_PreferNoArrows, SH_ScrollBar_LeftClickAbsolutePosition, SH_ListViewExpand_SelectMouseType, SH_UnderlineAccelerator, SH_ToolButton_Uses3D, SH_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual int <a href="#styleHint"><b>styleHint</b></a> ( StyleHint&nbsp;stylehint, const&nbsp;QWidget&nbsp;*&nbsp;widget = 0, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default, QStyleHintReturn&nbsp;*&nbsp;returnData = 0 ) const = 0</li>
+<li class=fn>enum <a href="#StylePixmap-enum"><b>StylePixmap</b></a> { SP_TitleBarMinButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, SP_TitleBarShadeButton, SP_TitleBarUnshadeButton, SP_DockWindowCloseButton, SP_MessageBoxInformation, SP_MessageBoxWarning, SP_MessageBoxCritical, SP_MessageBoxQuestion, SP_CustomBase = 0xf0000000 }</li>
+<li class=fn>virtual QPixmap <a href="#stylePixmap"><b>stylePixmap</b></a> ( StylePixmap&nbsp;stylepixmap, const&nbsp;QWidget&nbsp;*&nbsp;widget = 0, const&nbsp;QStyleOption&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const = 0</li>
+<li class=fn>int defaultFrameWidth () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void tabbarMetrics ( const&nbsp;QWidget&nbsp;*&nbsp;t, int&nbsp;&amp;&nbsp;hf, int&nbsp;&amp;&nbsp;vf, int&nbsp;&amp;&nbsp;ov ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QSize scrollBarExtent () const &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QRect <a href="#visualRect"><b>visualRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;logical, const&nbsp;QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QRect <a href="#visualRect-2"><b>visualRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;logical, const&nbsp;QRect&nbsp;&amp;&nbsp;bounding )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStyle class specifies the look and feel of a GUI.
+
+<p> A large number of GUI elements are common to many widgets. The
+QStyle class allows the look of these elements to be modified
+across all widgets that use the QStyle functions. It also
+provides two feel options: <a href="motif-extension.html#Motif">Motif</a> and Windows.
+<p> Although it is not possible to fully enumerate the look of
+graphical elements and the feel of widgets in a GUI, QStyle
+provides a considerable amount of control and customisability.
+<p> In Qt 1.x the look and feel option for widgets was specified by a
+single value: the GUIStyle. Starting with Qt 2.0, this notion was
+expanded to allow the look to be specified by virtual drawing
+functions.
+<p> Derived classes may reimplement some or all of the drawing
+functions to modify the look of all widgets that use those
+functions.
+<p> Languages written from right to left (such as Arabic and Hebrew)
+usually also mirror the whole layout of widgets. If you design a
+style, you should take special care when drawing asymmetric
+elements to make sure that they also look correct in a mirrored
+layout. You can start your application with <tt>-reverse</tt> to check
+the mirrored layout. Also notice, that for a reversed layout, the
+light usually comes from top right instead of top left.
+<p> The actual reverse layout is performed automatically when
+possible. However, for the sake of flexibility, the translation
+cannot be performed everywhere. The documentation for each
+function in the QStyle API states whether the function
+expects/returns logical or screen coordinates. Using logical
+coordinates (in ComplexControls, for example) provides great
+flexibility in controlling the look of a widget. Use <a href="#visualRect">visualRect</a>()
+when necessary to translate logical coordinates into screen
+coordinates for drawing.
+<p> In Qt versions prior to 3.0, if you wanted a low level route into
+changing the appearance of a widget, you would reimplement
+<a href="#polish">polish</a>(). With the new 3.0 style engine the recommended approach
+is to reimplement the draw functions, for example <a href="#drawItem">drawItem</a>(),
+<a href="#drawPrimitive">drawPrimitive</a>(), <a href="#drawControl">drawControl</a>(), <a href="#drawControlMask">drawControlMask</a>(),
+<a href="#drawComplexControl">drawComplexControl</a>() and <a href="#drawComplexControlMask">drawComplexControlMask</a>(). Each of these
+functions is called with a range of parameters that provide
+information that you can use to determine how to draw them, e.g.
+style flags, rectangle, color group, etc.
+<p> For information on changing elements of an existing style or
+creating your own style see the <a href="customstyles.html">Style
+ overview</a>.
+<p> Styles can also be created as <a href="plugins-howto.html">plugins</a>.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ComplexControl-enum"></a>QStyle::ComplexControl</h3>
+
+<p> This enum represents a ComplexControl. ComplexControls have
+different behaviour depending upon where the user clicks on them
+or which keys are pressed.
+<ul>
+<li><tt>QStyle::CC_SpinWidget</tt>
+<li><tt>QStyle::CC_ComboBox</tt>
+<li><tt>QStyle::CC_ScrollBar</tt>
+<li><tt>QStyle::CC_Slider</tt>
+<li><tt>QStyle::CC_ToolButton</tt>
+<li><tt>QStyle::CC_TitleBar</tt>
+<li><tt>QStyle::CC_ListView</tt>
+</ul><p> <ul>
+<li><tt>QStyle::CC_CustomBase</tt> - base value for custom ControlElements. All
+values above this are reserved for custom use. Therefore,
+custom values must be greater than this value.
+</ul><p> <p>See also <a href="#SubControl-enum">SubControl</a> and <a href="#drawComplexControl">drawComplexControl</a>().
+
+<h3 class=fn><a name="ContentsType-enum"></a>QStyle::ContentsType</h3>
+
+<p> This enum represents a ContentsType. It is used to calculate sizes
+for the contents of various widgets.
+<ul>
+<li><tt>QStyle::CT_PushButton</tt>
+<li><tt>QStyle::CT_CheckBox</tt>
+<li><tt>QStyle::CT_RadioButton</tt>
+<li><tt>QStyle::CT_ToolButton</tt>
+<li><tt>QStyle::CT_ComboBox</tt>
+<li><tt>QStyle::CT_Splitter</tt>
+<li><tt>QStyle::CT_DockWindow</tt>
+<li><tt>QStyle::CT_ProgressBar</tt>
+<li><tt>QStyle::CT_PopupMenuItem</tt>
+<li><tt>QStyle::CT_TabBarTab</tt>
+<li><tt>QStyle::CT_Slider</tt>
+<li><tt>QStyle::CT_Header</tt>
+<li><tt>QStyle::CT_LineEdit</tt>
+<li><tt>QStyle::CT_MenuBar</tt>
+<li><tt>QStyle::CT_SpinBox</tt>
+<li><tt>QStyle::CT_SizeGrip</tt>
+<li><tt>QStyle::CT_TabWidget</tt>
+<li><tt>QStyle::CT_DialogButtons</tt>
+<li><tt>QStyle::CT_CustomBase</tt> - base value for custom ControlElements. All
+values above this are reserved for custom use. Custom values
+must be greater than this value.
+</ul><p> <p>See also <a href="#sizeFromContents">sizeFromContents</a>().
+
+<h3 class=fn><a name="ControlElement-enum"></a>QStyle::ControlElement</h3>
+
+<p> This enum represents a ControlElement. A ControlElement is part of
+a widget that performs some action or displays information to the
+user.
+<ul>
+<li><tt>QStyle::CE_PushButton</tt> - the bevel and default indicator of a <a href="qpushbutton.html">QPushButton</a>.
+<li><tt>QStyle::CE_PushButtonLabel</tt> - the label (iconset with text or pixmap)
+of a QPushButton.
+<li><tt>QStyle::CE_CheckBox</tt> - the indicator of a <a href="qcheckbox.html">QCheckBox</a>.
+<li><tt>QStyle::CE_CheckBoxLabel</tt> - the label (text or pixmap) of a QCheckBox.
+<li><tt>QStyle::CE_RadioButton</tt> - the indicator of a <a href="qradiobutton.html">QRadioButton</a>.
+<li><tt>QStyle::CE_RadioButtonLabel</tt> - the label (text or pixmap) of a QRadioButton.
+<li><tt>QStyle::CE_TabBarTab</tt> - the tab within a <a href="qtabbar.html">QTabBar</a> (a <a href="qtab.html">QTab</a>).
+<li><tt>QStyle::CE_TabBarLabel</tt> - the label within a QTab.
+<li><tt>QStyle::CE_ProgressBarGroove</tt> - the groove where the progress
+indicator is drawn in a <a href="qprogressbar.html">QProgressBar</a>.
+<li><tt>QStyle::CE_ProgressBarContents</tt> - the progress indicator of a QProgressBar.
+<li><tt>QStyle::CE_ProgressBarLabel</tt> - the text label of a QProgressBar.
+<li><tt>QStyle::CE_PopupMenuItem</tt> - a menu item in a <a href="qpopupmenu.html">QPopupMenu</a>.
+<li><tt>QStyle::CE_PopupMenuScroller</tt> - scrolling areas in a popumenu when the
+style supports scrolling.
+<li><tt>QStyle::CE_PopupMenuHorizontalExtra</tt> - extra frame area set aside with PM_PopupMenuFrameHorizontalExtra
+<li><tt>QStyle::CE_PopupMenuVerticalExtra</tt> - extra frame area set aside with PM_PopupMenuFrameVerticalExtra
+<li><tt>QStyle::CE_MenuBarItem</tt> - a menu item in a <a href="qmenubar.html">QMenuBar</a>.
+<li><tt>QStyle::CE_ToolButtonLabel</tt> - a tool button's label.
+<li><tt>QStyle::CE_MenuBarEmptyArea</tt> - the empty area of a QMenuBar.
+<li><tt>QStyle::CE_DockWindowEmptyArea</tt> - the empty area of a <a href="qdockwindow.html">QDockWindow</a>.
+<li><tt>QStyle::CE_ToolBoxTab</tt> - the toolbox's tab area
+<li><tt>QStyle::CE_HeaderLabel</tt> - the header's label
+<li><tt>QStyle::CE_CustomBase</tt> - base value for custom ControlElements. All values above
+this are reserved for custom use. Therefore, custom values must be
+greater than this value.
+</ul><p> <p>See also <a href="#drawControl">drawControl</a>().
+
+<h3 class=fn><a name="PixelMetric-enum"></a>QStyle::PixelMetric</h3>
+
+<p> This enum represents a PixelMetric. A PixelMetric is a style
+dependent size represented as a single pixel value.
+<ul>
+<li><tt>QStyle::PM_ButtonMargin</tt> - amount of whitespace between pushbutton
+labels and the frame.
+<li><tt>QStyle::PM_ButtonDefaultIndicator</tt> - width of the default-button indicator frame.
+<li><tt>QStyle::PM_MenuButtonIndicator</tt> - width of the menu button indicator
+proportional to the widget height.
+<li><tt>QStyle::PM_ButtonShiftHorizontal</tt> - horizontal contents shift of a
+button when the button is down.
+<li><tt>QStyle::PM_ButtonShiftVertical</tt> - vertical contents shift of a button when the
+button is down.
+<li><tt>QStyle::PM_DefaultFrameWidth</tt> - default frame width, usually 2.
+<li><tt>QStyle::PM_SpinBoxFrameWidth</tt> - frame width of a spin box.
+<li><tt>QStyle::PM_MDIFrameWidth</tt> - frame width of an MDI window.
+<li><tt>QStyle::PM_MDIMinimizedWidth</tt> - width of a minimized MSI window.
+<li><tt>QStyle::PM_MaximumDragDistance</tt> - Some feels require the scrollbar or
+other sliders to jump back to the original position when the
+mouse pointer is too far away while dragging. A value of -1
+disables this behavior.
+<li><tt>QStyle::PM_ScrollBarExtent</tt> - width of a vertical scrollbar and the
+height of a horizontal scrollbar.
+<li><tt>QStyle::PM_ScrollBarSliderMin</tt> - the minimum height of a vertical
+scrollbar's slider and the minimum width of a horiztonal
+scrollbar slider.
+<li><tt>QStyle::PM_SliderThickness</tt> - total slider thickness.
+<li><tt>QStyle::PM_SliderControlThickness</tt> - thickness of the slider handle.
+<li><tt>QStyle::PM_SliderLength</tt> - length of the slider.
+<li><tt>QStyle::PM_SliderTickmarkOffset</tt> - the offset between the tickmarks
+and the slider.
+<li><tt>QStyle::PM_SliderSpaceAvailable</tt> - the available space for the slider to move.
+<li><tt>QStyle::PM_DockWindowSeparatorExtent</tt> - width of a separator in a
+horiztonal dock window and the height of a separator in a
+vertical dock window.
+<li><tt>QStyle::PM_DockWindowHandleExtent</tt> - width of the handle in a
+horizontal dock window and the height of the handle in a
+vertical dock window.
+<li><tt>QStyle::PM_DockWindowFrameWidth</tt> - frame width of a dock window.
+<li><tt>QStyle::PM_MenuBarFrameWidth</tt> - frame width of a menubar.
+<li><tt>QStyle::PM_MenuBarItemSpacing</tt> - spacing between menubar items.
+<li><tt>QStyle::PM_ToolBarItemSpacing</tt> - spacing between toolbar items.
+<li><tt>QStyle::PM_TabBarTabOverlap</tt> - number of pixels the tabs should overlap.
+<li><tt>QStyle::PM_TabBarTabHSpace</tt> - extra space added to the tab width.
+<li><tt>QStyle::PM_TabBarTabVSpace</tt> - extra space added to the tab height.
+<li><tt>QStyle::PM_TabBarBaseHeight</tt> - height of the area between the tab bar
+and the tab pages.
+<li><tt>QStyle::PM_TabBarBaseOverlap</tt> - number of pixels the tab bar overlaps
+the tab bar base.
+<li><tt>QStyle::PM_TabBarScrollButtonWidth</tt>
+<li><tt>QStyle::PM_TabBarTabShiftHorizontal</tt> - horizontal pixel shift when a
+tab is selected.
+<li><tt>QStyle::PM_TabBarTabShiftVertical</tt> - vertical pixel shift when a
+tab is selected.
+<li><tt>QStyle::PM_ProgressBarChunkWidth</tt> - width of a chunk in a progress bar indicator.
+<li><tt>QStyle::PM_SplitterWidth</tt> - width of a splitter.
+<li><tt>QStyle::PM_TitleBarHeight</tt> - height of the title bar.
+<li><tt>QStyle::PM_PopupMenuFrameHorizontalExtra</tt> - additional border, e.g. for panels
+<li><tt>QStyle::PM_PopupMenuFrameVerticalExtra</tt> - additional border, e.g. for panels
+<li><tt>QStyle::PM_IndicatorWidth</tt> - width of a check box indicator.
+<li><tt>QStyle::PM_IndicatorHeight</tt> - height of a checkbox indicator.
+<li><tt>QStyle::PM_ExclusiveIndicatorWidth</tt> - width of a radio button indicator.
+<li><tt>QStyle::PM_ExclusiveIndicatorHeight</tt> - height of a radio button indicator.
+<li><tt>QStyle::PM_PopupMenuScrollerHeight</tt> - height of the scroller area in a popupmenu.
+<li><tt>QStyle::PM_PopupMenuScrollerHeight</tt> - height of the scroller area in a popupmenu.
+<li><tt>QStyle::PM_CheckListButtonSize</tt> - area (width/height) of the
+checkbox/radiobutton in a <a href="qchecklistitem.html">QCheckListItem</a>
+<li><tt>QStyle::PM_CheckListControllerSize</tt> - area (width/height) of the
+controller in a QCheckListItem
+<li><tt>QStyle::PM_DialogButtonsSeparator</tt> - distance between buttons in a dialog buttons widget.
+<li><tt>QStyle::PM_DialogButtonsButtonWidth</tt> - minimum width of a button in a dialog buttons widget.
+<li><tt>QStyle::PM_DialogButtonsButtonHeight</tt> - minimum height of a button in a dialog buttons widget.
+<li><tt>QStyle::PM_HeaderMarkSize</tt>
+<li><tt>QStyle::PM_HeaderGripMargin</tt>
+<li><tt>QStyle::PM_HeaderMargin</tt>
+<li><tt>QStyle::PM_CustomBase</tt> - base value for custom ControlElements. All
+values above this are reserved for custom use. Therefore,
+custom values must be greater than this value.
+</ul><p> <p>See also <a href="#pixelMetric">pixelMetric</a>().
+
+<h3 class=fn><a name="PrimitiveElement-enum"></a>QStyle::PrimitiveElement</h3>
+
+<p> This enum represents the PrimitiveElements of a style. A
+PrimitiveElement is a common GUI element, such as a checkbox
+indicator or pushbutton bevel.
+<ul>
+<li><tt>QStyle::PE_ButtonCommand</tt> - button used to initiate an action, for
+example, a <a href="qpushbutton.html">QPushButton</a>.
+<li><tt>QStyle::PE_ButtonDefault</tt> - this button is the default button, e.g.
+in a dialog.
+<li><tt>QStyle::PE_ButtonBevel</tt> - generic button bevel.
+<li><tt>QStyle::PE_ButtonTool</tt> - tool button, for example, a <a href="qtoolbutton.html">QToolButton</a>.
+<li><tt>QStyle::PE_ButtonDropDown</tt> - drop down button, for example, a tool
+button that displays a popup menu, for example, <a href="qpopupmenu.html">QPopupMenu</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_FocusRect</tt> - generic focus indicator.
+</ul><p> <ul>
+<li><tt>QStyle::PE_ArrowUp</tt> - up arrow.
+<li><tt>QStyle::PE_ArrowDown</tt> - down arrow.
+<li><tt>QStyle::PE_ArrowRight</tt> - right arrow.
+<li><tt>QStyle::PE_ArrowLeft</tt> - left arrow.
+</ul><p> <ul>
+<li><tt>QStyle::PE_SpinWidgetUp</tt> - up symbol for a spin widget, for example a
+<a href="qspinbox.html">QSpinBox</a>.
+<li><tt>QStyle::PE_SpinWidgetDown</tt> - down symbol for a spin widget.
+<li><tt>QStyle::PE_SpinWidgetPlus</tt> - increase symbol for a spin widget.
+<li><tt>QStyle::PE_SpinWidgetMinus</tt> - decrease symbol for a spin widget.
+</ul><p> <ul>
+<li><tt>QStyle::PE_Indicator</tt> - on/off indicator, for example, a <a href="qcheckbox.html">QCheckBox</a>.
+<li><tt>QStyle::PE_IndicatorMask</tt> - bitmap mask for an indicator.
+<li><tt>QStyle::PE_ExclusiveIndicator</tt> - exclusive on/off indicator, for
+example, a <a href="qradiobutton.html">QRadioButton</a>.
+<li><tt>QStyle::PE_ExclusiveIndicatorMask</tt> - bitmap mask for an exclusive indicator.
+</ul><p> <ul>
+<li><tt>QStyle::PE_DockWindowHandle</tt> - tear off handle for dock windows and
+toolbars, for example <a href="qdockwindow.html">QDockWindow</a>s and <a href="qtoolbar.html">QToolBar</a>s.
+<li><tt>QStyle::PE_DockWindowSeparator</tt> - item separator for dock window and
+toolbar contents.
+<li><tt>QStyle::PE_DockWindowResizeHandle</tt> - resize handle for dock windows.
+<li><tt>QStyle::PE_Splitter</tt> - splitter handle; see also <a href="qsplitter.html">QSplitter</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_Panel</tt> - generic panel frame; see also <a href="qframe.html">QFrame</a>.
+<li><tt>QStyle::PE_PanelPopup</tt> - panel frame for popup windows/menus; see also
+<a href="qpopupmenu.html">QPopupMenu</a>.
+<li><tt>QStyle::PE_PanelMenuBar</tt> - panel frame for menu bars.
+<li><tt>QStyle::PE_PanelDockWindow</tt> - panel frame for dock windows and toolbars.
+<li><tt>QStyle::PE_PanelTabWidget</tt> - panel frame for tab widgets.
+<li><tt>QStyle::PE_PanelLineEdit</tt> - panel frame for line edits.
+<li><tt>QStyle::PE_PanelGroupBox</tt> - panel frame for group boxes.
+<li><tt>QStyle::PE_TabBarBase</tt> - area below tabs in a tab widget, for example,
+<a href="qtab.html">QTab</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_HeaderSection</tt> - section of a list or table header; see also
+<a href="qheader.html">QHeader</a>.
+<li><tt>QStyle::PE_HeaderArrow</tt> - arrow used to indicate sorting on a list or table
+header
+<li><tt>QStyle::PE_StatusBarSection</tt> - section of a status bar; see also
+<a href="qstatusbar.html">QStatusBar</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_GroupBoxFrame</tt> - frame around a group box; see also
+<a href="qgroupbox.html">QGroupBox</a>.
+<li><tt>QStyle::PE_WindowFrame</tt> - frame around a MDI window or a docking window
+</ul><p> <ul>
+<li><tt>QStyle::PE_Separator</tt> - generic separator.
+</ul><p> <ul>
+<li><tt>QStyle::PE_SizeGrip</tt> - window resize handle; see also <a href="qsizegrip.html">QSizeGrip</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_CheckMark</tt> - generic check mark; see also <a href="qcheckbox.html">QCheckBox</a>.
+</ul><p> <ul>
+<li><tt>QStyle::PE_ScrollBarAddLine</tt> - scrollbar line increase indicator
+(i.e. scroll down); see also <a href="qscrollbar.html">QScrollBar</a>.
+<li><tt>QStyle::PE_ScrollBarSubLine</tt> - scrollbar line decrease indicator (i.e. scroll up).
+<li><tt>QStyle::PE_ScrollBarAddPage</tt> - scolllbar page increase indicator (i.e. page down).
+<li><tt>QStyle::PE_ScrollBarSubPage</tt> - scrollbar page decrease indicator (i.e. page up).
+<li><tt>QStyle::PE_ScrollBarSlider</tt> - scrollbar slider
+<li><tt>QStyle::PE_ScrollBarFirst</tt> - scrollbar first line indicator (i.e. home).
+<li><tt>QStyle::PE_ScrollBarLast</tt> - scrollbar last line indicator (i.e. end).
+</ul><p> <ul>
+<li><tt>QStyle::PE_ProgressBarChunk</tt> - section of a progress bar indicator; see
+also <a href="qprogressbar.html">QProgressBar</a>.
+<li><tt>QStyle::PE_CheckListController</tt> - controller part of a listview item
+<li><tt>QStyle::PE_CheckListIndicator</tt> - checkbox part of a listview item
+<li><tt>QStyle::PE_CheckListExclusiveIndicator</tt> - radiobutton part of a listview item
+<li><tt>QStyle::PE_RubberBand</tt> - rubber band used in such things as iconview
+<li><tt>QStyle::PE_CustomBase</tt> - base value for custom PrimitiveElements.
+All values above this are reserved for custom use. Custom
+values must be greater than this value.
+</ul><p> <p>See also <a href="#drawPrimitive">drawPrimitive</a>().
+
+<h3 class=fn><a name="StyleFlags-enum"></a>QStyle::StyleFlags</h3>
+
+<p> This enum represents flags for drawing PrimitiveElements. Not all
+primitives use all of these flags. Note that these flags may mean
+different things to different primitives. For an explanation of
+the relationship between primitives and their flags, as well as
+the different meanings of the flags, see the <a href="customstyles.html">Style overview</a>.
+<ul>
+<li><tt>QStyle::Style_Default</tt>
+<li><tt>QStyle::Style_Enabled</tt>
+<li><tt>QStyle::Style_Raised</tt>
+<li><tt>QStyle::Style_Sunken</tt>
+<li><tt>QStyle::Style_Off</tt>
+<li><tt>QStyle::Style_NoChange</tt>
+<li><tt>QStyle::Style_On</tt>
+<li><tt>QStyle::Style_Down</tt>
+<li><tt>QStyle::Style_Horizontal</tt>
+<li><tt>QStyle::Style_HasFocus</tt>
+<li><tt>QStyle::Style_Top</tt>
+<li><tt>QStyle::Style_Bottom</tt>
+<li><tt>QStyle::Style_FocusAtBorder</tt>
+<li><tt>QStyle::Style_AutoRaise</tt>
+<li><tt>QStyle::Style_MouseOver</tt>
+<li><tt>QStyle::Style_Up</tt>
+<li><tt>QStyle::Style_Selected</tt>
+<li><tt>QStyle::Style_HasFocus</tt>
+<li><tt>QStyle::Style_Active</tt>
+<li><tt>QStyle::Style_ButtonDefault</tt>
+</ul><p> <p>See also <a href="#drawPrimitive">drawPrimitive</a>().
+
+<h3 class=fn><a name="StyleHint-enum"></a>QStyle::StyleHint</h3>
+
+<p> This enum represents a StyleHint. A StyleHint is a general look
+and/or feel hint.
+<ul>
+<li><tt>QStyle::SH_EtchDisabledText</tt> - disabled text is "etched" like Windows.
+<li><tt>QStyle::SH_GUIStyle</tt> - the GUI style to use.
+<li><tt>QStyle::SH_ScrollBar_BackgroundMode</tt> - the background mode for a
+<a href="qscrollbar.html">QScrollBar</a>. Possible values are any of those in the <a href="qt.html#BackgroundMode-enum">BackgroundMode</a> enum.
+<li><tt>QStyle::SH_ScrollBar_MiddleClickAbsolutePosition</tt> - a boolean value.
+If TRUE, middle clicking on a scrollbar causes the slider to
+jump to that position. If FALSE, the middle clicking is
+ignored.
+<li><tt>QStyle::SH_ScrollBar_LeftClickAbsolutePosition</tt> - a boolean value.
+If TRUE, left clicking on a scrollbar causes the slider to
+jump to that position. If FALSE, the left clicking will
+behave as appropriate for each control.
+<li><tt>QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl</tt> - a boolean
+value. If TRUE, when clicking a scrollbar SubControl, holding
+the mouse button down and moving the pointer outside the
+SubControl, the scrollbar continues to scroll. If FALSE, the
+scollbar stops scrolling when the pointer leaves the
+SubControl.
+<li><tt>QStyle::SH_TabBar_Alignment</tt> - the alignment for tabs in a
+<a href="qtabwidget.html">QTabWidget</a>. Possible values are <a href="qt.html#AlignmentFlags-enum">Qt::AlignLeft</a>, <a href="qt.html#AlignmentFlags-enum">Qt::AlignCenter</a> and <a href="qt.html#AlignmentFlags-enum">Qt::AlignRight</a>.
+<li><tt>QStyle::SH_Header_ArrowAlignment</tt> - the placement of the sorting
+indicator may appear in list or table headers. Possible values
+are <a href="qt.html#Dock-enum">Qt::Left</a> or <a href="qt.html#Dock-enum">Qt::Right</a>.
+<li><tt>QStyle::SH_Slider_SnapToValue</tt> - sliders snap to values while moving,
+like Windows
+<li><tt>QStyle::SH_Slider_SloppyKeyEvents</tt> - key presses handled in a sloppy
+manner, i.e. left on a vertical slider subtracts a line.
+<li><tt>QStyle::SH_ProgressDialog_CenterCancelButton</tt> - center button on
+progress dialogs, like <a href="motif-extension.html#Motif">Motif</a>, otherwise right aligned.
+<li><tt>QStyle::SH_ProgressDialog_TextLabelAlignment</tt> - Qt::AlignmentFlags --
+text label alignment in progress dialogs; Center on windows,
+Auto|VCenter otherwise.
+<li><tt>QStyle::SH_PrintDialog_RightAlignButtons</tt> - right align buttons in
+the print dialog, like Windows.
+<li><tt>QStyle::SH_MainWindow_SpaceBelowMenuBar</tt> - 1 or 2 pixel space between
+the menubar and the dockarea, like Windows.
+<li><tt>QStyle::SH_FontDialog_SelectAssociatedText</tt> - select the text in the
+line edit, or when selecting an item from the listbox, or when
+the line edit receives focus, like Windows.
+<li><tt>QStyle::SH_PopupMenu_AllowActiveAndDisabled</tt> - allows disabled menu
+items to be active.
+<li><tt>QStyle::SH_PopupMenu_SpaceActivatesItem</tt> - pressing Space activates
+the item, like Motif.
+<li><tt>QStyle::SH_PopupMenu_SubMenuPopupDelay</tt> - the number of milliseconds
+to wait before opening a submenu; 256 on windows, 96 on Motif.
+<li><tt>QStyle::SH_PopupMenu_Scrollable</tt> - whether popupmenu's must support
+scrolling.
+<li><tt>QStyle::SH_PopupMenu_SloppySubMenus</tt> - whether popupmenu's must support
+sloppy submenu; as implemented on Mac OS.
+<li><tt>QStyle::SH_ScrollView_FrameOnlyAroundContents</tt> - whether scrollviews
+draw their frame only around contents (like Motif), or around
+contents, scrollbars and corner widgets (like Windows).
+<li><tt>QStyle::SH_MenuBar_AltKeyNavigation</tt> - menubars items are navigable
+by pressing Alt, followed by using the arrow keys to select
+the desired item.
+<li><tt>QStyle::SH_ComboBox_ListMouseTracking</tt> - mouse tracking in combobox
+dropdown lists.
+<li><tt>QStyle::SH_PopupMenu_MouseTracking</tt> - mouse tracking in popup menus.
+<li><tt>QStyle::SH_MenuBar_MouseTracking</tt> - mouse tracking in menubars.
+<li><tt>QStyle::SH_ItemView_ChangeHighlightOnFocus</tt> - gray out selected items
+when losing focus.
+<li><tt>QStyle::SH_Widget_ShareActivation</tt> - turn on sharing activation with
+floating modeless dialogs.
+<li><tt>QStyle::SH_TabBar_SelectMouseType</tt> - which type of mouse event should
+cause a tab to be selected.
+<li><tt>QStyle::SH_ListViewExpand_SelectMouseType</tt> - which type of mouse event should
+cause a listview expansion to be selected.
+<li><tt>QStyle::SH_TabBar_PreferNoArrows</tt> - whether a tabbar should suggest a size
+to prevent scoll arrows.
+<li><tt>QStyle::SH_ComboBox_Popup</tt> - allows popups as a combobox dropdown
+menu.
+<li><tt>QStyle::SH_Workspace_FillSpaceOnMaximize</tt> - the workspace should
+maximize the client area.
+<li><tt>QStyle::SH_TitleBar_NoBorder</tt> - the titlebar has no border
+<li><tt>QStyle::SH_ScrollBar_StopMouseOverSlider</tt> - stops autorepeat when
+slider reaches mouse
+<li><tt>QStyle::SH_BlinkCursorWhenTextSelected</tt> - whether cursor should blink
+when text is selected
+<li><tt>QStyle::SH_RichText_FullWidthSelection</tt> - whether richtext selections
+should extend the full width of the document.
+<li><tt>QStyle::SH_GroupBox_TextLabelVerticalAlignment</tt> - how to vertically align a
+groupbox's text label.
+<li><tt>QStyle::SH_GroupBox_TextLabelColor</tt> - how to paint a groupbox's text label.
+<li><tt>QStyle::SH_DialogButtons_DefaultButton</tt> - which buttons gets the
+default status in a dialog's button widget.
+<li><tt>QStyle::SH_CustomBase</tt> - base value for custom ControlElements. All
+values above this are reserved for custom use. Therefore,
+custom values must be greater than this value.
+<li><tt>QStyle::SH_ToolButton_Uses3D</tt> - indicates whether QToolButtons should
+use a 3D frame when the mouse is over them
+<li><tt>QStyle::SH_ToolBox_SelectedPageTitleBold</tt> - Boldness of the selected
+page title in a <a href="qtoolbox.html">QToolBox</a>.
+<li><tt>QStyle::SH_LineEdit_PasswordCharacter</tt> - The <a href="qchar.html">QChar</a> Unicode character
+to be used for passwords.
+<li><tt>QStyle::SH_Table_GridLineColor</tt>
+<li><tt>QStyle::SH_UnderlineAccelerator</tt> - whether accelerators are underlined
+</ul><p> <p>See also <a href="#styleHint">styleHint</a>().
+
+<h3 class=fn><a name="StylePixmap-enum"></a>QStyle::StylePixmap</h3>
+
+<p> This enum represents a StylePixmap. A StylePixmap is a pixmap that
+can follow some existing GUI style or guideline.
+<p> <ul>
+<li><tt>QStyle::SP_TitleBarMinButton</tt> - minimize button on titlebars. For
+example, in a <a href="qworkspace.html">QWorkspace</a>.
+<li><tt>QStyle::SP_TitleBarMaxButton</tt> - maximize button on titlebars.
+<li><tt>QStyle::SP_TitleBarCloseButton</tt> - close button on titlebars.
+<li><tt>QStyle::SP_TitleBarNormalButton</tt> - normal (restore) button on titlebars.
+<li><tt>QStyle::SP_TitleBarShadeButton</tt> - shade button on titlebars.
+<li><tt>QStyle::SP_TitleBarUnshadeButton</tt> - unshade button on titlebars.
+<li><tt>QStyle::SP_MessageBoxInformation</tt> - the 'information' icon.
+<li><tt>QStyle::SP_MessageBoxWarning</tt> - the 'warning' icon.
+<li><tt>QStyle::SP_MessageBoxCritical</tt> - the 'critical' icon.
+<li><tt>QStyle::SP_MessageBoxQuestion</tt> - the 'question' icon.
+</ul><p> <ul>
+<li><tt>QStyle::SP_DockWindowCloseButton</tt> - close button on dock windows;
+see also <a href="qdockwindow.html">QDockWindow</a>.
+</ul><p> <ul>
+<li><tt>QStyle::SP_CustomBase</tt> - base value for custom ControlElements. All
+values above this are reserved for custom use. Therefore,
+custom values must be greater than this value.
+</ul><p> <p>See also <a href="#stylePixmap">stylePixmap</a>().
+
+<h3 class=fn><a name="SubControl-enum"></a>QStyle::SubControl</h3>
+
+<p> This enum represents a SubControl within a ComplexControl.
+<ul>
+<li><tt>QStyle::SC_None</tt> - special value that matches no other SubControl.
+</ul><p> <ul>
+<li><tt>QStyle::SC_ScrollBarAddLine</tt> - scrollbar add line (i.e. down/right
+arrow); see also QScrollbar.
+<li><tt>QStyle::SC_ScrollBarSubLine</tt> - scrollbar sub line (i.e. up/left arrow).
+<li><tt>QStyle::SC_ScrollBarAddPage</tt> - scrollbar add page (i.e. page down).
+<li><tt>QStyle::SC_ScrollBarSubPage</tt> - scrollbar sub page (i.e. page up).
+<li><tt>QStyle::SC_ScrollBarFirst</tt> - scrollbar first line (i.e. home).
+<li><tt>QStyle::SC_ScrollBarLast</tt> - scrollbar last line (i.e. end).
+<li><tt>QStyle::SC_ScrollBarSlider</tt> - scrollbar slider handle.
+<li><tt>QStyle::SC_ScrollBarGroove</tt> - special subcontrol which contains the
+area in which the slider handle may move.
+</ul><p> <ul>
+<li><tt>QStyle::SC_SpinWidgetUp</tt> - spinwidget up/increase; see also <a href="qspinbox.html">QSpinBox</a>.
+<li><tt>QStyle::SC_SpinWidgetDown</tt> - spinwidget down/decrease.
+<li><tt>QStyle::SC_SpinWidgetFrame</tt> - spinwidget frame.
+<li><tt>QStyle::SC_SpinWidgetEditField</tt> - spinwidget edit field.
+<li><tt>QStyle::SC_SpinWidgetButtonField</tt> - spinwidget button field.
+</ul><p> <ul>
+<li><tt>QStyle::SC_ComboBoxEditField</tt> - combobox edit field; see also <a href="qcombobox.html">QComboBox</a>.
+<li><tt>QStyle::SC_ComboBoxArrow</tt> - combobox arrow
+<li><tt>QStyle::SC_ComboBoxFrame</tt> - combobox frame
+<li><tt>QStyle::SC_ComboBoxListBoxPopup</tt> - combobox list box
+<li><tt>QStyle::SC_SliderGroove</tt> - special subcontrol which contains the area
+in which the slider handle may move.
+<li><tt>QStyle::SC_SliderHandle</tt> - slider handle.
+<li><tt>QStyle::SC_SliderTickmarks</tt> - slider tickmarks.
+</ul><p> <ul>
+<li><tt>QStyle::SC_ToolButton</tt> - tool button; see also QToolbutton.
+<li><tt>QStyle::SC_ToolButtonMenu</tt> - subcontrol for opening a popup menu in a
+tool button; see also <a href="qpopupmenu.html">QPopupMenu</a>.
+</ul><p> <ul>
+<li><tt>QStyle::SC_TitleBarSysMenu</tt> - system menu button (i.e. restore, close, etc.).
+<li><tt>QStyle::SC_TitleBarMinButton</tt> - minimize button.
+<li><tt>QStyle::SC_TitleBarMaxButton</tt> - maximize button.
+<li><tt>QStyle::SC_TitleBarCloseButton</tt> - close button.
+<li><tt>QStyle::SC_TitleBarLabel</tt> - window title label.
+<li><tt>QStyle::SC_TitleBarNormalButton</tt> - normal (restore) button.
+<li><tt>QStyle::SC_TitleBarShadeButton</tt> - shade button.
+<li><tt>QStyle::SC_TitleBarUnshadeButton</tt> - unshade button.
+</ul><p> <ul>
+<li><tt>QStyle::SC_ListView</tt> - the list view area.
+<li><tt>QStyle::SC_ListViewBranch</tt> - (internal)
+<li><tt>QStyle::SC_ListViewExpand</tt> - expand item (i.e. show/hide child items).
+</ul><p> <ul>
+<li><tt>QStyle::SC_All</tt> - special value that matches all SubControls.
+</ul><p> <p>See also <a href="#ComplexControl-enum">ComplexControl</a>.
+
+<h3 class=fn><a name="SubRect-enum"></a>QStyle::SubRect</h3>
+
+<p> This enum represents a sub-area of a widget. Style implementations
+would use these areas to draw the different parts of a widget.
+<ul>
+<li><tt>QStyle::SR_PushButtonContents</tt> - area containing the label (iconset
+with text or pixmap).
+<li><tt>QStyle::SR_PushButtonFocusRect</tt> - area for the focus rect (usually
+larger than the contents rect).
+<li><tt>QStyle::SR_CheckBoxIndicator</tt> - area for the state indicator (e.g. check mark).
+<li><tt>QStyle::SR_CheckBoxContents</tt> - area for the label (text or pixmap).
+<li><tt>QStyle::SR_CheckBoxFocusRect</tt> - area for the focus indicator.
+</ul><p> <ul>
+<li><tt>QStyle::SR_RadioButtonIndicator</tt> - area for the state indicator.
+<li><tt>QStyle::SR_RadioButtonContents</tt> - area for the label.
+<li><tt>QStyle::SR_RadioButtonFocusRect</tt> - area for the focus indicator.
+</ul><p> <ul>
+<li><tt>QStyle::SR_ComboBoxFocusRect</tt> - area for the focus indicator.
+</ul><p> <ul>
+<li><tt>QStyle::SR_SliderFocusRect</tt> - area for the focus indicator.
+</ul><p> <ul>
+<li><tt>QStyle::SR_DockWindowHandleRect</tt> - area for the tear-off handle.
+</ul><p> <ul>
+<li><tt>QStyle::SR_ProgressBarGroove</tt> - area for the groove.
+<li><tt>QStyle::SR_ProgressBarContents</tt> - area for the progress indicator.
+<li><tt>QStyle::SR_ProgressBarLabel</tt> - area for the text label.
+</ul><p> <ul>
+<li><tt>QStyle::SR_ToolButtonContents</tt> - area for the tool button's label.
+<li><tt>QStyle::SR_DialogButtonAccept</tt> - area for a dialog's accept button.
+<li><tt>QStyle::SR_DialogButtonReject</tt> - area for a dialog's reject button.
+<li><tt>QStyle::SR_DialogButtonApply</tt> - area for a dialog's apply button.
+<li><tt>QStyle::SR_DialogButtonHelp</tt> - area for a dialog's help button.
+<li><tt>QStyle::SR_DialogButtonAll</tt> - area for a dialog's all button.
+<li><tt>QStyle::SR_DialogButtonRetry</tt> - area for a dialog's retry button.
+<li><tt>QStyle::SR_DialogButtonAbort</tt> - area for a dialog's abort button.
+<li><tt>QStyle::SR_DialogButtonIgnore</tt> - area for a dialog's ignore button.
+<li><tt>QStyle::SR_DialogButtonCustom</tt> - area for a dialog's custom widget area (in button row).
+<li><tt>QStyle::SR_ToolBoxTabContents</tt> - area for a toolbox tab's icon and label
+<li><tt>QStyle::SR_CustomBase</tt> - base value for custom ControlElements. All values above
+this are reserved for custom use. Therefore, custom values must be
+greater than this value.
+</ul><p> <p>See also <a href="#subRect">subRect</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStyle"></a>QStyle::QStyle ()
+</h3>
+Constructs a QStyle.
+
+<h3 class=fn><a name="~QStyle"></a>QStyle::~QStyle ()<tt> [virtual]</tt>
+</h3>
+Destroys the style and frees all allocated resources.
+
+<h3 class=fn>int <a name="defaultFrameWidth"></a>QStyle::defaultFrameWidth () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="drawComplexControl"></a>QStyle::drawComplexControl ( <a href="qstyle.html#ComplexControl-enum">ComplexControl</a>&nbsp;control, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, SFlags&nbsp;how = Style_Default, SCFlags&nbsp;sub = SC_All, SCFlags&nbsp;subActive = SC_None, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Draws the ComplexControl <em>control</em> using the painter <em>p</em> in the
+area <em>r</em>. Colors are used from the color group <em>cg</em>. The <em>sub</em>
+argument specifies which SubControls to draw. Multiple SubControls
+can be OR'ed together. The <em>subActive</em> argument specifies which
+SubControl is active.
+<p> The rect <em>r</em> should be in logical coordinates. Reimplementations
+of this function should use <a href="#visualRect">visualRect</a>() to change the logical
+coordinates into screen coordinates when using <a href="#drawPrimitive">drawPrimitive</a>() and
+<a href="#drawControl">drawControl</a>().
+<p> The <em>how</em> argument is used to control how the ComplexControl is
+drawn. Multiple flags can OR'ed together. See the table below for
+an explanation of which flags are used with the various
+ComplexControls.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>control</em>. The <em>opt</em> argument can be used to
+pass extra information required when drawing the ComplexControl.
+Note that <em>opt</em> may be the default value even for ComplexControls
+that can make use of the extra options. See the table below for
+the appropriate <em>widget</em> and <em>opt</em> usage:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">ComplexControl<br>&amp; Widget Cast
+<th valign="top">Style Flags
+<th valign="top">Notes
+<th valign="top">Options
+<th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ComplexControl-enum">CC_SpinWidget</a>(const QSpinWidget *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the spinwidget is enabled.
+<td valign="top" colspan="1" rowspan="2"> Unused.
+<td valign="top" colspan="1" rowspan="2"> &nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the spinwidget has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ComplexControl-enum">CC_ComboBox</a>(const <a href="qcombobox.html">QComboBox</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the combobox is enabled.
+<td valign="top" colspan="1" rowspan="2"> Unused.
+<td valign="top" colspan="1" rowspan="2"> &nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the combobox has input focus.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ComplexControl-enum">CC_ScrollBar</a>(const <a href="qscrollbar.html">QScrollBar</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the scrollbar is enabled.
+<td valign="top" colspan="1" rowspan="2"> Unused.
+<td valign="top" colspan="1" rowspan="2"> &nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the scrollbar has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ComplexControl-enum">CC_Slider</a>(const <a href="qslider.html">QSlider</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the slider is enabled.
+<td valign="top" colspan="1" rowspan="2"> Unused.
+<td valign="top" colspan="1" rowspan="2"> &nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the slider has input focus.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="6"> <a href="#ComplexControl-enum">CC_ToolButton</a>(const <a href="qtoolbutton.html">QToolButton</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the toolbutton is enabled.
+<td valign="top" colspan="1" rowspan="6"> <a href="qstyleoption.html">QStyleOption</a> ( <a href="qt.html#ArrowType-enum">ArrowType</a> t )
+<ul>
+<li> opt.<a href="qstyleoption.html#arrowType">arrowType</a>()
+</ul>
+<td valign="top" colspan="1" rowspan="6"> When the tool button only contains an arrow, <em>t</em> is the
+arrow's type.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the toolbutton has input focus.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the toolbutton is down (ie. mouse
+button or space pressed).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_On</a> <td valign="top">Set if the toolbutton is a toggle button
+and is toggled on.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_AutoRaise</a> <td valign="top">Set if the toolbutton has auto-raise enabled.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Raised</a> <td valign="top">Set if the button is not down, not on and doesn't
+contain the mouse when auto-raise is enabled.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ComplexControl-enum">CC_TitleBar</a>(const <a href="qwidget.html">QWidget</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the titlebar is enabled.
+<td valign="top">Unused.
+<td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ComplexControl-enum">CC_ListView</a>(const <a href="qlistview.html">QListView</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the titlebar is enabled.
+<td valign="top"><a href="qstyleoption.html">QStyleOption</a> ( <a href="qlistviewitem.html">QListViewItem</a> *item )
+<ul>
+<li> opt.<a href="qstyleoption.html#listViewItem">listViewItem</a>()
+</ul>
+<td valign="top"><em>item</em> is the item that needs branches drawn
+</table></center>
+<p> <p>See also <a href="#ComplexControl-enum">ComplexControl</a> and <a href="#SubControl-enum">SubControl</a>.
+
+<h3 class=fn>void <a name="drawComplexControlMask"></a>QStyle::drawComplexControlMask ( <a href="qstyle.html#ComplexControl-enum">ComplexControl</a>&nbsp;control, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Draw a bitmask for the ComplexControl <em>control</em> using the painter
+<em>p</em> in the area <em>r</em>. See <a href="#drawComplexControl">drawComplexControl</a>() for an explanation
+of the use of the <em>widget</em> and <em>opt</em> arguments.
+<p> The rect <em>r</em> should be in logical coordinates. Reimplementations
+of this function should use <a href="#visualRect">visualRect</a>() to change the logical
+corrdinates into screen coordinates when using <a href="#drawPrimitive">drawPrimitive</a>() and
+<a href="#drawControl">drawControl</a>().
+<p> <p>See also <a href="#drawComplexControl">drawComplexControl</a>() and <a href="#ComplexControl-enum">ComplexControl</a>.
+
+<h3 class=fn>void <a name="drawControl"></a>QStyle::drawControl ( <a href="qstyle.html#ControlElement-enum">ControlElement</a>&nbsp;element, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, SFlags&nbsp;how = Style_Default, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Draws the ControlElement <em>element</em> using the painter <em>p</em> in the
+area <em>r</em>. Colors are used from the color group <em>cg</em>.
+<p> The rect <em>r</em> should be in screen coordinates.
+<p> The <em>how</em> argument is used to control how the ControlElement is
+drawn. Multiple flags can be OR'ed together. See the table below
+for an explanation of which flags are used with the various
+ControlElements.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>element</em>. The <em>opt</em> argument can be used to
+pass extra information required when drawing the ControlElement.
+Note that <em>opt</em> may be the default value even for ControlElements
+that can make use of the extra options. See the table below for
+the appropriate <em>widget</em> and <em>opt</em> usage:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">ControlElement<br>&amp; Widget Cast
+<th valign="top">Style Flags
+<th valign="top">Notes
+<th valign="top">Options
+<th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="6"> <a href="#ControlElement-enum">CE_PushButton</a>(const <a href="qpushbutton.html">QPushButton</a> *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_PushButtonLabel</a>(const <a href="qpushbutton.html">QPushButton</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the button is enabled.
+<td valign="top" colspan="1" rowspan="6"> Unused.
+<td valign="top" colspan="1" rowspan="6"> &nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the button has input focus.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Raised</a> <td valign="top">Set if the button is not down, not on and not flat.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_On</a> <td valign="top">Set if the button is a toggle button and toggled on.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the button is down (i.e., the mouse button or
+space bar is pressed on the button).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_ButtonDefault</a> <td valign="top">Set if the button is a default button.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="6"> <a href="#ControlElement-enum">CE_CheckBox</a>(const <a href="qcheckbox.html">QCheckBox</a> *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_CheckBoxLabel</a>(const <a href="qcheckbox.html">QCheckBox</a> *)
+<p> <td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the checkbox is enabled.
+<td valign="top" colspan="1" rowspan="6"> Unused.
+<td valign="top" colspan="1" rowspan="6"> &nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the checkbox has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_On</a> <td valign="top">Set if the checkbox is checked.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Off</a> <td valign="top">Set if the checkbox is not checked.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_NoChange</a> <td valign="top">Set if the checkbox is in the NoChange state.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the checkbox is down (i.e., the mouse button or
+space bar is pressed on the button).
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="5"> <a href="#ControlElement-enum">CE_RadioButton</a>(const <a href="qradiobutton.html">QRadioButton</a> *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_RadioButtonLabel</a>(const QRadioButton *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the radiobutton is enabled.
+<td valign="top" colspan="1" rowspan="5"> Unused.
+<td valign="top" colspan="1" rowspan="5"> &nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the radiobutton has input focus.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_On</a> <td valign="top">Set if the radiobutton is checked.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Off</a> <td valign="top">Set if the radiobutton is not checked.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the radiobutton is down (i.e., the mouse
+button or space bar is pressed on the radiobutton).
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ControlElement-enum">CE_TabBarTab</a>(const <a href="qtabbar.html">QTabBar</a> *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_TabBarLabel</a>(const <a href="qtabbar.html">QTabBar</a> *)
+<p> <td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the tabbar and tab is enabled.
+<td valign="top" colspan="1" rowspan="2"> <a href="qstyleoption.html">QStyleOption</a> ( <a href="qtab.html">QTab</a> *t )
+<ul>
+<li> opt.<a href="qstyleoption.html#tab">tab</a>()
+</ul>
+<td valign="top" colspan="1" rowspan="2"> <em>t</em> is the <a href="qtab.html">QTab</a> being drawn.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Selected</a> <td valign="top">Set if the tab is the current tab.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="2"> <a href="#ControlElement-enum">CE_ProgressBarGroove</a>(const <a href="qprogressbar.html">QProgressBar</a> *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_ProgressBarContents</a>(const QProgressBar *)
+<p> and
+<p> <a href="#ControlElement-enum">CE_ProgressBarLabel</a>(const QProgressBar *)
+<p> <td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the progressbar is enabled.
+<td valign="top" colspan="1" rowspan="2"> Unused.
+<td valign="top" colspan="1" rowspan="2"> &nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the progressbar has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="3"> <a href="#ControlElement-enum">CE_PopupMenuItem</a>(const <a href="qpopupmenu.html">QPopupMenu</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the menuitem is enabled.
+<td valign="top" colspan="1" rowspan="3"> <a href="qstyleoption.html">QStyleOption</a> ( QMenuItem *mi, int tabwidth, int maxpmwidth )
+<ul>
+<li> opt.<a href="qstyleoption.html#menuItem">menuItem</a>()
+<li> opt.<a href="qstyleoption.html#tabWidth">tabWidth</a>()
+<li> opt.<a href="qstyleoption.html#maxIconWidth">maxIconWidth</a>()
+</ul>
+<td valign="top"><em>mi</em> is the menu item being drawn. QMenuItem is currently an
+internal class.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Active</a> <td valign="top">Set if the menuitem is the current item.
+<td valign="top"><em>tabwidth</em> is the width of the tab column where key accelerators
+are drawn.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the menuitem is down (i.e., the mouse button
+or space bar is pressed).
+<td valign="top"><em>maxpmwidth</em> is the maximum width of the check column where
+checkmarks and iconsets are drawn.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="4"> <a href="#ControlElement-enum">CE_MenuBarItem</a>(const <a href="qmenubar.html">QMenuBar</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the menuitem is enabled
+<td valign="top" colspan="1" rowspan="4"> <a href="qstyleoption.html">QStyleOption</a> ( QMenuItem *mi )
+<ul>
+<li> opt.<a href="qstyleoption.html#menuItem">menuItem</a>()
+</ul>
+<td valign="top" colspan="1" rowspan="4"> <em>mi</em> is the menu item being drawn.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Active</a> <td valign="top">Set if the menuitem is the current item.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the menuitem is down (i.e., a mouse button or
+the space bar is pressed).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the menubar has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="7"> <a href="#ControlElement-enum">CE_ToolButtonLabel</a>(const <a href="qtoolbutton.html">QToolButton</a> *)
+<td valign="top"><a href="#StyleFlags-enum">Style_Enabled</a> <td valign="top">Set if the toolbutton is enabled.
+<td valign="top" colspan="1" rowspan="7"> <a href="qstyleoption.html">QStyleOption</a> ( <a href="qt.html#ArrowType-enum">ArrowType</a> t )
+<ul>
+<li> opt.<a href="qstyleoption.html#arrowType">arrowType</a>()
+</ul>
+<td valign="top" colspan="1" rowspan="7"> When the tool button only contains an arrow, <em>t</em> is the
+arrow's type.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_HasFocus</a> <td valign="top">Set if the toolbutton has input focus.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Down</a> <td valign="top">Set if the toolbutton is down (i.e., a
+mouse button or the space is pressed).
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_On</a> <td valign="top">Set if the toolbutton is a toggle button
+and is toggled on.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_AutoRaise</a> <td valign="top">Set if the toolbutton has auto-raise enabled.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_MouseOver</a> <td valign="top">Set if the mouse pointer is over the toolbutton.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StyleFlags-enum">Style_Raised</a> <td valign="top">Set if the button is not down, not on and doesn't
+contain the mouse when auto-raise is enabled.
+</table></center>
+<p> <p>See also <a href="#ControlElement-enum">ControlElement</a> and <a href="#StyleFlags-enum">StyleFlags</a>.
+
+<h3 class=fn>void <a name="drawControlMask"></a>QStyle::drawControlMask ( <a href="qstyle.html#ControlElement-enum">ControlElement</a>&nbsp;element, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Draw a bitmask for the ControlElement <em>element</em> using the painter
+<em>p</em> in the area <em>r</em>. See <a href="#drawControl">drawControl</a>() for an explanation of the
+use of the <em>widget</em> and <em>opt</em> arguments.
+<p> The rect <em>r</em> should be in screen coordinates.
+<p> <p>See also <a href="#drawControl">drawControl</a>() and <a href="#ControlElement-enum">ControlElement</a>.
+
+<h3 class=fn>void <a name="drawItem"></a>QStyle::drawItem ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;flags, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;g, bool&nbsp;enabled, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;*&nbsp;pixmap, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;len = -1, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;*&nbsp;penColor = 0 ) const<tt> [virtual]</tt>
+</h3>
+Draws the <em>text</em> or <em>pixmap</em> in rectangle <em>r</em> using painter <em>p</em> and color group <em>g</em>. The pen color is specified with <em>penColor</em>. The <em>enabled</em> bool indicates whether or not the item is
+enabled; when reimplementing this bool should influence how the
+item is drawn. If <em>len</em> is -1 (the default) all the <em>text</em> is
+drawn; otherwise only the first <em>len</em> characters of <em>text</em> are
+drawn. The text is aligned and wrapped according to the alignment
+<em>flags</em> (see <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>).
+<p> By default, if both the text and the pixmap are not null, the
+pixmap is drawn and the text is ignored.
+
+<h3 class=fn>void <a name="drawPrimitive"></a>QStyle::drawPrimitive ( <a href="qstyle.html#PrimitiveElement-enum">PrimitiveElement</a>&nbsp;pe, <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, SFlags&nbsp;flags = Style_Default, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Draws the style PrimitiveElement <em>pe</em> using the painter <em>p</em> in
+the area <em>r</em>. Colors are used from the color group <em>cg</em>.
+<p> The rect <em>r</em> should be in screen coordinates.
+<p> The <em>flags</em> argument is used to control how the PrimitiveElement
+is drawn. Multiple flags can be OR'ed together.
+<p> For example, a pressed button would be drawn with the flags <a href="#StyleFlags-enum">Style_Enabled</a> and <a href="#StyleFlags-enum">Style_Down</a>.
+<p> The <em>opt</em> argument can be used to control how various
+PrimitiveElements are drawn. Note that <em>opt</em> may be the default
+value even for PrimitiveElements that make use of extra options.
+When <em>opt</em> is non-default, it is used as follows:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">PrimitiveElement <th valign="top">Options <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PrimitiveElement-enum">PE_FocusRect</a>
+<td valign="top"><a href="qstyleoption.html">QStyleOption</a> ( const <a href="qcolor.html">QColor</a> & bg )
+<ul>
+<li> opt.<a href="qstyleoption.html#color">color</a>()
+</ul>
+<td valign="top"><em>bg</em> is the background color on which the focus rect is being drawn.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="2"> <a href="#PrimitiveElement-enum">PE_Panel</a>
+<td valign="top" colspan="1" rowspan="2"> <a href="qstyleoption.html">QStyleOption</a> ( int linewidth, int midlinewidth )
+<ul>
+<li> opt.<a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li> opt.<a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+</ul>
+<td valign="top"><em>linewidth</em> is the line width for drawing the panel.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>midlinewidth</em> is the mid-line width for drawing the panel.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="2"> <a href="#PrimitiveElement-enum">PE_PanelPopup</a>
+<td valign="top" colspan="1" rowspan="2"> <a href="qstyleoption.html">QStyleOption</a> ( int linewidth, int midlinewidth )
+<ul>
+<li> opt.<a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li> opt.<a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+</ul>
+<td valign="top"><em>linewidth</em> is the line width for drawing the panel.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>midlinewidth</em> is the mid-line width for drawing the panel.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="2"> <a href="#PrimitiveElement-enum">PE_PanelMenuBar</a>
+<td valign="top" colspan="1" rowspan="2"> <a href="qstyleoption.html">QStyleOption</a> ( int linewidth, int midlinewidth )
+<ul>
+<li> opt.<a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li> opt.<a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+</ul>
+<td valign="top"><em>linewidth</em> is the line width for drawing the panel.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>midlinewidth</em> is the mid-line width for drawing the panel.
+<tr bgcolor="#f0f0f0"> <td valign="top" colspan="1" rowspan="2"> <a href="#PrimitiveElement-enum">PE_PanelDockWindow</a>
+<td valign="top" colspan="1" rowspan="2"> <a href="qstyleoption.html">QStyleOption</a> ( int linewidth, int midlinewidth )
+<ul>
+<li> opt.<a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li> opt.<a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+</ul>
+<td valign="top"><em>linewidth</em> is the line width for drawing the panel.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>midlinewidth</em> is the mid-line width for drawing the panel.
+<tr bgcolor="#d0d0d0"> <td valign="top" colspan="1" rowspan="4"> <a href="#PrimitiveElement-enum">PE_GroupBoxFrame</a>
+<td valign="top" colspan="1" rowspan="4"> <a href="qstyleoption.html">QStyleOption</a> ( int linewidth, int midlinewidth, int shape, int shadow )
+<ul>
+<li> opt.<a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li> opt.<a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+<li> opt.<a href="qstyleoption.html#frameShape">frameShape</a>()
+<li> opt.<a href="qstyleoption.html#frameShadow">frameShadow</a>()
+</ul>
+<td valign="top"><em>linewidth</em> is the line width for the group box.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>midlinewidth</em> is the mid-line width for the group box.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>shape</em> is the <a href="qframe.html#frameShape-prop">frame shape</a>
+for the group box.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>shadow</em> is the <a href="qframe.html#frameShadow-prop">frame shadow</a>
+for the group box.
+</table></center>
+<p> For all other <a href="#PrimitiveElement-enum">PrimitiveElements</a>, <em>opt</em> is unused.
+<p> <p>See also <a href="#StyleFlags-enum">StyleFlags</a>.
+
+<p>Example: <a href="themes-example.html#x248">themes/wood.cpp</a>.
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="itemRect"></a>QStyle::itemRect ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, int&nbsp;flags, bool&nbsp;enabled, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;*&nbsp;pixmap, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;len = -1 ) const<tt> [virtual]</tt>
+</h3>
+Returns the appropriate area (see below) within rectangle <em>r</em> in
+which to draw the <em>text</em> or <em>pixmap</em> using painter <em>p</em>. If <em>len</em> is -1 (the default) all the <em>text</em> is drawn; otherwise only
+the first <em>len</em> characters of <em>text</em> are drawn. The text is
+aligned in accordance with the alignment <em>flags</em> (see
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>). The <em>enabled</em> bool indicates whether or
+not the item is enabled.
+<p> If <em>r</em> is larger than the area needed to render the <em>text</em> the
+rectangle that is returned will be offset within <em>r</em> in
+accordance with the alignment <em>flags</em>. For example if <em>flags</em> is
+<a href="qt.html#AlignmentFlags-enum">AlignCenter</a> the returned rectangle will be centered within <em>r</em>. If <em>r</em> is smaller than the area needed the rectangle that is
+returned will be <em>larger</em> than <em>r</em> (the smallest rectangle large
+enough to render the <em>text</em> or <em>pixmap</em>).
+<p> By default, if both the text and the pixmap are not null, the
+pixmap is drawn and the text is ignored.
+
+<h3 class=fn>int <a name="pixelMetric"></a>QStyle::pixelMetric ( <a href="qstyle.html#PixelMetric-enum">PixelMetric</a>&nbsp;metric, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget = 0 ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the pixel metric for <em>metric</em>. The <em>widget</em> argument is
+a pointer to a <a href="qwidget.html">QWidget</a> or one of its subclasses. The widget can be
+cast to the appropriate type based on the value of <em>metric</em>. Note
+that <em>widget</em> may be zero even for PixelMetrics that can make use
+of <em>widget</em>. See the table below for the appropriate <em>widget</em>
+casts:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">PixelMetric <th valign="top">Widget Cast
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PixelMetric-enum">PM_SliderControlThickness</a> <td valign="top">(const <a href="qslider.html">QSlider</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#PixelMetric-enum">PM_SliderLength</a> <td valign="top">(const <a href="qslider.html">QSlider</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PixelMetric-enum">PM_SliderTickmarkOffset</a> <td valign="top">(const <a href="qslider.html">QSlider</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#PixelMetric-enum">PM_SliderSpaceAvailable</a> <td valign="top">(const <a href="qslider.html">QSlider</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PixelMetric-enum">PM_TabBarTabOverlap</a> <td valign="top">(const <a href="qtabbar.html">QTabBar</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#PixelMetric-enum">PM_TabBarTabHSpace</a> <td valign="top">(const <a href="qtabbar.html">QTabBar</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PixelMetric-enum">PM_TabBarTabVSpace</a> <td valign="top">(const <a href="qtabbar.html">QTabBar</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#PixelMetric-enum">PM_TabBarBaseHeight</a> <td valign="top">(const <a href="qtabbar.html">QTabBar</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#PixelMetric-enum">PM_TabBarBaseOverlap</a> <td valign="top">(const <a href="qtabbar.html">QTabBar</a> *)
+</table></center>
+
+<h3 class=fn>void <a name="polish"></a>QStyle::polish ( <a href="qwidget.html">QWidget</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Initializes the appearance of a widget.
+<p> This function is called for every widget at some point after it
+has been fully created but just <em>before</em> it is shown the very
+first time.
+<p> Reasonable actions in this function might be to call
+<a href="qwidget.html#setBackgroundMode">QWidget::setBackgroundMode</a>() for the widget. An example of highly
+unreasonable use would be setting the geometry! Reimplementing
+this function gives you a back-door through which you can change
+the appearance of a widget. With Qt 3.0's style engine you will
+rarely need to write your own <a href="#polish">polish</a>(); instead reimplement
+<a href="#drawItem">drawItem</a>(), <a href="#drawPrimitive">drawPrimitive</a>(), etc.
+<p> The <a href="qobject.html#inherits">QWidget::inherits</a>() function may provide enough information to
+allow class-specific customizations. But be careful not to
+hard-code things too much because new QStyle subclasses are
+expected to work reasonably with all current and <em>future</em>
+widgets.
+<p> <p>See also <a href="#unPolish">unPolish</a>().
+
+<h3 class=fn>void <a name="polish-2"></a>QStyle::polish ( <a href="qapplication.html">QApplication</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Late initialization of the <a href="qapplication.html">QApplication</a> object.
+<p> <p>See also <a href="#unPolish">unPolish</a>().
+
+<h3 class=fn>void <a name="polish-3"></a>QStyle::polish ( <a href="qpalette.html">QPalette</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The style may have certain requirements for color palettes. In
+this function it has the chance to change the palette according to
+these requirements.
+<p> <p>See also <a href="qpalette.html">QPalette</a> and <a href="qapplication.html#setPalette">QApplication::setPalette</a>().
+
+<h3 class=fn>void <a name="polishPopupMenu"></a>QStyle::polishPopupMenu ( <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* )<tt> [pure virtual]</tt>
+</h3>
+Polishes the popup menu according to the GUI style. This usually
+means setting the mouse tracking
+(<a href="qwidget.html#setMouseTracking">QPopupMenu::setMouseTracking</a>()) and whether the menu is
+checkable by default (<a href="qpopupmenu.html#setCheckable">QPopupMenu::setCheckable</a>()).
+
+<h3 class=fn><a href="qstyle.html#SubControl-enum">SubControl</a> <a name="querySubControl"></a>QStyle::querySubControl ( <a href="qstyle.html#ComplexControl-enum">ComplexControl</a>&nbsp;control, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the SubControl for <em>widget</em> at the point <em>pos</em>. The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>control</em>. The <em>opt</em> argument can be used to
+pass extra information required when drawing the ComplexControl.
+Note that <em>opt</em> may be the default value even for ComplexControls
+that can make use of the extra options. See <a href="#drawComplexControl">drawComplexControl</a>()
+for an explanation of the <em>widget</em> and <em>opt</em> arguments.
+<p> Note that <em>pos</em> is passed in screen coordinates. When using
+<a href="#querySubControlMetrics">querySubControlMetrics</a>() to check for hits and misses, use
+<a href="#visualRect">visualRect</a>() to change the logical coordinates into screen
+coordinates.
+<p> <p>See also <a href="#drawComplexControl">drawComplexControl</a>(), <a href="#ComplexControl-enum">ComplexControl</a>, <a href="#SubControl-enum">SubControl</a>, and <a href="#querySubControlMetrics">querySubControlMetrics</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="querySubControlMetrics"></a>QStyle::querySubControlMetrics ( <a href="qstyle.html#ComplexControl-enum">ComplexControl</a>&nbsp;control, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, <a href="qstyle.html#SubControl-enum">SubControl</a>&nbsp;subcontrol, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the rect for the SubControl <em>subcontrol</em> for <em>widget</em> in
+logical coordinates.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>control</em>. The <em>opt</em> argument can be used to
+pass extra information required when drawing the ComplexControl.
+Note that <em>opt</em> may be the default value even for ComplexControls
+that can make use of the extra options. See <a href="#drawComplexControl">drawComplexControl</a>()
+for an explanation of the <em>widget</em> and <em>opt</em> arguments.
+<p> <p>See also <a href="#drawComplexControl">drawComplexControl</a>(), <a href="#ComplexControl-enum">ComplexControl</a>, and <a href="#SubControl-enum">SubControl</a>.
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="scrollBarExtent"></a>QStyle::scrollBarExtent () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeFromContents"></a>QStyle::sizeFromContents ( <a href="qstyle.html#ContentsType-enum">ContentsType</a>&nbsp;contents, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;contentsSize, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the size of <em>widget</em> based on the contents size <em>contentsSize</em>.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>contents</em>. The <em>opt</em> argument can be used to
+pass extra information required when calculating the size. Note
+that <em>opt</em> may be the default value even for ContentsTypes that
+can make use of the extra options. See the table below for the
+appropriate <em>widget</em> and <em>opt</em> usage:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">ContentsType <th valign="top">Widget Cast <th valign="top">Options <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ContentsType-enum">CT_PushButton</a> <td valign="top">(const <a href="qpushbutton.html">QPushButton</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ContentsType-enum">CT_CheckBox</a> <td valign="top">(const <a href="qcheckbox.html">QCheckBox</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ContentsType-enum">CT_RadioButton</a> <td valign="top">(const <a href="qradiobutton.html">QRadioButton</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ContentsType-enum">CT_ToolButton</a> <td valign="top">(const <a href="qtoolbutton.html">QToolButton</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ContentsType-enum">CT_ComboBox</a> <td valign="top">(const <a href="qcombobox.html">QComboBox</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ContentsType-enum">CT_Splitter</a> <td valign="top">(const <a href="qsplitter.html">QSplitter</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ContentsType-enum">CT_DockWindow</a> <td valign="top">(const <a href="qdockwindow.html">QDockWindow</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ContentsType-enum">CT_ProgressBar</a> <td valign="top">(const <a href="qprogressbar.html">QProgressBar</a> *) <td valign="top">Unused. <td valign="top">&nbsp;
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#ContentsType-enum">CT_PopupMenuItem</a> <td valign="top">(const <a href="qpopupmenu.html">QPopupMenu</a> *)
+<td valign="top"><a href="qstyleoption.html">QStyleOption</a> ( QMenuItem *mi )
+<ul>
+<li> opt.<a href="qstyleoption.html#menuItem">menuItem</a>()
+</ul>
+<td valign="top"><em>mi</em> is the menu item to use when calculating the size.
+QMenuItem is currently an internal class.
+</table></center>
+
+<h3 class=fn>int <a name="styleHint"></a>QStyle::styleHint ( <a href="qstyle.html#StyleHint-enum">StyleHint</a>&nbsp;stylehint, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget = 0, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default, QStyleHintReturn&nbsp;*&nbsp;returnData = 0 ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the style hint <em>stylehint</em> for <em>widget</em>. Currently, <em>widget</em>, <em>opt</em>, and <em>returnData</em> are unused; they're included to
+allow for future enhancements.
+<p> For an explanation of the return value see <a href="#StyleHint-enum">StyleHint</a>.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="stylePixmap"></a>QStyle::stylePixmap ( <a href="qstyle.html#StylePixmap-enum">StylePixmap</a>&nbsp;stylepixmap, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget = 0, const&nbsp;<a href="qstyleoption.html">QStyleOption</a>&nbsp;&amp;&nbsp;opt = QStyleOption::Default ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a pixmap for <em>stylepixmap</em>.
+<p> The <em>opt</em> argument can be used to pass extra information required
+when drawing the ControlElement. Note that <em>opt</em> may be the
+default value even for StylePixmaps that can make use of the extra
+options. Currently, the <em>opt</em> argument is unused.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>stylepixmap</em>. See the table below for the
+appropriate <em>widget</em> casts:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">StylePixmap <th valign="top">Widget Cast
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarMinButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarMaxButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarCloseButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarNormalButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarShadeButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#StylePixmap-enum">SP_TitleBarUnshadeButton</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#StylePixmap-enum">SP_DockWindowCloseButton</a> <td valign="top">(const <a href="qdockwindow.html">QDockWindow</a> *)
+</table></center>
+<p> <p>See also <a href="#StylePixmap-enum">StylePixmap</a>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="subRect"></a>QStyle::subRect ( <a href="qstyle.html#SubRect-enum">SubRect</a>&nbsp;subrect, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the sub-area <em>subrect</em> for the <em>widget</em> in logical
+coordinates.
+<p> The <em>widget</em> argument is a pointer to a <a href="qwidget.html">QWidget</a> or one of its
+subclasses. The widget can be cast to the appropriate type based
+on the value of <em>subrect</em>. See the table below for the
+appropriate <em>widget</em> casts:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">SubRect <th valign="top">Widget Cast
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_PushButtonContents</a> <td valign="top">(const <a href="qpushbutton.html">QPushButton</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_PushButtonFocusRect</a> <td valign="top">(const <a href="qpushbutton.html">QPushButton</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_CheckBoxIndicator</a> <td valign="top">(const <a href="qcheckbox.html">QCheckBox</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_CheckBoxContents</a> <td valign="top">(const <a href="qcheckbox.html">QCheckBox</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_CheckBoxFocusRect</a> <td valign="top">(const <a href="qcheckbox.html">QCheckBox</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_RadioButtonIndicator</a> <td valign="top">(const <a href="qradiobutton.html">QRadioButton</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_RadioButtonContents</a> <td valign="top">(const <a href="qradiobutton.html">QRadioButton</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_RadioButtonFocusRect</a> <td valign="top">(const <a href="qradiobutton.html">QRadioButton</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_ComboBoxFocusRect</a> <td valign="top">(const <a href="qcombobox.html">QComboBox</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_DockWindowHandleRect</a> <td valign="top">(const <a href="qwidget.html">QWidget</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_ProgressBarGroove</a> <td valign="top">(const <a href="qprogressbar.html">QProgressBar</a> *)
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#SubRect-enum">SR_ProgressBarContents</a> <td valign="top">(const <a href="qprogressbar.html">QProgressBar</a> *)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#SubRect-enum">SR_ProgressBarLabel</a> <td valign="top">(const <a href="qprogressbar.html">QProgressBar</a> *)
+</table></center>
+<p> The tear-off handle (SR_DockWindowHandleRect) for <a href="qdockwindow.html">QDockWindow</a>
+is a private class. Use <a href="qwidget.html#parentWidget">QWidget::parentWidget</a>() to access the
+QDockWindow:
+<p> <pre>
+ if ( !widget-&gt;parentWidget() )
+ return;
+ const <a href="qdockwindow.html">QDockWindow</a> *dw = (const <a href="qdockwindow.html">QDockWindow</a> *) widget-&gt;parentWidget();
+ </pre>
+
+<p> <p>See also <a href="#SubRect-enum">SubRect</a>.
+
+<h3 class=fn>void <a name="tabbarMetrics"></a>QStyle::tabbarMetrics ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;t, int&nbsp;&amp;&nbsp;hf, int&nbsp;&amp;&nbsp;vf, int&nbsp;&amp;&nbsp;ov ) const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="unPolish"></a>QStyle::unPolish ( <a href="qwidget.html">QWidget</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+Undoes the initialization of a widget's appearance.
+<p> This function is the counterpart to polish. It is called for every
+polished widget when the style is dynamically changed. The former
+style has to unpolish its settings before the new style can polish
+them again.
+<p> <p>See also <a href="#polish">polish</a>().
+
+<h3 class=fn>void <a name="unPolish-2"></a>QStyle::unPolish ( <a href="qapplication.html">QApplication</a>&nbsp;* )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Undoes the application polish.
+<p> <p>See also <a href="#polish">polish</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="visualRect"></a>QStyle::visualRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;logical, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [static]</tt>
+</h3>
+
+<p> Returns the rect <em>logical</em> in screen coordinates. The bounding
+rect for widget <em>w</em> is used to perform the translation. This
+function is provided to aid style implementors in supporting
+right-to-left mode.
+<p> <p>See also <a href="qapplication.html#reverseLayout">QApplication::reverseLayout</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="visualRect-2"></a>QStyle::visualRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;logical, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;bounding )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the rect <em>logical</em> in screen coordinates. The rect <em>bounding</em> is used to perform the translation. This function is
+provided to aid style implementors in supporting right-to-left
+mode.
+<p> <p>See also <a href="qapplication.html#reverseLayout">QApplication::reverseLayout</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylefactory-h.html b/doc/html/qstylefactory-h.html
new file mode 100644
index 0000000..4a9310d
--- /dev/null
+++ b/doc/html/qstylefactory-h.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstylefactory.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstylefactory.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstylefactory.h</h1>
+
+<p>This is the verbatim text of the qstylefactory.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstylefactory.h 3.3.8 edited Jan 11 14:46 $
+**
+** ...
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTYLEFACTORY_H
+#define QSTYLEFACTORY_H
+
+#ifndef QT_H
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_STYLE
+
+class QString;
+class QStyle;
+
+class Q_EXPORT QStyleFactory
+{
+public:
+#ifndef QT_NO_STRINGLIST
+ static QStringList keys();
+#endif
+ static QStyle *create( const QString&amp; );
+};
+
+#endif //QT_NO_STYLE
+
+#endif //QSTYLEFACTORY_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylefactory-members.html b/doc/html/qstylefactory-members.html
new file mode 100644
index 0000000..8de78c4
--- /dev/null
+++ b/doc/html/qstylefactory-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstylefactory.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStyleFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstylefactory.html">QStyleFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qstylefactory.html#create">create</a>()
+<li><a href="qstylefactory.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylefactory.html b/doc/html/qstylefactory.html
new file mode 100644
index 0000000..a63b739
--- /dev/null
+++ b/doc/html/qstylefactory.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qstylefactory.cpp:98 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStyleFactory Class Reference</h1>
+
+<p>The QStyleFactory class creates QStyle objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstylefactory-h.html">qstylefactory.h</a>&gt;</tt>
+<p><a href="qstylefactory-members.html">List of all member functions.</a>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStringList <a href="#keys"><b>keys</b></a> ()</li>
+<li class=fn>QStyle * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStyleFactory class creates <a href="qstyle.html">QStyle</a> objects.
+<p> The style factory creates a QStyle object for a given key with
+<a href="#create">QStyleFactory::create</a>(key).
+<p> The styles are either built-in or dynamically loaded from a style
+plugin (see <a href="qstyleplugin.html">QStylePlugin</a>).
+<p> <a href="#keys">QStyleFactory::keys</a>() returns a list of valid keys, typically
+including "Windows", "Motif", "CDE", "MotifPlus", "Platinum",
+"SGI" and "Compact". Depending on the platform, "WindowsXP",
+"Aqua" or "Macintosh" may be available.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;* <a name="create"></a>QStyleFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )<tt> [static]</tt>
+</h3>
+Creates a <a href="qstyle.html">QStyle</a> object that matches <em>key</em> case-insensitively.
+This is either a built-in style, or a style from a style plugin.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<p>Example: <a href="themes-example.html#x249">themes/wood.cpp</a>.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QStyleFactory::keys ()<tt> [static]</tt>
+</h3>
+Returns the list of keys this factory can create styles for.
+<p> <p>See also <a href="#create">create</a>().
+
+<p>Example: <a href="themes-example.html#x342">themes/themes.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyleoption-members.html b/doc/html/qstyleoption-members.html
new file mode 100644
index 0000000..00b5b30
--- /dev/null
+++ b/doc/html/qstyleoption-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstyle.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleOption Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStyleOption</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstyleoption.html">QStyleOption</a>, including inherited members.
+
+<ul>
+<li><a href="qstyleoption.html#QStyleOption">QStyleOption</a>()
+<li><a href="qstyleoption.html#arrowType">arrowType</a>()
+<li><a href="qstyleoption.html#checkListItem">checkListItem</a>()
+<li><a href="qstyleoption.html#color">color</a>()
+<li><a href="qstyleoption.html#day">day</a>()
+<li><a href="qstyleoption.html#frameShadow">frameShadow</a>()
+<li><a href="qstyleoption.html#frameShape">frameShape</a>()
+<li><a href="qstyleoption.html#headerSection">headerSection</a>()
+<li><a href="qstyleoption.html#isDefault">isDefault</a>()
+<li><a href="qstyleoption.html#lineWidth">lineWidth</a>()
+<li><a href="qstyleoption.html#listViewItem">listViewItem</a>()
+<li><a href="qstyleoption.html#maxIconWidth">maxIconWidth</a>()
+<li><a href="qstyleoption.html#menuItem">menuItem</a>()
+<li><a href="qstyleoption.html#midLineWidth">midLineWidth</a>()
+<li><a href="qstyleoption.html#rect">rect</a>()
+<li><a href="qstyleoption.html#tab">tab</a>()
+<li><a href="qstyleoption.html#tabWidth">tabWidth</a>()
+<li><a href="qstyleoption.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyleoption.html b/doc/html/qstyleoption.html
new file mode 100644
index 0000000..fe316b9
--- /dev/null
+++ b/doc/html/qstyleoption.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qstyle.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleOption Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStyleOption Class Reference</h1>
+
+<p>The QStyleOption class specifies optional parameters for QStyle functions.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstyle-h.html">qstyle.h</a>&gt;</tt>
+<p><a href="qstyleoption-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#StyleOptionDefault-enum"><b>StyleOptionDefault</b></a> { Default }</li>
+<li class=fn><a href="#QStyleOption"><b>QStyleOption</b></a> ( StyleOptionDefault = Default )</li>
+<li class=fn><a href="#QStyleOption-2"><b>QStyleOption</b></a> ( int&nbsp;in1 )</li>
+<li class=fn><a href="#QStyleOption-3"><b>QStyleOption</b></a> ( int&nbsp;in1, int&nbsp;in2 )</li>
+<li class=fn><a href="#QStyleOption-4"><b>QStyleOption</b></a> ( int&nbsp;in1, int&nbsp;in2, int&nbsp;in3, int&nbsp;in4 )</li>
+<li class=fn><a href="#QStyleOption-5"><b>QStyleOption</b></a> ( QMenuItem&nbsp;*&nbsp;m )</li>
+<li class=fn><a href="#QStyleOption-6"><b>QStyleOption</b></a> ( QMenuItem&nbsp;*&nbsp;m, int&nbsp;in1 )</li>
+<li class=fn><a href="#QStyleOption-7"><b>QStyleOption</b></a> ( QMenuItem&nbsp;*&nbsp;m, int&nbsp;in1, int&nbsp;in2 )</li>
+<li class=fn><a href="#QStyleOption-8"><b>QStyleOption</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn><a href="#QStyleOption-9"><b>QStyleOption</b></a> ( QTab&nbsp;*&nbsp;t )</li>
+<li class=fn><a href="#QStyleOption-a"><b>QStyleOption</b></a> ( QListViewItem&nbsp;*&nbsp;i )</li>
+<li class=fn><a href="#QStyleOption-b"><b>QStyleOption</b></a> ( QCheckListItem&nbsp;*&nbsp;i )</li>
+<li class=fn><a href="#QStyleOption-c"><b>QStyleOption</b></a> ( Qt::ArrowType&nbsp;a )</li>
+<li class=fn><a href="#QStyleOption-d"><b>QStyleOption</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn><a href="#QStyleOption-e"><b>QStyleOption</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>bool <a href="#isDefault"><b>isDefault</b></a> () const</li>
+<li class=fn>int <a href="#day"><b>day</b></a> () const</li>
+<li class=fn>int <a href="#lineWidth"><b>lineWidth</b></a> () const</li>
+<li class=fn>int <a href="#midLineWidth"><b>midLineWidth</b></a> () const</li>
+<li class=fn>int <a href="#frameShape"><b>frameShape</b></a> () const</li>
+<li class=fn>int <a href="#frameShadow"><b>frameShadow</b></a> () const</li>
+<li class=fn>int <a href="#headerSection"><b>headerSection</b></a> () const</li>
+<li class=fn>QMenuItem * <a href="#menuItem"><b>menuItem</b></a> () const</li>
+<li class=fn>int <a href="#maxIconWidth"><b>maxIconWidth</b></a> () const</li>
+<li class=fn>int <a href="#tabWidth"><b>tabWidth</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>QTab * <a href="#tab"><b>tab</b></a> () const</li>
+<li class=fn>QCheckListItem * <a href="#checkListItem"><b>checkListItem</b></a> () const</li>
+<li class=fn>QListViewItem * <a href="#listViewItem"><b>listViewItem</b></a> () const</li>
+<li class=fn>Qt::ArrowType <a href="#arrowType"><b>arrowType</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>QWidget * <a href="#widget"><b>widget</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStyleOption class specifies optional parameters for <a href="qstyle.html">QStyle</a> functions.
+
+<p> Some QStyle functions take an optional argument specifying extra
+information that is required for a paritical primitive or control.
+So that the QStyle class can be extended, QStyleOption is used to
+provide a variable-argument for these options.
+<p> The QStyleOption class has constructors for each type of optional
+argument, and this set of constructors may be extended in future
+Qt releases. There are also corresponding access functions that
+return the optional arguments: these too may be extended.
+<p> For each constructor, you should refer to the documentation of the
+QStyle functions to see the meaning of the arguments.
+<p> When calling QStyle functions from your own widgets, you must only
+pass the default QStyleOption or the argument that QStyle is
+documented to accept. For example, if the function expects
+QStyleOption(QMenuItem *, int), passing QStyleOption(QMenuItem *)
+leaves the optional integer argument uninitialized.
+<p> When subclassing QStyle, you must similarly only expect the
+default or documented arguments. The other arguments will have
+uninitialized values.
+<p> If you make your own <a href="qstyle.html">QStyle</a> subclasses and your own widgets, you
+can make a subclass of QStyleOption to pass additional arguments
+to your QStyle subclass. You will need to cast the "const
+QStyleOption&" argument to your subclass, so be sure your style
+has been called from your widget.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="StyleOptionDefault-enum"></a>QStyleOption::StyleOptionDefault</h3>
+
+<p> This enum value can be passed as the optional argument to any
+<a href="qstyle.html">QStyle</a> function.
+<ul>
+<li><tt>QStyleOption::Default</tt>
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStyleOption"></a>QStyleOption::QStyleOption ( <a href="qstyleoption.html#StyleOptionDefault-enum">StyleOptionDefault</a> = Default )
+</h3>
+
+<p> The default option. This can always be passed as the optional
+argument to <a href="qstyle.html">QStyle</a> functions.
+
+<h3 class=fn><a name="QStyleOption-2"></a>QStyleOption::QStyleOption ( int&nbsp;in1 )
+</h3>
+
+<p> Pass one integer, <em>in1</em>. For example, headerSection.
+
+<h3 class=fn><a name="QStyleOption-3"></a>QStyleOption::QStyleOption ( int&nbsp;in1, int&nbsp;in2 )
+</h3>
+
+<p> Pass two integers, <em>in1</em> and <em>in2</em>. For example, linewidth and
+midlinewidth.
+
+<h3 class=fn><a name="QStyleOption-4"></a>QStyleOption::QStyleOption ( int&nbsp;in1, int&nbsp;in2, int&nbsp;in3, int&nbsp;in4 )
+</h3>
+
+<p> Pass four integers, <em>in1</em>, <em>in2</em>, <em>in3</em> and <em>in4</em>.
+
+<h3 class=fn><a name="QStyleOption-5"></a>QStyleOption::QStyleOption ( QMenuItem&nbsp;*&nbsp;m )
+</h3>
+
+<p> Pass a menu item, <em>m</em>.
+
+<h3 class=fn><a name="QStyleOption-6"></a>QStyleOption::QStyleOption ( QMenuItem&nbsp;*&nbsp;m, int&nbsp;in1 )
+</h3>
+
+<p> Pass a menu item and an integer, <em>m</em> and <em>in1</em>.
+
+<h3 class=fn><a name="QStyleOption-7"></a>QStyleOption::QStyleOption ( QMenuItem&nbsp;*&nbsp;m, int&nbsp;in1, int&nbsp;in2 )
+</h3>
+
+<p> Pass a menu item and two integers, <em>m</em>, <em>in1</em> and <em>in2</em>.
+
+<h3 class=fn><a name="QStyleOption-8"></a>QStyleOption::QStyleOption ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+
+<p> Pass a color, <em>c</em>.
+
+<h3 class=fn><a name="QStyleOption-9"></a>QStyleOption::QStyleOption ( <a href="qtab.html">QTab</a>&nbsp;*&nbsp;t )
+</h3>
+
+<p> Pass a <a href="qtab.html">QTab</a>, <em>t</em>.
+
+<h3 class=fn><a name="QStyleOption-a"></a>QStyleOption::QStyleOption ( <a href="qlistviewitem.html">QListViewItem</a>&nbsp;*&nbsp;i )
+</h3>
+
+<p> Pass a <a href="qlistviewitem.html">QListViewItem</a>, <em>i</em>.
+
+<h3 class=fn><a name="QStyleOption-b"></a>QStyleOption::QStyleOption ( <a href="qchecklistitem.html">QCheckListItem</a>&nbsp;*&nbsp;i )
+</h3>
+
+<p> Pass a <a href="qchecklistitem.html">QCheckListItem</a>, <em>i</em>.
+
+<h3 class=fn><a name="QStyleOption-c"></a>QStyleOption::QStyleOption ( <a href="qt.html#ArrowType-enum">Qt::ArrowType</a>&nbsp;a )
+</h3>
+
+<p> Pass an Qt::ArrowType, <em>a</em>.
+
+<h3 class=fn><a name="QStyleOption-d"></a>QStyleOption::QStyleOption ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+
+<p> Pass a <a href="qrect.html">QRect</a>, <em>r</em>.
+
+<h3 class=fn><a name="QStyleOption-e"></a>QStyleOption::QStyleOption ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+
+<p> Pass a <a href="qwidget.html">QWidget</a>, <em>w</em>.
+
+<h3 class=fn><a href="qt.html#ArrowType-enum">Qt::ArrowType</a> <a name="arrowType"></a>QStyleOption::arrowType () const
+</h3>
+
+<p> Returns an arrow type if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn><a href="qchecklistitem.html">QCheckListItem</a>&nbsp;* <a name="checkListItem"></a>QStyleOption::checkListItem () const
+</h3>
+
+<p> Returns a check list item if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="color"></a>QStyleOption::color () const
+</h3>
+
+<p> Returns a color if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="day"></a>QStyleOption::day () const
+</h3>
+
+<p> Returns the index of the day in the month if the appropriate
+constructor was called; otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="frameShadow"></a>QStyleOption::frameShadow () const
+</h3>
+
+<p> Returns a QFrame::Shadow value if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="frameShape"></a>QStyleOption::frameShape () const
+</h3>
+
+<p> Returns a QFrame::Shape value if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="headerSection"></a>QStyleOption::headerSection () const
+</h3>
+
+<p> Returns the header section if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn>bool <a name="isDefault"></a>QStyleOption::isDefault () const
+</h3>
+
+<p> Returns TRUE if the option was constructed with the default
+constructor; otherwise returns FALSE.
+
+<h3 class=fn>int <a name="lineWidth"></a>QStyleOption::lineWidth () const
+</h3>
+
+<p> Returns the line width if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn><a href="qlistviewitem.html">QListViewItem</a>&nbsp;* <a name="listViewItem"></a>QStyleOption::listViewItem () const
+</h3>
+
+<p> Returns a <a href="qlistview.html">QListView</a> item if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="maxIconWidth"></a>QStyleOption::maxIconWidth () const
+</h3>
+
+<p> Returns the maximum width of the menu item check area if the
+appropriate constructor was called; otherwise the return value is
+undefined.
+
+<h3 class=fn>QMenuItem * <a name="menuItem"></a>QStyleOption::menuItem () const
+</h3>
+
+<p> Returns a menu item if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="midLineWidth"></a>QStyleOption::midLineWidth () const
+</h3>
+
+<p> Returns the mid-line width if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QStyleOption::rect () const
+</h3>
+
+<p> Returns a rectangle if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn><a href="qtab.html">QTab</a>&nbsp;* <a name="tab"></a>QStyleOption::tab () const
+</h3>
+
+<p> Returns a <a href="qtabbar.html">QTabBar</a> tab if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<h3 class=fn>int <a name="tabWidth"></a>QStyleOption::tabWidth () const
+</h3>
+
+<p> Returns the tab indent width if the appropriate constructor was
+called; otherwise the return value is undefined.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QStyleOption::widget () const
+</h3>
+
+<p> Returns a pointer to a widget if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyleplugin-h.html b/doc/html/qstyleplugin-h.html
new file mode 100644
index 0000000..f822f82
--- /dev/null
+++ b/doc/html/qstyleplugin-h.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstyleplugin.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstyleplugin.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstyleplugin.h</h1>
+
+<p>This is the verbatim text of the qstyleplugin.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstyleplugin.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QStylePlugin class
+**
+** Created : 010920
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTYLEPLUGIN_H
+#define QSTYLEPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_STYLE
+#ifndef QT_NO_COMPONENT
+
+class QStyle;
+class QStylePluginPrivate;
+
+class Q_EXPORT QStylePlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QStylePlugin();
+ ~QStylePlugin();
+
+ virtual QStringList keys() const = 0;
+ virtual QStyle *create( const QString &amp;key ) = 0;
+
+private:
+ QStylePluginPrivate *d;
+};
+
+#endif // QT_NO_COMPONENT
+#endif // QT_NO_STYLE
+
+#endif // QSTYLEPLUGIN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyleplugin-members.html b/doc/html/qstyleplugin-members.html
new file mode 100644
index 0000000..a721e26
--- /dev/null
+++ b/doc/html/qstyleplugin-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstyleplugin.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStylePlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStylePlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstyleplugin.html">QStylePlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qstyleplugin.html#QStylePlugin">QStylePlugin</a>()
+<li><a href="qstyleplugin.html#~QStylePlugin">~QStylePlugin</a>()
+<li><a href="qstyleplugin.html#create">create</a>()
+<li><a href="qstyleplugin.html#keys">keys</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstyleplugin.html b/doc/html/qstyleplugin.html
new file mode 100644
index 0000000..7c890ba
--- /dev/null
+++ b/doc/html/qstyleplugin.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qstyleplugin.cpp:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStylePlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStylePlugin Class Reference</h1>
+
+<p>The QStylePlugin class provides an abstract base for custom QStyle plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstyleplugin-h.html">qstyleplugin.h</a>&gt;</tt>
+<p><a href="qstyleplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStylePlugin"><b>QStylePlugin</b></a> ()</li>
+<li class=fn><a href="#~QStylePlugin"><b>~QStylePlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QStyle * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStylePlugin class provides an abstract base for custom <a href="qstyle.html">QStyle</a> plugins.
+<p>
+<p> The style plugin is a simple plugin interface that makes it easy
+to create custom styles that can be loaded dynamically into
+applications with a <a href="qstylefactory.html">QStyleFactory</a>.
+<p> Writing a style plugin is achieved by subclassing this base class,
+reimplementing the pure virtual functions <a href="#keys">keys</a>() and <a href="#create">create</a>(), and
+exporting the class with the <tt>Q_EXPORT_PLUGIN</tt> macro. See the
+<a href="plugins-howto.html">plugins documentation</a> for an
+example.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStylePlugin"></a>QStylePlugin::QStylePlugin ()
+</h3>
+Constructs a style plugin. This is invoked automatically by the
+<tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QStylePlugin"></a>QStylePlugin::~QStylePlugin ()
+</h3>
+Destroys the style plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;* <a name="create"></a>QStylePlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates and returns a <a href="qstyle.html">QStyle</a> object for the style key <em>key</em>. The
+style key is usually the class name of the required style.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QStylePlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of style keys this plugin supports.
+<p> These keys are usually the class names of the custom styles that
+are implemented in the plugin.
+<p> <p>See also <a href="#create">create</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylesheet-h.html b/doc/html/qstylesheet-h.html
new file mode 100644
index 0000000..59d6773
--- /dev/null
+++ b/doc/html/qstylesheet-h.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstylesheet.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qstylesheet.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qstylesheet.h</h1>
+
+<p>This is the verbatim text of the qstylesheet.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qstylesheet.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of the QStyleSheet class
+**
+** Created : 990101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSTYLESHEET_H
+#define QSTYLESHEET_H
+
+#ifndef QT_H
+#include "qstring.h"
+#include "qvaluelist.h"
+#include "qptrvector.h"
+#include "qdict.h"
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_RICHTEXT
+
+class QStyleSheet;
+class QTextDocument;
+template&lt;class Key, class T&gt; class QMap;
+class QStyleSheetItemData;
+
+class Q_EXPORT QStyleSheetItem : public Qt
+{
+public:
+ QStyleSheetItem( QStyleSheet* parent, const QString&amp; name );
+ QStyleSheetItem( const QStyleSheetItem &amp; );
+ ~QStyleSheetItem();
+
+ QStyleSheetItem&amp; operator=( const QStyleSheetItem&amp; other );
+
+ QString name() const;
+
+ QStyleSheet* styleSheet();
+ const QStyleSheet* styleSheet() const;
+
+ enum AdditionalStyleValues { Undefined = - 1};
+
+ enum DisplayMode {
+ DisplayBlock,
+ DisplayInline,
+ DisplayListItem,
+ DisplayNone
+#ifndef Q_QDOC
+ , DisplayModeUndefined = -1
+#endif
+ };
+
+ DisplayMode displayMode() const;
+ void setDisplayMode(DisplayMode m);
+
+ int alignment() const;
+ void setAlignment( int f);
+
+ enum VerticalAlignment {
+ VAlignBaseline,
+ VAlignSub,
+ VAlignSuper
+ };
+
+ VerticalAlignment verticalAlignment() const;
+ void setVerticalAlignment( VerticalAlignment valign );
+
+ int fontWeight() const;
+ void setFontWeight(int w);
+
+ int logicalFontSize() const;
+ void setLogicalFontSize(int s);
+
+ int logicalFontSizeStep() const;
+ void setLogicalFontSizeStep( int s );
+
+ int fontSize() const;
+ void setFontSize(int s);
+
+ QString fontFamily() const;
+ void setFontFamily( const QString&amp; );
+
+ int numberOfColumns() const;
+ void setNumberOfColumns(int ncols);
+
+ QColor color() const;
+ void setColor( const QColor &amp;);
+
+ bool fontItalic() const;
+ void setFontItalic( bool );
+ bool definesFontItalic() const;
+
+ bool fontUnderline() const;
+ void setFontUnderline( bool );
+ bool definesFontUnderline() const;
+
+ bool fontStrikeOut() const;
+ void setFontStrikeOut( bool );
+ bool definesFontStrikeOut() const;
+
+ bool isAnchor() const;
+ void setAnchor(bool anc);
+
+ enum WhiteSpaceMode {
+ WhiteSpaceNormal,
+ WhiteSpacePre,
+ WhiteSpaceNoWrap
+#ifndef Q_QDOC
+ , WhiteSpaceModeUndefined = -1
+#endif
+ };
+ WhiteSpaceMode whiteSpaceMode() const;
+ void setWhiteSpaceMode(WhiteSpaceMode m);
+
+ enum Margin {
+ MarginLeft,
+ MarginRight,
+ MarginTop,
+ MarginBottom,
+ MarginFirstLine,
+ MarginAll,
+ MarginVertical,
+ MarginHorizontal
+#ifndef Q_QDOC
+ , MarginUndefined = -1
+#endif
+ };
+
+ int margin( Margin m) const;
+ void setMargin( Margin, int);
+
+ enum ListStyle {
+ ListDisc,
+ ListCircle,
+ ListSquare,
+ ListDecimal,
+ ListLowerAlpha,
+ ListUpperAlpha
+#ifndef Q_QDOC
+ , ListStyleUndefined = -1
+#endif
+ };
+
+ ListStyle listStyle() const;
+ void setListStyle( ListStyle );
+
+ QString contexts() const;
+ void setContexts( const QString&amp; );
+ bool allowedInContext( const QStyleSheetItem* ) const;
+
+ bool selfNesting() const;
+ void setSelfNesting( bool );
+
+ void setLineSpacing( int ls );
+ int lineSpacing() const;
+
+private:
+ void init();
+ QStyleSheetItemData* d;
+};
+
+
+#if defined(Q_TEMPLATEDLL)
+// MOC_SKIP_BEGIN
+Q_TEMPLATE_EXTERN template class Q_EXPORT QDict&lt;QStyleSheetItem&gt;;
+Q_TEMPLATE_EXTERN template class Q_EXPORT QValueList&lt; QPtrVector&lt;QStyleSheetItem&gt; &gt;;
+Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrVector&lt;QStyleSheetItem&gt;;
+Q_TEMPLATE_EXTERN template class Q_EXPORT QValueList&lt;QStyleSheetItem::ListStyle&gt;;
+// MOC_SKIP_END
+#endif
+
+#ifndef QT_NO_TEXTCUSTOMITEM
+class QTextCustomItem;
+#endif
+
+class Q_EXPORT QStyleSheet : public QObject
+{
+ Q_OBJECT
+public:
+ QStyleSheet( QObject *parent=0, const char *name=0 );
+ virtual ~QStyleSheet();
+
+ static QStyleSheet* defaultSheet();
+ static void setDefaultSheet( QStyleSheet* );
+
+
+ QStyleSheetItem* item( const QString&amp; name);
+ const QStyleSheetItem* item( const QString&amp; name) const;
+
+ void insert( QStyleSheetItem* item);
+
+#ifndef QT_NO_TEXTCUSTOMITEM
+ virtual QTextCustomItem* tag( const QString&amp; name,
+ const QMap&lt;QString, QString&gt; &amp;attr,
+ const QString&amp; context,
+ const QMimeSourceFactory&amp; factory,
+ bool emptyTag, QTextDocument *doc ) const;
+#endif
+ static QString escape( const QString&amp; );
+ static QString convertFromPlainText( const QString&amp;,
+ QStyleSheetItem::WhiteSpaceMode mode = QStyleSheetItem::WhiteSpacePre );
+ static bool mightBeRichText( const QString&amp; );
+
+ virtual void scaleFont( QFont&amp; font, int logicalSize ) const;
+
+ virtual void error( const QString&amp; ) const;
+
+private:
+ void init();
+ QDict&lt;QStyleSheetItem&gt; styles;
+ QStyleSheetItem* nullstyle;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QStyleSheet( const QStyleSheet &amp; );
+ QStyleSheet &amp;operator=( const QStyleSheet &amp; );
+#endif
+};
+
+#endif // QT_NO_RICHTEXT
+
+#endif // QSTYLESHEET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylesheet-members.html b/doc/html/qstylesheet-members.html
new file mode 100644
index 0000000..f38151d
--- /dev/null
+++ b/doc/html/qstylesheet-members.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstylesheet.h:205 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleSheet Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStyleSheet</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstylesheet.html">QStyleSheet</a>, including inherited members.
+
+<ul>
+<li><a href="qstylesheet.html#QStyleSheet">QStyleSheet</a>()
+<li><a href="qstylesheet.html#~QStyleSheet">~QStyleSheet</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qstylesheet.html#convertFromPlainText">convertFromPlainText</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstylesheet.html#defaultSheet">defaultSheet</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qstylesheet.html#error">error</a>()
+<li><a href="qstylesheet.html#escape">escape</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstylesheet.html#item">item</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qstylesheet.html#mightBeRichText">mightBeRichText</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstylesheet.html#scaleFont">scaleFont</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qstylesheet.html#setDefaultSheet">setDefaultSheet</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstylesheet.html#tag">tag</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylesheet.html b/doc/html/qstylesheet.html
new file mode 100644
index 0000000..e21b3a1
--- /dev/null
+++ b/doc/html/qstylesheet.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qstylesheet.cpp:854 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleSheet Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStyleSheet Class Reference</h1>
+
+<p>The QStyleSheet class is a collection of styles for rich text
+rendering and a generator of tags.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstylesheet-h.html">qstylesheet.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qstylesheet-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStyleSheet"><b>QStyleSheet</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>virtual <a href="#~QStyleSheet"><b>~QStyleSheet</b></a> ()</li>
+<li class=fn>QStyleSheetItem * <a href="#item"><b>item</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>const QStyleSheetItem * <a href="#item-2"><b>item</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const</li>
+<li class=fn>virtual QTextCustomItem * <a href="#tag"><b>tag</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QMap&lt;QString,&nbsp;QString&gt;&nbsp;&amp;&nbsp;attr, const&nbsp;QString&nbsp;&amp;&nbsp;context, const&nbsp;QMimeSourceFactory&nbsp;&amp;&nbsp;factory, bool&nbsp;emptyTag, QTextDocument&nbsp;*&nbsp;doc ) const</li>
+<li class=fn>virtual void <a href="#scaleFont"><b>scaleFont</b></a> ( QFont&nbsp;&amp;&nbsp;font, int&nbsp;logicalSize ) const</li>
+<li class=fn>virtual void <a href="#error"><b>error</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;msg ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QStyleSheet * <a href="#defaultSheet"><b>defaultSheet</b></a> ()</li>
+<li class=fn>void <a href="#setDefaultSheet"><b>setDefaultSheet</b></a> ( QStyleSheet&nbsp;*&nbsp;sheet )</li>
+<li class=fn>QString <a href="#escape"><b>escape</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;plain )</li>
+<li class=fn>QString <a href="#convertFromPlainText"><b>convertFromPlainText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;plain, QStyleSheetItem::WhiteSpaceMode&nbsp;mode = QStyleSheetItem::WhiteSpacePre )</li>
+<li class=fn>bool <a href="#mightBeRichText"><b>mightBeRichText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QStyleSheet class is a collection of styles for rich text
+rendering and a generator of tags.
+<p>
+
+<p> By creating <a href="qstylesheetitem.html">QStyleSheetItem</a> objects for a style sheet you build a
+definition of a set of tags. This definition will be used by the
+internal rich text rendering system to parse and display text
+documents to which the style sheet applies. Rich text is normally
+visualized in a <a href="qtextedit.html">QTextEdit</a> or a <a href="qtextbrowser.html">QTextBrowser</a>. However, <a href="qlabel.html">QLabel</a>,
+<a href="qwhatsthis.html">QWhatsThis</a> and <a href="qmessagebox.html">QMessageBox</a> also support it, and other classes are
+likely to follow. With <a href="qsimplerichtext.html">QSimpleRichText</a> it is possible to use the
+rich text renderer for custom widgets as well.
+<p> The default QStyleSheet object has the following style bindings,
+sorted by structuring bindings, anchors, character style bindings
+(i.e. inline styles), special elements such as horizontal lines or
+images, and other tags. In addition, rich text supports simple
+HTML tables.
+<p> The structuring tags are
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Structuring tags <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;qt&gt;</tt>...<tt>&lt;/qt&gt;</tt>
+<td valign="top">A Qt rich text document. It understands the following
+attributes:
+<ul>
+<li> <tt>title</tt> -- The caption of the document. This attribute is
+easily accessible with <a href="qtextedit.html#documentTitle">QTextEdit::documentTitle</a>().
+<li> <tt>type</tt> -- The type of the document. The default type is <tt>page</tt>. It indicates that the document is displayed in a
+page of its own. Another style is <tt>detail</tt>, which can be
+used to explain certain expressions in more detail in a
+few sentences. For <tt>detail</tt>, <a href="qtextbrowser.html">QTextBrowser</a> will then keep
+the current page and display the new document in a small
+popup similar to <a href="qwhatsthis.html">QWhatsThis</a>. Note that links will not work
+in documents with <tt>&lt;qt type="detail"&gt;...&lt;/qt&gt;</tt>.
+<li> <tt>bgcolor</tt> -- The background color, for example <tt>bgcolor="yellow"</tt> or <tt>bgcolor="#0000FF"</tt>.
+<li> <tt>background</tt> -- The background pixmap, for example <tt>background="granite.xpm"</tt>. The pixmap name will be resolved
+by a <a href="qmimesourcefactory.html">QMimeSourceFactory</a>().
+<li> <tt>text</tt> -- The default text color, for example <tt>text="red"</tt>.
+<li> <tt>link</tt> -- The link color, for example <tt>link="green"</tt>.
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;h1&gt;...&lt;/h1&gt;</tt>
+<td valign="top">A top-level heading.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;h2&gt;...&lt;/h2&gt;</tt>
+<td valign="top">A sublevel heading.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;h3&gt;...&lt;/h3&gt;</tt>
+<td valign="top">A sub-sublevel heading.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;h4&gt;...&lt;/h4&gt;</tt> <tt>&lt;h5&gt;...&lt;/h5&gt;</tt>
+<td valign="top">Headings of lesser importance.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;p&gt;...&lt;/p&gt;</tt>
+<td valign="top">A left-aligned paragraph. Adjust the alignment with the <tt>align</tt> attribute. Possible values are <tt>left</tt>, <tt>right</tt> and
+<tt>center</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;center&gt;...</tt><br><tt>&lt;/center&gt;</tt>
+<td valign="top">A centered paragraph.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;blockquote&gt;...</tt><br><tt>&lt;/blockquote&gt;</tt>
+<td valign="top">An indented paragraph that is useful for quotes.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;ul&gt;...&lt;/ul&gt;</tt>
+<td valign="top">An unordered list. You can also pass a type argument to
+define the bullet style. The default is <tt>type=disc</tt>;
+other types are <tt>circle</tt> and <tt>square</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;ol&gt;...&lt;/ol&gt;</tt>
+<td valign="top">An ordered list. You can also pass a type argument to
+define the enumeration label style. The default is <tt>type="1"</tt>; other types are <tt>"a"</tt> and <tt>"A"</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;li&gt;...&lt;/li&gt;</tt>
+<td valign="top">A list item. This tag can be used only within the context
+of <tt>&lt;ol&gt;</tt> or <tt>&lt;ul&gt;</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;dl&gt;...&lt;/dl&gt;</tt>
+<td valign="top">A list of definitions, consisting of terms and descriptions.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;dt&gt;...&lt;/dt&gt;</tt>
+<td valign="top">A term in a list of definitions. This tag can be used only
+in the context of <tt>&lt;dl&gt;...&lt;/dl&gt;</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;dd&gt;...&lt;/dd&gt;</tt>
+<td valign="top">A description in a list of definitions. This tag can be
+used only in the context of <tt>&lt;dl&gt;...&lt;/dl&gt;</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;pre&gt;...&lt;/pre&gt;</tt>
+<td valign="top">For larger chunks of code. Whitespaces in the contents are
+preserved. For small bits of code use the inline-style <tt>code</tt>.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;div&gt;...&lt;/div&gt;</tt> and <tt>&lt;span&gt;...&lt;/span&gt;</tt>
+<td valign="top">Block grouping elements. These are used to structure the
+document, and are often used to provide hints about the
+intended presentation of the document.
+</table></center>
+<p> Anchors and links are done with a single tag:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Anchor tags <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;a&gt;...&lt;/a&gt;</tt>
+<td valign="top">An anchor or link.
+<ul>
+<li> A link is created by using an <tt>href</tt>
+attribute, for example
+<br><tt>&lt;a href="target.qml"&gt;Link Text&lt;/a&gt;</tt>. Links to
+targets within a document are achieved in the same way
+as for HTML, e.g.
+<br><tt>&lt;a href="target.qml#subtitle"&gt;Link Text&lt;/a&gt;</tt>.
+<li> A target is created by using a <a href="qobject.html#name-prop">name</a>
+attribute, for example
+<br><tt>&lt;a name="subtitle"&gt;&lt;h2&gt;Sub Title&lt;/h2&gt;&lt;/a&gt;</tt>.
+</ul>
+</table></center>
+<p> The default character style bindings are
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Style tags <th valign="top">Notes
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;em&gt;...&lt;/em&gt;</tt>
+<td valign="top">Emphasized. By default this is the same as <tt>&lt;i&gt;...&lt;/i&gt;</tt>
+(italic).
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;strong&gt;...&lt;/strong&gt;</tt>
+<td valign="top">Strong. By default this is the same as <tt>&lt;b&gt;...&lt;/b&gt;</tt>
+(bold).
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;i&gt;...&lt;/i&gt;</tt>
+<td valign="top">Italic font style.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;b&gt;...&lt;/b&gt;</tt>
+<td valign="top">Bold font style.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;u&gt;...&lt;/u&gt;</tt>
+<td valign="top">Underlined font style.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;s&gt;...&lt;/s&gt;</tt>
+<td valign="top">Strike out font style.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;big&gt;...&lt;/big&gt;</tt>
+<td valign="top">A larger font size.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;small&gt;...&lt;/small&gt;</tt>
+<td valign="top">A smaller font size.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;sub&gt;...&lt;/sub&gt;</tt>
+<td valign="top">Subscripted text
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;sup&gt;...&lt;/sup&gt;</tt>
+<td valign="top">Superscripted text
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;code&gt;...&lt;/code&gt;</tt>
+<td valign="top">Indicates code. By default this is the same as
+<tt>&lt;tt&gt;...&lt;/tt&gt;</tt> (typewriter). For larger chunks of code
+use the block-tag <tt>&lt;</tt><tt>pre&gt;</tt>.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;tt&gt;...&lt;/tt&gt;</tt>
+<td valign="top">Typewriter font style.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;font&gt;...&lt;/font&gt;</tt>
+<td valign="top">Customizes the font size, family and text color. The tag
+understands the following attributes:
+<ul>
+<li> <tt>color</tt> -- The text color, for example <tt>color="red"</tt> or
+<tt>color="#FF0000"</tt>.
+<li> <tt>size</tt> -- The logical size of the font. Logical sizes 1
+to 7 are supported. The value may either be absolute
+(for example, <tt>size=3</tt>) or relative (<tt>size=-2</tt>). In
+the latter case the sizes are simply added.
+<li> <tt>face</tt> -- The family of the font, for example <tt>face=times</tt>.
+</ul>
+</table></center>
+<p> Special elements are:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Special tags <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;img&gt;</tt>
+<td valign="top">An image. The image name for the mime source factory is
+given in the source attribute, for example
+<tt>&lt;img src="qt.xpm"&gt;</tt> The image tag also understands the
+attributes <tt>width</tt> and <tt>height</tt> that determine the size
+of the image. If the pixmap does not fit the specified
+size it will be scaled automatically (by using
+<a href="qimage.html#smoothScale">QImage::smoothScale</a>()).
+<br>
+The <tt>align</tt> attribute determines where the image is
+placed. By default, an image is placed inline just like a
+normal character. Specify <tt>left</tt> or <tt>right</tt> to place the
+image at the respective side.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;hr&gt;</tt>
+<td valign="top">A horizontal line.
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;br&gt;</tt>
+<td valign="top">A line break.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;nobr&gt;...&lt;/nobr&gt;</tt>
+<td valign="top">No break. Prevents word wrap.
+</table></center>
+<p> In addition, rich text supports simple HTML tables. A table
+consists of one or more rows each of which contains one or more
+cells. Cells are either data cells or header cells, depending on
+their content. Cells which span rows and columns are supported.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Table tags <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;table&gt;...&lt;/table&gt;</tt>
+<td valign="top">A table. Tables support the following attributes:
+<ul>
+<li> <tt>bgcolor</tt> -- The background color.
+<li> <tt>width</tt> -- The table width. This is either an absolute
+pixel width or a relative percentage of the table's
+width, for example <tt>width=80%</tt>.
+<li> <tt>border</tt> -- The width of the table border. The default is
+0 (= no border).
+<li> <tt>cellspacing</tt> -- Additional space around the table cells.
+The default is 2.
+<li> <tt>cellpadding</tt> -- Additional space around the contents of
+table cells. The default is 1.
+</ul>
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;tr&gt;...&lt;/tr&gt;</tt>
+<td valign="top">A table row. This is only valid within a <tt>table</tt>. Rows
+support the following attribute:
+<ul>
+<li> <tt>bgcolor</tt> -- The background color.
+</ul>
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>&lt;th&gt;...&lt;/th&gt;</tt>
+<td valign="top">A table header cell. Similar to <tt>td</tt>, but defaults to
+center alignment and a bold font.
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>&lt;td&gt;...&lt;/td&gt;</tt>
+<td valign="top">A table data cell. This is only valid within a <tt>tr</tt>.
+Cells support the following attributes:
+<ul>
+<li> <tt>bgcolor</tt> -- The background color.
+<li> <tt>width</tt> -- The cell width. This is either an absolute
+pixel width or a relative percentage of table's width,
+for example <tt>width=50%</tt>.
+<li> <tt>colspan</tt> -- Specifies how many columns this cell spans.
+The default is 1.
+<li> <tt>rowspan</tt> -- Specifies how many rows this cell spans. The
+default is 1.
+<li> <tt>align</tt> -- Alignment; possible values are <tt>left</tt>, <tt>right</tt>, and <tt>center</tt>. The default is <tt>left</tt>.
+<li> <tt>valign</tt> -- Vertical alignment; possible values are <tt>top</tt>, <tt>middle</tt>, and <tt>bottom</tt>. The default is <tt>middle</tt>.
+</ul>
+</table></center>
+<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="helpsystem.html">Help System</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStyleSheet"></a>QStyleSheet::QStyleSheet ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates a style sheet called <em>name</em>, with parent <em>parent</em>. Like
+any <a href="qobject.html">QObject</a> it will be deleted when its parent is destroyed (if
+the child still exists).
+<p> By default the style sheet has the tag definitions defined above.
+
+<h3 class=fn><a name="~QStyleSheet"></a>QStyleSheet::~QStyleSheet ()<tt> [virtual]</tt>
+</h3>
+Destroys the style sheet. All styles inserted into the style sheet
+will be deleted.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="convertFromPlainText"></a>QStyleSheet::convertFromPlainText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;plain, <a href="qstylesheetitem.html#WhiteSpaceMode-enum">QStyleSheetItem::WhiteSpaceMode</a>&nbsp;mode = QStyleSheetItem::WhiteSpacePre )<tt> [static]</tt>
+</h3> Auxiliary function. Converts the plain text string <em>plain</em> to a
+rich text formatted paragraph while preserving most of its look.
+<p> <em>mode</em> defines the whitespace mode. Possible values are <a href="qstylesheetitem.html#WhiteSpaceMode-enum">QStyleSheetItem::WhiteSpacePre</a> (no wrapping, all whitespaces
+preserved) and <a href="qstylesheetitem.html#WhiteSpaceMode-enum">QStyleSheetItem::WhiteSpaceNormal</a> (wrapping,
+simplified whitespaces).
+<p> <p>See also <a href="#escape">escape</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1163">action/application.cpp</a>, <a href="simple-application-example.html#x1581">application/application.cpp</a>, and <a href="mdi-example.html#x2067">mdi/application.cpp</a>.
+<h3 class=fn><a href="qstylesheet.html">QStyleSheet</a>&nbsp;* <a name="defaultSheet"></a>QStyleSheet::defaultSheet ()<tt> [static]</tt>
+</h3>
+Returns the application-wide default style sheet. This style sheet
+is used by rich text rendering classes such as <a href="qsimplerichtext.html">QSimpleRichText</a>,
+<a href="qwhatsthis.html">QWhatsThis</a> and <a href="qmessagebox.html">QMessageBox</a> to define the rendering style and
+available tags within rich text documents. It also serves as the
+initial style sheet for the more complex render widgets, <a href="qtextedit.html">QTextEdit</a>
+and <a href="qtextbrowser.html">QTextBrowser</a>.
+<p> <p>See also <a href="#setDefaultSheet">setDefaultSheet</a>().
+
+<h3 class=fn>void <a name="error"></a>QStyleSheet::error ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;msg ) const<tt> [virtual]</tt>
+</h3>
+
+<p> This virtual function is called when an error occurs when
+processing rich text. Reimplement it if you need to catch error
+messages.
+<p> Errors might occur if some rich text strings contain tags that are
+not understood by the stylesheet, if some tags are nested
+incorrectly, or if tags are not closed properly.
+<p> <em>msg</em> is the error message.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="escape"></a>QStyleSheet::escape ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;plain )<tt> [static]</tt>
+</h3>
+Auxiliary function. Converts the plain text string <em>plain</em> to a
+rich text formatted string with any HTML meta-characters escaped.
+<p> <p>See also <a href="#convertFromPlainText">convertFromPlainText</a>().
+
+<h3 class=fn><a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;* <a name="item"></a>QStyleSheet::item ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Returns the style called <em>name</em> or 0 if there is no such style.
+
+<h3 class=fn>const&nbsp;<a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;* <a name="item-2"></a>QStyleSheet::item ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the style called <em>name</em> or 0 if there is no such style
+(const version)
+
+<h3 class=fn>bool <a name="mightBeRichText"></a>QStyleSheet::mightBeRichText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [static]</tt>
+</h3>
+Returns TRUE if the string <em>text</em> is likely to be rich text;
+otherwise returns FALSE.
+<p> This function uses a fast and therefore simple heuristic. It
+mainly checks whether there is something that looks like a tag
+before the first line break. Although the result may be correct
+for common cases, there is no guarantee.
+
+<h3 class=fn>void <a name="scaleFont"></a>QStyleSheet::scaleFont ( <a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, int&nbsp;logicalSize ) const<tt> [virtual]</tt>
+</h3>
+Scales the font <em>font</em> to the appropriate physical point size
+corresponding to the logical font size <em>logicalSize</em>.
+<p> When calling this function, <em>font</em> has a point size corresponding
+to the logical font size 3.
+<p> Logical font sizes range from 1 to 7, with 1 being the smallest.
+<p> <p>See also <a href="qstylesheetitem.html#logicalFontSize">QStyleSheetItem::logicalFontSize</a>(), <a href="qstylesheetitem.html#logicalFontSizeStep">QStyleSheetItem::logicalFontSizeStep</a>(), and <a href="qfont.html#setPointSize">QFont::setPointSize</a>().
+
+<h3 class=fn>void <a name="setDefaultSheet"></a>QStyleSheet::setDefaultSheet ( <a href="qstylesheet.html">QStyleSheet</a>&nbsp;*&nbsp;sheet )<tt> [static]</tt>
+</h3>
+Sets the application-wide default style sheet to <em>sheet</em>,
+deleting any style sheet previously set. The ownership is
+transferred to QStyleSheet.
+<p> <p>See also <a href="#defaultSheet">defaultSheet</a>().
+
+<h3 class=fn>QTextCustomItem * <a name="tag"></a>QStyleSheet::tag ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qmap.html">QMap</a>&lt;QString,&nbsp;QString&gt;&nbsp;&amp;&nbsp;attr, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context, const&nbsp;<a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;&amp;&nbsp;factory, bool&nbsp;emptyTag, QTextDocument&nbsp;*&nbsp;doc ) const<tt> [virtual]</tt>
+</h3>
+<p><b>This function is under development and is subject to change.</b>
+<p> Generates an internal object for the tag called <em>name</em>, given the
+attributes <em>attr</em>, and using additional information provided by
+the mime source factory <em>factory</em>.
+<p> <em>context</em> is the optional context of the document, i.e. the path
+to look for relative links. This becomes important if the text
+contains relative references, for example within image tags.
+<a href="qsimplerichtext.html">QSimpleRichText</a> always uses the default mime source factory (see
+<a href="qmimesourcefactory.html#defaultFactory">QMimeSourceFactory::defaultFactory</a>()) to resolve these
+references. The context will then be used to calculate the
+absolute path. See <a href="qmimesourcefactory.html#makeAbsolute">QMimeSourceFactory::makeAbsolute</a>() for details.
+<p> <em>emptyTag</em> and <em>doc</em> are for internal use only.
+<p> This function should not be used in application code.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylesheetitem-members.html b/doc/html/qstylesheetitem-members.html
new file mode 100644
index 0000000..b08417e
--- /dev/null
+++ b/doc/html/qstylesheetitem-members.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qstylesheet.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleSheetItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QStyleSheetItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qstylesheetitem.html">QStyleSheetItem</a>, including inherited members.
+
+<ul>
+<li><a href="qstylesheetitem.html#QStyleSheetItem">QStyleSheetItem</a>()
+<li><a href="qstylesheetitem.html#~QStyleSheetItem">~QStyleSheetItem</a>()
+<li><a href="qstylesheetitem.html#alignment">alignment</a>()
+<li><a href="qstylesheetitem.html#allowedInContext">allowedInContext</a>()
+<li><a href="qstylesheetitem.html#color">color</a>()
+<li><a href="qstylesheetitem.html#contexts">contexts</a>()
+<li><a href="qstylesheetitem.html#definesFontItalic">definesFontItalic</a>()
+<li><a href="qstylesheetitem.html#definesFontStrikeOut">definesFontStrikeOut</a>()
+<li><a href="qstylesheetitem.html#definesFontUnderline">definesFontUnderline</a>()
+<li><a href="qstylesheetitem.html#displayMode">displayMode</a>()
+<li><a href="qstylesheetitem.html#fontFamily">fontFamily</a>()
+<li><a href="qstylesheetitem.html#fontItalic">fontItalic</a>()
+<li><a href="qstylesheetitem.html#fontSize">fontSize</a>()
+<li><a href="qstylesheetitem.html#fontStrikeOut">fontStrikeOut</a>()
+<li><a href="qstylesheetitem.html#fontUnderline">fontUnderline</a>()
+<li><a href="qstylesheetitem.html#fontWeight">fontWeight</a>()
+<li><a href="qstylesheetitem.html#isAnchor">isAnchor</a>()
+<li><a href="qstylesheetitem.html#lineSpacing">lineSpacing</a>()
+<li><a href="qstylesheetitem.html#listStyle">listStyle</a>()
+<li><a href="qstylesheetitem.html#logicalFontSize">logicalFontSize</a>()
+<li><a href="qstylesheetitem.html#logicalFontSizeStep">logicalFontSizeStep</a>()
+<li><a href="qstylesheetitem.html#margin">margin</a>()
+<li><a href="qstylesheetitem.html#name">name</a>()
+<li><a href="qstylesheetitem.html#numberOfColumns">numberOfColumns</a>()
+<li><a href="qstylesheetitem.html#operator-eq">operator=</a>()
+<li><a href="qstylesheetitem.html#selfNesting">selfNesting</a>()
+<li><a href="qstylesheetitem.html#setAlignment">setAlignment</a>()
+<li><a href="qstylesheetitem.html#setAnchor">setAnchor</a>()
+<li><a href="qstylesheetitem.html#setColor">setColor</a>()
+<li><a href="qstylesheetitem.html#setContexts">setContexts</a>()
+<li><a href="qstylesheetitem.html#setDisplayMode">setDisplayMode</a>()
+<li><a href="qstylesheetitem.html#setFontFamily">setFontFamily</a>()
+<li><a href="qstylesheetitem.html#setFontItalic">setFontItalic</a>()
+<li><a href="qstylesheetitem.html#setFontSize">setFontSize</a>()
+<li><a href="qstylesheetitem.html#setFontStrikeOut">setFontStrikeOut</a>()
+<li><a href="qstylesheetitem.html#setFontUnderline">setFontUnderline</a>()
+<li><a href="qstylesheetitem.html#setFontWeight">setFontWeight</a>()
+<li><a href="qstylesheetitem.html#setListStyle">setListStyle</a>()
+<li><a href="qstylesheetitem.html#setLogicalFontSize">setLogicalFontSize</a>()
+<li><a href="qstylesheetitem.html#setLogicalFontSizeStep">setLogicalFontSizeStep</a>()
+<li><a href="qstylesheetitem.html#setMargin">setMargin</a>()
+<li><a href="qstylesheetitem.html#setNumberOfColumns">setNumberOfColumns</a>()
+<li><a href="qstylesheetitem.html#setSelfNesting">setSelfNesting</a>()
+<li><a href="qstylesheetitem.html#setVerticalAlignment">setVerticalAlignment</a>()
+<li><a href="qstylesheetitem.html#setWhiteSpaceMode">setWhiteSpaceMode</a>()
+<li><a href="qstylesheetitem.html#styleSheet">styleSheet</a>()
+<li><a href="qstylesheetitem.html#verticalAlignment">verticalAlignment</a>()
+<li><a href="qstylesheetitem.html#whiteSpaceMode">whiteSpaceMode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qstylesheetitem.html b/doc/html/qstylesheetitem.html
new file mode 100644
index 0000000..9c0da7e
--- /dev/null
+++ b/doc/html/qstylesheetitem.html
@@ -0,0 +1,491 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qstylesheet.cpp:77 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QStyleSheetItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QStyleSheetItem Class Reference</h1>
+
+<p>The QStyleSheetItem class provides an encapsulation of a set of text styles.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qstylesheet-h.html">qstylesheet.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qstylesheetitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QStyleSheetItem"><b>QStyleSheetItem</b></a> ( QStyleSheet&nbsp;*&nbsp;parent, const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn><a href="#QStyleSheetItem-2"><b>QStyleSheetItem</b></a> ( const&nbsp;QStyleSheetItem&nbsp;&amp;&nbsp;other )</li>
+<li class=fn><a href="#~QStyleSheetItem"><b>~QStyleSheetItem</b></a> ()</li>
+<li class=fn>QStyleSheetItem &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QStyleSheetItem&nbsp;&amp;&nbsp;other )</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>QStyleSheet * <a href="#styleSheet"><b>styleSheet</b></a> ()</li>
+<li class=fn>const QStyleSheet * <a href="#styleSheet-2"><b>styleSheet</b></a> () const</li>
+<li class=fn>enum <a href="#DisplayMode-enum"><b>DisplayMode</b></a> { DisplayBlock, DisplayInline, DisplayListItem, DisplayNone }</li>
+<li class=fn>DisplayMode <a href="#displayMode"><b>displayMode</b></a> () const</li>
+<li class=fn>void <a href="#setDisplayMode"><b>setDisplayMode</b></a> ( DisplayMode&nbsp;m )</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>void <a href="#setAlignment"><b>setAlignment</b></a> ( int&nbsp;f )</li>
+<li class=fn>enum <a href="#VerticalAlignment-enum"><b>VerticalAlignment</b></a> { VAlignBaseline, VAlignSub, VAlignSuper }</li>
+<li class=fn>VerticalAlignment <a href="#verticalAlignment"><b>verticalAlignment</b></a> () const</li>
+<li class=fn>void <a href="#setVerticalAlignment"><b>setVerticalAlignment</b></a> ( VerticalAlignment&nbsp;valign )</li>
+<li class=fn>int <a href="#fontWeight"><b>fontWeight</b></a> () const</li>
+<li class=fn>void <a href="#setFontWeight"><b>setFontWeight</b></a> ( int&nbsp;w )</li>
+<li class=fn>int <a href="#logicalFontSize"><b>logicalFontSize</b></a> () const</li>
+<li class=fn>void <a href="#setLogicalFontSize"><b>setLogicalFontSize</b></a> ( int&nbsp;s )</li>
+<li class=fn>int <a href="#logicalFontSizeStep"><b>logicalFontSizeStep</b></a> () const</li>
+<li class=fn>void <a href="#setLogicalFontSizeStep"><b>setLogicalFontSizeStep</b></a> ( int&nbsp;s )</li>
+<li class=fn>int <a href="#fontSize"><b>fontSize</b></a> () const</li>
+<li class=fn>void <a href="#setFontSize"><b>setFontSize</b></a> ( int&nbsp;s )</li>
+<li class=fn>QString <a href="#fontFamily"><b>fontFamily</b></a> () const</li>
+<li class=fn>void <a href="#setFontFamily"><b>setFontFamily</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fam )</li>
+<li class=fn>int numberOfColumns () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setNumberOfColumns ( int&nbsp;ncols ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QColor <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>bool <a href="#fontItalic"><b>fontItalic</b></a> () const</li>
+<li class=fn>void <a href="#setFontItalic"><b>setFontItalic</b></a> ( bool&nbsp;italic )</li>
+<li class=fn>bool <a href="#definesFontItalic"><b>definesFontItalic</b></a> () const</li>
+<li class=fn>bool <a href="#fontUnderline"><b>fontUnderline</b></a> () const</li>
+<li class=fn>void <a href="#setFontUnderline"><b>setFontUnderline</b></a> ( bool&nbsp;underline )</li>
+<li class=fn>bool <a href="#definesFontUnderline"><b>definesFontUnderline</b></a> () const</li>
+<li class=fn>bool <a href="#fontStrikeOut"><b>fontStrikeOut</b></a> () const</li>
+<li class=fn>void <a href="#setFontStrikeOut"><b>setFontStrikeOut</b></a> ( bool&nbsp;strikeOut )</li>
+<li class=fn>bool <a href="#definesFontStrikeOut"><b>definesFontStrikeOut</b></a> () const</li>
+<li class=fn>bool <a href="#isAnchor"><b>isAnchor</b></a> () const</li>
+<li class=fn>void <a href="#setAnchor"><b>setAnchor</b></a> ( bool&nbsp;anc )</li>
+<li class=fn>enum <a href="#WhiteSpaceMode-enum"><b>WhiteSpaceMode</b></a> { WhiteSpaceNormal, WhiteSpacePre, WhiteSpaceNoWrap }</li>
+<li class=fn>WhiteSpaceMode <a href="#whiteSpaceMode"><b>whiteSpaceMode</b></a> () const</li>
+<li class=fn>void <a href="#setWhiteSpaceMode"><b>setWhiteSpaceMode</b></a> ( WhiteSpaceMode&nbsp;m )</li>
+<li class=fn>enum <a href="#Margin-enum"><b>Margin</b></a> { MarginLeft, MarginRight, MarginTop, MarginBottom, MarginFirstLine, MarginAll, MarginVertical, MarginHorizontal }</li>
+<li class=fn>int <a href="#margin"><b>margin</b></a> ( Margin&nbsp;m ) const</li>
+<li class=fn>void <a href="#setMargin"><b>setMargin</b></a> ( Margin&nbsp;m, int&nbsp;v )</li>
+<li class=fn>enum <a href="#ListStyle-enum"><b>ListStyle</b></a> { ListDisc, ListCircle, ListSquare, ListDecimal, ListLowerAlpha, ListUpperAlpha }</li>
+<li class=fn>ListStyle <a href="#listStyle"><b>listStyle</b></a> () const</li>
+<li class=fn>void <a href="#setListStyle"><b>setListStyle</b></a> ( ListStyle&nbsp;s )</li>
+<li class=fn>QString <a href="#contexts"><b>contexts</b></a> () const</li>
+<li class=fn>void <a href="#setContexts"><b>setContexts</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>bool <a href="#allowedInContext"><b>allowedInContext</b></a> ( const&nbsp;QStyleSheetItem&nbsp;*&nbsp;s ) const</li>
+<li class=fn>bool <a href="#selfNesting"><b>selfNesting</b></a> () const</li>
+<li class=fn>void <a href="#setSelfNesting"><b>setSelfNesting</b></a> ( bool&nbsp;nesting )</li>
+<li class=fn>int lineSpacing () const &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QStyleSheetItem class provides an encapsulation of a set of text styles.
+<p>
+<p> A style sheet item consists of a name and a set of attributes that
+specifiy its font, color, etc. When used in a <a href="qstylesheet.html">style sheet</a> (see <a href="#styleSheet">styleSheet</a>()), items define the <a href="#name">name</a>() of
+a rich text tag and the display property changes associated with
+it.
+<p> The <a href="#DisplayMode-enum">display mode</a>
+attribute indicates whether the item is a block, an inline element
+or a list element; see <a href="#setDisplayMode">setDisplayMode</a>(). The treatment of
+whitespace is controlled by the <a href="#WhiteSpaceMode-enum">white space mode</a>; see
+<a href="#setWhiteSpaceMode">setWhiteSpaceMode</a>(). An item's margins are set with <a href="#setMargin">setMargin</a>(),
+In the case of list items, the list style is set with
+<a href="#setListStyle">setListStyle</a>(). An item may be a hypertext link anchor; see
+<a href="#setAnchor">setAnchor</a>(). Other attributes are set with <a href="#setAlignment">setAlignment</a>(),
+<a href="#setVerticalAlignment">setVerticalAlignment</a>(), <a href="#setFontFamily">setFontFamily</a>(), <a href="#setFontSize">setFontSize</a>(),
+<a href="#setFontWeight">setFontWeight</a>(), <a href="#setFontItalic">setFontItalic</a>(), <a href="#setFontUnderline">setFontUnderline</a>(),
+setFontStrikeOut and <a href="#setColor">setColor</a>().
+<p>See also <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="DisplayMode-enum"></a>QStyleSheetItem::DisplayMode</h3>
+
+<p> This enum type defines the way adjacent elements are displayed.
+<ul>
+<li><tt>QStyleSheetItem::DisplayBlock</tt> - elements are displayed as a rectangular block
+(e.g. <tt>&lt;p&gt;...&lt;/p&gt;</tt>).
+<li><tt>QStyleSheetItem::DisplayInline</tt> - elements are displayed in a horizontally
+flowing sequence (e.g. <tt>&lt;em&gt;...&lt;/em&gt;</tt>).
+<li><tt>QStyleSheetItem::DisplayListItem</tt> - elements are displayed in a vertical
+sequence (e.g. <tt>&lt;li&gt;...&lt;/li&gt;</tt>).
+<li><tt>QStyleSheetItem::DisplayNone</tt> - elements are not displayed at all.
+</ul>
+<h3 class=fn><a name="ListStyle-enum"></a>QStyleSheetItem::ListStyle</h3>
+
+<p> This enum type defines how the items in a list are prefixed when
+displayed.
+<ul>
+<li><tt>QStyleSheetItem::ListDisc</tt> - a filled circle (i.e. a bullet)
+<li><tt>QStyleSheetItem::ListCircle</tt> - an unfilled circle
+<li><tt>QStyleSheetItem::ListSquare</tt> - a filled square
+<li><tt>QStyleSheetItem::ListDecimal</tt> - an integer in base 10: <em>1</em>, <em>2</em>, <em>3</em>, ...
+<li><tt>QStyleSheetItem::ListLowerAlpha</tt> - a lowercase letter: <em>a</em>, <em>b</em>, <em>c</em>, ...
+<li><tt>QStyleSheetItem::ListUpperAlpha</tt> - an uppercase letter: <em>A</em>, <em>B</em>, <em>C</em>, ...
+</ul>
+<h3 class=fn><a name="Margin-enum"></a>QStyleSheetItem::Margin</h3>
+
+<ul>
+<li><tt>QStyleSheetItem::MarginLeft</tt> - left margin
+<li><tt>QStyleSheetItem::MarginRight</tt> - right margin
+<li><tt>QStyleSheetItem::MarginTop</tt> - top margin
+<li><tt>QStyleSheetItem::MarginBottom</tt> - bottom margin
+<li><tt>QStyleSheetItem::MarginAll</tt> - all margins (left, right, top and bottom)
+<li><tt>QStyleSheetItem::MarginVertical</tt> - top and bottom margins
+<li><tt>QStyleSheetItem::MarginHorizontal</tt> - left and right margins
+<li><tt>QStyleSheetItem::MarginFirstLine</tt> - margin (indentation) of the first line of
+a paragarph (in addition to the MarginLeft of the paragraph)
+</ul>
+<h3 class=fn><a name="VerticalAlignment-enum"></a>QStyleSheetItem::VerticalAlignment</h3>
+
+<p> This enum type defines the way elements are aligned vertically.
+This is only supported for text elements.
+<ul>
+<li><tt>QStyleSheetItem::VAlignBaseline</tt> - align the baseline of the element (or the
+bottom, if the element doesn't have a baseline) with the
+baseline of the parent
+<li><tt>QStyleSheetItem::VAlignSub</tt> - subscript the element
+<li><tt>QStyleSheetItem::VAlignSuper</tt> - superscript the element
+</ul><p>
+<h3 class=fn><a name="WhiteSpaceMode-enum"></a>QStyleSheetItem::WhiteSpaceMode</h3>
+
+<p> This enum defines the ways in which <a href="qstylesheet.html">QStyleSheet</a> can treat
+whitespace.
+<ul>
+<li><tt>QStyleSheetItem::WhiteSpaceNormal</tt> - any sequence of whitespace (including
+line-breaks) is equivalent to a single space.
+<li><tt>QStyleSheetItem::WhiteSpacePre</tt> - whitespace must be output exactly as given
+in the input.
+<li><tt>QStyleSheetItem::WhiteSpaceNoWrap</tt> - multiple spaces are collapsed as with
+WhiteSpaceNormal, but no automatic line-breaks occur. To break
+lines manually, use the <tt>&lt;br&gt;</tt> tag.
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QStyleSheetItem"></a>QStyleSheetItem::QStyleSheetItem ( <a href="qstylesheet.html">QStyleSheet</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )
+</h3>
+Constructs a new style called <em>name</em> for the stylesheet <em>parent</em>.
+<p> All properties in QStyleSheetItem are initially in the "do not
+change" state, except <a href="#DisplayMode-enum">display
+ mode</a>, which defaults to <a href="#DisplayMode-enum">DisplayInline</a>.
+
+<h3 class=fn><a name="QStyleSheetItem-2"></a>QStyleSheetItem::QStyleSheetItem ( const&nbsp;<a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Copy constructor. Constructs a copy of <em>other</em> that is not bound
+to any style sheet.
+
+<h3 class=fn><a name="~QStyleSheetItem"></a>QStyleSheetItem::~QStyleSheetItem ()
+</h3>
+Destroys the style. Note that QStyleSheetItem objects become
+owned by <a href="qstylesheet.html">QStyleSheet</a> when they are created.
+
+<h3 class=fn>int <a name="alignment"></a>QStyleSheetItem::alignment () const
+</h3>
+Returns the alignment of this style. Possible values are <a href="qt.html#AlignmentFlags-enum">AlignAuto</a>, <a href="qt.html#AlignmentFlags-enum">AlignLeft</a>, <a href="qt.html#AlignmentFlags-enum">AlignRight</a>, <a href="qt.html#AlignmentFlags-enum">AlignCenter</a> or <a href="qt.html#AlignmentFlags-enum">AlignJustify</a>.
+<p> <p>See also <a href="#setAlignment">setAlignment</a>() and <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<h3 class=fn>bool <a name="allowedInContext"></a>QStyleSheetItem::allowedInContext ( const&nbsp;<a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;*&nbsp;s ) const
+</h3>
+Returns TRUE if this style can be nested into an element of style
+<em>s</em>; otherwise returns FALSE.
+<p> <p>See also <a href="#contexts">contexts</a>() and <a href="#setContexts">setContexts</a>().
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="color"></a>QStyleSheetItem::color () const
+</h3>
+Returns the text color of this style or an invalid color if no
+color has been set.
+<p> <p>See also <a href="#setColor">setColor</a>() and <a href="qcolor.html#isValid">QColor::isValid</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="contexts"></a>QStyleSheetItem::contexts () const
+</h3>
+Returns a space-separated list of names of styles that may contain
+elements of this style. If nothing has been set, <a href="#contexts">contexts</a>()
+returns an empty string, which indicates that this style can be
+nested everywhere.
+<p> <p>See also <a href="#setContexts">setContexts</a>().
+
+<h3 class=fn>bool <a name="definesFontItalic"></a>QStyleSheetItem::definesFontItalic () const
+</h3>
+Returns TRUE if the style defines a font shape; otherwise returns
+FALSE. A style does not define any shape until <a href="#setFontItalic">setFontItalic</a>() is
+called.
+<p> <p>See also <a href="#setFontItalic">setFontItalic</a>() and <a href="#fontItalic">fontItalic</a>().
+
+<h3 class=fn>bool <a name="definesFontStrikeOut"></a>QStyleSheetItem::definesFontStrikeOut () const
+</h3>
+Returns TRUE if the style defines a setting for the strikeOut
+property of the font; otherwise returns FALSE. A style does not
+define this until <a href="#setFontStrikeOut">setFontStrikeOut</a>() is called.
+<p> <p>See also <a href="#setFontStrikeOut">setFontStrikeOut</a>() and <a href="#fontStrikeOut">fontStrikeOut</a>().
+
+<h3 class=fn>bool <a name="definesFontUnderline"></a>QStyleSheetItem::definesFontUnderline () const
+</h3>
+Returns TRUE if the style defines a setting for the underline
+property of the font; otherwise returns FALSE. A style does not
+define this until <a href="#setFontUnderline">setFontUnderline</a>() is called.
+<p> <p>See also <a href="#setFontUnderline">setFontUnderline</a>() and <a href="#fontUnderline">fontUnderline</a>().
+
+<h3 class=fn><a href="qstylesheetitem.html#DisplayMode-enum">DisplayMode</a> <a name="displayMode"></a>QStyleSheetItem::displayMode () const
+</h3>
+Returns the <a href="#DisplayMode-enum">display
+ mode</a> of the style.
+<p> <p>See also <a href="#setDisplayMode">setDisplayMode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fontFamily"></a>QStyleSheetItem::fontFamily () const
+</h3>
+Returns the font family setting of the style. This is either a
+valid font family or <a href="qstring.html#QString-null">QString::null</a> if no family has been set.
+<p> <p>See also <a href="#setFontFamily">setFontFamily</a>(), <a href="qfont.html#family">QFont::family</a>(), and <a href="qfont.html#setFamily">QFont::setFamily</a>().
+
+<h3 class=fn>bool <a name="fontItalic"></a>QStyleSheetItem::fontItalic () const
+</h3>
+Returns TRUE if the style sets an italic font; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setFontItalic">setFontItalic</a>() and <a href="#definesFontItalic">definesFontItalic</a>().
+
+<h3 class=fn>int <a name="fontSize"></a>QStyleSheetItem::fontSize () const
+</h3>
+Returns the font size setting of the style. This is either a valid
+point size or <a href="#AdditionalStyleValues-enum">QStyleSheetItem::Undefined</a>.
+<p> <p>See also <a href="#setFontSize">setFontSize</a>(), <a href="qfont.html#pointSize">QFont::pointSize</a>(), and <a href="qfont.html#setPointSize">QFont::setPointSize</a>().
+
+<h3 class=fn>bool <a name="fontStrikeOut"></a>QStyleSheetItem::fontStrikeOut () const
+</h3>
+Returns TRUE if the style sets a strike out font; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setFontStrikeOut">setFontStrikeOut</a>() and <a href="#definesFontStrikeOut">definesFontStrikeOut</a>().
+
+<h3 class=fn>bool <a name="fontUnderline"></a>QStyleSheetItem::fontUnderline () const
+</h3>
+Returns TRUE if the style sets an underlined font; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setFontUnderline">setFontUnderline</a>() and <a href="#definesFontUnderline">definesFontUnderline</a>().
+
+<h3 class=fn>int <a name="fontWeight"></a>QStyleSheetItem::fontWeight () const
+</h3>
+Returns the font weight setting of the style. This is either a
+valid <a href="qfont.html#Weight-enum">QFont::Weight</a> or the value <a href="#AdditionalStyleValues-enum">QStyleSheetItem::Undefined</a>.
+<p> <p>See also <a href="#setFontWeight">setFontWeight</a>() and <a href="qfont.html">QFont</a>.
+
+<h3 class=fn>bool <a name="isAnchor"></a>QStyleSheetItem::isAnchor () const
+</h3>
+Returns whether this style is an anchor.
+<p> <p>See also <a href="#setAnchor">setAnchor</a>().
+
+<h3 class=fn>int <a name="lineSpacing"></a>QStyleSheetItem::lineSpacing () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the linespacing
+
+<h3 class=fn><a href="qstylesheetitem.html#ListStyle-enum">ListStyle</a> <a name="listStyle"></a>QStyleSheetItem::listStyle () const
+</h3>
+Returns the list style of the style.
+<p> <p>See also <a href="#setListStyle">setListStyle</a>() and <a href="#ListStyle-enum">ListStyle</a>.
+
+<h3 class=fn>int <a name="logicalFontSize"></a>QStyleSheetItem::logicalFontSize () const
+</h3>
+Returns the logical font size setting of the style. This is either
+a valid size between 1 and 7 or <a href="#AdditionalStyleValues-enum">QStyleSheetItem::Undefined</a>.
+<p> <p>See also <a href="#setLogicalFontSize">setLogicalFontSize</a>(), <a href="#setLogicalFontSizeStep">setLogicalFontSizeStep</a>(), <a href="qfont.html#pointSize">QFont::pointSize</a>(), and <a href="qfont.html#setPointSize">QFont::setPointSize</a>().
+
+<h3 class=fn>int <a name="logicalFontSizeStep"></a>QStyleSheetItem::logicalFontSizeStep () const
+</h3>
+Returns the logical font size step of this style.
+<p> The default is 0. Tags such as <tt>big</tt> define <tt>+1</tt>; <tt>small</tt>
+defines <tt>-1</tt>.
+<p> <p>See also <a href="#setLogicalFontSizeStep">setLogicalFontSizeStep</a>().
+
+<h3 class=fn>int <a name="margin"></a>QStyleSheetItem::margin ( <a href="qstylesheetitem.html#Margin-enum">Margin</a>&nbsp;m ) const
+</h3>
+Returns the width of margin <em>m</em> in pixels.
+<p> The margin, <em>m</em>, can be <a href="#Margin-enum">MarginLeft</a>, <a href="#Margin-enum">MarginRight</a>, <a href="#Margin-enum">MarginTop</a>, <a href="#Margin-enum">MarginBottom</a>, or <a href="#Margin-enum">MarginFirstLine</a>.
+<p> <p>See also <a href="#setMargin">setMargin</a>() and <a href="#Margin-enum">Margin</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QStyleSheetItem::name () const
+</h3>
+Returns the name of the style item.
+
+<h3 class=fn>int <a name="numberOfColumns"></a>QStyleSheetItem::numberOfColumns () const
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the number of columns for this style.
+<p> <p>See also <a href="#setNumberOfColumns">setNumberOfColumns</a>(), <a href="#displayMode">displayMode</a>(), and <a href="#setDisplayMode">setDisplayMode</a>().
+
+<p>
+<h3 class=fn><a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;&amp; <a name="operator-eq"></a>QStyleSheetItem::operator= ( const&nbsp;<a href="qstylesheetitem.html">QStyleSheetItem</a>&nbsp;&amp;&nbsp;other )
+</h3>
+Assignment. Assings a copy of <em>other</em> that is not bound to any style sheet.
+Unbounds first from previous style sheet.
+
+<h3 class=fn>bool <a name="selfNesting"></a>QStyleSheetItem::selfNesting () const
+</h3>
+Returns TRUE if this style has self-nesting enabled; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setSelfNesting">setSelfNesting</a>().
+
+<h3 class=fn>void <a name="setAlignment"></a>QStyleSheetItem::setAlignment ( int&nbsp;f )
+</h3>
+Sets the alignment to <em>f</em>. This only makes sense for styles with
+a <a href="#DisplayMode-enum">display mode</a> of
+DisplayBlock. Possible values are <a href="qt.html#AlignmentFlags-enum">AlignAuto</a>, <a href="qt.html#AlignmentFlags-enum">AlignLeft</a>,
+<a href="qt.html#AlignmentFlags-enum">AlignRight</a>, <a href="qt.html#AlignmentFlags-enum">AlignCenter</a> or <a href="qt.html#AlignmentFlags-enum">AlignJustify</a>.
+<p> <p>See also <a href="#alignment">alignment</a>(), <a href="#displayMode">displayMode</a>(), and <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<h3 class=fn>void <a name="setAnchor"></a>QStyleSheetItem::setAnchor ( bool&nbsp;anc )
+</h3>
+If <em>anc</em> is TRUE, sets this style to be an anchor (hypertext
+link); otherwise sets it to not be an anchor. Elements in this
+style link to other documents or anchors.
+<p> <p>See also <a href="#isAnchor">isAnchor</a>().
+
+<h3 class=fn>void <a name="setColor"></a>QStyleSheetItem::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets the text color of this style to <em>c</em>.
+<p> <p>See also <a href="#color">color</a>().
+
+<h3 class=fn>void <a name="setContexts"></a>QStyleSheetItem::setContexts ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Sets a space-separated list of names of styles that may contain
+elements of this style. If <em>c</em> is empty, the style can be nested
+everywhere.
+<p> <p>See also <a href="#contexts">contexts</a>().
+
+<h3 class=fn>void <a name="setDisplayMode"></a>QStyleSheetItem::setDisplayMode ( <a href="qstylesheetitem.html#DisplayMode-enum">DisplayMode</a>&nbsp;m )
+</h3>
+Sets the display mode of the style to <em>m</em>.
+<p> <p>See also <a href="#displayMode">displayMode</a>().
+
+<h3 class=fn>void <a name="setFontFamily"></a>QStyleSheetItem::setFontFamily ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fam )
+</h3>
+Sets the font family setting of the style to <em>fam</em>.
+<p> <p>See also <a href="#fontFamily">fontFamily</a>(), <a href="qfont.html#family">QFont::family</a>(), and <a href="qfont.html#setFamily">QFont::setFamily</a>().
+
+<h3 class=fn>void <a name="setFontItalic"></a>QStyleSheetItem::setFontItalic ( bool&nbsp;italic )
+</h3>
+If <em>italic</em> is TRUE sets italic for the style; otherwise sets
+upright.
+<p> <p>See also <a href="#fontItalic">fontItalic</a>() and <a href="#definesFontItalic">definesFontItalic</a>().
+
+<h3 class=fn>void <a name="setFontSize"></a>QStyleSheetItem::setFontSize ( int&nbsp;s )
+</h3>
+Sets the font size setting of the style to <em>s</em> points.
+<p> <p>See also <a href="#fontSize">fontSize</a>(), <a href="qfont.html#pointSize">QFont::pointSize</a>(), and <a href="qfont.html#setPointSize">QFont::setPointSize</a>().
+
+<h3 class=fn>void <a name="setFontStrikeOut"></a>QStyleSheetItem::setFontStrikeOut ( bool&nbsp;strikeOut )
+</h3>
+If <em>strikeOut</em> is TRUE, sets strike out for the style; otherwise
+sets no strike out.
+<p> <p>See also <a href="#fontStrikeOut">fontStrikeOut</a>() and <a href="#definesFontStrikeOut">definesFontStrikeOut</a>().
+
+<h3 class=fn>void <a name="setFontUnderline"></a>QStyleSheetItem::setFontUnderline ( bool&nbsp;underline )
+</h3>
+If <em>underline</em> is TRUE, sets underline for the style; otherwise
+sets no underline.
+<p> <p>See also <a href="#fontUnderline">fontUnderline</a>() and <a href="#definesFontUnderline">definesFontUnderline</a>().
+
+<h3 class=fn>void <a name="setFontWeight"></a>QStyleSheetItem::setFontWeight ( int&nbsp;w )
+</h3>
+Sets the font weight setting of the style to <em>w</em>. Valid values
+are those defined by <a href="qfont.html#Weight-enum">QFont::Weight</a>.
+<p> <p>See also <a href="qfont.html">QFont</a> and <a href="#fontWeight">fontWeight</a>().
+
+<h3 class=fn>void <a name="setListStyle"></a>QStyleSheetItem::setListStyle ( <a href="qstylesheetitem.html#ListStyle-enum">ListStyle</a>&nbsp;s )
+</h3>
+Sets the list style of the style to <em>s</em>.
+<p> This is used by nested elements that have a display mode of <a href="#DisplayMode-enum">DisplayListItem</a>.
+<p> <p>See also <a href="#listStyle">listStyle</a>(), <a href="#DisplayMode-enum">DisplayMode</a>, and <a href="#ListStyle-enum">ListStyle</a>.
+
+<h3 class=fn>void <a name="setLogicalFontSize"></a>QStyleSheetItem::setLogicalFontSize ( int&nbsp;s )
+</h3>
+Sets the logical font size setting of the style to <em>s</em>. Valid
+logical sizes are 1 to 7.
+<p> <p>See also <a href="#logicalFontSize">logicalFontSize</a>(), <a href="qfont.html#pointSize">QFont::pointSize</a>(), and <a href="qfont.html#setPointSize">QFont::setPointSize</a>().
+
+<h3 class=fn>void <a name="setLogicalFontSizeStep"></a>QStyleSheetItem::setLogicalFontSizeStep ( int&nbsp;s )
+</h3>
+Sets the logical font size step of this style to <em>s</em>.
+<p> <p>See also <a href="#logicalFontSizeStep">logicalFontSizeStep</a>().
+
+<h3 class=fn>void <a name="setMargin"></a>QStyleSheetItem::setMargin ( <a href="qstylesheetitem.html#Margin-enum">Margin</a>&nbsp;m, int&nbsp;v )
+</h3>
+Sets the width of margin <em>m</em> to <em>v</em> pixels.
+<p> The margin, <em>m</em>, can be <a href="#Margin-enum">MarginLeft</a>, <a href="#Margin-enum">MarginRight</a>, <a href="#Margin-enum">MarginTop</a>, <a href="#Margin-enum">MarginBottom</a>, <a href="#Margin-enum">MarginFirstLine</a>, <a href="#Margin-enum">MarginAll</a>,
+<a href="#Margin-enum">MarginVertical</a> or <a href="#Margin-enum">MarginHorizontal</a>. The value <em>v</em> must
+be >= 0.
+<p> <p>See also <a href="#margin">margin</a>().
+
+<h3 class=fn>void <a name="setNumberOfColumns"></a>QStyleSheetItem::setNumberOfColumns ( int&nbsp;ncols )
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Sets the number of columns for this style. Elements in the style
+are divided into columns.
+<p> This makes sense only if the style uses a block display mode
+(see QStyleSheetItem::DisplayMode).
+<p> <p>See also <a href="#numberOfColumns">numberOfColumns</a>().
+
+<h3 class=fn>void <a name="setSelfNesting"></a>QStyleSheetItem::setSelfNesting ( bool&nbsp;nesting )
+</h3>
+Sets the self-nesting property for this style to <em>nesting</em>.
+<p> In order to support "dirty" HTML, paragraphs <tt>&lt;p&gt;</tt> and list
+items <tt>&lt;li&gt;</tt> are not self-nesting. This means that starting a
+new paragraph or list item automatically closes the previous one.
+<p> <p>See also <a href="#selfNesting">selfNesting</a>().
+
+<h3 class=fn>void <a name="setVerticalAlignment"></a>QStyleSheetItem::setVerticalAlignment ( <a href="qstylesheetitem.html#VerticalAlignment-enum">VerticalAlignment</a>&nbsp;valign )
+</h3>
+Sets the vertical alignment to <em>valign</em>. Possible values are
+<a href="#VerticalAlignment-enum">VAlignBaseline</a>, <a href="#VerticalAlignment-enum">VAlignSub</a> or <a href="#VerticalAlignment-enum">VAlignSuper</a>.
+<p> The vertical alignment property is not inherited.
+<p> <p>See also <a href="#verticalAlignment">verticalAlignment</a>().
+
+<h3 class=fn>void <a name="setWhiteSpaceMode"></a>QStyleSheetItem::setWhiteSpaceMode ( <a href="qstylesheetitem.html#WhiteSpaceMode-enum">WhiteSpaceMode</a>&nbsp;m )
+</h3>
+Sets the whitespace mode to <em>m</em>.
+<p> <p>See also <a href="#WhiteSpaceMode-enum">WhiteSpaceMode</a>.
+
+<h3 class=fn><a href="qstylesheet.html">QStyleSheet</a>&nbsp;* <a name="styleSheet"></a>QStyleSheetItem::styleSheet ()
+</h3>
+Returns the style sheet this item is in.
+
+<h3 class=fn>const&nbsp;<a href="qstylesheet.html">QStyleSheet</a>&nbsp;* <a name="styleSheet-2"></a>QStyleSheetItem::styleSheet () const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the style sheet this item is in.
+
+<h3 class=fn><a href="qstylesheetitem.html#VerticalAlignment-enum">VerticalAlignment</a> <a name="verticalAlignment"></a>QStyleSheetItem::verticalAlignment () const
+</h3>
+Returns the vertical alignment of the style. Possible values are
+<a href="#VerticalAlignment-enum">VAlignBaseline</a>, <a href="#VerticalAlignment-enum">VAlignSub</a> or <a href="#VerticalAlignment-enum">VAlignSuper</a>.
+<p> <p>See also <a href="#setVerticalAlignment">setVerticalAlignment</a>().
+
+<h3 class=fn><a href="qstylesheetitem.html#WhiteSpaceMode-enum">WhiteSpaceMode</a> <a name="whiteSpaceMode"></a>QStyleSheetItem::whiteSpaceMode () const
+</h3>
+Returns the whitespace mode.
+<p> <p>See also <a href="#setWhiteSpaceMode">setWhiteSpaceMode</a>() and <a href="#WhiteSpaceMode-enum">WhiteSpaceMode</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsyntaxhighlighter-h.html b/doc/html/qsyntaxhighlighter-h.html
new file mode 100644
index 0000000..2bc4a1a
--- /dev/null
+++ b/doc/html/qsyntaxhighlighter-h.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsyntaxhighlighter.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qsyntaxhighlighter.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qsyntaxhighlighter.h</h1>
+
+<p>This is the verbatim text of the qsyntaxhighlighter.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qsyntaxhighlighter.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of the QSyntaxHighlighter class
+**
+** Created : 022407
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QSYNTAXHIGHLIGHTER_H
+#define QSYNTAXHIGHLIGHTER_H
+
+#ifndef QT_H
+#include "qfont.h"
+#include "qcolor.h"
+#include "qstring.h"
+#endif // QT_H
+
+class QTextEdit;
+class QSyntaxHighlighterInternal;
+class QSyntaxHighlighterPrivate;
+class QTextParagraph;
+
+class Q_EXPORT QSyntaxHighlighter : public Qt
+{
+ friend class QSyntaxHighlighterInternal;
+
+public:
+ QSyntaxHighlighter( QTextEdit *textEdit );
+ virtual ~QSyntaxHighlighter();
+
+ virtual int highlightParagraph( const QString &amp;text, int endStateOfLastPara ) = 0;
+
+ void setFormat( int start, int count, const QFont &amp;font, const QColor &amp;color );
+ void setFormat( int start, int count, const QColor &amp;color );
+ void setFormat( int start, int count, const QFont &amp;font );
+ QTextEdit *textEdit() const { return edit; }
+
+ void rehighlight();
+
+ int currentParagraph() const;
+
+private:
+ QTextParagraph *para;
+ QTextEdit *edit;
+ QSyntaxHighlighterPrivate *d;
+
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsyntaxhighlighter-members.html b/doc/html/qsyntaxhighlighter-members.html
new file mode 100644
index 0000000..88d3876
--- /dev/null
+++ b/doc/html/qsyntaxhighlighter-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qsyntaxhighlighter.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSyntaxHighlighter Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QSyntaxHighlighter</h1>
+
+<p>This is the complete list of member functions for
+<a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>, including inherited members.
+
+<ul>
+<li><a href="qsyntaxhighlighter.html#QSyntaxHighlighter">QSyntaxHighlighter</a>()
+<li><a href="qsyntaxhighlighter.html#~QSyntaxHighlighter">~QSyntaxHighlighter</a>()
+<li><a href="qsyntaxhighlighter.html#currentParagraph">currentParagraph</a>()
+<li><a href="qsyntaxhighlighter.html#highlightParagraph">highlightParagraph</a>()
+<li><a href="qsyntaxhighlighter.html#rehighlight">rehighlight</a>()
+<li><a href="qsyntaxhighlighter.html#setFormat">setFormat</a>()
+<li><a href="qsyntaxhighlighter.html#textEdit">textEdit</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qsyntaxhighlighter.html b/doc/html/qsyntaxhighlighter.html
new file mode 100644
index 0000000..a366bc7
--- /dev/null
+++ b/doc/html/qsyntaxhighlighter.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qsyntaxhighlighter.cpp:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QSyntaxHighlighter Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSyntaxHighlighter Class Reference</h1>
+
+<p>The QSyntaxHighlighter class is a base class for
+implementing QTextEdit syntax highlighters.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qsyntaxhighlighter-h.html">qsyntaxhighlighter.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qsyntaxhighlighter-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QSyntaxHighlighter"><b>QSyntaxHighlighter</b></a> ( QTextEdit&nbsp;*&nbsp;textEdit )</li>
+<li class=fn>virtual <a href="#~QSyntaxHighlighter"><b>~QSyntaxHighlighter</b></a> ()</li>
+<li class=fn>virtual int <a href="#highlightParagraph"><b>highlightParagraph</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;endStateOfLastPara ) = 0</li>
+<li class=fn>void <a href="#setFormat"><b>setFormat</b></a> ( int&nbsp;start, int&nbsp;count, const&nbsp;QFont&nbsp;&amp;&nbsp;font, const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>void <a href="#setFormat-2"><b>setFormat</b></a> ( int&nbsp;start, int&nbsp;count, const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>void <a href="#setFormat-3"><b>setFormat</b></a> ( int&nbsp;start, int&nbsp;count, const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>QTextEdit * <a href="#textEdit"><b>textEdit</b></a> () const</li>
+<li class=fn>void <a href="#rehighlight"><b>rehighlight</b></a> ()</li>
+<li class=fn>int <a href="#currentParagraph"><b>currentParagraph</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QSyntaxHighlighter class is a base class for
+implementing <a href="qtextedit.html">QTextEdit</a> syntax highlighters.
+<p>
+
+<p> A syntax highligher automatically highlights parts of the text in
+a QTextEdit. Syntax highlighters are often used when the user is
+entering text in a specific format (for example, source code) and
+help the user to read the text and identify syntax errors.
+<p> To provide your own syntax highlighting for QTextEdit, you must
+subclass QSyntaxHighlighter and reimplement <a href="#highlightParagraph">highlightParagraph</a>().
+<p> When you create an instance of your QSyntaxHighlighter subclass,
+pass it the QTextEdit that you want the syntax highlighting to be
+applied to. After this your highlightParagraph() function will be
+called automatically whenever necessary. Use your
+highlightParagraph() function to apply formatting (e.g. setting
+the font and color) to the text that is passed to it.
+<p>See also <a href="basic.html">Basic Widgets</a> and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QSyntaxHighlighter"></a>QSyntaxHighlighter::QSyntaxHighlighter ( <a href="qtextedit.html">QTextEdit</a>&nbsp;*&nbsp;textEdit )
+</h3>
+Constructs the QSyntaxHighlighter and installs it on <em>textEdit</em>.
+<p> It is the caller's responsibility to delete the
+QSyntaxHighlighter when it is no longer needed.
+
+<h3 class=fn><a name="~QSyntaxHighlighter"></a>QSyntaxHighlighter::~QSyntaxHighlighter ()<tt> [virtual]</tt>
+</h3>
+Destructor. Uninstalls this syntax highlighter from the <a href="#textEdit">textEdit</a>()
+
+<h3 class=fn>int <a name="currentParagraph"></a>QSyntaxHighlighter::currentParagraph () const
+</h3>
+Returns the id of the paragraph which is highlighted, or -1 of no
+paragraph is currently highlighted.
+<p> Usually this function is called from within <a href="#highlightParagraph">highlightParagraph</a>().
+
+<h3 class=fn>int <a name="highlightParagraph"></a>QSyntaxHighlighter::highlightParagraph ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;endStateOfLastPara )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function is called when necessary by the rich text engine,
+i.e. on paragraphs which have changed.
+<p> In your reimplementation you should parse the paragraph's <em>text</em>
+and call <a href="#setFormat">setFormat</a>() as often as necessary to apply any font and
+color changes that you require. Your function must return a value
+which indicates the paragraph's end state: see below.
+<p> Some syntaxes can have constructs that span paragraphs. For
+example, a C++ syntax highlighter should be able to cope with
+<tt>/</tt><tt>*...*</tt><tt>/</tt> comments that span paragraphs. To deal
+with these cases it is necessary to know the end state of the
+previous paragraph (e.g. "in comment").
+<p> If your syntax does not have paragraph spanning constructs, simply
+ignore the <em>endStateOfLastPara</em> parameter and always return 0.
+<p> Whenever <a href="#highlightParagraph">highlightParagraph</a>() is called it is passed a value for
+<em>endStateOfLastPara</em>. For the very first paragraph this value is
+always -2. For any other paragraph the value is the value returned
+by the most recent highlightParagraph() call that applied to the
+preceding paragraph.
+<p> The value you return is up to you. We recommend only returning 0
+(to signify that this paragraph's syntax highlighting does not
+affect the following paragraph), or a positive integer (to signify
+that this paragraph has ended in the middle of a paragraph
+spanning construct).
+<p> To find out which paragraph is highlighted, call
+<a href="#currentParagraph">currentParagraph</a>().
+<p> For example, if you're writing a simple C++ syntax highlighter,
+you might designate 1 to signify "in comment". For a paragraph
+that ended in the middle of a comment you'd return 1, and for
+other paragraphs you'd return 0. In your parsing code if <em>endStateOfLastPara</em> was 1, you would highlight the text as a C++
+comment until you reached the closing <tt>*</tt><tt>/</tt>.
+
+<h3 class=fn>void <a name="rehighlight"></a>QSyntaxHighlighter::rehighlight ()
+</h3> Redoes the highlighting of the whole document.
+
+<h3 class=fn>void <a name="setFormat"></a>QSyntaxHighlighter::setFormat ( int&nbsp;start, int&nbsp;count, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )
+</h3>
+This function is applied to the syntax highlighter's current
+paragraph (the text of which is passed to the <a href="#highlightParagraph">highlightParagraph</a>()
+function).
+<p> The specified <em>font</em> and <em>color</em> are applied to the text from
+position <em>start</em> for <em>count</em> characters. (If <em>count</em> is 0,
+nothing is done.)
+
+<h3 class=fn>void <a name="setFormat-2"></a>QSyntaxHighlighter::setFormat ( int&nbsp;start, int&nbsp;count, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+
+<h3 class=fn>void <a name="setFormat-3"></a>QSyntaxHighlighter::setFormat ( int&nbsp;start, int&nbsp;count, const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+
+<h3 class=fn><a href="qtextedit.html">QTextEdit</a>&nbsp;* <a name="textEdit"></a>QSyntaxHighlighter::textEdit () const
+</h3>
+
+<p> Returns the <a href="qtextedit.html">QTextEdit</a> on which this syntax highlighter is
+installed
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qt-colors.png b/doc/html/qt-colors.png
new file mode 100644
index 0000000..73ff081
--- /dev/null
+++ b/doc/html/qt-colors.png
Binary files differ
diff --git a/doc/html/qt-members.html b/doc/html/qt-members.html
new file mode 100644
index 0000000..697905b
--- /dev/null
+++ b/doc/html/qt-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qnamespace.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for Qt</h1>
+
+<p>This is the complete list of member functions for
+<a href="qt.html">Qt</a>, including inherited members.
+
+<ul>
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qt-template-lib.html b/doc/html/qt-template-lib.html
new file mode 100644
index 0000000..0b10489
--- /dev/null
+++ b/doc/html/qt-template-lib.html
@@ -0,0 +1,320 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qtl.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Template Library</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Template Library</h1>
+
+
+<p>
+<p> The Qt Template Library (QTL) is a set of templates that provide
+object containers. If a suitable STL implementation is not available
+on all your target platforms, the QTL can be used instead. It provides
+a list of objects, a vector (dynamic array) of objects, a map relating
+one type to another (also called a dictionary or associative array),
+and associated <a href="#Iterators">iterators</a> and <a href="#Algorithms">algorithms</a>. A container is an object which
+contains and manages other objects and provides iterators that allow
+the contained objects to be accessed.
+<p> The QTL classes' naming conventions are consistent with the other Qt
+classes (e.g., count(), isEmpty()). They also provide extra functions
+for compatibility with STL algorithms, such as size() and empty().
+Programmers already familiar with the STL <tt>map</tt> can use the
+STL-compatible functions if preferred.
+<p> Compared to the STL, the QTL only contains the most important features
+of the STL container API. Compared with the STL, QTL has no platform
+differences, but is often a little slower and often expands to less
+object code.
+<p> If you cannot make copies of the objects you want to store you should
+use <a href="qptrcollection.html">QPtrCollection</a> and friends, all of which operate on pointers
+rather than values. This applies, for example, to all classes derived
+from <a href="qobject.html">QObject</a>. A <a href="qobject.html">QObject</a> does not have a copy constructor, so using
+it as value is impossible. You may choose to store pointers to
+QObjects in a <a href="qvaluelist.html">QValueList</a>, but using <a href="qptrlist.html">QPtrList</a> directly seems to be the
+better choice for this kind of application domain. QPtrList, like all
+other QPtrCollection based containers, provides far more sanity
+checking than a speed-optimized value based container.
+<p> If you have objects that implement value semantics, and the STL is not
+available on your target platform, the Qt Template Library can be used
+instead. Value semantics require at least:
+<ul>
+<li> a copy constructor;
+<li> an assignment operator;
+<li> a defaultconstructor, i.e. a constructor that does not take any arguments.
+</ul>
+<p> Note that a fast copy constructor is absolutely crucial to achieve
+good overall performance of the container, since many copy operations
+will occur.
+<p> If you intend sorting your data you must implement <a href="qcstring.html#operator-lt-2">operator&lt;</a>() for
+your data's class.
+<p> Good candidates for value based classes are <a href="qrect.html">QRect</a>, <a href="qpoint.html">QPoint</a>, <a href="qsize.html">QSize</a>,
+<a href="qstring.html">QString</a> and all simple C++ types, such as int, bool or double.
+<p> The Qt Template Library is designed for speed. Iterators are extremely
+fast. To achieve this performance, less error checking is done than in
+the <a href="qptrcollection.html">QPtrCollection</a> based containers. A QTL container, for example,
+does not track any associated iterators. This makes certain validity
+checks, for example when removing items, impossible to perform
+automatically, but does lead to extremely good performance.
+<p> <a name="Iterators"></a>
+<h2> Iterators
+</h2>
+<a name="1"></a><p> The Qt Template Library deals with value objects, not with pointers.
+For that reason, there is no other way of iterating over containers
+other than with iterators. This is no disadvantage as the size of an
+iterator matches the size of a normal pointer.
+<p> To iterate over a container, use a loop like this:
+<pre>
+ typedef QValueList&lt;int&gt; List;
+ List list;
+ for( List::Iterator it = list.begin(); it != list.end(); ++it )
+ printf( "Number is %i\n", *it );
+</pre>
+
+<p> begin() returns the iterator pointing at the first element, while
+end() returns an iterator that points <em>after</em> the last element. end()
+marks an invalid position, so it can never be dereferenced. It's the
+break condition in any iteration, whether the start point is from
+begin() or fromLast(). For maximum speed, use increment or decrement
+iterators with the prefix operator (++it, --it) instead of the postfix
+operator (it++, it--), since the former is slightly faster.
+<p> The same concept applies to the other container classes:
+<pre>
+ typedef QMap&lt;QString,QString&gt; Map;
+ Map map;
+ for( Map::iterator it = map.begin(); it != map.end(); ++it )
+ printf( "Key=%s Data=%s\n", it.key().ascii(), it.data().ascii() );
+
+ typedef QValueVector&lt;int&gt; Vector;
+ Vector vec;
+ for( Vector::iterator it = vec.begin(); it != vec.end(); ++it )
+ printf( "Data=%d\n", *it );
+</pre>
+
+<p> There are two kind of iterators, the volatile iterator shown in the
+examples above and a version that returns a const reference to its
+current object, the ConstIterator. Const iterators are required
+whenever the container itself is const, such as a member variable
+inside a const function. Assigning a ConstIterator to a normal
+Iterator is not allowed as it would violate const semantics.
+<p> <a name="Algorithms"></a>
+<h2> Algorithms
+</h2>
+<a name="2"></a><p> The Qt Template Library defines a number of algorithms that operate on
+its containers. These algorithms are implemented as template functions
+and provide useful generic code which can be applied to any container
+that provides iterators (including your own containers).
+<p> <h3> qHeapSort()
+</h3>
+<a name="2-1"></a><p> qHeapSort() provides a well known sorting algorithm. You can use it
+like this:
+<pre>
+ typedef QValueList&lt;int&gt; List;
+ List list;
+ list &lt;&lt; 42 &lt;&lt; 100 &lt;&lt; 1234 &lt;&lt; 12 &lt;&lt; 8;
+ qHeapSort( list );
+
+ List list2;
+ list2 &lt;&lt; 42 &lt;&lt; 100 &lt;&lt; 1234 &lt;&lt; 12 &lt;&lt; 8;
+ List::Iterator b = list2.find( 100 );
+ List::Iterator e = list2.find( 8 );
+ qHeapSort( b, e );
+
+ double arr[] = { 3.2, 5.6, 8.9 };
+ qHeapSort( arr, arr + 3 );
+</pre>
+
+<p> The first example sorts the entire list. The second example sorts only
+those elements that fall between the two iterators, i.e. 100, 1234 and
+12. The third example shows that iterators act like pointers and can
+be treated as such.
+<p> If using your own data types you must implement <a href="qcstring.html#operator-lt-2">operator&lt;</a>() for
+your data's class.
+<p> Naturally, the sorting templates won't work with const iterators.
+<p> <a name="qSwap"></a>
+<h3> qSwap()
+</h3>
+<a name="2-2"></a><p> qSwap() exchanges the values of two variables:
+<pre>
+ <a href="qstring.html">QString</a> second( "Einstein" );
+ <a href="qstring.html">QString</a> name( "Albert" );
+ qSwap( second, name );
+</pre>
+
+<p> <a name="qCount"></a>
+<h3> qCount()
+</h3>
+<a name="2-3"></a><p> The qCount() template function counts the number of occurrences of a
+value within a container. For example:
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; list;
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 2 );
+ int c = 0;
+ qCount( list.<a href="qvaluelist.html#begin">begin</a>(), list.<a href="qvaluelist.html#end">end</a>(), 1, c ); // c == 3
+</pre>
+
+<p> <a name="qFind"></a>
+<h3> qFind()
+</h3>
+<a name="2-4"></a><p> The qFind() template function finds the first occurrence of a value
+within a container. For example:
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; list;
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 1 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 2 );
+ <a href="qvaluelistiterator.html">QValueListIterator</a>&lt;int&gt; it = qFind( list.<a href="qvaluelist.html#begin">begin</a>(), list.<a href="qvaluelist.html#end">end</a>(), 2 );
+</pre>
+
+<p> <a name="qFill"></a>
+<h3> qFill()
+</h3>
+<a name="2-5"></a><p> The qFill() template function fills a range with copies of a value.
+For example:
+<pre>
+ <a href="qvaluevector.html">QValueVector</a>&lt;int&gt; vec(3);
+ qFill( vec.<a href="qvaluevector.html#begin">begin</a>(), vec.<a href="qvaluevector.html#end">end</a>(), 99 ); // vec contains 99, 99, 99
+</pre>
+
+<p> <a name="qEqual"></a>
+<h3> qEqual()
+</h3>
+<a name="2-6"></a><p> The qEqual() template function compares two ranges for equality of
+their elements. Note that the number of elements in each range is not
+considered, only if the elements in the first range are equal to the
+corresponding elements in the second range (consequently, both ranges
+must be valid). For example:
+<pre>
+ <a href="qvaluevector.html">QValueVector</a>&lt;int&gt; v1(3);
+ v1[0] = 1;
+ v1[2] = 2;
+ v1[3] = 3;
+
+ <a href="qvaluevector.html">QValueVector</a>&lt;int&gt; v2(5);
+ v2[0] = 1;
+ v2[2] = 2;
+ v2[3] = 3;
+ v2[4] = 4;
+ v2[5] = 5;
+
+ bool b = qEqual( v1.<a href="qvaluevector.html#begin">begin</a>(), v2.<a href="qvaluevector.html#end">end</a>(), v2.<a href="qvaluevector.html#begin">begin</a>() );
+ // b == TRUE
+</pre>
+
+<p> <a name="qCopy"></a>
+<h3> qCopy()
+</h3>
+<a name="2-7"></a><p> The qCopy() template function copies a range of elements to an
+OutputIterator, in this case a QTextOStreamIterator:
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;int&gt; list;
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 100 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 200 );
+ list.<a href="qvaluelist.html#push_back">push_back</a>( 300 );
+ <a href="qtextostream.html">QTextOStream</a> str( stdout );
+ qCopy( list.<a href="qvaluelist.html#begin">begin</a>(), list.<a href="qvaluelist.html#end">end</a>(), QTextOStreamIterator(str) );
+</pre>
+
+<p>
+<p> <a name="qCopyBackward"></a>
+<h3> qCopyBackward()
+</h3>
+<a name="2-8"></a><p> The qCopyBackward() template function copies a container or a slice of
+a container to an OutputIterator, but in reverse order, for example:
+<pre>
+ <a href="qvaluevector.html">QValueVector</a>&lt;int&gt; vec(3);
+ vec.<a href="qvaluevector.html#push_back">push_back</a>( 100 );
+ vec.<a href="qvaluevector.html#push_back">push_back</a>( 200 );
+ vec.<a href="qvaluevector.html#push_back">push_back</a>( 300 );
+ <a href="qvaluevector.html">QValueVector</a>&lt;int&gt; another;
+ qCopyBackward( vec.<a href="qvaluevector.html#begin">begin</a>(), vec.<a href="qvaluevector.html#end">end</a>(), another.<a href="qvaluevector.html#begin">begin</a>() );
+ // 'another' now contains 100, 200, 300
+ // however the elements are copied one at a time
+ // in reverse order (300, 200, then 100)
+</pre>
+
+<p> <h3> QTL Iterators
+</h3>
+<a name="2-9"></a><p> You can use any Qt Template Library iterator as the OutputIterator.
+Just make sure that the right hand of the iterator has as many
+elements present as you want to insert. The following example
+illustrates this:
+<p> <pre>
+ <a href="qstringlist.html">QStringList</a> list1, list2;
+ list1 &lt;&lt; "Weis" &lt;&lt; "Ettrich" &lt;&lt; "Arnt" &lt;&lt; "Sue";
+ list2 &lt;&lt; "Torben" &lt;&lt; "Matthias";
+ qCopy( list2.begin(), list2.end(), list1.<a href="qvaluelist.html#begin">begin</a>() );
+
+ <a href="qvaluevector.html">QValueVector</a>&lt;QString&gt; vec( list1.<a href="qvaluelist.html#size">size</a>(), "Dave" );
+ qCopy( list2.begin(), list2.end(), vec.<a href="qvaluevector.html#begin">begin</a>() );
+</pre>
+
+<p> At the end of this code fragment, the list list1 contains "Torben",
+"Matthias", "Arnt" and "Sue", with the prior contents being
+overwritten. The vector vec contains "Torben", "Matthias", "Dave" and
+"Dave", also with the prior contents being overwritten.
+<p> If you write new algorithms, consider writing them as template
+functions in order to make them usable with as many containers
+as possible. In the above example, you could just as easily print out
+a standard C++ array with qCopy():
+<p> <pre>
+ int arr[] = { 100, 200, 300 };
+ <a href="qtextostream.html">QTextOStream</a> str( stdout );
+ qCopy( arr, arr + 3, QTextOStreamIterator( str ) );
+</pre>
+
+<p> <h2> Streaming
+</h2>
+<a name="3"></a><p> All the containers we've mentioned can be serialized with the
+appropriate streaming operators. Here is an example.
+<p> <pre>
+ <a href="qdatastream.html">QDataStream</a> str(...);
+ <a href="qvaluelist.html">QValueList</a>&lt;QRect&gt; list;
+ // ... fill the list here
+ str &lt;&lt; list;
+</pre>
+
+<p> The container can be read in again with:
+<p> <pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QRect&gt; list;
+ str &gt;&gt; list;
+</pre>
+
+<p> The same applies to <a href="qstringlist.html">QStringList</a>, <a href="qvaluestack.html">QValueStack</a> and <a href="qmap.html">QMap</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qt.dcf b/doc/html/qt.dcf
new file mode 100644
index 0000000..0882ceb
--- /dev/null
+++ b/doc/html/qt.dcf
@@ -0,0 +1,10857 @@
+<!DOCTYPE DCF>
+<DCF ref="index.html" icon="qt.png" imagedir="../../gif" title="Qt Reference Documentation">
+<section ref="qaccel.html" title="QAccel Class Reference">
+ <keyword ref="qaccel.html">QAccel</keyword>
+ <keyword ref="qaccel.html#activated">activated</keyword>
+ <keyword ref="qaccel.html#activatedAmbiguously">activatedAmbiguously</keyword>
+ <keyword ref="qaccel.html#clear">clear</keyword>
+ <keyword ref="qaccel.html#connectItem">connectItem</keyword>
+ <keyword ref="qaccel.html#count">count</keyword>
+ <keyword ref="qaccel.html#disconnectItem">disconnectItem</keyword>
+ <keyword ref="qaccel.html#findKey">findKey</keyword>
+ <keyword ref="qaccel.html#insertItem">insertItem</keyword>
+ <keyword ref="qaccel.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qaccel.html#isItemEnabled">isItemEnabled</keyword>
+ <keyword ref="qaccel.html#key">key</keyword>
+ <keyword ref="qaccel.html#removeItem">removeItem</keyword>
+ <keyword ref="qaccel.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qaccel.html#setItemEnabled">setItemEnabled</keyword>
+ <keyword ref="qaccel.html#setWhatsThis">setWhatsThis</keyword>
+ <keyword ref="qaccel.html#shortcutKey">shortcutKey</keyword>
+ <keyword ref="qaccel.html#whatsThis">whatsThis</keyword>
+ <keyword ref="qaccel.html#~QAccel">~QAccel</keyword>
+ <section ref="qaccel-members.html" title="List of All Member Functions"/>
+ <section ref="qaccel-h.html" title="Header File"/>
+</section>
+<section ref="qaccessible.html" title="QAccessible Class Reference">
+ <keyword ref="qaccessible.html">QAccessible</keyword>
+ <keyword ref="qaccessible.html#Event">Event</keyword>
+ <keyword ref="qaccessible.html#NavDirection">NavDirection</keyword>
+ <keyword ref="qaccessible.html#Role">Role</keyword>
+ <keyword ref="qaccessible.html#State">State</keyword>
+ <keyword ref="qaccessible.html#Text">Text</keyword>
+ <keyword ref="qaccessible.html#isActive">isActive</keyword>
+ <keyword ref="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</keyword>
+ <keyword ref="qaccessible.html#updateAccessibility">updateAccessibility</keyword>
+ <section ref="qaccessible-members.html" title="List of All Member Functions"/>
+ <section ref="qaccessible-h.html" title="Header File"/>
+</section>
+<section ref="qaccessibleinterface.html" title="QAccessibleInterface Class Reference">
+ <keyword ref="qaccessibleinterface.html">QAccessibleInterface</keyword>
+ <keyword ref="qaccessibleinterface.html#childCount">childCount</keyword>
+ <keyword ref="qaccessibleinterface.html#clearSelection">clearSelection</keyword>
+ <keyword ref="qaccessibleinterface.html#controlAt">controlAt</keyword>
+ <keyword ref="qaccessibleinterface.html#doDefaultAction">doDefaultAction</keyword>
+ <keyword ref="qaccessibleinterface.html#isValid">isValid</keyword>
+ <keyword ref="qaccessibleinterface.html#navigate">navigate</keyword>
+ <keyword ref="qaccessibleinterface.html#queryChild">queryChild</keyword>
+ <keyword ref="qaccessibleinterface.html#queryParent">queryParent</keyword>
+ <keyword ref="qaccessibleinterface.html#rect">rect</keyword>
+ <keyword ref="qaccessibleinterface.html#role">role</keyword>
+ <keyword ref="qaccessibleinterface.html#selection">selection</keyword>
+ <keyword ref="qaccessibleinterface.html#setFocus">setFocus</keyword>
+ <keyword ref="qaccessibleinterface.html#setSelected">setSelected</keyword>
+ <keyword ref="qaccessibleinterface.html#setText">setText</keyword>
+ <keyword ref="qaccessibleinterface.html#state">state</keyword>
+ <keyword ref="qaccessibleinterface.html#text">text</keyword>
+ <section ref="qaccessibleinterface-members.html" title="List of All Member Functions"/>
+ <section ref="qaccessible-h.html" title="Header File"/>
+</section>
+<section ref="qaccessibleobject.html" title="QAccessibleObject Class Reference">
+ <keyword ref="qaccessibleobject.html">QAccessibleObject</keyword>
+ <keyword ref="qaccessibleobject.html#object">object</keyword>
+ <keyword ref="qaccessibleobject.html#~QAccessibleObject">~QAccessibleObject</keyword>
+ <section ref="qaccessibleobject-members.html" title="List of All Member Functions"/>
+ <section ref="qaccessible-h.html" title="Header File"/>
+</section>
+<section ref="qaction.html" title="QAction Class Reference">
+ <keyword ref="qaction.html">QAction</keyword>
+ <keyword ref="qaction.html#accel">accel</keyword>
+ <keyword ref="qaction.html#accel-prop">accel</keyword>
+ <keyword ref="qaction.html#activate">activate</keyword>
+ <keyword ref="qaction.html#activated">activated</keyword>
+ <keyword ref="qaction.html#addTo">addTo</keyword>
+ <keyword ref="qaction.html#addedTo">addedTo</keyword>
+ <keyword ref="qaction.html#clearStatusText">clearStatusText</keyword>
+ <keyword ref="qaction.html#enabled-prop">enabled</keyword>
+ <keyword ref="qaction.html#iconSet">iconSet</keyword>
+ <keyword ref="qaction.html#iconSet-prop">iconSet</keyword>
+ <keyword ref="qaction.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qaction.html#isOn">isOn</keyword>
+ <keyword ref="qaction.html#isToggleAction">isToggleAction</keyword>
+ <keyword ref="qaction.html#isVisible">isVisible</keyword>
+ <keyword ref="qaction.html#menuStatusText">menuStatusText</keyword>
+ <keyword ref="qaction.html#menuText">menuText</keyword>
+ <keyword ref="qaction.html#menuText-prop">menuText</keyword>
+ <keyword ref="qaction.html#on-prop">on</keyword>
+ <keyword ref="qaction.html#removeFrom">removeFrom</keyword>
+ <keyword ref="qaction.html#setAccel">setAccel</keyword>
+ <keyword ref="qaction.html#setDisabled">setDisabled</keyword>
+ <keyword ref="qaction.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qaction.html#setIconSet">setIconSet</keyword>
+ <keyword ref="qaction.html#setMenuText">setMenuText</keyword>
+ <keyword ref="qaction.html#setOn">setOn</keyword>
+ <keyword ref="qaction.html#setStatusTip">setStatusTip</keyword>
+ <keyword ref="qaction.html#setText">setText</keyword>
+ <keyword ref="qaction.html#setToggleAction">setToggleAction</keyword>
+ <keyword ref="qaction.html#setToolTip">setToolTip</keyword>
+ <keyword ref="qaction.html#setVisible">setVisible</keyword>
+ <keyword ref="qaction.html#setWhatsThis">setWhatsThis</keyword>
+ <keyword ref="qaction.html#showStatusText">showStatusText</keyword>
+ <keyword ref="qaction.html#statusTip">statusTip</keyword>
+ <keyword ref="qaction.html#statusTip-prop">statusTip</keyword>
+ <keyword ref="qaction.html#text">text</keyword>
+ <keyword ref="qaction.html#text-prop">text</keyword>
+ <keyword ref="qaction.html#toggle">toggle</keyword>
+ <keyword ref="qaction.html#toggleAction-prop">toggleAction</keyword>
+ <keyword ref="qaction.html#toggled">toggled</keyword>
+ <keyword ref="qaction.html#toolTip">toolTip</keyword>
+ <keyword ref="qaction.html#toolTip-prop">toolTip</keyword>
+ <keyword ref="qaction.html#visible-prop">visible</keyword>
+ <keyword ref="qaction.html#whatsThis">whatsThis</keyword>
+ <keyword ref="qaction.html#whatsThis-prop">whatsThis</keyword>
+ <keyword ref="qaction.html#~QAction">~QAction</keyword>
+ <section ref="qaction-members.html" title="List of All Member Functions"/>
+ <section ref="qaction-h.html" title="Header File"/>
+</section>
+<section ref="qactiongroup.html" title="QActionGroup Class Reference">
+ <keyword ref="qactiongroup.html">QActionGroup</keyword>
+ <keyword ref="qactiongroup.html#add">add</keyword>
+ <keyword ref="qactiongroup.html#addSeparator">addSeparator</keyword>
+ <keyword ref="qactiongroup.html#addTo">addTo</keyword>
+ <keyword ref="qactiongroup.html#exclusive-prop">exclusive</keyword>
+ <keyword ref="qactiongroup.html#isExclusive">isExclusive</keyword>
+ <keyword ref="qactiongroup.html#selected">selected</keyword>
+ <keyword ref="qactiongroup.html#setExclusive">setExclusive</keyword>
+ <keyword ref="qactiongroup.html#setUsesDropDown">setUsesDropDown</keyword>
+ <keyword ref="qactiongroup.html#usesDropDown">usesDropDown</keyword>
+ <keyword ref="qactiongroup.html#usesDropDown-prop">usesDropDown</keyword>
+ <keyword ref="qactiongroup.html#~QActionGroup">~QActionGroup</keyword>
+ <section ref="qactiongroup-members.html" title="List of All Member Functions"/>
+ <section ref="qaction-h.html" title="Header File"/>
+</section>
+<section ref="qapplication.html" title="QApplication Class Reference">
+ <keyword ref="qapplication.html">QApplication</keyword>
+ <keyword ref="qapplication.html#ColorSpec">ColorSpec</keyword>
+ <keyword ref="qapplication.html#Encoding">Encoding</keyword>
+ <keyword ref="qapplication.html#Type">Type</keyword>
+ <keyword ref="qapplication.html#aboutQt">aboutQt</keyword>
+ <keyword ref="qapplication.html#aboutToQuit">aboutToQuit</keyword>
+ <keyword ref="qapplication.html#activeModalWidget">activeModalWidget</keyword>
+ <keyword ref="qapplication.html#activePopupWidget">activePopupWidget</keyword>
+ <keyword ref="qapplication.html#activeWindow">activeWindow</keyword>
+ <keyword ref="qapplication.html#addLibraryPath">addLibraryPath</keyword>
+ <keyword ref="qapplication.html#allWidgets">allWidgets</keyword>
+ <keyword ref="qapplication.html#applicationDirPath">applicationDirPath</keyword>
+ <keyword ref="qapplication.html#applicationFilePath">applicationFilePath</keyword>
+ <keyword ref="qapplication.html#argc">argc</keyword>
+ <keyword ref="qapplication.html#argv">argv</keyword>
+ <keyword ref="qapplication.html#beep">beep</keyword>
+ <keyword ref="qapplication.html#clipboard">clipboard</keyword>
+ <keyword ref="qapplication.html#closeAllWindows">closeAllWindows</keyword>
+ <keyword ref="qapplication.html#closingDown">closingDown</keyword>
+ <keyword ref="qapplication.html#colorSpec">colorSpec</keyword>
+ <keyword ref="qapplication.html#commitData">commitData</keyword>
+ <keyword ref="qapplication.html#cursorFlashTime">cursorFlashTime</keyword>
+ <keyword ref="qapplication.html#desktop">desktop</keyword>
+ <keyword ref="qapplication.html#desktopSettingsAware">desktopSettingsAware</keyword>
+ <keyword ref="qapplication.html#doubleClickInterval">doubleClickInterval</keyword>
+ <keyword ref="qapplication.html#eventLoop">eventLoop</keyword>
+ <keyword ref="qapplication.html#exec">exec</keyword>
+ <keyword ref="qapplication.html#exit">exit</keyword>
+ <keyword ref="qapplication.html#flush">flush</keyword>
+ <keyword ref="qapplication.html#flushX">flushX</keyword>
+ <keyword ref="qapplication.html#focusWidget">focusWidget</keyword>
+ <keyword ref="qapplication.html#font">font</keyword>
+ <keyword ref="qapplication.html#fontMetrics">fontMetrics</keyword>
+ <keyword ref="qapplication.html#globalStrut">globalStrut</keyword>
+ <keyword ref="qapplication.html#guiThreadAwake">guiThreadAwake</keyword>
+ <keyword ref="qapplication.html#hasGlobalMouseTracking">hasGlobalMouseTracking</keyword>
+ <keyword ref="qapplication.html#hasPendingEvents">hasPendingEvents</keyword>
+ <keyword ref="qapplication.html#horizontalAlignment">horizontalAlignment</keyword>
+ <keyword ref="qapplication.html#initialize">initialize</keyword>
+ <keyword ref="qapplication.html#installTranslator">installTranslator</keyword>
+ <keyword ref="qapplication.html#isEffectEnabled">isEffectEnabled</keyword>
+ <keyword ref="qapplication.html#isSessionRestored">isSessionRestored</keyword>
+ <keyword ref="qapplication.html#lastWindowClosed">lastWindowClosed</keyword>
+ <keyword ref="qapplication.html#libraryPaths">libraryPaths</keyword>
+ <keyword ref="qapplication.html#lock">lock</keyword>
+ <keyword ref="qapplication.html#locked">locked</keyword>
+ <keyword ref="qapplication.html#macEventFilter">macEventFilter</keyword>
+ <keyword ref="qapplication.html#mainWidget">mainWidget</keyword>
+ <keyword ref="qapplication.html#notify">notify</keyword>
+ <keyword ref="qapplication.html#overrideCursor">overrideCursor</keyword>
+ <keyword ref="qapplication.html#palette">palette</keyword>
+ <keyword ref="qapplication.html#polish">polish</keyword>
+ <keyword ref="qapplication.html#postEvent">postEvent</keyword>
+ <keyword ref="qapplication.html#processEvents">processEvents</keyword>
+ <keyword ref="qapplication.html#quit">quit</keyword>
+ <keyword ref="qapplication.html#qwsDecoration">qwsDecoration</keyword>
+ <keyword ref="qapplication.html#qwsEventFilter">qwsEventFilter</keyword>
+ <keyword ref="qapplication.html#qwsSetCustomColors">qwsSetCustomColors</keyword>
+ <keyword ref="qapplication.html#qwsSetDecoration">qwsSetDecoration</keyword>
+ <keyword ref="qapplication.html#removeLibraryPath">removeLibraryPath</keyword>
+ <keyword ref="qapplication.html#removePostedEvent">removePostedEvent</keyword>
+ <keyword ref="qapplication.html#removePostedEvents">removePostedEvents</keyword>
+ <keyword ref="qapplication.html#removeTranslator">removeTranslator</keyword>
+ <keyword ref="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</keyword>
+ <keyword ref="qapplication.html#reverseLayout">reverseLayout</keyword>
+ <keyword ref="qapplication.html#saveState">saveState</keyword>
+ <keyword ref="qapplication.html#sendEvent">sendEvent</keyword>
+ <keyword ref="qapplication.html#sendPostedEvents">sendPostedEvents</keyword>
+ <keyword ref="qapplication.html#sessionId">sessionId</keyword>
+ <keyword ref="qapplication.html#sessionKey">sessionKey</keyword>
+ <keyword ref="qapplication.html#setColorSpec">setColorSpec</keyword>
+ <keyword ref="qapplication.html#setCursorFlashTime">setCursorFlashTime</keyword>
+ <keyword ref="qapplication.html#setDesktopSettingsAware">setDesktopSettingsAware</keyword>
+ <keyword ref="qapplication.html#setDoubleClickInterval">setDoubleClickInterval</keyword>
+ <keyword ref="qapplication.html#setEffectEnabled">setEffectEnabled</keyword>
+ <keyword ref="qapplication.html#setFont">setFont</keyword>
+ <keyword ref="qapplication.html#setGlobalMouseTracking">setGlobalMouseTracking</keyword>
+ <keyword ref="qapplication.html#setGlobalStrut">setGlobalStrut</keyword>
+ <keyword ref="qapplication.html#setLibraryPaths">setLibraryPaths</keyword>
+ <keyword ref="qapplication.html#setMainWidget">setMainWidget</keyword>
+ <keyword ref="qapplication.html#setOverrideCursor">setOverrideCursor</keyword>
+ <keyword ref="qapplication.html#setPalette">setPalette</keyword>
+ <keyword ref="qapplication.html#setReverseLayout">setReverseLayout</keyword>
+ <keyword ref="qapplication.html#setStartDragDistance">setStartDragDistance</keyword>
+ <keyword ref="qapplication.html#setStartDragTime">setStartDragTime</keyword>
+ <keyword ref="qapplication.html#setStyle">setStyle</keyword>
+ <keyword ref="qapplication.html#setWheelScrollLines">setWheelScrollLines</keyword>
+ <keyword ref="qapplication.html#startDragDistance">startDragDistance</keyword>
+ <keyword ref="qapplication.html#startDragTime">startDragTime</keyword>
+ <keyword ref="qapplication.html#startingUp">startingUp</keyword>
+ <keyword ref="qapplication.html#style">style</keyword>
+ <keyword ref="qapplication.html#syncX">syncX</keyword>
+ <keyword ref="qapplication.html#topLevelWidgets">topLevelWidgets</keyword>
+ <keyword ref="qapplication.html#translate">translate</keyword>
+ <keyword ref="qapplication.html#tryLock">tryLock</keyword>
+ <keyword ref="qapplication.html#type">type</keyword>
+ <keyword ref="qapplication.html#unlock">unlock</keyword>
+ <keyword ref="qapplication.html#wakeUpGuiThread">wakeUpGuiThread</keyword>
+ <keyword ref="qapplication.html#wheelScrollLines">wheelScrollLines</keyword>
+ <keyword ref="qapplication.html#widgetAt">widgetAt</keyword>
+ <keyword ref="qapplication.html#winEventFilter">winEventFilter</keyword>
+ <keyword ref="qapplication.html#winFocus">winFocus</keyword>
+ <keyword ref="qapplication.html#x11EventFilter">x11EventFilter</keyword>
+ <keyword ref="qapplication.html#x11ProcessEvent">x11ProcessEvent</keyword>
+ <keyword ref="qapplication.html#~QApplication">~QApplication</keyword>
+ <keyword ref="qapplication.html#Q_ASSERT">Q_ASSERT</keyword>
+ <keyword ref="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</keyword>
+ <keyword ref="qapplication.html#qAddPostRoutine">qAddPostRoutine</keyword>
+ <keyword ref="qapplication.html#qDebug">qDebug</keyword>
+ <keyword ref="qapplication.html#qFatal">qFatal</keyword>
+ <keyword ref="qapplication.html#qInstallMsgHandler">qInstallMsgHandler</keyword>
+ <keyword ref="qapplication.html#qSysInfo">qSysInfo</keyword>
+ <keyword ref="qapplication.html#qSystemWarning">qSystemWarning</keyword>
+ <keyword ref="qapplication.html#qVersion">qVersion</keyword>
+ <keyword ref="qapplication.html#qWarning">qWarning</keyword>
+ <section ref="qapplication-members.html" title="List of All Member Functions"/>
+ <section ref="qapplication-h.html" title="Header File"/>
+</section>
+<section ref="qasciicache.html" title="QAsciiCache Class Reference">
+ <keyword ref="qasciicache.html">QAsciiCache</keyword>
+ <keyword ref="qasciicache.html#clear">clear</keyword>
+ <keyword ref="qasciicache.html#count">count</keyword>
+ <keyword ref="qasciicache.html#find">find</keyword>
+ <keyword ref="qasciicache.html#insert">insert</keyword>
+ <keyword ref="qasciicache.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qasciicache.html#maxCost">maxCost</keyword>
+ <keyword ref="qasciicache.html#operator[]">operator[]</keyword>
+ <keyword ref="qasciicache.html#remove">remove</keyword>
+ <keyword ref="qasciicache.html#setMaxCost">setMaxCost</keyword>
+ <keyword ref="qasciicache.html#size">size</keyword>
+ <keyword ref="qasciicache.html#statistics">statistics</keyword>
+ <keyword ref="qasciicache.html#take">take</keyword>
+ <keyword ref="qasciicache.html#totalCost">totalCost</keyword>
+ <keyword ref="qasciicache.html#~QAsciiCache">~QAsciiCache</keyword>
+ <section ref="qasciicache-members.html" title="List of All Member Functions"/>
+ <section ref="qasciicache-h.html" title="Header File"/>
+</section>
+<section ref="qasciicacheiterator.html" title="QAsciiCacheIterator Class Reference">
+ <keyword ref="qasciicacheiterator.html">QAsciiCacheIterator</keyword>
+ <keyword ref="qasciicacheiterator.html#atFirst">atFirst</keyword>
+ <keyword ref="qasciicacheiterator.html#atLast">atLast</keyword>
+ <keyword ref="qasciicacheiterator.html#count">count</keyword>
+ <keyword ref="qasciicacheiterator.html#current">current</keyword>
+ <keyword ref="qasciicacheiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qasciicacheiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qasciicacheiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qasciicacheiterator.html#operator()">operator()</keyword>
+ <keyword ref="qasciicacheiterator.html#operator++">operator++</keyword>
+ <keyword ref="qasciicacheiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qasciicacheiterator.html#operator--">operator--</keyword>
+ <keyword ref="qasciicacheiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qasciicacheiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qasciicacheiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qasciicacheiterator.html#toLast">toLast</keyword>
+ <section ref="qasciicacheiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qasciicache-h.html" title="Header File"/>
+</section>
+<section ref="qasciidict.html" title="QAsciiDict Class Reference">
+ <keyword ref="qasciidict.html">QAsciiDict</keyword>
+ <keyword ref="qasciidict.html#clear">clear</keyword>
+ <keyword ref="qasciidict.html#count">count</keyword>
+ <keyword ref="qasciidict.html#find">find</keyword>
+ <keyword ref="qasciidict.html#insert">insert</keyword>
+ <keyword ref="qasciidict.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qasciidict.html#operator-eq">operator=</keyword>
+ <keyword ref="qasciidict.html#operator[]">operator[]</keyword>
+ <keyword ref="qasciidict.html#read">read</keyword>
+ <keyword ref="qasciidict.html#remove">remove</keyword>
+ <keyword ref="qasciidict.html#replace">replace</keyword>
+ <keyword ref="qasciidict.html#resize">resize</keyword>
+ <keyword ref="qasciidict.html#size">size</keyword>
+ <keyword ref="qasciidict.html#statistics">statistics</keyword>
+ <keyword ref="qasciidict.html#take">take</keyword>
+ <keyword ref="qasciidict.html#write">write</keyword>
+ <keyword ref="qasciidict.html#~QAsciiDict">~QAsciiDict</keyword>
+ <section ref="qasciidict-members.html" title="List of All Member Functions"/>
+ <section ref="qasciidict-h.html" title="Header File"/>
+</section>
+<section ref="qasciidictiterator.html" title="QAsciiDictIterator Class Reference">
+ <keyword ref="qasciidictiterator.html">QAsciiDictIterator</keyword>
+ <keyword ref="qasciidictiterator.html#count">count</keyword>
+ <keyword ref="qasciidictiterator.html#current">current</keyword>
+ <keyword ref="qasciidictiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qasciidictiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qasciidictiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qasciidictiterator.html#operator()">operator()</keyword>
+ <keyword ref="qasciidictiterator.html#operator++">operator++</keyword>
+ <keyword ref="qasciidictiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qasciidictiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qasciidictiterator.html#~QAsciiDictIterator">~QAsciiDictIterator</keyword>
+ <section ref="qasciidictiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qasciidict-h.html" title="Header File"/>
+</section>
+<section ref="qassistantclient.html" title="QAssistantClient Class Reference">
+ <keyword ref="qassistantclient.html">QAssistantClient</keyword>
+ <keyword ref="qassistantclient.html#assistantClosed">assistantClosed</keyword>
+ <keyword ref="qassistantclient.html#assistantOpened">assistantOpened</keyword>
+ <keyword ref="qassistantclient.html#closeAssistant">closeAssistant</keyword>
+ <keyword ref="qassistantclient.html#error">error</keyword>
+ <keyword ref="qassistantclient.html#isOpen">isOpen</keyword>
+ <keyword ref="qassistantclient.html#open-prop">open</keyword>
+ <keyword ref="qassistantclient.html#openAssistant">openAssistant</keyword>
+ <keyword ref="qassistantclient.html#setArguments">setArguments</keyword>
+ <keyword ref="qassistantclient.html#showPage">showPage</keyword>
+ <keyword ref="qassistantclient.html#~QAssistantClient">~QAssistantClient</keyword>
+ <section ref="qassistantclient-members.html" title="List of All Member Functions"/>
+ <section ref="qassistantclient-h.html" title="Header File"/>
+</section>
+<section ref="qasyncio.html" title="QAsyncIO Class Reference">
+ <keyword ref="qasyncio.html#connect">connect</keyword>
+ <keyword ref="qasyncio.html#ready">ready</keyword>
+ <keyword ref="qasyncio.html#~QAsyncIO">~QAsyncIO</keyword>
+ <section ref="qasyncio-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncio-h.html" title="Header File"/>
+</section>
+<section ref="qaxaggregated.html" title="QAxAggregated Class Reference">
+ <keyword ref="qaxaggregated.html">QAxAggregated</keyword>
+ <keyword ref="qaxaggregated.html#controllingUnknown">controllingUnknown</keyword>
+ <keyword ref="qaxaggregated.html#object">object</keyword>
+ <keyword ref="qaxaggregated.html#queryInterface">queryInterface</keyword>
+ <keyword ref="qaxaggregated.html#widget">widget</keyword>
+ <section ref="qaxaggregated-members.html" title="List of All Member Functions"/>
+ <section ref="qaxbindable-h.html" title="Header File"/>
+</section>
+<section ref="qaxbase.html" title="QAxBase Class Reference">
+ <keyword ref="qaxbase.html">QAxBase</keyword>
+ <keyword ref="qaxbase.html#PropertyBag">PropertyBag</keyword>
+ <keyword ref="qaxbase.html#asVariant">asVariant</keyword>
+ <keyword ref="qaxbase.html#clear">clear</keyword>
+ <keyword ref="qaxbase.html#control">control</keyword>
+ <keyword ref="qaxbase.html#control-prop">control</keyword>
+ <keyword ref="qaxbase.html#disableClassInfo">disableClassInfo</keyword>
+ <keyword ref="qaxbase.html#disableEventSink">disableEventSink</keyword>
+ <keyword ref="qaxbase.html#disableMetaObject">disableMetaObject</keyword>
+ <keyword ref="qaxbase.html#dynamicCall">dynamicCall</keyword>
+ <keyword ref="qaxbase.html#exception">exception</keyword>
+ <keyword ref="qaxbase.html#generateDocumentation">generateDocumentation</keyword>
+ <keyword ref="qaxbase.html#initialize">initialize</keyword>
+ <keyword ref="qaxbase.html#initializeActive">initializeActive</keyword>
+ <keyword ref="qaxbase.html#initializeLicensed">initializeLicensed</keyword>
+ <keyword ref="qaxbase.html#initializeRemote">initializeRemote</keyword>
+ <keyword ref="qaxbase.html#isNull">isNull</keyword>
+ <keyword ref="qaxbase.html#propertyBag">propertyBag</keyword>
+ <keyword ref="qaxbase.html#propertyChanged">propertyChanged</keyword>
+ <keyword ref="qaxbase.html#propertyWritable">propertyWritable</keyword>
+ <keyword ref="qaxbase.html#queryInterface">queryInterface</keyword>
+ <keyword ref="qaxbase.html#querySubObject">querySubObject</keyword>
+ <keyword ref="qaxbase.html#setControl">setControl</keyword>
+ <keyword ref="qaxbase.html#setPropertyBag">setPropertyBag</keyword>
+ <keyword ref="qaxbase.html#setPropertyWritable">setPropertyWritable</keyword>
+ <keyword ref="qaxbase.html#signal">signal</keyword>
+ <keyword ref="qaxbase.html#~QAxBase">~QAxBase</keyword>
+ <section ref="qaxbase-members.html" title="List of All Member Functions"/>
+ <section ref="qaxbase-h.html" title="Header File"/>
+</section>
+<section ref="qaxbindable.html" title="QAxBindable Class Reference">
+ <keyword ref="qaxbindable.html">QAxBindable</keyword>
+ <keyword ref="qaxbindable.html#clientSite">clientSite</keyword>
+ <keyword ref="qaxbindable.html#createAggregate">createAggregate</keyword>
+ <keyword ref="qaxbindable.html#propertyChanged">propertyChanged</keyword>
+ <keyword ref="qaxbindable.html#reportError">reportError</keyword>
+ <keyword ref="qaxbindable.html#requestPropertyChange">requestPropertyChange</keyword>
+ <keyword ref="qaxbindable.html#~QAxBindable">~QAxBindable</keyword>
+ <section ref="qaxbindable-members.html" title="List of All Member Functions"/>
+ <section ref="qaxbindable-h.html" title="Header File"/>
+</section>
+<section ref="qaxfactory.html" title="QAxFactory Class Reference">
+ <keyword ref="qaxfactory.html">QAxFactory</keyword>
+ <keyword ref="qaxfactory.html#ServerType">ServerType</keyword>
+ <keyword ref="qaxfactory.html#appID">appID</keyword>
+ <keyword ref="qaxfactory.html#classID">classID</keyword>
+ <keyword ref="qaxfactory.html#create">create</keyword>
+ <keyword ref="qaxfactory.html#createObject">createObject</keyword>
+ <keyword ref="qaxfactory.html#createObjectWrapper">createObjectWrapper</keyword>
+ <keyword ref="qaxfactory.html#eventsID">eventsID</keyword>
+ <keyword ref="qaxfactory.html#exposeToSuperClass">exposeToSuperClass</keyword>
+ <keyword ref="qaxfactory.html#featureList">featureList</keyword>
+ <keyword ref="qaxfactory.html#hasStockEvents">hasStockEvents</keyword>
+ <keyword ref="qaxfactory.html#interfaceID">interfaceID</keyword>
+ <keyword ref="qaxfactory.html#isServer">isServer</keyword>
+ <keyword ref="qaxfactory.html#isService">isService</keyword>
+ <keyword ref="qaxfactory.html#metaObject">metaObject</keyword>
+ <keyword ref="qaxfactory.html#registerClass">registerClass</keyword>
+ <keyword ref="qaxfactory.html#serverDirPath">serverDirPath</keyword>
+ <keyword ref="qaxfactory.html#serverFilePath">serverFilePath</keyword>
+ <keyword ref="qaxfactory.html#startServer">startServer</keyword>
+ <keyword ref="qaxfactory.html#stayTopLevel">stayTopLevel</keyword>
+ <keyword ref="qaxfactory.html#stopServer">stopServer</keyword>
+ <keyword ref="qaxfactory.html#typeLibID">typeLibID</keyword>
+ <keyword ref="qaxfactory.html#unregisterClass">unregisterClass</keyword>
+ <keyword ref="qaxfactory.html#validateLicenseKey">validateLicenseKey</keyword>
+ <keyword ref="qaxfactory.html#~QAxFactory">~QAxFactory</keyword>
+ <section ref="qaxfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qaxfactory-h.html" title="Header File"/>
+</section>
+<section ref="qaxobject.html" title="QAxObject Class Reference">
+ <keyword ref="qaxobject.html">QAxObject</keyword>
+ <keyword ref="qaxobject.html#~QAxObject">~QAxObject</keyword>
+ <section ref="qaxobject-members.html" title="List of All Member Functions"/>
+ <section ref="qaxobject-h.html" title="Header File"/>
+</section>
+<section ref="qaxscript.html" title="QAxScript Class Reference">
+ <keyword ref="qaxscript.html">QAxScript</keyword>
+ <keyword ref="qaxscript.html#FunctionFlags">FunctionFlags</keyword>
+ <keyword ref="qaxscript.html#call">call</keyword>
+ <keyword ref="qaxscript.html#entered">entered</keyword>
+ <keyword ref="qaxscript.html#error">error</keyword>
+ <keyword ref="qaxscript.html#finished">finished</keyword>
+ <keyword ref="qaxscript.html#functions">functions</keyword>
+ <keyword ref="qaxscript.html#load">load</keyword>
+ <keyword ref="qaxscript.html#scriptCode">scriptCode</keyword>
+ <keyword ref="qaxscript.html#scriptEngine">scriptEngine</keyword>
+ <keyword ref="qaxscript.html#scriptName">scriptName</keyword>
+ <keyword ref="qaxscript.html#stateChanged">stateChanged</keyword>
+ <keyword ref="qaxscript.html#~QAxScript">~QAxScript</keyword>
+ <section ref="qaxscript-members.html" title="List of All Member Functions"/>
+ <section ref="qaxscript-h.html" title="Header File"/>
+</section>
+<section ref="qaxscriptengine.html" title="QAxScriptEngine Class Reference">
+ <keyword ref="qaxscriptengine.html">QAxScriptEngine</keyword>
+ <keyword ref="qaxscriptengine.html#State">State</keyword>
+ <keyword ref="qaxscriptengine.html#addItem">addItem</keyword>
+ <keyword ref="qaxscriptengine.html#hasIntrospection">hasIntrospection</keyword>
+ <keyword ref="qaxscriptengine.html#isValid">isValid</keyword>
+ <keyword ref="qaxscriptengine.html#queryInterface">queryInterface</keyword>
+ <keyword ref="qaxscriptengine.html#scriptLanguage">scriptLanguage</keyword>
+ <keyword ref="qaxscriptengine.html#setState">setState</keyword>
+ <keyword ref="qaxscriptengine.html#state">state</keyword>
+ <keyword ref="qaxscriptengine.html#~QAxScriptEngine">~QAxScriptEngine</keyword>
+ <section ref="qaxscriptengine-members.html" title="List of All Member Functions"/>
+ <section ref="qaxscript-h.html" title="Header File"/>
+</section>
+<section ref="qaxscriptmanager.html" title="QAxScriptManager Class Reference">
+ <keyword ref="qaxscriptmanager.html">QAxScriptManager</keyword>
+ <keyword ref="qaxscriptmanager.html#addObject">addObject</keyword>
+ <keyword ref="qaxscriptmanager.html#call">call</keyword>
+ <keyword ref="qaxscriptmanager.html#error">error</keyword>
+ <keyword ref="qaxscriptmanager.html#functions">functions</keyword>
+ <keyword ref="qaxscriptmanager.html#load">load</keyword>
+ <keyword ref="qaxscriptmanager.html#registerEngine">registerEngine</keyword>
+ <keyword ref="qaxscriptmanager.html#script">script</keyword>
+ <keyword ref="qaxscriptmanager.html#scriptFileFilter">scriptFileFilter</keyword>
+ <keyword ref="qaxscriptmanager.html#scriptNames">scriptNames</keyword>
+ <keyword ref="qaxscriptmanager.html#~QAxScriptManager">~QAxScriptManager</keyword>
+ <section ref="qaxscriptmanager-members.html" title="List of All Member Functions"/>
+ <section ref="qaxscript-h.html" title="Header File"/>
+</section>
+<section ref="qaxwidget.html" title="QAxWidget Class Reference">
+ <keyword ref="qaxwidget.html">QAxWidget</keyword>
+ <keyword ref="qaxwidget.html#createHostWindow">createHostWindow</keyword>
+ <keyword ref="qaxwidget.html#translateKeyEvent">translateKeyEvent</keyword>
+ <keyword ref="qaxwidget.html#~QAxWidget">~QAxWidget</keyword>
+ <section ref="qaxwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qaxwidget-h.html" title="Header File"/>
+</section>
+<section ref="qbig5codec.html" title="QBig5Codec Class Reference">
+ <keyword ref="qbig5codec.html">QBig5Codec</keyword>
+ <section ref="qbig5codec-members.html" title="List of All Member Functions"/>
+ <section ref="qbig5codec-h.html" title="Header File"/>
+</section>
+<section ref="qbig5hkscscodec.html" title="QBig5hkscsCodec Class Reference">
+ <keyword ref="qbig5hkscscodec.html">QBig5hkscsCodec</keyword>
+ <section ref="qbig5hkscscodec-members.html" title="List of All Member Functions"/>
+ <section ref="qbig5codec-h.html" title="Header File"/>
+</section>
+<section ref="qbitarray.html" title="QBitArray Class Reference">
+ <keyword ref="qbitarray.html">QBitArray</keyword>
+ <keyword ref="qbitarray.html#at">at</keyword>
+ <keyword ref="qbitarray.html#clearBit">clearBit</keyword>
+ <keyword ref="qbitarray.html#copy">copy</keyword>
+ <keyword ref="qbitarray.html#detach">detach</keyword>
+ <keyword ref="qbitarray.html#fill">fill</keyword>
+ <keyword ref="qbitarray.html#operator-and-eq">operator&amp;=</keyword>
+ <keyword ref="qbitarray.html#operator-eq">operator=</keyword>
+ <keyword ref="qbitarray.html#operator[]">operator[]</keyword>
+ <keyword ref="qbitarray.html#operator^-eq">operator^=</keyword>
+ <keyword ref="qbitarray.html#operator|-eq">operator|=</keyword>
+ <keyword ref="qbitarray.html#operator~">operator~</keyword>
+ <keyword ref="qbitarray.html#pad0">pad0</keyword>
+ <keyword ref="qbitarray.html#resize">resize</keyword>
+ <keyword ref="qbitarray.html#setBit">setBit</keyword>
+ <keyword ref="qbitarray.html#size">size</keyword>
+ <keyword ref="qbitarray.html#testBit">testBit</keyword>
+ <keyword ref="qbitarray.html#toggleBit">toggleBit</keyword>
+ <keyword ref="qbitarray.html#operator-and">operator&amp;</keyword>
+ <keyword ref="qbitarray.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qbitarray.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qbitarray.html#operator^">operator^</keyword>
+ <keyword ref="qbitarray.html#operator|">operator|</keyword>
+ <section ref="qbitarray-members.html" title="List of All Member Functions"/>
+ <section ref="qbitarray-h.html" title="Header File"/>
+</section>
+<section ref="qbitmap.html" title="QBitmap Class Reference">
+ <keyword ref="qbitmap.html">QBitmap</keyword>
+ <keyword ref="qbitmap.html#operator-eq">operator=</keyword>
+ <keyword ref="qbitmap.html#xForm">xForm</keyword>
+ <section ref="qbitmap-members.html" title="List of All Member Functions"/>
+ <section ref="qbitmap-h.html" title="Header File"/>
+</section>
+<section ref="qbitval.html" title="QBitVal Class Reference">
+ <keyword ref="qbitval.html">QBitVal</keyword>
+ <keyword ref="qbitval.html#operator-int">operator int</keyword>
+ <keyword ref="qbitval.html#operator-eq">operator=</keyword>
+ <section ref="qbitval-members.html" title="List of All Member Functions"/>
+ <section ref="qbitarray-h.html" title="Header File"/>
+</section>
+<section ref="qboxlayout.html" title="QBoxLayout Class Reference">
+ <keyword ref="qboxlayout.html">QBoxLayout</keyword>
+ <keyword ref="qboxlayout.html#Direction">Direction</keyword>
+ <keyword ref="qboxlayout.html#addItem">addItem</keyword>
+ <keyword ref="qboxlayout.html#addLayout">addLayout</keyword>
+ <keyword ref="qboxlayout.html#addSpacing">addSpacing</keyword>
+ <keyword ref="qboxlayout.html#addStretch">addStretch</keyword>
+ <keyword ref="qboxlayout.html#addStrut">addStrut</keyword>
+ <keyword ref="qboxlayout.html#addWidget">addWidget</keyword>
+ <keyword ref="qboxlayout.html#direction">direction</keyword>
+ <keyword ref="qboxlayout.html#expanding">expanding</keyword>
+ <keyword ref="qboxlayout.html#findWidget">findWidget</keyword>
+ <keyword ref="qboxlayout.html#hasHeightForWidth">hasHeightForWidth</keyword>
+ <keyword ref="qboxlayout.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qboxlayout.html#insertItem">insertItem</keyword>
+ <keyword ref="qboxlayout.html#insertLayout">insertLayout</keyword>
+ <keyword ref="qboxlayout.html#insertSpacing">insertSpacing</keyword>
+ <keyword ref="qboxlayout.html#insertStretch">insertStretch</keyword>
+ <keyword ref="qboxlayout.html#insertWidget">insertWidget</keyword>
+ <keyword ref="qboxlayout.html#invalidate">invalidate</keyword>
+ <keyword ref="qboxlayout.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qboxlayout.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qboxlayout.html#setDirection">setDirection</keyword>
+ <keyword ref="qboxlayout.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qboxlayout.html#setStretchFactor">setStretchFactor</keyword>
+ <keyword ref="qboxlayout.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qboxlayout.html#~QBoxLayout">~QBoxLayout</keyword>
+ <section ref="qboxlayout-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qbrush.html" title="QBrush Class Reference">
+ <keyword ref="qbrush.html">QBrush</keyword>
+ <keyword ref="qbrush.html#color">color</keyword>
+ <keyword ref="qbrush.html#copy">copy</keyword>
+ <keyword ref="qbrush.html#detach">detach</keyword>
+ <keyword ref="qbrush.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qbrush.html#operator-eq">operator=</keyword>
+ <keyword ref="qbrush.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qbrush.html#pixmap">pixmap</keyword>
+ <keyword ref="qbrush.html#setColor">setColor</keyword>
+ <keyword ref="qbrush.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qbrush.html#setStyle">setStyle</keyword>
+ <keyword ref="qbrush.html#style">style</keyword>
+ <keyword ref="qbrush.html#~QBrush">~QBrush</keyword>
+ <keyword ref="qbrush.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qbrush.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qbrush-members.html" title="List of All Member Functions"/>
+ <section ref="qbrush-h.html" title="Header File"/>
+</section>
+<section ref="qbuffer.html" title="QBuffer Class Reference">
+ <keyword ref="qbuffer.html">QBuffer</keyword>
+ <keyword ref="qbuffer.html#buffer">buffer</keyword>
+ <keyword ref="qbuffer.html#setBuffer">setBuffer</keyword>
+ <keyword ref="qbuffer.html#writeBlock">writeBlock</keyword>
+ <keyword ref="qbuffer.html#~QBuffer">~QBuffer</keyword>
+ <section ref="qbuffer-members.html" title="List of All Member Functions"/>
+ <section ref="qbuffer-h.html" title="Header File"/>
+</section>
+<section ref="qbutton.html" title="QButton Class Reference">
+ <keyword ref="qbutton.html">QButton</keyword>
+ <keyword ref="qbutton.html#ToggleState">ToggleState</keyword>
+ <keyword ref="qbutton.html#ToggleType">ToggleType</keyword>
+ <keyword ref="qbutton.html#accel">accel</keyword>
+ <keyword ref="qbutton.html#accel-prop">accel</keyword>
+ <keyword ref="qbutton.html#animateClick">animateClick</keyword>
+ <keyword ref="qbutton.html#animateTimeout">animateTimeout</keyword>
+ <keyword ref="qbutton.html#autoRepeat">autoRepeat</keyword>
+ <keyword ref="qbutton.html#autoRepeat-prop">autoRepeat</keyword>
+ <keyword ref="qbutton.html#autoRepeatTimeout">autoRepeatTimeout</keyword>
+ <keyword ref="qbutton.html#clicked">clicked</keyword>
+ <keyword ref="qbutton.html#down-prop">down</keyword>
+ <keyword ref="qbutton.html#drawButton">drawButton</keyword>
+ <keyword ref="qbutton.html#drawButtonLabel">drawButtonLabel</keyword>
+ <keyword ref="qbutton.html#exclusiveToggle-prop">exclusiveToggle</keyword>
+ <keyword ref="qbutton.html#group">group</keyword>
+ <keyword ref="qbutton.html#hitButton">hitButton</keyword>
+ <keyword ref="qbutton.html#isDown">isDown</keyword>
+ <keyword ref="qbutton.html#isExclusiveToggle">isExclusiveToggle</keyword>
+ <keyword ref="qbutton.html#isOn">isOn</keyword>
+ <keyword ref="qbutton.html#isToggleButton">isToggleButton</keyword>
+ <keyword ref="qbutton.html#on-prop">on</keyword>
+ <keyword ref="qbutton.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qbutton.html#pixmap">pixmap</keyword>
+ <keyword ref="qbutton.html#pixmap-prop">pixmap</keyword>
+ <keyword ref="qbutton.html#pressed">pressed</keyword>
+ <keyword ref="qbutton.html#released">released</keyword>
+ <keyword ref="qbutton.html#setAccel">setAccel</keyword>
+ <keyword ref="qbutton.html#setAutoRepeat">setAutoRepeat</keyword>
+ <keyword ref="qbutton.html#setDown">setDown</keyword>
+ <keyword ref="qbutton.html#setOn">setOn</keyword>
+ <keyword ref="qbutton.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qbutton.html#setState">setState</keyword>
+ <keyword ref="qbutton.html#setText">setText</keyword>
+ <keyword ref="qbutton.html#setToggleButton">setToggleButton</keyword>
+ <keyword ref="qbutton.html#setToggleType">setToggleType</keyword>
+ <keyword ref="qbutton.html#state">state</keyword>
+ <keyword ref="qbutton.html#stateChanged">stateChanged</keyword>
+ <keyword ref="qbutton.html#text">text</keyword>
+ <keyword ref="qbutton.html#text-prop">text</keyword>
+ <keyword ref="qbutton.html#toggle">toggle</keyword>
+ <keyword ref="qbutton.html#toggleButton-prop">toggleButton</keyword>
+ <keyword ref="qbutton.html#toggleState-prop">toggleState</keyword>
+ <keyword ref="qbutton.html#toggleType">toggleType</keyword>
+ <keyword ref="qbutton.html#toggleType-prop">toggleType</keyword>
+ <keyword ref="qbutton.html#toggled">toggled</keyword>
+ <keyword ref="qbutton.html#~QButton">~QButton</keyword>
+ <section ref="qbutton-members.html" title="List of All Member Functions"/>
+ <section ref="qbutton-h.html" title="Header File"/>
+</section>
+<section ref="qbuttongroup.html" title="QButtonGroup Class Reference">
+ <keyword ref="qbuttongroup.html">QButtonGroup</keyword>
+ <keyword ref="qbuttongroup.html#clicked">clicked</keyword>
+ <keyword ref="qbuttongroup.html#count">count</keyword>
+ <keyword ref="qbuttongroup.html#exclusive-prop">exclusive</keyword>
+ <keyword ref="qbuttongroup.html#find">find</keyword>
+ <keyword ref="qbuttongroup.html#id">id</keyword>
+ <keyword ref="qbuttongroup.html#init">init</keyword>
+ <keyword ref="qbuttongroup.html#insert">insert</keyword>
+ <keyword ref="qbuttongroup.html#isExclusive">isExclusive</keyword>
+ <keyword ref="qbuttongroup.html#isRadioButtonExclusive">isRadioButtonExclusive</keyword>
+ <keyword ref="qbuttongroup.html#moveFocus">moveFocus</keyword>
+ <keyword ref="qbuttongroup.html#pressed">pressed</keyword>
+ <keyword ref="qbuttongroup.html#radioButtonExclusive-prop">radioButtonExclusive</keyword>
+ <keyword ref="qbuttongroup.html#released">released</keyword>
+ <keyword ref="qbuttongroup.html#remove">remove</keyword>
+ <keyword ref="qbuttongroup.html#selected">selected</keyword>
+ <keyword ref="qbuttongroup.html#selectedId">selectedId</keyword>
+ <keyword ref="qbuttongroup.html#selectedId-prop">selectedId</keyword>
+ <keyword ref="qbuttongroup.html#setButton">setButton</keyword>
+ <keyword ref="qbuttongroup.html#setExclusive">setExclusive</keyword>
+ <keyword ref="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</keyword>
+ <section ref="qbuttongroup-members.html" title="List of All Member Functions"/>
+ <section ref="qbuttongroup-h.html" title="Header File"/>
+</section>
+<section ref="qbytearray.html" title="QByteArray Class Reference">
+ <keyword ref="qbytearray.html">QByteArray</keyword>
+ <keyword ref="qbytearray.html#qCompress">qCompress</keyword>
+ <keyword ref="qbytearray.html#qUncompress">qUncompress</keyword>
+ <section ref="qbytearray-members.html" title="List of All Member Functions"/>
+ <section ref="qcstring-h.html" title="Header File"/>
+</section>
+<section ref="qcache.html" title="QCache Class Reference">
+ <keyword ref="qcache.html">QCache</keyword>
+ <keyword ref="qcache.html#clear">clear</keyword>
+ <keyword ref="qcache.html#count">count</keyword>
+ <keyword ref="qcache.html#find">find</keyword>
+ <keyword ref="qcache.html#insert">insert</keyword>
+ <keyword ref="qcache.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qcache.html#maxCost">maxCost</keyword>
+ <keyword ref="qcache.html#operator[]">operator[]</keyword>
+ <keyword ref="qcache.html#remove">remove</keyword>
+ <keyword ref="qcache.html#setMaxCost">setMaxCost</keyword>
+ <keyword ref="qcache.html#size">size</keyword>
+ <keyword ref="qcache.html#statistics">statistics</keyword>
+ <keyword ref="qcache.html#take">take</keyword>
+ <keyword ref="qcache.html#totalCost">totalCost</keyword>
+ <keyword ref="qcache.html#~QCache">~QCache</keyword>
+ <section ref="qcache-members.html" title="List of All Member Functions"/>
+ <section ref="qcache-h.html" title="Header File"/>
+</section>
+<section ref="qcacheiterator.html" title="QCacheIterator Class Reference">
+ <keyword ref="qcacheiterator.html">QCacheIterator</keyword>
+ <keyword ref="qcacheiterator.html#atFirst">atFirst</keyword>
+ <keyword ref="qcacheiterator.html#atLast">atLast</keyword>
+ <keyword ref="qcacheiterator.html#count">count</keyword>
+ <keyword ref="qcacheiterator.html#current">current</keyword>
+ <keyword ref="qcacheiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qcacheiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qcacheiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qcacheiterator.html#operator()">operator()</keyword>
+ <keyword ref="qcacheiterator.html#operator++">operator++</keyword>
+ <keyword ref="qcacheiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qcacheiterator.html#operator--">operator--</keyword>
+ <keyword ref="qcacheiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qcacheiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qcacheiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qcacheiterator.html#toLast">toLast</keyword>
+ <section ref="qcacheiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qcache-h.html" title="Header File"/>
+</section>
+<section ref="qcanvas.html" title="QCanvas Class Reference">
+ <keyword ref="qcanvas.html">QCanvas</keyword>
+ <keyword ref="qcanvas.html#advance">advance</keyword>
+ <keyword ref="qcanvas.html#allItems">allItems</keyword>
+ <keyword ref="qcanvas.html#backgroundColor">backgroundColor</keyword>
+ <keyword ref="qcanvas.html#backgroundPixmap">backgroundPixmap</keyword>
+ <keyword ref="qcanvas.html#chunkSize">chunkSize</keyword>
+ <keyword ref="qcanvas.html#collisions">collisions</keyword>
+ <keyword ref="qcanvas.html#drawArea">drawArea</keyword>
+ <keyword ref="qcanvas.html#drawBackground">drawBackground</keyword>
+ <keyword ref="qcanvas.html#drawForeground">drawForeground</keyword>
+ <keyword ref="qcanvas.html#height">height</keyword>
+ <keyword ref="qcanvas.html#onCanvas">onCanvas</keyword>
+ <keyword ref="qcanvas.html#rect">rect</keyword>
+ <keyword ref="qcanvas.html#resize">resize</keyword>
+ <keyword ref="qcanvas.html#resized">resized</keyword>
+ <keyword ref="qcanvas.html#retune">retune</keyword>
+ <keyword ref="qcanvas.html#setAdvancePeriod">setAdvancePeriod</keyword>
+ <keyword ref="qcanvas.html#setAllChanged">setAllChanged</keyword>
+ <keyword ref="qcanvas.html#setBackgroundColor">setBackgroundColor</keyword>
+ <keyword ref="qcanvas.html#setBackgroundPixmap">setBackgroundPixmap</keyword>
+ <keyword ref="qcanvas.html#setChanged">setChanged</keyword>
+ <keyword ref="qcanvas.html#setDoubleBuffering">setDoubleBuffering</keyword>
+ <keyword ref="qcanvas.html#setTile">setTile</keyword>
+ <keyword ref="qcanvas.html#setTiles">setTiles</keyword>
+ <keyword ref="qcanvas.html#setUnchanged">setUnchanged</keyword>
+ <keyword ref="qcanvas.html#setUpdatePeriod">setUpdatePeriod</keyword>
+ <keyword ref="qcanvas.html#size">size</keyword>
+ <keyword ref="qcanvas.html#tile">tile</keyword>
+ <keyword ref="qcanvas.html#tileHeight">tileHeight</keyword>
+ <keyword ref="qcanvas.html#tileWidth">tileWidth</keyword>
+ <keyword ref="qcanvas.html#tilesHorizontally">tilesHorizontally</keyword>
+ <keyword ref="qcanvas.html#tilesVertically">tilesVertically</keyword>
+ <keyword ref="qcanvas.html#update">update</keyword>
+ <keyword ref="qcanvas.html#validChunk">validChunk</keyword>
+ <keyword ref="qcanvas.html#width">width</keyword>
+ <keyword ref="qcanvas.html#~QCanvas">~QCanvas</keyword>
+ <section ref="qcanvas-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasellipse.html" title="QCanvasEllipse Class Reference">
+ <keyword ref="qcanvasellipse.html">QCanvasEllipse</keyword>
+ <keyword ref="qcanvasellipse.html#angleLength">angleLength</keyword>
+ <keyword ref="qcanvasellipse.html#angleStart">angleStart</keyword>
+ <keyword ref="qcanvasellipse.html#drawShape">drawShape</keyword>
+ <keyword ref="qcanvasellipse.html#height">height</keyword>
+ <keyword ref="qcanvasellipse.html#rtti">rtti</keyword>
+ <keyword ref="qcanvasellipse.html#setAngles">setAngles</keyword>
+ <keyword ref="qcanvasellipse.html#setSize">setSize</keyword>
+ <keyword ref="qcanvasellipse.html#width">width</keyword>
+ <keyword ref="qcanvasellipse.html#~QCanvasEllipse">~QCanvasEllipse</keyword>
+ <section ref="qcanvasellipse-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasitem.html" title="QCanvasItem Class Reference">
+ <keyword ref="qcanvasitem.html">QCanvasItem</keyword>
+ <keyword ref="qcanvasitem.html#RttiValues">RttiValues</keyword>
+ <keyword ref="qcanvasitem.html#advance">advance</keyword>
+ <keyword ref="qcanvasitem.html#animated">animated</keyword>
+ <keyword ref="qcanvasitem.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qcanvasitem.html#boundingRectAdvanced">boundingRectAdvanced</keyword>
+ <keyword ref="qcanvasitem.html#canvas">canvas</keyword>
+ <keyword ref="qcanvasitem.html#collidesWith">collidesWith</keyword>
+ <keyword ref="qcanvasitem.html#collisions">collisions</keyword>
+ <keyword ref="qcanvasitem.html#draw">draw</keyword>
+ <keyword ref="qcanvasitem.html#hide">hide</keyword>
+ <keyword ref="qcanvasitem.html#isActive">isActive</keyword>
+ <keyword ref="qcanvasitem.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qcanvasitem.html#isSelected">isSelected</keyword>
+ <keyword ref="qcanvasitem.html#isVisible">isVisible</keyword>
+ <keyword ref="qcanvasitem.html#move">move</keyword>
+ <keyword ref="qcanvasitem.html#moveBy">moveBy</keyword>
+ <keyword ref="qcanvasitem.html#rtti">rtti</keyword>
+ <keyword ref="qcanvasitem.html#setActive">setActive</keyword>
+ <keyword ref="qcanvasitem.html#setAnimated">setAnimated</keyword>
+ <keyword ref="qcanvasitem.html#setCanvas">setCanvas</keyword>
+ <keyword ref="qcanvasitem.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qcanvasitem.html#setSelected">setSelected</keyword>
+ <keyword ref="qcanvasitem.html#setVelocity">setVelocity</keyword>
+ <keyword ref="qcanvasitem.html#setVisible">setVisible</keyword>
+ <keyword ref="qcanvasitem.html#setX">setX</keyword>
+ <keyword ref="qcanvasitem.html#setXVelocity">setXVelocity</keyword>
+ <keyword ref="qcanvasitem.html#setY">setY</keyword>
+ <keyword ref="qcanvasitem.html#setYVelocity">setYVelocity</keyword>
+ <keyword ref="qcanvasitem.html#setZ">setZ</keyword>
+ <keyword ref="qcanvasitem.html#show">show</keyword>
+ <keyword ref="qcanvasitem.html#update">update</keyword>
+ <keyword ref="qcanvasitem.html#x">x</keyword>
+ <keyword ref="qcanvasitem.html#xVelocity">xVelocity</keyword>
+ <keyword ref="qcanvasitem.html#y">y</keyword>
+ <keyword ref="qcanvasitem.html#yVelocity">yVelocity</keyword>
+ <keyword ref="qcanvasitem.html#z">z</keyword>
+ <keyword ref="qcanvasitem.html#~QCanvasItem">~QCanvasItem</keyword>
+ <section ref="qcanvasitem-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasitemlist.html" title="QCanvasItemList Class Reference">
+ <keyword ref="qcanvasitemlist.html">QCanvasItemList</keyword>
+ <keyword ref="qcanvasitemlist.html#operator+">operator+</keyword>
+ <section ref="qcanvasitemlist-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasline.html" title="QCanvasLine Class Reference">
+ <keyword ref="qcanvasline.html">QCanvasLine</keyword>
+ <keyword ref="qcanvasline.html#endPoint">endPoint</keyword>
+ <keyword ref="qcanvasline.html#rtti">rtti</keyword>
+ <keyword ref="qcanvasline.html#setPoints">setPoints</keyword>
+ <keyword ref="qcanvasline.html#startPoint">startPoint</keyword>
+ <keyword ref="qcanvasline.html#~QCanvasLine">~QCanvasLine</keyword>
+ <section ref="qcanvasline-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvaspixmap.html" title="QCanvasPixmap Class Reference">
+ <keyword ref="qcanvaspixmap.html">QCanvasPixmap</keyword>
+ <keyword ref="qcanvaspixmap.html#offsetX">offsetX</keyword>
+ <keyword ref="qcanvaspixmap.html#offsetY">offsetY</keyword>
+ <keyword ref="qcanvaspixmap.html#setOffset">setOffset</keyword>
+ <keyword ref="qcanvaspixmap.html#~QCanvasPixmap">~QCanvasPixmap</keyword>
+ <section ref="qcanvaspixmap-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvaspixmaparray.html" title="QCanvasPixmapArray Class Reference">
+ <keyword ref="qcanvaspixmaparray.html">QCanvasPixmapArray</keyword>
+ <keyword ref="qcanvaspixmaparray.html#count">count</keyword>
+ <keyword ref="qcanvaspixmaparray.html#image">image</keyword>
+ <keyword ref="qcanvaspixmaparray.html#isValid">isValid</keyword>
+ <keyword ref="qcanvaspixmaparray.html#readCollisionMasks">readCollisionMasks</keyword>
+ <keyword ref="qcanvaspixmaparray.html#readPixmaps">readPixmaps</keyword>
+ <keyword ref="qcanvaspixmaparray.html#setImage">setImage</keyword>
+ <keyword ref="qcanvaspixmaparray.html#~QCanvasPixmapArray">~QCanvasPixmapArray</keyword>
+ <section ref="qcanvaspixmaparray-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvaspolygon.html" title="QCanvasPolygon Class Reference">
+ <keyword ref="qcanvaspolygon.html">QCanvasPolygon</keyword>
+ <keyword ref="qcanvaspolygon.html#areaPoints">areaPoints</keyword>
+ <keyword ref="qcanvaspolygon.html#drawShape">drawShape</keyword>
+ <keyword ref="qcanvaspolygon.html#points">points</keyword>
+ <keyword ref="qcanvaspolygon.html#rtti">rtti</keyword>
+ <keyword ref="qcanvaspolygon.html#setPoints">setPoints</keyword>
+ <keyword ref="qcanvaspolygon.html#~QCanvasPolygon">~QCanvasPolygon</keyword>
+ <section ref="qcanvaspolygon-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvaspolygonalitem.html" title="QCanvasPolygonalItem Class Reference">
+ <keyword ref="qcanvaspolygonalitem.html">QCanvasPolygonalItem</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#areaPoints">areaPoints</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#areaPointsAdvanced">areaPointsAdvanced</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#brush">brush</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#draw">draw</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#drawShape">drawShape</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#invalidate">invalidate</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#isValid">isValid</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#pen">pen</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#rtti">rtti</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#setBrush">setBrush</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#setPen">setPen</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#setWinding">setWinding</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#winding">winding</keyword>
+ <keyword ref="qcanvaspolygonalitem.html#~QCanvasPolygonalItem">~QCanvasPolygonalItem</keyword>
+ <section ref="qcanvaspolygonalitem-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasrectangle.html" title="QCanvasRectangle Class Reference">
+ <keyword ref="qcanvasrectangle.html">QCanvasRectangle</keyword>
+ <keyword ref="qcanvasrectangle.html#chunks">chunks</keyword>
+ <keyword ref="qcanvasrectangle.html#drawShape">drawShape</keyword>
+ <keyword ref="qcanvasrectangle.html#height">height</keyword>
+ <keyword ref="qcanvasrectangle.html#rect">rect</keyword>
+ <keyword ref="qcanvasrectangle.html#rtti">rtti</keyword>
+ <keyword ref="qcanvasrectangle.html#setSize">setSize</keyword>
+ <keyword ref="qcanvasrectangle.html#size">size</keyword>
+ <keyword ref="qcanvasrectangle.html#width">width</keyword>
+ <keyword ref="qcanvasrectangle.html#~QCanvasRectangle">~QCanvasRectangle</keyword>
+ <section ref="qcanvasrectangle-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasspline.html" title="QCanvasSpline Class Reference">
+ <keyword ref="qcanvasspline.html">QCanvasSpline</keyword>
+ <keyword ref="qcanvasspline.html#closed">closed</keyword>
+ <keyword ref="qcanvasspline.html#controlPoints">controlPoints</keyword>
+ <keyword ref="qcanvasspline.html#rtti">rtti</keyword>
+ <keyword ref="qcanvasspline.html#setControlPoints">setControlPoints</keyword>
+ <keyword ref="qcanvasspline.html#~QCanvasSpline">~QCanvasSpline</keyword>
+ <section ref="qcanvasspline-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvassprite.html" title="QCanvasSprite Class Reference">
+ <keyword ref="qcanvassprite.html">QCanvasSprite</keyword>
+ <keyword ref="qcanvassprite.html#FrameAnimationType">FrameAnimationType</keyword>
+ <keyword ref="qcanvassprite.html#advance">advance</keyword>
+ <keyword ref="qcanvassprite.html#bottomEdge">bottomEdge</keyword>
+ <keyword ref="qcanvassprite.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qcanvassprite.html#collidesWith">collidesWith</keyword>
+ <keyword ref="qcanvassprite.html#draw">draw</keyword>
+ <keyword ref="qcanvassprite.html#frame">frame</keyword>
+ <keyword ref="qcanvassprite.html#frameCount">frameCount</keyword>
+ <keyword ref="qcanvassprite.html#height">height</keyword>
+ <keyword ref="qcanvassprite.html#image">image</keyword>
+ <keyword ref="qcanvassprite.html#imageAdvanced">imageAdvanced</keyword>
+ <keyword ref="qcanvassprite.html#leftEdge">leftEdge</keyword>
+ <keyword ref="qcanvassprite.html#move">move</keyword>
+ <keyword ref="qcanvassprite.html#rightEdge">rightEdge</keyword>
+ <keyword ref="qcanvassprite.html#rtti">rtti</keyword>
+ <keyword ref="qcanvassprite.html#setFrame">setFrame</keyword>
+ <keyword ref="qcanvassprite.html#setFrameAnimation">setFrameAnimation</keyword>
+ <keyword ref="qcanvassprite.html#setSequence">setSequence</keyword>
+ <keyword ref="qcanvassprite.html#topEdge">topEdge</keyword>
+ <keyword ref="qcanvassprite.html#width">width</keyword>
+ <keyword ref="qcanvassprite.html#~QCanvasSprite">~QCanvasSprite</keyword>
+ <section ref="qcanvassprite-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvastext.html" title="QCanvasText Class Reference">
+ <keyword ref="qcanvastext.html">QCanvasText</keyword>
+ <keyword ref="qcanvastext.html#addToChunks">addToChunks</keyword>
+ <keyword ref="qcanvastext.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qcanvastext.html#color">color</keyword>
+ <keyword ref="qcanvastext.html#draw">draw</keyword>
+ <keyword ref="qcanvastext.html#font">font</keyword>
+ <keyword ref="qcanvastext.html#removeFromChunks">removeFromChunks</keyword>
+ <keyword ref="qcanvastext.html#rtti">rtti</keyword>
+ <keyword ref="qcanvastext.html#setColor">setColor</keyword>
+ <keyword ref="qcanvastext.html#setFont">setFont</keyword>
+ <keyword ref="qcanvastext.html#setText">setText</keyword>
+ <keyword ref="qcanvastext.html#setTextFlags">setTextFlags</keyword>
+ <keyword ref="qcanvastext.html#text">text</keyword>
+ <keyword ref="qcanvastext.html#textFlags">textFlags</keyword>
+ <keyword ref="qcanvastext.html#~QCanvasText">~QCanvasText</keyword>
+ <section ref="qcanvastext-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcanvasview.html" title="QCanvasView Class Reference">
+ <keyword ref="qcanvasview.html">QCanvasView</keyword>
+ <keyword ref="qcanvasview.html#canvas">canvas</keyword>
+ <keyword ref="qcanvasview.html#drawContents">drawContents</keyword>
+ <keyword ref="qcanvasview.html#inverseWorldMatrix">inverseWorldMatrix</keyword>
+ <keyword ref="qcanvasview.html#setCanvas">setCanvas</keyword>
+ <keyword ref="qcanvasview.html#setWorldMatrix">setWorldMatrix</keyword>
+ <keyword ref="qcanvasview.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qcanvasview.html#worldMatrix">worldMatrix</keyword>
+ <keyword ref="qcanvasview.html#~QCanvasView">~QCanvasView</keyword>
+ <section ref="qcanvasview-members.html" title="List of All Member Functions"/>
+ <section ref="qcanvas-h.html" title="Header File"/>
+</section>
+<section ref="qcdestyle.html" title="QCDEStyle Class Reference">
+ <keyword ref="qcdestyle.html">QCDEStyle</keyword>
+ <keyword ref="qcdestyle.html#~QCDEStyle">~QCDEStyle</keyword>
+ <section ref="qcdestyle-members.html" title="List of All Member Functions"/>
+ <section ref="qcdestyle-h.html" title="Header File"/>
+</section>
+<section ref="qchar.html" title="QChar Class Reference">
+ <keyword ref="qchar.html">QChar</keyword>
+ <keyword ref="qchar.html#Category">Category</keyword>
+ <keyword ref="qchar.html#CombiningClass">CombiningClass</keyword>
+ <keyword ref="qchar.html#Decomposition">Decomposition</keyword>
+ <keyword ref="qchar.html#Direction">Direction</keyword>
+ <keyword ref="qchar.html#Joining">Joining</keyword>
+ <keyword ref="qchar.html#category">category</keyword>
+ <keyword ref="qchar.html#cell">cell</keyword>
+ <keyword ref="qchar.html#combiningClass">combiningClass</keyword>
+ <keyword ref="qchar.html#decomposition">decomposition</keyword>
+ <keyword ref="qchar.html#decompositionTag">decompositionTag</keyword>
+ <keyword ref="qchar.html#digitValue">digitValue</keyword>
+ <keyword ref="qchar.html#direction">direction</keyword>
+ <keyword ref="qchar.html#isDigit">isDigit</keyword>
+ <keyword ref="qchar.html#isLetter">isLetter</keyword>
+ <keyword ref="qchar.html#isLetterOrNumber">isLetterOrNumber</keyword>
+ <keyword ref="qchar.html#isMark">isMark</keyword>
+ <keyword ref="qchar.html#isNull">isNull</keyword>
+ <keyword ref="qchar.html#isNumber">isNumber</keyword>
+ <keyword ref="qchar.html#isPrint">isPrint</keyword>
+ <keyword ref="qchar.html#isPunct">isPunct</keyword>
+ <keyword ref="qchar.html#isSpace">isSpace</keyword>
+ <keyword ref="qchar.html#isSymbol">isSymbol</keyword>
+ <keyword ref="qchar.html#joining">joining</keyword>
+ <keyword ref="qchar.html#latin1">latin1</keyword>
+ <keyword ref="qchar.html#lower">lower</keyword>
+ <keyword ref="qchar.html#mirrored">mirrored</keyword>
+ <keyword ref="qchar.html#mirroredChar">mirroredChar</keyword>
+ <keyword ref="qchar.html#operator-char">operator char</keyword>
+ <keyword ref="qchar.html#row">row</keyword>
+ <keyword ref="qchar.html#unicode">unicode</keyword>
+ <keyword ref="qchar.html#upper">upper</keyword>
+ <keyword ref="qchar.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qchar.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qchar.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qchar.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qchar.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qchar.html#operator-gt-eq">operator&gt;=</keyword>
+ <section ref="qchar-members.html" title="List of All Member Functions"/>
+ <section ref="qstring-h.html" title="Header File"/>
+</section>
+<section ref="qcharref.html" title="QCharRef Class Reference">
+ <keyword ref="qcharref.html">QCharRef</keyword>
+ <section ref="qcharref-members.html" title="List of All Member Functions"/>
+ <section ref="qstring-h.html" title="Header File"/>
+</section>
+<section ref="qcheckbox.html" title="QCheckBox Class Reference">
+ <keyword ref="qcheckbox.html">QCheckBox</keyword>
+ <keyword ref="qcheckbox.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qcheckbox.html#checked-prop">checked</keyword>
+ <keyword ref="qcheckbox.html#isChecked">isChecked</keyword>
+ <keyword ref="qcheckbox.html#isTristate">isTristate</keyword>
+ <keyword ref="qcheckbox.html#setChecked">setChecked</keyword>
+ <keyword ref="qcheckbox.html#setNoChange">setNoChange</keyword>
+ <keyword ref="qcheckbox.html#setTristate">setTristate</keyword>
+ <keyword ref="qcheckbox.html#tristate-prop">tristate</keyword>
+ <section ref="qcheckbox-members.html" title="List of All Member Functions"/>
+ <section ref="qcheckbox-h.html" title="Header File"/>
+</section>
+<section ref="qchecklistitem.html" title="QCheckListItem Class Reference">
+ <keyword ref="qchecklistitem.html">QCheckListItem</keyword>
+ <keyword ref="qchecklistitem.html#ToggleState">ToggleState</keyword>
+ <keyword ref="qchecklistitem.html#Type">Type</keyword>
+ <keyword ref="qchecklistitem.html#activate">activate</keyword>
+ <keyword ref="qchecklistitem.html#isOn">isOn</keyword>
+ <keyword ref="qchecklistitem.html#isTristate">isTristate</keyword>
+ <keyword ref="qchecklistitem.html#paintCell">paintCell</keyword>
+ <keyword ref="qchecklistitem.html#paintFocus">paintFocus</keyword>
+ <keyword ref="qchecklistitem.html#rtti">rtti</keyword>
+ <keyword ref="qchecklistitem.html#setOn">setOn</keyword>
+ <keyword ref="qchecklistitem.html#setState">setState</keyword>
+ <keyword ref="qchecklistitem.html#setTristate">setTristate</keyword>
+ <keyword ref="qchecklistitem.html#state">state</keyword>
+ <keyword ref="qchecklistitem.html#stateChange">stateChange</keyword>
+ <keyword ref="qchecklistitem.html#text">text</keyword>
+ <keyword ref="qchecklistitem.html#turnOffChild">turnOffChild</keyword>
+ <keyword ref="qchecklistitem.html#type">type</keyword>
+ <keyword ref="qchecklistitem.html#~QCheckListItem">~QCheckListItem</keyword>
+ <section ref="qchecklistitem-members.html" title="List of All Member Functions"/>
+ <section ref="qlistview-h.html" title="Header File"/>
+</section>
+<section ref="qchecktableitem.html" title="QCheckTableItem Class Reference">
+ <keyword ref="qchecktableitem.html">QCheckTableItem</keyword>
+ <keyword ref="qchecktableitem.html#isChecked">isChecked</keyword>
+ <keyword ref="qchecktableitem.html#rtti">rtti</keyword>
+ <keyword ref="qchecktableitem.html#setChecked">setChecked</keyword>
+ <section ref="qchecktableitem-members.html" title="List of All Member Functions"/>
+ <section ref="qtable-h.html" title="Header File"/>
+</section>
+<section ref="qchildevent.html" title="QChildEvent Class Reference">
+ <keyword ref="qchildevent.html">QChildEvent</keyword>
+ <keyword ref="qchildevent.html#child">child</keyword>
+ <keyword ref="qchildevent.html#inserted">inserted</keyword>
+ <keyword ref="qchildevent.html#removed">removed</keyword>
+ <section ref="qchildevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qclipboard.html" title="QClipboard Class Reference">
+ <keyword ref="qclipboard.html">QClipboard</keyword>
+ <keyword ref="qclipboard.html#Mode">Mode</keyword>
+ <keyword ref="qclipboard.html#clear">clear</keyword>
+ <keyword ref="qclipboard.html#data">data</keyword>
+ <keyword ref="qclipboard.html#dataChanged">dataChanged</keyword>
+ <keyword ref="qclipboard.html#image">image</keyword>
+ <keyword ref="qclipboard.html#ownsClipboard">ownsClipboard</keyword>
+ <keyword ref="qclipboard.html#ownsSelection">ownsSelection</keyword>
+ <keyword ref="qclipboard.html#pixmap">pixmap</keyword>
+ <keyword ref="qclipboard.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qclipboard.html#setData">setData</keyword>
+ <keyword ref="qclipboard.html#setImage">setImage</keyword>
+ <keyword ref="qclipboard.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qclipboard.html#setText">setText</keyword>
+ <keyword ref="qclipboard.html#supportsSelection">supportsSelection</keyword>
+ <keyword ref="qclipboard.html#text">text</keyword>
+ <section ref="qclipboard-members.html" title="List of All Member Functions"/>
+ <section ref="qclipboard-h.html" title="Header File"/>
+</section>
+<section ref="qcloseevent.html" title="QCloseEvent Class Reference">
+ <keyword ref="qcloseevent.html">QCloseEvent</keyword>
+ <keyword ref="qcloseevent.html#accept">accept</keyword>
+ <keyword ref="qcloseevent.html#ignore">ignore</keyword>
+ <keyword ref="qcloseevent.html#isAccepted">isAccepted</keyword>
+ <section ref="qcloseevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qcolor.html" title="QColor Class Reference">
+ <keyword ref="qcolor.html">QColor</keyword>
+ <keyword ref="qcolor.html#Spec">Spec</keyword>
+ <keyword ref="qcolor.html#alloc">alloc</keyword>
+ <keyword ref="qcolor.html#blue">blue</keyword>
+ <keyword ref="qcolor.html#cleanup">cleanup</keyword>
+ <keyword ref="qcolor.html#colorNames">colorNames</keyword>
+ <keyword ref="qcolor.html#currentAllocContext">currentAllocContext</keyword>
+ <keyword ref="qcolor.html#dark">dark</keyword>
+ <keyword ref="qcolor.html#destroyAllocContext">destroyAllocContext</keyword>
+ <keyword ref="qcolor.html#enterAllocContext">enterAllocContext</keyword>
+ <keyword ref="qcolor.html#getHsv">getHsv</keyword>
+ <keyword ref="qcolor.html#getRgb">getRgb</keyword>
+ <keyword ref="qcolor.html#green">green</keyword>
+ <keyword ref="qcolor.html#initGlobalColors">initGlobalColors</keyword>
+ <keyword ref="qcolor.html#initialize">initialize</keyword>
+ <keyword ref="qcolor.html#isValid">isValid</keyword>
+ <keyword ref="qcolor.html#leaveAllocContext">leaveAllocContext</keyword>
+ <keyword ref="qcolor.html#light">light</keyword>
+ <keyword ref="qcolor.html#maxColors">maxColors</keyword>
+ <keyword ref="qcolor.html#name">name</keyword>
+ <keyword ref="qcolor.html#numBitPlanes">numBitPlanes</keyword>
+ <keyword ref="qcolor.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qcolor.html#operator-eq">operator=</keyword>
+ <keyword ref="qcolor.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qcolor.html#pixel">pixel</keyword>
+ <keyword ref="qcolor.html#red">red</keyword>
+ <keyword ref="qcolor.html#rgb">rgb</keyword>
+ <keyword ref="qcolor.html#setHsv">setHsv</keyword>
+ <keyword ref="qcolor.html#setNamedColor">setNamedColor</keyword>
+ <keyword ref="qcolor.html#setRgb">setRgb</keyword>
+ <keyword ref="qcolor.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qcolor.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qcolor.html#qAlpha">qAlpha</keyword>
+ <keyword ref="qcolor.html#qBlue">qBlue</keyword>
+ <keyword ref="qcolor.html#qGray">qGray</keyword>
+ <keyword ref="qcolor.html#qGreen">qGreen</keyword>
+ <keyword ref="qcolor.html#qRed">qRed</keyword>
+ <keyword ref="qcolor.html#qRgb">qRgb</keyword>
+ <keyword ref="qcolor.html#qRgba">qRgba</keyword>
+ <section ref="qcolor-members.html" title="List of All Member Functions"/>
+ <section ref="qcolor-h.html" title="Header File"/>
+</section>
+<section ref="qcolordialog.html" title="QColorDialog Class Reference">
+ <keyword ref="qcolordialog.html">QColorDialog</keyword>
+ <keyword ref="qcolordialog.html#color">color</keyword>
+ <keyword ref="qcolordialog.html#customColor">customColor</keyword>
+ <keyword ref="qcolordialog.html#customCount">customCount</keyword>
+ <keyword ref="qcolordialog.html#getColor">getColor</keyword>
+ <keyword ref="qcolordialog.html#getRgba">getRgba</keyword>
+ <keyword ref="qcolordialog.html#selectColor">selectColor</keyword>
+ <keyword ref="qcolordialog.html#selectedAlpha">selectedAlpha</keyword>
+ <keyword ref="qcolordialog.html#setColor">setColor</keyword>
+ <keyword ref="qcolordialog.html#setCustomColor">setCustomColor</keyword>
+ <keyword ref="qcolordialog.html#setSelectedAlpha">setSelectedAlpha</keyword>
+ <keyword ref="qcolordialog.html#setStandardColor">setStandardColor</keyword>
+ <keyword ref="qcolordialog.html#~QColorDialog">~QColorDialog</keyword>
+ <section ref="qcolordialog-members.html" title="List of All Member Functions"/>
+ <section ref="qcolordialog-h.html" title="Header File"/>
+</section>
+<section ref="qcolordrag.html" title="QColorDrag Class Reference">
+ <keyword ref="qcolordrag.html">QColorDrag</keyword>
+ <keyword ref="qcolordrag.html#canDecode">canDecode</keyword>
+ <keyword ref="qcolordrag.html#decode">decode</keyword>
+ <keyword ref="qcolordrag.html#setColor">setColor</keyword>
+ <section ref="qcolordrag-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qcolorgroup.html" title="QColorGroup Class Reference">
+ <keyword ref="qcolorgroup.html">QColorGroup</keyword>
+ <keyword ref="qcolorgroup.html#ColorRole">ColorRole</keyword>
+ <keyword ref="qcolorgroup.html#background">background</keyword>
+ <keyword ref="qcolorgroup.html#base">base</keyword>
+ <keyword ref="qcolorgroup.html#brightText">brightText</keyword>
+ <keyword ref="qcolorgroup.html#brush">brush</keyword>
+ <keyword ref="qcolorgroup.html#button">button</keyword>
+ <keyword ref="qcolorgroup.html#buttonText">buttonText</keyword>
+ <keyword ref="qcolorgroup.html#color">color</keyword>
+ <keyword ref="qcolorgroup.html#dark">dark</keyword>
+ <keyword ref="qcolorgroup.html#foreground">foreground</keyword>
+ <keyword ref="qcolorgroup.html#highlight">highlight</keyword>
+ <keyword ref="qcolorgroup.html#highlightedText">highlightedText</keyword>
+ <keyword ref="qcolorgroup.html#light">light</keyword>
+ <keyword ref="qcolorgroup.html#link">link</keyword>
+ <keyword ref="qcolorgroup.html#linkVisited">linkVisited</keyword>
+ <keyword ref="qcolorgroup.html#mid">mid</keyword>
+ <keyword ref="qcolorgroup.html#midlight">midlight</keyword>
+ <keyword ref="qcolorgroup.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qcolorgroup.html#operator-eq">operator=</keyword>
+ <keyword ref="qcolorgroup.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qcolorgroup.html#setBrush">setBrush</keyword>
+ <keyword ref="qcolorgroup.html#setColor">setColor</keyword>
+ <keyword ref="qcolorgroup.html#shadow">shadow</keyword>
+ <keyword ref="qcolorgroup.html#text">text</keyword>
+ <keyword ref="qcolorgroup.html#~QColorGroup">~QColorGroup</keyword>
+ <keyword ref="qcolorgroup.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <section ref="qcolorgroup-members.html" title="List of All Member Functions"/>
+ <section ref="qpalette-h.html" title="Header File"/>
+</section>
+<section ref="qcombobox.html" title="QComboBox Class Reference">
+ <keyword ref="qcombobox.html">QComboBox</keyword>
+ <keyword ref="qcombobox.html#Policy">Policy</keyword>
+ <keyword ref="qcombobox.html#activated">activated</keyword>
+ <keyword ref="qcombobox.html#autoCompletion">autoCompletion</keyword>
+ <keyword ref="qcombobox.html#autoCompletion-prop">autoCompletion</keyword>
+ <keyword ref="qcombobox.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qcombobox.html#changeItem">changeItem</keyword>
+ <keyword ref="qcombobox.html#clear">clear</keyword>
+ <keyword ref="qcombobox.html#clearEdit">clearEdit</keyword>
+ <keyword ref="qcombobox.html#clearValidator">clearValidator</keyword>
+ <keyword ref="qcombobox.html#completionIndex">completionIndex</keyword>
+ <keyword ref="qcombobox.html#count">count</keyword>
+ <keyword ref="qcombobox.html#count-prop">count</keyword>
+ <keyword ref="qcombobox.html#currentItem">currentItem</keyword>
+ <keyword ref="qcombobox.html#currentItem-prop">currentItem</keyword>
+ <keyword ref="qcombobox.html#currentText">currentText</keyword>
+ <keyword ref="qcombobox.html#currentText-prop">currentText</keyword>
+ <keyword ref="qcombobox.html#duplicatesEnabled">duplicatesEnabled</keyword>
+ <keyword ref="qcombobox.html#duplicatesEnabled-prop">duplicatesEnabled</keyword>
+ <keyword ref="qcombobox.html#editable">editable</keyword>
+ <keyword ref="qcombobox.html#editable-prop">editable</keyword>
+ <keyword ref="qcombobox.html#highlighted">highlighted</keyword>
+ <keyword ref="qcombobox.html#insertItem">insertItem</keyword>
+ <keyword ref="qcombobox.html#insertStrList">insertStrList</keyword>
+ <keyword ref="qcombobox.html#insertStringList">insertStringList</keyword>
+ <keyword ref="qcombobox.html#insertionPolicy">insertionPolicy</keyword>
+ <keyword ref="qcombobox.html#insertionPolicy-prop">insertionPolicy</keyword>
+ <keyword ref="qcombobox.html#lineEdit">lineEdit</keyword>
+ <keyword ref="qcombobox.html#listBox">listBox</keyword>
+ <keyword ref="qcombobox.html#maxCount">maxCount</keyword>
+ <keyword ref="qcombobox.html#maxCount-prop">maxCount</keyword>
+ <keyword ref="qcombobox.html#pixmap">pixmap</keyword>
+ <keyword ref="qcombobox.html#popup">popup</keyword>
+ <keyword ref="qcombobox.html#removeItem">removeItem</keyword>
+ <keyword ref="qcombobox.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qcombobox.html#setAutoCompletion">setAutoCompletion</keyword>
+ <keyword ref="qcombobox.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qcombobox.html#setCurrentText">setCurrentText</keyword>
+ <keyword ref="qcombobox.html#setDuplicatesEnabled">setDuplicatesEnabled</keyword>
+ <keyword ref="qcombobox.html#setEditText">setEditText</keyword>
+ <keyword ref="qcombobox.html#setEditable">setEditable</keyword>
+ <keyword ref="qcombobox.html#setFont">setFont</keyword>
+ <keyword ref="qcombobox.html#setInsertionPolicy">setInsertionPolicy</keyword>
+ <keyword ref="qcombobox.html#setLineEdit">setLineEdit</keyword>
+ <keyword ref="qcombobox.html#setListBox">setListBox</keyword>
+ <keyword ref="qcombobox.html#setMaxCount">setMaxCount</keyword>
+ <keyword ref="qcombobox.html#setPalette">setPalette</keyword>
+ <keyword ref="qcombobox.html#setSizeLimit">setSizeLimit</keyword>
+ <keyword ref="qcombobox.html#setValidator">setValidator</keyword>
+ <keyword ref="qcombobox.html#sizeLimit">sizeLimit</keyword>
+ <keyword ref="qcombobox.html#sizeLimit-prop">sizeLimit</keyword>
+ <keyword ref="qcombobox.html#text">text</keyword>
+ <keyword ref="qcombobox.html#textChanged">textChanged</keyword>
+ <keyword ref="qcombobox.html#validator">validator</keyword>
+ <keyword ref="qcombobox.html#~QComboBox">~QComboBox</keyword>
+ <section ref="qcombobox-members.html" title="List of All Member Functions"/>
+ <section ref="qcombobox-h.html" title="Header File"/>
+</section>
+<section ref="qcombotableitem.html" title="QComboTableItem Class Reference">
+ <keyword ref="qcombotableitem.html">QComboTableItem</keyword>
+ <keyword ref="qcombotableitem.html#count">count</keyword>
+ <keyword ref="qcombotableitem.html#currentItem">currentItem</keyword>
+ <keyword ref="qcombotableitem.html#currentText">currentText</keyword>
+ <keyword ref="qcombotableitem.html#isEditable">isEditable</keyword>
+ <keyword ref="qcombotableitem.html#rtti">rtti</keyword>
+ <keyword ref="qcombotableitem.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qcombotableitem.html#setEditable">setEditable</keyword>
+ <keyword ref="qcombotableitem.html#setStringList">setStringList</keyword>
+ <keyword ref="qcombotableitem.html#text">text</keyword>
+ <keyword ref="qcombotableitem.html#~QComboTableItem">~QComboTableItem</keyword>
+ <section ref="qcombotableitem-members.html" title="List of All Member Functions"/>
+ <section ref="qtable-h.html" title="Header File"/>
+</section>
+<section ref="qcommonstyle.html" title="QCommonStyle Class Reference">
+ <keyword ref="qcommonstyle.html">QCommonStyle</keyword>
+ <section ref="qcommonstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qcommonstyle-h.html" title="Header File"/>
+</section>
+<section ref="qconststring.html" title="QConstString Class Reference">
+ <keyword ref="qconststring.html">QConstString</keyword>
+ <keyword ref="qconststring.html#string">string</keyword>
+ <keyword ref="qconststring.html#~QConstString">~QConstString</keyword>
+ <section ref="qconststring-members.html" title="List of All Member Functions"/>
+ <section ref="qstring-h.html" title="Header File"/>
+</section>
+<section ref="qcontextmenuevent.html" title="QContextMenuEvent Class Reference">
+ <keyword ref="qcontextmenuevent.html">QContextMenuEvent</keyword>
+ <keyword ref="qcontextmenuevent.html#Reason">Reason</keyword>
+ <keyword ref="qcontextmenuevent.html#accept">accept</keyword>
+ <keyword ref="qcontextmenuevent.html#consume">consume</keyword>
+ <keyword ref="qcontextmenuevent.html#globalPos">globalPos</keyword>
+ <keyword ref="qcontextmenuevent.html#globalX">globalX</keyword>
+ <keyword ref="qcontextmenuevent.html#globalY">globalY</keyword>
+ <keyword ref="qcontextmenuevent.html#ignore">ignore</keyword>
+ <keyword ref="qcontextmenuevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qcontextmenuevent.html#isConsumed">isConsumed</keyword>
+ <keyword ref="qcontextmenuevent.html#pos">pos</keyword>
+ <keyword ref="qcontextmenuevent.html#reason">reason</keyword>
+ <keyword ref="qcontextmenuevent.html#state">state</keyword>
+ <keyword ref="qcontextmenuevent.html#x">x</keyword>
+ <keyword ref="qcontextmenuevent.html#y">y</keyword>
+ <section ref="qcontextmenuevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qcopchannel.html" title="QCopChannel Class Reference">
+ <keyword ref="qcopchannel.html">QCopChannel</keyword>
+ <keyword ref="qcopchannel.html#channel">channel</keyword>
+ <keyword ref="qcopchannel.html#isRegistered">isRegistered</keyword>
+ <keyword ref="qcopchannel.html#receive">receive</keyword>
+ <keyword ref="qcopchannel.html#received">received</keyword>
+ <keyword ref="qcopchannel.html#send">send</keyword>
+ <keyword ref="qcopchannel.html#~QCopChannel">~QCopChannel</keyword>
+ <section ref="qcopchannel-members.html" title="List of All Member Functions"/>
+ <section ref="qcopchannel_qws-h.html" title="Header File"/>
+</section>
+<section ref="qcstring.html" title="QCString Class Reference">
+ <keyword ref="qcstring.html">QCString</keyword>
+ <keyword ref="qcstring.html#append">append</keyword>
+ <keyword ref="qcstring.html#contains">contains</keyword>
+ <keyword ref="qcstring.html#copy">copy</keyword>
+ <keyword ref="qcstring.html#fill">fill</keyword>
+ <keyword ref="qcstring.html#find">find</keyword>
+ <keyword ref="qcstring.html#findRev">findRev</keyword>
+ <keyword ref="qcstring.html#insert">insert</keyword>
+ <keyword ref="qcstring.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qcstring.html#isNull">isNull</keyword>
+ <keyword ref="qcstring.html#left">left</keyword>
+ <keyword ref="qcstring.html#leftJustify">leftJustify</keyword>
+ <keyword ref="qcstring.html#length">length</keyword>
+ <keyword ref="qcstring.html#lower">lower</keyword>
+ <keyword ref="qcstring.html#mid">mid</keyword>
+ <keyword ref="qcstring.html#operator-const-char-*">operator const char *</keyword>
+ <keyword ref="qcstring.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qcstring.html#operator-eq">operator=</keyword>
+ <keyword ref="qcstring.html#prepend">prepend</keyword>
+ <keyword ref="qcstring.html#remove">remove</keyword>
+ <keyword ref="qcstring.html#replace">replace</keyword>
+ <keyword ref="qcstring.html#resize">resize</keyword>
+ <keyword ref="qcstring.html#right">right</keyword>
+ <keyword ref="qcstring.html#rightJustify">rightJustify</keyword>
+ <keyword ref="qcstring.html#setExpand">setExpand</keyword>
+ <keyword ref="qcstring.html#setNum">setNum</keyword>
+ <keyword ref="qcstring.html#setStr">setStr</keyword>
+ <keyword ref="qcstring.html#simplifyWhiteSpace">simplifyWhiteSpace</keyword>
+ <keyword ref="qcstring.html#sprintf">sprintf</keyword>
+ <keyword ref="qcstring.html#stripWhiteSpace">stripWhiteSpace</keyword>
+ <keyword ref="qcstring.html#toDouble">toDouble</keyword>
+ <keyword ref="qcstring.html#toFloat">toFloat</keyword>
+ <keyword ref="qcstring.html#toInt">toInt</keyword>
+ <keyword ref="qcstring.html#toLong">toLong</keyword>
+ <keyword ref="qcstring.html#toShort">toShort</keyword>
+ <keyword ref="qcstring.html#toUInt">toUInt</keyword>
+ <keyword ref="qcstring.html#toULong">toULong</keyword>
+ <keyword ref="qcstring.html#toUShort">toUShort</keyword>
+ <keyword ref="qcstring.html#truncate">truncate</keyword>
+ <keyword ref="qcstring.html#upper">upper</keyword>
+ <keyword ref="qcstring.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qcstring.html#operator+">operator+</keyword>
+ <keyword ref="qcstring.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qcstring.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qcstring.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qcstring.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qcstring.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qcstring.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qcstring.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qcstring.html#qmemmove">qmemmove</keyword>
+ <keyword ref="qcstring.html#qstrcmp">qstrcmp</keyword>
+ <keyword ref="qcstring.html#qstrcpy">qstrcpy</keyword>
+ <keyword ref="qcstring.html#qstrdup">qstrdup</keyword>
+ <keyword ref="qcstring.html#qstricmp">qstricmp</keyword>
+ <keyword ref="qcstring.html#qstrlen">qstrlen</keyword>
+ <keyword ref="qcstring.html#qstrncmp">qstrncmp</keyword>
+ <keyword ref="qcstring.html#qstrncpy">qstrncpy</keyword>
+ <keyword ref="qcstring.html#qstrnicmp">qstrnicmp</keyword>
+ <section ref="qcstring-members.html" title="List of All Member Functions"/>
+ <section ref="qcstring-h.html" title="Header File"/>
+</section>
+<section ref="qcursor.html" title="QCursor Class Reference">
+ <keyword ref="qcursor.html">QCursor</keyword>
+ <keyword ref="qcursor.html#bitmap">bitmap</keyword>
+ <keyword ref="qcursor.html#cleanup">cleanup</keyword>
+ <keyword ref="qcursor.html#handle">handle</keyword>
+ <keyword ref="qcursor.html#hotSpot">hotSpot</keyword>
+ <keyword ref="qcursor.html#initialize">initialize</keyword>
+ <keyword ref="qcursor.html#mask">mask</keyword>
+ <keyword ref="qcursor.html#operator-eq">operator=</keyword>
+ <keyword ref="qcursor.html#pos">pos</keyword>
+ <keyword ref="qcursor.html#setPos">setPos</keyword>
+ <keyword ref="qcursor.html#setShape">setShape</keyword>
+ <keyword ref="qcursor.html#shape">shape</keyword>
+ <keyword ref="qcursor.html#~QCursor">~QCursor</keyword>
+ <keyword ref="qcursor.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qcursor.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qcursor-members.html" title="List of All Member Functions"/>
+ <section ref="qcursor-h.html" title="Header File"/>
+</section>
+<section ref="qcustomevent.html" title="QCustomEvent Class Reference">
+ <keyword ref="qcustomevent.html">QCustomEvent</keyword>
+ <keyword ref="qcustomevent.html#data">data</keyword>
+ <keyword ref="qcustomevent.html#setData">setData</keyword>
+ <section ref="qcustomevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qcustommenuitem.html" title="QCustomMenuItem Class Reference">
+ <keyword ref="qcustommenuitem.html">QCustomMenuItem</keyword>
+ <keyword ref="qcustommenuitem.html#fullSpan">fullSpan</keyword>
+ <keyword ref="qcustommenuitem.html#isSeparator">isSeparator</keyword>
+ <keyword ref="qcustommenuitem.html#paint">paint</keyword>
+ <keyword ref="qcustommenuitem.html#setFont">setFont</keyword>
+ <keyword ref="qcustommenuitem.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qcustommenuitem.html#~QCustomMenuItem">~QCustomMenuItem</keyword>
+ <section ref="qcustommenuitem-members.html" title="List of All Member Functions"/>
+ <section ref="qmenudata-h.html" title="Header File"/>
+</section>
+<section ref="qdatabrowser.html" title="QDataBrowser Class Reference">
+ <keyword ref="qdatabrowser.html">QDataBrowser</keyword>
+ <keyword ref="qdatabrowser.html#Boundary">Boundary</keyword>
+ <keyword ref="qdatabrowser.html#autoEdit">autoEdit</keyword>
+ <keyword ref="qdatabrowser.html#autoEdit-prop">autoEdit</keyword>
+ <keyword ref="qdatabrowser.html#beforeDelete">beforeDelete</keyword>
+ <keyword ref="qdatabrowser.html#beforeInsert">beforeInsert</keyword>
+ <keyword ref="qdatabrowser.html#beforeUpdate">beforeUpdate</keyword>
+ <keyword ref="qdatabrowser.html#boundary">boundary</keyword>
+ <keyword ref="qdatabrowser.html#boundaryChecking">boundaryChecking</keyword>
+ <keyword ref="qdatabrowser.html#boundaryChecking-prop">boundaryChecking</keyword>
+ <keyword ref="qdatabrowser.html#clearValues">clearValues</keyword>
+ <keyword ref="qdatabrowser.html#confirmCancel">confirmCancel</keyword>
+ <keyword ref="qdatabrowser.html#confirmCancels">confirmCancels</keyword>
+ <keyword ref="qdatabrowser.html#confirmCancels-prop">confirmCancels</keyword>
+ <keyword ref="qdatabrowser.html#confirmDelete">confirmDelete</keyword>
+ <keyword ref="qdatabrowser.html#confirmDelete-prop">confirmDelete</keyword>
+ <keyword ref="qdatabrowser.html#confirmEdit">confirmEdit</keyword>
+ <keyword ref="qdatabrowser.html#confirmEdits">confirmEdits</keyword>
+ <keyword ref="qdatabrowser.html#confirmEdits-prop">confirmEdits</keyword>
+ <keyword ref="qdatabrowser.html#confirmInsert">confirmInsert</keyword>
+ <keyword ref="qdatabrowser.html#confirmInsert-prop">confirmInsert</keyword>
+ <keyword ref="qdatabrowser.html#confirmUpdate">confirmUpdate</keyword>
+ <keyword ref="qdatabrowser.html#confirmUpdate-prop">confirmUpdate</keyword>
+ <keyword ref="qdatabrowser.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qdatabrowser.html#currentEdited">currentEdited</keyword>
+ <keyword ref="qdatabrowser.html#cursorChanged">cursorChanged</keyword>
+ <keyword ref="qdatabrowser.html#del">del</keyword>
+ <keyword ref="qdatabrowser.html#deleteCurrent">deleteCurrent</keyword>
+ <keyword ref="qdatabrowser.html#filter">filter</keyword>
+ <keyword ref="qdatabrowser.html#filter-prop">filter</keyword>
+ <keyword ref="qdatabrowser.html#first">first</keyword>
+ <keyword ref="qdatabrowser.html#firstRecordAvailable">firstRecordAvailable</keyword>
+ <keyword ref="qdatabrowser.html#form">form</keyword>
+ <keyword ref="qdatabrowser.html#handleError">handleError</keyword>
+ <keyword ref="qdatabrowser.html#insert">insert</keyword>
+ <keyword ref="qdatabrowser.html#insertCurrent">insertCurrent</keyword>
+ <keyword ref="qdatabrowser.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qdatabrowser.html#last">last</keyword>
+ <keyword ref="qdatabrowser.html#lastRecordAvailable">lastRecordAvailable</keyword>
+ <keyword ref="qdatabrowser.html#next">next</keyword>
+ <keyword ref="qdatabrowser.html#nextRecordAvailable">nextRecordAvailable</keyword>
+ <keyword ref="qdatabrowser.html#prev">prev</keyword>
+ <keyword ref="qdatabrowser.html#prevRecordAvailable">prevRecordAvailable</keyword>
+ <keyword ref="qdatabrowser.html#primeDelete">primeDelete</keyword>
+ <keyword ref="qdatabrowser.html#primeInsert">primeInsert</keyword>
+ <keyword ref="qdatabrowser.html#primeUpdate">primeUpdate</keyword>
+ <keyword ref="qdatabrowser.html#readFields">readFields</keyword>
+ <keyword ref="qdatabrowser.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qdatabrowser.html#refresh">refresh</keyword>
+ <keyword ref="qdatabrowser.html#seek">seek</keyword>
+ <keyword ref="qdatabrowser.html#setAutoEdit">setAutoEdit</keyword>
+ <keyword ref="qdatabrowser.html#setBoundaryChecking">setBoundaryChecking</keyword>
+ <keyword ref="qdatabrowser.html#setConfirmCancels">setConfirmCancels</keyword>
+ <keyword ref="qdatabrowser.html#setConfirmDelete">setConfirmDelete</keyword>
+ <keyword ref="qdatabrowser.html#setConfirmEdits">setConfirmEdits</keyword>
+ <keyword ref="qdatabrowser.html#setConfirmInsert">setConfirmInsert</keyword>
+ <keyword ref="qdatabrowser.html#setConfirmUpdate">setConfirmUpdate</keyword>
+ <keyword ref="qdatabrowser.html#setFilter">setFilter</keyword>
+ <keyword ref="qdatabrowser.html#setForm">setForm</keyword>
+ <keyword ref="qdatabrowser.html#setReadOnly">setReadOnly</keyword>
+ <keyword ref="qdatabrowser.html#setSort">setSort</keyword>
+ <keyword ref="qdatabrowser.html#setSqlCursor">setSqlCursor</keyword>
+ <keyword ref="qdatabrowser.html#sort">sort</keyword>
+ <keyword ref="qdatabrowser.html#sort-prop">sort</keyword>
+ <keyword ref="qdatabrowser.html#sqlCursor">sqlCursor</keyword>
+ <keyword ref="qdatabrowser.html#update">update</keyword>
+ <keyword ref="qdatabrowser.html#updateBoundary">updateBoundary</keyword>
+ <keyword ref="qdatabrowser.html#updateCurrent">updateCurrent</keyword>
+ <keyword ref="qdatabrowser.html#writeFields">writeFields</keyword>
+ <keyword ref="qdatabrowser.html#~QDataBrowser">~QDataBrowser</keyword>
+ <section ref="qdatabrowser-members.html" title="List of All Member Functions"/>
+ <section ref="qdatabrowser-h.html" title="Header File"/>
+</section>
+<section ref="qdatapump.html" title="QDataPump Class Reference">
+ <section ref="qdatapump-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncio-h.html" title="Header File"/>
+</section>
+<section ref="qdatasink.html" title="QDataSink Class Reference">
+ <keyword ref="qdatasink.html#eof">eof</keyword>
+ <keyword ref="qdatasink.html#maybeReady">maybeReady</keyword>
+ <keyword ref="qdatasink.html#readyToReceive">readyToReceive</keyword>
+ <keyword ref="qdatasink.html#receive">receive</keyword>
+ <section ref="qdatasink-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncio-h.html" title="Header File"/>
+</section>
+<section ref="qdatasource.html" title="QDataSource Class Reference">
+ <keyword ref="qdatasource.html#enableRewind">enableRewind</keyword>
+ <keyword ref="qdatasource.html#maybeReady">maybeReady</keyword>
+ <keyword ref="qdatasource.html#readyToSend">readyToSend</keyword>
+ <keyword ref="qdatasource.html#rewind">rewind</keyword>
+ <keyword ref="qdatasource.html#rewindable">rewindable</keyword>
+ <keyword ref="qdatasource.html#sendTo">sendTo</keyword>
+ <section ref="qdatasource-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncio-h.html" title="Header File"/>
+</section>
+<section ref="qdatastream.html" title="QDataStream Class Reference">
+ <keyword ref="qdatastream.html">QDataStream</keyword>
+ <keyword ref="qdatastream.html#ByteOrder">ByteOrder</keyword>
+ <keyword ref="qdatastream.html#atEnd">atEnd</keyword>
+ <keyword ref="qdatastream.html#byteOrder">byteOrder</keyword>
+ <keyword ref="qdatastream.html#device">device</keyword>
+ <keyword ref="qdatastream.html#isPrintableData">isPrintableData</keyword>
+ <keyword ref="qdatastream.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qdatastream.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qdatastream.html#readBytes">readBytes</keyword>
+ <keyword ref="qdatastream.html#readRawBytes">readRawBytes</keyword>
+ <keyword ref="qdatastream.html#setByteOrder">setByteOrder</keyword>
+ <keyword ref="qdatastream.html#setDevice">setDevice</keyword>
+ <keyword ref="qdatastream.html#setPrintableData">setPrintableData</keyword>
+ <keyword ref="qdatastream.html#setVersion">setVersion</keyword>
+ <keyword ref="qdatastream.html#unsetDevice">unsetDevice</keyword>
+ <keyword ref="qdatastream.html#version">version</keyword>
+ <keyword ref="qdatastream.html#writeBytes">writeBytes</keyword>
+ <keyword ref="qdatastream.html#writeRawBytes">writeRawBytes</keyword>
+ <keyword ref="qdatastream.html#~QDataStream">~QDataStream</keyword>
+ <section ref="qdatastream-members.html" title="List of All Member Functions"/>
+ <section ref="qdatastream-h.html" title="Header File"/>
+</section>
+<section ref="qdatatable.html" title="QDataTable Class Reference">
+ <keyword ref="qdatatable.html">QDataTable</keyword>
+ <keyword ref="qdatatable.html#Refresh">Refresh</keyword>
+ <keyword ref="qdatatable.html#addColumn">addColumn</keyword>
+ <keyword ref="qdatatable.html#adjustColumn">adjustColumn</keyword>
+ <keyword ref="qdatatable.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qdatatable.html#autoEdit">autoEdit</keyword>
+ <keyword ref="qdatatable.html#autoEdit-prop">autoEdit</keyword>
+ <keyword ref="qdatatable.html#beforeDelete">beforeDelete</keyword>
+ <keyword ref="qdatatable.html#beforeInsert">beforeInsert</keyword>
+ <keyword ref="qdatatable.html#beforeUpdate">beforeUpdate</keyword>
+ <keyword ref="qdatatable.html#beginInsert">beginInsert</keyword>
+ <keyword ref="qdatatable.html#beginUpdate">beginUpdate</keyword>
+ <keyword ref="qdatatable.html#confirmCancel">confirmCancel</keyword>
+ <keyword ref="qdatatable.html#confirmCancels">confirmCancels</keyword>
+ <keyword ref="qdatatable.html#confirmCancels-prop">confirmCancels</keyword>
+ <keyword ref="qdatatable.html#confirmDelete">confirmDelete</keyword>
+ <keyword ref="qdatatable.html#confirmDelete-prop">confirmDelete</keyword>
+ <keyword ref="qdatatable.html#confirmEdit">confirmEdit</keyword>
+ <keyword ref="qdatatable.html#confirmEdits">confirmEdits</keyword>
+ <keyword ref="qdatatable.html#confirmEdits-prop">confirmEdits</keyword>
+ <keyword ref="qdatatable.html#confirmInsert">confirmInsert</keyword>
+ <keyword ref="qdatatable.html#confirmInsert-prop">confirmInsert</keyword>
+ <keyword ref="qdatatable.html#confirmUpdate">confirmUpdate</keyword>
+ <keyword ref="qdatatable.html#confirmUpdate-prop">confirmUpdate</keyword>
+ <keyword ref="qdatatable.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qdatatable.html#currentRecord">currentRecord</keyword>
+ <keyword ref="qdatatable.html#cursorChanged">cursorChanged</keyword>
+ <keyword ref="qdatatable.html#dateFormat">dateFormat</keyword>
+ <keyword ref="qdatatable.html#dateFormat-prop">dateFormat</keyword>
+ <keyword ref="qdatatable.html#deleteCurrent">deleteCurrent</keyword>
+ <keyword ref="qdatatable.html#falseText">falseText</keyword>
+ <keyword ref="qdatatable.html#falseText-prop">falseText</keyword>
+ <keyword ref="qdatatable.html#fieldAlignment">fieldAlignment</keyword>
+ <keyword ref="qdatatable.html#filter">filter</keyword>
+ <keyword ref="qdatatable.html#filter-prop">filter</keyword>
+ <keyword ref="qdatatable.html#find">find</keyword>
+ <keyword ref="qdatatable.html#handleError">handleError</keyword>
+ <keyword ref="qdatatable.html#indexOf">indexOf</keyword>
+ <keyword ref="qdatatable.html#insertCurrent">insertCurrent</keyword>
+ <keyword ref="qdatatable.html#installEditorFactory">installEditorFactory</keyword>
+ <keyword ref="qdatatable.html#installPropertyMap">installPropertyMap</keyword>
+ <keyword ref="qdatatable.html#nullText">nullText</keyword>
+ <keyword ref="qdatatable.html#nullText-prop">nullText</keyword>
+ <keyword ref="qdatatable.html#numCols">numCols</keyword>
+ <keyword ref="qdatatable.html#numCols-prop">numCols</keyword>
+ <keyword ref="qdatatable.html#numRows">numRows</keyword>
+ <keyword ref="qdatatable.html#numRows-prop">numRows</keyword>
+ <keyword ref="qdatatable.html#paintField">paintField</keyword>
+ <keyword ref="qdatatable.html#primeDelete">primeDelete</keyword>
+ <keyword ref="qdatatable.html#primeInsert">primeInsert</keyword>
+ <keyword ref="qdatatable.html#primeUpdate">primeUpdate</keyword>
+ <keyword ref="qdatatable.html#refresh">refresh</keyword>
+ <keyword ref="qdatatable.html#removeColumn">removeColumn</keyword>
+ <keyword ref="qdatatable.html#reset">reset</keyword>
+ <keyword ref="qdatatable.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qdatatable.html#setAutoEdit">setAutoEdit</keyword>
+ <keyword ref="qdatatable.html#setColumn">setColumn</keyword>
+ <keyword ref="qdatatable.html#setColumnWidth">setColumnWidth</keyword>
+ <keyword ref="qdatatable.html#setConfirmCancels">setConfirmCancels</keyword>
+ <keyword ref="qdatatable.html#setConfirmDelete">setConfirmDelete</keyword>
+ <keyword ref="qdatatable.html#setConfirmEdits">setConfirmEdits</keyword>
+ <keyword ref="qdatatable.html#setConfirmInsert">setConfirmInsert</keyword>
+ <keyword ref="qdatatable.html#setConfirmUpdate">setConfirmUpdate</keyword>
+ <keyword ref="qdatatable.html#setDateFormat">setDateFormat</keyword>
+ <keyword ref="qdatatable.html#setFalseText">setFalseText</keyword>
+ <keyword ref="qdatatable.html#setFilter">setFilter</keyword>
+ <keyword ref="qdatatable.html#setNullText">setNullText</keyword>
+ <keyword ref="qdatatable.html#setSize">setSize</keyword>
+ <keyword ref="qdatatable.html#setSort">setSort</keyword>
+ <keyword ref="qdatatable.html#setSqlCursor">setSqlCursor</keyword>
+ <keyword ref="qdatatable.html#setTrueText">setTrueText</keyword>
+ <keyword ref="qdatatable.html#sort">sort</keyword>
+ <keyword ref="qdatatable.html#sort-prop">sort</keyword>
+ <keyword ref="qdatatable.html#sortAscending">sortAscending</keyword>
+ <keyword ref="qdatatable.html#sortColumn">sortColumn</keyword>
+ <keyword ref="qdatatable.html#sortDescending">sortDescending</keyword>
+ <keyword ref="qdatatable.html#sqlCursor">sqlCursor</keyword>
+ <keyword ref="qdatatable.html#text">text</keyword>
+ <keyword ref="qdatatable.html#trueText">trueText</keyword>
+ <keyword ref="qdatatable.html#trueText-prop">trueText</keyword>
+ <keyword ref="qdatatable.html#updateCurrent">updateCurrent</keyword>
+ <keyword ref="qdatatable.html#value">value</keyword>
+ <keyword ref="qdatatable.html#~QDataTable">~QDataTable</keyword>
+ <section ref="qdatatable-members.html" title="List of All Member Functions"/>
+ <section ref="qdatatable-h.html" title="Header File"/>
+</section>
+<section ref="qdataview.html" title="QDataView Class Reference">
+ <keyword ref="qdataview.html">QDataView</keyword>
+ <keyword ref="qdataview.html#clearValues">clearValues</keyword>
+ <keyword ref="qdataview.html#form">form</keyword>
+ <keyword ref="qdataview.html#readFields">readFields</keyword>
+ <keyword ref="qdataview.html#record">record</keyword>
+ <keyword ref="qdataview.html#refresh">refresh</keyword>
+ <keyword ref="qdataview.html#setForm">setForm</keyword>
+ <keyword ref="qdataview.html#setRecord">setRecord</keyword>
+ <keyword ref="qdataview.html#writeFields">writeFields</keyword>
+ <keyword ref="qdataview.html#~QDataView">~QDataView</keyword>
+ <section ref="qdataview-members.html" title="List of All Member Functions"/>
+ <section ref="qdataview-h.html" title="Header File"/>
+</section>
+<section ref="qdate.html" title="QDate Class Reference">
+ <keyword ref="qdate.html">QDate</keyword>
+ <keyword ref="qdate.html#addDays">addDays</keyword>
+ <keyword ref="qdate.html#addMonths">addMonths</keyword>
+ <keyword ref="qdate.html#addYears">addYears</keyword>
+ <keyword ref="qdate.html#currentDate">currentDate</keyword>
+ <keyword ref="qdate.html#day">day</keyword>
+ <keyword ref="qdate.html#dayOfWeek">dayOfWeek</keyword>
+ <keyword ref="qdate.html#dayOfYear">dayOfYear</keyword>
+ <keyword ref="qdate.html#daysInMonth">daysInMonth</keyword>
+ <keyword ref="qdate.html#daysInYear">daysInYear</keyword>
+ <keyword ref="qdate.html#daysTo">daysTo</keyword>
+ <keyword ref="qdate.html#fromString">fromString</keyword>
+ <keyword ref="qdate.html#isNull">isNull</keyword>
+ <keyword ref="qdate.html#isValid">isValid</keyword>
+ <keyword ref="qdate.html#leapYear">leapYear</keyword>
+ <keyword ref="qdate.html#longDayName">longDayName</keyword>
+ <keyword ref="qdate.html#longMonthName">longMonthName</keyword>
+ <keyword ref="qdate.html#month">month</keyword>
+ <keyword ref="qdate.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdate.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qdate.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qdate.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdate.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qdate.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qdate.html#setYMD">setYMD</keyword>
+ <keyword ref="qdate.html#shortDayName">shortDayName</keyword>
+ <keyword ref="qdate.html#shortMonthName">shortMonthName</keyword>
+ <keyword ref="qdate.html#toString">toString</keyword>
+ <keyword ref="qdate.html#weekNumber">weekNumber</keyword>
+ <keyword ref="qdate.html#year">year</keyword>
+ <keyword ref="qdate.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qdate.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qdate-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetime-h.html" title="Header File"/>
+</section>
+<section ref="qdateedit.html" title="QDateEdit Class Reference">
+ <keyword ref="qdateedit.html">QDateEdit</keyword>
+ <keyword ref="qdateedit.html#Order">Order</keyword>
+ <keyword ref="qdateedit.html#autoAdvance">autoAdvance</keyword>
+ <keyword ref="qdateedit.html#autoAdvance-prop">autoAdvance</keyword>
+ <keyword ref="qdateedit.html#date">date</keyword>
+ <keyword ref="qdateedit.html#date-prop">date</keyword>
+ <keyword ref="qdateedit.html#fix">fix</keyword>
+ <keyword ref="qdateedit.html#maxValue">maxValue</keyword>
+ <keyword ref="qdateedit.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qdateedit.html#minValue">minValue</keyword>
+ <keyword ref="qdateedit.html#minValue-prop">minValue</keyword>
+ <keyword ref="qdateedit.html#order">order</keyword>
+ <keyword ref="qdateedit.html#order-prop">order</keyword>
+ <keyword ref="qdateedit.html#sectionFormattedText">sectionFormattedText</keyword>
+ <keyword ref="qdateedit.html#sectionLength">sectionLength</keyword>
+ <keyword ref="qdateedit.html#sectionText">sectionText</keyword>
+ <keyword ref="qdateedit.html#separator">separator</keyword>
+ <keyword ref="qdateedit.html#setAutoAdvance">setAutoAdvance</keyword>
+ <keyword ref="qdateedit.html#setDate">setDate</keyword>
+ <keyword ref="qdateedit.html#setDay">setDay</keyword>
+ <keyword ref="qdateedit.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qdateedit.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qdateedit.html#setMonth">setMonth</keyword>
+ <keyword ref="qdateedit.html#setOrder">setOrder</keyword>
+ <keyword ref="qdateedit.html#setRange">setRange</keyword>
+ <keyword ref="qdateedit.html#setSeparator">setSeparator</keyword>
+ <keyword ref="qdateedit.html#setYear">setYear</keyword>
+ <keyword ref="qdateedit.html#updateButtons">updateButtons</keyword>
+ <keyword ref="qdateedit.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qdateedit.html#~QDateEdit">~QDateEdit</keyword>
+ <section ref="qdateedit-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetimeedit-h.html" title="Header File"/>
+</section>
+<section ref="qdatetime.html" title="QDateTime Class Reference">
+ <keyword ref="qdatetime.html">QDateTime</keyword>
+ <keyword ref="qdatetime.html#addDays">addDays</keyword>
+ <keyword ref="qdatetime.html#addMonths">addMonths</keyword>
+ <keyword ref="qdatetime.html#addSecs">addSecs</keyword>
+ <keyword ref="qdatetime.html#addYears">addYears</keyword>
+ <keyword ref="qdatetime.html#currentDateTime">currentDateTime</keyword>
+ <keyword ref="qdatetime.html#date">date</keyword>
+ <keyword ref="qdatetime.html#daysTo">daysTo</keyword>
+ <keyword ref="qdatetime.html#fromString">fromString</keyword>
+ <keyword ref="qdatetime.html#isNull">isNull</keyword>
+ <keyword ref="qdatetime.html#isValid">isValid</keyword>
+ <keyword ref="qdatetime.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdatetime.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qdatetime.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qdatetime.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdatetime.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qdatetime.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qdatetime.html#secsTo">secsTo</keyword>
+ <keyword ref="qdatetime.html#setDate">setDate</keyword>
+ <keyword ref="qdatetime.html#setTime">setTime</keyword>
+ <keyword ref="qdatetime.html#setTime_t">setTime_t</keyword>
+ <keyword ref="qdatetime.html#time">time</keyword>
+ <keyword ref="qdatetime.html#toString">toString</keyword>
+ <keyword ref="qdatetime.html#toTime_t">toTime_t</keyword>
+ <keyword ref="qdatetime.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qdatetime.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qdatetime-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetime-h.html" title="Header File"/>
+</section>
+<section ref="qdatetimeedit.html" title="QDateTimeEdit Class Reference">
+ <keyword ref="qdatetimeedit.html">QDateTimeEdit</keyword>
+ <keyword ref="qdatetimeedit.html#autoAdvance">autoAdvance</keyword>
+ <keyword ref="qdatetimeedit.html#dateEdit">dateEdit</keyword>
+ <keyword ref="qdatetimeedit.html#dateTime">dateTime</keyword>
+ <keyword ref="qdatetimeedit.html#dateTime-prop">dateTime</keyword>
+ <keyword ref="qdatetimeedit.html#setAutoAdvance">setAutoAdvance</keyword>
+ <keyword ref="qdatetimeedit.html#setDateTime">setDateTime</keyword>
+ <keyword ref="qdatetimeedit.html#timeEdit">timeEdit</keyword>
+ <keyword ref="qdatetimeedit.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qdatetimeedit.html#~QDateTimeEdit">~QDateTimeEdit</keyword>
+ <section ref="qdatetimeedit-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetimeedit-h.html" title="Header File"/>
+</section>
+<section ref="qdatetimeeditbase.html" title="QDateTimeEditBase Class Reference">
+ <keyword ref="qdatetimeeditbase.html">QDateTimeEditBase</keyword>
+ <section ref="qdatetimeeditbase-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetimeedit-h.html" title="Header File"/>
+</section>
+<section ref="qdeepcopy.html" title="QDeepCopy Class Reference">
+ <keyword ref="qdeepcopy.html">QDeepCopy</keyword>
+ <keyword ref="qdeepcopy.html#operator-T">operator T</keyword>
+ <keyword ref="qdeepcopy.html#operator-eq">operator=</keyword>
+ <section ref="qdeepcopy-members.html" title="List of All Member Functions"/>
+ <section ref="qdeepcopy-h.html" title="Header File"/>
+</section>
+<section ref="qdesktopwidget.html" title="QDesktopWidget Class Reference">
+ <keyword ref="qdesktopwidget.html">QDesktopWidget</keyword>
+ <keyword ref="qdesktopwidget.html#availableGeometry">availableGeometry</keyword>
+ <keyword ref="qdesktopwidget.html#isVirtualDesktop">isVirtualDesktop</keyword>
+ <keyword ref="qdesktopwidget.html#numScreens">numScreens</keyword>
+ <keyword ref="qdesktopwidget.html#primaryScreen">primaryScreen</keyword>
+ <keyword ref="qdesktopwidget.html#resized">resized</keyword>
+ <keyword ref="qdesktopwidget.html#screen">screen</keyword>
+ <keyword ref="qdesktopwidget.html#screenGeometry">screenGeometry</keyword>
+ <keyword ref="qdesktopwidget.html#screenNumber">screenNumber</keyword>
+ <keyword ref="qdesktopwidget.html#~QDesktopWidget">~QDesktopWidget</keyword>
+ <section ref="qdesktopwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qdesktopwidget-h.html" title="Header File"/>
+</section>
+<section ref="qdial.html" title="QDial Class Reference">
+ <keyword ref="qdial.html">QDial</keyword>
+ <keyword ref="qdial.html#addLine">addLine</keyword>
+ <keyword ref="qdial.html#addPage">addPage</keyword>
+ <keyword ref="qdial.html#dialMoved">dialMoved</keyword>
+ <keyword ref="qdial.html#dialPressed">dialPressed</keyword>
+ <keyword ref="qdial.html#dialReleased">dialReleased</keyword>
+ <keyword ref="qdial.html#lineStep">lineStep</keyword>
+ <keyword ref="qdial.html#lineStep-prop">lineStep</keyword>
+ <keyword ref="qdial.html#maxValue">maxValue</keyword>
+ <keyword ref="qdial.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qdial.html#minValue">minValue</keyword>
+ <keyword ref="qdial.html#minValue-prop">minValue</keyword>
+ <keyword ref="qdial.html#notchSize">notchSize</keyword>
+ <keyword ref="qdial.html#notchSize-prop">notchSize</keyword>
+ <keyword ref="qdial.html#notchTarget">notchTarget</keyword>
+ <keyword ref="qdial.html#notchTarget-prop">notchTarget</keyword>
+ <keyword ref="qdial.html#notchesVisible">notchesVisible</keyword>
+ <keyword ref="qdial.html#notchesVisible-prop">notchesVisible</keyword>
+ <keyword ref="qdial.html#pageStep">pageStep</keyword>
+ <keyword ref="qdial.html#pageStep-prop">pageStep</keyword>
+ <keyword ref="qdial.html#rangeChange">rangeChange</keyword>
+ <keyword ref="qdial.html#repaintScreen">repaintScreen</keyword>
+ <keyword ref="qdial.html#setLineStep">setLineStep</keyword>
+ <keyword ref="qdial.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qdial.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qdial.html#setNotchTarget">setNotchTarget</keyword>
+ <keyword ref="qdial.html#setNotchesVisible">setNotchesVisible</keyword>
+ <keyword ref="qdial.html#setPageStep">setPageStep</keyword>
+ <keyword ref="qdial.html#setTracking">setTracking</keyword>
+ <keyword ref="qdial.html#setValue">setValue</keyword>
+ <keyword ref="qdial.html#setWrapping">setWrapping</keyword>
+ <keyword ref="qdial.html#subtractLine">subtractLine</keyword>
+ <keyword ref="qdial.html#subtractPage">subtractPage</keyword>
+ <keyword ref="qdial.html#tracking">tracking</keyword>
+ <keyword ref="qdial.html#tracking-prop">tracking</keyword>
+ <keyword ref="qdial.html#value">value</keyword>
+ <keyword ref="qdial.html#value-prop">value</keyword>
+ <keyword ref="qdial.html#valueChange">valueChange</keyword>
+ <keyword ref="qdial.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qdial.html#wrapping">wrapping</keyword>
+ <keyword ref="qdial.html#wrapping-prop">wrapping</keyword>
+ <keyword ref="qdial.html#~QDial">~QDial</keyword>
+ <section ref="qdial-members.html" title="List of All Member Functions"/>
+ <section ref="qdial-h.html" title="Header File"/>
+</section>
+<section ref="qdialog.html" title="QDialog Class Reference">
+ <keyword ref="qdialog.html">QDialog</keyword>
+ <keyword ref="qdialog.html#DialogCode">DialogCode</keyword>
+ <keyword ref="qdialog.html#accept">accept</keyword>
+ <keyword ref="qdialog.html#done">done</keyword>
+ <keyword ref="qdialog.html#exec">exec</keyword>
+ <keyword ref="qdialog.html#extension">extension</keyword>
+ <keyword ref="qdialog.html#isModal">isModal</keyword>
+ <keyword ref="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</keyword>
+ <keyword ref="qdialog.html#modal-prop">modal</keyword>
+ <keyword ref="qdialog.html#orientation">orientation</keyword>
+ <keyword ref="qdialog.html#reject">reject</keyword>
+ <keyword ref="qdialog.html#result">result</keyword>
+ <keyword ref="qdialog.html#setExtension">setExtension</keyword>
+ <keyword ref="qdialog.html#setModal">setModal</keyword>
+ <keyword ref="qdialog.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qdialog.html#setResult">setResult</keyword>
+ <keyword ref="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</keyword>
+ <keyword ref="qdialog.html#show">show</keyword>
+ <keyword ref="qdialog.html#showExtension">showExtension</keyword>
+ <keyword ref="qdialog.html#sizeGripEnabled-prop">sizeGripEnabled</keyword>
+ <keyword ref="qdialog.html#~QDialog">~QDialog</keyword>
+ <section ref="qdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qdialog-h.html" title="Header File"/>
+</section>
+<section ref="qdict.html" title="QDict Class Reference">
+ <keyword ref="qdict.html">QDict</keyword>
+ <keyword ref="qdict.html#clear">clear</keyword>
+ <keyword ref="qdict.html#count">count</keyword>
+ <keyword ref="qdict.html#find">find</keyword>
+ <keyword ref="qdict.html#insert">insert</keyword>
+ <keyword ref="qdict.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qdict.html#operator-eq">operator=</keyword>
+ <keyword ref="qdict.html#operator[]">operator[]</keyword>
+ <keyword ref="qdict.html#read">read</keyword>
+ <keyword ref="qdict.html#remove">remove</keyword>
+ <keyword ref="qdict.html#replace">replace</keyword>
+ <keyword ref="qdict.html#resize">resize</keyword>
+ <keyword ref="qdict.html#size">size</keyword>
+ <keyword ref="qdict.html#statistics">statistics</keyword>
+ <keyword ref="qdict.html#take">take</keyword>
+ <keyword ref="qdict.html#write">write</keyword>
+ <keyword ref="qdict.html#~QDict">~QDict</keyword>
+ <section ref="qdict-members.html" title="List of All Member Functions"/>
+ <section ref="qdict-h.html" title="Header File"/>
+</section>
+<section ref="qdictiterator.html" title="QDictIterator Class Reference">
+ <keyword ref="qdictiterator.html">QDictIterator</keyword>
+ <keyword ref="qdictiterator.html#count">count</keyword>
+ <keyword ref="qdictiterator.html#current">current</keyword>
+ <keyword ref="qdictiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qdictiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qdictiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qdictiterator.html#operator()">operator()</keyword>
+ <keyword ref="qdictiterator.html#operator++">operator++</keyword>
+ <keyword ref="qdictiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qdictiterator.html#~QDictIterator">~QDictIterator</keyword>
+ <section ref="qdictiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qdict-h.html" title="Header File"/>
+</section>
+<section ref="qdir.html" title="QDir Class Reference">
+ <keyword ref="qdir.html">QDir</keyword>
+ <keyword ref="qdir.html#FilterSpec">FilterSpec</keyword>
+ <keyword ref="qdir.html#SortSpec">SortSpec</keyword>
+ <keyword ref="qdir.html#absFilePath">absFilePath</keyword>
+ <keyword ref="qdir.html#absPath">absPath</keyword>
+ <keyword ref="qdir.html#canonicalPath">canonicalPath</keyword>
+ <keyword ref="qdir.html#cd">cd</keyword>
+ <keyword ref="qdir.html#cdUp">cdUp</keyword>
+ <keyword ref="qdir.html#cleanDirPath">cleanDirPath</keyword>
+ <keyword ref="qdir.html#convertSeparators">convertSeparators</keyword>
+ <keyword ref="qdir.html#convertToAbs">convertToAbs</keyword>
+ <keyword ref="qdir.html#count">count</keyword>
+ <keyword ref="qdir.html#current">current</keyword>
+ <keyword ref="qdir.html#currentDirPath">currentDirPath</keyword>
+ <keyword ref="qdir.html#dirName">dirName</keyword>
+ <keyword ref="qdir.html#drives">drives</keyword>
+ <keyword ref="qdir.html#entryInfoList">entryInfoList</keyword>
+ <keyword ref="qdir.html#entryList">entryList</keyword>
+ <keyword ref="qdir.html#exists">exists</keyword>
+ <keyword ref="qdir.html#filePath">filePath</keyword>
+ <keyword ref="qdir.html#filter">filter</keyword>
+ <keyword ref="qdir.html#home">home</keyword>
+ <keyword ref="qdir.html#homeDirPath">homeDirPath</keyword>
+ <keyword ref="qdir.html#isReadable">isReadable</keyword>
+ <keyword ref="qdir.html#isRelative">isRelative</keyword>
+ <keyword ref="qdir.html#isRelativePath">isRelativePath</keyword>
+ <keyword ref="qdir.html#isRoot">isRoot</keyword>
+ <keyword ref="qdir.html#match">match</keyword>
+ <keyword ref="qdir.html#matchAllDirs">matchAllDirs</keyword>
+ <keyword ref="qdir.html#mkdir">mkdir</keyword>
+ <keyword ref="qdir.html#nameFilter">nameFilter</keyword>
+ <keyword ref="qdir.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdir.html#operator-eq">operator=</keyword>
+ <keyword ref="qdir.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdir.html#operator[]">operator[]</keyword>
+ <keyword ref="qdir.html#path">path</keyword>
+ <keyword ref="qdir.html#refresh">refresh</keyword>
+ <keyword ref="qdir.html#remove">remove</keyword>
+ <keyword ref="qdir.html#rename">rename</keyword>
+ <keyword ref="qdir.html#rmdir">rmdir</keyword>
+ <keyword ref="qdir.html#root">root</keyword>
+ <keyword ref="qdir.html#rootDirPath">rootDirPath</keyword>
+ <keyword ref="qdir.html#separator">separator</keyword>
+ <keyword ref="qdir.html#setCurrent">setCurrent</keyword>
+ <keyword ref="qdir.html#setFilter">setFilter</keyword>
+ <keyword ref="qdir.html#setMatchAllDirs">setMatchAllDirs</keyword>
+ <keyword ref="qdir.html#setNameFilter">setNameFilter</keyword>
+ <keyword ref="qdir.html#setPath">setPath</keyword>
+ <keyword ref="qdir.html#setSorting">setSorting</keyword>
+ <keyword ref="qdir.html#sorting">sorting</keyword>
+ <keyword ref="qdir.html#~QDir">~QDir</keyword>
+ <section ref="qdir-members.html" title="List of All Member Functions"/>
+ <section ref="qdir-h.html" title="Header File"/>
+</section>
+<section ref="qdirectpainter.html" title="QDirectPainter Class Reference">
+ <keyword ref="qdirectpainter.html">QDirectPainter</keyword>
+ <keyword ref="qdirectpainter.html#depth">depth</keyword>
+ <keyword ref="qdirectpainter.html#frameBuffer">frameBuffer</keyword>
+ <keyword ref="qdirectpainter.html#height">height</keyword>
+ <keyword ref="qdirectpainter.html#lineStep">lineStep</keyword>
+ <keyword ref="qdirectpainter.html#numRects">numRects</keyword>
+ <keyword ref="qdirectpainter.html#offset">offset</keyword>
+ <keyword ref="qdirectpainter.html#rect">rect</keyword>
+ <keyword ref="qdirectpainter.html#region">region</keyword>
+ <keyword ref="qdirectpainter.html#setAreaChanged">setAreaChanged</keyword>
+ <keyword ref="qdirectpainter.html#size">size</keyword>
+ <keyword ref="qdirectpainter.html#transformOrientation">transformOrientation</keyword>
+ <keyword ref="qdirectpainter.html#width">width</keyword>
+ <keyword ref="qdirectpainter.html#xOffset">xOffset</keyword>
+ <keyword ref="qdirectpainter.html#yOffset">yOffset</keyword>
+ <keyword ref="qdirectpainter.html#~QDirectPainter">~QDirectPainter</keyword>
+ <section ref="qdirectpainter-members.html" title="List of All Member Functions"/>
+ <section ref="qdirectpainter_qws-h.html" title="Header File"/>
+</section>
+<section ref="qdns.html" title="QDns Class Reference">
+ <keyword ref="qdns.html">QDns</keyword>
+ <keyword ref="qdns.html#RecordType">RecordType</keyword>
+ <keyword ref="qdns.html#addresses">addresses</keyword>
+ <keyword ref="qdns.html#canonicalName">canonicalName</keyword>
+ <keyword ref="qdns.html#hostNames">hostNames</keyword>
+ <keyword ref="qdns.html#isWorking">isWorking</keyword>
+ <keyword ref="qdns.html#label">label</keyword>
+ <keyword ref="qdns.html#mailServers">mailServers</keyword>
+ <keyword ref="qdns.html#qualifiedNames">qualifiedNames</keyword>
+ <keyword ref="qdns.html#recordType">recordType</keyword>
+ <keyword ref="qdns.html#resultsReady">resultsReady</keyword>
+ <keyword ref="qdns.html#servers">servers</keyword>
+ <keyword ref="qdns.html#setLabel">setLabel</keyword>
+ <keyword ref="qdns.html#setRecordType">setRecordType</keyword>
+ <keyword ref="qdns.html#setStartQueryTimer">setStartQueryTimer</keyword>
+ <keyword ref="qdns.html#texts">texts</keyword>
+ <keyword ref="qdns.html#~QDns">~QDns</keyword>
+ <section ref="qdns-members.html" title="List of All Member Functions"/>
+ <section ref="qdns-h.html" title="Header File"/>
+</section>
+<section ref="qdockarea.html" title="QDockArea Class Reference">
+ <keyword ref="qdockarea.html">QDockArea</keyword>
+ <keyword ref="qdockarea.html#HandlePosition">HandlePosition</keyword>
+ <keyword ref="qdockarea.html#count">count</keyword>
+ <keyword ref="qdockarea.html#count-prop">count</keyword>
+ <keyword ref="qdockarea.html#dockWindowList">dockWindowList</keyword>
+ <keyword ref="qdockarea.html#empty-prop">empty</keyword>
+ <keyword ref="qdockarea.html#handlePosition">handlePosition</keyword>
+ <keyword ref="qdockarea.html#handlePosition-prop">handlePosition</keyword>
+ <keyword ref="qdockarea.html#hasDockWindow">hasDockWindow</keyword>
+ <keyword ref="qdockarea.html#isDockWindowAccepted">isDockWindowAccepted</keyword>
+ <keyword ref="qdockarea.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qdockarea.html#lineUp">lineUp</keyword>
+ <keyword ref="qdockarea.html#moveDockWindow">moveDockWindow</keyword>
+ <keyword ref="qdockarea.html#orientation">orientation</keyword>
+ <keyword ref="qdockarea.html#orientation-prop">orientation</keyword>
+ <keyword ref="qdockarea.html#removeDockWindow">removeDockWindow</keyword>
+ <keyword ref="qdockarea.html#setAcceptDockWindow">setAcceptDockWindow</keyword>
+ <keyword ref="qdockarea.html#~QDockArea">~QDockArea</keyword>
+ <keyword ref="qdockarea.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qdockarea.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qdockarea-members.html" title="List of All Member Functions"/>
+ <section ref="qdockarea-h.html" title="Header File"/>
+</section>
+<section ref="qdockwindow.html" title="QDockWindow Class Reference">
+ <keyword ref="qdockwindow.html">QDockWindow</keyword>
+ <keyword ref="qdockwindow.html#CloseMode">CloseMode</keyword>
+ <keyword ref="qdockwindow.html#Place">Place</keyword>
+ <keyword ref="qdockwindow.html#area">area</keyword>
+ <keyword ref="qdockwindow.html#boxLayout">boxLayout</keyword>
+ <keyword ref="qdockwindow.html#closeMode">closeMode</keyword>
+ <keyword ref="qdockwindow.html#closeMode-prop">closeMode</keyword>
+ <keyword ref="qdockwindow.html#dock">dock</keyword>
+ <keyword ref="qdockwindow.html#fixedExtent">fixedExtent</keyword>
+ <keyword ref="qdockwindow.html#horizontallyStretchable-prop">horizontallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#isCloseEnabled">isCloseEnabled</keyword>
+ <keyword ref="qdockwindow.html#isHorizontallyStretchable">isHorizontallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#isMovingEnabled">isMovingEnabled</keyword>
+ <keyword ref="qdockwindow.html#isResizeEnabled">isResizeEnabled</keyword>
+ <keyword ref="qdockwindow.html#isStretchable">isStretchable</keyword>
+ <keyword ref="qdockwindow.html#isVerticallyStretchable">isVerticallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#movingEnabled-prop">movingEnabled</keyword>
+ <keyword ref="qdockwindow.html#newLine">newLine</keyword>
+ <keyword ref="qdockwindow.html#newLine-prop">newLine</keyword>
+ <keyword ref="qdockwindow.html#offset">offset</keyword>
+ <keyword ref="qdockwindow.html#offset-prop">offset</keyword>
+ <keyword ref="qdockwindow.html#opaqueMoving">opaqueMoving</keyword>
+ <keyword ref="qdockwindow.html#opaqueMoving-prop">opaqueMoving</keyword>
+ <keyword ref="qdockwindow.html#orientation">orientation</keyword>
+ <keyword ref="qdockwindow.html#orientationChanged">orientationChanged</keyword>
+ <keyword ref="qdockwindow.html#place">place</keyword>
+ <keyword ref="qdockwindow.html#placeChanged">placeChanged</keyword>
+ <keyword ref="qdockwindow.html#resizeEnabled-prop">resizeEnabled</keyword>
+ <keyword ref="qdockwindow.html#setCloseMode">setCloseMode</keyword>
+ <keyword ref="qdockwindow.html#setFixedExtentHeight">setFixedExtentHeight</keyword>
+ <keyword ref="qdockwindow.html#setFixedExtentWidth">setFixedExtentWidth</keyword>
+ <keyword ref="qdockwindow.html#setHorizontallyStretchable">setHorizontallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#setMovingEnabled">setMovingEnabled</keyword>
+ <keyword ref="qdockwindow.html#setNewLine">setNewLine</keyword>
+ <keyword ref="qdockwindow.html#setOffset">setOffset</keyword>
+ <keyword ref="qdockwindow.html#setOpaqueMoving">setOpaqueMoving</keyword>
+ <keyword ref="qdockwindow.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qdockwindow.html#setResizeEnabled">setResizeEnabled</keyword>
+ <keyword ref="qdockwindow.html#setVerticallyStretchable">setVerticallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#setWidget">setWidget</keyword>
+ <keyword ref="qdockwindow.html#stretchable-prop">stretchable</keyword>
+ <keyword ref="qdockwindow.html#undock">undock</keyword>
+ <keyword ref="qdockwindow.html#verticallyStretchable-prop">verticallyStretchable</keyword>
+ <keyword ref="qdockwindow.html#visibilityChanged">visibilityChanged</keyword>
+ <keyword ref="qdockwindow.html#widget">widget</keyword>
+ <section ref="qdockwindow-members.html" title="List of All Member Functions"/>
+ <section ref="qdockwindow-h.html" title="Header File"/>
+</section>
+<section ref="qdomattr.html" title="QDomAttr Class Reference">
+ <keyword ref="qdomattr.html">QDomAttr</keyword>
+ <keyword ref="qdomattr.html#isAttr">isAttr</keyword>
+ <keyword ref="qdomattr.html#name">name</keyword>
+ <keyword ref="qdomattr.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomattr.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomattr.html#ownerElement">ownerElement</keyword>
+ <keyword ref="qdomattr.html#setValue">setValue</keyword>
+ <keyword ref="qdomattr.html#specified">specified</keyword>
+ <keyword ref="qdomattr.html#value">value</keyword>
+ <keyword ref="qdomattr.html#~QDomAttr">~QDomAttr</keyword>
+ <section ref="qdomattr-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomcdatasection.html" title="QDomCDATASection Class Reference">
+ <keyword ref="qdomcdatasection.html">QDomCDATASection</keyword>
+ <keyword ref="qdomcdatasection.html#isCDATASection">isCDATASection</keyword>
+ <keyword ref="qdomcdatasection.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomcdatasection.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomcdatasection.html#~QDomCDATASection">~QDomCDATASection</keyword>
+ <section ref="qdomcdatasection-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomcharacterdata.html" title="QDomCharacterData Class Reference">
+ <keyword ref="qdomcharacterdata.html">QDomCharacterData</keyword>
+ <keyword ref="qdomcharacterdata.html#appendData">appendData</keyword>
+ <keyword ref="qdomcharacterdata.html#data">data</keyword>
+ <keyword ref="qdomcharacterdata.html#deleteData">deleteData</keyword>
+ <keyword ref="qdomcharacterdata.html#insertData">insertData</keyword>
+ <keyword ref="qdomcharacterdata.html#isCharacterData">isCharacterData</keyword>
+ <keyword ref="qdomcharacterdata.html#length">length</keyword>
+ <keyword ref="qdomcharacterdata.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomcharacterdata.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomcharacterdata.html#replaceData">replaceData</keyword>
+ <keyword ref="qdomcharacterdata.html#setData">setData</keyword>
+ <keyword ref="qdomcharacterdata.html#substringData">substringData</keyword>
+ <keyword ref="qdomcharacterdata.html#~QDomCharacterData">~QDomCharacterData</keyword>
+ <section ref="qdomcharacterdata-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomcomment.html" title="QDomComment Class Reference">
+ <keyword ref="qdomcomment.html">QDomComment</keyword>
+ <keyword ref="qdomcomment.html#isComment">isComment</keyword>
+ <keyword ref="qdomcomment.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomcomment.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomcomment.html#~QDomComment">~QDomComment</keyword>
+ <section ref="qdomcomment-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomdocument.html" title="QDomDocument Class Reference">
+ <keyword ref="qdomdocument.html">QDomDocument</keyword>
+ <keyword ref="qdomdocument.html#createAttribute">createAttribute</keyword>
+ <keyword ref="qdomdocument.html#createAttributeNS">createAttributeNS</keyword>
+ <keyword ref="qdomdocument.html#createCDATASection">createCDATASection</keyword>
+ <keyword ref="qdomdocument.html#createComment">createComment</keyword>
+ <keyword ref="qdomdocument.html#createDocumentFragment">createDocumentFragment</keyword>
+ <keyword ref="qdomdocument.html#createElement">createElement</keyword>
+ <keyword ref="qdomdocument.html#createElementNS">createElementNS</keyword>
+ <keyword ref="qdomdocument.html#createEntityReference">createEntityReference</keyword>
+ <keyword ref="qdomdocument.html#createProcessingInstruction">createProcessingInstruction</keyword>
+ <keyword ref="qdomdocument.html#createTextNode">createTextNode</keyword>
+ <keyword ref="qdomdocument.html#doctype">doctype</keyword>
+ <keyword ref="qdomdocument.html#documentElement">documentElement</keyword>
+ <keyword ref="qdomdocument.html#elementById">elementById</keyword>
+ <keyword ref="qdomdocument.html#elementsByTagName">elementsByTagName</keyword>
+ <keyword ref="qdomdocument.html#elementsByTagNameNS">elementsByTagNameNS</keyword>
+ <keyword ref="qdomdocument.html#implementation">implementation</keyword>
+ <keyword ref="qdomdocument.html#importNode">importNode</keyword>
+ <keyword ref="qdomdocument.html#isDocument">isDocument</keyword>
+ <keyword ref="qdomdocument.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomdocument.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomdocument.html#setContent">setContent</keyword>
+ <keyword ref="qdomdocument.html#toCString">toCString</keyword>
+ <keyword ref="qdomdocument.html#toString">toString</keyword>
+ <keyword ref="qdomdocument.html#~QDomDocument">~QDomDocument</keyword>
+ <section ref="qdomdocument-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomdocumentfragment.html" title="QDomDocumentFragment Class Reference">
+ <keyword ref="qdomdocumentfragment.html">QDomDocumentFragment</keyword>
+ <keyword ref="qdomdocumentfragment.html#isDocumentFragment">isDocumentFragment</keyword>
+ <keyword ref="qdomdocumentfragment.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomdocumentfragment.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomdocumentfragment.html#~QDomDocumentFragment">~QDomDocumentFragment</keyword>
+ <section ref="qdomdocumentfragment-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomdocumenttype.html" title="QDomDocumentType Class Reference">
+ <keyword ref="qdomdocumenttype.html">QDomDocumentType</keyword>
+ <keyword ref="qdomdocumenttype.html#entities">entities</keyword>
+ <keyword ref="qdomdocumenttype.html#internalSubset">internalSubset</keyword>
+ <keyword ref="qdomdocumenttype.html#isDocumentType">isDocumentType</keyword>
+ <keyword ref="qdomdocumenttype.html#name">name</keyword>
+ <keyword ref="qdomdocumenttype.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomdocumenttype.html#notations">notations</keyword>
+ <keyword ref="qdomdocumenttype.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomdocumenttype.html#publicId">publicId</keyword>
+ <keyword ref="qdomdocumenttype.html#systemId">systemId</keyword>
+ <keyword ref="qdomdocumenttype.html#~QDomDocumentType">~QDomDocumentType</keyword>
+ <section ref="qdomdocumenttype-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomelement.html" title="QDomElement Class Reference">
+ <keyword ref="qdomelement.html">QDomElement</keyword>
+ <keyword ref="qdomelement.html#attribute">attribute</keyword>
+ <keyword ref="qdomelement.html#attributeNS">attributeNS</keyword>
+ <keyword ref="qdomelement.html#attributeNode">attributeNode</keyword>
+ <keyword ref="qdomelement.html#attributeNodeNS">attributeNodeNS</keyword>
+ <keyword ref="qdomelement.html#attributes">attributes</keyword>
+ <keyword ref="qdomelement.html#elementsByTagName">elementsByTagName</keyword>
+ <keyword ref="qdomelement.html#elementsByTagNameNS">elementsByTagNameNS</keyword>
+ <keyword ref="qdomelement.html#hasAttribute">hasAttribute</keyword>
+ <keyword ref="qdomelement.html#hasAttributeNS">hasAttributeNS</keyword>
+ <keyword ref="qdomelement.html#isElement">isElement</keyword>
+ <keyword ref="qdomelement.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomelement.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomelement.html#removeAttribute">removeAttribute</keyword>
+ <keyword ref="qdomelement.html#removeAttributeNS">removeAttributeNS</keyword>
+ <keyword ref="qdomelement.html#removeAttributeNode">removeAttributeNode</keyword>
+ <keyword ref="qdomelement.html#setAttribute">setAttribute</keyword>
+ <keyword ref="qdomelement.html#setAttributeNS">setAttributeNS</keyword>
+ <keyword ref="qdomelement.html#setAttributeNode">setAttributeNode</keyword>
+ <keyword ref="qdomelement.html#setAttributeNodeNS">setAttributeNodeNS</keyword>
+ <keyword ref="qdomelement.html#setTagName">setTagName</keyword>
+ <keyword ref="qdomelement.html#tagName">tagName</keyword>
+ <keyword ref="qdomelement.html#text">text</keyword>
+ <keyword ref="qdomelement.html#~QDomElement">~QDomElement</keyword>
+ <section ref="qdomelement-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomentity.html" title="QDomEntity Class Reference">
+ <keyword ref="qdomentity.html">QDomEntity</keyword>
+ <keyword ref="qdomentity.html#isEntity">isEntity</keyword>
+ <keyword ref="qdomentity.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomentity.html#notationName">notationName</keyword>
+ <keyword ref="qdomentity.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomentity.html#publicId">publicId</keyword>
+ <keyword ref="qdomentity.html#systemId">systemId</keyword>
+ <keyword ref="qdomentity.html#~QDomEntity">~QDomEntity</keyword>
+ <section ref="qdomentity-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomentityreference.html" title="QDomEntityReference Class Reference">
+ <keyword ref="qdomentityreference.html">QDomEntityReference</keyword>
+ <keyword ref="qdomentityreference.html#isEntityReference">isEntityReference</keyword>
+ <keyword ref="qdomentityreference.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomentityreference.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomentityreference.html#~QDomEntityReference">~QDomEntityReference</keyword>
+ <section ref="qdomentityreference-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomimplementation.html" title="QDomImplementation Class Reference">
+ <keyword ref="qdomimplementation.html">QDomImplementation</keyword>
+ <keyword ref="qdomimplementation.html#createDocument">createDocument</keyword>
+ <keyword ref="qdomimplementation.html#createDocumentType">createDocumentType</keyword>
+ <keyword ref="qdomimplementation.html#hasFeature">hasFeature</keyword>
+ <keyword ref="qdomimplementation.html#isNull">isNull</keyword>
+ <keyword ref="qdomimplementation.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdomimplementation.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomimplementation.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdomimplementation.html#~QDomImplementation">~QDomImplementation</keyword>
+ <section ref="qdomimplementation-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomnamednodemap.html" title="QDomNamedNodeMap Class Reference">
+ <keyword ref="qdomnamednodemap.html">QDomNamedNodeMap</keyword>
+ <keyword ref="qdomnamednodemap.html#contains">contains</keyword>
+ <keyword ref="qdomnamednodemap.html#count">count</keyword>
+ <keyword ref="qdomnamednodemap.html#item">item</keyword>
+ <keyword ref="qdomnamednodemap.html#length">length</keyword>
+ <keyword ref="qdomnamednodemap.html#namedItem">namedItem</keyword>
+ <keyword ref="qdomnamednodemap.html#namedItemNS">namedItemNS</keyword>
+ <keyword ref="qdomnamednodemap.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdomnamednodemap.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomnamednodemap.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdomnamednodemap.html#removeNamedItem">removeNamedItem</keyword>
+ <keyword ref="qdomnamednodemap.html#removeNamedItemNS">removeNamedItemNS</keyword>
+ <keyword ref="qdomnamednodemap.html#setNamedItem">setNamedItem</keyword>
+ <keyword ref="qdomnamednodemap.html#setNamedItemNS">setNamedItemNS</keyword>
+ <keyword ref="qdomnamednodemap.html#~QDomNamedNodeMap">~QDomNamedNodeMap</keyword>
+ <section ref="qdomnamednodemap-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomnode.html" title="QDomNode Class Reference">
+ <keyword ref="qdomnode.html">QDomNode</keyword>
+ <keyword ref="qdomnode.html#NodeType">NodeType</keyword>
+ <keyword ref="qdomnode.html#appendChild">appendChild</keyword>
+ <keyword ref="qdomnode.html#attributes">attributes</keyword>
+ <keyword ref="qdomnode.html#childNodes">childNodes</keyword>
+ <keyword ref="qdomnode.html#clear">clear</keyword>
+ <keyword ref="qdomnode.html#cloneNode">cloneNode</keyword>
+ <keyword ref="qdomnode.html#firstChild">firstChild</keyword>
+ <keyword ref="qdomnode.html#hasAttributes">hasAttributes</keyword>
+ <keyword ref="qdomnode.html#hasChildNodes">hasChildNodes</keyword>
+ <keyword ref="qdomnode.html#insertAfter">insertAfter</keyword>
+ <keyword ref="qdomnode.html#insertBefore">insertBefore</keyword>
+ <keyword ref="qdomnode.html#isAttr">isAttr</keyword>
+ <keyword ref="qdomnode.html#isCDATASection">isCDATASection</keyword>
+ <keyword ref="qdomnode.html#isCharacterData">isCharacterData</keyword>
+ <keyword ref="qdomnode.html#isComment">isComment</keyword>
+ <keyword ref="qdomnode.html#isDocument">isDocument</keyword>
+ <keyword ref="qdomnode.html#isDocumentFragment">isDocumentFragment</keyword>
+ <keyword ref="qdomnode.html#isDocumentType">isDocumentType</keyword>
+ <keyword ref="qdomnode.html#isElement">isElement</keyword>
+ <keyword ref="qdomnode.html#isEntity">isEntity</keyword>
+ <keyword ref="qdomnode.html#isEntityReference">isEntityReference</keyword>
+ <keyword ref="qdomnode.html#isNotation">isNotation</keyword>
+ <keyword ref="qdomnode.html#isNull">isNull</keyword>
+ <keyword ref="qdomnode.html#isProcessingInstruction">isProcessingInstruction</keyword>
+ <keyword ref="qdomnode.html#isSupported">isSupported</keyword>
+ <keyword ref="qdomnode.html#isText">isText</keyword>
+ <keyword ref="qdomnode.html#lastChild">lastChild</keyword>
+ <keyword ref="qdomnode.html#localName">localName</keyword>
+ <keyword ref="qdomnode.html#namedItem">namedItem</keyword>
+ <keyword ref="qdomnode.html#namespaceURI">namespaceURI</keyword>
+ <keyword ref="qdomnode.html#nextSibling">nextSibling</keyword>
+ <keyword ref="qdomnode.html#nodeName">nodeName</keyword>
+ <keyword ref="qdomnode.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomnode.html#nodeValue">nodeValue</keyword>
+ <keyword ref="qdomnode.html#normalize">normalize</keyword>
+ <keyword ref="qdomnode.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdomnode.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomnode.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdomnode.html#ownerDocument">ownerDocument</keyword>
+ <keyword ref="qdomnode.html#parentNode">parentNode</keyword>
+ <keyword ref="qdomnode.html#prefix">prefix</keyword>
+ <keyword ref="qdomnode.html#previousSibling">previousSibling</keyword>
+ <keyword ref="qdomnode.html#removeChild">removeChild</keyword>
+ <keyword ref="qdomnode.html#replaceChild">replaceChild</keyword>
+ <keyword ref="qdomnode.html#save">save</keyword>
+ <keyword ref="qdomnode.html#setNodeValue">setNodeValue</keyword>
+ <keyword ref="qdomnode.html#setPrefix">setPrefix</keyword>
+ <keyword ref="qdomnode.html#toAttr">toAttr</keyword>
+ <keyword ref="qdomnode.html#toCDATASection">toCDATASection</keyword>
+ <keyword ref="qdomnode.html#toCharacterData">toCharacterData</keyword>
+ <keyword ref="qdomnode.html#toComment">toComment</keyword>
+ <keyword ref="qdomnode.html#toDocument">toDocument</keyword>
+ <keyword ref="qdomnode.html#toDocumentFragment">toDocumentFragment</keyword>
+ <keyword ref="qdomnode.html#toDocumentType">toDocumentType</keyword>
+ <keyword ref="qdomnode.html#toElement">toElement</keyword>
+ <keyword ref="qdomnode.html#toEntity">toEntity</keyword>
+ <keyword ref="qdomnode.html#toEntityReference">toEntityReference</keyword>
+ <keyword ref="qdomnode.html#toNotation">toNotation</keyword>
+ <keyword ref="qdomnode.html#toProcessingInstruction">toProcessingInstruction</keyword>
+ <keyword ref="qdomnode.html#toText">toText</keyword>
+ <keyword ref="qdomnode.html#~QDomNode">~QDomNode</keyword>
+ <keyword ref="qdomnode.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <section ref="qdomnode-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomnodelist.html" title="QDomNodeList Class Reference">
+ <keyword ref="qdomnodelist.html">QDomNodeList</keyword>
+ <keyword ref="qdomnodelist.html#count">count</keyword>
+ <keyword ref="qdomnodelist.html#item">item</keyword>
+ <keyword ref="qdomnodelist.html#length">length</keyword>
+ <keyword ref="qdomnodelist.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qdomnodelist.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomnodelist.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qdomnodelist.html#~QDomNodeList">~QDomNodeList</keyword>
+ <section ref="qdomnodelist-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomnotation.html" title="QDomNotation Class Reference">
+ <keyword ref="qdomnotation.html">QDomNotation</keyword>
+ <keyword ref="qdomnotation.html#isNotation">isNotation</keyword>
+ <keyword ref="qdomnotation.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomnotation.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomnotation.html#publicId">publicId</keyword>
+ <keyword ref="qdomnotation.html#systemId">systemId</keyword>
+ <keyword ref="qdomnotation.html#~QDomNotation">~QDomNotation</keyword>
+ <section ref="qdomnotation-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomprocessinginstruction.html" title="QDomProcessingInstruction Class Reference">
+ <keyword ref="qdomprocessinginstruction.html">QDomProcessingInstruction</keyword>
+ <keyword ref="qdomprocessinginstruction.html#data">data</keyword>
+ <keyword ref="qdomprocessinginstruction.html#isProcessingInstruction">isProcessingInstruction</keyword>
+ <keyword ref="qdomprocessinginstruction.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomprocessinginstruction.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomprocessinginstruction.html#setData">setData</keyword>
+ <keyword ref="qdomprocessinginstruction.html#target">target</keyword>
+ <keyword ref="qdomprocessinginstruction.html#~QDomProcessingInstruction">~QDomProcessingInstruction</keyword>
+ <section ref="qdomprocessinginstruction-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdomtext.html" title="QDomText Class Reference">
+ <keyword ref="qdomtext.html">QDomText</keyword>
+ <keyword ref="qdomtext.html#isText">isText</keyword>
+ <keyword ref="qdomtext.html#nodeType">nodeType</keyword>
+ <keyword ref="qdomtext.html#operator-eq">operator=</keyword>
+ <keyword ref="qdomtext.html#splitText">splitText</keyword>
+ <keyword ref="qdomtext.html#~QDomText">~QDomText</keyword>
+ <section ref="qdomtext-members.html" title="List of All Member Functions"/>
+ <section ref="qdom-h.html" title="Header File"/>
+</section>
+<section ref="qdoublevalidator.html" title="QDoubleValidator Class Reference">
+ <keyword ref="qdoublevalidator.html">QDoubleValidator</keyword>
+ <keyword ref="qdoublevalidator.html#bottom">bottom</keyword>
+ <keyword ref="qdoublevalidator.html#bottom-prop">bottom</keyword>
+ <keyword ref="qdoublevalidator.html#decimals">decimals</keyword>
+ <keyword ref="qdoublevalidator.html#decimals-prop">decimals</keyword>
+ <keyword ref="qdoublevalidator.html#setBottom">setBottom</keyword>
+ <keyword ref="qdoublevalidator.html#setDecimals">setDecimals</keyword>
+ <keyword ref="qdoublevalidator.html#setRange">setRange</keyword>
+ <keyword ref="qdoublevalidator.html#setTop">setTop</keyword>
+ <keyword ref="qdoublevalidator.html#top">top</keyword>
+ <keyword ref="qdoublevalidator.html#top-prop">top</keyword>
+ <keyword ref="qdoublevalidator.html#validate">validate</keyword>
+ <keyword ref="qdoublevalidator.html#~QDoubleValidator">~QDoubleValidator</keyword>
+ <section ref="qdoublevalidator-members.html" title="List of All Member Functions"/>
+ <section ref="qvalidator-h.html" title="Header File"/>
+</section>
+<section ref="qdragenterevent.html" title="QDragEnterEvent Class Reference">
+ <keyword ref="qdragenterevent.html">QDragEnterEvent</keyword>
+ <section ref="qdragenterevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qdragleaveevent.html" title="QDragLeaveEvent Class Reference">
+ <keyword ref="qdragleaveevent.html">QDragLeaveEvent</keyword>
+ <section ref="qdragleaveevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qdragmoveevent.html" title="QDragMoveEvent Class Reference">
+ <keyword ref="qdragmoveevent.html">QDragMoveEvent</keyword>
+ <keyword ref="qdragmoveevent.html#accept">accept</keyword>
+ <keyword ref="qdragmoveevent.html#answerRect">answerRect</keyword>
+ <keyword ref="qdragmoveevent.html#ignore">ignore</keyword>
+ <section ref="qdragmoveevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qdragobject.html" title="QDragObject Class Reference">
+ <keyword ref="qdragobject.html">QDragObject</keyword>
+ <keyword ref="qdragobject.html#DragMode">DragMode</keyword>
+ <keyword ref="qdragobject.html#drag">drag</keyword>
+ <keyword ref="qdragobject.html#dragCopy">dragCopy</keyword>
+ <keyword ref="qdragobject.html#dragLink">dragLink</keyword>
+ <keyword ref="qdragobject.html#dragMove">dragMove</keyword>
+ <keyword ref="qdragobject.html#pixmap">pixmap</keyword>
+ <keyword ref="qdragobject.html#pixmapHotSpot">pixmapHotSpot</keyword>
+ <keyword ref="qdragobject.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qdragobject.html#source">source</keyword>
+ <keyword ref="qdragobject.html#target">target</keyword>
+ <keyword ref="qdragobject.html#~QDragObject">~QDragObject</keyword>
+ <section ref="qdragobject-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qdropevent.html" title="QDropEvent Class Reference">
+ <keyword ref="qdropevent.html">QDropEvent</keyword>
+ <keyword ref="qdropevent.html#Action">Action</keyword>
+ <keyword ref="qdropevent.html#accept">accept</keyword>
+ <keyword ref="qdropevent.html#acceptAction">acceptAction</keyword>
+ <keyword ref="qdropevent.html#action">action</keyword>
+ <keyword ref="qdropevent.html#encodedData">encodedData</keyword>
+ <keyword ref="qdropevent.html#format">format</keyword>
+ <keyword ref="qdropevent.html#ignore">ignore</keyword>
+ <keyword ref="qdropevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qdropevent.html#isActionAccepted">isActionAccepted</keyword>
+ <keyword ref="qdropevent.html#pos">pos</keyword>
+ <keyword ref="qdropevent.html#provides">provides</keyword>
+ <keyword ref="qdropevent.html#setAction">setAction</keyword>
+ <keyword ref="qdropevent.html#setPoint">setPoint</keyword>
+ <keyword ref="qdropevent.html#source">source</keyword>
+ <section ref="qdropevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qdropsite.html" title="QDropSite Class Reference">
+ <keyword ref="qdropsite.html#~QDropSite">~QDropSite</keyword>
+ <section ref="qdropsite-members.html" title="List of All Member Functions"/>
+ <section ref="qdropsite-h.html" title="Header File"/>
+</section>
+<section ref="qeditorfactory.html" title="QEditorFactory Class Reference">
+ <keyword ref="qeditorfactory.html">QEditorFactory</keyword>
+ <keyword ref="qeditorfactory.html#createEditor">createEditor</keyword>
+ <keyword ref="qeditorfactory.html#defaultFactory">defaultFactory</keyword>
+ <keyword ref="qeditorfactory.html#installDefaultFactory">installDefaultFactory</keyword>
+ <keyword ref="qeditorfactory.html#~QEditorFactory">~QEditorFactory</keyword>
+ <section ref="qeditorfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qeditorfactory-h.html" title="Header File"/>
+</section>
+<section ref="qerrormessage.html" title="QErrorMessage Class Reference">
+ <keyword ref="qerrormessage.html">QErrorMessage</keyword>
+ <keyword ref="qerrormessage.html#message">message</keyword>
+ <keyword ref="qerrormessage.html#qtHandler">qtHandler</keyword>
+ <keyword ref="qerrormessage.html#~QErrorMessage">~QErrorMessage</keyword>
+ <section ref="qerrormessage-members.html" title="List of All Member Functions"/>
+ <section ref="qerrormessage-h.html" title="Header File"/>
+</section>
+<section ref="qeucjpcodec.html" title="QEucJpCodec Class Reference">
+ <keyword ref="qeucjpcodec.html">QEucJpCodec</keyword>
+ <keyword ref="qeucjpcodec.html#mibEnum">mibEnum</keyword>
+ <keyword ref="qeucjpcodec.html#mimeName">mimeName</keyword>
+ <keyword ref="qeucjpcodec.html#~QEucJpCodec">~QEucJpCodec</keyword>
+ <section ref="qeucjpcodec-members.html" title="List of All Member Functions"/>
+ <section ref="qeucjpcodec-h.html" title="Header File"/>
+</section>
+<section ref="qeuckrcodec.html" title="QEucKrCodec Class Reference">
+ <keyword ref="qeuckrcodec.html">QEucKrCodec</keyword>
+ <keyword ref="qeuckrcodec.html#mimeName">mimeName</keyword>
+ <section ref="qeuckrcodec-members.html" title="List of All Member Functions"/>
+ <section ref="qeuckrcodec-h.html" title="Header File"/>
+</section>
+<section ref="qevent.html" title="QEvent Class Reference">
+ <keyword ref="qevent.html">QEvent</keyword>
+ <keyword ref="qevent.html#Type">Type</keyword>
+ <keyword ref="qevent.html#spontaneous">spontaneous</keyword>
+ <keyword ref="qevent.html#type">type</keyword>
+ <keyword ref="qevent.html#~QEvent">~QEvent</keyword>
+ <section ref="qevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qeventloop.html" title="QEventLoop Class Reference">
+ <keyword ref="qeventloop.html">QEventLoop</keyword>
+ <keyword ref="qeventloop.html#ProcessEvents">ProcessEvents</keyword>
+ <keyword ref="qeventloop.html#ProcessEventsFlags">ProcessEventsFlags</keyword>
+ <keyword ref="qeventloop.html#aboutToBlock">aboutToBlock</keyword>
+ <keyword ref="qeventloop.html#activateSocketNotifiers">activateSocketNotifiers</keyword>
+ <keyword ref="qeventloop.html#activateTimers">activateTimers</keyword>
+ <keyword ref="qeventloop.html#awake">awake</keyword>
+ <keyword ref="qeventloop.html#enterLoop">enterLoop</keyword>
+ <keyword ref="qeventloop.html#exec">exec</keyword>
+ <keyword ref="qeventloop.html#exit">exit</keyword>
+ <keyword ref="qeventloop.html#exitLoop">exitLoop</keyword>
+ <keyword ref="qeventloop.html#hasPendingEvents">hasPendingEvents</keyword>
+ <keyword ref="qeventloop.html#loopLevel">loopLevel</keyword>
+ <keyword ref="qeventloop.html#processEvents">processEvents</keyword>
+ <keyword ref="qeventloop.html#registerSocketNotifier">registerSocketNotifier</keyword>
+ <keyword ref="qeventloop.html#setSocketNotifierPending">setSocketNotifierPending</keyword>
+ <keyword ref="qeventloop.html#timeToWait">timeToWait</keyword>
+ <keyword ref="qeventloop.html#unregisterSocketNotifier">unregisterSocketNotifier</keyword>
+ <keyword ref="qeventloop.html#wakeUp">wakeUp</keyword>
+ <keyword ref="qeventloop.html#~QEventLoop">~QEventLoop</keyword>
+ <section ref="qeventloop-members.html" title="List of All Member Functions"/>
+ <section ref="qeventloop-h.html" title="Header File"/>
+</section>
+<section ref="qfile.html" title="QFile Class Reference">
+ <keyword ref="qfile.html">QFile</keyword>
+ <keyword ref="qfile.html#DecoderFn">DecoderFn</keyword>
+ <keyword ref="qfile.html#EncoderFn">EncoderFn</keyword>
+ <keyword ref="qfile.html#at">at</keyword>
+ <keyword ref="qfile.html#atEnd">atEnd</keyword>
+ <keyword ref="qfile.html#close">close</keyword>
+ <keyword ref="qfile.html#decodeName">decodeName</keyword>
+ <keyword ref="qfile.html#encodeName">encodeName</keyword>
+ <keyword ref="qfile.html#errorString">errorString</keyword>
+ <keyword ref="qfile.html#exists">exists</keyword>
+ <keyword ref="qfile.html#flush">flush</keyword>
+ <keyword ref="qfile.html#getch">getch</keyword>
+ <keyword ref="qfile.html#handle">handle</keyword>
+ <keyword ref="qfile.html#name">name</keyword>
+ <keyword ref="qfile.html#open">open</keyword>
+ <keyword ref="qfile.html#putch">putch</keyword>
+ <keyword ref="qfile.html#readLine">readLine</keyword>
+ <keyword ref="qfile.html#remove">remove</keyword>
+ <keyword ref="qfile.html#setDecodingFunction">setDecodingFunction</keyword>
+ <keyword ref="qfile.html#setEncodingFunction">setEncodingFunction</keyword>
+ <keyword ref="qfile.html#setErrorString">setErrorString</keyword>
+ <keyword ref="qfile.html#setName">setName</keyword>
+ <keyword ref="qfile.html#size">size</keyword>
+ <keyword ref="qfile.html#ungetch">ungetch</keyword>
+ <keyword ref="qfile.html#writeBlock">writeBlock</keyword>
+ <keyword ref="qfile.html#~QFile">~QFile</keyword>
+ <section ref="qfile-members.html" title="List of All Member Functions"/>
+ <section ref="qfile-h.html" title="Header File"/>
+</section>
+<section ref="qfiledialog.html" title="QFileDialog Class Reference">
+ <keyword ref="qfiledialog.html">QFileDialog</keyword>
+ <keyword ref="qfiledialog.html#Mode">Mode</keyword>
+ <keyword ref="qfiledialog.html#PreviewMode">PreviewMode</keyword>
+ <keyword ref="qfiledialog.html#ViewMode">ViewMode</keyword>
+ <keyword ref="qfiledialog.html#addFilter">addFilter</keyword>
+ <keyword ref="qfiledialog.html#addLeftWidget">addLeftWidget</keyword>
+ <keyword ref="qfiledialog.html#addRightWidget">addRightWidget</keyword>
+ <keyword ref="qfiledialog.html#addToolButton">addToolButton</keyword>
+ <keyword ref="qfiledialog.html#addWidgets">addWidgets</keyword>
+ <keyword ref="qfiledialog.html#contentsPreview-prop">contentsPreview</keyword>
+ <keyword ref="qfiledialog.html#dir">dir</keyword>
+ <keyword ref="qfiledialog.html#dirEntered">dirEntered</keyword>
+ <keyword ref="qfiledialog.html#dirPath">dirPath</keyword>
+ <keyword ref="qfiledialog.html#dirPath-prop">dirPath</keyword>
+ <keyword ref="qfiledialog.html#fileHighlighted">fileHighlighted</keyword>
+ <keyword ref="qfiledialog.html#fileNameEditDone">fileNameEditDone</keyword>
+ <keyword ref="qfiledialog.html#fileSelected">fileSelected</keyword>
+ <keyword ref="qfiledialog.html#filesSelected">filesSelected</keyword>
+ <keyword ref="qfiledialog.html#filterSelected">filterSelected</keyword>
+ <keyword ref="qfiledialog.html#fixupNameEdit">fixupNameEdit</keyword>
+ <keyword ref="qfiledialog.html#getExistingDirectory">getExistingDirectory</keyword>
+ <keyword ref="qfiledialog.html#getOpenFileName">getOpenFileName</keyword>
+ <keyword ref="qfiledialog.html#getOpenFileNames">getOpenFileNames</keyword>
+ <keyword ref="qfiledialog.html#getSaveFileName">getSaveFileName</keyword>
+ <keyword ref="qfiledialog.html#iconProvider">iconProvider</keyword>
+ <keyword ref="qfiledialog.html#infoPreview-prop">infoPreview</keyword>
+ <keyword ref="qfiledialog.html#isContentsPreviewEnabled">isContentsPreviewEnabled</keyword>
+ <keyword ref="qfiledialog.html#isInfoPreviewEnabled">isInfoPreviewEnabled</keyword>
+ <keyword ref="qfiledialog.html#mode">mode</keyword>
+ <keyword ref="qfiledialog.html#mode-prop">mode</keyword>
+ <keyword ref="qfiledialog.html#modeButtonsDestroyed">modeButtonsDestroyed</keyword>
+ <keyword ref="qfiledialog.html#previewMode">previewMode</keyword>
+ <keyword ref="qfiledialog.html#previewMode-prop">previewMode</keyword>
+ <keyword ref="qfiledialog.html#rereadDir">rereadDir</keyword>
+ <keyword ref="qfiledialog.html#resortDir">resortDir</keyword>
+ <keyword ref="qfiledialog.html#selectAll">selectAll</keyword>
+ <keyword ref="qfiledialog.html#selectDirectoryOrFile">selectDirectoryOrFile</keyword>
+ <keyword ref="qfiledialog.html#selectedFile">selectedFile</keyword>
+ <keyword ref="qfiledialog.html#selectedFile-prop">selectedFile</keyword>
+ <keyword ref="qfiledialog.html#selectedFiles">selectedFiles</keyword>
+ <keyword ref="qfiledialog.html#selectedFiles-prop">selectedFiles</keyword>
+ <keyword ref="qfiledialog.html#selectedFilter">selectedFilter</keyword>
+ <keyword ref="qfiledialog.html#selectedFilter-prop">selectedFilter</keyword>
+ <keyword ref="qfiledialog.html#setContentsPreview">setContentsPreview</keyword>
+ <keyword ref="qfiledialog.html#setContentsPreviewEnabled">setContentsPreviewEnabled</keyword>
+ <keyword ref="qfiledialog.html#setDir">setDir</keyword>
+ <keyword ref="qfiledialog.html#setFilter">setFilter</keyword>
+ <keyword ref="qfiledialog.html#setFilters">setFilters</keyword>
+ <keyword ref="qfiledialog.html#setIconProvider">setIconProvider</keyword>
+ <keyword ref="qfiledialog.html#setInfoPreview">setInfoPreview</keyword>
+ <keyword ref="qfiledialog.html#setInfoPreviewEnabled">setInfoPreviewEnabled</keyword>
+ <keyword ref="qfiledialog.html#setMode">setMode</keyword>
+ <keyword ref="qfiledialog.html#setPreviewMode">setPreviewMode</keyword>
+ <keyword ref="qfiledialog.html#setSelectedFilter">setSelectedFilter</keyword>
+ <keyword ref="qfiledialog.html#setSelection">setSelection</keyword>
+ <keyword ref="qfiledialog.html#setShowHiddenFiles">setShowHiddenFiles</keyword>
+ <keyword ref="qfiledialog.html#setUrl">setUrl</keyword>
+ <keyword ref="qfiledialog.html#setViewMode">setViewMode</keyword>
+ <keyword ref="qfiledialog.html#showHiddenFiles">showHiddenFiles</keyword>
+ <keyword ref="qfiledialog.html#showHiddenFiles-prop">showHiddenFiles</keyword>
+ <keyword ref="qfiledialog.html#stopCopy">stopCopy</keyword>
+ <keyword ref="qfiledialog.html#updateFileNameEdit">updateFileNameEdit</keyword>
+ <keyword ref="qfiledialog.html#updateGeometries">updateGeometries</keyword>
+ <keyword ref="qfiledialog.html#url">url</keyword>
+ <keyword ref="qfiledialog.html#viewMode">viewMode</keyword>
+ <keyword ref="qfiledialog.html#viewMode-prop">viewMode</keyword>
+ <keyword ref="qfiledialog.html#~QFileDialog">~QFileDialog</keyword>
+ <section ref="qfiledialog-members.html" title="List of All Member Functions"/>
+ <section ref="qfiledialog-h.html" title="Header File"/>
+</section>
+<section ref="qfileiconprovider.html" title="QFileIconProvider Class Reference">
+ <keyword ref="qfileiconprovider.html">QFileIconProvider</keyword>
+ <keyword ref="qfileiconprovider.html#pixmap">pixmap</keyword>
+ <section ref="qfileiconprovider-members.html" title="List of All Member Functions"/>
+ <section ref="qfiledialog-h.html" title="Header File"/>
+</section>
+<section ref="qfileinfo.html" title="QFileInfo Class Reference">
+ <keyword ref="qfileinfo.html">QFileInfo</keyword>
+ <keyword ref="qfileinfo.html#PermissionSpec">PermissionSpec</keyword>
+ <keyword ref="qfileinfo.html#absFilePath">absFilePath</keyword>
+ <keyword ref="qfileinfo.html#baseName">baseName</keyword>
+ <keyword ref="qfileinfo.html#caching">caching</keyword>
+ <keyword ref="qfileinfo.html#convertToAbs">convertToAbs</keyword>
+ <keyword ref="qfileinfo.html#created">created</keyword>
+ <keyword ref="qfileinfo.html#dir">dir</keyword>
+ <keyword ref="qfileinfo.html#dirPath">dirPath</keyword>
+ <keyword ref="qfileinfo.html#exists">exists</keyword>
+ <keyword ref="qfileinfo.html#extension">extension</keyword>
+ <keyword ref="qfileinfo.html#fileName">fileName</keyword>
+ <keyword ref="qfileinfo.html#filePath">filePath</keyword>
+ <keyword ref="qfileinfo.html#group">group</keyword>
+ <keyword ref="qfileinfo.html#groupId">groupId</keyword>
+ <keyword ref="qfileinfo.html#isDir">isDir</keyword>
+ <keyword ref="qfileinfo.html#isExecutable">isExecutable</keyword>
+ <keyword ref="qfileinfo.html#isFile">isFile</keyword>
+ <keyword ref="qfileinfo.html#isHidden">isHidden</keyword>
+ <keyword ref="qfileinfo.html#isReadable">isReadable</keyword>
+ <keyword ref="qfileinfo.html#isRelative">isRelative</keyword>
+ <keyword ref="qfileinfo.html#isSymLink">isSymLink</keyword>
+ <keyword ref="qfileinfo.html#isWritable">isWritable</keyword>
+ <keyword ref="qfileinfo.html#lastModified">lastModified</keyword>
+ <keyword ref="qfileinfo.html#lastRead">lastRead</keyword>
+ <keyword ref="qfileinfo.html#operator-eq">operator=</keyword>
+ <keyword ref="qfileinfo.html#owner">owner</keyword>
+ <keyword ref="qfileinfo.html#ownerId">ownerId</keyword>
+ <keyword ref="qfileinfo.html#permission">permission</keyword>
+ <keyword ref="qfileinfo.html#readLink">readLink</keyword>
+ <keyword ref="qfileinfo.html#refresh">refresh</keyword>
+ <keyword ref="qfileinfo.html#setCaching">setCaching</keyword>
+ <keyword ref="qfileinfo.html#setFile">setFile</keyword>
+ <keyword ref="qfileinfo.html#size">size</keyword>
+ <keyword ref="qfileinfo.html#~QFileInfo">~QFileInfo</keyword>
+ <section ref="qfileinfo-members.html" title="List of All Member Functions"/>
+ <section ref="qfileinfo-h.html" title="Header File"/>
+</section>
+<section ref="qfilepreview.html" title="QFilePreview Class Reference">
+ <keyword ref="qfilepreview.html">QFilePreview</keyword>
+ <keyword ref="qfilepreview.html#previewUrl">previewUrl</keyword>
+ <section ref="qfilepreview-members.html" title="List of All Member Functions"/>
+ <section ref="qfiledialog-h.html" title="Header File"/>
+</section>
+<section ref="qfocusdata.html" title="QFocusData Class Reference">
+ <keyword ref="qfocusdata.html">QFocusData</keyword>
+ <keyword ref="qfocusdata.html#count">count</keyword>
+ <keyword ref="qfocusdata.html#first">first</keyword>
+ <keyword ref="qfocusdata.html#focusWidget">focusWidget</keyword>
+ <keyword ref="qfocusdata.html#home">home</keyword>
+ <keyword ref="qfocusdata.html#last">last</keyword>
+ <keyword ref="qfocusdata.html#next">next</keyword>
+ <keyword ref="qfocusdata.html#prev">prev</keyword>
+ <section ref="qfocusdata-members.html" title="List of All Member Functions"/>
+ <section ref="qfocusdata-h.html" title="Header File"/>
+</section>
+<section ref="qfocusevent.html" title="QFocusEvent Class Reference">
+ <keyword ref="qfocusevent.html">QFocusEvent</keyword>
+ <keyword ref="qfocusevent.html#Reason">Reason</keyword>
+ <keyword ref="qfocusevent.html#gotFocus">gotFocus</keyword>
+ <keyword ref="qfocusevent.html#lostFocus">lostFocus</keyword>
+ <keyword ref="qfocusevent.html#reason">reason</keyword>
+ <keyword ref="qfocusevent.html#resetReason">resetReason</keyword>
+ <keyword ref="qfocusevent.html#setReason">setReason</keyword>
+ <section ref="qfocusevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qfont.html" title="QFont Class Reference">
+ <keyword ref="qfont.html">QFont</keyword>
+ <keyword ref="qfont.html#Script">Script</keyword>
+ <keyword ref="qfont.html#Stretch">Stretch</keyword>
+ <keyword ref="qfont.html#StyleHint">StyleHint</keyword>
+ <keyword ref="qfont.html#StyleStrategy">StyleStrategy</keyword>
+ <keyword ref="qfont.html#Weight">Weight</keyword>
+ <keyword ref="qfont.html#bold">bold</keyword>
+ <keyword ref="qfont.html#deciPointSize">deciPointSize</keyword>
+ <keyword ref="qfont.html#defaultFamily">defaultFamily</keyword>
+ <keyword ref="qfont.html#dirty">dirty</keyword>
+ <keyword ref="qfont.html#exactMatch">exactMatch</keyword>
+ <keyword ref="qfont.html#family">family</keyword>
+ <keyword ref="qfont.html#fixedPitch">fixedPitch</keyword>
+ <keyword ref="qfont.html#fromString">fromString</keyword>
+ <keyword ref="qfont.html#handle">handle</keyword>
+ <keyword ref="qfont.html#insertSubstitution">insertSubstitution</keyword>
+ <keyword ref="qfont.html#insertSubstitutions">insertSubstitutions</keyword>
+ <keyword ref="qfont.html#isCopyOf">isCopyOf</keyword>
+ <keyword ref="qfont.html#italic">italic</keyword>
+ <keyword ref="qfont.html#key">key</keyword>
+ <keyword ref="qfont.html#lastResortFamily">lastResortFamily</keyword>
+ <keyword ref="qfont.html#lastResortFont">lastResortFont</keyword>
+ <keyword ref="qfont.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qfont.html#operator-eq">operator=</keyword>
+ <keyword ref="qfont.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qfont.html#overline">overline</keyword>
+ <keyword ref="qfont.html#pixelSize">pixelSize</keyword>
+ <keyword ref="qfont.html#pointSize">pointSize</keyword>
+ <keyword ref="qfont.html#pointSizeFloat">pointSizeFloat</keyword>
+ <keyword ref="qfont.html#qwsRenderToDisk">qwsRenderToDisk</keyword>
+ <keyword ref="qfont.html#rawMode">rawMode</keyword>
+ <keyword ref="qfont.html#rawName">rawName</keyword>
+ <keyword ref="qfont.html#removeSubstitution">removeSubstitution</keyword>
+ <keyword ref="qfont.html#resolve">resolve</keyword>
+ <keyword ref="qfont.html#setBold">setBold</keyword>
+ <keyword ref="qfont.html#setFamily">setFamily</keyword>
+ <keyword ref="qfont.html#setFixedPitch">setFixedPitch</keyword>
+ <keyword ref="qfont.html#setItalic">setItalic</keyword>
+ <keyword ref="qfont.html#setOverline">setOverline</keyword>
+ <keyword ref="qfont.html#setPixelSize">setPixelSize</keyword>
+ <keyword ref="qfont.html#setPointSize">setPointSize</keyword>
+ <keyword ref="qfont.html#setPointSizeFloat">setPointSizeFloat</keyword>
+ <keyword ref="qfont.html#setRawMode">setRawMode</keyword>
+ <keyword ref="qfont.html#setRawName">setRawName</keyword>
+ <keyword ref="qfont.html#setStretch">setStretch</keyword>
+ <keyword ref="qfont.html#setStrikeOut">setStrikeOut</keyword>
+ <keyword ref="qfont.html#setStyleHint">setStyleHint</keyword>
+ <keyword ref="qfont.html#setStyleStrategy">setStyleStrategy</keyword>
+ <keyword ref="qfont.html#setUnderline">setUnderline</keyword>
+ <keyword ref="qfont.html#setWeight">setWeight</keyword>
+ <keyword ref="qfont.html#stretch">stretch</keyword>
+ <keyword ref="qfont.html#strikeOut">strikeOut</keyword>
+ <keyword ref="qfont.html#styleHint">styleHint</keyword>
+ <keyword ref="qfont.html#styleStrategy">styleStrategy</keyword>
+ <keyword ref="qfont.html#substitute">substitute</keyword>
+ <keyword ref="qfont.html#substitutes">substitutes</keyword>
+ <keyword ref="qfont.html#substitutions">substitutions</keyword>
+ <keyword ref="qfont.html#toString">toString</keyword>
+ <keyword ref="qfont.html#underline">underline</keyword>
+ <keyword ref="qfont.html#weight">weight</keyword>
+ <keyword ref="qfont.html#~QFont">~QFont</keyword>
+ <keyword ref="qfont.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qfont.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qfont-members.html" title="List of All Member Functions"/>
+ <section ref="qfont-h.html" title="Header File"/>
+</section>
+<section ref="qfontdatabase.html" title="QFontDatabase Class Reference">
+ <keyword ref="qfontdatabase.html">QFontDatabase</keyword>
+ <keyword ref="qfontdatabase.html#bold">bold</keyword>
+ <keyword ref="qfontdatabase.html#families">families</keyword>
+ <keyword ref="qfontdatabase.html#font">font</keyword>
+ <keyword ref="qfontdatabase.html#isBitmapScalable">isBitmapScalable</keyword>
+ <keyword ref="qfontdatabase.html#isFixedPitch">isFixedPitch</keyword>
+ <keyword ref="qfontdatabase.html#isScalable">isScalable</keyword>
+ <keyword ref="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</keyword>
+ <keyword ref="qfontdatabase.html#italic">italic</keyword>
+ <keyword ref="qfontdatabase.html#pointSizes">pointSizes</keyword>
+ <keyword ref="qfontdatabase.html#scriptName">scriptName</keyword>
+ <keyword ref="qfontdatabase.html#scriptSample">scriptSample</keyword>
+ <keyword ref="qfontdatabase.html#smoothSizes">smoothSizes</keyword>
+ <keyword ref="qfontdatabase.html#standardSizes">standardSizes</keyword>
+ <keyword ref="qfontdatabase.html#styleString">styleString</keyword>
+ <keyword ref="qfontdatabase.html#styles">styles</keyword>
+ <keyword ref="qfontdatabase.html#weight">weight</keyword>
+ <section ref="qfontdatabase-members.html" title="List of All Member Functions"/>
+ <section ref="qfontdatabase-h.html" title="Header File"/>
+</section>
+<section ref="qfontdialog.html" title="QFontDialog Class Reference">
+ <keyword ref="qfontdialog.html">QFontDialog</keyword>
+ <keyword ref="qfontdialog.html#getFont">getFont</keyword>
+ <section ref="qfontdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qfontdialog-h.html" title="Header File"/>
+</section>
+<section ref="qfontinfo.html" title="QFontInfo Class Reference">
+ <keyword ref="qfontinfo.html">QFontInfo</keyword>
+ <keyword ref="qfontinfo.html#bold">bold</keyword>
+ <keyword ref="qfontinfo.html#exactMatch">exactMatch</keyword>
+ <keyword ref="qfontinfo.html#family">family</keyword>
+ <keyword ref="qfontinfo.html#fixedPitch">fixedPitch</keyword>
+ <keyword ref="qfontinfo.html#italic">italic</keyword>
+ <keyword ref="qfontinfo.html#operator-eq">operator=</keyword>
+ <keyword ref="qfontinfo.html#pixelSize">pixelSize</keyword>
+ <keyword ref="qfontinfo.html#pointSize">pointSize</keyword>
+ <keyword ref="qfontinfo.html#rawMode">rawMode</keyword>
+ <keyword ref="qfontinfo.html#styleHint">styleHint</keyword>
+ <keyword ref="qfontinfo.html#weight">weight</keyword>
+ <keyword ref="qfontinfo.html#~QFontInfo">~QFontInfo</keyword>
+ <section ref="qfontinfo-members.html" title="List of All Member Functions"/>
+ <section ref="qfontinfo-h.html" title="Header File"/>
+</section>
+<section ref="qfontmanager.html" title="QFontManager Class Reference">
+ <keyword ref="qfontmanager.html">QFontManager</keyword>
+ <keyword ref="qfontmanager.html#cleanup">cleanup</keyword>
+ <keyword ref="qfontmanager.html#get">get</keyword>
+ <keyword ref="qfontmanager.html#initialize">initialize</keyword>
+ <keyword ref="qfontmanager.html#~QFontManager">~QFontManager</keyword>
+ <section ref="qfontmanager-members.html" title="List of All Member Functions"/>
+ <section ref="qfontmanager_qws-h.html" title="Header File"/>
+</section>
+<section ref="qfontmetrics.html" title="QFontMetrics Class Reference">
+ <keyword ref="qfontmetrics.html">QFontMetrics</keyword>
+ <keyword ref="qfontmetrics.html#ascent">ascent</keyword>
+ <keyword ref="qfontmetrics.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qfontmetrics.html#charWidth">charWidth</keyword>
+ <keyword ref="qfontmetrics.html#descent">descent</keyword>
+ <keyword ref="qfontmetrics.html#height">height</keyword>
+ <keyword ref="qfontmetrics.html#inFont">inFont</keyword>
+ <keyword ref="qfontmetrics.html#leading">leading</keyword>
+ <keyword ref="qfontmetrics.html#leftBearing">leftBearing</keyword>
+ <keyword ref="qfontmetrics.html#lineSpacing">lineSpacing</keyword>
+ <keyword ref="qfontmetrics.html#lineWidth">lineWidth</keyword>
+ <keyword ref="qfontmetrics.html#maxWidth">maxWidth</keyword>
+ <keyword ref="qfontmetrics.html#minLeftBearing">minLeftBearing</keyword>
+ <keyword ref="qfontmetrics.html#minRightBearing">minRightBearing</keyword>
+ <keyword ref="qfontmetrics.html#operator-eq">operator=</keyword>
+ <keyword ref="qfontmetrics.html#overlinePos">overlinePos</keyword>
+ <keyword ref="qfontmetrics.html#rightBearing">rightBearing</keyword>
+ <keyword ref="qfontmetrics.html#size">size</keyword>
+ <keyword ref="qfontmetrics.html#strikeOutPos">strikeOutPos</keyword>
+ <keyword ref="qfontmetrics.html#underlinePos">underlinePos</keyword>
+ <keyword ref="qfontmetrics.html#width">width</keyword>
+ <keyword ref="qfontmetrics.html#~QFontMetrics">~QFontMetrics</keyword>
+ <section ref="qfontmetrics-members.html" title="List of All Member Functions"/>
+ <section ref="qfontmetrics-h.html" title="Header File"/>
+</section>
+<section ref="qframe.html" title="QFrame Class Reference">
+ <keyword ref="qframe.html">QFrame</keyword>
+ <keyword ref="qframe.html#Shadow">Shadow</keyword>
+ <keyword ref="qframe.html#Shape">Shape</keyword>
+ <keyword ref="qframe.html#contentsRect">contentsRect</keyword>
+ <keyword ref="qframe.html#contentsRect-prop">contentsRect</keyword>
+ <keyword ref="qframe.html#drawContents">drawContents</keyword>
+ <keyword ref="qframe.html#drawFrame">drawFrame</keyword>
+ <keyword ref="qframe.html#frameChanged">frameChanged</keyword>
+ <keyword ref="qframe.html#frameRect">frameRect</keyword>
+ <keyword ref="qframe.html#frameRect-prop">frameRect</keyword>
+ <keyword ref="qframe.html#frameShadow">frameShadow</keyword>
+ <keyword ref="qframe.html#frameShadow-prop">frameShadow</keyword>
+ <keyword ref="qframe.html#frameShape">frameShape</keyword>
+ <keyword ref="qframe.html#frameShape-prop">frameShape</keyword>
+ <keyword ref="qframe.html#frameStyle">frameStyle</keyword>
+ <keyword ref="qframe.html#frameWidth">frameWidth</keyword>
+ <keyword ref="qframe.html#frameWidth-prop">frameWidth</keyword>
+ <keyword ref="qframe.html#lineWidth">lineWidth</keyword>
+ <keyword ref="qframe.html#lineWidth-prop">lineWidth</keyword>
+ <keyword ref="qframe.html#margin">margin</keyword>
+ <keyword ref="qframe.html#margin-prop">margin</keyword>
+ <keyword ref="qframe.html#midLineWidth">midLineWidth</keyword>
+ <keyword ref="qframe.html#midLineWidth-prop">midLineWidth</keyword>
+ <keyword ref="qframe.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qframe.html#resizeEvent">resizeEvent</keyword>
+ <keyword ref="qframe.html#setFrameRect">setFrameRect</keyword>
+ <keyword ref="qframe.html#setFrameShadow">setFrameShadow</keyword>
+ <keyword ref="qframe.html#setFrameShape">setFrameShape</keyword>
+ <keyword ref="qframe.html#setFrameStyle">setFrameStyle</keyword>
+ <keyword ref="qframe.html#setLineWidth">setLineWidth</keyword>
+ <keyword ref="qframe.html#setMargin">setMargin</keyword>
+ <keyword ref="qframe.html#setMidLineWidth">setMidLineWidth</keyword>
+ <section ref="qframe-members.html" title="List of All Member Functions"/>
+ <section ref="qframe-h.html" title="Header File"/>
+</section>
+<section ref="qftp.html" title="QFtp Class Reference">
+ <keyword ref="qftp.html">QFtp</keyword>
+ <keyword ref="qftp.html#Command">Command</keyword>
+ <keyword ref="qftp.html#Error">Error</keyword>
+ <keyword ref="qftp.html#State">State</keyword>
+ <keyword ref="qftp.html#abort">abort</keyword>
+ <keyword ref="qftp.html#bytesAvailable">bytesAvailable</keyword>
+ <keyword ref="qftp.html#cd">cd</keyword>
+ <keyword ref="qftp.html#clearPendingCommands">clearPendingCommands</keyword>
+ <keyword ref="qftp.html#close">close</keyword>
+ <keyword ref="qftp.html#commandFinished">commandFinished</keyword>
+ <keyword ref="qftp.html#commandStarted">commandStarted</keyword>
+ <keyword ref="qftp.html#connectToHost">connectToHost</keyword>
+ <keyword ref="qftp.html#currentCommand">currentCommand</keyword>
+ <keyword ref="qftp.html#currentDevice">currentDevice</keyword>
+ <keyword ref="qftp.html#currentId">currentId</keyword>
+ <keyword ref="qftp.html#dataTransferProgress">dataTransferProgress</keyword>
+ <keyword ref="qftp.html#done">done</keyword>
+ <keyword ref="qftp.html#error">error</keyword>
+ <keyword ref="qftp.html#errorString">errorString</keyword>
+ <keyword ref="qftp.html#get">get</keyword>
+ <keyword ref="qftp.html#hasPendingCommands">hasPendingCommands</keyword>
+ <keyword ref="qftp.html#list">list</keyword>
+ <keyword ref="qftp.html#listInfo">listInfo</keyword>
+ <keyword ref="qftp.html#login">login</keyword>
+ <keyword ref="qftp.html#mkdir">mkdir</keyword>
+ <keyword ref="qftp.html#put">put</keyword>
+ <keyword ref="qftp.html#rawCommand">rawCommand</keyword>
+ <keyword ref="qftp.html#rawCommandReply">rawCommandReply</keyword>
+ <keyword ref="qftp.html#readAll">readAll</keyword>
+ <keyword ref="qftp.html#readBlock">readBlock</keyword>
+ <keyword ref="qftp.html#readyRead">readyRead</keyword>
+ <keyword ref="qftp.html#remove">remove</keyword>
+ <keyword ref="qftp.html#rename">rename</keyword>
+ <keyword ref="qftp.html#rmdir">rmdir</keyword>
+ <keyword ref="qftp.html#state">state</keyword>
+ <keyword ref="qftp.html#stateChanged">stateChanged</keyword>
+ <keyword ref="qftp.html#~QFtp">~QFtp</keyword>
+ <section ref="qftp-members.html" title="List of All Member Functions"/>
+ <section ref="qftp-h.html" title="Header File"/>
+</section>
+<section ref="qgb18030codec.html" title="QGb18030Codec Class Reference">
+ <keyword ref="qgb18030codec.html">QGb18030Codec</keyword>
+ <section ref="qgb18030codec-members.html" title="List of All Member Functions"/>
+ <section ref="qgb18030codec-h.html" title="Header File"/>
+</section>
+<section ref="qgb2312codec.html" title="QGb2312Codec Class Reference">
+ <keyword ref="qgb2312codec.html">QGb2312Codec</keyword>
+ <section ref="qgb2312codec-members.html" title="List of All Member Functions"/>
+ <section ref="qgb18030codec-h.html" title="Header File"/>
+</section>
+<section ref="qgbkcodec.html" title="QGbkCodec Class Reference">
+ <keyword ref="qgbkcodec.html">QGbkCodec</keyword>
+ <section ref="qgbkcodec-members.html" title="List of All Member Functions"/>
+ <section ref="qgb18030codec-h.html" title="Header File"/>
+</section>
+<section ref="qgfxdriverfactory.html" title="QGfxDriverFactory Class Reference">
+ <keyword ref="qgfxdriverfactory.html">QGfxDriverFactory</keyword>
+ <keyword ref="qgfxdriverfactory.html#create">create</keyword>
+ <keyword ref="qgfxdriverfactory.html#keys">keys</keyword>
+ <section ref="qgfxdriverfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qgfxdriverfactory_qws-h.html" title="Header File"/>
+</section>
+<section ref="qgfxdriverplugin.html" title="QGfxDriverPlugin Class Reference">
+ <keyword ref="qgfxdriverplugin.html">QGfxDriverPlugin</keyword>
+ <keyword ref="qgfxdriverplugin.html#create">create</keyword>
+ <keyword ref="qgfxdriverplugin.html#keys">keys</keyword>
+ <keyword ref="qgfxdriverplugin.html#~QGfxDriverPlugin">~QGfxDriverPlugin</keyword>
+ <section ref="qgfxdriverplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qgfxdriverplugin_qws-h.html" title="Header File"/>
+</section>
+<section ref="qgl.html" title="QGL Class Reference">
+ <keyword ref="qgl.html">QGL</keyword>
+ <keyword ref="qgl.html#FormatOption">FormatOption</keyword>
+ <section ref="qgl-members.html" title="List of All Member Functions"/>
+ <section ref="qgl-h.html" title="Header File"/>
+</section>
+<section ref="qglayoutiterator.html" title="QGLayoutIterator Class Reference">
+ <keyword ref="qglayoutiterator.html">QGLayoutIterator</keyword>
+ <keyword ref="qglayoutiterator.html#current">current</keyword>
+ <keyword ref="qglayoutiterator.html#next">next</keyword>
+ <keyword ref="qglayoutiterator.html#takeCurrent">takeCurrent</keyword>
+ <keyword ref="qglayoutiterator.html#~QGLayoutIterator">~QGLayoutIterator</keyword>
+ <section ref="qglayoutiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qglcolormap.html" title="QGLColormap Class Reference">
+ <keyword ref="qglcolormap.html">QGLColormap</keyword>
+ <keyword ref="qglcolormap.html#detach">detach</keyword>
+ <keyword ref="qglcolormap.html#entryColor">entryColor</keyword>
+ <keyword ref="qglcolormap.html#entryRgb">entryRgb</keyword>
+ <keyword ref="qglcolormap.html#find">find</keyword>
+ <keyword ref="qglcolormap.html#findNearest">findNearest</keyword>
+ <keyword ref="qglcolormap.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qglcolormap.html#operator-eq">operator=</keyword>
+ <keyword ref="qglcolormap.html#setEntries">setEntries</keyword>
+ <keyword ref="qglcolormap.html#setEntry">setEntry</keyword>
+ <keyword ref="qglcolormap.html#size">size</keyword>
+ <keyword ref="qglcolormap.html#~QGLColormap">~QGLColormap</keyword>
+ <section ref="qglcolormap-members.html" title="List of All Member Functions"/>
+ <section ref="qglcolormap-h.html" title="Header File"/>
+</section>
+<section ref="qglcontext.html" title="QGLContext Class Reference">
+ <keyword ref="qglcontext.html">QGLContext</keyword>
+ <keyword ref="qglcontext.html#chooseContext">chooseContext</keyword>
+ <keyword ref="qglcontext.html#chooseMacVisual">chooseMacVisual</keyword>
+ <keyword ref="qglcontext.html#choosePixelFormat">choosePixelFormat</keyword>
+ <keyword ref="qglcontext.html#chooseVisual">chooseVisual</keyword>
+ <keyword ref="qglcontext.html#create">create</keyword>
+ <keyword ref="qglcontext.html#currentContext">currentContext</keyword>
+ <keyword ref="qglcontext.html#device">device</keyword>
+ <keyword ref="qglcontext.html#deviceIsPixmap">deviceIsPixmap</keyword>
+ <keyword ref="qglcontext.html#doneCurrent">doneCurrent</keyword>
+ <keyword ref="qglcontext.html#format">format</keyword>
+ <keyword ref="qglcontext.html#generateFontDisplayLists">generateFontDisplayLists</keyword>
+ <keyword ref="qglcontext.html#initialized">initialized</keyword>
+ <keyword ref="qglcontext.html#isSharing">isSharing</keyword>
+ <keyword ref="qglcontext.html#isValid">isValid</keyword>
+ <keyword ref="qglcontext.html#makeCurrent">makeCurrent</keyword>
+ <keyword ref="qglcontext.html#overlayTransparentColor">overlayTransparentColor</keyword>
+ <keyword ref="qglcontext.html#requestedFormat">requestedFormat</keyword>
+ <keyword ref="qglcontext.html#reset">reset</keyword>
+ <keyword ref="qglcontext.html#setFormat">setFormat</keyword>
+ <keyword ref="qglcontext.html#setInitialized">setInitialized</keyword>
+ <keyword ref="qglcontext.html#setWindowCreated">setWindowCreated</keyword>
+ <keyword ref="qglcontext.html#swapBuffers">swapBuffers</keyword>
+ <keyword ref="qglcontext.html#windowCreated">windowCreated</keyword>
+ <keyword ref="qglcontext.html#~QGLContext">~QGLContext</keyword>
+ <section ref="qglcontext-members.html" title="List of All Member Functions"/>
+ <section ref="qgl-h.html" title="Header File"/>
+</section>
+<section ref="qglformat.html" title="QGLFormat Class Reference">
+ <keyword ref="qglformat.html">QGLFormat</keyword>
+ <keyword ref="qglformat.html#accum">accum</keyword>
+ <keyword ref="qglformat.html#alpha">alpha</keyword>
+ <keyword ref="qglformat.html#defaultFormat">defaultFormat</keyword>
+ <keyword ref="qglformat.html#defaultOverlayFormat">defaultOverlayFormat</keyword>
+ <keyword ref="qglformat.html#depth">depth</keyword>
+ <keyword ref="qglformat.html#directRendering">directRendering</keyword>
+ <keyword ref="qglformat.html#doubleBuffer">doubleBuffer</keyword>
+ <keyword ref="qglformat.html#hasOpenGL">hasOpenGL</keyword>
+ <keyword ref="qglformat.html#hasOpenGLOverlays">hasOpenGLOverlays</keyword>
+ <keyword ref="qglformat.html#hasOverlay">hasOverlay</keyword>
+ <keyword ref="qglformat.html#plane">plane</keyword>
+ <keyword ref="qglformat.html#rgba">rgba</keyword>
+ <keyword ref="qglformat.html#setAccum">setAccum</keyword>
+ <keyword ref="qglformat.html#setAlpha">setAlpha</keyword>
+ <keyword ref="qglformat.html#setDefaultFormat">setDefaultFormat</keyword>
+ <keyword ref="qglformat.html#setDefaultOverlayFormat">setDefaultOverlayFormat</keyword>
+ <keyword ref="qglformat.html#setDepth">setDepth</keyword>
+ <keyword ref="qglformat.html#setDirectRendering">setDirectRendering</keyword>
+ <keyword ref="qglformat.html#setDoubleBuffer">setDoubleBuffer</keyword>
+ <keyword ref="qglformat.html#setOption">setOption</keyword>
+ <keyword ref="qglformat.html#setOverlay">setOverlay</keyword>
+ <keyword ref="qglformat.html#setPlane">setPlane</keyword>
+ <keyword ref="qglformat.html#setRgba">setRgba</keyword>
+ <keyword ref="qglformat.html#setStencil">setStencil</keyword>
+ <keyword ref="qglformat.html#setStereo">setStereo</keyword>
+ <keyword ref="qglformat.html#stencil">stencil</keyword>
+ <keyword ref="qglformat.html#stereo">stereo</keyword>
+ <keyword ref="qglformat.html#testOption">testOption</keyword>
+ <section ref="qglformat-members.html" title="List of All Member Functions"/>
+ <section ref="qgl-h.html" title="Header File"/>
+</section>
+<section ref="qglwidget.html" title="QGLWidget Class Reference">
+ <keyword ref="qglwidget.html">QGLWidget</keyword>
+ <keyword ref="qglwidget.html#autoBufferSwap">autoBufferSwap</keyword>
+ <keyword ref="qglwidget.html#colormap">colormap</keyword>
+ <keyword ref="qglwidget.html#context">context</keyword>
+ <keyword ref="qglwidget.html#convertToGLFormat">convertToGLFormat</keyword>
+ <keyword ref="qglwidget.html#doneCurrent">doneCurrent</keyword>
+ <keyword ref="qglwidget.html#doubleBuffer">doubleBuffer</keyword>
+ <keyword ref="qglwidget.html#format">format</keyword>
+ <keyword ref="qglwidget.html#glDraw">glDraw</keyword>
+ <keyword ref="qglwidget.html#glInit">glInit</keyword>
+ <keyword ref="qglwidget.html#grabFrameBuffer">grabFrameBuffer</keyword>
+ <keyword ref="qglwidget.html#initializeGL">initializeGL</keyword>
+ <keyword ref="qglwidget.html#initializeOverlayGL">initializeOverlayGL</keyword>
+ <keyword ref="qglwidget.html#isSharing">isSharing</keyword>
+ <keyword ref="qglwidget.html#isValid">isValid</keyword>
+ <keyword ref="qglwidget.html#makeCurrent">makeCurrent</keyword>
+ <keyword ref="qglwidget.html#makeOverlayCurrent">makeOverlayCurrent</keyword>
+ <keyword ref="qglwidget.html#overlayContext">overlayContext</keyword>
+ <keyword ref="qglwidget.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qglwidget.html#paintGL">paintGL</keyword>
+ <keyword ref="qglwidget.html#paintOverlayGL">paintOverlayGL</keyword>
+ <keyword ref="qglwidget.html#qglClearColor">qglClearColor</keyword>
+ <keyword ref="qglwidget.html#qglColor">qglColor</keyword>
+ <keyword ref="qglwidget.html#renderPixmap">renderPixmap</keyword>
+ <keyword ref="qglwidget.html#renderText">renderText</keyword>
+ <keyword ref="qglwidget.html#resizeEvent">resizeEvent</keyword>
+ <keyword ref="qglwidget.html#resizeGL">resizeGL</keyword>
+ <keyword ref="qglwidget.html#resizeOverlayGL">resizeOverlayGL</keyword>
+ <keyword ref="qglwidget.html#setAutoBufferSwap">setAutoBufferSwap</keyword>
+ <keyword ref="qglwidget.html#setColormap">setColormap</keyword>
+ <keyword ref="qglwidget.html#swapBuffers">swapBuffers</keyword>
+ <keyword ref="qglwidget.html#updateGL">updateGL</keyword>
+ <keyword ref="qglwidget.html#updateOverlayGL">updateOverlayGL</keyword>
+ <keyword ref="qglwidget.html#~QGLWidget">~QGLWidget</keyword>
+ <section ref="qglwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qgl-h.html" title="Header File"/>
+</section>
+<section ref="qgrid.html" title="QGrid Class Reference">
+ <keyword ref="qgrid.html">QGrid</keyword>
+ <keyword ref="qgrid.html#setSpacing">setSpacing</keyword>
+ <section ref="qgrid-members.html" title="List of All Member Functions"/>
+ <section ref="qgrid-h.html" title="Header File"/>
+</section>
+<section ref="qgridlayout.html" title="QGridLayout Class Reference">
+ <keyword ref="qgridlayout.html">QGridLayout</keyword>
+ <keyword ref="qgridlayout.html#Corner">Corner</keyword>
+ <keyword ref="qgridlayout.html#add">add</keyword>
+ <keyword ref="qgridlayout.html#addItem">addItem</keyword>
+ <keyword ref="qgridlayout.html#addLayout">addLayout</keyword>
+ <keyword ref="qgridlayout.html#addMultiCell">addMultiCell</keyword>
+ <keyword ref="qgridlayout.html#addMultiCellLayout">addMultiCellLayout</keyword>
+ <keyword ref="qgridlayout.html#addMultiCellWidget">addMultiCellWidget</keyword>
+ <keyword ref="qgridlayout.html#addWidget">addWidget</keyword>
+ <keyword ref="qgridlayout.html#cellGeometry">cellGeometry</keyword>
+ <keyword ref="qgridlayout.html#colSpacing">colSpacing</keyword>
+ <keyword ref="qgridlayout.html#colStretch">colStretch</keyword>
+ <keyword ref="qgridlayout.html#expand">expand</keyword>
+ <keyword ref="qgridlayout.html#expanding">expanding</keyword>
+ <keyword ref="qgridlayout.html#findWidget">findWidget</keyword>
+ <keyword ref="qgridlayout.html#hasHeightForWidth">hasHeightForWidth</keyword>
+ <keyword ref="qgridlayout.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qgridlayout.html#init">init</keyword>
+ <keyword ref="qgridlayout.html#invalidate">invalidate</keyword>
+ <keyword ref="qgridlayout.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qgridlayout.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qgridlayout.html#numCols">numCols</keyword>
+ <keyword ref="qgridlayout.html#numRows">numRows</keyword>
+ <keyword ref="qgridlayout.html#origin">origin</keyword>
+ <keyword ref="qgridlayout.html#rowSpacing">rowSpacing</keyword>
+ <keyword ref="qgridlayout.html#rowStretch">rowStretch</keyword>
+ <keyword ref="qgridlayout.html#setColSpacing">setColSpacing</keyword>
+ <keyword ref="qgridlayout.html#setColStretch">setColStretch</keyword>
+ <keyword ref="qgridlayout.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qgridlayout.html#setOrigin">setOrigin</keyword>
+ <keyword ref="qgridlayout.html#setRowSpacing">setRowSpacing</keyword>
+ <keyword ref="qgridlayout.html#setRowStretch">setRowStretch</keyword>
+ <keyword ref="qgridlayout.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qgridlayout.html#~QGridLayout">~QGridLayout</keyword>
+ <section ref="qgridlayout-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qgridview.html" title="QGridView Class Reference">
+ <keyword ref="qgridview.html">QGridView</keyword>
+ <keyword ref="qgridview.html#cellGeometry">cellGeometry</keyword>
+ <keyword ref="qgridview.html#cellHeight">cellHeight</keyword>
+ <keyword ref="qgridview.html#cellHeight-prop">cellHeight</keyword>
+ <keyword ref="qgridview.html#cellRect">cellRect</keyword>
+ <keyword ref="qgridview.html#cellWidth">cellWidth</keyword>
+ <keyword ref="qgridview.html#cellWidth-prop">cellWidth</keyword>
+ <keyword ref="qgridview.html#columnAt">columnAt</keyword>
+ <keyword ref="qgridview.html#dimensionChange">dimensionChange</keyword>
+ <keyword ref="qgridview.html#ensureCellVisible">ensureCellVisible</keyword>
+ <keyword ref="qgridview.html#gridSize">gridSize</keyword>
+ <keyword ref="qgridview.html#numCols">numCols</keyword>
+ <keyword ref="qgridview.html#numCols-prop">numCols</keyword>
+ <keyword ref="qgridview.html#numRows">numRows</keyword>
+ <keyword ref="qgridview.html#numRows-prop">numRows</keyword>
+ <keyword ref="qgridview.html#paintCell">paintCell</keyword>
+ <keyword ref="qgridview.html#paintEmptyArea">paintEmptyArea</keyword>
+ <keyword ref="qgridview.html#repaintCell">repaintCell</keyword>
+ <keyword ref="qgridview.html#rowAt">rowAt</keyword>
+ <keyword ref="qgridview.html#setCellHeight">setCellHeight</keyword>
+ <keyword ref="qgridview.html#setCellWidth">setCellWidth</keyword>
+ <keyword ref="qgridview.html#setNumCols">setNumCols</keyword>
+ <keyword ref="qgridview.html#setNumRows">setNumRows</keyword>
+ <keyword ref="qgridview.html#updateCell">updateCell</keyword>
+ <keyword ref="qgridview.html#~QGridView">~QGridView</keyword>
+ <section ref="qgridview-members.html" title="List of All Member Functions"/>
+ <section ref="qgridview-h.html" title="Header File"/>
+</section>
+<section ref="qgroupbox.html" title="QGroupBox Class Reference">
+ <keyword ref="qgroupbox.html">QGroupBox</keyword>
+ <keyword ref="qgroupbox.html#addSpace">addSpace</keyword>
+ <keyword ref="qgroupbox.html#alignment">alignment</keyword>
+ <keyword ref="qgroupbox.html#alignment-prop">alignment</keyword>
+ <keyword ref="qgroupbox.html#checkable-prop">checkable</keyword>
+ <keyword ref="qgroupbox.html#checked-prop">checked</keyword>
+ <keyword ref="qgroupbox.html#columns">columns</keyword>
+ <keyword ref="qgroupbox.html#columns-prop">columns</keyword>
+ <keyword ref="qgroupbox.html#flat-prop">flat</keyword>
+ <keyword ref="qgroupbox.html#insideMargin">insideMargin</keyword>
+ <keyword ref="qgroupbox.html#insideSpacing">insideSpacing</keyword>
+ <keyword ref="qgroupbox.html#isCheckable">isCheckable</keyword>
+ <keyword ref="qgroupbox.html#isChecked">isChecked</keyword>
+ <keyword ref="qgroupbox.html#isFlat">isFlat</keyword>
+ <keyword ref="qgroupbox.html#orientation">orientation</keyword>
+ <keyword ref="qgroupbox.html#orientation-prop">orientation</keyword>
+ <keyword ref="qgroupbox.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qgroupbox.html#setCheckable">setCheckable</keyword>
+ <keyword ref="qgroupbox.html#setChecked">setChecked</keyword>
+ <keyword ref="qgroupbox.html#setColumnLayout">setColumnLayout</keyword>
+ <keyword ref="qgroupbox.html#setColumns">setColumns</keyword>
+ <keyword ref="qgroupbox.html#setFlat">setFlat</keyword>
+ <keyword ref="qgroupbox.html#setInsideMargin">setInsideMargin</keyword>
+ <keyword ref="qgroupbox.html#setInsideSpacing">setInsideSpacing</keyword>
+ <keyword ref="qgroupbox.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qgroupbox.html#setTitle">setTitle</keyword>
+ <keyword ref="qgroupbox.html#title">title</keyword>
+ <keyword ref="qgroupbox.html#title-prop">title</keyword>
+ <keyword ref="qgroupbox.html#toggled">toggled</keyword>
+ <keyword ref="qgroupbox.html#~QGroupBox">~QGroupBox</keyword>
+ <section ref="qgroupbox-members.html" title="List of All Member Functions"/>
+ <section ref="qgroupbox-h.html" title="Header File"/>
+</section>
+<section ref="qguardedptr.html" title="QGuardedPtr Class Reference">
+ <keyword ref="qguardedptr.html">QGuardedPtr</keyword>
+ <keyword ref="qguardedptr.html#isNull">isNull</keyword>
+ <keyword ref="qguardedptr.html#operator-T-*">operator T *</keyword>
+ <keyword ref="qguardedptr.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qguardedptr.html#operator*">operator*</keyword>
+ <keyword ref="qguardedptr.html#operator--gt">operator-&gt;</keyword>
+ <keyword ref="qguardedptr.html#operator-eq">operator=</keyword>
+ <keyword ref="qguardedptr.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qguardedptr.html#~QGuardedPtr">~QGuardedPtr</keyword>
+ <section ref="qguardedptr-members.html" title="List of All Member Functions"/>
+ <section ref="qguardedptr-h.html" title="Header File"/>
+</section>
+<section ref="qhbox.html" title="QHBox Class Reference">
+ <keyword ref="qhbox.html">QHBox</keyword>
+ <keyword ref="qhbox.html#setSpacing">setSpacing</keyword>
+ <keyword ref="qhbox.html#setStretchFactor">setStretchFactor</keyword>
+ <section ref="qhbox-members.html" title="List of All Member Functions"/>
+ <section ref="qhbox-h.html" title="Header File"/>
+</section>
+<section ref="qhboxlayout.html" title="QHBoxLayout Class Reference">
+ <keyword ref="qhboxlayout.html">QHBoxLayout</keyword>
+ <keyword ref="qhboxlayout.html#~QHBoxLayout">~QHBoxLayout</keyword>
+ <section ref="qhboxlayout-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qhbuttongroup.html" title="QHButtonGroup Class Reference">
+ <keyword ref="qhbuttongroup.html">QHButtonGroup</keyword>
+ <keyword ref="qhbuttongroup.html#~QHButtonGroup">~QHButtonGroup</keyword>
+ <section ref="qhbuttongroup-members.html" title="List of All Member Functions"/>
+ <section ref="qhbuttongroup-h.html" title="Header File"/>
+</section>
+<section ref="qheader.html" title="QHeader Class Reference">
+ <keyword ref="qheader.html">QHeader</keyword>
+ <keyword ref="qheader.html#addLabel">addLabel</keyword>
+ <keyword ref="qheader.html#adjustHeaderSize">adjustHeaderSize</keyword>
+ <keyword ref="qheader.html#clicked">clicked</keyword>
+ <keyword ref="qheader.html#count">count</keyword>
+ <keyword ref="qheader.html#count-prop">count</keyword>
+ <keyword ref="qheader.html#handleAt">handleAt</keyword>
+ <keyword ref="qheader.html#handleColumnMove">handleColumnMove</keyword>
+ <keyword ref="qheader.html#headerWidth">headerWidth</keyword>
+ <keyword ref="qheader.html#iconSet">iconSet</keyword>
+ <keyword ref="qheader.html#indexChange">indexChange</keyword>
+ <keyword ref="qheader.html#isClickEnabled">isClickEnabled</keyword>
+ <keyword ref="qheader.html#isMovingEnabled">isMovingEnabled</keyword>
+ <keyword ref="qheader.html#isResizeEnabled">isResizeEnabled</keyword>
+ <keyword ref="qheader.html#isStretchEnabled">isStretchEnabled</keyword>
+ <keyword ref="qheader.html#label">label</keyword>
+ <keyword ref="qheader.html#mapToIndex">mapToIndex</keyword>
+ <keyword ref="qheader.html#mapToSection">mapToSection</keyword>
+ <keyword ref="qheader.html#moveSection">moveSection</keyword>
+ <keyword ref="qheader.html#moving-prop">moving</keyword>
+ <keyword ref="qheader.html#offset">offset</keyword>
+ <keyword ref="qheader.html#offset-prop">offset</keyword>
+ <keyword ref="qheader.html#orientation">orientation</keyword>
+ <keyword ref="qheader.html#orientation-prop">orientation</keyword>
+ <keyword ref="qheader.html#paintSection">paintSection</keyword>
+ <keyword ref="qheader.html#paintSectionLabel">paintSectionLabel</keyword>
+ <keyword ref="qheader.html#pressed">pressed</keyword>
+ <keyword ref="qheader.html#released">released</keyword>
+ <keyword ref="qheader.html#removeLabel">removeLabel</keyword>
+ <keyword ref="qheader.html#resizeSection">resizeSection</keyword>
+ <keyword ref="qheader.html#sRect">sRect</keyword>
+ <keyword ref="qheader.html#sectionAt">sectionAt</keyword>
+ <keyword ref="qheader.html#sectionHandleDoubleClicked">sectionHandleDoubleClicked</keyword>
+ <keyword ref="qheader.html#sectionPos">sectionPos</keyword>
+ <keyword ref="qheader.html#sectionRect">sectionRect</keyword>
+ <keyword ref="qheader.html#sectionSize">sectionSize</keyword>
+ <keyword ref="qheader.html#setClickEnabled">setClickEnabled</keyword>
+ <keyword ref="qheader.html#setLabel">setLabel</keyword>
+ <keyword ref="qheader.html#setMovingEnabled">setMovingEnabled</keyword>
+ <keyword ref="qheader.html#setOffset">setOffset</keyword>
+ <keyword ref="qheader.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qheader.html#setResizeEnabled">setResizeEnabled</keyword>
+ <keyword ref="qheader.html#setSortIndicator">setSortIndicator</keyword>
+ <keyword ref="qheader.html#setStretchEnabled">setStretchEnabled</keyword>
+ <keyword ref="qheader.html#setTracking">setTracking</keyword>
+ <keyword ref="qheader.html#sizeChange">sizeChange</keyword>
+ <keyword ref="qheader.html#sortIndicatorOrder">sortIndicatorOrder</keyword>
+ <keyword ref="qheader.html#sortIndicatorSection">sortIndicatorSection</keyword>
+ <keyword ref="qheader.html#stretching-prop">stretching</keyword>
+ <keyword ref="qheader.html#tracking">tracking</keyword>
+ <keyword ref="qheader.html#tracking-prop">tracking</keyword>
+ <keyword ref="qheader.html#~QHeader">~QHeader</keyword>
+ <section ref="qheader-members.html" title="List of All Member Functions"/>
+ <section ref="qheader-h.html" title="Header File"/>
+</section>
+<section ref="qhebrewcodec.html" title="QHebrewCodec Class Reference">
+ <keyword ref="qhebrewcodec.html">QHebrewCodec</keyword>
+ <keyword ref="qhebrewcodec.html#fromUnicode">fromUnicode</keyword>
+ <keyword ref="qhebrewcodec.html#mimeName">mimeName</keyword>
+ <section ref="qhebrewcodec-members.html" title="List of All Member Functions"/>
+ <section ref="qrtlcodec-h.html" title="Header File"/>
+</section>
+<section ref="qhgroupbox.html" title="QHGroupBox Class Reference">
+ <keyword ref="qhgroupbox.html">QHGroupBox</keyword>
+ <keyword ref="qhgroupbox.html#~QHGroupBox">~QHGroupBox</keyword>
+ <section ref="qhgroupbox-members.html" title="List of All Member Functions"/>
+ <section ref="qhgroupbox-h.html" title="Header File"/>
+</section>
+<section ref="qhideevent.html" title="QHideEvent Class Reference">
+ <keyword ref="qhideevent.html">QHideEvent</keyword>
+ <section ref="qhideevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qhostaddress.html" title="QHostAddress Class Reference">
+ <keyword ref="qhostaddress.html">QHostAddress</keyword>
+ <keyword ref="qhostaddress.html#isIPv4Address">isIPv4Address</keyword>
+ <keyword ref="qhostaddress.html#isIPv6Address">isIPv6Address</keyword>
+ <keyword ref="qhostaddress.html#isNull">isNull</keyword>
+ <keyword ref="qhostaddress.html#operator-eq">operator=</keyword>
+ <keyword ref="qhostaddress.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qhostaddress.html#setAddress">setAddress</keyword>
+ <keyword ref="qhostaddress.html#toIPv4Address">toIPv4Address</keyword>
+ <keyword ref="qhostaddress.html#toIPv6Address">toIPv6Address</keyword>
+ <keyword ref="qhostaddress.html#toString">toString</keyword>
+ <keyword ref="qhostaddress.html#~QHostAddress">~QHostAddress</keyword>
+ <section ref="qhostaddress-members.html" title="List of All Member Functions"/>
+ <section ref="qhostaddress-h.html" title="Header File"/>
+</section>
+<section ref="qhttp.html" title="QHttp Class Reference">
+ <keyword ref="qhttp.html">QHttp</keyword>
+ <keyword ref="qhttp.html#Error">Error</keyword>
+ <keyword ref="qhttp.html#State">State</keyword>
+ <keyword ref="qhttp.html#abort">abort</keyword>
+ <keyword ref="qhttp.html#bytesAvailable">bytesAvailable</keyword>
+ <keyword ref="qhttp.html#clearPendingRequests">clearPendingRequests</keyword>
+ <keyword ref="qhttp.html#closeConnection">closeConnection</keyword>
+ <keyword ref="qhttp.html#currentDestinationDevice">currentDestinationDevice</keyword>
+ <keyword ref="qhttp.html#currentId">currentId</keyword>
+ <keyword ref="qhttp.html#currentRequest">currentRequest</keyword>
+ <keyword ref="qhttp.html#currentSourceDevice">currentSourceDevice</keyword>
+ <keyword ref="qhttp.html#dataReadProgress">dataReadProgress</keyword>
+ <keyword ref="qhttp.html#dataSendProgress">dataSendProgress</keyword>
+ <keyword ref="qhttp.html#done">done</keyword>
+ <keyword ref="qhttp.html#error">error</keyword>
+ <keyword ref="qhttp.html#errorString">errorString</keyword>
+ <keyword ref="qhttp.html#get">get</keyword>
+ <keyword ref="qhttp.html#hasPendingRequests">hasPendingRequests</keyword>
+ <keyword ref="qhttp.html#head">head</keyword>
+ <keyword ref="qhttp.html#post">post</keyword>
+ <keyword ref="qhttp.html#readAll">readAll</keyword>
+ <keyword ref="qhttp.html#readBlock">readBlock</keyword>
+ <keyword ref="qhttp.html#readyRead">readyRead</keyword>
+ <keyword ref="qhttp.html#request">request</keyword>
+ <keyword ref="qhttp.html#requestFinished">requestFinished</keyword>
+ <keyword ref="qhttp.html#requestStarted">requestStarted</keyword>
+ <keyword ref="qhttp.html#responseHeaderReceived">responseHeaderReceived</keyword>
+ <keyword ref="qhttp.html#setHost">setHost</keyword>
+ <keyword ref="qhttp.html#state">state</keyword>
+ <keyword ref="qhttp.html#stateChanged">stateChanged</keyword>
+ <keyword ref="qhttp.html#~QHttp">~QHttp</keyword>
+ <section ref="qhttp-members.html" title="List of All Member Functions"/>
+ <section ref="qhttp-h.html" title="Header File"/>
+</section>
+<section ref="qhttpheader.html" title="QHttpHeader Class Reference">
+ <keyword ref="qhttpheader.html">QHttpHeader</keyword>
+ <keyword ref="qhttpheader.html#contentLength">contentLength</keyword>
+ <keyword ref="qhttpheader.html#contentType">contentType</keyword>
+ <keyword ref="qhttpheader.html#hasContentLength">hasContentLength</keyword>
+ <keyword ref="qhttpheader.html#hasContentType">hasContentType</keyword>
+ <keyword ref="qhttpheader.html#hasKey">hasKey</keyword>
+ <keyword ref="qhttpheader.html#isValid">isValid</keyword>
+ <keyword ref="qhttpheader.html#keys">keys</keyword>
+ <keyword ref="qhttpheader.html#majorVersion">majorVersion</keyword>
+ <keyword ref="qhttpheader.html#minorVersion">minorVersion</keyword>
+ <keyword ref="qhttpheader.html#operator-eq">operator=</keyword>
+ <keyword ref="qhttpheader.html#removeValue">removeValue</keyword>
+ <keyword ref="qhttpheader.html#setContentLength">setContentLength</keyword>
+ <keyword ref="qhttpheader.html#setContentType">setContentType</keyword>
+ <keyword ref="qhttpheader.html#setValue">setValue</keyword>
+ <keyword ref="qhttpheader.html#toString">toString</keyword>
+ <keyword ref="qhttpheader.html#value">value</keyword>
+ <keyword ref="qhttpheader.html#~QHttpHeader">~QHttpHeader</keyword>
+ <section ref="qhttpheader-members.html" title="List of All Member Functions"/>
+ <section ref="qhttp-h.html" title="Header File"/>
+</section>
+<section ref="qhttprequestheader.html" title="QHttpRequestHeader Class Reference">
+ <keyword ref="qhttprequestheader.html">QHttpRequestHeader</keyword>
+ <keyword ref="qhttprequestheader.html#majorVersion">majorVersion</keyword>
+ <keyword ref="qhttprequestheader.html#method">method</keyword>
+ <keyword ref="qhttprequestheader.html#minorVersion">minorVersion</keyword>
+ <keyword ref="qhttprequestheader.html#path">path</keyword>
+ <keyword ref="qhttprequestheader.html#setRequest">setRequest</keyword>
+ <section ref="qhttprequestheader-members.html" title="List of All Member Functions"/>
+ <section ref="qhttp-h.html" title="Header File"/>
+</section>
+<section ref="qhttpresponseheader.html" title="QHttpResponseHeader Class Reference">
+ <keyword ref="qhttpresponseheader.html">QHttpResponseHeader</keyword>
+ <keyword ref="qhttpresponseheader.html#majorVersion">majorVersion</keyword>
+ <keyword ref="qhttpresponseheader.html#minorVersion">minorVersion</keyword>
+ <keyword ref="qhttpresponseheader.html#reasonPhrase">reasonPhrase</keyword>
+ <keyword ref="qhttpresponseheader.html#setStatusLine">setStatusLine</keyword>
+ <keyword ref="qhttpresponseheader.html#statusCode">statusCode</keyword>
+ <section ref="qhttpresponseheader-members.html" title="List of All Member Functions"/>
+ <section ref="qhttp-h.html" title="Header File"/>
+</section>
+<section ref="qicondrag.html" title="QIconDrag Class Reference">
+ <keyword ref="qicondrag.html">QIconDrag</keyword>
+ <keyword ref="qicondrag.html#append">append</keyword>
+ <keyword ref="qicondrag.html#canDecode">canDecode</keyword>
+ <keyword ref="qicondrag.html#encodedData">encodedData</keyword>
+ <keyword ref="qicondrag.html#~QIconDrag">~QIconDrag</keyword>
+ <section ref="qicondrag-members.html" title="List of All Member Functions"/>
+ <section ref="qiconview-h.html" title="Header File"/>
+</section>
+<section ref="qicondragevent.html" title="QIconDragEvent Class Reference">
+ <keyword ref="qicondragevent.html">QIconDragEvent</keyword>
+ <keyword ref="qicondragevent.html#accept">accept</keyword>
+ <keyword ref="qicondragevent.html#ignore">ignore</keyword>
+ <keyword ref="qicondragevent.html#isAccepted">isAccepted</keyword>
+ <section ref="qicondragevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qicondragitem.html" title="QIconDragItem Class Reference">
+ <keyword ref="qicondragitem.html">QIconDragItem</keyword>
+ <keyword ref="qicondragitem.html#data">data</keyword>
+ <keyword ref="qicondragitem.html#setData">setData</keyword>
+ <keyword ref="qicondragitem.html#~QIconDragItem">~QIconDragItem</keyword>
+ <section ref="qicondragitem-members.html" title="List of All Member Functions"/>
+ <section ref="qiconview-h.html" title="Header File"/>
+</section>
+<section ref="qiconfactory.html" title="QIconFactory Class Reference">
+ <keyword ref="qiconfactory.html">QIconFactory</keyword>
+ <keyword ref="qiconfactory.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qiconfactory.html#createPixmap">createPixmap</keyword>
+ <keyword ref="qiconfactory.html#defaultFactory">defaultFactory</keyword>
+ <keyword ref="qiconfactory.html#installDefaultFactory">installDefaultFactory</keyword>
+ <keyword ref="qiconfactory.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qiconfactory.html#~QIconFactory">~QIconFactory</keyword>
+ <section ref="qiconfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qiconset-h.html" title="Header File"/>
+</section>
+<section ref="qiconset.html" title="QIconSet Class Reference">
+ <keyword ref="qiconset.html">QIconSet</keyword>
+ <keyword ref="qiconset.html#Mode">Mode</keyword>
+ <keyword ref="qiconset.html#Size">Size</keyword>
+ <keyword ref="qiconset.html#State">State</keyword>
+ <keyword ref="qiconset.html#clearGenerated">clearGenerated</keyword>
+ <keyword ref="qiconset.html#createDisabled">createDisabled</keyword>
+ <keyword ref="qiconset.html#createScaled">createScaled</keyword>
+ <keyword ref="qiconset.html#detach">detach</keyword>
+ <keyword ref="qiconset.html#iconSize">iconSize</keyword>
+ <keyword ref="qiconset.html#installIconFactory">installIconFactory</keyword>
+ <keyword ref="qiconset.html#isGenerated">isGenerated</keyword>
+ <keyword ref="qiconset.html#isNull">isNull</keyword>
+ <keyword ref="qiconset.html#operator-eq">operator=</keyword>
+ <keyword ref="qiconset.html#pixmap">pixmap</keyword>
+ <keyword ref="qiconset.html#reset">reset</keyword>
+ <keyword ref="qiconset.html#setIconSize">setIconSize</keyword>
+ <keyword ref="qiconset.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qiconset.html#~QIconSet">~QIconSet</keyword>
+ <section ref="qiconset-members.html" title="List of All Member Functions"/>
+ <section ref="qiconset-h.html" title="Header File"/>
+</section>
+<section ref="qiconview.html" title="QIconView Class Reference">
+ <keyword ref="qiconview.html">QIconView</keyword>
+ <keyword ref="qiconview.html#Arrangement">Arrangement</keyword>
+ <keyword ref="qiconview.html#ItemTextPos">ItemTextPos</keyword>
+ <keyword ref="qiconview.html#ResizeMode">ResizeMode</keyword>
+ <keyword ref="qiconview.html#SelectionMode">SelectionMode</keyword>
+ <keyword ref="qiconview.html#adjustItems">adjustItems</keyword>
+ <keyword ref="qiconview.html#arrangeItemsInGrid">arrangeItemsInGrid</keyword>
+ <keyword ref="qiconview.html#arrangement">arrangement</keyword>
+ <keyword ref="qiconview.html#arrangement-prop">arrangement</keyword>
+ <keyword ref="qiconview.html#autoArrange">autoArrange</keyword>
+ <keyword ref="qiconview.html#autoArrange-prop">autoArrange</keyword>
+ <keyword ref="qiconview.html#clear">clear</keyword>
+ <keyword ref="qiconview.html#clearSelection">clearSelection</keyword>
+ <keyword ref="qiconview.html#clicked">clicked</keyword>
+ <keyword ref="qiconview.html#contextMenuRequested">contextMenuRequested</keyword>
+ <keyword ref="qiconview.html#count">count</keyword>
+ <keyword ref="qiconview.html#count-prop">count</keyword>
+ <keyword ref="qiconview.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qiconview.html#currentItem">currentItem</keyword>
+ <keyword ref="qiconview.html#doAutoScroll">doAutoScroll</keyword>
+ <keyword ref="qiconview.html#doubleClicked">doubleClicked</keyword>
+ <keyword ref="qiconview.html#dragObject">dragObject</keyword>
+ <keyword ref="qiconview.html#drawBackground">drawBackground</keyword>
+ <keyword ref="qiconview.html#drawDragShapes">drawDragShapes</keyword>
+ <keyword ref="qiconview.html#drawRubber">drawRubber</keyword>
+ <keyword ref="qiconview.html#dropped">dropped</keyword>
+ <keyword ref="qiconview.html#emitSelectionChanged">emitSelectionChanged</keyword>
+ <keyword ref="qiconview.html#ensureItemVisible">ensureItemVisible</keyword>
+ <keyword ref="qiconview.html#findFirstVisibleItem">findFirstVisibleItem</keyword>
+ <keyword ref="qiconview.html#findItem">findItem</keyword>
+ <keyword ref="qiconview.html#findLastVisibleItem">findLastVisibleItem</keyword>
+ <keyword ref="qiconview.html#firstItem">firstItem</keyword>
+ <keyword ref="qiconview.html#gridX">gridX</keyword>
+ <keyword ref="qiconview.html#gridX-prop">gridX</keyword>
+ <keyword ref="qiconview.html#gridY">gridY</keyword>
+ <keyword ref="qiconview.html#gridY-prop">gridY</keyword>
+ <keyword ref="qiconview.html#index">index</keyword>
+ <keyword ref="qiconview.html#initDragEnter">initDragEnter</keyword>
+ <keyword ref="qiconview.html#insertInGrid">insertInGrid</keyword>
+ <keyword ref="qiconview.html#insertItem">insertItem</keyword>
+ <keyword ref="qiconview.html#invertSelection">invertSelection</keyword>
+ <keyword ref="qiconview.html#isRenaming">isRenaming</keyword>
+ <keyword ref="qiconview.html#itemRenamed">itemRenamed</keyword>
+ <keyword ref="qiconview.html#itemTextBackground">itemTextBackground</keyword>
+ <keyword ref="qiconview.html#itemTextBackground-prop">itemTextBackground</keyword>
+ <keyword ref="qiconview.html#itemTextPos">itemTextPos</keyword>
+ <keyword ref="qiconview.html#itemTextPos-prop">itemTextPos</keyword>
+ <keyword ref="qiconview.html#itemsMovable">itemsMovable</keyword>
+ <keyword ref="qiconview.html#itemsMovable-prop">itemsMovable</keyword>
+ <keyword ref="qiconview.html#lastItem">lastItem</keyword>
+ <keyword ref="qiconview.html#makeRowLayout">makeRowLayout</keyword>
+ <keyword ref="qiconview.html#maxItemTextLength">maxItemTextLength</keyword>
+ <keyword ref="qiconview.html#maxItemTextLength-prop">maxItemTextLength</keyword>
+ <keyword ref="qiconview.html#maxItemWidth">maxItemWidth</keyword>
+ <keyword ref="qiconview.html#maxItemWidth-prop">maxItemWidth</keyword>
+ <keyword ref="qiconview.html#mouseButtonClicked">mouseButtonClicked</keyword>
+ <keyword ref="qiconview.html#mouseButtonPressed">mouseButtonPressed</keyword>
+ <keyword ref="qiconview.html#moved">moved</keyword>
+ <keyword ref="qiconview.html#onItem">onItem</keyword>
+ <keyword ref="qiconview.html#onViewport">onViewport</keyword>
+ <keyword ref="qiconview.html#pressed">pressed</keyword>
+ <keyword ref="qiconview.html#repaintItem">repaintItem</keyword>
+ <keyword ref="qiconview.html#repaintSelectedItems">repaintSelectedItems</keyword>
+ <keyword ref="qiconview.html#resizeMode">resizeMode</keyword>
+ <keyword ref="qiconview.html#resizeMode-prop">resizeMode</keyword>
+ <keyword ref="qiconview.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qiconview.html#rightButtonClicked">rightButtonClicked</keyword>
+ <keyword ref="qiconview.html#rightButtonPressed">rightButtonPressed</keyword>
+ <keyword ref="qiconview.html#selectAll">selectAll</keyword>
+ <keyword ref="qiconview.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qiconview.html#selectionMode">selectionMode</keyword>
+ <keyword ref="qiconview.html#selectionMode-prop">selectionMode</keyword>
+ <keyword ref="qiconview.html#setArrangement">setArrangement</keyword>
+ <keyword ref="qiconview.html#setAutoArrange">setAutoArrange</keyword>
+ <keyword ref="qiconview.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qiconview.html#setGridX">setGridX</keyword>
+ <keyword ref="qiconview.html#setGridY">setGridY</keyword>
+ <keyword ref="qiconview.html#setItemTextBackground">setItemTextBackground</keyword>
+ <keyword ref="qiconview.html#setItemTextPos">setItemTextPos</keyword>
+ <keyword ref="qiconview.html#setItemsMovable">setItemsMovable</keyword>
+ <keyword ref="qiconview.html#setMaxItemTextLength">setMaxItemTextLength</keyword>
+ <keyword ref="qiconview.html#setMaxItemWidth">setMaxItemWidth</keyword>
+ <keyword ref="qiconview.html#setResizeMode">setResizeMode</keyword>
+ <keyword ref="qiconview.html#setSelected">setSelected</keyword>
+ <keyword ref="qiconview.html#setSelectionMode">setSelectionMode</keyword>
+ <keyword ref="qiconview.html#setShowToolTips">setShowToolTips</keyword>
+ <keyword ref="qiconview.html#setSorting">setSorting</keyword>
+ <keyword ref="qiconview.html#setSpacing">setSpacing</keyword>
+ <keyword ref="qiconview.html#setWordWrapIconText">setWordWrapIconText</keyword>
+ <keyword ref="qiconview.html#showToolTips">showToolTips</keyword>
+ <keyword ref="qiconview.html#showToolTips-prop">showToolTips</keyword>
+ <keyword ref="qiconview.html#slotUpdate">slotUpdate</keyword>
+ <keyword ref="qiconview.html#sort">sort</keyword>
+ <keyword ref="qiconview.html#sortDirection">sortDirection</keyword>
+ <keyword ref="qiconview.html#sortDirection-prop">sortDirection</keyword>
+ <keyword ref="qiconview.html#sorting">sorting</keyword>
+ <keyword ref="qiconview.html#sorting-prop">sorting</keyword>
+ <keyword ref="qiconview.html#spacing">spacing</keyword>
+ <keyword ref="qiconview.html#spacing-prop">spacing</keyword>
+ <keyword ref="qiconview.html#startDrag">startDrag</keyword>
+ <keyword ref="qiconview.html#takeItem">takeItem</keyword>
+ <keyword ref="qiconview.html#wordWrapIconText">wordWrapIconText</keyword>
+ <keyword ref="qiconview.html#wordWrapIconText-prop">wordWrapIconText</keyword>
+ <keyword ref="qiconview.html#~QIconView">~QIconView</keyword>
+ <section ref="qiconview-members.html" title="List of All Member Functions"/>
+ <section ref="qiconview-h.html" title="Header File"/>
+</section>
+<section ref="qiconviewitem.html" title="QIconViewItem Class Reference">
+ <keyword ref="qiconviewitem.html">QIconViewItem</keyword>
+ <keyword ref="qiconviewitem.html#acceptDrop">acceptDrop</keyword>
+ <keyword ref="qiconviewitem.html#calcRect">calcRect</keyword>
+ <keyword ref="qiconviewitem.html#cancelRenameItem">cancelRenameItem</keyword>
+ <keyword ref="qiconviewitem.html#compare">compare</keyword>
+ <keyword ref="qiconviewitem.html#contains">contains</keyword>
+ <keyword ref="qiconviewitem.html#dragEnabled">dragEnabled</keyword>
+ <keyword ref="qiconviewitem.html#dragEntered">dragEntered</keyword>
+ <keyword ref="qiconviewitem.html#dragLeft">dragLeft</keyword>
+ <keyword ref="qiconviewitem.html#dropEnabled">dropEnabled</keyword>
+ <keyword ref="qiconviewitem.html#dropped">dropped</keyword>
+ <keyword ref="qiconviewitem.html#height">height</keyword>
+ <keyword ref="qiconviewitem.html#iconView">iconView</keyword>
+ <keyword ref="qiconviewitem.html#index">index</keyword>
+ <keyword ref="qiconviewitem.html#init">init</keyword>
+ <keyword ref="qiconviewitem.html#intersects">intersects</keyword>
+ <keyword ref="qiconviewitem.html#isSelectable">isSelectable</keyword>
+ <keyword ref="qiconviewitem.html#isSelected">isSelected</keyword>
+ <keyword ref="qiconviewitem.html#key">key</keyword>
+ <keyword ref="qiconviewitem.html#move">move</keyword>
+ <keyword ref="qiconviewitem.html#moveBy">moveBy</keyword>
+ <keyword ref="qiconviewitem.html#nextItem">nextItem</keyword>
+ <keyword ref="qiconviewitem.html#paintFocus">paintFocus</keyword>
+ <keyword ref="qiconviewitem.html#paintItem">paintItem</keyword>
+ <keyword ref="qiconviewitem.html#picture">picture</keyword>
+ <keyword ref="qiconviewitem.html#pixmap">pixmap</keyword>
+ <keyword ref="qiconviewitem.html#pixmapRect">pixmapRect</keyword>
+ <keyword ref="qiconviewitem.html#pos">pos</keyword>
+ <keyword ref="qiconviewitem.html#prevItem">prevItem</keyword>
+ <keyword ref="qiconviewitem.html#rect">rect</keyword>
+ <keyword ref="qiconviewitem.html#removeRenameBox">removeRenameBox</keyword>
+ <keyword ref="qiconviewitem.html#rename">rename</keyword>
+ <keyword ref="qiconviewitem.html#renameEnabled">renameEnabled</keyword>
+ <keyword ref="qiconviewitem.html#renameItem">renameItem</keyword>
+ <keyword ref="qiconviewitem.html#repaint">repaint</keyword>
+ <keyword ref="qiconviewitem.html#rtti">rtti</keyword>
+ <keyword ref="qiconviewitem.html#setDragEnabled">setDragEnabled</keyword>
+ <keyword ref="qiconviewitem.html#setDropEnabled">setDropEnabled</keyword>
+ <keyword ref="qiconviewitem.html#setItemRect">setItemRect</keyword>
+ <keyword ref="qiconviewitem.html#setKey">setKey</keyword>
+ <keyword ref="qiconviewitem.html#setPicture">setPicture</keyword>
+ <keyword ref="qiconviewitem.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qiconviewitem.html#setPixmapRect">setPixmapRect</keyword>
+ <keyword ref="qiconviewitem.html#setRenameEnabled">setRenameEnabled</keyword>
+ <keyword ref="qiconviewitem.html#setSelectable">setSelectable</keyword>
+ <keyword ref="qiconviewitem.html#setSelected">setSelected</keyword>
+ <keyword ref="qiconviewitem.html#setText">setText</keyword>
+ <keyword ref="qiconviewitem.html#setTextRect">setTextRect</keyword>
+ <keyword ref="qiconviewitem.html#size">size</keyword>
+ <keyword ref="qiconviewitem.html#text">text</keyword>
+ <keyword ref="qiconviewitem.html#textRect">textRect</keyword>
+ <keyword ref="qiconviewitem.html#width">width</keyword>
+ <keyword ref="qiconviewitem.html#x">x</keyword>
+ <keyword ref="qiconviewitem.html#y">y</keyword>
+ <keyword ref="qiconviewitem.html#~QIconViewItem">~QIconViewItem</keyword>
+ <section ref="qiconviewitem-members.html" title="List of All Member Functions"/>
+ <section ref="qiconview-h.html" title="Header File"/>
+</section>
+<section ref="qimage.html" title="QImage Class Reference">
+ <keyword ref="qimage.html">QImage</keyword>
+ <keyword ref="qimage.html#Endian">Endian</keyword>
+ <keyword ref="qimage.html#ScaleMode">ScaleMode</keyword>
+ <keyword ref="qimage.html#allGray">allGray</keyword>
+ <keyword ref="qimage.html#bitOrder">bitOrder</keyword>
+ <keyword ref="qimage.html#bits">bits</keyword>
+ <keyword ref="qimage.html#bytesPerLine">bytesPerLine</keyword>
+ <keyword ref="qimage.html#color">color</keyword>
+ <keyword ref="qimage.html#colorTable">colorTable</keyword>
+ <keyword ref="qimage.html#convertBitOrder">convertBitOrder</keyword>
+ <keyword ref="qimage.html#convertDepth">convertDepth</keyword>
+ <keyword ref="qimage.html#convertDepthWithPalette">convertDepthWithPalette</keyword>
+ <keyword ref="qimage.html#copy">copy</keyword>
+ <keyword ref="qimage.html#create">create</keyword>
+ <keyword ref="qimage.html#createAlphaMask">createAlphaMask</keyword>
+ <keyword ref="qimage.html#createHeuristicMask">createHeuristicMask</keyword>
+ <keyword ref="qimage.html#depth">depth</keyword>
+ <keyword ref="qimage.html#detach">detach</keyword>
+ <keyword ref="qimage.html#dotsPerMeterX">dotsPerMeterX</keyword>
+ <keyword ref="qimage.html#dotsPerMeterY">dotsPerMeterY</keyword>
+ <keyword ref="qimage.html#fill">fill</keyword>
+ <keyword ref="qimage.html#fromMimeSource">fromMimeSource</keyword>
+ <keyword ref="qimage.html#hasAlphaBuffer">hasAlphaBuffer</keyword>
+ <keyword ref="qimage.html#height">height</keyword>
+ <keyword ref="qimage.html#imageFormat">imageFormat</keyword>
+ <keyword ref="qimage.html#inputFormatList">inputFormatList</keyword>
+ <keyword ref="qimage.html#inputFormats">inputFormats</keyword>
+ <keyword ref="qimage.html#invertPixels">invertPixels</keyword>
+ <keyword ref="qimage.html#isGrayscale">isGrayscale</keyword>
+ <keyword ref="qimage.html#isNull">isNull</keyword>
+ <keyword ref="qimage.html#jumpTable">jumpTable</keyword>
+ <keyword ref="qimage.html#load">load</keyword>
+ <keyword ref="qimage.html#loadFromData">loadFromData</keyword>
+ <keyword ref="qimage.html#mirror">mirror</keyword>
+ <keyword ref="qimage.html#numBytes">numBytes</keyword>
+ <keyword ref="qimage.html#numColors">numColors</keyword>
+ <keyword ref="qimage.html#offset">offset</keyword>
+ <keyword ref="qimage.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qimage.html#operator-eq">operator=</keyword>
+ <keyword ref="qimage.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qimage.html#outputFormatList">outputFormatList</keyword>
+ <keyword ref="qimage.html#outputFormats">outputFormats</keyword>
+ <keyword ref="qimage.html#pixel">pixel</keyword>
+ <keyword ref="qimage.html#pixelIndex">pixelIndex</keyword>
+ <keyword ref="qimage.html#rect">rect</keyword>
+ <keyword ref="qimage.html#reset">reset</keyword>
+ <keyword ref="qimage.html#save">save</keyword>
+ <keyword ref="qimage.html#scale">scale</keyword>
+ <keyword ref="qimage.html#scaleHeight">scaleHeight</keyword>
+ <keyword ref="qimage.html#scaleWidth">scaleWidth</keyword>
+ <keyword ref="qimage.html#scanLine">scanLine</keyword>
+ <keyword ref="qimage.html#setAlphaBuffer">setAlphaBuffer</keyword>
+ <keyword ref="qimage.html#setColor">setColor</keyword>
+ <keyword ref="qimage.html#setDotsPerMeterX">setDotsPerMeterX</keyword>
+ <keyword ref="qimage.html#setDotsPerMeterY">setDotsPerMeterY</keyword>
+ <keyword ref="qimage.html#setNumColors">setNumColors</keyword>
+ <keyword ref="qimage.html#setOffset">setOffset</keyword>
+ <keyword ref="qimage.html#setPixel">setPixel</keyword>
+ <keyword ref="qimage.html#setText">setText</keyword>
+ <keyword ref="qimage.html#size">size</keyword>
+ <keyword ref="qimage.html#smoothScale">smoothScale</keyword>
+ <keyword ref="qimage.html#swapRGB">swapRGB</keyword>
+ <keyword ref="qimage.html#systemBitOrder">systemBitOrder</keyword>
+ <keyword ref="qimage.html#systemByteOrder">systemByteOrder</keyword>
+ <keyword ref="qimage.html#text">text</keyword>
+ <keyword ref="qimage.html#textKeys">textKeys</keyword>
+ <keyword ref="qimage.html#textLanguages">textLanguages</keyword>
+ <keyword ref="qimage.html#textList">textList</keyword>
+ <keyword ref="qimage.html#valid">valid</keyword>
+ <keyword ref="qimage.html#width">width</keyword>
+ <keyword ref="qimage.html#xForm">xForm</keyword>
+ <keyword ref="qimage.html#~QImage">~QImage</keyword>
+ <keyword ref="qimage.html#bitBlt">bitBlt</keyword>
+ <keyword ref="qimage.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qimage.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qimage-members.html" title="List of All Member Functions"/>
+ <section ref="qimage-h.html" title="Header File"/>
+</section>
+<section ref="qimageconsumer.html" title="QImageConsumer Class Reference">
+ <keyword ref="qimageconsumer.html">QImageConsumer</keyword>
+ <keyword ref="qimageconsumer.html#changed">changed</keyword>
+ <keyword ref="qimageconsumer.html#end">end</keyword>
+ <keyword ref="qimageconsumer.html#frameDone">frameDone</keyword>
+ <keyword ref="qimageconsumer.html#setFramePeriod">setFramePeriod</keyword>
+ <keyword ref="qimageconsumer.html#setLooping">setLooping</keyword>
+ <keyword ref="qimageconsumer.html#setSize">setSize</keyword>
+ <section ref="qimageconsumer-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncimageio-h.html" title="Header File"/>
+</section>
+<section ref="qimagedecoder.html" title="QImageDecoder Class Reference">
+ <keyword ref="qimagedecoder.html">QImageDecoder</keyword>
+ <keyword ref="qimagedecoder.html#decode">decode</keyword>
+ <keyword ref="qimagedecoder.html#format">format</keyword>
+ <keyword ref="qimagedecoder.html#formatName">formatName</keyword>
+ <keyword ref="qimagedecoder.html#image">image</keyword>
+ <keyword ref="qimagedecoder.html#inputFormats">inputFormats</keyword>
+ <keyword ref="qimagedecoder.html#registerDecoderFactory">registerDecoderFactory</keyword>
+ <keyword ref="qimagedecoder.html#unregisterDecoderFactory">unregisterDecoderFactory</keyword>
+ <keyword ref="qimagedecoder.html#~QImageDecoder">~QImageDecoder</keyword>
+ <section ref="qimagedecoder-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncimageio-h.html" title="Header File"/>
+</section>
+<section ref="qimagedrag.html" title="QImageDrag Class Reference">
+ <keyword ref="qimagedrag.html">QImageDrag</keyword>
+ <keyword ref="qimagedrag.html#canDecode">canDecode</keyword>
+ <keyword ref="qimagedrag.html#decode">decode</keyword>
+ <keyword ref="qimagedrag.html#setImage">setImage</keyword>
+ <keyword ref="qimagedrag.html#~QImageDrag">~QImageDrag</keyword>
+ <section ref="qimagedrag-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qimageformat.html" title="QImageFormat Class Reference">
+ <keyword ref="qimageformat.html">QImageFormat</keyword>
+ <keyword ref="qimageformat.html#decode">decode</keyword>
+ <section ref="qimageformat-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncimageio-h.html" title="Header File"/>
+</section>
+<section ref="qimageformatplugin.html" title="QImageFormatPlugin Class Reference">
+ <keyword ref="qimageformatplugin.html">QImageFormatPlugin</keyword>
+ <keyword ref="qimageformatplugin.html#installIOHandler">installIOHandler</keyword>
+ <keyword ref="qimageformatplugin.html#keys">keys</keyword>
+ <keyword ref="qimageformatplugin.html#~QImageFormatPlugin">~QImageFormatPlugin</keyword>
+ <section ref="qimageformatplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qimageformatplugin-h.html" title="Header File"/>
+</section>
+<section ref="qimageformattype.html" title="QImageFormatType Class Reference">
+ <keyword ref="qimageformattype.html">QImageFormatType</keyword>
+ <keyword ref="qimageformattype.html#decoderFor">decoderFor</keyword>
+ <keyword ref="qimageformattype.html#formatName">formatName</keyword>
+ <keyword ref="qimageformattype.html#~QImageFormatType">~QImageFormatType</keyword>
+ <section ref="qimageformattype-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncimageio-h.html" title="Header File"/>
+</section>
+<section ref="qimageio.html" title="QImageIO Class Reference">
+ <keyword ref="qimageio.html">QImageIO</keyword>
+ <keyword ref="qimageio.html#defineIOHandler">defineIOHandler</keyword>
+ <keyword ref="qimageio.html#description">description</keyword>
+ <keyword ref="qimageio.html#fileName">fileName</keyword>
+ <keyword ref="qimageio.html#format">format</keyword>
+ <keyword ref="qimageio.html#gamma">gamma</keyword>
+ <keyword ref="qimageio.html#image">image</keyword>
+ <keyword ref="qimageio.html#imageFormat">imageFormat</keyword>
+ <keyword ref="qimageio.html#init">init</keyword>
+ <keyword ref="qimageio.html#inputFormats">inputFormats</keyword>
+ <keyword ref="qimageio.html#ioDevice">ioDevice</keyword>
+ <keyword ref="qimageio.html#outputFormats">outputFormats</keyword>
+ <keyword ref="qimageio.html#parameters">parameters</keyword>
+ <keyword ref="qimageio.html#quality">quality</keyword>
+ <keyword ref="qimageio.html#read">read</keyword>
+ <keyword ref="qimageio.html#setDescription">setDescription</keyword>
+ <keyword ref="qimageio.html#setFileName">setFileName</keyword>
+ <keyword ref="qimageio.html#setFormat">setFormat</keyword>
+ <keyword ref="qimageio.html#setGamma">setGamma</keyword>
+ <keyword ref="qimageio.html#setIODevice">setIODevice</keyword>
+ <keyword ref="qimageio.html#setImage">setImage</keyword>
+ <keyword ref="qimageio.html#setParameters">setParameters</keyword>
+ <keyword ref="qimageio.html#setQuality">setQuality</keyword>
+ <keyword ref="qimageio.html#setStatus">setStatus</keyword>
+ <keyword ref="qimageio.html#status">status</keyword>
+ <keyword ref="qimageio.html#write">write</keyword>
+ <keyword ref="qimageio.html#~QImageIO">~QImageIO</keyword>
+ <section ref="qimageio-members.html" title="List of All Member Functions"/>
+ <section ref="qimage-h.html" title="Header File"/>
+</section>
+<section ref="qimevent.html" title="QIMEvent Class Reference">
+ <keyword ref="qimevent.html">QIMEvent</keyword>
+ <keyword ref="qimevent.html#accept">accept</keyword>
+ <keyword ref="qimevent.html#cursorPos">cursorPos</keyword>
+ <keyword ref="qimevent.html#ignore">ignore</keyword>
+ <keyword ref="qimevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qimevent.html#selectionLength">selectionLength</keyword>
+ <keyword ref="qimevent.html#text">text</keyword>
+ <section ref="qimevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qinputdialog.html" title="QInputDialog Class Reference">
+ <keyword ref="qinputdialog.html">QInputDialog</keyword>
+ <keyword ref="qinputdialog.html#Type">Type</keyword>
+ <keyword ref="qinputdialog.html#comboBox">comboBox</keyword>
+ <keyword ref="qinputdialog.html#editableComboBox">editableComboBox</keyword>
+ <keyword ref="qinputdialog.html#getDouble">getDouble</keyword>
+ <keyword ref="qinputdialog.html#getInteger">getInteger</keyword>
+ <keyword ref="qinputdialog.html#getItem">getItem</keyword>
+ <keyword ref="qinputdialog.html#getText">getText</keyword>
+ <keyword ref="qinputdialog.html#lineEdit">lineEdit</keyword>
+ <keyword ref="qinputdialog.html#setType">setType</keyword>
+ <keyword ref="qinputdialog.html#spinBox">spinBox</keyword>
+ <keyword ref="qinputdialog.html#type">type</keyword>
+ <keyword ref="qinputdialog.html#~QInputDialog">~QInputDialog</keyword>
+ <section ref="qinputdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qinputdialog-h.html" title="Header File"/>
+</section>
+<section ref="qintcache.html" title="QIntCache Class Reference">
+ <keyword ref="qintcache.html">QIntCache</keyword>
+ <keyword ref="qintcache.html#clear">clear</keyword>
+ <keyword ref="qintcache.html#count">count</keyword>
+ <keyword ref="qintcache.html#find">find</keyword>
+ <keyword ref="qintcache.html#insert">insert</keyword>
+ <keyword ref="qintcache.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qintcache.html#maxCost">maxCost</keyword>
+ <keyword ref="qintcache.html#operator[]">operator[]</keyword>
+ <keyword ref="qintcache.html#remove">remove</keyword>
+ <keyword ref="qintcache.html#setMaxCost">setMaxCost</keyword>
+ <keyword ref="qintcache.html#size">size</keyword>
+ <keyword ref="qintcache.html#statistics">statistics</keyword>
+ <keyword ref="qintcache.html#take">take</keyword>
+ <keyword ref="qintcache.html#totalCost">totalCost</keyword>
+ <keyword ref="qintcache.html#~QIntCache">~QIntCache</keyword>
+ <section ref="qintcache-members.html" title="List of All Member Functions"/>
+ <section ref="qintcache-h.html" title="Header File"/>
+</section>
+<section ref="qintcacheiterator.html" title="QIntCacheIterator Class Reference">
+ <keyword ref="qintcacheiterator.html">QIntCacheIterator</keyword>
+ <keyword ref="qintcacheiterator.html#atFirst">atFirst</keyword>
+ <keyword ref="qintcacheiterator.html#atLast">atLast</keyword>
+ <keyword ref="qintcacheiterator.html#count">count</keyword>
+ <keyword ref="qintcacheiterator.html#current">current</keyword>
+ <keyword ref="qintcacheiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qintcacheiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qintcacheiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qintcacheiterator.html#operator()">operator()</keyword>
+ <keyword ref="qintcacheiterator.html#operator++">operator++</keyword>
+ <keyword ref="qintcacheiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qintcacheiterator.html#operator--">operator--</keyword>
+ <keyword ref="qintcacheiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qintcacheiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qintcacheiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qintcacheiterator.html#toLast">toLast</keyword>
+ <section ref="qintcacheiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qintcache-h.html" title="Header File"/>
+</section>
+<section ref="qintdict.html" title="QIntDict Class Reference">
+ <keyword ref="qintdict.html">QIntDict</keyword>
+ <keyword ref="qintdict.html#clear">clear</keyword>
+ <keyword ref="qintdict.html#count">count</keyword>
+ <keyword ref="qintdict.html#find">find</keyword>
+ <keyword ref="qintdict.html#insert">insert</keyword>
+ <keyword ref="qintdict.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qintdict.html#operator-eq">operator=</keyword>
+ <keyword ref="qintdict.html#operator[]">operator[]</keyword>
+ <keyword ref="qintdict.html#read">read</keyword>
+ <keyword ref="qintdict.html#remove">remove</keyword>
+ <keyword ref="qintdict.html#replace">replace</keyword>
+ <keyword ref="qintdict.html#resize">resize</keyword>
+ <keyword ref="qintdict.html#size">size</keyword>
+ <keyword ref="qintdict.html#statistics">statistics</keyword>
+ <keyword ref="qintdict.html#take">take</keyword>
+ <keyword ref="qintdict.html#write">write</keyword>
+ <keyword ref="qintdict.html#~QIntDict">~QIntDict</keyword>
+ <section ref="qintdict-members.html" title="List of All Member Functions"/>
+ <section ref="qintdict-h.html" title="Header File"/>
+</section>
+<section ref="qintdictiterator.html" title="QIntDictIterator Class Reference">
+ <keyword ref="qintdictiterator.html">QIntDictIterator</keyword>
+ <keyword ref="qintdictiterator.html#count">count</keyword>
+ <keyword ref="qintdictiterator.html#current">current</keyword>
+ <keyword ref="qintdictiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qintdictiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qintdictiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qintdictiterator.html#operator()">operator()</keyword>
+ <keyword ref="qintdictiterator.html#operator++">operator++</keyword>
+ <keyword ref="qintdictiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qintdictiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qintdictiterator.html#~QIntDictIterator">~QIntDictIterator</keyword>
+ <section ref="qintdictiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qintdict-h.html" title="Header File"/>
+</section>
+<section ref="qintvalidator.html" title="QIntValidator Class Reference">
+ <keyword ref="qintvalidator.html">QIntValidator</keyword>
+ <keyword ref="qintvalidator.html#bottom">bottom</keyword>
+ <keyword ref="qintvalidator.html#bottom-prop">bottom</keyword>
+ <keyword ref="qintvalidator.html#setBottom">setBottom</keyword>
+ <keyword ref="qintvalidator.html#setRange">setRange</keyword>
+ <keyword ref="qintvalidator.html#setTop">setTop</keyword>
+ <keyword ref="qintvalidator.html#top">top</keyword>
+ <keyword ref="qintvalidator.html#top-prop">top</keyword>
+ <keyword ref="qintvalidator.html#validate">validate</keyword>
+ <keyword ref="qintvalidator.html#~QIntValidator">~QIntValidator</keyword>
+ <section ref="qintvalidator-members.html" title="List of All Member Functions"/>
+ <section ref="qvalidator-h.html" title="Header File"/>
+</section>
+<section ref="qiodevice.html" title="QIODevice Class Reference">
+ <keyword ref="qiodevice.html">QIODevice</keyword>
+ <keyword ref="qiodevice.html#Offset">Offset</keyword>
+ <keyword ref="qiodevice.html#at">at</keyword>
+ <keyword ref="qiodevice.html#atEnd">atEnd</keyword>
+ <keyword ref="qiodevice.html#close">close</keyword>
+ <keyword ref="qiodevice.html#flags">flags</keyword>
+ <keyword ref="qiodevice.html#flush">flush</keyword>
+ <keyword ref="qiodevice.html#getch">getch</keyword>
+ <keyword ref="qiodevice.html#isAsynchronous">isAsynchronous</keyword>
+ <keyword ref="qiodevice.html#isBuffered">isBuffered</keyword>
+ <keyword ref="qiodevice.html#isCombinedAccess">isCombinedAccess</keyword>
+ <keyword ref="qiodevice.html#isDirectAccess">isDirectAccess</keyword>
+ <keyword ref="qiodevice.html#isInactive">isInactive</keyword>
+ <keyword ref="qiodevice.html#isOpen">isOpen</keyword>
+ <keyword ref="qiodevice.html#isRaw">isRaw</keyword>
+ <keyword ref="qiodevice.html#isReadWrite">isReadWrite</keyword>
+ <keyword ref="qiodevice.html#isReadable">isReadable</keyword>
+ <keyword ref="qiodevice.html#isSequentialAccess">isSequentialAccess</keyword>
+ <keyword ref="qiodevice.html#isSynchronous">isSynchronous</keyword>
+ <keyword ref="qiodevice.html#isTranslated">isTranslated</keyword>
+ <keyword ref="qiodevice.html#isWritable">isWritable</keyword>
+ <keyword ref="qiodevice.html#mode">mode</keyword>
+ <keyword ref="qiodevice.html#open">open</keyword>
+ <keyword ref="qiodevice.html#putch">putch</keyword>
+ <keyword ref="qiodevice.html#readAll">readAll</keyword>
+ <keyword ref="qiodevice.html#readBlock">readBlock</keyword>
+ <keyword ref="qiodevice.html#readLine">readLine</keyword>
+ <keyword ref="qiodevice.html#reset">reset</keyword>
+ <keyword ref="qiodevice.html#resetStatus">resetStatus</keyword>
+ <keyword ref="qiodevice.html#setFlags">setFlags</keyword>
+ <keyword ref="qiodevice.html#setMode">setMode</keyword>
+ <keyword ref="qiodevice.html#setState">setState</keyword>
+ <keyword ref="qiodevice.html#setStatus">setStatus</keyword>
+ <keyword ref="qiodevice.html#setType">setType</keyword>
+ <keyword ref="qiodevice.html#size">size</keyword>
+ <keyword ref="qiodevice.html#state">state</keyword>
+ <keyword ref="qiodevice.html#status">status</keyword>
+ <keyword ref="qiodevice.html#ungetch">ungetch</keyword>
+ <keyword ref="qiodevice.html#writeBlock">writeBlock</keyword>
+ <keyword ref="qiodevice.html#~QIODevice">~QIODevice</keyword>
+ <section ref="qiodevice-members.html" title="List of All Member Functions"/>
+ <section ref="qiodevice-h.html" title="Header File"/>
+</section>
+<section ref="qiodevicesource.html" title="QIODeviceSource Class Reference">
+ <keyword ref="qiodevicesource.html#enableRewind">enableRewind</keyword>
+ <keyword ref="qiodevicesource.html#readyToSend">readyToSend</keyword>
+ <keyword ref="qiodevicesource.html#rewind">rewind</keyword>
+ <keyword ref="qiodevicesource.html#rewindable">rewindable</keyword>
+ <keyword ref="qiodevicesource.html#sendTo">sendTo</keyword>
+ <keyword ref="qiodevicesource.html#~QIODeviceSource">~QIODeviceSource</keyword>
+ <section ref="qiodevicesource-members.html" title="List of All Member Functions"/>
+ <section ref="qasyncio-h.html" title="Header File"/>
+</section>
+<section ref="qjiscodec.html" title="QJisCodec Class Reference">
+ <keyword ref="qjiscodec.html">QJisCodec</keyword>
+ <keyword ref="qjiscodec.html#mimeName">mimeName</keyword>
+ <section ref="qjiscodec-members.html" title="List of All Member Functions"/>
+ <section ref="qjiscodec-h.html" title="Header File"/>
+</section>
+<section ref="qkbddriverfactory.html" title="QKbdDriverFactory Class Reference">
+ <keyword ref="qkbddriverfactory.html">QKbdDriverFactory</keyword>
+ <keyword ref="qkbddriverfactory.html#create">create</keyword>
+ <keyword ref="qkbddriverfactory.html#keys">keys</keyword>
+ <section ref="qkbddriverfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qkbddriverfactory_qws-h.html" title="Header File"/>
+</section>
+<section ref="qkbddriverplugin.html" title="QKbdDriverPlugin Class Reference">
+ <keyword ref="qkbddriverplugin.html">QKbdDriverPlugin</keyword>
+ <keyword ref="qkbddriverplugin.html#create">create</keyword>
+ <keyword ref="qkbddriverplugin.html#keys">keys</keyword>
+ <keyword ref="qkbddriverplugin.html#~QKbdDriverPlugin">~QKbdDriverPlugin</keyword>
+ <section ref="qkbddriverplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qkbddriverplugin_qws-h.html" title="Header File"/>
+</section>
+<section ref="qkeyevent.html" title="QKeyEvent Class Reference">
+ <keyword ref="qkeyevent.html">QKeyEvent</keyword>
+ <keyword ref="qkeyevent.html#accept">accept</keyword>
+ <keyword ref="qkeyevent.html#ascii">ascii</keyword>
+ <keyword ref="qkeyevent.html#count">count</keyword>
+ <keyword ref="qkeyevent.html#ignore">ignore</keyword>
+ <keyword ref="qkeyevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qkeyevent.html#isAutoRepeat">isAutoRepeat</keyword>
+ <keyword ref="qkeyevent.html#key">key</keyword>
+ <keyword ref="qkeyevent.html#state">state</keyword>
+ <keyword ref="qkeyevent.html#stateAfter">stateAfter</keyword>
+ <keyword ref="qkeyevent.html#text">text</keyword>
+ <section ref="qkeyevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qkeysequence.html" title="QKeySequence Class Reference">
+ <keyword ref="qkeysequence.html">QKeySequence</keyword>
+ <keyword ref="qkeysequence.html#assign">assign</keyword>
+ <keyword ref="qkeysequence.html#count">count</keyword>
+ <keyword ref="qkeysequence.html#decodeString">decodeString</keyword>
+ <keyword ref="qkeysequence.html#encodeString">encodeString</keyword>
+ <keyword ref="qkeysequence.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qkeysequence.html#matches">matches</keyword>
+ <keyword ref="qkeysequence.html#operator-QString">operator QString</keyword>
+ <keyword ref="qkeysequence.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qkeysequence.html#operator-eq">operator=</keyword>
+ <keyword ref="qkeysequence.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qkeysequence.html#operator[]">operator[]</keyword>
+ <keyword ref="qkeysequence.html#~QKeySequence">~QKeySequence</keyword>
+ <keyword ref="qkeysequence.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qkeysequence.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qkeysequence-members.html" title="List of All Member Functions"/>
+ <section ref="qkeysequence-h.html" title="Header File"/>
+</section>
+<section ref="qlabel.html" title="QLabel Class Reference">
+ <keyword ref="qlabel.html">QLabel</keyword>
+ <keyword ref="qlabel.html#alignment">alignment</keyword>
+ <keyword ref="qlabel.html#alignment-prop">alignment</keyword>
+ <keyword ref="qlabel.html#backgroundMode-prop">backgroundMode</keyword>
+ <keyword ref="qlabel.html#buddy">buddy</keyword>
+ <keyword ref="qlabel.html#clear">clear</keyword>
+ <keyword ref="qlabel.html#drawContents">drawContents</keyword>
+ <keyword ref="qlabel.html#hasScaledContents">hasScaledContents</keyword>
+ <keyword ref="qlabel.html#indent">indent</keyword>
+ <keyword ref="qlabel.html#indent-prop">indent</keyword>
+ <keyword ref="qlabel.html#movie">movie</keyword>
+ <keyword ref="qlabel.html#picture">picture</keyword>
+ <keyword ref="qlabel.html#pixmap">pixmap</keyword>
+ <keyword ref="qlabel.html#pixmap-prop">pixmap</keyword>
+ <keyword ref="qlabel.html#scaledContents-prop">scaledContents</keyword>
+ <keyword ref="qlabel.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qlabel.html#setBuddy">setBuddy</keyword>
+ <keyword ref="qlabel.html#setFont">setFont</keyword>
+ <keyword ref="qlabel.html#setIndent">setIndent</keyword>
+ <keyword ref="qlabel.html#setMovie">setMovie</keyword>
+ <keyword ref="qlabel.html#setNum">setNum</keyword>
+ <keyword ref="qlabel.html#setPicture">setPicture</keyword>
+ <keyword ref="qlabel.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qlabel.html#setScaledContents">setScaledContents</keyword>
+ <keyword ref="qlabel.html#setText">setText</keyword>
+ <keyword ref="qlabel.html#setTextFormat">setTextFormat</keyword>
+ <keyword ref="qlabel.html#sizeForWidth">sizeForWidth</keyword>
+ <keyword ref="qlabel.html#text">text</keyword>
+ <keyword ref="qlabel.html#text-prop">text</keyword>
+ <keyword ref="qlabel.html#textFormat">textFormat</keyword>
+ <keyword ref="qlabel.html#textFormat-prop">textFormat</keyword>
+ <keyword ref="qlabel.html#updateLabel">updateLabel</keyword>
+ <keyword ref="qlabel.html#~QLabel">~QLabel</keyword>
+ <section ref="qlabel-members.html" title="List of All Member Functions"/>
+ <section ref="qlabel-h.html" title="Header File"/>
+</section>
+<section ref="qlayout.html" title="QLayout Class Reference">
+ <keyword ref="qlayout.html">QLayout</keyword>
+ <keyword ref="qlayout.html#ResizeMode">ResizeMode</keyword>
+ <keyword ref="qlayout.html#activate">activate</keyword>
+ <keyword ref="qlayout.html#add">add</keyword>
+ <keyword ref="qlayout.html#addChildLayout">addChildLayout</keyword>
+ <keyword ref="qlayout.html#addItem">addItem</keyword>
+ <keyword ref="qlayout.html#alignmentRect">alignmentRect</keyword>
+ <keyword ref="qlayout.html#autoAdd">autoAdd</keyword>
+ <keyword ref="qlayout.html#deleteAllItems">deleteAllItems</keyword>
+ <keyword ref="qlayout.html#expanding">expanding</keyword>
+ <keyword ref="qlayout.html#invalidate">invalidate</keyword>
+ <keyword ref="qlayout.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qlayout.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qlayout.html#isTopLevel">isTopLevel</keyword>
+ <keyword ref="qlayout.html#iterator">iterator</keyword>
+ <keyword ref="qlayout.html#mainWidget">mainWidget</keyword>
+ <keyword ref="qlayout.html#margin">margin</keyword>
+ <keyword ref="qlayout.html#margin-prop">margin</keyword>
+ <keyword ref="qlayout.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qlayout.html#menuBar">menuBar</keyword>
+ <keyword ref="qlayout.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qlayout.html#remove">remove</keyword>
+ <keyword ref="qlayout.html#removeItem">removeItem</keyword>
+ <keyword ref="qlayout.html#resizeMode">resizeMode</keyword>
+ <keyword ref="qlayout.html#resizeMode-prop">resizeMode</keyword>
+ <keyword ref="qlayout.html#setAutoAdd">setAutoAdd</keyword>
+ <keyword ref="qlayout.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qlayout.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qlayout.html#setMargin">setMargin</keyword>
+ <keyword ref="qlayout.html#setMenuBar">setMenuBar</keyword>
+ <keyword ref="qlayout.html#setResizeMode">setResizeMode</keyword>
+ <keyword ref="qlayout.html#setSpacing">setSpacing</keyword>
+ <keyword ref="qlayout.html#setSupportsMargin">setSupportsMargin</keyword>
+ <keyword ref="qlayout.html#setWidgetLayout">setWidgetLayout</keyword>
+ <keyword ref="qlayout.html#spacing">spacing</keyword>
+ <keyword ref="qlayout.html#spacing-prop">spacing</keyword>
+ <keyword ref="qlayout.html#supportsMargin">supportsMargin</keyword>
+ <section ref="qlayout-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qlayoutitem.html" title="QLayoutItem Class Reference">
+ <keyword ref="qlayoutitem.html">QLayoutItem</keyword>
+ <keyword ref="qlayoutitem.html#alignment">alignment</keyword>
+ <keyword ref="qlayoutitem.html#expanding">expanding</keyword>
+ <keyword ref="qlayoutitem.html#geometry">geometry</keyword>
+ <keyword ref="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</keyword>
+ <keyword ref="qlayoutitem.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qlayoutitem.html#invalidate">invalidate</keyword>
+ <keyword ref="qlayoutitem.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qlayoutitem.html#iterator">iterator</keyword>
+ <keyword ref="qlayoutitem.html#layout">layout</keyword>
+ <keyword ref="qlayoutitem.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qlayoutitem.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qlayoutitem.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qlayoutitem.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qlayoutitem.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qlayoutitem.html#spacerItem">spacerItem</keyword>
+ <keyword ref="qlayoutitem.html#widget">widget</keyword>
+ <keyword ref="qlayoutitem.html#~QLayoutItem">~QLayoutItem</keyword>
+ <section ref="qlayoutitem-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qlayoutiterator.html" title="QLayoutIterator Class Reference">
+ <keyword ref="qlayoutiterator.html">QLayoutIterator</keyword>
+ <keyword ref="qlayoutiterator.html#current">current</keyword>
+ <keyword ref="qlayoutiterator.html#deleteCurrent">deleteCurrent</keyword>
+ <keyword ref="qlayoutiterator.html#operator++">operator++</keyword>
+ <keyword ref="qlayoutiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qlayoutiterator.html#takeCurrent">takeCurrent</keyword>
+ <keyword ref="qlayoutiterator.html#~QLayoutIterator">~QLayoutIterator</keyword>
+ <section ref="qlayoutiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qlcdnumber.html" title="QLCDNumber Class Reference">
+ <keyword ref="qlcdnumber.html">QLCDNumber</keyword>
+ <keyword ref="qlcdnumber.html#Mode">Mode</keyword>
+ <keyword ref="qlcdnumber.html#SegmentStyle">SegmentStyle</keyword>
+ <keyword ref="qlcdnumber.html#checkOverflow">checkOverflow</keyword>
+ <keyword ref="qlcdnumber.html#display">display</keyword>
+ <keyword ref="qlcdnumber.html#drawContents">drawContents</keyword>
+ <keyword ref="qlcdnumber.html#intValue">intValue</keyword>
+ <keyword ref="qlcdnumber.html#intValue-prop">intValue</keyword>
+ <keyword ref="qlcdnumber.html#mode">mode</keyword>
+ <keyword ref="qlcdnumber.html#mode-prop">mode</keyword>
+ <keyword ref="qlcdnumber.html#numDigits">numDigits</keyword>
+ <keyword ref="qlcdnumber.html#numDigits-prop">numDigits</keyword>
+ <keyword ref="qlcdnumber.html#overflow">overflow</keyword>
+ <keyword ref="qlcdnumber.html#segmentStyle">segmentStyle</keyword>
+ <keyword ref="qlcdnumber.html#segmentStyle-prop">segmentStyle</keyword>
+ <keyword ref="qlcdnumber.html#setBinMode">setBinMode</keyword>
+ <keyword ref="qlcdnumber.html#setDecMode">setDecMode</keyword>
+ <keyword ref="qlcdnumber.html#setHexMode">setHexMode</keyword>
+ <keyword ref="qlcdnumber.html#setMode">setMode</keyword>
+ <keyword ref="qlcdnumber.html#setNumDigits">setNumDigits</keyword>
+ <keyword ref="qlcdnumber.html#setOctMode">setOctMode</keyword>
+ <keyword ref="qlcdnumber.html#setSegmentStyle">setSegmentStyle</keyword>
+ <keyword ref="qlcdnumber.html#setSmallDecimalPoint">setSmallDecimalPoint</keyword>
+ <keyword ref="qlcdnumber.html#smallDecimalPoint">smallDecimalPoint</keyword>
+ <keyword ref="qlcdnumber.html#smallDecimalPoint-prop">smallDecimalPoint</keyword>
+ <keyword ref="qlcdnumber.html#value">value</keyword>
+ <keyword ref="qlcdnumber.html#value-prop">value</keyword>
+ <keyword ref="qlcdnumber.html#~QLCDNumber">~QLCDNumber</keyword>
+ <section ref="qlcdnumber-members.html" title="List of All Member Functions"/>
+ <section ref="qlcdnumber-h.html" title="Header File"/>
+</section>
+<section ref="qlibrary.html" title="QLibrary Class Reference">
+ <keyword ref="qlibrary.html">QLibrary</keyword>
+ <keyword ref="qlibrary.html#autoUnload">autoUnload</keyword>
+ <keyword ref="qlibrary.html#isLoaded">isLoaded</keyword>
+ <keyword ref="qlibrary.html#library">library</keyword>
+ <keyword ref="qlibrary.html#load">load</keyword>
+ <keyword ref="qlibrary.html#resolve">resolve</keyword>
+ <keyword ref="qlibrary.html#setAutoUnload">setAutoUnload</keyword>
+ <keyword ref="qlibrary.html#unload">unload</keyword>
+ <keyword ref="qlibrary.html#~QLibrary">~QLibrary</keyword>
+ <section ref="qlibrary-members.html" title="List of All Member Functions"/>
+ <section ref="qlibrary-h.html" title="Header File"/>
+</section>
+<section ref="qlineedit.html" title="QLineEdit Class Reference">
+ <keyword ref="qlineedit.html">QLineEdit</keyword>
+ <keyword ref="qlineedit.html#EchoMode">EchoMode</keyword>
+ <keyword ref="qlineedit.html#acceptableInput-prop">acceptableInput</keyword>
+ <keyword ref="qlineedit.html#alignment">alignment</keyword>
+ <keyword ref="qlineedit.html#alignment-prop">alignment</keyword>
+ <keyword ref="qlineedit.html#backspace">backspace</keyword>
+ <keyword ref="qlineedit.html#clear">clear</keyword>
+ <keyword ref="qlineedit.html#clearModified">clearModified</keyword>
+ <keyword ref="qlineedit.html#clearValidator">clearValidator</keyword>
+ <keyword ref="qlineedit.html#copy">copy</keyword>
+ <keyword ref="qlineedit.html#createPopupMenu">createPopupMenu</keyword>
+ <keyword ref="qlineedit.html#cursorBackward">cursorBackward</keyword>
+ <keyword ref="qlineedit.html#cursorForward">cursorForward</keyword>
+ <keyword ref="qlineedit.html#cursorPosition">cursorPosition</keyword>
+ <keyword ref="qlineedit.html#cursorPosition-prop">cursorPosition</keyword>
+ <keyword ref="qlineedit.html#cursorWordBackward">cursorWordBackward</keyword>
+ <keyword ref="qlineedit.html#cursorWordForward">cursorWordForward</keyword>
+ <keyword ref="qlineedit.html#cut">cut</keyword>
+ <keyword ref="qlineedit.html#del">del</keyword>
+ <keyword ref="qlineedit.html#deselect">deselect</keyword>
+ <keyword ref="qlineedit.html#displayText">displayText</keyword>
+ <keyword ref="qlineedit.html#displayText-prop">displayText</keyword>
+ <keyword ref="qlineedit.html#dragEnabled">dragEnabled</keyword>
+ <keyword ref="qlineedit.html#dragEnabled-prop">dragEnabled</keyword>
+ <keyword ref="qlineedit.html#echoMode">echoMode</keyword>
+ <keyword ref="qlineedit.html#echoMode-prop">echoMode</keyword>
+ <keyword ref="qlineedit.html#end">end</keyword>
+ <keyword ref="qlineedit.html#frame">frame</keyword>
+ <keyword ref="qlineedit.html#frame-prop">frame</keyword>
+ <keyword ref="qlineedit.html#hasAcceptableInput">hasAcceptableInput</keyword>
+ <keyword ref="qlineedit.html#hasSelectedText">hasSelectedText</keyword>
+ <keyword ref="qlineedit.html#hasSelectedText-prop">hasSelectedText</keyword>
+ <keyword ref="qlineedit.html#home">home</keyword>
+ <keyword ref="qlineedit.html#inputMask">inputMask</keyword>
+ <keyword ref="qlineedit.html#inputMask-prop">inputMask</keyword>
+ <keyword ref="qlineedit.html#insert">insert</keyword>
+ <keyword ref="qlineedit.html#isModified">isModified</keyword>
+ <keyword ref="qlineedit.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qlineedit.html#isRedoAvailable">isRedoAvailable</keyword>
+ <keyword ref="qlineedit.html#isUndoAvailable">isUndoAvailable</keyword>
+ <keyword ref="qlineedit.html#keyPressEvent">keyPressEvent</keyword>
+ <keyword ref="qlineedit.html#lostFocus">lostFocus</keyword>
+ <keyword ref="qlineedit.html#maxLength">maxLength</keyword>
+ <keyword ref="qlineedit.html#maxLength-prop">maxLength</keyword>
+ <keyword ref="qlineedit.html#minimumSizeHint">minimumSizeHint</keyword>
+ <keyword ref="qlineedit.html#modified-prop">modified</keyword>
+ <keyword ref="qlineedit.html#paste">paste</keyword>
+ <keyword ref="qlineedit.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qlineedit.html#redo">redo</keyword>
+ <keyword ref="qlineedit.html#redoAvailable-prop">redoAvailable</keyword>
+ <keyword ref="qlineedit.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qlineedit.html#selectAll">selectAll</keyword>
+ <keyword ref="qlineedit.html#selectedText">selectedText</keyword>
+ <keyword ref="qlineedit.html#selectedText-prop">selectedText</keyword>
+ <keyword ref="qlineedit.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qlineedit.html#selectionStart">selectionStart</keyword>
+ <keyword ref="qlineedit.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qlineedit.html#setCursorPosition">setCursorPosition</keyword>
+ <keyword ref="qlineedit.html#setDragEnabled">setDragEnabled</keyword>
+ <keyword ref="qlineedit.html#setEchoMode">setEchoMode</keyword>
+ <keyword ref="qlineedit.html#setFrame">setFrame</keyword>
+ <keyword ref="qlineedit.html#setInputMask">setInputMask</keyword>
+ <keyword ref="qlineedit.html#setMaxLength">setMaxLength</keyword>
+ <keyword ref="qlineedit.html#setReadOnly">setReadOnly</keyword>
+ <keyword ref="qlineedit.html#setSelection">setSelection</keyword>
+ <keyword ref="qlineedit.html#setText">setText</keyword>
+ <keyword ref="qlineedit.html#setValidator">setValidator</keyword>
+ <keyword ref="qlineedit.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qlineedit.html#text">text</keyword>
+ <keyword ref="qlineedit.html#text-prop">text</keyword>
+ <keyword ref="qlineedit.html#textChanged">textChanged</keyword>
+ <keyword ref="qlineedit.html#undo">undo</keyword>
+ <keyword ref="qlineedit.html#undoAvailable-prop">undoAvailable</keyword>
+ <keyword ref="qlineedit.html#validator">validator</keyword>
+ <keyword ref="qlineedit.html#~QLineEdit">~QLineEdit</keyword>
+ <section ref="qlineedit-members.html" title="List of All Member Functions"/>
+ <section ref="qlineedit-h.html" title="Header File"/>
+</section>
+<section ref="qlistbox.html" title="QListBox Class Reference">
+ <keyword ref="qlistbox.html">QListBox</keyword>
+ <keyword ref="qlistbox.html#LayoutMode">LayoutMode</keyword>
+ <keyword ref="qlistbox.html#SelectionMode">SelectionMode</keyword>
+ <keyword ref="qlistbox.html#changeItem">changeItem</keyword>
+ <keyword ref="qlistbox.html#clear">clear</keyword>
+ <keyword ref="qlistbox.html#clearSelection">clearSelection</keyword>
+ <keyword ref="qlistbox.html#clicked">clicked</keyword>
+ <keyword ref="qlistbox.html#columnAt">columnAt</keyword>
+ <keyword ref="qlistbox.html#columnMode">columnMode</keyword>
+ <keyword ref="qlistbox.html#columnMode-prop">columnMode</keyword>
+ <keyword ref="qlistbox.html#contextMenuRequested">contextMenuRequested</keyword>
+ <keyword ref="qlistbox.html#count">count</keyword>
+ <keyword ref="qlistbox.html#count-prop">count</keyword>
+ <keyword ref="qlistbox.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qlistbox.html#currentColumn">currentColumn</keyword>
+ <keyword ref="qlistbox.html#currentItem">currentItem</keyword>
+ <keyword ref="qlistbox.html#currentItem-prop">currentItem</keyword>
+ <keyword ref="qlistbox.html#currentRow">currentRow</keyword>
+ <keyword ref="qlistbox.html#currentText">currentText</keyword>
+ <keyword ref="qlistbox.html#currentText-prop">currentText</keyword>
+ <keyword ref="qlistbox.html#doLayout">doLayout</keyword>
+ <keyword ref="qlistbox.html#doubleClicked">doubleClicked</keyword>
+ <keyword ref="qlistbox.html#ensureCurrentVisible">ensureCurrentVisible</keyword>
+ <keyword ref="qlistbox.html#findItem">findItem</keyword>
+ <keyword ref="qlistbox.html#firstItem">firstItem</keyword>
+ <keyword ref="qlistbox.html#highlighted">highlighted</keyword>
+ <keyword ref="qlistbox.html#index">index</keyword>
+ <keyword ref="qlistbox.html#insertItem">insertItem</keyword>
+ <keyword ref="qlistbox.html#insertStrList">insertStrList</keyword>
+ <keyword ref="qlistbox.html#insertStringList">insertStringList</keyword>
+ <keyword ref="qlistbox.html#invertSelection">invertSelection</keyword>
+ <keyword ref="qlistbox.html#isRubberSelecting">isRubberSelecting</keyword>
+ <keyword ref="qlistbox.html#isSelected">isSelected</keyword>
+ <keyword ref="qlistbox.html#item">item</keyword>
+ <keyword ref="qlistbox.html#itemAt">itemAt</keyword>
+ <keyword ref="qlistbox.html#itemHeight">itemHeight</keyword>
+ <keyword ref="qlistbox.html#itemRect">itemRect</keyword>
+ <keyword ref="qlistbox.html#itemVisible">itemVisible</keyword>
+ <keyword ref="qlistbox.html#maxItemWidth">maxItemWidth</keyword>
+ <keyword ref="qlistbox.html#mouseButtonClicked">mouseButtonClicked</keyword>
+ <keyword ref="qlistbox.html#mouseButtonPressed">mouseButtonPressed</keyword>
+ <keyword ref="qlistbox.html#numColumns">numColumns</keyword>
+ <keyword ref="qlistbox.html#numColumns-prop">numColumns</keyword>
+ <keyword ref="qlistbox.html#numItemsVisible">numItemsVisible</keyword>
+ <keyword ref="qlistbox.html#numItemsVisible-prop">numItemsVisible</keyword>
+ <keyword ref="qlistbox.html#numRows">numRows</keyword>
+ <keyword ref="qlistbox.html#numRows-prop">numRows</keyword>
+ <keyword ref="qlistbox.html#onItem">onItem</keyword>
+ <keyword ref="qlistbox.html#onViewport">onViewport</keyword>
+ <keyword ref="qlistbox.html#paintCell">paintCell</keyword>
+ <keyword ref="qlistbox.html#pixmap">pixmap</keyword>
+ <keyword ref="qlistbox.html#pressed">pressed</keyword>
+ <keyword ref="qlistbox.html#refreshSlot">refreshSlot</keyword>
+ <keyword ref="qlistbox.html#removeItem">removeItem</keyword>
+ <keyword ref="qlistbox.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qlistbox.html#rightButtonClicked">rightButtonClicked</keyword>
+ <keyword ref="qlistbox.html#rightButtonPressed">rightButtonPressed</keyword>
+ <keyword ref="qlistbox.html#rowAt">rowAt</keyword>
+ <keyword ref="qlistbox.html#rowMode">rowMode</keyword>
+ <keyword ref="qlistbox.html#rowMode-prop">rowMode</keyword>
+ <keyword ref="qlistbox.html#selectAll">selectAll</keyword>
+ <keyword ref="qlistbox.html#selected">selected</keyword>
+ <keyword ref="qlistbox.html#selectedItem">selectedItem</keyword>
+ <keyword ref="qlistbox.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qlistbox.html#selectionMode">selectionMode</keyword>
+ <keyword ref="qlistbox.html#selectionMode-prop">selectionMode</keyword>
+ <keyword ref="qlistbox.html#setBottomItem">setBottomItem</keyword>
+ <keyword ref="qlistbox.html#setColumnMode">setColumnMode</keyword>
+ <keyword ref="qlistbox.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qlistbox.html#setRowMode">setRowMode</keyword>
+ <keyword ref="qlistbox.html#setSelected">setSelected</keyword>
+ <keyword ref="qlistbox.html#setSelectionMode">setSelectionMode</keyword>
+ <keyword ref="qlistbox.html#setTopItem">setTopItem</keyword>
+ <keyword ref="qlistbox.html#setVariableHeight">setVariableHeight</keyword>
+ <keyword ref="qlistbox.html#setVariableWidth">setVariableWidth</keyword>
+ <keyword ref="qlistbox.html#sort">sort</keyword>
+ <keyword ref="qlistbox.html#takeItem">takeItem</keyword>
+ <keyword ref="qlistbox.html#text">text</keyword>
+ <keyword ref="qlistbox.html#toggleCurrentItem">toggleCurrentItem</keyword>
+ <keyword ref="qlistbox.html#topItem">topItem</keyword>
+ <keyword ref="qlistbox.html#topItem-prop">topItem</keyword>
+ <keyword ref="qlistbox.html#triggerUpdate">triggerUpdate</keyword>
+ <keyword ref="qlistbox.html#tryGeometry">tryGeometry</keyword>
+ <keyword ref="qlistbox.html#updateItem">updateItem</keyword>
+ <keyword ref="qlistbox.html#variableHeight">variableHeight</keyword>
+ <keyword ref="qlistbox.html#variableHeight-prop">variableHeight</keyword>
+ <keyword ref="qlistbox.html#variableWidth">variableWidth</keyword>
+ <keyword ref="qlistbox.html#variableWidth-prop">variableWidth</keyword>
+ <keyword ref="qlistbox.html#~QListBox">~QListBox</keyword>
+ <section ref="qlistbox-members.html" title="List of All Member Functions"/>
+ <section ref="qlistbox-h.html" title="Header File"/>
+</section>
+<section ref="qlistboxitem.html" title="QListBoxItem Class Reference">
+ <keyword ref="qlistboxitem.html">QListBoxItem</keyword>
+ <keyword ref="qlistboxitem.html#height">height</keyword>
+ <keyword ref="qlistboxitem.html#isCurrent">isCurrent</keyword>
+ <keyword ref="qlistboxitem.html#isSelectable">isSelectable</keyword>
+ <keyword ref="qlistboxitem.html#isSelected">isSelected</keyword>
+ <keyword ref="qlistboxitem.html#listBox">listBox</keyword>
+ <keyword ref="qlistboxitem.html#next">next</keyword>
+ <keyword ref="qlistboxitem.html#paint">paint</keyword>
+ <keyword ref="qlistboxitem.html#pixmap">pixmap</keyword>
+ <keyword ref="qlistboxitem.html#prev">prev</keyword>
+ <keyword ref="qlistboxitem.html#rtti">rtti</keyword>
+ <keyword ref="qlistboxitem.html#setCustomHighlighting">setCustomHighlighting</keyword>
+ <keyword ref="qlistboxitem.html#setSelectable">setSelectable</keyword>
+ <keyword ref="qlistboxitem.html#setText">setText</keyword>
+ <keyword ref="qlistboxitem.html#text">text</keyword>
+ <keyword ref="qlistboxitem.html#width">width</keyword>
+ <keyword ref="qlistboxitem.html#~QListBoxItem">~QListBoxItem</keyword>
+ <section ref="qlistboxitem-members.html" title="List of All Member Functions"/>
+ <section ref="qlistbox-h.html" title="Header File"/>
+</section>
+<section ref="qlistboxpixmap.html" title="QListBoxPixmap Class Reference">
+ <keyword ref="qlistboxpixmap.html">QListBoxPixmap</keyword>
+ <keyword ref="qlistboxpixmap.html#height">height</keyword>
+ <keyword ref="qlistboxpixmap.html#paint">paint</keyword>
+ <keyword ref="qlistboxpixmap.html#pixmap">pixmap</keyword>
+ <keyword ref="qlistboxpixmap.html#width">width</keyword>
+ <keyword ref="qlistboxpixmap.html#~QListBoxPixmap">~QListBoxPixmap</keyword>
+ <section ref="qlistboxpixmap-members.html" title="List of All Member Functions"/>
+ <section ref="qlistbox-h.html" title="Header File"/>
+</section>
+<section ref="qlistboxtext.html" title="QListBoxText Class Reference">
+ <keyword ref="qlistboxtext.html">QListBoxText</keyword>
+ <keyword ref="qlistboxtext.html#height">height</keyword>
+ <keyword ref="qlistboxtext.html#paint">paint</keyword>
+ <keyword ref="qlistboxtext.html#width">width</keyword>
+ <keyword ref="qlistboxtext.html#~QListBoxText">~QListBoxText</keyword>
+ <section ref="qlistboxtext-members.html" title="List of All Member Functions"/>
+ <section ref="qlistbox-h.html" title="Header File"/>
+</section>
+<section ref="qlistview.html" title="QListView Class Reference">
+ <keyword ref="qlistview.html">QListView</keyword>
+ <keyword ref="qlistview.html#RenameAction">RenameAction</keyword>
+ <keyword ref="qlistview.html#ResizeMode">ResizeMode</keyword>
+ <keyword ref="qlistview.html#SelectionMode">SelectionMode</keyword>
+ <keyword ref="qlistview.html#WidthMode">WidthMode</keyword>
+ <keyword ref="qlistview.html#addColumn">addColumn</keyword>
+ <keyword ref="qlistview.html#adjustColumn">adjustColumn</keyword>
+ <keyword ref="qlistview.html#allColumnsShowFocus">allColumnsShowFocus</keyword>
+ <keyword ref="qlistview.html#allColumnsShowFocus-prop">allColumnsShowFocus</keyword>
+ <keyword ref="qlistview.html#changeSortColumn">changeSortColumn</keyword>
+ <keyword ref="qlistview.html#childCount">childCount</keyword>
+ <keyword ref="qlistview.html#childCount-prop">childCount</keyword>
+ <keyword ref="qlistview.html#clear">clear</keyword>
+ <keyword ref="qlistview.html#clearSelection">clearSelection</keyword>
+ <keyword ref="qlistview.html#clicked">clicked</keyword>
+ <keyword ref="qlistview.html#collapsed">collapsed</keyword>
+ <keyword ref="qlistview.html#columnAlignment">columnAlignment</keyword>
+ <keyword ref="qlistview.html#columnText">columnText</keyword>
+ <keyword ref="qlistview.html#columnWidth">columnWidth</keyword>
+ <keyword ref="qlistview.html#columnWidthMode">columnWidthMode</keyword>
+ <keyword ref="qlistview.html#columns">columns</keyword>
+ <keyword ref="qlistview.html#columns-prop">columns</keyword>
+ <keyword ref="qlistview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</keyword>
+ <keyword ref="qlistview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</keyword>
+ <keyword ref="qlistview.html#contentsMousePressEvent">contentsMousePressEvent</keyword>
+ <keyword ref="qlistview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</keyword>
+ <keyword ref="qlistview.html#contextMenuRequested">contextMenuRequested</keyword>
+ <keyword ref="qlistview.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qlistview.html#currentItem">currentItem</keyword>
+ <keyword ref="qlistview.html#defaultRenameAction">defaultRenameAction</keyword>
+ <keyword ref="qlistview.html#defaultRenameAction-prop">defaultRenameAction</keyword>
+ <keyword ref="qlistview.html#doAutoScroll">doAutoScroll</keyword>
+ <keyword ref="qlistview.html#doubleClicked">doubleClicked</keyword>
+ <keyword ref="qlistview.html#dragObject">dragObject</keyword>
+ <keyword ref="qlistview.html#drawContentsOffset">drawContentsOffset</keyword>
+ <keyword ref="qlistview.html#dropped">dropped</keyword>
+ <keyword ref="qlistview.html#ensureItemVisible">ensureItemVisible</keyword>
+ <keyword ref="qlistview.html#eventFilter">eventFilter</keyword>
+ <keyword ref="qlistview.html#expanded">expanded</keyword>
+ <keyword ref="qlistview.html#findItem">findItem</keyword>
+ <keyword ref="qlistview.html#firstChild">firstChild</keyword>
+ <keyword ref="qlistview.html#handleSizeChange">handleSizeChange</keyword>
+ <keyword ref="qlistview.html#header">header</keyword>
+ <keyword ref="qlistview.html#hideColumn">hideColumn</keyword>
+ <keyword ref="qlistview.html#insertItem">insertItem</keyword>
+ <keyword ref="qlistview.html#invertSelection">invertSelection</keyword>
+ <keyword ref="qlistview.html#isOpen">isOpen</keyword>
+ <keyword ref="qlistview.html#isRenaming">isRenaming</keyword>
+ <keyword ref="qlistview.html#isSelected">isSelected</keyword>
+ <keyword ref="qlistview.html#itemAt">itemAt</keyword>
+ <keyword ref="qlistview.html#itemMargin">itemMargin</keyword>
+ <keyword ref="qlistview.html#itemMargin-prop">itemMargin</keyword>
+ <keyword ref="qlistview.html#itemPos">itemPos</keyword>
+ <keyword ref="qlistview.html#itemRect">itemRect</keyword>
+ <keyword ref="qlistview.html#itemRenamed">itemRenamed</keyword>
+ <keyword ref="qlistview.html#lastItem">lastItem</keyword>
+ <keyword ref="qlistview.html#mouseButtonClicked">mouseButtonClicked</keyword>
+ <keyword ref="qlistview.html#mouseButtonPressed">mouseButtonPressed</keyword>
+ <keyword ref="qlistview.html#onItem">onItem</keyword>
+ <keyword ref="qlistview.html#onViewport">onViewport</keyword>
+ <keyword ref="qlistview.html#paintEmptyArea">paintEmptyArea</keyword>
+ <keyword ref="qlistview.html#pressed">pressed</keyword>
+ <keyword ref="qlistview.html#reconfigureItems">reconfigureItems</keyword>
+ <keyword ref="qlistview.html#removeColumn">removeColumn</keyword>
+ <keyword ref="qlistview.html#repaintItem">repaintItem</keyword>
+ <keyword ref="qlistview.html#resizeEvent">resizeEvent</keyword>
+ <keyword ref="qlistview.html#resizeMode">resizeMode</keyword>
+ <keyword ref="qlistview.html#resizeMode-prop">resizeMode</keyword>
+ <keyword ref="qlistview.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qlistview.html#rightButtonClicked">rightButtonClicked</keyword>
+ <keyword ref="qlistview.html#rightButtonPressed">rightButtonPressed</keyword>
+ <keyword ref="qlistview.html#rootIsDecorated">rootIsDecorated</keyword>
+ <keyword ref="qlistview.html#rootIsDecorated-prop">rootIsDecorated</keyword>
+ <keyword ref="qlistview.html#selectAll">selectAll</keyword>
+ <keyword ref="qlistview.html#selectedItem">selectedItem</keyword>
+ <keyword ref="qlistview.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qlistview.html#selectionMode">selectionMode</keyword>
+ <keyword ref="qlistview.html#selectionMode-prop">selectionMode</keyword>
+ <keyword ref="qlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</keyword>
+ <keyword ref="qlistview.html#setColumnAlignment">setColumnAlignment</keyword>
+ <keyword ref="qlistview.html#setColumnText">setColumnText</keyword>
+ <keyword ref="qlistview.html#setColumnWidth">setColumnWidth</keyword>
+ <keyword ref="qlistview.html#setColumnWidthMode">setColumnWidthMode</keyword>
+ <keyword ref="qlistview.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qlistview.html#setDefaultRenameAction">setDefaultRenameAction</keyword>
+ <keyword ref="qlistview.html#setItemMargin">setItemMargin</keyword>
+ <keyword ref="qlistview.html#setOpen">setOpen</keyword>
+ <keyword ref="qlistview.html#setResizeMode">setResizeMode</keyword>
+ <keyword ref="qlistview.html#setRootIsDecorated">setRootIsDecorated</keyword>
+ <keyword ref="qlistview.html#setSelected">setSelected</keyword>
+ <keyword ref="qlistview.html#setSelectionAnchor">setSelectionAnchor</keyword>
+ <keyword ref="qlistview.html#setSelectionMode">setSelectionMode</keyword>
+ <keyword ref="qlistview.html#setShowSortIndicator">setShowSortIndicator</keyword>
+ <keyword ref="qlistview.html#setShowToolTips">setShowToolTips</keyword>
+ <keyword ref="qlistview.html#setSortColumn">setSortColumn</keyword>
+ <keyword ref="qlistview.html#setSortOrder">setSortOrder</keyword>
+ <keyword ref="qlistview.html#setSorting">setSorting</keyword>
+ <keyword ref="qlistview.html#setTreeStepSize">setTreeStepSize</keyword>
+ <keyword ref="qlistview.html#showSortIndicator">showSortIndicator</keyword>
+ <keyword ref="qlistview.html#showSortIndicator-prop">showSortIndicator</keyword>
+ <keyword ref="qlistview.html#showToolTips">showToolTips</keyword>
+ <keyword ref="qlistview.html#showToolTips-prop">showToolTips</keyword>
+ <keyword ref="qlistview.html#sort">sort</keyword>
+ <keyword ref="qlistview.html#sortColumn">sortColumn</keyword>
+ <keyword ref="qlistview.html#sortOrder">sortOrder</keyword>
+ <keyword ref="qlistview.html#spacePressed">spacePressed</keyword>
+ <keyword ref="qlistview.html#startDrag">startDrag</keyword>
+ <keyword ref="qlistview.html#takeItem">takeItem</keyword>
+ <keyword ref="qlistview.html#treeStepSize">treeStepSize</keyword>
+ <keyword ref="qlistview.html#treeStepSize-prop">treeStepSize</keyword>
+ <keyword ref="qlistview.html#triggerUpdate">triggerUpdate</keyword>
+ <keyword ref="qlistview.html#updateContents">updateContents</keyword>
+ <keyword ref="qlistview.html#widthChanged">widthChanged</keyword>
+ <keyword ref="qlistview.html#~QListView">~QListView</keyword>
+ <section ref="qlistview-members.html" title="List of All Member Functions"/>
+ <section ref="qlistview-h.html" title="Header File"/>
+</section>
+<section ref="qlistviewitem.html" title="QListViewItem Class Reference">
+ <keyword ref="qlistviewitem.html">QListViewItem</keyword>
+ <keyword ref="qlistviewitem.html#acceptDrop">acceptDrop</keyword>
+ <keyword ref="qlistviewitem.html#activate">activate</keyword>
+ <keyword ref="qlistviewitem.html#activatedPos">activatedPos</keyword>
+ <keyword ref="qlistviewitem.html#cancelRename">cancelRename</keyword>
+ <keyword ref="qlistviewitem.html#childCount">childCount</keyword>
+ <keyword ref="qlistviewitem.html#compare">compare</keyword>
+ <keyword ref="qlistviewitem.html#depth">depth</keyword>
+ <keyword ref="qlistviewitem.html#dragEnabled">dragEnabled</keyword>
+ <keyword ref="qlistviewitem.html#dragEntered">dragEntered</keyword>
+ <keyword ref="qlistviewitem.html#dragLeft">dragLeft</keyword>
+ <keyword ref="qlistviewitem.html#dropEnabled">dropEnabled</keyword>
+ <keyword ref="qlistviewitem.html#dropped">dropped</keyword>
+ <keyword ref="qlistviewitem.html#enforceSortOrder">enforceSortOrder</keyword>
+ <keyword ref="qlistviewitem.html#firstChild">firstChild</keyword>
+ <keyword ref="qlistviewitem.html#height">height</keyword>
+ <keyword ref="qlistviewitem.html#insertItem">insertItem</keyword>
+ <keyword ref="qlistviewitem.html#invalidateHeight">invalidateHeight</keyword>
+ <keyword ref="qlistviewitem.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qlistviewitem.html#isExpandable">isExpandable</keyword>
+ <keyword ref="qlistviewitem.html#isOpen">isOpen</keyword>
+ <keyword ref="qlistviewitem.html#isSelectable">isSelectable</keyword>
+ <keyword ref="qlistviewitem.html#isSelected">isSelected</keyword>
+ <keyword ref="qlistviewitem.html#isVisible">isVisible</keyword>
+ <keyword ref="qlistviewitem.html#itemAbove">itemAbove</keyword>
+ <keyword ref="qlistviewitem.html#itemBelow">itemBelow</keyword>
+ <keyword ref="qlistviewitem.html#itemPos">itemPos</keyword>
+ <keyword ref="qlistviewitem.html#key">key</keyword>
+ <keyword ref="qlistviewitem.html#listView">listView</keyword>
+ <keyword ref="qlistviewitem.html#moveItem">moveItem</keyword>
+ <keyword ref="qlistviewitem.html#multiLinesEnabled">multiLinesEnabled</keyword>
+ <keyword ref="qlistviewitem.html#nextSibling">nextSibling</keyword>
+ <keyword ref="qlistviewitem.html#okRename">okRename</keyword>
+ <keyword ref="qlistviewitem.html#paintBranches">paintBranches</keyword>
+ <keyword ref="qlistviewitem.html#paintCell">paintCell</keyword>
+ <keyword ref="qlistviewitem.html#paintFocus">paintFocus</keyword>
+ <keyword ref="qlistviewitem.html#parent">parent</keyword>
+ <keyword ref="qlistviewitem.html#pixmap">pixmap</keyword>
+ <keyword ref="qlistviewitem.html#removeRenameBox">removeRenameBox</keyword>
+ <keyword ref="qlistviewitem.html#renameEnabled">renameEnabled</keyword>
+ <keyword ref="qlistviewitem.html#repaint">repaint</keyword>
+ <keyword ref="qlistviewitem.html#rtti">rtti</keyword>
+ <keyword ref="qlistviewitem.html#setDragEnabled">setDragEnabled</keyword>
+ <keyword ref="qlistviewitem.html#setDropEnabled">setDropEnabled</keyword>
+ <keyword ref="qlistviewitem.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qlistviewitem.html#setExpandable">setExpandable</keyword>
+ <keyword ref="qlistviewitem.html#setHeight">setHeight</keyword>
+ <keyword ref="qlistviewitem.html#setMultiLinesEnabled">setMultiLinesEnabled</keyword>
+ <keyword ref="qlistviewitem.html#setOpen">setOpen</keyword>
+ <keyword ref="qlistviewitem.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qlistviewitem.html#setRenameEnabled">setRenameEnabled</keyword>
+ <keyword ref="qlistviewitem.html#setSelectable">setSelectable</keyword>
+ <keyword ref="qlistviewitem.html#setSelected">setSelected</keyword>
+ <keyword ref="qlistviewitem.html#setText">setText</keyword>
+ <keyword ref="qlistviewitem.html#setVisible">setVisible</keyword>
+ <keyword ref="qlistviewitem.html#setup">setup</keyword>
+ <keyword ref="qlistviewitem.html#sort">sort</keyword>
+ <keyword ref="qlistviewitem.html#sortChildItems">sortChildItems</keyword>
+ <keyword ref="qlistviewitem.html#startRename">startRename</keyword>
+ <keyword ref="qlistviewitem.html#takeItem">takeItem</keyword>
+ <keyword ref="qlistviewitem.html#text">text</keyword>
+ <keyword ref="qlistviewitem.html#totalHeight">totalHeight</keyword>
+ <keyword ref="qlistviewitem.html#width">width</keyword>
+ <keyword ref="qlistviewitem.html#widthChanged">widthChanged</keyword>
+ <keyword ref="qlistviewitem.html#~QListViewItem">~QListViewItem</keyword>
+ <section ref="qlistviewitem-members.html" title="List of All Member Functions"/>
+ <section ref="qlistview-h.html" title="Header File"/>
+</section>
+<section ref="qlistviewitemiterator.html" title="QListViewItemIterator Class Reference">
+ <keyword ref="qlistviewitemiterator.html">QListViewItemIterator</keyword>
+ <keyword ref="qlistviewitemiterator.html#IteratorFlag">IteratorFlag</keyword>
+ <keyword ref="qlistviewitemiterator.html#current">current</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator*">operator*</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator++">operator++</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator--">operator--</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qlistviewitemiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qlistviewitemiterator.html#~QListViewItemIterator">~QListViewItemIterator</keyword>
+ <section ref="qlistviewitemiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qlistview-h.html" title="Header File"/>
+</section>
+<section ref="qlocale.html" title="QLocale Class Reference">
+ <keyword ref="qlocale.html">QLocale</keyword>
+ <keyword ref="qlocale.html#Country">Country</keyword>
+ <keyword ref="qlocale.html#Language">Language</keyword>
+ <keyword ref="qlocale.html#c">c</keyword>
+ <keyword ref="qlocale.html#country">country</keyword>
+ <keyword ref="qlocale.html#countryToString">countryToString</keyword>
+ <keyword ref="qlocale.html#language">language</keyword>
+ <keyword ref="qlocale.html#languageToString">languageToString</keyword>
+ <keyword ref="qlocale.html#name">name</keyword>
+ <keyword ref="qlocale.html#operator-eq">operator=</keyword>
+ <keyword ref="qlocale.html#setDefault">setDefault</keyword>
+ <keyword ref="qlocale.html#system">system</keyword>
+ <keyword ref="qlocale.html#toDouble">toDouble</keyword>
+ <keyword ref="qlocale.html#toFloat">toFloat</keyword>
+ <keyword ref="qlocale.html#toInt">toInt</keyword>
+ <keyword ref="qlocale.html#toLong">toLong</keyword>
+ <keyword ref="qlocale.html#toLongLong">toLongLong</keyword>
+ <keyword ref="qlocale.html#toShort">toShort</keyword>
+ <keyword ref="qlocale.html#toString">toString</keyword>
+ <keyword ref="qlocale.html#toUInt">toUInt</keyword>
+ <keyword ref="qlocale.html#toULong">toULong</keyword>
+ <keyword ref="qlocale.html#toULongLong">toULongLong</keyword>
+ <keyword ref="qlocale.html#toUShort">toUShort</keyword>
+ <section ref="qlocale-members.html" title="List of All Member Functions"/>
+ <section ref="qlocale-h.html" title="Header File"/>
+</section>
+<section ref="qlocalfs.html" title="QLocalFs Class Reference">
+ <keyword ref="qlocalfs.html">QLocalFs</keyword>
+ <section ref="qlocalfs-members.html" title="List of All Member Functions"/>
+ <section ref="qlocalfs-h.html" title="Header File"/>
+</section>
+<section ref="qmacmime.html" title="QMacMime Class Reference">
+ <keyword ref="qmacmime.html">QMacMime</keyword>
+ <keyword ref="qmacmime.html#all">all</keyword>
+ <keyword ref="qmacmime.html#canConvert">canConvert</keyword>
+ <keyword ref="qmacmime.html#convertFromMime">convertFromMime</keyword>
+ <keyword ref="qmacmime.html#convertToMime">convertToMime</keyword>
+ <keyword ref="qmacmime.html#convertor">convertor</keyword>
+ <keyword ref="qmacmime.html#convertorName">convertorName</keyword>
+ <keyword ref="qmacmime.html#countFlavors">countFlavors</keyword>
+ <keyword ref="qmacmime.html#flavor">flavor</keyword>
+ <keyword ref="qmacmime.html#flavorFor">flavorFor</keyword>
+ <keyword ref="qmacmime.html#flavorToMime">flavorToMime</keyword>
+ <keyword ref="qmacmime.html#mimeFor">mimeFor</keyword>
+ <keyword ref="qmacmime.html#~QMacMime">~QMacMime</keyword>
+ <section ref="qmacmime-members.html" title="List of All Member Functions"/>
+ <section ref="qmime-h.html" title="Header File"/>
+</section>
+<section ref="qmacstyle.html" title="QMacStyle Class Reference">
+ <keyword ref="qmacstyle.html">QMacStyle</keyword>
+ <keyword ref="qmacstyle.html#FocusRectPolicy">FocusRectPolicy</keyword>
+ <keyword ref="qmacstyle.html#WidgetSizePolicy">WidgetSizePolicy</keyword>
+ <keyword ref="qmacstyle.html#focusRectPolicy">focusRectPolicy</keyword>
+ <keyword ref="qmacstyle.html#setFocusRectPolicy">setFocusRectPolicy</keyword>
+ <keyword ref="qmacstyle.html#setWidgetSizePolicy">setWidgetSizePolicy</keyword>
+ <keyword ref="qmacstyle.html#widgetSizePolicy">widgetSizePolicy</keyword>
+ <keyword ref="qmacstyle.html#~QMacStyle">~QMacStyle</keyword>
+ <section ref="qmacstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qmacstyle_mac-h.html" title="Header File"/>
+</section>
+<section ref="qmainwindow.html" title="QMainWindow Class Reference">
+ <keyword ref="qmainwindow.html">QMainWindow</keyword>
+ <keyword ref="qmainwindow.html#DockWindows">DockWindows</keyword>
+ <keyword ref="qmainwindow.html#addDockWindow">addDockWindow</keyword>
+ <keyword ref="qmainwindow.html#appropriate">appropriate</keyword>
+ <keyword ref="qmainwindow.html#bottomDock">bottomDock</keyword>
+ <keyword ref="qmainwindow.html#centralWidget">centralWidget</keyword>
+ <keyword ref="qmainwindow.html#childEvent">childEvent</keyword>
+ <keyword ref="qmainwindow.html#createDockWindowMenu">createDockWindowMenu</keyword>
+ <keyword ref="qmainwindow.html#customize">customize</keyword>
+ <keyword ref="qmainwindow.html#dockWindowPositionChanged">dockWindowPositionChanged</keyword>
+ <keyword ref="qmainwindow.html#dockWindows">dockWindows</keyword>
+ <keyword ref="qmainwindow.html#dockWindowsMovable">dockWindowsMovable</keyword>
+ <keyword ref="qmainwindow.html#dockWindowsMovable-prop">dockWindowsMovable</keyword>
+ <keyword ref="qmainwindow.html#getLocation">getLocation</keyword>
+ <keyword ref="qmainwindow.html#hasDockWindow">hasDockWindow</keyword>
+ <keyword ref="qmainwindow.html#isCustomizable">isCustomizable</keyword>
+ <keyword ref="qmainwindow.html#isDockEnabled">isDockEnabled</keyword>
+ <keyword ref="qmainwindow.html#isDockMenuEnabled">isDockMenuEnabled</keyword>
+ <keyword ref="qmainwindow.html#leftDock">leftDock</keyword>
+ <keyword ref="qmainwindow.html#lineUpDockWindows">lineUpDockWindows</keyword>
+ <keyword ref="qmainwindow.html#menuAboutToShow">menuAboutToShow</keyword>
+ <keyword ref="qmainwindow.html#menuBar">menuBar</keyword>
+ <keyword ref="qmainwindow.html#moveDockWindow">moveDockWindow</keyword>
+ <keyword ref="qmainwindow.html#opaqueMoving">opaqueMoving</keyword>
+ <keyword ref="qmainwindow.html#opaqueMoving-prop">opaqueMoving</keyword>
+ <keyword ref="qmainwindow.html#pixmapSizeChanged">pixmapSizeChanged</keyword>
+ <keyword ref="qmainwindow.html#removeDockWindow">removeDockWindow</keyword>
+ <keyword ref="qmainwindow.html#rightDock">rightDock</keyword>
+ <keyword ref="qmainwindow.html#setAppropriate">setAppropriate</keyword>
+ <keyword ref="qmainwindow.html#setCentralWidget">setCentralWidget</keyword>
+ <keyword ref="qmainwindow.html#setDockEnabled">setDockEnabled</keyword>
+ <keyword ref="qmainwindow.html#setDockMenuEnabled">setDockMenuEnabled</keyword>
+ <keyword ref="qmainwindow.html#setDockWindowsMovable">setDockWindowsMovable</keyword>
+ <keyword ref="qmainwindow.html#setMenuBar">setMenuBar</keyword>
+ <keyword ref="qmainwindow.html#setOpaqueMoving">setOpaqueMoving</keyword>
+ <keyword ref="qmainwindow.html#setStatusBar">setStatusBar</keyword>
+ <keyword ref="qmainwindow.html#setToolTipGroup">setToolTipGroup</keyword>
+ <keyword ref="qmainwindow.html#setUpLayout">setUpLayout</keyword>
+ <keyword ref="qmainwindow.html#setUsesBigPixmaps">setUsesBigPixmaps</keyword>
+ <keyword ref="qmainwindow.html#setUsesTextLabel">setUsesTextLabel</keyword>
+ <keyword ref="qmainwindow.html#showDockMenu">showDockMenu</keyword>
+ <keyword ref="qmainwindow.html#statusBar">statusBar</keyword>
+ <keyword ref="qmainwindow.html#toolBars">toolBars</keyword>
+ <keyword ref="qmainwindow.html#toolTipGroup">toolTipGroup</keyword>
+ <keyword ref="qmainwindow.html#topDock">topDock</keyword>
+ <keyword ref="qmainwindow.html#usesBigPixmaps">usesBigPixmaps</keyword>
+ <keyword ref="qmainwindow.html#usesBigPixmaps-prop">usesBigPixmaps</keyword>
+ <keyword ref="qmainwindow.html#usesTextLabel">usesTextLabel</keyword>
+ <keyword ref="qmainwindow.html#usesTextLabel-prop">usesTextLabel</keyword>
+ <keyword ref="qmainwindow.html#usesTextLabelChanged">usesTextLabelChanged</keyword>
+ <keyword ref="qmainwindow.html#whatsThis">whatsThis</keyword>
+ <keyword ref="qmainwindow.html#~QMainWindow">~QMainWindow</keyword>
+ <keyword ref="qmainwindow.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qmainwindow.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qmainwindow-members.html" title="List of All Member Functions"/>
+ <section ref="qmainwindow-h.html" title="Header File"/>
+</section>
+<section ref="qmap.html" title="QMap Class Reference">
+ <keyword ref="qmap.html">QMap</keyword>
+ <keyword ref="qmap.html#ConstIterator">ConstIterator</keyword>
+ <keyword ref="qmap.html#Iterator">Iterator</keyword>
+ <keyword ref="qmap.html#ValueType">ValueType</keyword>
+ <keyword ref="qmap.html#begin">begin</keyword>
+ <keyword ref="qmap.html#clear">clear</keyword>
+ <keyword ref="qmap.html#constBegin">constBegin</keyword>
+ <keyword ref="qmap.html#constEnd">constEnd</keyword>
+ <keyword ref="qmap.html#const_iterator">const_iterator</keyword>
+ <keyword ref="qmap.html#const_pointer">const_pointer</keyword>
+ <keyword ref="qmap.html#const_reference">const_reference</keyword>
+ <keyword ref="qmap.html#contains">contains</keyword>
+ <keyword ref="qmap.html#count">count</keyword>
+ <keyword ref="qmap.html#detach">detach</keyword>
+ <keyword ref="qmap.html#empty">empty</keyword>
+ <keyword ref="qmap.html#end">end</keyword>
+ <keyword ref="qmap.html#erase">erase</keyword>
+ <keyword ref="qmap.html#find">find</keyword>
+ <keyword ref="qmap.html#insert">insert</keyword>
+ <keyword ref="qmap.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qmap.html#iterator">iterator</keyword>
+ <keyword ref="qmap.html#key_type">key_type</keyword>
+ <keyword ref="qmap.html#keys">keys</keyword>
+ <keyword ref="qmap.html#mapped_type">mapped_type</keyword>
+ <keyword ref="qmap.html#operator-eq">operator=</keyword>
+ <keyword ref="qmap.html#operator[]">operator[]</keyword>
+ <keyword ref="qmap.html#pointer">pointer</keyword>
+ <keyword ref="qmap.html#reference">reference</keyword>
+ <keyword ref="qmap.html#remove">remove</keyword>
+ <keyword ref="qmap.html#replace">replace</keyword>
+ <keyword ref="qmap.html#size">size</keyword>
+ <keyword ref="qmap.html#size_type">size_type</keyword>
+ <keyword ref="qmap.html#value_type">value_type</keyword>
+ <keyword ref="qmap.html#values">values</keyword>
+ <keyword ref="qmap.html#~QMap">~QMap</keyword>
+ <keyword ref="qmap.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qmap.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qmap-members.html" title="List of All Member Functions"/>
+ <section ref="qmap-h.html" title="Header File"/>
+</section>
+<section ref="qmapconstiterator.html" title="QMapConstIterator Class Reference">
+ <keyword ref="qmapconstiterator.html">QMapConstIterator</keyword>
+ <keyword ref="qmapconstiterator.html#data">data</keyword>
+ <keyword ref="qmapconstiterator.html#iterator_category">iterator_category</keyword>
+ <keyword ref="qmapconstiterator.html#key">key</keyword>
+ <keyword ref="qmapconstiterator.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qmapconstiterator.html#operator*">operator*</keyword>
+ <keyword ref="qmapconstiterator.html#operator++">operator++</keyword>
+ <keyword ref="qmapconstiterator.html#operator--">operator--</keyword>
+ <keyword ref="qmapconstiterator.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qmapconstiterator.html#pointer">pointer</keyword>
+ <keyword ref="qmapconstiterator.html#reference">reference</keyword>
+ <keyword ref="qmapconstiterator.html#value_type">value_type</keyword>
+ <section ref="qmapconstiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qmap-h.html" title="Header File"/>
+</section>
+<section ref="qmapiterator.html" title="QMapIterator Class Reference">
+ <keyword ref="qmapiterator.html">QMapIterator</keyword>
+ <keyword ref="qmapiterator.html#data">data</keyword>
+ <keyword ref="qmapiterator.html#iterator_category">iterator_category</keyword>
+ <keyword ref="qmapiterator.html#key">key</keyword>
+ <keyword ref="qmapiterator.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qmapiterator.html#operator*">operator*</keyword>
+ <keyword ref="qmapiterator.html#operator++">operator++</keyword>
+ <keyword ref="qmapiterator.html#operator--">operator--</keyword>
+ <keyword ref="qmapiterator.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qmapiterator.html#pointer">pointer</keyword>
+ <keyword ref="qmapiterator.html#reference">reference</keyword>
+ <keyword ref="qmapiterator.html#value_type">value_type</keyword>
+ <section ref="qmapiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qmap-h.html" title="Header File"/>
+</section>
+<section ref="qmemarray.html" title="QMemArray Class Reference">
+ <keyword ref="qmemarray.html">QMemArray</keyword>
+ <keyword ref="qmemarray.html#ConstIterator">ConstIterator</keyword>
+ <keyword ref="qmemarray.html#Iterator">Iterator</keyword>
+ <keyword ref="qmemarray.html#assign">assign</keyword>
+ <keyword ref="qmemarray.html#at">at</keyword>
+ <keyword ref="qmemarray.html#begin">begin</keyword>
+ <keyword ref="qmemarray.html#bsearch">bsearch</keyword>
+ <keyword ref="qmemarray.html#contains">contains</keyword>
+ <keyword ref="qmemarray.html#copy">copy</keyword>
+ <keyword ref="qmemarray.html#count">count</keyword>
+ <keyword ref="qmemarray.html#data">data</keyword>
+ <keyword ref="qmemarray.html#detach">detach</keyword>
+ <keyword ref="qmemarray.html#duplicate">duplicate</keyword>
+ <keyword ref="qmemarray.html#end">end</keyword>
+ <keyword ref="qmemarray.html#fill">fill</keyword>
+ <keyword ref="qmemarray.html#find">find</keyword>
+ <keyword ref="qmemarray.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qmemarray.html#isNull">isNull</keyword>
+ <keyword ref="qmemarray.html#nrefs">nrefs</keyword>
+ <keyword ref="qmemarray.html#operator-const-type-*">operator const type *</keyword>
+ <keyword ref="qmemarray.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qmemarray.html#operator-eq">operator=</keyword>
+ <keyword ref="qmemarray.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qmemarray.html#operator[]">operator[]</keyword>
+ <keyword ref="qmemarray.html#resetRawData">resetRawData</keyword>
+ <keyword ref="qmemarray.html#resize">resize</keyword>
+ <keyword ref="qmemarray.html#setRawData">setRawData</keyword>
+ <keyword ref="qmemarray.html#size">size</keyword>
+ <keyword ref="qmemarray.html#sort">sort</keyword>
+ <keyword ref="qmemarray.html#truncate">truncate</keyword>
+ <keyword ref="qmemarray.html#~QMemArray">~QMemArray</keyword>
+ <keyword ref="qmemarray.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qmemarray.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qmemarray.html#qChecksum">qChecksum</keyword>
+ <section ref="qmemarray-members.html" title="List of All Member Functions"/>
+ <section ref="qmemarray-h.html" title="Header File"/>
+</section>
+<section ref="qmenubar.html" title="QMenuBar Class Reference">
+ <keyword ref="qmenubar.html">QMenuBar</keyword>
+ <keyword ref="qmenubar.html#Separator">Separator</keyword>
+ <keyword ref="qmenubar.html#activated">activated</keyword>
+ <keyword ref="qmenubar.html#defaultUp-prop">defaultUp</keyword>
+ <keyword ref="qmenubar.html#drawContents">drawContents</keyword>
+ <keyword ref="qmenubar.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qmenubar.html#hide">hide</keyword>
+ <keyword ref="qmenubar.html#highlighted">highlighted</keyword>
+ <keyword ref="qmenubar.html#isDefaultUp">isDefaultUp</keyword>
+ <keyword ref="qmenubar.html#menuContentsChanged">menuContentsChanged</keyword>
+ <keyword ref="qmenubar.html#menuStateChanged">menuStateChanged</keyword>
+ <keyword ref="qmenubar.html#setDefaultUp">setDefaultUp</keyword>
+ <keyword ref="qmenubar.html#setupAccelerators">setupAccelerators</keyword>
+ <keyword ref="qmenubar.html#show">show</keyword>
+ <keyword ref="qmenubar.html#~QMenuBar">~QMenuBar</keyword>
+ <section ref="qmenubar-members.html" title="List of All Member Functions"/>
+ <section ref="qmenubar-h.html" title="Header File"/>
+</section>
+<section ref="qmenudata.html" title="QMenuData Class Reference">
+ <keyword ref="qmenudata.html">QMenuData</keyword>
+ <keyword ref="qmenudata.html#accel">accel</keyword>
+ <keyword ref="qmenudata.html#activateItemAt">activateItemAt</keyword>
+ <keyword ref="qmenudata.html#changeItem">changeItem</keyword>
+ <keyword ref="qmenudata.html#changeItemIconSet">changeItemIconSet</keyword>
+ <keyword ref="qmenudata.html#clear">clear</keyword>
+ <keyword ref="qmenudata.html#connectItem">connectItem</keyword>
+ <keyword ref="qmenudata.html#count">count</keyword>
+ <keyword ref="qmenudata.html#disconnectItem">disconnectItem</keyword>
+ <keyword ref="qmenudata.html#findItem">findItem</keyword>
+ <keyword ref="qmenudata.html#iconSet">iconSet</keyword>
+ <keyword ref="qmenudata.html#idAt">idAt</keyword>
+ <keyword ref="qmenudata.html#indexOf">indexOf</keyword>
+ <keyword ref="qmenudata.html#insertItem">insertItem</keyword>
+ <keyword ref="qmenudata.html#insertSeparator">insertSeparator</keyword>
+ <keyword ref="qmenudata.html#isItemActive">isItemActive</keyword>
+ <keyword ref="qmenudata.html#isItemChecked">isItemChecked</keyword>
+ <keyword ref="qmenudata.html#isItemEnabled">isItemEnabled</keyword>
+ <keyword ref="qmenudata.html#isItemVisible">isItemVisible</keyword>
+ <keyword ref="qmenudata.html#itemParameter">itemParameter</keyword>
+ <keyword ref="qmenudata.html#menuContentsChanged">menuContentsChanged</keyword>
+ <keyword ref="qmenudata.html#menuDelPopup">menuDelPopup</keyword>
+ <keyword ref="qmenudata.html#menuInsPopup">menuInsPopup</keyword>
+ <keyword ref="qmenudata.html#menuStateChanged">menuStateChanged</keyword>
+ <keyword ref="qmenudata.html#pixmap">pixmap</keyword>
+ <keyword ref="qmenudata.html#removeItem">removeItem</keyword>
+ <keyword ref="qmenudata.html#removeItemAt">removeItemAt</keyword>
+ <keyword ref="qmenudata.html#setAccel">setAccel</keyword>
+ <keyword ref="qmenudata.html#setId">setId</keyword>
+ <keyword ref="qmenudata.html#setItemChecked">setItemChecked</keyword>
+ <keyword ref="qmenudata.html#setItemEnabled">setItemEnabled</keyword>
+ <keyword ref="qmenudata.html#setItemParameter">setItemParameter</keyword>
+ <keyword ref="qmenudata.html#setItemVisible">setItemVisible</keyword>
+ <keyword ref="qmenudata.html#setWhatsThis">setWhatsThis</keyword>
+ <keyword ref="qmenudata.html#text">text</keyword>
+ <keyword ref="qmenudata.html#updateItem">updateItem</keyword>
+ <keyword ref="qmenudata.html#whatsThis">whatsThis</keyword>
+ <keyword ref="qmenudata.html#~QMenuData">~QMenuData</keyword>
+ <section ref="qmenudata-members.html" title="List of All Member Functions"/>
+ <section ref="qmenudata-h.html" title="Header File"/>
+</section>
+<section ref="qmessagebox.html" title="QMessageBox Class Reference">
+ <keyword ref="qmessagebox.html">QMessageBox</keyword>
+ <keyword ref="qmessagebox.html#Icon">Icon</keyword>
+ <keyword ref="qmessagebox.html#about">about</keyword>
+ <keyword ref="qmessagebox.html#aboutQt">aboutQt</keyword>
+ <keyword ref="qmessagebox.html#adjustSize">adjustSize</keyword>
+ <keyword ref="qmessagebox.html#buttonText">buttonText</keyword>
+ <keyword ref="qmessagebox.html#critical">critical</keyword>
+ <keyword ref="qmessagebox.html#icon">icon</keyword>
+ <keyword ref="qmessagebox.html#icon-prop">icon</keyword>
+ <keyword ref="qmessagebox.html#iconPixmap">iconPixmap</keyword>
+ <keyword ref="qmessagebox.html#iconPixmap-prop">iconPixmap</keyword>
+ <keyword ref="qmessagebox.html#information">information</keyword>
+ <keyword ref="qmessagebox.html#question">question</keyword>
+ <keyword ref="qmessagebox.html#setButtonText">setButtonText</keyword>
+ <keyword ref="qmessagebox.html#setIcon">setIcon</keyword>
+ <keyword ref="qmessagebox.html#setIconPixmap">setIconPixmap</keyword>
+ <keyword ref="qmessagebox.html#setText">setText</keyword>
+ <keyword ref="qmessagebox.html#setTextFormat">setTextFormat</keyword>
+ <keyword ref="qmessagebox.html#standardIcon">standardIcon</keyword>
+ <keyword ref="qmessagebox.html#text">text</keyword>
+ <keyword ref="qmessagebox.html#text-prop">text</keyword>
+ <keyword ref="qmessagebox.html#textFormat">textFormat</keyword>
+ <keyword ref="qmessagebox.html#textFormat-prop">textFormat</keyword>
+ <keyword ref="qmessagebox.html#warning">warning</keyword>
+ <keyword ref="qmessagebox.html#~QMessageBox">~QMessageBox</keyword>
+ <section ref="qmessagebox-members.html" title="List of All Member Functions"/>
+ <section ref="qmessagebox-h.html" title="Header File"/>
+</section>
+<section ref="qmetaobject.html" title="QMetaObject Class Reference">
+ <keyword ref="qmetaobject.html">QMetaObject</keyword>
+ <keyword ref="qmetaobject.html#classInfo">classInfo</keyword>
+ <keyword ref="qmetaobject.html#className">className</keyword>
+ <keyword ref="qmetaobject.html#findProperty">findProperty</keyword>
+ <keyword ref="qmetaobject.html#inherits">inherits</keyword>
+ <keyword ref="qmetaobject.html#numClassInfo">numClassInfo</keyword>
+ <keyword ref="qmetaobject.html#numProperties">numProperties</keyword>
+ <keyword ref="qmetaobject.html#numSignals">numSignals</keyword>
+ <keyword ref="qmetaobject.html#numSlots">numSlots</keyword>
+ <keyword ref="qmetaobject.html#property">property</keyword>
+ <keyword ref="qmetaobject.html#propertyNames">propertyNames</keyword>
+ <keyword ref="qmetaobject.html#signalNames">signalNames</keyword>
+ <keyword ref="qmetaobject.html#slotNames">slotNames</keyword>
+ <keyword ref="qmetaobject.html#superClass">superClass</keyword>
+ <keyword ref="qmetaobject.html#superClassName">superClassName</keyword>
+ <section ref="qmetaobject-members.html" title="List of All Member Functions"/>
+ <section ref="qmetaobject-h.html" title="Header File"/>
+</section>
+<section ref="qmetaproperty.html" title="QMetaProperty Class Reference">
+ <keyword ref="qmetaproperty.html">QMetaProperty</keyword>
+ <keyword ref="qmetaproperty.html#designable">designable</keyword>
+ <keyword ref="qmetaproperty.html#enumKeys">enumKeys</keyword>
+ <keyword ref="qmetaproperty.html#isEnumType">isEnumType</keyword>
+ <keyword ref="qmetaproperty.html#isSetType">isSetType</keyword>
+ <keyword ref="qmetaproperty.html#keyToValue">keyToValue</keyword>
+ <keyword ref="qmetaproperty.html#keysToValue">keysToValue</keyword>
+ <keyword ref="qmetaproperty.html#name">name</keyword>
+ <keyword ref="qmetaproperty.html#reset">reset</keyword>
+ <keyword ref="qmetaproperty.html#scriptable">scriptable</keyword>
+ <keyword ref="qmetaproperty.html#stored">stored</keyword>
+ <keyword ref="qmetaproperty.html#type">type</keyword>
+ <keyword ref="qmetaproperty.html#valueToKey">valueToKey</keyword>
+ <keyword ref="qmetaproperty.html#valueToKeys">valueToKeys</keyword>
+ <keyword ref="qmetaproperty.html#writable">writable</keyword>
+ <section ref="qmetaproperty-members.html" title="List of All Member Functions"/>
+ <section ref="qmetaobject-h.html" title="Header File"/>
+</section>
+<section ref="qmimesource.html" title="QMimeSource Class Reference">
+ <keyword ref="qmimesource.html">QMimeSource</keyword>
+ <keyword ref="qmimesource.html#encodedData">encodedData</keyword>
+ <keyword ref="qmimesource.html#format">format</keyword>
+ <keyword ref="qmimesource.html#provides">provides</keyword>
+ <keyword ref="qmimesource.html#serialNumber">serialNumber</keyword>
+ <keyword ref="qmimesource.html#~QMimeSource">~QMimeSource</keyword>
+ <section ref="qmimesource-members.html" title="List of All Member Functions"/>
+ <section ref="qmime-h.html" title="Header File"/>
+</section>
+<section ref="qmimesourcefactory.html" title="QMimeSourceFactory Class Reference">
+ <keyword ref="qmimesourcefactory.html">QMimeSourceFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#addFactory">addFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#addFilePath">addFilePath</keyword>
+ <keyword ref="qmimesourcefactory.html#data">data</keyword>
+ <keyword ref="qmimesourcefactory.html#defaultFactory">defaultFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#filePath">filePath</keyword>
+ <keyword ref="qmimesourcefactory.html#makeAbsolute">makeAbsolute</keyword>
+ <keyword ref="qmimesourcefactory.html#removeFactory">removeFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#setData">setData</keyword>
+ <keyword ref="qmimesourcefactory.html#setDefaultFactory">setDefaultFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#setExtensionType">setExtensionType</keyword>
+ <keyword ref="qmimesourcefactory.html#setFilePath">setFilePath</keyword>
+ <keyword ref="qmimesourcefactory.html#setImage">setImage</keyword>
+ <keyword ref="qmimesourcefactory.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qmimesourcefactory.html#setText">setText</keyword>
+ <keyword ref="qmimesourcefactory.html#takeDefaultFactory">takeDefaultFactory</keyword>
+ <keyword ref="qmimesourcefactory.html#~QMimeSourceFactory">~QMimeSourceFactory</keyword>
+ <section ref="qmimesourcefactory-members.html" title="List of All Member Functions"/>
+ <section ref="qmime-h.html" title="Header File"/>
+</section>
+<section ref="qmotif.html" title="QMotif Class Reference">
+ <keyword ref="qmotif.html">QMotif</keyword>
+ <keyword ref="qmotif.html#applicationContext">applicationContext</keyword>
+ <keyword ref="qmotif.html#x11Display">x11Display</keyword>
+ <keyword ref="qmotif.html#~QMotif">~QMotif</keyword>
+ <section ref="qmotif-members.html" title="List of All Member Functions"/>
+ <section ref="qmotif-h.html" title="Header File"/>
+</section>
+<section ref="qmotifdialog.html" title="QMotifDialog Class Reference">
+ <keyword ref="qmotifdialog.html">QMotifDialog</keyword>
+ <keyword ref="qmotifdialog.html#acceptCallback">acceptCallback</keyword>
+ <keyword ref="qmotifdialog.html#dialog">dialog</keyword>
+ <keyword ref="qmotifdialog.html#rejectCallback">rejectCallback</keyword>
+ <keyword ref="qmotifdialog.html#shell">shell</keyword>
+ <keyword ref="qmotifdialog.html#~QMotifDialog">~QMotifDialog</keyword>
+ <section ref="qmotifdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qmotifdialog-h.html" title="Header File"/>
+</section>
+<section ref="qmotifplusstyle.html" title="QMotifPlusStyle Class Reference">
+ <keyword ref="qmotifplusstyle.html">QMotifPlusStyle</keyword>
+ <section ref="qmotifplusstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qmotifplusstyle-h.html" title="Header File"/>
+</section>
+<section ref="qmotifstyle.html" title="QMotifStyle Class Reference">
+ <keyword ref="qmotifstyle.html">QMotifStyle</keyword>
+ <keyword ref="qmotifstyle.html#setUseHighlightColors">setUseHighlightColors</keyword>
+ <keyword ref="qmotifstyle.html#useHighlightColors">useHighlightColors</keyword>
+ <section ref="qmotifstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qmotifstyle-h.html" title="Header File"/>
+</section>
+<section ref="qmotifwidget.html" title="QMotifWidget Class Reference">
+ <keyword ref="qmotifwidget.html">QMotifWidget</keyword>
+ <keyword ref="qmotifwidget.html#motifWidget">motifWidget</keyword>
+ <keyword ref="qmotifwidget.html#~QMotifWidget">~QMotifWidget</keyword>
+ <section ref="qmotifwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qmotifwidget-h.html" title="Header File"/>
+</section>
+<section ref="qmousedriverfactory.html" title="QMouseDriverFactory Class Reference">
+ <keyword ref="qmousedriverfactory.html">QMouseDriverFactory</keyword>
+ <keyword ref="qmousedriverfactory.html#create">create</keyword>
+ <keyword ref="qmousedriverfactory.html#keys">keys</keyword>
+ <section ref="qmousedriverfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qmousedriverfactory_qws-h.html" title="Header File"/>
+</section>
+<section ref="qmousedriverplugin.html" title="QMouseDriverPlugin Class Reference">
+ <keyword ref="qmousedriverplugin.html">QMouseDriverPlugin</keyword>
+ <keyword ref="qmousedriverplugin.html#create">create</keyword>
+ <keyword ref="qmousedriverplugin.html#keys">keys</keyword>
+ <keyword ref="qmousedriverplugin.html#~QMouseDriverPlugin">~QMouseDriverPlugin</keyword>
+ <section ref="qmousedriverplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qmousedriverplugin_qws-h.html" title="Header File"/>
+</section>
+<section ref="qmouseevent.html" title="QMouseEvent Class Reference">
+ <keyword ref="qmouseevent.html">QMouseEvent</keyword>
+ <keyword ref="qmouseevent.html#accept">accept</keyword>
+ <keyword ref="qmouseevent.html#button">button</keyword>
+ <keyword ref="qmouseevent.html#globalPos">globalPos</keyword>
+ <keyword ref="qmouseevent.html#globalX">globalX</keyword>
+ <keyword ref="qmouseevent.html#globalY">globalY</keyword>
+ <keyword ref="qmouseevent.html#ignore">ignore</keyword>
+ <keyword ref="qmouseevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qmouseevent.html#pos">pos</keyword>
+ <keyword ref="qmouseevent.html#state">state</keyword>
+ <keyword ref="qmouseevent.html#stateAfter">stateAfter</keyword>
+ <keyword ref="qmouseevent.html#x">x</keyword>
+ <keyword ref="qmouseevent.html#y">y</keyword>
+ <section ref="qmouseevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qmoveevent.html" title="QMoveEvent Class Reference">
+ <keyword ref="qmoveevent.html">QMoveEvent</keyword>
+ <keyword ref="qmoveevent.html#oldPos">oldPos</keyword>
+ <keyword ref="qmoveevent.html#pos">pos</keyword>
+ <section ref="qmoveevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qmovie.html" title="QMovie Class Reference">
+ <keyword ref="qmovie.html">QMovie</keyword>
+ <keyword ref="qmovie.html#Status">Status</keyword>
+ <keyword ref="qmovie.html#backgroundColor">backgroundColor</keyword>
+ <keyword ref="qmovie.html#connectResize">connectResize</keyword>
+ <keyword ref="qmovie.html#connectStatus">connectStatus</keyword>
+ <keyword ref="qmovie.html#connectUpdate">connectUpdate</keyword>
+ <keyword ref="qmovie.html#disconnectResize">disconnectResize</keyword>
+ <keyword ref="qmovie.html#disconnectStatus">disconnectStatus</keyword>
+ <keyword ref="qmovie.html#disconnectUpdate">disconnectUpdate</keyword>
+ <keyword ref="qmovie.html#finished">finished</keyword>
+ <keyword ref="qmovie.html#frameImage">frameImage</keyword>
+ <keyword ref="qmovie.html#frameNumber">frameNumber</keyword>
+ <keyword ref="qmovie.html#framePixmap">framePixmap</keyword>
+ <keyword ref="qmovie.html#getValidRect">getValidRect</keyword>
+ <keyword ref="qmovie.html#isNull">isNull</keyword>
+ <keyword ref="qmovie.html#operator-eq">operator=</keyword>
+ <keyword ref="qmovie.html#pause">pause</keyword>
+ <keyword ref="qmovie.html#paused">paused</keyword>
+ <keyword ref="qmovie.html#pushData">pushData</keyword>
+ <keyword ref="qmovie.html#pushSpace">pushSpace</keyword>
+ <keyword ref="qmovie.html#restart">restart</keyword>
+ <keyword ref="qmovie.html#running">running</keyword>
+ <keyword ref="qmovie.html#setBackgroundColor">setBackgroundColor</keyword>
+ <keyword ref="qmovie.html#setSpeed">setSpeed</keyword>
+ <keyword ref="qmovie.html#speed">speed</keyword>
+ <keyword ref="qmovie.html#step">step</keyword>
+ <keyword ref="qmovie.html#steps">steps</keyword>
+ <keyword ref="qmovie.html#unpause">unpause</keyword>
+ <keyword ref="qmovie.html#~QMovie">~QMovie</keyword>
+ <section ref="qmovie-members.html" title="List of All Member Functions"/>
+ <section ref="qmovie-h.html" title="Header File"/>
+</section>
+<section ref="qmultilineedit.html" title="QMultiLineEdit Class Reference">
+ <keyword ref="qmultilineedit.html#alignment">alignment</keyword>
+ <keyword ref="qmultilineedit.html#alignment-prop">alignment</keyword>
+ <keyword ref="qmultilineedit.html#atBeginning">atBeginning</keyword>
+ <keyword ref="qmultilineedit.html#atBeginning-prop">atBeginning</keyword>
+ <keyword ref="qmultilineedit.html#atEnd">atEnd</keyword>
+ <keyword ref="qmultilineedit.html#atEnd-prop">atEnd</keyword>
+ <keyword ref="qmultilineedit.html#backspace">backspace</keyword>
+ <keyword ref="qmultilineedit.html#cursorDown">cursorDown</keyword>
+ <keyword ref="qmultilineedit.html#cursorLeft">cursorLeft</keyword>
+ <keyword ref="qmultilineedit.html#cursorPoint">cursorPoint</keyword>
+ <keyword ref="qmultilineedit.html#cursorRight">cursorRight</keyword>
+ <keyword ref="qmultilineedit.html#cursorUp">cursorUp</keyword>
+ <keyword ref="qmultilineedit.html#cursorWordBackward">cursorWordBackward</keyword>
+ <keyword ref="qmultilineedit.html#cursorWordForward">cursorWordForward</keyword>
+ <keyword ref="qmultilineedit.html#edited">edited</keyword>
+ <keyword ref="qmultilineedit.html#edited-prop">edited</keyword>
+ <keyword ref="qmultilineedit.html#end">end</keyword>
+ <keyword ref="qmultilineedit.html#getMarkedRegion">getMarkedRegion</keyword>
+ <keyword ref="qmultilineedit.html#hasMarkedText">hasMarkedText</keyword>
+ <keyword ref="qmultilineedit.html#home">home</keyword>
+ <keyword ref="qmultilineedit.html#insertAndMark">insertAndMark</keyword>
+ <keyword ref="qmultilineedit.html#insertAt">insertAt</keyword>
+ <keyword ref="qmultilineedit.html#insertLine">insertLine</keyword>
+ <keyword ref="qmultilineedit.html#killLine">killLine</keyword>
+ <keyword ref="qmultilineedit.html#lineLength">lineLength</keyword>
+ <keyword ref="qmultilineedit.html#markedText">markedText</keyword>
+ <keyword ref="qmultilineedit.html#newLine">newLine</keyword>
+ <keyword ref="qmultilineedit.html#numLines">numLines</keyword>
+ <keyword ref="qmultilineedit.html#numLines-prop">numLines</keyword>
+ <keyword ref="qmultilineedit.html#pageDown">pageDown</keyword>
+ <keyword ref="qmultilineedit.html#pageUp">pageUp</keyword>
+ <keyword ref="qmultilineedit.html#removeLine">removeLine</keyword>
+ <keyword ref="qmultilineedit.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qmultilineedit.html#setCursorPosition">setCursorPosition</keyword>
+ <keyword ref="qmultilineedit.html#setEdited">setEdited</keyword>
+ <keyword ref="qmultilineedit.html#textLine">textLine</keyword>
+ <section ref="qmultilineedit-members.html" title="List of All Member Functions"/>
+ <section ref="qmultilineedit-h.html" title="Header File"/>
+</section>
+<section ref="qmutex.html" title="QMutex Class Reference">
+ <keyword ref="qmutex.html">QMutex</keyword>
+ <keyword ref="qmutex.html#lock">lock</keyword>
+ <keyword ref="qmutex.html#locked">locked</keyword>
+ <keyword ref="qmutex.html#tryLock">tryLock</keyword>
+ <keyword ref="qmutex.html#unlock">unlock</keyword>
+ <keyword ref="qmutex.html#~QMutex">~QMutex</keyword>
+ <section ref="qmutex-members.html" title="List of All Member Functions"/>
+ <section ref="qmutex-h.html" title="Header File"/>
+</section>
+<section ref="qmutexlocker.html" title="QMutexLocker Class Reference">
+ <keyword ref="qmutexlocker.html">QMutexLocker</keyword>
+ <keyword ref="qmutexlocker.html#mutex">mutex</keyword>
+ <keyword ref="qmutexlocker.html#~QMutexLocker">~QMutexLocker</keyword>
+ <section ref="qmutexlocker-members.html" title="List of All Member Functions"/>
+ <section ref="qmutex-h.html" title="Header File"/>
+</section>
+<section ref="qnetworkoperation.html" title="QNetworkOperation Class Reference">
+ <keyword ref="qnetworkoperation.html">QNetworkOperation</keyword>
+ <keyword ref="qnetworkoperation.html#arg">arg</keyword>
+ <keyword ref="qnetworkoperation.html#errorCode">errorCode</keyword>
+ <keyword ref="qnetworkoperation.html#free">free</keyword>
+ <keyword ref="qnetworkoperation.html#operation">operation</keyword>
+ <keyword ref="qnetworkoperation.html#protocolDetail">protocolDetail</keyword>
+ <keyword ref="qnetworkoperation.html#rawArg">rawArg</keyword>
+ <keyword ref="qnetworkoperation.html#setArg">setArg</keyword>
+ <keyword ref="qnetworkoperation.html#setErrorCode">setErrorCode</keyword>
+ <keyword ref="qnetworkoperation.html#setProtocolDetail">setProtocolDetail</keyword>
+ <keyword ref="qnetworkoperation.html#setRawArg">setRawArg</keyword>
+ <keyword ref="qnetworkoperation.html#setState">setState</keyword>
+ <keyword ref="qnetworkoperation.html#state">state</keyword>
+ <keyword ref="qnetworkoperation.html#~QNetworkOperation">~QNetworkOperation</keyword>
+ <section ref="qnetworkoperation-members.html" title="List of All Member Functions"/>
+ <section ref="qnetworkprotocol-h.html" title="Header File"/>
+</section>
+<section ref="qnetworkprotocol.html" title="QNetworkProtocol Class Reference">
+ <keyword ref="qnetworkprotocol.html">QNetworkProtocol</keyword>
+ <keyword ref="qnetworkprotocol.html#ConnectionState">ConnectionState</keyword>
+ <keyword ref="qnetworkprotocol.html#Error">Error</keyword>
+ <keyword ref="qnetworkprotocol.html#Operation">Operation</keyword>
+ <keyword ref="qnetworkprotocol.html#State">State</keyword>
+ <keyword ref="qnetworkprotocol.html#addOperation">addOperation</keyword>
+ <keyword ref="qnetworkprotocol.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qnetworkprotocol.html#checkConnection">checkConnection</keyword>
+ <keyword ref="qnetworkprotocol.html#clearOperationQueue">clearOperationQueue</keyword>
+ <keyword ref="qnetworkprotocol.html#connectionStateChanged">connectionStateChanged</keyword>
+ <keyword ref="qnetworkprotocol.html#createdDirectory">createdDirectory</keyword>
+ <keyword ref="qnetworkprotocol.html#data">data</keyword>
+ <keyword ref="qnetworkprotocol.html#dataTransferProgress">dataTransferProgress</keyword>
+ <keyword ref="qnetworkprotocol.html#finished">finished</keyword>
+ <keyword ref="qnetworkprotocol.html#getNetworkProtocol">getNetworkProtocol</keyword>
+ <keyword ref="qnetworkprotocol.html#hasOnlyLocalFileSystem">hasOnlyLocalFileSystem</keyword>
+ <keyword ref="qnetworkprotocol.html#itemChanged">itemChanged</keyword>
+ <keyword ref="qnetworkprotocol.html#newChild">newChild</keyword>
+ <keyword ref="qnetworkprotocol.html#newChildren">newChildren</keyword>
+ <keyword ref="qnetworkprotocol.html#operationGet">operationGet</keyword>
+ <keyword ref="qnetworkprotocol.html#operationInProgress">operationInProgress</keyword>
+ <keyword ref="qnetworkprotocol.html#operationListChildren">operationListChildren</keyword>
+ <keyword ref="qnetworkprotocol.html#operationMkDir">operationMkDir</keyword>
+ <keyword ref="qnetworkprotocol.html#operationPut">operationPut</keyword>
+ <keyword ref="qnetworkprotocol.html#operationRemove">operationRemove</keyword>
+ <keyword ref="qnetworkprotocol.html#operationRename">operationRename</keyword>
+ <keyword ref="qnetworkprotocol.html#registerNetworkProtocol">registerNetworkProtocol</keyword>
+ <keyword ref="qnetworkprotocol.html#removed">removed</keyword>
+ <keyword ref="qnetworkprotocol.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qnetworkprotocol.html#setUrl">setUrl</keyword>
+ <keyword ref="qnetworkprotocol.html#start">start</keyword>
+ <keyword ref="qnetworkprotocol.html#stop">stop</keyword>
+ <keyword ref="qnetworkprotocol.html#supportedOperations">supportedOperations</keyword>
+ <keyword ref="qnetworkprotocol.html#url">url</keyword>
+ <keyword ref="qnetworkprotocol.html#~QNetworkProtocol">~QNetworkProtocol</keyword>
+ <section ref="qnetworkprotocol-members.html" title="List of All Member Functions"/>
+ <section ref="qnetworkprotocol-h.html" title="Header File"/>
+</section>
+<section ref="qnpinstance.html" title="QNPInstance Class Reference">
+ <keyword ref="qnpinstance.html">QNPInstance</keyword>
+ <keyword ref="qnpinstance.html#InstanceMode">InstanceMode</keyword>
+ <keyword ref="qnpinstance.html#Reason">Reason</keyword>
+ <keyword ref="qnpinstance.html#StreamMode">StreamMode</keyword>
+ <keyword ref="qnpinstance.html#arg">arg</keyword>
+ <keyword ref="qnpinstance.html#argc">argc</keyword>
+ <keyword ref="qnpinstance.html#argn">argn</keyword>
+ <keyword ref="qnpinstance.html#argv">argv</keyword>
+ <keyword ref="qnpinstance.html#getJavaPeer">getJavaPeer</keyword>
+ <keyword ref="qnpinstance.html#getURL">getURL</keyword>
+ <keyword ref="qnpinstance.html#getURLNotify">getURLNotify</keyword>
+ <keyword ref="qnpinstance.html#mode">mode</keyword>
+ <keyword ref="qnpinstance.html#newStream">newStream</keyword>
+ <keyword ref="qnpinstance.html#newStreamCreated">newStreamCreated</keyword>
+ <keyword ref="qnpinstance.html#newWindow">newWindow</keyword>
+ <keyword ref="qnpinstance.html#notifyURL">notifyURL</keyword>
+ <keyword ref="qnpinstance.html#postURL">postURL</keyword>
+ <keyword ref="qnpinstance.html#print">print</keyword>
+ <keyword ref="qnpinstance.html#printFullPage">printFullPage</keyword>
+ <keyword ref="qnpinstance.html#status">status</keyword>
+ <keyword ref="qnpinstance.html#streamAsFile">streamAsFile</keyword>
+ <keyword ref="qnpinstance.html#streamDestroyed">streamDestroyed</keyword>
+ <keyword ref="qnpinstance.html#userAgent">userAgent</keyword>
+ <keyword ref="qnpinstance.html#widget">widget</keyword>
+ <keyword ref="qnpinstance.html#write">write</keyword>
+ <keyword ref="qnpinstance.html#writeReady">writeReady</keyword>
+ <keyword ref="qnpinstance.html#~QNPInstance">~QNPInstance</keyword>
+ <section ref="qnpinstance-members.html" title="List of All Member Functions"/>
+ <section ref="qnp-h.html" title="Header File"/>
+</section>
+<section ref="qnplugin.html" title="QNPlugin Class Reference">
+ <keyword ref="qnplugin.html">QNPlugin</keyword>
+ <keyword ref="qnplugin.html#actual">actual</keyword>
+ <keyword ref="qnplugin.html#create">create</keyword>
+ <keyword ref="qnplugin.html#getJavaClass">getJavaClass</keyword>
+ <keyword ref="qnplugin.html#getJavaEnv">getJavaEnv</keyword>
+ <keyword ref="qnplugin.html#getMIMEDescription">getMIMEDescription</keyword>
+ <keyword ref="qnplugin.html#getPluginDescriptionString">getPluginDescriptionString</keyword>
+ <keyword ref="qnplugin.html#getPluginNameString">getPluginNameString</keyword>
+ <keyword ref="qnplugin.html#getVersionInfo">getVersionInfo</keyword>
+ <keyword ref="qnplugin.html#newInstance">newInstance</keyword>
+ <keyword ref="qnplugin.html#unuseJavaClass">unuseJavaClass</keyword>
+ <keyword ref="qnplugin.html#~QNPlugin">~QNPlugin</keyword>
+ <section ref="qnplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qnp-h.html" title="Header File"/>
+</section>
+<section ref="qnpstream.html" title="QNPStream Class Reference">
+ <keyword ref="qnpstream.html">QNPStream</keyword>
+ <keyword ref="qnpstream.html#complete">complete</keyword>
+ <keyword ref="qnpstream.html#end">end</keyword>
+ <keyword ref="qnpstream.html#instance">instance</keyword>
+ <keyword ref="qnpstream.html#lastModified">lastModified</keyword>
+ <keyword ref="qnpstream.html#okay">okay</keyword>
+ <keyword ref="qnpstream.html#requestRead">requestRead</keyword>
+ <keyword ref="qnpstream.html#seekable">seekable</keyword>
+ <keyword ref="qnpstream.html#type">type</keyword>
+ <keyword ref="qnpstream.html#url">url</keyword>
+ <keyword ref="qnpstream.html#write">write</keyword>
+ <keyword ref="qnpstream.html#~QNPStream">~QNPStream</keyword>
+ <section ref="qnpstream-members.html" title="List of All Member Functions"/>
+ <section ref="qnp-h.html" title="Header File"/>
+</section>
+<section ref="qnpwidget.html" title="QNPWidget Class Reference">
+ <keyword ref="qnpwidget.html">QNPWidget</keyword>
+ <keyword ref="qnpwidget.html#enterInstance">enterInstance</keyword>
+ <keyword ref="qnpwidget.html#instance">instance</keyword>
+ <keyword ref="qnpwidget.html#leaveInstance">leaveInstance</keyword>
+ <keyword ref="qnpwidget.html#~QNPWidget">~QNPWidget</keyword>
+ <section ref="qnpwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qnp-h.html" title="Header File"/>
+</section>
+<section ref="qobject.html" title="QObject Class Reference">
+ <keyword ref="qobject.html">QObject</keyword>
+ <keyword ref="qobject.html#activate_signal">activate_signal</keyword>
+ <keyword ref="qobject.html#blockSignals">blockSignals</keyword>
+ <keyword ref="qobject.html#checkConnectArgs">checkConnectArgs</keyword>
+ <keyword ref="qobject.html#child">child</keyword>
+ <keyword ref="qobject.html#childEvent">childEvent</keyword>
+ <keyword ref="qobject.html#children">children</keyword>
+ <keyword ref="qobject.html#className">className</keyword>
+ <keyword ref="qobject.html#cleanupEventFilter">cleanupEventFilter</keyword>
+ <keyword ref="qobject.html#connect">connect</keyword>
+ <keyword ref="qobject.html#connectNotify">connectNotify</keyword>
+ <keyword ref="qobject.html#customEvent">customEvent</keyword>
+ <keyword ref="qobject.html#deleteLater">deleteLater</keyword>
+ <keyword ref="qobject.html#destroyed">destroyed</keyword>
+ <keyword ref="qobject.html#disconnect">disconnect</keyword>
+ <keyword ref="qobject.html#disconnectNotify">disconnectNotify</keyword>
+ <keyword ref="qobject.html#dumpObjectInfo">dumpObjectInfo</keyword>
+ <keyword ref="qobject.html#dumpObjectTree">dumpObjectTree</keyword>
+ <keyword ref="qobject.html#event">event</keyword>
+ <keyword ref="qobject.html#eventFilter">eventFilter</keyword>
+ <keyword ref="qobject.html#highPriority">highPriority</keyword>
+ <keyword ref="qobject.html#inherits">inherits</keyword>
+ <keyword ref="qobject.html#insertChild">insertChild</keyword>
+ <keyword ref="qobject.html#installEventFilter">installEventFilter</keyword>
+ <keyword ref="qobject.html#isA">isA</keyword>
+ <keyword ref="qobject.html#isWidgetType">isWidgetType</keyword>
+ <keyword ref="qobject.html#killTimer">killTimer</keyword>
+ <keyword ref="qobject.html#killTimers">killTimers</keyword>
+ <keyword ref="qobject.html#metaObject">metaObject</keyword>
+ <keyword ref="qobject.html#name">name</keyword>
+ <keyword ref="qobject.html#name-prop">name</keyword>
+ <keyword ref="qobject.html#normalizeSignalSlot">normalizeSignalSlot</keyword>
+ <keyword ref="qobject.html#objectTrees">objectTrees</keyword>
+ <keyword ref="qobject.html#parent">parent</keyword>
+ <keyword ref="qobject.html#property">property</keyword>
+ <keyword ref="qobject.html#queryList">queryList</keyword>
+ <keyword ref="qobject.html#removeChild">removeChild</keyword>
+ <keyword ref="qobject.html#removeEventFilter">removeEventFilter</keyword>
+ <keyword ref="qobject.html#sender">sender</keyword>
+ <keyword ref="qobject.html#setName">setName</keyword>
+ <keyword ref="qobject.html#setProperty">setProperty</keyword>
+ <keyword ref="qobject.html#signalsBlocked">signalsBlocked</keyword>
+ <keyword ref="qobject.html#startTimer">startTimer</keyword>
+ <keyword ref="qobject.html#timerEvent">timerEvent</keyword>
+ <keyword ref="qobject.html#tr">tr</keyword>
+ <keyword ref="qobject.html#trUtf8">trUtf8</keyword>
+ <keyword ref="qobject.html#~QObject">~QObject</keyword>
+ <keyword ref="qobject.html#qt_find_obj_child">qt_find_obj_child</keyword>
+ <section ref="qobject-members.html" title="List of All Member Functions"/>
+ <section ref="qobject-h.html" title="Header File"/>
+</section>
+<section ref="qobjectcleanuphandler.html" title="QObjectCleanupHandler Class Reference">
+ <keyword ref="qobjectcleanuphandler.html">QObjectCleanupHandler</keyword>
+ <keyword ref="qobjectcleanuphandler.html#add">add</keyword>
+ <keyword ref="qobjectcleanuphandler.html#clear">clear</keyword>
+ <keyword ref="qobjectcleanuphandler.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qobjectcleanuphandler.html#remove">remove</keyword>
+ <keyword ref="qobjectcleanuphandler.html#~QObjectCleanupHandler">~QObjectCleanupHandler</keyword>
+ <section ref="qobjectcleanuphandler-members.html" title="List of All Member Functions"/>
+ <section ref="qobjectcleanuphandler-h.html" title="Header File"/>
+</section>
+<section ref="qobjectlist.html" title="QObjectList Class Reference">
+ <keyword ref="qobjectlist.html">QObjectList</keyword>
+ <keyword ref="qobjectlist.html#operator-eq">operator=</keyword>
+ <keyword ref="qobjectlist.html#~QObjectList">~QObjectList</keyword>
+ <section ref="qobjectlist-members.html" title="List of All Member Functions"/>
+ <section ref="qobjectlist-h.html" title="Header File"/>
+</section>
+<section ref="qobjectlistiterator.html" title="QObjectListIterator Class Reference">
+ <keyword ref="qobjectlistiterator.html">QObjectListIterator</keyword>
+ <keyword ref="qobjectlistiterator.html#operator-eq">operator=</keyword>
+ <section ref="qobjectlistiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qobjectlist-h.html" title="Header File"/>
+</section>
+<section ref="qpaintdevice.html" title="QPaintDevice Class Reference">
+ <keyword ref="qpaintdevice.html">QPaintDevice</keyword>
+ <keyword ref="qpaintdevice.html#cmd">cmd</keyword>
+ <keyword ref="qpaintdevice.html#handle">handle</keyword>
+ <keyword ref="qpaintdevice.html#isExtDev">isExtDev</keyword>
+ <keyword ref="qpaintdevice.html#paintingActive">paintingActive</keyword>
+ <keyword ref="qpaintdevice.html#x11AppCells">x11AppCells</keyword>
+ <keyword ref="qpaintdevice.html#x11AppColormap">x11AppColormap</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDepth">x11AppDepth</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDisplay">x11AppDisplay</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDpiX">x11AppDpiX</keyword>
+ <keyword ref="qpaintdevice.html#x11AppDpiY">x11AppDpiY</keyword>
+ <keyword ref="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</keyword>
+ <keyword ref="qpaintdevice.html#x11AppScreen">x11AppScreen</keyword>
+ <keyword ref="qpaintdevice.html#x11AppVisual">x11AppVisual</keyword>
+ <keyword ref="qpaintdevice.html#x11Cells">x11Cells</keyword>
+ <keyword ref="qpaintdevice.html#x11Colormap">x11Colormap</keyword>
+ <keyword ref="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</keyword>
+ <keyword ref="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</keyword>
+ <keyword ref="qpaintdevice.html#x11Depth">x11Depth</keyword>
+ <keyword ref="qpaintdevice.html#x11Display">x11Display</keyword>
+ <keyword ref="qpaintdevice.html#x11Screen">x11Screen</keyword>
+ <keyword ref="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</keyword>
+ <keyword ref="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</keyword>
+ <keyword ref="qpaintdevice.html#x11Visual">x11Visual</keyword>
+ <keyword ref="qpaintdevice.html#~QPaintDevice">~QPaintDevice</keyword>
+ <keyword ref="qpaintdevice.html#bitBlt">bitBlt</keyword>
+ <section ref="qpaintdevice-members.html" title="List of All Member Functions"/>
+ <section ref="qpaintdevice-h.html" title="Header File"/>
+</section>
+<section ref="qpaintdevicemetrics.html" title="QPaintDeviceMetrics Class Reference">
+ <keyword ref="qpaintdevicemetrics.html">QPaintDeviceMetrics</keyword>
+ <keyword ref="qpaintdevicemetrics.html#depth">depth</keyword>
+ <keyword ref="qpaintdevicemetrics.html#height">height</keyword>
+ <keyword ref="qpaintdevicemetrics.html#heightMM">heightMM</keyword>
+ <keyword ref="qpaintdevicemetrics.html#logicalDpiX">logicalDpiX</keyword>
+ <keyword ref="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</keyword>
+ <keyword ref="qpaintdevicemetrics.html#numColors">numColors</keyword>
+ <keyword ref="qpaintdevicemetrics.html#width">width</keyword>
+ <keyword ref="qpaintdevicemetrics.html#widthMM">widthMM</keyword>
+ <section ref="qpaintdevicemetrics-members.html" title="List of All Member Functions"/>
+ <section ref="qpaintdevicemetrics-h.html" title="Header File"/>
+</section>
+<section ref="qpainter.html" title="QPainter Class Reference">
+ <keyword ref="qpainter.html">QPainter</keyword>
+ <keyword ref="qpainter.html#CoordinateMode">CoordinateMode</keyword>
+ <keyword ref="qpainter.html#TextDirection">TextDirection</keyword>
+ <keyword ref="qpainter.html#backgroundColor">backgroundColor</keyword>
+ <keyword ref="qpainter.html#backgroundMode">backgroundMode</keyword>
+ <keyword ref="qpainter.html#begin">begin</keyword>
+ <keyword ref="qpainter.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qpainter.html#brush">brush</keyword>
+ <keyword ref="qpainter.html#brushOrigin">brushOrigin</keyword>
+ <keyword ref="qpainter.html#clipRegion">clipRegion</keyword>
+ <keyword ref="qpainter.html#device">device</keyword>
+ <keyword ref="qpainter.html#drawArc">drawArc</keyword>
+ <keyword ref="qpainter.html#drawChord">drawChord</keyword>
+ <keyword ref="qpainter.html#drawConvexPolygon">drawConvexPolygon</keyword>
+ <keyword ref="qpainter.html#drawCubicBezier">drawCubicBezier</keyword>
+ <keyword ref="qpainter.html#drawEllipse">drawEllipse</keyword>
+ <keyword ref="qpainter.html#drawImage">drawImage</keyword>
+ <keyword ref="qpainter.html#drawLine">drawLine</keyword>
+ <keyword ref="qpainter.html#drawLineSegments">drawLineSegments</keyword>
+ <keyword ref="qpainter.html#drawPicture">drawPicture</keyword>
+ <keyword ref="qpainter.html#drawPie">drawPie</keyword>
+ <keyword ref="qpainter.html#drawPixmap">drawPixmap</keyword>
+ <keyword ref="qpainter.html#drawPoint">drawPoint</keyword>
+ <keyword ref="qpainter.html#drawPoints">drawPoints</keyword>
+ <keyword ref="qpainter.html#drawPolygon">drawPolygon</keyword>
+ <keyword ref="qpainter.html#drawPolyline">drawPolyline</keyword>
+ <keyword ref="qpainter.html#drawRect">drawRect</keyword>
+ <keyword ref="qpainter.html#drawRoundRect">drawRoundRect</keyword>
+ <keyword ref="qpainter.html#drawText">drawText</keyword>
+ <keyword ref="qpainter.html#drawTiledPixmap">drawTiledPixmap</keyword>
+ <keyword ref="qpainter.html#drawWinFocusRect">drawWinFocusRect</keyword>
+ <keyword ref="qpainter.html#end">end</keyword>
+ <keyword ref="qpainter.html#eraseRect">eraseRect</keyword>
+ <keyword ref="qpainter.html#fillRect">fillRect</keyword>
+ <keyword ref="qpainter.html#flush">flush</keyword>
+ <keyword ref="qpainter.html#font">font</keyword>
+ <keyword ref="qpainter.html#fontInfo">fontInfo</keyword>
+ <keyword ref="qpainter.html#fontMetrics">fontMetrics</keyword>
+ <keyword ref="qpainter.html#handle">handle</keyword>
+ <keyword ref="qpainter.html#hasClipping">hasClipping</keyword>
+ <keyword ref="qpainter.html#hasViewXForm">hasViewXForm</keyword>
+ <keyword ref="qpainter.html#hasWorldXForm">hasWorldXForm</keyword>
+ <keyword ref="qpainter.html#isActive">isActive</keyword>
+ <keyword ref="qpainter.html#lineTo">lineTo</keyword>
+ <keyword ref="qpainter.html#moveTo">moveTo</keyword>
+ <keyword ref="qpainter.html#pen">pen</keyword>
+ <keyword ref="qpainter.html#rasterOp">rasterOp</keyword>
+ <keyword ref="qpainter.html#redirect">redirect</keyword>
+ <keyword ref="qpainter.html#resetXForm">resetXForm</keyword>
+ <keyword ref="qpainter.html#restore">restore</keyword>
+ <keyword ref="qpainter.html#rotate">rotate</keyword>
+ <keyword ref="qpainter.html#save">save</keyword>
+ <keyword ref="qpainter.html#scale">scale</keyword>
+ <keyword ref="qpainter.html#setBackgroundColor">setBackgroundColor</keyword>
+ <keyword ref="qpainter.html#setBackgroundMode">setBackgroundMode</keyword>
+ <keyword ref="qpainter.html#setBrush">setBrush</keyword>
+ <keyword ref="qpainter.html#setBrushOrigin">setBrushOrigin</keyword>
+ <keyword ref="qpainter.html#setClipRect">setClipRect</keyword>
+ <keyword ref="qpainter.html#setClipRegion">setClipRegion</keyword>
+ <keyword ref="qpainter.html#setClipping">setClipping</keyword>
+ <keyword ref="qpainter.html#setFont">setFont</keyword>
+ <keyword ref="qpainter.html#setPen">setPen</keyword>
+ <keyword ref="qpainter.html#setRasterOp">setRasterOp</keyword>
+ <keyword ref="qpainter.html#setTabArray">setTabArray</keyword>
+ <keyword ref="qpainter.html#setTabStops">setTabStops</keyword>
+ <keyword ref="qpainter.html#setViewXForm">setViewXForm</keyword>
+ <keyword ref="qpainter.html#setViewport">setViewport</keyword>
+ <keyword ref="qpainter.html#setWindow">setWindow</keyword>
+ <keyword ref="qpainter.html#setWorldMatrix">setWorldMatrix</keyword>
+ <keyword ref="qpainter.html#setWorldXForm">setWorldXForm</keyword>
+ <keyword ref="qpainter.html#shear">shear</keyword>
+ <keyword ref="qpainter.html#tabArray">tabArray</keyword>
+ <keyword ref="qpainter.html#tabStops">tabStops</keyword>
+ <keyword ref="qpainter.html#translate">translate</keyword>
+ <keyword ref="qpainter.html#viewport">viewport</keyword>
+ <keyword ref="qpainter.html#window">window</keyword>
+ <keyword ref="qpainter.html#worldMatrix">worldMatrix</keyword>
+ <keyword ref="qpainter.html#xForm">xForm</keyword>
+ <keyword ref="qpainter.html#xFormDev">xFormDev</keyword>
+ <keyword ref="qpainter.html#~QPainter">~QPainter</keyword>
+ <keyword ref="qpainter.html#qDrawPlainRect">qDrawPlainRect</keyword>
+ <keyword ref="qpainter.html#qDrawShadeLine">qDrawShadeLine</keyword>
+ <keyword ref="qpainter.html#qDrawShadePanel">qDrawShadePanel</keyword>
+ <keyword ref="qpainter.html#qDrawShadeRect">qDrawShadeRect</keyword>
+ <keyword ref="qpainter.html#qDrawWinButton">qDrawWinButton</keyword>
+ <keyword ref="qpainter.html#qDrawWinPanel">qDrawWinPanel</keyword>
+ <section ref="qpainter-members.html" title="List of All Member Functions"/>
+ <section ref="qpainter-h.html" title="Header File"/>
+</section>
+<section ref="qpaintevent.html" title="QPaintEvent Class Reference">
+ <keyword ref="qpaintevent.html">QPaintEvent</keyword>
+ <keyword ref="qpaintevent.html#erased">erased</keyword>
+ <keyword ref="qpaintevent.html#rect">rect</keyword>
+ <keyword ref="qpaintevent.html#region">region</keyword>
+ <section ref="qpaintevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qpair.html" title="QPair Class Reference">
+ <keyword ref="qpair.html">QPair</keyword>
+ <keyword ref="qpair.html#first_type">first_type</keyword>
+ <keyword ref="qpair.html#second_type">second_type</keyword>
+ <keyword ref="qpair.html#qMakePair">qMakePair</keyword>
+ <section ref="qpair-members.html" title="List of All Member Functions"/>
+ <section ref="qpair-h.html" title="Header File"/>
+</section>
+<section ref="qpalette.html" title="QPalette Class Reference">
+ <keyword ref="qpalette.html">QPalette</keyword>
+ <keyword ref="qpalette.html#ColorGroup">ColorGroup</keyword>
+ <keyword ref="qpalette.html#active">active</keyword>
+ <keyword ref="qpalette.html#brush">brush</keyword>
+ <keyword ref="qpalette.html#color">color</keyword>
+ <keyword ref="qpalette.html#copy">copy</keyword>
+ <keyword ref="qpalette.html#detach">detach</keyword>
+ <keyword ref="qpalette.html#disabled">disabled</keyword>
+ <keyword ref="qpalette.html#inactive">inactive</keyword>
+ <keyword ref="qpalette.html#isCopyOf">isCopyOf</keyword>
+ <keyword ref="qpalette.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qpalette.html#operator-eq">operator=</keyword>
+ <keyword ref="qpalette.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qpalette.html#serialNumber">serialNumber</keyword>
+ <keyword ref="qpalette.html#setActive">setActive</keyword>
+ <keyword ref="qpalette.html#setBrush">setBrush</keyword>
+ <keyword ref="qpalette.html#setColor">setColor</keyword>
+ <keyword ref="qpalette.html#setDisabled">setDisabled</keyword>
+ <keyword ref="qpalette.html#setInactive">setInactive</keyword>
+ <keyword ref="qpalette.html#~QPalette">~QPalette</keyword>
+ <keyword ref="qpalette.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpalette.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpalette-members.html" title="List of All Member Functions"/>
+ <section ref="qpalette-h.html" title="Header File"/>
+</section>
+<section ref="qpen.html" title="QPen Class Reference">
+ <keyword ref="qpen.html">QPen</keyword>
+ <keyword ref="qpen.html#capStyle">capStyle</keyword>
+ <keyword ref="qpen.html#color">color</keyword>
+ <keyword ref="qpen.html#copy">copy</keyword>
+ <keyword ref="qpen.html#detach">detach</keyword>
+ <keyword ref="qpen.html#joinStyle">joinStyle</keyword>
+ <keyword ref="qpen.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qpen.html#operator-eq">operator=</keyword>
+ <keyword ref="qpen.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qpen.html#setCapStyle">setCapStyle</keyword>
+ <keyword ref="qpen.html#setColor">setColor</keyword>
+ <keyword ref="qpen.html#setJoinStyle">setJoinStyle</keyword>
+ <keyword ref="qpen.html#setStyle">setStyle</keyword>
+ <keyword ref="qpen.html#setWidth">setWidth</keyword>
+ <keyword ref="qpen.html#style">style</keyword>
+ <keyword ref="qpen.html#width">width</keyword>
+ <keyword ref="qpen.html#~QPen">~QPen</keyword>
+ <keyword ref="qpen.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpen.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpen-members.html" title="List of All Member Functions"/>
+ <section ref="qpen-h.html" title="Header File"/>
+</section>
+<section ref="qpicture.html" title="QPicture Class Reference">
+ <keyword ref="qpicture.html">QPicture</keyword>
+ <keyword ref="qpicture.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qpicture.html#copy">copy</keyword>
+ <keyword ref="qpicture.html#data">data</keyword>
+ <keyword ref="qpicture.html#detach">detach</keyword>
+ <keyword ref="qpicture.html#isNull">isNull</keyword>
+ <keyword ref="qpicture.html#load">load</keyword>
+ <keyword ref="qpicture.html#metric">metric</keyword>
+ <keyword ref="qpicture.html#operator-eq">operator=</keyword>
+ <keyword ref="qpicture.html#play">play</keyword>
+ <keyword ref="qpicture.html#save">save</keyword>
+ <keyword ref="qpicture.html#setBoundingRect">setBoundingRect</keyword>
+ <keyword ref="qpicture.html#setData">setData</keyword>
+ <keyword ref="qpicture.html#size">size</keyword>
+ <keyword ref="qpicture.html#~QPicture">~QPicture</keyword>
+ <keyword ref="qpicture.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpicture.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpicture-members.html" title="List of All Member Functions"/>
+ <section ref="qpicture-h.html" title="Header File"/>
+</section>
+<section ref="qpixmap.html" title="QPixmap Class Reference">
+ <keyword ref="qpixmap.html">QPixmap</keyword>
+ <keyword ref="qpixmap.html#ColorMode">ColorMode</keyword>
+ <keyword ref="qpixmap.html#Optimization">Optimization</keyword>
+ <keyword ref="qpixmap.html#convertFromImage">convertFromImage</keyword>
+ <keyword ref="qpixmap.html#convertToImage">convertToImage</keyword>
+ <keyword ref="qpixmap.html#copy">copy</keyword>
+ <keyword ref="qpixmap.html#createHeuristicMask">createHeuristicMask</keyword>
+ <keyword ref="qpixmap.html#defaultDepth">defaultDepth</keyword>
+ <keyword ref="qpixmap.html#defaultOptimization">defaultOptimization</keyword>
+ <keyword ref="qpixmap.html#depth">depth</keyword>
+ <keyword ref="qpixmap.html#detach">detach</keyword>
+ <keyword ref="qpixmap.html#fill">fill</keyword>
+ <keyword ref="qpixmap.html#fromMimeSource">fromMimeSource</keyword>
+ <keyword ref="qpixmap.html#grabWidget">grabWidget</keyword>
+ <keyword ref="qpixmap.html#grabWindow">grabWindow</keyword>
+ <keyword ref="qpixmap.html#hasAlpha">hasAlpha</keyword>
+ <keyword ref="qpixmap.html#hasAlphaChannel">hasAlphaChannel</keyword>
+ <keyword ref="qpixmap.html#height">height</keyword>
+ <keyword ref="qpixmap.html#imageFormat">imageFormat</keyword>
+ <keyword ref="qpixmap.html#isNull">isNull</keyword>
+ <keyword ref="qpixmap.html#isQBitmap">isQBitmap</keyword>
+ <keyword ref="qpixmap.html#load">load</keyword>
+ <keyword ref="qpixmap.html#loadFromData">loadFromData</keyword>
+ <keyword ref="qpixmap.html#mask">mask</keyword>
+ <keyword ref="qpixmap.html#metric">metric</keyword>
+ <keyword ref="qpixmap.html#operator-eq">operator=</keyword>
+ <keyword ref="qpixmap.html#optimization">optimization</keyword>
+ <keyword ref="qpixmap.html#rect">rect</keyword>
+ <keyword ref="qpixmap.html#resize">resize</keyword>
+ <keyword ref="qpixmap.html#save">save</keyword>
+ <keyword ref="qpixmap.html#selfMask">selfMask</keyword>
+ <keyword ref="qpixmap.html#serialNumber">serialNumber</keyword>
+ <keyword ref="qpixmap.html#setDefaultOptimization">setDefaultOptimization</keyword>
+ <keyword ref="qpixmap.html#setMask">setMask</keyword>
+ <keyword ref="qpixmap.html#setOptimization">setOptimization</keyword>
+ <keyword ref="qpixmap.html#size">size</keyword>
+ <keyword ref="qpixmap.html#trueMatrix">trueMatrix</keyword>
+ <keyword ref="qpixmap.html#width">width</keyword>
+ <keyword ref="qpixmap.html#xForm">xForm</keyword>
+ <keyword ref="qpixmap.html#~QPixmap">~QPixmap</keyword>
+ <keyword ref="qpixmap.html#copyBlt">copyBlt</keyword>
+ <keyword ref="qpixmap.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpixmap.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpixmap-members.html" title="List of All Member Functions"/>
+ <section ref="qpixmap-h.html" title="Header File"/>
+</section>
+<section ref="qpixmapcache.html" title="QPixmapCache Class Reference">
+ <keyword ref="qpixmapcache.html">QPixmapCache</keyword>
+ <keyword ref="qpixmapcache.html#cacheLimit">cacheLimit</keyword>
+ <keyword ref="qpixmapcache.html#clear">clear</keyword>
+ <keyword ref="qpixmapcache.html#find">find</keyword>
+ <keyword ref="qpixmapcache.html#insert">insert</keyword>
+ <keyword ref="qpixmapcache.html#remove">remove</keyword>
+ <keyword ref="qpixmapcache.html#setCacheLimit">setCacheLimit</keyword>
+ <section ref="qpixmapcache-members.html" title="List of All Member Functions"/>
+ <section ref="qpixmapcache-h.html" title="Header File"/>
+</section>
+<section ref="qplatinumstyle.html" title="QPlatinumStyle Class Reference">
+ <keyword ref="qplatinumstyle.html">QPlatinumStyle</keyword>
+ <keyword ref="qplatinumstyle.html#drawRiffles">drawRiffles</keyword>
+ <keyword ref="qplatinumstyle.html#mixedColor">mixedColor</keyword>
+ <section ref="qplatinumstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qplatinumstyle-h.html" title="Header File"/>
+</section>
+<section ref="qpngimagepacker.html" title="QPNGImagePacker Class Reference">
+ <keyword ref="qpngimagepacker.html">QPNGImagePacker</keyword>
+ <keyword ref="qpngimagepacker.html#packImage">packImage</keyword>
+ <keyword ref="qpngimagepacker.html#setPixelAlignment">setPixelAlignment</keyword>
+ <section ref="qpngimagepacker-members.html" title="List of All Member Functions"/>
+ <section ref="qpngio-h.html" title="Header File"/>
+</section>
+<section ref="qpoint.html" title="QPoint Class Reference">
+ <keyword ref="qpoint.html">QPoint</keyword>
+ <keyword ref="qpoint.html#isNull">isNull</keyword>
+ <keyword ref="qpoint.html#manhattanLength">manhattanLength</keyword>
+ <keyword ref="qpoint.html#operator*-eq">operator*=</keyword>
+ <keyword ref="qpoint.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qpoint.html#operator--eq">operator-=</keyword>
+ <keyword ref="qpoint.html#operator/-eq">operator/=</keyword>
+ <keyword ref="qpoint.html#rx">rx</keyword>
+ <keyword ref="qpoint.html#ry">ry</keyword>
+ <keyword ref="qpoint.html#setX">setX</keyword>
+ <keyword ref="qpoint.html#setY">setY</keyword>
+ <keyword ref="qpoint.html#x">x</keyword>
+ <keyword ref="qpoint.html#y">y</keyword>
+ <keyword ref="qpoint.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qpoint.html#operator*">operator*</keyword>
+ <keyword ref="qpoint.html#operator+">operator+</keyword>
+ <keyword ref="qpoint.html#operator-">operator-</keyword>
+ <keyword ref="qpoint.html#operator/">operator/</keyword>
+ <keyword ref="qpoint.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpoint.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qpoint.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpoint-members.html" title="List of All Member Functions"/>
+ <section ref="qpoint-h.html" title="Header File"/>
+</section>
+<section ref="qpointarray.html" title="QPointArray Class Reference">
+ <keyword ref="qpointarray.html">QPointArray</keyword>
+ <keyword ref="qpointarray.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qpointarray.html#copy">copy</keyword>
+ <keyword ref="qpointarray.html#cubicBezier">cubicBezier</keyword>
+ <keyword ref="qpointarray.html#makeArc">makeArc</keyword>
+ <keyword ref="qpointarray.html#makeEllipse">makeEllipse</keyword>
+ <keyword ref="qpointarray.html#operator-eq">operator=</keyword>
+ <keyword ref="qpointarray.html#point">point</keyword>
+ <keyword ref="qpointarray.html#putPoints">putPoints</keyword>
+ <keyword ref="qpointarray.html#setPoint">setPoint</keyword>
+ <keyword ref="qpointarray.html#setPoints">setPoints</keyword>
+ <keyword ref="qpointarray.html#translate">translate</keyword>
+ <keyword ref="qpointarray.html#~QPointArray">~QPointArray</keyword>
+ <keyword ref="qpointarray.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qpointarray.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qpointarray-members.html" title="List of All Member Functions"/>
+ <section ref="qpointarray-h.html" title="Header File"/>
+</section>
+<section ref="qpopupmenu.html" title="QPopupMenu Class Reference">
+ <keyword ref="qpopupmenu.html">QPopupMenu</keyword>
+ <keyword ref="qpopupmenu.html#aboutToHide">aboutToHide</keyword>
+ <keyword ref="qpopupmenu.html#aboutToShow">aboutToShow</keyword>
+ <keyword ref="qpopupmenu.html#activated">activated</keyword>
+ <keyword ref="qpopupmenu.html#checkable-prop">checkable</keyword>
+ <keyword ref="qpopupmenu.html#columns">columns</keyword>
+ <keyword ref="qpopupmenu.html#drawContents">drawContents</keyword>
+ <keyword ref="qpopupmenu.html#drawItem">drawItem</keyword>
+ <keyword ref="qpopupmenu.html#exec">exec</keyword>
+ <keyword ref="qpopupmenu.html#highlighted">highlighted</keyword>
+ <keyword ref="qpopupmenu.html#idAt">idAt</keyword>
+ <keyword ref="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</keyword>
+ <keyword ref="qpopupmenu.html#isCheckable">isCheckable</keyword>
+ <keyword ref="qpopupmenu.html#itemHeight">itemHeight</keyword>
+ <keyword ref="qpopupmenu.html#popup">popup</keyword>
+ <keyword ref="qpopupmenu.html#setActiveItem">setActiveItem</keyword>
+ <keyword ref="qpopupmenu.html#setCheckable">setCheckable</keyword>
+ <keyword ref="qpopupmenu.html#updateItem">updateItem</keyword>
+ <keyword ref="qpopupmenu.html#~QPopupMenu">~QPopupMenu</keyword>
+ <section ref="qpopupmenu-members.html" title="List of All Member Functions"/>
+ <section ref="qpopupmenu-h.html" title="Header File"/>
+</section>
+<section ref="qprinter.html" title="QPrinter Class Reference">
+ <keyword ref="qprinter.html">QPrinter</keyword>
+ <keyword ref="qprinter.html#ColorMode">ColorMode</keyword>
+ <keyword ref="qprinter.html#Orientation">Orientation</keyword>
+ <keyword ref="qprinter.html#PageOrder">PageOrder</keyword>
+ <keyword ref="qprinter.html#PageSize">PageSize</keyword>
+ <keyword ref="qprinter.html#PaperSource">PaperSource</keyword>
+ <keyword ref="qprinter.html#PrintRange">PrintRange</keyword>
+ <keyword ref="qprinter.html#PrinterMode">PrinterMode</keyword>
+ <keyword ref="qprinter.html#PrinterOption">PrinterOption</keyword>
+ <keyword ref="qprinter.html#abort">abort</keyword>
+ <keyword ref="qprinter.html#aborted">aborted</keyword>
+ <keyword ref="qprinter.html#colorMode">colorMode</keyword>
+ <keyword ref="qprinter.html#creator">creator</keyword>
+ <keyword ref="qprinter.html#docName">docName</keyword>
+ <keyword ref="qprinter.html#fromPage">fromPage</keyword>
+ <keyword ref="qprinter.html#fullPage">fullPage</keyword>
+ <keyword ref="qprinter.html#isOptionEnabled">isOptionEnabled</keyword>
+ <keyword ref="qprinter.html#margins">margins</keyword>
+ <keyword ref="qprinter.html#maxPage">maxPage</keyword>
+ <keyword ref="qprinter.html#minPage">minPage</keyword>
+ <keyword ref="qprinter.html#newPage">newPage</keyword>
+ <keyword ref="qprinter.html#numCopies">numCopies</keyword>
+ <keyword ref="qprinter.html#orientation">orientation</keyword>
+ <keyword ref="qprinter.html#outputFileName">outputFileName</keyword>
+ <keyword ref="qprinter.html#outputToFile">outputToFile</keyword>
+ <keyword ref="qprinter.html#pageOrder">pageOrder</keyword>
+ <keyword ref="qprinter.html#pageSize">pageSize</keyword>
+ <keyword ref="qprinter.html#paperSource">paperSource</keyword>
+ <keyword ref="qprinter.html#printProgram">printProgram</keyword>
+ <keyword ref="qprinter.html#printRange">printRange</keyword>
+ <keyword ref="qprinter.html#printerName">printerName</keyword>
+ <keyword ref="qprinter.html#printerSelectionOption">printerSelectionOption</keyword>
+ <keyword ref="qprinter.html#resolution">resolution</keyword>
+ <keyword ref="qprinter.html#setColorMode">setColorMode</keyword>
+ <keyword ref="qprinter.html#setCreator">setCreator</keyword>
+ <keyword ref="qprinter.html#setDocName">setDocName</keyword>
+ <keyword ref="qprinter.html#setFromTo">setFromTo</keyword>
+ <keyword ref="qprinter.html#setFullPage">setFullPage</keyword>
+ <keyword ref="qprinter.html#setMargins">setMargins</keyword>
+ <keyword ref="qprinter.html#setMinMax">setMinMax</keyword>
+ <keyword ref="qprinter.html#setNumCopies">setNumCopies</keyword>
+ <keyword ref="qprinter.html#setOptionEnabled">setOptionEnabled</keyword>
+ <keyword ref="qprinter.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qprinter.html#setOutputFileName">setOutputFileName</keyword>
+ <keyword ref="qprinter.html#setOutputToFile">setOutputToFile</keyword>
+ <keyword ref="qprinter.html#setPageOrder">setPageOrder</keyword>
+ <keyword ref="qprinter.html#setPageSize">setPageSize</keyword>
+ <keyword ref="qprinter.html#setPaperSource">setPaperSource</keyword>
+ <keyword ref="qprinter.html#setPrintProgram">setPrintProgram</keyword>
+ <keyword ref="qprinter.html#setPrintRange">setPrintRange</keyword>
+ <keyword ref="qprinter.html#setPrinterName">setPrinterName</keyword>
+ <keyword ref="qprinter.html#setPrinterSelectionOption">setPrinterSelectionOption</keyword>
+ <keyword ref="qprinter.html#setResolution">setResolution</keyword>
+ <keyword ref="qprinter.html#setWinPageSize">setWinPageSize</keyword>
+ <keyword ref="qprinter.html#setup">setup</keyword>
+ <keyword ref="qprinter.html#toPage">toPage</keyword>
+ <keyword ref="qprinter.html#winPageSize">winPageSize</keyword>
+ <keyword ref="qprinter.html#~QPrinter">~QPrinter</keyword>
+ <section ref="qprinter-members.html" title="List of All Member Functions"/>
+ <section ref="qprinter-h.html" title="Header File"/>
+</section>
+<section ref="qprocess.html" title="QProcess Class Reference">
+ <keyword ref="qprocess.html">QProcess</keyword>
+ <keyword ref="qprocess.html#Communication">Communication</keyword>
+ <keyword ref="qprocess.html#addArgument">addArgument</keyword>
+ <keyword ref="qprocess.html#arguments">arguments</keyword>
+ <keyword ref="qprocess.html#canReadLineStderr">canReadLineStderr</keyword>
+ <keyword ref="qprocess.html#canReadLineStdout">canReadLineStdout</keyword>
+ <keyword ref="qprocess.html#clearArguments">clearArguments</keyword>
+ <keyword ref="qprocess.html#closeStdin">closeStdin</keyword>
+ <keyword ref="qprocess.html#communication">communication</keyword>
+ <keyword ref="qprocess.html#exitStatus">exitStatus</keyword>
+ <keyword ref="qprocess.html#isRunning">isRunning</keyword>
+ <keyword ref="qprocess.html#kill">kill</keyword>
+ <keyword ref="qprocess.html#launch">launch</keyword>
+ <keyword ref="qprocess.html#launchFinished">launchFinished</keyword>
+ <keyword ref="qprocess.html#normalExit">normalExit</keyword>
+ <keyword ref="qprocess.html#processExited">processExited</keyword>
+ <keyword ref="qprocess.html#processIdentifier">processIdentifier</keyword>
+ <keyword ref="qprocess.html#readLineStderr">readLineStderr</keyword>
+ <keyword ref="qprocess.html#readLineStdout">readLineStdout</keyword>
+ <keyword ref="qprocess.html#readStderr">readStderr</keyword>
+ <keyword ref="qprocess.html#readStdout">readStdout</keyword>
+ <keyword ref="qprocess.html#readyReadStderr">readyReadStderr</keyword>
+ <keyword ref="qprocess.html#readyReadStdout">readyReadStdout</keyword>
+ <keyword ref="qprocess.html#setArguments">setArguments</keyword>
+ <keyword ref="qprocess.html#setCommunication">setCommunication</keyword>
+ <keyword ref="qprocess.html#setWorkingDirectory">setWorkingDirectory</keyword>
+ <keyword ref="qprocess.html#start">start</keyword>
+ <keyword ref="qprocess.html#tryTerminate">tryTerminate</keyword>
+ <keyword ref="qprocess.html#workingDirectory">workingDirectory</keyword>
+ <keyword ref="qprocess.html#writeToStdin">writeToStdin</keyword>
+ <keyword ref="qprocess.html#wroteToStdin">wroteToStdin</keyword>
+ <keyword ref="qprocess.html#~QProcess">~QProcess</keyword>
+ <section ref="qprocess-members.html" title="List of All Member Functions"/>
+ <section ref="qprocess-h.html" title="Header File"/>
+</section>
+<section ref="qprogressbar.html" title="QProgressBar Class Reference">
+ <keyword ref="qprogressbar.html">QProgressBar</keyword>
+ <keyword ref="qprogressbar.html#centerIndicator">centerIndicator</keyword>
+ <keyword ref="qprogressbar.html#centerIndicator-prop">centerIndicator</keyword>
+ <keyword ref="qprogressbar.html#indicatorFollowsStyle">indicatorFollowsStyle</keyword>
+ <keyword ref="qprogressbar.html#indicatorFollowsStyle-prop">indicatorFollowsStyle</keyword>
+ <keyword ref="qprogressbar.html#percentageVisible">percentageVisible</keyword>
+ <keyword ref="qprogressbar.html#percentageVisible-prop">percentageVisible</keyword>
+ <keyword ref="qprogressbar.html#progress">progress</keyword>
+ <keyword ref="qprogressbar.html#progress-prop">progress</keyword>
+ <keyword ref="qprogressbar.html#progressString">progressString</keyword>
+ <keyword ref="qprogressbar.html#progressString-prop">progressString</keyword>
+ <keyword ref="qprogressbar.html#reset">reset</keyword>
+ <keyword ref="qprogressbar.html#setCenterIndicator">setCenterIndicator</keyword>
+ <keyword ref="qprogressbar.html#setIndicator">setIndicator</keyword>
+ <keyword ref="qprogressbar.html#setIndicatorFollowsStyle">setIndicatorFollowsStyle</keyword>
+ <keyword ref="qprogressbar.html#setPercentageVisible">setPercentageVisible</keyword>
+ <keyword ref="qprogressbar.html#setProgress">setProgress</keyword>
+ <keyword ref="qprogressbar.html#setTotalSteps">setTotalSteps</keyword>
+ <keyword ref="qprogressbar.html#totalSteps">totalSteps</keyword>
+ <keyword ref="qprogressbar.html#totalSteps-prop">totalSteps</keyword>
+ <section ref="qprogressbar-members.html" title="List of All Member Functions"/>
+ <section ref="qprogressbar-h.html" title="Header File"/>
+</section>
+<section ref="qprogressdialog.html" title="QProgressDialog Class Reference">
+ <keyword ref="qprogressdialog.html">QProgressDialog</keyword>
+ <keyword ref="qprogressdialog.html#autoClose">autoClose</keyword>
+ <keyword ref="qprogressdialog.html#autoClose-prop">autoClose</keyword>
+ <keyword ref="qprogressdialog.html#autoReset">autoReset</keyword>
+ <keyword ref="qprogressdialog.html#autoReset-prop">autoReset</keyword>
+ <keyword ref="qprogressdialog.html#bar">bar</keyword>
+ <keyword ref="qprogressdialog.html#cancel">cancel</keyword>
+ <keyword ref="qprogressdialog.html#canceled">canceled</keyword>
+ <keyword ref="qprogressdialog.html#forceShow">forceShow</keyword>
+ <keyword ref="qprogressdialog.html#label">label</keyword>
+ <keyword ref="qprogressdialog.html#labelText">labelText</keyword>
+ <keyword ref="qprogressdialog.html#labelText-prop">labelText</keyword>
+ <keyword ref="qprogressdialog.html#minimumDuration">minimumDuration</keyword>
+ <keyword ref="qprogressdialog.html#minimumDuration-prop">minimumDuration</keyword>
+ <keyword ref="qprogressdialog.html#progress">progress</keyword>
+ <keyword ref="qprogressdialog.html#progress-prop">progress</keyword>
+ <keyword ref="qprogressdialog.html#reset">reset</keyword>
+ <keyword ref="qprogressdialog.html#setAutoClose">setAutoClose</keyword>
+ <keyword ref="qprogressdialog.html#setAutoReset">setAutoReset</keyword>
+ <keyword ref="qprogressdialog.html#setBar">setBar</keyword>
+ <keyword ref="qprogressdialog.html#setCancelButton">setCancelButton</keyword>
+ <keyword ref="qprogressdialog.html#setCancelButtonText">setCancelButtonText</keyword>
+ <keyword ref="qprogressdialog.html#setLabel">setLabel</keyword>
+ <keyword ref="qprogressdialog.html#setLabelText">setLabelText</keyword>
+ <keyword ref="qprogressdialog.html#setMinimumDuration">setMinimumDuration</keyword>
+ <keyword ref="qprogressdialog.html#setProgress">setProgress</keyword>
+ <keyword ref="qprogressdialog.html#setTotalSteps">setTotalSteps</keyword>
+ <keyword ref="qprogressdialog.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qprogressdialog.html#totalSteps">totalSteps</keyword>
+ <keyword ref="qprogressdialog.html#totalSteps-prop">totalSteps</keyword>
+ <keyword ref="qprogressdialog.html#wasCanceled">wasCanceled</keyword>
+ <keyword ref="qprogressdialog.html#wasCanceled-prop">wasCanceled</keyword>
+ <keyword ref="qprogressdialog.html#~QProgressDialog">~QProgressDialog</keyword>
+ <section ref="qprogressdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qprogressdialog-h.html" title="Header File"/>
+</section>
+<section ref="qptrcollection.html" title="QPtrCollection Class Reference">
+ <keyword ref="qptrcollection.html">QPtrCollection</keyword>
+ <keyword ref="qptrcollection.html#Item">Item</keyword>
+ <keyword ref="qptrcollection.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qptrcollection.html#clear">clear</keyword>
+ <keyword ref="qptrcollection.html#count">count</keyword>
+ <keyword ref="qptrcollection.html#deleteItem">deleteItem</keyword>
+ <keyword ref="qptrcollection.html#newItem">newItem</keyword>
+ <keyword ref="qptrcollection.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qptrcollection.html#~QPtrCollection">~QPtrCollection</keyword>
+ <section ref="qptrcollection-members.html" title="List of All Member Functions"/>
+ <section ref="qptrcollection-h.html" title="Header File"/>
+</section>
+<section ref="qptrdict.html" title="QPtrDict Class Reference">
+ <keyword ref="qptrdict.html">QPtrDict</keyword>
+ <keyword ref="qptrdict.html#clear">clear</keyword>
+ <keyword ref="qptrdict.html#count">count</keyword>
+ <keyword ref="qptrdict.html#find">find</keyword>
+ <keyword ref="qptrdict.html#insert">insert</keyword>
+ <keyword ref="qptrdict.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrdict.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrdict.html#operator[]">operator[]</keyword>
+ <keyword ref="qptrdict.html#read">read</keyword>
+ <keyword ref="qptrdict.html#remove">remove</keyword>
+ <keyword ref="qptrdict.html#replace">replace</keyword>
+ <keyword ref="qptrdict.html#resize">resize</keyword>
+ <keyword ref="qptrdict.html#size">size</keyword>
+ <keyword ref="qptrdict.html#statistics">statistics</keyword>
+ <keyword ref="qptrdict.html#take">take</keyword>
+ <keyword ref="qptrdict.html#write">write</keyword>
+ <keyword ref="qptrdict.html#~QPtrDict">~QPtrDict</keyword>
+ <section ref="qptrdict-members.html" title="List of All Member Functions"/>
+ <section ref="qptrdict-h.html" title="Header File"/>
+</section>
+<section ref="qptrdictiterator.html" title="QPtrDictIterator Class Reference">
+ <keyword ref="qptrdictiterator.html">QPtrDictIterator</keyword>
+ <keyword ref="qptrdictiterator.html#count">count</keyword>
+ <keyword ref="qptrdictiterator.html#current">current</keyword>
+ <keyword ref="qptrdictiterator.html#currentKey">currentKey</keyword>
+ <keyword ref="qptrdictiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrdictiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qptrdictiterator.html#operator()">operator()</keyword>
+ <keyword ref="qptrdictiterator.html#operator++">operator++</keyword>
+ <keyword ref="qptrdictiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qptrdictiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qptrdictiterator.html#~QPtrDictIterator">~QPtrDictIterator</keyword>
+ <section ref="qptrdictiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qptrdict-h.html" title="Header File"/>
+</section>
+<section ref="qptrlist.html" title="QPtrList Class Reference">
+ <keyword ref="qptrlist.html">QPtrList</keyword>
+ <keyword ref="qptrlist.html#append">append</keyword>
+ <keyword ref="qptrlist.html#at">at</keyword>
+ <keyword ref="qptrlist.html#clear">clear</keyword>
+ <keyword ref="qptrlist.html#compareItems">compareItems</keyword>
+ <keyword ref="qptrlist.html#contains">contains</keyword>
+ <keyword ref="qptrlist.html#containsRef">containsRef</keyword>
+ <keyword ref="qptrlist.html#count">count</keyword>
+ <keyword ref="qptrlist.html#current">current</keyword>
+ <keyword ref="qptrlist.html#currentNode">currentNode</keyword>
+ <keyword ref="qptrlist.html#find">find</keyword>
+ <keyword ref="qptrlist.html#findNext">findNext</keyword>
+ <keyword ref="qptrlist.html#findNextRef">findNextRef</keyword>
+ <keyword ref="qptrlist.html#findRef">findRef</keyword>
+ <keyword ref="qptrlist.html#first">first</keyword>
+ <keyword ref="qptrlist.html#getFirst">getFirst</keyword>
+ <keyword ref="qptrlist.html#getLast">getLast</keyword>
+ <keyword ref="qptrlist.html#inSort">inSort</keyword>
+ <keyword ref="qptrlist.html#insert">insert</keyword>
+ <keyword ref="qptrlist.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrlist.html#last">last</keyword>
+ <keyword ref="qptrlist.html#next">next</keyword>
+ <keyword ref="qptrlist.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qptrlist.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrlist.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qptrlist.html#prepend">prepend</keyword>
+ <keyword ref="qptrlist.html#prev">prev</keyword>
+ <keyword ref="qptrlist.html#read">read</keyword>
+ <keyword ref="qptrlist.html#remove">remove</keyword>
+ <keyword ref="qptrlist.html#removeFirst">removeFirst</keyword>
+ <keyword ref="qptrlist.html#removeLast">removeLast</keyword>
+ <keyword ref="qptrlist.html#removeNode">removeNode</keyword>
+ <keyword ref="qptrlist.html#removeRef">removeRef</keyword>
+ <keyword ref="qptrlist.html#replace">replace</keyword>
+ <keyword ref="qptrlist.html#sort">sort</keyword>
+ <keyword ref="qptrlist.html#take">take</keyword>
+ <keyword ref="qptrlist.html#takeNode">takeNode</keyword>
+ <keyword ref="qptrlist.html#toVector">toVector</keyword>
+ <keyword ref="qptrlist.html#write">write</keyword>
+ <keyword ref="qptrlist.html#~QPtrList">~QPtrList</keyword>
+ <section ref="qptrlist-members.html" title="List of All Member Functions"/>
+ <section ref="qptrlist-h.html" title="Header File"/>
+</section>
+<section ref="qptrlistiterator.html" title="QPtrListIterator Class Reference">
+ <keyword ref="qptrlistiterator.html">QPtrListIterator</keyword>
+ <keyword ref="qptrlistiterator.html#atFirst">atFirst</keyword>
+ <keyword ref="qptrlistiterator.html#atLast">atLast</keyword>
+ <keyword ref="qptrlistiterator.html#count">count</keyword>
+ <keyword ref="qptrlistiterator.html#current">current</keyword>
+ <keyword ref="qptrlistiterator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrlistiterator.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qptrlistiterator.html#operator()">operator()</keyword>
+ <keyword ref="qptrlistiterator.html#operator*">operator*</keyword>
+ <keyword ref="qptrlistiterator.html#operator++">operator++</keyword>
+ <keyword ref="qptrlistiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qptrlistiterator.html#operator--">operator--</keyword>
+ <keyword ref="qptrlistiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qptrlistiterator.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrlistiterator.html#toFirst">toFirst</keyword>
+ <keyword ref="qptrlistiterator.html#toLast">toLast</keyword>
+ <keyword ref="qptrlistiterator.html#~QPtrListIterator">~QPtrListIterator</keyword>
+ <section ref="qptrlistiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qptrlist-h.html" title="Header File"/>
+</section>
+<section ref="qptrqueue.html" title="QPtrQueue Class Reference">
+ <keyword ref="qptrqueue.html">QPtrQueue</keyword>
+ <keyword ref="qptrqueue.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qptrqueue.html#clear">clear</keyword>
+ <keyword ref="qptrqueue.html#count">count</keyword>
+ <keyword ref="qptrqueue.html#current">current</keyword>
+ <keyword ref="qptrqueue.html#dequeue">dequeue</keyword>
+ <keyword ref="qptrqueue.html#enqueue">enqueue</keyword>
+ <keyword ref="qptrqueue.html#head">head</keyword>
+ <keyword ref="qptrqueue.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrqueue.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qptrqueue.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrqueue.html#read">read</keyword>
+ <keyword ref="qptrqueue.html#remove">remove</keyword>
+ <keyword ref="qptrqueue.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qptrqueue.html#write">write</keyword>
+ <keyword ref="qptrqueue.html#~QPtrQueue">~QPtrQueue</keyword>
+ <section ref="qptrqueue-members.html" title="List of All Member Functions"/>
+ <section ref="qptrqueue-h.html" title="Header File"/>
+</section>
+<section ref="qptrstack.html" title="QPtrStack Class Reference">
+ <keyword ref="qptrstack.html">QPtrStack</keyword>
+ <keyword ref="qptrstack.html#autoDelete">autoDelete</keyword>
+ <keyword ref="qptrstack.html#clear">clear</keyword>
+ <keyword ref="qptrstack.html#count">count</keyword>
+ <keyword ref="qptrstack.html#current">current</keyword>
+ <keyword ref="qptrstack.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrstack.html#operator-type-*">operator type *</keyword>
+ <keyword ref="qptrstack.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrstack.html#pop">pop</keyword>
+ <keyword ref="qptrstack.html#push">push</keyword>
+ <keyword ref="qptrstack.html#read">read</keyword>
+ <keyword ref="qptrstack.html#remove">remove</keyword>
+ <keyword ref="qptrstack.html#setAutoDelete">setAutoDelete</keyword>
+ <keyword ref="qptrstack.html#top">top</keyword>
+ <keyword ref="qptrstack.html#write">write</keyword>
+ <keyword ref="qptrstack.html#~QPtrStack">~QPtrStack</keyword>
+ <section ref="qptrstack-members.html" title="List of All Member Functions"/>
+ <section ref="qptrstack-h.html" title="Header File"/>
+</section>
+<section ref="qptrvector.html" title="QPtrVector Class Reference">
+ <keyword ref="qptrvector.html">QPtrVector</keyword>
+ <keyword ref="qptrvector.html#at">at</keyword>
+ <keyword ref="qptrvector.html#bsearch">bsearch</keyword>
+ <keyword ref="qptrvector.html#clear">clear</keyword>
+ <keyword ref="qptrvector.html#compareItems">compareItems</keyword>
+ <keyword ref="qptrvector.html#contains">contains</keyword>
+ <keyword ref="qptrvector.html#containsRef">containsRef</keyword>
+ <keyword ref="qptrvector.html#count">count</keyword>
+ <keyword ref="qptrvector.html#data">data</keyword>
+ <keyword ref="qptrvector.html#fill">fill</keyword>
+ <keyword ref="qptrvector.html#find">find</keyword>
+ <keyword ref="qptrvector.html#findRef">findRef</keyword>
+ <keyword ref="qptrvector.html#insert">insert</keyword>
+ <keyword ref="qptrvector.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qptrvector.html#isNull">isNull</keyword>
+ <keyword ref="qptrvector.html#operator-eq">operator=</keyword>
+ <keyword ref="qptrvector.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qptrvector.html#operator[]">operator[]</keyword>
+ <keyword ref="qptrvector.html#read">read</keyword>
+ <keyword ref="qptrvector.html#remove">remove</keyword>
+ <keyword ref="qptrvector.html#resize">resize</keyword>
+ <keyword ref="qptrvector.html#size">size</keyword>
+ <keyword ref="qptrvector.html#sort">sort</keyword>
+ <keyword ref="qptrvector.html#take">take</keyword>
+ <keyword ref="qptrvector.html#write">write</keyword>
+ <keyword ref="qptrvector.html#~QPtrVector">~QPtrVector</keyword>
+ <section ref="qptrvector-members.html" title="List of All Member Functions"/>
+ <section ref="qptrvector-h.html" title="Header File"/>
+</section>
+<section ref="qpushbutton.html" title="QPushButton Class Reference">
+ <keyword ref="qpushbutton.html">QPushButton</keyword>
+ <keyword ref="qpushbutton.html#autoDefault">autoDefault</keyword>
+ <keyword ref="qpushbutton.html#autoDefault-prop">autoDefault</keyword>
+ <keyword ref="qpushbutton.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qpushbutton.html#default-prop">default</keyword>
+ <keyword ref="qpushbutton.html#flat-prop">flat</keyword>
+ <keyword ref="qpushbutton.html#iconSet">iconSet</keyword>
+ <keyword ref="qpushbutton.html#iconSet-prop">iconSet</keyword>
+ <keyword ref="qpushbutton.html#isDefault">isDefault</keyword>
+ <keyword ref="qpushbutton.html#isFlat">isFlat</keyword>
+ <keyword ref="qpushbutton.html#on-prop">on</keyword>
+ <keyword ref="qpushbutton.html#popup">popup</keyword>
+ <keyword ref="qpushbutton.html#setAutoDefault">setAutoDefault</keyword>
+ <keyword ref="qpushbutton.html#setDefault">setDefault</keyword>
+ <keyword ref="qpushbutton.html#setFlat">setFlat</keyword>
+ <keyword ref="qpushbutton.html#setIconSet">setIconSet</keyword>
+ <keyword ref="qpushbutton.html#setOn">setOn</keyword>
+ <keyword ref="qpushbutton.html#setPopup">setPopup</keyword>
+ <keyword ref="qpushbutton.html#setToggleButton">setToggleButton</keyword>
+ <keyword ref="qpushbutton.html#toggleButton-prop">toggleButton</keyword>
+ <keyword ref="qpushbutton.html#~QPushButton">~QPushButton</keyword>
+ <section ref="qpushbutton-members.html" title="List of All Member Functions"/>
+ <section ref="qpushbutton-h.html" title="Header File"/>
+</section>
+<section ref="qradiobutton.html" title="QRadioButton Class Reference">
+ <keyword ref="qradiobutton.html">QRadioButton</keyword>
+ <keyword ref="qradiobutton.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qradiobutton.html#checked-prop">checked</keyword>
+ <keyword ref="qradiobutton.html#isChecked">isChecked</keyword>
+ <keyword ref="qradiobutton.html#setChecked">setChecked</keyword>
+ <section ref="qradiobutton-members.html" title="List of All Member Functions"/>
+ <section ref="qradiobutton-h.html" title="Header File"/>
+</section>
+<section ref="qrangecontrol.html" title="QRangeControl Class Reference">
+ <keyword ref="qrangecontrol.html">QRangeControl</keyword>
+ <keyword ref="qrangecontrol.html#addLine">addLine</keyword>
+ <keyword ref="qrangecontrol.html#addPage">addPage</keyword>
+ <keyword ref="qrangecontrol.html#bound">bound</keyword>
+ <keyword ref="qrangecontrol.html#directSetValue">directSetValue</keyword>
+ <keyword ref="qrangecontrol.html#lineStep">lineStep</keyword>
+ <keyword ref="qrangecontrol.html#maxValue">maxValue</keyword>
+ <keyword ref="qrangecontrol.html#minValue">minValue</keyword>
+ <keyword ref="qrangecontrol.html#pageStep">pageStep</keyword>
+ <keyword ref="qrangecontrol.html#positionFromValue">positionFromValue</keyword>
+ <keyword ref="qrangecontrol.html#prevValue">prevValue</keyword>
+ <keyword ref="qrangecontrol.html#rangeChange">rangeChange</keyword>
+ <keyword ref="qrangecontrol.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qrangecontrol.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qrangecontrol.html#setRange">setRange</keyword>
+ <keyword ref="qrangecontrol.html#setSteps">setSteps</keyword>
+ <keyword ref="qrangecontrol.html#setValue">setValue</keyword>
+ <keyword ref="qrangecontrol.html#stepChange">stepChange</keyword>
+ <keyword ref="qrangecontrol.html#subtractLine">subtractLine</keyword>
+ <keyword ref="qrangecontrol.html#subtractPage">subtractPage</keyword>
+ <keyword ref="qrangecontrol.html#value">value</keyword>
+ <keyword ref="qrangecontrol.html#valueChange">valueChange</keyword>
+ <keyword ref="qrangecontrol.html#valueFromPosition">valueFromPosition</keyword>
+ <keyword ref="qrangecontrol.html#~QRangeControl">~QRangeControl</keyword>
+ <section ref="qrangecontrol-members.html" title="List of All Member Functions"/>
+ <section ref="qrangecontrol-h.html" title="Header File"/>
+</section>
+<section ref="qrect.html" title="QRect Class Reference">
+ <keyword ref="qrect.html">QRect</keyword>
+ <keyword ref="qrect.html#addCoords">addCoords</keyword>
+ <keyword ref="qrect.html#bottom">bottom</keyword>
+ <keyword ref="qrect.html#bottomLeft">bottomLeft</keyword>
+ <keyword ref="qrect.html#bottomRight">bottomRight</keyword>
+ <keyword ref="qrect.html#center">center</keyword>
+ <keyword ref="qrect.html#contains">contains</keyword>
+ <keyword ref="qrect.html#coords">coords</keyword>
+ <keyword ref="qrect.html#height">height</keyword>
+ <keyword ref="qrect.html#intersect">intersect</keyword>
+ <keyword ref="qrect.html#intersects">intersects</keyword>
+ <keyword ref="qrect.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qrect.html#isNull">isNull</keyword>
+ <keyword ref="qrect.html#isValid">isValid</keyword>
+ <keyword ref="qrect.html#left">left</keyword>
+ <keyword ref="qrect.html#moveBottom">moveBottom</keyword>
+ <keyword ref="qrect.html#moveBottomLeft">moveBottomLeft</keyword>
+ <keyword ref="qrect.html#moveBottomRight">moveBottomRight</keyword>
+ <keyword ref="qrect.html#moveBy">moveBy</keyword>
+ <keyword ref="qrect.html#moveCenter">moveCenter</keyword>
+ <keyword ref="qrect.html#moveLeft">moveLeft</keyword>
+ <keyword ref="qrect.html#moveRight">moveRight</keyword>
+ <keyword ref="qrect.html#moveTop">moveTop</keyword>
+ <keyword ref="qrect.html#moveTopLeft">moveTopLeft</keyword>
+ <keyword ref="qrect.html#moveTopRight">moveTopRight</keyword>
+ <keyword ref="qrect.html#normalize">normalize</keyword>
+ <keyword ref="qrect.html#operator-and">operator&amp;</keyword>
+ <keyword ref="qrect.html#operator-and-eq">operator&amp;=</keyword>
+ <keyword ref="qrect.html#operator|">operator|</keyword>
+ <keyword ref="qrect.html#operator|-eq">operator|=</keyword>
+ <keyword ref="qrect.html#rBottom">rBottom</keyword>
+ <keyword ref="qrect.html#rLeft">rLeft</keyword>
+ <keyword ref="qrect.html#rRight">rRight</keyword>
+ <keyword ref="qrect.html#rTop">rTop</keyword>
+ <keyword ref="qrect.html#rect">rect</keyword>
+ <keyword ref="qrect.html#right">right</keyword>
+ <keyword ref="qrect.html#setBottom">setBottom</keyword>
+ <keyword ref="qrect.html#setBottomLeft">setBottomLeft</keyword>
+ <keyword ref="qrect.html#setBottomRight">setBottomRight</keyword>
+ <keyword ref="qrect.html#setCoords">setCoords</keyword>
+ <keyword ref="qrect.html#setHeight">setHeight</keyword>
+ <keyword ref="qrect.html#setLeft">setLeft</keyword>
+ <keyword ref="qrect.html#setRect">setRect</keyword>
+ <keyword ref="qrect.html#setRight">setRight</keyword>
+ <keyword ref="qrect.html#setSize">setSize</keyword>
+ <keyword ref="qrect.html#setTop">setTop</keyword>
+ <keyword ref="qrect.html#setTopLeft">setTopLeft</keyword>
+ <keyword ref="qrect.html#setTopRight">setTopRight</keyword>
+ <keyword ref="qrect.html#setWidth">setWidth</keyword>
+ <keyword ref="qrect.html#setX">setX</keyword>
+ <keyword ref="qrect.html#setY">setY</keyword>
+ <keyword ref="qrect.html#size">size</keyword>
+ <keyword ref="qrect.html#top">top</keyword>
+ <keyword ref="qrect.html#topLeft">topLeft</keyword>
+ <keyword ref="qrect.html#topRight">topRight</keyword>
+ <keyword ref="qrect.html#unite">unite</keyword>
+ <keyword ref="qrect.html#width">width</keyword>
+ <keyword ref="qrect.html#x">x</keyword>
+ <keyword ref="qrect.html#y">y</keyword>
+ <keyword ref="qrect.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qrect.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qrect.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qrect.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qrect-members.html" title="List of All Member Functions"/>
+ <section ref="qrect-h.html" title="Header File"/>
+</section>
+<section ref="qregexp.html" title="QRegExp Class Reference">
+ <keyword ref="qregexp.html">QRegExp</keyword>
+ <keyword ref="qregexp.html#CaretMode">CaretMode</keyword>
+ <keyword ref="qregexp.html#cap">cap</keyword>
+ <keyword ref="qregexp.html#capturedTexts">capturedTexts</keyword>
+ <keyword ref="qregexp.html#caseSensitive">caseSensitive</keyword>
+ <keyword ref="qregexp.html#errorString">errorString</keyword>
+ <keyword ref="qregexp.html#escape">escape</keyword>
+ <keyword ref="qregexp.html#exactMatch">exactMatch</keyword>
+ <keyword ref="qregexp.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qregexp.html#isValid">isValid</keyword>
+ <keyword ref="qregexp.html#matchedLength">matchedLength</keyword>
+ <keyword ref="qregexp.html#minimal">minimal</keyword>
+ <keyword ref="qregexp.html#numCaptures">numCaptures</keyword>
+ <keyword ref="qregexp.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qregexp.html#operator-eq">operator=</keyword>
+ <keyword ref="qregexp.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qregexp.html#pattern">pattern</keyword>
+ <keyword ref="qregexp.html#pos">pos</keyword>
+ <keyword ref="qregexp.html#search">search</keyword>
+ <keyword ref="qregexp.html#searchRev">searchRev</keyword>
+ <keyword ref="qregexp.html#setCaseSensitive">setCaseSensitive</keyword>
+ <keyword ref="qregexp.html#setMinimal">setMinimal</keyword>
+ <keyword ref="qregexp.html#setPattern">setPattern</keyword>
+ <keyword ref="qregexp.html#setWildcard">setWildcard</keyword>
+ <keyword ref="qregexp.html#wildcard">wildcard</keyword>
+ <keyword ref="qregexp.html#~QRegExp">~QRegExp</keyword>
+ <section ref="qregexp-members.html" title="List of All Member Functions"/>
+ <section ref="qregexp-h.html" title="Header File"/>
+</section>
+<section ref="qregexpvalidator.html" title="QRegExpValidator Class Reference">
+ <keyword ref="qregexpvalidator.html">QRegExpValidator</keyword>
+ <keyword ref="qregexpvalidator.html#regExp">regExp</keyword>
+ <keyword ref="qregexpvalidator.html#setRegExp">setRegExp</keyword>
+ <keyword ref="qregexpvalidator.html#validate">validate</keyword>
+ <keyword ref="qregexpvalidator.html#~QRegExpValidator">~QRegExpValidator</keyword>
+ <section ref="qregexpvalidator-members.html" title="List of All Member Functions"/>
+ <section ref="qvalidator-h.html" title="Header File"/>
+</section>
+<section ref="qregion.html" title="QRegion Class Reference">
+ <keyword ref="qregion.html">QRegion</keyword>
+ <keyword ref="qregion.html#RegionType">RegionType</keyword>
+ <keyword ref="qregion.html#boundingRect">boundingRect</keyword>
+ <keyword ref="qregion.html#contains">contains</keyword>
+ <keyword ref="qregion.html#copy">copy</keyword>
+ <keyword ref="qregion.html#detach">detach</keyword>
+ <keyword ref="qregion.html#eor">eor</keyword>
+ <keyword ref="qregion.html#handle">handle</keyword>
+ <keyword ref="qregion.html#intersect">intersect</keyword>
+ <keyword ref="qregion.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qregion.html#isNull">isNull</keyword>
+ <keyword ref="qregion.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qregion.html#operator-and">operator&amp;</keyword>
+ <keyword ref="qregion.html#operator-and-eq">operator&amp;=</keyword>
+ <keyword ref="qregion.html#operator+">operator+</keyword>
+ <keyword ref="qregion.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qregion.html#operator-">operator-</keyword>
+ <keyword ref="qregion.html#operator--eq">operator-=</keyword>
+ <keyword ref="qregion.html#operator-eq">operator=</keyword>
+ <keyword ref="qregion.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qregion.html#operator^">operator^</keyword>
+ <keyword ref="qregion.html#operator^-eq">operator^=</keyword>
+ <keyword ref="qregion.html#operator|">operator|</keyword>
+ <keyword ref="qregion.html#operator|-eq">operator|=</keyword>
+ <keyword ref="qregion.html#rects">rects</keyword>
+ <keyword ref="qregion.html#subtract">subtract</keyword>
+ <keyword ref="qregion.html#translate">translate</keyword>
+ <keyword ref="qregion.html#unite">unite</keyword>
+ <keyword ref="qregion.html#~QRegion">~QRegion</keyword>
+ <keyword ref="qregion.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qregion.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qregion-members.html" title="List of All Member Functions"/>
+ <section ref="qregion-h.html" title="Header File"/>
+</section>
+<section ref="qresizeevent.html" title="QResizeEvent Class Reference">
+ <keyword ref="qresizeevent.html">QResizeEvent</keyword>
+ <keyword ref="qresizeevent.html#oldSize">oldSize</keyword>
+ <keyword ref="qresizeevent.html#size">size</keyword>
+ <section ref="qresizeevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qscreen.html" title="QScreen Class Reference">
+ <keyword ref="qscreen.html">QScreen</keyword>
+ <keyword ref="qscreen.html#alloc">alloc</keyword>
+ <keyword ref="qscreen.html#base">base</keyword>
+ <keyword ref="qscreen.html#blank">blank</keyword>
+ <keyword ref="qscreen.html#cache">cache</keyword>
+ <keyword ref="qscreen.html#clut">clut</keyword>
+ <keyword ref="qscreen.html#connect">connect</keyword>
+ <keyword ref="qscreen.html#createGfx">createGfx</keyword>
+ <keyword ref="qscreen.html#depth">depth</keyword>
+ <keyword ref="qscreen.html#deviceHeight">deviceHeight</keyword>
+ <keyword ref="qscreen.html#deviceWidth">deviceWidth</keyword>
+ <keyword ref="qscreen.html#disconnect">disconnect</keyword>
+ <keyword ref="qscreen.html#height">height</keyword>
+ <keyword ref="qscreen.html#initCursor">initCursor</keyword>
+ <keyword ref="qscreen.html#initDevice">initDevice</keyword>
+ <keyword ref="qscreen.html#isInterlaced">isInterlaced</keyword>
+ <keyword ref="qscreen.html#isTransformed">isTransformed</keyword>
+ <keyword ref="qscreen.html#lastOp">lastOp</keyword>
+ <keyword ref="qscreen.html#linestep">linestep</keyword>
+ <keyword ref="qscreen.html#mapFromDevice">mapFromDevice</keyword>
+ <keyword ref="qscreen.html#mapToDevice">mapToDevice</keyword>
+ <keyword ref="qscreen.html#numCols">numCols</keyword>
+ <keyword ref="qscreen.html#onCard">onCard</keyword>
+ <keyword ref="qscreen.html#opType">opType</keyword>
+ <keyword ref="qscreen.html#pixelType">pixelType</keyword>
+ <keyword ref="qscreen.html#pixmapDepth">pixmapDepth</keyword>
+ <keyword ref="qscreen.html#pixmapLinestepAlignment">pixmapLinestepAlignment</keyword>
+ <keyword ref="qscreen.html#pixmapOffsetAlignment">pixmapOffsetAlignment</keyword>
+ <keyword ref="qscreen.html#restore">restore</keyword>
+ <keyword ref="qscreen.html#save">save</keyword>
+ <keyword ref="qscreen.html#screenGfx">screenGfx</keyword>
+ <keyword ref="qscreen.html#screenSize">screenSize</keyword>
+ <keyword ref="qscreen.html#set">set</keyword>
+ <keyword ref="qscreen.html#setDirty">setDirty</keyword>
+ <keyword ref="qscreen.html#setMode">setMode</keyword>
+ <keyword ref="qscreen.html#shutdownDevice">shutdownDevice</keyword>
+ <keyword ref="qscreen.html#supportsDepth">supportsDepth</keyword>
+ <keyword ref="qscreen.html#totalSize">totalSize</keyword>
+ <keyword ref="qscreen.html#transformOrientation">transformOrientation</keyword>
+ <keyword ref="qscreen.html#uncache">uncache</keyword>
+ <keyword ref="qscreen.html#width">width</keyword>
+ <keyword ref="qscreen.html#~QScreen">~QScreen</keyword>
+ <section ref="qscreen-members.html" title="List of All Member Functions"/>
+ <section ref="qgfx_qws-h.html" title="Header File"/>
+</section>
+<section ref="qscrollbar.html" title="QScrollBar Class Reference">
+ <keyword ref="qscrollbar.html">QScrollBar</keyword>
+ <keyword ref="qscrollbar.html#doAutoRepeat">doAutoRepeat</keyword>
+ <keyword ref="qscrollbar.html#draggingSlider">draggingSlider</keyword>
+ <keyword ref="qscrollbar.html#draggingSlider-prop">draggingSlider</keyword>
+ <keyword ref="qscrollbar.html#hideEvent">hideEvent</keyword>
+ <keyword ref="qscrollbar.html#lineStep">lineStep</keyword>
+ <keyword ref="qscrollbar.html#lineStep-prop">lineStep</keyword>
+ <keyword ref="qscrollbar.html#maxValue">maxValue</keyword>
+ <keyword ref="qscrollbar.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qscrollbar.html#minValue">minValue</keyword>
+ <keyword ref="qscrollbar.html#minValue-prop">minValue</keyword>
+ <keyword ref="qscrollbar.html#nextLine">nextLine</keyword>
+ <keyword ref="qscrollbar.html#nextPage">nextPage</keyword>
+ <keyword ref="qscrollbar.html#orientation">orientation</keyword>
+ <keyword ref="qscrollbar.html#orientation-prop">orientation</keyword>
+ <keyword ref="qscrollbar.html#pageStep">pageStep</keyword>
+ <keyword ref="qscrollbar.html#pageStep-prop">pageStep</keyword>
+ <keyword ref="qscrollbar.html#prevLine">prevLine</keyword>
+ <keyword ref="qscrollbar.html#prevPage">prevPage</keyword>
+ <keyword ref="qscrollbar.html#setLineStep">setLineStep</keyword>
+ <keyword ref="qscrollbar.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qscrollbar.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qscrollbar.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qscrollbar.html#setPageStep">setPageStep</keyword>
+ <keyword ref="qscrollbar.html#setPalette">setPalette</keyword>
+ <keyword ref="qscrollbar.html#setTracking">setTracking</keyword>
+ <keyword ref="qscrollbar.html#setValue">setValue</keyword>
+ <keyword ref="qscrollbar.html#sliderMoved">sliderMoved</keyword>
+ <keyword ref="qscrollbar.html#sliderPressed">sliderPressed</keyword>
+ <keyword ref="qscrollbar.html#sliderRect">sliderRect</keyword>
+ <keyword ref="qscrollbar.html#sliderReleased">sliderReleased</keyword>
+ <keyword ref="qscrollbar.html#sliderStart">sliderStart</keyword>
+ <keyword ref="qscrollbar.html#startAutoRepeat">startAutoRepeat</keyword>
+ <keyword ref="qscrollbar.html#stopAutoRepeat">stopAutoRepeat</keyword>
+ <keyword ref="qscrollbar.html#tracking">tracking</keyword>
+ <keyword ref="qscrollbar.html#tracking-prop">tracking</keyword>
+ <keyword ref="qscrollbar.html#value">value</keyword>
+ <keyword ref="qscrollbar.html#value-prop">value</keyword>
+ <keyword ref="qscrollbar.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qscrollbar.html#~QScrollBar">~QScrollBar</keyword>
+ <section ref="qscrollbar-members.html" title="List of All Member Functions"/>
+ <section ref="qscrollbar-h.html" title="Header File"/>
+</section>
+<section ref="qscrollview.html" title="QScrollView Class Reference">
+ <keyword ref="qscrollview.html">QScrollView</keyword>
+ <keyword ref="qscrollview.html#ResizePolicy">ResizePolicy</keyword>
+ <keyword ref="qscrollview.html#ScrollBarMode">ScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#addChild">addChild</keyword>
+ <keyword ref="qscrollview.html#bottomMargin">bottomMargin</keyword>
+ <keyword ref="qscrollview.html#center">center</keyword>
+ <keyword ref="qscrollview.html#childX">childX</keyword>
+ <keyword ref="qscrollview.html#childY">childY</keyword>
+ <keyword ref="qscrollview.html#clipper">clipper</keyword>
+ <keyword ref="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</keyword>
+ <keyword ref="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</keyword>
+ <keyword ref="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</keyword>
+ <keyword ref="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</keyword>
+ <keyword ref="qscrollview.html#contentsDropEvent">contentsDropEvent</keyword>
+ <keyword ref="qscrollview.html#contentsHeight">contentsHeight</keyword>
+ <keyword ref="qscrollview.html#contentsHeight-prop">contentsHeight</keyword>
+ <keyword ref="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</keyword>
+ <keyword ref="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</keyword>
+ <keyword ref="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</keyword>
+ <keyword ref="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</keyword>
+ <keyword ref="qscrollview.html#contentsMoving">contentsMoving</keyword>
+ <keyword ref="qscrollview.html#contentsToViewport">contentsToViewport</keyword>
+ <keyword ref="qscrollview.html#contentsWheelEvent">contentsWheelEvent</keyword>
+ <keyword ref="qscrollview.html#contentsWidth">contentsWidth</keyword>
+ <keyword ref="qscrollview.html#contentsWidth-prop">contentsWidth</keyword>
+ <keyword ref="qscrollview.html#contentsX">contentsX</keyword>
+ <keyword ref="qscrollview.html#contentsX-prop">contentsX</keyword>
+ <keyword ref="qscrollview.html#contentsY">contentsY</keyword>
+ <keyword ref="qscrollview.html#contentsY-prop">contentsY</keyword>
+ <keyword ref="qscrollview.html#cornerWidget">cornerWidget</keyword>
+ <keyword ref="qscrollview.html#dragAutoScroll">dragAutoScroll</keyword>
+ <keyword ref="qscrollview.html#dragAutoScroll-prop">dragAutoScroll</keyword>
+ <keyword ref="qscrollview.html#drawContents">drawContents</keyword>
+ <keyword ref="qscrollview.html#drawContentsOffset">drawContentsOffset</keyword>
+ <keyword ref="qscrollview.html#enableClipper">enableClipper</keyword>
+ <keyword ref="qscrollview.html#ensureVisible">ensureVisible</keyword>
+ <keyword ref="qscrollview.html#eventFilter">eventFilter</keyword>
+ <keyword ref="qscrollview.html#hScrollBarMode">hScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#hScrollBarMode-prop">hScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#hasStaticBackground">hasStaticBackground</keyword>
+ <keyword ref="qscrollview.html#horizontalScrollBar">horizontalScrollBar</keyword>
+ <keyword ref="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</keyword>
+ <keyword ref="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</keyword>
+ <keyword ref="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</keyword>
+ <keyword ref="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</keyword>
+ <keyword ref="qscrollview.html#leftMargin">leftMargin</keyword>
+ <keyword ref="qscrollview.html#moveChild">moveChild</keyword>
+ <keyword ref="qscrollview.html#moveContents">moveContents</keyword>
+ <keyword ref="qscrollview.html#removeChild">removeChild</keyword>
+ <keyword ref="qscrollview.html#repaintContents">repaintContents</keyword>
+ <keyword ref="qscrollview.html#resizeContents">resizeContents</keyword>
+ <keyword ref="qscrollview.html#resizePolicy">resizePolicy</keyword>
+ <keyword ref="qscrollview.html#resizePolicy-prop">resizePolicy</keyword>
+ <keyword ref="qscrollview.html#rightMargin">rightMargin</keyword>
+ <keyword ref="qscrollview.html#scrollBy">scrollBy</keyword>
+ <keyword ref="qscrollview.html#setContentsPos">setContentsPos</keyword>
+ <keyword ref="qscrollview.html#setCornerWidget">setCornerWidget</keyword>
+ <keyword ref="qscrollview.html#setDragAutoScroll">setDragAutoScroll</keyword>
+ <keyword ref="qscrollview.html#setHBarGeometry">setHBarGeometry</keyword>
+ <keyword ref="qscrollview.html#setHScrollBarMode">setHScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#setMargins">setMargins</keyword>
+ <keyword ref="qscrollview.html#setResizePolicy">setResizePolicy</keyword>
+ <keyword ref="qscrollview.html#setStaticBackground">setStaticBackground</keyword>
+ <keyword ref="qscrollview.html#setVBarGeometry">setVBarGeometry</keyword>
+ <keyword ref="qscrollview.html#setVScrollBarMode">setVScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#topMargin">topMargin</keyword>
+ <keyword ref="qscrollview.html#updateContents">updateContents</keyword>
+ <keyword ref="qscrollview.html#updateScrollBars">updateScrollBars</keyword>
+ <keyword ref="qscrollview.html#vScrollBarMode">vScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#vScrollBarMode-prop">vScrollBarMode</keyword>
+ <keyword ref="qscrollview.html#verticalScrollBar">verticalScrollBar</keyword>
+ <keyword ref="qscrollview.html#verticalSliderPressed">verticalSliderPressed</keyword>
+ <keyword ref="qscrollview.html#verticalSliderReleased">verticalSliderReleased</keyword>
+ <keyword ref="qscrollview.html#viewport">viewport</keyword>
+ <keyword ref="qscrollview.html#viewportPaintEvent">viewportPaintEvent</keyword>
+ <keyword ref="qscrollview.html#viewportResizeEvent">viewportResizeEvent</keyword>
+ <keyword ref="qscrollview.html#viewportSize">viewportSize</keyword>
+ <keyword ref="qscrollview.html#viewportToContents">viewportToContents</keyword>
+ <keyword ref="qscrollview.html#visibleHeight">visibleHeight</keyword>
+ <keyword ref="qscrollview.html#visibleHeight-prop">visibleHeight</keyword>
+ <keyword ref="qscrollview.html#visibleWidth">visibleWidth</keyword>
+ <keyword ref="qscrollview.html#visibleWidth-prop">visibleWidth</keyword>
+ <keyword ref="qscrollview.html#~QScrollView">~QScrollView</keyword>
+ <section ref="qscrollview-members.html" title="List of All Member Functions"/>
+ <section ref="qscrollview-h.html" title="Header File"/>
+</section>
+<section ref="qsemaphore.html" title="QSemaphore Class Reference">
+ <keyword ref="qsemaphore.html">QSemaphore</keyword>
+ <keyword ref="qsemaphore.html#available">available</keyword>
+ <keyword ref="qsemaphore.html#operator++">operator++</keyword>
+ <keyword ref="qsemaphore.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qsemaphore.html#operator--">operator--</keyword>
+ <keyword ref="qsemaphore.html#operator--eq">operator-=</keyword>
+ <keyword ref="qsemaphore.html#total">total</keyword>
+ <keyword ref="qsemaphore.html#tryAccess">tryAccess</keyword>
+ <keyword ref="qsemaphore.html#~QSemaphore">~QSemaphore</keyword>
+ <section ref="qsemaphore-members.html" title="List of All Member Functions"/>
+ <section ref="qsemaphore-h.html" title="Header File"/>
+</section>
+<section ref="qserversocket.html" title="QServerSocket Class Reference">
+ <keyword ref="qserversocket.html">QServerSocket</keyword>
+ <keyword ref="qserversocket.html#address">address</keyword>
+ <keyword ref="qserversocket.html#newConnection">newConnection</keyword>
+ <keyword ref="qserversocket.html#ok">ok</keyword>
+ <keyword ref="qserversocket.html#port">port</keyword>
+ <keyword ref="qserversocket.html#setSocket">setSocket</keyword>
+ <keyword ref="qserversocket.html#socket">socket</keyword>
+ <keyword ref="qserversocket.html#socketDevice">socketDevice</keyword>
+ <keyword ref="qserversocket.html#~QServerSocket">~QServerSocket</keyword>
+ <section ref="qserversocket-members.html" title="List of All Member Functions"/>
+ <section ref="qserversocket-h.html" title="Header File"/>
+</section>
+<section ref="qsessionmanager.html" title="QSessionManager Class Reference">
+ <keyword ref="qsessionmanager.html">QSessionManager</keyword>
+ <keyword ref="qsessionmanager.html#RestartHint">RestartHint</keyword>
+ <keyword ref="qsessionmanager.html#allowsErrorInteraction">allowsErrorInteraction</keyword>
+ <keyword ref="qsessionmanager.html#allowsInteraction">allowsInteraction</keyword>
+ <keyword ref="qsessionmanager.html#cancel">cancel</keyword>
+ <keyword ref="qsessionmanager.html#discardCommand">discardCommand</keyword>
+ <keyword ref="qsessionmanager.html#handle">handle</keyword>
+ <keyword ref="qsessionmanager.html#isPhase2">isPhase2</keyword>
+ <keyword ref="qsessionmanager.html#release">release</keyword>
+ <keyword ref="qsessionmanager.html#requestPhase2">requestPhase2</keyword>
+ <keyword ref="qsessionmanager.html#restartCommand">restartCommand</keyword>
+ <keyword ref="qsessionmanager.html#restartHint">restartHint</keyword>
+ <keyword ref="qsessionmanager.html#sessionId">sessionId</keyword>
+ <keyword ref="qsessionmanager.html#sessionKey">sessionKey</keyword>
+ <keyword ref="qsessionmanager.html#setDiscardCommand">setDiscardCommand</keyword>
+ <keyword ref="qsessionmanager.html#setManagerProperty">setManagerProperty</keyword>
+ <keyword ref="qsessionmanager.html#setRestartCommand">setRestartCommand</keyword>
+ <keyword ref="qsessionmanager.html#setRestartHint">setRestartHint</keyword>
+ <section ref="qsessionmanager-members.html" title="List of All Member Functions"/>
+ <section ref="qsessionmanager-h.html" title="Header File"/>
+</section>
+<section ref="qsettings.html" title="QSettings Class Reference">
+ <keyword ref="qsettings.html">QSettings</keyword>
+ <keyword ref="qsettings.html#Format">Format</keyword>
+ <keyword ref="qsettings.html#Scope">Scope</keyword>
+ <keyword ref="qsettings.html#System">System</keyword>
+ <keyword ref="qsettings.html#beginGroup">beginGroup</keyword>
+ <keyword ref="qsettings.html#endGroup">endGroup</keyword>
+ <keyword ref="qsettings.html#entryList">entryList</keyword>
+ <keyword ref="qsettings.html#group">group</keyword>
+ <keyword ref="qsettings.html#insertSearchPath">insertSearchPath</keyword>
+ <keyword ref="qsettings.html#readBoolEntry">readBoolEntry</keyword>
+ <keyword ref="qsettings.html#readDoubleEntry">readDoubleEntry</keyword>
+ <keyword ref="qsettings.html#readEntry">readEntry</keyword>
+ <keyword ref="qsettings.html#readListEntry">readListEntry</keyword>
+ <keyword ref="qsettings.html#readNumEntry">readNumEntry</keyword>
+ <keyword ref="qsettings.html#removeEntry">removeEntry</keyword>
+ <keyword ref="qsettings.html#removeSearchPath">removeSearchPath</keyword>
+ <keyword ref="qsettings.html#resetGroup">resetGroup</keyword>
+ <keyword ref="qsettings.html#setPath">setPath</keyword>
+ <keyword ref="qsettings.html#subkeyList">subkeyList</keyword>
+ <keyword ref="qsettings.html#writeEntry">writeEntry</keyword>
+ <keyword ref="qsettings.html#~QSettings">~QSettings</keyword>
+ <section ref="qsettings-members.html" title="List of All Member Functions"/>
+ <section ref="qsettings-h.html" title="Header File"/>
+</section>
+<section ref="qsgistyle.html" title="QSGIStyle Class Reference">
+ <keyword ref="qsgistyle.html">QSGIStyle</keyword>
+ <keyword ref="qsgistyle.html#~QSGIStyle">~QSGIStyle</keyword>
+ <section ref="qsgistyle-members.html" title="List of All Member Functions"/>
+ <section ref="qsgistyle-h.html" title="Header File"/>
+</section>
+<section ref="qshowevent.html" title="QShowEvent Class Reference">
+ <keyword ref="qshowevent.html">QShowEvent</keyword>
+ <section ref="qshowevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qsignal.html" title="QSignal Class Reference">
+ <keyword ref="qsignal.html">QSignal</keyword>
+ <keyword ref="qsignal.html#activate">activate</keyword>
+ <keyword ref="qsignal.html#connect">connect</keyword>
+ <keyword ref="qsignal.html#disconnect">disconnect</keyword>
+ <keyword ref="qsignal.html#setValue">setValue</keyword>
+ <keyword ref="qsignal.html#value">value</keyword>
+ <keyword ref="qsignal.html#~QSignal">~QSignal</keyword>
+ <section ref="qsignal-members.html" title="List of All Member Functions"/>
+ <section ref="qsignal-h.html" title="Header File"/>
+</section>
+<section ref="qsignalmapper.html" title="QSignalMapper Class Reference">
+ <keyword ref="qsignalmapper.html">QSignalMapper</keyword>
+ <keyword ref="qsignalmapper.html#map">map</keyword>
+ <keyword ref="qsignalmapper.html#mapped">mapped</keyword>
+ <keyword ref="qsignalmapper.html#removeMappings">removeMappings</keyword>
+ <keyword ref="qsignalmapper.html#setMapping">setMapping</keyword>
+ <keyword ref="qsignalmapper.html#~QSignalMapper">~QSignalMapper</keyword>
+ <section ref="qsignalmapper-members.html" title="List of All Member Functions"/>
+ <section ref="qsignalmapper-h.html" title="Header File"/>
+</section>
+<section ref="qsimplerichtext.html" title="QSimpleRichText Class Reference">
+ <keyword ref="qsimplerichtext.html">QSimpleRichText</keyword>
+ <keyword ref="qsimplerichtext.html#adjustSize">adjustSize</keyword>
+ <keyword ref="qsimplerichtext.html#anchorAt">anchorAt</keyword>
+ <keyword ref="qsimplerichtext.html#context">context</keyword>
+ <keyword ref="qsimplerichtext.html#draw">draw</keyword>
+ <keyword ref="qsimplerichtext.html#height">height</keyword>
+ <keyword ref="qsimplerichtext.html#inText">inText</keyword>
+ <keyword ref="qsimplerichtext.html#setDefaultFont">setDefaultFont</keyword>
+ <keyword ref="qsimplerichtext.html#setWidth">setWidth</keyword>
+ <keyword ref="qsimplerichtext.html#width">width</keyword>
+ <keyword ref="qsimplerichtext.html#widthUsed">widthUsed</keyword>
+ <keyword ref="qsimplerichtext.html#~QSimpleRichText">~QSimpleRichText</keyword>
+ <section ref="qsimplerichtext-members.html" title="List of All Member Functions"/>
+ <section ref="qsimplerichtext-h.html" title="Header File"/>
+</section>
+<section ref="qsize.html" title="QSize Class Reference">
+ <keyword ref="qsize.html">QSize</keyword>
+ <keyword ref="qsize.html#ScaleMode">ScaleMode</keyword>
+ <keyword ref="qsize.html#boundedTo">boundedTo</keyword>
+ <keyword ref="qsize.html#expandedTo">expandedTo</keyword>
+ <keyword ref="qsize.html#height">height</keyword>
+ <keyword ref="qsize.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qsize.html#isNull">isNull</keyword>
+ <keyword ref="qsize.html#isValid">isValid</keyword>
+ <keyword ref="qsize.html#operator*-eq">operator*=</keyword>
+ <keyword ref="qsize.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qsize.html#operator--eq">operator-=</keyword>
+ <keyword ref="qsize.html#operator/-eq">operator/=</keyword>
+ <keyword ref="qsize.html#rheight">rheight</keyword>
+ <keyword ref="qsize.html#rwidth">rwidth</keyword>
+ <keyword ref="qsize.html#scale">scale</keyword>
+ <keyword ref="qsize.html#setHeight">setHeight</keyword>
+ <keyword ref="qsize.html#setWidth">setWidth</keyword>
+ <keyword ref="qsize.html#transpose">transpose</keyword>
+ <keyword ref="qsize.html#width">width</keyword>
+ <keyword ref="qsize.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qsize.html#operator*">operator*</keyword>
+ <keyword ref="qsize.html#operator+">operator+</keyword>
+ <keyword ref="qsize.html#operator-">operator-</keyword>
+ <keyword ref="qsize.html#operator/">operator/</keyword>
+ <keyword ref="qsize.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qsize.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qsize.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qsize-members.html" title="List of All Member Functions"/>
+ <section ref="qsize-h.html" title="Header File"/>
+</section>
+<section ref="qsizegrip.html" title="QSizeGrip Class Reference">
+ <keyword ref="qsizegrip.html">QSizeGrip</keyword>
+ <keyword ref="qsizegrip.html#mouseMoveEvent">mouseMoveEvent</keyword>
+ <keyword ref="qsizegrip.html#mousePressEvent">mousePressEvent</keyword>
+ <keyword ref="qsizegrip.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qsizegrip.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qsizegrip.html#~QSizeGrip">~QSizeGrip</keyword>
+ <section ref="qsizegrip-members.html" title="List of All Member Functions"/>
+ <section ref="qsizegrip-h.html" title="Header File"/>
+</section>
+<section ref="qsizepolicy.html" title="QSizePolicy Class Reference">
+ <keyword ref="qsizepolicy.html">QSizePolicy</keyword>
+ <keyword ref="qsizepolicy.html#ExpandData">ExpandData</keyword>
+ <keyword ref="qsizepolicy.html#SizeType">SizeType</keyword>
+ <keyword ref="qsizepolicy.html#expanding">expanding</keyword>
+ <keyword ref="qsizepolicy.html#hasHeightForWidth">hasHeightForWidth</keyword>
+ <keyword ref="qsizepolicy.html#horData">horData</keyword>
+ <keyword ref="qsizepolicy.html#horStretch">horStretch</keyword>
+ <keyword ref="qsizepolicy.html#mayGrowHorizontally">mayGrowHorizontally</keyword>
+ <keyword ref="qsizepolicy.html#mayGrowVertically">mayGrowVertically</keyword>
+ <keyword ref="qsizepolicy.html#mayShrinkHorizontally">mayShrinkHorizontally</keyword>
+ <keyword ref="qsizepolicy.html#mayShrinkVertically">mayShrinkVertically</keyword>
+ <keyword ref="qsizepolicy.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qsizepolicy.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qsizepolicy.html#setHeightForWidth">setHeightForWidth</keyword>
+ <keyword ref="qsizepolicy.html#setHorData">setHorData</keyword>
+ <keyword ref="qsizepolicy.html#setHorStretch">setHorStretch</keyword>
+ <keyword ref="qsizepolicy.html#setVerData">setVerData</keyword>
+ <keyword ref="qsizepolicy.html#setVerStretch">setVerStretch</keyword>
+ <keyword ref="qsizepolicy.html#transpose">transpose</keyword>
+ <keyword ref="qsizepolicy.html#verData">verData</keyword>
+ <keyword ref="qsizepolicy.html#verStretch">verStretch</keyword>
+ <section ref="qsizepolicy-members.html" title="List of All Member Functions"/>
+ <section ref="qsizepolicy-h.html" title="Header File"/>
+</section>
+<section ref="qsjiscodec.html" title="QSjisCodec Class Reference">
+ <keyword ref="qsjiscodec.html">QSjisCodec</keyword>
+ <keyword ref="qsjiscodec.html#mimeName">mimeName</keyword>
+ <keyword ref="qsjiscodec.html#~QSjisCodec">~QSjisCodec</keyword>
+ <section ref="qsjiscodec-members.html" title="List of All Member Functions"/>
+ <section ref="qsjiscodec-h.html" title="Header File"/>
+</section>
+<section ref="qslider.html" title="QSlider Class Reference">
+ <keyword ref="qslider.html">QSlider</keyword>
+ <keyword ref="qslider.html#TickSetting">TickSetting</keyword>
+ <keyword ref="qslider.html#addStep">addStep</keyword>
+ <keyword ref="qslider.html#lineStep">lineStep</keyword>
+ <keyword ref="qslider.html#lineStep-prop">lineStep</keyword>
+ <keyword ref="qslider.html#maxValue">maxValue</keyword>
+ <keyword ref="qslider.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qslider.html#minValue">minValue</keyword>
+ <keyword ref="qslider.html#minValue-prop">minValue</keyword>
+ <keyword ref="qslider.html#moveSlider">moveSlider</keyword>
+ <keyword ref="qslider.html#orientation">orientation</keyword>
+ <keyword ref="qslider.html#orientation-prop">orientation</keyword>
+ <keyword ref="qslider.html#pageStep">pageStep</keyword>
+ <keyword ref="qslider.html#pageStep-prop">pageStep</keyword>
+ <keyword ref="qslider.html#rangeChange">rangeChange</keyword>
+ <keyword ref="qslider.html#setLineStep">setLineStep</keyword>
+ <keyword ref="qslider.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qslider.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qslider.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qslider.html#setPageStep">setPageStep</keyword>
+ <keyword ref="qslider.html#setPalette">setPalette</keyword>
+ <keyword ref="qslider.html#setTickInterval">setTickInterval</keyword>
+ <keyword ref="qslider.html#setTickmarks">setTickmarks</keyword>
+ <keyword ref="qslider.html#setTracking">setTracking</keyword>
+ <keyword ref="qslider.html#setValue">setValue</keyword>
+ <keyword ref="qslider.html#sliderMoved">sliderMoved</keyword>
+ <keyword ref="qslider.html#sliderPressed">sliderPressed</keyword>
+ <keyword ref="qslider.html#sliderRect">sliderRect</keyword>
+ <keyword ref="qslider.html#sliderReleased">sliderReleased</keyword>
+ <keyword ref="qslider.html#sliderStart">sliderStart</keyword>
+ <keyword ref="qslider.html#subtractStep">subtractStep</keyword>
+ <keyword ref="qslider.html#tickInterval">tickInterval</keyword>
+ <keyword ref="qslider.html#tickInterval-prop">tickInterval</keyword>
+ <keyword ref="qslider.html#tickmarks">tickmarks</keyword>
+ <keyword ref="qslider.html#tickmarks-prop">tickmarks</keyword>
+ <keyword ref="qslider.html#tracking">tracking</keyword>
+ <keyword ref="qslider.html#tracking-prop">tracking</keyword>
+ <keyword ref="qslider.html#value">value</keyword>
+ <keyword ref="qslider.html#value-prop">value</keyword>
+ <keyword ref="qslider.html#valueChange">valueChange</keyword>
+ <keyword ref="qslider.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qslider.html#~QSlider">~QSlider</keyword>
+ <section ref="qslider-members.html" title="List of All Member Functions"/>
+ <section ref="qslider-h.html" title="Header File"/>
+</section>
+<section ref="qsocket.html" title="QSocket Class Reference">
+ <keyword ref="qsocket.html">QSocket</keyword>
+ <keyword ref="qsocket.html#Error">Error</keyword>
+ <keyword ref="qsocket.html#State">State</keyword>
+ <keyword ref="qsocket.html#address">address</keyword>
+ <keyword ref="qsocket.html#at">at</keyword>
+ <keyword ref="qsocket.html#atEnd">atEnd</keyword>
+ <keyword ref="qsocket.html#bytesAvailable">bytesAvailable</keyword>
+ <keyword ref="qsocket.html#bytesToWrite">bytesToWrite</keyword>
+ <keyword ref="qsocket.html#bytesWritten">bytesWritten</keyword>
+ <keyword ref="qsocket.html#canReadLine">canReadLine</keyword>
+ <keyword ref="qsocket.html#clearPendingData">clearPendingData</keyword>
+ <keyword ref="qsocket.html#close">close</keyword>
+ <keyword ref="qsocket.html#connectToHost">connectToHost</keyword>
+ <keyword ref="qsocket.html#connected">connected</keyword>
+ <keyword ref="qsocket.html#connectionClosed">connectionClosed</keyword>
+ <keyword ref="qsocket.html#consumeWriteBuf">consumeWriteBuf</keyword>
+ <keyword ref="qsocket.html#delayedCloseFinished">delayedCloseFinished</keyword>
+ <keyword ref="qsocket.html#error">error</keyword>
+ <keyword ref="qsocket.html#flush">flush</keyword>
+ <keyword ref="qsocket.html#getch">getch</keyword>
+ <keyword ref="qsocket.html#hostFound">hostFound</keyword>
+ <keyword ref="qsocket.html#open">open</keyword>
+ <keyword ref="qsocket.html#peerAddress">peerAddress</keyword>
+ <keyword ref="qsocket.html#peerName">peerName</keyword>
+ <keyword ref="qsocket.html#peerPort">peerPort</keyword>
+ <keyword ref="qsocket.html#port">port</keyword>
+ <keyword ref="qsocket.html#putch">putch</keyword>
+ <keyword ref="qsocket.html#readBlock">readBlock</keyword>
+ <keyword ref="qsocket.html#readBufferSize">readBufferSize</keyword>
+ <keyword ref="qsocket.html#readLine">readLine</keyword>
+ <keyword ref="qsocket.html#readyRead">readyRead</keyword>
+ <keyword ref="qsocket.html#setReadBufferSize">setReadBufferSize</keyword>
+ <keyword ref="qsocket.html#setSocket">setSocket</keyword>
+ <keyword ref="qsocket.html#setSocketDevice">setSocketDevice</keyword>
+ <keyword ref="qsocket.html#setSocketIntern">setSocketIntern</keyword>
+ <keyword ref="qsocket.html#size">size</keyword>
+ <keyword ref="qsocket.html#socket">socket</keyword>
+ <keyword ref="qsocket.html#socketDevice">socketDevice</keyword>
+ <keyword ref="qsocket.html#state">state</keyword>
+ <keyword ref="qsocket.html#tryConnecting">tryConnecting</keyword>
+ <keyword ref="qsocket.html#ungetch">ungetch</keyword>
+ <keyword ref="qsocket.html#waitForMore">waitForMore</keyword>
+ <keyword ref="qsocket.html#writeBlock">writeBlock</keyword>
+ <keyword ref="qsocket.html#~QSocket">~QSocket</keyword>
+ <section ref="qsocket-members.html" title="List of All Member Functions"/>
+ <section ref="qsocket-h.html" title="Header File"/>
+</section>
+<section ref="qsocketdevice.html" title="QSocketDevice Class Reference">
+ <keyword ref="qsocketdevice.html">QSocketDevice</keyword>
+ <keyword ref="qsocketdevice.html#Error">Error</keyword>
+ <keyword ref="qsocketdevice.html#Protocol">Protocol</keyword>
+ <keyword ref="qsocketdevice.html#Type">Type</keyword>
+ <keyword ref="qsocketdevice.html#accept">accept</keyword>
+ <keyword ref="qsocketdevice.html#address">address</keyword>
+ <keyword ref="qsocketdevice.html#addressReusable">addressReusable</keyword>
+ <keyword ref="qsocketdevice.html#bind">bind</keyword>
+ <keyword ref="qsocketdevice.html#blocking">blocking</keyword>
+ <keyword ref="qsocketdevice.html#bytesAvailable">bytesAvailable</keyword>
+ <keyword ref="qsocketdevice.html#connect">connect</keyword>
+ <keyword ref="qsocketdevice.html#createNewSocket">createNewSocket</keyword>
+ <keyword ref="qsocketdevice.html#error">error</keyword>
+ <keyword ref="qsocketdevice.html#fetchConnectionParameters">fetchConnectionParameters</keyword>
+ <keyword ref="qsocketdevice.html#isValid">isValid</keyword>
+ <keyword ref="qsocketdevice.html#listen">listen</keyword>
+ <keyword ref="qsocketdevice.html#option">option</keyword>
+ <keyword ref="qsocketdevice.html#peerAddress">peerAddress</keyword>
+ <keyword ref="qsocketdevice.html#peerPort">peerPort</keyword>
+ <keyword ref="qsocketdevice.html#port">port</keyword>
+ <keyword ref="qsocketdevice.html#protocol">protocol</keyword>
+ <keyword ref="qsocketdevice.html#readBlock">readBlock</keyword>
+ <keyword ref="qsocketdevice.html#receiveBufferSize">receiveBufferSize</keyword>
+ <keyword ref="qsocketdevice.html#sendBufferSize">sendBufferSize</keyword>
+ <keyword ref="qsocketdevice.html#setAddressReusable">setAddressReusable</keyword>
+ <keyword ref="qsocketdevice.html#setBlocking">setBlocking</keyword>
+ <keyword ref="qsocketdevice.html#setError">setError</keyword>
+ <keyword ref="qsocketdevice.html#setOption">setOption</keyword>
+ <keyword ref="qsocketdevice.html#setReceiveBufferSize">setReceiveBufferSize</keyword>
+ <keyword ref="qsocketdevice.html#setSendBufferSize">setSendBufferSize</keyword>
+ <keyword ref="qsocketdevice.html#setSocket">setSocket</keyword>
+ <keyword ref="qsocketdevice.html#socket">socket</keyword>
+ <keyword ref="qsocketdevice.html#type">type</keyword>
+ <keyword ref="qsocketdevice.html#waitForMore">waitForMore</keyword>
+ <keyword ref="qsocketdevice.html#writeBlock">writeBlock</keyword>
+ <keyword ref="qsocketdevice.html#~QSocketDevice">~QSocketDevice</keyword>
+ <section ref="qsocketdevice-members.html" title="List of All Member Functions"/>
+ <section ref="qsocketdevice-h.html" title="Header File"/>
+</section>
+<section ref="qsocketnotifier.html" title="QSocketNotifier Class Reference">
+ <keyword ref="qsocketnotifier.html">QSocketNotifier</keyword>
+ <keyword ref="qsocketnotifier.html#Type">Type</keyword>
+ <keyword ref="qsocketnotifier.html#activated">activated</keyword>
+ <keyword ref="qsocketnotifier.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qsocketnotifier.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qsocketnotifier.html#socket">socket</keyword>
+ <keyword ref="qsocketnotifier.html#type">type</keyword>
+ <keyword ref="qsocketnotifier.html#~QSocketNotifier">~QSocketNotifier</keyword>
+ <section ref="qsocketnotifier-members.html" title="List of All Member Functions"/>
+ <section ref="qsocketnotifier-h.html" title="Header File"/>
+</section>
+<section ref="qsortedlist.html" title="QSortedList Class Reference">
+ <keyword ref="qsortedlist.html#operator-eq">operator=</keyword>
+ <keyword ref="qsortedlist.html#~QSortedList">~QSortedList</keyword>
+ <section ref="qsortedlist-members.html" title="List of All Member Functions"/>
+ <section ref="qsortedlist-h.html" title="Header File"/>
+</section>
+<section ref="qsound.html" title="QSound Class Reference">
+ <keyword ref="qsound.html">QSound</keyword>
+ <keyword ref="qsound.html#available">available</keyword>
+ <keyword ref="qsound.html#fileName">fileName</keyword>
+ <keyword ref="qsound.html#isAvailable">isAvailable</keyword>
+ <keyword ref="qsound.html#isFinished">isFinished</keyword>
+ <keyword ref="qsound.html#loops">loops</keyword>
+ <keyword ref="qsound.html#loopsRemaining">loopsRemaining</keyword>
+ <keyword ref="qsound.html#play">play</keyword>
+ <keyword ref="qsound.html#setLoops">setLoops</keyword>
+ <keyword ref="qsound.html#stop">stop</keyword>
+ <keyword ref="qsound.html#~QSound">~QSound</keyword>
+ <section ref="qsound-members.html" title="List of All Member Functions"/>
+ <section ref="qsound-h.html" title="Header File"/>
+</section>
+<section ref="qspaceritem.html" title="QSpacerItem Class Reference">
+ <keyword ref="qspaceritem.html">QSpacerItem</keyword>
+ <keyword ref="qspaceritem.html#changeSize">changeSize</keyword>
+ <keyword ref="qspaceritem.html#expanding">expanding</keyword>
+ <keyword ref="qspaceritem.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qspaceritem.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qspaceritem.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qspaceritem.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qspaceritem.html#sizeHint">sizeHint</keyword>
+ <section ref="qspaceritem-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qspinbox.html" title="QSpinBox Class Reference">
+ <keyword ref="qspinbox.html">QSpinBox</keyword>
+ <keyword ref="qspinbox.html#ButtonSymbols">ButtonSymbols</keyword>
+ <keyword ref="qspinbox.html#buttonSymbols">buttonSymbols</keyword>
+ <keyword ref="qspinbox.html#buttonSymbols-prop">buttonSymbols</keyword>
+ <keyword ref="qspinbox.html#cleanText">cleanText</keyword>
+ <keyword ref="qspinbox.html#cleanText-prop">cleanText</keyword>
+ <keyword ref="qspinbox.html#currentValueText">currentValueText</keyword>
+ <keyword ref="qspinbox.html#downRect">downRect</keyword>
+ <keyword ref="qspinbox.html#editor">editor</keyword>
+ <keyword ref="qspinbox.html#eventFilter">eventFilter</keyword>
+ <keyword ref="qspinbox.html#interpretText">interpretText</keyword>
+ <keyword ref="qspinbox.html#lineStep">lineStep</keyword>
+ <keyword ref="qspinbox.html#lineStep-prop">lineStep</keyword>
+ <keyword ref="qspinbox.html#mapTextToValue">mapTextToValue</keyword>
+ <keyword ref="qspinbox.html#mapValueToText">mapValueToText</keyword>
+ <keyword ref="qspinbox.html#maxValue">maxValue</keyword>
+ <keyword ref="qspinbox.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qspinbox.html#minValue">minValue</keyword>
+ <keyword ref="qspinbox.html#minValue-prop">minValue</keyword>
+ <keyword ref="qspinbox.html#prefix">prefix</keyword>
+ <keyword ref="qspinbox.html#prefix-prop">prefix</keyword>
+ <keyword ref="qspinbox.html#rangeChange">rangeChange</keyword>
+ <keyword ref="qspinbox.html#selectAll">selectAll</keyword>
+ <keyword ref="qspinbox.html#setButtonSymbols">setButtonSymbols</keyword>
+ <keyword ref="qspinbox.html#setLineStep">setLineStep</keyword>
+ <keyword ref="qspinbox.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qspinbox.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qspinbox.html#setPrefix">setPrefix</keyword>
+ <keyword ref="qspinbox.html#setSpecialValueText">setSpecialValueText</keyword>
+ <keyword ref="qspinbox.html#setSuffix">setSuffix</keyword>
+ <keyword ref="qspinbox.html#setValidator">setValidator</keyword>
+ <keyword ref="qspinbox.html#setValue">setValue</keyword>
+ <keyword ref="qspinbox.html#setWrapping">setWrapping</keyword>
+ <keyword ref="qspinbox.html#specialValueText">specialValueText</keyword>
+ <keyword ref="qspinbox.html#specialValueText-prop">specialValueText</keyword>
+ <keyword ref="qspinbox.html#stepDown">stepDown</keyword>
+ <keyword ref="qspinbox.html#stepUp">stepUp</keyword>
+ <keyword ref="qspinbox.html#suffix">suffix</keyword>
+ <keyword ref="qspinbox.html#suffix-prop">suffix</keyword>
+ <keyword ref="qspinbox.html#text">text</keyword>
+ <keyword ref="qspinbox.html#text-prop">text</keyword>
+ <keyword ref="qspinbox.html#textChanged">textChanged</keyword>
+ <keyword ref="qspinbox.html#upRect">upRect</keyword>
+ <keyword ref="qspinbox.html#updateDisplay">updateDisplay</keyword>
+ <keyword ref="qspinbox.html#validator">validator</keyword>
+ <keyword ref="qspinbox.html#value">value</keyword>
+ <keyword ref="qspinbox.html#value-prop">value</keyword>
+ <keyword ref="qspinbox.html#valueChange">valueChange</keyword>
+ <keyword ref="qspinbox.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qspinbox.html#wrapping">wrapping</keyword>
+ <keyword ref="qspinbox.html#wrapping-prop">wrapping</keyword>
+ <keyword ref="qspinbox.html#~QSpinBox">~QSpinBox</keyword>
+ <section ref="qspinbox-members.html" title="List of All Member Functions"/>
+ <section ref="qspinbox-h.html" title="Header File"/>
+</section>
+<section ref="qsplashscreen.html" title="QSplashScreen Class Reference">
+ <keyword ref="qsplashscreen.html">QSplashScreen</keyword>
+ <keyword ref="qsplashscreen.html#clear">clear</keyword>
+ <keyword ref="qsplashscreen.html#drawContents">drawContents</keyword>
+ <keyword ref="qsplashscreen.html#finish">finish</keyword>
+ <keyword ref="qsplashscreen.html#message">message</keyword>
+ <keyword ref="qsplashscreen.html#messageChanged">messageChanged</keyword>
+ <keyword ref="qsplashscreen.html#pixmap">pixmap</keyword>
+ <keyword ref="qsplashscreen.html#repaint">repaint</keyword>
+ <keyword ref="qsplashscreen.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qsplashscreen.html#~QSplashScreen">~QSplashScreen</keyword>
+ <section ref="qsplashscreen-members.html" title="List of All Member Functions"/>
+ <section ref="qsplashscreen-h.html" title="Header File"/>
+</section>
+<section ref="qsplitter.html" title="QSplitter Class Reference">
+ <keyword ref="qsplitter.html">QSplitter</keyword>
+ <keyword ref="qsplitter.html#ResizeMode">ResizeMode</keyword>
+ <keyword ref="qsplitter.html#adjustPos">adjustPos</keyword>
+ <keyword ref="qsplitter.html#childEvent">childEvent</keyword>
+ <keyword ref="qsplitter.html#childrenCollapsible">childrenCollapsible</keyword>
+ <keyword ref="qsplitter.html#childrenCollapsible-prop">childrenCollapsible</keyword>
+ <keyword ref="qsplitter.html#getRange">getRange</keyword>
+ <keyword ref="qsplitter.html#handleWidth">handleWidth</keyword>
+ <keyword ref="qsplitter.html#handleWidth-prop">handleWidth</keyword>
+ <keyword ref="qsplitter.html#idAfter">idAfter</keyword>
+ <keyword ref="qsplitter.html#moveSplitter">moveSplitter</keyword>
+ <keyword ref="qsplitter.html#moveToFirst">moveToFirst</keyword>
+ <keyword ref="qsplitter.html#moveToLast">moveToLast</keyword>
+ <keyword ref="qsplitter.html#opaqueResize">opaqueResize</keyword>
+ <keyword ref="qsplitter.html#opaqueResize-prop">opaqueResize</keyword>
+ <keyword ref="qsplitter.html#orientation">orientation</keyword>
+ <keyword ref="qsplitter.html#orientation-prop">orientation</keyword>
+ <keyword ref="qsplitter.html#processChildEvents">processChildEvents</keyword>
+ <keyword ref="qsplitter.html#refresh">refresh</keyword>
+ <keyword ref="qsplitter.html#setChildrenCollapsible">setChildrenCollapsible</keyword>
+ <keyword ref="qsplitter.html#setCollapsible">setCollapsible</keyword>
+ <keyword ref="qsplitter.html#setHandleWidth">setHandleWidth</keyword>
+ <keyword ref="qsplitter.html#setOpaqueResize">setOpaqueResize</keyword>
+ <keyword ref="qsplitter.html#setOrientation">setOrientation</keyword>
+ <keyword ref="qsplitter.html#setResizeMode">setResizeMode</keyword>
+ <keyword ref="qsplitter.html#setRubberband">setRubberband</keyword>
+ <keyword ref="qsplitter.html#setSizes">setSizes</keyword>
+ <keyword ref="qsplitter.html#sizes">sizes</keyword>
+ <keyword ref="qsplitter.html#~QSplitter">~QSplitter</keyword>
+ <keyword ref="qsplitter.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qsplitter.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qsplitter-members.html" title="List of All Member Functions"/>
+ <section ref="qsplitter-h.html" title="Header File"/>
+</section>
+<section ref="qsql.html" title="QSql Class Reference">
+ <keyword ref="qsql.html">QSql</keyword>
+ <keyword ref="qsql.html#Confirm">Confirm</keyword>
+ <keyword ref="qsql.html#Location">Location</keyword>
+ <keyword ref="qsql.html#Op">Op</keyword>
+ <keyword ref="qsql.html#ParameterType">ParameterType</keyword>
+ <keyword ref="qsql.html#TableType">TableType</keyword>
+ <section ref="qsql-members.html" title="List of All Member Functions"/>
+ <section ref="qsql-h.html" title="Header File"/>
+</section>
+<section ref="qsqlcursor.html" title="QSqlCursor Class Reference">
+ <keyword ref="qsqlcursor.html">QSqlCursor</keyword>
+ <keyword ref="qsqlcursor.html#Mode">Mode</keyword>
+ <keyword ref="qsqlcursor.html#append">append</keyword>
+ <keyword ref="qsqlcursor.html#calculateField">calculateField</keyword>
+ <keyword ref="qsqlcursor.html#canDelete">canDelete</keyword>
+ <keyword ref="qsqlcursor.html#canInsert">canInsert</keyword>
+ <keyword ref="qsqlcursor.html#canUpdate">canUpdate</keyword>
+ <keyword ref="qsqlcursor.html#clear">clear</keyword>
+ <keyword ref="qsqlcursor.html#del">del</keyword>
+ <keyword ref="qsqlcursor.html#editBuffer">editBuffer</keyword>
+ <keyword ref="qsqlcursor.html#filter">filter</keyword>
+ <keyword ref="qsqlcursor.html#index">index</keyword>
+ <keyword ref="qsqlcursor.html#insert">insert</keyword>
+ <keyword ref="qsqlcursor.html#isCalculated">isCalculated</keyword>
+ <keyword ref="qsqlcursor.html#isNull">isNull</keyword>
+ <keyword ref="qsqlcursor.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qsqlcursor.html#isTrimmed">isTrimmed</keyword>
+ <keyword ref="qsqlcursor.html#mode">mode</keyword>
+ <keyword ref="qsqlcursor.html#name">name</keyword>
+ <keyword ref="qsqlcursor.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlcursor.html#primaryIndex">primaryIndex</keyword>
+ <keyword ref="qsqlcursor.html#primeDelete">primeDelete</keyword>
+ <keyword ref="qsqlcursor.html#primeInsert">primeInsert</keyword>
+ <keyword ref="qsqlcursor.html#primeUpdate">primeUpdate</keyword>
+ <keyword ref="qsqlcursor.html#remove">remove</keyword>
+ <keyword ref="qsqlcursor.html#select">select</keyword>
+ <keyword ref="qsqlcursor.html#setCalculated">setCalculated</keyword>
+ <keyword ref="qsqlcursor.html#setFilter">setFilter</keyword>
+ <keyword ref="qsqlcursor.html#setGenerated">setGenerated</keyword>
+ <keyword ref="qsqlcursor.html#setMode">setMode</keyword>
+ <keyword ref="qsqlcursor.html#setName">setName</keyword>
+ <keyword ref="qsqlcursor.html#setPrimaryIndex">setPrimaryIndex</keyword>
+ <keyword ref="qsqlcursor.html#setSort">setSort</keyword>
+ <keyword ref="qsqlcursor.html#setTrimmed">setTrimmed</keyword>
+ <keyword ref="qsqlcursor.html#sort">sort</keyword>
+ <keyword ref="qsqlcursor.html#toString">toString</keyword>
+ <keyword ref="qsqlcursor.html#update">update</keyword>
+ <keyword ref="qsqlcursor.html#~QSqlCursor">~QSqlCursor</keyword>
+ <section ref="qsqlcursor-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlcursor-h.html" title="Header File"/>
+</section>
+<section ref="qsqldatabase.html" title="QSqlDatabase Class Reference">
+ <keyword ref="qsqldatabase.html">QSqlDatabase</keyword>
+ <keyword ref="qsqldatabase.html#addDatabase">addDatabase</keyword>
+ <keyword ref="qsqldatabase.html#close">close</keyword>
+ <keyword ref="qsqldatabase.html#commit">commit</keyword>
+ <keyword ref="qsqldatabase.html#connectOptions">connectOptions</keyword>
+ <keyword ref="qsqldatabase.html#connectOptions-prop">connectOptions</keyword>
+ <keyword ref="qsqldatabase.html#contains">contains</keyword>
+ <keyword ref="qsqldatabase.html#database">database</keyword>
+ <keyword ref="qsqldatabase.html#databaseName">databaseName</keyword>
+ <keyword ref="qsqldatabase.html#databaseName-prop">databaseName</keyword>
+ <keyword ref="qsqldatabase.html#driver">driver</keyword>
+ <keyword ref="qsqldatabase.html#driverName">driverName</keyword>
+ <keyword ref="qsqldatabase.html#drivers">drivers</keyword>
+ <keyword ref="qsqldatabase.html#exec">exec</keyword>
+ <keyword ref="qsqldatabase.html#hostName">hostName</keyword>
+ <keyword ref="qsqldatabase.html#hostName-prop">hostName</keyword>
+ <keyword ref="qsqldatabase.html#isDriverAvailable">isDriverAvailable</keyword>
+ <keyword ref="qsqldatabase.html#isOpen">isOpen</keyword>
+ <keyword ref="qsqldatabase.html#isOpenError">isOpenError</keyword>
+ <keyword ref="qsqldatabase.html#lastError">lastError</keyword>
+ <keyword ref="qsqldatabase.html#open">open</keyword>
+ <keyword ref="qsqldatabase.html#password">password</keyword>
+ <keyword ref="qsqldatabase.html#password-prop">password</keyword>
+ <keyword ref="qsqldatabase.html#port">port</keyword>
+ <keyword ref="qsqldatabase.html#port-prop">port</keyword>
+ <keyword ref="qsqldatabase.html#primaryIndex">primaryIndex</keyword>
+ <keyword ref="qsqldatabase.html#record">record</keyword>
+ <keyword ref="qsqldatabase.html#recordInfo">recordInfo</keyword>
+ <keyword ref="qsqldatabase.html#registerSqlDriver">registerSqlDriver</keyword>
+ <keyword ref="qsqldatabase.html#removeDatabase">removeDatabase</keyword>
+ <keyword ref="qsqldatabase.html#rollback">rollback</keyword>
+ <keyword ref="qsqldatabase.html#setConnectOptions">setConnectOptions</keyword>
+ <keyword ref="qsqldatabase.html#setDatabaseName">setDatabaseName</keyword>
+ <keyword ref="qsqldatabase.html#setHostName">setHostName</keyword>
+ <keyword ref="qsqldatabase.html#setPassword">setPassword</keyword>
+ <keyword ref="qsqldatabase.html#setPort">setPort</keyword>
+ <keyword ref="qsqldatabase.html#setUserName">setUserName</keyword>
+ <keyword ref="qsqldatabase.html#tables">tables</keyword>
+ <keyword ref="qsqldatabase.html#transaction">transaction</keyword>
+ <keyword ref="qsqldatabase.html#userName">userName</keyword>
+ <keyword ref="qsqldatabase.html#userName-prop">userName</keyword>
+ <keyword ref="qsqldatabase.html#~QSqlDatabase">~QSqlDatabase</keyword>
+ <section ref="qsqldatabase-members.html" title="List of All Member Functions"/>
+ <section ref="qsqldatabase-h.html" title="Header File"/>
+</section>
+<section ref="qsqldriver.html" title="QSqlDriver Class Reference">
+ <keyword ref="qsqldriver.html">QSqlDriver</keyword>
+ <keyword ref="qsqldriver.html#DriverFeature">DriverFeature</keyword>
+ <keyword ref="qsqldriver.html#beginTransaction">beginTransaction</keyword>
+ <keyword ref="qsqldriver.html#close">close</keyword>
+ <keyword ref="qsqldriver.html#commitTransaction">commitTransaction</keyword>
+ <keyword ref="qsqldriver.html#createQuery">createQuery</keyword>
+ <keyword ref="qsqldriver.html#formatValue">formatValue</keyword>
+ <keyword ref="qsqldriver.html#hasFeature">hasFeature</keyword>
+ <keyword ref="qsqldriver.html#isOpen">isOpen</keyword>
+ <keyword ref="qsqldriver.html#isOpenError">isOpenError</keyword>
+ <keyword ref="qsqldriver.html#lastError">lastError</keyword>
+ <keyword ref="qsqldriver.html#nullText">nullText</keyword>
+ <keyword ref="qsqldriver.html#open">open</keyword>
+ <keyword ref="qsqldriver.html#primaryIndex">primaryIndex</keyword>
+ <keyword ref="qsqldriver.html#record">record</keyword>
+ <keyword ref="qsqldriver.html#recordInfo">recordInfo</keyword>
+ <keyword ref="qsqldriver.html#rollbackTransaction">rollbackTransaction</keyword>
+ <keyword ref="qsqldriver.html#setLastError">setLastError</keyword>
+ <keyword ref="qsqldriver.html#setOpen">setOpen</keyword>
+ <keyword ref="qsqldriver.html#setOpenError">setOpenError</keyword>
+ <keyword ref="qsqldriver.html#tables">tables</keyword>
+ <keyword ref="qsqldriver.html#~QSqlDriver">~QSqlDriver</keyword>
+ <section ref="qsqldriver-members.html" title="List of All Member Functions"/>
+ <section ref="qsqldriver-h.html" title="Header File"/>
+</section>
+<section ref="qsqldriverplugin.html" title="QSqlDriverPlugin Class Reference">
+ <keyword ref="qsqldriverplugin.html">QSqlDriverPlugin</keyword>
+ <keyword ref="qsqldriverplugin.html#create">create</keyword>
+ <keyword ref="qsqldriverplugin.html#keys">keys</keyword>
+ <keyword ref="qsqldriverplugin.html#~QSqlDriverPlugin">~QSqlDriverPlugin</keyword>
+ <section ref="qsqldriverplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qsqldriverplugin-h.html" title="Header File"/>
+</section>
+<section ref="qsqleditorfactory.html" title="QSqlEditorFactory Class Reference">
+ <keyword ref="qsqleditorfactory.html">QSqlEditorFactory</keyword>
+ <keyword ref="qsqleditorfactory.html#createEditor">createEditor</keyword>
+ <keyword ref="qsqleditorfactory.html#defaultFactory">defaultFactory</keyword>
+ <keyword ref="qsqleditorfactory.html#installDefaultFactory">installDefaultFactory</keyword>
+ <keyword ref="qsqleditorfactory.html#~QSqlEditorFactory">~QSqlEditorFactory</keyword>
+ <section ref="qsqleditorfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qsqleditorfactory-h.html" title="Header File"/>
+</section>
+<section ref="qsqlerror.html" title="QSqlError Class Reference">
+ <keyword ref="qsqlerror.html">QSqlError</keyword>
+ <keyword ref="qsqlerror.html#Type">Type</keyword>
+ <keyword ref="qsqlerror.html#databaseText">databaseText</keyword>
+ <keyword ref="qsqlerror.html#driverText">driverText</keyword>
+ <keyword ref="qsqlerror.html#number">number</keyword>
+ <keyword ref="qsqlerror.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlerror.html#setDatabaseText">setDatabaseText</keyword>
+ <keyword ref="qsqlerror.html#setDriverText">setDriverText</keyword>
+ <keyword ref="qsqlerror.html#setNumber">setNumber</keyword>
+ <keyword ref="qsqlerror.html#setType">setType</keyword>
+ <keyword ref="qsqlerror.html#text">text</keyword>
+ <keyword ref="qsqlerror.html#type">type</keyword>
+ <keyword ref="qsqlerror.html#~QSqlError">~QSqlError</keyword>
+ <section ref="qsqlerror-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlerror-h.html" title="Header File"/>
+</section>
+<section ref="qsqlfield.html" title="QSqlField Class Reference">
+ <keyword ref="qsqlfield.html">QSqlField</keyword>
+ <keyword ref="qsqlfield.html#clear">clear</keyword>
+ <keyword ref="qsqlfield.html#isNull">isNull</keyword>
+ <keyword ref="qsqlfield.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qsqlfield.html#name">name</keyword>
+ <keyword ref="qsqlfield.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlfield.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qsqlfield.html#setName">setName</keyword>
+ <keyword ref="qsqlfield.html#setNull">setNull</keyword>
+ <keyword ref="qsqlfield.html#setReadOnly">setReadOnly</keyword>
+ <keyword ref="qsqlfield.html#setValue">setValue</keyword>
+ <keyword ref="qsqlfield.html#type">type</keyword>
+ <keyword ref="qsqlfield.html#value">value</keyword>
+ <keyword ref="qsqlfield.html#~QSqlField">~QSqlField</keyword>
+ <section ref="qsqlfield-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlfield-h.html" title="Header File"/>
+</section>
+<section ref="qsqlfieldinfo.html" title="QSqlFieldInfo Class Reference">
+ <keyword ref="qsqlfieldinfo.html">QSqlFieldInfo</keyword>
+ <keyword ref="qsqlfieldinfo.html#defaultValue">defaultValue</keyword>
+ <keyword ref="qsqlfieldinfo.html#isCalculated">isCalculated</keyword>
+ <keyword ref="qsqlfieldinfo.html#isGenerated">isGenerated</keyword>
+ <keyword ref="qsqlfieldinfo.html#isRequired">isRequired</keyword>
+ <keyword ref="qsqlfieldinfo.html#isTrim">isTrim</keyword>
+ <keyword ref="qsqlfieldinfo.html#length">length</keyword>
+ <keyword ref="qsqlfieldinfo.html#name">name</keyword>
+ <keyword ref="qsqlfieldinfo.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlfieldinfo.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qsqlfieldinfo.html#precision">precision</keyword>
+ <keyword ref="qsqlfieldinfo.html#setCalculated">setCalculated</keyword>
+ <keyword ref="qsqlfieldinfo.html#setGenerated">setGenerated</keyword>
+ <keyword ref="qsqlfieldinfo.html#setTrim">setTrim</keyword>
+ <keyword ref="qsqlfieldinfo.html#toField">toField</keyword>
+ <keyword ref="qsqlfieldinfo.html#type">type</keyword>
+ <keyword ref="qsqlfieldinfo.html#typeID">typeID</keyword>
+ <keyword ref="qsqlfieldinfo.html#~QSqlFieldInfo">~QSqlFieldInfo</keyword>
+ <section ref="qsqlfieldinfo-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlfield-h.html" title="Header File"/>
+</section>
+<section ref="qsqlform.html" title="QSqlForm Class Reference">
+ <keyword ref="qsqlform.html">QSqlForm</keyword>
+ <keyword ref="qsqlform.html#clear">clear</keyword>
+ <keyword ref="qsqlform.html#clearValues">clearValues</keyword>
+ <keyword ref="qsqlform.html#count">count</keyword>
+ <keyword ref="qsqlform.html#fieldToWidget">fieldToWidget</keyword>
+ <keyword ref="qsqlform.html#insert">insert</keyword>
+ <keyword ref="qsqlform.html#installPropertyMap">installPropertyMap</keyword>
+ <keyword ref="qsqlform.html#readField">readField</keyword>
+ <keyword ref="qsqlform.html#readFields">readFields</keyword>
+ <keyword ref="qsqlform.html#remove">remove</keyword>
+ <keyword ref="qsqlform.html#setRecord">setRecord</keyword>
+ <keyword ref="qsqlform.html#widget">widget</keyword>
+ <keyword ref="qsqlform.html#widgetToField">widgetToField</keyword>
+ <keyword ref="qsqlform.html#writeField">writeField</keyword>
+ <keyword ref="qsqlform.html#writeFields">writeFields</keyword>
+ <keyword ref="qsqlform.html#~QSqlForm">~QSqlForm</keyword>
+ <section ref="qsqlform-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlform-h.html" title="Header File"/>
+</section>
+<section ref="qsqlindex.html" title="QSqlIndex Class Reference">
+ <keyword ref="qsqlindex.html">QSqlIndex</keyword>
+ <keyword ref="qsqlindex.html#append">append</keyword>
+ <keyword ref="qsqlindex.html#cursorName">cursorName</keyword>
+ <keyword ref="qsqlindex.html#fromStringList">fromStringList</keyword>
+ <keyword ref="qsqlindex.html#isDescending">isDescending</keyword>
+ <keyword ref="qsqlindex.html#name">name</keyword>
+ <keyword ref="qsqlindex.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlindex.html#setCursorName">setCursorName</keyword>
+ <keyword ref="qsqlindex.html#setDescending">setDescending</keyword>
+ <keyword ref="qsqlindex.html#setName">setName</keyword>
+ <keyword ref="qsqlindex.html#~QSqlIndex">~QSqlIndex</keyword>
+ <section ref="qsqlindex-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlindex-h.html" title="Header File"/>
+</section>
+<section ref="qsqlpropertymap.html" title="QSqlPropertyMap Class Reference">
+ <keyword ref="qsqlpropertymap.html">QSqlPropertyMap</keyword>
+ <keyword ref="qsqlpropertymap.html#defaultMap">defaultMap</keyword>
+ <keyword ref="qsqlpropertymap.html#insert">insert</keyword>
+ <keyword ref="qsqlpropertymap.html#installDefaultMap">installDefaultMap</keyword>
+ <keyword ref="qsqlpropertymap.html#property">property</keyword>
+ <keyword ref="qsqlpropertymap.html#remove">remove</keyword>
+ <keyword ref="qsqlpropertymap.html#setProperty">setProperty</keyword>
+ <keyword ref="qsqlpropertymap.html#~QSqlPropertyMap">~QSqlPropertyMap</keyword>
+ <section ref="qsqlpropertymap-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlpropertymap-h.html" title="Header File"/>
+</section>
+<section ref="qsqlquery.html" title="QSqlQuery Class Reference">
+ <keyword ref="qsqlquery.html">QSqlQuery</keyword>
+ <keyword ref="qsqlquery.html#addBindValue">addBindValue</keyword>
+ <keyword ref="qsqlquery.html#afterSeek">afterSeek</keyword>
+ <keyword ref="qsqlquery.html#at">at</keyword>
+ <keyword ref="qsqlquery.html#beforeSeek">beforeSeek</keyword>
+ <keyword ref="qsqlquery.html#bindValue">bindValue</keyword>
+ <keyword ref="qsqlquery.html#boundValue">boundValue</keyword>
+ <keyword ref="qsqlquery.html#boundValues">boundValues</keyword>
+ <keyword ref="qsqlquery.html#driver">driver</keyword>
+ <keyword ref="qsqlquery.html#exec">exec</keyword>
+ <keyword ref="qsqlquery.html#executedQuery">executedQuery</keyword>
+ <keyword ref="qsqlquery.html#first">first</keyword>
+ <keyword ref="qsqlquery.html#isActive">isActive</keyword>
+ <keyword ref="qsqlquery.html#isForwardOnly">isForwardOnly</keyword>
+ <keyword ref="qsqlquery.html#isNull">isNull</keyword>
+ <keyword ref="qsqlquery.html#isSelect">isSelect</keyword>
+ <keyword ref="qsqlquery.html#isValid">isValid</keyword>
+ <keyword ref="qsqlquery.html#last">last</keyword>
+ <keyword ref="qsqlquery.html#lastError">lastError</keyword>
+ <keyword ref="qsqlquery.html#lastQuery">lastQuery</keyword>
+ <keyword ref="qsqlquery.html#next">next</keyword>
+ <keyword ref="qsqlquery.html#numRowsAffected">numRowsAffected</keyword>
+ <keyword ref="qsqlquery.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlquery.html#prepare">prepare</keyword>
+ <keyword ref="qsqlquery.html#prev">prev</keyword>
+ <keyword ref="qsqlquery.html#result">result</keyword>
+ <keyword ref="qsqlquery.html#seek">seek</keyword>
+ <keyword ref="qsqlquery.html#setForwardOnly">setForwardOnly</keyword>
+ <keyword ref="qsqlquery.html#size">size</keyword>
+ <keyword ref="qsqlquery.html#value">value</keyword>
+ <keyword ref="qsqlquery.html#~QSqlQuery">~QSqlQuery</keyword>
+ <section ref="qsqlquery-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlquery-h.html" title="Header File"/>
+</section>
+<section ref="qsqlrecord.html" title="QSqlRecord Class Reference">
+ <keyword ref="qsqlrecord.html">QSqlRecord</keyword>
+ <keyword ref="qsqlrecord.html#append">append</keyword>
+ <keyword ref="qsqlrecord.html#clear">clear</keyword>
+ <keyword ref="qsqlrecord.html#clearValues">clearValues</keyword>
+ <keyword ref="qsqlrecord.html#contains">contains</keyword>
+ <keyword ref="qsqlrecord.html#count">count</keyword>
+ <keyword ref="qsqlrecord.html#field">field</keyword>
+ <keyword ref="qsqlrecord.html#fieldName">fieldName</keyword>
+ <keyword ref="qsqlrecord.html#insert">insert</keyword>
+ <keyword ref="qsqlrecord.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qsqlrecord.html#isGenerated">isGenerated</keyword>
+ <keyword ref="qsqlrecord.html#isNull">isNull</keyword>
+ <keyword ref="qsqlrecord.html#operator-eq">operator=</keyword>
+ <keyword ref="qsqlrecord.html#position">position</keyword>
+ <keyword ref="qsqlrecord.html#remove">remove</keyword>
+ <keyword ref="qsqlrecord.html#setGenerated">setGenerated</keyword>
+ <keyword ref="qsqlrecord.html#setNull">setNull</keyword>
+ <keyword ref="qsqlrecord.html#setValue">setValue</keyword>
+ <keyword ref="qsqlrecord.html#toString">toString</keyword>
+ <keyword ref="qsqlrecord.html#toStringList">toStringList</keyword>
+ <keyword ref="qsqlrecord.html#value">value</keyword>
+ <keyword ref="qsqlrecord.html#~QSqlRecord">~QSqlRecord</keyword>
+ <section ref="qsqlrecord-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlrecord-h.html" title="Header File"/>
+</section>
+<section ref="qsqlrecordinfo.html" title="QSqlRecordInfo Class Reference">
+ <keyword ref="qsqlrecordinfo.html">QSqlRecordInfo</keyword>
+ <keyword ref="qsqlrecordinfo.html#contains">contains</keyword>
+ <keyword ref="qsqlrecordinfo.html#find">find</keyword>
+ <keyword ref="qsqlrecordinfo.html#toRecord">toRecord</keyword>
+ <section ref="qsqlrecordinfo-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlrecord-h.html" title="Header File"/>
+</section>
+<section ref="qsqlresult.html" title="QSqlResult Class Reference">
+ <keyword ref="qsqlresult.html">QSqlResult</keyword>
+ <keyword ref="qsqlresult.html#at">at</keyword>
+ <keyword ref="qsqlresult.html#data">data</keyword>
+ <keyword ref="qsqlresult.html#driver">driver</keyword>
+ <keyword ref="qsqlresult.html#fetch">fetch</keyword>
+ <keyword ref="qsqlresult.html#fetchFirst">fetchFirst</keyword>
+ <keyword ref="qsqlresult.html#fetchLast">fetchLast</keyword>
+ <keyword ref="qsqlresult.html#fetchNext">fetchNext</keyword>
+ <keyword ref="qsqlresult.html#fetchPrev">fetchPrev</keyword>
+ <keyword ref="qsqlresult.html#isActive">isActive</keyword>
+ <keyword ref="qsqlresult.html#isForwardOnly">isForwardOnly</keyword>
+ <keyword ref="qsqlresult.html#isNull">isNull</keyword>
+ <keyword ref="qsqlresult.html#isSelect">isSelect</keyword>
+ <keyword ref="qsqlresult.html#isValid">isValid</keyword>
+ <keyword ref="qsqlresult.html#lastError">lastError</keyword>
+ <keyword ref="qsqlresult.html#lastQuery">lastQuery</keyword>
+ <keyword ref="qsqlresult.html#numRowsAffected">numRowsAffected</keyword>
+ <keyword ref="qsqlresult.html#reset">reset</keyword>
+ <keyword ref="qsqlresult.html#setActive">setActive</keyword>
+ <keyword ref="qsqlresult.html#setAt">setAt</keyword>
+ <keyword ref="qsqlresult.html#setForwardOnly">setForwardOnly</keyword>
+ <keyword ref="qsqlresult.html#setLastError">setLastError</keyword>
+ <keyword ref="qsqlresult.html#setQuery">setQuery</keyword>
+ <keyword ref="qsqlresult.html#setSelect">setSelect</keyword>
+ <keyword ref="qsqlresult.html#size">size</keyword>
+ <keyword ref="qsqlresult.html#~QSqlResult">~QSqlResult</keyword>
+ <section ref="qsqlresult-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlresult-h.html" title="Header File"/>
+</section>
+<section ref="qsqlselectcursor.html" title="QSqlSelectCursor Class Reference">
+ <keyword ref="qsqlselectcursor.html">QSqlSelectCursor</keyword>
+ <keyword ref="qsqlselectcursor.html#~QSqlSelectCursor">~QSqlSelectCursor</keyword>
+ <section ref="qsqlselectcursor-members.html" title="List of All Member Functions"/>
+ <section ref="qsqlselectcursor-h.html" title="Header File"/>
+</section>
+<section ref="qstatusbar.html" title="QStatusBar Class Reference">
+ <keyword ref="qstatusbar.html">QStatusBar</keyword>
+ <keyword ref="qstatusbar.html#addWidget">addWidget</keyword>
+ <keyword ref="qstatusbar.html#clear">clear</keyword>
+ <keyword ref="qstatusbar.html#hideOrShow">hideOrShow</keyword>
+ <keyword ref="qstatusbar.html#isSizeGripEnabled">isSizeGripEnabled</keyword>
+ <keyword ref="qstatusbar.html#message">message</keyword>
+ <keyword ref="qstatusbar.html#messageChanged">messageChanged</keyword>
+ <keyword ref="qstatusbar.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qstatusbar.html#reformat">reformat</keyword>
+ <keyword ref="qstatusbar.html#removeWidget">removeWidget</keyword>
+ <keyword ref="qstatusbar.html#setSizeGripEnabled">setSizeGripEnabled</keyword>
+ <keyword ref="qstatusbar.html#sizeGripEnabled-prop">sizeGripEnabled</keyword>
+ <keyword ref="qstatusbar.html#~QStatusBar">~QStatusBar</keyword>
+ <section ref="qstatusbar-members.html" title="List of All Member Functions"/>
+ <section ref="qstatusbar-h.html" title="Header File"/>
+</section>
+<section ref="qstoreddrag.html" title="QStoredDrag Class Reference">
+ <keyword ref="qstoreddrag.html">QStoredDrag</keyword>
+ <keyword ref="qstoreddrag.html#encodedData">encodedData</keyword>
+ <keyword ref="qstoreddrag.html#setEncodedData">setEncodedData</keyword>
+ <keyword ref="qstoreddrag.html#~QStoredDrag">~QStoredDrag</keyword>
+ <section ref="qstoreddrag-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qstrilist.html" title="QStrIList Class Reference">
+ <keyword ref="qstrilist.html">QStrIList</keyword>
+ <keyword ref="qstrilist.html#~QStrIList">~QStrIList</keyword>
+ <section ref="qstrilist-members.html" title="List of All Member Functions"/>
+ <section ref="qstrlist-h.html" title="Header File"/>
+</section>
+<section ref="qstring.html" title="QString Class Reference">
+ <keyword ref="qstring.html">QString</keyword>
+ <keyword ref="qstring.html#SectionFlags">SectionFlags</keyword>
+ <keyword ref="qstring.html#append">append</keyword>
+ <keyword ref="qstring.html#arg">arg</keyword>
+ <keyword ref="qstring.html#ascii">ascii</keyword>
+ <keyword ref="qstring.html#at">at</keyword>
+ <keyword ref="qstring.html#capacity">capacity</keyword>
+ <keyword ref="qstring.html#compare">compare</keyword>
+ <keyword ref="qstring.html#compose">compose</keyword>
+ <keyword ref="qstring.html#constref">constref</keyword>
+ <keyword ref="qstring.html#contains">contains</keyword>
+ <keyword ref="qstring.html#detach">detach</keyword>
+ <keyword ref="qstring.html#endsWith">endsWith</keyword>
+ <keyword ref="qstring.html#fill">fill</keyword>
+ <keyword ref="qstring.html#find">find</keyword>
+ <keyword ref="qstring.html#findRev">findRev</keyword>
+ <keyword ref="qstring.html#fromAscii">fromAscii</keyword>
+ <keyword ref="qstring.html#fromLatin1">fromLatin1</keyword>
+ <keyword ref="qstring.html#fromLocal8Bit">fromLocal8Bit</keyword>
+ <keyword ref="qstring.html#fromUcs2">fromUcs2</keyword>
+ <keyword ref="qstring.html#fromUtf8">fromUtf8</keyword>
+ <keyword ref="qstring.html#insert">insert</keyword>
+ <keyword ref="qstring.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qstring.html#isNull">isNull</keyword>
+ <keyword ref="qstring.html#latin1">latin1</keyword>
+ <keyword ref="qstring.html#latin1ToUnicode">latin1ToUnicode</keyword>
+ <keyword ref="qstring.html#left">left</keyword>
+ <keyword ref="qstring.html#leftJustify">leftJustify</keyword>
+ <keyword ref="qstring.html#length">length</keyword>
+ <keyword ref="qstring.html#local8Bit">local8Bit</keyword>
+ <keyword ref="qstring.html#localeAwareCompare">localeAwareCompare</keyword>
+ <keyword ref="qstring.html#lower">lower</keyword>
+ <keyword ref="qstring.html#mid">mid</keyword>
+ <keyword ref="qstring.html#number">number</keyword>
+ <keyword ref="qstring.html#operator-const-char-*">operator const char *</keyword>
+ <keyword ref="qstring.html#operator-std::string">string</keyword>
+ <keyword ref="qstring.html#operator!">operator!</keyword>
+ <keyword ref="qstring.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qstring.html#operator-eq">operator=</keyword>
+ <keyword ref="qstring.html#operator[]">operator[]</keyword>
+ <keyword ref="qstring.html#prepend">prepend</keyword>
+ <keyword ref="qstring.html#real_detach">real_detach</keyword>
+ <keyword ref="qstring.html#ref">ref</keyword>
+ <keyword ref="qstring.html#remove">remove</keyword>
+ <keyword ref="qstring.html#replace">replace</keyword>
+ <keyword ref="qstring.html#reserve">reserve</keyword>
+ <keyword ref="qstring.html#right">right</keyword>
+ <keyword ref="qstring.html#rightJustify">rightJustify</keyword>
+ <keyword ref="qstring.html#section">section</keyword>
+ <keyword ref="qstring.html#setAscii">setAscii</keyword>
+ <keyword ref="qstring.html#setLatin1">setLatin1</keyword>
+ <keyword ref="qstring.html#setLength">setLength</keyword>
+ <keyword ref="qstring.html#setNum">setNum</keyword>
+ <keyword ref="qstring.html#setUnicode">setUnicode</keyword>
+ <keyword ref="qstring.html#setUnicodeCodes">setUnicodeCodes</keyword>
+ <keyword ref="qstring.html#simplifyWhiteSpace">simplifyWhiteSpace</keyword>
+ <keyword ref="qstring.html#sprintf">sprintf</keyword>
+ <keyword ref="qstring.html#squeeze">squeeze</keyword>
+ <keyword ref="qstring.html#startsWith">startsWith</keyword>
+ <keyword ref="qstring.html#stripWhiteSpace">stripWhiteSpace</keyword>
+ <keyword ref="qstring.html#toDouble">toDouble</keyword>
+ <keyword ref="qstring.html#toFloat">toFloat</keyword>
+ <keyword ref="qstring.html#toInt">toInt</keyword>
+ <keyword ref="qstring.html#toLong">toLong</keyword>
+ <keyword ref="qstring.html#toLongLong">toLongLong</keyword>
+ <keyword ref="qstring.html#toShort">toShort</keyword>
+ <keyword ref="qstring.html#toUInt">toUInt</keyword>
+ <keyword ref="qstring.html#toULong">toULong</keyword>
+ <keyword ref="qstring.html#toULongLong">toULongLong</keyword>
+ <keyword ref="qstring.html#toUShort">toUShort</keyword>
+ <keyword ref="qstring.html#truncate">truncate</keyword>
+ <keyword ref="qstring.html#ucs2">ucs2</keyword>
+ <keyword ref="qstring.html#unicode">unicode</keyword>
+ <keyword ref="qstring.html#unicodeToLatin1">unicodeToLatin1</keyword>
+ <keyword ref="qstring.html#upper">upper</keyword>
+ <keyword ref="qstring.html#utf8">utf8</keyword>
+ <keyword ref="qstring.html#~QString">~QString</keyword>
+ <keyword ref="qstring.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qstring.html#operator+">operator+</keyword>
+ <keyword ref="qstring.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qstring.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qstring.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qstring.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qstring.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qstring.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qstring.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qstring-members.html" title="List of All Member Functions"/>
+ <section ref="qstring-h.html" title="Header File"/>
+</section>
+<section ref="qstringlist.html" title="QStringList Class Reference">
+ <keyword ref="qstringlist.html">QStringList</keyword>
+ <keyword ref="qstringlist.html#fromStrList">fromStrList</keyword>
+ <keyword ref="qstringlist.html#grep">grep</keyword>
+ <keyword ref="qstringlist.html#gres">gres</keyword>
+ <keyword ref="qstringlist.html#join">join</keyword>
+ <keyword ref="qstringlist.html#sort">sort</keyword>
+ <keyword ref="qstringlist.html#split">split</keyword>
+ <section ref="qstringlist-members.html" title="List of All Member Functions"/>
+ <section ref="qstringlist-h.html" title="Header File"/>
+</section>
+<section ref="qstrlist.html" title="QStrList Class Reference">
+ <keyword ref="qstrlist.html">QStrList</keyword>
+ <keyword ref="qstrlist.html#operator-eq">operator=</keyword>
+ <keyword ref="qstrlist.html#~QStrList">~QStrList</keyword>
+ <section ref="qstrlist-members.html" title="List of All Member Functions"/>
+ <section ref="qstrlist-h.html" title="Header File"/>
+</section>
+<section ref="qstrlistiterator.html" title="QStrListIterator Class Reference">
+ <keyword ref="qstrlistiterator.html">QStrListIterator</keyword>
+ <section ref="qstrlistiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qstrlist-h.html" title="Header File"/>
+</section>
+<section ref="qstyle.html" title="QStyle Class Reference">
+ <keyword ref="qstyle.html">QStyle</keyword>
+ <keyword ref="qstyle.html#ComplexControl">ComplexControl</keyword>
+ <keyword ref="qstyle.html#ContentsType">ContentsType</keyword>
+ <keyword ref="qstyle.html#ControlElement">ControlElement</keyword>
+ <keyword ref="qstyle.html#PixelMetric">PixelMetric</keyword>
+ <keyword ref="qstyle.html#PrimitiveElement">PrimitiveElement</keyword>
+ <keyword ref="qstyle.html#StyleFlags">StyleFlags</keyword>
+ <keyword ref="qstyle.html#StyleHint">StyleHint</keyword>
+ <keyword ref="qstyle.html#StylePixmap">StylePixmap</keyword>
+ <keyword ref="qstyle.html#SubControl">SubControl</keyword>
+ <keyword ref="qstyle.html#SubRect">SubRect</keyword>
+ <keyword ref="qstyle.html#drawComplexControl">drawComplexControl</keyword>
+ <keyword ref="qstyle.html#drawComplexControlMask">drawComplexControlMask</keyword>
+ <keyword ref="qstyle.html#drawControl">drawControl</keyword>
+ <keyword ref="qstyle.html#drawControlMask">drawControlMask</keyword>
+ <keyword ref="qstyle.html#drawItem">drawItem</keyword>
+ <keyword ref="qstyle.html#drawPrimitive">drawPrimitive</keyword>
+ <keyword ref="qstyle.html#itemRect">itemRect</keyword>
+ <keyword ref="qstyle.html#pixelMetric">pixelMetric</keyword>
+ <keyword ref="qstyle.html#polish">polish</keyword>
+ <keyword ref="qstyle.html#polishPopupMenu">polishPopupMenu</keyword>
+ <keyword ref="qstyle.html#querySubControl">querySubControl</keyword>
+ <keyword ref="qstyle.html#querySubControlMetrics">querySubControlMetrics</keyword>
+ <keyword ref="qstyle.html#sizeFromContents">sizeFromContents</keyword>
+ <keyword ref="qstyle.html#styleHint">styleHint</keyword>
+ <keyword ref="qstyle.html#stylePixmap">stylePixmap</keyword>
+ <keyword ref="qstyle.html#subRect">subRect</keyword>
+ <keyword ref="qstyle.html#unPolish">unPolish</keyword>
+ <keyword ref="qstyle.html#visualRect">visualRect</keyword>
+ <keyword ref="qstyle.html#~QStyle">~QStyle</keyword>
+ <section ref="qstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qstyle-h.html" title="Header File"/>
+</section>
+<section ref="qstylefactory.html" title="QStyleFactory Class Reference">
+ <keyword ref="qstylefactory.html">QStyleFactory</keyword>
+ <keyword ref="qstylefactory.html#create">create</keyword>
+ <keyword ref="qstylefactory.html#keys">keys</keyword>
+ <section ref="qstylefactory-members.html" title="List of All Member Functions"/>
+ <section ref="qstylefactory-h.html" title="Header File"/>
+</section>
+<section ref="qstyleoption.html" title="QStyleOption Class Reference">
+ <keyword ref="qstyleoption.html">QStyleOption</keyword>
+ <keyword ref="qstyleoption.html#StyleOptionDefault">StyleOptionDefault</keyword>
+ <keyword ref="qstyleoption.html#arrowType">arrowType</keyword>
+ <keyword ref="qstyleoption.html#checkListItem">checkListItem</keyword>
+ <keyword ref="qstyleoption.html#color">color</keyword>
+ <keyword ref="qstyleoption.html#day">day</keyword>
+ <keyword ref="qstyleoption.html#frameShadow">frameShadow</keyword>
+ <keyword ref="qstyleoption.html#frameShape">frameShape</keyword>
+ <keyword ref="qstyleoption.html#headerSection">headerSection</keyword>
+ <keyword ref="qstyleoption.html#isDefault">isDefault</keyword>
+ <keyword ref="qstyleoption.html#lineWidth">lineWidth</keyword>
+ <keyword ref="qstyleoption.html#listViewItem">listViewItem</keyword>
+ <keyword ref="qstyleoption.html#maxIconWidth">maxIconWidth</keyword>
+ <keyword ref="qstyleoption.html#menuItem">menuItem</keyword>
+ <keyword ref="qstyleoption.html#midLineWidth">midLineWidth</keyword>
+ <keyword ref="qstyleoption.html#rect">rect</keyword>
+ <keyword ref="qstyleoption.html#tab">tab</keyword>
+ <keyword ref="qstyleoption.html#tabWidth">tabWidth</keyword>
+ <keyword ref="qstyleoption.html#widget">widget</keyword>
+ <section ref="qstyleoption-members.html" title="List of All Member Functions"/>
+ <section ref="qstyle-h.html" title="Header File"/>
+</section>
+<section ref="qstyleplugin.html" title="QStylePlugin Class Reference">
+ <keyword ref="qstyleplugin.html">QStylePlugin</keyword>
+ <keyword ref="qstyleplugin.html#create">create</keyword>
+ <keyword ref="qstyleplugin.html#keys">keys</keyword>
+ <keyword ref="qstyleplugin.html#~QStylePlugin">~QStylePlugin</keyword>
+ <section ref="qstyleplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qstyleplugin-h.html" title="Header File"/>
+</section>
+<section ref="qstylesheet.html" title="QStyleSheet Class Reference">
+ <keyword ref="qstylesheet.html">QStyleSheet</keyword>
+ <keyword ref="qstylesheet.html#convertFromPlainText">convertFromPlainText</keyword>
+ <keyword ref="qstylesheet.html#defaultSheet">defaultSheet</keyword>
+ <keyword ref="qstylesheet.html#error">error</keyword>
+ <keyword ref="qstylesheet.html#escape">escape</keyword>
+ <keyword ref="qstylesheet.html#item">item</keyword>
+ <keyword ref="qstylesheet.html#mightBeRichText">mightBeRichText</keyword>
+ <keyword ref="qstylesheet.html#scaleFont">scaleFont</keyword>
+ <keyword ref="qstylesheet.html#setDefaultSheet">setDefaultSheet</keyword>
+ <keyword ref="qstylesheet.html#tag">tag</keyword>
+ <keyword ref="qstylesheet.html#~QStyleSheet">~QStyleSheet</keyword>
+ <section ref="qstylesheet-members.html" title="List of All Member Functions"/>
+ <section ref="qstylesheet-h.html" title="Header File"/>
+</section>
+<section ref="qstylesheetitem.html" title="QStyleSheetItem Class Reference">
+ <keyword ref="qstylesheetitem.html">QStyleSheetItem</keyword>
+ <keyword ref="qstylesheetitem.html#DisplayMode">DisplayMode</keyword>
+ <keyword ref="qstylesheetitem.html#ListStyle">ListStyle</keyword>
+ <keyword ref="qstylesheetitem.html#Margin">Margin</keyword>
+ <keyword ref="qstylesheetitem.html#VerticalAlignment">VerticalAlignment</keyword>
+ <keyword ref="qstylesheetitem.html#WhiteSpaceMode">WhiteSpaceMode</keyword>
+ <keyword ref="qstylesheetitem.html#alignment">alignment</keyword>
+ <keyword ref="qstylesheetitem.html#allowedInContext">allowedInContext</keyword>
+ <keyword ref="qstylesheetitem.html#color">color</keyword>
+ <keyword ref="qstylesheetitem.html#contexts">contexts</keyword>
+ <keyword ref="qstylesheetitem.html#definesFontItalic">definesFontItalic</keyword>
+ <keyword ref="qstylesheetitem.html#definesFontStrikeOut">definesFontStrikeOut</keyword>
+ <keyword ref="qstylesheetitem.html#definesFontUnderline">definesFontUnderline</keyword>
+ <keyword ref="qstylesheetitem.html#displayMode">displayMode</keyword>
+ <keyword ref="qstylesheetitem.html#fontFamily">fontFamily</keyword>
+ <keyword ref="qstylesheetitem.html#fontItalic">fontItalic</keyword>
+ <keyword ref="qstylesheetitem.html#fontSize">fontSize</keyword>
+ <keyword ref="qstylesheetitem.html#fontStrikeOut">fontStrikeOut</keyword>
+ <keyword ref="qstylesheetitem.html#fontUnderline">fontUnderline</keyword>
+ <keyword ref="qstylesheetitem.html#fontWeight">fontWeight</keyword>
+ <keyword ref="qstylesheetitem.html#isAnchor">isAnchor</keyword>
+ <keyword ref="qstylesheetitem.html#listStyle">listStyle</keyword>
+ <keyword ref="qstylesheetitem.html#logicalFontSize">logicalFontSize</keyword>
+ <keyword ref="qstylesheetitem.html#logicalFontSizeStep">logicalFontSizeStep</keyword>
+ <keyword ref="qstylesheetitem.html#margin">margin</keyword>
+ <keyword ref="qstylesheetitem.html#name">name</keyword>
+ <keyword ref="qstylesheetitem.html#operator-eq">operator=</keyword>
+ <keyword ref="qstylesheetitem.html#selfNesting">selfNesting</keyword>
+ <keyword ref="qstylesheetitem.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qstylesheetitem.html#setAnchor">setAnchor</keyword>
+ <keyword ref="qstylesheetitem.html#setColor">setColor</keyword>
+ <keyword ref="qstylesheetitem.html#setContexts">setContexts</keyword>
+ <keyword ref="qstylesheetitem.html#setDisplayMode">setDisplayMode</keyword>
+ <keyword ref="qstylesheetitem.html#setFontFamily">setFontFamily</keyword>
+ <keyword ref="qstylesheetitem.html#setFontItalic">setFontItalic</keyword>
+ <keyword ref="qstylesheetitem.html#setFontSize">setFontSize</keyword>
+ <keyword ref="qstylesheetitem.html#setFontStrikeOut">setFontStrikeOut</keyword>
+ <keyword ref="qstylesheetitem.html#setFontUnderline">setFontUnderline</keyword>
+ <keyword ref="qstylesheetitem.html#setFontWeight">setFontWeight</keyword>
+ <keyword ref="qstylesheetitem.html#setListStyle">setListStyle</keyword>
+ <keyword ref="qstylesheetitem.html#setLogicalFontSize">setLogicalFontSize</keyword>
+ <keyword ref="qstylesheetitem.html#setLogicalFontSizeStep">setLogicalFontSizeStep</keyword>
+ <keyword ref="qstylesheetitem.html#setMargin">setMargin</keyword>
+ <keyword ref="qstylesheetitem.html#setSelfNesting">setSelfNesting</keyword>
+ <keyword ref="qstylesheetitem.html#setVerticalAlignment">setVerticalAlignment</keyword>
+ <keyword ref="qstylesheetitem.html#setWhiteSpaceMode">setWhiteSpaceMode</keyword>
+ <keyword ref="qstylesheetitem.html#styleSheet">styleSheet</keyword>
+ <keyword ref="qstylesheetitem.html#verticalAlignment">verticalAlignment</keyword>
+ <keyword ref="qstylesheetitem.html#whiteSpaceMode">whiteSpaceMode</keyword>
+ <keyword ref="qstylesheetitem.html#~QStyleSheetItem">~QStyleSheetItem</keyword>
+ <section ref="qstylesheetitem-members.html" title="List of All Member Functions"/>
+ <section ref="qstylesheet-h.html" title="Header File"/>
+</section>
+<section ref="qsyntaxhighlighter.html" title="QSyntaxHighlighter Class Reference">
+ <keyword ref="qsyntaxhighlighter.html">QSyntaxHighlighter</keyword>
+ <keyword ref="qsyntaxhighlighter.html#currentParagraph">currentParagraph</keyword>
+ <keyword ref="qsyntaxhighlighter.html#highlightParagraph">highlightParagraph</keyword>
+ <keyword ref="qsyntaxhighlighter.html#rehighlight">rehighlight</keyword>
+ <keyword ref="qsyntaxhighlighter.html#setFormat">setFormat</keyword>
+ <keyword ref="qsyntaxhighlighter.html#textEdit">textEdit</keyword>
+ <keyword ref="qsyntaxhighlighter.html#~QSyntaxHighlighter">~QSyntaxHighlighter</keyword>
+ <section ref="qsyntaxhighlighter-members.html" title="List of All Member Functions"/>
+ <section ref="qsyntaxhighlighter-h.html" title="Header File"/>
+</section>
+<section ref="qt.html" title="Qt Class Reference">
+ <keyword ref="qt.html">Qt</keyword>
+ <keyword ref="qt.html#AlignmentFlags">AlignmentFlags</keyword>
+ <keyword ref="qt.html#AnchorAttribute">AnchorAttribute</keyword>
+ <keyword ref="qt.html#ArrowType">ArrowType</keyword>
+ <keyword ref="qt.html#BGMode">BGMode</keyword>
+ <keyword ref="qt.html#BackgroundMode">BackgroundMode</keyword>
+ <keyword ref="qt.html#BrushStyle">BrushStyle</keyword>
+ <keyword ref="qt.html#ButtonState">ButtonState</keyword>
+ <keyword ref="qt.html#Corner">Corner</keyword>
+ <keyword ref="qt.html#CursorShape">CursorShape</keyword>
+ <keyword ref="qt.html#DateFormat">DateFormat</keyword>
+ <keyword ref="qt.html#Dock">Dock</keyword>
+ <keyword ref="qt.html#ImageConversionFlags">ImageConversionFlags</keyword>
+ <keyword ref="qt.html#Key">Key</keyword>
+ <keyword ref="qt.html#MacintoshVersion">MacintoshVersion</keyword>
+ <keyword ref="qt.html#Modifier">Modifier</keyword>
+ <keyword ref="qt.html#Orientation">Orientation</keyword>
+ <keyword ref="qt.html#PaintUnit">PaintUnit</keyword>
+ <keyword ref="qt.html#PenCapStyle">PenCapStyle</keyword>
+ <keyword ref="qt.html#PenJoinStyle">PenJoinStyle</keyword>
+ <keyword ref="qt.html#PenStyle">PenStyle</keyword>
+ <keyword ref="qt.html#RasterOp">RasterOp</keyword>
+ <keyword ref="qt.html#SequenceMatch">SequenceMatch</keyword>
+ <keyword ref="qt.html#SortOrder">SortOrder</keyword>
+ <keyword ref="qt.html#StringComparisonMode">StringComparisonMode</keyword>
+ <keyword ref="qt.html#TextFlags">TextFlags</keyword>
+ <keyword ref="qt.html#TextFormat">TextFormat</keyword>
+ <keyword ref="qt.html#TimeSpec">TimeSpec</keyword>
+ <keyword ref="qt.html#UIEffect">UIEffect</keyword>
+ <keyword ref="qt.html#WidgetFlags">WidgetFlags</keyword>
+ <keyword ref="qt.html#WidgetState">WidgetState</keyword>
+ <keyword ref="qt.html#WindowState">WindowState</keyword>
+ <keyword ref="qt.html#WindowsVersion">WindowsVersion</keyword>
+ <section ref="qt-members.html" title="List of All Member Functions"/>
+ <section ref="qnamespace-h.html" title="Header File"/>
+</section>
+<section ref="qtab.html" title="QTab Class Reference">
+ <keyword ref="qtab.html">QTab</keyword>
+ <keyword ref="qtab.html#iconSet">iconSet</keyword>
+ <keyword ref="qtab.html#identifier">identifier</keyword>
+ <keyword ref="qtab.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qtab.html#rect">rect</keyword>
+ <keyword ref="qtab.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qtab.html#setIconSet">setIconSet</keyword>
+ <keyword ref="qtab.html#setIdentifier">setIdentifier</keyword>
+ <keyword ref="qtab.html#setRect">setRect</keyword>
+ <keyword ref="qtab.html#setText">setText</keyword>
+ <keyword ref="qtab.html#text">text</keyword>
+ <keyword ref="qtab.html#~QTab">~QTab</keyword>
+ <section ref="qtab-members.html" title="List of All Member Functions"/>
+ <section ref="qtabbar-h.html" title="Header File"/>
+</section>
+<section ref="qtabbar.html" title="QTabBar Class Reference">
+ <keyword ref="qtabbar.html">QTabBar</keyword>
+ <keyword ref="qtabbar.html#Shape">Shape</keyword>
+ <keyword ref="qtabbar.html#addTab">addTab</keyword>
+ <keyword ref="qtabbar.html#count">count</keyword>
+ <keyword ref="qtabbar.html#count-prop">count</keyword>
+ <keyword ref="qtabbar.html#currentTab">currentTab</keyword>
+ <keyword ref="qtabbar.html#currentTab-prop">currentTab</keyword>
+ <keyword ref="qtabbar.html#indexOf">indexOf</keyword>
+ <keyword ref="qtabbar.html#insertTab">insertTab</keyword>
+ <keyword ref="qtabbar.html#isTabEnabled">isTabEnabled</keyword>
+ <keyword ref="qtabbar.html#keyboardFocusTab">keyboardFocusTab</keyword>
+ <keyword ref="qtabbar.html#keyboardFocusTab-prop">keyboardFocusTab</keyword>
+ <keyword ref="qtabbar.html#layoutChanged">layoutChanged</keyword>
+ <keyword ref="qtabbar.html#layoutTabs">layoutTabs</keyword>
+ <keyword ref="qtabbar.html#paint">paint</keyword>
+ <keyword ref="qtabbar.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qtabbar.html#paintLabel">paintLabel</keyword>
+ <keyword ref="qtabbar.html#removeTab">removeTab</keyword>
+ <keyword ref="qtabbar.html#removeToolTip">removeToolTip</keyword>
+ <keyword ref="qtabbar.html#selectTab">selectTab</keyword>
+ <keyword ref="qtabbar.html#selected">selected</keyword>
+ <keyword ref="qtabbar.html#setCurrentTab">setCurrentTab</keyword>
+ <keyword ref="qtabbar.html#setShape">setShape</keyword>
+ <keyword ref="qtabbar.html#setTabEnabled">setTabEnabled</keyword>
+ <keyword ref="qtabbar.html#setToolTip">setToolTip</keyword>
+ <keyword ref="qtabbar.html#shape">shape</keyword>
+ <keyword ref="qtabbar.html#shape-prop">shape</keyword>
+ <keyword ref="qtabbar.html#tab">tab</keyword>
+ <keyword ref="qtabbar.html#tabAt">tabAt</keyword>
+ <keyword ref="qtabbar.html#tabList">tabList</keyword>
+ <keyword ref="qtabbar.html#toolTip">toolTip</keyword>
+ <keyword ref="qtabbar.html#~QTabBar">~QTabBar</keyword>
+ <section ref="qtabbar-members.html" title="List of All Member Functions"/>
+ <section ref="qtabbar-h.html" title="Header File"/>
+</section>
+<section ref="qtabdialog.html" title="QTabDialog Class Reference">
+ <keyword ref="qtabdialog.html">QTabDialog</keyword>
+ <keyword ref="qtabdialog.html#aboutToShow">aboutToShow</keyword>
+ <keyword ref="qtabdialog.html#addTab">addTab</keyword>
+ <keyword ref="qtabdialog.html#applyButtonPressed">applyButtonPressed</keyword>
+ <keyword ref="qtabdialog.html#cancelButtonPressed">cancelButtonPressed</keyword>
+ <keyword ref="qtabdialog.html#changeTab">changeTab</keyword>
+ <keyword ref="qtabdialog.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qtabdialog.html#currentPage">currentPage</keyword>
+ <keyword ref="qtabdialog.html#defaultButtonPressed">defaultButtonPressed</keyword>
+ <keyword ref="qtabdialog.html#hasApplyButton">hasApplyButton</keyword>
+ <keyword ref="qtabdialog.html#hasCancelButton">hasCancelButton</keyword>
+ <keyword ref="qtabdialog.html#hasDefaultButton">hasDefaultButton</keyword>
+ <keyword ref="qtabdialog.html#hasHelpButton">hasHelpButton</keyword>
+ <keyword ref="qtabdialog.html#hasOkButton">hasOkButton</keyword>
+ <keyword ref="qtabdialog.html#helpButtonPressed">helpButtonPressed</keyword>
+ <keyword ref="qtabdialog.html#insertTab">insertTab</keyword>
+ <keyword ref="qtabdialog.html#isTabEnabled">isTabEnabled</keyword>
+ <keyword ref="qtabdialog.html#removePage">removePage</keyword>
+ <keyword ref="qtabdialog.html#setApplyButton">setApplyButton</keyword>
+ <keyword ref="qtabdialog.html#setCancelButton">setCancelButton</keyword>
+ <keyword ref="qtabdialog.html#setDefaultButton">setDefaultButton</keyword>
+ <keyword ref="qtabdialog.html#setFont">setFont</keyword>
+ <keyword ref="qtabdialog.html#setHelpButton">setHelpButton</keyword>
+ <keyword ref="qtabdialog.html#setOkButton">setOkButton</keyword>
+ <keyword ref="qtabdialog.html#setSizes">setSizes</keyword>
+ <keyword ref="qtabdialog.html#setTabBar">setTabBar</keyword>
+ <keyword ref="qtabdialog.html#setTabEnabled">setTabEnabled</keyword>
+ <keyword ref="qtabdialog.html#setUpLayout">setUpLayout</keyword>
+ <keyword ref="qtabdialog.html#showPage">showPage</keyword>
+ <keyword ref="qtabdialog.html#showTab">showTab</keyword>
+ <keyword ref="qtabdialog.html#tabBar">tabBar</keyword>
+ <keyword ref="qtabdialog.html#tabLabel">tabLabel</keyword>
+ <keyword ref="qtabdialog.html#~QTabDialog">~QTabDialog</keyword>
+ <section ref="qtabdialog-members.html" title="List of All Member Functions"/>
+ <section ref="qtabdialog-h.html" title="Header File"/>
+</section>
+<section ref="qtable.html" title="QTable Class Reference">
+ <keyword ref="qtable.html">QTable</keyword>
+ <keyword ref="qtable.html#EditMode">EditMode</keyword>
+ <keyword ref="qtable.html#FocusStyle">FocusStyle</keyword>
+ <keyword ref="qtable.html#SelectionMode">SelectionMode</keyword>
+ <keyword ref="qtable.html#activateNextCell">activateNextCell</keyword>
+ <keyword ref="qtable.html#addSelection">addSelection</keyword>
+ <keyword ref="qtable.html#adjustColumn">adjustColumn</keyword>
+ <keyword ref="qtable.html#adjustRow">adjustRow</keyword>
+ <keyword ref="qtable.html#beginEdit">beginEdit</keyword>
+ <keyword ref="qtable.html#cellGeometry">cellGeometry</keyword>
+ <keyword ref="qtable.html#cellRect">cellRect</keyword>
+ <keyword ref="qtable.html#cellWidget">cellWidget</keyword>
+ <keyword ref="qtable.html#clearCell">clearCell</keyword>
+ <keyword ref="qtable.html#clearCellWidget">clearCellWidget</keyword>
+ <keyword ref="qtable.html#clearSelection">clearSelection</keyword>
+ <keyword ref="qtable.html#clicked">clicked</keyword>
+ <keyword ref="qtable.html#columnAt">columnAt</keyword>
+ <keyword ref="qtable.html#columnClicked">columnClicked</keyword>
+ <keyword ref="qtable.html#columnIndexChanged">columnIndexChanged</keyword>
+ <keyword ref="qtable.html#columnMovingEnabled">columnMovingEnabled</keyword>
+ <keyword ref="qtable.html#columnMovingEnabled-prop">columnMovingEnabled</keyword>
+ <keyword ref="qtable.html#columnPos">columnPos</keyword>
+ <keyword ref="qtable.html#columnWidth">columnWidth</keyword>
+ <keyword ref="qtable.html#columnWidthChanged">columnWidthChanged</keyword>
+ <keyword ref="qtable.html#contentsDragEnterEvent">contentsDragEnterEvent</keyword>
+ <keyword ref="qtable.html#contentsDragLeaveEvent">contentsDragLeaveEvent</keyword>
+ <keyword ref="qtable.html#contentsDragMoveEvent">contentsDragMoveEvent</keyword>
+ <keyword ref="qtable.html#contentsDropEvent">contentsDropEvent</keyword>
+ <keyword ref="qtable.html#contextMenuRequested">contextMenuRequested</keyword>
+ <keyword ref="qtable.html#createEditor">createEditor</keyword>
+ <keyword ref="qtable.html#currEditCol">currEditCol</keyword>
+ <keyword ref="qtable.html#currEditRow">currEditRow</keyword>
+ <keyword ref="qtable.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qtable.html#currentColumn">currentColumn</keyword>
+ <keyword ref="qtable.html#currentRow">currentRow</keyword>
+ <keyword ref="qtable.html#currentSelection">currentSelection</keyword>
+ <keyword ref="qtable.html#doubleClicked">doubleClicked</keyword>
+ <keyword ref="qtable.html#dragEnabled">dragEnabled</keyword>
+ <keyword ref="qtable.html#dragObject">dragObject</keyword>
+ <keyword ref="qtable.html#drawContents">drawContents</keyword>
+ <keyword ref="qtable.html#dropped">dropped</keyword>
+ <keyword ref="qtable.html#editCell">editCell</keyword>
+ <keyword ref="qtable.html#editMode">editMode</keyword>
+ <keyword ref="qtable.html#endEdit">endEdit</keyword>
+ <keyword ref="qtable.html#ensureCellVisible">ensureCellVisible</keyword>
+ <keyword ref="qtable.html#focusStyle">focusStyle</keyword>
+ <keyword ref="qtable.html#focusStyle-prop">focusStyle</keyword>
+ <keyword ref="qtable.html#hideColumn">hideColumn</keyword>
+ <keyword ref="qtable.html#hideRow">hideRow</keyword>
+ <keyword ref="qtable.html#horizontalHeader">horizontalHeader</keyword>
+ <keyword ref="qtable.html#indexOf">indexOf</keyword>
+ <keyword ref="qtable.html#insertColumns">insertColumns</keyword>
+ <keyword ref="qtable.html#insertRows">insertRows</keyword>
+ <keyword ref="qtable.html#insertWidget">insertWidget</keyword>
+ <keyword ref="qtable.html#isColumnHidden">isColumnHidden</keyword>
+ <keyword ref="qtable.html#isColumnReadOnly">isColumnReadOnly</keyword>
+ <keyword ref="qtable.html#isColumnSelected">isColumnSelected</keyword>
+ <keyword ref="qtable.html#isColumnStretchable">isColumnStretchable</keyword>
+ <keyword ref="qtable.html#isEditing">isEditing</keyword>
+ <keyword ref="qtable.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qtable.html#isRowHidden">isRowHidden</keyword>
+ <keyword ref="qtable.html#isRowReadOnly">isRowReadOnly</keyword>
+ <keyword ref="qtable.html#isRowSelected">isRowSelected</keyword>
+ <keyword ref="qtable.html#isRowStretchable">isRowStretchable</keyword>
+ <keyword ref="qtable.html#isSelected">isSelected</keyword>
+ <keyword ref="qtable.html#item">item</keyword>
+ <keyword ref="qtable.html#numCols">numCols</keyword>
+ <keyword ref="qtable.html#numCols-prop">numCols</keyword>
+ <keyword ref="qtable.html#numRows">numRows</keyword>
+ <keyword ref="qtable.html#numRows-prop">numRows</keyword>
+ <keyword ref="qtable.html#numSelections">numSelections</keyword>
+ <keyword ref="qtable.html#numSelections-prop">numSelections</keyword>
+ <keyword ref="qtable.html#paintCell">paintCell</keyword>
+ <keyword ref="qtable.html#paintEmptyArea">paintEmptyArea</keyword>
+ <keyword ref="qtable.html#paintFocus">paintFocus</keyword>
+ <keyword ref="qtable.html#pixmap">pixmap</keyword>
+ <keyword ref="qtable.html#pressed">pressed</keyword>
+ <keyword ref="qtable.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qtable.html#removeColumn">removeColumn</keyword>
+ <keyword ref="qtable.html#removeColumns">removeColumns</keyword>
+ <keyword ref="qtable.html#removeRow">removeRow</keyword>
+ <keyword ref="qtable.html#removeRows">removeRows</keyword>
+ <keyword ref="qtable.html#removeSelection">removeSelection</keyword>
+ <keyword ref="qtable.html#repaintSelections">repaintSelections</keyword>
+ <keyword ref="qtable.html#resizeData">resizeData</keyword>
+ <keyword ref="qtable.html#rowAt">rowAt</keyword>
+ <keyword ref="qtable.html#rowHeight">rowHeight</keyword>
+ <keyword ref="qtable.html#rowHeightChanged">rowHeightChanged</keyword>
+ <keyword ref="qtable.html#rowIndexChanged">rowIndexChanged</keyword>
+ <keyword ref="qtable.html#rowMovingEnabled">rowMovingEnabled</keyword>
+ <keyword ref="qtable.html#rowMovingEnabled-prop">rowMovingEnabled</keyword>
+ <keyword ref="qtable.html#rowPos">rowPos</keyword>
+ <keyword ref="qtable.html#selectCells">selectCells</keyword>
+ <keyword ref="qtable.html#selectColumn">selectColumn</keyword>
+ <keyword ref="qtable.html#selectRow">selectRow</keyword>
+ <keyword ref="qtable.html#selection">selection</keyword>
+ <keyword ref="qtable.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qtable.html#selectionMode">selectionMode</keyword>
+ <keyword ref="qtable.html#selectionMode-prop">selectionMode</keyword>
+ <keyword ref="qtable.html#setCellContentFromEditor">setCellContentFromEditor</keyword>
+ <keyword ref="qtable.html#setCellWidget">setCellWidget</keyword>
+ <keyword ref="qtable.html#setColumnLabels">setColumnLabels</keyword>
+ <keyword ref="qtable.html#setColumnMovingEnabled">setColumnMovingEnabled</keyword>
+ <keyword ref="qtable.html#setColumnReadOnly">setColumnReadOnly</keyword>
+ <keyword ref="qtable.html#setColumnStretchable">setColumnStretchable</keyword>
+ <keyword ref="qtable.html#setColumnWidth">setColumnWidth</keyword>
+ <keyword ref="qtable.html#setCurrentCell">setCurrentCell</keyword>
+ <keyword ref="qtable.html#setDragEnabled">setDragEnabled</keyword>
+ <keyword ref="qtable.html#setEditMode">setEditMode</keyword>
+ <keyword ref="qtable.html#setFocusStyle">setFocusStyle</keyword>
+ <keyword ref="qtable.html#setItem">setItem</keyword>
+ <keyword ref="qtable.html#setLeftMargin">setLeftMargin</keyword>
+ <keyword ref="qtable.html#setNumCols">setNumCols</keyword>
+ <keyword ref="qtable.html#setNumRows">setNumRows</keyword>
+ <keyword ref="qtable.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qtable.html#setReadOnly">setReadOnly</keyword>
+ <keyword ref="qtable.html#setRowHeight">setRowHeight</keyword>
+ <keyword ref="qtable.html#setRowLabels">setRowLabels</keyword>
+ <keyword ref="qtable.html#setRowMovingEnabled">setRowMovingEnabled</keyword>
+ <keyword ref="qtable.html#setRowReadOnly">setRowReadOnly</keyword>
+ <keyword ref="qtable.html#setRowStretchable">setRowStretchable</keyword>
+ <keyword ref="qtable.html#setSelectionMode">setSelectionMode</keyword>
+ <keyword ref="qtable.html#setShowGrid">setShowGrid</keyword>
+ <keyword ref="qtable.html#setSorting">setSorting</keyword>
+ <keyword ref="qtable.html#setText">setText</keyword>
+ <keyword ref="qtable.html#setTopMargin">setTopMargin</keyword>
+ <keyword ref="qtable.html#showColumn">showColumn</keyword>
+ <keyword ref="qtable.html#showGrid">showGrid</keyword>
+ <keyword ref="qtable.html#showGrid-prop">showGrid</keyword>
+ <keyword ref="qtable.html#showRow">showRow</keyword>
+ <keyword ref="qtable.html#sortColumn">sortColumn</keyword>
+ <keyword ref="qtable.html#sorting">sorting</keyword>
+ <keyword ref="qtable.html#sorting-prop">sorting</keyword>
+ <keyword ref="qtable.html#startDrag">startDrag</keyword>
+ <keyword ref="qtable.html#swapCells">swapCells</keyword>
+ <keyword ref="qtable.html#swapColumns">swapColumns</keyword>
+ <keyword ref="qtable.html#swapRows">swapRows</keyword>
+ <keyword ref="qtable.html#tableSize">tableSize</keyword>
+ <keyword ref="qtable.html#takeItem">takeItem</keyword>
+ <keyword ref="qtable.html#text">text</keyword>
+ <keyword ref="qtable.html#updateCell">updateCell</keyword>
+ <keyword ref="qtable.html#updateGeometries">updateGeometries</keyword>
+ <keyword ref="qtable.html#updateHeaderStates">updateHeaderStates</keyword>
+ <keyword ref="qtable.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qtable.html#verticalHeader">verticalHeader</keyword>
+ <keyword ref="qtable.html#~QTable">~QTable</keyword>
+ <section ref="qtable-members.html" title="List of All Member Functions"/>
+ <section ref="qtable-h.html" title="Header File"/>
+</section>
+<section ref="qtableitem.html" title="QTableItem Class Reference">
+ <keyword ref="qtableitem.html">QTableItem</keyword>
+ <keyword ref="qtableitem.html#EditType">EditType</keyword>
+ <keyword ref="qtableitem.html#alignment">alignment</keyword>
+ <keyword ref="qtableitem.html#col">col</keyword>
+ <keyword ref="qtableitem.html#colSpan">colSpan</keyword>
+ <keyword ref="qtableitem.html#createEditor">createEditor</keyword>
+ <keyword ref="qtableitem.html#editType">editType</keyword>
+ <keyword ref="qtableitem.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qtableitem.html#isReplaceable">isReplaceable</keyword>
+ <keyword ref="qtableitem.html#key">key</keyword>
+ <keyword ref="qtableitem.html#paint">paint</keyword>
+ <keyword ref="qtableitem.html#pixmap">pixmap</keyword>
+ <keyword ref="qtableitem.html#row">row</keyword>
+ <keyword ref="qtableitem.html#rowSpan">rowSpan</keyword>
+ <keyword ref="qtableitem.html#rtti">rtti</keyword>
+ <keyword ref="qtableitem.html#setCol">setCol</keyword>
+ <keyword ref="qtableitem.html#setContentFromEditor">setContentFromEditor</keyword>
+ <keyword ref="qtableitem.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qtableitem.html#setPixmap">setPixmap</keyword>
+ <keyword ref="qtableitem.html#setReplaceable">setReplaceable</keyword>
+ <keyword ref="qtableitem.html#setRow">setRow</keyword>
+ <keyword ref="qtableitem.html#setSpan">setSpan</keyword>
+ <keyword ref="qtableitem.html#setText">setText</keyword>
+ <keyword ref="qtableitem.html#setWordWrap">setWordWrap</keyword>
+ <keyword ref="qtableitem.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qtableitem.html#table">table</keyword>
+ <keyword ref="qtableitem.html#text">text</keyword>
+ <keyword ref="qtableitem.html#wordWrap">wordWrap</keyword>
+ <keyword ref="qtableitem.html#~QTableItem">~QTableItem</keyword>
+ <section ref="qtableitem-members.html" title="List of All Member Functions"/>
+ <section ref="qtable-h.html" title="Header File"/>
+</section>
+<section ref="qtableselection.html" title="QTableSelection Class Reference">
+ <keyword ref="qtableselection.html">QTableSelection</keyword>
+ <keyword ref="qtableselection.html#anchorCol">anchorCol</keyword>
+ <keyword ref="qtableselection.html#anchorRow">anchorRow</keyword>
+ <keyword ref="qtableselection.html#bottomRow">bottomRow</keyword>
+ <keyword ref="qtableselection.html#expandTo">expandTo</keyword>
+ <keyword ref="qtableselection.html#init">init</keyword>
+ <keyword ref="qtableselection.html#isActive">isActive</keyword>
+ <keyword ref="qtableselection.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qtableselection.html#leftCol">leftCol</keyword>
+ <keyword ref="qtableselection.html#numCols">numCols</keyword>
+ <keyword ref="qtableselection.html#numRows">numRows</keyword>
+ <keyword ref="qtableselection.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qtableselection.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qtableselection.html#rightCol">rightCol</keyword>
+ <keyword ref="qtableselection.html#topRow">topRow</keyword>
+ <section ref="qtableselection-members.html" title="List of All Member Functions"/>
+ <section ref="qtable-h.html" title="Header File"/>
+</section>
+<section ref="qtabletevent.html" title="QTabletEvent Class Reference">
+ <keyword ref="qtabletevent.html">QTabletEvent</keyword>
+ <keyword ref="qtabletevent.html#TabletDevice">TabletDevice</keyword>
+ <keyword ref="qtabletevent.html#accept">accept</keyword>
+ <keyword ref="qtabletevent.html#device">device</keyword>
+ <keyword ref="qtabletevent.html#globalPos">globalPos</keyword>
+ <keyword ref="qtabletevent.html#globalX">globalX</keyword>
+ <keyword ref="qtabletevent.html#globalY">globalY</keyword>
+ <keyword ref="qtabletevent.html#ignore">ignore</keyword>
+ <keyword ref="qtabletevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qtabletevent.html#pos">pos</keyword>
+ <keyword ref="qtabletevent.html#pressure">pressure</keyword>
+ <keyword ref="qtabletevent.html#uniqueId">uniqueId</keyword>
+ <keyword ref="qtabletevent.html#x">x</keyword>
+ <keyword ref="qtabletevent.html#xTilt">xTilt</keyword>
+ <keyword ref="qtabletevent.html#y">y</keyword>
+ <keyword ref="qtabletevent.html#yTilt">yTilt</keyword>
+ <section ref="qtabletevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qtabwidget.html" title="QTabWidget Class Reference">
+ <keyword ref="qtabwidget.html">QTabWidget</keyword>
+ <keyword ref="qtabwidget.html#TabPosition">TabPosition</keyword>
+ <keyword ref="qtabwidget.html#TabShape">TabShape</keyword>
+ <keyword ref="qtabwidget.html#addTab">addTab</keyword>
+ <keyword ref="qtabwidget.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qtabwidget.html#changeTab">changeTab</keyword>
+ <keyword ref="qtabwidget.html#cornerWidget">cornerWidget</keyword>
+ <keyword ref="qtabwidget.html#count">count</keyword>
+ <keyword ref="qtabwidget.html#count-prop">count</keyword>
+ <keyword ref="qtabwidget.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qtabwidget.html#currentPage">currentPage</keyword>
+ <keyword ref="qtabwidget.html#currentPage-prop">currentPage</keyword>
+ <keyword ref="qtabwidget.html#currentPageIndex">currentPageIndex</keyword>
+ <keyword ref="qtabwidget.html#indexOf">indexOf</keyword>
+ <keyword ref="qtabwidget.html#insertTab">insertTab</keyword>
+ <keyword ref="qtabwidget.html#isTabEnabled">isTabEnabled</keyword>
+ <keyword ref="qtabwidget.html#label">label</keyword>
+ <keyword ref="qtabwidget.html#margin">margin</keyword>
+ <keyword ref="qtabwidget.html#margin-prop">margin</keyword>
+ <keyword ref="qtabwidget.html#page">page</keyword>
+ <keyword ref="qtabwidget.html#removePage">removePage</keyword>
+ <keyword ref="qtabwidget.html#removeTabToolTip">removeTabToolTip</keyword>
+ <keyword ref="qtabwidget.html#setCornerWidget">setCornerWidget</keyword>
+ <keyword ref="qtabwidget.html#setCurrentPage">setCurrentPage</keyword>
+ <keyword ref="qtabwidget.html#setMargin">setMargin</keyword>
+ <keyword ref="qtabwidget.html#setTabBar">setTabBar</keyword>
+ <keyword ref="qtabwidget.html#setTabEnabled">setTabEnabled</keyword>
+ <keyword ref="qtabwidget.html#setTabIconSet">setTabIconSet</keyword>
+ <keyword ref="qtabwidget.html#setTabLabel">setTabLabel</keyword>
+ <keyword ref="qtabwidget.html#setTabPosition">setTabPosition</keyword>
+ <keyword ref="qtabwidget.html#setTabShape">setTabShape</keyword>
+ <keyword ref="qtabwidget.html#setTabToolTip">setTabToolTip</keyword>
+ <keyword ref="qtabwidget.html#showPage">showPage</keyword>
+ <keyword ref="qtabwidget.html#showTab">showTab</keyword>
+ <keyword ref="qtabwidget.html#tabBar">tabBar</keyword>
+ <keyword ref="qtabwidget.html#tabIconSet">tabIconSet</keyword>
+ <keyword ref="qtabwidget.html#tabLabel">tabLabel</keyword>
+ <keyword ref="qtabwidget.html#tabPosition">tabPosition</keyword>
+ <keyword ref="qtabwidget.html#tabPosition-prop">tabPosition</keyword>
+ <keyword ref="qtabwidget.html#tabShape">tabShape</keyword>
+ <keyword ref="qtabwidget.html#tabShape-prop">tabShape</keyword>
+ <keyword ref="qtabwidget.html#tabToolTip">tabToolTip</keyword>
+ <section ref="qtabwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qtabwidget-h.html" title="Header File"/>
+</section>
+<section ref="qtextbrowser.html" title="QTextBrowser Class Reference">
+ <keyword ref="qtextbrowser.html">QTextBrowser</keyword>
+ <keyword ref="qtextbrowser.html#anchorClicked">anchorClicked</keyword>
+ <keyword ref="qtextbrowser.html#backward">backward</keyword>
+ <keyword ref="qtextbrowser.html#backwardAvailable">backwardAvailable</keyword>
+ <keyword ref="qtextbrowser.html#forward">forward</keyword>
+ <keyword ref="qtextbrowser.html#forwardAvailable">forwardAvailable</keyword>
+ <keyword ref="qtextbrowser.html#highlighted">highlighted</keyword>
+ <keyword ref="qtextbrowser.html#home">home</keyword>
+ <keyword ref="qtextbrowser.html#keyPressEvent">keyPressEvent</keyword>
+ <keyword ref="qtextbrowser.html#linkClicked">linkClicked</keyword>
+ <keyword ref="qtextbrowser.html#modified-prop">modified</keyword>
+ <keyword ref="qtextbrowser.html#overwriteMode-prop">overwriteMode</keyword>
+ <keyword ref="qtextbrowser.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qtextbrowser.html#reload">reload</keyword>
+ <keyword ref="qtextbrowser.html#setSource">setSource</keyword>
+ <keyword ref="qtextbrowser.html#setText">setText</keyword>
+ <keyword ref="qtextbrowser.html#source">source</keyword>
+ <keyword ref="qtextbrowser.html#source-prop">source</keyword>
+ <keyword ref="qtextbrowser.html#sourceChanged">sourceChanged</keyword>
+ <keyword ref="qtextbrowser.html#undoDepth-prop">undoDepth</keyword>
+ <keyword ref="qtextbrowser.html#undoRedoEnabled-prop">undoRedoEnabled</keyword>
+ <section ref="qtextbrowser-members.html" title="List of All Member Functions"/>
+ <section ref="qtextbrowser-h.html" title="Header File"/>
+</section>
+<section ref="qtextcodec.html" title="QTextCodec Class Reference">
+ <keyword ref="qtextcodec.html">QTextCodec</keyword>
+ <keyword ref="qtextcodec.html#canEncode">canEncode</keyword>
+ <keyword ref="qtextcodec.html#codecForCStrings">codecForCStrings</keyword>
+ <keyword ref="qtextcodec.html#codecForContent">codecForContent</keyword>
+ <keyword ref="qtextcodec.html#codecForIndex">codecForIndex</keyword>
+ <keyword ref="qtextcodec.html#codecForLocale">codecForLocale</keyword>
+ <keyword ref="qtextcodec.html#codecForMib">codecForMib</keyword>
+ <keyword ref="qtextcodec.html#codecForName">codecForName</keyword>
+ <keyword ref="qtextcodec.html#codecForTr">codecForTr</keyword>
+ <keyword ref="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</keyword>
+ <keyword ref="qtextcodec.html#fromUnicode">fromUnicode</keyword>
+ <keyword ref="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</keyword>
+ <keyword ref="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</keyword>
+ <keyword ref="qtextcodec.html#loadCharmap">loadCharmap</keyword>
+ <keyword ref="qtextcodec.html#loadCharmapFile">loadCharmapFile</keyword>
+ <keyword ref="qtextcodec.html#locale">locale</keyword>
+ <keyword ref="qtextcodec.html#makeDecoder">makeDecoder</keyword>
+ <keyword ref="qtextcodec.html#makeEncoder">makeEncoder</keyword>
+ <keyword ref="qtextcodec.html#mibEnum">mibEnum</keyword>
+ <keyword ref="qtextcodec.html#mimeName">mimeName</keyword>
+ <keyword ref="qtextcodec.html#name">name</keyword>
+ <keyword ref="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</keyword>
+ <keyword ref="qtextcodec.html#setCodecForLocale">setCodecForLocale</keyword>
+ <keyword ref="qtextcodec.html#setCodecForTr">setCodecForTr</keyword>
+ <keyword ref="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</keyword>
+ <keyword ref="qtextcodec.html#toUnicode">toUnicode</keyword>
+ <keyword ref="qtextcodec.html#~QTextCodec">~QTextCodec</keyword>
+ <section ref="qtextcodec-members.html" title="List of All Member Functions"/>
+ <section ref="qtextcodec-h.html" title="Header File"/>
+</section>
+<section ref="qtextcodecplugin.html" title="QTextCodecPlugin Class Reference">
+ <keyword ref="qtextcodecplugin.html">QTextCodecPlugin</keyword>
+ <keyword ref="qtextcodecplugin.html#createForMib">createForMib</keyword>
+ <keyword ref="qtextcodecplugin.html#createForName">createForName</keyword>
+ <keyword ref="qtextcodecplugin.html#mibEnums">mibEnums</keyword>
+ <keyword ref="qtextcodecplugin.html#names">names</keyword>
+ <keyword ref="qtextcodecplugin.html#~QTextCodecPlugin">~QTextCodecPlugin</keyword>
+ <section ref="qtextcodecplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qtextcodecplugin-h.html" title="Header File"/>
+</section>
+<section ref="qtextdecoder.html" title="QTextDecoder Class Reference">
+ <keyword ref="qtextdecoder.html">QTextDecoder</keyword>
+ <keyword ref="qtextdecoder.html#toUnicode">toUnicode</keyword>
+ <keyword ref="qtextdecoder.html#~QTextDecoder">~QTextDecoder</keyword>
+ <section ref="qtextdecoder-members.html" title="List of All Member Functions"/>
+ <section ref="qtextcodec-h.html" title="Header File"/>
+</section>
+<section ref="qtextdrag.html" title="QTextDrag Class Reference">
+ <keyword ref="qtextdrag.html">QTextDrag</keyword>
+ <keyword ref="qtextdrag.html#canDecode">canDecode</keyword>
+ <keyword ref="qtextdrag.html#decode">decode</keyword>
+ <keyword ref="qtextdrag.html#setSubtype">setSubtype</keyword>
+ <keyword ref="qtextdrag.html#setText">setText</keyword>
+ <keyword ref="qtextdrag.html#~QTextDrag">~QTextDrag</keyword>
+ <section ref="qtextdrag-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qtextedit.html" title="QTextEdit Class Reference">
+ <keyword ref="qtextedit.html">QTextEdit</keyword>
+ <keyword ref="qtextedit.html#AutoFormatting">AutoFormatting</keyword>
+ <keyword ref="qtextedit.html#CursorAction">CursorAction</keyword>
+ <keyword ref="qtextedit.html#KeyboardAction">KeyboardAction</keyword>
+ <keyword ref="qtextedit.html#VerticalAlignment">VerticalAlignment</keyword>
+ <keyword ref="qtextedit.html#WordWrap">WordWrap</keyword>
+ <keyword ref="qtextedit.html#WrapPolicy">WrapPolicy</keyword>
+ <keyword ref="qtextedit.html#alignment">alignment</keyword>
+ <keyword ref="qtextedit.html#anchorAt">anchorAt</keyword>
+ <keyword ref="qtextedit.html#append">append</keyword>
+ <keyword ref="qtextedit.html#autoFormatting">autoFormatting</keyword>
+ <keyword ref="qtextedit.html#autoFormatting-prop">autoFormatting</keyword>
+ <keyword ref="qtextedit.html#bold">bold</keyword>
+ <keyword ref="qtextedit.html#charAt">charAt</keyword>
+ <keyword ref="qtextedit.html#clear">clear</keyword>
+ <keyword ref="qtextedit.html#clearParagraphBackground">clearParagraphBackground</keyword>
+ <keyword ref="qtextedit.html#clicked">clicked</keyword>
+ <keyword ref="qtextedit.html#color">color</keyword>
+ <keyword ref="qtextedit.html#context">context</keyword>
+ <keyword ref="qtextedit.html#copy">copy</keyword>
+ <keyword ref="qtextedit.html#copyAvailable">copyAvailable</keyword>
+ <keyword ref="qtextedit.html#createPopupMenu">createPopupMenu</keyword>
+ <keyword ref="qtextedit.html#currentAlignmentChanged">currentAlignmentChanged</keyword>
+ <keyword ref="qtextedit.html#currentColorChanged">currentColorChanged</keyword>
+ <keyword ref="qtextedit.html#currentFont">currentFont</keyword>
+ <keyword ref="qtextedit.html#currentFontChanged">currentFontChanged</keyword>
+ <keyword ref="qtextedit.html#currentVerticalAlignmentChanged">currentVerticalAlignmentChanged</keyword>
+ <keyword ref="qtextedit.html#cursorPositionChanged">cursorPositionChanged</keyword>
+ <keyword ref="qtextedit.html#cut">cut</keyword>
+ <keyword ref="qtextedit.html#del">del</keyword>
+ <keyword ref="qtextedit.html#doKeyboardAction">doKeyboardAction</keyword>
+ <keyword ref="qtextedit.html#documentTitle">documentTitle</keyword>
+ <keyword ref="qtextedit.html#documentTitle-prop">documentTitle</keyword>
+ <keyword ref="qtextedit.html#doubleClicked">doubleClicked</keyword>
+ <keyword ref="qtextedit.html#ensureCursorVisible">ensureCursorVisible</keyword>
+ <keyword ref="qtextedit.html#family">family</keyword>
+ <keyword ref="qtextedit.html#find">find</keyword>
+ <keyword ref="qtextedit.html#focusNextPrevChild">focusNextPrevChild</keyword>
+ <keyword ref="qtextedit.html#getCursorPosition">getCursorPosition</keyword>
+ <keyword ref="qtextedit.html#getSelection">getSelection</keyword>
+ <keyword ref="qtextedit.html#hasSelectedText">hasSelectedText</keyword>
+ <keyword ref="qtextedit.html#hasSelectedText-prop">hasSelectedText</keyword>
+ <keyword ref="qtextedit.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qtextedit.html#insert">insert</keyword>
+ <keyword ref="qtextedit.html#insertAt">insertAt</keyword>
+ <keyword ref="qtextedit.html#insertParagraph">insertParagraph</keyword>
+ <keyword ref="qtextedit.html#isModified">isModified</keyword>
+ <keyword ref="qtextedit.html#isOverwriteMode">isOverwriteMode</keyword>
+ <keyword ref="qtextedit.html#isReadOnly">isReadOnly</keyword>
+ <keyword ref="qtextedit.html#isRedoAvailable">isRedoAvailable</keyword>
+ <keyword ref="qtextedit.html#isUndoAvailable">isUndoAvailable</keyword>
+ <keyword ref="qtextedit.html#isUndoRedoEnabled">isUndoRedoEnabled</keyword>
+ <keyword ref="qtextedit.html#italic">italic</keyword>
+ <keyword ref="qtextedit.html#keyPressEvent">keyPressEvent</keyword>
+ <keyword ref="qtextedit.html#length">length</keyword>
+ <keyword ref="qtextedit.html#length-prop">length</keyword>
+ <keyword ref="qtextedit.html#lineOfChar">lineOfChar</keyword>
+ <keyword ref="qtextedit.html#lines">lines</keyword>
+ <keyword ref="qtextedit.html#linesOfParagraph">linesOfParagraph</keyword>
+ <keyword ref="qtextedit.html#linkUnderline">linkUnderline</keyword>
+ <keyword ref="qtextedit.html#linkUnderline-prop">linkUnderline</keyword>
+ <keyword ref="qtextedit.html#maxLogLines">maxLogLines</keyword>
+ <keyword ref="qtextedit.html#mimeSourceFactory">mimeSourceFactory</keyword>
+ <keyword ref="qtextedit.html#modificationChanged">modificationChanged</keyword>
+ <keyword ref="qtextedit.html#modified-prop">modified</keyword>
+ <keyword ref="qtextedit.html#moveCursor">moveCursor</keyword>
+ <keyword ref="qtextedit.html#optimCheckLimit">optimCheckLimit</keyword>
+ <keyword ref="qtextedit.html#overwriteMode-prop">overwriteMode</keyword>
+ <keyword ref="qtextedit.html#paper">paper</keyword>
+ <keyword ref="qtextedit.html#paper-prop">paper</keyword>
+ <keyword ref="qtextedit.html#paragraphAt">paragraphAt</keyword>
+ <keyword ref="qtextedit.html#paragraphBackgroundColor">paragraphBackgroundColor</keyword>
+ <keyword ref="qtextedit.html#paragraphLength">paragraphLength</keyword>
+ <keyword ref="qtextedit.html#paragraphRect">paragraphRect</keyword>
+ <keyword ref="qtextedit.html#paragraphs">paragraphs</keyword>
+ <keyword ref="qtextedit.html#paste">paste</keyword>
+ <keyword ref="qtextedit.html#pasteSpecial">pasteSpecial</keyword>
+ <keyword ref="qtextedit.html#pasteSubType">pasteSubType</keyword>
+ <keyword ref="qtextedit.html#placeCursor">placeCursor</keyword>
+ <keyword ref="qtextedit.html#pointSize">pointSize</keyword>
+ <keyword ref="qtextedit.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qtextedit.html#redo">redo</keyword>
+ <keyword ref="qtextedit.html#redoAvailable">redoAvailable</keyword>
+ <keyword ref="qtextedit.html#removeParagraph">removeParagraph</keyword>
+ <keyword ref="qtextedit.html#removeSelectedText">removeSelectedText</keyword>
+ <keyword ref="qtextedit.html#removeSelection">removeSelection</keyword>
+ <keyword ref="qtextedit.html#repaintChanged">repaintChanged</keyword>
+ <keyword ref="qtextedit.html#returnPressed">returnPressed</keyword>
+ <keyword ref="qtextedit.html#scrollToAnchor">scrollToAnchor</keyword>
+ <keyword ref="qtextedit.html#scrollToBottom">scrollToBottom</keyword>
+ <keyword ref="qtextedit.html#selectAll">selectAll</keyword>
+ <keyword ref="qtextedit.html#selectedText">selectedText</keyword>
+ <keyword ref="qtextedit.html#selectedText-prop">selectedText</keyword>
+ <keyword ref="qtextedit.html#selectionChanged">selectionChanged</keyword>
+ <keyword ref="qtextedit.html#setAlignment">setAlignment</keyword>
+ <keyword ref="qtextedit.html#setAutoFormatting">setAutoFormatting</keyword>
+ <keyword ref="qtextedit.html#setBold">setBold</keyword>
+ <keyword ref="qtextedit.html#setColor">setColor</keyword>
+ <keyword ref="qtextedit.html#setCurrentFont">setCurrentFont</keyword>
+ <keyword ref="qtextedit.html#setCursorPosition">setCursorPosition</keyword>
+ <keyword ref="qtextedit.html#setFamily">setFamily</keyword>
+ <keyword ref="qtextedit.html#setItalic">setItalic</keyword>
+ <keyword ref="qtextedit.html#setLinkUnderline">setLinkUnderline</keyword>
+ <keyword ref="qtextedit.html#setMaxLogLines">setMaxLogLines</keyword>
+ <keyword ref="qtextedit.html#setMimeSourceFactory">setMimeSourceFactory</keyword>
+ <keyword ref="qtextedit.html#setModified">setModified</keyword>
+ <keyword ref="qtextedit.html#setOverwriteMode">setOverwriteMode</keyword>
+ <keyword ref="qtextedit.html#setPaper">setPaper</keyword>
+ <keyword ref="qtextedit.html#setParagraphBackgroundColor">setParagraphBackgroundColor</keyword>
+ <keyword ref="qtextedit.html#setPointSize">setPointSize</keyword>
+ <keyword ref="qtextedit.html#setReadOnly">setReadOnly</keyword>
+ <keyword ref="qtextedit.html#setSelection">setSelection</keyword>
+ <keyword ref="qtextedit.html#setSelectionAttributes">setSelectionAttributes</keyword>
+ <keyword ref="qtextedit.html#setStyleSheet">setStyleSheet</keyword>
+ <keyword ref="qtextedit.html#setTabChangesFocus">setTabChangesFocus</keyword>
+ <keyword ref="qtextedit.html#setTabStopWidth">setTabStopWidth</keyword>
+ <keyword ref="qtextedit.html#setText">setText</keyword>
+ <keyword ref="qtextedit.html#setTextFormat">setTextFormat</keyword>
+ <keyword ref="qtextedit.html#setUnderline">setUnderline</keyword>
+ <keyword ref="qtextedit.html#setUndoDepth">setUndoDepth</keyword>
+ <keyword ref="qtextedit.html#setUndoRedoEnabled">setUndoRedoEnabled</keyword>
+ <keyword ref="qtextedit.html#setVerticalAlignment">setVerticalAlignment</keyword>
+ <keyword ref="qtextedit.html#setWordWrap">setWordWrap</keyword>
+ <keyword ref="qtextedit.html#setWrapColumnOrWidth">setWrapColumnOrWidth</keyword>
+ <keyword ref="qtextedit.html#setWrapPolicy">setWrapPolicy</keyword>
+ <keyword ref="qtextedit.html#styleSheet">styleSheet</keyword>
+ <keyword ref="qtextedit.html#sync">sync</keyword>
+ <keyword ref="qtextedit.html#syntaxHighlighter">syntaxHighlighter</keyword>
+ <keyword ref="qtextedit.html#tabChangesFocus">tabChangesFocus</keyword>
+ <keyword ref="qtextedit.html#tabChangesFocus-prop">tabChangesFocus</keyword>
+ <keyword ref="qtextedit.html#tabStopWidth">tabStopWidth</keyword>
+ <keyword ref="qtextedit.html#tabStopWidth-prop">tabStopWidth</keyword>
+ <keyword ref="qtextedit.html#text">text</keyword>
+ <keyword ref="qtextedit.html#text-prop">text</keyword>
+ <keyword ref="qtextedit.html#textChanged">textChanged</keyword>
+ <keyword ref="qtextedit.html#textCursor">textCursor</keyword>
+ <keyword ref="qtextedit.html#textFormat">textFormat</keyword>
+ <keyword ref="qtextedit.html#textFormat-prop">textFormat</keyword>
+ <keyword ref="qtextedit.html#underline">underline</keyword>
+ <keyword ref="qtextedit.html#undo">undo</keyword>
+ <keyword ref="qtextedit.html#undoAvailable">undoAvailable</keyword>
+ <keyword ref="qtextedit.html#undoDepth">undoDepth</keyword>
+ <keyword ref="qtextedit.html#undoDepth-prop">undoDepth</keyword>
+ <keyword ref="qtextedit.html#undoRedoEnabled-prop">undoRedoEnabled</keyword>
+ <keyword ref="qtextedit.html#wordWrap">wordWrap</keyword>
+ <keyword ref="qtextedit.html#wordWrap-prop">wordWrap</keyword>
+ <keyword ref="qtextedit.html#wrapColumnOrWidth">wrapColumnOrWidth</keyword>
+ <keyword ref="qtextedit.html#wrapColumnOrWidth-prop">wrapColumnOrWidth</keyword>
+ <keyword ref="qtextedit.html#wrapPolicy">wrapPolicy</keyword>
+ <keyword ref="qtextedit.html#wrapPolicy-prop">wrapPolicy</keyword>
+ <keyword ref="qtextedit.html#zoomIn">zoomIn</keyword>
+ <keyword ref="qtextedit.html#zoomOut">zoomOut</keyword>
+ <keyword ref="qtextedit.html#zoomTo">zoomTo</keyword>
+ <section ref="qtextedit-members.html" title="List of All Member Functions"/>
+ <section ref="qtextedit-h.html" title="Header File"/>
+</section>
+<section ref="qtextencoder.html" title="QTextEncoder Class Reference">
+ <keyword ref="qtextencoder.html">QTextEncoder</keyword>
+ <keyword ref="qtextencoder.html#fromUnicode">fromUnicode</keyword>
+ <keyword ref="qtextencoder.html#~QTextEncoder">~QTextEncoder</keyword>
+ <section ref="qtextencoder-members.html" title="List of All Member Functions"/>
+ <section ref="qtextcodec-h.html" title="Header File"/>
+</section>
+<section ref="qtextistream.html" title="QTextIStream Class Reference">
+ <keyword ref="qtextistream.html">QTextIStream</keyword>
+ <section ref="qtextistream-members.html" title="List of All Member Functions"/>
+ <section ref="qtextstream-h.html" title="Header File"/>
+</section>
+<section ref="qtextostream.html" title="QTextOStream Class Reference">
+ <keyword ref="qtextostream.html">QTextOStream</keyword>
+ <section ref="qtextostream-members.html" title="List of All Member Functions"/>
+ <section ref="qtextstream-h.html" title="Header File"/>
+</section>
+<section ref="qtextstream.html" title="QTextStream Class Reference">
+ <keyword ref="qtextstream.html">QTextStream</keyword>
+ <keyword ref="qtextstream.html#Encoding">Encoding</keyword>
+ <keyword ref="qtextstream.html#atEnd">atEnd</keyword>
+ <keyword ref="qtextstream.html#codec">codec</keyword>
+ <keyword ref="qtextstream.html#device">device</keyword>
+ <keyword ref="qtextstream.html#fill">fill</keyword>
+ <keyword ref="qtextstream.html#flags">flags</keyword>
+ <keyword ref="qtextstream.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qtextstream.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <keyword ref="qtextstream.html#precision">precision</keyword>
+ <keyword ref="qtextstream.html#read">read</keyword>
+ <keyword ref="qtextstream.html#readLine">readLine</keyword>
+ <keyword ref="qtextstream.html#readRawBytes">readRawBytes</keyword>
+ <keyword ref="qtextstream.html#reset">reset</keyword>
+ <keyword ref="qtextstream.html#setCodec">setCodec</keyword>
+ <keyword ref="qtextstream.html#setDevice">setDevice</keyword>
+ <keyword ref="qtextstream.html#setEncoding">setEncoding</keyword>
+ <keyword ref="qtextstream.html#setf">setf</keyword>
+ <keyword ref="qtextstream.html#skipWhiteSpace">skipWhiteSpace</keyword>
+ <keyword ref="qtextstream.html#ts_getbuf">ts_getbuf</keyword>
+ <keyword ref="qtextstream.html#ts_getline">ts_getline</keyword>
+ <keyword ref="qtextstream.html#ts_putc">ts_putc</keyword>
+ <keyword ref="qtextstream.html#unsetDevice">unsetDevice</keyword>
+ <keyword ref="qtextstream.html#unsetf">unsetf</keyword>
+ <keyword ref="qtextstream.html#width">width</keyword>
+ <keyword ref="qtextstream.html#writeRawBytes">writeRawBytes</keyword>
+ <keyword ref="qtextstream.html#~QTextStream">~QTextStream</keyword>
+ <section ref="qtextstream-members.html" title="List of All Member Functions"/>
+ <section ref="qtextstream-h.html" title="Header File"/>
+</section>
+<section ref="qtextview.html" title="QTextView Class Reference">
+ <keyword ref="qtextview.html#modified-prop">modified</keyword>
+ <keyword ref="qtextview.html#overwriteMode-prop">overwriteMode</keyword>
+ <keyword ref="qtextview.html#readOnly-prop">readOnly</keyword>
+ <keyword ref="qtextview.html#undoDepth-prop">undoDepth</keyword>
+ <keyword ref="qtextview.html#undoRedoEnabled-prop">undoRedoEnabled</keyword>
+ <section ref="qtextview-members.html" title="List of All Member Functions"/>
+ <section ref="qtextview-h.html" title="Header File"/>
+</section>
+<section ref="qthread.html" title="QThread Class Reference">
+ <keyword ref="qthread.html">QThread</keyword>
+ <keyword ref="qthread.html#Priority">Priority</keyword>
+ <keyword ref="qthread.html#currentThread">currentThread</keyword>
+ <keyword ref="qthread.html#exit">exit</keyword>
+ <keyword ref="qthread.html#finished">finished</keyword>
+ <keyword ref="qthread.html#msleep">msleep</keyword>
+ <keyword ref="qthread.html#run">run</keyword>
+ <keyword ref="qthread.html#running">running</keyword>
+ <keyword ref="qthread.html#sleep">sleep</keyword>
+ <keyword ref="qthread.html#start">start</keyword>
+ <keyword ref="qthread.html#terminate">terminate</keyword>
+ <keyword ref="qthread.html#usleep">usleep</keyword>
+ <keyword ref="qthread.html#wait">wait</keyword>
+ <keyword ref="qthread.html#~QThread">~QThread</keyword>
+ <section ref="qthread-members.html" title="List of All Member Functions"/>
+ <section ref="qthread-h.html" title="Header File"/>
+</section>
+<section ref="qthreadstorage.html" title="QThreadStorage Class Reference">
+ <keyword ref="qthreadstorage.html">QThreadStorage</keyword>
+ <keyword ref="qthreadstorage.html#hasLocalData">hasLocalData</keyword>
+ <keyword ref="qthreadstorage.html#localData">localData</keyword>
+ <keyword ref="qthreadstorage.html#setLocalData">setLocalData</keyword>
+ <keyword ref="qthreadstorage.html#~QThreadStorage">~QThreadStorage</keyword>
+ <section ref="qthreadstorage-members.html" title="List of All Member Functions"/>
+ <section ref="qthreadstorage-h.html" title="Header File"/>
+</section>
+<section ref="qtime.html" title="QTime Class Reference">
+ <keyword ref="qtime.html">QTime</keyword>
+ <keyword ref="qtime.html#addMSecs">addMSecs</keyword>
+ <keyword ref="qtime.html#addSecs">addSecs</keyword>
+ <keyword ref="qtime.html#currentTime">currentTime</keyword>
+ <keyword ref="qtime.html#elapsed">elapsed</keyword>
+ <keyword ref="qtime.html#fromString">fromString</keyword>
+ <keyword ref="qtime.html#hour">hour</keyword>
+ <keyword ref="qtime.html#isNull">isNull</keyword>
+ <keyword ref="qtime.html#isValid">isValid</keyword>
+ <keyword ref="qtime.html#minute">minute</keyword>
+ <keyword ref="qtime.html#msec">msec</keyword>
+ <keyword ref="qtime.html#msecsTo">msecsTo</keyword>
+ <keyword ref="qtime.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qtime.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qtime.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qtime.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qtime.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qtime.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qtime.html#restart">restart</keyword>
+ <keyword ref="qtime.html#second">second</keyword>
+ <keyword ref="qtime.html#secsTo">secsTo</keyword>
+ <keyword ref="qtime.html#setHMS">setHMS</keyword>
+ <keyword ref="qtime.html#start">start</keyword>
+ <keyword ref="qtime.html#toString">toString</keyword>
+ <keyword ref="qtime.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qtime.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qtime-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetime-h.html" title="Header File"/>
+</section>
+<section ref="qtimeedit.html" title="QTimeEdit Class Reference">
+ <keyword ref="qtimeedit.html">QTimeEdit</keyword>
+ <keyword ref="qtimeedit.html#Display">Display</keyword>
+ <keyword ref="qtimeedit.html#autoAdvance">autoAdvance</keyword>
+ <keyword ref="qtimeedit.html#autoAdvance-prop">autoAdvance</keyword>
+ <keyword ref="qtimeedit.html#display">display</keyword>
+ <keyword ref="qtimeedit.html#display-prop">display</keyword>
+ <keyword ref="qtimeedit.html#maxValue">maxValue</keyword>
+ <keyword ref="qtimeedit.html#maxValue-prop">maxValue</keyword>
+ <keyword ref="qtimeedit.html#minValue">minValue</keyword>
+ <keyword ref="qtimeedit.html#minValue-prop">minValue</keyword>
+ <keyword ref="qtimeedit.html#sectionFormattedText">sectionFormattedText</keyword>
+ <keyword ref="qtimeedit.html#separator">separator</keyword>
+ <keyword ref="qtimeedit.html#setAutoAdvance">setAutoAdvance</keyword>
+ <keyword ref="qtimeedit.html#setDisplay">setDisplay</keyword>
+ <keyword ref="qtimeedit.html#setHour">setHour</keyword>
+ <keyword ref="qtimeedit.html#setMaxValue">setMaxValue</keyword>
+ <keyword ref="qtimeedit.html#setMinValue">setMinValue</keyword>
+ <keyword ref="qtimeedit.html#setMinute">setMinute</keyword>
+ <keyword ref="qtimeedit.html#setRange">setRange</keyword>
+ <keyword ref="qtimeedit.html#setSecond">setSecond</keyword>
+ <keyword ref="qtimeedit.html#setSeparator">setSeparator</keyword>
+ <keyword ref="qtimeedit.html#setTime">setTime</keyword>
+ <keyword ref="qtimeedit.html#time">time</keyword>
+ <keyword ref="qtimeedit.html#time-prop">time</keyword>
+ <keyword ref="qtimeedit.html#valueChanged">valueChanged</keyword>
+ <keyword ref="qtimeedit.html#~QTimeEdit">~QTimeEdit</keyword>
+ <section ref="qtimeedit-members.html" title="List of All Member Functions"/>
+ <section ref="qdatetimeedit-h.html" title="Header File"/>
+</section>
+<section ref="qtimer.html" title="QTimer Class Reference">
+ <keyword ref="qtimer.html">QTimer</keyword>
+ <keyword ref="qtimer.html#changeInterval">changeInterval</keyword>
+ <keyword ref="qtimer.html#isActive">isActive</keyword>
+ <keyword ref="qtimer.html#singleShot">singleShot</keyword>
+ <keyword ref="qtimer.html#start">start</keyword>
+ <keyword ref="qtimer.html#stop">stop</keyword>
+ <keyword ref="qtimer.html#timeout">timeout</keyword>
+ <keyword ref="qtimer.html#timerId">timerId</keyword>
+ <keyword ref="qtimer.html#~QTimer">~QTimer</keyword>
+ <section ref="qtimer-members.html" title="List of All Member Functions"/>
+ <section ref="qtimer-h.html" title="Header File"/>
+</section>
+<section ref="qtimerevent.html" title="QTimerEvent Class Reference">
+ <keyword ref="qtimerevent.html">QTimerEvent</keyword>
+ <keyword ref="qtimerevent.html#timerId">timerId</keyword>
+ <section ref="qtimerevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qtoolbar.html" title="QToolBar Class Reference">
+ <keyword ref="qtoolbar.html">QToolBar</keyword>
+ <keyword ref="qtoolbar.html#addSeparator">addSeparator</keyword>
+ <keyword ref="qtoolbar.html#clear">clear</keyword>
+ <keyword ref="qtoolbar.html#label">label</keyword>
+ <keyword ref="qtoolbar.html#label-prop">label</keyword>
+ <keyword ref="qtoolbar.html#mainWindow">mainWindow</keyword>
+ <keyword ref="qtoolbar.html#setLabel">setLabel</keyword>
+ <keyword ref="qtoolbar.html#setStretchableWidget">setStretchableWidget</keyword>
+ <section ref="qtoolbar-members.html" title="List of All Member Functions"/>
+ <section ref="qtoolbar-h.html" title="Header File"/>
+</section>
+<section ref="qtoolbox.html" title="QToolBox Class Reference">
+ <keyword ref="qtoolbox.html">QToolBox</keyword>
+ <keyword ref="qtoolbox.html#addItem">addItem</keyword>
+ <keyword ref="qtoolbox.html#count">count</keyword>
+ <keyword ref="qtoolbox.html#count-prop">count</keyword>
+ <keyword ref="qtoolbox.html#currentChanged">currentChanged</keyword>
+ <keyword ref="qtoolbox.html#currentIndex">currentIndex</keyword>
+ <keyword ref="qtoolbox.html#currentIndex-prop">currentIndex</keyword>
+ <keyword ref="qtoolbox.html#currentItem">currentItem</keyword>
+ <keyword ref="qtoolbox.html#indexOf">indexOf</keyword>
+ <keyword ref="qtoolbox.html#insertItem">insertItem</keyword>
+ <keyword ref="qtoolbox.html#isItemEnabled">isItemEnabled</keyword>
+ <keyword ref="qtoolbox.html#item">item</keyword>
+ <keyword ref="qtoolbox.html#itemIconSet">itemIconSet</keyword>
+ <keyword ref="qtoolbox.html#itemInserted">itemInserted</keyword>
+ <keyword ref="qtoolbox.html#itemLabel">itemLabel</keyword>
+ <keyword ref="qtoolbox.html#itemRemoved">itemRemoved</keyword>
+ <keyword ref="qtoolbox.html#itemToolTip">itemToolTip</keyword>
+ <keyword ref="qtoolbox.html#removeItem">removeItem</keyword>
+ <keyword ref="qtoolbox.html#setCurrentIndex">setCurrentIndex</keyword>
+ <keyword ref="qtoolbox.html#setCurrentItem">setCurrentItem</keyword>
+ <keyword ref="qtoolbox.html#setItemEnabled">setItemEnabled</keyword>
+ <keyword ref="qtoolbox.html#setItemIconSet">setItemIconSet</keyword>
+ <keyword ref="qtoolbox.html#setItemLabel">setItemLabel</keyword>
+ <keyword ref="qtoolbox.html#setItemToolTip">setItemToolTip</keyword>
+ <section ref="qtoolbox-members.html" title="List of All Member Functions"/>
+ <section ref="qtoolbox-h.html" title="Header File"/>
+</section>
+<section ref="qtoolbutton.html" title="QToolButton Class Reference">
+ <keyword ref="qtoolbutton.html">QToolButton</keyword>
+ <keyword ref="qtoolbutton.html#TextPosition">TextPosition</keyword>
+ <keyword ref="qtoolbutton.html#autoRaise">autoRaise</keyword>
+ <keyword ref="qtoolbutton.html#autoRaise-prop">autoRaise</keyword>
+ <keyword ref="qtoolbutton.html#backgroundMode-prop">backgroundMode</keyword>
+ <keyword ref="qtoolbutton.html#iconSet">iconSet</keyword>
+ <keyword ref="qtoolbutton.html#iconSet-prop">iconSet</keyword>
+ <keyword ref="qtoolbutton.html#on-prop">on</keyword>
+ <keyword ref="qtoolbutton.html#openPopup">openPopup</keyword>
+ <keyword ref="qtoolbutton.html#pixmap-prop">pixmap</keyword>
+ <keyword ref="qtoolbutton.html#popup">popup</keyword>
+ <keyword ref="qtoolbutton.html#popupDelay">popupDelay</keyword>
+ <keyword ref="qtoolbutton.html#popupDelay-prop">popupDelay</keyword>
+ <keyword ref="qtoolbutton.html#setAutoRaise">setAutoRaise</keyword>
+ <keyword ref="qtoolbutton.html#setIconSet">setIconSet</keyword>
+ <keyword ref="qtoolbutton.html#setOn">setOn</keyword>
+ <keyword ref="qtoolbutton.html#setPopup">setPopup</keyword>
+ <keyword ref="qtoolbutton.html#setPopupDelay">setPopupDelay</keyword>
+ <keyword ref="qtoolbutton.html#setTextLabel">setTextLabel</keyword>
+ <keyword ref="qtoolbutton.html#setTextPosition">setTextPosition</keyword>
+ <keyword ref="qtoolbutton.html#setToggleButton">setToggleButton</keyword>
+ <keyword ref="qtoolbutton.html#setUsesBigPixmap">setUsesBigPixmap</keyword>
+ <keyword ref="qtoolbutton.html#setUsesTextLabel">setUsesTextLabel</keyword>
+ <keyword ref="qtoolbutton.html#textLabel">textLabel</keyword>
+ <keyword ref="qtoolbutton.html#textLabel-prop">textLabel</keyword>
+ <keyword ref="qtoolbutton.html#textPosition">textPosition</keyword>
+ <keyword ref="qtoolbutton.html#textPosition-prop">textPosition</keyword>
+ <keyword ref="qtoolbutton.html#toggle">toggle</keyword>
+ <keyword ref="qtoolbutton.html#toggleButton-prop">toggleButton</keyword>
+ <keyword ref="qtoolbutton.html#uses3D">uses3D</keyword>
+ <keyword ref="qtoolbutton.html#usesBigPixmap">usesBigPixmap</keyword>
+ <keyword ref="qtoolbutton.html#usesBigPixmap-prop">usesBigPixmap</keyword>
+ <keyword ref="qtoolbutton.html#usesTextLabel">usesTextLabel</keyword>
+ <keyword ref="qtoolbutton.html#usesTextLabel-prop">usesTextLabel</keyword>
+ <keyword ref="qtoolbutton.html#~QToolButton">~QToolButton</keyword>
+ <section ref="qtoolbutton-members.html" title="List of All Member Functions"/>
+ <section ref="qtoolbutton-h.html" title="Header File"/>
+</section>
+<section ref="qtooltip.html" title="QToolTip Class Reference">
+ <keyword ref="qtooltip.html">QToolTip</keyword>
+ <keyword ref="qtooltip.html#add">add</keyword>
+ <keyword ref="qtooltip.html#clear">clear</keyword>
+ <keyword ref="qtooltip.html#font">font</keyword>
+ <keyword ref="qtooltip.html#group">group</keyword>
+ <keyword ref="qtooltip.html#hide">hide</keyword>
+ <keyword ref="qtooltip.html#isGloballyEnabled">isGloballyEnabled</keyword>
+ <keyword ref="qtooltip.html#maybeTip">maybeTip</keyword>
+ <keyword ref="qtooltip.html#palette">palette</keyword>
+ <keyword ref="qtooltip.html#parentWidget">parentWidget</keyword>
+ <keyword ref="qtooltip.html#remove">remove</keyword>
+ <keyword ref="qtooltip.html#setFont">setFont</keyword>
+ <keyword ref="qtooltip.html#setGloballyEnabled">setGloballyEnabled</keyword>
+ <keyword ref="qtooltip.html#setPalette">setPalette</keyword>
+ <keyword ref="qtooltip.html#setWakeUpDelay">setWakeUpDelay</keyword>
+ <keyword ref="qtooltip.html#textFor">textFor</keyword>
+ <keyword ref="qtooltip.html#tip">tip</keyword>
+ <section ref="qtooltip-members.html" title="List of All Member Functions"/>
+ <section ref="qtooltip-h.html" title="Header File"/>
+</section>
+<section ref="qtooltipgroup.html" title="QToolTipGroup Class Reference">
+ <keyword ref="qtooltipgroup.html">QToolTipGroup</keyword>
+ <keyword ref="qtooltipgroup.html#delay">delay</keyword>
+ <keyword ref="qtooltipgroup.html#delay-prop">delay</keyword>
+ <keyword ref="qtooltipgroup.html#enabled">enabled</keyword>
+ <keyword ref="qtooltipgroup.html#enabled-prop">enabled</keyword>
+ <keyword ref="qtooltipgroup.html#removeTip">removeTip</keyword>
+ <keyword ref="qtooltipgroup.html#setDelay">setDelay</keyword>
+ <keyword ref="qtooltipgroup.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qtooltipgroup.html#showTip">showTip</keyword>
+ <keyword ref="qtooltipgroup.html#~QToolTipGroup">~QToolTipGroup</keyword>
+ <section ref="qtooltipgroup-members.html" title="List of All Member Functions"/>
+ <section ref="qtooltip-h.html" title="Header File"/>
+</section>
+<section ref="qtranslator.html" title="QTranslator Class Reference">
+ <keyword ref="qtranslator.html">QTranslator</keyword>
+ <keyword ref="qtranslator.html#SaveMode">SaveMode</keyword>
+ <keyword ref="qtranslator.html#clear">clear</keyword>
+ <keyword ref="qtranslator.html#contains">contains</keyword>
+ <keyword ref="qtranslator.html#findMessage">findMessage</keyword>
+ <keyword ref="qtranslator.html#insert">insert</keyword>
+ <keyword ref="qtranslator.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qtranslator.html#load">load</keyword>
+ <keyword ref="qtranslator.html#messages">messages</keyword>
+ <keyword ref="qtranslator.html#remove">remove</keyword>
+ <keyword ref="qtranslator.html#save">save</keyword>
+ <keyword ref="qtranslator.html#squeeze">squeeze</keyword>
+ <keyword ref="qtranslator.html#unsqueeze">unsqueeze</keyword>
+ <keyword ref="qtranslator.html#~QTranslator">~QTranslator</keyword>
+ <section ref="qtranslator-members.html" title="List of All Member Functions"/>
+ <section ref="qtranslator-h.html" title="Header File"/>
+</section>
+<section ref="qtranslatormessage.html" title="QTranslatorMessage Class Reference">
+ <keyword ref="qtranslatormessage.html">QTranslatorMessage</keyword>
+ <keyword ref="qtranslatormessage.html#Prefix">Prefix</keyword>
+ <keyword ref="qtranslatormessage.html#comment">comment</keyword>
+ <keyword ref="qtranslatormessage.html#commonPrefix">commonPrefix</keyword>
+ <keyword ref="qtranslatormessage.html#context">context</keyword>
+ <keyword ref="qtranslatormessage.html#hash">hash</keyword>
+ <keyword ref="qtranslatormessage.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qtranslatormessage.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="qtranslatormessage.html#operator-lt-eq">operator&lt;=</keyword>
+ <keyword ref="qtranslatormessage.html#operator-eq">operator=</keyword>
+ <keyword ref="qtranslatormessage.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qtranslatormessage.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="qtranslatormessage.html#operator-gt-eq">operator&gt;=</keyword>
+ <keyword ref="qtranslatormessage.html#setTranslation">setTranslation</keyword>
+ <keyword ref="qtranslatormessage.html#sourceText">sourceText</keyword>
+ <keyword ref="qtranslatormessage.html#translation">translation</keyword>
+ <keyword ref="qtranslatormessage.html#write">write</keyword>
+ <section ref="qtranslatormessage-members.html" title="List of All Member Functions"/>
+ <section ref="qtranslator-h.html" title="Header File"/>
+</section>
+<section ref="qtsciicodec.html" title="QTsciiCodec Class Reference">
+ <keyword ref="qtsciicodec.html">QTsciiCodec</keyword>
+ <section ref="qtsciicodec-members.html" title="List of All Member Functions"/>
+ <section ref="qtsciicodec-h.html" title="Header File"/>
+</section>
+<section ref="quridrag.html" title="QUriDrag Class Reference">
+ <keyword ref="quridrag.html">QUriDrag</keyword>
+ <keyword ref="quridrag.html#canDecode">canDecode</keyword>
+ <keyword ref="quridrag.html#decode">decode</keyword>
+ <keyword ref="quridrag.html#decodeLocalFiles">decodeLocalFiles</keyword>
+ <keyword ref="quridrag.html#decodeToUnicodeUris">decodeToUnicodeUris</keyword>
+ <keyword ref="quridrag.html#localFileToUri">localFileToUri</keyword>
+ <keyword ref="quridrag.html#setFileNames">setFileNames</keyword>
+ <keyword ref="quridrag.html#setUnicodeUris">setUnicodeUris</keyword>
+ <keyword ref="quridrag.html#setUris">setUris</keyword>
+ <keyword ref="quridrag.html#unicodeUriToUri">unicodeUriToUri</keyword>
+ <keyword ref="quridrag.html#uriToLocalFile">uriToLocalFile</keyword>
+ <keyword ref="quridrag.html#uriToUnicodeUri">uriToUnicodeUri</keyword>
+ <keyword ref="quridrag.html#~QUriDrag">~QUriDrag</keyword>
+ <section ref="quridrag-members.html" title="List of All Member Functions"/>
+ <section ref="qdragobject-h.html" title="Header File"/>
+</section>
+<section ref="qurl.html" title="QUrl Class Reference">
+ <keyword ref="qurl.html">QUrl</keyword>
+ <keyword ref="qurl.html#addPath">addPath</keyword>
+ <keyword ref="qurl.html#cdUp">cdUp</keyword>
+ <keyword ref="qurl.html#decode">decode</keyword>
+ <keyword ref="qurl.html#dirPath">dirPath</keyword>
+ <keyword ref="qurl.html#encode">encode</keyword>
+ <keyword ref="qurl.html#encodedPathAndQuery">encodedPathAndQuery</keyword>
+ <keyword ref="qurl.html#fileName">fileName</keyword>
+ <keyword ref="qurl.html#hasHost">hasHost</keyword>
+ <keyword ref="qurl.html#hasPassword">hasPassword</keyword>
+ <keyword ref="qurl.html#hasPath">hasPath</keyword>
+ <keyword ref="qurl.html#hasPort">hasPort</keyword>
+ <keyword ref="qurl.html#hasRef">hasRef</keyword>
+ <keyword ref="qurl.html#hasUser">hasUser</keyword>
+ <keyword ref="qurl.html#host">host</keyword>
+ <keyword ref="qurl.html#isLocalFile">isLocalFile</keyword>
+ <keyword ref="qurl.html#isRelativeUrl">isRelativeUrl</keyword>
+ <keyword ref="qurl.html#isValid">isValid</keyword>
+ <keyword ref="qurl.html#operator-QString">operator QString</keyword>
+ <keyword ref="qurl.html#operator-eq">operator=</keyword>
+ <keyword ref="qurl.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qurl.html#parse">parse</keyword>
+ <keyword ref="qurl.html#password">password</keyword>
+ <keyword ref="qurl.html#path">path</keyword>
+ <keyword ref="qurl.html#port">port</keyword>
+ <keyword ref="qurl.html#protocol">protocol</keyword>
+ <keyword ref="qurl.html#query">query</keyword>
+ <keyword ref="qurl.html#ref">ref</keyword>
+ <keyword ref="qurl.html#reset">reset</keyword>
+ <keyword ref="qurl.html#setEncodedPathAndQuery">setEncodedPathAndQuery</keyword>
+ <keyword ref="qurl.html#setFileName">setFileName</keyword>
+ <keyword ref="qurl.html#setHost">setHost</keyword>
+ <keyword ref="qurl.html#setPassword">setPassword</keyword>
+ <keyword ref="qurl.html#setPath">setPath</keyword>
+ <keyword ref="qurl.html#setPort">setPort</keyword>
+ <keyword ref="qurl.html#setProtocol">setProtocol</keyword>
+ <keyword ref="qurl.html#setQuery">setQuery</keyword>
+ <keyword ref="qurl.html#setRef">setRef</keyword>
+ <keyword ref="qurl.html#setUser">setUser</keyword>
+ <keyword ref="qurl.html#toString">toString</keyword>
+ <keyword ref="qurl.html#user">user</keyword>
+ <keyword ref="qurl.html#~QUrl">~QUrl</keyword>
+ <section ref="qurl-members.html" title="List of All Member Functions"/>
+ <section ref="qurl-h.html" title="Header File"/>
+</section>
+<section ref="qurlinfo.html" title="QUrlInfo Class Reference">
+ <keyword ref="qurlinfo.html">QUrlInfo</keyword>
+ <keyword ref="qurlinfo.html#PermissionSpec">PermissionSpec</keyword>
+ <keyword ref="qurlinfo.html#equal">equal</keyword>
+ <keyword ref="qurlinfo.html#greaterThan">greaterThan</keyword>
+ <keyword ref="qurlinfo.html#group">group</keyword>
+ <keyword ref="qurlinfo.html#isDir">isDir</keyword>
+ <keyword ref="qurlinfo.html#isExecutable">isExecutable</keyword>
+ <keyword ref="qurlinfo.html#isFile">isFile</keyword>
+ <keyword ref="qurlinfo.html#isReadable">isReadable</keyword>
+ <keyword ref="qurlinfo.html#isSymLink">isSymLink</keyword>
+ <keyword ref="qurlinfo.html#isValid">isValid</keyword>
+ <keyword ref="qurlinfo.html#isWritable">isWritable</keyword>
+ <keyword ref="qurlinfo.html#lastModified">lastModified</keyword>
+ <keyword ref="qurlinfo.html#lastRead">lastRead</keyword>
+ <keyword ref="qurlinfo.html#lessThan">lessThan</keyword>
+ <keyword ref="qurlinfo.html#name">name</keyword>
+ <keyword ref="qurlinfo.html#operator-eq">operator=</keyword>
+ <keyword ref="qurlinfo.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qurlinfo.html#owner">owner</keyword>
+ <keyword ref="qurlinfo.html#permissions">permissions</keyword>
+ <keyword ref="qurlinfo.html#setDir">setDir</keyword>
+ <keyword ref="qurlinfo.html#setFile">setFile</keyword>
+ <keyword ref="qurlinfo.html#setGroup">setGroup</keyword>
+ <keyword ref="qurlinfo.html#setLastModified">setLastModified</keyword>
+ <keyword ref="qurlinfo.html#setName">setName</keyword>
+ <keyword ref="qurlinfo.html#setOwner">setOwner</keyword>
+ <keyword ref="qurlinfo.html#setPermissions">setPermissions</keyword>
+ <keyword ref="qurlinfo.html#setReadable">setReadable</keyword>
+ <keyword ref="qurlinfo.html#setSize">setSize</keyword>
+ <keyword ref="qurlinfo.html#setSymLink">setSymLink</keyword>
+ <keyword ref="qurlinfo.html#setWritable">setWritable</keyword>
+ <keyword ref="qurlinfo.html#size">size</keyword>
+ <keyword ref="qurlinfo.html#~QUrlInfo">~QUrlInfo</keyword>
+ <section ref="qurlinfo-members.html" title="List of All Member Functions"/>
+ <section ref="qurlinfo-h.html" title="Header File"/>
+</section>
+<section ref="qurloperator.html" title="QUrlOperator Class Reference">
+ <keyword ref="qurloperator.html">QUrlOperator</keyword>
+ <keyword ref="qurloperator.html#addEntry">addEntry</keyword>
+ <keyword ref="qurloperator.html#clearEntries">clearEntries</keyword>
+ <keyword ref="qurloperator.html#connectionStateChanged">connectionStateChanged</keyword>
+ <keyword ref="qurloperator.html#copy">copy</keyword>
+ <keyword ref="qurloperator.html#createdDirectory">createdDirectory</keyword>
+ <keyword ref="qurloperator.html#data">data</keyword>
+ <keyword ref="qurloperator.html#dataTransferProgress">dataTransferProgress</keyword>
+ <keyword ref="qurloperator.html#deleteNetworkProtocol">deleteNetworkProtocol</keyword>
+ <keyword ref="qurloperator.html#finished">finished</keyword>
+ <keyword ref="qurloperator.html#get">get</keyword>
+ <keyword ref="qurloperator.html#getNetworkProtocol">getNetworkProtocol</keyword>
+ <keyword ref="qurloperator.html#info">info</keyword>
+ <keyword ref="qurloperator.html#isDir">isDir</keyword>
+ <keyword ref="qurloperator.html#itemChanged">itemChanged</keyword>
+ <keyword ref="qurloperator.html#listChildren">listChildren</keyword>
+ <keyword ref="qurloperator.html#mkdir">mkdir</keyword>
+ <keyword ref="qurloperator.html#nameFilter">nameFilter</keyword>
+ <keyword ref="qurloperator.html#newChildren">newChildren</keyword>
+ <keyword ref="qurloperator.html#put">put</keyword>
+ <keyword ref="qurloperator.html#remove">remove</keyword>
+ <keyword ref="qurloperator.html#removed">removed</keyword>
+ <keyword ref="qurloperator.html#rename">rename</keyword>
+ <keyword ref="qurloperator.html#setNameFilter">setNameFilter</keyword>
+ <keyword ref="qurloperator.html#start">start</keyword>
+ <keyword ref="qurloperator.html#startOperation">startOperation</keyword>
+ <keyword ref="qurloperator.html#startedNextCopy">startedNextCopy</keyword>
+ <keyword ref="qurloperator.html#stop">stop</keyword>
+ <keyword ref="qurloperator.html#~QUrlOperator">~QUrlOperator</keyword>
+ <keyword ref="qurloperator.html#qInitNetworkProtocols">qInitNetworkProtocols</keyword>
+ <section ref="qurloperator-members.html" title="List of All Member Functions"/>
+ <section ref="qurloperator-h.html" title="Header File"/>
+</section>
+<section ref="quuid.html" title="QUuid Class Reference">
+ <keyword ref="quuid.html">QUuid</keyword>
+ <keyword ref="quuid.html#Variant">Variant</keyword>
+ <keyword ref="quuid.html#Version">Version</keyword>
+ <keyword ref="quuid.html#createUuid">createUuid</keyword>
+ <keyword ref="quuid.html#isNull">isNull</keyword>
+ <keyword ref="quuid.html#operator-QString">operator QString</keyword>
+ <keyword ref="quuid.html#operator!-eq">operator!=</keyword>
+ <keyword ref="quuid.html#operator-lt">operator&lt;</keyword>
+ <keyword ref="quuid.html#operator-eq">operator=</keyword>
+ <keyword ref="quuid.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="quuid.html#operator-gt">operator&gt;</keyword>
+ <keyword ref="quuid.html#toString">toString</keyword>
+ <keyword ref="quuid.html#variant">variant</keyword>
+ <keyword ref="quuid.html#version">version</keyword>
+ <keyword ref="quuid.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="quuid.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="quuid-members.html" title="List of All Member Functions"/>
+ <section ref="quuid-h.html" title="Header File"/>
+</section>
+<section ref="qvalidator.html" title="QValidator Class Reference">
+ <keyword ref="qvalidator.html">QValidator</keyword>
+ <keyword ref="qvalidator.html#State">State</keyword>
+ <keyword ref="qvalidator.html#fixup">fixup</keyword>
+ <keyword ref="qvalidator.html#validate">validate</keyword>
+ <keyword ref="qvalidator.html#~QValidator">~QValidator</keyword>
+ <section ref="qvalidator-members.html" title="List of All Member Functions"/>
+ <section ref="qvalidator-h.html" title="Header File"/>
+</section>
+<section ref="qvaluelist.html" title="QValueList Class Reference">
+ <keyword ref="qvaluelist.html">QValueList</keyword>
+ <keyword ref="qvaluelist.html#ConstIterator">ConstIterator</keyword>
+ <keyword ref="qvaluelist.html#Iterator">Iterator</keyword>
+ <keyword ref="qvaluelist.html#append">append</keyword>
+ <keyword ref="qvaluelist.html#at">at</keyword>
+ <keyword ref="qvaluelist.html#back">back</keyword>
+ <keyword ref="qvaluelist.html#begin">begin</keyword>
+ <keyword ref="qvaluelist.html#clear">clear</keyword>
+ <keyword ref="qvaluelist.html#constBegin">constBegin</keyword>
+ <keyword ref="qvaluelist.html#constEnd">constEnd</keyword>
+ <keyword ref="qvaluelist.html#const_iterator">const_iterator</keyword>
+ <keyword ref="qvaluelist.html#const_pointer">const_pointer</keyword>
+ <keyword ref="qvaluelist.html#const_reference">const_reference</keyword>
+ <keyword ref="qvaluelist.html#contains">contains</keyword>
+ <keyword ref="qvaluelist.html#count">count</keyword>
+ <keyword ref="qvaluelist.html#empty">empty</keyword>
+ <keyword ref="qvaluelist.html#end">end</keyword>
+ <keyword ref="qvaluelist.html#erase">erase</keyword>
+ <keyword ref="qvaluelist.html#find">find</keyword>
+ <keyword ref="qvaluelist.html#findIndex">findIndex</keyword>
+ <keyword ref="qvaluelist.html#first">first</keyword>
+ <keyword ref="qvaluelist.html#fromLast">fromLast</keyword>
+ <keyword ref="qvaluelist.html#front">front</keyword>
+ <keyword ref="qvaluelist.html#insert">insert</keyword>
+ <keyword ref="qvaluelist.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qvaluelist.html#iterator">iterator</keyword>
+ <keyword ref="qvaluelist.html#last">last</keyword>
+ <keyword ref="qvaluelist.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qvaluelist.html#operator+">operator+</keyword>
+ <keyword ref="qvaluelist.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qvaluelist.html#operator-eq">operator=</keyword>
+ <keyword ref="qvaluelist.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qvaluelist.html#operator[]">operator[]</keyword>
+ <keyword ref="qvaluelist.html#pointer">pointer</keyword>
+ <keyword ref="qvaluelist.html#pop_back">pop_back</keyword>
+ <keyword ref="qvaluelist.html#pop_front">pop_front</keyword>
+ <keyword ref="qvaluelist.html#prepend">prepend</keyword>
+ <keyword ref="qvaluelist.html#push_back">push_back</keyword>
+ <keyword ref="qvaluelist.html#push_front">push_front</keyword>
+ <keyword ref="qvaluelist.html#reference">reference</keyword>
+ <keyword ref="qvaluelist.html#remove">remove</keyword>
+ <keyword ref="qvaluelist.html#size">size</keyword>
+ <keyword ref="qvaluelist.html#size_type">size_type</keyword>
+ <keyword ref="qvaluelist.html#value_type">value_type</keyword>
+ <keyword ref="qvaluelist.html#~QValueList">~QValueList</keyword>
+ <keyword ref="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qvaluelist.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qvaluelist-members.html" title="List of All Member Functions"/>
+ <section ref="qvaluelist-h.html" title="Header File"/>
+</section>
+<section ref="qvaluelistconstiterator.html" title="QValueListConstIterator Class Reference">
+ <keyword ref="qvaluelistconstiterator.html">QValueListConstIterator</keyword>
+ <keyword ref="qvaluelistconstiterator.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qvaluelistconstiterator.html#operator*">operator*</keyword>
+ <keyword ref="qvaluelistconstiterator.html#operator++">operator++</keyword>
+ <keyword ref="qvaluelistconstiterator.html#operator--">operator--</keyword>
+ <keyword ref="qvaluelistconstiterator.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qvaluelistconstiterator.html#pointer">pointer</keyword>
+ <keyword ref="qvaluelistconstiterator.html#reference">reference</keyword>
+ <keyword ref="qvaluelistconstiterator.html#value_type">value_type</keyword>
+ <section ref="qvaluelistconstiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qvaluelist-h.html" title="Header File"/>
+</section>
+<section ref="qvaluelistiterator.html" title="QValueListIterator Class Reference">
+ <keyword ref="qvaluelistiterator.html">QValueListIterator</keyword>
+ <keyword ref="qvaluelistiterator.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qvaluelistiterator.html#operator*">operator*</keyword>
+ <keyword ref="qvaluelistiterator.html#operator++">operator++</keyword>
+ <keyword ref="qvaluelistiterator.html#operator+-eq">operator+=</keyword>
+ <keyword ref="qvaluelistiterator.html#operator--">operator--</keyword>
+ <keyword ref="qvaluelistiterator.html#operator--eq">operator-=</keyword>
+ <keyword ref="qvaluelistiterator.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qvaluelistiterator.html#pointer">pointer</keyword>
+ <keyword ref="qvaluelistiterator.html#reference">reference</keyword>
+ <keyword ref="qvaluelistiterator.html#value_type">value_type</keyword>
+ <section ref="qvaluelistiterator-members.html" title="List of All Member Functions"/>
+ <section ref="qvaluelist-h.html" title="Header File"/>
+</section>
+<section ref="qvaluestack.html" title="QValueStack Class Reference">
+ <keyword ref="qvaluestack.html">QValueStack</keyword>
+ <keyword ref="qvaluestack.html#pop">pop</keyword>
+ <keyword ref="qvaluestack.html#push">push</keyword>
+ <keyword ref="qvaluestack.html#top">top</keyword>
+ <keyword ref="qvaluestack.html#~QValueStack">~QValueStack</keyword>
+ <section ref="qvaluestack-members.html" title="List of All Member Functions"/>
+ <section ref="qvaluestack-h.html" title="Header File"/>
+</section>
+<section ref="qvaluevector.html" title="QValueVector Class Reference">
+ <keyword ref="qvaluevector.html">QValueVector</keyword>
+ <keyword ref="qvaluevector.html#ConstIterator">ConstIterator</keyword>
+ <keyword ref="qvaluevector.html#Iterator">Iterator</keyword>
+ <keyword ref="qvaluevector.html#ValueType">ValueType</keyword>
+ <keyword ref="qvaluevector.html#append">append</keyword>
+ <keyword ref="qvaluevector.html#at">at</keyword>
+ <keyword ref="qvaluevector.html#back">back</keyword>
+ <keyword ref="qvaluevector.html#begin">begin</keyword>
+ <keyword ref="qvaluevector.html#capacity">capacity</keyword>
+ <keyword ref="qvaluevector.html#clear">clear</keyword>
+ <keyword ref="qvaluevector.html#constBegin">constBegin</keyword>
+ <keyword ref="qvaluevector.html#constEnd">constEnd</keyword>
+ <keyword ref="qvaluevector.html#const_iterator">const_iterator</keyword>
+ <keyword ref="qvaluevector.html#const_pointer">const_pointer</keyword>
+ <keyword ref="qvaluevector.html#const_reference">const_reference</keyword>
+ <keyword ref="qvaluevector.html#count">count</keyword>
+ <keyword ref="qvaluevector.html#difference_type">difference_type</keyword>
+ <keyword ref="qvaluevector.html#empty">empty</keyword>
+ <keyword ref="qvaluevector.html#end">end</keyword>
+ <keyword ref="qvaluevector.html#erase">erase</keyword>
+ <keyword ref="qvaluevector.html#first">first</keyword>
+ <keyword ref="qvaluevector.html#front">front</keyword>
+ <keyword ref="qvaluevector.html#insert">insert</keyword>
+ <keyword ref="qvaluevector.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qvaluevector.html#iterator">iterator</keyword>
+ <keyword ref="qvaluevector.html#last">last</keyword>
+ <keyword ref="qvaluevector.html#operator-eq">operator=</keyword>
+ <keyword ref="qvaluevector.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qvaluevector.html#operator[]">operator[]</keyword>
+ <keyword ref="qvaluevector.html#pointer">pointer</keyword>
+ <keyword ref="qvaluevector.html#pop_back">pop_back</keyword>
+ <keyword ref="qvaluevector.html#push_back">push_back</keyword>
+ <keyword ref="qvaluevector.html#reference">reference</keyword>
+ <keyword ref="qvaluevector.html#reserve">reserve</keyword>
+ <keyword ref="qvaluevector.html#resize">resize</keyword>
+ <keyword ref="qvaluevector.html#size">size</keyword>
+ <keyword ref="qvaluevector.html#size_type">size_type</keyword>
+ <keyword ref="qvaluevector.html#value_type">value_type</keyword>
+ <keyword ref="qvaluevector.html#~QValueVector">~QValueVector</keyword>
+ <section ref="qvaluevector-members.html" title="List of All Member Functions"/>
+ <section ref="qvaluevector-h.html" title="Header File"/>
+</section>
+<section ref="qvariant.html" title="QVariant Class Reference">
+ <keyword ref="qvariant.html">QVariant</keyword>
+ <keyword ref="qvariant.html#Type">Type</keyword>
+ <keyword ref="qvariant.html#asBitArray">asBitArray</keyword>
+ <keyword ref="qvariant.html#asBitmap">asBitmap</keyword>
+ <keyword ref="qvariant.html#asBool">asBool</keyword>
+ <keyword ref="qvariant.html#asBrush">asBrush</keyword>
+ <keyword ref="qvariant.html#asByteArray">asByteArray</keyword>
+ <keyword ref="qvariant.html#asCString">asCString</keyword>
+ <keyword ref="qvariant.html#asColor">asColor</keyword>
+ <keyword ref="qvariant.html#asColorGroup">asColorGroup</keyword>
+ <keyword ref="qvariant.html#asCursor">asCursor</keyword>
+ <keyword ref="qvariant.html#asDate">asDate</keyword>
+ <keyword ref="qvariant.html#asDateTime">asDateTime</keyword>
+ <keyword ref="qvariant.html#asDouble">asDouble</keyword>
+ <keyword ref="qvariant.html#asFont">asFont</keyword>
+ <keyword ref="qvariant.html#asIconSet">asIconSet</keyword>
+ <keyword ref="qvariant.html#asImage">asImage</keyword>
+ <keyword ref="qvariant.html#asInt">asInt</keyword>
+ <keyword ref="qvariant.html#asKeySequence">asKeySequence</keyword>
+ <keyword ref="qvariant.html#asList">asList</keyword>
+ <keyword ref="qvariant.html#asLongLong">asLongLong</keyword>
+ <keyword ref="qvariant.html#asMap">asMap</keyword>
+ <keyword ref="qvariant.html#asPalette">asPalette</keyword>
+ <keyword ref="qvariant.html#asPen">asPen</keyword>
+ <keyword ref="qvariant.html#asPixmap">asPixmap</keyword>
+ <keyword ref="qvariant.html#asPoint">asPoint</keyword>
+ <keyword ref="qvariant.html#asPointArray">asPointArray</keyword>
+ <keyword ref="qvariant.html#asRect">asRect</keyword>
+ <keyword ref="qvariant.html#asRegion">asRegion</keyword>
+ <keyword ref="qvariant.html#asSize">asSize</keyword>
+ <keyword ref="qvariant.html#asSizePolicy">asSizePolicy</keyword>
+ <keyword ref="qvariant.html#asString">asString</keyword>
+ <keyword ref="qvariant.html#asStringList">asStringList</keyword>
+ <keyword ref="qvariant.html#asTime">asTime</keyword>
+ <keyword ref="qvariant.html#asUInt">asUInt</keyword>
+ <keyword ref="qvariant.html#asULongLong">asULongLong</keyword>
+ <keyword ref="qvariant.html#canCast">canCast</keyword>
+ <keyword ref="qvariant.html#cast">cast</keyword>
+ <keyword ref="qvariant.html#clear">clear</keyword>
+ <keyword ref="qvariant.html#isNull">isNull</keyword>
+ <keyword ref="qvariant.html#isValid">isValid</keyword>
+ <keyword ref="qvariant.html#nameToType">nameToType</keyword>
+ <keyword ref="qvariant.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qvariant.html#operator-eq">operator=</keyword>
+ <keyword ref="qvariant.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qvariant.html#toBitArray">toBitArray</keyword>
+ <keyword ref="qvariant.html#toBitmap">toBitmap</keyword>
+ <keyword ref="qvariant.html#toBool">toBool</keyword>
+ <keyword ref="qvariant.html#toBrush">toBrush</keyword>
+ <keyword ref="qvariant.html#toByteArray">toByteArray</keyword>
+ <keyword ref="qvariant.html#toCString">toCString</keyword>
+ <keyword ref="qvariant.html#toColor">toColor</keyword>
+ <keyword ref="qvariant.html#toColorGroup">toColorGroup</keyword>
+ <keyword ref="qvariant.html#toCursor">toCursor</keyword>
+ <keyword ref="qvariant.html#toDate">toDate</keyword>
+ <keyword ref="qvariant.html#toDateTime">toDateTime</keyword>
+ <keyword ref="qvariant.html#toDouble">toDouble</keyword>
+ <keyword ref="qvariant.html#toFont">toFont</keyword>
+ <keyword ref="qvariant.html#toIconSet">toIconSet</keyword>
+ <keyword ref="qvariant.html#toImage">toImage</keyword>
+ <keyword ref="qvariant.html#toInt">toInt</keyword>
+ <keyword ref="qvariant.html#toKeySequence">toKeySequence</keyword>
+ <keyword ref="qvariant.html#toList">toList</keyword>
+ <keyword ref="qvariant.html#toLongLong">toLongLong</keyword>
+ <keyword ref="qvariant.html#toMap">toMap</keyword>
+ <keyword ref="qvariant.html#toPalette">toPalette</keyword>
+ <keyword ref="qvariant.html#toPen">toPen</keyword>
+ <keyword ref="qvariant.html#toPixmap">toPixmap</keyword>
+ <keyword ref="qvariant.html#toPoint">toPoint</keyword>
+ <keyword ref="qvariant.html#toPointArray">toPointArray</keyword>
+ <keyword ref="qvariant.html#toRect">toRect</keyword>
+ <keyword ref="qvariant.html#toRegion">toRegion</keyword>
+ <keyword ref="qvariant.html#toSize">toSize</keyword>
+ <keyword ref="qvariant.html#toSizePolicy">toSizePolicy</keyword>
+ <keyword ref="qvariant.html#toString">toString</keyword>
+ <keyword ref="qvariant.html#toStringList">toStringList</keyword>
+ <keyword ref="qvariant.html#toTime">toTime</keyword>
+ <keyword ref="qvariant.html#toUInt">toUInt</keyword>
+ <keyword ref="qvariant.html#toULongLong">toULongLong</keyword>
+ <keyword ref="qvariant.html#type">type</keyword>
+ <keyword ref="qvariant.html#typeName">typeName</keyword>
+ <keyword ref="qvariant.html#typeToName">typeToName</keyword>
+ <keyword ref="qvariant.html#~QVariant">~QVariant</keyword>
+ <section ref="qvariant-members.html" title="List of All Member Functions"/>
+ <section ref="qvariant-h.html" title="Header File"/>
+</section>
+<section ref="qvbox.html" title="QVBox Class Reference">
+ <keyword ref="qvbox.html">QVBox</keyword>
+ <section ref="qvbox-members.html" title="List of All Member Functions"/>
+ <section ref="qvbox-h.html" title="Header File"/>
+</section>
+<section ref="qvboxlayout.html" title="QVBoxLayout Class Reference">
+ <keyword ref="qvboxlayout.html">QVBoxLayout</keyword>
+ <keyword ref="qvboxlayout.html#~QVBoxLayout">~QVBoxLayout</keyword>
+ <section ref="qvboxlayout-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qvbuttongroup.html" title="QVButtonGroup Class Reference">
+ <keyword ref="qvbuttongroup.html">QVButtonGroup</keyword>
+ <keyword ref="qvbuttongroup.html#~QVButtonGroup">~QVButtonGroup</keyword>
+ <section ref="qvbuttongroup-members.html" title="List of All Member Functions"/>
+ <section ref="qvbuttongroup-h.html" title="Header File"/>
+</section>
+<section ref="qvgroupbox.html" title="QVGroupBox Class Reference">
+ <keyword ref="qvgroupbox.html">QVGroupBox</keyword>
+ <keyword ref="qvgroupbox.html#~QVGroupBox">~QVGroupBox</keyword>
+ <section ref="qvgroupbox-members.html" title="List of All Member Functions"/>
+ <section ref="qvgroupbox-h.html" title="Header File"/>
+</section>
+<section ref="qwaitcondition.html" title="QWaitCondition Class Reference">
+ <keyword ref="qwaitcondition.html">QWaitCondition</keyword>
+ <keyword ref="qwaitcondition.html#wait">wait</keyword>
+ <keyword ref="qwaitcondition.html#wakeAll">wakeAll</keyword>
+ <keyword ref="qwaitcondition.html#wakeOne">wakeOne</keyword>
+ <keyword ref="qwaitcondition.html#~QWaitCondition">~QWaitCondition</keyword>
+ <section ref="qwaitcondition-members.html" title="List of All Member Functions"/>
+ <section ref="qwaitcondition-h.html" title="Header File"/>
+</section>
+<section ref="qwhatsthis.html" title="QWhatsThis Class Reference">
+ <keyword ref="qwhatsthis.html">QWhatsThis</keyword>
+ <keyword ref="qwhatsthis.html#add">add</keyword>
+ <keyword ref="qwhatsthis.html#clicked">clicked</keyword>
+ <keyword ref="qwhatsthis.html#display">display</keyword>
+ <keyword ref="qwhatsthis.html#enterWhatsThisMode">enterWhatsThisMode</keyword>
+ <keyword ref="qwhatsthis.html#inWhatsThisMode">inWhatsThisMode</keyword>
+ <keyword ref="qwhatsthis.html#leaveWhatsThisMode">leaveWhatsThisMode</keyword>
+ <keyword ref="qwhatsthis.html#remove">remove</keyword>
+ <keyword ref="qwhatsthis.html#setFont">setFont</keyword>
+ <keyword ref="qwhatsthis.html#text">text</keyword>
+ <keyword ref="qwhatsthis.html#textFor">textFor</keyword>
+ <keyword ref="qwhatsthis.html#whatsThisButton">whatsThisButton</keyword>
+ <keyword ref="qwhatsthis.html#~QWhatsThis">~QWhatsThis</keyword>
+ <section ref="qwhatsthis-members.html" title="List of All Member Functions"/>
+ <section ref="qwhatsthis-h.html" title="Header File"/>
+</section>
+<section ref="qwheelevent.html" title="QWheelEvent Class Reference">
+ <keyword ref="qwheelevent.html">QWheelEvent</keyword>
+ <keyword ref="qwheelevent.html#accept">accept</keyword>
+ <keyword ref="qwheelevent.html#delta">delta</keyword>
+ <keyword ref="qwheelevent.html#globalPos">globalPos</keyword>
+ <keyword ref="qwheelevent.html#globalX">globalX</keyword>
+ <keyword ref="qwheelevent.html#globalY">globalY</keyword>
+ <keyword ref="qwheelevent.html#ignore">ignore</keyword>
+ <keyword ref="qwheelevent.html#isAccepted">isAccepted</keyword>
+ <keyword ref="qwheelevent.html#orientation">orientation</keyword>
+ <keyword ref="qwheelevent.html#pos">pos</keyword>
+ <keyword ref="qwheelevent.html#state">state</keyword>
+ <keyword ref="qwheelevent.html#x">x</keyword>
+ <keyword ref="qwheelevent.html#y">y</keyword>
+ <section ref="qwheelevent-members.html" title="List of All Member Functions"/>
+ <section ref="qevent-h.html" title="Header File"/>
+</section>
+<section ref="qwidget.html" title="QWidget Class Reference">
+ <keyword ref="qwidget.html">QWidget</keyword>
+ <keyword ref="qwidget.html#BackgroundOrigin">BackgroundOrigin</keyword>
+ <keyword ref="qwidget.html#FocusPolicy">FocusPolicy</keyword>
+ <keyword ref="qwidget.html#acceptDrops">acceptDrops</keyword>
+ <keyword ref="qwidget.html#acceptDrops-prop">acceptDrops</keyword>
+ <keyword ref="qwidget.html#adjustSize">adjustSize</keyword>
+ <keyword ref="qwidget.html#autoMask">autoMask</keyword>
+ <keyword ref="qwidget.html#autoMask-prop">autoMask</keyword>
+ <keyword ref="qwidget.html#backgroundBrush">backgroundBrush</keyword>
+ <keyword ref="qwidget.html#backgroundBrush-prop">backgroundBrush</keyword>
+ <keyword ref="qwidget.html#backgroundMode">backgroundMode</keyword>
+ <keyword ref="qwidget.html#backgroundMode-prop">backgroundMode</keyword>
+ <keyword ref="qwidget.html#backgroundOrigin">backgroundOrigin</keyword>
+ <keyword ref="qwidget.html#backgroundOrigin-prop">backgroundOrigin</keyword>
+ <keyword ref="qwidget.html#baseSize">baseSize</keyword>
+ <keyword ref="qwidget.html#baseSize-prop">baseSize</keyword>
+ <keyword ref="qwidget.html#caption">caption</keyword>
+ <keyword ref="qwidget.html#caption-prop">caption</keyword>
+ <keyword ref="qwidget.html#childAt">childAt</keyword>
+ <keyword ref="qwidget.html#childrenRect">childrenRect</keyword>
+ <keyword ref="qwidget.html#childrenRect-prop">childrenRect</keyword>
+ <keyword ref="qwidget.html#childrenRegion">childrenRegion</keyword>
+ <keyword ref="qwidget.html#childrenRegion-prop">childrenRegion</keyword>
+ <keyword ref="qwidget.html#clearFocus">clearFocus</keyword>
+ <keyword ref="qwidget.html#clearMask">clearMask</keyword>
+ <keyword ref="qwidget.html#clearWFlags">clearWFlags</keyword>
+ <keyword ref="qwidget.html#clipRegion">clipRegion</keyword>
+ <keyword ref="qwidget.html#close">close</keyword>
+ <keyword ref="qwidget.html#closeEvent">closeEvent</keyword>
+ <keyword ref="qwidget.html#colorGroup">colorGroup</keyword>
+ <keyword ref="qwidget.html#colorGroup-prop">colorGroup</keyword>
+ <keyword ref="qwidget.html#constPolish">constPolish</keyword>
+ <keyword ref="qwidget.html#contextMenuEvent">contextMenuEvent</keyword>
+ <keyword ref="qwidget.html#create">create</keyword>
+ <keyword ref="qwidget.html#cursor">cursor</keyword>
+ <keyword ref="qwidget.html#cursor-prop">cursor</keyword>
+ <keyword ref="qwidget.html#customWhatsThis">customWhatsThis</keyword>
+ <keyword ref="qwidget.html#customWhatsThis-prop">customWhatsThis</keyword>
+ <keyword ref="qwidget.html#destroy">destroy</keyword>
+ <keyword ref="qwidget.html#dragEnterEvent">dragEnterEvent</keyword>
+ <keyword ref="qwidget.html#dragLeaveEvent">dragLeaveEvent</keyword>
+ <keyword ref="qwidget.html#dragMoveEvent">dragMoveEvent</keyword>
+ <keyword ref="qwidget.html#drawText">drawText</keyword>
+ <keyword ref="qwidget.html#dropEvent">dropEvent</keyword>
+ <keyword ref="qwidget.html#enabled-prop">enabled</keyword>
+ <keyword ref="qwidget.html#enabledChange">enabledChange</keyword>
+ <keyword ref="qwidget.html#enterEvent">enterEvent</keyword>
+ <keyword ref="qwidget.html#erase">erase</keyword>
+ <keyword ref="qwidget.html#eraseColor">eraseColor</keyword>
+ <keyword ref="qwidget.html#erasePixmap">erasePixmap</keyword>
+ <keyword ref="qwidget.html#event">event</keyword>
+ <keyword ref="qwidget.html#find">find</keyword>
+ <keyword ref="qwidget.html#focus-prop">focus</keyword>
+ <keyword ref="qwidget.html#focusData">focusData</keyword>
+ <keyword ref="qwidget.html#focusEnabled-prop">focusEnabled</keyword>
+ <keyword ref="qwidget.html#focusInEvent">focusInEvent</keyword>
+ <keyword ref="qwidget.html#focusNextPrevChild">focusNextPrevChild</keyword>
+ <keyword ref="qwidget.html#focusOutEvent">focusOutEvent</keyword>
+ <keyword ref="qwidget.html#focusPolicy">focusPolicy</keyword>
+ <keyword ref="qwidget.html#focusPolicy-prop">focusPolicy</keyword>
+ <keyword ref="qwidget.html#focusProxy">focusProxy</keyword>
+ <keyword ref="qwidget.html#focusWidget">focusWidget</keyword>
+ <keyword ref="qwidget.html#font">font</keyword>
+ <keyword ref="qwidget.html#font-prop">font</keyword>
+ <keyword ref="qwidget.html#fontChange">fontChange</keyword>
+ <keyword ref="qwidget.html#fontInfo">fontInfo</keyword>
+ <keyword ref="qwidget.html#fontMetrics">fontMetrics</keyword>
+ <keyword ref="qwidget.html#foregroundColor">foregroundColor</keyword>
+ <keyword ref="qwidget.html#frameGeometry">frameGeometry</keyword>
+ <keyword ref="qwidget.html#frameGeometry-prop">frameGeometry</keyword>
+ <keyword ref="qwidget.html#frameSize">frameSize</keyword>
+ <keyword ref="qwidget.html#frameSize-prop">frameSize</keyword>
+ <keyword ref="qwidget.html#fullScreen-prop">fullScreen</keyword>
+ <keyword ref="qwidget.html#geometry">geometry</keyword>
+ <keyword ref="qwidget.html#geometry-prop">geometry</keyword>
+ <keyword ref="qwidget.html#getWFlags">getWFlags</keyword>
+ <keyword ref="qwidget.html#grabKeyboard">grabKeyboard</keyword>
+ <keyword ref="qwidget.html#grabMouse">grabMouse</keyword>
+ <keyword ref="qwidget.html#hasFocus">hasFocus</keyword>
+ <keyword ref="qwidget.html#hasMouse">hasMouse</keyword>
+ <keyword ref="qwidget.html#hasMouseTracking">hasMouseTracking</keyword>
+ <keyword ref="qwidget.html#height">height</keyword>
+ <keyword ref="qwidget.html#height-prop">height</keyword>
+ <keyword ref="qwidget.html#heightForWidth">heightForWidth</keyword>
+ <keyword ref="qwidget.html#hidden-prop">hidden</keyword>
+ <keyword ref="qwidget.html#hide">hide</keyword>
+ <keyword ref="qwidget.html#hideEvent">hideEvent</keyword>
+ <keyword ref="qwidget.html#icon">icon</keyword>
+ <keyword ref="qwidget.html#icon-prop">icon</keyword>
+ <keyword ref="qwidget.html#iconText">iconText</keyword>
+ <keyword ref="qwidget.html#iconText-prop">iconText</keyword>
+ <keyword ref="qwidget.html#imComposeEvent">imComposeEvent</keyword>
+ <keyword ref="qwidget.html#imEndEvent">imEndEvent</keyword>
+ <keyword ref="qwidget.html#imStartEvent">imStartEvent</keyword>
+ <keyword ref="qwidget.html#inputMethodEnabled-prop">inputMethodEnabled</keyword>
+ <keyword ref="qwidget.html#isActiveWindow">isActiveWindow</keyword>
+ <keyword ref="qwidget.html#isActiveWindow-prop">isActiveWindow</keyword>
+ <keyword ref="qwidget.html#isDesktop">isDesktop</keyword>
+ <keyword ref="qwidget.html#isDesktop-prop">isDesktop</keyword>
+ <keyword ref="qwidget.html#isDialog">isDialog</keyword>
+ <keyword ref="qwidget.html#isDialog-prop">isDialog</keyword>
+ <keyword ref="qwidget.html#isEnabled">isEnabled</keyword>
+ <keyword ref="qwidget.html#isEnabledTo">isEnabledTo</keyword>
+ <keyword ref="qwidget.html#isFocusEnabled">isFocusEnabled</keyword>
+ <keyword ref="qwidget.html#isFullScreen">isFullScreen</keyword>
+ <keyword ref="qwidget.html#isHidden">isHidden</keyword>
+ <keyword ref="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</keyword>
+ <keyword ref="qwidget.html#isMaximized">isMaximized</keyword>
+ <keyword ref="qwidget.html#isMinimized">isMinimized</keyword>
+ <keyword ref="qwidget.html#isModal">isModal</keyword>
+ <keyword ref="qwidget.html#isModal-prop">isModal</keyword>
+ <keyword ref="qwidget.html#isPopup">isPopup</keyword>
+ <keyword ref="qwidget.html#isPopup-prop">isPopup</keyword>
+ <keyword ref="qwidget.html#isShown">isShown</keyword>
+ <keyword ref="qwidget.html#isTopLevel">isTopLevel</keyword>
+ <keyword ref="qwidget.html#isTopLevel-prop">isTopLevel</keyword>
+ <keyword ref="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</keyword>
+ <keyword ref="qwidget.html#isVisible">isVisible</keyword>
+ <keyword ref="qwidget.html#isVisibleTo">isVisibleTo</keyword>
+ <keyword ref="qwidget.html#keyPressEvent">keyPressEvent</keyword>
+ <keyword ref="qwidget.html#keyReleaseEvent">keyReleaseEvent</keyword>
+ <keyword ref="qwidget.html#keyboardGrabber">keyboardGrabber</keyword>
+ <keyword ref="qwidget.html#layout">layout</keyword>
+ <keyword ref="qwidget.html#leaveEvent">leaveEvent</keyword>
+ <keyword ref="qwidget.html#lower">lower</keyword>
+ <keyword ref="qwidget.html#macEvent">macEvent</keyword>
+ <keyword ref="qwidget.html#mapFrom">mapFrom</keyword>
+ <keyword ref="qwidget.html#mapFromGlobal">mapFromGlobal</keyword>
+ <keyword ref="qwidget.html#mapFromParent">mapFromParent</keyword>
+ <keyword ref="qwidget.html#mapTo">mapTo</keyword>
+ <keyword ref="qwidget.html#mapToGlobal">mapToGlobal</keyword>
+ <keyword ref="qwidget.html#mapToParent">mapToParent</keyword>
+ <keyword ref="qwidget.html#maximized-prop">maximized</keyword>
+ <keyword ref="qwidget.html#maximumHeight">maximumHeight</keyword>
+ <keyword ref="qwidget.html#maximumHeight-prop">maximumHeight</keyword>
+ <keyword ref="qwidget.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qwidget.html#maximumSize-prop">maximumSize</keyword>
+ <keyword ref="qwidget.html#maximumWidth">maximumWidth</keyword>
+ <keyword ref="qwidget.html#maximumWidth-prop">maximumWidth</keyword>
+ <keyword ref="qwidget.html#metric">metric</keyword>
+ <keyword ref="qwidget.html#microFocusHint">microFocusHint</keyword>
+ <keyword ref="qwidget.html#microFocusHint-prop">microFocusHint</keyword>
+ <keyword ref="qwidget.html#minimized-prop">minimized</keyword>
+ <keyword ref="qwidget.html#minimumHeight">minimumHeight</keyword>
+ <keyword ref="qwidget.html#minimumHeight-prop">minimumHeight</keyword>
+ <keyword ref="qwidget.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qwidget.html#minimumSize-prop">minimumSize</keyword>
+ <keyword ref="qwidget.html#minimumSizeHint">minimumSizeHint</keyword>
+ <keyword ref="qwidget.html#minimumSizeHint-prop">minimumSizeHint</keyword>
+ <keyword ref="qwidget.html#minimumWidth">minimumWidth</keyword>
+ <keyword ref="qwidget.html#minimumWidth-prop">minimumWidth</keyword>
+ <keyword ref="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</keyword>
+ <keyword ref="qwidget.html#mouseGrabber">mouseGrabber</keyword>
+ <keyword ref="qwidget.html#mouseMoveEvent">mouseMoveEvent</keyword>
+ <keyword ref="qwidget.html#mousePressEvent">mousePressEvent</keyword>
+ <keyword ref="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</keyword>
+ <keyword ref="qwidget.html#mouseTracking-prop">mouseTracking</keyword>
+ <keyword ref="qwidget.html#move">move</keyword>
+ <keyword ref="qwidget.html#moveEvent">moveEvent</keyword>
+ <keyword ref="qwidget.html#ownCursor">ownCursor</keyword>
+ <keyword ref="qwidget.html#ownCursor-prop">ownCursor</keyword>
+ <keyword ref="qwidget.html#ownFont">ownFont</keyword>
+ <keyword ref="qwidget.html#ownFont-prop">ownFont</keyword>
+ <keyword ref="qwidget.html#ownPalette">ownPalette</keyword>
+ <keyword ref="qwidget.html#ownPalette-prop">ownPalette</keyword>
+ <keyword ref="qwidget.html#paintEvent">paintEvent</keyword>
+ <keyword ref="qwidget.html#palette">palette</keyword>
+ <keyword ref="qwidget.html#palette-prop">palette</keyword>
+ <keyword ref="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</keyword>
+ <keyword ref="qwidget.html#paletteBackgroundColor-prop">paletteBackgroundColor</keyword>
+ <keyword ref="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</keyword>
+ <keyword ref="qwidget.html#paletteBackgroundPixmap-prop">paletteBackgroundPixmap</keyword>
+ <keyword ref="qwidget.html#paletteChange">paletteChange</keyword>
+ <keyword ref="qwidget.html#paletteForegroundColor">paletteForegroundColor</keyword>
+ <keyword ref="qwidget.html#paletteForegroundColor-prop">paletteForegroundColor</keyword>
+ <keyword ref="qwidget.html#parentWidget">parentWidget</keyword>
+ <keyword ref="qwidget.html#polish">polish</keyword>
+ <keyword ref="qwidget.html#pos">pos</keyword>
+ <keyword ref="qwidget.html#pos-prop">pos</keyword>
+ <keyword ref="qwidget.html#qwsEvent">qwsEvent</keyword>
+ <keyword ref="qwidget.html#raise">raise</keyword>
+ <keyword ref="qwidget.html#rect">rect</keyword>
+ <keyword ref="qwidget.html#rect-prop">rect</keyword>
+ <keyword ref="qwidget.html#releaseKeyboard">releaseKeyboard</keyword>
+ <keyword ref="qwidget.html#releaseMouse">releaseMouse</keyword>
+ <keyword ref="qwidget.html#repaint">repaint</keyword>
+ <keyword ref="qwidget.html#reparent">reparent</keyword>
+ <keyword ref="qwidget.html#resetInputContext">resetInputContext</keyword>
+ <keyword ref="qwidget.html#resize">resize</keyword>
+ <keyword ref="qwidget.html#resizeEvent">resizeEvent</keyword>
+ <keyword ref="qwidget.html#scroll">scroll</keyword>
+ <keyword ref="qwidget.html#setAcceptDrops">setAcceptDrops</keyword>
+ <keyword ref="qwidget.html#setActiveWindow">setActiveWindow</keyword>
+ <keyword ref="qwidget.html#setAutoMask">setAutoMask</keyword>
+ <keyword ref="qwidget.html#setBackgroundEmpty">setBackgroundEmpty</keyword>
+ <keyword ref="qwidget.html#setBackgroundMode">setBackgroundMode</keyword>
+ <keyword ref="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</keyword>
+ <keyword ref="qwidget.html#setBaseSize">setBaseSize</keyword>
+ <keyword ref="qwidget.html#setCaption">setCaption</keyword>
+ <keyword ref="qwidget.html#setCursor">setCursor</keyword>
+ <keyword ref="qwidget.html#setDisabled">setDisabled</keyword>
+ <keyword ref="qwidget.html#setEnabled">setEnabled</keyword>
+ <keyword ref="qwidget.html#setEraseColor">setEraseColor</keyword>
+ <keyword ref="qwidget.html#setErasePixmap">setErasePixmap</keyword>
+ <keyword ref="qwidget.html#setFixedHeight">setFixedHeight</keyword>
+ <keyword ref="qwidget.html#setFixedSize">setFixedSize</keyword>
+ <keyword ref="qwidget.html#setFixedWidth">setFixedWidth</keyword>
+ <keyword ref="qwidget.html#setFocus">setFocus</keyword>
+ <keyword ref="qwidget.html#setFocusPolicy">setFocusPolicy</keyword>
+ <keyword ref="qwidget.html#setFocusProxy">setFocusProxy</keyword>
+ <keyword ref="qwidget.html#setFont">setFont</keyword>
+ <keyword ref="qwidget.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qwidget.html#setHidden">setHidden</keyword>
+ <keyword ref="qwidget.html#setIcon">setIcon</keyword>
+ <keyword ref="qwidget.html#setIconText">setIconText</keyword>
+ <keyword ref="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</keyword>
+ <keyword ref="qwidget.html#setKeyCompression">setKeyCompression</keyword>
+ <keyword ref="qwidget.html#setMask">setMask</keyword>
+ <keyword ref="qwidget.html#setMaximumHeight">setMaximumHeight</keyword>
+ <keyword ref="qwidget.html#setMaximumSize">setMaximumSize</keyword>
+ <keyword ref="qwidget.html#setMaximumWidth">setMaximumWidth</keyword>
+ <keyword ref="qwidget.html#setMicroFocusHint">setMicroFocusHint</keyword>
+ <keyword ref="qwidget.html#setMinimumHeight">setMinimumHeight</keyword>
+ <keyword ref="qwidget.html#setMinimumSize">setMinimumSize</keyword>
+ <keyword ref="qwidget.html#setMinimumWidth">setMinimumWidth</keyword>
+ <keyword ref="qwidget.html#setMouseTracking">setMouseTracking</keyword>
+ <keyword ref="qwidget.html#setPalette">setPalette</keyword>
+ <keyword ref="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</keyword>
+ <keyword ref="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</keyword>
+ <keyword ref="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</keyword>
+ <keyword ref="qwidget.html#setShown">setShown</keyword>
+ <keyword ref="qwidget.html#setSizeIncrement">setSizeIncrement</keyword>
+ <keyword ref="qwidget.html#setSizePolicy">setSizePolicy</keyword>
+ <keyword ref="qwidget.html#setStyle">setStyle</keyword>
+ <keyword ref="qwidget.html#setTabOrder">setTabOrder</keyword>
+ <keyword ref="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</keyword>
+ <keyword ref="qwidget.html#setWFlags">setWFlags</keyword>
+ <keyword ref="qwidget.html#setWindowOpacity">setWindowOpacity</keyword>
+ <keyword ref="qwidget.html#setWindowState">setWindowState</keyword>
+ <keyword ref="qwidget.html#show">show</keyword>
+ <keyword ref="qwidget.html#showEvent">showEvent</keyword>
+ <keyword ref="qwidget.html#showFullScreen">showFullScreen</keyword>
+ <keyword ref="qwidget.html#showMaximized">showMaximized</keyword>
+ <keyword ref="qwidget.html#showMinimized">showMinimized</keyword>
+ <keyword ref="qwidget.html#showNormal">showNormal</keyword>
+ <keyword ref="qwidget.html#shown-prop">shown</keyword>
+ <keyword ref="qwidget.html#size">size</keyword>
+ <keyword ref="qwidget.html#size-prop">size</keyword>
+ <keyword ref="qwidget.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qwidget.html#sizeHint-prop">sizeHint</keyword>
+ <keyword ref="qwidget.html#sizeIncrement">sizeIncrement</keyword>
+ <keyword ref="qwidget.html#sizeIncrement-prop">sizeIncrement</keyword>
+ <keyword ref="qwidget.html#sizePolicy">sizePolicy</keyword>
+ <keyword ref="qwidget.html#sizePolicy-prop">sizePolicy</keyword>
+ <keyword ref="qwidget.html#stackUnder">stackUnder</keyword>
+ <keyword ref="qwidget.html#style">style</keyword>
+ <keyword ref="qwidget.html#styleChange">styleChange</keyword>
+ <keyword ref="qwidget.html#tabletEvent">tabletEvent</keyword>
+ <keyword ref="qwidget.html#testWFlags">testWFlags</keyword>
+ <keyword ref="qwidget.html#topLevelWidget">topLevelWidget</keyword>
+ <keyword ref="qwidget.html#underMouse-prop">underMouse</keyword>
+ <keyword ref="qwidget.html#unsetCursor">unsetCursor</keyword>
+ <keyword ref="qwidget.html#unsetFont">unsetFont</keyword>
+ <keyword ref="qwidget.html#unsetPalette">unsetPalette</keyword>
+ <keyword ref="qwidget.html#update">update</keyword>
+ <keyword ref="qwidget.html#updateGeometry">updateGeometry</keyword>
+ <keyword ref="qwidget.html#updateMask">updateMask</keyword>
+ <keyword ref="qwidget.html#updatesEnabled-prop">updatesEnabled</keyword>
+ <keyword ref="qwidget.html#visible-prop">visible</keyword>
+ <keyword ref="qwidget.html#wheelEvent">wheelEvent</keyword>
+ <keyword ref="qwidget.html#width">width</keyword>
+ <keyword ref="qwidget.html#width-prop">width</keyword>
+ <keyword ref="qwidget.html#winEvent">winEvent</keyword>
+ <keyword ref="qwidget.html#winId">winId</keyword>
+ <keyword ref="qwidget.html#windowActivationChange">windowActivationChange</keyword>
+ <keyword ref="qwidget.html#windowOpacity">windowOpacity</keyword>
+ <keyword ref="qwidget.html#windowOpacity-prop">windowOpacity</keyword>
+ <keyword ref="qwidget.html#windowState">windowState</keyword>
+ <keyword ref="qwidget.html#x">x</keyword>
+ <keyword ref="qwidget.html#x-prop">x</keyword>
+ <keyword ref="qwidget.html#x11Event">x11Event</keyword>
+ <keyword ref="qwidget.html#y">y</keyword>
+ <keyword ref="qwidget.html#y-prop">y</keyword>
+ <keyword ref="qwidget.html#~QWidget">~QWidget</keyword>
+ <section ref="qwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qwidget-h.html" title="Header File"/>
+</section>
+<section ref="qwidgetfactory.html" title="QWidgetFactory Class Reference">
+ <keyword ref="qwidgetfactory.html">QWidgetFactory</keyword>
+ <keyword ref="qwidgetfactory.html#addWidgetFactory">addWidgetFactory</keyword>
+ <keyword ref="qwidgetfactory.html#create">create</keyword>
+ <keyword ref="qwidgetfactory.html#createWidget">createWidget</keyword>
+ <keyword ref="qwidgetfactory.html#loadImages">loadImages</keyword>
+ <keyword ref="qwidgetfactory.html#supportsWidget">supportsWidget</keyword>
+ <keyword ref="qwidgetfactory.html#widgets">widgets</keyword>
+ <keyword ref="qwidgetfactory.html#~QWidgetFactory">~QWidgetFactory</keyword>
+ <section ref="qwidgetfactory-members.html" title="List of All Member Functions"/>
+ <section ref="qwidgetfactory-h.html" title="Header File"/>
+</section>
+<section ref="qwidgetitem.html" title="QWidgetItem Class Reference">
+ <keyword ref="qwidgetitem.html">QWidgetItem</keyword>
+ <keyword ref="qwidgetitem.html#expanding">expanding</keyword>
+ <keyword ref="qwidgetitem.html#isEmpty">isEmpty</keyword>
+ <keyword ref="qwidgetitem.html#maximumSize">maximumSize</keyword>
+ <keyword ref="qwidgetitem.html#minimumSize">minimumSize</keyword>
+ <keyword ref="qwidgetitem.html#setGeometry">setGeometry</keyword>
+ <keyword ref="qwidgetitem.html#sizeHint">sizeHint</keyword>
+ <keyword ref="qwidgetitem.html#widget">widget</keyword>
+ <section ref="qwidgetitem-members.html" title="List of All Member Functions"/>
+ <section ref="qlayout-h.html" title="Header File"/>
+</section>
+<section ref="qwidgetplugin.html" title="QWidgetPlugin Class Reference">
+ <keyword ref="qwidgetplugin.html">QWidgetPlugin</keyword>
+ <keyword ref="qwidgetplugin.html#create">create</keyword>
+ <keyword ref="qwidgetplugin.html#group">group</keyword>
+ <keyword ref="qwidgetplugin.html#iconSet">iconSet</keyword>
+ <keyword ref="qwidgetplugin.html#includeFile">includeFile</keyword>
+ <keyword ref="qwidgetplugin.html#isContainer">isContainer</keyword>
+ <keyword ref="qwidgetplugin.html#keys">keys</keyword>
+ <keyword ref="qwidgetplugin.html#toolTip">toolTip</keyword>
+ <keyword ref="qwidgetplugin.html#whatsThis">whatsThis</keyword>
+ <keyword ref="qwidgetplugin.html#~QWidgetPlugin">~QWidgetPlugin</keyword>
+ <section ref="qwidgetplugin-members.html" title="List of All Member Functions"/>
+ <section ref="qwidgetplugin-h.html" title="Header File"/>
+</section>
+<section ref="qwidgetstack.html" title="QWidgetStack Class Reference">
+ <keyword ref="qwidgetstack.html">QWidgetStack</keyword>
+ <keyword ref="qwidgetstack.html#aboutToShow">aboutToShow</keyword>
+ <keyword ref="qwidgetstack.html#addWidget">addWidget</keyword>
+ <keyword ref="qwidgetstack.html#id">id</keyword>
+ <keyword ref="qwidgetstack.html#raiseWidget">raiseWidget</keyword>
+ <keyword ref="qwidgetstack.html#removeWidget">removeWidget</keyword>
+ <keyword ref="qwidgetstack.html#setChildGeometries">setChildGeometries</keyword>
+ <keyword ref="qwidgetstack.html#visibleWidget">visibleWidget</keyword>
+ <keyword ref="qwidgetstack.html#widget">widget</keyword>
+ <keyword ref="qwidgetstack.html#~QWidgetStack">~QWidgetStack</keyword>
+ <section ref="qwidgetstack-members.html" title="List of All Member Functions"/>
+ <section ref="qwidgetstack-h.html" title="Header File"/>
+</section>
+<section ref="qwindowsmime.html" title="QWindowsMime Class Reference">
+ <keyword ref="qwindowsmime.html">QWindowsMime</keyword>
+ <keyword ref="qwindowsmime.html#all">all</keyword>
+ <keyword ref="qwindowsmime.html#canConvert">canConvert</keyword>
+ <keyword ref="qwindowsmime.html#cf">cf</keyword>
+ <keyword ref="qwindowsmime.html#cfFor">cfFor</keyword>
+ <keyword ref="qwindowsmime.html#cfToMime">cfToMime</keyword>
+ <keyword ref="qwindowsmime.html#convertFromMime">convertFromMime</keyword>
+ <keyword ref="qwindowsmime.html#convertToMime">convertToMime</keyword>
+ <keyword ref="qwindowsmime.html#convertor">convertor</keyword>
+ <keyword ref="qwindowsmime.html#convertorName">convertorName</keyword>
+ <keyword ref="qwindowsmime.html#countCf">countCf</keyword>
+ <keyword ref="qwindowsmime.html#initialize">initialize</keyword>
+ <keyword ref="qwindowsmime.html#mimeFor">mimeFor</keyword>
+ <keyword ref="qwindowsmime.html#~QWindowsMime">~QWindowsMime</keyword>
+ <section ref="qwindowsmime-members.html" title="List of All Member Functions"/>
+ <section ref="qmime-h.html" title="Header File"/>
+</section>
+<section ref="qwindowsstyle.html" title="QWindowsStyle Class Reference">
+ <keyword ref="qwindowsstyle.html">QWindowsStyle</keyword>
+ <section ref="qwindowsstyle-members.html" title="List of All Member Functions"/>
+ <section ref="qwindowsstyle-h.html" title="Header File"/>
+</section>
+<section ref="qwizard.html" title="QWizard Class Reference">
+ <keyword ref="qwizard.html">QWizard</keyword>
+ <keyword ref="qwizard.html#addPage">addPage</keyword>
+ <keyword ref="qwizard.html#appropriate">appropriate</keyword>
+ <keyword ref="qwizard.html#back">back</keyword>
+ <keyword ref="qwizard.html#backButton">backButton</keyword>
+ <keyword ref="qwizard.html#cancelButton">cancelButton</keyword>
+ <keyword ref="qwizard.html#currentPage">currentPage</keyword>
+ <keyword ref="qwizard.html#finishButton">finishButton</keyword>
+ <keyword ref="qwizard.html#help">help</keyword>
+ <keyword ref="qwizard.html#helpButton">helpButton</keyword>
+ <keyword ref="qwizard.html#helpClicked">helpClicked</keyword>
+ <keyword ref="qwizard.html#indexOf">indexOf</keyword>
+ <keyword ref="qwizard.html#insertPage">insertPage</keyword>
+ <keyword ref="qwizard.html#layOutButtonRow">layOutButtonRow</keyword>
+ <keyword ref="qwizard.html#layOutTitleRow">layOutTitleRow</keyword>
+ <keyword ref="qwizard.html#next">next</keyword>
+ <keyword ref="qwizard.html#nextButton">nextButton</keyword>
+ <keyword ref="qwizard.html#page">page</keyword>
+ <keyword ref="qwizard.html#pageCount">pageCount</keyword>
+ <keyword ref="qwizard.html#removePage">removePage</keyword>
+ <keyword ref="qwizard.html#selected">selected</keyword>
+ <keyword ref="qwizard.html#setAppropriate">setAppropriate</keyword>
+ <keyword ref="qwizard.html#setBackEnabled">setBackEnabled</keyword>
+ <keyword ref="qwizard.html#setFinishEnabled">setFinishEnabled</keyword>
+ <keyword ref="qwizard.html#setHelpEnabled">setHelpEnabled</keyword>
+ <keyword ref="qwizard.html#setNextEnabled">setNextEnabled</keyword>
+ <keyword ref="qwizard.html#setTitle">setTitle</keyword>
+ <keyword ref="qwizard.html#setTitleFont">setTitleFont</keyword>
+ <keyword ref="qwizard.html#showPage">showPage</keyword>
+ <keyword ref="qwizard.html#title">title</keyword>
+ <keyword ref="qwizard.html#titleFont">titleFont</keyword>
+ <keyword ref="qwizard.html#titleFont-prop">titleFont</keyword>
+ <keyword ref="qwizard.html#~QWizard">~QWizard</keyword>
+ <section ref="qwizard-members.html" title="List of All Member Functions"/>
+ <section ref="qwizard-h.html" title="Header File"/>
+</section>
+<section ref="qwmatrix.html" title="QWMatrix Class Reference">
+ <keyword ref="qwmatrix.html">QWMatrix</keyword>
+ <keyword ref="qwmatrix.html#TransformationMode">TransformationMode</keyword>
+ <keyword ref="qwmatrix.html#det">det</keyword>
+ <keyword ref="qwmatrix.html#dx">dx</keyword>
+ <keyword ref="qwmatrix.html#dy">dy</keyword>
+ <keyword ref="qwmatrix.html#invert">invert</keyword>
+ <keyword ref="qwmatrix.html#isIdentity">isIdentity</keyword>
+ <keyword ref="qwmatrix.html#isInvertible">isInvertible</keyword>
+ <keyword ref="qwmatrix.html#m11">m11</keyword>
+ <keyword ref="qwmatrix.html#m12">m12</keyword>
+ <keyword ref="qwmatrix.html#m21">m21</keyword>
+ <keyword ref="qwmatrix.html#m22">m22</keyword>
+ <keyword ref="qwmatrix.html#map">map</keyword>
+ <keyword ref="qwmatrix.html#mapRect">mapRect</keyword>
+ <keyword ref="qwmatrix.html#mapToPolygon">mapToPolygon</keyword>
+ <keyword ref="qwmatrix.html#mapToRegion">mapToRegion</keyword>
+ <keyword ref="qwmatrix.html#operator!-eq">operator!=</keyword>
+ <keyword ref="qwmatrix.html#operator*-eq">operator*=</keyword>
+ <keyword ref="qwmatrix.html#operator-eq-eq">operator==</keyword>
+ <keyword ref="qwmatrix.html#reset">reset</keyword>
+ <keyword ref="qwmatrix.html#rotate">rotate</keyword>
+ <keyword ref="qwmatrix.html#scale">scale</keyword>
+ <keyword ref="qwmatrix.html#setMatrix">setMatrix</keyword>
+ <keyword ref="qwmatrix.html#setTransformationMode">setTransformationMode</keyword>
+ <keyword ref="qwmatrix.html#shear">shear</keyword>
+ <keyword ref="qwmatrix.html#transformationMode">transformationMode</keyword>
+ <keyword ref="qwmatrix.html#translate">translate</keyword>
+ <keyword ref="qwmatrix.html#operator*">operator*</keyword>
+ <keyword ref="qwmatrix.html#operator-lt-lt">operator&lt;&lt;</keyword>
+ <keyword ref="qwmatrix.html#operator-gt-gt">operator&gt;&gt;</keyword>
+ <section ref="qwmatrix-members.html" title="List of All Member Functions"/>
+ <section ref="qwmatrix-h.html" title="Header File"/>
+</section>
+<section ref="qworkspace.html" title="QWorkspace Class Reference">
+ <keyword ref="qworkspace.html">QWorkspace</keyword>
+ <keyword ref="qworkspace.html#WindowOrder">WindowOrder</keyword>
+ <keyword ref="qworkspace.html#activateNextWindow">activateNextWindow</keyword>
+ <keyword ref="qworkspace.html#activatePrevWindow">activatePrevWindow</keyword>
+ <keyword ref="qworkspace.html#activeWindow">activeWindow</keyword>
+ <keyword ref="qworkspace.html#cascade">cascade</keyword>
+ <keyword ref="qworkspace.html#closeActiveWindow">closeActiveWindow</keyword>
+ <keyword ref="qworkspace.html#closeAllWindows">closeAllWindows</keyword>
+ <keyword ref="qworkspace.html#scrollBarsEnabled">scrollBarsEnabled</keyword>
+ <keyword ref="qworkspace.html#scrollBarsEnabled-prop">scrollBarsEnabled</keyword>
+ <keyword ref="qworkspace.html#setScrollBarsEnabled">setScrollBarsEnabled</keyword>
+ <keyword ref="qworkspace.html#tile">tile</keyword>
+ <keyword ref="qworkspace.html#windowActivated">windowActivated</keyword>
+ <keyword ref="qworkspace.html#windowList">windowList</keyword>
+ <keyword ref="qworkspace.html#~QWorkspace">~QWorkspace</keyword>
+ <section ref="qworkspace-members.html" title="List of All Member Functions"/>
+ <section ref="qworkspace-h.html" title="Header File"/>
+</section>
+<section ref="qwsdecoration.html" title="QWSDecoration Class Reference">
+ <keyword ref="qwsdecoration.html">QWSDecoration</keyword>
+ <keyword ref="qwsdecoration.html#Region">Region</keyword>
+ <keyword ref="qwsdecoration.html#close">close</keyword>
+ <keyword ref="qwsdecoration.html#maximize">maximize</keyword>
+ <keyword ref="qwsdecoration.html#menu">menu</keyword>
+ <keyword ref="qwsdecoration.html#minimize">minimize</keyword>
+ <keyword ref="qwsdecoration.html#paint">paint</keyword>
+ <keyword ref="qwsdecoration.html#paintButton">paintButton</keyword>
+ <keyword ref="qwsdecoration.html#region">region</keyword>
+ <keyword ref="qwsdecoration.html#~QWSDecoration">~QWSDecoration</keyword>
+ <section ref="qwsdecoration-members.html" title="List of All Member Functions"/>
+ <section ref="qwsdecoration_qws-h.html" title="Header File"/>
+</section>
+<section ref="qwsinputmethod.html" title="QWSInputMethod Class Reference">
+ <keyword ref="qwsinputmethod.html">QWSInputMethod</keyword>
+ <keyword ref="qwsinputmethod.html#filter">filter</keyword>
+ <keyword ref="qwsinputmethod.html#reset">reset</keyword>
+ <keyword ref="qwsinputmethod.html#sendIMEvent">sendIMEvent</keyword>
+ <keyword ref="qwsinputmethod.html#setFont">setFont</keyword>
+ <keyword ref="qwsinputmethod.html#setMicroFocus">setMicroFocus</keyword>
+ <keyword ref="qwsinputmethod.html#~QWSInputMethod">~QWSInputMethod</keyword>
+ <section ref="qwsinputmethod-members.html" title="List of All Member Functions"/>
+ <section ref="qwindowsystem_qws-h.html" title="Header File"/>
+</section>
+<section ref="qwskeyboardhandler.html" title="QWSKeyboardHandler Class Reference">
+ <keyword ref="qwskeyboardhandler.html">QWSKeyboardHandler</keyword>
+ <keyword ref="qwskeyboardhandler.html#processKeyEvent">processKeyEvent</keyword>
+ <keyword ref="qwskeyboardhandler.html#~QWSKeyboardHandler">~QWSKeyboardHandler</keyword>
+ <section ref="qwskeyboardhandler-members.html" title="List of All Member Functions"/>
+ <section ref="qkeyboard_qws-h.html" title="Header File"/>
+</section>
+<section ref="qwsmousehandler.html" title="QWSMouseHandler Class Reference">
+ <keyword ref="qwsmousehandler.html">QWSMouseHandler</keyword>
+ <keyword ref="qwsmousehandler.html#calibrate">calibrate</keyword>
+ <keyword ref="qwsmousehandler.html#clearCalibration">clearCalibration</keyword>
+ <keyword ref="qwsmousehandler.html#limitToScreen">limitToScreen</keyword>
+ <keyword ref="qwsmousehandler.html#mouseChanged">mouseChanged</keyword>
+ <keyword ref="qwsmousehandler.html#pos">pos</keyword>
+ <keyword ref="qwsmousehandler.html#~QWSMouseHandler">~QWSMouseHandler</keyword>
+ <section ref="qwsmousehandler-members.html" title="List of All Member Functions"/>
+ <section ref="qmouse_qws-h.html" title="Header File"/>
+</section>
+<section ref="qwsserver.html" title="QWSServer Class Reference">
+ <keyword ref="qwsserver.html">QWSServer</keyword>
+ <keyword ref="qwsserver.html#GUIMode">GUIMode</keyword>
+ <keyword ref="qwsserver.html#ServerFlags">ServerFlags</keyword>
+ <keyword ref="qwsserver.html#WindowEvent">WindowEvent</keyword>
+ <keyword ref="qwsserver.html#clientWindows">clientWindows</keyword>
+ <keyword ref="qwsserver.html#closeKeyboard">closeKeyboard</keyword>
+ <keyword ref="qwsserver.html#closeMouse">closeMouse</keyword>
+ <keyword ref="qwsserver.html#enablePainting">enablePainting</keyword>
+ <keyword ref="qwsserver.html#isCursorVisible">isCursorVisible</keyword>
+ <keyword ref="qwsserver.html#keyMap">keyMap</keyword>
+ <keyword ref="qwsserver.html#keyboardHandler">keyboardHandler</keyword>
+ <keyword ref="qwsserver.html#manager">manager</keyword>
+ <keyword ref="qwsserver.html#mouseHandler">mouseHandler</keyword>
+ <keyword ref="qwsserver.html#newChannel">newChannel</keyword>
+ <keyword ref="qwsserver.html#openKeyboard">openKeyboard</keyword>
+ <keyword ref="qwsserver.html#openMouse">openMouse</keyword>
+ <keyword ref="qwsserver.html#refresh">refresh</keyword>
+ <keyword ref="qwsserver.html#removedChannel">removedChannel</keyword>
+ <keyword ref="qwsserver.html#screenSaverActivate">screenSaverActivate</keyword>
+ <keyword ref="qwsserver.html#screenSaverActive">screenSaverActive</keyword>
+ <keyword ref="qwsserver.html#sendIMEvent">sendIMEvent</keyword>
+ <keyword ref="qwsserver.html#sendKeyEvent">sendKeyEvent</keyword>
+ <keyword ref="qwsserver.html#setCursorVisible">setCursorVisible</keyword>
+ <keyword ref="qwsserver.html#setDefaultKeyboard">setDefaultKeyboard</keyword>
+ <keyword ref="qwsserver.html#setDefaultMouse">setDefaultMouse</keyword>
+ <keyword ref="qwsserver.html#setDesktopBackground">setDesktopBackground</keyword>
+ <keyword ref="qwsserver.html#setKeyboardFilter">setKeyboardFilter</keyword>
+ <keyword ref="qwsserver.html#setKeyboardHandler">setKeyboardHandler</keyword>
+ <keyword ref="qwsserver.html#setMaxWindowRect">setMaxWindowRect</keyword>
+ <keyword ref="qwsserver.html#setScreenSaverInterval">setScreenSaverInterval</keyword>
+ <keyword ref="qwsserver.html#setScreenSaverIntervals">setScreenSaverIntervals</keyword>
+ <keyword ref="qwsserver.html#setWindowRegion">setWindowRegion</keyword>
+ <keyword ref="qwsserver.html#windowAt">windowAt</keyword>
+ <keyword ref="qwsserver.html#windowEvent">windowEvent</keyword>
+ <keyword ref="qwsserver.html#~QWSServer">~QWSServer</keyword>
+ <section ref="qwsserver-members.html" title="List of All Member Functions"/>
+ <section ref="qwindowsystem_qws-h.html" title="Header File"/>
+</section>
+<section ref="qwswindow.html" title="QWSWindow Class Reference">
+ <keyword ref="qwswindow.html">QWSWindow</keyword>
+ <keyword ref="qwswindow.html#allocation">allocation</keyword>
+ <keyword ref="qwswindow.html#caption">caption</keyword>
+ <keyword ref="qwswindow.html#client">client</keyword>
+ <keyword ref="qwswindow.html#hide">hide</keyword>
+ <keyword ref="qwswindow.html#isFullyObscured">isFullyObscured</keyword>
+ <keyword ref="qwswindow.html#isPartiallyObscured">isPartiallyObscured</keyword>
+ <keyword ref="qwswindow.html#isVisible">isVisible</keyword>
+ <keyword ref="qwswindow.html#lower">lower</keyword>
+ <keyword ref="qwswindow.html#name">name</keyword>
+ <keyword ref="qwswindow.html#raise">raise</keyword>
+ <keyword ref="qwswindow.html#requested">requested</keyword>
+ <keyword ref="qwswindow.html#setActiveWindow">setActiveWindow</keyword>
+ <keyword ref="qwswindow.html#show">show</keyword>
+ <keyword ref="qwswindow.html#winId">winId</keyword>
+ <keyword ref="qwswindow.html#~QWSWindow">~QWSWindow</keyword>
+ <section ref="qwswindow-members.html" title="List of All Member Functions"/>
+ <section ref="qwindowsystem_qws-h.html" title="Header File"/>
+</section>
+<section ref="qxmlattributes.html" title="QXmlAttributes Class Reference">
+ <keyword ref="qxmlattributes.html">QXmlAttributes</keyword>
+ <keyword ref="qxmlattributes.html#append">append</keyword>
+ <keyword ref="qxmlattributes.html#clear">clear</keyword>
+ <keyword ref="qxmlattributes.html#count">count</keyword>
+ <keyword ref="qxmlattributes.html#index">index</keyword>
+ <keyword ref="qxmlattributes.html#length">length</keyword>
+ <keyword ref="qxmlattributes.html#localName">localName</keyword>
+ <keyword ref="qxmlattributes.html#qName">qName</keyword>
+ <keyword ref="qxmlattributes.html#type">type</keyword>
+ <keyword ref="qxmlattributes.html#uri">uri</keyword>
+ <keyword ref="qxmlattributes.html#value">value</keyword>
+ <keyword ref="qxmlattributes.html#~QXmlAttributes">~QXmlAttributes</keyword>
+ <section ref="qxmlattributes-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlcontenthandler.html" title="QXmlContentHandler Class Reference">
+ <keyword ref="qxmlcontenthandler.html">QXmlContentHandler</keyword>
+ <keyword ref="qxmlcontenthandler.html#characters">characters</keyword>
+ <keyword ref="qxmlcontenthandler.html#endDocument">endDocument</keyword>
+ <keyword ref="qxmlcontenthandler.html#endElement">endElement</keyword>
+ <keyword ref="qxmlcontenthandler.html#endPrefixMapping">endPrefixMapping</keyword>
+ <keyword ref="qxmlcontenthandler.html#errorString">errorString</keyword>
+ <keyword ref="qxmlcontenthandler.html#ignorableWhitespace">ignorableWhitespace</keyword>
+ <keyword ref="qxmlcontenthandler.html#processingInstruction">processingInstruction</keyword>
+ <keyword ref="qxmlcontenthandler.html#setDocumentLocator">setDocumentLocator</keyword>
+ <keyword ref="qxmlcontenthandler.html#skippedEntity">skippedEntity</keyword>
+ <keyword ref="qxmlcontenthandler.html#startDocument">startDocument</keyword>
+ <keyword ref="qxmlcontenthandler.html#startElement">startElement</keyword>
+ <keyword ref="qxmlcontenthandler.html#startPrefixMapping">startPrefixMapping</keyword>
+ <section ref="qxmlcontenthandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmldeclhandler.html" title="QXmlDeclHandler Class Reference">
+ <keyword ref="qxmldeclhandler.html">QXmlDeclHandler</keyword>
+ <keyword ref="qxmldeclhandler.html#attributeDecl">attributeDecl</keyword>
+ <keyword ref="qxmldeclhandler.html#errorString">errorString</keyword>
+ <keyword ref="qxmldeclhandler.html#externalEntityDecl">externalEntityDecl</keyword>
+ <keyword ref="qxmldeclhandler.html#internalEntityDecl">internalEntityDecl</keyword>
+ <section ref="qxmldeclhandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmldefaulthandler.html" title="QXmlDefaultHandler Class Reference">
+ <keyword ref="qxmldefaulthandler.html">QXmlDefaultHandler</keyword>
+ <keyword ref="qxmldefaulthandler.html#~QXmlDefaultHandler">~QXmlDefaultHandler</keyword>
+ <section ref="qxmldefaulthandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmldtdhandler.html" title="QXmlDTDHandler Class Reference">
+ <keyword ref="qxmldtdhandler.html">QXmlDTDHandler</keyword>
+ <keyword ref="qxmldtdhandler.html#errorString">errorString</keyword>
+ <keyword ref="qxmldtdhandler.html#notationDecl">notationDecl</keyword>
+ <keyword ref="qxmldtdhandler.html#unparsedEntityDecl">unparsedEntityDecl</keyword>
+ <section ref="qxmldtdhandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlentityresolver.html" title="QXmlEntityResolver Class Reference">
+ <keyword ref="qxmlentityresolver.html">QXmlEntityResolver</keyword>
+ <keyword ref="qxmlentityresolver.html#errorString">errorString</keyword>
+ <keyword ref="qxmlentityresolver.html#resolveEntity">resolveEntity</keyword>
+ <section ref="qxmlentityresolver-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlerrorhandler.html" title="QXmlErrorHandler Class Reference">
+ <keyword ref="qxmlerrorhandler.html">QXmlErrorHandler</keyword>
+ <keyword ref="qxmlerrorhandler.html#error">error</keyword>
+ <keyword ref="qxmlerrorhandler.html#errorString">errorString</keyword>
+ <keyword ref="qxmlerrorhandler.html#fatalError">fatalError</keyword>
+ <keyword ref="qxmlerrorhandler.html#warning">warning</keyword>
+ <section ref="qxmlerrorhandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlinputsource.html" title="QXmlInputSource Class Reference">
+ <keyword ref="qxmlinputsource.html">QXmlInputSource</keyword>
+ <keyword ref="qxmlinputsource.html#data">data</keyword>
+ <keyword ref="qxmlinputsource.html#fetchData">fetchData</keyword>
+ <keyword ref="qxmlinputsource.html#fromRawData">fromRawData</keyword>
+ <keyword ref="qxmlinputsource.html#next">next</keyword>
+ <keyword ref="qxmlinputsource.html#reset">reset</keyword>
+ <keyword ref="qxmlinputsource.html#setData">setData</keyword>
+ <keyword ref="qxmlinputsource.html#~QXmlInputSource">~QXmlInputSource</keyword>
+ <section ref="qxmlinputsource-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmllexicalhandler.html" title="QXmlLexicalHandler Class Reference">
+ <keyword ref="qxmllexicalhandler.html">QXmlLexicalHandler</keyword>
+ <keyword ref="qxmllexicalhandler.html#comment">comment</keyword>
+ <keyword ref="qxmllexicalhandler.html#endCDATA">endCDATA</keyword>
+ <keyword ref="qxmllexicalhandler.html#endDTD">endDTD</keyword>
+ <keyword ref="qxmllexicalhandler.html#endEntity">endEntity</keyword>
+ <keyword ref="qxmllexicalhandler.html#errorString">errorString</keyword>
+ <keyword ref="qxmllexicalhandler.html#startCDATA">startCDATA</keyword>
+ <keyword ref="qxmllexicalhandler.html#startDTD">startDTD</keyword>
+ <keyword ref="qxmllexicalhandler.html#startEntity">startEntity</keyword>
+ <section ref="qxmllexicalhandler-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmllocator.html" title="QXmlLocator Class Reference">
+ <keyword ref="qxmllocator.html">QXmlLocator</keyword>
+ <keyword ref="qxmllocator.html#columnNumber">columnNumber</keyword>
+ <keyword ref="qxmllocator.html#lineNumber">lineNumber</keyword>
+ <keyword ref="qxmllocator.html#~QXmlLocator">~QXmlLocator</keyword>
+ <section ref="qxmllocator-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlnamespacesupport.html" title="QXmlNamespaceSupport Class Reference">
+ <keyword ref="qxmlnamespacesupport.html">QXmlNamespaceSupport</keyword>
+ <keyword ref="qxmlnamespacesupport.html#popContext">popContext</keyword>
+ <keyword ref="qxmlnamespacesupport.html#prefix">prefix</keyword>
+ <keyword ref="qxmlnamespacesupport.html#prefixes">prefixes</keyword>
+ <keyword ref="qxmlnamespacesupport.html#processName">processName</keyword>
+ <keyword ref="qxmlnamespacesupport.html#pushContext">pushContext</keyword>
+ <keyword ref="qxmlnamespacesupport.html#reset">reset</keyword>
+ <keyword ref="qxmlnamespacesupport.html#setPrefix">setPrefix</keyword>
+ <keyword ref="qxmlnamespacesupport.html#splitName">splitName</keyword>
+ <keyword ref="qxmlnamespacesupport.html#uri">uri</keyword>
+ <keyword ref="qxmlnamespacesupport.html#~QXmlNamespaceSupport">~QXmlNamespaceSupport</keyword>
+ <section ref="qxmlnamespacesupport-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlparseexception.html" title="QXmlParseException Class Reference">
+ <keyword ref="qxmlparseexception.html">QXmlParseException</keyword>
+ <keyword ref="qxmlparseexception.html#columnNumber">columnNumber</keyword>
+ <keyword ref="qxmlparseexception.html#lineNumber">lineNumber</keyword>
+ <keyword ref="qxmlparseexception.html#message">message</keyword>
+ <keyword ref="qxmlparseexception.html#publicId">publicId</keyword>
+ <keyword ref="qxmlparseexception.html#systemId">systemId</keyword>
+ <section ref="qxmlparseexception-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlreader.html" title="QXmlReader Class Reference">
+ <keyword ref="qxmlreader.html">QXmlReader</keyword>
+ <keyword ref="qxmlreader.html#DTDHandler">DTDHandler</keyword>
+ <keyword ref="qxmlreader.html#contentHandler">contentHandler</keyword>
+ <keyword ref="qxmlreader.html#declHandler">declHandler</keyword>
+ <keyword ref="qxmlreader.html#entityResolver">entityResolver</keyword>
+ <keyword ref="qxmlreader.html#errorHandler">errorHandler</keyword>
+ <keyword ref="qxmlreader.html#feature">feature</keyword>
+ <keyword ref="qxmlreader.html#hasFeature">hasFeature</keyword>
+ <keyword ref="qxmlreader.html#hasProperty">hasProperty</keyword>
+ <keyword ref="qxmlreader.html#lexicalHandler">lexicalHandler</keyword>
+ <keyword ref="qxmlreader.html#parse">parse</keyword>
+ <keyword ref="qxmlreader.html#property">property</keyword>
+ <keyword ref="qxmlreader.html#setContentHandler">setContentHandler</keyword>
+ <keyword ref="qxmlreader.html#setDTDHandler">setDTDHandler</keyword>
+ <keyword ref="qxmlreader.html#setDeclHandler">setDeclHandler</keyword>
+ <keyword ref="qxmlreader.html#setEntityResolver">setEntityResolver</keyword>
+ <keyword ref="qxmlreader.html#setErrorHandler">setErrorHandler</keyword>
+ <keyword ref="qxmlreader.html#setFeature">setFeature</keyword>
+ <keyword ref="qxmlreader.html#setLexicalHandler">setLexicalHandler</keyword>
+ <keyword ref="qxmlreader.html#setProperty">setProperty</keyword>
+ <section ref="qxmlreader-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxmlsimplereader.html" title="QXmlSimpleReader Class Reference">
+ <keyword ref="qxmlsimplereader.html">QXmlSimpleReader</keyword>
+ <keyword ref="qxmlsimplereader.html#parse">parse</keyword>
+ <keyword ref="qxmlsimplereader.html#parseContinue">parseContinue</keyword>
+ <keyword ref="qxmlsimplereader.html#setFeature">setFeature</keyword>
+ <keyword ref="qxmlsimplereader.html#~QXmlSimpleReader">~QXmlSimpleReader</keyword>
+ <section ref="qxmlsimplereader-members.html" title="List of All Member Functions"/>
+ <section ref="qxml-h.html" title="Header File"/>
+</section>
+<section ref="qxtwidget.html" title="QXtWidget Class Reference">
+ <keyword ref="qxtwidget.html#isActiveWindow">isActiveWindow</keyword>
+ <keyword ref="qxtwidget.html#setActiveWindow">setActiveWindow</keyword>
+ <keyword ref="qxtwidget.html#x11Event">x11Event</keyword>
+ <keyword ref="qxtwidget.html#xtWidget">xtWidget</keyword>
+ <keyword ref="qxtwidget.html#~QXtWidget">~QXtWidget</keyword>
+ <section ref="qxtwidget-members.html" title="List of All Member Functions"/>
+ <section ref="qxtwidget-h.html" title="Header File"/>
+</section>
+<section ref="3rdparty.html" title="3rd Party Licenses used in Qt">
+ <keyword ref="3rdparty.html">3rd Party Licenses used in Qt</keyword>
+</section>
+<section ref="simple-application-example.html" title="A Complete Application Window">
+ <keyword ref="simple-application-example.html">A Complete Application Window</keyword>
+</section>
+<section ref="qaction-application-example.html" title="A Complete Application Window with Actions">
+ <keyword ref="qaction-application-example.html">A Complete Application Window with Actions</keyword>
+</section>
+<section ref="canvas-chart-example.html" title="A Complete Canvas Application">
+ <keyword ref="canvas-chart-example.html">A Complete Canvas Application</keyword>
+</section>
+<section ref="dirview-example.html" title="A Directory Browser">
+ <keyword ref="dirview-example.html">A Directory Browser</keyword>
+</section>
+<section ref="motif-dialog-example.html" title="A Motif Dialog">
+ <keyword ref="motif-dialog-example.html">A Motif Dialog</keyword>
+</section>
+<section ref="qaxserver-example-tetrax.html" title="A Qt example as a scriptable ActiveX control (executable)">
+ <keyword ref="qaxserver-example-tetrax.html">A Qt example as a scriptable ActiveX control (executable)</keyword>
+</section>
+<section ref="archivesearch-example.html" title="A qt-interest mail archive search">
+ <keyword ref="archivesearch-example.html">A qt-interest mail archive search</keyword>
+</section>
+<section ref="forever-example.html" title="A Rectangle Draw &quot;Benchmark&quot;">
+ <keyword ref="forever-example.html">A Rectangle Draw &quot;Benchmark&quot;</keyword>
+</section>
+<section ref="qaxserver-example-simple.html" title="A simple ActiveQt control (executable)">
+ <keyword ref="qaxserver-example-simple.html">A simple ActiveQt control (executable)</keyword>
+</section>
+<section ref="simple-font-demo-example.html" title="A simple demonstration of QFont member functions">
+ <keyword ref="simple-font-demo-example.html">A simple demonstration of QFont member functions</keyword>
+</section>
+<section ref="httpd-example.html" title="A simple HTTP daemon">
+ <keyword ref="httpd-example.html">A simple HTTP daemon</keyword>
+</section>
+<section ref="mail-example.html" title="A simple mail client">
+ <keyword ref="mail-example.html">A simple mail client</keyword>
+</section>
+<section ref="networkprotocol-example.html" title="A simple NNTP implementation">
+ <keyword ref="networkprotocol-example.html">A simple NNTP implementation</keyword>
+</section>
+<section ref="regexptester-example.html" title="A Small Application for Testing Regular Expressions">
+ <keyword ref="regexptester-example.html">A Small Application for Testing Regular Expressions</keyword>
+</section>
+<section ref="clientserver-example.html" title="A small client-server example">
+ <keyword ref="clientserver-example.html">A small client-server example</keyword>
+</section>
+<section ref="qaxserver-demo-simple.html" title="A standard ActiveX and the &quot;simple&quot; ActiveQt widget.">
+ <keyword ref="qaxserver-demo-simple.html">A standard ActiveX and the &quot;simple&quot; ActiveQt widget.</keyword>
+</section>
+<section ref="toggleaction-example.html" title="A Tiny Example Featuring a Toggle Action">
+ <keyword ref="toggleaction-example.html">A Tiny Example Featuring a Toggle Action</keyword>
+</section>
+<section ref="qtl-qvaluelist-example.html" title="A Tiny QTL Example">
+ <keyword ref="qtl-qvaluelist-example.html">A Tiny QTL Example</keyword>
+</section>
+<section ref="tagreader-example.html" title="A tiny SAX2 parser">
+ <keyword ref="tagreader-example.html">A tiny SAX2 parser</keyword>
+</section>
+<section ref="qaxcontainer-example-webbrowser.html" title="A Web Browser">
+ <keyword ref="qaxcontainer-example-webbrowser.html">A Web Browser</keyword>
+</section>
+<section ref="modules.html" title="About Modules">
+ <keyword ref="modules.html">About Modules</keyword>
+</section>
+<section ref="aboutqt.html" title="About Qt">
+ <keyword ref="aboutqt.html">About Qt</keyword>
+</section>
+<section ref="integration.html" title="About the Visual Studio Integration Plugin">
+ <keyword ref="integration.html">About the Visual Studio Integration Plugin</keyword>
+</section>
+<section ref="unicode.html" title="About Unicode">
+ <keyword ref="unicode.html">About Unicode</keyword>
+</section>
+<section ref="abstractwidgets.html" title="Abstract Widget Classes">
+ <keyword ref="abstractwidgets.html">abstractwidgets</keyword>
+</section>
+<section ref="activeqt-examples.html" title="ActiveQt Examples">
+ <keyword ref="activeqt-examples.html">ActiveQt Examples</keyword>
+</section>
+<section ref="activeqt-tools.html" title="ActiveQt Tools">
+ <keyword ref="activeqt-tools.html">activeqt-tools</keyword>
+</section>
+<section ref="emb-accel.html" title="Adding an accelerated graphics driver to Qt/Embedded">
+ <keyword ref="emb-accel.html">Adding an accelerated graphics driver to Qt/Embedded</keyword>
+</section>
+<section ref="tooltip-example.html" title="Advanced use of tool tips">
+ <keyword ref="tooltip-example.html">Advanced use of tool tips</keyword>
+</section>
+<section ref="advanced.html" title="Advanced Widgets">
+ <keyword ref="advanced.html">advanced</keyword>
+</section>
+<section ref="overviews-list.html" title="All Overviews and HOWTOs">
+ <keyword ref="overviews-list.html">All Overviews and HOWTOs</keyword>
+</section>
+<section ref="activeqt-tools-testcon.html" title="An ActiveX Test Container">
+ <keyword ref="activeqt-tools-testcon.html">An ActiveX Test Container</keyword>
+</section>
+<section ref="extension-dialog-example.html" title="An Extension Dialog Example">
+ <keyword ref="extension-dialog-example.html">An Extension Dialog Example</keyword>
+</section>
+<section ref="ftpclient-example.html" title="An FTP client">
+ <keyword ref="ftpclient-example.html">An FTP client</keyword>
+</section>
+<section ref="mdi-example.html" title="An MDI Application">
+ <keyword ref="mdi-example.html">An MDI Application</keyword>
+</section>
+<section ref="aclock-example.html" title="Analog Clock">
+ <keyword ref="aclock-example.html">Analog Clock</keyword>
+</section>
+<section ref="annotated.html" title="Annotated Class Index">
+ <keyword ref="annotated.html">Annotated Class Index</keyword>
+</section>
+<section ref="basic.html" title="Basic Widgets">
+ <keyword ref="basic.html">basic</keyword>
+</section>
+<section ref="biff-example.html" title="Biff (UNIX only)">
+ <keyword ref="biff-example.html">Biff (UNIX only)</keyword>
+</section>
+<section ref="guibooks.html" title="Books about GUI">
+ <keyword ref="guibooks.html">Books about GUI</keyword>
+</section>
+<section ref="commonproblems.html" title="Brief Technical FAQ">
+ <keyword ref="commonproblems.html">Brief Technical FAQ</keyword>
+</section>
+<section ref="buttongroups-example.html" title="Buttons and Groupboxes">
+ <keyword ref="buttongroups-example.html">Buttons and Groupboxes</keyword>
+</section>
+<section ref="tutorial2-06.html" title="Canvas Control">
+ <keyword ref="tutorial2-06.html">Canvas Control</keyword>
+</section>
+<section ref="canvas-example.html" title="Canvas Example">
+ <keyword ref="canvas-example.html">Canvas Example</keyword>
+</section>
+<section ref="canvas.html" title="Canvas Module">
+ <keyword ref="canvas.html">Canvas Module</keyword>
+</section>
+<section ref="emb-charinput.html" title="Character input in Qt/Embedded">
+ <keyword ref="emb-charinput.html">Character input in Qt/Embedded</keyword>
+</section>
+<section ref="hierarchy.html" title="Class Inheritance Hierarchy">
+ <keyword ref="hierarchy.html">Class Inheritance Hierarchy</keyword>
+</section>
+<section ref="collection.html" title="Collection Classes">
+ <keyword ref="collection.html">collection</keyword>
+</section>
+<section ref="troll.html" title="Company Information">
+ <keyword ref="troll.html">Company Information</keyword>
+</section>
+<section ref="drawlines-example.html" title="Connect the Points">
+ <keyword ref="drawlines-example.html">Connect the Points</keyword>
+</section>
+<section ref="motif-walkthrough-10.html" title="Continuing Development">
+ <keyword ref="motif-walkthrough-10.html">Continuing Development</keyword>
+</section>
+<section ref="life-example.html" title="Conway's Game of Life">
+ <keyword ref="life-example.html">Conway's Game of Life</keyword>
+</section>
+<section ref="cursor-example.html" title="Cursors">
+ <keyword ref="cursor-example.html">Cursors</keyword>
+</section>
+<section ref="customlayout-example.html" title="Customized Layoutmanager">
+ <keyword ref="customlayout-example.html">Customized Layoutmanager</keyword>
+</section>
+<section ref="tutorial2-03.html" title="Data Elements">
+ <keyword ref="tutorial2-03.html">Data Elements</keyword>
+</section>
+<section ref="database.html" title="Database Classes">
+ <keyword ref="database.html">database</keyword>
+</section>
+<section ref="debug.html" title="Debugging Techniques">
+ <keyword ref="debug.html">Debugging Techniques</keyword>
+</section>
+<section ref="tagreader-with-features-example.html" title="Demonstration of SAX2 features">
+ <keyword ref="tagreader-with-features-example.html">Demonstration of SAX2 features</keyword>
+</section>
+<section ref="distributingqt.html" title="Deploying Qt Applications">
+ <keyword ref="distributingqt.html">Deploying Qt Applications</keyword>
+</section>
+<section ref="dialogs.html" title="Dialog Classes">
+ <keyword ref="dialogs.html">dialogs</keyword>
+</section>
+<section ref="dclock-example.html" title="Digital Clock">
+ <keyword ref="dclock-example.html">Digital Clock</keyword>
+</section>
+<section ref="dnd.html" title="Drag and Drop">
+ <keyword ref="dnd.html">Drag and Drop</keyword>
+</section>
+<section ref="dragdrop-example.html" title="Drag and Drop">
+ <keyword ref="dragdrop-example.html">Drag and Drop</keyword>
+</section>
+<section ref="simple_dd-example.html" title="Drag and Drop (Simple)">
+ <keyword ref="simple_dd-example.html">Drag and Drop (Simple)</keyword>
+</section>
+<section ref="draganddrop.html" title="Drag And Drop Classes">
+ <keyword ref="draganddrop.html">draganddrop</keyword>
+</section>
+<section ref="drawdemo-example.html" title="Draw Demo">
+ <keyword ref="drawdemo-example.html">Draw Demo</keyword>
+</section>
+<section ref="emb-framebuffer-howto.html" title="Enabling the Linux Framebuffer">
+ <keyword ref="emb-framebuffer-howto.html">Enabling the Linux Framebuffer</keyword>
+</section>
+<section ref="environment.html" title="Environment Classes">
+ <keyword ref="environment.html">environment</keyword>
+</section>
+<section ref="events.html" title="Event Classes">
+ <keyword ref="events.html">events</keyword>
+</section>
+<section ref="eventsandfilters.html" title="Events and Event Filters">
+ <keyword ref="eventsandfilters.html">Events and Event Filters</keyword>
+</section>
+<section ref="examples.html" title="Examples">
+ <keyword ref="examples.html">examples</keyword>
+</section>
+<section ref="tutorial2-07.html" title="File Handling">
+ <keyword ref="tutorial2-07.html">File Handling</keyword>
+</section>
+<section ref="qfd-example.html" title="Font Displayer">
+ <keyword ref="qfd-example.html">Font Displayer</keyword>
+</section>
+<section ref="emb-fonts.html" title="Fonts in Qt/Embedded">
+ <keyword ref="emb-fonts.html">Fonts in Qt/Embedded</keyword>
+</section>
+<section ref="datastreamformat.html" title="Format of the QDataStream Operators">
+ <keyword ref="datastreamformat.html">Format of the QDataStream Operators</keyword>
+</section>
+<section ref="removed20.html" title="Functions removed in Qt 2.0">
+ <keyword ref="removed20.html">Functions removed in Qt 2.0</keyword>
+</section>
+<section ref="motif-walkthrough-1.html" title="Getting Started">
+ <keyword ref="motif-walkthrough-1.html">Getting Started</keyword>
+</section>
+<section ref="gpl.html" title="GNU General Public License">
+ <keyword ref="gpl.html">GNU General Public License</keyword>
+</section>
+<section ref="grapher-nsplugin-example.html" title="Grapher Plugin">
+ <keyword ref="grapher-nsplugin-example.html">Grapher Plugin</keyword>
+</section>
+<section ref="graphics.html" title="Graphics Classes">
+ <keyword ref="graphics.html">graphics</keyword>
+</section>
+<section ref="groups.html" title="Grouped Classes">
+ <keyword ref="groups.html">Grouped Classes</keyword>
+</section>
+<section ref="headers.html" title="Header File Index">
+ <keyword ref="headers.html">Header File Index</keyword>
+</section>
+<section ref="hello-example.html" title="Hello, World">
+ <keyword ref="hello-example.html">Hello, World</keyword>
+</section>
+<section ref="helpsystem.html" title="Help System">
+ <keyword ref="helpsystem.html">helpsystem</keyword>
+</section>
+<section ref="helpsystem-example.html" title="Helpsystem">
+ <keyword ref="helpsystem-example.html">Helpsystem</keyword>
+</section>
+<section ref="bigtable-example.html" title="How to create a large, sparse QTable">
+ <keyword ref="bigtable-example.html">How to create a large, sparse QTable</keyword>
+</section>
+<section ref="how-to-learn-qt.html" title="How to Learn Qt">
+ <keyword ref="how-to-learn-qt.html">How to Learn Qt</keyword>
+</section>
+<section ref="bughowto.html" title="How to Report A Bug">
+ <keyword ref="bughowto.html">How to Report A Bug</keyword>
+</section>
+<section ref="opengl-x11-overlays.html" title="How to use X11 overlays with the Qt OpenGL extension">
+ <keyword ref="opengl-x11-overlays.html">How to use X11 overlays with the Qt OpenGL extension</keyword>
+</section>
+<section ref="iconview-example.html" title="Iconview">
+ <keyword ref="iconview-example.html">Iconview</keyword>
+</section>
+<section ref="iconview.html" title="IconView Module">
+ <keyword ref="iconview.html">IconView Module</keyword>
+</section>
+<section ref="images.html" title="Image Processing Classes">
+ <keyword ref="images.html">images</keyword>
+</section>
+<section ref="shared.html" title="Implicitly and Explicitly Shared Classes">
+ <keyword ref="shared.html">shared</keyword>
+</section>
+<section ref="qaxcontainer-example-qutlook.html" title="In Sync with Outlook">
+ <keyword ref="qaxcontainer-example-qutlook.html">In Sync with Outlook</keyword>
+</section>
+<section ref="io.html" title="Input/Output and Networking">
+ <keyword ref="io.html">io</keyword>
+</section>
+<section ref="installation.html" title="Installation">
+ <keyword ref="installation.html">Installation</keyword>
+</section>
+<section ref="emb-install.html" title="Installing Qt/Embedded">
+ <keyword ref="emb-install.html">Installing Qt/Embedded</keyword>
+</section>
+<section ref="install-mac.html" title="Installing Qt/Mac">
+ <keyword ref="install-mac.html">Installing Qt/Mac</keyword>
+</section>
+<section ref="install-win.html" title="Installing Qt/Windows">
+ <keyword ref="install-win.html">Installing Qt/Windows</keyword>
+</section>
+<section ref="install-x11.html" title="Installing Qt/X11">
+ <keyword ref="install-x11.html">Installing Qt/X11</keyword>
+</section>
+<section ref="i18n-example.html" title="Internationalization">
+ <keyword ref="i18n-example.html">Internationalization</keyword>
+</section>
+<section ref="i18n.html" title="Internationalization with Qt">
+ <keyword ref="i18n.html">i18n</keyword>
+</section>
+<section ref="tutorial2-01.html" title="Introduction">
+ <keyword ref="tutorial2-01.html">Introduction</keyword>
+</section>
+<section ref="embedporting.html" title="Issues to be aware of when porting Qt/Embedded">
+ <keyword ref="embedporting.html">Issues to be aware of when porting Qt/Embedded</keyword>
+</section>
+<section ref="keyfeatures30.html" title="Key Features in Qt 3.0">
+ <keyword ref="keyfeatures30.html">Key Features in Qt 3.0</keyword>
+</section>
+<section ref="focus.html" title="Keyboard Focus Overview">
+ <keyword ref="focus.html">Keyboard Focus Overview</keyword>
+</section>
+<section ref="layout.html" title="Layout Classes">
+ <keyword ref="layout.html">Layout Classes</keyword>
+</section>
+<section ref="geomanagement.html" title="Layout Management">
+ <keyword ref="geomanagement.html">geomanagement</keyword>
+</section>
+<section ref="layout-example.html" title="Layout Managers">
+ <keyword ref="layout-example.html">Layout Managers</keyword>
+</section>
+<section ref="licenses.html" title="Licenses for Code Used in Qt">
+ <keyword ref="licenses.html">Licenses for Code Used in Qt</keyword>
+</section>
+<section ref="lineedits-example.html" title="Line Edits">
+ <keyword ref="lineedits-example.html">Line Edits</keyword>
+</section>
+<section ref="listbox-example.html" title="Listbox Example">
+ <keyword ref="listbox-example.html">Listbox Example</keyword>
+</section>
+<section ref="listboxcombo-example.html" title="Listboxes and Comboboxes">
+ <keyword ref="listboxcombo-example.html">Listboxes and Comboboxes</keyword>
+</section>
+<section ref="listviews-example.html" title="Listviews">
+ <keyword ref="listviews-example.html">Listviews</keyword>
+</section>
+<section ref="checklists-example.html" title="Listviews with Checkable Items">
+ <keyword ref="checklists-example.html">Listviews with Checkable Items</keyword>
+</section>
+<section ref="application.html" title="Main Window and Related Classes">
+ <keyword ref="application.html">application</keyword>
+</section>
+<section ref="tutorial2-04.html" title="Mainly Easy">
+ <keyword ref="tutorial2-04.html">Mainly Easy</keyword>
+</section>
+<section ref="makeqpf.html" title="makeqpf">
+ <keyword ref="makeqpf.html">makeqpf</keyword>
+</section>
+<section ref="functions.html" title="Member Function Index">
+ <keyword ref="functions.html">Member Function Index</keyword>
+</section>
+<section ref="qaxserver-demo-menus.html" title="Menubar merging">
+ <keyword ref="qaxserver-demo-menus.html">Menubar merging</keyword>
+</section>
+<section ref="qaxserver-example-menus.html" title="Menubar merging">
+ <keyword ref="qaxserver-example-menus.html">Menubar merging</keyword>
+</section>
+<section ref="metaobjects.html" title="Meta Object System">
+ <keyword ref="metaobjects.html">Meta Object System</keyword>
+</section>
+<section ref="misc.html" title="Miscellaneous Classes">
+ <keyword ref="misc.html">misc</keyword>
+</section>
+<section ref="movies-example.html" title="Movies or the Story of the Animated GIF file">
+ <keyword ref="movies-example.html">Movies or the Story of the Animated GIF file</keyword>
+</section>
+<section ref="multimedia.html" title="Multimedia Classes">
+ <keyword ref="multimedia.html">multimedia</keyword>
+</section>
+<section ref="nsplugin-examples.html" title="Netscape Plugin Examples">
+ <keyword ref="nsplugin-examples.html">nsplugin-examples</keyword>
+</section>
+<section ref="network-examples.html" title="Network Examples">
+ <keyword ref="network-examples.html">network-examples</keyword>
+</section>
+<section ref="network.html" title="Network Module">
+ <keyword ref="network.html">Network Module</keyword>
+</section>
+<section ref="tools.html" title="Non-GUI Classes">
+ <keyword ref="tools.html">tools</keyword>
+</section>
+<section ref="objectmodel.html" title="Object Model">
+ <keyword ref="objectmodel.html">objectmodel</keyword>
+</section>
+<section ref="objecttrees.html" title="Object Trees and Object Ownership">
+ <keyword ref="objecttrees.html">Object Trees and Object Ownership</keyword>
+</section>
+<section ref="opengl-box-example.html" title="OpenGL Box Example">
+ <keyword ref="opengl-box-example.html">OpenGL Box Example</keyword>
+</section>
+<section ref="opengl-examples.html" title="OpenGL Examples">
+ <keyword ref="opengl-examples.html">opengl-examples</keyword>
+</section>
+<section ref="opengl-gear-example.html" title="OpenGL Gear Example">
+ <keyword ref="opengl-gear-example.html">OpenGL Gear Example</keyword>
+</section>
+<section ref="qaxserver-demo-opengl.html" title="OpenGL in an HTML page">
+ <keyword ref="qaxserver-demo-opengl.html">OpenGL in an HTML page</keyword>
+</section>
+<section ref="opengl-overlay-example.html" title="OpenGL Overlay Example">
+ <keyword ref="opengl-overlay-example.html">OpenGL Overlay Example</keyword>
+</section>
+<section ref="opengl-overlay-x11-example.html" title="OpenGL Overlay X11 Example">
+ <keyword ref="opengl-overlay-x11-example.html">OpenGL Overlay X11 Example</keyword>
+</section>
+<section ref="opengl-pixmap-example.html" title="OpenGL Pixmap Example">
+ <keyword ref="opengl-pixmap-example.html">OpenGL Pixmap Example</keyword>
+</section>
+<section ref="opengl-sharedbox-example.html" title="OpenGL Shared Box Example">
+ <keyword ref="opengl-sharedbox-example.html">OpenGL Shared Box Example</keyword>
+</section>
+<section ref="opengl-texture-example.html" title="OpenGL Texture Example">
+ <keyword ref="opengl-texture-example.html">OpenGL Texture Example</keyword>
+</section>
+<section ref="organizers.html" title="Organizers">
+ <keyword ref="organizers.html">organizers</keyword>
+</section>
+<section ref="outliner-example.html" title="Outliner to show use of DOM">
+ <keyword ref="outliner-example.html">Outliner to show use of DOM</keyword>
+</section>
+<section ref="desktop-example.html" title="Painting on the Desktop">
+ <keyword ref="desktop-example.html">Painting on the Desktop</keyword>
+</section>
+<section ref="picture-example.html" title="Picture">
+ <keyword ref="picture-example.html">Picture</keyword>
+</section>
+<section ref="pictures.html" title="Pictures of Most Qt Widgets">
+ <keyword ref="pictures.html">Pictures of Most Qt Widgets</keyword>
+</section>
+<section ref="qaxserver-demo-tetrax.html" title="Play Tetrix!">
+ <keyword ref="qaxserver-demo-tetrax.html">Play Tetrix!</keyword>
+</section>
+<section ref="plugins.html" title="Plugins">
+ <keyword ref="plugins.html">plugins</keyword>
+</section>
+<section ref="popup-example.html" title="Popup Widgets">
+ <keyword ref="popup-example.html">Popup Widgets</keyword>
+</section>
+<section ref="porting2.html" title="Porting to Qt 2.x">
+ <keyword ref="porting2.html">Porting to Qt 2.x</keyword>
+</section>
+<section ref="porting.html" title="Porting to Qt 3.x">
+ <keyword ref="porting.html">Porting to Qt 3.x</keyword>
+</section>
+<section ref="emb-porting.html" title="Porting your applications to Qt/Embedded">
+ <keyword ref="emb-porting.html">Porting your applications to Qt/Embedded</keyword>
+</section>
+<section ref="motif-walkthrough-2.html" title="Preparing to Migrate the User Interface">
+ <keyword ref="motif-walkthrough-2.html">Preparing to Migrate the User Interface</keyword>
+</section>
+<section ref="tutorial2-05.html" title="Presenting the GUI">
+ <keyword ref="tutorial2-05.html">Presenting the GUI</keyword>
+</section>
+<section ref="progressbar-example.html" title="Progress Bar">
+ <keyword ref="progressbar-example.html">Progress Bar</keyword>
+</section>
+<section ref="progress-example.html" title="Progress Bar and Dialog Example">
+ <keyword ref="progress-example.html">Progress Bar and Dialog Example</keyword>
+</section>
+<section ref="properties.html" title="Properties">
+ <keyword ref="properties.html">Properties</keyword>
+</section>
+<section ref="qaction-examples.html" title="QAction Examples">
+ <keyword ref="qaction-examples.html">qaction-examples</keyword>
+</section>
+<section ref="qarray.html" title="QArray Class Reference (obsolete)">
+ <keyword ref="qarray.html">QArray Class Reference (obsolete)</keyword>
+</section>
+<section ref="qcollection.html" title="QCollection Class Reference (obsolete)">
+ <keyword ref="qcollection.html">QCollection Class Reference (obsolete)</keyword>
+</section>
+<section ref="qdir-example.html" title="QDir">
+ <keyword ref="qdir-example.html">QDir</keyword>
+</section>
+<section ref="qembed.html" title="QEmbed - File and Image Embedder">
+ <keyword ref="qembed.html">QEmbed - File and Image Embedder</keyword>
+</section>
+<section ref="qfont-examples.html" title="QFont Examples">
+ <keyword ref="qfont-examples.html">qfont-examples</keyword>
+</section>
+<section ref="qlist.html" title="QList Class Reference (obsolete)">
+ <keyword ref="qlist.html">QList Class Reference (obsolete)</keyword>
+</section>
+<section ref="qlistiterator.html" title="QListIterator Class Reference (obsolete)">
+ <keyword ref="qlistiterator.html">QListIterator Class Reference (obsolete)</keyword>
+</section>
+<section ref="qmag-example.html" title="QMag">
+ <keyword ref="qmag-example.html">QMag</keyword>
+</section>
+<section ref="motif-examples.html" title="QMotif Support Extension">
+ <keyword ref="motif-examples.html">motif-examples</keyword>
+</section>
+<section ref="qprocess-examples.html" title="QProcess Examples">
+ <keyword ref="qprocess-examples.html">qprocess-examples</keyword>
+</section>
+<section ref="qqueue.html" title="QQueue Class Reference (obsolete)">
+ <keyword ref="qqueue.html">QQueue Class Reference (obsolete)</keyword>
+</section>
+<section ref="qstack.html" title="QStack Class Reference (obsolete)">
+ <keyword ref="qstack.html">QStack Class Reference (obsolete)</keyword>
+</section>
+<section ref="commercialeditions.html" title="Qt Commercial Editions">
+ <keyword ref="commercialeditions.html">Qt Commercial Editions</keyword>
+</section>
+<section ref="demo-example.html" title="Qt Demo">
+ <keyword ref="demo-example.html">Qt Demo</keyword>
+</section>
+<section ref="distributor-example.html" title="Qt Distribution Example">
+ <keyword ref="distributor-example.html">Qt Distribution Example</keyword>
+</section>
+<section ref="editions.html" title="Qt Editions">
+ <keyword ref="editions.html">Qt Editions</keyword>
+</section>
+<section ref="motif-extension.html" title="Qt Motif Extension">
+ <keyword ref="motif-extension.html">Qt Motif Extension</keyword>
+</section>
+<section ref="motif-walkthrough.html" title="Qt Motif Extension - A Migration Walkthrough">
+ <keyword ref="motif-walkthrough.html">Qt Motif Extension - A Migration Walkthrough</keyword>
+</section>
+<section ref="netscape-plugin.html" title="Qt Netscape Plugin Extension">
+ <keyword ref="netscape-plugin.html">Qt Netscape Plugin Extension</keyword>
+</section>
+<section ref="object.html" title="Qt Object Model">
+ <keyword ref="object.html">Qt Object Model</keyword>
+</section>
+<section ref="opensourceedition.html" title="Qt Open Source Edition">
+ <keyword ref="opensourceedition.html">Qt Open Source Edition</keyword>
+</section>
+<section ref="license.html" title="Qt Open Source Edition License Agreement">
+ <keyword ref="license.html">Qt Open Source Edition License Agreement</keyword>
+</section>
+<section ref="opengl.html" title="Qt OpenGL 3D Graphics">
+ <keyword ref="opengl.html">Qt OpenGL 3D Graphics</keyword>
+</section>
+<section ref="plugins-howto.html" title="Qt Plugins HOWTO">
+ <keyword ref="plugins-howto.html">Qt Plugins HOWTO</keyword>
+</section>
+<section ref="index.html" title="Qt Reference Documentation (Open Source Edition)">
+ <keyword ref="index.html">Qt Reference Documentation (Open Source Edition)</keyword>
+</section>
+<section ref="sql-examples.html" title="Qt SQL Examples">
+ <keyword ref="sql-examples.html">sql-examples</keyword>
+</section>
+<section ref="qt-template-lib.html" title="Qt Template Library">
+ <keyword ref="qt-template-lib.html">Qt Template Library</keyword>
+</section>
+<section ref="qtl.html" title="Qt Template Library Classes">
+ <keyword ref="qtl.html">qtl</keyword>
+</section>
+<section ref="tutorial.html" title="Qt Tutorial #1 - The 14 Steps">
+ <keyword ref="tutorial.html">Qt Tutorial #1 - The 14 Steps</keyword>
+</section>
+<section ref="tutorial1-10.html" title="Qt Tutorial - Chapter 10: Smooth as Silk">
+ <keyword ref="tutorial1-10.html">Qt Tutorial - Chapter 10: Smooth as Silk</keyword>
+</section>
+<section ref="tutorial1-11.html" title="Qt Tutorial - Chapter 11: Giving It a Shot">
+ <keyword ref="tutorial1-11.html">Qt Tutorial - Chapter 11: Giving It a Shot</keyword>
+</section>
+<section ref="tutorial1-12.html" title="Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't">
+ <keyword ref="tutorial1-12.html">Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't</keyword>
+</section>
+<section ref="tutorial1-13.html" title="Qt Tutorial - Chapter 13: Game Over">
+ <keyword ref="tutorial1-13.html">Qt Tutorial - Chapter 13: Game Over</keyword>
+</section>
+<section ref="tutorial1-14.html" title="Qt Tutorial - Chapter 14: Facing the Wall">
+ <keyword ref="tutorial1-14.html">Qt Tutorial - Chapter 14: Facing the Wall</keyword>
+</section>
+<section ref="tutorial1-01.html" title="Qt Tutorial - Chapter 1: Hello, World!">
+ <keyword ref="tutorial1-01.html">Qt Tutorial - Chapter 1: Hello, World!</keyword>
+</section>
+<section ref="tutorial1-02.html" title="Qt Tutorial - Chapter 2: Calling it Quits">
+ <keyword ref="tutorial1-02.html">Qt Tutorial - Chapter 2: Calling it Quits</keyword>
+</section>
+<section ref="tutorial1-03.html" title="Qt Tutorial - Chapter 3: Family Values">
+ <keyword ref="tutorial1-03.html">Qt Tutorial - Chapter 3: Family Values</keyword>
+</section>
+<section ref="tutorial1-04.html" title="Qt Tutorial - Chapter 4: Let There Be Widgets">
+ <keyword ref="tutorial1-04.html">Qt Tutorial - Chapter 4: Let There Be Widgets</keyword>
+</section>
+<section ref="tutorial1-05.html" title="Qt Tutorial - Chapter 5: Building Blocks">
+ <keyword ref="tutorial1-05.html">Qt Tutorial - Chapter 5: Building Blocks</keyword>
+</section>
+<section ref="tutorial1-06.html" title="Qt Tutorial - Chapter 6: Building Blocks Galore!">
+ <keyword ref="tutorial1-06.html">Qt Tutorial - Chapter 6: Building Blocks Galore!</keyword>
+</section>
+<section ref="tutorial1-07.html" title="Qt Tutorial - Chapter 7: One Thing Leads to Another">
+ <keyword ref="tutorial1-07.html">Qt Tutorial - Chapter 7: One Thing Leads to Another</keyword>
+</section>
+<section ref="tutorial1-08.html" title="Qt Tutorial - Chapter 8: Preparing for Battle">
+ <keyword ref="tutorial1-08.html">Qt Tutorial - Chapter 8: Preparing for Battle</keyword>
+</section>
+<section ref="tutorial1-09.html" title="Qt Tutorial - Chapter 9: With Cannon You Can">
+ <keyword ref="tutorial1-09.html">Qt Tutorial - Chapter 9: With Cannon You Can</keyword>
+</section>
+<section ref="qaxserver-demo-hierarchy.html" title="Qt Widget Hierarchy">
+ <keyword ref="qaxserver-demo-hierarchy.html">Qt Widget Hierarchy</keyword>
+</section>
+<section ref="qaxserver-example-hierarchy.html" title="Qt Widget Hierarchy (in-process)">
+ <keyword ref="qaxserver-example-hierarchy.html">Qt Widget Hierarchy (in-process)</keyword>
+</section>
+<section ref="xml-examples.html" title="Qt XML Examples">
+ <keyword ref="xml-examples.html">xml-examples</keyword>
+</section>
+<section ref="qaxserver-example-opengl.html" title="Qt' OpenGL widgets as an ActiveX (executable)">
+ <keyword ref="qaxserver-example-opengl.html">Qt' OpenGL widgets as an ActiveX (executable)</keyword>
+</section>
+<section ref="classes.html" title="Qt's Classes">
+ <keyword ref="classes.html">Qt's Classes</keyword>
+</section>
+<section ref="mainclasses.html" title="Qt's Main Classes">
+ <keyword ref="mainclasses.html">Qt's Main Classes</keyword>
+</section>
+<section ref="tools-list.html" title="Qt's Tools">
+ <keyword ref="tools-list.html">Qt's Tools</keyword>
+</section>
+<section ref="qws.html" title="Qt/Embedded">
+ <keyword ref="qws.html">qws</keyword>
+</section>
+<section ref="emb-vnc.html" title="Qt/Embedded as a VNC Server">
+ <keyword ref="emb-vnc.html">Qt/Embedded as a VNC Server</keyword>
+</section>
+<section ref="emb-envvars.html" title="Qt/Embedded environment variables">
+ <keyword ref="emb-envvars.html">Qt/Embedded environment variables</keyword>
+</section>
+<section ref="emb-performance.html" title="Qt/Embedded Performance Tuning">
+ <keyword ref="emb-performance.html">Qt/Embedded Performance Tuning</keyword>
+</section>
+<section ref="emb-pointer.html" title="Qt/Embedded Pointer Handling">
+ <keyword ref="emb-pointer.html">Qt/Embedded Pointer Handling</keyword>
+</section>
+<section ref="emb-qvfb.html" title="Qt/Embedded Virtual Framebuffer">
+ <keyword ref="emb-qvfb.html">Qt/Embedded Virtual Framebuffer</keyword>
+</section>
+<section ref="qtmac-as-native.html" title="Qt/Mac is Mac OS X Native">
+ <keyword ref="qtmac-as-native.html">Qt/Mac is Mac OS X Native</keyword>
+</section>
+<section ref="mac-differences.html" title="Qt/Mac Issues">
+ <keyword ref="mac-differences.html">Qt/Mac Issues</keyword>
+</section>
+<section ref="qvector.html" title="QVector Class Reference (obsolete)">
+ <keyword ref="qvector.html">QVector Class Reference (obsolete)</keyword>
+</section>
+<section ref="rangecontrols-example.html" title="Range controls">
+ <keyword ref="rangecontrols-example.html">Range controls</keyword>
+</section>
+<section ref="motif-walkthrough-7.html" title="Refactoring Existing Code">
+ <keyword ref="motif-walkthrough-7.html">Refactoring Existing Code</keyword>
+</section>
+<section ref="motif-walkthrough-9.html" title="Replacing the Print Dialog">
+ <keyword ref="motif-walkthrough-9.html">Replacing the Print Dialog</keyword>
+</section>
+<section ref="motif-walkthrough-8.html" title="Replacing the View Widget">
+ <keyword ref="motif-walkthrough-8.html">Replacing the View Widget</keyword>
+</section>
+<section ref="richtext-example.html" title="Richtext">
+ <keyword ref="richtext-example.html">Richtext</keyword>
+</section>
+<section ref="rot-example.html" title="Rot13">
+ <keyword ref="rot-example.html">Rot13</keyword>
+</section>
+<section ref="emb-running.html" title="Running Qt/Embedded applications">
+ <keyword ref="emb-running.html">Running Qt/Embedded applications</keyword>
+</section>
+<section ref="scrollview-example.html" title="Scrollview">
+ <keyword ref="scrollview-example.html">Scrollview</keyword>
+</section>
+<section ref="session.html" title="Session Management">
+ <keyword ref="session.html">Session Management</keyword>
+</section>
+<section ref="tutorial2-09.html" title="Setting Options">
+ <keyword ref="tutorial2-09.html">Setting Options</keyword>
+</section>
+<section ref="appicon.html" title="Setting the Application Icon">
+ <keyword ref="appicon.html">Setting the Application Icon</keyword>
+</section>
+<section ref="shclass.html" title="Shared Classes">
+ <keyword ref="shclass.html">Shared Classes</keyword>
+</section>
+<section ref="showimg-example.html" title="Show Image">
+ <keyword ref="showimg-example.html">Show Image</keyword>
+</section>
+<section ref="signalsandslots.html" title="Signals and Slots">
+ <keyword ref="signalsandslots.html">Signals and Slots</keyword>
+</section>
+<section ref="addressbook-example.html" title="Simple Addressbook">
+ <keyword ref="addressbook-example.html">Simple Addressbook</keyword>
+</section>
+<section ref="qwerty-example.html" title="Simple editor that can load encodings">
+ <keyword ref="qwerty-example.html">Simple editor that can load encodings</keyword>
+</section>
+<section ref="fileiconview-example.html" title="Simple Filemanager">
+ <keyword ref="fileiconview-example.html">Simple Filemanager</keyword>
+</section>
+<section ref="helpviewer-example.html" title="Simple HTML Help Browser">
+ <keyword ref="helpviewer-example.html">Simple HTML Help Browser</keyword>
+</section>
+<section ref="scribble-example.html" title="Simple Painting Application">
+ <keyword ref="scribble-example.html">Simple Painting Application</keyword>
+</section>
+<section ref="small-table-example-example.html" title="Small Table Example">
+ <keyword ref="small-table-example-example.html">Small Table Example</keyword>
+</section>
+<section ref="sound-example.html" title="Sound Example">
+ <keyword ref="sound-example.html">Sound Example</keyword>
+</section>
+<section ref="splitter-example.html" title="Splitter">
+ <keyword ref="splitter-example.html">Splitter</keyword>
+</section>
+<section ref="sql.html" title="SQL Module">
+ <keyword ref="sql.html">SQL Module</keyword>
+</section>
+<section ref="sql-driver.html" title="SQL Module - Drivers">
+ <keyword ref="sql-driver.html">SQL Module - Drivers</keyword>
+</section>
+<section ref="sqltable-example.html" title="SQL Table">
+ <keyword ref="sqltable-example.html">SQL Table</keyword>
+</section>
+<section ref="accelerators.html" title="Standard Accelerator Keys">
+ <keyword ref="accelerators.html">Standard Accelerator Keys</keyword>
+</section>
+<section ref="qaxserver-example-wrapper.html" title="Standard Qt widgets as ActiveX controls (in-process)">
+ <keyword ref="qaxserver-example-wrapper.html">Standard Qt widgets as ActiveX controls (in-process)</keyword>
+</section>
+<section ref="qaxserver-demo-wrapper.html" title="Standard Qt widgets in an HTML page">
+ <keyword ref="qaxserver-demo-wrapper.html">Standard Qt widgets in an HTML page</keyword>
+</section>
+<section ref="process-example.html" title="Starting processes with IO redirection">
+ <keyword ref="process-example.html">Starting processes with IO redirection</keyword>
+</section>
+<section ref="step-by-step-examples.html" title="Step-by-step Examples">
+ <keyword ref="step-by-step-examples.html">step-by-step-examples</keyword>
+</section>
+<section ref="customstyles.html" title="Style overview">
+ <keyword ref="customstyles.html">Style overview</keyword>
+</section>
+<section ref="tabdialog-example.html" title="Tabdialog">
+ <keyword ref="tabdialog-example.html">Tabdialog</keyword>
+</section>
+<section ref="statistics-example.html" title="Table Example">
+ <keyword ref="statistics-example.html">Table Example</keyword>
+</section>
+<section ref="table-examples.html" title="Table Examples">
+ <keyword ref="table-examples.html">table-examples</keyword>
+</section>
+<section ref="table.html" title="Table Module">
+ <keyword ref="table.html">Table Module</keyword>
+</section>
+<section ref="primes.html" title="Table of Prime Numbers 2-9999">
+ <keyword ref="primes.html">Table of Prime Numbers 2-9999</keyword>
+</section>
+<section ref="tablet-example.html" title="Tablet Example">
+ <keyword ref="tablet-example.html">Tablet Example</keyword>
+</section>
+<section ref="tutorial2-08.html" title="Taking Data">
+ <keyword ref="tutorial2-08.html">Taking Data</keyword>
+</section>
+<section ref="tetrix-example.html" title="Tetrix">
+ <keyword ref="tetrix-example.html">Tetrix</keyword>
+</section>
+<section ref="textedit-example.html" title="Text Edit Example">
+ <keyword ref="textedit-example.html">Text Edit Example</keyword>
+</section>
+<section ref="text.html" title="Text Related Classes">
+ <keyword ref="text.html">text</keyword>
+</section>
+<section ref="credits.html" title="Thanks!">
+ <keyword ref="credits.html">Thanks!</keyword>
+</section>
+<section ref="tutorial2-02.html" title="The 'Big Picture'">
+ <keyword ref="tutorial2-02.html">The 'Big Picture'</keyword>
+</section>
+<section ref="activeqt.html" title="The ActiveQt framework">
+ <keyword ref="activeqt.html">The ActiveQt framework</keyword>
+</section>
+<section ref="coordsys.html" title="The Coordinate System">
+ <keyword ref="coordsys.html">The Coordinate System</keyword>
+</section>
+<section ref="activeqt-tools-dumpdoc.html" title="The DumpDoc Tool">
+ <keyword ref="activeqt-tools-dumpdoc.html">The DumpDoc Tool</keyword>
+</section>
+<section ref="emb-features.html" title="The Feature Definition File">
+ <keyword ref="emb-features.html">The Feature Definition File</keyword>
+</section>
+<section ref="activeqt-tools-idc.html" title="The IDC Tool">
+ <keyword ref="activeqt-tools-idc.html">The IDC Tool</keyword>
+</section>
+<section ref="tutorial2-10.html" title="The Project File">
+ <keyword ref="tutorial2-10.html">The Project File</keyword>
+</section>
+<section ref="qaxcontainer-examples.html" title="The QAxContainer Examples">
+ <keyword ref="qaxcontainer-examples.html">qaxcontainer-examples</keyword>
+</section>
+<section ref="qaxcontainer.html" title="The QAxContainer Module">
+ <keyword ref="qaxcontainer.html">The QAxContainer Module</keyword>
+</section>
+<section ref="qaxserver-examples.html" title="The QAxServer Examples">
+ <keyword ref="qaxserver-examples.html">qaxserver-examples</keyword>
+</section>
+<section ref="qaxserver.html" title="The QAxServer Module">
+ <keyword ref="qaxserver.html">The QAxServer Module</keyword>
+</section>
+<section ref="faq.html" title="The Qt FAQ">
+ <keyword ref="faq.html">The Qt FAQ</keyword>
+</section>
+<section ref="emb-classes.html" title="The Qt/Embedded-specific classes">
+ <keyword ref="emb-classes.html">The Qt/Embedded-specific classes</keyword>
+</section>
+<section ref="themes-example.html" title="Themes (Styles)">
+ <keyword ref="themes-example.html">Themes (Styles)</keyword>
+</section>
+<section ref="threads.html" title="Thread Support in Qt">
+ <keyword ref="threads.html">Thread Support in Qt</keyword>
+</section>
+<section ref="thread.html" title="Threading">
+ <keyword ref="thread.html">thread</keyword>
+</section>
+<section ref="tictac-example.html" title="Tic Tac Toe">
+ <keyword ref="tictac-example.html">Tic Tac Toe</keyword>
+</section>
+<section ref="time.html" title="Time and Date">
+ <keyword ref="time.html">time</keyword>
+</section>
+<section ref="timers.html" title="Timers">
+ <keyword ref="timers.html">Timers</keyword>
+</section>
+<section ref="toplevel-example.html" title="Toplevel Widgets">
+ <keyword ref="toplevel-example.html">Toplevel Widgets</keyword>
+</section>
+<section ref="trademarks.html" title="Trademarks">
+ <keyword ref="trademarks.html">Trademarks</keyword>
+</section>
+<section ref="xform-example.html" title="Transformed Graphics Demo">
+ <keyword ref="xform-example.html">Transformed Graphics Demo</keyword>
+</section>
+<section ref="trivial-nsplugin-example.html" title="Trivial Example">
+ <keyword ref="trivial-nsplugin-example.html">Trivial Example</keyword>
+</section>
+<section ref="tutorial2.html" title="Tutorial #2">
+ <keyword ref="tutorial2.html">Tutorial #2</keyword>
+</section>
+<section ref="qaxserver-demo-multiple.html" title="Two simple Qt widgets">
+ <keyword ref="qaxserver-demo-multiple.html">Two simple Qt widgets</keyword>
+</section>
+<section ref="qaxserver-example-multiple.html" title="Two simple Qt widgets (in-process)">
+ <keyword ref="qaxserver-example-multiple.html">Two simple Qt widgets (in-process)</keyword>
+</section>
+<section ref="uic.html" title="User Interface Compiler (uic)">
+ <keyword ref="uic.html">User Interface Compiler (uic)</keyword>
+</section>
+<section ref="motif-walkthrough-4.html" title="Using Custom QDialogs">
+ <keyword ref="motif-walkthrough-4.html">Using Custom QDialogs</keyword>
+</section>
+<section ref="motif-walkthrough-5.html" title="Using Existing Dialogs with QMotifDialog">
+ <keyword ref="motif-walkthrough-5.html">Using Existing Dialogs with QMotifDialog</keyword>
+</section>
+<section ref="menu-example.html" title="Using menus">
+ <keyword ref="menu-example.html">Using menus</keyword>
+</section>
+<section ref="motif-walkthrough-6.html" title="Using Qt Main Window Classes">
+ <keyword ref="motif-walkthrough-6.html">Using Qt Main Window Classes</keyword>
+</section>
+<section ref="motif-walkthrough-3.html" title="Using Qt Standard Dialogs">
+ <keyword ref="motif-walkthrough-3.html">Using Qt Standard Dialogs</keyword>
+</section>
+<section ref="moc.html" title="Using the Meta Object Compiler">
+ <keyword ref="moc.html">Using the Meta Object Compiler</keyword>
+</section>
+<section ref="motif-customwidget-example.html" title="Using the Motif Event Loop">
+ <keyword ref="motif-customwidget-example.html">Using the Motif Event Loop</keyword>
+</section>
+<section ref="simple-application.html" title="Walkthrough: A Simple Application">
+ <keyword ref="simple-application.html">Walkthrough: A Simple Application</keyword>
+</section>
+<section ref="xml-sax-walkthrough.html" title="Walkthrough: How to use the Qt SAX2 classes">
+ <keyword ref="xml-sax-walkthrough.html">Walkthrough: How to use the Qt SAX2 classes</keyword>
+</section>
+<section ref="activeqt-dotnet.html" title="Walkthrough: Using Qt objects in Microsoft .NET">
+ <keyword ref="activeqt-dotnet.html">Walkthrough: Using Qt objects in Microsoft .NET</keyword>
+</section>
+<section ref="xml-sax-features-walkthrough.html" title="Walkthrough: Using SAX2 features with the Qt XML classes">
+ <keyword ref="xml-sax-features-walkthrough.html">Walkthrough: Using SAX2 features with the Qt XML classes</keyword>
+</section>
+<section ref="templates.html" title="Why doesn't Qt use templates for signals and slots?">
+ <keyword ref="templates.html">Why doesn't Qt use templates for signals and slots?</keyword>
+</section>
+<section ref="appearance.html" title="Widget Appearance and Style">
+ <keyword ref="appearance.html">appearance</keyword>
+</section>
+<section ref="widgets-example.html" title="Widgets Example">
+ <keyword ref="widgets-example.html">Widgets Example</keyword>
+</section>
+<section ref="geometry.html" title="Window Geometry">
+ <keyword ref="geometry.html">Window Geometry</keyword>
+</section>
+<section ref="winsystem.html" title="Window System-specific Notes">
+ <keyword ref="winsystem.html">Window System-specific Notes</keyword>
+</section>
+<section ref="wizard-example.html" title="Wizard">
+ <keyword ref="wizard-example.html">Wizard</keyword>
+</section>
+<section ref="workspace.html" title="Workspace Module">
+ <keyword ref="workspace.html">Workspace Module</keyword>
+</section>
+<section ref="tutorial2-11.html" title="Wrapping Up">
+ <keyword ref="tutorial2-11.html">Wrapping Up</keyword>
+</section>
+<section ref="customlayout.html" title="Writing your own layout manager">
+ <keyword ref="customlayout.html">Writing your own layout manager</keyword>
+</section>
+<section ref="xml-tools.html" title="XML">
+ <keyword ref="xml-tools.html">xml-tools</keyword>
+</section>
+<section ref="xml.html" title="XML Module">
+ <keyword ref="xml.html">XML Module</keyword>
+</section>
+<section ref="y2k.html" title="Year 2000 Compliance Statement">
+ <keyword ref="y2k.html">Year 2000 Compliance Statement</keyword>
+</section>
+<section ref="classchart.html" title="">
+ <keyword ref="classchart.html"></keyword>
+</section>
+<section ref="chart-canvastext-h.html" title="chart/canvastext.h Example File">
+ <keyword ref="chart-canvastext-h.html">canvastext.h</keyword>
+</section>
+<section ref="chart-canvasview-cpp.html" title="chart/canvasview.cpp Example File">
+ <keyword ref="chart-canvasview-cpp.html">canvasview.cpp</keyword>
+</section>
+<section ref="chart-canvasview-h.html" title="chart/canvasview.h Example File">
+ <keyword ref="chart-canvasview-h.html">canvasview.h</keyword>
+</section>
+<section ref="chart-chart-pro.html" title="chart/chart.pro Example File">
+ <keyword ref="chart-chart-pro.html">chart.pro</keyword>
+</section>
+<section ref="chart-chartform-cpp.html" title="chart/chartform.cpp Example File">
+ <keyword ref="chart-chartform-cpp.html">chartform.cpp</keyword>
+</section>
+<section ref="chart-chartform-h.html" title="chart/chartform.h Example File">
+ <keyword ref="chart-chartform-h.html">chartform.h</keyword>
+</section>
+<section ref="chart-chartform_canvas-cpp.html" title="chart/chartform_canvas.cpp Example File">
+ <keyword ref="chart-chartform_canvas-cpp.html">chartform_canvas.cpp</keyword>
+</section>
+<section ref="chart-chartform_files-cpp.html" title="chart/chartform_files.cpp Example File">
+ <keyword ref="chart-chartform_files-cpp.html">chartform_files.cpp</keyword>
+</section>
+<section ref="chart-element-cpp.html" title="chart/element.cpp Example File">
+ <keyword ref="chart-element-cpp.html">element.cpp</keyword>
+</section>
+<section ref="chart-element-h.html" title="chart/element.h Example File">
+ <keyword ref="chart-element-h.html">element.h</keyword>
+</section>
+<section ref="chart-main-cpp.html" title="chart/main.cpp Example File">
+ <keyword ref="chart-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="chart-optionsform-cpp.html" title="chart/optionsform.cpp Example File">
+ <keyword ref="chart-optionsform-cpp.html">optionsform.cpp</keyword>
+</section>
+<section ref="chart-optionsform-h.html" title="chart/optionsform.h Example File">
+ <keyword ref="chart-optionsform-h.html">optionsform.h</keyword>
+</section>
+<section ref="chart-setdataform-cpp.html" title="chart/setdataform.cpp Example File">
+ <keyword ref="chart-setdataform-cpp.html">setdataform.cpp</keyword>
+</section>
+<section ref="chart-setdataform-h.html" title="chart/setdataform.h Example File">
+ <keyword ref="chart-setdataform-h.html">setdataform.h</keyword>
+</section>
+<section ref="iconview-simple_dd-main-cpp.html" title="iconview/simple_dd/main.cpp Example File">
+ <keyword ref="iconview-simple_dd-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="iconview-simple_dd-main-h.html" title="iconview/simple_dd/main.h Example File">
+ <keyword ref="iconview-simple_dd-main-h.html">main.h</keyword>
+</section>
+<section ref="qnetwork-h.html" title="qnetwork.h Example File">
+ <keyword ref="qnetwork-h.html">qnetwork.h</keyword>
+</section>
+<section ref="sql-overview-basicbrowsing-main-cpp.html" title="sql/overview/basicbrowsing/main.cpp Example File">
+ <keyword ref="sql-overview-basicbrowsing-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-basicbrowsing2-main-cpp.html" title="sql/overview/basicbrowsing2/main.cpp Example File">
+ <keyword ref="sql-overview-basicbrowsing2-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-basicdatamanip-main-cpp.html" title="sql/overview/basicdatamanip/main.cpp Example File">
+ <keyword ref="sql-overview-basicdatamanip-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-connect1-main-cpp.html" title="sql/overview/connect1/main.cpp Example File">
+ <keyword ref="sql-overview-connect1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-create_connections-main-cpp.html" title="sql/overview/create_connections/main.cpp Example File">
+ <keyword ref="sql-overview-create_connections-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-custom1-main-cpp.html" title="sql/overview/custom1/main.cpp Example File">
+ <keyword ref="sql-overview-custom1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-custom1-main-h.html" title="sql/overview/custom1/main.h Example File">
+ <keyword ref="sql-overview-custom1-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-delete-main-cpp.html" title="sql/overview/delete/main.cpp Example File">
+ <keyword ref="sql-overview-delete-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-extract-main-cpp.html" title="sql/overview/extract/main.cpp Example File">
+ <keyword ref="sql-overview-extract-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-form1-main-cpp.html" title="sql/overview/form1/main.cpp Example File">
+ <keyword ref="sql-overview-form1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-form2-main-h.html" title="sql/overview/form2/main.h Example File">
+ <keyword ref="sql-overview-form2-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-insert-main-cpp.html" title="sql/overview/insert/main.cpp Example File">
+ <keyword ref="sql-overview-insert-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-navigating-main-cpp.html" title="sql/overview/navigating/main.cpp Example File">
+ <keyword ref="sql-overview-navigating-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-order1-main-cpp.html" title="sql/overview/order1/main.cpp Example File">
+ <keyword ref="sql-overview-order1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-order2-main-cpp.html" title="sql/overview/order2/main.cpp Example File">
+ <keyword ref="sql-overview-order2-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-retrieve1-main-cpp.html" title="sql/overview/retrieve1/main.cpp Example File">
+ <keyword ref="sql-overview-retrieve1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-retrieve2-main-cpp.html" title="sql/overview/retrieve2/main.cpp Example File">
+ <keyword ref="sql-overview-retrieve2-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass1-main-cpp.html" title="sql/overview/subclass1/main.cpp Example File">
+ <keyword ref="sql-overview-subclass1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass2-main-cpp.html" title="sql/overview/subclass2/main.cpp Example File">
+ <keyword ref="sql-overview-subclass2-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass2-main-h.html" title="sql/overview/subclass2/main.h Example File">
+ <keyword ref="sql-overview-subclass2-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-subclass3-main-cpp.html" title="sql/overview/subclass3/main.cpp Example File">
+ <keyword ref="sql-overview-subclass3-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass3-main-h.html" title="sql/overview/subclass3/main.h Example File">
+ <keyword ref="sql-overview-subclass3-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-subclass4-main-cpp.html" title="sql/overview/subclass4/main.cpp Example File">
+ <keyword ref="sql-overview-subclass4-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass4-main-h.html" title="sql/overview/subclass4/main.h Example File">
+ <keyword ref="sql-overview-subclass4-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-subclass5-main-cpp.html" title="sql/overview/subclass5/main.cpp Example File">
+ <keyword ref="sql-overview-subclass5-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-subclass5-main-h.html" title="sql/overview/subclass5/main.h Example File">
+ <keyword ref="sql-overview-subclass5-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-table1-main-cpp.html" title="sql/overview/table1/main.cpp Example File">
+ <keyword ref="sql-overview-table1-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-table2-main-cpp.html" title="sql/overview/table2/main.cpp Example File">
+ <keyword ref="sql-overview-table2-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-table3-main-cpp.html" title="sql/overview/table3/main.cpp Example File">
+ <keyword ref="sql-overview-table3-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-table3-main-h.html" title="sql/overview/table3/main.h Example File">
+ <keyword ref="sql-overview-table3-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-table4-main-cpp.html" title="sql/overview/table4/main.cpp Example File">
+ <keyword ref="sql-overview-table4-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="sql-overview-table4-main-h.html" title="sql/overview/table4/main.h Example File">
+ <keyword ref="sql-overview-table4-main-h.html">main.h</keyword>
+</section>
+<section ref="sql-overview-update-main-cpp.html" title="sql/overview/update/main.cpp Example File">
+ <keyword ref="sql-overview-update-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t10-cannon-cpp.html" title="t10/cannon.cpp Example File">
+ <keyword ref="t10-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t10-cannon-h.html" title="t10/cannon.h Example File">
+ <keyword ref="t10-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t10-lcdrange-cpp.html" title="t10/lcdrange.cpp Example File">
+ <keyword ref="t10-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t10-lcdrange-h.html" title="t10/lcdrange.h Example File">
+ <keyword ref="t10-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t10-main-cpp.html" title="t10/main.cpp Example File">
+ <keyword ref="t10-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t11-cannon-cpp.html" title="t11/cannon.cpp Example File">
+ <keyword ref="t11-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t11-cannon-h.html" title="t11/cannon.h Example File">
+ <keyword ref="t11-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t11-lcdrange-cpp.html" title="t11/lcdrange.cpp Example File">
+ <keyword ref="t11-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t11-lcdrange-h.html" title="t11/lcdrange.h Example File">
+ <keyword ref="t11-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t11-main-cpp.html" title="t11/main.cpp Example File">
+ <keyword ref="t11-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t12-cannon-cpp.html" title="t12/cannon.cpp Example File">
+ <keyword ref="t12-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t12-cannon-h.html" title="t12/cannon.h Example File">
+ <keyword ref="t12-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t12-lcdrange-cpp.html" title="t12/lcdrange.cpp Example File">
+ <keyword ref="t12-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t12-lcdrange-h.html" title="t12/lcdrange.h Example File">
+ <keyword ref="t12-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t12-main-cpp.html" title="t12/main.cpp Example File">
+ <keyword ref="t12-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t13-cannon-cpp.html" title="t13/cannon.cpp Example File">
+ <keyword ref="t13-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t13-cannon-h.html" title="t13/cannon.h Example File">
+ <keyword ref="t13-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t13-gamebrd-cpp.html" title="t13/gamebrd.cpp Example File">
+ <keyword ref="t13-gamebrd-cpp.html">gamebrd.cpp</keyword>
+</section>
+<section ref="t13-gamebrd-h.html" title="t13/gamebrd.h Example File">
+ <keyword ref="t13-gamebrd-h.html">gamebrd.h</keyword>
+</section>
+<section ref="t13-lcdrange-cpp.html" title="t13/lcdrange.cpp Example File">
+ <keyword ref="t13-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t13-lcdrange-h.html" title="t13/lcdrange.h Example File">
+ <keyword ref="t13-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t13-main-cpp.html" title="t13/main.cpp Example File">
+ <keyword ref="t13-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t14-cannon-cpp.html" title="t14/cannon.cpp Example File">
+ <keyword ref="t14-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t14-cannon-h.html" title="t14/cannon.h Example File">
+ <keyword ref="t14-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t14-gamebrd-cpp.html" title="t14/gamebrd.cpp Example File">
+ <keyword ref="t14-gamebrd-cpp.html">gamebrd.cpp</keyword>
+</section>
+<section ref="t14-gamebrd-h.html" title="t14/gamebrd.h Example File">
+ <keyword ref="t14-gamebrd-h.html">gamebrd.h</keyword>
+</section>
+<section ref="t14-lcdrange-cpp.html" title="t14/lcdrange.cpp Example File">
+ <keyword ref="t14-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t14-lcdrange-h.html" title="t14/lcdrange.h Example File">
+ <keyword ref="t14-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t14-main-cpp.html" title="t14/main.cpp Example File">
+ <keyword ref="t14-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t7-lcdrange-cpp.html" title="t7/lcdrange.cpp Example File">
+ <keyword ref="t7-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t7-lcdrange-h.html" title="t7/lcdrange.h Example File">
+ <keyword ref="t7-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t7-main-cpp.html" title="t7/main.cpp Example File">
+ <keyword ref="t7-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t8-cannon-cpp.html" title="t8/cannon.cpp Example File">
+ <keyword ref="t8-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t8-cannon-h.html" title="t8/cannon.h Example File">
+ <keyword ref="t8-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t8-lcdrange-cpp.html" title="t8/lcdrange.cpp Example File">
+ <keyword ref="t8-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t8-lcdrange-h.html" title="t8/lcdrange.h Example File">
+ <keyword ref="t8-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t8-main-cpp.html" title="t8/main.cpp Example File">
+ <keyword ref="t8-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="t9-cannon-cpp.html" title="t9/cannon.cpp Example File">
+ <keyword ref="t9-cannon-cpp.html">cannon.cpp</keyword>
+</section>
+<section ref="t9-cannon-h.html" title="t9/cannon.h Example File">
+ <keyword ref="t9-cannon-h.html">cannon.h</keyword>
+</section>
+<section ref="t9-lcdrange-cpp.html" title="t9/lcdrange.cpp Example File">
+ <keyword ref="t9-lcdrange-cpp.html">lcdrange.cpp</keyword>
+</section>
+<section ref="t9-lcdrange-h.html" title="t9/lcdrange.h Example File">
+ <keyword ref="t9-lcdrange-h.html">lcdrange.h</keyword>
+</section>
+<section ref="t9-main-cpp.html" title="t9/main.cpp Example File">
+ <keyword ref="t9-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="table-bigtable-main-cpp.html" title="table/bigtable/main.cpp Example File">
+ <keyword ref="table-bigtable-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="table-small-table-demo-main-cpp.html" title="table/small-table-demo/main.cpp Example File">
+ <keyword ref="table-small-table-demo-main-cpp.html">main.cpp</keyword>
+</section>
+<section ref="table-statistics-statistics-cpp.html" title="table/statistics/statistics.cpp Example File">
+ <keyword ref="table-statistics-statistics-cpp.html">statistics.cpp</keyword>
+</section>
+<section ref="wizard-wizard-cpp.html" title="wizard/wizard.cpp Example File">
+ <keyword ref="wizard-wizard-cpp.html">wizard.cpp</keyword>
+</section>
+<section ref="wizard-wizard-h.html" title="wizard/wizard.h Example File">
+ <keyword ref="wizard-wizard-h.html">wizard.h</keyword>
+</section>
+</DCF>
diff --git a/doc/html/qt.html b/doc/html/qt.html
new file mode 100644
index 0000000..536d3c1
--- /dev/null
+++ b/doc/html/qt.html
@@ -0,0 +1,1026 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qobject.cpp:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Class Reference</h1>
+
+<p>The Qt class is a namespace for miscellaneous identifiers
+that need to be global-like.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qnamespace-h.html">qnamespace.h</a>&gt;</tt>
+<p>Inherited by <a href="qobject.html">QObject</a>, <a href="qpixmap.html">QPixmap</a>, <a href="qbrush.html">QBrush</a>, <a href="qcanvasitem.html">QCanvasItem</a>, <a href="qcursor.html">QCursor</a>, <a href="qpainter.html">QPainter</a>, <a href="qevent.html">QEvent</a>, <a href="qiconviewitem.html">QIconViewItem</a>, <a href="qkeysequence.html">QKeySequence</a>, <a href="qlistviewitem.html">QListViewItem</a>, <a href="qcustommenuitem.html">QCustomMenuItem</a>, <a href="qpen.html">QPen</a>, <a href="qstylesheetitem.html">QStyleSheetItem</a>, <a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>, <a href="qtab.html">QTab</a>, <a href="qtableitem.html">QTableItem</a>, <a href="qthread.html">QThread</a>, <a href="qtooltip.html">QToolTip</a>, and <a href="qwhatsthis.html">QWhatsThis</a>.
+<p><a href="qt-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#ButtonState-enum"><b>ButtonState</b></a> { NoButton = 0x0000, LeftButton = 0x0001, RightButton = 0x0002, MidButton = 0x0004, MouseButtonMask = 0x0007, ShiftButton = 0x0100, ControlButton = 0x0200, AltButton = 0x0400, MetaButton = 0x0800, KeyButtonMask = 0x0f00, Keypad = 0x4000 }</li>
+<li class=fn>enum <a href="#Orientation-enum"><b>Orientation</b></a> { Horizontal = 0, Vertical }</li>
+<li class=fn>enum <a href="#SortOrder-enum"><b>SortOrder</b></a> { Ascending, Descending }</li>
+<li class=fn>enum <a href="#AlignmentFlags-enum"><b>AlignmentFlags</b></a> { AlignAuto = 0x0000, AlignLeft = 0x0001, AlignRight = 0x0002, AlignHCenter = 0x0004, AlignJustify = 0x0008, AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify, AlignTop = 0x0010, AlignBottom = 0x0020, AlignVCenter = 0x0040, AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, AlignCenter = AlignVCenter | AlignHCenter }</li>
+<li class=fn>enum <a href="#TextFlags-enum"><b>TextFlags</b></a> { SingleLine = 0x0080, DontClip = 0x0100, ExpandTabs = 0x0200, ShowPrefix = 0x0400, WordBreak = 0x0800, BreakAnywhere = 0x1000, NoAccel = 0x4000 }</li>
+<li class=fn>enum <a href="#WidgetState-enum"><b>WidgetState</b></a> { WState_Created = 0x00000001, WState_Disabled = 0x00000002, WState_Visible = 0x00000004, WState_ForceHide = 0x00000008, WState_OwnCursor = 0x00000010, WState_MouseTracking = 0x00000020, WState_CompressKeys = 0x00000040, WState_BlockUpdates = 0x00000080, WState_InPaintEvent = 0x00000100, WState_Reparented = 0x00000200, WState_ConfigPending = 0x00000400, WState_Resized = 0x00000800, WState_AutoMask = 0x00001000, WState_Polished = 0x00002000, WState_DND = 0x00004000, WState_Reserved0 = 0x00008000, WState_FullScreen = 0x00010000, WState_OwnSizePolicy = 0x00020000, WState_CreatedHidden = 0x00040000, WState_Maximized = 0x00080000, WState_Minimized = 0x00100000, WState_ForceDisabled = 0x00200000, WState_Exposed = 0x00400000, WState_HasMouse = 0x00800000 }</li>
+<li class=fn>enum <a href="#WidgetFlags-enum"><b>WidgetFlags</b></a> { WType_TopLevel = 0x00000001, WType_Dialog = 0x00000002, WType_Popup = 0x00000004, WType_Desktop = 0x00000008, WType_Mask = 0x0000000f, WStyle_Customize = 0x00000010, WStyle_NormalBorder = 0x00000020, WStyle_DialogBorder = 0x00000040, WStyle_NoBorder = 0x00002000, WStyle_Title = 0x00000080, WStyle_SysMenu = 0x00000100, WStyle_Minimize = 0x00000200, WStyle_Maximize = 0x00000400, WStyle_MinMax = WStyle_Minimize | WStyle_Maximize, WStyle_Tool = 0x00000800, WStyle_StaysOnTop = 0x00001000, WStyle_ContextHelp = 0x00004000, WStyle_Reserved = 0x00008000, WStyle_Mask = 0x0000fff0, WDestructiveClose = 0x00010000, WPaintDesktop = 0x00020000, WPaintUnclipped = 0x00040000, WPaintClever = 0x00080000, WResizeNoErase = 0x00100000, WMouseNoMask = 0x00200000, WStaticContents = 0x00400000, WRepaintNoErase = 0x00800000, WX11BypassWM = 0x01000000, WWinOwnDC = 0x00000000, WMacNoSheet = 0x00000000, WMacDrawer = 0x00000000, WX11BypassWM = 0x00000000, WWinOwnDC = 0x01000000, WMacNoSheet = 0x00000000, WMacDrawer = 0x00000000, WGroupLeader = 0x02000000, WShowModal = 0x04000000, WNoMousePropagation = 0x08000000, WSubWindow = 0x10000000, WStyle_Splash = 0x20000000, WNoAutoErase = WRepaintNoErase | WResizeNoErase, WNorthWestGravity = WStaticContents, WType_Modal = WType_Dialog | WShowModal, WStyle_Dialog = WType_Dialog, WStyle_NoBorderEx = WStyle_NoBorder }</li>
+<li class=fn>enum <a href="#WindowState-enum"><b>WindowState</b></a> { WindowNoState = 0x00000000, WindowMinimized = 0x00000001, WindowMaximized = 0x00000002, WindowFullScreen = 0x00000004, WindowActive = 0x00000008 }</li>
+<li class=fn>enum <a href="#ImageConversionFlags-enum"><b>ImageConversionFlags</b></a> { ColorMode_Mask = 0x00000003, AutoColor = 0x00000000, ColorOnly = 0x00000003, MonoOnly = 0x00000002, AlphaDither_Mask = 0x0000000c, ThresholdAlphaDither = 0x00000000, OrderedAlphaDither = 0x00000004, DiffuseAlphaDither = 0x00000008, NoAlpha = 0x0000000c, Dither_Mask = 0x00000030, DiffuseDither = 0x00000000, OrderedDither = 0x00000010, ThresholdDither = 0x00000020, DitherMode_Mask = 0x000000c0, AutoDither = 0x00000000, PreferDither = 0x00000040, AvoidDither = 0x00000080 }</li>
+<li class=fn>enum <a href="#BGMode-enum"><b>BGMode</b></a> { TransparentMode, OpaqueMode }</li>
+<li class=fn>enum <a href="#PaintUnit-enum"><b>PaintUnit</b></a> { PixelUnit, LoMetricUnit, HiMetricUnit, LoEnglishUnit, HiEnglishUnit, TwipsUnit }</li>
+<li class=fn>enum GUIStyle { MacStyle, WindowsStyle, Win3Style, PMStyle, MotifStyle } &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#SequenceMatch-enum"><b>SequenceMatch</b></a> { NoMatch, PartialMatch, Identical }</li>
+<li class=fn>enum <a href="#Modifier-enum"><b>Modifier</b></a> { META = 0x00100000, SHIFT = 0x00200000, CTRL = 0x00400000, ALT = 0x00800000, MODIFIER_MASK = 0x00f00000, UNICODE_ACCEL = 0x10000000, ASCII_ACCEL = UNICODE_ACCEL }</li>
+<li class=fn>enum <a href="#Key-enum"><b>Key</b></a> { Key_Escape = 0x1000, Key_Tab = 0x1001, Key_Backtab = 0x1002, Key_BackTab = Key_Backtab, Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace, Key_Return = 0x1004, Key_Enter = 0x1005, Key_Insert = 0x1006, Key_Delete = 0x1007, Key_Pause = 0x1008, Key_Print = 0x1009, Key_SysReq = 0x100a, Key_Clear = 0x100b, Key_Home = 0x1010, Key_End = 0x1011, Key_Left = 0x1012, Key_Up = 0x1013, Key_Right = 0x1014, Key_Down = 0x1015, Key_Prior = 0x1016, Key_PageUp = Key_Prior, Key_Next = 0x1017, Key_PageDown = Key_Next, Key_Shift = 0x1020, Key_Control = 0x1021, Key_Meta = 0x1022, Key_Alt = 0x1023, Key_CapsLock = 0x1024, Key_NumLock = 0x1025, Key_ScrollLock = 0x1026, Key_F1 = 0x1030, Key_F2 = 0x1031, Key_F3 = 0x1032, Key_F4 = 0x1033, Key_F5 = 0x1034, Key_F6 = 0x1035, Key_F7 = 0x1036, Key_F8 = 0x1037, Key_F9 = 0x1038, Key_F10 = 0x1039, Key_F11 = 0x103a, Key_F12 = 0x103b, Key_F13 = 0x103c, Key_F14 = 0x103d, Key_F15 = 0x103e, Key_F16 = 0x103f, Key_F17 = 0x1040, Key_F18 = 0x1041, Key_F19 = 0x1042, Key_F20 = 0x1043, Key_F21 = 0x1044, Key_F22 = 0x1045, Key_F23 = 0x1046, Key_F24 = 0x1047, Key_F25 = 0x1048, Key_F26 = 0x1049, Key_F27 = 0x104a, Key_F28 = 0x104b, Key_F29 = 0x104c, Key_F30 = 0x104d, Key_F31 = 0x104e, Key_F32 = 0x104f, Key_F33 = 0x1050, Key_F34 = 0x1051, Key_F35 = 0x1052, Key_Super_L = 0x1053, Key_Super_R = 0x1054, Key_Menu = 0x1055, Key_Hyper_L = 0x1056, Key_Hyper_R = 0x1057, Key_Help = 0x1058, Key_Direction_L = 0x1059, Key_Direction_R = 0x1060, Key_Space = 0x20, Key_Any = Key_Space, Key_Exclam = 0x21, Key_QuoteDbl = 0x22, Key_NumberSign = 0x23, Key_Dollar = 0x24, Key_Percent = 0x25, Key_Ampersand = 0x26, Key_Apostrophe = 0x27, Key_ParenLeft = 0x28, Key_ParenRight = 0x29, Key_Asterisk = 0x2a, Key_Plus = 0x2b, Key_Comma = 0x2c, Key_Minus = 0x2d, Key_Period = 0x2e, Key_Slash = 0x2f, Key_0 = 0x30, Key_1 = 0x31, Key_2 = 0x32, Key_3 = 0x33, Key_4 = 0x34, Key_5 = 0x35, Key_6 = 0x36, Key_7 = 0x37, Key_8 = 0x38, Key_9 = 0x39, Key_Colon = 0x3a, Key_Semicolon = 0x3b, Key_Less = 0x3c, Key_Equal = 0x3d, Key_Greater = 0x3e, Key_Question = 0x3f, Key_At = 0x40, Key_A = 0x41, Key_B = 0x42, Key_C = 0x43, Key_D = 0x44, Key_E = 0x45, Key_F = 0x46, Key_G = 0x47, Key_H = 0x48, Key_I = 0x49, Key_J = 0x4a, Key_K = 0x4b, Key_L = 0x4c, Key_M = 0x4d, Key_N = 0x4e, Key_O = 0x4f, Key_P = 0x50, Key_Q = 0x51, Key_R = 0x52, Key_S = 0x53, Key_T = 0x54, Key_U = 0x55, Key_V = 0x56, Key_W = 0x57, Key_X = 0x58, Key_Y = 0x59, Key_Z = 0x5a, Key_BracketLeft = 0x5b, Key_Backslash = 0x5c, Key_BracketRight = 0x5d, Key_AsciiCircum = 0x5e, Key_Underscore = 0x5f, Key_QuoteLeft = 0x60, Key_BraceLeft = 0x7b, Key_Bar = 0x7c, Key_BraceRight = 0x7d, Key_AsciiTilde = 0x7e, Key_nobreakspace = 0x0a0, Key_exclamdown = 0x0a1, Key_cent = 0x0a2, Key_sterling = 0x0a3, Key_currency = 0x0a4, Key_yen = 0x0a5, Key_brokenbar = 0x0a6, Key_section = 0x0a7, Key_diaeresis = 0x0a8, Key_copyright = 0x0a9, Key_ordfeminine = 0x0aa, Key_guillemotleft = 0x0ab, Key_notsign = 0x0ac, Key_hyphen = 0x0ad, Key_registered = 0x0ae, Key_macron = 0x0af, Key_degree = 0x0b0, Key_plusminus = 0x0b1, Key_twosuperior = 0x0b2, Key_threesuperior = 0x0b3, Key_acute = 0x0b4, Key_mu = 0x0b5, Key_paragraph = 0x0b6, Key_periodcentered = 0x0b7, Key_cedilla = 0x0b8, Key_onesuperior = 0x0b9, Key_masculine = 0x0ba, Key_guillemotright = 0x0bb, Key_onequarter = 0x0bc, Key_onehalf = 0x0bd, Key_threequarters = 0x0be, Key_questiondown = 0x0bf, Key_Agrave = 0x0c0, Key_Aacute = 0x0c1, Key_Acircumflex = 0x0c2, Key_Atilde = 0x0c3, Key_Adiaeresis = 0x0c4, Key_Aring = 0x0c5, Key_AE = 0x0c6, Key_Ccedilla = 0x0c7, Key_Egrave = 0x0c8, Key_Eacute = 0x0c9, Key_Ecircumflex = 0x0ca, Key_Ediaeresis = 0x0cb, Key_Igrave = 0x0cc, Key_Iacute = 0x0cd, Key_Icircumflex = 0x0ce, Key_Idiaeresis = 0x0cf, Key_ETH = 0x0d0, Key_Ntilde = 0x0d1, Key_Ograve = 0x0d2, Key_Oacute = 0x0d3, Key_Ocircumflex = 0x0d4, Key_Otilde = 0x0d5, Key_Odiaeresis = 0x0d6, Key_multiply = 0x0d7, Key_Ooblique = 0x0d8, Key_Ugrave = 0x0d9, Key_Uacute = 0x0da, Key_Ucircumflex = 0x0db, Key_Udiaeresis = 0x0dc, Key_Yacute = 0x0dd, Key_THORN = 0x0de, Key_ssharp = 0x0df, Key_agrave = 0x0e0, Key_aacute = 0x0e1, Key_acircumflex = 0x0e2, Key_atilde = 0x0e3, Key_adiaeresis = 0x0e4, Key_aring = 0x0e5, Key_ae = 0x0e6, Key_ccedilla = 0x0e7, Key_egrave = 0x0e8, Key_eacute = 0x0e9, Key_ecircumflex = 0x0ea, Key_ediaeresis = 0x0eb, Key_igrave = 0x0ec, Key_iacute = 0x0ed, Key_icircumflex = 0x0ee, Key_idiaeresis = 0x0ef, Key_eth = 0x0f0, Key_ntilde = 0x0f1, Key_ograve = 0x0f2, Key_oacute = 0x0f3, Key_ocircumflex = 0x0f4, Key_otilde = 0x0f5, Key_odiaeresis = 0x0f6, Key_division = 0x0f7, Key_oslash = 0x0f8, Key_ugrave = 0x0f9, Key_uacute = 0x0fa, Key_ucircumflex = 0x0fb, Key_udiaeresis = 0x0fc, Key_yacute = 0x0fd, Key_thorn = 0x0fe, Key_ydiaeresis = 0x0ff, Key_Back = 0x1061, Key_Forward = 0x1062, Key_Stop = 0x1063, Key_Refresh = 0x1064, Key_VolumeDown = 0x1070, Key_VolumeMute = 0x1071, Key_VolumeUp = 0x1072, Key_BassBoost = 0x1073, Key_BassUp = 0x1074, Key_BassDown = 0x1075, Key_TrebleUp = 0x1076, Key_TrebleDown = 0x1077, Key_MediaPlay = 0x1080, Key_MediaStop = 0x1081, Key_MediaPrev = 0x1082, Key_MediaNext = 0x1083, Key_MediaRecord = 0x1084, Key_HomePage = 0x1090, Key_Favorites = 0x1091, Key_Search = 0x1092, Key_Standby = 0x1093, Key_OpenUrl = 0x1094, Key_LaunchMail = 0x10a0, Key_LaunchMedia = 0x10a1, Key_Launch0 = 0x10a2, Key_Launch1 = 0x10a3, Key_Launch2 = 0x10a4, Key_Launch3 = 0x10a5, Key_Launch4 = 0x10a6, Key_Launch5 = 0x10a7, Key_Launch6 = 0x10a8, Key_Launch7 = 0x10a9, Key_Launch8 = 0x10aa, Key_Launch9 = 0x10ab, Key_LaunchA = 0x10ac, Key_LaunchB = 0x10ad, Key_LaunchC = 0x10ae, Key_LaunchD = 0x10af, Key_LaunchE = 0x10b0, Key_LaunchF = 0x10b1, Key_MediaLast = 0x1fff, Key_unknown = 0xffff }</li>
+<li class=fn>enum <a href="#ArrowType-enum"><b>ArrowType</b></a> { UpArrow, DownArrow, LeftArrow, RightArrow }</li>
+<li class=fn>enum <a href="#RasterOp-enum"><b>RasterOp</b></a> { CopyROP, OrROP, XorROP, NotAndROP, EraseROP = NotAndROP, NotCopyROP, NotOrROP, NotXorROP, AndROP, NotEraseROP = AndROP, NotROP, ClearROP, SetROP, NopROP, AndNotROP, OrNotROP, NandROP, NorROP, LastROP = NorROP }</li>
+<li class=fn>enum <a href="#PenStyle-enum"><b>PenStyle</b></a> { NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine, MPenStyle = 0x0f }</li>
+<li class=fn>enum <a href="#PenCapStyle-enum"><b>PenCapStyle</b></a> { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }</li>
+<li class=fn>enum <a href="#PenJoinStyle-enum"><b>PenJoinStyle</b></a> { MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, MPenJoinStyle = 0xc0 }</li>
+<li class=fn>enum <a href="#BrushStyle-enum"><b>BrushStyle</b></a> { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, HorPattern, VerPattern, CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern, CustomPattern = 24 }</li>
+<li class=fn>enum <a href="#MacintoshVersion-enum"><b>MacintoshVersion</b></a> { MV_Unknown = 0x0000, MV_9 = 0x0001, MV_10_DOT_0 = 0x0002, MV_10_DOT_1 = 0x0003, MV_10_DOT_2 = 0x0004, MV_10_DOT_3 = 0x0005, MV_10_DOT_4 = 0x0006, MV_CHEETAH = MV_10_DOT_0, MV_PUMA = MV_10_DOT_1, MV_JAGUAR = MV_10_DOT_2, MV_PANTHER = MV_10_DOT_3, MV_TIGER = MV_10_DOT_4 }</li>
+<li class=fn>enum <a href="#WindowsVersion-enum"><b>WindowsVersion</b></a> { WV_32s = 0x0001, WV_95 = 0x0002, WV_98 = 0x0003, WV_Me = 0x0004, WV_DOS_based = 0x000f, WV_NT = 0x0010, WV_2000 = 0x0020, WV_XP = 0x0030, WV_2003 = 0x0040, WV_VISTA = 0x0080, WV_NT_based = 0x00f0, WV_CE = 0x0100, WV_CENET = 0x0200, WV_CE_based = 0x0f00 }</li>
+<li class=fn>enum <a href="#UIEffect-enum"><b>UIEffect</b></a> { UI_General, UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }</li>
+<li class=fn>enum <a href="#CursorShape-enum"><b>CursorShape</b></a> { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, BusyCursor, LastCursor = BusyCursor, BitmapCursor = 24 }</li>
+<li class=fn>enum <a href="#TextFormat-enum"><b>TextFormat</b></a> { PlainText, RichText, AutoText, LogText }</li>
+<li class=fn>enum <a href="#AnchorAttribute-enum"><b>AnchorAttribute</b></a> { AnchorName, AnchorHref }</li>
+<li class=fn>enum <a href="#Dock-enum"><b>Dock</b></a> { DockUnmanaged, DockTornOff, DockTop, DockBottom, DockRight, DockLeft, DockMinimized, Unmanaged = DockUnmanaged, TornOff = DockTornOff, Top = DockTop, Bottom = DockBottom, Right = DockRight, Left = DockLeft, Minimized = DockMinimized }</li>
+<li class=fn>enum <a href="#DateFormat-enum"><b>DateFormat</b></a> { TextDate, ISODate, LocalDate }</li>
+<li class=fn>enum <a href="#TimeSpec-enum"><b>TimeSpec</b></a> { LocalTime, UTC }</li>
+<li class=fn>enum <a href="#BackgroundMode-enum"><b>BackgroundMode</b></a> { FixedColor, FixedPixmap, NoBackground, PaletteForeground, PaletteButton, PaletteLight, PaletteMidlight, PaletteDark, PaletteMid, PaletteText, PaletteBrightText, PaletteBase, PaletteBackground, PaletteShadow, PaletteHighlight, PaletteHighlightedText, PaletteButtonText, PaletteLink, PaletteLinkVisited, X11ParentRelative }</li>
+<li class=fn>enum <a href="#StringComparisonMode-enum"><b>StringComparisonMode</b></a> { CaseSensitive = 0x00001, BeginsWith = 0x00002, EndsWith = 0x00004, Contains = 0x00008, ExactMatch = 0x00010 }</li>
+<li class=fn>enum <a href="#Corner-enum"><b>Corner</b></a> { TopLeft = 0x00000, TopRight = 0x00001, BottomLeft = 0x00002, BottomRight = 0x00003 }</li>
+<li class=fn>typedef void&nbsp;*&nbsp;<b>HANDLE</b></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The Qt class is a namespace for miscellaneous identifiers
+that need to be global-like.
+<p>
+<p> Normally, you can ignore this class. <a href="qobject.html">QObject</a> and a few other
+classes inherit it, so all the identifiers in the Qt namespace are
+normally usable without qualification.
+<p> However, you may occasionally need to say <tt>Qt::black</tt> instead of
+just <tt>black</tt>, particularly in static utility functions (such as
+many class factories).
+<p> <p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="AlignmentFlags-enum"></a>Qt::AlignmentFlags</h3>
+
+<p> This enum type is used to describe alignment. It contains
+horizontal and vertical flags.
+<p> The horizontal flags are:
+<ul>
+<li><tt>Qt::AlignAuto</tt> - Aligns according to the language. Left for most,
+right for Arabic and Hebrew.
+<li><tt>Qt::AlignLeft</tt> - Aligns with the left edge.
+<li><tt>Qt::AlignRight</tt> - Aligns with the right edge.
+<li><tt>Qt::AlignHCenter</tt> - Centers horizontally in the available space.
+<li><tt>Qt::AlignJustify</tt> - Justifies the text in the available space.
+Does not work for everything and may be interpreted as
+AlignAuto in some cases.
+</ul><p> The vertical flags are:
+<ul>
+<li><tt>Qt::AlignTop</tt> - Aligns with the top.
+<li><tt>Qt::AlignBottom</tt> - Aligns with the bottom.
+<li><tt>Qt::AlignVCenter</tt> - Centers vertically in the available space.
+</ul><p> You can use only one of the horizontal flags at a time. There is
+one two-dimensional flag:
+<ul>
+<li><tt>Qt::AlignCenter</tt> - Centers in both dimensions.
+</ul><p> You can use at most one horizontal and one vertical flag at a time. <a href="#AlignmentFlags-enum">AlignCenter</a> counts as both horizontal and vertical.
+<p> Masks:
+<ul>
+<li><tt>Qt::AlignHorizontal_Mask</tt>
+<li><tt>Qt::AlignVertical_Mask</tt>
+</ul><p> Conflicting combinations of flags have undefined meanings.
+
+<h3 class=fn><a name="AnchorAttribute-enum"></a>Qt::AnchorAttribute</h3>
+
+<p> An anchor has one or more of the following attributes:
+<ul>
+<li><tt>Qt::AnchorName</tt> - the name attribute of the anchor. This attribute is
+used when scrolling to an anchor in the document.
+<li><tt>Qt::AnchorHref</tt> - the href attribute of the anchor. This attribute is
+used when a link is clicked to determine what content to load.
+</ul>
+<h3 class=fn><a name="ArrowType-enum"></a>Qt::ArrowType</h3>
+
+<ul>
+<li><tt>Qt::UpArrow</tt>
+<li><tt>Qt::DownArrow</tt>
+<li><tt>Qt::LeftArrow</tt>
+<li><tt>Qt::RightArrow</tt>
+</ul><p>
+<h3 class=fn><a name="BGMode-enum"></a>Qt::BGMode</h3>
+
+<p> Background mode
+<ul>
+<li><tt>Qt::TransparentMode</tt>
+<li><tt>Qt::OpaqueMode</tt>
+</ul>
+<h3 class=fn><a name="BackgroundMode-enum"></a>Qt::BackgroundMode</h3>
+
+<p> This enum describes how the background of a widget changes, as the
+widget's palette changes.
+<p> The background is what the widget contains when <a href="qwidget.html#paintEvent">paintEvent()</a> is called. To minimize
+flicker, this should be the most common color or pixmap in the
+widget. For <a href="#BackgroundMode-enum">PaletteBackground</a>, use colorGroup().brush( <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::Background</a> ), and so on.
+<ul>
+<li><tt>Qt::PaletteForeground</tt>
+<li><tt>Qt::PaletteBackground</tt>
+<li><tt>Qt::PaletteButton</tt>
+<li><tt>Qt::PaletteLight</tt>
+<li><tt>Qt::PaletteMidlight</tt>
+<li><tt>Qt::PaletteDark</tt>
+<li><tt>Qt::PaletteMid</tt>
+<li><tt>Qt::PaletteText</tt>
+<li><tt>Qt::PaletteBrightText</tt>
+<li><tt>Qt::PaletteButtonText</tt>
+<li><tt>Qt::PaletteBase</tt>
+<li><tt>Qt::PaletteShadow</tt>
+<li><tt>Qt::PaletteHighlight</tt>
+<li><tt>Qt::PaletteHighlightedText</tt>
+<li><tt>Qt::PaletteLink</tt>
+<li><tt>Qt::PaletteLinkVisited</tt>
+<li><tt>Qt::X11ParentRelative</tt> - (internal use only)
+</ul><p> The final three values have special meaning:
+<ul>
+<li><tt>Qt::NoBackground</tt> - the widget is not cleared before paintEvent().
+If the widget's paint event always draws on all the pixels, using
+this mode can be both fast and flicker-free.
+<li><tt>Qt::FixedColor</tt> - the widget is cleared to a fixed color, normally
+different from all the ones in the palette(). Set using <a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor()</a>.
+<li><tt>Qt::FixedPixmap</tt> - the widget is cleared to a fixed pixmap,
+normally different from all the ones in the palette(). Set using
+<a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap()</a>.
+</ul><p> Although <a href="#BackgroundMode-enum">FixedColor</a> and <a href="#BackgroundMode-enum">FixedPixmap</a> are sometimes just
+right, if you use them, make sure that you test your application
+when the desktop color scheme has been changed. (On X11, a quick
+way to test this is e.g. "./myapp -bg paleblue". On Windows, you
+must use the control panel.)
+<p> <p>See also <a href="qwidget.html#backgroundMode-prop">QWidget::backgroundMode</a>, <a href="qwidget.html#backgroundMode-prop">QWidget::backgroundMode</a>, <a href="qwidget.html#setBackgroundPixmap">QWidget::setBackgroundPixmap</a>(), and <a href="qwidget.html#paletteBackgroundColor-prop">QWidget::paletteBackgroundColor</a>.
+
+<h3 class=fn><a name="BrushStyle-enum"></a>Qt::BrushStyle</h3>
+
+<ul>
+<li><tt>Qt::NoBrush</tt>
+<li><tt>Qt::SolidPattern</tt>
+<li><tt>Qt::Dense1Pattern</tt>
+<li><tt>Qt::Dense2Pattern</tt>
+<li><tt>Qt::Dense3Pattern</tt>
+<li><tt>Qt::Dense4Pattern</tt>
+<li><tt>Qt::Dense5Pattern</tt>
+<li><tt>Qt::Dense6Pattern</tt>
+<li><tt>Qt::Dense7Pattern</tt>
+<li><tt>Qt::HorPattern</tt>
+<li><tt>Qt::VerPattern</tt>
+<li><tt>Qt::CrossPattern</tt>
+<li><tt>Qt::BDiagPattern</tt>
+<li><tt>Qt::FDiagPattern</tt>
+<li><tt>Qt::DiagCrossPattern</tt>
+<li><tt>Qt::CustomPattern</tt>
+</ul><p> <center><img src="brush-styles.png" alt="Brush Styles"></center>
+<p>
+<h3 class=fn><a name="ButtonState-enum"></a>Qt::ButtonState</h3>
+
+<p> This enum type describes the state of the mouse and the modifier
+buttons.
+<ul>
+<li><tt>Qt::NoButton</tt> - used when the button state does not refer to any
+button (see <a href="qmouseevent.html#button">QMouseEvent::button</a>()).
+<li><tt>Qt::LeftButton</tt> - set if the left button is pressed, or if this
+event refers to the left button. (The left button may be
+the right button on left-handed mice.)
+<li><tt>Qt::RightButton</tt> - the right button.
+<li><tt>Qt::MidButton</tt> - the middle button.
+<li><tt>Qt::ShiftButton</tt> - a Shift key on the keyboard is also pressed.
+<li><tt>Qt::ControlButton</tt> - a Ctrl key on the keyboard is also pressed.
+<li><tt>Qt::AltButton</tt> - an Alt key on the keyboard is also pressed.
+<li><tt>Qt::MetaButton</tt> - a Meta key on the keyboard is also pressed.
+<li><tt>Qt::Keypad</tt> - a keypad button is pressed.
+<li><tt>Qt::KeyButtonMask</tt> - a mask for ShiftButton, ControlButton,
+AltButton and MetaButton.
+<li><tt>Qt::MouseButtonMask</tt> - a mask for LeftButton, RightButton and MidButton.
+</ul>
+<h3 class=fn><a name="Corner-enum"></a>Qt::Corner</h3>
+
+This enum type specifies a corner in a rectangle:
+<ul>
+<li><tt>Qt::TopLeft</tt> - top left corner
+<li><tt>Qt::TopRight</tt> - top right corner
+<li><tt>Qt::BottomLeft</tt> - bottom left corner
+<li><tt>Qt::BottomRight</tt> - bottom right corner
+</ul>
+<h3 class=fn><a name="CursorShape-enum"></a>Qt::CursorShape</h3>
+
+<p> This enum type defines the various cursors that can be used.
+<ul>
+<li><tt>Qt::ArrowCursor</tt> - standard arrow cursor
+<li><tt>Qt::UpArrowCursor</tt> - upwards arrow
+<li><tt>Qt::CrossCursor</tt> - crosshair
+<li><tt>Qt::WaitCursor</tt> - hourglass/watch
+<li><tt>Qt::BusyCursor</tt> - standard arrow with hourglass/watch
+<li><tt>Qt::IbeamCursor</tt> - ibeam/text entry
+<li><tt>Qt::SizeVerCursor</tt> - vertical resize
+<li><tt>Qt::SizeHorCursor</tt> - horizontal resize
+<li><tt>Qt::SizeFDiagCursor</tt> - diagonal resize (&#92;)
+<li><tt>Qt::SizeBDiagCursor</tt> - diagonal resize (/)
+<li><tt>Qt::SizeAllCursor</tt> - all directions resize
+<li><tt>Qt::BlankCursor</tt> - blank/invisible cursor
+<li><tt>Qt::SplitVCursor</tt> - vertical splitting
+<li><tt>Qt::SplitHCursor</tt> - horizontal splitting
+<li><tt>Qt::PointingHandCursor</tt> - a pointing hand
+<li><tt>Qt::ForbiddenCursor</tt> - a slashed circle
+<li><tt>Qt::WhatsThisCursor</tt> - an arrow with a question mark
+<li><tt>Qt::BitmapCursor</tt>
+</ul><p> ArrowCursor is the default for widgets in a normal state.
+<p> <center><img src="cursors.png" alt="Cursor Shapes"></center>
+<h3 class=fn><a name="DateFormat-enum"></a>Qt::DateFormat</h3>
+
+<ul>
+<li><tt>Qt::TextDate</tt> - (default) Qt format
+<li><tt>Qt::ISODate</tt> - ISO 8601 extended format (YYYY-MM-DD, or with time,
+YYYY-MM-DDTHH:MM:SS)
+<li><tt>Qt::LocalDate</tt> - locale dependent format
+</ul>
+<h3 class=fn><a name="Dock-enum"></a>Qt::Dock</h3>
+
+<p> Each dock window can be in one of the following positions:
+<ul>
+<li><tt>Qt::DockTop</tt> - above the central widget, below the menu bar.
+<li><tt>Qt::DockBottom</tt> - below the central widget, above the status bar.
+<li><tt>Qt::DockLeft</tt> - to the left of the central widget.
+<li><tt>Qt::DockRight</tt> - to the right of the central widget.
+<li><tt>Qt::DockMinimized</tt> - the dock window is not shown (this is
+effectively a 'hidden' dock area); the handles of all minimized
+dock windows are drawn in one row below the menu bar.
+<li><tt>Qt::DockTornOff</tt> - the dock window floats as its own top level
+window which always stays on top of the main window.
+<li><tt>Qt::DockUnmanaged</tt> - not managed by a <a href="qmainwindow.html">QMainWindow</a>.
+</ul>
+<h3 class=fn><a name="GUIStyle-enum"></a>Qt::GUIStyle</h3>
+
+<p> <b>This type is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> <ul>
+<li><tt>Qt::WindowsStyle</tt>
+<li><tt>Qt::MotifStyle</tt>
+<li><tt>Qt::MacStyle</tt>
+<li><tt>Qt::Win3Style</tt>
+<li><tt>Qt::PMStyle</tt>
+</ul>
+<h3 class=fn><a name="ImageConversionFlags-enum"></a>Qt::ImageConversionFlags</h3>
+
+<p> The conversion flag is a bitwise-OR of the following values. The
+options marked "(default)" are set if no other values from the
+list are included (since the defaults are zero):
+<p> Color/Mono preference (ignored for <a href="qbitmap.html">QBitmap</a>)
+<ul>
+<li><tt>Qt::AutoColor</tt> - (default) - If the image has <a href="qimage.html#depth">depth</a> 1 and contains only
+black and white pixels, the pixmap becomes monochrome.
+<li><tt>Qt::ColorOnly</tt> - The pixmap is dithered/converted to the
+<a href="qpixmap.html#defaultDepth">native display depth</a>.
+<li><tt>Qt::MonoOnly</tt> - The pixmap becomes monochrome. If necessary,
+it is dithered using the chosen dithering algorithm.
+</ul><p> Dithering mode preference for RGB channels
+<ul>
+<li><tt>Qt::DiffuseDither</tt> - (default) - A high-quality dither.
+<li><tt>Qt::OrderedDither</tt> - A faster, more ordered dither.
+<li><tt>Qt::ThresholdDither</tt> - No dithering; closest color is used.
+</ul><p> Dithering mode preference for alpha channel
+<ul>
+<li><tt>Qt::ThresholdAlphaDither</tt> - (default) - No dithering.
+<li><tt>Qt::OrderedAlphaDither</tt> - A faster, more ordered dither.
+<li><tt>Qt::DiffuseAlphaDither</tt> - A high-quality dither.
+<li><tt>Qt::NoAlpha</tt> - Not supported.
+</ul><p> Color matching versus dithering preference
+<ul>
+<li><tt>Qt::PreferDither</tt> - (default when converting to a pixmap) - Always dither
+32-bit images when the image is converted to 8 bits.
+<li><tt>Qt::AvoidDither</tt> - (default when converting for the purpose of saving to
+file) - Dither 32-bit images only if the image has more than 256
+colors and it is being converted to 8 bits.
+<li><tt>Qt::AutoDither</tt> - Not supported.
+</ul><p> The following are not values that are used directly, but masks for
+the above classes:
+<ul>
+<li><tt>Qt::ColorMode_Mask</tt> - Mask for the color mode.
+<li><tt>Qt::Dither_Mask</tt> - Mask for the dithering mode for RGB channels.
+<li><tt>Qt::AlphaDither_Mask</tt> - Mask for the dithering mode for the alpha channel.
+<li><tt>Qt::DitherMode_Mask</tt> - Mask for the mode that determines the preference of
+color matching versus dithering.
+</ul><p> Using 0 as the conversion flag sets all the default options.
+
+<h3 class=fn><a name="Key-enum"></a>Qt::Key</h3>
+
+<p> The key names used by Qt.
+<ul>
+<li><tt>Qt::Key_Escape</tt>
+<li><tt>Qt::Key_Tab</tt>
+<li><tt>Qt::Key_Backtab</tt>
+<li><tt>Qt::Key_Backspace</tt>
+<li><tt>Qt::Key_Return</tt>
+<li><tt>Qt::Key_Enter</tt>
+<li><tt>Qt::Key_Insert</tt>
+<li><tt>Qt::Key_Delete</tt>
+<li><tt>Qt::Key_Pause</tt>
+<li><tt>Qt::Key_Print</tt>
+<li><tt>Qt::Key_SysReq</tt>
+<li><tt>Qt::Key_Home</tt>
+<li><tt>Qt::Key_End</tt>
+<li><tt>Qt::Key_Left</tt>
+<li><tt>Qt::Key_Up</tt>
+<li><tt>Qt::Key_Right</tt>
+<li><tt>Qt::Key_Down</tt>
+<li><tt>Qt::Key_Prior</tt>
+<li><tt>Qt::Key_Next</tt>
+<li><tt>Qt::Key_Shift</tt>
+<li><tt>Qt::Key_Control</tt>
+<li><tt>Qt::Key_Meta</tt>
+<li><tt>Qt::Key_Alt</tt>
+<li><tt>Qt::Key_CapsLock</tt>
+<li><tt>Qt::Key_NumLock</tt>
+<li><tt>Qt::Key_ScrollLock</tt>
+<li><tt>Qt::Key_Clear</tt>
+<li><tt>Qt::Key_F1</tt>
+<li><tt>Qt::Key_F2</tt>
+<li><tt>Qt::Key_F3</tt>
+<li><tt>Qt::Key_F4</tt>
+<li><tt>Qt::Key_F5</tt>
+<li><tt>Qt::Key_F6</tt>
+<li><tt>Qt::Key_F7</tt>
+<li><tt>Qt::Key_F8</tt>
+<li><tt>Qt::Key_F9</tt>
+<li><tt>Qt::Key_F10</tt>
+<li><tt>Qt::Key_F11</tt>
+<li><tt>Qt::Key_F12</tt>
+<li><tt>Qt::Key_F13</tt>
+<li><tt>Qt::Key_F14</tt>
+<li><tt>Qt::Key_F15</tt>
+<li><tt>Qt::Key_F16</tt>
+<li><tt>Qt::Key_F17</tt>
+<li><tt>Qt::Key_F18</tt>
+<li><tt>Qt::Key_F19</tt>
+<li><tt>Qt::Key_F20</tt>
+<li><tt>Qt::Key_F21</tt>
+<li><tt>Qt::Key_F22</tt>
+<li><tt>Qt::Key_F23</tt>
+<li><tt>Qt::Key_F24</tt>
+<li><tt>Qt::Key_F25</tt>
+<li><tt>Qt::Key_F26</tt>
+<li><tt>Qt::Key_F27</tt>
+<li><tt>Qt::Key_F28</tt>
+<li><tt>Qt::Key_F29</tt>
+<li><tt>Qt::Key_F30</tt>
+<li><tt>Qt::Key_F31</tt>
+<li><tt>Qt::Key_F32</tt>
+<li><tt>Qt::Key_F33</tt>
+<li><tt>Qt::Key_F34</tt>
+<li><tt>Qt::Key_F35</tt>
+<li><tt>Qt::Key_Super_L</tt>
+<li><tt>Qt::Key_Super_R</tt>
+<li><tt>Qt::Key_Menu</tt>
+<li><tt>Qt::Key_Hyper_L</tt>
+<li><tt>Qt::Key_Hyper_R</tt>
+<li><tt>Qt::Key_Help</tt>
+<li><tt>Qt::Key_Space</tt>
+<li><tt>Qt::Key_Any</tt>
+<li><tt>Qt::Key_Exclam</tt>
+<li><tt>Qt::Key_QuoteDbl</tt>
+<li><tt>Qt::Key_NumberSign</tt>
+<li><tt>Qt::Key_Dollar</tt>
+<li><tt>Qt::Key_Percent</tt>
+<li><tt>Qt::Key_Ampersand</tt>
+<li><tt>Qt::Key_Apostrophe</tt>
+<li><tt>Qt::Key_ParenLeft</tt>
+<li><tt>Qt::Key_ParenRight</tt>
+<li><tt>Qt::Key_Asterisk</tt>
+<li><tt>Qt::Key_Plus</tt>
+<li><tt>Qt::Key_Comma</tt>
+<li><tt>Qt::Key_Minus</tt>
+<li><tt>Qt::Key_Period</tt>
+<li><tt>Qt::Key_Slash</tt>
+<li><tt>Qt::Key_0</tt>
+<li><tt>Qt::Key_1</tt>
+<li><tt>Qt::Key_2</tt>
+<li><tt>Qt::Key_3</tt>
+<li><tt>Qt::Key_4</tt>
+<li><tt>Qt::Key_5</tt>
+<li><tt>Qt::Key_6</tt>
+<li><tt>Qt::Key_7</tt>
+<li><tt>Qt::Key_8</tt>
+<li><tt>Qt::Key_9</tt>
+<li><tt>Qt::Key_Colon</tt>
+<li><tt>Qt::Key_Semicolon</tt>
+<li><tt>Qt::Key_Less</tt>
+<li><tt>Qt::Key_Equal</tt>
+<li><tt>Qt::Key_Greater</tt>
+<li><tt>Qt::Key_Question</tt>
+<li><tt>Qt::Key_At</tt>
+<li><tt>Qt::Key_A</tt>
+<li><tt>Qt::Key_B</tt>
+<li><tt>Qt::Key_C</tt>
+<li><tt>Qt::Key_D</tt>
+<li><tt>Qt::Key_E</tt>
+<li><tt>Qt::Key_F</tt>
+<li><tt>Qt::Key_G</tt>
+<li><tt>Qt::Key_H</tt>
+<li><tt>Qt::Key_I</tt>
+<li><tt>Qt::Key_J</tt>
+<li><tt>Qt::Key_K</tt>
+<li><tt>Qt::Key_L</tt>
+<li><tt>Qt::Key_M</tt>
+<li><tt>Qt::Key_N</tt>
+<li><tt>Qt::Key_O</tt>
+<li><tt>Qt::Key_P</tt>
+<li><tt>Qt::Key_Q</tt>
+<li><tt>Qt::Key_R</tt>
+<li><tt>Qt::Key_S</tt>
+<li><tt>Qt::Key_T</tt>
+<li><tt>Qt::Key_U</tt>
+<li><tt>Qt::Key_V</tt>
+<li><tt>Qt::Key_W</tt>
+<li><tt>Qt::Key_X</tt>
+<li><tt>Qt::Key_Y</tt>
+<li><tt>Qt::Key_Z</tt>
+<li><tt>Qt::Key_BracketLeft</tt>
+<li><tt>Qt::Key_Backslash</tt>
+<li><tt>Qt::Key_BracketRight</tt>
+<li><tt>Qt::Key_AsciiCircum</tt>
+<li><tt>Qt::Key_Underscore</tt>
+<li><tt>Qt::Key_QuoteLeft</tt>
+<li><tt>Qt::Key_BraceLeft</tt>
+<li><tt>Qt::Key_Bar</tt>
+<li><tt>Qt::Key_BraceRight</tt>
+<li><tt>Qt::Key_AsciiTilde</tt>
+<li><tt>Qt::Key_nobreakspace</tt>
+<li><tt>Qt::Key_exclamdown</tt>
+<li><tt>Qt::Key_cent</tt>
+<li><tt>Qt::Key_sterling</tt>
+<li><tt>Qt::Key_currency</tt>
+<li><tt>Qt::Key_yen</tt>
+<li><tt>Qt::Key_brokenbar</tt>
+<li><tt>Qt::Key_section</tt>
+<li><tt>Qt::Key_diaeresis</tt>
+<li><tt>Qt::Key_copyright</tt>
+<li><tt>Qt::Key_ordfeminine</tt>
+<li><tt>Qt::Key_guillemotleft</tt>
+<li><tt>Qt::Key_notsign</tt>
+<li><tt>Qt::Key_hyphen</tt>
+<li><tt>Qt::Key_registered</tt>
+<li><tt>Qt::Key_macron</tt>
+<li><tt>Qt::Key_degree</tt>
+<li><tt>Qt::Key_plusminus</tt>
+<li><tt>Qt::Key_twosuperior</tt>
+<li><tt>Qt::Key_threesuperior</tt>
+<li><tt>Qt::Key_acute</tt>
+<li><tt>Qt::Key_mu</tt>
+<li><tt>Qt::Key_paragraph</tt>
+<li><tt>Qt::Key_periodcentered</tt>
+<li><tt>Qt::Key_cedilla</tt>
+<li><tt>Qt::Key_onesuperior</tt>
+<li><tt>Qt::Key_masculine</tt>
+<li><tt>Qt::Key_guillemotright</tt>
+<li><tt>Qt::Key_onequarter</tt>
+<li><tt>Qt::Key_onehalf</tt>
+<li><tt>Qt::Key_threequarters</tt>
+<li><tt>Qt::Key_questiondown</tt>
+<li><tt>Qt::Key_Agrave</tt>
+<li><tt>Qt::Key_Aacute</tt>
+<li><tt>Qt::Key_Acircumflex</tt>
+<li><tt>Qt::Key_Atilde</tt>
+<li><tt>Qt::Key_Adiaeresis</tt>
+<li><tt>Qt::Key_Aring</tt>
+<li><tt>Qt::Key_AE</tt>
+<li><tt>Qt::Key_Ccedilla</tt>
+<li><tt>Qt::Key_Egrave</tt>
+<li><tt>Qt::Key_Eacute</tt>
+<li><tt>Qt::Key_Ecircumflex</tt>
+<li><tt>Qt::Key_Ediaeresis</tt>
+<li><tt>Qt::Key_Igrave</tt>
+<li><tt>Qt::Key_Iacute</tt>
+<li><tt>Qt::Key_Icircumflex</tt>
+<li><tt>Qt::Key_Idiaeresis</tt>
+<li><tt>Qt::Key_ETH</tt>
+<li><tt>Qt::Key_Ntilde</tt>
+<li><tt>Qt::Key_Ograve</tt>
+<li><tt>Qt::Key_Oacute</tt>
+<li><tt>Qt::Key_Ocircumflex</tt>
+<li><tt>Qt::Key_Otilde</tt>
+<li><tt>Qt::Key_Odiaeresis</tt>
+<li><tt>Qt::Key_multiply</tt>
+<li><tt>Qt::Key_Ooblique</tt>
+<li><tt>Qt::Key_Ugrave</tt>
+<li><tt>Qt::Key_Uacute</tt>
+<li><tt>Qt::Key_Ucircumflex</tt>
+<li><tt>Qt::Key_Udiaeresis</tt>
+<li><tt>Qt::Key_Yacute</tt>
+<li><tt>Qt::Key_THORN</tt>
+<li><tt>Qt::Key_ssharp</tt>
+<li><tt>Qt::Key_agrave</tt>
+<li><tt>Qt::Key_aacute</tt>
+<li><tt>Qt::Key_acircumflex</tt>
+<li><tt>Qt::Key_atilde</tt>
+<li><tt>Qt::Key_adiaeresis</tt>
+<li><tt>Qt::Key_aring</tt>
+<li><tt>Qt::Key_ae</tt>
+<li><tt>Qt::Key_ccedilla</tt>
+<li><tt>Qt::Key_egrave</tt>
+<li><tt>Qt::Key_eacute</tt>
+<li><tt>Qt::Key_ecircumflex</tt>
+<li><tt>Qt::Key_ediaeresis</tt>
+<li><tt>Qt::Key_igrave</tt>
+<li><tt>Qt::Key_iacute</tt>
+<li><tt>Qt::Key_icircumflex</tt>
+<li><tt>Qt::Key_idiaeresis</tt>
+<li><tt>Qt::Key_eth</tt>
+<li><tt>Qt::Key_ntilde</tt>
+<li><tt>Qt::Key_ograve</tt>
+<li><tt>Qt::Key_oacute</tt>
+<li><tt>Qt::Key_ocircumflex</tt>
+<li><tt>Qt::Key_otilde</tt>
+<li><tt>Qt::Key_odiaeresis</tt>
+<li><tt>Qt::Key_division</tt>
+<li><tt>Qt::Key_oslash</tt>
+<li><tt>Qt::Key_ugrave</tt>
+<li><tt>Qt::Key_uacute</tt>
+<li><tt>Qt::Key_ucircumflex</tt>
+<li><tt>Qt::Key_udiaeresis</tt>
+<li><tt>Qt::Key_yacute</tt>
+<li><tt>Qt::Key_thorn</tt>
+<li><tt>Qt::Key_ydiaeresis</tt>
+</ul><p> Multimedia keys
+<ul>
+<li><tt>Qt::Key_Back</tt>
+<li><tt>Qt::Key_Forward</tt>
+<li><tt>Qt::Key_Stop</tt>
+<li><tt>Qt::Key_Refresh</tt>
+<li><tt>Qt::Key_VolumeDown</tt>
+<li><tt>Qt::Key_VolumeMute</tt>
+<li><tt>Qt::Key_VolumeUp</tt>
+<li><tt>Qt::Key_BassBoost</tt>
+<li><tt>Qt::Key_BassUp</tt>
+<li><tt>Qt::Key_BassDown</tt>
+<li><tt>Qt::Key_TrebleUp</tt>
+<li><tt>Qt::Key_TrebleDown</tt>
+<li><tt>Qt::Key_MediaPlay</tt>
+<li><tt>Qt::Key_MediaStop</tt>
+<li><tt>Qt::Key_MediaPrev</tt>
+<li><tt>Qt::Key_MediaNext</tt>
+<li><tt>Qt::Key_MediaRecord</tt>
+<li><tt>Qt::Key_HomePage</tt>
+<li><tt>Qt::Key_Favorites</tt>
+<li><tt>Qt::Key_Search</tt>
+<li><tt>Qt::Key_Standby</tt>
+<li><tt>Qt::Key_OpenUrl</tt>
+<li><tt>Qt::Key_LaunchMail</tt>
+<li><tt>Qt::Key_LaunchMedia</tt>
+<li><tt>Qt::Key_Launch0</tt>
+<li><tt>Qt::Key_Launch1</tt>
+<li><tt>Qt::Key_Launch2</tt>
+<li><tt>Qt::Key_Launch3</tt>
+<li><tt>Qt::Key_Launch4</tt>
+<li><tt>Qt::Key_Launch5</tt>
+<li><tt>Qt::Key_Launch6</tt>
+<li><tt>Qt::Key_Launch7</tt>
+<li><tt>Qt::Key_Launch8</tt>
+<li><tt>Qt::Key_Launch9</tt>
+<li><tt>Qt::Key_LaunchA</tt>
+<li><tt>Qt::Key_LaunchB</tt>
+<li><tt>Qt::Key_LaunchC</tt>
+<li><tt>Qt::Key_LaunchD</tt>
+<li><tt>Qt::Key_LaunchE</tt>
+<li><tt>Qt::Key_LaunchF</tt>
+<li><tt>Qt::Key_MediaLast</tt>
+<li><tt>Qt::Key_unknown</tt>
+<li><tt>Qt::Key_Direction_L</tt> - internal use only
+<li><tt>Qt::Key_Direction_R</tt> - internal use only
+</ul><p>
+<h3 class=fn><a name="MacintoshVersion-enum"></a>Qt::MacintoshVersion</h3>
+
+<ul>
+<li><tt>Qt::MV_Unknown</tt> - Version cannot be detected
+<li><tt>Qt::MV_9</tt> - Mac OS 9
+<li><tt>Qt::MV_10_DOT_3</tt> - Mac OS X 10.3
+<li><tt>Qt::MV_10_DOT_2</tt> - Mac OS X 10.2
+<li><tt>Qt::MV_10_DOT_1</tt> - Mac OS X 10.1
+<li><tt>Qt::MV_10_DOT_0</tt> - Mac OS X 10.0
+<li><tt>Qt::MV_10_DOT_4</tt> - Mac OS X 10.4
+<li><tt>Qt::MV_CHEETAH</tt> - 10.0 Codename
+<li><tt>Qt::MV_PUMA</tt> - 10.1 Codename
+<li><tt>Qt::MV_JAGUAR</tt> - 10.2 Codename
+<li><tt>Qt::MV_PANTHER</tt> - 10.3 Codename
+<li><tt>Qt::MV_TIGER</tt> - 10.4 Codename
+</ul>
+<h3 class=fn><a name="Modifier-enum"></a>Qt::Modifier</h3>
+
+<p> This enum type describes the keyboard modifier keys supported by
+Qt.
+<ul>
+<li><tt>Qt::SHIFT</tt> - the Shift keys provided on all standard keyboards.
+<li><tt>Qt::META</tt> - the Meta keys.
+<li><tt>Qt::CTRL</tt> - the Ctrl keys.
+<li><tt>Qt::ALT</tt> - the normal Alt keys, but not e.g. AltGr.
+<li><tt>Qt::MODIFIER_MASK</tt> - is a mask of Shift, Ctrl, Alt and Meta.
+<li><tt>Qt::UNICODE_ACCEL</tt> - the accelerator is specified as a Unicode code
+point, not as a Qt Key.
+</ul>
+<h3 class=fn><a name="Orientation-enum"></a>Qt::Orientation</h3>
+
+<p> This type is used to signify an object's orientation.
+<ul>
+<li><tt>Qt::Horizontal</tt>
+<li><tt>Qt::Vertical</tt>
+</ul><p> Orientation is used with <a href="qscrollbar.html">QScrollBar</a> for example.
+
+<h3 class=fn><a name="PaintUnit-enum"></a>Qt::PaintUnit</h3>
+
+<ul>
+<li><tt>Qt::PixelUnit</tt>
+<li><tt>Qt::LoMetricUnit</tt> - <em>obsolete</em>
+<li><tt>Qt::HiMetricUnit</tt> - <em>obsolete</em>
+<li><tt>Qt::LoEnglishUnit</tt> - <em>obsolete</em>
+<li><tt>Qt::HiEnglishUnit</tt> - <em>obsolete</em>
+<li><tt>Qt::TwipsUnit</tt> - <em>obsolete</em>
+</ul>
+<h3 class=fn><a name="PenCapStyle-enum"></a>Qt::PenCapStyle</h3>
+
+<p> This enum type defines the pen cap styles supported by Qt, i.e.
+the line end caps that can be drawn using <a href="qpainter.html">QPainter</a>.
+<ul>
+<li><tt>Qt::FlatCap</tt> - a square line end that does not cover the end
+point of the line.
+<li><tt>Qt::SquareCap</tt> - a square line end that covers the end point and
+extends beyond it with half the line width.
+<li><tt>Qt::RoundCap</tt> - a rounded line end.
+<li><tt>Qt::MPenCapStyle</tt> - mask of the pen cap styles.
+</ul><p> <center><img src="pen-cap-styles.png" alt="Pen Cap Styles"></center>
+<h3 class=fn><a name="PenJoinStyle-enum"></a>Qt::PenJoinStyle</h3>
+
+<p> This enum type defines the pen join styles supported by Qt, i.e.
+which joins between two connected lines can be drawn using
+<a href="qpainter.html">QPainter</a>.
+<ul>
+<li><tt>Qt::MiterJoin</tt> - The outer edges of the lines are extended to
+meet at an angle, and this area is filled.
+<li><tt>Qt::BevelJoin</tt> - The triangular notch between the two lines is filled.
+<li><tt>Qt::RoundJoin</tt> - A circular arc between the two lines is filled.
+<li><tt>Qt::MPenJoinStyle</tt> - mask of the pen join styles.
+</ul><p> <center><img src="pen-join-styles.png" alt="Pen Join Styles"></center>
+<h3 class=fn><a name="PenStyle-enum"></a>Qt::PenStyle</h3>
+
+<p> This enum type defines the pen styles that can be drawn using
+<a href="qpainter.html">QPainter</a>. The styles are
+<ul>
+<li><tt>Qt::NoPen</tt> - no line at all. For example, <a href="qpainter.html#drawRect">QPainter::drawRect</a>()
+fills but does not draw any boundary line.
+<li><tt>Qt::SolidLine</tt> - a simple line.
+<li><tt>Qt::DashLine</tt> - dashes separated by a few pixels.
+<li><tt>Qt::DotLine</tt> - dots separated by a few pixels.
+<li><tt>Qt::DashDotLine</tt> - alternate dots and dashes.
+<li><tt>Qt::DashDotDotLine</tt> - one dash, two dots, one dash, two dots.
+<li><tt>Qt::MPenStyle</tt> - mask of the pen styles.
+</ul><p> <center><img src="pen-styles.png" alt="Pen Styles"></center>
+<h3 class=fn><a name="RasterOp-enum"></a>Qt::RasterOp</h3>
+
+<p> This enum type is used to describe the way things are written to
+the paint device. Each bit of the <em>src</em> (what you write)
+interacts with the corresponding bit of the <em>dst</em> pixel.
+<ul>
+<li><tt>Qt::CopyROP</tt> - dst = src
+<li><tt>Qt::OrROP</tt> - dst = src OR dst
+<li><tt>Qt::XorROP</tt> - dst = src XOR dst
+<li><tt>Qt::NotAndROP</tt> - dst = (NOT src) AND dst
+<li><tt>Qt::EraseROP</tt> - an alias for <a href="#RasterOp-enum">NotAndROP</a>
+<li><tt>Qt::NotCopyROP</tt> - dst = NOT src
+<li><tt>Qt::NotOrROP</tt> - dst = (NOT src) OR dst
+<li><tt>Qt::NotXorROP</tt> - dst = (NOT src) XOR dst
+<li><tt>Qt::AndROP</tt> - dst = src AND dst
+<li><tt>Qt::NotEraseROP</tt> - an alias for <a href="#RasterOp-enum">AndROP</a>
+<li><tt>Qt::NotROP</tt> - dst = NOT dst
+<li><tt>Qt::ClearROP</tt> - dst = 0
+<li><tt>Qt::SetROP</tt> - dst = 1
+<li><tt>Qt::NopROP</tt> - dst = dst
+<li><tt>Qt::AndNotROP</tt> - dst = src AND (NOT dst)
+<li><tt>Qt::OrNotROP</tt> - dst = src OR (NOT dst)
+<li><tt>Qt::NandROP</tt> - dst = NOT (src AND dst)
+<li><tt>Qt::NorROP</tt> - dst = NOT (src OR dst)
+</ul><p> By far the most useful ones are <a href="#RasterOp-enum">CopyROP</a> and <a href="#RasterOp-enum">XorROP</a>.
+<p> On Qt/Embedded, only <a href="#RasterOp-enum">CopyROP</a>, <a href="#RasterOp-enum">XorROP</a>, and <a href="#RasterOp-enum">NotROP</a> are supported.
+
+<h3 class=fn><a name="SequenceMatch-enum"></a>Qt::SequenceMatch</h3>
+
+<ul>
+<li><tt>Qt::NoMatch</tt> - Sequences have nothing in common
+<li><tt>Qt::PartialMatch</tt> - Sequences match partially, but are not complete
+<li><tt>Qt::Identical</tt> - Sequences do not differ
+</ul>
+<h3 class=fn><a name="SortOrder-enum"></a>Qt::SortOrder</h3>
+
+<p> This enum describes how the items in a widget are sorted.
+<ul>
+<li><tt>Qt::Ascending</tt> - The items are sorted ascending e.g. starts with
+'AAA' ends with 'ZZZ' in Latin-1 locales
+<li><tt>Qt::Descending</tt> - The items are sorted descending e.g. starts with
+'ZZZ' ends with 'AAA' in Latin-1 locales
+</ul>
+<h3 class=fn><a name="StringComparisonMode-enum"></a>Qt::StringComparisonMode</h3>
+
+<p> This enum type is used to set the string comparison mode when
+searching for an item. It is used by <a href="qlistbox.html">QListBox</a>, <a href="qlistview.html">QListView</a> and
+<a href="qiconview.html">QIconView</a>, for example. We'll refer to the string being searched
+as the 'target' string.
+<ul>
+<li><tt>Qt::CaseSensitive</tt> - The strings must match case sensitively.
+<li><tt>Qt::ExactMatch</tt> - The target and search strings must match exactly.
+<li><tt>Qt::BeginsWith</tt> - The target string begins with the search string.
+<li><tt>Qt::EndsWith</tt> - The target string ends with the search string.
+<li><tt>Qt::Contains</tt> - The target string contains the search string.
+</ul><p> If you OR these flags together (excluding <a href="#StringComparisonMode-enum">CaseSensitive</a>), the
+search criteria be applied in the following order: <a href="#StringComparisonMode-enum">ExactMatch</a>,
+<a href="#StringComparisonMode-enum">BeginsWith</a>, <a href="#StringComparisonMode-enum">EndsWith</a>, <a href="#StringComparisonMode-enum">Contains</a>.
+<p> Matching is case-insensitive unless <a href="#StringComparisonMode-enum">CaseSensitive</a> is set. <a href="#StringComparisonMode-enum">CaseSensitive</a> can be OR-ed with any combination of the other
+flags.
+<p>
+<h3 class=fn><a name="TextFlags-enum"></a>Qt::TextFlags</h3>
+
+<p> This enum type is used to define some modifier flags. Some of
+these flags only make sense in the context of printing:
+<ul>
+<li><tt>Qt::SingleLine</tt> - Treats all whitespace as spaces and prints just
+one line.
+<li><tt>Qt::DontClip</tt> - If it's impossible to stay within the given bounds,
+it prints outside.
+<li><tt>Qt::ExpandTabs</tt> - Makes the U+0009 (ASCII tab) character move to
+the next tab stop.
+<li><tt>Qt::ShowPrefix</tt> - Displays the string "&amp;P" as <u>P</u>
+(see <a href="qbutton.html">QButton</a> for an example). For an ampersand, use "&amp;&amp;".
+<li><tt>Qt::WordBreak</tt> - Breaks lines at appropriate points, e.g. at word
+boundaries.
+<li><tt>Qt::BreakAnywhere</tt> - Breaks lines anywhere, even within words.
+<li><tt>Qt::NoAccel</tt> - Same as ShowPrefix but doesn't draw the underlines.
+</ul><p> You can use as many modifier flags as you want, except that <a href="#TextFlags-enum">SingleLine</a> and <a href="#TextFlags-enum">WordBreak</a> cannot be combined.
+<p> Flags that are inappropriate for a given use (e.g. ShowPrefix to
+<a href="qgridlayout.html#addWidget">QGridLayout::addWidget</a>()) are generally ignored.
+<p>
+<h3 class=fn><a name="TextFormat-enum"></a>Qt::TextFormat</h3>
+
+<p> This enum is used in widgets that can display both plain text and
+rich text, e.g. <a href="qlabel.html">QLabel</a>. It is used for deciding whether a text
+string should be interpreted as one or the other. This is normally
+done by passing one of the enum values to a setTextFormat()
+function.
+<ul>
+<li><tt>Qt::PlainText</tt> - The text string is interpreted as a plain text
+string.
+<li><tt>Qt::RichText</tt> - The text string is interpreted as a rich text
+string using the current <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>().
+<li><tt>Qt::AutoText</tt> - The text string is interpreted as for <a href="#TextFormat-enum">RichText</a>
+if <a href="qstylesheet.html#mightBeRichText">QStyleSheet::mightBeRichText</a>() returns TRUE, otherwise as
+<a href="#TextFormat-enum">PlainText</a>.
+<li><tt>Qt::LogText</tt> - A special, limited text format which is only used
+by <a href="qtextedit.html">QTextEdit</a> in an optimized mode.
+</ul>
+<h3 class=fn><a name="TimeSpec-enum"></a>Qt::TimeSpec</h3>
+
+<ul>
+<li><tt>Qt::LocalTime</tt> - Locale dependent time (Timezones and Daylight Savings Time)
+<li><tt>Qt::UTC</tt> - Coordinated Universal Time, replaces Greenwich Time
+</ul>
+<h3 class=fn><a name="UIEffect-enum"></a>Qt::UIEffect</h3>
+
+<ul>
+<li><tt>Qt::UI_General</tt>
+<li><tt>Qt::UI_AnimateMenu</tt>
+<li><tt>Qt::UI_FadeMenu</tt>
+<li><tt>Qt::UI_AnimateCombo</tt>
+<li><tt>Qt::UI_AnimateTooltip</tt>
+<li><tt>Qt::UI_FadeTooltip</tt>
+<li><tt>Qt::UI_AnimateToolBox</tt> - Reserved
+</ul>
+<h3 class=fn><a name="WidgetFlags-enum"></a>Qt::WidgetFlags</h3>
+
+<p> <!-- index widget flag -->
+<p> This enum type is used to specify various window-system properties
+for the widget. They are fairly unusual but necessary in a few
+cases. Some of these flags depend on whether the underlying window
+manager supports them. (See the <a href="toplevel-example.html">toplevel example</a> for an explanation and example of their
+use.)
+<p> The main types are
+<ul>
+<li><tt>Qt::WType_TopLevel</tt> - indicates that this widget is a top-level
+widget, usually with a window-system frame and so on.
+<li><tt>Qt::WType_Dialog</tt> - indicates that this widget is a top-level
+window that should be decorated as a dialog (i.e. typically no
+maximize or minimize buttons in the title bar). If you want to use
+it as a modal dialog it should be launched from another window, or
+have a parent and this flag should be combined with <a href="#WidgetFlags-enum">WShowModal</a>.
+If you make it modal, the dialog will prevent other top-level
+windows in the application from getting any input. <a href="#WidgetFlags-enum">WType_Dialog</a>
+implies <a href="#WidgetFlags-enum">WType_TopLevel</a>. We refer to a top-level window that has
+a parent as a <em>secondary</em> window. (See also <a href="#WidgetFlags-enum">WGroupLeader</a>.)
+<li><tt>Qt::WType_Popup</tt> - indicates that this widget is a popup
+top-level window, i.e. that it is modal, but has a window system
+frame appropriate for popup menus. <a href="#WidgetFlags-enum">WType_Popup</a> implies
+WType_TopLevel.
+<li><tt>Qt::WType_Desktop</tt> - indicates that this widget is the desktop.
+See also <a href="#WidgetFlags-enum">WPaintDesktop</a> below. <a href="#WidgetFlags-enum">WType_Desktop</a> implies <a href="#WidgetFlags-enum">WType_TopLevel</a>.
+</ul><p> There are also a number of flags which you can use to customize
+the appearance of top-level windows. These have no effect on other
+windows:
+<ul>
+<li><tt>Qt::WStyle_Customize</tt> - indicates that the <tt>WStyle_*</tt> flags
+should be used to build the window instead of the default flags.
+<li><tt>Qt::WStyle_NormalBorder</tt> - gives the window a normal border.
+This cannot be combined with <a href="#WidgetFlags-enum">WStyle_DialogBorder</a> or <a href="#WidgetFlags-enum">WStyle_NoBorder</a>.
+<li><tt>Qt::WStyle_DialogBorder</tt> - gives the window a thin dialog border.
+This cannot be combined with <a href="#WidgetFlags-enum">WStyle_NormalBorder</a> or <a href="#WidgetFlags-enum">WStyle_NoBorder</a>.
+<li><tt>Qt::WStyle_NoBorder</tt> - produces a borderless window. Note that
+the user cannot move or resize a borderless window via the window
+system. This cannot be combined with <a href="#WidgetFlags-enum">WStyle_NormalBorder</a> or <a href="#WidgetFlags-enum">WStyle_DialogBorder</a>. On Windows, the flag works fine. On X11, the
+result of the flag is dependent on the window manager and its
+ability to understand MOTIF and/or NETWM hints: most existing
+modern window managers can handle this. With <a href="#WidgetFlags-enum">WX11BypassWM</a>, you
+can bypass the window manager completely. This results in a
+borderless window that is not managed at all (i.e. no keyboard
+input unless you call setActiveWindow() manually).
+<li><tt>Qt::WStyle_NoBorderEx</tt> - this value is obsolete. It has the same
+effect as using <a href="#WidgetFlags-enum">WStyle_NoBorder</a>.
+<li><tt>Qt::WStyle_Title</tt> - gives the window a title bar.
+<li><tt>Qt::WStyle_SysMenu</tt> - adds a window system menu.
+<li><tt>Qt::WStyle_Minimize</tt> - adds a minimize button. Note that on
+Windows this has to be combined with <a href="#WidgetFlags-enum">WStyle_SysMenu</a> for it to
+work.
+<li><tt>Qt::WStyle_Maximize</tt> - adds a maximize button. Note that on
+Windows this has to be combined with <a href="#WidgetFlags-enum">WStyle_SysMenu</a> for it to work.
+<li><tt>Qt::WStyle_MinMax</tt> - is equal to <tt>WStyle_Minimize|WStyle_Maximize</tt>. Note that on Windows this has to
+be combined with <a href="#WidgetFlags-enum">WStyle_SysMenu</a> to work.
+<li><tt>Qt::WStyle_ContextHelp</tt> - adds a context help button to dialogs.
+<li><tt>Qt::WStyle_Tool</tt> - makes the window a tool window. A tool window
+is often a small window with a smaller than usual title bar and
+decoration, typically used for collections of tool buttons. It
+there is a parent, the tool window will always be kept on top of
+it. If there isn't a parent, you may consider passing <a href="#WidgetFlags-enum">WStyle_StaysOnTop</a> as well. If the window system supports it, a
+tool window can be decorated with a somewhat lighter frame. It can
+also be combined with <a href="#WidgetFlags-enum">WStyle_NoBorder</a>.
+<li><tt>Qt::WStyle_StaysOnTop</tt> - informs the window system that the
+window should stay on top of all other windows. Note that on some
+window managers on X11 you also have to pass <a href="#WidgetFlags-enum">WX11BypassWM</a> for
+this flag to work correctly.
+<li><tt>Qt::WStyle_Dialog</tt> - indicates that the window is a logical
+subwindow of its parent (i.e. a dialog). The window will not get
+its own taskbar entry and will be kept on top of its parent by the
+window system. Usually it will also be minimized when the parent
+is minimized. If not customized, the window is decorated with a
+slightly simpler title bar. This is the flag <a href="qdialog.html">QDialog</a> uses.
+<li><tt>Qt::WStyle_Splash</tt> - indicates that the window is a splash screen.
+On X11, we try to follow NETWM standard for a splash screen window if the
+window manager supports is otherwise it is equivalent to <a href="#WidgetFlags-enum">WX11BypassWM</a>. On
+other platforms, it is equivalent to <a href="#WidgetFlags-enum">WStyle_NoBorder</a> <tt>|</tt> <a href="#WidgetFlags-enum">WMacNoSheet</a> <tt>|</tt>
+<a href="#WidgetFlags-enum">WStyle_Tool</a> <tt>|</tt> <a href="#WidgetFlags-enum">WWinOwnDC</a>
+</ul><p> Modifier flags:
+<ul>
+<li><tt>Qt::WDestructiveClose</tt> - makes Qt delete this widget when the
+widget has accepted closeEvent(), or when the widget tried to
+ignore closeEvent() but could not.
+<li><tt>Qt::WPaintDesktop</tt> - gives this widget paint events for the
+desktop.
+<li><tt>Qt::WPaintUnclipped</tt> - makes all painters operating on this
+widget unclipped. Children of this widget or other widgets in
+front of it do not clip the area the painter can paint on.
+<li><tt>Qt::WPaintClever</tt> - indicates that Qt should <em>not</em> try to
+optimize repainting for the widget, but instead pass on window
+system repaint events directly. (This tends to produce more events
+and smaller repaint regions.)
+<li><tt>Qt::WMouseNoMask</tt> - indicates that even if the widget has a mask,
+it wants mouse events for its entire rectangle.
+<li><tt>Qt::WStaticContents</tt> - indicates that the widget contents are
+north-west aligned and static. On resize, such a widget will
+receive paint events only for the newly visible part of itself.
+<li><tt>Qt::WNoAutoErase</tt> - indicates that the widget paints all its
+pixels. Updating, resizing, scrolling and focus changes should
+therefore not erase the widget. This allows smart-repainting to
+avoid flicker.
+<li><tt>Qt::WResizeNoErase</tt> - this value is obsolete; use WNoAutoErase instead.
+<li><tt>Qt::WRepaintNoErase</tt> - this value is obsolete; use WNoAutoErase instead.
+<li><tt>Qt::WGroupLeader</tt> - makes this window a group leader. A group
+leader should <em>not</em> have a parent (i.e. it should be a top-level
+window). Any decendant windows (direct or indirect) of a group
+leader are in its group; other windows are not. If you show a
+secondary window from the group (i.e. show a window whose top-most
+parent is a group leader), that window will be modal with respect
+to the other windows in the group, but modeless with respect to
+windows in other groups.
+</ul><p> Miscellaneous flags
+<ul>
+<li><tt>Qt::WShowModal</tt> - see WType_Dialog
+</ul><p> Internal flags.
+<ul>
+<li><tt>Qt::WNoMousePropagation</tt>
+<li><tt>Qt::WStaticContents</tt>
+<li><tt>Qt::WStyle_Reserved</tt>
+<li><tt>Qt::WSubWindow</tt>
+<li><tt>Qt::WType_Modal</tt>
+<li><tt>Qt::WWinOwnDC</tt>
+<li><tt>Qt::WX11BypassWM</tt>
+<li><tt>Qt::WMacNoSheet</tt>
+<li><tt>Qt::WMacDrawer</tt>
+<li><tt>Qt::WStyle_Mask</tt>
+<li><tt>Qt::WType_Mask</tt>
+</ul><p>
+<h3 class=fn><a name="WidgetState-enum"></a>Qt::WidgetState</h3>
+
+<p> Internal flags.
+<ul>
+<li><tt>Qt::WState_Created</tt>
+<li><tt>Qt::WState_Disabled</tt>
+<li><tt>Qt::WState_Visible</tt>
+<li><tt>Qt::WState_ForceHide</tt>
+<li><tt>Qt::WState_OwnCursor</tt>
+<li><tt>Qt::WState_MouseTracking</tt>
+<li><tt>Qt::WState_CompressKeys</tt>
+<li><tt>Qt::WState_BlockUpdates</tt>
+<li><tt>Qt::WState_InPaintEvent</tt>
+<li><tt>Qt::WState_Reparented</tt>
+<li><tt>Qt::WState_ConfigPending</tt>
+<li><tt>Qt::WState_Resized</tt>
+<li><tt>Qt::WState_AutoMask</tt>
+<li><tt>Qt::WState_Polished</tt>
+<li><tt>Qt::WState_DND</tt>
+<li><tt>Qt::WState_Reserved0</tt> - <em>internal</em>
+<li><tt>Qt::WState_CreatedHidden</tt>
+<li><tt>Qt::WState_Maximized</tt>
+<li><tt>Qt::WState_Minimized</tt>
+<li><tt>Qt::WState_ForceDisabled</tt>
+<li><tt>Qt::WState_Exposed</tt>
+<li><tt>Qt::WState_HasMouse</tt>
+<li><tt>Qt::WState_CreatedHidden</tt>
+<li><tt>Qt::WState_OwnSizePolicy</tt>
+<li><tt>Qt::WState_FullScreen</tt>
+</ul>
+<h3 class=fn><a name="WindowState-enum"></a>Qt::WindowState</h3>
+
+<p> <!-- index window state -->
+<p> This enum type is used to specify the current state of a top-level
+window.
+<p> The states are
+<ul>
+<li><tt>Qt::WindowNoState</tt> - The window has no state set (in normal state).
+<li><tt>Qt::WindowMinimized</tt> - The window is minimized (i.e. iconified).
+<li><tt>Qt::WindowMaximized</tt> - The window is maximized with a frame around it.
+<li><tt>Qt::WindowFullScreen</tt> - The window fills the entire screen without any frame around it.
+<li><tt>Qt::WindowActive</tt> - The window is the active window, i.e. it has <a href="focus.html#keyboard-focus">keyboard focus</a>.
+</ul><p>
+<h3 class=fn><a name="WindowsVersion-enum"></a>Qt::WindowsVersion</h3>
+
+<ul>
+<li><tt>Qt::WV_32s</tt> - Windows 3.1 with Win 32s
+<li><tt>Qt::WV_95</tt> - Windows 95
+<li><tt>Qt::WV_98</tt> - Windows 98
+<li><tt>Qt::WV_Me</tt> - Windows Me
+<li><tt>Qt::WV_DOS_based</tt>
+<li><tt>Qt::WV_NT</tt> - Windows NT
+<li><tt>Qt::WV_2000</tt> - Windows 2000
+<li><tt>Qt::WV_XP</tt> - Windows XP
+<li><tt>Qt::WV_2003</tt> - Windows Server 2003
+<li><tt>Qt::WV_NT_based</tt>
+<li><tt>Qt::WV_VISTA</tt> - Windows Vista
+<li><tt>Qt::WV_CE</tt> - Windows CE
+<li><tt>Qt::WV_CENET</tt> - Windows CE .NET
+<li><tt>Qt::WV_CE_based</tt>
+</ul>
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qt33-class-chart.png b/doc/html/qt33-class-chart.png
new file mode 100644
index 0000000..1841083
--- /dev/null
+++ b/doc/html/qt33-class-chart.png
Binary files differ
diff --git a/doc/html/qtab-members.html b/doc/html/qtab-members.html
new file mode 100644
index 0000000..6330d41
--- /dev/null
+++ b/doc/html/qtab-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabbar.h:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTab Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTab</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtab.html">QTab</a>, including inherited members.
+
+<ul>
+<li><a href="qtab.html#QTab">QTab</a>()
+<li><a href="qtab.html#~QTab">~QTab</a>()
+<li><a href="qtab.html#iconSet">iconSet</a>()
+<li><a href="qtab.html#identifier">identifier</a>()
+<li><a href="qtab.html#isEnabled">isEnabled</a>()
+<li><a href="qtab.html#rect">rect</a>()
+<li><a href="qtab.html#setEnabled">setEnabled</a>()
+<li><a href="qtab.html#setIconSet">setIconSet</a>()
+<li><a href="qtab.html#setIdentifier">setIdentifier</a>()
+<li><a href="qtab.html#setRect">setRect</a>()
+<li><a href="qtab.html#setText">setText</a>()
+<li><a href="qtab.html#text">text</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtab.html b/doc/html/qtab.html
new file mode 100644
index 0000000..b1c78d2
--- /dev/null
+++ b/doc/html/qtab.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtabbar.cpp:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTab Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTab Class Reference</h1>
+
+<p>The QTab class provides the structures in a QTabBar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtabbar-h.html">qtabbar.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qtab-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTab"><b>QTab</b></a> ()</li>
+<li class=fn>virtual <a href="#~QTab"><b>~QTab</b></a> ()</li>
+<li class=fn><a href="#QTab-2"><b>QTab</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QTab-3"><b>QTab</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon, const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null )</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>void <a href="#setIconSet"><b>setIconSet</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;icon )</li>
+<li class=fn>QIconSet * <a href="#iconSet"><b>iconSet</b></a> () const</li>
+<li class=fn>void <a href="#setRect"><b>setRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect )</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>void <a href="#setIdentifier"><b>setIdentifier</b></a> ( int&nbsp;i )</li>
+<li class=fn>int <a href="#identifier"><b>identifier</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTab class provides the structures in a <a href="qtabbar.html">QTabBar</a>.
+<p>
+<p> This class is used for custom QTabBar tab headings.
+<p> <p>See also <a href="qtabbar.html">QTabBar</a> and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTab"></a>QTab::QTab ()
+</h3>
+Constructs an empty tab. All fields are set to empty.
+
+<h3 class=fn><a name="QTab-2"></a>QTab::QTab ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Constructs a tab with the text <em>text</em>.
+
+<h3 class=fn><a name="QTab-3"></a>QTab::QTab ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null )
+</h3>
+Constructs a tab with an <em>icon</em> and the text, <em>text</em>.
+
+<h3 class=fn><a name="~QTab"></a>QTab::~QTab ()<tt> [virtual]</tt>
+</h3>
+Destroys the tab and frees up all allocated resources.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;* <a name="iconSet"></a>QTab::iconSet () const
+</h3>
+
+<p> Return the <a href="qiconset.html">QIconSet</a> of the QTab.
+
+<h3 class=fn>int <a name="identifier"></a>QTab::identifier () const
+</h3>
+
+<p> Return the QTab's identifier.
+
+<h3 class=fn>bool <a name="isEnabled"></a>QTab::isEnabled () const
+</h3>
+
+<p> Returns TRUE if the QTab is enabled; otherwise returns FALSE.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QTab::rect () const
+</h3>
+
+<p> Return the <a href="qrect.html">QRect</a> for the QTab.
+
+<h3 class=fn>void <a name="setEnabled"></a>QTab::setEnabled ( bool&nbsp;enable )
+</h3>
+
+<p> If <em>enable</em> is TRUE enable the QTab, otherwise disable it.
+
+<h3 class=fn>void <a name="setIconSet"></a>QTab::setIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;icon )
+</h3>
+Sets the tab's iconset to <em>icon</em>
+
+<h3 class=fn>void <a name="setIdentifier"></a>QTab::setIdentifier ( int&nbsp;i )
+</h3>
+
+<p> Set the identifier for the QTab to <em>i</em>. Each QTab's identifier
+within a <a href="qtabbar.html">QTabBar</a> must be unique.
+
+<h3 class=fn>void <a name="setRect"></a>QTab::setRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect )
+</h3>
+
+<p> Set the QTab <a href="qrect.html">QRect</a> to <em>rect</em>.
+
+<h3 class=fn>void <a name="setText"></a>QTab::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Sets the text of the tab to <em>text</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QTab::text () const
+</h3>
+
+<p> Returns the text of the QTab label.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabbar-h.html b/doc/html/qtabbar-h.html
new file mode 100644
index 0000000..411f064
--- /dev/null
+++ b/doc/html/qtabbar-h.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabbar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtabbar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtabbar.h</h1>
+
+<p>This is the verbatim text of the qtabbar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtabbar.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QTab and QTabBar classes
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTABBAR_H
+#define QTABBAR_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qptrlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_TABBAR
+
+class QTabBar;
+class QIconSet;
+
+class Q_EXPORT QTab : public Qt
+{
+ friend class QTabBar;
+ friend class QTabWidget;
+
+public:
+ QTab();
+ virtual ~QTab();
+ QTab( const QString&amp; text );
+ QTab( const QIconSet&amp; icon, const QString&amp; text = QString::null );
+
+ void setText( const QString&amp; text);
+ QString text() const { return label; }
+ void setIconSet( const QIconSet&amp; icon );
+ QIconSet* iconSet() const { return iconset; }
+ void setRect( const QRect&amp; rect ) { r = rect; }
+ QRect rect() const { return r; }
+ void setEnabled( bool enable ) { enabled = enable; }
+ bool isEnabled() const { return enabled; }
+ void setIdentifier( int i ) { id = i; }
+ int identifier() const { return id; }
+
+private:
+ void setTabBar( QTabBar *tb );
+ QString label;
+ QRect r; // the bounding rectangle of this (may overlap with others)
+ bool enabled;
+ int id;
+ QIconSet* iconset; // optional iconset
+ QTabBar *tb;
+};
+
+
+struct QTabPrivate;
+//class *QAccel;
+
+class Q_EXPORT QTabBar: public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( Shape )
+ Q_PROPERTY( Shape shape READ shape WRITE setShape )
+ Q_PROPERTY( int currentTab READ currentTab WRITE setCurrentTab )
+ Q_PROPERTY( int count READ count )
+ Q_PROPERTY( int keyboardFocusTab READ keyboardFocusTab )
+
+public:
+ QTabBar( QWidget* parent=0, const char* name=0 );
+ ~QTabBar();
+
+ enum Shape { RoundedAbove, RoundedBelow,
+ TriangularAbove, TriangularBelow };
+
+ Shape shape() const;
+ virtual void setShape( Shape );
+
+ void show();
+
+ virtual int addTab( QTab * );
+ virtual int insertTab( QTab *, int index = -1 );
+ virtual void removeTab( QTab * );
+
+ virtual void setTabEnabled( int, bool );
+ bool isTabEnabled( int ) const;
+
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int currentTab() const;
+ int keyboardFocusTab() const;
+
+ QTab * tab( int ) const;
+ QTab * tabAt( int ) const;
+ int indexOf( int ) const;
+ int count() const;
+
+ virtual void layoutTabs();
+ virtual QTab * selectTab( const QPoint &amp; p ) const;
+
+ void removeToolTip( int index );
+ void setToolTip( int index, const QString &amp; tip );
+ QString toolTip( int index ) const;
+
+public slots:
+ virtual void setCurrentTab( int );
+ virtual void setCurrentTab( QTab * );
+
+signals:
+ void selected( int );
+ void layoutChanged();
+
+protected:
+ virtual void paint( QPainter *, QTab *, bool ) const; // ### not const
+ virtual void paintLabel( QPainter*, const QRect&amp;, QTab*, bool ) const;
+
+ void focusInEvent( QFocusEvent *e );
+ void focusOutEvent( QFocusEvent *e );
+
+ void resizeEvent( QResizeEvent * );
+ void paintEvent( QPaintEvent * );
+ void mousePressEvent ( QMouseEvent * );
+ void mouseMoveEvent ( QMouseEvent * );
+ void mouseReleaseEvent ( QMouseEvent * );
+ void keyPressEvent( QKeyEvent * );
+ void styleChange( QStyle&amp; );
+ void fontChange ( const QFont &amp; );
+
+ bool event( QEvent *e );
+
+ QPtrList&lt;QTab&gt; * tabList();
+
+private slots:
+ void scrollTabs();
+
+private:
+ QPtrList&lt;QTab&gt; * l;
+ QPtrList&lt;QTab&gt; * lstatic;
+ void makeVisible( QTab* t = 0 );
+ void updateArrowButtons();
+ QTabPrivate * d;
+
+ friend class QTabBarToolTip;
+ friend class QTab;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTabBar( const QTabBar &amp; );
+ QTabBar&amp; operator=( const QTabBar &amp; );
+#endif
+};
+
+
+#endif // QT_NO_TABBAR
+
+#endif // QTABBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabbar-m.png b/doc/html/qtabbar-m.png
new file mode 100644
index 0000000..81e2d7f
--- /dev/null
+++ b/doc/html/qtabbar-m.png
Binary files differ
diff --git a/doc/html/qtabbar-members.html b/doc/html/qtabbar-members.html
new file mode 100644
index 0000000..1b09abe
--- /dev/null
+++ b/doc/html/qtabbar-members.html
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabbar.h:85 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTabBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtabbar.html">QTabBar</a>, including inherited members.
+
+<ul>
+<li><a href="qtabbar.html#QTabBar">QTabBar</a>()
+<li><a href="qtabbar.html#~QTabBar">~QTabBar</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtabbar.html#addTab">addTab</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtabbar.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtabbar.html#currentTab">currentTab</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qtabbar.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtabbar.html#insertTab">insertTab</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qtabbar.html#isTabEnabled">isTabEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qtabbar.html#keyboardFocusTab">keyboardFocusTab</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qtabbar.html#layoutChanged">layoutChanged</a>()
+<li><a href="qtabbar.html#layoutTabs">layoutTabs</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qtabbar.html#paint">paint</a>()
+<li><a href="qtabbar.html#paintEvent">paintEvent</a>()
+<li><a href="qtabbar.html#paintLabel">paintLabel</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtabbar.html#removeTab">removeTab</a>()
+<li><a href="qtabbar.html#removeToolTip">removeToolTip</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qtabbar.html#selectTab">selectTab</a>()
+<li><a href="qtabbar.html#selected">selected</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtabbar.html#setCurrentTab">setCurrentTab</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtabbar.html#setShape">setShape</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtabbar.html#setTabEnabled">setTabEnabled</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtabbar.html#setToolTip">setToolTip</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qtabbar.html#shape">shape</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtabbar.html#tab">tab</a>()
+<li><a href="qtabbar.html#tabAt">tabAt</a>()
+<li><a href="qtabbar.html#tabList">tabList</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qtabbar.html#toolTip">toolTip</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabbar-w.png b/doc/html/qtabbar-w.png
new file mode 100644
index 0000000..938f25e
--- /dev/null
+++ b/doc/html/qtabbar-w.png
Binary files differ
diff --git a/doc/html/qtabbar.html b/doc/html/qtabbar.html
new file mode 100644
index 0000000..f8cb21c
--- /dev/null
+++ b/doc/html/qtabbar.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtabbar.cpp:168 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTabBar Class Reference</h1>
+
+<p>The QTabBar class provides a tab bar, e.g. for use in tabbed dialogs.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtabbar-h.html">qtabbar.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qtabbar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTabBar"><b>QTabBar</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTabBar"><b>~QTabBar</b></a> ()</li>
+<li class=fn>enum <a href="#Shape-enum"><b>Shape</b></a> { RoundedAbove, RoundedBelow, TriangularAbove, TriangularBelow }</li>
+<li class=fn>Shape <a href="#shape"><b>shape</b></a> () const</li>
+<li class=fn>virtual void <a href="#setShape"><b>setShape</b></a> ( Shape )</li>
+<li class=fn>virtual int <a href="#addTab"><b>addTab</b></a> ( QTab&nbsp;*&nbsp;newTab )</li>
+<li class=fn>virtual int <a href="#insertTab"><b>insertTab</b></a> ( QTab&nbsp;*&nbsp;newTab, int&nbsp;index = -1 )</li>
+<li class=fn>virtual void <a href="#removeTab"><b>removeTab</b></a> ( QTab&nbsp;*&nbsp;t )</li>
+<li class=fn>virtual void <a href="#setTabEnabled"><b>setTabEnabled</b></a> ( int&nbsp;id, bool&nbsp;enabled )</li>
+<li class=fn>bool <a href="#isTabEnabled"><b>isTabEnabled</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>int <a href="#currentTab"><b>currentTab</b></a> () const</li>
+<li class=fn>int <a href="#keyboardFocusTab"><b>keyboardFocusTab</b></a> () const</li>
+<li class=fn>QTab * <a href="#tab"><b>tab</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>QTab * <a href="#tabAt"><b>tabAt</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>virtual void <a href="#layoutTabs"><b>layoutTabs</b></a> ()</li>
+<li class=fn>virtual QTab * <a href="#selectTab"><b>selectTab</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>void <a href="#removeToolTip"><b>removeToolTip</b></a> ( int&nbsp;index )</li>
+<li class=fn>void <a href="#setToolTip"><b>setToolTip</b></a> ( int&nbsp;index, const&nbsp;QString&nbsp;&amp;&nbsp;tip )</li>
+<li class=fn>QString <a href="#toolTip"><b>toolTip</b></a> ( int&nbsp;index ) const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setCurrentTab"><b>setCurrentTab</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setCurrentTab-2"><b>setCurrentTab</b></a> ( QTab&nbsp;*&nbsp;tab )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#selected"><b>selected</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#layoutChanged"><b>layoutChanged</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of tabs in the tab bar &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#currentTab-prop"><b>currentTab</b></a>&nbsp;- the id of the tab bar's visible tab</li>
+<li class=fn>int <a href="#keyboardFocusTab-prop"><b>keyboardFocusTab</b></a>&nbsp;- the id of the tab that has the keyboard focus &nbsp;<em>(read only)</em></li>
+<li class=fn>Shape <a href="#shape-prop"><b>shape</b></a>&nbsp;- the shape of the tabs in the tab bar</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;p, QTab&nbsp;*&nbsp;t, bool&nbsp;selected ) const</li>
+<li class=fn>virtual void <a href="#paintLabel"><b>paintLabel</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;br, QTab&nbsp;*&nbsp;t, bool&nbsp;has_focus ) const</li>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>QPtrList&lt;QTab&gt; * <a href="#tabList"><b>tabList</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTabBar class provides a tab bar, e.g. for use in tabbed dialogs.
+<p>
+<p> QTabBar is straightforward to use; it draws the tabs using one of
+the predefined <a href="#Shape-enum">shapes</a>, and emits a
+signal when a tab is selected. It can be subclassed to tailor the
+look and feel. Qt also provides a ready-made <a href="qtabwidget.html">QTabWidget</a> and a
+<a href="qtabdialog.html">QTabDialog</a>.
+<p> The choice of tab shape is a matter of taste, although tab dialogs
+(for preferences and similar) invariably use <a href="#Shape-enum">RoundedAbove</a>;
+nobody uses <a href="#Shape-enum">TriangularAbove</a>. Tab controls in windows other than
+dialogs almost always use either <a href="#Shape-enum">RoundedBelow</a> or <a href="#Shape-enum">TriangularBelow</a>. Many spreadsheets and other tab controls in which
+all the pages are essentially similar use <a href="#Shape-enum">TriangularBelow</a>,
+whereas <a href="#Shape-enum">RoundedBelow</a> is used mostly when the pages are
+different (e.g. a multi-page tool palette).
+<p> The most important part of QTabBar's API is the <a href="#selected">selected</a>() signal.
+This is emitted whenever the selected page changes (even at
+startup, when the selected page changes from 'none'). There is
+also a slot, <a href="#setCurrentTab">setCurrentTab</a>(), which can be used to select a page
+programmatically.
+<p> QTabBar creates automatic accelerator keys in the manner of
+<a href="qbutton.html">QButton</a>; e.g. if a tab's label is "&amp;Graphics", Alt+G becomes an
+accelerator key for switching to that tab.
+<p> The following virtual functions may need to be reimplemented:
+<ul>
+<li> <a href="#paint">paint</a>() paints a single tab. <a href="#paintEvent">paintEvent</a>() calls paint() for
+each tab so that any overlap will look right.
+<li> <a href="#addTab">addTab</a>() creates a new tab and adds it to the bar.
+<li> <a href="#selectTab">selectTab</a>() decides which tab, if any, the user selects with the mouse.
+</ul>
+<p> The index of the current tab is returned by <a href="#currentTab">currentTab</a>(). The tab
+with a particular index is returned by <a href="#tabAt">tabAt</a>(), the tab with a
+particular id is returned by <a href="#tab">tab</a>(). The index of a tab is returned
+by <a href="#indexOf">indexOf</a>(). The current tab can be set by index or tab pointer
+using one of the <a href="#setCurrentTab">setCurrentTab</a>() functions.
+<p> <img src=qtabbar-m.png> <img src=qtabbar-w.png>
+<p>See also <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Shape-enum"></a>QTabBar::Shape</h3>
+
+<p> This enum type lists the built-in shapes supported by QTabBar:
+<ul>
+<li><tt>QTabBar::RoundedAbove</tt> - the normal rounded look above the pages
+<li><tt>QTabBar::RoundedBelow</tt> - the normal rounded look below the pages
+<li><tt>QTabBar::TriangularAbove</tt> - triangular tabs above the pages (very
+unusual; included for completeness)
+<li><tt>QTabBar::TriangularBelow</tt> - triangular tabs similar to those used in
+the Excel spreadsheet, for example
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTabBar"></a>QTabBar::QTabBar ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new, empty tab bar; the <em>parent</em> and <em>name</em>
+arguments are passed on to the <a href="qwidget.html">QWidget</a> constructor.
+
+<h3 class=fn><a name="~QTabBar"></a>QTabBar::~QTabBar ()
+</h3>
+Destroys the tab control, freeing memory used.
+
+<h3 class=fn>int <a name="addTab"></a>QTabBar::addTab ( <a href="qtab.html">QTab</a>&nbsp;*&nbsp;newTab )<tt> [virtual]</tt>
+</h3>
+Adds the tab, <em>newTab</em>, to the tab control.
+<p> Sets <em>newTab</em>'s id to a new id and places the tab just to the
+right of the existing tabs. If the tab's label contains an
+ampersand, the letter following the ampersand is used as an
+accelerator for the tab, e.g. if the label is "Bro&amp;wse" then
+Alt+W becomes an accelerator which will move the focus to this
+tab. Returns the id.
+<p> <p>See also <a href="#insertTab">insertTab</a>().
+
+<h3 class=fn>int <a name="count"></a>QTabBar::count () const
+</h3><p>Returns the number of tabs in the tab bar.
+See the <a href="qtabbar.html#count-prop">"count"</a> property for details.
+<h3 class=fn>int <a name="currentTab"></a>QTabBar::currentTab () const
+</h3><p>Returns the id of the tab bar's visible tab.
+See the <a href="qtabbar.html#currentTab-prop">"currentTab"</a> property for details.
+<h3 class=fn>int <a name="indexOf"></a>QTabBar::indexOf ( int&nbsp;id ) const
+</h3>
+Returns the position index of the tab with id <em>id</em> or -1 if no
+tab has this <em>id</em>.
+<p> <p>See also <a href="#tabAt">tabAt</a>().
+
+<h3 class=fn>int <a name="insertTab"></a>QTabBar::insertTab ( <a href="qtab.html">QTab</a>&nbsp;*&nbsp;newTab, int&nbsp;index = -1 )<tt> [virtual]</tt>
+</h3>
+Inserts the tab, <em>newTab</em>, into the tab control.
+<p> If <em>index</em> is not specified, the tab is simply appended.
+Otherwise it's inserted at the specified position.
+<p> Sets <em>newTab</em>'s id to a new id. If the tab's label contains an
+ampersand, the letter following the ampersand is used as an
+accelerator for the tab, e.g. if the label is "Bro&amp;wse" then
+Alt+W becomes an accelerator which will move the focus to this
+tab. Returns the id.
+<p> <p>See also <a href="#addTab">addTab</a>().
+
+<h3 class=fn>bool <a name="isTabEnabled"></a>QTabBar::isTabEnabled ( int&nbsp;id ) const
+</h3>
+Returns TRUE if the tab with id <em>id</em> exists and is enabled;
+otherwise returns FALSE.
+<p> <p>See also <a href="#setTabEnabled">setTabEnabled</a>().
+
+<h3 class=fn>int <a name="keyboardFocusTab"></a>QTabBar::keyboardFocusTab () const
+</h3><p>Returns the id of the tab that has the keyboard focus.
+See the <a href="qtabbar.html#keyboardFocusTab-prop">"keyboardFocusTab"</a> property for details.
+<h3 class=fn>void <a name="layoutChanged"></a>QTabBar::layoutChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> QTabBar emits the signal whenever the layout of the tab bar has
+been recalculated, for example when the contents of a tab change.
+
+<h3 class=fn>void <a name="layoutTabs"></a>QTabBar::layoutTabs ()<tt> [virtual]</tt>
+</h3>
+Lays out all existing tabs according to their label and their
+iconset.
+
+<h3 class=fn>void <a name="paint"></a>QTabBar::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;t, bool&nbsp;selected ) const<tt> [virtual protected]</tt>
+</h3>
+Paints the tab <em>t</em> using painter <em>p</em>. If and only if <em>selected</em>
+is TRUE, <em>t</em> is drawn currently selected.
+<p> This virtual function may be reimplemented to change the look of
+QTabBar. If you decide to reimplement it, you may also need to
+reimplement <a href="qwidget.html#sizeHint">sizeHint</a>().
+
+<h3 class=fn>void <a name="paintEvent"></a>QTabBar::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Repaints the tab row. All the painting is done by <a href="#paint">paint</a>();
+<a href="#paintEvent">paintEvent</a>() only decides which tabs need painting and in what
+order. The event is passed in <em>e</em>.
+<p> <p>See also <a href="#paint">paint</a>().
+
+<p>Reimplemented from <a href="qwidget.html#paintEvent">QWidget</a>.
+<h3 class=fn>void <a name="paintLabel"></a>QTabBar::paintLabel ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;br, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;t, bool&nbsp;has_focus ) const<tt> [virtual protected]</tt>
+</h3>
+Paints the label of tab <em>t</em> centered in rectangle <em>br</em> using
+painter <em>p</em>. A focus indication is drawn if <em>has_focus</em> is TRUE.
+
+<h3 class=fn>void <a name="removeTab"></a>QTabBar::removeTab ( <a href="qtab.html">QTab</a>&nbsp;*&nbsp;t )<tt> [virtual]</tt>
+</h3>
+Removes tab <em>t</em> from the tab control, and deletes the tab.
+
+<h3 class=fn>void <a name="removeToolTip"></a>QTabBar::removeToolTip ( int&nbsp;index )
+</h3>
+Removes the tool tip for the tab at index position <em>index</em>.
+
+<h3 class=fn><a href="qtab.html">QTab</a>&nbsp;* <a name="selectTab"></a>QTabBar::selectTab ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const<tt> [virtual]</tt>
+</h3>
+This virtual function is called by the mouse event handlers to
+determine which tab is pressed. The default implementation returns
+a pointer to the tab whose bounding rectangle contains <em>p</em>, if
+exactly one tab's bounding rectangle contains <em>p</em>. Otherwise it
+returns 0.
+<p> <p>See also <a href="qwidget.html#mousePressEvent">mousePressEvent</a>() and <a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>().
+
+<h3 class=fn>void <a name="selected"></a>QTabBar::selected ( int&nbsp;id )<tt> [signal]</tt>
+</h3>
+
+<p> QTabBar emits this signal whenever any tab is selected, whether by
+the program or by the user. The argument <em>id</em> is the id of the
+tab as returned by <a href="#addTab">addTab</a>().
+<p> <a href="qwidget.html#show">show</a>() is guaranteed to emit this signal; you can display your
+page in a slot connected to this signal.
+
+<h3 class=fn>void <a name="setCurrentTab"></a>QTabBar::setCurrentTab ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the id of the tab bar's visible tab.
+See the <a href="qtabbar.html#currentTab-prop">"currentTab"</a> property for details.
+<h3 class=fn>void <a name="setCurrentTab-2"></a>QTabBar::setCurrentTab ( <a href="qtab.html">QTab</a>&nbsp;*&nbsp;tab )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Raises <em>tab</em> and emits the <a href="#selected">selected</a>() signal unless the tab was
+already current.
+<p> <p>See also <a href="#currentTab-prop">currentTab</a> and <a href="#selected">selected</a>().
+
+<h3 class=fn>void <a name="setShape"></a>QTabBar::setShape ( <a href="qtabbar.html#Shape-enum">Shape</a> )<tt> [virtual]</tt>
+</h3><p>Sets the shape of the tabs in the tab bar.
+See the <a href="qtabbar.html#shape-prop">"shape"</a> property for details.
+<h3 class=fn>void <a name="setTabEnabled"></a>QTabBar::setTabEnabled ( int&nbsp;id, bool&nbsp;enabled )<tt> [virtual]</tt>
+</h3>
+Enables tab <em>id</em> if <em>enabled</em> is TRUE or disables it if <em>enabled</em> is FALSE. If <em>id</em> is currently selected,
+<a href="#setTabEnabled">setTabEnabled</a>(FALSE) makes another tab selected.
+<p> setTabEnabled() updates the display if this causes a change in <em>id</em>'s status.
+<p> <p>See also <a href="qwidget.html#update">update</a>() and <a href="#isTabEnabled">isTabEnabled</a>().
+
+<h3 class=fn>void <a name="setToolTip"></a>QTabBar::setToolTip ( int&nbsp;index, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tip )
+</h3>
+Sets the tool tip for the tab at index position <em>index</em> to <em>tip</em>.
+
+<h3 class=fn><a href="qtabbar.html#Shape-enum">Shape</a> <a name="shape"></a>QTabBar::shape () const
+</h3><p>Returns the shape of the tabs in the tab bar.
+See the <a href="qtabbar.html#shape-prop">"shape"</a> property for details.
+<h3 class=fn><a href="qtab.html">QTab</a>&nbsp;* <a name="tab"></a>QTabBar::tab ( int&nbsp;id ) const
+</h3>
+Returns the tab with id <em>id</em> or 0 if there is no such tab.
+<p> <p>See also <a href="#count-prop">count</a>.
+
+<h3 class=fn><a href="qtab.html">QTab</a>&nbsp;* <a name="tabAt"></a>QTabBar::tabAt ( int&nbsp;index ) const
+</h3>
+Returns the tab at position <em>index</em>.
+<p> <p>See also <a href="#indexOf">indexOf</a>().
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QTab&gt;&nbsp;* <a name="tabList"></a>QTabBar::tabList ()<tt> [protected]</tt>
+</h3>
+The list of <a href="qtab.html">QTab</a> objects in the tab bar.
+<p> This list is unlikely to be in the order that the QTab elements
+appear visually. One way of iterating over the tabs is like this:
+<pre>
+ for ( uint i = 0; i &lt; myTabBar-&gt;count(); ++i ) {
+ nextTab = myTabBar-&gt;tabAt( i );
+ // do something with nextTab
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toolTip"></a>QTabBar::toolTip ( int&nbsp;index ) const
+</h3>
+Returns the tool tip for the tab at index position <em>index</em>.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of tabs in the tab bar.
+<p>Get this property's value with <a href="#count">count</a>().
+<p><p>See also <a href="#tab">tab</a>().
+
+<h3 class=fn>int <a name="currentTab-prop"></a>currentTab</h3>
+<p>This property holds the id of the tab bar's visible tab.
+<p>If no tab page is currently visible, the property's value is -1.
+Even if the property's value is not -1, you cannot assume that the
+user can see the relevant page, or that the tab is enabled. When
+you need to display something the value of this property
+represents the best page to display.
+<p> When this property is set to <em>id</em>, it will raise the tab with the
+id <em>id</em> and emit the <a href="#selected">selected</a>() signal.
+<p> <p>See also <a href="#selected">selected</a>() and <a href="#isTabEnabled">isTabEnabled</a>().
+
+<p>Set this property's value with <a href="#setCurrentTab">setCurrentTab</a>() and get this property's value with <a href="#currentTab">currentTab</a>().
+<h3 class=fn>int <a name="keyboardFocusTab-prop"></a>keyboardFocusTab</h3>
+<p>This property holds the id of the tab that has the <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p>This property contains the id of the tab that has the keyboard
+focus or -1 if the tab bar does not have the keyboard focus.
+
+<p>Get this property's value with <a href="#keyboardFocusTab">keyboardFocusTab</a>().
+<h3 class=fn><a href="qtabbar.html#Shape-enum">Shape</a> <a name="shape-prop"></a>shape</h3>
+<p>This property holds the shape of the tabs in the tab bar.
+<p>The value of this property is one of the following: <a href="#Shape-enum">RoundedAbove</a> (default), <a href="#Shape-enum">RoundedBelow</a>, <a href="#Shape-enum">TriangularAbove</a> or <a href="#Shape-enum">TriangularBelow</a>.
+<p> <p>See also <a href="#Shape-enum">Shape</a>.
+
+<p>Set this property's value with <a href="#setShape">setShape</a>() and get this property's value with <a href="#shape">shape</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabdialog-h.html b/doc/html/qtabdialog-h.html
new file mode 100644
index 0000000..475a96d
--- /dev/null
+++ b/doc/html/qtabdialog-h.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabdialog.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtabdialog.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtabdialog.h</h1>
+
+<p>This is the verbatim text of the qtabdialog.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtabdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of QTabDialog class
+**
+** Created : 960825
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTABDIALOG_H
+#define QTABDIALOG_H
+
+#ifndef QT_H
+#include "qdialog.h"
+#include "qiconset.h"
+#endif // QT_H
+
+#ifndef QT_NO_TABDIALOG
+
+class QTabBar;
+class QTab;
+class QTabDialogPrivate;
+
+class Q_EXPORT QTabDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ QTabDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE,
+ WFlags f=0 );
+ ~QTabDialog();
+
+ void show();
+ void setFont( const QFont &amp; font );
+
+ void addTab( QWidget *, const QString &amp;);
+ void addTab( QWidget *child, const QIconSet&amp; iconset, const QString &amp;label);
+ void addTab( QWidget *, QTab* );
+
+ void insertTab( QWidget *, const QString &amp;, int index = -1);
+ void insertTab( QWidget *child, const QIconSet&amp; iconset, const QString &amp;label, int index = -1);
+ void insertTab( QWidget *, QTab*, int index = -1 );
+
+ void changeTab( QWidget *, const QString &amp;);
+ void changeTab( QWidget *child, const QIconSet&amp; iconset, const QString &amp;label);
+
+ bool isTabEnabled( QWidget * ) const;
+ void setTabEnabled( QWidget *, bool );
+ bool isTabEnabled( const char* ) const; // compatibility
+ void setTabEnabled( const char*, bool ); // compatibility
+
+ void showPage( QWidget * );
+ void removePage( QWidget * );
+ QString tabLabel( QWidget * );
+
+ QWidget * currentPage() const;
+
+ void setDefaultButton( const QString &amp;text );
+ void setDefaultButton();
+ bool hasDefaultButton() const;
+
+ void setHelpButton( const QString &amp;text );
+ void setHelpButton();
+ bool hasHelpButton() const;
+
+ void setCancelButton( const QString &amp;text );
+ void setCancelButton();
+ bool hasCancelButton() const;
+
+ void setApplyButton( const QString &amp;text );
+ void setApplyButton();
+ bool hasApplyButton() const;
+
+#ifndef Q_QDOC
+ void setOKButton( const QString &amp;text = QString::null );
+#endif
+ void setOkButton( const QString &amp;text );
+ void setOkButton();
+ bool hasOkButton() const;
+
+protected:
+ void paintEvent( QPaintEvent * );
+ void resizeEvent( QResizeEvent * );
+ void styleChange( QStyle&amp; );
+ void setTabBar( QTabBar* );
+ QTabBar* tabBar() const;
+
+signals:
+ void aboutToShow();
+
+ void applyButtonPressed();
+ void cancelButtonPressed();
+ void defaultButtonPressed();
+ void helpButtonPressed();
+
+ void currentChanged( QWidget * );
+ void selected( const QString&amp; ); // obsolete
+
+private slots:
+ void showTab( int i );
+
+private:
+ void setSizes();
+ void setUpLayout();
+
+ QTabDialogPrivate *d;
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTabDialog( const QTabDialog &amp; );
+ QTabDialog&amp; operator=( const QTabDialog &amp; );
+#endif
+};
+
+#endif // QT_NO_TABDIALOG
+
+#endif // QTABDIALOG_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabdialog-members.html b/doc/html/qtabdialog-members.html
new file mode 100644
index 0000000..ef24be0
--- /dev/null
+++ b/doc/html/qtabdialog-members.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabdialog.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabDialog Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTabDialog</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtabdialog.html">QTabDialog</a>, including inherited members.
+
+<ul>
+<li><a href="qtabdialog.html#QTabDialog">QTabDialog</a>()
+<li><a href="qtabdialog.html#~QTabDialog">~QTabDialog</a>()
+<li><a href="qtabdialog.html#aboutToShow">aboutToShow</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtabdialog.html#addTab">addTab</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qtabdialog.html#applyButtonPressed">applyButtonPressed</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtabdialog.html#cancelButtonPressed">cancelButtonPressed</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qtabdialog.html#changeTab">changeTab</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtabdialog.html#currentChanged">currentChanged</a>()
+<li><a href="qtabdialog.html#currentPage">currentPage</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qtabdialog.html#defaultButtonPressed">defaultButtonPressed</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qtabdialog.html#hasApplyButton">hasApplyButton</a>()
+<li><a href="qtabdialog.html#hasCancelButton">hasCancelButton</a>()
+<li><a href="qtabdialog.html#hasDefaultButton">hasDefaultButton</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qtabdialog.html#hasHelpButton">hasHelpButton</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qtabdialog.html#hasOkButton">hasOkButton</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qtabdialog.html#helpButtonPressed">helpButtonPressed</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtabdialog.html#insertTab">insertTab</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qtabdialog.html#isTabEnabled">isTabEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtabdialog.html#removePage">removePage</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qtabdialog.html#selected">selected</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qtabdialog.html#setApplyButton">setApplyButton</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qtabdialog.html#setCancelButton">setCancelButton</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qtabdialog.html#setDefaultButton">setDefaultButton</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qtabdialog.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qtabdialog.html#setHelpButton">setHelpButton</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtabdialog.html#setOkButton">setOkButton</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtabdialog.html#setTabBar">setTabBar</a>()
+<li><a href="qtabdialog.html#setTabEnabled">setTabEnabled</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qtabdialog.html#showPage">showPage</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtabdialog.html#tabBar">tabBar</a>()
+<li><a href="qtabdialog.html#tabLabel">tabLabel</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabdialog.html b/doc/html/qtabdialog.html
new file mode 100644
index 0000000..079f992
--- /dev/null
+++ b/doc/html/qtabdialog.html
@@ -0,0 +1,506 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qtabdialog.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabDialog Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTabDialog Class Reference</h1>
+
+<p>The QTabDialog class provides a stack of tabbed widgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtabdialog-h.html">qtabdialog.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qtabdialog-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTabDialog"><b>QTabDialog</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QTabDialog"><b>~QTabDialog</b></a> ()</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>void <a href="#addTab"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>void <a href="#addTab-2"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>void <a href="#addTab-3"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, QTab&nbsp;*&nbsp;tab )</li>
+<li class=fn>void <a href="#insertTab"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertTab-2"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#insertTab-3"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, QTab&nbsp;*&nbsp;tab, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#changeTab-2"><b>changeTab</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>void <a href="#changeTab"><b>changeTab</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>bool <a href="#isTabEnabled"><b>isTabEnabled</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>void <a href="#setTabEnabled"><b>setTabEnabled</b></a> ( QWidget&nbsp;*&nbsp;w, bool&nbsp;enable )</li>
+<li class=fn>bool isTabEnabled ( const&nbsp;char&nbsp;*&nbsp;name ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setTabEnabled ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#showPage"><b>showPage</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#removePage"><b>removePage</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QString <a href="#tabLabel"><b>tabLabel</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#currentPage"><b>currentPage</b></a> () const</li>
+<li class=fn>void <a href="#setDefaultButton"><b>setDefaultButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setDefaultButton-2"><b>setDefaultButton</b></a> ()</li>
+<li class=fn>bool <a href="#hasDefaultButton"><b>hasDefaultButton</b></a> () const</li>
+<li class=fn>void <a href="#setHelpButton"><b>setHelpButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setHelpButton-2"><b>setHelpButton</b></a> ()</li>
+<li class=fn>bool <a href="#hasHelpButton"><b>hasHelpButton</b></a> () const</li>
+<li class=fn>void <a href="#setCancelButton"><b>setCancelButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setCancelButton-2"><b>setCancelButton</b></a> ()</li>
+<li class=fn>bool <a href="#hasCancelButton"><b>hasCancelButton</b></a> () const</li>
+<li class=fn>void <a href="#setApplyButton"><b>setApplyButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setApplyButton-2"><b>setApplyButton</b></a> ()</li>
+<li class=fn>bool <a href="#hasApplyButton"><b>hasApplyButton</b></a> () const</li>
+<li class=fn>void <a href="#setOkButton"><b>setOkButton</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setOkButton-2"><b>setOkButton</b></a> ()</li>
+<li class=fn>bool <a href="#hasOkButton"><b>hasOkButton</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#aboutToShow"><b>aboutToShow</b></a> ()</li>
+<li class=fn>void <a href="#applyButtonPressed"><b>applyButtonPressed</b></a> ()</li>
+<li class=fn>void <a href="#cancelButtonPressed"><b>cancelButtonPressed</b></a> ()</li>
+<li class=fn>void <a href="#defaultButtonPressed"><b>defaultButtonPressed</b></a> ()</li>
+<li class=fn>void <a href="#helpButtonPressed"><b>helpButtonPressed</b></a> ()</li>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QWidget * )</li>
+<li class=fn>void selected ( const QString &amp; ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setTabBar"><b>setTabBar</b></a> ( QTabBar&nbsp;*&nbsp;tb )</li>
+<li class=fn>QTabBar * <a href="#tabBar"><b>tabBar</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QTabDialog class provides a stack of tabbed widgets.
+<p>
+
+<p> A tabbed dialog is one in which several "tab pages" are available.
+By clicking on a tab page's tab or by pressing the indicated
+Alt+<em>letter</em> key combination, the user can select which tab page
+they want to use.
+<p> QTabDialog provides a tab bar consisting of single row of tabs at
+the top; each tab has an associated widget which is that tab's
+tab page. In addition, QTabDialog provides an OK button and the
+following optional buttons: Apply, Cancel, Defaults and Help.
+<p> The normal way to use QTabDialog is to do the following in the
+constructor:
+<ol type=1>
+<li> Create a QTabDialog.
+<li> Create a <a href="qwidget.html">QWidget</a> for each of the pages in the tab dialog, insert
+children into it, set up geometry management for it, and use
+<a href="#addTab">addTab</a>() (or <a href="#insertTab">insertTab</a>()) to set up a tab and keyboard accelerator
+for it.
+<li> Set up the buttons for the tab dialog using <a href="#setOkButton">setOkButton</a>(),
+<a href="#setApplyButton">setApplyButton</a>(), setDefaultsButton(), <a href="#setCancelButton">setCancelButton</a>() and
+<a href="#setHelpButton">setHelpButton</a>().
+<li> Connect to the signals and slots.
+</ol>
+<p> If you don't call addTab() the page you have created will not be
+visible. Don't confuse the object name you supply to the
+QWidget constructor and the tab label you supply to addTab();
+addTab() takes user-visible name that appears on the widget's tab
+and may identify an accelerator, whereas the widget name is used
+primarily for debugging.
+<p> Almost all applications have to connect the <a href="#applyButtonPressed">applyButtonPressed</a>()
+signal to something. applyButtonPressed() is emitted when either OK
+or Apply is clicked, and your slot must copy the dialog's state into
+the application.
+<p> There are also several other signals which may be useful:
+<ul>
+<li> <a href="#cancelButtonPressed">cancelButtonPressed</a>() is emitted when the user clicks Cancel.
+<li> <a href="#defaultButtonPressed">defaultButtonPressed</a>() is emitted when the user clicks Defaults;
+the slot it is connected to should reset the state of the dialog to
+the application defaults.
+<li> <a href="#helpButtonPressed">helpButtonPressed</a>() is emitted when the user clicks Help.
+<li> <a href="#aboutToShow">aboutToShow</a>() is emitted at the start of <a href="qdialog.html#show">show</a>(); if there is any
+chance that the state of the application may change between the
+creation of the tab dialog and the time show() is called, you must
+connect this signal to a slot that resets the state of the dialog.
+<li> <a href="#currentChanged">currentChanged</a>() is emitted when the user selects a page.
+</ul>
+<p> Each tab is either enabled or disabled at any given time (see
+<a href="#setTabEnabled">setTabEnabled</a>()). If a tab is enabled the tab text is drawn in
+black and the user can select that tab. If it is disabled the tab
+is drawn in a different way and the user cannot select that tab.
+Note that even if a tab is disabled, the page can still be visible;
+for example, if all of the tabs happen to be disabled.
+<p> You can change a tab's label and iconset using <a href="#changeTab">changeTab</a>(). A tab
+page can be removed with <a href="#removePage">removePage</a>() and shown with <a href="#showPage">showPage</a>(). The
+current page is given by <a href="#currentPage">currentPage</a>().
+<p> QTabDialog does not support tabs on the sides or bottom, nor can
+you set or retrieve the visible page. If you need more functionality
+than QTabDialog provides, consider creating a <a href="qdialog.html">QDialog</a> and using a
+<a href="qtabbar.html">QTabBar</a> with QTabWidgets.
+<p> Most of the functionality in QTabDialog is provided by a <a href="qtabwidget.html">QTabWidget</a>.
+<p> <img src=qtabdlg-m.png> <img src=qtabdlg-w.png>
+<p> <p>See also <a href="qdialog.html">QDialog</a> and <a href="dialogs.html">Dialog Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTabDialog"></a>QTabDialog::QTabDialog ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a QTabDialog with only an OK button.
+The <em>parent</em>, <em>name</em>, <em>modal</em> and <a href="qt.html#WidgetFlags">widget flag</a>, <em>f</em>, arguments
+are passed on to the <a href="qdialog.html">QDialog</a> constructor.
+
+<h3 class=fn><a name="~QTabDialog"></a>QTabDialog::~QTabDialog ()
+</h3>
+Destroys the tab dialog.
+
+<h3 class=fn>void <a name="aboutToShow"></a>QTabDialog::aboutToShow ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted by <a href="qdialog.html#show">show</a>() when it is time to set the state of
+the dialog's contents. The dialog should reflect the current state
+of the application when it appears; if there is any possibility that
+the state of the application may change between the time you call
+<a href="#QTabDialog">QTabDialog::QTabDialog</a>() and <a href="qdialog.html#show">QTabDialog::show</a>(), you should set the
+dialog's state in a slot and connect this signal to it.
+<p> This applies mainly to QTabDialog objects that are kept around
+hidden, rather than being created, shown, and deleted afterwards.
+<p> <p>See also <a href="#applyButtonPressed">applyButtonPressed</a>(), <a href="qdialog.html#show">show</a>(), and <a href="#cancelButtonPressed">cancelButtonPressed</a>().
+
+<h3 class=fn>void <a name="addTab"></a>QTabDialog::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+Adds another tab and page to the tab view.
+<p> The new page is <em>child</em>; the tab's label is <em>label</em>.
+Note the difference between the widget name (which you supply to
+widget constructors and to <a href="#setTabEnabled">setTabEnabled</a>(), for example) and the tab
+label. The name is internal to the program and invariant, whereas
+the label is shown on-screen and may vary according to language and
+other factors.
+<p> If the tab's <em>label</em> contains an ampersand, the letter following
+the ampersand is used as an accelerator for the tab, e.g. if the
+label is "Bro&wse" then Alt+W becomes an accelerator which will
+move the focus to this tab.
+<p> If you call <a href="#addTab">addTab</a>() after <a href="qdialog.html#show">show</a>() the screen will flicker and the
+user may be confused.
+<p> <p>See also <a href="#insertTab">insertTab</a>().
+
+<h3 class=fn>void <a name="addTab-2"></a>QTabDialog::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version of the function shows the <em>iconset</em> as well as the <em>label</em> on the tab of <em>child</em>.
+
+<h3 class=fn>void <a name="addTab-3"></a>QTabDialog::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;tab )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is a lower-level method for adding tabs, similar to the other
+<a href="#addTab">addTab</a>() method. It is useful if you are using <a href="#setTabBar">setTabBar</a>() to set a
+<a href="qtabbar.html">QTabBar</a> subclass with an overridden <a href="qtabbar.html#paint">QTabBar::paint</a>() function for a
+subclass of <a href="qtab.html">QTab</a>.
+<p> The <em>child</em> is the widget to be placed on the new tab page. The <em>tab</em> is the tab to display on the tab page -- normally this shows a
+label or an icon that identifies the tab page.
+<p>
+<h3 class=fn>void <a name="applyButtonPressed"></a>QTabDialog::applyButtonPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when either the Apply or OK button is clicked.
+<p> It should be connected to a slot (or several slots) that change the
+application's state according to the state of the dialog.
+<p> <p>See also <a href="#cancelButtonPressed">cancelButtonPressed</a>(), <a href="#defaultButtonPressed">defaultButtonPressed</a>(), and <a href="#setApplyButton">setApplyButton</a>().
+
+<h3 class=fn>void <a name="cancelButtonPressed"></a>QTabDialog::cancelButtonPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the Cancel button is clicked. It is
+automatically connected to <a href="qdialog.html#reject">QDialog::reject</a>(), which will hide the
+dialog.
+<p> The Cancel button should not change the application's state at all,
+so you should generally not need to connect it to any slot.
+<p> <p>See also <a href="#applyButtonPressed">applyButtonPressed</a>(), <a href="#defaultButtonPressed">defaultButtonPressed</a>(), and <a href="#setCancelButton">setCancelButton</a>().
+
+<h3 class=fn>void <a name="changeTab"></a>QTabDialog::changeTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+Changes tab page <em>w</em>'s iconset to <em>iconset</em> and label to <em>label</em>.
+<p>
+<h3 class=fn>void <a name="changeTab-2"></a>QTabDialog::changeTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Defines a new <em>label</em> for the tab of page <em>w</em>
+
+<h3 class=fn>void <a name="currentChanged"></a>QTabDialog::currentChanged ( <a href="qwidget.html">QWidget</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted whenever the current page changes.
+<p> <p>See also <a href="#currentPage">currentPage</a>(), <a href="#showPage">showPage</a>(), and <a href="#tabLabel">tabLabel</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="currentPage"></a>QTabDialog::currentPage () const
+</h3> Returns a pointer to the page currently being displayed by the
+tab dialog. The tab dialog does its best to make sure that this value
+is never 0 (but if you try hard enough, it can be).
+
+<h3 class=fn>void <a name="defaultButtonPressed"></a>QTabDialog::defaultButtonPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the Defaults button is pressed. It
+should reset the dialog (but not the application) to the "factory
+defaults".
+<p> The application's state should not be changed until the user clicks
+Apply or OK.
+<p> <p>See also <a href="#applyButtonPressed">applyButtonPressed</a>(), <a href="#cancelButtonPressed">cancelButtonPressed</a>(), and <a href="#setDefaultButton">setDefaultButton</a>().
+
+<h3 class=fn>bool <a name="hasApplyButton"></a>QTabDialog::hasApplyButton () const
+</h3>
+Returns TRUE if the tab dialog has an Apply button; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setApplyButton">setApplyButton</a>(), <a href="#applyButtonPressed">applyButtonPressed</a>(), <a href="#hasCancelButton">hasCancelButton</a>(), and <a href="#hasDefaultButton">hasDefaultButton</a>().
+
+<h3 class=fn>bool <a name="hasCancelButton"></a>QTabDialog::hasCancelButton () const
+</h3>
+Returns TRUE if the tab dialog has a Cancel button; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setCancelButton">setCancelButton</a>(), <a href="#cancelButtonPressed">cancelButtonPressed</a>(), <a href="#hasApplyButton">hasApplyButton</a>(), and <a href="#hasDefaultButton">hasDefaultButton</a>().
+
+<h3 class=fn>bool <a name="hasDefaultButton"></a>QTabDialog::hasDefaultButton () const
+</h3>
+Returns TRUE if the tab dialog has a Defaults button; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setDefaultButton">setDefaultButton</a>(), <a href="#defaultButtonPressed">defaultButtonPressed</a>(), <a href="#hasApplyButton">hasApplyButton</a>(), and <a href="#hasCancelButton">hasCancelButton</a>().
+
+<h3 class=fn>bool <a name="hasHelpButton"></a>QTabDialog::hasHelpButton () const
+</h3>
+Returns TRUE if the tab dialog has a Help button; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setHelpButton">setHelpButton</a>(), <a href="#helpButtonPressed">helpButtonPressed</a>(), <a href="#hasApplyButton">hasApplyButton</a>(), and <a href="#hasCancelButton">hasCancelButton</a>().
+
+<h3 class=fn>bool <a name="hasOkButton"></a>QTabDialog::hasOkButton () const
+</h3>
+Returns TRUE if the tab dialog has an OK button; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setOkButton">setOkButton</a>(), <a href="#hasApplyButton">hasApplyButton</a>(), <a href="#hasCancelButton">hasCancelButton</a>(), and <a href="#hasDefaultButton">hasDefaultButton</a>().
+
+<h3 class=fn>void <a name="helpButtonPressed"></a>QTabDialog::helpButtonPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the Help button is pressed. It
+could be used to present information about how to use the dialog.
+<p> <p>See also <a href="#applyButtonPressed">applyButtonPressed</a>(), <a href="#cancelButtonPressed">cancelButtonPressed</a>(), and <a href="#setHelpButton">setHelpButton</a>().
+
+<h3 class=fn>void <a name="insertTab"></a>QTabDialog::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )
+</h3>
+Inserts another tab and page to the tab view.
+<p> The new page is <em>child</em>; the tab's label is <em>label</em>.
+Note the difference between the widget name (which you supply to
+widget constructors and to <a href="#setTabEnabled">setTabEnabled</a>(), for example) and the tab
+label. The name is internal to the program and invariant, whereas
+the label is shown on-screen and may vary according to language and
+other factors.
+<p> If the tab's <em>label</em> contains an ampersand, the letter following
+the ampersand is used as an accelerator for the tab, e.g. if the
+label is "Bro&wse" then Alt+W becomes an accelerator which will
+move the focus to this tab.
+<p> If <em>index</em> is not specified, the tab is simply added. Otherwise
+it is inserted at the specified position.
+<p> If you call <a href="#insertTab">insertTab</a>() after <a href="qdialog.html#show">show</a>(), the screen will flicker and the
+user may be confused.
+<p> <p>See also <a href="#addTab">addTab</a>().
+
+<h3 class=fn>void <a name="insertTab-2"></a>QTabDialog::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version of the function shows the <em>iconset</em> as well as the <em>label</em> on the tab of <em>child</em>.
+
+<h3 class=fn>void <a name="insertTab-3"></a>QTabDialog::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;tab, int&nbsp;index = -1 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is a lower-level method for inserting tabs, similar to the other
+<a href="#insertTab">insertTab</a>() method. It is useful if you are using <a href="#setTabBar">setTabBar</a>() to set a
+<a href="qtabbar.html">QTabBar</a> subclass with an overridden <a href="qtabbar.html#paint">QTabBar::paint</a>() function for a
+subclass of <a href="qtab.html">QTab</a>.
+<p> The <em>child</em> is the widget to be placed on the new tab page. The <em>tab</em> is the tab to display on the tab page -- normally this shows a
+label or an icon that identifies the tab page. The <em>index</em> is the
+position where this tab page should be inserted.
+<p>
+<h3 class=fn>bool <a name="isTabEnabled"></a>QTabDialog::isTabEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns TRUE if the page <em>w</em> is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setTabEnabled">setTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn>bool <a name="isTabEnabled-2"></a>QTabDialog::isTabEnabled ( const&nbsp;char&nbsp;*&nbsp;name ) const
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns TRUE if the page with object name <em>name</em> is enabled and
+FALSE if it is disabled.
+<p> If <em>name</em> is 0 or not the name of any of the pages, <a href="#isTabEnabled">isTabEnabled</a>()
+returns FALSE.
+<p> <p>See also <a href="#setTabEnabled">setTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn>void <a name="removePage"></a>QTabDialog::removePage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3> Removes page <em>w</em> from this stack of widgets. Does not
+delete <em>w</em>.
+<p>See also <a href="#showPage">showPage</a>(), <a href="qtabwidget.html#removePage">QTabWidget::removePage</a>(), and <a href="qwidgetstack.html#removeWidget">QWidgetStack::removeWidget</a>().
+
+<h3 class=fn>void <a name="selected"></a>QTabDialog::selected ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This signal is emitted whenever a tab is selected (raised),
+including during the first <a href="qdialog.html#show">show</a>().
+<p> <p>See also <a href="qwidget.html#raise">raise</a>().
+
+<h3 class=fn>void <a name="setApplyButton"></a>QTabDialog::setApplyButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Adds an Apply button to the dialog. The button's text is set to <em>text</em>.
+<p> The Apply button should apply the current settings in the dialog box
+to the application while keeping the dialog visible.
+<p> When Apply is clicked, the <a href="#applyButtonPressed">applyButtonPressed</a>() signal is emitted.
+<p> If <em>text</em> is a
+<a href="qstring.html#operator!">null string</a>,
+no button is shown.
+<p> <p>See also <a href="#setCancelButton">setCancelButton</a>(), <a href="#setDefaultButton">setDefaultButton</a>(), and <a href="#applyButtonPressed">applyButtonPressed</a>().
+
+<h3 class=fn>void <a name="setApplyButton-2"></a>QTabDialog::setApplyButton ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds an Apply button to the dialog. The button's text is set to
+a localizable "Apply".
+
+<h3 class=fn>void <a name="setCancelButton"></a>QTabDialog::setCancelButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Adds a Cancel button to the dialog. The button's text is set to <em>text</em>.
+<p> The cancel button should always return the application to the state
+it was in before the tab view popped up, or if the user has clicked
+Apply, back to the state immediately after the last Apply.
+<p> When Cancel is clicked, the <a href="#cancelButtonPressed">cancelButtonPressed</a>() signal is emitted.
+The dialog is closed at the same time.
+<p> If <em>text</em> is a
+<a href="qstring.html#operator!">null string</a>,
+no button is shown.
+<p> <p>See also <a href="#setApplyButton">setApplyButton</a>(), <a href="#setDefaultButton">setDefaultButton</a>(), and <a href="#cancelButtonPressed">cancelButtonPressed</a>().
+
+<h3 class=fn>void <a name="setCancelButton-2"></a>QTabDialog::setCancelButton ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a Cancel button to the dialog. The button's text is set to
+a localizable "Cancel".
+
+<h3 class=fn>void <a name="setDefaultButton"></a>QTabDialog::setDefaultButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Adds a Defaults button to the dialog. The button's text is set to <em>text</em>.
+<p> The Defaults button should set the dialog (but not the application)
+back to the application defaults.
+<p> When Defaults is clicked, the <a href="#defaultButtonPressed">defaultButtonPressed</a>() signal is emitted.
+<p> If <em>text</em> is a
+<a href="qstring.html#operator!">null string</a>,
+no button is shown.
+<p> <p>See also <a href="#setApplyButton">setApplyButton</a>(), <a href="#setCancelButton">setCancelButton</a>(), and <a href="#defaultButtonPressed">defaultButtonPressed</a>().
+
+<h3 class=fn>void <a name="setDefaultButton-2"></a>QTabDialog::setDefaultButton ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a Defaults button to the dialog. The button's text is set to
+a localizable "Defaults".
+
+<h3 class=fn>void <a name="setFont"></a>QTabDialog::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )<tt> [virtual]</tt>
+</h3>
+Sets the font for the tabs to <em>font</em>.
+<p> If the widget is visible, the display is updated with the new font
+immediately. There may be some geometry changes, depending on the
+size of the old and new fonts.
+
+<p>Reimplemented from <a href="qwidget.html#setFont">QWidget</a>.
+<h3 class=fn>void <a name="setHelpButton"></a>QTabDialog::setHelpButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Adds a Help button to the dialog. The button's text is set to <em>text</em>.
+<p> When Help is clicked, the <a href="#helpButtonPressed">helpButtonPressed</a>() signal is emitted.
+<p> If <em>text</em> is a
+<a href="qstring.html#operator!">null string</a>,
+no button is shown.
+<p> <p>See also <a href="#setApplyButton">setApplyButton</a>(), <a href="#setCancelButton">setCancelButton</a>(), and <a href="#helpButtonPressed">helpButtonPressed</a>().
+
+<h3 class=fn>void <a name="setHelpButton-2"></a>QTabDialog::setHelpButton ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a Help button to the dialog. The button's text is set to
+a localizable "Help".
+
+<h3 class=fn>void <a name="setOkButton"></a>QTabDialog::setOkButton ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Adds an OK button to the dialog and sets the button's text to <em>text</em>.
+<p> When the OK button is clicked, the <a href="#applyButtonPressed">applyButtonPressed</a>() signal is emitted,
+and the current settings in the dialog box should be applied to
+the application. The dialog then closes.
+<p> If <em>text</em> is a
+<a href="qstring.html#operator!">null string</a>,
+no button is shown.
+<p> <p>See also <a href="#setCancelButton">setCancelButton</a>(), <a href="#setDefaultButton">setDefaultButton</a>(), and <a href="#applyButtonPressed">applyButtonPressed</a>().
+
+<h3 class=fn>void <a name="setOkButton-2"></a>QTabDialog::setOkButton ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds an OK button to the dialog. The button's text is set to
+a localizable "OK".
+
+<h3 class=fn>void <a name="setTabBar"></a>QTabDialog::setTabBar ( <a href="qtabbar.html">QTabBar</a>&nbsp;*&nbsp;tb )<tt> [protected]</tt>
+</h3>
+Replaces the <a href="qtabbar.html">QTabBar</a> heading the dialog by the given tab bar, <em>tb</em>.
+Note that this must be called <em>before</em> any tabs have been added,
+or the behavior is undefined.
+<p>See also <a href="#tabBar">tabBar</a>().
+
+<h3 class=fn>void <a name="setTabEnabled"></a>QTabDialog::setTabEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE the page <em>w</em> is enabled; otherwise <em>w</em> is
+disabled. The page's tab is redrawn appropriately.
+<p> <a href="qtabwidget.html">QTabWidget</a> uses <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() internally, rather than keeping a
+separate flag.
+<p> Note that even a disabled tab and tab page may be visible. If the
+page is already visible QTabWidget will not hide it; if all the
+pages are disabled QTabWidget will show one of them.
+<p> <p>See also <a href="#isTabEnabled">isTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn>void <a name="setTabEnabled-2"></a>QTabDialog::setTabEnabled ( const&nbsp;char&nbsp;*&nbsp;name, bool&nbsp;enable )
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Finds the page with object name <em>name</em>, enables/disables it
+according to the value of <em>enable</em> and redraws the page's tab
+appropriately.
+<p> QTabDialog uses <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() internally, rather than keeping a
+separate flag.
+<p> Note that even a disabled tab/page may be visible. If the page is
+already visible QTabDialog will not hide it; if all the pages
+are disabled QTabDialog will show one of them.
+<p> The object name is used (rather than the tab label) because the tab
+text may not be invariant in multi-language applications.
+<p> <p>See also <a href="#isTabEnabled">isTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn>void <a name="showPage"></a>QTabDialog::showPage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3> Ensures that widget <em>w</em> is shown. This is mainly useful for accelerators.
+<p> <b>Warning:</b> If used carelessly, this function can easily surprise or
+confuse the user.
+<p> <p>See also <a href="qtabbar.html#currentTab-prop">QTabBar::currentTab</a>.
+
+<h3 class=fn><a href="qtabbar.html">QTabBar</a>&nbsp;* <a name="tabBar"></a>QTabDialog::tabBar () const<tt> [protected]</tt>
+</h3>
+Returns the currently set <a href="qtabbar.html">QTabBar</a>.
+<p>See also <a href="#setTabBar">setTabBar</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="tabLabel"></a>QTabDialog::tabLabel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3> Returns the text in the tab for page <em>w</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabdlg-m.png b/doc/html/qtabdlg-m.png
new file mode 100644
index 0000000..a833156
--- /dev/null
+++ b/doc/html/qtabdlg-m.png
Binary files differ
diff --git a/doc/html/qtabdlg-w.png b/doc/html/qtabdlg-w.png
new file mode 100644
index 0000000..80c09b5
--- /dev/null
+++ b/doc/html/qtabdlg-w.png
Binary files differ
diff --git a/doc/html/qtable-h.html b/doc/html/qtable-h.html
new file mode 100644
index 0000000..69f2341
--- /dev/null
+++ b/doc/html/qtable-h.html
@@ -0,0 +1,608 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtable.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtable.h</h1>
+
+<p>This is the verbatim text of the qtable.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+**
+** Definition of QTable widget class
+**
+** Created : 000607
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the table module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTABLE_H
+#define QTABLE_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#include "qpixmap.h"
+#include "qptrvector.h"
+#include "qheader.h"
+#include "qmemarray.h"
+#include "qptrlist.h"
+#include "qguardedptr.h"
+#include "qshared.h"
+#include "qintdict.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+
+#ifndef QT_NO_TABLE
+
+#if !defined( QT_MODULE_TABLE ) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_TABLE )
+#define QM_EXPORT_TABLE
+#ifndef QM_TEMPLATE_EXTERN_TABLE
+# define QM_TEMPLATE_EXTERN_TABLE
+#endif
+#else
+#define QM_EXPORT_TABLE Q_EXPORT
+#define QM_TEMPLATE_EXTERN_TABLE Q_TEMPLATE_EXTERN
+#endif
+
+class QTableHeader;
+class QValidator;
+class QTable;
+class QPaintEvent;
+class QTimer;
+class QResizeEvent;
+class QComboBox;
+class QCheckBox;
+class QDragObject;
+
+struct QTablePrivate;
+struct QTableHeaderPrivate;
+
+
+class QM_EXPORT_TABLE QTableSelection
+{
+public:
+ QTableSelection();
+ QTableSelection( int start_row, int start_col, int end_row, int end_col );
+ void init( int row, int col );
+ void expandTo( int row, int col );
+ bool operator==( const QTableSelection &amp;s ) const;
+ bool operator!=( const QTableSelection &amp;s ) const { return !(operator==(s)); }
+
+ int topRow() const { return tRow; }
+ int bottomRow() const { return bRow; }
+ int leftCol() const { return lCol; }
+ int rightCol() const { return rCol; }
+ int anchorRow() const { return aRow; }
+ int anchorCol() const { return aCol; }
+ int numRows() const;
+ int numCols() const;
+
+ bool isActive() const { return active; }
+ bool isEmpty() const { return numRows() == 0; }
+
+private:
+ uint active : 1;
+ uint inited : 1;
+ int tRow, lCol, bRow, rCol;
+ int aRow, aCol;
+};
+
+#define Q_DEFINED_QTABLE_SELECTION
+#include "qwinexport.h"
+
+class QM_EXPORT_TABLE QTableItem : public Qt
+{
+ friend class QTable;
+
+public:
+ enum EditType { Never, OnTyping, WhenCurrent, Always };
+
+ QTableItem( QTable *table, EditType et );
+ QTableItem( QTable *table, EditType et, const QString &amp;text );
+ QTableItem( QTable *table, EditType et, const QString &amp;text,
+ const QPixmap &amp;p );
+ virtual ~QTableItem();
+
+ virtual QPixmap pixmap() const;
+ virtual QString text() const;
+ virtual void setPixmap( const QPixmap &amp;p );
+ virtual void setText( const QString &amp;t );
+ QTable *table() const { return t; }
+
+ virtual int alignment() const;
+ virtual void setWordWrap( bool b );
+ bool wordWrap() const;
+
+ EditType editType() const;
+ virtual QWidget *createEditor() const;
+ virtual void setContentFromEditor( QWidget *w );
+ virtual void setReplaceable( bool );
+ bool isReplaceable() const;
+
+ virtual QString key() const;
+ virtual QSize sizeHint() const;
+
+ virtual void setSpan( int rs, int cs );
+ int rowSpan() const;
+ int colSpan() const;
+
+ virtual void setRow( int r );
+ virtual void setCol( int c );
+ int row() const;
+ int col() const;
+
+ virtual void paint( QPainter *p, const QColorGroup &amp;cg,
+ const QRect &amp;cr, bool selected );
+
+ void updateEditor( int oldRow, int oldCol );
+
+ virtual void setEnabled( bool b );
+ bool isEnabled() const;
+
+ virtual int rtti() const;
+ static int RTTI;
+
+private:
+ QString txt;
+ QPixmap pix;
+ QTable *t;
+ EditType edType;
+ uint wordwrap : 1;
+ uint tcha : 1;
+ uint enabled : 1;
+ int rw, cl;
+ int rowspan, colspan;
+#if (QT_VERSION &gt;= 0x040000)
+#error "Add a setAlignment() function in 4.0 (but no d pointer)"
+#endif
+};
+
+#define Q_DEFINED_QTABLE_ITEM
+#include "qwinexport.h"
+
+class QM_EXPORT_TABLE QComboTableItem : public QTableItem
+{
+public:
+ QComboTableItem( QTable *table, const QStringList &amp;list, bool editable = FALSE );
+ ~QComboTableItem();
+ virtual QWidget *createEditor() const;
+ virtual void setContentFromEditor( QWidget *w );
+ virtual void paint( QPainter *p, const QColorGroup &amp;cg,
+ const QRect &amp;cr, bool selected );
+ virtual void setCurrentItem( int i );
+ virtual void setCurrentItem( const QString &amp;i );
+ int currentItem() const;
+ QString currentText() const;
+ int count() const;
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTableItem::text;
+#endif
+ QString text( int i ) const;
+ virtual void setEditable( bool b );
+ bool isEditable() const;
+ virtual void setStringList( const QStringList &amp;l );
+
+ int rtti() const;
+ static int RTTI;
+
+ QSize sizeHint() const;
+
+private:
+ QComboBox *cb;
+ QStringList entries;
+ int current;
+ bool edit;
+ static QComboBox *fakeCombo;
+ static QWidget *fakeComboWidget;
+ static int fakeRef;
+
+};
+
+class QM_EXPORT_TABLE QCheckTableItem : public QTableItem
+{
+public:
+ QCheckTableItem( QTable *table, const QString &amp;txt );
+ void setText( const QString &amp;t );
+ virtual QWidget *createEditor() const;
+ virtual void setContentFromEditor( QWidget *w );
+ virtual void paint( QPainter *p, const QColorGroup &amp;cg,
+ const QRect &amp;cr, bool selected );
+ virtual void setChecked( bool b );
+ bool isChecked() const;
+
+ int rtti() const;
+ static int RTTI;
+
+ QSize sizeHint() const;
+
+private:
+ QCheckBox *cb;
+ bool checked;
+
+};
+
+class QM_EXPORT_TABLE QTable : public QScrollView
+{
+ Q_OBJECT
+ Q_ENUMS( SelectionMode FocusStyle )
+ Q_PROPERTY( int numRows READ numRows WRITE setNumRows )
+ Q_PROPERTY( int numCols READ numCols WRITE setNumCols )
+ Q_PROPERTY( bool showGrid READ showGrid WRITE setShowGrid )
+ Q_PROPERTY( bool rowMovingEnabled READ rowMovingEnabled WRITE setRowMovingEnabled )
+ Q_PROPERTY( bool columnMovingEnabled READ columnMovingEnabled WRITE setColumnMovingEnabled )
+ Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
+ Q_PROPERTY( bool sorting READ sorting WRITE setSorting )
+ Q_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
+ Q_PROPERTY( FocusStyle focusStyle READ focusStyle WRITE setFocusStyle )
+ Q_PROPERTY( int numSelections READ numSelections )
+
+ friend class QTableHeader;
+ friend class QComboTableItem;
+ friend class QCheckTableItem;
+ friend class QTableItem;
+
+public:
+ QTable( QWidget* parent=0, const char* name=0 );
+ QTable( int numRows, int numCols,
+ QWidget* parent=0, const char* name=0 );
+ ~QTable();
+
+ QHeader *horizontalHeader() const;
+ QHeader *verticalHeader() const;
+
+ enum SelectionMode { Single, Multi, SingleRow, MultiRow, NoSelection };
+ virtual void setSelectionMode( SelectionMode mode );
+ SelectionMode selectionMode() const;
+
+ virtual void setItem( int row, int col, QTableItem *item );
+ virtual void setText( int row, int col, const QString &amp;text );
+ virtual void setPixmap( int row, int col, const QPixmap &amp;pix );
+ virtual QTableItem *item( int row, int col ) const;
+ virtual QString text( int row, int col ) const;
+ virtual QPixmap pixmap( int row, int col ) const;
+ virtual void clearCell( int row, int col );
+
+ virtual QRect cellGeometry( int row, int col ) const;
+ virtual int columnWidth( int col ) const;
+ virtual int rowHeight( int row ) const;
+ virtual int columnPos( int col ) const;
+ virtual int rowPos( int row ) const;
+ virtual int columnAt( int x ) const;
+ virtual int rowAt( int y ) const;
+
+ virtual int numRows() const;
+ virtual int numCols() const;
+
+ void updateCell( int row, int col );
+
+ bool eventFilter( QObject * o, QEvent * );
+
+ int currentRow() const { return curRow; }
+ int currentColumn() const { return curCol; }
+ void ensureCellVisible( int row, int col );
+
+ bool isSelected( int row, int col ) const;
+ bool isRowSelected( int row, bool full = FALSE ) const;
+ bool isColumnSelected( int col, bool full = FALSE ) const;
+ int numSelections() const;
+ QTableSelection selection( int num ) const;
+ virtual int addSelection( const QTableSelection &amp;s );
+ virtual void removeSelection( const QTableSelection &amp;s );
+ virtual void removeSelection( int num );
+ virtual int currentSelection() const;
+
+ void selectCells( int start_row, int start_col, int end_row, int end_col );
+ void selectRow( int row );
+ void selectColumn( int col );
+
+ bool showGrid() const;
+
+ bool columnMovingEnabled() const;
+ bool rowMovingEnabled() const;
+
+ virtual void sortColumn( int col, bool ascending = TRUE,
+ bool wholeRows = FALSE );
+ bool sorting() const;
+
+ virtual void takeItem( QTableItem *i );
+
+ virtual void setCellWidget( int row, int col, QWidget *e );
+ virtual QWidget *cellWidget( int row, int col ) const;
+ virtual void clearCellWidget( int row, int col );
+
+ virtual QRect cellRect( int row, int col ) const;
+
+ virtual void paintCell( QPainter *p, int row, int col,
+ const QRect &amp;cr, bool selected );
+ virtual void paintCell( QPainter *p, int row, int col,
+ const QRect &amp;cr, bool selected, const QColorGroup &amp;cg );
+ virtual void paintFocus( QPainter *p, const QRect &amp;r );
+ QSize sizeHint() const;
+
+ bool isReadOnly() const;
+ bool isRowReadOnly( int row ) const;
+ bool isColumnReadOnly( int col ) const;
+
+ void setEnabled( bool b );
+
+ void repaintSelections();
+
+ enum FocusStyle { FollowStyle, SpreadSheet };
+ virtual void setFocusStyle( FocusStyle fs );
+ FocusStyle focusStyle() const;
+
+ void updateHeaderStates();
+
+public slots:
+ virtual void setNumRows( int r );
+ virtual void setNumCols( int r );
+ virtual void setShowGrid( bool b );
+ virtual void hideRow( int row );
+ virtual void hideColumn( int col );
+ virtual void showRow( int row );
+ virtual void showColumn( int col );
+ bool isRowHidden( int row ) const;
+ bool isColumnHidden( int col ) const;
+
+ virtual void setColumnWidth( int col, int w );
+ virtual void setRowHeight( int row, int h );
+
+ virtual void adjustColumn( int col );
+ virtual void adjustRow( int row );
+
+ virtual void setColumnStretchable( int col, bool stretch );
+ virtual void setRowStretchable( int row, bool stretch );
+ bool isColumnStretchable( int col ) const;
+ bool isRowStretchable( int row ) const;
+ virtual void setSorting( bool b );
+ virtual void swapRows( int row1, int row2, bool swapHeader = FALSE );
+ virtual void swapColumns( int col1, int col2, bool swapHeader = FALSE );
+ virtual void swapCells( int row1, int col1, int row2, int col2 );
+
+ virtual void setLeftMargin( int m );
+ virtual void setTopMargin( int m );
+ virtual void setCurrentCell( int row, int col );
+ void clearSelection( bool repaint = TRUE );
+ virtual void setColumnMovingEnabled( bool b );
+ virtual void setRowMovingEnabled( bool b );
+
+ virtual void setReadOnly( bool b );
+ virtual void setRowReadOnly( int row, bool ro );
+ virtual void setColumnReadOnly( int col, bool ro );
+
+ virtual void setDragEnabled( bool b );
+ bool dragEnabled() const;
+
+ virtual void insertRows( int row, int count = 1 );
+ virtual void insertColumns( int col, int count = 1 );
+ virtual void removeRow( int row );
+ virtual void removeRows( const QMemArray&lt;int&gt; &amp;rows );
+ virtual void removeColumn( int col );
+ virtual void removeColumns( const QMemArray&lt;int&gt; &amp;cols );
+
+ virtual void editCell( int row, int col, bool replace = FALSE );
+
+ void setRowLabels( const QStringList &amp;labels );
+ void setColumnLabels( const QStringList &amp;labels );
+
+protected:
+ enum EditMode { NotEditing, Editing, Replacing };
+ void drawContents( QPainter *p, int cx, int cy, int cw, int ch );
+ void contentsMousePressEvent( QMouseEvent* );
+ void contentsMouseMoveEvent( QMouseEvent* );
+ void contentsMouseDoubleClickEvent( QMouseEvent* );
+ void contentsMouseReleaseEvent( QMouseEvent* );
+ void contentsContextMenuEvent( QContextMenuEvent * e );
+ void keyPressEvent( QKeyEvent* );
+ void focusInEvent( QFocusEvent* );
+ void focusOutEvent( QFocusEvent* );
+ void viewportResizeEvent( QResizeEvent * );
+ void showEvent( QShowEvent *e );
+ void paintEvent( QPaintEvent *e );
+ void setEditMode( EditMode mode, int row, int col );
+#ifndef QT_NO_DRAGANDDROP
+ virtual void contentsDragEnterEvent( QDragEnterEvent *e );
+ virtual void contentsDragMoveEvent( QDragMoveEvent *e );
+ virtual void contentsDragLeaveEvent( QDragLeaveEvent *e );
+ virtual void contentsDropEvent( QDropEvent *e );
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+#endif
+
+ virtual void paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch );
+ virtual void activateNextCell();
+ virtual QWidget *createEditor( int row, int col, bool initFromCell ) const;
+ virtual void setCellContentFromEditor( int row, int col );
+ virtual QWidget *beginEdit( int row, int col, bool replace );
+ virtual void endEdit( int row, int col, bool accept, bool replace );
+
+ virtual void resizeData( int len );
+ virtual void insertWidget( int row, int col, QWidget *w );
+ int indexOf( int row, int col ) const;
+
+ void windowActivationChange( bool );
+ bool isEditing() const;
+ EditMode editMode() const;
+ int currEditRow() const;
+ int currEditCol() const;
+
+protected slots:
+ virtual void columnWidthChanged( int col );
+ virtual void rowHeightChanged( int row );
+ virtual void columnIndexChanged( int section, int fromIndex, int toIndex );
+ virtual void rowIndexChanged( int section, int fromIndex, int toIndex );
+ virtual void columnClicked( int col );
+
+signals:
+ void currentChanged( int row, int col );
+ void clicked( int row, int col, int button, const QPoint &amp;mousePos );
+ void doubleClicked( int row, int col, int button, const QPoint &amp;mousePos );
+ void pressed( int row, int col, int button, const QPoint &amp;mousePos );
+ void selectionChanged();
+ void valueChanged( int row, int col );
+ void contextMenuRequested( int row, int col, const QPoint &amp;pos );
+#ifndef QT_NO_DRAGANDDROP
+ void dropped( QDropEvent *e );
+#endif
+
+private slots:
+ void doAutoScroll();
+ void doValueChanged();
+ void updateGeometriesSlot();
+
+private:
+ void contentsMousePressEventEx( QMouseEvent* );
+ void drawContents( QPainter* );
+ void updateGeometries();
+ void repaintSelections( QTableSelection *oldSelection,
+ QTableSelection *newSelection,
+ bool updateVertical = TRUE,
+ bool updateHorizontal = TRUE );
+ QRect rangeGeometry( int topRow, int leftCol,
+ int bottomRow, int rightCol, bool &amp;optimize );
+ void fixRow( int &amp;row, int y );
+ void fixCol( int &amp;col, int x );
+
+ void init( int numRows, int numCols );
+ QSize tableSize() const;
+ void repaintCell( int row, int col );
+ void contentsToViewport2( int x, int y, int&amp; vx, int&amp; vy );
+ QPoint contentsToViewport2( const QPoint &amp;p );
+ void viewportToContents2( int vx, int vy, int&amp; x, int&amp; y );
+ QPoint viewportToContents2( const QPoint &amp;p );
+
+ void updateRowWidgets( int row );
+ void updateColWidgets( int col );
+ bool isSelected( int row, int col, bool includeCurrent ) const;
+ void setCurrentCell( int row, int col, bool updateSelections, bool ensureVisible = FALSE );
+ void fixCell( int &amp;row, int &amp;col, int key );
+ void delayedUpdateGeometries();
+ struct TableWidget
+ {
+ TableWidget( QWidget *w, int r, int c ) : wid( w ), row( r ), col ( c ) {}
+ QWidget *wid;
+ int row, col;
+ };
+ void saveContents( QPtrVector&lt;QTableItem&gt; &amp;tmp,
+ QPtrVector&lt;TableWidget&gt; &amp;tmp2 );
+ void updateHeaderAndResizeContents( QTableHeader *header,
+ int num, int colRow,
+ int width, bool &amp;updateBefore );
+ void restoreContents( QPtrVector&lt;QTableItem&gt; &amp;tmp,
+ QPtrVector&lt;TableWidget&gt; &amp;tmp2 );
+ void finishContentsResze( bool updateBefore );
+
+private:
+ QPtrVector&lt;QTableItem&gt; contents;
+ QPtrVector&lt;QWidget&gt; widgets;
+ int curRow;
+ int curCol;
+ QTableHeader *leftHeader, *topHeader;
+ EditMode edMode;
+ int editCol, editRow;
+ QPtrList&lt;QTableSelection&gt; selections;
+ QTableSelection *currentSel;
+ QTimer *autoScrollTimer;
+ int lastSortCol;
+ bool sGrid : 1;
+ bool mRows : 1;
+ bool mCols : 1;
+ bool asc : 1;
+ bool doSort : 1;
+ bool unused : 1;
+ bool readOnly : 1;
+ bool shouldClearSelection : 1;
+ bool dEnabled : 1;
+ bool context_menu : 1;
+ bool drawActiveSelection : 1;
+ bool was_visible : 1;
+ SelectionMode selMode;
+ int pressedRow, pressedCol;
+ QTablePrivate *d;
+ QIntDict&lt;int&gt; roRows;
+ QIntDict&lt;int&gt; roCols;
+ int startDragRow;
+ int startDragCol;
+ QPoint dragStartPos;
+ int oldCurrentRow, oldCurrentCol;
+ QWidget *unused_topLeftCorner; //### remove in 4.0
+ FocusStyle focusStl;
+ QSize unused_cachedSizeHint; // ### remove in 4.0
+
+#if defined(Q_DISABLE_COPY)
+ QTable( const QTable &amp; );
+ QTable &amp;operator=( const QTable &amp; );
+#endif
+};
+
+#define Q_DEFINED_QTABLE
+#include "qwinexport.h"
+#endif // QT_NO_TABLE
+#endif // TABLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtable-members.html b/doc/html/qtable-members.html
new file mode 100644
index 0000000..35147ba
--- /dev/null
+++ b/doc/html/qtable-members.html
@@ -0,0 +1,548 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:243 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTable Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTable</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtable.html">QTable</a>, including inherited members.
+
+<ul>
+<li><a href="qtable.html#QTable">QTable</a>()
+<li><a href="qtable.html#~QTable">~QTable</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtable.html#activateNextCell">activateNextCell</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qtable.html#addSelection">addSelection</a>()
+<li><a href="qtable.html#adjustColumn">adjustColumn</a>()
+<li><a href="qtable.html#adjustRow">adjustRow</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qtable.html#beginEdit">beginEdit</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qtable.html#cellGeometry">cellGeometry</a>()
+<li><a href="qtable.html#cellRect">cellRect</a>()
+<li><a href="qtable.html#cellWidget">cellWidget</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtable.html#clearCell">clearCell</a>()
+<li><a href="qtable.html#clearCellWidget">clearCellWidget</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtable.html#clearSelection">clearSelection</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtable.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qtable.html#columnAt">columnAt</a>()
+<li><a href="qtable.html#columnClicked">columnClicked</a>()
+<li><a href="qtable.html#columnIndexChanged">columnIndexChanged</a>()
+<li><a href="qtable.html#columnMovingEnabled">columnMovingEnabled</a>()
+<li><a href="qtable.html#columnPos">columnPos</a>()
+<li><a href="qtable.html#columnWidth">columnWidth</a>()
+<li><a href="qtable.html#columnWidthChanged">columnWidthChanged</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qtable.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qtable.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qtable.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qtable.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtable.html#contextMenuRequested">contextMenuRequested</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtable.html#createEditor">createEditor</a>()
+<li><a href="qtable.html#currEditCol">currEditCol</a>()
+<li><a href="qtable.html#currEditRow">currEditRow</a>()
+<li><a href="qtable.html#currentChanged">currentChanged</a>()
+<li><a href="qtable.html#currentColumn">currentColumn</a>()
+<li><a href="qtable.html#currentRow">currentRow</a>()
+<li><a href="qtable.html#currentSelection">currentSelection</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtable.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qtable.html#dragEnabled">dragEnabled</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qtable.html#dragObject">dragObject</a>()
+<li><a href="qtable.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qtable.html#dropped">dropped</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qtable.html#editCell">editCell</a>()
+<li><a href="qtable.html#editMode">editMode</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qtable.html#endEdit">endEdit</a>()
+<li><a href="qtable.html#ensureCellVisible">ensureCellVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qtable.html#focusStyle">focusStyle</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qtable.html#hideColumn">hideColumn</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qtable.html#hideRow">hideRow</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qtable.html#horizontalHeader">horizontalHeader</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qtable.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtable.html#insertColumns">insertColumns</a>()
+<li><a href="qtable.html#insertRows">insertRows</a>()
+<li><a href="qtable.html#insertWidget">insertWidget</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qtable.html#isColumnHidden">isColumnHidden</a>()
+<li><a href="qtable.html#isColumnReadOnly">isColumnReadOnly</a>()
+<li><a href="qtable.html#isColumnSelected">isColumnSelected</a>()
+<li><a href="qtable.html#isColumnStretchable">isColumnStretchable</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qtable.html#isEditing">isEditing</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtable.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtable.html#isRowHidden">isRowHidden</a>()
+<li><a href="qtable.html#isRowReadOnly">isRowReadOnly</a>()
+<li><a href="qtable.html#isRowSelected">isRowSelected</a>()
+<li><a href="qtable.html#isRowStretchable">isRowStretchable</a>()
+<li><a href="qtable.html#isSelected">isSelected</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtable.html#item">item</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qtable.html#numCols">numCols</a>()
+<li><a href="qtable.html#numRows">numRows</a>()
+<li><a href="qtable.html#numSelections">numSelections</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qtable.html#paintCell">paintCell</a>()
+<li><a href="qtable.html#paintEmptyArea">paintEmptyArea</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qtable.html#paintFocus">paintFocus</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtable.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qtable.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qtable.html#removeColumn">removeColumn</a>()
+<li><a href="qtable.html#removeColumns">removeColumns</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtable.html#removeRow">removeRow</a>()
+<li><a href="qtable.html#removeRows">removeRows</a>()
+<li><a href="qtable.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qtable.html#repaintSelections">repaintSelections</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qtable.html#resizeData">resizeData</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qtable.html#rowAt">rowAt</a>()
+<li><a href="qtable.html#rowHeight">rowHeight</a>()
+<li><a href="qtable.html#rowHeightChanged">rowHeightChanged</a>()
+<li><a href="qtable.html#rowIndexChanged">rowIndexChanged</a>()
+<li><a href="qtable.html#rowMovingEnabled">rowMovingEnabled</a>()
+<li><a href="qtable.html#rowPos">rowPos</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtable.html#selectCells">selectCells</a>()
+<li><a href="qtable.html#selectColumn">selectColumn</a>()
+<li><a href="qtable.html#selectRow">selectRow</a>()
+<li><a href="qtable.html#selection">selection</a>()
+<li><a href="qtable.html#selectionChanged">selectionChanged</a>()
+<li><a href="qtable.html#selectionMode">selectionMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtable.html#setCellContentFromEditor">setCellContentFromEditor</a>()
+<li><a href="qtable.html#setCellWidget">setCellWidget</a>()
+<li><a href="qtable.html#setColumnLabels">setColumnLabels</a>()
+<li><a href="qtable.html#setColumnMovingEnabled">setColumnMovingEnabled</a>()
+<li><a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>()
+<li><a href="qtable.html#setColumnStretchable">setColumnStretchable</a>()
+<li><a href="qtable.html#setColumnWidth">setColumnWidth</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtable.html#setCurrentCell">setCurrentCell</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qtable.html#setDragEnabled">setDragEnabled</a>()
+<li><a href="qtable.html#setEditMode">setEditMode</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qtable.html#setFocusStyle">setFocusStyle</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtable.html#setItem">setItem</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qtable.html#setLeftMargin">setLeftMargin</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtable.html#setNumCols">setNumCols</a>()
+<li><a href="qtable.html#setNumRows">setNumRows</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtable.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtable.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtable.html#setRowHeight">setRowHeight</a>()
+<li><a href="qtable.html#setRowLabels">setRowLabels</a>()
+<li><a href="qtable.html#setRowMovingEnabled">setRowMovingEnabled</a>()
+<li><a href="qtable.html#setRowReadOnly">setRowReadOnly</a>()
+<li><a href="qtable.html#setRowStretchable">setRowStretchable</a>()
+<li><a href="qtable.html#setSelectionMode">setSelectionMode</a>()
+<li><a href="qtable.html#setShowGrid">setShowGrid</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qtable.html#setSorting">setSorting</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtable.html#setText">setText</a>()
+<li><a href="qtable.html#setTopMargin">setTopMargin</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qtable.html#showColumn">showColumn</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qtable.html#showGrid">showGrid</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qtable.html#showRow">showRow</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qtable.html#sortColumn">sortColumn</a>()
+<li><a href="qtable.html#sorting">sorting</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qtable.html#startDrag">startDrag</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtable.html#swapCells">swapCells</a>()
+<li><a href="qtable.html#swapColumns">swapColumns</a>()
+<li><a href="qtable.html#swapRows">swapRows</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qtable.html#takeItem">takeItem</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtable.html#text">text</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qtable.html#updateCell">updateCell</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qtable.html#updateHeaderStates">updateHeaderStates</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qtable.html#valueChanged">valueChanged</a>()
+<li><a href="qtable.html#verticalHeader">verticalHeader</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtable.html b/doc/html/qtable.html
new file mode 100644
index 0000000..ee52fe0
--- /dev/null
+++ b/doc/html/qtable.html
@@ -0,0 +1,1477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1659 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTable Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTable Class Reference<br><small>[<a href="table.html">table module</a>]</small></h1>
+
+<p>The QTable class provides a flexible editable table widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p>Inherited by <a href="qdatatable.html">QDataTable</a>.
+<p><a href="qtable-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTable"><b>QTable</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QTable-2"><b>QTable</b></a> ( int&nbsp;numRows, int&nbsp;numCols, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTable"><b>~QTable</b></a> ()</li>
+<li class=fn>QHeader * <a href="#horizontalHeader"><b>horizontalHeader</b></a> () const</li>
+<li class=fn>QHeader * <a href="#verticalHeader"><b>verticalHeader</b></a> () const</li>
+<li class=fn>enum <a href="#SelectionMode-enum"><b>SelectionMode</b></a> { Single, Multi, SingleRow, MultiRow, NoSelection }</li>
+<li class=fn>virtual void <a href="#setSelectionMode"><b>setSelectionMode</b></a> ( SelectionMode&nbsp;mode )</li>
+<li class=fn>SelectionMode <a href="#selectionMode"><b>selectionMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setItem"><b>setItem</b></a> ( int&nbsp;row, int&nbsp;col, QTableItem&nbsp;*&nbsp;item )</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( int&nbsp;row, int&nbsp;col, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( int&nbsp;row, int&nbsp;col, const&nbsp;QPixmap&nbsp;&amp;&nbsp;pix )</li>
+<li class=fn>virtual QTableItem * <a href="#item"><b>item</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual QPixmap <a href="#pixmap"><b>pixmap</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual void <a href="#clearCell"><b>clearCell</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>virtual QRect <a href="#cellGeometry"><b>cellGeometry</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual int <a href="#columnWidth"><b>columnWidth</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>virtual int <a href="#rowHeight"><b>rowHeight</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>virtual int <a href="#columnPos"><b>columnPos</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>virtual int <a href="#rowPos"><b>rowPos</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>virtual int <a href="#columnAt"><b>columnAt</b></a> ( int&nbsp;x ) const</li>
+<li class=fn>virtual int <a href="#rowAt"><b>rowAt</b></a> ( int&nbsp;y ) const</li>
+<li class=fn>virtual int <a href="#numRows"><b>numRows</b></a> () const</li>
+<li class=fn>virtual int <a href="#numCols"><b>numCols</b></a> () const</li>
+<li class=fn>void <a href="#updateCell"><b>updateCell</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>int <a href="#currentRow"><b>currentRow</b></a> () const</li>
+<li class=fn>int <a href="#currentColumn"><b>currentColumn</b></a> () const</li>
+<li class=fn>void <a href="#ensureCellVisible"><b>ensureCellVisible</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>bool <a href="#isSelected"><b>isSelected</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>bool <a href="#isRowSelected"><b>isRowSelected</b></a> ( int&nbsp;row, bool&nbsp;full = FALSE ) const</li>
+<li class=fn>bool <a href="#isColumnSelected"><b>isColumnSelected</b></a> ( int&nbsp;col, bool&nbsp;full = FALSE ) const</li>
+<li class=fn>int <a href="#numSelections"><b>numSelections</b></a> () const</li>
+<li class=fn>QTableSelection <a href="#selection"><b>selection</b></a> ( int&nbsp;num ) const</li>
+<li class=fn>virtual int <a href="#addSelection"><b>addSelection</b></a> ( const&nbsp;QTableSelection&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>virtual void <a href="#removeSelection"><b>removeSelection</b></a> ( const&nbsp;QTableSelection&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>virtual void <a href="#removeSelection-2"><b>removeSelection</b></a> ( int&nbsp;num )</li>
+<li class=fn>virtual int <a href="#currentSelection"><b>currentSelection</b></a> () const</li>
+<li class=fn>void <a href="#selectCells"><b>selectCells</b></a> ( int&nbsp;start_row, int&nbsp;start_col, int&nbsp;end_row, int&nbsp;end_col )</li>
+<li class=fn>void <a href="#selectRow"><b>selectRow</b></a> ( int&nbsp;row )</li>
+<li class=fn>void <a href="#selectColumn"><b>selectColumn</b></a> ( int&nbsp;col )</li>
+<li class=fn>bool <a href="#showGrid"><b>showGrid</b></a> () const</li>
+<li class=fn>bool <a href="#columnMovingEnabled"><b>columnMovingEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#rowMovingEnabled"><b>rowMovingEnabled</b></a> () const</li>
+<li class=fn>virtual void <a href="#sortColumn"><b>sortColumn</b></a> ( int&nbsp;col, bool&nbsp;ascending = TRUE, bool&nbsp;wholeRows = FALSE )</li>
+<li class=fn>bool <a href="#sorting"><b>sorting</b></a> () const</li>
+<li class=fn>virtual void <a href="#takeItem"><b>takeItem</b></a> ( QTableItem&nbsp;*&nbsp;i )</li>
+<li class=fn>virtual void <a href="#setCellWidget"><b>setCellWidget</b></a> ( int&nbsp;row, int&nbsp;col, QWidget&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual QWidget * <a href="#cellWidget"><b>cellWidget</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual void <a href="#clearCellWidget"><b>clearCellWidget</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>virtual QRect <a href="#cellRect"><b>cellRect</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>virtual void <a href="#paintCell-2"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col, const&nbsp;QRect&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )</li>
+<li class=fn>virtual void <a href="#paintCell"><b>paintCell</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col, const&nbsp;QRect&nbsp;&amp;&nbsp;cr, bool&nbsp;selected, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg )</li>
+<li class=fn>virtual void <a href="#paintFocus"><b>paintFocus</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QRect&nbsp;&amp;&nbsp;cr )</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>bool <a href="#isRowReadOnly"><b>isRowReadOnly</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>bool <a href="#isColumnReadOnly"><b>isColumnReadOnly</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>void <a href="#repaintSelections"><b>repaintSelections</b></a> ()</li>
+<li class=fn>enum <a href="#FocusStyle-enum"><b>FocusStyle</b></a> { FollowStyle, SpreadSheet }</li>
+<li class=fn>virtual void <a href="#setFocusStyle"><b>setFocusStyle</b></a> ( FocusStyle&nbsp;fs )</li>
+<li class=fn>FocusStyle <a href="#focusStyle"><b>focusStyle</b></a> () const</li>
+<li class=fn>void <a href="#updateHeaderStates"><b>updateHeaderStates</b></a> ()</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setNumRows"><b>setNumRows</b></a> ( int&nbsp;r )</li>
+<li class=fn>virtual void <a href="#setNumCols"><b>setNumCols</b></a> ( int&nbsp;r )</li>
+<li class=fn>virtual void <a href="#setShowGrid"><b>setShowGrid</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#hideRow"><b>hideRow</b></a> ( int&nbsp;row )</li>
+<li class=fn>virtual void <a href="#hideColumn"><b>hideColumn</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#showRow"><b>showRow</b></a> ( int&nbsp;row )</li>
+<li class=fn>virtual void <a href="#showColumn"><b>showColumn</b></a> ( int&nbsp;col )</li>
+<li class=fn>bool <a href="#isRowHidden"><b>isRowHidden</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>bool <a href="#isColumnHidden"><b>isColumnHidden</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>virtual void <a href="#setColumnWidth"><b>setColumnWidth</b></a> ( int&nbsp;col, int&nbsp;w )</li>
+<li class=fn>virtual void <a href="#setRowHeight"><b>setRowHeight</b></a> ( int&nbsp;row, int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#adjustColumn"><b>adjustColumn</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#adjustRow"><b>adjustRow</b></a> ( int&nbsp;row )</li>
+<li class=fn>virtual void <a href="#setColumnStretchable"><b>setColumnStretchable</b></a> ( int&nbsp;col, bool&nbsp;stretch )</li>
+<li class=fn>virtual void <a href="#setRowStretchable"><b>setRowStretchable</b></a> ( int&nbsp;row, bool&nbsp;stretch )</li>
+<li class=fn>bool <a href="#isColumnStretchable"><b>isColumnStretchable</b></a> ( int&nbsp;col ) const</li>
+<li class=fn>bool <a href="#isRowStretchable"><b>isRowStretchable</b></a> ( int&nbsp;row ) const</li>
+<li class=fn>virtual void <a href="#setSorting"><b>setSorting</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#swapRows"><b>swapRows</b></a> ( int&nbsp;row1, int&nbsp;row2, bool&nbsp;swapHeader = FALSE )</li>
+<li class=fn>virtual void <a href="#swapColumns"><b>swapColumns</b></a> ( int&nbsp;col1, int&nbsp;col2, bool&nbsp;swapHeader = FALSE )</li>
+<li class=fn>virtual void <a href="#swapCells"><b>swapCells</b></a> ( int&nbsp;row1, int&nbsp;col1, int&nbsp;row2, int&nbsp;col2 )</li>
+<li class=fn>virtual void <a href="#setLeftMargin"><b>setLeftMargin</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual void <a href="#setTopMargin"><b>setTopMargin</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual void <a href="#setCurrentCell"><b>setCurrentCell</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#clearSelection"><b>clearSelection</b></a> ( bool&nbsp;repaint = TRUE )</li>
+<li class=fn>virtual void <a href="#setColumnMovingEnabled"><b>setColumnMovingEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setRowMovingEnabled"><b>setRowMovingEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setReadOnly"><b>setReadOnly</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setRowReadOnly"><b>setRowReadOnly</b></a> ( int&nbsp;row, bool&nbsp;ro )</li>
+<li class=fn>virtual void <a href="#setColumnReadOnly"><b>setColumnReadOnly</b></a> ( int&nbsp;col, bool&nbsp;ro )</li>
+<li class=fn>virtual void <a href="#setDragEnabled"><b>setDragEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#dragEnabled"><b>dragEnabled</b></a> () const</li>
+<li class=fn>virtual void <a href="#insertRows"><b>insertRows</b></a> ( int&nbsp;row, int&nbsp;count = 1 )</li>
+<li class=fn>virtual void <a href="#insertColumns"><b>insertColumns</b></a> ( int&nbsp;col, int&nbsp;count = 1 )</li>
+<li class=fn>virtual void <a href="#removeRow"><b>removeRow</b></a> ( int&nbsp;row )</li>
+<li class=fn>virtual void <a href="#removeRows"><b>removeRows</b></a> ( const&nbsp;QMemArray&lt;int&gt;&nbsp;&amp;&nbsp;rows )</li>
+<li class=fn>virtual void <a href="#removeColumn"><b>removeColumn</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#removeColumns"><b>removeColumns</b></a> ( const&nbsp;QMemArray&lt;int&gt;&nbsp;&amp;&nbsp;cols )</li>
+<li class=fn>virtual void <a href="#editCell"><b>editCell</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace = FALSE )</li>
+<li class=fn>void <a href="#setRowLabels"><b>setRowLabels</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;labels )</li>
+<li class=fn>void <a href="#setColumnLabels"><b>setColumnLabels</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;labels )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;QPoint&nbsp;&amp;&nbsp;mousePos )</li>
+<li class=fn>void <a href="#doubleClicked"><b>doubleClicked</b></a> ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;QPoint&nbsp;&amp;&nbsp;mousePos )</li>
+<li class=fn>void <a href="#pressed"><b>pressed</b></a> ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;QPoint&nbsp;&amp;&nbsp;mousePos )</li>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#contextMenuRequested"><b>contextMenuRequested</b></a> ( int&nbsp;row, int&nbsp;col, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>void <a href="#dropped"><b>dropped</b></a> ( QDropEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#columnMovingEnabled-prop"><b>columnMovingEnabled</b></a>&nbsp;- whether columns can be moved by the user</li>
+<li class=fn>FocusStyle <a href="#focusStyle-prop"><b>focusStyle</b></a>&nbsp;- how the current (focus) cell is drawn</li>
+<li class=fn>int <a href="#numCols-prop"><b>numCols</b></a>&nbsp;- the number of columns in the table</li>
+<li class=fn>int <a href="#numRows-prop"><b>numRows</b></a>&nbsp;- the number of rows in the table</li>
+<li class=fn>int <a href="#numSelections-prop"><b>numSelections</b></a>&nbsp;- the number of selections &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the table is read-only</li>
+<li class=fn>bool <a href="#rowMovingEnabled-prop"><b>rowMovingEnabled</b></a>&nbsp;- whether rows can be moved by the user</li>
+<li class=fn>SelectionMode <a href="#selectionMode-prop"><b>selectionMode</b></a>&nbsp;- the current selection mode</li>
+<li class=fn>bool <a href="#showGrid-prop"><b>showGrid</b></a>&nbsp;- whether the table's grid is displayed</li>
+<li class=fn>bool <a href="#sorting-prop"><b>sorting</b></a>&nbsp;- whether a click on the header of a column sorts that column</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>enum <a href="#EditMode-enum"><b>EditMode</b></a> { NotEditing, Editing, Replacing }</li>
+<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )</li>
+<li class=fn>void <a href="#setEditMode"><b>setEditMode</b></a> ( EditMode&nbsp;mode, int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#contentsDragEnterEvent"><b>contentsDragEnterEvent</b></a> ( QDragEnterEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsDragMoveEvent"><b>contentsDragMoveEvent</b></a> ( QDragMoveEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsDragLeaveEvent"><b>contentsDragLeaveEvent</b></a> ( QDragLeaveEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contentsDropEvent"><b>contentsDropEvent</b></a> ( QDropEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual QDragObject * <a href="#dragObject"><b>dragObject</b></a> ()</li>
+<li class=fn>virtual void <a href="#startDrag"><b>startDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#paintEmptyArea"><b>paintEmptyArea</b></a> ( QPainter&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )</li>
+<li class=fn>virtual void <a href="#activateNextCell"><b>activateNextCell</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#createEditor"><b>createEditor</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;initFromCell ) const</li>
+<li class=fn>virtual void <a href="#setCellContentFromEditor"><b>setCellContentFromEditor</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>virtual QWidget * <a href="#beginEdit"><b>beginEdit</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace )</li>
+<li class=fn>virtual void <a href="#endEdit"><b>endEdit</b></a> ( int&nbsp;row, int&nbsp;col, bool&nbsp;accept, bool&nbsp;replace )</li>
+<li class=fn>virtual void <a href="#resizeData"><b>resizeData</b></a> ( int&nbsp;len )</li>
+<li class=fn>virtual void <a href="#insertWidget"><b>insertWidget</b></a> ( int&nbsp;row, int&nbsp;col, QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( int&nbsp;row, int&nbsp;col ) const</li>
+<li class=fn>bool <a href="#isEditing"><b>isEditing</b></a> () const</li>
+<li class=fn>EditMode <a href="#editMode"><b>editMode</b></a> () const</li>
+<li class=fn>int <a href="#currEditRow"><b>currEditRow</b></a> () const</li>
+<li class=fn>int <a href="#currEditCol"><b>currEditCol</b></a> () const</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#columnWidthChanged"><b>columnWidthChanged</b></a> ( int&nbsp;col )</li>
+<li class=fn>virtual void <a href="#rowHeightChanged"><b>rowHeightChanged</b></a> ( int&nbsp;row )</li>
+<li class=fn>virtual void <a href="#columnIndexChanged"><b>columnIndexChanged</b></a> ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )</li>
+<li class=fn>virtual void <a href="#rowIndexChanged"><b>rowIndexChanged</b></a> ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )</li>
+<li class=fn>virtual void <a href="#columnClicked"><b>columnClicked</b></a> ( int&nbsp;col )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTable class provides a flexible editable table widget.
+
+<p>
+
+
+<p> QTable is easy to use, although it does have a large API because
+of the comprehensive functionality that it provides. QTable
+includes functions for manipulating <a href="#headers">headers</a>, <a href="#columnsrows">rows and columns</a>,
+<a href="#cells">cells</a> and <a href="#selections">selections</a>. QTable also provides in-place editing and
+<a href="dnd.html">drag and drop</a>, as well as a useful set of
+<a href="#signals">signals</a>. QTable efficiently supports very
+large tables, for example, tables one million by one million cells
+are perfectly possible. QTable is economical with memory, using
+none for unused cells.
+<p> <pre>
+ QTable *table = new QTable( 100, 250, this );
+ table-&gt;<a href="#setPixmap">setPixmap</a>( 3, 2, pix );
+ table-&gt;<a href="#setText">setText</a>( 3, 2, "A pixmap" );
+ </pre>
+
+<p> The first line constructs the table specifying its size in rows
+and columns. We then insert a pixmap and some text into the <em>same</em> <a href="#cells">cell</a>, with the pixmap appearing to the
+left of the text. QTable cells can be populated with
+<a href="qtableitem.html">QTableItem</a>s, <a href="qcombotableitem.html">QComboTableItem</a>s or by <a href="qchecktableitem.html">QCheckTableItem</a>s.
+By default a vertical header appears at the left of the table
+showing row numbers and a horizontal header appears at the top of
+the table showing column numbers. (The numbers displayed start at
+1, although row and column numbers within QTable begin at 0.)
+<p> If you want to use mouse tracking call <a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE ) on
+the <em>viewport</em>; (see <a href="qscrollview.html#allviews">QScrollView</a>).
+<p> <center><img src="qtableitems.png" alt="Table Items"></center>
+<p> <a name="headers"></a>
+<h3> Headers
+</h3>
+<a name="1"></a><p> QTable supports a header column, e.g. to display row numbers, and
+a header row, e.g to display column titles. To set row or column
+labels use <a href="qheader.html#setLabel">QHeader::setLabel</a>() on the pointers returned by
+<a href="#verticalHeader">verticalHeader</a>() and <a href="#horizontalHeader">horizontalHeader</a>() respectively. The vertical
+header is displayed within the table's left margin whose width is
+set with <a href="#setLeftMargin">setLeftMargin</a>(). The horizontal header is displayed
+within the table's top margin whose height is set with
+<a href="#setTopMargin">setTopMargin</a>(). The table's grid can be switched off with
+<a href="#setShowGrid">setShowGrid</a>(). If you want to hide a horizontal header call
+<a href="qwidget.html#hide">hide</a>(), and call setTopMargin( 0 ) so that the area the header
+would have occupied is reduced to zero size.
+<p> Header labels are indexed via their section numbers. Note that the
+default behavior of <a href="qheader.html">QHeader</a> regarding section numbers is overriden
+for QTable. See the explanation below in the Rows and Columns
+section in the discussion of moving columns and rows.
+<p> <a name="columnsrows"></a>
+<h3> Rows and Columns
+</h3>
+<a name="1-1"></a><p> Row and column sizes are set with <a href="#setRowHeight">setRowHeight</a>() and
+<a href="#setColumnWidth">setColumnWidth</a>(). If you want a row high enough to show the
+tallest item in its entirety, use <a href="#adjustRow">adjustRow</a>(). Similarly, to make
+a column wide enough to show the widest item use <a href="#adjustColumn">adjustColumn</a>().
+If you want the row height and column width to adjust
+automatically as the height and width of the table changes use
+<a href="#setRowStretchable">setRowStretchable</a>() and <a href="#setColumnStretchable">setColumnStretchable</a>().
+<p> Rows and columns can be hidden and shown with <a href="#hideRow">hideRow</a>(),
+<a href="#hideColumn">hideColumn</a>(), <a href="#showRow">showRow</a>() and <a href="#showColumn">showColumn</a>(). New rows and columns are
+inserted using <a href="#insertRows">insertRows</a>() and <a href="#insertColumns">insertColumns</a>(). Additional rows
+and columns are added at the bottom (rows) or right (columns) if
+you set <a href="#setNumRows">setNumRows</a>() or <a href="#setNumCols">setNumCols</a>() to be larger than <a href="#numRows">numRows</a>()
+or <a href="#numCols">numCols</a>(). Existing rows and columns are removed with
+<a href="#removeRow">removeRow</a>() and <a href="#removeColumn">removeColumn</a>(). Multiple rows and columns can be
+removed with <a href="#removeRows">removeRows</a>() and <a href="#removeColumns">removeColumns</a>().
+<p> Rows and columns can be set to be moveable using
+<a href="#rowMovingEnabled">rowMovingEnabled</a>() and <a href="#columnMovingEnabled">columnMovingEnabled</a>(). The user can drag
+them to reorder them holding down the Ctrl key and dragging the
+mouse. For performance reasons, the default behavior of <a href="qheader.html">QHeader</a>
+section numbers is overridden by QTable. Currently in QTable, when
+a row or column is dragged and reordered, the section number is
+also changed to its new position. Therefore, there is no
+difference between the section and the index fields in QHeader.
+The QTable QHeader classes do not provide a mechanism for indexing
+independently of the user interface ordering.
+<p> The table can be sorted using <a href="#sortColumn">sortColumn</a>(). Users can sort a
+column by clicking its header if <a href="#setSorting">setSorting</a>() is set to TRUE. Rows
+can be swapped with <a href="#swapRows">swapRows</a>(), columns with <a href="#swapColumns">swapColumns</a>() and
+cells with <a href="#swapCells">swapCells</a>().
+<p> For editable tables (see <a href="#setReadOnly">setReadOnly</a>()) you can set the read-only
+property of individual rows and columns with <a href="#setRowReadOnly">setRowReadOnly</a>() and
+<a href="#setColumnReadOnly">setColumnReadOnly</a>(). (Whether a cell is editable or read-only
+depends on these settings and the cell's <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.)
+<p> The row and column which have the focus are returned by
+<a href="#currentRow">currentRow</a>() and <a href="#currentColumn">currentColumn</a>() respectively.
+<p> Although many QTable functions operate in terms of rows and
+columns the <a href="#indexOf">indexOf</a>() function returns a single integer
+identifying a particular cell.
+<p> <a name="cells"></a>
+<h3> Cells
+</h3>
+<a name="1-2"></a><p> All of a QTable's cells are empty when the table is constructed.
+<p> There are two approaches to populating the table's cells. The
+first and simplest approach is to use QTableItems or <a href="qtableitem.html">QTableItem</a>
+subclasses. The second approach doesn't use QTableItems at all
+which is useful for very large sparse tables but requires you to
+reimplement a number of functions. We'll look at each approach in
+turn.
+<p> To put a string in a cell use <a href="#setText">setText</a>(). This function will create
+a new QTableItem for the cell if one doesn't already exist, and
+displays the text in it. By default the table item's widget will
+be a <a href="qlineedit.html">QLineEdit</a>. A pixmap may be put in a cell with <a href="#setPixmap">setPixmap</a>(),
+which also creates a table item if required. A cell may contain <em>both</em> a pixmap and text; the pixmap is displayed to the left of the
+text. Another approach is to construct a QTableItem or QTableItem
+subclass, set its properties, then insert it into a cell with
+<a href="#setItem">setItem</a>().
+<p> If you want cells which contain comboboxes use the <a href="qcombotableitem.html">QComboTableItem</a>
+class. Similarly if you require cells containing checkboxes use
+the <a href="qchecktableitem.html">QCheckTableItem</a> class. These table items look and behave just
+like the combobox or checkbox widgets but consume far less memory.
+<p>
+
+<pre> for ( int j = 0; j &lt; numRows; ++j )
+ <a name="x2445"></a> table.<a href="#setItem">setItem</a>( j, 1, new <a href="qchecktableitem.html">QCheckTableItem</a>( &amp;table, "Check me" ) );
+</pre>In the example above we create a column of QCheckTableItems and
+insert them into the table using setItem().
+<p> QTable takes ownership of its QTableItems and will delete them
+when the table itself is destroyed. You can take ownership of a
+table item using <a href="#takeItem">takeItem</a>() which you use to move a cell's
+contents from one cell to another, either within the same table,
+or from one table to another. (See also, <a href="#swapCells">swapCells</a>()).
+<p> In-place editing of the text in QTableItems, and the values in
+QComboTableItems and QCheckTableItems works automatically. Cells
+may be editable or read-only, see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>. If you
+want fine control over editing see <a href="#beginEdit">beginEdit</a>() and <a href="#endEdit">endEdit</a>().
+<p> The contents of a cell can be retrieved as a <a href="qtableitem.html">QTableItem</a> using
+<a href="#item">item</a>(), or as a string with <a href="#text">text</a>() or as a pixmap (if there is
+one) with <a href="#pixmap">pixmap</a>(). A cell's bounding rectangle is given by
+<a href="#cellGeometry">cellGeometry</a>(). Use <a href="#updateCell">updateCell</a>() to repaint a cell, for example to
+clear away a cell's visual representation after it has been
+deleted with <a href="#clearCell">clearCell</a>(). The table can be forced to scroll to
+show a particular cell with <a href="#ensureCellVisible">ensureCellVisible</a>(). The <a href="#isSelected">isSelected</a>()
+function indicates if a cell is selected.
+<p> It is possible to use your own widget as a cell's widget using
+<a href="#setCellWidget">setCellWidget</a>(), but subclassing QTableItem might be a simpler
+approach. The cell's widget (if there is one) can be removed with
+<a href="#clearCellWidget">clearCellWidget</a>().
+<p> <!-- index notes on large tables --><a name="notes-on-large-tables"></a><a name="bigtables"></a>
+<h4> Large tables
+</h4>
+<a name="1-2-1"></a><p> For large, sparse, tables using QTableItems or other widgets is
+inefficient. The solution is to <em>draw</em> the cell as it should
+appear and to create and destroy cell editors on demand.
+<p> This approach requires that you reimplement various functions.
+Reimplement <a href="#paintCell">paintCell</a>() to display your data, and <a href="#createEditor">createEditor</a>()
+and <a href="#setCellContentFromEditor">setCellContentFromEditor</a>() to support in-place editing. It
+is very important to reimplement <a href="#resizeData">resizeData</a>() to have no
+functionality, to prevent QTable from attempting to create a huge
+array. You will also need to reimplement <a href="#item">item</a>(), <a href="#setItem">setItem</a>(),
+<a href="#takeItem">takeItem</a>(), <a href="#clearCell">clearCell</a>(), and <a href="#insertWidget">insertWidget</a>(), <a href="#cellWidget">cellWidget</a>() and
+<a href="#clearCellWidget">clearCellWidget</a>(). In almost every circumstance (for sorting,
+removing and inserting columns and rows, etc.), you also need
+to reimplement <a href="#swapRows">swapRows</a>(), <a href="#swapCells">swapCells</a>() and <a href="#swapColumns">swapColumns</a>(), including
+header handling.
+<p> If you represent active cells with a dictionary of QTableItems and
+QWidgets, i.e. only store references to cells that are actually
+used, many of the functions can be implemented with a single line
+of code. (See the <a href="table-bigtable-main-cpp.html">table/bigtable/main.cpp</a> example.)
+<p> For more information on cells see the <a href="qtableitem.html">QTableItem</a> documenation.
+<p> <a name="selections"></a>
+<h3> Selections
+</h3>
+<a name="1-3"></a><p> QTable's support single selection, multi-selection (multiple
+cells) or no selection. The selection mode is set with
+<a href="#setSelectionMode">setSelectionMode</a>(). Use <a href="#isSelected">isSelected</a>() to determine if a particular
+cell is selected, and <a href="#isRowSelected">isRowSelected</a>() and <a href="#isColumnSelected">isColumnSelected</a>() to
+see if a row or column is selected.
+<p> QTable's support many simultaneous selections. You can
+programmatically select cells with <a href="#addSelection">addSelection</a>(). The number of
+selections is given by <a href="#numSelections">numSelections</a>(). The current selection is
+returned by <a href="#currentSelection">currentSelection</a>(). You can remove a selection with
+<a href="#removeSelection">removeSelection</a>() and remove all selections with
+<a href="#clearSelection">clearSelection</a>(). Selections are <a href="qtableselection.html">QTableSelection</a> objects.
+<p> To easily add a new selection use <a href="#selectCells">selectCells</a>(), <a href="#selectRow">selectRow</a>() or
+<a href="#selectColumn">selectColumn</a>().
+<p> Alternatively, use addSelection() to add new selections using
+QTableSelection objects. The advantage of using QTableSelection
+objects is that you can call <a href="qtableselection.html#expandTo">QTableSelection::expandTo</a>() to resize
+the selection and can query and compare them.
+<p> The number of selections is given by numSelections(). The current
+selection is returned by currentSelection(). You can remove a
+selection with removeSelection() and remove all selections with
+clearSelection().
+<p> <a name="signals"></a>
+<h3> Signals
+</h3>
+<a name="1-4"></a><p> When the user clicks a cell the <a href="#currentChanged">currentChanged</a>() signal is
+emitted. You can also connect to the lower level <a href="#clicked">clicked</a>(),
+<a href="#doubleClicked">doubleClicked</a>() and <a href="#pressed">pressed</a>() signals. If the user changes the
+selection the <a href="#selectionChanged">selectionChanged</a>() signal is emitted; similarly if
+the user changes a cell's value the <a href="#valueChanged">valueChanged</a>() signal is
+emitted. If the user right-clicks (or presses the appropriate
+platform-specific key sequence) the <a href="#contextMenuRequested">contextMenuRequested</a>() signal
+is emitted. If the user drops a drag and drop object the <a href="#dropped">dropped</a>()
+signal is emitted with the drop event.
+<p>See also <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="EditMode-enum"></a>QTable::EditMode</h3>
+
+<ul>
+<li><tt>QTable::NotEditing</tt> - No cell is currently being edited.
+<li><tt>QTable::Editing</tt> - A cell is currently being edited. The editor was
+initialised with the cell's contents.
+<li><tt>QTable::Replacing</tt> - A cell is currently being edited. The editor was
+not initialised with the cell's contents.
+</ul>
+<h3 class=fn><a name="FocusStyle-enum"></a>QTable::FocusStyle</h3>
+
+<p> Specifies how the current cell (focus cell) is drawn.
+<ul>
+<li><tt>QTable::FollowStyle</tt> - The current cell is drawn according to the
+current style and the cell's background is also drawn selected, if
+the current cell is within a selection
+<li><tt>QTable::SpreadSheet</tt> - The current cell is drawn as in a spreadsheet.
+This means, it is signified by a black rectangle around the cell,
+and the background of the current cell is always drawn with the
+widget's base color - even when selected.
+</ul><p>
+<h3 class=fn><a name="SelectionMode-enum"></a>QTable::SelectionMode</h3>
+
+<ul>
+<li><tt>QTable::NoSelection</tt> - No cell can be selected by the user.
+<li><tt>QTable::Single</tt> - The user may only select a single range of cells.
+<li><tt>QTable::Multi</tt> - The user may select multiple ranges of cells.
+<li><tt>QTable::SingleRow</tt> - The user may select one row at once.
+<li><tt>QTable::MultiRow</tt> - The user may select multiple rows.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTable"></a>QTable::QTable ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Creates an empty table object called <em>name</em> as a child of <em>parent</em>.
+<p> Call <a href="#setNumRows">setNumRows</a>() and <a href="#setNumCols">setNumCols</a>() to set the table size before
+populating the table if you're using QTableItems.
+<p> <p>See also <a href="qwidget.html#clearWFlags">QWidget::clearWFlags</a>() and <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+
+<h3 class=fn><a name="QTable-2"></a>QTable::QTable ( int&nbsp;numRows, int&nbsp;numCols, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty table called <em>name</em> with <em>numRows</em> rows and
+<em>numCols</em> columns. The table is a child of <em>parent</em>.
+<p> If you're using <a href="qtableitem.html">QTableItem</a>s to populate the table's cells, you
+can create <a href="qtableitem.html">QTableItem</a>, <a href="qcombotableitem.html">QComboTableItem</a> and <a href="qchecktableitem.html">QCheckTableItem</a> items
+and insert them into the table using <a href="#setItem">setItem</a>(). (See the <a href="qtable.html#notes-on-large-tables">notes on large tables</a> for an alternative to using QTableItems.)
+<p> <p>See also <a href="qwidget.html#clearWFlags">QWidget::clearWFlags</a>() and <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+
+<h3 class=fn><a name="~QTable"></a>QTable::~QTable ()
+</h3>
+Releases all the resources used by the QTable object,
+including all <a href="qtableitem.html">QTableItem</a>s and their widgets.
+
+<h3 class=fn>void <a name="activateNextCell"></a>QTable::activateNextCell ()<tt> [virtual protected]</tt>
+</h3>
+This function is called to activate the next cell if in-place
+editing was finished by pressing the Enter key.
+<p> The default behaviour is to move from top to bottom, i.e. move to
+the cell beneath the cell being edited. Reimplement this function
+if you want different behaviour, e.g. moving from left to right.
+
+<h3 class=fn>int <a name="addSelection"></a>QTable::addSelection ( const&nbsp;<a href="qtableselection.html">QTableSelection</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+Adds a selection described by <em>s</em> to the table and returns its
+number or -1 if the selection is invalid.
+<p> Remember to call <a href="qtableselection.html#init">QTableSelection::init</a>() and
+<a href="qtableselection.html#expandTo">QTableSelection::expandTo</a>() to make the selection valid (see also
+<a href="qtableselection.html#isActive">QTableSelection::isActive</a>(), or use the
+<a href="qtableselection.html">QTableSelection</a>(int,int,int,int) constructor).
+<p> <p>See also <a href="#numSelections-prop">numSelections</a>, <a href="#removeSelection">removeSelection</a>(), and <a href="#clearSelection">clearSelection</a>().
+
+<h3 class=fn>void <a name="adjustColumn"></a>QTable::adjustColumn ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Resizes column <em>col</em> so that the column width is wide enough to
+display the widest item the column contains.
+<p> <p>See also <a href="#adjustRow">adjustRow</a>().
+
+<p>Example: <a href="regexptester-example.html#x2498">regexptester/regexptester.cpp</a>.
+<p>Reimplemented in <a href="qdatatable.html#adjustColumn">QDataTable</a>.
+<h3 class=fn>void <a name="adjustRow"></a>QTable::adjustRow ( int&nbsp;row )<tt> [virtual slot]</tt>
+</h3>
+Resizes row <em>row</em> so that the row height is tall enough to
+display the tallest item the row contains.
+<p> <p>See also <a href="#adjustColumn">adjustColumn</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="beginEdit"></a>QTable::beginEdit ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace )<tt> [virtual protected]</tt>
+</h3>
+This function is called to start in-place editing of the cell at
+<em>row</em>, <em>col</em>. Editing is achieved by creating an editor
+(<a href="#createEditor">createEditor</a>() is called) and setting the cell's editor with
+<a href="#setCellWidget">setCellWidget</a>() to the newly created editor. (After editing is
+complete <a href="#endEdit">endEdit</a>() will be called to replace the cell's content
+with the editor's content.) If <em>replace</em> is TRUE the editor will
+start empty; otherwise it will be initialized with the cell's
+content (if any), i.e. the user will be modifying the original
+cell content.
+<p> <p>See also <a href="#endEdit">endEdit</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="cellGeometry"></a>QTable::cellGeometry ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the bounding rectangle of the cell at <em>row</em>, <em>col</em> in
+content coordinates.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="cellRect"></a>QTable::cellRect ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the geometry of cell <em>row</em>, <em>col</em> in the cell's
+coordinate system. This is a convenience function useful in
+<a href="#paintCell">paintCell</a>(). It is equivalent to <a href="qrect.html">QRect</a>( <a href="qpoint.html">QPoint</a>(0,0), <a href="#cellGeometry">cellGeometry</a>(
+row, col).<a href="qwidget.html#size">size</a>() );
+<p> <p>See also <a href="#cellGeometry">cellGeometry</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2610">chart/setdataform.cpp</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="cellWidget"></a>QTable::cellWidget ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the widget that has been set for the cell at <em>row</em>, <em>col</em>, or 0 if no widget has been set.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> <p>See also <a href="#clearCellWidget">clearCellWidget</a>() and <a href="#setCellWidget">setCellWidget</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2611">chart/setdataform.cpp</a>.
+<h3 class=fn>void <a name="clearCell"></a>QTable::clearCell ( int&nbsp;row, int&nbsp;col )<tt> [virtual]</tt>
+</h3>
+Removes the <a href="qtableitem.html">QTableItem</a> at <em>row</em>, <em>col</em>.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+
+<h3 class=fn>void <a name="clearCellWidget"></a>QTable::clearCellWidget ( int&nbsp;row, int&nbsp;col )<tt> [virtual]</tt>
+</h3>
+Removes the widget (if there is one) set for the cell at <em>row</em>,
+<em>col</em>.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> This function deletes the widget at <em>row</em>, <em>col</em>. Note that the
+widget is not deleted immediately; instead <a href="qobject.html#deleteLater">QObject::deleteLater</a>()
+is called on the widget to avoid problems with timing issues.
+<p> <p>See also <a href="#cellWidget">cellWidget</a>() and <a href="#setCellWidget">setCellWidget</a>().
+
+<h3 class=fn>void <a name="clearSelection"></a>QTable::clearSelection ( bool&nbsp;repaint = TRUE )<tt> [slot]</tt>
+</h3>
+Clears all selections and repaints the appropriate regions if <em>repaint</em> is TRUE.
+<p> <p>See also <a href="#removeSelection">removeSelection</a>().
+
+<h3 class=fn>void <a name="clicked"></a>QTable::clicked ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;mousePos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when mouse button <em>button</em> is clicked. The
+cell where the event took place is at <em>row</em>, <em>col</em>, and the
+mouse's position is in <em>mousePos</em>.
+<p> <p>See also <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<p>Example: <a href="tutorial2-08.html#x2612">chart/setdataform.cpp</a>.
+<h3 class=fn>int <a name="columnAt"></a>QTable::columnAt ( int&nbsp;x ) const<tt> [virtual]</tt>
+</h3>
+Returns the number of the column at position <em>x</em>. <em>x</em> must be
+given in content coordinates.
+<p> <p>See also <a href="#columnPos">columnPos</a>() and <a href="#rowAt">rowAt</a>().
+
+<h3 class=fn>void <a name="columnClicked"></a>QTable::columnClicked ( int&nbsp;col )<tt> [virtual protected slot]</tt>
+</h3>
+This function is called when the column <em>col</em> has been clicked.
+The default implementation sorts this column if <a href="#sorting">sorting</a>() is TRUE.
+
+<h3 class=fn>void <a name="columnIndexChanged"></a>QTable::columnIndexChanged ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )<tt> [virtual protected slot]</tt>
+</h3>
+This function is called when column order is to be changed, i.e.
+when the user moved the column header <em>section</em> from <em>fromIndex</em>
+to <em>toIndex</em>.
+<p> If you want to change the column order programmatically, call
+<a href="#swapRows">swapRows</a>() or <a href="#swapColumns">swapColumns</a>();
+<p> <p>See also <a href="qheader.html#indexChange">QHeader::indexChange</a>() and <a href="#rowIndexChanged">rowIndexChanged</a>().
+
+<h3 class=fn>bool <a name="columnMovingEnabled"></a>QTable::columnMovingEnabled () const
+</h3><p>Returns TRUE if columns can be moved by the user; otherwise returns FALSE.
+See the <a href="qtable.html#columnMovingEnabled-prop">"columnMovingEnabled"</a> property for details.
+<h3 class=fn>int <a name="columnPos"></a>QTable::columnPos ( int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the x-coordinate of the column <em>col</em> in content
+coordinates.
+<p> <p>See also <a href="#columnAt">columnAt</a>() and <a href="#rowPos">rowPos</a>().
+
+<h3 class=fn>int <a name="columnWidth"></a>QTable::columnWidth ( int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the width of column <em>col</em>.
+<p> <p>See also <a href="#setColumnWidth">setColumnWidth</a>() and <a href="#rowHeight">rowHeight</a>().
+
+<h3 class=fn>void <a name="columnWidthChanged"></a>QTable::columnWidthChanged ( int&nbsp;col )<tt> [virtual protected slot]</tt>
+</h3>
+This function should be called whenever the column width of <em>col</em>
+has been changed. It updates the geometry of any affected columns
+and repaints the table to reflect the changes it has made.
+
+<h3 class=fn>void <a name="contentsDragEnterEvent"></a>QTable::contentsDragEnterEvent ( <a href="qdragenterevent.html">QDragEnterEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever a QTable object receives a
+<a href="qdragenterevent.html">QDragEnterEvent</a> <em>e</em>, i.e. when the user pressed the mouse
+button to drag something.
+<p> The focus is moved to the cell where the <a href="qdragenterevent.html">QDragEnterEvent</a> occurred.
+
+<p>Reimplemented from <a href="qscrollview.html#contentsDragEnterEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsDragLeaveEvent"></a>QTable::contentsDragLeaveEvent ( <a href="qdragleaveevent.html">QDragLeaveEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when a drag activity leaves <em>this</em>
+QTable object with event <em>e</em>.
+
+<p>Reimplemented from <a href="qscrollview.html#contentsDragLeaveEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsDragMoveEvent"></a>QTable::contentsDragMoveEvent ( <a href="qdragmoveevent.html">QDragMoveEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called whenever a QTable object receives a
+<a href="qdragmoveevent.html">QDragMoveEvent</a> <em>e</em>, i.e. when the user actually drags the
+mouse.
+<p> The focus is moved to the cell where the <a href="qdragmoveevent.html">QDragMoveEvent</a> occurred.
+
+<p>Reimplemented from <a href="qscrollview.html#contentsDragMoveEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contentsDropEvent"></a>QTable::contentsDropEvent ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when the user ends a drag and drop by
+dropping something onto <em>this</em> QTable and thus triggers the drop
+event, <em>e</em>.
+
+<p>Reimplemented from <a href="qscrollview.html#contentsDropEvent">QScrollView</a>.
+<h3 class=fn>void <a name="contextMenuRequested"></a>QTable::contextMenuRequested ( int&nbsp;row, int&nbsp;col, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user invokes a context menu with
+the right mouse button (or with a system-specific keypress). The
+cell where the event took place is at <em>row</em>, <em>col</em>. <em>pos</em> is
+the position where the context menu will appear in the global
+coordinate system. This signal is always emitted, even if the
+contents of the cell are disabled.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createEditor"></a>QTable::createEditor ( int&nbsp;row, int&nbsp;col, bool&nbsp;initFromCell ) const<tt> [virtual protected]</tt>
+</h3>
+This function returns the widget which should be used as an editor
+for the contents of the cell at <em>row</em>, <em>col</em>.
+<p> If <em>initFromCell</em> is TRUE, the editor is used to edit the current
+contents of the cell (so the editor widget should be initialized
+with this content). If <em>initFromCell</em> is FALSE, the content of
+the cell is replaced with the new content which the user entered
+into the widget created by this function.
+<p> The default functionality is as follows: if <em>initFromCell</em> is
+TRUE or the cell has a <a href="qtableitem.html">QTableItem</a> and the table item's
+<a href="qtableitem.html#isReplaceable">QTableItem::isReplaceable</a>() is FALSE then the cell is asked to
+create an appropriate editor (using <a href="qtableitem.html#createEditor">QTableItem::createEditor</a>()).
+Otherwise a <a href="qlineedit.html">QLineEdit</a> is used as the editor.
+<p> If you want to create your own editor for certain cells, implement
+a custom QTableItem subclass and reimplement
+QTableItem::createEditor().
+<p> If you are not using <a href="qtableitem.html">QTableItem</a>s and you don't want to use a
+QLineEdit as the default editor, subclass QTable and reimplement
+this function with code like this:
+<pre>
+ <a href="qtableitem.html">QTableItem</a> *i = <a href="#item">item</a>( row, col );
+ if ( initFromCell || ( i &amp;&amp; !i-&gt;<a href="qtableitem.html#isReplaceable">isReplaceable</a>() ) )
+ // If we had a QTableItem ask the base class to create the editor
+ return QTable::createEditor( row, col, initFromCell );
+ else
+ return ...(create your own editor)
+ </pre>
+
+Ownership of the editor widget is transferred to the caller.
+<p> If you reimplement this function return 0 for read-only cells. You
+will need to reimplement <a href="#setCellContentFromEditor">setCellContentFromEditor</a>() to retrieve
+the data the user entered.
+<p> <p>See also <a href="qtableitem.html#createEditor">QTableItem::createEditor</a>().
+
+<h3 class=fn>int <a name="currEditCol"></a>QTable::currEditCol () const<tt> [protected]</tt>
+</h3>
+Returns the current edited column
+
+<h3 class=fn>int <a name="currEditRow"></a>QTable::currEditRow () const<tt> [protected]</tt>
+</h3>
+Returns the current edited row
+
+<h3 class=fn>void <a name="currentChanged"></a>QTable::currentChanged ( int&nbsp;row, int&nbsp;col )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the current cell has changed to <em>row</em>, <em>col</em>.
+
+<p>Example: <a href="tutorial2-08.html#x2613">chart/setdataform.cpp</a>.
+<h3 class=fn>int <a name="currentColumn"></a>QTable::currentColumn () const
+</h3>
+
+<p> Returns the current column.
+<p> <p>See also <a href="#currentRow">currentRow</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2614">chart/setdataform.cpp</a>.
+<h3 class=fn>int <a name="currentRow"></a>QTable::currentRow () const
+</h3>
+
+<p> Returns the current row.
+<p> <p>See also <a href="#currentColumn">currentColumn</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2615">chart/setdataform.cpp</a>.
+<h3 class=fn>int <a name="currentSelection"></a>QTable::currentSelection () const<tt> [virtual]</tt>
+</h3>
+Returns the number of the current selection or -1 if there is no
+current selection.
+<p> <p>See also <a href="#numSelections-prop">numSelections</a>.
+
+<h3 class=fn>void <a name="doubleClicked"></a>QTable::doubleClicked ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;mousePos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when mouse button <em>button</em> is
+double-clicked. The cell where the event took place is at <em>row</em>,
+<em>col</em>, and the mouse's position is in <em>mousePos</em>.
+<p> <p>See also <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<h3 class=fn>bool <a name="dragEnabled"></a>QTable::dragEnabled () const<tt> [slot]</tt>
+</h3>
+If this function returns TRUE, the table supports dragging.
+<p> <p>See also <a href="#setDragEnabled">setDragEnabled</a>().
+
+<h3 class=fn><a href="qdragobject.html">QDragObject</a>&nbsp;* <a name="dragObject"></a>QTable::dragObject ()<tt> [virtual protected]</tt>
+</h3>
+If the user presses the mouse on a selected cell, starts moving
+(i.e. dragging), and <a href="#dragEnabled">dragEnabled</a>() is TRUE, this function is
+called to obtain a drag object. A drag using this object begins
+immediately unless <a href="#dragObject">dragObject</a>() returns 0.
+<p> By default this function returns 0. You might reimplement it and
+create a <a href="qdragobject.html">QDragObject</a> depending on the selected items.
+<p> <p>See also <a href="#dropped">dropped</a>().
+
+<h3 class=fn>void <a name="drawContents"></a>QTable::drawContents ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )<tt> [virtual protected]</tt>
+</h3>
+Draws the table contents on the painter <em>p</em>. This function is
+optimized so that it only draws the cells inside the <em>cw</em> pixels
+wide and <em>ch</em> pixels high clipping rectangle at position <em>cx</em>,
+<em>cy</em>.
+<p> Additionally, <a href="#drawContents">drawContents</a>() highlights the current cell.
+
+<p>Reimplemented from <a href="qscrollview.html#drawContents">QScrollView</a>.
+<h3 class=fn>void <a name="dropped"></a>QTable::dropped ( <a href="qdropevent.html">QDropEvent</a>&nbsp;*&nbsp;e )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a drop event occurred on the table.
+<p> <em>e</em> contains information about the drop.
+
+<h3 class=fn>void <a name="editCell"></a>QTable::editCell ( int&nbsp;row, int&nbsp;col, bool&nbsp;replace = FALSE )<tt> [virtual slot]</tt>
+</h3>
+Starts editing the cell at <em>row</em>, <em>col</em>.
+<p> If <em>replace</em> is TRUE the content of this cell will be replaced by
+the content of the editor when editing is finished, i.e. the user
+will be entering new data; otherwise the current content of the
+cell (if any) will be modified in the editor.
+<p> <p>See also <a href="#beginEdit">beginEdit</a>().
+
+<h3 class=fn><a href="qtable.html#EditMode-enum">EditMode</a> <a name="editMode"></a>QTable::editMode () const<tt> [protected]</tt>
+</h3>
+Returns the current edit mode
+<p> <p>See also <a href="#EditMode-enum">QTable::EditMode</a>.
+
+<h3 class=fn>void <a name="endEdit"></a>QTable::endEdit ( int&nbsp;row, int&nbsp;col, bool&nbsp;accept, bool&nbsp;replace )<tt> [virtual protected]</tt>
+</h3>
+This function is called when in-place editing of the cell at <em>row</em>, <em>col</em> is requested to stop.
+<p> If the cell is not being edited or <em>accept</em> is FALSE the function
+returns and the cell's contents are left unchanged.
+<p> If <em>accept</em> is TRUE the content of the editor must be transferred
+to the relevant cell. If <em>replace</em> is TRUE the current content of
+this cell should be replaced by the content of the editor (this
+means removing the current <a href="qtableitem.html">QTableItem</a> of the cell and creating a
+new one for the cell). Otherwise (if possible) the content of the
+editor should just be set to the existing QTableItem of this cell.
+<p> <a href="#setCellContentFromEditor">setCellContentFromEditor</a>() is called to replace the contents of
+the cell with the contents of the cell's editor.
+<p> Finally <a href="#clearCellWidget">clearCellWidget</a>() is called to remove the editor widget.
+<p> <p>See also <a href="#setCellContentFromEditor">setCellContentFromEditor</a>() and <a href="#beginEdit">beginEdit</a>().
+
+<h3 class=fn>void <a name="ensureCellVisible"></a>QTable::ensureCellVisible ( int&nbsp;row, int&nbsp;col )
+</h3>
+Scrolls the table until the cell at <em>row</em>, <em>col</em> becomes
+visible.
+
+<h3 class=fn><a href="qtable.html#FocusStyle-enum">FocusStyle</a> <a name="focusStyle"></a>QTable::focusStyle () const
+</h3><p>Returns how the current (focus) cell is drawn.
+See the <a href="qtable.html#focusStyle-prop">"focusStyle"</a> property for details.
+<h3 class=fn>void <a name="hideColumn"></a>QTable::hideColumn ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Hides column <em>col</em>.
+<p> <p>See also <a href="#showColumn">showColumn</a>() and <a href="#hideRow">hideRow</a>().
+
+<h3 class=fn>void <a name="hideRow"></a>QTable::hideRow ( int&nbsp;row )<tt> [virtual slot]</tt>
+</h3>
+Hides row <em>row</em>.
+<p> <p>See also <a href="#showRow">showRow</a>() and <a href="#hideColumn">hideColumn</a>().
+
+<h3 class=fn><a href="qheader.html">QHeader</a>&nbsp;* <a name="horizontalHeader"></a>QTable::horizontalHeader () const
+</h3>
+Returns the table's top <a href="qheader.html">QHeader</a>.
+<p> This header contains the column labels.
+<p> To modify a column label use <a href="qheader.html#setLabel">QHeader::setLabel</a>(), e.g.
+
+
+<pre> <a href="#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 0, tr( "File" ) );
+</pre>
+<p> <p>See also <a href="#verticalHeader">verticalHeader</a>(), <a href="#setTopMargin">setTopMargin</a>(), and <a href="qheader.html">QHeader</a>.
+
+<p>Examples: <a href="tutorial2-08.html#x2616">chart/setdataform.cpp</a>, <a href="helpsystem-example.html#x2690">helpsystem/mainwindow.cpp</a>, <a href="regexptester-example.html#x2499">regexptester/regexptester.cpp</a>, and <a href="small-table-example-example.html#x2800">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>int <a name="indexOf"></a>QTable::indexOf ( int&nbsp;row, int&nbsp;col ) const<tt> [protected]</tt>
+</h3>
+Returns a single integer which identifies a particular <em>row</em> and <em>col</em> by mapping the 2D table to a 1D array.
+<p> This is useful, for example, if you have a sparse table and want to
+use a <a href="qintdict.html">QIntDict</a> to map integers to the cells that are used.
+
+<h3 class=fn>void <a name="insertColumns"></a>QTable::insertColumns ( int&nbsp;col, int&nbsp;count = 1 )<tt> [virtual slot]</tt>
+</h3>
+Inserts <em>count</em> empty columns at column <em>col</em>. Also clears the <a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#insertRows">insertRows</a>() and <a href="#removeColumn">removeColumn</a>().
+
+<h3 class=fn>void <a name="insertRows"></a>QTable::insertRows ( int&nbsp;row, int&nbsp;count = 1 )<tt> [virtual slot]</tt>
+</h3>
+Inserts <em>count</em> empty rows at row <em>row</em>. Also clears the <a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#insertColumns">insertColumns</a>() and <a href="#removeRow">removeRow</a>().
+
+<h3 class=fn>void <a name="insertWidget"></a>QTable::insertWidget ( int&nbsp;row, int&nbsp;col, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual protected]</tt>
+</h3>
+Inserts widget <em>w</em> at <em>row</em>, <em>col</em> into the internal
+data structure. See the documentation of <a href="#setCellWidget">setCellWidget</a>() for
+further details.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+
+<h3 class=fn>bool <a name="isColumnHidden"></a>QTable::isColumnHidden ( int&nbsp;col ) const<tt> [slot]</tt>
+</h3>
+Returns TRUE if column <em>col</em> is hidden; otherwise returns
+FALSE.
+<p> <p>See also <a href="#hideColumn">hideColumn</a>() and <a href="#isRowHidden">isRowHidden</a>().
+
+<h3 class=fn>bool <a name="isColumnReadOnly"></a>QTable::isColumnReadOnly ( int&nbsp;col ) const
+</h3>
+Returns TRUE if column <em>col</em> is read-only; otherwise returns
+FALSE.
+<p> Whether a cell in this column is editable or read-only depends on
+the cell's EditType, and this setting: see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.
+<p> <p>See also <a href="#setColumnReadOnly">setColumnReadOnly</a>() and <a href="#isRowReadOnly">isRowReadOnly</a>().
+
+<h3 class=fn>bool <a name="isColumnSelected"></a>QTable::isColumnSelected ( int&nbsp;col, bool&nbsp;full = FALSE ) const
+</h3>
+Returns TRUE if column <em>col</em> is selected; otherwise returns FALSE.
+<p> If <em>full</em> is FALSE (the default), 'column is selected' means that
+at least one cell in the column is selected. If <em>full</em> is TRUE,
+then 'column is selected' means every cell in the column is
+selected.
+<p> <p>See also <a href="#isRowSelected">isRowSelected</a>() and <a href="#isSelected">isSelected</a>().
+
+<h3 class=fn>bool <a name="isColumnStretchable"></a>QTable::isColumnStretchable ( int&nbsp;col ) const<tt> [slot]</tt>
+</h3>
+Returns TRUE if column <em>col</em> is stretchable; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setColumnStretchable">setColumnStretchable</a>() and <a href="#isRowStretchable">isRowStretchable</a>().
+
+<h3 class=fn>bool <a name="isEditing"></a>QTable::isEditing () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if the <a href="#EditMode-enum">EditMode</a> is <a href="#EditMode-enum">Editing</a> or <a href="#EditMode-enum">Replacing</a>;
+otherwise (i.e. the <a href="#EditMode-enum">EditMode</a> is <a href="#EditMode-enum">NotEditing</a>) returns FALSE.
+<p> <p>See also <a href="#EditMode-enum">QTable::EditMode</a>.
+
+<h3 class=fn>bool <a name="isReadOnly"></a>QTable::isReadOnly () const
+</h3><p>Returns TRUE if the table is read-only; otherwise returns FALSE.
+See the <a href="qtable.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>bool <a name="isRowHidden"></a>QTable::isRowHidden ( int&nbsp;row ) const<tt> [slot]</tt>
+</h3>
+Returns TRUE if row <em>row</em> is hidden; otherwise returns
+FALSE.
+<p> <p>See also <a href="#hideRow">hideRow</a>() and <a href="#isColumnHidden">isColumnHidden</a>().
+
+<h3 class=fn>bool <a name="isRowReadOnly"></a>QTable::isRowReadOnly ( int&nbsp;row ) const
+</h3>
+Returns TRUE if row <em>row</em> is read-only; otherwise returns FALSE.
+<p> Whether a cell in this row is editable or read-only depends on the
+cell's <a href="qtableitem.html#EditType-enum">EditType</a>, and this
+setting: see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.
+<p> <p>See also <a href="#setRowReadOnly">setRowReadOnly</a>() and <a href="#isColumnReadOnly">isColumnReadOnly</a>().
+
+<h3 class=fn>bool <a name="isRowSelected"></a>QTable::isRowSelected ( int&nbsp;row, bool&nbsp;full = FALSE ) const
+</h3>
+Returns TRUE if row <em>row</em> is selected; otherwise returns FALSE.
+<p> If <em>full</em> is FALSE (the default), 'row is selected' means that at
+least one cell in the row is selected. If <em>full</em> is TRUE, then 'row
+is selected' means every cell in the row is selected.
+<p> <p>See also <a href="#isColumnSelected">isColumnSelected</a>() and <a href="#isSelected">isSelected</a>().
+
+<h3 class=fn>bool <a name="isRowStretchable"></a>QTable::isRowStretchable ( int&nbsp;row ) const<tt> [slot]</tt>
+</h3>
+Returns TRUE if row <em>row</em> is stretchable; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setRowStretchable">setRowStretchable</a>() and <a href="#isColumnStretchable">isColumnStretchable</a>().
+
+<h3 class=fn>bool <a name="isSelected"></a>QTable::isSelected ( int&nbsp;row, int&nbsp;col ) const
+</h3>
+Returns TRUE if the cell at <em>row</em>, <em>col</em> is selected; otherwise
+returns FALSE.
+<p> <p>See also <a href="#isRowSelected">isRowSelected</a>() and <a href="#isColumnSelected">isColumnSelected</a>().
+
+<h3 class=fn><a href="qtableitem.html">QTableItem</a>&nbsp;* <a name="item"></a>QTable::item ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the <a href="qtableitem.html">QTableItem</a> representing the contents of the cell at <em>row</em>, <em>col</em>.
+<p> If <em>row</em> or <em>col</em> are out of range or no content has been set
+for this cell, <a href="#item">item</a>() returns 0.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> <p>See also <a href="#setItem">setItem</a>().
+
+<p>Example: <a href="regexptester-example.html#x2500">regexptester/regexptester.cpp</a>.
+<h3 class=fn>int <a name="numCols"></a>QTable::numCols () const<tt> [virtual]</tt>
+</h3><p>Returns the number of columns in the table.
+See the <a href="qtable.html#numCols-prop">"numCols"</a> property for details.
+<p>Reimplemented in <a href="qdatatable.html#numCols">QDataTable</a>.
+<h3 class=fn>int <a name="numRows"></a>QTable::numRows () const<tt> [virtual]</tt>
+</h3><p>Returns the number of rows in the table.
+See the <a href="qtable.html#numRows-prop">"numRows"</a> property for details.
+<p>Reimplemented in <a href="qdatatable.html#numRows">QDataTable</a>.
+<h3 class=fn>int <a name="numSelections"></a>QTable::numSelections () const
+</h3><p>Returns the number of selections.
+See the <a href="qtable.html#numSelections-prop">"numSelections"</a> property for details.
+<h3 class=fn>void <a name="paintCell"></a>QTable::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;cr, bool&nbsp;selected, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg )<tt> [virtual]</tt>
+</h3>
+Paints the cell at <em>row</em>, <em>col</em> on the painter <em>p</em>. The painter
+has already been translated to the cell's origin. <em>cr</em> describes
+the cell coordinates in the content coordinate system.
+<p> If <em>selected</em> is TRUE the cell is highlighted.
+<p> <em>cg</em> is the colorgroup which should be used to draw the cell
+content.
+<p> If you want to draw custom cell content, for example right-aligned
+text, you must either reimplement <a href="#paintCell">paintCell</a>(), or subclass
+<a href="qtableitem.html">QTableItem</a> and reimplement <a href="qtableitem.html#paint">QTableItem::paint</a>() to do the custom
+drawing.
+<p> If you're using a QTableItem subclass, for example, to store a
+data structure, then reimplementing QTableItem::paint() may be the
+best approach. For data you want to draw immediately, e.g. data
+retrieved from a database, it is probably best to reimplement
+paintCell(). Note that if you reimplement paintCell(), i.e. don't
+use <a href="qtableitem.html">QTableItem</a>s, you must reimplement other functions: see the
+<a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> Note that the painter is not clipped by default in order to get
+maximum efficiency. If you want clipping, use code like this:
+<p> <pre>
+ p-&gt;setClipRect( <a href="#cellRect">cellRect</a>(row, col), QPainter::CoordPainter );
+ //... your drawing code
+ p-&gt;setClipping( FALSE );
+ </pre>
+
+
+<h3 class=fn>void <a name="paintCell-2"></a>QTable::paintCell ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;row, int&nbsp;col, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Use the other <a href="#paintCell">paintCell</a>() function. This function is only included
+for backwards compatibilty.
+
+<h3 class=fn>void <a name="paintEmptyArea"></a>QTable::paintEmptyArea ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, int&nbsp;cx, int&nbsp;cy, int&nbsp;cw, int&nbsp;ch )<tt> [virtual protected]</tt>
+</h3>
+This function fills the <em>cw</em> pixels wide and <em>ch</em> pixels high
+rectangle starting at position <em>cx</em>, <em>cy</em> with the background
+color using the painter <em>p</em>.
+<p> <a href="#paintEmptyArea">paintEmptyArea</a>() is invoked by <a href="#drawContents">drawContents</a>() to erase or fill
+unused areas.
+
+<h3 class=fn>void <a name="paintFocus"></a>QTable::paintFocus ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;cr )<tt> [virtual]</tt>
+</h3>
+Draws the focus rectangle of the current cell (see <a href="#currentRow">currentRow</a>(),
+<a href="#currentColumn">currentColumn</a>()).
+<p> The painter <em>p</em> is already translated to the cell's origin, while
+<em>cr</em> specifies the cell's geometry in content coordinates.
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap"></a>QTable::pixmap ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the pixmap set for the cell at <em>row</em>, <em>col</em>, or a
+null-pixmap if the cell contains no pixmap.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2617">chart/setdataform.cpp</a>.
+<h3 class=fn>void <a name="pressed"></a>QTable::pressed ( int&nbsp;row, int&nbsp;col, int&nbsp;button, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;mousePos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when mouse button <em>button</em> is pressed. The
+cell where the event took place is at <em>row</em>, <em>col</em>, and the
+mouse's position is in <em>mousePos</em>.
+<p> <p>See also <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
+
+<h3 class=fn>void <a name="removeColumn"></a>QTable::removeColumn ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Removes column <em>col</em>, and deletes all its cells including any
+table items and widgets the cells may contain. Also clears the
+<a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#removeColumns">removeColumns</a>(), <a href="#hideColumn">hideColumn</a>(), <a href="#insertColumns">insertColumns</a>(), and <a href="#removeRow">removeRow</a>().
+
+<h3 class=fn>void <a name="removeColumns"></a>QTable::removeColumns ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;int&gt;&nbsp;&amp;&nbsp;cols )<tt> [virtual slot]</tt>
+</h3>
+Removes the columns listed in the array <em>cols</em>, and deletes all
+their cells including any table items and widgets the cells may
+contain.
+<p> The array passed in must only contain valid columns (in the range
+from 0 to <a href="#numCols">numCols</a>() - 1) with no duplicates, and must be sorted in
+ascending order. Also clears the <a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#removeColumn">removeColumn</a>(), <a href="#insertColumns">insertColumns</a>(), and <a href="#removeRows">removeRows</a>().
+
+<h3 class=fn>void <a name="removeRow"></a>QTable::removeRow ( int&nbsp;row )<tt> [virtual slot]</tt>
+</h3>
+Removes row <em>row</em>, and deletes all its cells including any table
+items and widgets the cells may contain. Also clears the <a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#hideRow">hideRow</a>(), <a href="#insertRows">insertRows</a>(), <a href="#removeColumn">removeColumn</a>(), and <a href="#removeRows">removeRows</a>().
+
+<h3 class=fn>void <a name="removeRows"></a>QTable::removeRows ( const&nbsp;<a href="qmemarray.html">QMemArray</a>&lt;int&gt;&nbsp;&amp;&nbsp;rows )<tt> [virtual slot]</tt>
+</h3>
+Removes the rows listed in the array <em>rows</em>, and deletes all their
+cells including any table items and widgets the cells may contain.
+<p> The array passed in must only contain valid rows (in the range
+from 0 to <a href="#numRows">numRows</a>() - 1) with no duplicates, and must be sorted in
+ascending order. Also clears the <a href="#selection">selection</a>(s).
+<p> <p>See also <a href="#removeRow">removeRow</a>(), <a href="#insertRows">insertRows</a>(), and <a href="#removeColumns">removeColumns</a>().
+
+<h3 class=fn>void <a name="removeSelection"></a>QTable::removeSelection ( const&nbsp;<a href="qtableselection.html">QTableSelection</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+If the table has a selection, <em>s</em>, this selection is removed from
+the table.
+<p> <p>See also <a href="#addSelection">addSelection</a>() and <a href="#numSelections-prop">numSelections</a>.
+
+<h3 class=fn>void <a name="removeSelection-2"></a>QTable::removeSelection ( int&nbsp;num )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes selection number <em>num</em> from the table.
+<p> <p>See also <a href="#numSelections-prop">numSelections</a>, <a href="#addSelection">addSelection</a>(), and <a href="#clearSelection">clearSelection</a>().
+
+<h3 class=fn>void <a name="repaintSelections"></a>QTable::repaintSelections ()
+</h3>
+Repaints all selections
+
+<h3 class=fn>void <a name="resizeData"></a>QTable::resizeData ( int&nbsp;len )<tt> [virtual protected]</tt>
+</h3>
+This is called when QTable's internal array needs to be resized to
+<em>len</em> elements.
+<p> If you don't use QTableItems you should reimplement this as an
+empty method to avoid wasting memory. See the <a href="qtable.html#notes-on-large-tables">notes on large tables</a> for further details.
+
+<h3 class=fn>int <a name="rowAt"></a>QTable::rowAt ( int&nbsp;y ) const<tt> [virtual]</tt>
+</h3>
+Returns the number of the row at position <em>y</em>. <em>y</em> must be given
+in content coordinates.
+<p> <p>See also <a href="#rowPos">rowPos</a>() and <a href="#columnAt">columnAt</a>().
+
+<h3 class=fn>int <a name="rowHeight"></a>QTable::rowHeight ( int&nbsp;row ) const<tt> [virtual]</tt>
+</h3>
+Returns the height of row <em>row</em>.
+<p> <p>See also <a href="#setRowHeight">setRowHeight</a>() and <a href="#columnWidth">columnWidth</a>().
+
+<p>Example: <a href="small-table-example-example.html#x2801">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="rowHeightChanged"></a>QTable::rowHeightChanged ( int&nbsp;row )<tt> [virtual protected slot]</tt>
+</h3>
+This function should be called whenever the row height of <em>row</em>
+has been changed. It updates the geometry of any affected rows and
+repaints the table to reflect the changes it has made.
+
+<h3 class=fn>void <a name="rowIndexChanged"></a>QTable::rowIndexChanged ( int&nbsp;section, int&nbsp;fromIndex, int&nbsp;toIndex )<tt> [virtual protected slot]</tt>
+</h3>
+This function is called when the order of the rows is to be
+changed, i.e. the user moved the row header section <em>section</em>
+from <em>fromIndex</em> to <em>toIndex</em>.
+<p> If you want to change the order programmatically, call <a href="#swapRows">swapRows</a>()
+or <a href="#swapColumns">swapColumns</a>();
+<p> <p>See also <a href="qheader.html#indexChange">QHeader::indexChange</a>() and <a href="#columnIndexChanged">columnIndexChanged</a>().
+
+<h3 class=fn>bool <a name="rowMovingEnabled"></a>QTable::rowMovingEnabled () const
+</h3><p>Returns TRUE if rows can be moved by the user; otherwise returns FALSE.
+See the <a href="qtable.html#rowMovingEnabled-prop">"rowMovingEnabled"</a> property for details.
+<h3 class=fn>int <a name="rowPos"></a>QTable::rowPos ( int&nbsp;row ) const<tt> [virtual]</tt>
+</h3>
+Returns the y-coordinate of the row <em>row</em> in content coordinates.
+<p> <p>See also <a href="#rowAt">rowAt</a>() and <a href="#columnPos">columnPos</a>().
+
+<h3 class=fn>void <a name="selectCells"></a>QTable::selectCells ( int&nbsp;start_row, int&nbsp;start_col, int&nbsp;end_row, int&nbsp;end_col )
+</h3> Selects the range starting at <em>start_row</em> and <em>start_col</em> and
+ending at <em>end_row</em> and <em>end_col</em>.
+<p> <p>See also <a href="qtableselection.html">QTableSelection</a>.
+
+<h3 class=fn>void <a name="selectColumn"></a>QTable::selectColumn ( int&nbsp;col )
+</h3> Selects the column <em>col</em>.
+<p> <p>See also <a href="qtableselection.html">QTableSelection</a>.
+
+<h3 class=fn>void <a name="selectRow"></a>QTable::selectRow ( int&nbsp;row )
+</h3> Selects the row <em>row</em>.
+<p> <p>See also <a href="qtableselection.html">QTableSelection</a>.
+
+<h3 class=fn><a href="qtableselection.html">QTableSelection</a> <a name="selection"></a>QTable::selection ( int&nbsp;num ) const
+</h3>
+Returns selection number <em>num</em>, or an inactive <a href="qtableselection.html">QTableSelection</a> if <em>num</em> is out of range (see <a href="qtableselection.html#isActive">QTableSelection::isActive</a>()).
+
+<h3 class=fn>void <a name="selectionChanged"></a>QTable::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a selection changes.
+<p> <p>See also <a href="qtableselection.html">QTableSelection</a>.
+
+<h3 class=fn><a href="qtable.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode"></a>QTable::selectionMode () const
+</h3><p>Returns the current selection mode.
+See the <a href="qtable.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setCellContentFromEditor"></a>QTable::setCellContentFromEditor ( int&nbsp;row, int&nbsp;col )<tt> [virtual protected]</tt>
+</h3>
+This function is called to replace the contents of the cell at <em>row</em>, <em>col</em> with the contents of the cell's editor.
+<p> If there already exists a <a href="qtableitem.html">QTableItem</a> for the cell,
+it calls <a href="qtableitem.html#setContentFromEditor">QTableItem::setContentFromEditor</a>() on this QTableItem.
+<p> If, for example, you want to create different <a href="qtableitem.html">QTableItem</a>s
+depending on the contents of the editor, you might reimplement
+this function.
+<p> If you want to work without <a href="qtableitem.html">QTableItem</a>s, you will need to
+reimplement this function to save the data the user entered into
+your data structure. (See the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.)
+<p> <p>See also <a href="qtableitem.html#setContentFromEditor">QTableItem::setContentFromEditor</a>() and <a href="#createEditor">createEditor</a>().
+
+<h3 class=fn>void <a name="setCellWidget"></a>QTable::setCellWidget ( int&nbsp;row, int&nbsp;col, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;e )<tt> [virtual]</tt>
+</h3>
+Sets the widget <em>e</em> to the cell at <em>row</em>, <em>col</em> and takes care of
+placing and resizing the widget when the cell geometry changes.
+<p> By default widgets are inserted into a vector with <a href="#numRows">numRows</a>() *
+<a href="#numCols">numCols</a>() elements. In very large tables you will probably want to
+store the widgets in a data structure that consumes less memory (see
+the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>). To support the use of your own data
+structure this function calls <a href="#insertWidget">insertWidget</a>() to add the widget to
+the internal data structure. To use your own data structure
+reimplement insertWidget(), <a href="#cellWidget">cellWidget</a>() and <a href="#clearCellWidget">clearCellWidget</a>().
+<p> Cell widgets are created dynamically with the <tt>new</tt> operator. The
+cell widgets are destroyed automatically once the table is
+destroyed; the table takes ownership of the widget when using
+setCellWidget.
+<p>
+<p>Example: <a href="tutorial2-08.html#x2618">chart/setdataform.cpp</a>.
+<h3 class=fn>void <a name="setColumnLabels"></a>QTable::setColumnLabels ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;labels )<tt> [slot]</tt>
+</h3> Sets the section labels of the <a href="#horizontalHeader">horizontalHeader</a>() to <em>labels</em>
+<h3 class=fn>void <a name="setColumnMovingEnabled"></a>QTable::setColumnMovingEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether columns can be moved by the user to <em>b</em>.
+See the <a href="qtable.html#columnMovingEnabled-prop">"columnMovingEnabled"</a> property for details.
+<h3 class=fn>void <a name="setColumnReadOnly"></a>QTable::setColumnReadOnly ( int&nbsp;col, bool&nbsp;ro )<tt> [virtual slot]</tt>
+</h3>
+If <em>ro</em> is TRUE, column <em>col</em> is set to be read-only; otherwise
+the column is set to be editable.
+<p> Whether a cell in this column is editable or read-only depends on
+the cell's EditType, and this setting:
+see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.
+<p> <p>See also <a href="#isColumnReadOnly">isColumnReadOnly</a>(), <a href="#setRowReadOnly">setRowReadOnly</a>(), and <a href="#readOnly-prop">readOnly</a>.
+
+<p>
+<p>Example: <a href="tutorial2-08.html#x2619">chart/setdataform.cpp</a>.
+<h3 class=fn>void <a name="setColumnStretchable"></a>QTable::setColumnStretchable ( int&nbsp;col, bool&nbsp;stretch )<tt> [virtual slot]</tt>
+</h3>
+If <em>stretch</em> is TRUE, column <em>col</em> is set to be stretchable;
+otherwise column <em>col</em> is set to be unstretchable.
+<p> If the table widget's width decreases or increases stretchable
+columns will grow narrower or wider to fit the space available as
+completely as possible. The user cannot manually resize stretchable
+columns.
+<p> <p>See also <a href="#isColumnStretchable">isColumnStretchable</a>(), <a href="#setRowStretchable">setRowStretchable</a>(), and <a href="#adjustColumn">adjustColumn</a>().
+
+<h3 class=fn>void <a name="setColumnWidth"></a>QTable::setColumnWidth ( int&nbsp;col, int&nbsp;w )<tt> [virtual slot]</tt>
+</h3>
+Resizes column <em>col</em> to be <em>w</em> pixels wide.
+<p> <p>See also <a href="#columnWidth">columnWidth</a>() and <a href="#setRowHeight">setRowHeight</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2620">chart/setdataform.cpp</a>.
+<p>Reimplemented in <a href="qdatatable.html#setColumnWidth">QDataTable</a>.
+<h3 class=fn>void <a name="setCurrentCell"></a>QTable::setCurrentCell ( int&nbsp;row, int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Moves the focus to the cell at <em>row</em>, <em>col</em>.
+<p> <p>See also <a href="#currentRow">currentRow</a>() and <a href="#currentColumn">currentColumn</a>().
+
+<h3 class=fn>void <a name="setDragEnabled"></a>QTable::setDragEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3>
+If <em>b</em> is TRUE, the table starts a drag (see <a href="#dragObject">dragObject</a>()) when
+the user presses and moves the mouse on a selected cell.
+
+<h3 class=fn>void <a name="setEditMode"></a>QTable::setEditMode ( <a href="qtable.html#EditMode-enum">EditMode</a>&nbsp;mode, int&nbsp;row, int&nbsp;col )<tt> [protected]</tt>
+</h3>
+Sets the current edit mode to <em>mode</em>, the current edit row to <em>row</em> and the current edit column to <em>col</em>.
+<p> <p>See also <a href="#EditMode-enum">EditMode</a>.
+
+<h3 class=fn>void <a name="setFocusStyle"></a>QTable::setFocusStyle ( <a href="qtable.html#FocusStyle-enum">FocusStyle</a>&nbsp;fs )<tt> [virtual]</tt>
+</h3><p>Sets how the current (focus) cell is drawn to <em>fs</em>.
+See the <a href="qtable.html#focusStyle-prop">"focusStyle"</a> property for details.
+<h3 class=fn>void <a name="setItem"></a>QTable::setItem ( int&nbsp;row, int&nbsp;col, <a href="qtableitem.html">QTableItem</a>&nbsp;*&nbsp;item )<tt> [virtual]</tt>
+</h3>
+Inserts the table item <em>item</em> into the table at row <em>row</em>,
+column <em>col</em>, and repaints the cell. If a table item already
+exists in this cell it is deleted and replaced with <em>item</em>. The
+table takes ownership of the table item.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s you may need to reimplement this
+function: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> <p>See also <a href="#item">item</a>() and <a href="#takeItem">takeItem</a>().
+
+<p>Examples: <a href="helpsystem-example.html#x2691">helpsystem/mainwindow.cpp</a> and <a href="small-table-example-example.html#x2803">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="setLeftMargin"></a>QTable::setLeftMargin ( int&nbsp;m )<tt> [virtual slot]</tt>
+</h3>
+Sets the left margin to be <em>m</em> pixels wide.
+<p> The <a href="#verticalHeader">verticalHeader</a>(), which displays row labels, occupies this
+margin.
+<p> In an Arabic or Hebrew <a href="i18n.html#localization">localization</a>, the verticalHeader() will
+appear on the right side of the table, and this call will set the
+right margin.
+<p> <p>See also <a href="qscrollview.html#leftMargin">leftMargin</a>(), <a href="#setTopMargin">setTopMargin</a>(), and <a href="#verticalHeader">verticalHeader</a>().
+
+<p>Example: <a href="regexptester-example.html#x2501">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="setNumCols"></a>QTable::setNumCols ( int&nbsp;r )<tt> [virtual slot]</tt>
+</h3><p>Sets the number of columns in the table to <em>r</em>.
+See the <a href="qtable.html#numCols-prop">"numCols"</a> property for details.
+<h3 class=fn>void <a name="setNumRows"></a>QTable::setNumRows ( int&nbsp;r )<tt> [virtual slot]</tt>
+</h3><p>Sets the number of rows in the table to <em>r</em>.
+See the <a href="qtable.html#numRows-prop">"numRows"</a> property for details.
+<h3 class=fn>void <a name="setPixmap"></a>QTable::setPixmap ( int&nbsp;row, int&nbsp;col, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pix )<tt> [virtual]</tt>
+</h3>
+Sets the pixmap in the cell at <em>row</em>, <em>col</em> to <em>pix</em>.
+<p> If the cell does not contain a table item a <a href="qtableitem.html">QTableItem</a> is created
+with an <a href="qtableitem.html#EditType-enum">EditType</a> of <tt>OnTyping</tt>,
+otherwise the existing table item's pixmap (if any) is replaced
+with <em>pix</em>.
+<p> Note that <a href="qcombotableitem.html">QComboTableItem</a>s and <a href="qchecktableitem.html">QCheckTableItem</a>s don't show
+pixmaps.
+<p> <p>See also <a href="#pixmap">pixmap</a>(), <a href="#setText">setText</a>(), <a href="#setItem">setItem</a>(), and <a href="qtableitem.html#setPixmap">QTableItem::setPixmap</a>().
+
+<p>Examples: <a href="tutorial2-08.html#x2623">chart/setdataform.cpp</a> and <a href="small-table-example-example.html#x2804">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="setReadOnly"></a>QTable::setReadOnly ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the table is read-only to <em>b</em>.
+See the <a href="qtable.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>void <a name="setRowHeight"></a>QTable::setRowHeight ( int&nbsp;row, int&nbsp;h )<tt> [virtual slot]</tt>
+</h3>
+Resizes row <em>row</em> to be <em>h</em> pixels high.
+<p> <p>See also <a href="#rowHeight">rowHeight</a>() and <a href="#setColumnWidth">setColumnWidth</a>().
+
+<h3 class=fn>void <a name="setRowLabels"></a>QTable::setRowLabels ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;labels )<tt> [slot]</tt>
+</h3> Sets the section labels of the <a href="#verticalHeader">verticalHeader</a>() to <em>labels</em>
+<h3 class=fn>void <a name="setRowMovingEnabled"></a>QTable::setRowMovingEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether rows can be moved by the user to <em>b</em>.
+See the <a href="qtable.html#rowMovingEnabled-prop">"rowMovingEnabled"</a> property for details.
+<h3 class=fn>void <a name="setRowReadOnly"></a>QTable::setRowReadOnly ( int&nbsp;row, bool&nbsp;ro )<tt> [virtual slot]</tt>
+</h3>
+If <em>ro</em> is TRUE, row <em>row</em> is set to be read-only; otherwise the
+row is set to be editable.
+<p> Whether a cell in this row is editable or read-only depends on the
+cell's EditType, and this setting:
+see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.
+<p> <p>See also <a href="#isRowReadOnly">isRowReadOnly</a>(), <a href="#setColumnReadOnly">setColumnReadOnly</a>(), and <a href="#readOnly-prop">readOnly</a>.
+
+<h3 class=fn>void <a name="setRowStretchable"></a>QTable::setRowStretchable ( int&nbsp;row, bool&nbsp;stretch )<tt> [virtual slot]</tt>
+</h3>
+If <em>stretch</em> is TRUE, row <em>row</em> is set to be stretchable;
+otherwise row <em>row</em> is set to be unstretchable.
+<p> If the table widget's height decreases or increases stretchable
+rows will grow shorter or taller to fit the space available as
+completely as possible. The user cannot manually resize
+stretchable rows.
+<p> <p>See also <a href="#isRowStretchable">isRowStretchable</a>() and <a href="#setColumnStretchable">setColumnStretchable</a>().
+
+<h3 class=fn>void <a name="setSelectionMode"></a>QTable::setSelectionMode ( <a href="qtable.html#SelectionMode-enum">SelectionMode</a>&nbsp;mode )<tt> [virtual]</tt>
+</h3><p>Sets the current selection mode to <em>mode</em>.
+See the <a href="qtable.html#selectionMode-prop">"selectionMode"</a> property for details.
+<h3 class=fn>void <a name="setShowGrid"></a>QTable::setShowGrid ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the table's grid is displayed to <em>b</em>.
+See the <a href="qtable.html#showGrid-prop">"showGrid"</a> property for details.
+<h3 class=fn>void <a name="setSorting"></a>QTable::setSorting ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether a click on the header of a column sorts that column to <em>b</em>.
+See the <a href="qtable.html#sorting-prop">"sorting"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QTable::setText ( int&nbsp;row, int&nbsp;col, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3>
+Sets the text in the cell at <em>row</em>, <em>col</em> to <em>text</em>.
+<p> If the cell does not contain a table item a <a href="qtableitem.html">QTableItem</a> is created
+with an <a href="qtableitem.html#EditType-enum">EditType</a> of <tt>OnTyping</tt>,
+otherwise the existing table item's text (if any) is replaced with
+<em>text</em>.
+<p> <p>See also <a href="#text">text</a>(), <a href="#setPixmap">setPixmap</a>(), <a href="#setItem">setItem</a>(), and <a href="qtableitem.html#setText">QTableItem::setText</a>().
+
+<p>Examples: <a href="tutorial2-08.html#x2624">chart/setdataform.cpp</a>, <a href="helpsystem-example.html#x2692">helpsystem/mainwindow.cpp</a>, <a href="regexptester-example.html#x2504">regexptester/regexptester.cpp</a>, and <a href="small-table-example-example.html#x2805">table/small-table-demo/main.cpp</a>.
+<h3 class=fn>void <a name="setTopMargin"></a>QTable::setTopMargin ( int&nbsp;m )<tt> [virtual slot]</tt>
+</h3>
+Sets the top margin to be <em>m</em> pixels high.
+<p> The <a href="#horizontalHeader">horizontalHeader</a>(), which displays column labels, occupies
+this margin.
+<p> <p>See also <a href="qscrollview.html#topMargin">topMargin</a>() and <a href="#setLeftMargin">setLeftMargin</a>().
+
+<p>Example: <a href="regexptester-example.html#x2505">regexptester/regexptester.cpp</a>.
+<h3 class=fn>void <a name="showColumn"></a>QTable::showColumn ( int&nbsp;col )<tt> [virtual slot]</tt>
+</h3>
+Shows column <em>col</em>.
+<p> <p>See also <a href="#hideColumn">hideColumn</a>() and <a href="#showRow">showRow</a>().
+
+<h3 class=fn>bool <a name="showGrid"></a>QTable::showGrid () const
+</h3><p>Returns TRUE if the table's grid is displayed; otherwise returns FALSE.
+See the <a href="qtable.html#showGrid-prop">"showGrid"</a> property for details.
+<h3 class=fn>void <a name="showRow"></a>QTable::showRow ( int&nbsp;row )<tt> [virtual slot]</tt>
+</h3>
+Shows row <em>row</em>.
+<p> <p>See also <a href="#hideRow">hideRow</a>() and <a href="#showColumn">showColumn</a>().
+
+<h3 class=fn>void <a name="sortColumn"></a>QTable::sortColumn ( int&nbsp;col, bool&nbsp;ascending = TRUE, bool&nbsp;wholeRows = FALSE )<tt> [virtual]</tt>
+</h3>
+Sorts column <em>col</em>. If <em>ascending</em> is TRUE the sort is in
+ascending order, otherwise the sort is in descending order.
+<p> If <em>wholeRows</em> is TRUE, entire rows are sorted using <a href="#swapRows">swapRows</a>();
+otherwise only cells in the column are sorted using <a href="#swapCells">swapCells</a>().
+<p> Note that if you are not using QTableItems you will need to
+reimplement swapRows() and swapCells(). (See the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.)
+<p> <p>See also <a href="#swapRows">swapRows</a>().
+
+<p>Example: <a href="statistics-example.html#x2784">table/statistics/statistics.cpp</a>.
+<p>Reimplemented in <a href="qdatatable.html#sortColumn">QDataTable</a>.
+<h3 class=fn>bool <a name="sorting"></a>QTable::sorting () const
+</h3><p>Returns TRUE if a click on the header of a column sorts that column; otherwise returns FALSE.
+See the <a href="qtable.html#sorting-prop">"sorting"</a> property for details.
+<h3 class=fn>void <a name="startDrag"></a>QTable::startDrag ()<tt> [virtual protected]</tt>
+</h3>
+Starts a drag.
+<p> Usually you don't need to call or reimplement this function yourself.
+<p> <p>See also <a href="#dragObject">dragObject</a>().
+
+<h3 class=fn>void <a name="swapCells"></a>QTable::swapCells ( int&nbsp;row1, int&nbsp;col1, int&nbsp;row2, int&nbsp;col2 )<tt> [virtual slot]</tt>
+</h3>
+Swaps the contents of the cell at <em>row1</em>, <em>col1</em> with the
+contents of the cell at <em>row2</em>, <em>col2</em>.
+<p> This function is also called when the table is sorted.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s and want your users to be able to
+swap cells, you will need to reimplement this function. (See the
+<a href="qtable.html#notes-on-large-tables">notes on large tables</a>.)
+<p> <p>See also <a href="#swapColumns">swapColumns</a>() and <a href="#swapRows">swapRows</a>().
+
+<h3 class=fn>void <a name="swapColumns"></a>QTable::swapColumns ( int&nbsp;col1, int&nbsp;col2, bool&nbsp;swapHeader = FALSE )<tt> [virtual slot]</tt>
+</h3>
+Swaps the data in <em>col1</em> with <em>col2</em>.
+<p> This function is used to swap the positions of two columns. It is
+called when the user changes the order of columns (see
+<a href="#setColumnMovingEnabled">setColumnMovingEnabled</a>(), and when columns are sorted.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s and want your users to be able to
+swap columns you will need to reimplement this function. (See the
+<a href="qtable.html#notes-on-large-tables">notes on large tables</a>.)
+<p> If <em>swapHeader</em> is TRUE, the columns' header contents is also
+swapped.
+<p> <p>See also <a href="#swapCells">swapCells</a>().
+
+<h3 class=fn>void <a name="swapRows"></a>QTable::swapRows ( int&nbsp;row1, int&nbsp;row2, bool&nbsp;swapHeader = FALSE )<tt> [virtual slot]</tt>
+</h3>
+Swaps the data in <em>row1</em> and <em>row2</em>.
+<p> This function is used to swap the positions of two rows. It is
+called when the user changes the order of rows (see
+<a href="#setRowMovingEnabled">setRowMovingEnabled</a>()), and when rows are sorted.
+<p> If you don't use <a href="qtableitem.html">QTableItem</a>s and want your users to be able to
+swap rows, e.g. for sorting, you will need to reimplement this
+function. (See the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.)
+<p> If <em>swapHeader</em> is TRUE, the rows' header contents is also
+swapped.
+<p> This function will not update the QTable, you will have to do
+this manually, e.g. by calling <a href="qscrollview.html#updateContents">updateContents</a>().
+<p> <p>See also <a href="#swapColumns">swapColumns</a>() and <a href="#swapCells">swapCells</a>().
+
+<h3 class=fn>void <a name="takeItem"></a>QTable::takeItem ( <a href="qtableitem.html">QTableItem</a>&nbsp;*&nbsp;i )<tt> [virtual]</tt>
+</h3>
+Takes the table item <em>i</em> out of the table. This function does <em>not</em> delete the table item. You must either delete the table item
+yourself or put it into a table (using <a href="#setItem">setItem</a>()) which will then
+take ownership of it.
+<p> Use this function if you want to move an item from one cell in a
+table to another, or to move an item from one table to another,
+reinserting the item with setItem().
+<p> If you want to exchange two cells use <a href="#swapCells">swapCells</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QTable::text ( int&nbsp;row, int&nbsp;col ) const<tt> [virtual]</tt>
+</h3>
+Returns the text in the cell at <em>row</em>, <em>col</em>, or <a href="qstring.html#QString-null">QString::null</a>
+if the relevant item does not exist or has no text.
+<p> <p>See also <a href="#setText">setText</a>() and <a href="#setPixmap">setPixmap</a>().
+
+<p>Example: <a href="tutorial2-08.html#x2625">chart/setdataform.cpp</a>.
+<p>Reimplemented in <a href="qdatatable.html#text">QDataTable</a>.
+<h3 class=fn>void <a name="updateCell"></a>QTable::updateCell ( int&nbsp;row, int&nbsp;col )
+</h3>
+Repaints the cell at <em>row</em>, <em>col</em>.
+
+<h3 class=fn>void <a name="updateHeaderStates"></a>QTable::updateHeaderStates ()
+</h3>
+This functions updates all the header states to be in sync with
+the current selections. This should be called after
+programatically changing, adding or removing selections, so that
+the headers are updated.
+
+<h3 class=fn>void <a name="valueChanged"></a>QTable::valueChanged ( int&nbsp;row, int&nbsp;col )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user changed the value in the cell
+at <em>row</em>, <em>col</em>.
+
+<p>Example: <a href="tutorial2-08.html#x2626">chart/setdataform.cpp</a>.
+<h3 class=fn><a href="qheader.html">QHeader</a>&nbsp;* <a name="verticalHeader"></a>QTable::verticalHeader () const
+</h3>
+Returns the table's vertical <a href="qheader.html">QHeader</a>.
+<p> This header contains the row labels.
+<p> <p>See also <a href="#horizontalHeader">horizontalHeader</a>(), <a href="#setLeftMargin">setLeftMargin</a>(), and <a href="qheader.html">QHeader</a>.
+
+<p>Examples: <a href="helpsystem-example.html#x2693">helpsystem/mainwindow.cpp</a> and <a href="regexptester-example.html#x2506">regexptester/regexptester.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="columnMovingEnabled-prop"></a>columnMovingEnabled</h3>
+<p>This property holds whether columns can be moved by the user.
+<p>The default is FALSE. Columns are moved by dragging whilst holding
+down the Ctrl key.
+<p> <b>Warning:</b> If QTable is used to move header sections as a result of user
+interaction, the mapping between header indexes and section exposed by
+<a href="qheader.html">QHeader</a> will not reflect the order of the headers in the table; i.e.,
+QTable does not call <a href="qheader.html#moveSection">QHeader::moveSection</a>() to move sections but handles
+move operations internally.
+<p> <p>See also <a href="#rowMovingEnabled-prop">rowMovingEnabled</a>.
+
+<p>Set this property's value with <a href="#setColumnMovingEnabled">setColumnMovingEnabled</a>() and get this property's value with <a href="#columnMovingEnabled">columnMovingEnabled</a>().
+<h3 class=fn><a href="qtable.html#FocusStyle-enum">FocusStyle</a> <a name="focusStyle-prop"></a>focusStyle</h3>
+<p>This property holds how the current (focus) cell is drawn.
+<p>The default style is <a href="#FocusStyle-enum">SpreadSheet</a>.
+<p> <p>See also <a href="#FocusStyle-enum">QTable::FocusStyle</a>.
+
+<p>Set this property's value with <a href="#setFocusStyle">setFocusStyle</a>() and get this property's value with <a href="#focusStyle">focusStyle</a>().
+<h3 class=fn>int <a name="numCols-prop"></a>numCols</h3>
+<p>This property holds the number of columns in the table.
+<p>Set this property's value with <a href="#setNumCols">setNumCols</a>() and get this property's value with <a href="#numCols">numCols</a>().
+<p><p>See also <a href="#numRows-prop">numRows</a>.
+
+<h3 class=fn>int <a name="numRows-prop"></a>numRows</h3>
+<p>This property holds the number of rows in the table.
+<p>Set this property's value with <a href="#setNumRows">setNumRows</a>() and get this property's value with <a href="#numRows">numRows</a>().
+<p><p>See also <a href="#numCols-prop">numCols</a>.
+
+<h3 class=fn>int <a name="numSelections-prop"></a>numSelections</h3>
+<p>This property holds the number of selections.
+<p>Get this property's value with <a href="#numSelections">numSelections</a>().
+<p><p>See also <a href="#currentSelection">currentSelection</a>().
+
+<h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the table is read-only.
+<p>Whether a cell in the table is editable or read-only depends on
+the cell's <a href="qtableitem.html#EditType-enum">EditType</a>, and this setting:
+see <a href="qtableitem.html#wheneditable">QTableItem::EditType</a>.
+<p> <p>See also <a href="qwidget.html#enabled-prop">QWidget::enabled</a>, <a href="#setColumnReadOnly">setColumnReadOnly</a>(), and <a href="#setRowReadOnly">setRowReadOnly</a>().
+
+<p>Set this property's value with <a href="#setReadOnly">setReadOnly</a>() and get this property's value with <a href="#isReadOnly">isReadOnly</a>().
+<h3 class=fn>bool <a name="rowMovingEnabled-prop"></a>rowMovingEnabled</h3>
+<p>This property holds whether rows can be moved by the user.
+<p>The default is FALSE. Rows are moved by dragging whilst holding
+down the Ctrl key.
+<p> <b>Warning:</b> If QTable is used to move header sections as a result of user
+interaction, the mapping between header indexes and section exposed by
+<a href="qheader.html">QHeader</a> will not reflect the order of the headers in the table; i.e.,
+QTable does not call <a href="qheader.html#moveSection">QHeader::moveSection</a>() to move sections but handles
+move operations internally.
+<p> <p>See also <a href="#columnMovingEnabled-prop">columnMovingEnabled</a>.
+
+<p>Set this property's value with <a href="#setRowMovingEnabled">setRowMovingEnabled</a>() and get this property's value with <a href="#rowMovingEnabled">rowMovingEnabled</a>().
+<h3 class=fn><a href="qtable.html#SelectionMode-enum">SelectionMode</a> <a name="selectionMode-prop"></a>selectionMode</h3>
+<p>This property holds the current selection mode.
+<p>The default mode is <a href="#SelectionMode-enum">Multi</a> which allows the user to select
+multiple ranges of cells.
+<p> <p>See also <a href="#SelectionMode-enum">SelectionMode</a> and <a href="#selectionMode-prop">selectionMode</a>.
+
+<p>Set this property's value with <a href="#setSelectionMode">setSelectionMode</a>() and get this property's value with <a href="#selectionMode">selectionMode</a>().
+<h3 class=fn>bool <a name="showGrid-prop"></a>showGrid</h3>
+<p>This property holds whether the table's grid is displayed.
+<p>The grid is shown by default.
+
+<p>Set this property's value with <a href="#setShowGrid">setShowGrid</a>() and get this property's value with <a href="#showGrid">showGrid</a>().
+<h3 class=fn>bool <a name="sorting-prop"></a>sorting</h3>
+<p>This property holds whether a click on the header of a column sorts that column.
+<p>Set this property's value with <a href="#setSorting">setSorting</a>() and get this property's value with <a href="#sorting">sorting</a>().
+<p><p>See also <a href="#sortColumn">sortColumn</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtable.png b/doc/html/qtable.png
new file mode 100644
index 0000000..f606fee
--- /dev/null
+++ b/doc/html/qtable.png
Binary files differ
diff --git a/doc/html/qtableitem-members.html b/doc/html/qtableitem-members.html
new file mode 100644
index 0000000..e771df9
--- /dev/null
+++ b/doc/html/qtableitem-members.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:112 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTableItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTableItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtableitem.html">QTableItem</a>, including inherited members.
+
+<ul>
+<li><a href="qtableitem.html#QTableItem">QTableItem</a>()
+<li><a href="qtableitem.html#~QTableItem">~QTableItem</a>()
+<li><a href="qtableitem.html#alignment">alignment</a>()
+<li><a href="qtableitem.html#col">col</a>()
+<li><a href="qtableitem.html#colSpan">colSpan</a>()
+<li><a href="qtableitem.html#createEditor">createEditor</a>()
+<li><a href="qtableitem.html#editType">editType</a>()
+<li><a href="qtableitem.html#isEnabled">isEnabled</a>()
+<li><a href="qtableitem.html#isReplaceable">isReplaceable</a>()
+<li><a href="qtableitem.html#key">key</a>()
+<li><a href="qtableitem.html#paint">paint</a>()
+<li><a href="qtableitem.html#pixmap">pixmap</a>()
+<li><a href="qtableitem.html#row">row</a>()
+<li><a href="qtableitem.html#rowSpan">rowSpan</a>()
+<li><a href="qtableitem.html#rtti">rtti</a>()
+<li><a href="qtableitem.html#setCol">setCol</a>()
+<li><a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>()
+<li><a href="qtableitem.html#setEnabled">setEnabled</a>()
+<li><a href="qtableitem.html#setPixmap">setPixmap</a>()
+<li><a href="qtableitem.html#setReplaceable">setReplaceable</a>()
+<li><a href="qtableitem.html#setRow">setRow</a>()
+<li><a href="qtableitem.html#setSpan">setSpan</a>()
+<li><a href="qtableitem.html#setText">setText</a>()
+<li><a href="qtableitem.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtableitem.html#sizeHint">sizeHint</a>()
+<li><a href="qtableitem.html#table">table</a>()
+<li><a href="qtableitem.html#text">text</a>()
+<li><a href="qtableitem.html#wordWrap">wordWrap</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtableitem.html b/doc/html/qtableitem.html
new file mode 100644
index 0000000..0559dc5
--- /dev/null
+++ b/doc/html/qtableitem.html
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:406 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTableItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTableItem Class Reference<br><small>[<a href="table.html">table module</a>]</small></h1>
+
+<p>The QTableItem class provides the cell content for QTable cells.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p>Inherited by <a href="qcombotableitem.html">QComboTableItem</a> and <a href="qchecktableitem.html">QCheckTableItem</a>.
+<p><a href="qtableitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#EditType-enum"><b>EditType</b></a> { Never, OnTyping, WhenCurrent, Always }</li>
+<li class=fn><a href="#QTableItem"><b>QTableItem</b></a> ( QTable&nbsp;*&nbsp;table, EditType&nbsp;et )</li>
+<li class=fn><a href="#QTableItem-2"><b>QTableItem</b></a> ( QTable&nbsp;*&nbsp;table, EditType&nbsp;et, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn><a href="#QTableItem-3"><b>QTableItem</b></a> ( QTable&nbsp;*&nbsp;table, EditType&nbsp;et, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPixmap&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>virtual <a href="#~QTableItem"><b>~QTableItem</b></a> ()</li>
+<li class=fn>virtual QPixmap <a href="#pixmap"><b>pixmap</b></a> () const</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPixmap"><b>setPixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;p )</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QTable * <a href="#table"><b>table</b></a> () const</li>
+<li class=fn>virtual int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWordWrap"><b>setWordWrap</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#wordWrap"><b>wordWrap</b></a> () const</li>
+<li class=fn>EditType <a href="#editType"><b>editType</b></a> () const</li>
+<li class=fn>virtual QWidget * <a href="#createEditor"><b>createEditor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setContentFromEditor"><b>setContentFromEditor</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual void <a href="#setReplaceable"><b>setReplaceable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isReplaceable"><b>isReplaceable</b></a> () const</li>
+<li class=fn>virtual QString <a href="#key"><b>key</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSpan"><b>setSpan</b></a> ( int&nbsp;rs, int&nbsp;cs )</li>
+<li class=fn>int <a href="#rowSpan"><b>rowSpan</b></a> () const</li>
+<li class=fn>int <a href="#colSpan"><b>colSpan</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRow"><b>setRow</b></a> ( int&nbsp;r )</li>
+<li class=fn>virtual void <a href="#setCol"><b>setCol</b></a> ( int&nbsp;c )</li>
+<li class=fn>int <a href="#row"><b>row</b></a> () const</li>
+<li class=fn>int <a href="#col"><b>col</b></a> () const</li>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;p, const&nbsp;QColorGroup&nbsp;&amp;&nbsp;cg, const&nbsp;QRect&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )</li>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>virtual int <a href="#rtti"><b>rtti</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTableItem class provides the cell content for <a href="qtable.html">QTable</a> cells.
+
+<p>
+
+<p> For many applications QTableItems are ideal for presenting and
+editing the contents of QTable cells. In situations where you need
+to create very large tables you may prefer an alternative approach
+to using QTableItems: see the <a href="qtable.html#notes-on-large-tables">notes on large tables</a>.
+<p> A QTableItem contains a cell's data, by default, a string and a
+pixmap. The table item also holds the cell's display size and how
+the data should be aligned. The table item specifies the cell's
+<a href="#EditType-enum">EditType</a> and the editor used for in-place editing (by default a
+<a href="qlineedit.html">QLineEdit</a>). If you want checkboxes use <a href="qchecktableitem.html">QCheckTableItem</a>, and if
+you want comboboxes use <a href="qcombotableitem.html">QComboTableItem</a>. The <a href="#EditType-enum">EditType</a> (set
+in the constructor) determines whether the cell's contents may be
+edited.
+<p> If a pixmap is specified it is displayed to the left of any text.
+You can change the text or pixmap with <a href="#setText">setText</a>() and <a href="#setPixmap">setPixmap</a>()
+respectively. For text you can use <a href="#setWordWrap">setWordWrap</a>().
+<p> When sorting table items the <a href="#key">key</a>() function is used; by default
+this returns the table item's <a href="#text">text</a>(). Reimplement key() to
+customize how your table items will sort.
+<p> Table items are inserted into a table using <a href="qtable.html#setItem">QTable::setItem</a>(). If
+you insert an item into a cell that already contains a table item
+the original item will be deleted.
+<p> Example:
+<pre>
+ for ( int row = 0; row &lt; table-&gt;numRows(); row++ ) {
+ for ( int col = 0; col &lt; table-&gt;numCols(); col++ ) {
+ table-&gt;setItem( row, col,
+ new QTableItem( table, QTableItem::<a href="#EditType-enum">WhenCurrent</a>, QString::number( row * col ) ) );
+ }
+ }
+ </pre>
+
+<p> You can move a table item from one cell to another, in the same or
+a different table, using <a href="qtable.html#takeItem">QTable::takeItem</a>() and QTable::setItem()
+but see also <a href="qtable.html#swapCells">QTable::swapCells</a>().
+<p> Table items can be deleted with delete in the standard way; the
+table and cell will be updated accordingly.
+<p> Note, that if you have a table item that is not currently in a table
+then anything you do to that item other than insert it into a table
+will result in undefined behaviour.
+<p> Reimplement <a href="#createEditor">createEditor</a>() and <a href="#setContentFromEditor">setContentFromEditor</a>() if you want
+to use your own widget instead of a <a href="qlineedit.html">QLineEdit</a> for editing cell
+contents. Reimplement <a href="#paint">paint</a>() if you want to display custom
+content.
+<p> It is important to ensure that your custom widget can accept the
+<a href="focus.html#keyboard-focus">keyboard focus</a>, so that the user can use the tab key to navigate the
+table as normal. Therefore, if the widget returned by createEditor()
+does not itself accept the keyboard focus, it is necessary to
+nominate a child widget to do so on its behalf. For example, a
+<a href="qhbox.html">QHBox</a> with two child QLineEdit widgets may use one of them to
+accept the keyboard focus:
+<p> <pre>
+ QWidget* MyTableItem::createEditor() const
+ {
+ <a href="qhbox.html">QHBox</a>* hbox = new <a href="qhbox.html">QHBox</a>( <a href="#table">table</a>()-&gt;viewport() );
+ hbox-&gt;<a href="qwidget.html#setFocusProxy">setFocusProxy</a>(new <a href="qlineedit.html">QLineEdit</a>( hbox ));
+ new <a href="qlineedit.html">QLineEdit</a>( hbox );
+ return hbox;
+ }
+ </pre>
+
+<p> By default, table items may be replaced by new QTableItems
+during the lifetime of a <a href="qtable.html">QTable</a>. Therefore, if you create your
+own subclass of QTableItem, and you want to ensure that
+this does not happen, you must call <a href="#setReplaceable">setReplaceable</a>(FALSE)
+in the constructor of your subclass.
+<p> <center><img src="qtableitems.png" alt="Table Items"></center>
+<p> <p>See also <a href="qchecktableitem.html">QCheckTableItem</a>, <a href="qcombotableitem.html">QComboTableItem</a>, and <a href="advanced.html">Advanced Widgets</a>.
+
+<p>
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="EditType-enum"></a>QTableItem::EditType</h3>
+
+<p> <a name="wheneditable"></a>
+This enum is used to define whether a cell is editable or
+read-only (in conjunction with other settings), and how the cell
+should be displayed.
+<ul>
+<li><tt>QTableItem::Always</tt> -
+The cell always <em>looks</em> editable.
+</ul><p> Using this EditType ensures that the editor created with
+<a href="#createEditor">createEditor</a>() (by default a <a href="qlineedit.html">QLineEdit</a>) is always visible. This
+has implications for the alignment of the content: the default
+editor aligns everything (even numbers) to the left whilst
+numerical values in the cell are by default aligned to the right.
+<p> If a cell with the edit type <a href="#EditType-enum">Always</a> looks misaligned you could
+reimplement createEditor() for these items.
+<ul>
+<li><tt>QTableItem::WhenCurrent</tt> -
+The cell <em>looks</em> editable only when it has <a href="focus.html#keyboard-focus">keyboard focus</a> (see
+<a href="qtable.html#setCurrentCell">QTable::setCurrentCell</a>()).
+<li><tt>QTableItem::OnTyping</tt> -
+The cell <em>looks</em> editable only when the user types in it or
+double-clicks it. It resembles the <a href="#EditType-enum">WhenCurrent</a> functionality
+but is, perhaps, nicer.
+</ul><p> The <a href="#EditType-enum">OnTyping</a> edit type is the default when QTableItem objects
+are created by the convenience functions <a href="qtable.html#setText">QTable::setText</a>() and
+<a href="qtable.html#setPixmap">QTable::setPixmap</a>().
+<ul>
+<li><tt>QTableItem::Never</tt> - The cell is not editable.
+</ul><p> The cell is actually editable only if <a href="qtable.html#isRowReadOnly">QTable::isRowReadOnly</a>() is
+FALSE for its row, <a href="qtable.html#isColumnReadOnly">QTable::isColumnReadOnly</a>() is FALSE for its
+column, and <a href="qtable.html#isReadOnly">QTable::isReadOnly</a>() is FALSE.
+<p> QComboTableItems have an isEditable() property. This property is
+used to indicate whether the user may enter their own text or are
+restricted to choosing one of the choices in the list.
+QComboTableItems may be interacted with only if they are editable
+in accordance with their EditType as described above.
+<p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTableItem"></a>QTableItem::QTableItem ( <a href="qtable.html">QTable</a>&nbsp;*&nbsp;table, <a href="qtableitem.html#EditType-enum">EditType</a>&nbsp;et )
+</h3>
+Creates a table item that is a child of table <em>table</em> with no
+text. The item has the <a href="#EditType-enum">EditType</a> <em>et</em>.
+<p> The table item will use a <a href="qlineedit.html">QLineEdit</a> for its editor, will not
+word-wrap and will occupy a single cell. Insert the table item
+into a table with <a href="qtable.html#setItem">QTable::setItem</a>().
+<p> The table takes ownership of the table item, so a table item
+should not be inserted into more than one table at a time.
+
+<h3 class=fn><a name="QTableItem-2"></a>QTableItem::QTableItem ( <a href="qtable.html">QTable</a>&nbsp;*&nbsp;table, <a href="qtableitem.html#EditType-enum">EditType</a>&nbsp;et, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Creates a table item that is a child of table <em>table</em> with text
+<em>text</em>. The item has the <a href="#EditType-enum">EditType</a> <em>et</em>.
+<p> The table item will use a <a href="qlineedit.html">QLineEdit</a> for its editor, will not
+word-wrap and will occupy a single cell. Insert the table item
+into a table with <a href="qtable.html#setItem">QTable::setItem</a>().
+<p> The table takes ownership of the table item, so a table item
+should not be inserted into more than one table at a time.
+
+<h3 class=fn><a name="QTableItem-3"></a>QTableItem::QTableItem ( <a href="qtable.html">QTable</a>&nbsp;*&nbsp;table, <a href="qtableitem.html#EditType-enum">EditType</a>&nbsp;et, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Creates a table item that is a child of table <em>table</em> with text
+<em>text</em> and pixmap <em>p</em>. The item has the <a href="#EditType-enum">EditType</a> <em>et</em>.
+<p> The table item will display the pixmap to the left of the text. It
+will use a <a href="qlineedit.html">QLineEdit</a> for editing the text, will not word-wrap and
+will occupy a single cell. Insert the table item into a table with
+<a href="qtable.html#setItem">QTable::setItem</a>().
+<p> The table takes ownership of the table item, so a table item
+should not be inserted in more than one table at a time.
+
+<h3 class=fn><a name="~QTableItem"></a>QTableItem::~QTableItem ()<tt> [virtual]</tt>
+</h3>
+The destructor deletes this item and frees all allocated
+resources.
+<p> If the table item is in a table (i.e. was inserted with
+setItem()), it will be removed from the table and the cell it
+occupied.
+
+<h3 class=fn>int <a name="alignment"></a>QTableItem::alignment () const<tt> [virtual]</tt>
+</h3>
+The alignment function returns how the text contents of the cell
+are aligned when drawn. The default implementation aligns numbers
+to the right and any other text to the left.
+<p> <p>See also <a href="qt.html#AlignmentFlags-enum">Qt::AlignmentFlags</a>.
+
+<h3 class=fn>int <a name="col"></a>QTableItem::col () const
+</h3>
+Returns the column where the table item is located. If the cell
+spans multiple columns, this function returns the left-most
+column.
+<p> <p>See also <a href="#row">row</a>() and <a href="#setCol">setCol</a>().
+
+<p>Example: <a href="bigtable-example.html#x1293">table/bigtable/main.cpp</a>.
+<h3 class=fn>int <a name="colSpan"></a>QTableItem::colSpan () const
+</h3>
+Returns the column span of the table item, usually 1.
+<p> <p>See also <a href="#setSpan">setSpan</a>() and <a href="#rowSpan">rowSpan</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createEditor"></a>QTableItem::createEditor () const<tt> [virtual]</tt>
+</h3>
+This virtual function creates an editor which the user can
+interact with to edit the cell's contents. The default
+implementation creates a <a href="qlineedit.html">QLineEdit</a>.
+<p> If the function returns 0, the cell is read-only.
+<p> The returned widget should preferably be invisible, ideally with
+<a href="qscrollview.html#viewport">QTable::viewport</a>() as parent.
+<p> If you reimplement this function you'll almost certainly need to
+reimplement <a href="#setContentFromEditor">setContentFromEditor</a>(), and may need to reimplement
+<a href="#sizeHint">sizeHint</a>().
+<p>
+
+<pre> <a name="x2444"></a>QWidget *ComboItem::<a href="#createEditor">createEditor</a>() const
+ {
+ // create an editor - a combobox in our case
+ ( (ComboItem*)this )-&gt;cb = new <a href="qcombobox.html">QComboBox</a>( <a href="#table">table</a>()-&gt;viewport() );
+ QObject::<a href="qobject.html#connect">connect</a>( cb, SIGNAL( activated( int ) ), table(), SLOT( doValueChanged() ) );
+ cb-&gt;insertItem( "Yes" );
+ cb-&gt;insertItem( "No" );
+ // and initialize it
+ cb-&gt;setCurrentItem( <a href="#text">text</a>() == "No" ? 1 : 0 );
+ return cb;
+</pre>
+<p> <p>See also <a href="qtable.html#createEditor">QTable::createEditor</a>(), <a href="#setContentFromEditor">setContentFromEditor</a>(), <a href="qscrollview.html#viewport">QTable::viewport</a>(), and <a href="#setReplaceable">setReplaceable</a>().
+
+<p>Example: <a href="qtableitem.html#x2444">table/statistics/statistics.cpp</a>.
+<h3 class=fn><a href="qtableitem.html#EditType-enum">EditType</a> <a name="editType"></a>QTableItem::editType () const
+</h3>
+Returns the table item's edit type.
+<p> This is set when the table item is constructed.
+<p> <p>See also <a href="#EditType-enum">EditType</a> and <a href="#QTableItem">QTableItem</a>().
+
+<h3 class=fn>bool <a name="isEnabled"></a>QTableItem::isEnabled () const
+</h3>
+Returns TRUE if the table item is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setEnabled">setEnabled</a>().
+
+<h3 class=fn>bool <a name="isReplaceable"></a>QTableItem::isReplaceable () const
+</h3>
+This function returns whether the contents of the cell may be
+replaced with the contents of another table item. Regardless of
+this setting, table items that span more than one cell may not
+have their contents replaced by another table item.
+<p> (This differs from <a href="#EditType-enum">EditType</a> because EditType is concerned with
+whether the <em>user</em> is able to change the contents of a cell.)
+<p> <p>See also <a href="#setReplaceable">setReplaceable</a>() and <a href="#EditType-enum">EditType</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="key"></a>QTableItem::key () const<tt> [virtual]</tt>
+</h3>
+This virtual function returns the key that should be used for
+sorting. The default implementation returns the <a href="#text">text</a>() of the
+relevant item.
+<p> <p>See also <a href="qtable.html#sorting-prop">QTable::sorting</a>.
+
+<h3 class=fn>void <a name="paint"></a>QTableItem::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;p, const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;cg, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;cr, bool&nbsp;selected )<tt> [virtual]</tt>
+</h3>
+This virtual function is used to paint the contents of an item
+using the painter <em>p</em> in the rectangular area <em>cr</em> using the
+color group <em>cg</em>.
+<p> If <em>selected</em> is TRUE the cell is displayed in a way that
+indicates that it is highlighted.
+<p> You don't usually need to use this function but if you want to
+draw custom content in a cell you will need to reimplement it.
+<p> The painter passed to this function is translated so that 0, 0
+is the top-left corner of the item that is being painted.
+<p> Note that the painter is not clipped by default in order to get
+maximum efficiency. If you want clipping, use
+<p> <pre>
+ p-&gt;setClipRect( <a href="#table">table</a>()-&gt;cellRect(row, col), QPainter::ClipPainter );
+ //... your drawing code
+ p-&gt;setClipping( FALSE );
+ </pre>
+
+<p>
+<p>Example: <a href="statistics-example.html#x2786">table/statistics/statistics.cpp</a>.
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap"></a>QTableItem::pixmap () const<tt> [virtual]</tt>
+</h3>
+Returns the table item's pixmap or a null pixmap if no pixmap has
+been set.
+<p> <p>See also <a href="#setPixmap">setPixmap</a>() and <a href="#text">text</a>().
+
+<h3 class=fn>int <a name="row"></a>QTableItem::row () const
+</h3>
+Returns the row where the table item is located. If the cell spans
+multiple rows, this function returns the top-most row.
+<p> <p>See also <a href="#col">col</a>() and <a href="#setRow">setRow</a>().
+
+<p>Example: <a href="bigtable-example.html#x1294">table/bigtable/main.cpp</a>.
+<h3 class=fn>int <a name="rowSpan"></a>QTableItem::rowSpan () const
+</h3>
+Returns the row span of the table item, usually 1.
+<p> <p>See also <a href="#setSpan">setSpan</a>() and <a href="#colSpan">colSpan</a>().
+
+<h3 class=fn>int <a name="rtti"></a>QTableItem::rtti () const<tt> [virtual]</tt>
+</h3>
+Returns the Run Time Type Identification value for this table item
+which for QTableItems is 0.
+<p> When you create subclasses based on QTableItem make sure that each
+subclass returns a unique <a href="#rtti">rtti</a>() value. It is advisable to use
+values greater than 1000, preferably large random numbers, to
+allow for extensions to this class.
+<p> <p>See also <a href="qchecktableitem.html#rtti">QCheckTableItem::rtti</a>() and <a href="qcombotableitem.html#rtti">QComboTableItem::rtti</a>().
+
+<p>Reimplemented in <a href="qcombotableitem.html#rtti">QComboTableItem</a> and <a href="qchecktableitem.html#rtti">QCheckTableItem</a>.
+<h3 class=fn>void <a name="setCol"></a>QTableItem::setCol ( int&nbsp;c )<tt> [virtual]</tt>
+</h3>
+Sets column <em>c</em> as the table item's column. Usually you will not
+need to call this function.
+<p> If the cell spans multiple columns, this function sets the
+left-most column and retains the width of the multi-cell table
+item.
+<p> <p>See also <a href="#col">col</a>(), <a href="#setRow">setRow</a>(), and <a href="#colSpan">colSpan</a>().
+
+<h3 class=fn>void <a name="setContentFromEditor"></a>QTableItem::setContentFromEditor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Whenever the content of a cell has been edited by the editor <em>w</em>,
+<a href="qtable.html">QTable</a> calls this virtual function to copy the new values into the
+QTableItem.
+<p> If you reimplement <a href="#createEditor">createEditor</a>() and return something that is not
+a <a href="qlineedit.html">QLineEdit</a> you will need to reimplement this function.
+<p>
+
+<pre> void ComboItem::<a href="#setContentFromEditor">setContentFromEditor</a>( <a href="qwidget.html">QWidget</a> *w )
+ {
+ // the user changed the value of the combobox, so synchronize the
+ // value of the item (its text), with the value of the combobox
+ if ( w-&gt;<a href="qobject.html#inherits">inherits</a>( "QComboBox" ) )
+ <a href="#setText">setText</a>( ( (QComboBox*)w )-&gt;currentText() );
+ else
+ QTableItem::<a href="#setContentFromEditor">setContentFromEditor</a>( w );
+</pre>
+<p> <p>See also <a href="qtable.html#setCellContentFromEditor">QTable::setCellContentFromEditor</a>().
+
+<p>Example: <a href="statistics-example.html#x2787">table/statistics/statistics.cpp</a>.
+<h3 class=fn>void <a name="setEnabled"></a>QTableItem::setEnabled ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE, the table item is enabled; if <em>b</em> is FALSE the
+table item is disabled.
+<p> A disabled item doesn't respond to user interaction.
+<p> <p>See also <a href="#isEnabled">isEnabled</a>().
+
+<h3 class=fn>void <a name="setPixmap"></a>QTableItem::setPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Sets pixmap <em>p</em> to be this item's pixmap.
+<p> Note that <a href="#setPixmap">setPixmap</a>() does not update the cell the table item
+belongs to. Use <a href="qtable.html#updateCell">QTable::updateCell</a>() to repaint the cell's
+contents.
+<p> For <a href="qcombotableitem.html">QComboTableItem</a>s and <a href="qchecktableitem.html">QCheckTableItem</a>s this function
+has no visible effect.
+<p> <p>See also <a href="qtable.html#setPixmap">QTable::setPixmap</a>(), <a href="#pixmap">pixmap</a>(), and <a href="#setText">setText</a>().
+
+<h3 class=fn>void <a name="setReplaceable"></a>QTableItem::setReplaceable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE it is acceptable to replace the contents of the
+cell with the contents of another QTableItem. If <em>b</em> is FALSE the
+contents of the cell may not be replaced by the contents of
+another table item. Table items that span more than one cell may
+not have their contents replaced by another table item.
+<p> (This differs from <a href="#EditType-enum">EditType</a> because EditType is concerned with
+whether the <em>user</em> is able to change the contents of a cell.)
+<p> <p>See also <a href="#isReplaceable">isReplaceable</a>().
+
+<h3 class=fn>void <a name="setRow"></a>QTableItem::setRow ( int&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Sets row <em>r</em> as the table item's row. Usually you do not need to
+call this function.
+<p> If the cell spans multiple rows, this function sets the top row
+and retains the height of the multi-cell table item.
+<p> <p>See also <a href="#row">row</a>(), <a href="#setCol">setCol</a>(), and <a href="#rowSpan">rowSpan</a>().
+
+<h3 class=fn>void <a name="setSpan"></a>QTableItem::setSpan ( int&nbsp;rs, int&nbsp;cs )<tt> [virtual]</tt>
+</h3>
+Changes the extent of the QTableItem so that it spans multiple
+cells covering <em>rs</em> rows and <em>cs</em> columns. The top left cell is
+the original cell.
+<p> <b>Warning:</b> This function only works if the item has already been
+inserted into the table using e.g. <a href="qtable.html#setItem">QTable::setItem</a>(). This
+function also checks to make sure if <em>rs</em> and <em>cs</em> are within
+the bounds of the table and returns without changing the span if
+they are not. In addition swapping, inserting or removing rows and
+columns that cross QTableItems spanning more than one cell is not
+supported.
+<p> <p>See also <a href="#rowSpan">rowSpan</a>() and <a href="#colSpan">colSpan</a>().
+
+<h3 class=fn>void <a name="setText"></a>QTableItem::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )<tt> [virtual]</tt>
+</h3>
+Changes the table item's text to <em>str</em>.
+<p> Note that <a href="#setText">setText</a>() does not update the cell the table item
+belongs to. Use <a href="qtable.html#updateCell">QTable::updateCell</a>() to repaint the cell's
+contents.
+<p> <p>See also <a href="qtable.html#setText">QTable::setText</a>(), <a href="#text">text</a>(), <a href="#setPixmap">setPixmap</a>(), and <a href="qtable.html#updateCell">QTable::updateCell</a>().
+
+<p>Example: <a href="statistics-example.html#x2788">table/statistics/statistics.cpp</a>.
+<h3 class=fn>void <a name="setWordWrap"></a>QTableItem::setWordWrap ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE, the cell's text will be wrapped over multiple
+lines, when necessary, to fit the width of the cell; otherwise the
+text will be written as a single line.
+<p> <p>See also <a href="#wordWrap">wordWrap</a>(), <a href="qtable.html#adjustColumn">QTable::adjustColumn</a>(), and <a href="qtable.html#setColumnStretchable">QTable::setColumnStretchable</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QTableItem::sizeHint () const<tt> [virtual]</tt>
+</h3>
+This virtual function returns the size a cell needs to show its
+entire content.
+<p> If you subclass QTableItem you will often need to reimplement this
+function.
+
+<h3 class=fn><a href="qtable.html">QTable</a>&nbsp;* <a name="table"></a>QTableItem::table () const
+</h3>
+
+<p> Returns the <a href="qtable.html">QTable</a> the table item belongs to.
+<p> <p>See also <a href="qtable.html#setItem">QTable::setItem</a>() and <a href="#QTableItem">QTableItem</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QTableItem::text () const<tt> [virtual]</tt>
+</h3>
+Returns the text of the table item or <a href="qstring.html#QString-null">QString::null</a> if there is no
+text.
+<p> To ensure that the current value of the editor is returned,
+<a href="#setContentFromEditor">setContentFromEditor</a>() is called:
+<ol type=1>
+<li> if the editMode() is <a href="#EditType-enum">Always</a>, or
+<li> if editMode() is <em>not</em> <a href="#EditType-enum">Always</a> but the editor of the cell is
+active and the editor is not a <a href="qlineedit.html">QLineEdit</a>.
+</ol>
+<p> This means that <a href="#text">text</a>() returns the original text value of the item
+if the editor is a line edit, until the user commits an edit (e.g.
+by pressing Enter or Tab) in which case the new text is returned.
+For other editors (e.g. a combobox) setContentFromEditor() is
+always called so the currently display value is the one returned.
+<p> <p>See also <a href="#setText">setText</a>() and <a href="#pixmap">pixmap</a>().
+
+<h3 class=fn>bool <a name="wordWrap"></a>QTableItem::wordWrap () const
+</h3>
+Returns TRUE if word wrap is enabled for the cell; otherwise
+returns FALSE.
+<p> <p>See also <a href="#setWordWrap">setWordWrap</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtableitems.png b/doc/html/qtableitems.png
new file mode 100644
index 0000000..e1bca0f
--- /dev/null
+++ b/doc/html/qtableitems.png
Binary files differ
diff --git a/doc/html/qtableselection-members.html b/doc/html/qtableselection-members.html
new file mode 100644
index 0000000..ad31902
--- /dev/null
+++ b/doc/html/qtableselection-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtable.h:81 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTableSelection Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTableSelection</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtableselection.html">QTableSelection</a>, including inherited members.
+
+<ul>
+<li><a href="qtableselection.html#QTableSelection">QTableSelection</a>()
+<li><a href="qtableselection.html#anchorCol">anchorCol</a>()
+<li><a href="qtableselection.html#anchorRow">anchorRow</a>()
+<li><a href="qtableselection.html#bottomRow">bottomRow</a>()
+<li><a href="qtableselection.html#expandTo">expandTo</a>()
+<li><a href="qtableselection.html#init">init</a>()
+<li><a href="qtableselection.html#isActive">isActive</a>()
+<li><a href="qtableselection.html#isEmpty">isEmpty</a>()
+<li><a href="qtableselection.html#leftCol">leftCol</a>()
+<li><a href="qtableselection.html#numCols">numCols</a>()
+<li><a href="qtableselection.html#numRows">numRows</a>()
+<li><a href="qtableselection.html#operator!-eq">operator!=</a>()
+<li><a href="qtableselection.html#operator-eq-eq">operator==</a>()
+<li><a href="qtableselection.html#rightCol">rightCol</a>()
+<li><a href="qtableselection.html#topRow">topRow</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtableselection.html b/doc/html/qtableselection.html
new file mode 100644
index 0000000..330d35d
--- /dev/null
+++ b/doc/html/qtableselection.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:194 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTableSelection Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTableSelection Class Reference<br><small>[<a href="table.html">table module</a>]</small></h1>
+
+<p>The QTableSelection class provides access to a selected area in a
+QTable.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;</tt>
+<p><a href="qtableselection-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTableSelection"><b>QTableSelection</b></a> ()</li>
+<li class=fn><a href="#QTableSelection-2"><b>QTableSelection</b></a> ( int&nbsp;start_row, int&nbsp;start_col, int&nbsp;end_row, int&nbsp;end_col )</li>
+<li class=fn>void <a href="#init"><b>init</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>void <a href="#expandTo"><b>expandTo</b></a> ( int&nbsp;row, int&nbsp;col )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QTableSelection&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QTableSelection&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>int <a href="#topRow"><b>topRow</b></a> () const</li>
+<li class=fn>int <a href="#bottomRow"><b>bottomRow</b></a> () const</li>
+<li class=fn>int <a href="#leftCol"><b>leftCol</b></a> () const</li>
+<li class=fn>int <a href="#rightCol"><b>rightCol</b></a> () const</li>
+<li class=fn>int <a href="#anchorRow"><b>anchorRow</b></a> () const</li>
+<li class=fn>int <a href="#anchorCol"><b>anchorCol</b></a> () const</li>
+<li class=fn>int <a href="#numRows"><b>numRows</b></a> () const</li>
+<li class=fn>int <a href="#numCols"><b>numCols</b></a> () const</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTableSelection class provides access to a selected area in a
+<a href="qtable.html">QTable</a>.
+
+<p>
+
+<p> The selection is a rectangular set of cells in a QTable. One of
+the rectangle's cells is called the anchor cell; this is the cell
+that was selected first. The <a href="#init">init</a>() function sets the anchor and
+the selection rectangle to exactly this cell; the <a href="#expandTo">expandTo</a>()
+function expands the selection rectangle to include additional
+cells.
+<p> There are various access functions to find out about the area:
+<a href="#anchorRow">anchorRow</a>() and <a href="#anchorCol">anchorCol</a>() return the anchor's position;
+<a href="#leftCol">leftCol</a>(), <a href="#rightCol">rightCol</a>(), <a href="#topRow">topRow</a>() and <a href="#bottomRow">bottomRow</a>() return the
+rectangle's four edges. All four are part of the selection.
+<p> A newly created QTableSelection is inactive -- <a href="#isActive">isActive</a>() returns
+FALSE. You must use init() and expandTo() to activate it.
+<p> <p>See also <a href="qtable.html">QTable</a>, <a href="qtable.html#addSelection">QTable::addSelection</a>(), <a href="qtable.html#selection">QTable::selection</a>(), <a href="qtable.html#selectCells">QTable::selectCells</a>(), <a href="qtable.html#selectRow">QTable::selectRow</a>(), <a href="qtable.html#selectColumn">QTable::selectColumn</a>(), and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTableSelection"></a>QTableSelection::QTableSelection ()
+</h3>
+Creates an inactive selection. Use <a href="#init">init</a>() and <a href="#expandTo">expandTo</a>() to
+activate it.
+
+<h3 class=fn><a name="QTableSelection-2"></a>QTableSelection::QTableSelection ( int&nbsp;start_row, int&nbsp;start_col, int&nbsp;end_row, int&nbsp;end_col )
+</h3>
+Creates an active selection, starting at <em>start_row</em> and <em>start_col</em>, ending at <em>end_row</em> and <em>end_col</em>.
+
+<h3 class=fn>int <a name="anchorCol"></a>QTableSelection::anchorCol () const
+</h3>
+
+<p> Returns the anchor column of the selection.
+<p> <p>See also <a href="#anchorRow">anchorRow</a>() and <a href="#expandTo">expandTo</a>().
+
+<h3 class=fn>int <a name="anchorRow"></a>QTableSelection::anchorRow () const
+</h3>
+
+<p> Returns the anchor row of the selection.
+<p> <p>See also <a href="#anchorCol">anchorCol</a>() and <a href="#expandTo">expandTo</a>().
+
+<h3 class=fn>int <a name="bottomRow"></a>QTableSelection::bottomRow () const
+</h3>
+
+<p> Returns the bottom row of the selection.
+<p> <p>See also <a href="#topRow">topRow</a>(), <a href="#leftCol">leftCol</a>(), and <a href="#rightCol">rightCol</a>().
+
+<h3 class=fn>void <a name="expandTo"></a>QTableSelection::expandTo ( int&nbsp;row, int&nbsp;col )
+</h3>
+Expands the selection to include cell <em>row</em>, <em>col</em>. The new
+selection rectangle is the bounding rectangle of <em>row</em>, <em>col</em>
+and the previous selection rectangle. After calling this function
+the selection is active.
+<p> If you haven't called <a href="#init">init</a>(), this function does nothing.
+<p> <p>See also <a href="#init">init</a>() and <a href="#isActive">isActive</a>().
+
+<h3 class=fn>void <a name="init"></a>QTableSelection::init ( int&nbsp;row, int&nbsp;col )
+</h3>
+Sets the selection anchor to cell <em>row</em>, <em>col</em> and the selection
+to only contain this cell. The selection is not active until
+<a href="#expandTo">expandTo</a>() is called.
+<p> To extend the selection to include additional cells, call
+expandTo().
+<p> <p>See also <a href="#isActive">isActive</a>().
+
+<h3 class=fn>bool <a name="isActive"></a>QTableSelection::isActive () const
+</h3>
+
+<p> Returns whether the selection is active or not. A selection is
+active after <a href="#init">init</a>() <em>and</em> <a href="#expandTo">expandTo</a>() have been called.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QTableSelection::isEmpty () const
+</h3>
+
+<p> Returns whether the selection is empty or not.
+<p> <p>See also <a href="#numRows">numRows</a>() and <a href="#numCols">numCols</a>().
+
+<h3 class=fn>int <a name="leftCol"></a>QTableSelection::leftCol () const
+</h3>
+
+<p> Returns the left column of the selection.
+<p> <p>See also <a href="#topRow">topRow</a>(), <a href="#bottomRow">bottomRow</a>(), and <a href="#rightCol">rightCol</a>().
+
+<h3 class=fn>int <a name="numCols"></a>QTableSelection::numCols () const
+</h3>
+Returns the number of columns in the selection.
+<p> <p>See also <a href="#numRows">numRows</a>().
+
+<h3 class=fn>int <a name="numRows"></a>QTableSelection::numRows () const
+</h3>
+
+<p> Returns the number of rows in the selection.
+<p> <p>See also <a href="#numCols">numCols</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QTableSelection::operator!= ( const&nbsp;<a href="qtableselection.html">QTableSelection</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+
+<p> Returns TRUE if <em>s</em> does not include the same cells as the
+selection; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QTableSelection::operator== ( const&nbsp;<a href="qtableselection.html">QTableSelection</a>&nbsp;&amp;&nbsp;s ) const
+</h3>
+Returns TRUE if <em>s</em> includes the same cells as the selection;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="rightCol"></a>QTableSelection::rightCol () const
+</h3>
+
+<p> Returns the right column of the selection.
+<p> <p>See also <a href="#topRow">topRow</a>(), <a href="#bottomRow">bottomRow</a>(), and <a href="#leftCol">leftCol</a>().
+
+<h3 class=fn>int <a name="topRow"></a>QTableSelection::topRow () const
+</h3>
+
+<p> Returns the top row of the selection.
+<p> <p>See also <a href="#bottomRow">bottomRow</a>(), <a href="#leftCol">leftCol</a>(), and <a href="#rightCol">rightCol</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabletevent-members.html b/doc/html/qtabletevent-members.html
new file mode 100644
index 0000000..c970b66
--- /dev/null
+++ b/doc/html/qtabletevent-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:231 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabletEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTabletEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtabletevent.html">QTabletEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qtabletevent.html#QTabletEvent">QTabletEvent</a>()
+<li><a href="qtabletevent.html#accept">accept</a>()
+<li><a href="qtabletevent.html#device">device</a>()
+<li><a href="qtabletevent.html#globalPos">globalPos</a>()
+<li><a href="qtabletevent.html#globalX">globalX</a>()
+<li><a href="qtabletevent.html#globalY">globalY</a>()
+<li><a href="qtabletevent.html#ignore">ignore</a>()
+<li><a href="qtabletevent.html#isAccepted">isAccepted</a>()
+<li><a href="qtabletevent.html#pos">pos</a>()
+<li><a href="qtabletevent.html#pressure">pressure</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qevent.html#type">type</a>()
+<li><a href="qtabletevent.html#uniqueId">uniqueId</a>()
+<li><a href="qtabletevent.html#x">x</a>()
+<li><a href="qtabletevent.html#xTilt">xTilt</a>()
+<li><a href="qtabletevent.html#y">y</a>()
+<li><a href="qtabletevent.html#yTilt">yTilt</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabletevent.html b/doc/html/qtabletevent.html
new file mode 100644
index 0000000..f50277b
--- /dev/null
+++ b/doc/html/qtabletevent.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:1900 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabletEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTabletEvent Class Reference</h1>
+
+<p>The QTabletEvent class contains parameters that describe a Tablet
+event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qtabletevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#TabletDevice-enum"><b>TabletDevice</b></a> { NoDevice = -1, Puck, Stylus, Eraser }</li>
+<li class=fn><a href="#QTabletEvent"><b>QTabletEvent</b></a> ( Type&nbsp;t, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos, int&nbsp;device, int&nbsp;pressure, int&nbsp;xTilt, int&nbsp;yTilt, const&nbsp;QPair&lt;int,&nbsp;int&gt;&nbsp;&amp;&nbsp;uId )</li>
+<li class=fn>QTabletEvent ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos, int&nbsp;device, int&nbsp;pressure, int&nbsp;xTilt, int&nbsp;yTilt, const&nbsp;QPair&lt;int,&nbsp;int&gt;&nbsp;&amp;&nbsp;uId ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#pressure"><b>pressure</b></a> () const</li>
+<li class=fn>int <a href="#xTilt"><b>xTilt</b></a> () const</li>
+<li class=fn>int <a href="#yTilt"><b>yTilt</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#globalPos"><b>globalPos</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>int <a href="#globalX"><b>globalX</b></a> () const</li>
+<li class=fn>int <a href="#globalY"><b>globalY</b></a> () const</li>
+<li class=fn>TabletDevice <a href="#device"><b>device</b></a> () const</li>
+<li class=fn>int <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+<li class=fn>QPair&lt;int, int&gt; <a href="#uniqueId"><b>uniqueId</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTabletEvent class contains parameters that describe a Tablet
+event.
+<p>
+<p> Tablet Events are generated from a Wacom&copy; tablet. Most of
+the time you will want to deal with events from the tablet as if
+they were events from a mouse, for example retrieving the position
+with <a href="#x">x</a>(), <a href="#y">y</a>(), <a href="#pos">pos</a>(), <a href="#globalX">globalX</a>(), <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>(). In
+some situations you may wish to retrieve the extra information
+provided by the tablet device driver, for example, you might want
+to adjust color brightness based on pressure. QTabletEvent allows
+you to get the <a href="#pressure">pressure</a>(), the <a href="#xTilt">xTilt</a>() and <a href="#yTilt">yTilt</a>(), as well as the
+type of device being used with <a href="#device">device</a>() (see <a href="#TabletDevice-enum">TabletDevice</a>).
+<p> A tablet event contains a special accept flag that indicates
+whether the receiver wants the event. You should call
+<a href="#accept">QTabletEvent::accept</a>() if you handle the tablet event; otherwise
+it will be sent to the parent widget.
+<p> The <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() function can be used to enable or
+disable mouse and keyboard events for a widget.
+<p> The event handler <a href="qwidget.html#tabletEvent">QWidget::tabletEvent</a>() receives all three types of tablet
+events. Qt will first send a tabletEvent and then, if it is not accepted,
+it will send a mouse event. This allows applications that don't utilize
+tablets to use a tablet like a mouse while also enabling those who want to
+use both tablets and mouses differently.
+<p> <p>See also <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="TabletDevice-enum"></a>QTabletEvent::TabletDevice</h3>
+
+<p> This enum defines what type of device is generating the event.
+<ul>
+<li><tt>QTabletEvent::NoDevice</tt> - No device, or an unknown device.
+<li><tt>QTabletEvent::Puck</tt> - A Puck (a device that is similar to a flat mouse with
+a transparent circle with cross-hairs).
+<li><tt>QTabletEvent::Stylus</tt> - A Stylus (the narrow end of the pen).
+<li><tt>QTabletEvent::Eraser</tt> - An Eraser (the broad end of the pen).
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTabletEvent"></a>QTabletEvent::QTabletEvent ( <a href="qevent.html#Type-enum">Type</a>&nbsp;t, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos, int&nbsp;device, int&nbsp;pressure, int&nbsp;xTilt, int&nbsp;yTilt, const&nbsp;<a href="qpair.html">QPair</a>&lt;int,&nbsp;int&gt;&nbsp;&amp;&nbsp;uId )
+</h3>
+
+Construct a tablet event of type <em>t</em>. The position of when the event occurred is given
+int <em>pos</em> and <em>globalPos</em>. <em>device</em> contains the <a href="#TabletDevice-enum">device type</a>,
+<em>pressure</em> contains the pressure exerted on the <em>device</em>, <em>xTilt</em> and <em>yTilt</em> contain
+<em>device</em>'s degree of tilt from the X and Y axis respectively. The <em>uId</em> contains an
+event id.
+<p> On Irix, <em>globalPos</em> will contain the high-resolution coordinates received from the
+tablet device driver, instead of from the windowing system.
+<p> <p>See also <a href="#pos">pos</a>(), <a href="#globalPos">globalPos</a>(), <a href="#device">device</a>(), <a href="#pressure">pressure</a>(), <a href="#xTilt">xTilt</a>(), and <a href="#yTilt">yTilt</a>().
+
+<h3 class=fn><a name="QTabletEvent-2"></a>QTabletEvent::QTabletEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos, int&nbsp;device, int&nbsp;pressure, int&nbsp;xTilt, int&nbsp;yTilt, const&nbsp;<a href="qpair.html">QPair</a>&lt;int,&nbsp;int&gt;&nbsp;&amp;&nbsp;uId )
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> Constructs a tablet event object. The position when the event
+occurred is is given in <em>pos</em> and <em>globalPos</em>. <em>device</em>
+contains the <a href="#TabletDevice-enum">device type</a>, <em>pressure</em>
+contains the pressure exerted on the <em>device</em>, <em>xTilt</em> and <em>yTilt</em> contain the <em>device</em>'s degrees of tilt from the X and Y
+axis respectively. The <em>uId</em> contains an event id.
+<p> On Irix, <em>globalPos</em> will contain the high-resolution coordinates
+received from the tablet device driver, instead of from the
+windowing system.
+<p> <p>See also <a href="#pos">pos</a>(), <a href="#globalPos">globalPos</a>(), <a href="#device">device</a>(), <a href="#pressure">pressure</a>(), <a href="#xTilt">xTilt</a>(), and <a href="#yTilt">yTilt</a>().
+
+<h3 class=fn>void <a name="accept"></a>QTabletEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the tablet event object.
+<p> Setting the accept flag indicates that the receiver of the event
+wants the tablet event. Unwanted tablet events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#ignore">ignore</a>().
+
+<h3 class=fn><a href="qtabletevent.html#TabletDevice-enum">TabletDevice</a> <a name="device"></a>QTabletEvent::device () const
+</h3>
+
+<p> Returns the type of device that generated the event. Useful if you
+want one end of the pen to do something different than the other.
+<p> <p>See also <a href="#TabletDevice-enum">TabletDevice</a>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="globalPos"></a>QTabletEvent::globalPos () const
+</h3>
+
+<p> Returns the global position of the device <em>at the time of the event</em>. This is important on asynchronous windows systems like X11;
+whenever you move your widgets around in response to mouse events,
+<a href="#globalPos">globalPos</a>() can differ significantly from the current position
+<a href="qcursor.html#pos">QCursor::pos</a>().
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalY">globalY</a>().
+
+<h3 class=fn>int <a name="globalX"></a>QTabletEvent::globalX () const
+</h3>
+
+<p> Returns the global x-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>int <a name="globalY"></a>QTabletEvent::globalY () const
+</h3>
+
+<p> Returns the global y-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QTabletEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag parameter of the tablet event object.
+<p> Clearing the accept flag indicates that the event receiver does
+not want the tablet event. Unwanted tablet events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>int <a name="isAccepted"></a>QTabletEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event handles the tablet
+event; otherwise returns FALSE.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QTabletEvent::pos () const
+</h3>
+
+<p> Returns the position of the device, relative to the widget that
+received the event.
+<p> If you move widgets around in response to mouse events, use
+<a href="#globalPos">globalPos</a>() instead of this function.
+<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>int <a name="pressure"></a>QTabletEvent::pressure () const
+</h3>
+
+<p> Returns the pressure that is exerted on the device. This number is
+a value from 0 (no pressure) to 255 (maximum pressure). The
+pressure is always scaled to be within this range no matter how
+many pressure levels the underlying hardware supports.
+
+<h3 class=fn><a href="qpair.html">QPair</a>&lt;int,&nbsp;int&gt; <a name="uniqueId"></a>QTabletEvent::uniqueId ()
+</h3>
+
+<p> Returns a unique ID for the current device. It is possible to
+generate a unique ID for any Wacom&copy; device. This makes it
+possible to differentiate between multiple devices being used at
+the same time on the tablet. The <tt>first</tt> member contains a value
+for the type, the <tt>second</tt> member contains a physical ID obtained
+from the device. Each combination of these values is unique. Note:
+for different platforms, the <tt>first</tt> value is different due to
+different driver implementations.
+
+<h3 class=fn>int <a name="x"></a>QTabletEvent::x () const
+</h3>
+
+<p> Returns the x-position of the device, relative to the widget that
+received the event.
+<p> <p>See also <a href="#y">y</a>() and <a href="#pos">pos</a>().
+
+<h3 class=fn>int <a name="xTilt"></a>QTabletEvent::xTilt () const
+</h3>
+
+<p> Returns the difference from the perpendicular in the X Axis.
+Positive values are towards the tablet's physical right. The angle
+is in the range -60 to +60 degrees.
+<p> <p>See also <a href="#yTilt">yTilt</a>().
+
+<h3 class=fn>int <a name="y"></a>QTabletEvent::y () const
+</h3>
+
+<p> Returns the y-position of the device, relative to the widget that
+received the event.
+<p> <p>See also <a href="#x">x</a>() and <a href="#pos">pos</a>().
+
+<h3 class=fn>int <a name="yTilt"></a>QTabletEvent::yTilt () const
+</h3>
+
+<p> Returns the difference from the perpendicular in the Y Axis.
+Positive values are towards the bottom of the tablet. The angle is
+within the range -60 to +60 degrees.
+<p> <p>See also <a href="#xTilt">xTilt</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabwidget-h.html b/doc/html/qtabwidget-h.html
new file mode 100644
index 0000000..5f67900
--- /dev/null
+++ b/doc/html/qtabwidget-h.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtabwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtabwidget.h</h1>
+
+<p>This is the verbatim text of the qtabwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtabwidget.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QTabWidget class
+**
+** Created : 990318
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTABWIDGET_H
+#define QTABWIDGET_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qiconset.h"
+#endif // QT_H
+
+#ifndef QT_NO_TABWIDGET
+
+class QTabBar;
+class QTabWidgetData;
+class QTab;
+class QWidgetStack;
+
+
+class Q_EXPORT QTabWidget : public QWidget
+{
+ Q_OBJECT
+ Q_ENUMS( TabPosition )
+ Q_ENUMS( TabShape )
+ Q_PROPERTY( TabPosition tabPosition READ tabPosition WRITE setTabPosition )
+ Q_PROPERTY( TabShape tabShape READ tabShape WRITE setTabShape )
+ Q_PROPERTY( int margin READ margin WRITE setMargin )
+ Q_PROPERTY( int currentPage READ currentPageIndex WRITE setCurrentPage )
+ Q_PROPERTY( int count READ count )
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+
+public:
+ QTabWidget( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
+ ~QTabWidget();
+
+ virtual void addTab( QWidget *, const QString &amp; ); // ### make these inline in 4.0
+ virtual void addTab( QWidget *child, const QIconSet&amp; iconset,
+ const QString &amp;label );
+ virtual void addTab( QWidget *, QTab* );
+
+ virtual void insertTab( QWidget *, const QString &amp;, int index = -1 );
+ virtual void insertTab( QWidget *child, const QIconSet&amp; iconset,
+ const QString &amp;label, int index = -1 );
+ virtual void insertTab( QWidget *, QTab*, int index = -1 );
+
+ void changeTab( QWidget *, const QString &amp;);
+ void changeTab( QWidget *child, const QIconSet&amp; iconset,
+ const QString &amp;label );
+
+ bool isTabEnabled( QWidget * ) const;
+ void setTabEnabled( QWidget *, bool );
+
+ void setCornerWidget( QWidget * w, Qt::Corner corner = Qt::TopRight );
+ QWidget * cornerWidget( Qt::Corner corner = Qt::TopRight ) const;
+
+ QString tabLabel( QWidget * ) const;
+ void setTabLabel( QWidget *p, const QString &amp;l );
+
+ QIconSet tabIconSet( QWidget * w ) const;
+ void setTabIconSet( QWidget * w, const QIconSet &amp; iconset );
+
+ void removeTabToolTip( QWidget * w );
+ void setTabToolTip( QWidget * w, const QString &amp; tip );
+ QString tabToolTip( QWidget * w ) const;
+
+ QWidget * currentPage() const;
+ QWidget *page( int ) const;
+ QString label( int ) const;
+ int currentPageIndex() const;
+ int indexOf( QWidget * ) const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ enum TabPosition { Top, Bottom };
+ TabPosition tabPosition() const;
+ void setTabPosition( TabPosition );
+
+ enum TabShape { Rounded, Triangular };
+ TabShape tabShape() const;
+ void setTabShape( TabShape s );
+
+ int margin() const;
+ void setMargin( int );
+
+ int count() const;
+
+public slots:
+ void setCurrentPage( int );
+ virtual void showPage( QWidget * );
+ virtual void removePage( QWidget * );
+
+protected:
+ void showEvent( QShowEvent * );
+ void resizeEvent( QResizeEvent * );
+ void setTabBar( QTabBar * );
+ QTabBar* tabBar() const;
+ void styleChange( QStyle&amp; );
+ void updateMask();
+ bool eventFilter( QObject *, QEvent * );
+
+signals:
+ void currentChanged( QWidget * );
+#ifndef Q_QDOC
+ void selected( const QString&amp; );
+#endif
+
+private slots:
+ void showTab( int );
+
+private:
+ QTabWidgetData *d;
+ void setUpLayout( bool = FALSE );
+ friend class QTabDialog;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTabWidget( const QTabWidget &amp; );
+ QTabWidget&amp; operator=( const QTabWidget &amp; );
+#endif
+};
+
+#endif // QT_NO_TABWIDGET
+
+#endif // QTABWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabwidget-m.png b/doc/html/qtabwidget-m.png
new file mode 100644
index 0000000..e2d023b
--- /dev/null
+++ b/doc/html/qtabwidget-m.png
Binary files differ
diff --git a/doc/html/qtabwidget-members.html b/doc/html/qtabwidget-members.html
new file mode 100644
index 0000000..c3d87c8
--- /dev/null
+++ b/doc/html/qtabwidget-members.html
@@ -0,0 +1,369 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtabwidget.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTabWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtabwidget.html">QTabWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qtabwidget.html#QTabWidget">QTabWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtabwidget.html#addTab">addTab</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qtabwidget.html#changeTab">changeTab</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtabwidget.html#cornerWidget">cornerWidget</a>()
+<li><a href="qtabwidget.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtabwidget.html#currentChanged">currentChanged</a>()
+<li><a href="qtabwidget.html#currentPage">currentPage</a>()
+<li><a href="qtabwidget.html#currentPageIndex">currentPageIndex</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qtabwidget.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtabwidget.html#insertTab">insertTab</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qtabwidget.html#isTabEnabled">isTabEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qtabwidget.html#label">label</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qtabwidget.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qtabwidget.html#page">page</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtabwidget.html#removePage">removePage</a>()
+<li><a href="qtabwidget.html#removeTabToolTip">removeTabToolTip</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtabwidget.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtabwidget.html#setCurrentPage">setCurrentPage</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qtabwidget.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtabwidget.html#setTabBar">setTabBar</a>()
+<li><a href="qtabwidget.html#setTabEnabled">setTabEnabled</a>()
+<li><a href="qtabwidget.html#setTabIconSet">setTabIconSet</a>()
+<li><a href="qtabwidget.html#setTabLabel">setTabLabel</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtabwidget.html#setTabPosition">setTabPosition</a>()
+<li><a href="qtabwidget.html#setTabShape">setTabShape</a>()
+<li><a href="qtabwidget.html#setTabToolTip">setTabToolTip</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qtabwidget.html#showPage">showPage</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtabwidget.html#tabBar">tabBar</a>()
+<li><a href="qtabwidget.html#tabIconSet">tabIconSet</a>()
+<li><a href="qtabwidget.html#tabLabel">tabLabel</a>()
+<li><a href="qtabwidget.html#tabPosition">tabPosition</a>()
+<li><a href="qtabwidget.html#tabShape">tabShape</a>()
+<li><a href="qtabwidget.html#tabToolTip">tabToolTip</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtabwidget-w.png b/doc/html/qtabwidget-w.png
new file mode 100644
index 0000000..7599fb6
--- /dev/null
+++ b/doc/html/qtabwidget-w.png
Binary files differ
diff --git a/doc/html/qtabwidget.html b/doc/html/qtabwidget.html
new file mode 100644
index 0000000..5ec9696
--- /dev/null
+++ b/doc/html/qtabwidget.html
@@ -0,0 +1,440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtabwidget.cpp:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTabWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTabWidget Class Reference</h1>
+
+<p>The QTabWidget class provides a stack of tabbed widgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtabwidget-h.html">qtabwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qtabwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTabWidget"><b>QTabWidget</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>virtual void <a href="#addTab"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>virtual void <a href="#addTab-2"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>virtual void <a href="#addTab-3"><b>addTab</b></a> ( QWidget&nbsp;*&nbsp;child, QTab&nbsp;*&nbsp;tab )</li>
+<li class=fn>virtual void <a href="#insertTab"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )</li>
+<li class=fn>virtual void <a href="#insertTab-2"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )</li>
+<li class=fn>virtual void <a href="#insertTab-3"><b>insertTab</b></a> ( QWidget&nbsp;*&nbsp;child, QTab&nbsp;*&nbsp;tab, int&nbsp;index = -1 )</li>
+<li class=fn>void <a href="#changeTab"><b>changeTab</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>void <a href="#changeTab-2"><b>changeTab</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>bool <a href="#isTabEnabled"><b>isTabEnabled</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>void <a href="#setTabEnabled"><b>setTabEnabled</b></a> ( QWidget&nbsp;*&nbsp;w, bool&nbsp;enable )</li>
+<li class=fn>void <a href="#setCornerWidget"><b>setCornerWidget</b></a> ( QWidget&nbsp;*&nbsp;w, Qt::Corner&nbsp;corner = Qt::TopRight )</li>
+<li class=fn>QWidget * <a href="#cornerWidget"><b>cornerWidget</b></a> ( Qt::Corner&nbsp;corner = Qt::TopRight ) const</li>
+<li class=fn>QString <a href="#tabLabel"><b>tabLabel</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>void <a href="#setTabLabel"><b>setTabLabel</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QString&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>QIconSet <a href="#tabIconSet"><b>tabIconSet</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>void <a href="#setTabIconSet"><b>setTabIconSet</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconset )</li>
+<li class=fn>void <a href="#removeTabToolTip"><b>removeTabToolTip</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>void <a href="#setTabToolTip"><b>setTabToolTip</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QString&nbsp;&amp;&nbsp;tip )</li>
+<li class=fn>QString <a href="#tabToolTip"><b>tabToolTip</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>QWidget * <a href="#currentPage"><b>currentPage</b></a> () const</li>
+<li class=fn>QWidget * <a href="#page"><b>page</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#label"><b>label</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#currentPageIndex"><b>currentPageIndex</b></a> () const</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( QWidget&nbsp;*&nbsp;w ) const</li>
+<li class=fn>enum <a href="#TabPosition-enum"><b>TabPosition</b></a> { Top, Bottom }</li>
+<li class=fn>TabPosition <a href="#tabPosition"><b>tabPosition</b></a> () const</li>
+<li class=fn>void <a href="#setTabPosition"><b>setTabPosition</b></a> ( TabPosition )</li>
+<li class=fn>enum <a href="#TabShape-enum"><b>TabShape</b></a> { Rounded, Triangular }</li>
+<li class=fn>TabShape <a href="#tabShape"><b>tabShape</b></a> () const</li>
+<li class=fn>void <a href="#setTabShape"><b>setTabShape</b></a> ( TabShape&nbsp;s )</li>
+<li class=fn>int <a href="#margin"><b>margin</b></a> () const</li>
+<li class=fn>void <a href="#setMargin"><b>setMargin</b></a> ( int )</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setCurrentPage"><b>setCurrentPage</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#showPage"><b>showPage</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual void <a href="#removePage"><b>removePage</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( QWidget * )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the tab widget is automatically masked &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of tabs in the tab bar &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#currentPage-prop"><b>currentPage</b></a>&nbsp;- the index position of the current tab page</li>
+<li class=fn>int <a href="#margin-prop"><b>margin</b></a>&nbsp;- the margin in this tab widget</li>
+<li class=fn>TabPosition <a href="#tabPosition-prop"><b>tabPosition</b></a>&nbsp;- the position of the tabs in this tab widget</li>
+<li class=fn>TabShape <a href="#tabShape-prop"><b>tabShape</b></a>&nbsp;- the shape of the tabs in this tab widget</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#setTabBar"><b>setTabBar</b></a> ( QTabBar&nbsp;*&nbsp;tb )</li>
+<li class=fn>QTabBar * <a href="#tabBar"><b>tabBar</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTabWidget class provides a stack of tabbed widgets.
+<p>
+
+
+<p> A tab widget provides a tab bar of tabs and a `page area' below
+(or above, see <a href="#TabPosition-enum">TabPosition</a>) the tabs. Each tab is associated
+with a different widget (called a `page'). Only the current tab's
+page is shown in the page area; all the other tabs' pages are
+hidden. The user can show a different page by clicking on its tab
+or by pressing its Alt+<em>letter</em> accelerator if it has one.
+<p> The normal way to use QTabWidget is to do the following in the
+constructor:
+<ol type=1>
+<li> Create a QTabWidget.
+<li> Create a <a href="qwidget.html">QWidget</a> for each of the pages in the tab dialog,
+insert children into it, set up geometry management for it and use
+<a href="#addTab">addTab</a>() (or <a href="#insertTab">insertTab</a>()) to set up a tab and keyboard accelerator
+for it.
+<li> Connect to the signals and slots.
+</ol>
+<p> The position of the tabs is set with <a href="#setTabPosition">setTabPosition</a>(), their shape
+with <a href="#setTabShape">setTabShape</a>(), and their margin with <a href="#setMargin">setMargin</a>().
+<p> If you don't call addTab() and the QTabWidget is already visible,
+then the page you have created will not be visible. Don't
+confuse the object name you supply to the QWidget constructor and
+the tab label you supply to addTab(). addTab() takes a name which
+indicates an accelerator and is meaningful and descriptive to the
+user, whereas the widget name is used primarily for debugging.
+<p> The signal <a href="#currentChanged">currentChanged</a>() is emitted when the user selects a
+page.
+<p> The current page is available as an index position with
+<a href="#currentPageIndex">currentPageIndex</a>() or as a wiget pointer with <a href="#currentPage">currentPage</a>(). You
+can retrieve a pointer to a page with a given index using <a href="#page">page</a>(),
+and can find the index position of a page with <a href="#indexOf">indexOf</a>(). Use
+<a href="#setCurrentPage">setCurrentPage</a>() to show a particular page by index, or <a href="#showPage">showPage</a>()
+to show a page by widget pointer.
+<p> You can change a tab's label and iconset using <a href="#changeTab">changeTab</a>() or
+<a href="#setTabLabel">setTabLabel</a>() and <a href="#setTabIconSet">setTabIconSet</a>(). A tab page can be removed with
+<a href="#removePage">removePage</a>().
+<p> Each tab is either enabled or disabled at any given time (see
+<a href="#setTabEnabled">setTabEnabled</a>()). If a tab is enabled, the tab text is drawn
+normally and the user can select that tab. If it is disabled, the
+tab is drawn in a different way and the user cannot select that
+tab. Note that even if a tab is disabled, the page can still be
+visible, for example if all of the tabs happen to be disabled.
+<p> Although tab widgets can be a very good way to split up a complex
+dialog, it's also very easy to get into a mess. See <a href="qtabdialog.html">QTabDialog</a> for
+some design hints. An alternative is to use a <a href="qwidgetstack.html">QWidgetStack</a> for
+which you provide some means of navigating between pages, for
+example, a <a href="qtoolbar.html">QToolBar</a> or a <a href="qlistbox.html">QListBox</a>.
+<p> Most of the functionality in QTabWidget is provided by a <a href="qtabbar.html">QTabBar</a>
+(at the top, providing the tabs) and a QWidgetStack (most of the
+area, organizing the individual pages).
+<p> <img src=qtabwidget-m.png> <img src=qtabwidget-w.png>
+<p> <p>See also <a href="qtabdialog.html">QTabDialog</a>, <a href="qtoolbox.html">QToolBox</a>, <a href="advanced.html">Advanced Widgets</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="TabPosition-enum"></a>QTabWidget::TabPosition</h3>
+
+<p> This enum type defines where QTabWidget draws the tab row:
+<ul>
+<li><tt>QTabWidget::Top</tt> - above the pages
+<li><tt>QTabWidget::Bottom</tt> - below the pages
+</ul>
+<h3 class=fn><a name="TabShape-enum"></a>QTabWidget::TabShape</h3>
+
+<p> This enum type defines the shape of the tabs:
+<ul>
+<li><tt>QTabWidget::Rounded</tt> - rounded look (normal)
+<li><tt>QTabWidget::Triangular</tt> - triangular look (very unusual, included for completeness)
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTabWidget"></a>QTabWidget::QTabWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a tabbed widget called <em>name</em> with parent <em>parent</em>,
+and widget flags <em>f</em>.
+
+<h3 class=fn>void <a name="addTab"></a>QTabWidget::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )<tt> [virtual]</tt>
+</h3>
+Adds another tab and page to the tab view.
+<p> The new page is <em>child</em>; the tab's label is <em>label</em>. Note the
+difference between the widget name (which you supply to widget
+constructors and to <a href="#setTabEnabled">setTabEnabled</a>(), for example) and the tab
+label. The name is internal to the program and invariant, whereas
+the label is shown on-screen and may vary according to language
+and other factors.
+<p> If the tab's <em>label</em> contains an ampersand, the letter following
+the ampersand is used as an accelerator for the tab, e.g. if the
+label is "Bro&amp;wse" then Alt+W becomes an accelerator which will
+move the focus to this tab.
+<p> If you call <a href="#addTab">addTab</a>() after <a href="qwidget.html#show">show</a>() the screen will flicker and the
+user may be confused.
+<p> Adding the same child twice will have undefined behavior.
+<p> <p>See also <a href="#insertTab">insertTab</a>().
+
+<p>Examples: <a href="addressbook-example.html#x600">addressbook/centralwidget.cpp</a> and <a href="themes-example.html#x343">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="addTab-2"></a>QTabWidget::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds another tab and page to the tab view.
+<p> This function is the same as <a href="#addTab">addTab</a>(), but with an additional <em>iconset</em>.
+
+<h3 class=fn>void <a name="addTab-3"></a>QTabWidget::addTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;tab )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is a low-level function for adding tabs. It is useful if you
+are using <a href="#setTabBar">setTabBar</a>() to set a <a href="qtabbar.html">QTabBar</a> subclass with an overridden
+<a href="qtabbar.html#paint">QTabBar::paint</a>() function for a subclass of <a href="qtab.html">QTab</a>. The <em>child</em> is
+the new page and <em>tab</em> is the tab to put the <em>child</em> on.
+
+<h3 class=fn>void <a name="changeTab"></a>QTabWidget::changeTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+Defines a new <em>label</em> for page <em>w</em>'s tab.
+
+<h3 class=fn>void <a name="changeTab-2"></a>QTabWidget::changeTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Defines a new <em>iconset</em> and a new <em>label</em> for page <em>w</em>'s tab.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="cornerWidget"></a>QTabWidget::cornerWidget ( <a href="qt.html#Corner-enum">Qt::Corner</a>&nbsp;corner = Qt::TopRight ) const
+</h3>
+Returns the widget shown in the <em>corner</em> of the tab widget or 0.
+
+<h3 class=fn>int <a name="count"></a>QTabWidget::count () const
+</h3><p>Returns the number of tabs in the tab bar.
+See the <a href="qtabwidget.html#count-prop">"count"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QTabWidget::currentChanged ( <a href="qwidget.html">QWidget</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the current page changes. The
+parameter is the new current page.
+<p> <p>See also <a href="#currentPage">currentPage</a>(), <a href="#showPage">showPage</a>(), and <a href="#tabLabel">tabLabel</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="currentPage"></a>QTabWidget::currentPage () const
+</h3>
+Returns a pointer to the page currently being displayed by the tab
+dialog. The tab dialog does its best to make sure that this value
+is never 0 (but if you try hard enough, it can be).
+
+<h3 class=fn>int <a name="currentPageIndex"></a>QTabWidget::currentPageIndex () const
+</h3><p>Returns the index position of the current tab page.
+See the <a href="qtabwidget.html#currentPage-prop">"currentPage"</a> property for details.
+<h3 class=fn>int <a name="indexOf"></a>QTabWidget::indexOf ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns the index position of page <em>w</em>, or -1 if the widget
+cannot be found.
+
+<h3 class=fn>void <a name="insertTab"></a>QTabWidget::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )<tt> [virtual]</tt>
+</h3>
+Inserts another tab and page to the tab view.
+<p> The new page is <em>child</em>; the tab's label is <em>label</em>. Note the
+difference between the widget name (which you supply to widget
+constructors and to <a href="#setTabEnabled">setTabEnabled</a>(), for example) and the tab
+label. The name is internal to the program and invariant, whereas
+the label is shown on-screen and may vary according to language
+and other factors.
+<p> If the tab's <em>label</em> contains an ampersand, the letter following
+the ampersand is used as an accelerator for the tab, e.g. if the
+label is "Bro&amp;wse" then Alt+W becomes an accelerator which will
+move the focus to this tab.
+<p> If <em>index</em> is not specified, the tab is simply appended.
+Otherwise it is inserted at the specified position.
+<p> If you call <a href="#insertTab">insertTab</a>() after <a href="qwidget.html#show">show</a>(), the screen will flicker and
+the user may be confused.
+<p> <p>See also <a href="#addTab">addTab</a>().
+
+<h3 class=fn>void <a name="insertTab-2"></a>QTabWidget::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, int&nbsp;index = -1 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts another tab and page to the tab view.
+<p> This function is the same as <a href="#insertTab">insertTab</a>(), but with an additional
+<em>iconset</em>.
+
+<h3 class=fn>void <a name="insertTab-3"></a>QTabWidget::insertTab ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;child, <a href="qtab.html">QTab</a>&nbsp;*&nbsp;tab, int&nbsp;index = -1 )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This is a lower-level method for inserting tabs, similar to the
+other <a href="#insertTab">insertTab</a>() method. It is useful if you are using
+<a href="#setTabBar">setTabBar</a>() to set a <a href="qtabbar.html">QTabBar</a> subclass with an overridden
+<a href="qtabbar.html#paint">QTabBar::paint</a>() function for a subclass of <a href="qtab.html">QTab</a>. The <em>child</em> is
+the new page, <em>tab</em> is the tab to put the <em>child</em> on and <em>index</em> is the position in the tab bar that this page should occupy.
+
+<h3 class=fn>bool <a name="isTabEnabled"></a>QTabWidget::isTabEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns TRUE if the page <em>w</em> is enabled; otherwise returns FALSE.
+<p> <p>See also <a href="#setTabEnabled">setTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="label"></a>QTabWidget::label ( int&nbsp;index ) const
+</h3>
+Returns the label of the tab at index position <em>index</em> or
+<a href="qstring.html#QString-null">QString::null</a> if the <em>index</em> is out of range.
+
+<h3 class=fn>int <a name="margin"></a>QTabWidget::margin () const
+</h3><p>Returns the margin in this tab widget.
+See the <a href="qtabwidget.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="page"></a>QTabWidget::page ( int&nbsp;index ) const
+</h3>
+Returns the tab page at index position <em>index</em> or 0 if the <em>index</em> is out of range.
+
+<h3 class=fn>void <a name="removePage"></a>QTabWidget::removePage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual slot]</tt>
+</h3>
+Removes page <em>w</em> from this stack of widgets. Does not delete <em>w</em>.
+<p> <p>See also <a href="#addTab">addTab</a>(), <a href="#showPage">showPage</a>(), and <a href="qwidgetstack.html#removeWidget">QWidgetStack::removeWidget</a>().
+
+<h3 class=fn>void <a name="removeTabToolTip"></a>QTabWidget::removeTabToolTip ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Removes the tab tool tip for page <em>w</em>. If the page does not have
+a tip, nothing happens.
+<p> <p>See also <a href="#setTabToolTip">setTabToolTip</a>() and <a href="#tabToolTip">tabToolTip</a>().
+
+<h3 class=fn>void <a name="setCornerWidget"></a>QTabWidget::setCornerWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, <a href="qt.html#Corner-enum">Qt::Corner</a>&nbsp;corner = Qt::TopRight )
+</h3>
+Sets widget <em>w</em> to be the shown in the specified <em>corner</em> of the
+tab widget.
+<p> Only the horizontal element of the <em>corner</em> will be used.
+<p> <p>See also <a href="#cornerWidget">cornerWidget</a>() and <a href="#tabPosition-prop">tabPosition</a>.
+
+<h3 class=fn>void <a name="setCurrentPage"></a>QTabWidget::setCurrentPage ( int )<tt> [slot]</tt>
+</h3><p>Sets the index position of the current tab page.
+See the <a href="qtabwidget.html#currentPage-prop">"currentPage"</a> property for details.
+<h3 class=fn>void <a name="setMargin"></a>QTabWidget::setMargin ( int )
+</h3><p>Sets the margin in this tab widget.
+See the <a href="qtabwidget.html#margin-prop">"margin"</a> property for details.
+<h3 class=fn>void <a name="setTabBar"></a>QTabWidget::setTabBar ( <a href="qtabbar.html">QTabBar</a>&nbsp;*&nbsp;tb )<tt> [protected]</tt>
+</h3>
+Replaces the dialog's <a href="qtabbar.html">QTabBar</a> heading with the tab bar <em>tb</em>. Note
+that this must be called <em>before</em> any tabs have been added, or
+the behavior is undefined.
+<p> <p>See also <a href="#tabBar">tabBar</a>().
+
+<h3 class=fn>void <a name="setTabEnabled"></a>QTabWidget::setTabEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, bool&nbsp;enable )
+</h3>
+If <em>enable</em> is TRUE, page <em>w</em> is enabled; otherwise page <em>w</em> is
+disabled. The page's tab is redrawn appropriately.
+<p> QTabWidget uses <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() internally, rather than
+keeping a separate flag.
+<p> Note that even a disabled tab/page may be visible. If the page is
+visible already, QTabWidget will not hide it; if all the pages are
+disabled, QTabWidget will show one of them.
+<p> <p>See also <a href="#isTabEnabled">isTabEnabled</a>() and <a href="qwidget.html#enabled-prop">QWidget::enabled</a>.
+
+<h3 class=fn>void <a name="setTabIconSet"></a>QTabWidget::setTabIconSet ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconset )
+</h3>
+Sets the iconset for page <em>w</em> to <em>iconset</em>.
+
+<h3 class=fn>void <a name="setTabLabel"></a>QTabWidget::setTabLabel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;l )
+</h3>
+Sets the tab label for page <em>w</em> to <em>l</em>
+
+<h3 class=fn>void <a name="setTabPosition"></a>QTabWidget::setTabPosition ( <a href="qtabwidget.html#TabPosition-enum">TabPosition</a> )
+</h3><p>Sets the position of the tabs in this tab widget.
+See the <a href="qtabwidget.html#tabPosition-prop">"tabPosition"</a> property for details.
+<h3 class=fn>void <a name="setTabShape"></a>QTabWidget::setTabShape ( <a href="qtabwidget.html#TabShape-enum">TabShape</a>&nbsp;s )
+</h3><p>Sets the shape of the tabs in this tab widget to <em>s</em>.
+See the <a href="qtabwidget.html#tabShape-prop">"tabShape"</a> property for details.
+<h3 class=fn>void <a name="setTabToolTip"></a>QTabWidget::setTabToolTip ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;tip )
+</h3>
+Sets the tab tool tip for page <em>w</em> to <em>tip</em>.
+<p> <p>See also <a href="#removeTabToolTip">removeTabToolTip</a>() and <a href="#tabToolTip">tabToolTip</a>().
+
+<h3 class=fn>void <a name="showPage"></a>QTabWidget::showPage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual slot]</tt>
+</h3>
+Ensures that page <em>w</em> is shown. This is useful mainly for
+accelerators.
+<p> <b>Warning:</b> Used carelessly, this function can easily surprise or
+confuse the user.
+<p> <p>See also <a href="qtabbar.html#currentTab-prop">QTabBar::currentTab</a>.
+
+<h3 class=fn><a href="qtabbar.html">QTabBar</a>&nbsp;* <a name="tabBar"></a>QTabWidget::tabBar () const<tt> [protected]</tt>
+</h3>
+Returns the current <a href="qtabbar.html">QTabBar</a>.
+<p> <p>See also <a href="#setTabBar">setTabBar</a>().
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="tabIconSet"></a>QTabWidget::tabIconSet ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns the iconset of page <em>w</em> or a <a href="qiconset.html#QIconSet">null iconset</a> if <em>w</em> is not a tab page or does not have an
+iconset.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="tabLabel"></a>QTabWidget::tabLabel ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns the label text for the tab on page <em>w</em>.
+
+<h3 class=fn><a href="qtabwidget.html#TabPosition-enum">TabPosition</a> <a name="tabPosition"></a>QTabWidget::tabPosition () const
+</h3><p>Returns the position of the tabs in this tab widget.
+See the <a href="qtabwidget.html#tabPosition-prop">"tabPosition"</a> property for details.
+<h3 class=fn><a href="qtabwidget.html#TabShape-enum">TabShape</a> <a name="tabShape"></a>QTabWidget::tabShape () const
+</h3><p>Returns the shape of the tabs in this tab widget.
+See the <a href="qtabwidget.html#tabShape-prop">"tabShape"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="tabToolTip"></a>QTabWidget::tabToolTip ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w ) const
+</h3>
+Returns the tab tool tip for page <em>w</em> or <a href="qstring.html#QString-null">QString::null</a> if no tool
+tip has been set.
+<p> <p>See also <a href="#setTabToolTip">setTabToolTip</a>() and <a href="#removeTabToolTip">removeTabToolTip</a>().
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the tab widget is automatically masked.
+<p><p><p>See also <a href="qwidget.html#autoMask-prop">QWidget::autoMask</a>.
+
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of tabs in the tab bar.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>int <a name="currentPage-prop"></a>currentPage</h3>
+<p>This property holds the index position of the current tab page.
+<p>Set this property's value with <a href="#setCurrentPage">setCurrentPage</a>() and get this property's value with <a href="#currentPageIndex">currentPageIndex</a>().
+<p><p>See also <a href="qtabbar.html#currentTab-prop">QTabBar::currentTab</a>.
+
+<h3 class=fn>int <a name="margin-prop"></a>margin</h3>
+<p>This property holds the margin in this tab widget.
+<p>The margin is the distance between the innermost pixel of the
+frame and the outermost pixel of the pages.
+
+<p>Set this property's value with <a href="#setMargin">setMargin</a>() and get this property's value with <a href="#margin">margin</a>().
+<h3 class=fn><a href="qtabwidget.html#TabPosition-enum">TabPosition</a> <a name="tabPosition-prop"></a>tabPosition</h3>
+<p>This property holds the position of the tabs in this tab widget.
+<p>Possible values for this property are <a href="#TabPosition-enum">QTabWidget::Top</a> and <a href="#TabPosition-enum">QTabWidget::Bottom</a>.
+<p> <p>See also <a href="#TabPosition-enum">TabPosition</a>.
+
+<p>Set this property's value with <a href="#setTabPosition">setTabPosition</a>() and get this property's value with <a href="#tabPosition">tabPosition</a>().
+<h3 class=fn><a href="qtabwidget.html#TabShape-enum">TabShape</a> <a name="tabShape-prop"></a>tabShape</h3>
+<p>This property holds the shape of the tabs in this tab widget.
+<p>Possible values for this property are <a href="#TabShape-enum">QTabWidget::Rounded</a>
+(default) or <a href="#TabShape-enum">QTabWidget::Triangular</a>.
+<p> <p>See also <a href="#TabShape-enum">TabShape</a>.
+
+<p>Set this property's value with <a href="#setTabShape">setTabShape</a>() and get this property's value with <a href="#tabShape">tabShape</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextbrowser-h.html b/doc/html/qtextbrowser-h.html
new file mode 100644
index 0000000..7e72cb7
--- /dev/null
+++ b/doc/html/qtextbrowser-h.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextbrowser.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextbrowser.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextbrowser.h</h1>
+
+<p>This is the verbatim text of the qtextbrowser.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextbrowser.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of the QTextBrowser class
+**
+** Created : 990101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTBROWSER_H
+#define QTEXTBROWSER_H
+
+#ifndef QT_H
+#include "qptrlist.h"
+#include "qpixmap.h"
+#include "qcolor.h"
+#include "qtextedit.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTBROWSER
+
+class QTextBrowserData;
+
+class Q_EXPORT QTextBrowser : public QTextEdit
+{
+ Q_OBJECT
+ Q_PROPERTY( QString source READ source WRITE setSource )
+ Q_OVERRIDE( int undoDepth DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool overwriteMode DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool modified SCRIPTABLE false)
+ Q_OVERRIDE( bool readOnly DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool undoRedoEnabled DESIGNABLE false SCRIPTABLE false )
+
+public:
+ QTextBrowser( QWidget* parent=0, const char* name=0 );
+ ~QTextBrowser();
+
+ QString source() const;
+
+public slots:
+ virtual void setSource(const QString&amp; name);
+ virtual void backward();
+ virtual void forward();
+ virtual void home();
+ virtual void reload();
+ void setText( const QString &amp;txt ) { setText( txt, QString::null ); }
+ virtual void setText( const QString &amp;txt, const QString &amp;context );
+
+signals:
+ void backwardAvailable( bool );
+ void forwardAvailable( bool );
+ void sourceChanged( const QString&amp; );
+ void highlighted( const QString&amp; );
+ void linkClicked( const QString&amp; );
+ void anchorClicked( const QString&amp;, const QString&amp; );
+
+protected:
+ void keyPressEvent( QKeyEvent * e);
+
+private:
+ void popupDetail( const QString&amp; contents, const QPoint&amp; pos );
+ bool linksEnabled() const { return TRUE; }
+ void emitHighlighted( const QString &amp;s );
+ void emitLinkClicked( const QString &amp;s );
+ QTextBrowserData *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTextBrowser( const QTextBrowser &amp; );
+ QTextBrowser&amp; operator=( const QTextBrowser &amp; );
+#endif
+};
+
+#endif // QT_NO_TEXTBROWSER
+
+#endif // QTEXTBROWSER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextbrowser-m.png b/doc/html/qtextbrowser-m.png
new file mode 100644
index 0000000..92f7f9d
--- /dev/null
+++ b/doc/html/qtextbrowser-m.png
Binary files differ
diff --git a/doc/html/qtextbrowser-members.html b/doc/html/qtextbrowser-members.html
new file mode 100644
index 0000000..2cc4442
--- /dev/null
+++ b/doc/html/qtextbrowser-members.html
@@ -0,0 +1,556 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextbrowser.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextBrowser Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextBrowser</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextbrowser.html">QTextBrowser</a>, including inherited members.
+
+<ul>
+<li><a href="qtextbrowser.html#QTextBrowser">QTextBrowser</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qtextedit.html#alignment">alignment</a>()
+<li><a href="qtextedit.html#anchorAt">anchorAt</a>()
+<li><a href="qtextbrowser.html#anchorClicked">anchorClicked</a>()
+<li><a href="qtextedit.html#append">append</a>()
+<li><a href="qtextedit.html#autoFormatting">autoFormatting</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qtextbrowser.html#backward">backward</a>()
+<li><a href="qtextbrowser.html#backwardAvailable">backwardAvailable</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtextedit.html#bold">bold</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qtextedit.html#charAt">charAt</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtextedit.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtextedit.html#clearParagraphBackground">clearParagraphBackground</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtextedit.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qtextedit.html#color">color</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qtextedit.html#context">context</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtextedit.html#copy">copy</a>()
+<li><a href="qtextedit.html#copyAvailable">copyAvailable</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtextedit.html#createPopupMenu">createPopupMenu</a>()
+<li><a href="qtextedit.html#currentAlignmentChanged">currentAlignmentChanged</a>()
+<li><a href="qtextedit.html#currentColorChanged">currentColorChanged</a>()
+<li><a href="qtextedit.html#currentFont">currentFont</a>()
+<li><a href="qtextedit.html#currentFontChanged">currentFontChanged</a>()
+<li><a href="qtextedit.html#currentVerticalAlignmentChanged">currentVerticalAlignmentChanged</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qtextedit.html#cursorPositionChanged">cursorPositionChanged</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qtextedit.html#cut">cut</a>()
+<li><a href="qtextedit.html#del">del</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtextedit.html#doKeyboardAction">doKeyboardAction</a>()
+<li><a href="qtextedit.html#documentTitle">documentTitle</a>()
+<li><a href="qtextedit.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qtextedit.html#ensureCursorVisible">ensureCursorVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qtextedit.html#family">family</a>()
+<li><a href="qtextedit.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qtextedit.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qtextedit.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qtextbrowser.html#forward">forward</a>()
+<li><a href="qtextbrowser.html#forwardAvailable">forwardAvailable</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qtextedit.html#getCursorPosition">getCursorPosition</a>()
+<li><a href="qtextedit.html#getSelection">getSelection</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qtextedit.html#hasSelectedText">hasSelectedText</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qtextedit.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qtextbrowser.html#highlighted">highlighted</a>()
+<li><a href="qtextbrowser.html#home">home</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qtextedit.html#insert">insert</a>()
+<li><a href="qtextedit.html#insertAt">insertAt</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtextedit.html#insertParagraph">insertParagraph</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qtextedit.html#isModified">isModified</a>()
+<li><a href="qtextedit.html#isOverwriteMode">isOverwriteMode</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtextedit.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtextedit.html#isRedoAvailable">isRedoAvailable</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qtextedit.html#isUndoAvailable">isUndoAvailable</a>()
+<li><a href="qtextedit.html#isUndoRedoEnabled">isUndoRedoEnabled</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtextedit.html#italic">italic</a>()
+<li><a href="qtextbrowser.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qtextedit.html#length">length</a>()
+<li><a href="qtextedit.html#lineOfChar">lineOfChar</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qtextedit.html#lines">lines</a>()
+<li><a href="qtextedit.html#linesOfParagraph">linesOfParagraph</a>()
+<li><a href="qtextbrowser.html#linkClicked">linkClicked</a>()
+<li><a href="qtextedit.html#linkUnderline">linkUnderline</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qtextedit.html#maxLogLines">maxLogLines</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qtextedit.html#modificationChanged">modificationChanged</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qtextedit.html#moveCursor">moveCursor</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qtextedit.html#paper">paper</a>()
+<li><a href="qtextedit.html#paragraphAt">paragraphAt</a>()
+<li><a href="qtextedit.html#paragraphBackgroundColor">paragraphBackgroundColor</a>()
+<li><a href="qtextedit.html#paragraphLength">paragraphLength</a>()
+<li><a href="qtextedit.html#paragraphRect">paragraphRect</a>()
+<li><a href="qtextedit.html#paragraphs">paragraphs</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtextedit.html#paste">paste</a>()
+<li><a href="qtextedit.html#pasteSubType">pasteSubType</a>()
+<li><a href="qtextedit.html#placeCursor">placeCursor</a>()
+<li><a href="qtextedit.html#pointSize">pointSize</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qtextedit.html#redo">redo</a>()
+<li><a href="qtextedit.html#redoAvailable">redoAvailable</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qtextbrowser.html#reload">reload</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtextedit.html#removeParagraph">removeParagraph</a>()
+<li><a href="qtextedit.html#removeSelectedText">removeSelectedText</a>()
+<li><a href="qtextedit.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qtextedit.html#repaintChanged">repaintChanged</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qtextedit.html#returnPressed">returnPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtextedit.html#scrollToAnchor">scrollToAnchor</a>()
+<li><a href="qtextedit.html#scrollToBottom">scrollToBottom</a>()
+<li><a href="qtextedit.html#selectAll">selectAll</a>()
+<li><a href="qtextedit.html#selectedText">selectedText</a>()
+<li><a href="qtextedit.html#selectionChanged">selectionChanged</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qtextedit.html#setAlignment">setAlignment</a>()
+<li><a href="qtextedit.html#setAutoFormatting">setAutoFormatting</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qtextedit.html#setBold">setBold</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtextedit.html#setColor">setColor</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtextedit.html#setCurrentFont">setCurrentFont</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qtextedit.html#setCursorPosition">setCursorPosition</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qtextedit.html#setFamily">setFamily</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtextedit.html#setItalic">setItalic</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qtextedit.html#setLinkUnderline">setLinkUnderline</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qtextedit.html#setMaxLogLines">setMaxLogLines</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qtextedit.html#setMimeSourceFactory">setMimeSourceFactory</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qtextedit.html#setModified">setModified</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtextedit.html#setOverwriteMode">setOverwriteMode</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtextedit.html#setPaper">setPaper</a>()
+<li><a href="qtextedit.html#setParagraphBackgroundColor">setParagraphBackgroundColor</a>()
+<li><a href="qtextedit.html#setPointSize">setPointSize</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtextedit.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtextedit.html#setSelection">setSelection</a>()
+<li><a href="qtextedit.html#setSelectionAttributes">setSelectionAttributes</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qtextbrowser.html#setSource">setSource</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtextedit.html#setStyleSheet">setStyleSheet</a>()
+<li><a href="qtextedit.html#setTabChangesFocus">setTabChangesFocus</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtextedit.html#setTabStopWidth">setTabStopWidth</a>()
+<li><a href="qtextedit.html#setText">setText</a>()
+<li><a href="qtextedit.html#setTextFormat">setTextFormat</a>()
+<li><a href="qtextedit.html#setUnderline">setUnderline</a>()
+<li><a href="qtextedit.html#setUndoDepth">setUndoDepth</a>()
+<li><a href="qtextedit.html#setUndoRedoEnabled">setUndoRedoEnabled</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qtextedit.html#setVerticalAlignment">setVerticalAlignment</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qtextedit.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtextedit.html#setWrapColumnOrWidth">setWrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#setWrapPolicy">setWrapPolicy</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qtextbrowser.html#source">source</a>()
+<li><a href="qtextbrowser.html#sourceChanged">sourceChanged</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtextedit.html#styleSheet">styleSheet</a>()
+<li><a href="qtextedit.html#sync">sync</a>()
+<li><a href="qtextedit.html#syntaxHighlighter">syntaxHighlighter</a>()
+<li><a href="qtextedit.html#tabChangesFocus">tabChangesFocus</a>()
+<li><a href="qtextedit.html#tabStopWidth">tabStopWidth</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtextedit.html#text">text</a>()
+<li><a href="qtextedit.html#textChanged">textChanged</a>()
+<li><a href="qtextedit.html#textCursor">textCursor</a>()
+<li><a href="qtextedit.html#textFormat">textFormat</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qtextedit.html#underline">underline</a>()
+<li><a href="qtextedit.html#undo">undo</a>()
+<li><a href="qtextedit.html#undoAvailable">undoAvailable</a>()
+<li><a href="qtextedit.html#undoDepth">undoDepth</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qtextedit.html#wordWrap">wordWrap</a>()
+<li><a href="qtextedit.html#wrapColumnOrWidth">wrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#wrapPolicy">wrapPolicy</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+<li><a href="qtextedit.html#zoomIn">zoomIn</a>()
+<li><a href="qtextedit.html#zoomOut">zoomOut</a>()
+<li><a href="qtextedit.html#zoomTo">zoomTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextbrowser-w.png b/doc/html/qtextbrowser-w.png
new file mode 100644
index 0000000..b91bf69
--- /dev/null
+++ b/doc/html/qtextbrowser-w.png
Binary files differ
diff --git a/doc/html/qtextbrowser.html b/doc/html/qtextbrowser.html
new file mode 100644
index 0000000..c8deb91
--- /dev/null
+++ b/doc/html/qtextbrowser.html
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtextbrowser.cpp:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextBrowser Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextBrowser Class Reference</h1>
+
+<p>The QTextBrowser class provides a rich text browser with hypertext navigation.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtextbrowser-h.html">qtextbrowser.h</a>&gt;</tt>
+<p>Inherits <a href="qtextedit.html">QTextEdit</a>.
+<p><a href="qtextbrowser-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTextBrowser"><b>QTextBrowser</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QString <a href="#source"><b>source</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setSource"><b>setSource</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual void <a href="#backward"><b>backward</b></a> ()</li>
+<li class=fn>virtual void <a href="#forward"><b>forward</b></a> ()</li>
+<li class=fn>virtual void <a href="#home"><b>home</b></a> ()</li>
+<li class=fn>virtual void <a href="#reload"><b>reload</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#backwardAvailable"><b>backwardAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#forwardAvailable"><b>forwardAvailable</b></a> ( bool&nbsp;available )</li>
+<li class=fn>void <a href="#sourceChanged"><b>sourceChanged</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;src )</li>
+<li class=fn>void <a href="#highlighted"><b>highlighted</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;link )</li>
+<li class=fn>void <a href="#linkClicked"><b>linkClicked</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;link )</li>
+<li class=fn>void <a href="#anchorClicked"><b>anchorClicked</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;link )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#modified-prop"><b>modified</b></a>&nbsp;- whether the contents have been modified &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#overwriteMode-prop"><b>overwriteMode</b></a>&nbsp;- this text browser's overwrite mode &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the contents are read only &nbsp;<em>(read only)</em></li>
+<li class=fn>QString <a href="#source-prop"><b>source</b></a>&nbsp;- the name of the displayed document</li>
+<li class=fn>int <a href="#undoDepth-prop"><b>undoDepth</b></a>&nbsp;- this text browser's undo depth &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#undoRedoEnabled-prop"><b>undoRedoEnabled</b></a>&nbsp;- whether undo and redo are enabled &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#keyPressEvent"><b>keyPressEvent</b></a> ( QKeyEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextBrowser class provides a rich text browser with hypertext navigation.
+<p>
+
+
+
+<p> This class extends <a href="qtextedit.html">QTextEdit</a> (in read-only mode), adding some
+navigation functionality so that users can follow links in
+hypertext documents. The contents of QTextEdit is set with
+<a href="qtextedit.html#setText">setText</a>(), but QTextBrowser has an additional function,
+<a href="#setSource">setSource</a>(), which makes it possible to set the text to a named
+document. The name is looked up in the text view's mime source
+factory. If a document name ends with an anchor (for example, "<tt>#anchor"</tt>), the text browser automatically scrolls to that position
+(using <a href="qtextedit.html#scrollToAnchor">scrollToAnchor</a>()). When the user clicks on a hyperlink, the
+browser will call setSource() itself, with the link's <tt>href</tt>
+value as argument. You can track the current source by connetion
+to the <a href="#sourceChanged">sourceChanged</a>() signal.
+<p> QTextBrowser provides <a href="#backward">backward</a>() and <a href="#forward">forward</a>() slots which you can
+use to implement Back and Forward buttons. The <a href="#home">home</a>() slot sets
+the text to the very first document displayed. The <a href="#linkClicked">linkClicked</a>()
+signal is emitted when the user clicks a link.
+<p> By using <a href="qtextedit.html#setMimeSourceFactory">QTextEdit::setMimeSourceFactory</a>() you can provide your
+own subclass of <a href="qmimesourcefactory.html">QMimeSourceFactory</a>. This makes it possible to
+access data from anywhere, for example from a network or from a
+database. See <a href="qmimesourcefactory.html#data">QMimeSourceFactory::data</a>() for details.
+<p> If you intend using the mime factory to read the data directly
+from the file system, you may have to specify the encoding for the
+file extension you are using. For example:
+<pre>
+ <a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()-&gt;setExtensionType("qml", "text/utf8");
+ </pre>
+
+This is to ensure that the factory is able to resolve the document
+names.
+<p> QTextBrowser interprets the tags it processes in accordance with
+the default style sheet. Change the style sheet with
+<a href="qtextedit.html#setStyleSheet">setStyleSheet</a>(); see <a href="qstylesheet.html">QStyleSheet</a> for details.
+<p> If you want to provide your users with editable rich text use
+<a href="qtextedit.html">QTextEdit</a>. If you want a text browser without hypertext navigation
+use QTextEdit, and use <a href="qtextedit.html#setReadOnly">QTextEdit::setReadOnly</a>() to disable
+editing. If you just need to display a small piece of rich text
+use <a href="qsimplerichtext.html">QSimpleRichText</a> or <a href="qlabel.html">QLabel</a>.
+<p> <img src=qtextbrowser-m.png> <img src=qtextbrowser-w.png>
+<p>See also <a href="advanced.html">Advanced Widgets</a>, <a href="helpsystem.html">Help System</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextBrowser"></a>QTextBrowser::QTextBrowser ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty QTextBrowser called <em>name</em>, with parent <em>parent</em>.
+
+<h3 class=fn>void <a name="anchorClicked"></a>QTextBrowser::anchorClicked ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;link )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks an anchor. The <em>link</em> is
+the value of the <tt>href</tt> i.e. the name of the target document. The <em>name</em>
+is the name of the anchor.
+<p> <p>See also <a href="#linkClicked">linkClicked</a>().
+
+<h3 class=fn>void <a name="backward"></a>QTextBrowser::backward ()<tt> [virtual slot]</tt>
+</h3>
+Changes the document displayed to the previous document in the
+list of documents built by navigating links. Does nothing if there
+is no previous document.
+<p> <p>See also <a href="#forward">forward</a>() and <a href="#backwardAvailable">backwardAvailable</a>().
+
+<p>Example: <a href="helpviewer-example.html#x1019">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="backwardAvailable"></a>QTextBrowser::backwardAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the availability of <a href="#backward">backward</a>()
+changes. <em>available</em> is FALSE when the user is at <a href="#home">home</a>();
+otherwise it is TRUE.
+
+<p>Example: <a href="helpviewer-example.html#x1020">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="forward"></a>QTextBrowser::forward ()<tt> [virtual slot]</tt>
+</h3>
+Changes the document displayed to the next document in the list of
+documents built by navigating links. Does nothing if there is no
+next document.
+<p> <p>See also <a href="#backward">backward</a>() and <a href="#forwardAvailable">forwardAvailable</a>().
+
+<p>Example: <a href="helpviewer-example.html#x1021">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="forwardAvailable"></a>QTextBrowser::forwardAvailable ( bool&nbsp;available )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the availability of <a href="#forward">forward</a>() changes.
+<em>available</em> is TRUE after the user navigates <a href="#backward">backward</a>() and FALSE
+when the user navigates or goes forward().
+
+<p>Example: <a href="helpviewer-example.html#x1022">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="highlighted"></a>QTextBrowser::highlighted ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;link )<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted when the user has selected but not
+activated a link in the document. <em>link</em> is the value of the <tt>href</tt> i.e. the name of the target document.
+
+<p>Example: <a href="helpviewer-example.html#x1023">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="home"></a>QTextBrowser::home ()<tt> [virtual slot]</tt>
+</h3>
+Changes the document displayed to be the first document the
+browser displayed.
+
+<p>Example: <a href="helpviewer-example.html#x1024">helpviewer/helpwindow.cpp</a>.
+<h3 class=fn>void <a name="keyPressEvent"></a>QTextBrowser::keyPressEvent ( <a href="qkeyevent.html">QKeyEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+The event <em>e</em> is used to provide the following keyboard shortcuts:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Keypress <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top">Alt+Left Arrow <td valign="top"><a href="#backward">backward</a>()
+<tr bgcolor="#d0d0d0"> <td valign="top">Alt+Right Arrow <td valign="top"><a href="#forward">forward</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Alt+Up Arrow <td valign="top"><a href="#home">home</a>()
+</table></center>
+
+<p>Reimplemented from <a href="qtextedit.html#keyPressEvent">QTextEdit</a>.
+<h3 class=fn>void <a name="linkClicked"></a>QTextBrowser::linkClicked ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;link )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks a link. The <em>link</em> is
+the value of the <tt>href</tt> i.e. the name of the target document.
+<p> The <em>link</em> will be the absolute location of the document, based
+on the value of the anchor's href tag and the current context of
+the document.
+<p> <p>See also <a href="#anchorClicked">anchorClicked</a>() and <a href="qtextedit.html#context">context</a>().
+
+<h3 class=fn>void <a name="reload"></a>QTextBrowser::reload ()<tt> [virtual slot]</tt>
+</h3>
+Reloads the current set source.
+
+<h3 class=fn>void <a name="setSource"></a>QTextBrowser::setSource ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual slot]</tt>
+</h3><p>Sets the name of the displayed document to <em>name</em>.
+See the <a href="qtextbrowser.html#source-prop">"source"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="source"></a>QTextBrowser::source () const
+</h3><p>Returns the name of the displayed document.
+See the <a href="qtextbrowser.html#source-prop">"source"</a> property for details.
+<h3 class=fn>void <a name="sourceChanged"></a>QTextBrowser::sourceChanged ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;src )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the mime source has changed, <em>src</em>
+being the new source.
+<p> Source changes happen both programmatically when calling
+<a href="#setSource">setSource</a>(), <a href="#forward">forward</a>(), backword() or <a href="#home">home</a>() or when the user
+clicks on links or presses the equivalent key sequences.
+
+<p>Example: <a href="helpviewer-example.html#x1027">helpviewer/helpwindow.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="modified-prop"></a>modified</h3>
+<p>This property holds whether the contents have been modified.
+<p>
+<p><h3 class=fn>bool <a name="overwriteMode-prop"></a>overwriteMode</h3>
+<p>This property holds this text browser's overwrite mode.
+<p>
+<p><h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the contents are read only.
+<p>
+<p><h3 class=fn><a href="qstring.html">QString</a> <a name="source-prop"></a>source</h3>
+<p>This property holds the name of the displayed document.
+<p>This is a <a href="qstring.html#QString-null">QString::null</a> if no document is displayed or if the
+source is unknown.
+<p> Setting this property uses the <a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>() to lookup the
+named document. It also checks for optional anchors and scrolls
+the document accordingly.
+<p> If the first tag in the document is <tt>&lt;qt type=detail&gt;</tt>, the
+document is displayed as a popup rather than as new document in
+the browser window itself. Otherwise, the document is displayed
+normally in the text browser with the text set to the contents of
+the named document with <a href="qtextedit.html#setText">setText</a>().
+<p> If you are using the filesystem access capabilities of the mime
+source factory, you must ensure that the factory knows about the
+encoding of specified files; otherwise no data will be available.
+The default factory handles a couple of common file extensions
+such as <tt>*.html</tt> and <tt>*.txt</tt> with reasonable defaults. See
+<a href="qmimesourcefactory.html#data">QMimeSourceFactory::data</a>() for details.
+
+<p>Set this property's value with <a href="#setSource">setSource</a>() and get this property's value with <a href="#source">source</a>().
+<h3 class=fn>int <a name="undoDepth-prop"></a>undoDepth</h3>
+<p>This property holds this text browser's undo depth.
+<p>
+<p><h3 class=fn>bool <a name="undoRedoEnabled-prop"></a>undoRedoEnabled</h3>
+<p>This property holds whether undo and redo are enabled.
+<p>
+<p><!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodec-h.html b/doc/html/qtextcodec-h.html
new file mode 100644
index 0000000..7c77d9e
--- /dev/null
+++ b/doc/html/qtextcodec-h.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextcodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextcodec.h</h1>
+
+<p>This is the verbatim text of the qtextcodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextcodec.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QTextCodec class
+**
+** Created : 981015
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTCODEC_H
+#define QTEXTCODEC_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTCODEC
+
+class QTextCodec;
+class QIODevice;
+class QFont;
+
+class Q_EXPORT QTextEncoder {
+public:
+ virtual ~QTextEncoder();
+ virtual QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) = 0;
+};
+
+class Q_EXPORT QTextDecoder {
+public:
+ virtual ~QTextDecoder();
+ virtual QString toUnicode(const char* chars, int len) = 0;
+};
+
+class Q_EXPORT QTextCodec {
+public:
+ virtual ~QTextCodec();
+
+#ifndef QT_NO_CODECS
+ static QTextCodec* loadCharmap(QIODevice*);
+ static QTextCodec* loadCharmapFile(QString filename);
+#endif //QT_NO_CODECS
+ static QTextCodec* codecForMib(int mib);
+ static QTextCodec* codecForName(const char* hint, int accuracy=0);
+ static QTextCodec* codecForContent(const char* chars, int len);
+ static QTextCodec* codecForIndex(int i);
+ static QTextCodec* codecForLocale();
+ static void setCodecForLocale(QTextCodec *c);
+
+ static QTextCodec* codecForTr();
+ static void setCodecForTr(QTextCodec *c);
+ static QTextCodec* codecForCStrings();
+ static void setCodecForCStrings(QTextCodec *c);
+
+ static void deleteAllCodecs();
+
+ static const char* locale();
+
+ virtual const char* name() const = 0;
+ virtual const char* mimeName() const;
+ virtual int mibEnum() const = 0;
+
+ virtual QTextDecoder* makeDecoder() const;
+ virtual QTextEncoder* makeEncoder() const;
+
+ virtual QString toUnicode(const char* chars, int len) const;
+ virtual QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+
+ QCString fromUnicode(const QString&amp; uc) const;
+ QString toUnicode(const QByteArray&amp;, int len) const;
+ QString toUnicode(const QByteArray&amp;) const;
+ QString toUnicode(const QCString&amp;, int len) const;
+ QString toUnicode(const QCString&amp;) const;
+ QString toUnicode(const char* chars) const;
+ virtual bool canEncode( QChar ) const;
+ virtual bool canEncode( const QString&amp; ) const;
+
+ virtual int heuristicContentMatch(const char* chars, int len) const = 0;
+ virtual int heuristicNameMatch(const char* hint) const;
+
+ virtual QByteArray fromUnicode(const QString&amp; uc, int from, int len) const;
+ virtual unsigned short characterFromUnicode(const QString &amp;str, int pos) const;
+
+protected:
+ QTextCodec();
+ static int simpleHeuristicNameMatch(const char* name, const char* hint);
+
+private:
+ friend class QFont;
+ friend class QFontEngineXLFD;
+ void fromUnicodeInternal( const QChar *in, unsigned short *out, int length );
+
+ static QTextCodec *cftr;
+ static QTextCodec *cfcs;
+};
+
+inline QTextCodec* QTextCodec::codecForTr() { return cftr; }
+inline void QTextCodec::setCodecForTr(QTextCodec *c) { cftr = c; }
+inline QTextCodec* QTextCodec::codecForCStrings() { return cfcs; }
+inline void QTextCodec::setCodecForCStrings(QTextCodec *c) { cfcs = c; }
+
+#endif // QT_NO_TEXTCODEC
+#endif // QTEXTCODEC_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodec-members.html b/doc/html/qtextcodec-members.html
new file mode 100644
index 0000000..eb3ce8e
--- /dev/null
+++ b/doc/html/qtextcodec-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodec.h:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextcodec.html">QTextCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#QTextCodec">QTextCodec</a>()
+<li><a href="qtextcodec.html#~QTextCodec">~QTextCodec</a>()
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodec.html b/doc/html/qtextcodec.html
new file mode 100644
index 0000000..f8f03c3
--- /dev/null
+++ b/doc/html/qtextcodec.html
@@ -0,0 +1,611 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qtextcodec.cpp:201 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextCodec Class Reference</h1>
+
+<p>The QTextCodec class provides conversion between text encodings.
+<a href="#details">More...</a>
+<p>Almost all the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support. The exceptions are <a href="#~QTextCodec"><b>~QTextCodec</b></a>(), <a href="#setCodecForTr"><b>setCodecForTr</b></a>(), <a href="#setCodecForCStrings"><b>setCodecForCStrings</b></a>(), and <a href="#QTextCodec"><b>QTextCodec</b></a>().
+</p><p><tt>#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;</tt>
+<p>Inherited by <a href="qbig5codec.html">QBig5Codec</a>, <a href="qbig5hkscscodec.html">QBig5hkscsCodec</a>, <a href="qeucjpcodec.html">QEucJpCodec</a>, <a href="qeuckrcodec.html">QEucKrCodec</a>, <a href="qgb18030codec.html">QGb18030Codec</a>, <a href="qjiscodec.html">QJisCodec</a>, <a href="qhebrewcodec.html">QHebrewCodec</a>, <a href="qsjiscodec.html">QSjisCodec</a>, and <a href="qtsciicodec.html">QTsciiCodec</a>.
+<p><a href="qtextcodec-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QTextCodec"><b>~QTextCodec</b></a> ()</li>
+<li class=fn>virtual const char * <a href="#name"><b>name</b></a> () const = 0</li>
+<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
+<li class=fn>virtual int <a href="#mibEnum"><b>mibEnum</b></a> () const = 0</li>
+<li class=fn>virtual QTextDecoder * <a href="#makeDecoder"><b>makeDecoder</b></a> () const</li>
+<li class=fn>virtual QTextEncoder * <a href="#makeEncoder"><b>makeEncoder</b></a> () const</li>
+<li class=fn>virtual QString <a href="#toUnicode"><b>toUnicode</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len ) const</li>
+<li class=fn>virtual QCString <a href="#fromUnicode"><b>fromUnicode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const</li>
+<li class=fn>QCString <a href="#fromUnicode-2"><b>fromUnicode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uc ) const</li>
+<li class=fn>QString <a href="#toUnicode-2"><b>toUnicode</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;a, int&nbsp;len ) const</li>
+<li class=fn>QString <a href="#toUnicode-3"><b>toUnicode</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;a ) const</li>
+<li class=fn>QString <a href="#toUnicode-4"><b>toUnicode</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;a, int&nbsp;len ) const</li>
+<li class=fn>QString <a href="#toUnicode-5"><b>toUnicode</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;a ) const</li>
+<li class=fn>QString <a href="#toUnicode-6"><b>toUnicode</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars ) const</li>
+<li class=fn>virtual bool <a href="#canEncode"><b>canEncode</b></a> ( QChar&nbsp;ch ) const</li>
+<li class=fn>virtual bool <a href="#canEncode-2"><b>canEncode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s ) const</li>
+<li class=fn>virtual int <a href="#heuristicContentMatch"><b>heuristicContentMatch</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len ) const = 0</li>
+<li class=fn>virtual int <a href="#heuristicNameMatch"><b>heuristicNameMatch</b></a> ( const&nbsp;char&nbsp;*&nbsp;hint ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QTextCodec * <a href="#loadCharmap"><b>loadCharmap</b></a> ( QIODevice&nbsp;*&nbsp;iod )</li>
+<li class=fn>QTextCodec * <a href="#loadCharmapFile"><b>loadCharmapFile</b></a> ( QString&nbsp;filename )</li>
+<li class=fn>QTextCodec * <a href="#codecForMib"><b>codecForMib</b></a> ( int&nbsp;mib )</li>
+<li class=fn>QTextCodec * <a href="#codecForName"><b>codecForName</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, int&nbsp;accuracy = 0 )</li>
+<li class=fn>QTextCodec * <a href="#codecForContent"><b>codecForContent</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len )</li>
+<li class=fn>QTextCodec * <a href="#codecForIndex"><b>codecForIndex</b></a> ( int&nbsp;i )</li>
+<li class=fn>QTextCodec * <a href="#codecForLocale"><b>codecForLocale</b></a> ()</li>
+<li class=fn>void <a href="#setCodecForLocale"><b>setCodecForLocale</b></a> ( QTextCodec&nbsp;*&nbsp;c )</li>
+<li class=fn>QTextCodec * <a href="#codecForTr"><b>codecForTr</b></a> ()</li>
+<li class=fn>void <a href="#setCodecForTr"><b>setCodecForTr</b></a> ( QTextCodec&nbsp;*&nbsp;c )</li>
+<li class=fn>QTextCodec * <a href="#codecForCStrings"><b>codecForCStrings</b></a> ()</li>
+<li class=fn>void <a href="#setCodecForCStrings"><b>setCodecForCStrings</b></a> ( QTextCodec&nbsp;*&nbsp;c )</li>
+<li class=fn>void <a href="#deleteAllCodecs"><b>deleteAllCodecs</b></a> ()</li>
+<li class=fn>const char * <a href="#locale"><b>locale</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn><a href="#QTextCodec"><b>QTextCodec</b></a> ()</li>
+</ul>
+<h2>Static Protected Members</h2>
+<ul>
+<li class=fn>int <a href="#simpleHeuristicNameMatch"><b>simpleHeuristicNameMatch</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, const&nbsp;char&nbsp;*&nbsp;hint )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextCodec class provides conversion between text encodings.
+
+
+<p> Qt uses Unicode to store, draw and manipulate strings. In many
+situations you may wish to deal with data that uses a different
+encoding. For example, most Japanese documents are still stored in
+Shift-JIS or ISO2022, while Russian users often have their
+documents in KOI8-R or CP1251.
+<p> Qt provides a set of QTextCodec classes to help with converting
+non-Unicode formats to and from Unicode. You can also create your
+own codec classes (<a href="#subclassing">see later</a>).
+<p> The supported encodings are:
+<ul>
+<li> Latin1
+<li> Big5 -- Chinese
+<li> Big5-HKSCS -- Chinese
+<li> eucJP -- Japanese
+<li> eucKR -- Korean
+<li> GB2312 -- Chinese
+<li> GBK -- Chinese
+<li> GB18030 -- Chinese
+<li> JIS7 -- Japanese
+<li> Shift-JIS -- Japanese
+<li> TSCII -- Tamil
+<li> utf8 -- Unicode, 8-bit
+<li> utf16 -- Unicode
+<li> KOI8-R -- Russian
+<li> KOI8-U -- Ukrainian
+<li> ISO8859-1 -- Western
+<li> ISO8859-2 -- Central European
+<li> ISO8859-3 -- Central European
+<li> ISO8859-4 -- Baltic
+<li> ISO8859-5 -- Cyrillic
+<li> ISO8859-6 -- Arabic
+<li> ISO8859-7 -- Greek
+<li> ISO8859-8 -- Hebrew, visually ordered
+<li> ISO8859-8-i -- Hebrew, logically ordered
+<li> ISO8859-9 -- Turkish
+<li> ISO8859-10
+<li> ISO8859-13
+<li> ISO8859-14
+<li> ISO8859-15 -- Western
+<li> IBM 850
+<li> IBM 866
+<li> CP874
+<li> CP1250 -- Central European
+<li> CP1251 -- Cyrillic
+<li> CP1252 -- Western
+<li> CP1253 -- Greek
+<li> CP1254 -- Turkish
+<li> CP1255 -- Hebrew
+<li> CP1256 -- Arabic
+<li> CP1257 -- Baltic
+<li> CP1258
+<li> Apple Roman
+<li> TIS-620 -- Thai
+</ul>
+<p> QTextCodecs can be used as follows to convert some locally encoded
+string to Unicode. Suppose you have some string encoded in Russian
+KOI8-R encoding, and want to convert it to Unicode. The simple way
+to do this is:
+<p> <pre>
+ <a href="qcstring.html">QCString</a> locallyEncoded = "..."; // text to convert
+ QTextCodec *codec = QTextCodec::<a href="#codecForName">codecForName</a>("KOI8-R"); // get the codec for KOI8-R
+ <a href="qstring.html">QString</a> unicodeString = codec-&gt;<a href="#toUnicode">toUnicode</a>( locallyEncoded );
+ </pre>
+
+<p> After this, <tt>unicodeString</tt> holds the text converted to Unicode.
+Converting a string from Unicode to the local encoding is just as
+easy:
+<p> <pre>
+ <a href="qstring.html">QString</a> unicodeString = "..."; // any Unicode text
+ QTextCodec *codec = QTextCodec::<a href="#codecForName">codecForName</a>("KOI8-R"); // get the codec for KOI8-R
+ <a href="qcstring.html">QCString</a> locallyEncoded = codec-&gt;<a href="#fromUnicode">fromUnicode</a>( unicodeString );
+ </pre>
+
+<p> Some care must be taken when trying to convert the data in chunks,
+for example, when receiving it over a network. In such cases it is
+possible that a multi-byte character will be split over two
+chunks. At best this might result in the loss of a character and
+at worst cause the entire conversion to fail.
+<p> The approach to use in these situations is to create a <a href="qtextdecoder.html">QTextDecoder</a>
+object for the codec and use this QTextDecoder for the whole
+decoding process, as shown below:
+<p> <pre>
+ QTextCodec *codec = QTextCodec::<a href="#codecForName">codecForName</a>( "Shift-JIS" );
+ <a href="qtextdecoder.html">QTextDecoder</a> *decoder = codec-&gt;<a href="#makeDecoder">makeDecoder</a>();
+
+ <a href="qstring.html">QString</a> unicodeString;
+ while( receiving_data ) {
+ <a href="qbytearray.html">QByteArray</a> chunk = new_data;
+ unicodeString += decoder-&gt;<a href="qtextdecoder.html#toUnicode">toUnicode</a>( chunk.<a href="qmemarray.html#data">data</a>(), chunk.length() );
+ }
+ </pre>
+
+<p> The QTextDecoder object maintains state between chunks and therefore
+works correctly even if a multi-byte character is split between
+chunks.
+<p> <a name="subclassing"></a>
+<h3> Creating your own Codec class
+</h3>
+<a name="1"></a><p> Support for new text encodings can be added to Qt by creating
+QTextCodec subclasses.
+<p> Built-in codecs can be overridden by custom codecs since more
+recently created QTextCodec objects take precedence over earlier
+ones.
+<p> You may find it more convenient to make your codec class available
+as a plugin; see the <a href="plugins-howto.html">plugin
+ documentation</a> for more details.
+<p> The abstract virtual functions describe the encoder to the
+system and the coder is used as required in the different
+text file formats supported by <a href="qtextstream.html">QTextStream</a>, and under X11, for the
+locale-specific character input and output.
+<p> To add support for another 8-bit encoding to Qt, make a subclass
+of QTextCodec and implement at least the following methods:
+<p> <pre>
+ const char* name() const
+ </pre>
+
+Return the official name for the encoding.
+<p> <pre>
+ int mibEnum() const
+ </pre>
+
+Return the MIB enum for the encoding if it is listed in the
+<a href="http://www.iana.org/assignments/character-sets">IANA character-sets encoding file</a>.
+<p> If the encoding is multi-byte then it will have "state"; that is,
+the interpretation of some bytes will be dependent on some preceding
+bytes. For such encodings, you must implement:
+<p> <pre>
+ <a href="qtextdecoder.html">QTextDecoder</a>* makeDecoder() const
+ </pre>
+
+Return a <a href="qtextdecoder.html">QTextDecoder</a> that remembers incomplete multi-byte sequence
+prefixes or other required state.
+<p> If the encoding does <em>not</em> require state, you should implement:
+<p> <pre>
+ <a href="qstring.html">QString</a> toUnicode(const char* chars, int len) const
+ </pre>
+
+Converts <em>len</em> characters from <em>chars</em> to Unicode.
+<p> The base QTextCodec class has default implementations of the above
+two functions, <em>but they are mutually recursive</em>, so you must
+re-implement at least one of them, or both for improved efficiency.
+<p> For conversion from Unicode to 8-bit encodings, it is rarely necessary
+to maintain state. However, two functions similar to the two above
+are used for encoding:
+<p> <pre>
+ <a href="qtextencoder.html">QTextEncoder</a>* makeEncoder() const
+ </pre>
+
+Return a <a href="qtextencoder.html">QTextEncoder</a>.
+<p> <pre>
+ <a href="qcstring.html">QCString</a> fromUnicode(const <a href="qstring.html">QString</a>&amp; uc, int&amp; lenInOut ) const
+ </pre>
+
+Converts <em>lenInOut</em> characters (of type <a href="qchar.html">QChar</a>) from the start of
+the string <em>uc</em>, returning a <a href="qcstring.html">QCString</a> result, and also returning
+the <a href="qcstring.html#length">length</a> of the result in
+<em>lenInOut</em>.
+<p> Again, these are mutually recursive so only one needs to be implemented,
+or both if greater efficiency is possible.
+<p> Finally, you must implement:
+<p> <pre>
+ int heuristicContentMatch(const char* chars, int len) const
+ </pre>
+
+Gives a value indicating how likely it is that <em>len</em> characters
+from <em>chars</em> are in the encoding.
+<p> A good model for this function is the
+QWindowsLocalCodec::heuristicContentMatch function found in the Qt
+sources.
+<p> A QTextCodec subclass might have improved performance if you also
+re-implement:
+<p> <pre>
+ bool canEncode( <a href="qchar.html">QChar</a> ) const
+ </pre>
+
+Test if a Unicode character can be encoded.
+<p> <pre>
+ bool canEncode( const <a href="qstring.html">QString</a>&amp; ) const
+ </pre>
+
+Test if a string of Unicode characters can be encoded.
+<p> <pre>
+ int heuristicNameMatch(const char* hint) const
+ </pre>
+
+Test if a possibly non-standard name is referring to the codec.
+<p> Codecs can also be created as <a href="plugins-howto.html">plugins</a>.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextCodec"></a>QTextCodec::QTextCodec ()<tt> [protected]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Constructs a QTextCodec, and gives it the highest precedence. The
+QTextCodec should always be constructed on the heap (i.e. with <tt>new</tt>). Qt takes ownership and will delete it when the application
+terminates.
+
+<h3 class=fn><a name="~QTextCodec"></a>QTextCodec::~QTextCodec ()<tt> [virtual]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+<p> Destroys the QTextCodec. Note that you should not delete codecs
+yourself: once created they become Qt's responsibility.
+
+<h3 class=fn>bool <a name="canEncode"></a>QTextCodec::canEncode ( <a href="qchar.html">QChar</a>&nbsp;ch ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the Unicode character <em>ch</em> can be fully encoded
+with this codec; otherwise returns FALSE. The default
+implementation tests if the result of <a href="#toUnicode">toUnicode</a>(fromUnicode(ch))
+is the original <em>ch</em>. Subclasses may be able to improve the
+efficiency.
+
+<h3 class=fn>bool <a name="canEncode-2"></a>QTextCodec::canEncode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s ) const<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>s</em> contains the string being tested for encode-ability.
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForCStrings"></a>QTextCodec::codecForCStrings ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the codec used by <a href="qstring.html">QString</a> to convert to and from const
+char* and QCStrings. If this function returns 0 (the default),
+QString assumes Latin-1.
+<p> <p>See also <a href="#setCodecForCStrings">setCodecForCStrings</a>().
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForContent"></a>QTextCodec::codecForContent ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len )<tt> [static]</tt>
+</h3>
+Searches all installed QTextCodec objects, returning the one which
+most recognizes the given content. May return 0.
+<p> Note that this is often a poor choice, since character encodings
+often use most of the available character sequences, and so only
+by linguistic analysis could a true match be made.
+<p> <em>chars</em> contains the string to check, and <em>len</em> contains the
+number of characters in the string to use.
+<p> <p>See also <a href="#heuristicContentMatch">heuristicContentMatch</a>().
+
+<p>Example: <a href="qwerty-example.html#x391">qwerty/qwerty.cpp</a>.
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForIndex"></a>QTextCodec::codecForIndex ( int&nbsp;i )<tt> [static]</tt>
+</h3>
+Returns the QTextCodec <em>i</em> positions from the most recently
+inserted codec, or 0 if there is no such QTextCodec. Thus,
+<a href="#codecForIndex">codecForIndex</a>(0) returns the most recently created QTextCodec.
+
+<p>Example: <a href="qwerty-example.html#x392">qwerty/qwerty.cpp</a>.
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForLocale"></a>QTextCodec::codecForLocale ()<tt> [static]</tt>
+</h3> Returns a pointer to the codec most suitable for this locale.
+<p>Example: <a href="qwerty-example.html#x393">qwerty/qwerty.cpp</a>.
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForMib"></a>QTextCodec::codecForMib ( int&nbsp;mib )<tt> [static]</tt>
+</h3>
+Returns the QTextCodec which matches the <a href="#mibEnum">MIBenum</a> <em>mib</em>.
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForName"></a>QTextCodec::codecForName ( const&nbsp;char&nbsp;*&nbsp;name, int&nbsp;accuracy = 0 )<tt> [static]</tt>
+</h3>
+Searches all installed QTextCodec objects and returns the one
+which best matches <em>name</em>; the match is case-insensitive. Returns
+0 if no codec's <a href="#heuristicNameMatch">heuristicNameMatch</a>() reports a match better than
+<em>accuracy</em>, or if <em>name</em> is a null string.
+<p> <p>See also <a href="#heuristicNameMatch">heuristicNameMatch</a>().
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codecForTr"></a>QTextCodec::codecForTr ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the codec used by <a href="qobject.html#tr">QObject::tr</a>() on its argument. If this
+function returns 0 (the default), tr() assumes Latin-1.
+<p> <p>See also <a href="#setCodecForTr">setCodecForTr</a>().
+
+<h3 class=fn>void <a name="deleteAllCodecs"></a>QTextCodec::deleteAllCodecs ()<tt> [static]</tt>
+</h3>
+Deletes all the created codecs.
+<p> <b>Warning:</b> Do not call this function.
+<p> <a href="qapplication.html">QApplication</a> calls this function just before exiting to delete
+any QTextCodec objects that may be lying around. Since various
+other classes hold pointers to QTextCodec objects, it is not safe
+to call this function earlier.
+<p> If you are using the utility classes (like <a href="qstring.html">QString</a>) but not using
+QApplication, calling this function at the very end of your
+application may be helpful for chasing down memory leaks by
+eliminating any QTextCodec objects.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="fromUnicode"></a>QTextCodec::fromUnicode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const<tt> [virtual]</tt>
+</h3>
+QTextCodec subclasses must reimplement either this function or
+<a href="#makeEncoder">makeEncoder</a>(). It converts the first <em>lenInOut</em> characters of <em>uc</em> from Unicode to the encoding of the subclass. If <em>lenInOut</em> is
+negative or too large, the length of <em>uc</em> is used instead.
+<p> Converts <em>lenInOut</em> characters (not bytes) from <em>uc</em>, producing
+a <a href="qcstring.html">QCString</a>. <em>lenInOut</em> will be set to the <a href="qcstring.html#length">length</a> of the result (in bytes).
+<p> The default implementation makes an encoder with makeEncoder() and
+converts the input with that. Note that the default makeEncoder()
+implementation makes an encoder that simply calls this function,
+hence subclasses <em>must</em> reimplement one function or the other to
+avoid infinite recursion.
+
+<p>Reimplemented in <a href="qhebrewcodec.html#fromUnicode">QHebrewCodec</a>.
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="fromUnicode-2"></a>QTextCodec::fromUnicode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uc ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>uc</em> is the unicode source string.
+
+<h3 class=fn>int <a name="heuristicContentMatch"></a>QTextCodec::heuristicContentMatch ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> QTextCodec subclasses must reimplement this function. It examines
+the first <em>len</em> bytes of <em>chars</em> and returns a value indicating
+how likely it is that the string is a prefix of text encoded in
+the encoding of the subclass. A negative return value indicates
+that the text is detectably not in the encoding (e.g. it contains
+characters undefined in the encoding). A return value of 0
+indicates that the text should be decoded with this codec rather
+than as ASCII, but there is no particular evidence. The value
+should range up to <em>len</em>. Thus, most decoders will return -1, 0,
+or -<em>len</em>.
+<p> The characters are not null terminated.
+<p> <p>See also <a href="#codecForContent">codecForContent</a>().
+
+<h3 class=fn>int <a name="heuristicNameMatch"></a>QTextCodec::heuristicNameMatch ( const&nbsp;char&nbsp;*&nbsp;hint ) const<tt> [virtual]</tt>
+</h3>
+Returns a value indicating how likely it is that this decoder is
+appropriate for decoding some format that has the given name. The
+name is compared with the <em>hint</em>.
+<p> A good match returns a positive number around the length of the
+string. A bad match is negative.
+<p> The default implementation calls <a href="#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>() with
+the name of the codec.
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="loadCharmap"></a>QTextCodec::loadCharmap ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;iod )<tt> [static]</tt>
+</h3>
+Reads a POSIX2 charmap definition from <em>iod</em>.
+The parser recognizes the following lines:
+<p> <font name="sans">
+&nbsp;&nbsp;&lt;code_set_name&gt; <i>name</i></br>
+&nbsp;&nbsp;&lt;escape_char&gt; <i>character</i></br>
+&nbsp;&nbsp;% alias <i>alias</i></br>
+&nbsp;&nbsp;CHARMAP</br>
+&nbsp;&nbsp;&lt;<i>token</i>&gt; /x<i>hexbyte</i> &lt;U<i>unicode</i>&gt; ...</br>
+&nbsp;&nbsp;&lt;<i>token</i>&gt; /d<i>decbyte</i> &lt;U<i>unicode</i>&gt; ...</br>
+&nbsp;&nbsp;&lt;<i>token</i>&gt; /<i>octbyte</i> &lt;U<i>unicode</i>&gt; ...</br>
+&nbsp;&nbsp;&lt;<i>token</i>&gt; /<i>any</i>/<i>any</i>... &lt;U<i>unicode</i>&gt; ...</br>
+&nbsp;&nbsp;END CHARMAP</br>
+</font>
+<p> The resulting QTextCodec is returned (and also added to the global
+list of codecs). The <a href="#name">name</a>() of the result is taken from the
+code_set_name.
+<p> Note that a codec constructed in this way uses much more memory
+and is slower than a hand-written QTextCodec subclass, since
+tables in code are kept in memory shared by all Qt applications.
+<p> <p>See also <a href="#loadCharmapFile">loadCharmapFile</a>().
+
+<p>Example: <a href="qwerty-example.html#x394">qwerty/qwerty.cpp</a>.
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="loadCharmapFile"></a>QTextCodec::loadCharmapFile ( <a href="qstring.html">QString</a>&nbsp;filename )<tt> [static]</tt>
+</h3>
+A convenience function for <a href="#loadCharmap">loadCharmap</a>() that loads the charmap
+definition from the file <em>filename</em>.
+
+<h3 class=fn>const char * <a name="locale"></a>QTextCodec::locale ()<tt> [static]</tt>
+</h3>
+Returns a string representing the current language and
+sublanguage, e.g. "pt" for Portuguese, or "pt_br" for Portuguese/Brazil.
+
+<p>Example: <a href="i18n-example.html#x1949">i18n/main.cpp</a>.
+<h3 class=fn><a href="qtextdecoder.html">QTextDecoder</a>&nbsp;* <a name="makeDecoder"></a>QTextCodec::makeDecoder () const<tt> [virtual]</tt>
+</h3>
+Creates a <a href="qtextdecoder.html">QTextDecoder</a> which stores enough state to decode chunks
+of char* data to create chunks of Unicode data. The default
+implementation creates a stateless decoder, which is only
+sufficient for the simplest encodings where each byte corresponds
+to exactly one Unicode character.
+<p> The caller is responsible for deleting the returned object.
+
+<h3 class=fn><a href="qtextencoder.html">QTextEncoder</a>&nbsp;* <a name="makeEncoder"></a>QTextCodec::makeEncoder () const<tt> [virtual]</tt>
+</h3>
+Creates a <a href="qtextencoder.html">QTextEncoder</a> which stores enough state to encode chunks
+of Unicode data as char* data. The default implementation creates
+a stateless encoder, which is only sufficient for the simplest
+encodings where each Unicode character corresponds to exactly one
+character.
+<p> The caller is responsible for deleting the returned object.
+
+<h3 class=fn>int <a name="mibEnum"></a>QTextCodec::mibEnum () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Subclasses of QTextCodec must reimplement this function. It
+returns the MIBenum (see <a href="http://www.iana.org/assignments/character-sets">the
+ IANA character-sets encoding file</a> for more information).
+It is important that each QTextCodec subclass returns the correct
+unique value for this function.
+
+<p>Reimplemented in <a href="qeucjpcodec.html#mibEnum">QEucJpCodec</a>.
+<h3 class=fn>const char * <a name="mimeName"></a>QTextCodec::mimeName () const<tt> [virtual]</tt>
+</h3>
+Returns the preferred mime name of the encoding as defined in the
+<a href="http://www.iana.org/assignments/character-sets">IANA character-sets encoding file</a>.
+
+<p>Reimplemented in <a href="qeucjpcodec.html#mimeName">QEucJpCodec</a>, <a href="qeuckrcodec.html#mimeName">QEucKrCodec</a>, <a href="qjiscodec.html#mimeName">QJisCodec</a>, <a href="qhebrewcodec.html#mimeName">QHebrewCodec</a>, and <a href="qsjiscodec.html#mimeName">QSjisCodec</a>.
+<h3 class=fn>const char * <a name="name"></a>QTextCodec::name () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> QTextCodec subclasses must reimplement this function. It returns
+the name of the encoding supported by the subclass. When choosing
+a name for an encoding, consider these points:
+<ul>
+<li> On X11, <a href="#heuristicNameMatch">heuristicNameMatch</a>( const char * hint )
+is used to test if a the QTextCodec
+can convert between Unicode and the encoding of a font
+with encoding <em>hint</em>, such as "iso8859-1" for Latin-1 fonts,
+"koi8-r" for Russian KOI8 fonts.
+The default algorithm of heuristicNameMatch() uses <a href="#name">name</a>().
+<li> Some applications may use this function to present
+encodings to the end user.
+</ul>
+
+<p>Example: <a href="qwerty-example.html#x395">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="setCodecForCStrings"></a>QTextCodec::setCodecForCStrings ( <a href="qtextcodec.html">QTextCodec</a>&nbsp;*&nbsp;c )<tt> [static]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+
+<p> Sets the codec used by <a href="qstring.html">QString</a> to convert to and from const char*
+and QCStrings. If <em>c</em> is 0 (the default), QString assumes Latin-1.
+<p> <b>Warning:</b> Some codecs do not preserve the characters in the ascii
+range (0x00 to 0x7f). For example, the Japanese Shift-JIS
+encoding maps the backslash character (0x5a) to the Yen character.
+This leads to unexpected results when using the backslash
+character to escape characters in strings used in e.g. regular
+expressions. Use <a href="qstring.html#fromLatin1">QString::fromLatin1</a>() to preserve characters in
+the ascii range when needed.
+<p> <p>See also <a href="#codecForCStrings">codecForCStrings</a>() and <a href="#setCodecForTr">setCodecForTr</a>().
+
+<h3 class=fn>void <a name="setCodecForLocale"></a>QTextCodec::setCodecForLocale ( <a href="qtextcodec.html">QTextCodec</a>&nbsp;*&nbsp;c )<tt> [static]</tt>
+</h3>
+Set the codec to <em>c</em>; this will be returned by <a href="#codecForLocale">codecForLocale</a>().
+This might be needed for some applications that want to use their
+own mechanism for setting the locale.
+<p> <p>See also <a href="#codecForLocale">codecForLocale</a>().
+
+<h3 class=fn>void <a name="setCodecForTr"></a>QTextCodec::setCodecForTr ( <a href="qtextcodec.html">QTextCodec</a>&nbsp;*&nbsp;c )<tt> [static]</tt>
+</h3><p><b>Warning:</b> This function is <i>not</i> <a href="threads.html#reentrant">reentrant</a>.</p>
+
+
+
+<p> Sets the codec used by <a href="qobject.html#tr">QObject::tr</a>() on its argument to <em>c</em>. If
+<em>c</em> is 0 (the default), tr() assumes Latin-1.
+<p> If the literal quoted text in the program is not in the Latin-1
+encoding, this function can be used to set the appropriate
+encoding. For example, software developed by Korean programmers
+might use eucKR for all the text in the program, in which case the
+main() function might look like this:
+<p> <pre>
+ int main(int argc, char** argv)
+ {
+ <a href="qapplication.html">QApplication</a> app(argc, argv);
+ ... install any additional codecs ...
+ QTextCodec::<a href="#setCodecForTr">setCodecForTr</a>( QTextCodec::<a href="#codecForName">codecForName</a>("eucKR") );
+ ...
+ }
+ </pre>
+
+<p> Note that this is not the way to select the encoding that the <em>user</em> has chosen. For example, to convert an application containing
+literal English strings to Korean, all that is needed is for the
+English strings to be passed through tr() and for translation
+files to be loaded. For details of <a href="i18n.html#internationalization">internationalization</a>, see the
+<a href="i18n.html">Qt internationalization documentation</a>.
+<p> <p>See also <a href="#codecForTr">codecForTr</a>() and <a href="#setCodecForCStrings">setCodecForCStrings</a>().
+
+<h3 class=fn>int <a name="simpleHeuristicNameMatch"></a>QTextCodec::simpleHeuristicNameMatch ( const&nbsp;char&nbsp;*&nbsp;name, const&nbsp;char&nbsp;*&nbsp;hint )<tt> [static protected]</tt>
+</h3>
+A simple utility function for <a href="#heuristicNameMatch">heuristicNameMatch</a>(): it does some
+very minor character-skipping so that almost-exact matches score
+high. <em>name</em> is the text we're matching and <em>hint</em> is used for
+the comparison.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode"></a>QTextCodec::toUnicode ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len ) const<tt> [virtual]</tt>
+</h3>
+QTextCodec subclasses must reimplement this function or
+<a href="#makeDecoder">makeDecoder</a>(). It converts the first <em>len</em> characters of <em>chars</em>
+to Unicode.
+<p> The default implementation makes a decoder with makeDecoder() and
+converts the input with that. Note that the default makeDecoder()
+implementation makes a decoder that simply calls
+this function, hence subclasses <em>must</em> reimplement one function or
+the other to avoid infinite recursion.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode-2"></a>QTextCodec::toUnicode ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;a, int&nbsp;len ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> contains the source characters; <em>len</em> contains the number of
+characters in <em>a</em> to use.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode-3"></a>QTextCodec::toUnicode ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;a ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> contains the source characters.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode-4"></a>QTextCodec::toUnicode ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;a, int&nbsp;len ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> contains the source characters; <em>len</em> contains the number of
+characters in <em>a</em> to use.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode-5"></a>QTextCodec::toUnicode ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;a ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>a</em> contains the source characters.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode-6"></a>QTextCodec::toUnicode ( const&nbsp;char&nbsp;*&nbsp;chars ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <em>chars</em> contains the source characters.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodecplugin-h.html b/doc/html/qtextcodecplugin-h.html
new file mode 100644
index 0000000..3432e5b
--- /dev/null
+++ b/doc/html/qtextcodecplugin-h.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodecplugin.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextcodecplugin.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextcodecplugin.h</h1>
+
+<p>This is the verbatim text of the qtextcodecplugin.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextcodecplugin.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QTextCodecPlugin class
+**
+** Created : 010920
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTCODECPLUGIN_H
+#define QTEXTCODECPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTCODECPLUGIN
+class QTextCodec;
+class QTextCodecPluginPrivate;
+
+class Q_EXPORT QTextCodecPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QTextCodecPlugin();
+ ~QTextCodecPlugin();
+
+ virtual QStringList names() const = 0;
+ virtual QTextCodec *createForName( const QString &amp;name ) = 0;
+
+ virtual QValueList&lt;int&gt; mibEnums() const = 0;
+ virtual QTextCodec *createForMib( int mib ) = 0;
+
+private:
+ QTextCodecPluginPrivate *d;
+};
+#endif // QT_NO_TEXTCODECPLUGIN
+#endif // QTEXTCODECPLUGIN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodecplugin-members.html b/doc/html/qtextcodecplugin-members.html
new file mode 100644
index 0000000..d25412e
--- /dev/null
+++ b/doc/html/qtextcodecplugin-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodecplugin.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextCodecPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextCodecPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextcodecplugin.html">QTextCodecPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodecplugin.html#QTextCodecPlugin">QTextCodecPlugin</a>()
+<li><a href="qtextcodecplugin.html#~QTextCodecPlugin">~QTextCodecPlugin</a>()
+<li><a href="qtextcodecplugin.html#createForMib">createForMib</a>()
+<li><a href="qtextcodecplugin.html#createForName">createForName</a>()
+<li><a href="qtextcodecplugin.html#mibEnums">mibEnums</a>()
+<li><a href="qtextcodecplugin.html#names">names</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextcodecplugin.html b/doc/html/qtextcodecplugin.html
new file mode 100644
index 0000000..4b8c1e8
--- /dev/null
+++ b/doc/html/qtextcodecplugin.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qtextcodecplugin.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextCodecPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextCodecPlugin Class Reference</h1>
+
+<p>The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextcodecplugin-h.html">qtextcodecplugin.h</a>&gt;</tt>
+<p><a href="qtextcodecplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTextCodecPlugin"><b>QTextCodecPlugin</b></a> ()</li>
+<li class=fn><a href="#~QTextCodecPlugin"><b>~QTextCodecPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#names"><b>names</b></a> () const = 0</li>
+<li class=fn>virtual QTextCodec * <a href="#createForName"><b>createForName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) = 0</li>
+<li class=fn>virtual QValueList&lt;int&gt; <a href="#mibEnums"><b>mibEnums</b></a> () const = 0</li>
+<li class=fn>virtual QTextCodec * <a href="#createForMib"><b>createForMib</b></a> ( int&nbsp;mib ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextCodecPlugin class provides an abstract base for custom <a href="qtextcodec.html">QTextCodec</a> plugins.
+
+
+<p> The text codec plugin is a simple plugin interface that makes it
+easy to create custom text codecs that can be loaded dynamically
+into applications.
+<p> Writing a text codec plugin is achieved by subclassing this base
+class, reimplementing the pure virtual functions <a href="#names">names</a>(),
+<a href="#createForName">createForName</a>(), <a href="#mibEnums">mibEnums</a>() and <a href="#createForMib">createForMib</a>(), and exporting the
+class with the <tt>Q_EXPORT_PLUGIN</tt> macro. See the <a href="plugins-howto.html">Qt Plugins documentation</a> for details.
+<p> See the <a href="http://www.iana.org/assignments/character-sets">IANA
+ character-sets encoding file</a> for more information on mime
+names and mib enums.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextCodecPlugin"></a>QTextCodecPlugin::QTextCodecPlugin ()
+</h3>
+Constructs a text codec plugin. This is invoked automatically by
+the <tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QTextCodecPlugin"></a>QTextCodecPlugin::~QTextCodecPlugin ()
+</h3>
+Destroys the text codec plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="createForMib"></a>QTextCodecPlugin::createForMib ( int&nbsp;mib )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates a <a href="qtextcodec.html">QTextCodec</a> object for the mib enum <em>mib</em>.
+<p> (See <a href="ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets">the
+ IANA character-sets encoding file</a> for more information)
+<p> <p>See also <a href="#mibEnums">mibEnums</a>().
+
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="createForName"></a>QTextCodecPlugin::createForName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates a <a href="qtextcodec.html">QTextCodec</a> object for the codec called <em>name</em>.
+<p> <p>See also <a href="#names">names</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;int&gt; <a name="mibEnums"></a>QTextCodecPlugin::mibEnums () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of mib enums supported by this plugin.
+<p> <p>See also <a href="#createForMib">createForMib</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="names"></a>QTextCodecPlugin::names () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of mime names supported by this plugin.
+<p> <p>See also <a href="#createForName">createForName</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextdecoder-members.html b/doc/html/qtextdecoder-members.html
new file mode 100644
index 0000000..2ef2423
--- /dev/null
+++ b/doc/html/qtextdecoder-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodec.h:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextDecoder Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextDecoder</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextdecoder.html">QTextDecoder</a>, including inherited members.
+
+<ul>
+<li><a href="qtextdecoder.html#~QTextDecoder">~QTextDecoder</a>()
+<li><a href="qtextdecoder.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextdecoder.html b/doc/html/qtextdecoder.html
new file mode 100644
index 0000000..1c706bb
--- /dev/null
+++ b/doc/html/qtextdecoder.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qtextcodec.cpp:1191 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextDecoder Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextDecoder Class Reference</h1>
+
+<p>The QTextDecoder class provides a state-based decoder.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;</tt>
+<p><a href="qtextdecoder-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QTextDecoder"><b>~QTextDecoder</b></a> ()</li>
+<li class=fn>virtual QString <a href="#toUnicode"><b>toUnicode</b></a> ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextDecoder class provides a state-based decoder.
+
+
+<p> The decoder converts a text format into Unicode, remembering any
+state that is required between calls.
+<p> <p>See also <a href="qtextcodec.html#makeEncoder">QTextCodec::makeEncoder</a>() and <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="~QTextDecoder"></a>QTextDecoder::~QTextDecoder ()<tt> [virtual]</tt>
+</h3>
+Destroys the decoder.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toUnicode"></a>QTextDecoder::toUnicode ( const&nbsp;char&nbsp;*&nbsp;chars, int&nbsp;len )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Converts the first <em>len</em> bytes in <em>chars</em> to Unicode, returning
+the result.
+<p> If not all characters are used (e.g. if only part of a multi-byte
+encoding is at the end of the characters), the decoder remembers
+enough state to continue with the next call to this function.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextdrag-members.html b/doc/html/qtextdrag-members.html
new file mode 100644
index 0000000..715a007
--- /dev/null
+++ b/doc/html/qtextdrag-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:113 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextdrag.html">QTextDrag</a>, including inherited members.
+
+<ul>
+<li><a href="qtextdrag.html#QTextDrag">QTextDrag</a>()
+<li><a href="qtextdrag.html#~QTextDrag">~QTextDrag</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtextdrag.html#canDecode">canDecode</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qtextdrag.html#decode">decode</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qmimesource.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtextdrag.html#setSubtype">setSubtype</a>()
+<li><a href="qtextdrag.html#setText">setText</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextdrag.html b/doc/html/qtextdrag.html
new file mode 100644
index 0000000..62bec90
--- /dev/null
+++ b/doc/html/qtextdrag.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:676 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextDrag Class Reference</h1>
+
+<p>The QTextDrag class is a drag and drop object for
+transferring plain and Unicode text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qdragobject.html">QDragObject</a>.
+<p><a href="qtextdrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTextDrag"><b>QTextDrag</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QTextDrag-2"><b>QTextDrag</b></a> ( QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTextDrag"><b>~QTextDrag</b></a> ()</li>
+<li class=fn>virtual void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>virtual void <a href="#setSubtype"><b>setSubtype</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;st )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#canDecode"><b>canDecode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e )</li>
+<li class=fn>bool <a href="#decode"><b>decode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>bool <a href="#decode-2"><b>decode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QString&nbsp;&amp;&nbsp;str, QCString&nbsp;&amp;&nbsp;subtype )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QTextDrag class is a drag and drop object for
+transferring plain and Unicode text.
+<p>
+<p> Plain text is passed in a <a href="qstring.html">QString</a> which may contain multiple lines
+(i.e. may contain newline characters). The drag target will receive
+the newlines according to the runtime environment, e.g. LF on Unix,
+and CRLF on Windows.
+<p> Qt provides no built-in mechanism for delivering only a single-line.
+<p> For more information about drag and drop, see the <a href="qdragobject.html">QDragObject</a> class
+and the <a href="dnd.html">drag and drop documentation</a>.
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextDrag"></a>QTextDrag::QTextDrag ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a text drag object and sets its data to <em>text</em>. <em>dragSource</em> must be the drag source; <em>name</em> is the object name.
+
+<h3 class=fn><a name="QTextDrag-2"></a>QTextDrag::QTextDrag ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a default text drag object. <em>dragSource</em> must be the
+drag source; <em>name</em> is the object name.
+
+<h3 class=fn><a name="~QTextDrag"></a>QTextDrag::~QTextDrag ()
+</h3>
+Destroys the text drag object and frees up all allocated
+resources.
+
+<h3 class=fn>bool <a name="canDecode"></a>QTextDrag::canDecode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e )<tt> [static]</tt>
+</h3>
+Returns TRUE if the information in <em>e</em> can be decoded into a
+<a href="qstring.html">QString</a>; otherwise returns FALSE.
+<p> <p>See also <a href="#decode">decode</a>().
+
+<p>Example: <a href="simple_dd-example.html#x2827">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>bool <a name="decode"></a>QTextDrag::decode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )<tt> [static]</tt>
+</h3>
+Attempts to decode the dropped information in <em>e</em> into <em>str</em>.
+Returns TRUE if successful; otherwise returns FALSE.
+<p> <p>See also <a href="#canDecode">canDecode</a>().
+
+<p>Example: <a href="simple_dd-example.html#x2828">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>bool <a name="decode-2"></a>QTextDrag::decode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, <a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;subtype )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Attempts to decode the dropped information in <em>e</em> into <em>str</em>.
+Returns TRUE if successful; otherwise returns FALSE. If <em>subtype</em>
+is null, any text subtype is accepted; otherwise only the
+specified <em>subtype</em> is accepted.
+<p> <p>See also <a href="#canDecode">canDecode</a>().
+
+<h3 class=fn>void <a name="setSubtype"></a>QTextDrag::setSubtype ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;st )<tt> [virtual]</tt>
+</h3>
+Sets the MIME subtype of the text being dragged to <em>st</em>. The
+default subtype is "plain", so the default MIME type of the text
+is "text/plain". You might use this to declare that the text is
+"text/html" by calling <a href="#setSubtype">setSubtype</a>("html").
+
+<h3 class=fn>void <a name="setText"></a>QTextDrag::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual]</tt>
+</h3>
+Sets the text to be dragged to <em>text</em>. You will need to call this
+if you did not pass the text during construction.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextedit-h.html b/doc/html/qtextedit-h.html
new file mode 100644
index 0000000..f388a17
--- /dev/null
+++ b/doc/html/qtextedit-h.html
@@ -0,0 +1,658 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextedit.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextedit.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextedit.h</h1>
+
+<p>This is the verbatim text of the qtextedit.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextedit.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of the QTextEdit class
+**
+** Created : 990101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTEDIT_H
+#define QTEXTEDIT_H
+
+#ifndef QT_H
+#include "qscrollview.h"
+#include "qstylesheet.h"
+#include "qptrvector.h"
+#include "qvaluelist.h"
+#include "qptrlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTEDIT
+// uncomment below to enable optimization mode - also uncomment the
+// optimDoAutoScroll() private slot since moc ignores #ifdefs..
+#define QT_TEXTEDIT_OPTIMIZATION
+
+class QPainter;
+class QTextDocument;
+class QTextCursor;
+class QKeyEvent;
+class QResizeEvent;
+class QMouseEvent;
+class QTimer;
+class QTextString;
+class QTextCommand;
+class QTextParagraph;
+class QTextFormat;
+class QFont;
+class QColor;
+class QTextEdit;
+class QTextBrowser;
+class QTextString;
+struct QUndoRedoInfoPrivate;
+class QPopupMenu;
+class QTextEditPrivate;
+class QSyntaxHighlighter;
+
+#ifdef QT_TEXTEDIT_OPTIMIZATION
+class QTextEditOptimPrivate
+{
+public:
+ // Note: no left-tag has any value for leftTag or parent, and
+ // no right-tag has any formatting flags set.
+ enum TagType { Color = 0, Format = 1 };
+ struct Tag {
+ TagType type:2;
+ bool bold:1;
+ bool italic:1;
+ bool underline:1;
+ int line;
+ int index;
+ Tag * leftTag; // ptr to left-tag in a left-right tag pair
+ Tag * parent; // ptr to parent left-tag in a nested tag
+ Tag * prev;
+ Tag * next;
+ QString tag;
+ };
+ QTextEditOptimPrivate()
+ {
+ len = numLines = maxLineWidth = 0;
+ selStart.line = selStart.index = -1;
+ selEnd.line = selEnd.index = -1;
+ search.line = search.index = 0;
+ tags = lastTag = 0;
+ }
+ void clearTags()
+ {
+ Tag * itr = tags;
+ while ( tags ) {
+ itr = tags;
+ tags = tags-&gt;next;
+ delete itr;
+ }
+ tags = lastTag = 0;
+ tagIndex.clear();
+ }
+ ~QTextEditOptimPrivate()
+ {
+ clearTags();
+ }
+ int len;
+ int numLines;
+ int maxLineWidth;
+ struct Selection {
+ int line;
+ int index;
+ };
+ Selection selStart, selEnd, search;
+ Tag * tags, * lastTag;
+ QMap&lt;int, QString&gt; lines;
+ QMap&lt;int, Tag *&gt; tagIndex;
+};
+#endif
+
+class Q_EXPORT QTextEdit : public QScrollView
+{
+ friend class QTextBrowser;
+ friend class QSyntaxHighlighter;
+
+ Q_OBJECT
+ Q_ENUMS( WordWrap WrapPolicy )
+ Q_SETS( AutoFormatting )
+ Q_PROPERTY( TextFormat textFormat READ textFormat WRITE setTextFormat )
+ Q_PROPERTY( QString text READ text WRITE setText )
+ Q_PROPERTY( QBrush paper READ paper WRITE setPaper )
+ Q_PROPERTY( bool linkUnderline READ linkUnderline WRITE setLinkUnderline )
+ Q_PROPERTY( QString documentTitle READ documentTitle )
+ Q_PROPERTY( int length READ length )
+ Q_PROPERTY( WordWrap wordWrap READ wordWrap WRITE setWordWrap )
+ Q_PROPERTY( int wrapColumnOrWidth READ wrapColumnOrWidth WRITE setWrapColumnOrWidth )
+ Q_PROPERTY( WrapPolicy wrapPolicy READ wrapPolicy WRITE setWrapPolicy )
+ Q_PROPERTY( bool hasSelectedText READ hasSelectedText )
+ Q_PROPERTY( QString selectedText READ selectedText )
+ Q_PROPERTY( int undoDepth READ undoDepth WRITE setUndoDepth )
+ Q_PROPERTY( bool overwriteMode READ isOverwriteMode WRITE setOverwriteMode )
+ Q_PROPERTY( bool modified READ isModified WRITE setModified DESIGNABLE false )
+ Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
+ Q_PROPERTY( bool undoRedoEnabled READ isUndoRedoEnabled WRITE setUndoRedoEnabled )
+ Q_PROPERTY( int tabStopWidth READ tabStopWidth WRITE setTabStopWidth )
+ Q_PROPERTY( bool tabChangesFocus READ tabChangesFocus WRITE setTabChangesFocus )
+ Q_PROPERTY( AutoFormatting autoFormatting READ autoFormatting WRITE setAutoFormatting )
+
+public:
+ enum WordWrap {
+ NoWrap,
+ WidgetWidth,
+ FixedPixelWidth,
+ FixedColumnWidth
+ };
+
+ enum WrapPolicy {
+ AtWordBoundary,
+ AtWhiteSpace = AtWordBoundary, // AtWhiteSpace is deprecated
+ Anywhere,
+ AtWordOrDocumentBoundary
+ };
+
+ enum AutoFormatting {
+ AutoNone = 0,
+ AutoBulletList = 0x00000001,
+ AutoAll = 0xffffffff
+ };
+
+ enum KeyboardAction {
+ ActionBackspace,
+ ActionDelete,
+ ActionReturn,
+ ActionKill,
+ ActionWordBackspace,
+ ActionWordDelete
+ };
+
+ enum CursorAction {
+ MoveBackward,
+ MoveForward,
+ MoveWordBackward,
+ MoveWordForward,
+ MoveUp,
+ MoveDown,
+ MoveLineStart,
+ MoveLineEnd,
+ MoveHome,
+ MoveEnd,
+ MovePgUp,
+ MovePgDown
+ };
+
+ enum VerticalAlignment {
+ AlignNormal,
+ AlignSuperScript,
+ AlignSubScript
+ };
+
+ enum TextInsertionFlags {
+ RedoIndentation = 0x0001,
+ CheckNewLines = 0x0002,
+ RemoveSelected = 0x0004
+ };
+
+ QTextEdit( const QString&amp; text, const QString&amp; context = QString::null,
+ QWidget* parent=0, const char* name=0);
+ QTextEdit( QWidget* parent=0, const char* name=0 );
+ virtual ~QTextEdit();
+ void setPalette( const QPalette &amp; );
+
+ QString text() const;
+ QString text( int para ) const;
+ TextFormat textFormat() const;
+ QString context() const;
+ QString documentTitle() const;
+
+ void getSelection( int *paraFrom, int *indexFrom,
+ int *paraTo, int *indexTo, int selNum = 0 ) const;
+ virtual bool find( const QString &amp;expr, bool cs, bool wo, bool forward = TRUE,
+ int *para = 0, int *index = 0 );
+
+ int paragraphs() const;
+ int lines() const;
+ int linesOfParagraph( int para ) const;
+ int lineOfChar( int para, int chr );
+ int length() const;
+ QRect paragraphRect( int para ) const;
+ int paragraphAt( const QPoint &amp;pos ) const;
+ int charAt( const QPoint &amp;pos, int *para ) const;
+ int paragraphLength( int para ) const;
+
+ QStyleSheet* styleSheet() const;
+#ifndef QT_NO_MIME
+ QMimeSourceFactory* mimeSourceFactory() const;
+#endif
+ QBrush paper() const;
+ bool linkUnderline() const;
+
+ int heightForWidth( int w ) const;
+
+ bool hasSelectedText() const;
+ QString selectedText() const;
+ bool isUndoAvailable() const;
+ bool isRedoAvailable() const;
+
+ WordWrap wordWrap() const;
+ int wrapColumnOrWidth() const;
+ WrapPolicy wrapPolicy() const;
+
+ int tabStopWidth() const;
+
+ QString anchorAt( const QPoint&amp; pos );
+ QString anchorAt( const QPoint&amp; pos, AnchorAttribute a );
+
+ QSize sizeHint() const;
+
+ bool isReadOnly() const { return readonly; }
+
+ void getCursorPosition( int *parag, int *index ) const;
+
+ bool isModified() const;
+ bool italic() const;
+ bool bold() const;
+ bool underline() const;
+ QString family() const;
+ int pointSize() const;
+ QColor color() const;
+ QFont font() const;
+ QFont currentFont() const;
+ int alignment() const;
+ int undoDepth() const;
+
+ // do not use, will go away
+ virtual bool getFormat( int para, int index, QFont *font, QColor *color, VerticalAlignment *verticalAlignment );
+ // do not use, will go away
+ virtual bool getParagraphFormat( int para, QFont *font, QColor *color,
+ VerticalAlignment *verticalAlignment, int *alignment,
+ QStyleSheetItem::DisplayMode *displayMode,
+ QStyleSheetItem::ListStyle *listStyle,
+ int *listDepth );
+
+
+ bool isOverwriteMode() const { return overWrite; }
+ QColor paragraphBackgroundColor( int para ) const;
+
+ bool isUndoRedoEnabled() const;
+ bool eventFilter( QObject *o, QEvent *e );
+ bool tabChangesFocus() const;
+
+ void setAutoFormatting( uint features );
+ uint autoFormatting() const;
+ QSyntaxHighlighter *syntaxHighlighter() const;
+
+public slots:
+ void setEnabled( bool );
+#ifndef QT_NO_MIME
+ virtual void setMimeSourceFactory( QMimeSourceFactory* factory );
+#endif
+ virtual void setStyleSheet( QStyleSheet* styleSheet );
+ virtual void scrollToAnchor( const QString&amp; name );
+ virtual void setPaper( const QBrush&amp; pap );
+ virtual void setLinkUnderline( bool );
+
+ virtual void setWordWrap( WordWrap mode );
+ virtual void setWrapColumnOrWidth( int );
+ virtual void setWrapPolicy( WrapPolicy policy );
+
+ virtual void copy();
+ virtual void append( const QString&amp; text );
+
+ void setText( const QString &amp;txt ) { setText( txt, QString::null ); }
+ virtual void setText( const QString &amp;txt, const QString &amp;context );
+ virtual void setTextFormat( TextFormat f );
+
+ virtual void selectAll( bool select = TRUE );
+ virtual void setTabStopWidth( int ts );
+ virtual void zoomIn( int range );
+ virtual void zoomIn() { zoomIn( 1 ); }
+ virtual void zoomOut( int range );
+ virtual void zoomOut() { zoomOut( 1 ); }
+ virtual void zoomTo( int size );
+
+ virtual void sync();
+ virtual void setReadOnly( bool b );
+
+ virtual void undo();
+ virtual void redo();
+ virtual void cut();
+ virtual void paste();
+#ifndef QT_NO_CLIPBOARD
+ virtual void pasteSubType( const QCString &amp;subtype );
+#endif
+ virtual void clear();
+ virtual void del();
+ virtual void indent();
+ virtual void setItalic( bool b );
+ virtual void setBold( bool b );
+ virtual void setUnderline( bool b );
+ virtual void setFamily( const QString &amp;f );
+ virtual void setPointSize( int s );
+ virtual void setColor( const QColor &amp;c );
+ virtual void setFont( const QFont &amp;f );
+ virtual void setVerticalAlignment( VerticalAlignment a );
+ virtual void setAlignment( int a );
+
+ // do not use, will go away
+ virtual void setParagType( QStyleSheetItem::DisplayMode dm, QStyleSheetItem::ListStyle listStyle );
+
+ virtual void setCursorPosition( int parag, int index );
+ virtual void setSelection( int parag_from, int index_from, int parag_to, int index_to, int selNum = 0 );
+ virtual void setSelectionAttributes( int selNum, const QColor &amp;back, bool invertText );
+ virtual void setModified( bool m );
+ virtual void resetFormat();
+ virtual void setUndoDepth( int d );
+ virtual void setFormat( QTextFormat *f, int flags );
+ virtual void ensureCursorVisible();
+ virtual void placeCursor( const QPoint &amp;pos, QTextCursor *c = 0 );
+ virtual void moveCursor( CursorAction action, bool select );
+ virtual void doKeyboardAction( KeyboardAction action );
+ virtual void removeSelectedText( int selNum = 0 );
+ virtual void removeSelection( int selNum = 0 );
+ virtual void setCurrentFont( const QFont &amp;f );
+ virtual void setOverwriteMode( bool b ) { overWrite = b; }
+
+ virtual void scrollToBottom();
+
+ void insert( const QString &amp;text, uint insertionFlags = CheckNewLines | RemoveSelected ); // ## virtual in 4.0
+
+ // obsolete
+ virtual void insert( const QString &amp;text, bool, bool = TRUE, bool = TRUE );
+
+ virtual void insertAt( const QString &amp;text, int para, int index );
+ virtual void removeParagraph( int para );
+ virtual void insertParagraph( const QString &amp;text, int para );
+
+ virtual void setParagraphBackgroundColor( int para, const QColor &amp;bg );
+ virtual void clearParagraphBackground( int para );
+
+ virtual void setUndoRedoEnabled( bool b );
+ void setTabChangesFocus( bool b ); // ### make virtual in 4.0
+
+#ifdef QT_TEXTEDIT_OPTIMIZATION
+ void polish();
+ void setMaxLogLines( int numLines );
+ int maxLogLines();
+#endif
+
+signals:
+ void textChanged();
+ void selectionChanged();
+ void copyAvailable( bool );
+ void undoAvailable( bool yes );
+ void redoAvailable( bool yes );
+ void currentFontChanged( const QFont &amp;f );
+ void currentColorChanged( const QColor &amp;c );
+ void currentAlignmentChanged( int a );
+ void currentVerticalAlignmentChanged( VerticalAlignment a );
+ void cursorPositionChanged( QTextCursor *c );
+ void cursorPositionChanged( int para, int pos );
+ void returnPressed();
+ void modificationChanged( bool m );
+ void clicked( int parag, int index );
+ void doubleClicked( int parag, int index );
+
+protected:
+ void repaintChanged();
+ void updateStyles();
+ void drawContents( QPainter *p, int cx, int cy, int cw, int ch );
+ bool event( QEvent *e );
+ void keyPressEvent( QKeyEvent *e );
+ void resizeEvent( QResizeEvent *e );
+ void viewportResizeEvent( QResizeEvent* );
+ void contentsMousePressEvent( QMouseEvent *e );
+ void contentsMouseMoveEvent( QMouseEvent *e );
+ void contentsMouseReleaseEvent( QMouseEvent *e );
+ void contentsMouseDoubleClickEvent( QMouseEvent *e );
+#ifndef QT_NO_WHEELEVENT
+ void contentsWheelEvent( QWheelEvent *e );
+#endif
+ void imStartEvent( QIMEvent * );
+ void imComposeEvent( QIMEvent * );
+ void imEndEvent( QIMEvent * );
+#ifndef QT_NO_DRAGANDDROP
+ void contentsDragEnterEvent( QDragEnterEvent *e );
+ void contentsDragMoveEvent( QDragMoveEvent *e );
+ void contentsDragLeaveEvent( QDragLeaveEvent *e );
+ void contentsDropEvent( QDropEvent *e );
+#endif
+ void contentsContextMenuEvent( QContextMenuEvent *e );
+ bool focusNextPrevChild( bool next );
+ QTextDocument *document() const;
+ QTextCursor *textCursor() const;
+ void setDocument( QTextDocument *doc );
+ virtual QPopupMenu *createPopupMenu( const QPoint&amp; pos );
+ virtual QPopupMenu *createPopupMenu();
+ void drawCursor( bool visible );
+
+ void windowActivationChange( bool );
+
+protected slots:
+ virtual void doChangeInterval();
+ void sliderReleased(); // ### make virtual in 4.0
+#if (QT_VERSION &gt;= 0x040000)
+#error "Some functions need to be changed to virtual for Qt 4.0"
+#endif
+
+private slots:
+ void formatMore();
+ void doResize();
+ void autoScrollTimerDone();
+ void blinkCursor();
+ void setModified();
+ void startDrag();
+ void documentWidthChanged( int w );
+ void clipboardChanged();
+
+private:
+ struct Q_EXPORT UndoRedoInfo {
+ enum Type { Invalid, Insert, Delete, Backspace, Return, RemoveSelected, Format, Style, IME };
+
+ UndoRedoInfo( QTextDocument *dc );
+ ~UndoRedoInfo();
+ void clear();
+ bool valid() const;
+
+ QUndoRedoInfoPrivate *d;
+ int id;
+ int index;
+ int eid;
+ int eindex;
+ QTextFormat *format;
+ int flags;
+ Type type;
+ QTextDocument *doc;
+ QByteArray styleInformation;
+ };
+
+private:
+ void updateCursor( const QPoint &amp; pos );
+ void handleMouseMove( const QPoint&amp; pos );
+ void drawContents( QPainter * );
+ virtual bool linksEnabled() const { return FALSE; }
+ void init();
+ void checkUndoRedoInfo( UndoRedoInfo::Type t );
+ void updateCurrentFormat();
+ bool handleReadOnlyKeyEvent( QKeyEvent *e );
+ void makeParagVisible( QTextParagraph *p );
+ void normalCopy();
+ void copyToClipboard();
+#ifndef QT_NO_MIME
+ QCString pickSpecial(QMimeSource* ms, bool always_ask, const QPoint&amp;);
+ QTextDrag *dragObject( QWidget *parent = 0 ) const;
+#endif
+#ifndef QT_NO_MIMECLIPBOARD
+ void pasteSpecial(const QPoint&amp;);
+#endif
+ void setFontInternal( const QFont &amp;f );
+
+ virtual void emitHighlighted( const QString &amp; ) {}
+ virtual void emitLinkClicked( const QString &amp; ) {}
+
+ void readFormats( QTextCursor &amp;c1, QTextCursor &amp;c2, QTextString &amp;text, bool fillStyles = FALSE );
+ void clearUndoRedo();
+ void paintDocument( bool drawAll, QPainter *p, int cx = -1, int cy = -1, int cw = -1, int ch = -1 );
+ void moveCursor( CursorAction action );
+ void ensureFormatted( QTextParagraph *p );
+ void placeCursor( const QPoint &amp;pos, QTextCursor *c, bool link );
+ void updateMicroFocusHint();
+
+#ifdef QT_TEXTEDIT_OPTIMIZATION
+ bool checkOptimMode();
+ QString optimText() const;
+ void optimSetText( const QString &amp;str );
+ void optimAppend( const QString &amp;str );
+ void optimInsert( const QString &amp;str, int line, int index );
+ void optimDrawContents( QPainter * p, int cx, int cy, int cw, int ch );
+ void optimMousePressEvent( QMouseEvent * e );
+ void optimMouseReleaseEvent( QMouseEvent * e );
+ void optimMouseMoveEvent( QMouseEvent * e );
+ int optimCharIndex( const QString &amp;str, int mx ) const;
+ void optimSelectAll();
+ void optimRemoveSelection();
+ void optimSetSelection( int startLine, int startIdx, int endLine,
+ int endIdx );
+ bool optimHasSelection() const;
+ QString optimSelectedText() const;
+ bool optimFind( const QString &amp; str, bool, bool, bool, int *, int * );
+ void optimParseTags( QString * str, int lineNo = -1, int indexOffset = 0 );
+ QTextEditOptimPrivate::Tag * optimPreviousLeftTag( int line );
+ void optimSetTextFormat( QTextDocument *, QTextCursor *, QTextFormat * f,
+ int, int, QTextEditOptimPrivate::Tag * t );
+ QTextEditOptimPrivate::Tag * optimAppendTag( int index, const QString &amp; tag );
+ QTextEditOptimPrivate::Tag * optimInsertTag( int line, int index, const QString &amp; tag );
+ void optimCheckLimit( const QString&amp; str );
+ bool optimHasBoldMetrics( int line );
+
+private slots:
+ void optimDoAutoScroll();
+#endif // QT_TEXTEDIT_OPTIMIZATION
+
+private:
+#ifndef QT_NO_CLIPBOARD
+ void pasteSubType( const QCString &amp;subtype, QMimeSource *m );
+#endif
+
+private:
+ QTextDocument *doc;
+ QTextCursor *cursor;
+ QTimer *formatTimer, *scrollTimer, *changeIntervalTimer, *blinkTimer, *dragStartTimer;
+ QTextParagraph *lastFormatted;
+ int interval;
+ UndoRedoInfo undoRedoInfo;
+ QTextFormat *currentFormat;
+ int currentAlignment;
+ QPoint oldMousePos, mousePos;
+ QPoint dragStartPos;
+ QString onLink;
+ WordWrap wrapMode;
+ WrapPolicy wPolicy;
+ int wrapWidth;
+ QString pressedLink;
+ QTextEditPrivate *d;
+ bool inDoubleClick : 1;
+ bool mousePressed : 1;
+ bool cursorVisible : 1;
+ bool blinkCursorVisible : 1;
+ bool readOnly : 1;
+ bool modified : 1;
+ bool mightStartDrag : 1;
+ bool inDnD : 1;
+ bool readonly : 1;
+ bool undoEnabled : 1;
+ bool overWrite : 1;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTextEdit( const QTextEdit &amp; );
+ QTextEdit &amp;operator=( const QTextEdit &amp; );
+#endif
+};
+
+inline QTextDocument *QTextEdit::document() const
+{
+ return doc;
+}
+
+inline QTextCursor *QTextEdit::textCursor() const
+{
+ return cursor;
+}
+
+inline void QTextEdit::setCurrentFont( const QFont &amp;f )
+{
+ QTextEdit::setFontInternal( f );
+}
+
+#endif //QT_NO_TEXTEDIT
+#endif //QTEXTVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextedit-members.html b/doc/html/qtextedit-members.html
new file mode 100644
index 0000000..828807b
--- /dev/null
+++ b/doc/html/qtextedit-members.html
@@ -0,0 +1,544 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextedit.h:132 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextedit.html">QTextEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qtextedit.html#QTextEdit">QTextEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qtextedit.html#alignment">alignment</a>()
+<li><a href="qtextedit.html#anchorAt">anchorAt</a>()
+<li><a href="qtextedit.html#append">append</a>()
+<li><a href="qtextedit.html#autoFormatting">autoFormatting</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtextedit.html#bold">bold</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qtextedit.html#charAt">charAt</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtextedit.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtextedit.html#clearParagraphBackground">clearParagraphBackground</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtextedit.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qtextedit.html#color">color</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qtextedit.html#context">context</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtextedit.html#copy">copy</a>()
+<li><a href="qtextedit.html#copyAvailable">copyAvailable</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtextedit.html#createPopupMenu">createPopupMenu</a>()
+<li><a href="qtextedit.html#currentAlignmentChanged">currentAlignmentChanged</a>()
+<li><a href="qtextedit.html#currentColorChanged">currentColorChanged</a>()
+<li><a href="qtextedit.html#currentFont">currentFont</a>()
+<li><a href="qtextedit.html#currentFontChanged">currentFontChanged</a>()
+<li><a href="qtextedit.html#currentVerticalAlignmentChanged">currentVerticalAlignmentChanged</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qtextedit.html#cursorPositionChanged">cursorPositionChanged</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qtextedit.html#cut">cut</a>()
+<li><a href="qtextedit.html#del">del</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtextedit.html#doKeyboardAction">doKeyboardAction</a>()
+<li><a href="qtextedit.html#documentTitle">documentTitle</a>()
+<li><a href="qtextedit.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qtextedit.html#ensureCursorVisible">ensureCursorVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qtextedit.html#family">family</a>()
+<li><a href="qtextedit.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qtextedit.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qtextedit.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qtextedit.html#getCursorPosition">getCursorPosition</a>()
+<li><a href="qtextedit.html#getSelection">getSelection</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qtextedit.html#hasSelectedText">hasSelectedText</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qtextedit.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qtextedit.html#insert">insert</a>()
+<li><a href="qtextedit.html#insertAt">insertAt</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtextedit.html#insertParagraph">insertParagraph</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qtextedit.html#isModified">isModified</a>()
+<li><a href="qtextedit.html#isOverwriteMode">isOverwriteMode</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtextedit.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtextedit.html#isRedoAvailable">isRedoAvailable</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qtextedit.html#isUndoAvailable">isUndoAvailable</a>()
+<li><a href="qtextedit.html#isUndoRedoEnabled">isUndoRedoEnabled</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtextedit.html#italic">italic</a>()
+<li><a href="qtextedit.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qtextedit.html#length">length</a>()
+<li><a href="qtextedit.html#lineOfChar">lineOfChar</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qtextedit.html#lines">lines</a>()
+<li><a href="qtextedit.html#linesOfParagraph">linesOfParagraph</a>()
+<li><a href="qtextedit.html#linkUnderline">linkUnderline</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qtextedit.html#maxLogLines">maxLogLines</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qtextedit.html#modificationChanged">modificationChanged</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qtextedit.html#moveCursor">moveCursor</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qtextedit.html#paper">paper</a>()
+<li><a href="qtextedit.html#paragraphAt">paragraphAt</a>()
+<li><a href="qtextedit.html#paragraphBackgroundColor">paragraphBackgroundColor</a>()
+<li><a href="qtextedit.html#paragraphLength">paragraphLength</a>()
+<li><a href="qtextedit.html#paragraphRect">paragraphRect</a>()
+<li><a href="qtextedit.html#paragraphs">paragraphs</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtextedit.html#paste">paste</a>()
+<li><a href="qtextedit.html#pasteSubType">pasteSubType</a>()
+<li><a href="qtextedit.html#placeCursor">placeCursor</a>()
+<li><a href="qtextedit.html#pointSize">pointSize</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qtextedit.html#redo">redo</a>()
+<li><a href="qtextedit.html#redoAvailable">redoAvailable</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtextedit.html#removeParagraph">removeParagraph</a>()
+<li><a href="qtextedit.html#removeSelectedText">removeSelectedText</a>()
+<li><a href="qtextedit.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qtextedit.html#repaintChanged">repaintChanged</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qtextedit.html#returnPressed">returnPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtextedit.html#scrollToAnchor">scrollToAnchor</a>()
+<li><a href="qtextedit.html#scrollToBottom">scrollToBottom</a>()
+<li><a href="qtextedit.html#selectAll">selectAll</a>()
+<li><a href="qtextedit.html#selectedText">selectedText</a>()
+<li><a href="qtextedit.html#selectionChanged">selectionChanged</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qtextedit.html#setAlignment">setAlignment</a>()
+<li><a href="qtextedit.html#setAutoFormatting">setAutoFormatting</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qtextedit.html#setBold">setBold</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtextedit.html#setColor">setColor</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtextedit.html#setCurrentFont">setCurrentFont</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qtextedit.html#setCursorPosition">setCursorPosition</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qtextedit.html#setFamily">setFamily</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtextedit.html#setItalic">setItalic</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qtextedit.html#setLinkUnderline">setLinkUnderline</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qtextedit.html#setMaxLogLines">setMaxLogLines</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qtextedit.html#setMimeSourceFactory">setMimeSourceFactory</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qtextedit.html#setModified">setModified</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtextedit.html#setOverwriteMode">setOverwriteMode</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtextedit.html#setPaper">setPaper</a>()
+<li><a href="qtextedit.html#setParagraphBackgroundColor">setParagraphBackgroundColor</a>()
+<li><a href="qtextedit.html#setPointSize">setPointSize</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtextedit.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtextedit.html#setSelection">setSelection</a>()
+<li><a href="qtextedit.html#setSelectionAttributes">setSelectionAttributes</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtextedit.html#setStyleSheet">setStyleSheet</a>()
+<li><a href="qtextedit.html#setTabChangesFocus">setTabChangesFocus</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtextedit.html#setTabStopWidth">setTabStopWidth</a>()
+<li><a href="qtextedit.html#setText">setText</a>()
+<li><a href="qtextedit.html#setTextFormat">setTextFormat</a>()
+<li><a href="qtextedit.html#setUnderline">setUnderline</a>()
+<li><a href="qtextedit.html#setUndoDepth">setUndoDepth</a>()
+<li><a href="qtextedit.html#setUndoRedoEnabled">setUndoRedoEnabled</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qtextedit.html#setVerticalAlignment">setVerticalAlignment</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qtextedit.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtextedit.html#setWrapColumnOrWidth">setWrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#setWrapPolicy">setWrapPolicy</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtextedit.html#styleSheet">styleSheet</a>()
+<li><a href="qtextedit.html#sync">sync</a>()
+<li><a href="qtextedit.html#syntaxHighlighter">syntaxHighlighter</a>()
+<li><a href="qtextedit.html#tabChangesFocus">tabChangesFocus</a>()
+<li><a href="qtextedit.html#tabStopWidth">tabStopWidth</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtextedit.html#text">text</a>()
+<li><a href="qtextedit.html#textChanged">textChanged</a>()
+<li><a href="qtextedit.html#textCursor">textCursor</a>()
+<li><a href="qtextedit.html#textFormat">textFormat</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qtextedit.html#underline">underline</a>()
+<li><a href="qtextedit.html#undo">undo</a>()
+<li><a href="qtextedit.html#undoAvailable">undoAvailable</a>()
+<li><a href="qtextedit.html#undoDepth">undoDepth</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qtextedit.html#wordWrap">wordWrap</a>()
+<li><a href="qtextedit.html#wrapColumnOrWidth">wrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#wrapPolicy">wrapPolicy</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+<li><a href="qtextedit.html#zoomIn">zoomIn</a>()
+<li><a href="qtextedit.html#zoomOut">zoomOut</a>()
+<li><a href="qtextedit.html#zoomTo">zoomTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextedit.html b/doc/html/qtextedit.html
new file mode 100644
index 0000000..8466e3c
--- /dev/null
+++ b/doc/html/qtextedit.html
@@ -0,0 +1,1626 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtextedit.cpp:205 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextEdit Class Reference</h1>
+
+<p>The QTextEdit widget provides a powerful single-page rich text editor.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtextedit-h.html">qtextedit.h</a>&gt;</tt>
+<p>Inherits <a href="qscrollview.html">QScrollView</a>.
+<p>Inherited by <a href="qmultilineedit.html">QMultiLineEdit</a>, <a href="qtextbrowser.html">QTextBrowser</a>, and <a href="qtextview.html">QTextView</a>.
+<p><a href="qtextedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#WordWrap-enum"><b>WordWrap</b></a> { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }</li>
+<li class=fn>enum <a href="#WrapPolicy-enum"><b>WrapPolicy</b></a> { AtWordBoundary, AtWhiteSpace = AtWordBoundary, Anywhere, AtWordOrDocumentBoundary }</li>
+<li class=fn>enum <a href="#AutoFormatting-enum"><b>AutoFormatting</b></a> { AutoNone = 0, AutoBulletList = 0x00000001, AutoAll = 0xffffffff }</li>
+<li class=fn>enum <a href="#KeyboardAction-enum"><b>KeyboardAction</b></a> { ActionBackspace, ActionDelete, ActionReturn, ActionKill, ActionWordBackspace, ActionWordDelete }</li>
+<li class=fn>enum <a href="#CursorAction-enum"><b>CursorAction</b></a> { MoveBackward, MoveForward, MoveWordBackward, MoveWordForward, MoveUp, MoveDown, MoveLineStart, MoveLineEnd, MoveHome, MoveEnd, MovePgUp, MovePgDown }</li>
+<li class=fn>enum <a href="#VerticalAlignment-enum"><b>VerticalAlignment</b></a> { AlignNormal, AlignSuperScript, AlignSubScript }</li>
+<li class=fn><a href="#QTextEdit"><b>QTextEdit</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;context = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QTextEdit-2"><b>QTextEdit</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QString <a href="#text"><b>text</b></a> () const</li>
+<li class=fn>QString <a href="#text-2"><b>text</b></a> ( int&nbsp;para ) const</li>
+<li class=fn>TextFormat <a href="#textFormat"><b>textFormat</b></a> () const</li>
+<li class=fn>QString <a href="#context"><b>context</b></a> () const</li>
+<li class=fn>QString <a href="#documentTitle"><b>documentTitle</b></a> () const</li>
+<li class=fn>void <a href="#getSelection"><b>getSelection</b></a> ( int&nbsp;*&nbsp;paraFrom, int&nbsp;*&nbsp;indexFrom, int&nbsp;*&nbsp;paraTo, int&nbsp;*&nbsp;indexTo, int&nbsp;selNum = 0 ) const</li>
+<li class=fn>virtual bool <a href="#find"><b>find</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;expr, bool&nbsp;cs, bool&nbsp;wo, bool&nbsp;forward = TRUE, int&nbsp;*&nbsp;para = 0, int&nbsp;*&nbsp;index = 0 )</li>
+<li class=fn>int <a href="#paragraphs"><b>paragraphs</b></a> () const</li>
+<li class=fn>int <a href="#lines"><b>lines</b></a> () const</li>
+<li class=fn>int <a href="#linesOfParagraph"><b>linesOfParagraph</b></a> ( int&nbsp;para ) const</li>
+<li class=fn>int <a href="#lineOfChar"><b>lineOfChar</b></a> ( int&nbsp;para, int&nbsp;index )</li>
+<li class=fn>int <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>QRect <a href="#paragraphRect"><b>paragraphRect</b></a> ( int&nbsp;para ) const</li>
+<li class=fn>int <a href="#paragraphAt"><b>paragraphAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>int <a href="#charAt"><b>charAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;*&nbsp;para ) const</li>
+<li class=fn>int <a href="#paragraphLength"><b>paragraphLength</b></a> ( int&nbsp;para ) const</li>
+<li class=fn>QStyleSheet * <a href="#styleSheet"><b>styleSheet</b></a> () const</li>
+<li class=fn>QMimeSourceFactory * <a href="#mimeSourceFactory"><b>mimeSourceFactory</b></a> () const</li>
+<li class=fn>QBrush <a href="#paper"><b>paper</b></a> () const</li>
+<li class=fn>bool <a href="#linkUnderline"><b>linkUnderline</b></a> () const</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>bool <a href="#hasSelectedText"><b>hasSelectedText</b></a> () const</li>
+<li class=fn>QString <a href="#selectedText"><b>selectedText</b></a> () const</li>
+<li class=fn>bool <a href="#isUndoAvailable"><b>isUndoAvailable</b></a> () const</li>
+<li class=fn>bool <a href="#isRedoAvailable"><b>isRedoAvailable</b></a> () const</li>
+<li class=fn>WordWrap <a href="#wordWrap"><b>wordWrap</b></a> () const</li>
+<li class=fn>int <a href="#wrapColumnOrWidth"><b>wrapColumnOrWidth</b></a> () const</li>
+<li class=fn>WrapPolicy <a href="#wrapPolicy"><b>wrapPolicy</b></a> () const</li>
+<li class=fn>int <a href="#tabStopWidth"><b>tabStopWidth</b></a> () const</li>
+<li class=fn>QString <a href="#anchorAt-2"><b>anchorAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>QString <a href="#anchorAt"><b>anchorAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, AnchorAttribute&nbsp;attr )</li>
+<li class=fn>bool <a href="#isReadOnly"><b>isReadOnly</b></a> () const</li>
+<li class=fn>void <a href="#getCursorPosition"><b>getCursorPosition</b></a> ( int&nbsp;*&nbsp;para, int&nbsp;*&nbsp;index ) const</li>
+<li class=fn>bool <a href="#isModified"><b>isModified</b></a> () const</li>
+<li class=fn>bool <a href="#italic"><b>italic</b></a> () const</li>
+<li class=fn>bool <a href="#bold"><b>bold</b></a> () const</li>
+<li class=fn>bool <a href="#underline"><b>underline</b></a> () const</li>
+<li class=fn>QString <a href="#family"><b>family</b></a> () const</li>
+<li class=fn>int <a href="#pointSize"><b>pointSize</b></a> () const</li>
+<li class=fn>QColor <a href="#color"><b>color</b></a> () const</li>
+<li class=fn>QFont font () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QFont <a href="#currentFont"><b>currentFont</b></a> () const</li>
+<li class=fn>int <a href="#alignment"><b>alignment</b></a> () const</li>
+<li class=fn>int <a href="#undoDepth"><b>undoDepth</b></a> () const</li>
+<li class=fn>bool <a href="#isOverwriteMode"><b>isOverwriteMode</b></a> () const</li>
+<li class=fn>QColor <a href="#paragraphBackgroundColor"><b>paragraphBackgroundColor</b></a> ( int&nbsp;para ) const</li>
+<li class=fn>bool <a href="#isUndoRedoEnabled"><b>isUndoRedoEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#tabChangesFocus"><b>tabChangesFocus</b></a> () const</li>
+<li class=fn>void <a href="#setAutoFormatting"><b>setAutoFormatting</b></a> ( uint&nbsp;features )</li>
+<li class=fn>uint <a href="#autoFormatting"><b>autoFormatting</b></a> () const</li>
+<li class=fn>QSyntaxHighlighter * <a href="#syntaxHighlighter"><b>syntaxHighlighter</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setMimeSourceFactory"><b>setMimeSourceFactory</b></a> ( QMimeSourceFactory&nbsp;*&nbsp;factory )</li>
+<li class=fn>virtual void <a href="#setStyleSheet"><b>setStyleSheet</b></a> ( QStyleSheet&nbsp;*&nbsp;styleSheet )</li>
+<li class=fn>virtual void <a href="#scrollToAnchor"><b>scrollToAnchor</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual void <a href="#setPaper"><b>setPaper</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;pap )</li>
+<li class=fn>virtual void <a href="#setLinkUnderline"><b>setLinkUnderline</b></a> ( bool )</li>
+<li class=fn>virtual void <a href="#setWordWrap"><b>setWordWrap</b></a> ( WordWrap&nbsp;mode )</li>
+<li class=fn>virtual void <a href="#setWrapColumnOrWidth"><b>setWrapColumnOrWidth</b></a> ( int )</li>
+<li class=fn>virtual void <a href="#setWrapPolicy"><b>setWrapPolicy</b></a> ( WrapPolicy&nbsp;policy )</li>
+<li class=fn>virtual void <a href="#copy"><b>copy</b></a> ()</li>
+<li class=fn>virtual void <a href="#append"><b>append</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#setText"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;txt )</li>
+<li class=fn>virtual void <a href="#setText-2"><b>setText</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;context )</li>
+<li class=fn>virtual void <a href="#setTextFormat"><b>setTextFormat</b></a> ( TextFormat&nbsp;f )</li>
+<li class=fn>virtual void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;select = TRUE )</li>
+<li class=fn>virtual void <a href="#setTabStopWidth"><b>setTabStopWidth</b></a> ( int&nbsp;ts )</li>
+<li class=fn>virtual void <a href="#zoomIn"><b>zoomIn</b></a> ( int&nbsp;range )</li>
+<li class=fn>virtual void <a href="#zoomIn-2"><b>zoomIn</b></a> ()</li>
+<li class=fn>virtual void <a href="#zoomOut"><b>zoomOut</b></a> ( int&nbsp;range )</li>
+<li class=fn>virtual void <a href="#zoomOut-2"><b>zoomOut</b></a> ()</li>
+<li class=fn>virtual void <a href="#zoomTo"><b>zoomTo</b></a> ( int&nbsp;size )</li>
+<li class=fn>virtual void <a href="#sync"><b>sync</b></a> ()</li>
+<li class=fn>virtual void <a href="#setReadOnly"><b>setReadOnly</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#undo"><b>undo</b></a> ()</li>
+<li class=fn>virtual void <a href="#redo"><b>redo</b></a> ()</li>
+<li class=fn>virtual void <a href="#cut"><b>cut</b></a> ()</li>
+<li class=fn>virtual void <a href="#paste"><b>paste</b></a> ()</li>
+<li class=fn>virtual void <a href="#pasteSubType"><b>pasteSubType</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;subtype )</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>virtual void <a href="#del"><b>del</b></a> ()</li>
+<li class=fn>virtual void <a href="#setItalic"><b>setItalic</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setBold"><b>setBold</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setUnderline"><b>setUnderline</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setFamily"><b>setFamily</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;fontFamily )</li>
+<li class=fn>virtual void <a href="#setPointSize"><b>setPointSize</b></a> ( int&nbsp;s )</li>
+<li class=fn>virtual void <a href="#setColor"><b>setColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>virtual void <a href="#setVerticalAlignment"><b>setVerticalAlignment</b></a> ( VerticalAlignment&nbsp;a )</li>
+<li class=fn>virtual void <a href="#setAlignment"><b>setAlignment</b></a> ( int&nbsp;a )</li>
+<li class=fn>virtual void <a href="#setCursorPosition"><b>setCursorPosition</b></a> ( int&nbsp;para, int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#setSelection"><b>setSelection</b></a> ( int&nbsp;paraFrom, int&nbsp;indexFrom, int&nbsp;paraTo, int&nbsp;indexTo, int&nbsp;selNum = 0 )</li>
+<li class=fn>virtual void <a href="#setSelectionAttributes"><b>setSelectionAttributes</b></a> ( int&nbsp;selNum, const&nbsp;QColor&nbsp;&amp;&nbsp;back, bool&nbsp;invertText )</li>
+<li class=fn>virtual void <a href="#setModified"><b>setModified</b></a> ( bool&nbsp;m )</li>
+<li class=fn>virtual void <a href="#setUndoDepth"><b>setUndoDepth</b></a> ( int&nbsp;d )</li>
+<li class=fn>virtual void <a href="#ensureCursorVisible"><b>ensureCursorVisible</b></a> ()</li>
+<li class=fn>virtual void <a href="#placeCursor"><b>placeCursor</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, QTextCursor&nbsp;*&nbsp;c = 0 )</li>
+<li class=fn>virtual void <a href="#moveCursor"><b>moveCursor</b></a> ( CursorAction&nbsp;action, bool&nbsp;select )</li>
+<li class=fn>virtual void <a href="#doKeyboardAction"><b>doKeyboardAction</b></a> ( KeyboardAction&nbsp;action )</li>
+<li class=fn>virtual void <a href="#removeSelectedText"><b>removeSelectedText</b></a> ( int&nbsp;selNum = 0 )</li>
+<li class=fn>virtual void <a href="#removeSelection"><b>removeSelection</b></a> ( int&nbsp;selNum = 0 )</li>
+<li class=fn>virtual void <a href="#setCurrentFont"><b>setCurrentFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>virtual void <a href="#setOverwriteMode"><b>setOverwriteMode</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#scrollToBottom"><b>scrollToBottom</b></a> ()</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, uint&nbsp;insertionFlags = CheckNewLines | RemoveSelected )</li>
+<li class=fn>virtual void insert ( const&nbsp;QString&nbsp;&amp;&nbsp;text, bool&nbsp;indent, bool&nbsp;checkNewLine = TRUE, bool&nbsp;removeSelected = TRUE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#insertAt"><b>insertAt</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;para, int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#removeParagraph"><b>removeParagraph</b></a> ( int&nbsp;para )</li>
+<li class=fn>virtual void <a href="#insertParagraph"><b>insertParagraph</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, int&nbsp;para )</li>
+<li class=fn>virtual void <a href="#setParagraphBackgroundColor"><b>setParagraphBackgroundColor</b></a> ( int&nbsp;para, const&nbsp;QColor&nbsp;&amp;&nbsp;bg )</li>
+<li class=fn>virtual void <a href="#clearParagraphBackground"><b>clearParagraphBackground</b></a> ( int&nbsp;para )</li>
+<li class=fn>virtual void <a href="#setUndoRedoEnabled"><b>setUndoRedoEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>void <a href="#setTabChangesFocus"><b>setTabChangesFocus</b></a> ( bool&nbsp;b )</li>
+<li class=fn>void <a href="#setMaxLogLines"><b>setMaxLogLines</b></a> ( int&nbsp;limit )</li>
+<li class=fn>int <a href="#maxLogLines"><b>maxLogLines</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#textChanged"><b>textChanged</b></a> ()</li>
+<li class=fn>void <a href="#selectionChanged"><b>selectionChanged</b></a> ()</li>
+<li class=fn>void <a href="#copyAvailable"><b>copyAvailable</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>void <a href="#undoAvailable"><b>undoAvailable</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>void <a href="#redoAvailable"><b>redoAvailable</b></a> ( bool&nbsp;yes )</li>
+<li class=fn>void <a href="#currentFontChanged"><b>currentFontChanged</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>void <a href="#currentColorChanged"><b>currentColorChanged</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>void <a href="#currentAlignmentChanged"><b>currentAlignmentChanged</b></a> ( int&nbsp;a )</li>
+<li class=fn>void <a href="#currentVerticalAlignmentChanged"><b>currentVerticalAlignmentChanged</b></a> ( VerticalAlignment&nbsp;a )</li>
+<li class=fn>void <a href="#cursorPositionChanged"><b>cursorPositionChanged</b></a> ( int&nbsp;para, int&nbsp;pos )</li>
+<li class=fn>void <a href="#returnPressed"><b>returnPressed</b></a> ()</li>
+<li class=fn>void <a href="#modificationChanged"><b>modificationChanged</b></a> ( bool&nbsp;m )</li>
+<li class=fn>void <a href="#clicked"><b>clicked</b></a> ( int&nbsp;para, int&nbsp;pos )</li>
+<li class=fn>void <a href="#doubleClicked"><b>doubleClicked</b></a> ( int&nbsp;para, int&nbsp;pos )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>AutoFormatting <a href="#autoFormatting-prop"><b>autoFormatting</b></a>&nbsp;- the enabled set of auto formatting features</li>
+<li class=fn>QString <a href="#documentTitle-prop"><b>documentTitle</b></a>&nbsp;- the title of the document parsed from the text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#hasSelectedText-prop"><b>hasSelectedText</b></a>&nbsp;- whether some text is selected in selection 0 &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#length-prop"><b>length</b></a>&nbsp;- the number of characters in the text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#linkUnderline-prop"><b>linkUnderline</b></a>&nbsp;- whether hypertext links will be underlined</li>
+<li class=fn>bool <a href="#modified-prop"><b>modified</b></a>&nbsp;- whether the document has been modified by the user</li>
+<li class=fn>bool <a href="#overwriteMode-prop"><b>overwriteMode</b></a>&nbsp;- the text edit's overwrite mode</li>
+<li class=fn>QBrush <a href="#paper-prop"><b>paper</b></a>&nbsp;- the background (paper) brush</li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the text edit is read-only</li>
+<li class=fn>QString <a href="#selectedText-prop"><b>selectedText</b></a>&nbsp;- the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0) &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#tabChangesFocus-prop"><b>tabChangesFocus</b></a>&nbsp;- whether TAB changes focus or is accepted as input</li>
+<li class=fn>int <a href="#tabStopWidth-prop"><b>tabStopWidth</b></a>&nbsp;- the tab stop width in pixels</li>
+<li class=fn>QString <a href="#text-prop"><b>text</b></a>&nbsp;- the text edit's text</li>
+<li class=fn>TextFormat <a href="#textFormat-prop"><b>textFormat</b></a>&nbsp;- the text format: rich text, plain text, log text or auto text</li>
+<li class=fn>int <a href="#undoDepth-prop"><b>undoDepth</b></a>&nbsp;- the depth of the undo history</li>
+<li class=fn>bool <a href="#undoRedoEnabled-prop"><b>undoRedoEnabled</b></a>&nbsp;- whether undo/redo is enabled</li>
+<li class=fn>WordWrap <a href="#wordWrap-prop"><b>wordWrap</b></a>&nbsp;- the word wrap mode</li>
+<li class=fn>int <a href="#wrapColumnOrWidth-prop"><b>wrapColumnOrWidth</b></a>&nbsp;- the position (in pixels or columns depending on the wrap mode) where text will be wrapped</li>
+<li class=fn>WrapPolicy <a href="#wrapPolicy-prop"><b>wrapPolicy</b></a>&nbsp;- the word wrap policy, at whitespace or anywhere</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#repaintChanged"><b>repaintChanged</b></a> ()</li>
+<li class=fn>virtual void <a href="#keyPressEvent"><b>keyPressEvent</b></a> ( QKeyEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual bool <a href="#focusNextPrevChild"><b>focusNextPrevChild</b></a> ( bool&nbsp;n )</li>
+<li class=fn>QTextCursor * <a href="#textCursor"><b>textCursor</b></a> () const</li>
+<li class=fn>virtual QPopupMenu * <a href="#createPopupMenu"><b>createPopupMenu</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>virtual QPopupMenu * createPopupMenu () &nbsp;<em>(obsolete)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextEdit widget provides a powerful single-page rich text editor.
+<p>
+
+
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction and Concepts
+</a>
+<li><a href="#1-1"> Using QTextEdit as a Display Widget
+</a>
+<ul>
+<li><a href="#1-1-1"> Read-only key bindings
+</a>
+<li><a href="#1-1-2"> Using QTextEdit in LogText Mode
+</a>
+</ul>
+<li><a href="#1-2"> Using QTextEdit as an Editor
+</a>
+<ul>
+<li><a href="#1-2-1"> Editing key bindings
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <h3> Introduction and Concepts
+</h3>
+<a name="1"></a><p> QTextEdit is an advanced WYSIWYG viewer/editor supporting rich
+text formatting using HTML-style tags. It is optimized to handle
+large documents and to respond quickly to user input.
+<p> QTextEdit has four modes of operation:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Mode <th valign="top">Command <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top">Plain Text Editor <td valign="top">setTextFormat(PlainText)
+<td valign="top">Set text with <a href="#setText">setText</a>(); <a href="#text">text</a>() returns plain text. Text
+attributes (e.g. colors) can be set, but plain text is always
+returned.
+<tr bgcolor="#d0d0d0"> <td valign="top">Rich Text Editor <td valign="top">setTextFormat(RichText)
+<td valign="top">Set text with setText(); text() returns rich text. Rich
+text editing is fairly limited. You can't set margins or
+insert images for example (although you can read and
+correctly display files that have margins set and that
+include images). This mode is mostly useful for editing small
+amounts of rich text. <sup>1.</sup>
+<tr bgcolor="#f0f0f0"> <td valign="top">Text Viewer <td valign="top">setReadOnly(TRUE)
+<td valign="top">Set text with setText() or <a href="#append">append</a>() (which has no undo
+history so is faster and uses less memory); text() returns
+plain or rich text depending on the <a href="#textFormat">textFormat</a>(). This mode
+can correctly display a large subset of HTML tags.
+<tr bgcolor="#d0d0d0"> <td valign="top">Log Viewer <td valign="top">setTextFormat(LogText)
+<td valign="top">Append text using append(). The widget is set to be read
+only and rich text support is disabled although a few HTML
+tags (for color, bold, italic and underline) may be used.
+(See <a href="#logtextmode">LogText mode</a> for details.)
+</table></center>
+<p> <sup>1.</sup><small>A more complete API that supports setting
+margins, images, etc., is planned for a later Qt release.</small>
+<p> QTextEdit can be used as a syntax highlighting editor when used in
+conjunction with <a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>.
+<p> We recommend that you always call <a href="#setTextFormat">setTextFormat</a>() to set the mode
+you want to use. If you use <a href="qt.html#TextFormat-enum">AutoText</a> then <a href="#setText">setText</a>() and
+<a href="#append">append</a>() will try to determine whether the text they are given is
+plain text or rich text. If you use <a href="qt.html#TextFormat-enum">RichText</a> then setText() and
+append() will assume that the text they are given is rich text.
+<a href="#insert">insert</a>() simply inserts the text it is given.
+<p> QTextEdit works on paragraphs and characters. A paragraph is a
+formatted string which is word-wrapped to fit into the width of
+the widget. By default when reading plain text, one newline
+signify a paragraph. A document consists of zero or more
+paragraphs, indexed from 0. Characters are indexed on a
+per-paragraph basis, also indexed from 0. The words in the
+paragraph are aligned in accordance with the paragraph's
+<a href="#alignment">alignment</a>(). Paragraphs are separated by hard line breaks. Each
+character within a paragraph has its own attributes, for example,
+font and color.
+<p> The text edit documentation uses the following concepts:
+<ul>
+<li> <em>current format</em> --
+this is the format at the current cursor position, <em>and</em> it
+is the format of the selected text if any.
+<li> <em>current paragraph</em> -- the paragraph which contains the
+cursor.
+</ul>
+<p> QTextEdit can display images (using <a href="qmimesourcefactory.html">QMimeSourceFactory</a>), lists and
+tables. If the text is too large to view within the text edit's
+viewport, scrollbars will appear. The text edit can load both
+plain text and HTML files (a subset of HTML 3.2 and 4). The
+rendering style and the set of valid tags are defined by a
+<a href="#styleSheet">styleSheet</a>(). Custom tags can be created and placed in a custom
+style sheet. Change the style sheet with <a href="#setStyleSheet">setStyleSheet</a>(); see
+<a href="qstylesheet.html">QStyleSheet</a> for details. The images identified by image tags are
+displayed if they can be interpreted using the text edit's
+<a href="qmimesourcefactory.html">QMimeSourceFactory</a>; see <a href="#setMimeSourceFactory">setMimeSourceFactory</a>().
+<p> If you want a text browser with more navigation use <a href="qtextbrowser.html">QTextBrowser</a>.
+If you just need to display a small piece of rich text use <a href="qlabel.html">QLabel</a>
+or <a href="qsimplerichtext.html">QSimpleRichText</a>.
+<p> If you create a new QTextEdit, and want to allow the user to edit
+rich text, call <a href="#setTextFormat">setTextFormat</a>(Qt::RichText) to ensure that the
+text is treated as rich text. (Rich text uses HTML tags to set
+text formatting attributes. See QStyleSheet for information on the
+HTML tags that are supported.). If you don't call setTextFormat()
+explicitly the text edit will guess from the text itself whether
+it is rich text or plain text. This means that if the text looks
+like HTML or XML it will probably be interpreted as rich text, so
+you should call setTextFormat(Qt::PlainText) to preserve such
+text.
+<p> Note that we do not intend to add a full-featured web browser
+widget to Qt (because that would easily double Qt's size and only
+a few applications would benefit from it). The rich
+text support in Qt is designed to provide a fast, portable and
+efficient way to add reasonable online help facilities to
+applications, and to provide a basis for rich text editors.
+<p> <h3> Using QTextEdit as a Display Widget
+</h3>
+<a name="1-1"></a><p> QTextEdit can display a large HTML subset, including tables and
+images.
+<p> The text is set or replaced using <a href="#setText">setText</a>() which deletes any
+existing text and replaces it with the text passed in the
+setText() call. If you call setText() with legacy HTML (with
+<a href="#setTextFormat">setTextFormat</a>(RichText) in force), and then call <a href="#text">text</a>(), the text
+that is returned may have different markup, but will render the
+same. Text can be inserted with <a href="#insert">insert</a>(), <a href="#paste">paste</a>(), <a href="#pasteSubType">pasteSubType</a>()
+and <a href="#append">append</a>(). Text that is appended does not go into the undo
+history; this makes append() faster and consumes less memory. Text
+can also be <a href="#cut">cut</a>(). The entire text is deleted with <a href="#clear">clear</a>() and the
+selected text is deleted with <a href="#removeSelectedText">removeSelectedText</a>(). Selected
+(marked) text can also be deleted with <a href="#del">del</a>() (which will delete
+the character to the right of the cursor if no text is selected).
+<p> Loading and saving text is achieved using <a href="#setText">setText</a>() and text(),
+for example:
+<pre>
+ <a href="qfile.html">QFile</a> file( fileName ); // Read the text from a file
+ if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ textEdit-&gt;setText( stream.<a href="qtextstream.html#read">read</a>() );
+ }
+
+ <a href="qfile.html">QFile</a> file( fileName ); // Write the text to a file
+ if ( file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qtextstream.html">QTextStream</a> stream( &amp;file );
+ stream &lt;&lt; textEdit-&gt;text();
+ textEdit-&gt;setModified( FALSE );
+ }
+ </pre>
+
+<p> By default the text edit wraps words at whitespace to fit within
+the text edit widget. The <a href="#setWordWrap">setWordWrap</a>() function is used to
+specify the kind of word wrap you want, or <a href="#WordWrap-enum">NoWrap</a> if you don't
+want any wrapping. Call setWordWrap() to set a fixed pixel width
+<a href="#WordWrap-enum">FixedPixelWidth</a>, or character column (e.g. 80 column) <a href="#WordWrap-enum">FixedColumnWidth</a> with the pixels or columns specified with
+<a href="#setWrapColumnOrWidth">setWrapColumnOrWidth</a>(). If you use word wrap to the widget's width
+<a href="#WordWrap-enum">WidgetWidth</a>, you can specify whether to break on whitespace or
+anywhere with <a href="#setWrapPolicy">setWrapPolicy</a>().
+<p> The background color is set differently than other widgets, using
+<a href="#setPaper">setPaper</a>(). You specify a brush style which could be a plain color
+or a complex pixmap.
+<p> Hypertext links are automatically underlined; this can be changed
+with <a href="#setLinkUnderline">setLinkUnderline</a>(). The tab stop width is set with
+<a href="#setTabStopWidth">setTabStopWidth</a>().
+<p> The <a href="#zoomIn">zoomIn</a>() and <a href="#zoomOut">zoomOut</a>() functions can be used to resize the
+text by increasing (decreasing for zoomOut()) the point size used.
+Images are not affected by the zoom functions.
+<p> The <a href="#lines">lines</a>() function returns the number of lines in the text and
+<a href="#paragraphs">paragraphs</a>() returns the number of paragraphs. The number of lines
+within a particular paragraph is returned by <a href="#linesOfParagraph">linesOfParagraph</a>().
+The length of the entire text in characters is returned by
+<a href="#length">length</a>().
+<p> You can scroll to an anchor in the text, e.g.
+<tt>&lt;a name="anchor"&gt;</tt> with <a href="#scrollToAnchor">scrollToAnchor</a>(). The <a href="#find">find</a>() function
+can be used to find and select a given string within the text.
+<p> A read-only QTextEdit provides the same functionality as the
+(obsolete) QTextView. (QTextView is still supplied for
+compatibility with old code.)
+<p> <h4> Read-only key bindings
+</h4>
+<a name="1-1-1"></a><p> When QTextEdit is used read-only the key-bindings are limited to
+navigation, and text may only be selected with the mouse:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Keypresses <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top">UpArrow <td valign="top">Move one line up
+<tr bgcolor="#d0d0d0"> <td valign="top">DownArrow <td valign="top">Move one line down
+<tr bgcolor="#f0f0f0"> <td valign="top">LeftArrow <td valign="top">Move one character left
+<tr bgcolor="#d0d0d0"> <td valign="top">RightArrow <td valign="top">Move one character right
+<tr bgcolor="#f0f0f0"> <td valign="top">PageUp <td valign="top">Move one (viewport) page up
+<tr bgcolor="#d0d0d0"> <td valign="top">PageDown <td valign="top">Move one (viewport) page down
+<tr bgcolor="#f0f0f0"> <td valign="top">Home <td valign="top">Move to the beginning of the text
+<tr bgcolor="#d0d0d0"> <td valign="top">End <td valign="top">Move to the end of the text
+<tr bgcolor="#f0f0f0"> <td valign="top">Shift+Wheel
+<td valign="top">Scroll the page horizontally (the Wheel is the mouse wheel)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Wheel <td valign="top">Zoom the text
+</table></center>
+<p> The text edit may be able to provide some meta-information. For
+example, the <a href="#documentTitle">documentTitle</a>() function will return the text from
+within HTML <tt>&lt;title&gt;</tt> tags.
+<p> The text displayed in a text edit has a <em>context</em>. The context is
+a path which the text edit's <a href="qmimesourcefactory.html">QMimeSourceFactory</a> uses to resolve
+the locations of files and images. It is passed to the
+<a href="#mimeSourceFactory">mimeSourceFactory</a>() when quering data. (See QTextEdit() and
+<a href="#context">context</a>().)
+<p> <a name="logtextmode"></a>
+<h4> Using QTextEdit in LogText Mode
+</h4>
+<a name="1-1-2"></a><p> Setting the text format to <a href="qt.html#TextFormat-enum">LogText</a> puts the widget in a special
+mode which is optimized for very large texts. Editing, word wrap,
+and rich text support are disabled in this mode (the widget is
+explicitly made read-only). This allows the text to be stored in a
+different, more memory efficient manner. However, a certain degree
+of text formatting is supported through the use of formatting tags.
+A tag is delimited by <tt>&lt;</tt> and <tt>&gt;</tt>. The characters <tt>&lt;</tt>, <tt>&gt;</tt>
+and <tt>&amp;</tt> are escaped by using <tt>&amp;lt;</tt>, <tt>&amp;gt;</tt> and <tt>&amp;amp;</tt>.
+A tag pair consists of a left and a right tag (or open/close tags).
+Left-tags mark the starting point for formatting, while right-tags
+mark the ending point. A right-tag always start with a <tt>/</tt> before
+the tag keyword. For example <tt>&lt;b&gt;</tt> and <tt>&lt;/b&gt;</tt> are a tag pair.
+Tags can be nested, but they have to be closed in the same order as
+they are opened. For example, <tt>&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;</tt> is valid, while <tt>&lt;b&gt;&lt;u&gt;&lt;/b&gt;&lt;/u&gt;</tt> will output an error message.
+<p> By using tags it is possible to change the color, bold, italic and
+underline settings for a piece of text. A color can be specified
+by using the HTML font tag <tt>&lt;font color=colorname&gt;</tt>. The color
+name can be one of the color names from the X11 color database, or
+a RGB hex value (e.g <tt>#00ff00</tt>). Example of valid color tags:
+<tt>&lt;font color=red&gt;</tt>, <tt>&lt;font color="light blue"&gt;</tt>, <tt>&lt;font color="#223344"&gt;</tt>. Bold, italic and underline settings can be
+specified by the tags <tt>&lt;b&gt;</tt>, <tt>&lt;i&gt;</tt> and <tt>&lt;u&gt;</tt>. Note that a
+tag does not necessarily have to be closed. A valid example:
+<pre>
+ This is &lt;font color=red&gt;red&lt;/font&gt; while &lt;b&gt;this&lt;/b&gt; is &lt;font color=blue&gt;blue&lt;/font&gt;.
+ &lt;font color=green&gt;&lt;font color=yellow&gt;Yellow,&lt;/font&gt; and &lt;u&gt;green&lt;/u&gt;.
+ </pre>
+
+<p> Stylesheets can also be used in LogText mode. To create and use a
+custom tag, you could do the following:
+<pre>
+ QTextEdit * log = new QTextEdit( this );
+ log-&gt;<a href="#setTextFormat">setTextFormat</a>( Qt::<a href="qt.html#TextFormat-enum">LogText</a> );
+ <a href="qstylesheetitem.html">QStyleSheetItem</a> * item = new <a href="qstylesheetitem.html">QStyleSheetItem</a>( log-&gt;<a href="#styleSheet">styleSheet</a>(), "mytag" );
+ item-&gt;<a href="qstylesheetitem.html#setColor">setColor</a>( "red" );
+ item-&gt;<a href="qstylesheetitem.html#setFontWeight">setFontWeight</a>( QFont::Bold );
+ item-&gt;<a href="qstylesheetitem.html#setFontUnderline">setFontUnderline</a>( TRUE );
+ log-&gt;<a href="#append">append</a>( "This is a &lt;mytag&gt;custom tag&lt;/mytag&gt;!" );
+ </pre>
+
+Note that only the color, bold, underline and italic attributes of
+a <a href="qstylesheetitem.html">QStyleSheetItem</a> is used in LogText mode.
+<p> Note that you can use <a href="#setMaxLogLines">setMaxLogLines</a>() to limit the number of
+lines the widget can hold in LogText mode.
+<p> There are a few things that you need to be aware of when the
+widget is in this mode:
+<ul>
+<li> Functions that deal with rich text formatting and cursor
+movement will not work or return anything valid.
+<li> Lines are equivalent to paragraphs.
+</ul>
+<p> <h3> Using QTextEdit as an Editor
+</h3>
+<a name="1-2"></a><p> All the information about using QTextEdit as a display widget also
+applies here.
+<p> The current format's attributes are set with <a href="#setItalic">setItalic</a>(),
+<a href="#setBold">setBold</a>(), <a href="#setUnderline">setUnderline</a>(), <a href="#setFamily">setFamily</a>() (font family),
+<a href="#setPointSize">setPointSize</a>(), <a href="#setColor">setColor</a>() and <a href="#setCurrentFont">setCurrentFont</a>(). The current
+paragraph's alignment is set with <a href="#setAlignment">setAlignment</a>().
+<p> Use <a href="#setSelection">setSelection</a>() to select text. The <a href="#setSelectionAttributes">setSelectionAttributes</a>()
+function is used to indicate how selected text should be
+displayed. Use <a href="#hasSelectedText">hasSelectedText</a>() to find out if any text is
+selected. The currently selected text's position is available
+using <a href="#getSelection">getSelection</a>() and the selected text itself is returned by
+<a href="#selectedText">selectedText</a>(). The selection can be copied to the clipboard with
+<a href="#copy">copy</a>(), or cut to the clipboard with <a href="#cut">cut</a>(). It can be deleted with
+<a href="#removeSelectedText">removeSelectedText</a>(). The entire text can be selected (or
+unselected) using <a href="#selectAll">selectAll</a>(). QTextEdit supports multiple
+selections. Most of the selection functions operate on the default
+selection, selection 0. If the user presses a non-selecting key,
+e.g. a cursor key without also holding down Shift, all selections
+are cleared.
+<p> Set and get the position of the cursor with <a href="#setCursorPosition">setCursorPosition</a>()
+and <a href="#getCursorPosition">getCursorPosition</a>() respectively. When the cursor is moved,
+the signals <a href="#currentFontChanged">currentFontChanged</a>(), <a href="#currentColorChanged">currentColorChanged</a>() and
+<a href="#currentAlignmentChanged">currentAlignmentChanged</a>() are emitted to reflect the font, color
+and alignment at the new cursor position.
+<p> If the text changes, the <a href="#textChanged">textChanged</a>() signal is emitted, and if
+the user inserts a new line by pressing Return or Enter,
+<a href="#returnPressed">returnPressed</a>() is emitted. The <a href="#isModified">isModified</a>() function will return
+TRUE if the text has been modified.
+<p> QTextEdit provides command-based undo and redo. To set the depth
+of the command history use <a href="#setUndoDepth">setUndoDepth</a>() which defaults to 100
+steps. To undo or redo the last operation call <a href="#undo">undo</a>() or <a href="#redo">redo</a>().
+The signals <a href="#undoAvailable">undoAvailable</a>() and <a href="#redoAvailable">redoAvailable</a>() indicate whether
+the undo and redo operations can be executed.
+<p> The indent() function is used to reindent a paragraph. It is
+useful for code editors, for example in <a href="designer-manual.html">Qt Designer</a>'s code editor <em>Ctrl+I</em> invokes the indent()
+function.
+<p> <h4> Editing key bindings
+</h4>
+<a name="1-2-1"></a><p> The list of key-bindings which are implemented for editing:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Keypresses <th valign="top">Action
+<tr bgcolor="#f0f0f0"> <td valign="top">Backspace <td valign="top">Delete the character to the left of the cursor
+<tr bgcolor="#d0d0d0"> <td valign="top">Delete <td valign="top">Delete the character to the right of the cursor
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+A <td valign="top">Move the cursor to the beginning of the line
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+B <td valign="top">Move the cursor one character left
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+C <td valign="top">Copy the marked text to the clipboard (also
+Ctrl+Insert under Windows)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+D <td valign="top">Delete the character to the right of the cursor
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+E <td valign="top">Move the cursor to the end of the line
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+F <td valign="top">Move the cursor one character right
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+H <td valign="top">Delete the character to the left of the cursor
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+K <td valign="top">Delete to end of line
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+N <td valign="top">Move the cursor one line down
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+P <td valign="top">Move the cursor one line up
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+V <td valign="top">Paste the clipboard text into line edit
+(also Shift+Insert under Windows)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+X <td valign="top">Cut the marked text, copy to clipboard
+(also Shift+Delete under Windows)
+<tr bgcolor="#f0f0f0"> <td valign="top">Ctrl+Z <td valign="top">Undo the last operation
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Y <td valign="top">Redo the last operation
+<tr bgcolor="#f0f0f0"> <td valign="top">LeftArrow <td valign="top">Move the cursor one character left
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+LeftArrow <td valign="top">Move the cursor one word left
+<tr bgcolor="#f0f0f0"> <td valign="top">RightArrow <td valign="top">Move the cursor one character right
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+RightArrow <td valign="top">Move the cursor one word right
+<tr bgcolor="#f0f0f0"> <td valign="top">UpArrow <td valign="top">Move the cursor one line up
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+UpArrow <td valign="top">Move the cursor one word up
+<tr bgcolor="#f0f0f0"> <td valign="top">DownArrow <td valign="top">Move the cursor one line down
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Down Arrow <td valign="top">Move the cursor one word down
+<tr bgcolor="#f0f0f0"> <td valign="top">PageUp <td valign="top">Move the cursor one page up
+<tr bgcolor="#d0d0d0"> <td valign="top">PageDown <td valign="top">Move the cursor one page down
+<tr bgcolor="#f0f0f0"> <td valign="top">Home <td valign="top">Move the cursor to the beginning of the line
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Home <td valign="top">Move the cursor to the beginning of the text
+<tr bgcolor="#f0f0f0"> <td valign="top">End <td valign="top">Move the cursor to the end of the line
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+End <td valign="top">Move the cursor to the end of the text
+<tr bgcolor="#f0f0f0"> <td valign="top">Shift+Wheel <td valign="top">Scroll the page horizontally
+(the Wheel is the mouse wheel)
+<tr bgcolor="#d0d0d0"> <td valign="top">Ctrl+Wheel <td valign="top">Zoom the text
+</table></center>
+<p> To select (mark) text hold down the Shift key whilst pressing one
+of the movement keystrokes, for example, <em>Shift+Right Arrow</em>
+will select the character to the right, and <em>Shift+Ctrl+Right Arrow</em> will select the word to the right, etc.
+<p> By default the text edit widget operates in insert mode so all
+text that the user enters is inserted into the text edit and any
+text to the right of the cursor is moved out of the way. The mode
+can be changed to overwrite, where new text overwrites any text to
+the right of the cursor, using <a href="#setOverwriteMode">setOverwriteMode</a>().
+<p>See also <a href="basic.html">Basic Widgets</a> and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="AutoFormatting-enum"></a>QTextEdit::AutoFormatting</h3>
+
+<ul>
+<li><tt>QTextEdit::AutoNone</tt> - Do not perform any automatic formatting
+<li><tt>QTextEdit::AutoBulletList</tt> - Only automatically format bulletted lists
+<li><tt>QTextEdit::AutoAll</tt> - Apply all available autoformatting
+</ul>
+<h3 class=fn><a name="CursorAction-enum"></a>QTextEdit::CursorAction</h3>
+
+<p> This enum is used by <a href="#moveCursor">moveCursor</a>() to specify in which direction
+the cursor should be moved:
+<ul>
+<li><tt>QTextEdit::MoveBackward</tt> - Moves the cursor one character backward
+<li><tt>QTextEdit::MoveWordBackward</tt> - Moves the cursor one word backward
+<li><tt>QTextEdit::MoveForward</tt> - Moves the cursor one character forward
+<li><tt>QTextEdit::MoveWordForward</tt> - Moves the cursor one word forward
+<li><tt>QTextEdit::MoveUp</tt> - Moves the cursor up one line
+<li><tt>QTextEdit::MoveDown</tt> - Moves the cursor down one line
+<li><tt>QTextEdit::MoveLineStart</tt> - Moves the cursor to the beginning of the line
+<li><tt>QTextEdit::MoveLineEnd</tt> - Moves the cursor to the end of the line
+<li><tt>QTextEdit::MoveHome</tt> - Moves the cursor to the beginning of the document
+<li><tt>QTextEdit::MoveEnd</tt> - Moves the cursor to the end of the document
+<li><tt>QTextEdit::MovePgUp</tt> - Moves the cursor one viewport page up
+<li><tt>QTextEdit::MovePgDown</tt> - Moves the cursor one viewport page down
+</ul>
+<h3 class=fn><a name="KeyboardAction-enum"></a>QTextEdit::KeyboardAction</h3>
+
+<p> This enum is used by <a href="#doKeyboardAction">doKeyboardAction</a>() to specify which action
+should be executed:
+<ul>
+<li><tt>QTextEdit::ActionBackspace</tt> - Delete the character to the left of the
+cursor.
+<li><tt>QTextEdit::ActionDelete</tt> - Delete the character to the right of the
+cursor.
+<li><tt>QTextEdit::ActionReturn</tt> - Split the paragraph at the cursor position.
+<li><tt>QTextEdit::ActionKill</tt> - If the cursor is not at the end of the
+paragraph, delete the text from the cursor position until the end
+of the paragraph. If the cursor is at the end of the paragraph,
+delete the hard line break at the end of the paragraph: this will
+cause this paragraph to be joined with the following paragraph.
+<li><tt>QTextEdit::ActionWordBackspace</tt> - Delete the word to the left of the
+cursor position.
+<li><tt>QTextEdit::ActionWordDelete</tt> - Delete the word to the right of the
+cursor position
+</ul><p>
+<h3 class=fn><a name="VerticalAlignment-enum"></a>QTextEdit::VerticalAlignment</h3>
+
+<p> This enum is used to set the vertical alignment of the text.
+<ul>
+<li><tt>QTextEdit::AlignNormal</tt> - Normal alignment
+<li><tt>QTextEdit::AlignSuperScript</tt> - Superscript
+<li><tt>QTextEdit::AlignSubScript</tt> - Subscript
+</ul>
+<h3 class=fn><a name="WordWrap-enum"></a>QTextEdit::WordWrap</h3>
+
+<p> This enum defines the QTextEdit's word wrap modes.
+<ul>
+<li><tt>QTextEdit::NoWrap</tt> - Do not wrap the text.
+<li><tt>QTextEdit::WidgetWidth</tt> - Wrap the text at the current width of the
+widget (this is the default). Wrapping is at whitespace by
+default; this can be changed with <a href="#setWrapPolicy">setWrapPolicy</a>().
+<li><tt>QTextEdit::FixedPixelWidth</tt> - Wrap the text at a fixed number of pixels
+from the widget's left side. The number of pixels is set with
+<a href="#wrapColumnOrWidth">wrapColumnOrWidth</a>().
+<li><tt>QTextEdit::FixedColumnWidth</tt> - Wrap the text at a fixed number of
+character columns from the widget's left side. The number of
+characters is set with wrapColumnOrWidth(). This is useful if you
+need formatted text that can also be displayed gracefully on
+devices with monospaced fonts, for example a standard VT100
+terminal, where you might set wrapColumnOrWidth() to 80.
+</ul><p> <p>See also <a href="#wordWrap-prop">wordWrap</a> and <a href="#wordWrap-prop">wordWrap</a>.
+
+<h3 class=fn><a name="WrapPolicy-enum"></a>QTextEdit::WrapPolicy</h3>
+
+<p> This enum defines where text can be wrapped in word wrap mode.
+<ul>
+<li><tt>QTextEdit::AtWhiteSpace</tt> - Don't use this deprecated value (it is a
+synonym for <a href="#WrapPolicy-enum">AtWordBoundary</a> which you should use instead).
+<li><tt>QTextEdit::Anywhere</tt> - Break anywhere, including within words.
+<li><tt>QTextEdit::AtWordBoundary</tt> - Break lines at word boundaries, e.g. spaces or
+newlines
+<li><tt>QTextEdit::AtWordOrDocumentBoundary</tt> - Break lines at whitespace, e.g.
+spaces or newlines if possible. Break it anywhere otherwise.
+</ul><p> <p>See also <a href="#wrapPolicy-prop">wrapPolicy</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextEdit"></a>QTextEdit::QTextEdit ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context = QString::null, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a QTextEdit called <em>name</em>, with parent <em>parent</em>. The
+text edit will display the text <em>text</em> using context <em>context</em>.
+<p> The <em>context</em> is a path which the text edit's <a href="qmimesourcefactory.html">QMimeSourceFactory</a>
+uses to resolve the locations of files and images. It is passed to
+the <a href="#mimeSourceFactory">mimeSourceFactory</a>() when quering data.
+<p> For example if the text contains an image tag,
+<tt>&lt;img src="image.png"&gt;</tt>, and the context is "path/to/look/in", the
+QMimeSourceFactory will try to load the image from
+"path/to/look/in/image.png". If the tag was
+<tt>&lt;img src="/image.png"&gt;</tt>, the context will not be used (because
+QMimeSourceFactory recognizes that we have used an absolute path)
+and will try to load "/image.png". The context is applied in exactly
+the same way to <em>hrefs</em>, for example,
+<tt>&lt;a href="target.html"&gt;Target&lt;/a&gt;</tt>, would resolve to
+"path/to/look/in/target.html".
+
+<h3 class=fn><a name="QTextEdit-2"></a>QTextEdit::QTextEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty QTextEdit called <em>name</em>, with parent <em>parent</em>.
+
+<h3 class=fn>int <a name="alignment"></a>QTextEdit::alignment () const
+</h3>
+Returns the alignment of the current paragraph.
+<p> <p>See also <a href="#setAlignment">setAlignment</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="anchorAt"></a>QTextEdit::anchorAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, <a href="qt.html#AnchorAttribute-enum">AnchorAttribute</a>&nbsp;attr )
+</h3>
+If there is an anchor at position <em>pos</em> (in contents
+coordinates), the text for attribute <em>attr</em> is returned,
+otherwise <a href="qstring.html#QString-null">QString::null</a> is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="anchorAt-2"></a>QTextEdit::anchorAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> If there is an anchor at position <em>pos</em> (in contents
+coordinates), its <tt>href</tt> is returned, otherwise <a href="qstring.html#QString-null">QString::null</a> is
+returned.
+
+<h3 class=fn>void <a name="append"></a>QTextEdit::append ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [virtual slot]</tt>
+</h3>
+Appends a new paragraph with <em>text</em> to the end of the text edit. Note that
+the undo/redo history is cleared by this function, and no undo
+history is kept for appends which makes them faster than
+<a href="#insert">insert</a>()s. If you want to append text which is added to the
+undo/redo history as well, use <a href="#insertParagraph">insertParagraph</a>().
+
+<p>Examples: <a href="clientserver-example.html#x805">network/clientserver/client/client.cpp</a>, <a href="clientserver-example.html#x786">network/clientserver/server/server.cpp</a>, <a href="httpd-example.html#x734">network/httpd/httpd.cpp</a>, and <a href="process-example.html#x103">process/process.cpp</a>.
+<h3 class=fn>uint <a name="autoFormatting"></a>QTextEdit::autoFormatting () const
+</h3><p>Returns the enabled set of auto formatting features.
+See the <a href="qtextedit.html#autoFormatting-prop">"autoFormatting"</a> property for details.
+<h3 class=fn>bool <a name="bold"></a>QTextEdit::bold () const
+</h3>
+Returns TRUE if the current format is bold; otherwise returns FALSE.
+<p> <p>See also <a href="#setBold">setBold</a>().
+
+<h3 class=fn>int <a name="charAt"></a>QTextEdit::charAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;*&nbsp;para ) const
+</h3>
+Returns the index of the character (relative to its paragraph) at
+position <em>pos</em> (in contents coordinates). If <em>para</em> is not 0,
+<em>*para</em> is set to the character's paragraph.
+
+<h3 class=fn>void <a name="clear"></a>QTextEdit::clear ()<tt> [virtual slot]</tt>
+</h3>
+Deletes all the text in the text edit.
+<p> <p>See also <a href="#cut">cut</a>(), <a href="#removeSelectedText">removeSelectedText</a>(), and <a href="#text-prop">text</a>.
+
+<h3 class=fn>void <a name="clearParagraphBackground"></a>QTextEdit::clearParagraphBackground ( int&nbsp;para )<tt> [virtual slot]</tt>
+</h3>
+Clears the background color of the paragraph <em>para</em>, so that the
+default color is used again.
+
+<h3 class=fn>void <a name="clicked"></a>QTextEdit::clicked ( int&nbsp;para, int&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the mouse is clicked on the paragraph
+<em>para</em> at character position <em>pos</em>.
+<p> <p>See also <a href="#doubleClicked">doubleClicked</a>().
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="color"></a>QTextEdit::color () const
+</h3>
+Returns the color of the current format.
+<p> <p>See also <a href="#setColor">setColor</a>() and <a href="#paper-prop">paper</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="context"></a>QTextEdit::context () const
+</h3>
+Returns the context of the text edit. The context is a path which
+the text edit's <a href="qmimesourcefactory.html">QMimeSourceFactory</a> uses to resolve the locations
+of files and images.
+<p> <p>See also <a href="#text-prop">text</a>.
+
+<p>Examples: <a href="qaction-application-example.html#x1164">action/application.cpp</a>, <a href="simple-application-example.html#x1582">application/application.cpp</a>, <a href="helpviewer-example.html#x1028">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2068">mdi/application.cpp</a>, and <a href="qdir-example.html#x1843">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="copy"></a>QTextEdit::copy ()<tt> [virtual slot]</tt>
+</h3>
+Copies any selected text (from selection 0) to the clipboard.
+<p> <p>See also <a href="#hasSelectedText-prop">hasSelectedText</a> and <a href="#copyAvailable">copyAvailable</a>().
+
+<h3 class=fn>void <a name="copyAvailable"></a>QTextEdit::copyAvailable ( bool&nbsp;yes )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when text is selected or de-selected in the
+text edit.
+<p> When text is selected this signal will be emitted with <em>yes</em> set
+to TRUE. If no text has been selected or if the selected text is
+de-selected this signal is emitted with <em>yes</em> set to FALSE.
+<p> If <em>yes</em> is TRUE then <a href="#copy">copy</a>() can be used to copy the selection to
+the clipboard. If <em>yes</em> is FALSE then copy() does nothing.
+<p> <p>See also <a href="#selectionChanged">selectionChanged</a>().
+
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="createPopupMenu"></a>QTextEdit::createPopupMenu ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )<tt> [virtual protected]</tt>
+</h3>
+This function is called to create a right mouse button popup menu
+at the document position <em>pos</em>. If you want to create a custom
+popup menu, reimplement this function and return the created popup
+menu. Ownership of the popup menu is transferred to the caller.
+<p> <b>Warning:</b> The <a href="qpopupmenu.html">QPopupMenu</a> ID values 0-7 are reserved, and they map to the
+standard operations. When inserting items into your custom popup menu, be
+sure to specify ID values larger than 7.
+
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="createPopupMenu-2"></a>QTextEdit::createPopupMenu ()<tt> [virtual protected]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function is called to create a right mouse button popup menu.
+If you want to create a custom popup menu, reimplement this function
+and return the created popup menu. Ownership of the popup menu is
+transferred to the caller.
+<p> This function is only called if <a href="#createPopupMenu">createPopupMenu</a>( const <a href="qpoint.html">QPoint</a> & )
+returns 0.
+
+<h3 class=fn>void <a name="currentAlignmentChanged"></a>QTextEdit::currentAlignmentChanged ( int&nbsp;a )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the alignment of the current paragraph
+has changed.
+<p> The new alignment is <em>a</em>.
+<p> <p>See also <a href="#setAlignment">setAlignment</a>().
+
+<h3 class=fn>void <a name="currentColorChanged"></a>QTextEdit::currentColorChanged ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the color of the current format has
+changed.
+<p> The new color is <em>c</em>.
+<p> <p>See also <a href="#setColor">setColor</a>().
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="currentFont"></a>QTextEdit::currentFont () const
+</h3>
+Returns the font of the current format.
+<p> <p>See also <a href="#setCurrentFont">setCurrentFont</a>(), <a href="#setFamily">setFamily</a>(), and <a href="#setPointSize">setPointSize</a>().
+
+<h3 class=fn>void <a name="currentFontChanged"></a>QTextEdit::currentFontChanged ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the font of the current format has
+changed.
+<p> The new font is <em>f</em>.
+<p> <p>See also <a href="#setCurrentFont">setCurrentFont</a>().
+
+<h3 class=fn>void <a name="currentVerticalAlignmentChanged"></a>QTextEdit::currentVerticalAlignmentChanged ( <a href="qtextedit.html#VerticalAlignment-enum">VerticalAlignment</a>&nbsp;a )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the vertical alignment of the current
+format has changed.
+<p> The new vertical alignment is <em>a</em>.
+<p> <p>See also <a href="#setVerticalAlignment">setVerticalAlignment</a>().
+
+<h3 class=fn>void <a name="cursorPositionChanged"></a>QTextEdit::cursorPositionChanged ( int&nbsp;para, int&nbsp;pos )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the position of the cursor has changed.
+<em>para</em> contains the paragraph index and <em>pos</em> contains the
+character position within the paragraph.
+<p> <p>See also <a href="#setCursorPosition">setCursorPosition</a>().
+
+<h3 class=fn>void <a name="cut"></a>QTextEdit::cut ()<tt> [virtual slot]</tt>
+</h3>
+Copies the selected text (from selection 0) to the clipboard and
+deletes it from the text edit.
+<p> If there is no selected text (in selection 0) nothing happens.
+<p> <p>See also <a href="#copy">QTextEdit::copy</a>(), <a href="#paste">paste</a>(), and <a href="#pasteSubType">pasteSubType</a>().
+
+<h3 class=fn>void <a name="del"></a>QTextEdit::del ()<tt> [virtual slot]</tt>
+</h3>
+If there is some selected text (in selection 0) it is deleted. If
+there is no selected text (in selection 0) the character to the
+right of the text cursor is deleted.
+<p> <p>See also <a href="#removeSelectedText">removeSelectedText</a>() and <a href="#cut">cut</a>().
+
+<h3 class=fn>void <a name="doKeyboardAction"></a>QTextEdit::doKeyboardAction ( <a href="qtextedit.html#KeyboardAction-enum">KeyboardAction</a>&nbsp;action )<tt> [virtual slot]</tt>
+</h3>
+Executes keyboard action <em>action</em>. This is normally called by a
+key event handler.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="documentTitle"></a>QTextEdit::documentTitle () const
+</h3><p>Returns the title of the document parsed from the text.
+See the <a href="qtextedit.html#documentTitle-prop">"documentTitle"</a> property for details.
+<h3 class=fn>void <a name="doubleClicked"></a>QTextEdit::doubleClicked ( int&nbsp;para, int&nbsp;pos )<tt> [signal]</tt>
+</h3>
+<p> This signal is emitted when the mouse is double-clicked on the
+paragraph <em>para</em> at character position <em>pos</em>.
+<p> <p>See also <a href="#clicked">clicked</a>().
+
+<h3 class=fn>void <a name="ensureCursorVisible"></a>QTextEdit::ensureCursorVisible ()<tt> [virtual slot]</tt>
+</h3>
+Ensures that the cursor is visible by scrolling the text edit if
+necessary.
+<p> <p>See also <a href="#setCursorPosition">setCursorPosition</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="family"></a>QTextEdit::family () const
+</h3>
+Returns the font family of the current format.
+<p> <p>See also <a href="#setFamily">setFamily</a>(), <a href="#setCurrentFont">setCurrentFont</a>(), and <a href="#setPointSize">setPointSize</a>().
+
+<h3 class=fn>bool <a name="find"></a>QTextEdit::find ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;expr, bool&nbsp;cs, bool&nbsp;wo, bool&nbsp;forward = TRUE, int&nbsp;*&nbsp;para = 0, int&nbsp;*&nbsp;index = 0 )<tt> [virtual]</tt>
+</h3>
+Finds the next occurrence of the string, <em>expr</em>. Returns TRUE if
+<em>expr</em> was found; otherwise returns FALSE.
+<p> If <em>para</em> and <em>index</em> are both 0 the search begins from the
+current cursor position. If <em>para</em> and <em>index</em> are both not 0,
+the search begins from the <em>*index</em> character position in the
+<em>*para</em> paragraph.
+<p> If <em>cs</em> is TRUE the search is case sensitive, otherwise it is
+case insensitive. If <em>wo</em> is TRUE the search looks for whole word
+matches only; otherwise it searches for any matching text. If <em>forward</em> is TRUE (the default) the search works forward from the
+starting position to the end of the text, otherwise it works
+backwards to the beginning of the text.
+<p> If <em>expr</em> is found the function returns TRUE. If <em>index</em> and <em>para</em> are not 0, the number of the paragraph in which the first
+character of the match was found is put into <em>*para</em>, and the
+index position of that character within the paragraph is put into
+<em>*index</em>.
+<p> If <em>expr</em> is not found the function returns FALSE. If <em>index</em>
+and <em>para</em> are not 0 and <em>expr</em> is not found, <em>*index</em>
+and <em>*para</em> are undefined.
+<p> Please note that this function will make the next occurrence of
+the string (if found) the current selection, and will thus
+modify the cursor position.
+<p> Using the <em>para</em> and <em>index</em> parameters will not work correctly
+in case the document contains tables.
+
+<h3 class=fn>bool <a name="focusNextPrevChild"></a>QTextEdit::focusNextPrevChild ( bool&nbsp;n )<tt> [virtual protected]</tt>
+</h3>
+Reimplemented to allow tabbing through links. If <em>n</em> is TRUE the
+tab moves the focus to the next child; if <em>n</em> is FALSE the tab
+moves the focus to the previous child. Returns TRUE if the focus
+was moved; otherwise returns FALSE.
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QTextEdit::font () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns <a href="qwidget.html#font">QScrollView::font</a>()
+<p> <b>Warning:</b> In previous versions this function returned the font of
+the current format. This lead to confusion. Please use
+<a href="#currentFont">currentFont</a>() instead.
+
+<p>Example: <a href="qwerty-example.html#x396">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="getCursorPosition"></a>QTextEdit::getCursorPosition ( int&nbsp;*&nbsp;para, int&nbsp;*&nbsp;index ) const
+</h3>
+This function sets the <em>*para</em> and <em>*index</em> parameters to the
+current cursor position. <em>para</em> and <em>index</em> must not be 0.
+<p> <p>See also <a href="#setCursorPosition">setCursorPosition</a>().
+
+<h3 class=fn>void <a name="getSelection"></a>QTextEdit::getSelection ( int&nbsp;*&nbsp;paraFrom, int&nbsp;*&nbsp;indexFrom, int&nbsp;*&nbsp;paraTo, int&nbsp;*&nbsp;indexTo, int&nbsp;selNum = 0 ) const
+</h3>
+If there is a selection, <em>*paraFrom</em> is set to the number of the
+paragraph in which the selection begins and <em>*paraTo</em> is set to
+the number of the paragraph in which the selection ends. (They
+could be the same.) <em>*indexFrom</em> is set to the index at which the
+selection begins within <em>*paraFrom</em>, and <em>*indexTo</em> is set to
+the index at which the selection ends within <em>*paraTo</em>.
+<p> If there is no selection, <em>*paraFrom</em>, <em>*indexFrom</em>, <em>*paraTo</em>
+and <em>*indexTo</em> are all set to -1.
+<p> If <em>paraFrom</em>, <em>indexFrom</em>, <em>paraTo</em> or <em>indexTo</em> is 0 this
+function does nothing.
+<p> The <em>selNum</em> is the number of the selection (multiple selections
+are supported). It defaults to 0 (the default selection).
+<p> <p>See also <a href="#setSelection">setSelection</a>() and <a href="#selectedText-prop">selectedText</a>.
+
+<h3 class=fn>bool <a name="hasSelectedText"></a>QTextEdit::hasSelectedText () const
+</h3><p>Returns TRUE if some text is selected in selection 0; otherwise returns FALSE.
+See the <a href="qtextedit.html#hasSelectedText-prop">"hasSelectedText"</a> property for details.
+<h3 class=fn>int <a name="heightForWidth"></a>QTextEdit::heightForWidth ( int&nbsp;w ) const<tt> [virtual]</tt>
+</h3>
+Returns how many pixels high the text edit needs to be to display
+all the text if the text edit is <em>w</em> pixels wide.
+
+<p>Reimplemented from <a href="qwidget.html#heightForWidth">QWidget</a>.
+<h3 class=fn>void <a name="insert"></a>QTextEdit::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, uint&nbsp;insertionFlags = CheckNewLines | RemoveSelected )<tt> [slot]</tt>
+</h3>
+Inserts <em>text</em> at the current cursor position.
+<p> The <em>insertionFlags</em> define how the text is inserted. If <a href="#TextInsertionFlags-enum">RedoIndentation</a> is set, the paragraph is re-indented. If <a href="#TextInsertionFlags-enum">CheckNewLines</a> is set, newline characters in <em>text</em> result in hard
+line breaks (i.e. new paragraphs). If <tt>checkNewLine</tt> is not set,
+the behaviour of the editor is undefined if the <em>text</em> contains
+newlines. (It is not possible to change QTextEdit's newline handling
+behavior, but you can use <a href="qstring.html#replace">QString::replace</a>() to preprocess text
+before inserting it.) If <a href="#TextInsertionFlags-enum">RemoveSelected</a> is set, any selected
+text (in selection 0) is removed before the text is inserted.
+<p> The default flags are <a href="#TextInsertionFlags-enum">CheckNewLines</a> | <a href="#TextInsertionFlags-enum">RemoveSelected</a>.
+<p> If the widget is in <a href="qt.html#TextFormat-enum">LogText</a> mode this function will do nothing.
+<p> <p>See also <a href="#paste">paste</a>() and <a href="#pasteSubType">pasteSubType</a>().
+
+<h3 class=fn>void <a name="insert-2"></a>QTextEdit::insert ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, bool&nbsp;indent, bool&nbsp;checkNewLine = TRUE, bool&nbsp;removeSelected = TRUE )<tt> [virtual slot]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="insertAt"></a>QTextEdit::insertAt ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;para, int&nbsp;index )<tt> [virtual slot]</tt>
+</h3>
+Inserts <em>text</em> in the paragraph <em>para</em> at position <em>index</em>.
+
+<h3 class=fn>void <a name="insertParagraph"></a>QTextEdit::insertParagraph ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;para )<tt> [virtual slot]</tt>
+</h3>
+Inserts <em>text</em> as a new paragraph at position <em>para</em>. If <em>para</em>
+is -1, the text is appended. Use <a href="#append">append</a>() if the append operation
+is performance critical.
+
+<h3 class=fn>bool <a name="isModified"></a>QTextEdit::isModified () const
+</h3><p>Returns TRUE if the document has been modified by the user; otherwise returns FALSE.
+See the <a href="qtextedit.html#modified-prop">"modified"</a> property for details.
+<h3 class=fn>bool <a name="isOverwriteMode"></a>QTextEdit::isOverwriteMode () const
+</h3><p>Returns the text edit's overwrite mode.
+See the <a href="qtextedit.html#overwriteMode-prop">"overwriteMode"</a> property for details.
+<h3 class=fn>bool <a name="isReadOnly"></a>QTextEdit::isReadOnly () const
+</h3><p>Returns TRUE if the text edit is read-only; otherwise returns FALSE.
+See the <a href="qtextedit.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>bool <a name="isRedoAvailable"></a>QTextEdit::isRedoAvailable () const
+</h3>
+Returns TRUE if redo is available; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isUndoAvailable"></a>QTextEdit::isUndoAvailable () const
+</h3>
+Returns TRUE if undo is available; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isUndoRedoEnabled"></a>QTextEdit::isUndoRedoEnabled () const
+</h3><p>Returns TRUE if undo/redo is enabled; otherwise returns FALSE.
+See the <a href="qtextedit.html#undoRedoEnabled-prop">"undoRedoEnabled"</a> property for details.
+<h3 class=fn>bool <a name="italic"></a>QTextEdit::italic () const
+</h3>
+Returns TRUE if the current format is italic; otherwise returns FALSE.
+<p> <p>See also <a href="#setItalic">setItalic</a>().
+
+<h3 class=fn>void <a name="keyPressEvent"></a>QTextEdit::keyPressEvent ( <a href="qkeyevent.html">QKeyEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Processes the key event, <em>e</em>. By default key events are used to
+provide keyboard navigation and text editing.
+
+<p>Reimplemented from <a href="qwidget.html#keyPressEvent">QWidget</a>.
+<p>Reimplemented in <a href="qtextbrowser.html#keyPressEvent">QTextBrowser</a>.
+<h3 class=fn>int <a name="length"></a>QTextEdit::length () const
+</h3><p>Returns the number of characters in the text.
+See the <a href="qtextedit.html#length-prop">"length"</a> property for details.
+<h3 class=fn>int <a name="lineOfChar"></a>QTextEdit::lineOfChar ( int&nbsp;para, int&nbsp;index )
+</h3>
+Returns the line number of the line in paragraph <em>para</em> in which
+the character at position <em>index</em> appears. The <em>index</em> position is
+relative to the beginning of the paragraph. If there is no such
+paragraph or no such character at the <em>index</em> position (e.g. the
+index is out of range) -1 is returned.
+
+<h3 class=fn>int <a name="lines"></a>QTextEdit::lines () const
+</h3>
+Returns the number of lines in the text edit; this could be 0.
+<p> <b>Warning:</b> This function may be slow. Lines change all the time
+during word wrapping, so this function has to iterate over all the
+paragraphs and get the number of lines from each one individually.
+
+<h3 class=fn>int <a name="linesOfParagraph"></a>QTextEdit::linesOfParagraph ( int&nbsp;para ) const
+</h3>
+Returns the number of lines in paragraph <em>para</em>, or -1 if there
+is no paragraph with index <em>para</em>.
+
+<h3 class=fn>bool <a name="linkUnderline"></a>QTextEdit::linkUnderline () const
+</h3><p>Returns TRUE if hypertext links will be underlined; otherwise returns FALSE.
+See the <a href="qtextedit.html#linkUnderline-prop">"linkUnderline"</a> property for details.
+<h3 class=fn>int <a name="maxLogLines"></a>QTextEdit::maxLogLines ()<tt> [slot]</tt>
+</h3>
+Returns the maximum number of lines QTextEdit can hold in <a href="qt.html#TextFormat-enum">LogText</a> mode. By default the number of lines is unlimited, which
+is signified by a value of -1.
+
+<h3 class=fn><a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;* <a name="mimeSourceFactory"></a>QTextEdit::mimeSourceFactory () const
+</h3>
+Returns the <a href="qmimesourcefactory.html">QMimeSourceFactory</a> which is being used by this text
+edit.
+<p> <p>See also <a href="#setMimeSourceFactory">setMimeSourceFactory</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1166">action/application.cpp</a>, <a href="simple-application-example.html#x1584">application/application.cpp</a>, <a href="helpviewer-example.html#x1030">helpviewer/helpwindow.cpp</a>, <a href="mdi-example.html#x2070">mdi/application.cpp</a>, and <a href="qdir-example.html#x1844">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="modificationChanged"></a>QTextEdit::modificationChanged ( bool&nbsp;m )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the modification status of the
+document has changed. If <em>m</em> is TRUE, the document was modified,
+otherwise the modification state has been reset to unmodified.
+<p> <p>See also <a href="#modified-prop">modified</a>.
+
+<h3 class=fn>void <a name="moveCursor"></a>QTextEdit::moveCursor ( <a href="qtextedit.html#CursorAction-enum">CursorAction</a>&nbsp;action, bool&nbsp;select )<tt> [virtual slot]</tt>
+</h3>
+Moves the text cursor according to <em>action</em>. This is normally
+used by some key event handler. <em>select</em> specifies whether the
+text between the current cursor position and the new position
+should be selected.
+
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="paper"></a>QTextEdit::paper () const
+</h3><p>Returns the background (paper) brush.
+See the <a href="qtextedit.html#paper-prop">"paper"</a> property for details.
+<h3 class=fn>int <a name="paragraphAt"></a>QTextEdit::paragraphAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Returns the paragraph which is at position <em>pos</em> (in contents
+coordinates).
+
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="paragraphBackgroundColor"></a>QTextEdit::paragraphBackgroundColor ( int&nbsp;para ) const
+</h3>
+Returns the background color of the paragraph <em>para</em> or an
+invalid color if <em>para</em> is out of range or the paragraph has no
+background set
+
+<h3 class=fn>int <a name="paragraphLength"></a>QTextEdit::paragraphLength ( int&nbsp;para ) const
+</h3>
+Returns the length of the paragraph <em>para</em> (i.e. the number of
+characters), or -1 if there is no paragraph with index <em>para</em>.
+<p> This function ignores newlines.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="paragraphRect"></a>QTextEdit::paragraphRect ( int&nbsp;para ) const
+</h3>
+Returns the rectangle of the paragraph <em>para</em> in contents
+coordinates, or an invalid rectangle if <em>para</em> is out of range.
+
+<h3 class=fn>int <a name="paragraphs"></a>QTextEdit::paragraphs () const
+</h3>
+Returns the number of paragraphs in the text; an empty textedit is always
+considered to have one paragraph, so 1 is returned in this case.
+
+<h3 class=fn>void <a name="paste"></a>QTextEdit::paste ()<tt> [virtual slot]</tt>
+</h3>
+Pastes the text from the clipboard into the text edit at the
+current cursor position. Only plain text is pasted.
+<p> If there is no text in the clipboard nothing happens.
+<p> <p>See also <a href="#pasteSubType">pasteSubType</a>(), <a href="#cut">cut</a>(), and <a href="#copy">QTextEdit::copy</a>().
+
+<h3 class=fn>void <a name="pasteSubType"></a>QTextEdit::pasteSubType ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;subtype )<tt> [virtual slot]</tt>
+</h3>
+Pastes the text with format <em>subtype</em> from the clipboard into the
+text edit at the current cursor position. The <em>subtype</em> can be
+"plain" or "html".
+<p> If there is no text with format <em>subtype</em> in the clipboard
+nothing happens.
+<p> <p>See also <a href="#paste">paste</a>(), <a href="#cut">cut</a>(), and <a href="#copy">QTextEdit::copy</a>().
+
+<h3 class=fn>void <a name="placeCursor"></a>QTextEdit::placeCursor ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, QTextCursor&nbsp;*&nbsp;c = 0 )<tt> [virtual slot]</tt>
+</h3>
+Places the cursor <em>c</em> at the character which is closest to position
+<em>pos</em> (in contents coordinates). If <em>c</em> is 0, the default text
+cursor is used.
+<p> <p>See also <a href="#setCursorPosition">setCursorPosition</a>().
+
+<h3 class=fn>int <a name="pointSize"></a>QTextEdit::pointSize () const
+</h3>
+Returns the point size of the font of the current format.
+<p> <p>See also <a href="#setFamily">setFamily</a>(), <a href="#setCurrentFont">setCurrentFont</a>(), and <a href="#setPointSize">setPointSize</a>().
+
+<h3 class=fn>void <a name="redo"></a>QTextEdit::redo ()<tt> [virtual slot]</tt>
+</h3>
+Redoes the last operation.
+<p> If there is no operation to redo, i.e. there is no redo step in
+the undo/redo history, nothing happens.
+<p> <p>See also <a href="#redoAvailable">redoAvailable</a>(), <a href="#undo">undo</a>(), and <a href="#undoDepth-prop">undoDepth</a>.
+
+<h3 class=fn>void <a name="redoAvailable"></a>QTextEdit::redoAvailable ( bool&nbsp;yes )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the availability of redo changes. If
+<em>yes</em> is TRUE, then <a href="#redo">redo</a>() will work until <a href="#redoAvailable">redoAvailable</a>( FALSE )
+is next emitted.
+<p> <p>See also <a href="#redo">redo</a>() and <a href="#undoDepth-prop">undoDepth</a>.
+
+<h3 class=fn>void <a name="removeParagraph"></a>QTextEdit::removeParagraph ( int&nbsp;para )<tt> [virtual slot]</tt>
+</h3>
+Removes the paragraph <em>para</em>.
+
+<h3 class=fn>void <a name="removeSelectedText"></a>QTextEdit::removeSelectedText ( int&nbsp;selNum = 0 )<tt> [virtual slot]</tt>
+</h3>
+Deletes the text of selection <em>selNum</em> (by default, the default
+selection, 0). If there is no selected text nothing happens.
+<p> <p>See also <a href="#selectedText-prop">selectedText</a> and <a href="#removeSelection">removeSelection</a>().
+
+<h3 class=fn>void <a name="removeSelection"></a>QTextEdit::removeSelection ( int&nbsp;selNum = 0 )<tt> [virtual slot]</tt>
+</h3>
+Removes the selection <em>selNum</em> (by default 0). This does not
+remove the selected text.
+<p> <p>See also <a href="#removeSelectedText">removeSelectedText</a>().
+
+<h3 class=fn>void <a name="repaintChanged"></a>QTextEdit::repaintChanged ()<tt> [protected]</tt>
+</h3>
+Repaints any paragraphs that have changed.
+<p> Although used extensively internally you shouldn't need to call
+this yourself.
+
+<h3 class=fn>void <a name="returnPressed"></a>QTextEdit::returnPressed ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if the user pressed the Return or the Enter
+key.
+
+<h3 class=fn>void <a name="scrollToAnchor"></a>QTextEdit::scrollToAnchor ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual slot]</tt>
+</h3>
+Scrolls the text edit to make the text at the anchor called <em>name</em> visible, if it can be found in the document. If the anchor
+isn't found no scrolling will occur. An anchor is defined using
+the HTML anchor tag, e.g. <tt>&lt;a name="target"&gt;</tt>.
+
+<h3 class=fn>void <a name="scrollToBottom"></a>QTextEdit::scrollToBottom ()<tt> [virtual slot]</tt>
+</h3>
+Scrolls to the bottom of the document and does formatting if
+required.
+
+<h3 class=fn>void <a name="selectAll"></a>QTextEdit::selectAll ( bool&nbsp;select = TRUE )<tt> [virtual slot]</tt>
+</h3>
+If <em>select</em> is TRUE (the default), all the text is selected as
+selection 0. If <em>select</em> is FALSE any selected text is
+unselected, i.e. the default selection (selection 0) is cleared.
+<p> <p>See also <a href="#selectedText-prop">selectedText</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedText"></a>QTextEdit::selectedText () const
+</h3><p>Returns the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0).
+See the <a href="qtextedit.html#selectedText-prop">"selectedText"</a> property for details.
+<h3 class=fn>void <a name="selectionChanged"></a>QTextEdit::selectionChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the selection changes.
+<p> <p>See also <a href="#setSelection">setSelection</a>() and <a href="#copyAvailable">copyAvailable</a>().
+
+<h3 class=fn>void <a name="setAlignment"></a>QTextEdit::setAlignment ( int&nbsp;a )<tt> [virtual slot]</tt>
+</h3>
+Sets the alignment of the current paragraph to <em>a</em>. Valid
+alignments are <a href="qt.html#AlignmentFlags-enum">Qt::AlignLeft</a>, <a href="qt.html#AlignmentFlags-enum">Qt::AlignRight</a>,
+<a href="qt.html#AlignmentFlags-enum">Qt::AlignJustify</a> and <a href="qt.html#AlignmentFlags-enum">Qt::AlignCenter</a> (which centers
+horizontally).
+
+<p>Reimplemented in <a href="qmultilineedit.html#setAlignment">QMultiLineEdit</a>.
+<h3 class=fn>void <a name="setAutoFormatting"></a>QTextEdit::setAutoFormatting ( uint&nbsp;features )
+</h3><p>Sets the enabled set of auto formatting features to <em>features</em>.
+See the <a href="qtextedit.html#autoFormatting-prop">"autoFormatting"</a> property for details.
+<h3 class=fn>void <a name="setBold"></a>QTextEdit::setBold ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3>
+If <em>b</em> is TRUE sets the current format to bold; otherwise sets
+the current format to non-bold.
+<p> <p>See also <a href="#bold">bold</a>().
+
+<h3 class=fn>void <a name="setColor"></a>QTextEdit::setColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [virtual slot]</tt>
+</h3>
+Sets the color of the current format, i.e. of the text, to <em>c</em>.
+<p> <p>See also <a href="#color">color</a>() and <a href="#paper-prop">paper</a>.
+
+<h3 class=fn>void <a name="setCurrentFont"></a>QTextEdit::setCurrentFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f )<tt> [virtual slot]</tt>
+</h3>
+
+<p> Sets the font of the current format to <em>f</em>.
+<p> If the widget is in <a href="qt.html#TextFormat-enum">LogText</a> mode this function will do
+nothing. Use <a href="qwidget.html#setFont">setFont</a>() instead.
+<p> <p>See also <a href="#currentFont">currentFont</a>(), <a href="#setPointSize">setPointSize</a>(), and <a href="#setFamily">setFamily</a>().
+
+<h3 class=fn>void <a name="setCursorPosition"></a>QTextEdit::setCursorPosition ( int&nbsp;para, int&nbsp;index )<tt> [virtual slot]</tt>
+</h3>
+Sets the cursor to position <em>index</em> in paragraph <em>para</em>.
+<p> <p>See also <a href="#getCursorPosition">getCursorPosition</a>().
+
+<h3 class=fn>void <a name="setFamily"></a>QTextEdit::setFamily ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;fontFamily )<tt> [virtual slot]</tt>
+</h3>
+Sets the font family of the current format to <em>fontFamily</em>.
+<p> <p>See also <a href="#family">family</a>() and <a href="#setCurrentFont">setCurrentFont</a>().
+
+<h3 class=fn>void <a name="setItalic"></a>QTextEdit::setItalic ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3>
+If <em>b</em> is TRUE sets the current format to italic; otherwise sets
+the current format to non-italic.
+<p> <p>See also <a href="#italic">italic</a>().
+
+<h3 class=fn>void <a name="setLinkUnderline"></a>QTextEdit::setLinkUnderline ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether hypertext links will be underlined.
+See the <a href="qtextedit.html#linkUnderline-prop">"linkUnderline"</a> property for details.
+<h3 class=fn>void <a name="setMaxLogLines"></a>QTextEdit::setMaxLogLines ( int&nbsp;limit )<tt> [slot]</tt>
+</h3>
+Sets the maximum number of lines a QTextEdit can hold in <a href="qt.html#TextFormat-enum">LogText</a> mode to <em>limit</em>. If <em>limit</em> is -1 (the default), this
+signifies an unlimited number of lines.
+<p> <b>Warning:</b> Never use formatting tags that span more than one line
+when the maximum log lines is set. When lines are removed from the
+top of the buffer it could result in an unbalanced tag pair, i.e.
+the left formatting tag is removed before the right one.
+
+<h3 class=fn>void <a name="setMimeSourceFactory"></a>QTextEdit::setMimeSourceFactory ( <a href="qmimesourcefactory.html">QMimeSourceFactory</a>&nbsp;*&nbsp;factory )<tt> [virtual slot]</tt>
+</h3>
+Sets the text edit's mimesource factory to <em>factory</em>. See
+<a href="qmimesourcefactory.html">QMimeSourceFactory</a> for further details.
+<p> <p>See also <a href="#mimeSourceFactory">mimeSourceFactory</a>().
+
+<h3 class=fn>void <a name="setModified"></a>QTextEdit::setModified ( bool&nbsp;m )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the document has been modified by the user to <em>m</em>.
+See the <a href="qtextedit.html#modified-prop">"modified"</a> property for details.
+<h3 class=fn>void <a name="setOverwriteMode"></a>QTextEdit::setOverwriteMode ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets the text edit's overwrite mode to <em>b</em>.
+See the <a href="qtextedit.html#overwriteMode-prop">"overwriteMode"</a> property for details.
+<h3 class=fn>void <a name="setPaper"></a>QTextEdit::setPaper ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;pap )<tt> [virtual slot]</tt>
+</h3><p>Sets the background (paper) brush to <em>pap</em>.
+See the <a href="qtextedit.html#paper-prop">"paper"</a> property for details.
+<h3 class=fn>void <a name="setParagraphBackgroundColor"></a>QTextEdit::setParagraphBackgroundColor ( int&nbsp;para, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;bg )<tt> [virtual slot]</tt>
+</h3>
+Sets the background color of the paragraph <em>para</em> to <em>bg</em>.
+
+<h3 class=fn>void <a name="setPointSize"></a>QTextEdit::setPointSize ( int&nbsp;s )<tt> [virtual slot]</tt>
+</h3>
+Sets the point size of the current format to <em>s</em>.
+<p> Note that if <em>s</em> is zero or negative, the behaviour of this
+function is not defined.
+<p> <p>See also <a href="#pointSize">pointSize</a>(), <a href="#setCurrentFont">setCurrentFont</a>(), and <a href="#setFamily">setFamily</a>().
+
+<h3 class=fn>void <a name="setReadOnly"></a>QTextEdit::setReadOnly ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the text edit is read-only to <em>b</em>.
+See the <a href="qtextedit.html#readOnly-prop">"readOnly"</a> property for details.
+<h3 class=fn>void <a name="setSelection"></a>QTextEdit::setSelection ( int&nbsp;paraFrom, int&nbsp;indexFrom, int&nbsp;paraTo, int&nbsp;indexTo, int&nbsp;selNum = 0 )<tt> [virtual slot]</tt>
+</h3>
+Sets a selection which starts at position <em>indexFrom</em> in
+paragraph <em>paraFrom</em> and ends at position <em>indexTo</em> in paragraph
+<em>paraTo</em>.
+<p> Any existing selections which have a different id (<em>selNum</em>) are
+left alone, but if an existing selection has the same id as <em>selNum</em> it is removed and replaced by this selection.
+<p> Uses the selection settings of selection <em>selNum</em>. If <em>selNum</em>
+is 0, this is the default selection.
+<p> The cursor is moved to the end of the selection if <em>selNum</em> is 0,
+otherwise the cursor position remains unchanged.
+<p> <p>See also <a href="#getSelection">getSelection</a>() and <a href="#selectedText-prop">selectedText</a>.
+
+<h3 class=fn>void <a name="setSelectionAttributes"></a>QTextEdit::setSelectionAttributes ( int&nbsp;selNum, const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;back, bool&nbsp;invertText )<tt> [virtual slot]</tt>
+</h3>
+Sets the background color of selection number <em>selNum</em> to <em>back</em>
+and specifies whether the text of this selection should be
+inverted with <em>invertText</em>.
+<p> This only works for <em>selNum</em> > 0. The default selection (<em>selNum</em> == 0) gets its attributes from the text edit's
+<a href="qwidget.html#colorGroup">colorGroup</a>().
+
+<h3 class=fn>void <a name="setStyleSheet"></a>QTextEdit::setStyleSheet ( <a href="qstylesheet.html">QStyleSheet</a>&nbsp;*&nbsp;styleSheet )<tt> [virtual slot]</tt>
+</h3>
+Sets the stylesheet to use with this text edit to <em>styleSheet</em>.
+Changes will only take effect for new text added with <a href="#setText">setText</a>() or
+<a href="#append">append</a>().
+<p> <p>See also <a href="#styleSheet">styleSheet</a>().
+
+<h3 class=fn>void <a name="setTabChangesFocus"></a>QTextEdit::setTabChangesFocus ( bool&nbsp;b )<tt> [slot]</tt>
+</h3><p>Sets whether TAB changes focus or is accepted as input to <em>b</em>.
+See the <a href="qtextedit.html#tabChangesFocus-prop">"tabChangesFocus"</a> property for details.
+<h3 class=fn>void <a name="setTabStopWidth"></a>QTextEdit::setTabStopWidth ( int&nbsp;ts )<tt> [virtual slot]</tt>
+</h3><p>Sets the tab stop width in pixels to <em>ts</em>.
+See the <a href="qtextedit.html#tabStopWidth-prop">"tabStopWidth"</a> property for details.
+<h3 class=fn>void <a name="setText"></a>QTextEdit::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt )<tt> [slot]</tt>
+</h3><p>Sets the text edit's text to <em>txt</em>.
+See the <a href="qtextedit.html#text-prop">"text"</a> property for details.
+<h3 class=fn>void <a name="setText-2"></a>QTextEdit::setText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;context )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Changes the text of the text edit to the string <em>text</em> and the
+context to <em>context</em>. Any previous text is removed.
+<p> <em>text</em> may be interpreted either as plain text or as rich text,
+depending on the <a href="#textFormat">textFormat</a>(). The default setting is <a href="qt.html#TextFormat-enum">AutoText</a>,
+i.e. the text edit auto-detects the format from <em>text</em>.
+<p> For rich text the rendering style and available tags are defined
+by a <a href="#styleSheet">styleSheet</a>(); see <a href="qstylesheet.html">QStyleSheet</a> for details.
+<p> The optional <em>context</em> is a path which the text edit's
+<a href="qmimesourcefactory.html">QMimeSourceFactory</a> uses to resolve the locations of files and
+images. (See <a href="#QTextEdit">QTextEdit::QTextEdit</a>().) It is passed to the text
+edit's QMimeSourceFactory when quering data.
+<p> Note that the undo/redo history is cleared by this function.
+<p> <p>See also <a href="#text-prop">text</a> and <a href="#textFormat-prop">textFormat</a>.
+
+<h3 class=fn>void <a name="setTextFormat"></a>QTextEdit::setTextFormat ( <a href="qt.html#TextFormat-enum">TextFormat</a>&nbsp;f )<tt> [virtual slot]</tt>
+</h3><p>Sets the text format: rich text, plain text, log text or auto text to <em>f</em>.
+See the <a href="qtextedit.html#textFormat-prop">"textFormat"</a> property for details.
+<h3 class=fn>void <a name="setUnderline"></a>QTextEdit::setUnderline ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3>
+If <em>b</em> is TRUE sets the current format to underline; otherwise
+sets the current format to non-underline.
+<p> <p>See also <a href="#underline">underline</a>().
+
+<h3 class=fn>void <a name="setUndoDepth"></a>QTextEdit::setUndoDepth ( int&nbsp;d )<tt> [virtual slot]</tt>
+</h3><p>Sets the depth of the undo history to <em>d</em>.
+See the <a href="qtextedit.html#undoDepth-prop">"undoDepth"</a> property for details.
+<h3 class=fn>void <a name="setUndoRedoEnabled"></a>QTextEdit::setUndoRedoEnabled ( bool&nbsp;b )<tt> [virtual slot]</tt>
+</h3><p>Sets whether undo/redo is enabled to <em>b</em>.
+See the <a href="qtextedit.html#undoRedoEnabled-prop">"undoRedoEnabled"</a> property for details.
+<h3 class=fn>void <a name="setVerticalAlignment"></a>QTextEdit::setVerticalAlignment ( <a href="qtextedit.html#VerticalAlignment-enum">VerticalAlignment</a>&nbsp;a )<tt> [virtual slot]</tt>
+</h3>
+Sets the vertical alignment of the current format, i.e. of the
+text, to <em>a</em>.
+<p> <p>See also <a href="#color">color</a>() and <a href="#paper-prop">paper</a>.
+
+<h3 class=fn>void <a name="setWordWrap"></a>QTextEdit::setWordWrap ( <a href="qtextedit.html#WordWrap-enum">WordWrap</a>&nbsp;mode )<tt> [virtual slot]</tt>
+</h3><p>Sets the word wrap mode to <em>mode</em>.
+See the <a href="qtextedit.html#wordWrap-prop">"wordWrap"</a> property for details.
+<h3 class=fn>void <a name="setWrapColumnOrWidth"></a>QTextEdit::setWrapColumnOrWidth ( int )<tt> [virtual slot]</tt>
+</h3><p>Sets the position (in pixels or columns depending on the wrap mode) where text will be wrapped.
+See the <a href="qtextedit.html#wrapColumnOrWidth-prop">"wrapColumnOrWidth"</a> property for details.
+<h3 class=fn>void <a name="setWrapPolicy"></a>QTextEdit::setWrapPolicy ( <a href="qtextedit.html#WrapPolicy-enum">WrapPolicy</a>&nbsp;policy )<tt> [virtual slot]</tt>
+</h3><p>Sets the word wrap policy, at whitespace or anywhere to <em>policy</em>.
+See the <a href="qtextedit.html#wrapPolicy-prop">"wrapPolicy"</a> property for details.
+<h3 class=fn><a href="qstylesheet.html">QStyleSheet</a>&nbsp;* <a name="styleSheet"></a>QTextEdit::styleSheet () const
+</h3>
+Returns the <a href="qstylesheet.html">QStyleSheet</a> which is being used by this text edit.
+<p> <p>See also <a href="#setStyleSheet">setStyleSheet</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1169">action/application.cpp</a>, <a href="simple-application-example.html#x1587">application/application.cpp</a>, <a href="helpviewer-example.html#x1031">helpviewer/helpwindow.cpp</a>, and <a href="mdi-example.html#x2072">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="sync"></a>QTextEdit::sync ()<tt> [virtual slot]</tt>
+</h3>
+QTextEdit is optimized for large amounts text. One of its
+optimizations is to format only the visible text, formatting the rest
+on demand, e.g. as the user scrolls, so you don't usually need to
+call this function.
+<p> In some situations you may want to force the whole text
+to be formatted. For example, if after calling <a href="#setText">setText</a>(), you wanted
+to know the height of the document (using <a href="qscrollview.html#contentsHeight">contentsHeight</a>()), you
+would call this function first.
+
+<h3 class=fn><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a>&nbsp;* <a name="syntaxHighlighter"></a>QTextEdit::syntaxHighlighter () const
+</h3>
+Returns the <a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a> set on this QTextEdit. 0 is
+returned if no syntax highlighter is set.
+
+<h3 class=fn>bool <a name="tabChangesFocus"></a>QTextEdit::tabChangesFocus () const
+</h3><p>Returns TRUE if TAB changes focus or is accepted as input; otherwise returns FALSE.
+See the <a href="qtextedit.html#tabChangesFocus-prop">"tabChangesFocus"</a> property for details.
+<h3 class=fn>int <a name="tabStopWidth"></a>QTextEdit::tabStopWidth () const
+</h3><p>Returns the tab stop width in pixels.
+See the <a href="qtextedit.html#tabStopWidth-prop">"tabStopWidth"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QTextEdit::text () const
+</h3><p>Returns the text edit's text.
+See the <a href="qtextedit.html#text-prop">"text"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-2"></a>QTextEdit::text ( int&nbsp;para ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the text of paragraph <em>para</em>.
+<p> If <a href="#textFormat">textFormat</a>() is <a href="qt.html#TextFormat-enum">RichText</a> the text will contain HTML
+formatting tags.
+
+<h3 class=fn>void <a name="textChanged"></a>QTextEdit::textChanged ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the text in the text edit changes.
+<p> <p>See also <a href="#text-prop">text</a> and <a href="#append">append</a>().
+
+<p>Examples: <a href="qwerty-example.html#x400">qwerty/qwerty.cpp</a> and <a href="rot-example.html#x1375">rot13/rot13.cpp</a>.
+<h3 class=fn>QTextCursor * <a name="textCursor"></a>QTextEdit::textCursor () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns the text edit's text cursor.
+<p> <b>Warning:</b> QTextCursor is not in the public API, but in special
+circumstances you might wish to use it.
+
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat"></a>QTextEdit::textFormat () const
+</h3><p>Returns the text format: rich text, plain text, log text or auto text.
+See the <a href="qtextedit.html#textFormat-prop">"textFormat"</a> property for details.
+<h3 class=fn>bool <a name="underline"></a>QTextEdit::underline () const
+</h3>
+Returns TRUE if the current format is underlined; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setUnderline">setUnderline</a>().
+
+<h3 class=fn>void <a name="undo"></a>QTextEdit::undo ()<tt> [virtual slot]</tt>
+</h3>
+Undoes the last operation.
+<p> If there is no operation to undo, i.e. there is no undo step in
+the undo/redo history, nothing happens.
+<p> <p>See also <a href="#undoAvailable">undoAvailable</a>(), <a href="#redo">redo</a>(), and <a href="#undoDepth-prop">undoDepth</a>.
+
+<h3 class=fn>void <a name="undoAvailable"></a>QTextEdit::undoAvailable ( bool&nbsp;yes )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the availability of undo changes. If
+<em>yes</em> is TRUE, then <a href="#undo">undo</a>() will work until <a href="#undoAvailable">undoAvailable</a>( FALSE )
+is next emitted.
+<p> <p>See also <a href="#undo">undo</a>() and <a href="#undoDepth-prop">undoDepth</a>.
+
+<h3 class=fn>int <a name="undoDepth"></a>QTextEdit::undoDepth () const
+</h3><p>Returns the depth of the undo history.
+See the <a href="qtextedit.html#undoDepth-prop">"undoDepth"</a> property for details.
+<h3 class=fn><a href="qtextedit.html#WordWrap-enum">WordWrap</a> <a name="wordWrap"></a>QTextEdit::wordWrap () const
+</h3><p>Returns the word wrap mode.
+See the <a href="qtextedit.html#wordWrap-prop">"wordWrap"</a> property for details.
+<h3 class=fn>int <a name="wrapColumnOrWidth"></a>QTextEdit::wrapColumnOrWidth () const
+</h3><p>Returns the position (in pixels or columns depending on the wrap mode) where text will be wrapped.
+See the <a href="qtextedit.html#wrapColumnOrWidth-prop">"wrapColumnOrWidth"</a> property for details.
+<h3 class=fn><a href="qtextedit.html#WrapPolicy-enum">WrapPolicy</a> <a name="wrapPolicy"></a>QTextEdit::wrapPolicy () const
+</h3><p>Returns the word wrap policy, at whitespace or anywhere.
+See the <a href="qtextedit.html#wrapPolicy-prop">"wrapPolicy"</a> property for details.
+<h3 class=fn>void <a name="zoomIn"></a>QTextEdit::zoomIn ( int&nbsp;range )<tt> [virtual slot]</tt>
+</h3>
+Zooms in on the text by making the base font size <em>range</em>
+points larger and recalculating all font sizes to be the new size.
+This does not change the size of any images.
+<p> <p>See also <a href="#zoomOut">zoomOut</a>().
+
+<h3 class=fn>void <a name="zoomIn-2"></a>QTextEdit::zoomIn ()<tt> [virtual slot]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Zooms in on the text by making the base font size one point
+larger and recalculating all font sizes to be the new size. This
+does not change the size of any images.
+<p> <p>See also <a href="#zoomOut">zoomOut</a>().
+
+<h3 class=fn>void <a name="zoomOut"></a>QTextEdit::zoomOut ( int&nbsp;range )<tt> [virtual slot]</tt>
+</h3>
+Zooms out on the text by making the base font size <em>range</em> points
+smaller and recalculating all font sizes to be the new size. This
+does not change the size of any images.
+<p> <p>See also <a href="#zoomIn">zoomIn</a>().
+
+<h3 class=fn>void <a name="zoomOut-2"></a>QTextEdit::zoomOut ()<tt> [virtual slot]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Zooms out on the text by making the base font size one point
+smaller and recalculating all font sizes to be the new size. This
+does not change the size of any images.
+<p> <p>See also <a href="#zoomIn">zoomIn</a>().
+
+<h3 class=fn>void <a name="zoomTo"></a>QTextEdit::zoomTo ( int&nbsp;size )<tt> [virtual slot]</tt>
+</h3>
+Zooms the text by making the base font size <em>size</em> points and
+recalculating all font sizes to be the new size. This does not
+change the size of any images.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qtextedit.html#AutoFormatting-enum">AutoFormatting</a> <a name="autoFormatting-prop"></a>autoFormatting</h3>
+<p>This property holds the enabled set of auto formatting features.
+<p>The value can be any combination of the values in the <a href="#AutoFormatting-enum">AutoFormatting</a> enum. The default is <a href="#AutoFormatting-enum">AutoAll</a>. Choose <a href="#AutoFormatting-enum">AutoNone</a>
+to disable all automatic formatting.
+<p> Currently, the only automatic formatting feature provided is <a href="#AutoFormatting-enum">AutoBulletList</a>; future versions of Qt may offer more.
+
+<p>Set this property's value with <a href="#setAutoFormatting">setAutoFormatting</a>() and get this property's value with <a href="#autoFormatting">autoFormatting</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="documentTitle-prop"></a>documentTitle</h3>
+<p>This property holds the title of the document parsed from the text.
+<p>For <a href="qt.html#TextFormat-enum">PlainText</a> the title will be an empty string. For <a href="qt.html#TextFormat-enum">RichText</a> the title will be the text between the <tt>&lt;title&gt;</tt> tags,
+if present, otherwise an empty string.
+
+<p>Get this property's value with <a href="#documentTitle">documentTitle</a>().
+<h3 class=fn>bool <a name="hasSelectedText-prop"></a>hasSelectedText</h3>
+<p>This property holds whether some text is selected in selection 0.
+<p>
+<p>Get this property's value with <a href="#hasSelectedText">hasSelectedText</a>().
+<h3 class=fn>int <a name="length-prop"></a>length</h3>
+<p>This property holds the number of characters in the text.
+<p>
+<p>Get this property's value with <a href="#length">length</a>().
+<h3 class=fn>bool <a name="linkUnderline-prop"></a>linkUnderline</h3>
+<p>This property holds whether hypertext links will be underlined.
+<p>If TRUE (the default) hypertext links will be displayed
+underlined. If FALSE links will not be displayed underlined.
+
+<p>Set this property's value with <a href="#setLinkUnderline">setLinkUnderline</a>() and get this property's value with <a href="#linkUnderline">linkUnderline</a>().
+<h3 class=fn>bool <a name="modified-prop"></a>modified</h3>
+<p>This property holds whether the document has been modified by the user.
+<p>
+<p>Set this property's value with <a href="#setModified">setModified</a>() and get this property's value with <a href="#isModified">isModified</a>().
+<h3 class=fn>bool <a name="overwriteMode-prop"></a>overwriteMode</h3>
+<p>This property holds the text edit's overwrite mode.
+<p>If FALSE (the default) characters entered by the user are inserted
+with any characters to the right being moved out of the way. If
+TRUE, the editor is in overwrite mode, i.e. characters entered by
+the user overwrite any characters to the right of the cursor
+position.
+
+<p>Set this property's value with <a href="#setOverwriteMode">setOverwriteMode</a>() and get this property's value with <a href="#isOverwriteMode">isOverwriteMode</a>().
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="paper-prop"></a>paper</h3>
+<p>This property holds the background (paper) brush.
+<p>The brush that is currently used to draw the background of the
+text edit. The initial setting is an empty brush.
+
+<p>Set this property's value with <a href="#setPaper">setPaper</a>() and get this property's value with <a href="#paper">paper</a>().
+<h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the text edit is read-only.
+<p>In a read-only text edit the user can only navigate through the
+text and select text; modifying the text is not possible.
+<p> This property's default is FALSE.
+
+<p>Set this property's value with <a href="#setReadOnly">setReadOnly</a>() and get this property's value with <a href="#isReadOnly">isReadOnly</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedText-prop"></a>selectedText</h3>
+<p>This property holds the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0).
+<p>The text is always returned as <a href="qt.html#TextFormat-enum">PlainText</a> if the <a href="#textFormat">textFormat</a>() is
+<a href="qt.html#TextFormat-enum">PlainText</a> or <a href="qt.html#TextFormat-enum">AutoText</a>, otherwise it is returned as HTML.
+<p> <p>See also <a href="#hasSelectedText-prop">hasSelectedText</a>.
+
+<p>Get this property's value with <a href="#selectedText">selectedText</a>().
+<h3 class=fn>bool <a name="tabChangesFocus-prop"></a>tabChangesFocus</h3> <p>This property holds whether TAB changes focus or is accepted as input.
+<p>In some occasions text edits should not allow the user to input
+tabulators or change indentation using the TAB key, as this breaks
+the focus chain. The default is FALSE.
+<p>
+<p>Set this property's value with <a href="#setTabChangesFocus">setTabChangesFocus</a>() and get this property's value with <a href="#tabChangesFocus">tabChangesFocus</a>().
+<h3 class=fn>int <a name="tabStopWidth-prop"></a>tabStopWidth</h3>
+<p>This property holds the tab stop width in pixels.
+<p>
+<p>Set this property's value with <a href="#setTabStopWidth">setTabStopWidth</a>() and get this property's value with <a href="#tabStopWidth">tabStopWidth</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text-prop"></a>text</h3>
+<p>This property holds the text edit's text.
+<p>There is no default text.
+<p> On setting, any previous text is deleted.
+<p> The text may be interpreted either as plain text or as rich text,
+depending on the <a href="#textFormat">textFormat</a>(). The default setting is <a href="qt.html#TextFormat-enum">AutoText</a>,
+i.e. the text edit auto-detects the format of the text.
+<p> For richtext, calling <a href="#text">text</a>() on an editable QTextEdit will cause
+the text to be regenerated from the textedit. This may mean that
+the <a href="qstring.html">QString</a> returned may not be exactly the same as the one that
+was set.
+<p> <p>See also <a href="#textFormat-prop">textFormat</a>.
+
+<p>Set this property's value with <a href="#setText">setText</a>() and get this property's value with <a href="#text">text</a>().
+<h3 class=fn><a href="qt.html#TextFormat-enum">TextFormat</a> <a name="textFormat-prop"></a>textFormat</h3>
+<p>This property holds the text format: rich text, plain text, log text or auto text.
+<p>The text format is one of the following:
+<ul>
+<li> PlainText - all characters, except newlines, are displayed
+verbatim, including spaces. Whenever a newline appears in the text
+the text edit inserts a hard line break and begins a new
+paragraph.
+<li> RichText - rich text rendering. The available styles are
+defined in the default stylesheet <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>().
+<li> LogText - optimized mode for very large texts. Supports a very
+limited set of formatting tags (color, bold, underline and italic
+settings).
+<li> AutoText - this is the default. The text edit autodetects which
+rendering style is best, <a href="qt.html#TextFormat-enum">PlainText</a> or <a href="qt.html#TextFormat-enum">RichText</a>. This is done
+by using the <a href="qstylesheet.html#mightBeRichText">QStyleSheet::mightBeRichText</a>() function.
+</ul>
+
+<p>Set this property's value with <a href="#setTextFormat">setTextFormat</a>() and get this property's value with <a href="#textFormat">textFormat</a>().
+<h3 class=fn>int <a name="undoDepth-prop"></a>undoDepth</h3>
+<p>This property holds the depth of the undo history.
+<p>The maximum number of steps in the undo/redo history. The default
+is 100.
+<p> <p>See also <a href="#undo">undo</a>() and <a href="#redo">redo</a>().
+
+<p>Set this property's value with <a href="#setUndoDepth">setUndoDepth</a>() and get this property's value with <a href="#undoDepth">undoDepth</a>().
+<h3 class=fn>bool <a name="undoRedoEnabled-prop"></a>undoRedoEnabled</h3>
+<p>This property holds whether undo/redo is enabled.
+<p>When changing this property, the undo/redo history is cleared.
+<p> The default is TRUE.
+
+<p>Set this property's value with <a href="#setUndoRedoEnabled">setUndoRedoEnabled</a>() and get this property's value with <a href="#isUndoRedoEnabled">isUndoRedoEnabled</a>().
+<h3 class=fn><a href="qtextedit.html#WordWrap-enum">WordWrap</a> <a name="wordWrap-prop"></a>wordWrap</h3>
+<p>This property holds the word wrap mode.
+<p>The default mode is <a href="#WordWrap-enum">WidgetWidth</a> which causes words to be
+wrapped at the right edge of the text edit. Wrapping occurs at
+whitespace, keeping whole words intact. If you want wrapping to
+occur within words use <a href="#setWrapPolicy">setWrapPolicy</a>(). If you set a wrap mode of
+<a href="#WordWrap-enum">FixedPixelWidth</a> or <a href="#WordWrap-enum">FixedColumnWidth</a> you should also call
+<a href="#setWrapColumnOrWidth">setWrapColumnOrWidth</a>() with the width you want.
+<p> <p>See also <a href="#WordWrap-enum">WordWrap</a>, <a href="#wrapColumnOrWidth-prop">wrapColumnOrWidth</a>, and <a href="#wrapPolicy-prop">wrapPolicy</a>.
+
+<p>Set this property's value with <a href="#setWordWrap">setWordWrap</a>() and get this property's value with <a href="#wordWrap">wordWrap</a>().
+<h3 class=fn>int <a name="wrapColumnOrWidth-prop"></a>wrapColumnOrWidth</h3>
+<p>This property holds the position (in pixels or columns depending on the wrap mode) where text will be wrapped.
+<p>If the wrap mode is <a href="#WordWrap-enum">FixedPixelWidth</a>, the value is the number of
+pixels from the left edge of the text edit at which text should be
+wrapped. If the wrap mode is <a href="#WordWrap-enum">FixedColumnWidth</a>, the value is the
+column number (in character columns) from the left edge of the
+text edit at which text should be wrapped.
+<p> <p>See also <a href="#wordWrap-prop">wordWrap</a>.
+
+<p>Set this property's value with <a href="#setWrapColumnOrWidth">setWrapColumnOrWidth</a>() and get this property's value with <a href="#wrapColumnOrWidth">wrapColumnOrWidth</a>().
+<h3 class=fn><a href="qtextedit.html#WrapPolicy-enum">WrapPolicy</a> <a name="wrapPolicy-prop"></a>wrapPolicy</h3>
+<p>This property holds the word wrap policy, at whitespace or anywhere.
+<p>Defines where text can be wrapped when word wrap mode is not <a href="#WordWrap-enum">NoWrap</a>. The choices are <a href="#WrapPolicy-enum">AtWordBoundary</a> (the default), <a href="#WrapPolicy-enum">Anywhere</a> and <a href="#WrapPolicy-enum">AtWordOrDocumentBoundary</a>
+<p> <p>See also <a href="#wordWrap-prop">wordWrap</a>.
+
+<p>Set this property's value with <a href="#setWrapPolicy">setWrapPolicy</a>() and get this property's value with <a href="#wrapPolicy">wrapPolicy</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextencoder-members.html b/doc/html/qtextencoder-members.html
new file mode 100644
index 0000000..bfbacb0
--- /dev/null
+++ b/doc/html/qtextencoder-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextcodec.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextEncoder Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextEncoder</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextencoder.html">QTextEncoder</a>, including inherited members.
+
+<ul>
+<li><a href="qtextencoder.html#~QTextEncoder">~QTextEncoder</a>()
+<li><a href="qtextencoder.html#fromUnicode">fromUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextencoder.html b/doc/html/qtextencoder.html
new file mode 100644
index 0000000..ea3a779
--- /dev/null
+++ b/doc/html/qtextencoder.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qtextcodec.cpp:1159 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextEncoder Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextEncoder Class Reference</h1>
+
+<p>The QTextEncoder class provides a state-based encoder.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;</tt>
+<p><a href="qtextencoder-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual <a href="#~QTextEncoder"><b>~QTextEncoder</b></a> ()</li>
+<li class=fn>virtual QCString <a href="#fromUnicode"><b>fromUnicode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTextEncoder class provides a state-based encoder.
+
+
+<p> The encoder converts Unicode into another format, remembering any
+state that is required between calls.
+<p> <p>See also <a href="qtextcodec.html#makeEncoder">QTextCodec::makeEncoder</a>() and <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="~QTextEncoder"></a>QTextEncoder::~QTextEncoder ()<tt> [virtual]</tt>
+</h3>
+Destroys the encoder.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="fromUnicode"></a>QTextEncoder::fromUnicode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Converts <em>lenInOut</em> characters (not bytes) from <em>uc</em>, producing
+a <a href="qcstring.html">QCString</a>. <em>lenInOut</em> will be set to the <a href="qcstring.html#length">length</a> of the result (in bytes).
+<p> The encoder is free to record state to use when subsequent calls
+are made to this function (for example, it might change modes with
+escape sequences if needed during the encoding of one string, then
+assume that mode applies when a subsequent call begins).
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextistream-members.html b/doc/html/qtextistream-members.html
new file mode 100644
index 0000000..2d09592
--- /dev/null
+++ b/doc/html/qtextistream-members.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextstream.h:198 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextIStream Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextIStream</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextistream.html">QTextIStream</a>, including inherited members.
+
+<ul>
+<li><a href="qtextistream.html#QTextIStream">QTextIStream</a>()
+<li><a href="qtextstream.html#atEnd">atEnd</a>()
+<li><a href="qtextstream.html#codec">codec</a>()
+<li><a href="qtextstream.html#device">device</a>()
+<li><a href="qtextstream.html#eof">eof</a>()
+<li><a href="qtextstream.html#fill">fill</a>()
+<li><a href="qtextstream.html#flags">flags</a>()
+<li><a href="qtextstream.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qtextstream.html#operator-gt-gt">operator&gt;&gt;</a>()
+<li><a href="qtextstream.html#precision">precision</a>()
+<li><a href="qtextstream.html#read">read</a>()
+<li><a href="qtextstream.html#readLine">readLine</a>()
+<li><a href="qtextstream.html#readRawBytes">readRawBytes</a>()
+<li><a href="qtextstream.html#reset">reset</a>()
+<li><a href="qtextstream.html#setCodec">setCodec</a>()
+<li><a href="qtextstream.html#setDevice">setDevice</a>()
+<li><a href="qtextstream.html#setEncoding">setEncoding</a>()
+<li><a href="qtextstream.html#setf">setf</a>()
+<li><a href="qtextstream.html#skipWhiteSpace">skipWhiteSpace</a>()
+<li><a href="qtextstream.html#unsetDevice">unsetDevice</a>()
+<li><a href="qtextstream.html#unsetf">unsetf</a>()
+<li><a href="qtextstream.html#width">width</a>()
+<li><a href="qtextstream.html#writeRawBytes">writeRawBytes</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextistream.html b/doc/html/qtextistream.html
new file mode 100644
index 0000000..ea3b97a
--- /dev/null
+++ b/doc/html/qtextistream.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qtextstream.cpp:2373 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextIStream Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextIStream Class Reference</h1>
+
+<p>The QTextIStream class is a convenience class for input streams.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;</tt>
+<p>Inherits <a href="qtextstream.html">QTextStream</a>.
+<p><a href="qtextistream-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTextIStream"><b>QTextIStream</b></a> ( const&nbsp;QString&nbsp;*&nbsp;s )</li>
+<li class=fn><a href="#QTextIStream-2"><b>QTextIStream</b></a> ( QByteArray&nbsp;ba )</li>
+<li class=fn><a href="#QTextIStream-3"><b>QTextIStream</b></a> ( FILE&nbsp;*&nbsp;f )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QTextIStream class is a convenience class for input streams.
+<p>
+
+<p> This class provides a shorthand for creating simple input
+<a href="qtextstream.html">QTextStream</a>s without having to pass a <em>mode</em> argument to the
+constructor.
+<p> This class makes it easy, for example, to write things like this:
+<pre>
+ <a href="qstring.html">QString</a> data = "123 456";
+ int a, b;
+ <a href="#QTextIStream">QTextIStream</a>(&amp;data) &gt;&gt; a &gt;&gt; b;
+ </pre>
+
+<p> <p>See also <a href="qtextostream.html">QTextOStream</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextIStream"></a>QTextIStream::QTextIStream ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;*&nbsp;s )
+</h3>
+
+<p> Constructs a stream to read from the string <em>s</em>.
+
+<h3 class=fn><a name="QTextIStream-2"></a>QTextIStream::QTextIStream ( <a href="qbytearray.html">QByteArray</a>&nbsp;ba )
+</h3>
+
+<p> Constructs a stream to read from the array <em>ba</em>.
+
+<h3 class=fn><a name="QTextIStream-3"></a>QTextIStream::QTextIStream ( FILE&nbsp;*&nbsp;f )
+</h3>
+
+<p> Constructs a stream to read from the file <em>f</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextostream-members.html b/doc/html/qtextostream-members.html
new file mode 100644
index 0000000..e767361
--- /dev/null
+++ b/doc/html/qtextostream-members.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextstream.h:214 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextOStream Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextOStream</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextostream.html">QTextOStream</a>, including inherited members.
+
+<ul>
+<li><a href="qtextostream.html#QTextOStream">QTextOStream</a>()
+<li><a href="qtextstream.html#atEnd">atEnd</a>()
+<li><a href="qtextstream.html#codec">codec</a>()
+<li><a href="qtextstream.html#device">device</a>()
+<li><a href="qtextstream.html#eof">eof</a>()
+<li><a href="qtextstream.html#fill">fill</a>()
+<li><a href="qtextstream.html#flags">flags</a>()
+<li><a href="qtextstream.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qtextstream.html#operator-gt-gt">operator&gt;&gt;</a>()
+<li><a href="qtextstream.html#precision">precision</a>()
+<li><a href="qtextstream.html#read">read</a>()
+<li><a href="qtextstream.html#readLine">readLine</a>()
+<li><a href="qtextstream.html#readRawBytes">readRawBytes</a>()
+<li><a href="qtextstream.html#reset">reset</a>()
+<li><a href="qtextstream.html#setCodec">setCodec</a>()
+<li><a href="qtextstream.html#setDevice">setDevice</a>()
+<li><a href="qtextstream.html#setEncoding">setEncoding</a>()
+<li><a href="qtextstream.html#setf">setf</a>()
+<li><a href="qtextstream.html#skipWhiteSpace">skipWhiteSpace</a>()
+<li><a href="qtextstream.html#unsetDevice">unsetDevice</a>()
+<li><a href="qtextstream.html#unsetf">unsetf</a>()
+<li><a href="qtextstream.html#width">width</a>()
+<li><a href="qtextstream.html#writeRawBytes">writeRawBytes</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextostream.html b/doc/html/qtextostream.html
new file mode 100644
index 0000000..c1af17b
--- /dev/null
+++ b/doc/html/qtextostream.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qtextstream.cpp:2412 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextOStream Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextOStream Class Reference</h1>
+
+<p>The QTextOStream class is a convenience class for output streams.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;</tt>
+<p>Inherits <a href="qtextstream.html">QTextStream</a>.
+<p><a href="qtextostream-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTextOStream"><b>QTextOStream</b></a> ( QString&nbsp;*&nbsp;s )</li>
+<li class=fn><a href="#QTextOStream-2"><b>QTextOStream</b></a> ( QByteArray&nbsp;ba )</li>
+<li class=fn><a href="#QTextOStream-3"><b>QTextOStream</b></a> ( FILE&nbsp;*&nbsp;f )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QTextOStream class is a convenience class for output streams.
+<p>
+
+<p> This class provides a shorthand for creating simple output
+<a href="qtextstream.html">QTextStream</a>s without having to pass a <em>mode</em> argument to the
+constructor.
+<p> This makes it easy for example, to write things like this:
+<pre>
+ <a href="qstring.html">QString</a> result;
+ <a href="#QTextOStream">QTextOStream</a>(&amp;result) &lt;&lt; "pi = " &lt;&lt; 3.14;
+ </pre>
+
+<p>See also <a href="io.html">Input/Output and Networking</a> and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextOStream"></a>QTextOStream::QTextOStream ( <a href="qstring.html">QString</a>&nbsp;*&nbsp;s )
+</h3>
+
+<p> Constructs a stream to write to string <em>s</em>.
+
+<h3 class=fn><a name="QTextOStream-2"></a>QTextOStream::QTextOStream ( <a href="qbytearray.html">QByteArray</a>&nbsp;ba )
+</h3>
+
+<p> Constructs a stream to write to the array <em>ba</em>.
+
+<h3 class=fn><a name="QTextOStream-3"></a>QTextOStream::QTextOStream ( FILE&nbsp;*&nbsp;f )
+</h3>
+
+<p> Constructs a stream to write to the file <em>f</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextstream-h.html b/doc/html/qtextstream-h.html
new file mode 100644
index 0000000..0d76c90
--- /dev/null
+++ b/doc/html/qtextstream-h.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextstream.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextstream.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextstream.h</h1>
+
+<p>This is the verbatim text of the qtextstream.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextstream.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QTextStream class
+**
+** Created : 940922
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTSTREAM_H
+#define QTEXTSTREAM_H
+
+#ifndef QT_H
+#include "qiodevice.h"
+#include "qstring.h"
+#include &lt;stdio.h&gt;
+#endif // QT_H
+
+#ifndef QT_NO_TEXTSTREAM
+class QTextCodec;
+class QTextDecoder;
+
+class QTextStreamPrivate;
+
+class Q_EXPORT QTextStream // text stream class
+{
+public:
+ enum Encoding { Locale, Latin1, Unicode, UnicodeNetworkOrder,
+ UnicodeReverse, RawUnicode, UnicodeUTF8 };
+
+ void setEncoding( Encoding );
+#ifndef QT_NO_TEXTCODEC
+ void setCodec( QTextCodec* );
+ QTextCodec *codec();
+#endif
+
+ QTextStream();
+ QTextStream( QIODevice * );
+ QTextStream( QString*, int mode );
+ QTextStream( QString&amp;, int mode ); // obsolete
+ QTextStream( QByteArray, int mode );
+ QTextStream( FILE *, int mode );
+ virtual ~QTextStream();
+
+ QIODevice *device() const;
+ void setDevice( QIODevice * );
+ void unsetDevice();
+
+ bool atEnd() const;
+ bool eof() const;
+
+ QTextStream &amp;operator&gt;&gt;( QChar &amp; );
+ QTextStream &amp;operator&gt;&gt;( char &amp; );
+ QTextStream &amp;operator&gt;&gt;( signed short &amp; );
+ QTextStream &amp;operator&gt;&gt;( unsigned short &amp; );
+ QTextStream &amp;operator&gt;&gt;( signed int &amp; );
+ QTextStream &amp;operator&gt;&gt;( unsigned int &amp; );
+ QTextStream &amp;operator&gt;&gt;( signed long &amp; );
+ QTextStream &amp;operator&gt;&gt;( unsigned long &amp; );
+ QTextStream &amp;operator&gt;&gt;( float &amp; );
+ QTextStream &amp;operator&gt;&gt;( double &amp; );
+ QTextStream &amp;operator&gt;&gt;( char * );
+ QTextStream &amp;operator&gt;&gt;( QString &amp; );
+ QTextStream &amp;operator&gt;&gt;( QCString &amp; );
+
+ QTextStream &amp;operator&lt;&lt;( QChar );
+ QTextStream &amp;operator&lt;&lt;( char );
+ QTextStream &amp;operator&lt;&lt;( signed short );
+ QTextStream &amp;operator&lt;&lt;( unsigned short );
+ QTextStream &amp;operator&lt;&lt;( signed int );
+ QTextStream &amp;operator&lt;&lt;( unsigned int );
+ QTextStream &amp;operator&lt;&lt;( signed long );
+ QTextStream &amp;operator&lt;&lt;( unsigned long );
+ QTextStream &amp;operator&lt;&lt;( float );
+ QTextStream &amp;operator&lt;&lt;( double );
+ QTextStream &amp;operator&lt;&lt;( const char* );
+ QTextStream &amp;operator&lt;&lt;( const QString &amp; );
+ QTextStream &amp;operator&lt;&lt;( const QCString &amp; );
+ QTextStream &amp;operator&lt;&lt;( void * ); // any pointer
+
+ QTextStream &amp;readRawBytes( char *, uint len );
+ QTextStream &amp;writeRawBytes( const char* , uint len );
+
+ QString readLine();
+ QString read();
+ void skipWhiteSpace();
+
+ enum {
+ skipws = 0x0001, // skip whitespace on input
+ left = 0x0002, // left-adjust output
+ right = 0x0004, // right-adjust output
+ internal = 0x0008, // pad after sign
+ bin = 0x0010, // binary format integer
+ oct = 0x0020, // octal format integer
+ dec = 0x0040, // decimal format integer
+ hex = 0x0080, // hex format integer
+ showbase = 0x0100, // show base indicator
+ showpoint = 0x0200, // force decimal point (float)
+ uppercase = 0x0400, // upper-case hex output
+ showpos = 0x0800, // add '+' to positive integers
+ scientific= 0x1000, // scientific float output
+ fixed = 0x2000 // fixed float output
+ };
+
+ static const int basefield; // bin | oct | dec | hex
+ static const int adjustfield; // left | right | internal
+ static const int floatfield; // scientific | fixed
+
+ int flags() const;
+ int flags( int f );
+ int setf( int bits );
+ int setf( int bits, int mask );
+ int unsetf( int bits );
+
+ void reset();
+
+ int width() const;
+ int width( int );
+ int fill() const;
+ int fill( int );
+ int precision() const;
+ int precision( int );
+
+private:
+ long input_int();
+ void init();
+ QTextStream &amp;output_int( int, ulong, bool );
+ QIODevice *dev;
+
+ int fflags;
+ int fwidth;
+ int fillchar;
+ int fprec;
+ bool doUnicodeHeader;
+ bool owndev;
+ QTextCodec *mapper;
+ QTextStreamPrivate * d;
+ QChar unused1; // ### remove in Qt 4.0
+ bool latin1;
+ bool internalOrder;
+ bool networkOrder;
+ void *unused2; // ### remove in Qt 4.0
+
+ QChar eat_ws();
+ uint ts_getline( QChar* );
+ void ts_ungetc( QChar );
+ QChar ts_getc();
+ uint ts_getbuf( QChar*, uint );
+ void ts_putc(int);
+ void ts_putc(QChar);
+ bool ts_isspace(QChar);
+ bool ts_isdigit(QChar);
+ ulong input_bin();
+ ulong input_oct();
+ ulong input_dec();
+ ulong input_hex();
+ double input_double();
+ QTextStream &amp;writeBlock( const char* p, uint len );
+ QTextStream &amp;writeBlock( const QChar* p, uint len );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTextStream( const QTextStream &amp; );
+ QTextStream &amp;operator=( const QTextStream &amp; );
+#endif
+};
+
+typedef QTextStream QTS;
+
+class Q_EXPORT QTextIStream : public QTextStream {
+public:
+ QTextIStream( const QString* s ) :
+ QTextStream((QString*)s,IO_ReadOnly) { }
+ QTextIStream( QByteArray ba ) :
+ QTextStream(ba,IO_ReadOnly) { }
+ QTextIStream( FILE *f ) :
+ QTextStream(f,IO_ReadOnly) { }
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTextIStream( const QTextIStream &amp; );
+ QTextIStream &amp;operator=( const QTextIStream &amp; );
+#endif
+};
+
+class Q_EXPORT QTextOStream : public QTextStream {
+public:
+ QTextOStream( QString* s ) :
+ QTextStream(s,IO_WriteOnly) { }
+ QTextOStream( QByteArray ba ) :
+ QTextStream(ba,IO_WriteOnly) { }
+ QTextOStream( FILE *f ) :
+ QTextStream(f,IO_WriteOnly) { }
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTextOStream( const QTextOStream &amp; );
+ QTextOStream &amp;operator=( const QTextOStream &amp; );
+#endif
+};
+
+/*****************************************************************************
+ QTextStream inline functions
+ *****************************************************************************/
+
+inline QIODevice *QTextStream::device() const
+{ return dev; }
+
+inline bool QTextStream::atEnd() const
+{ return dev ? dev-&gt;atEnd() : FALSE; }
+
+inline bool QTextStream::eof() const
+{ return atEnd(); }
+
+inline int QTextStream::flags() const
+{ return fflags; }
+
+inline int QTextStream::flags( int f )
+{ int oldf = fflags; fflags = f; return oldf; }
+
+inline int QTextStream::setf( int bits )
+{ int oldf = fflags; fflags |= bits; return oldf; }
+
+inline int QTextStream::setf( int bits, int mask )
+{ int oldf = fflags; fflags = (fflags &amp; ~mask) | (bits &amp; mask); return oldf; }
+
+inline int QTextStream::unsetf( int bits )
+{ int oldf = fflags; fflags &amp;= ~bits; return oldf; }
+
+inline int QTextStream::width() const
+{ return fwidth; }
+
+inline int QTextStream::width( int w )
+{ int oldw = fwidth; fwidth = w; return oldw; }
+
+inline int QTextStream::fill() const
+{ return fillchar; }
+
+inline int QTextStream::fill( int f )
+{ int oldc = fillchar; fillchar = f; return oldc; }
+
+inline int QTextStream::precision() const
+{ return fprec; }
+
+inline int QTextStream::precision( int p )
+{ int oldp = fprec; fprec = p; return oldp; }
+
+/*!
+ Returns one character from the stream, or EOF.
+*/
+inline QChar QTextStream::ts_getc()
+{ QChar r; return ( ts_getbuf( &amp;r,1 ) == 1 ? r : QChar((ushort)0xffff) ); }
+
+/*****************************************************************************
+ QTextStream manipulators
+ *****************************************************************************/
+
+typedef QTextStream &amp; (*QTSFUNC)(QTextStream &amp;);// manipulator function
+typedef int (QTextStream::*QTSMFI)(int); // manipulator w/int argument
+
+class Q_EXPORT QTSManip { // text stream manipulator
+public:
+ QTSManip( QTSMFI m, int a ) { mf=m; arg=a; }
+ void exec( QTextStream &amp;s ) { (s.*mf)(arg); }
+private:
+ QTSMFI mf; // QTextStream member function
+ int arg; // member function argument
+};
+
+Q_EXPORT inline QTextStream &amp;operator&gt;&gt;( QTextStream &amp;s, QTSFUNC f )
+{ return (*f)( s ); }
+
+Q_EXPORT inline QTextStream &amp;operator&lt;&lt;( QTextStream &amp;s, QTSFUNC f )
+{ return (*f)( s ); }
+
+Q_EXPORT inline QTextStream &amp;operator&lt;&lt;( QTextStream &amp;s, QTSManip m )
+{ m.exec(s); return s; }
+
+Q_EXPORT QTextStream &amp;bin( QTextStream &amp;s ); // set bin notation
+Q_EXPORT QTextStream &amp;oct( QTextStream &amp;s ); // set oct notation
+Q_EXPORT QTextStream &amp;dec( QTextStream &amp;s ); // set dec notation
+Q_EXPORT QTextStream &amp;hex( QTextStream &amp;s ); // set hex notation
+Q_EXPORT QTextStream &amp;endl( QTextStream &amp;s ); // insert EOL ('\n')
+Q_EXPORT QTextStream &amp;flush( QTextStream &amp;s ); // flush output
+Q_EXPORT QTextStream &amp;ws( QTextStream &amp;s ); // eat whitespace on input
+Q_EXPORT QTextStream &amp;reset( QTextStream &amp;s ); // set default flags
+
+Q_EXPORT inline QTSManip qSetW( int w )
+{
+ QTSMFI func = &amp;QTextStream::width;
+ return QTSManip(func,w);
+}
+
+Q_EXPORT inline QTSManip qSetFill( int f )
+{
+ QTSMFI func = &amp;QTextStream::fill;
+ return QTSManip(func,f);
+}
+
+Q_EXPORT inline QTSManip qSetPrecision( int p )
+{
+ QTSMFI func = &amp;QTextStream::precision;
+ return QTSManip(func,p);
+}
+
+#endif // QT_NO_TEXTSTREAM
+#endif // QTEXTSTREAM_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextstream-members.html b/doc/html/qtextstream-members.html
new file mode 100644
index 0000000..6885fd2
--- /dev/null
+++ b/doc/html/qtextstream-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextstream.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextStream Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextStream</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextstream.html">QTextStream</a>, including inherited members.
+
+<ul>
+<li><a href="qtextstream.html#QTextStream">QTextStream</a>()
+<li><a href="qtextstream.html#~QTextStream">~QTextStream</a>()
+<li><a href="qtextstream.html#atEnd">atEnd</a>()
+<li><a href="qtextstream.html#codec">codec</a>()
+<li><a href="qtextstream.html#device">device</a>()
+<li><a href="qtextstream.html#eof">eof</a>()
+<li><a href="qtextstream.html#fill">fill</a>()
+<li><a href="qtextstream.html#flags">flags</a>()
+<li><a href="qtextstream.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qtextstream.html#operator-gt-gt">operator&gt;&gt;</a>()
+<li><a href="qtextstream.html#precision">precision</a>()
+<li><a href="qtextstream.html#read">read</a>()
+<li><a href="qtextstream.html#readLine">readLine</a>()
+<li><a href="qtextstream.html#readRawBytes">readRawBytes</a>()
+<li><a href="qtextstream.html#reset">reset</a>()
+<li><a href="qtextstream.html#setCodec">setCodec</a>()
+<li><a href="qtextstream.html#setDevice">setDevice</a>()
+<li><a href="qtextstream.html#setEncoding">setEncoding</a>()
+<li><a href="qtextstream.html#setf">setf</a>()
+<li><a href="qtextstream.html#skipWhiteSpace">skipWhiteSpace</a>()
+<li><a href="qtextstream.html#unsetDevice">unsetDevice</a>()
+<li><a href="qtextstream.html#unsetf">unsetf</a>()
+<li><a href="qtextstream.html#width">width</a>()
+<li><a href="qtextstream.html#writeRawBytes">writeRawBytes</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextstream.html b/doc/html/qtextstream.html
new file mode 100644
index 0000000..51e27fd
--- /dev/null
+++ b/doc/html/qtextstream.html
@@ -0,0 +1,667 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qtextstream.cpp:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextStream Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextStream Class Reference</h1>
+
+<p>The QTextStream class provides basic functions for reading
+and writing text using a QIODevice.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;</tt>
+<p>Inherited by <a href="qtextistream.html">QTextIStream</a> and <a href="qtextostream.html">QTextOStream</a>.
+<p><a href="qtextstream-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Encoding-enum"><b>Encoding</b></a> { Locale, Latin1, Unicode, UnicodeNetworkOrder, UnicodeReverse, RawUnicode, UnicodeUTF8 }</li>
+<li class=fn>void <a href="#setEncoding"><b>setEncoding</b></a> ( Encoding&nbsp;e )</li>
+<li class=fn>void <a href="#setCodec"><b>setCodec</b></a> ( QTextCodec&nbsp;*&nbsp;codec )</li>
+<li class=fn>QTextCodec * <a href="#codec"><b>codec</b></a> ()</li>
+<li class=fn><a href="#QTextStream"><b>QTextStream</b></a> ()</li>
+<li class=fn><a href="#QTextStream-2"><b>QTextStream</b></a> ( QIODevice&nbsp;*&nbsp;iod )</li>
+<li class=fn><a href="#QTextStream-3"><b>QTextStream</b></a> ( QString&nbsp;*&nbsp;str, int&nbsp;filemode )</li>
+<li class=fn>QTextStream ( QString&nbsp;&amp;&nbsp;str, int&nbsp;filemode ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QTextStream-5"><b>QTextStream</b></a> ( QByteArray&nbsp;a, int&nbsp;mode )</li>
+<li class=fn><a href="#QTextStream-6"><b>QTextStream</b></a> ( FILE&nbsp;*&nbsp;fh, int&nbsp;mode )</li>
+<li class=fn>virtual <a href="#~QTextStream"><b>~QTextStream</b></a> ()</li>
+<li class=fn>QIODevice * <a href="#device"><b>device</b></a> () const</li>
+<li class=fn>void <a href="#setDevice"><b>setDevice</b></a> ( QIODevice&nbsp;*&nbsp;iod )</li>
+<li class=fn>void <a href="#unsetDevice"><b>unsetDevice</b></a> ()</li>
+<li class=fn>bool <a href="#atEnd"><b>atEnd</b></a> () const</li>
+<li class=fn>bool eof () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QChar&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-2"><b>operator&gt;&gt;</b></a> ( char&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-3"><b>operator&gt;&gt;</b></a> ( signed&nbsp;short&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-4"><b>operator&gt;&gt;</b></a> ( unsigned&nbsp;short&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-5"><b>operator&gt;&gt;</b></a> ( signed&nbsp;int&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-6"><b>operator&gt;&gt;</b></a> ( unsigned&nbsp;int&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-7"><b>operator&gt;&gt;</b></a> ( signed&nbsp;long&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-8"><b>operator&gt;&gt;</b></a> ( unsigned&nbsp;long&nbsp;&amp;&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-9"><b>operator&gt;&gt;</b></a> ( float&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-a"><b>operator&gt;&gt;</b></a> ( double&nbsp;&amp;&nbsp;f )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-b"><b>operator&gt;&gt;</b></a> ( char&nbsp;*&nbsp;s )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-c"><b>operator&gt;&gt;</b></a> ( QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-gt-gt-d"><b>operator&gt;&gt;</b></a> ( QCString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QChar&nbsp;c )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-2"><b>operator&lt;&lt;</b></a> ( char&nbsp;c )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-3"><b>operator&lt;&lt;</b></a> ( signed&nbsp;short&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-4"><b>operator&lt;&lt;</b></a> ( unsigned&nbsp;short&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-5"><b>operator&lt;&lt;</b></a> ( signed&nbsp;int&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-6"><b>operator&lt;&lt;</b></a> ( unsigned&nbsp;int&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-7"><b>operator&lt;&lt;</b></a> ( signed&nbsp;long&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-8"><b>operator&lt;&lt;</b></a> ( unsigned&nbsp;long&nbsp;i )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-9"><b>operator&lt;&lt;</b></a> ( float&nbsp;f )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-a"><b>operator&lt;&lt;</b></a> ( double&nbsp;f )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-b"><b>operator&lt;&lt;</b></a> ( const&nbsp;char&nbsp;*&nbsp;s )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-c"><b>operator&lt;&lt;</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-d"><b>operator&lt;&lt;</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>QTextStream &amp; <a href="#operator-lt-lt-e"><b>operator&lt;&lt;</b></a> ( void&nbsp;*&nbsp;ptr )</li>
+<li class=fn>QTextStream &amp; <a href="#readRawBytes"><b>readRawBytes</b></a> ( char&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+<li class=fn>QTextStream &amp; <a href="#writeRawBytes"><b>writeRawBytes</b></a> ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )</li>
+<li class=fn>QString <a href="#readLine"><b>readLine</b></a> ()</li>
+<li class=fn>QString <a href="#read"><b>read</b></a> ()</li>
+<li class=fn>void <a href="#skipWhiteSpace"><b>skipWhiteSpace</b></a> ()</li>
+<li class=fn>int <a href="#flags"><b>flags</b></a> () const</li>
+<li class=fn>int <a href="#flags-2"><b>flags</b></a> ( int&nbsp;f )</li>
+<li class=fn>int <a href="#setf"><b>setf</b></a> ( int&nbsp;bits )</li>
+<li class=fn>int <a href="#setf-2"><b>setf</b></a> ( int&nbsp;bits, int&nbsp;mask )</li>
+<li class=fn>int <a href="#unsetf"><b>unsetf</b></a> ( int&nbsp;bits )</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#width-2"><b>width</b></a> ( int&nbsp;w )</li>
+<li class=fn>int <a href="#fill"><b>fill</b></a> () const</li>
+<li class=fn>int <a href="#fill-2"><b>fill</b></a> ( int&nbsp;f )</li>
+<li class=fn>int <a href="#precision"><b>precision</b></a> () const</li>
+<li class=fn>int <a href="#precision-2"><b>precision</b></a> ( int&nbsp;p )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QTextStream class provides basic functions for reading
+and writing text using a <a href="qiodevice.html">QIODevice</a>.
+<p>
+
+
+<p> The text stream class has a functional interface that is very
+similar to that of the standard C++ iostream class.
+<p> Qt provides several global functions similar to the ones in iostream:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">bin <td valign="top">sets the QTextStream to read/write binary numbers
+<tr bgcolor="#d0d0d0"> <td valign="top">oct <td valign="top">sets the QTextStream to read/write octal numbers
+<tr bgcolor="#f0f0f0"> <td valign="top">dec <td valign="top">sets the QTextStream to read/write decimal numbers
+<tr bgcolor="#d0d0d0"> <td valign="top">hex <td valign="top">sets the QTextStream to read/write hexadecimal numbers
+<tr bgcolor="#f0f0f0"> <td valign="top">endl <td valign="top">forces a line break
+<tr bgcolor="#d0d0d0"> <td valign="top">flush <td valign="top">forces the QIODevice to flush any buffered data
+<tr bgcolor="#f0f0f0"> <td valign="top">ws <td valign="top">eats any available whitespace (on input)
+<tr bgcolor="#d0d0d0"> <td valign="top">reset <td valign="top">resets the QTextStream to its default mode (see <a href="#reset">reset</a>())
+<tr bgcolor="#f0f0f0"> <td valign="top">qSetW(int) <td valign="top">sets the <a href="#width">field width</a>
+to the given argument
+<tr bgcolor="#d0d0d0"> <td valign="top">qSetFill(int) <td valign="top">sets the <a href="#fill">fill character</a> to the given argument
+<tr bgcolor="#f0f0f0"> <td valign="top">qSetPrecision(int) <td valign="top">sets the <a href="#precision">precision</a> to the given argument
+</table></center>
+<p> <b>Warning:</b> By default QTextStream will automatically detect whether
+integers in the stream are in decimal, octal, hexadecimal or
+binary format when reading from the stream. In particular, a
+leading '0' signifies octal, i.e. the sequence "0100" will be
+interpreted as 64.
+<p> The QTextStream class reads and writes text; it is not appropriate
+for dealing with binary data (but <a href="qdatastream.html">QDataStream</a> is).
+<p> By default, output of Unicode text (i.e. <a href="qstring.html">QString</a>) is done using
+the local 8-bit encoding. This can be changed using the
+<a href="#setEncoding">setEncoding</a>() method. For input, the QTextStream will auto-detect
+standard Unicode "byte order marked" text files; otherwise the
+local 8-bit encoding is used.
+<p> The <a href="qiodevice.html">QIODevice</a> is set in the constructor, or later using
+<a href="#setDevice">setDevice</a>(). If the end of the input is reached <a href="#atEnd">atEnd</a>() returns
+TRUE. Data can be read into variables of the appropriate type
+using the <a href="#operator-gt-gt">operator&gt;&gt;</a>() overloads, or read in its entirety into a
+single string using <a href="#read">read</a>(), or read a line at a time using
+<a href="#readLine">readLine</a>(). Whitespace can be skipped over using <a href="#skipWhiteSpace">skipWhiteSpace</a>().
+You can set flags for the stream using <a href="#flags">flags</a>() or <a href="#setf">setf</a>(). The
+stream also supports <a href="#width">width</a>(), <a href="#precision">precision</a>() and <a href="#fill">fill</a>(); use <a href="#reset">reset</a>()
+to reset the defaults.
+<p> <p>See also <a href="qdatastream.html">QDataStream</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="text.html">Text Related Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Encoding-enum"></a>QTextStream::Encoding</h3>
+
+<ul>
+<li><tt>QTextStream::Locale</tt>
+<li><tt>QTextStream::Latin1</tt>
+<li><tt>QTextStream::Unicode</tt>
+<li><tt>QTextStream::UnicodeNetworkOrder</tt>
+<li><tt>QTextStream::UnicodeReverse</tt>
+<li><tt>QTextStream::RawUnicode</tt>
+<li><tt>QTextStream::UnicodeUTF8</tt>
+</ul><p> See <a href="#setEncoding">setEncoding</a>() for an explanation of the encodings.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTextStream"></a>QTextStream::QTextStream ()
+</h3>
+Constructs a data stream that has no IO device.
+
+<h3 class=fn><a name="QTextStream-2"></a>QTextStream::QTextStream ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;iod )
+</h3>
+Constructs a text stream that uses the IO device <em>iod</em>.
+
+<h3 class=fn><a name="QTextStream-3"></a>QTextStream::QTextStream ( <a href="qstring.html">QString</a>&nbsp;*&nbsp;str, int&nbsp;filemode )
+</h3>
+Constructs a text stream that operates on the Unicode <a href="qstring.html">QString</a>, <em>str</em>, through an internal device. The <em>filemode</em> argument is
+passed to the device's open() function; see <a href="qiodevice.html#mode">QIODevice::mode</a>().
+<p> If you set an encoding or codec with <a href="#setEncoding">setEncoding</a>() or <a href="#setCodec">setCodec</a>(),
+this setting is ignored for text streams that operate on QString.
+<p> Example:
+<pre>
+ <a href="qstring.html">QString</a> str;
+ QTextStream ts( &amp;str, <a href="qfile.html#open">IO_WriteOnly</a> );
+ ts &lt;&lt; "pi = " &lt;&lt; 3.14; // str == "pi = 3.14"
+ </pre>
+
+<p> Writing data to the text stream will modify the contents of the
+string. The string will be expanded when data is written beyond
+the end of the string. Note that the string will not be truncated:
+<pre>
+ <a href="qstring.html">QString</a> str = "pi = 3.14";
+ QTextStream ts( &amp;str, IO_WriteOnly );
+ ts &lt;&lt; "2+2 = " &lt;&lt; 2+2; // str == "2+2 = 414"
+ </pre>
+
+<p> Note that because QString is Unicode, you should not use
+<a href="#readRawBytes">readRawBytes</a>() or <a href="#writeRawBytes">writeRawBytes</a>() on such a stream.
+
+<h3 class=fn><a name="QTextStream-4"></a>QTextStream::QTextStream ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str, int&nbsp;filemode )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This constructor is equivalent to the constructor taking a <a href="qstring.html">QString</a>*
+parameter.
+
+<h3 class=fn><a name="QTextStream-5"></a>QTextStream::QTextStream ( <a href="qbytearray.html">QByteArray</a>&nbsp;a, int&nbsp;mode )
+</h3>
+Constructs a text stream that operates on the byte array, <em>a</em>,
+through an internal <a href="qbuffer.html">QBuffer</a> device. The <em>mode</em> argument is passed
+to the device's open() function; see <a href="qiodevice.html#mode">QIODevice::mode</a>().
+<p> Example:
+<pre>
+ <a href="qbytearray.html">QByteArray</a> array;
+ QTextStream ts( array, <a href="qfile.html#open">IO_WriteOnly</a> );
+ ts &lt;&lt; "pi = " &lt;&lt; 3.14 &lt;&lt; '\0'; // array == "pi = 3.14"
+ </pre>
+
+<p> Writing data to the text stream will modify the contents of the
+array. The array will be expanded when data is written beyond the
+end of the string.
+<p> Same example, using a QBuffer:
+<pre>
+ <a href="qbytearray.html">QByteArray</a> array;
+ <a href="qbuffer.html">QBuffer</a> buf( array );
+ buf.<a href="qiodevice.html#open">open</a>( IO_WriteOnly );
+ QTextStream ts( &amp;buf );
+ ts &lt;&lt; "pi = " &lt;&lt; 3.14 &lt;&lt; '\0'; // array == "pi = 3.14"
+ buf.<a href="qiodevice.html#close">close</a>();
+ </pre>
+
+
+<h3 class=fn><a name="QTextStream-6"></a>QTextStream::QTextStream ( FILE&nbsp;*&nbsp;fh, int&nbsp;mode )
+</h3>
+Constructs a text stream that operates on an existing file handle
+<em>fh</em> through an internal <a href="qfile.html">QFile</a> device. The <em>mode</em> argument is
+passed to the device's open() function; see <a href="qiodevice.html#mode">QIODevice::mode</a>().
+<p> Note that if you create a QTextStream <tt>cout</tt> or another name that
+is also used for another variable of a different type, some
+linkers may confuse the two variables, which will often cause
+crashes.
+
+<h3 class=fn><a name="~QTextStream"></a>QTextStream::~QTextStream ()<tt> [virtual]</tt>
+</h3>
+Destroys the text stream.
+<p> The destructor does not affect the current IO device.
+
+<h3 class=fn>bool <a name="atEnd"></a>QTextStream::atEnd () const
+</h3>
+
+<p> Returns TRUE if the IO device has reached the end position (end of
+the stream or file) or if there is no IO device set; otherwise
+returns FALSE.
+<p> <p>See also <a href="qiodevice.html#atEnd">QIODevice::atEnd</a>().
+
+<p>Examples: <a href="addressbook-example.html#x601">addressbook/centralwidget.cpp</a> and <a href="grapher-nsplugin-example.html#x2774">grapher/grapher.cpp</a>.
+<h3 class=fn><a href="qtextcodec.html">QTextCodec</a>&nbsp;* <a name="codec"></a>QTextStream::codec ()
+</h3>
+Returns the codec actually used for this stream.
+<p> If Unicode is automatically detected in input, a codec with <a href="qtextcodec.html#name">name()</a> "ISO-10646-UCS-2" is returned.
+<p> <p>See also <a href="#setCodec">setCodec</a>().
+
+<h3 class=fn><a href="qiodevice.html">QIODevice</a>&nbsp;* <a name="device"></a>QTextStream::device () const
+</h3>
+
+<p> Returns the IO device currently set.
+<p> <p>See also <a href="#setDevice">setDevice</a>() and <a href="#unsetDevice">unsetDevice</a>().
+
+<h3 class=fn>bool <a name="eof"></a>QTextStream::eof () const
+</h3>
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function has been renamed to <a href="#atEnd">atEnd</a>().
+<p> <p>See also <a href="qiodevice.html#atEnd">QIODevice::atEnd</a>().
+
+<p>Example: <a href="tutorial2-07.html#x2592">chart/chartform_files.cpp</a>.
+<h3 class=fn>int <a name="fill"></a>QTextStream::fill () const
+</h3>
+
+<p> Returns the fill character. The default value is ' ' (space).
+
+<h3 class=fn>int <a name="fill-2"></a>QTextStream::fill ( int&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the fill character to <em>f</em>. Returns the previous fill character.
+
+<h3 class=fn>int <a name="flags"></a>QTextStream::flags () const
+</h3>
+
+<p> Returns the current stream flags. The default value is 0.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Flag <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>skipws</tt> <td valign="top">Not currently used; whitespace always skipped
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>left</tt> <td valign="top">Numeric fields are left-aligned
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>right</tt>
+<td valign="top">Not currently used (by default, numerics are right-aligned)
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>internal</tt> <td valign="top">Puts any padding spaces between +/- and value
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>bin</tt> <td valign="top">Output <em>and</em> input only in binary
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>oct</tt> <td valign="top">Output <em>and</em> input only in octal
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>dec</tt> <td valign="top">Output <em>and</em> input only in decimal
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>hex</tt> <td valign="top">Output <em>and</em> input only in hexadecimal
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>showbase</tt>
+<td valign="top">Annotates numeric outputs with 0b, 0, or 0x if in <tt>bin</tt>,
+<tt>oct</tt>, or <tt>hex</tt> format
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>showpoint</tt> <td valign="top">Not currently used
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>uppercase</tt> <td valign="top">Uses 0B and 0X rather than 0b and 0x
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>showpos</tt> <td valign="top">Shows + for positive numeric values
+<tr bgcolor="#f0f0f0"> <td valign="top"><tt>scientific</tt> <td valign="top">Uses scientific notation for floating point values
+<tr bgcolor="#d0d0d0"> <td valign="top"><tt>fixed</tt> <td valign="top">Uses fixed-point notation for floating point values
+</table></center>
+<p> Note that unless <tt>bin</tt>, <tt>oct</tt>, <tt>dec</tt>, or <tt>hex</tt> is set, the
+input base is octal if the value starts with 0, hexadecimal if it
+starts with 0x, binary if it starts with 0b, and decimal
+otherwise.
+<p> <p>See also <a href="#setf">setf</a>() and <a href="#unsetf">unsetf</a>().
+
+<h3 class=fn>int <a name="flags-2"></a>QTextStream::flags ( int&nbsp;f )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the stream flags to <em>f</em>. Returns the previous stream flags.
+<p> <p>See also <a href="#setf">setf</a>() and <a href="#unsetf">unsetf</a>().
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>QTextStream::operator&lt;&lt; ( <a href="qchar.html">QChar</a>&nbsp;c )
+</h3>
+Writes character <tt>char</tt> to the stream and returns a reference to
+the stream.
+<p> The character <em>c</em> is assumed to be Latin1 encoded independent of
+the Encoding set for the QTextStream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-2"></a>QTextStream::operator&lt;&lt; ( char&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes character <em>c</em> to the stream and returns a reference to the
+stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-3"></a>QTextStream::operator&lt;&lt; ( signed&nbsp;short&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a <tt>short</tt> integer <em>i</em> to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-4"></a>QTextStream::operator&lt;&lt; ( unsigned&nbsp;short&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an <tt>unsigned</tt> <tt>short</tt> integer <em>i</em> to the stream and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-5"></a>QTextStream::operator&lt;&lt; ( signed&nbsp;int&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an <tt>int</tt> <em>i</em> to the stream and returns a reference to the
+stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-6"></a>QTextStream::operator&lt;&lt; ( unsigned&nbsp;int&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an <tt>unsigned</tt> <tt>int</tt> <em>i</em> to the stream and returns a
+reference to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-7"></a>QTextStream::operator&lt;&lt; ( signed&nbsp;long&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a <tt>long</tt> <tt>int</tt> <em>i</em> to the stream and returns a reference
+to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-8"></a>QTextStream::operator&lt;&lt; ( unsigned&nbsp;long&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes an <tt>unsigned</tt> <tt>long</tt> <tt>int</tt> <em>i</em> to the stream and
+returns a reference to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-9"></a>QTextStream::operator&lt;&lt; ( float&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a <tt>float</tt> <em>f</em> to the stream and returns a reference to
+the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-a"></a>QTextStream::operator&lt;&lt; ( double&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a <tt>double</tt> <em>f</em> to the stream and returns a reference to
+the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-b"></a>QTextStream::operator&lt;&lt; ( const&nbsp;char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a string to the stream and returns a reference to the
+stream.
+<p> The string <em>s</em> is assumed to be Latin1 encoded independent of the
+Encoding set for the QTextStream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-c"></a>QTextStream::operator&lt;&lt; ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes <em>s</em> to the stream and returns a reference to the stream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-d"></a>QTextStream::operator&lt;&lt; ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes <em>s</em> to the stream and returns a reference to the stream.
+<p> The string <em>s</em> is assumed to be Latin1 encoded independent of the
+Encoding set for the QTextStream.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-lt-lt-e"></a>QTextStream::operator&lt;&lt; ( void&nbsp;*&nbsp;ptr )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Writes a pointer to the stream and returns a reference to the
+stream.
+<p> The <em>ptr</em> is output as an unsigned long hexadecimal integer.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>QTextStream::operator&gt;&gt; ( <a href="qchar.html">QChar</a>&nbsp;&amp;&nbsp;c )
+</h3>
+Reads a char <em>c</em> from the stream and returns a reference to the
+stream. Note that whitespace is <em>not</em> skipped.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-2"></a>QTextStream::operator&gt;&gt; ( char&nbsp;&amp;&nbsp;c )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a char <em>c</em> from the stream and returns a reference to the
+stream. Note that whitespace is skipped.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-3"></a>QTextStream::operator&gt;&gt; ( signed&nbsp;short&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed <tt>short</tt> integer <em>i</em> from the stream and returns a
+reference to the stream. See <a href="#flags">flags</a>() for an explanation of the
+expected input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-4"></a>QTextStream::operator&gt;&gt; ( unsigned&nbsp;short&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned <tt>short</tt> integer <em>i</em> from the stream and
+returns a reference to the stream. See <a href="#flags">flags</a>() for an explanation
+of the expected input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-5"></a>QTextStream::operator&gt;&gt; ( signed&nbsp;int&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed <tt>int</tt> <em>i</em> from the stream and returns a reference
+to the stream. See <a href="#flags">flags</a>() for an explanation of the expected
+input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-6"></a>QTextStream::operator&gt;&gt; ( unsigned&nbsp;int&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned <tt>int</tt> <em>i</em> from the stream and returns a
+reference to the stream. See <a href="#flags">flags</a>() for an explanation of the
+expected input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-7"></a>QTextStream::operator&gt;&gt; ( signed&nbsp;long&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a signed <tt>long</tt> int <em>i</em> from the stream and returns a
+reference to the stream. See <a href="#flags">flags</a>() for an explanation of the
+expected input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-8"></a>QTextStream::operator&gt;&gt; ( unsigned&nbsp;long&nbsp;&amp;&nbsp;i )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads an unsigned <tt>long</tt> int <em>i</em> from the stream and returns a
+reference to the stream. See <a href="#flags">flags</a>() for an explanation of the
+expected input format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-9"></a>QTextStream::operator&gt;&gt; ( float&nbsp;&amp;&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a <tt>float</tt> <em>f</em> from the stream and returns a reference to
+the stream. See <a href="#flags">flags</a>() for an explanation of the expected input
+format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-a"></a>QTextStream::operator&gt;&gt; ( double&nbsp;&amp;&nbsp;f )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a <tt>double</tt> <em>f</em> from the stream and returns a reference to
+the stream. See <a href="#flags">flags</a>() for an explanation of the expected input
+format.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-b"></a>QTextStream::operator&gt;&gt; ( char&nbsp;*&nbsp;s )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a "word" from the stream into <em>s</em> and returns a reference
+to the stream.
+<p> A word consists of characters for which isspace() returns FALSE.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-c"></a>QTextStream::operator&gt;&gt; ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a "word" from the stream into <em>str</em> and returns a reference
+to the stream.
+<p> A word consists of characters for which isspace() returns FALSE.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="operator-gt-gt-d"></a>QTextStream::operator&gt;&gt; ( <a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Reads a "word" from the stream into <em>str</em> and returns a reference
+to the stream.
+<p> A word consists of characters for which isspace() returns FALSE.
+
+<h3 class=fn>int <a name="precision"></a>QTextStream::precision () const
+</h3>
+
+<p> Returns the precision. The default value is 6.
+
+<h3 class=fn>int <a name="precision-2"></a>QTextStream::precision ( int&nbsp;p )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the precision to <em>p</em>. Returns the previous precision setting.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="read"></a>QTextStream::read ()
+</h3>
+Reads the entire stream from the current position, and returns a string
+containing the text.
+<p> <p>See also <a href="qiodevice.html#readLine">QIODevice::readLine</a>().
+
+<p>Examples: <a href="qaction-application-example.html#x1171">action/application.cpp</a>, <a href="simple-application-example.html#x1589">application/application.cpp</a>, <a href="mdi-example.html#x2074">mdi/application.cpp</a>, <a href="qdir-example.html#x1847">qdir/qdir.cpp</a>, and <a href="qwerty-example.html#x401">qwerty/qwerty.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="readLine"></a>QTextStream::readLine ()
+</h3>
+Reads a line from the stream and returns a string containing the
+text.
+<p> The returned string does not contain any trailing newline or
+carriage return. Note that this is different from
+<a href="qiodevice.html#readLine">QIODevice::readLine</a>(), which does not strip the newline at the end
+of the line.
+<p> On EOF you will get a <a href="qstring.html">QString</a> that is null. On reading an empty
+line the returned QString is empty but not null.
+<p> <p>See also <a href="qiodevice.html#readLine">QIODevice::readLine</a>().
+
+<p>Examples: <a href="addressbook-example.html#x602">addressbook/centralwidget.cpp</a>, <a href="tutorial2-03.html#x2553">chart/element.cpp</a>, and <a href="clientserver-example.html#x787">network/clientserver/server/server.cpp</a>.
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="readRawBytes"></a>QTextStream::readRawBytes ( char&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+Reads <em>len</em> bytes from the stream into <em>s</em> and returns a
+reference to the stream.
+<p> The buffer <em>s</em> must be preallocated.
+<p> Note that no encoding is done by this function.
+<p> <b>Warning:</b> The behavior of this function is undefined unless the
+stream's encoding is set to Unicode or Latin1.
+<p> <p>See also <a href="qiodevice.html#readBlock">QIODevice::readBlock</a>().
+
+<h3 class=fn>void <a name="reset"></a>QTextStream::reset ()
+</h3>
+Resets the text stream.
+<p> <ul>
+<li> All flags are set to 0.
+<li> The field width is set to 0.
+<li> The fill character is set to ' ' (Space).
+<li> The precision is set to 6.
+</ul>
+<p> <p>See also <a href="#setf">setf</a>(), <a href="#width">width</a>(), <a href="#fill">fill</a>(), and <a href="#precision">precision</a>().
+
+<h3 class=fn>void <a name="setCodec"></a>QTextStream::setCodec ( <a href="qtextcodec.html">QTextCodec</a>&nbsp;*&nbsp;codec )
+</h3>
+Sets the codec for this stream to <em>codec</em>. Will not try to
+autodetect Unicode.
+<p> Note that this function should be called before any data is read
+to/written from the stream.
+<p> <p>See also <a href="#setEncoding">setEncoding</a>() and <a href="#codec">codec</a>().
+
+<p>Example: <a href="qwerty-example.html#x402">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="setDevice"></a>QTextStream::setDevice ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;iod )
+</h3>
+Sets the IO device to <em>iod</em>.
+<p> <p>See also <a href="#device">device</a>() and <a href="#unsetDevice">unsetDevice</a>().
+
+<h3 class=fn>void <a name="setEncoding"></a>QTextStream::setEncoding ( <a href="qtextstream.html#Encoding-enum">Encoding</a>&nbsp;e )
+</h3>
+Sets the encoding of this stream to <em>e</em>, where <em>e</em> is one of the
+following values:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Encoding <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top">Locale
+<td valign="top">Uses local file format (Latin1 if locale is not set), but
+autodetecting Unicode(utf16) on input.
+<tr bgcolor="#d0d0d0"> <td valign="top">Unicode
+<td valign="top">Uses Unicode(utf16) for input and output. Output will be
+written in the order most efficient for the current platform
+(i.e. the order used internally in <a href="qstring.html">QString</a>).
+<tr bgcolor="#f0f0f0"> <td valign="top">UnicodeUTF8
+<td valign="top">Using Unicode(utf8) for input and output. If you use it for
+input it will autodetect utf16 and use it instead of utf8.
+<tr bgcolor="#d0d0d0"> <td valign="top">Latin1
+<td valign="top">ISO-8859-1. Will not autodetect utf16.
+<tr bgcolor="#f0f0f0"> <td valign="top">UnicodeNetworkOrder
+<td valign="top">Uses network order Unicode(utf16) for input and output.
+Useful when reading Unicode data that does not start with the
+byte order marker.
+<tr bgcolor="#d0d0d0"> <td valign="top">UnicodeReverse
+<td valign="top">Uses reverse network order Unicode(utf16) for input and
+output. Useful when reading Unicode data that does not start
+with the byte order marker or when writing data that should be
+read by buggy Windows applications.
+<tr bgcolor="#f0f0f0"> <td valign="top">RawUnicode
+<td valign="top">Like Unicode, but does not write the byte order marker nor
+does it auto-detect the byte order. Useful only when writing to
+non-persistent storage used by a single process.
+</table></center>
+<p> <a href="#Encoding-enum">Locale</a> and all Unicode encodings, except <a href="#Encoding-enum">RawUnicode</a>, will look
+at the first two bytes in an input stream to determine the byte
+order. The initial byte order marker will be stripped off before
+data is read.
+<p> Note that this function should be called before any data is read to
+or written from the stream.
+<p> <p>See also <a href="#setCodec">setCodec</a>().
+
+<p>Examples: <a href="addressbook-example.html#x603">addressbook/centralwidget.cpp</a>, <a href="httpd-example.html#x735">network/httpd/httpd.cpp</a>, and <a href="qwerty-example.html#x403">qwerty/qwerty.cpp</a>.
+<h3 class=fn>int <a name="setf"></a>QTextStream::setf ( int&nbsp;bits )
+</h3>
+
+<p> Sets the stream flag bits <em>bits</em>. Returns the previous stream
+flags.
+<p> Equivalent to <tt>flags( flags() | bits )</tt>.
+<p> <p>See also <a href="#unsetf">unsetf</a>().
+
+<h3 class=fn>int <a name="setf-2"></a>QTextStream::setf ( int&nbsp;bits, int&nbsp;mask )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the stream flag bits <em>bits</em> with a bit mask <em>mask</em>. Returns
+the previous stream flags.
+<p> Equivalent to <tt>flags( (flags() &amp; ~mask) | (bits &amp; mask) )</tt>.
+<p> <p>See also <a href="#unsetf">unsetf</a>().
+
+<h3 class=fn>void <a name="skipWhiteSpace"></a>QTextStream::skipWhiteSpace ()
+</h3>
+Positions the read pointer at the first non-whitespace character.
+
+<h3 class=fn>void <a name="unsetDevice"></a>QTextStream::unsetDevice ()
+</h3>
+Unsets the IO device. Equivalent to <a href="#setDevice">setDevice</a>( 0 ).
+<p> <p>See also <a href="#device">device</a>() and <a href="#setDevice">setDevice</a>().
+
+<h3 class=fn>int <a name="unsetf"></a>QTextStream::unsetf ( int&nbsp;bits )
+</h3>
+
+<p> Clears the stream flag bits <em>bits</em>. Returns the previous stream
+flags.
+<p> Equivalent to <tt>flags( flags() &amp; ~mask )</tt>.
+<p> <p>See also <a href="#setf">setf</a>().
+
+<h3 class=fn>int <a name="width"></a>QTextStream::width () const
+</h3>
+
+<p> Returns the field width. The default value is 0.
+
+<h3 class=fn>int <a name="width-2"></a>QTextStream::width ( int&nbsp;w )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the field width to <em>w</em>. Returns the previous field width.
+
+<h3 class=fn><a href="qtextstream.html">QTextStream</a>&nbsp;&amp; <a name="writeRawBytes"></a>QTextStream::writeRawBytes ( const&nbsp;char&nbsp;*&nbsp;s, uint&nbsp;len )
+</h3>
+Writes the <em>len</em> bytes from <em>s</em> to the stream and returns a
+reference to the stream.
+<p> Note that no encoding is done by this function.
+<p> <p>See also <a href="qiodevice.html#writeBlock">QIODevice::writeBlock</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextview-h.html b/doc/html/qtextview-h.html
new file mode 100644
index 0000000..2a00aec
--- /dev/null
+++ b/doc/html/qtextview-h.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextview.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtextview.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtextview.h</h1>
+
+<p>This is the verbatim text of the qtextview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtextview.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of the QTextView class
+**
+** Created : 990101
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTEXTVIEW_H
+#define QTEXTVIEW_H
+
+#ifndef QT_H
+#include "qtextedit.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTVIEW
+
+class Q_EXPORT QTextView : public QTextEdit
+{
+ Q_OBJECT
+ Q_OVERRIDE( int undoDepth DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool overwriteMode DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool modified SCRIPTABLE false)
+ Q_OVERRIDE( bool readOnly DESIGNABLE false SCRIPTABLE false )
+ Q_OVERRIDE( bool undoRedoEnabled DESIGNABLE false SCRIPTABLE false )
+
+public:
+ QTextView( const QString&amp; text, const QString&amp; context = QString::null,
+ QWidget* parent=0, const char* name=0);
+ QTextView( QWidget* parent=0, const char* name=0 );
+
+ virtual ~QTextView();
+
+private:
+#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
+ QTextView( const QTextView &amp; );
+ QTextView &amp;operator=( const QTextView &amp; );
+#endif
+};
+
+#endif //QT_NO_TEXTVIEW
+#endif //QTEXTVIEW_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextview-members.html b/doc/html/qtextview-members.html
new file mode 100644
index 0000000..03b0b07
--- /dev/null
+++ b/doc/html/qtextview-members.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtextview.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextView Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTextView</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtextview.html">QTextView</a>, including inherited members.
+
+<ul>
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qscrollview.html#addChild">addChild</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qtextedit.html#alignment">alignment</a>()
+<li><a href="qtextedit.html#anchorAt">anchorAt</a>()
+<li><a href="qtextedit.html#append">append</a>()
+<li><a href="qtextedit.html#autoFormatting">autoFormatting</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtextedit.html#bold">bold</a>()
+<li><a href="qscrollview.html#bottomMargin">bottomMargin</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qscrollview.html#center">center</a>()
+<li><a href="qtextedit.html#charAt">charAt</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qscrollview.html#childIsVisible">childIsVisible</a>()
+<li><a href="qscrollview.html#childX">childX</a>()
+<li><a href="qscrollview.html#childY">childY</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtextedit.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qtextedit.html#clearParagraphBackground">clearParagraphBackground</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qtextedit.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qscrollview.html#clipper">clipper</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qtextedit.html#color">color</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>()
+<li><a href="qscrollview.html#contentsDragEnterEvent">contentsDragEnterEvent</a>()
+<li><a href="qscrollview.html#contentsDragLeaveEvent">contentsDragLeaveEvent</a>()
+<li><a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent</a>()
+<li><a href="qscrollview.html#contentsDropEvent">contentsDropEvent</a>()
+<li><a href="qscrollview.html#contentsHeight">contentsHeight</a>()
+<li><a href="qscrollview.html#contentsMouseDoubleClickEvent">contentsMouseDoubleClickEvent</a>()
+<li><a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>()
+<li><a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>()
+<li><a href="qscrollview.html#contentsMouseReleaseEvent">contentsMouseReleaseEvent</a>()
+<li><a href="qscrollview.html#contentsMoving">contentsMoving</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qscrollview.html#contentsToViewport">contentsToViewport</a>()
+<li><a href="qscrollview.html#contentsWheelEvent">contentsWheelEvent</a>()
+<li><a href="qscrollview.html#contentsWidth">contentsWidth</a>()
+<li><a href="qscrollview.html#contentsX">contentsX</a>()
+<li><a href="qscrollview.html#contentsY">contentsY</a>()
+<li><a href="qtextedit.html#context">context</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtextedit.html#copy">copy</a>()
+<li><a href="qtextedit.html#copyAvailable">copyAvailable</a>()
+<li><a href="qscrollview.html#cornerWidget">cornerWidget</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtextedit.html#createPopupMenu">createPopupMenu</a>()
+<li><a href="qtextedit.html#currentAlignmentChanged">currentAlignmentChanged</a>()
+<li><a href="qtextedit.html#currentColorChanged">currentColorChanged</a>()
+<li><a href="qtextedit.html#currentFont">currentFont</a>()
+<li><a href="qtextedit.html#currentFontChanged">currentFontChanged</a>()
+<li><a href="qtextedit.html#currentVerticalAlignmentChanged">currentVerticalAlignmentChanged</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qtextedit.html#cursorPositionChanged">cursorPositionChanged</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qtextedit.html#cut">cut</a>()
+<li><a href="qtextedit.html#del">del</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtextedit.html#doKeyboardAction">doKeyboardAction</a>()
+<li><a href="qtextedit.html#documentTitle">documentTitle</a>()
+<li><a href="qtextedit.html#doubleClicked">doubleClicked</a>()
+<li><a href="qscrollview.html#dragAutoScroll">dragAutoScroll</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qscrollview.html#drawContents">drawContents</a>()
+<li><a href="qscrollview.html#drawContentsOffset">drawContentsOffset</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qscrollview.html#enableClipper">enableClipper</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qtextedit.html#ensureCursorVisible">ensureCursorVisible</a>()
+<li><a href="qscrollview.html#ensureVisible">ensureVisible</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qscrollview.html#eventFilter">eventFilter</a>()
+<li><a href="qtextedit.html#family">family</a>()
+<li><a href="qtextedit.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qtextedit.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qtextedit.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qtextedit.html#getCursorPosition">getCursorPosition</a>()
+<li><a href="qtextedit.html#getSelection">getSelection</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qtextedit.html#hasSelectedText">hasSelectedText</a>()
+<li><a href="qscrollview.html#hasStaticBackground">hasStaticBackground</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qtextedit.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qscrollview.html#horizontalScrollBar">horizontalScrollBar</a>()
+<li><a href="qscrollview.html#horizontalSliderPressed">horizontalSliderPressed</a>()
+<li><a href="qscrollview.html#horizontalSliderReleased">horizontalSliderReleased</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qtextedit.html#insert">insert</a>()
+<li><a href="qtextedit.html#insertAt">insertAt</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtextedit.html#insertParagraph">insertParagraph</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qscrollview.html#isHorizontalSliderPressed">isHorizontalSliderPressed</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qtextedit.html#isModified">isModified</a>()
+<li><a href="qtextedit.html#isOverwriteMode">isOverwriteMode</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qtextedit.html#isReadOnly">isReadOnly</a>()
+<li><a href="qtextedit.html#isRedoAvailable">isRedoAvailable</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qtextedit.html#isUndoAvailable">isUndoAvailable</a>()
+<li><a href="qtextedit.html#isUndoRedoEnabled">isUndoRedoEnabled</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qscrollview.html#isVerticalSliderPressed">isVerticalSliderPressed</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtextedit.html#italic">italic</a>()
+<li><a href="qtextedit.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qscrollview.html#leftMargin">leftMargin</a>()
+<li><a href="qtextedit.html#length">length</a>()
+<li><a href="qtextedit.html#lineOfChar">lineOfChar</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qtextedit.html#lines">lines</a>()
+<li><a href="qtextedit.html#linesOfParagraph">linesOfParagraph</a>()
+<li><a href="qtextedit.html#linkUnderline">linkUnderline</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qtextedit.html#maxLogLines">maxLogLines</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qtextedit.html#modificationChanged">modificationChanged</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qscrollview.html#moveChild">moveChild</a>()
+<li><a href="qtextedit.html#moveCursor">moveCursor</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qtextedit.html#paper">paper</a>()
+<li><a href="qtextedit.html#paragraphAt">paragraphAt</a>()
+<li><a href="qtextedit.html#paragraphBackgroundColor">paragraphBackgroundColor</a>()
+<li><a href="qtextedit.html#paragraphLength">paragraphLength</a>()
+<li><a href="qtextedit.html#paragraphRect">paragraphRect</a>()
+<li><a href="qtextedit.html#paragraphs">paragraphs</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qtextedit.html#paste">paste</a>()
+<li><a href="qtextedit.html#pasteSubType">pasteSubType</a>()
+<li><a href="qtextedit.html#placeCursor">placeCursor</a>()
+<li><a href="qtextedit.html#pointSize">pointSize</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qtextedit.html#redo">redo</a>()
+<li><a href="qtextedit.html#redoAvailable">redoAvailable</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qscrollview.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtextedit.html#removeParagraph">removeParagraph</a>()
+<li><a href="qtextedit.html#removeSelectedText">removeSelectedText</a>()
+<li><a href="qtextedit.html#removeSelection">removeSelection</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qtextedit.html#repaintChanged">repaintChanged</a>()
+<li><a href="qscrollview.html#repaintContents">repaintContents</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qscrollview.html#resizeContents">resizeContents</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qscrollview.html#resizePolicy">resizePolicy</a>()
+<li><a href="qtextedit.html#returnPressed">returnPressed</a>()
+<li><a href="qscrollview.html#rightMargin">rightMargin</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qscrollview.html#scrollBy">scrollBy</a>()
+<li><a href="qtextedit.html#scrollToAnchor">scrollToAnchor</a>()
+<li><a href="qtextedit.html#scrollToBottom">scrollToBottom</a>()
+<li><a href="qtextedit.html#selectAll">selectAll</a>()
+<li><a href="qtextedit.html#selectedText">selectedText</a>()
+<li><a href="qtextedit.html#selectionChanged">selectionChanged</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qtextedit.html#setAlignment">setAlignment</a>()
+<li><a href="qtextedit.html#setAutoFormatting">setAutoFormatting</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qtextedit.html#setBold">setBold</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtextedit.html#setColor">setColor</a>()
+<li><a href="qscrollview.html#setContentsPos">setContentsPos</a>()
+<li><a href="qscrollview.html#setCornerWidget">setCornerWidget</a>()
+<li><a href="qtextedit.html#setCurrentFont">setCurrentFont</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qtextedit.html#setCursorPosition">setCursorPosition</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qscrollview.html#setDragAutoScroll">setDragAutoScroll</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qtextedit.html#setFamily">setFamily</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qscrollview.html#setHBarGeometry">setHBarGeometry</a>()
+<li><a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtextedit.html#setItalic">setItalic</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qtextedit.html#setLinkUnderline">setLinkUnderline</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qscrollview.html#setMargins">setMargins</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qtextedit.html#setMaxLogLines">setMaxLogLines</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qtextedit.html#setMimeSourceFactory">setMimeSourceFactory</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qtextedit.html#setModified">setModified</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtextedit.html#setOverwriteMode">setOverwriteMode</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qtextedit.html#setPaper">setPaper</a>()
+<li><a href="qtextedit.html#setParagraphBackgroundColor">setParagraphBackgroundColor</a>()
+<li><a href="qtextedit.html#setPointSize">setPointSize</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtextedit.html#setReadOnly">setReadOnly</a>()
+<li><a href="qscrollview.html#setResizePolicy">setResizePolicy</a>()
+<li><a href="qtextedit.html#setSelection">setSelection</a>()
+<li><a href="qtextedit.html#setSelectionAttributes">setSelectionAttributes</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qscrollview.html#setStaticBackground">setStaticBackground</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qtextedit.html#setStyleSheet">setStyleSheet</a>()
+<li><a href="qtextedit.html#setTabChangesFocus">setTabChangesFocus</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtextedit.html#setTabStopWidth">setTabStopWidth</a>()
+<li><a href="qtextedit.html#setText">setText</a>()
+<li><a href="qtextedit.html#setTextFormat">setTextFormat</a>()
+<li><a href="qtextedit.html#setUnderline">setUnderline</a>()
+<li><a href="qtextedit.html#setUndoDepth">setUndoDepth</a>()
+<li><a href="qtextedit.html#setUndoRedoEnabled">setUndoRedoEnabled</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qscrollview.html#setVBarGeometry">setVBarGeometry</a>()
+<li><a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>()
+<li><a href="qtextedit.html#setVerticalAlignment">setVerticalAlignment</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qtextedit.html#setWordWrap">setWordWrap</a>()
+<li><a href="qtextedit.html#setWrapColumnOrWidth">setWrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#setWrapPolicy">setWrapPolicy</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qscrollview.html#showChild">showChild</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qtextedit.html#styleSheet">styleSheet</a>()
+<li><a href="qtextedit.html#sync">sync</a>()
+<li><a href="qtextedit.html#syntaxHighlighter">syntaxHighlighter</a>()
+<li><a href="qtextedit.html#tabChangesFocus">tabChangesFocus</a>()
+<li><a href="qtextedit.html#tabStopWidth">tabStopWidth</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtextedit.html#text">text</a>()
+<li><a href="qtextedit.html#textChanged">textChanged</a>()
+<li><a href="qtextedit.html#textCursor">textCursor</a>()
+<li><a href="qtextedit.html#textFormat">textFormat</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qscrollview.html#topMargin">topMargin</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qtextedit.html#underline">underline</a>()
+<li><a href="qtextedit.html#undo">undo</a>()
+<li><a href="qtextedit.html#undoAvailable">undoAvailable</a>()
+<li><a href="qtextedit.html#undoDepth">undoDepth</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qscrollview.html#updateContents">updateContents</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qscrollview.html#updateScrollBars">updateScrollBars</a>()
+<li><a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>()
+<li><a href="qscrollview.html#verticalScrollBar">verticalScrollBar</a>()
+<li><a href="qscrollview.html#verticalSliderPressed">verticalSliderPressed</a>()
+<li><a href="qscrollview.html#verticalSliderReleased">verticalSliderReleased</a>()
+<li><a href="qscrollview.html#viewport">viewport</a>()
+<li><a href="qscrollview.html#viewportPaintEvent">viewportPaintEvent</a>()
+<li><a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>()
+<li><a href="qscrollview.html#viewportSize">viewportSize</a>()
+<li><a href="qscrollview.html#viewportToContents">viewportToContents</a>()
+<li><a href="qscrollview.html#visibleHeight">visibleHeight</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qscrollview.html#visibleWidth">visibleWidth</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qtextedit.html#wordWrap">wordWrap</a>()
+<li><a href="qtextedit.html#wrapColumnOrWidth">wrapColumnOrWidth</a>()
+<li><a href="qtextedit.html#wrapPolicy">wrapPolicy</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+<li><a href="qtextedit.html#zoomIn">zoomIn</a>()
+<li><a href="qtextedit.html#zoomOut">zoomOut</a>()
+<li><a href="qtextedit.html#zoomTo">zoomTo</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtextview.html b/doc/html/qtextview.html
new file mode 100644
index 0000000..dbb208b
--- /dev/null
+++ b/doc/html/qtextview.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtextview.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTextView Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTextView Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QTextView class provides a rich-text viewer.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;</tt>
+<p>Inherits <a href="qtextedit.html">QTextEdit</a>.
+<p><a href="qtextview-members.html">List of all member functions.</a>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#modified-prop"><b>modified</b></a>&nbsp;- whether the text view's contents have been modified &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#overwriteMode-prop"><b>overwriteMode</b></a>&nbsp;- whether new text overwrites or pushes aside existing text &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#readOnly-prop"><b>readOnly</b></a>&nbsp;- whether the text view's contents are read only &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#undoDepth-prop"><b>undoDepth</b></a>&nbsp;- the number of undoable steps &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#undoRedoEnabled-prop"><b>undoRedoEnabled</b></a>&nbsp;- whether undo and redo are enabled &nbsp;<em>(read only)</em></li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+The QTextView class provides a rich-text viewer.
+<p> <b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This class wraps a read-only <a href="qtextedit.html">QTextEdit</a>.
+Use a <a href="qtextedit.html">QTextEdit</a> instead, and call <a href="qtextedit.html#setReadOnly">setReadOnly</a>(TRUE)
+to disable editing.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="modified-prop"></a>modified</h3>
+<p>This property holds whether the text view's contents have been modified.
+<p>
+<p><h3 class=fn>bool <a name="overwriteMode-prop"></a>overwriteMode</h3>
+<p>This property holds whether new text overwrites or pushes aside existing text.
+<p>
+<p><h3 class=fn>bool <a name="readOnly-prop"></a>readOnly</h3>
+<p>This property holds whether the text view's contents are read only.
+<p>
+<p><h3 class=fn>int <a name="undoDepth-prop"></a>undoDepth</h3>
+<p>This property holds the number of undoable steps.
+<p>
+<p><h3 class=fn>bool <a name="undoRedoEnabled-prop"></a>undoRedoEnabled</h3>
+<p>This property holds whether undo and redo are enabled.
+<p>
+<p><!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthread-h.html b/doc/html/qthread-h.html
new file mode 100644
index 0000000..3cf9941
--- /dev/null
+++ b/doc/html/qthread-h.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qthread.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qthread.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qthread.h</h1>
+
+<p>This is the verbatim text of the qthread.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qthread.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QThread class
+**
+** Created : 931107
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTHREAD_H
+#define QTHREAD_H
+
+#if defined(QT_THREAD_SUPPORT)
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#ifndef QT_NO_COMPAT
+#include "qmutex.h"
+#include "qsemaphore.h"
+#include "qwaitcondition.h"
+#endif // QT_NO_COMPAT
+#endif // QT_H
+
+#include &lt;limits.h&gt;
+
+class QThreadInstance;
+
+class Q_EXPORT QThread : public Qt
+{
+public:
+ static Qt::HANDLE currentThread();
+
+#ifndef QT_NO_COMPAT
+ static void postEvent( QObject *,QEvent * );
+#endif
+
+ static void initialize();
+ static void cleanup();
+
+ static void exit();
+
+#ifdef Q_QDOC
+ QThread( unsigned int stackSize = 0 );
+#else
+ QThread( unsigned int stackSize );
+ QThread();
+#endif
+
+ virtual ~QThread();
+
+ // default argument causes thread to block indefinately
+ bool wait( unsigned long time = ULONG_MAX );
+
+ enum Priority {
+ IdlePriority,
+
+ LowestPriority,
+ LowPriority,
+ NormalPriority,
+ HighPriority,
+ HighestPriority,
+
+ TimeCriticalPriority,
+
+ InheritPriority
+ };
+
+#ifdef Q_QDOC
+ void start( Priority = InheritPriority );
+#else
+ void start( Priority );
+ void start();
+#endif
+
+ void terminate();
+
+ bool finished() const;
+ bool running() const;
+
+protected:
+ virtual void run() = 0;
+
+ static void sleep( unsigned long );
+ static void msleep( unsigned long );
+ static void usleep( unsigned long );
+
+private:
+ QThreadInstance * d;
+ friend class QThreadInstance;
+
+#if defined(Q_DISABLE_COPY)
+ QThread( const QThread &amp; );
+ QThread &amp;operator=( const QThread &amp; );
+#endif // Q_DISABLE_COPY
+};
+
+#endif // QT_THREAD_SUPPORT
+
+#endif // QTHREAD_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthread-members.html b/doc/html/qthread-members.html
new file mode 100644
index 0000000..29dbb7e
--- /dev/null
+++ b/doc/html/qthread-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qthread.h:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QThread Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QThread</h1>
+
+<p>This is the complete list of member functions for
+<a href="qthread.html">QThread</a>, including inherited members.
+
+<ul>
+<li><a href="qthread.html#QThread">QThread</a>()
+<li><a href="qthread.html#~QThread">~QThread</a>()
+<li><a href="qthread.html#currentThread">currentThread</a>()
+<li><a href="qthread.html#exit">exit</a>()
+<li><a href="qthread.html#finished">finished</a>()
+<li><a href="qthread.html#msleep">msleep</a>()
+<li><a href="qthread.html#postEvent">postEvent</a>()
+<li><a href="qthread.html#run">run</a>()
+<li><a href="qthread.html#running">running</a>()
+<li><a href="qthread.html#sleep">sleep</a>()
+<li><a href="qthread.html#start">start</a>()
+<li><a href="qthread.html#terminate">terminate</a>()
+<li><a href="qthread.html#usleep">usleep</a>()
+<li><a href="qthread.html#wait">wait</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthread.html b/doc/html/qthread.html
new file mode 100644
index 0000000..4a5827c
--- /dev/null
+++ b/doc/html/qthread.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qthread.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QThread Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QThread Class Reference</h1>
+
+<p>The QThread class provides platform-independent threads.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qthread-h.html">qthread.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qthread-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QThread"><b>QThread</b></a> ( unsigned&nbsp;int&nbsp;stackSize = 0 )</li>
+<li class=fn>virtual <a href="#~QThread"><b>~QThread</b></a> ()</li>
+<li class=fn>bool <a href="#wait"><b>wait</b></a> ( unsigned&nbsp;long&nbsp;time = ULONG_MAX )</li>
+<li class=fn>enum <a href="#Priority-enum"><b>Priority</b></a> { IdlePriority, LowestPriority, LowPriority, NormalPriority, HighPriority, HighestPriority, TimeCriticalPriority, InheritPriority }</li>
+<li class=fn>void <a href="#start"><b>start</b></a> ( Priority&nbsp;priority = InheritPriority )</li>
+<li class=fn>void <a href="#terminate"><b>terminate</b></a> ()</li>
+<li class=fn>bool <a href="#finished"><b>finished</b></a> () const</li>
+<li class=fn>bool <a href="#running"><b>running</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>Qt::HANDLE <a href="#currentThread"><b>currentThread</b></a> ()</li>
+<li class=fn>void postEvent ( QObject&nbsp;*&nbsp;receiver, QEvent&nbsp;*&nbsp;event ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#exit"><b>exit</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#run"><b>run</b></a> () = 0</li>
+</ul>
+<h2>Static Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#sleep"><b>sleep</b></a> ( unsigned&nbsp;long&nbsp;secs )</li>
+<li class=fn>void <a href="#msleep"><b>msleep</b></a> ( unsigned&nbsp;long&nbsp;msecs )</li>
+<li class=fn>void <a href="#usleep"><b>usleep</b></a> ( unsigned&nbsp;long&nbsp;usecs )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QThread class provides platform-independent threads.
+<p>
+
+<p> A QThread represents a separate thread of control within the
+program; it shares data with all the other threads within the
+process but executes independently in the way that a separate
+program does on a multitasking operating system. Instead of
+starting in main(), QThreads begin executing in <a href="#run">run</a>(). You inherit
+run() to include your code. For example:
+<p> <pre>
+ class MyThread : public QThread {
+
+ public:
+
+ virtual void run();
+
+ };
+
+ void MyThread::<a href="#run">run</a>()
+ {
+ for( int count = 0; count &lt; 20; count++ ) {
+ <a href="#sleep">sleep</a>( 1 );
+ <a href="qapplication.html#qDebug">qDebug</a>( "Ping!" );
+ }
+ }
+
+ int main()
+ {
+ MyThread a;
+ MyThread b;
+ a.<a href="#start">start</a>();
+ b.<a href="#start">start</a>();
+ a.<a href="#wait">wait</a>();
+ b.<a href="#wait">wait</a>();
+ }
+ </pre>
+
+<p> This will start two threads, each of which writes Ping! 20 times
+to the screen and exits. The <a href="#wait">wait</a>() calls at the end of main() are
+necessary because exiting main() ends the program, unceremoniously
+killing all other threads. Each MyThread stops executing when it
+reaches the end of MyThread::run(), just as an application does
+when it leaves main().
+<p> <p>See also <a href="threads.html">Thread Support in Qt</a>, <a href="environment.html">Environment Classes</a>, and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Priority-enum"></a>QThread::Priority</h3>
+
+<p> This enum type indicates how the operating system should schedule
+newly created threads.
+<ul>
+<li><tt>QThread::IdlePriority</tt> - scheduled only when no other threads are
+running.
+<li><tt>QThread::LowestPriority</tt> - scheduled less often than LowPriority.
+<li><tt>QThread::LowPriority</tt> - scheduled less often than NormalPriority.
+<li><tt>QThread::NormalPriority</tt> - the default priority of the operating
+system.
+<li><tt>QThread::HighPriority</tt> - scheduled more often than NormalPriority.
+<li><tt>QThread::HighestPriority</tt> - scheduled more often then HighPriority.
+<li><tt>QThread::TimeCriticalPriority</tt> - scheduled as often as possible.
+<li><tt>QThread::InheritPriority</tt> - use the same priority as the creating
+thread. This is the default.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QThread"></a>QThread::QThread ( unsigned&nbsp;int&nbsp;stackSize = 0 )
+</h3>
+Constructs a new thread. The thread does not begin executing until
+<a href="#start">start</a>() is called.
+<p> If <em>stackSize</em> is greater than zero, the maximum stack size is
+set to <em>stackSize</em> bytes, otherwise the maximum stack size is
+automatically determined by the operating system.
+<p> <b>Warning:</b> Most operating systems place minimum and maximum limits
+on thread stack sizes. The thread will fail to start if the stack
+size is outside these limits.
+
+<h3 class=fn><a name="~QThread"></a>QThread::~QThread ()<tt> [virtual]</tt>
+</h3>
+QThread destructor.
+<p> Note that deleting a QThread object will not stop the execution of
+the thread it represents. Deleting a running QThread (i.e.
+<a href="#finished">finished</a>() returns FALSE) will probably result in a program crash.
+You can <a href="#wait">wait</a>() on a thread to make sure that it has finished.
+
+<h3 class=fn>Qt::HANDLE <a name="currentThread"></a>QThread::currentThread ()<tt> [static]</tt>
+</h3>
+This returns the thread handle of the currently executing thread.
+<p> <b>Warning:</b> The handle returned by this function is used for internal
+purposes and should <em>not</em> be used in any application code. On
+Windows, the returned value is a pseudo handle for the current
+thread, and it cannot be used for numerical comparison.
+
+<h3 class=fn>void <a name="exit"></a>QThread::exit ()<tt> [static]</tt>
+</h3>
+Ends the execution of the calling thread and wakes up any threads
+waiting for its termination.
+
+<h3 class=fn>bool <a name="finished"></a>QThread::finished () const
+</h3>
+Returns TRUE if the thread is finished; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="msleep"></a>QThread::msleep ( unsigned&nbsp;long&nbsp;msecs )<tt> [static protected]</tt>
+</h3>
+System independent sleep. This causes the current thread to sleep
+for <em>msecs</em> milliseconds
+
+<h3 class=fn>void <a name="postEvent"></a>QThread::postEvent ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;event )<tt> [static]</tt>
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="qapplication.html#postEvent">QApplication::postEvent</a>() instead.
+
+<h3 class=fn>void <a name="run"></a>QThread::run ()<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> This method is pure virtual, and must be implemented in derived
+classes in order to do useful work. Returning from this method
+will end the execution of the thread.
+<p> <p>See also <a href="#wait">wait</a>().
+
+<h3 class=fn>bool <a name="running"></a>QThread::running () const
+</h3>
+Returns TRUE if the thread is running; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="sleep"></a>QThread::sleep ( unsigned&nbsp;long&nbsp;secs )<tt> [static protected]</tt>
+</h3>
+System independent sleep. This causes the current thread to sleep
+for <em>secs</em> seconds.
+
+<h3 class=fn>void <a name="start"></a>QThread::start ( <a href="qthread.html#Priority-enum">Priority</a>&nbsp;priority = InheritPriority )
+</h3>
+Begins execution of the thread by calling <a href="#run">run</a>(), which should be
+reimplemented in a QThread subclass to contain your code. The
+operating system will schedule the thread according to the <em>priority</em> argument.
+<p> If you try to start a thread that is already running, this
+function will wait until the the thread has finished and then
+restart the thread.
+<p> <p>See also <a href="#Priority-enum">Priority</a>.
+
+<h3 class=fn>void <a name="terminate"></a>QThread::terminate ()
+</h3>
+This function terminates the execution of the thread. The thread
+may or may not be terminated immediately, depending on the
+operating system's scheduling policies. Use <a href="#wait">QThread::wait</a>()
+after <a href="#terminate">terminate</a>() for synchronous termination.
+<p> When the thread is terminated, all threads waiting for the
+the thread to finish will be woken up.
+<p> <b>Warning:</b> This function is dangerous, and its use is discouraged.
+The thread can be terminated at any point in its code path. Threads
+can be terminated while modifying data. There is no chance for
+the thread to cleanup after itself, unlock any held mutexes, etc.
+In short, use this function only if <em>absolutely</em> necessary.
+
+<h3 class=fn>void <a name="usleep"></a>QThread::usleep ( unsigned&nbsp;long&nbsp;usecs )<tt> [static protected]</tt>
+</h3>
+System independent sleep. This causes the current thread to sleep
+for <em>usecs</em> microseconds
+
+<h3 class=fn>bool <a name="wait"></a>QThread::wait ( unsigned&nbsp;long&nbsp;time = ULONG_MAX )
+</h3>
+A thread calling this function will block until either of these
+conditions is met:
+<p> <ul>
+<li> The thread associated with this QThread object has finished
+execution (i.e. when it returns from <a href="#run">run</a>()). This function
+will return TRUE if the thread has finished. It also returns
+TRUE if the thread has not been started yet.
+<li> <em>time</em> milliseconds has elapsed. If <em>time</em> is ULONG_MAX (the
+default), then the wait will never timeout (the thread must
+return from <a href="#run">run</a>()). This function will return FALSE if the
+wait timed out.
+</ul>
+<p> This provides similar functionality to the POSIX <tt>pthread_join()</tt> function.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthreadstorage-h.html b/doc/html/qthreadstorage-h.html
new file mode 100644
index 0000000..86c926a
--- /dev/null
+++ b/doc/html/qthreadstorage-h.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qthreadstorage.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qthreadstorage.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qthreadstorage.h</h1>
+
+<p>This is the verbatim text of the qthreadstorage.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qthreadstorage.h 3.3.8 edited Jan 11 14:46 $
+**
+** ...
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTHREADSTORAGE_H
+#define QTHREADSTORAGE_H
+
+#ifdef QT_THREAD_SUPPORT
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+class Q_EXPORT QThreadStorageData
+{
+public:
+ QThreadStorageData( void (*func)(void *) );
+ ~QThreadStorageData();
+
+ void** get() const;
+ void** set( void* p );
+
+ static void finish( void** );
+ int id;
+};
+
+
+template &lt;class T&gt;
+class QThreadStorage
+{
+private:
+ QThreadStorageData d;
+
+#if defined(Q_DISABLE_COPY)
+ // disable copy constructor and operator=
+ QThreadStorage( const QThreadStorage &amp; );
+ QThreadStorage &amp;operator=( const QThreadStorage &amp; );
+#endif // Q_DISABLE_COPY
+
+ static void deleteData( void *x ) { delete (T)x; }
+
+public:
+ inline QThreadStorage() : d( deleteData ) { }
+ inline ~QThreadStorage() { }
+
+ inline bool hasLocalData() const
+ { return d.get() != 0; }
+
+ inline T&amp; localData()
+ { void **v = d.get(); if ( !v ) v = d.set( 0 ); return *(T*)v; }
+
+ inline T localData() const
+ { void **v = d.get(); return ( v ? *(T*)v : 0 ); }
+
+ inline void setLocalData( T t )
+ { (void) d.set( t ); }
+};
+
+#endif // QT_THREAD_SUPPORT
+
+#endif // QTHREADSTORAGE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthreadstorage-members.html b/doc/html/qthreadstorage-members.html
new file mode 100644
index 0000000..b69b8e8
--- /dev/null
+++ b/doc/html/qthreadstorage-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qthreadstorage.h:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QThreadStorage Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QThreadStorage</h1>
+
+<p>This is the complete list of member functions for
+<a href="qthreadstorage.html">QThreadStorage</a>, including inherited members.
+
+<ul>
+<li><a href="qthreadstorage.html#QThreadStorage">QThreadStorage</a>()
+<li><a href="qthreadstorage.html#~QThreadStorage">~QThreadStorage</a>()
+<li><a href="qthreadstorage.html#hasLocalData">hasLocalData</a>()
+<li><a href="qthreadstorage.html#localData">localData</a>()
+<li><a href="qthreadstorage.html#setLocalData">setLocalData</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qthreadstorage.html b/doc/html/qthreadstorage.html
new file mode 100644
index 0000000..ab3c713
--- /dev/null
+++ b/doc/html/qthreadstorage.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qthreadstorage_unix.cpp:163 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QThreadStorage Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QThreadStorage Class Reference</h1>
+
+<p>The QThreadStorage class provides per-thread data storage.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qthreadstorage-h.html">qthreadstorage.h</a>&gt;</tt>
+<p><a href="qthreadstorage-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QThreadStorage"><b>QThreadStorage</b></a> ()</li>
+<li class=fn><a href="#~QThreadStorage"><b>~QThreadStorage</b></a> ()</li>
+<li class=fn>bool <a href="#hasLocalData"><b>hasLocalData</b></a> () const</li>
+<li class=fn>T &amp; <a href="#localData"><b>localData</b></a> ()</li>
+<li class=fn>T <a href="#localData-2"><b>localData</b></a> () const</li>
+<li class=fn>void <a href="#setLocalData"><b>setLocalData</b></a> ( T&nbsp;data )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QThreadStorage class provides per-thread data storage.
+<p>
+
+
+<p> QThreadStorage is a template class that provides per-thread data
+storage.
+<p> <em>Note that due to compiler limitations, QThreadStorage can only store pointers.</em>
+<p> The <a href="#setLocalData">setLocalData</a>() function stores a single thread-specific value
+for the calling thread. The data can be accessed later using the
+<a href="#localData">localData</a>() functions. QThreadStorage takes ownership of the
+data (which must be created on the heap with <em>new</em>) and deletes
+it when the thread exits (either normally or via termination).
+<p> The <a href="#hasLocalData">hasLocalData</a>() function allows the programmer to determine if
+data has previously been set using the setLocalData() function.
+This is useful for lazy initializiation.
+<p> For example, the following code uses QThreadStorage to store a
+single cache for each thread that calls the <em>cacheObject()</em> and
+<em>removeFromCache()</em> functions. The cache is automatically
+deleted when the calling thread exits (either normally or via
+termination).
+<p> <pre>
+ QThreadStorage&lt;QCache&lt;SomeClass&gt; *&gt; caches;
+
+ void cacheObject( const <a href="qstring.html">QString</a> &amp;key, SomeClass *object )
+ {
+ if ( ! caches.hasLocalData() )
+ caches.setLocalData( new <a href="qcache.html">QCache</a>&lt;SomeClass&gt; );
+
+ caches.localData()-&gt;insert( key, object );
+ }
+
+ void removeFromCache( const <a href="qstring.html">QString</a> &amp;key )
+ {
+ if ( ! caches.hasLocalData() )
+ return; // nothing to do
+
+ caches.localData()-&gt;remove( key );
+ }
+ </pre>
+
+<p> <h3> Caveats
+</h3>
+<a name="1"></a><p> <ul>
+<p> <li> As noted above, QThreadStorage can only store pointers due to
+compiler limitations. Support for value-based objects will be
+added when the majority of compilers are able to support partial
+template specialization.
+<p> <li> The <a href="#~QThreadStorage">destructor</a> does <em>not</em>
+delete per-thread data. QThreadStorage only deletes per-thread
+data when the thread exits or when <a href="#setLocalData">setLocalData</a>() is called
+multiple times.
+<p> <li> QThreadStorage can only be used with threads started with
+<a href="qthread.html">QThread</a>. It <em>cannot</em> be used with threads started with
+platform-specific APIs.
+<p> <li> As a corollary to the above, platform-specific APIs cannot be
+used to exit or terminate a QThread using QThreadStorage. Doing so
+will cause all per-thread data to be leaked. See <a href="qthread.html#exit">QThread::exit</a>()
+and <a href="qthread.html#terminate">QThread::terminate</a>().
+<p> <li> QThreadStorage <em>can</em> be used to store data for the <em>main()</em>
+thread <em>after</em> <a href="qapplication.html">QApplication</a> has been constructed. QThreadStorage
+deletes all data set for the <em>main()</em> thread when QApplication is
+destroyed, regardless of whether or not the <em>main()</em> thread has
+actually finished.
+<p> <li> The implementation of QThreadStorage limits the total number of
+QThreadStorage objects to 256. An unlimited number of threads
+can store per-thread data in each QThreadStorage object.
+<p> </ul>
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QThreadStorage"></a>QThreadStorage::QThreadStorage ()
+</h3>
+
+<p> Constructs a new per-thread data storage object.
+
+<h3 class=fn><a name="~QThreadStorage"></a>QThreadStorage::~QThreadStorage ()
+</h3>
+
+<p> Destroys the per-thread data storage object.
+<p> Note: The per-thread data stored is <em>not</em> deleted. Any data left
+in QThreadStorage is leaked. Make sure that all threads using
+QThreadStorage have exited before deleting the QThreadStorage.
+<p> <p>See also <a href="#hasLocalData">hasLocalData</a>().
+
+<h3 class=fn>bool <a name="hasLocalData"></a>QThreadStorage::hasLocalData () const
+</h3>
+
+<p> Returns TRUE if the calling thread has non-zero data available;
+otherwise returns FALSE.
+<p> <p>See also <a href="#localData">localData</a>().
+
+<h3 class=fn>T &amp; <a name="localData"></a>QThreadStorage::localData ()
+</h3>
+
+<p> Returns a reference to the data that was set by the calling
+thread.
+<p> Note: QThreadStorage can only store pointers. This function
+returns a <em>reference</em> to the pointer that was set by the calling
+thread. The value of this reference is 0 if no data was set by
+the calling thread,
+<p> <p>See also <a href="#hasLocalData">hasLocalData</a>().
+
+<h3 class=fn>T <a name="localData-2"></a>QThreadStorage::localData () const
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a copy of the data that was set by the calling thread.
+<p> Note: QThreadStorage can only store pointers. This function
+returns a pointer to the data that was set by the calling thread.
+If no data was set by the calling thread, this function returns 0.
+<p> <p>See also <a href="#hasLocalData">hasLocalData</a>().
+
+<h3 class=fn>void <a name="setLocalData"></a>QThreadStorage::setLocalData ( T&nbsp;data )
+</h3>
+
+<p> Sets the local data for the calling thread to <em>data</em>. It can be
+accessed later using the <a href="#localData">localData</a>() functions.
+<p> If <em>data</em> is 0, this function deletes the previous data (if
+any) and returns immediately.
+<p> If <em>data</em> is non-zero, QThreadStorage takes ownership of the <em>data</em> and deletes it automatically either when the thread exits
+(either normally or via termination) or when <a href="#setLocalData">setLocalData</a>() is
+called again.
+<p> Note: QThreadStorage can only store pointers. The <em>data</em>
+argument must be either a pointer to an object created on the heap
+(i.e. using <em>new</em>) or 0. You should not delete <em>data</em>
+yourself; QThreadStorage takes ownership and will delete the <em>data</em> itself.
+<p> <p>See also <a href="#localData">localData</a>() and <a href="#hasLocalData">hasLocalData</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtime-members.html b/doc/html/qtime-members.html
new file mode 100644
index 0000000..72b8031
--- /dev/null
+++ b/doc/html/qtime-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetime.h:124 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTime Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTime</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtime.html">QTime</a>, including inherited members.
+
+<ul>
+<li><a href="qtime.html#QTime">QTime</a>()
+<li><a href="qtime.html#addMSecs">addMSecs</a>()
+<li><a href="qtime.html#addSecs">addSecs</a>()
+<li><a href="qtime.html#currentTime">currentTime</a>()
+<li><a href="qtime.html#elapsed">elapsed</a>()
+<li><a href="qtime.html#fromString">fromString</a>()
+<li><a href="qtime.html#hour">hour</a>()
+<li><a href="qtime.html#isNull">isNull</a>()
+<li><a href="qtime.html#isValid">isValid</a>()
+<li><a href="qtime.html#minute">minute</a>()
+<li><a href="qtime.html#msec">msec</a>()
+<li><a href="qtime.html#msecsTo">msecsTo</a>()
+<li><a href="qtime.html#operator!-eq">operator!=</a>()
+<li><a href="qtime.html#operator-lt">operator&lt;</a>()
+<li><a href="qtime.html#operator-lt-eq">operator&lt;=</a>()
+<li><a href="qtime.html#operator-eq-eq">operator==</a>()
+<li><a href="qtime.html#operator-gt">operator&gt;</a>()
+<li><a href="qtime.html#operator-gt-eq">operator&gt;=</a>()
+<li><a href="qtime.html#restart">restart</a>()
+<li><a href="qtime.html#second">second</a>()
+<li><a href="qtime.html#secsTo">secsTo</a>()
+<li><a href="qtime.html#setHMS">setHMS</a>()
+<li><a href="qtime.html#start">start</a>()
+<li><a href="qtime.html#toString">toString</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtime.html b/doc/html/qtime.html
new file mode 100644
index 0000000..f793a97
--- /dev/null
+++ b/doc/html/qtime.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qdatetime.cpp:1239 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTime Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTime Class Reference</h1>
+
+<p>The QTime class provides clock time functions.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;</tt>
+<p><a href="qtime-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTime"><b>QTime</b></a> ()</li>
+<li class=fn><a href="#QTime-2"><b>QTime</b></a> ( int&nbsp;h, int&nbsp;m, int&nbsp;s = 0, int&nbsp;ms = 0 )</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>int <a href="#hour"><b>hour</b></a> () const</li>
+<li class=fn>int <a href="#minute"><b>minute</b></a> () const</li>
+<li class=fn>int <a href="#second"><b>second</b></a> () const</li>
+<li class=fn>int <a href="#msec"><b>msec</b></a> () const</li>
+<li class=fn>QString <a href="#toString-2"><b>toString</b></a> ( Qt::DateFormat&nbsp;f = Qt::TextDate ) const</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;format ) const</li>
+<li class=fn>bool <a href="#setHMS"><b>setHMS</b></a> ( int&nbsp;h, int&nbsp;m, int&nbsp;s, int&nbsp;ms = 0 )</li>
+<li class=fn>QTime <a href="#addSecs"><b>addSecs</b></a> ( int&nbsp;nsecs ) const</li>
+<li class=fn>int <a href="#secsTo"><b>secsTo</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>QTime <a href="#addMSecs"><b>addMSecs</b></a> ( int&nbsp;ms ) const</li>
+<li class=fn>int <a href="#msecsTo"><b>msecsTo</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;t ) const</li>
+<li class=fn>void <a href="#start"><b>start</b></a> ()</li>
+<li class=fn>int <a href="#restart"><b>restart</b></a> ()</li>
+<li class=fn>int <a href="#elapsed"><b>elapsed</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QTime <a href="#currentTime-2"><b>currentTime</b></a> ()</li>
+<li class=fn>QTime <a href="#currentTime"><b>currentTime</b></a> ( Qt::TimeSpec&nbsp;ts )</li>
+<li class=fn>QTime <a href="#fromString"><b>fromString</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s, Qt::DateFormat&nbsp;f = Qt::TextDate )</li>
+<li class=fn>bool <a href="#isValid-2"><b>isValid</b></a> ( int&nbsp;h, int&nbsp;m, int&nbsp;s, int&nbsp;ms = 0 )</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QTime&nbsp;&amp;&nbsp;t )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QTime&nbsp;&amp;&nbsp;t )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QTime class provides clock time functions.
+<p>
+
+<p> A QTime object contains a clock time, i.e. the number of hours,
+minutes, seconds, and milliseconds since midnight. It can read the
+current time from the system clock and measure a span of elapsed
+time. It provides functions for comparing times and for
+manipulating a time by adding a number of (milli)seconds.
+<p> QTime uses the 24-hour clock format; it has no concept of AM/PM.
+It operates in local time; it knows nothing about time zones or
+daylight savings time.
+<p> A QTime object is typically created either by giving the number of
+hours, minutes, seconds, and milliseconds explicitly, or by using
+the static function <a href="#currentTime">currentTime</a>(), which creates a QTime object
+that contains the system's clock time. Note that the accuracy
+depends on the accuracy of the underlying operating system; not
+all systems provide 1-millisecond accuracy.
+<p> The <a href="#hour">hour</a>(), <a href="#minute">minute</a>(), <a href="#second">second</a>(), and <a href="#msec">msec</a>() functions provide
+access to the number of hours, minutes, seconds, and milliseconds
+of the time. The same information is provided in textual format by
+the <a href="#toString">toString</a>() function.
+<p> QTime provides a full set of operators to compare two QTime
+objects. One time is considered smaller than another if it is
+earlier than the other.
+<p> The time a given number of seconds or milliseconds later than a
+given time can be found using the <a href="#addSecs">addSecs</a>() or <a href="#addMSecs">addMSecs</a>()
+functions. Correspondingly, the number of (milli)seconds between
+two times can be found using the <a href="#secsTo">secsTo</a>() or <a href="#msecsTo">msecsTo</a>() functions.
+<p> QTime can be used to measure a span of elapsed time using the
+<a href="#start">start</a>(), <a href="#restart">restart</a>(), and <a href="#elapsed">elapsed</a>() functions.
+<p> <p>See also <a href="qdate.html">QDate</a>, <a href="qdatetime.html">QDateTime</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTime"></a>QTime::QTime ()
+</h3>
+
+<p> Constructs the time 0 hours, minutes, seconds and milliseconds,
+i.e. 00:00:00.000 (midnight). This is a valid time.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QTime-2"></a>QTime::QTime ( int&nbsp;h, int&nbsp;m, int&nbsp;s = 0, int&nbsp;ms = 0 )
+</h3>
+Constructs a time with hour <em>h</em>, minute <em>m</em>, seconds <em>s</em> and
+milliseconds <em>ms</em>.
+<p> <em>h</em> must be in the range 0..23, <em>m</em> and <em>s</em> must be in the
+range 0..59, and <em>ms</em> must be in the range 0..999.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="addMSecs"></a>QTime::addMSecs ( int&nbsp;ms ) const
+</h3>
+Returns a QTime object containing a time <em>ms</em> milliseconds later
+than the time of this object (or earlier if <em>ms</em> is negative).
+<p> Note that the time will wrap if it passes midnight. See <a href="#addSecs">addSecs</a>()
+for an example.
+<p> <p>See also <a href="#addSecs">addSecs</a>() and <a href="#msecsTo">msecsTo</a>().
+
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="addSecs"></a>QTime::addSecs ( int&nbsp;nsecs ) const
+</h3>
+Returns a QTime object containing a time <em>nsecs</em> seconds later
+than the time of this object (or earlier if <em>nsecs</em> is negative).
+<p> Note that the time will wrap if it passes midnight.
+<p> Example:
+<pre>
+ QTime n( 14, 0, 0 ); // n == 14:00:00
+ QTime t;
+ t = n.<a href="#addSecs">addSecs</a>( 70 ); // t == 14:01:10
+ t = n.<a href="#addSecs">addSecs</a>( -70 ); // t == 13:58:50
+ t = n.<a href="#addSecs">addSecs</a>( 10*60*60 + 5 ); // t == 00:00:05
+ t = n.<a href="#addSecs">addSecs</a>( -15*60*60 ); // t == 23:00:00
+ </pre>
+
+<p> <p>See also <a href="#addMSecs">addMSecs</a>(), <a href="#secsTo">secsTo</a>(), and <a href="qdatetime.html#addSecs">QDateTime::addSecs</a>().
+
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="currentTime"></a>QTime::currentTime ( <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>&nbsp;ts )<tt> [static]</tt>
+</h3>
+Returns the current time as reported by the system clock, for the
+TimeSpec <em>ts</em>. The default TimeSpec is LocalTime.
+<p> Note that the accuracy depends on the accuracy of the underlying
+operating system; not all systems provide 1-millisecond accuracy.
+<p> <p>See also <a href="qt.html#TimeSpec-enum">Qt::TimeSpec</a>.
+
+<p>Examples: <a href="aclock-example.html#x1201">aclock/aclock.cpp</a>, <a href="dclock-example.html#x1104">dclock/dclock.cpp</a>, <a href="tutorial1-12.html#x2398">t12/cannon.cpp</a>, and <a href="tictac-example.html#x40">tictac/tictac.cpp</a>.
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="currentTime-2"></a>QTime::currentTime ()<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the current time as reported by the system clock.
+<p> Note that the accuracy depends on the accuracy of the underlying
+operating system; not all systems provide 1-millisecond accuracy.
+
+<h3 class=fn>int <a name="elapsed"></a>QTime::elapsed () const
+</h3>
+Returns the number of milliseconds that have elapsed since the
+last time <a href="#start">start</a>() or <a href="#restart">restart</a>() was called.
+<p> Note that the counter wraps to zero 24 hours after the last call
+to start() or restart.
+<p> Note that the accuracy depends on the accuracy of the underlying
+operating system; not all systems provide 1-millisecond accuracy.
+<p> <b>Warning:</b> If the system's clock setting has been changed since the
+last time start() or restart() was called, the result is
+undefined. This can happen when daylight savings time is turned on
+or off.
+<p> <p>See also <a href="#start">start</a>() and <a href="#restart">restart</a>().
+
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="fromString"></a>QTime::fromString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s, <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate )<tt> [static]</tt>
+</h3>
+Returns the representation <em>s</em> as a QTime using the format <em>f</em>,
+or an invalid time if this is not possible.
+<p> <b>Warning:</b> Note that <a href="qt.html#DateFormat-enum">Qt::LocalDate</a> cannot be used here.
+
+<h3 class=fn>int <a name="hour"></a>QTime::hour () const
+</h3>
+Returns the hour part (0..23) of the time.
+
+<p>Examples: <a href="aclock-example.html#x1202">aclock/aclock.cpp</a> and <a href="tictac-example.html#x41">tictac/tictac.cpp</a>.
+<h3 class=fn>bool <a name="isNull"></a>QTime::isNull () const
+</h3>
+
+<p> Returns TRUE if the time is equal to 00:00:00.000; otherwise
+returns FALSE. A null time is valid.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QTime::isValid () const
+</h3>
+Returns TRUE if the time is valid; otherwise returns FALSE. The
+time 23:30:55.746 is valid, whereas 24:12:30 is invalid.
+<p> <p>See also <a href="#isNull">isNull</a>().
+
+<h3 class=fn>bool <a name="isValid-2"></a>QTime::isValid ( int&nbsp;h, int&nbsp;m, int&nbsp;s, int&nbsp;ms = 0 )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if the specified time is valid; otherwise returns
+FALSE.
+<p> The time is valid if <em>h</em> is in the range 0..23, <em>m</em> and <em>s</em> are
+in the range 0..59, and <em>ms</em> is in the range 0..999.
+<p> Example:
+<pre>
+ QTime::<a href="#isValid">isValid</a>(21, 10, 30); // returns TRUE
+ QTime::<a href="#isValid">isValid</a>(22, 5, 62); // returns FALSE
+ </pre>
+
+
+<h3 class=fn>int <a name="minute"></a>QTime::minute () const
+</h3>
+Returns the minute part (0..59) of the time.
+
+<p>Examples: <a href="aclock-example.html#x1203">aclock/aclock.cpp</a> and <a href="tictac-example.html#x42">tictac/tictac.cpp</a>.
+<h3 class=fn>int <a name="msec"></a>QTime::msec () const
+</h3>
+Returns the millisecond part (0..999) of the time.
+
+<h3 class=fn>int <a name="msecsTo"></a>QTime::msecsTo ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+Returns the number of milliseconds from this time to <em>t</em> (which
+is negative if <em>t</em> is earlier than this time).
+<p> Because QTime measures time within a day and there are 86400
+seconds in a day, the result is always between -86400000 and
+86400000 msec.
+<p> <p>See also <a href="#secsTo">secsTo</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QTime::operator!= ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is different from <em>t</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt"></a>QTime::operator&lt; ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is earlier than <em>t</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>QTime::operator&lt;= ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is earlier than or equal to <em>t</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QTime::operator== ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is equal to <em>t</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt"></a>QTime::operator&gt; ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is later than <em>t</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>QTime::operator&gt;= ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+
+<p> Returns TRUE if this time is later than or equal to <em>t</em>;
+otherwise returns FALSE.
+
+<h3 class=fn>int <a name="restart"></a>QTime::restart ()
+</h3>
+Sets this time to the current time and returns the number of
+milliseconds that have elapsed since the last time <a href="#start">start</a>() or
+<a href="#restart">restart</a>() was called.
+<p> This function is guaranteed to be atomic and is thus very handy
+for repeated measurements. Call start() to start the first
+measurement and then restart() for each later measurement.
+<p> Note that the counter wraps to zero 24 hours after the last call
+to start() or restart().
+<p> <b>Warning:</b> If the system's clock setting has been changed since the
+last time start() or restart() was called, the result is
+undefined. This can happen when daylight savings time is turned on
+or off.
+<p> <p>See also <a href="#start">start</a>(), <a href="#elapsed">elapsed</a>(), and <a href="#currentTime">currentTime</a>().
+
+<h3 class=fn>int <a name="second"></a>QTime::second () const
+</h3>
+Returns the second part (0..59) of the time.
+
+<p>Example: <a href="tictac-example.html#x43">tictac/tictac.cpp</a>.
+<h3 class=fn>int <a name="secsTo"></a>QTime::secsTo ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t ) const
+</h3>
+Returns the number of seconds from this time to <em>t</em> (which is
+negative if <em>t</em> is earlier than this time).
+<p> Because QTime measures time within a day and there are 86400
+seconds in a day, the result is always between -86400 and 86400.
+<p> <p>See also <a href="#addSecs">addSecs</a>() and <a href="qdatetime.html#secsTo">QDateTime::secsTo</a>().
+
+<p>Example: <a href="tutorial1-12.html#x2399">t12/cannon.cpp</a>.
+<h3 class=fn>bool <a name="setHMS"></a>QTime::setHMS ( int&nbsp;h, int&nbsp;m, int&nbsp;s, int&nbsp;ms = 0 )
+</h3>
+Sets the time to hour <em>h</em>, minute <em>m</em>, seconds <em>s</em> and
+milliseconds <em>ms</em>.
+<p> <em>h</em> must be in the range 0..23, <em>m</em> and <em>s</em> must be in the
+range 0..59, and <em>ms</em> must be in the range 0..999. Returns TRUE
+if the set time is valid; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="start"></a>QTime::start ()
+</h3>
+Sets this time to the current time. This is practical for timing:
+<p> <pre>
+ QTime t;
+ t.<a href="#start">start</a>();
+ some_lengthy_task();
+ <a href="qapplication.html#qDebug">qDebug</a>( "Time elapsed: %d ms", t.<a href="#elapsed">elapsed</a>() );
+ </pre>
+
+<p> <p>See also <a href="#restart">restart</a>(), <a href="#elapsed">elapsed</a>(), and <a href="#currentTime">currentTime</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QTime::toString ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;format ) const
+</h3>
+Returns the time as a string. The <em>format</em> parameter determines
+the format of the result string.
+<p> These expressions may be used:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Expression <th valign="top">Output
+<tr bgcolor="#f0f0f0"> <td valign="top">h
+<td valign="top">the hour without a leading zero (0..23 or 1..12 if AM/PM display)
+<tr bgcolor="#d0d0d0"> <td valign="top">hh
+<td valign="top">the hour with a leading zero (00..23 or 01..12 if AM/PM display)
+<tr bgcolor="#f0f0f0"> <td valign="top">m <td valign="top">the minute without a leading zero (0..59)
+<tr bgcolor="#d0d0d0"> <td valign="top">mm <td valign="top">the minute with a leading zero (00..59)
+<tr bgcolor="#f0f0f0"> <td valign="top">s <td valign="top">the second whithout a leading zero (0..59)
+<tr bgcolor="#d0d0d0"> <td valign="top">ss <td valign="top">the second whith a leading zero (00..59)
+<tr bgcolor="#f0f0f0"> <td valign="top">z <td valign="top">the milliseconds without leading zeroes (0..999)
+<tr bgcolor="#d0d0d0"> <td valign="top">zzz <td valign="top">the milliseconds with leading zeroes (000..999)
+<tr bgcolor="#f0f0f0"> <td valign="top">AP
+<td valign="top">use AM/PM display. <em>AP</em> will be replaced by either "AM" or "PM".
+<tr bgcolor="#d0d0d0"> <td valign="top">ap
+<td valign="top">use am/pm display. <em>ap</em> will be replaced by either "am" or "pm".
+</table></center>
+<p> All other input characters will be ignored.
+<p> Example format strings (assuming that the QTime is 14:13:09.042)
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Format <th valign="top">Result
+<tr bgcolor="#f0f0f0"> <td valign="top">hh:mm:ss.zzz <td valign="top" colspan="1" rowspan="1"> 14:13:09.042
+<tr bgcolor="#d0d0d0"> <td valign="top">h:m:s ap <td valign="top" colspan="1" rowspan="1"> 2:13:9 pm
+</table></center>
+<p> If the time is an invalid time, then <a href="qstring.html#QString-null">QString::null</a> will be returned.
+<p> <p>See also <a href="qdate.html#toString">QDate::toString</a>() and <a href="qdatetime.html#toString">QDateTime::toString</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString-2"></a>QTime::toString ( <a href="qt.html#DateFormat-enum">Qt::DateFormat</a>&nbsp;f = Qt::TextDate ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the time as a string. Milliseconds are not included. The
+<em>f</em> parameter determines the format of the string.
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::TextDate</a>, the string format is HH:MM:SS; e.g. 1
+second before midnight would be "23:59:59".
+<p> If <em>f</em> is <a href="qt.html#DateFormat-enum">Qt::ISODate</a>, the string format corresponds to the
+ISO 8601 extended specification for representations of dates,
+which is also HH:MM:SS.
+<p> If <em>f</em> is Qt::LocalDate, the string format depends on the locale
+settings of the system.
+<p> If the time is an invalid time, then <a href="qstring.html#QString-null">QString::null</a> will be returned.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t )
+</h3>
+
+<p> Writes time <em>t</em> to the stream <em>s</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;t )
+</h3>
+
+<p> Reads a time from the stream <em>s</em> into <em>t</em>.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimeedit-members.html b/doc/html/qtimeedit-members.html
new file mode 100644
index 0000000..4cc23ee
--- /dev/null
+++ b/doc/html/qtimeedit-members.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdatetimeedit.h:154 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimeEdit Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTimeEdit</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtimeedit.html">QTimeEdit</a>, including inherited members.
+
+<ul>
+<li><a href="qtimeedit.html#QTimeEdit">QTimeEdit</a>()
+<li><a href="qtimeedit.html#~QTimeEdit">~QTimeEdit</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qtimeedit.html#autoAdvance">autoAdvance</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qtimeedit.html#display">display</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qtimeedit.html#maxValue">maxValue</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qtimeedit.html#minValue">minValue</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qtimeedit.html#sectionFormattedText">sectionFormattedText</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qtimeedit.html#separator">separator</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qtimeedit.html#setAutoAdvance">setAutoAdvance</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qtimeedit.html#setDisplay">setDisplay</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qtimeedit.html#setHour">setHour</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qtimeedit.html#setMaxValue">setMaxValue</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qtimeedit.html#setMinValue">setMinValue</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qtimeedit.html#setMinute">setMinute</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtimeedit.html#setRange">setRange</a>()
+<li><a href="qtimeedit.html#setSecond">setSecond</a>()
+<li><a href="qtimeedit.html#setSeparator">setSeparator</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qtimeedit.html#setTime">setTime</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qtimeedit.html#time">time</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qtimeedit.html#valueChanged">valueChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimeedit.html b/doc/html/qtimeedit.html
new file mode 100644
index 0000000..af7d755
--- /dev/null
+++ b/doc/html/qtimeedit.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qdatetimeedit.cpp:1780 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimeEdit Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTimeEdit Class Reference</h1>
+
+<p>The QTimeEdit class provides a time editor.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdatetimeedit-h.html">qdatetimeedit.h</a>&gt;</tt>
+<p>Inherits <a href="qdatetimeeditbase.html">QDateTimeEditBase</a>.
+<p><a href="qtimeedit-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Display-enum"><b>Display</b></a> { Hours = 0x01, Minutes = 0x02, Seconds = 0x04, AMPM = 0x10 }</li>
+<li class=fn><a href="#QTimeEdit"><b>QTimeEdit</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QTimeEdit-2"><b>QTimeEdit</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;time, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTimeEdit"><b>~QTimeEdit</b></a> ()</li>
+<li class=fn>QTime <a href="#time"><b>time</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAutoAdvance"><b>setAutoAdvance</b></a> ( bool&nbsp;advance )</li>
+<li class=fn>bool <a href="#autoAdvance"><b>autoAdvance</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMinValue"><b>setMinValue</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QTime <a href="#minValue"><b>minValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMaxValue"><b>setMaxValue</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>QTime <a href="#maxValue"><b>maxValue</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRange"><b>setRange</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;min, const&nbsp;QTime&nbsp;&amp;&nbsp;max )</li>
+<li class=fn>QString <a href="#separator"><b>separator</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSeparator"><b>setSeparator</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>uint <a href="#display"><b>display</b></a> () const</li>
+<li class=fn>void <a href="#setDisplay"><b>setDisplay</b></a> ( uint&nbsp;disp )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setTime"><b>setTime</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;time )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;time )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoAdvance-prop"><b>autoAdvance</b></a>&nbsp;- whether the editor automatically advances to the next section</li>
+<li class=fn>Display <a href="#display-prop"><b>display</b></a>&nbsp;- the sections that are displayed in the time edit</li>
+<li class=fn>QTime <a href="#maxValue-prop"><b>maxValue</b></a>&nbsp;- the maximum time value</li>
+<li class=fn>QTime <a href="#minValue-prop"><b>minValue</b></a>&nbsp;- the minimum time value</li>
+<li class=fn>QTime <a href="#time-prop"><b>time</b></a>&nbsp;- the editor's time value</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QString <a href="#sectionFormattedText"><b>sectionFormattedText</b></a> ( int&nbsp;sec )</li>
+<li class=fn>virtual void <a href="#setHour"><b>setHour</b></a> ( int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#setMinute"><b>setMinute</b></a> ( int&nbsp;m )</li>
+<li class=fn>virtual void <a href="#setSecond"><b>setSecond</b></a> ( int&nbsp;s )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTimeEdit class provides a time editor.
+<p>
+
+
+<p> QTimeEdit allows the user to edit times by using the keyboard or
+the arrow keys to increase/decrease time values. The arrow keys
+can be used to move from section to section within the QTimeEdit
+box. The user can automatically be moved to the next section once
+they complete a section using <a href="#setAutoAdvance">setAutoAdvance</a>(). Times appear in
+hour, minute, second order. It is recommended that the QTimeEdit
+is initialised with a time, e.g.
+<pre>
+ <a href="qtime.html">QTime</a> timeNow = QTime::<a href="qtime.html#currentTime">currentTime</a>();
+ QTimeEdit *timeEdit = new QTimeEdit( timeNow, this );
+ timeEdit-&gt;<a href="#setRange">setRange</a>( timeNow, timeNow.<a href="qtime.html#addSecs">addSecs</a>( 60 * 60 ) );
+ </pre>
+
+Here we've created a QTimeEdit widget set to the current time.
+We've also set the minimum value to the current time and the
+maximum time to one hour from now.
+<p> The maximum and minimum values for a time value in the time editor
+default to the maximum and minimum values for a <a href="qtime.html">QTime</a>. You can
+change this by calling <a href="#setMinValue">setMinValue</a>(), <a href="#setMaxValue">setMaxValue</a>() or <a href="#setRange">setRange</a>().
+<p> Terminology: A QTimeWidget consists of three sections, one each
+for the hour, minute and second. You can change the separator
+character using <a href="#setSeparator">setSeparator</a>(), by default the separator is read
+from the system's settings.
+<p> <center><img src="datetimewidgets.png" alt="Date Time Widgets"></center>
+<p> <p>See also <a href="qtime.html">QTime</a>, <a href="qdateedit.html">QDateEdit</a>, <a href="qdatetimeedit.html">QDateTimeEdit</a>, <a href="advanced.html">Advanced Widgets</a>, and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Display-enum"></a>QTimeEdit::Display</h3>
+
+<p> This enum defines the sections that comprise a time
+<ul>
+<li><tt>QTimeEdit::Hours</tt> - The hours section
+<li><tt>QTimeEdit::Minutes</tt> - The minutes section
+<li><tt>QTimeEdit::Seconds</tt> - The seconds section
+<li><tt>QTimeEdit::AMPM</tt> - The AM/PM section
+</ul><p> The values can be or'ed together to show any combination.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTimeEdit"></a>QTimeEdit::QTimeEdit ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty time edit with parent <em>parent</em> and called <em>name</em>.
+
+<h3 class=fn><a name="QTimeEdit-2"></a>QTimeEdit::QTimeEdit ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;time, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a time edit with the initial time value, <em>time</em>,
+parent <em>parent</em> and called <em>name</em>.
+
+<h3 class=fn><a name="~QTimeEdit"></a>QTimeEdit::~QTimeEdit ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoAdvance"></a>QTimeEdit::autoAdvance () const
+</h3><p>Returns TRUE if the editor automatically advances to the next section; otherwise returns FALSE.
+See the <a href="qtimeedit.html#autoAdvance-prop">"autoAdvance"</a> property for details.
+<h3 class=fn>uint <a name="display"></a>QTimeEdit::display () const
+</h3><p>Returns the sections that are displayed in the time edit.
+See the <a href="qtimeedit.html#display-prop">"display"</a> property for details.
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="maxValue"></a>QTimeEdit::maxValue () const
+</h3><p>Returns the maximum time value.
+See the <a href="qtimeedit.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="minValue"></a>QTimeEdit::minValue () const
+</h3><p>Returns the minimum time value.
+See the <a href="qtimeedit.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="sectionFormattedText"></a>QTimeEdit::sectionFormattedText ( int&nbsp;sec )<tt> [virtual protected]</tt>
+</h3>
+Returns the formatted number for section <em>sec</em>. This will
+correspond to either the hour, minute or second section, depending
+on <em>sec</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="separator"></a>QTimeEdit::separator () const
+</h3>
+Returns the editor's separator.
+
+<h3 class=fn>void <a name="setAutoAdvance"></a>QTimeEdit::setAutoAdvance ( bool&nbsp;advance )<tt> [virtual]</tt>
+</h3><p>Sets whether the editor automatically advances to the next section to <em>advance</em>.
+See the <a href="qtimeedit.html#autoAdvance-prop">"autoAdvance"</a> property for details.
+<h3 class=fn>void <a name="setDisplay"></a>QTimeEdit::setDisplay ( uint&nbsp;disp )
+</h3><p>Sets the sections that are displayed in the time edit to <em>disp</em>.
+See the <a href="qtimeedit.html#display-prop">"display"</a> property for details.
+<h3 class=fn>void <a name="setHour"></a>QTimeEdit::setHour ( int&nbsp;h )<tt> [virtual protected]</tt>
+</h3>
+Sets the hour to <em>h</em>, which must be a valid hour, i.e. in the
+range 0..24.
+
+<h3 class=fn>void <a name="setMaxValue"></a>QTimeEdit::setMaxValue ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3><p>Sets the maximum time value to <em>d</em>.
+See the <a href="qtimeedit.html#maxValue-prop">"maxValue"</a> property for details.
+<h3 class=fn>void <a name="setMinValue"></a>QTimeEdit::setMinValue ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;d )<tt> [virtual]</tt>
+</h3><p>Sets the minimum time value to <em>d</em>.
+See the <a href="qtimeedit.html#minValue-prop">"minValue"</a> property for details.
+<h3 class=fn>void <a name="setMinute"></a>QTimeEdit::setMinute ( int&nbsp;m )<tt> [virtual protected]</tt>
+</h3>
+Sets the minute to <em>m</em>, which must be a valid minute, i.e. in the
+range 0..59.
+
+<h3 class=fn>void <a name="setRange"></a>QTimeEdit::setRange ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;min, const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;max )<tt> [virtual]</tt>
+</h3>
+Sets the valid input range for the editor to be from <em>min</em> to <em>max</em> inclusive. If <em>min</em> is invalid no minimum time is set.
+Similarly, if <em>max</em> is invalid no maximum time is set.
+
+<h3 class=fn>void <a name="setSecond"></a>QTimeEdit::setSecond ( int&nbsp;s )<tt> [virtual protected]</tt>
+</h3>
+Sets the second to <em>s</em>, which must be a valid second, i.e. in the
+range 0..59.
+
+<h3 class=fn>void <a name="setSeparator"></a>QTimeEdit::setSeparator ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+Sets the separator to <em>s</em>. Note that currently only the first
+character of <em>s</em> is used.
+
+<h3 class=fn>void <a name="setTime"></a>QTimeEdit::setTime ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;time )<tt> [virtual slot]</tt>
+</h3><p>Sets the editor's time value to <em>time</em>.
+See the <a href="qtimeedit.html#time-prop">"time"</a> property for details.
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="time"></a>QTimeEdit::time () const
+</h3><p>Returns the editor's time value.
+See the <a href="qtimeedit.html#time-prop">"time"</a> property for details.
+<h3 class=fn>void <a name="valueChanged"></a>QTimeEdit::valueChanged ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;time )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the editor's value changes. The <em>time</em> parameter is the new value.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoAdvance-prop"></a>autoAdvance</h3>
+<p>This property holds whether the editor automatically advances to the next section.
+<p>If autoAdvance is TRUE, the editor will automatically advance
+focus to the next time section if a user has completed a section.
+The default is FALSE.
+
+<p>Set this property's value with <a href="#setAutoAdvance">setAutoAdvance</a>() and get this property's value with <a href="#autoAdvance">autoAdvance</a>().
+<h3 class=fn><a href="qtimeedit.html#Display-enum">Display</a> <a name="display-prop"></a>display</h3>
+<p>This property holds the sections that are displayed in the time edit.
+<p>The value can be any combination of the values in the Display enum.
+By default, the widget displays hours, minutes and seconds.
+
+<p>Set this property's value with <a href="#setDisplay">setDisplay</a>() and get this property's value with <a href="#display">display</a>().
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="maxValue-prop"></a>maxValue</h3>
+<p>This property holds the maximum time value.
+<p>Setting the maximum time value is equivalent to calling
+<a href="#setRange">QTimeEdit::setRange</a>( <a href="#minValue">minValue</a>(), <em>t</em> ), where <em>t</em> is the maximum
+time. The default maximum time is 23:59:59.
+<p> <p>See also <a href="#minValue-prop">minValue</a> and <a href="#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>().
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="minValue-prop"></a>minValue</h3>
+<p>This property holds the minimum time value.
+<p>Setting the minimum time value is equivalent to calling
+<a href="#setRange">QTimeEdit::setRange</a>( <em>t</em>, <a href="#maxValue">maxValue</a>() ), where <em>t</em> is the minimum
+time. The default minimum time is 00:00:00.
+<p> <p>See also <a href="#maxValue-prop">maxValue</a> and <a href="#setRange">setRange</a>().
+
+<p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>().
+<h3 class=fn><a href="qtime.html">QTime</a> <a name="time-prop"></a>time</h3>
+<p>This property holds the editor's time value.
+<p>When changing the time property, if the time is less than
+<a href="#minValue">minValue</a>(), or is greater than <a href="#maxValue">maxValue</a>(), nothing happens.
+
+<p>Set this property's value with <a href="#setTime">setTime</a>() and get this property's value with <a href="#time">time</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimer-h.html b/doc/html/qtimer-h.html
new file mode 100644
index 0000000..8dc6f5b
--- /dev/null
+++ b/doc/html/qtimer-h.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtimer.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtimer.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtimer.h</h1>
+
+<p>This is the verbatim text of the qtimer.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtimer.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QTimer class
+**
+** Created : 931111
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTIMER_H
+#define QTIMER_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+
+class Q_EXPORT QTimer : public QObject
+{
+ Q_OBJECT
+public:
+ QTimer( QObject *parent=0, const char *name=0 );
+ ~QTimer();
+
+ bool isActive() const;
+
+ int start( int msec, bool sshot = FALSE );
+ void changeInterval( int msec );
+ void stop();
+
+ static void singleShot( int msec, QObject *receiver, const char *member );
+
+ int timerId() const { return id; }
+
+signals:
+ void timeout();
+
+protected:
+ bool event( QEvent * );
+
+private:
+ int id;
+ uint single : 1;
+ uint nulltimer : 1;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QTimer( const QTimer &amp; );
+ QTimer &amp;operator=( const QTimer &amp; );
+#endif
+};
+
+
+inline bool QTimer::isActive() const
+{
+ return id &gt;= 0;
+}
+
+
+#endif // QTIMER_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimer-members.html b/doc/html/qtimer-members.html
new file mode 100644
index 0000000..e268605
--- /dev/null
+++ b/doc/html/qtimer-members.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtimer.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimer Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTimer</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtimer.html">QTimer</a>, including inherited members.
+
+<ul>
+<li><a href="qtimer.html#QTimer">QTimer</a>()
+<li><a href="qtimer.html#~QTimer">~QTimer</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qtimer.html#changeInterval">changeInterval</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qtimer.html#isActive">isActive</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qtimer.html#singleShot">singleShot</a>()
+<li><a href="qtimer.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qtimer.html#stop">stop</a>()
+<li><a href="qtimer.html#timeout">timeout</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qtimer.html#timerId">timerId</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimer.html b/doc/html/qtimer.html
new file mode 100644
index 0000000..1449f2d
--- /dev/null
+++ b/doc/html/qtimer.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qtimer.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimer Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTimer Class Reference</h1>
+
+<p>The QTimer class provides timer signals and single-shot timers.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qtimer-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTimer"><b>QTimer</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTimer"><b>~QTimer</b></a> ()</li>
+<li class=fn>bool <a href="#isActive"><b>isActive</b></a> () const</li>
+<li class=fn>int <a href="#start"><b>start</b></a> ( int&nbsp;msec, bool&nbsp;sshot = FALSE )</li>
+<li class=fn>void <a href="#changeInterval"><b>changeInterval</b></a> ( int&nbsp;msec )</li>
+<li class=fn>void <a href="#stop"><b>stop</b></a> ()</li>
+<li class=fn>int <a href="#timerId"><b>timerId</b></a> () const</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#timeout"><b>timeout</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#singleShot"><b>singleShot</b></a> ( int&nbsp;msec, QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTimer class provides timer signals and single-shot timers.
+<p>
+
+
+<p> It uses <a href="qtimerevent.html">timer events</a> internally to
+provide a more versatile timer. QTimer is very easy to use:
+create a QTimer, call <a href="#start">start</a>() to start it and connect its
+<a href="#timeout">timeout</a>() to the appropriate slots. When the time is up it will
+emit the timeout() signal.
+<p> Note that a QTimer object is destroyed automatically when its
+parent object is destroyed.
+<p> Example:
+<pre>
+ QTimer *timer = new QTimer( myObject );
+ <a href="qobject.html#connect">connect</a>( timer, SIGNAL(<a href="#timeout">timeout</a>()), myObject, SLOT(timerDone()) );
+ timer-&gt;<a href="#start">start</a>( 2000, TRUE ); // 2 seconds single-shot timer
+ </pre>
+
+<p> You can also use the static <a href="#singleShot">singleShot</a>() function to create a
+single shot timer.
+<p> As a special case, a QTimer with timeout 0 times out as soon as
+all the events in the window system's event queue have been
+processed.
+<p> This can be used to do heavy work while providing a snappy
+user interface:
+<pre>
+ QTimer *t = new QTimer( myObject );
+ <a href="qobject.html#connect">connect</a>( t, SIGNAL(<a href="#timeout">timeout</a>()), SLOT(processOneThing()) );
+ t-&gt;<a href="#start">start</a>( 0, FALSE );
+ </pre>
+
+<p> myObject->processOneThing() will be called repeatedly and should
+return quickly (typically after processing one data item) so that
+Qt can deliver events to widgets and stop the timer as soon as it
+has done all its work. This is the traditional way of
+implementing heavy work in GUI applications; multi-threading is
+now becoming available on more and more platforms, and we expect
+that null events will eventually be replaced by threading.
+<p> Note that QTimer's accuracy depends on the underlying operating
+system and hardware. Most platforms support an accuracy of 20ms;
+some provide more. If Qt is unable to deliver the requested
+number of timer clicks, it will silently discard some.
+<p> An alternative to using QTimer is to call <a href="qobject.html#startTimer">QObject::startTimer</a>()
+for your object and reimplement the <a href="qobject.html#timerEvent">QObject::timerEvent</a>() event
+handler in your class (which must, of course, inherit <a href="qobject.html">QObject</a>).
+The disadvantage is that <a href="qobject.html#timerEvent">timerEvent</a>() does not support such
+high-level features as single-shot timers or signals.
+<p> Some operating systems limit the number of timers that may be
+used; Qt tries to work around these limitations.
+<p>See also <a href="events.html">Event Classes</a> and <a href="time.html">Time and Date</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTimer"></a>QTimer::QTimer ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a timer called <em>name</em>, with the parent <em>parent</em>.
+<p> Note that the parent object's destructor will destroy this timer
+object.
+
+<h3 class=fn><a name="~QTimer"></a>QTimer::~QTimer ()
+</h3>
+Destroys the timer.
+
+<h3 class=fn>void <a name="changeInterval"></a>QTimer::changeInterval ( int&nbsp;msec )
+</h3>
+Changes the timeout interval to <em>msec</em> milliseconds.
+<p> If the timer signal is pending, it will be stopped and restarted;
+otherwise it will be started.
+<p> <p>See also <a href="#start">start</a>() and <a href="#isActive">isActive</a>().
+
+<h3 class=fn>bool <a name="isActive"></a>QTimer::isActive () const
+</h3>
+
+<p> Returns TRUE if the timer is running (pending); otherwise returns
+FALSE.
+
+<p>Example: <a href="tutorial1-11.html#x2376">t11/cannon.cpp</a>.
+<h3 class=fn>void <a name="singleShot"></a>QTimer::singleShot ( int&nbsp;msec, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;member )<tt> [static]</tt>
+</h3>
+This static function calls a slot after a given time interval.
+<p> It is very convenient to use this function because you do not need
+to bother with a <a href="qobject.html#timerEvent">timerEvent</a> or
+to create a local QTimer object.
+<p> Example:
+<pre>
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+
+ int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ QTimer::<a href="#singleShot">singleShot</a>( 10*60*1000, &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ ... // create and show your widgets
+ return a.<a href="qapplication.html#exec">exec</a>();
+ }
+ </pre>
+
+<p> This sample program automatically terminates after 10 minutes (i.e.
+600000 milliseconds).
+<p> The <em>receiver</em> is the receiving object and the <em>member</em> is the
+slot. The time interval is <em>msec</em>.
+
+<h3 class=fn>int <a name="start"></a>QTimer::start ( int&nbsp;msec, bool&nbsp;sshot = FALSE )
+</h3>
+Starts the timer with a <em>msec</em> milliseconds timeout, and returns
+the ID of the timer, or zero when starting the timer failed.
+<p> If <em>sshot</em> is TRUE, the timer will be activated only once;
+otherwise it will continue until it is stopped.
+<p> Any pending timer will be stopped.
+<p> <p>See also <a href="#singleShot">singleShot</a>(), <a href="#stop">stop</a>(), <a href="#changeInterval">changeInterval</a>(), and <a href="#isActive">isActive</a>().
+
+<p>Examples: <a href="aclock-example.html#x1204">aclock/aclock.cpp</a>, <a href="dirview-example.html#x1704">dirview/dirview.cpp</a>, <a href="distributor-example.html#x2671">distributor/distributor.ui.h</a>, <a href="forever-example.html#x1053">forever/forever.cpp</a>, <a href="hello-example.html#x1639">hello/hello.cpp</a>, <a href="tutorial1-11.html#x2377">t11/cannon.cpp</a>, and <a href="tutorial1-13.html#x2407">t13/cannon.cpp</a>.
+<h3 class=fn>void <a name="stop"></a>QTimer::stop ()
+</h3>
+Stops the timer.
+<p> <p>See also <a href="#start">start</a>().
+
+<p>Examples: <a href="dirview-example.html#x1705">dirview/dirview.cpp</a>, <a href="tutorial1-11.html#x2378">t11/cannon.cpp</a>, <a href="tutorial1-12.html#x2400">t12/cannon.cpp</a>, and <a href="tutorial1-13.html#x2408">t13/cannon.cpp</a>.
+<h3 class=fn>void <a name="timeout"></a>QTimer::timeout ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the timer is activated.
+
+<p>Examples: <a href="aclock-example.html#x1205">aclock/aclock.cpp</a>, <a href="dirview-example.html#x1706">dirview/dirview.cpp</a>, <a href="distributor-example.html#x2672">distributor/distributor.ui.h</a>, <a href="forever-example.html#x1054">forever/forever.cpp</a>, <a href="hello-example.html#x1640">hello/hello.cpp</a>, and <a href="tutorial1-11.html#x2379">t11/cannon.cpp</a>.
+<h3 class=fn>int <a name="timerId"></a>QTimer::timerId () const
+</h3>
+
+<p> Returns the ID of the timer if the timer is running; otherwise returns
+-1.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimerevent-members.html b/doc/html/qtimerevent-members.html
new file mode 100644
index 0000000..1e53e69
--- /dev/null
+++ b/doc/html/qtimerevent-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:160 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimerEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTimerEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtimerevent.html">QTimerEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qtimerevent.html#QTimerEvent">QTimerEvent</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qtimerevent.html#timerId">timerId</a>()
+<li><a href="qevent.html#type">type</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtimerevent.html b/doc/html/qtimerevent.html
new file mode 100644
index 0000000..6af499e
--- /dev/null
+++ b/doc/html/qtimerevent.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:209 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTimerEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTimerEvent Class Reference</h1>
+
+<p>The QTimerEvent class contains parameters that describe a
+timer event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qtimerevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTimerEvent"><b>QTimerEvent</b></a> ( int&nbsp;timerId )</li>
+<li class=fn>int <a href="#timerId"><b>timerId</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QTimerEvent class contains parameters that describe a
+timer event.
+<p>
+<p> Timer events are sent at regular intervals to objects that have
+started one or more timers. Each timer has a unique identifier. A
+timer is started with <a href="qobject.html#startTimer">QObject::startTimer</a>().
+<p> The <a href="qtimer.html">QTimer</a> class provides a high-level programming interface that
+uses signals instead of events. It also provides one-shot timers.
+<p> The event handler <a href="qobject.html#timerEvent">QObject::timerEvent</a>() receives timer events.
+<p> <p>See also <a href="qtimer.html">QTimer</a>, <a href="qobject.html#timerEvent">QObject::timerEvent</a>(), <a href="qobject.html#startTimer">QObject::startTimer</a>(), <a href="qobject.html#killTimer">QObject::killTimer</a>(), <a href="qobject.html#killTimers">QObject::killTimers</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTimerEvent"></a>QTimerEvent::QTimerEvent ( int&nbsp;timerId )
+</h3>
+
+<p> Constructs a timer event object with the timer identifier set to
+<em>timerId</em>.
+
+<h3 class=fn>int <a name="timerId"></a>QTimerEvent::timerId () const
+</h3>
+
+<p> Returns the unique timer identifier, which is the same identifier
+as returned from <a href="qobject.html#startTimer">QObject::startTimer</a>().
+
+<p>Example: <a href="dclock-example.html#x1105">dclock/dclock.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtl-qvaluelist-example.html b/doc/html/qtl-qvaluelist-example.html
new file mode 100644
index 0000000..3ce1ad2
--- /dev/null
+++ b/doc/html/qtl-qvaluelist-example.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/qtl/qtl-qvaluelist.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Tiny QTL Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Tiny QTL Example</h1>
+
+
+<p>
+This tiny example shows a <a href="qvaluelistiterator.html">QValueListIterator</a>.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/qvaluelistiterator.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qvaluelist-h.html">qvaluelist.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qwindowdefs-h.html">qwindowdefs.h</a>&gt;
+#include &lt;stdio.h&gt;
+
+
+class Employee
+{
+public:
+ Employee(): s(0) {}
+ Employee( const <a href="qstring.html">QString</a>&amp; name, int salary )
+ : n(name), s(salary) {}
+
+ <a href="qstring.html">QString</a> name() const { return n; }
+
+ int salary() const { return s; }
+ void setSalary( int salary ) { s = salary; }
+
+ // this is here to support very old compilers
+ Q_DUMMY_COMPARISON_OPERATOR( Employee )
+
+private:
+ <a href="qstring.html">QString</a> n;
+ int s;
+};
+
+
+int main( int, char** )
+{
+ typedef QValueList&lt;Employee&gt; EmployeeList;
+ EmployeeList list;
+
+ list.append( Employee("Bill", 50000) );
+ list.append( Employee("Steve",80000) );
+ list.append( Employee("Ron", 60000) );
+
+ Employee joe( "Joe", 50000 );
+ list.append( joe );
+ joe.setSalary( 4000 );
+
+ EmployeeList::ConstIterator it = list.begin();
+ while( it != list.end() ) {
+ printf( "%s earns %d\n", (*it).name().latin1(), (*it).salary() );
+ ++it;
+ }
+
+ return 0;
+}
+</pre>
+
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtl.html b/doc/html/qtl.html
new file mode 100644
index 0000000..fed5464
--- /dev/null
+++ b/doc/html/qtl.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:757 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Template Library Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Template Library Classes</h1>
+
+
+<p> The Qt Template Library (QTL) is a set of templates that provide
+object containers. See the <a href="qt-template-lib.html">Qt Template
+Library</a>.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qmap.html">QMap</a></b><td>Value-based template class that provides a dictionary
+<tr bgcolor=#f0f0f0><td><b><a href="qmapconstiterator.html">QMapConstIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qmapiterator.html">QMapIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qpair.html">QPair</a></b><td>Value-based template class that provides a pair of elements
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelist.html">QValueList</a></b><td>Value-based template class that provides lists
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistconstiterator.html">QValueListConstIterator</a></b><td>Const iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistiterator.html">QValueListIterator</a></b><td>Iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluestack.html">QValueStack</a></b><td>Value-based template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluevector.html">QValueVector</a></b><td>Value-based template class that provides a dynamic array
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtmac-as-native.html b/doc/html/qtmac-as-native.html
new file mode 100644
index 0000000..178d9ee
--- /dev/null
+++ b/doc/html/qtmac-as-native.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qtmac-as-native.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Mac is Mac OS X Native</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Mac is Mac OS X Native</h1>
+
+
+<p>
+<p> This document explains what makes an application "native" on Mac OS X.
+It shows the areas where Qt/Mac is compliant, and the grey areas where
+compliance is more questionable. (See also the document
+<a href="mac-differences.html">Qt/Mac Issues</a>.)
+<p> Normally when referring to a native application, one really means an
+application that talks directly to the underlying window system and
+operating system, rather than one that uses some intermediary (for
+example the X11 server, or a web browser). Qt/Mac applications run as
+first class citizens, just like Cocoa, Java, and Carbon applications.
+<p> When an application is running as a first class citizen it means that
+it can interact with specific components of the Mac OS X experience:
+<p> <ul>
+<li> <b>The global menubar</b><br>
+<p> Qt/Mac does this via the <a href="qmenubar.html">QMenuBar</a> abstraction. Mac users expect to
+have a menubar at the top of the screen and Qt/Mac honors this.
+<p> Additionally, users expect certain conventions to be respected, for
+example the application menu should contain About, Preferences,
+Quit, etc. Qt/Mac handles this automatically, although it does not
+provide a means of interacting directly with the application menu.
+(By doing this automatically, Qt/Mac makes it easier to port Qt/Mac
+applications to other platforms.)
+<p> <li> <b>Aqua</b><br>
+<p> This is a critical piece of Mac OS X (documentation can be found at
+<a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html">http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html</a>).
+It is a huge topic, but the most important guidelines for GUI
+design are probably these:
+<p> <ul>
+<li> <em>Aqua look</em><br>
+<p> As with Cocoa/Carbon Qt/Mac provides widgets that look like
+those described in the Human Interface Descriptions. Qt/Mac's
+widgets use the Appearance Manager to implement the look, so
+Apple's own API's are doing the rendering (Qt/Mac &lt;3.1 used an
+emulation style with pixmaps, however this quickly proved to be
+cumbersome, and unable to keep up with style changes at Apple).
+<p> <li> <em>Aqua feel</em><br>
+<p> This is a bit more subjective, but certainly Qt/Mac strives to
+provide the same feel as any Mac OS X application (and we
+consider situations where it doesn't achieve this to be bugs).
+Of course Qt has other concerns to bear in mind, especially
+remaining multiplatform. Some "baggage" that Qt carries is in
+an effort to provide a widget on a platform for which an
+equivelant doesn't exist, or so that a single API can be used to
+do something, even if the API doesn't make entire sense for a
+specific widget (for example pushbuttons with a popup menu are
+really bevel buttons in Mac OS X, but Qt/Mac cannot guess that
+this bevel button is right next to other real pushbuttons).
+<p> <li> <em>Aqua guides</em><br>
+<p> This is the most subjective, but there are many suggestions and
+guidelines in the Aqua style guidelines. This is the area where
+Qt/Mac is of least assistance. The decisions that must be made
+to conform (widget sizes, widget layouts with respect to other
+widgets, window margins, etc) must be made based on the user
+experience demanded by your application. If your user base is
+small or mostly comes from the Windows or Unix worlds, these are
+minor issues much less important than trying to make a mass
+market product. Qt/Mac is fully API compatible with Qt/Windows
+and Qt/X11, but Mac OS X is a significantly different platform
+to Windows and some special considerations must be made based on
+your audience.
+<p> </ul>
+<p> <li> <b>Dock</b><br>
+<p> Interaction with the dock is limited, but at the very least the icon
+should be able to be interacted with. This can be achieved with
+<a href="qwidget.html#setIcon">QWidget::setIcon</a>(). The setIcon() call can be made as often as
+necessary, so can be used to provide a constantly updating pixmap
+that works as expected.
+<p> <li> <b>Accessiblity</b><br>
+<p> Although many users never use this, some users will only interact
+with your applications via assistive devices. With Qt the aim is to
+make this automatic in your application so that it conforms to
+accepted practice on its platform (X11 accessiblity support is
+still in the works due to the developing nature of its
+accessibility design). With Qt 3.3 Qt/Mac will support
+accessiblity, and hopefully a host of assistive devices.
+<p> <li> <b>Build tools</b><br>
+<p> Mac OS X developers expect a certain level of interopability
+between their development toolkit and the platform's developer
+tools (for example MSVC, gmake, etc). Qt/Mac supports both Unix
+style Makefiles, and ProjectBuilder/Xcode project files by using
+the qmake tool. For example:
+<p> <pre>
+ qmake -spec macx-pbuilder project.pro
+ </pre>
+
+<p> will generate an Xcode project file from project.pro. With qmake
+you do not have to worry about rules for Qt's preprocessors (moc
+and uic) since qmake automatically handles them and ensures that
+everything necessary is linked into your application.
+<p> Qt does not entirely interact with the development environment (for
+example plugins to set a file to 'mocable' from within the Xcode
+user interface). Trolltech is actively working on improving Qt's
+interoperability with various IDEs, so hopefully this will be
+supported soon.
+<p> </ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbar-h.html b/doc/html/qtoolbar-h.html
new file mode 100644
index 0000000..96138d4
--- /dev/null
+++ b/doc/html/qtoolbar-h.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbar.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtoolbar.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtoolbar.h</h1>
+
+<p>This is the verbatim text of the qtoolbar.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtoolbar.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QToolBar class
+**
+** Created : 980306
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTOOLBAR_H
+#define QTOOLBAR_H
+
+#ifndef QT_H
+#include "qdockwindow.h"
+#endif // QT_H
+
+#ifndef QT_NO_TOOLBAR
+
+class QMainWindow;
+class QButton;
+class QBoxLayout;
+class QToolBarPrivate;
+
+class Q_EXPORT QToolBar: public QDockWindow
+{
+ Q_OBJECT
+ Q_PROPERTY( QString label READ label WRITE setLabel )
+
+public:
+ QToolBar( const QString &amp;label,
+ QMainWindow *, ToolBarDock = DockTop,
+ bool newLine = FALSE, const char* name=0 );
+ QToolBar( const QString &amp;label, QMainWindow *, QWidget *,
+ bool newLine = FALSE, const char* name=0, WFlags f = 0 );
+ QToolBar( QMainWindow* parent=0, const char* name=0 );
+ ~QToolBar();
+
+ void addSeparator();
+
+ void show();
+ void hide();
+
+ QMainWindow * mainWindow() const;
+
+ virtual void setStretchableWidget( QWidget * );
+
+ bool event( QEvent * e );
+
+ virtual void setLabel( const QString &amp; );
+ QString label() const;
+
+ virtual void clear();
+
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+
+ void setOrientation( Orientation o );
+ void setMinimumSize( int minw, int minh );
+
+protected:
+ void resizeEvent( QResizeEvent *e );
+ void styleChange( QStyle &amp; );
+
+private slots:
+ void createPopup();
+
+private:
+ void init();
+ void checkForExtension( const QSize &amp;sz );
+ QToolBarPrivate * d;
+ QMainWindow * mw;
+ QWidget * sw;
+ QString l;
+
+ friend class QMainWindow;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QToolBar( const QToolBar &amp; );
+ QToolBar&amp; operator=( const QToolBar &amp; );
+#endif
+};
+
+#endif // QT_NO_TOOLBAR
+
+#endif // QTOOLBAR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbar-members.html b/doc/html/qtoolbar-members.html
new file mode 100644
index 0000000..796fb5c
--- /dev/null
+++ b/doc/html/qtoolbar-members.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbar.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolBar Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QToolBar</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtoolbar.html">QToolBar</a>, including inherited members.
+
+<ul>
+<li><a href="qtoolbar.html#QToolBar">QToolBar</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtoolbar.html#addSeparator">addSeparator</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qdockwindow.html#area">area</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qdockwindow.html#boxLayout">boxLayout</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtoolbar.html#clear">clear</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qdockwindow.html#closeMode">closeMode</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdockwindow.html#dock">dock</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qdockwindow.html#fixedExtent">fixedExtent</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qdockwindow.html#isCloseEnabled">isCloseEnabled</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qdockwindow.html#isHorizontalStretchable">isHorizontalStretchable</a>()
+<li><a href="qdockwindow.html#isHorizontallyStretchable">isHorizontallyStretchable</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qdockwindow.html#isMovingEnabled">isMovingEnabled</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qdockwindow.html#isResizeEnabled">isResizeEnabled</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdockwindow.html#isStretchable">isStretchable</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qdockwindow.html#isVerticalStretchable">isVerticalStretchable</a>()
+<li><a href="qdockwindow.html#isVerticallyStretchable">isVerticallyStretchable</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qtoolbar.html#label">label</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qtoolbar.html#mainWindow">mainWindow</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qdockwindow.html#newLine">newLine</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdockwindow.html#offset">offset</a>()
+<li><a href="qdockwindow.html#opaqueMoving">opaqueMoving</a>()
+<li><a href="qdockwindow.html#orientation">orientation</a>()
+<li><a href="qdockwindow.html#orientationChanged">orientationChanged</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qdockwindow.html#place">place</a>()
+<li><a href="qdockwindow.html#placeChanged">placeChanged</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qdockwindow.html#setCloseMode">setCloseMode</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdockwindow.html#setFixedExtentHeight">setFixedExtentHeight</a>()
+<li><a href="qdockwindow.html#setFixedExtentWidth">setFixedExtentWidth</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qdockwindow.html#setHorizontalStretchable">setHorizontalStretchable</a>()
+<li><a href="qdockwindow.html#setHorizontallyStretchable">setHorizontallyStretchable</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qtoolbar.html#setLabel">setLabel</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qdockwindow.html#setMovingEnabled">setMovingEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdockwindow.html#setNewLine">setNewLine</a>()
+<li><a href="qdockwindow.html#setOffset">setOffset</a>()
+<li><a href="qdockwindow.html#setOpaqueMoving">setOpaqueMoving</a>()
+<li><a href="qdockwindow.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdockwindow.html#setResizeEnabled">setResizeEnabled</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qtoolbar.html#setStretchableWidget">setStretchableWidget</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qdockwindow.html#setVerticalStretchable">setVerticalStretchable</a>()
+<li><a href="qdockwindow.html#setVerticallyStretchable">setVerticallyStretchable</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qdockwindow.html#setWidget">setWidget</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qdockwindow.html#undock">undock</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qdockwindow.html#visibilityChanged">visibilityChanged</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qdockwindow.html#widget">widget</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbar.html b/doc/html/qtoolbar.html
new file mode 100644
index 0000000..0bf8205
--- /dev/null
+++ b/doc/html/qtoolbar.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtoolbar.cpp:210 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolBar Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QToolBar Class Reference</h1>
+
+<p>The QToolBar class provides a movable panel containing
+widgets such as tool buttons.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;</tt>
+<p>Inherits <a href="qdockwindow.html">QDockWindow</a>.
+<p><a href="qtoolbar-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>QToolBar ( const&nbsp;QString&nbsp;&amp;&nbsp;label, QMainWindow *, ToolBarDock = DockTop, bool&nbsp;newLine = FALSE, const&nbsp;char&nbsp;*&nbsp;name = 0 ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn><a href="#QToolBar-2"><b>QToolBar</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;label, QMainWindow&nbsp;*&nbsp;mainWindow, QWidget&nbsp;*&nbsp;parent, bool&nbsp;newLine = FALSE, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#QToolBar-3"><b>QToolBar</b></a> ( QMainWindow&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>void <a href="#addSeparator"><b>addSeparator</b></a> ()</li>
+<li class=fn>QMainWindow * <a href="#mainWindow"><b>mainWindow</b></a> () const</li>
+<li class=fn>virtual void <a href="#setStretchableWidget"><b>setStretchableWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual void <a href="#setLabel"><b>setLabel</b></a> ( const QString &amp; )</li>
+<li class=fn>QString <a href="#label"><b>label</b></a> () const</li>
+<li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QString <a href="#label-prop"><b>label</b></a>&nbsp;- the toolbar's label</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QToolBar class provides a movable panel containing
+widgets such as tool buttons.
+<p>
+
+<p> A toolbar is a panel that contains a set of controls, usually
+represented by small icons. It's purpose is to provide quick
+access to frequently used commands or options. Within a
+<a href="qmainwindow.html">QMainWindow</a> the user can drag toolbars within and between the
+<a href="qdockarea.html">dock areas</a>. Toolbars can also be dragged
+out of any dock area to float freely as top-level windows.
+<p> QToolBar is a specialization of <a href="qdockwindow.html">QDockWindow</a>, and so provides all
+the functionality of a QDockWindow.
+<p> To use QToolBar you simply create a QToolBar as a child of a
+QMainWindow, create a number of <a href="qtoolbutton.html">QToolButton</a> widgets (or other
+widgets) in left to right (or top to bottom) order and call
+<a href="#addSeparator">addSeparator</a>() when you want a separator. When a toolbar is
+floated the caption used is the label given in the constructor
+call. This can be changed with <a href="#setLabel">setLabel</a>().
+<p>
+
+<pre> QToolBar * fileTools = new QToolBar( this, "file operations" );
+ fileTools-&gt;<a href="#setLabel">setLabel</a>( "File Operations" );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+</pre>
+<p> This extract from the <a href="simple-application-example.html">application/application.cpp</a> example shows
+the creation of a new toolbar as a child of a <a href="qmainwindow.html">QMainWindow</a> and
+adding two QActions.
+<p> You may use most widgets within a toolbar, with QToolButton and
+<a href="qcombobox.html">QComboBox</a> being the most common.
+<p> If you create a new widget on an already visible QToolBar, this
+widget will automatically become visible without needing a <a href="qwidget.html#show">show</a>()
+call. (This differs from every other Qt widget container. We
+recommend calling show() anyway since we hope to fix this anomaly
+in a future release.)
+<p> QToolBars, like QDockWindows, are located in <a href="qdockarea.html">QDockArea</a>s or
+float as top-level windows. QMainWindow provides four QDockAreas
+(top, left, right and bottom). When you create a new toolbar (as
+in the example above) as a child of a QMainWindow the toolbar will
+be added to the top dock area. You can move it to another dock
+area (or float it) by calling <a href="qmainwindow.html#moveDockWindow">QMainWindow::moveDockWindow</a>(). QDock
+areas lay out their windows in <a href="qdockarea.html#lines">Lines</a>.
+<p> If the main window is resized so that the area occupied by the
+toolbar is too small to show all its widgets a little arrow button
+(which looks like a right-pointing chevron, '&#187;') will appear
+at the right or bottom of the toolbar depending on its
+orientation. Clicking this button pops up a menu that shows the
+'overflowing' items. QToolButtons are represented in the menu using
+their textLabel property, other <a href="qbutton.html">QButton</a> subclasses are represented
+using their text property, and QComboBoxes are represented as submenus,
+with the caption text being used in the submenu item.
+<p> Usually a toolbar will get precisely the space it needs. However,
+with <a href="qdockwindow.html#setHorizontalStretchable">setHorizontalStretchable</a>(), <a href="qdockwindow.html#setVerticalStretchable">setVerticalStretchable</a>() or
+<a href="#setStretchableWidget">setStretchableWidget</a>() you can tell the main window to expand the
+toolbar to fill all available space in the specified orientation.
+<p> The toolbar arranges its buttons either horizontally or vertically
+(see <a href="qdockwindow.html#orientation">orientation</a>() for details). Generally, <a href="qdockarea.html">QDockArea</a> will set the
+orientation correctly for you, but you can set it yourself with
+<a href="qdockwindow.html#setOrientation">setOrientation</a>() and track any changes by connecting to the
+<a href="qdockwindow.html#orientationChanged">orientationChanged</a>() signal.
+<p> You can use the <a href="#clear">clear</a>() method to remove all items from a toolbar.
+<p> <center><img src="qdockwindow.png" alt="Toolbar (dock window)"></center> <blockquote><p align="center"><em> A floating QToolbar (dock window)
+</em></p>
+</blockquote><p> <p>See also <a href="qtoolbutton.html">QToolButton</a>, <a href="qmainwindow.html">QMainWindow</a>, <a href="http://www.iarchitect.com/visual.htm">Parts of Isys on Visual Design</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Tool Bar</a>, and <a href="application.html">Main Window and Related Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QToolBar"></a>QToolBar::QToolBar ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qmainwindow.html">QMainWindow</a>&nbsp;*, ToolBarDock = DockTop, bool&nbsp;newLine = FALSE, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn><a name="QToolBar-2"></a>QToolBar::QToolBar ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label, <a href="qmainwindow.html">QMainWindow</a>&nbsp;*&nbsp;mainWindow, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, bool&nbsp;newLine = FALSE, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an empty horizontal toolbar.
+<p> The toolbar is called <em>name</em> and is a child of <em>parent</em> and is
+managed by <em>mainWindow</em>. The <em>label</em> and <em>newLine</em> parameters
+are passed straight to <a href="qmainwindow.html#addDockWindow">QMainWindow::addDockWindow</a>(). <em>name</em> and
+the widget flags <em>f</em> are passed on to the <a href="qdockwindow.html">QDockWindow</a> constructor.
+<p> Use this constructor if you want to create torn-off (undocked,
+floating) toolbars or toolbars in the <a href="qstatusbar.html">status
+ bar</a>.
+
+<h3 class=fn><a name="QToolBar-3"></a>QToolBar::QToolBar ( <a href="qmainwindow.html">QMainWindow</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs an empty toolbar called <em>name</em>, with parent <em>parent</em>,
+in its <em>parent</em>'s top dock area, without any label and without
+requiring a newline.
+
+<h3 class=fn>void <a name="addSeparator"></a>QToolBar::addSeparator ()
+</h3>
+Adds a separator to the right/bottom of the toolbar.
+
+<p>Examples: <a href="canvas-chart-example.html#x2894">chart/chartform.cpp</a>, <a href="fileiconview-example.html#x895">fileiconview/mainwindow.cpp</a>, <a href="helpviewer-example.html#x1033">helpviewer/helpwindow.cpp</a>, <a href="qfd-example.html#x2010">qfd/fontdisplayer.cpp</a>, and <a href="scribble-example.html#x943">scribble/scribble.cpp</a>.
+<h3 class=fn>void <a name="clear"></a>QToolBar::clear ()<tt> [virtual]</tt>
+</h3>
+Deletes all the toolbar's child widgets.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="label"></a>QToolBar::label () const
+</h3><p>Returns the toolbar's label.
+See the <a href="qtoolbar.html#label-prop">"label"</a> property for details.
+<h3 class=fn><a href="qmainwindow.html">QMainWindow</a>&nbsp;* <a name="mainWindow"></a>QToolBar::mainWindow () const
+</h3>
+Returns a pointer to the <a href="qmainwindow.html">QMainWindow</a> which manages this toolbar.
+
+<h3 class=fn>void <a name="setLabel"></a>QToolBar::setLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the toolbar's label.
+See the <a href="qtoolbar.html#label-prop">"label"</a> property for details.
+<h3 class=fn>void <a name="setStretchableWidget"></a>QToolBar::setStretchableWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the widget <em>w</em> to be expanded if this toolbar is requested
+to stretch.
+<p> The request to stretch might occur because <a href="qmainwindow.html">QMainWindow</a>
+right-justifies the dock area the toolbar is in, or because this
+toolbar's <a href="qdockwindow.html#isVerticalStretchable">isVerticalStretchable</a>() or <a href="qdockwindow.html#isHorizontalStretchable">isHorizontalStretchable</a>() is
+set to TRUE.
+<p> If you call this function and the toolbar is not yet stretchable,
+setStretchable() is called.
+<p> <p>See also <a href="qmainwindow.html#rightJustification-prop">QMainWindow::rightJustification</a>, <a href="qdockwindow.html#setVerticalStretchable">setVerticalStretchable</a>(), and <a href="qdockwindow.html#setHorizontalStretchable">setHorizontalStretchable</a>().
+
+<p>Examples: <a href="fileiconview-example.html#x896">fileiconview/mainwindow.cpp</a> and <a href="helpviewer-example.html#x1034">helpviewer/helpwindow.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="label-prop"></a>label</h3>
+<p>This property holds the toolbar's label.
+<p>If the toolbar is floated the label becomes the toolbar window's
+caption. There is no default label text.
+
+<p>Set this property's value with <a href="#setLabel">setLabel</a>() and get this property's value with <a href="#label">label</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbox-h.html b/doc/html/qtoolbox-h.html
new file mode 100644
index 0000000..10d913b
--- /dev/null
+++ b/doc/html/qtoolbox-h.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtoolbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtoolbox.h</h1>
+
+<p>This is the verbatim text of the qtoolbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtoolbox.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QToolBox widget class
+**
+** Created : 961105
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTOOLBOX_H
+#define QTOOLBOX_H
+
+#ifndef QT_H
+#include &lt;qframe.h&gt;
+#include &lt;qiconset.h&gt;
+#endif // QT_H
+
+#ifndef QT_NO_TOOLBOX
+
+class QToolBoxPrivate;
+class QWidgetList;
+
+class Q_EXPORT QToolBox : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( int currentIndex READ currentIndex WRITE setCurrentIndex )
+ Q_PROPERTY( int count READ count )
+
+public:
+ QToolBox( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
+ ~QToolBox();
+
+ int addItem( QWidget *item, const QString &amp;label );
+ int addItem( QWidget *item, const QIconSet &amp;iconSet, const QString &amp;label );
+ int insertItem( int index, QWidget *item, const QString &amp;label );
+ int insertItem( int index, QWidget *item, const QIconSet &amp;iconSet, const QString &amp;label );
+
+ int removeItem( QWidget *item );
+
+ void setItemEnabled( int index, bool enabled );
+ bool isItemEnabled( int index ) const;
+
+ void setItemLabel( int index, const QString &amp;label );
+ QString itemLabel( int index ) const;
+
+ void setItemIconSet( int index, const QIconSet &amp;iconSet );
+ QIconSet itemIconSet( int index ) const;
+
+ void setItemToolTip( int index, const QString &amp;toolTip );
+ QString itemToolTip( int index ) const;
+
+ QWidget *currentItem() const;
+ void setCurrentItem( QWidget *item );
+
+ int currentIndex() const;
+ QWidget *item( int index ) const;
+ int indexOf( QWidget *item ) const;
+ int count() const;
+
+public slots:
+ void setCurrentIndex( int index );
+
+signals:
+ void currentChanged( int index );
+
+private slots:
+ void buttonClicked();
+ void itemDestroyed(QObject*);
+
+protected:
+ virtual void itemInserted( int index );
+ virtual void itemRemoved( int index );
+ void showEvent( QShowEvent *e );
+ void frameChanged();
+ void styleChange(QStyle&amp;);
+
+private:
+ void relayout();
+
+private:
+ QToolBoxPrivate *d;
+
+};
+
+
+inline int QToolBox::addItem( QWidget *item, const QString &amp;label )
+{ return insertItem( -1, item, QIconSet(), label ); }
+inline int QToolBox::addItem( QWidget *item, const QIconSet &amp;iconSet,
+ const QString &amp;label )
+{ return insertItem( -1, item, iconSet, label ); }
+inline int QToolBox::insertItem( int index, QWidget *item, const QString &amp;label )
+{ return insertItem( index, item, QIconSet(), label ); }
+
+#endif // QT_NO_TOOLBOX
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbox-members.html b/doc/html/qtoolbox-members.html
new file mode 100644
index 0000000..e5d501c
--- /dev/null
+++ b/doc/html/qtoolbox-members.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbox.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QToolBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtoolbox.html">QToolBox</a>, including inherited members.
+
+<ul>
+<li><a href="qtoolbox.html#QToolBox">QToolBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qtoolbox.html#addItem">addItem</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qtoolbox.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qtoolbox.html#currentChanged">currentChanged</a>()
+<li><a href="qtoolbox.html#currentIndex">currentIndex</a>()
+<li><a href="qtoolbox.html#currentItem">currentItem</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qtoolbox.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qtoolbox.html#insertItem">insertItem</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qtoolbox.html#isItemEnabled">isItemEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qtoolbox.html#item">item</a>()
+<li><a href="qtoolbox.html#itemIconSet">itemIconSet</a>()
+<li><a href="qtoolbox.html#itemInserted">itemInserted</a>()
+<li><a href="qtoolbox.html#itemLabel">itemLabel</a>()
+<li><a href="qtoolbox.html#itemRemoved">itemRemoved</a>()
+<li><a href="qtoolbox.html#itemToolTip">itemToolTip</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtoolbox.html#removeItem">removeItem</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qtoolbox.html#setCurrentIndex">setCurrentIndex</a>()
+<li><a href="qtoolbox.html#setCurrentItem">setCurrentItem</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qtoolbox.html#setItemEnabled">setItemEnabled</a>()
+<li><a href="qtoolbox.html#setItemIconSet">setItemIconSet</a>()
+<li><a href="qtoolbox.html#setItemLabel">setItemLabel</a>()
+<li><a href="qtoolbox.html#setItemToolTip">setItemToolTip</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbox.html b/doc/html/qtoolbox.html
new file mode 100644
index 0000000..d87097b
--- /dev/null
+++ b/doc/html/qtoolbox.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtoolbox.cpp:249 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QToolBox Class Reference</h1>
+
+<p>The QToolBox class provides a column of tabbed widget
+items.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtoolbox-h.html">qtoolbox.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qtoolbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QToolBox"><b>QToolBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn>int <a href="#addItem-2"><b>addItem</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>int <a href="#addItem"><b>addItem</b></a> ( QWidget&nbsp;*&nbsp;item, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconSet, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>int <a href="#insertItem-2"><b>insertItem</b></a> ( int&nbsp;index, QWidget&nbsp;*&nbsp;item, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>int <a href="#insertItem"><b>insertItem</b></a> ( int&nbsp;index, QWidget&nbsp;*&nbsp;item, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconSet, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>int <a href="#removeItem"><b>removeItem</b></a> ( QWidget&nbsp;*&nbsp;item )</li>
+<li class=fn>void <a href="#setItemEnabled"><b>setItemEnabled</b></a> ( int&nbsp;index, bool&nbsp;enabled )</li>
+<li class=fn>bool <a href="#isItemEnabled"><b>isItemEnabled</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>void <a href="#setItemLabel"><b>setItemLabel</b></a> ( int&nbsp;index, const&nbsp;QString&nbsp;&amp;&nbsp;label )</li>
+<li class=fn>QString <a href="#itemLabel"><b>itemLabel</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>void <a href="#setItemIconSet"><b>setItemIconSet</b></a> ( int&nbsp;index, const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconSet )</li>
+<li class=fn>QIconSet <a href="#itemIconSet"><b>itemIconSet</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>void <a href="#setItemToolTip"><b>setItemToolTip</b></a> ( int&nbsp;index, const&nbsp;QString&nbsp;&amp;&nbsp;toolTip )</li>
+<li class=fn>QString <a href="#itemToolTip"><b>itemToolTip</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QWidget * <a href="#currentItem"><b>currentItem</b></a> () const</li>
+<li class=fn>void <a href="#setCurrentItem"><b>setCurrentItem</b></a> ( QWidget&nbsp;*&nbsp;item )</li>
+<li class=fn>int <a href="#currentIndex"><b>currentIndex</b></a> () const</li>
+<li class=fn>QWidget * <a href="#item"><b>item</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( QWidget&nbsp;*&nbsp;item ) const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setCurrentIndex"><b>setCurrentIndex</b></a> ( int&nbsp;index )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#currentChanged"><b>currentChanged</b></a> ( int&nbsp;index )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>int <a href="#count-prop"><b>count</b></a>&nbsp;- the number of items contained in the toolbox &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#currentIndex-prop"><b>currentIndex</b></a>&nbsp;- the index of the current item, or -1 if the toolbox is empty</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#itemInserted"><b>itemInserted</b></a> ( int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#itemRemoved"><b>itemRemoved</b></a> ( int&nbsp;index )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QToolBox class provides a column of tabbed widget
+items.
+<p>
+
+<p> A toolbox is a widget that displays a column of tabs one above the
+other, with the current item displayed below the current tab.
+Every tab has an index position within the column of tabs. A tab's
+item is a <a href="qwidget.html">QWidget</a>.
+<p> Each item has an <a href="#itemLabel">itemLabel</a>(), an optional icon, <a href="#itemIconSet">itemIconSet</a>(), an
+optional <a href="#itemToolTip">itemToolTip</a>(), and a <a href="#item">widget</a>. The
+item's attributes can be changed with <a href="#setItemLabel">setItemLabel</a>(),
+<a href="#setItemIconSet">setItemIconSet</a>() and <a href="#setItemToolTip">setItemToolTip</a>().
+<p> Items are added using <a href="#addItem">addItem</a>(), or inserted at particular
+positions using <a href="#insertItem">insertItem</a>(). The total number of items is given
+by <a href="#count">count</a>(). Items can be deleted with delete, or removed from the
+toolbox with <a href="#removeItem">removeItem</a>(). Combining removeItem() and insertItem()
+allows to move items to different positions.
+<p> The current item widget is returned by <a href="#currentItem">currentItem</a>() and set with
+<a href="#setCurrentItem">setCurrentItem</a>(). If you prefer you can work in terms of indexes
+using <a href="#currentIndex">currentIndex</a>(), <a href="#setCurrentIndex">setCurrentIndex</a>(), <a href="#indexOf">indexOf</a>() and <a href="#item">item</a>().
+<p> The <a href="#currentChanged">currentChanged</a>() signal is emitted when the current item is
+changed.
+<p> <p>See also <a href="qtabwidget.html">QTabWidget</a> and <a href="advanced.html">Advanced Widgets</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QToolBox"></a>QToolBox::QToolBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a toolbox called <em>name</em> with parent <em>parent</em> and flags <em>f</em>.
+
+<h3 class=fn>int <a name="addItem"></a>QToolBox::addItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconSet, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+
+Adds the widget <em>item</em> in a new tab at bottom of the toolbox. The
+new tab's label is set to <em>label</em>, and the <em>iconSet</em> is
+displayed to the left of the <em>label</em>. Returns the new tab's index.
+
+<h3 class=fn>int <a name="addItem-2"></a>QToolBox::addItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds the widget <em>w</em> in a new tab at bottom of the toolbox. The
+new tab's label is set to <em>label</em>. Returns the new tab's index.
+
+<h3 class=fn>int <a name="count"></a>QToolBox::count () const
+</h3><p>Returns the number of items contained in the toolbox.
+See the <a href="qtoolbox.html#count-prop">"count"</a> property for details.
+<h3 class=fn>void <a name="currentChanged"></a>QToolBox::currentChanged ( int&nbsp;index )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the current item changed. The new
+current item's index is passed in <em>index</em>, or -1 if there is no
+current item.
+
+<h3 class=fn>int <a name="currentIndex"></a>QToolBox::currentIndex () const
+</h3><p>Returns the index of the current item, or -1 if the toolbox is empty.
+See the <a href="qtoolbox.html#currentIndex-prop">"currentIndex"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="currentItem"></a>QToolBox::currentItem () const
+</h3>
+Returns the toolbox's current item, or 0 if the toolbox is empty.
+
+<h3 class=fn>int <a name="indexOf"></a>QToolBox::indexOf ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item ) const
+</h3>
+Returns the index of item <em>item</em>, or -1 if the item does not
+exist.
+
+<h3 class=fn>int <a name="insertItem"></a>QToolBox::insertItem ( int&nbsp;index, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconSet, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+Inserts the widget <em>item</em> at position <em>index</em>, or at the bottom
+of the toolbox if <em>index</em> is out of range. The new item's label
+is set to <em>label</em>, and the <em>iconSet</em> is displayed to the left of
+the <em>label</em>. Returns the new item's index.
+
+<h3 class=fn>int <a name="insertItem-2"></a>QToolBox::insertItem ( int&nbsp;index, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts the widget <em>item</em> at position <em>index</em>, or at the bottom
+of the toolbox if <em>index</em> is out of range. The new item's label is
+set to <em>label</em>. Returns the new item's index.
+
+<h3 class=fn>bool <a name="isItemEnabled"></a>QToolBox::isItemEnabled ( int&nbsp;index ) const
+</h3>
+Returns TRUE if the item at position <em>index</em> is enabled; otherwise returns FALSE.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="item"></a>QToolBox::item ( int&nbsp;index ) const
+</h3>
+Returns the item at position <em>index</em>, or 0 if there is no such
+item.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="itemIconSet"></a>QToolBox::itemIconSet ( int&nbsp;index ) const
+</h3>
+Returns the icon of the item at position <em>index</em>, or a null
+icon if <em>index</em> is out of range.
+
+<h3 class=fn>void <a name="itemInserted"></a>QToolBox::itemInserted ( int&nbsp;index )<tt> [virtual protected]</tt>
+</h3>
+This virtual handler is called after a new item was added or
+inserted at position <em>index</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="itemLabel"></a>QToolBox::itemLabel ( int&nbsp;index ) const
+</h3>
+Returns the label of the item at position <em>index</em>, or a null string if
+<em>index</em> is out of range.
+
+<h3 class=fn>void <a name="itemRemoved"></a>QToolBox::itemRemoved ( int&nbsp;index )<tt> [virtual protected]</tt>
+</h3>
+This virtual handler is called after an item was removed from
+position <em>index</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="itemToolTip"></a>QToolBox::itemToolTip ( int&nbsp;index ) const
+</h3>
+Returns the tooltip of the item at position <em>index</em>, or a null
+string if <em>index</em> is out of range.
+
+<h3 class=fn>int <a name="removeItem"></a>QToolBox::removeItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item )
+</h3>
+Removes the widget <em>item</em> from the toolbox. Note that the widget
+is <em>not</em> deleted. Returns the removed widget's index, or -1 if
+the widget was not in this tool box.
+
+<h3 class=fn>void <a name="setCurrentIndex"></a>QToolBox::setCurrentIndex ( int&nbsp;index )<tt> [slot]</tt>
+</h3><p>Sets the index of the current item, or -1 if the toolbox is empty to <em>index</em>.
+See the <a href="qtoolbox.html#currentIndex-prop">"currentIndex"</a> property for details.
+<h3 class=fn>void <a name="setCurrentItem"></a>QToolBox::setCurrentItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;item )
+</h3>
+Sets the current item to be <em>item</em>.
+
+<h3 class=fn>void <a name="setItemEnabled"></a>QToolBox::setItemEnabled ( int&nbsp;index, bool&nbsp;enabled )
+</h3>
+If <em>enabled</em> is TRUE then the item at position <em>index</em> is enabled; otherwise item
+<em>index</em> is disabled.
+
+<h3 class=fn>void <a name="setItemIconSet"></a>QToolBox::setItemIconSet ( int&nbsp;index, const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconSet )
+</h3>
+Sets the icon of the item at position <em>index</em> to <em>iconSet</em>.
+
+<h3 class=fn>void <a name="setItemLabel"></a>QToolBox::setItemLabel ( int&nbsp;index, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;label )
+</h3>
+Sets the label of the item at position <em>index</em> to <em>label</em>.
+
+<h3 class=fn>void <a name="setItemToolTip"></a>QToolBox::setItemToolTip ( int&nbsp;index, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;toolTip )
+</h3>
+Sets the tooltip of the item at position <em>index</em> to <em>toolTip</em>.
+
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>int <a name="count-prop"></a>count</h3>
+<p>This property holds the number of items contained in the toolbox.
+<p>
+<p>Get this property's value with <a href="#count">count</a>().
+<h3 class=fn>int <a name="currentIndex-prop"></a>currentIndex</h3>
+<p>This property holds the index of the current item, or -1 if the toolbox is empty.
+<p>Set this property's value with <a href="#setCurrentIndex">setCurrentIndex</a>() and get this property's value with <a href="#currentIndex">currentIndex</a>().
+<p><p>See also <a href="#currentItem">currentItem</a>(), <a href="#indexOf">indexOf</a>(), and <a href="#item">item</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbutton-h.html b/doc/html/qtoolbutton-h.html
new file mode 100644
index 0000000..f1606bf
--- /dev/null
+++ b/doc/html/qtoolbutton-h.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbutton.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtoolbutton.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtoolbutton.h</h1>
+
+<p>This is the verbatim text of the qtoolbutton.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtoolbutton.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QToolButton class
+**
+** Created : 979899
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTOOLBUTTON_H
+#define QTOOLBUTTON_H
+
+#ifndef QT_H
+#include "qbutton.h"
+#include "qstring.h"
+#include "qpixmap.h"
+#include "qiconset.h"
+#endif // QT_H
+
+#ifndef QT_NO_TOOLBUTTON
+
+class QToolButtonPrivate;
+class QToolBar;
+class QPopupMenu;
+
+class Q_EXPORT QToolButton : public QButton
+{
+ Q_OBJECT
+ Q_ENUMS( TextPosition )
+
+ Q_PROPERTY( QIconSet iconSet READ iconSet WRITE setIconSet )
+ Q_PROPERTY( QIconSet onIconSet READ onIconSet WRITE setOnIconSet DESIGNABLE false STORED false )
+ Q_PROPERTY( QIconSet offIconSet READ offIconSet WRITE setOffIconSet DESIGNABLE false STORED false )
+ Q_PROPERTY( bool usesBigPixmap READ usesBigPixmap WRITE setUsesBigPixmap )
+ Q_PROPERTY( bool usesTextLabel READ usesTextLabel WRITE setUsesTextLabel )
+ Q_PROPERTY( QString textLabel READ textLabel WRITE setTextLabel )
+ Q_PROPERTY( int popupDelay READ popupDelay WRITE setPopupDelay )
+ Q_PROPERTY( bool autoRaise READ autoRaise WRITE setAutoRaise )
+ Q_PROPERTY( TextPosition textPosition READ textPosition WRITE setTextPosition )
+
+ Q_OVERRIDE( bool toggleButton WRITE setToggleButton )
+ Q_OVERRIDE( bool on WRITE setOn )
+ Q_OVERRIDE( QPixmap pixmap DESIGNABLE false STORED false )
+ Q_OVERRIDE( BackgroundMode backgroundMode DESIGNABLE true)
+
+public:
+ enum TextPosition {
+ BesideIcon,
+ BelowIcon,
+ Right = BesideIcon, // obsolete
+ Under = BelowIcon // obsolete
+ };
+ QToolButton( QWidget * parent, const char* name=0 );
+#ifndef QT_NO_TOOLBAR
+ QToolButton( const QIconSet&amp; s, const QString &amp;textLabel,
+ const QString&amp; grouptext,
+ QObject * receiver, const char* slot,
+ QToolBar * parent, const char* name=0 );
+#endif
+ QToolButton( ArrowType type, QWidget *parent, const char* name=0 );
+ ~QToolButton();
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+#ifndef QT_NO_COMPAT
+ void setOnIconSet( const QIconSet&amp; );
+ void setOffIconSet( const QIconSet&amp; );
+ void setIconSet( const QIconSet &amp;, bool on );
+ QIconSet onIconSet() const;
+ QIconSet offIconSet( ) const;
+ QIconSet iconSet( bool on ) const;
+#endif
+ virtual void setIconSet( const QIconSet &amp; );
+ QIconSet iconSet() const;
+
+ bool usesBigPixmap() const { return ubp; }
+ bool usesTextLabel() const { return utl; }
+ QString textLabel() const { return tl; }
+
+#ifndef QT_NO_POPUPMENU
+ void setPopup( QPopupMenu* popup );
+ QPopupMenu* popup() const;
+
+ void setPopupDelay( int delay );
+ int popupDelay() const;
+
+ void openPopup();
+#endif
+
+ void setAutoRaise( bool enable );
+ bool autoRaise() const;
+ TextPosition textPosition() const;
+
+ void setText( const QString &amp;txt );
+
+public slots:
+ virtual void setUsesBigPixmap( bool enable );
+ virtual void setUsesTextLabel( bool enable );
+ virtual void setTextLabel( const QString &amp;, bool );
+
+ virtual void setToggleButton( bool enable );
+
+ virtual void setOn( bool enable );
+ void toggle();
+ void setTextLabel( const QString &amp; );
+ void setTextPosition( TextPosition pos );
+
+protected:
+ void mousePressEvent( QMouseEvent * );
+ void drawButton( QPainter * );
+ void drawButtonLabel(QPainter *);
+
+ void enterEvent( QEvent * );
+ void leaveEvent( QEvent * );
+ void moveEvent( QMoveEvent * );
+
+ // ### Make virtual in 4.0, maybe act like QPushButton with
+ // regards to setFlat() instead? Andy
+ bool uses3D() const;
+#if (QT_VERSION &gt;= 0x040000)
+#error "Some functions need to be changed to virtual for Qt 4.0"
+#endif
+
+ bool eventFilter( QObject *o, QEvent *e );
+
+#ifndef QT_NO_PALETTE
+ void paletteChange( const QPalette &amp; );
+#endif
+
+private slots:
+ void popupTimerDone();
+ void popupPressed();
+
+private:
+ void init();
+
+ QPixmap bp;
+ int bpID;
+ QPixmap sp;
+ int spID;
+
+ QString tl;
+
+ QToolButtonPrivate *d;
+ QIconSet *s;
+
+ uint utl : 1;
+ uint ubp : 1;
+ uint hasArrow : 1;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QToolButton( const QToolButton &amp; );
+ QToolButton&amp; operator=( const QToolButton &amp; );
+#endif
+};
+
+#endif // QT_NO_TOOLBUTTON
+
+#endif // QTOOLBUTTON_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbutton-members.html b/doc/html/qtoolbutton-members.html
new file mode 100644
index 0000000..59e7075
--- /dev/null
+++ b/doc/html/qtoolbutton-members.html
@@ -0,0 +1,392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtoolbutton.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolButton Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QToolButton</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtoolbutton.html">QToolButton</a>, including inherited members.
+
+<ul>
+<li><a href="qtoolbutton.html#QToolButton">QToolButton</a>()
+<li><a href="qtoolbutton.html#~QToolButton">~QToolButton</a>()
+<li><a href="qbutton.html#accel">accel</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qbutton.html#animateClick">animateClick</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qtoolbutton.html#autoRaise">autoRaise</a>()
+<li><a href="qbutton.html#autoRepeat">autoRepeat</a>()
+<li><a href="qbutton.html#autoResize">autoResize</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbutton.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qbutton.html#drawButton">drawButton</a>()
+<li><a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qbutton.html#group">group</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qbutton.html#hitButton">hitButton</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qtoolbutton.html#iconSet">iconSet</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qbutton.html#isDown">isDown</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbutton.html#isExclusiveToggle">isExclusiveToggle</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qbutton.html#isOn">isOn</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qbutton.html#isToggleButton">isToggleButton</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qtoolbutton.html#offIconSet">offIconSet</a>()
+<li><a href="qtoolbutton.html#onIconSet">onIconSet</a>()
+<li><a href="qtoolbutton.html#openPopup">openPopup</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qbutton.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qbutton.html#pixmap">pixmap</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qtoolbutton.html#popup">popup</a>()
+<li><a href="qtoolbutton.html#popupDelay">popupDelay</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbutton.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbutton.html#released">released</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qbutton.html#setAccel">setAccel</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qtoolbutton.html#setAutoRaise">setAutoRaise</a>()
+<li><a href="qbutton.html#setAutoRepeat">setAutoRepeat</a>()
+<li><a href="qbutton.html#setAutoResize">setAutoResize</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qbutton.html#setDown">setDown</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qtoolbutton.html#setIconSet">setIconSet</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qtoolbutton.html#setOffIconSet">setOffIconSet</a>()
+<li><a href="qtoolbutton.html#setOn">setOn</a>()
+<li><a href="qtoolbutton.html#setOnIconSet">setOnIconSet</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qbutton.html#setPixmap">setPixmap</a>()
+<li><a href="qtoolbutton.html#setPopup">setPopup</a>()
+<li><a href="qtoolbutton.html#setPopupDelay">setPopupDelay</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qbutton.html#setState">setState</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qbutton.html#setText">setText</a>()
+<li><a href="qtoolbutton.html#setTextLabel">setTextLabel</a>()
+<li><a href="qtoolbutton.html#setTextPosition">setTextPosition</a>()
+<li><a href="qtoolbutton.html#setToggleButton">setToggleButton</a>()
+<li><a href="qbutton.html#setToggleType">setToggleType</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qtoolbutton.html#setUsesBigPixmap">setUsesBigPixmap</a>()
+<li><a href="qtoolbutton.html#setUsesTextLabel">setUsesTextLabel</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qbutton.html#state">state</a>()
+<li><a href="qbutton.html#stateChanged">stateChanged</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qbutton.html#text">text</a>()
+<li><a href="qtoolbutton.html#textLabel">textLabel</a>()
+<li><a href="qtoolbutton.html#textPosition">textPosition</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qtoolbutton.html#toggle">toggle</a>()
+<li><a href="qbutton.html#toggleType">toggleType</a>()
+<li><a href="qbutton.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qtoolbutton.html#uses3D">uses3D</a>()
+<li><a href="qtoolbutton.html#usesBigPixmap">usesBigPixmap</a>()
+<li><a href="qtoolbutton.html#usesTextLabel">usesTextLabel</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtoolbutton.html b/doc/html/qtoolbutton.html
new file mode 100644
index 0000000..58cba4c
--- /dev/null
+++ b/doc/html/qtoolbutton.html
@@ -0,0 +1,392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtoolbutton.cpp:75 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolButton Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QToolButton Class Reference</h1>
+
+<p>The QToolButton class provides a quick-access button to
+commands or options, usually used inside a QToolBar.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;</tt>
+<p>Inherits <a href="qbutton.html">QButton</a>.
+<p><a href="qtoolbutton-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#TextPosition-enum"><b>TextPosition</b></a> { BesideIcon, BelowIcon, Right = BesideIcon, Under = BelowIcon }</li>
+<li class=fn><a href="#QToolButton"><b>QToolButton</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QToolButton-2"><b>QToolButton</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;iconSet, const&nbsp;QString&nbsp;&amp;&nbsp;textLabel, const&nbsp;QString&nbsp;&amp;&nbsp;grouptext, QObject&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;slot, QToolBar&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QToolButton-3"><b>QToolButton</b></a> ( ArrowType&nbsp;type, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QToolButton"><b>~QToolButton</b></a> ()</li>
+<li class=fn>void setOnIconSet ( const QIconSet &amp; ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setOffIconSet ( const QIconSet &amp; ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setIconSet ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;set, bool&nbsp;on ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QIconSet onIconSet () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QIconSet offIconSet () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QIconSet iconSet ( bool&nbsp;on ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#setIconSet"><b>setIconSet</b></a> ( const QIconSet &amp; )</li>
+<li class=fn>QIconSet <a href="#iconSet"><b>iconSet</b></a> () const</li>
+<li class=fn>bool <a href="#usesBigPixmap"><b>usesBigPixmap</b></a> () const</li>
+<li class=fn>bool <a href="#usesTextLabel"><b>usesTextLabel</b></a> () const</li>
+<li class=fn>QString <a href="#textLabel"><b>textLabel</b></a> () const</li>
+<li class=fn>void <a href="#setPopup"><b>setPopup</b></a> ( QPopupMenu&nbsp;*&nbsp;popup )</li>
+<li class=fn>QPopupMenu * <a href="#popup"><b>popup</b></a> () const</li>
+<li class=fn>void <a href="#setPopupDelay"><b>setPopupDelay</b></a> ( int&nbsp;delay )</li>
+<li class=fn>int <a href="#popupDelay"><b>popupDelay</b></a> () const</li>
+<li class=fn>void <a href="#openPopup"><b>openPopup</b></a> ()</li>
+<li class=fn>void <a href="#setAutoRaise"><b>setAutoRaise</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#autoRaise"><b>autoRaise</b></a> () const</li>
+<li class=fn>TextPosition <a href="#textPosition"><b>textPosition</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setUsesBigPixmap"><b>setUsesBigPixmap</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setUsesTextLabel"><b>setUsesTextLabel</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setTextLabel-2"><b>setTextLabel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;newLabel, bool&nbsp;tipToo )</li>
+<li class=fn>virtual void <a href="#setToggleButton"><b>setToggleButton</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setOn"><b>setOn</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>void <a href="#toggle"><b>toggle</b></a> ()</li>
+<li class=fn>void <a href="#setTextLabel"><b>setTextLabel</b></a> ( const QString &amp; )</li>
+<li class=fn>void <a href="#setTextPosition"><b>setTextPosition</b></a> ( TextPosition&nbsp;pos )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#autoRaise-prop"><b>autoRaise</b></a>&nbsp;- whether auto-raising is enabled</li>
+<li class=fn>BackgroundMode <a href="#backgroundMode-prop"><b>backgroundMode</b></a>&nbsp;- the toolbutton's background mode &nbsp;<em>(read only)</em></li>
+<li class=fn>QIconSet <a href="#iconSet-prop"><b>iconSet</b></a>&nbsp;- the icon set providing the icon shown on the button</li>
+<li class=fn>QIconSet offIconSet&nbsp;- the icon set that is used when the button is in an "off" state &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#on-prop"><b>on</b></a>&nbsp;- whether this tool button is on</li>
+<li class=fn>QIconSet onIconSet&nbsp;- the icon set that is used when the button is in an "on" state &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPixmap <a href="#pixmap-prop"><b>pixmap</b></a>&nbsp;- the pixmap of the button &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#popupDelay-prop"><b>popupDelay</b></a>&nbsp;- the time delay between pressing the button and the appearance of the associated popup menu in milliseconds</li>
+<li class=fn>QString <a href="#textLabel-prop"><b>textLabel</b></a>&nbsp;- the label of this button</li>
+<li class=fn>TextPosition <a href="#textPosition-prop"><b>textPosition</b></a>&nbsp;- the position of the text label of this button</li>
+<li class=fn>bool <a href="#toggleButton-prop"><b>toggleButton</b></a>&nbsp;- whether this tool button is a toggle button</li>
+<li class=fn>bool <a href="#usesBigPixmap-prop"><b>usesBigPixmap</b></a>&nbsp;- whether this toolbutton uses big pixmaps</li>
+<li class=fn>bool <a href="#usesTextLabel-prop"><b>usesTextLabel</b></a>&nbsp;- whether the toolbutton displays a text label below the button pixmap</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>bool <a href="#uses3D"><b>uses3D</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QToolButton class provides a quick-access button to
+commands or options, usually used inside a <a href="qtoolbar.html">QToolBar</a>.
+<p>
+
+<p> A tool button is a special button that provides quick-access to
+specific commands or options. As opposed to a normal command
+button, a tool button usually doesn't show a text label, but shows
+an icon instead. Its classic usage is to select tools, for example
+the "pen" tool in a drawing program. This would be implemented
+with a QToolButton as toggle button (see <a href="#setToggleButton">setToggleButton</a>() ).
+<p> QToolButton supports auto-raising. In auto-raise mode, the button
+draws a 3D frame only when the mouse points at it. The feature is
+automatically turned on when a button is used inside a QToolBar.
+Change it with <a href="#setAutoRaise">setAutoRaise</a>().
+<p> A tool button's icon is set as <a href="qiconset.html">QIconSet</a>. This makes it possible to
+specify different pixmaps for the disabled and active state. The
+disabled pixmap is used when the button's functionality is not
+available. The active pixmap is displayed when the button is
+auto-raised because the mouse pointer is hovering over it.
+<p> The button's look and dimension is adjustable with
+<a href="#setUsesBigPixmap">setUsesBigPixmap</a>() and <a href="#setUsesTextLabel">setUsesTextLabel</a>(). When used inside a
+<a href="qtoolbar.html">QToolBar</a> in a <a href="qmainwindow.html">QMainWindow</a>, the button automatically adjusts to
+QMainWindow's settings (see <a href="qmainwindow.html#setUsesTextLabel">QMainWindow::setUsesTextLabel</a>() and
+<a href="qmainwindow.html#setUsesBigPixmaps">QMainWindow::setUsesBigPixmaps</a>()). The pixmap set on a QToolButton
+will be set to 22x22 if it is bigger than this size. If
+<a href="#usesBigPixmap">usesBigPixmap</a>() is TRUE, then the pixmap will be set to 32x32.
+<p> A tool button can offer additional choices in a popup menu. The
+feature is sometimes used with the "Back" button in a web browser.
+After pressing and holding the button down for a while, a menu
+pops up showing a list of possible pages to jump to. With
+QToolButton you can set a popup menu using <a href="#setPopup">setPopup</a>(). The default
+delay is 600ms; you can adjust it with <a href="#setPopupDelay">setPopupDelay</a>().
+<p> <center><img src="qdockwindow.png" alt="Toolbar with Toolbuttons &#92;caption A floating"></center> QToolbar with QToolbuttons
+<p> <p>See also <a href="qpushbutton.html">QPushButton</a>, <a href="qtoolbar.html">QToolBar</a>, <a href="qmainwindow.html">QMainWindow</a>, <a href="guibooks.html#fowler
+">GUI Design Handbook: Push Button</a>, and <a href="basic.html">Basic Widgets</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="TextPosition-enum"></a>QToolButton::TextPosition</h3>
+
+<p> The position of the tool button's textLabel in relation to the
+tool button's icon.
+<ul>
+<li><tt>QToolButton::BesideIcon</tt> - The text appears beside the icon.
+<li><tt>QToolButton::BelowIcon</tt> - The text appears below the icon.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QToolButton"></a>QToolButton::QToolButton ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty tool button called <em>name</em>, with parent <em>parent</em>.
+
+<h3 class=fn><a name="QToolButton-2"></a>QToolButton::QToolButton ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;iconSet, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;textLabel, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;grouptext, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;receiver, const&nbsp;char&nbsp;*&nbsp;slot, <a href="qtoolbar.html">QToolBar</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a tool button called <em>name</em>, that is a child of <em>parent</em> (which must be a <a href="qtoolbar.html">QToolBar</a>).
+<p> The tool button will display <em>iconSet</em>, with its text label and
+tool tip set to <em>textLabel</em> and its status bar message set to <em>grouptext</em>. It will be connected to the <em>slot</em> in object <em>receiver</em>.
+
+<h3 class=fn><a name="QToolButton-3"></a>QToolButton::QToolButton ( <a href="qt.html#ArrowType-enum">ArrowType</a>&nbsp;type, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a tool button as an arrow button. The <a href="qt.html#ArrowType-enum">ArrowType</a> <em>type</em> defines the arrow direction. Possible values are <a href="qt.html#ArrowType-enum">LeftArrow</a>, <a href="qt.html#ArrowType-enum">RightArrow</a>, <a href="qt.html#ArrowType-enum">UpArrow</a> and <a href="qt.html#ArrowType-enum">DownArrow</a>.
+<p> An arrow button has auto-repeat turned on by default.
+<p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QToolButton"></a>QToolButton::~QToolButton ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>bool <a name="autoRaise"></a>QToolButton::autoRaise () const
+</h3><p>Returns TRUE if auto-raising is enabled; otherwise returns FALSE.
+See the <a href="qtoolbutton.html#autoRaise-prop">"autoRaise"</a> property for details.
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet"></a>QToolButton::iconSet () const
+</h3><p>Returns the icon set providing the icon shown on the button.
+See the <a href="qtoolbutton.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet-2"></a>QToolButton::iconSet ( bool&nbsp;on ) const
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Since Qt 3.0, <a href="qiconset.html">QIconSet</a> contains both the On and Off icons.
+<p> For ease of porting, this function ignores the <em>on</em> parameter and
+returns the <a href="#iconSet-prop">iconSet</a> property. If you relied on the <em>on</em>
+parameter, you probably want to update your code to use the QIconSet
+On/Off mechanism.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="offIconSet"></a>QToolButton::offIconSet () const
+</h3><p>Returns the icon set that is used when the button is in an "off" state.
+See the <a href="qtoolbutton.html#offIconSet-prop">"offIconSet"</a> property for details.
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="onIconSet"></a>QToolButton::onIconSet () const
+</h3><p>Returns the icon set that is used when the button is in an "on" state.
+See the <a href="qtoolbutton.html#onIconSet-prop">"onIconSet"</a> property for details.
+<h3 class=fn>void <a name="openPopup"></a>QToolButton::openPopup ()
+</h3>
+Opens (pops up) the associated popup menu. If there is no such
+menu, this function does nothing. This function does not return
+until the popup menu has been closed by the user.
+
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="popup"></a>QToolButton::popup () const
+</h3>
+Returns the associated popup menu, or 0 if no popup menu has been
+defined.
+<p> <p>See also <a href="#setPopup">setPopup</a>().
+
+<h3 class=fn>int <a name="popupDelay"></a>QToolButton::popupDelay () const
+</h3><p>Returns the time delay between pressing the button and the appearance of the associated popup menu in milliseconds.
+See the <a href="qtoolbutton.html#popupDelay-prop">"popupDelay"</a> property for details.
+<h3 class=fn>void <a name="setAutoRaise"></a>QToolButton::setAutoRaise ( bool&nbsp;enable )
+</h3><p>Sets whether auto-raising is enabled to <em>enable</em>.
+See the <a href="qtoolbutton.html#autoRaise-prop">"autoRaise"</a> property for details.
+<h3 class=fn>void <a name="setIconSet"></a>QToolButton::setIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the icon set providing the icon shown on the button.
+See the <a href="qtoolbutton.html#iconSet-prop">"iconSet"</a> property for details.
+<h3 class=fn>void <a name="setIconSet-2"></a>QToolButton::setIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;set, bool&nbsp;on )
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Since Qt 3.0, <a href="qiconset.html">QIconSet</a> contains both the On and Off icons.
+<p> For ease of porting, this function ignores the <em>on</em> parameter and
+sets the <a href="#iconSet-prop">iconSet</a> property. If you relied on the <em>on</em> parameter,
+you probably want to update your code to use the QIconSet On/Off
+mechanism.
+<p> <p>See also <a href="#iconSet-prop">iconSet</a> and <a href="qiconset.html#State-enum">QIconSet::State</a>.
+
+<h3 class=fn>void <a name="setOffIconSet"></a>QToolButton::setOffIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp; )
+</h3><p>Sets the icon set that is used when the button is in an "off" state.
+See the <a href="qtoolbutton.html#offIconSet-prop">"offIconSet"</a> property for details.
+<h3 class=fn>void <a name="setOn"></a>QToolButton::setOn ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether this tool button is on to <em>enable</em>.
+See the <a href="qtoolbutton.html#on-prop">"on"</a> property for details.
+<h3 class=fn>void <a name="setOnIconSet"></a>QToolButton::setOnIconSet ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp; )
+</h3><p>Sets the icon set that is used when the button is in an "on" state.
+See the <a href="qtoolbutton.html#onIconSet-prop">"onIconSet"</a> property for details.
+<h3 class=fn>void <a name="setPopup"></a>QToolButton::setPopup ( <a href="qpopupmenu.html">QPopupMenu</a>&nbsp;*&nbsp;popup )
+</h3>
+Associates the popup menu <em>popup</em> with this tool button.
+<p> The popup will be shown each time the tool button has been pressed
+down for a certain amount of time. A typical application example
+is the "back" button in some web browsers's tool bars. If the user
+clicks it, the browser simply browses back to the previous page.
+If the user presses and holds the button down for a while, the
+tool button shows a menu containing the current history list.
+<p> Ownership of the popup menu is not transferred to the tool button.
+<p> <p>See also <a href="#popup">popup</a>().
+
+<h3 class=fn>void <a name="setPopupDelay"></a>QToolButton::setPopupDelay ( int&nbsp;delay )
+</h3><p>Sets the time delay between pressing the button and the appearance of the associated popup menu in milliseconds to <em>delay</em>.
+See the <a href="qtoolbutton.html#popupDelay-prop">"popupDelay"</a> property for details.
+<h3 class=fn>void <a name="setTextLabel"></a>QToolButton::setTextLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [slot]</tt>
+</h3><p>Sets the label of this button.
+See the <a href="qtoolbutton.html#textLabel-prop">"textLabel"</a> property for details.
+<h3 class=fn>void <a name="setTextLabel-2"></a>QToolButton::setTextLabel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newLabel, bool&nbsp;tipToo )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the label of this button to <em>newLabel</em> and automatically
+sets it as a tool tip if <em>tipToo</em> is TRUE.
+
+<h3 class=fn>void <a name="setTextPosition"></a>QToolButton::setTextPosition ( <a href="qtoolbutton.html#TextPosition-enum">TextPosition</a>&nbsp;pos )<tt> [slot]</tt>
+</h3><p>Sets the position of the text label of this button to <em>pos</em>.
+See the <a href="qtoolbutton.html#textPosition-prop">"textPosition"</a> property for details.
+<h3 class=fn>void <a name="setToggleButton"></a>QToolButton::setToggleButton ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether this tool button is a toggle button to <em>enable</em>.
+See the <a href="qtoolbutton.html#toggleButton-prop">"toggleButton"</a> property for details.
+<h3 class=fn>void <a name="setUsesBigPixmap"></a>QToolButton::setUsesBigPixmap ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether this toolbutton uses big pixmaps to <em>enable</em>.
+See the <a href="qtoolbutton.html#usesBigPixmap-prop">"usesBigPixmap"</a> property for details.
+<h3 class=fn>void <a name="setUsesTextLabel"></a>QToolButton::setUsesTextLabel ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the toolbutton displays a text label below the button pixmap to <em>enable</em>.
+See the <a href="qtoolbutton.html#usesTextLabel-prop">"usesTextLabel"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="textLabel"></a>QToolButton::textLabel () const
+</h3><p>Returns the label of this button.
+See the <a href="qtoolbutton.html#textLabel-prop">"textLabel"</a> property for details.
+<h3 class=fn><a href="qtoolbutton.html#TextPosition-enum">TextPosition</a> <a name="textPosition"></a>QToolButton::textPosition () const
+</h3><p>Returns the position of the text label of this button.
+See the <a href="qtoolbutton.html#textPosition-prop">"textPosition"</a> property for details.
+<h3 class=fn>void <a name="toggle"></a>QToolButton::toggle ()<tt> [slot]</tt>
+</h3>
+Toggles the state of this tool button.
+<p> This function has no effect on <a href="qbutton.html#isToggleButton">non-toggling
+ buttons.</a>
+<p> <p>See also <a href="#toggleButton-prop">toggleButton</a> and <a href="qbutton.html#toggled">toggled</a>().
+
+<h3 class=fn>bool <a name="uses3D"></a>QToolButton::uses3D () const<tt> [protected]</tt>
+</h3>
+Returns TRUE if this button should be drawn using raised edges;
+otherwise returns FALSE.
+<p> <p>See also <a href="qbutton.html#drawButton">drawButton</a>().
+
+<h3 class=fn>bool <a name="usesBigPixmap"></a>QToolButton::usesBigPixmap () const
+</h3><p>Returns TRUE if this toolbutton uses big pixmaps; otherwise returns FALSE.
+See the <a href="qtoolbutton.html#usesBigPixmap-prop">"usesBigPixmap"</a> property for details.
+<h3 class=fn>bool <a name="usesTextLabel"></a>QToolButton::usesTextLabel () const
+</h3><p>Returns TRUE if the toolbutton displays a text label below the button pixmap; otherwise returns FALSE.
+See the <a href="qtoolbutton.html#usesTextLabel-prop">"usesTextLabel"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="autoRaise-prop"></a>autoRaise</h3>
+<p>This property holds whether auto-raising is enabled.
+<p>The default is disabled (i.e. FALSE).
+
+<p>Set this property's value with <a href="#setAutoRaise">setAutoRaise</a>() and get this property's value with <a href="#autoRaise">autoRaise</a>().
+<h3 class=fn><a href="qt.html#BackgroundMode-enum">BackgroundMode</a> <a name="backgroundMode-prop"></a>backgroundMode</h3>
+<p>This property holds the toolbutton's background mode.
+<p>Get this property with <a href="qwidget.html#backgroundMode">backgroundMode</a>().
+<p> <p>See also <a href="qwidget.html#backgroundMode-prop">QWidget::backgroundMode</a>.
+
+<p><h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet-prop"></a>iconSet</h3>
+<p>This property holds the icon set providing the icon shown on the button.
+<p>Setting this property sets <a href="#pixmap-prop">QToolButton::pixmap</a> to a null
+pixmap. There is no default iconset.
+<p> <p>See also <a href="#pixmap-prop">pixmap</a>, <a href="#toggleButton-prop">toggleButton</a>, and <a href="#on-prop">on</a>.
+
+<p>Set this property's value with <a href="#setIconSet">setIconSet</a>() and get this property's value with <a href="#iconSet">iconSet</a>().
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="offIconSet-prop"></a>offIconSet</h3>
+<p>This property holds the icon set that is used when the button is in an "off" state.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Since Qt 3.0, <a href="qiconset.html">QIconSet</a> contains both the On and Off icons. There is
+now an <a href="#iconSet-prop">QToolButton::iconSet</a> property that replaces both <a href="#onIconSet-prop">QToolButton::onIconSet</a> and <a href="#offIconSet-prop">QToolButton::offIconSet</a>.
+<p> For ease of porting, this property is a synonym for <a href="#iconSet-prop">QToolButton::iconSet</a>. You probably want to go over your application
+code and use the QIconSet On/Off mechanism.
+<p> <p>See also <a href="#iconSet-prop">iconSet</a> and <a href="qiconset.html#State-enum">QIconSet::State</a>.
+
+<p>Set this property's value with <a href="#setOffIconSet">setOffIconSet</a>() and get this property's value with <a href="#offIconSet">offIconSet</a>().
+<h3 class=fn>bool <a name="on-prop"></a>on</h3>
+<p>This property holds whether this tool button is on.
+<p>This property has no effect on <a href="qbutton.html#isToggleButton">non-toggling
+ buttons.</a> The default is FALSE (i.e. off).
+<p> <p>See also <a href="#toggleButton-prop">toggleButton</a> and <a href="#toggle">toggle</a>().
+
+<p>Set this property's value with <a href="#setOn">setOn</a>().
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="onIconSet-prop"></a>onIconSet</h3>
+<p>This property holds the icon set that is used when the button is in an "on" state.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Since Qt 3.0, <a href="qiconset.html">QIconSet</a> contains both the On and Off icons. There is
+now an <a href="#iconSet-prop">QToolButton::iconSet</a> property that replaces both <a href="#onIconSet-prop">QToolButton::onIconSet</a> and <a href="#offIconSet-prop">QToolButton::offIconSet</a>.
+<p> For ease of porting, this property is a synonym for <a href="#iconSet-prop">QToolButton::iconSet</a>. You probably want to go over your application
+code and use the QIconSet On/Off mechanism.
+<p> <p>See also <a href="#iconSet-prop">iconSet</a> and <a href="qiconset.html#State-enum">QIconSet::State</a>.
+
+<p>Set this property's value with <a href="#setOnIconSet">setOnIconSet</a>() and get this property's value with <a href="#onIconSet">onIconSet</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="pixmap-prop"></a>pixmap</h3> <p>This property holds the pixmap of the button.
+<p>The pixmap property has no meaning for tool buttons. Use the
+iconSet property instead.
+
+<p><h3 class=fn>int <a name="popupDelay-prop"></a>popupDelay</h3>
+<p>This property holds the time delay between pressing the button and the appearance of the associated popup menu in milliseconds.
+<p>Usually this is around half a second. A value of 0 draws the down
+arrow button to the side of the button which can be used to open
+up the popup menu.
+<p> <p>See also <a href="#setPopup">setPopup</a>().
+
+<p>Set this property's value with <a href="#setPopupDelay">setPopupDelay</a>() and get this property's value with <a href="#popupDelay">popupDelay</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="textLabel-prop"></a>textLabel</h3>
+<p>This property holds the label of this button.
+<p>Setting this property automatically sets the text as a tool tip
+too. There is no default text.
+
+<p>Set this property's value with <a href="#setTextLabel">setTextLabel</a>() and get this property's value with <a href="#textLabel">textLabel</a>().
+<h3 class=fn><a href="qtoolbutton.html#TextPosition-enum">TextPosition</a> <a name="textPosition-prop"></a>textPosition</h3>
+<p>This property holds the position of the text label of this button.
+<p>
+<p>Set this property's value with <a href="#setTextPosition">setTextPosition</a>() and get this property's value with <a href="#textPosition">textPosition</a>().
+<h3 class=fn>bool <a name="toggleButton-prop"></a>toggleButton</h3>
+<p>This property holds whether this tool button is a toggle button.
+<p>Toggle buttons have an on/off state similar to <a href="qcheckbox.html">check boxes.</a> A tool button is not a toggle button by
+default.
+<p> <p>See also <a href="#on-prop">on</a> and <a href="#toggle">toggle</a>().
+
+<p>Set this property's value with <a href="#setToggleButton">setToggleButton</a>().
+<h3 class=fn>bool <a name="usesBigPixmap-prop"></a>usesBigPixmap</h3>
+<p>This property holds whether this toolbutton uses big pixmaps.
+<p>QToolButton automatically connects this property to the relevant
+signal in the <a href="qmainwindow.html">QMainWindow</a> in which it resides. We strongly
+recommend that you use <a href="qmainwindow.html#setUsesBigPixmaps">QMainWindow::setUsesBigPixmaps</a>() instead.
+<p> This property's default is TRUE.
+<p> <b>Warning:</b> If you set some buttons (in a QMainWindow) to have big
+pixmaps and others to have small pixmaps, QMainWindow may not get
+the geometry right.
+
+<p>Set this property's value with <a href="#setUsesBigPixmap">setUsesBigPixmap</a>() and get this property's value with <a href="#usesBigPixmap">usesBigPixmap</a>().
+<h3 class=fn>bool <a name="usesTextLabel-prop"></a>usesTextLabel</h3>
+<p>This property holds whether the toolbutton displays a text label below the button pixmap.
+<p>The default is FALSE.
+<p> QToolButton automatically connects this slot to the relevant
+signal in the <a href="qmainwindow.html">QMainWindow</a> in which is resides.
+
+<p>Set this property's value with <a href="#setUsesTextLabel">setUsesTextLabel</a>() and get this property's value with <a href="#usesTextLabel">usesTextLabel</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtooltip-h.html b/doc/html/qtooltip-h.html
new file mode 100644
index 0000000..51101d7
--- /dev/null
+++ b/doc/html/qtooltip-h.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtooltip.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtooltip.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtooltip.h</h1>
+
+<p>This is the verbatim text of the qtooltip.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtooltip.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of Tool Tips (or Balloon Help) for any widget or rectangle
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QTOOLTIP_H
+#define QTOOLTIP_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#endif // QT_H
+
+#ifndef QT_NO_TOOLTIP
+
+#if __GNUC__ - 0 &gt; 3
+#pragma GCC system_header
+#endif
+
+class QTipManager;
+class QIconViewToolTip;
+class QListViewToolTip;
+
+class Q_EXPORT QToolTipGroup: public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY( bool delay READ delay WRITE setDelay )
+ Q_PROPERTY( bool enabled READ enabled WRITE setEnabled )
+
+public:
+ QToolTipGroup( QObject *parent, const char *name = 0 );
+ ~QToolTipGroup();
+
+ bool delay() const;
+ bool enabled() const;
+
+public slots:
+ void setDelay( bool );
+ void setEnabled( bool );
+
+signals:
+ void showTip( const QString &amp;);
+ void removeTip();
+
+private:
+ uint del:1;
+ uint ena:1;
+
+ friend class QTipManager;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QToolTipGroup( const QToolTipGroup &amp; );
+ QToolTipGroup&amp; operator=( const QToolTipGroup &amp; );
+#endif
+};
+
+
+class Q_EXPORT QToolTip: public Qt
+{
+public:
+ QToolTip( QWidget *, QToolTipGroup * = 0 );
+ //### add virtual d'tor for 4.0
+
+ static void add( QWidget *, const QString &amp;);
+ static void add( QWidget *, const QString &amp;,
+ QToolTipGroup *, const QString&amp; );
+ static void remove( QWidget * );
+
+ static void add( QWidget *, const QRect &amp;, const QString &amp;);
+ static void add( QWidget *, const QRect &amp;, const QString &amp;,
+ QToolTipGroup *, const QString&amp; );
+ static void remove( QWidget *, const QRect &amp; );
+
+ static QString textFor( QWidget *, const QPoint &amp; pos = QPoint() );
+
+ static void hide();
+
+ static QFont font();
+ static void setFont( const QFont &amp; );
+ static QPalette palette();
+ static void setPalette( const QPalette &amp; );
+
+#ifndef QT_NO_COMPAT
+ static void setEnabled( bool enable ) { setGloballyEnabled( enable ); }
+ static bool enabled() { return isGloballyEnabled(); }
+#endif
+ static void setGloballyEnabled( bool );
+ static bool isGloballyEnabled();
+ static void setWakeUpDelay(int);
+
+protected:
+ virtual void maybeTip( const QPoint &amp; ) = 0;
+ void tip( const QRect &amp;, const QString &amp;);
+ void tip( const QRect &amp;, const QString&amp; , const QString &amp;);
+ void tip( const QRect &amp;, const QString &amp;, const QRect &amp; );
+ void tip( const QRect &amp;, const QString&amp;, const QString &amp;, const QRect &amp;);
+
+ void clear();
+
+public:
+ QWidget *parentWidget() const { return p; }
+ QToolTipGroup *group() const { return g; }
+
+private:
+ QWidget *p;
+ QToolTipGroup *g;
+ static QFont *ttFont;
+ static QPalette *ttPalette;
+
+ friend class QTipManager;
+};
+
+
+#endif // QT_NO_TOOLTIP
+
+#endif // QTOOLTIP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtooltip-members.html b/doc/html/qtooltip-members.html
new file mode 100644
index 0000000..0f93fca
--- /dev/null
+++ b/doc/html/qtooltip-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtooltip.h:88 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolTip Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QToolTip</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtooltip.html">QToolTip</a>, including inherited members.
+
+<ul>
+<li><a href="qtooltip.html#QToolTip">QToolTip</a>()
+<li><a href="qtooltip.html#add">add</a>()
+<li><a href="qtooltip.html#clear">clear</a>()
+<li><a href="qtooltip.html#enabled">enabled</a>()
+<li><a href="qtooltip.html#font">font</a>()
+<li><a href="qtooltip.html#group">group</a>()
+<li><a href="qtooltip.html#hide">hide</a>()
+<li><a href="qtooltip.html#isGloballyEnabled">isGloballyEnabled</a>()
+<li><a href="qtooltip.html#maybeTip">maybeTip</a>()
+<li><a href="qtooltip.html#palette">palette</a>()
+<li><a href="qtooltip.html#parentWidget">parentWidget</a>()
+<li><a href="qtooltip.html#remove">remove</a>()
+<li><a href="qtooltip.html#setEnabled">setEnabled</a>()
+<li><a href="qtooltip.html#setFont">setFont</a>()
+<li><a href="qtooltip.html#setGloballyEnabled">setGloballyEnabled</a>()
+<li><a href="qtooltip.html#setPalette">setPalette</a>()
+<li><a href="qtooltip.html#setWakeUpDelay">setWakeUpDelay</a>()
+<li><a href="qtooltip.html#textFor">textFor</a>()
+<li><a href="qtooltip.html#tip">tip</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtooltip.html b/doc/html/qtooltip.html
new file mode 100644
index 0000000..fa34626
--- /dev/null
+++ b/doc/html/qtooltip.html
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtooltip.cpp:643 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolTip Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QToolTip Class Reference</h1>
+
+<p>The QToolTip class provides tool tips (balloon help) for
+any widget or rectangular part of a widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtooltip-h.html">qtooltip.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qtooltip-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QToolTip"><b>QToolTip</b></a> ( QWidget&nbsp;*&nbsp;widget, QToolTipGroup&nbsp;*&nbsp;group = 0 )</li>
+<li class=fn>QWidget * <a href="#parentWidget"><b>parentWidget</b></a> () const</li>
+<li class=fn>QToolTipGroup * <a href="#group"><b>group</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#add"><b>add</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#add-2"><b>add</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QString&nbsp;&amp;&nbsp;text, QToolTipGroup&nbsp;*&nbsp;group, const&nbsp;QString&nbsp;&amp;&nbsp;longText )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>void <a href="#add-3"><b>add</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#add-4"><b>add</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text, QToolTipGroup&nbsp;*&nbsp;group, const&nbsp;QString&nbsp;&amp;&nbsp;groupText )</li>
+<li class=fn>void <a href="#remove-2"><b>remove</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;rect )</li>
+<li class=fn>QString <a href="#textFor"><b>textFor</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos = QPoint ( ) )</li>
+<li class=fn>void <a href="#hide"><b>hide</b></a> ()</li>
+<li class=fn>QFont <a href="#font"><b>font</b></a> ()</li>
+<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>QPalette <a href="#palette"><b>palette</b></a> ()</li>
+<li class=fn>void <a href="#setPalette"><b>setPalette</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;palette )</li>
+<li class=fn>void setEnabled ( bool&nbsp;enable ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool enabled () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setGloballyEnabled"><b>setGloballyEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>bool <a href="#isGloballyEnabled"><b>isGloballyEnabled</b></a> ()</li>
+<li class=fn>void <a href="#setWakeUpDelay"><b>setWakeUpDelay</b></a> ( int&nbsp;i )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#maybeTip"><b>maybeTip</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) = 0</li>
+<li class=fn>void <a href="#tip"><b>tip</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#tip-2"><b>tip</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;groupText )</li>
+<li class=fn>void <a href="#tip-3"><b>tip</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QRect&nbsp;&amp;&nbsp;geometry )</li>
+<li class=fn>void <a href="#tip-4"><b>tip</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect, const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QString&nbsp;&amp;&nbsp;groupText, const&nbsp;QRect&nbsp;&amp;&nbsp;geometry )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QToolTip class provides tool tips (balloon help) for
+any widget or rectangular part of a widget.
+<p>
+
+<p> The tip is a short, single line of text reminding the user of the
+widget's or rectangle's function. It is drawn immediately below
+the region in a distinctive black-on-yellow combination.
+<p> The tip can be any Rich-Text formatted string.
+<p> <a href="qtooltipgroup.html">QToolTipGroup</a> provides a way for tool tips to display another text
+elsewhere (most often in a <a href="qstatusbar.html">status bar</a>).
+<p> At any point in time, QToolTip is either dormant or active. In
+dormant mode the tips are not shown and in active mode they are.
+The mode is global, not particular to any one widget.
+<p> QToolTip switches from dormant to active mode when the user hovers
+the mouse on a tip-equipped region for a second or so and remains
+active until the user either clicks a mouse button, presses a key,
+lets the mouse hover for five seconds or moves the mouse outside
+<em>all</em> tip-equipped regions for at least a second.
+<p> The QToolTip class can be used in three different ways:
+<ol type=1>
+<li> Adding a tip to an entire widget.
+<li> Adding a tip to a fixed rectangle within a widget.
+<li> Adding a tip to a dynamic rectangle within a widget.
+</ol>
+<p> To add a tip to a widget, call the <em>static</em> function
+<a href="#add">QToolTip::add</a>() with the widget and tip as arguments:
+<p> <pre>
+ QToolTip::<a href="#add">add</a>( quitButton, "Leave the application" );
+ </pre>
+
+<p> This is the simplest and most common use of QToolTip. The tip
+will be deleted automatically when <em>quitButton</em> is deleted, but
+you can remove it yourself, too:
+<p> <pre>
+ QToolTip::<a href="#remove">remove</a>( quitButton );
+ </pre>
+
+<p> You can also display another text (typically in a <a href="qstatusbar.html">status bar),</a> courtesy of <a href="qtooltipgroup.html">QToolTipGroup</a>. This example
+assumes that <em>grp</em> is a <tt>QToolTipGroup *</tt> and is already
+connected to the appropriate status bar:
+<p> <pre>
+ QToolTip::<a href="#add">add</a>( quitButton, "Leave the application", grp,
+ "Leave the application, prompting to save if necessary" );
+ QToolTip::<a href="#add">add</a>( closeButton, "Close this window", grp,
+ "Close this window, prompting to save if necessary" );
+ </pre>
+
+<p> To add a tip to a fixed rectangle within a widget, call the static
+function <a href="#add">QToolTip::add</a>() with the widget, rectangle and tip as
+arguments. (See the <a href="tooltip-example.html">tooltip/tooltip.cpp</a> example.) Again, you
+can supply a <tt>QToolTipGroup *</tt> and another text if you want.
+<p> Both of these are one-liners and cover the majority of cases. The
+third and most general way to use QToolTip requires you to
+reimplement a pure virtual function to decide whether to pop up a
+tool tip. The <a href="tooltip-example.html">tooltip/tooltip.cpp</a> example demonstrates this
+too. This mode can be used to implement tips for text that can
+move as the user scrolls, for example.
+<p> To use QToolTip like this, you must subclass QToolTip and
+reimplement <a href="#maybeTip">maybeTip</a>(). QToolTip calls maybeTip() when a tip
+should pop up, and maybeTip() decides whether to show a tip.
+<p> Tool tips can be globally disabled using
+<a href="#setGloballyEnabled">QToolTip::setGloballyEnabled</a>() or disabled in groups with
+<a href="qtooltipgroup.html#setEnabled">QToolTipGroup::setEnabled</a>().
+<p> You can retrieve the text of a tooltip for a given position within
+a widget using <a href="#textFor">textFor</a>().
+<p> The global tooltip font and palette can be set with the static
+<a href="#setFont">setFont</a>() and <a href="#setPalette">setPalette</a>() functions respectively.
+<p> <p>See also <a href="qstatusbar.html">QStatusBar</a>, <a href="qwhatsthis.html">QWhatsThis</a>, <a href="qtooltipgroup.html">QToolTipGroup</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Tool Tip</a>, and <a href="helpsystem.html">Help System</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QToolTip"></a>QToolTip::QToolTip ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, <a href="qtooltipgroup.html">QToolTipGroup</a>&nbsp;*&nbsp;group = 0 )
+</h3>
+Constructs a tool tip object. This is only necessary if you need
+tool tips on regions that can move within the widget (most often
+because the widget's contents can scroll).
+<p> <em>widget</em> is the widget you want to add dynamic tool tips to and
+<em>group</em> (optional) is the tool tip group they should belong to.
+<p> <b>Warning:</b> QToolTip is not a subclass of <a href="qobject.html">QObject</a>, so the instance of
+QToolTip is not deleted when <em>widget</em> is deleted.
+<p> <b>Warning:</b> If you delete the tool tip before you have deleted
+<em>widget</em> then you need to make sure you call <a href="#remove">remove</a>() yourself from
+<em>widget</em> in your reimplemented QToolTip destructor.
+<p> <pre>
+ MyToolTip::~MyToolTip()
+ {
+ <a href="#remove">remove</a>( widget );
+ }
+ </pre>
+
+<p> <p>See also <a href="#maybeTip">maybeTip</a>().
+
+<h3 class=fn>void <a name="add"></a>QToolTip::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [static]</tt>
+</h3>
+Adds a tool tip to <em>widget</em>. <em>text</em> is the text to be shown in
+the tool tip.
+<p> This is the most common entry point to the QToolTip class; it is
+suitable for adding tool tips to buttons, checkboxes, comboboxes
+and so on.
+
+<p>Examples: <a href="helpsystem-example.html#x2695">helpsystem/mainwindow.cpp</a>, <a href="qdir-example.html#x1848">qdir/qdir.cpp</a>, <a href="scribble-example.html#x945">scribble/scribble.cpp</a>, and <a href="tooltip-example.html#x450">tooltip/tooltip.cpp</a>.
+<h3 class=fn>void <a name="add-2"></a>QToolTip::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qtooltipgroup.html">QToolTipGroup</a>&nbsp;*&nbsp;group, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;longText )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a tool tip to <em>widget</em> and to tool tip group <em>group</em>.
+<p> <em>text</em> is the text shown in the tool tip and <em>longText</em> is the
+text emitted from <em>group</em>.
+<p> Normally, <em>longText</em> is shown in a <a href="qstatusbar.html">status
+ bar</a> or similar.
+
+<h3 class=fn>void <a name="add-3"></a>QToolTip::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a tool tip to a fixed rectangle, <em>rect</em>, within <em>widget</em>.
+<em>text</em> is the text shown in the tool tip.
+
+<h3 class=fn>void <a name="add-4"></a>QToolTip::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qtooltipgroup.html">QToolTipGroup</a>&nbsp;*&nbsp;group, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;groupText )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Adds a tool tip to an entire <em>widget</em> and to tool tip group <em>group</em>. The tooltip will disappear when the mouse leaves the <em>rect</em>.
+<p> <em>text</em> is the text shown in the tool tip and <em>groupText</em> is the
+text emitted from <em>group</em>.
+<p> Normally, <em>groupText</em> is shown in a <a href="qstatusbar.html">status
+ bar</a> or similar.
+
+<h3 class=fn>void <a name="clear"></a>QToolTip::clear ()<tt> [protected]</tt>
+</h3>
+Immediately removes all tool tips for this tooltip's parent
+widget.
+
+<h3 class=fn>bool <a name="enabled"></a>QToolTip::enabled ()<tt> [static]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QToolTip::font ()<tt> [static]</tt>
+</h3>
+Returns the font common to all tool tips.
+<p> <p>See also <a href="#setFont">setFont</a>().
+
+<h3 class=fn><a href="qtooltipgroup.html">QToolTipGroup</a>&nbsp;* <a name="group"></a>QToolTip::group () const
+</h3>
+
+<p> Returns the tool tip group this QToolTip is a member of or 0 if it
+isn't a member of any group.
+<p> The tool tip group is the object responsible for maintaining
+contact between tool tips and a <a href="qstatusbar.html">status
+ bar</a> or something else which can show the longer help text.
+<p> <p>See also <a href="#parentWidget">parentWidget</a>() and <a href="qtooltipgroup.html">QToolTipGroup</a>.
+
+<h3 class=fn>void <a name="hide"></a>QToolTip::hide ()<tt> [static]</tt>
+</h3>
+Hides any tip that is currently being shown.
+<p> Normally, there is no need to call this function; QToolTip takes
+care of showing and hiding the tips as the user moves the mouse.
+
+<h3 class=fn>bool <a name="isGloballyEnabled"></a>QToolTip::isGloballyEnabled ()<tt> [static]</tt>
+</h3>
+Returns whether tool tips are enabled globally.
+<p> <p>See also <a href="#setGloballyEnabled">setGloballyEnabled</a>().
+
+<h3 class=fn>void <a name="maybeTip"></a>QToolTip::maybeTip ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p )<tt> [pure virtual protected]</tt>
+</h3>
+
+<p> This pure virtual function is half of the most versatile interface
+QToolTip offers.
+<p> It is called when there is a possibility that a tool tip should be
+shown and must decide whether there is a tool tip for the point <em>p</em> in the widget that this QToolTip object relates to. If so,
+<a href="#maybeTip">maybeTip</a>() must call <a href="#tip">tip</a>() with the rectangle the tip applies to,
+the tip's text and optionally the <a href="qtooltipgroup.html">QToolTipGroup</a> details and the
+geometry in screen coordinates.
+<p> <em>p</em> is given in that widget's local coordinates. Most maybeTip()
+implementations will be of the form:
+<p> <pre>
+ if ( &lt;something&gt; ) {
+ <a href="#tip">tip</a>( &lt;something&gt;, &lt;something&gt; );
+ }
+ </pre>
+
+<p> The first argument to tip() (a rectangle) must encompass <em>p</em>,
+i.e. the tip must apply to the current mouse position; otherwise
+QToolTip's operation is undefined.
+<p> Note that the tip will disappear once the mouse moves outside the
+rectangle you give to tip(), and will not reappear if the mouse
+moves back in: maybeTip() is called again instead.
+<p> <p>See also <a href="#tip">tip</a>().
+
+<p>Examples: <a href="helpsystem-example.html#x2684">helpsystem/tooltip.cpp</a> and <a href="tooltip-example.html#x451">tooltip/tooltip.cpp</a>.
+<h3 class=fn><a href="qpalette.html">QPalette</a> <a name="palette"></a>QToolTip::palette ()<tt> [static]</tt>
+</h3>
+Returns the palette common to all tool tips.
+<p> <p>See also <a href="#setPalette">setPalette</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="parentWidget"></a>QToolTip::parentWidget () const
+</h3>
+
+<p> Returns the widget this QToolTip applies to.
+<p> The tool tip is destroyed automatically when the parent widget is
+destroyed.
+<p> <p>See also <a href="#group">group</a>().
+
+<h3 class=fn>void <a name="remove"></a>QToolTip::remove ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [static]</tt>
+</h3>
+Removes the tool tip from <em>widget</em>.
+<p> If there is more than one tool tip on <em>widget</em>, only the one
+covering the entire widget is removed.
+
+<h3 class=fn>void <a name="remove-2"></a>QToolTip::remove ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes any tool tip for <em>rect</em> from <em>widget</em>.
+<p> If there is more than one tool tip on <em>widget</em>, only the one
+covering rectangle <em>rect</em> is removed.
+
+<h3 class=fn>void <a name="setEnabled"></a>QToolTip::setEnabled ( bool&nbsp;enable )<tt> [static]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="setFont"></a>QToolTip::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )<tt> [static]</tt>
+</h3>
+Sets the font for all tool tips to <em>font</em>.
+<p> <p>See also <a href="#font">font</a>().
+
+<h3 class=fn>void <a name="setGloballyEnabled"></a>QToolTip::setGloballyEnabled ( bool&nbsp;enable )<tt> [static]</tt>
+</h3>
+If <em>enable</em> is TRUE sets all tool tips to be enabled (shown when
+needed); if <em>enable</em> is FALSE sets all tool tips to be disabled
+(never shown).
+<p> By default, tool tips are enabled. Note that this function affects
+all tool tips in the entire application.
+<p> <p>See also <a href="qtooltipgroup.html#enabled-prop">QToolTipGroup::enabled</a>.
+
+<h3 class=fn>void <a name="setPalette"></a>QToolTip::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;palette )<tt> [static]</tt>
+</h3>
+Sets the palette for all tool tips to <em>palette</em>.
+<p> <p>See also <a href="#palette">palette</a>().
+
+<h3 class=fn>void <a name="setWakeUpDelay"></a>QToolTip::setWakeUpDelay ( int&nbsp;i )<tt> [static]</tt>
+</h3>
+Sets the wakeup delay for all tooltips to <em>i</em>
+milliseconds.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="textFor"></a>QToolTip::textFor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos = QPoint ( ) )<tt> [static]</tt>
+</h3>
+Returns the tool tip text for <em>widget</em> at position <em>pos</em>, or
+<a href="qstring.html#QString-null">QString::null</a> if there is no tool tip for the given widget and
+position.
+
+<h3 class=fn>void <a name="tip"></a>QToolTip::tip ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [protected]</tt>
+</h3>
+Immediately pops up a tip saying <em>text</em> and removes the tip once
+the cursor moves out of rectangle <em>rect</em> (which is given in the
+coordinate system of the widget this QToolTip relates to).
+<p> The tip will not reappear if the cursor moves back; your
+<a href="#maybeTip">maybeTip</a>() must reinstate it each time.
+
+<h3 class=fn>void <a name="tip-2"></a>QToolTip::tip ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;groupText )<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Immediately pops up a tip saying <em>text</em> and removes that tip once
+the cursor moves out of rectangle <em>rect</em> (which is given in the
+coordinate system of the widget this QToolTip relates to). <em>groupText</em> is the text emitted from the group.
+<p> The tip will not reappear if the cursor moves back; your
+<a href="#maybeTip">maybeTip</a>() must reinstate it each time.
+
+<h3 class=fn>void <a name="tip-3"></a>QToolTip::tip ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;geometry )<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Immediately pops up a tip within the rectangle <em>geometry</em>, saying
+<em>text</em> and removes the tip once the cursor moves out of rectangle
+<em>rect</em>. Both rectangles are given in the coordinate system of the
+widget this QToolTip relates to.
+<p> The tip will not reappear if the cursor moves back; your
+<a href="#maybeTip">maybeTip</a>() must reinstate it each time.
+<p> If the tip does not fit inside <em>geometry</em>, the tip expands.
+
+<h3 class=fn>void <a name="tip-4"></a>QToolTip::tip ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;groupText, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;geometry )<tt> [protected]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Immediately pops up a tip within the rectangle <em>geometry</em>, saying
+<em>text</em> and removes the tip once the cursor moves out of rectangle
+<em>rect</em>. <em>groupText</em> is the text emitted from the group. Both
+rectangles are given in the coordinate system of the widget this
+QToolTip relates to.
+<p> The tip will not reappear if the cursor moves back; your
+<a href="#maybeTip">maybeTip</a>() must reinstate it each time.
+<p> If the tip does not fit inside <em>geometry</em>, the tip expands.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtooltipgroup-members.html b/doc/html/qtooltipgroup-members.html
new file mode 100644
index 0000000..578762c
--- /dev/null
+++ b/doc/html/qtooltipgroup-members.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtooltip.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolTipGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QToolTipGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtooltipgroup.html">QToolTipGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qtooltipgroup.html#QToolTipGroup">QToolTipGroup</a>()
+<li><a href="qtooltipgroup.html#~QToolTipGroup">~QToolTipGroup</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qtooltipgroup.html#delay">delay</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qtooltipgroup.html#enabled">enabled</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtooltipgroup.html#removeTip">removeTip</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qtooltipgroup.html#setDelay">setDelay</a>()
+<li><a href="qtooltipgroup.html#setEnabled">setEnabled</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qtooltipgroup.html#showTip">showTip</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtooltipgroup.html b/doc/html/qtooltipgroup.html
new file mode 100644
index 0000000..4d3b3b5
--- /dev/null
+++ b/doc/html/qtooltipgroup.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qtooltip.cpp:1096 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QToolTipGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QToolTipGroup Class Reference</h1>
+
+<p>The QToolTipGroup class collects tool tips into related groups.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtooltip-h.html">qtooltip.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qtooltipgroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QToolTipGroup"><b>QToolTipGroup</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QToolTipGroup"><b>~QToolTipGroup</b></a> ()</li>
+<li class=fn>bool <a href="#delay"><b>delay</b></a> () const</li>
+<li class=fn>bool <a href="#enabled"><b>enabled</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#setDelay"><b>setDelay</b></a> ( bool )</li>
+<li class=fn>void <a href="#setEnabled"><b>setEnabled</b></a> ( bool )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#showTip"><b>showTip</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;longText )</li>
+<li class=fn>void <a href="#removeTip"><b>removeTip</b></a> ()</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#delay-prop"><b>delay</b></a>&nbsp;- whether the display of the group text is delayed</li>
+<li class=fn>bool <a href="#enabled-prop"><b>enabled</b></a>&nbsp;- whether tool tips in the group are enabled</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QToolTipGroup class collects tool tips into related groups.
+<p>
+<p> Tool tips can display <em>two</em> texts: one in the tip and
+(optionally) one that is typically in a <a href="qstatusbar.html">status
+ bar</a>. QToolTipGroup provides a way to link tool tips to
+this status bar.
+<p> QToolTipGroup has practically no API; it is only used as an
+argument to <a href="qtooltip.html">QToolTip</a>'s member functions, for example like this:
+<p> <pre>
+ QToolTipGroup * grp = new QToolTipGroup( this, "tool tip relay" );
+ <a href="qobject.html#connect">connect</a>( grp, SIGNAL(<a href="#showTip">showTip</a>(const <a href="qstring.html">QString</a>&amp;)),
+ myLabel, SLOT(setText(const <a href="qstring.html">QString</a>&amp;)) );
+ <a href="qobject.html#connect">connect</a>( grp, SIGNAL(<a href="#removeTip">removeTip</a>()),
+ myLabel, SLOT(clear()) );
+ QToolTip::<a href="qtooltip.html#add">add</a>( giraffeButton, "feed giraffe",
+ grp, "Give the giraffe a meal" );
+ QToolTip::<a href="qtooltip.html#add">add</a>( gorillaButton, "feed gorilla",
+ grp, "Give the gorilla a meal" );
+ </pre>
+
+<p> This example makes the object myLabel (which you must supply)
+display (one assumes, though you can make myLabel do anything, of
+course) the strings "Give the giraffe a meal" and "Give the
+gorilla a meal" while the relevant tool tips are being displayed.
+<p> Deleting a tool tip group removes the tool tips in it.
+<p>See also <a href="helpsystem.html">Help System</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QToolTipGroup"></a>QToolTipGroup::QToolTipGroup ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a tool tip group called <em>name</em>, with parent <em>parent</em>.
+
+<h3 class=fn><a name="~QToolTipGroup"></a>QToolTipGroup::~QToolTipGroup ()
+</h3>
+Destroys this tool tip group and all tool tips in it.
+
+<h3 class=fn>bool <a name="delay"></a>QToolTipGroup::delay () const
+</h3><p>Returns TRUE if the display of the group text is delayed; otherwise returns FALSE.
+See the <a href="qtooltipgroup.html#delay-prop">"delay"</a> property for details.
+<h3 class=fn>bool <a name="enabled"></a>QToolTipGroup::enabled () const
+</h3><p>Returns TRUE if tool tips in the group are enabled; otherwise returns FALSE.
+See the <a href="qtooltipgroup.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>void <a name="removeTip"></a>QToolTipGroup::removeTip ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when a tool tip in this group is hidden.
+See the QToolTipGroup documentation for an example of use.
+<p> <p>See also <a href="#showTip">showTip</a>().
+
+<p>Example: <a href="helpsystem-example.html#x2696">helpsystem/mainwindow.cpp</a>.
+<h3 class=fn>void <a name="setDelay"></a>QToolTipGroup::setDelay ( bool )<tt> [slot]</tt>
+</h3><p>Sets whether the display of the group text is delayed.
+See the <a href="qtooltipgroup.html#delay-prop">"delay"</a> property for details.
+<h3 class=fn>void <a name="setEnabled"></a>QToolTipGroup::setEnabled ( bool )<tt> [slot]</tt>
+</h3><p>Sets whether tool tips in the group are enabled.
+See the <a href="qtooltipgroup.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>void <a name="showTip"></a>QToolTipGroup::showTip ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;longText )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when one of the tool tips in the group is
+displayed. <em>longText</em> is the extra text for the displayed tool
+tip.
+<p> <p>See also <a href="#removeTip">removeTip</a>().
+
+<p>Example: <a href="helpsystem-example.html#x2697">helpsystem/mainwindow.cpp</a>.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="delay-prop"></a>delay</h3>
+<p>This property holds whether the display of the group text is delayed.
+<p>If set to TRUE (the default), the group text is displayed at the
+same time as the tool tip. Otherwise, the group text is displayed
+immediately when the cursor enters the widget.
+
+<p>Set this property's value with <a href="#setDelay">setDelay</a>() and get this property's value with <a href="#delay">delay</a>().
+<h3 class=fn>bool <a name="enabled-prop"></a>enabled</h3>
+<p>This property holds whether tool tips in the group are enabled.
+<p>This property's default is TRUE.
+
+<p>Set this property's value with <a href="#setEnabled">setEnabled</a>() and get this property's value with <a href="#enabled">enabled</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtranslator-h.html b/doc/html/qtranslator-h.html
new file mode 100644
index 0000000..bfce2d9
--- /dev/null
+++ b/doc/html/qtranslator-h.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtranslator.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtranslator.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtranslator.h</h1>
+
+<p>This is the verbatim text of the qtranslator.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtranslator.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the translator class
+**
+** Created : 980906
+**
+** Copyright (C) 1998-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+#ifndef QTRANSLATOR_H
+#define QTRANSLATOR_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qvaluelist.h"
+#endif // QT_H
+
+#ifndef QT_NO_TRANSLATION
+
+class QTranslatorPrivate;
+
+class Q_EXPORT QTranslatorMessage
+{
+public:
+ QTranslatorMessage();
+ QTranslatorMessage( const char * context,
+ const char * sourceText,
+ const char * comment,
+ const QString&amp; translation = QString::null );
+ QTranslatorMessage( QDataStream &amp; );
+ QTranslatorMessage( const QTranslatorMessage &amp; m );
+
+ QTranslatorMessage &amp; operator=( const QTranslatorMessage &amp; m );
+
+ uint hash() const { return h; }
+ const char *context() const { return cx; }
+ const char *sourceText() const { return st; }
+ const char *comment() const { return cm; }
+
+ void setTranslation( const QString &amp; translation ) { tn = translation; }
+ QString translation() const { return tn; }
+
+ enum Prefix { NoPrefix, Hash, HashContext, HashContextSourceText,
+ HashContextSourceTextComment };
+ void write( QDataStream &amp; s, bool strip = FALSE,
+ Prefix prefix = HashContextSourceTextComment ) const;
+ Prefix commonPrefix( const QTranslatorMessage&amp; ) const;
+
+ bool operator==( const QTranslatorMessage&amp; m ) const;
+ bool operator!=( const QTranslatorMessage&amp; m ) const
+ { return !operator==( m ); }
+ bool operator&lt;( const QTranslatorMessage&amp; m ) const;
+ bool operator&lt;=( const QTranslatorMessage&amp; m ) const
+ { return !m.operator&lt;( *this ); }
+ bool operator&gt;( const QTranslatorMessage&amp; m ) const
+ { return m.operator&lt;( *this ); }
+ bool operator&gt;=( const QTranslatorMessage&amp; m ) const
+ { return !operator&lt;( m ); }
+
+private:
+ uint h;
+ QCString cx;
+ QCString st;
+ QCString cm;
+ QString tn;
+
+ enum Tag { Tag_End = 1, Tag_SourceText16, Tag_Translation, Tag_Context16,
+ Tag_Hash, Tag_SourceText, Tag_Context, Tag_Comment,
+ Tag_Obsolete1 };
+};
+
+
+class Q_EXPORT QTranslator: public QObject
+{
+ Q_OBJECT
+public:
+ QTranslator( QObject * parent = 0, const char * name = 0 );
+ ~QTranslator();
+
+#ifndef QT_NO_COMPAT
+ QString find( const char *context, const char *sourceText, const char * comment = 0 ) const {
+ return findMessage( context, sourceText, comment ).translation();
+ }
+#endif
+ virtual QTranslatorMessage findMessage( const char *, const char *,
+ const char * = 0 ) const;
+
+ bool load( const QString &amp; filename,
+ const QString &amp; directory = QString::null,
+ const QString &amp; search_delimiters = QString::null,
+ const QString &amp; suffix = QString::null );
+ bool load( const uchar *data, int len ) {
+ clear();
+ return do_load( data, len );
+ }
+
+ void clear();
+
+#ifndef QT_NO_TRANSLATION_BUILDER
+ enum SaveMode { Everything, Stripped };
+
+ bool save( const QString &amp; filename, SaveMode mode = Everything );
+
+ void insert( const QTranslatorMessage&amp; );
+ void insert( const char *context, const char *sourceText, const QString &amp;translation ) {
+ insert( QTranslatorMessage(context, sourceText, "", translation) );
+ }
+ void remove( const QTranslatorMessage&amp; );
+ void remove( const char *context, const char *sourceText ) {
+ remove( QTranslatorMessage(context, sourceText, "") );
+ }
+ bool contains( const char *, const char *, const char * comment = 0 ) const;
+
+ void squeeze( SaveMode = Everything );
+ void unsqueeze();
+
+ QValueList&lt;QTranslatorMessage&gt; messages() const;
+#endif
+
+ bool isEmpty() const;
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QTranslator( const QTranslator &amp; );
+ QTranslator &amp;operator=( const QTranslator &amp; );
+#endif
+
+ bool do_load( const uchar *data, int len );
+
+ QTranslatorPrivate * d;
+};
+
+#endif // QT_NO_TRANSLATION
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtranslator-members.html b/doc/html/qtranslator-members.html
new file mode 100644
index 0000000..76056c0
--- /dev/null
+++ b/doc/html/qtranslator-members.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtranslator.h:102 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTranslator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTranslator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtranslator.html">QTranslator</a>, including inherited members.
+
+<ul>
+<li><a href="qtranslator.html#QTranslator">QTranslator</a>()
+<li><a href="qtranslator.html#~QTranslator">~QTranslator</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qtranslator.html#clear">clear</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qtranslator.html#contains">contains</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qtranslator.html#find">find</a>()
+<li><a href="qtranslator.html#findMessage">findMessage</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qtranslator.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qtranslator.html#isEmpty">isEmpty</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qtranslator.html#load">load</a>()
+<li><a href="qtranslator.html#messages">messages</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qtranslator.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qtranslator.html#save">save</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qtranslator.html#squeeze">squeeze</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qtranslator.html#unsqueeze">unsqueeze</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtranslator.html b/doc/html/qtranslator.html
new file mode 100644
index 0000000..e0881e9
--- /dev/null
+++ b/doc/html/qtranslator.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qtranslator.cpp:216 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTranslator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTranslator Class Reference</h1>
+
+<p>The QTranslator class provides internationalization support for text
+output.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtranslator-h.html">qtranslator.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qtranslator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTranslator"><b>QTranslator</b></a> ( QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QTranslator"><b>~QTranslator</b></a> ()</li>
+<li class=fn>QString find ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual QTranslatorMessage <a href="#findMessage"><b>findMessage</b></a> ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const</li>
+<li class=fn>bool <a href="#load"><b>load</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename, const&nbsp;QString&nbsp;&amp;&nbsp;directory = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;search_delimiters = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;suffix = QString::null )</li>
+<li class=fn>bool <a href="#load-2"><b>load</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;len )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>enum <a href="#SaveMode-enum"><b>SaveMode</b></a> { Everything, Stripped }</li>
+<li class=fn>bool <a href="#save"><b>save</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename, SaveMode&nbsp;mode = Everything )</li>
+<li class=fn>void <a href="#insert"><b>insert</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;message )</li>
+<li class=fn>void insert ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;QString&nbsp;&amp;&nbsp;translation ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;message )</li>
+<li class=fn>void remove ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#contains"><b>contains</b></a> ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const</li>
+<li class=fn>void <a href="#squeeze"><b>squeeze</b></a> ( SaveMode&nbsp;mode = Everything )</li>
+<li class=fn>void <a href="#unsqueeze"><b>unsqueeze</b></a> ()</li>
+<li class=fn>QValueList&lt;QTranslatorMessage&gt; <a href="#messages"><b>messages</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QTranslator class provides <a href="i18n.html#internationalization">internationalization</a> support for text
+output.
+<p>
+
+
+<p> An object of this class contains a set of <a href="qtranslatormessage.html">QTranslatorMessage</a>
+objects, each of which specifies a translation from a source
+language to a target language. QTranslator provides functions to
+look up translations, add new ones, remove them, load and save
+them, etc.
+<p> The most common use of QTranslator is to: load a translator file
+created with <a href="linguist-manual.html">Qt Linguist</a>,
+install it using <a href="qapplication.html#installTranslator">QApplication::installTranslator</a>(), and use it via
+<a href="qobject.html#tr">QObject::tr</a>(). For example:
+<p> <pre>
+ int main( int argc, char ** argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ QTranslator translator( 0 );
+ translator.<a href="#load">load</a>( "french.qm", "." );
+ app.<a href="qapplication.html#installTranslator">installTranslator</a>( &amp;translator );
+
+ MyWidget m;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;m );
+ m.show();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+ </pre>
+
+Note that the translator must be created <em>before</em> the
+application's main window.
+<p> Most applications will never need to do anything else with this
+class. The other functions provided by this class are useful for
+applications that work on translator files.
+<p> We call a translation a "messsage". For this reason, translation
+files are sometimes referred to as "message files".
+<p> It is possible to lookup a translation using <a href="#findMessage">findMessage</a>() (as
+<a href="qobject.html#tr">tr</a>() and <a href="qapplication.html#translate">QApplication::translate</a>() do) and <a href="#contains">contains</a>(), to insert a
+new translation messsage using <a href="#insert">insert</a>(), and to remove one using
+<a href="#remove">remove</a>().
+<p> Translation tools often need more information than the bare source
+text and translation, for example, context information to help
+the translator. But end-user programs that are using translations
+usually only need lookup. To cater for these different needs,
+QTranslator can use stripped translator files that use the minimum
+of memory and which support little more functionality than
+findMessage().
+<p> Thus, <a href="#load">load</a>() may not load enough information to make anything more
+than findMessage() work. <a href="#save">save</a>() has an argument indicating
+whether to save just this minimum of information or to save
+everything.
+<p> "Everything" means that for each translation item the following
+information is kept:
+<p> <ul>
+<li> The <em>translated text</em> - the return value from <a href="qobject.html#tr">tr</a>().
+<li> The input key:
+<ul>
+<li> The <em>source text</em> - usually the argument to tr().
+<li> The <em>context</em> - usually the class name for the tr() caller.
+<li> The <em>comment</em> - a comment that helps disambiguate different uses
+of the same text in the same context.
+</ul>
+</ul>
+<p> The minimum for each item is just the information necessary for
+<a href="#findMessage">findMessage</a>() to return the right text. This may include the
+source, context and comment, but usually it is just a hash value
+and the translated text.
+<p> For example, the "Cancel" in a dialog might have "Anuluj" when the
+program runs in Polish (in this case the source text would be
+"Cancel"). The context would (normally) be the dialog's class
+name; there would normally be no comment, and the translated text
+would be "Anuluj".
+<p> But it's not always so simple. The Spanish version of a printer
+dialog with settings for two-sided printing and binding would
+probably require both "Activado" and "Activada" as translations
+for "Enabled". In this case the source text would be "Enabled" in
+both cases, and the context would be the dialog's class name, but
+the two items would have disambiguating comments such as
+"two-sided printing" for one and "binding" for the other. The
+comment enables the translator to choose the appropriate gender
+for the Spanish version, and enables Qt to distinguish between
+translations.
+<p> Note that when QTranslator loads a stripped file, most functions
+do not work. The functions that do work with stripped files are
+explicitly documented as such.
+<p> <p>See also <a href="qtranslatormessage.html">QTranslatorMessage</a>, <a href="qapplication.html#installTranslator">QApplication::installTranslator</a>(), <a href="qapplication.html#removeTranslator">QApplication::removeTranslator</a>(), <a href="qobject.html#tr">QObject::tr</a>(), <a href="qapplication.html#translate">QApplication::translate</a>(), <a href="environment.html">Environment Classes</a>, and <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="SaveMode-enum"></a>QTranslator::SaveMode</h3>
+
+<p> This enum type defines how QTranslator writes translation
+files. There are two modes:
+<ul>
+<li><tt>QTranslator::Everything</tt> - files are saved with all available information
+<li><tt>QTranslator::Stripped</tt> - files are saved with just enough information for
+end-user applications
+</ul><p> Note that when QTranslator loads a stripped file, most functions do
+not work. The functions that do work with stripped files are
+explicitly documented as such.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTranslator"></a>QTranslator::QTranslator ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty message file object that is not connected to
+any file. The object is called <em>name</em> with parent <em>parent</em>.
+
+<h3 class=fn><a name="~QTranslator"></a>QTranslator::~QTranslator ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="clear"></a>QTranslator::clear ()
+</h3>
+Empties this translator of all contents.
+<p> This function works with stripped translator files.
+
+<h3 class=fn>bool <a name="contains"></a>QTranslator::contains ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const
+</h3>
+Returns TRUE if this message file contains a message with the key
+(<em>context</em>, <em>sourceText</em>, <em>comment</em>); otherwise returns FALSE.
+<p> This function works with stripped translator files.
+<p> (This is is a one-liner that calls <a href="#findMessage">findMessage</a>().)
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="find"></a>QTranslator::find ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Please use <a href="#findMessage">findMessage</a>() instead.
+<p> Returns the translation for the key (<em>context</em>, <em>sourceText</em>,
+<em>comment</em>) or <a href="qstring.html#QString-null">QString::null</a> if there is none in this translator.
+
+<h3 class=fn><a href="qtranslatormessage.html">QTranslatorMessage</a> <a name="findMessage"></a>QTranslator::findMessage ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment = 0 ) const<tt> [virtual]</tt>
+</h3> Returns the <a href="qtranslatormessage.html">QTranslatorMessage</a> for the key
+(<em>context</em>, <em>sourceText</em>, <em>comment</em>). If none is found,
+also tries (<em>context</em>, <em>sourceText</em>, "").
+
+<h3 class=fn>void <a name="insert"></a>QTranslator::insert ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;message )
+</h3>
+Inserts <em>message</em> into this message file.
+<p> This function does <em>not</em> work with stripped translator files. It
+may appear to, but that is not dependable.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<h3 class=fn>void <a name="insert-2"></a>QTranslator::insert ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;translation )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>bool <a name="isEmpty"></a>QTranslator::isEmpty () const
+</h3>
+Returns TRUE if this translator is empty, otherwise returns FALSE.
+This function works with stripped and unstripped translation files.
+
+<h3 class=fn>bool <a name="load"></a>QTranslator::load ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;directory = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;search_delimiters = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;suffix = QString::null )
+</h3>
+Loads <em>filename</em>, which may be an absolute file name or relative
+to <em>directory</em>. The previous contents of this translator object
+is discarded. Returns TRUE if the file is loaded successfully;
+otherwise returns FALSE.
+<p> If the full file name does not exist, other file names are tried
+in the following order:
+<p> <ol type=1>
+<li> File name with <em>suffix</em> appended (".qm" if the <em>suffix</em> is
+<a href="qstring.html#QString-null">QString::null</a>).
+<li> File name with text after a character in <em>search_delimiters</em>
+stripped ("_." is the default for <em>search_delimiters</em> if it is
+QString::null).
+<li> File name stripped and <em>suffix</em> appended.
+<li> File name stripped further, etc.
+</ol>
+<p> For example, an application running in the fr_CA locale
+(French-speaking Canada) might call <a href="#load">load</a>("foo.fr_ca",
+"/opt/foolib"). load() would then try to open the first existing
+readable file from this list:
+<p> <ol type=1>
+<li> /opt/foolib/foo.fr_ca
+<li> /opt/foolib/foo.fr_ca.qm
+<li> /opt/foolib/foo.fr
+<li> /opt/foolib/foo.fr.qm
+<li> /opt/foolib/foo
+<li> /opt/foolib/foo.qm
+</ol>
+<p> <p>See also <a href="#save">save</a>().
+
+<p>Example: <a href="i18n-example.html#x1950">i18n/main.cpp</a>.
+<h3 class=fn>bool <a name="load-2"></a>QTranslator::load ( const&nbsp;uchar&nbsp;*&nbsp;data, int&nbsp;len )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Loads the .qm file data <em>data</em> of length <em>len</em> into the
+translator. Returns TRUE if the data is loaded successfully;
+otherwise returns FALSE.
+<p> The data is not copied. The caller must be able to guarantee that <em>data</em>
+will not be deleted or modified.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;QTranslatorMessage&gt; <a name="messages"></a>QTranslator::messages () const
+</h3>
+Returns a list of the messages in the translator. This function is
+rather slow. Because it is seldom called, it's optimized for
+simplicity and small size, rather than speed.
+<p> If you want to iterate over the list, you should iterate over a
+copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QTranslatorMessage&gt; list = myTranslator.messages();
+ QValueList&lt;QTranslatorMessage&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while ( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ process_message( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>void <a name="remove"></a>QTranslator::remove ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;message )
+</h3>
+Removes <em>message</em> from this translator.
+<p> This function works with stripped translator files.
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="remove-2"></a>QTranslator::remove ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText )
+</h3>
+
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Removes the translation associated to the key (<em>context</em>, <em>sourceText</em>,
+"") from this translator.
+
+<h3 class=fn>bool <a name="save"></a>QTranslator::save ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename, <a href="qtranslator.html#SaveMode-enum">SaveMode</a>&nbsp;mode = Everything )
+</h3>
+Saves this message file to <em>filename</em>, overwriting the previous
+contents of <em>filename</em>. If <em>mode</em> is <a href="#SaveMode-enum">Everything</a> (the
+default), all the information is preserved. If <em>mode</em> is <a href="#SaveMode-enum">Stripped</a>, any information that is not necessary for <a href="#findMessage">findMessage</a>()
+is stripped away.
+<p> <p>See also <a href="#load">load</a>().
+
+<h3 class=fn>void <a name="squeeze"></a>QTranslator::squeeze ( <a href="qtranslator.html#SaveMode-enum">SaveMode</a>&nbsp;mode = Everything )
+</h3>
+Converts this message file to the compact format used to store
+message files on disk.
+<p> You should never need to call this directly; <a href="#save">save</a>() and other
+functions call it as necessary. <em>mode</em> is for internal use.
+<p> <p>See also <a href="#save">save</a>() and <a href="#unsqueeze">unsqueeze</a>().
+
+<h3 class=fn>void <a name="unsqueeze"></a>QTranslator::unsqueeze ()
+</h3>
+Converts this message file into an easily modifiable data
+structure, less compact than the format used in the files.
+<p> You should never need to call this function; it is called by
+<a href="#insert">insert</a>() and friends as necessary.
+<p> <p>See also <a href="#squeeze">squeeze</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtranslatormessage-members.html b/doc/html/qtranslatormessage-members.html
new file mode 100644
index 0000000..74ea528
--- /dev/null
+++ b/doc/html/qtranslatormessage-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtranslator.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTranslatorMessage Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTranslatorMessage</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtranslatormessage.html">QTranslatorMessage</a>, including inherited members.
+
+<ul>
+<li><a href="qtranslatormessage.html#QTranslatorMessage">QTranslatorMessage</a>()
+<li><a href="qtranslatormessage.html#comment">comment</a>()
+<li><a href="qtranslatormessage.html#commonPrefix">commonPrefix</a>()
+<li><a href="qtranslatormessage.html#context">context</a>()
+<li><a href="qtranslatormessage.html#hash">hash</a>()
+<li><a href="qtranslatormessage.html#operator!-eq">operator!=</a>()
+<li><a href="qtranslatormessage.html#operator-lt">operator&lt;</a>()
+<li><a href="qtranslatormessage.html#operator-lt-eq">operator&lt;=</a>()
+<li><a href="qtranslatormessage.html#operator-eq">operator=</a>()
+<li><a href="qtranslatormessage.html#operator-eq-eq">operator==</a>()
+<li><a href="qtranslatormessage.html#operator-gt">operator&gt;</a>()
+<li><a href="qtranslatormessage.html#operator-gt-eq">operator&gt;=</a>()
+<li><a href="qtranslatormessage.html#setTranslation">setTranslation</a>()
+<li><a href="qtranslatormessage.html#sourceText">sourceText</a>()
+<li><a href="qtranslatormessage.html#translation">translation</a>()
+<li><a href="qtranslatormessage.html#write">write</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtranslatormessage.html b/doc/html/qtranslatormessage.html
new file mode 100644
index 0000000..3216ee8
--- /dev/null
+++ b/doc/html/qtranslatormessage.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qtranslator.cpp:1118 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTranslatorMessage Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTranslatorMessage Class Reference</h1>
+
+<p>The QTranslatorMessage class contains a translator message and its
+properties.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qtranslator-h.html">qtranslator.h</a>&gt;</tt>
+<p><a href="qtranslatormessage-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QTranslatorMessage"><b>QTranslatorMessage</b></a> ()</li>
+<li class=fn><a href="#QTranslatorMessage-2"><b>QTranslatorMessage</b></a> ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment, const&nbsp;QString&nbsp;&amp;&nbsp;translation = QString::null )</li>
+<li class=fn><a href="#QTranslatorMessage-3"><b>QTranslatorMessage</b></a> ( QDataStream&nbsp;&amp;&nbsp;stream )</li>
+<li class=fn><a href="#QTranslatorMessage-4"><b>QTranslatorMessage</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>QTranslatorMessage &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>uint <a href="#hash"><b>hash</b></a> () const</li>
+<li class=fn>const char * <a href="#context"><b>context</b></a> () const</li>
+<li class=fn>const char * <a href="#sourceText"><b>sourceText</b></a> () const</li>
+<li class=fn>const char * <a href="#comment"><b>comment</b></a> () const</li>
+<li class=fn>void <a href="#setTranslation"><b>setTranslation</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;translation )</li>
+<li class=fn>QString <a href="#translation"><b>translation</b></a> () const</li>
+<li class=fn>enum <a href="#Prefix-enum"><b>Prefix</b></a> { NoPrefix, Hash, HashContext, HashContextSourceText, HashContextSourceTextComment }</li>
+<li class=fn>void <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;stream, bool&nbsp;strip = FALSE, Prefix&nbsp;prefix = HashContextSourceTextComment ) const</li>
+<li class=fn>Prefix <a href="#commonPrefix"><b>commonPrefix</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator-lt-eq"><b>operator&lt;=</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator-gt-eq"><b>operator&gt;=</b></a> ( const&nbsp;QTranslatorMessage&nbsp;&amp;&nbsp;m ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QTranslatorMessage class contains a translator message and its
+properties.
+<p>
+
+<p> This class is of no interest to most applications. It is useful
+for translation tools such as <a href="linguist-manual.html">Qt
+ Linguist</a>. It is provided simply to make the API complete
+and regular.
+<p> For a <a href="qtranslator.html">QTranslator</a> object, a lookup key is a triple (<em>context</em>, <em>source text</em>, <em>comment</em>) that uniquely identifies a message. An
+extended key is a quadruple (<em>hash</em>, <em>context</em>, <em>source text</em>, <em>comment</em>), where <em>hash</em> is computed from the source text
+and the comment. Unless you plan to read and write messages
+yourself, you need not worry about the hash value.
+<p> QTranslatorMessage stores this triple or quadruple and the relevant
+translation if there is any.
+<p> <p>See also <a href="qtranslator.html">QTranslator</a>, <a href="environment.html">Environment Classes</a>, and <a href="i18n.html">Internationalization with Qt</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Prefix-enum"></a>QTranslatorMessage::Prefix</h3>
+
+<p> Let (<em>h</em>, <em>c</em>, <em>s</em>, <em>m</em>) be the extended key. The possible
+prefixes are
+<ul>
+<li><tt>QTranslatorMessage::NoPrefix</tt> - no prefix
+<li><tt>QTranslatorMessage::Hash</tt> - only (<em>h</em>)
+<li><tt>QTranslatorMessage::HashContext</tt> - only (<em>h</em>, <em>c</em>)
+<li><tt>QTranslatorMessage::HashContextSourceText</tt> - only (<em>h</em>, <em>c</em>, <em>s</em>)
+<li><tt>QTranslatorMessage::HashContextSourceTextComment</tt> - the whole extended key, (<em>h</em>, <em>c</em>, <em>s</em>, <em>m</em>)
+</ul><p> <p>See also <a href="#write">write</a>() and <a href="#commonPrefix">commonPrefix</a>().
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QTranslatorMessage"></a>QTranslatorMessage::QTranslatorMessage ()
+</h3>
+Constructs a translator message with the extended key (0, 0, 0, 0)
+and <a href="qstring.html#QString-null">QString::null</a> as translation.
+
+<h3 class=fn><a name="QTranslatorMessage-2"></a>QTranslatorMessage::QTranslatorMessage ( const&nbsp;char&nbsp;*&nbsp;context, const&nbsp;char&nbsp;*&nbsp;sourceText, const&nbsp;char&nbsp;*&nbsp;comment, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;translation = QString::null )
+</h3>
+Constructs an translator message with the extended key (<em>h</em>, <em>context</em>, <em>sourceText</em>, <em>comment</em>), where <em>h</em> is computed from
+<em>sourceText</em> and <em>comment</em>, and possibly with a <em>translation</em>.
+
+<h3 class=fn><a name="QTranslatorMessage-3"></a>QTranslatorMessage::QTranslatorMessage ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;stream )
+</h3>
+Constructs a translator message read from the <em>stream</em>. The
+resulting message may have any combination of content.
+<p> <p>See also <a href="qtranslator.html#save">QTranslator::save</a>().
+
+<h3 class=fn><a name="QTranslatorMessage-4"></a>QTranslatorMessage::QTranslatorMessage ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m )
+</h3>
+Constructs a copy of translator message <em>m</em>.
+
+<h3 class=fn>const char * <a name="comment"></a>QTranslatorMessage::comment () const
+</h3>
+
+<p> Returns the comment for this message (e.g. "File|Save").
+<p> <b>Warning:</b> This may return 0 if the <a href="qtranslator.html">QTranslator</a> object is stripped
+(compressed).
+
+<h3 class=fn><a href="qtranslatormessage.html#Prefix-enum">Prefix</a> <a name="commonPrefix"></a>QTranslatorMessage::commonPrefix ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+Returns the widest lookup prefix that is common to this translator
+message and to message <em>m</em>.
+<p> For example, if the extended key is for this message is (71,
+"PrintDialog", "Yes", "Print?") and that for <em>m</em> is (71,
+"PrintDialog", "No", "Print?"), this function returns <a href="#Prefix-enum">HashContext</a>.
+<p> <p>See also <a href="#write">write</a>().
+
+<h3 class=fn>const char * <a name="context"></a>QTranslatorMessage::context () const
+</h3>
+
+<p> Returns the context for this message (e.g. "MyDialog").
+<p> <b>Warning:</b> This may return 0 if the <a href="qtranslator.html">QTranslator</a> object is stripped
+(compressed).
+
+<h3 class=fn>uint <a name="hash"></a>QTranslatorMessage::hash () const
+</h3>
+
+<p> Returns the hash value used internally to represent the lookup
+key. This value is zero only if this translator message was
+constructed from a stream containing invalid data.
+<p> The hashing function is unspecified, but it will remain unchanged
+in future versions of Qt.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QTranslatorMessage::operator!= ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+
+<p> Returns TRUE if the extended key of this object is different from
+that of <em>m</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt"></a>QTranslatorMessage::operator&lt; ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+Returns TRUE if the extended key of this object is
+lexicographically before than that of <em>m</em>; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="operator-lt-eq"></a>QTranslatorMessage::operator&lt;= ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+
+<p> Returns TRUE if the extended key of this object is
+lexicographically before that of <em>m</em> or if they are equal;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp; <a name="operator-eq"></a>QTranslatorMessage::operator= ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m )
+</h3>
+Assigns message <em>m</em> to this translator message and returns a
+reference to this translator message.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QTranslatorMessage::operator== ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+Returns TRUE if the extended key of this object is equal to that of
+<em>m</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt"></a>QTranslatorMessage::operator&gt; ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+
+<p> Returns TRUE if the extended key of this object is
+lexicographically after that of <em>m</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt-eq"></a>QTranslatorMessage::operator&gt;= ( const&nbsp;<a href="qtranslatormessage.html">QTranslatorMessage</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+
+<p> Returns TRUE if the extended key of this object is
+lexicographically after that of <em>m</em> or if they are equal;
+otherwise returns FALSE.
+
+<h3 class=fn>void <a name="setTranslation"></a>QTranslatorMessage::setTranslation ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;translation )
+</h3>
+
+<p> Sets the translation of the source text to <em>translation</em>.
+<p> <p>See also <a href="#translation">translation</a>().
+
+<h3 class=fn>const char * <a name="sourceText"></a>QTranslatorMessage::sourceText () const
+</h3>
+
+<p> Returns the source text of this message (e.g. "&Save").
+<p> <b>Warning:</b> This may return 0 if the <a href="qtranslator.html">QTranslator</a> object is stripped
+(compressed).
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="translation"></a>QTranslatorMessage::translation () const
+</h3>
+
+<p> Returns the translation of the source text (e.g., "&Sauvegarder").
+<p> <p>See also <a href="#setTranslation">setTranslation</a>().
+
+<h3 class=fn>void <a name="write"></a>QTranslatorMessage::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;stream, bool&nbsp;strip = FALSE, <a href="qtranslatormessage.html#Prefix-enum">Prefix</a>&nbsp;prefix = HashContextSourceTextComment ) const
+</h3>
+Writes this translator message to the <em>stream</em>. If <em>strip</em> is
+FALSE (the default), all the information in the message is
+written. If <em>strip</em> is TRUE, only the part of the extended key
+specified by <em>prefix</em> is written with the translation (<a href="#Prefix-enum">HashContextSourceTextComment</a> by default).
+<p> <p>See also <a href="#commonPrefix">commonPrefix</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtsciicodec-h.html b/doc/html/qtsciicodec-h.html
new file mode 100644
index 0000000..a0cdb19
--- /dev/null
+++ b/doc/html/qtsciicodec-h.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtsciicodec.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qtsciicodec.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qtsciicodec.h</h1>
+
+<p>This is the verbatim text of the qtsciicodec.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qtsciicodec.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QTsciiCodec class
+**
+** Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Most of the code here was originally written by Hans Petter Bieker,
+// and is included in Qt with the author's permission, and the grateful
+// thanks of the Trolltech team.
+
+/*
+ * Copyright (C) 2000 Hans Petter Bieker. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef QTSCIICODEC_H
+#define QTSCIICODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+#ifndef QT_NO_CODECS
+
+class Q_EXPORT QTsciiCodec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+
+#if !defined(Q_NO_USING_KEYWORD)
+ using QTextCodec::fromUnicode;
+#endif
+ QCString fromUnicode(const QString&amp; uc, int&amp; lenInOut) const;
+ QString toUnicode(const char* chars, int len) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+ int heuristicNameMatch(const char* hint) const;
+};
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtsciicodec-members.html b/doc/html/qtsciicodec-members.html
new file mode 100644
index 0000000..1124022
--- /dev/null
+++ b/doc/html/qtsciicodec-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qtsciicodec.h:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTsciiCodec Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QTsciiCodec</h1>
+
+<p>This is the complete list of member functions for
+<a href="qtsciicodec.html">QTsciiCodec</a>, including inherited members.
+
+<ul>
+<li><a href="qtextcodec.html#canEncode">canEncode</a>()
+<li><a href="qtextcodec.html#codecForCStrings">codecForCStrings</a>()
+<li><a href="qtextcodec.html#codecForContent">codecForContent</a>()
+<li><a href="qtextcodec.html#codecForIndex">codecForIndex</a>()
+<li><a href="qtextcodec.html#codecForLocale">codecForLocale</a>()
+<li><a href="qtextcodec.html#codecForMib">codecForMib</a>()
+<li><a href="qtextcodec.html#codecForName">codecForName</a>()
+<li><a href="qtextcodec.html#codecForTr">codecForTr</a>()
+<li><a href="qtextcodec.html#deleteAllCodecs">deleteAllCodecs</a>()
+<li><a href="qtextcodec.html#fromUnicode">fromUnicode</a>()
+<li><a href="qtextcodec.html#heuristicContentMatch">heuristicContentMatch</a>()
+<li><a href="qtextcodec.html#heuristicNameMatch">heuristicNameMatch</a>()
+<li><a href="qtextcodec.html#loadCharmap">loadCharmap</a>()
+<li><a href="qtextcodec.html#loadCharmapFile">loadCharmapFile</a>()
+<li><a href="qtextcodec.html#locale">locale</a>()
+<li><a href="qtextcodec.html#makeDecoder">makeDecoder</a>()
+<li><a href="qtextcodec.html#makeEncoder">makeEncoder</a>()
+<li><a href="qtextcodec.html#mibEnum">mibEnum</a>()
+<li><a href="qtextcodec.html#mimeName">mimeName</a>()
+<li><a href="qtextcodec.html#name">name</a>()
+<li><a href="qtextcodec.html#setCodecForCStrings">setCodecForCStrings</a>()
+<li><a href="qtextcodec.html#setCodecForLocale">setCodecForLocale</a>()
+<li><a href="qtextcodec.html#setCodecForTr">setCodecForTr</a>()
+<li><a href="qtextcodec.html#simpleHeuristicNameMatch">simpleHeuristicNameMatch</a>()
+<li><a href="qtextcodec.html#toUnicode">toUnicode</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qtsciicodec.html b/doc/html/qtsciicodec.html
new file mode 100644
index 0000000..d11ba51
--- /dev/null
+++ b/doc/html/qtsciicodec.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/codecs/qtsciicodec.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QTsciiCodec Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QTsciiCodec Class Reference</h1>
+
+<p>The QTsciiCodec class provides conversion to and from the Tamil TSCII encoding.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qtsciicodec-h.html">qtsciicodec.h</a>&gt;</tt>
+<p>Inherits <a href="qtextcodec.html">QTextCodec</a>.
+<p><a href="qtsciicodec-members.html">List of all member functions.</a>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+<p> The QTsciiCodec class provides conversion to and from the Tamil TSCII encoding.
+<p> TSCII, formally the Tamil Standard Code Information Interchange
+specification, is a commonly used charset for Tamils. The
+official page for the standard is at
+<a href="http://www.tamil.net/tscii/">http://www.tamil.net/tscii/</a>
+<p> This codec uses the mapping table found at
+<a href="http://www.geocities.com/Athens/5180/tsciiset.html">http://www.geocities.com/Athens/5180/tsciiset.html</a>.
+Tamil uses composed Unicode which might cause some
+problems if you are using Unicode fonts instead of TSCII fonts.
+<p> Most of the code here was written by Hans Petter Bieker
+and is included in Qt with the author's permission and the
+grateful thanks of the Trolltech team.
+Here is the copyright statement for the code as it was at the
+point of contribution. Trolltech's subsequent modifications
+are covered by the usual copyright for Qt.
+<p>
+<p> Copyright (C) 2000 Hans Petter Bieker. All rights reserved.
+<p> Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+<ol type=1>
+<li> Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+<li> Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+</ol>
+<p> THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+<p>See also <a href="i18n.html">Internationalization with Qt</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/quridrag-members.html b/doc/html/quridrag-members.html
new file mode 100644
index 0000000..7b1133c
--- /dev/null
+++ b/doc/html/quridrag-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdragobject.h:167 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUriDrag Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QUriDrag</h1>
+
+<p>This is the complete list of member functions for
+<a href="quridrag.html">QUriDrag</a>, including inherited members.
+
+<ul>
+<li><a href="quridrag.html#QUriDrag">QUriDrag</a>()
+<li><a href="quridrag.html#~QUriDrag">~QUriDrag</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="quridrag.html#canDecode">canDecode</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="quridrag.html#decode">decode</a>()
+<li><a href="quridrag.html#decodeLocalFiles">decodeLocalFiles</a>()
+<li><a href="quridrag.html#decodeToUnicodeUris">decodeToUnicodeUris</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdragobject.html#drag">drag</a>()
+<li><a href="qdragobject.html#dragCopy">dragCopy</a>()
+<li><a href="qdragobject.html#dragLink">dragLink</a>()
+<li><a href="qdragobject.html#dragMove">dragMove</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qstoreddrag.html#encodedData">encodedData</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qmimesource.html#format">format</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="quridrag.html#localFileToUri">localFileToUri</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qdragobject.html#pixmap">pixmap</a>()
+<li><a href="qdragobject.html#pixmapHotSpot">pixmapHotSpot</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qmimesource.html#provides">provides</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qmimesource.html#serialNumber">serialNumber</a>()
+<li><a href="qstoreddrag.html#setEncodedData">setEncodedData</a>()
+<li><a href="quridrag.html#setFileNames">setFileNames</a>()
+<li><a href="quridrag.html#setFilenames">setFilenames</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qdragobject.html#setPixmap">setPixmap</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="quridrag.html#setUnicodeUris">setUnicodeUris</a>()
+<li><a href="quridrag.html#setUris">setUris</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qdragobject.html#source">source</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qdragobject.html#target">target</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="quridrag.html#unicodeUriToUri">unicodeUriToUri</a>()
+<li><a href="quridrag.html#uriToLocalFile">uriToLocalFile</a>()
+<li><a href="quridrag.html#uriToUnicodeUri">uriToUnicodeUri</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/quridrag.html b/doc/html/quridrag.html
new file mode 100644
index 0000000..2d03c94
--- /dev/null
+++ b/doc/html/quridrag.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdragobject.cpp:1278 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUriDrag Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QUriDrag Class Reference</h1>
+
+<p>The QUriDrag class provides a drag object for a list of URI references.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qdragobject-h.html">qdragobject.h</a>&gt;</tt>
+<p>Inherits <a href="qstoreddrag.html">QStoredDrag</a>.
+<p><a href="quridrag-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QUriDrag"><b>QUriDrag</b></a> ( QStrList&nbsp;uris, QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QUriDrag-2"><b>QUriDrag</b></a> ( QWidget&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QUriDrag"><b>~QUriDrag</b></a> ()</li>
+<li class=fn>void setFilenames ( const&nbsp;QStringList&nbsp;&amp;&nbsp;fnames ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#setFileNames"><b>setFileNames</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;fnames )</li>
+<li class=fn>void <a href="#setUnicodeUris"><b>setUnicodeUris</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;uuris )</li>
+<li class=fn>virtual void <a href="#setUris"><b>setUris</b></a> ( QStrList&nbsp;uris )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QString <a href="#uriToLocalFile"><b>uriToLocalFile</b></a> ( const&nbsp;char&nbsp;*&nbsp;uri )</li>
+<li class=fn>QCString <a href="#localFileToUri"><b>localFileToUri</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>QString <a href="#uriToUnicodeUri"><b>uriToUnicodeUri</b></a> ( const&nbsp;char&nbsp;*&nbsp;uri )</li>
+<li class=fn>QCString <a href="#unicodeUriToUri"><b>unicodeUriToUri</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uuri )</li>
+<li class=fn>bool <a href="#canDecode"><b>canDecode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e )</li>
+<li class=fn>bool <a href="#decode"><b>decode</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QStrList&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>bool <a href="#decodeToUnicodeUris"><b>decodeToUnicodeUris</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QStringList&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>bool <a href="#decodeLocalFiles"><b>decodeLocalFiles</b></a> ( const&nbsp;QMimeSource&nbsp;*&nbsp;e, QStringList&nbsp;&amp;&nbsp;l )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QUriDrag class provides a drag object for a list of URI references.
+<p>
+<p> URIs are a useful way to refer to files that may be distributed
+across multiple machines. A URI will often refer to a file on a
+machine local to both the drag source and the drop target, so the
+URI can be equivalent to passing a file name but is more
+extensible.
+<p> Use URIs in Unicode form so that the user can comfortably edit and
+view them. For use in HTTP or other protocols, use the correctly
+escaped ASCII form.
+<p> You can convert a list of file names to file URIs using
+<a href="#setFileNames">setFileNames</a>(), or into human-readble form with <a href="#setUnicodeUris">setUnicodeUris</a>().
+<p> Static functions are provided to convert between filenames and
+URIs, e.g. <a href="#uriToLocalFile">uriToLocalFile</a>() and <a href="#localFileToUri">localFileToUri</a>(), and to and from
+human-readable form, e.g. <a href="#uriToUnicodeUri">uriToUnicodeUri</a>(), <a href="#unicodeUriToUri">unicodeUriToUri</a>().
+You can also decode URIs from a mimesource into a list with
+<a href="#decodeLocalFiles">decodeLocalFiles</a>() and <a href="#decodeToUnicodeUris">decodeToUnicodeUris</a>().
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QUriDrag"></a>QUriDrag::QUriDrag ( <a href="qstrlist.html">QStrList</a>&nbsp;uris, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an object to drag the list of URIs in <em>uris</em>. The <em>dragSource</em> and <em>name</em> arguments are passed on to <a href="qstoreddrag.html">QStoredDrag</a>.
+Note that URIs are always in escaped UTF8 encoding.
+
+<h3 class=fn><a name="QUriDrag-2"></a>QUriDrag::QUriDrag ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;dragSource = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an object to drag. You must call <a href="#setUris">setUris</a>() before you
+start the <a href="qdragobject.html#drag">drag</a>(). Passes <em>dragSource</em> and <em>name</em> to the
+<a href="qstoreddrag.html">QStoredDrag</a> constructor.
+
+<h3 class=fn><a name="~QUriDrag"></a>QUriDrag::~QUriDrag ()
+</h3>
+Destroys the object.
+
+<h3 class=fn>bool <a name="canDecode"></a>QUriDrag::canDecode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e )<tt> [static]</tt>
+</h3>
+Returns TRUE if <a href="#decode">decode</a>() would be able to decode <em>e</em>; otherwise
+returns FALSE.
+
+<h3 class=fn>bool <a name="decode"></a>QUriDrag::decode ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qstrlist.html">QStrList</a>&nbsp;&amp;&nbsp;l )<tt> [static]</tt>
+</h3>
+Decodes URIs from <em>e</em>, placing the result in <em>l</em> (which is first
+cleared).
+<p> Returns TRUE if <em>e</em> contained a valid list of URIs; otherwise
+returns FALSE.
+
+<p>Example: <a href="dirview-example.html#x1707">dirview/dirview.cpp</a>.
+<h3 class=fn>bool <a name="decodeLocalFiles"></a>QUriDrag::decodeLocalFiles ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;l )<tt> [static]</tt>
+</h3>
+Decodes URIs from the mime source event <em>e</em>, converts them to
+local files if they refer to local files, and places them in <em>l</em>
+(which is first cleared).
+<p> Returns TRUE if <em>contained</em> a valid list of URIs; otherwise
+returns FALSE. The list will be empty if no URIs were local files.
+
+<p>Example: <a href="fileiconview-example.html#x873">fileiconview/qfileiconview.cpp</a>.
+<h3 class=fn>bool <a name="decodeToUnicodeUris"></a>QUriDrag::decodeToUnicodeUris ( const&nbsp;<a href="qmimesource.html">QMimeSource</a>&nbsp;*&nbsp;e, <a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;l )<tt> [static]</tt>
+</h3>
+Decodes URIs from the mime source event <em>e</em>, converts them to
+Unicode URIs (only useful for displaying to humans), placing them
+in <em>l</em> (which is first cleared).
+<p> Returns TRUE if <em>contained</em> a valid list of URIs; otherwise
+returns FALSE.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="localFileToUri"></a>QUriDrag::localFileToUri ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )<tt> [static]</tt>
+</h3>
+Returns the URI equivalent to the absolute local file <em>filename</em>.
+<p> <p>See also <a href="#uriToLocalFile">uriToLocalFile</a>().
+
+<h3 class=fn>void <a name="setFileNames"></a>QUriDrag::setFileNames ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;fnames )
+</h3>
+Sets the URIs to be the local-file URIs equivalent to <em>fnames</em>.
+<p> <p>See also <a href="#localFileToUri">localFileToUri</a>() and <a href="#setUris">setUris</a>().
+
+<p>Example: <a href="dirview-example.html#x1708">dirview/dirview.cpp</a>.
+<h3 class=fn>void <a name="setFilenames"></a>QUriDrag::setFilenames ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;fnames )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#setFileNames">setFileNames</a>() instead (notice the N).
+
+<h3 class=fn>void <a name="setUnicodeUris"></a>QUriDrag::setUnicodeUris ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;uuris )
+</h3>
+Sets the URIs in <em>uuris</em> to be the Unicode URIs (only useful for
+displaying to humans).
+<p> <p>See also <a href="#localFileToUri">localFileToUri</a>() and <a href="#setUris">setUris</a>().
+
+<h3 class=fn>void <a name="setUris"></a>QUriDrag::setUris ( <a href="qstrlist.html">QStrList</a>&nbsp;uris )<tt> [virtual]</tt>
+</h3>
+Changes the list of <em>uris</em> to be dragged.
+<p> Note that URIs are always in escaped UTF8 encoding.
+
+<h3 class=fn><a href="qcstring.html">QCString</a> <a name="unicodeUriToUri"></a>QUriDrag::unicodeUriToUri ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uuri )<tt> [static]</tt>
+</h3>
+Returns the URI equivalent of the Unicode URI given in <em>uuri</em>
+(only useful for displaying to humans).
+<p> <p>See also <a href="#uriToLocalFile">uriToLocalFile</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="uriToLocalFile"></a>QUriDrag::uriToLocalFile ( const&nbsp;char&nbsp;*&nbsp;uri )<tt> [static]</tt>
+</h3>
+Returns the name of a local file equivalent to <em>uri</em> or a null
+string if <em>uri</em> is not a local file.
+<p> Note that URIs are always in escaped UTF8 encoding.
+<p> <p>See also <a href="#localFileToUri">localFileToUri</a>().
+
+<p>Example: <a href="dirview-example.html#x1709">dirview/dirview.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="uriToUnicodeUri"></a>QUriDrag::uriToUnicodeUri ( const&nbsp;char&nbsp;*&nbsp;uri )<tt> [static]</tt>
+</h3>
+Returns the Unicode URI (only useful for displaying to humans)
+equivalent of <em>uri</em>.
+<p> Note that URIs are always in escaped UTF8 encoding.
+<p> <p>See also <a href="#localFileToUri">localFileToUri</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurl-h.html b/doc/html/qurl-h.html
new file mode 100644
index 0000000..f137616
--- /dev/null
+++ b/doc/html/qurl-h.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurl.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qurl.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qurl.h</h1>
+
+<p>This is the verbatim text of the qurl.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qurl.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QUrl class
+**
+** Created : 950429
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QURL_H
+#define QURL_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_URL
+
+class QUrlPrivate;
+
+class Q_EXPORT QUrl
+{
+public:
+ QUrl();
+ QUrl( const QString&amp; url );
+ QUrl( const QUrl&amp; url );
+ QUrl( const QUrl&amp; url, const QString&amp; relUrl, bool checkSlash = FALSE );
+ virtual ~QUrl();
+
+ QString protocol() const;
+ virtual void setProtocol( const QString&amp; protocol );
+
+ QString user() const;
+ virtual void setUser( const QString&amp; user );
+ bool hasUser() const;
+
+ QString password() const;
+ virtual void setPassword( const QString&amp; pass );
+ bool hasPassword() const;
+
+ QString host() const;
+ virtual void setHost( const QString&amp; user );
+ bool hasHost() const;
+
+ int port() const;
+ virtual void setPort( int port );
+ bool hasPort() const;
+
+ QString path( bool correct = TRUE ) const;
+ virtual void setPath( const QString&amp; path );
+ bool hasPath() const;
+
+ virtual void setEncodedPathAndQuery( const QString&amp; enc );
+ QString encodedPathAndQuery();
+
+ virtual void setQuery( const QString&amp; txt );
+ QString query() const;
+
+ QString ref() const;
+ virtual void setRef( const QString&amp; txt );
+ bool hasRef() const;
+
+ bool isValid() const;
+ bool isLocalFile() const;
+
+ virtual void addPath( const QString&amp; path );
+ virtual void setFileName( const QString&amp; txt );
+
+ QString fileName() const;
+ QString dirPath() const;
+
+ QUrl&amp; operator=( const QUrl&amp; url );
+ QUrl&amp; operator=( const QString&amp; url );
+
+ bool operator==( const QUrl&amp; url ) const;
+ bool operator==( const QString&amp; url ) const;
+
+ static void decode( QString&amp; url );
+ static void encode( QString&amp; url );
+
+ operator QString() const;
+ virtual QString toString( bool encodedPath = FALSE, bool forcePrependProtocol = TRUE ) const;
+
+ virtual bool cdUp();
+
+ static bool isRelativeUrl( const QString &amp;url );
+
+protected:
+ virtual void reset();
+ virtual bool parse( const QString&amp; url );
+
+private:
+ QUrlPrivate *d;
+
+};
+
+#endif //QT_NO_URL
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurl-members.html b/doc/html/qurl-members.html
new file mode 100644
index 0000000..0b579a4
--- /dev/null
+++ b/doc/html/qurl-members.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurl.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrl Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QUrl</h1>
+
+<p>This is the complete list of member functions for
+<a href="qurl.html">QUrl</a>, including inherited members.
+
+<ul>
+<li><a href="qurl.html#QUrl">QUrl</a>()
+<li><a href="qurl.html#~QUrl">~QUrl</a>()
+<li><a href="qurl.html#addPath">addPath</a>()
+<li><a href="qurl.html#cdUp">cdUp</a>()
+<li><a href="qurl.html#decode">decode</a>()
+<li><a href="qurl.html#dirPath">dirPath</a>()
+<li><a href="qurl.html#encode">encode</a>()
+<li><a href="qurl.html#encodedPathAndQuery">encodedPathAndQuery</a>()
+<li><a href="qurl.html#fileName">fileName</a>()
+<li><a href="qurl.html#hasHost">hasHost</a>()
+<li><a href="qurl.html#hasPassword">hasPassword</a>()
+<li><a href="qurl.html#hasPath">hasPath</a>()
+<li><a href="qurl.html#hasPort">hasPort</a>()
+<li><a href="qurl.html#hasRef">hasRef</a>()
+<li><a href="qurl.html#hasUser">hasUser</a>()
+<li><a href="qurl.html#host">host</a>()
+<li><a href="qurl.html#isLocalFile">isLocalFile</a>()
+<li><a href="qurl.html#isRelativeUrl">isRelativeUrl</a>()
+<li><a href="qurl.html#isValid">isValid</a>()
+<li><a href="qurl.html#operator-QString">operator QString</a>()
+<li><a href="qurl.html#operator-eq">operator=</a>()
+<li><a href="qurl.html#operator-eq-eq">operator==</a>()
+<li><a href="qurl.html#parse">parse</a>()
+<li><a href="qurl.html#password">password</a>()
+<li><a href="qurl.html#path">path</a>()
+<li><a href="qurl.html#port">port</a>()
+<li><a href="qurl.html#protocol">protocol</a>()
+<li><a href="qurl.html#query">query</a>()
+<li><a href="qurl.html#ref">ref</a>()
+<li><a href="qurl.html#reset">reset</a>()
+<li><a href="qurl.html#setEncodedPathAndQuery">setEncodedPathAndQuery</a>()
+<li><a href="qurl.html#setFileName">setFileName</a>()
+<li><a href="qurl.html#setHost">setHost</a>()
+<li><a href="qurl.html#setPassword">setPassword</a>()
+<li><a href="qurl.html#setPath">setPath</a>()
+<li><a href="qurl.html#setPort">setPort</a>()
+<li><a href="qurl.html#setProtocol">setProtocol</a>()
+<li><a href="qurl.html#setQuery">setQuery</a>()
+<li><a href="qurl.html#setRef">setRef</a>()
+<li><a href="qurl.html#setUser">setUser</a>()
+<li><a href="qurl.html#toString">toString</a>()
+<li><a href="qurl.html#user">user</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurl.html b/doc/html/qurl.html
new file mode 100644
index 0000000..cb97e7a
--- /dev/null
+++ b/doc/html/qurl.html
@@ -0,0 +1,478 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qurl.cpp:91 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrl Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QUrl Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QUrl class provides a URL parser and simplifies working with URLs.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qurl-h.html">qurl.h</a>&gt;</tt>
+<p>Inherited by <a href="qurloperator.html">QUrlOperator</a>.
+<p><a href="qurl-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QUrl"><b>QUrl</b></a> ()</li>
+<li class=fn><a href="#QUrl-2"><b>QUrl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url )</li>
+<li class=fn><a href="#QUrl-3"><b>QUrl</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url )</li>
+<li class=fn><a href="#QUrl-4"><b>QUrl</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url, const&nbsp;QString&nbsp;&amp;&nbsp;relUrl, bool&nbsp;checkSlash = FALSE )</li>
+<li class=fn>virtual <a href="#~QUrl"><b>~QUrl</b></a> ()</li>
+<li class=fn>QString <a href="#protocol"><b>protocol</b></a> () const</li>
+<li class=fn>virtual void <a href="#setProtocol"><b>setProtocol</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;protocol )</li>
+<li class=fn>QString <a href="#user"><b>user</b></a> () const</li>
+<li class=fn>virtual void <a href="#setUser"><b>setUser</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;user )</li>
+<li class=fn>bool <a href="#hasUser"><b>hasUser</b></a> () const</li>
+<li class=fn>QString <a href="#password"><b>password</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPassword"><b>setPassword</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pass )</li>
+<li class=fn>bool <a href="#hasPassword"><b>hasPassword</b></a> () const</li>
+<li class=fn>QString <a href="#host"><b>host</b></a> () const</li>
+<li class=fn>virtual void <a href="#setHost"><b>setHost</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;host )</li>
+<li class=fn>bool <a href="#hasHost"><b>hasHost</b></a> () const</li>
+<li class=fn>int <a href="#port"><b>port</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPort"><b>setPort</b></a> ( int&nbsp;port )</li>
+<li class=fn>bool <a href="#hasPort"><b>hasPort</b></a> () const</li>
+<li class=fn>QString <a href="#path"><b>path</b></a> ( bool&nbsp;correct = TRUE ) const</li>
+<li class=fn>virtual void <a href="#setPath"><b>setPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;path )</li>
+<li class=fn>bool <a href="#hasPath"><b>hasPath</b></a> () const</li>
+<li class=fn>virtual void <a href="#setEncodedPathAndQuery"><b>setEncodedPathAndQuery</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pathAndQuery )</li>
+<li class=fn>QString <a href="#encodedPathAndQuery"><b>encodedPathAndQuery</b></a> ()</li>
+<li class=fn>virtual void <a href="#setQuery"><b>setQuery</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;txt )</li>
+<li class=fn>QString <a href="#query"><b>query</b></a> () const</li>
+<li class=fn>QString <a href="#ref"><b>ref</b></a> () const</li>
+<li class=fn>virtual void <a href="#setRef"><b>setRef</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;txt )</li>
+<li class=fn>bool <a href="#hasRef"><b>hasRef</b></a> () const</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isLocalFile"><b>isLocalFile</b></a> () const</li>
+<li class=fn>virtual void <a href="#addPath"><b>addPath</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pa )</li>
+<li class=fn>virtual void <a href="#setFileName"><b>setFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>QString <a href="#fileName"><b>fileName</b></a> () const</li>
+<li class=fn>QString <a href="#dirPath"><b>dirPath</b></a> () const</li>
+<li class=fn>QUrl &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url )</li>
+<li class=fn>QUrl &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url ) const</li>
+<li class=fn><a href="#operator-QString"><b>operator QString</b></a> () const</li>
+<li class=fn>virtual QString <a href="#toString"><b>toString</b></a> ( bool&nbsp;encodedPath = FALSE, bool&nbsp;forcePrependProtocol = TRUE ) const</li>
+<li class=fn>virtual bool <a href="#cdUp"><b>cdUp</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#decode"><b>decode</b></a> ( QString&nbsp;&amp;&nbsp;url )</li>
+<li class=fn>void <a href="#encode"><b>encode</b></a> ( QString&nbsp;&amp;&nbsp;url )</li>
+<li class=fn>bool <a href="#isRelativeUrl"><b>isRelativeUrl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>virtual bool <a href="#parse"><b>parse</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QUrl class provides a URL parser and simplifies working with URLs.
+
+<p>
+
+
+<p>
+<p> The QUrl class is provided for simple work with URLs. It can
+parse, decode, encode, etc.
+<p> QUrl works with the decoded path and encoded query in turn.
+<p> Example:
+<p> <tt>http://www.trolltech.com:80/cgi-bin/test%20me.pl?cmd=Hello%20you</tt>
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Returns
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#protocol">protocol</a>() <td valign="top">"http"
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#host">host</a>() <td valign="top">"www.trolltech.com"
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#port">port</a>() <td valign="top">80
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#path">path</a>() <td valign="top">"/cgi-bin/test&nbsp;me.pl"
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#fileName">fileName</a>() <td valign="top">"test&nbsp;me.pl"
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#query">query</a>() <td valign="top">"cmd=Hello%20you"
+</table></center>
+<p> Example:
+<p> <tt>http://doc.trolltech.com/qdockarea.html#lines</tt>
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Function <th valign="top">Returns
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#protocol">protocol</a>() <td valign="top">"http"
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#host">host</a>() <td valign="top">"doc.trolltech.com"
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="#fileName">fileName</a>() <td valign="top">"qdockarea.html"
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="#ref">ref</a>() <td valign="top">"lines"
+</table></center>
+<p> The individual parts of a URL can be set with <a href="#setProtocol">setProtocol</a>(),
+<a href="#setHost">setHost</a>(), <a href="#setPort">setPort</a>(), <a href="#setPath">setPath</a>(), <a href="#setFileName">setFileName</a>(), <a href="#setRef">setRef</a>() and
+<a href="#setQuery">setQuery</a>(). A URL could contain, for example, an ftp address which
+requires a user name and password; these can be set with <a href="#setUser">setUser</a>()
+and <a href="#setPassword">setPassword</a>().
+<p> Because path is always encoded internally you must not use "%00"
+in the path, although this is okay (but not recommended) for the
+query.
+<p> QUrl is normally used like this:
+<p> <pre>
+ QUrl url( "http://www.trolltech.com" );
+ // or
+ QUrl url( "file:/home/myself/Mail", "Inbox" );
+ </pre>
+
+<p> You can then access and manipulate the various parts of the URL.
+<p> To make it easy to work with QUrls and QStrings, QUrl implements
+the necessary cast and assignment operators so you can do
+following:
+<p> <pre>
+ QUrl url( "http://www.trolltech.com" );
+ <a href="qstring.html">QString</a> s = url;
+ // or
+ <a href="qstring.html">QString</a> s( "http://www.trolltech.com" );
+ QUrl url( s );
+ </pre>
+
+<p> Use the static functions, <a href="#encode">encode</a>() and <a href="#decode">decode</a>() to encode or
+decode a URL in a string. (They operate on the string in-place.)
+The <a href="#isRelativeUrl">isRelativeUrl</a>() static function returns TRUE if the given
+string is a relative URL.
+<p> If you want to use a URL to work on a hierarchical structure (e.g.
+a local or remote filesystem), you might want to use the subclass
+<a href="qurloperator.html">QUrlOperator</a>.
+<p> <p>See also <a href="qurloperator.html">QUrlOperator</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QUrl"></a>QUrl::QUrl ()
+</h3>
+Constructs an empty URL that is invalid.
+
+<h3 class=fn><a name="QUrl-2"></a>QUrl::QUrl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )
+</h3>
+Constructs a URL by parsing the string <em>url</em>.
+<p> If you pass a string like "/home/qt", the "file" protocol is
+assumed.
+
+<h3 class=fn><a name="QUrl-3"></a>QUrl::QUrl ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url )
+</h3>
+Copy constructor. Copies the data of <em>url</em>.
+
+<h3 class=fn><a name="QUrl-4"></a>QUrl::QUrl ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;relUrl, bool&nbsp;checkSlash = FALSE )
+</h3>
+Constructs an URL taking <em>url</em> as the base (context) and
+<em>relUrl</em> as a relative URL to <em>url</em>. If <em>relUrl</em> is not relative,
+<em>relUrl</em> is taken as the new URL.
+<p> For example, the path of
+<pre>
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "qt-2.1.0.tar.gz" );
+ </pre>
+
+will be "/qt/srource/qt-2.1.0.tar.gz".
+<p> On the other hand,
+<pre>
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "/usr/local" );
+ </pre>
+
+will result in a new URL, "ftp://ftp.trolltech.com/usr/local",
+because "/usr/local" isn't relative.
+<p> Similarly,
+<pre>
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "file:/usr/local" );
+ </pre>
+
+will result in a new URL, with "/usr/local" as the path
+and "file" as the protocol.
+<p> Normally it is expected that the path of <em>url</em> points to a
+directory, even if the path has no slash at the end. But if you
+want the constructor to handle the last part of the path as a file
+name if there is no slash at the end, and to let it be replaced by
+the file name of <em>relUrl</em> (if it contains one), set <em>checkSlash</em>
+to TRUE.
+
+<h3 class=fn><a name="~QUrl"></a>QUrl::~QUrl ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="addPath"></a>QUrl::addPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pa )<tt> [virtual]</tt>
+</h3>
+Adds the path <em>pa</em> to the path of the URL.
+<p> <p>See also <a href="#setPath">setPath</a>() and <a href="#hasPath">hasPath</a>().
+
+<h3 class=fn>bool <a name="cdUp"></a>QUrl::cdUp ()<tt> [virtual]</tt>
+</h3>
+Changes the directory to one directory up.
+<p> <p>See also <a href="#setPath">setPath</a>().
+
+<h3 class=fn>void <a name="decode"></a>QUrl::decode ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )<tt> [static]</tt>
+</h3>
+Decodes the <em>url</em> in-place into UTF-8. For example
+<p> <pre>
+ <a href="qstring.html">QString</a> url = "http%3A//www%20trolltech%20com"
+ QUrl::<a href="#decode">decode</a>( url );
+ // url is now "http://www.trolltech.com"
+ </pre>
+
+<p> <p>See also <a href="#encode">encode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="dirPath"></a>QUrl::dirPath () const
+</h3>
+Returns the directory path of the URL. This is the part of the
+path of the URL without the <a href="#fileName">fileName</a>(). See the documentation of
+fileName() for a discussion of what is handled as file name and
+what is handled as directory path.
+<p> <p>See also <a href="#setPath">setPath</a>() and <a href="#hasPath">hasPath</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x695">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="encode"></a>QUrl::encode ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )<tt> [static]</tt>
+</h3>
+Encodes the <em>url</em> in-place into UTF-8. For example
+<p> <pre>
+ <a href="qstring.html">QString</a> url = http://www.trolltech.com
+ QUrl::<a href="#encode">encode</a>( url );
+ // url is now "http%3A//www%20trolltech%20com"
+ </pre>
+
+<p> <p>See also <a href="#decode">decode</a>().
+
+<p>Example: <a href="archivesearch-example.html#x484">network/archivesearch/archivedialog.ui.h</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="encodedPathAndQuery"></a>QUrl::encodedPathAndQuery ()
+</h3>
+Returns the encoded path and query.
+<p> <p>See also <a href="#decode">decode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fileName"></a>QUrl::fileName () const
+</h3>
+Returns the file name of the URL. If the path of the URL doesn't
+have a slash at the end, the part between the last slash and the
+end of the path string is considered to be the file name. If the
+path has a slash at the end, an empty string is returned here.
+<p> <p>See also <a href="#setFileName">setFileName</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x696">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>bool <a name="hasHost"></a>QUrl::hasHost () const
+</h3>
+Returns TRUE if the URL contains a hostname; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setHost">setHost</a>().
+
+<h3 class=fn>bool <a name="hasPassword"></a>QUrl::hasPassword () const
+</h3>
+Returns TRUE if the URL contains a password; otherwise returns
+FALSE.
+<p> <b>Warning:</b> Passwords passed in URLs are normally <em>insecure</em>; this
+is due to the mechanism, not because of Qt.
+<p> <p>See also <a href="#setPassword">setPassword</a>() and <a href="#setUser">setUser</a>().
+
+<h3 class=fn>bool <a name="hasPath"></a>QUrl::hasPath () const
+</h3>
+Returns TRUE if the URL contains a path; otherwise returns FALSE.
+<p> <p>See also <a href="#path">path</a>() and <a href="#setPath">setPath</a>().
+
+<h3 class=fn>bool <a name="hasPort"></a>QUrl::hasPort () const
+</h3>
+Returns TRUE if the URL contains a port; otherwise returns FALSE.
+<p> <p>See also <a href="#setPort">setPort</a>().
+
+<h3 class=fn>bool <a name="hasRef"></a>QUrl::hasRef () const
+</h3>
+Returns TRUE if the URL has a reference; otherwise returns FALSE.
+<p> <p>See also <a href="#setRef">setRef</a>().
+
+<h3 class=fn>bool <a name="hasUser"></a>QUrl::hasUser () const
+</h3>
+Returns TRUE if the URL contains a username; otherwise returns
+FALSE.
+<p> <p>See also <a href="#setUser">setUser</a>() and <a href="#setPassword">setPassword</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="host"></a>QUrl::host () const
+</h3>
+Returns the hostname of the URL.
+<p> <p>See also <a href="#setHost">setHost</a>() and <a href="#hasHost">hasHost</a>().
+
+<p>Example: <a href="archivesearch-example.html#x485">network/archivesearch/archivedialog.ui.h</a>.
+<h3 class=fn>bool <a name="isLocalFile"></a>QUrl::isLocalFile () const
+</h3>
+Returns TRUE if the URL is a local file; otherwise returns FALSE.
+
+<p>Example: <a href="qdir-example.html#x1849">qdir/qdir.cpp</a>.
+<h3 class=fn>bool <a name="isRelativeUrl"></a>QUrl::isRelativeUrl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>url</em> is relative; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isValid"></a>QUrl::isValid () const
+</h3>
+Returns TRUE if the URL is valid; otherwise returns FALSE. A URL
+is invalid if it cannot be parsed, for example.
+
+<h3 class=fn><a name="operator-QString"></a>QUrl::operator QString () const
+</h3>
+Composes a string version of the URL and returns it.
+<p> <p>See also <a href="#toString">QUrl::toString</a>().
+
+<h3 class=fn><a href="qurl.html">QUrl</a>&nbsp;&amp; <a name="operator-eq"></a>QUrl::operator= ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url )
+</h3>
+Assigns the data of <em>url</em> to this class.
+
+<h3 class=fn><a href="qurl.html">QUrl</a>&nbsp;&amp; <a name="operator-eq-2"></a>QUrl::operator= ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Parses <em>url</em> and assigns the resulting data to this class.
+<p> If you pass a string like "/home/qt" the "file" protocol will be
+assumed.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QUrl::operator== ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url ) const
+</h3>
+Compares this URL with <em>url</em> and returns TRUE if they are equal;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>QUrl::operator== ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Compares this URL with <em>url</em>. <em>url</em> is parsed first. Returns
+TRUE if <em>url</em> is equal to this url; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="parse"></a>QUrl::parse ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )<tt> [virtual protected]</tt>
+</h3>
+Parses the <em>url</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="password"></a>QUrl::password () const
+</h3>
+Returns the password of the URL.
+<p> <b>Warning:</b> Passwords passed in URLs are normally <em>insecure</em>; this
+is due to the mechanism, not because of Qt.
+<p> <p>See also <a href="#setPassword">setPassword</a>() and <a href="#setUser">setUser</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="path"></a>QUrl::path ( bool&nbsp;correct = TRUE ) const
+</h3>
+Returns the path of the URL. If <em>correct</em> is TRUE, the path is
+cleaned (deals with too many or too few slashes, cleans things
+like "/../..", etc). Otherwise <a href="#path">path</a>() returns exactly the path
+that was parsed or set.
+<p> <p>See also <a href="#setPath">setPath</a>() and <a href="#hasPath">hasPath</a>().
+
+<p>Example: <a href="qdir-example.html#x1850">qdir/qdir.cpp</a>.
+<h3 class=fn>int <a name="port"></a>QUrl::port () const
+</h3>
+Returns the port of the URL or -1 if no port has been set.
+<p> <p>See also <a href="#setPort">setPort</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="protocol"></a>QUrl::protocol () const
+</h3>
+Returns the protocol of the URL. Typically, "file", "http", "ftp",
+etc.
+<p> <p>See also <a href="#setProtocol">setProtocol</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="query"></a>QUrl::query () const
+</h3>
+Returns the (encoded) query of the URL.
+<p> <p>See also <a href="#setQuery">setQuery</a>() and <a href="#decode">decode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="ref"></a>QUrl::ref () const
+</h3>
+Returns the (encoded) reference of the URL.
+<p> <p>See also <a href="#setRef">setRef</a>(), <a href="#hasRef">hasRef</a>(), and <a href="#decode">decode</a>().
+
+<h3 class=fn>void <a name="reset"></a>QUrl::reset ()<tt> [virtual protected]</tt>
+</h3>
+Resets all parts of the URL to their default values and
+invalidates it.
+
+<h3 class=fn>void <a name="setEncodedPathAndQuery"></a>QUrl::setEncodedPathAndQuery ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pathAndQuery )<tt> [virtual]</tt>
+</h3>
+Parses <em>pathAndQuery</em> for a path and query and sets those values.
+The whole string must be encoded.
+<p> <p>See also <a href="#encode">encode</a>().
+
+<h3 class=fn>void <a name="setFileName"></a>QUrl::setFileName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the file name of the URL to <em>name</em>. If this URL contains a
+<a href="#fileName">fileName</a>(), the original file name is replaced by <em>name</em>.
+<p> See the documentation of fileName() for a more detailed discussion
+of what is handled as file name and what is handled as a directory
+path.
+<p> <p>See also <a href="#fileName">fileName</a>().
+
+<h3 class=fn>void <a name="setHost"></a>QUrl::setHost ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;host )<tt> [virtual]</tt>
+</h3>
+Sets the hostname of the URL to <em>host</em>.
+<p> <p>See also <a href="#host">host</a>() and <a href="#hasHost">hasHost</a>().
+
+<h3 class=fn>void <a name="setPassword"></a>QUrl::setPassword ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pass )<tt> [virtual]</tt>
+</h3>
+Sets the password of the URL to <em>pass</em>.
+<p> <b>Warning:</b> Passwords passed in URLs are normally <em>insecure</em>; this
+is due to the mechanism, not because of Qt.
+<p> <p>See also <a href="#password">password</a>() and <a href="#setUser">setUser</a>().
+
+<h3 class=fn>void <a name="setPath"></a>QUrl::setPath ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;path )<tt> [virtual]</tt>
+</h3>
+Sets the path of the URL to <em>path</em>.
+<p> <p>See also <a href="#path">path</a>() and <a href="#hasPath">hasPath</a>().
+
+<h3 class=fn>void <a name="setPort"></a>QUrl::setPort ( int&nbsp;port )<tt> [virtual]</tt>
+</h3>
+Sets the port of the URL to <em>port</em>.
+<p> <p>See also <a href="#port">port</a>().
+
+<h3 class=fn>void <a name="setProtocol"></a>QUrl::setProtocol ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;protocol )<tt> [virtual]</tt>
+</h3>
+Sets the protocol of the URL to <em>protocol</em>. Typically, "file",
+"http", "ftp", etc.
+<p> <p>See also <a href="#protocol">protocol</a>().
+
+<h3 class=fn>void <a name="setQuery"></a>QUrl::setQuery ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt )<tt> [virtual]</tt>
+</h3>
+Sets the query of the URL to <em>txt</em>. <em>txt</em> must be encoded.
+<p> <p>See also <a href="#query">query</a>() and <a href="#encode">encode</a>().
+
+<h3 class=fn>void <a name="setRef"></a>QUrl::setRef ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt )<tt> [virtual]</tt>
+</h3>
+Sets the reference of the URL to <em>txt</em>. <em>txt</em> must be encoded.
+<p> <p>See also <a href="#ref">ref</a>(), <a href="#hasRef">hasRef</a>(), and <a href="#encode">encode</a>().
+
+<h3 class=fn>void <a name="setUser"></a>QUrl::setUser ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;user )<tt> [virtual]</tt>
+</h3>
+Sets the username of the URL to <em>user</em>.
+<p> <p>See also <a href="#user">user</a>() and <a href="#setPassword">setPassword</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QUrl::toString ( bool&nbsp;encodedPath = FALSE, bool&nbsp;forcePrependProtocol = TRUE ) const<tt> [virtual]</tt>
+</h3>
+Composes a string version of the URL and returns it. If <em>encodedPath</em> is TRUE the path in the returned string is encoded. If
+<em>forcePrependProtocol</em> is TRUE and <em>encodedPath</em> looks like a
+local filename, the "file:/" protocol is also prepended.
+<p> <p>See also <a href="#encode">encode</a>() and <a href="#decode">decode</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="user"></a>QUrl::user () const
+</h3>
+Returns the username of the URL.
+<p> <p>See also <a href="#setUser">setUser</a>() and <a href="#setPassword">setPassword</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurlinfo-h.html b/doc/html/qurlinfo-h.html
new file mode 100644
index 0000000..84d47dd
--- /dev/null
+++ b/doc/html/qurlinfo-h.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurlinfo.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qurlinfo.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qurlinfo.h</h1>
+
+<p>This is the verbatim text of the qurlinfo.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qurlinfo.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QUrlInfo class
+**
+** Created : 950429
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QURLINFO_H
+#define QURLINFO_H
+
+#ifndef QT_H
+#include "qdatetime.h"
+#include "qstring.h"
+#if defined(QT_ABI_QT4)
+#include "qiodevice.h"
+#endif
+#endif // QT_H
+
+class QUrlOperator;
+class QUrl;
+class QUrlInfoPrivate;
+
+class Q_EXPORT QUrlInfo
+{
+public:
+ enum PermissionSpec {
+ ReadOwner = 00400, WriteOwner = 00200, ExeOwner = 00100,
+ ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010,
+ ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 };
+
+ QUrlInfo();
+ QUrlInfo( const QUrlOperator &amp;path, const QString &amp;file );
+ QUrlInfo( const QUrlInfo &amp;ui );
+#if (QT_VERSION-0 &gt;= 0x040000)
+#error "QUrlInfo::QUrlInfo() should accept QIODevice::Offset instead of uint"
+#elif defined(QT_ABI_QT4)
+ QUrlInfo( const QString &amp;name, int permissions, const QString &amp;owner,
+ const QString &amp;group, QIODevice::Offset size, const QDateTime &amp;lastModified,
+ const QDateTime &amp;lastRead, bool isDir, bool isFile, bool isSymLink,
+ bool isWritable, bool isReadable, bool isExecutable );
+ QUrlInfo( const QUrl &amp;url, int permissions, const QString &amp;owner,
+ const QString &amp;group, QIODevice::Offset size, const QDateTime &amp;lastModified,
+ const QDateTime &amp;lastRead, bool isDir, bool isFile, bool isSymLink,
+ bool isWritable, bool isReadable, bool isExecutable );
+#else
+ QUrlInfo( const QString &amp;name, int permissions, const QString &amp;owner,
+ const QString &amp;group, uint size, const QDateTime &amp;lastModified,
+ const QDateTime &amp;lastRead, bool isDir, bool isFile, bool isSymLink,
+ bool isWritable, bool isReadable, bool isExecutable );
+ QUrlInfo( const QUrl &amp;url, int permissions, const QString &amp;owner,
+ const QString &amp;group, uint size, const QDateTime &amp;lastModified,
+ const QDateTime &amp;lastRead, bool isDir, bool isFile, bool isSymLink,
+ bool isWritable, bool isReadable, bool isExecutable );
+#endif
+ QUrlInfo &amp;operator=( const QUrlInfo &amp;ui );
+ virtual ~QUrlInfo();
+
+ virtual void setName( const QString &amp;name );
+ virtual void setDir( bool b );
+ virtual void setFile( bool b );
+ virtual void setSymLink( bool b );
+ virtual void setOwner( const QString &amp;s );
+ virtual void setGroup( const QString &amp;s );
+#if (QT_VERSION-0 &gt;= 0x040000)
+#error "QUrlInfo::setSize() should accept QIODevice::Offset instead of uint"
+#elif defined(QT_ABI_QT4)
+ virtual void setSize( QIODevice::Offset size );
+#else
+ virtual void setSize( uint size );
+#endif
+ virtual void setWritable( bool b );
+ virtual void setReadable( bool b );
+ virtual void setPermissions( int p );
+ virtual void setLastModified( const QDateTime &amp;dt );
+
+ bool isValid() const;
+
+ QString name() const;
+ int permissions() const;
+ QString owner() const;
+ QString group() const;
+#if (QT_VERSION-0 &gt;= 0x040000)
+#error "QUrlInfo::size() should return QIODevice::Offset instead of uint"
+#elif defined(QT_ABI_QT4)
+ QIODevice::Offset size() const;
+#else
+ uint size() const;
+#endif
+ QDateTime lastModified() const;
+ QDateTime lastRead() const;
+ bool isDir() const;
+ bool isFile() const;
+ bool isSymLink() const;
+ bool isWritable() const;
+ bool isReadable() const;
+ bool isExecutable() const;
+
+ static bool greaterThan( const QUrlInfo &amp;i1, const QUrlInfo &amp;i2,
+ int sortBy );
+ static bool lessThan( const QUrlInfo &amp;i1, const QUrlInfo &amp;i2,
+ int sortBy );
+ static bool equal( const QUrlInfo &amp;i1, const QUrlInfo &amp;i2,
+ int sortBy );
+
+ bool operator==( const QUrlInfo &amp;i ) const;
+private:
+ QUrlInfoPrivate *d;
+
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurlinfo-members.html b/doc/html/qurlinfo-members.html
new file mode 100644
index 0000000..1d1ce1b
--- /dev/null
+++ b/doc/html/qurlinfo-members.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurlinfo.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrlInfo Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QUrlInfo</h1>
+
+<p>This is the complete list of member functions for
+<a href="qurlinfo.html">QUrlInfo</a>, including inherited members.
+
+<ul>
+<li><a href="qurlinfo.html#QUrlInfo">QUrlInfo</a>()
+<li><a href="qurlinfo.html#~QUrlInfo">~QUrlInfo</a>()
+<li><a href="qurlinfo.html#equal">equal</a>()
+<li><a href="qurlinfo.html#greaterThan">greaterThan</a>()
+<li><a href="qurlinfo.html#group">group</a>()
+<li><a href="qurlinfo.html#isDir">isDir</a>()
+<li><a href="qurlinfo.html#isExecutable">isExecutable</a>()
+<li><a href="qurlinfo.html#isFile">isFile</a>()
+<li><a href="qurlinfo.html#isReadable">isReadable</a>()
+<li><a href="qurlinfo.html#isSymLink">isSymLink</a>()
+<li><a href="qurlinfo.html#isValid">isValid</a>()
+<li><a href="qurlinfo.html#isWritable">isWritable</a>()
+<li><a href="qurlinfo.html#lastModified">lastModified</a>()
+<li><a href="qurlinfo.html#lastRead">lastRead</a>()
+<li><a href="qurlinfo.html#lessThan">lessThan</a>()
+<li><a href="qurlinfo.html#name">name</a>()
+<li><a href="qurlinfo.html#operator-eq">operator=</a>()
+<li><a href="qurlinfo.html#operator-eq-eq">operator==</a>()
+<li><a href="qurlinfo.html#owner">owner</a>()
+<li><a href="qurlinfo.html#permissions">permissions</a>()
+<li><a href="qurlinfo.html#setDir">setDir</a>()
+<li><a href="qurlinfo.html#setFile">setFile</a>()
+<li><a href="qurlinfo.html#setGroup">setGroup</a>()
+<li><a href="qurlinfo.html#setLastModified">setLastModified</a>()
+<li><a href="qurlinfo.html#setName">setName</a>()
+<li><a href="qurlinfo.html#setOwner">setOwner</a>()
+<li><a href="qurlinfo.html#setPermissions">setPermissions</a>()
+<li><a href="qurlinfo.html#setReadable">setReadable</a>()
+<li><a href="qurlinfo.html#setSize">setSize</a>()
+<li><a href="qurlinfo.html#setSymLink">setSymLink</a>()
+<li><a href="qurlinfo.html#setWritable">setWritable</a>()
+<li><a href="qurlinfo.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurlinfo.html b/doc/html/qurlinfo.html
new file mode 100644
index 0000000..e707461
--- /dev/null
+++ b/doc/html/qurlinfo.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qurlinfo.cpp:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrlInfo Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QUrlInfo Class Reference</h1>
+
+<p>The QUrlInfo class stores information about URLs.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qurlinfo-h.html">qurlinfo.h</a>&gt;</tt>
+<p><a href="qurlinfo-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#PermissionSpec-enum"><b>PermissionSpec</b></a> { ReadOwner = 00400, WriteOwner = 00200, ExeOwner = 00100, ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }</li>
+<li class=fn><a href="#QUrlInfo"><b>QUrlInfo</b></a> ()</li>
+<li class=fn><a href="#QUrlInfo-2"><b>QUrlInfo</b></a> ( const&nbsp;QUrlOperator&nbsp;&amp;&nbsp;path, const&nbsp;QString&nbsp;&amp;&nbsp;file )</li>
+<li class=fn><a href="#QUrlInfo-3"><b>QUrlInfo</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;ui )</li>
+<li class=fn><a href="#QUrlInfo-4"><b>QUrlInfo</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, int&nbsp;permissions, const&nbsp;QString&nbsp;&amp;&nbsp;owner, const&nbsp;QString&nbsp;&amp;&nbsp;group, uint&nbsp;size, const&nbsp;QDateTime&nbsp;&amp;&nbsp;lastModified, const&nbsp;QDateTime&nbsp;&amp;&nbsp;lastRead, bool&nbsp;isDir, bool&nbsp;isFile, bool&nbsp;isSymLink, bool&nbsp;isWritable, bool&nbsp;isReadable, bool&nbsp;isExecutable )</li>
+<li class=fn><a href="#QUrlInfo-5"><b>QUrlInfo</b></a> ( const&nbsp;QUrl&nbsp;&amp;&nbsp;url, int&nbsp;permissions, const&nbsp;QString&nbsp;&amp;&nbsp;owner, const&nbsp;QString&nbsp;&amp;&nbsp;group, uint&nbsp;size, const&nbsp;QDateTime&nbsp;&amp;&nbsp;lastModified, const&nbsp;QDateTime&nbsp;&amp;&nbsp;lastRead, bool&nbsp;isDir, bool&nbsp;isFile, bool&nbsp;isSymLink, bool&nbsp;isWritable, bool&nbsp;isReadable, bool&nbsp;isExecutable )</li>
+<li class=fn>QUrlInfo &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;ui )</li>
+<li class=fn>virtual <a href="#~QUrlInfo"><b>~QUrlInfo</b></a> ()</li>
+<li class=fn>virtual void <a href="#setName"><b>setName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name )</li>
+<li class=fn>virtual void <a href="#setDir"><b>setDir</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setFile"><b>setFile</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setSymLink"><b>setSymLink</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setOwner"><b>setOwner</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>virtual void <a href="#setGroup"><b>setGroup</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>virtual void <a href="#setSize"><b>setSize</b></a> ( uint&nbsp;size )</li>
+<li class=fn>virtual void <a href="#setWritable"><b>setWritable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setReadable"><b>setReadable</b></a> ( bool&nbsp;b )</li>
+<li class=fn>virtual void <a href="#setPermissions"><b>setPermissions</b></a> ( int&nbsp;p )</li>
+<li class=fn>virtual void <a href="#setLastModified"><b>setLastModified</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;dt )</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>QString <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>int <a href="#permissions"><b>permissions</b></a> () const</li>
+<li class=fn>QString <a href="#owner"><b>owner</b></a> () const</li>
+<li class=fn>QString <a href="#group"><b>group</b></a> () const</li>
+<li class=fn>uint <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>QDateTime <a href="#lastModified"><b>lastModified</b></a> () const</li>
+<li class=fn>QDateTime <a href="#lastRead"><b>lastRead</b></a> () const</li>
+<li class=fn>bool <a href="#isDir"><b>isDir</b></a> () const</li>
+<li class=fn>bool <a href="#isFile"><b>isFile</b></a> () const</li>
+<li class=fn>bool <a href="#isSymLink"><b>isSymLink</b></a> () const</li>
+<li class=fn>bool <a href="#isWritable"><b>isWritable</b></a> () const</li>
+<li class=fn>bool <a href="#isReadable"><b>isReadable</b></a> () const</li>
+<li class=fn>bool <a href="#isExecutable"><b>isExecutable</b></a> () const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>bool <a href="#greaterThan"><b>greaterThan</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i1, const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )</li>
+<li class=fn>bool <a href="#lessThan"><b>lessThan</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i1, const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )</li>
+<li class=fn>bool <a href="#equal"><b>equal</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i1, const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QUrlInfo class stores information about URLs.
+<p>
+
+<p> This class is just a container for storing information about URLs,
+which is why all information must be passed in the constructor.
+<p> Unless you're reimplementing a network protocol you're unlikely to
+create QUrlInfo objects yourself, but you may receive QUrlInfo
+objects from functions, e.g. <a href="qurloperator.html#info">QUrlOperator::info</a>().
+<p> The information that can be retrieved includes <a href="#name">name</a>(),
+<a href="#permissions">permissions</a>(), <a href="#owner">owner</a>(), <a href="#group">group</a>(), <a href="#size">size</a>(), <a href="#lastModified">lastModified</a>(),
+<a href="#lastRead">lastRead</a>(), <a href="#isDir">isDir</a>(), <a href="#isFile">isFile</a>(), <a href="#isSymLink">isSymLink</a>(), <a href="#isWritable">isWritable</a>(),
+<a href="#isReadable">isReadable</a>() and <a href="#isExecutable">isExecutable</a>().
+<p>See also <a href="io.html">Input/Output and Networking</a> and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="PermissionSpec-enum"></a>QUrlInfo::PermissionSpec</h3>
+
+<p> This enum is used by the <a href="#permissions">permissions</a>() function to report the
+permissions of a file.
+<ul>
+<li><tt>QUrlInfo::ReadOwner</tt> - The file is readable by the owner of the file.
+<li><tt>QUrlInfo::WriteOwner</tt> - The file is writable by the owner of the file.
+<li><tt>QUrlInfo::ExeOwner</tt> - The file is executable by the owner of the file.
+<li><tt>QUrlInfo::ReadGroup</tt> - The file is readable by the group.
+<li><tt>QUrlInfo::WriteGroup</tt> - The file is writable by the group.
+<li><tt>QUrlInfo::ExeGroup</tt> - The file is executable by the group.
+<li><tt>QUrlInfo::ReadOther</tt> - The file is readable by anyone.
+<li><tt>QUrlInfo::WriteOther</tt> - The file is writable by anyone.
+<li><tt>QUrlInfo::ExeOther</tt> - The file is executable by anyone.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QUrlInfo"></a>QUrlInfo::QUrlInfo ()
+</h3>
+Constructs an invalid QUrlInfo object with default values.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a name="QUrlInfo-2"></a>QUrlInfo::QUrlInfo ( const&nbsp;<a href="qurloperator.html">QUrlOperator</a>&nbsp;&amp;&nbsp;path, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;file )
+</h3>
+Constructs a QUrlInfo object with information about the file <em>file</em> in the <em>path</em>. It tries to find the information about the <em>file</em> in the <a href="qurloperator.html">QUrlOperator</a> <em>path</em>.
+<p> If the information is not found, this constructor creates an
+invalid QUrlInfo, i.e. <a href="#isValid">isValid</a>() returns FALSE. You should always
+check if the URL info is valid before relying on the return values
+of any getter functions.
+<p> If <em>file</em> is empty, it defaults to the QUrlOperator <em>path</em>, i.e.
+to the directory.
+<p> <p>See also <a href="#isValid">isValid</a>() and <a href="qurloperator.html#info">QUrlOperator::info</a>().
+
+<h3 class=fn><a name="QUrlInfo-3"></a>QUrlInfo::QUrlInfo ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;ui )
+</h3>
+Copy constructor, copies <em>ui</em> to this URL info object.
+
+<h3 class=fn><a name="QUrlInfo-4"></a>QUrlInfo::QUrlInfo ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, int&nbsp;permissions, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;owner, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;group, uint&nbsp;size, const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;lastModified, const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;lastRead, bool&nbsp;isDir, bool&nbsp;isFile, bool&nbsp;isSymLink, bool&nbsp;isWritable, bool&nbsp;isReadable, bool&nbsp;isExecutable )
+</h3>
+Constructs a QUrlInfo object by specifying all the URL's
+information.
+<p> The information that is passed is the <em>name</em>, file <em>permissions</em>, <em>owner</em> and <em>group</em> and the file's <em>size</em>. Also
+passed is the <em>lastModified</em> date/time and the <em>lastRead</em>
+date/time. Flags are also passed, specifically, <em>isDir</em>, <em>isFile</em>, <em>isSymLink</em>, <em>isWritable</em>, <em>isReadable</em> and <em>isExecutable</em>.
+
+<h3 class=fn><a name="QUrlInfo-5"></a>QUrlInfo::QUrlInfo ( const&nbsp;<a href="qurl.html">QUrl</a>&nbsp;&amp;&nbsp;url, int&nbsp;permissions, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;owner, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;group, uint&nbsp;size, const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;lastModified, const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;lastRead, bool&nbsp;isDir, bool&nbsp;isFile, bool&nbsp;isSymLink, bool&nbsp;isWritable, bool&nbsp;isReadable, bool&nbsp;isExecutable )
+</h3>
+Constructs a QUrlInfo object by specifying all the URL's
+information.
+<p> The information that is passed is the <em>url</em>, file <em>permissions</em>, <em>owner</em> and <em>group</em> and the file's <em>size</em>. Also
+passed is the <em>lastModified</em> date/time and the <em>lastRead</em>
+date/time. Flags are also passed, specifically, <em>isDir</em>, <em>isFile</em>, <em>isSymLink</em>, <em>isWritable</em>, <em>isReadable</em> and <em>isExecutable</em>.
+
+<h3 class=fn><a name="~QUrlInfo"></a>QUrlInfo::~QUrlInfo ()<tt> [virtual]</tt>
+</h3>
+Destroys the URL info object.
+<p> The <a href="qurloperator.html">QUrlOperator</a> object to which this URL referred (if any) is not
+affected.
+
+<h3 class=fn>bool <a name="equal"></a>QUrlInfo::equal ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i1, const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>i1</em> equals to <em>i2</em>; otherwise returns FALSE.
+The objects are compared by the value, which is specified by <em>sortBy</em>. This must be one of QDir::Name, QDir::Time or QDir::Size.
+
+<h3 class=fn>bool <a name="greaterThan"></a>QUrlInfo::greaterThan ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i1, const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>i1</em> is greater than <em>i2</em>; otherwise returns
+FALSE. The objects are compared by the value, which is specified
+by <em>sortBy</em>. This must be one of QDir::Name, QDir::Time or
+QDir::Size.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="group"></a>QUrlInfo::group () const
+</h3>
+Returns the group of the URL.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isDir"></a>QUrlInfo::isDir () const
+</h3>
+Returns TRUE if the URL is a directory; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Examples: <a href="ftpclient-example.html#x773">network/ftpclient/ftpmainwindow.ui.h</a> and <a href="networkprotocol-example.html#x697">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>bool <a name="isExecutable"></a>QUrlInfo::isExecutable () const
+</h3>
+Returns TRUE if the URL is executable; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isFile"></a>QUrlInfo::isFile () const
+</h3>
+Returns TRUE if the URL is a file; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isReadable"></a>QUrlInfo::isReadable () const
+</h3>
+Returns TRUE if the URL is readable; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isSymLink"></a>QUrlInfo::isSymLink () const
+</h3>
+Returns TRUE if the URL is a symbolic link; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="isValid"></a>QUrlInfo::isValid () const
+</h3>
+Returns TRUE if the URL info is valid; otherwise returns FALSE.
+Valid means that the QUrlInfo contains real information. For
+example, a call to <a href="qurloperator.html#info">QUrlOperator::info</a>() might return a an invalid
+QUrlInfo, if no information about the requested entry is
+available.
+<p> You should always check if the URL info is valid before relying on
+the values.
+
+<h3 class=fn>bool <a name="isWritable"></a>QUrlInfo::isWritable () const
+</h3>
+Returns TRUE if the URL is writable; otherwise returns FALSE.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="lastModified"></a>QUrlInfo::lastModified () const
+</h3>
+Returns the last modification date of the URL.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="ftpclient-example.html#x774">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qdatetime.html">QDateTime</a> <a name="lastRead"></a>QUrlInfo::lastRead () const
+</h3>
+Returns the date when the URL was last read.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>bool <a name="lessThan"></a>QUrlInfo::lessThan ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i1, const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i2, int&nbsp;sortBy )<tt> [static]</tt>
+</h3>
+Returns TRUE if <em>i1</em> is less than <em>i2</em>; otherwise returns FALSE.
+The objects are compared by the value, which is specified by <em>sortBy</em>. This must be one of QDir::Name, QDir::Time or QDir::Size.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="name"></a>QUrlInfo::name () const
+</h3>
+Returns the file name of the URL.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="ftpclient-example.html#x775">network/ftpclient/ftpmainwindow.ui.h</a>.
+<h3 class=fn><a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp; <a name="operator-eq"></a>QUrlInfo::operator= ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;ui )
+</h3>
+Assigns the values of <em>ui</em> to this QUrlInfo object.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QUrlInfo::operator== ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i ) const
+</h3>
+Compares this QUrlInfo with <em>i</em> and returns TRUE if they are
+equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="owner"></a>QUrlInfo::owner () const
+</h3>
+Returns the owner of the URL.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>int <a name="permissions"></a>QUrlInfo::permissions () const
+</h3>
+Returns the permissions of the URL. You can use the <a href="#PermissionSpec-enum">PermissionSpec</a> flags
+to test for certain permissions.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setDir"></a>QUrlInfo::setDir ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE then the URL is set to be a directory; if \b is
+FALSE then the URL is set not to be a directory (which normally
+means it is a file). (Note that a URL can refer to both a file and
+a directory even though most file systems do not support this.)
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x698">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setFile"></a>QUrlInfo::setFile ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+If <em>b</em> is TRUE then the URL is set to be a file; if \b is FALSE
+then the URL is set not to be a file (which normally means it is a
+directory). (Note that a URL can refer to both a file and a
+directory even though most file systems do not support this.)
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x699">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setGroup"></a>QUrlInfo::setGroup ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+Specifies that the owning group of the URL is called <em>s</em>.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setLastModified"></a>QUrlInfo::setLastModified ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;dt )<tt> [virtual]</tt>
+</h3>
+Specifies that the object the URL refers to was last modified at
+<em>dt</em>.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setName"></a>QUrlInfo::setName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [virtual]</tt>
+</h3>
+Sets the name of the URL to <em>name</em>. The name is the full text,
+for example, "http://doc.trolltech.com/qurlinfo.html".
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x700">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setOwner"></a>QUrlInfo::setOwner ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s )<tt> [virtual]</tt>
+</h3>
+Specifies that the owner of the URL is called <em>s</em>.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setPermissions"></a>QUrlInfo::setPermissions ( int&nbsp;p )<tt> [virtual]</tt>
+</h3>
+Specifies that the URL has access permisions, <em>p</em>.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setReadable"></a>QUrlInfo::setReadable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Specifies that the URL is readable if <em>b</em> is TRUE and not
+readable if <em>b</em> is FALSE.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x701">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setSize"></a>QUrlInfo::setSize ( uint&nbsp;size )<tt> [virtual]</tt>
+</h3>
+Specifies the <em>size</em> of the URL.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<h3 class=fn>void <a name="setSymLink"></a>QUrlInfo::setSymLink ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Specifies that the URL refers to a symbolic link if <em>b</em> is TRUE
+and that it does not if <em>b</em> is FALSE.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x702">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>void <a name="setWritable"></a>QUrlInfo::setWritable ( bool&nbsp;b )<tt> [virtual]</tt>
+</h3>
+Specifies that the URL is writable if <em>b</em> is TRUE and not
+writable if <em>b</em> is FALSE.
+<p> If you call this function for an invalid URL info, this function
+turns it into a valid one.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="networkprotocol-example.html#x703">network/networkprotocol/nntp.cpp</a>.
+<h3 class=fn>uint <a name="size"></a>QUrlInfo::size () const
+</h3>
+Returns the size of the URL.
+<p> <p>See also <a href="#isValid">isValid</a>().
+
+<p>Example: <a href="ftpclient-example.html#x776">network/ftpclient/ftpmainwindow.ui.h</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurloperator-h.html b/doc/html/qurloperator-h.html
new file mode 100644
index 0000000..4a3bba6
--- /dev/null
+++ b/doc/html/qurloperator-h.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurloperator.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qurloperator.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qurloperator.h</h1>
+
+<p>This is the verbatim text of the qurloperator.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qurloperator.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QUrlOperator class
+**
+** Created : 950429
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QURLOPERATOR_H
+#define QURLOPERATOR_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qurl.h"
+#include "qptrlist.h"
+#include "qnetworkprotocol.h"
+#include "qstringlist.h" // QString-&gt;QStringList conversion
+#endif // QT_H
+
+#ifndef QT_NO_NETWORKPROTOCOL
+
+class QUrlInfo;
+class QUrlOperatorPrivate;
+
+class Q_EXPORT QUrlOperator : public QObject, public QUrl
+{
+ friend class QNetworkProtocol;
+
+ Q_OBJECT
+
+public:
+ QUrlOperator();
+ QUrlOperator( const QString &amp;urL );
+ QUrlOperator( const QUrlOperator&amp; url );
+ QUrlOperator( const QUrlOperator&amp; url, const QString&amp; relUrl, bool checkSlash = FALSE );
+ virtual ~QUrlOperator();
+
+ virtual void setPath( const QString&amp; path );
+ virtual bool cdUp();
+
+ virtual const QNetworkOperation *listChildren();
+ virtual const QNetworkOperation *mkdir( const QString &amp;dirname );
+ virtual const QNetworkOperation *remove( const QString &amp;filename );
+ virtual const QNetworkOperation *rename( const QString &amp;oldname, const QString &amp;newname );
+ virtual const QNetworkOperation *get( const QString &amp;location = QString::null );
+ virtual const QNetworkOperation *put( const QByteArray &amp;data, const QString &amp;location = QString::null );
+ virtual QPtrList&lt;QNetworkOperation&gt; copy( const QString &amp;from, const QString &amp;to, bool move = FALSE, bool toPath = TRUE );
+ virtual void copy( const QStringList &amp;files, const QString &amp;dest, bool move = FALSE );
+ virtual bool isDir( bool *ok = 0 );
+
+ virtual void setNameFilter( const QString &amp;nameFilter );
+ QString nameFilter() const;
+
+ virtual QUrlInfo info( const QString &amp;entry ) const;
+
+ QUrlOperator&amp; operator=( const QUrlOperator &amp;url );
+ QUrlOperator&amp; operator=( const QString &amp;url );
+
+ virtual void stop();
+
+signals:
+ void newChildren( const QValueList&lt;QUrlInfo&gt; &amp;, QNetworkOperation *res );
+ void finished( QNetworkOperation *res );
+ void start( QNetworkOperation *res );
+ void createdDirectory( const QUrlInfo &amp;, QNetworkOperation *res );
+ void removed( QNetworkOperation *res );
+ void itemChanged( QNetworkOperation *res );
+ void data( const QByteArray &amp;, QNetworkOperation *res );
+ void dataTransferProgress( int bytesDone, int bytesTotal, QNetworkOperation *res );
+ void startedNextCopy( const QPtrList&lt;QNetworkOperation&gt; &amp;lst );
+ void connectionStateChanged( int state, const QString &amp;data );
+
+protected:
+ void reset();
+ bool parse( const QString&amp; url );
+ virtual bool checkValid();
+ virtual void clearEntries();
+ void getNetworkProtocol();
+ void deleteNetworkProtocol();
+
+private slots:
+ const QNetworkOperation *startOperation( QNetworkOperation *op );
+ void copyGotData( const QByteArray &amp;data, QNetworkOperation *op );
+ void continueCopy( QNetworkOperation *op );
+ void finishedCopy();
+ void addEntry( const QValueList&lt;QUrlInfo&gt; &amp;i );
+ void slotItemChanged( QNetworkOperation *op );
+
+private:
+ void deleteOperation( QNetworkOperation *op );
+
+ QUrlOperatorPrivate *d;
+};
+
+#endif // QT_NO_NETWORKPROTOCOL
+
+#endif // QURLOPERATOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurloperator-members.html b/doc/html/qurloperator-members.html
new file mode 100644
index 0000000..3143bd8
--- /dev/null
+++ b/doc/html/qurloperator-members.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qurloperator.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrlOperator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QUrlOperator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qurloperator.html">QUrlOperator</a>, including inherited members.
+
+<ul>
+<li><a href="qurloperator.html#QUrlOperator">QUrlOperator</a>()
+<li><a href="qurloperator.html#~QUrlOperator">~QUrlOperator</a>()
+<li><a href="qurl.html#addPath">addPath</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qurl.html#cdUp">cdUp</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qurloperator.html#clearEntries">clearEntries</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qurloperator.html#connectionStateChanged">connectionStateChanged</a>()
+<li><a href="qurloperator.html#copy">copy</a>()
+<li><a href="qurloperator.html#createdDirectory">createdDirectory</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qurloperator.html#data">data</a>()
+<li><a href="qurloperator.html#dataTransferProgress">dataTransferProgress</a>()
+<li><a href="qurl.html#decode">decode</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qurloperator.html#deleteNetworkProtocol">deleteNetworkProtocol</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qurl.html#dirPath">dirPath</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qurl.html#encode">encode</a>()
+<li><a href="qurl.html#encodedPathAndQuery">encodedPathAndQuery</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qurl.html#fileName">fileName</a>()
+<li><a href="qurloperator.html#finished">finished</a>()
+<li><a href="qurloperator.html#get">get</a>()
+<li><a href="qurloperator.html#getNetworkProtocol">getNetworkProtocol</a>()
+<li><a href="qurl.html#hasHost">hasHost</a>()
+<li><a href="qurl.html#hasPassword">hasPassword</a>()
+<li><a href="qurl.html#hasPath">hasPath</a>()
+<li><a href="qurl.html#hasPort">hasPort</a>()
+<li><a href="qurl.html#hasRef">hasRef</a>()
+<li><a href="qurl.html#hasUser">hasUser</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qurl.html#host">host</a>()
+<li><a href="qurloperator.html#info">info</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qurloperator.html#isDir">isDir</a>()
+<li><a href="qurl.html#isLocalFile">isLocalFile</a>()
+<li><a href="qurl.html#isRelativeUrl">isRelativeUrl</a>()
+<li><a href="qurl.html#isValid">isValid</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qurloperator.html#itemChanged">itemChanged</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qurloperator.html#listChildren">listChildren</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qurloperator.html#mkdir">mkdir</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qurloperator.html#nameFilter">nameFilter</a>()
+<li><a href="qurloperator.html#newChildren">newChildren</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qurl.html#operator-QString">operator QString</a>()
+<li><a href="qurl.html#operator-eq">operator=</a>()
+<li><a href="qurl.html#operator-eq-eq">operator==</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qurl.html#parse">parse</a>()
+<li><a href="qurl.html#password">password</a>()
+<li><a href="qurl.html#path">path</a>()
+<li><a href="qurl.html#port">port</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qurl.html#protocol">protocol</a>()
+<li><a href="qurloperator.html#put">put</a>()
+<li><a href="qurl.html#query">query</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qurl.html#ref">ref</a>()
+<li><a href="qurloperator.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qurloperator.html#removed">removed</a>()
+<li><a href="qurloperator.html#rename">rename</a>()
+<li><a href="qurl.html#reset">reset</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qurl.html#setEncodedPathAndQuery">setEncodedPathAndQuery</a>()
+<li><a href="qurl.html#setFileName">setFileName</a>()
+<li><a href="qurl.html#setHost">setHost</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qurloperator.html#setNameFilter">setNameFilter</a>()
+<li><a href="qurl.html#setPassword">setPassword</a>()
+<li><a href="qurl.html#setPath">setPath</a>()
+<li><a href="qurl.html#setPort">setPort</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qurl.html#setProtocol">setProtocol</a>()
+<li><a href="qurl.html#setQuery">setQuery</a>()
+<li><a href="qurl.html#setRef">setRef</a>()
+<li><a href="qurl.html#setUser">setUser</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qurloperator.html#start">start</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qurloperator.html#startedNextCopy">startedNextCopy</a>()
+<li><a href="qurloperator.html#stop">stop</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qurl.html#toString">toString</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qurl.html#user">user</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qurloperator.html b/doc/html/qurloperator.html
new file mode 100644
index 0000000..eeba9bc
--- /dev/null
+++ b/doc/html/qurloperator.html
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qurloperator.cpp:88 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUrlOperator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QUrlOperator Class Reference<br><small>[<a href="network.html">network module</a>]</small></h1>
+
+<p>The QUrlOperator class provides common operations on URLs.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qurloperator-h.html">qurloperator.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qurl.html">QUrl</a>.
+<p><a href="qurloperator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QUrlOperator"><b>QUrlOperator</b></a> ()</li>
+<li class=fn><a href="#QUrlOperator-2"><b>QUrlOperator</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;url )</li>
+<li class=fn><a href="#QUrlOperator-3"><b>QUrlOperator</b></a> ( const&nbsp;QUrlOperator&nbsp;&amp;&nbsp;url )</li>
+<li class=fn><a href="#QUrlOperator-4"><b>QUrlOperator</b></a> ( const&nbsp;QUrlOperator&nbsp;&amp;&nbsp;url, const&nbsp;QString&nbsp;&amp;&nbsp;relUrl, bool&nbsp;checkSlash = FALSE )</li>
+<li class=fn>virtual <a href="#~QUrlOperator"><b>~QUrlOperator</b></a> ()</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#listChildren"><b>listChildren</b></a> ()</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#mkdir"><b>mkdir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirname )</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#remove"><b>remove</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#rename"><b>rename</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;oldname, const&nbsp;QString&nbsp;&amp;&nbsp;newname )</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#get"><b>get</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;location = QString::null )</li>
+<li class=fn>virtual const QNetworkOperation * <a href="#put"><b>put</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, const&nbsp;QString&nbsp;&amp;&nbsp;location = QString::null )</li>
+<li class=fn>virtual QPtrList&lt;QNetworkOperation&gt; <a href="#copy"><b>copy</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;from, const&nbsp;QString&nbsp;&amp;&nbsp;to, bool&nbsp;move = FALSE, bool&nbsp;toPath = TRUE )</li>
+<li class=fn>virtual void <a href="#copy-2"><b>copy</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;files, const&nbsp;QString&nbsp;&amp;&nbsp;dest, bool&nbsp;move = FALSE )</li>
+<li class=fn>virtual bool <a href="#isDir"><b>isDir</b></a> ( bool&nbsp;*&nbsp;ok = 0 )</li>
+<li class=fn>virtual void <a href="#setNameFilter"><b>setNameFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;nameFilter )</li>
+<li class=fn>QString <a href="#nameFilter"><b>nameFilter</b></a> () const</li>
+<li class=fn>virtual QUrlInfo <a href="#info"><b>info</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;entry ) const</li>
+<li class=fn>virtual void <a href="#stop"><b>stop</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#newChildren"><b>newChildren</b></a> ( const&nbsp;QValueList&lt;QUrlInfo&gt;&nbsp;&amp;&nbsp;i, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#finished"><b>finished</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#start"><b>start</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#createdDirectory"><b>createdDirectory</b></a> ( const&nbsp;QUrlInfo&nbsp;&amp;&nbsp;i, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#removed"><b>removed</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#itemChanged"><b>itemChanged</b></a> ( QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#data"><b>data</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#dataTransferProgress"><b>dataTransferProgress</b></a> ( int&nbsp;bytesDone, int&nbsp;bytesTotal, QNetworkOperation&nbsp;*&nbsp;op )</li>
+<li class=fn>void <a href="#startedNextCopy"><b>startedNextCopy</b></a> ( const&nbsp;QPtrList&lt;QNetworkOperation&gt;&nbsp;&amp;&nbsp;lst )</li>
+<li class=fn>void <a href="#connectionStateChanged"><b>connectionStateChanged</b></a> ( int&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;data )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#clearEntries"><b>clearEntries</b></a> ()</li>
+<li class=fn>void <a href="#getNetworkProtocol"><b>getNetworkProtocol</b></a> ()</li>
+<li class=fn>void <a href="#deleteNetworkProtocol"><b>deleteNetworkProtocol</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>void <a href="#qInitNetworkProtocols"><b>qInitNetworkProtocols</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QUrlOperator class provides common operations on URLs.
+
+<p>
+
+
+<p>
+<p> This class operates on hierarchical structures (such as
+filesystems) using URLs. Its API facilitates all the common
+operations:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Operation <th valign="top">Function
+<tr bgcolor="#f0f0f0"> <td valign="top">List files <td valign="top"><a href="#listChildren">listChildren</a>()
+<tr bgcolor="#d0d0d0"> <td valign="top">Make a directory <td valign="top"><a href="#mkdir">mkdir</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Remove a file <td valign="top"><a href="#remove">remove</a>()
+<tr bgcolor="#d0d0d0"> <td valign="top">Rename a file <td valign="top"><a href="#rename">rename</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Get a file <td valign="top"><a href="#get">get</a>()
+<tr bgcolor="#d0d0d0"> <td valign="top">Put a file <td valign="top"><a href="#put">put</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Copy a file <td valign="top"><a href="#copy">copy</a>()
+</table></center>
+<p> You can obtain additional information about the URL with <a href="#isDir">isDir</a>()
+and <a href="#info">info</a>(). If a directory is to be traversed using
+<a href="#listChildren">listChildren</a>(), a name filter can be set with <a href="#setNameFilter">setNameFilter</a>().
+<p> A QUrlOperator can be used like this, for example to download a
+file (and assuming that the FTP protocol is <a href="#qInitNetworkProtocols">registered</a>):
+<pre>
+ QUrlOperator *op = new QUrlOperator();
+ op-&gt;<a href="#copy">copy</a>( QString("ftp://ftp.trolltech.com/qt/source/qt-2.1.0.tar.gz"),
+ "file:/tmp" );
+ </pre>
+
+<p> If you want to be notified about success/failure, progress, etc.,
+you can connect to QUrlOperator's signals, e.g. to <a href="#start">start</a>(),
+<a href="#newChildren">newChildren</a>(), <a href="#createdDirectory">createdDirectory</a>(), <a href="#removed">removed</a>(), <a href="#data">data</a>(),
+<a href="#dataTransferProgress">dataTransferProgress</a>(), <a href="#startedNextCopy">startedNextCopy</a>(),
+<a href="#connectionStateChanged">connectionStateChanged</a>(), <a href="#finished">finished</a>(), etc. A network operation can
+be stopped with <a href="#stop">stop</a>().
+<p> The class uses the functionality of registered network protocols
+to perform these operations. Depending of the protocol of the URL,
+it uses an appropriate network protocol class for the operations.
+Each of the operation functions of QUrlOperator creates a
+<a href="qnetworkoperation.html">QNetworkOperation</a> object that describes the operation and puts it
+into the operation queue for the network protocol used. If no
+suitable protocol could be found (because no implementation of the
+necessary network protocol is registered), the URL operator emits
+errors. Not every protocol supports every operation, but error
+handling deals with this problem.
+<p> To register the available network protocols, use the
+<a href="#qInitNetworkProtocols">qInitNetworkProtocols</a>() function. The protocols currently
+supported are:
+<ul>
+<li> <a href="qftp.html">FTP</a>,
+<li> <a href="qhttp.html">HTTP</a>,
+<li> <a href="qlocalfs.html">local file system</a>.
+</ul>
+<p> For more information about the Qt Network Architecture see the
+<a href="network.html">Qt Network Documentation</a>.
+<p> <p>See also <a href="qnetworkprotocol.html">QNetworkProtocol</a>, <a href="qnetworkoperation.html">QNetworkOperation</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QUrlOperator"></a>QUrlOperator::QUrlOperator ()
+</h3>
+Constructs a QUrlOperator with an empty (i.e. invalid) URL.
+
+<h3 class=fn><a name="QUrlOperator-2"></a>QUrlOperator::QUrlOperator ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;url )
+</h3>
+Constructs a QUrlOperator using <em>url</em> and parses this string.
+<p> If you pass strings like "/home/qt" the "file" protocol is
+assumed.
+
+<h3 class=fn><a name="QUrlOperator-3"></a>QUrlOperator::QUrlOperator ( const&nbsp;<a href="qurloperator.html">QUrlOperator</a>&nbsp;&amp;&nbsp;url )
+</h3>
+Constructs a copy of <em>url</em>.
+
+<h3 class=fn><a name="QUrlOperator-4"></a>QUrlOperator::QUrlOperator ( const&nbsp;<a href="qurloperator.html">QUrlOperator</a>&nbsp;&amp;&nbsp;url, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;relUrl, bool&nbsp;checkSlash = FALSE )
+</h3>
+Constructs a QUrlOperator. The URL on which this QUrlOperator
+operates is constructed out of the arguments <em>url</em>, <em>relUrl</em> and
+<em>checkSlash</em>: see the corresponding <a href="qurl.html">QUrl</a> constructor for an
+explanation of these arguments.
+
+<h3 class=fn><a name="~QUrlOperator"></a>QUrlOperator::~QUrlOperator ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="clearEntries"></a>QUrlOperator::clearEntries ()<tt> [virtual protected]</tt>
+</h3>
+Clears the cache of children.
+
+<h3 class=fn>void <a name="connectionStateChanged"></a>QUrlOperator::connectionStateChanged ( int&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;data )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever the URL operator's connection
+state changes. <em>state</em> describes the new state, which is a
+<a href="qnetworkprotocol.html#ConnectionState-enum">QNetworkProtocol::ConnectionState</a> value.
+<p> <em>data</em> is a string that describes the change of the connection.
+This can be used to display a message to the user.
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QNetworkOperation&gt; <a name="copy"></a>QUrlOperator::copy ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;from, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;to, bool&nbsp;move = FALSE, bool&nbsp;toPath = TRUE )<tt> [virtual]</tt>
+</h3>
+Copies the file <em>from</em> to <em>to</em>. If <em>move</em> is TRUE, the file is
+moved (copied and removed). <em>from</em> must point to a file and <em>to</em>
+must point to a directory (into which <em>from</em> is copied) unless <em>toPath</em> is set to FALSE. If <em>toPath</em> is set to FALSE then the <em>to</em> variable is assumed to be the absolute file path (destination
+file path + file name). The copying is done using the <a href="#get">get</a>() and
+<a href="#put">put</a>() operations. If you want to be notified about the progress of
+the operation, connect to the <a href="#dataTransferProgress">dataTransferProgress</a>() signal. Bear
+in mind that the get() and put() operations emit this signal
+through the QUrlOperator. The number of transferred bytes and the
+total bytes that you receive as arguments in this signal do not
+relate to the the whole copy operation; they relate first to the
+get() and then to the put() operation. Always check what type of
+operation the signal comes from; this is given in the signal's
+last argument.
+<p> At the end, <a href="#finished">finished</a>() (with success or failure) is emitted, so
+check the state of the network operation object to see whether or
+not the operation was successful.
+<p> Because a move or copy operation consists of multiple operations
+(get(), put() and maybe <a href="#remove">remove</a>()), this function doesn't return a
+single <a href="qnetworkoperation.html">QNetworkOperation</a>, but rather a list of them. They are in
+the order: <a href="#get">get</a>(), <a href="#put">put</a>() and (if applicable) remove().
+<p> <p>See also <a href="#get">get</a>() and <a href="#put">put</a>().
+
+<h3 class=fn>void <a name="copy-2"></a>QUrlOperator::copy ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;files, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dest, bool&nbsp;move = FALSE )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Copies the <em>files</em> to the directory <em>dest</em>. If <em>move</em> is TRUE
+the files are moved, not copied. <em>dest</em> must point to a
+directory.
+<p> This function calls <a href="#copy">copy</a>() for each entry in <em>files</em> in turn. You
+don't get a result from this function; each time a new copy
+begins, <a href="#startedNextCopy">startedNextCopy</a>() is emitted, with a list of
+QNetworkOperations that describe the new copy operation.
+
+<h3 class=fn>void <a name="createdDirectory"></a>QUrlOperator::createdDirectory ( const&nbsp;<a href="qurlinfo.html">QUrlInfo</a>&nbsp;&amp;&nbsp;i, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <a href="#mkdir">mkdir</a>() succeeds and the directory has
+been created. <em>i</em> holds the information about the new directory.
+<p> <em>op</em> is a pointer to the operation object, which contains all the
+information about the operation, including the state.
+<tt>op-&gt;arg(0)</tt> holds the new directory's name.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>void <a name="data"></a>QUrlOperator::data ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when new <em>data</em> has been received after calling
+<a href="#get">get</a>() or <a href="#put">put</a>().
+<em>op</em> is a pointer to the operation object which contains all
+the information about the operation, including the state.
+<tt>op-&gt;arg(0)</tt> holds the name of the file whose data is retrieved
+and op->rawArg(1) holds the (raw) data.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>void <a name="dataTransferProgress"></a>QUrlOperator::dataTransferProgress ( int&nbsp;bytesDone, int&nbsp;bytesTotal, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted during data transfer (using <a href="#put">put</a>() or
+<a href="#get">get</a>()). <em>bytesDone</em> specifies how many bytes of <em>bytesTotal</em> have
+been transferred. More information about the operation is stored in
+<em>op</em>, a pointer to the network operation that is processed.
+<em>bytesTotal</em> may be -1, which means that the total number of bytes
+is not known.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>void <a name="deleteNetworkProtocol"></a>QUrlOperator::deleteNetworkProtocol ()<tt> [protected]</tt>
+</h3>
+Deletes the currently used network protocol.
+
+<h3 class=fn>void <a name="finished"></a>QUrlOperator::finished ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when an operation of some sort finishes,
+whether with success or failure. <em>op</em> is a pointer to the
+operation object, which contains all the information, including
+the state, of the operation which has been finished. Check the
+state and error code of the operation object to see whether or not
+the operation was successful.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="get"></a>QUrlOperator::get ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;location = QString::null )<tt> [virtual]</tt>
+</h3>
+Tells the network protocol to get data from <em>location</em> or, if
+this is <a href="qstring.html#QString-null">QString::null</a>, to get data from the location to which this
+URL points (see <a href="qurl.html#fileName">QUrl::fileName</a>() and <a href="qurl.html#encodedPathAndQuery">QUrl::encodedPathAndQuery</a>()).
+What happens then depends on the network protocol. The <a href="#data">data</a>()
+signal is emitted when data comes in. Because it's unlikely that
+all data will come in at once, it is common for multiple data()
+signals to be emitted. The <a href="#dataTransferProgress">dataTransferProgress</a>() signal is
+emitted while processing the operation. At the end, <a href="#finished">finished</a>()
+(with success or failure) is emitted, so check the state of the
+network operation object to see whether or not the operation was
+successful.
+<p> If <em>location</em> is QString::null, the path of this QUrlOperator
+should point to a file when you use this operation. If <em>location</em>
+is not empty, it can be a relative URL (a child of the path to
+which the QUrlOperator points) or an absolute URL.
+<p> For example, to get a web page you might do something like this:
+<p> <pre>
+ QUrlOperator op( "http://www.whatever.org/cgi-bin/search.pl?cmd=Hello" );
+ op.<a href="#get">get</a>();
+ </pre>
+
+<p> For most other operations, the path of the QUrlOperator must point
+to a directory. If you want to download a file you could do the
+following:
+<p> <pre>
+ QUrlOperator op( "ftp://ftp.whatever.org/pub" );
+ // do some other stuff like op.<a href="#listChildren">listChildren</a>() or op.<a href="#mkdir">mkdir</a>( "new_dir" )
+ op.<a href="#get">get</a>( "a_file.txt" );
+ </pre>
+
+<p> This will get the data of ftp://ftp.whatever.org/pub/a_file.txt.
+<p> <em>Never</em> do anything like this:
+<pre>
+ QUrlOperator op( "http://www.whatever.org/cgi-bin" );
+ op.<a href="#get">get</a>( "search.pl?cmd=Hello" ); // WRONG!
+ </pre>
+
+<p> If <em>location</em> is not empty and relative it must not contain any
+queries or references, just the name of a child. So if you need to
+specify a query or reference, do it as shown in the first example
+or specify the full URL (such as
+http://www.whatever.org/cgi-bin/search.pl?cmd=Hello) as <em>location</em>.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn>void <a name="getNetworkProtocol"></a>QUrlOperator::getNetworkProtocol ()<tt> [protected]</tt>
+</h3>
+Finds a network protocol for the URL and deletes the old network protocol.
+
+<h3 class=fn><a href="qurlinfo.html">QUrlInfo</a> <a name="info"></a>QUrlOperator::info ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;entry ) const<tt> [virtual]</tt>
+</h3>
+Returns the URL information for the child <em>entry</em>, or returns an
+empty <a href="qurlinfo.html">QUrlInfo</a> object if there is no information available about
+<em>entry</em>. Information about <em>entry</em> is only available after a successfully
+finished <a href="#listChildren">listChildren</a>() operation.
+
+<h3 class=fn>bool <a name="isDir"></a>QUrlOperator::isDir ( bool&nbsp;*&nbsp;ok = 0 )<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the URL is a directory; otherwise returns FALSE.
+This may not always work correctly, if the protocol of the URL is
+something other than file (local filesystem). If you pass a bool
+pointer as the <em>ok</em> argument, <em>*ok</em> is set to TRUE if the result
+of this function is known to be correct, and to FALSE otherwise.
+
+<h3 class=fn>void <a name="itemChanged"></a>QUrlOperator::itemChanged ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever a file which is a child of the URL
+has been changed, for example by successfully calling <a href="#rename">rename</a>().
+<em>op</em> is a pointer to the operation object which contains all the
+information about the operation, including the state.
+<tt>op-&gt;arg(0)</tt> holds the original file name and <tt>op-&gt;arg(1)</tt> holds
+the new file name (if it was changed).
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="listChildren"></a>QUrlOperator::listChildren ()<tt> [virtual]</tt>
+</h3>
+Starts listing the children of this URL (e.g. the files in the
+directory). The <a href="#start">start</a>() signal is emitted before the first entry
+is listed and <a href="#finished">finished</a>() is emitted after the last one. The
+<a href="#newChildren">newChildren</a>() signal is emitted for each list of new entries. If
+an error occurs, the signal finished() is emitted, so be sure to
+check the state of the network operation pointer.
+<p> Because the operation may not be executed immediately, a pointer
+to the <a href="qnetworkoperation.html">QNetworkOperation</a> object created by this function is
+returned. This object contains all the data about the operation
+and is used to refer to this operation later (e.g. in the signals
+that are emitted by the QUrlOperator). The return value can also
+be 0 if the operation object couldn't be created.
+<p> The path of this QUrlOperator must to point to a directory
+(because the children of this directory will be listed), not to a
+file.
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="mkdir"></a>QUrlOperator::mkdir ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dirname )<tt> [virtual]</tt>
+</h3>
+Tries to create a directory (child) with the name <em>dirname</em>. If
+it is successful, a <a href="#newChildren">newChildren</a>() signal with the new child is
+emitted, and the <a href="#createdDirectory">createdDirectory</a>() signal with the information
+about the new child is also emitted. The <a href="#finished">finished</a>() signal (with
+success or failure) is emitted after the operation has been
+processed, so check the state of the network operation object to
+see whether or not the operation was successful.
+<p> Because the operation will not be executed immediately, a pointer
+to the <a href="qnetworkoperation.html">QNetworkOperation</a> object created by this function is
+returned. This object contains all the data about the operation
+and is used to refer to this operation later (e.g. in the signals
+that are emitted by the QUrlOperator). The return value can also
+be 0 if the operation object couldn't be created.
+<p> The path of this QUrlOperator must to point to a directory (not a
+file) because the new directory will be created in this path.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="nameFilter"></a>QUrlOperator::nameFilter () const
+</h3>
+Returns the name filter of the URL.
+<p> <p>See also <a href="#setNameFilter">QUrlOperator::setNameFilter</a>() and <a href="qdir.html#nameFilter">QDir::nameFilter</a>().
+
+<h3 class=fn>void <a name="newChildren"></a>QUrlOperator::newChildren ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QUrlInfo&gt;&nbsp;&amp;&nbsp;i, <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted after <a href="#listChildren">listChildren</a>() was called and new
+children (i.e. files) have been read from a list of files. <em>i</em>
+holds the information about the new files. <em>op</em> is a pointer
+to the operation object which contains all the information about
+the operation, including the state.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="put"></a>QUrlOperator::put ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;location = QString::null )<tt> [virtual]</tt>
+</h3>
+This function tells the network protocol to put <em>data</em> in <em>location</em>. If <em>location</em> is empty (QString::null), it puts the <em>data</em> in the location to which the URL points. What happens depends
+on the network protocol. Depending on the network protocol, some
+data might come back after putting data, in which case the <a href="#data">data</a>()
+signal is emitted. The <a href="#dataTransferProgress">dataTransferProgress</a>() signal is emitted
+during processing of the operation. At the end, <a href="#finished">finished</a>() (with
+success or failure) is emitted, so check the state of the network
+operation object to see whether or not the operation was
+successful.
+<p> If <em>location</em> is <a href="qstring.html#QString-null">QString::null</a>, the path of this QUrlOperator
+should point to a file when you use this operation. If <em>location</em>
+is not empty, it can be a relative (a child of the path to which
+the QUrlOperator points) or an absolute URL.
+<p> For putting some data to a file you can do the following:
+<p> <pre>
+ QUrlOperator op( "ftp://ftp.whatever.com/home/me/filename.dat" );
+ op.<a href="#put">put</a>( data );
+ </pre>
+
+<p> For most other operations, the path of the QUrlOperator must point
+to a directory. If you want to upload data to a file you could do
+the following:
+<p> <pre>
+ QUrlOperator op( "ftp://ftp.whatever.com/home/me" );
+ // do some other stuff like op.<a href="#listChildren">listChildren</a>() or op.<a href="#mkdir">mkdir</a>( "new_dir" )
+ op.<a href="#put">put</a>( data, "filename.dat" );
+ </pre>
+
+<p> This will upload the data to ftp://ftp.whatever.com/home/me/filename.dat.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="remove"></a>QUrlOperator::remove ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;filename )<tt> [virtual]</tt>
+</h3>
+Tries to remove the file (child) <em>filename</em>. If it succeeds the
+<a href="#removed">removed</a>() signal is emitted. <a href="#finished">finished</a>() (with success or failure)
+is also emitted after the operation has been processed, so check
+the state of the network operation object to see whether or not
+the operation was successful.
+<p> Because the operation will not be executed immediately, a pointer
+to the <a href="qnetworkoperation.html">QNetworkOperation</a> object created by this function is
+returned. This object contains all the data about the operation
+and is used to refer to this operation later (e.g. in the signals
+that are emitted by the QUrlOperator). The return value can also
+be 0 if the operation object couldn't be created.
+<p> The path of this QUrlOperator must point to a directory; because
+if <em>filename</em> is relative, it will try to remove it in this
+directory.
+
+<h3 class=fn>void <a name="removed"></a>QUrlOperator::removed ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when <a href="#remove">remove</a>() has been succesful and the
+file has been removed.
+<p> <em>op</em> is a pointer to the operation object which contains all the
+information about the operation, including the state.
+<tt>op-&gt;arg(0)</tt> holds the name of the file that was removed.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>const&nbsp;<a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;* <a name="rename"></a>QUrlOperator::rename ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;oldname, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;newname )<tt> [virtual]</tt>
+</h3>
+Tries to rename the file (child) called <em>oldname</em> to <em>newname</em>.
+If it succeeds, the <a href="#itemChanged">itemChanged</a>() signal is emitted. <a href="#finished">finished</a>()
+(with success or failure) is also emitted after the operation has
+been processed, so check the state of the network operation object
+to see whether or not the operation was successful.
+<p> Because the operation may not be executed immediately, a pointer
+to the <a href="qnetworkoperation.html">QNetworkOperation</a> object created by this function is
+returned. This object contains all the data about the operation
+and is used to refer to this operation later (e.g. in the signals
+that are emitted by the QUrlOperator). The return value can also
+be 0 if the operation object couldn't be created.
+<p> This path of this QUrlOperator must to point to a directory
+because <em>oldname</em> and <em>newname</em> are handled relative to this
+directory.
+
+<h3 class=fn>void <a name="setNameFilter"></a>QUrlOperator::setNameFilter ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nameFilter )<tt> [virtual]</tt>
+</h3>
+Sets the name filter of the URL to <em>nameFilter</em>.
+<p> <p>See also <a href="qdir.html#setNameFilter">QDir::setNameFilter</a>().
+
+<h3 class=fn>void <a name="start"></a>QUrlOperator::start ( <a href="qnetworkoperation.html">QNetworkOperation</a>&nbsp;*&nbsp;op )<tt> [signal]</tt>
+</h3>
+
+<p> Some operations (such as <a href="#listChildren">listChildren</a>()) emit this signal when
+they start processing the operation. <em>op</em> is a pointer to the
+operation object which contains all the information about the
+operation, including the state.
+<p> <p>See also <a href="qnetworkoperation.html">QNetworkOperation</a> and <a href="qnetworkprotocol.html">QNetworkProtocol</a>.
+
+<h3 class=fn>void <a name="startedNextCopy"></a>QUrlOperator::startedNextCopy ( const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;QNetworkOperation&gt;&nbsp;&amp;&nbsp;lst )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted if <a href="#copy">copy</a>() starts a new copy operation. <em>lst</em> contains all QNetworkOperations related to this copy
+operation.
+<p> <p>See also <a href="#copy">copy</a>().
+
+<h3 class=fn>void <a name="stop"></a>QUrlOperator::stop ()<tt> [virtual]</tt>
+</h3>
+Stops the current network operation and removes all this
+QUrlOperator's waiting network operations.
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn>void <a name="qInitNetworkProtocols"></a>qInitNetworkProtocols ()
+</h3>
+
+<p> This function registers the network protocols for FTP and HTTP.
+You must call this function before you use QUrlOperator for
+these protocols.
+<p> This function is declared in <a href="qnetwork-h.html">qnetwork.h</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/quuid-h.html b/doc/html/quuid-h.html
new file mode 100644
index 0000000..99b76af
--- /dev/null
+++ b/doc/html/quuid-h.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/quuid.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>quuid.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>quuid.h</h1>
+
+<p>This is the verbatim text of the quuid.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/quuid.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QUuid class
+**
+** Created : 010523
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QUUID_H
+#define QUUID_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#include &lt;string.h&gt;
+
+#if defined(Q_OS_WIN32)
+#ifndef GUID_DEFINED
+#define GUID_DEFINED
+typedef struct _GUID
+{
+ ulong Data1;
+ ushort Data2;
+ ushort Data3;
+ uchar Data4[ 8 ];
+} GUID, *REFGUID, *LPGUID;
+#endif
+#endif
+
+
+struct Q_EXPORT QUuid
+{
+ enum Variant {
+ VarUnknown =-1,
+ NCS = 0, // 0 - -
+ DCE = 2, // 1 0 -
+ Microsoft = 6, // 1 1 0
+ Reserved = 7 // 1 1 1
+ };
+
+ enum Version {
+ VerUnknown =-1,
+ Time = 1, // 0 0 0 1
+ EmbeddedPOSIX = 2, // 0 0 1 0
+ Name = 3, // 0 0 1 1
+ Random = 4 // 0 1 0 0
+ };
+
+ QUuid()
+ {
+ memset( this, 0, sizeof(QUuid) );
+ }
+ QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 )
+ {
+ data1 = l;
+ data2 = w1;
+ data3 = w2;
+ data4[0] = b1;
+ data4[1] = b2;
+ data4[2] = b3;
+ data4[3] = b4;
+ data4[4] = b5;
+ data4[5] = b6;
+ data4[6] = b7;
+ data4[7] = b8;
+ }
+ QUuid( const QUuid &amp;uuid )
+ {
+ memcpy( this, &amp;uuid, sizeof(QUuid) );
+ }
+#ifndef QT_NO_QUUID_STRING
+ QUuid( const QString &amp; );
+ QUuid( const char * );
+ QString toString() const;
+ operator QString() const { return toString(); }
+#endif
+ bool isNull() const;
+
+ QUuid &amp;operator=(const QUuid &amp;orig )
+ {
+ memcpy( this, &amp;orig, sizeof(QUuid) );
+ return *this;
+ }
+
+ bool operator==(const QUuid &amp;orig ) const
+ {
+ uint i;
+ if ( data1 != orig.data1 || data2 != orig.data2 ||
+ data3 != orig.data3 )
+ return FALSE;
+
+ for( i = 0; i &lt; 8; i++ )
+ if ( data4[i] != orig.data4[i] )
+ return FALSE;
+
+ return TRUE;
+ }
+
+ bool operator!=(const QUuid &amp;orig ) const
+ {
+ return !( *this == orig );
+ }
+
+ bool operator&lt;(const QUuid &amp;other ) const;
+ bool operator&gt;(const QUuid &amp;other ) const;
+
+#if defined(Q_OS_WIN32)
+ // On Windows we have a type GUID that is used by the platform API, so we
+ // provide convenience operators to cast from and to this type.
+ QUuid( const GUID &amp;guid )
+ {
+ memcpy( this, &amp;guid, sizeof(GUID) );
+ }
+
+ QUuid &amp;operator=(const GUID &amp;orig )
+ {
+ memcpy( this, &amp;orig, sizeof(QUuid) );
+ return *this;
+ }
+
+ operator GUID() const
+ {
+ GUID guid = { data1, data2, data3, { data4[0], data4[1], data4[2], data4[3], data4[4], data4[5], data4[6], data4[7] } };
+ return guid;
+ }
+
+ bool operator==( const GUID &amp;guid ) const
+ {
+ uint i;
+ if ( data1 != guid.Data1 || data2 != guid.Data2 ||
+ data3 != guid.Data3 )
+ return FALSE;
+
+ for( i = 0; i &lt; 8; i++ )
+ if ( data4[i] != guid.Data4[i] )
+ return FALSE;
+
+ return TRUE;
+ }
+
+ bool operator!=( const GUID &amp;guid ) const
+ {
+ return !( *this == guid );
+ }
+#endif
+ static QUuid createUuid();
+ QUuid::Variant variant() const;
+ QUuid::Version version() const;
+
+ uint data1;
+ ushort data2;
+ ushort data3;
+ uchar data4[ 8 ];
+};
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QUuid &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QUuid &amp; );
+#endif
+
+#endif //QUUID_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/quuid-members.html b/doc/html/quuid-members.html
new file mode 100644
index 0000000..18062c7
--- /dev/null
+++ b/doc/html/quuid-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/quuid.h:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUuid Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QUuid</h1>
+
+<p>This is the complete list of member functions for
+<a href="quuid.html">QUuid</a>, including inherited members.
+
+<ul>
+<li><a href="quuid.html#QUuid">QUuid</a>()
+<li><a href="quuid.html#createUuid">createUuid</a>()
+<li><a href="quuid.html#isNull">isNull</a>()
+<li><a href="quuid.html#operator-QString">operator QString</a>()
+<li><a href="quuid.html#operator!-eq">operator!=</a>()
+<li><a href="quuid.html#operator-lt">operator&lt;</a>()
+<li><a href="quuid.html#operator-eq">operator=</a>()
+<li><a href="quuid.html#operator-eq-eq">operator==</a>()
+<li><a href="quuid.html#operator-gt">operator&gt;</a>()
+<li><a href="quuid.html#toString">toString</a>()
+<li><a href="quuid.html#variant">variant</a>()
+<li><a href="quuid.html#version">version</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/quuid.html b/doc/html/quuid.html
new file mode 100644
index 0000000..78b90f1
--- /dev/null
+++ b/doc/html/quuid.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/quuid.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QUuid Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QUuid Class Reference</h1>
+
+<p>The QUuid class defines a Universally Unique Identifier (UUID).
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="quuid-h.html">quuid.h</a>&gt;</tt>
+<p><a href="quuid-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Variant-enum"><b>Variant</b></a> { VarUnknown = -1, NCS = 0, DCE = 2, Microsoft = 6, Reserved = 7 }</li>
+<li class=fn>enum <a href="#Version-enum"><b>Version</b></a> { VerUnknown = -1, Time = 1, EmbeddedPOSIX = 2, Name = 3, Random = 4 }</li>
+<li class=fn><a href="#QUuid"><b>QUuid</b></a> ()</li>
+<li class=fn><a href="#QUuid-2"><b>QUuid</b></a> ( uint&nbsp;l, ushort&nbsp;w1, ushort&nbsp;w2, uchar&nbsp;b1, uchar&nbsp;b2, uchar&nbsp;b3, uchar&nbsp;b4, uchar&nbsp;b5, uchar&nbsp;b6, uchar&nbsp;b7, uchar&nbsp;b8 )</li>
+<li class=fn><a href="#QUuid-3"><b>QUuid</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;orig )</li>
+<li class=fn><a href="#QUuid-4"><b>QUuid</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn><a href="#operator-QString"><b>operator QString</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>QUuid &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;uuid )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>bool <a href="#operator-lt"><b>operator&lt;</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>bool <a href="#operator-gt"><b>operator&gt;</b></a> ( const&nbsp;QUuid&nbsp;&amp;&nbsp;other ) const</li>
+<li class=fn>QUuid::Variant <a href="#variant"><b>variant</b></a> () const</li>
+<li class=fn>QUuid::Version <a href="#version"><b>version</b></a> () const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QUuid <a href="#createUuid"><b>createUuid</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QUuid&nbsp;&amp;&nbsp;id )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QUuid&nbsp;&amp;&nbsp;id )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QUuid class defines a Universally Unique Identifier (UUID).
+<p>
+<p> For objects or declarations that must be uniquely identified,
+UUIDs (also known as GUIDs) are widely used in order to assign a
+fixed and easy to compare value to the object or declaration. The
+128-bit value of a UUID is generated by an algorithm that
+guarantees that the value is unique.
+<p> In Qt, UUIDs are wrapped by the QUuid struct which provides
+convenience functions for handling UUIDs. Most platforms provide a
+tool to generate new UUIDs, for example, uuidgen and guidgen.
+<p> UUIDs generated by QUuid, are based on the <a href="#Version-enum">Random</a> version of the
+<a href="#Variant-enum">DCE</a> (Distributed Computing Environment) standard.
+<p> UUIDs can be constructed from numeric values or from strings, or
+using the static <a href="#createUuid">createUuid</a>() function. They can be converted to a
+string with <a href="#toString">toString</a>(). UUIDs have a <a href="#variant">variant</a>() and a <a href="#version">version</a>(),
+and null UUIDs return TRUE from <a href="#isNull">isNull</a>().
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Variant-enum"></a>QUuid::Variant</h3>
+
+<p> This enum defines the variant of the UUID, which is the scheme
+which defines the layout of the 128-bits value.
+<ul>
+<li><tt>QUuid::VarUnknown</tt> - Variant is unknown
+<li><tt>QUuid::NCS</tt> - Reserved for NCS (Network Computing System) backward compatibility
+<li><tt>QUuid::DCE</tt> - Distributed Computing Environment, the scheme used by QUuid
+<li><tt>QUuid::Microsoft</tt> - Reserved for Microsoft backward compatibility (GUID)
+<li><tt>QUuid::Reserved</tt> - Reserved for future definition
+</ul>
+<h3 class=fn><a name="Version-enum"></a>QUuid::Version</h3>
+
+<p> This enum defines the version of the UUID.
+<ul>
+<li><tt>QUuid::VerUnknown</tt> - Version is unknown
+<li><tt>QUuid::Time</tt> - Time-based, by using timestamp, clock sequence, and
+MAC network card address (if available) for the node sections
+<li><tt>QUuid::EmbeddedPOSIX</tt> - DCE Security version, with embedded POSIX UUIDs
+<li><tt>QUuid::Name</tt> - Name-based, by using values from a name for all sections
+<li><tt>QUuid::Random</tt> - Random-based, by using random numbers for all sections
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QUuid"></a>QUuid::QUuid ()
+</h3>
+
+<p> Creates the null UUID {00000000-0000-0000-0000-000000000000}.
+
+<h3 class=fn><a name="QUuid-2"></a>QUuid::QUuid ( uint&nbsp;l, ushort&nbsp;w1, ushort&nbsp;w2, uchar&nbsp;b1, uchar&nbsp;b2, uchar&nbsp;b3, uchar&nbsp;b4, uchar&nbsp;b5, uchar&nbsp;b6, uchar&nbsp;b7, uchar&nbsp;b8 )
+</h3>
+
+<p> Creates a UUID with the value specified by the parameters, <em>l</em>,
+<em>w1</em>, <em>w2</em>, <em>b1</em>, <em>b2</em>, <em>b3</em>, <em>b4</em>, <em>b5</em>, <em>b6</em>, <em>b7</em>, <em>b8</em>.
+<p> Example:
+<pre>
+ // {67C8770B-44F1-410A-AB9A-F9B5446F13EE}
+ QUuid IID_MyInterface( 0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee )
+ </pre>
+
+
+<h3 class=fn><a name="QUuid-3"></a>QUuid::QUuid ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;orig )
+</h3>
+
+<p> Creates a copy of the QUuid <em>orig</em>.
+
+<h3 class=fn><a name="QUuid-4"></a>QUuid::QUuid ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )
+</h3>
+Creates a QUuid object from the string <em>text</em>. The function can
+only convert a string in the format
+{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} (where 'H' stands for a hex
+digit). If the conversion fails a null UUID is created.
+
+<h3 class=fn><a href="quuid.html">QUuid</a> <a name="createUuid"></a>QUuid::createUuid ()<tt> [static]</tt>
+</h3>
+
+<p> Returns a new UUID of <a href="#Variant-enum">DCE</a> variant, and <a href="#Version-enum">Random</a> type. The
+UUIDs generated are based on the platform specific pseudo-random
+generator, which is usually not a cryptographic-quality random
+number generator. Therefore, a UUID is not guaranteed to be unique
+cross application instances.
+<p> On Windows, the new UUID is extremely likely to be unique on the
+same or any other system, networked or not.
+<p> <p>See also <a href="#variant">variant</a>() and <a href="#version">version</a>().
+
+<h3 class=fn>bool <a name="isNull"></a>QUuid::isNull () const
+</h3>
+Returns TRUE if this is the null UUID
+{00000000-0000-0000-0000-000000000000}; otherwise returns FALSE.
+
+<h3 class=fn><a name="operator-QString"></a>QUuid::operator QString () const
+</h3>
+
+<p> Returns the string representation of the uuid.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QUuid::operator!= ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+
+<p> Returns TRUE if this QUuid and the <em>other</em> QUuid are different;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-lt"></a>QUuid::operator&lt; ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+
+<p> Returns TRUE if this QUuid is of the same variant,
+and lexicographically before the <em>other</em> QUuid;
+otherwise returns FALSE.
+<p> <p>See also <a href="#variant">variant</a>().
+
+<h3 class=fn><a href="quuid.html">QUuid</a>&nbsp;&amp; <a name="operator-eq"></a>QUuid::operator= ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;uuid )
+</h3>
+
+<p> Assigns the value of <em>uuid</em> to this QUuid object.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QUuid::operator== ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+
+<p> Returns TRUE if this QUuid and the <em>other</em> QUuid are identical;
+otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-gt"></a>QUuid::operator&gt; ( const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;other ) const
+</h3>
+
+<p> Returns TRUE if this QUuid is of the same variant,
+and lexicographically after the <em>other</em> QUuid;
+otherwise returns FALSE.
+<p> <p>See also <a href="#variant">variant</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QUuid::toString () const
+</h3>
+<a href="qstring.html">QString</a> <a href="#toString">QUuid::toString</a>() const
+<p> Returns the string representation of the uuid.
+
+<h3 class=fn><a href="quuid.html#Variant-enum">QUuid::Variant</a> <a name="variant"></a>QUuid::variant () const
+</h3>
+
+<p> Returns the variant of the UUID.
+The null UUID is considered to be of an unknown variant.
+<p> <p>See also <a href="#version">version</a>().
+
+<h3 class=fn><a href="quuid.html#Version-enum">QUuid::Version</a> <a name="version"></a>QUuid::version () const
+</h3>
+
+<p> Returns the version of the UUID, if the UUID is of the DCE
+variant; otherwise returns VerUnknown.
+<p> <p>See also <a href="#variant">variant</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;id )
+</h3>
+
+Writes the uuid <em>id</em> to the datastream <em>s</em>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="quuid.html">QUuid</a>&nbsp;&amp;&nbsp;id )
+</h3>
+
+Reads uuid from from the stream <em>s</em> into <em>id</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvalidator-h.html b/doc/html/qvalidator-h.html
new file mode 100644
index 0000000..9354632
--- /dev/null
+++ b/doc/html/qvalidator-h.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvalidator.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvalidator.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvalidator.h</h1>
+
+<p>This is the verbatim text of the qvalidator.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvalidator.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of validator classes
+**
+** Created : 970610
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVALIDATOR_H
+#define QVALIDATOR_H
+
+#ifndef QT_H
+#include "qobject.h"
+#include "qstring.h" // char*-&gt;QString conversion
+#include "qregexp.h" // QString-&gt;QRegExp conversion
+#endif // QT_H
+
+#ifndef QT_NO_VALIDATOR
+
+
+class Q_EXPORT QValidator : public QObject
+{
+ Q_OBJECT
+public:
+ QValidator( QObject * parent, const char *name = 0 );
+ ~QValidator();
+
+ enum State { Invalid, Intermediate, Valid=Intermediate, Acceptable };
+
+ virtual State validate( QString &amp;, int &amp; ) const = 0;
+ virtual void fixup( QString &amp; ) const;
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QValidator( const QValidator &amp; );
+ QValidator&amp; operator=( const QValidator &amp; );
+#endif
+};
+
+
+class Q_EXPORT QIntValidator : public QValidator
+{
+ Q_OBJECT
+ Q_PROPERTY( int bottom READ bottom WRITE setBottom )
+ Q_PROPERTY( int top READ top WRITE setTop )
+
+public:
+ QIntValidator( QObject * parent, const char *name = 0 );
+ QIntValidator( int bottom, int top,
+ QObject * parent, const char *name = 0 );
+ ~QIntValidator();
+
+ QValidator::State validate( QString &amp;, int &amp; ) const;
+
+ void setBottom( int );
+ void setTop( int );
+ virtual void setRange( int bottom, int top );
+
+ int bottom() const { return b; }
+ int top() const { return t; }
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QIntValidator( const QIntValidator &amp; );
+ QIntValidator&amp; operator=( const QIntValidator &amp; );
+#endif
+
+ int b, t;
+};
+
+#ifndef QT_NO_REGEXP
+
+class Q_EXPORT QDoubleValidator : public QValidator
+{
+ Q_OBJECT
+ Q_PROPERTY( double bottom READ bottom WRITE setBottom )
+ Q_PROPERTY( double top READ top WRITE setTop )
+ Q_PROPERTY( int decimals READ decimals WRITE setDecimals )
+
+public:
+ QDoubleValidator( QObject * parent, const char *name = 0 );
+ QDoubleValidator( double bottom, double top, int decimals,
+ QObject * parent, const char *name = 0 );
+ ~QDoubleValidator();
+
+ QValidator::State validate( QString &amp;, int &amp; ) const;
+
+ virtual void setRange( double bottom, double top, int decimals = 0 );
+ void setBottom( double );
+ void setTop( double );
+ void setDecimals( int );
+
+ double bottom() const { return b; }
+ double top() const { return t; }
+ int decimals() const { return d; }
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QDoubleValidator( const QDoubleValidator &amp; );
+ QDoubleValidator&amp; operator=( const QDoubleValidator &amp; );
+#endif
+
+ double b, t;
+ int d;
+};
+
+
+class Q_EXPORT QRegExpValidator : public QValidator
+{
+ Q_OBJECT
+ // Q_PROPERTY( QRegExp regExp READ regExp WRITE setRegExp )
+
+public:
+ QRegExpValidator( QObject *parent, const char *name = 0 );
+ QRegExpValidator( const QRegExp&amp; rx, QObject *parent,
+ const char *name = 0 );
+ ~QRegExpValidator();
+
+ virtual QValidator::State validate( QString&amp; input, int&amp; pos ) const;
+
+ void setRegExp( const QRegExp&amp; rx );
+ const QRegExp&amp; regExp() const { return r; }
+
+private:
+#if defined(Q_DISABLE_COPY)
+ QRegExpValidator( const QRegExpValidator&amp; );
+ QRegExpValidator&amp; operator=( const QRegExpValidator&amp; );
+#endif
+
+ QRegExp r;
+};
+#endif // QT_NO_REGEXP
+
+
+#endif // QT_NO_VALIDATOR
+
+#endif // QVALIDATOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvalidator-members.html b/doc/html/qvalidator-members.html
new file mode 100644
index 0000000..d379ad9
--- /dev/null
+++ b/doc/html/qvalidator-members.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvalidator.h:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValidator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValidator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvalidator.html">QValidator</a>, including inherited members.
+
+<ul>
+<li><a href="qvalidator.html#QValidator">QValidator</a>()
+<li><a href="qvalidator.html#~QValidator">~QValidator</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qvalidator.html#fixup">fixup</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qvalidator.html#validate">validate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvalidator.html b/doc/html/qvalidator.html
new file mode 100644
index 0000000..833f929
--- /dev/null
+++ b/doc/html/qvalidator.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvalidator.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValidator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValidator Class Reference</h1>
+
+<p>The QValidator class provides validation of input text.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p>Inherited by <a href="qintvalidator.html">QIntValidator</a>, <a href="qdoublevalidator.html">QDoubleValidator</a>, and <a href="qregexpvalidator.html">QRegExpValidator</a>.
+<p><a href="qvalidator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QValidator"><b>QValidator</b></a> ( QObject&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QValidator"><b>~QValidator</b></a> ()</li>
+<li class=fn>enum <a href="#State-enum"><b>State</b></a> { Invalid, Intermediate, Valid = Intermediate, Acceptable }</li>
+<li class=fn>virtual State <a href="#validate"><b>validate</b></a> ( QString&nbsp;&amp;&nbsp;input, int&nbsp;&amp;&nbsp;pos ) const = 0</li>
+<li class=fn>virtual void <a href="#fixup"><b>fixup</b></a> ( QString&nbsp;&amp;&nbsp;input ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValidator class provides validation of input text.
+<p>
+
+<p> The class itself is abstract. Two subclasses, <a href="qintvalidator.html">QIntValidator</a> and
+<a href="qdoublevalidator.html">QDoubleValidator</a>, provide basic numeric-range checking, and <a href="qregexpvalidator.html">QRegExpValidator</a> provides general checking using a custom <a href="qregexp.html#regular-expression">regular expression</a>.
+<p> If the built-in validators aren't sufficient, you can subclass
+QValidator. The class has two virtual functions: <a href="#validate">validate</a>() and
+<a href="#fixup">fixup</a>().
+<p> <a href="#validate">validate</a>() must be implemented by every subclass. It returns
+<a href="#State-enum">Invalid</a>, <a href="#State-enum">Intermediate</a> or <a href="#State-enum">Acceptable</a> depending on whether
+its argument is valid (for the subclass's definition of valid).
+<p> These three states require some explanation. An <a href="#State-enum">Invalid</a> string
+is <em>clearly</em> invalid. <a href="#State-enum">Intermediate</a> is less obvious: the
+concept of validity is slippery when the string is incomplete
+(still being edited). QValidator defines <a href="#State-enum">Intermediate</a> as the
+property of a string that is neither clearly invalid nor
+acceptable as a final result. <a href="#State-enum">Acceptable</a> means that the string
+is acceptable as a final result. One might say that any string
+that is a plausible intermediate state during entry of an <a href="#State-enum">Acceptable</a> string is <a href="#State-enum">Intermediate</a>.
+<p> Here are some examples:
+<p> <ul>
+<p> <li> For a line edit that accepts integers from 0 to 999 inclusive,
+42 and 123 are <a href="#State-enum">Acceptable</a>, the empty string and 1114 are <a href="#State-enum">Intermediate</a> and asdf is <a href="#State-enum">Invalid</a>.
+<p> <li> For an editable combobox that accepts URLs, any well-formed URL
+is <a href="#State-enum">Acceptable</a>, "http://www.trolltech.com/," is <a href="#State-enum">Intermediate</a>
+(it might be a cut and paste operation that accidentally took in a
+comma at the end), the empty string is <a href="#State-enum">Intermediate</a> (the user
+might select and delete all of the text in preparation for entering
+a new URL), and "http:///./" is <a href="#State-enum">Invalid</a>.
+<p> <li> For a spin box that accepts lengths, "11cm" and "1in" are <a href="#State-enum">Acceptable</a>, "11" and the empty string are <a href="#State-enum">Intermediate</a> and
+"http://www.trolltech.com" and "hour" are <a href="#State-enum">Invalid</a>.
+<p> </ul>
+<p> <a href="#fixup">fixup</a>() is provided for validators that can repair some user
+errors. The default implementation does nothing. <a href="qlineedit.html">QLineEdit</a>, for
+example, will call <a href="#fixup">fixup</a>() if the user presses Enter (or Return)
+and the content is not currently valid. This allows the fixup()
+function the opportunity of performing some magic to make an <a href="#State-enum">Invalid</a> string <a href="#State-enum">Acceptable</a>.
+<p> QValidator is typically used with QLineEdit, <a href="qspinbox.html">QSpinBox</a> and
+<a href="qcombobox.html">QComboBox</a>.
+<p>See also <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="State-enum"></a>QValidator::State</h3>
+
+<p> This enum type defines the states in which a validated string can
+exist.
+<ul>
+<li><tt>QValidator::Invalid</tt> - the string is <em>clearly</em> invalid.
+<li><tt>QValidator::Intermediate</tt> - the string is a plausible intermediate value
+during editing.
+<li><tt>QValidator::Acceptable</tt> - the string is acceptable as a final result,
+i.e. it is valid.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValidator"></a>QValidator::QValidator ( <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Sets up the validator. The <em>parent</em> and <em>name</em> parameters are
+passed on to the <a href="qobject.html">QObject</a> constructor.
+
+<h3 class=fn><a name="~QValidator"></a>QValidator::~QValidator ()
+</h3>
+Destroys the validator, freeing any storage and other resources
+used.
+
+<h3 class=fn>void <a name="fixup"></a>QValidator::fixup ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;input ) const<tt> [virtual]</tt>
+</h3>
+
+<p> This function attempts to change <em>input</em> to be valid according to
+this validator's rules. It need not result in a valid string:
+callers of this function must re-test afterwards; the default does
+nothing.
+<p> Reimplementations of this function can change <em>input</em> even if
+they do not produce a valid string. For example, an ISBN validator
+might want to delete every character except digits and "-", even
+if the result is still not a valid ISBN; a surname validator might
+want to remove whitespace from the start and end of the string,
+even if the resulting string is not in the list of accepted
+surnames.
+
+<h3 class=fn><a href="qvalidator.html#State-enum">State</a> <a name="validate"></a>QValidator::validate ( <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;input, int&nbsp;&amp;&nbsp;pos ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> This pure virtual function returns <a href="#State-enum">Invalid</a> if <em>input</em> is
+invalid according to this validator's rules, <a href="#State-enum">Intermediate</a> if it
+is likely that a little more editing will make the input
+acceptable (e.g. the user types '4' into a widget which accepts
+integers between 10 and 99) and <a href="#State-enum">Acceptable</a> if the input is
+valid.
+<p> The function can change <em>input</em> and <em>pos</em> (the cursor position)
+if it wants to.
+
+<p>Reimplemented in <a href="qintvalidator.html#validate">QIntValidator</a>, <a href="qdoublevalidator.html#validate">QDoubleValidator</a>, and <a href="qregexpvalidator.html#validate">QRegExpValidator</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelist-h.html b/doc/html/qvaluelist-h.html
new file mode 100644
index 0000000..7fc21a8
--- /dev/null
+++ b/doc/html/qvaluelist-h.html
@@ -0,0 +1,714 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluelist.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvaluelist.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvaluelist.h</h1>
+
+<p>This is the verbatim text of the qvaluelist.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvaluelist.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QValueList class
+**
+** Created : 990406
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVALUELIST_H
+#define QVALUELIST_H
+
+#ifndef QT_H
+#include "qtl.h"
+#include "qshared.h"
+#include "qdatastream.h"
+#endif // QT_H
+
+#ifndef QT_NO_STL
+#include &lt;iterator&gt;
+#include &lt;list&gt;
+#endif
+
+//#define QT_CHECK_VALUELIST_RANGE
+
+#if defined(Q_CC_MSVC)
+#pragma warning(disable:4284) // "return type for operator -&gt; is not a UDT"
+#endif
+
+template &lt;class T&gt;
+class QValueListNode
+{
+public:
+ QValueListNode( const T&amp; t ) : data( t ) { }
+ QValueListNode() { }
+#if defined(Q_TEMPLATEDLL)
+ // Workaround MS bug in memory de/allocation in DLL vs. EXE
+ virtual ~QValueListNode() { }
+#endif
+
+ QValueListNode&lt;T&gt;* next;
+ QValueListNode&lt;T&gt;* prev;
+ T data;
+};
+
+template&lt;class T&gt;
+class QValueListIterator
+{
+ public:
+ /**
+ * Typedefs
+ */
+ typedef QValueListNode&lt;T&gt;* NodePtr;
+#ifndef QT_NO_STL
+ typedef std::bidirectional_iterator_tag iterator_category;
+#endif
+ typedef T value_type;
+ typedef size_t size_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+ typedef T* pointer;
+ typedef T&amp; reference;
+
+ /**
+ * Variables
+ */
+ NodePtr node;
+
+ /**
+ * Functions
+ */
+ QValueListIterator() : node( 0 ) {}
+ QValueListIterator( NodePtr p ) : node( p ) {}
+ QValueListIterator( const QValueListIterator&lt;T&gt;&amp; it ) : node( it.node ) {}
+
+ bool operator==( const QValueListIterator&lt;T&gt;&amp; it ) const { return node == it.node; }
+ bool operator!=( const QValueListIterator&lt;T&gt;&amp; it ) const { return node != it.node; }
+ const T&amp; operator*() const { return node-&gt;data; }
+ T&amp; operator*() { return node-&gt;data; }
+ // UDT for T = x*
+ // T* operator-&gt;() const { return &amp;node-&gt;data; }
+
+ QValueListIterator&lt;T&gt;&amp; operator++() {
+ node = node-&gt;next;
+ return *this;
+ }
+
+ QValueListIterator&lt;T&gt; operator++(int) {
+ QValueListIterator&lt;T&gt; tmp = *this;
+ node = node-&gt;next;
+ return tmp;
+ }
+
+ QValueListIterator&lt;T&gt;&amp; operator--() {
+ node = node-&gt;prev;
+ return *this;
+ }
+
+ QValueListIterator&lt;T&gt; operator--(int) {
+ QValueListIterator&lt;T&gt; tmp = *this;
+ node = node-&gt;prev;
+ return tmp;
+ }
+
+ QValueListIterator&lt;T&gt;&amp; operator+=( int j ) {
+ while ( j-- )
+ node = node-&gt;next;
+ return *this;
+ }
+
+ QValueListIterator&lt;T&gt;&amp; operator-=( int j ) {
+ while ( j-- )
+ node = node-&gt;prev;
+ return *this;
+ }
+
+};
+
+template&lt;class T&gt;
+class QValueListConstIterator
+{
+ public:
+ /**
+ * Typedefs
+ */
+ typedef QValueListNode&lt;T&gt;* NodePtr;
+#ifndef QT_NO_STL
+ typedef std::bidirectional_iterator_tag iterator_category;
+#endif
+ typedef T value_type;
+ typedef size_t size_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+ typedef const T* pointer;
+ typedef const T&amp; reference;
+
+ /**
+ * Variables
+ */
+ NodePtr node;
+
+ /**
+ * Functions
+ */
+ QValueListConstIterator() : node( 0 ) {}
+ QValueListConstIterator( NodePtr p ) : node( p ) {}
+ QValueListConstIterator( const QValueListConstIterator&lt;T&gt;&amp; it ) : node( it.node ) {}
+ QValueListConstIterator( const QValueListIterator&lt;T&gt;&amp; it ) : node( it.node ) {}
+
+ bool operator==( const QValueListConstIterator&lt;T&gt;&amp; it ) const { return node == it.node; }
+ bool operator!=( const QValueListConstIterator&lt;T&gt;&amp; it ) const { return node != it.node; }
+ const T&amp; operator*() const { return node-&gt;data; }
+ // UDT for T = x*
+ // const T* operator-&gt;() const { return &amp;node-&gt;data; }
+
+ QValueListConstIterator&lt;T&gt;&amp; operator++() {
+ node = node-&gt;next;
+ return *this;
+ }
+
+ QValueListConstIterator&lt;T&gt; operator++(int) {
+ QValueListConstIterator&lt;T&gt; tmp = *this;
+ node = node-&gt;next;
+ return tmp;
+ }
+
+ QValueListConstIterator&lt;T&gt;&amp; operator--() {
+ node = node-&gt;prev;
+ return *this;
+ }
+
+ QValueListConstIterator&lt;T&gt; operator--(int) {
+ QValueListConstIterator&lt;T&gt; tmp = *this;
+ node = node-&gt;prev;
+ return tmp;
+ }
+};
+
+template &lt;class T&gt;
+class QValueListPrivate : public QShared
+{
+public:
+ /**
+ * Typedefs
+ */
+ typedef QValueListIterator&lt;T&gt; Iterator;
+ typedef QValueListConstIterator&lt;T&gt; ConstIterator;
+ typedef QValueListNode&lt;T&gt; Node;
+ typedef QValueListNode&lt;T&gt;* NodePtr;
+ typedef size_t size_type;
+
+ /**
+ * Functions
+ */
+ QValueListPrivate();
+ QValueListPrivate( const QValueListPrivate&lt;T&gt;&amp; _p );
+
+ void derefAndDelete() // ### hack to get around hp-cc brain damage
+ {
+ if ( deref() )
+ delete this;
+ }
+
+#if defined(Q_TEMPLATEDLL)
+ // Workaround MS bug in memory de/allocation in DLL vs. EXE
+ virtual
+#endif
+ ~QValueListPrivate();
+
+ Iterator insert( Iterator it, const T&amp; x );
+ Iterator remove( Iterator it );
+ NodePtr find( NodePtr start, const T&amp; x ) const;
+ int findIndex( NodePtr start, const T&amp; x ) const;
+ uint contains( const T&amp; x ) const;
+ uint remove( const T&amp; x );
+ NodePtr at( size_type i ) const;
+ void clear();
+
+ NodePtr node;
+ size_type nodes;
+};
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueListPrivate&lt;T&gt;::QValueListPrivate()
+{
+ node = new Node; node-&gt;next = node-&gt;prev = node; nodes = 0;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueListPrivate&lt;T&gt;::QValueListPrivate( const QValueListPrivate&lt;T&gt;&amp; _p )
+ : QShared()
+{
+ node = new Node; node-&gt;next = node-&gt;prev = node; nodes = 0;
+ Iterator b( _p.node-&gt;next );
+ Iterator e( _p.node );
+ Iterator i( node );
+ while( b != e )
+ insert( i, *b++ );
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueListPrivate&lt;T&gt;::~QValueListPrivate() {
+ NodePtr p = node-&gt;next;
+ while( p != node ) {
+ NodePtr x = p-&gt;next;
+ delete p;
+ p = x;
+ }
+ delete node;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueListPrivate&lt;T&gt;::Iterator QValueListPrivate&lt;T&gt;::insert( Q_TYPENAME QValueListPrivate&lt;T&gt;::Iterator it, const T&amp; x )
+{
+ NodePtr p = new Node( x );
+ p-&gt;next = it.node;
+ p-&gt;prev = it.node-&gt;prev;
+ it.node-&gt;prev-&gt;next = p;
+ it.node-&gt;prev = p;
+ nodes++;
+ return p;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueListPrivate&lt;T&gt;::Iterator QValueListPrivate&lt;T&gt;::remove( Q_TYPENAME QValueListPrivate&lt;T&gt;::Iterator it )
+{
+ Q_ASSERT ( it.node != node );
+ NodePtr next = it.node-&gt;next;
+ NodePtr prev = it.node-&gt;prev;
+ prev-&gt;next = next;
+ next-&gt;prev = prev;
+ delete it.node;
+ nodes--;
+ return Iterator( next );
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueListPrivate&lt;T&gt;::NodePtr QValueListPrivate&lt;T&gt;::find( Q_TYPENAME QValueListPrivate&lt;T&gt;::NodePtr start, const T&amp; x ) const
+{
+ ConstIterator first( start );
+ ConstIterator last( node );
+ while( first != last) {
+ if ( *first == x )
+ return first.node;
+ ++first;
+ }
+ return last.node;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES int QValueListPrivate&lt;T&gt;::findIndex( Q_TYPENAME QValueListPrivate&lt;T&gt;::NodePtr start, const T&amp; x ) const
+{
+ ConstIterator first( start );
+ ConstIterator last( node );
+ int pos = 0;
+ while( first != last) {
+ if ( *first == x )
+ return pos;
+ ++first;
+ ++pos;
+ }
+ return -1;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES uint QValueListPrivate&lt;T&gt;::contains( const T&amp; x ) const
+{
+ uint result = 0;
+ Iterator first = Iterator( node-&gt;next );
+ Iterator last = Iterator( node );
+ while( first != last) {
+ if ( *first == x )
+ ++result;
+ ++first;
+ }
+ return result;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES uint QValueListPrivate&lt;T&gt;::remove( const T&amp; _x )
+{
+ const T x = _x;
+ uint result = 0;
+ Iterator first = Iterator( node-&gt;next );
+ Iterator last = Iterator( node );
+ while( first != last) {
+ if ( *first == x ) {
+ first = remove( first );
+ ++result;
+ } else
+ ++first;
+ }
+ return result;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueListPrivate&lt;T&gt;::NodePtr QValueListPrivate&lt;T&gt;::at( size_type i ) const
+{
+ Q_ASSERT( i &lt;= nodes );
+ NodePtr p = node-&gt;next;
+ for( size_type x = 0; x &lt; i; ++x )
+ p = p-&gt;next;
+ return p;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueListPrivate&lt;T&gt;::clear()
+{
+ nodes = 0;
+ NodePtr p = node-&gt;next;
+ while( p != node ) {
+ NodePtr next = p-&gt;next;
+ delete p;
+ p = next;
+ }
+ node-&gt;next = node-&gt;prev = node;
+}
+
+#ifdef QT_CHECK_RANGE
+# if !defined( QT_NO_DEBUG ) &amp;&amp; defined( QT_CHECK_VALUELIST_RANGE )
+# define QT_CHECK_INVALID_LIST_ELEMENT if ( empty() ) qWarning( "QValueList: Warning invalid element" )
+# define QT_CHECK_INVALID_LIST_ELEMENT_FATAL Q_ASSERT( !empty() );
+# else
+# define QT_CHECK_INVALID_LIST_ELEMENT
+# define QT_CHECK_INVALID_LIST_ELEMENT_FATAL
+# endif
+#else
+# define QT_CHECK_INVALID_LIST_ELEMENT
+# define QT_CHECK_INVALID_LIST_ELEMENT_FATAL
+#endif
+
+template &lt;class T&gt; class QDeepCopy;
+
+template &lt;class T&gt;
+class QValueList
+{
+public:
+ /**
+ * Typedefs
+ */
+ typedef QValueListIterator&lt;T&gt; iterator;
+ typedef QValueListConstIterator&lt;T&gt; const_iterator;
+ typedef T value_type;
+ typedef value_type* pointer;
+ typedef const value_type* const_pointer;
+ typedef value_type&amp; reference;
+ typedef const value_type&amp; const_reference;
+ typedef size_t size_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+
+ /**
+ * API
+ */
+ QValueList() { sh = new QValueListPrivate&lt;T&gt;; }
+ QValueList( const QValueList&lt;T&gt;&amp; l ) { sh = l.sh; sh-&gt;ref(); }
+#ifndef QT_NO_STL
+ QValueList( const std::list&lt;T&gt;&amp; l )
+ {
+ sh = new QValueListPrivate&lt;T&gt;;
+ qCopy( l.begin(), l.end(), std::back_inserter( *this ) );
+ }
+#endif
+ ~QValueList() { sh-&gt;derefAndDelete(); }
+
+ QValueList&lt;T&gt;&amp; operator= ( const QValueList&lt;T&gt;&amp; l )
+ {
+ l.sh-&gt;ref();
+ sh-&gt;derefAndDelete();
+ sh = l.sh;
+ return *this;
+ }
+#ifndef QT_NO_STL
+ QValueList&lt;T&gt;&amp; operator= ( const std::list&lt;T&gt;&amp; l )
+ {
+ detach();
+ qCopy( l.begin(), l.end(), std::back_inserter( *this ) );
+ return *this;
+ }
+ bool operator== ( const std::list&lt;T&gt;&amp; l ) const
+ {
+ if ( size() != l.size() )
+ return FALSE;
+ const_iterator it2 = begin();
+#if !defined(Q_CC_MIPS)
+ typename
+#endif
+ std::list&lt;T&gt;::const_iterator it = l.begin();
+ for ( ; it2 != end(); ++it2, ++it )
+ if ( !((*it2) == (*it)) )
+ return FALSE;
+ return TRUE;
+ }
+#endif
+ bool operator== ( const QValueList&lt;T&gt;&amp; l ) const;
+ bool operator!= ( const QValueList&lt;T&gt;&amp; l ) const { return !( *this == l ); }
+ iterator begin() { detach(); return iterator( sh-&gt;node-&gt;next ); }
+ const_iterator begin() const { return const_iterator( sh-&gt;node-&gt;next ); }
+ const_iterator constBegin() const { return const_iterator( sh-&gt;node-&gt;next ); }
+ iterator end() { detach(); return iterator( sh-&gt;node ); }
+ const_iterator end() const { return const_iterator( sh-&gt;node ); }
+ const_iterator constEnd() const { return const_iterator( sh-&gt;node ); }
+ iterator insert( iterator it, const T&amp; x ) { detach(); return sh-&gt;insert( it, x ); }
+ uint remove( const T&amp; x ) { detach(); return sh-&gt;remove( x ); }
+ void clear();
+
+ // ### 4.0: move out of class
+ QValueList&lt;T&gt;&amp; operator&lt;&lt; ( const T&amp; x )
+ {
+ append( x );
+ return *this;
+ }
+
+ size_type size() const { return sh-&gt;nodes; }
+ bool empty() const { return sh-&gt;nodes == 0; }
+ void push_front( const T&amp; x ) { detach(); sh-&gt;insert( begin(), x ); }
+ void push_back( const T&amp; x ) { detach(); sh-&gt;insert( end(), x ); }
+ iterator erase( iterator pos ) { detach(); return sh-&gt;remove( pos ); }
+ iterator erase( iterator first, iterator last );
+ reference front() { QT_CHECK_INVALID_LIST_ELEMENT_FATAL; return *begin(); }
+ const_reference front() const { QT_CHECK_INVALID_LIST_ELEMENT_FATAL; return *begin(); }
+ reference back() { QT_CHECK_INVALID_LIST_ELEMENT_FATAL; return *(--end()); }
+ const_reference back() const { QT_CHECK_INVALID_LIST_ELEMENT_FATAL; return *(--end()); }
+ void pop_front() { QT_CHECK_INVALID_LIST_ELEMENT; erase( begin() ); }
+ void pop_back() {
+ QT_CHECK_INVALID_LIST_ELEMENT;
+ iterator tmp = end();
+ erase( --tmp );
+ }
+ void insert( iterator pos, size_type n, const T&amp; x );
+ // Some compilers (incl. vc++) would instantiate this function even if
+ // it is not used; this would constrain QValueList to classes that provide
+ // an operator&lt;
+ /*
+ void sort()
+ {
+ qHeapSort( *this );
+ }
+ */
+
+ QValueList&lt;T&gt; operator+ ( const QValueList&lt;T&gt;&amp; l ) const;
+ QValueList&lt;T&gt;&amp; operator+= ( const QValueList&lt;T&gt;&amp; l );
+
+ iterator fromLast() { detach(); return iterator( sh-&gt;node-&gt;prev ); }
+ const_iterator fromLast() const { return const_iterator( sh-&gt;node-&gt;prev ); }
+
+ bool isEmpty() const { return ( sh-&gt;nodes == 0 ); }
+
+ iterator append( const T&amp; x ) { detach(); return sh-&gt;insert( end(), x ); }
+ iterator prepend( const T&amp; x ) { detach(); return sh-&gt;insert( begin(), x ); }
+
+ iterator remove( iterator it ) { detach(); return sh-&gt;remove( it ); }
+
+ T&amp; first() { QT_CHECK_INVALID_LIST_ELEMENT; detach(); return sh-&gt;node-&gt;next-&gt;data; }
+ const T&amp; first() const { QT_CHECK_INVALID_LIST_ELEMENT; return sh-&gt;node-&gt;next-&gt;data; }
+ T&amp; last() { QT_CHECK_INVALID_LIST_ELEMENT; detach(); return sh-&gt;node-&gt;prev-&gt;data; }
+ const T&amp; last() const { QT_CHECK_INVALID_LIST_ELEMENT; return sh-&gt;node-&gt;prev-&gt;data; }
+
+ T&amp; operator[] ( size_type i ) { QT_CHECK_INVALID_LIST_ELEMENT; detach(); return sh-&gt;at(i)-&gt;data; }
+ const T&amp; operator[] ( size_type i ) const { QT_CHECK_INVALID_LIST_ELEMENT; return sh-&gt;at(i)-&gt;data; }
+ iterator at( size_type i ) { QT_CHECK_INVALID_LIST_ELEMENT; detach(); return iterator( sh-&gt;at(i) ); }
+ const_iterator at( size_type i ) const { QT_CHECK_INVALID_LIST_ELEMENT; return const_iterator( sh-&gt;at(i) ); }
+ iterator find ( const T&amp; x ) { detach(); return iterator( sh-&gt;find( sh-&gt;node-&gt;next, x) ); }
+ const_iterator find ( const T&amp; x ) const { return const_iterator( sh-&gt;find( sh-&gt;node-&gt;next, x) ); }
+ iterator find ( iterator it, const T&amp; x ) { detach(); return iterator( sh-&gt;find( it.node, x ) ); }
+ const_iterator find ( const_iterator it, const T&amp; x ) const { return const_iterator( sh-&gt;find( it.node, x ) ); }
+ int findIndex( const T&amp; x ) const { return sh-&gt;findIndex( sh-&gt;node-&gt;next, x) ; }
+ size_type contains( const T&amp; x ) const { return sh-&gt;contains( x ); }
+
+ size_type count() const { return sh-&gt;nodes; }
+
+ QValueList&lt;T&gt;&amp; operator+= ( const T&amp; x )
+ {
+ append( x );
+ return *this;
+ }
+ typedef QValueListIterator&lt;T&gt; Iterator;
+ typedef QValueListConstIterator&lt;T&gt; ConstIterator;
+ typedef T ValueType;
+
+protected:
+ /**
+ * Helpers
+ */
+ void detach() { if ( sh-&gt;count &gt; 1 ) detachInternal(); }
+
+ /**
+ * Variables
+ */
+ QValueListPrivate&lt;T&gt;* sh;
+
+private:
+ void detachInternal();
+
+ friend class QDeepCopy&lt; QValueList&lt;T&gt; &gt;;
+};
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES bool QValueList&lt;T&gt;::operator== ( const QValueList&lt;T&gt;&amp; l ) const
+{
+ if ( size() != l.size() )
+ return FALSE;
+ const_iterator it2 = begin();
+ const_iterator it = l.begin();
+ for( ; it != l.end(); ++it, ++it2 )
+ if ( !( *it == *it2 ) )
+ return FALSE;
+ return TRUE;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueList&lt;T&gt;::clear()
+{
+ if ( sh-&gt;count == 1 ) sh-&gt;clear(); else { sh-&gt;deref(); sh = new QValueListPrivate&lt;T&gt;; }
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueList&lt;T&gt;::iterator QValueList&lt;T&gt;::erase( Q_TYPENAME QValueList&lt;T&gt;::iterator first, Q_TYPENAME QValueList&lt;T&gt;::iterator last )
+{
+ while ( first != last )
+ erase( first++ );
+ return last;
+}
+
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueList&lt;T&gt;::insert( Q_TYPENAME QValueList&lt;T&gt;::iterator pos, size_type n, const T&amp; x )
+{
+ for ( ; n &gt; 0; --n )
+ insert( pos, x );
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueList&lt;T&gt; QValueList&lt;T&gt;::operator+ ( const QValueList&lt;T&gt;&amp; l ) const
+{
+ QValueList&lt;T&gt; l2( *this );
+ for( const_iterator it = l.begin(); it != l.end(); ++it )
+ l2.append( *it );
+ return l2;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueList&lt;T&gt;&amp; QValueList&lt;T&gt;::operator+= ( const QValueList&lt;T&gt;&amp; l )
+{
+ QValueList&lt;T&gt; copy = l;
+ for( const_iterator it = copy.begin(); it != copy.end(); ++it )
+ append( *it );
+ return *this;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueList&lt;T&gt;::detachInternal()
+{
+ sh-&gt;deref(); sh = new QValueListPrivate&lt;T&gt;( *sh );
+}
+
+#ifndef QT_NO_DATASTREAM
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&gt;&gt;( QDataStream&amp; s, QValueList&lt;T&gt;&amp; l )
+{
+ l.clear();
+ Q_UINT32 c;
+ s &gt;&gt; c;
+ for( Q_UINT32 i = 0; i &lt; c; ++i )
+ {
+ T t;
+ s &gt;&gt; t;
+ l.append( t );
+ if ( s.atEnd() )
+ break;
+ }
+ return s;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&lt;&lt;( QDataStream&amp; s, const QValueList&lt;T&gt;&amp; l )
+{
+ s &lt;&lt; (Q_UINT32)l.size();
+ QValueListConstIterator&lt;T&gt; it = l.begin();
+ for( ; it != l.end(); ++it )
+ s &lt;&lt; *it;
+ return s;
+}
+#endif // QT_NO_DATASTREAM
+
+#define Q_DEFINED_QVALUELIST
+#define Q_DEFINED_QVALUELIST
+#include "qwinexport.h"
+#endif // QVALUELIST_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelist-members.html b/doc/html/qvaluelist-members.html
new file mode 100644
index 0000000..32ba682
--- /dev/null
+++ b/doc/html/qvaluelist-members.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluelist.h:410 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueList Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValueList</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvaluelist.html">QValueList</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluelist.html#QValueList">QValueList</a>()
+<li><a href="qvaluelist.html#~QValueList">~QValueList</a>()
+<li><a href="qvaluelist.html#append">append</a>()
+<li><a href="qvaluelist.html#at">at</a>()
+<li><a href="qvaluelist.html#back">back</a>()
+<li><a href="qvaluelist.html#begin">begin</a>()
+<li><a href="qvaluelist.html#clear">clear</a>()
+<li><a href="qvaluelist.html#constBegin">constBegin</a>()
+<li><a href="qvaluelist.html#constEnd">constEnd</a>()
+<li><a href="qvaluelist.html#contains">contains</a>()
+<li><a href="qvaluelist.html#count">count</a>()
+<li><a href="qvaluelist.html#empty">empty</a>()
+<li><a href="qvaluelist.html#end">end</a>()
+<li><a href="qvaluelist.html#erase">erase</a>()
+<li><a href="qvaluelist.html#find">find</a>()
+<li><a href="qvaluelist.html#findIndex">findIndex</a>()
+<li><a href="qvaluelist.html#first">first</a>()
+<li><a href="qvaluelist.html#fromLast">fromLast</a>()
+<li><a href="qvaluelist.html#front">front</a>()
+<li><a href="qvaluelist.html#insert">insert</a>()
+<li><a href="qvaluelist.html#isEmpty">isEmpty</a>()
+<li><a href="qvaluelist.html#last">last</a>()
+<li><a href="qvaluelist.html#operator!-eq">operator!=</a>()
+<li><a href="qvaluelist.html#operator+">operator+</a>()
+<li><a href="qvaluelist.html#operator+-eq">operator+=</a>()
+<li><a href="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qvaluelist.html#operator-eq">operator=</a>()
+<li><a href="qvaluelist.html#operator-eq-eq">operator==</a>()
+<li><a href="qvaluelist.html#operator[]">operator[]</a>()
+<li><a href="qvaluelist.html#pop_back">pop_back</a>()
+<li><a href="qvaluelist.html#pop_front">pop_front</a>()
+<li><a href="qvaluelist.html#prepend">prepend</a>()
+<li><a href="qvaluelist.html#push_back">push_back</a>()
+<li><a href="qvaluelist.html#push_front">push_front</a>()
+<li><a href="qvaluelist.html#remove">remove</a>()
+<li><a href="qvaluelist.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelist.html b/doc/html/qvaluelist.html
new file mode 100644
index 0000000..35c85a4
--- /dev/null
+++ b/doc/html/qvaluelist.html
@@ -0,0 +1,785 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvaluelist.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueList Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValueList Class Reference</h1>
+
+<p>The QValueList class is a value-based template class that
+provides lists.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qvaluelist-h.html">qvaluelist.h</a>&gt;</tt>
+<p>Inherited by <a href="qcanvasitemlist.html">QCanvasItemList</a>, <a href="qstringlist.html">QStringList</a>, and <a href="qvaluestack.html">QValueStack</a>.
+<p><a href="qvaluelist-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef QValueListIterator&lt;T&gt;&nbsp;<a href="#iterator"><b>iterator</b></a></li>
+<li class=fn>typedef QValueListConstIterator&lt;T&gt;&nbsp;<a href="#const_iterator"><b>const_iterator</b></a></li>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef value_type&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;*&nbsp;<a href="#const_pointer"><b>const_pointer</b></a></li>
+<li class=fn>typedef value_type&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;&amp;&nbsp;<a href="#const_reference"><b>const_reference</b></a></li>
+<li class=fn>typedef size_t&nbsp;<a href="#size_type"><b>size_type</b></a></li>
+<li class=fn><a href="#QValueList"><b>QValueList</b></a> ()</li>
+<li class=fn><a href="#QValueList-2"><b>QValueList</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn><a href="#QValueList-3"><b>QValueList</b></a> ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn><a href="#~QValueList"><b>~QValueList</b></a> ()</li>
+<li class=fn>QValueList&lt;T&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>QValueList&lt;T&gt; &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l ) const</li>
+<li class=fn>iterator <a href="#begin-2"><b>begin</b></a> ()</li>
+<li class=fn>const_iterator <a href="#begin"><b>begin</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constBegin"><b>constBegin</b></a> () const</li>
+<li class=fn>iterator <a href="#end"><b>end</b></a> ()</li>
+<li class=fn>const_iterator <a href="#end-2"><b>end</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constEnd"><b>constEnd</b></a> () const</li>
+<li class=fn>iterator <a href="#insert"><b>insert</b></a> ( iterator&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>uint <a href="#remove-2"><b>remove</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>QValueList&lt;T&gt; &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>size_type <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#empty"><b>empty</b></a> () const</li>
+<li class=fn>void <a href="#push_front"><b>push_front</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>void <a href="#push_back"><b>push_back</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>iterator <a href="#erase"><b>erase</b></a> ( iterator&nbsp;it )</li>
+<li class=fn>iterator <a href="#erase-2"><b>erase</b></a> ( iterator&nbsp;first, iterator&nbsp;last )</li>
+<li class=fn>reference <a href="#front"><b>front</b></a> ()</li>
+<li class=fn>const_reference <a href="#front-2"><b>front</b></a> () const</li>
+<li class=fn>reference <a href="#back"><b>back</b></a> ()</li>
+<li class=fn>const_reference <a href="#back-2"><b>back</b></a> () const</li>
+<li class=fn>void <a href="#pop_front"><b>pop_front</b></a> ()</li>
+<li class=fn>void <a href="#pop_back"><b>pop_back</b></a> ()</li>
+<li class=fn>void <a href="#insert-2"><b>insert</b></a> ( iterator&nbsp;pos, size_type&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>QValueList&lt;T&gt; <a href="#operator+"><b>operator+</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l ) const</li>
+<li class=fn>QValueList&lt;T&gt; &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>iterator <a href="#fromLast-2"><b>fromLast</b></a> ()</li>
+<li class=fn>const_iterator <a href="#fromLast"><b>fromLast</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>iterator <a href="#append"><b>append</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>iterator <a href="#prepend"><b>prepend</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>iterator <a href="#remove"><b>remove</b></a> ( iterator&nbsp;it )</li>
+<li class=fn>T &amp; <a href="#first"><b>first</b></a> ()</li>
+<li class=fn>const T &amp; <a href="#first-2"><b>first</b></a> () const</li>
+<li class=fn>T &amp; <a href="#last"><b>last</b></a> ()</li>
+<li class=fn>const T &amp; <a href="#last-2"><b>last</b></a> () const</li>
+<li class=fn>T &amp; <a href="#operator[]-2"><b>operator[]</b></a> ( size_type&nbsp;i )</li>
+<li class=fn>const T &amp; <a href="#operator[]"><b>operator[]</b></a> ( size_type&nbsp;i ) const</li>
+<li class=fn>iterator <a href="#at-2"><b>at</b></a> ( size_type&nbsp;i )</li>
+<li class=fn>const_iterator <a href="#at"><b>at</b></a> ( size_type&nbsp;i ) const</li>
+<li class=fn>iterator <a href="#find"><b>find</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>const_iterator <a href="#find-2"><b>find</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>iterator <a href="#find-3"><b>find</b></a> ( iterator&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>const_iterator <a href="#find-4"><b>find</b></a> ( const_iterator&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>int <a href="#findIndex"><b>findIndex</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>size_type <a href="#contains"><b>contains</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>size_type <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QValueList&lt;T&gt; &amp; <a href="#operator+-eq-2"><b>operator+=</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>typedef QValueListIterator&lt;T&gt;&nbsp;<a href="#Iterator"><b>Iterator</b></a></li>
+<li class=fn>typedef QValueListConstIterator&lt;T&gt;&nbsp;<a href="#ConstIterator"><b>ConstIterator</b></a></li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt-2"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QValueList&lt;T&gt;&nbsp;&amp;&nbsp;l )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValueList class is a value-based template class that
+provides lists.
+<p>
+
+
+
+
+<p> QValueList is a Qt implementation of an STL-like list container.
+It can be used in your application if the standard <tt>list</tt> is not
+available for your target platform(s). QValueList is part of the
+<a href="qtl.html">Qt Template Library</a>.
+<p> QValueList&lt;T&gt; defines a template instance to create a list of
+values that all have the class T. Note that QValueList does not
+store pointers to the members of the list; it holds a copy of
+every member. This is why these kinds of classes are called "value
+based"; <a href="qptrlist.html">QPtrList</a> and <a href="qdict.html">QDict</a> are "pointer based".
+<p> QValueList contains and manages a collection of objects of type T
+and provides iterators that allow the contained objects to be
+addressed. QValueList owns the contained items. For more relaxed
+ownership semantics, see <a href="qptrcollection.html">QPtrCollection</a> and friends which are
+pointer-based containers.
+<p> Some classes cannot be used within a QValueList, for example, all
+classes derived from <a href="qobject.html">QObject</a> and thus all classes that implement
+widgets. Only values can be used in a QValueList. To qualify as a
+value the class must provide:
+<ul>
+<li> a copy constructor;
+<li> an assignment operator;
+<li> a default constructor, i.e. a constructor that does not take any arguments.
+</ul>
+<p> Note that C++ defaults to field-by-field assignment operators and
+copy constructors if no explicit version is supplied. In many
+cases this is sufficient.
+<p> In addition, some compilers (e.g. Sun CC) might require that the
+class provides an equality operator (<a href="#operator-eq-eq">operator==</a>()).
+<p> QValueList's function naming is consistent with the other Qt
+classes (e.g. <a href="#count">count</a>(), <a href="#isEmpty">isEmpty</a>()). QValueList also provides extra
+functions for compatibility with STL algorithms, such as <a href="#size">size</a>()
+and <a href="#empty">empty</a>(). Programmers already familiar with the STL <tt>list</tt> may
+prefer to use the STL-compatible functions.
+<p> Example:
+<pre>
+ class Employee
+ {
+ public:
+ Employee(): sn(0) {}
+ Employee( const <a href="qstring.html">QString</a>&amp; forename, const <a href="qstring.html">QString</a>&amp; surname, int salary )
+ : fn(forename), sn(surname), sal(salary)
+ {}
+
+ <a href="qstring.html">QString</a> forename() const { return fn; }
+ <a href="qstring.html">QString</a> surname() const { return sn; }
+ int salary() const { return sal; }
+ void setSalary( int salary ) { sal = salary; }
+
+ private:
+ <a href="qstring.html">QString</a> fn;
+ <a href="qstring.html">QString</a> sn;
+ int sal;
+ };
+
+ typedef QValueList&lt;Employee&gt; EmployeeList;
+ EmployeeList list;
+
+ list.append( Employee("John", "Doe", 50000) );
+ list.append( Employee("Jane", "Williams", 80000) );
+ list.append( Employee("Tom", "Jones", 60000) );
+
+ Employee mary( "Mary", "Hawthorne", 90000 );
+ list.append( mary );
+ mary.setSalary( 100000 );
+
+ EmployeeList::<a href="#iterator">iterator</a> it;
+ for ( it = list.begin(); it != list.end(); ++it )
+ cout &lt;&lt; (*it).surname().latin1() &lt;&lt; ", " &lt;&lt;
+ (*it).forename().latin1() &lt;&lt; " earns " &lt;&lt;
+ (*it).salary() &lt;&lt; endl;
+
+ // Output:
+ // Doe, John earns 50000
+ // Williams, Jane earns 80000
+ // Hawthorne, Mary earns 90000
+ // Jones, Tom earns 60000
+ </pre>
+
+<p> Notice that the latest changes to Mary's salary did not affect the
+value in the list because the list created a copy of Mary's entry.
+<p> There are several ways to find items in the list. The <a href="#begin">begin</a>() and
+<a href="#end">end</a>() functions return iterators to the beginning and end of the
+list. The advantage of getting an iterator is that you can move
+forward or backward from this position by
+incrementing/decrementing the iterator. The iterator returned by
+end() points to the item which is one <em>past</em> the last item in the
+container. The past-the-end iterator is still associated with the
+list it belongs to, however it is <em>not</em> dereferenceable;
+<a href="qsize.html#operator*-4">operator*</a>() will not return a well-defined value. If the list is
+<a href="#empty">empty</a>(), the iterator returned by begin() will equal the iterator
+returned by end().
+<p> Another way to find an item in the list is by using the <a href="qtl.html#qFind">qFind()</a> algorithm. For example:
+<p> <pre>
+ QValueList&lt;int&gt; list;
+ ...
+ QValueList&lt;int&gt;::<a href="#iterator">iterator</a> it = qFind( list.<a href="#begin">begin</a>(), list.<a href="#end">end</a>(), 3 );
+ if ( it != list.<a href="#end">end</a>() )
+ // it points to the found item
+ </pre>
+
+<p> It is safe to have multiple iterators a the list at the same
+time. If some member of the list is removed, only iterators
+pointing to the removed member become invalid. Inserting into the
+list does not invalidate any iterator. For convenience, the
+function <a href="#last">last</a>() returns a reference to the last item in the list,
+and <a href="#first">first</a>() returns a reference to the the first item. If the
+list is empty(), both last() and first() have undefined behavior
+(your application will crash or do unpredictable things). Use
+last() and first() with caution, for example:
+<p> <pre>
+ QValueList&lt;int&gt; list;
+ list.<a href="#append">append</a>( 1 );
+ list.<a href="#append">append</a>( 2 );
+ list.<a href="#append">append</a>( 3 );
+ ...
+ if ( !list.<a href="#empty">empty</a>() ) {
+ // OK, modify the first item
+ int&amp; i = list.<a href="#first">first</a>();
+ i = 18;
+ }
+ ...
+ QValueList&lt;double&gt; dlist;
+ double d = dlist.<a href="#last">last</a>(); // undefined
+ </pre>
+
+<p> Because QValueList is value-based there is no need to be careful
+about deleting items in the list. The list holds its own copies
+and will free them if the corresponding member or the list itself
+is deleted. You can force the list to free all of its items with
+<a href="#clear">clear</a>().
+<p> QValueList is <a href="shclass.html#shared-implicitly">shared implicitly</a>, which means it can be copied in
+constant time, i.e. O(1). If multiple QValueList instances share
+the same data and one needs to modify its contents, this modifying
+instance makes a copy and modifies its private copy; therefore it
+does not affect the other instances; this takes O(n) time. This is
+often called "copy on write". If a QValueList is being used in a
+multi-threaded program, you must protect all access to the list.
+See <a href="qmutex.html">QMutex</a>.
+<p> There are several ways to insert items into the list. The
+<a href="#prepend">prepend</a>() and <a href="#append">append</a>() functions insert items at the beginning and
+the end of the list respectively. The <a href="#insert">insert</a>() function comes in
+several flavors and can be used to add one or more items at
+specific positions within the list.
+<p> Items can also be removed from the list in several ways. There
+are several variants of the <a href="#remove">remove</a>() function, which removes a
+specific item from the list. The remove() function will find and
+remove items according to a specific item value.
+<p> Lists can also be sorted using the <a href="qtl.html">Qt Template
+ Library</a>. For example with qHeapSort():
+<p> Example:
+<pre>
+ QValueList&lt;int&gt; list;
+ list.<a href="#append">append</a>( 5 );
+ list.<a href="#append">append</a>( 8 );
+ list.<a href="#append">append</a>( 3 );
+ list.<a href="#append">append</a>( 4 );
+ qHeapSort( list );
+ </pre>
+
+<p> <p>See also <a href="qvaluelistiterator.html">QValueListIterator</a>, <a href="qtl.html">Qt Template Library Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ConstIterator"></a>QValueList::ConstIterator</h3>
+
+<p> This iterator is an instantiation of <a href="qvaluelistconstiterator.html">QValueListConstIterator</a> for
+the same type as this QValueList. In other words, if you
+instantiate QValueList<int>, ConstIterator is a
+QValueListConstIterator<int>. Several member function use it, such
+as <a href="#begin">QValueList::begin</a>(), which returns an iterator pointing to the
+first item in the list.
+<p> Functionally, this is almost the same as Iterator. The only
+difference is you cannot use ConstIterator for non-const
+operations, and that the compiler can often generate better code
+if you use ConstIterator.
+<p> <p>See also <a href="qvaluelistiterator.html">QValueListIterator</a> and <a href="#Iterator">Iterator</a>.
+
+<h3 class=fn><a name="Iterator"></a>QValueList::Iterator</h3>
+
+<p> This iterator is an instantiation of <a href="qvaluelistiterator.html">QValueListIterator</a> for the
+same type as this QValueList. In other words, if you instantiate
+QValueList<int>, Iterator is a QValueListIterator<int>. Several
+member function use it, such as <a href="#begin">QValueList::begin</a>(), which returns
+an iterator pointing to the first item in the list.
+<p> Functionally, this is almost the same as ConstIterator. The only
+difference is that you cannot use ConstIterator for non-const
+operations, and that the compiler can often generate better code
+if you use ConstIterator.
+<p> <p>See also <a href="qvaluelistiterator.html">QValueListIterator</a> and <a href="#ConstIterator">ConstIterator</a>.
+
+<h3 class=fn><a name="const_iterator"></a>QValueList::const_iterator</h3>
+The list's const iterator type, <a href="qvaluelistconstiterator.html">QValueListConstIterator</a>.
+<h3 class=fn><a name="const_pointer"></a>QValueList::const_pointer</h3>
+The const pointer to T type.
+<h3 class=fn><a name="const_reference"></a>QValueList::const_reference</h3>
+The const reference to T type.
+<h3 class=fn><a name="iterator"></a>QValueList::iterator</h3>
+The list's iterator type, <a href="qvaluelistiterator.html">QValueListIterator</a>.
+<h3 class=fn><a name="pointer"></a>QValueList::pointer</h3>
+The pointer to T type.
+<h3 class=fn><a name="reference"></a>QValueList::reference</h3>
+The reference to T type.
+<h3 class=fn><a name="size_type"></a>QValueList::size_type</h3>
+An unsigned integral type, used to represent various sizes.
+<h3 class=fn><a name="value_type"></a>QValueList::value_type</h3>
+The type of the object stored in the list, T.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValueList"></a>QValueList::QValueList ()
+</h3>
+
+<p> Constructs an empty list.
+
+<h3 class=fn><a name="QValueList-2"></a>QValueList::QValueList ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Constructs a copy of <em>l</em>.
+<p> This operation takes O(1) time because QValueList is <a href="shclass.html#implicitly-shared">implicitly shared</a>.
+<p> The first modification to a list will take O(n) time.
+
+<h3 class=fn><a name="QValueList-3"></a>QValueList::QValueList ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Contructs a copy of <em>l</em>.
+<p> This constructor is provided for compatibility with STL
+containers.
+
+<h3 class=fn><a name="~QValueList"></a>QValueList::~QValueList ()
+</h3>
+
+<p> Destroys the list. References to the values in the list and all
+iterators of this list become invalidated. Note that it is
+impossible for an iterator to check whether or not it is valid:
+QValueList is highly tuned for performance, not for error
+checking.
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="append"></a>QValueList::append ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts <em>x</em> at the end of the list.
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#prepend">prepend</a>().
+
+<p>Examples: <a href="checklists-example.html#x434">checklists/checklists.cpp</a> and <a href="simple-font-demo-example.html#x2853">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="at"></a>QValueList::at ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i ) const
+</h3>
+
+<p> Returns an iterator pointing to the item at position <em>i</em> in the
+list, or an undefined value if the index is out of range.
+<p> <b>Warning:</b> This function uses a linear search and can be extremely
+slow for large lists. QValueList is not optimized for random item
+access. If you need random access use a different container, such
+as <a href="qvaluevector.html">QValueVector</a>.
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="at-2"></a>QValueList::at ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator pointing to the item at position <em>i</em> in the
+list, or an undefined value if the index is out of range.
+<p>
+<h3 class=fn><a href="qvaluelist.html#reference">reference</a> <a name="back"></a>QValueList::back ()
+</h3>
+
+<p> Returns a reference to the last item. If the list contains no last
+item (i.e. <a href="#empty">empty</a>() returns TRUE), the return value is undefined.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#last">last</a>().
+<p> <p>See also <a href="#front">front</a>().
+
+<h3 class=fn><a href="qvaluelist.html#const_reference">const_reference</a> <a name="back-2"></a>QValueList::back () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="begin"></a>QValueList::begin () const
+</h3>
+
+<p> Returns an iterator pointing to the first item in the list. This
+iterator equals <a href="#end">end</a>() if the list is empty.
+<p> <p>See also <a href="#first">first</a>(), <a href="#end">end</a>(), and <a href="#constBegin">constBegin</a>().
+
+<p>Examples: <a href="canvas-example.html#x2952">canvas/canvas.cpp</a>, <a href="tutorial2-06.html#x2588">chart/canvasview.cpp</a>, <a href="tutorial2-03.html#x2554">chart/element.cpp</a>, <a href="checklists-example.html#x435">checklists/checklists.cpp</a>, <a href="sql.html#x2197">sql/overview/insert/main.cpp</a>, <a href="statistics-example.html#x2789">table/statistics/statistics.cpp</a>, and <a href="themes-example.html#x344">themes/themes.cpp</a>.
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="begin-2"></a>QValueList::begin ()
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator pointing to the first item in the list. This
+iterator equals <a href="#end">end</a>() if the list is empty.
+<p> <p>See also <a href="#first">first</a>() and <a href="#end">end</a>().
+
+<h3 class=fn>void <a name="clear"></a>QValueList::clear ()
+</h3>
+
+<p> Removes all items from the list.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="constBegin"></a>QValueList::constBegin () const
+</h3>
+
+<p> Returns an iterator pointing to the first item in the list. This
+iterator equals <a href="#constEnd">constEnd</a>() if the list is empty.
+<p> <p>See also <a href="#begin">begin</a>().
+
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="constEnd"></a>QValueList::constEnd () const
+</h3>
+
+<p> Returns an iterator pointing <em>past</em> the last item in the list.
+This iterator equals <a href="#constBegin">constBegin</a>() if the list is empty.
+<p> <p>See also <a href="#end">end</a>().
+
+<h3 class=fn><a href="qvaluelist.html#size_type">size_type</a> <a name="contains"></a>QValueList::contains ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
+</h3>
+
+<p> Returns the number of occurrences of the value <em>x</em> in the list.
+
+<h3 class=fn><a href="qvaluelist.html#size_type">size_type</a> <a name="count"></a>QValueList::count () const
+</h3>
+
+<p> Returns the number of items in the list.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<p>Examples: <a href="tutorial2-03.html#x2555">chart/element.cpp</a>, <a href="fileiconview-example.html#x874">fileiconview/qfileiconview.cpp</a>, and <a href="statistics-example.html#x2790">table/statistics/statistics.cpp</a>.
+<h3 class=fn>bool <a name="empty"></a>QValueList::empty () const
+</h3>
+
+<p> Returns TRUE if the list contains no items; otherwise returns
+FALSE.
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="end"></a>QValueList::end ()
+</h3>
+
+<p> Returns an iterator pointing <em>past</em> the last item in the list.
+This iterator equals <a href="#begin">begin</a>() if the list is empty.
+<p> <p>See also <a href="#last">last</a>(), <a href="#begin">begin</a>(), and <a href="#constEnd">constEnd</a>().
+
+<p>Examples: <a href="canvas-example.html#x2953">canvas/canvas.cpp</a>, <a href="tutorial2-06.html#x2589">chart/canvasview.cpp</a>, <a href="tutorial2-03.html#x2556">chart/element.cpp</a>, <a href="checklists-example.html#x436">checklists/checklists.cpp</a>, <a href="sql.html#x2198">sql/overview/insert/main.cpp</a>, <a href="statistics-example.html#x2791">table/statistics/statistics.cpp</a>, and <a href="themes-example.html#x345">themes/themes.cpp</a>.
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="end-2"></a>QValueList::end () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator pointing <em>past</em> the last item in the list.
+This iterator equals <a href="#begin">begin</a>() if the list is empty.
+<p> <p>See also <a href="#last">last</a>() and <a href="#begin">begin</a>().
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="erase"></a>QValueList::erase ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it )
+</h3>
+
+<p> Removes the item pointed to by <em>it</em> from the list. No iterators
+other than <em>it</em> or other iterators pointing at the same item as
+<em>it</em> are invalidated. Returns an iterator to the next item after
+<em>it</em>, or <a href="#end">end</a>() if there is no such item.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#remove">remove</a>().
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="erase-2"></a>QValueList::erase ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;first, <a href="qvaluelist.html#iterator">iterator</a>&nbsp;last )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Deletes all items from <em>first</em> to <em>last</em> (not including <em>last</em>). No iterators are invalidated, except those pointing to the
+removed items themselves. Returns <em>last</em>.
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="find"></a>QValueList::find ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Returns an iterator pointing to the first occurrence of <em>x</em> in
+the list.
+<p> Returns <a href="#end">end</a>() is no item matched.
+
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="find-2"></a>QValueList::find ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator pointing to the first occurrence of <em>x</em> in
+the list.
+<p> Returns <a href="#end">end</a>() if no item matched.
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="find-3"></a>QValueList::find ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of <em>x</em> in the list starting at the
+position given by <em>it</em>.
+<p> Returns <a href="#end">end</a>() if no item matched.
+
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="find-4"></a>QValueList::find ( <a href="qvaluelist.html#const_iterator">const_iterator</a>&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Finds the first occurrence of <em>x</em> in the list starting at the
+position given by <em>it</em>.
+<p> Returns <a href="#end">end</a>() if no item matched.
+
+<h3 class=fn>int <a name="findIndex"></a>QValueList::findIndex ( const&nbsp;T&nbsp;&amp;&nbsp;x ) const
+</h3>
+
+<p> Returns the index of the first occurrence of the value <em>x</em>.
+Returns -1 if no item matched.
+
+<h3 class=fn>T &amp; <a name="first"></a>QValueList::first ()
+</h3>
+
+<p> Returns a reference to the first item. If the list contains no
+first item (i.e. <a href="#isEmpty">isEmpty</a>() returns TRUE), the return value is
+undefined.
+<p> <p>See also <a href="#last">last</a>().
+
+<p>Example: <a href="mail-example.html#x719">network/mail/smtp.cpp</a>.
+<h3 class=fn>const T &amp; <a name="first-2"></a>QValueList::first () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qvaluelist.html#const_iterator">const_iterator</a> <a name="fromLast"></a>QValueList::fromLast () const
+</h3>
+
+<p> Returns an iterator to the last item in the list, or <a href="#end">end</a>() if
+there is no last item.
+<p> Use the end() function instead. For example:
+<p> <pre>
+ QValueList&lt;int&gt; l;
+ ...
+ QValueList&lt;int&gt;::<a href="#iterator">iterator</a> it = l.<a href="#end">end</a>();
+ --it;
+ if ( it != <a href="#end">end</a>() )
+ // ...
+ </pre>
+
+<p>
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="fromLast-2"></a>QValueList::fromLast ()
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns an iterator to the last item in the list, or <a href="#end">end</a>() if
+there is no last item.
+<p> Use the end() function instead. For example:
+<p> <pre>
+ QValueList&lt;int&gt; l;
+ ...
+ QValueList&lt;int&gt;::<a href="#iterator">iterator</a> it = l.<a href="#end">end</a>();
+ --it;
+ if ( it != <a href="#end">end</a>() )
+ // ...
+ </pre>
+
+<p>
+<h3 class=fn><a href="qvaluelist.html#reference">reference</a> <a name="front"></a>QValueList::front ()
+</h3>
+
+<p> Returns a reference to the first item. If the list contains no
+first item (i.e. <a href="#empty">empty</a>() returns TRUE), the return value is
+undefined.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#first">first</a>().
+<p> <p>See also <a href="#back">back</a>().
+
+<h3 class=fn><a href="qvaluelist.html#const_reference">const_reference</a> <a name="front-2"></a>QValueList::front () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="insert"></a>QValueList::insert ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it, const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts the value <em>x</em> in front of the item pointed to by the
+iterator, <em>it</em>.
+<p> Returns an iterator pointing at the inserted item.
+<p> <p>See also <a href="#append">append</a>() and <a href="#prepend">prepend</a>().
+
+<p>Example: <a href="themes-example.html#x346">themes/themes.cpp</a>.
+<h3 class=fn>void <a name="insert-2"></a>QValueList::insert ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;pos, <a href="qvaluelist.html#size_type">size_type</a>&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>n</em> copies of <em>x</em> before position <em>pos</em>.
+
+<h3 class=fn>bool <a name="isEmpty"></a>QValueList::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the list contains no items; otherwise returns
+FALSE.
+<p> <p>See also <a href="#count">count</a>().
+
+<p>Examples: <a href="simple-font-demo-example.html#x2856">fonts/simple-qfont-demo/viewer.cpp</a> and <a href="mail-example.html#x720">network/mail/smtp.cpp</a>.
+<h3 class=fn>T &amp; <a name="last"></a>QValueList::last ()
+</h3>
+
+<p> Returns a reference to the last item. If the list contains no last
+item (i.e. <a href="#empty">empty</a>() returns TRUE), the return value is undefined.
+
+<h3 class=fn>const T &amp; <a name="last-2"></a>QValueList::last () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn>bool <a name="operator!-eq"></a>QValueList::operator!= ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l ) const
+</h3>
+
+<p> Compares both lists.
+<p> Returns TRUE if this list and <em>l</em> are unequal; otherwise returns
+FALSE.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt; <a name="operator+"></a>QValueList::operator+ ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l ) const
+</h3>
+
+<p> Creates a new list and fills it with the items of this list. Then
+the items of <em>l</em> are appended. Returns the new list.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp; <a name="operator+-eq"></a>QValueList::operator+= ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Appends the items of <em>l</em> to this list. Returns a reference to
+this list.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp; <a name="operator+-eq-2"></a>QValueList::operator+= ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Appends the value <em>x</em> to the list. Returns a reference to the
+list.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp; <a name="operator-lt-lt"></a>QValueList::operator&lt;&lt; ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Adds the value <em>x</em> to the end of the list.
+<p> Returns a reference to the list.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq"></a>QValueList::operator= ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> Assigns <em>l</em> to this list and returns a reference to this list.
+<p> All iterators of the current list become invalidated by this
+operation. The cost of such an assignment is O(1) since QValueList
+is <a href="shclass.html#implicitly-shared">implicitly shared</a>.
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq-2"></a>QValueList::operator= ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns the contents of <em>l</em> to the list.
+<p> All iterators of the current list become invalidated by this
+operation.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QValueList::operator== ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l ) const
+</h3>
+
+<p> Compares both lists.
+<p> Returns TRUE if this list and <em>l</em> are equal; otherwise returns
+FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>QValueList::operator== ( const&nbsp;std::list&lt;T&gt;&nbsp;&amp;&nbsp;l ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if this list and <em>l</em> are equal; otherwise returns
+FALSE.
+<p> This operator is provided for compatibility with STL containers.
+
+<h3 class=fn>const T &amp; <a name="operator[]"></a>QValueList::operator[] ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i ) const
+</h3>
+
+<p> Returns a const reference to the item with index <em>i</em> in the list.
+It is up to you to check whether this item really exists. You can
+do that easily with the <a href="#count">count</a>() function. However this operator
+does not check whether <em>i</em> is in range and will deliver undefined
+results if it does not exist.
+<p> <b>Warning:</b> This function uses a linear search and can be extremely
+slow for large lists. QValueList is not optimized for random item
+access. If you need random access use a different container, such
+as <a href="qvaluevector.html">QValueVector</a>.
+
+<h3 class=fn>T &amp; <a name="operator[]-2"></a>QValueList::operator[] ( <a href="qvaluelist.html#size_type">size_type</a>&nbsp;i )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a non-const reference to the item with index <em>i</em>.
+
+<h3 class=fn>void <a name="pop_back"></a>QValueList::pop_back ()
+</h3>
+
+<p> Removes the last item. If there is no last item, this operation is
+undefined.
+<p> This function is provided for STL compatibility.
+
+<h3 class=fn>void <a name="pop_front"></a>QValueList::pop_front ()
+</h3>
+
+<p> Removes the first item. If there is no first item, this operation
+is undefined.
+<p> This function is provided for STL compatibility.
+
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="prepend"></a>QValueList::prepend ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts <em>x</em> at the beginning of the list.
+<p> <p>See also <a href="#insert">insert</a>() and <a href="#append">append</a>().
+
+<h3 class=fn>void <a name="push_back"></a>QValueList::push_back ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts <em>x</em> at the end of the list.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#append">append</a>().
+
+<h3 class=fn>void <a name="push_front"></a>QValueList::push_front ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts <em>x</em> at the beginning of the list.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#prepend">prepend</a>().
+
+<p>Example: <a href="toplevel-example.html#x2534">toplevel/options.ui.h</a>.
+<h3 class=fn><a href="qvaluelist.html#iterator">iterator</a> <a name="remove"></a>QValueList::remove ( <a href="qvaluelist.html#iterator">iterator</a>&nbsp;it )
+</h3>
+
+<p> Removes the item pointed to by <em>it</em> from the list. No iterators
+other than <em>it</em> or other iterators pointing at the same item as
+<em>it</em> are invalidated. Returns an iterator to the next item after
+<em>it</em>, or <a href="#end">end</a>() if there is no such item.
+<p> <p>See also <a href="#clear">clear</a>().
+
+<h3 class=fn>uint <a name="remove-2"></a>QValueList::remove ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes all items that have value <em>x</em> and returns the number of
+removed items.
+
+<h3 class=fn><a href="qvaluelist.html#size_type">size_type</a> <a name="size"></a>QValueList::size () const
+</h3>
+
+<p> Returns the number of items in the list.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#count">count</a>().
+<p> <p>See also <a href="#empty">empty</a>().
+
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt-2"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<p> Writes a list, <em>l</em>, to the stream <em>s</em>. The type T stored in the
+list must implement the streaming operator.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qvaluelist.html">QValueList</a>&lt;T&gt;&nbsp;&amp;&nbsp;l )
+</h3>
+
+<p>
+<p> Reads a list, <em>l</em>, from the stream <em>s</em>. The type T stored in the
+list must implement the streaming operator.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelistconstiterator-members.html b/doc/html/qvaluelistconstiterator-members.html
new file mode 100644
index 0000000..1973b18
--- /dev/null
+++ b/doc/html/qvaluelistconstiterator-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluelist.h:152 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueListConstIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValueListConstIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluelistconstiterator.html#QValueListConstIterator">QValueListConstIterator</a>()
+<li><a href="qvaluelistconstiterator.html#operator!-eq">operator!=</a>()
+<li><a href="qvaluelistconstiterator.html#operator*">operator*</a>()
+<li><a href="qvaluelistconstiterator.html#operator++">operator++</a>()
+<li><a href="qvaluelistconstiterator.html#operator--">operator--</a>()
+<li><a href="qvaluelistconstiterator.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelistconstiterator.html b/doc/html/qvaluelistconstiterator.html
new file mode 100644
index 0000000..9bfc77f
--- /dev/null
+++ b/doc/html/qvaluelistconstiterator.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvaluelist.doc:1024 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueListConstIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValueListConstIterator Class Reference</h1>
+
+<p>The QValueListConstIterator class provides a const iterator
+for QValueList.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qvaluelist-h.html">qvaluelist.h</a>&gt;</tt>
+<p><a href="qvaluelistconstiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef const&nbsp;T&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef const&nbsp;T&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn><a href="#QValueListConstIterator"><b>QValueListConstIterator</b></a> ()</li>
+<li class=fn><a href="#QValueListConstIterator-3"><b>QValueListConstIterator</b></a> ( const&nbsp;QValueListConstIterator&lt;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn><a href="#QValueListConstIterator-4"><b>QValueListConstIterator</b></a> ( const&nbsp;QValueListIterator&lt;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QValueListConstIterator&lt;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QValueListConstIterator&lt;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>const T &amp; <a href="#operator*"><b>operator*</b></a> () const</li>
+<li class=fn>QValueListConstIterator&lt;T&gt; &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>QValueListConstIterator&lt;T&gt; <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
+<li class=fn>QValueListConstIterator&lt;T&gt; &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>QValueListConstIterator&lt;T&gt; <a href="#operator---2"><b>operator--</b></a> ( int )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValueListConstIterator class provides a const iterator
+for <a href="qvaluelist.html">QValueList</a>.
+<p>
+
+
+<p> In contrast to <a href="qvaluelistiterator.html">QValueListIterator</a>, this class is used to iterate
+over a const list. It does not allow modification of the values of
+the list since that would break const semantics.
+<p> You can create the appropriate const iterator type by using the <tt>const_iterator</tt> typedef provided by QValueList.
+<p> For more information on QValueList iterators, see
+QValueListIterator.
+<p> <p>See also <a href="qvaluelistiterator.html">QValueListIterator</a>, <a href="qvaluelist.html">QValueList</a>, <a href="qtl.html">Qt Template Library Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="pointer"></a>QValueListConstIterator::pointer</h3>
+Pointer to value_type.
+<h3 class=fn><a name="reference"></a>QValueListConstIterator::reference</h3>
+Reference to value_type.
+<h3 class=fn><a name="value_type"></a>QValueListConstIterator::value_type</h3>
+The type of value.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValueListConstIterator"></a>QValueListConstIterator::QValueListConstIterator ()
+</h3>
+
+<p> Creates un uninitialized iterator.
+
+<h3 class=fn><a name="QValueListConstIterator-3"></a>QValueListConstIterator::QValueListConstIterator ( const&nbsp;<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a copy of the iterator <em>it</em>.
+
+<h3 class=fn><a name="QValueListConstIterator-4"></a>QValueListConstIterator::QValueListConstIterator ( const&nbsp;<a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> Constructs a copy of the iterator <em>it</em>.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QValueListConstIterator::operator!= ( const&nbsp;<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares this iterator with <em>it</em> and returns TRUE if they point
+to different items; otherwise returns FALSE.
+
+<h3 class=fn>const T &amp; <a name="operator*"></a>QValueListConstIterator::operator* () const
+</h3>
+
+<p> Asterisk operator. Returns a reference to the current iterator item.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator++"></a>QValueListConstIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the list. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt; <a name="operator++-2"></a>QValueListConstIterator::operator++ ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the list. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator--"></a>QValueListConstIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the list. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt; <a name="operator---2"></a>QValueListConstIterator::operator-- ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the list. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QValueListConstIterator::operator== ( const&nbsp;<a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares this iterator with <em>it</em> and returns TRUE if they point
+to the same item; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelistiterator-members.html b/doc/html/qvaluelistiterator-members.html
new file mode 100644
index 0000000..f51688f
--- /dev/null
+++ b/doc/html/qvaluelistiterator-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluelist.h:76 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueListIterator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValueListIterator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvaluelistiterator.html">QValueListIterator</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluelistiterator.html#QValueListIterator">QValueListIterator</a>()
+<li><a href="qvaluelistiterator.html#operator!-eq">operator!=</a>()
+<li><a href="qvaluelistiterator.html#operator*">operator*</a>()
+<li><a href="qvaluelistiterator.html#operator++">operator++</a>()
+<li><a href="qvaluelistiterator.html#operator+-eq">operator+=</a>()
+<li><a href="qvaluelistiterator.html#operator--">operator--</a>()
+<li><a href="qvaluelistiterator.html#operator--eq">operator-=</a>()
+<li><a href="qvaluelistiterator.html#operator-eq-eq">operator==</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluelistiterator.html b/doc/html/qvaluelistiterator.html
new file mode 100644
index 0000000..3572b4b
--- /dev/null
+++ b/doc/html/qvaluelistiterator.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvaluelist.doc:834 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueListIterator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValueListIterator Class Reference</h1>
+
+<p>The QValueListIterator class provides an iterator for QValueList.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qvaluelist-h.html">qvaluelist.h</a>&gt;</tt>
+<p><a href="qvaluelistiterator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef T&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef T&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn><a href="#QValueListIterator"><b>QValueListIterator</b></a> ()</li>
+<li class=fn><a href="#QValueListIterator-3"><b>QValueListIterator</b></a> ( const&nbsp;QValueListIterator&lt;T&gt;&nbsp;&amp;&nbsp;it )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QValueListIterator&lt;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QValueListIterator&lt;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
+<li class=fn>const T &amp; <a href="#operator*-2"><b>operator*</b></a> () const</li>
+<li class=fn>T &amp; <a href="#operator*"><b>operator*</b></a> ()</li>
+<li class=fn>QValueListIterator&lt;T&gt; &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
+<li class=fn>QValueListIterator&lt;T&gt; <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
+<li class=fn>QValueListIterator&lt;T&gt; &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
+<li class=fn>QValueListIterator&lt;T&gt; <a href="#operator---2"><b>operator--</b></a> ( int )</li>
+<li class=fn>QValueListIterator&lt;T&gt; &amp; <a href="#operator+-eq"><b>operator+=</b></a> ( int&nbsp;j )</li>
+<li class=fn>QValueListIterator&lt;T&gt; &amp; <a href="#operator--eq"><b>operator-=</b></a> ( int&nbsp;j )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValueListIterator class provides an iterator for <a href="qvaluelist.html">QValueList</a>.
+<p>
+
+
+<p> An iterator is a class for accessing the items of a container
+class: a generalization of the index in an array. A pointer
+into a "const char *" and an index into an "int[]" are both
+iterators, and the general idea is to provide that functionality
+for any data structure.
+<p> The QValueListIterator class is an iterator for QValueList
+instantiations. You can create the appropriate iterator type by
+using the <tt>iterator</tt> typedef provided by QValueList.
+<p> The only way to access the items in a QValueList is to use an
+iterator.
+<p> Example (see QValueList for the complete code):
+<pre>
+ EmployeeList::iterator it;
+ for ( it = list.begin(); it != list.end(); ++it )
+ cout &lt;&lt; (*it).surname().latin1() &lt;&lt; ", " &lt;&lt;
+ (*it).forename().latin1() &lt;&lt; " earns " &lt;&lt;
+ (*it).salary() &lt;&lt; endl;
+
+ // Output:
+ // Doe, John earns 50000
+ // Williams, Jane earns 80000
+ // Hawthorne, Mary earns 90000
+ // Jones, Tom earns 60000
+ </pre>
+
+<p> <a href="qvaluelist.html">QValueList</a> is highly optimized for performance and memory usage.
+This means that you must be careful: QValueList does not know
+about all its iterators and the iterators don't know to which list
+they belong. This makes things very fast, but if you're not
+careful, you can get spectacular bugs. Always make sure iterators
+are valid before dereferencing them or using them as parameters to
+generic algorithms in the STL or the <a href="qtl.html">QTL</a>.
+<p> Using an invalid iterator is undefined (your application will
+probably crash). Many Qt functions return const value lists; to
+iterate over these you should make a copy and iterate over the
+copy.
+<p> For every Iterator there is a ConstIterator. When accessing a
+QValueList in a const environment or if the reference or pointer
+to the list is itself const, then you must use the ConstIterator.
+Its semantics are the same as the Iterator, but it only returns
+const references.
+<p> <p>See also <a href="qvaluelist.html">QValueList</a>, <a href="qvaluelistconstiterator.html">QValueListConstIterator</a>, <a href="qtl.html">Qt Template Library Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="pointer"></a>QValueListIterator::pointer</h3>
+Pointer to value_type.
+<h3 class=fn><a name="reference"></a>QValueListIterator::reference</h3>
+Reference to value_type.
+<h3 class=fn><a name="value_type"></a>QValueListIterator::value_type</h3>
+The type of value, T.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValueListIterator"></a>QValueListIterator::QValueListIterator ()
+</h3>
+
+<p> Creates un uninitialized iterator.
+
+<h3 class=fn><a name="QValueListIterator-3"></a>QValueListIterator::QValueListIterator ( const&nbsp;<a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Constructs a copy of the iterator <em>it</em>.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QValueListIterator::operator!= ( const&nbsp;<a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares this iterator and <em>it</em> and returns TRUE if they point to
+different items; otherwise returns FALSE.
+
+<h3 class=fn>T &amp; <a name="operator*"></a>QValueListIterator::operator* ()
+</h3>
+
+<p> Asterisk operator. Returns a reference to the current iterator item.
+
+<h3 class=fn>const T &amp; <a name="operator*-2"></a>QValueListIterator::operator* () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Asterisk operator. Returns a reference to the current iterator item.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator++"></a>QValueListIterator::operator++ ()
+</h3>
+
+<p> Prefix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the list. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt; <a name="operator++-2"></a>QValueListIterator::operator++ ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix ++ makes the succeeding item current and returns an
+iterator pointing to the new current item. The iterator cannot
+check whether it reached the end of the list. Incrementing the
+iterator returned by end() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator+-eq"></a>QValueListIterator::operator+= ( int&nbsp;j )
+</h3>
+
+<p> Postfix -- jumps <em>j</em> steps forward in the list. The iterator
+cannot check whether it reached the end of the list. Jumping past
+the end() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator--"></a>QValueListIterator::operator-- ()
+</h3>
+
+<p> Prefix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the list. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt; <a name="operator---2"></a>QValueListIterator::operator-- ( int )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Postfix -- makes the previous item current and returns an iterator
+pointing to the new current item. The iterator cannot check
+whether it reached the beginning of the list. Decrementing the
+iterator returned by begin() causes undefined results.
+
+<h3 class=fn><a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp; <a name="operator--eq"></a>QValueListIterator::operator-= ( int&nbsp;j )
+</h3>
+
+<p> Postfix -- jumps <em>j</em> steps backward in the list. The iterator
+cannot check whether it reached the beginning of the list. Jumping
+past begin() causes undefined results.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QValueListIterator::operator== ( const&nbsp;<a href="qvaluelistiterator.html">QValueListIterator</a>&lt;T&gt;&nbsp;&amp;&nbsp;it ) const
+</h3>
+
+<p> Compares this iterator and <em>it</em> and returns TRUE if they point to
+the same item; otherwise returns FALSE.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluestack-h.html b/doc/html/qvaluestack-h.html
new file mode 100644
index 0000000..08690f2
--- /dev/null
+++ b/doc/html/qvaluestack-h.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluestack.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvaluestack.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvaluestack.h</h1>
+
+<p>This is the verbatim text of the qvaluestack.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvaluestack.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QValueStack class
+**
+** Created : 990925
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVALUESTACK_H
+#define QVALUESTACK_H
+
+#ifndef QT_H
+#include "qvaluelist.h"
+#endif // QT_H
+
+
+template&lt;class T&gt;
+class QValueStack : public QValueList&lt;T&gt;
+{
+public:
+ QValueStack() {}
+ ~QValueStack() {}
+ void push( const T&amp; d ) { this-&gt;append(d); }
+ T pop()
+ {
+ T elem( this-&gt;last() );
+ if ( !this-&gt;isEmpty() )
+ this-&gt;remove( this-&gt;fromLast() );
+ return elem;
+ }
+ T&amp; top() { return this-&gt;last(); }
+ const T&amp; top() const { return this-&gt;last(); }
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluestack-members.html b/doc/html/qvaluestack-members.html
new file mode 100644
index 0000000..873e0e2
--- /dev/null
+++ b/doc/html/qvaluestack-members.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluestack.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueStack Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValueStack</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvaluestack.html">QValueStack</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluestack.html#QValueStack">QValueStack</a>()
+<li><a href="qvaluestack.html#~QValueStack">~QValueStack</a>()
+<li><a href="qvaluelist.html#append">append</a>()
+<li><a href="qvaluelist.html#at">at</a>()
+<li><a href="qvaluelist.html#back">back</a>()
+<li><a href="qvaluelist.html#begin">begin</a>()
+<li><a href="qvaluelist.html#clear">clear</a>()
+<li><a href="qvaluelist.html#constBegin">constBegin</a>()
+<li><a href="qvaluelist.html#constEnd">constEnd</a>()
+<li><a href="qvaluelist.html#contains">contains</a>()
+<li><a href="qvaluelist.html#count">count</a>()
+<li><a href="qvaluelist.html#empty">empty</a>()
+<li><a href="qvaluelist.html#end">end</a>()
+<li><a href="qvaluelist.html#erase">erase</a>()
+<li><a href="qvaluelist.html#find">find</a>()
+<li><a href="qvaluelist.html#findIndex">findIndex</a>()
+<li><a href="qvaluelist.html#first">first</a>()
+<li><a href="qvaluelist.html#fromLast">fromLast</a>()
+<li><a href="qvaluelist.html#front">front</a>()
+<li><a href="qvaluelist.html#insert">insert</a>()
+<li><a href="qvaluelist.html#isEmpty">isEmpty</a>()
+<li><a href="qvaluelist.html#last">last</a>()
+<li><a href="qvaluelist.html#operator!-eq">operator!=</a>()
+<li><a href="qvaluelist.html#operator+">operator+</a>()
+<li><a href="qvaluelist.html#operator+-eq">operator+=</a>()
+<li><a href="qvaluelist.html#operator-lt-lt">operator&lt;&lt;</a>()
+<li><a href="qvaluelist.html#operator-eq">operator=</a>()
+<li><a href="qvaluelist.html#operator-eq-eq">operator==</a>()
+<li><a href="qvaluelist.html#operator[]">operator[]</a>()
+<li><a href="qvaluestack.html#pop">pop</a>()
+<li><a href="qvaluelist.html#pop_back">pop_back</a>()
+<li><a href="qvaluelist.html#pop_front">pop_front</a>()
+<li><a href="qvaluelist.html#prepend">prepend</a>()
+<li><a href="qvaluestack.html#push">push</a>()
+<li><a href="qvaluelist.html#push_back">push_back</a>()
+<li><a href="qvaluelist.html#push_front">push_front</a>()
+<li><a href="qvaluelist.html#remove">remove</a>()
+<li><a href="qvaluelist.html#size">size</a>()
+<li><a href="qvaluestack.html#top">top</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluestack.html b/doc/html/qvaluestack.html
new file mode 100644
index 0000000..baf86a2
--- /dev/null
+++ b/doc/html/qvaluestack.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvaluestack.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueStack Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValueStack Class Reference</h1>
+
+<p>The QValueStack class is a value-based template class that provides a stack.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qvaluestack-h.html">qvaluestack.h</a>&gt;</tt>
+<p>Inherits <a href="qvaluelist.html">QValueList</a>&lt;T&gt;.
+<p><a href="qvaluestack-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QValueStack"><b>QValueStack</b></a> ()</li>
+<li class=fn><a href="#~QValueStack"><b>~QValueStack</b></a> ()</li>
+<li class=fn>void <a href="#push"><b>push</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;d )</li>
+<li class=fn>T <a href="#pop"><b>pop</b></a> ()</li>
+<li class=fn>T &amp; <a href="#top"><b>top</b></a> ()</li>
+<li class=fn>const T &amp; <a href="#top-2"><b>top</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValueStack class is a value-based template class that provides a stack.
+<p>
+
+
+
+
+<p> Define a template instance QValueStack&lt;X&gt; to create a stack of
+values that all have the class X. QValueStack is part of the <a href="qtl.html">Qt Template Library</a>.
+<p> Note that QValueStack does not store pointers to the members of
+the stack; it holds a copy of every member. That is why these
+kinds of classes are called "value based"; <a href="qptrstack.html">QPtrStack</a>, <a href="qptrlist.html">QPtrList</a>,
+<a href="qdict.html">QDict</a>, etc., are "pointer based".
+<p> A stack is a last in, first out (LIFO) structure. Items are added
+to the top of the stack with <a href="#push">push</a>() and retrieved from the top
+with <a href="#pop">pop</a>(). The <a href="#top">top</a>() function provides access to the topmost item
+without removing it.
+<p> Example:
+<pre>
+ QValueStack&lt;int&gt; stack;
+ stack.<a href="#push">push</a>( 1 );
+ stack.<a href="#push">push</a>( 2 );
+ stack.<a href="#push">push</a>( 3 );
+ while ( ! stack.<a href="qvaluelist.html#isEmpty">isEmpty</a>() )
+ cout &lt;&lt; "Item: " &lt;&lt; stack.<a href="#pop">pop</a>() &lt;&lt; endl;
+
+ // Output:
+ // Item: 3
+ // Item: 2
+ // Item: 1
+ </pre>
+
+<p> QValueStack is a specialized <a href="qvaluelist.html">QValueList</a> provided for convenience.
+All of QValueList's functionality also applies to <a href="qptrstack.html">QPtrStack</a>, for
+example the facility to iterate over all elements using
+QValueStack<T>::Iterator. See <a href="qvaluelistiterator.html">QValueListIterator</a> for further
+details.
+<p> Some classes cannot be used within a QValueStack, for example
+everything derived from <a href="qobject.html">QObject</a> and thus all classes that
+implement widgets. Only values can be used in a QValueStack. To
+qualify as a value, the class must provide
+<ul>
+<li> a copy constructor;
+<li> an assignment operator;
+<li> a default constructor, i.e. a constructor that does not take any arguments.
+</ul>
+<p> Note that C++ defaults to field-by-field assignment operators and
+copy constructors if no explicit version is supplied. In many
+cases this is sufficient.
+<p>See also <a href="qtl.html">Qt Template Library Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValueStack"></a>QValueStack::QValueStack ()
+</h3>
+
+<p> Constructs an empty stack.
+
+<h3 class=fn><a name="~QValueStack"></a>QValueStack::~QValueStack ()
+</h3>
+
+<p> Destroys the stack. References to the values in the stack and all
+iterators of this stack become invalidated. Because QValueStack is
+highly tuned for performance, you won't see warnings if you use
+invalid iterators because it is impossible for an iterator to
+check whether or not it is valid.
+
+<h3 class=fn>T <a name="pop"></a>QValueStack::pop ()
+</h3>
+
+<p> Removes the top item from the stack and returns it.
+<p> <p>See also <a href="#top">top</a>() and <a href="#push">push</a>().
+
+<h3 class=fn>void <a name="push"></a>QValueStack::push ( const&nbsp;T&nbsp;&amp;&nbsp;d )
+</h3>
+
+<p> Adds element, <em>d</em>, to the top of the stack. Last in, first out.
+<p> This function is equivalent to <a href="qvaluelist.html#append">append</a>().
+<p> <p>See also <a href="#pop">pop</a>() and <a href="#top">top</a>().
+
+<h3 class=fn>T &amp; <a name="top"></a>QValueStack::top ()
+</h3>
+
+<p> Returns a reference to the top item of the stack or the item
+referenced by <a href="qvaluelist.html#end">end</a>() if no such item exists. Note that you must not
+change the value the end() iterator points to.
+<p> This function is equivalent to <a href="qvaluelist.html#last">last</a>().
+<p> <p>See also <a href="#pop">pop</a>(), <a href="#push">push</a>(), and <a href="qvaluelist.html#fromLast">QValueList::fromLast</a>().
+
+<h3 class=fn>const T &amp; <a name="top-2"></a>QValueStack::top () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a reference to the top item of the stack or the item
+referenced by <a href="qvaluelist.html#end">end</a>() if no such item exists.
+<p> This function is equivalent to <a href="qvaluelist.html#last">last</a>().
+<p> <p>See also <a href="#pop">pop</a>(), <a href="#push">push</a>(), and <a href="qvaluelist.html#fromLast">QValueList::fromLast</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluevector-h.html b/doc/html/qvaluevector-h.html
new file mode 100644
index 0000000..52a94e5
--- /dev/null
+++ b/doc/html/qvaluevector-h.html
@@ -0,0 +1,620 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluevector.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvaluevector.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvaluevector.h</h1>
+
+<p>This is the verbatim text of the qvaluevector.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvaluevector.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QValueVector class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVALUEVECTOR_H
+#define QVALUEVECTOR_H
+
+#ifndef QT_H
+#include "qtl.h"
+#include "qshared.h"
+#include "qdatastream.h"
+#endif // QT_H
+
+#ifndef QT_NO_STL
+#include &lt;vector&gt;
+#endif
+
+template &lt;class T&gt;
+class QValueVectorPrivate : public QShared
+{
+public:
+ typedef T value_type;
+ typedef T* pointer;
+
+ QValueVectorPrivate()
+ : start( 0 ), finish( 0 ), end( 0 )
+ {
+ }
+
+ QValueVectorPrivate( const QValueVectorPrivate&lt;T&gt;&amp; x );
+ QValueVectorPrivate( size_t size );
+
+ void derefAndDelete() // work-around for hp-cc
+ {
+ if ( deref() )
+ delete this;
+ }
+
+#if defined(Q_TEMPLATEDLL)
+ // Workaround MS bug in memory de/allocation in DLL vs. EXE
+ virtual
+#endif
+ ~QValueVectorPrivate()
+ {
+ delete[] start;
+ }
+
+ size_t size() const
+ {
+ return finish - start;
+ }
+
+ bool empty() const
+ {
+ return start == finish;
+ }
+
+ size_t capacity() const
+ {
+ return end - start;
+ }
+
+ void insert( pointer pos, const T&amp; x );
+ void insert( pointer pos, size_t n, const T&amp; x );
+ void reserve( size_t n );
+
+ void clear()
+ {
+ delete[] start;
+ start = 0;
+ finish = 0;
+ end = 0;
+ }
+
+
+ pointer start;
+ pointer finish;
+ pointer end;
+
+private:
+ pointer growAndCopy( size_t n, pointer s, pointer f );
+
+ QValueVectorPrivate&lt;T&gt;&amp; operator=( const QValueVectorPrivate&lt;T&gt;&amp; x );
+
+};
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueVectorPrivate&lt;T&gt;::QValueVectorPrivate( const QValueVectorPrivate&lt;T&gt;&amp; x )
+ : QShared()
+{
+ size_t i = x.size();
+ if ( i &gt; 0 ) {
+ start = new T[ i ];
+ finish = start + i;
+ end = start + i;
+#if defined(__xlC__) &amp;&amp; __xlC__ &lt; 0x400 // xlC 3.6 confused by const
+ qCopy( (pointer)x.start, (pointer)x.finish, start );
+#else
+ qCopy( x.start, x.finish, start );
+#endif
+ } else {
+ start = 0;
+ finish = 0;
+ end = 0;
+ }
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueVectorPrivate&lt;T&gt;::QValueVectorPrivate( size_t size )
+{
+ if ( size &gt; 0 ) {
+ start = new T[size];
+ finish = start + size;
+ end = start + size;
+ } else {
+ start = 0;
+ finish = 0;
+ end = 0;
+ }
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueVectorPrivate&lt;T&gt;::insert( pointer pos, const T&amp; x )
+{
+ const size_t lastSize = size();
+ const size_t n = lastSize !=0 ? 2*lastSize : 1;
+ const size_t offset = pos - start;
+ pointer newStart = new T[n];
+ pointer newFinish = newStart + offset;
+ qCopy( start, pos, newStart );
+ *newFinish = x;
+ qCopy( pos, finish, ++newFinish );
+ delete[] start;
+ start = newStart;
+ finish = newStart + lastSize + 1;
+ end = newStart + n;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueVectorPrivate&lt;T&gt;::insert( pointer pos, size_t n, const T&amp; x )
+{
+ if ( size_t( end - finish ) &gt;= n ) {
+ // enough room
+ const size_t elems_after = finish - pos;
+ pointer old_finish = finish;
+ if ( elems_after &gt; n ) {
+ qCopy( finish - n, finish, finish );
+ finish += n;
+ qCopyBackward( pos, old_finish - n, old_finish );
+ qFill( pos, pos + n, x );
+ } else {
+ pointer filler = finish;
+ size_t i = n - elems_after;
+ for ( ; i &gt; 0; --i, ++filler )
+ *filler = x;
+ finish += n - elems_after;
+ qCopy( pos, old_finish, finish );
+ finish += elems_after;
+ qFill( pos, old_finish, x );
+ }
+ } else {
+ // not enough room
+ const size_t lastSize = size();
+ const size_t len = lastSize + QMAX( lastSize, n );
+ pointer newStart = new T[len];
+ pointer newFinish = qCopy( start, pos, newStart );
+ // fill up inserted space
+ size_t i = n;
+ for ( ; i &gt; 0; --i, ++newFinish )
+ *newFinish = x;
+ newFinish = qCopy( pos, finish, newFinish );
+ delete[] start;
+ start = newStart;
+ finish = newFinish;
+ end = newStart + len;
+ }
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueVectorPrivate&lt;T&gt;::reserve( size_t n )
+{
+ const size_t lastSize = size();
+ pointer tmp = growAndCopy( n, start, finish );
+ start = tmp;
+ finish = tmp + lastSize;
+ end = start + n;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueVectorPrivate&lt;T&gt;::pointer QValueVectorPrivate&lt;T&gt;::growAndCopy( size_t n, pointer s, pointer f )
+{
+ pointer newStart = new T[n];
+ qCopy( s, f, newStart );
+ delete[] start;
+ return newStart;
+}
+
+template &lt;class T&gt; class QDeepCopy;
+
+template &lt;class T&gt;
+class QValueVector
+{
+public:
+ typedef T value_type;
+ typedef value_type* pointer;
+ typedef const value_type* const_pointer;
+ typedef value_type* iterator;
+ typedef const value_type* const_iterator;
+ typedef value_type&amp; reference;
+ typedef const value_type&amp; const_reference;
+ typedef size_t size_type;
+#ifndef QT_NO_STL
+ typedef ptrdiff_t difference_type;
+#else
+ typedef int difference_type;
+#endif
+
+ QValueVector()
+ {
+ sh = new QValueVectorPrivate&lt;T&gt;;
+ }
+
+ QValueVector( const QValueVector&lt;T&gt;&amp; v )
+ {
+ sh = v.sh;
+ sh-&gt;ref();
+ }
+
+ QValueVector( size_type n, const T&amp; val = T() );
+
+#ifndef QT_NO_STL
+ QValueVector( std::vector&lt;T&gt;&amp; v ) // ### remove in 4.0
+ {
+ sh = new QValueVectorPrivate&lt;T&gt;( v.size() );
+ qCopy( v.begin(), v.end(), begin() );
+ }
+
+ QValueVector( const std::vector&lt;T&gt;&amp; v )
+ {
+ sh = new QValueVectorPrivate&lt;T&gt;( v.size() );
+ qCopy( v.begin(), v.end(), begin() );
+ }
+#endif
+
+ ~QValueVector()
+ {
+ sh-&gt;derefAndDelete();
+ }
+
+ QValueVector&lt;T&gt;&amp; operator= ( const QValueVector&lt;T&gt;&amp; v )
+ {
+ v.sh-&gt;ref();
+ sh-&gt;derefAndDelete();
+ sh = v.sh;
+ return *this;
+ }
+
+#ifndef QT_NO_STL
+ QValueVector&lt;T&gt;&amp; operator= ( const std::vector&lt;T&gt;&amp; v )
+ {
+ clear();
+ resize( v.size() );
+ qCopy( v.begin(), v.end(), begin() );
+ return *this;
+ }
+#endif
+
+ size_type size() const { return sh-&gt;size(); }
+
+ bool empty() const { return sh-&gt;empty(); }
+
+ size_type capacity() const
+ {
+ return size_type( sh-&gt;capacity() );
+ }
+
+ iterator begin()
+ {
+ detach();
+ return sh-&gt;start;
+ }
+
+ const_iterator begin() const
+ {
+ return sh-&gt;start;
+ }
+
+ const_iterator constBegin() const
+ {
+ return sh-&gt;start;
+ }
+
+ iterator end()
+ {
+ detach();
+ return sh-&gt;finish;
+ }
+
+ const_iterator end() const
+ {
+ return sh-&gt;finish;
+ }
+
+ const_iterator constEnd() const
+ {
+ return sh-&gt;finish;
+ }
+
+ reference at( size_type i, bool* ok = 0 )
+ {
+ detach();
+ if ( ok )
+ *ok = ( i &lt; size() );
+ return *( begin() + i );
+ }
+
+ const_reference at( size_type i, bool* ok = 0 ) const
+ {
+ if ( ok )
+ *ok = ( i &lt; size() );
+ return *( begin() + i );
+ }
+
+ reference operator[]( size_type i )
+ {
+ detach();
+ return *( begin() + i );
+ }
+
+ const_reference operator[]( size_type i ) const
+ {
+ return *( begin() + i );
+ }
+
+ reference front()
+ {
+ Q_ASSERT( !empty() );
+ detach();
+ return *begin();
+ }
+
+ const_reference front() const
+ {
+ Q_ASSERT( !empty() );
+ return *begin();
+ }
+
+ reference back()
+ {
+ Q_ASSERT( !empty() );
+ detach();
+ return *( end() - 1 );
+ }
+
+ const_reference back() const
+ {
+ Q_ASSERT( !empty() );
+ return *( end() - 1 );
+ }
+
+ void push_back( const T&amp; x )
+ {
+ detach();
+ if ( sh-&gt;finish == sh-&gt;end ) {
+ sh-&gt;reserve( size()+size()/2+1 );
+ }
+ *sh-&gt;finish = x;
+ ++sh-&gt;finish;
+ }
+
+ void pop_back()
+ {
+ detach();
+ if ( empty() )
+ return;
+ --sh-&gt;finish;
+ }
+
+ iterator insert( iterator pos, const T&amp; x );
+ iterator insert( iterator pos, size_type n, const T&amp; x );
+
+ void reserve( size_type n )
+ {
+ if ( capacity() &lt; n ) {
+ detach();
+ sh-&gt;reserve( n );
+ }
+ }
+
+ void resize( size_type n, const T&amp; val = T() )
+ {
+ if ( n &lt; size() )
+ erase( begin() + n, end() );
+ else
+ insert( end(), n - size(), val );
+ }
+
+ void clear()
+ {
+ detach();
+ sh-&gt;clear();
+ }
+
+ iterator erase( iterator pos )
+ {
+ detach();
+ if ( pos + 1 != end() )
+ qCopy( pos + 1, sh-&gt;finish, pos );
+ --sh-&gt;finish;
+ return pos;
+ }
+
+ iterator erase( iterator first, iterator last )
+ {
+ detach();
+ qCopy( last, sh-&gt;finish, first );
+ sh-&gt;finish = sh-&gt;finish - ( last - first );
+ return first;
+ }
+
+ // ### remove in Qt 4.0
+ bool operator==( const QValueVector&lt;T&gt;&amp; x )
+ {
+ return size()==x.size() ? qEqual( constBegin(), constEnd(), x.begin()) : FALSE;
+ }
+
+ bool operator==( const QValueVector&lt;T&gt;&amp; x ) const
+ {
+ return size()==x.size() ? qEqual( begin(), end(), x.begin() ) : FALSE;
+ }
+
+ typedef T ValueType;
+ typedef ValueType *Iterator;
+ typedef const ValueType *ConstIterator;
+
+ size_type count() const { return size(); }
+ bool isEmpty() const { return empty(); }
+
+ reference first() { return front(); }
+ const_reference first() const { return front(); }
+ reference last() { return back(); }
+ const_reference last() const { return back(); }
+ void append( const T&amp; x ) { push_back( x ); }
+
+protected:
+ void detach()
+ {
+ if ( sh-&gt;count &gt; 1 ) { detachInternal(); }
+ }
+ void detachInternal();
+ QValueVectorPrivate&lt;T&gt;* sh;
+
+private:
+ friend class QDeepCopy&lt; QValueVector&lt;T&gt; &gt;;
+};
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES QValueVector&lt;T&gt;::QValueVector( size_type n, const T&amp; val )
+{
+ sh = new QValueVectorPrivate&lt;T&gt;( n );
+ qFill( begin(), end(), val );
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES void QValueVector&lt;T&gt;::detachInternal()
+{
+ sh-&gt;deref();
+ sh = new QValueVectorPrivate&lt;T&gt;( *sh );
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueVector&lt;T&gt;::iterator QValueVector&lt;T&gt;::insert( iterator pos, const T&amp; x )
+{
+ size_type offset = pos - sh-&gt;start;
+ detach();
+ if ( pos == end() ) {
+ if ( sh-&gt;finish == sh-&gt;end )
+ push_back( x );
+ else {
+ *sh-&gt;finish = x;
+ ++sh-&gt;finish;
+ }
+ } else {
+ if ( sh-&gt;finish == sh-&gt;end ) {
+ sh-&gt;insert( pos, x );
+ } else {
+ *sh-&gt;finish = *(sh-&gt;finish - 1);
+ ++sh-&gt;finish;
+ qCopyBackward( pos, sh-&gt;finish - 2, sh-&gt;finish - 1 );
+ *pos = x;
+ }
+ }
+ return begin() + offset;
+}
+
+template &lt;class T&gt;
+Q_INLINE_TEMPLATES Q_TYPENAME QValueVector&lt;T&gt;::iterator QValueVector&lt;T&gt;::insert( iterator pos, size_type n, const T&amp; x )
+{
+ if ( n != 0 ) {
+ size_type offset = pos - sh-&gt;start;
+ detach();
+ pos = begin() + offset;
+ sh-&gt;insert( pos, n, x );
+ }
+ return pos;
+}
+
+
+#ifndef QT_NO_DATASTREAM
+template&lt;class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&gt;&gt;( QDataStream&amp; s, QValueVector&lt;T&gt;&amp; v )
+{
+ v.clear();
+ Q_UINT32 c;
+ s &gt;&gt; c;
+ v.resize( c );
+ for( Q_UINT32 i = 0; i &lt; c; ++i )
+ {
+ T t;
+ s &gt;&gt; t;
+ v[i] = t;
+ }
+ return s;
+}
+
+template&lt;class T&gt;
+Q_INLINE_TEMPLATES QDataStream&amp; operator&lt;&lt;( QDataStream&amp; s, const QValueVector&lt;T&gt;&amp; v )
+{
+ s &lt;&lt; (Q_UINT32)v.size();
+ // ### use typename QValueVector&lt;T&gt;::const_iterator once all supported
+ // ### compilers know about the 'typename' keyword.
+ const T* it = v.begin();
+ for( ; it != v.end(); ++it )
+ s &lt;&lt; *it;
+ return s;
+}
+#endif // QT_NO_DATASTREAM
+
+#define Q_DEFINED_QVALUEVECTOR
+#include "qwinexport.h"
+#endif // QVALUEVECTOR_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluevector-members.html b/doc/html/qvaluevector-members.html
new file mode 100644
index 0000000..8a0bc67
--- /dev/null
+++ b/doc/html/qvaluevector-members.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvaluevector.h:233 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueVector Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QValueVector</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvaluevector.html">QValueVector</a>, including inherited members.
+
+<ul>
+<li><a href="qvaluevector.html#QValueVector">QValueVector</a>()
+<li><a href="qvaluevector.html#~QValueVector">~QValueVector</a>()
+<li><a href="qvaluevector.html#append">append</a>()
+<li><a href="qvaluevector.html#at">at</a>()
+<li><a href="qvaluevector.html#back">back</a>()
+<li><a href="qvaluevector.html#begin">begin</a>()
+<li><a href="qvaluevector.html#capacity">capacity</a>()
+<li><a href="qvaluevector.html#clear">clear</a>()
+<li><a href="qvaluevector.html#constBegin">constBegin</a>()
+<li><a href="qvaluevector.html#constEnd">constEnd</a>()
+<li><a href="qvaluevector.html#count">count</a>()
+<li><a href="qvaluevector.html#empty">empty</a>()
+<li><a href="qvaluevector.html#end">end</a>()
+<li><a href="qvaluevector.html#erase">erase</a>()
+<li><a href="qvaluevector.html#first">first</a>()
+<li><a href="qvaluevector.html#front">front</a>()
+<li><a href="qvaluevector.html#insert">insert</a>()
+<li><a href="qvaluevector.html#isEmpty">isEmpty</a>()
+<li><a href="qvaluevector.html#last">last</a>()
+<li><a href="qvaluevector.html#operator-eq">operator=</a>()
+<li><a href="qvaluevector.html#operator-eq-eq">operator==</a>()
+<li><a href="qvaluevector.html#operator[]">operator[]</a>()
+<li><a href="qvaluevector.html#pop_back">pop_back</a>()
+<li><a href="qvaluevector.html#push_back">push_back</a>()
+<li><a href="qvaluevector.html#reserve">reserve</a>()
+<li><a href="qvaluevector.html#resize">resize</a>()
+<li><a href="qvaluevector.html#size">size</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvaluevector.html b/doc/html/qvaluevector.html
new file mode 100644
index 0000000..6829e59
--- /dev/null
+++ b/doc/html/qvaluevector.html
@@ -0,0 +1,666 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qvaluevector.doc:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QValueVector Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QValueVector Class Reference</h1>
+
+<p>The QValueVector class is a value-based template class that provides a dynamic array.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qvaluevector-h.html">qvaluevector.h</a>&gt;</tt>
+<p><a href="qvaluevector-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
+<li class=fn>typedef value_type&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;*&nbsp;<a href="#const_pointer"><b>const_pointer</b></a></li>
+<li class=fn>typedef value_type&nbsp;*&nbsp;<a href="#iterator"><b>iterator</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;*&nbsp;<a href="#const_iterator"><b>const_iterator</b></a></li>
+<li class=fn>typedef value_type&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
+<li class=fn>typedef const&nbsp;value_type&nbsp;&amp;&nbsp;<a href="#const_reference"><b>const_reference</b></a></li>
+<li class=fn>typedef size_t&nbsp;<a href="#size_type"><b>size_type</b></a></li>
+<li class=fn>typedef ptrdiff_t&nbsp;<a href="#difference_type"><b>difference_type</b></a></li>
+<li class=fn><a href="#QValueVector"><b>QValueVector</b></a> ()</li>
+<li class=fn><a href="#QValueVector-2"><b>QValueVector</b></a> ( const&nbsp;QValueVector&lt;T&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn><a href="#QValueVector-3"><b>QValueVector</b></a> ( size_type&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;val = T ( ) )</li>
+<li class=fn><a href="#QValueVector-4"><b>QValueVector</b></a> ( std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn><a href="#QValueVector-5"><b>QValueVector</b></a> ( const&nbsp;std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn><a href="#~QValueVector"><b>~QValueVector</b></a> ()</li>
+<li class=fn>QValueVector&lt;T&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QValueVector&lt;T&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>QValueVector&lt;T&gt; &amp; <a href="#operator-eq-2"><b>operator=</b></a> ( const&nbsp;std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )</li>
+<li class=fn>size_type <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>bool <a href="#empty"><b>empty</b></a> () const</li>
+<li class=fn>size_type <a href="#capacity"><b>capacity</b></a> () const</li>
+<li class=fn>iterator <a href="#begin"><b>begin</b></a> ()</li>
+<li class=fn>const_iterator <a href="#begin-2"><b>begin</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constBegin"><b>constBegin</b></a> () const</li>
+<li class=fn>iterator <a href="#end"><b>end</b></a> ()</li>
+<li class=fn>const_iterator <a href="#end-2"><b>end</b></a> () const</li>
+<li class=fn>const_iterator <a href="#constEnd"><b>constEnd</b></a> () const</li>
+<li class=fn>reference <a href="#at"><b>at</b></a> ( size_type&nbsp;i, bool&nbsp;*&nbsp;ok = 0 )</li>
+<li class=fn>const_reference <a href="#at-2"><b>at</b></a> ( size_type&nbsp;i, bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>reference <a href="#operator[]"><b>operator[]</b></a> ( size_type&nbsp;i )</li>
+<li class=fn>const_reference <a href="#operator[]-2"><b>operator[]</b></a> ( size_type&nbsp;i ) const</li>
+<li class=fn>reference <a href="#front"><b>front</b></a> ()</li>
+<li class=fn>const_reference <a href="#front-2"><b>front</b></a> () const</li>
+<li class=fn>reference <a href="#back"><b>back</b></a> ()</li>
+<li class=fn>const_reference <a href="#back-2"><b>back</b></a> () const</li>
+<li class=fn>void <a href="#push_back"><b>push_back</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>void <a href="#pop_back"><b>pop_back</b></a> ()</li>
+<li class=fn>iterator <a href="#insert"><b>insert</b></a> ( iterator&nbsp;pos, const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>iterator <a href="#insert-2"><b>insert</b></a> ( iterator&nbsp;pos, size_type&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>void <a href="#reserve"><b>reserve</b></a> ( size_type&nbsp;n )</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( size_type&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;val = T ( ) )</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>iterator <a href="#erase"><b>erase</b></a> ( iterator&nbsp;pos )</li>
+<li class=fn>iterator <a href="#erase-2"><b>erase</b></a> ( iterator&nbsp;first, iterator&nbsp;last )</li>
+<li class=fn>bool <a href="#operator-eq-eq-2"><b>operator==</b></a> ( const&nbsp;QValueVector&lt;T&gt;&nbsp;&amp;&nbsp;x )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QValueVector&lt;T&gt;&nbsp;&amp;&nbsp;x ) const</li>
+<li class=fn>typedef T&nbsp;<a href="#ValueType"><b>ValueType</b></a></li>
+<li class=fn>typedef ValueType&nbsp;*&nbsp;<a href="#Iterator"><b>Iterator</b></a></li>
+<li class=fn>typedef const&nbsp;ValueType&nbsp;*&nbsp;<a href="#ConstIterator"><b>ConstIterator</b></a></li>
+<li class=fn>size_type <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>reference <a href="#first"><b>first</b></a> ()</li>
+<li class=fn>const_reference <a href="#first-2"><b>first</b></a> () const</li>
+<li class=fn>reference <a href="#last"><b>last</b></a> ()</li>
+<li class=fn>const_reference <a href="#last-2"><b>last</b></a> () const</li>
+<li class=fn>void <a href="#append"><b>append</b></a> ( const&nbsp;T&nbsp;&amp;&nbsp;x )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QValueVector class is a value-based template class that provides a dynamic array.
+<p>
+
+
+
+
+<p> QValueVector is a Qt implementation of an STL-like vector
+container. It can be used in your application if the standard <tt>vector</tt> is not available for your target platforms. QValueVector is
+part of the <a href="qtl.html">Qt Template Library</a>.
+<p> QValueVector&lt;T&gt; defines a template instance to create a vector
+of values that all have the class T. QValueVector does not store
+pointers to the members of the vector; it holds a copy of every
+member. QValueVector is said to be value based; in contrast,
+<a href="qptrlist.html">QPtrList</a> and <a href="qdict.html">QDict</a> are pointer based.
+<p> QValueVector contains and manages a collection of objects of type
+T and provides random access iterators that allow the contained
+objects to be addressed. QValueVector owns the contained
+elements. For more relaxed ownership semantics, see <a href="qptrcollection.html">QPtrCollection</a>
+and friends, which are pointer-based containers.
+<p> QValueVector provides good performance if you append or remove
+elements from the end of the vector. If you insert or remove
+elements from anywhere but the end, performance is very bad. The
+reason for this is that elements must to be copied into new
+positions.
+<p> Some classes cannot be used within a QValueVector: for example,
+all classes derived from <a href="qobject.html">QObject</a> and thus all classes that
+implement widgets. Only values can be used in a QValueVector. To
+qualify as a value the class must provide:
+<ul>
+<li> a copy constructor;
+<li> an assignment operator;
+<li> a default constructor, i.e., a constructor that does not take any arguments.
+</ul>
+<p> Note that C++ defaults to field-by-field assignment operators and
+copy constructors if no explicit version is supplied. In many
+cases this is sufficient.
+<p> QValueVector uses an STL-like syntax to manipulate and address the
+objects it contains. See <a href="qtl.html">this document</a> for
+more information.
+<p> Example:
+<pre>
+ #include &lt;<a href="qvaluevector-h.html">qvaluevector.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+ #include &lt;stdio.h&gt;
+
+ class Employee
+ {
+ public:
+ Employee(): s(0) {}
+ Employee( const <a href="qstring.html">QString</a>&amp; name, int salary )
+ : n( name ), s( salary )
+ { }
+
+ <a href="qstring.html">QString</a> name() const { return n; }
+ int salary() const { return s; }
+ void setSalary( int salary ) { s = salary; }
+ private:
+ <a href="qstring.html">QString</a> n;
+ int s;
+ };
+
+ int main()
+ {
+ typedef QValueVector&lt;Employee&gt; EmployeeVector;
+ EmployeeVector vec( 3 ); // vector of 3 Employees
+
+ vec[0] = Employee( "Bill", 50000 );
+ vec[1] = Employee( "Steve", 80000 );
+ vec[2] = Employee( "Ron", 60000 );
+
+ Employee joe( "Joe", 50000 );
+ vec.push_back( joe ); // vector expands to accommodate 4 Employees
+ joe.setSalary( 70000 );
+
+ EmployeeVector::<a href="#iterator">iterator</a> it;
+ for( it = vec.begin(); it != vec.end(); ++it )
+ printf( "%s earns %d\n", (*it).name().latin1(), (*it).salary() );
+
+ return 0;
+ }
+ </pre>
+
+<p> Program output:
+<pre>
+ Bill earns 50000
+ Steve earns 80000
+ Ron earns 60000
+ Joe earns 50000
+ </pre>
+
+<p> As you can see, the most recent change to Joe's salary did not
+affect the value in the vector because the vector created a copy
+of Joe's entry.
+<p> Many Qt functions return const value vectors; to iterate over
+these you should make a copy and iterate over the copy.
+<p> There are several ways to find items in the vector. The <a href="#begin">begin</a>()
+and <a href="#end">end</a>() functions return iterators to the beginning and end of
+the vector. The advantage of getting an iterator is that you can
+move forward or backward from this position by
+incrementing/decrementing the iterator. The iterator returned by
+end() points to the element which is one past the last element in
+the container. The past-the-end iterator is still associated with
+the vector it belongs to, however it is <em>not</em> dereferenceable;
+<a href="qsize.html#operator*-4">operator*</a>() will not return a well-defined value. If the vector is
+<a href="#empty">empty</a>(), the iterator returned by begin() will equal the iterator
+returned by end().
+<p> The fastest way to access an element of a vector is by using
+operator[]. This function provides random access and will return
+a reference to the element located at the specified index. Thus,
+you can access every element directly, in constant time, providing
+you know the location of the element. It is undefined to access
+an element that does not exist (your application will probably
+crash). For example:
+<p> <pre>
+ QValueVector&lt;int&gt; vec1; // an empty vector
+ vec1[10] = 4; // WARNING: undefined, probably a crash
+
+ QValueVector&lt;QString&gt; vec2(25); // initialize with 25 elements
+ vec2[10] = "Dave"; // OK
+ </pre>
+
+<p> Whenever inserting, removing or referencing elements in a vector,
+always make sure you are referring to valid positions. For
+example:
+<p> <pre>
+ void func( QValueVector&lt;int&gt;&amp; vec )
+ {
+ if ( vec.<a href="#size">size</a>() &gt; 10 ) {
+ vec[9] = 99; // OK
+ }
+ };
+ </pre>
+
+<p> The iterators provided by vector are random access iterators,
+therefore you can use them with many generic algorithms, for
+example, algorithms provided by the STL or the <a href="qtl.html">QTL</a>.
+<p> Another way to find an element in the vector is by using the
+std::find() or <a href="qtl.html#qFind">qFind()</a> algorithms.
+For example:
+<p> <pre>
+ QValueVector&lt;int&gt; vec;
+ ...
+ QValueVector&lt;int&gt;::<a href="#const_iterator">const_iterator</a> it = qFind( vec.<a href="#begin">begin</a>(), vec.<a href="#end">end</a>(), 3 );
+ if ( it != vector.end() )
+ // 'it' points to the found element
+ </pre>
+
+<p> It is safe to have multiple iterators on the vector at the same
+time. Since QValueVector manages memory dynamically, all iterators
+can become invalid if a memory reallocation occurs. For example,
+if some member of the vector is removed, iterators that point to
+the removed element and to all following elements become
+invalidated. Inserting into the middle of the vector will
+invalidate all iterators. For convenience, the function <a href="#back">back</a>()
+returns a reference to the last element in the vector, and <a href="#front">front</a>()
+returns a reference to the first element. If the vector is
+<a href="#empty">empty</a>(), both back() and front() have undefined behavior (your
+application will crash or do unpredictable things). Use back() and
+front() with caution, for example:
+<p> <pre>
+ QValueVector&lt;int&gt; vec( 3 );
+ vec.<a href="#push_back">push_back</a>( 1 );
+ vec.<a href="#push_back">push_back</a>( 2 );
+ vec.<a href="#push_back">push_back</a>( 3 );
+ ...
+ if ( !vec.<a href="#empty">empty</a>() ) {
+ // OK: modify the first element
+ int&amp; i = vec.<a href="#front">front</a>();
+ i = 18;
+ }
+ ...
+ QValueVector&lt;double&gt; dvec;
+ double d = dvec.<a href="#back">back</a>(); // undefined behavior
+ </pre>
+
+<p> Because QValueVector manages memory dynamically, it is recommended
+that you contruct a vector with an initial size. Inserting and
+removing elements happens fastest when:
+<ul>
+<li> Inserting or removing elements happens at the <a href="#end">end</a>() of the
+vector;
+<li> The vector does not need to allocate additional memory.
+</ul>
+<p> By creating a QValueVector with a sufficiently large initial size,
+there will be less memory allocations. Do not use an initial size
+that is too big, since it will still take time to construct all
+the empty entries, and the extra space will be wasted if it is
+never used.
+<p> Because QValueVector is value-based there is no need to be careful
+about deleting elements in the vector. The vector holds its own
+copies and will free them if the corresponding member or the
+vector itself is deleted. You can force the vector to free all of
+its items with <a href="#clear">clear</a>().
+<p> QValueVector is <a href="shclass.html#shared-implicitly">shared implicitly</a>, which means it can be copied in
+constant time. If multiple QValueVector instances share the same
+data and one needs to modify its contents, this modifying instance
+makes a copy and modifies its private copy; it thus does not
+affect the other instances. This is often called "copy on write".
+If a QValueVector is being used in a multi-threaded program, you
+must protect all access to the vector. See <a href="qmutex.html">QMutex</a>.
+<p> There are several ways to insert elements into the vector. The
+<a href="#push_back">push_back</a>() function insert elements into the end of the vector,
+and is usually fastest. The <a href="#insert">insert</a>() function can be used to add
+elements at specific positions within the vector.
+<p> Items can be also be removed from the vector in several ways.
+There are several variants of the <a href="#erase">erase</a>() function which removes a
+specific element, or range of elements, from the vector.
+<p> Vectors can be also sorted with various STL algorithms , or it can
+be sorted using the <a href="qtl.html">Qt Template Library</a>.
+For example with qHeapSort():
+<p> Example:
+<pre>
+ QValueVector&lt;int&gt; v( 4 );
+ v.<a href="#push_back">push_back</a>( 5 );
+ v.<a href="#push_back">push_back</a>( 8 );
+ v.<a href="#push_back">push_back</a>( 3 );
+ v.<a href="#push_back">push_back</a>( 4 );
+ qHeapSort( v );
+ </pre>
+
+<p> QValueVector stores its elements in contiguous memory. This means
+that you can use a QValueVector in any situation that requires an
+array.
+<p>See also <a href="qtl.html">Qt Template Library Classes</a>, <a href="shared.html">Implicitly and Explicitly Shared Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="ConstIterator"></a>QValueVector::ConstIterator</h3>
+The vector's const iterator type.
+<h3 class=fn><a name="Iterator"></a>QValueVector::Iterator</h3>
+The vector's iterator type.
+<h3 class=fn><a name="ValueType"></a>QValueVector::ValueType</h3>
+The type of the object stored in the vector.
+<h3 class=fn><a name="const_iterator"></a>QValueVector::const_iterator</h3>
+The vector's const iterator type.
+<h3 class=fn><a name="const_pointer"></a>QValueVector::const_pointer</h3>
+The const pointer to T type.
+<h3 class=fn><a name="const_reference"></a>QValueVector::const_reference</h3>
+The const reference to T type.
+<h3 class=fn><a name="difference_type"></a>QValueVector::difference_type</h3>
+A signed integral type used to represent the distance between two iterators.
+<h3 class=fn><a name="iterator"></a>QValueVector::iterator</h3>
+The vector's iterator type.
+<h3 class=fn><a name="pointer"></a>QValueVector::pointer</h3>
+The pointer to T type.
+<h3 class=fn><a name="reference"></a>QValueVector::reference</h3>
+The reference to T type.
+<h3 class=fn><a name="size_type"></a>QValueVector::size_type</h3>
+An unsigned integral type, used to represent various sizes.
+<h3 class=fn><a name="value_type"></a>QValueVector::value_type</h3>
+The type of the object stored in the vector.
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QValueVector"></a>QValueVector::QValueVector ()
+</h3>
+
+<p> Constructs an empty vector without any elements. To create a
+vector which reserves an initial amount of space for elements, use
+<tt>QValueVector(size_type n)</tt>.
+
+<h3 class=fn><a name="QValueVector-2"></a>QValueVector::QValueVector ( const&nbsp;<a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Constructs a copy of <em>v</em>.
+<p> This operation costs O(1) time because QValueVector is <a href="shclass.html#implicitly-shared">implicitly shared</a>.
+<p> The first modification to the vector does takes O(n) time, because
+the elements must be copied.
+
+<h3 class=fn><a name="QValueVector-3"></a>QValueVector::QValueVector ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;val = T ( ) )
+</h3>
+
+<p> Constructs a vector with an initial size of <em>n</em> elements. Each
+element is initialized with the value of <em>val</em>.
+
+<h3 class=fn><a name="QValueVector-4"></a>QValueVector::QValueVector ( std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Constructs a copy of <em>v</em>.
+
+<h3 class=fn><a name="QValueVector-5"></a>QValueVector::QValueVector ( const&nbsp;std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> This operation costs O(n) time because <em>v</em> is copied.
+
+<h3 class=fn><a name="~QValueVector"></a>QValueVector::~QValueVector ()
+</h3>
+
+<p> Destroys the vector, destroying all elements and freeing the
+allocated memory. References to the values in the vector and all
+iterators of this vector become invalidated. Note that it is
+impossible for an iterator to check whether or not it is valid:
+QValueVector is tuned for performance, not for error checking.
+
+<h3 class=fn>void <a name="append"></a>QValueVector::append ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Appends a copy of <em>x</em> to the end of the vector.
+<p> <p>See also <a href="#push_back">push_back</a>() and <a href="#insert">insert</a>().
+
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="at"></a>QValueVector::at ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;i, bool&nbsp;*&nbsp;ok = 0 )
+</h3>
+
+<p> Returns a reference to the element with index <em>i</em>. If <em>ok</em> is
+non-null, and the index <em>i</em> is out of range, *<em>ok</em> is set to
+FALSE and the returned reference is undefined. If the index <em>i</em>
+is within the range of the vector, and <em>ok</em> is non-null, *<em>ok</em>
+is set to TRUE and the returned reference is well defined.
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="at-2"></a>QValueVector::at ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;i, bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const reference to the element with index <em>i</em>. If <em>ok</em>
+is non-null, and the index <em>i</em> is out of range, *<em>ok</em> is set to
+FALSE and the returned reference is undefined. If the index <em>i</em>
+is within the range of the vector, and <em>ok</em> is non-null, *<em>ok</em>
+is set to TRUE and the returned reference is well defined.
+
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="back"></a>QValueVector::back ()
+</h3>
+
+<p> Returns a reference to the last element in the vector. If there is
+no last element, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#front">front</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="back-2"></a>QValueVector::back () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const reference to the last element in the vector. If
+there is no last element, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#front">front</a>().
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="begin"></a>QValueVector::begin ()
+</h3>
+
+<p> Returns an iterator pointing to the beginning of the vector. If
+the vector is <a href="#empty">empty</a>(), the returned iterator will equal <a href="#end">end</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_iterator">const_iterator</a> <a name="begin-2"></a>QValueVector::begin () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const iterator pointing to the beginning of the vector.
+If the vector is <a href="#empty">empty</a>(), the returned iterator will equal <a href="#end">end</a>().
+
+<h3 class=fn><a href="qvaluevector.html#size_type">size_type</a> <a name="capacity"></a>QValueVector::capacity () const
+</h3>
+
+<p> Returns the maximum number of elements that can be stored in the
+vector without forcing memory reallocation. If memory reallocation
+takes place, some or all iterators may become invalidated.
+
+<h3 class=fn>void <a name="clear"></a>QValueVector::clear ()
+</h3>
+
+<p> Removes all the elements from the vector.
+
+<h3 class=fn><a href="qvaluevector.html#const_iterator">const_iterator</a> <a name="constBegin"></a>QValueVector::constBegin () const
+</h3>
+
+<p> Returns a const iterator pointing to the beginning of the vector.
+If the vector is <a href="#empty">empty</a>(), the returned iterator will equal <a href="#end">end</a>().
+<p> <p>See also <a href="#constEnd">constEnd</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_iterator">const_iterator</a> <a name="constEnd"></a>QValueVector::constEnd () const
+</h3>
+
+<p> Returns a const iterator pointing behind the last element of the
+vector.
+<p> <p>See also <a href="#constBegin">constBegin</a>().
+
+<h3 class=fn><a href="qvaluevector.html#size_type">size_type</a> <a name="count"></a>QValueVector::count () const
+</h3>
+
+<p> Returns the number of items in the vector.
+<p> <p>See also <a href="#isEmpty">isEmpty</a>().
+
+<h3 class=fn>bool <a name="empty"></a>QValueVector::empty () const
+</h3>
+
+<p> Returns TRUE if the vector is empty; otherwise returns FALSE.
+Equivalent to <a href="#size">size</a>()==0, only faster.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#isEmpty">isEmpty</a>().
+<p> <p>See also <a href="#size">size</a>().
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="end"></a>QValueVector::end ()
+</h3>
+
+<p> Returns an iterator pointing behind the last element of the
+vector.
+
+<h3 class=fn><a href="qvaluevector.html#const_iterator">const_iterator</a> <a name="end-2"></a>QValueVector::end () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const iterator pointing behind the last element of the
+vector.
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="erase"></a>QValueVector::erase ( <a href="qvaluevector.html#iterator">iterator</a>&nbsp;pos )
+</h3>
+
+<p> Removes the element at position <em>pos</em> and returns the position of
+the next element.
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="erase-2"></a>QValueVector::erase ( <a href="qvaluevector.html#iterator">iterator</a>&nbsp;first, <a href="qvaluevector.html#iterator">iterator</a>&nbsp;last )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Removes all elements from <em>first</em> up to but not including <em>last</em>
+and returns the position of the next element.
+
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="first"></a>QValueVector::first ()
+</h3>
+
+<p> Returns a reference to the first item in the vector. If there is
+no first item, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#last">last</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="first-2"></a>QValueVector::first () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="front"></a>QValueVector::front ()
+</h3>
+
+<p> Returns a reference to the first element in the vector. If there
+is no first element, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#back">back</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="front-2"></a>QValueVector::front () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const reference to the first element in the vector. If
+there is no first element, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#back">back</a>().
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="insert"></a>QValueVector::insert ( <a href="qvaluevector.html#iterator">iterator</a>&nbsp;pos, const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Inserts a copy of <em>x</em> at the position immediately before <em>pos</em>.
+<p> <p>See also <a href="#push_back">push_back</a>().
+
+<h3 class=fn><a href="qvaluevector.html#iterator">iterator</a> <a name="insert-2"></a>QValueVector::insert ( <a href="qvaluevector.html#iterator">iterator</a>&nbsp;pos, <a href="qvaluevector.html#size_type">size_type</a>&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Inserts <em>n</em> copies of <em>x</em> immediately before position x.
+<p> <p>See also <a href="#push_back">push_back</a>().
+
+<h3 class=fn>bool <a name="isEmpty"></a>QValueVector::isEmpty () const
+</h3>
+
+<p> Returns TRUE if the vector is empty; returns FALSE otherwise.
+<p> <p>See also <a href="#count">count</a>().
+
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="last"></a>QValueVector::last ()
+</h3>
+
+<p> Returns a reference to the last item in the vector. If there is no
+last item, this function has undefined behavior.
+<p> <p>See also <a href="#empty">empty</a>() and <a href="#first">first</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="last-2"></a>QValueVector::last () const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<h3 class=fn><a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq"></a>QValueVector::operator= ( const&nbsp;<a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> Assigns <em>v</em> to this vector and returns a reference to this vector.
+<p> All iterators of the current vector become invalidated by this
+operation. The cost of such an assignment is O(1) since
+QValueVector is <a href="shclass.html#implicitly-shared">implicitly shared</a>.
+
+<h3 class=fn><a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp; <a name="operator-eq-2"></a>QValueVector::operator= ( const&nbsp;std::vector&lt;T&gt;&nbsp;&amp;&nbsp;v )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Assigns <em>v</em> to this vector and returns a reference to this vector.
+<p> All iterators of the current vector become invalidated by this
+operation. The cost of this assignment is O(n) since <em>v</em> is
+copied.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QValueVector::operator== ( const&nbsp;<a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp;&nbsp;x ) const
+</h3>
+
+<p> Returns TRUE if each element in this vector equals each
+corresponding element in <em>x</em>; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="operator-eq-eq-2"></a>QValueVector::operator== ( const&nbsp;<a href="qvaluevector.html">QValueVector</a>&lt;T&gt;&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns TRUE if each element in this vector equals each
+corresponding element in <em>x</em>; otherwise returns FALSE.
+
+<h3 class=fn><a href="qvaluevector.html#reference">reference</a> <a name="operator[]"></a>QValueVector::operator[] ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;i )
+</h3>
+
+<p> Returns a reference to the element at index <em>i</em>. If <em>i</em> is out
+of range, this function has undefined behavior.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn><a href="qvaluevector.html#const_reference">const_reference</a> <a name="operator[]-2"></a>QValueVector::operator[] ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;i ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a const reference to the element at index <em>i</em>. If <em>i</em> is
+out of range, this function has undefined behavior.
+<p> <p>See also <a href="#at">at</a>().
+
+<h3 class=fn>void <a name="pop_back"></a>QValueVector::pop_back ()
+</h3>
+
+<p> Removes the last item from the vector.
+<p> This function is provided for STL compatibility.
+
+<h3 class=fn>void <a name="push_back"></a>QValueVector::push_back ( const&nbsp;T&nbsp;&amp;&nbsp;x )
+</h3>
+
+<p> Appends a copy of <em>x</em> to the end of the vector. This is the
+fastest way to add new elements.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#append">append</a>().
+<p> <p>See also <a href="#insert">insert</a>().
+
+<h3 class=fn>void <a name="reserve"></a>QValueVector::reserve ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;n )
+</h3>
+
+<p> Increases the vector's capacity. If <em>n</em> is less than or equal to
+<a href="#capacity">capacity</a>(), nothing happens. Otherwise, additional memory is
+allocated so that capacity() will be increased to a value greater
+than or equal to <em>n</em>. All iterators will then become invalidated.
+Note that the vector's <a href="#size">size</a>() and the values of existing elements
+remain unchanged.
+
+<h3 class=fn>void <a name="resize"></a>QValueVector::resize ( <a href="qvaluevector.html#size_type">size_type</a>&nbsp;n, const&nbsp;T&nbsp;&amp;&nbsp;val = T ( ) )
+</h3>
+
+<p> Changes the size of the vector to <em>n</em>. If <em>n</em> is greater than
+the current <a href="#size">size</a>(), elements are added to the end and initialized
+with the value of <em>val</em>. If <em>n</em> is less than size(), elements
+are removed from the end. If <em>n</em> is equal to size() nothing
+happens.
+
+<h3 class=fn><a href="qvaluevector.html#size_type">size_type</a> <a name="size"></a>QValueVector::size () const
+</h3>
+
+<p> Returns the number of elements in the vector.
+<p> This function is provided for STL compatibility. It is equivalent
+to <a href="#count">count</a>().
+<p> <p>See also <a href="#empty">empty</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvariant-h.html b/doc/html/qvariant-h.html
new file mode 100644
index 0000000..9d5685d
--- /dev/null
+++ b/doc/html/qvariant-h.html
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvariant.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvariant.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvariant.h</h1>
+
+<p>This is the verbatim text of the qvariant.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvariant.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QVariant class
+**
+** Created : 990414
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVARIANT_H
+#define QVARIANT_H
+
+#ifndef QT_H
+#include "qstring.h"
+#endif // QT_H
+
+#ifndef QT_NO_VARIANT
+class QString;
+class QCString;
+class QFont;
+class QPixmap;
+class QBrush;
+class QRect;
+class QPoint;
+class QImage;
+class QSize;
+class QColor;
+class QPalette;
+class QColorGroup;
+class QIconSet;
+class QDataStream;
+class QPointArray;
+class QRegion;
+class QBitmap;
+class QCursor;
+class QStringList;
+class QSizePolicy;
+class QDate;
+class QTime;
+class QDateTime;
+class QBitArray;
+class QKeySequence;
+class QPen;
+// Some headers rejected after QVariant declaration for GCC 2.7.* compatibility
+class QVariant;
+#ifndef QT_NO_TEMPLATE_VARIANT
+template &lt;class T&gt; class QValueList;
+template &lt;class T&gt; class QValueListConstIterator;
+template &lt;class T&gt; class QValueListNode;
+template &lt;class Key, class T&gt; class QMap;
+template &lt;class Key, class T&gt; class QMapConstIterator;
+#endif
+
+class Q_EXPORT QVariant
+{
+public:
+ enum Type {
+ Invalid,
+ Map,
+ List,
+ String,
+ StringList,
+ Font,
+ Pixmap,
+ Brush,
+ Rect,
+ Size,
+ Color,
+ Palette,
+ ColorGroup,
+ IconSet,
+ Point,
+ Image,
+ Int,
+ UInt,
+ Bool,
+ Double,
+ CString,
+ PointArray,
+ Region,
+ Bitmap,
+ Cursor,
+ SizePolicy,
+ Date,
+ Time,
+ DateTime,
+ ByteArray,
+ BitArray,
+ KeySequence,
+ Pen,
+ LongLong,
+ ULongLong
+ };
+
+ QVariant();
+ ~QVariant();
+ QVariant( const QVariant&amp; );
+#ifndef QT_NO_DATASTREAM
+ QVariant( QDataStream&amp; s );
+#endif
+ QVariant( const QString&amp; );
+ QVariant( const QCString&amp; );
+ QVariant( const char* );
+#ifndef QT_NO_STRINGLIST
+ QVariant( const QStringList&amp; );
+#endif
+ QVariant( const QFont&amp; );
+ QVariant( const QPixmap&amp; );
+ QVariant( const QImage&amp; );
+ QVariant( const QBrush&amp; );
+ QVariant( const QPoint&amp; );
+ QVariant( const QRect&amp; );
+ QVariant( const QSize&amp; );
+ QVariant( const QColor&amp; );
+ QVariant( const QPalette&amp; );
+ QVariant( const QColorGroup&amp; );
+ QVariant( const QIconSet&amp; );
+ QVariant( const QPointArray&amp; );
+ QVariant( const QRegion&amp; );
+ QVariant( const QBitmap&amp; );
+ QVariant( const QCursor&amp; );
+ QVariant( const QDate&amp; );
+ QVariant( const QTime&amp; );
+ QVariant( const QDateTime&amp; );
+ QVariant( const QByteArray&amp; );
+ QVariant( const QBitArray&amp; );
+#ifndef QT_NO_ACCEL
+ QVariant( const QKeySequence&amp; );
+#endif
+ QVariant( const QPen&amp; );
+#ifndef QT_NO_TEMPLATE_VARIANT
+ QVariant( const QValueList&lt;QVariant&gt;&amp; );
+ QVariant( const QMap&lt;QString,QVariant&gt;&amp; );
+#endif
+ QVariant( int );
+ QVariant( uint );
+ QVariant( Q_LLONG );
+ QVariant( Q_ULLONG );
+ // ### Problems on some compilers ?
+ QVariant( bool, int );
+ QVariant( double );
+ QVariant( QSizePolicy );
+
+ QVariant&amp; operator= ( const QVariant&amp; );
+ bool operator==( const QVariant&amp; ) const;
+ bool operator!=( const QVariant&amp; ) const;
+
+ Type type() const;
+ const char* typeName() const;
+
+ bool canCast( Type ) const;
+ bool cast( Type );
+
+ bool isValid() const;
+ bool isNull() const;
+
+ void clear();
+
+ const QString toString() const;
+ const QCString toCString() const;
+#ifndef QT_NO_STRINGLIST
+ const QStringList toStringList() const;
+#endif
+ const QFont toFont() const;
+ const QPixmap toPixmap() const;
+ const QImage toImage() const;
+ const QBrush toBrush() const;
+ const QPoint toPoint() const;
+ const QRect toRect() const;
+ const QSize toSize() const;
+ const QColor toColor() const;
+ const QPalette toPalette() const;
+ const QColorGroup toColorGroup() const;
+ const QIconSet toIconSet() const;
+ const QPointArray toPointArray() const;
+ const QBitmap toBitmap() const;
+ const QRegion toRegion() const;
+ const QCursor toCursor() const;
+ const QDate toDate() const;
+ const QTime toTime() const;
+ const QDateTime toDateTime() const;
+ const QByteArray toByteArray() const;
+ const QBitArray toBitArray() const;
+#ifndef QT_NO_ACCEL
+ const QKeySequence toKeySequence() const;
+#endif
+ const QPen toPen() const;
+ int toInt( bool * ok=0 ) const;
+ uint toUInt( bool * ok=0 ) const;
+ Q_LLONG toLongLong( bool * ok=0 ) const;
+ Q_ULLONG toULongLong( bool * ok=0 ) const;
+ bool toBool() const;
+ double toDouble( bool * ok=0 ) const;
+#ifndef QT_NO_TEMPLATE_VARIANT
+ const QValueList&lt;QVariant&gt; toList() const;
+ const QMap&lt;QString,QVariant&gt; toMap() const;
+#endif
+ QSizePolicy toSizePolicy() const;
+
+#ifndef QT_NO_TEMPLATE_VARIANT
+ QValueListConstIterator&lt;QString&gt; stringListBegin() const;
+ QValueListConstIterator&lt;QString&gt; stringListEnd() const;
+ QValueListConstIterator&lt;QVariant&gt; listBegin() const;
+ QValueListConstIterator&lt;QVariant&gt; listEnd() const;
+ QMapConstIterator&lt;QString,QVariant&gt; mapBegin() const;
+ QMapConstIterator&lt;QString,QVariant&gt; mapEnd() const;
+ QMapConstIterator&lt;QString,QVariant&gt; mapFind( const QString&amp; ) const;
+#endif
+ QString&amp; asString();
+ QCString&amp; asCString();
+#ifndef QT_NO_STRINGLIST
+ QStringList&amp; asStringList();
+#endif
+ QFont&amp; asFont();
+ QPixmap&amp; asPixmap();
+ QImage&amp; asImage();
+ QBrush&amp; asBrush();
+ QPoint&amp; asPoint();
+ QRect&amp; asRect();
+ QSize&amp; asSize();
+ QColor&amp; asColor();
+ QPalette&amp; asPalette();
+ QColorGroup&amp; asColorGroup();
+ QIconSet&amp; asIconSet();
+ QPointArray&amp; asPointArray();
+ QBitmap&amp; asBitmap();
+ QRegion&amp; asRegion();
+ QCursor&amp; asCursor();
+ QDate&amp; asDate();
+ QTime&amp; asTime();
+ QDateTime&amp; asDateTime();
+ QByteArray&amp; asByteArray();
+ QBitArray&amp; asBitArray();
+#ifndef QT_NO_ACCEL
+ QKeySequence&amp; asKeySequence();
+#endif
+ QPen&amp; asPen();
+ int&amp; asInt();
+ uint&amp; asUInt();
+ Q_LLONG&amp; asLongLong();
+ Q_ULLONG&amp; asULongLong();
+ bool&amp; asBool();
+ double&amp; asDouble();
+#ifndef QT_NO_TEMPLATE_VARIANT
+ QValueList&lt;QVariant&gt;&amp; asList();
+ QMap&lt;QString,QVariant&gt;&amp; asMap();
+#endif
+ QSizePolicy&amp; asSizePolicy();
+
+#ifndef QT_NO_DATASTREAM
+ void load( QDataStream&amp; );
+ void save( QDataStream&amp; ) const;
+#endif
+ static const char* typeToName( Type typ );
+ static Type nameToType( const char* name );
+
+private:
+ void detach();
+
+ class Private : public QShared
+ {
+ public:
+ Private();
+ Private( Private* );
+ ~Private();
+
+ void clear();
+
+ Type typ;
+ union
+ {
+ uint u;
+ int i;
+ Q_LLONG ll;
+ Q_ULLONG ull;
+ bool b;
+ double d;
+ void *ptr;
+ } value;
+ uint is_null : 1; // ## 4.0 merge with typ
+ };
+
+ Private* d;
+
+public:
+ void* rawAccess( void* ptr = 0, Type typ = Invalid, bool deepCopy = FALSE );
+};
+
+// down here for GCC 2.7.* compatibility
+#ifndef QT_H
+#include "qvaluelist.h"
+#include "qstringlist.h"
+#include "qmap.h"
+#endif // QT_H
+
+inline QVariant::Type QVariant::type() const
+{
+ return d-&gt;typ;
+}
+
+inline bool QVariant::isValid() const
+{
+ return (d-&gt;typ != Invalid);
+}
+
+#ifndef QT_NO_TEMPLATE_VARIANT
+inline QValueListConstIterator&lt;QString&gt; QVariant::stringListBegin() const
+{
+ if ( d-&gt;typ != StringList )
+ return QValueListConstIterator&lt;QString&gt;();
+ return ((const QStringList*)d-&gt;value.ptr)-&gt;begin();
+}
+
+inline QValueListConstIterator&lt;QString&gt; QVariant::stringListEnd() const
+{
+ if ( d-&gt;typ != StringList )
+ return QValueListConstIterator&lt;QString&gt;();
+ return ((const QStringList*)d-&gt;value.ptr)-&gt;end();
+}
+
+inline QValueListConstIterator&lt;QVariant&gt; QVariant::listBegin() const
+{
+ if ( d-&gt;typ != List )
+ return QValueListConstIterator&lt;QVariant&gt;();
+ return ((const QValueList&lt;QVariant&gt;*)d-&gt;value.ptr)-&gt;begin();
+}
+
+inline QValueListConstIterator&lt;QVariant&gt; QVariant::listEnd() const
+{
+ if ( d-&gt;typ != List )
+ return QValueListConstIterator&lt;QVariant&gt;();
+ return ((const QValueList&lt;QVariant&gt;*)d-&gt;value.ptr)-&gt;end();
+}
+
+inline QMapConstIterator&lt;QString,QVariant&gt; QVariant::mapBegin() const
+{
+ if ( d-&gt;typ != Map )
+ return QMapConstIterator&lt;QString,QVariant&gt;();
+ return ((const QMap&lt;QString,QVariant&gt;*)d-&gt;value.ptr)-&gt;begin();
+}
+
+inline QMapConstIterator&lt;QString,QVariant&gt; QVariant::mapEnd() const
+{
+ if ( d-&gt;typ != Map )
+ return QMapConstIterator&lt;QString,QVariant&gt;();
+ return ((const QMap&lt;QString,QVariant&gt;*)d-&gt;value.ptr)-&gt;end();
+}
+
+inline QMapConstIterator&lt;QString,QVariant&gt; QVariant::mapFind( const QString&amp; key ) const
+{
+ if ( d-&gt;typ != Map )
+ return QMapConstIterator&lt;QString,QVariant&gt;();
+ return ((const QMap&lt;QString,QVariant&gt;*)d-&gt;value.ptr)-&gt;find( key );
+}
+#endif
+
+#ifndef QT_NO_DATASTREAM
+Q_EXPORT QDataStream&amp; operator&gt;&gt; ( QDataStream&amp; s, QVariant&amp; p );
+Q_EXPORT QDataStream&amp; operator&lt;&lt; ( QDataStream&amp; s, const QVariant&amp; p );
+Q_EXPORT QDataStream&amp; operator&gt;&gt; ( QDataStream&amp; s, QVariant::Type&amp; p );
+Q_EXPORT QDataStream&amp; operator&lt;&lt; ( QDataStream&amp; s, const QVariant::Type p );
+#endif
+
+#endif //QT_NO_VARIANT
+#endif // QVARIANT_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvariant-members.html b/doc/html/qvariant-members.html
new file mode 100644
index 0000000..e5eae7a
--- /dev/null
+++ b/doc/html/qvariant-members.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvariant.h:83 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVariant Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QVariant</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvariant.html">QVariant</a>, including inherited members.
+
+<ul>
+<li><a href="qvariant.html#QVariant">QVariant</a>()
+<li><a href="qvariant.html#~QVariant">~QVariant</a>()
+<li><a href="qvariant.html#asBitArray">asBitArray</a>()
+<li><a href="qvariant.html#asBitmap">asBitmap</a>()
+<li><a href="qvariant.html#asBool">asBool</a>()
+<li><a href="qvariant.html#asBrush">asBrush</a>()
+<li><a href="qvariant.html#asByteArray">asByteArray</a>()
+<li><a href="qvariant.html#asCString">asCString</a>()
+<li><a href="qvariant.html#asColor">asColor</a>()
+<li><a href="qvariant.html#asColorGroup">asColorGroup</a>()
+<li><a href="qvariant.html#asCursor">asCursor</a>()
+<li><a href="qvariant.html#asDate">asDate</a>()
+<li><a href="qvariant.html#asDateTime">asDateTime</a>()
+<li><a href="qvariant.html#asDouble">asDouble</a>()
+<li><a href="qvariant.html#asFont">asFont</a>()
+<li><a href="qvariant.html#asIconSet">asIconSet</a>()
+<li><a href="qvariant.html#asImage">asImage</a>()
+<li><a href="qvariant.html#asInt">asInt</a>()
+<li><a href="qvariant.html#asKeySequence">asKeySequence</a>()
+<li><a href="qvariant.html#asList">asList</a>()
+<li><a href="qvariant.html#asLongLong">asLongLong</a>()
+<li><a href="qvariant.html#asMap">asMap</a>()
+<li><a href="qvariant.html#asPalette">asPalette</a>()
+<li><a href="qvariant.html#asPen">asPen</a>()
+<li><a href="qvariant.html#asPixmap">asPixmap</a>()
+<li><a href="qvariant.html#asPoint">asPoint</a>()
+<li><a href="qvariant.html#asPointArray">asPointArray</a>()
+<li><a href="qvariant.html#asRect">asRect</a>()
+<li><a href="qvariant.html#asRegion">asRegion</a>()
+<li><a href="qvariant.html#asSize">asSize</a>()
+<li><a href="qvariant.html#asSizePolicy">asSizePolicy</a>()
+<li><a href="qvariant.html#asString">asString</a>()
+<li><a href="qvariant.html#asStringList">asStringList</a>()
+<li><a href="qvariant.html#asTime">asTime</a>()
+<li><a href="qvariant.html#asUInt">asUInt</a>()
+<li><a href="qvariant.html#asULongLong">asULongLong</a>()
+<li><a href="qvariant.html#canCast">canCast</a>()
+<li><a href="qvariant.html#cast">cast</a>()
+<li><a href="qvariant.html#clear">clear</a>()
+<li><a href="qvariant.html#isNull">isNull</a>()
+<li><a href="qvariant.html#isValid">isValid</a>()
+<li><a href="qvariant.html#listBegin">listBegin</a>()
+<li><a href="qvariant.html#listEnd">listEnd</a>()
+<li><a href="qvariant.html#mapBegin">mapBegin</a>()
+<li><a href="qvariant.html#mapEnd">mapEnd</a>()
+<li><a href="qvariant.html#mapFind">mapFind</a>()
+<li><a href="qvariant.html#nameToType">nameToType</a>()
+<li><a href="qvariant.html#operator!-eq">operator!=</a>()
+<li><a href="qvariant.html#operator-eq">operator=</a>()
+<li><a href="qvariant.html#operator-eq-eq">operator==</a>()
+<li><a href="qvariant.html#stringListBegin">stringListBegin</a>()
+<li><a href="qvariant.html#stringListEnd">stringListEnd</a>()
+<li><a href="qvariant.html#toBitArray">toBitArray</a>()
+<li><a href="qvariant.html#toBitmap">toBitmap</a>()
+<li><a href="qvariant.html#toBool">toBool</a>()
+<li><a href="qvariant.html#toBrush">toBrush</a>()
+<li><a href="qvariant.html#toByteArray">toByteArray</a>()
+<li><a href="qvariant.html#toCString">toCString</a>()
+<li><a href="qvariant.html#toColor">toColor</a>()
+<li><a href="qvariant.html#toColorGroup">toColorGroup</a>()
+<li><a href="qvariant.html#toCursor">toCursor</a>()
+<li><a href="qvariant.html#toDate">toDate</a>()
+<li><a href="qvariant.html#toDateTime">toDateTime</a>()
+<li><a href="qvariant.html#toDouble">toDouble</a>()
+<li><a href="qvariant.html#toFont">toFont</a>()
+<li><a href="qvariant.html#toIconSet">toIconSet</a>()
+<li><a href="qvariant.html#toImage">toImage</a>()
+<li><a href="qvariant.html#toInt">toInt</a>()
+<li><a href="qvariant.html#toKeySequence">toKeySequence</a>()
+<li><a href="qvariant.html#toList">toList</a>()
+<li><a href="qvariant.html#toLongLong">toLongLong</a>()
+<li><a href="qvariant.html#toMap">toMap</a>()
+<li><a href="qvariant.html#toPalette">toPalette</a>()
+<li><a href="qvariant.html#toPen">toPen</a>()
+<li><a href="qvariant.html#toPixmap">toPixmap</a>()
+<li><a href="qvariant.html#toPoint">toPoint</a>()
+<li><a href="qvariant.html#toPointArray">toPointArray</a>()
+<li><a href="qvariant.html#toRect">toRect</a>()
+<li><a href="qvariant.html#toRegion">toRegion</a>()
+<li><a href="qvariant.html#toSize">toSize</a>()
+<li><a href="qvariant.html#toSizePolicy">toSizePolicy</a>()
+<li><a href="qvariant.html#toString">toString</a>()
+<li><a href="qvariant.html#toStringList">toStringList</a>()
+<li><a href="qvariant.html#toTime">toTime</a>()
+<li><a href="qvariant.html#toUInt">toUInt</a>()
+<li><a href="qvariant.html#toULongLong">toULongLong</a>()
+<li><a href="qvariant.html#type">type</a>()
+<li><a href="qvariant.html#typeName">typeName</a>()
+<li><a href="qvariant.html#typeToName">typeToName</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvariant.html b/doc/html/qvariant.html
new file mode 100644
index 0000000..10105df
--- /dev/null
+++ b/doc/html/qvariant.html
@@ -0,0 +1,1149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qvariant.cpp:353 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVariant Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVariant Class Reference</h1>
+
+<p>The QVariant class acts like a union for the most common Qt data types.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvariant-h.html">qvariant.h</a>&gt;</tt>
+<p><a href="qvariant-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>enum <a href="#Type-enum"><b>Type</b></a> { Invalid, Map, List, String, StringList, Font, Pixmap, Brush, Rect, Size, Color, Palette, ColorGroup, IconSet, Point, Image, Int, UInt, Bool, Double, CString, PointArray, Region, Bitmap, Cursor, SizePolicy, Date, Time, DateTime, ByteArray, BitArray, KeySequence, Pen, LongLong, ULongLong }</li>
+<li class=fn><a href="#QVariant"><b>QVariant</b></a> ()</li>
+<li class=fn><a href="#~QVariant"><b>~QVariant</b></a> ()</li>
+<li class=fn><a href="#QVariant-2"><b>QVariant</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;p )</li>
+<li class=fn><a href="#QVariant-3"><b>QVariant</b></a> ( QDataStream&nbsp;&amp;&nbsp;s )</li>
+<li class=fn><a href="#QVariant-4"><b>QVariant</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-5"><b>QVariant</b></a> ( const&nbsp;QCString&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-6"><b>QVariant</b></a> ( const&nbsp;char&nbsp;*&nbsp;val )</li>
+<li class=fn><a href="#QVariant-7"><b>QVariant</b></a> ( const&nbsp;QStringList&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-8"><b>QVariant</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-9"><b>QVariant</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-a"><b>QVariant</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-b"><b>QVariant</b></a> ( const&nbsp;QBrush&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-c"><b>QVariant</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-d"><b>QVariant</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-e"><b>QVariant</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-f"><b>QVariant</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-g"><b>QVariant</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-h"><b>QVariant</b></a> ( const&nbsp;QColorGroup&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-i"><b>QVariant</b></a> ( const&nbsp;QIconSet&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-j"><b>QVariant</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-k"><b>QVariant</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-l"><b>QVariant</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-m"><b>QVariant</b></a> ( const&nbsp;QCursor&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-n"><b>QVariant</b></a> ( const&nbsp;QDate&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-o"><b>QVariant</b></a> ( const&nbsp;QTime&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-p"><b>QVariant</b></a> ( const&nbsp;QDateTime&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-q"><b>QVariant</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-r"><b>QVariant</b></a> ( const&nbsp;QBitArray&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-s"><b>QVariant</b></a> ( const&nbsp;QKeySequence&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-t"><b>QVariant</b></a> ( const&nbsp;QPen&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-u"><b>QVariant</b></a> ( const&nbsp;QValueList&lt;QVariant&gt;&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-v"><b>QVariant</b></a> ( const&nbsp;QMap&lt;QString,&nbsp;QVariant&gt;&nbsp;&amp;&nbsp;val )</li>
+<li class=fn><a href="#QVariant-w"><b>QVariant</b></a> ( int&nbsp;val )</li>
+<li class=fn><a href="#QVariant-x"><b>QVariant</b></a> ( uint&nbsp;val )</li>
+<li class=fn><a href="#QVariant-y"><b>QVariant</b></a> ( Q_LLONG&nbsp;val )</li>
+<li class=fn><a href="#QVariant-z"><b>QVariant</b></a> ( Q_ULLONG&nbsp;val )</li>
+<li class=fn><a href="#QVariant-10"><b>QVariant</b></a> ( bool&nbsp;val, int )</li>
+<li class=fn><a href="#QVariant-11"><b>QVariant</b></a> ( double&nbsp;val )</li>
+<li class=fn><a href="#QVariant-12"><b>QVariant</b></a> ( QSizePolicy&nbsp;val )</li>
+<li class=fn>QVariant &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;variant )</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;v ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QVariant&nbsp;&amp;&nbsp;v ) const</li>
+<li class=fn>Type <a href="#type"><b>type</b></a> () const</li>
+<li class=fn>const char * <a href="#typeName"><b>typeName</b></a> () const</li>
+<li class=fn>bool <a href="#canCast"><b>canCast</b></a> ( Type&nbsp;t ) const</li>
+<li class=fn>bool <a href="#cast"><b>cast</b></a> ( Type&nbsp;t )</li>
+<li class=fn>bool <a href="#isValid"><b>isValid</b></a> () const</li>
+<li class=fn>bool <a href="#isNull"><b>isNull</b></a> () const</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>const QString <a href="#toString"><b>toString</b></a> () const</li>
+<li class=fn>const QCString <a href="#toCString"><b>toCString</b></a> () const</li>
+<li class=fn>const QStringList <a href="#toStringList"><b>toStringList</b></a> () const</li>
+<li class=fn>const QFont <a href="#toFont"><b>toFont</b></a> () const</li>
+<li class=fn>const QPixmap <a href="#toPixmap"><b>toPixmap</b></a> () const</li>
+<li class=fn>const QImage <a href="#toImage"><b>toImage</b></a> () const</li>
+<li class=fn>const QBrush <a href="#toBrush"><b>toBrush</b></a> () const</li>
+<li class=fn>const QPoint <a href="#toPoint"><b>toPoint</b></a> () const</li>
+<li class=fn>const QRect <a href="#toRect"><b>toRect</b></a> () const</li>
+<li class=fn>const QSize <a href="#toSize"><b>toSize</b></a> () const</li>
+<li class=fn>const QColor <a href="#toColor"><b>toColor</b></a> () const</li>
+<li class=fn>const QPalette <a href="#toPalette"><b>toPalette</b></a> () const</li>
+<li class=fn>const QColorGroup <a href="#toColorGroup"><b>toColorGroup</b></a> () const</li>
+<li class=fn>const QIconSet <a href="#toIconSet"><b>toIconSet</b></a> () const</li>
+<li class=fn>const QPointArray <a href="#toPointArray"><b>toPointArray</b></a> () const</li>
+<li class=fn>const QBitmap <a href="#toBitmap"><b>toBitmap</b></a> () const</li>
+<li class=fn>const QRegion <a href="#toRegion"><b>toRegion</b></a> () const</li>
+<li class=fn>const QCursor <a href="#toCursor"><b>toCursor</b></a> () const</li>
+<li class=fn>const QDate <a href="#toDate"><b>toDate</b></a> () const</li>
+<li class=fn>const QTime <a href="#toTime"><b>toTime</b></a> () const</li>
+<li class=fn>const QDateTime <a href="#toDateTime"><b>toDateTime</b></a> () const</li>
+<li class=fn>const QByteArray <a href="#toByteArray"><b>toByteArray</b></a> () const</li>
+<li class=fn>const QBitArray <a href="#toBitArray"><b>toBitArray</b></a> () const</li>
+<li class=fn>const QKeySequence <a href="#toKeySequence"><b>toKeySequence</b></a> () const</li>
+<li class=fn>const QPen <a href="#toPen"><b>toPen</b></a> () const</li>
+<li class=fn>int <a href="#toInt"><b>toInt</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>uint <a href="#toUInt"><b>toUInt</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_LLONG <a href="#toLongLong"><b>toLongLong</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>Q_ULLONG <a href="#toULongLong"><b>toULongLong</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>bool <a href="#toBool"><b>toBool</b></a> () const</li>
+<li class=fn>double <a href="#toDouble"><b>toDouble</b></a> ( bool&nbsp;*&nbsp;ok = 0 ) const</li>
+<li class=fn>const QValueList&lt;QVariant&gt; <a href="#toList"><b>toList</b></a> () const</li>
+<li class=fn>const QMap&lt;QString, QVariant&gt; <a href="#toMap"><b>toMap</b></a> () const</li>
+<li class=fn>QSizePolicy <a href="#toSizePolicy"><b>toSizePolicy</b></a> () const</li>
+<li class=fn>QValueListConstIterator&lt;QString&gt; stringListBegin () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QValueListConstIterator&lt;QString&gt; stringListEnd () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QValueListConstIterator&lt;QVariant&gt; listBegin () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QValueListConstIterator&lt;QVariant&gt; listEnd () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QMapConstIterator&lt;QString, QVariant&gt; mapBegin () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QMapConstIterator&lt;QString, QVariant&gt; mapEnd () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QMapConstIterator&lt;QString, QVariant&gt; mapFind ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QString &amp; <a href="#asString"><b>asString</b></a> ()</li>
+<li class=fn>QCString &amp; <a href="#asCString"><b>asCString</b></a> ()</li>
+<li class=fn>QStringList &amp; <a href="#asStringList"><b>asStringList</b></a> ()</li>
+<li class=fn>QFont &amp; <a href="#asFont"><b>asFont</b></a> ()</li>
+<li class=fn>QPixmap &amp; <a href="#asPixmap"><b>asPixmap</b></a> ()</li>
+<li class=fn>QImage &amp; <a href="#asImage"><b>asImage</b></a> ()</li>
+<li class=fn>QBrush &amp; <a href="#asBrush"><b>asBrush</b></a> ()</li>
+<li class=fn>QPoint &amp; <a href="#asPoint"><b>asPoint</b></a> ()</li>
+<li class=fn>QRect &amp; <a href="#asRect"><b>asRect</b></a> ()</li>
+<li class=fn>QSize &amp; <a href="#asSize"><b>asSize</b></a> ()</li>
+<li class=fn>QColor &amp; <a href="#asColor"><b>asColor</b></a> ()</li>
+<li class=fn>QPalette &amp; <a href="#asPalette"><b>asPalette</b></a> ()</li>
+<li class=fn>QColorGroup &amp; <a href="#asColorGroup"><b>asColorGroup</b></a> ()</li>
+<li class=fn>QIconSet &amp; <a href="#asIconSet"><b>asIconSet</b></a> ()</li>
+<li class=fn>QPointArray &amp; <a href="#asPointArray"><b>asPointArray</b></a> ()</li>
+<li class=fn>QBitmap &amp; <a href="#asBitmap"><b>asBitmap</b></a> ()</li>
+<li class=fn>QRegion &amp; <a href="#asRegion"><b>asRegion</b></a> ()</li>
+<li class=fn>QCursor &amp; <a href="#asCursor"><b>asCursor</b></a> ()</li>
+<li class=fn>QDate &amp; <a href="#asDate"><b>asDate</b></a> ()</li>
+<li class=fn>QTime &amp; <a href="#asTime"><b>asTime</b></a> ()</li>
+<li class=fn>QDateTime &amp; <a href="#asDateTime"><b>asDateTime</b></a> ()</li>
+<li class=fn>QByteArray &amp; <a href="#asByteArray"><b>asByteArray</b></a> ()</li>
+<li class=fn>QBitArray &amp; <a href="#asBitArray"><b>asBitArray</b></a> ()</li>
+<li class=fn>QKeySequence &amp; <a href="#asKeySequence"><b>asKeySequence</b></a> ()</li>
+<li class=fn>QPen &amp; <a href="#asPen"><b>asPen</b></a> ()</li>
+<li class=fn>int &amp; <a href="#asInt"><b>asInt</b></a> ()</li>
+<li class=fn>uint &amp; <a href="#asUInt"><b>asUInt</b></a> ()</li>
+<li class=fn>Q_LLONG &amp; <a href="#asLongLong"><b>asLongLong</b></a> ()</li>
+<li class=fn>Q_ULLONG &amp; <a href="#asULongLong"><b>asULongLong</b></a> ()</li>
+<li class=fn>bool &amp; <a href="#asBool"><b>asBool</b></a> ()</li>
+<li class=fn>double &amp; <a href="#asDouble"><b>asDouble</b></a> ()</li>
+<li class=fn>QValueList&lt;QVariant&gt; &amp; <a href="#asList"><b>asList</b></a> ()</li>
+<li class=fn>QMap&lt;QString, QVariant&gt; &amp; <a href="#asMap"><b>asMap</b></a> ()</li>
+<li class=fn>QSizePolicy &amp; <a href="#asSizePolicy"><b>asSizePolicy</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>const char * <a href="#typeToName"><b>typeToName</b></a> ( Type&nbsp;typ )</li>
+<li class=fn>Type <a href="#nameToType"><b>nameToType</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QVariant class acts like a union for the most common Qt data types.
+<p>
+
+
+<p> Because C++ forbids unions from including types that have
+non-default constructors or destructors, most interesting Qt
+classes cannot be used in unions. Without QVariant, this would be
+a problem for <a href="qobject.html#property">QObject::property</a>() and for database work, etc.
+<p> A QVariant object holds a single value of a single <a href="#type">type</a>() at a
+time. (Some type()s are multi-valued, for example a string list.)
+You can find out what type, T, the variant holds, convert it to a
+different type using one of the asT() functions, e.g. <a href="#asSize">asSize</a>(),
+get its value using one of the toT() functions, e.g. <a href="#toSize">toSize</a>(), and
+check whether the type can be converted to a particular type using
+<a href="#canCast">canCast</a>().
+<p> The methods named toT() (for any supported T, see the <a href="#Type-enum">Type</a>
+documentation for a list) are const. If you ask for the stored
+type, they return a copy of the stored object. If you ask for a
+type that can be generated from the stored type, toT() copies and
+converts and leaves the object itself unchanged. If you ask for a
+type that cannot be generated from the stored type, the result
+depends on the type (see the function documentation for details).
+<p> Note that three data types supported by QVariant are <a href="shclass.html#explicitly-shared">explicitly shared</a>, namely <a href="qimage.html">QImage</a>, <a href="qpointarray.html">QPointArray</a>, and <a href="qcstring.html">QCString</a>, and in these
+cases the toT() methods return a <a href="shclass.html#shallow-copy">shallow copy</a>. In almost all cases
+you must make a <a href="shclass.html#deep-copy">deep copy</a> of the returned values before modifying
+them.
+<p> The asT() functions are not const. They do conversion like the
+toT() methods, set the variant to hold the converted value, and
+return a reference to the new contents of the variant.
+<p> Here is some example code to demonstrate the use of QVariant:
+<p> <pre>
+ <a href="qdatastream.html">QDataStream</a> out(...);
+ QVariant v(123); // The variant now contains an int
+ int x = v.<a href="#toInt">toInt</a>(); // x = 123
+ out &lt;&lt; v; // Writes a type tag and an int to out
+ v = <a href="#QVariant">QVariant</a>("hello"); // The variant now contains a QCString
+ v = <a href="#QVariant">QVariant</a>(tr("hello"));// The variant now contains a QString
+ int y = v.<a href="#toInt">toInt</a>(); // y = 0 since v cannot be converted to an int
+ <a href="qstring.html">QString</a> s = v.<a href="#toString">toString</a>(); // s = tr("hello") (see QObject::tr())
+ out &lt;&lt; v; // Writes a type tag and a QString to out
+ ...
+ <a href="qdatastream.html">QDataStream</a> in(...); // (opening the previously written stream)
+ in &gt;&gt; v; // Reads an Int variant
+ int z = v.<a href="#toInt">toInt</a>(); // z = 123
+ <a href="qapplication.html#qDebug">qDebug</a>("Type is %s", // prints "Type is int"
+ v.<a href="#typeName">typeName</a>());
+ v.<a href="#asInt">asInt</a>() += 100; // The variant now hold the value 223.
+ v = <a href="#QVariant">QVariant</a>( QStringList() );
+ v.<a href="#asStringList">asStringList</a>().append( "Hello" );
+ </pre>
+
+<p> You can even store <a href="qvaluelist.html">QValueList</a><QVariant>s and
+<a href="qmap.html">QMap</a><QString,QVariant>s in a variant, so you can easily construct
+arbitrarily complex data structures of arbitrary types. This is
+very powerful and versatile, but may prove less memory and speed
+efficient than storing specific types in standard data structures.
+<p> QVariant also supports the notion of NULL values, where you have a
+defined type with no value set.
+<pre>
+ QVariant x, y( QString() ), z( QString("") );
+ x.<a href="#asInt">asInt</a>();
+ // x.<a href="#isNull">isNull</a>() == TRUE, y.isNull() == TRUE, z.isNull() == FALSE
+ </pre>
+
+<p> See the <a href="collection.html">Collection Classes</a>.
+<p>See also <a href="misc.html">Miscellaneous Classes</a> and <a href="objectmodel.html">Object Model</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Type-enum"></a>QVariant::Type</h3>
+
+<p> This enum type defines the types of variable that a QVariant can
+contain.
+<ul>
+<li><tt>QVariant::Invalid</tt> - no type
+<li><tt>QVariant::BitArray</tt> - a <a href="qbitarray.html">QBitArray</a>
+<li><tt>QVariant::ByteArray</tt> - a <a href="qbytearray.html">QByteArray</a>
+<li><tt>QVariant::Bitmap</tt> - a <a href="qbitmap.html">QBitmap</a>
+<li><tt>QVariant::Bool</tt> - a bool
+<li><tt>QVariant::Brush</tt> - a <a href="qbrush.html">QBrush</a>
+<li><tt>QVariant::Color</tt> - a <a href="qcolor.html">QColor</a>
+<li><tt>QVariant::ColorGroup</tt> - a <a href="qcolorgroup.html">QColorGroup</a>
+<li><tt>QVariant::Cursor</tt> - a <a href="qcursor.html">QCursor</a>
+<li><tt>QVariant::Date</tt> - a <a href="qdate.html">QDate</a>
+<li><tt>QVariant::DateTime</tt> - a <a href="qdatetime.html">QDateTime</a>
+<li><tt>QVariant::Double</tt> - a double
+<li><tt>QVariant::Font</tt> - a <a href="qfont.html">QFont</a>
+<li><tt>QVariant::IconSet</tt> - a <a href="qiconset.html">QIconSet</a>
+<li><tt>QVariant::Image</tt> - a <a href="qimage.html">QImage</a>
+<li><tt>QVariant::Int</tt> - an int
+<li><tt>QVariant::KeySequence</tt> - a <a href="qkeysequence.html">QKeySequence</a>
+<li><tt>QVariant::List</tt> - a <a href="qvaluelist.html">QValueList</a><QVariant>
+<li><tt>QVariant::LongLong</tt> - a long long
+<li><tt>QVariant::ULongLong</tt> - an unsigned long long
+<li><tt>QVariant::Map</tt> - a <a href="qmap.html">QMap</a><QString,QVariant>
+<li><tt>QVariant::Palette</tt> - a <a href="qpalette.html">QPalette</a>
+<li><tt>QVariant::Pen</tt> - a <a href="qpen.html">QPen</a>
+<li><tt>QVariant::Pixmap</tt> - a <a href="qpixmap.html">QPixmap</a>
+<li><tt>QVariant::Point</tt> - a <a href="qpoint.html">QPoint</a>
+<li><tt>QVariant::PointArray</tt> - a <a href="qpointarray.html">QPointArray</a>
+<li><tt>QVariant::Rect</tt> - a <a href="qrect.html">QRect</a>
+<li><tt>QVariant::Region</tt> - a <a href="qregion.html">QRegion</a>
+<li><tt>QVariant::Size</tt> - a <a href="qsize.html">QSize</a>
+<li><tt>QVariant::SizePolicy</tt> - a <a href="qsizepolicy.html">QSizePolicy</a>
+<li><tt>QVariant::String</tt> - a <a href="qstring.html">QString</a>
+<li><tt>QVariant::CString</tt> - a <a href="qcstring.html">QCString</a>
+<li><tt>QVariant::StringList</tt> - a <a href="qstringlist.html">QStringList</a>
+<li><tt>QVariant::Time</tt> - a <a href="qtime.html">QTime</a>
+<li><tt>QVariant::UInt</tt> - an unsigned int
+</ul><p> Note that Qt's definition of bool depends on the compiler.
+<a href="qglobal-h.html">qglobal.h</a> has the system-dependent definition of bool.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QVariant"></a>QVariant::QVariant ()
+</h3>
+Constructs an invalid variant.
+
+<h3 class=fn><a name="QVariant-10"></a>QVariant::QVariant ( bool&nbsp;val, int )
+</h3>
+Constructs a new variant with a boolean value, <em>val</em>. The integer
+argument is a dummy, necessary for compatibility with some
+compilers.
+
+<h3 class=fn><a name="QVariant-11"></a>QVariant::QVariant ( double&nbsp;val )
+</h3>
+Constructs a new variant with a floating point value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-12"></a>QVariant::QVariant ( <a href="qsizepolicy.html">QSizePolicy</a>&nbsp;val )
+</h3>
+Constructs a new variant with a size policy value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-2"></a>QVariant::QVariant ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;p )
+</h3>
+Constructs a copy of the variant, <em>p</em>, passed as the argument to
+this constructor. Usually this is a <a href="shclass.html#deep-copy">deep copy</a>, but a <a href="shclass.html#shallow-copy">shallow copy</a>
+is made if the stored data type is <a href="shclass.html#explicitly-shared">explicitly shared</a>, as e.g.
+<a href="qimage.html">QImage</a> is.
+
+<h3 class=fn><a name="QVariant-3"></a>QVariant::QVariant ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Reads the variant from the data stream, <em>s</em>.
+
+<h3 class=fn><a name="QVariant-4"></a>QVariant::QVariant ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a string value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-5"></a>QVariant::QVariant ( const&nbsp;<a href="qcstring.html">QCString</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a C-string value, <em>val</em>.
+<p> If you want to modify the <a href="qcstring.html">QCString</a> after you've passed it to this
+constructor, we recommend passing a <a href="shclass.html#deep-copy">deep copy</a> (see
+<a href="qcstring.html#copy">QCString::copy</a>()).
+
+<h3 class=fn><a name="QVariant-6"></a>QVariant::QVariant ( const&nbsp;char&nbsp;*&nbsp;val )
+</h3>
+Constructs a new variant with a C-string value of <em>val</em> if <em>val</em>
+is non-null. The variant creates a <a href="shclass.html#deep-copy">deep copy</a> of <em>val</em>.
+<p> If <em>val</em> is null, the resulting variant has type Invalid.
+
+<h3 class=fn><a name="QVariant-7"></a>QVariant::QVariant ( const&nbsp;<a href="qstringlist.html">QStringList</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a string list value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-8"></a>QVariant::QVariant ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a font value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-9"></a>QVariant::QVariant ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a pixmap value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-a"></a>QVariant::QVariant ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with an image value, <em>val</em>.
+<p> Because <a href="qimage.html">QImage</a> is <a href="shclass.html#explicitly-shared">explicitly shared</a>, you may need to pass a <a href="shclass.html#deep-copy">deep copy</a> to the variant using <a href="qimage.html#copy">QImage::copy</a>(), e.g. if you intend
+changing the image you've passed later on.
+
+<h3 class=fn><a name="QVariant-b"></a>QVariant::QVariant ( const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a brush value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-c"></a>QVariant::QVariant ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a point value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-d"></a>QVariant::QVariant ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a rect value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-e"></a>QVariant::QVariant ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a size value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-f"></a>QVariant::QVariant ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a color value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-g"></a>QVariant::QVariant ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a color palette value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-h"></a>QVariant::QVariant ( const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a color group value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-i"></a>QVariant::QVariant ( const&nbsp;<a href="qiconset.html">QIconSet</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with an icon set value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-j"></a>QVariant::QVariant ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a point array value, <em>val</em>.
+<p> Because <a href="qpointarray.html">QPointArray</a> is <a href="shclass.html#explicitly-shared">explicitly shared</a>, you may need to pass a
+<a href="shclass.html#deep-copy">deep copy</a> to the variant using <a href="qpointarray.html#copy">QPointArray::copy</a>(), e.g. if you
+intend changing the point array you've passed later on.
+
+<h3 class=fn><a name="QVariant-k"></a>QVariant::QVariant ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a region value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-l"></a>QVariant::QVariant ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a bitmap value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-m"></a>QVariant::QVariant ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a cursor value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-n"></a>QVariant::QVariant ( const&nbsp;<a href="qdate.html">QDate</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a date value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-o"></a>QVariant::QVariant ( const&nbsp;<a href="qtime.html">QTime</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a time value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-p"></a>QVariant::QVariant ( const&nbsp;<a href="qdatetime.html">QDateTime</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a date/time value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-q"></a>QVariant::QVariant ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a bytearray value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-r"></a>QVariant::QVariant ( const&nbsp;<a href="qbitarray.html">QBitArray</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a bitarray value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-s"></a>QVariant::QVariant ( const&nbsp;<a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a key sequence value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-t"></a>QVariant::QVariant ( const&nbsp;<a href="qpen.html">QPen</a>&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a pen value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-u"></a>QVariant::QVariant ( const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a list value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-v"></a>QVariant::QVariant ( const&nbsp;<a href="qmap.html">QMap</a>&lt;QString,&nbsp;QVariant&gt;&nbsp;&amp;&nbsp;val )
+</h3>
+Constructs a new variant with a map of QVariants, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-w"></a>QVariant::QVariant ( int&nbsp;val )
+</h3>
+Constructs a new variant with an integer value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-x"></a>QVariant::QVariant ( uint&nbsp;val )
+</h3>
+Constructs a new variant with an unsigned integer value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-y"></a>QVariant::QVariant ( Q_LLONG&nbsp;val )
+</h3>
+Constructs a new variant with a long long integer value, <em>val</em>.
+
+<h3 class=fn><a name="QVariant-z"></a>QVariant::QVariant ( Q_ULLONG&nbsp;val )
+</h3>
+Constructs a new variant with an unsigned long long integer value, <em>val</em>.
+
+<h3 class=fn><a name="~QVariant"></a>QVariant::~QVariant ()
+</h3>
+Destroys the QVariant and the contained object.
+<p> Note that subclasses that reimplement <a href="#clear">clear</a>() should reimplement
+the destructor to call clear(). This destructor calls clear(), but
+because it is the destructor, <a href="#clear">QVariant::clear</a>() is called rather
+than a subclass's clear().
+
+<h3 class=fn><a href="qbitarray.html">QBitArray</a>&nbsp;&amp; <a name="asBitArray"></a>QVariant::asBitArray ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qbitarray.html">QBitArray</a> value. If that is
+not possible then the variant is set to an empty bitarray.
+<p> Returns a reference to the stored bitarray.
+<p> <p>See also <a href="#toBitArray">toBitArray</a>().
+
+<h3 class=fn><a href="qbitmap.html">QBitmap</a>&nbsp;&amp; <a name="asBitmap"></a>QVariant::asBitmap ()
+</h3>
+
+<p> Tries to convert the variant to hold a bitmap value. If that is
+not possible the variant is set to a null bitmap.
+<p> Returns a reference to the stored bitmap.
+<p> <p>See also <a href="#toBitmap">toBitmap</a>().
+
+<h3 class=fn>bool &amp; <a name="asBool"></a>QVariant::asBool ()
+</h3>
+Returns the variant's value as bool reference.
+
+<h3 class=fn><a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="asBrush"></a>QVariant::asBrush ()
+</h3>
+
+<p> Tries to convert the variant to hold a brush value. If that is not
+possible the variant is set to a default black brush.
+<p> Returns a reference to the stored brush.
+<p> <p>See also <a href="#toBrush">toBrush</a>().
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a>&nbsp;&amp; <a name="asByteArray"></a>QVariant::asByteArray ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qbytearray.html">QByteArray</a> value. If that
+is not possible then the variant is set to an empty bytearray.
+<p> Returns a reference to the stored bytearray.
+<p> <p>See also <a href="#toByteArray">toByteArray</a>().
+
+<h3 class=fn><a href="qcstring.html">QCString</a>&nbsp;&amp; <a name="asCString"></a>QVariant::asCString ()
+</h3>
+
+<p> Tries to convert the variant to hold a string value. If that is
+not possible the variant is set to an empty string.
+<p> Returns a reference to the stored string.
+<p> <p>See also <a href="#toCString">toCString</a>().
+
+<h3 class=fn><a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="asColor"></a>QVariant::asColor ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qcolor.html">QColor</a> value. If that is
+not possible the variant is set to an invalid color.
+<p> Returns a reference to the stored color.
+<p> <p>See also <a href="#toColor">toColor</a>() and <a href="qcolor.html#isValid">QColor::isValid</a>().
+
+<h3 class=fn><a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="asColorGroup"></a>QVariant::asColorGroup ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qcolorgroup.html">QColorGroup</a> value. If that
+is not possible the variant is set to a color group of all black
+colors.
+<p> Returns a reference to the stored color group.
+<p> <p>See also <a href="#toColorGroup">toColorGroup</a>().
+
+<h3 class=fn><a href="qcursor.html">QCursor</a>&nbsp;&amp; <a name="asCursor"></a>QVariant::asCursor ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qcursor.html">QCursor</a> value. If that is
+not possible the variant is set to a default arrow cursor.
+<p> Returns a reference to the stored cursor.
+<p> <p>See also <a href="#toCursor">toCursor</a>().
+
+<h3 class=fn><a href="qdate.html">QDate</a>&nbsp;&amp; <a name="asDate"></a>QVariant::asDate ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qdate.html">QDate</a> value. If that is not
+possible then the variant is set to an invalid date.
+<p> Returns a reference to the stored date.
+<p> <p>See also <a href="#toDate">toDate</a>().
+
+<h3 class=fn><a href="qdatetime.html">QDateTime</a>&nbsp;&amp; <a name="asDateTime"></a>QVariant::asDateTime ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qdatetime.html">QDateTime</a> value. If that is
+not possible then the variant is set to an invalid date/time.
+<p> Returns a reference to the stored date/time.
+<p> <p>See also <a href="#toDateTime">toDateTime</a>().
+
+<h3 class=fn>double &amp; <a name="asDouble"></a>QVariant::asDouble ()
+</h3>
+Returns the variant's value as double reference.
+
+<h3 class=fn><a href="qfont.html">QFont</a>&nbsp;&amp; <a name="asFont"></a>QVariant::asFont ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qfont.html">QFont</a>. If that is not
+possible the variant is set to the application's default font.
+<p> Returns a reference to the stored font.
+<p> <p>See also <a href="#toFont">toFont</a>().
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a>&nbsp;&amp; <a name="asIconSet"></a>QVariant::asIconSet ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qiconset.html">QIconSet</a> value. If that is
+not possible the variant is set to an empty iconset.
+<p> Returns a reference to the stored iconset.
+<p> <p>See also <a href="#toIconSet">toIconSet</a>().
+
+<h3 class=fn><a href="qimage.html">QImage</a>&nbsp;&amp; <a name="asImage"></a>QVariant::asImage ()
+</h3>
+
+<p> Tries to convert the variant to hold an image value. If that is
+not possible the variant is set to a null image.
+<p> Returns a reference to the stored image.
+<p> <p>See also <a href="#toImage">toImage</a>().
+
+<h3 class=fn>int &amp; <a name="asInt"></a>QVariant::asInt ()
+</h3>
+Returns the variant's value as int reference.
+
+<h3 class=fn><a href="qkeysequence.html">QKeySequence</a>&nbsp;&amp; <a name="asKeySequence"></a>QVariant::asKeySequence ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qkeysequence.html">QKeySequence</a> value. If that
+is not possible then the variant is set to an empty key sequence.
+<p> Returns a reference to the stored key sequence.
+<p> <p>See also <a href="#toKeySequence">toKeySequence</a>().
+
+<h3 class=fn><a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt;&nbsp;&amp; <a name="asList"></a>QVariant::asList ()
+</h3>
+Returns the variant's value as variant list reference.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; list = myVariant.asList();
+ QValueList&lt;QVariant&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>Q_LLONG &amp; <a name="asLongLong"></a>QVariant::asLongLong ()
+</h3>
+Returns the variant's value as long long reference.
+
+<h3 class=fn><a href="qmap.html">QMap</a>&lt;QString,&nbsp;QVariant&gt;&nbsp;&amp; <a name="asMap"></a>QVariant::asMap ()
+</h3>
+Returns the variant's value as variant map reference.
+<p> Note that if you want to iterate over the map, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qmap.html">QMap</a>&lt;QString, QVariant&gt; map = myVariant.asMap();
+ QMap&lt;QString, QVariant&gt;::Iterator it = map.<a href="qmap.html#begin">begin</a>();
+ while( it != map.<a href="qmap.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qpalette.html">QPalette</a>&nbsp;&amp; <a name="asPalette"></a>QVariant::asPalette ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qpalette.html">QPalette</a> value. If that is
+not possible the variant is set to a palette of black colors.
+<p> Returns a reference to the stored palette.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn><a href="qpen.html">QPen</a>&nbsp;&amp; <a name="asPen"></a>QVariant::asPen ()
+</h3>
+<p> Tries to convert the variant to hold a <a href="qpen.html">QPen</a> value. If that
+is not possible then the variant is set to an empty pen.
+<p> Returns a reference to the stored pen.
+<p> <p>See also <a href="#toPen">toPen</a>().
+
+<h3 class=fn><a href="qpixmap.html">QPixmap</a>&nbsp;&amp; <a name="asPixmap"></a>QVariant::asPixmap ()
+</h3>
+
+<p> Tries to convert the variant to hold a pixmap value. If that is
+not possible the variant is set to a null pixmap.
+<p> Returns a reference to the stored pixmap.
+<p> <p>See also <a href="#toPixmap">toPixmap</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="asPoint"></a>QVariant::asPoint ()
+</h3>
+
+<p> Tries to convert the variant to hold a point value. If that is not
+possible the variant is set to a (0, 0) point.
+<p> Returns a reference to the stored point.
+<p> <p>See also <a href="#toPoint">toPoint</a>().
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a>&nbsp;&amp; <a name="asPointArray"></a>QVariant::asPointArray ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qpointarray.html">QPointArray</a> value. If that
+is not possible the variant is set to an empty point array.
+<p> Returns a reference to the stored point array.
+<p> <p>See also <a href="#toPointArray">toPointArray</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a>&nbsp;&amp; <a name="asRect"></a>QVariant::asRect ()
+</h3>
+
+<p> Tries to convert the variant to hold a rectangle value. If that is
+not possible the variant is set to an empty rectangle.
+<p> Returns a reference to the stored rectangle.
+<p> <p>See also <a href="#toRect">toRect</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a>&nbsp;&amp; <a name="asRegion"></a>QVariant::asRegion ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qregion.html">QRegion</a> value. If that is
+not possible the variant is set to a null region.
+<p> Returns a reference to the stored region.
+<p> <p>See also <a href="#toRegion">toRegion</a>().
+
+<h3 class=fn><a href="qsize.html">QSize</a>&nbsp;&amp; <a name="asSize"></a>QVariant::asSize ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qsize.html">QSize</a> value. If that is not
+possible the variant is set to an invalid size.
+<p> Returns a reference to the stored size.
+<p> <p>See also <a href="#toSize">toSize</a>() and <a href="qsize.html#isValid">QSize::isValid</a>().
+
+<h3 class=fn><a href="qsizepolicy.html">QSizePolicy</a>&nbsp;&amp; <a name="asSizePolicy"></a>QVariant::asSizePolicy ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qsizepolicy.html">QSizePolicy</a> value. If that
+fails, the variant is set to an arbitrary (valid) size policy.
+
+<h3 class=fn><a href="qstring.html">QString</a>&nbsp;&amp; <a name="asString"></a>QVariant::asString ()
+</h3>
+
+<p> Tries to convert the variant to hold a string value. If that is
+not possible the variant is set to an empty string.
+<p> Returns a reference to the stored string.
+<p> <p>See also <a href="#toString">toString</a>().
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a>&nbsp;&amp; <a name="asStringList"></a>QVariant::asStringList ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qstringlist.html">QStringList</a> value. If that
+is not possible the variant is set to an empty string list.
+<p> Returns a reference to the stored string list.
+<p> Note that if you want to iterate over the list, you should
+iterate over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myVariant.asStringList();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#toStringList">toStringList</a>().
+
+<h3 class=fn><a href="qtime.html">QTime</a>&nbsp;&amp; <a name="asTime"></a>QVariant::asTime ()
+</h3>
+
+<p> Tries to convert the variant to hold a <a href="qtime.html">QTime</a> value. If that is not
+possible then the variant is set to an invalid time.
+<p> Returns a reference to the stored time.
+<p> <p>See also <a href="#toTime">toTime</a>().
+
+<h3 class=fn>uint &amp; <a name="asUInt"></a>QVariant::asUInt ()
+</h3>
+Returns the variant's value as unsigned int reference.
+
+<h3 class=fn>Q_ULLONG &amp; <a name="asULongLong"></a>QVariant::asULongLong ()
+</h3>
+Returns the variant's value as unsigned long long reference.
+
+<h3 class=fn>bool <a name="canCast"></a>QVariant::canCast ( <a href="qvariant.html#Type-enum">Type</a>&nbsp;t ) const
+</h3>
+Returns TRUE if the variant's type can be cast to the requested
+type, <em>t</em>. Such casting is done automatically when calling the
+<a href="#toInt">toInt</a>(), <a href="#toBool">toBool</a>(), ... or <a href="#asInt">asInt</a>(), <a href="#asBool">asBool</a>(), ... methods.
+<p> The following casts are done automatically:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Type <th valign="top">Automatically Cast To
+<tr bgcolor="#f0f0f0"> <td valign="top">Bool <td valign="top">Double, Int, UInt, LongLong, ULongLong, String, CString, ByteArray
+<tr bgcolor="#d0d0d0"> <td valign="top">Color <td valign="top">String. CString. ByteArray
+<tr bgcolor="#f0f0f0"> <td valign="top">Date <td valign="top">String, CString, ByteArray, DateTime
+<tr bgcolor="#d0d0d0"> <td valign="top">DateTime <td valign="top">String, CString, ByteArray, Date, Time
+<tr bgcolor="#f0f0f0"> <td valign="top">Double <td valign="top">String, CString, ByteArray, Int, Bool, UInt, LongLong, ULongLong
+<tr bgcolor="#d0d0d0"> <td valign="top">Font <td valign="top">String, CString, ByteArray
+<tr bgcolor="#f0f0f0"> <td valign="top">Int <td valign="top">String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence
+<tr bgcolor="#d0d0d0"> <td valign="top">LongLong <td valign="top">String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence
+<tr bgcolor="#f0f0f0"> <td valign="top">ULongLong <td valign="top">String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence
+<tr bgcolor="#d0d0d0"> <td valign="top">List <td valign="top">StringList (if the list contains only strings or
+something that can be cast to a string)
+<tr bgcolor="#f0f0f0"> <td valign="top">String <td valign="top">CString, ByteArray, CString, Int, UInt, Bool, Double, Date,
+Time, DateTime, KeySequence, Font, Color
+<tr bgcolor="#d0d0d0"> <td valign="top">CString <td valign="top">String, ByteArray, Int, UInt, Bool, Double, Date, ULongLong, LongLong
+<tr bgcolor="#f0f0f0"> <td valign="top">ByteArray <td valign="top">String, CString, Int, UInt, Bool, Double, Date, ULongLong, LongLong
+<tr bgcolor="#d0d0d0"> <td valign="top">StringList <td valign="top">List
+<tr bgcolor="#f0f0f0"> <td valign="top">Time <td valign="top">String
+<tr bgcolor="#d0d0d0"> <td valign="top">Int <td valign="top">String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence
+<tr bgcolor="#f0f0f0"> <td valign="top">KeySequence <td valign="top">String, CString, ByteArray, Int, UInt, LongLong, ULongLong
+</table></center>
+
+<h3 class=fn>bool <a name="cast"></a>QVariant::cast ( <a href="qvariant.html#Type-enum">Type</a>&nbsp;t )
+</h3>
+Casts the variant to the requested type. If the cast cannot be
+done, the variant is set to the default value of the requested
+type (e.g. an empty string if the requested type <em>t</em> is
+QVariant::String, an empty point array if the requested type <em>t</em>
+is QVariant::PointArray, etc). Returns TRUE if the current type of
+the variant was successfully cast; otherwise returns FALSE.
+<p> <p>See also <a href="#canCast">canCast</a>().
+
+<h3 class=fn>void <a name="clear"></a>QVariant::clear ()
+</h3>
+Convert this variant to type Invalid and free up any resources
+used.
+
+<h3 class=fn>bool <a name="isNull"></a>QVariant::isNull () const
+</h3>
+Returns TRUE if this is a NULL variant, FALSE otherwise.
+
+<h3 class=fn>bool <a name="isValid"></a>QVariant::isValid () const
+</h3>
+
+<p> Returns TRUE if the storage type of this variant is not
+QVariant::Invalid; otherwise returns FALSE.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;QVariant&gt; <a name="listBegin"></a>QVariant::listBegin () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns an iterator to the first item in the list if the variant's
+type is appropriate; otherwise returns a null iterator.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;QVariant&gt; <a name="listEnd"></a>QVariant::listEnd () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the end iterator for the list if the variant's type is
+appropriate; otherwise returns a null iterator.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;QString,&nbsp;QVariant&gt; <a name="mapBegin"></a>QVariant::mapBegin () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns an iterator to the first item in the map, if the variant's
+type is appropriate; otherwise returns a null iterator.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;QString,&nbsp;QVariant&gt; <a name="mapEnd"></a>QVariant::mapEnd () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the end iterator for the map, if the variant's type is
+appropriate; otherwise returns a null iterator.
+
+<h3 class=fn><a href="qmapconstiterator.html">QMapConstIterator</a>&lt;QString,&nbsp;QVariant&gt; <a name="mapFind"></a>QVariant::mapFind ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns an iterator to the item in the map with <em>key</em> as key, if
+the variant's type is appropriate and <em>key</em> is a valid key;
+otherwise returns a null iterator.
+
+<h3 class=fn><a href="qvariant.html#Type-enum">Type</a> <a name="nameToType"></a>QVariant::nameToType ( const&nbsp;char&nbsp;*&nbsp;name )<tt> [static]</tt>
+</h3>
+Converts the string representation of the storage type given in <em>name</em>, to its enum representation.
+<p> If the string representation cannot be converted to any enum
+representation, the variant is set to <a href="#Type-enum">Invalid</a>.
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QVariant::operator!= ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;v ) const
+</h3>
+Compares this QVariant with <em>v</em> and returns TRUE if they are not
+equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qvariant.html">QVariant</a>&nbsp;&amp; <a name="operator-eq"></a>QVariant::operator= ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;variant )
+</h3>
+Assigns the value of the variant <em>variant</em> to this variant.
+<p> This is a <a href="shclass.html#deep-copy">deep copy</a> of the variant, but note that if the variant
+holds an <a href="shclass.html#explicitly-shared">explicitly shared</a> type such as <a href="qimage.html">QImage</a>, a <a href="shclass.html#shallow-copy">shallow copy</a> is
+performed.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QVariant::operator== ( const&nbsp;<a href="qvariant.html">QVariant</a>&nbsp;&amp;&nbsp;v ) const
+</h3>
+Compares this QVariant with <em>v</em> and returns TRUE if they are
+equal; otherwise returns FALSE.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;QString&gt; <a name="stringListBegin"></a>QVariant::stringListBegin () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns an iterator to the first string in the list if the
+variant's type is StringList; otherwise returns a null iterator.
+
+<h3 class=fn><a href="qvaluelistconstiterator.html">QValueListConstIterator</a>&lt;QString&gt; <a name="stringListEnd"></a>QVariant::stringListEnd () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Returns the end iterator for the list if the variant's type is
+StringList; otherwise returns a null iterator.
+
+<h3 class=fn>const&nbsp;<a href="qbitarray.html">QBitArray</a> <a name="toBitArray"></a>QVariant::toBitArray () const
+</h3>
+Returns the variant as a <a href="qbitarray.html">QBitArray</a> if the variant has <a href="#type">type</a>()
+BitArray; otherwise returns an empty bitarray.
+<p> <p>See also <a href="#asBitArray">asBitArray</a>().
+
+<h3 class=fn>const&nbsp;<a href="qbitmap.html">QBitmap</a> <a name="toBitmap"></a>QVariant::toBitmap () const
+</h3>
+Returns the variant as a <a href="qbitmap.html">QBitmap</a> if the variant has <a href="#type">type</a>() Bitmap;
+otherwise returns a null QBitmap.
+<p> <p>See also <a href="#asBitmap">asBitmap</a>().
+
+<h3 class=fn>bool <a name="toBool"></a>QVariant::toBool () const
+</h3>
+Returns the variant as a bool if the variant can be cast to Bool;
+otherWise returns FALSE.
+<p> Returns TRUE if the variant has a numeric type and its value is
+non-zero, or if the variant has type String, ByteArray or CString
+and its lower-case content is not empty, "0" or "false"; otherwise
+returns FALSE.
+<p> <p>See also <a href="#asBool">asBool</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qbrush.html">QBrush</a> <a name="toBrush"></a>QVariant::toBrush () const
+</h3>
+Returns the variant as a <a href="qbrush.html">QBrush</a> if the variant has <a href="#type">type</a>() Brush;
+otherwise returns a default brush (with all black colors).
+<p> <p>See also <a href="#asBrush">asBrush</a>().
+
+<h3 class=fn>const&nbsp;<a href="qbytearray.html">QByteArray</a> <a name="toByteArray"></a>QVariant::toByteArray () const
+</h3>
+Returns the variant as a <a href="qbytearray.html">QByteArray</a> if the variant can be cast to
+a ByteArray; otherwise returns an empty bytearray.
+<p> <p>See also <a href="#asByteArray">asByteArray</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcstring.html">QCString</a> <a name="toCString"></a>QVariant::toCString () const
+</h3>
+Returns the variant as a <a href="qcstring.html">QCString</a> if the variant can be cast to a
+CString; otherwise returns 0.
+<p> <p>See also <a href="#asCString">asCString</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a> <a name="toColor"></a>QVariant::toColor () const
+</h3>
+Returns the variant as a <a href="qcolor.html">QColor</a> if the variant can be cast to Color;
+otherwise returns an invalid color.
+<p> <p>See also <a href="#asColor">asColor</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a> <a name="toColorGroup"></a>QVariant::toColorGroup () const
+</h3>
+Returns the variant as a <a href="qcolorgroup.html">QColorGroup</a> if the variant has <a href="#type">type</a>()
+ColorGroup; otherwise returns a completely black color group.
+<p> <p>See also <a href="#asColorGroup">asColorGroup</a>().
+
+<h3 class=fn>const&nbsp;<a href="qcursor.html">QCursor</a> <a name="toCursor"></a>QVariant::toCursor () const
+</h3>
+Returns the variant as a <a href="qcursor.html">QCursor</a> if the variant has <a href="#type">type</a>() Cursor;
+otherwise returns the default arrow cursor.
+<p> <p>See also <a href="#asCursor">asCursor</a>().
+
+<h3 class=fn>const&nbsp;<a href="qdate.html">QDate</a> <a name="toDate"></a>QVariant::toDate () const
+</h3>
+Returns the variant as a <a href="qdate.html">QDate</a> if the variant can be cast to Date;
+otherwise returns an invalid date.
+<p> Note that if the <a href="#type">type</a>() is String, CString or ByteArray an invalid
+date will be returned if the string cannot be parsed as a
+Qt::ISODate format date.
+<p> <p>See also <a href="#asDate">asDate</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qdatetime.html">QDateTime</a> <a name="toDateTime"></a>QVariant::toDateTime () const
+</h3>
+Returns the variant as a <a href="qdatetime.html">QDateTime</a> if the variant can be cast to
+DateTime; otherwise returns an invalid QDateTime.
+<p> Note that if the <a href="#type">type</a>() is String, CString or ByteArray an invalid
+QDateTime will be returned if the string cannot be parsed as a
+Qt::ISODate format date/time.
+<p> <p>See also <a href="#asDateTime">asDateTime</a>().
+
+<h3 class=fn>double <a name="toDouble"></a>QVariant::toDouble ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the variant as a double if the variant can be cast to
+Double; otherwise returns 0.0.
+<p> If <em>ok</em> is non-null: <em>*ok</em> is set to TRUE if the value could be
+converted to a double; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#asDouble">asDouble</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qfont.html">QFont</a> <a name="toFont"></a>QVariant::toFont () const
+</h3>
+Returns the variant as a <a href="qfont.html">QFont</a> if the variant can be cast to Font;
+otherwise returns the application's default font.
+<p> <p>See also <a href="#asFont">asFont</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qiconset.html">QIconSet</a> <a name="toIconSet"></a>QVariant::toIconSet () const
+</h3>
+Returns the variant as a <a href="qiconset.html">QIconSet</a> if the variant has <a href="#type">type</a>()
+IconSet; otherwise returns an icon set of null pixmaps.
+<p> <p>See also <a href="#asIconSet">asIconSet</a>().
+
+<h3 class=fn>const&nbsp;<a href="qimage.html">QImage</a> <a name="toImage"></a>QVariant::toImage () const
+</h3>
+Returns the variant as a <a href="qimage.html">QImage</a> if the variant has <a href="#type">type</a>() Image;
+otherwise returns a null image.
+<p> <p>See also <a href="#asImage">asImage</a>().
+
+<h3 class=fn>int <a name="toInt"></a>QVariant::toInt ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the variant as an int if the variant can be cast to Int;
+otherwise returns 0.
+<p> If <em>ok</em> is non-null: <em>*ok</em> is set to TRUE if the value could be
+converted to an int; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#asInt">asInt</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qkeysequence.html">QKeySequence</a> <a name="toKeySequence"></a>QVariant::toKeySequence () const
+</h3>
+Returns the variant as a <a href="qkeysequence.html">QKeySequence</a> if the variant can be cast
+to a KeySequence; otherwise returns an empty key sequence.
+<p> <p>See also <a href="#asKeySequence">asKeySequence</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; <a name="toList"></a>QVariant::toList () const
+</h3>
+Returns the variant as a <a href="qvaluelist.html">QValueList</a><QVariant> if the variant has
+<a href="#type">type</a>() List or StringList; otherwise returns an empty list.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qvaluelist.html">QValueList</a>&lt;QVariant&gt; list = myVariant.toList();
+ QValueList&lt;QVariant&gt;::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#asList">asList</a>().
+
+<h3 class=fn>Q_LLONG <a name="toLongLong"></a>QVariant::toLongLong ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the variant as a long long int if the variant can be cast
+to LongLong; otherwise returns 0.
+<p> If <em>ok</em> is non-null: <em>*ok</em> is set to TRUE if the value could be
+converted to an int; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#asLongLong">asLongLong</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qmap.html">QMap</a>&lt;QString,&nbsp;QVariant&gt; <a name="toMap"></a>QVariant::toMap () const
+</h3>
+Returns the variant as a <a href="qmap.html">QMap</a><QString,QVariant> if the variant has
+<a href="#type">type</a>() Map; otherwise returns an empty map.
+<p> Note that if you want to iterate over the map, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qmap.html">QMap</a>&lt;QString, QVariant&gt; map = myVariant.toMap();
+ QMap&lt;QString, QVariant&gt;::Iterator it = map.<a href="qmap.html#begin">begin</a>();
+ while( it != map.<a href="qmap.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#asMap">asMap</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpalette.html">QPalette</a> <a name="toPalette"></a>QVariant::toPalette () const
+</h3>
+Returns the variant as a <a href="qpalette.html">QPalette</a> if the variant has <a href="#type">type</a>()
+Palette; otherwise returns a completely black palette.
+<p> <p>See also <a href="#asPalette">asPalette</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpen.html">QPen</a> <a name="toPen"></a>QVariant::toPen () const
+</h3>
+Returns the variant as a <a href="qpen.html">QPen</a> if the variant has <a href="#type">type</a>()
+Pen; otherwise returns an empty QPen.
+<p> <p>See also <a href="#asPen">asPen</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a> <a name="toPixmap"></a>QVariant::toPixmap () const
+</h3>
+Returns the variant as a <a href="qpixmap.html">QPixmap</a> if the variant has <a href="#type">type</a>() Pixmap;
+otherwise returns a null pixmap.
+<p> <p>See also <a href="#asPixmap">asPixmap</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a> <a name="toPoint"></a>QVariant::toPoint () const
+</h3>
+Returns the variant as a <a href="qpoint.html">QPoint</a> if the variant has <a href="#type">type</a>() Point;
+otherwise returns a point (0, 0).
+<p> <p>See also <a href="#asPoint">asPoint</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpointarray.html">QPointArray</a> <a name="toPointArray"></a>QVariant::toPointArray () const
+</h3>
+Returns the variant as a <a href="qpointarray.html">QPointArray</a> if the variant has <a href="#type">type</a>()
+PointArray; otherwise returns an empty QPointArray.
+<p> <p>See also <a href="#asPointArray">asPointArray</a>().
+
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a> <a name="toRect"></a>QVariant::toRect () const
+</h3>
+Returns the variant as a <a href="qrect.html">QRect</a> if the variant has <a href="#type">type</a>() Rect;
+otherwise returns an empty rectangle.
+<p> <p>See also <a href="#asRect">asRect</a>().
+
+<h3 class=fn>const&nbsp;<a href="qregion.html">QRegion</a> <a name="toRegion"></a>QVariant::toRegion () const
+</h3>
+Returns the variant as a <a href="qregion.html">QRegion</a> if the variant has <a href="#type">type</a>() Region;
+otherwise returns an empty QRegion.
+<p> <p>See also <a href="#asRegion">asRegion</a>().
+
+<h3 class=fn>const&nbsp;<a href="qsize.html">QSize</a> <a name="toSize"></a>QVariant::toSize () const
+</h3>
+Returns the variant as a <a href="qsize.html">QSize</a> if the variant has <a href="#type">type</a>() Size;
+otherwise returns an invalid size.
+<p> <p>See also <a href="#asSize">asSize</a>().
+
+<h3 class=fn><a href="qsizepolicy.html">QSizePolicy</a> <a name="toSizePolicy"></a>QVariant::toSizePolicy () const
+</h3>
+Returns the variant as a <a href="qsizepolicy.html">QSizePolicy</a> if the variant has <a href="#type">type</a>()
+SizePolicy; otherwise returns an undefined (but legal) size
+policy.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a> <a name="toString"></a>QVariant::toString () const
+</h3>
+Returns the variant as a <a href="qstring.html">QString</a> if the variant can be cast to
+String, otherwise returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#asString">asString</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>const&nbsp;<a href="qstringlist.html">QStringList</a> <a name="toStringList"></a>QVariant::toStringList () const
+</h3>
+Returns the variant as a <a href="qstringlist.html">QStringList</a> if the variant has <a href="#type">type</a>()
+StringList or List of a type that can be converted to <a href="qstring.html">QString</a>;
+otherwise returns an empty list.
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myVariant.toStringList();
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+<p> <p>See also <a href="#asStringList">asStringList</a>().
+
+<h3 class=fn>const&nbsp;<a href="qtime.html">QTime</a> <a name="toTime"></a>QVariant::toTime () const
+</h3>
+Returns the variant as a <a href="qtime.html">QTime</a> if the variant can be cast to Time;
+otherwise returns an invalid date.
+<p> Note that if the <a href="#type">type</a>() is String, CString or ByteArray an invalid
+time will be returned if the string cannot be parsed as a
+Qt::ISODate format time.
+<p> <p>See also <a href="#asTime">asTime</a>().
+
+<h3 class=fn>uint <a name="toUInt"></a>QVariant::toUInt ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the variant as an unsigned int if the variant can be cast
+to UInt; otherwise returns 0.
+<p> If <em>ok</em> is non-null: <em>*ok</em> is set to TRUE if the value could be
+converted to an unsigned int; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#asUInt">asUInt</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn>Q_ULLONG <a name="toULongLong"></a>QVariant::toULongLong ( bool&nbsp;*&nbsp;ok = 0 ) const
+</h3>
+Returns the variant as as an unsigned long long int if the variant
+can be cast to ULongLong; otherwise returns 0.
+<p> If <em>ok</em> is non-null: <em>*ok</em> is set to TRUE if the value could be
+converted to an int; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#asULongLong">asULongLong</a>() and <a href="#canCast">canCast</a>().
+
+<h3 class=fn><a href="qvariant.html#Type-enum">Type</a> <a name="type"></a>QVariant::type () const
+</h3>
+
+<p> Returns the storage type of the value stored in the variant.
+Usually it's best to test with <a href="#canCast">canCast</a>() whether the variant can
+deliver the data type you are interested in.
+
+<h3 class=fn>const char * <a name="typeName"></a>QVariant::typeName () const
+</h3>
+Returns the name of the type stored in the variant. The returned
+strings describe the C++ datatype used to store the data: for
+example, "QFont", "QString", or "QValueList<QVariant>". An Invalid
+variant returns 0.
+
+<h3 class=fn>const char * <a name="typeToName"></a>QVariant::typeToName ( <a href="qvariant.html#Type-enum">Type</a>&nbsp;typ )<tt> [static]</tt>
+</h3>
+Converts the enum representation of the storage type, <em>typ</em>, to
+its string representation.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvbox-h.html b/doc/html/qvbox-h.html
new file mode 100644
index 0000000..877312d
--- /dev/null
+++ b/doc/html/qvbox-h.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvbox.h</h1>
+
+<p>This is the verbatim text of the qvbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvbox.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of vertical box layout widget class
+**
+** Created : 990124
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVBOX_H
+#define QVBOX_H
+
+#ifndef QT_H
+#include "qhbox.h"
+#endif // QT_H
+
+#ifndef QT_NO_VBOX
+
+class Q_EXPORT QVBox : public QHBox
+{
+ Q_OBJECT
+public:
+ QVBox( QWidget* parent=0, const char* name=0, WFlags f=0 );
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QVBox( const QVBox &amp; );
+ QVBox&amp; operator=( const QVBox &amp; );
+#endif
+};
+
+#endif // QT_NO_VBOX
+
+#endif // QVBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvbox-m.png b/doc/html/qvbox-m.png
new file mode 100644
index 0000000..95527a2
--- /dev/null
+++ b/doc/html/qvbox-m.png
Binary files differ
diff --git a/doc/html/qvbox-members.html b/doc/html/qvbox-members.html
new file mode 100644
index 0000000..6e16765
--- /dev/null
+++ b/doc/html/qvbox-members.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvbox.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QVBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvbox.html">QVBox</a>, including inherited members.
+
+<ul>
+<li><a href="qvbox.html#QVBox">QVBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qhbox.html#setSpacing">setSpacing</a>()
+<li><a href="qhbox.html#setStretchFactor">setStretchFactor</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvbox.html b/doc/html/qvbox.html
new file mode 100644
index 0000000..98a8ba3
--- /dev/null
+++ b/doc/html/qvbox.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvbox.cpp:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVBox Class Reference</h1>
+
+<p>The QVBox widget provides vertical geometry management of
+its child widgets.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;</tt>
+<p>Inherits <a href="qhbox.html">QHBox</a>.
+<p><a href="qvbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QVBox"><b>QVBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QVBox widget provides vertical geometry management of
+its child widgets.
+<p>
+
+
+<p> All its child widgets will be placed vertically and sized
+according to their <a href="qwidget.html#sizeHint">sizeHint</a>()s.
+<p> <center><img src="qvbox-m.png" alt="QVBox"></center>
+<p> <p>See also <a href="qhbox.html">QHBox</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QVBox"></a>QVBox::QVBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a vbox widget called <em>name</em> with parent <em>parent</em> and
+widget flags <em>f</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvboxlayout-members.html b/doc/html/qvboxlayout-members.html
new file mode 100644
index 0000000..440ec6c
--- /dev/null
+++ b/doc/html/qvboxlayout-members.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:450 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVBoxLayout Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QVBoxLayout</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvboxlayout.html">QVBoxLayout</a>, including inherited members.
+
+<ul>
+<li><a href="qvboxlayout.html#QVBoxLayout">QVBoxLayout</a>()
+<li><a href="qvboxlayout.html#~QVBoxLayout">~QVBoxLayout</a>()
+<li><a href="qlayout.html#activate">activate</a>()
+<li><a href="qlayout.html#add">add</a>()
+<li><a href="qlayout.html#addChildLayout">addChildLayout</a>()
+<li><a href="qboxlayout.html#addItem">addItem</a>()
+<li><a href="qboxlayout.html#addLayout">addLayout</a>()
+<li><a href="qboxlayout.html#addSpacing">addSpacing</a>()
+<li><a href="qboxlayout.html#addStretch">addStretch</a>()
+<li><a href="qboxlayout.html#addStrut">addStrut</a>()
+<li><a href="qboxlayout.html#addWidget">addWidget</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qlayout.html#alignmentRect">alignmentRect</a>()
+<li><a href="qlayout.html#autoAdd">autoAdd</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qlayout.html#deleteAllItems">deleteAllItems</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qboxlayout.html#direction">direction</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qboxlayout.html#expanding">expanding</a>()
+<li><a href="qboxlayout.html#findWidget">findWidget</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qboxlayout.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qboxlayout.html#heightForWidth">heightForWidth</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qboxlayout.html#insertItem">insertItem</a>()
+<li><a href="qboxlayout.html#insertLayout">insertLayout</a>()
+<li><a href="qboxlayout.html#insertSpacing">insertSpacing</a>()
+<li><a href="qboxlayout.html#insertStretch">insertStretch</a>()
+<li><a href="qboxlayout.html#insertWidget">insertWidget</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qboxlayout.html#invalidate">invalidate</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qlayout.html#isEmpty">isEmpty</a>()
+<li><a href="qlayout.html#isEnabled">isEnabled</a>()
+<li><a href="qlayout.html#isTopLevel">isTopLevel</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qlayout.html#iterator">iterator</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qlayout.html#mainWidget">mainWidget</a>()
+<li><a href="qlayout.html#margin">margin</a>()
+<li><a href="qboxlayout.html#maximumSize">maximumSize</a>()
+<li><a href="qlayout.html#menuBar">menuBar</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qboxlayout.html#minimumSize">minimumSize</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qlayout.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qlayout.html#removeItem">removeItem</a>()
+<li><a href="qlayout.html#resizeMode">resizeMode</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qlayout.html#setAutoAdd">setAutoAdd</a>()
+<li><a href="qboxlayout.html#setDirection">setDirection</a>()
+<li><a href="qlayout.html#setEnabled">setEnabled</a>()
+<li><a href="qboxlayout.html#setGeometry">setGeometry</a>()
+<li><a href="qlayout.html#setMargin">setMargin</a>()
+<li><a href="qlayout.html#setMenuBar">setMenuBar</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qlayout.html#setResizeMode">setResizeMode</a>()
+<li><a href="qlayout.html#setSpacing">setSpacing</a>()
+<li><a href="qboxlayout.html#setStretchFactor">setStretchFactor</a>()
+<li><a href="qlayout.html#setSupportsMargin">setSupportsMargin</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qboxlayout.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qlayout.html#spacing">spacing</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qlayout.html#supportsMargin">supportsMargin</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qlayoutitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvboxlayout.html b/doc/html/qvboxlayout.html
new file mode 100644
index 0000000..6da93df
--- /dev/null
+++ b/doc/html/qvboxlayout.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qlayout.cpp:2518 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVBoxLayout Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVBoxLayout Class Reference</h1>
+
+<p>The QVBoxLayout class lines up widgets vertically.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qboxlayout.html">QBoxLayout</a>.
+<p><a href="qvboxlayout-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QVBoxLayout"><b>QVBoxLayout</b></a> ( QWidget&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QVBoxLayout-2"><b>QVBoxLayout</b></a> ( QLayout&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QVBoxLayout-3"><b>QVBoxLayout</b></a> ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QVBoxLayout"><b>~QVBoxLayout</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QVBoxLayout class lines up widgets vertically.
+<p>
+
+
+<p> This class is used to construct vertical box layout objects. See
+<a href="qboxlayout.html">QBoxLayout</a> for more details.
+<p> The simplest use of the class is like this:
+<pre>
+ <a href="qboxlayout.html">QBoxLayout</a> * l = new QVBoxLayout( widget );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( aWidget );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( anotherWidget );
+ </pre>
+
+<p> <center><img src="qvboxlayout.png" alt="QVBox"></center>
+<p> <p>See also <a href="qhboxlayout.html">QHBoxLayout</a>, <a href="qgridlayout.html">QGridLayout</a>, <a href="layout.html">the Layout overview</a>, <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QVBoxLayout"></a>QVBoxLayout::QVBoxLayout ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, int&nbsp;margin = 0, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new top-level vertical box called <em>name</em>, with
+parent <em>parent</em>.
+<p> The <em>margin</em> is the number of pixels between the edge of the
+widget and its managed children. The <em>spacing</em> is the default
+number of pixels between neighboring children. If <em>spacing</em> is -1
+the value of <em>margin</em> is used for <em>spacing</em>.
+
+<h3 class=fn><a name="QVBoxLayout-2"></a>QVBoxLayout::QVBoxLayout ( <a href="qlayout.html">QLayout</a>&nbsp;*&nbsp;parentLayout, int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new vertical box called name <em>name</em> and adds it to
+<em>parentLayout</em>.
+<p> The <em>spacing</em> is the default number of pixels between neighboring
+children. If <em>spacing</em> is -1, this QVBoxLayout will inherit its
+parent's <a href="qlayout.html#spacing">spacing</a>().
+
+<h3 class=fn><a name="QVBoxLayout-3"></a>QVBoxLayout::QVBoxLayout ( int&nbsp;spacing = -1, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a new vertical box called name <em>name</em>. You must add
+it to another layout.
+<p> The <em>spacing</em> is the default number of pixels between neighboring
+children. If <em>spacing</em> is -1, this QVBoxLayout will inherit its
+parent's <a href="qlayout.html#spacing">spacing</a>().
+
+<h3 class=fn><a name="~QVBoxLayout"></a>QVBoxLayout::~QVBoxLayout ()
+</h3>
+Destroys this box layout.
+<p> The layout's widgets aren't destroyed.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvboxlayout.png b/doc/html/qvboxlayout.png
new file mode 100644
index 0000000..3528196
--- /dev/null
+++ b/doc/html/qvboxlayout.png
Binary files differ
diff --git a/doc/html/qvbuttongroup-h.html b/doc/html/qvbuttongroup-h.html
new file mode 100644
index 0000000..871612b
--- /dev/null
+++ b/doc/html/qvbuttongroup-h.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvbuttongroup.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvbuttongroup.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvbuttongroup.h</h1>
+
+<p>This is the verbatim text of the qvbuttongroup.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qvbuttongroup.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QVButtonGroup class
+**
+** Created : 990602
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVBUTTONGROUP_H
+#define QVBUTTONGROUP_H
+
+#ifndef QT_H
+#include "qbuttongroup.h"
+#endif // QT_H
+
+#ifndef QT_NO_VBUTTONGROUP
+
+class Q_EXPORT QVButtonGroup : public QButtonGroup
+{
+ Q_OBJECT
+public:
+ QVButtonGroup( QWidget* parent=0, const char* name=0 );
+ QVButtonGroup( const QString &amp;title, QWidget* parent=0, const char* name=0 );
+
+ ~QVButtonGroup();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QVButtonGroup( const QVButtonGroup &amp; );
+ QVButtonGroup &amp;operator=( const QVButtonGroup &amp; );
+#endif
+};
+
+
+#endif // QT_NO_VBUTTONGROUP
+
+#endif // QVBUTTONGROUP_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvbuttongroup-members.html b/doc/html/qvbuttongroup-members.html
new file mode 100644
index 0000000..b24ca75
--- /dev/null
+++ b/doc/html/qvbuttongroup-members.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvbuttongroup.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVButtonGroup Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QVButtonGroup</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvbuttongroup.html">QVButtonGroup</a>, including inherited members.
+
+<ul>
+<li><a href="qvbuttongroup.html#QVButtonGroup">QVButtonGroup</a>()
+<li><a href="qvbuttongroup.html#~QVButtonGroup">~QVButtonGroup</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qbuttongroup.html#clicked">clicked</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qbuttongroup.html#count">count</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qbuttongroup.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qbuttongroup.html#id">id</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qbuttongroup.html#insert">insert</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qbuttongroup.html#isExclusive">isExclusive</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qbuttongroup.html#isRadioButtonExclusive">isRadioButtonExclusive</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qbuttongroup.html#moveFocus">moveFocus</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qbuttongroup.html#pressed">pressed</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qbuttongroup.html#released">released</a>()
+<li><a href="qbuttongroup.html#remove">remove</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qbuttongroup.html#selected">selected</a>()
+<li><a href="qbuttongroup.html#selectedId">selectedId</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qbuttongroup.html#setButton">setButton</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qbuttongroup.html#setExclusive">setExclusive</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qbuttongroup.html#setRadioButtonExclusive">setRadioButtonExclusive</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvbuttongroup.html b/doc/html/qvbuttongroup.html
new file mode 100644
index 0000000..32ae663
--- /dev/null
+++ b/doc/html/qvbuttongroup.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvbuttongroup.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVButtonGroup Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVButtonGroup Class Reference</h1>
+
+<p>The QVButtonGroup widget organizes QButton widgets in a
+vertical column.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvbuttongroup-h.html">qvbuttongroup.h</a>&gt;</tt>
+<p>Inherits <a href="qbuttongroup.html">QButtonGroup</a>.
+<p><a href="qvbuttongroup-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QVButtonGroup"><b>QVButtonGroup</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QVButtonGroup-2"><b>QVButtonGroup</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QVButtonGroup"><b>~QVButtonGroup</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QVButtonGroup widget organizes <a href="qbutton.html">QButton</a> widgets in a
+vertical column.
+<p>
+
+
+<p> QVButtonGroup is a convenience class that offers a thin layer on top
+of <a href="qbuttongroup.html">QButtonGroup</a>. Think of it as a <a href="qvbox.html">QVBox</a> that offers a frame with a
+title and is specifically designed for buttons.
+<p> <center><img src="qbuttongroup-v.png" alt="QButtonGroup"></center>
+<p> <p>See also <a href="qhbuttongroup.html">QHButtonGroup</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QVButtonGroup"></a>QVButtonGroup::QVButtonGroup ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical button group with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QVButtonGroup-2"></a>QVButtonGroup::QVButtonGroup ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical button group with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QVButtonGroup"></a>QVButtonGroup::~QVButtonGroup ()
+</h3>
+Destroys the vertical button group, deleting its child widgets.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvector.html b/doc/html/qvector.html
new file mode 100644
index 0000000..2efc104
--- /dev/null
+++ b/doc/html/qvector.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/qcollection-compat.doc:97 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVector Class Reference (obsolete)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVector Class Reference (obsolete)</h1>
+
+
+<p> <pre>
+#include &lt;qvector.h&gt;</pre>
+
+<p> The QVector class has been renamed <b> <a href="qptrvector.html">QPtrVector</a> </b> in Qt 3.0.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvgroupbox-h.html b/doc/html/qvgroupbox-h.html
new file mode 100644
index 0000000..a6b1536
--- /dev/null
+++ b/doc/html/qvgroupbox-h.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvgroupbox.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qvgroupbox.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qvgroupbox.h</h1>
+
+<p>This is the verbatim text of the qvgroupbox.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** $Id: qt/qvgroupbox.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QVGroupBox widget class
+**
+** Created : 990602
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QVGROUPBOX_H
+#define QVGROUPBOX_H
+
+#ifndef QT_H
+#include "qgroupbox.h"
+#endif // QT_H
+
+#ifndef QT_NO_VGROUPBOX
+
+class Q_EXPORT QVGroupBox : public QGroupBox
+{
+ Q_OBJECT
+public:
+ QVGroupBox( QWidget* parent=0, const char* name=0 );
+ QVGroupBox( const QString &amp;title, QWidget* parent=0, const char* name=0 );
+
+ ~QVGroupBox();
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QVGroupBox( const QVGroupBox &amp; );
+ QVGroupBox &amp;operator=( const QVGroupBox &amp; );
+#endif
+};
+
+#endif // QT_NO_VGROUPBOX
+
+#endif // QVGROUPBOX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvgroupbox-members.html b/doc/html/qvgroupbox-members.html
new file mode 100644
index 0000000..0ff933c
--- /dev/null
+++ b/doc/html/qvgroupbox-members.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qvgroupbox.h:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVGroupBox Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QVGroupBox</h1>
+
+<p>This is the complete list of member functions for
+<a href="qvgroupbox.html">QVGroupBox</a>, including inherited members.
+
+<ul>
+<li><a href="qvgroupbox.html#QVGroupBox">QVGroupBox</a>()
+<li><a href="qvgroupbox.html#~QVGroupBox">~QVGroupBox</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qgroupbox.html#addSpace">addSpace</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qgroupbox.html#alignment">alignment</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qgroupbox.html#columns">columns</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qgroupbox.html#insideMargin">insideMargin</a>()
+<li><a href="qgroupbox.html#insideSpacing">insideSpacing</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qgroupbox.html#isCheckable">isCheckable</a>()
+<li><a href="qgroupbox.html#isChecked">isChecked</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qgroupbox.html#isFlat">isFlat</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qgroupbox.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qgroupbox.html#setAlignment">setAlignment</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qgroupbox.html#setCheckable">setCheckable</a>()
+<li><a href="qgroupbox.html#setChecked">setChecked</a>()
+<li><a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>()
+<li><a href="qgroupbox.html#setColumns">setColumns</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qgroupbox.html#setFlat">setFlat</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qgroupbox.html#setInsideMargin">setInsideMargin</a>()
+<li><a href="qgroupbox.html#setInsideSpacing">setInsideSpacing</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qgroupbox.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qgroupbox.html#setTitle">setTitle</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qgroupbox.html#title">title</a>()
+<li><a href="qgroupbox.html#toggled">toggled</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qvgroupbox.html b/doc/html/qvgroupbox.html
new file mode 100644
index 0000000..c7a20f3
--- /dev/null
+++ b/doc/html/qvgroupbox.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qvgroupbox.cpp:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QVGroupBox Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QVGroupBox Class Reference</h1>
+
+<p>The QVGroupBox widget organizes a group of widgets in a
+vertical column.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qvgroupbox-h.html">qvgroupbox.h</a>&gt;</tt>
+<p>Inherits <a href="qgroupbox.html">QGroupBox</a>.
+<p><a href="qvgroupbox-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QVGroupBox"><b>QVGroupBox</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QVGroupBox-2"><b>QVGroupBox</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;title, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QVGroupBox"><b>~QVGroupBox</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QVGroupBox widget organizes a group of widgets in a
+vertical column.
+<p>
+
+
+<p> QVGroupBox is a convenience class that offers a thin layer on top of
+<a href="qgroupbox.html">QGroupBox</a>. Think of it as a <a href="qvbox.html">QVBox</a> that offers a frame with a title.
+<p> <center><img src="qgroupboxes.png" alt="Group Boxes"></center>
+<p> <p>See also <a href="qhgroupbox.html">QHGroupBox</a>, <a href="appearance.html">Widget Appearance and Style</a>, <a href="geomanagement.html">Layout Management</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QVGroupBox"></a>QVGroupBox::QVGroupBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical group box with no title.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="QVGroupBox-2"></a>QVGroupBox::QVGroupBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a vertical group box with the title <em>title</em>.
+<p> The <em>parent</em> and <em>name</em> arguments are passed on to the <a href="qwidget.html">QWidget</a>
+constructor.
+
+<h3 class=fn><a name="~QVGroupBox"></a>QVGroupBox::~QVGroupBox ()
+</h3>
+Destroys the vertical group box, deleting its child widgets.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwaitcondition-h.html b/doc/html/qwaitcondition-h.html
new file mode 100644
index 0000000..18e7739
--- /dev/null
+++ b/doc/html/qwaitcondition-h.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwaitcondition.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwaitcondition.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwaitcondition.h</h1>
+
+<p>This is the verbatim text of the qwaitcondition.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwaitcondition.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QWaitCondition class
+**
+** Created : 931107
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWAITCONDITION_H
+#define QWAITCONDITION_H
+
+#ifndef QT_H
+#include "qglobal.h"
+#endif // QT_H
+
+#if defined(QT_THREAD_SUPPORT)
+
+#include &lt;limits.h&gt;
+
+class QWaitConditionPrivate;
+class QMutex;
+
+class Q_EXPORT QWaitCondition
+{
+public:
+ QWaitCondition();
+ virtual ~QWaitCondition();
+
+ // default argument causes thread to block indefinately
+ bool wait( unsigned long time = ULONG_MAX );
+ bool wait( QMutex *mutex, unsigned long time = ULONG_MAX );
+
+ void wakeOne();
+ void wakeAll();
+
+private:
+ QWaitConditionPrivate * d;
+
+#if defined(Q_DISABLE_COPY)
+ QWaitCondition( const QWaitCondition &amp; );
+ QWaitCondition &amp;operator=( const QWaitCondition &amp; );
+#endif
+};
+
+#endif
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwaitcondition-members.html b/doc/html/qwaitcondition-members.html
new file mode 100644
index 0000000..daad975
--- /dev/null
+++ b/doc/html/qwaitcondition-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwaitcondition.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWaitCondition Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWaitCondition</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwaitcondition.html">QWaitCondition</a>, including inherited members.
+
+<ul>
+<li><a href="qwaitcondition.html#QWaitCondition">QWaitCondition</a>()
+<li><a href="qwaitcondition.html#~QWaitCondition">~QWaitCondition</a>()
+<li><a href="qwaitcondition.html#wait">wait</a>()
+<li><a href="qwaitcondition.html#wakeAll">wakeAll</a>()
+<li><a href="qwaitcondition.html#wakeOne">wakeOne</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwaitcondition.html b/doc/html/qwaitcondition.html
new file mode 100644
index 0000000..a2735ec
--- /dev/null
+++ b/doc/html/qwaitcondition.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/tools/qwaitcondition_unix.cpp:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWaitCondition Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWaitCondition Class Reference</h1>
+
+<p>The QWaitCondition class allows waiting/waking for conditions between threads.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#threadsafe">thread-safe</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qwaitcondition-h.html">qwaitcondition.h</a>&gt;</tt>
+<p><a href="qwaitcondition-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWaitCondition"><b>QWaitCondition</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWaitCondition"><b>~QWaitCondition</b></a> ()</li>
+<li class=fn>bool <a href="#wait"><b>wait</b></a> ( unsigned&nbsp;long&nbsp;time = ULONG_MAX )</li>
+<li class=fn>bool <a href="#wait-2"><b>wait</b></a> ( QMutex&nbsp;*&nbsp;mutex, unsigned&nbsp;long&nbsp;time = ULONG_MAX )</li>
+<li class=fn>void <a href="#wakeOne"><b>wakeOne</b></a> ()</li>
+<li class=fn>void <a href="#wakeAll"><b>wakeAll</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QWaitCondition class allows waiting/waking for conditions between threads.
+<p>
+
+<p> QWaitConditions allow a thread to tell other threads that some
+sort of condition has been met; one or many threads can block
+waiting for a QWaitCondition to set a condition with <a href="#wakeOne">wakeOne</a>() or
+<a href="#wakeAll">wakeAll</a>(). Use wakeOne() to wake one randomly selected event or
+wakeAll() to wake them all. For example, say we have three tasks
+that should be performed every time the user presses a key; each
+task could be split into a thread, each of which would have a
+run() body like this:
+<p> <pre>
+ QWaitCondition key_pressed;
+
+ for (;;) {
+ key_pressed.<a href="#wait">wait</a>(); // This is a QWaitCondition global variable
+ // Key was pressed, do something interesting
+ do_something();
+ }
+ </pre>
+
+<p> A fourth thread would read key presses and wake the other three
+threads up every time it receives one, like this:
+<p> <pre>
+ QWaitCondition key_pressed;
+
+ for (;;) {
+ getchar();
+ // Causes any thread in key_pressed.<a href="#wait">wait</a>() to return from
+ // that method and continue processing
+ key_pressed.<a href="#wakeAll">wakeAll</a>();
+ }
+ </pre>
+
+<p> Note that the order the three threads are woken up in is
+undefined, and that if some or all of the threads are still in
+do_something() when the key is pressed, they won't be woken up
+(since they're not waiting on the condition variable) and so the
+task will not be performed for that key press. This can be
+avoided by, for example, doing something like this:
+<p> <pre>
+ <a href="qmutex.html">QMutex</a> mymutex;
+ QWaitCondition key_pressed;
+ int mycount=0;
+
+ // Worker thread code
+ for (;;) {
+ key_pressed.<a href="#wait">wait</a>(); // This is a QWaitCondition global variable
+ mymutex.<a href="qmutex.html#lock">lock</a>();
+ mycount++;
+ mymutex.<a href="qmutex.html#unlock">unlock</a>();
+ do_something();
+ mymutex.<a href="qmutex.html#lock">lock</a>();
+ mycount--;
+ mymutex.<a href="qmutex.html#unlock">unlock</a>();
+ }
+
+ // Key reading thread code
+ for (;;) {
+ getchar();
+ mymutex.<a href="qmutex.html#lock">lock</a>();
+ // Sleep until there are no busy worker threads
+ while( mycount &gt; 0 ) {
+ mymutex.<a href="qmutex.html#unlock">unlock</a>();
+ sleep( 1 );
+ mymutex.<a href="qmutex.html#lock">lock</a>();
+ }
+ mymutex.<a href="qmutex.html#unlock">unlock</a>();
+ key_pressed.<a href="#wakeAll">wakeAll</a>();
+ }
+ </pre>
+
+<p> The mutexes are necessary because the results of two threads
+attempting to change the value of the same variable simultaneously
+are unpredictable.
+<p>See also <a href="environment.html">Environment Classes</a> and <a href="thread.html">Threading</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWaitCondition"></a>QWaitCondition::QWaitCondition ()
+</h3>
+Constructs a new event signalling, i.e. wait condition, object.
+
+<h3 class=fn><a name="~QWaitCondition"></a>QWaitCondition::~QWaitCondition ()<tt> [virtual]</tt>
+</h3>
+Deletes the event signalling, i.e. wait condition, object.
+
+<h3 class=fn>bool <a name="wait"></a>QWaitCondition::wait ( unsigned&nbsp;long&nbsp;time = ULONG_MAX )
+</h3>
+Wait on the thread event object. The thread calling this will
+block until either of these conditions is met:
+<ul>
+<li> Another thread signals it using <a href="#wakeOne">wakeOne</a>() or <a href="#wakeAll">wakeAll</a>(). This
+function will return TRUE in this case.
+<li> <em>time</em> milliseconds has elapsed. If <em>time</em> is ULONG_MAX (the
+default), then the wait will never timeout (the event must be
+signalled). This function will return FALSE if the wait timed
+out.
+</ul>
+<p> <p>See also <a href="#wakeOne">wakeOne</a>() and <a href="#wakeAll">wakeAll</a>().
+
+<h3 class=fn>bool <a name="wait-2"></a>QWaitCondition::wait ( <a href="qmutex.html">QMutex</a>&nbsp;*&nbsp;mutex, unsigned&nbsp;long&nbsp;time = ULONG_MAX )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Release the locked <em>mutex</em> and wait on the thread event object.
+The <em>mutex</em> must be initially locked by the calling thread. If <em>mutex</em> is not in a locked state, this function returns immediately.
+If <em>mutex</em> is a recursive mutex, this function returns
+immediately. The <em>mutex</em> will be unlocked, and the calling thread
+will block until either of these conditions is met:
+<ul>
+<li> Another thread signals it using <a href="#wakeOne">wakeOne</a>() or <a href="#wakeAll">wakeAll</a>(). This
+function will return TRUE in this case.
+<li> <em>time</em> milliseconds has elapsed. If <em>time</em> is ULONG_MAX (the
+default), then the wait will never timeout (the event must be
+signalled). This function will return FALSE if the wait timed
+out.
+</ul>
+<p> The mutex will be returned to the same locked state. This function
+is provided to allow the atomic transition from the locked state
+to the wait state.
+<p> <p>See also <a href="#wakeOne">wakeOne</a>() and <a href="#wakeAll">wakeAll</a>().
+
+<h3 class=fn>void <a name="wakeAll"></a>QWaitCondition::wakeAll ()
+</h3>
+This wakes all threads waiting on the QWaitCondition. The order in
+which the threads are woken up depends on the operating system's
+scheduling policies, and cannot be controlled or predicted.
+<p> <p>See also <a href="#wakeOne">wakeOne</a>().
+
+<h3 class=fn>void <a name="wakeOne"></a>QWaitCondition::wakeOne ()
+</h3>
+This wakes one thread waiting on the QWaitCondition. The thread
+that is woken up depends on the operating system's scheduling
+policies, and cannot be controlled or predicted.
+<p> <p>See also <a href="#wakeAll">wakeAll</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwerty-example.html b/doc/html/qwerty-example.html
new file mode 100644
index 0000000..28c3e5e
--- /dev/null
+++ b/doc/html/qwerty-example.html
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/qwerty/qwerty.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Simple editor that can load encodings</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple editor that can load encodings</h1>
+
+
+<p>
+<hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/qwerty.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef QWERTY_H
+#define QWERTY_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+
+class Editor : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ Editor( <a href="qwidget.html">QWidget</a> *parent=0, const char *name="qwerty" );
+ ~Editor();
+
+ void load( const <a href="qstring.html">QString</a>&amp; fileName, int code=-1 );
+
+public slots:
+ void newDoc();
+ void load();
+ bool save();
+ void print();
+ void addEncoding();
+ void toUpper();
+ void toLower();
+ void font();
+protected:
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+private slots:
+ void saveAsEncoding( int );
+ void openAsEncoding( int );
+ void textChanged();
+
+private:
+ bool saveAs( const <a href="qstring.html">QString</a>&amp; fileName, int code=-1 );
+ void rebuildCodecList();
+ <a href="qmenubar.html">QMenuBar</a> *m;
+ <a href="qmultilineedit.html">QMultiLineEdit</a> *e;
+#ifndef QT_NO_PRINTER
+ <a href="qprinter.html">QPrinter</a> printer;
+#endif
+ <a href="qpopupmenu.html">QPopupMenu</a> *save_as;
+ <a href="qpopupmenu.html">QPopupMenu</a> *open_as;
+ bool changed;
+};
+
+#endif // QWERTY_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/qwerty.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "qwerty.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;
+#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+
+#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;
+
+const bool no_writing = FALSE;
+
+static QPtrList&lt;QTextCodec&gt; *codecList = 0;
+
+enum { Uni = 0, MBug = 1, Lat1 = 2, Local = 3, Guess = 4, Codec = 5 };
+
+
+<a name="f235"></a>Editor::Editor( <a href="qwidget.html">QWidget</a> * parent , const char * name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WDestructiveClose )
+{
+ m = new <a href="qmenubar.html">QMenuBar</a>( this, "menu" );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file );
+<a name="x371"></a> m-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New", this, SLOT(newDoc()), ALT+Key_N );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Open...", this, SLOT(load()), ALT+Key_O );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Save...", this, SLOT(save()), ALT+Key_S );
+<a name="x372"></a> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ open_as = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open &amp;As", open_as );
+ save_as = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Sa&amp;ve As", save_as );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Add &amp;Encoding", this, SLOT(addEncoding()) );
+#ifndef QT_NO_PRINTER
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print...", this, SLOT(print()), ALT+Key_P );
+#endif
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(<a href="qwidget.html#close">close</a>()),ALT+Key_W );
+<a name="x358"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT(<a href="qapplication.html#closeAllWindows">closeAllWindows</a>()), ALT+Key_Q );
+
+<a name="x386"></a> <a href="qobject.html#connect">connect</a>( save_as, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(saveAsEncoding(int)) );
+ <a href="qobject.html#connect">connect</a>( open_as, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(openAsEncoding(int)) );
+ rebuildCodecList();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * edit = new <a href="qpopupmenu.html">QPopupMenu</a>();
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( edit );
+ m-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Edit", edit );
+
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "To &amp;Uppercase", this, SLOT(toUpper()), ALT+Key_U );
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "To &amp;Lowercase", this, SLOT(toLower()), ALT+Key_L );
+#ifndef QT_NO_FONTDIALOG
+ edit-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Select Font" , this, SLOT(<a href="qwidget.html#font">font</a>()), ALT+Key_T );
+#endif
+ changed = FALSE;
+ e = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this, "editor" );
+<a name="x400"></a> <a href="qobject.html#connect">connect</a>( e, SIGNAL( <a href="qtextedit.html#textChanged">textChanged</a>() ), this, SLOT( textChanged() ) );
+
+ // We use Unifont - if you have it installed you'll see all
+ // Unicode character glyphs.
+ //
+ // Unifont only comes in one pixel size, so we cannot let
+ // it change pixel size as the display DPI changes.
+ //
+<a name="x367"></a> <a href="qfont.html">QFont</a> unifont("unifont",16,50); unifont.<a href="qfont.html#setPixelSize">setPixelSize</a>(16);
+<a name="x397"></a> e-&gt;<a href="qwidget.html#setFont">setFont</a>( unifont );
+
+ e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+Editor::~Editor()
+{
+}
+
+<a name="x405"></a>void Editor::<a href="qwidget.html#font">font</a>()
+{
+#ifndef QT_NO_FONTDIALOG
+ bool ok;
+<a name="x396"></a><a name="x368"></a> <a href="qfont.html">QFont</a> f = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, e-&gt;<a href="qtextedit.html#font">font</a>() );
+ if ( ok ) {
+ e-&gt;<a href="qwidget.html#setFont">setFont</a>( f );
+ }
+#endif
+}
+
+
+
+void <a name="f236"></a>Editor::rebuildCodecList()
+{
+ delete codecList;
+ codecList = new <a href="qptrlist.html">QPtrList</a>&lt;QTextCodec&gt;;
+ <a href="qtextcodec.html">QTextCodec</a> *codec;
+ int i;
+<a name="x392"></a> for (i = 0; (codec = QTextCodec::<a href="qtextcodec.html#codecForIndex">codecForIndex</a>(i)); i++)
+<a name="x387"></a> codecList-&gt;<a href="qptrlist.html#append">append</a>( codec );
+<a name="x389"></a> int n = codecList-&gt;<a href="qptrlist.html#count">count</a>();
+ for (int pm=0; pm&lt;2; pm++) {
+ <a href="qpopupmenu.html">QPopupMenu</a>* menu = pm ? open_as : save_as;
+<a name="x370"></a> menu-&gt;<a href="qmenudata.html#clear">clear</a>();
+ <a href="qstring.html">QString</a> local = "Local (";
+<a name="x393"></a> local += QTextCodec::<a href="qtextcodec.html#codecForLocale">codecForLocale</a>()-&gt;name();
+ local += ")";
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( local, Local );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Unicode", Uni );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Latin1", Lat1 );
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Microsoft Unicode", MBug );
+ if ( pm )
+ menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "[guess]", Guess );
+ for ( i = 0; i &lt; n; i++ )
+<a name="x388"></a> menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( codecList-&gt;<a href="qptrlist.html#at">at</a>(i)-&gt;name(), Codec + i );
+ }
+}
+
+void <a name="f237"></a>Editor::newDoc()
+{
+ Editor *ed = new Editor;
+ if ( qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().width() &lt; 450
+ || qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().height() &lt; 450 ) {
+<a name="x413"></a> ed-&gt;<a href="qwidget.html#showMaximized">showMaximized</a>();
+ } else {
+ ed-&gt;<a href="qwidget.html#resize">resize</a>( 400, 400 );
+ ed-&gt;<a href="qwidget.html#show">show</a>();
+ }
+}
+
+
+void <a name="f238"></a>Editor::load()
+{
+#ifndef QT_NO_FILEDIALOG
+<a name="x365"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString::null, this );
+<a name="x390"></a> if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( fn, -1 );
+#endif
+}
+
+void Editor::load( const <a href="qstring.html">QString</a>&amp; fileName, int code )
+{
+ <a href="qfile.html">QFile</a> f( fileName );
+<a name="x363"></a> if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+<a name="x376"></a> e-&gt;<a href="qmultilineedit.html#setAutoUpdate">setAutoUpdate</a>( FALSE );
+
+ <a href="qtextstream.html">QTextStream</a> t(&amp;f);
+ if ( code &gt;= Codec )
+<a name="x402"></a> t.<a href="qtextstream.html#setCodec">setCodec</a>( codecList-&gt;<a href="qptrlist.html#at">at</a>(code-Codec) );
+ else if ( code == Uni )
+<a name="x403"></a> t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::Unicode );
+ else if ( code == MBug )
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::UnicodeReverse );
+ else if ( code == Lat1 )
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::Latin1 );
+ else if ( code == Guess ) {
+ <a href="qfile.html">QFile</a> f(fileName);
+ f.<a href="qfile.html#open">open</a>(IO_ReadOnly);
+ char buffer[256];
+ int l = 256;
+<a name="x364"></a> l=f.<a href="qiodevice.html#readBlock">readBlock</a>(buffer,l);
+<a name="x391"></a> <a href="qtextcodec.html">QTextCodec</a>* codec = QTextCodec::<a href="qtextcodec.html#codecForContent">codecForContent</a>(buffer, l);
+ if ( codec ) {
+<a name="x395"></a><a name="x373"></a> QMessageBox::<a href="qmessagebox.html#information">information</a>(this,"Encoding",QString("Codec: ")+codec-&gt;<a href="qtextcodec.html#name">name</a>());
+ t.<a href="qtextstream.html#setCodec">setCodec</a>( codec );
+ }
+ }
+<a name="x401"></a><a name="x398"></a> e-&gt;<a href="qtextedit.html#setText">setText</a>( t.<a href="qtextstream.html#read">read</a>() );
+<a name="x362"></a> f.<a href="qfile.html#close">close</a>();
+
+ e-&gt;<a href="qmultilineedit.html#setAutoUpdate">setAutoUpdate</a>( TRUE );
+<a name="x407"></a> e-&gt;<a href="qwidget.html#repaint">repaint</a>();
+ <a href="qwidget.html#setCaption">setCaption</a>( fileName );
+
+ changed = FALSE;
+}
+
+void <a name="f239"></a>Editor::openAsEncoding( int code )
+{
+#ifndef QT_NO_FILEDIALOG
+ //storing filename (proper save) is left as an exercise...
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ (void) load( fn, code );
+#endif
+}
+
+bool <a name="f240"></a>Editor::save()
+{
+#ifndef QT_NO_FILEDIALOG
+ //storing filename (proper save) is left as an exercise...
+<a name="x366"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ return saveAs( fn );
+ return FALSE;
+#endif
+}
+
+void <a name="f241"></a>Editor::saveAsEncoding( int code )
+{
+#ifndef QT_NO_FILEDIALOG
+ //storing filename (proper save) is left as an exercise...
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null, this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ (void) saveAs( fn, code );
+#endif
+}
+
+void <a name="f242"></a>Editor::addEncoding()
+{
+#ifndef QT_NO_FILEDIALOG
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, "*.map", this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ <a href="qfile.html">QFile</a> f(fn);
+ if (f.<a href="qfile.html#open">open</a>(IO_ReadOnly)) {
+<a name="x394"></a> if (QTextCodec::<a href="qtextcodec.html#loadCharmap">loadCharmap</a>(&amp;f)) {
+ rebuildCodecList();
+ } else {
+<a name="x374"></a> QMessageBox::<a href="qmessagebox.html#warning">warning</a>(0,"Charmap error",
+ "The file did not contain a valid charmap.\n\n"
+ "A charmap file should look like this:\n"
+ " &lt;code_set_name&gt; thename\n"
+ " &lt;escape_char&gt; /\n"
+ " % alias thealias\n"
+ " CHARMAP\n"
+ " &lt;tokenname&gt; /x12 &lt;U3456&gt;\n"
+ " &lt;tokenname&gt; /xAB/x12 &lt;U0023&gt;\n"
+ " ...\n"
+ " END CHARMAP\n"
+ );
+ }
+ }
+ }
+#endif
+}
+
+
+bool <a name="f243"></a>Editor::saveAs( const <a href="qstring.html">QString</a>&amp; fileName, int code )
+{
+ <a href="qfile.html">QFile</a> f( fileName );
+ if ( no_writing || !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ QMessageBox::<a href="qmessagebox.html#warning">warning</a>(this,"I/O Error",
+ QString("The file could not be opened.\n\n")
+ +fileName);
+ return FALSE;
+ }
+ <a href="qtextstream.html">QTextStream</a> t(&amp;f);
+ if ( code &gt;= Codec )
+ t.<a href="qtextstream.html#setCodec">setCodec</a>( codecList-&gt;<a href="qptrlist.html#at">at</a>(code-Codec) );
+ else if ( code == Uni )
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::Unicode );
+ else if ( code == MBug )
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::UnicodeReverse );
+ else if ( code == Lat1 )
+ t.<a href="qtextstream.html#setEncoding">setEncoding</a>( QTextStream::Latin1 );
+<a name="x399"></a> t &lt;&lt; e-&gt;<a href="qtextedit.html#text">text</a>();
+ f.<a href="qfile.html#close">close</a>();
+ <a href="qwidget.html#setCaption">setCaption</a>( fileName );
+ changed = FALSE;
+ return TRUE;
+}
+
+void <a name="f244"></a>Editor::print()
+{
+#ifndef QT_NO_PRINTER
+ if ( printer.setup(this) ) { // opens printer dialog
+ printer.setFullPage(TRUE); // we'll set our own margins
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( &amp;printer ); // paint on printer
+<a name="x385"></a> p.<a href="qpainter.html#setFont">setFont</a>( e-&gt;<a href="qtextedit.html#font">font</a>() );
+<a name="x384"></a> <a href="qfontmetrics.html">QFontMetrics</a> fm = p.<a href="qpainter.html#fontMetrics">fontMetrics</a>();
+ <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics( &amp;printer ); // need width/height
+ // of printer surface
+<a name="x379"></a> const int MARGIN = metrics.<a href="qpaintdevicemetrics.html#logicalDpiX">logicalDpiX</a>() / 2; // half-inch margin
+ int yPos = MARGIN; // y position for each line
+
+<a name="x375"></a> for( int i = 0 ; i &lt; e-&gt;<a href="qmultilineedit.html#numLines">numLines</a>() ; i++ ) {
+ if ( printer.aborted() )
+ break;
+<a name="x378"></a><a name="x369"></a> if ( yPos + fm.<a href="qfontmetrics.html#lineSpacing">lineSpacing</a>() &gt; metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - MARGIN ) {
+ // no more room on this page
+ if ( !printer.newPage() ) // start new page
+ break; // some error
+ yPos = MARGIN; // back to top of page
+ }
+<a name="x380"></a> p.<a href="qpainter.html#drawText">drawText</a>( MARGIN, yPos, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*MARGIN,
+<a name="x377"></a> fm.<a href="qfontmetrics.html#lineSpacing">lineSpacing</a>(), ExpandTabs, e-&gt;<a href="qmultilineedit.html#textLine">textLine</a>( i ) );
+ yPos += fm.<a href="qfontmetrics.html#lineSpacing">lineSpacing</a>();
+ }
+ p.<a href="qpainter.html#end">end</a>(); // send job to printer
+ }
+#endif
+}
+
+void Editor::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+ if ( e &amp;&amp; m )
+ e-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 0, m-&gt;<a href="qwidget.html#height">height</a>(), width(), height() - m-&gt;<a href="qwidget.html#height">height</a>() );
+}
+
+<a name="x404"></a>void Editor::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a> *event )
+{
+<a name="x360"></a> event-&gt;<a href="qcloseevent.html#accept">accept</a>();
+
+ if ( changed ) { // the text has been changed
+ switch ( QMessageBox::<a href="qmessagebox.html#warning">warning</a>( this, "Qwerty",
+ "Save changes to Document?",
+ <a href="qobject.html#tr">tr</a>("&amp;Yes"),
+ <a href="qobject.html#tr">tr</a>("&amp;No"),
+ <a href="qobject.html#tr">tr</a>("Cancel"),
+ 0, 2) ) {
+ case 0: // yes
+ if ( save() )
+ event-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ else
+<a name="x361"></a> event-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+ case 1: // no
+ event-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ default: // cancel
+ event-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+ }
+ }
+}
+
+void <a name="f245"></a>Editor::toUpper()
+{
+ e-&gt;<a href="qtextedit.html#setText">setText</a>(e-&gt;<a href="qtextedit.html#text">text</a>().upper());
+}
+
+void <a name="f246"></a>Editor::toLower()
+{
+ e-&gt;<a href="qtextedit.html#setText">setText</a>(e-&gt;<a href="qtextedit.html#text">text</a>().lower());
+}
+
+void <a name="f247"></a>Editor::textChanged()
+{
+ changed = TRUE;
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "qwerty.h"
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+
+<a name="x414"></a> bool isSmall = qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().width() &lt; 450
+ || qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().height() &lt; 450;
+
+ int i;
+ for ( i= argc &lt;= 1 ? 0 : 1; i&lt;argc; i++ ) {
+ Editor *e = new Editor;
+ e-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - QWERTY");
+ if ( i &gt; 0 )
+ e-&gt;load( argv[i] );
+ if ( isSmall ) {
+<a name="x422"></a> e-&gt;<a href="qwidget.html#showMaximized">showMaximized</a>();
+ } else {
+ e-&gt;<a href="qwidget.html#resize">resize</a>( 400, 400 );
+ e-&gt;<a href="qwidget.html#show">show</a>();
+ }
+ }
+<a name="x416"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwhatsthis-h.html b/doc/html/qwhatsthis-h.html
new file mode 100644
index 0000000..6144d4d
--- /dev/null
+++ b/doc/html/qwhatsthis-h.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwhatsthis.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwhatsthis.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwhatsthis.h</h1>
+
+<p>This is the verbatim text of the qwhatsthis.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwhatsthis.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QWhatsThis class
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWHATSTHIS_H
+#define QWHATSTHIS_H
+
+#ifndef QT_H
+#include "qobject.h"
+#endif // QT_H
+
+#ifndef QT_NO_WHATSTHIS
+
+#include "qcursor.h"
+
+class QToolButton;
+class QPopupMenu;
+class QStyleSheet;
+
+class Q_EXPORT QWhatsThis: public Qt
+{
+public:
+ QWhatsThis( QWidget *);
+ virtual ~QWhatsThis();
+
+ virtual QString text( const QPoint &amp; );
+ virtual bool clicked( const QString&amp; href );
+
+ // the common static functions
+ static void setFont( const QFont &amp;font );
+
+ static void add( QWidget *, const QString &amp;);
+ static void remove( QWidget * );
+ static QString textFor( QWidget *, const QPoint &amp; pos = QPoint(), bool includeParents = FALSE );
+
+ static QToolButton * whatsThisButton( QWidget * parent );
+
+ static void enterWhatsThisMode();
+ static bool inWhatsThisMode();
+ static void leaveWhatsThisMode( const QString&amp; = QString::null, const QPoint&amp; pos = QCursor::pos(), QWidget* w = 0 );
+
+ static void display( const QString&amp; text, const QPoint&amp; pos = QCursor::pos(), QWidget* w = 0 );
+};
+
+#endif // QT_NO_WHATSTHIS
+
+#endif // QWHATSTHIS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwhatsthis-members.html b/doc/html/qwhatsthis-members.html
new file mode 100644
index 0000000..66e5876
--- /dev/null
+++ b/doc/html/qwhatsthis-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwhatsthis.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWhatsThis Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWhatsThis</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwhatsthis.html">QWhatsThis</a>, including inherited members.
+
+<ul>
+<li><a href="qwhatsthis.html#QWhatsThis">QWhatsThis</a>()
+<li><a href="qwhatsthis.html#~QWhatsThis">~QWhatsThis</a>()
+<li><a href="qwhatsthis.html#add">add</a>()
+<li><a href="qwhatsthis.html#clicked">clicked</a>()
+<li><a href="qwhatsthis.html#display">display</a>()
+<li><a href="qwhatsthis.html#enterWhatsThisMode">enterWhatsThisMode</a>()
+<li><a href="qwhatsthis.html#inWhatsThisMode">inWhatsThisMode</a>()
+<li><a href="qwhatsthis.html#leaveWhatsThisMode">leaveWhatsThisMode</a>()
+<li><a href="qwhatsthis.html#remove">remove</a>()
+<li><a href="qwhatsthis.html#setFont">setFont</a>()
+<li><a href="qwhatsthis.html#text">text</a>()
+<li><a href="qwhatsthis.html#textFor">textFor</a>()
+<li><a href="qwhatsthis.html#whatsThisButton">whatsThisButton</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwhatsthis.html b/doc/html/qwhatsthis.html
new file mode 100644
index 0000000..eafc62f
--- /dev/null
+++ b/doc/html/qwhatsthis.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qwhatsthis.cpp:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWhatsThis Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWhatsThis Class Reference</h1>
+
+<p>The QWhatsThis class provides a simple description of any
+widget, i.e. answering the question "What's this?".
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwhatsthis-h.html">qwhatsthis.h</a>&gt;</tt>
+<p>Inherits <a href="qt.html">Qt</a>.
+<p><a href="qwhatsthis-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWhatsThis"><b>QWhatsThis</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual <a href="#~QWhatsThis"><b>~QWhatsThis</b></a> ()</li>
+<li class=fn>virtual QString <a href="#text"><b>text</b></a> ( const QPoint &amp; )</li>
+<li class=fn>virtual bool <a href="#clicked"><b>clicked</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;href )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#setFont"><b>setFont</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;font )</li>
+<li class=fn>void <a href="#add"><b>add</b></a> ( QWidget&nbsp;*&nbsp;widget, const&nbsp;QString&nbsp;&amp;&nbsp;text )</li>
+<li class=fn>void <a href="#remove"><b>remove</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>QString <a href="#textFor"><b>textFor</b></a> ( QWidget&nbsp;*&nbsp;w, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos = QPoint ( ), bool&nbsp;includeParents = FALSE )</li>
+<li class=fn>QToolButton * <a href="#whatsThisButton"><b>whatsThisButton</b></a> ( QWidget&nbsp;*&nbsp;parent )</li>
+<li class=fn>void <a href="#enterWhatsThisMode"><b>enterWhatsThisMode</b></a> ()</li>
+<li class=fn>bool <a href="#inWhatsThisMode"><b>inWhatsThisMode</b></a> ()</li>
+<li class=fn>void <a href="#leaveWhatsThisMode"><b>leaveWhatsThisMode</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text = QString::null, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos = QCursor::pos ( ), QWidget&nbsp;*&nbsp;w = 0 )</li>
+<li class=fn>void <a href="#display"><b>display</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;text, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos = QCursor::pos ( ), QWidget&nbsp;*&nbsp;w = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWhatsThis class provides a simple description of any
+widget, i.e. answering the question "What's this?".
+<p>
+
+<p> "What's this?" help is part of an application's online <a href="helpsystem.html#help-system">help system</a>
+that provides users with information about functionality, usage,
+background etc., in various levels of detail from short tool tips
+to full text browsing help windows.
+<p> QWhatsThis provides a single window with an explanatory text that
+pops up when the user asks "What's this?". The default way to do
+this is to focus the relevant widget and press Shift+F1. The help
+text appears immediately; it goes away as soon as the user does
+something else.
+<p> (Note that if there is an accelerator for Shift+F1, this mechanism
+will not work.)
+<p> To add "What's this?" text to a widget you simply call
+<a href="#add">QWhatsThis::add</a>() for the widget. For example, to assign text to a
+menu item, call <a href="qmenudata.html#setWhatsThis">QMenuData::setWhatsThis</a>(); for a global
+accelerator key, call <a href="qaccel.html#setWhatsThis">QAccel::setWhatsThis</a>() and If you're using
+actions, use <a href="qaction.html#setWhatsThis">QAction::setWhatsThis</a>().
+<p> The text can be either rich text or plain text. If you specify a
+rich text formatted string, it will be rendered using the default
+stylesheet. This makes it possible to embed images. See
+<a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>() for details.
+<p>
+
+<pre> const char * fileOpenText = "&lt;p&gt;&lt;img source=\"fileopen\"&gt; "
+ "Click this button to open a &lt;em&gt;new file&lt;/em&gt;. &lt;br&gt;"
+ "You can also select the &lt;b&gt;Open&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+ <a name="x2104"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen",
+ <a name="x2102"></a> fileOpenAction-&gt;<a href="qaction.html#iconSet">iconSet</a>().pixmap() );
+ <a name="x2103"></a> fileOpenAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileOpenText );
+</pre>
+<p> An alternative way to enter "What's this?" mode is to use the
+ready-made tool bar tool button from
+<a href="#whatsThisButton">QWhatsThis::whatsThisButton</a>(). By invoking this context help
+button (in the picture below the first one from the right) the
+user switches into "What's this?" mode. If they now click on a
+widget the appropriate help text is shown. The mode is left when
+help is given or when the user presses Esc.
+<p> <center><img src="whatsthis.png"></center>
+<p> If you are using <a href="qmainwindow.html">QMainWindow</a> you can also use the
+<a href="qmainwindow.html#whatsThis">QMainWindow::whatsThis</a>() slot to invoke the mode from a menu item.
+<p> For more control you can create a dedicated QWhatsThis object for
+a special widget. By subclassing and reimplementing
+<a href="#text">QWhatsThis::text</a>() it is possible to have different help texts,
+depending on the position of the mouse click. By reimplementing
+<a href="#clicked">QWhatsThis::clicked</a>() it is possible to have hyperlinks inside the
+help texts.
+<p> If you wish to control the "What's this?" behavior of a widget
+manually see <a href="qwidget.html#customWhatsThis">QWidget::customWhatsThis</a>().
+<p> The What's This object can be removed using <a href="#remove">QWhatsThis::remove</a>(),
+although this is rarely necessary because it is automatically
+removed when the widget is destroyed.
+<p> <p>See also <a href="qtooltip.html">QToolTip</a> and <a href="helpsystem.html">Help System</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWhatsThis"></a>QWhatsThis::QWhatsThis ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )
+</h3>
+Constructs a dynamic "What's this?" object for <em>widget</em>. The
+object is deleted when the <em>widget</em> is destroyed.
+<p> When the widget is queried by the user the <a href="#text">text</a>() function of this
+QWhatsThis will be called to provide the appropriate text, rather
+than using the text assigned by <a href="#add">add</a>().
+
+<h3 class=fn><a name="~QWhatsThis"></a>QWhatsThis::~QWhatsThis ()<tt> [virtual]</tt>
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="add"></a>QWhatsThis::add ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [static]</tt>
+</h3>
+Adds <em>text</em> as "What's this" help for <em>widget</em>. If the text is
+rich text formatted (i.e. it contains markup) it will be rendered
+with the default stylesheet <a href="qstylesheet.html#defaultSheet">QStyleSheet::defaultSheet</a>().
+<p> The text is destroyed if the widget is later destroyed, so it need
+not be explicitly removed.
+<p> <p>See also <a href="#remove">remove</a>().
+
+<p>Examples: <a href="simple-application-example.html#x1591">application/application.cpp</a>, <a href="helpsystem-example.html#x2698">helpsystem/mainwindow.cpp</a>, and <a href="mdi-example.html#x2075">mdi/application.cpp</a>.
+<h3 class=fn>bool <a name="clicked"></a>QWhatsThis::clicked ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;href )<tt> [virtual]</tt>
+</h3>
+
+<p> This virtual function is called when the user clicks inside the
+"What's this?" window. <em>href</em> is the link the user clicked on, or
+<a href="qstring.html#QString-null">QString::null</a> if there was no link.
+<p> If the function returns TRUE (the default), the "What's this?"
+window is closed, otherwise it remains visible.
+<p> The default implementation ignores <em>href</em> and returns TRUE.
+
+<h3 class=fn>void <a name="display"></a>QWhatsThis::display ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos = QCursor::pos ( ), <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w = 0 )<tt> [static]</tt>
+</h3>
+Display <em>text</em> in a help window at the global screen position <em>pos</em>.
+<p> If widget <em>w</em> is not 0 and has its own dedicated QWhatsThis
+object, this object will receive <a href="#clicked">clicked</a>() messages when the user
+clicks on hyperlinks inside the help text.
+<p> <p>See also <a href="#clicked">QWhatsThis::clicked</a>().
+
+<h3 class=fn>void <a name="enterWhatsThisMode"></a>QWhatsThis::enterWhatsThisMode ()<tt> [static]</tt>
+</h3>
+Enters "What's this?" mode and returns immediately.
+<p> Qt will install a special cursor and take over mouse input until
+the user clicks somewhere. It then shows any help available and
+ends "What's this?" mode. Finally, Qt removes the special cursor
+and help window and then restores ordinary event processing, at
+which point the left mouse button is no longer pressed.
+<p> The user can also use the Esc key to leave "What's this?" mode.
+<p> <p>See also <a href="#inWhatsThisMode">inWhatsThisMode</a>() and <a href="#leaveWhatsThisMode">leaveWhatsThisMode</a>().
+
+<h3 class=fn>bool <a name="inWhatsThisMode"></a>QWhatsThis::inWhatsThisMode ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the application is in "What's this?" mode;
+otherwise returns FALSE.
+<p> <p>See also <a href="#enterWhatsThisMode">enterWhatsThisMode</a>() and <a href="#leaveWhatsThisMode">leaveWhatsThisMode</a>().
+
+<h3 class=fn>void <a name="leaveWhatsThisMode"></a>QWhatsThis::leaveWhatsThisMode ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text = QString::null, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos = QCursor::pos ( ), <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w = 0 )<tt> [static]</tt>
+</h3>
+Leaves "What's this?" question mode.
+<p> This function is used internally by widgets that support
+<a href="qwidget.html#customWhatsThis">QWidget::customWhatsThis</a>(); applications do not usually call it.
+An example of such a widget is QPopupMenu: menus still work
+normally in "What's this?" mode but also provide help texts for
+individual menu items.
+<p> If <em>text</em> is not <a href="qstring.html#QString-null">QString::null</a>, a "What's this?" help window is
+displayed at the global screen position <em>pos</em>. If widget <em>w</em> is
+not 0 and has its own dedicated QWhatsThis object, this object
+will receive <a href="#clicked">clicked</a>() messages when the user clicks on hyperlinks
+inside the help text.
+<p> <p>See also <a href="#inWhatsThisMode">inWhatsThisMode</a>(), <a href="#enterWhatsThisMode">enterWhatsThisMode</a>(), and <a href="#clicked">QWhatsThis::clicked</a>().
+
+<h3 class=fn>void <a name="remove"></a>QWhatsThis::remove ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [static]</tt>
+</h3>
+Removes the "What's this?" help associated with the <em>widget</em>.
+This happens automatically if the widget is destroyed.
+<p> <p>See also <a href="#add">add</a>().
+
+<h3 class=fn>void <a name="setFont"></a>QWhatsThis::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;font )<tt> [static]</tt>
+</h3>
+Sets the font for all "What's this?" helps to <em>font</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="text"></a>QWhatsThis::text ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3>
+This virtual function returns the text for position <em>p</em> in the
+widget that this "What's this?" object documents. If there is no
+"What's this?" text for the position, <a href="qstring.html#QString-null">QString::null</a> is returned.
+<p> The default implementation returns QString::null.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="textFor"></a>QWhatsThis::textFor ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos = QPoint ( ), bool&nbsp;includeParents = FALSE )<tt> [static]</tt>
+</h3>
+Returns the what's this text for widget <em>w</em> or <a href="qstring.html#QString-null">QString::null</a> if
+there is no "What's this?" help for the widget. <em>pos</em> contains
+the mouse position; this is useful, for example, if you've
+subclassed to make the text that is displayed position dependent.
+<p> If <em>includeParents</em> is TRUE, parent widgets are taken into
+consideration as well when looking for what's this help text.
+<p> <p>See also <a href="#add">add</a>().
+
+<h3 class=fn><a href="qtoolbutton.html">QToolButton</a>&nbsp;* <a name="whatsThisButton"></a>QWhatsThis::whatsThisButton ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent )<tt> [static]</tt>
+</h3>
+Creates a <a href="qtoolbutton.html">QToolButton</a> preconfigured to enter "What's this?" mode
+when clicked. You will often use this with a tool bar as <em>parent</em>:
+<pre>
+ (void) QWhatsThis::whatsThisButton( my_help_tool_bar );
+ </pre>
+
+
+<p>Example: <a href="helpsystem-example.html#x2699">helpsystem/mainwindow.cpp</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwheelevent-members.html b/doc/html/qwheelevent-members.html
new file mode 100644
index 0000000..36e27aa
--- /dev/null
+++ b/doc/html/qwheelevent-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qevent.h:202 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWheelEvent Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWheelEvent</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwheelevent.html">QWheelEvent</a>, including inherited members.
+
+<ul>
+<li><a href="qwheelevent.html#QWheelEvent">QWheelEvent</a>()
+<li><a href="qwheelevent.html#accept">accept</a>()
+<li><a href="qwheelevent.html#delta">delta</a>()
+<li><a href="qwheelevent.html#globalPos">globalPos</a>()
+<li><a href="qwheelevent.html#globalX">globalX</a>()
+<li><a href="qwheelevent.html#globalY">globalY</a>()
+<li><a href="qwheelevent.html#ignore">ignore</a>()
+<li><a href="qwheelevent.html#isAccepted">isAccepted</a>()
+<li><a href="qwheelevent.html#orientation">orientation</a>()
+<li><a href="qwheelevent.html#pos">pos</a>()
+<li><a href="qevent.html#spontaneous">spontaneous</a>()
+<li><a href="qwheelevent.html#state">state</a>()
+<li><a href="qevent.html#type">type</a>()
+<li><a href="qwheelevent.html#x">x</a>()
+<li><a href="qwheelevent.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwheelevent.html b/doc/html/qwheelevent.html
new file mode 100644
index 0000000..3ea9ef1
--- /dev/null
+++ b/doc/html/qwheelevent.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:479 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWheelEvent Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWheelEvent Class Reference</h1>
+
+<p>The QWheelEvent class contains parameters that describe a wheel event.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;</tt>
+<p>Inherits <a href="qevent.html">QEvent</a>.
+<p><a href="qwheelevent-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWheelEvent"><b>QWheelEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;delta, int&nbsp;state, Orientation&nbsp;orient = Vertical )</li>
+<li class=fn><a href="#QWheelEvent-2"><b>QWheelEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QPoint&nbsp;&amp;&nbsp;globalPos, int&nbsp;delta, int&nbsp;state, Orientation&nbsp;orient = Vertical )</li>
+<li class=fn>int <a href="#delta"><b>delta</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>const QPoint &amp; <a href="#globalPos"><b>globalPos</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>int <a href="#globalX"><b>globalX</b></a> () const</li>
+<li class=fn>int <a href="#globalY"><b>globalY</b></a> () const</li>
+<li class=fn>ButtonState <a href="#state"><b>state</b></a> () const</li>
+<li class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</li>
+<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
+<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
+<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWheelEvent class contains parameters that describe a wheel event.
+<p>
+<p> Wheel events are sent to the widget under the mouse, and if that widget
+does not handle the event they are sent to the focus widget. The rotation
+distance is provided by <a href="#delta">delta</a>(). The functions <a href="#pos">pos</a>() and <a href="#globalPos">globalPos</a>() return
+the mouse pointer location at the time of the event.
+<p> A wheel event contains a special accept flag that indicates
+whether the receiver wants the event. You should call
+<a href="#accept">QWheelEvent::accept</a>() if you handle the wheel event; otherwise it
+will be sent to the parent widget.
+<p> The QWidget::setEnable() function can be used to enable or disable
+mouse and keyboard events for a widget.
+<p> The event handler <a href="qwidget.html#wheelEvent">QWidget::wheelEvent</a>() receives wheel events.
+<p> <p>See also <a href="qmouseevent.html">QMouseEvent</a>, <a href="qwidget.html#grabMouse">QWidget::grabMouse</a>(), and <a href="events.html">Event Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWheelEvent"></a>QWheelEvent::QWheelEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;delta, int&nbsp;state, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orient = Vertical )
+</h3>
+
+<p> Constructs a wheel event object.
+<p> The <a href="#globalPos">globalPos</a>() is initialized to <a href="qcursor.html#pos">QCursor::pos</a>(), i.e. <em>pos</em>,
+which is usually (but not always) right. Use the other constructor
+if you need to specify the global position explicitly. <em>delta</em>
+contains the rotation distance, <em>state</em> holds the keyboard
+modifier flags at the time of the event and <em>orient</em> holds the
+wheel's orientation.
+<p> <p>See also <a href="#pos">pos</a>(), <a href="#delta">delta</a>(), and <a href="#state">state</a>().
+
+<h3 class=fn><a name="QWheelEvent-2"></a>QWheelEvent::QWheelEvent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;globalPos, int&nbsp;delta, int&nbsp;state, <a href="qt.html#Orientation-enum">Orientation</a>&nbsp;orient = Vertical )
+</h3>
+
+<p> Constructs a wheel event object. The position when the event
+occurred is given in <em>pos</em> and <em>globalPos</em>. <em>delta</em> contains
+the rotation distance, <em>state</em> holds the keyboard modifier flags
+at the time of the event and <em>orient</em> holds the wheel's
+orientation.
+<p> <p>See also <a href="#pos">pos</a>(), <a href="#globalPos">globalPos</a>(), <a href="#delta">delta</a>(), and <a href="#state">state</a>().
+
+<h3 class=fn>void <a name="accept"></a>QWheelEvent::accept ()
+</h3>
+
+<p> Sets the accept flag of the wheel event object.
+<p> Setting the accept parameter indicates that the receiver of the
+event wants the wheel event. Unwanted wheel events are sent to the
+parent widget.
+<p> The accept flag is set by default.
+<p> <p>See also <a href="#ignore">ignore</a>().
+
+<h3 class=fn>int <a name="delta"></a>QWheelEvent::delta () const
+</h3>
+
+<p> Returns the distance that the wheel is rotated expressed in
+multiples or divisions of the <em>wheel delta</em>, which is currently
+defined to be 120. A positive value indicates that the wheel was
+rotated forwards away from the user; a negative value indicates
+that the wheel was rotated backwards toward the user.
+<p> The <em>wheel delta</em> constant was defined to be 120 by wheel mouse
+vendors to allow building finer-resolution wheels in the future,
+including perhaps a freely rotating wheel with no notches. The
+expectation is that such a device would send more messages per
+rotation but with a smaller value in each message.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="globalPos"></a>QWheelEvent::globalPos () const
+</h3>
+
+<p> Returns the global position of the mouse pointer <em>at the time of the event</em>. This is important on asynchronous window systems
+such as X11; whenever you move your widgets around in response to
+mouse events, <a href="#globalPos">globalPos</a>() can differ a lot from the current
+pointer position <a href="qcursor.html#pos">QCursor::pos</a>().
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalY">globalY</a>().
+
+<h3 class=fn>int <a name="globalX"></a>QWheelEvent::globalX () const
+</h3>
+
+<p> Returns the global x-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>int <a name="globalY"></a>QWheelEvent::globalY () const
+</h3>
+
+<p> Returns the global y-position of the mouse pointer at the time of
+the event.
+<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn>void <a name="ignore"></a>QWheelEvent::ignore ()
+</h3>
+
+<p> Clears the accept flag parameter of the wheel event object.
+<p> Clearing the accept parameter indicates that the event receiver
+does not want the wheel event. Unwanted wheel events are sent to
+the parent widget. The accept flag is set by default.
+<p> <p>See also <a href="#accept">accept</a>().
+
+<h3 class=fn>bool <a name="isAccepted"></a>QWheelEvent::isAccepted () const
+</h3>
+
+<p> Returns TRUE if the receiver of the event handles the wheel event;
+otherwise returns FALSE.
+
+<h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QWheelEvent::orientation () const
+</h3>
+
+<p> Returns the wheel's orientation.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QWheelEvent::pos () const
+</h3>
+
+<p> Returns the position of the mouse pointer, relative to the widget
+that received the event.
+<p> If you move your widgets around in response to mouse
+events, use <a href="#globalPos">globalPos</a>() instead of this function.
+<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#globalPos">globalPos</a>().
+
+<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="state"></a>QWheelEvent::state () const
+</h3>
+
+<p> Returns the keyboard modifier flags of the event.
+<p> The returned value is <a href="qt.html#ButtonState-enum">ShiftButton</a>, <a href="qt.html#ButtonState-enum">ControlButton</a>, and <a href="qt.html#ButtonState-enum">AltButton</a> OR'ed together.
+
+<h3 class=fn>int <a name="x"></a>QWheelEvent::x () const
+</h3>
+
+<p> Returns the x-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#y">y</a>() and <a href="#pos">pos</a>().
+
+<h3 class=fn>int <a name="y"></a>QWheelEvent::y () const
+</h3>
+
+<p> Returns the y-position of the mouse pointer, relative to the
+widget that received the event.
+<p> <p>See also <a href="#x">x</a>() and <a href="#pos">pos</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidget-h.html b/doc/html/qwidget-h.html
new file mode 100644
index 0000000..5a5aca4
--- /dev/null
+++ b/doc/html/qwidget-h.html
@@ -0,0 +1,1071 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwidget.h</h1>
+
+<p>This is the verbatim text of the qwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwidget.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QWidget class
+**
+** Created : 931029
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWIDGET_H
+#define QWIDGET_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qobject.h"
+#include "qpaintdevice.h"
+#include "qpalette.h"
+#include "qfont.h"
+#include "qfontmetrics.h"
+#include "qfontinfo.h"
+#include "qsizepolicy.h"
+#endif // QT_H
+
+class QLayout;
+struct QWExtra;
+struct QTLWExtra;
+class QFocusData;
+class QCursor;
+class QWSRegionManager;
+class QStyle;
+
+class Q_EXPORT QWidget : public QObject, public QPaintDevice
+{
+ Q_OBJECT
+ Q_ENUMS( BackgroundMode FocusPolicy BackgroundOrigin )
+ Q_PROPERTY( bool isTopLevel READ isTopLevel )
+ Q_PROPERTY( bool isDialog READ isDialog )
+ Q_PROPERTY( bool isModal READ isModal )
+ Q_PROPERTY( bool isPopup READ isPopup )
+ Q_PROPERTY( bool isDesktop READ isDesktop )
+ Q_PROPERTY( bool enabled READ isEnabled WRITE setEnabled )
+ Q_PROPERTY( QRect geometry READ geometry WRITE setGeometry )
+ Q_PROPERTY( QRect frameGeometry READ frameGeometry )
+ Q_PROPERTY( int x READ x )
+ Q_PROPERTY( int y READ y )
+ Q_PROPERTY( QPoint pos READ pos WRITE move DESIGNABLE false STORED false )
+ Q_PROPERTY( QSize frameSize READ frameSize )
+ Q_PROPERTY( QSize size READ size WRITE resize DESIGNABLE false STORED false )
+ Q_PROPERTY( int width READ width )
+ Q_PROPERTY( int height READ height )
+ Q_PROPERTY( QRect rect READ rect )
+ Q_PROPERTY( QRect childrenRect READ childrenRect )
+ Q_PROPERTY( QRegion childrenRegion READ childrenRegion )
+ Q_PROPERTY( QSizePolicy sizePolicy READ sizePolicy WRITE setSizePolicy )
+ Q_PROPERTY( QSize minimumSize READ minimumSize WRITE setMinimumSize )
+ Q_PROPERTY( QSize maximumSize READ maximumSize WRITE setMaximumSize )
+ Q_PROPERTY( int minimumWidth READ minimumWidth WRITE setMinimumWidth STORED false DESIGNABLE false )
+ Q_PROPERTY( int minimumHeight READ minimumHeight WRITE setMinimumHeight STORED false DESIGNABLE false )
+ Q_PROPERTY( int maximumWidth READ maximumWidth WRITE setMaximumWidth STORED false DESIGNABLE false )
+ Q_PROPERTY( int maximumHeight READ maximumHeight WRITE setMaximumHeight STORED false DESIGNABLE false )
+ Q_PROPERTY( QSize sizeIncrement READ sizeIncrement WRITE setSizeIncrement )
+ Q_PROPERTY( QSize baseSize READ baseSize WRITE setBaseSize )
+ Q_PROPERTY( BackgroundMode backgroundMode READ backgroundMode WRITE setBackgroundMode DESIGNABLE false )
+ Q_PROPERTY( QColor paletteForegroundColor READ paletteForegroundColor WRITE setPaletteForegroundColor RESET unsetPalette )
+ Q_PROPERTY( QColor paletteBackgroundColor READ paletteBackgroundColor WRITE setPaletteBackgroundColor RESET unsetPalette )
+ Q_PROPERTY( QPixmap paletteBackgroundPixmap READ paletteBackgroundPixmap WRITE setPaletteBackgroundPixmap RESET unsetPalette )
+ Q_PROPERTY( QBrush backgroundBrush READ backgroundBrush )
+ Q_PROPERTY( QColorGroup colorGroup READ colorGroup )
+ Q_PROPERTY( QPalette palette READ palette WRITE setPalette RESET unsetPalette STORED ownPalette )
+ Q_PROPERTY( BackgroundOrigin backgroundOrigin READ backgroundOrigin WRITE setBackgroundOrigin )
+ Q_PROPERTY( bool ownPalette READ ownPalette )
+ Q_PROPERTY( QFont font READ font WRITE setFont RESET unsetFont STORED ownFont )
+ Q_PROPERTY( bool ownFont READ ownFont )
+#ifndef QT_NO_CURSOR
+ Q_PROPERTY( QCursor cursor READ cursor WRITE setCursor RESET unsetCursor STORED ownCursor )
+ Q_PROPERTY( bool ownCursor READ ownCursor )
+#endif
+#ifndef QT_NO_WIDGET_TOPEXTRA
+ Q_PROPERTY( QString caption READ caption WRITE setCaption )
+ Q_PROPERTY( QPixmap icon READ icon WRITE setIcon )
+ Q_PROPERTY( QString iconText READ iconText WRITE setIconText )
+#endif
+ Q_PROPERTY( bool mouseTracking READ hasMouseTracking WRITE setMouseTracking )
+ Q_PROPERTY( bool underMouse READ hasMouse )
+ Q_PROPERTY( bool isActiveWindow READ isActiveWindow )
+ Q_PROPERTY( bool focusEnabled READ isFocusEnabled )
+ Q_PROPERTY( FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy )
+ Q_PROPERTY( bool focus READ hasFocus )
+ Q_PROPERTY( bool updatesEnabled READ isUpdatesEnabled WRITE setUpdatesEnabled DESIGNABLE false )
+ Q_PROPERTY( bool visible READ isVisible )
+ Q_PROPERTY( QRect visibleRect READ visibleRect ) // obsolete
+ Q_PROPERTY( bool hidden READ isHidden WRITE setHidden DESIGNABLE false SCRIPTABLE false )
+ Q_PROPERTY( bool shown READ isShown WRITE setShown DESIGNABLE false SCRIPTABLE false )
+ Q_PROPERTY( bool minimized READ isMinimized )
+ Q_PROPERTY( bool maximized READ isMaximized )
+ Q_PROPERTY( bool fullScreen READ isFullScreen )
+ Q_PROPERTY( QSize sizeHint READ sizeHint )
+ Q_PROPERTY( QSize minimumSizeHint READ minimumSizeHint )
+ Q_PROPERTY( QRect microFocusHint READ microFocusHint )
+ Q_PROPERTY( bool acceptDrops READ acceptDrops WRITE setAcceptDrops )
+ Q_PROPERTY( bool autoMask READ autoMask WRITE setAutoMask DESIGNABLE false SCRIPTABLE false )
+ Q_PROPERTY( bool customWhatsThis READ customWhatsThis )
+ Q_PROPERTY( bool inputMethodEnabled READ isInputMethodEnabled WRITE setInputMethodEnabled DESIGNABLE false SCRIPTABLE false )
+ Q_PROPERTY( double windowOpacity READ windowOpacity WRITE setWindowOpacity DESIGNABLE false )
+
+public:
+ Q_EXPLICIT QWidget( QWidget* parent=0, const char* name=0, WFlags f=0 );
+ ~QWidget();
+
+ WId winId() const;
+ void setName( const char *name );
+#ifndef QT_NO_STYLE
+ // GUI style setting
+
+ QStyle &amp;style() const;
+ void setStyle( QStyle * );
+ QStyle* setStyle( const QString&amp; );
+#endif
+ // Widget types and states
+
+ bool isTopLevel() const;
+ bool isDialog() const;
+ bool isPopup() const;
+ bool isDesktop() const;
+ bool isModal() const;
+
+ bool isEnabled() const;
+ bool isEnabledTo(QWidget*) const;
+ bool isEnabledToTLW() const;
+
+public slots:
+ virtual void setEnabled( bool );
+ void setDisabled( bool );
+
+ // Widget coordinates
+
+public:
+ QRect frameGeometry() const;
+ const QRect &amp;geometry() const;
+ int x() const;
+ int y() const;
+ QPoint pos() const;
+ QSize frameSize() const;
+ QSize size() const;
+ int width() const;
+ int height() const;
+ QRect rect() const;
+ QRect childrenRect() const;
+ QRegion childrenRegion() const;
+
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ int minimumWidth() const;
+ int minimumHeight() const;
+ int maximumWidth() const;
+ int maximumHeight() const;
+ void setMinimumSize( const QSize &amp; );
+ virtual void setMinimumSize( int minw, int minh );
+ void setMaximumSize( const QSize &amp; );
+ virtual void setMaximumSize( int maxw, int maxh );
+ void setMinimumWidth( int minw );
+ void setMinimumHeight( int minh );
+ void setMaximumWidth( int maxw );
+ void setMaximumHeight( int maxh );
+
+ QSize sizeIncrement() const;
+ void setSizeIncrement( const QSize &amp; );
+ virtual void setSizeIncrement( int w, int h );
+ QSize baseSize() const;
+ void setBaseSize( const QSize &amp; );
+ void setBaseSize( int basew, int baseh );
+
+ void setFixedSize( const QSize &amp; );
+ void setFixedSize( int w, int h );
+ void setFixedWidth( int w );
+ void setFixedHeight( int h );
+
+ // Widget coordinate mapping
+
+ QPoint mapToGlobal( const QPoint &amp; ) const;
+ QPoint mapFromGlobal( const QPoint &amp; ) const;
+ QPoint mapToParent( const QPoint &amp; ) const;
+ QPoint mapFromParent( const QPoint &amp; ) const;
+ QPoint mapTo( QWidget *, const QPoint &amp; ) const;
+ QPoint mapFrom( QWidget *, const QPoint &amp; ) const;
+
+ QWidget *topLevelWidget() const;
+
+ // Widget attribute functions
+
+ BackgroundMode backgroundMode() const;
+ virtual void setBackgroundMode( BackgroundMode );
+ void setBackgroundMode( BackgroundMode, BackgroundMode );
+
+ const QColor &amp; foregroundColor() const;
+
+ const QColor &amp; eraseColor() const;
+ virtual void setEraseColor( const QColor &amp; );
+
+ const QPixmap * erasePixmap() const;
+ virtual void setErasePixmap( const QPixmap &amp; );
+
+#ifndef QT_NO_PALETTE
+ const QColorGroup &amp; colorGroup() const;
+ const QPalette &amp; palette() const;
+ bool ownPalette() const;
+ virtual void setPalette( const QPalette &amp; );
+ void unsetPalette();
+#endif
+
+ const QColor &amp; paletteForegroundColor() const;
+ void setPaletteForegroundColor( const QColor &amp; );
+
+ const QColor &amp; paletteBackgroundColor() const;
+ virtual void setPaletteBackgroundColor( const QColor &amp; );
+
+ const QPixmap * paletteBackgroundPixmap() const;
+ virtual void setPaletteBackgroundPixmap( const QPixmap &amp; );
+
+ const QBrush&amp; backgroundBrush() const;
+
+ QFont font() const;
+ bool ownFont() const;
+ virtual void setFont( const QFont &amp; );
+ void unsetFont();
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+
+#ifndef QT_NO_CURSOR
+ const QCursor &amp;cursor() const;
+ bool ownCursor() const;
+ virtual void setCursor( const QCursor &amp; );
+ virtual void unsetCursor();
+#endif
+#ifndef QT_NO_WIDGET_TOPEXTRA
+ QString caption() const;
+ const QPixmap *icon() const;
+ QString iconText() const;
+#endif
+ bool hasMouseTracking() const;
+ bool hasMouse() const;
+
+ virtual void setMask( const QBitmap &amp; );
+ virtual void setMask( const QRegion &amp; );
+ void clearMask();
+
+ const QColor &amp; backgroundColor() const; // obsolete, use eraseColor()
+ virtual void setBackgroundColor( const QColor &amp; ); // obsolete, use setEraseColor()
+ const QPixmap * backgroundPixmap() const; // obsolete, use erasePixmap()
+ virtual void setBackgroundPixmap( const QPixmap &amp; ); // obsolete, use setErasePixmap()
+
+public slots:
+#ifndef QT_NO_WIDGET_TOPEXTRA
+ virtual void setCaption( const QString &amp;);
+ virtual void setIcon( const QPixmap &amp; );
+ virtual void setIconText( const QString &amp;);
+#endif
+ virtual void setMouseTracking( bool enable );
+
+ // Keyboard input focus functions
+
+ virtual void setFocus();
+ void clearFocus();
+
+public:
+ enum FocusPolicy {
+ NoFocus = 0,
+ TabFocus = 0x1,
+ ClickFocus = 0x2,
+ StrongFocus = TabFocus | ClickFocus | 0x8,
+ WheelFocus = StrongFocus | 0x4
+ };
+
+ bool isActiveWindow() const;
+ virtual void setActiveWindow();
+ bool isFocusEnabled() const;
+
+ FocusPolicy focusPolicy() const;
+ virtual void setFocusPolicy( FocusPolicy );
+ bool hasFocus() const;
+ static void setTabOrder( QWidget *, QWidget * );
+ virtual void setFocusProxy( QWidget * );
+ QWidget * focusProxy() const;
+
+ void setInputMethodEnabled( bool b );
+ bool isInputMethodEnabled() const;
+ // Grab functions
+
+ void grabMouse();
+#ifndef QT_NO_CURSOR
+ void grabMouse( const QCursor &amp; );
+#endif
+ void releaseMouse();
+ void grabKeyboard();
+ void releaseKeyboard();
+ static QWidget * mouseGrabber();
+ static QWidget * keyboardGrabber();
+
+ // Update/refresh functions
+
+ bool isUpdatesEnabled() const;
+
+#if 0 //def Q_WS_QWS
+ void repaintUnclipped( const QRegion &amp;, bool erase = TRUE );
+#endif
+public slots:
+ virtual void setUpdatesEnabled( bool enable );
+ void update();
+ void update( int x, int y, int w, int h );
+ void update( const QRect&amp; );
+ void repaint();
+ void repaint( bool erase );
+ void repaint( int x, int y, int w, int h, bool erase=TRUE );
+ void repaint( const QRect &amp;, bool erase = TRUE );
+ void repaint( const QRegion &amp;, bool erase = TRUE );
+
+ // Widget management functions
+
+ virtual void show();
+ virtual void hide();
+ void setShown( bool show );
+ void setHidden( bool hide );
+#ifndef QT_NO_COMPAT
+ void iconify() { showMinimized(); }
+#endif
+ virtual void showMinimized();
+ virtual void showMaximized();
+ void showFullScreen();
+ virtual void showNormal();
+ virtual void polish();
+ void constPolish() const;
+ bool close();
+
+ void raise();
+ void lower();
+ void stackUnder( QWidget* );
+ virtual void move( int x, int y );
+ void move( const QPoint &amp; );
+ virtual void resize( int w, int h );
+ void resize( const QSize &amp; );
+ virtual void setGeometry( int x, int y, int w, int h );
+ virtual void setGeometry( const QRect &amp; ); // ### make non virtual in Qt 4?
+
+public:
+ virtual bool close( bool alsoDelete );
+ bool isVisible() const;
+ bool isVisibleTo(QWidget*) const;
+ bool isVisibleToTLW() const; // obsolete
+ QRect visibleRect() const; // obsolete
+ bool isHidden() const;
+ bool isShown() const;
+ bool isMinimized() const;
+ bool isMaximized() const;
+ bool isFullScreen() const;
+
+ uint windowState() const;
+ void setWindowState(uint windowState);
+
+ virtual QSize sizeHint() const;
+ virtual QSize minimumSizeHint() const;
+ virtual QSizePolicy sizePolicy() const;
+ virtual void setSizePolicy( QSizePolicy );
+ void setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE );
+ virtual int heightForWidth(int) const;
+
+ QRegion clipRegion() const;
+
+// ### move together with other slots in Qt 4.0
+public slots:
+ virtual void adjustSize();
+
+public:
+#ifndef QT_NO_LAYOUT
+ QLayout * layout() const { return lay_out; }
+#endif
+ void updateGeometry();
+ virtual void reparent( QWidget *parent, WFlags, const QPoint &amp;,
+ bool showIt=FALSE );
+ void reparent( QWidget *parent, const QPoint &amp;,
+ bool showIt=FALSE );
+#ifndef QT_NO_COMPAT
+ void recreate( QWidget *parent, WFlags f, const QPoint &amp; p,
+ bool showIt=FALSE ) { reparent(parent,f,p,showIt); }
+#endif
+
+ void erase();
+ void erase( int x, int y, int w, int h );
+ void erase( const QRect &amp; );
+ void erase( const QRegion &amp; );
+ void scroll( int dx, int dy );
+ void scroll( int dx, int dy, const QRect&amp; );
+
+ void drawText( int x, int y, const QString &amp;);
+ void drawText( const QPoint &amp;, const QString &amp;);
+
+ // Misc. functions
+
+ QWidget * focusWidget() const;
+ QRect microFocusHint() const;
+
+ // drag and drop
+
+ bool acceptDrops() const;
+ virtual void setAcceptDrops( bool on );
+
+ // transparency and pseudo transparency
+
+ virtual void setAutoMask(bool);
+ bool autoMask() const;
+
+ enum BackgroundOrigin { WidgetOrigin, ParentOrigin, WindowOrigin, AncestorOrigin };
+
+ virtual void setBackgroundOrigin( BackgroundOrigin );
+ BackgroundOrigin backgroundOrigin() const;
+ QPoint backgroundOffset() const;
+
+ // whats this help
+ virtual bool customWhatsThis() const;
+
+ QWidget * parentWidget( bool sameWindow = FALSE ) const;
+ WState testWState( WState s ) const;
+ WFlags testWFlags( WFlags f ) const;
+ static QWidget * find( WId );
+ static QWidgetMapper *wmapper();
+
+ QWidget *childAt( int x, int y, bool includeThis = FALSE ) const;
+ QWidget *childAt( const QPoint &amp;, bool includeThis = FALSE ) const;
+
+#if defined(Q_WS_QWS)
+ virtual QGfx * graphicsContext(bool clip_children=TRUE) const;
+#endif
+#if defined(Q_WS_MAC)
+ QRegion clippedRegion(bool do_children=TRUE);
+ uint clippedSerial(bool do_children=TRUE);
+#ifndef QMAC_NO_QUARTZ
+ CGContextRef macCGContext(bool clipped=TRUE) const;
+#endif
+#endif
+
+ void setWindowOpacity(double level);
+ double windowOpacity() const;
+
+protected:
+ // Event handlers
+ bool event( QEvent * );
+ virtual void mousePressEvent( QMouseEvent * );
+ virtual void mouseReleaseEvent( QMouseEvent * );
+ virtual void mouseDoubleClickEvent( QMouseEvent * );
+ virtual void mouseMoveEvent( QMouseEvent * );
+#ifndef QT_NO_WHEELEVENT
+ virtual void wheelEvent( QWheelEvent * );
+#endif
+ virtual void keyPressEvent( QKeyEvent * );
+ virtual void keyReleaseEvent( QKeyEvent * );
+ virtual void focusInEvent( QFocusEvent * );
+ virtual void focusOutEvent( QFocusEvent * );
+ virtual void enterEvent( QEvent * );
+ virtual void leaveEvent( QEvent * );
+ virtual void paintEvent( QPaintEvent * );
+ virtual void moveEvent( QMoveEvent * );
+ virtual void resizeEvent( QResizeEvent * );
+ virtual void closeEvent( QCloseEvent * );
+ virtual void contextMenuEvent( QContextMenuEvent * );
+ virtual void imStartEvent( QIMEvent * );
+ virtual void imComposeEvent( QIMEvent * );
+ virtual void imEndEvent( QIMEvent * );
+ virtual void tabletEvent( QTabletEvent * );
+
+#ifndef QT_NO_DRAGANDDROP
+ virtual void dragEnterEvent( QDragEnterEvent * );
+ virtual void dragMoveEvent( QDragMoveEvent * );
+ virtual void dragLeaveEvent( QDragLeaveEvent * );
+ virtual void dropEvent( QDropEvent * );
+#endif
+
+ virtual void showEvent( QShowEvent * );
+ virtual void hideEvent( QHideEvent * );
+
+#if defined(Q_WS_MAC)
+ virtual bool macEvent( MSG * );
+#endif
+#if defined(Q_WS_WIN)
+ virtual bool winEvent( MSG * );
+#endif
+#if defined(Q_WS_X11)
+ virtual bool x11Event( XEvent * );
+#endif
+#if defined(Q_WS_QWS)
+ virtual bool qwsEvent( QWSEvent * );
+ virtual unsigned char *scanLine( int ) const;
+ virtual int bytesPerLine() const;
+#endif
+
+ virtual void updateMask();
+
+ // Misc. protected functions
+
+#ifndef QT_NO_STYLE
+ virtual void styleChange( QStyle&amp; );
+#endif
+ virtual void enabledChange( bool oldEnabled );
+#ifndef QT_NO_PALETTE
+ virtual void paletteChange( const QPalette &amp; );
+#endif
+ virtual void fontChange( const QFont &amp; );
+ virtual void windowActivationChange( bool oldActive );
+
+ int metric( int ) const;
+
+ void resetInputContext();
+
+ virtual void create( WId = 0, bool initializeWindow = TRUE,
+ bool destroyOldWindow = TRUE );
+ virtual void destroy( bool destroyWindow = TRUE,
+ bool destroySubWindows = TRUE );
+ uint getWState() const;
+ virtual void setWState( uint );
+ void clearWState( uint n );
+ WFlags getWFlags() const;
+ virtual void setWFlags( WFlags );
+ void clearWFlags( WFlags n );
+
+ virtual bool focusNextPrevChild( bool next );
+
+ QWExtra *extraData();
+ QTLWExtra *topData();
+ QFocusData *focusData();
+
+ virtual void setKeyCompression(bool);
+ virtual void setMicroFocusHint(int x, int y, int w, int h, bool text=TRUE, QFont *f = 0);
+
+#if defined(Q_WS_MAC)
+ void dirtyClippedRegion(bool);
+ bool isClippedRegionDirty();
+ virtual void setRegionDirty(bool);
+ virtual void macWidgetChangedWindow();
+#endif
+
+private slots:
+ void focusProxyDestroyed();
+
+private:
+ void setFontSys( QFont *f = 0 );
+#if defined(Q_WS_X11)
+ void createInputContext();
+ void destroyInputContext();
+ void focusInputContext();
+ void checkChildrenDnd();
+#elif defined(Q_WS_MAC)
+ uint own_id : 1, macDropEnabled : 1;
+ EventHandlerRef window_event;
+ //mac event functions
+ void propagateUpdates(bool update_rgn=TRUE);
+ void update( const QRegion&amp; );
+ //friends, way too many - fix this immediately!
+ friend void qt_clean_root_win();
+ friend bool qt_recreate_root_win();
+ friend QPoint posInWindow(QWidget *);
+ friend bool qt_mac_update_sizer(QWidget *, int);
+ friend QWidget *qt_recursive_match(QWidget *widg, int x, int y);
+ friend bool qt_paint_children(QWidget *,QRegion &amp;, uchar ops);
+ friend QMAC_PASCAL OSStatus qt_window_event(EventHandlerCallRef er, EventRef event, void *);
+ friend void qt_event_request_updates(QWidget *, const QRegion &amp;, bool subtract);
+ friend bool qt_window_rgn(WId, short, RgnHandle, bool);
+ friend class QDragManager;
+#endif
+
+#ifndef QT_NO_LAYOUT
+ void setLayout( QLayout *l );
+#endif
+ void setWinId( WId );
+ void showWindow();
+ void hideWindow();
+ void showChildren( bool spontaneous );
+ void hideChildren( bool spontaneous );
+ void reparentSys( QWidget *parent, WFlags, const QPoint &amp;, bool showIt);
+ void createTLExtra();
+ void createExtra();
+ void deleteExtra();
+ void createSysExtra();
+ void deleteSysExtra();
+ void createTLSysExtra();
+ void deleteTLSysExtra();
+ void deactivateWidgetCleanup();
+ void internalSetGeometry( int, int, int, int, bool );
+ void reparentFocusWidgets( QWidget * );
+ QFocusData *focusData( bool create );
+ void setBackgroundFromMode();
+ void setBackgroundColorDirect( const QColor &amp; );
+ void setBackgroundPixmapDirect( const QPixmap &amp; );
+ void setBackgroundModeDirect( BackgroundMode );
+ void setBackgroundEmpty();
+ void updateFrameStrut() const;
+#if defined(Q_WS_X11)
+ void setBackgroundX11Relative();
+#endif
+
+ WId winid;
+ uint widget_state;
+ uint widget_flags;
+ uint focus_policy : 4;
+ uint own_font :1;
+ uint own_palette :1;
+ uint sizehint_forced :1;
+ uint is_closing :1;
+ uint in_show : 1;
+ uint in_show_maximized : 1;
+ uint fstrut_dirty : 1;
+ uint im_enabled : 1;
+ QRect crect;
+ QColor bg_col;
+#ifndef QT_NO_PALETTE
+ QPalette pal;
+#endif
+ QFont fnt;
+#ifndef QT_NO_LAYOUT
+ QLayout *lay_out;
+#endif
+ QWExtra *extra;
+#if defined(Q_WS_QWS)
+ QRegion req_region; // Requested region
+ mutable QRegion paintable_region; // Paintable region
+ mutable bool paintable_region_dirty;// needs to be recalculated
+ mutable QRegion alloc_region; // Allocated region
+ mutable bool alloc_region_dirty; // needs to be recalculated
+ mutable int overlapping_children; // Handle overlapping children
+
+ int alloc_region_index;
+ int alloc_region_revision;
+
+ void updateOverlappingChildren() const;
+ void setChildrenAllocatedDirty();
+ void setChildrenAllocatedDirty( const QRegion &amp;r, const QWidget *dirty=0 );
+ bool isAllocatedRegionDirty() const;
+ void updateRequestedRegion( const QPoint &amp;gpos );
+ QRegion requestedRegion() const;
+ QRegion allocatedRegion() const;
+ QRegion paintableRegion() const;
+
+ void updateGraphicsContext( QGfx *qgfx_qws, bool clip_children ) const;
+#ifndef QT_NO_CURSOR
+ void updateCursor( const QRegion &amp;r ) const;
+#endif
+
+ // used to accumulate dirty region when children moved/resized.
+ QRegion dirtyChildren;
+ bool isSettingGeometry;
+ friend class QWSManager;
+#endif
+ static int instanceCounter; // Current number of widget instances
+ static int maxInstances; // Maximum number of widget instances
+
+ static void createMapper();
+ static void destroyMapper();
+ static QWidgetList *wList();
+ static QWidgetList *tlwList();
+ static QWidgetMapper *mapper;
+ friend class QApplication;
+ friend class QBaseApplication;
+ friend class QPainter;
+ friend class QFontMetrics;
+ friend class QFontInfo;
+ friend class QETWidget;
+ friend class QLayout;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QWidget( const QWidget &amp; );
+ QWidget &amp;operator=( const QWidget &amp; );
+#endif
+
+public: // obsolete functions to dissappear or to become inline in 3.0
+#ifndef QT_NO_PALETTE
+ void setPalette( const QPalette &amp;p, bool ) { setPalette( p ); }
+#endif
+ void setFont( const QFont &amp;f, bool ) { setFont( f ); }
+};
+
+
+inline Qt::WState QWidget::testWState( WState s ) const
+{ return (widget_state &amp; s); }
+
+inline Qt::WFlags QWidget::testWFlags( WFlags f ) const
+{ return (widget_flags &amp; f); }
+
+
+inline WId QWidget::winId() const
+{ return winid; }
+
+inline bool QWidget::isTopLevel() const
+{ return testWFlags(WType_TopLevel); }
+
+inline bool QWidget::isDialog() const
+{ return testWFlags(WType_Dialog); }
+
+inline bool QWidget::isPopup() const
+{ return testWFlags(WType_Popup); }
+
+inline bool QWidget::isDesktop() const
+{ return testWFlags(WType_Desktop); }
+
+inline bool QWidget::isEnabled() const
+{ return !testWState(WState_Disabled); }
+
+inline bool QWidget::isModal() const
+{ return testWFlags(WShowModal); }
+
+inline bool QWidget::isEnabledToTLW() const
+{ return isEnabled(); }
+
+inline const QRect &amp;QWidget::geometry() const
+{ return crect; }
+
+inline QSize QWidget::size() const
+{ return crect.size(); }
+
+inline int QWidget::width() const
+{ return crect.width(); }
+
+inline int QWidget::height() const
+{ return crect.height(); }
+
+inline QRect QWidget::rect() const
+{ return QRect(0,0,crect.width(),crect.height()); }
+
+inline int QWidget::minimumWidth() const
+{ return minimumSize().width(); }
+
+inline int QWidget::minimumHeight() const
+{ return minimumSize().height(); }
+
+inline int QWidget::maximumWidth() const
+{ return maximumSize().width(); }
+
+inline int QWidget::maximumHeight() const
+{ return maximumSize().height(); }
+
+inline void QWidget::setMinimumSize( const QSize &amp;s )
+{ setMinimumSize(s.width(),s.height()); }
+
+inline void QWidget::setMaximumSize( const QSize &amp;s )
+{ setMaximumSize(s.width(),s.height()); }
+
+inline void QWidget::setSizeIncrement( const QSize &amp;s )
+{ setSizeIncrement(s.width(),s.height()); }
+
+inline void QWidget::setBaseSize( const QSize &amp;s )
+{ setBaseSize(s.width(),s.height()); }
+
+inline const QColor &amp;QWidget::eraseColor() const
+{ return bg_col; }
+
+#ifndef QT_NO_PALETTE
+inline const QPalette &amp;QWidget::palette() const
+{ return pal; }
+#endif
+
+inline QFont QWidget::font() const
+{ return fnt; }
+
+inline QFontMetrics QWidget::fontMetrics() const
+{ return QFontMetrics(font()); }
+
+inline QFontInfo QWidget::fontInfo() const
+{ return QFontInfo(font()); }
+
+inline bool QWidget::hasMouseTracking() const
+{ return testWState(WState_MouseTracking); }
+
+inline bool QWidget::hasMouse() const
+{ return testWState(WState_HasMouse); }
+
+inline bool QWidget::isFocusEnabled() const
+{ return (FocusPolicy)focus_policy != NoFocus; }
+
+inline QWidget::FocusPolicy QWidget::focusPolicy() const
+{ return (FocusPolicy)focus_policy; }
+
+inline bool QWidget::isUpdatesEnabled() const
+{ return !testWState(WState_BlockUpdates); }
+
+inline void QWidget::update( const QRect &amp;r )
+{ update( r.x(), r.y(), r.width(), r.height() ); }
+
+inline void QWidget::repaint()
+{ repaint( TRUE ); }
+
+inline void QWidget::repaint( const QRect &amp;r, bool erase )
+{ repaint( r.x(), r.y(), r.width(), r.height(), erase ); }
+
+inline void QWidget::erase()
+{ erase( 0, 0, crect.width(), crect.height() ); }
+
+inline void QWidget::erase( const QRect &amp;r )
+{ erase( r.x(), r.y(), r.width(), r.height() ); }
+
+inline bool QWidget::close()
+{ return close( FALSE ); }
+
+inline bool QWidget::isVisible() const
+{ return testWState(WState_Visible); }
+
+inline bool QWidget::isVisibleToTLW() const // obsolete
+{ return isVisible(); }
+
+inline bool QWidget::isHidden() const
+{ return testWState(WState_ForceHide); }
+
+inline bool QWidget::isShown() const
+{ return !testWState(WState_ForceHide); }
+
+inline void QWidget::move( const QPoint &amp;p )
+{ move( p.x(), p.y() ); }
+
+inline void QWidget::resize( const QSize &amp;s )
+{ resize( s.width(), s.height()); }
+
+inline void QWidget::setGeometry( const QRect &amp;r )
+{ setGeometry( r.left(), r.top(), r.width(), r.height() ); }
+
+inline void QWidget::drawText( const QPoint &amp;p, const QString &amp;s )
+{ drawText( p.x(), p.y(), s ); }
+
+inline QWidget *QWidget::parentWidget( bool sameWindow ) const
+{
+ if ( sameWindow )
+ return isTopLevel() ? 0 : (QWidget *)QObject::parent();
+ return (QWidget *)QObject::parent();
+}
+
+inline QWidgetMapper *QWidget::wmapper()
+{ return mapper; }
+
+inline uint QWidget::getWState() const
+{ return widget_state; }
+
+inline void QWidget::setWState( uint f )
+{ widget_state |= f; }
+
+inline void QWidget::clearWState( uint f )
+{ widget_state &amp;= ~f; }
+
+inline Qt::WFlags QWidget::getWFlags() const
+{ return widget_flags; }
+
+inline void QWidget::setWFlags( WFlags f )
+{ widget_flags |= f; }
+
+inline void QWidget::clearWFlags( WFlags f )
+{ widget_flags &amp;= ~f; }
+
+inline void QWidget::constPolish() const
+{
+ if ( !testWState(WState_Polished) ) {
+ QWidget* that = (QWidget*) this;
+ that-&gt;polish();
+ that-&gt;setWState(WState_Polished); // be on the safe side...
+ }
+}
+#ifndef QT_NO_CURSOR
+inline bool QWidget::ownCursor() const
+{
+ return testWState( WState_OwnCursor );
+}
+#endif
+inline bool QWidget::ownFont() const
+{
+ return own_font;
+}
+#ifndef QT_NO_PALETTE
+inline bool QWidget::ownPalette() const
+{
+ return own_palette;
+}
+#endif
+
+inline void QWidget::setSizePolicy( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw )
+{
+ setSizePolicy( QSizePolicy( hor, ver, hfw) );
+}
+
+inline bool QWidget::isInputMethodEnabled() const
+{
+ return (bool)im_enabled;
+}
+
+// Extra QWidget data
+// - to minimize memory usage for members that are seldom used.
+// - top-level widgets have extra extra data to reduce cost further
+
+class QFocusData;
+class QWSManager;
+#if defined(Q_WS_WIN)
+class QOleDropTarget;
+#endif
+#if defined(Q_WS_MAC)
+class QMacDndExtra;
+#endif
+
+struct Q_EXPORT QTLWExtra {
+#ifndef QT_NO_WIDGET_TOPEXTRA
+ QString caption; // widget caption
+ QString iconText; // widget icon text
+ QPixmap *icon; // widget icon
+#endif
+ QFocusData *focusData; // focus data (for TLW)
+ short incw, inch; // size increments
+ // frame strut
+ ulong fleft, fright, ftop, fbottom;
+ uint unused : 8; // not used at this point...
+#if defined( Q_WS_WIN ) || defined( Q_WS_MAC )
+ uint opacity : 8; // Stores opacity level on Windows/Mac OS X.
+#endif
+ uint savedFlags; // Save widgetflags while showing fullscreen
+ short basew, baseh; // base sizes
+#if defined(Q_WS_X11)
+ WId parentWinId; // parent window Id (valid after reparenting)
+ uint embedded : 1; // window is embedded in another Qt application
+ uint spont_unmapped: 1; // window was spontaneously unmapped
+ uint reserved: 1; // reserved
+ uint dnd : 1; // DND properties installed
+ uint uspos : 1; // User defined position
+ uint ussize : 1; // User defined size
+ void *xic; // XIM Input Context
+#endif
+#if defined(Q_WS_MAC)
+ WindowGroupRef group;
+ uint is_moved: 1;
+ uint resizer : 4;
+#endif
+#if defined(Q_WS_QWS) &amp;&amp; !defined ( QT_NO_QWS_MANAGER )
+ QRegion decor_allocated_region; // decoration allocated region
+ QWSManager *qwsManager;
+#endif
+#if defined(Q_WS_WIN)
+ HICON winIcon; // internal Windows icon
+#endif
+ QRect normalGeometry; // used by showMin/maximized/FullScreen
+#ifdef Q_WS_WIN
+ uint style, exstyle;
+#endif
+};
+
+
+#define QWIDGETSIZE_MAX 32767
+
+// dear user: you can see this struct, but it is internal. do not touch.
+
+struct Q_EXPORT QWExtra {
+ Q_INT16 minw, minh; // minimum size
+ Q_INT16 maxw, maxh; // maximum size
+ QPixmap *bg_pix; // background pixmap
+ QWidget *focus_proxy;
+#ifndef QT_NO_CURSOR
+ QCursor *curs;
+#endif
+ QTLWExtra *topextra; // only useful for TLWs
+#if defined(Q_WS_WIN)
+ QOleDropTarget *dropTarget; // drop target
+#endif
+#if defined(Q_WS_X11)
+ WId xDndProxy; // XDND forwarding to embedded windows
+#endif
+#if defined(Q_WS_MAC)
+ QRegion clip_saved, clip_sibs, clip_children;
+ QMacDndExtra *macDndExtra;
+ QRegion dirty_area;
+ uint clip_dirty : 1, clip_serial : 15;
+ uint child_dirty : 1, child_serial : 15;
+#ifndef QMAC_NO_QUARTZ
+ uint ctx_children_clipped:1;
+#endif // QMAC_NO_QUARTZ
+ uint has_dirty_area:1;
+#endif // Q_WS_MAC
+ uint bg_origin : 2;
+#if defined(Q_WS_X11)
+ uint children_use_dnd : 1;
+ uint compress_events : 1;
+#endif
+#if defined(Q_WS_QWS) || defined(Q_WS_MAC)
+ QRegion mask; // widget mask
+#endif
+ char bg_mode; // background mode
+ char bg_mode_visual; // visual background mode
+#ifndef QT_NO_STYLE
+ QStyle* style;
+#endif
+ QRect micro_focus_hint; // micro focus hint
+ QSizePolicy size_policy;
+};
+
+#define Q_DEFINED_QWIDGET
+#include "qwinexport.h"
+
+#endif // QWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidget-members.html b/doc/html/qwidget-members.html
new file mode 100644
index 0000000..e529572
--- /dev/null
+++ b/doc/html/qwidget-members.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidget.h:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwidget.html">QWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qwidget.html#QWidget">QWidget</a>()
+<li><a href="qwidget.html#~QWidget">~QWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidget.html b/doc/html/qwidget.html
new file mode 100644
index 0000000..1a63ad2
--- /dev/null
+++ b/doc/html/qwidget.html
@@ -0,0 +1,3256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwidget.cpp:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWidget Class Reference</h1>
+
+<p>The QWidget class is the base class of all user interface objects.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a> and <a href="qpaintdevice.html">QPaintDevice</a>.
+<p>Inherited by <a href="qaxwidget.html">QAxWidget</a>, <a href="qbutton.html">QButton</a>, <a href="qframe.html">QFrame</a>, <a href="qdialog.html">QDialog</a>, <a href="qcombobox.html">QComboBox</a>, <a href="qdatabrowser.html">QDataBrowser</a>, <a href="qdataview.html">QDataView</a>, <a href="qdatetimeeditbase.html">QDateTimeEditBase</a>, <a href="qdatetimeedit.html">QDateTimeEdit</a>, <a href="qdesktopwidget.html">QDesktopWidget</a>, <a href="qdial.html">QDial</a>, <a href="qdockarea.html">QDockArea</a>, <a href="qglwidget.html">QGLWidget</a>, <a href="qheader.html">QHeader</a>, <a href="qmainwindow.html">QMainWindow</a>, <a href="qmotifwidget.html">QMotifWidget</a>, <a href="qnpwidget.html">QNPWidget</a>, <a href="qscrollbar.html">QScrollBar</a>, <a href="qsizegrip.html">QSizeGrip</a>, <a href="qslider.html">QSlider</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="qsplashscreen.html">QSplashScreen</a>, <a href="qstatusbar.html">QStatusBar</a>, <a href="qtabbar.html">QTabBar</a>, <a href="qtabwidget.html">QTabWidget</a>, <a href="qworkspace.html">QWorkspace</a>, and <a href="qxtwidget.html">QXtWidget</a>.
+<p><a href="qwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>explicit <a href="#QWidget"><b>QWidget</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QWidget"><b>~QWidget</b></a> ()</li>
+<li class=fn>WId <a href="#winId"><b>winId</b></a> () const</li>
+<li class=fn>QStyle &amp; <a href="#style"><b>style</b></a> () const</li>
+<li class=fn>void <a href="#setStyle"><b>setStyle</b></a> ( QStyle&nbsp;*&nbsp;style )</li>
+<li class=fn>QStyle * <a href="#setStyle-2"><b>setStyle</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;style )</li>
+<li class=fn>bool <a href="#isTopLevel"><b>isTopLevel</b></a> () const</li>
+<li class=fn>bool <a href="#isDialog"><b>isDialog</b></a> () const</li>
+<li class=fn>bool <a href="#isPopup"><b>isPopup</b></a> () const</li>
+<li class=fn>bool <a href="#isDesktop"><b>isDesktop</b></a> () const</li>
+<li class=fn>bool <a href="#isModal"><b>isModal</b></a> () const</li>
+<li class=fn>bool <a href="#isEnabled"><b>isEnabled</b></a> () const</li>
+<li class=fn>bool <a href="#isEnabledTo"><b>isEnabledTo</b></a> ( QWidget&nbsp;*&nbsp;ancestor ) const</li>
+<li class=fn>bool isEnabledToTLW () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QRect <a href="#frameGeometry"><b>frameGeometry</b></a> () const</li>
+<li class=fn>const QRect &amp; <a href="#geometry"><b>geometry</b></a> () const</li>
+<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
+<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
+<li class=fn>QPoint <a href="#pos"><b>pos</b></a> () const</li>
+<li class=fn>QSize <a href="#frameSize"><b>frameSize</b></a> () const</li>
+<li class=fn>QSize <a href="#size"><b>size</b></a> () const</li>
+<li class=fn>int <a href="#width"><b>width</b></a> () const</li>
+<li class=fn>int <a href="#height"><b>height</b></a> () const</li>
+<li class=fn>QRect <a href="#rect"><b>rect</b></a> () const</li>
+<li class=fn>QRect <a href="#childrenRect"><b>childrenRect</b></a> () const</li>
+<li class=fn>QRegion <a href="#childrenRegion"><b>childrenRegion</b></a> () const</li>
+<li class=fn>QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>int <a href="#minimumWidth"><b>minimumWidth</b></a> () const</li>
+<li class=fn>int <a href="#minimumHeight"><b>minimumHeight</b></a> () const</li>
+<li class=fn>int <a href="#maximumWidth"><b>maximumWidth</b></a> () const</li>
+<li class=fn>int <a href="#maximumHeight"><b>maximumHeight</b></a> () const</li>
+<li class=fn>void <a href="#setMinimumSize"><b>setMinimumSize</b></a> ( const QSize &amp; )</li>
+<li class=fn>virtual void <a href="#setMinimumSize-2"><b>setMinimumSize</b></a> ( int&nbsp;minw, int&nbsp;minh )</li>
+<li class=fn>void <a href="#setMaximumSize"><b>setMaximumSize</b></a> ( const QSize &amp; )</li>
+<li class=fn>virtual void <a href="#setMaximumSize-2"><b>setMaximumSize</b></a> ( int&nbsp;maxw, int&nbsp;maxh )</li>
+<li class=fn>void <a href="#setMinimumWidth"><b>setMinimumWidth</b></a> ( int&nbsp;minw )</li>
+<li class=fn>void <a href="#setMinimumHeight"><b>setMinimumHeight</b></a> ( int&nbsp;minh )</li>
+<li class=fn>void <a href="#setMaximumWidth"><b>setMaximumWidth</b></a> ( int&nbsp;maxw )</li>
+<li class=fn>void <a href="#setMaximumHeight"><b>setMaximumHeight</b></a> ( int&nbsp;maxh )</li>
+<li class=fn>QSize <a href="#sizeIncrement"><b>sizeIncrement</b></a> () const</li>
+<li class=fn>void <a href="#setSizeIncrement"><b>setSizeIncrement</b></a> ( const QSize &amp; )</li>
+<li class=fn>virtual void <a href="#setSizeIncrement-2"><b>setSizeIncrement</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>QSize <a href="#baseSize"><b>baseSize</b></a> () const</li>
+<li class=fn>void <a href="#setBaseSize"><b>setBaseSize</b></a> ( const QSize &amp; )</li>
+<li class=fn>void <a href="#setBaseSize-2"><b>setBaseSize</b></a> ( int&nbsp;basew, int&nbsp;baseh )</li>
+<li class=fn>void <a href="#setFixedSize"><b>setFixedSize</b></a> ( const&nbsp;QSize&nbsp;&amp;&nbsp;s )</li>
+<li class=fn>void <a href="#setFixedSize-2"><b>setFixedSize</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#setFixedWidth"><b>setFixedWidth</b></a> ( int&nbsp;w )</li>
+<li class=fn>void <a href="#setFixedHeight"><b>setFixedHeight</b></a> ( int&nbsp;h )</li>
+<li class=fn>QPoint <a href="#mapToGlobal"><b>mapToGlobal</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QPoint <a href="#mapFromGlobal"><b>mapFromGlobal</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QPoint <a href="#mapToParent"><b>mapToParent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QPoint <a href="#mapFromParent"><b>mapFromParent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QPoint <a href="#mapTo"><b>mapTo</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QPoint <a href="#mapFrom"><b>mapFrom</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QPoint&nbsp;&amp;&nbsp;pos ) const</li>
+<li class=fn>QWidget * <a href="#topLevelWidget"><b>topLevelWidget</b></a> () const</li>
+<li class=fn>BackgroundMode <a href="#backgroundMode"><b>backgroundMode</b></a> () const</li>
+<li class=fn>virtual void <a href="#setBackgroundMode"><b>setBackgroundMode</b></a> ( BackgroundMode )</li>
+<li class=fn>void <a href="#setBackgroundMode-2"><b>setBackgroundMode</b></a> ( BackgroundMode&nbsp;m, BackgroundMode&nbsp;visual )</li>
+<li class=fn>const QColor &amp; <a href="#foregroundColor"><b>foregroundColor</b></a> () const</li>
+<li class=fn>const QColor &amp; <a href="#eraseColor"><b>eraseColor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setEraseColor"><b>setEraseColor</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;color )</li>
+<li class=fn>const QPixmap * <a href="#erasePixmap"><b>erasePixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setErasePixmap"><b>setErasePixmap</b></a> ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pixmap )</li>
+<li class=fn>const QColorGroup &amp; <a href="#colorGroup"><b>colorGroup</b></a> () const</li>
+<li class=fn>const QPalette &amp; <a href="#palette"><b>palette</b></a> () const</li>
+<li class=fn>bool <a href="#ownPalette"><b>ownPalette</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPalette"><b>setPalette</b></a> ( const QPalette &amp; )</li>
+<li class=fn>void <a href="#unsetPalette"><b>unsetPalette</b></a> ()</li>
+<li class=fn>const QColor &amp; <a href="#paletteForegroundColor"><b>paletteForegroundColor</b></a> () const</li>
+<li class=fn>void <a href="#setPaletteForegroundColor"><b>setPaletteForegroundColor</b></a> ( const QColor &amp; )</li>
+<li class=fn>const QColor &amp; <a href="#paletteBackgroundColor"><b>paletteBackgroundColor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPaletteBackgroundColor"><b>setPaletteBackgroundColor</b></a> ( const QColor &amp; )</li>
+<li class=fn>const QPixmap * <a href="#paletteBackgroundPixmap"><b>paletteBackgroundPixmap</b></a> () const</li>
+<li class=fn>virtual void <a href="#setPaletteBackgroundPixmap"><b>setPaletteBackgroundPixmap</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>const QBrush &amp; <a href="#backgroundBrush"><b>backgroundBrush</b></a> () const</li>
+<li class=fn>QFont <a href="#font"><b>font</b></a> () const</li>
+<li class=fn>bool <a href="#ownFont"><b>ownFont</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const QFont &amp; )</li>
+<li class=fn>void <a href="#unsetFont"><b>unsetFont</b></a> ()</li>
+<li class=fn>QFontMetrics <a href="#fontMetrics"><b>fontMetrics</b></a> () const</li>
+<li class=fn>QFontInfo <a href="#fontInfo"><b>fontInfo</b></a> () const</li>
+<li class=fn>const QCursor &amp; <a href="#cursor"><b>cursor</b></a> () const</li>
+<li class=fn>bool <a href="#ownCursor"><b>ownCursor</b></a> () const</li>
+<li class=fn>virtual void <a href="#setCursor"><b>setCursor</b></a> ( const QCursor &amp; )</li>
+<li class=fn>virtual void <a href="#unsetCursor"><b>unsetCursor</b></a> ()</li>
+<li class=fn>QString <a href="#caption"><b>caption</b></a> () const</li>
+<li class=fn>const QPixmap * <a href="#icon"><b>icon</b></a> () const</li>
+<li class=fn>QString <a href="#iconText"><b>iconText</b></a> () const</li>
+<li class=fn>bool <a href="#hasMouseTracking"><b>hasMouseTracking</b></a> () const</li>
+<li class=fn>bool <a href="#hasMouse"><b>hasMouse</b></a> () const</li>
+<li class=fn>virtual void <a href="#setMask"><b>setMask</b></a> ( const&nbsp;QBitmap&nbsp;&amp;&nbsp;bitmap )</li>
+<li class=fn>virtual void <a href="#setMask-2"><b>setMask</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;region )</li>
+<li class=fn>void <a href="#clearMask"><b>clearMask</b></a> ()</li>
+<li class=fn>const QColor &amp; backgroundColor () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setBackgroundColor ( const&nbsp;QColor&nbsp;&amp;&nbsp;c ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>const QPixmap * backgroundPixmap () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void setBackgroundPixmap ( const&nbsp;QPixmap&nbsp;&amp;&nbsp;pm ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>enum <a href="#FocusPolicy-enum"><b>FocusPolicy</b></a> { NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = TabFocus | ClickFocus | 0x8, WheelFocus = StrongFocus | 0x4 }</li>
+<li class=fn>bool <a href="#isActiveWindow"><b>isActiveWindow</b></a> () const</li>
+<li class=fn>virtual void <a href="#setActiveWindow"><b>setActiveWindow</b></a> ()</li>
+<li class=fn>bool <a href="#isFocusEnabled"><b>isFocusEnabled</b></a> () const</li>
+<li class=fn>FocusPolicy <a href="#focusPolicy"><b>focusPolicy</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFocusPolicy"><b>setFocusPolicy</b></a> ( FocusPolicy )</li>
+<li class=fn>bool <a href="#hasFocus"><b>hasFocus</b></a> () const</li>
+<li class=fn>virtual void <a href="#setFocusProxy"><b>setFocusProxy</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#focusProxy"><b>focusProxy</b></a> () const</li>
+<li class=fn>void <a href="#setInputMethodEnabled"><b>setInputMethodEnabled</b></a> ( bool&nbsp;b )</li>
+<li class=fn>bool <a href="#isInputMethodEnabled"><b>isInputMethodEnabled</b></a> () const</li>
+<li class=fn>void <a href="#grabMouse"><b>grabMouse</b></a> ()</li>
+<li class=fn>void <a href="#grabMouse-2"><b>grabMouse</b></a> ( const&nbsp;QCursor&nbsp;&amp;&nbsp;cursor )</li>
+<li class=fn>void <a href="#releaseMouse"><b>releaseMouse</b></a> ()</li>
+<li class=fn>void <a href="#grabKeyboard"><b>grabKeyboard</b></a> ()</li>
+<li class=fn>void <a href="#releaseKeyboard"><b>releaseKeyboard</b></a> ()</li>
+<li class=fn>bool <a href="#isUpdatesEnabled"><b>isUpdatesEnabled</b></a> () const</li>
+<li class=fn>virtual bool <a href="#close-2"><b>close</b></a> ( bool&nbsp;alsoDelete )</li>
+<li class=fn>bool <a href="#isVisible"><b>isVisible</b></a> () const</li>
+<li class=fn>bool <a href="#isVisibleTo"><b>isVisibleTo</b></a> ( QWidget&nbsp;*&nbsp;ancestor ) const</li>
+<li class=fn>bool isVisibleToTLW () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QRect visibleRect () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>bool <a href="#isHidden"><b>isHidden</b></a> () const</li>
+<li class=fn>bool <a href="#isShown"><b>isShown</b></a> () const</li>
+<li class=fn>bool <a href="#isMinimized"><b>isMinimized</b></a> () const</li>
+<li class=fn>bool <a href="#isMaximized"><b>isMaximized</b></a> () const</li>
+<li class=fn>bool <a href="#isFullScreen"><b>isFullScreen</b></a> () const</li>
+<li class=fn>uint <a href="#windowState"><b>windowState</b></a> () const</li>
+<li class=fn>void <a href="#setWindowState"><b>setWindowState</b></a> ( uint&nbsp;windowState )</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSizeHint"><b>minimumSizeHint</b></a> () const</li>
+<li class=fn>virtual QSizePolicy <a href="#sizePolicy"><b>sizePolicy</b></a> () const</li>
+<li class=fn>virtual void <a href="#setSizePolicy"><b>setSizePolicy</b></a> ( QSizePolicy )</li>
+<li class=fn>void <a href="#setSizePolicy-2"><b>setSizePolicy</b></a> ( QSizePolicy::SizeType&nbsp;hor, QSizePolicy::SizeType&nbsp;ver, bool&nbsp;hfw = FALSE )</li>
+<li class=fn>virtual int <a href="#heightForWidth"><b>heightForWidth</b></a> ( int&nbsp;w ) const</li>
+<li class=fn>QRegion <a href="#clipRegion"><b>clipRegion</b></a> () const</li>
+<li class=fn>QLayout * <a href="#layout"><b>layout</b></a> () const</li>
+<li class=fn>void <a href="#updateGeometry"><b>updateGeometry</b></a> ()</li>
+<li class=fn>virtual void <a href="#reparent"><b>reparent</b></a> ( QWidget&nbsp;*&nbsp;parent, WFlags&nbsp;f, const&nbsp;QPoint&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE )</li>
+<li class=fn>void <a href="#reparent-2"><b>reparent</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;QPoint&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE )</li>
+<li class=fn>void recreate ( QWidget&nbsp;*&nbsp;parent, WFlags&nbsp;f, const&nbsp;QPoint&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void <a href="#erase-2"><b>erase</b></a> ()</li>
+<li class=fn>void <a href="#erase"><b>erase</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#erase-3"><b>erase</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#erase-4"><b>erase</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;reg )</li>
+<li class=fn>void <a href="#scroll"><b>scroll</b></a> ( int&nbsp;dx, int&nbsp;dy )</li>
+<li class=fn>void <a href="#scroll-2"><b>scroll</b></a> ( int&nbsp;dx, int&nbsp;dy, const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#drawText"><b>drawText</b></a> ( int&nbsp;x, int&nbsp;y, const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>void <a href="#drawText-2"><b>drawText</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, const&nbsp;QString&nbsp;&amp;&nbsp;str )</li>
+<li class=fn>QWidget * <a href="#focusWidget"><b>focusWidget</b></a> () const</li>
+<li class=fn>QRect <a href="#microFocusHint"><b>microFocusHint</b></a> () const</li>
+<li class=fn>bool <a href="#acceptDrops"><b>acceptDrops</b></a> () const</li>
+<li class=fn>virtual void <a href="#setAcceptDrops"><b>setAcceptDrops</b></a> ( bool&nbsp;on )</li>
+<li class=fn>virtual void <a href="#setAutoMask"><b>setAutoMask</b></a> ( bool )</li>
+<li class=fn>bool <a href="#autoMask"><b>autoMask</b></a> () const</li>
+<li class=fn>enum <a href="#BackgroundOrigin-enum"><b>BackgroundOrigin</b></a> { WidgetOrigin, ParentOrigin, WindowOrigin, AncestorOrigin }</li>
+<li class=fn>virtual void <a href="#setBackgroundOrigin"><b>setBackgroundOrigin</b></a> ( BackgroundOrigin )</li>
+<li class=fn>BackgroundOrigin <a href="#backgroundOrigin"><b>backgroundOrigin</b></a> () const</li>
+<li class=fn>virtual bool <a href="#customWhatsThis"><b>customWhatsThis</b></a> () const</li>
+<li class=fn>QWidget * <a href="#parentWidget"><b>parentWidget</b></a> ( bool&nbsp;sameWindow = FALSE ) const</li>
+<li class=fn>WFlags <a href="#testWFlags"><b>testWFlags</b></a> ( WFlags&nbsp;f ) const</li>
+<li class=fn>QWidget * <a href="#childAt"><b>childAt</b></a> ( int&nbsp;x, int&nbsp;y, bool&nbsp;includeThis = FALSE ) const</li>
+<li class=fn>QWidget * <a href="#childAt-2"><b>childAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p, bool&nbsp;includeThis = FALSE ) const</li>
+<li class=fn>void <a href="#setWindowOpacity"><b>setWindowOpacity</b></a> ( double&nbsp;level )</li>
+<li class=fn>double <a href="#windowOpacity"><b>windowOpacity</b></a> () const</li>
+<li class=fn>void setPalette ( const&nbsp;QPalette&nbsp;&amp;&nbsp;p, bool ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>void setFont ( const&nbsp;QFont&nbsp;&amp;&nbsp;f, bool ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setEnabled"><b>setEnabled</b></a> ( bool )</li>
+<li class=fn>void <a href="#setDisabled"><b>setDisabled</b></a> ( bool&nbsp;disable )</li>
+<li class=fn>virtual void <a href="#setCaption"><b>setCaption</b></a> ( const QString &amp; )</li>
+<li class=fn>virtual void <a href="#setIcon"><b>setIcon</b></a> ( const QPixmap &amp; )</li>
+<li class=fn>virtual void <a href="#setIconText"><b>setIconText</b></a> ( const QString &amp; )</li>
+<li class=fn>virtual void <a href="#setMouseTracking"><b>setMouseTracking</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setFocus"><b>setFocus</b></a> ()</li>
+<li class=fn>void <a href="#clearFocus"><b>clearFocus</b></a> ()</li>
+<li class=fn>virtual void <a href="#setUpdatesEnabled"><b>setUpdatesEnabled</b></a> ( bool&nbsp;enable )</li>
+<li class=fn>void <a href="#update"><b>update</b></a> ()</li>
+<li class=fn>void <a href="#update-2"><b>update</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#update-3"><b>update</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#repaint-2"><b>repaint</b></a> ()</li>
+<li class=fn>void <a href="#repaint-3"><b>repaint</b></a> ( bool&nbsp;erase )</li>
+<li class=fn>void <a href="#repaint"><b>repaint</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#repaint-4"><b>repaint</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r, bool&nbsp;erase = TRUE )</li>
+<li class=fn>void <a href="#repaint-5"><b>repaint</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;reg, bool&nbsp;erase = TRUE )</li>
+<li class=fn>virtual void <a href="#show"><b>show</b></a> ()</li>
+<li class=fn>virtual void <a href="#hide"><b>hide</b></a> ()</li>
+<li class=fn>void <a href="#setShown"><b>setShown</b></a> ( bool&nbsp;show )</li>
+<li class=fn>void <a href="#setHidden"><b>setHidden</b></a> ( bool&nbsp;hide )</li>
+<li class=fn>void iconify () &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual void <a href="#showMinimized"><b>showMinimized</b></a> ()</li>
+<li class=fn>virtual void <a href="#showMaximized"><b>showMaximized</b></a> ()</li>
+<li class=fn>void <a href="#showFullScreen"><b>showFullScreen</b></a> ()</li>
+<li class=fn>virtual void <a href="#showNormal"><b>showNormal</b></a> ()</li>
+<li class=fn>virtual void <a href="#polish"><b>polish</b></a> ()</li>
+<li class=fn>void <a href="#constPolish"><b>constPolish</b></a> () const</li>
+<li class=fn>bool <a href="#close"><b>close</b></a> ()</li>
+<li class=fn>void <a href="#raise"><b>raise</b></a> ()</li>
+<li class=fn>void <a href="#lower"><b>lower</b></a> ()</li>
+<li class=fn>void <a href="#stackUnder"><b>stackUnder</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual void <a href="#move-2"><b>move</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>void <a href="#move"><b>move</b></a> ( const QPoint &amp; )</li>
+<li class=fn>virtual void <a href="#resize-2"><b>resize</b></a> ( int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>void <a href="#resize"><b>resize</b></a> ( const QSize &amp; )</li>
+<li class=fn>virtual void <a href="#setGeometry-2"><b>setGeometry</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const QRect &amp; )</li>
+<li class=fn>virtual void <a href="#adjustSize"><b>adjustSize</b></a> ()</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#setTabOrder"><b>setTabOrder</b></a> ( QWidget&nbsp;*&nbsp;first, QWidget&nbsp;*&nbsp;second )</li>
+<li class=fn>QWidget * <a href="#mouseGrabber"><b>mouseGrabber</b></a> ()</li>
+<li class=fn>QWidget * <a href="#keyboardGrabber"><b>keyboardGrabber</b></a> ()</li>
+<li class=fn>QWidget * <a href="#find"><b>find</b></a> ( WId&nbsp;id )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#acceptDrops-prop"><b>acceptDrops</b></a>&nbsp;- whether drop events are enabled for this widget</li>
+<li class=fn>bool <a href="#autoMask-prop"><b>autoMask</b></a>&nbsp;- whether the auto mask feature is enabled for the widget</li>
+<li class=fn>QBrush <a href="#backgroundBrush-prop"><b>backgroundBrush</b></a>&nbsp;- the widget's background brush &nbsp;<em>(read only)</em></li>
+<li class=fn>BackgroundMode <a href="#backgroundMode-prop"><b>backgroundMode</b></a>&nbsp;- the color role used for painting the background of the widget</li>
+<li class=fn>BackgroundOrigin <a href="#backgroundOrigin-prop"><b>backgroundOrigin</b></a>&nbsp;- the origin of the widget's background</li>
+<li class=fn>QSize <a href="#baseSize-prop"><b>baseSize</b></a>&nbsp;- the base size of the widget</li>
+<li class=fn>QString <a href="#caption-prop"><b>caption</b></a>&nbsp;- the window caption (title)</li>
+<li class=fn>QRect <a href="#childrenRect-prop"><b>childrenRect</b></a>&nbsp;- the bounding rectangle of the widget's children &nbsp;<em>(read only)</em></li>
+<li class=fn>QRegion <a href="#childrenRegion-prop"><b>childrenRegion</b></a>&nbsp;- the combined region occupied by the widget's children &nbsp;<em>(read only)</em></li>
+<li class=fn>QColorGroup <a href="#colorGroup-prop"><b>colorGroup</b></a>&nbsp;- the current color group of the widget palette &nbsp;<em>(read only)</em></li>
+<li class=fn>QCursor <a href="#cursor-prop"><b>cursor</b></a>&nbsp;- the cursor shape for this widget</li>
+<li class=fn>bool <a href="#customWhatsThis-prop"><b>customWhatsThis</b></a>&nbsp;- whether the widget wants to handle What's This help manually &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#enabled-prop"><b>enabled</b></a>&nbsp;- whether the widget is enabled</li>
+<li class=fn>bool <a href="#focus-prop"><b>focus</b></a>&nbsp;- whether this widget (or its focus proxy) has the keyboard input focus &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#focusEnabled-prop"><b>focusEnabled</b></a>&nbsp;- whether the widget accepts keyboard focus &nbsp;<em>(read only)</em></li>
+<li class=fn>FocusPolicy <a href="#focusPolicy-prop"><b>focusPolicy</b></a>&nbsp;- the way the widget accepts keyboard focus</li>
+<li class=fn>QFont <a href="#font-prop"><b>font</b></a>&nbsp;- the font currently set for the widget</li>
+<li class=fn>QRect <a href="#frameGeometry-prop"><b>frameGeometry</b></a>&nbsp;- geometry of the widget relative to its parent including any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>QSize <a href="#frameSize-prop"><b>frameSize</b></a>&nbsp;- the size of the widget including any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#fullScreen-prop"><b>fullScreen</b></a>&nbsp;- whether the widget is full screen &nbsp;<em>(read only)</em></li>
+<li class=fn>QRect <a href="#geometry-prop"><b>geometry</b></a>&nbsp;- the geometry of the widget relative to its parent and excluding the window frame</li>
+<li class=fn>int <a href="#height-prop"><b>height</b></a>&nbsp;- the height of the widget excluding any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#hidden-prop"><b>hidden</b></a>&nbsp;- whether the widget is explicitly hidden</li>
+<li class=fn>QPixmap <a href="#icon-prop"><b>icon</b></a>&nbsp;- the widget's icon</li>
+<li class=fn>QString <a href="#iconText-prop"><b>iconText</b></a>&nbsp;- the widget's icon text</li>
+<li class=fn>bool <a href="#inputMethodEnabled-prop"><b>inputMethodEnabled</b></a>&nbsp;- enables or disables the use of input methods for this widget</li>
+<li class=fn>bool <a href="#isActiveWindow-prop"><b>isActiveWindow</b></a>&nbsp;- whether this widget is the active window &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#isDesktop-prop"><b>isDesktop</b></a>&nbsp;- whether the widget is a desktop widget, i.e. represents the desktop &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#isDialog-prop"><b>isDialog</b></a>&nbsp;- whether the widget is a dialog widget &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#isModal-prop"><b>isModal</b></a>&nbsp;- whether the widget is a modal widget &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#isPopup-prop"><b>isPopup</b></a>&nbsp;- whether the widget is a popup widget &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#isTopLevel-prop"><b>isTopLevel</b></a>&nbsp;- whether the widget is a top-level widget &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#maximized-prop"><b>maximized</b></a>&nbsp;- whether this widget is maximized &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#maximumHeight-prop"><b>maximumHeight</b></a>&nbsp;- the widget's maximum height</li>
+<li class=fn>QSize <a href="#maximumSize-prop"><b>maximumSize</b></a>&nbsp;- the widget's maximum size</li>
+<li class=fn>int <a href="#maximumWidth-prop"><b>maximumWidth</b></a>&nbsp;- the widget's maximum width</li>
+<li class=fn>QRect <a href="#microFocusHint-prop"><b>microFocusHint</b></a>&nbsp;- the currently set micro focus hint for this widget &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#minimized-prop"><b>minimized</b></a>&nbsp;- whether this widget is minimized (iconified) &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#minimumHeight-prop"><b>minimumHeight</b></a>&nbsp;- the widget's minimum height</li>
+<li class=fn>QSize <a href="#minimumSize-prop"><b>minimumSize</b></a>&nbsp;- the widget's minimum size</li>
+<li class=fn>QSize <a href="#minimumSizeHint-prop"><b>minimumSizeHint</b></a>&nbsp;- the recommended minimum size for the widget &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#minimumWidth-prop"><b>minimumWidth</b></a>&nbsp;- the widget's minimum width</li>
+<li class=fn>bool <a href="#mouseTracking-prop"><b>mouseTracking</b></a>&nbsp;- whether mouse tracking is enabled for the widget</li>
+<li class=fn>bool <a href="#ownCursor-prop"><b>ownCursor</b></a>&nbsp;- whether the widget uses its own cursor &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#ownFont-prop"><b>ownFont</b></a>&nbsp;- whether the widget uses its own font &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#ownPalette-prop"><b>ownPalette</b></a>&nbsp;- whether the widget uses its own palette &nbsp;<em>(read only)</em></li>
+<li class=fn>QPalette <a href="#palette-prop"><b>palette</b></a>&nbsp;- the widget's palette</li>
+<li class=fn>QColor <a href="#paletteBackgroundColor-prop"><b>paletteBackgroundColor</b></a>&nbsp;- the background color of the widget</li>
+<li class=fn>QPixmap <a href="#paletteBackgroundPixmap-prop"><b>paletteBackgroundPixmap</b></a>&nbsp;- the background pixmap of the widget</li>
+<li class=fn>QColor <a href="#paletteForegroundColor-prop"><b>paletteForegroundColor</b></a>&nbsp;- the foreground color of the widget</li>
+<li class=fn>QPoint <a href="#pos-prop"><b>pos</b></a>&nbsp;- the position of the widget within its parent widget</li>
+<li class=fn>QRect <a href="#rect-prop"><b>rect</b></a>&nbsp;- the internal geometry of the widget excluding any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#shown-prop"><b>shown</b></a>&nbsp;- whether the widget is shown</li>
+<li class=fn>QSize <a href="#size-prop"><b>size</b></a>&nbsp;- the size of the widget excluding any window frame</li>
+<li class=fn>QSize <a href="#sizeHint-prop"><b>sizeHint</b></a>&nbsp;- the recommended size for the widget &nbsp;<em>(read only)</em></li>
+<li class=fn>QSize <a href="#sizeIncrement-prop"><b>sizeIncrement</b></a>&nbsp;- the size increment of the widget</li>
+<li class=fn>QSizePolicy <a href="#sizePolicy-prop"><b>sizePolicy</b></a>&nbsp;- the default layout behavior of the widget</li>
+<li class=fn>bool <a href="#underMouse-prop"><b>underMouse</b></a>&nbsp;- whether the widget is under the mouse cursor &nbsp;<em>(read only)</em></li>
+<li class=fn>bool <a href="#updatesEnabled-prop"><b>updatesEnabled</b></a>&nbsp;- whether updates are enabled</li>
+<li class=fn>bool <a href="#visible-prop"><b>visible</b></a>&nbsp;- whether the widget is visible &nbsp;<em>(read only)</em></li>
+<li class=fn>QRect visibleRect&nbsp;- the visible rectangle &nbsp;<em>(read only)</em> &nbsp;<em>(obsolete)</em></li>
+<li class=fn>int <a href="#width-prop"><b>width</b></a>&nbsp;- the width of the widget excluding any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>double <a href="#windowOpacity-prop"><b>windowOpacity</b></a>&nbsp;- the level of opacity for the window</li>
+<li class=fn>int <a href="#x-prop"><b>x</b></a>&nbsp;- the x coordinate of the widget relative to its parent including any window frame &nbsp;<em>(read only)</em></li>
+<li class=fn>int <a href="#y-prop"><b>y</b></a>&nbsp;- the y coordinate of the widget relative to its parent and including any window frame &nbsp;<em>(read only)</em></li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#event"><b>event</b></a> ( QEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mousePressEvent"><b>mousePressEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mouseReleaseEvent"><b>mouseReleaseEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mouseDoubleClickEvent"><b>mouseDoubleClickEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#mouseMoveEvent"><b>mouseMoveEvent</b></a> ( QMouseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#wheelEvent"><b>wheelEvent</b></a> ( QWheelEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#keyPressEvent"><b>keyPressEvent</b></a> ( QKeyEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#keyReleaseEvent"><b>keyReleaseEvent</b></a> ( QKeyEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#focusInEvent"><b>focusInEvent</b></a> ( QFocusEvent * )</li>
+<li class=fn>virtual void <a href="#focusOutEvent"><b>focusOutEvent</b></a> ( QFocusEvent * )</li>
+<li class=fn>virtual void <a href="#enterEvent"><b>enterEvent</b></a> ( QEvent * )</li>
+<li class=fn>virtual void <a href="#leaveEvent"><b>leaveEvent</b></a> ( QEvent * )</li>
+<li class=fn>virtual void <a href="#paintEvent"><b>paintEvent</b></a> ( QPaintEvent * )</li>
+<li class=fn>virtual void <a href="#moveEvent"><b>moveEvent</b></a> ( QMoveEvent * )</li>
+<li class=fn>virtual void <a href="#resizeEvent"><b>resizeEvent</b></a> ( QResizeEvent * )</li>
+<li class=fn>virtual void <a href="#closeEvent"><b>closeEvent</b></a> ( QCloseEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#contextMenuEvent"><b>contextMenuEvent</b></a> ( QContextMenuEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#imStartEvent"><b>imStartEvent</b></a> ( QIMEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#imComposeEvent"><b>imComposeEvent</b></a> ( QIMEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#imEndEvent"><b>imEndEvent</b></a> ( QIMEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#tabletEvent"><b>tabletEvent</b></a> ( QTabletEvent&nbsp;*&nbsp;e )</li>
+<li class=fn>virtual void <a href="#dragEnterEvent"><b>dragEnterEvent</b></a> ( QDragEnterEvent * )</li>
+<li class=fn>virtual void <a href="#dragMoveEvent"><b>dragMoveEvent</b></a> ( QDragMoveEvent * )</li>
+<li class=fn>virtual void <a href="#dragLeaveEvent"><b>dragLeaveEvent</b></a> ( QDragLeaveEvent * )</li>
+<li class=fn>virtual void <a href="#dropEvent"><b>dropEvent</b></a> ( QDropEvent * )</li>
+<li class=fn>virtual void <a href="#showEvent"><b>showEvent</b></a> ( QShowEvent * )</li>
+<li class=fn>virtual void <a href="#hideEvent"><b>hideEvent</b></a> ( QHideEvent * )</li>
+<li class=fn>virtual bool <a href="#macEvent"><b>macEvent</b></a> ( MSG * )</li>
+<li class=fn>virtual bool <a href="#winEvent"><b>winEvent</b></a> ( MSG * )</li>
+<li class=fn>virtual bool <a href="#x11Event"><b>x11Event</b></a> ( XEvent * )</li>
+<li class=fn>virtual bool <a href="#qwsEvent"><b>qwsEvent</b></a> ( QWSEvent * )</li>
+<li class=fn>virtual void <a href="#updateMask"><b>updateMask</b></a> ()</li>
+<li class=fn>virtual void <a href="#styleChange"><b>styleChange</b></a> ( QStyle&nbsp;&amp;&nbsp;oldStyle )</li>
+<li class=fn>virtual void <a href="#enabledChange"><b>enabledChange</b></a> ( bool&nbsp;oldEnabled )</li>
+<li class=fn>virtual void <a href="#paletteChange"><b>paletteChange</b></a> ( const&nbsp;QPalette&nbsp;&amp;&nbsp;oldPalette )</li>
+<li class=fn>virtual void <a href="#fontChange"><b>fontChange</b></a> ( const&nbsp;QFont&nbsp;&amp;&nbsp;oldFont )</li>
+<li class=fn>virtual void <a href="#windowActivationChange"><b>windowActivationChange</b></a> ( bool&nbsp;oldActive )</li>
+<li class=fn>virtual int <a href="#metric"><b>metric</b></a> ( int&nbsp;m ) const</li>
+<li class=fn>void <a href="#resetInputContext"><b>resetInputContext</b></a> ()</li>
+<li class=fn>virtual void <a href="#create"><b>create</b></a> ( WId&nbsp;window = 0, bool&nbsp;initializeWindow = TRUE, bool&nbsp;destroyOldWindow = TRUE )</li>
+<li class=fn>virtual void <a href="#destroy"><b>destroy</b></a> ( bool&nbsp;destroyWindow = TRUE, bool&nbsp;destroySubWindows = TRUE )</li>
+<li class=fn>WFlags <a href="#getWFlags"><b>getWFlags</b></a> () const</li>
+<li class=fn>virtual void <a href="#setWFlags"><b>setWFlags</b></a> ( WFlags&nbsp;f )</li>
+<li class=fn>void <a href="#clearWFlags"><b>clearWFlags</b></a> ( WFlags&nbsp;f )</li>
+<li class=fn>virtual bool <a href="#focusNextPrevChild"><b>focusNextPrevChild</b></a> ( bool&nbsp;next )</li>
+<li class=fn>QFocusData * <a href="#focusData"><b>focusData</b></a> ()</li>
+<li class=fn>virtual void <a href="#setKeyCompression"><b>setKeyCompression</b></a> ( bool&nbsp;compress )</li>
+<li class=fn>virtual void <a href="#setMicroFocusHint"><b>setMicroFocusHint</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;width, int&nbsp;height, bool&nbsp;text = TRUE, QFont&nbsp;*&nbsp;f = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWidget class is the base class of all user interface objects.
+<p>
+
+<p> The widget is the atom of the user interface: it receives mouse,
+keyboard and other events from the window system, and paints a
+representation of itself on the screen. Every widget is
+rectangular, and they are sorted in a Z-order. A widget is
+clipped by its parent and by the widgets in front of it.
+<p> A widget that isn't embedded in a parent widget is called a
+top-level widget. Usually, top-level widgets are windows with a
+frame and a title bar (although it is also possible to create
+top-level widgets without such decoration if suitable widget flags
+are used). In Qt, <a href="qmainwindow.html">QMainWindow</a> and the various subclasses of
+<a href="qdialog.html">QDialog</a> are the most common top-level windows.
+<p> A widget without a parent widget is always a top-level widget.
+<p> Non-top-level widgets are child widgets. These are child windows
+in their parent widgets. You cannot usually distinguish a child
+widget from its parent visually. Most other widgets in Qt are
+useful only as child widgets. (It is possible to make, say, a
+button into a top-level widget, but most people prefer to put
+their buttons inside other widgets, e.g. QDialog.)
+<p> If you want to use a QWidget to hold child widgets you will
+probably want to add a layout to the parent QWidget. (See <a href="layout.html">Layouts</a>.)
+<p> QWidget has many member functions, but some of them have little
+direct functionality: for example, QWidget has a font property,
+but never uses this itself. There are many subclasses which
+provide real functionality, such as <a href="qpushbutton.html">QPushButton</a>, <a href="qlistbox.html">QListBox</a> and
+<a href="qtabdialog.html">QTabDialog</a>, etc.
+<p> <h3> Groups of functions:
+</h3>
+<a name="1"></a><p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Context <th valign="top">Functions
+<tr bgcolor="#f0f0f0"> <td valign="top">Window functions <td valign="top">
+<a href="#show">show</a>(),
+<a href="#hide">hide</a>(),
+<a href="#raise">raise</a>(),
+<a href="#lower">lower</a>(),
+<a href="#close">close</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Top level windows <td valign="top">
+<a href="#caption">caption</a>(),
+<a href="#setCaption">setCaption</a>(),
+<a href="#icon">icon</a>(),
+<a href="#setIcon">setIcon</a>(),
+<a href="#iconText">iconText</a>(),
+<a href="#setIconText">setIconText</a>(),
+<a href="#isActiveWindow">isActiveWindow</a>(),
+<a href="#setActiveWindow">setActiveWindow</a>(),
+<a href="#showMinimized">showMinimized</a>().
+<a href="#showMaximized">showMaximized</a>(),
+<a href="#showFullScreen">showFullScreen</a>(),
+<a href="#showNormal">showNormal</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">Window contents <td valign="top">
+<a href="#update">update</a>(),
+<a href="#repaint">repaint</a>(),
+<a href="#erase">erase</a>(),
+<a href="#scroll">scroll</a>(),
+<a href="#updateMask">updateMask</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Geometry <td valign="top">
+<a href="#pos">pos</a>(),
+<a href="#size">size</a>(),
+<a href="#rect">rect</a>(),
+<a href="#x">x</a>(),
+<a href="#y">y</a>(),
+<a href="#width">width</a>(),
+<a href="#height">height</a>(),
+<a href="#sizePolicy">sizePolicy</a>(),
+<a href="#setSizePolicy">setSizePolicy</a>(),
+<a href="#sizeHint">sizeHint</a>(),
+<a href="#updateGeometry">updateGeometry</a>(),
+<a href="#layout">layout</a>(),
+<a href="#move">move</a>(),
+<a href="#resize">resize</a>(),
+<a href="#setGeometry">setGeometry</a>(),
+<a href="#frameGeometry">frameGeometry</a>(),
+<a href="#geometry">geometry</a>(),
+<a href="#childrenRect">childrenRect</a>(),
+<a href="#adjustSize">adjustSize</a>(),
+<a href="#mapFromGlobal">mapFromGlobal</a>(),
+<a href="#mapFromParent">mapFromParent</a>()
+<a href="#mapToGlobal">mapToGlobal</a>(),
+<a href="#mapToParent">mapToParent</a>(),
+<a href="#maximumSize">maximumSize</a>(),
+<a href="#minimumSize">minimumSize</a>(),
+<a href="#sizeIncrement">sizeIncrement</a>(),
+<a href="#setMaximumSize">setMaximumSize</a>(),
+<a href="#setMinimumSize">setMinimumSize</a>(),
+<a href="#setSizeIncrement">setSizeIncrement</a>(),
+<a href="#setBaseSize">setBaseSize</a>(),
+<a href="#setFixedSize">setFixedSize</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Mode <td valign="top">
+<a href="#isVisible">isVisible</a>(),
+<a href="#isVisibleTo">isVisibleTo</a>(),
+<a href="#isMinimized">isMinimized</a>(),
+<a href="#isDesktop">isDesktop</a>(),
+<a href="#isEnabled">isEnabled</a>(),
+<a href="#isEnabledTo">isEnabledTo</a>(),
+<a href="#isModal">isModal</a>(),
+<a href="#isPopup">isPopup</a>(),
+<a href="#isTopLevel">isTopLevel</a>(),
+<a href="#setEnabled">setEnabled</a>(),
+<a href="#hasMouseTracking">hasMouseTracking</a>(),
+<a href="#setMouseTracking">setMouseTracking</a>(),
+<a href="#isUpdatesEnabled">isUpdatesEnabled</a>(),
+<a href="#setUpdatesEnabled">setUpdatesEnabled</a>(),
+<a href="#clipRegion">clipRegion</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Look and feel <td valign="top">
+<a href="#style">style</a>(),
+<a href="#setStyle">setStyle</a>(),
+<a href="#cursor">cursor</a>(),
+<a href="#setCursor">setCursor</a>()
+<a href="#font">font</a>(),
+<a href="#setFont">setFont</a>(),
+<a href="#palette">palette</a>(),
+<a href="#setPalette">setPalette</a>(),
+<a href="#backgroundMode">backgroundMode</a>(),
+<a href="#setBackgroundMode">setBackgroundMode</a>(),
+<a href="#colorGroup">colorGroup</a>(),
+<a href="#fontMetrics">fontMetrics</a>(),
+<a href="#fontInfo">fontInfo</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="focus.html#keyboard-focus">Keyboard focus</a><br>functions <td valign="top">
+<a href="#isFocusEnabled">isFocusEnabled</a>(),
+<a href="#setFocusPolicy">setFocusPolicy</a>(),
+<a href="#focusPolicy">focusPolicy</a>(),
+<a href="#hasFocus">hasFocus</a>(),
+<a href="#setFocus">setFocus</a>(),
+<a href="#clearFocus">clearFocus</a>(),
+<a href="#setTabOrder">setTabOrder</a>(),
+<a href="#setFocusProxy">setFocusProxy</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Mouse and<br>keyboard grabbing <td valign="top">
+<a href="#grabMouse">grabMouse</a>(),
+<a href="#releaseMouse">releaseMouse</a>(),
+<a href="#grabKeyboard">grabKeyboard</a>(),
+<a href="#releaseKeyboard">releaseKeyboard</a>(),
+<a href="#mouseGrabber">mouseGrabber</a>(),
+<a href="#keyboardGrabber">keyboardGrabber</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">Event handlers <td valign="top">
+<a href="#event">event</a>(),
+<a href="#mousePressEvent">mousePressEvent</a>(),
+<a href="#mouseReleaseEvent">mouseReleaseEvent</a>(),
+<a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(),
+<a href="#mouseMoveEvent">mouseMoveEvent</a>(),
+<a href="#keyPressEvent">keyPressEvent</a>(),
+<a href="#keyReleaseEvent">keyReleaseEvent</a>(),
+<a href="#focusInEvent">focusInEvent</a>(),
+<a href="#focusOutEvent">focusOutEvent</a>(),
+<a href="#wheelEvent">wheelEvent</a>(),
+<a href="#enterEvent">enterEvent</a>(),
+<a href="#leaveEvent">leaveEvent</a>(),
+<a href="#paintEvent">paintEvent</a>(),
+<a href="#moveEvent">moveEvent</a>(),
+<a href="#resizeEvent">resizeEvent</a>(),
+<a href="#closeEvent">closeEvent</a>(),
+<a href="#dragEnterEvent">dragEnterEvent</a>(),
+<a href="#dragMoveEvent">dragMoveEvent</a>(),
+<a href="#dragLeaveEvent">dragLeaveEvent</a>(),
+<a href="#dropEvent">dropEvent</a>(),
+<a href="qobject.html#childEvent">childEvent</a>(),
+<a href="#showEvent">showEvent</a>(),
+<a href="#hideEvent">hideEvent</a>(),
+<a href="qobject.html#customEvent">customEvent</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">Change handlers <td valign="top">
+<a href="#enabledChange">enabledChange</a>(),
+<a href="#fontChange">fontChange</a>(),
+<a href="#paletteChange">paletteChange</a>(),
+<a href="#styleChange">styleChange</a>(),
+<a href="#windowActivationChange">windowActivationChange</a>().
+<tr bgcolor="#f0f0f0"> <td valign="top">System functions <td valign="top">
+<a href="#parentWidget">parentWidget</a>(),
+<a href="#topLevelWidget">topLevelWidget</a>(),
+<a href="#reparent">reparent</a>(),
+<a href="#polish">polish</a>(),
+<a href="#winId">winId</a>(),
+<a href="#find">find</a>(),
+<a href="#metric">metric</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top">What's this help <td valign="top">
+<a href="#customWhatsThis">customWhatsThis</a>()
+<tr bgcolor="#f0f0f0"> <td valign="top">Internal kernel<br>functions <td valign="top">
+<a href="#focusNextPrevChild">focusNextPrevChild</a>(),
+wmapper(),
+<a href="#clearWFlags">clearWFlags</a>(),
+<a href="#getWFlags">getWFlags</a>(),
+<a href="#setWFlags">setWFlags</a>(),
+<a href="#testWFlags">testWFlags</a>().
+<p> </table></center>
+<p> Every widget's constructor accepts two or three standard arguments:
+<ol type=1>
+<li> <tt>QWidget *parent = 0</tt> is the parent of the new widget.
+If it is 0 (the default), the new widget will be a top-level window.
+If not, it will be a child of <em>parent</em>, and be constrained by <em>parent</em>'s geometry (unless you specify <a href="qt.html#WidgetFlags-enum">WType_TopLevel</a> as
+<a href="qt.html#WidgetFlags">widget flag</a>).
+<li> <tt>const char *name = 0</tt> is the widget name of the new
+widget. You can access it using <a href="qobject.html#name">name</a>(). The widget name is little
+used by programmers but is quite useful with GUI builders such as
+<em>Qt Designer</em> (you can name a widget in <em>Qt Designer</em>, and
+<a href="qobject.html#connect">connect</a>() to it using the name in your code). The <a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+debugging function also uses it.
+<li> <tt>WFlags f = 0</tt> (where available) sets the widget flags; the
+default is suitable for almost all widgets, but to get, for
+example, a top-level widget without a window system frame, you
+must use special flags.
+</ol>
+<p> The tictac/tictac.cpp example program is good example of a simple
+widget. It contains a few event handlers (as all widgets must), a
+few custom routines that are specific to it (as all useful widgets
+do), and has a few children and connections. Everything it does
+is done in response to an event: this is by far the most common way
+to design GUI applications.
+<p> You will need to supply the content for your widgets yourself, but
+here is a brief run-down of the events, starting with the most common
+ones:
+<p> <ul>
+<p> <li> <a href="#paintEvent">paintEvent</a>() - called whenever the widget needs to be
+repainted. Every widget which displays output must implement it,
+and it is wise <em>not</em> to paint on the screen outside
+paintEvent().
+<p> <li> <a href="#resizeEvent">resizeEvent</a>() - called when the widget has been resized.
+<p> <li> <a href="#mousePressEvent">mousePressEvent</a>() - called when a mouse button is pressed.
+There are six mouse-related events, but the mouse press and mouse
+release events are by far the most important. A widget receives
+mouse press events when the mouse is inside it, or when it has
+grabbed the mouse using <a href="#grabMouse">grabMouse</a>().
+<p> <li> <a href="#mouseReleaseEvent">mouseReleaseEvent</a>() - called when a mouse button is released.
+A widget receives mouse release events when it has received the
+corresponding mouse press event. This means that if the user
+presses the mouse inside <em>your</em> widget, then drags the mouse to
+somewhere else, then releases, <em>your</em> widget receives the release
+event. There is one exception: if a popup menu appears while the
+mouse button is held down, this popup immediately steals the mouse
+events.
+<p> <li> <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>() - not quite as obvious as it might seem.
+If the user double-clicks, the widget receives a mouse press event
+(perhaps a mouse move event or two if they don't hold the mouse
+quite steady), a mouse release event and finally this event. It is
+<em>not possible</em> to distinguish a click from a double click until you've
+seen whether the second click arrives. (This is one reason why most GUI
+books recommend that double clicks be an extension of single clicks,
+rather than trigger a different action.)
+<p> </ul>
+<p> If your widget only contains child widgets, you probably do not need to
+implement any event handlers. If you want to detect a mouse click in
+a child widget call the child's <a href="#hasMouse">hasMouse</a>() function inside the
+parent widget's <a href="#mousePressEvent">mousePressEvent</a>().
+<p> Widgets that accept keyboard input need to reimplement a few more
+event handlers:
+<p> <ul>
+<p> <li> <a href="#keyPressEvent">keyPressEvent</a>() - called whenever a key is pressed, and again
+when a key has been held down long enough for it to auto-repeat.
+Note that the Tab and Shift+Tab keys are only passed to the widget
+if they are not used by the focus-change mechanisms. To force those
+keys to be processed by your widget, you must reimplement
+<a href="#event">QWidget::event</a>().
+<p> <li> <a href="#focusInEvent">focusInEvent</a>() - called when the widget gains keyboard focus
+(assuming you have called <a href="#setFocusPolicy">setFocusPolicy</a>()). Well written widgets
+indicate that they own the keyboard focus in a clear but discreet
+way.
+<p> <li> <a href="#focusOutEvent">focusOutEvent</a>() - called when the widget loses keyboard focus.
+<p> </ul>
+<p> Some widgets will also need to reimplement some of the less common
+event handlers:
+<p> <ul>
+<p> <li> <a href="#mouseMoveEvent">mouseMoveEvent</a>() - called whenever the mouse moves while a
+button is held down. This is useful for, for example, dragging. If
+you call <a href="#setMouseTracking">setMouseTracking</a>(TRUE), you get mouse move events even
+when no buttons are held down. (Note that applications which make
+use of mouse tracking are often not very useful on low-bandwidth X
+connections.) (See also the <a href="dnd.html">drag and drop</a>
+information.)
+<p> <li> <a href="#keyReleaseEvent">keyReleaseEvent</a>() - called whenever a key is released, and also
+while it is held down if the key is auto-repeating. In that case
+the widget receives a key release event and immediately a key press
+event for every repeat. Note that the Tab and Shift+Tab keys are
+only passed to the widget if they are not used by the focus-change
+mechanisms. To force those keys to be processed by your widget, you
+must reimplement <a href="#event">QWidget::event</a>().
+<p> <li> <a href="#wheelEvent">wheelEvent</a>() -- called whenever the user turns the mouse wheel
+while the widget has the focus.
+<p> <li> <a href="#enterEvent">enterEvent</a>() - called when the mouse enters the widget's screen
+space. (This excludes screen space owned by any children of the
+widget.)
+<p> <li> <a href="#leaveEvent">leaveEvent</a>() - called when the mouse leaves the widget's screen
+space.
+<p> <li> <a href="#moveEvent">moveEvent</a>() - called when the widget has been moved relative to its
+parent.
+<p> <li> <a href="#closeEvent">closeEvent</a>() - called when the user closes the widget (or when
+<a href="#close">close</a>() is called).
+<p> </ul>
+<p> There are also some rather obscure events. They are listed in
+<a href="qevent-h.html">qevent.h</a> and you need to reimplement <a href="#event">event</a>() to handle them.
+The default implementation of event() handles Tab and Shift+Tab
+(to move the keyboard focus), and passes on most other events to
+one of the more specialized handlers above.
+<p> When implementing a widget, there are a few more things to
+consider.
+<p> <ul>
+<p> <li> In the constructor, be sure to set up your member variables
+early on, before there's any chance that you might receive an event.
+<p> <li> It is almost always useful to reimplement <a href="#sizeHint">sizeHint</a>() and to set
+the correct size policy with <a href="#setSizePolicy">setSizePolicy</a>(), so users of your class
+can set up layout management more easily. A size policy lets you
+supply good defaults for the layout management handling, so that
+other widgets can contain and manage yours easily. sizeHint()
+indicates a "good" size for the widget.
+<p> <li> If your widget is a top-level window, <a href="#setCaption">setCaption</a>() and <a href="#setIcon">setIcon</a>() set
+the title bar and icon respectively.
+<p> </ul>
+<p> <p>See also <a href="qevent.html">QEvent</a>, <a href="qpainter.html">QPainter</a>, <a href="qgridlayout.html">QGridLayout</a>, <a href="qboxlayout.html">QBoxLayout</a>, and <a href="abstractwidgets.html">Abstract Widget Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="BackgroundOrigin-enum"></a>QWidget::BackgroundOrigin</h3>
+
+<p> This enum defines the origin used to draw a widget's background
+pixmap.
+<p> The pixmap is drawn using the:
+<ul>
+<li><tt>QWidget::WidgetOrigin</tt> - widget's coordinate system.
+<li><tt>QWidget::ParentOrigin</tt> - parent's coordinate system.
+<li><tt>QWidget::WindowOrigin</tt> - top-level window's coordinate system.
+<li><tt>QWidget::AncestorOrigin</tt> - same origin as the parent uses.
+</ul>
+<h3 class=fn><a name="FocusPolicy-enum"></a>QWidget::FocusPolicy</h3>
+
+<p> This enum type defines the various policies a widget can have with
+respect to acquiring <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<ul>
+<li><tt>QWidget::TabFocus</tt> - the widget accepts focus by tabbing.
+<li><tt>QWidget::ClickFocus</tt> - the widget accepts focus by clicking.
+<li><tt>QWidget::StrongFocus</tt> - the widget accepts focus by both tabbing
+and clicking. On Mac OS X this will also
+be indicate that the widget accepts tab focus
+when in 'Text/List focus mode'.
+<li><tt>QWidget::WheelFocus</tt> - like StrongFocus plus the widget accepts
+focus by using the mouse wheel.
+<li><tt>QWidget::NoFocus</tt> - the widget does not accept focus.
+</ul><p>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>explicit <a name="QWidget"></a>QWidget::QWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, WFlags&nbsp;f = 0 )
+</h3>
+Constructs a widget which is a child of <em>parent</em>, with the name
+<em>name</em> and widget flags set to <em>f</em>.
+<p> If <em>parent</em> is 0, the new widget becomes a top-level window. If
+<em>parent</em> is another widget, this widget becomes a child window
+inside <em>parent</em>. The new widget is deleted when its <em>parent</em> is
+deleted.
+<p> The <em>name</em> is sent to the <a href="qobject.html">QObject</a> constructor.
+<p> The widget flags argument, <em>f</em>, is normally 0, but it can be set
+to customize the window frame of a top-level widget (i.e. <em>parent</em> must be 0). To customize the frame, set the <a href="qt.html#WidgetFlags-enum">WStyle_Customize</a> flag OR'ed with any of the <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+<p> If you add a child widget to an already visible widget you must
+explicitly show the child to make it visible.
+<p> Note that the X11 version of Qt may not be able to deliver all
+combinations of style flags on all systems. This is because on
+X11, Qt can only ask the window manager, and the window manager
+can override the application's settings. On Windows, Qt can set
+whatever flags you want.
+<p> Example:
+<pre>
+ <a href="qlabel.html">QLabel</a> *splashScreen = new <a href="qlabel.html">QLabel</a>( 0, "mySplashScreen",
+ WStyle_Customize | WStyle_Splash );
+ </pre>
+
+
+<h3 class=fn><a name="~QWidget"></a>QWidget::~QWidget ()
+</h3>
+Destroys the widget.
+<p> All this widget's children are deleted first. The application
+exits if this widget is the main widget.
+
+<h3 class=fn>bool <a name="acceptDrops"></a>QWidget::acceptDrops () const
+</h3><p>Returns TRUE if drop events are enabled for this widget; otherwise returns FALSE.
+See the <a href="qwidget.html#acceptDrops-prop">"acceptDrops"</a> property for details.
+<h3 class=fn>void <a name="adjustSize"></a>QWidget::adjustSize ()<tt> [virtual slot]</tt>
+</h3>
+Adjusts the size of the widget to fit the contents.
+<p> Uses <a href="#sizeHint">sizeHint</a>() if valid (i.e if the size hint's width and height
+are &gt;= 0), otherwise sets the size to the children rectangle (the
+union of all child widget geometries).
+<p> <p>See also <a href="#sizeHint-prop">sizeHint</a> and <a href="#childrenRect-prop">childrenRect</a>.
+
+<p>Example: <a href="xform-example.html#x1266">xform/xform.cpp</a>.
+<p>Reimplemented in <a href="qmessagebox.html#adjustSize">QMessageBox</a>.
+<h3 class=fn>bool <a name="autoMask"></a>QWidget::autoMask () const
+</h3><p>Returns TRUE if the auto mask feature is enabled for the widget; otherwise returns FALSE.
+See the <a href="qwidget.html#autoMask-prop">"autoMask"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qbrush.html">QBrush</a>&nbsp;&amp; <a name="backgroundBrush"></a>QWidget::backgroundBrush () const
+</h3><p>Returns the widget's background brush.
+See the <a href="qwidget.html#backgroundBrush-prop">"backgroundBrush"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="backgroundColor"></a>QWidget::backgroundColor () const
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#paletteBackgroundColor">paletteBackgroundColor</a>() or <a href="#eraseColor">eraseColor</a>() instead.
+<h3 class=fn><a href="qt.html#BackgroundMode-enum">BackgroundMode</a> <a name="backgroundMode"></a>QWidget::backgroundMode () const
+</h3><p>Returns the color role used for painting the background of the widget.
+See the <a href="qwidget.html#backgroundMode-prop">"backgroundMode"</a> property for details.
+<h3 class=fn><a href="qwidget.html#BackgroundOrigin-enum">BackgroundOrigin</a> <a name="backgroundOrigin"></a>QWidget::backgroundOrigin () const
+</h3><p>Returns the origin of the widget's background.
+See the <a href="qwidget.html#backgroundOrigin-prop">"backgroundOrigin"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="backgroundPixmap"></a>QWidget::backgroundPixmap () const
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#paletteBackgroundPixmap">paletteBackgroundPixmap</a>() or <a href="#erasePixmap">erasePixmap</a>() instead.
+<p>Examples: <a href="themes-example.html#x305">themes/metal.cpp</a> and <a href="themes-example.html#x250">themes/wood.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="baseSize"></a>QWidget::baseSize () const
+</h3><p>Returns the base size of the widget.
+See the <a href="qwidget.html#baseSize-prop">"baseSize"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="caption"></a>QWidget::caption () const
+</h3><p>Returns the window caption (title).
+See the <a href="qwidget.html#caption-prop">"caption"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="childAt"></a>QWidget::childAt ( int&nbsp;x, int&nbsp;y, bool&nbsp;includeThis = FALSE ) const
+</h3>
+Returns the visible child widget at pixel position <em>(x, y)</em> in
+the widget's own coordinate system.
+<p> If <em>includeThis</em> is TRUE, and there is no child visible at <em>(x, y)</em>, the widget itself is returned.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="childAt-2"></a>QWidget::childAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, bool&nbsp;includeThis = FALSE ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the visible child widget at point <em>p</em> in the widget's own
+coordinate system.
+<p> If <em>includeThis</em> is TRUE, and there is no child visible at <em>p</em>,
+the widget itself is returned.
+<p>
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="childrenRect"></a>QWidget::childrenRect () const
+</h3><p>Returns the bounding rectangle of the widget's children.
+See the <a href="qwidget.html#childrenRect-prop">"childrenRect"</a> property for details.
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="childrenRegion"></a>QWidget::childrenRegion () const
+</h3><p>Returns the combined region occupied by the widget's children.
+See the <a href="qwidget.html#childrenRegion-prop">"childrenRegion"</a> property for details.
+<h3 class=fn>void <a name="clearFocus"></a>QWidget::clearFocus ()<tt> [slot]</tt>
+</h3>
+Takes keyboard input focus from the widget.
+<p> If the widget has active focus, a <a href="#focusOutEvent">focus out
+ event</a> is sent to this widget to tell it that it is about
+to lose the focus.
+<p> This widget must enable focus setting in order to get the keyboard
+input focus, i.e. it must call <a href="#setFocusPolicy">setFocusPolicy</a>().
+<p> <p>See also <a href="#focus-prop">focus</a>, <a href="#setFocus">setFocus</a>(), <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, and <a href="qapplication.html#focusWidget">QApplication::focusWidget</a>().
+
+<h3 class=fn>void <a name="clearMask"></a>QWidget::clearMask ()
+</h3>
+Removes any mask set by <a href="#setMask">setMask</a>().
+<p> <p>See also <a href="#setMask">setMask</a>().
+
+<h3 class=fn>void <a name="clearWFlags"></a>QWidget::clearWFlags ( WFlags&nbsp;f )<tt> [protected]</tt>
+</h3>
+
+<p> Clears the widget flags <em>f</em>.
+<p> Widget flags are a combination of <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+<p> <p>See also <a href="#testWFlags">testWFlags</a>(), <a href="#getWFlags">getWFlags</a>(), and <a href="#setWFlags">setWFlags</a>().
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="clipRegion"></a>QWidget::clipRegion () const
+</h3>
+Returns the unobscured region where paint events can occur.
+<p> For visible widgets, this is an approximation of the area not
+covered by other widgets; otherwise, this is an empty region.
+<p> The <a href="#repaint">repaint</a>() function calls this function if necessary, so in
+general you do not need to call it.
+<p>
+<h3 class=fn>bool <a name="close"></a>QWidget::close ()<tt> [slot]</tt>
+</h3>
+
+<p> Closes this widget. Returns TRUE if the widget was closed;
+otherwise returns FALSE.
+<p> First it sends the widget a <a href="qcloseevent.html">QCloseEvent</a>. The widget is <a href="#hide">hidden</a> if it <a href="qcloseevent.html#accept">accepts</a> the close event. The default implementation of
+<a href="#closeEvent">QWidget::closeEvent</a>() accepts the close event.
+<p> The <a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>() signal is emitted when the
+last visible top level widget is closed.
+<p>
+<p>Examples: <a href="motif-dialog-example.html#x2708">dialog/mainwindow.cpp</a>, <a href="mdi-example.html#x2076">mdi/application.cpp</a>, <a href="popup-example.html#x1616">popup/popup.cpp</a>, and <a href="toplevel-example.html#x2535">toplevel/options.ui.h</a>.
+<h3 class=fn>bool <a name="close-2"></a>QWidget::close ( bool&nbsp;alsoDelete )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Closes this widget. Returns TRUE if the widget was closed;
+otherwise returns FALSE.
+<p> If <em>alsoDelete</em> is TRUE or the widget has the <a href="qt.html#WidgetFlags-enum">WDestructiveClose</a> widget flag, the widget is also deleted. The
+widget can prevent itself from being closed by rejecting the
+<a href="qcloseevent.html">QCloseEvent</a> it gets. A close events is delivered to the widget
+no matter if the widget is visible or not.
+<p> The <a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>() signal is emitted when the
+last visible top level widget is closed.
+<p> Note that closing the <a href="qapplication.html#mainWidget">QApplication::mainWidget</a>() terminates the
+application.
+<p> <p>See also <a href="#closeEvent">closeEvent</a>(), <a href="qcloseevent.html">QCloseEvent</a>, <a href="#hide">hide</a>(), <a href="qapplication.html#quit">QApplication::quit</a>(), <a href="qapplication.html#setMainWidget">QApplication::setMainWidget</a>(), and <a href="qapplication.html#lastWindowClosed">QApplication::lastWindowClosed</a>().
+
+<h3 class=fn>void <a name="closeEvent"></a>QWidget::closeEvent ( <a href="qcloseevent.html">QCloseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive widget close events.
+<p> The default implementation calls e->accept(), which hides this
+widget. See the <a href="qcloseevent.html">QCloseEvent</a> documentation for more details.
+<p> <p>See also <a href="#event">event</a>(), <a href="#hide">hide</a>(), <a href="#close">close</a>(), and <a href="qcloseevent.html">QCloseEvent</a>.
+
+<p>Examples: <a href="qaction-application-example.html#x1173">action/application.cpp</a>, <a href="simple-application-example.html#x1592">application/application.cpp</a>, <a href="canvas-chart-example.html#x2896">chart/chartform.cpp</a>, <a href="i18n-example.html#x1927">i18n/mywidget.cpp</a>, <a href="mdi-example.html#x2077">mdi/application.cpp</a>, <a href="popup-example.html#x1617">popup/popup.cpp</a>, and <a href="qwerty-example.html#x404">qwerty/qwerty.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolorgroup.html">QColorGroup</a>&nbsp;&amp; <a name="colorGroup"></a>QWidget::colorGroup () const
+</h3><p>Returns the current color group of the widget palette.
+See the <a href="qwidget.html#colorGroup-prop">"colorGroup"</a> property for details.
+<h3 class=fn>void <a name="constPolish"></a>QWidget::constPolish () const<tt> [slot]</tt>
+</h3>
+
+<p> Ensures that the widget is properly initialized by calling
+<a href="#polish">polish</a>().
+<p> Call <a href="#constPolish">constPolish</a>() from functions like <a href="#sizeHint">sizeHint</a>() that depends on
+the widget being initialized, and that may be called before
+<a href="#show">show</a>().
+<p> <b>Warning:</b> Do not call constPolish() on a widget from inside that
+widget's constructor.
+<p> <p>See also <a href="#polish">polish</a>().
+
+<h3 class=fn>void <a name="contextMenuEvent"></a>QWidget::contextMenuEvent ( <a href="qcontextmenuevent.html">QContextMenuEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive widget context menu events.
+<p> The default implementation calls e->ignore(), which rejects the
+context event. See the <a href="qcontextmenuevent.html">QContextMenuEvent</a> documentation for
+more details.
+<p> <p>See also <a href="#event">event</a>() and <a href="qcontextmenuevent.html">QContextMenuEvent</a>.
+
+<p>Example: <a href="menu-example.html#x1881">menu/menu.cpp</a>.
+<h3 class=fn>void <a name="create"></a>QWidget::create ( WId&nbsp;window = 0, bool&nbsp;initializeWindow = TRUE, bool&nbsp;destroyOldWindow = TRUE )<tt> [virtual protected]</tt>
+</h3>
+Creates a new widget window if <em>window</em> is 0, otherwise sets the
+widget's window to <em>window</em>.
+<p> Initializes the window (sets the geometry etc.) if <em>initializeWindow</em> is TRUE. If <em>initializeWindow</em> is FALSE, no
+initialization is performed. This parameter only makes sense if <em>window</em> is a valid window.
+<p> Destroys the old window if <em>destroyOldWindow</em> is TRUE. If <em>destroyOldWindow</em> is FALSE, you are responsible for destroying the
+window yourself (using platform native code).
+<p> The QWidget constructor calls <a href="#create">create</a>(0,TRUE,TRUE) to create a
+window for this widget.
+
+<h3 class=fn>const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp; <a name="cursor"></a>QWidget::cursor () const
+</h3><p>Returns the cursor shape for this widget.
+See the <a href="qwidget.html#cursor-prop">"cursor"</a> property for details.
+<h3 class=fn>bool <a name="customWhatsThis"></a>QWidget::customWhatsThis () const<tt> [virtual]</tt>
+</h3><p>Returns TRUE if the widget wants to handle What's This help manually; otherwise returns FALSE.
+See the <a href="qwidget.html#customWhatsThis-prop">"customWhatsThis"</a> property for details.
+<h3 class=fn>void <a name="destroy"></a>QWidget::destroy ( bool&nbsp;destroyWindow = TRUE, bool&nbsp;destroySubWindows = TRUE )<tt> [virtual protected]</tt>
+</h3>
+Frees up window system resources. Destroys the widget window if <em>destroyWindow</em> is TRUE.
+<p> <a href="#destroy">destroy</a>() calls itself recursively for all the child widgets,
+passing <em>destroySubWindows</em> for the <em>destroyWindow</em> parameter.
+To have more control over destruction of subwidgets, destroy
+subwidgets selectively first.
+<p> This function is usually called from the QWidget destructor.
+
+<h3 class=fn>void <a name="dragEnterEvent"></a>QWidget::dragEnterEvent ( <a href="qdragenterevent.html">QDragEnterEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when a drag is in progress and the
+mouse enters this widget.
+<p> See the <a href="dnd.html">Drag-and-drop documentation</a> for an
+overview of how to provide drag-and-drop in your application.
+<p> <p>See also <a href="qtextdrag.html">QTextDrag</a>, <a href="qimagedrag.html">QImageDrag</a>, and <a href="qdragenterevent.html">QDragEnterEvent</a>.
+
+<p>Example: <a href="simple_dd-example.html#x2829">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="dragLeaveEvent"></a>QWidget::dragLeaveEvent ( <a href="qdragleaveevent.html">QDragLeaveEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when a drag is in progress and the
+mouse leaves this widget.
+<p> See the <a href="dnd.html">Drag-and-drop documentation</a> for an
+overview of how to provide drag-and-drop in your application.
+<p> <p>See also <a href="qtextdrag.html">QTextDrag</a>, <a href="qimagedrag.html">QImageDrag</a>, and <a href="qdragleaveevent.html">QDragLeaveEvent</a>.
+
+<h3 class=fn>void <a name="dragMoveEvent"></a>QWidget::dragMoveEvent ( <a href="qdragmoveevent.html">QDragMoveEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when a drag is in progress and the
+mouse enters this widget, and whenever it moves within the widget.
+<p> See the <a href="dnd.html">Drag-and-drop documentation</a> for an
+overview of how to provide drag-and-drop in your application.
+<p> <p>See also <a href="qtextdrag.html">QTextDrag</a>, <a href="qimagedrag.html">QImageDrag</a>, and <a href="qdragmoveevent.html">QDragMoveEvent</a>.
+
+<h3 class=fn>void <a name="drawText"></a>QWidget::drawText ( int&nbsp;x, int&nbsp;y, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+Draws the string <em>str</em> at position <em>(x, y)</em>.
+<p> The <em>y</em> position is the base line position of the text. The text
+is drawn using the default font and the default foreground color.
+<p> This function is provided for convenience. You will generally get
+more flexible results and often higher speed by using a a <a href="qpainter.html">painter</a> instead.
+<p> <p>See also <a href="#font-prop">font</a>, <a href="#foregroundColor">foregroundColor</a>(), and <a href="qpainter.html#drawText">QPainter::drawText</a>().
+
+<h3 class=fn>void <a name="drawText-2"></a>QWidget::drawText ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;str )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Draws the string <em>str</em> at position <em>pos</em>.
+
+<h3 class=fn>void <a name="dropEvent"></a>QWidget::dropEvent ( <a href="qdropevent.html">QDropEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler is called when the drag is dropped on this
+widget.
+<p> See the <a href="dnd.html">Drag-and-drop documentation</a> for an
+overview of how to provide drag-and-drop in your application.
+<p> <p>See also <a href="qtextdrag.html">QTextDrag</a>, <a href="qimagedrag.html">QImageDrag</a>, and <a href="qdropevent.html">QDropEvent</a>.
+
+<p>Example: <a href="simple_dd-example.html#x2830">iconview/simple_dd/main.cpp</a>.
+<h3 class=fn>void <a name="enabledChange"></a>QWidget::enabledChange ( bool&nbsp;oldEnabled )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called from <a href="#setEnabled">setEnabled</a>(). <em>oldEnabled</em>
+is the previous setting; you can get the new setting from
+<a href="#isEnabled">isEnabled</a>().
+<p> Reimplement this function if your widget needs to know when it
+becomes enabled or disabled. You will almost certainly need to
+update the widget using <a href="#update">update</a>().
+<p> The default implementation repaints the visible part of the
+widget.
+<p> <p>See also <a href="#enabled-prop">enabled</a>, <a href="#enabled-prop">enabled</a>, <a href="#repaint">repaint</a>(), <a href="#update">update</a>(), and <a href="#clipRegion">clipRegion</a>().
+
+<h3 class=fn>void <a name="enterEvent"></a>QWidget::enterEvent ( <a href="qevent.html">QEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget enter events.
+<p> An event is sent to the widget when the mouse cursor enters the
+widget.
+<p> <p>See also <a href="#leaveEvent">leaveEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), and <a href="#event">event</a>().
+
+<h3 class=fn>void <a name="erase"></a>QWidget::erase ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )
+</h3>
+Erases the specified area <em>(x, y, w, h)</em> in the widget without
+generating a <a href="#paintEvent">paint event</a>.
+<p> If <em>w</em> is negative, it is replaced with <tt>width() - x</tt>. If <em>h</em>
+is negative, it is replaced width <tt>height() - y</tt>.
+<p> Child widgets are not affected.
+<p> <p>See also <a href="#repaint">repaint</a>().
+
+<h3 class=fn>void <a name="erase-2"></a>QWidget::erase ()
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version erases the entire widget.
+
+<h3 class=fn>void <a name="erase-3"></a>QWidget::erase ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Erases the specified area <em>r</em> in the widget without generating a
+<a href="#paintEvent">paint event</a>.
+
+<h3 class=fn>void <a name="erase-4"></a>QWidget::erase ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;reg )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Erases the area defined by <em>reg</em>, without generating a <a href="#paintEvent">paint event</a>.
+<p> Child widgets are not affected.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="eraseColor"></a>QWidget::eraseColor () const
+</h3>
+
+<p> Returns the erase color of the widget.
+<p> <p>See also <a href="#setEraseColor">setEraseColor</a>(), <a href="#setErasePixmap">setErasePixmap</a>(), and <a href="#backgroundColor">backgroundColor</a>().
+
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="erasePixmap"></a>QWidget::erasePixmap () const
+</h3>
+Returns the widget's erase pixmap.
+<p> <p>See also <a href="#setErasePixmap">setErasePixmap</a>() and <a href="#eraseColor">eraseColor</a>().
+
+<h3 class=fn>bool <a name="event"></a>QWidget::event ( <a href="qevent.html">QEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This is the main event handler; it handles event <em>e</em>. You can
+reimplement this function in a subclass, but we recommend using
+one of the specialized event handlers instead.
+<p> The main event handler first passes an event through all <a href="qobject.html#installEventFilter">event filters</a> that have been
+installed. If none of the filters intercept the event, it calls
+one of the specialized event handlers.
+<p> Key press and release events are treated differently from other
+events. <a href="#event">event</a>() checks for Tab and Shift+Tab and tries to move the
+focus appropriately. If there is no widget to move the focus to
+(or the key press is not Tab or Shift+Tab), event() calls
+<a href="#keyPressEvent">keyPressEvent</a>().
+<p> This function returns TRUE if it is able to pass the event over to
+someone (i.e. someone wanted the event); otherwise returns FALSE.
+<p> <p>See also <a href="#closeEvent">closeEvent</a>(), <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#enterEvent">enterEvent</a>(), <a href="#keyPressEvent">keyPressEvent</a>(), <a href="#keyReleaseEvent">keyReleaseEvent</a>(), <a href="#leaveEvent">leaveEvent</a>(), <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), <a href="#mousePressEvent">mousePressEvent</a>(), <a href="#mouseReleaseEvent">mouseReleaseEvent</a>(), <a href="#moveEvent">moveEvent</a>(), <a href="#paintEvent">paintEvent</a>(), <a href="#resizeEvent">resizeEvent</a>(), <a href="qobject.html#event">QObject::event</a>(), and <a href="qobject.html#timerEvent">QObject::timerEvent</a>().
+
+<p>Reimplemented from <a href="qobject.html#event">QObject</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="find"></a>QWidget::find ( WId&nbsp;id )<tt> [static]</tt>
+</h3>
+Returns a pointer to the widget with window identifer/handle <em>id</em>.
+<p> The window identifier type depends on the underlying window
+system, see <a href="qwindowdefs-h.html">qwindowdefs.h</a> for the actual definition. If there
+is no widget with this identifier, 0 is returned.
+
+<h3 class=fn><a href="qfocusdata.html">QFocusData</a>&nbsp;* <a name="focusData"></a>QWidget::focusData ()<tt> [protected]</tt>
+</h3>
+Returns the focus data for this widget's top-level widget.
+<p> Focus data always belongs to the top-level widget. The focus data
+list contains all the widgets in this top-level widget that can
+accept focus, in tab order. An iterator points to the current
+focus widget (<a href="#focusWidget">focusWidget</a>() returns a pointer to this widget).
+<p> This information is useful for implementing advanced versions of
+<a href="#focusNextPrevChild">focusNextPrevChild</a>().
+
+<h3 class=fn>void <a name="focusInEvent"></a>QWidget::focusInEvent ( <a href="qfocusevent.html">QFocusEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+<a href="focus.html#keyboard-focus">keyboard focus</a> events (focus received) for the widget.
+<p> A widget normally must <a href="#setFocusPolicy">setFocusPolicy</a>() to something other than
+<a href="#FocusPolicy-enum">NoFocus</a> in order to receive focus events. (Note that the
+application programmer can call <a href="#setFocus">setFocus</a>() on any widget, even
+those that do not normally accept focus.)
+<p> The default implementation updates the widget (except for toplevel
+widgets that do not specify a <a href="#focusPolicy">focusPolicy</a>() ). It also calls
+<a href="#setMicroFocusHint">setMicroFocusHint</a>(), hinting any system-specific input tools about
+the focus of the user's attention.
+<p> <p>See also <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, <a href="#keyPressEvent">keyPressEvent</a>(), <a href="#keyReleaseEvent">keyReleaseEvent</a>(), <a href="#event">event</a>(), and <a href="qfocusevent.html">QFocusEvent</a>.
+
+<h3 class=fn>bool <a name="focusNextPrevChild"></a>QWidget::focusNextPrevChild ( bool&nbsp;next )<tt> [virtual protected]</tt>
+</h3>
+Finds a new widget to give the <a href="focus.html#keyboard-focus">keyboard focus</a> to, as appropriate
+for Tab and Shift+Tab, and returns TRUE if is can find a new
+widget and FALSE if it can't,
+<p> If <em>next</em> is TRUE, this function searches "forwards", if <em>next</em>
+is FALSE, it searches "backwards".
+<p> Sometimes, you will want to reimplement this function. For
+example, a web browser might reimplement it to move its "current
+active link" forwards or backwards, and call
+<a href="#focusNextPrevChild">QWidget::focusNextPrevChild</a>() only when it reaches the last or
+first link on the "page".
+<p> Child widgets call <a href="#focusNextPrevChild">focusNextPrevChild</a>() on their parent widgets,
+but only the top-level widget decides where to redirect focus. By
+overriding this method for an object, you thus gain control of
+focus traversal for all child widgets.
+<p> <b>Warning:</b> <a href="qscrollview.html">QScrollView</a> uses it own logic for this function, which
+does the right thing in most cases. But if you are using a
+QScrollView and want complete control of the focus chain you'll
+need to override <a href="#focusNextPrevChild">QScrollView::focusNextPrevChild</a>() and your
+top-level widgets' focusNextPrevChild() functions.
+<p> <p>See also <a href="#focusData">focusData</a>().
+
+<h3 class=fn>void <a name="focusOutEvent"></a>QWidget::focusOutEvent ( <a href="qfocusevent.html">QFocusEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+<a href="focus.html#keyboard-focus">keyboard focus</a> events (focus lost) for the widget.
+<p> A widget normally must <a href="#setFocusPolicy">setFocusPolicy</a>() to something other than
+<a href="#FocusPolicy-enum">NoFocus</a> in order to receive focus events. (Note that the
+application programmer can call <a href="#setFocus">setFocus</a>() on any widget, even
+those that do not normally accept focus.)
+<p> The default implementation updates the widget (except for toplevel
+widgets that do not specify a <a href="#focusPolicy">focusPolicy</a>() ). It also calls
+<a href="#setMicroFocusHint">setMicroFocusHint</a>(), hinting any system-specific input tools about
+the focus of the user's attention.
+<p> <p>See also <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, <a href="#keyPressEvent">keyPressEvent</a>(), <a href="#keyReleaseEvent">keyReleaseEvent</a>(), <a href="#event">event</a>(), and <a href="qfocusevent.html">QFocusEvent</a>.
+
+<p>Example: <a href="qmag-example.html#x1796">qmag/qmag.cpp</a>.
+<h3 class=fn><a href="qwidget.html#FocusPolicy-enum">FocusPolicy</a> <a name="focusPolicy"></a>QWidget::focusPolicy () const
+</h3><p>Returns the way the widget accepts keyboard focus.
+See the <a href="qwidget.html#focusPolicy-prop">"focusPolicy"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="focusProxy"></a>QWidget::focusProxy () const
+</h3>
+Returns the focus proxy, or 0 if there is no focus proxy.
+<p> <p>See also <a href="#setFocusProxy">setFocusProxy</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="focusWidget"></a>QWidget::focusWidget () const
+</h3>
+Returns the focus widget in this widget's window. This is not the
+same as <a href="qapplication.html#focusWidget">QApplication::focusWidget</a>(), which returns the focus
+widget in the currently active window.
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font"></a>QWidget::font () const
+</h3><p>Returns the font currently set for the widget.
+See the <a href="qwidget.html#font-prop">"font"</a> property for details.
+<h3 class=fn>void <a name="fontChange"></a>QWidget::fontChange ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;oldFont )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called from <a href="#setFont">setFont</a>(). <em>oldFont</em> is the
+previous font; you can get the new font from <a href="#font">font</a>().
+<p> Reimplement this function if your widget needs to know when its
+font changes. You will almost certainly need to update the widget
+using <a href="#update">update</a>().
+<p> The default implementation updates the widget including its
+geometry.
+<p> <p>See also <a href="#font-prop">font</a>, <a href="#font-prop">font</a>, <a href="#update">update</a>(), and <a href="#updateGeometry">updateGeometry</a>().
+
+<h3 class=fn><a href="qfontinfo.html">QFontInfo</a> <a name="fontInfo"></a>QWidget::fontInfo () const
+</h3>
+
+<p> Returns the font info for the widget's current font.
+Equivalent to QFontInto(widget->font()).
+<p> <p>See also <a href="#font-prop">font</a>, <a href="#fontMetrics">fontMetrics</a>(), and <a href="#font-prop">font</a>.
+
+<h3 class=fn><a href="qfontmetrics.html">QFontMetrics</a> <a name="fontMetrics"></a>QWidget::fontMetrics () const
+</h3>
+
+<p> Returns the font metrics for the widget's current font.
+Equivalent to <a href="qfontmetrics.html">QFontMetrics</a>(widget->font()).
+<p> <p>See also <a href="#font-prop">font</a>, <a href="#fontInfo">fontInfo</a>(), and <a href="#font-prop">font</a>.
+
+<p>Examples: <a href="drawdemo-example.html#x1084">drawdemo/drawdemo.cpp</a> and <a href="qmag-example.html#x1797">qmag/qmag.cpp</a>.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="foregroundColor"></a>QWidget::foregroundColor () const
+</h3>
+Same as <a href="#paletteForegroundColor">paletteForegroundColor</a>()
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="frameGeometry"></a>QWidget::frameGeometry () const
+</h3><p>Returns geometry of the widget relative to its parent including any window frame.
+See the <a href="qwidget.html#frameGeometry-prop">"frameGeometry"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="frameSize"></a>QWidget::frameSize () const
+</h3><p>Returns the size of the widget including any window frame.
+See the <a href="qwidget.html#frameSize-prop">"frameSize"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; <a name="geometry"></a>QWidget::geometry () const
+</h3><p>Returns the geometry of the widget relative to its parent and excluding the window frame.
+See the <a href="qwidget.html#geometry-prop">"geometry"</a> property for details.
+<h3 class=fn>WFlags <a name="getWFlags"></a>QWidget::getWFlags () const<tt> [protected]</tt>
+</h3>
+
+<p> Returns the widget flags for this this widget.
+<p> Widget flags are a combination of <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+<p> <p>See also <a href="#testWFlags">testWFlags</a>(), <a href="#setWFlags">setWFlags</a>(), and <a href="#clearWFlags">clearWFlags</a>().
+
+<h3 class=fn>void <a name="grabKeyboard"></a>QWidget::grabKeyboard ()
+</h3>
+Grabs the keyboard input.
+<p> This widget reveives all keyboard events until <a href="#releaseKeyboard">releaseKeyboard</a>()
+is called; other widgets get no keyboard events at all. Mouse
+events are not affected. Use <a href="#grabMouse">grabMouse</a>() if you want to grab that.
+<p> The focus widget is not affected, except that it doesn't receive
+any keyboard events. <a href="#setFocus">setFocus</a>() moves the focus as usual, but the
+new focus widget receives keyboard events only after
+releaseKeyboard() is called.
+<p> If a different widget is currently grabbing keyboard input, that
+widget's grab is released first.
+<p> <p>See also <a href="#releaseKeyboard">releaseKeyboard</a>(), <a href="#grabMouse">grabMouse</a>(), <a href="#releaseMouse">releaseMouse</a>(), and <a href="#focusWidget">focusWidget</a>().
+
+<h3 class=fn>void <a name="grabMouse"></a>QWidget::grabMouse ()
+</h3>
+Grabs the mouse input.
+<p> This widget receives all mouse events until <a href="#releaseMouse">releaseMouse</a>() is
+called; other widgets get no mouse events at all. Keyboard
+events are not affected. Use <a href="#grabKeyboard">grabKeyboard</a>() if you want to grab
+that.
+<p> <b>Warning:</b> Bugs in mouse-grabbing applications very often lock the
+terminal. Use this function with extreme caution, and consider
+using the <tt>-nograb</tt> command line option while debugging.
+<p> It is almost never necessary to grab the mouse when using Qt, as
+Qt grabs and releases it sensibly. In particular, Qt grabs the
+mouse when a mouse button is pressed and keeps it until the last
+button is released.
+<p> Note that only visible widgets can grab mouse input. If
+<a href="#isVisible">isVisible</a>() returns FALSE for a widget, that widget cannot call
+<a href="#grabMouse">grabMouse</a>().
+<p> <p>See also <a href="#releaseMouse">releaseMouse</a>(), <a href="#grabKeyboard">grabKeyboard</a>(), <a href="#releaseKeyboard">releaseKeyboard</a>(), <a href="#grabKeyboard">grabKeyboard</a>(), and <a href="#focusWidget">focusWidget</a>().
+
+<h3 class=fn>void <a name="grabMouse-2"></a>QWidget::grabMouse ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp;&nbsp;cursor )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Grabs the mouse input and changes the cursor shape.
+<p> The cursor will assume shape <em>cursor</em> (for as long as the mouse
+focus is grabbed) and this widget will be the only one to receive
+mouse events until <a href="#releaseMouse">releaseMouse</a>() is called().
+<p> <b>Warning:</b> Grabbing the mouse might lock the terminal.
+<p> <p>See also <a href="#releaseMouse">releaseMouse</a>(), <a href="#grabKeyboard">grabKeyboard</a>(), <a href="#releaseKeyboard">releaseKeyboard</a>(), and <a href="#cursor-prop">cursor</a>.
+
+<h3 class=fn>bool <a name="hasFocus"></a>QWidget::hasFocus () const
+</h3><p>Returns TRUE if this widget (or its focus proxy) has the keyboard input focus; otherwise returns FALSE.
+See the <a href="qwidget.html#focus-prop">"focus"</a> property for details.
+<h3 class=fn>bool <a name="hasMouse"></a>QWidget::hasMouse () const
+</h3><p>Returns TRUE if the widget is under the mouse cursor; otherwise returns FALSE.
+See the <a href="qwidget.html#underMouse-prop">"underMouse"</a> property for details.
+<h3 class=fn>bool <a name="hasMouseTracking"></a>QWidget::hasMouseTracking () const
+</h3><p>Returns TRUE if mouse tracking is enabled for the widget; otherwise returns FALSE.
+See the <a href="qwidget.html#mouseTracking-prop">"mouseTracking"</a> property for details.
+<h3 class=fn>int <a name="height"></a>QWidget::height () const
+</h3><p>Returns the height of the widget excluding any window frame.
+See the <a href="qwidget.html#height-prop">"height"</a> property for details.
+<h3 class=fn>int <a name="heightForWidth"></a>QWidget::heightForWidth ( int&nbsp;w ) const<tt> [virtual]</tt>
+</h3>
+Returns the preferred height for this widget, given the width <em>w</em>. The default implementation returns 0, indicating that the
+preferred height does not depend on the width.
+<p> <b>Warning:</b> Does not look at the widget's layout.
+
+<p>Reimplemented in <a href="qmenubar.html#heightForWidth">QMenuBar</a> and <a href="qtextedit.html#heightForWidth">QTextEdit</a>.
+<h3 class=fn>void <a name="hide"></a>QWidget::hide ()<tt> [virtual slot]</tt>
+</h3>
+Hides the widget.
+<p> You almost never have to reimplement this function. If you need to
+do something after a widget is hidden, use <a href="#hideEvent">hideEvent</a>() instead.
+<p> <p>See also <a href="#hideEvent">hideEvent</a>(), <a href="#hidden-prop">hidden</a>, <a href="#show">show</a>(), <a href="#showMinimized">showMinimized</a>(), <a href="#visible-prop">visible</a>, and <a href="#close">close</a>().
+
+<p>Examples: <a href="mdi-example.html#x2079">mdi/application.cpp</a>, <a href="popup-example.html#x1619">popup/popup.cpp</a>, <a href="progress-example.html#x89">progress/progress.cpp</a>, <a href="scrollview-example.html#x658">scrollview/scrollview.cpp</a>, <a href="qaxcontainer-example-webbrowser.html#x2516">webbrowser/mainwindow.ui.h</a>, and <a href="xform-example.html#x1267">xform/xform.cpp</a>.
+<p>Reimplemented in <a href="qmenubar.html#hide">QMenuBar</a>.
+<h3 class=fn>void <a name="hideEvent"></a>QWidget::hideEvent ( <a href="qhideevent.html">QHideEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget hide events.
+<p> Hide events are sent to widgets immediately after they have been
+hidden.
+<p> <p>See also <a href="#event">event</a>() and <a href="qhideevent.html">QHideEvent</a>.
+
+<p>Reimplemented in <a href="qscrollbar.html#hideEvent">QScrollBar</a>.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="icon"></a>QWidget::icon () const
+</h3><p>Returns the widget's icon.
+See the <a href="qwidget.html#icon-prop">"icon"</a> property for details.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="iconText"></a>QWidget::iconText () const
+</h3><p>Returns the widget's icon text.
+See the <a href="qwidget.html#iconText-prop">"iconText"</a> property for details.
+<h3 class=fn>void <a name="iconify"></a>QWidget::iconify ()<tt> [slot]</tt>
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void <a name="imComposeEvent"></a>QWidget::imComposeEvent ( <a href="qimevent.html">QIMEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive Input Method composition events. This handler
+is called when the user has entered some text using an Input Method.
+<p> The default implementation calls e->ignore(), which rejects the
+Input Method event. See the <a href="qimevent.html">QIMEvent</a> documentation for more
+details.
+<p> <p>See also <a href="#event">event</a>() and <a href="qimevent.html">QIMEvent</a>.
+
+<h3 class=fn>void <a name="imEndEvent"></a>QWidget::imEndEvent ( <a href="qimevent.html">QIMEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive Input Method composition events. This handler
+is called when the user has finished inputting text via an Input
+Method.
+<p> The default implementation calls e->ignore(), which rejects the
+Input Method event. See the <a href="qimevent.html">QIMEvent</a> documentation for more
+details.
+<p> <p>See also <a href="#event">event</a>() and <a href="qimevent.html">QIMEvent</a>.
+
+<h3 class=fn>void <a name="imStartEvent"></a>QWidget::imStartEvent ( <a href="qimevent.html">QIMEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive Input Method composition events. This handler
+is called when the user begins entering text using an Input Method.
+<p> The default implementation calls e->ignore(), which rejects the
+Input Method event. See the <a href="qimevent.html">QIMEvent</a> documentation for more
+details.
+<p> <p>See also <a href="#event">event</a>() and <a href="qimevent.html">QIMEvent</a>.
+
+<h3 class=fn>bool <a name="isActiveWindow"></a>QWidget::isActiveWindow () const
+</h3><p>Returns TRUE if this widget is the active window; otherwise returns FALSE.
+See the <a href="qwidget.html#isActiveWindow-prop">"isActiveWindow"</a> property for details.
+<h3 class=fn>bool <a name="isDesktop"></a>QWidget::isDesktop () const
+</h3><p>Returns TRUE if the widget is a desktop widget, i.e. represents the desktop; otherwise returns FALSE.
+See the <a href="qwidget.html#isDesktop-prop">"isDesktop"</a> property for details.
+<h3 class=fn>bool <a name="isDialog"></a>QWidget::isDialog () const
+</h3><p>Returns TRUE if the widget is a dialog widget; otherwise returns FALSE.
+See the <a href="qwidget.html#isDialog-prop">"isDialog"</a> property for details.
+<h3 class=fn>bool <a name="isEnabled"></a>QWidget::isEnabled () const
+</h3><p>Returns TRUE if the widget is enabled; otherwise returns FALSE.
+See the <a href="qwidget.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>bool <a name="isEnabledTo"></a>QWidget::isEnabledTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;ancestor ) const
+</h3>
+Returns TRUE if this widget would become enabled if <em>ancestor</em> is
+enabled; otherwise returns FALSE.
+<p> This is the case if neither the widget itself nor every parent up
+to but excluding <em>ancestor</em> has been explicitly disabled.
+<p> <a href="#isEnabledTo">isEnabledTo</a>(0) is equivalent to <a href="#isEnabled">isEnabled</a>().
+<p> <p>See also <a href="#enabled-prop">enabled</a> and <a href="#enabled-prop">enabled</a>.
+
+<h3 class=fn>bool <a name="isEnabledToTLW"></a>QWidget::isEnabledToTLW () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function is deprecated. It is equivalent to <a href="#isEnabled">isEnabled</a>()
+
+<h3 class=fn>bool <a name="isFocusEnabled"></a>QWidget::isFocusEnabled () const
+</h3><p>Returns TRUE if the widget accepts keyboard focus; otherwise returns FALSE.
+See the <a href="qwidget.html#focusEnabled-prop">"focusEnabled"</a> property for details.
+<h3 class=fn>bool <a name="isFullScreen"></a>QWidget::isFullScreen () const
+</h3><p>Returns TRUE if the widget is full screen; otherwise returns FALSE.
+See the <a href="qwidget.html#fullScreen-prop">"fullScreen"</a> property for details.
+<h3 class=fn>bool <a name="isHidden"></a>QWidget::isHidden () const
+</h3><p>Returns TRUE if the widget is explicitly hidden; otherwise returns FALSE.
+See the <a href="qwidget.html#hidden-prop">"hidden"</a> property for details.
+<h3 class=fn>bool <a name="isInputMethodEnabled"></a>QWidget::isInputMethodEnabled () const
+</h3><p>Returns enables or disables the use of input methods for this widget.
+See the <a href="qwidget.html#inputMethodEnabled-prop">"inputMethodEnabled"</a> property for details.
+<h3 class=fn>bool <a name="isMaximized"></a>QWidget::isMaximized () const
+</h3><p>Returns TRUE if this widget is maximized; otherwise returns FALSE.
+See the <a href="qwidget.html#maximized-prop">"maximized"</a> property for details.
+<h3 class=fn>bool <a name="isMinimized"></a>QWidget::isMinimized () const
+</h3><p>Returns TRUE if this widget is minimized (iconified); otherwise returns FALSE.
+See the <a href="qwidget.html#minimized-prop">"minimized"</a> property for details.
+<h3 class=fn>bool <a name="isModal"></a>QWidget::isModal () const
+</h3><p>Returns TRUE if the widget is a modal widget; otherwise returns FALSE.
+See the <a href="qwidget.html#isModal-prop">"isModal"</a> property for details.
+<h3 class=fn>bool <a name="isPopup"></a>QWidget::isPopup () const
+</h3><p>Returns TRUE if the widget is a popup widget; otherwise returns FALSE.
+See the <a href="qwidget.html#isPopup-prop">"isPopup"</a> property for details.
+<h3 class=fn>bool <a name="isShown"></a>QWidget::isShown () const
+</h3><p>Returns TRUE if the widget is shown; otherwise returns FALSE.
+See the <a href="qwidget.html#shown-prop">"shown"</a> property for details.
+<h3 class=fn>bool <a name="isTopLevel"></a>QWidget::isTopLevel () const
+</h3><p>Returns TRUE if the widget is a top-level widget; otherwise returns FALSE.
+See the <a href="qwidget.html#isTopLevel-prop">"isTopLevel"</a> property for details.
+<h3 class=fn>bool <a name="isUpdatesEnabled"></a>QWidget::isUpdatesEnabled () const
+</h3><p>Returns TRUE if updates are enabled; otherwise returns FALSE.
+See the <a href="qwidget.html#updatesEnabled-prop">"updatesEnabled"</a> property for details.
+<h3 class=fn>bool <a name="isVisible"></a>QWidget::isVisible () const
+</h3><p>Returns TRUE if the widget is visible; otherwise returns FALSE.
+See the <a href="qwidget.html#visible-prop">"visible"</a> property for details.
+<h3 class=fn>bool <a name="isVisibleTo"></a>QWidget::isVisibleTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;ancestor ) const
+</h3>
+Returns TRUE if this widget would become visible if <em>ancestor</em> is
+shown; otherwise returns FALSE.
+<p> The TRUE case occurs if neither the widget itself nor any parent
+up to but excluding <em>ancestor</em> has been explicitly hidden.
+<p> This function will still return TRUE if the widget is obscured by
+other windows on the screen, but could be physically visible if it
+or they were to be moved.
+<p> <a href="#isVisibleTo">isVisibleTo</a>(0) is identical to <a href="#isVisible">isVisible</a>().
+<p> <p>See also <a href="#show">show</a>(), <a href="#hide">hide</a>(), and <a href="#visible-prop">visible</a>.
+
+<h3 class=fn>bool <a name="isVisibleToTLW"></a>QWidget::isVisibleToTLW () const
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This function is deprecated. It is equivalent to <a href="#isVisible">isVisible</a>()
+
+<h3 class=fn>void <a name="keyPressEvent"></a>QWidget::keyPressEvent ( <a href="qkeyevent.html">QKeyEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive key press events for the widget.
+<p> A widget must call <a href="#setFocusPolicy">setFocusPolicy</a>() to accept focus initially and
+have focus in order to receive a key press event.
+<p> If you reimplement this handler, it is very important that you
+explicitly <a href="qkeyevent.html#ignore">ignore</a> the event
+if you do not understand it, so that the widget's parent can
+interpret it; otherwise, the event will be implicitly accepted.
+Although top-level widgets are able to choose whether to accept
+or ignore unknown events because they have no parent widgets that
+could otherwise handle them, it is good practice to explicitly
+ignore events to make widgets as reusable as possible.
+<p> The default implementation closes popup widgets if the user
+presses <b>Esc</b>. Otherwise the event is ignored.
+<p> <p>See also <a href="#keyReleaseEvent">keyReleaseEvent</a>(), <a href="qkeyevent.html#ignore">QKeyEvent::ignore</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#event">event</a>(), and <a href="qkeyevent.html">QKeyEvent</a>.
+
+<p>Example: <a href="picture-example.html#x127">picture/picture.cpp</a>.
+<p>Reimplemented in <a href="qlineedit.html#keyPressEvent">QLineEdit</a> and <a href="qtextedit.html#keyPressEvent">QTextEdit</a>.
+<h3 class=fn>void <a name="keyReleaseEvent"></a>QWidget::keyReleaseEvent ( <a href="qkeyevent.html">QKeyEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive key release events for the widget.
+<p> A widget must <a href="#setFocusPolicy">accept focus</a>
+initially and <a href="#hasFocus">have focus</a> in order to
+receive a key release event.
+<p> If you reimplement this handler, it is very important that you
+<a href="qkeyevent.html">ignore()</a> the release if you do not
+understand it, so that the widget's parent can interpret it.
+<p> The default implementation ignores the event.
+<p> <p>See also <a href="#keyPressEvent">keyPressEvent</a>(), <a href="qkeyevent.html#ignore">QKeyEvent::ignore</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#event">event</a>(), and <a href="qkeyevent.html">QKeyEvent</a>.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="keyboardGrabber"></a>QWidget::keyboardGrabber ()<tt> [static]</tt>
+</h3>
+Returns the widget that is currently grabbing the keyboard input.
+<p> If no widget in this application is currently grabbing the
+keyboard, 0 is returned.
+<p> <p>See also <a href="#grabMouse">grabMouse</a>() and <a href="#mouseGrabber">mouseGrabber</a>().
+
+<h3 class=fn><a href="qlayout.html">QLayout</a>&nbsp;* <a name="layout"></a>QWidget::layout () const
+</h3>
+
+<p> Returns the layout engine that manages the geometry of this
+widget's children.
+<p> If the widget does not have a layout, <a href="#layout">layout</a>() returns 0.
+<p> <p>See also <a href="#sizePolicy-prop">sizePolicy</a>.
+
+<p>Examples: <a href="tutorial2-09.html#x2647">chart/optionsform.cpp</a> and <a href="simple-font-demo-example.html#x2858">fonts/simple-qfont-demo/viewer.cpp</a>.
+<h3 class=fn>void <a name="leaveEvent"></a>QWidget::leaveEvent ( <a href="qevent.html">QEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget leave events.
+<p> A leave event is sent to the widget when the mouse cursor leaves
+the widget.
+<p> <p>See also <a href="#enterEvent">enterEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), and <a href="#event">event</a>().
+
+<h3 class=fn>void <a name="lower"></a>QWidget::lower ()<tt> [slot]</tt>
+</h3>
+Lowers the widget to the bottom of the parent widget's stack.
+<p> After this call the widget will be visually behind (and therefore
+obscured by) any overlapping sibling widgets.
+<p> <p>See also <a href="#raise">raise</a>() and <a href="#stackUnder">stackUnder</a>().
+
+<h3 class=fn>bool <a name="macEvent"></a>QWidget::macEvent ( MSG * )<tt> [virtual protected]</tt>
+</h3>
+This special event handler can be reimplemented in a subclass to
+receive native Macintosh events.
+<p> In your reimplementation of this function, if you want to stop the
+event being handled by Qt, return TRUE. If you return FALSE, this
+native event is passed back to Qt, which translates the event into
+a Qt event and sends it to the widget.
+<p> <b>Warning:</b> This function is not portable.
+<p> <p>See also <a href="qapplication.html#macEventFilter">QApplication::macEventFilter</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapFrom"></a>QWidget::mapFrom ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the widget coordinate <em>pos</em> from the coordinate system
+of <em>parent</em> to this widget's coordinate system. The <em>parent</em>
+must not be 0 and must be a parent of the calling widget.
+<p> <p>See also <a href="#mapTo">mapTo</a>(), <a href="#mapFromParent">mapFromParent</a>(), <a href="#mapFromGlobal">mapFromGlobal</a>(), and <a href="#underMouse-prop">underMouse</a>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapFromGlobal"></a>QWidget::mapFromGlobal ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the global screen coordinate <em>pos</em> to widget
+coordinates.
+<p> <p>See also <a href="#mapToGlobal">mapToGlobal</a>(), <a href="#mapFrom">mapFrom</a>(), and <a href="#mapFromParent">mapFromParent</a>().
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapFromParent"></a>QWidget::mapFromParent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the parent widget coordinate <em>pos</em> to widget
+coordinates.
+<p> Same as <a href="#mapFromGlobal">mapFromGlobal</a>() if the widget has no parent.
+<p> <p>See also <a href="#mapToParent">mapToParent</a>(), <a href="#mapFrom">mapFrom</a>(), <a href="#mapFromGlobal">mapFromGlobal</a>(), and <a href="#underMouse-prop">underMouse</a>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapTo"></a>QWidget::mapTo ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the widget coordinate <em>pos</em> to the coordinate system
+of <em>parent</em>. The <em>parent</em> must not be 0 and must be a parent
+of the calling widget.
+<p> <p>See also <a href="#mapFrom">mapFrom</a>(), <a href="#mapToParent">mapToParent</a>(), <a href="#mapToGlobal">mapToGlobal</a>(), and <a href="#underMouse-prop">underMouse</a>.
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapToGlobal"></a>QWidget::mapToGlobal ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the widget coordinate <em>pos</em> to global screen
+coordinates. For example, <tt>mapToGlobal(QPoint(0,0))</tt> would give
+the global coordinates of the top-left pixel of the widget.
+<p> <p>See also <a href="#mapFromGlobal">mapFromGlobal</a>(), <a href="#mapTo">mapTo</a>(), and <a href="#mapToParent">mapToParent</a>().
+
+<p>Example: <a href="scribble-example.html#x947">scribble/scribble.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="mapToParent"></a>QWidget::mapToParent ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos ) const
+</h3>
+Translates the widget coordinate <em>pos</em> to a coordinate in the
+parent widget.
+<p> Same as <a href="#mapToGlobal">mapToGlobal</a>() if the widget has no parent.
+<p> <p>See also <a href="#mapFromParent">mapFromParent</a>(), <a href="#mapTo">mapTo</a>(), <a href="#mapToGlobal">mapToGlobal</a>(), and <a href="#underMouse-prop">underMouse</a>.
+
+<h3 class=fn>int <a name="maximumHeight"></a>QWidget::maximumHeight () const
+</h3><p>Returns the widget's maximum height.
+See the <a href="qwidget.html#maximumHeight-prop">"maximumHeight"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QWidget::maximumSize () const
+</h3><p>Returns the widget's maximum size.
+See the <a href="qwidget.html#maximumSize-prop">"maximumSize"</a> property for details.
+<h3 class=fn>int <a name="maximumWidth"></a>QWidget::maximumWidth () const
+</h3><p>Returns the widget's maximum width.
+See the <a href="qwidget.html#maximumWidth-prop">"maximumWidth"</a> property for details.
+<h3 class=fn>int <a name="metric"></a>QWidget::metric ( int&nbsp;m ) const<tt> [virtual protected]</tt>
+</h3>
+Internal implementation of the virtual QPaintDevice::metric()
+function.
+<p> Use the <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> class instead.
+<p> <em>m</em> is the metric to get.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="microFocusHint"></a>QWidget::microFocusHint () const
+</h3><p>Returns the currently set micro focus hint for this widget.
+See the <a href="qwidget.html#microFocusHint-prop">"microFocusHint"</a> property for details.
+<h3 class=fn>int <a name="minimumHeight"></a>QWidget::minimumHeight () const
+</h3><p>Returns the widget's minimum height.
+See the <a href="qwidget.html#minimumHeight-prop">"minimumHeight"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QWidget::minimumSize () const
+</h3><p>Returns the widget's minimum size.
+See the <a href="qwidget.html#minimumSize-prop">"minimumSize"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSizeHint"></a>QWidget::minimumSizeHint () const<tt> [virtual]</tt>
+</h3><p>Returns the recommended minimum size for the widget.
+See the <a href="qwidget.html#minimumSizeHint-prop">"minimumSizeHint"</a> property for details.
+<p>Reimplemented in <a href="qlineedit.html#minimumSizeHint">QLineEdit</a>.
+<h3 class=fn>int <a name="minimumWidth"></a>QWidget::minimumWidth () const
+</h3><p>Returns the widget's minimum width.
+See the <a href="qwidget.html#minimumWidth-prop">"minimumWidth"</a> property for details.
+<h3 class=fn>void <a name="mouseDoubleClickEvent"></a>QWidget::mouseDoubleClickEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive mouse double click events for the widget.
+<p> The default implementation generates a normal mouse press event.
+<p> Note that the widgets gets a <a href="#mousePressEvent">mousePressEvent</a>() and a
+<a href="#mouseReleaseEvent">mouseReleaseEvent</a>() before the <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>().
+<p> <p>See also <a href="#mousePressEvent">mousePressEvent</a>(), <a href="#mouseReleaseEvent">mouseReleaseEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), <a href="#event">event</a>(), and <a href="qmouseevent.html">QMouseEvent</a>.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="mouseGrabber"></a>QWidget::mouseGrabber ()<tt> [static]</tt>
+</h3>
+Returns the widget that is currently grabbing the mouse input.
+<p> If no widget in this application is currently grabbing the mouse,
+0 is returned.
+<p> <p>See also <a href="#grabMouse">grabMouse</a>() and <a href="#keyboardGrabber">keyboardGrabber</a>().
+
+<h3 class=fn>void <a name="mouseMoveEvent"></a>QWidget::mouseMoveEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive mouse move events for the widget.
+<p> If mouse tracking is switched off, mouse move events only occur if
+a mouse button is pressed while the mouse is being moved. If mouse
+tracking is switched on, mouse move events occur even if no mouse
+button is pressed.
+<p> <a href="qmouseevent.html#pos">QMouseEvent::pos</a>() reports the position of the mouse cursor,
+relative to this widget. For press and release events, the
+position is usually the same as the position of the last mouse
+move event, but it might be different if the user's hand shakes.
+This is a feature of the underlying window system, not Qt.
+<p> <p>See also <a href="#mouseTracking-prop">mouseTracking</a>, <a href="#mousePressEvent">mousePressEvent</a>(), <a href="#mouseReleaseEvent">mouseReleaseEvent</a>(), <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(), <a href="#event">event</a>(), and <a href="qmouseevent.html">QMouseEvent</a>.
+
+<p>Examples: <a href="aclock-example.html#x1206">aclock/aclock.cpp</a>, <a href="drawlines-example.html#x1658">drawlines/connect.cpp</a>, <a href="simple_dd-example.html#x2831">iconview/simple_dd/main.cpp</a>, <a href="life-example.html#x1896">life/life.cpp</a>, <a href="popup-example.html#x1620">popup/popup.cpp</a>, <a href="qmag-example.html#x1800">qmag/qmag.cpp</a>, and <a href="scribble-example.html#x948">scribble/scribble.cpp</a>.
+<p>Reimplemented in <a href="qsizegrip.html#mouseMoveEvent">QSizeGrip</a>.
+<h3 class=fn>void <a name="mousePressEvent"></a>QWidget::mousePressEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive mouse press events for the widget.
+<p> If you create new widgets in the <a href="#mousePressEvent">mousePressEvent</a>() the
+<a href="#mouseReleaseEvent">mouseReleaseEvent</a>() may not end up where you expect, depending on
+the underlying window system (or X11 window manager), the widgets'
+location and maybe more.
+<p> The default implementation implements the closing of popup widgets
+when you click outside the window. For other widget types it does
+nothing.
+<p> <p>See also <a href="#mouseReleaseEvent">mouseReleaseEvent</a>(), <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), <a href="#event">event</a>(), and <a href="qmouseevent.html">QMouseEvent</a>.
+
+<p>Examples: <a href="biff-example.html#x1960">biff/biff.cpp</a>, <a href="drawlines-example.html#x1659">drawlines/connect.cpp</a>, <a href="simple_dd-example.html#x2832">iconview/simple_dd/main.cpp</a>, <a href="life-example.html#x1897">life/life.cpp</a>, <a href="qmag-example.html#x1801">qmag/qmag.cpp</a>, <a href="scribble-example.html#x949">scribble/scribble.cpp</a>, and <a href="tooltip-example.html#x452">tooltip/tooltip.cpp</a>.
+<p>Reimplemented in <a href="qsizegrip.html#mousePressEvent">QSizeGrip</a>.
+<h3 class=fn>void <a name="mouseReleaseEvent"></a>QWidget::mouseReleaseEvent ( <a href="qmouseevent.html">QMouseEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive mouse release events for the widget.
+<p> <p>See also <a href="#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(), <a href="#mouseMoveEvent">mouseMoveEvent</a>(), <a href="#event">event</a>(), and <a href="qmouseevent.html">QMouseEvent</a>.
+
+<p>Examples: <a href="drawlines-example.html#x1660">drawlines/connect.cpp</a>, <a href="hello-example.html#x1641">hello/hello.cpp</a>, <a href="popup-example.html#x1621">popup/popup.cpp</a>, <a href="qmag-example.html#x1802">qmag/qmag.cpp</a>, <a href="scribble-example.html#x950">scribble/scribble.cpp</a>, <a href="showimg-example.html#x1350">showimg/showimg.cpp</a>, and <a href="tutorial1-14.html#x2432">t14/cannon.cpp</a>.
+<h3 class=fn>void <a name="move"></a>QWidget::move ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [slot]</tt>
+</h3><p>Sets the position of the widget within its parent widget.
+See the <a href="qwidget.html#pos-prop">"pos"</a> property for details.
+<h3 class=fn>void <a name="move-2"></a>QWidget::move ( int&nbsp;x, int&nbsp;y )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This corresponds to <a href="#move">move</a>( <a href="qpoint.html">QPoint</a>(<em>x</em>, <em>y</em>) ).
+
+<h3 class=fn>void <a name="moveEvent"></a>QWidget::moveEvent ( <a href="qmoveevent.html">QMoveEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget move events. When the widget receives this event, it is
+already at the new position.
+<p> The old position is accessible through <a href="qmoveevent.html#oldPos">QMoveEvent::oldPos</a>().
+<p> <p>See also <a href="#resizeEvent">resizeEvent</a>(), <a href="#event">event</a>(), <a href="#pos-prop">pos</a>, and <a href="qmoveevent.html">QMoveEvent</a>.
+
+<h3 class=fn>bool <a name="ownCursor"></a>QWidget::ownCursor () const
+</h3><p>Returns TRUE if the widget uses its own cursor; otherwise returns FALSE.
+See the <a href="qwidget.html#ownCursor-prop">"ownCursor"</a> property for details.
+<h3 class=fn>bool <a name="ownFont"></a>QWidget::ownFont () const
+</h3><p>Returns TRUE if the widget uses its own font; otherwise returns FALSE.
+See the <a href="qwidget.html#ownFont-prop">"ownFont"</a> property for details.
+<h3 class=fn>bool <a name="ownPalette"></a>QWidget::ownPalette () const
+</h3><p>Returns TRUE if the widget uses its own palette; otherwise returns FALSE.
+See the <a href="qwidget.html#ownPalette-prop">"ownPalette"</a> property for details.
+<h3 class=fn>void <a name="paintEvent"></a>QWidget::paintEvent ( <a href="qpaintevent.html">QPaintEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+paint events.
+<p> A paint event is a request to repaint all or part of the widget.
+It can happen as a result of <a href="#repaint">repaint</a>() or <a href="#update">update</a>(), or because the
+widget was obscured and has now been uncovered, or for many other
+reasons.
+<p> Many widgets can simply repaint their entire surface when asked
+to, but some slow widgets need to optimize by painting only the
+requested region: <a href="qpaintevent.html#region">QPaintEvent::region</a>(). This speed optimization
+does not change the result, as painting is clipped to that region
+during event processing. <a href="qlistview.html">QListView</a> and <a href="qcanvas.html">QCanvas</a> do this, for
+example.
+<p> Qt also tries to speed up painting by merging multiple paint
+events into one. When update() is called several times or the
+window system sends several paint events, Qt merges these events
+into one event with a larger region (see <a href="qregion.html#unite">QRegion::unite</a>()).
+repaint() does not permit this optimization, so we suggest using
+update() when possible.
+<p> When the paint event occurs, the update region has normally been
+erased, so that you're painting on the widget's background. There
+are a couple of exceptions and <a href="qpaintevent.html#erased">QPaintEvent::erased</a>() tells you
+whether the widget has been erased or not.
+<p> The background can be set using <a href="#setBackgroundMode">setBackgroundMode</a>(),
+<a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>() or <a href="#setBackgroundPixmap">setBackgroundPixmap</a>(). The
+documentation for setBackgroundMode() elaborates on the
+background; we recommend reading it.
+<p> <p>See also <a href="#event">event</a>(), <a href="#repaint">repaint</a>(), <a href="#update">update</a>(), <a href="qpainter.html">QPainter</a>, <a href="qpixmap.html">QPixmap</a>, and <a href="qpaintevent.html">QPaintEvent</a>.
+
+<p>Examples: <a href="drawlines-example.html#x1661">drawlines/connect.cpp</a>, <a href="forever-example.html#x1055">forever/forever.cpp</a>, <a href="qmag-example.html#x1803">qmag/qmag.cpp</a>, <a href="scribble-example.html#x951">scribble/scribble.cpp</a>, <a href="splitter-example.html#x1302">splitter/splitter.cpp</a>, <a href="tutorial1-08.html#x2336">t8/cannon.cpp</a>, and <a href="tutorial1-09.html#x2346">t9/cannon.cpp</a>.
+<p>Reimplemented in <a href="qbutton.html#paintEvent">QButton</a>, <a href="qframe.html#paintEvent">QFrame</a>, <a href="qglwidget.html#paintEvent">QGLWidget</a>, <a href="qsizegrip.html#paintEvent">QSizeGrip</a>, <a href="qstatusbar.html#paintEvent">QStatusBar</a>, and <a href="qtabbar.html#paintEvent">QTabBar</a>.
+<h3 class=fn>const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp; <a name="palette"></a>QWidget::palette () const
+</h3><p>Returns the widget's palette.
+See the <a href="qwidget.html#palette-prop">"palette"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="paletteBackgroundColor"></a>QWidget::paletteBackgroundColor () const
+</h3><p>Returns the background color of the widget.
+See the <a href="qwidget.html#paletteBackgroundColor-prop">"paletteBackgroundColor"</a> property for details.
+<h3 class=fn>const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;* <a name="paletteBackgroundPixmap"></a>QWidget::paletteBackgroundPixmap () const
+</h3><p>Returns the background pixmap of the widget.
+See the <a href="qwidget.html#paletteBackgroundPixmap-prop">"paletteBackgroundPixmap"</a> property for details.
+<h3 class=fn>void <a name="paletteChange"></a>QWidget::paletteChange ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;oldPalette )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called from <a href="#setPalette">setPalette</a>(). <em>oldPalette</em>
+is the previous palette; you can get the new palette from
+<a href="#palette">palette</a>().
+<p> Reimplement this function if your widget needs to know when its
+palette changes.
+<p> <p>See also <a href="#palette-prop">palette</a> and <a href="#palette-prop">palette</a>.
+
+<h3 class=fn>const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; <a name="paletteForegroundColor"></a>QWidget::paletteForegroundColor () const
+</h3><p>Returns the foreground color of the widget.
+See the <a href="qwidget.html#paletteForegroundColor-prop">"paletteForegroundColor"</a> property for details.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="parentWidget"></a>QWidget::parentWidget ( bool&nbsp;sameWindow = FALSE ) const
+</h3>
+
+<p> Returns the parent of this widget, or 0 if it does not have any
+parent widget. If <em>sameWindow</em> is TRUE and the widget is top
+level returns 0; otherwise returns the widget's parent.
+
+<p>Example: <a href="mdi-example.html#x2081">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="polish"></a>QWidget::polish ()<tt> [virtual slot]</tt>
+</h3>
+Delayed initialization of a widget.
+<p> This function will be called <em>after</em> a widget has been fully
+created and <em>before</em> it is shown the very first time.
+<p> Polishing is useful for final initialization which depends on
+having an instantiated widget. This is something a constructor
+cannot guarantee since the initialization of the subclasses might
+not be finished.
+<p> After this function, the widget has a proper font and palette and
+<a href="qapplication.html#polish">QApplication::polish</a>() has been called.
+<p> Remember to call QWidget's implementation first when reimplementing this
+function to ensure that your program does not end up in infinite recursion.
+<p> <p>See also <a href="#constPolish">constPolish</a>() and <a href="qapplication.html#polish">QApplication::polish</a>().
+
+<p>Example: <a href="menu-example.html#x1883">menu/menu.cpp</a>.
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pos"></a>QWidget::pos () const
+</h3><p>Returns the position of the widget within its parent widget.
+See the <a href="qwidget.html#pos-prop">"pos"</a> property for details.
+<h3 class=fn>bool <a name="qwsEvent"></a>QWidget::qwsEvent ( QWSEvent * )<tt> [virtual protected]</tt>
+</h3>
+This special event handler can be reimplemented in a subclass to
+receive native Qt/Embedded events.
+<p> In your reimplementation of this function, if you want to stop the
+event being handled by Qt, return TRUE. If you return FALSE, this
+native event is passed back to Qt, which translates the event into
+a Qt event and sends it to the widget.
+<p> <b>Warning:</b> This function is not portable.
+<p> <p>See also <a href="qapplication.html#qwsEventFilter">QApplication::qwsEventFilter</a>().
+
+<h3 class=fn>void <a name="raise"></a>QWidget::raise ()<tt> [slot]</tt>
+</h3>
+Raises this widget to the top of the parent widget's stack.
+<p> After this call the widget will be visually in front of any
+overlapping sibling widgets.
+<p> <p>See also <a href="#lower">lower</a>() and <a href="#stackUnder">stackUnder</a>().
+
+<p>Example: <a href="showimg-example.html#x1352">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="recreate"></a>QWidget::recreate ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, WFlags&nbsp;f, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE )
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This method is provided to aid porting from Qt 1.0 to 2.0. It has
+been renamed <a href="#reparent">reparent</a>() in Qt 2.0.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect"></a>QWidget::rect () const
+</h3><p>Returns the internal geometry of the widget excluding any window frame.
+See the <a href="qwidget.html#rect-prop">"rect"</a> property for details.
+<h3 class=fn>void <a name="releaseKeyboard"></a>QWidget::releaseKeyboard ()
+</h3>
+Releases the keyboard grab.
+<p> <p>See also <a href="#grabKeyboard">grabKeyboard</a>(), <a href="#grabMouse">grabMouse</a>(), and <a href="#releaseMouse">releaseMouse</a>().
+
+<h3 class=fn>void <a name="releaseMouse"></a>QWidget::releaseMouse ()
+</h3>
+Releases the mouse grab.
+<p> <p>See also <a href="#grabMouse">grabMouse</a>(), <a href="#grabKeyboard">grabKeyboard</a>(), and <a href="#releaseKeyboard">releaseKeyboard</a>().
+
+<h3 class=fn>void <a name="repaint"></a>QWidget::repaint ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h, bool&nbsp;erase = TRUE )<tt> [slot]</tt>
+</h3>
+Repaints the widget directly by calling <a href="#paintEvent">paintEvent</a>() immediately,
+unless updates are disabled or the widget is hidden.
+<p> If <em>erase</em> is TRUE, Qt erases the area <em>(x, y, w, h)</em> before the
+paintEvent() call.
+<p> If <em>w</em> is negative, it is replaced with <tt>width() - x</tt>, and if
+<em>h</em> is negative, it is replaced width <tt>height() - y</tt>.
+<p> We suggest only using <a href="#repaint">repaint</a>() if you need an immediate repaint,
+for example during animation. In almost all circumstances <a href="#update">update</a>()
+is better, as it permits Qt to optimize for speed and minimize
+flicker.
+<p> <b>Warning:</b> If you call repaint() in a function which may itself be
+called from paintEvent(), you may get infinite recursion. The
+update() function never causes recursion.
+<p> <p>See also <a href="#update">update</a>(), <a href="#paintEvent">paintEvent</a>(), <a href="#updatesEnabled-prop">updatesEnabled</a>, and <a href="#erase">erase</a>().
+
+<p>Example: <a href="qwerty-example.html#x407">qwerty/qwerty.cpp</a>.
+<h3 class=fn>void <a name="repaint-2"></a>QWidget::repaint ()<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version erases and repaints the entire widget.
+
+<h3 class=fn>void <a name="repaint-3"></a>QWidget::repaint ( bool&nbsp;erase )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version repaints the entire widget.
+
+<h3 class=fn>void <a name="repaint-4"></a>QWidget::repaint ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r, bool&nbsp;erase = TRUE )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Repaints the widget directly by calling <a href="#paintEvent">paintEvent</a>() directly,
+unless updates are disabled or the widget is hidden.
+<p> Erases the widget region <em>r</em> if <em>erase</em> is TRUE.
+
+<h3 class=fn>void <a name="repaint-5"></a>QWidget::repaint ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;reg, bool&nbsp;erase = TRUE )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Repaints the widget directly by calling <a href="#paintEvent">paintEvent</a>() directly,
+unless updates are disabled or the widget is hidden.
+<p> Erases the widget region <em>reg</em> if <em>erase</em> is TRUE.
+<p> Only use repaint if your widget needs to be repainted immediately,
+for example when doing some animation. In all other cases, use
+<a href="#update">update</a>(). Calling update() many times in a row will generate a
+single paint event.
+<p> <b>Warning:</b> If you call <a href="#repaint">repaint</a>() in a function which may itself be
+called from paintEvent(), you may get infinite recursion. The
+update() function never causes recursion.
+<p> <p>See also <a href="#update">update</a>(), <a href="#paintEvent">paintEvent</a>(), <a href="#updatesEnabled-prop">updatesEnabled</a>, and <a href="#erase">erase</a>().
+
+<h3 class=fn>void <a name="reparent"></a>QWidget::reparent ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, WFlags&nbsp;f, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE )<tt> [virtual]</tt>
+</h3>
+Reparents the widget. The widget gets a new <em>parent</em>, new widget
+flags (<em>f</em>, but as usual, use 0) at a new position in its new
+parent (<em>p</em>).
+<p> If <em>showIt</em> is TRUE, <a href="#show">show</a>() is called once the widget has been
+reparented.
+<p> If the new parent widget is in a different top-level widget, the
+reparented widget and its children are appended to the end of the
+<a href="#setFocusPolicy">tab chain</a> of the new parent
+widget, in the same internal order as before. If one of the moved
+widgets had <a href="focus.html#keyboard-focus">keyboard focus</a>, <a href="#reparent">reparent</a>() calls <a href="#clearFocus">clearFocus</a>() for that
+widget.
+<p> If the new parent widget is in the same top-level widget as the
+old parent, reparent doesn't change the tab order or keyboard
+focus.
+<p> <b>Warning:</b> It is extremely unlikely that you will ever need this
+function. If you have a widget that changes its content
+dynamically, it is far easier to use <a href="qwidgetstack.html">QWidgetStack</a> or <a href="qwizard.html">QWizard</a>.
+<p> <p>See also <a href="#getWFlags">getWFlags</a>().
+
+<p>Example: <a href="toplevel-example.html#x2538">toplevel/options.ui.h</a>.
+<h3 class=fn>void <a name="reparent-2"></a>QWidget::reparent ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p, bool&nbsp;showIt = FALSE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> A convenience version of reparent that does not take widget flags
+as argument.
+<p> Calls <a href="#reparent">reparent</a>(<em>parent</em>, <a href="#getWFlags">getWFlags</a>() &amp; ~<a href="qt.html#WidgetFlags-enum">WType_Mask</a>, <em>p</em>, <em>showIt</em>).
+
+<h3 class=fn>void <a name="resetInputContext"></a>QWidget::resetInputContext ()<tt> [protected]</tt>
+</h3>
+This function is called when the user finishes input composition,
+e.g. changes focus to another widget, moves the cursor, etc.
+
+<h3 class=fn>void <a name="resize"></a>QWidget::resize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; )<tt> [slot]</tt>
+</h3><p>Sets the size of the widget excluding any window frame.
+See the <a href="qwidget.html#size-prop">"size"</a> property for details.
+<h3 class=fn>void <a name="resize-2"></a>QWidget::resize ( int&nbsp;w, int&nbsp;h )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This corresponds to <a href="#resize">resize</a>( <a href="qsize.html">QSize</a>(<em>w</em>, <em>h</em>) ).
+
+<h3 class=fn>void <a name="resizeEvent"></a>QWidget::resizeEvent ( <a href="qresizeevent.html">QResizeEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget resize events. When <a href="#resizeEvent">resizeEvent</a>() is called, the widget
+already has its new geometry. The old size is accessible through
+<a href="qresizeevent.html#oldSize">QResizeEvent::oldSize</a>().
+<p> The widget will be erased and receive a paint event immediately
+after processing the resize event. No drawing need be (or should
+be) done inside this handler.
+<p> Widgets that have been created with the <a href="qt.html#WidgetFlags-enum">WNoAutoErase</a> flag
+will not be erased. Nevertheless, they will receive a paint event
+for their entire area afterwards. Again, no drawing needs to be
+done inside this handler.
+<p> The default implementation calls <a href="#updateMask">updateMask</a>() if the widget has
+<a href="#setAutoMask">automatic masking</a> enabled.
+<p> <p>See also <a href="#moveEvent">moveEvent</a>(), <a href="#event">event</a>(), <a href="#size-prop">size</a>, <a href="qresizeevent.html">QResizeEvent</a>, and <a href="#paintEvent">paintEvent</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1089">drawdemo/drawdemo.cpp</a>, <a href="menu-example.html#x1884">menu/menu.cpp</a>, <a href="qmag-example.html#x1806">qmag/qmag.cpp</a>, <a href="scribble-example.html#x952">scribble/scribble.cpp</a>, <a href="showimg-example.html#x1353">showimg/showimg.cpp</a>, <a href="tooltip-example.html#x454">tooltip/tooltip.cpp</a>, and <a href="xform-example.html#x1269">xform/xform.cpp</a>.
+<p>Reimplemented in <a href="qframe.html#resizeEvent">QFrame</a> and <a href="qglwidget.html#resizeEvent">QGLWidget</a>.
+<h3 class=fn>void <a name="scroll"></a>QWidget::scroll ( int&nbsp;dx, int&nbsp;dy )
+</h3>
+Scrolls the widget including its children <em>dx</em> pixels to the
+right and <em>dy</em> downwards. Both <em>dx</em> and <em>dy</em> may be negative.
+<p> After scrolling, <a href="#scroll">scroll</a>() sends a paint event for the the part
+that is read but not written. For example, when scrolling 10
+pixels rightwards, the leftmost ten pixels of the widget need
+repainting. The paint event may be delivered immediately or later,
+depending on some heuristics (note that you might have to force
+processing of paint events using <a href="qapplication.html#sendPostedEvents">QApplication::sendPostedEvents</a>()
+when using scroll() and <a href="#move">move</a>() in combination).
+<p> <p>See also <a href="qscrollview.html">QScrollView</a>, <a href="#erase">erase</a>(), and <a href="qpaintdevice.html#bitBlt">bitBlt</a>().
+
+<h3 class=fn>void <a name="scroll-2"></a>QWidget::scroll ( int&nbsp;dx, int&nbsp;dy, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This version only scrolls <em>r</em> and does not move the children of
+the widget.
+<p> If <em>r</em> is empty or invalid, the result is undefined.
+<p> <p>See also <a href="qscrollview.html">QScrollView</a>, <a href="#erase">erase</a>(), and <a href="qpaintdevice.html#bitBlt">bitBlt</a>().
+
+<h3 class=fn>void <a name="setAcceptDrops"></a>QWidget::setAcceptDrops ( bool&nbsp;on )<tt> [virtual]</tt>
+</h3><p>Sets whether drop events are enabled for this widget to <em>on</em>.
+See the <a href="qwidget.html#acceptDrops-prop">"acceptDrops"</a> property for details.
+<h3 class=fn>void <a name="setActiveWindow"></a>QWidget::setActiveWindow ()<tt> [virtual]</tt>
+</h3>
+Sets the top-level widget containing this widget to be the active
+window.
+<p> An active window is a visible top-level window that has the
+keyboard input focus.
+<p> This function performs the same operation as clicking the mouse on
+the title bar of a top-level window. On X11, the result depends on
+the Window Manager. If you want to ensure that the window is
+stacked on top as well you should also call <a href="#raise">raise</a>(). Note that the
+window must be visible, otherwise <a href="#setActiveWindow">setActiveWindow</a>() has no effect.
+<p> On Windows, if you are calling this when the application is not
+currently the active one then it will not make it the active
+window. It will flash the task bar entry blue to indicate that
+the window has done something. This is because Microsoft do not
+allow an application to interrupt what the user is currently doing
+in another application.
+<p> <p>See also <a href="#isActiveWindow-prop">isActiveWindow</a>, <a href="#topLevelWidget">topLevelWidget</a>(), and <a href="#show">show</a>().
+
+<p>Reimplemented in <a href="qxtwidget.html#setActiveWindow">QXtWidget</a>.
+<h3 class=fn>void <a name="setAutoMask"></a>QWidget::setAutoMask ( bool )<tt> [virtual]</tt>
+</h3><p>Sets whether the auto mask feature is enabled for the widget.
+See the <a href="qwidget.html#autoMask-prop">"autoMask"</a> property for details.
+<h3 class=fn>void <a name="setBackgroundColor"></a>QWidget::setBackgroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [virtual]</tt>
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>() or <a href="#setEraseColor">setEraseColor</a>() instead.
+<p>Examples: <a href="customlayout-example.html#x1540">customlayout/main.cpp</a>, <a href="desktop-example.html#x1761">desktop/desktop.cpp</a>, <a href="hello-example.html#x1648">hello/main.cpp</a>, <a href="movies-example.html#x523">movies/main.cpp</a>, and <a href="splitter-example.html#x1303">splitter/splitter.cpp</a>.
+<h3 class=fn>void <a name="setBackgroundMode"></a>QWidget::setBackgroundMode ( <a href="qt.html#BackgroundMode-enum">BackgroundMode</a> )<tt> [virtual]</tt>
+</h3><p>Sets the color role used for painting the background of the widget.
+See the <a href="qwidget.html#backgroundMode-prop">"backgroundMode"</a> property for details.
+<h3 class=fn>void <a name="setBackgroundMode-2"></a>QWidget::setBackgroundMode ( <a href="qt.html#BackgroundMode-enum">BackgroundMode</a>&nbsp;m, <a href="qt.html#BackgroundMode-enum">BackgroundMode</a>&nbsp;visual )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the widget's own background mode to <em>m</em> and the visual
+background mode to <em>visual</em>. The visual background mode is used
+with the designable properties <tt>backgroundColor</tt>, <tt>foregroundColor</tt> and <tt>backgroundPixmap</tt>.
+<p> For complex controls, the logical background mode sometimes
+differs from a widget's own background mode. A spinbox for example
+has <a href="qt.html#BackgroundMode-enum">PaletteBackground</a> as background mode (typically dark gray),
+while it's embedded lineedit control uses <a href="qt.html#BackgroundMode-enum">PaletteBase</a>
+(typically white). Since the lineedit covers most of the visual
+area of a spinbox, it defines <a href="qt.html#BackgroundMode-enum">PaletteBase</a> to be its <em>visual</em>
+background mode. Changing the <tt>backgroundColor</tt> property thus
+changes the lineedit control's background, which is exactly what
+the user expects in <em>Qt Designer</em>.
+
+<h3 class=fn>void <a name="setBackgroundOrigin"></a>QWidget::setBackgroundOrigin ( <a href="qwidget.html#BackgroundOrigin-enum">BackgroundOrigin</a> )<tt> [virtual]</tt>
+</h3><p>Sets the origin of the widget's background.
+See the <a href="qwidget.html#backgroundOrigin-prop">"backgroundOrigin"</a> property for details.
+<h3 class=fn>void <a name="setBackgroundPixmap"></a>QWidget::setBackgroundPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pm )<tt> [virtual]</tt>
+</h3><b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+Use <a href="#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>() or <a href="#setErasePixmap">setErasePixmap</a>() instead.
+<p>Example: <a href="desktop-example.html#x1762">desktop/desktop.cpp</a>.
+<h3 class=fn>void <a name="setBaseSize"></a>QWidget::setBaseSize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; )
+</h3><p>Sets the base size of the widget.
+See the <a href="qwidget.html#baseSize-prop">"baseSize"</a> property for details.
+<h3 class=fn>void <a name="setBaseSize-2"></a>QWidget::setBaseSize ( int&nbsp;basew, int&nbsp;baseh )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This corresponds to <a href="#setBaseSize">setBaseSize</a>( <a href="qsize.html">QSize</a>(<em>basew</em>, <em>baseh</em>) ). Sets
+the widgets base size to width <em>basew</em> and height <em>baseh</em>.
+
+<h3 class=fn>void <a name="setCaption"></a>QWidget::setCaption ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the window caption (title).
+See the <a href="qwidget.html#caption-prop">"caption"</a> property for details.
+<h3 class=fn>void <a name="setCursor"></a>QWidget::setCursor ( const&nbsp;<a href="qcursor.html">QCursor</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the cursor shape for this widget.
+See the <a href="qwidget.html#cursor-prop">"cursor"</a> property for details.
+<h3 class=fn>void <a name="setDisabled"></a>QWidget::setDisabled ( bool&nbsp;disable )<tt> [slot]</tt>
+</h3>
+Disables widget input events if <em>disable</em> is TRUE; otherwise
+enables input events.
+<p> See the <a href="#enabled-prop">enabled</a> documentation for more information.
+<p> <p>See also <a href="#isEnabledTo">isEnabledTo</a>(), <a href="qkeyevent.html">QKeyEvent</a>, <a href="qmouseevent.html">QMouseEvent</a>, and <a href="#enabledChange">enabledChange</a>().
+
+<h3 class=fn>void <a name="setEnabled"></a>QWidget::setEnabled ( bool )<tt> [virtual slot]</tt>
+</h3><p>Sets whether the widget is enabled.
+See the <a href="qwidget.html#enabled-prop">"enabled"</a> property for details.
+<h3 class=fn>void <a name="setEraseColor"></a>QWidget::setEraseColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;color )<tt> [virtual]</tt>
+</h3>
+Sets the erase color of the widget to <em>color</em>.
+<p> The erase color is the color the widget is to be cleared to before
+<a href="#paintEvent">paintEvent</a>() is called. If there is an erase pixmap (set using
+<a href="#setErasePixmap">setErasePixmap</a>()), then this property has an indeterminate value.
+<p> <p>See also <a href="#erasePixmap">erasePixmap</a>(), <a href="#backgroundColor">backgroundColor</a>(), <a href="#backgroundMode-prop">backgroundMode</a>, and <a href="#palette-prop">palette</a>.
+
+<h3 class=fn>void <a name="setErasePixmap"></a>QWidget::setErasePixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp;&nbsp;pixmap )<tt> [virtual]</tt>
+</h3>
+Sets the widget's erase pixmap to <em>pixmap</em>.
+<p> This pixmap is used to clear the widget before <a href="#paintEvent">paintEvent</a>() is
+called.
+
+<h3 class=fn>void <a name="setFixedHeight"></a>QWidget::setFixedHeight ( int&nbsp;h )
+</h3>
+Sets both the minimum and maximum heights of the widget to <em>h</em>
+without changing the widths. Provided for convenience.
+<p> <p>See also <a href="#sizeHint-prop">sizeHint</a>, <a href="#minimumSize-prop">minimumSize</a>, <a href="#maximumSize-prop">maximumSize</a>, and <a href="#setFixedSize">setFixedSize</a>().
+
+<p>Examples: <a href="simple-font-demo-example.html#x2859">fonts/simple-qfont-demo/viewer.cpp</a>, <a href="layout-example.html#x545">layout/layout.cpp</a>, <a href="qdir-example.html#x1852">qdir/qdir.cpp</a>, and <a href="showimg-example.html#x1354">showimg/showimg.cpp</a>.
+<h3 class=fn>void <a name="setFixedSize"></a>QWidget::setFixedSize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp;&nbsp;s )
+</h3>
+Sets both the minimum and maximum sizes of the widget to <em>s</em>,
+thereby preventing it from ever growing or shrinking.
+<p> <p>See also <a href="#maximumSize-prop">maximumSize</a> and <a href="#minimumSize-prop">minimumSize</a>.
+
+<h3 class=fn>void <a name="setFixedSize-2"></a>QWidget::setFixedSize ( int&nbsp;w, int&nbsp;h )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the width of the widget to <em>w</em> and the height to <em>h</em>.
+
+<h3 class=fn>void <a name="setFixedWidth"></a>QWidget::setFixedWidth ( int&nbsp;w )
+</h3>
+Sets both the minimum and maximum width of the widget to <em>w</em>
+without changing the heights. Provided for convenience.
+<p> <p>See also <a href="#sizeHint-prop">sizeHint</a>, <a href="#minimumSize-prop">minimumSize</a>, <a href="#maximumSize-prop">maximumSize</a>, and <a href="#setFixedSize">setFixedSize</a>().
+
+<p>Examples: <a href="progressbar-example.html#x974">progressbar/progressbar.cpp</a> and <a href="qdir-example.html#x1853">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="setFocus"></a>QWidget::setFocus ()<tt> [virtual slot]</tt>
+</h3>
+Gives the keyboard input focus to this widget (or its focus
+proxy) if this widget or one of its parents is the <a href="#isActiveWindow">active window</a>.
+<p> First, a focus out event is sent to the focus widget (if any) to
+tell it that it is about to lose the focus. Then a focus in event
+is sent to this widget to tell it that it just received the focus.
+(Nothing happens if the focus in and focus out widgets are the
+same.)
+<p> <a href="#setFocus">setFocus</a>() gives focus to a widget regardless of its focus policy,
+but does not clear any keyboard grab (see <a href="#grabKeyboard">grabKeyboard</a>()).
+<p> Be aware that if the widget is hidden, it will not accept focus.
+<p> <b>Warning:</b> If you call setFocus() in a function which may itself be
+called from <a href="#focusOutEvent">focusOutEvent</a>() or <a href="#focusInEvent">focusInEvent</a>(), you may get an
+infinite recursion.
+<p> <p>See also <a href="#focus-prop">focus</a>, <a href="#clearFocus">clearFocus</a>(), <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, <a href="qapplication.html#focusWidget">QApplication::focusWidget</a>(), <a href="#grabKeyboard">grabKeyboard</a>(), and <a href="#grabMouse">grabMouse</a>().
+
+<p>Examples: <a href="addressbook-example.html#x606">addressbook/centralwidget.cpp</a>, <a href="lineedits-example.html#x181">lineedits/lineedits.cpp</a>, <a href="mdi-example.html#x2084">mdi/application.cpp</a>, <a href="popup-example.html#x1625">popup/popup.cpp</a>, <a href="rot-example.html#x1378">rot13/rot13.cpp</a>, <a href="tutorial1-08.html#x2339">t8/main.cpp</a>, and <a href="wizard-example.html#x11">wizard/wizard.cpp</a>.
+<h3 class=fn>void <a name="setFocusPolicy"></a>QWidget::setFocusPolicy ( <a href="qwidget.html#FocusPolicy-enum">FocusPolicy</a> )<tt> [virtual]</tt>
+</h3><p>Sets the way the widget accepts keyboard focus.
+See the <a href="qwidget.html#focusPolicy-prop">"focusPolicy"</a> property for details.
+<h3 class=fn>void <a name="setFocusProxy"></a>QWidget::setFocusProxy ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [virtual]</tt>
+</h3>
+Sets the widget's focus proxy to widget <em>w</em>. If <em>w</em> is 0, the
+function resets this widget to have no focus proxy.
+<p> Some widgets, such as <a href="qcombobox.html">QComboBox</a>, can "have focus", but create a
+child widget to actually handle the focus. QComboBox, for example,
+creates a <a href="qlineedit.html">QLineEdit</a> which handles the focus.
+<p> <a href="#setFocusProxy">setFocusProxy</a>() sets the widget which will actually get focus when
+"this widget" gets it. If there is a focus proxy, <a href="#focusPolicy">focusPolicy</a>(),
+<a href="#setFocusPolicy">setFocusPolicy</a>(), <a href="#setFocus">setFocus</a>() and <a href="#hasFocus">hasFocus</a>() all operate on the
+focus proxy.
+<p> <p>See also <a href="#focusProxy">focusProxy</a>().
+
+<h3 class=fn>void <a name="setFont"></a>QWidget::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the font currently set for the widget.
+See the <a href="qwidget.html#font-prop">"font"</a> property for details.
+<p>Reimplemented in <a href="qcombobox.html#setFont">QComboBox</a>, <a href="qlabel.html#setFont">QLabel</a>, and <a href="qtabdialog.html#setFont">QTabDialog</a>.
+<h3 class=fn>void <a name="setFont-2"></a>QWidget::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp;&nbsp;f, bool )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#setFont">setFont</a>(const <a href="qfont.html">QFont</a>& font) instead.
+
+<h3 class=fn>void <a name="setGeometry"></a>QWidget::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the geometry of the widget relative to its parent and excluding the window frame.
+See the <a href="qwidget.html#geometry-prop">"geometry"</a> property for details.
+<h3 class=fn>void <a name="setGeometry-2"></a>QWidget::setGeometry ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [virtual slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This corresponds to <a href="#setGeometry">setGeometry</a>( <a href="qrect.html">QRect</a>(<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>) ).
+
+<h3 class=fn>void <a name="setHidden"></a>QWidget::setHidden ( bool&nbsp;hide )<tt> [slot]</tt>
+</h3><p>Sets whether the widget is explicitly hidden to <em>hide</em>.
+See the <a href="qwidget.html#hidden-prop">"hidden"</a> property for details.
+<h3 class=fn>void <a name="setIcon"></a>QWidget::setIcon ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the widget's icon.
+See the <a href="qwidget.html#icon-prop">"icon"</a> property for details.
+<h3 class=fn>void <a name="setIconText"></a>QWidget::setIconText ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [virtual slot]</tt>
+</h3><p>Sets the widget's icon text.
+See the <a href="qwidget.html#iconText-prop">"iconText"</a> property for details.
+<h3 class=fn>void <a name="setInputMethodEnabled"></a>QWidget::setInputMethodEnabled ( bool&nbsp;b )
+</h3><p>Sets enables or disables the use of input methods for this widget to <em>b</em>.
+See the <a href="qwidget.html#inputMethodEnabled-prop">"inputMethodEnabled"</a> property for details.
+<h3 class=fn>void <a name="setKeyCompression"></a>QWidget::setKeyCompression ( bool&nbsp;compress )<tt> [virtual protected]</tt>
+</h3>
+Enables key event compression, if <em>compress</em> is TRUE, and
+disables it if <em>compress</em> is FALSE.
+<p> Key compression is off by default (except for <a href="qlineedit.html">QLineEdit</a> and
+<a href="qtextedit.html">QTextEdit</a>), so widgets receive one key press event for each key
+press (or more, since autorepeat is usually on). If you turn it on
+and your program doesn't keep up with key input, Qt may try to
+compress key events so that more than one character can be
+processed in each event.
+<p> For example, a word processor widget might receive 2, 3 or more
+characters in each <a href="qkeyevent.html#text">QKeyEvent::text</a>(), if the layout recalculation
+takes too long for the CPU.
+<p> If a widget supports multiple character unicode input, it is
+always safe to turn the compression on.
+<p> Qt performs key event compression only for printable characters.
+Modifier keys, cursor movement keys, function keys and
+miscellaneous action keys (e.g. Escape, Enter, Backspace,
+PrintScreen) will stop key event compression, even if there are
+more compressible key events available.
+<p> Not all platforms support this compression, in which case turning
+it on will have no effect.
+<p> <p>See also <a href="qkeyevent.html#text">QKeyEvent::text</a>().
+
+<h3 class=fn>void <a name="setMask"></a>QWidget::setMask ( const&nbsp;<a href="qbitmap.html">QBitmap</a>&nbsp;&amp;&nbsp;bitmap )<tt> [virtual]</tt>
+</h3>
+Causes only the pixels of the widget for which <em>bitmap</em> has a
+corresponding 1 bit to be visible. Use Qt::color0 to draw
+transparent regions and Qt::color1 to draw opaque regions of the
+bitmap.
+<p> If the region includes pixels outside the <a href="#rect">rect</a>() of the widget,
+window system controls in that area may or may not be visible,
+depending on the platform.
+<p> Note that this effect can be slow if the region is particularly
+complex.
+<p> See <tt>examples/tux</tt> for an example of masking for transparency.
+<p> <p>See also <a href="#clearMask">clearMask</a>().
+
+<h3 class=fn>void <a name="setMask-2"></a>QWidget::setMask ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;region )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Causes only the parts of the widget which overlap <em>region</em> to be
+visible. If the region includes pixels outside the <a href="#rect">rect</a>() of the
+widget, window system controls in that area may or may not be
+visible, depending on the platform.
+<p> Note that this effect can be slow if the region is particularly
+complex.
+<p> <p>See also <a href="#clearMask">clearMask</a>().
+
+<h3 class=fn>void <a name="setMaximumHeight"></a>QWidget::setMaximumHeight ( int&nbsp;maxh )
+</h3><p>Sets the widget's maximum height to <em>maxh</em>.
+See the <a href="qwidget.html#maximumHeight-prop">"maximumHeight"</a> property for details.
+<h3 class=fn>void <a name="setMaximumSize"></a>QWidget::setMaximumSize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; )
+</h3><p>Sets the widget's maximum size.
+See the <a href="qwidget.html#maximumSize-prop">"maximumSize"</a> property for details.
+<h3 class=fn>void <a name="setMaximumSize-2"></a>QWidget::setMaximumSize ( int&nbsp;maxw, int&nbsp;maxh )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function corresponds to <a href="#setMaximumSize">setMaximumSize</a>( <a href="qsize.html">QSize</a>(<em>maxw</em>, <em>maxh</em>) ). Sets the maximum width to <em>maxw</em> and the maximum height
+to <em>maxh</em>.
+
+<h3 class=fn>void <a name="setMaximumWidth"></a>QWidget::setMaximumWidth ( int&nbsp;maxw )
+</h3><p>Sets the widget's maximum width to <em>maxw</em>.
+See the <a href="qwidget.html#maximumWidth-prop">"maximumWidth"</a> property for details.
+<h3 class=fn>void <a name="setMicroFocusHint"></a>QWidget::setMicroFocusHint ( int&nbsp;x, int&nbsp;y, int&nbsp;width, int&nbsp;height, bool&nbsp;text = TRUE, <a href="qfont.html">QFont</a>&nbsp;*&nbsp;f = 0 )<tt> [virtual protected]</tt>
+</h3>
+When a widget gets focus, it should call <a href="#setMicroFocusHint">setMicroFocusHint</a>() with
+some appropriate position and size, <em>x</em>, <em>y</em>, <em>width</em> and <em>height</em>. This has no <em>visual</em> effect, it just provides hints to
+any system-specific input handling tools.
+<p> The <em>text</em> argument should be TRUE if this is a position for text
+input.
+<p> In the Windows version of Qt, this method sets the system caret,
+which is used for user Accessibility focus handling. If <em>text</em>
+is TRUE, it also sets the IME composition window in Far East Asian
+language input systems.
+<p> In the X11 version of Qt, if <em>text</em> is TRUE, this method sets the
+XIM "spot" point for complex language input handling.
+<p> The font <em>f</em> is a rendering hint to the currently active input method.
+If <em>f</em> is 0 the widget's font is used.
+<p> <p>See also <a href="#microFocusHint-prop">microFocusHint</a>.
+
+<h3 class=fn>void <a name="setMinimumHeight"></a>QWidget::setMinimumHeight ( int&nbsp;minh )
+</h3><p>Sets the widget's minimum height to <em>minh</em>.
+See the <a href="qwidget.html#minimumHeight-prop">"minimumHeight"</a> property for details.
+<h3 class=fn>void <a name="setMinimumSize"></a>QWidget::setMinimumSize ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; )
+</h3><p>Sets the widget's minimum size.
+See the <a href="qwidget.html#minimumSize-prop">"minimumSize"</a> property for details.
+<h3 class=fn>void <a name="setMinimumSize-2"></a>QWidget::setMinimumSize ( int&nbsp;minw, int&nbsp;minh )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This function corresponds to <a href="#setMinimumSize">setMinimumSize</a>( <a href="qsize.html">QSize</a>(minw, minh) ).
+Sets the minimum width to <em>minw</em> and the minimum height to <em>minh</em>.
+
+<h3 class=fn>void <a name="setMinimumWidth"></a>QWidget::setMinimumWidth ( int&nbsp;minw )
+</h3><p>Sets the widget's minimum width to <em>minw</em>.
+See the <a href="qwidget.html#minimumWidth-prop">"minimumWidth"</a> property for details.
+<h3 class=fn>void <a name="setMouseTracking"></a>QWidget::setMouseTracking ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether mouse tracking is enabled for the widget to <em>enable</em>.
+See the <a href="qwidget.html#mouseTracking-prop">"mouseTracking"</a> property for details.
+<h3 class=fn>void <a name="setPalette"></a>QWidget::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the widget's palette.
+See the <a href="qwidget.html#palette-prop">"palette"</a> property for details.
+<p>Reimplemented in <a href="qcombobox.html#setPalette">QComboBox</a>, <a href="qscrollbar.html#setPalette">QScrollBar</a>, and <a href="qslider.html#setPalette">QSlider</a>.
+<h3 class=fn>void <a name="setPalette-2"></a>QWidget::setPalette ( const&nbsp;<a href="qpalette.html">QPalette</a>&nbsp;&amp;&nbsp;p, bool )
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use <a href="#setPalette">setPalette</a>( const <a href="qpalette.html">QPalette</a>& p ) instead.
+
+<h3 class=fn>void <a name="setPaletteBackgroundColor"></a>QWidget::setPaletteBackgroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the background color of the widget.
+See the <a href="qwidget.html#paletteBackgroundColor-prop">"paletteBackgroundColor"</a> property for details.
+<h3 class=fn>void <a name="setPaletteBackgroundPixmap"></a>QWidget::setPaletteBackgroundPixmap ( const&nbsp;<a href="qpixmap.html">QPixmap</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3><p>Sets the background pixmap of the widget.
+See the <a href="qwidget.html#paletteBackgroundPixmap-prop">"paletteBackgroundPixmap"</a> property for details.
+<h3 class=fn>void <a name="setPaletteForegroundColor"></a>QWidget::setPaletteForegroundColor ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp; )
+</h3><p>Sets the foreground color of the widget.
+See the <a href="qwidget.html#paletteForegroundColor-prop">"paletteForegroundColor"</a> property for details.
+<h3 class=fn>void <a name="setShown"></a>QWidget::setShown ( bool&nbsp;show )<tt> [slot]</tt>
+</h3><p>Sets whether the widget is shown to <em>show</em>.
+See the <a href="qwidget.html#shown-prop">"shown"</a> property for details.
+<h3 class=fn>void <a name="setSizeIncrement"></a>QWidget::setSizeIncrement ( const&nbsp;<a href="qsize.html">QSize</a>&nbsp;&amp; )
+</h3><p>Sets the size increment of the widget.
+See the <a href="qwidget.html#sizeIncrement-prop">"sizeIncrement"</a> property for details.
+<h3 class=fn>void <a name="setSizeIncrement-2"></a>QWidget::setSizeIncrement ( int&nbsp;w, int&nbsp;h )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the x (width) size increment to <em>w</em> and the y (height) size
+increment to <em>h</em>.
+
+<h3 class=fn>void <a name="setSizePolicy"></a>QWidget::setSizePolicy ( <a href="qsizepolicy.html">QSizePolicy</a> )<tt> [virtual]</tt>
+</h3><p>Sets the default layout behavior of the widget.
+See the <a href="qwidget.html#sizePolicy-prop">"sizePolicy"</a> property for details.
+<h3 class=fn>void <a name="setSizePolicy-2"></a>QWidget::setSizePolicy ( <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;hor, <a href="qsizepolicy.html#SizeType-enum">QSizePolicy::SizeType</a>&nbsp;ver, bool&nbsp;hfw = FALSE )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the size policy of the widget to <em>hor</em>, <em>ver</em> and <em>hfw</em>
+(height for width).
+<p> <p>See also <a href="qsizepolicy.html#QSizePolicy">QSizePolicy::QSizePolicy</a>().
+
+<h3 class=fn>void <a name="setStyle"></a>QWidget::setStyle ( <a href="qstyle.html">QStyle</a>&nbsp;*&nbsp;style )
+</h3>
+Sets the widget's GUI style to <em>style</em>. Ownership of the style
+object is not transferred.
+<p> If no style is set, the widget uses the application's style,
+<a href="qapplication.html#style">QApplication::style</a>() instead.
+<p> Setting a widget's style has no effect on existing or future child
+widgets.
+<p> <b>Warning:</b> This function is particularly useful for demonstration
+purposes, where you want to show Qt's styling capabilities. Real
+applications should avoid it and use one consistent GUI style
+instead.
+<p> <p>See also <a href="#style">style</a>(), <a href="qstyle.html">QStyle</a>, <a href="qapplication.html#style">QApplication::style</a>(), and <a href="qapplication.html#setStyle">QApplication::setStyle</a>().
+
+<p>Examples: <a href="grapher-nsplugin-example.html#x2778">grapher/grapher.cpp</a> and <a href="progressbar-example.html#x975">progressbar/progressbar.cpp</a>.
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;* <a name="setStyle-2"></a>QWidget::setStyle ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;style )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the widget's GUI style to <em>style</em> using the <a href="qstylefactory.html">QStyleFactory</a>.
+
+<h3 class=fn>void <a name="setTabOrder"></a>QWidget::setTabOrder ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;first, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;second )<tt> [static]</tt>
+</h3>
+Moves the <em>second</em> widget around the ring of focus widgets so
+that <a href="focus.html#keyboard-focus">keyboard focus</a> moves from the <em>first</em> widget to the <em>second</em> widget when the Tab key is pressed.
+<p> Note that since the tab order of the <em>second</em> widget is changed,
+you should order a chain like this:
+<p> <pre>
+ <a href="#setTabOrder">setTabOrder</a>( a, b ); // a to b
+ <a href="#setTabOrder">setTabOrder</a>( b, c ); // a to b to c
+ <a href="#setTabOrder">setTabOrder</a>( c, d ); // a to b to c to d
+ </pre>
+
+<p> <em>not</em> like this:
+<p> <pre>
+ <a href="#setTabOrder">setTabOrder</a>( c, d ); // c to d WRONG
+ <a href="#setTabOrder">setTabOrder</a>( a, b ); // a to b AND c to d
+ <a href="#setTabOrder">setTabOrder</a>( b, c ); // a to b to c, but not c to d
+ </pre>
+
+<p> If <em>first</em> or <em>second</em> has a focus proxy, <a href="#setTabOrder">setTabOrder</a>()
+correctly substitutes the proxy.
+<p> <p>See also <a href="#focusPolicy-prop">focusPolicy</a> and <a href="#setFocusProxy">setFocusProxy</a>().
+
+<p>Example: <a href="customlayout-example.html#x1542">customlayout/main.cpp</a>.
+<h3 class=fn>void <a name="setUpdatesEnabled"></a>QWidget::setUpdatesEnabled ( bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3><p>Sets whether updates are enabled to <em>enable</em>.
+See the <a href="qwidget.html#updatesEnabled-prop">"updatesEnabled"</a> property for details.
+<h3 class=fn>void <a name="setWFlags"></a>QWidget::setWFlags ( WFlags&nbsp;f )<tt> [virtual protected]</tt>
+</h3>
+
+<p> Sets the widget flags <em>f</em>.
+<p> Widget flags are a combination of <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+<p> <p>See also <a href="#testWFlags">testWFlags</a>(), <a href="#getWFlags">getWFlags</a>(), and <a href="#clearWFlags">clearWFlags</a>().
+
+<h3 class=fn>void <a name="setWindowOpacity"></a>QWidget::setWindowOpacity ( double&nbsp;level )
+</h3><p>Sets the level of opacity for the window to <em>level</em>.
+See the <a href="qwidget.html#windowOpacity-prop">"windowOpacity"</a> property for details.
+<h3 class=fn>void <a name="setWindowState"></a>QWidget::setWindowState ( uint&nbsp;windowState )
+</h3>
+
+<p> Sets the <a href="qt.html#WindowState">window state</a> to <em>windowState</em>. The window state is a OR'ed
+combination of Qt::WindowState: <a href="qt.html#WindowState-enum">WindowMinimized</a>, <a href="qt.html#WindowState-enum">WindowMaximized</a>, <a href="qt.html#WindowState-enum">WindowFullScreen</a> and <a href="qt.html#WindowState-enum">WindowActive</a>.
+<p> If the window is not visible (i.e. <a href="#isVisible">isVisible</a>() returns FALSE), the
+window state will take effect when <a href="#show">show</a>() is called. For visible
+windows, the change is immediate. For example, to toggle between
+full-screen and mormal mode, use the following code:
+<p> <pre>
+ w-&gt;setWindowState(w-&gt;windowState() ^ WindowFullScreen);
+ </pre>
+
+<p> In order to restore and activate a minimized window (while
+preserving its maximized and/or full-screen state), use the following:
+<p> <pre>
+ w-&gt;setWindowState(w-&gt;windowState() &amp; ~WindowMinimized | WindowActive);
+ </pre>
+
+<p> Note: On some window systems <a href="qt.html#WindowState-enum">WindowActive</a> is not immediate, and may be
+ignored in certain cases.
+<p> <p>See also <a href="qt.html#WindowState-enum">Qt::WindowState</a> and <a href="#windowState">windowState</a>().
+
+<h3 class=fn>void <a name="show"></a>QWidget::show ()<tt> [virtual slot]</tt>
+</h3>
+Shows the widget and its child widgets.
+<p> If its size or position has changed, Qt guarantees that a widget
+gets move and resize events just before it is shown.
+<p> You almost never have to reimplement this function. If you need to
+change some settings before a widget is shown, use <a href="#showEvent">showEvent</a>()
+instead. If you need to do some delayed initialization use
+<a href="#polish">polish</a>().
+<p> <p>See also <a href="#showEvent">showEvent</a>(), <a href="#hide">hide</a>(), <a href="#showMinimized">showMinimized</a>(), <a href="#showMaximized">showMaximized</a>(), <a href="#showNormal">showNormal</a>(), <a href="#visible-prop">visible</a>, and <a href="#polish">polish</a>().
+
+<p>Examples: <a href="aclock-example.html#x1215">aclock/main.cpp</a>, <a href="qdialog.html#x2135">life/main.cpp</a>, <a href="popup-example.html#x1628">popup/popup.cpp</a>, <a href="tutorial1-01.html#x2286">t1/main.cpp</a>, <a href="tutorial1-03.html#x2302">t3/main.cpp</a>, <a href="tutorial1-04.html#x2309">t4/main.cpp</a>, and <a href="toplevel-example.html#x2542">toplevel/options.ui.h</a>.
+<p>Reimplemented in <a href="qdialog.html#show">QDialog</a> and <a href="qmenubar.html#show">QMenuBar</a>.
+<h3 class=fn>void <a name="showEvent"></a>QWidget::showEvent ( <a href="qshowevent.html">QShowEvent</a>&nbsp;* )<tt> [virtual protected]</tt>
+</h3>
+This event handler can be reimplemented in a subclass to receive
+widget show events.
+<p> Non-spontaneous show events are sent to widgets immediately before
+they are shown. The spontaneous show events of top-level widgets
+are delivered afterwards.
+<p> <p>See also <a href="#event">event</a>() and <a href="qshowevent.html">QShowEvent</a>.
+
+<p>Example: <a href="qdir-example.html#x1854">qdir/qdir.cpp</a>.
+<h3 class=fn>void <a name="showFullScreen"></a>QWidget::showFullScreen ()<tt> [slot]</tt>
+</h3>
+Shows the widget in full-screen mode.
+<p> Calling this function only affects top-level widgets.
+<p> To return from full-screen mode, call <a href="#showNormal">showNormal</a>().
+<p> Full-screen mode works fine under Windows, but has certain
+problems under X. These problems are due to limitations of the
+ICCCM protocol that specifies the communication between X11
+clients and the window manager. ICCCM simply does not understand
+the concept of non-decorated full-screen windows. Therefore, the
+best we can do is to request a borderless window and place and
+resize it to fill the entire screen. Depending on the window
+manager, this may or may not work. The borderless window is
+requested using MOTIF hints, which are at least partially
+supported by virtually all modern window managers.
+<p> An alternative would be to bypass the window manager entirely and
+create a window with the WX11BypassWM flag. This has other severe
+problems though, like totally broken <a href="focus.html#keyboard-focus">keyboard focus</a> and very
+strange effects on desktop changes or when the user raises other
+windows.
+<p> X11 window managers that follow modern post-ICCCM specifications
+support full-screen mode properly.
+<p> <p>See also <a href="#showNormal">showNormal</a>(), <a href="#showMaximized">showMaximized</a>(), <a href="#show">show</a>(), <a href="#hide">hide</a>(), and <a href="#visible-prop">visible</a>.
+
+<h3 class=fn>void <a name="showMaximized"></a>QWidget::showMaximized ()<tt> [virtual slot]</tt>
+</h3>
+Shows the widget maximized.
+<p> Calling this function only affects <a href="#isTopLevel">top-level
+ widgets</a>.
+<p> On X11, this function may not work properly with certain window
+managers. See the <a href="geometry.html">Window Geometry
+ documentation</a> for an explanation.
+<p> <p>See also <a href="#setWindowState">setWindowState</a>(), <a href="#showNormal">showNormal</a>(), <a href="#showMinimized">showMinimized</a>(), <a href="#show">show</a>(), <a href="#hide">hide</a>(), and <a href="#visible-prop">visible</a>.
+
+<p>Examples: <a href="canvas-example.html#x2968">canvas/main.cpp</a>, <a href="helpviewer-example.html#x1045">helpviewer/main.cpp</a>, <a href="mdi-example.html#x2087">mdi/application.cpp</a>, <a href="qwerty-example.html#x422">qwerty/main.cpp</a>, <a href="qwerty-example.html#x413">qwerty/qwerty.cpp</a>, and <a href="scribble-example.html#x960">scribble/main.cpp</a>.
+<h3 class=fn>void <a name="showMinimized"></a>QWidget::showMinimized ()<tt> [virtual slot]</tt>
+</h3>
+Shows the widget minimized, as an icon.
+<p> Calling this function only affects <a href="#isTopLevel">top-level
+ widgets</a>.
+<p> <p>See also <a href="#showNormal">showNormal</a>(), <a href="#showMaximized">showMaximized</a>(), <a href="#show">show</a>(), <a href="#hide">hide</a>(), <a href="#visible-prop">visible</a>, and <a href="#minimized-prop">minimized</a>.
+
+<h3 class=fn>void <a name="showNormal"></a>QWidget::showNormal ()<tt> [virtual slot]</tt>
+</h3>
+Restores the widget after it has been maximized or minimized.
+<p> Calling this function only affects <a href="#isTopLevel">top-level
+ widgets</a>.
+<p> <p>See also <a href="#setWindowState">setWindowState</a>(), <a href="#showMinimized">showMinimized</a>(), <a href="#showMaximized">showMaximized</a>(), <a href="#show">show</a>(), <a href="#hide">hide</a>(), and <a href="#visible-prop">visible</a>.
+
+<p>Example: <a href="mdi-example.html#x2088">mdi/application.cpp</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size"></a>QWidget::size () const
+</h3><p>Returns the size of the widget excluding any window frame.
+See the <a href="qwidget.html#size-prop">"size"</a> property for details.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QWidget::sizeHint () const<tt> [virtual]</tt>
+</h3><p>Returns the recommended size for the widget.
+See the <a href="qwidget.html#sizeHint-prop">"sizeHint"</a> property for details.
+<p>Reimplemented in <a href="qsizegrip.html#sizeHint">QSizeGrip</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeIncrement"></a>QWidget::sizeIncrement () const
+</h3><p>Returns the size increment of the widget.
+See the <a href="qwidget.html#sizeIncrement-prop">"sizeIncrement"</a> property for details.
+<h3 class=fn><a href="qsizepolicy.html">QSizePolicy</a> <a name="sizePolicy"></a>QWidget::sizePolicy () const<tt> [virtual]</tt>
+</h3><p>Returns the default layout behavior of the widget.
+See the <a href="qwidget.html#sizePolicy-prop">"sizePolicy"</a> property for details.
+<h3 class=fn>void <a name="stackUnder"></a>QWidget::stackUnder ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [slot]</tt>
+</h3>
+Places the widget under <em>w</em> in the parent widget's stack.
+<p> To make this work, the widget itself and <em>w</em> must be siblings.
+<p> <p>See also <a href="#raise">raise</a>() and <a href="#lower">lower</a>().
+
+<h3 class=fn><a href="qstyle.html">QStyle</a>&nbsp;&amp; <a name="style"></a>QWidget::style () const
+</h3>
+Returns the GUI style for this widget
+<p> <p>See also <a href="#setStyle">QWidget::setStyle</a>(), <a href="qapplication.html#setStyle">QApplication::setStyle</a>(), and <a href="qapplication.html#style">QApplication::style</a>().
+
+<h3 class=fn>void <a name="styleChange"></a>QWidget::styleChange ( <a href="qstyle.html">QStyle</a>&nbsp;&amp;&nbsp;oldStyle )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is called when the style of the widgets
+changes. <em>oldStyle</em> is the previous GUI style; you can get the
+new style from <a href="#style">style</a>().
+<p> Reimplement this function if your widget needs to know when its
+GUI style changes. You will almost certainly need to update the
+widget using <a href="#update">update</a>().
+<p> The default implementation updates the widget including its
+geometry.
+<p> <p>See also <a href="qapplication.html#setStyle">QApplication::setStyle</a>(), <a href="#style">style</a>(), <a href="#update">update</a>(), and <a href="#updateGeometry">updateGeometry</a>().
+
+<h3 class=fn>void <a name="tabletEvent"></a>QWidget::tabletEvent ( <a href="qtabletevent.html">QTabletEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive tablet events for the widget.
+<p> If you reimplement this handler, it is very important that you
+<a href="qtabletevent.html">ignore()</a> the event if you do not handle
+it, so that the widget's parent can interpret it.
+<p> The default implementation ignores the event.
+<p> <p>See also <a href="qtabletevent.html#ignore">QTabletEvent::ignore</a>(), <a href="qtabletevent.html#accept">QTabletEvent::accept</a>(), <a href="#event">event</a>(), and <a href="qtabletevent.html">QTabletEvent</a>.
+
+<h3 class=fn>WFlags <a name="testWFlags"></a>QWidget::testWFlags ( WFlags&nbsp;f ) const
+</h3>
+
+<p> Returns the bitwise AND of the widget flags and <em>f</em>.
+<p> Widget flags are a combination of <a href="qt.html#WidgetFlags-enum">Qt::WidgetFlags</a>.
+<p> If you want to test for the presence of multiple flags (or
+composite flags such as <a href="qt.html#WidgetFlags-enum">WStyle_Splash</a>), test the
+return value for equality against the argument. For example:
+<p> <pre>
+ int flags = WStyle_Tool | WStyle_NoBorder;
+ if ( <a href="#testWFlags">testWFlags</a>(flags) )
+ ... // WStyle_Tool or WStyle_NoBorder or both are set
+ if ( <a href="#testWFlags">testWFlags</a>(flags) == flags )
+ ... // both WStyle_Tool and WStyle_NoBorder are set
+ </pre>
+
+<p> <p>See also <a href="#getWFlags">getWFlags</a>(), <a href="#setWFlags">setWFlags</a>(), and <a href="#clearWFlags">clearWFlags</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="topLevelWidget"></a>QWidget::topLevelWidget () const
+</h3>
+Returns the top-level widget for this widget, i.e. the next
+ancestor widget that has (or could have) a window-system frame.
+<p> If the widget is a top-level, the widget itself is returned.
+<p> Typical usage is changing the window caption:
+<p> <pre>
+ aWidget-&gt;topLevelWidget()-&gt;setCaption( "New Caption" );
+ </pre>
+
+<p> <p>See also <a href="#isTopLevel-prop">isTopLevel</a>.
+
+<h3 class=fn>void <a name="unsetCursor"></a>QWidget::unsetCursor ()<tt> [virtual]</tt>
+</h3><p>Resets the cursor shape for this widget.
+See the <a href="qwidget.html#cursor-prop">"cursor"</a> property for details.
+<h3 class=fn>void <a name="unsetFont"></a>QWidget::unsetFont ()
+</h3><p>Resets the font currently set for the widget.
+See the <a href="qwidget.html#font-prop">"font"</a> property for details.
+<h3 class=fn>void <a name="unsetPalette"></a>QWidget::unsetPalette ()
+</h3><p>Resets the widget's palette.
+See the <a href="qwidget.html#palette-prop">"palette"</a> property for details.
+<h3 class=fn>void <a name="update"></a>QWidget::update ()<tt> [slot]</tt>
+</h3>
+Updates the widget unless updates are disabled or the widget is
+hidden.
+<p> This function does not cause an immediate repaint; instead it
+schedules a paint event for processing when Qt returns to the main
+event loop. This permits Qt to optimize for more speed and less
+flicker than a call to <a href="#repaint">repaint</a>() does.
+<p> Calling <a href="#update">update</a>() several times normally results in just one
+<a href="#paintEvent">paintEvent</a>() call.
+<p> Qt normally erases the widget's area before the paintEvent() call.
+If the <a href="qt.html#WidgetFlags-enum">WRepaintNoErase</a> widget flag is set, the widget is
+responsible for painting all its pixels itself.
+<p> <p>See also <a href="#repaint">repaint</a>(), <a href="#paintEvent">paintEvent</a>(), <a href="#updatesEnabled-prop">updatesEnabled</a>, <a href="#erase">erase</a>(), and <a href="#setWFlags">setWFlags</a>().
+
+<p>Examples: <a href="desktop-example.html#x1763">desktop/desktop.cpp</a> and <a href="scrollview-example.html#x662">scrollview/scrollview.cpp</a>.
+<h3 class=fn>void <a name="update-2"></a>QWidget::update ( int&nbsp;x, int&nbsp;y, int&nbsp;w, int&nbsp;h )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Updates a rectangle (<em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>) inside the widget
+unless updates are disabled or the widget is hidden.
+<p> This function does not cause an immediate repaint; instead it
+schedules a paint event for processing when Qt returns to the main
+event loop. This permits Qt to optimize for more speed and less
+flicker and a call to <a href="#repaint">repaint</a>() does.
+<p> Calling <a href="#update">update</a>() several times normally results in just one
+<a href="#paintEvent">paintEvent</a>() call.
+<p> If <em>w</em> is negative, it is replaced with <tt>width() - x</tt>. If <em>h</em>
+is negative, it is replaced width <tt>height() - y</tt>.
+<p> Qt normally erases the specified area before the paintEvent()
+call. If the <a href="qt.html#WidgetFlags-enum">WRepaintNoErase</a> widget flag is set, the widget is
+responsible for painting all its pixels itself.
+<p> <p>See also <a href="#repaint">repaint</a>(), <a href="#paintEvent">paintEvent</a>(), <a href="#updatesEnabled-prop">updatesEnabled</a>, and <a href="#erase">erase</a>().
+
+<h3 class=fn>void <a name="update-3"></a>QWidget::update ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Updates a rectangle <em>r</em> inside the widget unless updates are
+disabled or the widget is hidden.
+<p> This function does not cause an immediate repaint; instead it
+schedules a paint event for processing when Qt returns to the main
+event loop. This permits Qt to optimize for more speed and less
+flicker and a call to <a href="#repaint">repaint</a>() does.
+<p> Calling <a href="#update">update</a>() several times normally results in just one
+<a href="#paintEvent">paintEvent</a>() call.
+
+<h3 class=fn>void <a name="updateGeometry"></a>QWidget::updateGeometry ()
+</h3>
+Notifies the layout system that this widget has changed and may
+need to change geometry.
+<p> Call this function if the <a href="#sizeHint">sizeHint</a>() or <a href="#sizePolicy">sizePolicy</a>() have changed.
+<p> For explicitly hidden widgets, <a href="#updateGeometry">updateGeometry</a>() is a no-op. The
+layout system will be notified as soon as the widget is shown.
+
+<h3 class=fn>void <a name="updateMask"></a>QWidget::updateMask ()<tt> [virtual protected]</tt>
+</h3>
+This function can be reimplemented in a subclass to support
+transparent widgets. It should be called whenever a widget changes
+state in a way that means that the shape mask must be recalculated.
+<p> <p>See also <a href="#autoMask-prop">autoMask</a>, <a href="#setMask">setMask</a>(), and <a href="#clearMask">clearMask</a>().
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="visibleRect"></a>QWidget::visibleRect () const
+</h3><p>Returns the visible rectangle.
+See the <a href="qwidget.html#visibleRect-prop">"visibleRect"</a> property for details.
+<h3 class=fn>void <a name="wheelEvent"></a>QWidget::wheelEvent ( <a href="qwheelevent.html">QWheelEvent</a>&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+This event handler, for event <em>e</em>, can be reimplemented in a
+subclass to receive wheel events for the widget.
+<p> If you reimplement this handler, it is very important that you
+<a href="qwheelevent.html">ignore()</a> the event if you do not handle
+it, so that the widget's parent can interpret it.
+<p> The default implementation ignores the event.
+<p> <p>See also <a href="qwheelevent.html#ignore">QWheelEvent::ignore</a>(), <a href="qwheelevent.html#accept">QWheelEvent::accept</a>(), <a href="#event">event</a>(), and <a href="qwheelevent.html">QWheelEvent</a>.
+
+<h3 class=fn>int <a name="width"></a>QWidget::width () const
+</h3><p>Returns the width of the widget excluding any window frame.
+See the <a href="qwidget.html#width-prop">"width"</a> property for details.
+<h3 class=fn>bool <a name="winEvent"></a>QWidget::winEvent ( MSG * )<tt> [virtual protected]</tt>
+</h3>
+This special event handler can be reimplemented in a subclass to
+receive native Windows events.
+<p> In your reimplementation of this function, if you want to stop the
+event being handled by Qt, return TRUE. If you return FALSE, this
+native event is passed back to Qt, which translates the event into
+a Qt event and sends it to the widget.
+<p> <b>Warning:</b> This function is not portable.
+<p> <p>See also <a href="qapplication.html#winEventFilter">QApplication::winEventFilter</a>().
+
+<h3 class=fn>WId <a name="winId"></a>QWidget::winId () const
+</h3>
+
+<p> Returns the window system identifier of the widget.
+<p> Portable in principle, but if you use it you are probably about to
+do something non-portable. Be careful.
+<p> <p>See also <a href="#find">find</a>().
+
+<h3 class=fn>void <a name="windowActivationChange"></a>QWidget::windowActivationChange ( bool&nbsp;oldActive )<tt> [virtual protected]</tt>
+</h3>
+
+<p> This virtual function is called for a widget when its window is
+activated or deactivated by the window system. <em>oldActive</em> is the
+previous state; you can get the new setting from <a href="#isActiveWindow">isActiveWindow</a>().
+<p> Reimplement this function if your widget needs to know when its
+window becomes activated or deactivated.
+<p> The default implementation updates the visible part of the widget
+if the inactive and the active colorgroup are different for colors
+other than the highlight and link colors.
+<p> <p>See also <a href="#setActiveWindow">setActiveWindow</a>(), <a href="#isActiveWindow-prop">isActiveWindow</a>, <a href="#update">update</a>(), and <a href="#palette-prop">palette</a>.
+
+<h3 class=fn>double <a name="windowOpacity"></a>QWidget::windowOpacity () const
+</h3><p>Returns the level of opacity for the window.
+See the <a href="qwidget.html#windowOpacity-prop">"windowOpacity"</a> property for details.
+<h3 class=fn>uint <a name="windowState"></a>QWidget::windowState () const
+</h3> Returns the current <a href="qt.html#WindowState">window state</a>. The window state is a OR'ed
+combination of Qt::WindowState: <a href="qt.html#WindowState-enum">WindowMinimized</a>, <a href="qt.html#WindowState-enum">WindowMaximized</a>, <a href="qt.html#WindowState-enum">WindowFullScreen</a> and <a href="qt.html#WindowState-enum">WindowActive</a>.
+<p> <p>See also <a href="qt.html#WindowState-enum">Qt::WindowState</a> and <a href="#setWindowState">setWindowState</a>().
+
+<h3 class=fn>int <a name="x"></a>QWidget::x () const
+</h3><p>Returns the x coordinate of the widget relative to its parent including any window frame.
+See the <a href="qwidget.html#x-prop">"x"</a> property for details.
+<h3 class=fn>bool <a name="x11Event"></a>QWidget::x11Event ( XEvent * )<tt> [virtual protected]</tt>
+</h3>
+This special event handler can be reimplemented in a subclass to
+receive native X11 events.
+<p> In your reimplementation of this function, if you want to stop the
+event being handled by Qt, return TRUE. If you return FALSE, this
+native event is passed back to Qt, which translates the event into
+a Qt event and sends it to the widget.
+<p> <b>Warning:</b> This function is not portable.
+<p> <p>See also <a href="qapplication.html#x11EventFilter">QApplication::x11EventFilter</a>().
+
+<p>Reimplemented in <a href="qxtwidget.html#x11Event">QXtWidget</a>.
+<h3 class=fn>int <a name="y"></a>QWidget::y () const
+</h3><p>Returns the y coordinate of the widget relative to its parent and including any window frame.
+See the <a href="qwidget.html#y-prop">"y"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="acceptDrops-prop"></a>acceptDrops</h3>
+<p>This property holds whether drop events are enabled for this widget.
+<p>Setting this property to TRUE announces to the system that this
+widget <em>may</em> be able to accept drop events.
+<p> If the widget is the desktop (<a href="#isDesktop">QWidget::isDesktop</a>()), this may
+fail if another application is using the desktop; you can call
+<a href="#acceptDrops">acceptDrops</a>() to test if this occurs.
+<p> <b>Warning:</b>
+Do not modify this property in a Drag&Drop event handler.
+
+<p>Set this property's value with <a href="#setAcceptDrops">setAcceptDrops</a>() and get this property's value with <a href="#acceptDrops">acceptDrops</a>().
+<h3 class=fn>bool <a name="autoMask-prop"></a>autoMask</h3>
+<p>This property holds whether the auto mask feature is enabled for the widget.
+<p>Transparent widgets use a mask to define their visible region.
+QWidget has some built-in support to make the task of
+recalculating the mask easier. When setting auto mask to TRUE,
+<a href="#updateMask">updateMask</a>() will be called whenever the widget is resized or
+changes its focus state. Note that you must reimplement
+updateMask() (which should include a call to <a href="#setMask">setMask</a>()) or nothing
+will happen.
+<p> Note: when you re-implement <a href="#resizeEvent">resizeEvent</a>(), <a href="#focusInEvent">focusInEvent</a>() or
+<a href="#focusOutEvent">focusOutEvent</a>() in your custom widgets and still want to ensure
+that the auto mask calculation works, you should add:
+<p> <pre>
+ if ( <a href="#autoMask">autoMask</a>() )
+ <a href="#updateMask">updateMask</a>();
+ </pre>
+
+<p> at the end of your event handlers. This is true for all member
+functions that change the appearance of the widget in a way that
+requires a recalculation of the mask.
+<p> While being a technically appealing concept, masks have a big
+drawback: when using complex masks that cannot be expressed easily
+with relatively simple regions, they can be very slow on some
+window systems. The classic example is a transparent label. The
+complex shape of its contents makes it necessary to represent its
+mask by a bitmap, which consumes both memory and time. If all you
+want is to blend the background of several neighboring widgets
+together seamlessly, you will probably want to use
+<a href="#setBackgroundOrigin">setBackgroundOrigin</a>() rather than a mask.
+<p> <p>See also <a href="#updateMask">updateMask</a>(), <a href="#setMask">setMask</a>(), <a href="#clearMask">clearMask</a>(), and <a href="#backgroundOrigin-prop">backgroundOrigin</a>.
+
+<p>Set this property's value with <a href="#setAutoMask">setAutoMask</a>() and get this property's value with <a href="#autoMask">autoMask</a>().
+<h3 class=fn><a href="qbrush.html">QBrush</a> <a name="backgroundBrush-prop"></a>backgroundBrush</h3>
+<p>This property holds the widget's background brush.
+<p>The background brush depends on a widget's palette and its
+background mode.
+<p> <p>See also <a href="#backgroundColor">backgroundColor</a>(), <a href="#backgroundPixmap">backgroundPixmap</a>(), <a href="#eraseColor">eraseColor</a>(), <a href="#palette-prop">palette</a>, and <a href="qapplication.html#setPalette">QApplication::setPalette</a>().
+
+<p>Get this property's value with <a href="#backgroundBrush">backgroundBrush</a>().
+<h3 class=fn><a href="qt.html#BackgroundMode-enum">BackgroundMode</a> <a name="backgroundMode-prop"></a>backgroundMode</h3>
+<p>This property holds the color role used for painting the background of the widget.
+<p>setPaletteBackgroundColor() reads this property to determine which
+entry of the <a href="#palette-prop">palette</a> to set.
+<p> For most widgets the default suffices (<a href="qt.html#BackgroundMode-enum">PaletteBackground</a>,
+typically gray), but some need to use <a href="qt.html#BackgroundMode-enum">PaletteBase</a> (the
+background color for text output, typically white) or another
+role.
+<p> <a href="qlistbox.html">QListBox</a>, which is "sunken" and uses the base color to contrast
+with its environment, does this in its constructor:
+<p> <pre>
+ <a href="#setBackgroundMode">setBackgroundMode</a>( <a href="qt.html#BackgroundMode-enum">PaletteBase</a> );
+ </pre>
+
+<p> You will never need to set the background mode of a built-in
+widget in Qt, but you might consider setting it in your custom
+widgets, so that <a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>() works as expected.
+<p> Note that two of the BackgroundMode values make no sense for
+<a href="#setBackgroundMode">setBackgroundMode</a>(), namely <a href="qt.html#BackgroundMode-enum">FixedPixmap</a> and <a href="qt.html#BackgroundMode-enum">FixedColor</a>. You
+must call <a href="#setBackgroundPixmap">setBackgroundPixmap</a>() and setPaletteBackgroundColor()
+instead.
+
+<p>Set this property's value with <a href="#setBackgroundMode">setBackgroundMode</a>() and get this property's value with <a href="#backgroundMode">backgroundMode</a>().
+<h3 class=fn><a href="qwidget.html#BackgroundOrigin-enum">BackgroundOrigin</a> <a name="backgroundOrigin-prop"></a>backgroundOrigin</h3>
+<p>This property holds the origin of the widget's background.
+<p>The origin is either WidgetOrigin (the default), ParentOrigin,
+WindowOrigin or AncestorOrigin.
+<p> This only makes a difference if the widget has a background
+pixmap, in which case positioning matters. Using <a href="#BackgroundOrigin-enum">WindowOrigin</a>
+for several neighboring widgets makes the background blend
+together seamlessly. <a href="#BackgroundOrigin-enum">AncestorOrigin</a> allows blending backgrounds
+seamlessly when an ancestor of the widget has an origin other than
+<a href="#BackgroundOrigin-enum">WindowOrigin</a>.
+<p> <p>See also <a href="#backgroundPixmap">backgroundPixmap</a>() and <a href="#backgroundMode-prop">backgroundMode</a>.
+
+<p>Set this property's value with <a href="#setBackgroundOrigin">setBackgroundOrigin</a>() and get this property's value with <a href="#backgroundOrigin">backgroundOrigin</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="baseSize-prop"></a>baseSize</h3>
+<p>This property holds the base size of the widget.
+<p>The base size is used to calculate a proper widget size if the
+widget defines <a href="#sizeIncrement">sizeIncrement</a>().
+<p> <p>See also <a href="#sizeIncrement-prop">sizeIncrement</a>.
+
+<p>Set this property's value with <a href="#setBaseSize">setBaseSize</a>() and get this property's value with <a href="#baseSize">baseSize</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="caption-prop"></a>caption</h3>
+<p>This property holds the window caption (title).
+<p>This property only makes sense for top-level widgets. If no
+caption has been set, the caption is <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#icon-prop">icon</a> and <a href="#iconText-prop">iconText</a>.
+
+<p>Set this property's value with <a href="#setCaption">setCaption</a>() and get this property's value with <a href="#caption">caption</a>().
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="childrenRect-prop"></a>childrenRect</h3>
+<p>This property holds the bounding rectangle of the widget's children.
+<p>Hidden children are excluded.
+<p> <p>See also <a href="#childrenRegion-prop">childrenRegion</a> and <a href="#geometry-prop">geometry</a>.
+
+<p>Get this property's value with <a href="#childrenRect">childrenRect</a>().
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="childrenRegion-prop"></a>childrenRegion</h3>
+<p>This property holds the combined region occupied by the widget's children.
+<p>Hidden children are excluded.
+<p> <p>See also <a href="#childrenRect-prop">childrenRect</a> and <a href="#geometry-prop">geometry</a>.
+
+<p>Get this property's value with <a href="#childrenRegion">childrenRegion</a>().
+<h3 class=fn><a href="qcolorgroup.html">QColorGroup</a> <a name="colorGroup-prop"></a>colorGroup</h3>
+<p>This property holds the current color group of the widget palette.
+<p>The color group is determined by the state of the widget. A
+disabled widget has the <a href="qpalette.html#disabled">QPalette::disabled</a>() color group, a widget
+with <a href="focus.html#keyboard-focus">keyboard focus</a> has the <a href="qpalette.html#active">QPalette::active</a>() color group, and an
+inactive widget has the <a href="qpalette.html#inactive">QPalette::inactive</a>() color group.
+<p> <p>See also <a href="#palette-prop">palette</a>.
+
+<p>Get this property's value with <a href="#colorGroup">colorGroup</a>().
+<h3 class=fn><a href="qcursor.html">QCursor</a> <a name="cursor-prop"></a>cursor</h3>
+<p>This property holds the cursor shape for this widget.
+<p>The mouse cursor will assume this shape when it's over this
+widget. See the <a href="qt.html#CursorShape-enum">list of predefined cursor
+ objects</a> for a range of useful shapes.
+<p> An editor widget might use an I-beam cursor:
+<pre>
+ <a href="#setCursor">setCursor</a>( <a href="qt.html#CursorShape-enum">IbeamCursor</a> );
+ </pre>
+
+<p> If no cursor has been set, or after a call to <a href="#unsetCursor">unsetCursor</a>(), the
+parent's cursor is used. The function unsetCursor() has no effect
+on top-level widgets.
+<p> <p>See also <a href="qapplication.html#setOverrideCursor">QApplication::setOverrideCursor</a>().
+
+<p>Set this property's value with <a href="#setCursor">setCursor</a>(), get this property's value with <a href="#cursor">cursor</a>(), and reset this property's value with <a href="#unsetCursor">unsetCursor</a>().
+<h3 class=fn>bool <a name="customWhatsThis-prop"></a>customWhatsThis</h3>
+<p>This property holds whether the widget wants to handle What's This help manually.
+<p>The default implementation of <a href="#customWhatsThis">customWhatsThis</a>() returns FALSE,
+which means the widget will not receive any events in Whats This
+mode.
+<p> The widget may leave What's This mode by calling
+<a href="qwhatsthis.html#leaveWhatsThisMode">QWhatsThis::leaveWhatsThisMode</a>(), with or without actually
+displaying any help text.
+<p> You can also reimplement customWhatsThis() if your widget is a
+"passive interactor" supposed to work under all circumstances.
+Simply don't call QWhatsThis::leaveWhatsThisMode() in that case.
+<p> <p>See also <a href="qwhatsthis.html#inWhatsThisMode">QWhatsThis::inWhatsThisMode</a>() and <a href="qwhatsthis.html#leaveWhatsThisMode">QWhatsThis::leaveWhatsThisMode</a>().
+
+<p>Get this property's value with <a href="#customWhatsThis">customWhatsThis</a>().
+<h3 class=fn>bool <a name="enabled-prop"></a>enabled</h3>
+<p>This property holds whether the widget is enabled.
+<p>An enabled widget receives keyboard and mouse events; a disabled
+widget does not. In fact, an enabled widget only receives keyboard
+events when it is in focus.
+<p> Some widgets display themselves differently when they are
+disabled. For example a button might draw its label grayed out. If
+your widget needs to know when it becomes enabled or disabled, you
+can reimplement the <a href="#enabledChange">enabledChange</a>() function.
+<p> Disabling a widget implicitly disables all its children. Enabling
+respectively enables all child widgets unless they have been
+explicitly disabled.
+<p> <p>See also <a href="#enabled-prop">enabled</a>, <a href="#isEnabledTo">isEnabledTo</a>(), <a href="qkeyevent.html">QKeyEvent</a>, <a href="qmouseevent.html">QMouseEvent</a>, and <a href="#enabledChange">enabledChange</a>().
+
+<p>Set this property's value with <a href="#setEnabled">setEnabled</a>() and get this property's value with <a href="#isEnabled">isEnabled</a>().
+<h3 class=fn>bool <a name="focus-prop"></a>focus</h3>
+<p>This property holds whether this widget (or its focus proxy) has the keyboard input focus.
+<p>Effectively equivalent to <tt>qApp-&gt;focusWidget() == this</tt>.
+<p> <p>See also <a href="#setFocus">setFocus</a>(), <a href="#clearFocus">clearFocus</a>(), <a href="#focusPolicy-prop">focusPolicy</a>, and <a href="qapplication.html#focusWidget">QApplication::focusWidget</a>().
+
+<p>Get this property's value with <a href="#hasFocus">hasFocus</a>().
+<h3 class=fn>bool <a name="focusEnabled-prop"></a>focusEnabled</h3>
+<p>This property holds whether the widget accepts <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p>Keyboard focus is initially disabled (i.e. <a href="#focusPolicy">focusPolicy</a>() ==
+<a href="#FocusPolicy-enum">QWidget::NoFocus</a>).
+<p> You must enable keyboard focus for a widget if it processes
+keyboard events. This is normally done from the widget's
+constructor. For instance, the <a href="qlineedit.html">QLineEdit</a> constructor calls
+<a href="#setFocusPolicy">setFocusPolicy</a>(QWidget::StrongFocus).
+<p> <p>See also <a href="#focusPolicy-prop">focusPolicy</a>, <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#keyPressEvent">keyPressEvent</a>(), <a href="#keyReleaseEvent">keyReleaseEvent</a>(), and <a href="#enabled-prop">enabled</a>.
+
+<p>Get this property's value with <a href="#isFocusEnabled">isFocusEnabled</a>().
+<h3 class=fn><a href="qwidget.html#FocusPolicy-enum">FocusPolicy</a> <a name="focusPolicy-prop"></a>focusPolicy</h3>
+<p>This property holds the way the widget accepts <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p>The policy is <a href="#FocusPolicy-enum">QWidget::TabFocus</a> if the widget accepts keyboard
+focus by tabbing, <a href="#FocusPolicy-enum">QWidget::ClickFocus</a> if the widget accepts
+focus by clicking, <a href="#FocusPolicy-enum">QWidget::StrongFocus</a> if it accepts both, and
+<a href="#FocusPolicy-enum">QWidget::NoFocus</a> (the default) if it does not accept focus at
+all.
+<p> You must enable keyboard focus for a widget if it processes
+keyboard events. This is normally done from the widget's
+constructor. For instance, the <a href="qlineedit.html">QLineEdit</a> constructor calls
+<a href="#setFocusPolicy">setFocusPolicy</a>(QWidget::StrongFocus).
+<p> <p>See also <a href="#focusEnabled-prop">focusEnabled</a>, <a href="#focusInEvent">focusInEvent</a>(), <a href="#focusOutEvent">focusOutEvent</a>(), <a href="#keyPressEvent">keyPressEvent</a>(), <a href="#keyReleaseEvent">keyReleaseEvent</a>(), and <a href="#enabled-prop">enabled</a>.
+
+<p>Set this property's value with <a href="#setFocusPolicy">setFocusPolicy</a>() and get this property's value with <a href="#focusPolicy">focusPolicy</a>().
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="font-prop"></a>font</h3>
+<p>This property holds the font currently set for the widget.
+<p>The <a href="#fontInfo">fontInfo</a>() function reports the actual font that is being used
+by the widget.
+<p> As long as no special font has been set, or after <a href="#unsetFont">unsetFont</a>() is
+called, this is either a special font for the widget class, the
+parent's font or (if this widget is a top level widget), the
+default application font.
+<p> This code fragment sets a 12 point helvetica bold font:
+<pre>
+ <a href="qfont.html">QFont</a> f( "Helvetica", 12, QFont::Bold );
+ <a href="#setFont">setFont</a>( f );
+ </pre>
+
+<p> In addition to setting the font, <a href="#setFont">setFont</a>() informs all children
+about the change.
+<p> <p>See also <a href="#fontChange">fontChange</a>(), <a href="#fontInfo">fontInfo</a>(), <a href="#fontMetrics">fontMetrics</a>(), and <a href="#ownFont-prop">ownFont</a>.
+
+<p>Set this property's value with <a href="#setFont">setFont</a>(), get this property's value with <a href="#font">font</a>(), and reset this property's value with <a href="#unsetFont">unsetFont</a>().
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="frameGeometry-prop"></a>frameGeometry</h3>
+<p>This property holds geometry of the widget relative to its parent including any window frame.
+<p>See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of geometry issues with top-level widgets.
+<p> <p>See also <a href="#geometry-prop">geometry</a>, <a href="#x-prop">x</a>, <a href="#y-prop">y</a>, and <a href="#pos-prop">pos</a>.
+
+<p>Get this property's value with <a href="#frameGeometry">frameGeometry</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="frameSize-prop"></a>frameSize</h3>
+<p>This property holds the size of the widget including any window frame.
+<p>
+<p>Get this property's value with <a href="#frameSize">frameSize</a>().
+<h3 class=fn>bool <a name="fullScreen-prop"></a>fullScreen</h3>
+<p>This property holds whether the widget is full screen.
+<p>Get this property's value with <a href="#isFullScreen">isFullScreen</a>().
+<p><p>See also <a href="#windowState">windowState</a>(), <a href="#minimized-prop">minimized</a>, and <a href="#maximized-prop">maximized</a>.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="geometry-prop"></a>geometry</h3>
+<p>This property holds the geometry of the widget relative to its parent and excluding the window frame.
+<p>When changing the geometry, the widget, if visible, receives a
+move event (<a href="#moveEvent">moveEvent</a>()) and/or a resize event (<a href="#resizeEvent">resizeEvent</a>())
+immediately. If the widget is not currently visible, it is
+guaranteed to receive appropriate events before it is shown.
+<p> The size component is adjusted if it lies outside the range
+defined by <a href="#minimumSize">minimumSize</a>() and <a href="#maximumSize">maximumSize</a>().
+<p> <a href="#setGeometry">setGeometry</a>() is virtual, and all other overloaded setGeometry()
+implementations in Qt call it.
+<p> <b>Warning:</b> Calling setGeometry() inside resizeEvent() or moveEvent()
+can lead to infinite recursion.
+<p> See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#frameGeometry-prop">frameGeometry</a>, <a href="#rect-prop">rect</a>, <a href="#pos-prop">pos</a>, <a href="#size-prop">size</a>, <a href="#moveEvent">moveEvent</a>(), <a href="#resizeEvent">resizeEvent</a>(), <a href="#minimumSize-prop">minimumSize</a>, and <a href="#maximumSize-prop">maximumSize</a>.
+
+<p>Set this property's value with <a href="#setGeometry">setGeometry</a>() and get this property's value with <a href="#geometry">geometry</a>().
+<h3 class=fn>int <a name="height-prop"></a>height</h3>
+<p>This property holds the height of the widget excluding any window frame.
+<p>See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#geometry-prop">geometry</a>, <a href="#width-prop">width</a>, and <a href="#size-prop">size</a>.
+
+<p>Get this property's value with <a href="#height">height</a>().
+<h3 class=fn>bool <a name="hidden-prop"></a>hidden</h3>
+<p>This property holds whether the widget is explicitly hidden.
+<p>If FALSE, the widget is visible or would become visible if all its
+ancestors became visible.
+<p> <p>See also <a href="#hide">hide</a>(), <a href="#show">show</a>(), <a href="#visible-prop">visible</a>, <a href="#isVisibleTo">isVisibleTo</a>(), and <a href="#shown-prop">shown</a>.
+
+<p>Set this property's value with <a href="#setHidden">setHidden</a>() and get this property's value with <a href="#isHidden">isHidden</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="icon-prop"></a>icon</h3>
+<p>This property holds the widget's icon.
+<p>This property only makes sense for top-level widgets. If no icon
+has been set, <a href="#icon">icon</a>() returns 0.
+<p> <p>See also <a href="#iconText-prop">iconText</a>, <a href="#caption-prop">caption</a>, and <a href="appicon.html">Setting the Application Icon</a>.
+
+<p>Set this property's value with <a href="#setIcon">setIcon</a>() and get this property's value with <a href="#icon">icon</a>().
+<h3 class=fn><a href="qstring.html">QString</a> <a name="iconText-prop"></a>iconText</h3>
+<p>This property holds the widget's icon text.
+<p>This property only makes sense for top-level widgets. If no icon
+text has been set, this functions returns <a href="qstring.html#QString-null">QString::null</a>.
+<p> <p>See also <a href="#icon-prop">icon</a> and <a href="#caption-prop">caption</a>.
+
+<p>Set this property's value with <a href="#setIconText">setIconText</a>() and get this property's value with <a href="#iconText">iconText</a>().
+<h3 class=fn>bool <a name="inputMethodEnabled-prop"></a>inputMethodEnabled</h3>
+<p>This property holds enables or disables the use of input methods for this widget.
+<p>Most Widgets (as eg. buttons) that do not handle text input should have
+the input method disabled if they have focus. This is the default.
+<p> If a widget handles text input it should set this property to TRUE.
+
+<p>Set this property's value with <a href="#setInputMethodEnabled">setInputMethodEnabled</a>() and get this property's value with <a href="#isInputMethodEnabled">isInputMethodEnabled</a>().
+<h3 class=fn>bool <a name="isActiveWindow-prop"></a>isActiveWindow</h3>
+<p>This property holds whether this widget is the active window.
+<p>The active window is the window that contains the widget
+that has <a href="focus.html#keyboard-focus">keyboard focus</a>.
+<p> When popup windows are visible, this property is TRUE for both the
+active window <em>and</em> for the popup.
+<p> <p>See also <a href="#setActiveWindow">setActiveWindow</a>() and <a href="qapplication.html#activeWindow">QApplication::activeWindow</a>().
+
+<p>Get this property's value with <a href="#isActiveWindow">isActiveWindow</a>().
+<h3 class=fn>bool <a name="isDesktop-prop"></a>isDesktop</h3>
+<p>This property holds whether the widget is a desktop widget, i.e. represents the desktop.
+<p>A desktop widget is also a top-level widget.
+<p> <p>See also <a href="#isTopLevel-prop">isTopLevel</a> and <a href="qapplication.html#desktop">QApplication::desktop</a>().
+
+<p>Get this property's value with <a href="#isDesktop">isDesktop</a>().
+<h3 class=fn>bool <a name="isDialog-prop"></a>isDialog</h3>
+<p>This property holds whether the widget is a dialog widget.
+<p>A dialog widget is a secondary top-level widget, i.e. a top-level
+widget with a parent.
+<p> <p>See also <a href="#isTopLevel-prop">isTopLevel</a> and <a href="qdialog.html">QDialog</a>.
+
+<p>Get this property's value with <a href="#isDialog">isDialog</a>().
+<h3 class=fn>bool <a name="isModal-prop"></a>isModal</h3>
+<p>This property holds whether the widget is a modal widget.
+<p>This property only makes sense for top-level widgets. A modal
+widget prevents widgets in all other top-level widgets from
+getting any input.
+<p> <p>See also <a href="#isTopLevel-prop">isTopLevel</a>, <a href="#isDialog-prop">isDialog</a>, and <a href="qdialog.html">QDialog</a>.
+
+<p>Get this property's value with <a href="#isModal">isModal</a>().
+<h3 class=fn>bool <a name="isPopup-prop"></a>isPopup</h3>
+<p>This property holds whether the widget is a popup widget.
+<p>A popup widget is created by specifying the <a href="qt.html#WidgetFlags">widget flag</a> <a href="qt.html#WidgetFlags-enum">WType_Popup</a> to the widget constructor. A popup widget is also a
+top-level widget.
+<p> <p>See also <a href="#isTopLevel-prop">isTopLevel</a>.
+
+<p>Get this property's value with <a href="#isPopup">isPopup</a>().
+<h3 class=fn>bool <a name="isTopLevel-prop"></a>isTopLevel</h3>
+<p>This property holds whether the widget is a top-level widget.
+<p>A top-level widget is a widget which usually has a frame and a
+<a href="#caption-prop">caption (title)</a>. <a href="#isPopup">Popup</a> and <a href="#isDesktop">desktop</a> widgets are also top-level widgets.
+<p> A top-level widget can have a <a href="#parentWidget">parent
+ widget</a>. It will then be grouped with its parent and deleted
+when the parent is deleted, minimized when the parent is minimized
+etc. If supported by the window manager, it will also have a
+common taskbar entry with its parent.
+<p> <a href="qdialog.html">QDialog</a> and <a href="qmainwindow.html">QMainWindow</a> widgets are by default top-level, even if
+a parent widget is specified in the constructor. This behavior is
+specified by the <a href="qt.html#WidgetFlags-enum">WType_TopLevel</a> widget flag.
+<p> <p>See also <a href="#topLevelWidget">topLevelWidget</a>(), <a href="#isDialog-prop">isDialog</a>, <a href="#isModal-prop">isModal</a>, <a href="#isPopup-prop">isPopup</a>, <a href="#isDesktop-prop">isDesktop</a>, and <a href="#parentWidget">parentWidget</a>().
+
+<p>Get this property's value with <a href="#isTopLevel">isTopLevel</a>().
+<h3 class=fn>bool <a name="maximized-prop"></a>maximized</h3>
+<p>This property holds whether this widget is maximized.
+<p>This property is only relevant for top-level widgets.
+<p> Note that due to limitations in some window-systems, this does not
+always report the expected results (e.g. if the user on X11
+maximizes the window via the window manager, Qt has no way of
+distinguishing this from any other resize). This is expected to
+improve as window manager protocols evolve.
+<p> <p>See also <a href="#windowState">windowState</a>(), <a href="#showMaximized">showMaximized</a>(), <a href="#visible-prop">visible</a>, <a href="#show">show</a>(), <a href="#hide">hide</a>(), <a href="#showNormal">showNormal</a>(), and <a href="#minimized-prop">minimized</a>.
+
+<p>Get this property's value with <a href="#isMaximized">isMaximized</a>().
+<h3 class=fn>int <a name="maximumHeight-prop"></a>maximumHeight</h3>
+<p>This property holds the widget's maximum height.
+<p>This property corresponds to <a href="#maximumSize">maximumSize</a>().<a href="#height">height</a>().
+<p> <p>See also <a href="#maximumSize-prop">maximumSize</a> and <a href="#maximumWidth-prop">maximumWidth</a>.
+
+<p>Set this property's value with <a href="#setMaximumHeight">setMaximumHeight</a>() and get this property's value with <a href="#maximumHeight">maximumHeight</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize-prop"></a>maximumSize</h3>
+<p>This property holds the widget's maximum size.
+<p>The widget cannot be resized to a larger size than the maximum
+widget size.
+<p> <p>See also <a href="#maximumWidth-prop">maximumWidth</a>, <a href="#maximumHeight-prop">maximumHeight</a>, <a href="#maximumSize-prop">maximumSize</a>, <a href="#minimumSize-prop">minimumSize</a>, and <a href="#sizeIncrement-prop">sizeIncrement</a>.
+
+<p>Set this property's value with <a href="#setMaximumSize">setMaximumSize</a>() and get this property's value with <a href="#maximumSize">maximumSize</a>().
+<h3 class=fn>int <a name="maximumWidth-prop"></a>maximumWidth</h3>
+<p>This property holds the widget's maximum width.
+<p>This property corresponds to <a href="#maximumSize">maximumSize</a>().<a href="#width">width</a>().
+<p> <p>See also <a href="#maximumSize-prop">maximumSize</a> and <a href="#maximumHeight-prop">maximumHeight</a>.
+
+<p>Set this property's value with <a href="#setMaximumWidth">setMaximumWidth</a>() and get this property's value with <a href="#maximumWidth">maximumWidth</a>().
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="microFocusHint-prop"></a>microFocusHint</h3>
+<p>This property holds the currently set micro focus hint for this widget.
+<p>See the documentation of <a href="#setMicroFocusHint">setMicroFocusHint</a>() for more information.
+
+<p>Get this property's value with <a href="#microFocusHint">microFocusHint</a>().
+<h3 class=fn>bool <a name="minimized-prop"></a>minimized</h3>
+<p>This property holds whether this widget is minimized (iconified).
+<p>This property is only relevant for top-level widgets.
+<p> <p>See also <a href="#showMinimized">showMinimized</a>(), <a href="#visible-prop">visible</a>, <a href="#show">show</a>(), <a href="#hide">hide</a>(), <a href="#showNormal">showNormal</a>(), and <a href="#maximized-prop">maximized</a>.
+
+<p>Get this property's value with <a href="#isMinimized">isMinimized</a>().
+<h3 class=fn>int <a name="minimumHeight-prop"></a>minimumHeight</h3>
+<p>This property holds the widget's minimum height.
+<p>This property corresponds to <a href="#minimumSize">minimumSize</a>().<a href="#height">height</a>().
+<p> <p>See also <a href="#minimumSize-prop">minimumSize</a> and <a href="#minimumWidth-prop">minimumWidth</a>.
+
+<p>Set this property's value with <a href="#setMinimumHeight">setMinimumHeight</a>() and get this property's value with <a href="#minimumHeight">minimumHeight</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize-prop"></a>minimumSize</h3>
+<p>This property holds the widget's minimum size.
+<p>The widget cannot be resized to a smaller size than the minimum
+widget size. The widget's size is forced to the minimum size if
+the current size is smaller.
+<p> If you use a layout inside the widget, the minimum size will be
+set by the layout and not by <a href="#setMinimumSize">setMinimumSize</a>(), unless you set the
+layout's resize mode to QLayout::FreeResize.
+<p> <p>See also <a href="#minimumWidth-prop">minimumWidth</a>, <a href="#minimumHeight-prop">minimumHeight</a>, <a href="#maximumSize-prop">maximumSize</a>, <a href="#sizeIncrement-prop">sizeIncrement</a>, and <a href="qlayout.html#resizeMode-prop">QLayout::resizeMode</a>.
+
+<p>Set this property's value with <a href="#setMinimumSize">setMinimumSize</a>() and get this property's value with <a href="#minimumSize">minimumSize</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSizeHint-prop"></a>minimumSizeHint</h3>
+<p>This property holds the recommended minimum size for the widget.
+<p>If the value of this property is an invalid size, no minimum size
+is recommended.
+<p> The default implementation of <a href="#minimumSizeHint">minimumSizeHint</a>() returns an invalid
+size if there is no layout for this widget, and returns the
+layout's minimum size otherwise. Most built-in widgets reimplement
+minimumSizeHint().
+<p> <a href="qlayout.html">QLayout</a> will never resize a widget to a size smaller than
+minimumSizeHint.
+<p> <p>See also <a href="qsize.html#isValid">QSize::isValid</a>(), <a href="#size-prop">size</a>, <a href="#minimumSize-prop">minimumSize</a>, and <a href="#sizePolicy-prop">sizePolicy</a>.
+
+<p>Get this property's value with <a href="#minimumSizeHint">minimumSizeHint</a>().
+<h3 class=fn>int <a name="minimumWidth-prop"></a>minimumWidth</h3>
+<p>This property holds the widget's minimum width.
+<p>This property corresponds to <a href="#minimumSize">minimumSize</a>().<a href="#width">width</a>().
+<p> <p>See also <a href="#minimumSize-prop">minimumSize</a> and <a href="#minimumHeight-prop">minimumHeight</a>.
+
+<p>Set this property's value with <a href="#setMinimumWidth">setMinimumWidth</a>() and get this property's value with <a href="#minimumWidth">minimumWidth</a>().
+<h3 class=fn>bool <a name="mouseTracking-prop"></a>mouseTracking</h3>
+<p>This property holds whether mouse tracking is enabled for the widget.
+<p>If mouse tracking is disabled (the default), the widget only
+receives mouse move events when at least one mouse button is
+pressed while the mouse is being moved.
+<p> If mouse tracking is enabled, the widget receives mouse move
+events even if no buttons are pressed.
+<p> <p>See also <a href="#mouseMoveEvent">mouseMoveEvent</a>() and <a href="qapplication.html#setGlobalMouseTracking">QApplication::setGlobalMouseTracking</a>().
+
+<p>Set this property's value with <a href="#setMouseTracking">setMouseTracking</a>() and get this property's value with <a href="#hasMouseTracking">hasMouseTracking</a>().
+<h3 class=fn>bool <a name="ownCursor-prop"></a>ownCursor</h3>
+<p>This property holds whether the widget uses its own cursor.
+<p>If FALSE, the widget uses its parent widget's cursor.
+<p> <p>See also <a href="#cursor-prop">cursor</a>.
+
+<p>Get this property's value with <a href="#ownCursor">ownCursor</a>().
+<h3 class=fn>bool <a name="ownFont-prop"></a>ownFont</h3>
+<p>This property holds whether the widget uses its own font.
+<p>If FALSE, the widget uses its parent widget's font.
+<p> <p>See also <a href="#font-prop">font</a>.
+
+<p>Get this property's value with <a href="#ownFont">ownFont</a>().
+<h3 class=fn>bool <a name="ownPalette-prop"></a>ownPalette</h3>
+<p>This property holds whether the widget uses its own palette.
+<p>If FALSE, the widget uses its parent widget's palette.
+<p> <p>See also <a href="#palette-prop">palette</a>.
+
+<p>Get this property's value with <a href="#ownPalette">ownPalette</a>().
+<h3 class=fn><a href="qpalette.html">QPalette</a> <a name="palette-prop"></a>palette</h3>
+<p>This property holds the widget's palette.
+<p>As long as no special palette has been set, or after <a href="#unsetPalette">unsetPalette</a>()
+has been called, this is either a special palette for the widget
+class, the parent's palette or (if this widget is a top level
+widget), the default application palette.
+<p> Instead of defining an entirely new palette, you can also use the
+<a href="#paletteBackgroundColor-prop">paletteBackgroundColor</a>,
+<a href="#paletteBackgroundPixmap-prop">paletteBackgroundPixmap</a> and
+<a href="#paletteForegroundColor-prop">paletteForegroundColor</a>
+convenience properties to change a widget's
+background and foreground appearance only.
+<p> <p>See also <a href="#ownPalette-prop">ownPalette</a>, <a href="#colorGroup-prop">colorGroup</a>, and <a href="qapplication.html#palette">QApplication::palette</a>().
+
+<p>Set this property's value with <a href="#setPalette">setPalette</a>(), get this property's value with <a href="#palette">palette</a>(), and reset this property's value with <a href="#unsetPalette">unsetPalette</a>().
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="paletteBackgroundColor-prop"></a>paletteBackgroundColor</h3>
+<p>This property holds the background color of the widget.
+<p>The palette background color is usually set implicitly by
+<a href="#setBackgroundMode">setBackgroundMode</a>(), although it can also be set explicitly by
+<a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>(). setPaletteBackgroundColor() is a
+convenience function that creates and sets a modified <a href="qpalette.html">QPalette</a>
+with <a href="#setPalette">setPalette</a>(). The palette is modified according to the
+widget's background mode. For example, if the background mode is
+<a href="qt.html#BackgroundMode-enum">PaletteButton</a> the color used for the palette's <a href="qcolorgroup.html#ColorRole-enum">QColorGroup::Button</a> color entry is set.
+<p> If there is a background pixmap (set using
+<a href="#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()), then the return value of this
+function is indeterminate.
+<p> <p>See also <a href="#paletteBackgroundPixmap-prop">paletteBackgroundPixmap</a>, <a href="#paletteForegroundColor-prop">paletteForegroundColor</a>, <a href="#palette-prop">palette</a>, and <a href="#colorGroup-prop">colorGroup</a>.
+
+<p>Set this property's value with <a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>(), get this property's value with <a href="#paletteBackgroundColor">paletteBackgroundColor</a>(), and reset this property's value with <a href="#unsetPalette">unsetPalette</a>().
+<h3 class=fn><a href="qpixmap.html">QPixmap</a> <a name="paletteBackgroundPixmap-prop"></a>paletteBackgroundPixmap</h3>
+<p>This property holds the background pixmap of the widget.
+<p>The palette background pixmap is usually set implicitly by
+<a href="#setBackgroundMode">setBackgroundMode</a>(), although it can also be set explicitly by
+<a href="#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>(). setPaletteBackgroundPixmap() is a
+convenience function that creates and sets a modified <a href="qpalette.html">QPalette</a>
+with <a href="#setPalette">setPalette</a>(). The palette is modified according to the
+widget's background mode. For example, if the background mode is
+<a href="qt.html#BackgroundMode-enum">PaletteButton</a> the pixmap used for the palette's
+<a href="qcolorgroup.html#ColorRole-enum">QColorGroup::Button</a> color entry is set.
+<p> If there is a plain background color (set using
+<a href="#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()), then this function returns 0.
+<p> <p>See also <a href="#paletteBackgroundColor-prop">paletteBackgroundColor</a>, <a href="#paletteForegroundColor-prop">paletteForegroundColor</a>, <a href="#palette-prop">palette</a>, and <a href="#colorGroup-prop">colorGroup</a>.
+
+<p>Set this property's value with <a href="#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>(), get this property's value with <a href="#paletteBackgroundPixmap">paletteBackgroundPixmap</a>(), and reset this property's value with <a href="#unsetPalette">unsetPalette</a>().
+<h3 class=fn><a href="qcolor.html">QColor</a> <a name="paletteForegroundColor-prop"></a>paletteForegroundColor</h3>
+<p>This property holds the foreground color of the widget.
+<p>setPaletteForegroundColor() is a convenience function that creates
+and sets a modified <a href="qpalette.html">QPalette</a> with <a href="#setPalette">setPalette</a>(). The palette is
+modified according to the widget's <em>background mode</em>. For
+example, if the background mode is <a href="qt.html#BackgroundMode-enum">PaletteButton</a> the palette entry
+<a href="qcolorgroup.html#ColorRole-enum">QColorGroup::ButtonText</a> is set to color.
+<p> <p>See also <a href="#palette-prop">palette</a>, <a href="qapplication.html#setPalette">QApplication::setPalette</a>(), <a href="#backgroundMode-prop">backgroundMode</a>, <a href="#foregroundColor">foregroundColor</a>(), <a href="#backgroundMode-prop">backgroundMode</a>, and <a href="#setEraseColor">setEraseColor</a>().
+
+<p>Set this property's value with <a href="#setPaletteForegroundColor">setPaletteForegroundColor</a>(), get this property's value with <a href="#paletteForegroundColor">paletteForegroundColor</a>(), and reset this property's value with <a href="#unsetPalette">unsetPalette</a>().
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="pos-prop"></a>pos</h3>
+<p>This property holds the position of the widget within its parent widget.
+<p>If the widget is a top-level widget, the position is that of the
+widget on the desktop, including its frame.
+<p> When changing the position, the widget, if visible, receives a
+move event (<a href="#moveEvent">moveEvent</a>()) immediately. If the widget is not
+currently visible, it is guaranteed to receive an event before it
+is shown.
+<p> <a href="#move">move</a>() is virtual, and all other overloaded move() implementations
+in Qt call it.
+<p> <b>Warning:</b> Calling move() or <a href="#setGeometry">setGeometry</a>() inside moveEvent() can
+lead to infinite recursion.
+<p> See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#frameGeometry-prop">frameGeometry</a>, <a href="#size-prop">size</a>, <a href="#x-prop">x</a>, and <a href="#y-prop">y</a>.
+
+<p>Set this property's value with <a href="#move">move</a>() and get this property's value with <a href="#pos">pos</a>().
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="rect-prop"></a>rect</h3>
+<p>This property holds the internal geometry of the widget excluding any window frame.
+<p>The rect property equals <a href="qrect.html">QRect</a>(0, 0, <a href="#width">width</a>(), <a href="#height">height</a>()).
+<p> See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#size-prop">size</a>.
+
+<p>Get this property's value with <a href="#rect">rect</a>().
+<h3 class=fn>bool <a name="shown-prop"></a>shown</h3>
+<p>This property holds whether the widget is shown.
+<p>If TRUE, the widget is visible or would become visible if all its
+ancestors became visible.
+<p> <p>See also <a href="#hide">hide</a>(), <a href="#show">show</a>(), <a href="#visible-prop">visible</a>, <a href="#isVisibleTo">isVisibleTo</a>(), and <a href="#hidden-prop">hidden</a>.
+
+<p>Set this property's value with <a href="#setShown">setShown</a>() and get this property's value with <a href="#isShown">isShown</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="size-prop"></a>size</h3>
+<p>This property holds the size of the widget excluding any window frame.
+<p>When resizing, the widget, if visible, receives a resize event
+(<a href="#resizeEvent">resizeEvent</a>()) immediately. If the widget is not currently
+visible, it is guaranteed to receive an event before it is shown.
+<p> The size is adjusted if it lies outside the range defined by
+<a href="#minimumSize">minimumSize</a>() and <a href="#maximumSize">maximumSize</a>(). Furthermore, the size is always
+at least <a href="qsize.html">QSize</a>(1, 1). For toplevel widgets, the minimum size
+might be larger, depending on the window manager.
+<p> If you want a top-level window to have a fixed size, call
+setResizeMode( QLayout::FreeResize ) on its layout.
+<p> <a href="#resize">resize</a>() is virtual, and all other overloaded resize()
+implementations in Qt call it.
+<p> <b>Warning:</b> Calling resize() or <a href="#setGeometry">setGeometry</a>() inside resizeEvent() can
+lead to infinite recursion.
+<p> <p>See also <a href="#pos-prop">pos</a>, <a href="#geometry-prop">geometry</a>, <a href="#minimumSize-prop">minimumSize</a>, <a href="#maximumSize-prop">maximumSize</a>, and <a href="#resizeEvent">resizeEvent</a>().
+
+<p>Set this property's value with <a href="#resize">resize</a>() and get this property's value with <a href="#size">size</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint-prop"></a>sizeHint</h3>
+<p>This property holds the recommended size for the widget.
+<p>If the value of this property is an invalid size, no size is
+recommended.
+<p> The default implementation of <a href="#sizeHint">sizeHint</a>() returns an invalid size
+if there is no layout for this widget, and returns the layout's
+preferred size otherwise.
+<p> <p>See also <a href="qsize.html#isValid">QSize::isValid</a>(), <a href="#minimumSizeHint-prop">minimumSizeHint</a>, <a href="#sizePolicy-prop">sizePolicy</a>, <a href="#minimumSize-prop">minimumSize</a>, and <a href="#updateGeometry">updateGeometry</a>().
+
+<p>Get this property's value with <a href="#sizeHint">sizeHint</a>().
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeIncrement-prop"></a>sizeIncrement</h3>
+<p>This property holds the size increment of the widget.
+<p>When the user resizes the window, the size will move in steps of
+<a href="#sizeIncrement">sizeIncrement</a>().<a href="#width">width</a>() pixels horizontally and
+sizeIncrement.<a href="#height">height</a>() pixels vertically, with <a href="#baseSize">baseSize</a>() as the
+basis. Preferred widget sizes are for non-negative integers <em>i</em>
+and <em>j</em>:
+<pre>
+ <a href="#width-prop">width</a> = <a href="#baseSize">baseSize</a>().width() + i * sizeIncrement().width();
+ <a href="#height-prop">height</a> = <a href="#baseSize">baseSize</a>().height() + j * sizeIncrement().height();
+ </pre>
+
+<p> Note that while you can set the size increment for all widgets, it
+only affects top-level widgets.
+<p> <b>Warning:</b> The size increment has no effect under Windows, and may
+be disregarded by the window manager on X.
+<p> <p>See also <a href="#size-prop">size</a>, <a href="#minimumSize-prop">minimumSize</a>, and <a href="#maximumSize-prop">maximumSize</a>.
+
+<p>Set this property's value with <a href="#setSizeIncrement">setSizeIncrement</a>() and get this property's value with <a href="#sizeIncrement">sizeIncrement</a>().
+<h3 class=fn><a href="qsizepolicy.html">QSizePolicy</a> <a name="sizePolicy-prop"></a>sizePolicy</h3>
+<p>This property holds the default layout behavior of the widget.
+<p>If there is a <a href="qlayout.html">QLayout</a> that manages this widget's children, the
+size policy specified by that layout is used. If there is no such
+QLayout, the result of this function is used.
+<p> The default policy is Preferred/Preferred, which means that the
+widget can be freely resized, but prefers to be the size
+<a href="#sizeHint">sizeHint</a>() returns. Button-like widgets set the size policy to
+specify that they may stretch horizontally, but are fixed
+vertically. The same applies to lineedit controls (such as
+<a href="qlineedit.html">QLineEdit</a>, <a href="qspinbox.html">QSpinBox</a> or an editable <a href="qcombobox.html">QComboBox</a>) and other
+horizontally orientated widgets (such as <a href="qprogressbar.html">QProgressBar</a>).
+<a href="qtoolbutton.html">QToolButton</a>'s are normally square, so they allow growth in both
+directions. Widgets that support different directions (such as
+<a href="qslider.html">QSlider</a>, <a href="qscrollbar.html">QScrollBar</a> or <a href="qheader.html">QHeader</a>) specify stretching in the
+respective direction only. Widgets that can provide scrollbars
+(usually subclasses of <a href="qscrollview.html">QScrollView</a>) tend to specify that they can
+use additional space, and that they can make do with less than
+sizeHint().
+<p> <p>See also <a href="#sizeHint-prop">sizeHint</a>, <a href="qlayout.html">QLayout</a>, <a href="qsizepolicy.html">QSizePolicy</a>, and <a href="#updateGeometry">updateGeometry</a>().
+
+<p>Set this property's value with <a href="#setSizePolicy">setSizePolicy</a>() and get this property's value with <a href="#sizePolicy">sizePolicy</a>().
+<h3 class=fn>bool <a name="underMouse-prop"></a>underMouse</h3>
+<p>This property holds whether the widget is under the mouse cursor.
+<p>This value is not updated properly during drag and drop
+operations.
+<p> <p>See also <a href="qevent.html#Type-enum">QEvent::Enter</a> and <a href="qevent.html#Type-enum">QEvent::Leave</a>.
+
+<p>Get this property's value with <a href="#hasMouse">hasMouse</a>().
+<h3 class=fn>bool <a name="updatesEnabled-prop"></a>updatesEnabled</h3>
+<p>This property holds whether updates are enabled.
+<p>Calling <a href="#update">update</a>() and <a href="#repaint">repaint</a>() has no effect if updates are
+disabled. Paint events from the window system are processed
+normally even if updates are disabled.
+<p> <a href="#setUpdatesEnabled">setUpdatesEnabled</a>() is normally used to disable updates for a
+short period of time, for instance to avoid screen flicker during
+large changes.
+<p> Example:
+<pre>
+ <a href="#setUpdatesEnabled">setUpdatesEnabled</a>( FALSE );
+ bigVisualChanges();
+ <a href="#setUpdatesEnabled">setUpdatesEnabled</a>( TRUE );
+ <a href="#repaint">repaint</a>();
+ </pre>
+
+<p> <p>See also <a href="#update">update</a>(), <a href="#repaint">repaint</a>(), and <a href="#paintEvent">paintEvent</a>().
+
+<p>Set this property's value with <a href="#setUpdatesEnabled">setUpdatesEnabled</a>() and get this property's value with <a href="#isUpdatesEnabled">isUpdatesEnabled</a>().
+<h3 class=fn>bool <a name="visible-prop"></a>visible</h3>
+<p>This property holds whether the widget is visible.
+<p>Calling <a href="#show">show</a>() sets the widget to visible status if all its parent
+widgets up to the top-level widget are visible. If an ancestor is
+not visible, the widget won't become visible until all its
+ancestors are shown.
+<p> Calling <a href="#hide">hide</a>() hides a widget explicitly. An explicitly hidden
+widget will never become visible, even if all its ancestors become
+visible, unless you show it.
+<p> A widget receives show and hide events when its visibility status
+changes. Between a hide and a show event, there is no need to
+waste CPU cycles preparing or displaying information to the user.
+A video application, for example, might simply stop generating new
+frames.
+<p> A widget that happens to be obscured by other windows on the
+screen is considered to be visible. The same applies to iconified
+top-level widgets and windows that exist on another virtual
+desktop (on platforms that support this concept). A widget
+receives spontaneous show and hide events when its mapping status
+is changed by the window system, e.g. a spontaneous hide event
+when the user minimizes the window, and a spontaneous show event
+when the window is restored again.
+<p> <p>See also <a href="#show">show</a>(), <a href="#hide">hide</a>(), <a href="#hidden-prop">hidden</a>, <a href="#isVisibleTo">isVisibleTo</a>(), <a href="#minimized-prop">minimized</a>, <a href="#showEvent">showEvent</a>(), and <a href="#hideEvent">hideEvent</a>().
+
+<p>Get this property's value with <a href="#isVisible">isVisible</a>().
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="visibleRect-prop"></a>visibleRect</h3>
+<p>This property holds the visible rectangle.
+<p><b>This property is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> No longer necessary, you can simply call <a href="#repaint">repaint</a>(). If you do not
+need the rectangle for repaint(), use <a href="#clipRegion">clipRegion</a>() instead.
+
+<p>Get this property's value with <a href="#visibleRect">visibleRect</a>().
+<h3 class=fn>int <a name="width-prop"></a>width</h3>
+<p>This property holds the width of the widget excluding any window frame.
+<p>See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#geometry-prop">geometry</a>, <a href="#height-prop">height</a>, and <a href="#size-prop">size</a>.
+
+<p>Get this property's value with <a href="#width">width</a>().
+<h3 class=fn>double <a name="windowOpacity-prop"></a>windowOpacity</h3>
+<p>This property holds the level of opacity for the window.
+<p>The valid range of opacity is from 1.0 (completely opaque) to
+0.0 (completely transparent).
+<p> By default the value of this property is 1.0.
+<p> This feature is only present on Mac OS X and Windows 2000 and up.
+<p> <b>Warning:</b> Changing this property from opaque to transparent might issue a
+paint event that needs to be processed before the window is displayed
+correctly. This affects mainly the use of <a href="qpixmap.html#grabWindow">QPixmap::grabWindow</a>(). Also note
+that semi-transparent windows update and resize significantely slower than
+opaque windows.
+
+<p>Set this property's value with <a href="#setWindowOpacity">setWindowOpacity</a>() and get this property's value with <a href="#windowOpacity">windowOpacity</a>().
+<h3 class=fn>int <a name="x-prop"></a>x</h3> <p>This property holds the x coordinate of the widget relative to its parent including any window frame.
+<p>See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#frameGeometry-prop">frameGeometry</a>, <a href="#y-prop">y</a>, and <a href="#pos-prop">pos</a>.
+
+<p>Get this property's value with <a href="#x">x</a>().
+<h3 class=fn>int <a name="y-prop"></a>y</h3>
+<p>This property holds the y coordinate of the widget relative to its parent and including any window frame.
+<p>See the <a href="geometry.html">Window Geometry documentation</a>
+for an overview of top-level widget geometry.
+<p> <p>See also <a href="#frameGeometry-prop">frameGeometry</a>, <a href="#x-prop">x</a>, and <a href="#pos-prop">pos</a>.
+
+<p>Get this property's value with <a href="#y">y</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetfactory-h.html b/doc/html/qwidgetfactory-h.html
new file mode 100644
index 0000000..f02cff6
--- /dev/null
+++ b/doc/html/qwidgetfactory-h.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidgetfactory.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwidgetfactory.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwidgetfactory.h</h1>
+
+<p>This is the verbatim text of the qwidgetfactory.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/**********************************************************************
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of Qt Designer.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWIDGETFACTORY_H
+#define QWIDGETFACTORY_H
+
+#ifndef QT_H
+#include &lt;qstring.h&gt;
+#include &lt;qptrlist.h&gt;
+#include &lt;qimage.h&gt;
+#include &lt;qpixmap.h&gt;
+#include &lt;qvaluelist.h&gt;
+#include &lt;qmap.h&gt;
+#include &lt;qaction.h&gt;
+#endif // QT_H
+
+class QDomDocument;
+class QDomElement;
+class QLayout;
+class QListView;
+class QListViewItem;
+class QMenuBar;
+class QTable;
+class QWidget;
+class QWidgetFactoryPrivate;
+class UibStrTable;
+
+class QWidgetFactory
+{
+public:
+ QWidgetFactory();
+ virtual ~QWidgetFactory();
+
+ static QWidget *create( const QString &amp;uiFile, QObject *connector = 0, QWidget *parent = 0, const char *name = 0 );
+ static QWidget *create( QIODevice *dev, QObject *connector = 0, QWidget *parent = 0, const char *name = 0 );
+ static void addWidgetFactory( QWidgetFactory *factory );
+ static void loadImages( const QString &amp;dir );
+
+ virtual QWidget *createWidget( const QString &amp;className, QWidget *parent, const char *name ) const;
+ static QStringList widgets();
+ static bool supportsWidget( const QString &amp;widget );
+
+private:
+ enum LayoutType { HBox, VBox, Grid, NoLayout };
+ void loadImageCollection( const QDomElement &amp;e );
+ void loadConnections( const QDomElement &amp;e, QObject *connector );
+ void loadTabOrder( const QDomElement &amp;e );
+ QWidget *createWidgetInternal( const QDomElement &amp;e, QWidget *parent, QLayout* layout, const QString &amp;classNameArg );
+ QLayout *createLayout( QWidget *widget, QLayout* layout, LayoutType type, bool isQLayoutWidget = FALSE );
+ LayoutType layoutType( QLayout *l ) const;
+ void setProperty( QObject* widget, const QString &amp;prop, QVariant value );
+ void setProperty( QObject* widget, const QString &amp;prop, const QDomElement &amp;e );
+ void createSpacer( const QDomElement &amp;e, QLayout *layout );
+ QImage loadFromCollection( const QString &amp;name );
+ QPixmap loadPixmap( const QString &amp;name );
+ QPixmap loadPixmap( const QDomElement &amp;e );
+ QColorGroup loadColorGroup( const QDomElement &amp;e );
+ void createListViewColumn( QListView *lv, const QString&amp; txt,
+ const QPixmap&amp; pix, bool clickable,
+ bool resizable );
+#ifndef QT_NO_TABLE
+ void createTableColumnOrRow( QTable *table, const QString&amp; txt,
+ const QPixmap&amp; pix, const QString&amp; field,
+ bool isRow );
+#endif
+ void createColumn( const QDomElement &amp;e, QWidget *widget );
+ void loadItem( const QDomElement &amp;e, QPixmap &amp;pix, QString &amp;txt, bool &amp;hasPixmap );
+ void createItem( const QDomElement &amp;e, QWidget *widget, QListViewItem *i = 0 );
+ void loadChildAction( QObject *parent, const QDomElement &amp;e );
+ void loadActions( const QDomElement &amp;e );
+ void loadToolBars( const QDomElement &amp;e );
+ void loadMenuBar( const QDomElement &amp;e );
+ void loadPopupMenu( QPopupMenu *p, const QDomElement &amp;e );
+ void loadFunctions( const QDomElement &amp;e );
+ QAction *findAction( const QString &amp;name );
+ void loadExtraSource();
+ QString translate( const char *sourceText, const char *comment = "" );
+ QString translate( const QString&amp; sourceText, const QString&amp; comment = QString::null );
+
+ void unpackUInt16( QDataStream&amp; in, Q_UINT16&amp; n );
+ void unpackUInt32( QDataStream&amp; in, Q_UINT32&amp; n );
+ void unpackByteArray( QDataStream&amp; in, QByteArray&amp; array );
+ void unpackCString( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QCString&amp; cstr );
+ void unpackString( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QString&amp; str );
+ void unpackStringSplit( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QString&amp; str );
+ void unpackVariant( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QVariant&amp; value );
+ void inputSpacer( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QLayout *parent );
+ void inputColumnOrRow( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QObject *parent, bool isRow );
+ void inputItem( const UibStrTable&amp; strings, QDataStream&amp; in,
+ QObject *parent, QListViewItem *parentItem = 0 );
+ void inputMenuItem( QObject **objects, const UibStrTable&amp; strings,
+ QDataStream&amp; in, QMenuBar *menuBar );
+ QObject *inputObject( QObject **objects, int&amp; numObjects,
+ const UibStrTable&amp; strings, QDataStream&amp; in,
+ QWidget *ancestorWidget, QObject *parent,
+ QCString className = "" );
+ QWidget *createFromUiFile( QDomDocument doc, QObject *connector,
+ QWidget *parent, const char *name );
+ QWidget *createFromUibFile( QDataStream&amp; in, QObject *connector,
+ QWidget *parent, const char *name );
+
+private:
+ struct Image {
+ QImage img;
+ QString name;
+ bool operator==( const Image &amp;i ) const {
+ return ( i.name == name &amp;&amp;
+ i.img == img );
+ }
+ };
+
+ struct Field
+ {
+ Field() {}
+ Field( const QString &amp;s1, const QPixmap &amp;p, const QString &amp;s2 ) : name( s1 ), pix( p ), field( s2 ) {}
+ QString name;
+ QPixmap pix;
+ QString field;
+ Q_DUMMY_COMPARISON_OPERATOR( Field )
+ };
+
+ struct SqlWidgetConnection
+ {
+ SqlWidgetConnection() {}
+ SqlWidgetConnection( const QString &amp;c, const QString &amp;t )
+ : conn( c ), table( t ), dbControls( new QMap&lt;QString, QString&gt;() ) {}
+ QString conn;
+ QString table;
+ QMap&lt;QString, QString&gt; *dbControls;
+ Q_DUMMY_COMPARISON_OPERATOR( SqlWidgetConnection )
+ };
+
+ QValueList&lt;Image&gt; images;
+ QWidget *toplevel;
+ QWidgetFactoryPrivate *d;
+ QMap&lt;QString, QString&gt; *dbControls;
+ QMap&lt;QString, QStringList&gt; dbTables;
+ QMap&lt;QWidget*, SqlWidgetConnection&gt; sqlWidgetConnections;
+ QMap&lt;QString, QString&gt; buddies;
+ QMap&lt;QTable*, QValueList&lt;Field&gt; &gt; fieldMaps;
+ QPtrList&lt;QAction&gt; actionList;
+ QMap&lt;QString, QString&gt; languageSlots;
+ QStringList noDatabaseWidgets;
+ bool usePixmapCollection;
+ int defMargin;
+ int defSpacing;
+ QString code;
+ QString uiFileVersion;
+};
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetfactory-members.html b/doc/html/qwidgetfactory-members.html
new file mode 100644
index 0000000..68e7404
--- /dev/null
+++ b/doc/html/qwidgetfactory-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/uilib/qwidgetfactory.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetFactory Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWidgetFactory</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwidgetfactory.html">QWidgetFactory</a>, including inherited members.
+
+<ul>
+<li><a href="qwidgetfactory.html#QWidgetFactory">QWidgetFactory</a>()
+<li><a href="qwidgetfactory.html#~QWidgetFactory">~QWidgetFactory</a>()
+<li><a href="qwidgetfactory.html#addWidgetFactory">addWidgetFactory</a>()
+<li><a href="qwidgetfactory.html#create">create</a>()
+<li><a href="qwidgetfactory.html#createWidget">createWidget</a>()
+<li><a href="qwidgetfactory.html#loadImages">loadImages</a>()
+<li><a href="qwidgetfactory.html#supportsWidget">supportsWidget</a>()
+<li><a href="qwidgetfactory.html#widgets">widgets</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetfactory.html b/doc/html/qwidgetfactory.html
new file mode 100644
index 0000000..b2c39bf
--- /dev/null
+++ b/doc/html/qwidgetfactory.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/tools/designer/uilib/qwidgetfactory.cpp:207 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetFactory Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWidgetFactory Class Reference</h1>
+
+<p>The QWidgetFactory class provides for the dynamic creation of widgets
+from Qt Designer .ui files.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwidgetfactory-h.html">qwidgetfactory.h</a>&gt;</tt>
+<p><a href="qwidgetfactory-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWidgetFactory"><b>QWidgetFactory</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWidgetFactory"><b>~QWidgetFactory</b></a> ()</li>
+<li class=fn>virtual QWidget * <a href="#createWidget"><b>createWidget</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;className, QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name ) const</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>QWidget * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uiFile, QObject&nbsp;*&nbsp;connector = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>QWidget * <a href="#create-2"><b>create</b></a> ( QIODevice&nbsp;*&nbsp;dev, QObject&nbsp;*&nbsp;connector = 0, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn>void <a href="#addWidgetFactory"><b>addWidgetFactory</b></a> ( QWidgetFactory&nbsp;*&nbsp;factory )</li>
+<li class=fn>void <a href="#loadImages"><b>loadImages</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir )</li>
+<li class=fn>QStringList <a href="#widgets"><b>widgets</b></a> ()</li>
+<li class=fn>bool <a href="#supportsWidget"><b>supportsWidget</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;widget )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+<p> The QWidgetFactory class provides for the dynamic creation of widgets
+from Qt Designer .ui files.
+<p> This class basically offers two things:
+<p> <ul>
+<p> <li> Dynamically creating widgets from <a href="designer-manual.html">Qt
+ Designer</a> user interface description files.
+You can do this using the static function <a href="#create">QWidgetFactory::create</a>().
+This function also performs signal and slot connections, tab
+ordering, etc., as defined in the .ui file, and returns the
+top-level widget in the .ui file. After creating the widget you can
+use <a href="qobject.html#child">QObject::child</a>() and <a href="qobject.html#queryList">QObject::queryList</a>() to access child
+widgets of this returned widget.
+<p> <li> Adding additional widget factories to be able to create custom
+widgets. See <a href="#createWidget">createWidget</a>() for details.
+<p> </ul>
+<p> This class is not included in the Qt library itself. To use it you
+must link against <tt>libqui.so</tt> (Unix) or <tt>qui.lib</tt> (Windows), which is
+built into <tt>INSTALL/lib</tt> if you built <em>Qt Designer</em> (<tt>INSTALL</tt> is
+the directory where Qt is installed ).
+<p> If you create a <a href="qmainwindow.html">QMainWindow</a> using a QWidgetFactory, be aware that
+it already has a central widget. Therefore, you need to delete this
+one before setting another one.
+<p> See the "Creating Dynamic Dialogs from .ui Files" section of the <a href="designer-manual.html">Qt Designer manual</a> for an example. See
+also the <a href="qwidgetplugin.html">QWidgetPlugin</a> class and the <a href="plugins-howto.html">Plugins documentation</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWidgetFactory"></a>QWidgetFactory::QWidgetFactory ()
+</h3> Constructs a QWidgetFactory.
+<h3 class=fn><a name="~QWidgetFactory"></a>QWidgetFactory::~QWidgetFactory ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>void <a name="addWidgetFactory"></a>QWidgetFactory::addWidgetFactory ( <a href="qwidgetfactory.html">QWidgetFactory</a>&nbsp;*&nbsp;factory )<tt> [static]</tt>
+</h3> Installs a widget factory <em>factory</em>, which normally contains
+additional widgets that can then be created using a QWidgetFactory.
+See <a href="#createWidget">createWidget</a>() for further details.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="create"></a>QWidgetFactory::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uiFile, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;connector = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3>
+<p> Loads the <em>Qt Designer</em> user interface description file <em>uiFile</em>
+and returns the top-level widget in that description. <em>parent</em> and
+<em>name</em> are passed to the constructor of the top-level widget.
+<p> This function also performs signal and slot connections, tab
+ordering, etc., as described in the .ui file. In <em>Qt Designer</em> it
+is possible to add custom slots to a form and connect to them. If
+you want these connections to be made, you must create a class
+derived from <a href="qobject.html">QObject</a>, which implements all these slots. Then pass an
+instance of the object as <em>connector</em> to this function. If you do
+this, the connections to the custom slots will be done using the <em>connector</em> as slot.
+<p> If something fails, 0 is returned.
+<p> The ownership of the returned widget is passed to the caller.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="create-2"></a>QWidgetFactory::create ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;connector = 0, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [static]</tt>
+</h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Loads the user interface description from device <em>dev</em>.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="createWidget"></a>QWidgetFactory::createWidget ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;className, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name ) const<tt> [virtual]</tt>
+</h3>
+Creates a widget of the type <em>className</em> passing <em>parent</em> and <em>name</em> to its constructor.
+<p> If <em>className</em> is a widget in the Qt library, it is directly
+created by this function. If the widget isn't in the Qt library,
+each of the installed widget plugins is asked, in turn, to create
+the widget. As soon as a plugin says it can create the widget it
+is asked to do so. It may occur that none of the plugins can
+create the widget, in which case each installed widget factory is
+asked to create the widget (see <a href="#addWidgetFactory">addWidgetFactory</a>()). If the widget
+cannot be created by any of these means, 0 is returned.
+<p> If you have a custom widget, and want it to be created using the
+widget factory, there are two approaches you can use:
+<p> <ol type=1>
+<p> <li> Write a widget plugin. This allows you to use the widget in
+<em>Qt Designer</em> and in this QWidgetFactory. See the widget plugin
+documentation for further details. (See the "Creating Custom
+Widgets with Plugins" section of the <a href="designer-manual.html">Qt
+ Designer manual</a> for an example.
+<p> <li> Subclass QWidgetFactory. Then reimplement this function to
+create and return an instance of your custom widget if <em>className</em> equals the name of your widget, otherwise return 0. Then
+at the beginning of your program where you want to use the widget
+factory to create widgets do a:
+<pre>
+ QWidgetFactory::<a href="#addWidgetFactory">addWidgetFactory</a>( new MyWidgetFactory );
+ </pre>
+
+where MyWidgetFactory is your QWidgetFactory subclass.
+<p> </ol>
+
+<h3 class=fn>void <a name="loadImages"></a>QWidgetFactory::loadImages ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dir )<tt> [static]</tt>
+</h3>
+If you use a pixmap collection (which is the default for new
+projects) rather than saving the pixmaps within the .ui XML file,
+you must load the pixmap collection. QWidgetFactory looks in the
+default <a href="qmimesourcefactory.html">QMimeSourceFactory</a> for the pixmaps. Either add it there
+manually, or call this function and specify the directory where
+the images can be found, as <em>dir</em>. This is normally the
+directory called <tt>images</tt> in the project's directory.
+
+<h3 class=fn>bool <a name="supportsWidget"></a>QWidgetFactory::supportsWidget ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;widget )<tt> [static]</tt>
+</h3> Returns TRUE if the widget factory can create the specified <em>widget</em>;
+otherwise returns FALSE.
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="widgets"></a>QWidgetFactory::widgets ()<tt> [static]</tt>
+</h3> Returns the names of the widgets this factory can create.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetitem-members.html b/doc/html/qwidgetitem-members.html
new file mode 100644
index 0000000..f5bbd2a
--- /dev/null
+++ b/doc/html/qwidgetitem-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qlayout.h:156 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetItem Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWidgetItem</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwidgetitem.html">QWidgetItem</a>, including inherited members.
+
+<ul>
+<li><a href="qwidgetitem.html#QWidgetItem">QWidgetItem</a>()
+<li><a href="qlayoutitem.html#alignment">alignment</a>()
+<li><a href="qwidgetitem.html#expanding">expanding</a>()
+<li><a href="qlayoutitem.html#geometry">geometry</a>()
+<li><a href="qlayoutitem.html#hasHeightForWidth">hasHeightForWidth</a>()
+<li><a href="qlayoutitem.html#heightForWidth">heightForWidth</a>()
+<li><a href="qlayoutitem.html#invalidate">invalidate</a>()
+<li><a href="qwidgetitem.html#isEmpty">isEmpty</a>()
+<li><a href="qlayoutitem.html#iterator">iterator</a>()
+<li><a href="qlayoutitem.html#layout">layout</a>()
+<li><a href="qwidgetitem.html#maximumSize">maximumSize</a>()
+<li><a href="qwidgetitem.html#minimumSize">minimumSize</a>()
+<li><a href="qlayoutitem.html#setAlignment">setAlignment</a>()
+<li><a href="qwidgetitem.html#setGeometry">setGeometry</a>()
+<li><a href="qwidgetitem.html#sizeHint">sizeHint</a>()
+<li><a href="qlayoutitem.html#spacerItem">spacerItem</a>()
+<li><a href="qwidgetitem.html#widget">widget</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetitem.html b/doc/html/qwidgetitem.html
new file mode 100644
index 0000000..e420a51
--- /dev/null
+++ b/doc/html/qwidgetitem.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qabstractlayout.cpp:92 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetItem Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWidgetItem Class Reference</h1>
+
+<p>The QWidgetItem class is a layout item that represents a widget.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;</tt>
+<p>Inherits <a href="qlayoutitem.html">QLayoutItem</a>.
+<p><a href="qwidgetitem-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWidgetItem"><b>QWidgetItem</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>virtual QSize <a href="#sizeHint"><b>sizeHint</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#minimumSize"><b>minimumSize</b></a> () const</li>
+<li class=fn>virtual QSize <a href="#maximumSize"><b>maximumSize</b></a> () const</li>
+<li class=fn>virtual QSizePolicy::ExpandData <a href="#expanding"><b>expanding</b></a> () const</li>
+<li class=fn>virtual bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li>
+<li class=fn>virtual void <a href="#setGeometry"><b>setGeometry</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>virtual QWidget * <a href="#widget"><b>widget</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+
+The QWidgetItem class is a layout item that represents a widget.
+<p> This is used by custom layouts.
+<p> <p>See also <a href="qlayout.html">QLayout</a>, <a href="qlayoutitem.html#widget">QLayout::widget</a>(), <a href="appearance.html">Widget Appearance and Style</a>, and <a href="geomanagement.html">Layout Management</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWidgetItem"></a>QWidgetItem::QWidgetItem ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+
+<p> Creates an item containing widget <em>w</em>.
+
+<h3 class=fn><a href="qsizepolicy.html#ExpandData-enum">QSizePolicy::ExpandData</a> <a name="expanding"></a>QWidgetItem::expanding () const<tt> [virtual]</tt>
+</h3>
+Returns whether this item's widget can make use of more space than
+<a href="#sizeHint">sizeHint</a>(). A value of <tt>Vertical</tt> or <tt>Horizontal</tt> means that it wants
+to grow in only one dimension, whereas <tt>BothDirections</tt> means that
+it wants to grow in both dimensions and <tt>NoDirection</tt> means that
+it doesn't want to grow at all.
+
+<p>Reimplemented from <a href="qlayoutitem.html#expanding">QLayoutItem</a>.
+<h3 class=fn>bool <a name="isEmpty"></a>QWidgetItem::isEmpty () const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the widget has been hidden; otherwise returns
+FALSE.
+
+<p>Reimplemented from <a href="qlayoutitem.html#isEmpty">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="maximumSize"></a>QWidgetItem::maximumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the maximum size of this item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#maximumSize">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="minimumSize"></a>QWidgetItem::minimumSize () const<tt> [virtual]</tt>
+</h3>
+Returns the minimum size of this item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#minimumSize">QLayoutItem</a>.
+<h3 class=fn>void <a name="setGeometry"></a>QWidgetItem::setGeometry ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [virtual]</tt>
+</h3>
+Sets the geometry of this item's widget to be contained within
+rect <em>r</em>, taking alignment and maximum size into account.
+
+<p>Reimplemented from <a href="qlayoutitem.html#setGeometry">QLayoutItem</a>.
+<h3 class=fn><a href="qsize.html">QSize</a> <a name="sizeHint"></a>QWidgetItem::sizeHint () const<tt> [virtual]</tt>
+</h3>
+Returns the preferred size of this item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#sizeHint">QLayoutItem</a>.
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QWidgetItem::widget ()<tt> [virtual]</tt>
+</h3>
+Returns the widget managed by this item.
+
+<p>Reimplemented from <a href="qlayoutitem.html#widget">QLayoutItem</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetplugin-h.html b/doc/html/qwidgetplugin-h.html
new file mode 100644
index 0000000..d629094
--- /dev/null
+++ b/doc/html/qwidgetplugin-h.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidgetplugin.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwidgetplugin.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwidgetplugin.h</h1>
+
+<p>This is the verbatim text of the qwidgetplugin.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwidgetplugin.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of QWidgetPlugin class
+**
+** Created : 010920
+**
+** Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWIDGETPLUGIN_H
+#define QWIDGETPLUGIN_H
+
+#ifndef QT_H
+#include "qgplugin.h"
+#include "qstringlist.h"
+#include "qiconset.h"
+#endif // QT_H
+#ifndef QT_NO_WIDGETPLUGIN
+
+#ifdef Q_WS_WIN
+#ifdef QT_PLUGIN
+#define QT_WIDGET_PLUGIN_EXPORT __declspec(dllexport)
+#else
+#define QT_WIDGET_PLUGIN_EXPORT __declspec(dllimport)
+#endif
+#else
+#define QT_WIDGET_PLUGIN_EXPORT
+#endif
+
+class QWidgetPluginPrivate;
+class QWidget;
+
+class Q_EXPORT QWidgetPlugin : public QGPlugin
+{
+ Q_OBJECT
+public:
+ QWidgetPlugin();
+ ~QWidgetPlugin();
+
+ virtual QStringList keys() const = 0;
+ virtual QWidget *create( const QString &amp;key, QWidget *parent = 0, const char *name = 0 ) = 0;
+
+ virtual QString group( const QString &amp;key ) const;
+ virtual QIconSet iconSet( const QString &amp;key ) const;
+ virtual QString includeFile( const QString &amp;key ) const;
+ virtual QString toolTip( const QString &amp;key ) const;
+ virtual QString whatsThis( const QString &amp;key ) const;
+ virtual bool isContainer( const QString &amp;key ) const;
+
+private:
+ QWidgetPluginPrivate *d;
+};
+
+#ifdef QT_CONTAINER_CUSTOM_WIDGETS
+
+class QWidgetContainerPluginPrivate;
+
+class Q_EXPORT QWidgetContainerPlugin : public QWidgetPlugin
+{
+
+public:
+ QWidgetContainerPlugin();
+ ~QWidgetContainerPlugin();
+
+ virtual QWidget* containerOfWidget( const QString &amp;key, QWidget *container ) const;
+ virtual bool isPassiveInteractor( const QString &amp;key, QWidget *container ) const;
+
+ virtual bool supportsPages( const QString &amp;key ) const;
+
+ virtual QWidget *addPage( const QString &amp;key, QWidget *container,
+ const QString &amp;name, int index ) const;
+ virtual void insertPage( const QString &amp;key, QWidget *container,
+ const QString &amp;name, int index, QWidget *page ) const;
+ virtual void removePage( const QString &amp;key, QWidget *container, int index ) const;
+ virtual void movePage( const QString &amp;key, QWidget *container, int fromIndex, int toIndex ) const;
+ virtual int count( const QString &amp;key, QWidget *container ) const;
+ virtual int currentIndex( const QString &amp;key, QWidget *container ) const;
+ virtual QString pageLabel( const QString &amp;key, QWidget *container, int index ) const;
+ virtual QWidget *page( const QString &amp;key, QWidget *container, int index ) const;
+ virtual void renamePage( const QString &amp;key, QWidget *container,
+ int index, const QString &amp;newName ) const;
+ virtual QWidgetList pages( const QString &amp;key, QWidget *container ) const;
+ virtual QString createCode( const QString &amp;key, const QString &amp;container,
+ const QString &amp;page, const QString &amp;pageName ) const;
+};
+
+#endif // QT_CONTAINER_CUSTOM_WIDGETS
+#endif // QT_NO_WIDGETPLUGIN
+#endif // QWIDGETPLUGIN_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetplugin-members.html b/doc/html/qwidgetplugin-members.html
new file mode 100644
index 0000000..574ff08
--- /dev/null
+++ b/doc/html/qwidgetplugin-members.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidgetplugin.h:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetPlugin Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWidgetPlugin</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwidgetplugin.html">QWidgetPlugin</a>, including inherited members.
+
+<ul>
+<li><a href="qwidgetplugin.html#QWidgetPlugin">QWidgetPlugin</a>()
+<li><a href="qwidgetplugin.html#~QWidgetPlugin">~QWidgetPlugin</a>()
+<li><a href="qwidgetplugin.html#create">create</a>()
+<li><a href="qwidgetplugin.html#group">group</a>()
+<li><a href="qwidgetplugin.html#iconSet">iconSet</a>()
+<li><a href="qwidgetplugin.html#includeFile">includeFile</a>()
+<li><a href="qwidgetplugin.html#isContainer">isContainer</a>()
+<li><a href="qwidgetplugin.html#keys">keys</a>()
+<li><a href="qwidgetplugin.html#toolTip">toolTip</a>()
+<li><a href="qwidgetplugin.html#whatsThis">whatsThis</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetplugin.html b/doc/html/qwidgetplugin.html
new file mode 100644
index 0000000..801a410
--- /dev/null
+++ b/doc/html/qwidgetplugin.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qwidgetplugin.cpp:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetPlugin Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWidgetPlugin Class Reference</h1>
+
+<p>The QWidgetPlugin class provides an abstract base for custom QWidget plugins.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwidgetplugin-h.html">qwidgetplugin.h</a>&gt;</tt>
+<p><a href="qwidgetplugin-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWidgetPlugin"><b>QWidgetPlugin</b></a> ()</li>
+<li class=fn><a href="#~QWidgetPlugin"><b>~QWidgetPlugin</b></a> ()</li>
+<li class=fn>virtual QStringList <a href="#keys"><b>keys</b></a> () const = 0</li>
+<li class=fn>virtual QWidget * <a href="#create"><b>create</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 ) = 0</li>
+<li class=fn>virtual QString <a href="#group"><b>group</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QIconSet <a href="#iconSet"><b>iconSet</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QString <a href="#includeFile"><b>includeFile</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QString <a href="#toolTip"><b>toolTip</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual QString <a href="#whatsThis"><b>whatsThis</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+<li class=fn>virtual bool <a href="#isContainer"><b>isContainer</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;key ) const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWidgetPlugin class provides an abstract base for custom <a href="qwidget.html">QWidget</a> plugins.
+<p>
+<p> The widget plugin is a simple plugin interface that makes it easy
+to create custom widgets that can be included in forms using <a href="designer-manual.html">Qt Designer</a> and used by applications.
+<p> Writing a widget plugin is achieved by subclassing this base
+class, reimplementing the pure virtual functions <a href="#keys">keys</a>(), <a href="#create">create</a>(),
+<a href="#group">group</a>(), <a href="#iconSet">iconSet</a>(), <a href="#includeFile">includeFile</a>(), <a href="#toolTip">toolTip</a>(), <a href="#whatsThis">whatsThis</a>() and
+<a href="#isContainer">isContainer</a>(), and exporting the class with the <tt>Q_EXPORT_PLUGIN</tt>
+macro.
+<p> See the <a href="designer-manual.html">Qt Designer manual's</a>,
+'Creating Custom Widgets' section in the 'Creating Custom Widgets'
+chapter, for a complete example of a QWidgetPlugin.
+<p> See also the <a href="plugins-howto.html">Plugins
+ documentation</a> and the <a href="qwidgetfactory.html">QWidgetFactory</a> class that is
+supplied with <a href="designer-manual.html">Qt Designer</a>.
+<p>See also <a href="plugins.html">Plugins</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWidgetPlugin"></a>QWidgetPlugin::QWidgetPlugin ()
+</h3>
+Constructs a widget plugin. This is invoked automatically by the
+<tt>Q_EXPORT_PLUGIN</tt> macro.
+
+<h3 class=fn><a name="~QWidgetPlugin"></a>QWidgetPlugin::~QWidgetPlugin ()
+</h3>
+Destroys the widget plugin.
+<p> You never have to call this explicitly. Qt destroys a plugin
+automatically when it is no longer used.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="create"></a>QWidgetPlugin::create ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Creates and returns a <a href="qwidget.html">QWidget</a> object for the widget key <em>key</em>.
+The widget key is the class name of the required widget. The <em>name</em> and <em>parent</em> arguments are passed to the custom widget's
+constructor.
+<p> <p>See also <a href="#keys">keys</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="group"></a>QWidgetPlugin::group ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns the group (toolbar name) that the custom widget of class
+<em>key</em> should be part of when <em>Qt Designer</em> loads it.
+<p> The default implementation returns <a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn><a href="qiconset.html">QIconSet</a> <a name="iconSet"></a>QWidgetPlugin::iconSet ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns the iconset that <em>Qt Designer</em> should use to represent
+the custom widget of class <em>key</em> in the toolbar.
+<p> The default implementation returns an null iconset.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="includeFile"></a>QWidgetPlugin::includeFile ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns the name of the include file that <em>Qt Designer</em> and <tt>uic</tt> should use to include the custom widget of class <em>key</em> in
+generated code.
+<p> The default implementation returns <a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn>bool <a name="isContainer"></a>QWidgetPlugin::isContainer ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns TRUE if the custom widget of class <em>key</em> can contain
+other widgets, e.g. like <a href="qframe.html">QFrame</a>; otherwise returns FALSE.
+<p> The default implementation returns FALSE.
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="keys"></a>QWidgetPlugin::keys () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the list of widget keys this plugin supports.
+<p> These keys must be the class names of the custom widgets that are
+implemented in the plugin.
+<p> <p>See also <a href="#create">create</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="toolTip"></a>QWidgetPlugin::toolTip ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns the text of the tooltip that <em>Qt Designer</em> should use
+for the custom widget of class <em>key</em>'s toolbar button.
+<p> The default implementation returns <a href="qstring.html#QString-null">QString::null</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="whatsThis"></a>QWidgetPlugin::whatsThis ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;key ) const<tt> [virtual]</tt>
+</h3>
+Returns the text of the whatsThis text that <em>Qt Designer</em> should
+use when the user requests whatsThis help for the custom widget of
+class <em>key</em>.
+<p> The default implementation returns <a href="qstring.html#QString-null">QString::null</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetstack-h.html b/doc/html/qwidgetstack-h.html
new file mode 100644
index 0000000..e7e7e78
--- /dev/null
+++ b/doc/html/qwidgetstack-h.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidgetstack.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwidgetstack.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwidgetstack.h</h1>
+
+<p>This is the verbatim text of the qwidgetstack.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwidgetstack.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QWidgetStack class
+**
+** Created : 980306
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWIDGETSTACK_H
+#define QWIDGETSTACK_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qintdict.h"
+#include "qptrdict.h"
+#endif // QT_H
+
+#ifndef QT_NO_WIDGETSTACK
+
+
+class QWidgetStackPrivate;
+
+
+class Q_EXPORT QWidgetStack: public QFrame
+{
+ Q_OBJECT
+public:
+ QWidgetStack( QWidget* parent=0, const char* name=0 );
+ QWidgetStack( QWidget* parent, const char* name, WFlags f);
+
+ ~QWidgetStack();
+
+ int addWidget( QWidget *, int = -1 );
+ void removeWidget( QWidget * );
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+ void show();
+
+ QWidget * widget( int ) const;
+ int id( QWidget * ) const;
+
+ QWidget * visibleWidget() const;
+
+ void setFrameRect( const QRect &amp; );
+
+signals:
+ void aboutToShow( int );
+ void aboutToShow( QWidget * );
+
+public slots:
+ void raiseWidget( int );
+ void raiseWidget( QWidget * );
+
+protected:
+ void frameChanged();
+ void resizeEvent( QResizeEvent * );
+
+ virtual void setChildGeometries();
+ void childEvent( QChildEvent * );
+
+private:
+ void init();
+
+ QWidgetStackPrivate * d;
+ QIntDict&lt;QWidget&gt; * dict;
+ QPtrDict&lt;QWidget&gt; * focusWidgets;
+ QWidget * topWidget;
+ QWidget * invisible;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QWidgetStack( const QWidgetStack &amp; );
+ QWidgetStack&amp; operator=( const QWidgetStack &amp; );
+#endif
+};
+
+#endif // QT_NO_WIDGETSTACK
+
+#endif // QWIDGETSTACK_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetstack-members.html b/doc/html/qwidgetstack-members.html
new file mode 100644
index 0000000..204a9d1
--- /dev/null
+++ b/doc/html/qwidgetstack-members.html
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwidgetstack.h:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetStack Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWidgetStack</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwidgetstack.html">QWidgetStack</a>, including inherited members.
+
+<ul>
+<li><a href="qwidgetstack.html#QWidgetStack">QWidgetStack</a>()
+<li><a href="qwidgetstack.html#~QWidgetStack">~QWidgetStack</a>()
+<li><a href="qwidgetstack.html#aboutToShow">aboutToShow</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidgetstack.html#addWidget">addWidget</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qframe.html#contentsRect">contentsRect</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qframe.html#drawContents">drawContents</a>()
+<li><a href="qframe.html#drawFrame">drawFrame</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qframe.html#frameChanged">frameChanged</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qframe.html#frameRect">frameRect</a>()
+<li><a href="qframe.html#frameShadow">frameShadow</a>()
+<li><a href="qframe.html#frameShape">frameShape</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qframe.html#frameStyle">frameStyle</a>()
+<li><a href="qframe.html#frameWidth">frameWidth</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidgetstack.html#id">id</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qframe.html#lineWidth">lineWidth</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qframe.html#margin">margin</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qframe.html#midLineWidth">midLineWidth</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qframe.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidgetstack.html#raiseWidget">raiseWidget</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidgetstack.html#removeWidget">removeWidget</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qframe.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidgetstack.html#setChildGeometries">setChildGeometries</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qframe.html#setFrameRect">setFrameRect</a>()
+<li><a href="qframe.html#setFrameShadow">setFrameShadow</a>()
+<li><a href="qframe.html#setFrameShape">setFrameShape</a>()
+<li><a href="qframe.html#setFrameStyle">setFrameStyle</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qframe.html#setLineWidth">setLineWidth</a>()
+<li><a href="qframe.html#setMargin">setMargin</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qframe.html#setMidLineWidth">setMidLineWidth</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidgetstack.html#visibleWidget">visibleWidget</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidgetstack.html#widget">widget</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwidgetstack.html b/doc/html/qwidgetstack.html
new file mode 100644
index 0000000..0083020
--- /dev/null
+++ b/doc/html/qwidgetstack.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/widgets/qwidgetstack.cpp:97 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWidgetStack Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWidgetStack Class Reference</h1>
+
+<p>The QWidgetStack class provides a stack of widgets of which
+only the top widget is user-visible.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwidgetstack-h.html">qwidgetstack.h</a>&gt;</tt>
+<p>Inherits <a href="qframe.html">QFrame</a>.
+<p><a href="qwidgetstack-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWidgetStack"><b>QWidgetStack</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#QWidgetStack-2"><b>QWidgetStack</b></a> ( QWidget&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, WFlags&nbsp;f )</li>
+<li class=fn><a href="#~QWidgetStack"><b>~QWidgetStack</b></a> ()</li>
+<li class=fn>int <a href="#addWidget"><b>addWidget</b></a> ( QWidget&nbsp;*&nbsp;w, int&nbsp;id = -1 )</li>
+<li class=fn>void <a href="#removeWidget"><b>removeWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+<li class=fn>QWidget * <a href="#widget"><b>widget</b></a> ( int&nbsp;id ) const</li>
+<li class=fn>int <a href="#id"><b>id</b></a> ( QWidget&nbsp;*&nbsp;widget ) const</li>
+<li class=fn>QWidget * <a href="#visibleWidget"><b>visibleWidget</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#raiseWidget"><b>raiseWidget</b></a> ( int&nbsp;id )</li>
+<li class=fn>void <a href="#raiseWidget-2"><b>raiseWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#aboutToShow"><b>aboutToShow</b></a> ( int )</li>
+<li class=fn>void <a href="#aboutToShow-2"><b>aboutToShow</b></a> ( QWidget * )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#setChildGeometries"><b>setChildGeometries</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWidgetStack class provides a stack of widgets of which
+only the top widget is user-visible.
+<p>
+
+<p> The application programmer can move any widget to the top of the
+stack at any time using <a href="#raiseWidget">raiseWidget</a>(), and add or remove widgets
+using <a href="#addWidget">addWidget</a>() and <a href="#removeWidget">removeWidget</a>(). It is not sufficient to pass
+the widget stack as parent to a widget which should be inserted into
+the widgetstack.
+<p> <a href="#visibleWidget">visibleWidget</a>() is the <em>get</em> equivalent of raiseWidget(); it
+returns a pointer to the widget that is currently at the top of
+the stack.
+<p> QWidgetStack also provides the ability to manipulate widgets
+through application-specified integer IDs. You can also translate
+from widget pointers to IDs using <a href="#id">id</a>() and from IDs to widget
+pointers using <a href="#widget">widget</a>(). These numeric IDs are unique (per
+QWidgetStack, not globally), but QWidgetStack does not attach any
+additional meaning to them.
+<p> The default widget stack is frameless, but you can use the usual
+<a href="qframe.html">QFrame</a> functions (such as <a href="qframe.html#setFrameStyle">setFrameStyle</a>()) to add a frame.
+<p> QWidgetStack provides a signal, <a href="#aboutToShow">aboutToShow</a>(), which is emitted
+just before a managed widget is shown.
+<p> <p>See also <a href="qtabdialog.html">QTabDialog</a>, <a href="qtabbar.html">QTabBar</a>, <a href="qframe.html">QFrame</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWidgetStack"></a>QWidgetStack::QWidgetStack ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs an empty widget stack.
+<p> The <em>parent</em> and <em>name</em> arguments are passed to the <a href="qframe.html">QFrame</a>
+constructor.
+
+<h3 class=fn><a name="QWidgetStack-2"></a>QWidgetStack::QWidgetStack ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;char&nbsp;*&nbsp;name, WFlags&nbsp;f )
+</h3>
+Constructs an empty widget stack.
+<p> The <em>parent</em>, <em>name</em> and <em>f</em> arguments are passed to the <a href="qframe.html">QFrame</a>
+constructor.
+
+<h3 class=fn><a name="~QWidgetStack"></a>QWidgetStack::~QWidgetStack ()
+</h3>
+Destroys the object and frees any allocated resources.
+
+<h3 class=fn>void <a name="aboutToShow"></a>QWidgetStack::aboutToShow ( int )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted just before a managed widget is shown if
+that managed widget has an ID != -1. The argument is the numeric
+ID of the widget.
+<p> If you call <a href="#visibleWidget">visibleWidget</a>() in a slot connected to <a href="#aboutToShow">aboutToShow</a>(),
+the widget it returns is the one that is currently visible, not
+the one that is about to be shown.
+
+<h3 class=fn>void <a name="aboutToShow-2"></a>QWidgetStack::aboutToShow ( <a href="qwidget.html">QWidget</a>&nbsp;* )<tt> [signal]</tt>
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> This signal is emitted just before a managed widget is shown. The
+argument is a pointer to the widget.
+<p> If you call <a href="#visibleWidget">visibleWidget</a>() in a slot connected to <a href="#aboutToShow">aboutToShow</a>(),
+the widget returned is the one that is currently visible, not the
+one that is about to be shown.
+
+<h3 class=fn>int <a name="addWidget"></a>QWidgetStack::addWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w, int&nbsp;id = -1 )
+</h3>
+Adds widget <em>w</em> to this stack of widgets, with ID <em>id</em>.
+<p> If you pass an id &gt;= 0 this ID is used. If you pass an <em>id</em> of
+-1 (the default), the widgets will be numbered automatically. If
+you pass -2 a unique negative integer will be generated. No widget
+has an ID of -1. Returns the ID or -1 on failure (e.g. <em>w</em> is 0).
+<p> If you pass an id that is already used, then a unique negative
+integer will be generated to prevent two widgets having the same
+id.
+<p> If <em>w</em> already exists in the stack the widget will be removed first.
+<p> If <em>w</em> is not a child of this QWidgetStack moves it using
+<a href="qwidget.html#reparent">reparent</a>().
+
+<p>Example: <a href="xform-example.html#x1276">xform/xform.cpp</a>.
+<h3 class=fn>int <a name="id"></a>QWidgetStack::id ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget ) const
+</h3>
+Returns the ID of the <em>widget</em>. Returns -1 if <em>widget</em> is 0 or
+is not being managed by this widget stack.
+<p> <p>See also <a href="#widget">widget</a>() and <a href="#addWidget">addWidget</a>().
+
+<h3 class=fn>void <a name="raiseWidget"></a>QWidgetStack::raiseWidget ( int&nbsp;id )<tt> [slot]</tt>
+</h3>
+Raises the widget with ID <em>id</em> to the top of the widget stack.
+<p> <p>See also <a href="#visibleWidget">visibleWidget</a>().
+
+<p>Example: <a href="xform-example.html#x1277">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="raiseWidget-2"></a>QWidgetStack::raiseWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [slot]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Raises widget <em>w</em> to the top of the widget stack.
+
+<h3 class=fn>void <a name="removeWidget"></a>QWidgetStack::removeWidget ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )
+</h3>
+Removes widget <em>w</em> from this stack of widgets. Does not delete <em>w</em>. If <em>w</em> is the currently visible widget, no other widget is
+substituted.
+<p> <p>See also <a href="#visibleWidget">visibleWidget</a>() and <a href="#raiseWidget">raiseWidget</a>().
+
+<h3 class=fn>void <a name="setChildGeometries"></a>QWidgetStack::setChildGeometries ()<tt> [virtual protected]</tt>
+</h3>
+Fixes up the children's geometries.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="visibleWidget"></a>QWidgetStack::visibleWidget () const
+</h3>
+Returns the currently visible widget (the one at the top of the
+stack), or 0 if nothing is currently being shown.
+<p> <p>See also <a href="#aboutToShow">aboutToShow</a>(), <a href="#id">id</a>(), and <a href="#raiseWidget">raiseWidget</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="widget"></a>QWidgetStack::widget ( int&nbsp;id ) const
+</h3>
+Returns the widget with ID <em>id</em>. Returns 0 if this widget stack
+does not manage a widget with ID <em>id</em>.
+<p> <p>See also <a href="#id">id</a>() and <a href="#addWidget">addWidget</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowdefs-h.html b/doc/html/qwindowdefs-h.html
new file mode 100644
index 0000000..8a837c8
--- /dev/null
+++ b/doc/html/qwindowdefs-h.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowdefs.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwindowdefs.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwindowdefs.h</h1>
+
+<p>This is the verbatim text of the qwindowdefs.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwindowdefs.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of general window system dependent functions, types and
+** constants
+**
+** Created : 931029
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWINDOWDEFS_H
+#define QWINDOWDEFS_H
+
+#ifndef QT_H
+#include "qobjectdefs.h"
+#include "qstring.h"
+#include "qnamespace.h"
+#endif // QT_H
+
+// Class forward definitions
+
+class QPaintDevice;
+class QPaintDeviceMetrics;
+class QWidget;
+class QWidgetMapper;
+class QDialog;
+class QColor;
+class QColorGroup;
+class QPalette;
+class QCursor;
+class QPoint;
+class QSize;
+class QRect;
+class QPointArray;
+class QPainter;
+class QRegion;
+class QFont;
+class QFontMetrics;
+class QFontInfo;
+class QPen;
+class QBrush;
+class QWMatrix;
+class QPixmap;
+class QBitmap;
+class QMovie;
+class QImage;
+class QImageIO;
+class QPicture;
+class QPrinter;
+class QAccel;
+class QTimer;
+class QTime;
+class QClipboard;
+
+
+// Widget list (defined in qwidgetlist.h)
+
+class QWidgetList;
+class QWidgetListIt;
+
+
+// Window system dependent definitions
+
+#if defined(Q_WS_MAC)
+#if QT_MACOSX_VERSION &lt; 0x1020
+typedef struct OpaqueEventLoopTimerRef* EventLoopTimerRef;
+typedef struct OpaqueMenuHandle *MenuRef;
+#else
+typedef struct __EventLoopTimer* EventLoopTimerRef;
+typedef struct OpaqueMenuRef* MenuRef;
+#endif
+
+#ifndef Q_WS_MACX
+typedef struct CGContext *CGContextRef;
+#endif
+typedef struct OpaqueWindowGroupRef *WindowGroupRef;
+typedef struct OpaqueGrafPtr *CGrafPtr;
+typedef struct OpaquePMPrintSession *PMPrintSession;
+typedef struct OpaquePMPrintSettings *PMPrintSettings;
+typedef struct OpaquePMPageFormat *PMPageFormat;
+typedef struct Point Point;
+typedef struct OpaqueEventHandlerRef* EventHandlerRef;
+typedef struct OpaqueEventHandlerCallRef* EventHandlerCallRef;
+typedef struct OpaqueEventRef* EventRef;
+typedef long int OSStatus;
+typedef struct OpaqueScrapRef *ScrapRef;
+typedef struct OpaqueRgnHandle *RgnHandle;
+typedef struct OpaqueWindowPtr *WindowPtr;
+typedef WindowPtr WindowRef;
+typedef struct OpaqueGrafPtr *GWorldPtr;
+typedef GWorldPtr GrafPtr;
+typedef struct GDevice **GDHandle;
+typedef struct ColorTable ColorTable;
+typedef struct BitMap BitMap;
+typedef struct EventRecord EventRecord;
+typedef void * MSG;
+typedef int WId;
+typedef struct AEDesc AppleEvent;
+
+#endif // Q_WS_MAC
+
+#if defined(Q_WS_WIN)
+#include "qwindowdefs_win.h"
+#endif // Q_WS_WIN
+
+
+#if defined(Q_OS_TEMP)
+#include "qwinfunctions_wce.h"
+#endif // Q_OS_TEMP
+
+#if defined(Q_WS_X11)
+
+typedef struct _XDisplay Display;
+typedef union _XEvent XEvent;
+typedef struct _XGC *GC;
+typedef struct _XRegion *Region;
+typedef unsigned long WId;
+
+Q_EXPORT Display *qt_xdisplay();
+Q_EXPORT int qt_xscreen();
+Q_EXPORT WId qt_xrootwin(); // ### REMOVE 4.0
+Q_EXPORT WId qt_xrootwin( int scrn ); // ### 4.0 add default arg of -1
+Q_EXPORT GC qt_xget_readonly_gc( int scrn, bool monochrome );
+Q_EXPORT GC qt_xget_temp_gc( int scrn, bool monochrome );
+
+Q_EXPORT const char *qAppClass(); // get application class
+
+#endif // Q_WS_X11
+
+#if defined(Q_WS_QWS)
+
+typedef unsigned long WId;
+struct QWSEvent;
+class QGfx;
+
+#endif // Q_WS_QWS
+
+class QApplication;
+
+#if defined(NEEDS_QMAIN)
+#define main qMain
+#endif
+
+// Global platform-independent types and functions
+
+typedef Q_INT32 QCOORD; // coordinate type
+const QCOORD QCOORD_MAX = 2147483647;
+const QCOORD QCOORD_MIN = -QCOORD_MAX - 1;
+
+typedef unsigned int QRgb; // RGB triplet
+
+Q_EXPORT const char *qAppName(); // get application name
+
+// Misc functions
+
+typedef void (*QtCleanUpFunction)();
+Q_EXPORT void qAddPostRoutine( QtCleanUpFunction );
+Q_EXPORT void qRemovePostRoutine( QtCleanUpFunction );
+
+#if !defined(QT_CLEAN_NAMESPACE)
+// source compatibility with Qt 2.x
+typedef QtCleanUpFunction Q_CleanUpFunction;
+#endif
+
+
+#endif // QWINDOWDEFS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsmime-members.html b/doc/html/qwindowsmime-members.html
new file mode 100644
index 0000000..f54398a
--- /dev/null
+++ b/doc/html/qwindowsmime-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmime.h:134 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWindowsMime Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWindowsMime</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwindowsmime.html">QWindowsMime</a>, including inherited members.
+
+<ul>
+<li><a href="qwindowsmime.html#QWindowsMime">QWindowsMime</a>()
+<li><a href="qwindowsmime.html#~QWindowsMime">~QWindowsMime</a>()
+<li><a href="qwindowsmime.html#all">all</a>()
+<li><a href="qwindowsmime.html#canConvert">canConvert</a>()
+<li><a href="qwindowsmime.html#cf">cf</a>()
+<li><a href="qwindowsmime.html#cfFor">cfFor</a>()
+<li><a href="qwindowsmime.html#cfToMime">cfToMime</a>()
+<li><a href="qwindowsmime.html#convertFromMime">convertFromMime</a>()
+<li><a href="qwindowsmime.html#convertToMime">convertToMime</a>()
+<li><a href="qwindowsmime.html#convertor">convertor</a>()
+<li><a href="qwindowsmime.html#convertorName">convertorName</a>()
+<li><a href="qwindowsmime.html#countCf">countCf</a>()
+<li><a href="qwindowsmime.html#initialize">initialize</a>()
+<li><a href="qwindowsmime.html#mimeFor">mimeFor</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsmime.html b/doc/html/qwindowsmime.html
new file mode 100644
index 0000000..e996715
--- /dev/null
+++ b/doc/html/qwindowsmime.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qmime_win.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWindowsMime Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWindowsMime Class Reference</h1>
+
+<p>The QWindowsMime class maps open-standard MIME to Window Clipboard formats.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmime-h.html">qmime.h</a>&gt;</tt>
+<p><a href="qwindowsmime-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWindowsMime"><b>QWindowsMime</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWindowsMime"><b>~QWindowsMime</b></a> ()</li>
+<li class=fn>virtual const char * <a href="#convertorName"><b>convertorName</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#countCf"><b>countCf</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#cf"><b>cf</b></a> ( int&nbsp;index ) = 0</li>
+<li class=fn>virtual bool <a href="#canConvert"><b>canConvert</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf ) = 0</li>
+<li class=fn>virtual const char * <a href="#mimeFor"><b>mimeFor</b></a> ( int&nbsp;cf ) = 0</li>
+<li class=fn>virtual int <a href="#cfFor"><b>cfFor</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime ) = 0</li>
+<li class=fn>virtual QByteArray <a href="#convertToMime"><b>convertToMime</b></a> ( QByteArray&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf ) = 0</li>
+<li class=fn>virtual QByteArray <a href="#convertFromMime"><b>convertFromMime</b></a> ( QByteArray&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf ) = 0</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#initialize"><b>initialize</b></a> ()</li>
+<li class=fn>QPtrList&lt;QWindowsMime&gt; <a href="#all"><b>all</b></a> ()</li>
+<li class=fn>QWindowsMime * <a href="#convertor"><b>convertor</b></a> ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf )</li>
+<li class=fn>const char * <a href="#cfToMime"><b>cfToMime</b></a> ( int&nbsp;cf )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWindowsMime class maps open-standard MIME to Window Clipboard formats.
+
+
+
+<p> Qt's drag-and-drop and clipboard facilities use the MIME standard.
+On X11, this maps trivially to the Xdnd protocol, but on Windows
+although some applications use MIME types to describe clipboard
+formats, others use arbitrary non-standardized naming conventions,
+or unnamed built-in formats of Windows.
+<p> By instantiating subclasses of QWindowsMime that provide conversions
+between Windows Clipboard and MIME formats, you can convert
+proprietary clipboard formats to MIME formats.
+<p> Qt has predefined support for the following Windows Clipboard formats:
+<ul>
+<li> CF_UNICODETEXT - converted to "text/plain;charset=ISO-10646-UCS-2"
+and supported by <a href="qtextdrag.html">QTextDrag</a>.
+<li> CF_TEXT - converted to "text/plain;charset=system" or "text/plain"
+and supported by QTextDrag.
+<li> CF_DIB - converted to "image/*", where * is
+a <a href="qimage.html#outputFormats">Qt image format</a>,
+and supported by <a href="qimagedrag.html">QImageDrag</a>.
+<li> CF_HDROP - converted to "text/uri-list",
+and supported by <a href="quridrag.html">QUriDrag</a>.
+</ul>
+<p> An example use of this class would be to map the Windows Metafile
+clipboard format (CF_METAFILEPICT) to and from the MIME type "image/x-wmf".
+This conversion might simply be adding or removing a header, or even
+just passing on the data. See the
+<a href="dnd.html">Drag-and-Drop documentation</a> for more information
+on choosing and definition MIME types.
+<p> You can check if a MIME type is convertible using <a href="#canConvert">canConvert</a>() and
+can perform conversions with <a href="#convertToMime">convertToMime</a>() and <a href="#convertFromMime">convertFromMime</a>().
+<p>See also <a href="draganddrop.html">Drag And Drop Classes</a>, <a href="io.html">Input/Output and Networking</a>, and <a href="misc.html">Miscellaneous Classes</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWindowsMime"></a>QWindowsMime::QWindowsMime ()
+</h3>
+Constructs a new conversion object, adding it to the globally accessed
+list of available convertors.
+
+<h3 class=fn><a name="~QWindowsMime"></a>QWindowsMime::~QWindowsMime ()<tt> [virtual]</tt>
+</h3>
+Destroys a conversion object, removing it from the global
+list of available convertors.
+
+<h3 class=fn><a href="qptrlist.html">QPtrList</a>&lt;QWindowsMime&gt; <a name="all"></a>QWindowsMime::all ()<tt> [static]</tt>
+</h3>
+Returns a list of all currently defined QWindowsMime objects.
+
+<h3 class=fn>bool <a name="canConvert"></a>QWindowsMime::canConvert ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the convertor can convert (both ways) between
+<em>mime</em> and <em>cf</em>; otherwise returns FALSE.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="cf"></a>QWindowsMime::cf ( int&nbsp;index )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the Windows Clipboard format supported by this convertor
+that is ordinarily at position <em>index</em>. This means that <a href="#cf">cf</a>(0)
+returns the first Windows Clipboard format supported, and
+cf(countCf()-1) returns the last. If <em>index</em> is out of range the
+return value is undefined.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="cfFor"></a>QWindowsMime::cfFor ( const&nbsp;char&nbsp;*&nbsp;mime )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the Windows Clipboard type used for MIME type <em>mime</em>, or
+0 if this convertor does not support <em>mime</em>.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>const char * <a name="cfToMime"></a>QWindowsMime::cfToMime ( int&nbsp;cf )<tt> [static]</tt>
+</h3>
+Returns a MIME type for <em>cf</em>, or 0 if none exists.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="convertFromMime"></a>QWindowsMime::convertFromMime ( <a href="qbytearray.html">QByteArray</a>&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns <em>data</em> converted from MIME type <em>mime</em>
+to Windows Clipboard format <em>cf</em>.
+<p> Note that Windows Clipboard formats must all be self-terminating. The
+return value may contain trailing data.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="convertToMime"></a>QWindowsMime::convertToMime ( <a href="qbytearray.html">QByteArray</a>&nbsp;data, const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns <em>data</em> converted from Windows Clipboard format <em>cf</em>
+to MIME type <em>mime</em>.
+<p> Note that Windows Clipboard formats must all be self-terminating. The
+input <em>data</em> may contain trailing data.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn><a href="qwindowsmime.html">QWindowsMime</a>&nbsp;* <a name="convertor"></a>QWindowsMime::convertor ( const&nbsp;char&nbsp;*&nbsp;mime, int&nbsp;cf )<tt> [static]</tt>
+</h3>
+Returns the most-recently created QWindowsMime that can convert
+between the <em>mime</em> and <em>cf</em> formats. Returns 0 if no such convertor
+exists.
+
+<h3 class=fn>const char * <a name="convertorName"></a>QWindowsMime::convertorName ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns a name for the convertor.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>int <a name="countCf"></a>QWindowsMime::countCf ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the number of Windows Clipboard formats supported by this
+convertor.
+<p> All subclasses must reimplement this pure virtual function.
+
+<h3 class=fn>void <a name="initialize"></a>QWindowsMime::initialize ()<tt> [static]</tt>
+</h3>
+This is an internal function.
+
+<h3 class=fn>const char * <a name="mimeFor"></a>QWindowsMime::mimeFor ( int&nbsp;cf )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the MIME type used for Windows Clipboard format <em>cf</em>, or
+0 if this convertor does not support <em>cf</em>.
+<p> All subclasses must reimplement this pure virtual function.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsstyle-h.html b/doc/html/qwindowsstyle-h.html
new file mode 100644
index 0000000..6573f3a
--- /dev/null
+++ b/doc/html/qwindowsstyle-h.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsstyle.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwindowsstyle.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwindowsstyle.h</h1>
+
+<p>This is the verbatim text of the qwindowsstyle.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwindowsstyle.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of Windows-like style class
+**
+** Created : 981231
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWINDOWSSTYLE_H
+#define QWINDOWSSTYLE_H
+
+#ifndef QT_H
+#include "qcommonstyle.h"
+#endif // QT_H
+
+#if !defined(QT_NO_STYLE_WINDOWS) || defined(QT_PLUGIN)
+
+#if defined(QT_PLUGIN)
+#define Q_EXPORT_STYLE_WINDOWS
+#else
+#define Q_EXPORT_STYLE_WINDOWS Q_EXPORT
+#endif
+
+
+class Q_EXPORT_STYLE_WINDOWS QWindowsStyle : public QCommonStyle
+{
+ Q_OBJECT
+public:
+ QWindowsStyle();
+ ~QWindowsStyle();
+
+ void polish(QApplication*);
+ void unPolish(QApplication*);
+
+ void polish(QWidget*);
+ void unPolish(QWidget*);
+
+ void polish( QPalette &amp; );
+
+ virtual void polishPopupMenu( QPopupMenu* );
+
+ // new stuff
+ void drawPrimitive( PrimitiveElement pe,
+ QPainter *p,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ QPainter *p,
+ const QWidget *widget,
+ const QRect &amp;r,
+ const QColorGroup &amp;cg,
+ SFlags flags = Style_Default,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl control,
+ QPainter* p,
+ const QWidget* widget,
+ const QRect&amp; r,
+ const QColorGroup&amp; cg,
+ SFlags flags = Style_Default,
+#ifdef Q_QDOC
+ SCFlags sub = SC_All,
+#else
+ SCFlags sub = (uint)SC_All,
+#endif
+ SCFlags subActive = SC_None,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int pixelMetric( PixelMetric metric,
+ const QWidget *widget = 0 ) const;
+
+ QSize sizeFromContents( ContentsType contents,
+ const QWidget *widget,
+ const QSize &amp;contentsSize,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ int styleHint(StyleHint sh, const QWidget *, const QStyleOption &amp; = QStyleOption::Default,
+ QStyleHintReturn* = 0) const;
+
+ QPixmap stylePixmap( StylePixmap stylepixmap,
+ const QWidget *widget = 0,
+ const QStyleOption&amp; = QStyleOption::Default ) const;
+
+ QRect subRect( SubRect r, const QWidget *widget ) const;
+
+
+private:
+ class Private;
+ Private *d;
+
+ // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QWindowsStyle( const QWindowsStyle &amp; );
+ QWindowsStyle&amp; operator=( const QWindowsStyle &amp; );
+#endif
+};
+
+#endif // QT_NO_STYLE_WINDOWS
+
+#endif // QWINDOWSSTYLE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsstyle-members.html b/doc/html/qwindowsstyle-members.html
new file mode 100644
index 0000000..0a38b3a
--- /dev/null
+++ b/doc/html/qwindowsstyle-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsstyle.h:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWindowsStyle Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWindowsStyle</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwindowsstyle.html">QWindowsStyle</a>, including inherited members.
+
+<ul>
+<li><a href="qwindowsstyle.html#QWindowsStyle">QWindowsStyle</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qstyle.html#defaultFrameWidth">defaultFrameWidth</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qstyle.html#drawComplexControl">drawComplexControl</a>()
+<li><a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>()
+<li><a href="qstyle.html#drawControl">drawControl</a>()
+<li><a href="qstyle.html#drawControlMask">drawControlMask</a>()
+<li><a href="qstyle.html#drawItem">drawItem</a>()
+<li><a href="qstyle.html#drawPrimitive">drawPrimitive</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qstyle.html#itemRect">itemRect</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qstyle.html#pixelMetric">pixelMetric</a>()
+<li><a href="qstyle.html#polish">polish</a>()
+<li><a href="qstyle.html#polishPopupMenu">polishPopupMenu</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qstyle.html#querySubControl">querySubControl</a>()
+<li><a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qstyle.html#scrollBarExtent">scrollBarExtent</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qstyle.html#sizeFromContents">sizeFromContents</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qstyle.html#styleHint">styleHint</a>()
+<li><a href="qstyle.html#stylePixmap">stylePixmap</a>()
+<li><a href="qstyle.html#subRect">subRect</a>()
+<li><a href="qstyle.html#tabbarMetrics">tabbarMetrics</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qstyle.html#unPolish">unPolish</a>()
+<li><a href="qstyle.html#visualRect">visualRect</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsstyle.html b/doc/html/qwindowsstyle.html
new file mode 100644
index 0000000..03c0fcc
--- /dev/null
+++ b/doc/html/qwindowsstyle.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/styles/qwindowsstyle.cpp:208 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWindowsStyle Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWindowsStyle Class Reference</h1>
+
+<p>The QWindowsStyle class provides a Microsoft Windows-like look and feel.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwindowsstyle-h.html">qwindowsstyle.h</a>&gt;</tt>
+<p>Inherits <a href="qcommonstyle.html">QCommonStyle</a>.
+<p>Inherited by <a href="qmacstyle.html">QMacStyle</a> and <a href="qplatinumstyle.html">QPlatinumStyle</a>.
+<p><a href="qwindowsstyle-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWindowsStyle"><b>QWindowsStyle</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWindowsStyle class provides a Microsoft Windows-like look and feel.
+<p>
+<p> This style is Qt's default GUI style on Windows.
+<p>See also <a href="appearance.html">Widget Appearance and Style</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWindowsStyle"></a>QWindowsStyle::QWindowsStyle ()
+</h3>
+Constructs a QWindowsStyle
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwindowsystem_qws-h.html b/doc/html/qwindowsystem_qws-h.html
new file mode 100644
index 0000000..563f470
--- /dev/null
+++ b/doc/html/qwindowsystem_qws-h.html
@@ -0,0 +1,621 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsystem_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwindowsystem_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwindowsystem_qws.h</h1>
+
+<p>This is the verbatim text of the qwindowsystem_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwindowsystem_qws.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of Qt/FB central server classes
+**
+** Created : 991025
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWINDOWSYSTEM_QWS_H
+#define QWINDOWSYSTEM_QWS_H
+
+#ifndef QT_H
+#include "qwssocket_qws.h"
+#include "qmap.h"
+#include "qdatetime.h"
+#include "qptrlist.h"
+#include "qimage.h"
+
+#include "qwsproperty_qws.h"
+#include "qwscommand_qws.h"
+#include "qwsevent_qws.h"
+#endif // QT_H
+
+#include "qkbd_qws.h"
+
+struct SWCursorData;
+class QWSCursor;
+class QWSClient;
+class QWSRegionManager;
+class QGfx;
+class QWSServerData;
+
+class QWSInternalWindowInfo
+{
+
+public:
+
+ int winid;
+ unsigned int clientid;
+ QString name; // Corresponds to QObject name of top-level widget
+
+};
+
+struct QWSWindowData;
+
+class QWSScreenSaver
+{
+public:
+ virtual ~QWSScreenSaver();
+ virtual void restore()=0;
+ virtual bool save(int level)=0;
+};
+
+class QWSWindow
+{
+ friend class QWSServer;
+public:
+ QWSWindow(int i, QWSClient* client);
+ ~QWSWindow();
+
+ int winId() const { return id; }
+ const QString &amp;name() const { return rgnName; }
+ const QString &amp;caption() const { return rgnCaption; }
+ QWSClient* client() const { return c; }
+ QRegion requested() const { return requested_region; }
+ QRegion allocation() const { return allocated_region; }
+ bool isVisible() const { return !requested_region.isEmpty(); }
+ bool isPartiallyObscured() const { return requested_region!=allocated_region; }
+ bool isFullyObscured() const { return allocated_region.isEmpty(); }
+
+ void raise();
+ void lower();
+ void show();
+ void hide();
+ void setActiveWindow();
+
+private:
+ bool hidden() const { return requested_region.isEmpty(); }
+ bool forClient(const QWSClient* cl) const { return cl==c; }
+
+ void setName( const QString &amp;n );
+ void setCaption( const QString &amp;c );
+
+ void addAllocation( QWSRegionManager *, const QRegion &amp; );
+ void removeAllocation( QWSRegionManager *, const QRegion &amp; );
+
+ int allocationIndex() const { return alloc_region_idx; }
+ void setAllocationIndex( int i ) { alloc_region_idx = i; modified = TRUE; }
+ void updateAllocation();
+
+ void setNeedAck( bool n ) { needAck = n; }
+
+ void focus(bool get);
+ int focusPriority() const { return last_focus_time; }
+ void operation( QWSWindowOperationEvent::Operation o );
+ void shuttingDown() { last_focus_time=0; }
+
+private:
+ int id;
+ QString rgnName;
+ QString rgnCaption;
+ int alloc_region_idx;
+ bool modified;
+ bool needAck;
+ bool onTop;
+ QWSClient* c;
+ QRegion requested_region;
+ QRegion allocated_region;
+ QRegion exposed;
+ int last_focus_time;
+ QWSWindowData *d;
+};
+
+#ifndef QT_NO_SOUND
+class QWSSoundServer;
+#ifdef QT_USE_OLD_QWS_SOUND
+class QWSSoundServerData;
+
+class QWSSoundServer : public QObject {
+ Q_OBJECT
+public:
+ QWSSoundServer(QObject* parent);
+ ~QWSSoundServer();
+ void playFile(const QString&amp; filename);
+private slots:
+ void feedDevice(int fd);
+private:
+ QWSSoundServerData* d;
+};
+#endif
+#endif
+
+
+
+
+
+
+
+/*********************************************************************
+ *
+ * Class: QWSServer
+ *
+ *********************************************************************/
+
+class QWSMouseHandler;
+struct QWSCommandStruct;
+
+#ifndef QT_NO_QWS_MULTIPROCESS
+class QWSServer : public QWSServerSocket
+#else
+class QWSServer : public QObject
+#endif
+{
+ friend class QCopChannel;
+ friend class QWSMouseHandler;
+ friend class QWSWindow;
+ friend class QWSDisplay;
+ friend class QWSInputMethod;
+ Q_OBJECT
+
+public:
+ QWSServer( int flags = 0, QObject *parent=0, const char *name=0 );
+ ~QWSServer();
+ enum ServerFlags { DisableKeyboard = 0x01,
+ DisableMouse = 0x02 };
+
+
+ enum GUIMode { NoGui = FALSE, NormalGUI = TRUE, Server };
+
+ static void sendKeyEvent(int unicode, int keycode, int modifiers, bool isPress,
+ bool autoRepeat);
+ static void processKeyEvent(int unicode, int keycode, int modifiers, bool isPress,
+ bool autoRepeat);
+
+#ifndef QT_NO_QWS_IM
+ enum IMState { IMStart, IMCompose, IMEnd };
+
+ void sendIMEvent( IMState state, const QString&amp; txt, int cpos, int selLen );
+#endif
+
+#ifndef QT_NO_QWS_KEYBOARD
+ typedef struct KeyMap {
+ int key_code;
+ ushort unicode;
+ ushort shift_unicode;
+ ushort ctrl_unicode;
+ };
+
+ typedef struct KeyOverride {
+ ushort scan_code;
+ KeyMap map;
+ };
+
+ static const KeyMap *keyMap();
+
+ static void setOverrideKeys( const KeyOverride* );
+
+ class KeyboardFilter
+ {
+ public:
+ virtual bool filter(int unicode, int keycode, int modifiers,
+ bool isPress, bool autoRepeat)=0;
+ };
+
+ static void setKeyboardFilter( KeyboardFilter *f );
+#endif
+#ifndef QT_NO_QWS_IM
+ static void setCurrentInputMethod( QWSInputMethod *im );
+ static void resetInputMethod();
+ static void setMicroFocus( int x, int y );
+#endif
+
+ static void setDefaultMouse( const char * );
+ static void setDefaultKeyboard( const char * );
+ static void setMaxWindowRect(const QRect&amp;);
+ static void sendMouseEvent(const QPoint&amp; pos, int state);
+
+ static void setDesktopBackground( const QImage &amp;img );
+ static void setDesktopBackground( const QColor &amp; );
+ static QWSMouseHandler *mouseHandler();
+ static void setMouseHandler(QWSMouseHandler*);
+#ifndef QT_NO_QWS_KEYBOARD
+ static QWSKeyboardHandler* keyboardHandler();
+ static void setKeyboardHandler(QWSKeyboardHandler* kh);
+#endif
+ QWSWindow *windowAt( const QPoint&amp; pos );
+
+ // For debugging only at this time
+ const QPtrList&lt;QWSWindow&gt; &amp;clientWindows() { return windows; }
+
+ void openMouse();
+ void closeMouse();
+#ifndef QT_NO_QWS_KEYBOARD
+ void openKeyboard();
+ void closeKeyboard();
+#endif
+
+ static void setScreenSaver(QWSScreenSaver*);
+ static void setScreenSaverIntervals(int* ms);
+ static void setScreenSaverInterval(int);
+ static bool screenSaverActive();
+ static void screenSaverActivate(bool);
+
+ // the following are internal.
+ void refresh();
+ void refresh(QRegion &amp;);
+
+ void enablePainting(bool);
+ static void processEventQueue();
+ static QPtrList&lt;QWSInternalWindowInfo&gt; * windowList();
+
+ void sendPropertyNotifyEvent( int property, int state );
+#ifndef QT_NO_QWS_PROPERTIES
+ QWSPropertyManager *manager() {
+ return &amp;propertyManager;
+ }
+#endif
+
+ static QPoint mousePosition;
+
+ static void startup( int flags );
+ static void closedown();
+
+ static void beginDisplayReconfigure();
+ static void endDisplayReconfigure();
+
+#ifndef QT_NO_QWS_CURSOR
+ static void setCursorVisible( bool );
+ static bool isCursorVisible();
+#endif
+
+ enum WindowEvent { Create=0x0001, Destroy=0x0002, Hide=0x0004, Show=0x0008,
+ Raise=0x0010, Lower=0x0020, Geometry=0x0040, Active = 0x0080,
+ Name=0x0100 };
+
+signals:
+ void windowEvent( QWSWindow *w, QWSServer::WindowEvent e );
+
+#ifndef QT_NO_COP
+ void newChannel( const QString&amp; channel);
+ void removedChannel(const QString&amp; channel);
+
+#endif
+private:
+#ifndef QT_NO_COP
+ static void sendQCopEvent( QWSClient *c, const QCString &amp;ch,
+ const QCString &amp;msg, const QByteArray &amp;data,
+ bool response = FALSE );
+#endif
+ void move_region( const QWSRegionMoveCommand * );
+ void set_altitude( const QWSChangeAltitudeCommand * );
+ void request_focus( const QWSRequestFocusCommand * );
+ void request_region( int, QRegion );
+ void destroy_region( const QWSRegionDestroyCommand * );
+ void name_region( const QWSRegionNameCommand * );
+ void set_identity( const QWSIdentifyCommand * );
+#ifndef QT_NO_QWS_IM
+ void set_micro_focus( const QWSSetMicroFocusCommand * );
+ void reset_im( const QWSResetIMCommand * );
+ static void sendKeyEventUnfiltered(int unicode, int keycode,
+ int modifiers, bool isPress,
+ bool autoRepeat);
+
+#endif
+ static void emergency_cleanup();
+
+ static QColor *bgColor;
+ static QImage *bgImage;
+
+ void sendMaxWindowRectEvents();
+#ifndef QT_NO_QWS_MULTIPROCESS
+ void newConnection( int socket );
+#endif
+ void invokeIdentify( const QWSIdentifyCommand *cmd, QWSClient *client );
+ void invokeCreate( QWSCreateCommand *cmd, QWSClient *client );
+ void invokeRegionName( const QWSRegionNameCommand *cmd, QWSClient *client );
+ void invokeRegion( QWSRegionCommand *cmd, QWSClient *client );
+ void invokeRegionMove( const QWSRegionMoveCommand *cmd, QWSClient *client );
+ void invokeRegionDestroy( const QWSRegionDestroyCommand *cmd, QWSClient *client );
+ void invokeSetAltitude( const QWSChangeAltitudeCommand *cmd, QWSClient *client );
+#ifndef QT_NO_QWS_PROPERTIES
+ void invokeAddProperty( QWSAddPropertyCommand *cmd );
+ void invokeSetProperty( QWSSetPropertyCommand *cmd );
+ void invokeRemoveProperty( QWSRemovePropertyCommand *cmd );
+ void invokeGetProperty( QWSGetPropertyCommand *cmd, QWSClient *client );
+#endif //QT_NO_QWS_PROPERTIES
+ void invokeSetSelectionOwner( QWSSetSelectionOwnerCommand *cmd );
+ void invokeConvertSelection( QWSConvertSelectionCommand *cmd );
+ void invokeSetFocus( const QWSRequestFocusCommand *cmd, QWSClient *client );
+
+ void initIO();
+ void setFocus( QWSWindow*, bool gain );
+#ifndef QT_NO_QWS_CURSOR
+ void invokeDefineCursor( QWSDefineCursorCommand *cmd, QWSClient *client );
+ void invokeSelectCursor( QWSSelectCursorCommand *cmd, QWSClient *client );
+#endif
+ void invokeGrabMouse( QWSGrabMouseCommand *cmd, QWSClient *client );
+ void invokeGrabKeyboard( QWSGrabKeyboardCommand *cmd, QWSClient *client );
+#ifndef QT_NO_SOUND
+ void invokePlaySound( QWSPlaySoundCommand *cmd, QWSClient *client );
+#endif
+#ifndef QT_NO_COP
+ void invokeRegisterChannel( QWSQCopRegisterChannelCommand *cmd,
+ QWSClient *client );
+ void invokeQCopSend( QWSQCopSendCommand *cmd, QWSClient *client );
+#endif
+ void invokeRepaintRegion( QWSRepaintRegionCommand *cmd,
+ QWSClient *client );
+#ifndef QT_NO_QWS_IM
+ void invokeSetMicroFocus( const QWSSetMicroFocusCommand *cmd,
+ QWSClient *client );
+ void invokeResetIM( const QWSResetIMCommand *cmd,
+ QWSClient *client );
+#endif
+
+ QWSMouseHandler* newMouseHandler(const QString&amp; spec);
+ void openDisplay();
+ void closeDisplay();
+
+ void showCursor();
+ void hideCursor();
+ void initializeCursor();
+ void paintServerRegion();
+ void paintBackground( const QRegion &amp; );
+ void clearRegion( const QRegion &amp;r, const QColor &amp;c );
+ void refreshBackground();
+ void resetGfx();
+
+private slots:
+#ifndef QT_NO_QWS_MULTIPROCESS
+ void clientClosed();
+ void doClient();
+ void deleteWindowsLater();
+#endif
+
+ void screenSaverWake();
+ void screenSaverSleep();
+ void screenSaverTimeout();
+
+private:
+ void disconnectClient( QWSClient * );
+ void screenSave(int level);
+ void doClient( QWSClient * );
+ typedef QMapIterator&lt;int,QWSClient*&gt; ClientIterator;
+ typedef QMap&lt;int,QWSClient*&gt; ClientMap;
+ void releaseMouse(QWSWindow* w);
+ void releaseKeyboard(QWSWindow* w);
+ void updateClientCursorPos();
+
+ uchar* sharedram;
+ int ramlen;
+
+ QGfx *gfx;
+
+ ClientMap client;
+#ifndef QT_NO_QWS_PROPERTIES
+ QWSPropertyManager propertyManager;
+#endif
+ struct SelectionOwner {
+ int windowid;
+ struct Time {
+ void set( int h, int m, int s, int s2 ) {
+ hour = h; minute = m; sec = s; ms = s2;
+ }
+ int hour, minute, sec, ms;
+ } time;
+ } selectionOwner;
+ QTime timer;
+ QWSServerData* d;
+ int* screensaverinterval;
+
+ QWSWindow *focusw;
+ QWSWindow *mouseGrabber;
+ bool mouseGrabbing;
+ int swidth, sheight, sdepth;
+#ifndef QT_NO_QWS_CURSOR
+ bool haveviscurs;
+ QWSCursor *cursor; // cursor currently shown
+ QWSCursor *nextCursor; // cursor to show once grabbing is off
+#endif
+ QRegion screenRegion; // the entire display region
+ QRegion serverRegion;
+ QRegion dirtyBackground;
+ bool disablePainting;
+ QPtrList&lt;QWSMouseHandler&gt; mousehandlers;
+#ifndef QT_NO_QWS_KEYBOARD
+ QPtrList&lt;QWSKeyboardHandler&gt; keyboardhandlers;
+#endif
+
+ QPtrList&lt;QWSCommandStruct&gt; commandQueue;
+ QWSRegionManager *rgnMan;
+
+ // Window management
+ QPtrList&lt;QWSWindow&gt; windows; // first=topmost
+ QWSWindow* newWindow(int id, QWSClient* client);
+ QWSWindow* findWindow(int windowid, QWSClient* client);
+ void moveWindowRegion(QWSWindow*, int dx, int dy );
+ QRegion setWindowRegion(QWSWindow*, QRegion r );
+ void raiseWindow( QWSWindow *, int = 0);
+ void lowerWindow( QWSWindow *, int = -1);
+ void exposeRegion( QRegion , int index = 0 );
+ void notifyModified( QWSWindow *active = 0 );
+ void syncRegions( QWSWindow *active = 0 );
+
+ void setCursor(QWSCursor *curs);
+
+ // multimedia
+#ifndef QT_NO_SOUND
+ QWSSoundServer *soundserver;
+#endif
+#ifndef QT_NO_COP
+ QMap&lt;QString, QPtrList&lt;QWSClient&gt; &gt; channels;
+#endif
+#ifndef QT_NO_QWS_IM
+ bool microF;
+ int microX;
+ int microY;
+#endif
+};
+
+extern QWSServer *qwsServer; //there can be only one
+
+
+#ifndef QT_NO_QWS_IM
+ class QWSInputMethod
+ {
+ public:
+ QWSInputMethod();
+ virtual ~QWSInputMethod();
+ virtual bool filter(int unicode, int keycode, int modifiers,
+ bool isPress, bool autoRepeat)=0;
+ virtual void reset();
+ virtual void setMicroFocus( int x, int y );
+ virtual void setFont( const QFont&amp; );
+ protected:
+ void sendIMEvent( QWSServer::IMState, const QString&amp; txt, int cpos, int selLen = 0 );
+ //void sendKeyEvent( int unicode, int keycode, int modifiers,
+ // bool isPress, bool autoRepeat);
+ };
+
+inline void QWSInputMethod::sendIMEvent( QWSServer::IMState state, const QString &amp;txt, int cpos, int selLen )
+{
+ qwsServer-&gt;sendIMEvent( state, txt, cpos, selLen );
+
+}
+
+
+#endif
+
+
+
+
+/*********************************************************************
+ *
+ * Class: QWSClient
+ *
+ *********************************************************************/
+
+struct QWSMouseEvent;
+
+typedef QMap&lt;int, QWSCursor*&gt; QWSCursorMap;
+
+class QWSClient : public QObject
+{
+ Q_OBJECT
+public:
+ QWSClient( QObject* parent, int socket, int id );
+ ~QWSClient();
+
+ int socket() const;
+
+ void setIdentity(const QString&amp;);
+ QString identity() const { return id; }
+
+ void sendEvent( QWSEvent* event );
+ void sendConnectedEvent( const char *display_spec );
+ void sendMaxWindowRectEvent();
+ void sendRegionModifyEvent( int winid, QRegion exposed, bool ack );
+ void sendFocusEvent( int winid, bool get );
+ void sendPropertyNotifyEvent( int property, int state );
+ void sendPropertyReplyEvent( int property, int len, char *data );
+ void sendSelectionClearEvent( int windowid );
+ void sendSelectionRequestEvent( QWSConvertSelectionCommand *cmd, int windowid );
+ QWSCommand* readMoreCommand();
+
+ int clientId() const { return cid; }
+
+ QWSCursorMap cursors; // cursors defined by this client
+signals:
+ void connectionClosed();
+ void readyRead();
+private slots:
+ void closeHandler();
+ void errorHandler( int );
+private:
+ int s; // XXX csocket-&gt;d-&gt;socket-&gt;socket() is this value
+#ifndef QT_NO_QWS_MULTIPROCESS
+ QWSSocket *csocket;
+#endif
+ QWSCommand* command;
+ uint isClosed : 1;
+ QString id;
+ int cid;
+};
+
+#endif // QWINDOWSYSTEM_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwizard-h.html b/doc/html/qwizard-h.html
new file mode 100644
index 0000000..8d2d215
--- /dev/null
+++ b/doc/html/qwizard-h.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwizard.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwizard.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwizard.h</h1>
+
+<p>This is the verbatim text of the qwizard.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwizard.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the QWizard class.
+**
+** Created : 990101
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the dialogs module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWIZARDDIALOG_H
+#define QWIZARDDIALOG_H
+
+
+#ifndef QT_H
+#include "qdialog.h"
+#endif // QT_H
+
+#ifndef QT_NO_WIZARD
+
+class QHBoxLayout;
+class QWizardPrivate;
+
+class Q_EXPORT QWizard : public QDialog
+{
+ Q_OBJECT
+ Q_PROPERTY( QFont titleFont READ titleFont WRITE setTitleFont )
+
+public:
+ QWizard( QWidget* parent=0, const char* name=0, bool modal=FALSE,
+ WFlags f=0 );
+ ~QWizard();
+
+ void show();
+
+ void setFont( const QFont &amp; font );
+
+ virtual void addPage( QWidget *, const QString &amp; );
+ virtual void insertPage( QWidget*, const QString&amp;, int );
+ virtual void removePage( QWidget * );
+
+ QString title( QWidget * ) const;
+ void setTitle( QWidget *, const QString &amp; );
+ QFont titleFont() const;
+ void setTitleFont( const QFont &amp; );
+
+ virtual void showPage( QWidget * );
+
+ QWidget * currentPage() const;
+
+ QWidget* page( int ) const;
+ int pageCount() const;
+ int indexOf( QWidget* ) const;
+
+ virtual bool appropriate( QWidget * ) const;
+ virtual void setAppropriate( QWidget *, bool );
+
+ QPushButton * backButton() const;
+ QPushButton * nextButton() const;
+ QPushButton * finishButton() const;
+ QPushButton * cancelButton() const;
+ QPushButton * helpButton() const;
+
+ bool eventFilter( QObject *, QEvent * );
+
+public slots:
+ virtual void setBackEnabled( QWidget *, bool );
+ virtual void setNextEnabled( QWidget *, bool );
+ virtual void setFinishEnabled( QWidget *, bool );
+
+ virtual void setHelpEnabled( QWidget *, bool );
+
+ // obsolete
+ virtual void setFinish( QWidget *, bool ) {}
+
+protected slots:
+ virtual void back();
+ virtual void next();
+ virtual void help();
+
+signals:
+ void helpClicked();
+ void selected( const QString&amp; );
+
+protected:
+ virtual void layOutButtonRow( QHBoxLayout * );
+ virtual void layOutTitleRow( QHBoxLayout *, const QString &amp; );
+
+private:
+ void setBackEnabled( bool );
+ void setNextEnabled( bool );
+
+ void setHelpEnabled( bool );
+
+ void setNextPage( QWidget * );
+
+ void updateButtons();
+
+ void layOut();
+
+ QWizardPrivate *d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QWizard( const QWizard &amp; );
+ QWizard&amp; operator=( const QWizard &amp; );
+#endif
+};
+
+#endif // QT_NO_WIZARD
+
+#endif // QWIZARD_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwizard-members.html b/doc/html/qwizard-members.html
new file mode 100644
index 0000000..7c025d0
--- /dev/null
+++ b/doc/html/qwizard-members.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwizard.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWizard Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWizard</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwizard.html">QWizard</a>, including inherited members.
+
+<ul>
+<li><a href="qwizard.html#QWizard">QWizard</a>()
+<li><a href="qwizard.html#~QWizard">~QWizard</a>()
+<li><a href="qdialog.html#accept">accept</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwizard.html#addPage">addPage</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwizard.html#appropriate">appropriate</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwizard.html#back">back</a>()
+<li><a href="qwizard.html#backButton">backButton</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwizard.html#cancelButton">cancelButton</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwizard.html#currentPage">currentPage</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qdialog.html#done">done</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qdialog.html#exec">exec</a>()
+<li><a href="qdialog.html#extension">extension</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwizard.html#finishButton">finishButton</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwizard.html#help">help</a>()
+<li><a href="qwizard.html#helpButton">helpButton</a>()
+<li><a href="qwizard.html#helpClicked">helpClicked</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qwizard.html#indexOf">indexOf</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qwizard.html#insertPage">insertPage</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qdialog.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qdialog.html#isSizeGripEnabled">isSizeGripEnabled</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwizard.html#layOutButtonRow">layOutButtonRow</a>()
+<li><a href="qwizard.html#layOutTitleRow">layOutTitleRow</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qwizard.html#next">next</a>()
+<li><a href="qwizard.html#nextButton">nextButton</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qdialog.html#orientation">orientation</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwizard.html#page">page</a>()
+<li><a href="qwizard.html#pageCount">pageCount</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qdialog.html#reject">reject</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwizard.html#removePage">removePage</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qdialog.html#result">result</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qwizard.html#selected">selected</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwizard.html#setAppropriate">setAppropriate</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwizard.html#setBackEnabled">setBackEnabled</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qdialog.html#setExtension">setExtension</a>()
+<li><a href="qwizard.html#setFinish">setFinish</a>()
+<li><a href="qwizard.html#setFinishEnabled">setFinishEnabled</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qdialog.html#setModal">setModal</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwizard.html#setNextEnabled">setNextEnabled</a>()
+<li><a href="qdialog.html#setOrientation">setOrientation</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qdialog.html#setResult">setResult</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qdialog.html#setSizeGripEnabled">setSizeGripEnabled</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwizard.html#setTitle">setTitle</a>()
+<li><a href="qwizard.html#setTitleFont">setTitleFont</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qdialog.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qdialog.html#showExtension">showExtension</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qwizard.html#showPage">showPage</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwizard.html#title">title</a>()
+<li><a href="qwizard.html#titleFont">titleFont</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwizard.html b/doc/html/qwizard.html
new file mode 100644
index 0000000..1911bb7
--- /dev/null
+++ b/doc/html/qwizard.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qwizard.cpp:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWizard Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWizard Class Reference</h1>
+
+<p>The QWizard class provides a framework for wizard dialogs.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwizard-h.html">qwizard.h</a>&gt;</tt>
+<p>Inherits <a href="qdialog.html">QDialog</a>.
+<p><a href="qwizard-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWizard"><b>QWizard</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</li>
+<li class=fn><a href="#~QWizard"><b>~QWizard</b></a> ()</li>
+<li class=fn>virtual void <a href="#addPage"><b>addPage</b></a> ( QWidget&nbsp;*&nbsp;page, const&nbsp;QString&nbsp;&amp;&nbsp;title )</li>
+<li class=fn>virtual void <a href="#insertPage"><b>insertPage</b></a> ( QWidget&nbsp;*&nbsp;page, const&nbsp;QString&nbsp;&amp;&nbsp;title, int&nbsp;index )</li>
+<li class=fn>virtual void <a href="#removePage"><b>removePage</b></a> ( QWidget&nbsp;*&nbsp;page )</li>
+<li class=fn>QString <a href="#title"><b>title</b></a> ( QWidget&nbsp;*&nbsp;page ) const</li>
+<li class=fn>void <a href="#setTitle"><b>setTitle</b></a> ( QWidget&nbsp;*&nbsp;page, const&nbsp;QString&nbsp;&amp;&nbsp;title )</li>
+<li class=fn>QFont <a href="#titleFont"><b>titleFont</b></a> () const</li>
+<li class=fn>void <a href="#setTitleFont"><b>setTitleFont</b></a> ( const QFont &amp; )</li>
+<li class=fn>virtual void <a href="#showPage"><b>showPage</b></a> ( QWidget&nbsp;*&nbsp;page )</li>
+<li class=fn>QWidget * <a href="#currentPage"><b>currentPage</b></a> () const</li>
+<li class=fn>QWidget * <a href="#page"><b>page</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>int <a href="#pageCount"><b>pageCount</b></a> () const</li>
+<li class=fn>int <a href="#indexOf"><b>indexOf</b></a> ( QWidget&nbsp;*&nbsp;page ) const</li>
+<li class=fn>virtual bool <a href="#appropriate"><b>appropriate</b></a> ( QWidget&nbsp;*&nbsp;page ) const</li>
+<li class=fn>virtual void <a href="#setAppropriate"><b>setAppropriate</b></a> ( QWidget&nbsp;*&nbsp;page, bool&nbsp;appropriate )</li>
+<li class=fn>QPushButton * <a href="#backButton"><b>backButton</b></a> () const</li>
+<li class=fn>QPushButton * <a href="#nextButton"><b>nextButton</b></a> () const</li>
+<li class=fn>QPushButton * <a href="#finishButton"><b>finishButton</b></a> () const</li>
+<li class=fn>QPushButton * <a href="#cancelButton"><b>cancelButton</b></a> () const</li>
+<li class=fn>QPushButton * <a href="#helpButton"><b>helpButton</b></a> () const</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#setBackEnabled"><b>setBackEnabled</b></a> ( QWidget&nbsp;*&nbsp;page, bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setNextEnabled"><b>setNextEnabled</b></a> ( QWidget&nbsp;*&nbsp;page, bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setFinishEnabled"><b>setFinishEnabled</b></a> ( QWidget&nbsp;*&nbsp;page, bool&nbsp;enable )</li>
+<li class=fn>virtual void <a href="#setHelpEnabled"><b>setHelpEnabled</b></a> ( QWidget&nbsp;*&nbsp;page, bool&nbsp;enable )</li>
+<li class=fn>virtual void setFinish ( QWidget *, bool ) &nbsp;<em>(obsolete)</em></li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#helpClicked"><b>helpClicked</b></a> ()</li>
+<li class=fn>void <a href="#selected"><b>selected</b></a> ( const QString &amp; )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>QFont <a href="#titleFont-prop"><b>titleFont</b></a>&nbsp;- the font used for page titles</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#layOutButtonRow"><b>layOutButtonRow</b></a> ( QHBoxLayout&nbsp;*&nbsp;layout )</li>
+<li class=fn>virtual void <a href="#layOutTitleRow"><b>layOutTitleRow</b></a> ( QHBoxLayout&nbsp;*&nbsp;layout, const&nbsp;QString&nbsp;&amp;&nbsp;title )</li>
+</ul>
+<h2>Protected Slots</h2>
+<ul>
+<li class=fn>virtual void <a href="#back"><b>back</b></a> ()</li>
+<li class=fn>virtual void <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>virtual void <a href="#help"><b>help</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWizard class provides a framework for wizard dialogs.
+<p>
+
+
+
+<p> A wizard is a special type of input dialog that consists of a
+sequence of dialog pages. A wizard's purpose is to walk the user
+through a process step by step. Wizards are useful for complex or
+infrequently occurring tasks that people may find difficult to
+learn or do.
+<p> QWizard provides page titles and displays Next, Back, Finish,
+Cancel, and Help push buttons, as appropriate to the current
+position in the page sequence. These buttons can be
+enabled/disabled using <a href="#setBackEnabled">setBackEnabled</a>(), <a href="#setNextEnabled">setNextEnabled</a>(),
+<a href="#setFinishEnabled">setFinishEnabled</a>() and <a href="#setHelpEnabled">setHelpEnabled</a>().
+<p> Create and populate dialog pages that inherit from <a href="qwidget.html">QWidget</a> and add
+them to the wizard using <a href="#addPage">addPage</a>(). Use <a href="#insertPage">insertPage</a>() to add a
+dialog page at a certain position in the page sequence. Use
+<a href="#removePage">removePage</a>() to remove a page from the page sequence.
+<p> Use <a href="#currentPage">currentPage</a>() to retrieve a pointer to the currently displayed
+page. <a href="#page">page</a>() returns a pointer to the page at a certain position
+in the page sequence.
+<p> Use <a href="#pageCount">pageCount</a>() to retrieve the total number of pages in the page
+sequence. <a href="#indexOf">indexOf</a>() will return the index of a page in the page
+sequence.
+<p> QWizard provides functionality to mark pages as appropriate (or
+not) in the current context with <a href="#setAppropriate">setAppropriate</a>(). The idea is
+that a page may be irrelevant and should be skipped depending on
+the data entered by the user on a preceding page.
+<p> It is generally considered good design to provide a greater number
+of simple pages with fewer choices rather than a smaller number of
+complex pages.
+<p> Example code is available here: <a href="wizard-wizard-cpp.html">wizard/wizard.cpp</a> <a href="wizard-wizard-h.html">wizard/wizard.h</a>
+<p> <center><img src="qwizard.png" alt="A QWizard page"></center> <blockquote><p align="center"><em> A QWizard page
+</em></p>
+</blockquote><p> <p>See also <a href="abstractwidgets.html">Abstract Widget Classes</a>, <a href="dialogs.html">Dialog Classes</a>, and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWizard"></a>QWizard::QWizard ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )
+</h3>
+Constructs an empty wizard dialog. The <em>parent</em>, <em>name</em>, <em>modal</em> and <em>f</em> arguments are passed to the <a href="qdialog.html">QDialog</a> constructor.
+
+<h3 class=fn><a name="~QWizard"></a>QWizard::~QWizard ()
+</h3>
+Destroys the object and frees any allocated resources, including
+all pages and controllers.
+
+<h3 class=fn>void <a name="addPage"></a>QWizard::addPage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title )<tt> [virtual]</tt>
+</h3>
+Adds <em>page</em> to the end of the page sequence, with the title, <em>title</em>.
+
+<h3 class=fn>bool <a name="appropriate"></a>QWizard::appropriate ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page ) const<tt> [virtual]</tt>
+</h3>
+Called when the Next button is clicked; this virtual function
+returns TRUE if <em>page</em> is relevant for display in the current
+context; otherwise it is ignored by QWizard and returns FALSE. The
+default implementation returns the value set using
+<a href="#setAppropriate">setAppropriate</a>(). The ultimate default is TRUE.
+<p> <b>Warning:</b> The last page of the wizard will be displayed if no page
+is relevant in the current context.
+
+<h3 class=fn>void <a name="back"></a>QWizard::back ()<tt> [virtual protected slot]</tt>
+</h3>
+Called when the user clicks the Back button; this function shows
+the preceding relevant page in the sequence.
+<p> <p>See also <a href="#appropriate">appropriate</a>().
+
+<h3 class=fn><a href="qpushbutton.html">QPushButton</a>&nbsp;* <a name="backButton"></a>QWizard::backButton () const
+</h3>
+Returns a pointer to the dialog's Back button
+<p> By default, this button is connected to the <a href="#back">back</a>() slot, which is
+virtual so you can reimplement it in a QWizard subclass. Use
+<a href="#setBackEnabled">setBackEnabled</a>() to enable/disable this button.
+
+<h3 class=fn><a href="qpushbutton.html">QPushButton</a>&nbsp;* <a name="cancelButton"></a>QWizard::cancelButton () const
+</h3>
+Returns a pointer to the dialog's Cancel button
+<p> By default, this button is connected to the <a href="qdialog.html#reject">QDialog::reject</a>()
+slot, which is virtual so you can reimplement it in a QWizard
+subclass.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="currentPage"></a>QWizard::currentPage () const
+</h3>
+Returns a pointer to the current page in the sequence. Although
+the wizard does its best to make sure that this value is never 0,
+it can be if you try hard enough.
+
+<h3 class=fn><a href="qpushbutton.html">QPushButton</a>&nbsp;* <a name="finishButton"></a>QWizard::finishButton () const
+</h3>
+Returns a pointer to the dialog's Finish button
+<p> By default, this button is connected to the <a href="qdialog.html#accept">QDialog::accept</a>()
+slot, which is virtual so you can reimplement it in a QWizard
+subclass. Use <a href="#setFinishEnabled">setFinishEnabled</a>() to enable/disable this button.
+
+<h3 class=fn>void <a name="help"></a>QWizard::help ()<tt> [virtual protected slot]</tt>
+</h3>
+Called when the user clicks the Help button, this function emits
+the <a href="#helpClicked">helpClicked</a>() signal.
+
+<h3 class=fn><a href="qpushbutton.html">QPushButton</a>&nbsp;* <a name="helpButton"></a>QWizard::helpButton () const
+</h3>
+Returns a pointer to the dialog's Help button
+<p> By default, this button is connected to the <a href="#help">help</a>() slot, which is
+virtual so you can reimplement it in a QWizard subclass. Use
+<a href="#setHelpEnabled">setHelpEnabled</a>() to enable/disable this button.
+
+<h3 class=fn>void <a name="helpClicked"></a>QWizard::helpClicked ()<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the user clicks on the Help button.
+
+<h3 class=fn>int <a name="indexOf"></a>QWizard::indexOf ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page ) const
+</h3>
+Returns the position of page <em>page</em>. If the page is not part of
+the wizard -1 is returned.
+
+<h3 class=fn>void <a name="insertPage"></a>QWizard::insertPage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title, int&nbsp;index )<tt> [virtual]</tt>
+</h3>
+Inserts <em>page</em> at position <em>index</em> into the page sequence, with
+title <em>title</em>. If <em>index</em> is -1, the page will be appended to
+the end of the wizard's page sequence.
+
+<h3 class=fn>void <a name="layOutButtonRow"></a>QWizard::layOutButtonRow ( <a href="qhboxlayout.html">QHBoxLayout</a>&nbsp;*&nbsp;layout )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is responsible for adding the buttons below
+the bottom divider.
+<p> <em>layout</em> is the horizontal layout of the entire wizard.
+
+<h3 class=fn>void <a name="layOutTitleRow"></a>QWizard::layOutTitleRow ( <a href="qhboxlayout.html">QHBoxLayout</a>&nbsp;*&nbsp;layout, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title )<tt> [virtual protected]</tt>
+</h3>
+This virtual function is responsible for laying out the title row.
+<p> <em>layout</em> is the horizontal layout for the wizard, and <em>title</em> is the title for this page. This function is called every
+time <em>title</em> changes.
+
+<h3 class=fn>void <a name="next"></a>QWizard::next ()<tt> [virtual protected slot]</tt>
+</h3>
+Called when the user clicks the Next button, this function shows
+the next relevant page in the sequence.
+<p> <p>See also <a href="#appropriate">appropriate</a>().
+
+<h3 class=fn><a href="qpushbutton.html">QPushButton</a>&nbsp;* <a name="nextButton"></a>QWizard::nextButton () const
+</h3>
+Returns a pointer to the dialog's Next button
+<p> By default, this button is connected to the <a href="#next">next</a>() slot, which is
+virtual so you can reimplement it in a QWizard subclass. Use
+<a href="#setNextEnabled">setNextEnabled</a>() to enable/disable this button.
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="page"></a>QWizard::page ( int&nbsp;index ) const
+</h3>
+Returns a pointer to the page at position <em>index</em> in the
+sequence, or 0 if <em>index</em> is out of range. The first page has
+index 0.
+
+<h3 class=fn>int <a name="pageCount"></a>QWizard::pageCount () const
+</h3>
+Returns the number of pages in the wizard.
+
+<h3 class=fn>void <a name="removePage"></a>QWizard::removePage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page )<tt> [virtual]</tt>
+</h3>
+Removes <em>page</em> from the page sequence but does not delete the
+page. If <em>page</em> is currently being displayed, QWizard will
+display the page that precedes it, or the first page if this was
+the first page.
+
+<h3 class=fn>void <a name="selected"></a>QWizard::selected ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the current page changes. The
+parameter contains the title of the selected page.
+
+<h3 class=fn>void <a name="setAppropriate"></a>QWizard::setAppropriate ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, bool&nbsp;appropriate )<tt> [virtual]</tt>
+</h3>
+If <em>appropriate</em> is TRUE then page <em>page</em> is considered relevant
+in the current context and should be displayed in the page
+sequence; otherwise <em>page</em> should not be displayed in the page
+sequence.
+<p> <p>See also <a href="#appropriate">appropriate</a>().
+
+<h3 class=fn>void <a name="setBackEnabled"></a>QWizard::setBackEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3>
+If <em>enable</em> is TRUE, page <em>page</em> has a Back button; otherwise <em>page</em> has no Back button. By default all pages have this button.
+
+<h3 class=fn>void <a name="setFinish"></a>QWizard::setFinish ( <a href="qwidget.html">QWidget</a>&nbsp;*, bool )<tt> [virtual slot]</tt>
+</h3>
+
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Use setFinishEnabled instead
+
+<h3 class=fn>void <a name="setFinishEnabled"></a>QWizard::setFinishEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3>
+If <em>enable</em> is TRUE, page <em>page</em> has a Finish button; otherwise
+<em>page</em> has no Finish button. By default <em>no</em> page has this
+button.
+
+<h3 class=fn>void <a name="setHelpEnabled"></a>QWizard::setHelpEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3>
+If <em>enable</em> is TRUE, page <em>page</em> has a Help button; otherwise <em>page</em> has no Help button. By default all pages have this button.
+
+<h3 class=fn>void <a name="setNextEnabled"></a>QWizard::setNextEnabled ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, bool&nbsp;enable )<tt> [virtual slot]</tt>
+</h3>
+If <em>enable</em> is TRUE, page <em>page</em> has a Next button; otherwise
+the Next button on <em>page</em> is disabled. By default all pages have
+this button.
+
+<h3 class=fn>void <a name="setTitle"></a>QWizard::setTitle ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;title )
+</h3>
+Sets the title for page <em>page</em> to <em>title</em>.
+
+<h3 class=fn>void <a name="setTitleFont"></a>QWizard::setTitleFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp; )
+</h3><p>Sets the font used for page titles.
+See the <a href="qwizard.html#titleFont-prop">"titleFont"</a> property for details.
+<h3 class=fn>void <a name="showPage"></a>QWizard::showPage ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page )<tt> [virtual]</tt>
+</h3>
+Makes <em>page</em> the current page and emits the <a href="#selected">selected</a>() signal.
+<p> This virtual function is called whenever a different page is to
+be shown, including the first time the QWizard is shown.
+By reimplementing it (and calling <a href="#showPage">QWizard::showPage</a>()),
+you can prepare each page prior to it being shown.
+
+<p>Examples: <a href="distributor-example.html#x2673">distributor/distributor.ui.h</a> and <a href="wizard-example.html#x15">wizard/wizard.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="title"></a>QWizard::title ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;page ) const
+</h3>
+Returns the title of page <em>page</em>.
+
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="titleFont"></a>QWizard::titleFont () const
+</h3><p>Returns the font used for page titles.
+See the <a href="qwizard.html#titleFont-prop">"titleFont"</a> property for details.
+<hr><h2>Property Documentation</h2>
+<h3 class=fn><a href="qfont.html">QFont</a> <a name="titleFont-prop"></a>titleFont</h3>
+<p>This property holds the font used for page titles.
+<p>The default is <a href="qapplication.html#font">QApplication::font</a>().
+
+<p>Set this property's value with <a href="#setTitleFont">setTitleFont</a>() and get this property's value with <a href="#titleFont">titleFont</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwizard.png b/doc/html/qwizard.png
new file mode 100644
index 0000000..2824bff
--- /dev/null
+++ b/doc/html/qwizard.png
Binary files differ
diff --git a/doc/html/qwmatrix-h.html b/doc/html/qwmatrix-h.html
new file mode 100644
index 0000000..1dcf613
--- /dev/null
+++ b/doc/html/qwmatrix-h.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwmatrix.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwmatrix.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwmatrix.h</h1>
+
+<p>This is the verbatim text of the qwmatrix.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwmatrix.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QWMatrix class
+**
+** Created : 941020
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWMATRIX_H
+#define QWMATRIX_H
+
+#ifndef QT_H
+#include "qwindowdefs.h"
+#include "qpointarray.h"
+#include "qrect.h"
+#include "qregion.h"
+#endif // QT_H
+
+#ifndef QT_NO_WMATRIX
+
+
+class Q_EXPORT QWMatrix // 2D transform matrix
+{
+public:
+ QWMatrix();
+ QWMatrix( double m11, double m12, double m21, double m22,
+ double dx, double dy );
+
+ void setMatrix( double m11, double m12, double m21, double m22,
+ double dx, double dy );
+
+ double m11() const { return _m11; }
+ double m12() const { return _m12; }
+ double m21() const { return _m21; }
+ double m22() const { return _m22; }
+ double dx() const { return _dx; }
+ double dy() const { return _dy; }
+
+ void map( int x, int y, int *tx, int *ty ) const;
+ void map( double x, double y, double *tx, double *ty ) const;
+ QRect mapRect( const QRect &amp; ) const;
+
+ QPoint map( const QPoint &amp;p ) const { return operator *( p ); }
+ QRect map( const QRect &amp;r ) const { return mapRect ( r ); }
+ QPointArray map( const QPointArray &amp;a ) const { return operator * ( a ); }
+ QRegion map( const QRegion &amp;r ) const { return operator *( r ); }
+ QRegion mapToRegion( const QRect &amp;r ) const { return operator *( r ); }
+ QPointArray mapToPolygon( const QRect &amp;r ) const;
+
+ void reset();
+ bool isIdentity() const;
+
+ QWMatrix &amp;translate( double dx, double dy );
+ QWMatrix &amp;scale( double sx, double sy );
+ QWMatrix &amp;shear( double sh, double sv );
+ QWMatrix &amp;rotate( double a );
+
+ bool isInvertible() const { return (_m11*_m22 - _m12*_m21) != 0; }
+ double det() const { return _m11*_m22 - _m12*_m21; }
+
+ QWMatrix invert( bool * = 0 ) const;
+
+ bool operator==( const QWMatrix &amp; ) const;
+ bool operator!=( const QWMatrix &amp; ) const;
+ QWMatrix &amp;operator*=( const QWMatrix &amp; );
+
+ /* we use matrix multiplication semantics here */
+ QPoint operator * (const QPoint &amp; ) const;
+ QRegion operator * (const QRect &amp; ) const;
+ QRegion operator * (const QRegion &amp; ) const;
+ QPointArray operator * ( const QPointArray &amp;a ) const;
+
+ enum TransformationMode {
+ Points, Areas
+ };
+ static void setTransformationMode( QWMatrix::TransformationMode m );
+ static TransformationMode transformationMode();
+private:
+ double _m11, _m12;
+ double _m21, _m22;
+ double _dx, _dy;
+};
+
+Q_EXPORT QWMatrix operator*( const QWMatrix &amp;, const QWMatrix &amp; );
+
+
+/*****************************************************************************
+ QWMatrix stream functions
+ *****************************************************************************/
+
+Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QWMatrix &amp; );
+Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QWMatrix &amp; );
+
+
+#endif // QT_NO_WMATRIX
+
+#endif // QWMATRIX_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwmatrix-members.html b/doc/html/qwmatrix-members.html
new file mode 100644
index 0000000..b179caa
--- /dev/null
+++ b/doc/html/qwmatrix-members.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwmatrix.h:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWMatrix Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWMatrix</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwmatrix.html">QWMatrix</a>, including inherited members.
+
+<ul>
+<li><a href="qwmatrix.html#QWMatrix">QWMatrix</a>()
+<li><a href="qwmatrix.html#det">det</a>()
+<li><a href="qwmatrix.html#dx">dx</a>()
+<li><a href="qwmatrix.html#dy">dy</a>()
+<li><a href="qwmatrix.html#invert">invert</a>()
+<li><a href="qwmatrix.html#isIdentity">isIdentity</a>()
+<li><a href="qwmatrix.html#isInvertible">isInvertible</a>()
+<li><a href="qwmatrix.html#m11">m11</a>()
+<li><a href="qwmatrix.html#m12">m12</a>()
+<li><a href="qwmatrix.html#m21">m21</a>()
+<li><a href="qwmatrix.html#m22">m22</a>()
+<li><a href="qwmatrix.html#map">map</a>()
+<li><a href="qwmatrix.html#mapRect">mapRect</a>()
+<li><a href="qwmatrix.html#mapToPolygon">mapToPolygon</a>()
+<li><a href="qwmatrix.html#mapToRegion">mapToRegion</a>()
+<li><a href="qwmatrix.html#operator!-eq">operator!=</a>()
+<li><a href="qwmatrix.html#operator*-eq">operator*=</a>()
+<li><a href="qwmatrix.html#operator-eq-eq">operator==</a>()
+<li><a href="qwmatrix.html#reset">reset</a>()
+<li><a href="qwmatrix.html#rotate">rotate</a>()
+<li><a href="qwmatrix.html#scale">scale</a>()
+<li><a href="qwmatrix.html#setMatrix">setMatrix</a>()
+<li><a href="qwmatrix.html#setTransformationMode">setTransformationMode</a>()
+<li><a href="qwmatrix.html#shear">shear</a>()
+<li><a href="qwmatrix.html#transformationMode">transformationMode</a>()
+<li><a href="qwmatrix.html#translate">translate</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwmatrix.html b/doc/html/qwmatrix.html
new file mode 100644
index 0000000..b634a15
--- /dev/null
+++ b/doc/html/qwmatrix.html
@@ -0,0 +1,449 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwmatrix.cpp:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWMatrix Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWMatrix Class Reference</h1>
+
+<p>The QWMatrix class specifies 2D transformations of a
+coordinate system.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwmatrix-h.html">qwmatrix.h</a>&gt;</tt>
+<p><a href="qwmatrix-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWMatrix"><b>QWMatrix</b></a> ()</li>
+<li class=fn><a href="#QWMatrix-2"><b>QWMatrix</b></a> ( double&nbsp;m11, double&nbsp;m12, double&nbsp;m21, double&nbsp;m22, double&nbsp;dx, double&nbsp;dy )</li>
+<li class=fn>void <a href="#setMatrix"><b>setMatrix</b></a> ( double&nbsp;m11, double&nbsp;m12, double&nbsp;m21, double&nbsp;m22, double&nbsp;dx, double&nbsp;dy )</li>
+<li class=fn>double <a href="#m11"><b>m11</b></a> () const</li>
+<li class=fn>double <a href="#m12"><b>m12</b></a> () const</li>
+<li class=fn>double <a href="#m21"><b>m21</b></a> () const</li>
+<li class=fn>double <a href="#m22"><b>m22</b></a> () const</li>
+<li class=fn>double <a href="#dx"><b>dx</b></a> () const</li>
+<li class=fn>double <a href="#dy"><b>dy</b></a> () const</li>
+<li class=fn>void <a href="#map"><b>map</b></a> ( int&nbsp;x, int&nbsp;y, int&nbsp;*&nbsp;tx, int&nbsp;*&nbsp;ty ) const</li>
+<li class=fn>void <a href="#map-2"><b>map</b></a> ( double&nbsp;x, double&nbsp;y, double&nbsp;*&nbsp;tx, double&nbsp;*&nbsp;ty ) const</li>
+<li class=fn>QRect <a href="#mapRect"><b>mapRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect ) const</li>
+<li class=fn>QPoint <a href="#map-3"><b>map</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;p ) const</li>
+<li class=fn>QRect map ( const&nbsp;QRect&nbsp;&amp;&nbsp;r ) const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QPointArray <a href="#map-5"><b>map</b></a> ( const&nbsp;QPointArray&nbsp;&amp;&nbsp;a ) const</li>
+<li class=fn>QRegion <a href="#map-6"><b>map</b></a> ( const&nbsp;QRegion&nbsp;&amp;&nbsp;r ) const</li>
+<li class=fn>QRegion <a href="#mapToRegion"><b>mapToRegion</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect ) const</li>
+<li class=fn>QPointArray <a href="#mapToPolygon"><b>mapToPolygon</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;rect ) const</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>bool <a href="#isIdentity"><b>isIdentity</b></a> () const</li>
+<li class=fn>QWMatrix &amp; <a href="#translate"><b>translate</b></a> ( double&nbsp;dx, double&nbsp;dy )</li>
+<li class=fn>QWMatrix &amp; <a href="#scale"><b>scale</b></a> ( double&nbsp;sx, double&nbsp;sy )</li>
+<li class=fn>QWMatrix &amp; <a href="#shear"><b>shear</b></a> ( double&nbsp;sh, double&nbsp;sv )</li>
+<li class=fn>QWMatrix &amp; <a href="#rotate"><b>rotate</b></a> ( double&nbsp;a )</li>
+<li class=fn>bool <a href="#isInvertible"><b>isInvertible</b></a> () const</li>
+<li class=fn>double <a href="#det"><b>det</b></a> () const</li>
+<li class=fn>QWMatrix <a href="#invert"><b>invert</b></a> ( bool&nbsp;*&nbsp;invertible = 0 ) const</li>
+<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;m ) const</li>
+<li class=fn>QWMatrix &amp; <a href="#operator*-eq"><b>operator*=</b></a> ( const&nbsp;QWMatrix&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>enum <a href="#TransformationMode-enum"><b>TransformationMode</b></a> { Points, Areas }</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#setTransformationMode"><b>setTransformationMode</b></a> ( QWMatrix::TransformationMode&nbsp;m )</li>
+<li class=fn>TransformationMode <a href="#transformationMode"><b>transformationMode</b></a> ()</li>
+</ul>
+<h2>Related Functions</h2>
+<ul>
+<li class=fn>QDataStream &amp; <a href="#operator-lt-lt"><b>operator&lt;&lt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, const&nbsp;QWMatrix&nbsp;&amp;&nbsp;m )</li>
+<li class=fn>QDataStream &amp; <a href="#operator-gt-gt"><b>operator&gt;&gt;</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QWMatrix&nbsp;&amp;&nbsp;m )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWMatrix class specifies 2D transformations of a
+coordinate system.
+<p>
+
+<p> The standard coordinate system of a <a href="qpaintdevice.html">paint
+ device</a> has the origin located at the top-left position. X
+values increase to the right; Y values increase downward.
+<p> This coordinate system is the default for the <a href="qpainter.html">QPainter</a>, which
+renders graphics in a paint device. A user-defined coordinate
+system can be specified by setting a QWMatrix for the painter.
+<p> Example:
+<pre>
+ MyWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p; // our painter
+ QWMatrix m; // our transformation matrix
+ m.<a href="#rotate">rotate</a>( 22.5 ); // rotated coordinate system
+ p.<a href="qpainter.html#begin">begin</a>( this ); // start painting
+ p.<a href="qpainter.html#setWorldMatrix">setWorldMatrix</a>( m ); // use rotated coordinate system
+ p.<a href="qpainter.html#drawText">drawText</a>( 30,20, "detator" ); // draw rotated text at 30,20
+ p.<a href="qpainter.html#end">end</a>(); // painting done
+ }
+ </pre>
+
+<p> A matrix specifies how to translate, scale, shear or rotate the
+graphics; the actual transformation is performed by the drawing
+routines in <a href="qpainter.html">QPainter</a> and by <a href="qpixmap.html#xForm">QPixmap::xForm</a>().
+<p> The QWMatrix class contains a 3x3 matrix of the form:
+<table align=center border=1 cellpadding=1 cellspacing=0>
+<tr align=center><td>m11</td><td>m12</td><td>&nbsp;0 </td></tr>
+<tr align=center><td>m21</td><td>m22</td><td>&nbsp;0 </td></tr>
+<tr align=center><td>dx</td> <td>dy</td> <td>&nbsp;1 </td></tr>
+</table>
+<p> A matrix transforms a point in the plane to another point:
+<pre>
+ x' = m11*x + m21*y + dx
+ y' = m22*y + m12*x + dy
+ </pre>
+
+<p> The point <em>(x, y)</em> is the original point, and <em>(x', y')</em> is the
+transformed point. <em>(x', y')</em> can be transformed back to <em>(x, y)</em> by performing the same operation on the <a href="#invert">inverted matrix</a>.
+<p> The elements <em>dx</em> and <em>dy</em> specify horizontal and vertical
+translation. The elements <em>m11</em> and <em>m22</em> specify horizontal and
+vertical scaling. The elements <em>m12</em> and <em>m21</em> specify
+horizontal and vertical shearing.
+<p> The identity matrix has <em>m11</em> and <em>m22</em> set to 1; all others are
+set to 0. This matrix maps a point to itself.
+<p> Translation is the simplest transformation. Setting <em>dx</em> and <em>dy</em> will move the coordinate system <em>dx</em> units along the X axis
+and <em>dy</em> units along the Y axis.
+<p> Scaling can be done by setting <em>m11</em> and <em>m22</em>. For example,
+setting <em>m11</em> to 2 and <em>m22</em> to 1.5 will double the height and
+increase the width by 50%.
+<p> Shearing is controlled by <em>m12</em> and <em>m21</em>. Setting these
+elements to values different from zero will twist the coordinate
+system.
+<p> Rotation is achieved by carefully setting both the shearing
+factors and the scaling factors. The QWMatrix also has a function
+that sets <a href="#rotate">rotation</a> directly.
+<p> QWMatrix lets you combine transformations like this:
+<pre>
+ QWMatrix m; // identity matrix
+ m.<a href="#translate">translate</a>(10, -20); // first translate (10,-20)
+ m.<a href="#rotate">rotate</a>(25); // then rotate 25 degrees
+ m.<a href="#scale">scale</a>(1.2, 0.7); // finally scale it
+ </pre>
+
+<p> Here's the same example using basic matrix operations:
+<pre>
+ double a = pi/180 * 25; // convert 25 to radians
+ double sina = sin(a);
+ double cosa = cos(a);
+ QWMatrix m1(1, 0, 0, 1, 10, -20); // translation matrix
+ QWMatrix m2( cosa, sina, // rotation matrix
+ -sina, cosa, 0, 0 );
+ QWMatrix m3(1.2, 0, 0, 0.7, 0, 0); // scaling matrix
+ QWMatrix m;
+ m = m3 * m2 * m1; // combine all transformations
+ </pre>
+
+<p> <a href="qpainter.html">QPainter</a> has functions to translate, scale, shear and rotate the
+coordinate system without using a QWMatrix. Although these
+functions are very convenient, it can be more efficient to build a
+QWMatrix and call <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>() if you want to perform
+more than a single transform operation.
+<p> <p>See also <a href="qpainter.html#setWorldMatrix">QPainter::setWorldMatrix</a>(), <a href="qpixmap.html#xForm">QPixmap::xForm</a>(), <a href="graphics.html">Graphics Classes</a>, and <a href="images.html">Image Processing Classes</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="TransformationMode-enum"></a>QWMatrix::TransformationMode</h3>
+
+<p> <!-- index transformation matrix -->
+<p> QWMatrix offers two transformation modes. Calculations can either
+be done in terms of points (Points mode, the default), or in
+terms of area (Area mode).
+<p> In Points mode the transformation is applied to the points that
+mark out the shape's bounding line. In Areas mode the
+transformation is applied in such a way that the area of the
+contained region is correctly transformed under the matrix.
+<ul>
+<li><tt>QWMatrix::Points</tt> - transformations are applied to the shape's points.
+<li><tt>QWMatrix::Areas</tt> - transformations are applied (e.g. to the width and
+height) so that the area is transformed.
+</ul><p> Example:
+<p> Suppose we have a rectangle,
+<tt>QRect( 10, 20, 30, 40 )</tt> and a transformation matrix
+<tt>QWMatrix( 2, 0, 0, 2, 0, 0 )</tt> to double the rectangle's size.
+<p> In Points mode, the matrix will transform the top-left (10,20) and
+the bottom-right (39,59) points producing a rectangle with its
+top-left point at (20,40) and its bottom-right point at (78,118),
+i.e. with a width of 59 and a height of 79.
+<p> In Areas mode, the matrix will transform the top-left point in
+the same way as in Points mode to (20/40), and double the width
+and height, so the bottom-right will become (69,99), i.e. a width
+of 60 and a height of 80.
+<p> Because integer arithmetic is used (for speed), rounding
+differences mean that the modes will produce slightly different
+results given the same shape and the same transformation,
+especially when scaling up. This also means that some operations
+are not commutative.
+<p> Under Points mode, <tt>matrix * ( region1 | region2 )</tt> is not equal to
+<tt>matrix * region1 | matrix * region2</tt>. Under Area mode, <tt>matrix * (pointarray[i])</tt> is not neccesarily equal to
+<tt>(matrix * pointarry)[i]</tt>.
+<p> <center><img src="xform.png" alt="Comparison of Points and Areas TransformationModes"></center>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWMatrix"></a>QWMatrix::QWMatrix ()
+</h3>
+Constructs an identity matrix. All elements are set to zero except
+<em>m11</em> and <em>m22</em> (scaling), which are set to 1.
+
+<h3 class=fn><a name="QWMatrix-2"></a>QWMatrix::QWMatrix ( double&nbsp;m11, double&nbsp;m12, double&nbsp;m21, double&nbsp;m22, double&nbsp;dx, double&nbsp;dy )
+</h3>
+Constructs a matrix with the elements, <em>m11</em>, <em>m12</em>, <em>m21</em>, <em>m22</em>, <em>dx</em> and <em>dy</em>.
+
+<h3 class=fn>double <a name="det"></a>QWMatrix::det () const
+</h3>
+
+<p> Returns the matrix's determinant.
+
+<h3 class=fn>double <a name="dx"></a>QWMatrix::dx () const
+</h3>
+
+<p> Returns the horizontal translation.
+
+<h3 class=fn>double <a name="dy"></a>QWMatrix::dy () const
+</h3>
+
+<p> Returns the vertical translation.
+
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a> <a name="invert"></a>QWMatrix::invert ( bool&nbsp;*&nbsp;invertible = 0 ) const
+</h3>
+Returns the inverted matrix.
+<p> If the matrix is singular (not invertible), the identity matrix is
+returned.
+<p> If <em>invertible</em> is not 0: the value of <em>*invertible</em> is set
+to TRUE if the matrix is invertible; otherwise <em>*invertible</em> is
+set to FALSE.
+<p> <p>See also <a href="#isInvertible">isInvertible</a>().
+
+<p>Example: <a href="tutorial1-14.html#x2433">t14/cannon.cpp</a>.
+<h3 class=fn>bool <a name="isIdentity"></a>QWMatrix::isIdentity () const
+</h3>
+Returns TRUE if the matrix is the identity matrix; otherwise returns FALSE.
+<p> <p>See also <a href="#reset">reset</a>().
+
+<h3 class=fn>bool <a name="isInvertible"></a>QWMatrix::isInvertible () const
+</h3>
+
+<p> Returns TRUE if the matrix is invertible; otherwise returns FALSE.
+<p> <p>See also <a href="#invert">invert</a>().
+
+<h3 class=fn>double <a name="m11"></a>QWMatrix::m11 () const
+</h3>
+
+<p> Returns the X scaling factor.
+
+<h3 class=fn>double <a name="m12"></a>QWMatrix::m12 () const
+</h3>
+
+<p> Returns the vertical shearing factor.
+
+<h3 class=fn>double <a name="m21"></a>QWMatrix::m21 () const
+</h3>
+
+<p> Returns the horizontal shearing factor.
+
+<h3 class=fn>double <a name="m22"></a>QWMatrix::m22 () const
+</h3>
+
+<p> Returns the Y scaling factor.
+
+<h3 class=fn>void <a name="map"></a>QWMatrix::map ( int&nbsp;x, int&nbsp;y, int&nbsp;*&nbsp;tx, int&nbsp;*&nbsp;ty ) const
+</h3>
+Transforms ( <em>x</em>, <em>y</em> ) to ( <em>*tx</em>, <em>*ty</em> ) using the formulae:
+<p> <pre>
+ *tx = m11*x + m21*y + dx (rounded to the nearest integer)
+ *ty = m22*y + m12*x + dy (rounded to the nearest integer)
+ </pre>
+
+
+<p>Examples: <a href="tutorial1-14.html#x2434">t14/cannon.cpp</a> and <a href="xform-example.html#x1278">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="map-2"></a>QWMatrix::map ( double&nbsp;x, double&nbsp;y, double&nbsp;*&nbsp;tx, double&nbsp;*&nbsp;ty ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms ( <em>x</em>, <em>y</em> ) to ( <em>*tx</em>, <em>*ty</em> ) using the
+following formulae:
+<p> <pre>
+ *tx = m11*x + m21*y + dx
+ *ty = m22*y + m12*x + dy
+ </pre>
+
+
+<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="map-3"></a>QWMatrix::map ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;p ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms <em>p</em> to using the formulae:
+<p> <pre>
+ retx = m11*px + m21*py + dx (rounded to the nearest integer)
+ rety = m22*py + m12*px + dy (rounded to the nearest integer)
+ </pre>
+
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="map-4"></a>QWMatrix::map ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Please use <a href="#mapRect">QWMatrix::mapRect</a>() instead.
+<p> Note that this method does return the bounding rectangle of the <em>r</em>, when
+shearing or rotations are used.
+
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="map-5"></a>QWMatrix::map ( const&nbsp;<a href="qpointarray.html">QPointArray</a>&nbsp;&amp;&nbsp;a ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns the point array <em>a</em> transformed by calling map for each point.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="map-6"></a>QWMatrix::map ( const&nbsp;<a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r ) const
+</h3>
+
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Transforms the region <em>r</em>.
+<p> Calling this method can be rather expensive, if rotations or
+shearing are used.
+
+<h3 class=fn><a href="qrect.html">QRect</a> <a name="mapRect"></a>QWMatrix::mapRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect ) const
+</h3>
+Returns the transformed rectangle <em>rect</em>.
+<p> The bounding rectangle is returned if rotation or shearing has
+been specified.
+<p> If you need to know the exact region <em>rect</em> maps to use <a href="qsize.html#operator*-4">operator*</a>().
+<p> <p>See also <a href="qsize.html#operator*-4">operator*</a>().
+
+<p>Example: <a href="xform-example.html#x1279">xform/xform.cpp</a>.
+<h3 class=fn><a href="qpointarray.html">QPointArray</a> <a name="mapToPolygon"></a>QWMatrix::mapToPolygon ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect ) const
+</h3>
+Returns the transformed rectangle <em>rect</em> as a polygon.
+<p> Polygons and rectangles behave slightly differently
+when transformed (due to integer rounding), so
+<tt>matrix.map( QPointArray( rect ) )</tt> is not always the same as
+<tt>matrix.mapToPolygon( rect )</tt>.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="mapToRegion"></a>QWMatrix::mapToRegion ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect ) const
+</h3>
+
+<p> Returns the transformed rectangle <em>rect</em>.
+<p> A rectangle which has been rotated or sheared may result in a
+non-rectangular region being returned.
+<p> Calling this method can be expensive, if rotations or shearing are
+used. If you just need to know the bounding rectangle of the
+returned region, use <a href="#mapRect">mapRect</a>() which is a lot faster than this
+function.
+<p> <p>See also <a href="#mapRect">QWMatrix::mapRect</a>().
+
+<h3 class=fn>bool <a name="operator!-eq"></a>QWMatrix::operator!= ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+Returns TRUE if this matrix is not equal to <em>m</em>; otherwise returns FALSE.
+
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="operator*-eq"></a>QWMatrix::operator*= ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m )
+</h3>
+Returns the result of multiplying this matrix by matrix <em>m</em>.
+
+<h3 class=fn>bool <a name="operator-eq-eq"></a>QWMatrix::operator== ( const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m ) const
+</h3>
+Returns TRUE if this matrix is equal to <em>m</em>; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="reset"></a>QWMatrix::reset ()
+</h3>
+Resets the matrix to an identity matrix.
+<p> All elements are set to zero, except <em>m11</em> and <em>m22</em> (scaling)
+which are set to 1.
+<p> <p>See also <a href="#isIdentity">isIdentity</a>().
+
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="rotate"></a>QWMatrix::rotate ( double&nbsp;a )
+</h3>
+Rotates the coordinate system <em>a</em> degrees counterclockwise.
+<p> Returns a reference to the matrix.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#scale">scale</a>(), and <a href="#shear">shear</a>().
+
+<p>Examples: <a href="canvas-example.html#x2955">canvas/canvas.cpp</a>, <a href="desktop-example.html#x1764">desktop/desktop.cpp</a>, <a href="drawdemo-example.html#x1095">drawdemo/drawdemo.cpp</a>, <a href="tutorial1-14.html#x2435">t14/cannon.cpp</a>, and <a href="xform-example.html#x1280">xform/xform.cpp</a>.
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="scale"></a>QWMatrix::scale ( double&nbsp;sx, double&nbsp;sy )
+</h3>
+Scales the coordinate system unit by <em>sx</em> horizontally and <em>sy</em>
+vertically.
+<p> Returns a reference to the matrix.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#shear">shear</a>(), and <a href="#rotate">rotate</a>().
+
+<p>Examples: <a href="canvas-example.html#x2956">canvas/canvas.cpp</a>, <a href="fileiconview-example.html#x876">fileiconview/qfileiconview.cpp</a>, <a href="movies-example.html#x524">movies/main.cpp</a>, <a href="qmag-example.html#x1809">qmag/qmag.cpp</a>, <a href="showimg-example.html#x1357">showimg/showimg.cpp</a>, and <a href="xform-example.html#x1281">xform/xform.cpp</a>.
+<h3 class=fn>void <a name="setMatrix"></a>QWMatrix::setMatrix ( double&nbsp;m11, double&nbsp;m12, double&nbsp;m21, double&nbsp;m22, double&nbsp;dx, double&nbsp;dy )
+</h3>
+Sets the matrix elements to the specified values, <em>m11</em>, <em>m12</em>,
+<em>m21</em>, <em>m22</em>, <em>dx</em> and <em>dy</em>.
+
+<h3 class=fn>void <a name="setTransformationMode"></a>QWMatrix::setTransformationMode ( <a href="qwmatrix.html#TransformationMode-enum">QWMatrix::TransformationMode</a>&nbsp;m )<tt> [static]</tt>
+</h3>
+Sets the transformation mode that QWMatrix and painter
+transformations use to <em>m</em>.
+<p> <p>See also <a href="#TransformationMode-enum">QWMatrix::TransformationMode</a>.
+
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="shear"></a>QWMatrix::shear ( double&nbsp;sh, double&nbsp;sv )
+</h3>
+Shears the coordinate system by <em>sh</em> horizontally and <em>sv</em>
+vertically.
+<p> Returns a reference to the matrix.
+<p> <p>See also <a href="#translate">translate</a>(), <a href="#scale">scale</a>(), and <a href="#rotate">rotate</a>().
+
+<p>Examples: <a href="drawdemo-example.html#x1096">drawdemo/drawdemo.cpp</a> and <a href="xform-example.html#x1282">xform/xform.cpp</a>.
+<h3 class=fn><a href="qwmatrix.html#TransformationMode-enum">TransformationMode</a> <a name="transformationMode"></a>QWMatrix::transformationMode ()<tt> [static]</tt>
+</h3>
+Returns the current transformation mode.
+<p> <p>See also <a href="#TransformationMode-enum">QWMatrix::TransformationMode</a>.
+
+<h3 class=fn><a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp; <a name="translate"></a>QWMatrix::translate ( double&nbsp;dx, double&nbsp;dy )
+</h3>
+Moves the coordinate system <em>dx</em> along the X-axis and <em>dy</em> along
+the Y-axis.
+<p> Returns a reference to the matrix.
+<p> <p>See also <a href="#scale">scale</a>(), <a href="#shear">shear</a>(), and <a href="#rotate">rotate</a>().
+
+<p>Examples: <a href="canvas-example.html#x2957">canvas/canvas.cpp</a>, <a href="drawdemo-example.html#x1097">drawdemo/drawdemo.cpp</a>, <a href="tutorial1-14.html#x2436">t14/cannon.cpp</a>, and <a href="xform-example.html#x1283">xform/xform.cpp</a>.
+<hr><h2>Related Functions</h2>
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-lt-lt"></a>operator&lt;&lt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, const&nbsp;<a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> Writes the matrix <em>m</em> to the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="operator-gt-gt"></a>operator&gt;&gt; ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qwmatrix.html">QWMatrix</a>&nbsp;&amp;&nbsp;m )
+</h3>
+
+<p> Reads the matrix <em>m</em> from the stream <em>s</em> and returns a reference
+to the stream.
+<p> <p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qworkspace-h.html b/doc/html/qworkspace-h.html
new file mode 100644
index 0000000..c895cfa
--- /dev/null
+++ b/doc/html/qworkspace-h.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qworkspace.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qworkspace.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qworkspace.h</h1>
+
+<p>This is the verbatim text of the qworkspace.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qworkspace.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the QWorkspace class
+**
+** Created : 990210
+**
+** Copyright (C) 1999-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the workspace module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWORKSPACE_H
+#define QWORKSPACE_H
+
+#ifndef QT_H
+#include "qwidget.h"
+#include "qwidgetlist.h"
+#endif // QT_H
+
+#ifndef QT_NO_WORKSPACE
+
+#if !defined( QT_MODULE_WORKSPACE ) || defined( QT_INTERNAL_WORKSPACE )
+#define QM_EXPORT_WORKSPACE
+#else
+#define QM_EXPORT_WORKSPACE Q_EXPORT
+#endif
+
+class QWorkspaceChild;
+class QShowEvent;
+class QWorkspacePrivate;
+class QPopupMenu;
+class QDockWindow;
+
+class QM_EXPORT_WORKSPACE QWorkspace : public QWidget
+{
+ Q_OBJECT
+ Q_PROPERTY( bool scrollBarsEnabled READ scrollBarsEnabled WRITE setScrollBarsEnabled )
+
+#ifdef QT_WORKSPACE_WINDOWMODE
+public:
+#endif
+ enum WindowMode { TopLevel, MDI, AutoDetect };
+ WindowMode windowMode() const;
+#ifdef QT_WORKSPACE_WINDOWMODE
+private:
+#endif
+
+public:
+#ifdef QT_WORKSPACE_WINDOWMODE
+ QWorkspace( WindowMode mode, QWidget* parent=0, const char* name=0 );
+#endif
+ QWorkspace( QWidget* parent=0, const char* name=0 );
+
+ ~QWorkspace();
+
+ enum WindowOrder { CreationOrder, StackingOrder };
+
+ QWidget* activeWindow() const;
+ QWidgetList windowList() const; // ### merge with below in 4.0
+ QWidgetList windowList( WindowOrder order ) const;
+
+ QSize sizeHint() const;
+
+ bool scrollBarsEnabled() const;
+ void setScrollBarsEnabled( bool enable );
+
+ void setPaletteBackgroundColor( const QColor &amp; );
+ void setPaletteBackgroundPixmap( const QPixmap &amp; );
+
+signals:
+ void windowActivated( QWidget* w);
+
+public slots:
+ void cascade();
+ void tile();
+ void closeActiveWindow();
+ void closeAllWindows();
+ void activateNextWindow();
+ void activatePrevWindow();
+
+protected:
+#ifndef QT_NO_STYLE
+ void styleChange( QStyle&amp; );
+#endif
+ void childEvent( QChildEvent * );
+ void resizeEvent( QResizeEvent * );
+ bool eventFilter( QObject *, QEvent * );
+ void showEvent( QShowEvent *e );
+ void hideEvent( QHideEvent *e );
+#ifndef QT_NO_WHEELEVENT
+ void wheelEvent( QWheelEvent *e );
+#endif
+
+private slots:
+ void normalizeActiveWindow();
+ void minimizeActiveWindow();
+ void showOperationMenu();
+ void popupOperationMenu( const QPoint&amp; );
+ void operationMenuActivated( int );
+ void operationMenuAboutToShow();
+ void toolMenuAboutToShow();
+ void activatePreviousWindow(); // ### remove in Qt 4.0
+ void dockWindowsShow();
+ void scrollBarChanged();
+
+private:
+ void init();
+ void handleUndock( QDockWindow* w);
+ void insertIcon( QWidget* w);
+ void removeIcon( QWidget* w);
+ void place( QWidget* );
+
+ QWorkspaceChild* findChild( QWidget* w);
+ void showMaximizeControls();
+ void hideMaximizeControls();
+ void activateWindow( QWidget* w, bool change_focus = TRUE );
+ void showWindow( QWidget* w);
+ void maximizeWindow( QWidget* w);
+ void minimizeWindow( QWidget* w);
+ void normalizeWindow( QWidget* w);
+
+ QRect updateWorkspace();
+
+ QPopupMenu* popup;
+ QWorkspacePrivate* d;
+
+ friend class QWorkspacePrivate;
+ friend class QWorkspaceChild;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QWorkspace( const QWorkspace &amp; );
+ QWorkspace&amp; operator=( const QWorkspace &amp; );
+#endif
+};
+
+
+#endif // QT_NO_WORKSPACE
+
+#endif // QWORKSPACE_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qworkspace-members.html b/doc/html/qworkspace-members.html
new file mode 100644
index 0000000..c583e0a
--- /dev/null
+++ b/doc/html/qworkspace-members.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qworkspace.h:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWorkspace Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWorkspace</h1>
+
+<p>This is the complete list of member functions for
+<a href="qworkspace.html">QWorkspace</a>, including inherited members.
+
+<ul>
+<li><a href="qworkspace.html#QWorkspace">QWorkspace</a>()
+<li><a href="qworkspace.html#~QWorkspace">~QWorkspace</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qworkspace.html#activateNextWindow">activateNextWindow</a>()
+<li><a href="qworkspace.html#activatePrevWindow">activatePrevWindow</a>()
+<li><a href="qworkspace.html#activeWindow">activeWindow</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qworkspace.html#cascade">cascade</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qworkspace.html#closeActiveWindow">closeActiveWindow</a>()
+<li><a href="qworkspace.html#closeAllWindows">closeAllWindows</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qworkspace.html#scrollBarsEnabled">scrollBarsEnabled</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qworkspace.html#setScrollBarsEnabled">setScrollBarsEnabled</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qworkspace.html#tile">tile</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qworkspace.html#windowActivated">windowActivated</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qworkspace.html#windowList">windowList</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qworkspace.html b/doc/html/qworkspace.html
new file mode 100644
index 0000000..973ac3a
--- /dev/null
+++ b/doc/html/qworkspace.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/workspace/qworkspace.cpp:74 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWorkspace Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWorkspace Class Reference<br><small>[<a href="workspace.html">workspace module</a>]</small></h1>
+
+<p>The QWorkspace widget provides a workspace window that can
+contain decorated windows, e.g. for MDI.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qworkspace-h.html">qworkspace.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qworkspace-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWorkspace"><b>QWorkspace</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QWorkspace"><b>~QWorkspace</b></a> ()</li>
+<li class=fn>enum <a href="#WindowOrder-enum"><b>WindowOrder</b></a> { CreationOrder, StackingOrder }</li>
+<li class=fn>QWidget * <a href="#activeWindow"><b>activeWindow</b></a> () const</li>
+<li class=fn>QWidgetList windowList () const &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QWidgetList <a href="#windowList"><b>windowList</b></a> ( WindowOrder&nbsp;order ) const</li>
+<li class=fn>bool <a href="#scrollBarsEnabled"><b>scrollBarsEnabled</b></a> () const</li>
+<li class=fn>void <a href="#setScrollBarsEnabled"><b>setScrollBarsEnabled</b></a> ( bool&nbsp;enable )</li>
+</ul>
+<h2>Public Slots</h2>
+<ul>
+<li class=fn>void <a href="#cascade"><b>cascade</b></a> ()</li>
+<li class=fn>void <a href="#tile"><b>tile</b></a> ()</li>
+<li class=fn>void <a href="#closeActiveWindow"><b>closeActiveWindow</b></a> ()</li>
+<li class=fn>void <a href="#closeAllWindows"><b>closeAllWindows</b></a> ()</li>
+<li class=fn>void <a href="#activateNextWindow"><b>activateNextWindow</b></a> ()</li>
+<li class=fn>void <a href="#activatePrevWindow"><b>activatePrevWindow</b></a> ()</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#windowActivated"><b>windowActivated</b></a> ( QWidget&nbsp;*&nbsp;w )</li>
+</ul>
+<h2>Properties</h2>
+<ul>
+<li class=fn>bool <a href="#scrollBarsEnabled-prop"><b>scrollBarsEnabled</b></a>&nbsp;- whether the workspace provides scrollbars</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWorkspace widget provides a workspace window that can
+contain decorated windows, e.g. for MDI.
+<p>
+<p>
+
+
+<p> MDI (multiple document interface) applications typically have one
+main window with a menu bar and toolbar, and a central widget that
+is a QWorkspace. The workspace itself contains zero, one or more
+document windows, each of which is a widget.
+<p> The workspace itself is an ordinary Qt widget. It has a standard
+constructor that takes a parent widget and an object name. The
+parent window is usually a <a href="qmainwindow.html">QMainWindow</a>, but it need not be.
+<p> Document windows (i.e. MDI windows) are also ordinary Qt widgets
+which have the workspace as their parent widget. When you call
+<a href="qwidget.html#show">show</a>(), <a href="qwidget.html#hide">hide</a>(), <a href="qwidget.html#showMaximized">showMaximized</a>(), <a href="qwidget.html#setCaption">setCaption</a>(), etc. on a document
+window, it is shown, hidden, etc. with a frame, caption, icon and
+icon text, just as you'd expect. You can provide widget flags
+which will be used for the layout of the decoration or the
+behaviour of the widget itself.
+<p> To change or retrieve the geometry of MDI windows you must operate
+on the MDI widget's <a href="qwidget.html#parentWidget">parentWidget</a>(). (The parentWidget() provides
+access to the decorated window in which the MDI window's widget is
+shown.)
+<p> A document window becomes active when it gets the <a href="focus.html#keyboard-focus">keyboard focus</a>.
+You can also activate a window in code using <a href="qwidget.html#setFocus">setFocus</a>(). The user
+can activate a window by moving focus in the usual ways, for
+example by clicking a window or by pressing Tab. The workspace
+emits a signal <a href="#windowActivated">windowActivated</a>() when it detects the activation
+change, and the function <a href="#activeWindow">activeWindow</a>() always returns a pointer
+to the active document window.
+<p> The convenience function <a href="#windowList">windowList</a>() returns a list of all
+document windows. This is useful to create a popup menu
+"<u>W</u>indows" on the fly, for example.
+<p> QWorkspace provides two built-in layout strategies for child
+windows: <a href="#cascade">cascade</a>() and <a href="#tile">tile</a>(). Both are slots so you can easily
+connect menu entries to them.
+<p> If you want your users to be able to work with document windows
+larger than the actual workspace, set the scrollBarsEnabled
+property to TRUE.
+<p> If the top-level window contains a menu bar and a document window
+is maximised, QWorkspace moves the document window's minimize,
+restore and close buttons from the document window's frame to the
+workspace window's menu bar. It then inserts a window operations
+menu at the far left of the menu bar.
+<p>See also <a href="application.html">Main Window and Related Classes</a> and <a href="organizers.html">Organizers</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="WindowOrder-enum"></a>QWorkspace::WindowOrder</h3>
+
+<p> Specifies the order in which windows are returned from <a href="#windowList">windowList</a>().
+<ul>
+<li><tt>QWorkspace::CreationOrder</tt> - The windows are returned in the order of their creation
+<li><tt>QWorkspace::StackingOrder</tt> - The windows are returned in the order of their stacking
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWorkspace"></a>QWorkspace::QWorkspace ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Constructs a workspace with a <em>parent</em> and a <em>name</em>.
+
+<h3 class=fn><a name="~QWorkspace"></a>QWorkspace::~QWorkspace ()
+</h3> Destroys the workspace and frees any allocated resources.
+<h3 class=fn>void <a name="activateNextWindow"></a>QWorkspace::activateNextWindow ()<tt> [slot]</tt>
+</h3>
+Activates the next window in the child window chain.
+<p> <p>See also <a href="#activatePrevWindow">activatePrevWindow</a>().
+
+<h3 class=fn>void <a name="activatePrevWindow"></a>QWorkspace::activatePrevWindow ()<tt> [slot]</tt>
+</h3>
+Activates the previous window in the child window chain.
+<p> <p>See also <a href="#activateNextWindow">activateNextWindow</a>().
+
+<h3 class=fn><a href="qwidget.html">QWidget</a>&nbsp;* <a name="activeWindow"></a>QWorkspace::activeWindow () const
+</h3>
+Returns the active window, or 0 if no window is active.
+
+<p>Example: <a href="mdi-example.html#x2090">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="cascade"></a>QWorkspace::cascade ()<tt> [slot]</tt>
+</h3>
+Arranges all the child windows in a cascade pattern.
+<p> <p>See also <a href="#tile">tile</a>().
+
+<p>Example: <a href="mdi-example.html#x2091">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="closeActiveWindow"></a>QWorkspace::closeActiveWindow ()<tt> [slot]</tt>
+</h3>
+Closes the child window that is currently active.
+<p> <p>See also <a href="#closeAllWindows">closeAllWindows</a>().
+
+<h3 class=fn>void <a name="closeAllWindows"></a>QWorkspace::closeAllWindows ()<tt> [slot]</tt>
+</h3>
+Closes all child windows.
+<p> The windows are closed in random order. The operation stops if a
+window does not accept the close event.
+<p> <p>See also <a href="#closeActiveWindow">closeActiveWindow</a>().
+
+<h3 class=fn>bool <a name="scrollBarsEnabled"></a>QWorkspace::scrollBarsEnabled () const
+</h3><p>Returns TRUE if the workspace provides scrollbars; otherwise returns FALSE.
+See the <a href="qworkspace.html#scrollBarsEnabled-prop">"scrollBarsEnabled"</a> property for details.
+<h3 class=fn>void <a name="setScrollBarsEnabled"></a>QWorkspace::setScrollBarsEnabled ( bool&nbsp;enable )
+</h3><p>Sets whether the workspace provides scrollbars to <em>enable</em>.
+See the <a href="qworkspace.html#scrollBarsEnabled-prop">"scrollBarsEnabled"</a> property for details.
+<h3 class=fn>void <a name="tile"></a>QWorkspace::tile ()<tt> [slot]</tt>
+</h3>
+Arranges all child windows in a tile pattern.
+<p> <p>See also <a href="#cascade">cascade</a>().
+
+<p>Example: <a href="mdi-example.html#x2093">mdi/application.cpp</a>.
+<h3 class=fn>void <a name="windowActivated"></a>QWorkspace::windowActivated ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;w )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the window widget <em>w</em> becomes active.
+Note that <em>w</em> can be null, and that more than one signal may be
+emitted for a single activation event.
+<p> <p>See also <a href="#activeWindow">activeWindow</a>() and <a href="#windowList">windowList</a>().
+
+<h3 class=fn>QWidgetList <a name="windowList"></a>QWorkspace::windowList ( <a href="qworkspace.html#WindowOrder-enum">WindowOrder</a>&nbsp;order ) const
+</h3>
+Returns a list of all windows. If <em>order</em> is CreationOrder
+(the default) the windows are listed in the order in which they
+had been inserted into the workspace. If <em>order</em> is StackingOrder
+the windows are listed in their stacking order, with the topmost window
+being the last window in the list.
+<p> QWidgetList is the same as <a href="qptrlist.html">QPtrList</a><QWidget>.
+<p> <p>See also <a href="qptrlist.html">QPtrList</a>.
+
+<p>Example: <a href="mdi-example.html#x2094">mdi/application.cpp</a>.
+<h3 class=fn>QWidgetList <a name="windowList-2"></a>QWorkspace::windowList () const
+</h3>
+<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p>
+<hr><h2>Property Documentation</h2>
+<h3 class=fn>bool <a name="scrollBarsEnabled-prop"></a>scrollBarsEnabled</h3>
+<p>This property holds whether the workspace provides scrollbars.
+<p>If this property is set to TRUE, it is possible to resize child
+windows over the right or the bottom edge out of the visible area
+of the workspace. The workspace shows scrollbars to make it
+possible for the user to access those windows. If this property is
+set to FALSE (the default), resizing windows out of the visible
+area of the workspace is not permitted.
+
+<p>Set this property's value with <a href="#setScrollBarsEnabled">setScrollBarsEnabled</a>() and get this property's value with <a href="#scrollBarsEnabled">scrollBarsEnabled</a>().
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qws.html b/doc/html/qws.html
new file mode 100644
index 0000000..b1ffb47
--- /dev/null
+++ b/doc/html/qws.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:791 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt/Embedded</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt/Embedded</h1>
+
+
+<p> These classes are relevant to Qt/Embedded users.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qfontmanager.html">QFontManager</a></b><td>Implements font management in Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qscreen.html">QScreen</a></b><td>And its descendants manage the framebuffer and palette
+<tr bgcolor=#f0f0f0><td><b><a href="qwsdecoration.html">QWSDecoration</a></b><td>Allows the appearance of the Qt/Embedded Window Manager to be customized
+<tr bgcolor=#f0f0f0><td><b><a href="qwsinputmethod.html">QWSInputMethod</a></b><td>International input methods for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a></b><td>Implements the keyboard driver for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwsmousehandler.html">QWSMouseHandler</a></b><td>Mouse driver for Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwsserver.html">QWSServer</a></b><td>Server-specific functionality in Qt/Embedded
+<tr bgcolor=#f0f0f0><td><b><a href="qwsserver::keyboardfilter.html">QWSServer::KeyboardFilter</a></b><td>Global keyboard event filter
+<tr bgcolor=#f0f0f0><td><b><a href="qwswindow.html">QWSWindow</a></b><td>Server-specific functionality in Qt/Embedded
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsdecoration-members.html b/doc/html/qwsdecoration-members.html
new file mode 100644
index 0000000..078b939
--- /dev/null
+++ b/doc/html/qwsdecoration-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwsdecoration_qws.h:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSDecoration Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSDecoration</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwsdecoration.html">QWSDecoration</a>, including inherited members.
+
+<ul>
+<li><a href="qwsdecoration.html#QWSDecoration">QWSDecoration</a>()
+<li><a href="qwsdecoration.html#~QWSDecoration">~QWSDecoration</a>()
+<li><a href="qwsdecoration.html#close">close</a>()
+<li><a href="qwsdecoration.html#maximize">maximize</a>()
+<li><a href="qwsdecoration.html#menu">menu</a>()
+<li><a href="qwsdecoration.html#minimize">minimize</a>()
+<li><a href="qwsdecoration.html#paint">paint</a>()
+<li><a href="qwsdecoration.html#paintButton">paintButton</a>()
+<li><a href="qwsdecoration.html#region">region</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsdecoration.html b/doc/html/qwsdecoration.html
new file mode 100644
index 0000000..21a5583
--- /dev/null
+++ b/doc/html/qwsdecoration.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwsdecoration_qws.cpp:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSDecoration Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSDecoration Class Reference</h1>
+
+<p>The QWSDecoration class allows the appearance of the Qt/Embedded Window
+Manager to be customized.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwsdecoration_qws-h.html">qwsdecoration_qws.h</a>&gt;</tt>
+<p><a href="qwsdecoration-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSDecoration"><b>QWSDecoration</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWSDecoration"><b>~QWSDecoration</b></a> ()</li>
+<li class=fn>enum <a href="#Region-enum"><b>Region</b></a> { None = 0, All = 1, Title = 2, Top = 3, Bottom = 4, Left = 5, Right = 6, TopLeft = 7, TopRight = 8, BottomLeft = 9, BottomRight = 10, Close = 11, Minimize = 12, Maximize = 13, Normalize = 14, Menu = 15, LastRegion = Menu }</li>
+<li class=fn>virtual QRegion <a href="#region"><b>region</b></a> ( const&nbsp;QWidget&nbsp;*&nbsp;widget, const&nbsp;QRect&nbsp;&amp;&nbsp;rect, Region&nbsp;type = All ) = 0</li>
+<li class=fn>virtual void <a href="#close"><b>close</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual void <a href="#minimize"><b>minimize</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual void <a href="#maximize"><b>maximize</b></a> ( QWidget&nbsp;*&nbsp;widget )</li>
+<li class=fn>virtual QPopupMenu * <a href="#menu"><b>menu</b></a> ( const QWidget *, const QPoint &amp; )</li>
+<li class=fn>virtual void <a href="#paint"><b>paint</b></a> ( QPainter&nbsp;*&nbsp;painter, const&nbsp;QWidget&nbsp;*&nbsp;widget ) = 0</li>
+<li class=fn>virtual void <a href="#paintButton"><b>paintButton</b></a> ( QPainter&nbsp;*&nbsp;painter, const&nbsp;QWidget&nbsp;*&nbsp;widget, Region&nbsp;type, int&nbsp;state ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSDecoration class allows the appearance of the Qt/Embedded Window
+Manager to be customized.
+<p>
+<p> Qt/Embedded provides window management to top level windows. The
+appearance of the borders and buttons (the decoration) around the
+managed windows can be customized by creating your own class
+derived from QWSDecoration and overriding a few methods.
+<p> This class is non-portable. It is available <em>only</em> in Qt/Embedded.
+<p> <p>See also <a href="qapplication.html#qwsSetDecoration">QApplication::qwsSetDecoration</a>() and <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="Region-enum"></a>QWSDecoration::Region</h3>
+
+<p> This enum describes the regions in the window decorations.
+<ul>
+<li><tt>QWSDecoration::None</tt> - used internally.
+<li><tt>QWSDecoration::All</tt> - the entire region used by the window decoration.
+<li><tt>QWSDecoration::Title</tt> - Displays the window title and allows the window to be
+moved by dragging.
+<li><tt>QWSDecoration::Top</tt> - allows the top of the window to be resized.
+<li><tt>QWSDecoration::Bottom</tt> - allows the bottom of the window to be resized.
+<li><tt>QWSDecoration::Left</tt> - allows the left edge of the window to be resized.
+<li><tt>QWSDecoration::Right</tt> - allows the right edge of the window to be resized.
+<li><tt>QWSDecoration::TopLeft</tt> - allows the top-left of the window to be resized.
+<li><tt>QWSDecoration::TopRight</tt> - allows the top-right of the window to be resized.
+<li><tt>QWSDecoration::BottomLeft</tt> - allows the bottom-left of the window to be resized.
+<li><tt>QWSDecoration::BottomRight</tt> - allows the bottom-right of the window to be resized.
+<li><tt>QWSDecoration::Close</tt> - clicking in this region closes the window.
+<li><tt>QWSDecoration::Minimize</tt> - clicking in this region minimizes the window.
+<li><tt>QWSDecoration::Maximize</tt> - clicking in this region maximizes the window.
+<li><tt>QWSDecoration::Normalize</tt> - returns a maximized window to its previous size.
+<li><tt>QWSDecoration::Menu</tt> - clicking in this region opens the window operations
+(system) menu.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSDecoration"></a>QWSDecoration::QWSDecoration ()
+</h3>
+
+<p> Constructs a decorator.
+
+<h3 class=fn><a name="~QWSDecoration"></a>QWSDecoration::~QWSDecoration ()<tt> [virtual]</tt>
+</h3>
+
+<p> Destroys a decorator.
+
+<h3 class=fn>void <a name="close"></a>QWSDecoration::close ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual]</tt>
+</h3>
+Called when the user clicks in the <a href="#Region-enum">Close</a> region.
+<p> <em>widget</em> is the widget to be closed.
+<p> The default behaviour is to close the widget.
+
+<h3 class=fn>void <a name="maximize"></a>QWSDecoration::maximize ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual]</tt>
+</h3>
+Called when the user clicks in the <a href="#Region-enum">Maximize</a> region.
+<p> <em>widget</em> is the widget to be maximized.
+<p> The default behaviour is to resize the widget to be full-screen.
+This method can be overridden e.g. to allow room for launch
+panels.
+
+<h3 class=fn><a href="qpopupmenu.html">QPopupMenu</a>&nbsp;* <a name="menu"></a>QWSDecoration::menu ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*, const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3>
+Called to create a <a href="qpopupmenu.html">QPopupMenu</a> containing the valid menu operations.
+<p> The default implementation adds all possible window operations.
+
+<h3 class=fn>void <a name="minimize"></a>QWSDecoration::minimize ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [virtual]</tt>
+</h3>
+Called when the user clicks in the <a href="#Region-enum">Minimize</a> region.
+<p> <em>widget</em> is the widget to be minimized.
+<p> The default behaviour is to ignore this action.
+
+<h3 class=fn>void <a name="paint"></a>QWSDecoration::paint ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Override to paint the border and title decoration around <em>widget</em>
+using <em>painter</em>.
+
+<h3 class=fn>void <a name="paintButton"></a>QWSDecoration::paintButton ( <a href="qpainter.html">QPainter</a>&nbsp;*&nbsp;painter, const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, <a href="qwsdecoration.html#Region-enum">Region</a>&nbsp;type, int&nbsp;state )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Override to paint a button of type <em>type</em> using <em>painter</em>.
+<p> <em>widget</em> is the widget whose button is to be drawn.
+<em>state</em> is the state of the button. It can be a combination of the
+following OR-ed together:
+<ul>
+<li> <tt>QWSButton::MouseOver</tt>
+<li> <tt>QWSButton::Clicked</tt>
+<li> <tt>QWSButton::On</tt>
+</ul>
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="region"></a>QWSDecoration::region ( const&nbsp;<a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;widget, const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;rect, <a href="qwsdecoration.html#Region-enum">Region</a>&nbsp;type = All )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the requested region <em>type</em> which will contain <em>widget</em>
+with geometry <em>rect</em>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsdecoration_qws-h.html b/doc/html/qwsdecoration_qws-h.html
new file mode 100644
index 0000000..f946b51
--- /dev/null
+++ b/doc/html/qwsdecoration_qws-h.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwsdecoration_qws.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qwsdecoration_qws.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwsdecoration_qws.h</h1>
+
+<p>This is the verbatim text of the qwsdecoration_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qwsdecoration_qws.h 3.3.8 edited Jan 11 14:38 $
+**
+** Definition of QWSDecoration class.
+**
+** Created : 20000308
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with
+** the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QWSDECORATION_QWS_H
+#define QWSDECORATION_QWS_H
+
+#ifndef QT_H
+#include "qregion.h"
+#endif // QT_H
+
+class QPopupMenu;
+
+/*
+ Implements decoration styles
+*/
+class QWSDecoration
+{
+public:
+ QWSDecoration() {}
+ virtual ~QWSDecoration() {}
+
+ enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6,
+ TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10,
+ Close=11, Minimize=12, Maximize=13, Normalize=14,
+ Menu=15, LastRegion=Menu };
+
+ virtual QRegion region(const QWidget *, const QRect &amp;rect, Region r=All) = 0;
+ virtual void close( QWidget * );
+ virtual void minimize( QWidget * );
+ virtual void maximize( QWidget * );
+#ifndef QT_NO_POPUPMENU
+ virtual QPopupMenu *menu(const QWidget *, const QPoint &amp;);
+#endif
+ virtual void paint(QPainter *, const QWidget *) = 0;
+ virtual void paintButton(QPainter *, const QWidget *, Region, int state) = 0;
+};
+
+#endif // QWSDECORATION_QWS_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsinputmethod-members.html b/doc/html/qwsinputmethod-members.html
new file mode 100644
index 0000000..4757b02
--- /dev/null
+++ b/doc/html/qwsinputmethod-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsystem_qws.h:490 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSInputMethod Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSInputMethod</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwsinputmethod.html">QWSInputMethod</a>, including inherited members.
+
+<ul>
+<li><a href="qwsinputmethod.html#QWSInputMethod">QWSInputMethod</a>()
+<li><a href="qwsinputmethod.html#~QWSInputMethod">~QWSInputMethod</a>()
+<li><a href="qwsinputmethod.html#filter">filter</a>()
+<li><a href="qwsinputmethod.html#reset">reset</a>()
+<li><a href="qwsinputmethod.html#sendIMEvent">sendIMEvent</a>()
+<li><a href="qwsinputmethod.html#setFont">setFont</a>()
+<li><a href="qwsinputmethod.html#setMicroFocus">setMicroFocus</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsinputmethod.html b/doc/html/qwsinputmethod.html
new file mode 100644
index 0000000..e8668c9
--- /dev/null
+++ b/doc/html/qwsinputmethod.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwindowsystem_qws.cpp:3127 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSInputMethod Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSInputMethod Class Reference</h1>
+
+<p>The QWSInputMethod class provides international input methods
+for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>&gt;</tt>
+<p><a href="qwsinputmethod-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSInputMethod"><b>QWSInputMethod</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWSInputMethod"><b>~QWSInputMethod</b></a> ()</li>
+<li class=fn>virtual bool <a href="#filter"><b>filter</b></a> ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat ) = 0</li>
+<li class=fn>virtual void <a href="#reset"><b>reset</b></a> ()</li>
+<li class=fn>virtual void <a href="#setMicroFocus"><b>setMicroFocus</b></a> ( int&nbsp;x, int&nbsp;y )</li>
+<li class=fn>virtual void <a href="#setFont"><b>setFont</b></a> ( const QFont &amp; )</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>void <a href="#sendIMEvent"><b>sendIMEvent</b></a> ( QWSServer::IMState&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;selLen = 0 )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSInputMethod class provides international input methods
+for Qt/Embedded.
+<p>
+<p> Subclass this class to implement your own input method.
+<p> An input methods consists of a keyboard filter and optionally a
+graphical interface. The keyboard filter intercepts key events
+from physical or virtual keyboards by implementing the <a href="#filter">filter</a>()
+function.
+<p> Use <a href="#sendIMEvent">sendIMEvent</a>() to send composition events. Composition starts
+with the input method sending an <tt>IMStart</tt> event, followed by a
+number of <tt>IMCompose</tt> events and ending with an <tt>IMEnd</tt> event or
+when the virtual <a href="#reset">reset</a>() function is called.
+<p> The functions <a href="#setMicroFocus">setMicroFocus</a>() and <a href="#setFont">setFont</a>() can be reimplemented
+to receive more information about the state of the focus widget.
+<p> Use QWSServer::setCurrentInputMethod() to install an input method.
+<p> <p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSInputMethod"></a>QWSInputMethod::QWSInputMethod ()
+</h3>
+Constructs a new input method
+
+<h3 class=fn><a name="~QWSInputMethod"></a>QWSInputMethod::~QWSInputMethod ()<tt> [virtual]</tt>
+</h3>
+Destructs the input method uninstalling it if it is currently installed.
+
+<h3 class=fn>bool <a name="filter"></a>QWSInputMethod::filter ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat )<tt> [pure virtual]</tt>
+</h3>
+
+<p> This function must be implemented in subclasses to handle key
+input from physical or virtual keyboards. Returning TRUE will
+block the event from further processing.
+<p> The Unicode value is given in <em>unicode</em> and the key code in <em>keycode</em>. Keyboard modifiers are OR-ed together in <em>modifiers</em>.
+If <em>isPress</em> is TRUE this is a key press; otherwise it is a key
+release. If <em>autoRepeat</em> is TRUE this is an auto-repeated key
+press.
+<p> All normal key events should be blocked while in compose mode
+(i.e., between <tt>IMStart</tt> and <tt>IMEnd</tt>).
+<p>
+<h3 class=fn>void <a name="reset"></a>QWSInputMethod::reset ()<tt> [virtual]</tt>
+</h3>
+Implemented in subclasses to reset the state of the input method.
+
+<h3 class=fn>void <a name="sendIMEvent"></a>QWSInputMethod::sendIMEvent ( QWSServer::IMState&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;selLen = 0 )<tt> [protected]</tt>
+</h3>
+
+<p> Causes a <a href="qimevent.html">QIMEvent</a> to be sent to the focus widget. <em>state</em> may be
+one of <a href="qwsserver.html#IMState-enum">QWSServer::IMStart</a>, <a href="qwsserver.html#IMState-enum">QWSServer::IMCompose</a> or <a href="qwsserver.html#IMState-enum">QWSServer::IMEnd</a>.
+<p> <em>txt</em> is the text being composed (or the finished text if state
+is <tt>IMEnd</tt>). <em>cpos</em> is the current cursor position.
+<p> If state is <tt>IMCompose</tt>, <em>selLen</em> is the number of characters in
+the composition string (starting at <em>cpos</em>) that should be
+marked as selected by the input widget receiving the event.
+
+<h3 class=fn>void <a name="setFont"></a>QWSInputMethod::setFont ( const&nbsp;<a href="qfont.html">QFont</a>&nbsp;&amp; )<tt> [virtual]</tt>
+</h3>
+Implemented in subclasses to handle font changes in the focus
+widget.
+<p> This functionality is provided for future expansion; it is not
+used in this version of Qt/Embedded.
+
+<h3 class=fn>void <a name="setMicroFocus"></a>QWSInputMethod::setMicroFocus ( int&nbsp;x, int&nbsp;y )<tt> [virtual]</tt>
+</h3>
+
+<p> Implemented in subclasses to handle microFocusHint changes in the
+focus widget. <em>x</em> and <em>y</em> are the global coordinates of the
+text cursor.
+<p>
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwskeyboardhandler-members.html b/doc/html/qwskeyboardhandler-members.html
new file mode 100644
index 0000000..d2e6fd7
--- /dev/null
+++ b/doc/html/qwskeyboardhandler-members.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qkeyboard_qws.h:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSKeyboardHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSKeyboardHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qwskeyboardhandler.html#QWSKeyboardHandler">QWSKeyboardHandler</a>()
+<li><a href="qwskeyboardhandler.html#~QWSKeyboardHandler">~QWSKeyboardHandler</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qobject.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwskeyboardhandler.html#processKeyEvent">processKeyEvent</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwskeyboardhandler.html b/doc/html/qwskeyboardhandler.html
new file mode 100644
index 0000000..f9679b6
--- /dev/null
+++ b/doc/html/qwskeyboardhandler.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qkbd_qws.cpp:82 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSKeyboardHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSKeyboardHandler Class Reference</h1>
+
+<p>The QWSKeyboardHandler class implements the keyboard driver
+for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qkeyboard_qws-h.html">qkeyboard_qws.h</a>&gt;</tt>
+<p>Inherits <a href="qobject.html">QObject</a>.
+<p><a href="qwskeyboardhandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSKeyboardHandler"><b>QWSKeyboardHandler</b></a> ()</li>
+<li class=fn>virtual <a href="#~QWSKeyboardHandler"><b>~QWSKeyboardHandler</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#processKeyEvent"><b>processKeyEvent</b></a> ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSKeyboardHandler class implements the keyboard driver
+for Qt/Embedded.
+<p>
+<p> The keyboard driver handles events from system devices and
+generates key events.
+<p> A QWSKeyboardHandler will usually open some system device in its
+constructor, create a <a href="qsocketnotifier.html">QSocketNotifier</a> on that opened device and
+when it receives data, it will call <a href="#processKeyEvent">processKeyEvent</a>() to send the
+event to Qt/Embedded for relaying to clients.
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSKeyboardHandler"></a>QWSKeyboardHandler::QWSKeyboardHandler ()
+</h3>
+Constructs a keyboard handler. The handler <em>may</em> be passed to the
+system for later destruction with <a href="qwsserver.html#setKeyboardHandler">QWSServer::setKeyboardHandler</a>(),
+although even without doing this, the handler can function,
+calling <a href="#processKeyEvent">processKeyEvent</a>() to emit events.
+
+<h3 class=fn><a name="~QWSKeyboardHandler"></a>QWSKeyboardHandler::~QWSKeyboardHandler ()<tt> [virtual]</tt>
+</h3>
+Destroys a keyboard handler. Note that if you have called
+<a href="qwsserver.html#setKeyboardHandler">QWSServer::setKeyboardHandler</a>(), you must not delete the handler.
+
+<h3 class=fn>void <a name="processKeyEvent"></a>QWSKeyboardHandler::processKeyEvent ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat )<tt> [virtual protected]</tt>
+</h3>
+Subclasses call this function to send a key event. The server may
+additionally filter the event before sending it on to
+applications.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Parameter <th valign="top">Meaning
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>unicode</em>
+<td valign="top">The Unicode value for the key, or 0xFFFF is none is appropriate.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>keycode</em>
+<td valign="top">The Qt keycode for the key (see <a href="qt.html#Key-enum">Qt::Key</a> for the list of codes).
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>modifiers</em>
+<td valign="top">The set of modifier keys (see <a href="qt.html#Modifier-enum">Qt::Modifier</a>).
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>isPress</em>
+<td valign="top">Whether this is a press or a release.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>autoRepeat</em>
+<td valign="top">Whether this event was generated by an auto-repeat
+mechanism, or an actual key press.
+</table></center>
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsmousehandler-members.html b/doc/html/qwsmousehandler-members.html
new file mode 100644
index 0000000..3d765b9
--- /dev/null
+++ b/doc/html/qwsmousehandler-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qmouse_qws.h:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSMouseHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSMouseHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwsmousehandler.html">QWSMouseHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qwsmousehandler.html#QWSMouseHandler">QWSMouseHandler</a>()
+<li><a href="qwsmousehandler.html#~QWSMouseHandler">~QWSMouseHandler</a>()
+<li><a href="qwsmousehandler.html#calibrate">calibrate</a>()
+<li><a href="qwsmousehandler.html#clearCalibration">clearCalibration</a>()
+<li><a href="qwsmousehandler.html#limitToScreen">limitToScreen</a>()
+<li><a href="qwsmousehandler.html#mouseChanged">mouseChanged</a>()
+<li><a href="qwsmousehandler.html#pos">pos</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsmousehandler.html b/doc/html/qwsmousehandler.html
new file mode 100644
index 0000000..19d7374
--- /dev/null
+++ b/doc/html/qwsmousehandler.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/embedded/qmouse_qws.cpp:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSMouseHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSMouseHandler Class Reference</h1>
+
+<p>The QWSMouseHandler class is a mouse driver for Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qmouse_qws-h.html">qmouse_qws.h</a>&gt;</tt>
+<p><a href="qwsmousehandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSMouseHandler"><b>QWSMouseHandler</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;driver = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;device = QString::null )</li>
+<li class=fn>virtual <a href="#~QWSMouseHandler"><b>~QWSMouseHandler</b></a> ()</li>
+<li class=fn>virtual void <a href="#clearCalibration"><b>clearCalibration</b></a> ()</li>
+<li class=fn>virtual void <a href="#calibrate"><b>calibrate</b></a> ( QWSPointerCalibrationData * )</li>
+<li class=fn>void <a href="#limitToScreen"><b>limitToScreen</b></a> ( QPoint&nbsp;&amp;&nbsp;pt )</li>
+<li class=fn>void <a href="#mouseChanged"><b>mouseChanged</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, int&nbsp;bstate )</li>
+<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSMouseHandler class is a mouse driver for Qt/Embedded.
+<p>
+<p> The mouse driver handles events from system devices and generates
+mouse events.
+<p> A QWSMouseHandler will usually open some system device in its
+constructor, create a <a href="qsocketnotifier.html">QSocketNotifier</a> on that opened device and
+when it receives data, it will call <a href="#mouseChanged">mouseChanged</a>() to send the
+event to Qt/Embedded for relaying to clients.
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSMouseHandler"></a>QWSMouseHandler::QWSMouseHandler ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;driver = QString::null, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;device = QString::null )
+</h3>
+Constructs a mouse handler. This becomes the primary mouse
+handler.
+<p> Note that once created, mouse handlers are controlled by the
+system and should not be deleted.
+<p> The <em>driver</em> and <em>device</em> arguments are not used by this base
+class.
+
+<h3 class=fn><a name="~QWSMouseHandler"></a>QWSMouseHandler::~QWSMouseHandler ()<tt> [virtual]</tt>
+</h3>
+Destroys the mouse handler. You should not call this directly.
+
+<h3 class=fn>void <a name="calibrate"></a>QWSMouseHandler::calibrate ( QWSPointerCalibrationData * )<tt> [virtual]</tt>
+</h3>
+
+<p> This method is reimplemented in the calibrated mouse handler to
+set calibration information (from, for instance, the Qtopia
+calibration screen). This version does nothing.
+
+<h3 class=fn>void <a name="clearCalibration"></a>QWSMouseHandler::clearCalibration ()<tt> [virtual]</tt>
+</h3>
+
+<p> This method is reimplemented in the calibrated mouse handler to
+clear calibration information. This version does nothing.
+
+<h3 class=fn>void <a name="limitToScreen"></a>QWSMouseHandler::limitToScreen ( <a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pt )
+</h3>
+Ensures that the given point, <em>pt</em> is within the screen's
+boundaries, changing <em>pt</em> if necessary.
+
+<h3 class=fn>void <a name="mouseChanged"></a>QWSMouseHandler::mouseChanged ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, int&nbsp;bstate )
+</h3>
+When a mouse event occurs this function is called with the mouse's
+position in <em>pos</em>, and the state of its buttons in <em>bstate</em>.
+
+<h3 class=fn>const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QWSMouseHandler::pos () const
+</h3>
+
+<p> Returns the mouse position.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsserver-members.html b/doc/html/qwsserver-members.html
new file mode 100644
index 0000000..fbdad6b
--- /dev/null
+++ b/doc/html/qwsserver-members.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsystem_qws.h:173 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSServer Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSServer</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwsserver.html">QWSServer</a>, including inherited members.
+
+<ul>
+<li><a href="qwsserver.html#QWSServer">QWSServer</a>()
+<li><a href="qwsserver.html#~QWSServer">~QWSServer</a>()
+<li><a href="qwsserver.html#clientWindows">clientWindows</a>()
+<li><a href="qwsserver.html#closeKeyboard">closeKeyboard</a>()
+<li><a href="qwsserver.html#closeMouse">closeMouse</a>()
+<li><a href="qwsserver.html#enablePainting">enablePainting</a>()
+<li><a href="qwsserver.html#isCursorVisible">isCursorVisible</a>()
+<li><a href="qwsserver.html#keyMap">keyMap</a>()
+<li><a href="qwsserver.html#keyboardHandler">keyboardHandler</a>()
+<li><a href="qwsserver.html#manager">manager</a>()
+<li><a href="qwsserver.html#mouseHandler">mouseHandler</a>()
+<li><a href="qwsserver.html#newChannel">newChannel</a>()
+<li><a href="qwsserver.html#openKeyboard">openKeyboard</a>()
+<li><a href="qwsserver.html#openMouse">openMouse</a>()
+<li><a href="qwsserver.html#refresh">refresh</a>()
+<li><a href="qwsserver.html#removedChannel">removedChannel</a>()
+<li><a href="qwsserver.html#screenSaverActivate">screenSaverActivate</a>()
+<li><a href="qwsserver.html#screenSaverActive">screenSaverActive</a>()
+<li><a href="qwsserver.html#sendIMEvent">sendIMEvent</a>()
+<li><a href="qwsserver.html#sendKeyEvent">sendKeyEvent</a>()
+<li><a href="qwsserver.html#setCursorVisible">setCursorVisible</a>()
+<li><a href="qwsserver.html#setDefaultKeyboard">setDefaultKeyboard</a>()
+<li><a href="qwsserver.html#setDefaultMouse">setDefaultMouse</a>()
+<li><a href="qwsserver.html#setDesktopBackground">setDesktopBackground</a>()
+<li><a href="qwsserver.html#setKeyboardFilter">setKeyboardFilter</a>()
+<li><a href="qwsserver.html#setKeyboardHandler">setKeyboardHandler</a>()
+<li><a href="qwsserver.html#setMaxWindowRect">setMaxWindowRect</a>()
+<li><a href="qwsserver.html#setScreenSaverInterval">setScreenSaverInterval</a>()
+<li><a href="qwsserver.html#setScreenSaverIntervals">setScreenSaverIntervals</a>()
+<li><a href="qwsserver.html#windowAt">windowAt</a>()
+<li><a href="qwsserver.html#windowEvent">windowEvent</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwsserver.html b/doc/html/qwsserver.html
new file mode 100644
index 0000000..f8ad9fa
--- /dev/null
+++ b/doc/html/qwsserver.html
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwindowsystem_qws.cpp:856 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSServer Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSServer Class Reference</h1>
+
+<p>The QWSServer class provides server-specific functionality in Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>&gt;</tt>
+<p><a href="qwsserver-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSServer"><b>QWSServer</b></a> ( int&nbsp;flags = 0, QObject&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )</li>
+<li class=fn><a href="#~QWSServer"><b>~QWSServer</b></a> ()</li>
+<li class=fn>enum <a href="#ServerFlags-enum"><b>ServerFlags</b></a> { DisableKeyboard = 0x01, DisableMouse = 0x02 }</li>
+<li class=fn>enum <a href="#GUIMode-enum"><b>GUIMode</b></a> { NoGui = FALSE, NormalGUI = TRUE, Server }</li>
+<li class=fn>void <a href="#sendIMEvent"><b>sendIMEvent</b></a> ( IMState&nbsp;state, const&nbsp;QString&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;selLen )</li>
+<li class=fn>class <b>KeyMap</b> { }</li>
+<li class=fn>class <b>KeyOverride</b> { }</li>
+<li class=fn>class <a href="#KeyboardFilter"><b>KeyboardFilter</b></a> { }</li>
+<li class=fn>QWSWindow * <a href="#windowAt"><b>windowAt</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos )</li>
+<li class=fn>const QPtrList&lt;QWSWindow&gt; &amp; <a href="#clientWindows"><b>clientWindows</b></a> ()</li>
+<li class=fn>void <a href="#openMouse"><b>openMouse</b></a> ()</li>
+<li class=fn>void <a href="#closeMouse"><b>closeMouse</b></a> ()</li>
+<li class=fn>void <a href="#openKeyboard"><b>openKeyboard</b></a> ()</li>
+<li class=fn>void <a href="#closeKeyboard"><b>closeKeyboard</b></a> ()</li>
+<li class=fn>void <a href="#refresh"><b>refresh</b></a> ()</li>
+<li class=fn>void <a href="#refresh-2"><b>refresh</b></a> ( QRegion&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#enablePainting"><b>enablePainting</b></a> ( bool&nbsp;e )</li>
+<li class=fn>QWSPropertyManager * <a href="#manager"><b>manager</b></a> ()</li>
+<li class=fn>enum <a href="#WindowEvent-enum"><b>WindowEvent</b></a> { Create = 0x0001, Destroy = 0x0002, Hide = 0x0004, Show = 0x0008, Raise = 0x0010, Lower = 0x0020, Geometry = 0x0040, Active = 0x0080, Name = 0x0100 }</li>
+</ul>
+<h2>Signals</h2>
+<ul>
+<li class=fn>void <a href="#windowEvent"><b>windowEvent</b></a> ( QWSWindow&nbsp;*&nbsp;w, QWSServer::WindowEvent&nbsp;e )</li>
+<li class=fn>void <a href="#newChannel"><b>newChannel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;channel )</li>
+<li class=fn>void <a href="#removedChannel"><b>removedChannel</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;channel )</li>
+</ul>
+<h2>Static Public Members</h2>
+<ul>
+<li class=fn>void <a href="#sendKeyEvent"><b>sendKeyEvent</b></a> ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat )</li>
+<li class=fn>const KeyMap * <a href="#keyMap"><b>keyMap</b></a> ()</li>
+<li class=fn>void <b>setOverrideKeys</b> ( const KeyOverride * )</li>
+<li class=fn>void <a href="#setKeyboardFilter"><b>setKeyboardFilter</b></a> ( KeyboardFilter&nbsp;*&nbsp;f )</li>
+<li class=fn>void <a href="#setDefaultMouse"><b>setDefaultMouse</b></a> ( const&nbsp;char&nbsp;*&nbsp;m )</li>
+<li class=fn>void <a href="#setDefaultKeyboard"><b>setDefaultKeyboard</b></a> ( const&nbsp;char&nbsp;*&nbsp;k )</li>
+<li class=fn>void <a href="#setMaxWindowRect"><b>setMaxWindowRect</b></a> ( const&nbsp;QRect&nbsp;&amp;&nbsp;r )</li>
+<li class=fn>void <a href="#setDesktopBackground"><b>setDesktopBackground</b></a> ( const&nbsp;QImage&nbsp;&amp;&nbsp;img )</li>
+<li class=fn>void <a href="#setDesktopBackground-2"><b>setDesktopBackground</b></a> ( const&nbsp;QColor&nbsp;&amp;&nbsp;c )</li>
+<li class=fn>QWSMouseHandler * <a href="#mouseHandler"><b>mouseHandler</b></a> ()</li>
+<li class=fn>QWSKeyboardHandler * <a href="#keyboardHandler"><b>keyboardHandler</b></a> ()</li>
+<li class=fn>void <a href="#setKeyboardHandler"><b>setKeyboardHandler</b></a> ( QWSKeyboardHandler&nbsp;*&nbsp;kh )</li>
+<li class=fn>void <a href="#setScreenSaverIntervals"><b>setScreenSaverIntervals</b></a> ( int&nbsp;*&nbsp;ms )</li>
+<li class=fn>void <a href="#setScreenSaverInterval"><b>setScreenSaverInterval</b></a> ( int&nbsp;ms )</li>
+<li class=fn>bool <a href="#screenSaverActive"><b>screenSaverActive</b></a> ()</li>
+<li class=fn>void <a href="#screenSaverActivate"><b>screenSaverActivate</b></a> ( bool&nbsp;activate )</li>
+<li class=fn>void <a href="#setCursorVisible"><b>setCursorVisible</b></a> ( bool&nbsp;vis )</li>
+<li class=fn>bool <a href="#isCursorVisible"><b>isCursorVisible</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSServer class provides server-specific functionality in Qt/Embedded.
+<p>
+<p> When you run a Qt/Embedded application, it either runs as a server
+or connects to an existing server. If it runs as a server, some
+additional operations are provided by this class.
+<p> This class is instantiated by <a href="qapplication.html">QApplication</a> for Qt/Embedded server
+processes. You should never construct this class yourself.
+<p> A pointer to the QWSServer instance can be obtained via the global
+<tt>qwsServer</tt> variable.
+<p> The mouse and keyboard devices can be opened with <a href="#openMouse">openMouse</a>() and
+<a href="#openKeyboard">openKeyboard</a>(). (Close them with <a href="#closeMouse">closeMouse</a>() and
+<a href="#closeKeyboard">closeKeyboard</a>().)
+<p> The display is refreshed with <a href="#refresh">refresh</a>(), and painting can be
+enabled or disabled with <a href="#enablePainting">enablePainting</a>().
+<p> Obtain the list of client windows with <a href="#clientWindows">clientWindows</a>() and find
+out which window is at a particular point with <a href="#windowAt">windowAt</a>().
+<p> Many static functions are provided, for example,
+<a href="#setKeyboardFilter">setKeyboardFilter</a>(), <a href="#setKeyboardHandler">setKeyboardHandler</a>(), <a href="#setDefaultKeyboard">setDefaultKeyboard</a>()
+and <a href="#setDefaultMouse">setDefaultMouse</a>().
+<p> The size of the window rectangle can be set with
+<a href="#setMaxWindowRect">setMaxWindowRect</a>(), and the desktop's background can be set with
+<a href="#setDesktopBackground">setDesktopBackground</a>().
+<p> The screen saver is controlled with <a href="#setScreenSaverInterval">setScreenSaverInterval</a>() and
+<a href="#screenSaverActivate">screenSaverActivate</a>().
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Type Documentation</h2>
+<h3 class=fn><a name="GUIMode-enum"></a>QWSServer::GUIMode</h3>
+
+<p> This determines what sort of QWS server to create:
+<ul>
+<li><tt>QWSServer::NoGui</tt> - This is used for non-graphical Qt applications.
+<li><tt>QWSServer::NormalGUI</tt> - A normal Qt/Embedded application (not the server).
+<li><tt>QWSServer::Server</tt> - A Qt/Embedded server (e.g. if <tt>-qws</tt> has been specified
+on the command line.
+</ul>
+<h3 class=fn><a name="ServerFlags-enum"></a>QWSServer::ServerFlags</h3>
+
+<p> This enum is used to pass various options to the window system
+server.
+<ul>
+<li><tt>QWSServer::DisableKeyboard</tt> - Ignore all keyboard input.
+<li><tt>QWSServer::DisableMouse</tt> - Ignore all mouse input.
+</ul>
+<h3 class=fn><a name="WindowEvent-enum"></a>QWSServer::WindowEvent</h3>
+
+<p> This specifies what sort of event has occurred to a top-level window:
+<ul>
+<li><tt>QWSServer::Create</tt> - A new window has been created (<a href="qwidget.html">QWidget</a> constructor).
+<li><tt>QWSServer::Destroy</tt> - The window has been closed and deleted (QWidget destructor).
+<li><tt>QWSServer::Hide</tt> - The window has been hidden with <a href="qwidget.html#hide">QWidget::hide</a>().
+<li><tt>QWSServer::Show</tt> - The window has been shown with <a href="qwidget.html#show">QWidget::show</a>() or similar.
+<li><tt>QWSServer::Raise</tt> - The window has been raised to the top of the desktop.
+<li><tt>QWSServer::Lower</tt> - The window has been lowered.
+<li><tt>QWSServer::Geometry</tt> - The window has changed size or position.
+<li><tt>QWSServer::Active</tt> - The window has become the active window (has <a href="focus.html#keyboard-focus">keyboard focus</a>).
+<li><tt>QWSServer::Name</tt> - The window has been named.
+</ul>
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSServer"></a>QWSServer::QWSServer ( int&nbsp;flags = 0, <a href="qobject.html">QObject</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
+</h3>
+Construct a QWSServer object.
+<p> <b>Warning:</b> This class is instantiated by <a href="qapplication.html">QApplication</a> for
+Qt/Embedded server processes. You should never construct this
+class yourself.
+<p> The <em>flags</em> are used for keyboard and mouse setting. The server's
+parent is <em>parent</em> and it is called <em>name</em>.
+
+<h3 class=fn><a name="~QWSServer"></a>QWSServer::~QWSServer ()
+</h3>
+Destruct QWSServer
+
+<h3 class=fn>const&nbsp;<a href="qptrlist.html">QPtrList</a>&lt;QWSWindow&gt;&nbsp;&amp; <a name="clientWindows"></a>QWSServer::clientWindows ()
+</h3>
+
+<p> Returns the list of top-level windows. This list will change as
+applications add and remove wigdets so it should not be stored for
+future use. The windows are sorted in stacking order from
+top-most to bottom-most.
+
+<h3 class=fn>void <a name="closeKeyboard"></a>QWSServer::closeKeyboard ()
+</h3>
+Closes keyboard device(s).
+
+<h3 class=fn>void <a name="closeMouse"></a>QWSServer::closeMouse ()
+</h3>
+Closes the pointer device(s).
+
+<h3 class=fn>void <a name="enablePainting"></a>QWSServer::enablePainting ( bool&nbsp;e )
+</h3>
+If <em>e</em> is TRUE, painting on the display is enabled; if <em>e</em> is
+FALSE, painting is disabled.
+
+<h3 class=fn>bool <a name="isCursorVisible"></a>QWSServer::isCursorVisible ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the cursor is visible; otherwise returns FALSE.
+<p> <p>See also <a href="#setCursorVisible">setCursorVisible</a>().
+
+<h3 class=fn>const KeyMap * <a name="keyMap"></a>QWSServer::keyMap ()<tt> [static]</tt>
+</h3>
+
+<p> Returns the keyboard mapping table used to convert keyboard
+scancodes to Qt keycodes and Unicode values. It's used by the
+keyboard driver in <tt>qkeyboard_qws.cpp</tt>.
+
+<h3 class=fn><a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>&nbsp;* <a name="keyboardHandler"></a>QWSServer::keyboardHandler ()<tt> [static]</tt>
+</h3>
+Returns the primary keyboard handler.
+
+<h3 class=fn>QWSPropertyManager * <a name="manager"></a>QWSServer::manager ()
+</h3>
+
+<p> Returns the QWSPropertyManager, which is used for implementing
+X11-style window properties.
+
+<h3 class=fn><a href="qwsmousehandler.html">QWSMouseHandler</a>&nbsp;* <a name="mouseHandler"></a>QWSServer::mouseHandler ()<tt> [static]</tt>
+</h3>
+Returns the primary mouse handler.
+
+<h3 class=fn>void <a name="newChannel"></a>QWSServer::newChannel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;channel )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted when the <a href="qcopchannel.html">QCopChannel</a> <em>channel</em> is created.
+
+<h3 class=fn>void <a name="openKeyboard"></a>QWSServer::openKeyboard ()
+</h3>
+Opens the keyboard device(s).
+
+<h3 class=fn>void <a name="openMouse"></a>QWSServer::openMouse ()
+</h3>
+Opens the mouse device(s).
+
+<h3 class=fn>void <a name="refresh"></a>QWSServer::refresh ()
+</h3>
+Refreshes the entire display.
+
+<h3 class=fn>void <a name="refresh-2"></a>QWSServer::refresh ( <a href="qregion.html">QRegion</a>&nbsp;&amp;&nbsp;r )
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Refreshes the region <em>r</em>.
+
+<h3 class=fn>void <a name="removedChannel"></a>QWSServer::removedChannel ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;channel )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted immediately after the <a href="qcopchannel.html">QCopChannel</a> <em>channel</em> is destroyed. Note that a channel is not destroyed until
+all its listeners have unregistered.
+
+<h3 class=fn>void <a name="screenSaverActivate"></a>QWSServer::screenSaverActivate ( bool&nbsp;activate )<tt> [static]</tt>
+</h3>
+If <em>activate</em> is TRUE the screensaver is activated immediately;
+if <em>activate</em> is FALSE the screensaver is deactivated.
+
+<h3 class=fn>bool <a name="screenSaverActive"></a>QWSServer::screenSaverActive ()<tt> [static]</tt>
+</h3>
+Returns TRUE if the screensaver is active (i.e. the screen is
+blanked); otherwise returns FALSE.
+
+<h3 class=fn>void <a name="sendIMEvent"></a>QWSServer::sendIMEvent ( IMState&nbsp;state, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;txt, int&nbsp;cpos, int&nbsp;selLen )
+</h3>
+This function sends an input method event to the server. The
+current state is passed in <em>state</em> and the current text in <em>txt</em>. The cursor's position in the text is given by <em>cpos</em>, and
+the selection length (which could be 0) is given in <em>selLen</em>.
+
+<h3 class=fn>void <a name="sendKeyEvent"></a>QWSServer::sendKeyEvent ( int&nbsp;unicode, int&nbsp;keycode, int&nbsp;modifiers, bool&nbsp;isPress, bool&nbsp;autoRepeat )<tt> [static]</tt>
+</h3>
+Send a key event. You can use this to send key events generated by
+"virtual keyboards". <em>unicode</em> is the Unicode value of the key to
+send, <em>keycode</em> the Qt keycode (e.g. <tt>Key_Left</tt>), <em>modifiers</em>
+indicates whether, Shift/Alt/Ctrl keys are pressed, <em>isPress</em> is
+TRUE if this is a key down event and FALSE if it's a key up event,
+and <em>autoRepeat</em> is TRUE if this is an autorepeat event (i.e. the
+user has held the key down and this is the second or subsequent
+key event being sent).
+
+<h3 class=fn>void <a name="setCursorVisible"></a>QWSServer::setCursorVisible ( bool&nbsp;vis )<tt> [static]</tt>
+</h3>
+If <em>vis</em> is TRUE, makes the cursor visible; if <em>vis</em> is FALSE,
+makes the cursor invisible.
+<p> <p>See also <a href="#isCursorVisible">isCursorVisible</a>().
+
+<h3 class=fn>void <a name="setDefaultKeyboard"></a>QWSServer::setDefaultKeyboard ( const&nbsp;char&nbsp;*&nbsp;k )<tt> [static]</tt>
+</h3>
+Set the keyboard driver to <em>k</em>, e.g. if <tt>$QWS_KEYBOARD</tt> is not
+defined. The default is platform-dependent.
+
+<h3 class=fn>void <a name="setDefaultMouse"></a>QWSServer::setDefaultMouse ( const&nbsp;char&nbsp;*&nbsp;m )<tt> [static]</tt>
+</h3>
+Set the mouse driver <em>m</em> to use if <tt>$QWS_MOUSE_PROTO</tt> is not
+defined. The default is platform-dependent.
+
+<h3 class=fn>void <a name="setDesktopBackground"></a>QWSServer::setDesktopBackground ( const&nbsp;<a href="qimage.html">QImage</a>&nbsp;&amp;&nbsp;img )<tt> [static]</tt>
+</h3>
+Sets the image <em>img</em> to be used as the background in the absence
+of obscuring windows.
+
+<h3 class=fn>void <a name="setDesktopBackground-2"></a>QWSServer::setDesktopBackground ( const&nbsp;<a href="qcolor.html">QColor</a>&nbsp;&amp;&nbsp;c )<tt> [static]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Sets the color <em>c</em> to be used as the background in the absence of
+obscuring windows.
+
+<h3 class=fn>void <a name="setKeyboardFilter"></a>QWSServer::setKeyboardFilter ( <a href="qwsserver::keyboardfilter.html">KeyboardFilter</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
+</h3>
+Adds a filter <em>f</em> to be invoked for all key events from physical
+keyboard drivers (events sent via processKeyEvent()).
+<p> The filter is not invoked for keys generated by virtual keyboard
+drivers (events sent via <a href="#sendKeyEvent">sendKeyEvent</a>()).
+<p> If <em>f</em> is 0, the most-recently added filter is removed and deleted.
+The caller is responsible for matching each addition with a
+corresponding removal.
+
+<h3 class=fn>void <a name="setKeyboardHandler"></a>QWSServer::setKeyboardHandler ( <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a>&nbsp;*&nbsp;kh )<tt> [static]</tt>
+</h3>
+Sets the primary keyboard handler to <em>kh</em>.
+
+<h3 class=fn>void <a name="setMaxWindowRect"></a>QWSServer::setMaxWindowRect ( const&nbsp;<a href="qrect.html">QRect</a>&nbsp;&amp;&nbsp;r )<tt> [static]</tt>
+</h3>
+Sets the area of the screen which Qt/Embedded applications will
+consider to be the maximum area to use for windows to <em>r</em>.
+<p> <p>See also <a href="qwidget.html#showMaximized">QWidget::showMaximized</a>().
+
+<h3 class=fn>void <a name="setScreenSaverInterval"></a>QWSServer::setScreenSaverInterval ( int&nbsp;ms )<tt> [static]</tt>
+</h3>
+Sets the timeout for the screensaver to <em>ms</em> milliseconds. A
+setting of zero turns off the screensaver.
+
+<h3 class=fn>void <a name="setScreenSaverIntervals"></a>QWSServer::setScreenSaverIntervals ( int&nbsp;*&nbsp;ms )<tt> [static]</tt>
+</h3>
+Sets an array of timeouts for the screensaver to a list of <em>ms</em>
+milliseconds. A setting of zero turns off the screensaver. The
+array must be 0-terminated.
+
+<h3 class=fn><a href="qwswindow.html">QWSWindow</a>&nbsp;* <a name="windowAt"></a>QWSServer::windowAt ( const&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos )
+</h3>
+Returns the window containing the point <em>pos</em> or 0 if there is no
+window under the point.
+
+<h3 class=fn>void <a name="windowEvent"></a>QWSServer::windowEvent ( <a href="qwswindow.html">QWSWindow</a>&nbsp;*&nbsp;w, <a href="qwsserver.html#WindowEvent-enum">QWSServer::WindowEvent</a>&nbsp;e )<tt> [signal]</tt>
+</h3>
+
+<p> This signal is emitted whenever something happens to a top-level
+window (e.g. it's created or destroyed). <em>w</em> is the window to
+which the event of type <em>e</em> has occurred.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwswindow-members.html b/doc/html/qwswindow-members.html
new file mode 100644
index 0000000..8926fa5
--- /dev/null
+++ b/doc/html/qwswindow-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qwindowsystem_qws.h:79 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSWindow Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QWSWindow</h1>
+
+<p>This is the complete list of member functions for
+<a href="qwswindow.html">QWSWindow</a>, including inherited members.
+
+<ul>
+<li><a href="qwswindow.html#QWSWindow">QWSWindow</a>()
+<li><a href="qwswindow.html#~QWSWindow">~QWSWindow</a>()
+<li><a href="qwswindow.html#allocation">allocation</a>()
+<li><a href="qwswindow.html#caption">caption</a>()
+<li><a href="qwswindow.html#client">client</a>()
+<li><a href="qwswindow.html#hide">hide</a>()
+<li><a href="qwswindow.html#isFullyObscured">isFullyObscured</a>()
+<li><a href="qwswindow.html#isPartiallyObscured">isPartiallyObscured</a>()
+<li><a href="qwswindow.html#isVisible">isVisible</a>()
+<li><a href="qwswindow.html#lower">lower</a>()
+<li><a href="qwswindow.html#name">name</a>()
+<li><a href="qwswindow.html#raise">raise</a>()
+<li><a href="qwswindow.html#requested">requested</a>()
+<li><a href="qwswindow.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwswindow.html#show">show</a>()
+<li><a href="qwswindow.html#winId">winId</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qwswindow.html b/doc/html/qwswindow.html
new file mode 100644
index 0000000..20fafef
--- /dev/null
+++ b/doc/html/qwswindow.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qwindowsystem_qws.cpp:164 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QWSWindow Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QWSWindow Class Reference</h1>
+
+<p>The QWSWindow class provides server-specific functionality in Qt/Embedded.
+<a href="#details">More...</a>
+<p><tt>#include &lt;<a href="qwindowsystem_qws-h.html">qwindowsystem_qws.h</a>&gt;</tt>
+<p><a href="qwswindow-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QWSWindow"><b>QWSWindow</b></a> ( int&nbsp;i, QWSClient&nbsp;*&nbsp;client )</li>
+<li class=fn><a href="#~QWSWindow"><b>~QWSWindow</b></a> ()</li>
+<li class=fn>int <a href="#winId"><b>winId</b></a> () const</li>
+<li class=fn>const QString &amp; <a href="#name"><b>name</b></a> () const</li>
+<li class=fn>const QString &amp; <a href="#caption"><b>caption</b></a> () const</li>
+<li class=fn>QWSClient * <a href="#client"><b>client</b></a> () const</li>
+<li class=fn>QRegion <a href="#requested"><b>requested</b></a> () const</li>
+<li class=fn>QRegion <a href="#allocation"><b>allocation</b></a> () const</li>
+<li class=fn>bool <a href="#isVisible"><b>isVisible</b></a> () const</li>
+<li class=fn>bool <a href="#isPartiallyObscured"><b>isPartiallyObscured</b></a> () const</li>
+<li class=fn>bool <a href="#isFullyObscured"><b>isFullyObscured</b></a> () const</li>
+<li class=fn>void <a href="#raise"><b>raise</b></a> ()</li>
+<li class=fn>void <a href="#lower"><b>lower</b></a> ()</li>
+<li class=fn>void <a href="#show"><b>show</b></a> ()</li>
+<li class=fn>void <a href="#hide"><b>hide</b></a> ()</li>
+<li class=fn>void <a href="#setActiveWindow"><b>setActiveWindow</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+The QWSWindow class provides server-specific functionality in Qt/Embedded.
+<p>
+<p> When you run a Qt/Embedded application, it either runs as a server
+or connects to an existing server. If it runs as a server, some
+additional functionality is provided by the <a href="qwsserver.html">QWSServer</a> class.
+<p> This class maintains information about each window and allows
+operations to be performed on the windows.
+<p> You can get the window's <a href="#name">name</a>(), <a href="#caption">caption</a>() and <a href="#winId">winId</a>(), along with
+the <a href="#client">client</a>() that owns the window.
+<p> The region the window wants to draw on is returned by <a href="#requested">requested</a>();
+the region that the window is allowed to draw on is returned by
+<a href="#allocation">allocation</a>().
+<p> The visibility of the window can be determined using <a href="#isVisible">isVisible</a>(),
+<a href="#isPartiallyObscured">isPartiallyObscured</a>() and <a href="#isFullyObscured">isFullyObscured</a>(). Visibility can be
+changed using <a href="#raise">raise</a>(), <a href="#lower">lower</a>(), <a href="#show">show</a>(), <a href="#hide">hide</a>() and
+<a href="#setActiveWindow">setActiveWindow</a>().
+<p>See also <a href="qws.html">Qt/Embedded</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QWSWindow"></a>QWSWindow::QWSWindow ( int&nbsp;i, QWSClient&nbsp;*&nbsp;client )
+</h3>
+
+<p> Constructs a new top-level window, associated with the client <em>client</em> and giving it the id <em>i</em>.
+
+<h3 class=fn><a name="~QWSWindow"></a>QWSWindow::~QWSWindow ()
+</h3>
+Destructor.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="allocation"></a>QWSWindow::allocation () const
+</h3>
+
+<p> Returns the region that the window is allowed to draw onto,
+including any window decorations but excluding regions covered by
+other windows.
+<p> <p>See also <a href="#requested">requested</a>().
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="caption"></a>QWSWindow::caption () const
+</h3>
+
+<p> Returns the window's caption.
+
+<h3 class=fn>QWSClient * <a name="client"></a>QWSWindow::client () const
+</h3>
+
+<p> Returns the QWSClient that owns this window.
+
+<h3 class=fn>void <a name="hide"></a>QWSWindow::hide ()
+</h3>
+Hides the window.
+
+<h3 class=fn>bool <a name="isFullyObscured"></a>QWSWindow::isFullyObscured () const
+</h3>
+
+<p> Returns TRUE if the window is completely obsured by another window
+or by the bounds of the screen; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isPartiallyObscured"></a>QWSWindow::isPartiallyObscured () const
+</h3>
+
+<p> Returns TRUE if the window is partially obsured by another window
+or by the bounds of the screen; otherwise returns FALSE.
+
+<h3 class=fn>bool <a name="isVisible"></a>QWSWindow::isVisible () const
+</h3>
+
+<p> Returns TRUE if the window is visible; otherwise returns FALSE.
+
+<h3 class=fn>void <a name="lower"></a>QWSWindow::lower ()
+</h3>
+Lowers the window below other windows.
+
+<h3 class=fn>const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp; <a name="name"></a>QWSWindow::name () const
+</h3>
+
+<p> Returns the window's name.
+
+<h3 class=fn>void <a name="raise"></a>QWSWindow::raise ()
+</h3>
+Raises the window above all other windows except "Stay on top" windows.
+
+<h3 class=fn><a href="qregion.html">QRegion</a> <a name="requested"></a>QWSWindow::requested () const
+</h3>
+
+<p> Returns the region that the window has requested to draw onto,
+including any window decorations.
+<p> <p>See also <a href="#allocation">allocation</a>().
+
+<h3 class=fn>void <a name="setActiveWindow"></a>QWSWindow::setActiveWindow ()
+</h3>
+Make this the active window (i.e. sets the <a href="focus.html#keyboard-focus">keyboard focus</a> to this
+window).
+
+<h3 class=fn>void <a name="show"></a>QWSWindow::show ()
+</h3>
+Shows the window.
+
+<h3 class=fn>int <a name="winId"></a>QWSWindow::winId () const
+</h3>
+
+<p> Returns the window's Id.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxml-h.html b/doc/html/qxml-h.html
new file mode 100644
index 0000000..a0a535c
--- /dev/null
+++ b/doc/html/qxml-h.html
@@ -0,0 +1,576 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qxml.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qxml.h</h1>
+
+<p>This is the verbatim text of the qxml.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qxml.h 3.3.8 edited Jan 11 14:39 $
+**
+** Definition of QXmlSimpleReader and related classes.
+**
+** Created : 000518
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the xml module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Alternatively you may (at your option) use any
+** later version of the GNU General Public License if such license has
+** been publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QXML_H
+#define QXML_H
+
+#ifndef QT_H
+#include "qtextstream.h"
+#include "qfile.h"
+#include "qstring.h"
+#include "qstringlist.h"
+#include "qvaluevector.h"
+#endif // QT_H
+
+#if !defined(QT_MODULE_XML) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_XML )
+#define QM_EXPORT_XML
+#else
+#define QM_EXPORT_XML Q_EXPORT
+#endif
+
+#ifndef QT_NO_XML
+
+class QXmlNamespaceSupport;
+class QXmlAttributes;
+class QXmlContentHandler;
+class QXmlDefaultHandler;
+class QXmlDTDHandler;
+class QXmlEntityResolver;
+class QXmlErrorHandler;
+class QXmlLexicalHandler;
+class QXmlDeclHandler;
+class QXmlInputSource;
+class QXmlLocator;
+class QXmlNamespaceSupport;
+class QXmlParseException;
+
+class QXmlReader;
+class QXmlSimpleReader;
+
+class QXmlSimpleReaderPrivate;
+class QXmlNamespaceSupportPrivate;
+class QXmlAttributesPrivate;
+class QXmlInputSourcePrivate;
+class QXmlParseExceptionPrivate;
+class QXmlLocatorPrivate;
+class QXmlDefaultHandlerPrivate;
+
+
+//
+// SAX Namespace Support
+//
+
+class QM_EXPORT_XML QXmlNamespaceSupport
+{
+public:
+ QXmlNamespaceSupport();
+ ~QXmlNamespaceSupport();
+
+ void setPrefix( const QString&amp;, const QString&amp; );
+
+ QString prefix( const QString&amp; ) const;
+ QString uri( const QString&amp; ) const;
+ void splitName( const QString&amp;, QString&amp;, QString&amp; ) const;
+ void processName( const QString&amp;, bool, QString&amp;, QString&amp; ) const;
+ QStringList prefixes() const;
+ QStringList prefixes( const QString&amp; ) const;
+
+ void pushContext();
+ void popContext();
+ void reset();
+
+private:
+ QXmlNamespaceSupportPrivate *d;
+
+ friend class QXmlSimpleReader;
+};
+
+
+//
+// SAX Attributes
+//
+
+class QM_EXPORT_XML QXmlAttributes
+{
+public:
+ QXmlAttributes() {}
+ virtual ~QXmlAttributes() {}
+
+ int index( const QString&amp; qName ) const;
+ int index( const QString&amp; uri, const QString&amp; localPart ) const;
+ int length() const;
+ int count() const;
+ QString localName( int index ) const;
+ QString qName( int index ) const;
+ QString uri( int index ) const;
+ QString type( int index ) const;
+ QString type( const QString&amp; qName ) const;
+ QString type( const QString&amp; uri, const QString&amp; localName ) const;
+ QString value( int index ) const;
+ QString value( const QString&amp; qName ) const;
+ QString value( const QString&amp; uri, const QString&amp; localName ) const;
+
+ void clear();
+ void append( const QString &amp;qName, const QString &amp;uri, const QString &amp;localPart, const QString &amp;value );
+
+private:
+ QStringList qnameList;
+ QStringList uriList;
+ QStringList localnameList;
+ QStringList valueList;
+
+ QXmlAttributesPrivate *d;
+};
+
+//
+// SAX Input Source
+//
+
+class QM_EXPORT_XML QXmlInputSource
+{
+public:
+ QXmlInputSource();
+ QXmlInputSource( QIODevice *dev );
+ QXmlInputSource( QFile&amp; file ); // obsolete
+ QXmlInputSource( QTextStream&amp; stream ); // obsolete
+ virtual ~QXmlInputSource();
+
+ virtual void setData( const QString&amp; dat );
+ virtual void setData( const QByteArray&amp; dat );
+ virtual void fetchData();
+ virtual QString data();
+ virtual QChar next();
+ virtual void reset();
+
+ static const QChar EndOfData;
+ static const QChar EndOfDocument;
+
+protected:
+ virtual QString fromRawData( const QByteArray &amp;data, bool beginning = FALSE );
+
+private:
+ void init();
+
+ QIODevice *inputDevice;
+ QTextStream *inputStream;
+
+ QString str;
+ const QChar *unicode;
+ int pos;
+ int length;
+ bool nextReturnedEndOfData;
+ QTextDecoder *encMapper;
+
+ QXmlInputSourcePrivate *d;
+};
+
+//
+// SAX Exception Classes
+//
+
+class QM_EXPORT_XML QXmlParseException
+{
+public:
+ QXmlParseException( const QString&amp; name="", int c=-1, int l=-1, const QString&amp; p="", const QString&amp; s="" )
+ : msg( name ), column( c ), line( l ), pub( p ), sys( s )
+ { }
+
+ int columnNumber() const;
+ int lineNumber() const;
+ QString publicId() const;
+ QString systemId() const;
+ QString message() const;
+
+private:
+ QString msg;
+ int column;
+ int line;
+ QString pub;
+ QString sys;
+
+ QXmlParseExceptionPrivate *d;
+};
+
+
+//
+// XML Reader
+//
+
+class QM_EXPORT_XML QXmlReader
+{
+public:
+ virtual bool feature( const QString&amp; name, bool *ok = 0 ) const = 0;
+ virtual void setFeature( const QString&amp; name, bool value ) = 0;
+ virtual bool hasFeature( const QString&amp; name ) const = 0;
+ virtual void* property( const QString&amp; name, bool *ok = 0 ) const = 0;
+ virtual void setProperty( const QString&amp; name, void* value ) = 0;
+ virtual bool hasProperty( const QString&amp; name ) const = 0;
+ virtual void setEntityResolver( QXmlEntityResolver* handler ) = 0;
+ virtual QXmlEntityResolver* entityResolver() const = 0;
+ virtual void setDTDHandler( QXmlDTDHandler* handler ) = 0;
+ virtual QXmlDTDHandler* DTDHandler() const = 0;
+ virtual void setContentHandler( QXmlContentHandler* handler ) = 0;
+ virtual QXmlContentHandler* contentHandler() const = 0;
+ virtual void setErrorHandler( QXmlErrorHandler* handler ) = 0;
+ virtual QXmlErrorHandler* errorHandler() const = 0;
+ virtual void setLexicalHandler( QXmlLexicalHandler* handler ) = 0;
+ virtual QXmlLexicalHandler* lexicalHandler() const = 0;
+ virtual void setDeclHandler( QXmlDeclHandler* handler ) = 0;
+ virtual QXmlDeclHandler* declHandler() const = 0;
+ virtual bool parse( const QXmlInputSource&amp; input ) = 0;
+ virtual bool parse( const QXmlInputSource* input ) = 0;
+};
+
+class QM_EXPORT_XML QXmlSimpleReader : public QXmlReader
+{
+public:
+ QXmlSimpleReader();
+ virtual ~QXmlSimpleReader();
+
+ bool feature( const QString&amp; name, bool *ok = 0 ) const;
+ void setFeature( const QString&amp; name, bool value );
+ bool hasFeature( const QString&amp; name ) const;
+
+ void* property( const QString&amp; name, bool *ok = 0 ) const;
+ void setProperty( const QString&amp; name, void* value );
+ bool hasProperty( const QString&amp; name ) const;
+
+ void setEntityResolver( QXmlEntityResolver* handler );
+ QXmlEntityResolver* entityResolver() const;
+ void setDTDHandler( QXmlDTDHandler* handler );
+ QXmlDTDHandler* DTDHandler() const;
+ void setContentHandler( QXmlContentHandler* handler );
+ QXmlContentHandler* contentHandler() const;
+ void setErrorHandler( QXmlErrorHandler* handler );
+ QXmlErrorHandler* errorHandler() const;
+ void setLexicalHandler( QXmlLexicalHandler* handler );
+ QXmlLexicalHandler* lexicalHandler() const;
+ void setDeclHandler( QXmlDeclHandler* handler );
+ QXmlDeclHandler* declHandler() const;
+
+ bool parse( const QXmlInputSource&amp; input );
+ bool parse( const QXmlInputSource* input );
+ virtual bool parse( const QXmlInputSource* input, bool incremental );
+ virtual bool parseContinue();
+
+private:
+ // variables
+ QXmlContentHandler *contentHnd;
+ QXmlErrorHandler *errorHnd;
+ QXmlDTDHandler *dtdHnd;
+ QXmlEntityResolver *entityRes;
+ QXmlLexicalHandler *lexicalHnd;
+ QXmlDeclHandler *declHnd;
+
+ QXmlInputSource *inputSource;
+
+ QChar c; // the character at reading position
+ int lineNr; // number of line
+ int columnNr; // position in line
+
+ int nameArrayPos;
+ QChar nameArray[256]; // only used for names
+ QString nameValue; // only used for names
+ int refArrayPos;
+ QChar refArray[256]; // only used for references
+ QString refValue; // only used for references
+ int stringArrayPos;
+ QChar stringArray[256]; // used for any other strings that are parsed
+ QString stringValue; // used for any other strings that are parsed
+
+ QXmlSimpleReaderPrivate* d;
+
+ const QString &amp;string();
+ void stringClear();
+ inline void stringAddC() { stringAddC(c); }
+ void stringAddC(const QChar&amp;);
+ const QString&amp; name();
+ void nameClear();
+ inline void nameAddC() { nameAddC(c); }
+ void nameAddC(const QChar&amp;);
+ const QString&amp; ref();
+ void refClear();
+ inline void refAddC() { refAddC(c); }
+ void refAddC(const QChar&amp;);
+
+ // used by parseReference() and parsePEReference()
+ enum EntityRecognitionContext { InContent, InAttributeValue, InEntityValue, InDTD };
+
+ // private functions
+ bool eat_ws();
+ bool next_eat_ws();
+
+ void next();
+ bool atEnd();
+
+ void init( const QXmlInputSource* i );
+ void initData();
+
+ bool entityExist( const QString&amp; ) const;
+
+ bool parseBeginOrContinue( int state, bool incremental );
+
+ bool parseProlog();
+ bool parseElement();
+ bool processElementEmptyTag();
+ bool processElementETagBegin2();
+ bool processElementAttribute();
+ bool parseMisc();
+ bool parseContent();
+
+ bool parsePI();
+ bool parseDoctype();
+ bool parseComment();
+
+ bool parseName();
+ bool parseNmtoken();
+ bool parseAttribute();
+ bool parseReference();
+ bool processReference();
+
+ bool parseExternalID();
+ bool parsePEReference();
+ bool parseMarkupdecl();
+ bool parseAttlistDecl();
+ bool parseAttType();
+ bool parseAttValue();
+ bool parseElementDecl();
+ bool parseNotationDecl();
+ bool parseChoiceSeq();
+ bool parseEntityDecl();
+ bool parseEntityValue();
+
+ bool parseString();
+
+ bool insertXmlRef( const QString&amp;, const QString&amp;, bool );
+
+ bool reportEndEntities();
+ void reportParseError( const QString&amp; error );
+
+ typedef bool (QXmlSimpleReader::*ParseFunction) ();
+ void unexpectedEof( ParseFunction where, int state );
+ void parseFailed( ParseFunction where, int state );
+ void pushParseState( ParseFunction function, int state );
+
+ void setUndefEntityInAttrHack(bool b);
+
+ friend class QXmlSimpleReaderPrivate;
+ friend class QXmlSimpleReaderLocator;
+ friend class QDomDocumentPrivate;
+};
+
+//
+// SAX Locator
+//
+
+class QM_EXPORT_XML QXmlLocator
+{
+public:
+ QXmlLocator();
+ virtual ~QXmlLocator();
+
+ virtual int columnNumber() = 0;
+ virtual int lineNumber() = 0;
+// QString getPublicId()
+// QString getSystemId()
+};
+
+//
+// SAX handler classes
+//
+
+class QM_EXPORT_XML QXmlContentHandler
+{
+public:
+ virtual void setDocumentLocator( QXmlLocator* locator ) = 0;
+ virtual bool startDocument() = 0;
+ virtual bool endDocument() = 0;
+ virtual bool startPrefixMapping( const QString&amp; prefix, const QString&amp; uri ) = 0;
+ virtual bool endPrefixMapping( const QString&amp; prefix ) = 0;
+ virtual bool startElement( const QString&amp; namespaceURI, const QString&amp; localName, const QString&amp; qName, const QXmlAttributes&amp; atts ) = 0;
+ virtual bool endElement( const QString&amp; namespaceURI, const QString&amp; localName, const QString&amp; qName ) = 0;
+ virtual bool characters( const QString&amp; ch ) = 0;
+ virtual bool ignorableWhitespace( const QString&amp; ch ) = 0;
+ virtual bool processingInstruction( const QString&amp; target, const QString&amp; data ) = 0;
+ virtual bool skippedEntity( const QString&amp; name ) = 0;
+ virtual QString errorString() = 0;
+};
+
+class QM_EXPORT_XML QXmlErrorHandler
+{
+public:
+ virtual bool warning( const QXmlParseException&amp; exception ) = 0;
+ virtual bool error( const QXmlParseException&amp; exception ) = 0;
+ virtual bool fatalError( const QXmlParseException&amp; exception ) = 0;
+ virtual QString errorString() = 0;
+};
+
+class QM_EXPORT_XML QXmlDTDHandler
+{
+public:
+ virtual bool notationDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId ) = 0;
+ virtual bool unparsedEntityDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId, const QString&amp; notationName ) = 0;
+ virtual QString errorString() = 0;
+};
+
+class QM_EXPORT_XML QXmlEntityResolver
+{
+public:
+ virtual bool resolveEntity( const QString&amp; publicId, const QString&amp; systemId, QXmlInputSource*&amp; ret ) = 0;
+ virtual QString errorString() = 0;
+};
+
+class QM_EXPORT_XML QXmlLexicalHandler
+{
+public:
+ virtual bool startDTD( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId ) = 0;
+ virtual bool endDTD() = 0;
+ virtual bool startEntity( const QString&amp; name ) = 0;
+ virtual bool endEntity( const QString&amp; name ) = 0;
+ virtual bool startCDATA() = 0;
+ virtual bool endCDATA() = 0;
+ virtual bool comment( const QString&amp; ch ) = 0;
+ virtual QString errorString() = 0;
+};
+
+class QM_EXPORT_XML QXmlDeclHandler
+{
+public:
+ virtual bool attributeDecl( const QString&amp; eName, const QString&amp; aName, const QString&amp; type, const QString&amp; valueDefault, const QString&amp; value ) = 0;
+ virtual bool internalEntityDecl( const QString&amp; name, const QString&amp; value ) = 0;
+ virtual bool externalEntityDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId ) = 0;
+ virtual QString errorString() = 0;
+};
+
+
+class QM_EXPORT_XML QXmlDefaultHandler : public QXmlContentHandler, public QXmlErrorHandler, public QXmlDTDHandler, public QXmlEntityResolver, public QXmlLexicalHandler, public QXmlDeclHandler
+{
+public:
+ QXmlDefaultHandler() { }
+ virtual ~QXmlDefaultHandler() { }
+
+ void setDocumentLocator( QXmlLocator* locator );
+ bool startDocument();
+ bool endDocument();
+ bool startPrefixMapping( const QString&amp; prefix, const QString&amp; uri );
+ bool endPrefixMapping( const QString&amp; prefix );
+ bool startElement( const QString&amp; namespaceURI, const QString&amp; localName, const QString&amp; qName, const QXmlAttributes&amp; atts );
+ bool endElement( const QString&amp; namespaceURI, const QString&amp; localName, const QString&amp; qName );
+ bool characters( const QString&amp; ch );
+ bool ignorableWhitespace( const QString&amp; ch );
+ bool processingInstruction( const QString&amp; target, const QString&amp; data );
+ bool skippedEntity( const QString&amp; name );
+
+ bool warning( const QXmlParseException&amp; exception );
+ bool error( const QXmlParseException&amp; exception );
+ bool fatalError( const QXmlParseException&amp; exception );
+
+ bool notationDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId );
+ bool unparsedEntityDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId, const QString&amp; notationName );
+
+ bool resolveEntity( const QString&amp; publicId, const QString&amp; systemId, QXmlInputSource*&amp; ret );
+
+ bool startDTD( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId );
+ bool endDTD();
+ bool startEntity( const QString&amp; name );
+ bool endEntity( const QString&amp; name );
+ bool startCDATA();
+ bool endCDATA();
+ bool comment( const QString&amp; ch );
+
+ bool attributeDecl( const QString&amp; eName, const QString&amp; aName, const QString&amp; type, const QString&amp; valueDefault, const QString&amp; value );
+ bool internalEntityDecl( const QString&amp; name, const QString&amp; value );
+ bool externalEntityDecl( const QString&amp; name, const QString&amp; publicId, const QString&amp; systemId );
+
+ QString errorString();
+
+private:
+ QXmlDefaultHandlerPrivate *d;
+};
+
+
+//
+// inlines
+//
+
+inline bool QXmlSimpleReader::atEnd()
+{ return (c.unicode()|0x0001) == 0xffff; }
+inline int QXmlAttributes::count() const
+{ return length(); }
+
+
+#endif //QT_NO_XML
+
+#endif
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlattributes-members.html b/doc/html/qxmlattributes-members.html
new file mode 100644
index 0000000..985b976
--- /dev/null
+++ b/doc/html/qxmlattributes-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:118 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlAttributes Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlAttributes</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlattributes.html">QXmlAttributes</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlattributes.html#QXmlAttributes">QXmlAttributes</a>()
+<li><a href="qxmlattributes.html#~QXmlAttributes">~QXmlAttributes</a>()
+<li><a href="qxmlattributes.html#append">append</a>()
+<li><a href="qxmlattributes.html#clear">clear</a>()
+<li><a href="qxmlattributes.html#count">count</a>()
+<li><a href="qxmlattributes.html#index">index</a>()
+<li><a href="qxmlattributes.html#length">length</a>()
+<li><a href="qxmlattributes.html#localName">localName</a>()
+<li><a href="qxmlattributes.html#qName">qName</a>()
+<li><a href="qxmlattributes.html#type">type</a>()
+<li><a href="qxmlattributes.html#uri">uri</a>()
+<li><a href="qxmlattributes.html#value">value</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlattributes.html b/doc/html/qxmlattributes.html
new file mode 100644
index 0000000..7669446
--- /dev/null
+++ b/doc/html/qxmlattributes.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:647 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlAttributes Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlAttributes Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlAttributes class provides XML attributes.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p><a href="qxmlattributes-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlAttributes"><b>QXmlAttributes</b></a> ()</li>
+<li class=fn>virtual <a href="#~QXmlAttributes"><b>~QXmlAttributes</b></a> ()</li>
+<li class=fn>int <a href="#index"><b>index</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qName ) const</li>
+<li class=fn>int <a href="#index-2"><b>index</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uri, const&nbsp;QString&nbsp;&amp;&nbsp;localPart ) const</li>
+<li class=fn>int <a href="#length"><b>length</b></a> () const</li>
+<li class=fn>int <a href="#count"><b>count</b></a> () const</li>
+<li class=fn>QString <a href="#localName"><b>localName</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#qName"><b>qName</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#uri"><b>uri</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#type"><b>type</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#type-2"><b>type</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qName ) const</li>
+<li class=fn>QString <a href="#type-3"><b>type</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uri, const&nbsp;QString&nbsp;&amp;&nbsp;localName ) const</li>
+<li class=fn>QString <a href="#value"><b>value</b></a> ( int&nbsp;index ) const</li>
+<li class=fn>QString <a href="#value-2"><b>value</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qName ) const</li>
+<li class=fn>QString <a href="#value-3"><b>value</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uri, const&nbsp;QString&nbsp;&amp;&nbsp;localName ) const</li>
+<li class=fn>void <a href="#clear"><b>clear</b></a> ()</li>
+<li class=fn>void <a href="#append"><b>append</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qName, const&nbsp;QString&nbsp;&amp;&nbsp;uri, const&nbsp;QString&nbsp;&amp;&nbsp;localPart, const&nbsp;QString&nbsp;&amp;&nbsp;value )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlAttributes class provides XML attributes.
+
+<p>
+
+<p> If attributes are reported by <a href="qxmlcontenthandler.html#startElement">QXmlContentHandler::startElement</a>()
+this class is used to pass the attribute values.
+<p> Use <a href="#index">index</a>() to locate the position of an attribute in the list,
+<a href="#count">count</a>() to retrieve the number of attributes, and <a href="#clear">clear</a>() to
+remove the attributes. New attributes can be added with <a href="#append">append</a>().
+Use <a href="#type">type</a>() to get an attribute's type and <a href="#value">value</a>() to get its
+value. The attribute's name is available from <a href="#localName">localName</a>() or
+<a href="#qName">qName</a>(), and its namespace URI from <a href="#uri">uri</a>().
+<p> <p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlAttributes"></a>QXmlAttributes::QXmlAttributes ()
+</h3>
+
+<p> Constructs an empty attribute list.
+
+<h3 class=fn><a name="~QXmlAttributes"></a>QXmlAttributes::~QXmlAttributes ()<tt> [virtual]</tt>
+</h3>
+
+<p> Destroys the attributes object.
+
+<h3 class=fn>void <a name="append"></a>QXmlAttributes::append ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localPart, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )
+</h3>
+Appends a new attribute entry to the list of attributes. The
+qualified name of the attribute is <em>qName</em>, the namespace URI is
+<em>uri</em> and the local name is <em>localPart</em>. The value of the
+attribute is <em>value</em>.
+<p> <p>See also <a href="#qName">qName</a>(), <a href="#uri">uri</a>(), <a href="#localName">localName</a>(), and <a href="#value">value</a>().
+
+<h3 class=fn>void <a name="clear"></a>QXmlAttributes::clear ()
+</h3>
+Clears the list of attributes.
+<p> <p>See also <a href="#append">append</a>().
+
+<h3 class=fn>int <a name="count"></a>QXmlAttributes::count () const
+</h3>
+
+<p> Returns the number of attributes in the list. This function is
+equivalent to <a href="#length">length</a>().
+
+<h3 class=fn>int <a name="index"></a>QXmlAttributes::index ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName ) const
+</h3>
+Looks up the index of an attribute by the qualified name <em>qName</em>.
+<p> Returns the index of the attribute or -1 if it wasn't found.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<h3 class=fn>int <a name="index-2"></a>QXmlAttributes::index ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localPart ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks up the index of an attribute by a namespace name.
+<p> <em>uri</em> specifies the namespace URI, or an empty string if the name
+has no namespace URI. <em>localPart</em> specifies the attribute's local
+name.
+<p> Returns the index of the attribute, or -1 if it wasn't found.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<h3 class=fn>int <a name="length"></a>QXmlAttributes::length () const
+</h3>
+Returns the number of attributes in the list.
+<p> <p>See also <a href="#count">count</a>().
+
+<p>Example: <a href="tagreader-with-features-example.html#x1967">xml/tagreader-with-features/structureparser.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="localName"></a>QXmlAttributes::localName ( int&nbsp;index ) const
+</h3>
+Looks up an attribute's local name for the attribute at position
+<em>index</em>. If no namespace processing is done, the local name is
+<a href="qstring.html#QString-null">QString::null</a>.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="qName"></a>QXmlAttributes::qName ( int&nbsp;index ) const
+</h3>
+Looks up an attribute's XML 1.0 qualified name for the attribute
+at position <em>index</em>.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<p>Example: <a href="qlistview.html#x2106">xml/tagreader-with-features/structureparser.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="type"></a>QXmlAttributes::type ( int&nbsp;index ) const
+</h3>
+Looks up an attribute's type for the attribute at position <em>index</em>.
+<p> Currently only "CDATA" is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="type-2"></a>QXmlAttributes::type ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks up an attribute's type for the qualified name <em>qName</em>.
+<p> Currently only "CDATA" is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="type-3"></a>QXmlAttributes::type ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks up an attribute's type by namespace name.
+<p> <em>uri</em> specifies the namespace URI and <em>localName</em> specifies the
+local name. If the name has no namespace URI, use an empty string
+for <em>uri</em>.
+<p> Currently only "CDATA" is returned.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="uri"></a>QXmlAttributes::uri ( int&nbsp;index ) const
+</h3>
+Looks up an attribute's namespace URI for the attribute at
+position <em>index</em>. If no namespace processing is done or if the
+attribute has no namespace, the namespace URI is <a href="qstring.html#QString-null">QString::null</a>.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<p>Example: <a href="qlistview.html#x2107">xml/tagreader-with-features/structureparser.cpp</a>.
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value"></a>QXmlAttributes::value ( int&nbsp;index ) const
+</h3>
+Looks up an attribute's value for the attribute at position <em>index</em>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value-2"></a>QXmlAttributes::value ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks up an attribute's value for the qualified name <em>qName</em>.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="value-3"></a>QXmlAttributes::value ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Looks up an attribute's value by namespace name.
+<p> <em>uri</em> specifies the namespace URI, or an empty string if the name
+has no namespace URI. <em>localName</em> specifies the attribute's local
+name.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlcontenthandler-members.html b/doc/html/qxmlcontenthandler-members.html
new file mode 100644
index 0000000..563e7a0
--- /dev/null
+++ b/doc/html/qxmlcontenthandler-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:407 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlContentHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlContentHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlcontenthandler.html">QXmlContentHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlcontenthandler.html#characters">characters</a>()
+<li><a href="qxmlcontenthandler.html#endDocument">endDocument</a>()
+<li><a href="qxmlcontenthandler.html#endElement">endElement</a>()
+<li><a href="qxmlcontenthandler.html#endPrefixMapping">endPrefixMapping</a>()
+<li><a href="qxmlcontenthandler.html#errorString">errorString</a>()
+<li><a href="qxmlcontenthandler.html#ignorableWhitespace">ignorableWhitespace</a>()
+<li><a href="qxmlcontenthandler.html#processingInstruction">processingInstruction</a>()
+<li><a href="qxmlcontenthandler.html#setDocumentLocator">setDocumentLocator</a>()
+<li><a href="qxmlcontenthandler.html#skippedEntity">skippedEntity</a>()
+<li><a href="qxmlcontenthandler.html#startDocument">startDocument</a>()
+<li><a href="qxmlcontenthandler.html#startElement">startElement</a>()
+<li><a href="qxmlcontenthandler.html#startPrefixMapping">startPrefixMapping</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlcontenthandler.html b/doc/html/qxmlcontenthandler.html
new file mode 100644
index 0000000..951c0ec
--- /dev/null
+++ b/doc/html/qxmlcontenthandler.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1207 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlContentHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlContentHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlContentHandler class provides an interface to
+report the logical content of XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmlcontenthandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual void <a href="#setDocumentLocator"><b>setDocumentLocator</b></a> ( QXmlLocator&nbsp;*&nbsp;locator ) = 0</li>
+<li class=fn>virtual bool <a href="#startDocument"><b>startDocument</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#endDocument"><b>endDocument</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#startPrefixMapping"><b>startPrefixMapping</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix, const&nbsp;QString&nbsp;&amp;&nbsp;uri ) = 0</li>
+<li class=fn>virtual bool <a href="#endPrefixMapping"><b>endPrefixMapping</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix ) = 0</li>
+<li class=fn>virtual bool <a href="#startElement"><b>startElement</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;namespaceURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName, const&nbsp;QString&nbsp;&amp;&nbsp;qName, const&nbsp;QXmlAttributes&nbsp;&amp;&nbsp;atts ) = 0</li>
+<li class=fn>virtual bool <a href="#endElement"><b>endElement</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;namespaceURI, const&nbsp;QString&nbsp;&amp;&nbsp;localName, const&nbsp;QString&nbsp;&amp;&nbsp;qName ) = 0</li>
+<li class=fn>virtual bool <a href="#characters"><b>characters</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;ch ) = 0</li>
+<li class=fn>virtual bool <a href="#ignorableWhitespace"><b>ignorableWhitespace</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;ch ) = 0</li>
+<li class=fn>virtual bool <a href="#processingInstruction"><b>processingInstruction</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;target, const&nbsp;QString&nbsp;&amp;&nbsp;data ) = 0</li>
+<li class=fn>virtual bool <a href="#skippedEntity"><b>skippedEntity</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlContentHandler class provides an interface to
+report the logical content of XML data.
+
+<p>
+
+<p> If the application needs to be informed of basic parsing events,
+it can implement this interface and activate it using
+<a href="qxmlreader.html#setContentHandler">QXmlReader::setContentHandler</a>(). The reader can then report basic
+document-related events like the start and end of elements and
+character data through this interface.
+<p> The order of events in this interface is very important, and
+mirrors the order of information in the document itself. For
+example, all of an element's content (character data, processing
+instructions, and sub-elements) appears, in order, between the
+<a href="#startElement">startElement</a>() event and the corresponding <a href="#endElement">endElement</a>() event.
+<p> The class <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> provides a default implementation for
+this interface; subclassing from the QXmlDefaultHandler class is
+very convenient if you only want to be informed of some parsing
+events.
+<p> The <a href="#startDocument">startDocument</a>() function is called at the start of the
+document, and <a href="#endDocument">endDocument</a>() is called at the end. Before parsing
+begins <a href="#setDocumentLocator">setDocumentLocator</a>() is called. For each element
+startElement() is called, with endElement() being called at the
+end of each element. The <a href="#characters">characters</a>() function is called with
+chunks of character data; <a href="#ignorableWhitespace">ignorableWhitespace</a>() is called with
+chunks of whitespace and <a href="#processingInstruction">processingInstruction</a>() is called with
+processing instructions. If an entity is skipped <a href="#skippedEntity">skippedEntity</a>()
+is called. At the beginning of prefix-URI scopes
+<a href="#startPrefixMapping">startPrefixMapping</a>() is called.
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="characters"></a>QXmlContentHandler::characters ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;ch )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it has parsed a chunk of
+character data (either normal character data or character data
+inside a CDATA section; if you need to distinguish between those
+two types you must use <a href="qxmllexicalhandler.html#startCDATA">QXmlLexicalHandler::startCDATA</a>() and
+<a href="qxmllexicalhandler.html#endCDATA">QXmlLexicalHandler::endCDATA</a>()). The character data is reported in
+<em>ch</em>.
+<p> Some readers report whitespace in element content using the
+<a href="#ignorableWhitespace">ignorableWhitespace</a>() function rather than using this one.
+<p> A reader may report the character data of an element in more than
+one chunk; e.g. a reader might want to report "a&lt;b" in three
+<a href="#characters">characters</a>() events ("a ", "&lt;" and " b").
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="endDocument"></a>QXmlContentHandler::endDocument ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function after it has finished parsing. It
+is called just once, and is the last handler function called. It
+is called after the reader has read all input or has abandoned
+parsing because of a fatal error.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#startDocument">startDocument</a>().
+
+<h3 class=fn>bool <a name="endElement"></a>QXmlContentHandler::endElement ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;namespaceURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it has parsed an end element
+tag with the qualified name <em>qName</em>, the local name <em>localName</em>
+and the namespace URI <em>namespaceURI</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+<p> <p>See also <a href="#startElement">startElement</a>().
+
+<p>Example: <a href="xml-sax-walkthrough.html#x2136">xml/tagreader/structureparser.cpp</a>.
+<h3 class=fn>bool <a name="endPrefixMapping"></a>QXmlContentHandler::endPrefixMapping ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to signal the end of a prefix
+mapping for the prefix <em>prefix</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+<p> <p>See also <a href="#startPrefixMapping">startPrefixMapping</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlContentHandler::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string, e.g. if any
+of the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="ignorableWhitespace"></a>QXmlContentHandler::ignorableWhitespace ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;ch )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Some readers may use this function to report each chunk of
+whitespace in element content. The whitespace is reported in <em>ch</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="processingInstruction"></a>QXmlContentHandler::processingInstruction ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;target, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;data )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it has parsed a processing
+instruction.
+<p> <em>target</em> is the target name of the processing instruction and <em>data</em> is the data in the processing instruction.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>void <a name="setDocumentLocator"></a>QXmlContentHandler::setDocumentLocator ( <a href="qxmllocator.html">QXmlLocator</a>&nbsp;*&nbsp;locator )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function before it starts parsing the
+document. The argument <em>locator</em> is a pointer to a <a href="qxmllocator.html">QXmlLocator</a>
+which allows the application to get the parsing position within
+the document.
+<p> Do not destroy the <em>locator</em>; it is destroyed when the reader is
+destroyed. (Do not use the <em>locator</em> after the reader is
+destroyed).
+
+<h3 class=fn>bool <a name="skippedEntity"></a>QXmlContentHandler::skippedEntity ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Some readers may skip entities if they have not seen the
+declarations (e.g. because they are in an external DTD). If they
+do so they report that they skipped the entity called <em>name</em> by
+calling this function.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="startDocument"></a>QXmlContentHandler::startDocument ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it starts parsing the
+document. The reader calls this function just once, after the call
+to <a href="#setDocumentLocator">setDocumentLocator</a>(), and before any other functions in this
+class or in the <a href="qxmldtdhandler.html">QXmlDTDHandler</a> class are called.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#endDocument">endDocument</a>().
+
+<p>Example: <a href="xml-sax-walkthrough.html#x2137">xml/tagreader/structureparser.cpp</a>.
+<h3 class=fn>bool <a name="startElement"></a>QXmlContentHandler::startElement ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;namespaceURI, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qName, const&nbsp;<a href="qxmlattributes.html">QXmlAttributes</a>&nbsp;&amp;&nbsp;atts )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it has parsed a start element
+tag.
+<p> There is a corresponding <a href="#endElement">endElement</a>() call when the corresponding
+end element tag is read. The <a href="#startElement">startElement</a>() and endElement() calls
+are always nested correctly. Empty element tags (e.g. <tt>&lt;x/&gt;</tt>)
+cause a startElement() call to be immediately followed by an
+endElement() call.
+<p> The attribute list provided only contains attributes with explicit
+values. The attribute list contains attributes used for namespace
+declaration (i.e. attributes starting with xmlns) only if the
+namespace-prefix property of the reader is TRUE.
+<p> The argument <em>namespaceURI</em> is the namespace URI, or
+<a href="qstring.html#QString-null">QString::null</a> if the element has no namespace URI or if no
+namespace processing is done. <em>localName</em> is the local name
+(without prefix), or QString::null if no namespace processing is
+done, <em>qName</em> is the qualified name (with prefix) and <em>atts</em> are
+the attributes attached to the element. If there are no
+attributes, <em>atts</em> is an empty attributes object.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+<p> <p>See also <a href="#endElement">endElement</a>().
+
+<p>Example: <a href="xml-sax-walkthrough.html#x2138">xml/tagreader/structureparser.cpp</a>.
+<h3 class=fn>bool <a name="startPrefixMapping"></a>QXmlContentHandler::startPrefixMapping ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to signal the begin of a prefix-URI
+namespace mapping scope. This information is not necessary for
+normal namespace processing since the reader automatically
+replaces prefixes for element and attribute names.
+<p> Note that <a href="#startPrefixMapping">startPrefixMapping</a>() and <a href="#endPrefixMapping">endPrefixMapping</a>() calls are
+not guaranteed to be properly nested relative to each other: all
+startPrefixMapping() events occur before the corresponding
+<a href="#startElement">startElement</a>() event, and all endPrefixMapping() events occur
+after the corresponding <a href="#endElement">endElement</a>() event, but their order is not
+otherwise guaranteed.
+<p> The argument <em>prefix</em> is the namespace prefix being declared and
+the argument <em>uri</em> is the namespace URI the prefix is mapped to.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+<p> <p>See also <a href="#endPrefixMapping">endPrefixMapping</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldeclhandler-members.html b/doc/html/qxmldeclhandler-members.html
new file mode 100644
index 0000000..351ddde
--- /dev/null
+++ b/doc/html/qxmldeclhandler-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:461 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDeclHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlDeclHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmldeclhandler.html">QXmlDeclHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmldeclhandler.html#attributeDecl">attributeDecl</a>()
+<li><a href="qxmldeclhandler.html#errorString">errorString</a>()
+<li><a href="qxmldeclhandler.html#externalEntityDecl">externalEntityDecl</a>()
+<li><a href="qxmldeclhandler.html#internalEntityDecl">internalEntityDecl</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldeclhandler.html b/doc/html/qxmldeclhandler.html
new file mode 100644
index 0000000..42dddea
--- /dev/null
+++ b/doc/html/qxmldeclhandler.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1801 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDeclHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlDeclHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlDeclHandler class provides an interface to report declaration
+content of XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmldeclhandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#attributeDecl"><b>attributeDecl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;eName, const&nbsp;QString&nbsp;&amp;&nbsp;aName, const&nbsp;QString&nbsp;&amp;&nbsp;type, const&nbsp;QString&nbsp;&amp;&nbsp;valueDefault, const&nbsp;QString&nbsp;&amp;&nbsp;value ) = 0</li>
+<li class=fn>virtual bool <a href="#internalEntityDecl"><b>internalEntityDecl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;value ) = 0</li>
+<li class=fn>virtual bool <a href="#externalEntityDecl"><b>externalEntityDecl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlDeclHandler class provides an interface to report declaration
+content of XML data.
+
+<p>
+
+<p> You can set the declaration handler with
+<a href="qxmlreader.html#setDeclHandler">QXmlReader::setDeclHandler</a>().
+<p> This interface is based on the SAX2 extension DeclHandler.
+<p> The interface provides <a href="#attributeDecl">attributeDecl</a>(), <a href="#internalEntityDecl">internalEntityDecl</a>() and
+<a href="#externalEntityDecl">externalEntityDecl</a>() functions.
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="attributeDecl"></a>QXmlDeclHandler::attributeDecl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;eName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;aName, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;type, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;valueDefault, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report an attribute type
+declaration. Only the effective (first) declaration for an
+attribute is reported.
+<p> The reader passes the name of the associated element in <em>eName</em>
+and the name of the attribute in <em>aName</em>. It passes a string that
+represents the attribute type in <em>type</em> and a string that
+represents the attribute default in <em>valueDefault</em>. This string
+is one of "#IMPLIED", "#REQUIRED", "#FIXED" or <a href="qstring.html#QString-null">QString::null</a> (if
+none of the others applies). The reader passes the attribute's
+default value in <em>value</em>. If no default value is specified in the
+XML file, <em>value</em> is QString::null.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlDeclHandler::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string if any of
+the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="externalEntityDecl"></a>QXmlDeclHandler::externalEntityDecl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report a parsed external entity
+declaration. Only the effective (first) declaration for each
+entity is reported.
+<p> The reader passes the name of the entity in <em>name</em>, the public
+identifier in <em>publicId</em> and the system identifier in <em>systemId</em>. If there is no public identifier specified, it passes
+<a href="qstring.html#QString-null">QString::null</a> in <em>publicId</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="internalEntityDecl"></a>QXmlDeclHandler::internalEntityDecl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;value )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report an internal entity
+declaration. Only the effective (first) declaration is reported.
+<p> The reader passes the name of the entity in <em>name</em> and the value
+of the entity in <em>value</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldefaulthandler-members.html b/doc/html/qxmldefaulthandler-members.html
new file mode 100644
index 0000000..112c408
--- /dev/null
+++ b/doc/html/qxmldefaulthandler-members.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:470 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDefaultHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlDefaultHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmldefaulthandler.html#QXmlDefaultHandler">QXmlDefaultHandler</a>()
+<li><a href="qxmldefaulthandler.html#~QXmlDefaultHandler">~QXmlDefaultHandler</a>()
+<li><a href="qxmldeclhandler.html#attributeDecl">attributeDecl</a>()
+<li><a href="qxmlcontenthandler.html#characters">characters</a>()
+<li><a href="qxmllexicalhandler.html#comment">comment</a>()
+<li><a href="qxmllexicalhandler.html#endCDATA">endCDATA</a>()
+<li><a href="qxmllexicalhandler.html#endDTD">endDTD</a>()
+<li><a href="qxmlcontenthandler.html#endDocument">endDocument</a>()
+<li><a href="qxmlcontenthandler.html#endElement">endElement</a>()
+<li><a href="qxmllexicalhandler.html#endEntity">endEntity</a>()
+<li><a href="qxmlcontenthandler.html#endPrefixMapping">endPrefixMapping</a>()
+<li><a href="qxmlerrorhandler.html#error">error</a>()
+<li><a href="qxmldeclhandler.html#errorString">errorString</a>()
+<li><a href="qxmldeclhandler.html#externalEntityDecl">externalEntityDecl</a>()
+<li><a href="qxmlerrorhandler.html#fatalError">fatalError</a>()
+<li><a href="qxmlcontenthandler.html#ignorableWhitespace">ignorableWhitespace</a>()
+<li><a href="qxmldeclhandler.html#internalEntityDecl">internalEntityDecl</a>()
+<li><a href="qxmldtdhandler.html#notationDecl">notationDecl</a>()
+<li><a href="qxmlcontenthandler.html#processingInstruction">processingInstruction</a>()
+<li><a href="qxmlentityresolver.html#resolveEntity">resolveEntity</a>()
+<li><a href="qxmlcontenthandler.html#setDocumentLocator">setDocumentLocator</a>()
+<li><a href="qxmlcontenthandler.html#skippedEntity">skippedEntity</a>()
+<li><a href="qxmllexicalhandler.html#startCDATA">startCDATA</a>()
+<li><a href="qxmllexicalhandler.html#startDTD">startDTD</a>()
+<li><a href="qxmlcontenthandler.html#startDocument">startDocument</a>()
+<li><a href="qxmlcontenthandler.html#startElement">startElement</a>()
+<li><a href="qxmllexicalhandler.html#startEntity">startEntity</a>()
+<li><a href="qxmlcontenthandler.html#startPrefixMapping">startPrefixMapping</a>()
+<li><a href="qxmldtdhandler.html#unparsedEntityDecl">unparsedEntityDecl</a>()
+<li><a href="qxmlerrorhandler.html#warning">warning</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldefaulthandler.html b/doc/html/qxmldefaulthandler.html
new file mode 100644
index 0000000..b6c6ddf
--- /dev/null
+++ b/doc/html/qxmldefaulthandler.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1887 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDefaultHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlDefaultHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlDefaultHandler class provides a default implementation of all
+the XML handler classes.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherits <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="qxmldeclhandler.html">QXmlDeclHandler</a>.
+<p><a href="qxmldefaulthandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlDefaultHandler"><b>QXmlDefaultHandler</b></a> ()</li>
+<li class=fn>virtual <a href="#~QXmlDefaultHandler"><b>~QXmlDefaultHandler</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlDefaultHandler class provides a default implementation of all
+the XML handler classes.
+
+<p>
+
+<p> Very often we are only interested in parts of the things that the
+reader reports. This class implements a default behaviour for the
+handler classes (i.e. most of the time do nothing). Usually this
+is the class you subclass for implementing your own customized
+handler.
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlDefaultHandler"></a>QXmlDefaultHandler::QXmlDefaultHandler ()
+</h3>
+
+<p> Constructor.
+
+<h3 class=fn><a name="~QXmlDefaultHandler"></a>QXmlDefaultHandler::~QXmlDefaultHandler ()<tt> [virtual]</tt>
+</h3>
+
+<p> Destructor.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldtdhandler-members.html b/doc/html/qxmldtdhandler-members.html
new file mode 100644
index 0000000..0733de5
--- /dev/null
+++ b/doc/html/qxmldtdhandler-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:433 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDTDHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlDTDHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmldtdhandler.html">QXmlDTDHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmldtdhandler.html#errorString">errorString</a>()
+<li><a href="qxmldtdhandler.html#notationDecl">notationDecl</a>()
+<li><a href="qxmldtdhandler.html#unparsedEntityDecl">unparsedEntityDecl</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmldtdhandler.html b/doc/html/qxmldtdhandler.html
new file mode 100644
index 0000000..898b0b4
--- /dev/null
+++ b/doc/html/qxmldtdhandler.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1530 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlDTDHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlDTDHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlDTDHandler class provides an interface to report
+DTD content of XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmldtdhandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#notationDecl"><b>notationDecl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId ) = 0</li>
+<li class=fn>virtual bool <a href="#unparsedEntityDecl"><b>unparsedEntityDecl</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId, const&nbsp;QString&nbsp;&amp;&nbsp;notationName ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlDTDHandler class provides an interface to report
+DTD content of XML data.
+
+<p>
+
+<p> If an application needs information about notations and unparsed
+entities, it can implement this interface and register an instance
+with <a href="qxmlreader.html#setDTDHandler">QXmlReader::setDTDHandler</a>().
+<p> Note that this interface includes only those DTD events that the
+XML recommendation requires processors to report, i.e. notation
+and unparsed entity declarations using <a href="#notationDecl">notationDecl</a>() and
+<a href="#unparsedEntityDecl">unparsedEntityDecl</a>() respectively.
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlDTDHandler::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string if any of
+the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="notationDecl"></a>QXmlDTDHandler::notationDecl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it has parsed a notation
+declaration.
+<p> The argument <em>name</em> is the notation name, <em>publicId</em> is the
+notation's public identifier and <em>systemId</em> is the notation's
+system identifier.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="unparsedEntityDecl"></a>QXmlDTDHandler::unparsedEntityDecl ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;notationName )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function when it finds an unparsed entity
+declaration.
+<p> The argument <em>name</em> is the unparsed entity's name, <em>publicId</em> is
+the entity's public identifier, <em>systemId</em> is the entity's system
+identifier and <em>notationName</em> is the name of the associated
+notation.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlentityresolver-members.html b/doc/html/qxmlentityresolver-members.html
new file mode 100644
index 0000000..1d084d0
--- /dev/null
+++ b/doc/html/qxmlentityresolver-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:441 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlEntityResolver Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlEntityResolver</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlentityresolver.html">QXmlEntityResolver</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlentityresolver.html#errorString">errorString</a>()
+<li><a href="qxmlentityresolver.html#resolveEntity">resolveEntity</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlentityresolver.html b/doc/html/qxmlentityresolver.html
new file mode 100644
index 0000000..fa86e75
--- /dev/null
+++ b/doc/html/qxmlentityresolver.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1596 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlEntityResolver Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlEntityResolver Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlEntityResolver class provides an interface to
+resolve external entities contained in XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmlentityresolver-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#resolveEntity"><b>resolveEntity</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId, QXmlInputSource&nbsp;*&amp;&nbsp;ret ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlEntityResolver class provides an interface to
+resolve external entities contained in XML data.
+
+<p>
+
+<p> If an application needs to implement customized handling for
+external entities, it must implement this interface, i.e.
+<a href="#resolveEntity">resolveEntity</a>(), and register it with
+<a href="qxmlreader.html#setEntityResolver">QXmlReader::setEntityResolver</a>().
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlEntityResolver::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string if any of
+the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="resolveEntity"></a>QXmlEntityResolver::resolveEntity ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId, <a href="qxmlinputsource.html">QXmlInputSource</a>&nbsp;*&amp;&nbsp;ret )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function before it opens any external
+entity, except the top-level document entity. The application may
+request the reader to resolve the entity itself (<em>ret</em> is 0) or
+to use an entirely different input source (<em>ret</em> points to the
+input source).
+<p> The reader deletes the input source <em>ret</em> when it no longer needs
+it, so you should allocate it on the heap with <tt>new</tt>.
+<p> The argument <em>publicId</em> is the public identifier of the external
+entity, <em>systemId</em> is the system identifier of the external
+entity and <em>ret</em> is the return value of this function. If <em>ret</em>
+is 0 the reader should resolve the entity itself, if it is
+non-zero it must point to an input source which the reader uses
+instead.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlerrorhandler-members.html b/doc/html/qxmlerrorhandler-members.html
new file mode 100644
index 0000000..6b58b4f
--- /dev/null
+++ b/doc/html/qxmlerrorhandler-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:424 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlErrorHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlErrorHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlerrorhandler.html#error">error</a>()
+<li><a href="qxmlerrorhandler.html#errorString">errorString</a>()
+<li><a href="qxmlerrorhandler.html#fatalError">fatalError</a>()
+<li><a href="qxmlerrorhandler.html#warning">warning</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlerrorhandler.html b/doc/html/qxmlerrorhandler.html
new file mode 100644
index 0000000..9355649
--- /dev/null
+++ b/doc/html/qxmlerrorhandler.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1456 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlErrorHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlErrorHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlErrorHandler class provides an interface to report
+errors in XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmlerrorhandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#warning"><b>warning</b></a> ( const&nbsp;QXmlParseException&nbsp;&amp;&nbsp;exception ) = 0</li>
+<li class=fn>virtual bool <a href="#error"><b>error</b></a> ( const&nbsp;QXmlParseException&nbsp;&amp;&nbsp;exception ) = 0</li>
+<li class=fn>virtual bool <a href="#fatalError"><b>fatalError</b></a> ( const&nbsp;QXmlParseException&nbsp;&amp;&nbsp;exception ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlErrorHandler class provides an interface to report
+errors in XML data.
+
+<p>
+
+<p> If you want your application to report errors to the user or to
+perform customized error handling, you should subclass this class.
+<p> You can set the error handler with <a href="qxmlreader.html#setErrorHandler">QXmlReader::setErrorHandler</a>().
+<p> Errors can be reported using <a href="#warning">warning</a>(), <a href="#error">error</a>() and <a href="#fatalError">fatalError</a>(),
+with the error text being reported with <a href="#errorString">errorString</a>().
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="error"></a>QXmlErrorHandler::error ( const&nbsp;<a href="qxmlparseexception.html">QXmlParseException</a>&nbsp;&amp;&nbsp;exception )<tt> [pure virtual]</tt>
+</h3>
+
+<p> A reader might use this function to report a recoverable error. A
+recoverable error corresponds to the definiton of "error" in
+section 1.2 of the XML 1.0 specification. Details of the error are
+stored in <em>exception</em>.
+<p> The reader must continue to provide normal parsing events after
+invoking this function.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlErrorHandler::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string if any of
+the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="fatalError"></a>QXmlErrorHandler::fatalError ( const&nbsp;<a href="qxmlparseexception.html">QXmlParseException</a>&nbsp;&amp;&nbsp;exception )<tt> [pure virtual]</tt>
+</h3>
+
+<p> A reader must use this function to report a non-recoverable error.
+Details of the error are stored in <em>exception</em>.
+<p> If this function returns TRUE the reader might try to go on
+parsing and reporting further errors; but no regular parsing
+events are reported.
+
+<h3 class=fn>bool <a name="warning"></a>QXmlErrorHandler::warning ( const&nbsp;<a href="qxmlparseexception.html">QXmlParseException</a>&nbsp;&amp;&nbsp;exception )<tt> [pure virtual]</tt>
+</h3>
+
+<p> A reader might use this function to report a warning. Warnings are
+conditions that are not errors or fatal errors as defined by the
+XML 1.0 specification. Details of the warning are stored in <em>exception</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlinputsource-members.html b/doc/html/qxmlinputsource-members.html
new file mode 100644
index 0000000..04fd470
--- /dev/null
+++ b/doc/html/qxmlinputsource-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:154 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlInputSource Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlInputSource</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlinputsource.html">QXmlInputSource</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlinputsource.html#QXmlInputSource">QXmlInputSource</a>()
+<li><a href="qxmlinputsource.html#~QXmlInputSource">~QXmlInputSource</a>()
+<li><a href="qxmlinputsource.html#data">data</a>()
+<li><a href="qxmlinputsource.html#fetchData">fetchData</a>()
+<li><a href="qxmlinputsource.html#fromRawData">fromRawData</a>()
+<li><a href="qxmlinputsource.html#next">next</a>()
+<li><a href="qxmlinputsource.html#reset">reset</a>()
+<li><a href="qxmlinputsource.html#setData">setData</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlinputsource.html b/doc/html/qxmlinputsource.html
new file mode 100644
index 0000000..6dca6d3
--- /dev/null
+++ b/doc/html/qxmlinputsource.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:892 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlInputSource Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlInputSource Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlInputSource class provides the input data for the
+QXmlReader subclasses.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p><a href="qxmlinputsource-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlInputSource"><b>QXmlInputSource</b></a> ()</li>
+<li class=fn><a href="#QXmlInputSource-2"><b>QXmlInputSource</b></a> ( QIODevice&nbsp;*&nbsp;dev )</li>
+<li class=fn>QXmlInputSource ( QFile&nbsp;&amp;&nbsp;file ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>QXmlInputSource ( QTextStream&nbsp;&amp;&nbsp;stream ) &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual <a href="#~QXmlInputSource"><b>~QXmlInputSource</b></a> ()</li>
+<li class=fn>virtual void <a href="#setData"><b>setData</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dat )</li>
+<li class=fn>virtual void <a href="#setData-2"><b>setData</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;dat )</li>
+<li class=fn>virtual void <a href="#fetchData"><b>fetchData</b></a> ()</li>
+<li class=fn>virtual QString <a href="#data"><b>data</b></a> ()</li>
+<li class=fn>virtual QChar <a href="#next"><b>next</b></a> ()</li>
+<li class=fn>virtual void <a href="#reset"><b>reset</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual QString <a href="#fromRawData"><b>fromRawData</b></a> ( const&nbsp;QByteArray&nbsp;&amp;&nbsp;data, bool&nbsp;beginning = FALSE )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlInputSource class provides the input data for the
+<a href="qxmlreader.html">QXmlReader</a> subclasses.
+
+<p>
+
+<p> All subclasses of QXmlReader read the input XML document from this
+class.
+<p> This class recognizes the encoding of the data by reading the
+encoding declaration in the XML file if it finds one, and reading
+the data using the corresponding encoding. If it does not find an
+encoding declaration, then it assumes that the data is either in
+UTF-8 or UTF-16, depending on whether it can find a byte-order
+mark.
+<p> There are two ways to populate the input source with data: you can
+construct it with a <a href="qiodevice.html">QIODevice</a>* so that the input source reads the
+data from that device. Or you can set the data explicitly with one
+of the <a href="#setData">setData</a>() functions.
+<p> Usually you either construct a QXmlInputSource that works on a
+QIODevice* or you construct an empty QXmlInputSource and set the
+data with setData(). There are only rare occasions where you would
+want to mix both methods.
+<p> The QXmlReader subclasses use the <a href="#next">next</a>() function to read the
+input character by character. If you want to start from the
+beginning again, use <a href="#reset">reset</a>().
+<p> The functions <a href="#data">data</a>() and <a href="#fetchData">fetchData</a>() are useful if you want to do
+something with the data other than parsing, e.g. displaying the
+raw XML file. The benefit of using the QXmlInputClass in such
+cases is that it tries to use the correct encoding.
+<p> <p>See also <a href="qxmlreader.html">QXmlReader</a>, <a href="qxmlsimplereader.html">QXmlSimpleReader</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlInputSource"></a>QXmlInputSource::QXmlInputSource ()
+</h3>
+Constructs an input source which contains no data.
+<p> <p>See also <a href="#setData">setData</a>().
+
+<h3 class=fn><a name="QXmlInputSource-2"></a>QXmlInputSource::QXmlInputSource ( <a href="qiodevice.html">QIODevice</a>&nbsp;*&nbsp;dev )
+</h3>
+Constructs an input source and gets the data from device <em>dev</em>.
+If <em>dev</em> is not open, it is opened in read-only mode. If <em>dev</em>
+is 0 or it is not possible to read from the device, the input
+source will contain no data.
+<p> <p>See also <a href="#setData">setData</a>(), <a href="#fetchData">fetchData</a>(), and <a href="qiodevice.html">QIODevice</a>.
+
+<h3 class=fn><a name="QXmlInputSource-3"></a>QXmlInputSource::QXmlInputSource ( <a href="qfile.html">QFile</a>&nbsp;&amp;&nbsp;file )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Constructs an input source and gets the data from the file <em>file</em>. If the
+file cannot be read the input source is empty.
+
+<h3 class=fn><a name="QXmlInputSource-4"></a>QXmlInputSource::QXmlInputSource ( <a href="qtextstream.html">QTextStream</a>&nbsp;&amp;&nbsp;stream )
+</h3> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p> Constructs an input source and gets the data from the text stream <em>stream</em>.
+
+<h3 class=fn><a name="~QXmlInputSource"></a>QXmlInputSource::~QXmlInputSource ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="data"></a>QXmlInputSource::data ()<tt> [virtual]</tt>
+</h3>
+Returns the data the input source contains or <a href="qstring.html#QString-null">QString::null</a> if the
+input source does not contain any data.
+<p> <p>See also <a href="#setData">setData</a>(), <a href="#QXmlInputSource">QXmlInputSource</a>(), and <a href="#fetchData">fetchData</a>().
+
+<h3 class=fn>void <a name="fetchData"></a>QXmlInputSource::fetchData ()<tt> [virtual]</tt>
+</h3>
+This function reads more data from the device that was set during
+construction. If the input source already contained data, this
+function deletes that data first.
+<p> This object contains no data after a call to this function if the
+object was constructed without a device to read data from or if
+this function was not able to get more data from the device.
+<p> There are two occasions where a fetch is done implicitly by
+another function call: during construction (so that the object
+starts out with some initial data where available), and during a
+call to <a href="#next">next</a>() (if the data had run out).
+<p> You don't normally need to use this function if you use next().
+<p> <p>See also <a href="#data">data</a>(), <a href="#next">next</a>(), and <a href="#QXmlInputSource">QXmlInputSource</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="fromRawData"></a>QXmlInputSource::fromRawData ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;data, bool&nbsp;beginning = FALSE )<tt> [virtual protected]</tt>
+</h3>
+This function reads the XML file from <em>data</em> and tries to
+recognize the encoding. It converts the raw data <em>data</em> into a
+<a href="qstring.html">QString</a> and returns it. It tries its best to get the correct
+encoding for the XML file.
+<p> If <em>beginning</em> is TRUE, this function assumes that the data
+starts at the beginning of a new XML document and looks for an
+encoding declaration. If <em>beginning</em> is FALSE, it converts the
+raw data using the encoding determined from prior calls.
+
+<h3 class=fn><a href="qchar.html">QChar</a> <a name="next"></a>QXmlInputSource::next ()<tt> [virtual]</tt>
+</h3>
+Returns the next character of the input source. If this function
+reaches the end of available data, it returns
+QXmlInputSource::EndOfData. If you call <a href="#next">next</a>() after that, it
+tries to fetch more data by calling <a href="#fetchData">fetchData</a>(). If the
+fetchData() call results in new data, this function returns the
+first character of that data; otherwise it returns
+QXmlInputSource::EndOfDocument.
+<p> <p>See also <a href="#reset">reset</a>(), <a href="#fetchData">fetchData</a>(), <a href="qxmlsimplereader.html#parse">QXmlSimpleReader::parse</a>(), and <a href="qxmlsimplereader.html#parseContinue">QXmlSimpleReader::parseContinue</a>().
+
+<h3 class=fn>void <a name="reset"></a>QXmlInputSource::reset ()<tt> [virtual]</tt>
+</h3>
+This function sets the position used by <a href="#next">next</a>() to the beginning of
+the data returned by <a href="#data">data</a>(). This is useful if you want to use the
+input source for more than one parse.
+<p> <p>See also <a href="#next">next</a>().
+
+<p>Example: <a href="tagreader-with-features-example.html#x1975">xml/tagreader-with-features/tagreader.cpp</a>.
+<h3 class=fn>void <a name="setData"></a>QXmlInputSource::setData ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;dat )<tt> [virtual]</tt>
+</h3>
+Sets the data of the input source to <em>dat</em>.
+<p> If the input source already contains data, this function deletes
+that data first.
+<p> <p>See also <a href="#data">data</a>().
+
+<h3 class=fn>void <a name="setData-2"></a>QXmlInputSource::setData ( const&nbsp;<a href="qbytearray.html">QByteArray</a>&nbsp;&amp;&nbsp;dat )<tt> [virtual]</tt>
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> The data <em>dat</em> is passed through the correct text-codec, before
+it is set.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmllexicalhandler-members.html b/doc/html/qxmllexicalhandler-members.html
new file mode 100644
index 0000000..f22e5d9
--- /dev/null
+++ b/doc/html/qxmllexicalhandler-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:448 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlLexicalHandler Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlLexicalHandler</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>, including inherited members.
+
+<ul>
+<li><a href="qxmllexicalhandler.html#comment">comment</a>()
+<li><a href="qxmllexicalhandler.html#endCDATA">endCDATA</a>()
+<li><a href="qxmllexicalhandler.html#endDTD">endDTD</a>()
+<li><a href="qxmllexicalhandler.html#endEntity">endEntity</a>()
+<li><a href="qxmllexicalhandler.html#errorString">errorString</a>()
+<li><a href="qxmllexicalhandler.html#startCDATA">startCDATA</a>()
+<li><a href="qxmllexicalhandler.html#startDTD">startDTD</a>()
+<li><a href="qxmllexicalhandler.html#startEntity">startEntity</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmllexicalhandler.html b/doc/html/qxmllexicalhandler.html
new file mode 100644
index 0000000..2a86238
--- /dev/null
+++ b/doc/html/qxmllexicalhandler.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:1651 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlLexicalHandler Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlLexicalHandler Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlLexicalHandler class provides an interface to
+report the lexical content of XML data.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>.
+<p><a href="qxmllexicalhandler-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#startDTD"><b>startDTD</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, const&nbsp;QString&nbsp;&amp;&nbsp;publicId, const&nbsp;QString&nbsp;&amp;&nbsp;systemId ) = 0</li>
+<li class=fn>virtual bool <a href="#endDTD"><b>endDTD</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#startEntity"><b>startEntity</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) = 0</li>
+<li class=fn>virtual bool <a href="#endEntity"><b>endEntity</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) = 0</li>
+<li class=fn>virtual bool <a href="#startCDATA"><b>startCDATA</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#endCDATA"><b>endCDATA</b></a> () = 0</li>
+<li class=fn>virtual bool <a href="#comment"><b>comment</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;ch ) = 0</li>
+<li class=fn>virtual QString <a href="#errorString"><b>errorString</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlLexicalHandler class provides an interface to
+report the lexical content of XML data.
+
+<p>
+
+<p> The events in the lexical handler apply to the entire document,
+not just to the document element, and all lexical handler events
+appear between the content handler's startDocument and endDocument
+events.
+<p> You can set the lexical handler with
+<a href="qxmlreader.html#setLexicalHandler">QXmlReader::setLexicalHandler</a>().
+<p> This interface's design is based on the the SAX2 extension
+LexicalHandler.
+<p> The interface provides the <a href="#startDTD">startDTD</a>(), <a href="#endDTD">endDTD</a>(), <a href="#startEntity">startEntity</a>(),
+<a href="#endEntity">endEntity</a>(), <a href="#startCDATA">startCDATA</a>(), <a href="#endCDATA">endCDATA</a>() and <a href="#comment">comment</a>() functions.
+<p> See also the <a href="xml.html#sax2Intro">Introduction to SAX2</a>.
+<p> <p>See also <a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>, <a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn>bool <a name="comment"></a>QXmlLexicalHandler::comment ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;ch )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report an XML comment anywhere
+in the document. It reports the text of the comment in <em>ch</em>.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+
+<h3 class=fn>bool <a name="endCDATA"></a>QXmlLexicalHandler::endCDATA ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the end of a CDATA
+section.
+<p> If this function returns FALSE the reader stops parsing and reports
+an error. The reader uses the function <a href="#errorString">errorString</a>() to get the error
+message.
+<p> <p>See also <a href="#startCDATA">startCDATA</a>() and <a href="qxmlcontenthandler.html#characters">QXmlContentHandler::characters</a>().
+
+<h3 class=fn>bool <a name="endDTD"></a>QXmlLexicalHandler::endDTD ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the end of a DTD
+declaration, if any.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#startDTD">startDTD</a>().
+
+<h3 class=fn>bool <a name="endEntity"></a>QXmlLexicalHandler::endEntity ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the end of an entity
+called <em>name</em>.
+<p> For every <a href="#startEntity">startEntity</a>() call, there is a corresponding <a href="#endEntity">endEntity</a>()
+call. The calls to startEntity() and endEntity() are properly
+nested.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#startEntity">startEntity</a>(), <a href="qxmlcontenthandler.html#skippedEntity">QXmlContentHandler::skippedEntity</a>(), and <a href="qxmlsimplereader.html#setFeature">QXmlSimpleReader::setFeature</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="errorString"></a>QXmlLexicalHandler::errorString ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to get an error string if any of
+the handler functions returns FALSE.
+
+<h3 class=fn>bool <a name="startCDATA"></a>QXmlLexicalHandler::startCDATA ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the start of a CDATA
+section. The content of the CDATA section is reported through the
+<a href="qxmlcontenthandler.html#characters">QXmlContentHandler::characters</a>() function. This function is
+intended only to report the boundary.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#endCDATA">endCDATA</a>().
+
+<h3 class=fn>bool <a name="startDTD"></a>QXmlLexicalHandler::startDTD ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;publicId, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;systemId )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the start of a DTD
+declaration, if any. It reports the name of the document type in
+<em>name</em>, the public identifier in <em>publicId</em> and the system
+identifier in <em>systemId</em>.
+<p> If the public identifier is missing, <em>publicId</em> is set to
+<a href="qstring.html#QString-null">QString::null</a>. If the system identifier is missing, <em>systemId</em> is
+set to QString::null. Note that it is not valid XML to have a
+public identifier but no system identifier; in such cases a parse
+error will occur.
+<p> All declarations reported through <a href="qxmldtdhandler.html">QXmlDTDHandler</a> or
+<a href="qxmldeclhandler.html">QXmlDeclHandler</a> appear between the <a href="#startDTD">startDTD</a>() and <a href="#endDTD">endDTD</a>() calls.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#endDTD">endDTD</a>().
+
+<h3 class=fn>bool <a name="startEntity"></a>QXmlLexicalHandler::startEntity ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name )<tt> [pure virtual]</tt>
+</h3>
+
+<p> The reader calls this function to report the start of an entity
+called <em>name</em>.
+<p> Note that if the entity is unknown, the reader reports it through
+<a href="qxmlcontenthandler.html#skippedEntity">QXmlContentHandler::skippedEntity</a>() and not through this
+function.
+<p> If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function <a href="#errorString">errorString</a>() to
+get the error message.
+<p> <p>See also <a href="#endEntity">endEntity</a>() and <a href="qxmlsimplereader.html#setFeature">QXmlSimpleReader::setFeature</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmllocator-members.html b/doc/html/qxmllocator-members.html
new file mode 100644
index 0000000..3d01ef9
--- /dev/null
+++ b/doc/html/qxmllocator-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:391 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlLocator Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlLocator</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmllocator.html">QXmlLocator</a>, including inherited members.
+
+<ul>
+<li><a href="qxmllocator.html#QXmlLocator">QXmlLocator</a>()
+<li><a href="qxmllocator.html#~QXmlLocator">~QXmlLocator</a>()
+<li><a href="qxmllocator.html#columnNumber">columnNumber</a>()
+<li><a href="qxmllocator.html#lineNumber">lineNumber</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmllocator.html b/doc/html/qxmllocator.html
new file mode 100644
index 0000000..13f5736
--- /dev/null
+++ b/doc/html/qxmllocator.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:280 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlLocator Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlLocator Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlLocator class provides the XML handler classes with
+information about the parsing position within a file.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p><a href="qxmllocator-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlLocator"><b>QXmlLocator</b></a> ()</li>
+<li class=fn>virtual <a href="#~QXmlLocator"><b>~QXmlLocator</b></a> ()</li>
+<li class=fn>virtual int <a href="#columnNumber"><b>columnNumber</b></a> () = 0</li>
+<li class=fn>virtual int <a href="#lineNumber"><b>lineNumber</b></a> () = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlLocator class provides the XML handler classes with
+information about the parsing position within a file.
+
+<p>
+
+<p> The reader reports a QXmlLocator to the content handler before it
+starts to parse the document. This is done with the
+<a href="qxmlcontenthandler.html#setDocumentLocator">QXmlContentHandler::setDocumentLocator</a>() function. The handler
+classes can now use this locator to get the position (<a href="#lineNumber">lineNumber</a>()
+and <a href="#columnNumber">columnNumber</a>()) that the reader has reached.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlLocator"></a>QXmlLocator::QXmlLocator ()
+</h3>
+Constructor.
+
+<h3 class=fn><a name="~QXmlLocator"></a>QXmlLocator::~QXmlLocator ()<tt> [virtual]</tt>
+</h3>
+Destructor.
+
+<h3 class=fn>int <a name="columnNumber"></a>QXmlLocator::columnNumber ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the column number (starting at 1) or -1 if there is no
+column number available.
+
+<h3 class=fn>int <a name="lineNumber"></a>QXmlLocator::lineNumber ()<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the line number (starting at 1) or -1 if there is no line
+number available.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlnamespacesupport-members.html b/doc/html/qxmlnamespacesupport-members.html
new file mode 100644
index 0000000..d2afa0c
--- /dev/null
+++ b/doc/html/qxmlnamespacesupport-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:88 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlNamespaceSupport Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlNamespaceSupport</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlnamespacesupport.html#QXmlNamespaceSupport">QXmlNamespaceSupport</a>()
+<li><a href="qxmlnamespacesupport.html#~QXmlNamespaceSupport">~QXmlNamespaceSupport</a>()
+<li><a href="qxmlnamespacesupport.html#popContext">popContext</a>()
+<li><a href="qxmlnamespacesupport.html#prefix">prefix</a>()
+<li><a href="qxmlnamespacesupport.html#prefixes">prefixes</a>()
+<li><a href="qxmlnamespacesupport.html#processName">processName</a>()
+<li><a href="qxmlnamespacesupport.html#pushContext">pushContext</a>()
+<li><a href="qxmlnamespacesupport.html#reset">reset</a>()
+<li><a href="qxmlnamespacesupport.html#setPrefix">setPrefix</a>()
+<li><a href="qxmlnamespacesupport.html#splitName">splitName</a>()
+<li><a href="qxmlnamespacesupport.html#uri">uri</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlnamespacesupport.html b/doc/html/qxmlnamespacesupport.html
new file mode 100644
index 0000000..0937988
--- /dev/null
+++ b/doc/html/qxmlnamespacesupport.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:377 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlNamespaceSupport Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlNamespaceSupport Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlNamespaceSupport class is a helper class for XML
+readers which want to include namespace support.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p><a href="qxmlnamespacesupport-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlNamespaceSupport"><b>QXmlNamespaceSupport</b></a> ()</li>
+<li class=fn><a href="#~QXmlNamespaceSupport"><b>~QXmlNamespaceSupport</b></a> ()</li>
+<li class=fn>void <a href="#setPrefix"><b>setPrefix</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pre, const&nbsp;QString&nbsp;&amp;&nbsp;uri )</li>
+<li class=fn>QString <a href="#prefix"><b>prefix</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uri ) const</li>
+<li class=fn>QString <a href="#uri"><b>uri</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;prefix ) const</li>
+<li class=fn>void <a href="#splitName"><b>splitName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qname, QString&nbsp;&amp;&nbsp;prefix, QString&nbsp;&amp;&nbsp;localname ) const</li>
+<li class=fn>void <a href="#processName"><b>processName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;qname, bool&nbsp;isAttribute, QString&nbsp;&amp;&nbsp;nsuri, QString&nbsp;&amp;&nbsp;localname ) const</li>
+<li class=fn>QStringList <a href="#prefixes"><b>prefixes</b></a> () const</li>
+<li class=fn>QStringList <a href="#prefixes-2"><b>prefixes</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;uri ) const</li>
+<li class=fn>void <a href="#pushContext"><b>pushContext</b></a> ()</li>
+<li class=fn>void <a href="#popContext"><b>popContext</b></a> ()</li>
+<li class=fn>void <a href="#reset"><b>reset</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlNamespaceSupport class is a helper class for XML
+readers which want to include namespace support.
+
+<p>
+
+<p> You can set the prefix for the current namespace with <a href="#setPrefix">setPrefix</a>(),
+and get the list of current prefixes (or those for a given URI)
+with <a href="#prefixes">prefixes</a>(). The namespace URI is available from <a href="#uri">uri</a>(). Use
+<a href="#pushContext">pushContext</a>() to start a new namespace context, and <a href="#popContext">popContext</a>()
+to return to the previous namespace context. Use <a href="#splitName">splitName</a>() or
+<a href="#processName">processName</a>() to split a name into its prefix and local name.
+<p> See also the <a href="xml.html#sax2Namespaces">namespace description</a>.
+<p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlNamespaceSupport"></a>QXmlNamespaceSupport::QXmlNamespaceSupport ()
+</h3>
+Constructs a QXmlNamespaceSupport.
+
+<h3 class=fn><a name="~QXmlNamespaceSupport"></a>QXmlNamespaceSupport::~QXmlNamespaceSupport ()
+</h3>
+Destroys a QXmlNamespaceSupport.
+
+<h3 class=fn>void <a name="popContext"></a>QXmlNamespaceSupport::popContext ()
+</h3>
+Reverts to the previous namespace context.
+<p> Normally, you should pop the context at the end of each XML
+element. After popping the context, all namespace prefix mappings
+that were previously in force are restored.
+<p> <p>See also <a href="#pushContext">pushContext</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="prefix"></a>QXmlNamespaceSupport::prefix ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri ) const
+</h3>
+Returns one of the prefixes mapped to the namespace URI <em>uri</em>.
+<p> If more than one prefix is currently mapped to the same URI, this
+function makes an arbitrary selection; if you want all of the
+prefixes, use <a href="#prefixes">prefixes</a>() instead.
+<p> Note: to check for a default prefix, use the <a href="#uri">uri</a>() function with
+an argument of "".
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="prefixes"></a>QXmlNamespaceSupport::prefixes () const
+</h3>
+Returns a list of all the prefixes currently declared.
+<p> If there is a default prefix, this function does not return it in
+the list; check for the default prefix using <a href="#uri">uri</a>() with an
+argument of "".
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myXmlNamespaceSupport.prefixes();
+ QStringList::iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while ( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="prefixes-2"></a>QXmlNamespaceSupport::prefixes ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri ) const
+</h3>
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+<p> Returns a list of all prefixes currently declared for the
+namespace URI <em>uri</em>.
+<p> The "xml:" prefix is included. If you only want one prefix that is
+mapped to the namespace URI, and you don't care which one you get,
+use the <a href="#prefix">prefix</a>() function instead.
+<p> Note: the empty (default) prefix is never included in this list;
+to check for the presence of a default namespace, use <a href="#uri">uri</a>() with
+an argument of "".
+<p> Note that if you want to iterate over the list, you should iterate
+over a copy, e.g.
+<pre>
+ <a href="qstringlist.html">QStringList</a> list = myXmlNamespaceSupport.prefixes( "" );
+ QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
+ while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
+ myProcessing( *it );
+ ++it;
+ }
+ </pre>
+
+
+<h3 class=fn>void <a name="processName"></a>QXmlNamespaceSupport::processName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qname, bool&nbsp;isAttribute, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;nsuri, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localname ) const
+</h3>
+Processes a raw XML 1.0 name in the current context by removing
+the prefix and looking it up among the prefixes currently
+declared.
+<p> <em>qname</em> is the raw XML 1.0 name to be processed. <em>isAttribute</em>
+is TRUE if the name is an attribute name.
+<p> This function stores the namespace URI in <em>nsuri</em> (which will be
+set to <a href="qstring.html#QString-null">QString::null</a> if the raw name has an undeclared prefix),
+and stores the local name (without prefix) in <em>localname</em> (which
+will be set to QString::null if no namespace is in use).
+<p> Note that attribute names are processed differently than element
+names: an unprefixed element name gets the default namespace (if
+any), while an unprefixed element name does not.
+
+<h3 class=fn>void <a name="pushContext"></a>QXmlNamespaceSupport::pushContext ()
+</h3>
+Starts a new namespace context.
+<p> Normally, you should push a new context at the beginning of each
+XML element: the new context automatically inherits the
+declarations of its parent context, and it also keeps track of
+which declarations were made within this context.
+<p> <p>See also <a href="#popContext">popContext</a>().
+
+<h3 class=fn>void <a name="reset"></a>QXmlNamespaceSupport::reset ()
+</h3>
+Resets this namespace support object ready for reuse.
+
+<h3 class=fn>void <a name="setPrefix"></a>QXmlNamespaceSupport::setPrefix ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;pre, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;uri )
+</h3>
+This function declares a prefix <em>pre</em> in the current namespace
+context to be the namespace URI <em>uri</em>. The prefix remains in
+force until this context is popped, unless it is shadowed in a
+descendant context.
+<p> Note that there is an asymmetry in this library. <a href="#prefix">prefix</a>() does not
+return the default "" prefix, even if you have declared one; to
+check for a default prefix, you must look it up explicitly using
+<a href="#uri">uri</a>(). This asymmetry exists to make it easier to look up prefixes
+for attribute names, where the default prefix is not allowed.
+
+<h3 class=fn>void <a name="splitName"></a>QXmlNamespaceSupport::splitName ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;qname, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix, <a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;localname ) const
+</h3>
+Splits the name <em>qname</em> at the ':' and returns the prefix in <em>prefix</em> and the local name in <em>localname</em>.
+<p> <p>See also <a href="#processName">processName</a>().
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="uri"></a>QXmlNamespaceSupport::uri ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;prefix ) const
+</h3>
+Looks up the prefix <em>prefix</em> in the current context and returns
+the currently-mapped namespace URI. Use the empty string ("") for
+the default namespace.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlparseexception-members.html b/doc/html/qxmlparseexception-members.html
new file mode 100644
index 0000000..b953e7d
--- /dev/null
+++ b/doc/html/qxmlparseexception-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:196 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlParseException Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlParseException</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlparseexception.html">QXmlParseException</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlparseexception.html#QXmlParseException">QXmlParseException</a>()
+<li><a href="qxmlparseexception.html#columnNumber">columnNumber</a>()
+<li><a href="qxmlparseexception.html#lineNumber">lineNumber</a>()
+<li><a href="qxmlparseexception.html#message">message</a>()
+<li><a href="qxmlparseexception.html#publicId">publicId</a>()
+<li><a href="qxmlparseexception.html#systemId">systemId</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlparseexception.html b/doc/html/qxmlparseexception.html
new file mode 100644
index 0000000..33c5d42
--- /dev/null
+++ b/doc/html/qxmlparseexception.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:215 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlParseException Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlParseException Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlParseException class is used to report errors with
+the QXmlErrorHandler interface.
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p><a href="qxmlparseexception-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlParseException"><b>QXmlParseException</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name = "", int&nbsp;c = -1, int&nbsp;l = -1, const&nbsp;QString&nbsp;&amp;&nbsp;p = "", const&nbsp;QString&nbsp;&amp;&nbsp;s = "" )</li>
+<li class=fn>int <a href="#columnNumber"><b>columnNumber</b></a> () const</li>
+<li class=fn>int <a href="#lineNumber"><b>lineNumber</b></a> () const</li>
+<li class=fn>QString <a href="#publicId"><b>publicId</b></a> () const</li>
+<li class=fn>QString <a href="#systemId"><b>systemId</b></a> () const</li>
+<li class=fn>QString <a href="#message"><b>message</b></a> () const</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlParseException class is used to report errors with
+the <a href="qxmlerrorhandler.html">QXmlErrorHandler</a> interface.
+
+<p>
+
+<p> The XML subsystem constructs an instance of this class when it
+detects an error. You can retrieve the place where the error
+occurred using <a href="#systemId">systemId</a>(), <a href="#publicId">publicId</a>(), <a href="#lineNumber">lineNumber</a>() and
+<a href="#columnNumber">columnNumber</a>(), along with the error <a href="#message">message</a>().
+<p> <p>See also <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>, <a href="qxmlreader.html">QXmlReader</a>, and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlParseException"></a>QXmlParseException::QXmlParseException ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name = "", int&nbsp;c = -1, int&nbsp;l = -1, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;p = "", const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;s = "" )
+</h3>
+
+<p> Constructs a parse exception with the error string <em>name</em> for
+column <em>c</em> and line <em>l</em> for the public identifier <em>p</em> and the
+system identifier <em>s</em>.
+
+<h3 class=fn>int <a name="columnNumber"></a>QXmlParseException::columnNumber () const
+</h3>
+Returns the column number where the error occurred.
+
+<h3 class=fn>int <a name="lineNumber"></a>QXmlParseException::lineNumber () const
+</h3>
+Returns the line number where the error occurred.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="message"></a>QXmlParseException::message () const
+</h3>
+Returns the error message.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="publicId"></a>QXmlParseException::publicId () const
+</h3>
+Returns the public identifier where the error occurred.
+
+<h3 class=fn><a href="qstring.html">QString</a> <a name="systemId"></a>QXmlParseException::systemId () const
+</h3>
+Returns the system identifier where the error occurred.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlreader-members.html b/doc/html/qxmlreader-members.html
new file mode 100644
index 0000000..4687514
--- /dev/null
+++ b/doc/html/qxmlreader-members.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:224 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlReader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlReader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlreader.html">QXmlReader</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlreader.html#DTDHandler">DTDHandler</a>()
+<li><a href="qxmlreader.html#contentHandler">contentHandler</a>()
+<li><a href="qxmlreader.html#declHandler">declHandler</a>()
+<li><a href="qxmlreader.html#entityResolver">entityResolver</a>()
+<li><a href="qxmlreader.html#errorHandler">errorHandler</a>()
+<li><a href="qxmlreader.html#feature">feature</a>()
+<li><a href="qxmlreader.html#hasFeature">hasFeature</a>()
+<li><a href="qxmlreader.html#hasProperty">hasProperty</a>()
+<li><a href="qxmlreader.html#lexicalHandler">lexicalHandler</a>()
+<li><a href="qxmlreader.html#parse">parse</a>()
+<li><a href="qxmlreader.html#property">property</a>()
+<li><a href="qxmlreader.html#setContentHandler">setContentHandler</a>()
+<li><a href="qxmlreader.html#setDTDHandler">setDTDHandler</a>()
+<li><a href="qxmlreader.html#setDeclHandler">setDeclHandler</a>()
+<li><a href="qxmlreader.html#setEntityResolver">setEntityResolver</a>()
+<li><a href="qxmlreader.html#setErrorHandler">setErrorHandler</a>()
+<li><a href="qxmlreader.html#setFeature">setFeature</a>()
+<li><a href="qxmlreader.html#setLexicalHandler">setLexicalHandler</a>()
+<li><a href="qxmlreader.html#setProperty">setProperty</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlreader.html b/doc/html/qxmlreader.html
new file mode 100644
index 0000000..288b78f
--- /dev/null
+++ b/doc/html/qxmlreader.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:2348 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlReader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlReader Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlReader class provides an interface for XML readers (i.e.
+parsers).
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherited by <a href="qxmlsimplereader.html">QXmlSimpleReader</a>.
+<p><a href="qxmlreader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#feature"><b>feature</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;*&nbsp;ok = 0 ) const = 0</li>
+<li class=fn>virtual void <a href="#setFeature"><b>setFeature</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;value ) = 0</li>
+<li class=fn>virtual bool <a href="#hasFeature"><b>hasFeature</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const = 0</li>
+<li class=fn>virtual void * <a href="#property"><b>property</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;*&nbsp;ok = 0 ) const = 0</li>
+<li class=fn>virtual void <a href="#setProperty"><b>setProperty</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, void&nbsp;*&nbsp;value ) = 0</li>
+<li class=fn>virtual bool <a href="#hasProperty"><b>hasProperty</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name ) const = 0</li>
+<li class=fn>virtual void <a href="#setEntityResolver"><b>setEntityResolver</b></a> ( QXmlEntityResolver&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlEntityResolver * <a href="#entityResolver"><b>entityResolver</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setDTDHandler"><b>setDTDHandler</b></a> ( QXmlDTDHandler&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlDTDHandler * <a href="#DTDHandler"><b>DTDHandler</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setContentHandler"><b>setContentHandler</b></a> ( QXmlContentHandler&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlContentHandler * <a href="#contentHandler"><b>contentHandler</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setErrorHandler"><b>setErrorHandler</b></a> ( QXmlErrorHandler&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlErrorHandler * <a href="#errorHandler"><b>errorHandler</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setLexicalHandler"><b>setLexicalHandler</b></a> ( QXmlLexicalHandler&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlLexicalHandler * <a href="#lexicalHandler"><b>lexicalHandler</b></a> () const = 0</li>
+<li class=fn>virtual void <a href="#setDeclHandler"><b>setDeclHandler</b></a> ( QXmlDeclHandler&nbsp;*&nbsp;handler ) = 0</li>
+<li class=fn>virtual QXmlDeclHandler * <a href="#declHandler"><b>declHandler</b></a> () const = 0</li>
+<li class=fn>virtual bool parse ( const&nbsp;QXmlInputSource&nbsp;&amp;&nbsp;input ) = 0 &nbsp;<em>(obsolete)</em></li>
+<li class=fn>virtual bool <a href="#parse"><b>parse</b></a> ( const&nbsp;QXmlInputSource&nbsp;*&nbsp;input ) = 0</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlReader class provides an interface for XML readers (i.e.
+parsers).
+
+<p>
+
+<p> This abstract class provides an interface for all of Qt's XML
+readers. Currently there is only one implementation of a reader
+included in Qt's XML module: <a href="qxmlsimplereader.html">QXmlSimpleReader</a>. In future releases
+there might be more readers with different properties available
+(e.g. a validating parser).
+<p> The design of the XML classes follows the <a href="http://www.saxproject.org/">SAX2 Java interface</a>, with
+the names adapted to fit Qt naming conventions. It should be very
+easy for anybody who has worked with SAX2 to get started with the
+Qt XML classes.
+<p> All readers use the class <a href="qxmlinputsource.html">QXmlInputSource</a> to read the input
+document. Since you are normally interested in particular content
+in the XML document, the reader reports the content through
+special handler classes (<a href="qxmldtdhandler.html">QXmlDTDHandler</a>, <a href="qxmldeclhandler.html">QXmlDeclHandler</a>,
+<a href="qxmlcontenthandler.html">QXmlContentHandler</a>, <a href="qxmlentityresolver.html">QXmlEntityResolver</a>, <a href="qxmlerrorhandler.html">QXmlErrorHandler</a> and
+<a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>), which you must subclass, if you want to
+process the contents.
+<p> Since the handler classes only describe interfaces you must
+implement all the functions. We provide the <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+class to make this easier: it implements a default behaviour (do
+nothing) for all functions, so you can subclass it and just
+implement the functions you are interested in.
+<p> Features and properties of the reader can be set with <a href="#setFeature">setFeature</a>()
+and <a href="#setProperty">setProperty</a>() respectively. You can set the reader to use your
+own subclasses with <a href="#setEntityResolver">setEntityResolver</a>(), <a href="#setDTDHandler">setDTDHandler</a>(),
+<a href="#setContentHandler">setContentHandler</a>(), <a href="#setErrorHandler">setErrorHandler</a>(), <a href="#setLexicalHandler">setLexicalHandler</a>() and
+<a href="#setDeclHandler">setDeclHandler</a>(). The parse itself is started with a call to
+<a href="#parse">parse</a>().
+<p> <p>See also <a href="qxmlsimplereader.html">QXmlSimpleReader</a> and <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a href="qxmldtdhandler.html">QXmlDTDHandler</a>&nbsp;* <a name="DTDHandler"></a>QXmlReader::DTDHandler () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the DTD handler or 0 if none was set.
+<p> <p>See also <a href="#setDTDHandler">setDTDHandler</a>().
+
+<h3 class=fn><a href="qxmlcontenthandler.html">QXmlContentHandler</a>&nbsp;* <a name="contentHandler"></a>QXmlReader::contentHandler () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the content handler or 0 if none was set.
+<p> <p>See also <a href="#setContentHandler">setContentHandler</a>().
+
+<h3 class=fn><a href="qxmldeclhandler.html">QXmlDeclHandler</a>&nbsp;* <a name="declHandler"></a>QXmlReader::declHandler () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the declaration handler or 0 if none was set.
+<p> <p>See also <a href="#setDeclHandler">setDeclHandler</a>().
+
+<h3 class=fn><a href="qxmlentityresolver.html">QXmlEntityResolver</a>&nbsp;* <a name="entityResolver"></a>QXmlReader::entityResolver () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the entity resolver or 0 if none was set.
+<p> <p>See also <a href="#setEntityResolver">setEntityResolver</a>().
+
+<h3 class=fn><a href="qxmlerrorhandler.html">QXmlErrorHandler</a>&nbsp;* <a name="errorHandler"></a>QXmlReader::errorHandler () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the error handler or 0 if none is set.
+<p> <p>See also <a href="#setErrorHandler">setErrorHandler</a>().
+
+<h3 class=fn>bool <a name="feature"></a>QXmlReader::feature ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;*&nbsp;ok = 0 ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> If the reader has the feature called <em>name</em>, the feature's value
+is returned. If no such feature exists the return value is
+undefined.
+<p> If <em>ok</em> is not 0: <em>*ok</em> is set to TRUE if the reader has the
+feature called <em>name</em>; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#setFeature">setFeature</a>() and <a href="#hasFeature">hasFeature</a>().
+
+<h3 class=fn>bool <a name="hasFeature"></a>QXmlReader::hasFeature ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns <tt>TRUE</tt> if the reader has the feature called <em>name</em>;
+otherwise returns FALSE.
+<p> <p>See also <a href="#feature">feature</a>() and <a href="#setFeature">setFeature</a>().
+
+<h3 class=fn>bool <a name="hasProperty"></a>QXmlReader::hasProperty ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns TRUE if the reader has the property <em>name</em>; otherwise
+returns FALSE.
+<p> <p>See also <a href="#property">property</a>() and <a href="#setProperty">setProperty</a>().
+
+<h3 class=fn><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>&nbsp;* <a name="lexicalHandler"></a>QXmlReader::lexicalHandler () const<tt> [pure virtual]</tt>
+</h3>
+
+<p> Returns the lexical handler or 0 if none was set.
+<p> <p>See also <a href="#setLexicalHandler">setLexicalHandler</a>().
+
+<h3 class=fn>bool <a name="parse"></a>QXmlReader::parse ( const&nbsp;<a href="qxmlinputsource.html">QXmlInputSource</a>&nbsp;*&nbsp;input )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Reads an XML document from <em>input</em> and parses it. Returns TRUE if
+the parsing was successful; otherwise returns FALSE.
+
+<p>Example: <a href="xml-sax-walkthrough.html#x2139">xml/tagreader/tagreader.cpp</a>.
+<h3 class=fn>bool <a name="parse-2"></a>QXmlReader::parse ( const&nbsp;<a href="qxmlinputsource.html">QXmlInputSource</a>&nbsp;&amp;&nbsp;input )<tt> [pure virtual]</tt>
+</h3>
+
+<p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<h3 class=fn>void * <a name="property"></a>QXmlReader::property ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;*&nbsp;ok = 0 ) const<tt> [pure virtual]</tt>
+</h3>
+
+<p> If the reader has the property <em>name</em>, this function returns the
+value of the property; otherwise the return value is undefined.
+<p> If <em>ok</em> is not 0: if the reader has the <em>name</em> property <em>*ok</em>
+is set to TRUE; otherwise <em>*ok</em> is set to FALSE.
+<p> <p>See also <a href="#setProperty">setProperty</a>() and <a href="#hasProperty">hasProperty</a>().
+
+<h3 class=fn>void <a name="setContentHandler"></a>QXmlReader::setContentHandler ( <a href="qxmlcontenthandler.html">QXmlContentHandler</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the content handler to <em>handler</em>.
+<p> <p>See also <a href="#contentHandler">contentHandler</a>().
+
+<p>Example: <a href="xml-sax-walkthrough.html#x2140">xml/tagreader/tagreader.cpp</a>.
+<h3 class=fn>void <a name="setDTDHandler"></a>QXmlReader::setDTDHandler ( <a href="qxmldtdhandler.html">QXmlDTDHandler</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the DTD handler to <em>handler</em>.
+<p> <p>See also <a href="#DTDHandler">DTDHandler</a>().
+
+<h3 class=fn>void <a name="setDeclHandler"></a>QXmlReader::setDeclHandler ( <a href="qxmldeclhandler.html">QXmlDeclHandler</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the declaration handler to <em>handler</em>.
+<p> <p>See also <a href="#declHandler">declHandler</a>().
+
+<h3 class=fn>void <a name="setEntityResolver"></a>QXmlReader::setEntityResolver ( <a href="qxmlentityresolver.html">QXmlEntityResolver</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the entity resolver to <em>handler</em>.
+<p> <p>See also <a href="#entityResolver">entityResolver</a>().
+
+<h3 class=fn>void <a name="setErrorHandler"></a>QXmlReader::setErrorHandler ( <a href="qxmlerrorhandler.html">QXmlErrorHandler</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the error handler to <em>handler</em>. Clears the error handler if
+<em>handler</em> is 0.
+<p> <p>See also <a href="#errorHandler">errorHandler</a>().
+
+<h3 class=fn>void <a name="setFeature"></a>QXmlReader::setFeature ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;value )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the feature called <em>name</em> to the given <em>value</em>. If the
+reader doesn't have the feature nothing happens.
+<p> <p>See also <a href="#feature">feature</a>() and <a href="#hasFeature">hasFeature</a>().
+
+<p>Reimplemented in <a href="qxmlsimplereader.html#setFeature">QXmlSimpleReader</a>.
+<h3 class=fn>void <a name="setLexicalHandler"></a>QXmlReader::setLexicalHandler ( <a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>&nbsp;*&nbsp;handler )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the lexical handler to <em>handler</em>.
+<p> <p>See also <a href="#lexicalHandler">lexicalHandler</a>().
+
+<h3 class=fn>void <a name="setProperty"></a>QXmlReader::setProperty ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, void&nbsp;*&nbsp;value )<tt> [pure virtual]</tt>
+</h3>
+
+<p> Sets the property <em>name</em> to <em>value</em>. If the reader doesn't have
+the property nothing happens.
+<p> <p>See also <a href="#property">property</a>() and <a href="#hasProperty">hasProperty</a>().
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlsimplereader-members.html b/doc/html/qxmlsimplereader-members.html
new file mode 100644
index 0000000..7e955a3
--- /dev/null
+++ b/doc/html/qxmlsimplereader-members.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxml.h:248 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlSimpleReader Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXmlSimpleReader</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxmlsimplereader.html">QXmlSimpleReader</a>, including inherited members.
+
+<ul>
+<li><a href="qxmlsimplereader.html#QXmlSimpleReader">QXmlSimpleReader</a>()
+<li><a href="qxmlsimplereader.html#~QXmlSimpleReader">~QXmlSimpleReader</a>()
+<li><a href="qxmlreader.html#DTDHandler">DTDHandler</a>()
+<li><a href="qxmlreader.html#contentHandler">contentHandler</a>()
+<li><a href="qxmlreader.html#declHandler">declHandler</a>()
+<li><a href="qxmlreader.html#entityResolver">entityResolver</a>()
+<li><a href="qxmlreader.html#errorHandler">errorHandler</a>()
+<li><a href="qxmlreader.html#feature">feature</a>()
+<li><a href="qxmlreader.html#hasFeature">hasFeature</a>()
+<li><a href="qxmlreader.html#hasProperty">hasProperty</a>()
+<li><a href="qxmlreader.html#lexicalHandler">lexicalHandler</a>()
+<li><a href="qxmlsimplereader.html#parse">parse</a>()
+<li><a href="qxmlsimplereader.html#parseContinue">parseContinue</a>()
+<li><a href="qxmlreader.html#property">property</a>()
+<li><a href="qxmlreader.html#setContentHandler">setContentHandler</a>()
+<li><a href="qxmlreader.html#setDTDHandler">setDTDHandler</a>()
+<li><a href="qxmlreader.html#setDeclHandler">setDeclHandler</a>()
+<li><a href="qxmlreader.html#setEntityResolver">setEntityResolver</a>()
+<li><a href="qxmlreader.html#setErrorHandler">setErrorHandler</a>()
+<li><a href="qxmlsimplereader.html#setFeature">setFeature</a>()
+<li><a href="qxmlreader.html#setLexicalHandler">setLexicalHandler</a>()
+<li><a href="qxmlreader.html#setProperty">setProperty</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxmlsimplereader.html b/doc/html/qxmlsimplereader.html
new file mode 100644
index 0000000..e30fc2b
--- /dev/null
+++ b/doc/html/qxmlsimplereader.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/xml/qxml.cpp:2568 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXmlSimpleReader Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXmlSimpleReader Class Reference<br><small>[<a href="xml.html">XML module</a>]</small></h1>
+
+<p>The QXmlSimpleReader class provides an implementation of a
+simple XML reader (parser).
+<a href="#details">More...</a>
+<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when Qt is built with thread support.</p>
+<p><tt>#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;</tt>
+<p>Inherits <a href="qxmlreader.html">QXmlReader</a>.
+<p><a href="qxmlsimplereader-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXmlSimpleReader"><b>QXmlSimpleReader</b></a> ()</li>
+<li class=fn>virtual <a href="#~QXmlSimpleReader"><b>~QXmlSimpleReader</b></a> ()</li>
+<li class=fn>virtual void <a href="#setFeature"><b>setFeature</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;name, bool&nbsp;value )</li>
+<li class=fn>virtual bool <a href="#parse"><b>parse</b></a> ( const&nbsp;QXmlInputSource&nbsp;*&nbsp;input, bool&nbsp;incremental )</li>
+<li class=fn>virtual bool <a href="#parseContinue"><b>parseContinue</b></a> ()</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+
+
+
+The QXmlSimpleReader class provides an implementation of a
+simple XML reader (parser).
+
+<p>
+
+
+<p> This XML reader is sufficient for simple parsing tasks. The reader:
+<ul>
+<li> provides a well-formed parser;
+<li> does not parse any external entities;
+<li> can do namespace processing.
+</ul>
+<p> Documents are parsed with a call to <a href="#parse">parse</a>().
+<p> <p>See also <a href="xml-tools.html">XML</a>.
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXmlSimpleReader"></a>QXmlSimpleReader::QXmlSimpleReader ()
+</h3>
+Constructs a simple XML reader with the following feature settings:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Feature <th valign="top">Setting
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>http://xml.org/sax/features/namespaces</em> <td valign="top">TRUE
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>http://xml.org/sax/features/namespace-prefixes</em> <td valign="top">FALSE
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>http://trolltech.com/xml/features/report-whitespace-only-CharData</em>
+<td valign="top">TRUE
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>http://trolltech.com/xml/features/report-start-end-entity</em> <td valign="top">FALSE
+</table></center>
+<p> More information about features can be found in the <a href="xml.html#sax2Features">Qt SAX2 overview.</a>
+<p> <p>See also <a href="#setFeature">setFeature</a>().
+
+<h3 class=fn><a name="~QXmlSimpleReader"></a>QXmlSimpleReader::~QXmlSimpleReader ()<tt> [virtual]</tt>
+</h3>
+Destroys the simple XML reader.
+
+<h3 class=fn>bool <a name="parse"></a>QXmlSimpleReader::parse ( const&nbsp;<a href="qxmlinputsource.html">QXmlInputSource</a>&nbsp;*&nbsp;input, bool&nbsp;incremental )<tt> [virtual]</tt>
+</h3>
+Reads an XML document from <em>input</em> and parses it. Returns FALSE
+if the parsing detects an error; otherwise returns TRUE.
+<p> If <em>incremental</em> is TRUE, the parser does not return FALSE when
+it reaches the end of the <em>input</em> without reaching the end of the
+XML file. Instead it stores the state of the parser so that
+parsing can be continued at a later stage when more data is
+available. You can use the function <a href="#parseContinue">parseContinue</a>() to continue
+with parsing. This class stores a pointer to the input source <em>input</em> and the parseContinue() function tries to read from that
+input souce. This means that you should not delete the input
+source <em>input</em> until you've finished your calls to
+parseContinue(). If you call this function with <em>incremental</em>
+TRUE whilst an incremental parse is in progress a new parsing
+session will be started and the previous session lost.
+<p> If <em>incremental</em> is FALSE, this function behaves like the normal
+parse function, i.e. it returns FALSE when the end of input is
+reached without reaching the end of the XML file and the parsing
+cannot be continued.
+<p> <p>See also <a href="#parseContinue">parseContinue</a>() and <a href="qsocket.html">QSocket</a>.
+
+<p>Examples: <a href="tagreader-with-features-example.html#x1976">xml/tagreader-with-features/tagreader.cpp</a> and <a href="tagreader-example.html#x1905">xml/tagreader/tagreader.cpp</a>.
+<h3 class=fn>bool <a name="parseContinue"></a>QXmlSimpleReader::parseContinue ()<tt> [virtual]</tt>
+</h3>
+Continues incremental parsing; this function reads the input from
+the <a href="qxmlinputsource.html">QXmlInputSource</a> that was specified with the last <a href="#parse">parse</a>()
+command. To use this function, you <em>must</em> have called parse()
+with the incremental argument set to TRUE.
+<p> Returns FALSE if a parsing error occurs; otherwise returns TRUE.
+<p> If the input source returns an empty string for the function
+<a href="qxmlinputsource.html#data">QXmlInputSource::data</a>(), then this means that the end of the XML
+file has been reached; this is quite important, especially if you
+want to use the reader to parse more than one XML file.
+<p> The case of the end of the XML file being reached without having
+finished parsing is not considered to be an error: you can
+continue parsing at a later stage by calling this function again
+when there is more data available to parse.
+<p> This function assumes that the end of the XML document is reached
+if the <a href="qxmlinputsource.html#next">QXmlInputSource::next</a>() function returns
+QXmlInputSource::EndOfDocument. If the parser has not finished
+parsing when it encounters this symbol, it is an error and FALSE
+is returned.
+<p> <p>See also <a href="#parse">parse</a>() and <a href="qxmlinputsource.html#next">QXmlInputSource::next</a>().
+
+<h3 class=fn>void <a name="setFeature"></a>QXmlSimpleReader::setFeature ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;name, bool&nbsp;value )<tt> [virtual]</tt>
+</h3>
+Sets the state of the feature <em>name</em> to <em>value</em>:
+<p> If the feature is not recognized, it is ignored.
+<p> The following features are supported:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Feature <th valign="top">Notes
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>http://xml.org/sax/features/namespaces</em>
+<td valign="top">If this feature is TRUE, namespace processing is
+performed.
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>http://xml.org/sax/features/namespace-prefixes</em>
+<td valign="top">If this feature is TRUE, the the original prefixed names
+and attributes used for namespace declarations are
+reported.
+<tr bgcolor="#f0f0f0"> <td valign="top"><em>http://trolltech.com/xml/features/report-whitespace-only-CharData</em>
+<td valign="top">If this feature is TRUE, CharData that only contain
+whitespace are not ignored, but are reported via
+<a href="qxmlcontenthandler.html#characters">QXmlContentHandler::characters</a>().
+<tr bgcolor="#d0d0d0"> <td valign="top"><em>http://trolltech.com/xml/features/report-start-end-entity</em>
+<td valign="top">If this feature is TRUE, the parser reports
+QXmlContentHandler::startEntity() and
+QXmlContentHandler::endEntity() events. So character data
+might be reported in chunks. If this feature is FALSE, the
+parser does not report those events, but rather silently
+substitutes the entities and reports the character data in
+one chunk.
+</table></center>
+<p>
+
+<pre> ** $Id: qt/tagreader.cpp 3.3.8 edited Jan 11 14:46 $
+</pre><pre> <a name="x2125"></a> reader.<a href="#setFeature">setFeature</a>( "http://xml.org/sax/features/namespace-prefixes",
+ TRUE );
+</pre>
+<p> (Code taken from xml/tagreader-with-features/tagreader.cpp)
+<p> <p>See also <a href="qxmlreader.html#feature">feature</a>() and <a href="qxmlreader.html#hasFeature">hasFeature</a>().
+
+<p>Example: <a href="qxmlsimplereader.html#x2125">xml/tagreader-with-features/tagreader.cpp</a>.
+<p>Reimplemented from <a href="qxmlreader.html#setFeature">QXmlReader</a>.
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxtwidget-h.html b/doc/html/qxtwidget-h.html
new file mode 100644
index 0000000..dfd509f
--- /dev/null
+++ b/doc/html/qxtwidget-h.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxtwidget.h:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>qxtwidget.h Include File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qxtwidget.h</h1>
+
+<p>This is the verbatim text of the qxtwidget.h include file. It is provided only for illustration; the copyright remains with Trolltech.
+<hr>
+<pre>
+/****************************************************************************
+** $Id: qt/qxtwidget.h 3.3.8 edited Jan 11 14:37 $
+**
+** Definition of Qt extension classes for Xt/Motif support.
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt extension for Xt/Motif support.
+**
+** Licensees holding valid Qt Enterprise Edition licenses for X11 may use
+** this file in accordance with the Qt Commercial License Agreement provided
+** with the Software.
+**
+** This file is not available for use under any other license without
+** express written permission from the copyright holder.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QXTWIDGET_H
+#define QXTWIDGET_H
+
+#include &lt;qwidget.h&gt;
+
+#include &lt;X11/Intrinsic.h&gt;
+
+
+class QXtWidget : public QWidget {
+ Q_OBJECT
+ Widget xtw;
+ Widget xtparent;
+ bool need_reroot;
+ void init(const char* name, WidgetClass widget_class,
+ Widget parent, QWidget* qparent,
+ ArgList args, Cardinal num_args,
+ bool managed);
+ friend void qwidget_realize( Widget widget, XtValueMask* mask,
+ XSetWindowAttributes* attributes );
+
+public:
+ QXtWidget(const char* name, Widget parent, bool managed=FALSE);
+ QXtWidget(const char* name, WidgetClass widget_class,
+ QWidget *parent=0, ArgList args=0, Cardinal num_args=0,
+ bool managed=FALSE);
+ ~QXtWidget();
+
+ Widget xtWidget() const { return xtw; }
+ bool isActiveWindow() const;
+ void setActiveWindow();
+
+protected:
+ void moveEvent( QMoveEvent* );
+ void resizeEvent( QResizeEvent* );
+ bool x11Event( XEvent * );
+};
+
+#endif // QXTWIDGET_H
+</pre>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxtwidget-members.html b/doc/html/qxtwidget-members.html
new file mode 100644
index 0000000..06698ee
--- /dev/null
+++ b/doc/html/qxtwidget-members.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qxtwidget.h:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXtWidget Member List</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Complete Member List for QXtWidget</h1>
+
+<p>This is the complete list of member functions for
+<a href="qxtwidget.html">QXtWidget</a>, including inherited members.
+
+<ul>
+<li><a href="qxtwidget.html#QXtWidget">QXtWidget</a>()
+<li><a href="qxtwidget.html#~QXtWidget">~QXtWidget</a>()
+<li><a href="qwidget.html#acceptDrops">acceptDrops</a>()
+<li><a href="qwidget.html#adjustSize">adjustSize</a>()
+<li><a href="qwidget.html#autoMask">autoMask</a>()
+<li><a href="qwidget.html#backgroundBrush">backgroundBrush</a>()
+<li><a href="qwidget.html#backgroundColor">backgroundColor</a>()
+<li><a href="qwidget.html#backgroundMode">backgroundMode</a>()
+<li><a href="qwidget.html#backgroundOrigin">backgroundOrigin</a>()
+<li><a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>()
+<li><a href="qwidget.html#baseSize">baseSize</a>()
+<li><a href="qobject.html#blockSignals">blockSignals</a>()
+<li><a href="qwidget.html#caption">caption</a>()
+<li><a href="qobject.html#checkConnectArgs">checkConnectArgs</a>()
+<li><a href="qobject.html#child">child</a>()
+<li><a href="qwidget.html#childAt">childAt</a>()
+<li><a href="qobject.html#childEvent">childEvent</a>()
+<li><a href="qobject.html#children">children</a>()
+<li><a href="qwidget.html#childrenRect">childrenRect</a>()
+<li><a href="qwidget.html#childrenRegion">childrenRegion</a>()
+<li><a href="qobject.html#className">className</a>()
+<li><a href="qwidget.html#clearFocus">clearFocus</a>()
+<li><a href="qwidget.html#clearMask">clearMask</a>()
+<li><a href="qwidget.html#clearWFlags">clearWFlags</a>()
+<li><a href="qwidget.html#clipRegion">clipRegion</a>()
+<li><a href="qwidget.html#close">close</a>()
+<li><a href="qwidget.html#closeEvent">closeEvent</a>()
+<li><a href="qpaintdevice.html#cmd">cmd</a>()
+<li><a href="qwidget.html#colorGroup">colorGroup</a>()
+<li><a href="qobject.html#connect">connect</a>()
+<li><a href="qobject.html#connectNotify">connectNotify</a>()
+<li><a href="qwidget.html#constPolish">constPolish</a>()
+<li><a href="qwidget.html#contextMenuEvent">contextMenuEvent</a>()
+<li><a href="qwidget.html#create">create</a>()
+<li><a href="qwidget.html#cursor">cursor</a>()
+<li><a href="qobject.html#customEvent">customEvent</a>()
+<li><a href="qwidget.html#customWhatsThis">customWhatsThis</a>()
+<li><a href="qobject.html#deleteLater">deleteLater</a>()
+<li><a href="qwidget.html#destroy">destroy</a>()
+<li><a href="qobject.html#destroyed">destroyed</a>()
+<li><a href="qobject.html#disconnect">disconnect</a>()
+<li><a href="qobject.html#disconnectNotify">disconnectNotify</a>()
+<li><a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>()
+<li><a href="qwidget.html#dragLeaveEvent">dragLeaveEvent</a>()
+<li><a href="qwidget.html#dragMoveEvent">dragMoveEvent</a>()
+<li><a href="qwidget.html#drawText">drawText</a>()
+<li><a href="qwidget.html#dropEvent">dropEvent</a>()
+<li><a href="qobject.html#dumpObjectInfo">dumpObjectInfo</a>()
+<li><a href="qobject.html#dumpObjectTree">dumpObjectTree</a>()
+<li><a href="qwidget.html#enabledChange">enabledChange</a>()
+<li><a href="qwidget.html#enterEvent">enterEvent</a>()
+<li><a href="qwidget.html#erase">erase</a>()
+<li><a href="qwidget.html#eraseColor">eraseColor</a>()
+<li><a href="qwidget.html#erasePixmap">erasePixmap</a>()
+<li><a href="qwidget.html#event">event</a>()
+<li><a href="qobject.html#eventFilter">eventFilter</a>()
+<li><a href="qwidget.html#find">find</a>()
+<li><a href="qwidget.html#focusData">focusData</a>()
+<li><a href="qwidget.html#focusInEvent">focusInEvent</a>()
+<li><a href="qwidget.html#focusNextPrevChild">focusNextPrevChild</a>()
+<li><a href="qwidget.html#focusOutEvent">focusOutEvent</a>()
+<li><a href="qwidget.html#focusPolicy">focusPolicy</a>()
+<li><a href="qwidget.html#focusProxy">focusProxy</a>()
+<li><a href="qwidget.html#focusWidget">focusWidget</a>()
+<li><a href="qwidget.html#font">font</a>()
+<li><a href="qwidget.html#fontChange">fontChange</a>()
+<li><a href="qwidget.html#fontInfo">fontInfo</a>()
+<li><a href="qwidget.html#fontMetrics">fontMetrics</a>()
+<li><a href="qwidget.html#foregroundColor">foregroundColor</a>()
+<li><a href="qwidget.html#frameGeometry">frameGeometry</a>()
+<li><a href="qwidget.html#frameSize">frameSize</a>()
+<li><a href="qwidget.html#geometry">geometry</a>()
+<li><a href="qwidget.html#getWFlags">getWFlags</a>()
+<li><a href="qwidget.html#grabKeyboard">grabKeyboard</a>()
+<li><a href="qwidget.html#grabMouse">grabMouse</a>()
+<li><a href="qpaintdevice.html#handle">handle</a>()
+<li><a href="qwidget.html#hasFocus">hasFocus</a>()
+<li><a href="qwidget.html#hasMouse">hasMouse</a>()
+<li><a href="qwidget.html#hasMouseTracking">hasMouseTracking</a>()
+<li><a href="qwidget.html#height">height</a>()
+<li><a href="qwidget.html#heightForWidth">heightForWidth</a>()
+<li><a href="qwidget.html#hide">hide</a>()
+<li><a href="qwidget.html#hideEvent">hideEvent</a>()
+<li><a href="qobject.html#highPriority">highPriority</a>()
+<li><a href="qwidget.html#icon">icon</a>()
+<li><a href="qwidget.html#iconText">iconText</a>()
+<li><a href="qwidget.html#iconify">iconify</a>()
+<li><a href="qwidget.html#imComposeEvent">imComposeEvent</a>()
+<li><a href="qwidget.html#imEndEvent">imEndEvent</a>()
+<li><a href="qwidget.html#imStartEvent">imStartEvent</a>()
+<li><a href="qobject.html#inherits">inherits</a>()
+<li><a href="qobject.html#insertChild">insertChild</a>()
+<li><a href="qobject.html#installEventFilter">installEventFilter</a>()
+<li><a href="qobject.html#isA">isA</a>()
+<li><a href="qxtwidget.html#isActiveWindow">isActiveWindow</a>()
+<li><a href="qwidget.html#isDesktop">isDesktop</a>()
+<li><a href="qwidget.html#isDialog">isDialog</a>()
+<li><a href="qwidget.html#isEnabled">isEnabled</a>()
+<li><a href="qwidget.html#isEnabledTo">isEnabledTo</a>()
+<li><a href="qwidget.html#isEnabledToTLW">isEnabledToTLW</a>()
+<li><a href="qpaintdevice.html#isExtDev">isExtDev</a>()
+<li><a href="qwidget.html#isFocusEnabled">isFocusEnabled</a>()
+<li><a href="qwidget.html#isFullScreen">isFullScreen</a>()
+<li><a href="qwidget.html#isHidden">isHidden</a>()
+<li><a href="qwidget.html#isInputMethodEnabled">isInputMethodEnabled</a>()
+<li><a href="qwidget.html#isMaximized">isMaximized</a>()
+<li><a href="qwidget.html#isMinimized">isMinimized</a>()
+<li><a href="qwidget.html#isModal">isModal</a>()
+<li><a href="qwidget.html#isPopup">isPopup</a>()
+<li><a href="qwidget.html#isShown">isShown</a>()
+<li><a href="qwidget.html#isTopLevel">isTopLevel</a>()
+<li><a href="qwidget.html#isUpdatesEnabled">isUpdatesEnabled</a>()
+<li><a href="qwidget.html#isVisible">isVisible</a>()
+<li><a href="qwidget.html#isVisibleTo">isVisibleTo</a>()
+<li><a href="qwidget.html#isVisibleToTLW">isVisibleToTLW</a>()
+<li><a href="qobject.html#isWidgetType">isWidgetType</a>()
+<li><a href="qwidget.html#keyPressEvent">keyPressEvent</a>()
+<li><a href="qwidget.html#keyReleaseEvent">keyReleaseEvent</a>()
+<li><a href="qwidget.html#keyboardGrabber">keyboardGrabber</a>()
+<li><a href="qobject.html#killTimer">killTimer</a>()
+<li><a href="qobject.html#killTimers">killTimers</a>()
+<li><a href="qwidget.html#layout">layout</a>()
+<li><a href="qwidget.html#leaveEvent">leaveEvent</a>()
+<li><a href="qwidget.html#lower">lower</a>()
+<li><a href="qwidget.html#macEvent">macEvent</a>()
+<li><a href="qwidget.html#mapFrom">mapFrom</a>()
+<li><a href="qwidget.html#mapFromGlobal">mapFromGlobal</a>()
+<li><a href="qwidget.html#mapFromParent">mapFromParent</a>()
+<li><a href="qwidget.html#mapTo">mapTo</a>()
+<li><a href="qwidget.html#mapToGlobal">mapToGlobal</a>()
+<li><a href="qwidget.html#mapToParent">mapToParent</a>()
+<li><a href="qwidget.html#maximumHeight">maximumHeight</a>()
+<li><a href="qwidget.html#maximumSize">maximumSize</a>()
+<li><a href="qwidget.html#maximumWidth">maximumWidth</a>()
+<li><a href="qobject.html#metaObject">metaObject</a>()
+<li><a href="qwidget.html#metric">metric</a>()
+<li><a href="qwidget.html#microFocusHint">microFocusHint</a>()
+<li><a href="qwidget.html#minimumHeight">minimumHeight</a>()
+<li><a href="qwidget.html#minimumSize">minimumSize</a>()
+<li><a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()
+<li><a href="qwidget.html#minimumWidth">minimumWidth</a>()
+<li><a href="qwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>()
+<li><a href="qwidget.html#mouseGrabber">mouseGrabber</a>()
+<li><a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>()
+<li><a href="qwidget.html#mousePressEvent">mousePressEvent</a>()
+<li><a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>()
+<li><a href="qwidget.html#move">move</a>()
+<li><a href="qwidget.html#moveEvent">moveEvent</a>()
+<li><a href="qobject.html#name">name</a>()
+<li><a href="qobject.html#normalizeSignalSlot">normalizeSignalSlot</a>()
+<li><a href="qobject.html#objectTrees">objectTrees</a>()
+<li><a href="qwidget.html#ownCursor">ownCursor</a>()
+<li><a href="qwidget.html#ownFont">ownFont</a>()
+<li><a href="qwidget.html#ownPalette">ownPalette</a>()
+<li><a href="qwidget.html#paintEvent">paintEvent</a>()
+<li><a href="qpaintdevice.html#paintingActive">paintingActive</a>()
+<li><a href="qwidget.html#palette">palette</a>()
+<li><a href="qwidget.html#paletteBackgroundColor">paletteBackgroundColor</a>()
+<li><a href="qwidget.html#paletteBackgroundPixmap">paletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#paletteChange">paletteChange</a>()
+<li><a href="qwidget.html#paletteForegroundColor">paletteForegroundColor</a>()
+<li><a href="qobject.html#parent">parent</a>()
+<li><a href="qwidget.html#parentWidget">parentWidget</a>()
+<li><a href="qwidget.html#polish">polish</a>()
+<li><a href="qwidget.html#pos">pos</a>()
+<li><a href="qobject.html#property">property</a>()
+<li><a href="qobject.html#queryList">queryList</a>()
+<li><a href="qwidget.html#qwsEvent">qwsEvent</a>()
+<li><a href="qwidget.html#raise">raise</a>()
+<li><a href="qwidget.html#recreate">recreate</a>()
+<li><a href="qwidget.html#rect">rect</a>()
+<li><a href="qwidget.html#releaseKeyboard">releaseKeyboard</a>()
+<li><a href="qwidget.html#releaseMouse">releaseMouse</a>()
+<li><a href="qobject.html#removeChild">removeChild</a>()
+<li><a href="qobject.html#removeEventFilter">removeEventFilter</a>()
+<li><a href="qwidget.html#repaint">repaint</a>()
+<li><a href="qwidget.html#reparent">reparent</a>()
+<li><a href="qwidget.html#resetInputContext">resetInputContext</a>()
+<li><a href="qwidget.html#resize">resize</a>()
+<li><a href="qwidget.html#resizeEvent">resizeEvent</a>()
+<li><a href="qwidget.html#scroll">scroll</a>()
+<li><a href="qobject.html#sender">sender</a>()
+<li><a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>()
+<li><a href="qxtwidget.html#setActiveWindow">setActiveWindow</a>()
+<li><a href="qwidget.html#setAutoMask">setAutoMask</a>()
+<li><a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>()
+<li><a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>()
+<li><a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>()
+<li><a href="qwidget.html#setBackgroundPixmap">setBackgroundPixmap</a>()
+<li><a href="qwidget.html#setBaseSize">setBaseSize</a>()
+<li><a href="qwidget.html#setCaption">setCaption</a>()
+<li><a href="qwidget.html#setCursor">setCursor</a>()
+<li><a href="qwidget.html#setDisabled">setDisabled</a>()
+<li><a href="qwidget.html#setEnabled">setEnabled</a>()
+<li><a href="qwidget.html#setEraseColor">setEraseColor</a>()
+<li><a href="qwidget.html#setErasePixmap">setErasePixmap</a>()
+<li><a href="qwidget.html#setFixedHeight">setFixedHeight</a>()
+<li><a href="qwidget.html#setFixedSize">setFixedSize</a>()
+<li><a href="qwidget.html#setFixedWidth">setFixedWidth</a>()
+<li><a href="qwidget.html#setFocus">setFocus</a>()
+<li><a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>()
+<li><a href="qwidget.html#setFocusProxy">setFocusProxy</a>()
+<li><a href="qwidget.html#setFont">setFont</a>()
+<li><a href="qwidget.html#setGeometry">setGeometry</a>()
+<li><a href="qwidget.html#setHidden">setHidden</a>()
+<li><a href="qwidget.html#setIcon">setIcon</a>()
+<li><a href="qwidget.html#setIconText">setIconText</a>()
+<li><a href="qwidget.html#setInputMethodEnabled">setInputMethodEnabled</a>()
+<li><a href="qwidget.html#setKeyCompression">setKeyCompression</a>()
+<li><a href="qwidget.html#setMask">setMask</a>()
+<li><a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>()
+<li><a href="qwidget.html#setMaximumSize">setMaximumSize</a>()
+<li><a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>()
+<li><a href="qwidget.html#setMicroFocusHint">setMicroFocusHint</a>()
+<li><a href="qwidget.html#setMinimumHeight">setMinimumHeight</a>()
+<li><a href="qwidget.html#setMinimumSize">setMinimumSize</a>()
+<li><a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>()
+<li><a href="qwidget.html#setMouseTracking">setMouseTracking</a>()
+<li><a href="qobject.html#setName">setName</a>()
+<li><a href="qwidget.html#setPalette">setPalette</a>()
+<li><a href="qwidget.html#setPaletteBackgroundColor">setPaletteBackgroundColor</a>()
+<li><a href="qwidget.html#setPaletteBackgroundPixmap">setPaletteBackgroundPixmap</a>()
+<li><a href="qwidget.html#setPaletteForegroundColor">setPaletteForegroundColor</a>()
+<li><a href="qobject.html#setProperty">setProperty</a>()
+<li><a href="qwidget.html#setShown">setShown</a>()
+<li><a href="qwidget.html#setSizeIncrement">setSizeIncrement</a>()
+<li><a href="qwidget.html#setSizePolicy">setSizePolicy</a>()
+<li><a href="qwidget.html#setStyle">setStyle</a>()
+<li><a href="qwidget.html#setTabOrder">setTabOrder</a>()
+<li><a href="qwidget.html#setUpdatesEnabled">setUpdatesEnabled</a>()
+<li><a href="qwidget.html#setWFlags">setWFlags</a>()
+<li><a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>()
+<li><a href="qwidget.html#setWindowState">setWindowState</a>()
+<li><a href="qwidget.html#show">show</a>()
+<li><a href="qwidget.html#showEvent">showEvent</a>()
+<li><a href="qwidget.html#showFullScreen">showFullScreen</a>()
+<li><a href="qwidget.html#showMaximized">showMaximized</a>()
+<li><a href="qwidget.html#showMinimized">showMinimized</a>()
+<li><a href="qwidget.html#showNormal">showNormal</a>()
+<li><a href="qobject.html#signalsBlocked">signalsBlocked</a>()
+<li><a href="qwidget.html#size">size</a>()
+<li><a href="qwidget.html#sizeHint">sizeHint</a>()
+<li><a href="qwidget.html#sizeIncrement">sizeIncrement</a>()
+<li><a href="qwidget.html#sizePolicy">sizePolicy</a>()
+<li><a href="qwidget.html#stackUnder">stackUnder</a>()
+<li><a href="qobject.html#startTimer">startTimer</a>()
+<li><a href="qwidget.html#style">style</a>()
+<li><a href="qwidget.html#styleChange">styleChange</a>()
+<li><a href="qwidget.html#tabletEvent">tabletEvent</a>()
+<li><a href="qwidget.html#testWFlags">testWFlags</a>()
+<li><a href="qobject.html#timerEvent">timerEvent</a>()
+<li><a href="qwidget.html#topLevelWidget">topLevelWidget</a>()
+<li><a href="qobject.html#tr">tr</a>()
+<li><a href="qobject.html#trUtf8">trUtf8</a>()
+<li><a href="qwidget.html#unsetCursor">unsetCursor</a>()
+<li><a href="qwidget.html#unsetFont">unsetFont</a>()
+<li><a href="qwidget.html#unsetPalette">unsetPalette</a>()
+<li><a href="qwidget.html#update">update</a>()
+<li><a href="qwidget.html#updateGeometry">updateGeometry</a>()
+<li><a href="qwidget.html#updateMask">updateMask</a>()
+<li><a href="qwidget.html#visibleRect">visibleRect</a>()
+<li><a href="qwidget.html#wheelEvent">wheelEvent</a>()
+<li><a href="qwidget.html#width">width</a>()
+<li><a href="qwidget.html#winEvent">winEvent</a>()
+<li><a href="qwidget.html#winId">winId</a>()
+<li><a href="qwidget.html#windowActivationChange">windowActivationChange</a>()
+<li><a href="qwidget.html#windowOpacity">windowOpacity</a>()
+<li><a href="qwidget.html#windowState">windowState</a>()
+<li><a href="qwidget.html#x">x</a>()
+<li><a href="qpaintdevice.html#x11AppCells">x11AppCells</a>()
+<li><a href="qpaintdevice.html#x11AppColormap">x11AppColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultColormap">x11AppDefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11AppDefaultVisual">x11AppDefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11AppDepth">x11AppDepth</a>()
+<li><a href="qpaintdevice.html#x11AppDisplay">x11AppDisplay</a>()
+<li><a href="qpaintdevice.html#x11AppDpiX">x11AppDpiX</a>()
+<li><a href="qpaintdevice.html#x11AppDpiY">x11AppDpiY</a>()
+<li><a href="qpaintdevice.html#x11AppRootWindow">x11AppRootWindow</a>()
+<li><a href="qpaintdevice.html#x11AppScreen">x11AppScreen</a>()
+<li><a href="qpaintdevice.html#x11AppVisual">x11AppVisual</a>()
+<li><a href="qpaintdevice.html#x11Cells">x11Cells</a>()
+<li><a href="qpaintdevice.html#x11Colormap">x11Colormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultColormap">x11DefaultColormap</a>()
+<li><a href="qpaintdevice.html#x11DefaultVisual">x11DefaultVisual</a>()
+<li><a href="qpaintdevice.html#x11Depth">x11Depth</a>()
+<li><a href="qpaintdevice.html#x11Display">x11Display</a>()
+<li><a href="qxtwidget.html#x11Event">x11Event</a>()
+<li><a href="qpaintdevice.html#x11Screen">x11Screen</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiX">x11SetAppDpiX</a>()
+<li><a href="qpaintdevice.html#x11SetAppDpiY">x11SetAppDpiY</a>()
+<li><a href="qpaintdevice.html#x11Visual">x11Visual</a>()
+<li><a href="qxtwidget.html#xtWidget">xtWidget</a>()
+<li><a href="qwidget.html#y">y</a>()
+</ul>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/qxtwidget.html b/doc/html/qxtwidget.html
new file mode 100644
index 0000000..be90b95
--- /dev/null
+++ b/doc/html/qxtwidget.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/motif/src/qxtwidget.cpp:144 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>QXtWidget Class</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QXtWidget Class Reference<br><small>[obsolete]</small></h1>
+
+<p>The QXtWidget class allows mixing of Xt/Motif and Qt widgets.
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<a href="#details">More...</a>
+<p>This class is part of the <b>Qt Motif Extension</b>.
+<p><tt>#include &lt;<a href="qxtwidget-h.html">qxtwidget.h</a>&gt;</tt>
+<p>Inherits <a href="qwidget.html">QWidget</a>.
+<p><a href="qxtwidget-members.html">List of all member functions.</a>
+<h2>Public Members</h2>
+<ul>
+<li class=fn><a href="#QXtWidget"><b>QXtWidget</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, Widget&nbsp;parent, bool&nbsp;managed = FALSE )</li>
+<li class=fn><a href="#QXtWidget-2"><b>QXtWidget</b></a> ( const&nbsp;char&nbsp;*&nbsp;name, WidgetClass&nbsp;widget_class, QWidget&nbsp;*&nbsp;parent = 0, ArgList&nbsp;args = 0, Cardinal&nbsp;num_args = 0, bool&nbsp;managed = FALSE )</li>
+<li class=fn><a href="#~QXtWidget"><b>~QXtWidget</b></a> ()</li>
+<li class=fn>Widget <a href="#xtWidget"><b>xtWidget</b></a> () const</li>
+<li class=fn>bool <a href="#isActiveWindow"><b>isActiveWindow</b></a> () const</li>
+<li class=fn>virtual void <a href="#setActiveWindow"><b>setActiveWindow</b></a> ()</li>
+</ul>
+<h2>Protected Members</h2>
+<ul>
+<li class=fn>virtual bool <a href="#x11Event"><b>x11Event</b></a> ( XEvent&nbsp;*&nbsp;e )</li>
+</ul>
+<hr><a name="details"></a><h2>Detailed Description</h2>
+<p> This class is defined in the <b>Qt <a href="motif-extension.html#Motif">Motif</a> Extension</b>, which can be found in the <tt>qt/extensions</tt> directory. It is not included in the main Qt API.
+<p>
+
+The QXtWidget class allows mixing of Xt/Motif and Qt widgets.
+<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
+<p>
+<p> QXtWidget acts as a bridge between Xt and Qt. For utilizing old Xt
+widgets, it can be a <a href="qwidget.html">QWidget</a> based on a Xt widget class. For
+including Qt widgets in an existing Xt/Motif application, it can be
+a special Xt widget class that is a QWidget. See the constructors
+for the different behaviors.
+<p> <h4> Known QXtWidget Problems
+</h4>
+<a name="1"></a><p> This class is unsupported and has many known problems and
+limitations. It is provided only to keep existing source working;
+it should not be used in new code. Note: These problems will <em>not</em>
+be fixed in future releases.
+<p> Below is an imcomplete list of know issues:
+<p> <ol type=1>
+<p> <li> <a href="focus.html#keyboard-focus">Keyboard focus</a> navigation is impossible when using QXtWidget.
+The mouse must be used to focus widgets in both Qt and Xt/Motif
+widgets. For example, when embedding a QXtWidget into an Xt/Motif
+widget, key events will go to the QXtWidget (and its children) while
+the mouse is over the QXtWidget, regardless of where Xt/Motif has
+placed the focus.
+<p> <li> Reparenting does not work. You cannot use
+<a href="qwidget.html#reparent">QWidget::reparent</a>(). This includes the functions
+<a href="qwidget.html#showFullScreen">QWidget::showFullScreen</a>() and <a href="qwidget.html#showNormal">QWidget::showNormal</a>(), which use
+QWidget::reparent().
+<p> </ol>
+
+<hr><h2>Member Function Documentation</h2>
+<h3 class=fn><a name="QXtWidget"></a>QXtWidget::QXtWidget ( const&nbsp;char&nbsp;*&nbsp;name, Widget&nbsp;parent, bool&nbsp;managed = FALSE )
+</h3>
+Constructs a QXtWidget of the special Xt widget class known as
+"QWidget" to the resource manager.
+<p> Use this constructor to utilize Qt widgets in an Xt/Motif
+application. The QXtWidget is a <a href="qwidget.html">QWidget</a>, so you can create
+subwidgets, layouts, etc. using Qt functionality.
+<p> The <em>name</em> is the object name passed to the QWidget constructor.
+The widget's parent is <em>parent</em>.
+<p> If the <em>managed</em> parameter is TRUE and <em>parent</em> in not null,
+XtManageChild it used to manage the child.
+
+<h3 class=fn><a name="QXtWidget-2"></a>QXtWidget::QXtWidget ( const&nbsp;char&nbsp;*&nbsp;name, WidgetClass&nbsp;widget_class, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, ArgList&nbsp;args = 0, Cardinal&nbsp;num_args = 0, bool&nbsp;managed = FALSE )
+</h3>
+Constructs a QXtWidget of the given <em>widget_class</em> called <em>name</em>.
+<p> Use this constructor to utilize Xt or <a href="motif-extension.html#Motif">Motif</a> widgets in a Qt
+application. The QXtWidget looks and behaves
+like the Xt class, but can be used like any <a href="qwidget.html">QWidget</a>.
+<p> Note that Xt requires that the most top level Xt widget is a shell.
+This means, if <em>parent</em> is a QXtWidget, the <em>widget_class</em> can be
+of any kind. If there isn't a parent or the parent is just a normal
+QWidget, <em>widget_class</em> should be something like <tt>topLevelShellWidgetClass</tt>.
+<p> The arguments, <em>args</em>, <em>num_args</em> are passed on to XtCreateWidget.
+<p> If the <em>managed</em> parameter is TRUE and <em>parent</em> in not null,
+XtManageChild it used to manage the child.
+
+<h3 class=fn><a name="~QXtWidget"></a>QXtWidget::~QXtWidget ()
+</h3>
+Destructs the QXtWidget.
+
+<h3 class=fn>bool <a name="isActiveWindow"></a>QXtWidget::isActiveWindow () const
+</h3>
+Different from <a href="qwidget.html#isActiveWindow">QWidget::isActiveWindow</a>()
+
+<h3 class=fn>void <a name="setActiveWindow"></a>QXtWidget::setActiveWindow ()<tt> [virtual]</tt>
+</h3>
+Implement a degree of focus handling for Xt widgets.
+
+<p>Reimplemented from <a href="qwidget.html#setActiveWindow">QWidget</a>.
+<h3 class=fn>bool <a name="x11Event"></a>QXtWidget::x11Event ( XEvent&nbsp;*&nbsp;e )<tt> [virtual protected]</tt>
+</h3>
+Reimplemented to produce the Xt effect of getting focus when the
+mouse enters the widget. The event is passed in <em>e</em>.
+
+<p>Reimplemented from <a href="qwidget.html#x11Event">QWidget</a>.
+<h3 class=fn>Widget <a name="xtWidget"></a>QXtWidget::xtWidget () const
+</h3>
+
+<p> Returns the Xt widget equivalent for the Qt widget.
+
+<!-- eof -->
+<hr><p>
+This file is part of the <a href="index.html">Qt toolkit</a>.
+Copyright &copy; 1995-2007
+<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/rangecontrols-example.html b/doc/html/rangecontrols-example.html
new file mode 100644
index 0000000..307da40
--- /dev/null
+++ b/doc/html/rangecontrols-example.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/rangecontrols/rangecontrols.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Range controls</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Range controls</h1>
+
+
+<p>
+This examples shows various types of range controls that
+are supported by Qt: dials, spin boxes and sliders.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/rangecontrols.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef RANGECONTROLS_H
+#define RANGECONTROLS_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QCheckBox;
+
+class RangeControls : public <a href="qvbox.html">QVBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ RangeControls( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+private:
+ <a href="qcheckbox.html">QCheckBox</a> *notches, *wrapping;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/rangecontrols.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "rangecontrols.h"
+
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+
+#include &lt;limits.h&gt;
+
+<a name="f436"></a>RangeControls::RangeControls( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( this );
+
+ <a href="qvbox.html">QVBox</a> *cell2 = new <a href="qvbox.html">QVBox</a>( row1 );
+<a name="x1382"></a> cell2-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+<a name="x1381"></a> cell2-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+
+ (void)new <a href="qwidget.html">QWidget</a>( cell2 );
+
+ <a href="qlabel.html">QLabel</a> *label1 = new <a href="qlabel.html">QLabel</a>( QString( "Enter a value between\n%1 and %2:" ).arg( -INT_MAX ).arg( INT_MAX ), cell2 );
+<a name="x1391"></a><a name="x1383"></a> label1-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() );
+ <a href="qspinbox.html">QSpinBox</a> *sb1 = new <a href="qspinbox.html">QSpinBox</a>( -INT_MAX, INT_MAX, 1, cell2 );
+<a name="x1390"></a> sb1-&gt;<a href="qspinbox.html#setValue">setValue</a>( 0 );
+
+ <a href="qlabel.html">QLabel</a> *label2 = new <a href="qlabel.html">QLabel</a>( "Enter a zoom value:", cell2 );
+ label2-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( label2-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() );
+ <a href="qspinbox.html">QSpinBox</a> *sb2 = new <a href="qspinbox.html">QSpinBox</a>( 0, 1000, 10, cell2 );
+<a name="x1389"></a> sb2-&gt;<a href="qspinbox.html#setSuffix">setSuffix</a>( " %" );
+<a name="x1388"></a> sb2-&gt;<a href="qspinbox.html#setSpecialValueText">setSpecialValueText</a>( "Automatic" );
+
+ <a href="qlabel.html">QLabel</a> *label3 = new <a href="qlabel.html">QLabel</a>( "Enter a price:", cell2 );
+ label3-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( label3-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().height() );
+ <a href="qspinbox.html">QSpinBox</a> *sb3 = new <a href="qspinbox.html">QSpinBox</a>( 0, INT_MAX, 1, cell2 );
+<a name="x1387"></a> sb3-&gt;<a href="qspinbox.html#setPrefix">setPrefix</a>( "$" );
+ sb3-&gt;<a href="qspinbox.html#setValue">setValue</a>( 355 );
+
+ (void)new <a href="qwidget.html">QWidget</a>( cell2 );
+
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( this );
+
+ <a href="qvbox.html">QVBox</a> *cell3 = new <a href="qvbox.html">QVBox</a>( row2 );
+ cell3-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+ cell3-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+ <a href="qslider.html">QSlider</a> *hslider = new <a href="qslider.html">QSlider</a>( 0, 64, 1, 33, Qt::Horizontal, cell3, "horizontal_s" );
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd2 = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, cell3 );
+<a name="x1384"></a> lcd2-&gt;<a href="qlcdnumber.html#display">display</a>( 33 );
+<a name="x1385"></a> lcd2-&gt;<a href="qlcdnumber.html#setSegmentStyle">setSegmentStyle</a>( QLCDNumber::Filled );
+<a name="x1386"></a> <a href="qobject.html#connect">connect</a>( hslider, SIGNAL( <a href="qslider.html#valueChanged">valueChanged</a>( int ) ), lcd2, SLOT( <a href="qlcdnumber.html#display">display</a>( int ) ) );
+
+ <a href="qhbox.html">QHBox</a> *cell4 = new <a href="qhbox.html">QHBox</a>( row2 );
+ cell4-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+ cell4-&gt;<a href="qframe.html#setMargin">setMargin</a>( 10 );
+ <a href="qslider.html">QSlider</a> *vslider = new <a href="qslider.html">QSlider</a>( 0, 64, 1, 8, Qt::Vertical, cell4 );
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd3 = new <a href="qlcdnumber.html">QLCDNumber</a>( 3, cell4 );
+ lcd3-&gt;<a href="qlcdnumber.html#display">display</a>( 8 );
+ <a href="qobject.html#connect">connect</a>( vslider, SIGNAL( <a href="qslider.html#valueChanged">valueChanged</a>( int ) ), lcd3, SLOT( <a href="qlcdnumber.html#display">display</a>( int ) ) );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "rangecontrols.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ RangeControls rangecontrols;
+ rangecontrols.<a href="qwidget.html#resize">resize</a>( 500, 300 );
+ rangecontrols.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Range Control Widgets" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;rangecontrols );
+ rangecontrols.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/rd-add.png b/doc/html/rd-add.png
new file mode 100644
index 0000000..b7912ed
--- /dev/null
+++ b/doc/html/rd-add.png
Binary files differ
diff --git a/doc/html/rd-chooseanimage.png b/doc/html/rd-chooseanimage.png
new file mode 100644
index 0000000..dce7f36
--- /dev/null
+++ b/doc/html/rd-chooseanimage.png
Binary files differ
diff --git a/doc/html/rd-chooseapixmap.png b/doc/html/rd-chooseapixmap.png
new file mode 100644
index 0000000..fecec20
--- /dev/null
+++ b/doc/html/rd-chooseapixmap.png
Binary files differ
diff --git a/doc/html/rd-configmf.png b/doc/html/rd-configmf.png
new file mode 100644
index 0000000..43698ae
--- /dev/null
+++ b/doc/html/rd-configmf.png
Binary files differ
diff --git a/doc/html/rd-configtb.png b/doc/html/rd-configtb.png
new file mode 100644
index 0000000..98e7158
--- /dev/null
+++ b/doc/html/rd-configtb.png
Binary files differ
diff --git a/doc/html/rd-cwidgdef.png b/doc/html/rd-cwidgdef.png
new file mode 100644
index 0000000..4a419ec
--- /dev/null
+++ b/doc/html/rd-cwidgdef.png
Binary files differ
diff --git a/doc/html/rd-cwidgprop.png b/doc/html/rd-cwidgprop.png
new file mode 100644
index 0000000..bc34455
--- /dev/null
+++ b/doc/html/rd-cwidgprop.png
Binary files differ
diff --git a/doc/html/rd-cwidgsig.png b/doc/html/rd-cwidgsig.png
new file mode 100644
index 0000000..788441c
--- /dev/null
+++ b/doc/html/rd-cwidgsig.png
Binary files differ
diff --git a/doc/html/rd-cwidgslot.png b/doc/html/rd-cwidgslot.png
new file mode 100644
index 0000000..6860bbf
--- /dev/null
+++ b/doc/html/rd-cwidgslot.png
Binary files differ
diff --git a/doc/html/rd-dbconn.png b/doc/html/rd-dbconn.png
new file mode 100644
index 0000000..82bb406
--- /dev/null
+++ b/doc/html/rd-dbconn.png
Binary files differ
diff --git a/doc/html/rd-ediconview.png b/doc/html/rd-ediconview.png
new file mode 100644
index 0000000..9724944
--- /dev/null
+++ b/doc/html/rd-ediconview.png
Binary files differ
diff --git a/doc/html/rd-editincdec.png b/doc/html/rd-editincdec.png
new file mode 100644
index 0000000..225622d
--- /dev/null
+++ b/doc/html/rd-editincdec.png
Binary files differ
diff --git a/doc/html/rd-edittext1.png b/doc/html/rd-edittext1.png
new file mode 100644
index 0000000..a76b21f
--- /dev/null
+++ b/doc/html/rd-edittext1.png
Binary files differ
diff --git a/doc/html/rd-edittext2.png b/doc/html/rd-edittext2.png
new file mode 100644
index 0000000..0de7746
--- /dev/null
+++ b/doc/html/rd-edittext2.png
Binary files differ
diff --git a/doc/html/rd-edlistbox.png b/doc/html/rd-edlistbox.png
new file mode 100644
index 0000000..f7569b2
--- /dev/null
+++ b/doc/html/rd-edlistbox.png
Binary files differ
diff --git a/doc/html/rd-edlistview.png b/doc/html/rd-edlistview.png
new file mode 100644
index 0000000..5a8582f
--- /dev/null
+++ b/doc/html/rd-edlistview.png
Binary files differ
diff --git a/doc/html/rd-edlistview2.png b/doc/html/rd-edlistview2.png
new file mode 100644
index 0000000..5ae555d
--- /dev/null
+++ b/doc/html/rd-edlistview2.png
Binary files differ
diff --git a/doc/html/rd-edpalette.png b/doc/html/rd-edpalette.png
new file mode 100644
index 0000000..754f8f5
--- /dev/null
+++ b/doc/html/rd-edpalette.png
Binary files differ
diff --git a/doc/html/rd-edtablecol.png b/doc/html/rd-edtablecol.png
new file mode 100644
index 0000000..d530c0c
--- /dev/null
+++ b/doc/html/rd-edtablecol.png
Binary files differ
diff --git a/doc/html/rd-edtablerow.png b/doc/html/rd-edtablerow.png
new file mode 100644
index 0000000..5410ff3
--- /dev/null
+++ b/doc/html/rd-edtablerow.png
Binary files differ
diff --git a/doc/html/rd-find.png b/doc/html/rd-find.png
new file mode 100644
index 0000000..4f5ac5c
--- /dev/null
+++ b/doc/html/rd-find.png
Binary files differ
diff --git a/doc/html/rd-formset.png b/doc/html/rd-formset.png
new file mode 100644
index 0000000..de9c8e0
--- /dev/null
+++ b/doc/html/rd-formset.png
Binary files differ
diff --git a/doc/html/rd-goto.png b/doc/html/rd-goto.png
new file mode 100644
index 0000000..4dd7a37
--- /dev/null
+++ b/doc/html/rd-goto.png
Binary files differ
diff --git a/doc/html/rd-image.png b/doc/html/rd-image.png
new file mode 100644
index 0000000..88ea411
--- /dev/null
+++ b/doc/html/rd-image.png
Binary files differ
diff --git a/doc/html/rd-open.png b/doc/html/rd-open.png
new file mode 100644
index 0000000..b7be4f8
--- /dev/null
+++ b/doc/html/rd-open.png
Binary files differ
diff --git a/doc/html/rd-pagetitle.png b/doc/html/rd-pagetitle.png
new file mode 100644
index 0000000..29d1515
--- /dev/null
+++ b/doc/html/rd-pagetitle.png
Binary files differ
diff --git a/doc/html/rd-prefedit1.png b/doc/html/rd-prefedit1.png
new file mode 100644
index 0000000..10f6892
--- /dev/null
+++ b/doc/html/rd-prefedit1.png
Binary files differ
diff --git a/doc/html/rd-projset.png b/doc/html/rd-projset.png
new file mode 100644
index 0000000..d4b1984
--- /dev/null
+++ b/doc/html/rd-projset.png
Binary files differ
diff --git a/doc/html/rd-projset2.png b/doc/html/rd-projset2.png
new file mode 100644
index 0000000..a75e7c4
--- /dev/null
+++ b/doc/html/rd-projset2.png
Binary files differ
diff --git a/doc/html/rd-replace.png b/doc/html/rd-replace.png
new file mode 100644
index 0000000..1f85fc0
--- /dev/null
+++ b/doc/html/rd-replace.png
Binary files differ
diff --git a/doc/html/rd-saveas.png b/doc/html/rd-saveas.png
new file mode 100644
index 0000000..1025608
--- /dev/null
+++ b/doc/html/rd-saveas.png
Binary files differ
diff --git a/doc/html/rd-saveform.png b/doc/html/rd-saveform.png
new file mode 100644
index 0000000..a5ce8b7
--- /dev/null
+++ b/doc/html/rd-saveform.png
Binary files differ
diff --git a/doc/html/rd-saveformas.png b/doc/html/rd-saveformas.png
new file mode 100644
index 0000000..ee483e2
--- /dev/null
+++ b/doc/html/rd-saveformas.png
Binary files differ
diff --git a/doc/html/rd-saveprojset.png b/doc/html/rd-saveprojset.png
new file mode 100644
index 0000000..c8a62b5
--- /dev/null
+++ b/doc/html/rd-saveprojset.png
Binary files differ
diff --git a/doc/html/rd-selcolor.png b/doc/html/rd-selcolor.png
new file mode 100644
index 0000000..a116841
--- /dev/null
+++ b/doc/html/rd-selcolor.png
Binary files differ
diff --git a/doc/html/rd-selfont.png b/doc/html/rd-selfont.png
new file mode 100644
index 0000000..8d39694
--- /dev/null
+++ b/doc/html/rd-selfont.png
Binary files differ
diff --git a/doc/html/rd-startdesigntab2.png b/doc/html/rd-startdesigntab2.png
new file mode 100644
index 0000000..1443e1b
--- /dev/null
+++ b/doc/html/rd-startdesigntab2.png
Binary files differ
diff --git a/doc/html/rd-template.png b/doc/html/rd-template.png
new file mode 100644
index 0000000..bfd546e
--- /dev/null
+++ b/doc/html/rd-template.png
Binary files differ
diff --git a/doc/html/rd-text.png b/doc/html/rd-text.png
new file mode 100644
index 0000000..87e6730
--- /dev/null
+++ b/doc/html/rd-text.png
Binary files differ
diff --git a/doc/html/rd-title.png b/doc/html/rd-title.png
new file mode 100644
index 0000000..a7de1ce
--- /dev/null
+++ b/doc/html/rd-title.png
Binary files differ
diff --git a/doc/html/rd-tunepalette.png b/doc/html/rd-tunepalette.png
new file mode 100644
index 0000000..3c5ec07
--- /dev/null
+++ b/doc/html/rd-tunepalette.png
Binary files differ
diff --git a/doc/html/regexptester-example.html b/doc/html/regexptester-example.html
new file mode 100644
index 0000000..982ce82
--- /dev/null
+++ b/doc/html/regexptester-example.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/regexptester/regexptester.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Small Application for Testing Regular Expressions</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Small Application for Testing Regular Expressions</h1>
+
+
+
+<p>
+<p> Regular expressions can sometimes be tricky to get right,
+especially those that use the * quantifier. This application lets
+you type in a regexp (without doubling the backslashes) and some
+test text, and to execute the regexp and see the results. If you
+click the Copy button the regexp will be copied to the clipboard
+(with the backslashes doubled, ready for you to paste into your
+program). Previous regexps and test texts are remembered
+throughout the session and can be accessed by dropping down the
+comboboxes.
+<p> <hr>
+<p> Header file:
+<p> <pre>#ifndef REGEXPTESTER_H
+#define REGEXPTESTER_H
+
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+
+class QCheckBox;
+class QComboBox;
+class QLabel;
+class QPushButton;
+class QStatusBar;
+class QTable;
+
+class RegexpTester : public <a href="qdialog.html">QDialog</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ RegexpTester(QWidget* parent=0, const char* name=0, bool modal=false,
+ WFlags f=0);
+
+ <a href="qlabel.html">QLabel</a> *regexLabel;
+ <a href="qcombobox.html">QComboBox</a> *regexComboBox;
+ <a href="qlabel.html">QLabel</a> *textLabel;
+ <a href="qcombobox.html">QComboBox</a> *textComboBox;
+ <a href="qcheckbox.html">QCheckBox</a> *caseSensitiveCheckBox;
+ <a href="qcheckbox.html">QCheckBox</a> *minimalCheckBox;
+ <a href="qcheckbox.html">QCheckBox</a> *wildcardCheckBox;
+ <a href="qtable.html">QTable</a> *resultTable;
+ <a href="qpushbutton.html">QPushButton</a> *executePushButton;
+ <a href="qpushbutton.html">QPushButton</a> *copyPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *quitPushButton;
+ <a href="qstatusbar.html">QStatusBar</a> *statusBar;
+
+public slots:
+ void copy();
+ void execute();
+
+private:
+ void languageChange();
+};
+
+#endif // REGEXPTESTER_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qclipboard-h.html">qclipboard.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qregexp-h.html">qregexp.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+
+#include "regexptester.h"
+
+
+<a name="f556"></a>RegexpTester::RegexpTester(QWidget* parent, const char* name, bool modal,
+ WFlags f)
+ : <a href="qdialog.html">QDialog</a>(parent, name, modal, f)
+{
+ regexLabel = new <a href="qlabel.html">QLabel</a>(this);
+ regexComboBox = new <a href="qcombobox.html">QComboBox</a>(this);
+<a name="x2480"></a> regexComboBox-&gt;<a href="qcombobox.html#setEditable">setEditable</a>(true);
+<a name="x2507"></a> regexComboBox-&gt;<a href="qwidget.html#setSizePolicy">setSizePolicy</a>(QSizePolicy::Expanding, QSizePolicy::Preferred);
+<a name="x2482"></a> regexLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>(regexComboBox);
+ textLabel = new <a href="qlabel.html">QLabel</a>(this);
+ textComboBox = new <a href="qcombobox.html">QComboBox</a>(this);
+ textComboBox-&gt;<a href="qcombobox.html#setEditable">setEditable</a>(true);
+ textComboBox-&gt;<a href="qwidget.html#setSizePolicy">setSizePolicy</a>(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ textLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>(textComboBox);
+ caseSensitiveCheckBox = new <a href="qcheckbox.html">QCheckBox</a>(this);
+<a name="x2475"></a> caseSensitiveCheckBox-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>(true);
+ minimalCheckBox = new <a href="qcheckbox.html">QCheckBox</a>(this);
+ wildcardCheckBox = new <a href="qcheckbox.html">QCheckBox</a>(this);
+ resultTable = new <a href="qtable.html">QTable</a>(3, 3, this);
+<a name="x2506"></a> resultTable-&gt;<a href="qtable.html#verticalHeader">verticalHeader</a>()-&gt;hide();
+<a name="x2501"></a> resultTable-&gt;<a href="qtable.html#setLeftMargin">setLeftMargin</a>(0);
+<a name="x2499"></a> resultTable-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;hide();
+<a name="x2505"></a> resultTable-&gt;<a href="qtable.html#setTopMargin">setTopMargin</a>(0);
+<a name="x2503"></a> resultTable-&gt;<a href="qtable.html#setReadOnly">setReadOnly</a>(true);
+ executePushButton = new <a href="qpushbutton.html">QPushButton</a>(this);
+<a name="x2484"></a> executePushButton-&gt;<a href="qpushbutton.html#setDefault">setDefault</a>(true);
+ copyPushButton = new <a href="qpushbutton.html">QPushButton</a>(this);
+ quitPushButton = new <a href="qpushbutton.html">QPushButton</a>(this);
+ statusBar = new <a href="qstatusbar.html">QStatusBar</a>(this);
+
+ <a href="qgridlayout.html">QGridLayout</a> *gridLayout = new <a href="qgridlayout.html">QGridLayout</a>(2, 2, 6);
+ gridLayout-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>(regexLabel, 0, 0);
+ gridLayout-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>(regexComboBox, 0, 1);
+ gridLayout-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>(textLabel, 1, 0);
+ gridLayout-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>(textComboBox, 1, 1);
+ <a href="qhboxlayout.html">QHBoxLayout</a> *checkboxLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>(0, 6, 6);
+ checkboxLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(caseSensitiveCheckBox);
+ checkboxLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(minimalCheckBox);
+ checkboxLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(wildcardCheckBox);
+<a name="x2470"></a> checkboxLayout-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>(1);
+ <a href="qvboxlayout.html">QVBoxLayout</a> *buttonLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>(0, 6, 6);
+ buttonLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(executePushButton);
+ buttonLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(copyPushButton);
+ buttonLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(quitPushButton);
+ buttonLayout-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>(1);
+ <a href="qhboxlayout.html">QHBoxLayout</a> *middleLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>(0, 6, 6);
+ middleLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(resultTable);
+<a name="x2469"></a> middleLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>(buttonLayout);
+ <a href="qvboxlayout.html">QVBoxLayout</a> *mainLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>(this, 6, 6);
+ mainLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>(gridLayout);
+ mainLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>(checkboxLayout);
+ mainLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>(middleLayout);
+ mainLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(statusBar);
+
+ <a href="qwidget.html#resize">resize</a>(QSize(500, 350).expandedTo(<a href="qwidget.html#minimumSizeHint">minimumSizeHint</a>()));
+
+ languageChange();
+
+ <a href="qobject.html#connect">connect</a>(copyPushButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(copy()));
+ <a href="qobject.html#connect">connect</a>(executePushButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(execute()));
+ <a href="qobject.html#connect">connect</a>(quitPushButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(<a href="qdialog.html#accept">accept</a>()));
+
+ execute();
+}
+
+void <a name="f557"></a>RegexpTester::execute()
+{
+<a name="x2478"></a> <a href="qstring.html">QString</a> regex = regexComboBox-&gt;<a href="qcombobox.html#currentText">currentText</a>();
+ <a href="qstring.html">QString</a> text = textComboBox-&gt;<a href="qcombobox.html#currentText">currentText</a>();
+ if (!regex.<a href="qstring.html#isEmpty">isEmpty</a>() &amp;&amp; !text.<a href="qstring.html#isEmpty">isEmpty</a>()) {
+ <a href="qregexp.html">QRegExp</a> re(regex);
+<a name="x2491"></a><a name="x2474"></a> re.<a href="qregexp.html#setCaseSensitive">setCaseSensitive</a>(caseSensitiveCheckBox-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>());
+<a name="x2492"></a> re.<a href="qregexp.html#setMinimal">setMinimal</a>(minimalCheckBox-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>());
+ bool wildcard = wildcardCheckBox-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>();
+<a name="x2493"></a> re.<a href="qregexp.html#setWildcard">setWildcard</a>(wildcard);
+<a name="x2487"></a> if (!re.<a href="qregexp.html#isValid">isValid</a>()) {
+<a name="x2494"></a> statusBar-&gt;<a href="qstatusbar.html#message">message</a>(<a href="qobject.html#tr">tr</a>("Invalid <a href="qregexp.html#regular-expression">regular expression</a>: %1")
+<a name="x2486"></a> .arg(re.<a href="qregexp.html#errorString">errorString</a>()));
+ return;
+ }
+<a name="x2490"></a> int offset = re.<a href="qregexp.html#search">search</a>(text);
+<a name="x2489"></a> int captures = re.<a href="qregexp.html#numCaptures">numCaptures</a>();
+ int row = 0;
+ const int OFFSET = 5;
+<a name="x2502"></a> resultTable-&gt;<a href="qtable.html#setNumRows">setNumRows</a>(0);
+ resultTable-&gt;<a href="qtable.html#setNumRows">setNumRows</a>(captures + OFFSET);
+<a name="x2504"></a> resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 0, tr("Regex"));
+ <a href="qstring.html">QString</a> escaped = regex;
+<a name="x2497"></a> escaped = escaped.<a href="qstring.html#replace">replace</a>("\\", "\\\\");
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 1, escaped);
+<a name="x2500"></a> resultTable-&gt;<a href="qtable.html#item">item</a>(row, 1)-&gt;setSpan(1, 2);
+ if (offset != -1) {
+ ++row;
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 0, tr("Offset"));
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 1, QString::number(offset));
+ resultTable-&gt;<a href="qtable.html#item">item</a>(row, 1)-&gt;setSpan(1, 2);
+ if (!wildcard) {
+ ++row;
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 0, tr("Captures"));
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 1, QString::number(captures));
+ resultTable-&gt;<a href="qtable.html#item">item</a>(row, 1)-&gt;setSpan(1, 2);
+ ++row;
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 1, tr("Text"));
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 2, tr("Characters"));
+ }
+ ++row;
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 0, tr("Match"));
+<a name="x2485"></a> resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 1, re.<a href="qregexp.html#cap">cap</a>(0));
+<a name="x2488"></a> resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 2, QString::number(re.<a href="qregexp.html#matchedLength">matchedLength</a>()));
+ if (!wildcard) {
+ for (int i = 1; i &lt;= captures; ++i) {
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row + i, 0, tr("Capture #%1").arg(i));
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row + i, 1, re.<a href="qregexp.html#cap">cap</a>(i));
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row + i, 2,
+<a name="x2496"></a> QString::<a href="qstring.html#number">number</a>(re.<a href="qregexp.html#cap">cap</a>(i).length()));
+ }
+ }
+ else
+ resultTable-&gt;<a href="qtable.html#setNumRows">setNumRows</a>(3);
+ }
+ else {
+ resultTable-&gt;<a href="qtable.html#setNumRows">setNumRows</a>(2);
+ ++row;
+ resultTable-&gt;<a href="qtable.html#setText">setText</a>(row, 0, tr("No matches"));
+ resultTable-&gt;<a href="qtable.html#item">item</a>(row, 0)-&gt;setSpan(1, 3);
+ }
+<a name="x2498"></a> resultTable-&gt;<a href="qtable.html#adjustColumn">adjustColumn</a>(0);
+ resultTable-&gt;<a href="qtable.html#adjustColumn">adjustColumn</a>(1);
+ resultTable-&gt;<a href="qtable.html#adjustColumn">adjustColumn</a>(2);
+ statusBar-&gt;<a href="qstatusbar.html#message">message</a>(<a href="qobject.html#tr">tr</a>("Executed \"%1\" on \"%2\"")
+ .arg(escaped).arg(text));
+ }
+ else
+ statusBar-&gt;<a href="qstatusbar.html#message">message</a>(<a href="qobject.html#tr">tr</a>("A regular expression and a text must be given"));
+}
+
+void <a name="f558"></a>RegexpTester::copy()
+{
+ <a href="qstring.html">QString</a> escaped = regexComboBox-&gt;<a href="qcombobox.html#currentText">currentText</a>();
+ if (!escaped.<a href="qstring.html#isEmpty">isEmpty</a>()) {
+ escaped = escaped.<a href="qstring.html#replace">replace</a>("\\", "\\\\");
+<a name="x2468"></a> <a href="qclipboard.html">QClipboard</a> *cb = QApplication::<a href="qapplication.html#clipboard">clipboard</a>();
+<a name="x2476"></a> cb-&gt;<a href="qclipboard.html#setText">setText</a>(escaped, QClipboard::Clipboard);
+<a name="x2477"></a> if (cb-&gt;<a href="qclipboard.html#supportsSelection">supportsSelection</a>())
+ cb-&gt;<a href="qclipboard.html#setText">setText</a>(escaped, QClipboard::Selection);
+ statusBar-&gt;<a href="qstatusbar.html#message">message</a>(<a href="qobject.html#tr">tr</a>("Copied \"%1\" to the clipboard")
+ .arg(escaped));
+ }
+}
+
+void <a name="f559"></a>RegexpTester::languageChange()
+{
+ <a href="qwidget.html#setCaption">setCaption</a>(<a href="qobject.html#tr">tr</a>("Regex Tester"));
+ regexLabel-&gt;<a href="qlabel.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Regex:"));
+<a name="x2479"></a> regexComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>(<a href="qobject.html#tr">tr</a>("[A-Z]+=(\\d+):(\\d*)"));
+ textLabel-&gt;<a href="qlabel.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Text:"));
+ textComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>(<a href="qobject.html#tr">tr</a>("ABC=12:3456"));
+<a name="x2473"></a> caseSensitiveCheckBox-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("Case &amp;Sensitive"));
+ minimalCheckBox-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Minimal"));
+ wildcardCheckBox-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Wildcard"));
+ copyPushButton-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Copy"));
+ executePushButton-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Execute"));
+ quitPushButton-&gt;<a href="qbutton.html#setText">setText</a>(<a href="qobject.html#tr">tr</a>("&amp;Quit"));
+}
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "regexptester.h"
+
+int main(int argc, char **argv)
+{
+ <a href="qapplication.html">QApplication</a> app(argc, argv);
+ RegexpTester form;
+<a name="x2511"></a> form.<a href="qdialog.html#show">show</a>();
+<a name="x2512"></a><a name="x2510"></a><a name="x2509"></a> app.<a href="qobject.html#connect">connect</a>(&amp;app, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;app, SLOT(<a href="qapplication.html#quit">quit</a>()));
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/removed20.html b/doc/html/removed20.html
new file mode 100644
index 0000000..1649f02
--- /dev/null
+++ b/doc/html/removed20.html
@@ -0,0 +1,379 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:1096 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Functions removed in Qt 2.0</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Functions removed in Qt 2.0</h1>
+
+
+<p> <pre>
+
+<a href="qfiledialog.html#fileHighlighted">QFileDialog::fileHighlighted</a>(const char *)
+<a href="qfiledialog.html#fileSelected">QFileDialog::fileSelected</a>(const char *)
+<a href="qfiledialog.html#dirEntered">QFileDialog::dirEntered</a>(const char *)
+QFileDialog::updatePathBox(const char *)
+<a href="qobject.html#name">QObject::name</a>(void) const
+<a href="qfiledialog.html#getOpenFileName">QFileDialog::getOpenFileName</a>(const char *, const char *, <a href="qwidget.html">QWidget</a> *, const char *)
+<a href="qfiledialog.html#getSaveFileName">QFileDialog::getSaveFileName</a>(const char *, const char *, QWidget *, const char *)
+<a href="qfiledialog.html#getExistingDirectory">QFileDialog::getExistingDirectory</a>(const char *, QWidget *, const char *)
+<a href="qfiledialog.html#getOpenFileNames">QFileDialog::getOpenFileNames</a>(const char *, const char *, QWidget *, const char *)
+<a href="qfiledialog.html#setSelection">QFileDialog::setSelection</a>(const char *)
+<a href="qfiledialog.html#setDir">QFileDialog::setDir</a>(const char *)
+<a href="qmessagebox.html#setText">QMessageBox::setText</a>(const char *)
+<a href="qmessagebox.html#setButtonText">QMessageBox::setButtonText</a>(const char *)
+QMessageBox::setButtonText(int, const char *)
+<a href="qwidget.html#setStyle">QMessageBox::setStyle</a>(GUIStyle)
+<a href="qmessagebox.html#standardIcon">QMessageBox::standardIcon</a>(QMessageBox::Icon, GUIStyle)
+<a href="qmessagebox.html#information">QMessageBox::information</a>(<a href="qwidget.html">QWidget</a> *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::information(QWidget *, const char *, const char *, int, int, int)
+<a href="qmessagebox.html#warning">QMessageBox::warning</a>(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::warning(QWidget *, const char *, const char *, int, int, int)
+<a href="qmessagebox.html#critical">QMessageBox::critical</a>(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::critical(QWidget *, const char *, const char *, int, int, int)
+<a href="qmessagebox.html#about">QMessageBox::about</a>(QWidget *, const char *, const char *)
+<a href="qmessagebox.html#aboutQt">QMessageBox::aboutQt</a>(QWidget *, const char *)
+<a href="qmessagebox.html#message">QMessageBox::message</a>(const char *, const char *, const char *, QWidget *, const char *)
+<a href="qmessagebox.html#buttonText">QMessageBox::buttonText</a>(void) const
+<a href="qmessagebox.html#query">QMessageBox::query</a>(const char *, const char *, const char *, const char *, <a href="qwidget.html">QWidget</a> *, const char *)
+<a href="qprogressdialog.html#setLabelText">QProgressDialog::setLabelText</a>(const char *)
+<a href="qprogressdialog.html#setCancelButtonText">QProgressDialog::setCancelButtonText</a>(const char *)
+<a href="qwidget.html#styleChange">QProgressDialog::styleChange</a>(GUIStyle)
+QProgressDialog::init(QWidget *, const char *, const char *, int)
+<a href="qtabdialog.html#addTab">QTabDialog::addTab</a>(QWidget *, const char *)
+<a href="qtabdialog.html#isTabEnabled">QTabDialog::isTabEnabled</a>(const char *) const
+<a href="qtabdialog.html#setTabEnabled">QTabDialog::setTabEnabled</a>(const char *, bool)
+<a href="qtabdialog.html#setDefaultButton">QTabDialog::setDefaultButton</a>(const char *)
+<a href="qtabdialog.html#setCancelButton">QTabDialog::setCancelButton</a>(const char *)
+<a href="qtabdialog.html#setApplyButton">QTabDialog::setApplyButton</a>(const char *)
+QTabDialog::setOKButton(const char *)
+QTabDialog::setOkButton(const char *)
+<a href="qwidget.html#styleChange">QTabDialog::styleChange</a>(GUIStyle)
+<a href="qtabdialog.html#selected">QTabDialog::selected</a>(const char *)
+<a href="qobject.html#name">QObject::name</a>(void) const
+<a href="qapplication.html#setStyle">QApplication::setStyle</a>(GUIStyle)
+<a href="qapplication.html#palette">QApplication::palette</a>(void)
+<a href="qapplication.html#setPalette">QApplication::setPalette</a>(const <a href="qpalette.html">QPalette</a> &, bool)
+<a href="qapplication.html#font">QApplication::font</a>(void)
+<a href="qapplication.html#setFont">QApplication::setFont</a>(const <a href="qfont.html">QFont</a> &, bool)
+<a href="qbrush.html#setStyle">QBrush::setStyle</a>(BrushStyle)
+QBrush::init(const <a href="qcolor.html">QColor</a> &, BrushStyle)
+QObject::name(void) const
+<a href="qclipboard.html#data">QClipboard::data</a>(const char *) const
+<a href="qclipboard.html#setData">QClipboard::setData</a>(const char *, void *)
+<a href="qclipboard.html#setText">QClipboard::setText</a>(const char *)
+QUrlDrag::decodeLocalFiles(<a href="qdropevent.html">QDropEvent</a> *, <a href="qstrlist.html">QStrList</a> &)
+QObject::name(void) const
+<a href="qstoreddrag.html#setEncodedData">QStoredDrag::setEncodedData</a>(QArrayT<char> const &)
+<a href="qtextdrag.html#setText">QTextDrag::setText</a>(const char *)
+<a href="qimagedrag.html#canDecode">QImageDrag::canDecode</a>(<a href="qdragmoveevent.html">QDragMoveEvent</a> *)
+<a href="qtextdrag.html#canDecode">QTextDrag::canDecode</a>(QDragMoveEvent *)
+QUrlDrag::canDecode(QDragMoveEvent *)
+<a href="qimagedrag.html#decode">QImageDrag::decode</a>(QDropEvent *, <a href="qimage.html">QImage</a> &)
+QImageDrag::decode(QDropEvent *, <a href="qpixmap.html">QPixmap</a> &)
+<a href="qtextdrag.html#decode">QTextDrag::decode</a>(QDropEvent *, <a href="qstring.html">QString</a> &)
+QUrlDrag::decode(QDropEvent *, QStrList &)
+<a href="qdropevent.html#format">QDragMoveEvent::format</a>(int)
+<a href="qdropevent.html#provides">QDragMoveEvent::provides</a>(const char *)
+<a href="qdropevent.html#data">QDragMoveEvent::data</a>(const char *)
+<a href="qdropevent.html#data">QDropEvent::data</a>(const char *)
+QEvent::peErrMsg(void)
+<a href="qfont.html#substitute">QFont::substitute</a>(const char *)
+<a href="qfont.html#insertSubstitution">QFont::insertSubstitution</a>(const char *, const char *)
+<a href="qfont.html#removeSubstitution">QFont::removeSubstitution</a>(const char *)
+QFont::load(unsigned int) const
+<a href="qfont.html#setFamily">QFont::setFamily</a>(const char *)
+<a href="qfont.html#bold">QFont::bold</a>(void) const
+<a href="qfont.html#setBold">QFont::setBold</a>(bool)
+<a href="qfont.html#handle">QFont::handle</a>(unsigned int) const
+QFont::bold(void) const
+QFontInfo::font(void) const
+QFontInfo::reset(const <a href="qwidget.html">QWidget</a> *)
+QFontInfo::type(void) const
+<a href="qfontmetrics.html#inFont">QFontMetrics::inFont</a>(char) const
+<a href="qfontmetrics.html#leftBearing">QFontMetrics::leftBearing</a>(char) const
+<a href="qfontmetrics.html#rightBearing">QFontMetrics::rightBearing</a>(char) const
+<a href="qfontmetrics.html#width">QFontMetrics::width</a>(char) const
+QFontMetrics::width(const char *, int) const
+<a href="qfontmetrics.html#boundingRect">QFontMetrics::boundingRect</a>(char) const
+QFontMetrics::boundingRect(const char *, int) const
+QFontMetrics::boundingRect(int, int, int, int, int, const char *, int, int, int *, char **) const
+<a href="qfontmetrics.html#size">QFontMetrics::size</a>(int, const char *, int, int, int *, char **) const
+QFontMetrics::font(void) const
+QFontMetrics::reset(const QWidget *)
+QFontMetrics::type(void) const
+<a href="qobject.html#name">QObject::name</a>(void) const
+QGManager::setBorder(int)
+QGManager::newSerChain(QGManager::Direction)
+QGManager::newParChain(QGManager::Direction)
+QGManager::add(QChain *, QChain *, int)
+QGManager::addWidget(QChain *, <a href="qwidget.html">QWidget</a> *, int)
+QGManager::addSpacing(QChain *, int, int, int)
+QGManager::addBranch(QChain *, QChain *, int, int)
+QGManager::setStretch(QChain *, int)
+QGManager::activate(void)
+QGManager::unFreeze(void)
+QGManager::xChain(void)
+QGManager::yChain(void)
+QGManager::setMenuBar(QWidget *)
+QGManager::mainWidget(void)
+QGManager::remove(QWidget *)
+QGManager::setName(QChain *, const char *)
+QGManager::eventFilter(<a href="qobject.html">QObject</a> *, <a href="qevent.html">QEvent</a> *)
+QGManager::resizeHandle(QWidget *, const <a href="qsize.html">QSize</a> &)
+QGManager::resizeAll(void)
+<a href="qiconset.html#setPixmap">QIconSet::setPixmap</a>(const char *, QIconSet::Size, QIconSet::Mode)
+<a href="qimage.html#imageFormat">QImage::imageFormat</a>(const char *)
+<a href="qimageio.html#imageFormat">QImageIO::imageFormat</a>(const char *)
+<a href="qimage.html#load">QImage::load</a>(const char *, const char *)
+<a href="qimage.html#loadFromData">QImage::loadFromData</a>(QArrayT<char>, const char *)
+<a href="qimage.html#save">QImage::save</a>(const char *, const char *) const
+<a href="qimageio.html#setFileName">QImageIO::setFileName</a>(const char *)
+<a href="qimageio.html#setDescription">QImageIO::setDescription</a>(const char *)
+QBoxLayout::addB(<a href="qlayout.html">QLayout</a> *, int)
+<a href="qobject.html#name">QObject::name</a>(void) const
+QLayout::basicManager(void)
+QLayout::verChain(QLayout *)
+QLayout::horChain(QLayout *)
+QObject::name(void) const
+<a href="qobject.html#tr">QObject::tr</a>(const char *) const
+<a href="qpaintdevice.html#x11Screen">QPaintDevice::x11Screen</a>(voidQPaintDevice::x11Depth(voidQPaintDevice::x11Cells(voidQPaintDevice::x11Colormap(voidQPaintDevice::x11DefaultColormap(void) <a href="qpaintdevice.html#x11Visual">QPaintDevice::x11Visual</a>(voidQPaintDevice::x11DefaultVisual(void)
+<a href="qpainter.html#translate">QPainter::translate</a>(float, float)
+<a href="qpainter.html#scale">QPainter::scale</a>(float, float)
+<a href="qpainter.html#shear">QPainter::shear</a>(float, float)
+<a href="qpainter.html#rotate">QPainter::rotate</a>(float)
+<a href="qpainter.html#drawText">QPainter::drawText</a>(const <a href="qpoint.html">QPoint</a> &, const char *, int)
+QPainter::drawText(const <a href="qrect.html">QRect</a> &, int, const char *, int, QRect *, char **)
+QPainter::drawText(int, int, const char *, int)
+QPainter::drawText(int, int, int, int, int, const char *, int, QRect *, char **)
+<a href="qpainter.html#boundingRect">QPainter::boundingRect</a>(int, int, int, int, int, const char *, int, char **)
+QPainter::testf(unsigned short) const
+QPainter::setf(unsigned short)
+QPainter::setf(unsigned short, bool)
+QPainter::clearf(unsigned short)
+<a href="qpainter.html#setPen">QPainter::setPen</a>(PenStyle)
+<a href="qpainter.html#setBrush">QPainter::setBrush</a>(BrushStyle)
+<a href="qpainter.html#setBackgroundMode">QPainter::setBackgroundMode</a>(BGMode)
+<a href="qpen.html#setStyle">QPen::setStyle</a>(PenStyle)
+QPen::init(const <a href="qcolor.html">QColor</a> &, unsigned int, PenStyle)
+<a href="qpicture.html#load">QPicture::load</a>(const char *)
+<a href="qpicture.html#save">QPicture::save</a>(const char *)
+QPixmap::isOptimized(void) const
+QPixmap::optimize(bool)
+QPixmap::isGloballyOptimized(void)
+QPixmap::optimizeGlobally(bool)
+<a href="qpixmap.html#imageFormat">QPixmap::imageFormat</a>(const char *)
+<a href="qpixmap.html#load">QPixmap::load</a>(const char *, const char *, QPixmap::ColorMode)
+QPixmap::load(const char *, const char *, int)
+<a href="qpixmap.html#loadFromData">QPixmap::loadFromData</a>(QArrayT<char>, const char *, int)
+<a href="qpixmap.html#save">QPixmap::save</a>(const char *, const char *) const
+<a href="qpixmapcache.html#find">QPixmapCache::find</a>(const char *)
+QPixmapCache::find(const char *, <a href="qpixmap.html">QPixmap</a> &)
+<a href="qpixmapcache.html#insert">QPixmapCache::insert</a>(const char *, QPixmap *)
+QPixmapCache::insert(const char *, const QPixmap &)
+<a href="qprinter.html#setPrinterName">QPrinter::setPrinterName</a>(const char *)
+<a href="qprinter.html#setOutputFileName">QPrinter::setOutputFileName</a>(const char *)
+<a href="qprinter.html#setPrintProgram">QPrinter::setPrintProgram</a>(const char *)
+<a href="qprinter.html#setDocName">QPrinter::setDocName</a>(const char *)
+<a href="qprinter.html#setCreator">QPrinter::setCreator</a>(const char *)
+<a href="qrect.html#setX">QRect::setX</a>(int)
+<a href="qrect.html#setY">QRect::setY</a>(int)
+QRegion::exec(QArrayT<char> const &)
+<a href="qobject.html#name">QObject::name</a>(void) const
+QObject::name(void) const
+<a href="qsignalmapper.html#setMapping">QSignalMapper::setMapping</a>(const <a href="qobject.html">QObject</a> *, const char *)
+<a href="qsignalmapper.html#mapped">QSignalMapper::mapped</a>(const char *)
+QObject::name(void) const
+QObject::name(void) const
+<a href="qwidget.html#setCaption">QWidget::setCaption</a>(const char *)
+<a href="qwidget.html#setIconText">QWidget::setIconText</a>(const char *)
+<a href="qwidget.html#drawText">QWidget::drawText</a>(const <a href="qpoint.html">QPoint</a> &, const char *)
+QWidget::drawText(int, int, const char *)
+QWidget::acceptFocus(void) const
+QWidget::setAcceptFocus(bool)
+<a href="qwidget.html#create">QWidget::create</a>(unsigned int)
+QWidget::create(void)
+QWidget::internalMove(int, int)
+QWidget::internalResize(int, int)
+QWidget::internalSetGeometry(int, int, int, int)
+QWidget::deferMove(const QPoint &)
+QWidget::deferResize(const <a href="qsize.html">QSize</a> &)
+QWidget::cancelMove(voidQWidget::cancelResize(voidQWidget::sendDeferredEvents(voidQWidget::setBackgroundColorFromMode(voidQObject::name(void) const <a href="qwidget.html#setMask">QWidget::setMask</a>(QBitmapQWMatrix::setMatrix(float, float, float, float, float, float)
+<a href="qwmatrix.html#map">QWMatrix::map</a>(float, float, float *, float *) const
+<a href="qwmatrix.html#translate">QWMatrix::translate</a>(float, float)
+<a href="qwmatrix.html#scale">QWMatrix::scale</a>(float, float)
+<a href="qwmatrix.html#shear">QWMatrix::shear</a>(float, float)
+<a href="qwmatrix.html#rotate">QWMatrix::rotate</a>(float)
+<a href="qbuffer.html#setBuffer">QBuffer::setBuffer</a>(QArrayT<char>)
+<a href="qdir.html#entryList">QDir::entryList</a>(const char *, int, int) const
+<a href="qdir.html#entryInfoList">QDir::entryInfoList</a>(const char *, int, int) const
+<a href="qdir.html#mkdir">QDir::mkdir</a>(const char *, bool) const
+<a href="qdir.html#rmdir">QDir::rmdir</a>(const char *, bool) const
+<a href="qdir.html#exists">QDir::exists</a>(const char *, bool)
+<a href="qdir.html#remove">QDir::remove</a>(const char *, bool)
+<a href="qdir.html#rename">QDir::rename</a>(const char *, const char *, bool)
+<a href="qdir.html#setCurrent">QDir::setCurrent</a>(const char *)
+<a href="qdir.html#match">QDir::match</a>(const char *, const char *)
+<a href="qdir.html#cleanDirPath">QDir::cleanDirPath</a>(const char *)
+<a href="qdir.html#isRelativePath">QDir::isRelativePath</a>(const char *)
+<a href="qdir.html#setPath">QDir::setPath</a>(const char *)
+<a href="qdir.html#filePath">QDir::filePath</a>(const char *, bool) const
+<a href="qdir.html#absFilePath">QDir::absFilePath</a>(const char *, bool) const
+<a href="qdir.html#convertSeparators">QDir::convertSeparators</a>(const char *)
+<a href="qdir.html#cd">QDir::cd</a>(const char *, bool)
+<a href="qdir.html#setNameFilter">QDir::setNameFilter</a>(const char *)
+<a href="qfile.html#setName">QFile::setName</a>(const char *)
+<a href="qfile.html#exists">QFile::exists</a>(const char *)
+<a href="qfile.html#remove">QFile::remove</a>(const char *)
+<a href="qfileinfo.html#setFile">QFileInfo::setFile</a>(const <a href="qdir.html">QDir</a> &, const char *)
+QFileInfo::setFile(const char *)
+QFile::exists(const char *)
+<a href="qfileinfo.html#extension">QFileInfo::extension</a>(void) const
+<a href="qregexp.html#match">QRegExp::match</a>(const char *, int, int *) const
+QRegExp::matchstr(unsigned short *, char *, char *) const
+QString::resize(unsigned int)
+<a href="qstring.html#fill">QString::fill</a>(char, int)
+<a href="qstring.html#find">QString::find</a>(const char *, int, bool) const
+<a href="qstring.html#findRev">QString::findRev</a>(const char *, int, bool) const
+<a href="qstring.html#leftJustify">QString::leftJustify</a>(unsigned int, char, bool) const
+<a href="qstring.html#rightJustify">QString::rightJustify</a>(unsigned int, char, bool) const
+<a href="qstring.html#insert">QString::insert</a>(unsigned int, const char *)
+<a href="qstring.html#append">QString::append</a>(const char *)
+<a href="qstring.html#prepend">QString::prepend</a>(const char *)
+<a href="qstring.html#replace">QString::replace</a>(const <a href="qregexp.html">QRegExp</a> &, const char *)
+QString::replace(unsigned int, unsigned int, const char *)
+QString::setStr(const char *)
+<a href="qstring.html#setNum">QString::setNum</a>(int)
+QString::setNum(unsigned long)
+<a href="qstring.html#setExpand">QString::setExpand</a>(unsigned int, char)
+<a href="qbutton.html#setText">QButton::setText</a>(const char *)
+<a href="qcombobox.html#setEditText">QComboBox::setEditText</a>(const char *)
+<a href="qcombobox.html#activated">QComboBox::activated</a>(const char *)
+<a href="qcombobox.html#highlighted">QComboBox::highlighted</a>(const char *)
+<a href="qcombobox.html#insertItem">QComboBox::insertItem</a>(const char *, int)
+<a href="qcombobox.html#changeItem">QComboBox::changeItem</a>(const char *, int)
+<a href="qwidget.html#setStyle">QComboBox::setStyle</a>(GUIStyle)
+<a href="qcombobox.html#setValidator">QComboBox::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
+<a href="qgroupbox.html#setTitle">QGroupBox::setTitle</a>(const char *)
+QHeader::moveAround(int, int)
+<a href="qheader.html#addLabel">QHeader::addLabel</a>(const char *, int)
+<a href="qheader.html#setLabel">QHeader::setLabel</a>(int, const char *, int)
+<a href="qheader.html#setOrientation">QHeader::setOrientation</a>(QHeader::Orientation)
+<a href="qwidget.html#resizeEvent">QHeader::resizeEvent</a>(<a href="qresizeevent.html">QResizeEvent</a> *QHeader::paintCell(<a href="qpainter.html">QPainter</a> *, int, intQHeader::setupPainter(QPainter *QHeader::cellHeight(intQHeader::cellWidth(int) <a href="qlabel.html#setText">QLabel::setText</a>(const char *QLCDNumber::display(const char *)
+<a href="qframe.html#resizeEvent">QLCDNumber::resizeEvent</a>(QResizeEvent *)
+QLCDNumber::internalDisplay(const char *)
+QLCDNumber::drawString(const char *, QPainter &, <a href="qbitarray.html">QBitArray</a> *, bool)
+QLCDNumber::drawDigit(const <a href="qpoint.html">QPoint</a> &, QPainter &, int, char, char)
+QLCDNumber::drawSegment(const QPoint &, char, QPainter &, int, bool)
+<a href="qwidget.html#event">QLineEdit::event</a>(<a href="qevent.html">QEvent</a> *)
+<a href="qlineedit.html#setValidator">QLineEdit::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
+<a href="qlineedit.html#validateAndSet">QLineEdit::validateAndSet</a>(const char *, int, int, int)
+<a href="qlineedit.html#setText">QLineEdit::setText</a>(const char *)
+<a href="qlineedit.html#insert">QLineEdit::insert</a>(const char *)
+<a href="qlineedit.html#textChanged">QLineEdit::textChanged</a>(const char *)
+<a href="qlistbox.html#insertItem">QListBox::insertItem</a>(const char *, int)
+<a href="qlistbox.html#inSort">QListBox::inSort</a>(const char *)
+<a href="qlistbox.html#changeItem">QListBox::changeItem</a>(const char *, int)
+<a href="qlistbox.html#maxItemWidth">QListBox::maxItemWidth</a>(void)
+<a href="qlistbox.html#highlighted">QListBox::highlighted</a>(const char *)
+<a href="qlistboxitem.html#setText">QListBoxItem::setText</a>(const char *)
+<a href="qlistbox.html#selected">QListBox::selected</a>(const char *)
+<a href="qlistviewitem.html#isExpandable">QListViewItem::isExpandable</a>(void)
+<a href="qwidget.html#setStyle">QListView::setStyle</a>(GUIStyle)
+<a href="qmainwindow.html#addToolBar">QMainWindow::addToolBar</a>(<a href="qtoolbar.html">QToolBar</a> *, const char *, QMainWindow::ToolBarDock, bool)
+<a href="qmenudata.html#insertItem">QMenuData::insertItem</a>(const <a href="qpixmap.html">QPixmap</a> &, const <a href="qobject.html">QObject</a> *, const char *, int)
+QMenuData::insertItem(const QPixmap &, const char *, <a href="qpopupmenu.html">QPopupMenu</a> *, int, int)
+QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int)
+QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int, int, int)
+QMenuData::insertItem(const QPixmap &, const char *, int, int)
+QMenuData::insertItem(const char *, QPopupMenu *, int, int)
+QMenuData::insertItem(const char *, const QObject *, const char *, int)
+QMenuData::insertItem(const char *, const QObject *, const char *, int, int, int)
+QMenuData::insertItem(const char *, int, int)
+<a href="qmenudata.html#changeItem">QMenuData::changeItem</a>(const QPixmap &, const char *, int)
+QMenuData::changeItem(const char *, int)
+QMenuData::insertAny(const char *, const QPixmap *, QPopupMenu *, int, int)
+QMenuItem::setText(const char *)
+QMultiLineEdit::textWidth(<a href="qstring.html">QString</a> *)
+QMultiLineEdit::repaintAll(void)
+QMultiLineEdit::repaintDelayed(void)
+<a href="qtextedit.html#setText">QMultiLineEdit::setText</a>(const char *)
+<a href="qtextedit.html#append">QMultiLineEdit::append</a>(const char *)
+QPopupMenu::itemAtPos(const <a href="qpoint.html">QPoint</a> &)
+QPopupMenu::actSig(int)
+<a href="qwidget.html#mouseReleaseEvent">QRadioButton::mouseReleaseEvent</a>(<a href="qmouseevent.html">QMouseEvent</a> *)
+<a href="qwidget.html#keyPressEvent">QRadioButton::keyPressEvent</a>(<a href="qkeyevent.html">QKeyEvent</a> *)
+QRangeControl::adjustValue(void)
+<a href="qscrollbar.html#setOrientation">QScrollBar::setOrientation</a>(QScrollBar::Orientation)
+<a href="qscrollview.html#horizontalScrollBar">QScrollView::horizontalScrollBar</a>(void)
+<a href="qscrollview.html#verticalScrollBar">QScrollView::verticalScrollBar</a>(void)
+<a href="qscrollview.html#viewport">QScrollView::viewport</a>(void)
+<a href="qslider.html#setOrientation">QSlider::setOrientation</a>(QSlider::Orientation)
+<a href="qspinbox.html#setSpecialValueText">QSpinBox::setSpecialValueText</a>(const char *)
+<a href="qspinbox.html#setValidator">QSpinBox::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
+<a href="qspinbox.html#valueChanged">QSpinBox::valueChanged</a>(const char *)
+<a href="qwidget.html#paletteChange">QSpinBox::paletteChange</a>(const <a href="qpalette.html">QPalette</a> &)
+<a href="qwidget.html#enabledChange">QSpinBox::enabledChange</a>(bool)
+<a href="qwidget.html#fontChange">QSpinBox::fontChange</a>(const <a href="qfont.html">QFont</a> &)
+<a href="qwidget.html#styleChange">QSpinBox::styleChange</a>(GUIStyle)
+<a href="qsplitter.html#setOrientation">QSplitter::setOrientation</a>(QSplitter::Orientation)
+<a href="qwidget.html#event">QSplitter::event</a>(<a href="qevent.html">QEvent</a> *)
+QSplitter::childInsertEvent(<a href="qchildevent.html">QChildEvent</a> *)
+QSplitter::childRemoveEvent(QChildEvent *)
+<a href="qsplitter.html#moveSplitter">QSplitter::moveSplitter</a>(short)
+<a href="qsplitter.html#adjustPos">QSplitter::adjustPos</a>(int)
+QSplitter::splitterWidget(void)
+QSplitter::startMoving(void)
+QSplitter::moveTo(<a href="qpoint.html">QPoint</a>)
+QSplitter::stopMoving(void)
+QSplitter::newpos(void) const
+<a href="qstatusbar.html#message">QStatusBar::message</a>(const char *)
+QStatusBar::message(const char *, int)
+<a href="qobject.html#name">QObject::name</a>(void) const
+<a href="qtooltipgroup.html#showTip">QToolTipGroup::showTip</a>(const char *)
+<a href="qtooltip.html#add">QToolTip::add</a>(<a href="qwidget.html">QWidget</a> *, const <a href="qrect.html">QRect</a> &, const char *)
+QToolTip::add(QWidget *, const QRect &, const char *, <a href="qtooltipgroup.html">QToolTipGroup</a> *, const char *)
+QToolTip::add(QWidget *, const char *)
+QToolTip::add(QWidget *, const char *, QToolTipGroup *, const char *)
+<a href="qtooltip.html#tip">QToolTip::tip</a>(const QRect &, const char *)
+QToolTip::tip(const QRect &, const char *, const char *)
+QObject::name(void) const
+<a href="qwhatsthis.html#add">QWhatsThis::add</a>(QWidget *, const <a href="qpixmap.html">QPixmap</a> &, const char *, const char *, bool)
+QWhatsThis::add(QWidget *, const char *, bool)
+<a href="qwhatsthis.html#textFor">QWhatsThis::textFor</a>(QWidget *)
+<a href="qwidget.html#event">QWidgetStack::event</a>(<a href="qevent.html">QEvent</a> *)
+
+</pre><p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/richtext-example.html b/doc/html/richtext-example.html
new file mode 100644
index 0000000..95c18db
--- /dev/null
+++ b/doc/html/richtext-example.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/richtext/richtext.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Richtext</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Richtext</h1>
+
+
+<p>
+In this example we demonstrate how to display rich text
+in a widget. To do this some sayings taken from the famous
+Unix "fortune" are displayed nicely formatted.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/richtext.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef RICHTEXT_H
+#define RICHTEXT_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QTextView;
+class QPushButton;
+
+class MyRichText : public <a href="qvbox.html">QVBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ MyRichText( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ <a href="qtextview.html">QTextView</a> *view;
+ <a href="qpushbutton.html">QPushButton</a> *bClose, *bNext, *bPrev;
+ int num;
+
+protected slots:
+ void prev();
+ void next();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/richtext.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "richtext.h"
+
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qbrush-h.html">qbrush.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+static const char* sayings[] = {
+ "&lt;b&gt;Saying 1:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;Evil is that which one believes of others. It is a sin to believe evil "
+ "of others, but it is seldom a mistake.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- H.L. Mencken&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 2:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;A well-used door needs no oil on its hinges.&lt;br&gt;"
+ "A swift-flowing steam does not grow stagnant.&lt;br&gt;"
+ "Neither sound nor thoughts can travel through a vacuum.&lt;br&gt;"
+ "Software rots if not used.&lt;br&gt;&lt;br&gt;"
+ "These are great mysteries.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- Geoffrey James, \"The Tao of Programming\"&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 3:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;Show business is just like high school, except you get paid.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- Martin Mull&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 4:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;&lt;b&gt;The Least Successful Executions&lt;/b&gt;&lt;br&gt;"
+ "&lt;twocolumn&gt;&lt;p&gt; History has furnished us with two executioners worthy of attention. "
+ "The first performed in Sydney in Australia. In 1803 three attempts were "
+ "made to hang a Mr. Joseph Samuels. On the first two of these the rope "
+ "snapped, while on the third Mr. Samuels just hung there peacefully until he "
+ "and everyone else got bored. Since he had proved unsusceptible to capital "
+ "punishment, he was reprieved.&lt;/p&gt;"
+ "&lt;p&gt; The most important British executioner was Mr. James Berry who "
+ "tried three times in 1885 to hang Mr. John Lee at Exeter Jail, but on each "
+ "occasion failed to get the trap door open.&lt;!p&gt;"
+ "&lt;p&gt; In recognition of this achievement, the Home Secretary commuted "
+ "Lee's sentence to \"life\" imprisonment. He was released in 1917, emigrated "
+ "to America and lived until 1933.&lt;/p&gt;&lt;/twocolumn&gt;&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- Stephen Pile, \"The Book of Heroic Failures\"&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 5:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;If you can, help others. If you can't, at least don't hurt others.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- the Dalai Lama&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 6:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;Television has brought back murder into the home -- where it belongs.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- Alfred Hitchcock&lt;/i&gt;&lt;/center&gt;",
+
+ "&lt;b&gt;Saying 7:&lt;/b&gt;&lt;br&gt;"
+ "&lt;hr&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;big&gt;I don't know who my grandfather was; I am much more concerned to know "
+ "what his grandson will be.&lt;/big&gt;&lt;br&gt;&lt;br&gt;"
+ "&lt;center&gt;&lt;i&gt;-- Abraham Lincoln&lt;/i&gt;&lt;/center&gt;",
+
+ 0
+};
+
+
+<a name="f255"></a>MyRichText::MyRichText( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ view = new <a href="qtextview.html">QTextView</a>( this );
+<a name="x465"></a> view-&gt;<a href="qtextedit.html#setText">setText</a>( "This is a &lt;b&gt;Test&lt;/b&gt; with &lt;i&gt;italic&lt;/i&gt; &lt;u&gt;stuff&lt;/u&gt;" );
+ <a href="qbrush.html">QBrush</a> paper;
+<a name="x461"></a> paper.<a href="qbrush.html#setPixmap">setPixmap</a>( QPixmap( "../richtext/marble.png" ) );
+<a name="x460"></a> if ( paper.<a href="qbrush.html#pixmap">pixmap</a>() != 0 )
+<a name="x464"></a> view-&gt;<a href="qtextedit.html#setPaper">setPaper</a>( paper );
+ else
+ view-&gt;<a href="qtextedit.html#setPaper">setPaper</a>( white );
+
+ view-&gt;<a href="qtextedit.html#setText">setText</a>( sayings[0] );
+<a name="x467"></a> view-&gt;<a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 450, 250 );
+
+ <a href="qhbox.html">QHBox</a> *buttons = new <a href="qhbox.html">QHBox</a>( this );
+ buttons-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ bClose = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Close", buttons );
+ bPrev = new <a href="qpushbutton.html">QPushButton</a>( "&lt;&lt; &amp;Prev", buttons );
+ bNext = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Next &gt;&gt;", buttons );
+
+<a name="x466"></a> bPrev-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+
+<a name="x462"></a> <a href="qobject.html#connect">connect</a>( bClose, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), qApp, SLOT( <a href="qapplication.html#quit">quit</a>() ) );
+ <a href="qobject.html#connect">connect</a>( bPrev, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( prev() ) );
+ <a href="qobject.html#connect">connect</a>( bNext, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( next() ) );
+
+ num = 0;
+}
+
+void <a name="f256"></a>MyRichText::prev()
+{
+ if ( num &lt;= 0 )
+ return;
+
+ num--;
+
+ view-&gt;<a href="qtextedit.html#setText">setText</a>( sayings[num] );
+
+ if ( num == 0 )
+ bPrev-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+
+ bNext-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+}
+
+void <a name="f257"></a>MyRichText::next()
+{
+ if ( !sayings[++num] )
+ return;
+
+ view-&gt;<a href="qtextedit.html#setText">setText</a>( sayings[num] );
+
+ if ( !sayings[num + 1] )
+ bNext-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+
+ bPrev-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( TRUE );
+}
+
+
+
+
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "richtext.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyRichText richtext;
+ richtext.<a href="qwidget.html#resize">resize</a>( 450, 350 );
+ richtext.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Richtext" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;richtext );
+ richtext.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/rintersect.png b/doc/html/rintersect.png
new file mode 100644
index 0000000..3848c0a
--- /dev/null
+++ b/doc/html/rintersect.png
Binary files differ
diff --git a/doc/html/rmo-editmenu.png b/doc/html/rmo-editmenu.png
new file mode 100644
index 0000000..bcc01e5
--- /dev/null
+++ b/doc/html/rmo-editmenu.png
Binary files differ
diff --git a/doc/html/rmo-filemenu.png b/doc/html/rmo-filemenu.png
new file mode 100644
index 0000000..83661a7
--- /dev/null
+++ b/doc/html/rmo-filemenu.png
Binary files differ
diff --git a/doc/html/rmo-helpmenu.png b/doc/html/rmo-helpmenu.png
new file mode 100644
index 0000000..89e7738
--- /dev/null
+++ b/doc/html/rmo-helpmenu.png
Binary files differ
diff --git a/doc/html/rmo-layoutmenu.png b/doc/html/rmo-layoutmenu.png
new file mode 100644
index 0000000..a29deda
--- /dev/null
+++ b/doc/html/rmo-layoutmenu.png
Binary files differ
diff --git a/doc/html/rmo-previewmenu.png b/doc/html/rmo-previewmenu.png
new file mode 100644
index 0000000..391ac93
--- /dev/null
+++ b/doc/html/rmo-previewmenu.png
Binary files differ
diff --git a/doc/html/rmo-projectmenu.png b/doc/html/rmo-projectmenu.png
new file mode 100644
index 0000000..24a4bf3
--- /dev/null
+++ b/doc/html/rmo-projectmenu.png
Binary files differ
diff --git a/doc/html/rmo-searchmenu.png b/doc/html/rmo-searchmenu.png
new file mode 100644
index 0000000..d0e4821
--- /dev/null
+++ b/doc/html/rmo-searchmenu.png
Binary files differ
diff --git a/doc/html/rmo-toolsmenu.png b/doc/html/rmo-toolsmenu.png
new file mode 100644
index 0000000..d158e2a
--- /dev/null
+++ b/doc/html/rmo-toolsmenu.png
Binary files differ
diff --git a/doc/html/rmo-windowmenu.png b/doc/html/rmo-windowmenu.png
new file mode 100644
index 0000000..cfa20f0
--- /dev/null
+++ b/doc/html/rmo-windowmenu.png
Binary files differ
diff --git a/doc/html/rot-example.html b/doc/html/rot-example.html
new file mode 100644
index 0000000..b72a37e
--- /dev/null
+++ b/doc/html/rot-example.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/rot13/rot13.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rot13</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Rot13</h1>
+
+
+<p>
+This example lets you enter a text into a mulitilineedit widget.
+It will be displayed in the edit widget to the right transformed using
+the rot13 algorithm.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/rot13.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of something or other
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef ROT13_H
+#define ROT13_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QMultiLineEdit;
+
+class Rot13: public <a href="qwidget.html">QWidget</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ Rot13();
+
+ <a href="qstring.html">QString</a> rot13( const <a href="qstring.html">QString</a> &amp; ) const;
+
+private slots:
+ void changeLeft();
+ void changeRight();
+
+private:
+ <a href="qmultilineedit.html">QMultiLineEdit</a> * left, * right;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/rot13.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "rot13.h"
+
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+<a name="f432"></a>Rot13::Rot13()
+{
+ left = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this, "left" );
+ right = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this, "right" );
+<a name="x1375"></a> <a href="qobject.html#connect">connect</a>( left, SIGNAL(<a href="qtextedit.html#textChanged">textChanged</a>()), this, SLOT(changeRight()) );
+ <a href="qobject.html#connect">connect</a>( right, SIGNAL(<a href="qtextedit.html#textChanged">textChanged</a>()), this, SLOT(changeLeft()) );
+
+ <a href="qpushbutton.html">QPushButton</a> * quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this );
+<a name="x1379"></a> quit-&gt;<a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>( NoFocus );
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qgridlayout.html">QGridLayout</a> * l = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 5 );
+<a name="x1370"></a> l-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( left, 0, 0 );
+ l-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( right, 0, 1 );
+ l-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 1, 1, AlignRight );
+
+<a name="x1378"></a> left-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+
+void <a name="f433"></a>Rot13::changeLeft()
+{
+<a name="x1371"></a> left-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( TRUE );
+<a name="x1374"></a><a name="x1373"></a> left-&gt;<a href="qtextedit.html#setText">setText</a>( rot13( right-&gt;<a href="qtextedit.html#text">text</a>() ) );
+ left-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( FALSE );
+}
+
+
+void <a name="f434"></a>Rot13::changeRight()
+{
+ right-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( TRUE );
+ right-&gt;<a href="qtextedit.html#setText">setText</a>( rot13( left-&gt;<a href="qtextedit.html#text">text</a>() ) );
+ right-&gt;<a href="qobject.html#blockSignals">blockSignals</a>( FALSE );
+}
+
+
+QString <a name="f435"></a>Rot13::rot13( const <a href="qstring.html">QString</a> &amp; input ) const
+{
+ <a href="qstring.html">QString</a> r = input;
+<a name="x1372"></a> int i = r.<a href="qstring.html#length">length</a>();
+ while( i-- ) {
+ if ( r[i] &gt;= QChar('A') &amp;&amp; r[i] &lt;= QChar('M') ||
+ r[i] &gt;= QChar('a') &amp;&amp; r[i] &lt;= QChar('m') )
+ r[i] = (char)((int)QChar(r[i]) + 13);
+ else if ( r[i] &gt;= QChar('N') &amp;&amp; r[i] &lt;= QChar('Z') ||
+ r[i] &gt;= QChar('n') &amp;&amp; r[i] &lt;= QChar('z') )
+ r[i] = (char)((int)QChar(r[i]) - 13);
+ }
+ return r;
+}
+
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ Rot13 r;
+ r.<a href="qwidget.html#resize">resize</a>( 400, 400 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;r );
+ r.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - ROT13");
+ r.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/rsubtract.png b/doc/html/rsubtract.png
new file mode 100644
index 0000000..d8ea26c
--- /dev/null
+++ b/doc/html/rsubtract.png
Binary files differ
diff --git a/doc/html/rtb-edit.png b/doc/html/rtb-edit.png
new file mode 100644
index 0000000..2f2eb5d
--- /dev/null
+++ b/doc/html/rtb-edit.png
Binary files differ
diff --git a/doc/html/rtb-file.png b/doc/html/rtb-file.png
new file mode 100644
index 0000000..0e0ee98
--- /dev/null
+++ b/doc/html/rtb-file.png
Binary files differ
diff --git a/doc/html/rtb-layout.png b/doc/html/rtb-layout.png
new file mode 100644
index 0000000..710fe5a
--- /dev/null
+++ b/doc/html/rtb-layout.png
Binary files differ
diff --git a/doc/html/rtb-search.png b/doc/html/rtb-search.png
new file mode 100644
index 0000000..f5b00d4
--- /dev/null
+++ b/doc/html/rtb-search.png
Binary files differ
diff --git a/doc/html/rtb-tbbuttons.png b/doc/html/rtb-tbbuttons.png
new file mode 100644
index 0000000..7044d9b
--- /dev/null
+++ b/doc/html/rtb-tbbuttons.png
Binary files differ
diff --git a/doc/html/rtb-tbcontain.png b/doc/html/rtb-tbcontain.png
new file mode 100644
index 0000000..4d4692a
--- /dev/null
+++ b/doc/html/rtb-tbcontain.png
Binary files differ
diff --git a/doc/html/rtb-tbcustom.png b/doc/html/rtb-tbcustom.png
new file mode 100644
index 0000000..6a00997
--- /dev/null
+++ b/doc/html/rtb-tbcustom.png
Binary files differ
diff --git a/doc/html/rtb-tbdatabase.png b/doc/html/rtb-tbdatabase.png
new file mode 100644
index 0000000..a694fd4
--- /dev/null
+++ b/doc/html/rtb-tbdatabase.png
Binary files differ
diff --git a/doc/html/rtb-tbdisplay.png b/doc/html/rtb-tbdisplay.png
new file mode 100644
index 0000000..b417ecd
--- /dev/null
+++ b/doc/html/rtb-tbdisplay.png
Binary files differ
diff --git a/doc/html/rtb-tbinput.png b/doc/html/rtb-tbinput.png
new file mode 100644
index 0000000..f37579d
--- /dev/null
+++ b/doc/html/rtb-tbinput.png
Binary files differ
diff --git a/doc/html/rtb-tbviews.png b/doc/html/rtb-tbviews.png
new file mode 100644
index 0000000..45b89eb
--- /dev/null
+++ b/doc/html/rtb-tbviews.png
Binary files differ
diff --git a/doc/html/rtb-toolbox.png b/doc/html/rtb-toolbox.png
new file mode 100644
index 0000000..78801a5
--- /dev/null
+++ b/doc/html/rtb-toolbox.png
Binary files differ
diff --git a/doc/html/rtb-tools.png b/doc/html/rtb-tools.png
new file mode 100644
index 0000000..c25047b
--- /dev/null
+++ b/doc/html/rtb-tools.png
Binary files differ
diff --git a/doc/html/runion.png b/doc/html/runion.png
new file mode 100644
index 0000000..0aafb4a
--- /dev/null
+++ b/doc/html/runion.png
Binary files differ
diff --git a/doc/html/rxor.png b/doc/html/rxor.png
new file mode 100644
index 0000000..3a374e2
--- /dev/null
+++ b/doc/html/rxor.png
Binary files differ
diff --git a/doc/html/scaling.png b/doc/html/scaling.png
new file mode 100644
index 0000000..7ded27d
--- /dev/null
+++ b/doc/html/scaling.png
Binary files differ
diff --git a/doc/html/scribble-example.html b/doc/html/scribble-example.html
new file mode 100644
index 0000000..2eb9328
--- /dev/null
+++ b/doc/html/scribble-example.html
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/scribble/scribble.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Simple Painting Application</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple Painting Application</h1>
+
+
+<p>
+This example implements the famous scribble example. You can draw around
+in the canvas with different pens and save the result as picture.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/scribble.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef SCRIBBLE_H
+#define SCRIBBLE_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qpen-h.html">qpen.h</a>&gt;
+#include &lt;<a href="qpoint-h.html">qpoint.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qpointarray-h.html">qpointarray.h</a>&gt;
+
+class QMouseEvent;
+class QResizeEvent;
+class QPaintEvent;
+class QToolButton;
+class QSpinBox;
+
+class Canvas : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Canvas( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+ void setPenColor( const <a href="qcolor.html">QColor</a> &amp;c )
+<a name="x903"></a> { pen.<a href="qpen.html#setColor">setColor</a>( c ); }
+
+ void setPenWidth( int w )
+<a name="x904"></a> { pen.<a href="qpen.html#setWidth">setWidth</a>( w ); }
+
+ <a href="qcolor.html">QColor</a> penColor()
+<a name="x902"></a> { return pen.<a href="qpen.html#color">color</a>(); }
+
+ int penWidth()
+<a name="x905"></a> { return pen.<a href="qpen.html#width">width</a>(); }
+
+ void save( const <a href="qstring.html">QString</a> &amp;filename, const <a href="qstring.html">QString</a> &amp;format );
+
+ void clearScreen();
+
+protected:
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> *e );
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> *e );
+
+ <a href="qpen.html">QPen</a> pen;
+ <a href="qpointarray.html">QPointArray</a> polyline;
+
+ bool mousePressed;
+
+ <a href="qpixmap.html">QPixmap</a> buffer;
+
+};
+
+class Scribble : public <a href="qmainwindow.html">QMainWindow</a>
+{
+ Q_OBJECT
+
+public:
+ Scribble( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+protected:
+ Canvas* canvas;
+
+ <a href="qspinbox.html">QSpinBox</a> *bPWidth;
+ <a href="qtoolbutton.html">QToolButton</a> *bPColor, *bSave, *bClear;
+
+protected slots:
+ void slotSave();
+ void slotColor();
+ void slotWidth( int );
+ void slotClear();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/scribble.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "scribble.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qevent-h.html">qevent.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qspinbox-h.html">qspinbox.h</a>&gt;
+#include &lt;<a href="qtooltip-h.html">qtooltip.h</a>&gt;
+#include &lt;<a href="qrect-h.html">qrect.h</a>&gt;
+#include &lt;<a href="qpoint-h.html">qpoint.h</a>&gt;
+#include &lt;<a href="qcolordialog-h.html">qcolordialog.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qstrlist-h.html">qstrlist.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qintdict-h.html">qintdict.h</a>&gt;
+
+const bool no_writing = FALSE;
+
+<a name="f338"></a>Canvas::Canvas( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WStaticContents ), pen( Qt::red, 3 ), polyline(3),
+ mousePressed( FALSE ), buffer( <a href="qwidget.html#width">width</a>(), height() )
+{
+
+<a name="x907"></a><a name="x906"></a> if ((qApp-&gt;<a href="qapplication.html#argc">argc</a>() &gt; 0) &amp;&amp; !buffer.load(qApp-&gt;<a href="qapplication.html#argv">argv</a>()[1]))
+ buffer.fill( <a href="qwidget.html#colorGroup">colorGroup</a>().base() );
+ <a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( QWidget::PaletteBase );
+#ifndef QT_NO_CURSOR
+ <a href="qwidget.html#setCursor">setCursor</a>( Qt::crossCursor );
+#endif
+}
+
+void <a name="f339"></a>Canvas::save( const <a href="qstring.html">QString</a> &amp;filename, const <a href="qstring.html">QString</a> &amp;format )
+{
+ if ( !no_writing )
+<a name="x942"></a> buffer.save( filename, format.<a href="qstring.html#upper">upper</a>() );
+}
+
+void <a name="f340"></a>Canvas::clearScreen()
+{
+ buffer.fill( <a href="qwidget.html#colorGroup">colorGroup</a>().base() );
+ <a href="qwidget.html#repaint">repaint</a>( FALSE );
+}
+
+<a name="x949"></a>void Canvas::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ mousePressed = TRUE;
+ polyline[2] = polyline[1] = polyline[0] = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+}
+
+<a name="x950"></a>void Canvas::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ mousePressed = FALSE;
+}
+
+<a name="x948"></a>void Canvas::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( mousePressed ) {
+ <a href="qpainter.html">QPainter</a> painter;
+ painter.<a href="qpainter.html#begin">begin</a>( &amp;buffer );
+ painter.<a href="qpainter.html#setPen">setPen</a>( pen );
+ polyline[2] = polyline[1];
+ polyline[1] = polyline[0];
+ polyline[0] = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+<a name="x917"></a> painter.<a href="qpainter.html#drawPolyline">drawPolyline</a>( polyline );
+<a name="x918"></a> painter.<a href="qpainter.html#end">end</a>();
+
+ <a href="qrect.html">QRect</a> r = polyline.boundingRect();
+<a name="x928"></a> r = r.<a href="qrect.html#normalize">normalize</a>();
+<a name="x931"></a><a name="x927"></a> r.<a href="qrect.html#setLeft">setLeft</a>( r.<a href="qrect.html#left">left</a>() - penWidth() );
+<a name="x934"></a><a name="x933"></a> r.<a href="qrect.html#setTop">setTop</a>( r.<a href="qrect.html#top">top</a>() - penWidth() );
+<a name="x932"></a><a name="x929"></a> r.<a href="qrect.html#setRight">setRight</a>( r.<a href="qrect.html#right">right</a>() + penWidth() );
+<a name="x930"></a><a name="x925"></a> r.<a href="qrect.html#setBottom">setBottom</a>( r.<a href="qrect.html#bottom">bottom</a>() + penWidth() );
+
+<a name="x937"></a><a name="x936"></a><a name="x926"></a> <a href="qimage.html#bitBlt">bitBlt</a>( this, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), &amp;buffer, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() );
+ }
+}
+
+<a name="x952"></a>void Canvas::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> *e )
+{
+ QWidget::<a href="qwidget.html#resizeEvent">resizeEvent</a>( e );
+
+ int w = <a href="qwidget.html#width">width</a>() &gt; buffer.width() ?
+ <a href="qwidget.html#width">width</a>() : buffer.width();
+ int h = <a href="qwidget.html#height">height</a>() &gt; buffer.height() ?
+ <a href="qwidget.html#height">height</a>() : buffer.height();
+
+ <a href="qpixmap.html">QPixmap</a> tmp( buffer );
+ buffer.resize( w, h );
+ buffer.fill( <a href="qwidget.html#colorGroup">colorGroup</a>().base() );
+<a name="x922"></a><a name="x921"></a> <a href="qimage.html#bitBlt">bitBlt</a>( &amp;buffer, 0, 0, &amp;tmp, 0, 0, tmp.<a href="qpixmap.html#width">width</a>(), tmp.<a href="qpixmap.html#height">height</a>() );
+}
+
+<a name="x951"></a>void Canvas::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ QWidget::<a href="qwidget.html#paintEvent">paintEvent</a>( e );
+
+<a name="x920"></a> <a href="qmemarray.html">QMemArray</a>&lt;QRect&gt; rects = e-&gt;<a href="qpaintevent.html#region">region</a>().rects();
+<a name="x913"></a> for ( uint i = 0; i &lt; rects.<a href="qmemarray.html#count">count</a>(); i++ ) {
+ <a href="qrect.html">QRect</a> r = rects[(int)i];
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), &amp;buffer, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() );
+ }
+}
+
+//------------------------------------------------------
+
+<a name="f341"></a>Scribble::Scribble( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name )
+{
+ canvas = new Canvas( this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( canvas );
+
+ <a href="qtoolbar.html">QToolBar</a> *tools = new <a href="qtoolbar.html">QToolBar</a>( this );
+
+ bSave = new <a href="qtoolbutton.html">QToolButton</a>( QPixmap(), "Save", "Save as PNG image", this, SLOT( slotSave() ), tools );
+<a name="x944"></a> bSave-&gt;<a href="qbutton.html#setText">setText</a>( "Save as..." );
+
+<a name="x943"></a> tools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+
+ bPColor = new <a href="qtoolbutton.html">QToolButton</a>( QPixmap(), "Choose Pen Color", "Choose Pen Color", this, SLOT( slotColor() ), tools );
+ bPColor-&gt;<a href="qbutton.html#setText">setText</a>( "Choose Pen Color..." );
+
+ tools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+
+ bPWidth = new <a href="qspinbox.html">QSpinBox</a>( 1, 20, 1, tools );
+<a name="x945"></a> QToolTip::<a href="qtooltip.html#add">add</a>( bPWidth, "Choose Pen Width" );
+<a name="x939"></a> <a href="qobject.html#connect">connect</a>( bPWidth, SIGNAL( <a href="qspinbox.html#valueChanged">valueChanged</a>( int ) ), this, SLOT( slotWidth( int ) ) );
+<a name="x938"></a> bPWidth-&gt;<a href="qspinbox.html#setValue">setValue</a>( 3 );
+
+ tools-&gt;<a href="qtoolbar.html#addSeparator">addSeparator</a>();
+
+ bClear = new <a href="qtoolbutton.html">QToolButton</a>( QPixmap(), "Clear Screen", "Clear Screen", this, SLOT( slotClear() ), tools );
+ bClear-&gt;<a href="qbutton.html#setText">setText</a>( "Clear Screen" );
+}
+
+void <a name="f342"></a>Scribble::slotSave()
+{
+ <a href="qpopupmenu.html">QPopupMenu</a> *menu = new <a href="qpopupmenu.html">QPopupMenu</a>( 0 );
+ <a href="qintdict.html">QIntDict</a>&lt;QString&gt; formats;
+<a name="x924"></a> formats.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+
+ for ( unsigned int i = 0; i &lt; QImageIO::<a href="qimageio.html#outputFormats">outputFormats</a>().count(); i++ ) {
+<a name="x911"></a> <a href="qstring.html">QString</a> str = QString( QImageIO::<a href="qimageio.html#outputFormats">outputFormats</a>().at( i ) );
+<a name="x912"></a> formats.<a href="qintdict.html#insert">insert</a>( menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QString( "%1..." ).arg( str ) ), new <a href="qstring.html">QString</a>( str ) );
+ }
+
+<a name="x953"></a> menu-&gt;<a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE );
+<a name="x947"></a><a name="x946"></a><a name="x923"></a> int id = menu-&gt;<a href="qpopupmenu.html#exec">exec</a>( bSave-&gt;<a href="qwidget.html#mapToGlobal">mapToGlobal</a>( QPoint( 0, bSave-&gt;<a href="qwidget.html#height">height</a>() + 1 ) ) );
+
+ if ( id != -1 ) {
+ <a href="qstring.html">QString</a> format = *formats[ id ];
+
+<a name="x941"></a> <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString( "*.%1" ).arg( format.<a href="qstring.html#lower">lower</a>() ), this );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ canvas-&gt;save( filename, format );
+ }
+
+ delete menu;
+}
+
+void <a name="f343"></a>Scribble::slotColor()
+{
+<a name="x909"></a> <a href="qcolor.html">QColor</a> c = QColorDialog::<a href="qcolordialog.html#getColor">getColor</a>( canvas-&gt;penColor(), this );
+<a name="x908"></a> if ( c.<a href="qcolor.html#isValid">isValid</a>() )
+ canvas-&gt;setPenColor( c );
+}
+
+void <a name="f344"></a>Scribble::slotWidth( int w )
+{
+ canvas-&gt;setPenWidth( w );
+}
+
+void <a name="f345"></a>Scribble::slotClear()
+{
+ canvas-&gt;clearScreen();
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "scribble.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ Scribble scribble;
+
+ scribble.<a href="qwidget.html#resize">resize</a>( 500, 350 );
+ scribble.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Scribble");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;scribble );
+<a name="x954"></a> if ( QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;width() &gt; 550
+ &amp;&amp; QApplication::<a href="qapplication.html#desktop">desktop</a>()-&gt;height() &gt; 366 )
+ scribble.<a href="qwidget.html#show">show</a>();
+ else
+<a name="x960"></a> scribble.<a href="qwidget.html#showMaximized">showMaximized</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/scrollview-example.html b/doc/html/scrollview-example.html
new file mode 100644
index 0000000..e3558ca
--- /dev/null
+++ b/doc/html/scrollview-example.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/scrollview/scrollview.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Scrollview</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Scrollview</h1>
+
+
+<p>
+This example shows how to use Qt's scrollview. This is a widget
+optimized for very large contents.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/scrollview.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qscrollview-h.html">qscrollview.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+#include &lt;<a href="qsizegrip-h.html">qsizegrip.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+
+static const int style_id = 0x1000;
+static const int lw_id = 0x2000;
+static const int mlw_id = 0x4000;
+static const int mw_id = 0x8000;
+static const int max_lw = 16;
+static const int max_mlw = 5;
+static const int max_mw = 10;
+
+
+class BigShrinker : public <a href="qframe.html">QFrame</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ BigShrinker(QWidget* parent) :
+ <a href="qframe.html">QFrame</a>(parent)
+ {
+ setFrameStyle(QFrame::Box|QFrame::Sunken);
+ int h=35;
+ int b=0;
+ for (int y=0; y&lt;2000-h; y+=h+10) {
+ if (y == 0) {
+ <a href="qbutton.html">QButton</a>* q=new <a href="qpushbutton.html">QPushButton</a>("Quit", this);
+ connect(q, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+ } else {
+ <a href="qstring.html">QString</a> str;
+ if ( b &gt; 0 ) {
+<a name="x656"></a> str.<a href="qstring.html#sprintf">sprintf</a>("Button %d", b++);
+ } else {
+ str = "I'm shrinking!";
+ ++b;
+ }
+ (new <a href="qpushbutton.html">QPushButton</a>(str, this))-&gt;move(y/2,y);
+ }
+ }
+ resize(1000,2000);
+
+ startTimer(250);
+ }
+
+ void timerEvent(QTimerEvent*)
+ {
+ int w=width();
+ int h=height();
+ if ( w &gt; 50 ) w -= 1;
+ if ( h &gt; 50 ) h -= 2;
+ resize(w,h);
+ }
+
+ void mouseReleaseEvent(QMouseEvent* e)
+ {
+ emit clicked(e-&gt;x(), e-&gt;y());
+ }
+
+signals:
+ void clicked(int,int);
+};
+
+class BigMatrix : public <a href="qscrollview.html">QScrollView</a> {
+ <a href="qmultilineedit.html">QMultiLineEdit</a> *dragging;
+public:
+ BigMatrix(QWidget* parent) :
+ <a href="qscrollview.html">QScrollView</a>(parent,"matrix", WStaticContents),
+ bg("bg.ppm")
+ {
+<a name="x640"></a> bg.<a href="qpixmap.html#load">load</a>("bg.ppm");
+ resizeContents(400000,300000);
+
+ dragging = 0;
+ }
+
+ void viewportMousePressEvent(QMouseEvent* e)
+ {
+ int x, y;
+ viewportToContents( e-&gt;x(), e-&gt;y(), x, y );
+ dragging = new <a href="qmultilineedit.html">QMultiLineEdit</a>(viewport(),"Another");
+<a name="x657"></a> dragging-&gt;<a href="qtextedit.html#setText">setText</a>("Thanks!");
+<a name="x650"></a> dragging-&gt;<a href="qwidget.html#resize">resize</a>(100,100);
+ addChild(dragging, x, y);
+ showChild(dragging);
+ }
+
+ void viewportMouseReleaseEvent(QMouseEvent*)
+ {
+ dragging = 0;
+ }
+
+ void viewportMouseMoveEvent(QMouseEvent* e)
+ {
+ if ( dragging ) {
+ int mx, my;
+ viewportToContents( e-&gt;x(), e-&gt;y(), mx, my );
+ int cx = childX(dragging);
+ int cy = childY(dragging);
+ int w = mx - cx + 1;
+ int h = my - cy + 1;
+ <a href="qstring.html">QString</a> msg;
+ msg.<a href="qstring.html#sprintf">sprintf</a>("at (%d,%d) %d by %d",cx,cy,w,h);
+ dragging-&gt;<a href="qtextedit.html#setText">setText</a>(msg);
+ dragging-&gt;<a href="qwidget.html#resize">resize</a>(w,h);
+ }
+ }
+
+protected:
+ void drawContents(QPainter* p, int cx, int cy, int cw, int ch)
+ {
+ // The Background
+<a name="x639"></a> if ( !bg.<a href="qpixmap.html#isNull">isNull</a>() ) {
+<a name="x638"></a> int rowheight=bg.<a href="qpixmap.html#height">height</a>();
+ int toprow=cy/rowheight;
+ int bottomrow=(cy+ch+rowheight-1)/rowheight;
+<a name="x641"></a> int colwidth=bg.<a href="qpixmap.html#width">width</a>();
+ int leftcol=cx/colwidth;
+ int rightcol=(cx+cw+colwidth-1)/colwidth;
+ for (int r=toprow; r&lt;=bottomrow; r++) {
+ int py=r*rowheight;
+ for (int c=leftcol; c&lt;=rightcol; c++) {
+ int px=c*colwidth;
+ p-&gt;drawPixmap(px, py, bg);
+ }
+ }
+ } else {
+ p-&gt;fillRect(cx, cy, cw, ch, QColor(240,222,208));
+ }
+
+ // The Numbers
+ {
+ <a href="qfontmetrics.html">QFontMetrics</a> fm=p-&gt;fontMetrics();
+<a name="x620"></a> int rowheight=fm.<a href="qfontmetrics.html#lineSpacing">lineSpacing</a>();
+ int toprow=cy/rowheight;
+ int bottomrow=(cy+ch+rowheight-1)/rowheight;
+<a name="x621"></a> int colwidth=fm.<a href="qfontmetrics.html#width">width</a>("00000,000000 ")+3;
+ int leftcol=cx/colwidth;
+ int rightcol=(cx+cw+colwidth-1)/colwidth;
+ <a href="qstring.html">QString</a> str;
+ for (int r=toprow; r&lt;=bottomrow; r++) {
+ int py=r*rowheight;
+ for (int c=leftcol; c&lt;=rightcol; c++) {
+ int px=c*colwidth;
+ str.<a href="qstring.html#sprintf">sprintf</a>("%d,%d",c,r);
+<a name="x619"></a> p-&gt;drawText(px+3, py+fm.<a href="qfontmetrics.html#ascent">ascent</a>(), str);
+ }
+ }
+
+ // The Big Hint
+ if (leftcol&lt;10 &amp;&amp; toprow&lt;5) {
+ p-&gt;setFont(QFont("Charter",30));
+ p-&gt;setPen(red);
+ <a href="qstring.html">QString</a> text;
+ text.<a href="qstring.html#sprintf">sprintf</a>("HINT: Look at %d,%d",215000/colwidth,115000/rowheight);
+ p-&gt;drawText(100,50,text);
+ }
+ }
+
+ // The Big X
+ {
+ if (cx+cw&gt;200000 &amp;&amp; cy+ch&gt;100000 &amp;&amp; cx&lt;230000 &amp;&amp; cy&lt;130000) {
+ // Note that some X server cannot even handle co-ordinates
+ // beyond about 4000, so you might not see this.
+ p-&gt;drawLine(200000,100000,229999,129999);
+ p-&gt;drawLine(229999,100000,200000,129999);
+
+ // X marks the spot!
+ p-&gt;setFont(QFont("Charter",100));
+ p-&gt;setPen(blue);
+ p-&gt;drawText(215000-500,115000-100,1000,200,AlignCenter,"YOU WIN!!!!!");
+ }
+ }
+ }
+
+private:
+ <a href="qpixmap.html">QPixmap</a> bg;
+};
+
+class ScrollViewExample : public <a href="qwidget.html">QWidget</a> {
+ Q_OBJECT
+
+public:
+ ScrollViewExample(int technique, QWidget* parent=0, const char* name=0) :
+ <a href="qwidget.html">QWidget</a>(parent,name)
+ {
+ <a href="qmenubar.html">QMenuBar</a>* menubar = new <a href="qmenubar.html">QMenuBar</a>(this);
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( menubar );
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* file = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file );
+<a name="x634"></a> menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Quit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ vp_options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( vp_options );
+<a name="x644"></a> vp_options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;ScrollView", vp_options );
+<a name="x642"></a> connect( vp_options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(doVPMenuItem(int)) );
+
+ vauto_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Vertical Auto" );
+ vaoff_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Vertical AlwaysOff" );
+ vaon_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Vertical AlwaysOn" );
+<a name="x635"></a> vp_options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ hauto_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Horizontal Auto" );
+ haoff_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Horizontal AlwaysOff" );
+ haon_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Horizontal AlwaysOn" );
+ vp_options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ corn_id = vp_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "cornerWidget" );
+
+ if (technique == 1) {
+ vp = new <a href="qscrollview.html">QScrollView</a>(this);
+<a name="x655"></a> BigShrinker *bs = new BigShrinker(0);//(vp-&gt;<a href="qscrollview.html#viewport">viewport</a>());
+<a name="x645"></a> vp-&gt;<a href="qscrollview.html#addChild">addChild</a>(bs);
+<a name="x659"></a> bs-&gt;<a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>(TRUE);
+ QObject::<a href="qobject.html#connect">connect</a>(bs, SIGNAL(clicked(int,int)),
+<a name="x646"></a> vp, SLOT(<a href="qscrollview.html#center">center</a>(int,int)));
+ } else {
+ vp = new BigMatrix(this);
+ if ( technique == 3 )
+<a name="x648"></a> vp-&gt;<a href="qscrollview.html#enableClipper">enableClipper</a>(TRUE);
+ srand(1);
+ for (int i=0; i&lt;30; i++) {
+ <a href="qmultilineedit.html">QMultiLineEdit</a> *l = new <a href="qmultilineedit.html">QMultiLineEdit</a>(vp-&gt;<a href="qscrollview.html#viewport">viewport</a>(),"First");
+ l-&gt;<a href="qtextedit.html#setText">setText</a>("Drag out more of these.");
+ l-&gt;<a href="qwidget.html#resize">resize</a>(100,100);
+ vp-&gt;<a href="qscrollview.html#addChild">addChild</a>(l, rand()%800, rand()%10000);
+ }
+ vp-&gt;<a href="qscrollview.html#viewport">viewport</a>()-&gt;setBackgroundMode(NoBackground);
+ }
+
+ f_options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( f_options );
+ f_options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "F&amp;rame", f_options );
+ connect( f_options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(doFMenuItem(int)) );
+
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "No Frame", style_id );
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Box", style_id|QFrame::Box );
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Panel", style_id|QFrame::Panel );
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "WinPanel", style_id|QFrame::WinPanel );
+ f_options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Plain", style_id|QFrame::Plain );
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Raised", style_id|QFrame::Raised );
+<a name="x633"></a> f_laststyle = f_options-&gt;<a href="qmenudata.html#indexOf">indexOf</a>(
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Sunken", style_id|QFrame::Sunken ));
+ f_options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ lw_options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( lw_options );
+ lw_options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ for (int lw = 1; lw &lt;= max_lw; lw++) {
+ <a href="qstring.html">QString</a> str;
+ str.<a href="qstring.html#sprintf">sprintf</a>("%d Pixels", lw);
+ lw_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( str, lw_id | lw );
+ }
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Line Width", lw_options );
+ connect( lw_options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(doFMenuItem(int)) );
+ mlw_options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( mlw_options );
+ mlw_options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ for (int mlw = 0; mlw &lt;= max_mlw; mlw++) {
+ <a href="qstring.html">QString</a> str;
+ str.<a href="qstring.html#sprintf">sprintf</a>("%d Pixels", mlw);
+ mlw_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( str, mlw_id | mlw );
+ }
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Midline Width", mlw_options );
+ connect( mlw_options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(doFMenuItem(int)) );
+ mw_options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( mw_options );
+ mw_options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ for (int mw = 0; mw &lt;= max_mw; mw++) {
+ <a href="qstring.html">QString</a> str;
+ str.<a href="qstring.html#sprintf">sprintf</a>("%d Pixels", mw);
+ mw_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( str, mw_id | mw );
+ }
+ f_options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Margin Width", mw_options );
+ connect( mw_options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)),
+ this, SLOT(doFMenuItem(int)) );
+
+ setVPMenuItems();
+ setFMenuItems();
+
+ <a href="qvboxlayout.html">QVBoxLayout</a>* vbox = new <a href="qvboxlayout.html">QVBoxLayout</a>(this);
+<a name="x631"></a> vbox-&gt;<a href="qlayout.html#setMenuBar">setMenuBar</a>(menubar);
+<a name="x632"></a> menubar-&gt;<a href="qmenubar.html#setSeparator">setSeparator</a>(QMenuBar::InWindowsStyle);
+ vbox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>(vp);
+<a name="x630"></a> vbox-&gt;<a href="qlayout.html#activate">activate</a>();
+
+ corner = new <a href="qsizegrip.html">QSizeGrip</a>(this);
+<a name="x658"></a> corner-&gt;<a href="qwidget.html#hide">hide</a>();
+ }
+
+private slots:
+ void doVPMenuItem(int id)
+ {
+ if (id == vauto_id ) {
+<a name="x653"></a> vp-&gt;<a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>(QScrollView::Auto);
+ } else if (id == vaoff_id) {
+ vp-&gt;<a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>(QScrollView::AlwaysOff);
+ } else if (id == vaon_id) {
+ vp-&gt;<a href="qscrollview.html#setVScrollBarMode">setVScrollBarMode</a>(QScrollView::AlwaysOn);
+ } else if (id == hauto_id) {
+<a name="x652"></a> vp-&gt;<a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>(QScrollView::Auto);
+ } else if (id == haoff_id) {
+ vp-&gt;<a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>(QScrollView::AlwaysOff);
+ } else if (id == haon_id) {
+ vp-&gt;<a href="qscrollview.html#setHScrollBarMode">setHScrollBarMode</a>(QScrollView::AlwaysOn);
+ } else if (id == corn_id) {
+<a name="x647"></a> bool corn = !vp-&gt;<a href="qscrollview.html#cornerWidget">cornerWidget</a>();
+<a name="x651"></a> vp-&gt;<a href="qscrollview.html#setCornerWidget">setCornerWidget</a>(corn ? corner : 0);
+ } else {
+ return; // Not for us to process.
+ }
+ setVPMenuItems();
+ }
+
+ void setVPMenuItems()
+ {
+<a name="x654"></a> QScrollView::ScrollBarMode vm = vp-&gt;<a href="qscrollview.html#vScrollBarMode">vScrollBarMode</a>();
+<a name="x636"></a> vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( vauto_id, vm == QScrollView::Auto );
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( vaoff_id, vm == QScrollView::AlwaysOff );
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( vaon_id, vm == QScrollView::AlwaysOn );
+
+<a name="x649"></a> QScrollView::ScrollBarMode hm = vp-&gt;<a href="qscrollview.html#hScrollBarMode">hScrollBarMode</a>();
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( hauto_id, hm == QScrollView::Auto );
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( haoff_id, hm == QScrollView::AlwaysOff );
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( haon_id, hm == QScrollView::AlwaysOn );
+
+ vp_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( corn_id, !!vp-&gt;<a href="qscrollview.html#cornerWidget">cornerWidget</a>() );
+ }
+
+ void doFMenuItem(int id)
+ {
+ if (id &amp; style_id) {
+ int sty;
+
+ if (id == style_id) {
+ sty = 0;
+ } else if (id &amp; QFrame::MShape) {
+<a name="x622"></a> sty = vp-&gt;<a href="qframe.html#frameStyle">frameStyle</a>()&amp;QFrame::MShadow;
+ sty = (sty ? sty : <a href="qframe.html">QFrame</a>::Plain) | (id&amp;QFrame::MShape);
+ } else {
+ sty = vp-&gt;<a href="qframe.html#frameStyle">frameStyle</a>()&amp;QFrame::MShape;
+ sty = (sty ? sty : <a href="qframe.html">QFrame</a>::Box) | (id&amp;QFrame::MShadow);
+ }
+<a name="x626"></a> vp-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>(sty);
+ } else if (id &amp; lw_id) {
+<a name="x627"></a> vp-&gt;<a href="qframe.html#setLineWidth">setLineWidth</a>(id&amp;~lw_id);
+ } else if (id &amp; mlw_id) {
+<a name="x629"></a> vp-&gt;<a href="qframe.html#setMidLineWidth">setMidLineWidth</a>(id&amp;~mlw_id);
+ } else {
+<a name="x628"></a> vp-&gt;<a href="qframe.html#setMargin">setMargin</a>(id&amp;~mw_id);
+ }
+
+<a name="x662"></a> vp-&gt;<a href="qwidget.html#update">update</a>();
+ setFMenuItems();
+ }
+
+ void setFMenuItems()
+ {
+ int sty = vp-&gt;<a href="qframe.html#frameStyle">frameStyle</a>();
+
+ f_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( style_id, !sty );
+
+ for (int i=1; i &lt;= f_laststyle; i++) {
+<a name="x643"></a> int id = f_options-&gt;<a href="qpopupmenu.html#idAt">idAt</a>(i);
+ if (id &amp; QFrame::MShape)
+ f_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( id,
+ ((id&amp;QFrame::MShape) == (sty&amp;QFrame::MShape)) );
+ else
+ f_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( id,
+ ((id&amp;QFrame::MShadow) == (sty&amp;QFrame::MShadow)) );
+ }
+
+ for (int lw=1; lw&lt;=max_lw; lw++)
+<a name="x623"></a> lw_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( lw_id|lw, vp-&gt;<a href="qframe.html#lineWidth">lineWidth</a>() == lw );
+
+ for (int mlw=0; mlw&lt;=max_mlw; mlw++)
+<a name="x625"></a> mlw_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( mlw_id|mlw, vp-&gt;<a href="qframe.html#midLineWidth">midLineWidth</a>() == mlw );
+
+ for (int mw=0; mw&lt;=max_mw; mw++)
+<a name="x624"></a> mw_options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( mw_id|mw, vp-&gt;<a href="qframe.html#margin">margin</a>() == mw );
+ }
+
+private:
+ <a href="qscrollview.html">QScrollView</a>* vp;
+ <a href="qpopupmenu.html">QPopupMenu</a>* vp_options;
+ <a href="qpopupmenu.html">QPopupMenu</a>* f_options;
+ <a href="qpopupmenu.html">QPopupMenu</a>* lw_options;
+ <a href="qpopupmenu.html">QPopupMenu</a>* mlw_options;
+ <a href="qpopupmenu.html">QPopupMenu</a>* mw_options;
+ <a href="qsizegrip.html">QSizeGrip</a>* corner;
+
+ int vauto_id, vaoff_id, vaon_id,
+ hauto_id, haoff_id, haon_id,
+ corn_id;
+
+ int f_laststyle;
+};
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ScrollViewExample ve1(1,0,"ve1");
+ ScrollViewExample ve2(2,0,"ve2");
+ ScrollViewExample ve3(3,0,"ve3");
+ ve1.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Scrollviews");
+ ve1.<a href="qwidget.html#show">show</a>();
+ ve2.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Scrollviews");
+ ve2.<a href="qwidget.html#show">show</a>();
+ ve3.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Scrollviews");
+ ve3.<a href="qwidget.html#show">show</a>();
+
+ QObject::<a href="qobject.html#connect">connect</a>(qApp, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "scrollview.moc"
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/search.png b/doc/html/search.png
new file mode 100644
index 0000000..667a4a6
--- /dev/null
+++ b/doc/html/search.png
Binary files differ
diff --git a/doc/html/session.html b/doc/html/session.html
new file mode 100644
index 0000000..1c0f5eb
--- /dev/null
+++ b/doc/html/session.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/session.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Session Management</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Session Management</h1>
+
+
+
+<p> <h2> Definitions
+</h2>
+<a name="1"></a><p> A <em>session</em> is a group of running applications, each of which has a
+particular state. The session is controlled by a service called the <em>session</em> <em>manager</em>. The applications participating in the session are
+called <em>session</em> <em>clients</em>.
+<p> The session manager issues commands to its clients on behalf of the
+user. These commands may cause clients to commit unsaved changes (for
+example by saving open files), to preserve their state for future
+sessions, or to terminate gracefully. The set of these operations is
+called <em>session</em> <em>management</em>.
+<p> In the common case, a session consists of all applications that a
+user runs on their desktop at a time. Under Unix/X11, however, a
+session may include applications running on different computers and
+may span multiple displays.
+<p> <h2> Shutting a session down
+</h2>
+<a name="2"></a><p> A session is shut down by the session manager, usually on behalf of
+the user when they want to log out. A system might also perform an
+automatic shutdown in an emergency situation, for example, if power is
+about to be lost. Clearly there is a significant difference between
+these types of shutdown. During the first, the user may want to
+interact with the application, specifying exactly which files should
+be saved and which should be discarded. In the latter case, there's no
+time for interaction. There may not even be a user sitting in front of
+the machine!
+<p> <h2> Protocols and support on different platforms
+</h2>
+<a name="3"></a><p> On Mac OS X and MS-Windows, there is nothing like complete session
+management for applications yet, i.e. no restoring of previous
+sessions. They do support graceful logouts where applications
+have the opportunity to cancel the process after getting confirmation
+from the user. This is the functionality that corresponds to the <a href="qapplication.html#commitData">QApplication::commitData</a>() method.
+<p> X11 has supported complete session management since X11R6.
+<p> <h2> Getting session management to work with Qt
+</h2>
+<a name="4"></a><p> Start by reimplementing <a href="qapplication.html#commitData">QApplication::commitData</a>() to
+enable your application to take part in the graceful logout process. If
+you are only targeting the MS-Windows platform, this is all you can
+and must provide. Ideally, your application should provide a shutdown
+dialog similar to the following:
+<p> <center><img src="session.png" alt="A typical dialog on shutdown"></center>
+<p> Example code to this dialog can be found in the documentation of <a href="qsessionmanager.html#allowsInteraction">QSessionManager::allowsInteraction</a>().
+<p> For complete session management (only supported on X11R6 at present),
+you must also take care of saving the application's state, and
+potentially of restoring the state in the next life cycle of the
+session. This saving is done by reimplementing <a href="qapplication.html#saveState">QApplication::saveState</a>(). All state data you are saving in this
+function, should be marked with the session identifier <a href="qapplication.html#sessionId">QApplication::sessionId</a>(). This application specific identifier is
+globally unique, so no clashes will occur. (See <a href="qsessionmanager.html">QSessionManager</a> for
+information on saving/restoring the state of a particular Qt
+application.)
+<p> Restoration is usually done in the application's main()
+function. Check if <a href="qapplication.html#isSessionRestored">QApplication::isSessionRestored</a>() is <tt>TRUE</tt>. If
+that's the case, use the session identifier <a href="qapplication.html#sessionId">QApplication::sessionId</a>() again to access your state data and restore
+the state of the application.
+<p> <strong>Important:</strong> In order to allow the window manager to
+restore window attributes such as stacking order or geometry
+information, you must identify your top level widgets with
+unique application-wide object names (see <a href="qobject.html#setName">QObject::setName</a>()). When
+restoring the application, you must ensure that all restored
+top level widgets are given the same unique names they had before.
+<p> <h2> Testing and debugging session management
+</h2>
+<a name="5"></a><p> Session management support on Mac OS X and Windows is fairly limited
+due to the lack of this functionality in the operating system
+itself. Simply shut the session down and verify that your application
+behaves as expected. It may be useful to launch another application,
+usually the integrated development environment, before starting your
+application. This other application will get the shutdown message
+afterwards, thus permitting you to cancel the shutdown. Otherwise you
+would have to log in again after each test run, which is not a problem
+per se, but is time consuming.
+<p> On Unix you can either use a desktop environment that supports
+standard X11R6 session management or, the recommended method, use the
+session manager reference implementation provided by the X Consortium.
+This sample manager is called <tt>xsm</tt> and is part of a standard X11R6
+installation. As always with X11, a useful and informative manual page
+is provided. Using <tt>xsm</tt> is straightforward (apart from the clumsy
+Athena-based user interface). Here's a simple approach:
+<p> <ul>
+<li> Run X11R6.
+<li> Create a dot file <tt>.xsmstartup</tt> in your home directory which
+contains the single line
+<pre>
+xterm
+</pre>
+
+This tells <tt>xsm</tt> that the default/failsafe session is just an xterm
+and nothing else. Otherwise <tt>xsm</tt> would try to invoke lots of
+clients including the windowmanager <tt>twm</tt>, which isn't very helpful.
+<li> Now launch <tt>xsm</tt> from another terminal window. Both a session
+manager window and the xterm will appear. The xterm has a nice
+property that sets it apart from all the other shells you are
+currently running: within its shell, the <tt>SESSION_MANAGER</tt>
+environment variable points to the session manager you just started.
+<li> Launch your application from the new xterm window. It will connect
+itself automatically to the session manager. You can check with the <em>ClientList</em> push button whether the connect was successful.<br>
+<strong>Note:</strong> Never keep the <em>ClientList</em> open when you
+start or end session managed clients! Otherwise <tt>xsm</tt> is likely to
+crash.
+<li> Use the session manager's <em>Checkpoint</em> and <em>Shutdown</em> buttons
+with different settings and see how your application behaves. The save
+type <em>local</em> means that the clients should save their state. It
+corresponds to the <a href="qapplication.html#saveState">QApplication::saveState</a>() function. The <em>global</em> save type asks applications to save their unsaved changes in
+permanent, globally accessible storage. It invokes <a href="qapplication.html#commitData">QApplication::commitData</a>().
+<li> Whenever something crashes, blame <tt>xsm</tt> and not Qt. <tt>xsm</tt> is far
+from being a usable session manager on a user's desktop. It is,
+however, stable and useful enough to serve as testing environment.
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/session.png b/doc/html/session.png
new file mode 100644
index 0000000..8a37490
--- /dev/null
+++ b/doc/html/session.png
Binary files differ
diff --git a/doc/html/shared.html b/doc/html/shared.html
new file mode 100644
index 0000000..efbda11
--- /dev/null
+++ b/doc/html/shared.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:653 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Implicitly and Explicitly Shared Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Implicitly and Explicitly Shared Classes</h1>
+
+
+<p> These classes are normally-heavy classes which in Qt have been
+optimized by the use of reference counter and common data so they can
+be passed around.
+<p> The only important effect is that the classes listed here <em>can</em>
+be passed around as arguments efficiently, even though they may
+seem heavyweight.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qbitarray.html">QBitArray</a></b><td>Array of bits
+<tr bgcolor=#f0f0f0><td><b><a href="qbitmap.html">QBitmap</a></b><td>Monochrome (1-bit depth) pixmaps
+<tr bgcolor=#f0f0f0><td><b><a href="qbrush.html">QBrush</a></b><td>Defines the fill pattern of shapes drawn by a QPainter
+<tr bgcolor=#f0f0f0><td><b><a href="qcstring.html">QCString</a></b><td>Abstraction of the classic C zero-terminated char array (char *)
+<tr bgcolor=#f0f0f0><td><b><a href="qcursor.html">QCursor</a></b><td>Mouse cursor with an arbitrary shape
+<tr bgcolor=#f0f0f0><td><b><a href="qdeepcopy.html">QDeepCopy</a></b><td>Template class which ensures that implicitly shared and explicitly shared classes reference unique data
+<tr bgcolor=#f0f0f0><td><b><a href="qfont.html">QFont</a></b><td>Font used for drawing text
+<tr bgcolor=#f0f0f0><td><b><a href="qfontinfo.html">QFontInfo</a></b><td>General information about fonts
+<tr bgcolor=#f0f0f0><td><b><a href="qfontmetrics.html">QFontMetrics</a></b><td>Font metrics information
+<tr bgcolor=#f0f0f0><td><b><a href="qiconset.html">QIconSet</a></b><td>Set of icons with different styles and sizes
+<tr bgcolor=#f0f0f0><td><b><a href="qimage.html">QImage</a></b><td>Hardware-independent pixmap representation with direct access to the pixel data
+<tr bgcolor=#f0f0f0><td><b><a href="qmap.html">QMap</a></b><td>Value-based template class that provides a dictionary
+<tr bgcolor=#f0f0f0><td><b><a href="qpair.html">QPair</a></b><td>Value-based template class that provides a pair of elements
+<tr bgcolor=#f0f0f0><td><b><a href="qpalette.html">QPalette</a></b><td>Color groups for each widget state
+<tr bgcolor=#f0f0f0><td><b><a href="qpen.html">QPen</a></b><td>Defines how a QPainter should draw lines and outlines of shapes
+<tr bgcolor=#f0f0f0><td><b><a href="qpicture.html">QPicture</a></b><td>Paint device that records and replays QPainter commands
+<tr bgcolor=#f0f0f0><td><b><a href="qpixmap.html">QPixmap</a></b><td>Off-screen, pixel-based paint device
+<tr bgcolor=#f0f0f0><td><b><a href="qpointarray.html">QPointArray</a></b><td>Array of points
+<tr bgcolor=#f0f0f0><td><b><a href="qregexp.html">QRegExp</a></b><td>Pattern matching using regular expressions
+<tr bgcolor=#f0f0f0><td><b><a href="qstring.html">QString</a></b><td>Abstraction of Unicode text and the classic C '&#92;0'-terminated char array
+<tr bgcolor=#f0f0f0><td><b><a href="qstringlist.html">QStringList</a></b><td>List of strings
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelist.html">QValueList</a></b><td>Value-based template class that provides lists
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluestack.html">QValueStack</a></b><td>Value-based template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluevector.html">QValueVector</a></b><td>Value-based template class that provides a dynamic array
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/shclass.html b/doc/html/shclass.html
new file mode 100644
index 0000000..2f64ecf
--- /dev/null
+++ b/doc/html/shclass.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/shclass.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Shared Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Shared Classes</h1>
+
+
+
+<p> <!-- index reference counting --><a name="reference-counting"></a><!-- index implicit sharing --><a name="implicit-sharing"></a><!-- index explicit sharing --><a name="explicit-sharing"></a><!-- index implicitly shared --><a name="implicitly-shared"></a><!-- index explicitly shared --><a name="explicitly-shared"></a><!-- index explicit sharing --><a name="explicit-sharing"></a><!-- index shared implicitly --><a name="shared-implicitly"></a><!-- index shared explicitly --><a name="shared-explicitly"></a>
+<p> Many C++ classes in Qt use <em>explicit</em> and <em>implicit</em> data sharing
+to maximize resource usage and minimize copying of data.
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Overview
+</a>
+<li><a href="#2"> A QByteArray Example
+</a>
+<li><a href="#3"> Explicit vs. Implicit Sharing
+</a>
+<li><a href="#4"> Explicitly Shared Classes
+</a>
+<li><a href="#5"> Implicitly Shared Classes
+</a>
+<li><a href="#6"> QCString: implicit or explicit?
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Overview
+</h2>
+<a name="1"></a><p> A shared class consists of a pointer to a shared data block that
+contains a reference count and the data.
+<p> When a shared object is created, it sets the reference count to 1. The
+reference count is incremented whenever a new object references the
+shared data, and decremented when the object dereferences the shared
+data. The shared data is deleted when the reference count becomes
+zero.
+<p> <!-- index deep copy --><a name="deep-copy"></a><!-- index shallow copy --><a name="shallow-copy"></a>
+<p> When dealing with shared objects, there are two ways of copying an
+object. We usually speak about <em>deep</em> and <em>shallow</em> copies. A deep
+copy implies duplicating an object. A shallow copy is a reference
+copy, i.e. just a pointer to a shared data block. Making a deep copy
+can be expensive in terms of memory and CPU. Making a shallow copy is
+very fast, because it only involves setting a pointer and incrementing
+the reference count.
+<p> Object assignment (with operator=()) for implicitly and explicitly
+shared objects is implemented using shallow copies. A deep copy can be
+made by calling a copy() function or by using <a href="qdeepcopy.html">QDeepCopy</a>.
+<p> The benefit of sharing is that a program does not need to duplicate
+data unnecessarily, which results in lower memory use and less copying
+of data. Objects can easily be assigned, sent as function arguments,
+and returned from functions.
+<p> Now comes the distinction between <em>explicit</em> and <em>implicit</em> sharing.
+Explicit sharing means that the programmer must be aware of the fact
+that objects share common data. Implicit sharing means that the
+sharing mechanism takes place behind the scenes and the programmer
+does not need to worry about it.
+<p> <h2> A <a href="qbytearray.html">QByteArray</a> Example
+</h2>
+<a name="2"></a><p> QByteArray is an example of a shared class that uses explicit sharing.
+Example:
+<pre>
+ //Line a= b= c=
+ <a href="qbytearray.html">QByteArray</a> a(3),b(2) // 1: {?,?,?} {?,?}
+ b[0] = 12; b[1] = 34; // 2: {?,?,?} {12,34}
+ a = b; // 3: {12,34} {12,34}
+ a[1] = 56; // 4: {12,56} {12,56}
+ <a href="qbytearray.html">QByteArray</a> c = a; // 5: {12,56} {12,56} {12,56}
+ a.<a href="qmemarray.html#detach">detach</a>(); // 6: {12,56} {12,56} {12,56}
+ a[1] = 78; // 7: {12,78} {12,56} {12,56}
+ b = a.<a href="qmemarray.html#copy">copy</a>(); // 8: {12,78} {12,78} {12,56}
+ a[1] = 90; // 9: {12,90} {12,78} {12,56}
+</pre>
+
+<p> The assignment <tt>a = b</tt> on line 3 throws away <tt>a</tt>'s original shared
+block (the reference count becomes zero), sets <tt>a</tt>'s shared block to
+point to <tt>b</tt>'s shared block and increments the reference count.
+<p> On line 4, the contents of <tt>a</tt> is modified. <tt>b</tt> is also modified,
+because <tt>a</tt> and <tt>b</tt> refer to the same data block. This is the
+difference between explicit and implicit sharing (explained below).
+<p> The <tt>a</tt> object detaches from the common data on line 6. Detaching
+means that the shared data is copied to make sure that an object has
+its own private data. Therefore, modifying <tt>a</tt> on line 7 does not
+affect <tt>b</tt> or <tt>c</tt>.
+<p> Finally, on line 8 we make a deep copy of <tt>a</tt> and assign it to <tt>b</tt>,
+so that when <tt>a</tt> is modified on line 9, <tt>b</tt> remains unchanged.
+<p> <h2> Explicit vs. Implicit Sharing
+</h2>
+<a name="3"></a><p> Implicit sharing automatically detaches the object from a shared block
+if the object is about to change and the reference count is greater
+than one. (This is often called "copy-on-write".) Explicit sharing
+leaves this job to the programmer. If an explicitly shared object is
+not detached, changing an object will change all other objects that
+refer to the same data.
+<p> Implicit sharing optimizes memory use and copying of data without
+this side effect. So why didn't we implement implicit sharing for all
+shared classes? The answer is that a class that allows direct access
+to its internal data (for efficiency reasons), like <a href="qbytearray.html">QByteArray</a>, cannot
+be implicitly shared, because it can be changed without letting
+QByteArray know.
+<p> An implicitly shared class has total control of its internal data. In
+any member functions that modify its data, it automatically detaches
+before modifying the data.
+<p> The <a href="qpen.html">QPen</a> class, which uses implicit sharing, detaches from the shared
+data in all member functions that change the internal data.
+<p> Code fragment:
+<pre>
+ void QPen::setStyle( PenStyle s )
+ {
+ detach(); // detach from common data
+ data-&gt;style = s; // set the style member
+ }
+
+ void QPen::detach()
+ {
+ if ( data-&gt;count != 1 ) // only if &gt;1 reference
+ *this = copy();
+ }
+</pre>
+
+<p> This is clearly not possible for QByteArray, because the programmer
+can do the following:
+<p> <pre>
+ <a href="qbytearray.html">QByteArray</a> array( 10 );
+ array.<a href="qmemarray.html#fill">fill</a>( 'a' );
+ array[0] = 'f'; // will modify array
+ array.<a href="qmemarray.html#data">data</a>()[1] = 'i'; // will modify array
+</pre>
+
+<p> If we monitor changes in a <a href="qbytearray.html">QByteArray</a>, the QByteArray class would
+become unacceptably slow.
+<p> <h2> Explicitly Shared Classes
+</h2>
+<a name="4"></a><p> All classes that are instances of the <a href="qmemarray.html">QMemArray</a> template class are
+explicitly shared:
+<p> <ul>
+<li> <a href="qbitarray.html">QBitArray</a>
+<li> <a href="qpointarray.html">QPointArray</a>
+<li> <a href="qbytearray.html">QByteArray</a>
+<li> Any other instantiation of <a href="qmemarray.html">QMemArray&lt;type&gt;</a>
+</ul>
+<p> These classes have a detach() function that can be called if you want
+your object to get a private copy of the shared data. They also have a
+copy() function that returns a deep copy with a reference count of 1.
+<p> The same is true for <a href="qimage.html">QImage</a>, which does not inherit QMemArray. <a href="qmovie.html">QMovie</a> is also explicitly shared, but it does not support detach() or
+copy().
+<p> <h2> Implicitly Shared Classes
+</h2>
+<a name="5"></a><p> The Qt classes that are implicitly shared are:
+<ul>
+<li> <a href="qbitmap.html">QBitmap</a>
+<li> <a href="qbrush.html">QBrush</a>
+<li> <a href="qcursor.html">QCursor</a>
+<li> <a href="qfont.html">QFont</a>
+<li> <a href="qfontinfo.html">QFontInfo</a>
+<li> <a href="qfontmetrics.html">QFontMetrics</a>
+<li> <a href="qiconset.html">QIconSet</a>
+<li> <a href="qmap.html">QMap</a>
+<li> <a href="qpalette.html">QPalette</a>
+<li> <a href="qpen.html">QPen</a>
+<li> <a href="qpicture.html">QPicture</a>
+<li> <a href="qpixmap.html">QPixmap</a>
+<li> <a href="qregion.html">QRegion</a>
+<li> <a href="qregexp.html">QRegExp</a>
+<li> <a href="qstring.html">QString</a>
+<li> <a href="qstringlist.html">QStringList</a>
+<li> <a href="qvaluelist.html">QValueList</a>
+<li> <a href="qvaluestack.html">QValueStack</a>
+</ul>
+<p> These classes automatically detach from common data if an object is
+about to be changed. The programmer will not even notice that the
+objects are shared. Thus you should treat separate instances of them
+as separate objects. They will always behave as separate objects but
+with the added benefit of sharing data whenever possible. For this
+reason, you can pass instances of these classes as arguments to
+functions by value without concern for the copying overhead.
+<p> Example:
+<pre>
+ <a href="qpixmap.html">QPixmap</a> p1, p2;
+ p1.<a href="qpixmap.html#load">load</a>( "image.bmp" );
+ p2 = p1; // p1 and p2 share data
+ <a href="qpainter.html">QPainter</a> paint;
+ paint.<a href="qpainter.html#begin">begin</a>( &amp;p2 ); // cuts p2 loose from p1
+ paint.<a href="qpainter.html#drawText">drawText</a>( 0,50, "Hi" );
+ paint.<a href="qpainter.html#end">end</a>();
+</pre>
+
+<p> In this example, <tt>p1</tt> and <tt>p2</tt> share data until <a href="qpainter.html#begin">QPainter::begin</a>() is
+called for <tt>p2</tt>, because painting a pixmap will modify it. The same
+also happens if anything is <a href="qimage.html#bitBlt">bitBlt()</a>'ed into
+<tt>p2</tt>.
+<p> <b>Warning:</b> Do not copy an implicitly shared container (<a href="qmap.html">QMap</a>,
+<a href="qvaluevector.html">QValueVector</a>, etc.) while you are iterating over it.
+<p> <h2> QCString: implicit or explicit?
+</h2>
+<a name="6"></a><p> <a href="qcstring.html">QCString</a> uses a mixture of implicit and explicit sharing. Functions
+inherited from <a href="qbytearray.html">QByteArray</a>, such as data(), employ explicit sharing, while
+those only in <a href="qcstring.html">QCString</a> detach automatically. Thus, QCString is rather an
+"experts only" class, provided mainly to ease porting from Qt 1.x to Qt 2.0.
+We recommend that you use <a href="qstring.html">QString</a>, a purely implicitly shared class.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/showimg-example.html b/doc/html/showimg-example.html
new file mode 100644
index 0000000..ae6fe8d
--- /dev/null
+++ b/doc/html/showimg-example.html
@@ -0,0 +1,883 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/showimg/showimg.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Show Image</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Show Image</h1>
+
+
+<p>
+This example reads and displays an image in any supported image
+format (GIF, BMP, PPM, XMP, etc.).
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/showimg.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef SHOWIMG_H
+#define SHOWIMG_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+
+
+class QLabel;
+class QMenuBar;
+class QPopupMenu;
+
+class ImageViewer : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ ImageViewer( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0, int wFlags=0 );
+ ~ImageViewer();
+ bool loadImage( const <a href="qstring.html">QString</a>&amp; );
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+
+private:
+ void scale();
+ int conversion_flags;
+ bool smooth() const;
+ bool useColorContext() const;
+ int alloc_context;
+ bool convertEvent( <a href="qmouseevent.html">QMouseEvent</a>* e, int&amp; x, int&amp; y );
+ <a href="qstring.html">QString</a> filename;
+ <a href="qimage.html">QImage</a> image; // the loaded image
+ <a href="qpixmap.html">QPixmap</a> pm; // the converted pixmap
+ <a href="qpixmap.html">QPixmap</a> pmScaled; // the scaled pixmap
+
+ <a href="qmenubar.html">QMenuBar</a> *menubar;
+ <a href="qpopupmenu.html">QPopupMenu</a> *file;
+ <a href="qpopupmenu.html">QPopupMenu</a> *saveimage;
+ <a href="qpopupmenu.html">QPopupMenu</a> *savepixmap;
+ <a href="qpopupmenu.html">QPopupMenu</a> *edit;
+ <a href="qpopupmenu.html">QPopupMenu</a> *options;
+
+ <a href="qwidget.html">QWidget</a> *helpmsg;
+ <a href="qlabel.html">QLabel</a> *status;
+ int si, sp, ac, co, mo, fd, bd, // Menu item ids
+ td, ta, ba, fa, au, ad, dd,
+ ss, cc, t1, t8, t32;
+ void updateStatus();
+ void setMenuItemFlags();
+ bool reconvertImage();
+ int pickx, picky;
+ int clickx, clicky;
+ bool may_be_other;
+ static ImageViewer* other;
+ void setImage(const <a href="qimage.html">QImage</a>&amp; newimage);
+
+private slots:
+ void to1Bit();
+ void to8Bit();
+ void to32Bit();
+ void toBitDepth(int);
+
+ void copy();
+ void paste();
+
+ void hFlip();
+ void vFlip();
+ void rot180();
+
+ void editText();
+
+ void newWindow();
+ void openFile();
+ void saveImage(int);
+ void savePixmap(int);
+ void giveHelp();
+ void doOption(int);
+ void copyFrom(ImageViewer*);
+};
+
+
+#endif // SHOWIMG_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/showimg.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "showimg.h"
+#include "imagetexteditor.h"
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qclipboard-h.html">qclipboard.h</a>&gt;
+
+
+/*
+ In the constructor, we just pass the standard parameters on to
+ QWidget.
+
+ The menu uses a single slot to simplify the process of adding
+ more items to the options menu.
+*/
+<a name="f405"></a>ImageViewer::ImageViewer( <a href="qwidget.html">QWidget</a> *parent, const char *name, int wFlags )
+ : <a href="qwidget.html">QWidget</a>( parent, name, wFlags ),
+ conversion_flags( PreferDither ),
+ helpmsg( 0 )
+{
+ pickx = -1;
+ picky = -1;
+ clickx = -1;
+ clicky = -1;
+ alloc_context = 0;
+
+ menubar = new <a href="qmenubar.html">QMenuBar</a>(this);
+<a name="x1326"></a> menubar-&gt;<a href="qmenubar.html#setSeparator">setSeparator</a>( QMenuBar::InWindowsStyle );
+
+<a name="x1323"></a> <a href="qstrlist.html">QStrList</a> fmt = QImage::<a href="qimage.html#outputFormats">outputFormats</a>();
+ saveimage = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ savepixmap = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+<a name="x1344"></a><a name="x1343"></a> for (const char* f = fmt.<a href="qptrlist.html#first">first</a>(); f; f = fmt.<a href="qptrlist.html#next">next</a>()) {
+<a name="x1327"></a> saveimage-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( f );
+ savepixmap-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( f );
+ }
+<a name="x1341"></a> <a href="qobject.html#connect">connect</a>( saveimage, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(saveImage(int)) );
+ <a href="qobject.html#connect">connect</a>( savepixmap, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(savePixmap(int)) );
+
+ file = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New window", this, SLOT(newWindow()), CTRL+Key_N );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Open...", this, SLOT(openFile()), CTRL+Key_O );
+ si = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save image", saveimage );
+ sp = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save pixmap", savepixmap );
+<a name="x1328"></a> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "E&amp;xit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()), CTRL+Key_Q );
+
+ edit = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Edit", edit );
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Copy", this, SLOT(copy()), CTRL+Key_C);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Paste", this, SLOT(paste()), CTRL+Key_V);
+ edit-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Horizontal flip", this, SLOT(hFlip()), ALT+Key_H);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Vertical flip", this, SLOT(vFlip()), ALT+Key_V);
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Rotate 180", this, SLOT(rot180()), ALT+Key_R);
+ edit-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Text...", this, SLOT(editText()));
+ edit-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ t1 = edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Convert to &amp;1 bit", this, SLOT(to1Bit()) );
+ t8 = edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Convert to &amp;8 bit", this, SLOT(to8Bit()) );
+ t32 = edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Convert to &amp;32 bit", this, SLOT(to32Bit()) );
+
+ options = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Options", options );
+ ac = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "AutoColor" );
+ co = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "ColorOnly" );
+ mo = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "MonoOnly" );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ fd = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "DiffuseDither" );
+ bd = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "OrderedDither" );
+ td = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "ThresholdDither" );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ ta = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "ThresholdAlphaDither" );
+ ba = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "OrderedAlphaDither" );
+ fa = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "DiffuseAlphaDither" );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ ad = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "PreferDither" );
+ dd = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "AvoidDither" );
+ options-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ ss = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Smooth scaling" );
+ cc = options-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Use color context" );
+<a name="x1309"></a> if ( QApplication::<a href="qapplication.html#colorSpec">colorSpec</a>() == QApplication::ManyColor )
+<a name="x1331"></a> options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( cc, FALSE );
+<a name="x1342"></a> options-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ setMenuItemFlags();
+
+ menubar-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ <a href="qpopupmenu.html">QPopupMenu</a>* help = new <a href="qpopupmenu.html">QPopupMenu</a>( menubar );
+ menubar-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Help", help );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Help!", this, SLOT(giveHelp()), CTRL+Key_H );
+
+ <a href="qobject.html#connect">connect</a>( options, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(doOption(int)) );
+
+ status = new <a href="qlabel.html">QLabel</a>(this);
+ status-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+<a name="x1354"></a> status-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( <a href="qwidget.html#fontMetrics">fontMetrics</a>().height() + 4 );
+
+ <a href="qwidget.html#setMouseTracking">setMouseTracking</a>( TRUE );
+}
+
+ImageViewer::~ImageViewer()
+{
+ if ( alloc_context )
+<a name="x1313"></a> QColor::<a href="qcolor.html#destroyAllocContext">destroyAllocContext</a>( alloc_context );
+ if ( other == this )
+ other = 0;
+}
+
+/*
+ This function modifies the conversion_flags when an options menu item
+ is selected, then ensures all menu items are up to date, and reconverts
+ the image if possibly necessary.
+*/
+void <a name="f406"></a>ImageViewer::doOption(int item)
+{
+ if ( item == ss || item == cc ) {
+ // Toggle
+<a name="x1329"></a> bool newbool = !options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>(item);
+<a name="x1330"></a> options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>(item, newbool);
+ // And reconvert...
+ reconvertImage();
+ <a href="qwidget.html#repaint">repaint</a>(image.hasAlphaBuffer()); // show image in widget
+ return;
+ }
+
+ if ( options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>( item ) ) return; // They are all radio buttons
+
+ int ocf = conversion_flags;
+
+ if ( item == ac ) {
+ conversion_flags = ( conversion_flags &amp; ~ColorMode_Mask ) | AutoColor;
+ } else if ( item == co ) {
+ conversion_flags = ( conversion_flags &amp; ~ColorMode_Mask ) | ColorOnly;
+ } else if ( item == mo ) {
+ conversion_flags = ( conversion_flags &amp; ~ColorMode_Mask ) | MonoOnly;
+ } else if ( item == fd ) {
+ conversion_flags = ( conversion_flags &amp; ~Dither_Mask ) | DiffuseDither;
+ } else if ( item == bd ) {
+ conversion_flags = ( conversion_flags &amp; ~Dither_Mask ) | OrderedDither;
+ } else if ( item == td ) {
+ conversion_flags = ( conversion_flags &amp; ~Dither_Mask ) | ThresholdDither;
+ } else if ( item == ta ) {
+ conversion_flags = ( conversion_flags &amp; ~AlphaDither_Mask ) | ThresholdAlphaDither;
+ } else if ( item == fa ) {
+ conversion_flags = ( conversion_flags &amp; ~AlphaDither_Mask ) | DiffuseAlphaDither;
+ } else if ( item == ba ) {
+ conversion_flags = ( conversion_flags &amp; ~AlphaDither_Mask ) | OrderedAlphaDither;
+ } else if ( item == ad ) {
+ conversion_flags = ( conversion_flags &amp; ~DitherMode_Mask ) | PreferDither;
+ } else if ( item == dd ) {
+ conversion_flags = ( conversion_flags &amp; ~DitherMode_Mask ) | AvoidDither;
+ }
+
+ if ( ocf != conversion_flags ) {
+ setMenuItemFlags();
+ // And reconvert...
+ reconvertImage();
+ <a href="qwidget.html#repaint">repaint</a>(image.hasAlphaBuffer()); // show image in widget
+ }
+}
+
+/*
+ Set the options menu to reflect the conversion_flags value.
+*/
+void <a name="f407"></a>ImageViewer::setMenuItemFlags()
+{
+ // File
+ bool valid_image = pm.size() != QSize( 0, 0 );
+ file-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( si, valid_image );
+ file-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( sp, valid_image );
+
+ // Edit
+ edit-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( t1, image.depth() != 1 );
+ edit-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( t8, image.depth() != 8 );
+ edit-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( t32, image.depth() != 32 );
+
+ // Options
+ bool may_need_color_dithering =
+ !valid_image
+ || image.depth() == 32 &amp;&amp; QPixmap::<a href="qpixmap.html#defaultDepth">defaultDepth</a>() &lt; 24;
+ bool may_need_dithering = may_need_color_dithering
+ || image.depth() &gt; 1 &amp;&amp; options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>(mo)
+ || image.depth() &gt; 1 &amp;&amp; QPixmap::<a href="qpixmap.html#defaultDepth">defaultDepth</a>() == 1;
+ bool has_alpha_mask = !valid_image || image.hasAlphaBuffer();
+
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( fd, may_need_dithering );
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( bd, may_need_dithering );
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( td, may_need_dithering );
+
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( ta, has_alpha_mask );
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( fa, has_alpha_mask );
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( ba, has_alpha_mask );
+
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( ad, may_need_color_dithering );
+ options-&gt;<a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( dd, may_need_color_dithering );
+
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ac, (conversion_flags &amp; ColorMode_Mask) == AutoColor );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( co, (conversion_flags &amp; ColorMode_Mask) == ColorOnly );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( mo, (conversion_flags &amp; ColorMode_Mask) == MonoOnly );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( fd, (conversion_flags &amp; Dither_Mask) == DiffuseDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( bd, (conversion_flags &amp; Dither_Mask) == OrderedDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( td, (conversion_flags &amp; Dither_Mask) == ThresholdDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ta, (conversion_flags &amp; AlphaDither_Mask) == ThresholdAlphaDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( fa, (conversion_flags &amp; AlphaDither_Mask) == DiffuseAlphaDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ba, (conversion_flags &amp; AlphaDither_Mask) == OrderedAlphaDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( ad, (conversion_flags &amp; DitherMode_Mask) == PreferDither );
+ options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( dd, (conversion_flags &amp; DitherMode_Mask) == AvoidDither );
+}
+
+void <a name="f408"></a>ImageViewer::updateStatus()
+{
+ if ( pm.size() == QSize( 0, 0 ) ) {
+ if ( !filename.isEmpty() )
+ status-&gt;<a href="qlabel.html#setText">setText</a>("Could not load image");
+ else
+ status-&gt;<a href="qlabel.html#setText">setText</a>("No image - select Open from File menu.");
+ } else {
+ <a href="qstring.html">QString</a> message, moremsg;
+ message.<a href="qstring.html#sprintf">sprintf</a>("%dx%d", image.width(), image.height());
+ if ( pm.size() != pmScaled.size() ) {
+ moremsg.sprintf(" [%dx%d]", pmScaled.width(),
+ pmScaled.height());
+ message += moremsg;
+ }
+ moremsg.sprintf(", %d bits ", image.depth());
+ message += moremsg;
+ if (image.valid(pickx,picky)) {
+ moremsg.sprintf("(%d,%d)=#%0*x ",
+ pickx, picky,
+ image.hasAlphaBuffer() ? 8 : 6,
+ image.pixel(pickx,picky));
+ message += moremsg;
+ }
+ if ( image.numColors() &gt; 0 ) {
+ if (image.valid(pickx,picky)) {
+ moremsg.sprintf(", %d/%d colors", image.pixelIndex(pickx,picky),
+ image.numColors());
+ } else {
+ moremsg.sprintf(", %d colors", image.numColors());
+ }
+ message += moremsg;
+ }
+ if ( image.hasAlphaBuffer() ) {
+ if ( image.depth() == 8 ) {
+ int i;
+ bool alpha[256];
+ int nalpha=0;
+
+ for (i=0; i&lt;256; i++)
+ alpha[i] = FALSE;
+
+ for (i=0; i&lt;image.numColors(); i++) {
+ int alevel = image.color(i) &gt;&gt; 24;
+ if (!alpha[alevel]) {
+ alpha[alevel] = TRUE;
+ nalpha++;
+ }
+ }
+ moremsg.sprintf(", %d alpha levels", nalpha);
+ } else {
+ // Too many pixels to bother counting.
+ moremsg = ", 8-bit alpha channel";
+ }
+ message += moremsg;
+ }
+ status-&gt;<a href="qlabel.html#setText">setText</a>(message);
+ }
+}
+
+/*
+ This function saves the image.
+*/
+void <a name="f409"></a>ImageViewer::saveImage( int item )
+{
+<a name="x1332"></a> const char* fmt = saveimage-&gt;<a href="qmenudata.html#text">text</a>(item);
+<a name="x1319"></a> <a href="qstring.html">QString</a> savefilename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(QString::null, <a href="qstring.html#QString-null">QString::null</a>,
+ this, filename);
+ if ( !savefilename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ if ( !image.save( savefilename, fmt ) )
+<a name="x1333"></a> QMessageBox::<a href="qmessagebox.html#warning">warning</a>( this, "Save failed", "Error saving file" );
+}
+
+/*
+ This function saves the converted image.
+*/
+void <a name="f410"></a>ImageViewer::savePixmap( int item )
+{
+ const char* fmt = savepixmap-&gt;<a href="qmenudata.html#text">text</a>(item);
+ <a href="qstring.html">QString</a> savefilename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(QString::null,
+ QString::null, this, filename);
+ if ( !savefilename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ if ( !pmScaled.save( savefilename, fmt ) )
+ QMessageBox::<a href="qmessagebox.html#warning">warning</a>( this, "Save failed", "Error saving file" );
+}
+
+
+void <a name="f411"></a>ImageViewer::newWindow()
+{
+ ImageViewer* that = new ImageViewer(0, "new window", WDestructiveClose);
+ that-&gt;options-&gt;<a href="qmenudata.html#setItemChecked">setItemChecked</a>( that-&gt;cc, useColorContext() );
+ that-&gt;<a href="qwidget.html#show">show</a>();
+}
+
+/*
+ This function is the slot for processing the Open menu item.
+*/
+void <a name="f412"></a>ImageViewer::openFile()
+{
+<a name="x1318"></a> <a href="qstring.html">QString</a> newfilename = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null,
+ QString::null,
+ this );
+ if ( !newfilename.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ loadImage( newfilename ) ;
+ <a href="qwidget.html#repaint">repaint</a>(); // show image in widget
+ }
+}
+
+/*
+ This function loads an image from a file and resizes the widget to
+ exactly fit the image size. If the file was not found or the image
+ format was unknown it will resize the widget to fit the errorText
+ message (see above) displayed in the current font.
+
+ Returns TRUE if the image was successfully loaded.
+*/
+
+bool <a name="f413"></a>ImageViewer::loadImage( const <a href="qstring.html">QString</a>&amp; fileName )
+{
+ filename = fileName;
+ bool ok = FALSE;
+ if ( !filename.isEmpty() ) {
+<a name="x1312"></a> QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( waitCursor ); // this might take time
+ ok = image.load(filename, 0);
+ pickx = -1;
+ clickx = -1;
+ if ( ok )
+ ok = reconvertImage();
+ if ( ok ) {
+ <a href="qwidget.html#setCaption">setCaption</a>( filename ); // set window caption
+ int w = pm.width();
+ int h = pm.height();
+
+ const int reasonable_width = 128;
+ if ( w &lt; reasonable_width ) {
+ // Integer scale up to something reasonable
+ int multiply = ( reasonable_width + w - 1 ) / w;
+ w *= multiply;
+ h *= multiply;
+ }
+
+<a name="x1347"></a><a name="x1325"></a> h += menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>(w) + status-&gt;<a href="qwidget.html#height">height</a>();
+ <a href="qwidget.html#resize">resize</a>( w, h ); // we resize to fit image
+ } else {
+ pm.resize(0,0); // couldn't load image
+ <a href="qwidget.html#update">update</a>();
+ }
+<a name="x1311"></a> QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>(); // restore original cursor
+ }
+ updateStatus();
+ setMenuItemFlags();
+ return ok;
+}
+
+bool <a name="f414"></a>ImageViewer::reconvertImage()
+{
+ bool success = FALSE;
+
+ if ( image.isNull() ) return FALSE;
+
+ if ( alloc_context ) {
+ QColor::<a href="qcolor.html#destroyAllocContext">destroyAllocContext</a>( alloc_context );
+ alloc_context = 0;
+ }
+ if ( useColorContext() ) {
+<a name="x1314"></a> alloc_context = QColor::<a href="qcolor.html#enterAllocContext">enterAllocContext</a>();
+ // Clear the image to hide flickering palette
+ <a href="qpainter.html">QPainter</a> painter(this);
+<a name="x1338"></a> painter.<a href="qpainter.html#eraseRect">eraseRect</a>(0, menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() ), width(), height());
+ }
+
+ QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( waitCursor ); // this might take time
+ if ( pm.convertFromImage(image, conversion_flags) )
+ {
+ pmScaled = QPixmap();
+ scale();
+ <a href="qwidget.html#resize">resize</a>( <a href="qwidget.html#width">width</a>(), height() );
+ success = TRUE; // load successful
+ } else {
+ pm.resize(0,0); // couldn't load image
+ }
+ updateStatus();
+ setMenuItemFlags();
+ QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>(); // restore original cursor
+
+ if ( useColorContext() )
+<a name="x1315"></a> QColor::<a href="qcolor.html#leaveAllocContext">leaveAllocContext</a>();
+
+ return success; // TRUE if loaded OK
+}
+
+bool <a name="f415"></a>ImageViewer::smooth() const
+{
+ return options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>(ss);
+}
+
+bool <a name="f416"></a>ImageViewer::useColorContext() const
+{
+ return options-&gt;<a href="qmenudata.html#isItemChecked">isItemChecked</a>(cc);
+}
+
+/*
+ This functions scales the pixmap in the member variable "pm" to fit the
+ widget size and puts the resulting pixmap in the member variable "pmScaled".
+*/
+
+void <a name="f417"></a>ImageViewer::scale()
+{
+ int h = <a href="qwidget.html#height">height</a>() - menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() ) - status-&gt;<a href="qwidget.html#height">height</a>();
+
+ if ( image.isNull() ) return;
+
+ QApplication::<a href="qapplication.html#setOverrideCursor">setOverrideCursor</a>( waitCursor ); // this might take time
+ if ( <a href="qwidget.html#width">width</a>() == pm.width() &amp;&amp; h == pm.height() )
+ { // no need to scale if widget
+ pmScaled = pm; // size equals pixmap size
+ } else {
+ if (smooth()) {
+ pmScaled.convertFromImage(image.smoothScale(<a href="qwidget.html#width">width</a>(), h),
+ conversion_flags);
+ } else {
+ <a href="qwmatrix.html">QWMatrix</a> m; // <a href="qwmatrix.html#TransformationMode">transformation matrix</a>
+<a name="x1357"></a> m.<a href="qwmatrix.html#scale">scale</a>(((double)<a href="qwidget.html#width">width</a>())/pm.width(),// define scale factors
+ ((double)h)/pm.height());
+ pmScaled = pm.xForm( m ); // create scaled pixmap
+ }
+ }
+ QApplication::<a href="qapplication.html#restoreOverrideCursor">restoreOverrideCursor</a>(); // restore original cursor
+}
+
+/*
+ The resize event handler, if a valid pixmap was loaded it will call
+ scale() to fit the pixmap to the new widget size.
+*/
+
+<a name="x1353"></a>void ImageViewer::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+<a name="x1355"></a> status-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>(0, height() - status-&gt;<a href="qwidget.html#height">height</a>(),
+ <a href="qwidget.html#width">width</a>(), status-&gt;<a href="qwidget.html#height">height</a>());
+
+ if ( pm.size() == QSize( 0, 0 ) ) // we couldn't load the image
+ return;
+
+ int h = <a href="qwidget.html#height">height</a>() - menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() ) - status-&gt;<a href="qwidget.html#height">height</a>();
+ if ( <a href="qwidget.html#width">width</a>() != pmScaled.width() || h != pmScaled.height())
+ { // if new size,
+ scale(); // scale pmScaled to window
+ updateStatus();
+ }
+ if ( image.hasAlphaBuffer() )
+ <a href="qwidget.html#erase">erase</a>();
+}
+
+bool <a name="f418"></a>ImageViewer::convertEvent( <a href="qmouseevent.html">QMouseEvent</a>* e, int&amp; x, int&amp; y)
+{
+ if ( pm.size() != QSize( 0, 0 ) ) {
+ int h = <a href="qwidget.html#height">height</a>() - menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() ) - status-&gt;<a href="qwidget.html#height">height</a>();
+<a name="x1335"></a> int nx = e-&gt;<a href="qmouseevent.html#x">x</a>() * image.width() / width();
+<a name="x1336"></a> int ny = (e-&gt;<a href="qmouseevent.html#y">y</a>()-menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() )) * image.height() / h;
+ if (nx != x || ny != y ) {
+ x = nx;
+ y = ny;
+ updateStatus();
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+void ImageViewer::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ may_be_other = convertEvent(e, clickx, clicky);
+}
+
+<a name="x1350"></a>void ImageViewer::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ if ( may_be_other )
+ other = this;
+}
+
+/*
+ Record the pixel position of interest.
+*/
+void ImageViewer::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if (convertEvent(e,pickx,picky)) {
+ updateStatus();
+<a name="x1334"></a> if ((e-&gt;<a href="qmouseevent.html#state">state</a>()&amp;LeftButton)) {
+ may_be_other = FALSE;
+ if ( clickx &gt;= 0 &amp;&amp; other) {
+ copyFrom(other);
+ }
+ }
+ }
+}
+
+/*
+ Draws the portion of the scaled pixmap that needs to be updated or prints
+ an error message if no legal pixmap has been loaded.
+*/
+
+void ImageViewer::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ if ( pm.size() != QSize( 0, 0 ) ) { // is an image loaded?
+ <a href="qpainter.html">QPainter</a> painter(this);
+<a name="x1340"></a><a name="x1339"></a> painter.<a href="qpainter.html#setClipRect">setClipRect</a>(e-&gt;<a href="qpaintevent.html#rect">rect</a>());
+<a name="x1337"></a> painter.<a href="qpainter.html#drawPixmap">drawPixmap</a>(0, menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>( <a href="qwidget.html#width">width</a>() ), pmScaled);
+ }
+}
+
+
+/*
+ Explain anything that might be confusing.
+*/
+void <a name="f419"></a>ImageViewer::giveHelp()
+{
+ if (!helpmsg) {
+ <a href="qstring.html">QString</a> helptext =
+ "&lt;b&gt;Usage:&lt;/b&gt; &lt;tt&gt;showimg [-m] &lt;i&gt;filename ...&lt;/i&gt;&lt;/tt&gt;"
+ "&lt;blockquote&gt;"
+ "&lt;tt&gt;-m&lt;/tt&gt; - use &lt;i&gt;ManyColor&lt;/i&gt; color spec"
+ "&lt;/blockquote&gt;"
+ "&lt;p&gt;Supported input formats:"
+ "&lt;blockquote&gt;";
+<a name="x1321"></a> helptext += QImage::<a href="qimage.html#inputFormatList">inputFormatList</a>().join(", ");
+ helptext += "&lt;/blockquote&gt;";
+
+ helpmsg = new <a href="qmessagebox.html">QMessageBox</a>( "Help", helptext,
+ QMessageBox::Information, QMessageBox::Ok, 0, 0, 0, 0, FALSE );
+ }
+<a name="x1317"></a> helpmsg-&gt;<a href="qdialog.html#show">show</a>();
+<a name="x1352"></a> helpmsg-&gt;<a href="qwidget.html#raise">raise</a>();
+}
+
+void <a name="f420"></a>ImageViewer::copyFrom(ImageViewer* s)
+{
+ if ( clickx &gt;= 0 ) {
+ int dx = clickx;
+ int dy = clicky;
+ int sx = s-&gt;clickx;
+ int sy = s-&gt;clicky;
+ int sw = QABS(clickx - pickx)+1;
+ int sh = QABS(clicky - picky)+1;
+ if ( clickx &gt; pickx ) {
+ dx = pickx;
+ sx -= sw-1;
+ }
+ if ( clicky &gt; picky ) {
+ dy = picky;
+ sy -= sh-1;
+ }
+ <a href="qimage.html#bitBlt">bitBlt</a>( &amp;image, dx, dy, &amp;s-&gt;image, sx, sy, sw, sh );
+ reconvertImage();
+ <a href="qwidget.html#repaint">repaint</a>( image.hasAlphaBuffer() );
+ }
+}
+ImageViewer* ImageViewer::other = 0;
+
+void <a name="f421"></a>ImageViewer::hFlip()
+{
+ setImage(image.mirror(TRUE,FALSE));
+}
+
+void <a name="f422"></a>ImageViewer::vFlip()
+{
+ setImage(image.mirror(FALSE,TRUE));
+}
+
+void <a name="f423"></a>ImageViewer::rot180()
+{
+ setImage(image.mirror(TRUE,TRUE));
+}
+
+void <a name="f424"></a>ImageViewer::copy()
+{
+#ifndef QT_NO_MIMECLIPBOARD
+<a name="x1308"></a> QApplication::<a href="qapplication.html#clipboard">clipboard</a>()-&gt;setImage(image); // Less information loss
+#endif
+}
+
+void <a name="f425"></a>ImageViewer::paste()
+{
+#ifndef QT_NO_MIMECLIPBOARD
+ <a href="qimage.html">QImage</a> p = QApplication::<a href="qapplication.html#clipboard">clipboard</a>()-&gt;image();
+<a name="x1322"></a> if ( !p.<a href="qimage.html#isNull">isNull</a>() ) {
+ filename = "pasted";
+ setImage(p);
+ }
+#endif
+}
+
+void <a name="f426"></a>ImageViewer::setImage(const <a href="qimage.html">QImage</a>&amp; newimage)
+{
+ image = newimage;
+
+ pickx = -1;
+ clickx = -1;
+ <a href="qwidget.html#setCaption">setCaption</a>( filename ); // set window caption
+ int w = image.width();
+ int h = image.height();
+ if ( !w )
+ return;
+
+ const int reasonable_width = 128;
+ if ( w &lt; reasonable_width ) {
+ // Integer scale up to something reasonable
+ int multiply = ( reasonable_width + w - 1 ) / w;
+ w *= multiply;
+ h *= multiply;
+ }
+
+ h += menubar-&gt;<a href="qmenubar.html#heightForWidth">heightForWidth</a>(w) + status-&gt;<a href="qwidget.html#height">height</a>();
+ <a href="qwidget.html#resize">resize</a>( w, h ); // we resize to fit image
+
+ reconvertImage();
+ <a href="qwidget.html#repaint">repaint</a>( image.hasAlphaBuffer() );
+
+ updateStatus();
+ setMenuItemFlags();
+}
+
+void <a name="f427"></a>ImageViewer::editText()
+{
+ ImageTextEditor editor(image,this);
+ editor.<a href="qdialog.html#exec">exec</a>();
+}
+
+void <a name="f428"></a>ImageViewer::to1Bit()
+{
+ toBitDepth(1);
+}
+
+void <a name="f429"></a>ImageViewer::to8Bit()
+{
+ toBitDepth(8);
+}
+
+void <a name="f430"></a>ImageViewer::to32Bit()
+{
+ toBitDepth(32);
+}
+
+void <a name="f431"></a>ImageViewer::toBitDepth(int d)
+{
+ image = image.convertDepth(d);
+ reconvertImage();
+ <a href="qwidget.html#repaint">repaint</a>( image.hasAlphaBuffer() );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "showimg.h"
+#include "imagefip.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ if ( argc &gt; 1 &amp;&amp; QString(argv[1]) == "-m" ) {
+<a name="x1361"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::ManyColor );
+ argc--;
+ argv++;
+ }
+ else if ( argc &gt; 1 &amp;&amp; QString(argv[1]) == "-n" ) {
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::NormalColor );
+ argc--;
+ argv++;
+ }
+ else {
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ }
+
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ ImageIconProvider iip;
+<a name="x1362"></a> QFileDialog::<a href="qfiledialog.html#setIconProvider">setIconProvider</a>( &amp;iip );
+
+ if ( argc &lt;= 1 ) {
+ // Create a window which looks after its own existence.
+ ImageViewer *w =
+ new ImageViewer(0, "new window", Qt::WDestructiveClose | Qt::WResizeNoErase );
+<a name="x1364"></a> w-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Image Viewer");
+ w-&gt;<a href="qwidget.html#show">show</a>();
+ } else {
+ for ( int i=1; i&lt;argc; i++ ) {
+ // Create a window which looks after its own existence.
+ ImageViewer *w =
+ new ImageViewer(0, argv[i], Qt::WDestructiveClose | Qt::WResizeNoErase );
+ w-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Image Viewer");
+ w-&gt;loadImage( argv[i] );
+ w-&gt;<a href="qwidget.html#show">show</a>();
+ }
+ }
+
+ QObject::<a href="qobject.html#connect">connect</a>(qApp, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sidebar.png b/doc/html/sidebar.png
new file mode 100644
index 0000000..7e005cd
--- /dev/null
+++ b/doc/html/sidebar.png
Binary files differ
diff --git a/doc/html/signalsandslots.html b/doc/html/signalsandslots.html
new file mode 100644
index 0000000..d5e1ee7
--- /dev/null
+++ b/doc/html/signalsandslots.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/signalsandslots.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Signals and Slots</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Signals and Slots</h1>
+
+
+<p> Signals and slots are used for communication between objects. The
+signal/slot mechanism is a central feature of Qt and probably the
+part that differs most from other toolkits.
+<p> In GUI programming we often want a change in one widget to be notified
+to another widget. More generally, we want objects of any kind to be
+able to communicate with one another. For example if we were parsing
+an XML file we might want to notify a list view that we're using to
+represent the XML file's structure whenever we encounter a new tag.
+<p> Older toolkits achieve this kind of communication using callbacks. A
+callback is a pointer to a function, so if you want a processing
+function to notify you about some event you pass a pointer to another
+function (the callback) to the processing function. The processing
+function then calls the callback when appropriate. Callbacks have two
+fundamental flaws. Firstly they are not type safe. We can never be
+certain that the processing function will call the callback with the
+correct arguments. Secondly the callback is strongly coupled to the
+processing function since the processing function must know which
+callback to call.
+<p> <center><img src="abstract-connections.png"></center> <blockquote><p align="center"><em> An abstract view of some signals and slots connections
+</em></p>
+</blockquote><p> In Qt we have an alternative to the callback technique. We use signals
+and slots. A signal is emitted when a particular event occurs. Qt's
+widgets have many pre-defined signals, but we can always subclass to
+add our own. A slot is a function that is called in reponse to a
+particular signal. Qt's widgets have many pre-defined slots, but it is
+common practice to add your own slots so that you can handle the
+signals that you are interested in.
+<p> The signals and slots mechanism is type safe: the signature of a
+signal must match the signature of the receiving slot. (In fact a slot
+may have a shorter signature than the signal it receives because it
+can ignore extra arguments.) Since the signatures are compatible, the
+compiler can help us detect type mismatches. Signals and slots are
+loosely coupled: a class which emits a signal neither knows nor cares
+which slots receive the signal. Qt's signals and slots mechanism
+ensures that if you connect a signal to a slot, the slot will be
+called with the signal's parameters at the right time. Signals and
+slots can take any number of arguments of any type. They are
+completely typesafe: no more callback core dumps!
+<p> All classes that inherit from <a href="qobject.html">QObject</a> or one of its subclasses
+(e.g. <a href="qwidget.html">QWidget</a>) can contain signals and slots. Signals are emitted by
+objects when they change their state in a way that may be interesting
+to the outside world. This is all the object does to communicate. It
+does not know or care whether anything is receiving the signals it
+emits. This is true information encapsulation, and ensures that the
+object can be used as a software component.
+<p> <center><img src="concrete-connections.png"></center> <blockquote><p align="center"><em> An example of signals and slots connections
+</em></p>
+</blockquote><p> Slots can be used for receiving signals, but they are also normal
+member functions. Just as an object does not know if anything receives
+its signals, a slot does not know if it has any signals connected to
+it. This ensures that truly independent components can be created with
+Qt.
+<p> You can connect as many signals as you want to a single slot, and a
+signal can be connected to as many slots as you desire. It is even
+possible to connect a signal directly to another signal. (This will
+emit the second signal immediately whenever the first is emitted.)
+<p> Together, signals and slots make up a powerful component programming
+mechanism.
+<p> <h2> A Small Example
+</h2>
+<a name="1"></a><p> A minimal C++ class declaration might read:
+<p> <pre>
+ class Foo
+ {
+ public:
+ Foo();
+ int value() const { return val; }
+ void setValue( int );
+ private:
+ int val;
+ };
+</pre>
+
+<p> A small Qt class might read:
+<p> <pre>
+ class Foo : public <a href="qobject.html">QObject</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ Foo();
+ int value() const { return val; }
+ public slots:
+ void setValue( int );
+ signals:
+ void valueChanged( int );
+ private:
+ int val;
+ };
+</pre>
+
+<p> This class has the same internal state, and public methods to access the
+state, but in addition it has support for component programming using
+signals and slots: this class can tell the outside world that its state
+has changed by emitting a signal, <tt>valueChanged()</tt>, and it has
+a slot which other objects can send signals to.
+<p> All classes that contain signals or slots must mention Q_OBJECT in
+their declaration.
+<p> Slots are implemented by the application programmer.
+Here is a possible implementation of Foo::setValue():
+<p> <pre>
+ void Foo::setValue( int v )
+ {
+ if ( v != val ) {
+ val = v;
+ emit valueChanged(v);
+ }
+ }
+</pre>
+
+<p> The line <tt>emit valueChanged(v)</tt> emits the signal
+<tt>valueChanged</tt> from the object. As you can see, you emit a
+signal by using <tt>emit signal(arguments)</tt>.
+<p> Here is one way to connect two of these objects together:
+<p> <pre>
+ Foo a, b;
+ connect(&amp;a, SIGNAL(valueChanged(int)), &amp;b, SLOT(setValue(int)));
+ b.setValue( 11 ); // a == undefined b == 11
+ a.setValue( 79 ); // a == 79 b == 79
+ b.value(); // returns 79
+</pre>
+
+<p> Calling <tt>a.setValue(79)</tt> will make <tt>a</tt> emit a <tt>valueChanged()</tt>
+signal, which <tt>b</tt> will receive in its <tt>setValue()</tt> slot,
+i.e. <tt>b.setValue(79)</tt> is called. <tt>b</tt> will then, in turn,
+emit the same <tt>valueChanged()</tt> signal, but since no slot has been
+connected to <tt>b</tt>'s <tt>valueChanged()</tt> signal, nothing happens (the
+signal is ignored).
+<p> Note that the <tt>setValue()</tt> function sets the value and emits
+the signal only if <tt>v != val</tt>. This prevents infinite looping
+in the case of cyclic connections (e.g. if <tt>b.valueChanged()</tt>
+were connected to <tt>a.setValue()</tt>).
+<p> A signal is emitted for <em>every</em> connection you make, so if you
+duplicate a connection, two signals will be emitted. You can always
+break a connection using <a href="qobject.html#disconnect">QObject::disconnect</a>().
+<p> This example illustrates that objects can work together without knowing
+about each other, as long as there is someone around to set up a
+connection between them initially.
+<p> The preprocessor changes or removes the <tt>signals</tt>, <tt>slots</tt> and
+<tt>emit</tt> keywords so that the compiler is presented with standard C++.
+<p> Run the <a href="moc.html">moc</a> on class definitions that contain
+signals or slots. This produces a C++ source file which should be compiled
+and linked with the other object files for the application. If you use
+<a href="qmake-manual.html">qmake</a>, the makefile rules to
+automatically invoke the <a href="moc.html">moc</a> will be added to
+your makefile for you.
+<p> <h2> Signals
+</h2>
+<a name="2"></a><p> Signals are emitted by an object when its internal state has changed
+in some way that might be interesting to the object's client or owner.
+Only the class that defines a signal and its subclasses can emit the
+signal.
+<p> A list box, for example, emits both <tt>clicked()</tt> and
+<tt>currentChanged()</tt> signals. Most objects will probably only be
+interested in <tt>currentChanged()</tt> which gives the current list item
+whether the user clicked it or used the arrow keys to move to it. But
+some objects may only want to know which item was clicked. If the
+signal is interesting to two different objects you just connect the
+signal to slots in both objects.
+<p> When a signal is emitted, the slots connected to it are executed
+immediately, just like a normal function call. The signal/slot
+mechanism is totally independent of any GUI event loop. The
+<tt>emit</tt> will return when all slots have returned.
+<p> If several slots are connected to one signal, the slots will be
+executed one after the other, in an arbitrary order, when the signal
+is emitted.
+<p> Signals are automatically generated by the <a href="moc.html">moc</a>
+and must not be implemented in the <tt>.cpp</tt> file. They can never have
+return types (i.e. use <tt>void</tt>).
+<p> A note about arguments. Our experience shows that signals and slots
+are more reusable if they do <em>not</em> use special types. If <a href="qscrollbar.html#valueChanged">QScrollBar::valueChanged</a>() were to use a special type such as the
+hypothetical <tt>QRangeControl::Range</tt>, it could only be connected to
+slots designed specifically for <a href="qrangecontrol.html">QRangeControl</a>. Something as simple as
+the program in <a href="tutorial1-05.html">Tutorial #1 part 5</a>
+would be impossible.
+<p> <h2> Slots
+</h2>
+<a name="3"></a><p> A slot is called when a signal connected to it is emitted. Slots are
+normal C++ functions and can be called normally; their only special
+feature is that signals can be connected to them. A slot's arguments
+cannot have default values, and, like signals, it is rarely wise to
+use your own custom types for slot arguments.
+<p> Since slots are normal member functions with just a little extra
+spice, they have access rights like ordinary member functions. A
+slot's access right determines who can connect to it:
+<p> A <tt>public slots</tt> section contains slots that anyone can connect
+signals to. This is very useful for component programming: you create
+objects that know nothing about each other, connect their signals and
+slots so that information is passed correctly, and, like a model
+railway, turn it on and leave it running.
+<p> A <tt>protected slots</tt> section contains slots that this class and its
+subclasses may connect signals to. This is intended for slots that are
+part of the class's implementation rather than its interface to the
+rest of the world.
+<p> A <tt>private slots</tt> section contains slots that only the class itself
+may connect signals to. This is intended for very tightly connected
+classes, where even subclasses aren't trusted to get the connections
+right.
+<p> You can also define slots to be virtual, which we have found quite
+useful in practice.
+<p> The signals and slots mechanism is efficient, but not quite as fast as
+"real" callbacks. Signals and slots are slightly slower because of the
+increased flexibility they provide, although the difference for real
+applications is insignificant. In general, emitting a signal that is
+connected to some slots, is approximately ten times slower than
+calling the receivers directly, with non-virtual function calls. This
+is the overhead required to locate the connection object, to safely
+iterate over all connections (i.e. checking that subsequent receivers
+have not been destroyed during the emission) and to marshall any
+parameters in a generic fashion. While ten non-virtual function calls
+may sound like a lot, it's much less overhead than any 'new' or
+'delete' operation, for example. As soon as you perform a string,
+vector or list operation that behind the scene requires 'new' or
+'delete', the signals and slots overhead is only responsible for a
+very small proportion of the complete function call costs. The same is
+true whenever you do a system call in a slot; or indirectly call more
+than ten functions. On an i586-500, you can emit around 2,000,000
+signals per second connected to one receiver, or around 1,200,000 per
+second connected to two receivers. The simplicity and flexibility of
+the signals and slots mechanism is well worth the overhead, which your
+users won't even notice.
+<p> <h2> Meta Object Information
+</h2>
+<a name="4"></a><p> The <a href="metaobjects.html#meta-object">meta object</a> compiler (<a href="moc.html"><a href="moc.html#moc">moc</a></a>) parses the class
+declaration in a C++ file and generates C++ code that initializes the
+meta object. The meta object contains the names of all the signal and
+slot members, as well as pointers to these functions. (For more
+information on Qt's Meta Object System, see <a href="templates.html">Why
+doesn't Qt use templates for signals and slots?</a>.)
+<p> The meta object contains additional information such as the object's <a href="qobject.html#className">class name</a>. You can also check if an object
+<a href="qobject.html#inherits">inherits</a> a specific class, for example:
+<p> <pre>
+ if ( widget-&gt;inherits("QButton") ) {
+ // yes, it is a push button, radio button etc.
+ }
+</pre>
+
+<p> <h2> A Real Example
+</h2>
+<a name="5"></a><p> Here is a simple commented example (code fragments from <a href="qlcdnumber-h.html">qlcdnumber.h</a> ).
+<p> <pre>
+ #include "qframe.h"
+ #include "qbitarray.h"
+
+ class QLCDNumber : public <a href="qframe.html">QFrame</a>
+</pre>
+
+<p> <a href="qlcdnumber.html">QLCDNumber</a> inherits <a href="qobject.html">QObject</a>, which has most of the signal/slot
+knowledge, via <a href="qframe.html">QFrame</a> and <a href="qwidget.html">QWidget</a>, and #include's the relevant
+declarations.
+<p> <pre>
+ {
+ Q_OBJECT
+</pre>
+
+<p> Q_OBJECT is expanded by the preprocessor to declare several member
+functions that are implemented by the moc; if you get compiler errors
+along the lines of "virtual function QButton::className not defined"
+you have probably forgotten to <a href="moc.html">run the moc</a> or to
+include the moc output in the link command.
+<p> <pre>
+ public:
+ <a href="qlcdnumber.html">QLCDNumber</a>( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ QLCDNumber( uint numDigits, QWidget *parent=0, const char *name=0 );
+</pre>
+
+<p> It's not obviously relevant to the moc, but if you inherit QWidget you
+almost certainly want to have the <em>parent</em> and <em>name</em>
+arguments in your constructors, and pass them to the parent
+constructor.
+<p> Some destructors and member functions are omitted here; the moc
+ignores member functions.
+<p> <pre>
+ signals:
+ void overflow();
+</pre>
+
+<p> <a href="qlcdnumber.html">QLCDNumber</a> emits a signal when it is asked to show an impossible
+value.
+<p> If you don't care about overflow, or you know that overflow cannot
+occur, you can ignore the overflow() signal, i.e. don't connect it to
+any slot.
+<p> If, on the other hand, you want to call two different error functions
+when the number overflows, simply connect the signal to two different
+slots. Qt will call both (in arbitrary order).
+<p> <pre>
+ public slots:
+ void display( int num );
+ void display( double num );
+ void display( const char *str );
+ void setHexMode();
+ void setDecMode();
+ void setOctMode();
+ void setBinMode();
+ void smallDecimalPoint( bool );
+</pre>
+
+<p> A slot is a receiving function, used to get information about state
+changes in other widgets. QLCDNumber uses it, as the code above
+indicates, to set the displayed number. Since <tt>display()</tt> is part
+of the class's interface with the rest of the program, the slot is
+public.
+<p> Several of the example programs connect the newValue() signal of a
+<a href="qscrollbar.html">QScrollBar</a> to the display() slot, so the LCD number continuously shows
+the value of the scroll bar.
+<p> Note that display() is overloaded; Qt will select the appropriate version
+when you connect a signal to the slot. With callbacks, you'd have to find
+five different names and keep track of the types yourself.
+<p> Some irrelevant member functions have been omitted from this
+example.
+<p> <pre>
+ };
+</pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/simple-application-example.html b/doc/html/simple-application-example.html
new file mode 100644
index 0000000..b8a5ef7
--- /dev/null
+++ b/doc/html/simple-application-example.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/application/application.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Complete Application Window</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Complete Application Window</h1>
+
+
+<p>
+<p> This example program looks like a complete modern application. It
+has a menu bar, it has a tool bar, it has a status bar and works
+like a simple text editor.
+<p> There is a <a href="simple-application.html">walkthrough</a> of
+this example.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef APPLICATION_H
+#define APPLICATION_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class QTextEdit;
+
+class ApplicationWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ApplicationWindow();
+ ~ApplicationWindow();
+
+protected:
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a>* );
+
+private slots:
+ void newDoc();
+ void choose();
+ void load( const <a href="qstring.html">QString</a> &amp;fileName );
+ void save();
+ void saveAs();
+ void print();
+
+ void about();
+ void aboutQt();
+
+private:
+ <a href="qprinter.html">QPrinter</a> *printer;
+ <a href="qtextedit.html">QTextEdit</a> *e;
+ <a href="qstring.html">QString</a> filename;
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "application.h"
+
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qtoolbutton-h.html">qtoolbutton.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qtextedit-h.html">qtextedit.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;
+#include &lt;<a href="qstatusbar-h.html">qstatusbar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;
+#include &lt;<a href="qwhatsthis-h.html">qwhatsthis.h</a>&gt;
+#include &lt;<a href="qsimplerichtext-h.html">qsimplerichtext.h</a>&gt;
+
+#include "filesave.xpm"
+#include "fileopen.xpm"
+#include "fileprint.xpm"
+
+<a name="f459"></a>ApplicationWindow::ApplicationWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "example application main window", WDestructiveClose | WGroupLeader )
+{
+ printer = new <a href="qprinter.html">QPrinter</a>( QPrinter::HighResolution );
+ <a href="qpixmap.html">QPixmap</a> openIcon, saveIcon, printIcon;
+
+ <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+<a name="x1590"></a> fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+
+ openIcon = QPixmap( fileopen );
+ QToolButton * fileOpen
+ = new <a href="qtoolbutton.html">QToolButton</a>( openIcon, "Open File", <a href="qstring.html#QString-null">QString::null</a>,
+ this, SLOT(choose()), fileTools, "open file" );
+
+ saveIcon = QPixmap( filesave );
+ QToolButton * fileSave
+ = new <a href="qtoolbutton.html">QToolButton</a>( saveIcon, "Save File", QString::null,
+ this, SLOT(save()), fileTools, "save file" );
+
+ printIcon = QPixmap( fileprint );
+ QToolButton * filePrint
+ = new <a href="qtoolbutton.html">QToolButton</a>( printIcon, "Print File", QString::null,
+ this, SLOT(print()), fileTools, "print file" );
+
+
+ (void)QWhatsThis::whatsThisButton( fileTools );
+
+ const char * fileOpenText = "&lt;p&gt;&lt;img source=\"fileopen\"&gt; "
+ "Click this button to open a &lt;em&gt;new file&lt;/em&gt;.&lt;br&gt;"
+ "You can also select the &lt;b&gt;Open&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+
+<a name="x1591"></a> QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileOpen, fileOpenText );
+
+<a name="x1558"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen", openIcon );
+
+ const char * fileSaveText = "&lt;p&gt;Click this button to save the file you "
+ "are editing. You will be prompted for a file name.\n"
+ "You can also select the &lt;b&gt;Save&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileSave, fileSaveText );
+
+ const char * filePrintText = "Click this button to print the file you "
+ "are editing.\n"
+ "You can also select the Print command "
+ "from the File menu.";
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( filePrint, filePrintText );
+
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+
+
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New", this, SLOT(newDoc()), CTRL+Key_N );
+
+ int id;
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( openIcon, "&amp;Open...",
+ this, SLOT(choose()), CTRL+Key_O );
+<a name="x1554"></a> file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileOpenText );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( saveIcon, "&amp;Save",
+ this, SLOT(save()), CTRL+Key_S );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save &amp;As...", this, SLOT(saveAs()) );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( printIcon, "&amp;Print...",
+ this, SLOT(print()), CTRL+Key_P );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, filePrintText );
+
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(<a href="qwidget.html#close">close</a>()), CTRL+Key_W );
+
+<a name="x1544"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT( <a href="qapplication.html#closeAllWindows">closeAllWindows</a>() ), CTRL+Key_Q );
+
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1 );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()) );
+ help-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "What's &amp;This", this, SLOT(<a href="qmainwindow.html#whatsThis">whatsThis</a>()), SHIFT+Key_F1 );
+
+ e = new <a href="qtextedit.html">QTextEdit</a>( this, "editor" );
+ e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( e );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+
+ <a href="qwidget.html#resize">resize</a>( 450, 600 );
+}
+
+
+ApplicationWindow::~ApplicationWindow()
+{
+ delete printer;
+}
+
+
+
+void <a name="f460"></a>ApplicationWindow::newDoc()
+{
+ ApplicationWindow *ed = new ApplicationWindow;
+ ed-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Application");
+ ed-&gt;<a href="qwidget.html#show">show</a>();
+}
+
+void <a name="f461"></a>ApplicationWindow::choose()
+{
+<a name="x1549"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null,
+ this);
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( fn );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loading aborted", 2000 );
+}
+
+
+void <a name="f462"></a>ApplicationWindow::load( const <a href="qstring.html">QString</a> &amp;fileName )
+{
+ <a href="qfile.html">QFile</a> f( fileName );
+<a name="x1548"></a> if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;f );
+<a name="x1589"></a><a name="x1586"></a> e-&gt;<a href="qtextedit.html#setText">setText</a>( ts.<a href="qtextstream.html#read">read</a>() );
+<a name="x1585"></a> e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+ <a href="qwidget.html#setCaption">setCaption</a>( fileName );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loaded document " + fileName, 2000 );
+}
+
+
+void <a name="f463"></a>ApplicationWindow::save()
+{
+ if ( filename.isEmpty() ) {
+ saveAs();
+ return;
+ }
+
+<a name="x1588"></a> <a href="qstring.html">QString</a> text = e-&gt;<a href="qtextedit.html#text">text</a>();
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString("Could not write to %1").arg(filename),
+ 2000 );
+ return;
+ }
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+ t &lt;&lt; text;
+ f.<a href="qfile.html#close">close</a>();
+
+ e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+
+ <a href="qwidget.html#setCaption">setCaption</a>( filename );
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "File %1 saved" ).arg( filename ), 2000 );
+}
+
+
+void <a name="f464"></a>ApplicationWindow::saveAs()
+{
+<a name="x1550"></a> <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null,
+ this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ save();
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving aborted", 2000 );
+ }
+}
+
+
+void <a name="f465"></a>ApplicationWindow::print()
+{
+<a name="x1568"></a> printer-&gt;<a href="qprinter.html#setFullPage">setFullPage</a>( TRUE );
+<a name="x1569"></a> if ( printer-&gt;<a href="qprinter.html#setup">setup</a>(this) ) { // printer dialog
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing..." );
+ <a href="qpainter.html">QPainter</a> p;
+ if( !p.<a href="qpainter.html#begin">begin</a>( printer ) ) { // paint on printer
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ return;
+ }
+
+<a name="x1563"></a> <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics( p.<a href="qpainter.html#device">device</a>() );
+<a name="x1560"></a> int dpiy = metrics.<a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>();
+ int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins
+<a name="x1561"></a><a name="x1559"></a> <a href="qrect.html">QRect</a> view( margin, margin, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*margin, metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - 2*margin );
+<a name="x1581"></a> <a href="qsimplerichtext.html">QSimpleRichText</a> richText( QStyleSheet::<a href="qstylesheet.html#convertFromPlainText">convertFromPlainText</a>(e-&gt;<a href="qtextedit.html#text">text</a>()),
+ QFont(),
+<a name="x1582"></a> e-&gt;<a href="qtextedit.html#context">context</a>(),
+<a name="x1587"></a> e-&gt;<a href="qtextedit.html#styleSheet">styleSheet</a>(),
+<a name="x1584"></a> e-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>(),
+ view.<a href="qrect.html#height">height</a>() );
+<a name="x1578"></a> richText.<a href="qsimplerichtext.html#setWidth">setWidth</a>( &amp;p, view.<a href="qrect.html#width">width</a>() );
+ int page = 1;
+ do {
+<a name="x1576"></a> richText.<a href="qsimplerichtext.html#draw">draw</a>( &amp;p, margin, margin, view, colorGroup() );
+<a name="x1572"></a> view.<a href="qrect.html#moveBy">moveBy</a>( 0, view.<a href="qrect.html#height">height</a>() );
+<a name="x1566"></a> p.<a href="qpainter.html#translate">translate</a>( 0 , -view.<a href="qrect.html#height">height</a>() );
+<a name="x1580"></a><a name="x1573"></a><a name="x1565"></a> p.<a href="qpainter.html#drawText">drawText</a>( view.<a href="qrect.html#right">right</a>() - p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().width( QString::<a href="qstring.html#number">number</a>( page ) ),
+<a name="x1570"></a> view.<a href="qrect.html#bottom">bottom</a>() + p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().ascent() + 5, QString::number( page ) );
+<a name="x1577"></a> if ( view.<a href="qrect.html#top">top</a>() - margin &gt;= richText.<a href="qsimplerichtext.html#height">height</a>() )
+ break;
+<a name="x1567"></a> printer-&gt;<a href="qprinter.html#newPage">newPage</a>();
+ page++;
+ } while (TRUE);
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing completed", 2000 );
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ }
+}
+
+<a name="x1592"></a>void ApplicationWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a>* ce )
+{
+<a name="x1583"></a> if ( !e-&gt;<a href="qtextedit.html#isModified">isModified</a>() ) {
+<a name="x1545"></a> ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ return;
+ }
+
+<a name="x1557"></a> switch( QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Qt Application Example",
+ "Do you want to save the changes"
+ " to the document?",
+ "Yes", "No", "Cancel",
+ 0, 1 ) ) {
+ case 0:
+ save();
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ case 1:
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+ case 2:
+ default: // just for sanity
+<a name="x1546"></a> ce-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+ }
+}
+
+
+void <a name="f466"></a>ApplicationWindow::about()
+{
+<a name="x1555"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Application Example",
+ "This example demonstrates simple use of "
+ "QMainWindow,\nQMenuBar and QToolBar.");
+}
+
+
+void <a name="f467"></a>ApplicationWindow::aboutQt()
+{
+<a name="x1556"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Application Example" );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "application.h"
+
+int main( int argc, char ** argv ) {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ApplicationWindow *mw = new ApplicationWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Application" );
+<a name="x1598"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+<a name="x1599"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/simple-application.html b/doc/html/simple-application.html
new file mode 100644
index 0000000..e016572
--- /dev/null
+++ b/doc/html/simple-application.html
@@ -0,0 +1,575 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/application-walkthrough.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Walkthrough: A Simple Application</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Walkthrough: A Simple Application</h1>
+
+
+
+<p>
+<p> This walkthrough shows simple use of <a href="qmainwindow.html">QMainWindow</a>, <a href="qmenubar.html">QMenuBar</a>, <a href="qpopupmenu.html">QPopupMenu</a>, <a href="qtoolbar.html">QToolBar</a> and <a href="qstatusbar.html">QStatusBar</a> - classes that every
+modern application window tends to use. (See also <a href="tutorial2.html">Tutorial #2</a>.)
+<p> It also illustrates some aspects of <a href="qwhatsthis.html">QWhatsThis</a> (for simple help) and a
+typical <tt>main()</tt> using <a href="qapplication.html">QApplication</a>.
+<p> Finally, it shows a typical print function based on <a href="qprinter.html">QPrinter</a>.
+<p> <h2> The declaration of ApplicationWindow
+</h2>
+<a name="1"></a><p> Here's the header file in full:
+<p> <pre>/****************************************************************************
+** $Id: qt/application.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef APPLICATION_H
+#define APPLICATION_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class QTextEdit;
+
+class ApplicationWindow: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ ApplicationWindow();
+ ~ApplicationWindow();
+
+protected:
+ void closeEvent( <a href="qcloseevent.html">QCloseEvent</a>* );
+
+private slots:
+ void newDoc();
+ void choose();
+ void load( const <a href="qstring.html">QString</a> &amp;fileName );
+ void save();
+ void saveAs();
+ void print();
+
+ void about();
+ void aboutQt();
+
+private:
+ <a href="qprinter.html">QPrinter</a> *printer;
+ <a href="qtextedit.html">QTextEdit</a> *e;
+ <a href="qstring.html">QString</a> filename;
+};
+
+
+#endif
+</pre>
+
+<p> It declares a class that inherits <a href="qmainwindow.html">QMainWindow</a>, with slots and private
+variables. The class pre-declaration of <a href="qtextedit.html">QTextEdit</a> at the beginning
+(instead of an include) helps to speed up compilation. With this
+trick, <tt>make depend</tt> won't insist on recompiling every <tt>.cpp</tt> file that
+includes <tt>application.h</tt> when <a href="qtextedit-h.html">qtextedit.h</a> changes.
+<p> <a name="simplemain"></a>
+<h2> A simple main()
+</h2>
+<a name="2"></a><p> Here is <tt>main.cpp</tt> in full:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "application.h"
+
+int main( int argc, char ** argv ) {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ ApplicationWindow *mw = new ApplicationWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Application" );
+<a name="x1598"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+<a name="x1599"></a> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> Now we'll look at <tt>main.cpp</tt> in detail.
+<p>
+
+<pre> int main( int argc, char ** argv ) {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+</pre>
+<p> With the above line, we create a <a href="qapplication.html">QApplication</a> object with the usual
+constructor and let it
+parse <em>argc</em> and <em>argv</em>. QApplication itself takes care of X11-specific
+command-line options like <em>-geometry</em>, so the program will automatically
+behave the way X clients are expected to.
+<p> <pre> ApplicationWindow *mw = new ApplicationWindow();
+ mw-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Application" );
+ <a name="x2115"></a> mw-&gt;<a href="qwidget.html#show">show</a>();
+</pre>
+<p> We create an <em>ApplicationWindow</em> as a top-level widget, set its window
+system caption to "Document 1", and <em>show()</em> it.
+<p> <a name="close"></a>
+<pre> a.<a href="qobject.html#connect">connect</a>( &amp;a, SIGNAL(<a href="qapplication.html#lastWindowClosed">lastWindowClosed</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+</pre>
+<p> When the application's last window is closed, it should quit. Both
+the signal and the slot are predefined members of <a href="qapplication.html">QApplication</a>.
+<p> <pre> return a.<a href="qapplication.html#exec">exec</a>();
+</pre>
+<p> Having completed the application's initialization, we start the main
+event loop (the GUI), and eventually return the error code
+that QApplication returns when it leaves the event loop.
+<p> <pre> }
+</pre>
+<p> <a name="ApplicationWindow"></a>
+<h2> The Implementation of ApplicationWindow
+</h2>
+<a name="3"></a><p>
+
+<p> Since the implementation is quite large (almost 300 lines) we
+won't list the whole thing. (The source code is included in the
+examples/application directory.) Before we start with the constructor
+there are three <tt>#include</tt>s worth mentioning:
+<p> <pre> #include "filesave.xpm"
+ #include "fileopen.xpm"
+ #include "fileprint.xpm"
+</pre>
+<p> The tool buttons in our application wouldn't look good without icons!
+These icons can be found in the XPM files included above. If you ever
+moved a program to a different location and wondered why icons were
+missing afterwards you will probably agree that it is a good idea to
+compile them into the binary. This is what we are doing here.
+<p> <pre> ApplicationWindow::ApplicationWindow()
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, "example application main window", WDestructiveClose | WGroupLeader )
+ {
+</pre>
+<p> <em>ApplicationWindow</em> inherits <a href="qmainwindow.html">QMainWindow</a>, the Qt class that provides
+typical application main windows, with menu bars, toolbars, etc.
+<p> <pre> printer = new <a href="qprinter.html">QPrinter</a>( QPrinter::HighResolution );
+</pre>
+<p> The application example can print things, and we chose to have a
+<a href="qprinter.html">QPrinter</a> object lying around so that when the user changes a setting
+during one printing, the new setting will be the default next time.
+<p> <pre> <a href="qpixmap.html">QPixmap</a> openIcon, saveIcon, printIcon;
+</pre>
+<p> For the sake of simplicity, our example only has a few commands in the
+toolbar. The above variables are used to hold an icon for each of
+them.
+<p> <pre> <a href="qtoolbar.html">QToolBar</a> * fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+</pre>
+<p> We create a toolbar in <em>this</em> window ...
+<p> <pre> fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+</pre>
+<p> ... and define a title for it. When a user drags the toolbar out of
+its location and floats it over the desktop, the toolbar-window will
+show "File Operations" as caption.
+<p> <pre> openIcon = QPixmap( fileopen );
+ QToolButton * fileOpen
+ = new <a href="qtoolbutton.html">QToolButton</a>( openIcon, "Open File", <a href="qstring.html#QString-null">QString::null</a>,
+ this, SLOT(choose()), fileTools, "open file" );
+</pre>
+<p> Now we create the first tool button for the <em>fileTools</em> toolbar
+with the appropriate icon and the tool-tip text "Open File".
+The <tt>fileopen.xpm</tt> we included at the beginning
+contains the definition of a pixmap called <em>fileopen</em>.
+We use this icon to illustrate our first tool button.
+<p> <pre> saveIcon = QPixmap( filesave );
+ QToolButton * fileSave
+ = new <a href="qtoolbutton.html">QToolButton</a>( saveIcon, "Save File", QString::null,
+ this, SLOT(save()), fileTools, "save file" );
+
+ printIcon = QPixmap( fileprint );
+ QToolButton * filePrint
+ = new <a href="qtoolbutton.html">QToolButton</a>( printIcon, "Print File", QString::null,
+ this, SLOT(print()), fileTools, "print file" );
+</pre>
+<p> In a similar way we create two more tool buttons in this toolbar, each with
+appropriate icons and tool-tip text. All three buttons are connected
+to appropriate slots in this object; for example, the "Print File" button
+to <a href="#printer">ApplicationWindow::print()</a>.
+<p> <pre> (void)QWhatsThis::whatsThisButton( fileTools );
+</pre>
+<p> The fourth button in the toolbar is somewhat peculiar: it's the one that
+provides "What's This?" help. This must be set up using a special
+function, as its mouse interface is unusual.
+<p> <pre> const char * fileOpenText = "&lt;p&gt;&lt;img source=\"fileopen\"&gt; "
+ "Click this button to open a &lt;em&gt;new file&lt;/em&gt;.&lt;br&gt;"
+ "You can also select the &lt;b&gt;Open&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileOpen, fileOpenText );
+</pre>
+<p> With the above line we add the "What's This?" help-text to the
+<em>fileOpen</em> button...
+<p> <pre> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen", openIcon );
+</pre>
+<p> ... and tell the rich-text engine that when a help-text (like the one
+saved in <em>fileOpenText</em>) requests an image named "fileopen", the <em>openIcon</em> pixmap is used.
+<p> <pre> const char * fileSaveText = "&lt;p&gt;Click this button to save the file you "
+ "are editing. You will be prompted for a file name.\n"
+ "You can also select the &lt;b&gt;Save&lt;/b&gt; command "
+ "from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileSave, fileSaveText );
+ const char * filePrintText = "Click this button to print the file you "
+ "are editing.\n"
+ "You can also select the Print command "
+ "from the File menu.";
+
+ QWhatsThis::<a href="qwhatsthis.html#add">add</a>( filePrint, filePrintText );
+</pre>
+<p> The "What's This?" help of the remaining two buttons doesn't make use
+of pixmaps, therefore all we need to do is to add the help-text to the
+button. Be careful though: To invoke the rich-text elements in <tt>fileSaveText()</tt>, the entire string must be surrounded by &lt;p&gt; and
+&lt;/p&gt;. In <tt>filePrintText()</tt>, we don't have rich-text elements, so
+this is not necessary.
+<p> <pre> <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", file );
+</pre>
+<p> Next we create a <a href="qpopupmenu.html">QPopupMenu</a> for the <em>File</em> menu and
+add it to the menu bar. With the ampersand in front of the letter F,
+we allow the user to use the shortcut <em>Alt+F</em> to pop up this menu.
+<p> <pre> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New", this, SLOT(newDoc()), CTRL+Key_N );
+</pre>
+<p> Its first entry is connected to the (yet to be implemented) slot <tt>newDoc()</tt>. When the user chooses this <em>New</em> entry (e.g. by typing the
+letter N as marked by the ampersand) or uses the
+<em>Ctrl+N</em> accelerator, a new editor-window will pop up.
+<p> <pre> int id;
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( openIcon, "&amp;Open...",
+ this, SLOT(choose()), CTRL+Key_O );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileOpenText );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( saveIcon, "&amp;Save",
+ this, SLOT(save()), CTRL+Key_S );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+
+ id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Save &amp;As...", this, SLOT(saveAs()) );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, fileSaveText );
+</pre>
+<p> We populate the <em>File</em> menu with three more commands (<em>Open</em>, <em>Save</em> and
+<em>Save As</em>), and set "What's This?" help for them. Note in particular
+that "What's This?" help and pixmaps are used in both the toolbar (above)
+and the menu bar (here). (See <a href="qaction.html">QAction</a> and the <tt>examples/action</tt>
+example for a shorter and easier approach.)
+<p> <pre> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+</pre>
+<p> Then we insert a separator, ...
+<p> <pre> id = file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( printIcon, "&amp;Print...",
+ this, SLOT(print()), CTRL+Key_P );
+ file-&gt;<a href="qmenudata.html#setWhatsThis">setWhatsThis</a>( id, filePrintText );
+
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(<a href="qwidget.html#close">close</a>()), CTRL+Key_W );
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit", qApp, SLOT( <a href="qapplication.html#closeAllWindows">closeAllWindows</a>() ), CTRL+Key_Q );
+</pre>
+<p> ... the <em>Print</em> command with "What's This?" help, another separator and
+two more commands (<em>Close</em> and <em>Quit</em>) without "What's This?" and pixmaps.
+In case of the <em>Close</em> command, the signal is connected
+to the <em>close()</em> slot of the respective <em>ApplicationWindow</em> object whilst
+the <em>Quit</em> command affects the entire application.
+<p> Because <em>ApplicationWindow</em> is a <a href="qwidget.html">QWidget</a>, the <em>close()</em> function
+triggers a call to <a href="#closeEvent">closeEvent()</a> which we
+will implement later.
+<p> <a name="common_constructor"></a>
+<pre> <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+</pre>
+<p> Now that we have done the File menu we shift our focus back to the
+menu bar and insert a separator. From now on further menu bar entries
+will be aligned to the right if the windows system style requires it.
+<p> <pre> <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1 );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()) );
+ help-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "What's &amp;This", this, SLOT(<a href="qmainwindow.html#whatsThis">whatsThis</a>()), SHIFT+Key_F1 );
+</pre>
+<p> We create a <em>Help</em> menu, add it to the menu bar, and insert a few
+commands. Depending on the style it will appear on the right hand
+side of the menu bar or not.
+<p> <pre> e = new <a href="qtextedit.html">QTextEdit</a>( this, "editor" );
+ e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( e );
+</pre>
+<p> Now we create a simple text-editor, set the initial focus to it,
+and make it the window's central widget.
+<p> <a href="qmainwindow.html#centralWidget">QMainWindow::centralWidget</a>() is the heart of the entire application:
+It's what menu bar, statusbar and toolbars are all arranged around. Since
+the central widget is a text editing widget, we can now reveal that
+our simple application is a text editor. :)
+<p> <pre> <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+</pre>
+<p> We make the statusbar say "Ready" for two seconds at startup, just to
+tell the user that the window has finished initialization and can be
+used.
+<p> <pre> <a href="qwidget.html#resize">resize</a>( 450, 600 );
+</pre>
+<p> Finally it's time to resize the new window to a a nice default size.
+<p> <pre> }
+</pre>
+<p> We have now finished with the constructor. Now we'll deal with the
+destructor.
+<p> <pre> ApplicationWindow::~ApplicationWindow()
+ {
+ delete printer;
+ }
+</pre>
+<p> The only thing an <em>ApplicationWindow</em> widget needs to do in its
+destructor is to delete the printer it created. All other objects are
+child widgets, which Qt will delete when appropriate.
+<p> Now our task is to implement all the slots mentioned in the header file
+and used in the constructor.
+<p> <a name="newDoc()"></a>
+<pre> void ApplicationWindow::newDoc()
+ {
+ ApplicationWindow *ed = new ApplicationWindow;
+ ed-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Application");
+ ed-&gt;<a href="qwidget.html#show">show</a>();
+ }
+</pre>
+<p> This slot, connected to the <em>File|New</em> menu item, simply creates a
+new <em>ApplicationWindow</em> and shows it.
+<p> <a name="choose()"></a>
+<pre> void ApplicationWindow::choose()
+ {
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( QString::null, QString::null,
+ this);
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( fn );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loading aborted", 2000 );
+ }
+</pre>
+<p> The <em>choose()</em> slot is connected to the <em>Open</em> menu item and
+tool button. With a little help from <a href="qfiledialog.html#getOpenFileName">QFileDialog::getOpenFileName</a>(), it
+asks the user for a file name and then either loads that file or gives an
+error message in the statusbar.
+<p> <pre> void ApplicationWindow::load( const <a href="qstring.html">QString</a> &amp;fileName )
+ {
+ <a href="qfile.html">QFile</a> f( fileName );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) )
+ return;
+
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;f );
+ e-&gt;<a href="qtextedit.html#setText">setText</a>( ts.<a href="qtextstream.html#read">read</a>() );
+ e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+ <a href="qwidget.html#setCaption">setCaption</a>( fileName );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Loaded document " + fileName, 2000 );
+ }
+</pre>
+<p> This function loads a file into the editor. When it's done, it sets the
+window system caption to the file name and displays a success message in
+the statusbar for two seconds. With files that exist but are not
+readable, nothing happens.
+<p> <a name="save()"></a>
+<pre> void ApplicationWindow::save()
+ {
+ if ( filename.isEmpty() ) {
+ saveAs();
+ return;
+ }
+
+ <a href="qstring.html">QString</a> text = e-&gt;<a href="qtextedit.html#text">text</a>();
+ <a href="qfile.html">QFile</a> f( filename );
+ if ( !f.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString("Could not write to %1").arg(filename),
+ 2000 );
+ return;
+ }
+
+ <a href="qtextstream.html">QTextStream</a> t( &amp;f );
+ t &lt;&lt; text;
+ f.<a href="qfile.html#close">close</a>();
+</pre>
+<p> As its name suggests, this function saves the current file. If no
+filename has been specified so far, the <a href="#saveAs()">saveAs()</a> function is called. Unwritable files cause the <em>ApplicationWindow</em> object to provide an error-message in the statusbar.
+Note that there is more than one way to do this:
+compare the above <tt>statusBar()-&gt;message()</tt> line with the equivalent
+code in the <tt>load()</tt> function.
+<p> <pre> e-&gt;<a href="qtextedit.html#setModified">setModified</a>( FALSE );
+</pre>
+<p> Tell the editor that the contents haven't been edited since the last
+save. When the user does some further editing and wishes to close the
+window without explicit saving, <a href="#closeEvent">ApplicationWindow::closeEvent()</a> will ask about it.
+<p> <pre> <a href="qwidget.html#setCaption">setCaption</a>( filename );
+</pre>
+<p> It may be that the document was saved under a different name than the
+old caption suggests, so we set the window caption just to be sure.
+<p> <pre> <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "File %1 saved" ).arg( filename ), 2000 );
+ }
+</pre>
+<p> With a message in the statusbar, we inform the user that the file
+was saved successfully.
+<p> <a name="saveAs()"></a>
+<pre> void ApplicationWindow::saveAs()
+ {
+ <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>( QString::null, QString::null,
+ this );
+ if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ filename = fn;
+ save();
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving aborted", 2000 );
+ }
+ }
+</pre>
+<p> This function asks for a new name, saves the document under that name,
+and implicitly changes the window system caption to the new name.
+<p> <a name="printer"></a>
+<p> <pre> void ApplicationWindow::print()
+ {
+ printer-&gt;<a href="qprinter.html#setFullPage">setFullPage</a>( TRUE );
+ if ( printer-&gt;<a href="qprinter.html#setup">setup</a>(this) ) { // printer dialog
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing..." );
+ <a href="qpainter.html">QPainter</a> p;
+ if( !p.<a href="qpainter.html#begin">begin</a>( printer ) ) { // paint on printer
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ return;
+ }
+
+ <a href="qpaintdevicemetrics.html">QPaintDeviceMetrics</a> metrics( p.<a href="qpainter.html#device">device</a>() );
+ int dpiy = metrics.<a href="qpaintdevicemetrics.html#logicalDpiY">logicalDpiY</a>();
+ int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins
+ <a href="qrect.html">QRect</a> view( margin, margin, metrics.<a href="qpaintdevicemetrics.html#width">width</a>() - 2*margin, metrics.<a href="qpaintdevicemetrics.html#height">height</a>() - 2*margin );
+ <a href="qsimplerichtext.html">QSimpleRichText</a> richText( QStyleSheet::<a href="qstylesheet.html#convertFromPlainText">convertFromPlainText</a>(e-&gt;<a href="qtextedit.html#text">text</a>()),
+ QFont(),
+ e-&gt;<a href="qtextedit.html#context">context</a>(),
+ e-&gt;<a href="qtextedit.html#styleSheet">styleSheet</a>(),
+ e-&gt;<a href="qtextedit.html#mimeSourceFactory">mimeSourceFactory</a>(),
+ view.<a href="qrect.html#height">height</a>() );
+ richText.<a href="qsimplerichtext.html#setWidth">setWidth</a>( &amp;p, view.<a href="qrect.html#width">width</a>() );
+ int page = 1;
+ do {
+ richText.<a href="qsimplerichtext.html#draw">draw</a>( &amp;p, margin, margin, view, colorGroup() );
+ view.<a href="qrect.html#moveBy">moveBy</a>( 0, view.<a href="qrect.html#height">height</a>() );
+ p.<a href="qpainter.html#translate">translate</a>( 0 , -view.<a href="qrect.html#height">height</a>() );
+ p.<a href="qpainter.html#drawText">drawText</a>( view.<a href="qrect.html#right">right</a>() - p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().width( QString::<a href="qstring.html#number">number</a>( page ) ),
+ view.<a href="qrect.html#bottom">bottom</a>() + p.<a href="qpainter.html#fontMetrics">fontMetrics</a>().ascent() + 5, QString::number( page ) );
+ if ( view.<a href="qrect.html#top">top</a>() - margin &gt;= richText.<a href="qsimplerichtext.html#height">height</a>() )
+ break;
+ printer-&gt;<a href="qprinter.html#newPage">newPage</a>();
+ page++;
+ } while (TRUE);
+
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing completed", 2000 );
+ } else {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Printing aborted", 2000 );
+ }
+ }
+</pre>
+<p> <em>print()</em> is called by the <em>File|Print</em> menu item and the <em>filePrint</em>
+tool button.
+<p> We present the user with the print setup dialog, and abandon printing
+if they cancel.
+<p> We create a <a href="qsimplerichtext.html">QSimpleRichText</a> object and give it the text. This object
+is able to format the text nicely as one long page. We achieve
+pagination by printing one paper page's worth of text from the
+QSimpleRichText page at a time.
+<p> Now let's see what happens when a user wishes to <em>close()</em>
+an <em>ApplicationWindow</em>.
+<p> <a name="closeEvent"></a>
+<pre> void ApplicationWindow::<a href="qwidget.html#closeEvent">closeEvent</a>( <a href="qcloseevent.html">QCloseEvent</a>* ce )
+ {
+</pre>
+<p> This event gets to process window system close events. A close event is
+subtly different from a hide event: hide often means "iconify" whereas
+close means that the window is going away for good.
+<p> <pre> if ( !e-&gt;<a href="qtextedit.html#isModified">isModified</a>() ) {
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ return;
+ }
+</pre>
+<p> If the text hasn't been edited, we just accept the event. The window
+will be closed, and because we used the <em>WDestructiveClose</em> <a href="qt.html#WidgetFlags">widget flag</a> in the <a href="#ApplicationWindow"><i>ApplicationWindow()</i> constructor</a>,
+the widget will be deleted.
+<p> <pre> switch( QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Qt Application Example",
+ "Do you want to save the changes"
+ " to the document?",
+ "Yes", "No", "Cancel",
+ 0, 1 ) ) {
+</pre>
+<p> Otherwise we ask the user: What do you want to do?
+<p> <pre> case 0:
+ save();
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+</pre>
+<p> If they want to save and then exit, we do that.
+<p> <pre> case 1:
+ ce-&gt;<a href="qcloseevent.html#accept">accept</a>();
+ break;
+</pre>
+<p> If the user doesn't want to exit, we ignore the close event (there is
+a chance that we can't block it but we try).
+<p> <pre> case 2:
+ default: // just for sanity
+ ce-&gt;<a href="qcloseevent.html#ignore">ignore</a>();
+ break;
+</pre>
+<p> The last case -- the user wants to abandon the edits and exit -- is very
+simple.
+<p> <pre> }
+ }
+</pre>
+<p> Last but not least we implement the slots used by the help menu entries.
+<p> <pre> void ApplicationWindow::about()
+ {
+ QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Application Example",
+ "This example demonstrates simple use of "
+ "QMainWindow,\nQMenuBar and QToolBar.");
+ }
+
+ void ApplicationWindow::aboutQt()
+ {
+ QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Application Example" );
+ }
+</pre>
+<p> These two slots use ready-made "about" functions to provide some
+information about this program and the GUI toolkit it uses. (Although you
+don't need to provide an About Qt in your programs, if you use Qt for free
+we would appreciate it if you tell people what you're using.)
+<p> That was all we needed to write a complete, almost useful application with
+nice help-functions, almost as good as the "editors" some computer vendors
+ship with their desktops, and in less than 300 lines of code!
+<p> <p>See also <a href="step-by-step-examples.html">Step-by-step Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/simple-font-demo-example.html b/doc/html/simple-font-demo-example.html
new file mode 100644
index 0000000..3d15ce6
--- /dev/null
+++ b/doc/html/simple-font-demo-example.html
@@ -0,0 +1,273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/fonts/simple-qfont-demo/simple-qfont-demo.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A simple demonstration of QFont member functions</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A simple demonstration of QFont member functions</h1>
+
+
+<p>
+<p> This example demonstrates the use of various
+<a href="qfont.html">QFont</a> member functions.
+<p> <hr>
+<p> The main window API (viewer.h):
+<p> <pre>/* $Id: qt/viewer.h 3.3.8 edited May 27 2003 $ */
+
+#ifndef VIEWER_H
+#define VIEWER_H
+
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+class QTextView;
+class QPushButton;
+
+class Viewer : public <a href="qwidget.html">QWidget</a>
+{
+<a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Viewer();
+
+private slots:
+ void setDefault();
+ void setSansSerif();
+ void setItalics();
+
+private:
+ void setFontSubstitutions();
+ void layout();
+ void showFontInfo( <a href="qfont.html">QFont</a> &amp; );
+
+ <a href="qtextview.html">QTextView</a> * greetings;
+ <a href="qtextview.html">QTextView</a> * fontInfo;
+
+ <a href="qpushbutton.html">QPushButton</a> * defaultButton;
+ <a href="qpushbutton.html">QPushButton</a> * sansSerifButton;
+ <a href="qpushbutton.html">QPushButton</a> * italicsButton;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> The main window implementation (viewer.cpp):
+<p> <pre>/* $Id: qt/viewer.cpp 3.3.8 edited May 27 2003 $ */
+
+#include "viewer.h"
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qtextview-h.html">qtextview.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+<a name="f590"></a>Viewer::Viewer()
+ :<a href="qwidget.html">QWidget</a>()
+{
+ setFontSubstitutions();
+
+<a name="x2850"></a> <a href="qstring.html">QString</a> greeting_heb = QString::<a href="qstring.html#fromUtf8">fromUtf8</a>( "\327\251\327\234\327\225\327\235" );
+ <a href="qstring.html">QString</a> greeting_ru = QString::<a href="qstring.html#fromUtf8">fromUtf8</a>( "\320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265" );
+ <a href="qstring.html">QString</a> greeting_en( "Hello" );
+
+ greetings = new <a href="qtextview.html">QTextView</a>( this, "textview" );
+
+ greetings-&gt;<a href="qtextedit.html#setText">setText</a>( greeting_en + "\n" +
+ greeting_ru + "\n" +
+ greeting_heb );
+
+ fontInfo = new <a href="qtextview.html">QTextView</a>( this, "fontinfo" );
+
+ setDefault();
+
+ defaultButton = new <a href="qpushbutton.html">QPushButton</a>( "Default", this,
+ "pushbutton1" );
+<a name="x2860"></a> defaultButton-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "times" ) );
+ <a href="qobject.html#connect">connect</a>( defaultButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ),
+ this, SLOT( setDefault() ) );
+
+ sansSerifButton = new <a href="qpushbutton.html">QPushButton</a>( "Sans Serif", this,
+ "pushbutton2" );
+ sansSerifButton-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Helvetica", 12 ) );
+ <a href="qobject.html#connect">connect</a>( sansSerifButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ),
+ this, SLOT( setSansSerif() ) );
+
+ italicsButton = new <a href="qpushbutton.html">QPushButton</a>( "Italics", this,
+ "pushbutton3" );
+ italicsButton-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "lucida", 12, QFont::Bold, TRUE ) );
+ <a href="qobject.html#connect">connect</a>( italicsButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ),
+ this, SLOT( setItalics() ) );
+
+ <a href="qwidget.html#layout">layout</a>();
+}
+
+void <a name="f591"></a>Viewer::setDefault()
+{
+ <a href="qfont.html">QFont</a> font( "Bavaria" );
+<a name="x2843"></a> font.<a href="qfont.html#setPointSize">setPointSize</a>( 24 );
+
+<a name="x2846"></a> font.<a href="qfont.html#setWeight">setWeight</a>( QFont::Bold );
+<a name="x2845"></a> font.<a href="qfont.html#setUnderline">setUnderline</a>( TRUE );
+
+ greetings-&gt;<a href="qwidget.html#setFont">setFont</a>( font );
+
+ showFontInfo( font );
+}
+
+void <a name="f592"></a>Viewer::setSansSerif()
+{
+ <a href="qfont.html">QFont</a> font( "Newyork", 18 );
+<a name="x2844"></a> font.<a href="qfont.html#setStyleHint">setStyleHint</a>( QFont::SansSerif );
+ greetings-&gt;<a href="qwidget.html#setFont">setFont</a>( font );
+
+ showFontInfo( font );
+}
+
+void <a name="f593"></a>Viewer::setItalics()
+{
+ <a href="qfont.html">QFont</a> font( "Tokyo" );
+ font.<a href="qfont.html#setPointSize">setPointSize</a>( 32 );
+ font.<a href="qfont.html#setWeight">setWeight</a>( QFont::Bold );
+<a name="x2842"></a> font.<a href="qfont.html#setItalic">setItalic</a>( TRUE );
+
+ greetings-&gt;<a href="qwidget.html#setFont">setFont</a>( font );
+
+ showFontInfo( font );
+}
+
+void <a name="f594"></a>Viewer::showFontInfo( <a href="qfont.html">QFont</a> &amp; font )
+{
+ <a href="qfontinfo.html">QFontInfo</a> info( font );
+
+ <a href="qstring.html">QString</a> messageText;
+ messageText = "Font requested: \"" +
+<a name="x2838"></a> font.<a href="qfont.html#family">family</a>() + "\" " +
+<a name="x2851"></a><a name="x2841"></a> QString::<a href="qstring.html#number">number</a>( font.<a href="qfont.html#pointSize">pointSize</a>() ) + "pt&lt;BR&gt;" +
+ "Font used: \"" +
+<a name="x2848"></a> info.<a href="qfontinfo.html#family">family</a>() + "\" " +
+<a name="x2849"></a> QString::<a href="qstring.html#number">number</a>( info.<a href="qfontinfo.html#pointSize">pointSize</a>() ) + "pt&lt;P&gt;";
+
+<a name="x2847"></a> <a href="qstringlist.html">QStringList</a> substitutions = QFont::<a href="qfont.html#substitutes">substitutes</a>( font.<a href="qfont.html#family">family</a>() );
+
+<a name="x2856"></a> if ( ! substitutions.<a href="qvaluelist.html#isEmpty">isEmpty</a>() ){
+ messageText += "The following substitutions exist for " + \
+ font.<a href="qfont.html#family">family</a>() + ":&lt;UL&gt;";
+
+ QStringList::Iterator i = substitutions.<a href="qvaluelist.html#begin">begin</a>();
+ while ( i != substitutions.<a href="qvaluelist.html#end">end</a>() ){
+ messageText += "&lt;LI&gt;\"" + (* i) + "\"";
+ i++;
+ }
+ messageText += "&lt;/UL&gt;";
+ } else {
+ messageText += "No substitutions exist for " + \
+ font.<a href="qfont.html#family">family</a>() + ".";
+ }
+
+ fontInfo-&gt;<a href="qtextedit.html#setText">setText</a>( messageText );
+}
+
+void <a name="f595"></a>Viewer::setFontSubstitutions()
+{
+ <a href="qstringlist.html">QStringList</a> substitutes;
+<a name="x2853"></a> substitutes.<a href="qvaluelist.html#append">append</a>( "Times" );
+ substitutes += "Mincho",
+ substitutes &lt;&lt; "Arabic Newspaper" &lt;&lt; "crox";
+
+<a name="x2840"></a> QFont::<a href="qfont.html#insertSubstitutions">insertSubstitutions</a>( "Bavaria", substitutes );
+
+<a name="x2839"></a> QFont::<a href="qfont.html#insertSubstitution">insertSubstitution</a>( "Tokyo", "Lucida" );
+}
+
+
+// For those who prefer to use Qt Designer for creating GUIs
+// the following function might not be of particular interest:
+// all it does is creating the widget layout.
+
+<a name="x2858"></a>void Viewer::<a href="qwidget.html#layout">layout</a>()
+{
+ <a href="qhboxlayout.html">QHBoxLayout</a> * textViewContainer = new <a href="qhboxlayout.html">QHBoxLayout</a>();
+ textViewContainer-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( greetings );
+ textViewContainer-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fontInfo );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> * buttonContainer = new <a href="qhboxlayout.html">QHBoxLayout</a>();
+
+ buttonContainer-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( defaultButton );
+ buttonContainer-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( sansSerifButton );
+ buttonContainer-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( italicsButton );
+
+<a name="x2857"></a> int maxButtonHeight = defaultButton-&gt;<a href="qwidget.html#height">height</a>();
+
+ if ( sansSerifButton-&gt;<a href="qwidget.html#height">height</a>() &gt; maxButtonHeight )
+ maxButtonHeight = sansSerifButton-&gt;<a href="qwidget.html#height">height</a>();
+ if ( italicsButton-&gt;<a href="qwidget.html#height">height</a>() &gt; maxButtonHeight )
+ maxButtonHeight = italicsButton-&gt;<a href="qwidget.html#height">height</a>();
+
+<a name="x2859"></a> defaultButton-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( maxButtonHeight );
+ sansSerifButton-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( maxButtonHeight );
+ italicsButton-&gt;<a href="qwidget.html#setFixedHeight">setFixedHeight</a>( maxButtonHeight );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> * container = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+<a name="x2835"></a> container-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( textViewContainer );
+ container-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( buttonContainer );
+
+ <a href="qwidget.html#resize">resize</a>( 700, 250 );
+}
+</pre>
+
+<p> <hr>
+<p> main() program (simple-qfont-demo.cpp):
+<p> <pre>/* $Id: qt/simple-qfont-demo.cpp 3.3.8 edited May 27 2003 $ */
+
+#include "viewer.h"
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ Viewer * textViewer = new Viewer();
+ textViewer-&gt;<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Simple QFont Demo" );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( textViewer );
+ textViewer-&gt;<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="qfont-examples.html">QFont Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/simple_dd-example.html b/doc/html/simple_dd-example.html
new file mode 100644
index 0000000..8184c76
--- /dev/null
+++ b/doc/html/simple_dd-example.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/iconview/simple_dd/simple_dd.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Drag and Drop (Simple)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Drag and Drop (Simple)</h1>
+
+
+<p>
+This provides a very simple example of Qt's drag and drop
+functionality.
+<p> For a more complete example see the <a href="dragdrop-example.html">Drag and Drop example</a>.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcursor-h.html">qcursor.h</a>&gt;
+#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qiconview-h.html">qiconview.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+class QDragEnterEvent;
+class QDragDropEvent;
+
+
+class DDListBox : public <a href="qlistbox.html">QListBox</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ DDListBox( <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, WFlags f = 0 );
+ // Low-level drag and drop
+ void dragEnterEvent( <a href="qdragenterevent.html">QDragEnterEvent</a> *evt );
+ void dropEvent( <a href="qdropevent.html">QDropEvent</a> *evt );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *evt );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+private:
+ int dragging;
+};
+
+
+class DDIconViewItem : public <a href="qiconviewitem.html">QIconViewItem</a>
+{
+public:
+ DDIconViewItem( <a href="qiconview.html">QIconView</a> *parent, const <a href="qstring.html">QString</a>&amp; text, const <a href="qpixmap.html">QPixmap</a>&amp; icon ) :
+ <a href="qiconviewitem.html">QIconViewItem</a>( parent, text, icon ) {}
+ DDIconViewItem( <a href="qiconview.html">QIconView</a> *parent, const <a href="qstring.html">QString</a> &amp;text ) :
+ <a href="qiconviewitem.html">QIconViewItem</a>( parent, text ) {}
+ // High-level drag and drop
+ bool acceptDrop( const <a href="qmimesource.html">QMimeSource</a> *mime ) const;
+ void dropped( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; );
+};
+
+
+class DDIconView : public <a href="qiconview.html">QIconView</a>
+{
+ Q_OBJECT
+public:
+ DDIconView( <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, WFlags f = 0 ) :
+ <a href="qiconview.html">QIconView</a>( parent, name, f ) {}
+ // High-level drag and drop
+ <a href="qdragobject.html">QDragObject</a> *dragObject();
+public slots:
+ void slotNewItem( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; list );
+};
+
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+const char* red_icon[]={
+"16 16 2 1",
+"r c red",
+". c None",
+"................",
+"................",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrr......rrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"..rrrrrrrrrrrr..",
+"................",
+"................"};
+
+const char* blue_icon[]={
+"16 16 2 1",
+"b c blue",
+". c None",
+"................",
+"................",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbb......bbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"..bbbbbbbbbbbb..",
+"................",
+"................"};
+
+const char* green_icon[]={
+"16 16 2 1",
+"g c green",
+". c None",
+"................",
+"................",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..ggg......ggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"..gggggggggggg..",
+"................",
+"................"};
+
+
+// ListBox -- low level drag and drop
+
+<a name="f589"></a>DDListBox::DDListBox( <a href="qwidget.html">QWidget</a> * parent, const char * name, WFlags f ) :
+ <a href="qlistbox.html">QListBox</a>( parent, name, f )
+{
+ <a href="qwidget.html#setAcceptDrops">setAcceptDrops</a>( TRUE );
+ dragging = FALSE;
+}
+
+
+<a name="x2829"></a>void DDListBox::<a href="qwidget.html#dragEnterEvent">dragEnterEvent</a>( <a href="qdragenterevent.html">QDragEnterEvent</a> *evt )
+{
+<a name="x2827"></a> if ( QTextDrag::<a href="qtextdrag.html#canDecode">canDecode</a>( evt ) )
+<a name="x2819"></a> evt-&gt;<a href="qdragmoveevent.html#accept">accept</a>();
+}
+
+
+<a name="x2830"></a>void DDListBox::<a href="qwidget.html#dropEvent">dropEvent</a>( <a href="qdropevent.html">QDropEvent</a> *evt )
+{
+ <a href="qstring.html">QString</a> text;
+
+<a name="x2828"></a> if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, text ) )
+ <a href="qlistbox.html#insertItem">insertItem</a>( text );
+}
+
+
+<a name="x2832"></a>void DDListBox::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *evt )
+{
+ QListBox::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( evt );
+ dragging = TRUE;
+}
+
+
+<a name="x2831"></a>void DDListBox::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * )
+{
+ if ( dragging ) {
+ <a href="qdragobject.html">QDragObject</a> *d = new <a href="qtextdrag.html">QTextDrag</a>( currentText(), this );
+<a name="x2818"></a> d-&gt;<a href="qdragobject.html#dragCopy">dragCopy</a>(); // do NOT delete d.
+ dragging = FALSE;
+ }
+}
+
+
+// IconViewIcon -- high level drag and drop
+
+
+<a name="x2822"></a>bool DDIconViewItem::<a href="qiconviewitem.html#acceptDrop">acceptDrop</a>( const <a href="qmimesource.html">QMimeSource</a> *mime ) const
+{
+<a name="x2825"></a> if ( mime-&gt;<a href="qmimesource.html#provides">provides</a>( "text/plain" ) )
+ return TRUE;
+ return FALSE;
+}
+
+
+<a name="x2823"></a>void DDIconViewItem::<a href="qiconviewitem.html#dropped">dropped</a>( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; )
+{
+ <a href="qstring.html">QString</a> label;
+
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, label ) )
+ setText( label );
+}
+
+
+// IconView -- high level drag and drop
+
+<a name="x2820"></a>QDragObject *DDIconView::<a href="qiconview.html#dragObject">dragObject</a>()
+{
+ return new <a href="qtextdrag.html">QTextDrag</a>( <a href="qiconview.html#currentItem">currentItem</a>()-&gt;text(), this );
+}
+
+void <a name="f588"></a>DDIconView::slotNewItem( <a href="qdropevent.html">QDropEvent</a> *evt, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp; )
+{
+ <a href="qstring.html">QString</a> label;
+
+ if ( QTextDrag::<a href="qtextdrag.html#decode">decode</a>( evt, label ) ) {
+ DDIconViewItem *item = new DDIconViewItem( this, label );
+<a name="x2824"></a> item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ }
+}
+
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ // Create and show the widgets
+ <a href="qsplitter.html">QSplitter</a> *split = new <a href="qsplitter.html">QSplitter</a>();
+ DDIconView *iv = new DDIconView( split );
+ (void) new DDListBox( split );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( split );
+ split-&gt;<a href="qwidget.html#resize">resize</a>( 600, 400 );
+ split-&gt;<a href="qwidget.html#show">show</a>();
+
+ // Set up the connection so that we can drop items into the icon view
+ QObject::<a href="qobject.html#connect">connect</a>(
+<a name="x2821"></a> iv, SIGNAL(<a href="qiconview.html#dropped">dropped</a>(QDropEvent*, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp;)),
+ iv, SLOT(slotNewItem(QDropEvent*, const <a href="qvaluelist.html">QValueList</a>&lt;QIconDragItem&gt;&amp;)));
+
+ // Populate the QIconView with icons
+ DDIconViewItem *item;
+ item = new DDIconViewItem( iv, "Red", QPixmap( red_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ item = new DDIconViewItem( iv, "Green", QPixmap( green_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+ item = new DDIconViewItem( iv, "Blue", QPixmap( blue_icon ) );
+ item-&gt;<a href="qiconviewitem.html#setRenameEnabled">setRenameEnabled</a>( TRUE );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+
+</pre>
+
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/small-table-example-example.html b/doc/html/small-table-example-example.html
new file mode 100644
index 0000000..997562a
--- /dev/null
+++ b/doc/html/small-table-example-example.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/table/small-table-demo/small-table-demo.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Small Table Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Small Table Example</h1>
+
+
+<p>
+This example displays a <a href="qtable.html">QTable</a> and some <a href="qtableitem.html">QTableItem</a>s.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+
+// Qt logo: static const char *qtlogo_xpm[]
+#include "qtlogo.xpm"
+
+// Table size
+
+const int numRows = 30;
+const int numCols = 10;
+
+// The program starts here.
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qtable.html">QTable</a> table( numRows, numCols );
+
+<a name="x2800"></a> <a href="qheader.html">QHeader</a> *header = table.<a href="qtable.html#horizontalHeader">horizontalHeader</a>();
+<a name="x2798"></a> header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 0, QObject::tr( "Tiny" ), 40 );
+ header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 1, QObject::tr( "Checkboxes" ) );
+ header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 5, QObject::tr( "Combos" ) );
+<a name="x2802"></a> table.<a href="qtable.html#setColumnMovingEnabled">setColumnMovingEnabled</a>(TRUE);
+
+ <a href="qimage.html">QImage</a> img( qtlogo_xpm );
+<a name="x2801"></a><a name="x2799"></a> <a href="qpixmap.html">QPixmap</a> pix = img.<a href="qimage.html#scaleHeight">scaleHeight</a>( table.<a href="qtable.html#rowHeight">rowHeight</a>(3) );
+<a name="x2804"></a> table.<a href="qtable.html#setPixmap">setPixmap</a>( 3, 2, pix );
+<a name="x2805"></a> table.<a href="qtable.html#setText">setText</a>( 3, 2, "A Pixmap" );
+
+ <a href="qstringlist.html">QStringList</a> comboEntries;
+ comboEntries &lt;&lt; "one" &lt;&lt; "two" &lt;&lt; "three" &lt;&lt; "four";
+
+ for ( int i = 0; i &lt; numRows; ++i ){
+ <a href="qcombotableitem.html">QComboTableItem</a> * item = new <a href="qcombotableitem.html">QComboTableItem</a>( &amp;table, comboEntries, FALSE );
+<a name="x2797"></a> item-&gt;<a href="qcombotableitem.html#setCurrentItem">setCurrentItem</a>( i % 4 );
+<a name="x2803"></a> table.<a href="qtable.html#setItem">setItem</a>( i, 5, item );
+ }
+ for ( int j = 0; j &lt; numRows; ++j )
+ table.<a href="qtable.html#setItem">setItem</a>( j, 1, new <a href="qchecktableitem.html">QCheckTableItem</a>( &amp;table, "Check me" ) );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;table );
+ table.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="table-examples.html">Table Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/smooth.png b/doc/html/smooth.png
new file mode 100644
index 0000000..192da2b
--- /dev/null
+++ b/doc/html/smooth.png
Binary files differ
diff --git a/doc/html/sound-example.html b/doc/html/sound-example.html
new file mode 100644
index 0000000..4853e05
--- /dev/null
+++ b/doc/html/sound-example.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/sound/sound.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Sound Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Sound Example</h1>
+
+
+<p>
+This example shows how easy it is to play sounds, e.g. .WAV files,
+if your machine is set up to play audio.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/sound.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+#ifndef PLAY_H
+#define PLAY_H
+
+#include "qsound.h"
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+
+class SoundPlayer : public <a href="qmainwindow.html">QMainWindow</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ SoundPlayer();
+
+public slots:
+ void doPlay1();
+ void doPlay2();
+ void doPlay3();
+ void doPlay4();
+ void doPlay34();
+ void doPlay1234();
+
+private:
+ <a href="qsound.html">QSound</a> bucket3;
+ <a href="qsound.html">QSound</a> bucket4;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/sound.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+//
+// Very simple example of QSound::play(filename)
+//
+// 99% of this program is just boilerplate Qt code to put up a nice
+// window so you think something special is happening.
+//
+
+#include "sound.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+
+<a name="f581"></a>SoundPlayer::SoundPlayer() :
+ <a href="qmainwindow.html">QMainWindow</a>(),
+ bucket3("sounds/3.wav"),
+ bucket4("sounds/4.wav")
+{
+ if (!QSound::isAvailable()) {
+ // Bail out. Programs in which sound is not critical
+ // could just silently (hehe) ignore the lack of a server.
+ //
+<a name="x2812"></a> QMessageBox::<a href="qmessagebox.html#warning">warning</a>(this,"No Sound",
+ "&lt;p&gt;&lt;b&gt;Sorry, you are not running the Network Audio System.&lt;/b&gt;"
+ "&lt;p&gt;If you have the `au' command, run it in the background before this program. "
+ "The latest release of the Network Audio System can be obtained from:"
+ "&lt;pre&gt;\n"
+ " &amp;nbsp;\n"
+ " ftp.ncd.com:/pub/ncd/technology/src/nas\n"
+ " ftp.x.org:/contrib/audio/nas\n"
+ "&lt;/pre&gt;"
+ "&lt;p&gt;Release 1.2 of NAS is also included with the X11R6"
+ "contrib distribution."
+ "&lt;p&gt;After installing NAS, you will then need to reconfigure Qt with NAS sound support");
+ }
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>;
+<a name="x2810"></a> file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play &amp;1", this, SLOT(doPlay1()), CTRL+Key_1);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play &amp;2", this, SLOT(doPlay2()), CTRL+Key_2);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play from bucket &amp;3", this, SLOT(doPlay3()), CTRL+Key_3);
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play from bucket &amp;4", this, SLOT(doPlay4()), CTRL+Key_4);
+<a name="x2811"></a> file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play 3 and 4 together", this, SLOT(doPlay34()));
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("Play all together", this, SLOT(doPlay1234()));
+ file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("E&amp;xit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()));
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem("&amp;File", file);
+}
+
+void <a name="f582"></a>SoundPlayer::doPlay1()
+{
+<a name="x2813"></a> QSound::<a href="qsound.html#play">play</a>("sounds/1.wav");
+}
+
+void <a name="f583"></a>SoundPlayer::doPlay2()
+{
+ QSound::<a href="qsound.html#play">play</a>("sounds/2.wav");
+}
+
+void <a name="f584"></a>SoundPlayer::doPlay3()
+{
+ bucket3.play();
+}
+
+void <a name="f585"></a>SoundPlayer::doPlay4()
+{
+ bucket4.play();
+}
+
+void <a name="f586"></a>SoundPlayer::doPlay34()
+{
+ // Some sound platforms will only play one sound at a time
+ bucket3.play();
+ bucket4.play();
+}
+
+void <a name="f587"></a>SoundPlayer::doPlay1234()
+{
+ // Some sound platforms will only play one sound at a time
+ QSound::<a href="qsound.html#play">play</a>("sounds/1.wav");
+ QSound::<a href="qsound.html#play">play</a>("sounds/2.wav");
+ bucket3.play();
+ bucket4.play();
+}
+
+int main(int argc, char** argv)
+{
+ <a href="qapplication.html">QApplication</a> app(argc,argv);
+ SoundPlayer sp;
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>(&amp;sp);
+ sp.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Sounds");
+ sp.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+</pre>
+
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/splitter-example.html b/doc/html/splitter-example.html
new file mode 100644
index 0000000..f99bfe2
--- /dev/null
+++ b/doc/html/splitter-example.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/splitter/splitter.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Splitter</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Splitter</h1>
+
+
+<p>
+This example shows how to use splitters. With their help users can
+decide for themselves how much space each child item should get.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/splitter.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qsplitter-h.html">qsplitter.h</a>&gt;
+#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;
+
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+
+
+class Test : public <a href="qwidget.html">QWidget</a> {
+public:
+ Test(QWidget* parent=0, const char* name=0, int f=0);
+ void paintEvent(QPaintEvent* e);
+private:
+};
+
+
+
+<a name="f404"></a>Test::Test(QWidget* parent, const char* name, int f) :
+ <a href="qwidget.html">QWidget</a>(parent, name, f)
+{
+
+}
+
+<a name="x1302"></a>void Test::<a href="qwidget.html#paintEvent">paintEvent</a>(QPaintEvent* e)
+{
+ <a href="qpainter.html">QPainter</a> p(this);
+<a name="x1298"></a> p.<a href="qpainter.html#setClipRect">setClipRect</a>(e-&gt;rect());
+ const int d = 1000; //large number
+ int x1 = 0;
+ int x2 = <a href="qwidget.html#width">width</a>()-1;
+ int y1 = 0;
+ int y2 = <a href="qwidget.html#height">height</a>()-1;
+
+ int x = (x1+x2)/2;
+<a name="x1297"></a> p.<a href="qpainter.html#drawLine">drawLine</a>( x, y1, x+d, y1+d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x, y1, x-d, y1+d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x, y2, x+d, y2-d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x, y2, x-d, y2-d );
+
+ int y = (y1+y2)/2;
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x1, y, x1+d, y+d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x1, y, x1+d, y-d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x2, y, x2-d, y+d );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( x2, y, x2-d, y-d );
+}
+
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qsplitter.html">QSplitter</a> *s1 = new <a href="qsplitter.html">QSplitter</a>( QSplitter::Vertical, 0 , "main" );
+
+ <a href="qsplitter.html">QSplitter</a> *s2 = new <a href="qsplitter.html">QSplitter</a>( QSplitter::Horizontal, s1, "top" );
+
+ Test *t1 = new Test( s2, "topLeft" );
+<a name="x1303"></a> t1-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::blue.light( 180 ) );
+<a name="x1306"></a> t1-&gt;<a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 50, 0 );
+
+ Test *t2 = new Test( s2, "topRight" );
+ t2-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::green.light( 180 ) );
+<a name="x1301"></a> s2-&gt;<a href="qsplitter.html#setResizeMode">setResizeMode</a>( t2, QSplitter::KeepSize );
+<a name="x1299"></a> s2-&gt;<a href="qsplitter.html#moveToFirst">moveToFirst</a>( t2 );
+
+ <a href="qsplitter.html">QSplitter</a> *s3 = new <a href="qsplitter.html">QSplitter</a>( QSplitter::Horizontal, s1, "bottom" );
+
+ Test *t3 = new Test( s3, "bottomLeft" );
+ t3-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::red );
+ Test *t4 = new Test( s3, "bottomMiddle" );
+ t4-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::white );
+
+ Test *t5 = new Test( s3, "bottomRight" );
+<a name="x1305"></a> t5-&gt;<a href="qwidget.html#setMaximumHeight">setMaximumHeight</a>( 250 );
+ t5-&gt;<a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 80, 50 );
+ t5-&gt;<a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( Qt::yellow );
+
+#ifdef Q_WS_QWS
+ // Qt/Embedded XOR drawing not yet implemented.
+<a name="x1300"></a> s1-&gt;<a href="qsplitter.html#setOpaqueResize">setOpaqueResize</a>( TRUE );
+#endif
+ s2-&gt;<a href="qsplitter.html#setOpaqueResize">setOpaqueResize</a>( TRUE );
+ s3-&gt;<a href="qsplitter.html#setOpaqueResize">setOpaqueResize</a>( TRUE );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( s1 );
+ s1-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Splitters");
+ s1-&gt;<a href="qwidget.html#show">show</a>();
+ int result = a.<a href="qapplication.html#exec">exec</a>();
+ delete s1;
+ return result;
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/splitter-views-w.png b/doc/html/splitter-views-w.png
new file mode 100644
index 0000000..b7e09a5
--- /dev/null
+++ b/doc/html/splitter-views-w.png
Binary files differ
diff --git a/doc/html/sql-driver.html b/doc/html/sql-driver.html
new file mode 100644
index 0000000..88a740c
--- /dev/null
+++ b/doc/html/sql-driver.html
@@ -0,0 +1,635 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql-driver.doc:35 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>SQL Module - Drivers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>SQL Module - Drivers</h1>
+
+
+<p> <ul>
+<li> <a href="#Introduction">Introduction</a>
+<li> <a href="#building">Building the drivers using configure</a>
+<li> <a href="#buildingmanually">Building the plugins manually</a>
+<ul>
+<li> <a href="#QDB2">QDB2</a> - IBM DB2 Driver (v7.1 and higher)
+<li> <a href="#QIBASE">QIBASE</a> - Borland Interbase Driver
+<li> <a href="#QMYSQL3">QMYSQL3</a> - MySQL Driver
+<li> <a href="#QOCI8">QOCI8</a> - Oracle Call Interface Driver, version 8 and 9
+<li> <a href="#QODBC3">QODBC3</a> - Open Database Connectivity Driver
+<li> <a href="#QPSQL7">QPSQL7</a> - PostgreSQL v6.x and v7.x Driver
+<li> <a href="#QSQLITE">QSQLITE</a> - SQLite Driver
+<li> <a href="#QTDS7">QTDS7</a> - Sybase Adaptive Server
+</ul>
+<li> <a href="#troubleshooting">Troubleshooting</a>
+<li> <a href="#development">How to write your own database driver</a>
+</ul>
+<p> <a name="Introduction"></a>
+<h2> Introduction
+</h2>
+<a name="1"></a><p> The <a href="sql.html">SQL Module</a> uses driver <a href="plugins-howto.html">plugins</a> in order to communicate with
+different database APIs. Since the SQL Module API is
+database-independent, all database-specific code is contained within
+these drivers. Several drivers are supplied with Qt and other drivers
+can be added. The driver source code is supplied and can be used as a
+model for <a href="#development">writing your own drivers</a>.
+<p> <em>Note:</em> To build a driver plugin you need to have the appropriate
+client library for your Database Management System (DBMS). This provides
+access to the API exposed by the DBMS, and is typically shipped with it.
+Most installation programs also allow you to install "development
+libraries", and these are what you need. These libraries are responsible
+for the low-level communication with the DBMS.
+<p> The drivers shipped with Qt are:
+<ul>
+<li> <a href="#QDB2">QDB2</a> - IBM DB2 Driver (v7.1 and higher)
+<li> <a href="#QIBASE">QIBASE</a> - Borland Interbase Driver
+<li> <a href="#QMYSQL3">QMYSQL3</a> - MySQL Driver
+<li> <a href="#QOCI8">QOCI8</a> - Oracle Call Interface Driver, version 8, 9 and 10
+<li> <a href="#QODBC3">QODBC3</a> - Open Database Connectivity Driver
+<li> <a href="#QPSQL7">QPSQL7</a> - PostgreSQL v6.x and v7.x Driver
+<li> <a href="#QSQLITE">QSQLITE</a> - SQLite Driver
+<li> <a href="#QTDS7">QTDS7</a> - Sybase Adaptive Server
+</ul>
+<p> Note that not all of the plugins are shipped with the Qt Open Source Edition
+due to license incompatibilities with the GPL.
+<p> <a name="building"></a>
+<h2> Building the drivers using configure
+</h2>
+<a name="2"></a><p> The Qt configure script automatically detects the available client
+libraries on your machine. Run "configure -help" to see what drivers
+can be built. You should get an output similar to this:
+<p> <pre>
+Possible values for &lt;driver&gt;: [ mysql oci odbc psql tds ]
+Auto-Detected on this system: [ mysql psql ]
+</pre>
+
+<p> Note that on Windows, the configure script doesn't do any
+auto-detection.
+<p> The configure script cannot detect the neccessary libraries and include
+files if they are not in the standard paths, so it may be necessary to
+specify these paths using the "-I" and "-L" switches. For example, if
+your MySQL include files are installed in <tt>/usr/local/mysql</tt> (or in
+<tt>C:&#92;mysql&#92;include</tt>
+
+configure: <tt>-I/usr/local/mysql</tt> (or <tt>-I C:&#92;mysql&#92;include</tt>
+
+Windows).
+<p> On Windows the -I parameter doesn't accept spaces in
+filenames, so use the 8.3 name instead, i.e. use <tt>C:&#92;progra~1&#92;mysql</tt>
+instead of <tt>C:&#92;program files&#92;mysql</tt>.
+<p> Use the <tt>-qt-sql-&lt;driver&gt;</tt> parameter to build the database driver
+statically into your Qt library or <tt>-plugin-sql-&lt;driver&gt;</tt> to build
+the driver as a plugin. Look at the sections that follow for
+additional information about required libraries.
+<p> <a name="buildingmanually"></a>
+<h2> Building the plugins manually
+</h2>
+<a name="3"></a><p> <a name="QMYSQL3"></a>
+<h3> QMYSQL3 - MySQL 3.x and MySQL 4.x
+</h3>
+<a name="3-1"></a><p> <!-- index QMYSQL3 --><a name="QMYSQL3"></a>
+<p> <h4> General information
+</h4>
+<a name="3-1-1"></a><p> MySQL 3.x doesn't support SQL transactions by default. There are some
+backends which offer this functionality. Recent versions of the MySQL
+client libraries (>3.23.34) allow you to use transactions on those
+modified servers.
+<p> If you have a recent client library and connect to a
+transaction-enabled MySQL server, a call to the
+<a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>( QSqlDriver::Transactions ) function returns
+TRUE and SQL transactions can be used.
+<p> If the plugin is compiled against MySQL 4.x client libraries,
+transactions are enabled by default.
+<p> You can find information about MySQL on <a href="http://www.mysql.com">http://www.mysql.com</a>
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-1-2"></a><p> You need the MySQL header files and as well as the shared library
+<tt>libmysqlclient.so</tt>. Depending on your Linux distribution you need to
+install a package which is usually called "mysql-devel".
+<p> Tell <a href="qmake-manual.html">qmake</a> where to find the MySQL
+header files and shared libraries (here it is assumed that MySQL is
+installed in <tt>/usr/local</tt>) and run <tt>make</tt>:
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/mysql
+qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient" mysql.pro
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-1-3"></a><p> You need to get the MySQL installation files. Run SETUP.EXE and
+choose "Custom Install". Install the "Libs & Include Files" Module.
+Build the plugin as follows (here it is assumed that MySQL is
+installed in <tt>C:&#92;MYSQL</tt>):
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\mysql
+qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
+nmake
+</pre>
+
+<p> If you are not using a Microsoft compiler, replace <tt>nmake</tt> with <tt>make</tt> in the statement above.
+<p> <a name="QOCI8"></a>
+<h3> QOCI8 - Oracle Call Interface (OCI)
+</h3>
+<a name="3-2"></a><p> <!-- index QOCI8 --><a name="QOCI8"></a>
+<p> <h4> General information
+</h4>
+<a name="3-2-1"></a><p> The Qt OCI plugin supports both Oracle 8 and Oracle 9. After
+connecting to the Oracle server, the plugin will auto-detect the
+database version and enable features accordingly.
+<p> <h4> Unicode support
+</h4>
+<a name="3-2-2"></a><p> If the Oracle server supports Unicode, the OCI plugin will use UTF-8
+encoding to communicate with the server.
+<p> <h4> BLOB/LOB support
+</h4>
+<a name="3-2-3"></a><p> Binary Large Objects (BLOBs) can be read and written, but be aware
+that this process may require a lot of memory.
+<p> Note that Oracle 9 doesn't support scrollable result sets with LOB
+columns, you have to use a forward only query to select LOB fields
+(see <a href="qsqlquery.html#setForwardOnly">QSqlQuery::setForwardOnly</a>()).
+<p> Inserting BLOBs should be done using either a prepared query where the
+BLOBs are bound to placeholders, or <a href="qsqlcursor.html">QSqlCursor</a> which uses a prepared
+query to do this internally (see $QTDIR/examples/sql/blob).
+<p> <h4> Know problems
+</h4>
+<a name="3-2-4"></a><p> When a query is in forward only mode a call to <a href="qsqlquery.html#last">QSqlQuery::last</a>() will
+position the query on the last record and return TRUE, but subsequent
+calls to <a href="qsqlquery.html#value">QSqlQuery::value</a>() will only return NULLs.
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-2-5"></a><p> All files required to build driver should ship with the standard Oracle
+Client install.
+<p> Oracle library files required to build driver:
+<p> <ul>
+<li> <tt>libclntsh.so</tt> (all versions)
+<li> <tt>libwtc8.so</tt> (only Oracle 8) or <tt>libwtc9.so</tt> (only Oracle 9)
+</ul>
+<p> Tell <tt>qmake</tt> where to find the Oracle header files and shared
+libraries (it is assumed that the variable <tt>$ORACLE_HOME</tt> points to
+the directory where Oracle is installed) and run make:
+<p> If you are using Oracle 8:
+<pre>
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh -lwtc8" oci.pro
+make
+</pre>
+
+<p> For Oracle version 9:
+<pre>
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh -lwtc9" oci.pro
+make
+</pre>
+
+<p> For Oracle version 10:
+<pre>
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh" oci.pro
+make
+</pre>
+
+<p> Note that some versions of the OCI client libraries contain a bug
+that makes programs linked to these libraries segfault on exit. This
+only happens if the QOCI8 driver is compiled as a plugin. To work
+around this problem, either compile the driver into the Qt libray
+itself, or configure Qt with the option '-DQT_NO_LIBRARY_UNLOAD'.
+For Oracle 9, it is possible to link to the static OCI library by
+using "LIBS+=$ORACLE_HOME/lib/libclntst9.a".
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-2-6"></a><p> Choosing the option "Programmer" in the Oracle Client Installer from
+the Oracle Client Installation CD is sufficient to build the plugin.
+<p> Build the plugin as follows (here it is assumed that Oracle Client is
+installed in <tt>C:&#92;oracle</tt>):
+<p> <pre>
+set INCLUDE=%INCLUDE%;c:\oracle\oci\include
+set LIB=%LIB%;c:\oracle\oci\lib\msvc
+cd %QTDIR%\plugins\src\sqldrivers\oci
+qmake -o Makefile oci.pro
+nmake
+</pre>
+
+<p> When you run your application you will also need to add the <tt>oci.dll</tt>
+path to your <tt>PATH</tt> environment variable:
+<p> <pre>
+set PATH=%PATH%;c:\oracle\bin
+</pre>
+
+<p> If you are not using a Microsoft compiler, replace <tt>nmake</tt> with <tt>make</tt> in the statement above.
+<p> <a name="QODBC3"></a>
+<h3> QODBC3 - Open Database Connectivity (ODBC)
+</h3>
+<a name="3-3"></a><p> <!-- index QODBC3 --><a name="QODBC3"></a>
+<p> <h4> General information
+</h4>
+<a name="3-3-1"></a><p> ODBC is a general interface that allows you to connect to multiple
+DBMS using a common interface. The QODBC3 driver allows you to connect
+to an ODBC driver manager and access the available data sources. Note
+that you also need to install and configure ODBC drivers for the ODBC
+driver manager that is installed on your system. The QODBC3 plugin
+then allows you to use these data sources in your Qt project.
+<p> On Windows systems after 95 an ODBC driver manager should be installed
+by default, for Unix systems there are some implementations which must
+be installed first. Note that every client that uses your application
+is required to have an ODBC driver manager installed, otherwise the
+QODBC3 plugin will not work.
+<p> Be aware that when connecting to an ODBC datasource you must pass in
+the name of the ODBC datasource to the <a href="qsqldatabase.html#setDatabaseName">QSqlDatabase::setDatabaseName</a>()
+function: not the actual database name.
+<p> The QODBC3 Plugin needs an ODBC compliant driver manager version 2.0 or
+later to work. Some ODBC drivers claim to be version 2.0 compliant,
+but do not offer all the necessary functionality. The QODBC3 plugin
+therefore checks whether the data source can be used after a
+connection has been established and refuses to work if the check
+fails. If you don't like this behaviour, you can remove the <tt>#define ODBC_CHECK_DRIVER</tt> line from the file <tt>qsql_odbc.cpp</tt>. Do this at
+your own risk!
+<p> If you experience very slow access of the ODBC datasource, make sure
+that ODBC call tracing is turned off in the ODBC datasource manager.
+<p> <h4> Unicode support
+</h4>
+<a name="3-3-2"></a><p> The QODBC3 Plugin will use the Unicode API if UNICODE is defined. On
+Windows NT based systems, this is the default. Note that the ODBC
+driver and the DBMS have to support Unicode as well.
+<p> For the Oracle 9 ODBC driver (Windows), it is neccessary to check
+"SQL_WCHAR support" in the ODBC driver manager otherwise Oracle
+will convert all Unicode strings to local 8 bit.
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-3-3"></a><p> It is recommended that you use unixODBC. You can find the latest
+version and ODBC drivers at <a href="http://www.unixodbc.org">http://www.unixodbc.org</a>.
+You need the unixODBC header files and shared libraries.
+<p> Tell <tt>qmake</tt> where to find the unixODBC header files and shared
+libraries (here it is assumed that unixODBC is installed in
+<tt>/usr/local/unixODBC</tt>) and run <tt>make</tt>:
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/odbc
+qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-3-4"></a><p> The ODBC header and include files should already be installed in the
+right directories. You just have to build the plugin as follows:
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\odbc
+qmake -o Makefile odbc.pro
+nmake
+</pre>
+
+<p> If you are not using a Microsoft compiler, replace <tt>nmake</tt> with <tt>make</tt> in the statement above.
+<p> <a name="QPSQL7"></a>
+<h3> QPSQL7 - PostgreSQL version 6 and 7
+</h3>
+<a name="3-4"></a><p> <!-- index QPSQL7 --><a name="QPSQL7"></a>
+<p> <h4> General information
+</h4>
+<a name="3-4-1"></a><p> The QPSQL7 driver supports both version 6 and 7 of PostgreSQL. We
+recommend compiling the plugin with a recent version of the PostgreSQL
+client library (libpq) because it is more stable and still backwards
+compatible.
+<p> If you want to link the plugin against the libpq shipped with version
+6 we recommend a recent version like PostgreSQL 6.5.3, otherwise a
+connection to a version 7 server may not work.
+<p> The driver auto-detects the server version of PostgreSQL after a
+connection was successful. If the server is too old or the version
+information cannot be determined a warning is issued.
+<p> For more information about PostgreSQL visit <a href="http://www.postgresql.org">http://www.postgresql.org</a>.
+<p> <h4> Unicode support
+</h4>
+<a name="3-4-2"></a><p> The QPSQL7 driver automatically detects whether the PostgreSQL
+database you are connecting to supports Unicode or not. Unicode is
+automatically used if the server supports it. Note that the driver
+only supports the UTF-8 encoding. If your database uses any other
+encoding, the server must be compiled with Unicode conversion
+support.
+<p> Unicode support was introduced in PostgreSQL version 7.1 and it will
+only work if both the server and the client library have been compiled
+with multibyte support. More information about how to set up a
+multibyte enabled PostgreSQL server can be found in the PostgreSQL
+Administrator Guide, Chapter 5.
+<p> <h4> BLOB support
+</h4>
+<a name="3-4-3"></a><p> Binary Large Objects are supported through the <tt>BYTEA</tt> field type in
+PostgreSQL versions >= 7.1. Fields of type <tt>OID</tt> can be read, but not
+written. Use the PostgreSQL command <tt>lo_import</tt> to insert binary data
+into <tt>OID</tt> fields.
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-4-4"></a><p> Just installing the pq client library and the corresponding header
+files is not sufficient. You have to get the PostgreSQL source
+distribution and run the configure script. If you've already installed
+a binary distribution you don't need to build it. The source
+distribution is needed because the QPSQL7 plugin relies on a couple of
+header files that are usually not a part of the binary distribution.
+<p> To make <tt>qmake</tt> find the PostgreSQL header files and shared
+libraries, run <tt>qmake</tt> the following way (assuming that the
+PostgreSQL sources can be found in <tt>/usr/src/psql</tt>):
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/psql
+qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/usr/lib -lpq" psql.pro
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-4-5"></a><p> Unpack and build the PostgreSQL source distribution as described in
+the PostgreSQL documentation. Assuming the PostgreSQL sources resides
+in <tt>C:&#92;psql</tt>, build the plugin as follows:
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\psql
+qmake -o Makefile "INCLUDEPATH+=C:\psql\src\include C:\psql\src\interfaces\libpq" psql.pro
+nmake
+</pre>
+
+<p> Remember to add the path to the <tt>libpq.dll</tt> library to your PATH
+environment variable so that Windows can find it. In this case that
+would be <tt>C:&#92;psql&#92;src&#92;interfaces&#92;libpq&#92;Release</tt>. If you are not using a
+Microsoft compiler, replace <tt>nmake</tt> with <tt>make</tt> in the statement
+above.
+<p> <a name="QTDS7"></a>
+<h3> QTDS7 - Sybase Adaptive Server
+</h3>
+<a name="3-5"></a><p> <!-- index QTDS7 --><a name="QTDS7"></a>
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-5-1"></a><p> Under Unix, two libraries are available which support the TDS protocol:
+<p> - FreeTDS, a free implementation of the TDS protocol
+(<a href="http://www.freetds.org">http://www.freetds.org</a>). Note that FreeTDS is not yet stable,
+so some functionality may not work as expected.
+<p> - Sybase Open Client, available from <a href="http://www.sybase.com">http://www.sybase.com</a>.
+Note for Linux users: Get the Open Client RPM from
+<a href="http://linux.sybase.com">http://linux.sybase.com</a>.
+<p> Regardless of which library you use, the shared object file
+<tt>libsybdb.so</tt> is needed. Set the SYBASE environment variable to
+point to the directory where you installed the client library and
+execute <tt>qmake</tt>:
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/tds
+qmake -o Makefile "INCLUDEPATH=$SYBASE/include" "LIBS=-L$SYBASE/lib -lsybdb"
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-5-2"></a><p> You can either use the DB-Library supplied by Microsoft or the Sybase
+Open Client (<a href="http://www.sybase.com">http://www.sybase.com</a>). You must include <tt>NTWDBLIB.LIB</tt> to build the plugin:
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\tds
+qmake -o Makefile "LIBS+=NTWDBLIB.LIB" tds.pro
+nmake
+</pre>
+
+<p> By default the Microsoft library is used on Windows, if you want to force
+the use of the Sybase Open Client, you must define
+<tt>Q_USE_SYBASE</tt> in <tt>%QTDIR%&#92;src&#92;sql&#92;drivers&#92;tds&#92;qsql_tds.cpp</tt>.
+<p> <a name="QDB2"></a>
+<h3> QDB2 - IBM DB2 Driver (v7.1 or higher)
+</h3>
+<a name="3-6"></a><p> <!-- index QDB2 --><a name="QDB2"></a>
+<p> <h4> General information
+</h4>
+<a name="3-6-1"></a><p> The Qt DB2 plugin makes it possible to access IBM DB2 databases. It
+has been tested with IBM DB2 v7.1 and 7.2. You have to install the IBM
+DB2 development client library, which contains the header and library
+files necessary for compiling the QDB2 plugin.
+<p> The QDB2 driver supports prepared queries, reading/writing of Unicode
+strings and reading/writing of BLOBs.
+<p> We suggest using a forward-only query when calling stored procedures
+in DB2 (see <a href="qsqlquery.html#setForwardOnly">QSqlQuery::setForwardOnly</a>()).
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-6-2"></a><p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/db2
+qmake -o Makefile "INCLUDEPATH+=$DB2DIR/include" "LIBS+=-L$DB2DIR/lib -ldb2"
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-6-3"></a><p> The DB2 header and include files should already be installed in the
+right directories. You just have to build the plugin as follows:
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\db2
+qmake -o Makefile "INCLUDEPATH+=&lt;DB2 home&gt;/sqllib/include" "LIBS+=&lt;DB2 home&gt;/sqllib/lib/db2cli.lib"
+nmake
+</pre>
+
+<p> If you are not using a Microsoft compiler, replace <tt>nmake</tt>
+with <tt>make</tt> in the statement above.
+<p> <a name="QSQLITE"></a>
+<h3> QSQLITE - SQLite Driver
+</h3>
+<a name="3-7"></a><p> <!-- index QSQLITE --><a name="QSQLITE"></a>
+<p> The Qt SQLite plugin makes it possible to access SQLite databases.
+SQLite is an in-process database, meaning that it is not necessary
+to have a database server. SQLite operates on a single file, which has
+to be set as database name when opening a connection. If the file does
+not exist, SQLite will try to create it. SQLite also supports in-memory
+databases, simply pass ":memory:" as the database name.
+<p> SQLite has some restrictions regarding multiple users and
+multiple transactions. If you try to read/write on a resource from different
+transactions, your application might freeze until one transaction commits
+or rolls back.
+<p> SQLite has no support for types, every value is treated as character data.
+BLOBs are therefore not supported.
+<p> You can find information about SQLite on <a href="http://www.sqlite.org">http://www.sqlite.org</a>.
+<p> SQLite is shipped as third party library within Qt. It can be built by
+passing the following parameters to the configure script:
+<tt>-plugin-sql-sqlite</tt> (as plugin) or <tt>-qt-sql-sqlite</tt> (linked
+directly into the Qt library).
+<p> If you don't want to use the SQLite library shipped with Qt, you can
+build it manually (replace <tt>$SQLITE</tt> by the directory where SQLite
+resides):
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/sqlite
+qmake -o Makefile "INCLUDEPATH+=$SQLITE/include" "LIBS+=-L$SQLITE/lib -lsqlite"
+make
+</pre>
+
+<p> <a name="QIBASE"></a>
+<h3> QIBASE - Borland Interbase Driver
+</h3>
+<a name="3-8"></a><p> <!-- index QIBASE --><a name="QIBASE"></a>
+<p> <h4> General information
+</h4>
+<a name="3-8-1"></a><p> The Qt Interbase plugin makes it possible to access the Interbase and
+Firebird databases. Interbase can either be used as a client/server or
+without a server operating on local files. The database file must
+exist before a connection can be established.
+<p> Note that Interbase requires you to specify the full path to the
+database file, no matter whether it is stored locally or on another
+server.
+<p> <pre>
+ myDatabase-&gt;setHostName("MyServer");
+ myDatabase-&gt;setDatabaseName("C:\\test.gdb");
+</pre>
+
+<p> You need the Interbase/Firebird development headers and libraries
+to build this plugin.
+<p> Due to the GPL, users of the Qt Open Source Edition are not allowed to link
+this plugin to the commercial editions of Interbase. Please use Firebird
+or the free edition of Interbase.
+<p> <h4> How to build the plugin on Unix/Linux
+</h4>
+<a name="3-8-2"></a><p> The following assumes Interbase or Firebird is installed in
+<tt>/opt/interbase</tt>:
+<p> <pre>
+cd $QTDIR/plugins/src/sqldrivers/ibase
+qmake -o Makefile "INCLUDEPATH+=/opt/interbase/include" "LIBS+=-L/opt/interbase/lib" ibase.pro
+make
+</pre>
+
+<p> <h4> How to build the plugin on Windows
+</h4>
+<a name="3-8-3"></a><p> The following assumes Interbase or Firebird is installed in
+<tt>C:&#92;interbase</tt>:
+<p> <pre>
+cd %QTDIR%\plugins\src\sqldrivers\ibase
+qmake -o Makefile "INCLUDEPATH+=C:\interbase\include" ibase.pro
+nmake
+</pre>
+
+<p> If you are not using a Microsoft compiler, replace <tt>nmake</tt>
+with <tt>make</tt> in the statement above.
+<p> Note that <tt>C:&#92;interbase&#92;bin</tt> must be in the PATH.
+<p> <a name="troubleshooting"></a>
+<h2> Troubleshooting
+</h2>
+<a name="4"></a><p> You should always use client libraries that have been compiled with
+the same compiler as you are using for your project. If you cannot get
+a source distibution to compile the client libraries yourself, you
+must make sure that the pre-compiled library is compatible with
+your compiler, otherwise you will get a lot of "undefined symbols"
+errors. Some compilers have tools to convert libraries, e.g. Borland
+ships the tool <tt>COFF2OMF.EXE</tt> to convert libraries that have been
+generated with Microsoft Visual C++.
+<p> If the compilation of a plugin succeeds but it cannot be loaded,
+make sure that the following requirements are met:
+<p> <ul>
+<li> Ensure that you are using a shared Qt library; you cannot use the
+plugins with a static build.
+<li> Ensure that the environment variable <tt>QTDIR</tt> points to the right
+directory. Go to the <tt>$QTDIR/plugins/sqldrivers</tt> directory and
+make sure that the plugin exists in that directory.
+<li> Ensure that the client libraries of the DBMS are available on the
+system. On Unix, run the command <tt>ldd</tt> and pass the name of the
+plugin as parameter, for example <tt>ldd libqsqlmysql.so</tt>. You will
+get a warning if any of the client libraries couldn't be found.
+On Windows, you can use the dependency walker of Visual Studio.
+</ul>
+<p> If you are experiencing problems with loading plugins, and see output
+like this
+<p> <pre>
+QSqlDatabase warning: QMYSQL3 driver not loaded
+QSqlDatabase: available drivers: QMYSQL3
+</pre>
+
+<p> the problem is probably that the plugin had the wrong build key. For
+debugging purposes, remove the corresponding entry in the
+$HOME/.qt/qt_plugins_(qtversion).rc file.
+<p> The next time you try to load this plugin, it will give you a more detailed
+error message.
+<p> <a name="development"></a>
+<h2> How to write your own database driver
+</h2>
+<a name="5"></a><p> <a href="qsqldatabase.html">QSqlDatabase</a> is responsible for loading and managing database driver
+plugins. When a database is added (see <a href="qsqldatabase.html#addDatabase">QSqlDatabase::addDatabase</a>()),
+the appropriate driver plugin is loaded (using <a href="qsqldriverplugin.html">QSqlDriverPlugin</a>).
+QSqlDatabase relies on the driver plugin to provide interfaces for
+<a href="qsqldriver.html">QSqlDriver</a> and <a href="qsqlresult.html">QSqlResult</a>.
+<p> QSqlDriver is an abstract base class which defines the functionality
+of a SQL database driver. This includes functions such as
+<a href="qsqldriver.html#open">QSqlDriver::open</a>() and <a href="qsqldriver.html#close">QSqlDriver::close</a>(). QSqlDriver is responsible
+for connecting to a database, establish the proper environment, etc.
+In addition, QSqlDriver can create <a href="qsqlquery.html">QSqlQuery</a> objects appropriate for
+the particular database API. QSqlDatabase forwards many of its
+function calls directly to QSqlDriver which provides the concrete
+implementation.
+<p> QSqlResult is an abstract base class which defines the functionality
+of a SQL database query. This includes statements such as <tt>SELECT</tt>,
+<tt>UPDATE</tt>, and <tt>ALTER TABLE</tt>. QSqlResult contains functions such as
+QSqlResult::next() and QSqlResult::value(). QSqlResult is responsible
+for sending queries to the database, returning result data, etc.
+QSqlQuery forwards many of its function calls directly to <a href="qsqlresult.html">QSqlResult</a>
+which provides the concrete implementation.
+<p> <a href="qsqldriver.html">QSqlDriver</a> and QSqlResult are closely connected. When implementing a
+Qt SQL driver, both of these classes must to be subclassed and the
+abstract virtual methods in each class must be implemented.
+<p> To implement a Qt SQL driver as a plugin (so that it is recognized and
+loaded by the Qt library at runtime), the driver must use the
+<tt>Q_EXPORT_PLUGIN</tt> macro. Read the <a href="plugins-howto.html">Qt
+Plugin</a> documentation for more information on this. You can
+also check out how this is done in the SQL plugins that is provided
+with Qt in <tt>QTDIR/plugins/src/sqldrivers</tt> and
+<tt>QTDIR/src/sql/drivers</tt>.
+<p> The following code can be used as a skeleton for a SQL driver:
+<p> <pre>
+class QNullResult : public <a href="qsqlresult.html">QSqlResult</a>
+{
+public:
+ QNullResult( const <a href="qsqldriver.html">QSqlDriver</a>* d ): <a href="qsqlresult.html">QSqlResult</a>( d ) {}
+ ~QNullResult() {}
+protected:
+ <a href="qvariant.html">QVariant</a> data( int ) { return QVariant(); }
+ bool reset ( const <a href="qstring.html">QString</a>&amp; ) { return FALSE; }
+ bool fetch( int ) { return FALSE; }
+ bool fetchFirst() { return FALSE; }
+ bool fetchLast() { return FALSE; }
+ bool isNull( int ) { return FALSE; }
+ <a href="qsqlrecord.html">QSqlRecord</a> record() { return QSqlRecord(); }
+ int size() { return 0; }
+ int numRowsAffected() { return 0; }
+};
+
+class QNullDriver : public <a href="qsqldriver.html">QSqlDriver</a>
+{
+public:
+ QNullDriver(): <a href="qsqldriver.html">QSqlDriver</a>() {}
+ ~QNullDriver() {}
+ bool hasFeature( DriverFeature ) const { return FALSE; }
+ bool open( const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp;,
+ int ) { return FALSE; }
+ void close() {}
+ <a href="qsqlquery.html">QSqlQuery</a> createQuery() const { return QSqlQuery( new QNullResult( this ) ); }
+};
+</pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-examples.html b/doc/html/sql-examples.html
new file mode 100644
index 0000000..8bf771e
--- /dev/null
+++ b/doc/html/sql-examples.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:442 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt SQL Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt SQL Examples</h1>
+
+
+<p> The following example programs show how to use the
+Qt SQL classes.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="sqltable-example.html">SQL Table</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-basicbrowsing-main-cpp.html b/doc/html/sql-overview-basicbrowsing-main-cpp.html
new file mode 100644
index 0000000..d6af733
--- /dev/null
+++ b/doc/html/sql-overview-basicbrowsing-main-cpp.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:37 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/basicbrowsing/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/basicbrowsing/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqldatabase.html">QSqlDatabase</a> *oracledb = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>( "ORACLE" );
+ // Copy data from the oracle database to the ODBC (default)
+ // database
+ <a href="qsqlquery.html">QSqlQuery</a> target;
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, name FROM people", oracledb );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ target.<a href="qsqlquery.html#exec">exec</a>( "INSERT INTO people ( id, name ) VALUES ( " +
+ query.<a href="qsqlquery.html#value">value</a>(0).toString() +
+ ", '" + query.<a href="qsqlquery.html#value">value</a>(1).toString() + "' )" );
+ }
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-basicbrowsing2-main-cpp.html b/doc/html/sql-overview-basicbrowsing2-main-cpp.html
new file mode 100644
index 0000000..0b7d118
--- /dev/null
+++ b/doc/html/sql-overview-basicbrowsing2-main-cpp.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:38 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/basicbrowsing2/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/basicbrowsing2/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqldatabase.html">QSqlDatabase</a> *oracledb = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>( "ORACLE" );
+ // Copy data from the oracle database to the ODBC (default)
+ // database
+ <a href="qsqlquery.html">QSqlQuery</a> target;
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, name FROM people", oracledb );
+ int count = 0;
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ target.<a href="qsqlquery.html#exec">exec</a>( "INSERT INTO people ( id, name ) VALUES ( " +
+ query.<a href="qsqlquery.html#value">value</a>(0).toString() +
+ ", '" + query.<a href="qsqlquery.html#value">value</a>(1).toString() + "' )" );
+ if ( target.<a href="qsqlquery.html#isActive">isActive</a>() )
+ count += target.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>();
+ }
+ }
+ }
+
+ return 0;
+}
+
+
+
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-basicdatamanip-main-cpp.html b/doc/html/sql-overview-basicdatamanip-main-cpp.html
new file mode 100644
index 0000000..78e448b
--- /dev/null
+++ b/doc/html/sql-overview-basicdatamanip-main-cpp.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:39 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/basicdatamanip/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/basicdatamanip/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+#include "../connection.h"
+
+bool createConnections();
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ int rows = 0;
+
+ if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "INSERT INTO staff ( id, forename, surname, salary ) "
+ "VALUES ( 1155, 'Ginger', 'Davis', 50000 )" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+
+ query.<a href="qsqlquery.html#exec">exec</a>( "UPDATE staff SET salary=60000 WHERE id=1155" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+
+ query.<a href="qsqlquery.html#exec">exec</a>( "DELETE FROM staff WHERE id=1155" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+ }
+
+ return ( rows == 3 ) ? 0 : 1;
+}
+
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-connect1-main-cpp.html b/doc/html/sql-overview-connect1-main-cpp.html
new file mode 100644
index 0000000..9e905a3
--- /dev/null
+++ b/doc/html/sql-overview-connect1-main-cpp.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:35 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/connect1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/connect1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include "../connection.h"
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ <a href="qsqldatabase.html">QSqlDatabase</a> *defaultDB = QSqlDatabase::<a href="qsqldatabase.html#addDatabase">addDatabase</a>( DB_SALES_DRIVER );
+ defaultDB-&gt;<a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>( DB_SALES_DBNAME );
+ defaultDB-&gt;<a href="qsqldatabase.html#setUserName">setUserName</a>( DB_SALES_USER );
+ defaultDB-&gt;<a href="qsqldatabase.html#setPassword">setPassword</a>( DB_SALES_PASSWD );
+ defaultDB-&gt;<a href="qsqldatabase.html#setHostName">setHostName</a>( DB_SALES_HOST );
+
+ if ( defaultDB-&gt;<a href="qsqldatabase.html#open">open</a>() ) {
+ // Database successfully opened; we can now issue SQL commands.
+ }
+
+ return 0;
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-create_connections-main-cpp.html b/doc/html/sql-overview-create_connections-main-cpp.html
new file mode 100644
index 0000000..3590487
--- /dev/null
+++ b/doc/html/sql-overview-create_connections-main-cpp.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/create_connections/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/create_connections/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ // Databases successfully opened; get pointers to them:
+ <a href="qsqldatabase.html">QSqlDatabase</a> *oracledb = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>( "ORACLE" );
+ // Now we can now issue SQL commands to the oracle connection
+ // or to the default connection
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-custom1-main-cpp.html b/doc/html/sql-overview-custom1-main-cpp.html
new file mode 100644
index 0000000..ea060f8
--- /dev/null
+++ b/doc/html/sql-overview-custom1-main-cpp.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:58 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/custom1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/custom1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+
+<a name="f16"></a>CustomEdit::CustomEdit( <a href="qwidget.html">QWidget</a> *parent, const char *name ) :
+ <a href="qlineedit.html">QLineEdit</a>( parent, name )
+{
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL(<a href="qlineedit.html#textChanged">textChanged</a>(const <a href="qstring.html">QString</a> &amp;)),
+ this, SLOT(changed(const <a href="qstring.html">QString</a> &amp;)) );
+}
+
+
+void <a name="f17"></a>CustomEdit::changed( const <a href="qstring.html">QString</a> &amp;line )
+{
+ setUpperLine( line );
+}
+
+
+void <a name="f18"></a>CustomEdit::setUpperLine( const <a href="qstring.html">QString</a> &amp;line )
+{
+ upperLineText = line.<a href="qstring.html#upper">upper</a>();
+ setText( upperLineText );
+}
+
+
+QString <a name="f19"></a>CustomEdit::upperLine() const
+{
+ return upperLineText;
+}
+
+
+<a name="f20"></a>FormDialog::FormDialog()
+{
+ <a href="qlabel.html">QLabel</a> *forenameLabel = new <a href="qlabel.html">QLabel</a>( "Forename:", this );
+ CustomEdit *forenameEdit = new CustomEdit( this );
+ <a href="qlabel.html">QLabel</a> *surnameLabel = new <a href="qlabel.html">QLabel</a>( "Surname:", this );
+ CustomEdit *surnameEdit = new CustomEdit( this );
+ <a href="qlabel.html">QLabel</a> *salaryLabel = new <a href="qlabel.html">QLabel</a>( "Salary:", this );
+ <a href="qlineedit.html">QLineEdit</a> *salaryEdit = new <a href="qlineedit.html">QLineEdit</a>( this );
+ salaryEdit-&gt;<a href="qlineedit.html#setAlignment">setAlignment</a>( Qt::AlignRight );
+ <a href="qpushbutton.html">QPushButton</a> *saveButton = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Save", this );
+ <a href="qobject.html#connect">connect</a>( saveButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(save()) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameLabel, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameEdit, 0, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameLabel, 1, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameEdit, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryLabel, 2, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryEdit, 2, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( saveButton, 3, 0 );
+ grid-&gt;<a href="qlayout.html#activate">activate</a>();
+
+ staffCursor = new <a href="qsqlcursor.html">QSqlCursor</a>( "staff" );
+ staffCursor-&gt;<a href="qsqlcursor.html#setTrimmed">setTrimmed</a>( "forename", TRUE );
+ staffCursor-&gt;<a href="qsqlcursor.html#setTrimmed">setTrimmed</a>( "surname", TRUE );
+ idIndex = staffCursor-&gt;<a href="qsqlcursor.html#index">index</a>( "id" );
+ staffCursor-&gt;<a href="qsqlcursor.html#select">select</a>( idIndex );
+ staffCursor-&gt;<a href="qsqlquery.html#first">first</a>();
+
+ propMap = new <a href="qsqlpropertymap.html">QSqlPropertyMap</a>;
+ propMap-&gt;<a href="qsqlpropertymap.html#insert">insert</a>( forenameEdit-&gt;<a href="qobject.html#className">className</a>(), "upperLine" );
+
+ sqlForm = new <a href="qsqlform.html">QSqlForm</a>( this );
+ sqlForm-&gt;<a href="qsqlform.html#setRecord">setRecord</a>( staffCursor-&gt;<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>() );
+ sqlForm-&gt;<a href="qsqlform.html#installPropertyMap">installPropertyMap</a>( propMap );
+ sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( forenameEdit, "forename" );
+ sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( surnameEdit, "surname" );
+ sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( salaryEdit, "salary" );
+ sqlForm-&gt;<a href="qsqlform.html#readFields">readFields</a>();
+}
+
+
+FormDialog::~FormDialog()
+{
+ delete staffCursor;
+}
+
+
+void <a name="f21"></a>FormDialog::save()
+{
+ sqlForm-&gt;<a href="qsqlform.html#writeFields">writeFields</a>();
+ staffCursor-&gt;<a href="qsqlcursor.html#update">update</a>();
+ staffCursor-&gt;<a href="qsqlcursor.html#select">select</a>( idIndex );
+ staffCursor-&gt;<a href="qsqlquery.html#first">first</a>();
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( ! createConnections() )
+ return 1;
+
+ FormDialog *formDialog = new FormDialog();
+ formDialog-&gt;<a href="qdialog.html#show">show</a>();
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( formDialog );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-custom1-main-h.html b/doc/html/sql-overview-custom1-main-h.html
new file mode 100644
index 0000000..96a5712
--- /dev/null
+++ b/doc/html/sql-overview-custom1-main-h.html
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:57 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/custom1/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/custom1/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qsqlform-h.html">qsqlform.h</a>&gt;
+#include &lt;<a href="qsqlpropertymap-h.html">qsqlpropertymap.h</a>&gt;
+#include "../connection.h"
+
+class CustomEdit : public <a href="qlineedit.html">QLineEdit</a>
+{
+ Q_OBJECT
+ Q_PROPERTY( QString upperLine READ upperLine WRITE setUpperLine )
+ public:
+ CustomEdit( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ <a href="qstring.html">QString</a> upperLine() const;
+ void setUpperLine( const <a href="qstring.html">QString</a> &amp;line );
+ public slots:
+ void changed( const <a href="qstring.html">QString</a> &amp;line );
+ private:
+ <a href="qstring.html">QString</a> upperLineText;
+};
+
+
+class FormDialog : public <a href="qdialog.html">QDialog</a>
+{
+ Q_OBJECT
+ public:
+ FormDialog();
+ ~FormDialog();
+ public slots:
+ void save();
+ private:
+ <a href="qsqlcursor.html">QSqlCursor</a> *staffCursor;
+ <a href="qsqlform.html">QSqlForm</a> *sqlForm;
+ <a href="qsqlpropertymap.html">QSqlPropertyMap</a> *propMap;
+ <a href="qsqlindex.html">QSqlIndex</a> idIndex;
+};
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-delete-main-cpp.html b/doc/html/sql-overview-delete-main-cpp.html
new file mode 100644
index 0000000..51f5443
--- /dev/null
+++ b/doc/html/sql-overview-delete-main-cpp.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:48 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/delete/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/delete/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ cur.<a href="qsqlcursor.html#select">select</a>( "id=999" );
+ if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ cur.<a href="qsqlcursor.html#primeDelete">primeDelete</a>();
+ cur.<a href="qsqlcursor.html#del">del</a>();
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-extract-main-cpp.html b/doc/html/sql-overview-extract-main-cpp.html
new file mode 100644
index 0000000..dd41016
--- /dev/null
+++ b/doc/html/sql-overview-extract-main-cpp.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:45 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/extract/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/extract/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "creditors" );
+
+ <a href="qstringlist.html">QStringList</a> orderFields = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( orderFields );
+
+ <a href="qstringlist.html">QStringList</a> filterFields = QStringList() &lt;&lt; "surname" &lt;&lt; "city";
+ <a href="qsqlindex.html">QSqlIndex</a> filter = cur.<a href="qsqlcursor.html#index">index</a>( filterFields );
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "surname", "Chirac" );
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "city", "Paris" );
+
+ cur.<a href="qsqlcursor.html#select">select</a>( filter, order );
+
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ int id = cur.<a href="qsqlquery.html#value">value</a>( "id" ).toInt();
+ <a href="qstring.html">QString</a> name = cur.<a href="qsqlquery.html#value">value</a>( "forename" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString();
+ <a href="qapplication.html#qDebug">qDebug</a>( QString::<a href="qstring.html#number">number</a>( id ) + ": " + name );
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-form1-main-cpp.html b/doc/html/sql-overview-form1-main-cpp.html
new file mode 100644
index 0000000..bd1c815
--- /dev/null
+++ b/doc/html/sql-overview-form1-main-cpp.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:55 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/form1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/form1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qsqlform-h.html">qsqlform.h</a>&gt;
+#include "../connection.h"
+
+class FormDialog : public <a href="qdialog.html">QDialog</a>
+{
+ public:
+ FormDialog();
+};
+
+
+<a name="f15"></a>FormDialog::FormDialog()
+{
+ <a href="qlabel.html">QLabel</a> *forenameLabel = new <a href="qlabel.html">QLabel</a>( "Forename:", this );
+ <a href="qlabel.html">QLabel</a> *forenameDisplay = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qlabel.html">QLabel</a> *surnameLabel = new <a href="qlabel.html">QLabel</a>( "Surname:", this );
+ <a href="qlabel.html">QLabel</a> *surnameDisplay = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qlabel.html">QLabel</a> *salaryLabel = new <a href="qlabel.html">QLabel</a>( "Salary:", this );
+ <a href="qlineedit.html">QLineEdit</a> *salaryEdit = new <a href="qlineedit.html">QLineEdit</a>( this );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameLabel, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameDisplay, 0, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameLabel, 1, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameDisplay, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryLabel, 2, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryEdit, 2, 1 );
+ grid-&gt;<a href="qlayout.html#activate">activate</a>();
+
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+ staffCursor.<a href="qsqlcursor.html#select">select</a>();
+ staffCursor.<a href="qsqlquery.html#next">next</a>();
+
+ <a href="qsqlform.html">QSqlForm</a> sqlForm( this );
+ sqlForm.<a href="qsqlform.html#setRecord">setRecord</a>( staffCursor.<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>() );
+ sqlForm.<a href="qsqlform.html#insert">insert</a>( forenameDisplay, "forename" );
+ sqlForm.<a href="qsqlform.html#insert">insert</a>( surnameDisplay, "surname" );
+ sqlForm.<a href="qsqlform.html#insert">insert</a>( salaryEdit, "salary" );
+ sqlForm.<a href="qsqlform.html#readFields">readFields</a>();
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( ! createConnections() ) return 1;
+
+ FormDialog *formDialog = new FormDialog();
+ formDialog-&gt;<a href="qdialog.html#show">show</a>();
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( formDialog );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-form2-main-h.html b/doc/html/sql-overview-form2-main-h.html
new file mode 100644
index 0000000..5502c8c
--- /dev/null
+++ b/doc/html/sql-overview-form2-main-h.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:56 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/form2/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/form2/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qsqlform-h.html">qsqlform.h</a>&gt;
+#include "../connection.h"
+
+class FormDialog : public <a href="qdialog.html">QDialog</a>
+{
+ Q_OBJECT
+ public:
+ FormDialog();
+ ~FormDialog();
+ public slots:
+ void save();
+ private:
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor;
+ <a href="qsqlform.html">QSqlForm</a> *sqlForm;
+ <a href="qsqlindex.html">QSqlIndex</a> idIndex;
+};
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-insert-main-cpp.html b/doc/html/sql-overview-insert-main-cpp.html
new file mode 100644
index 0000000..981005c
--- /dev/null
+++ b/doc/html/sql-overview-insert-main-cpp.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:46 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/insert/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/insert/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ int count = 0;
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ <a href="qstringlist.html">QStringList</a> names = QStringList() &lt;&lt;
+ "Screwdriver" &lt;&lt; "Hammer" &lt;&lt; "Wrench" &lt;&lt; "Saw";
+ int id = 20;
+ for ( QStringList::Iterator name = names.<a href="qvaluelist.html#begin">begin</a>();
+ name != names.<a href="qvaluelist.html#end">end</a>(); ++name ) {
+ <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="qsqlcursor.html#primeInsert">primeInsert</a>();
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", id );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "name", *name );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", 100.0 + (double)id );
+ count += cur.<a href="qsqlcursor.html#insert">insert</a>();
+ id++;
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-navigating-main-cpp.html b/doc/html/sql-overview-navigating-main-cpp.html
new file mode 100644
index 0000000..10cb4fb
--- /dev/null
+++ b/doc/html/sql-overview-navigating-main-cpp.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:40 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/navigating/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/navigating/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, name FROM people ORDER BY name" );
+ if ( ! query.<a href="qsqlquery.html#isActive">isActive</a>() ) return 1; // Query failed
+ int i;
+ i = query.<a href="qsqlquery.html#size">size</a>(); // In this example we have 9 records; i == 9.
+ query.<a href="qsqlquery.html#first">first</a>(); // Moves to the first record.
+ i = query.<a href="qsqlquery.html#at">at</a>(); // i == 0
+ query.<a href="qsqlquery.html#last">last</a>(); // Moves to the last record.
+ i = query.<a href="qsqlquery.html#at">at</a>(); // i == 8
+ query.<a href="qsqlquery.html#seek">seek</a>( query.<a href="qsqlquery.html#size">size</a>() / 2 ); // Moves to the middle record.
+ i = query.<a href="qsqlquery.html#at">at</a>(); // i == 4
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-order1-main-cpp.html b/doc/html/sql-overview-order1-main-cpp.html
new file mode 100644
index 0000000..9de458b
--- /dev/null
+++ b/doc/html/sql-overview-order1-main-cpp.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:43 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/order1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/order1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" );
+ <a href="qstringlist.html">QStringList</a> fields = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( fields );
+ cur.<a href="qsqlcursor.html#select">select</a>( order );
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( cur.<a href="qsqlquery.html#value">value</a>( "id" ).toString() + ": " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "forename" ).toString() );
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-order2-main-cpp.html b/doc/html/sql-overview-order2-main-cpp.html
new file mode 100644
index 0000000..b314157
--- /dev/null
+++ b/doc/html/sql-overview-order2-main-cpp.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:44 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/order2/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/order2/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" );
+ <a href="qstringlist.html">QStringList</a> fields = QStringList() &lt;&lt; "id" &lt;&lt; "forename";
+ <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( fields );
+ <a href="qsqlindex.html">QSqlIndex</a> filter = cur.<a href="qsqlcursor.html#index">index</a>( "surname" );
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "surname", "Bloggs" );
+ cur.<a href="qsqlcursor.html#select">select</a>( filter, order );
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( cur.<a href="qsqlquery.html#value">value</a>( "id" ).toString() + ": " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "forename" ).toString() );
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-retrieve1-main-cpp.html b/doc/html/sql-overview-retrieve1-main-cpp.html
new file mode 100644
index 0000000..048d55a
--- /dev/null
+++ b/doc/html/sql-overview-retrieve1-main-cpp.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:41 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/retrieve1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/retrieve1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, surname FROM staff" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( query.<a href="qsqlquery.html#value">value</a>(0).toString() + ": " +
+ query.<a href="qsqlquery.html#value">value</a>(1).toString() );
+ }
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-retrieve2-main-cpp.html b/doc/html/sql-overview-retrieve2-main-cpp.html
new file mode 100644
index 0000000..ddc4436
--- /dev/null
+++ b/doc/html/sql-overview-retrieve2-main-cpp.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:42 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/retrieve2/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/retrieve2/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" ); // Specify the table/view name
+ cur.<a href="qsqlcursor.html#select">select</a>(); // We'll retrieve every record
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( cur.<a href="qsqlquery.html#value">value</a>( "id" ).toString() + ": " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "salary" ).toString() );
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass1-main-cpp.html b/doc/html/sql-overview-subclass1-main-cpp.html
new file mode 100644
index 0000000..da920ca
--- /dev/null
+++ b/doc/html/sql-overview-subclass1-main-cpp.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:59 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> invoiceItemCursor( "invoiceitem" );
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "pricesid", "PriceID" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass2-main-cpp.html b/doc/html/sql-overview-subclass2-main-cpp.html
new file mode 100644
index 0000000..a2d5113
--- /dev/null
+++ b/doc/html/sql-overview-subclass2-main-cpp.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:61 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass2/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass2/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+
+<a name="f22"></a>InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+{
+ // NOOP
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ InvoiceItemCursor invoiceItemCursor;
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "pricesid", "PriceID" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass2-main-h.html b/doc/html/sql-overview-subclass2-main-h.html
new file mode 100644
index 0000000..e0bc42c
--- /dev/null
+++ b/doc/html/sql-overview-subclass2-main-h.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:60 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass2/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass2/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+class QSqlRecord;
+
+class InvoiceItemCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+{
+ public:
+ InvoiceItemCursor();
+};
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass3-main-cpp.html b/doc/html/sql-overview-subclass3-main-cpp.html
new file mode 100644
index 0000000..f83ff25
--- /dev/null
+++ b/doc/html/sql-overview-subclass3-main-cpp.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:63 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass3/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass3/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+
+<a name="f23"></a>InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+{
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productName( "productname", QVariant::String );
+ <a href="qsqlcursor.html#append">append</a>( productName );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productName.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+}
+
+
+QVariant InvoiceItemCursor::<a href="qsqlcursor.html#calculateField">calculateField</a>( const <a href="qstring.html">QString</a> &amp; name )
+{
+ if ( name == "productname" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+
+ return QVariant( QString::null );
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ InvoiceItemCursor invoiceItemCursor;
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "productname", "Product" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass3-main-h.html b/doc/html/sql-overview-subclass3-main-h.html
new file mode 100644
index 0000000..69f9346
--- /dev/null
+++ b/doc/html/sql-overview-subclass3-main-h.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:62 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass3/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass3/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+class QSqlRecord;
+
+class InvoiceItemCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+{
+ public:
+ InvoiceItemCursor();
+ protected:
+ <a href="qvariant.html">QVariant</a> calculateField( const <a href="qstring.html">QString</a> &amp; name );
+};
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass4-main-cpp.html b/doc/html/sql-overview-subclass4-main-cpp.html
new file mode 100644
index 0000000..74ba40f
--- /dev/null
+++ b/doc/html/sql-overview-subclass4-main-cpp.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:65 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass4/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass4/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+
+<a name="f24"></a>InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+{
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productName( "productname", QVariant::String );
+ <a href="qsqlcursor.html#append">append</a>( productName );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productName.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productPrice( "price", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productPrice );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productPrice.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productCost( "cost", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productCost );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productCost.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+}
+
+
+QVariant InvoiceItemCursor::<a href="qsqlcursor.html#calculateField">calculateField</a>( const <a href="qstring.html">QString</a> &amp; name )
+{
+
+ if ( name == "productname" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "price" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "cost" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return QVariant( query.<a href="qsqlquery.html#value">value</a>( 0 ).toDouble() *
+ <a href="qsqlquery.html#value">value</a>( "quantity").toDouble() );
+ }
+
+ return QVariant( QString::null );
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ InvoiceItemCursor invoiceItemCursor;
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "productname", "Product" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "price", "Price" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "cost", "Cost" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass4-main-h.html b/doc/html/sql-overview-subclass4-main-h.html
new file mode 100644
index 0000000..2ecdec5
--- /dev/null
+++ b/doc/html/sql-overview-subclass4-main-h.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:64 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass4/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass4/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+class QSqlRecord;
+
+class InvoiceItemCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+{
+ public:
+ InvoiceItemCursor();
+ protected:
+ <a href="qvariant.html">QVariant</a> calculateField( const <a href="qstring.html">QString</a> &amp; name );
+};
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass5-main-cpp.html b/doc/html/sql-overview-subclass5-main-cpp.html
new file mode 100644
index 0000000..cc38935
--- /dev/null
+++ b/doc/html/sql-overview-subclass5-main-cpp.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:67 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass5/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass5/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+
+<a name="f25"></a>InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+{
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productName( "productname", QVariant::String );
+ <a href="qsqlcursor.html#append">append</a>( productName );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productName.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productPrice( "price", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productPrice );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productPrice.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productCost( "cost", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productCost );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productCost.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+}
+
+
+QVariant InvoiceItemCursor::<a href="qsqlcursor.html#calculateField">calculateField</a>( const <a href="qstring.html">QString</a> &amp; name )
+{
+
+ if ( name == "productname" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "price" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "cost" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return QVariant( query.<a href="qsqlquery.html#value">value</a>( 0 ).toDouble() *
+ <a href="qsqlquery.html#value">value</a>( "quantity").toDouble() );
+ }
+
+ return QVariant( QString::null );
+}
+
+
+QSqlRecord *InvoiceItemCursor::<a href="qsqlcursor.html#primeInsert">primeInsert</a>()
+{
+ <a href="qsqlrecord.html">QSqlRecord</a> *buffer = <a href="qsqlcursor.html#editBuffer">editBuffer</a>();
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT NEXTVAL( 'invoiceitem_seq' )" );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", query.<a href="qsqlquery.html#value">value</a>( 0 ) );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "paiddate", QDate::currentDate() );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "quantity", 1 );
+
+ return buffer;
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ InvoiceItemCursor invoiceItemCursor;
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "productname", "Product" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "price", "Price" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "cost", "Cost" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-subclass5-main-h.html b/doc/html/sql-overview-subclass5-main-h.html
new file mode 100644
index 0000000..bae2daa
--- /dev/null
+++ b/doc/html/sql-overview-subclass5-main-h.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:66 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/subclass5/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/subclass5/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+class QSqlRecord;
+
+class InvoiceItemCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+{
+ public:
+ InvoiceItemCursor();
+ <a href="qsqlrecord.html">QSqlRecord</a> *primeInsert();
+ protected:
+ <a href="qvariant.html">QVariant</a> calculateField( const <a href="qstring.html">QString</a> &amp; name );
+};
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table1-main-cpp.html b/doc/html/sql-overview-table1-main-cpp.html
new file mode 100644
index 0000000..2a73c52
--- /dev/null
+++ b/doc/html/sql-overview-table1-main-cpp.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:49 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table1/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table1/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+ <a href="qdatatable.html">QDataTable</a> *staffTable = new <a href="qdatatable.html">QDataTable</a>( &amp;staffCursor, TRUE );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+ staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table2-main-cpp.html b/doc/html/sql-overview-table2-main-cpp.html
new file mode 100644
index 0000000..1d5a83d
--- /dev/null
+++ b/doc/html/sql-overview-table2-main-cpp.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table2/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table2/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+
+ <a href="qdatatable.html">QDataTable</a> *staffTable = new <a href="qdatatable.html">QDataTable</a>( &amp;staffCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "forename", "Forename" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "surname", "Surname" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "salary", "Annual Salary" );
+
+ <a href="qstringlist.html">QStringList</a> order = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ staffTable-&gt;<a href="qdatatable.html#setSort">setSort</a>( order );
+
+ staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table3-main-cpp.html b/doc/html/sql-overview-table3-main-cpp.html
new file mode 100644
index 0000000..6ed3e62
--- /dev/null
+++ b/doc/html/sql-overview-table3-main-cpp.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table3/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table3/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+
+<a name="f9"></a>StatusPicker::StatusPicker( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qcombobox.html">QComboBox</a>( parent, name )
+{
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "status" );
+ cur.<a href="qsqlcursor.html#select">select</a>( cur.<a href="qsqlcursor.html#index">index</a>( "name" ) );
+
+ int i = 0;
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qcombobox.html#insertItem">insertItem</a>( cur.<a href="qsqlquery.html#value">value</a>( "name" ).toString(), i );
+ index2id[i] = cur.<a href="qsqlquery.html#value">value</a>( "id" ).toInt();
+ i++;
+ }
+}
+
+
+int <a name="f10"></a>StatusPicker::statusId() const
+{
+ return index2id[ currentItem() ];
+}
+
+
+void <a name="f11"></a>StatusPicker::setStatusId( int statusid )
+{
+ QMap&lt;int,int&gt;::Iterator it;
+ for ( it = index2id.begin(); it != index2id.end(); ++it ) {
+ if ( it.data() == statusid ) {
+ setCurrentItem( it.key() );
+ break;
+ }
+ }
+}
+
+
+
+QWidget *CustomSqlEditorFactory::<a href="qsqleditorfactory.html#createEditor">createEditor</a>(
+ <a href="qwidget.html">QWidget</a> *parent, const <a href="qsqlfield.html">QSqlField</a> *field )
+{
+ if ( field-&gt;<a href="qsqlfield.html#name">name</a>() == "statusid" ) {
+ <a href="qwidget.html">QWidget</a> *editor = new StatusPicker( parent );
+ return editor;
+ }
+
+ return QSqlEditorFactory::createEditor( parent, field );
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+
+ <a href="qdatatable.html">QDataTable</a> *staffTable = new <a href="qdatatable.html">QDataTable</a>( &amp;staffCursor );
+ <a href="qsqlpropertymap.html">QSqlPropertyMap</a> *propMap = new <a href="qsqlpropertymap.html">QSqlPropertyMap</a>();
+ CustomSqlEditorFactory *editorFactory = new CustomSqlEditorFactory();
+ propMap-&gt;<a href="qsqlpropertymap.html#insert">insert</a>( "StatusPicker", "statusid" );
+ staffTable-&gt;<a href="qdatatable.html#installPropertyMap">installPropertyMap</a>( propMap );
+ staffTable-&gt;<a href="qdatatable.html#installEditorFactory">installEditorFactory</a>( editorFactory );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "forename", "Forename" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "surname", "Surname" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "salary", "Annual Salary" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "statusid", "Status" );
+
+ <a href="qstringlist.html">QStringList</a> order = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ staffTable-&gt;<a href="qdatatable.html#setSort">setSort</a>( order );
+
+ staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table3-main-h.html b/doc/html/sql-overview-table3-main-h.html
new file mode 100644
index 0000000..f27ff48
--- /dev/null
+++ b/doc/html/sql-overview-table3-main-h.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:51 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table3/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table3/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qsqleditorfactory-h.html">qsqleditorfactory.h</a>&gt;
+#include &lt;<a href="qsqlpropertymap-h.html">qsqlpropertymap.h</a>&gt;
+#include "../connection.h"
+
+class StatusPicker : public <a href="qcombobox.html">QComboBox</a>
+{
+ Q_OBJECT
+ Q_PROPERTY( int statusid READ statusId WRITE setStatusId )
+ public:
+ StatusPicker( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ int statusId() const;
+ void setStatusId( int id );
+ private:
+ <a href="qmap.html">QMap</a>&lt; int, int &gt; index2id;
+};
+
+
+class CustomSqlEditorFactory : public <a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+{
+ Q_OBJECT
+ public:
+ <a href="qwidget.html">QWidget</a> *createEditor( <a href="qwidget.html">QWidget</a> *parent, const <a href="qsqlfield.html">QSqlField</a> *field );
+};
+
+
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table4-main-cpp.html b/doc/html/sql-overview-table4-main-cpp.html
new file mode 100644
index 0000000..67d7d71
--- /dev/null
+++ b/doc/html/sql-overview-table4-main-cpp.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:54 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table4/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table4/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+
+<a name="f12"></a>StatusPicker::StatusPicker( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qcombobox.html">QComboBox</a>( parent, name )
+{
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "status" );
+ cur.<a href="qsqlcursor.html#select">select</a>( cur.<a href="qsqlcursor.html#index">index</a>( "name" ) );
+
+ int i = 0;
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qcombobox.html#insertItem">insertItem</a>( cur.<a href="qsqlquery.html#value">value</a>( "name" ).toString(), i );
+ index2id[i] = cur.<a href="qsqlquery.html#value">value</a>( "id" ).toInt();
+ i++;
+ }
+}
+
+
+int <a name="f13"></a>StatusPicker::statusId() const
+{
+ return index2id[ currentItem() ];
+}
+
+
+void <a name="f14"></a>StatusPicker::setStatusId( int statusid )
+{
+ QMap&lt;int,int&gt;::Iterator it;
+ for ( it = index2id.begin(); it != index2id.end(); ++it ) {
+ if ( it.data() == statusid ) {
+ setCurrentItem( it.key() );
+ break;
+ }
+ }
+}
+
+
+void CustomTable::<a href="qdatatable.html#paintField">paintField</a>( <a href="qpainter.html">QPainter</a> * p, const <a href="qsqlfield.html">QSqlField</a>* field,
+ const <a href="qrect.html">QRect</a> &amp; cr, bool b)
+{
+ if ( !field )
+ return;
+ if ( field-&gt;<a href="qsqlfield.html#name">name</a>() == "statusid" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM status WHERE id=" +
+ field-&gt;<a href="qsqlfield.html#value">value</a>().toString() );
+ <a href="qstring.html">QString</a> text;
+ if ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ text = query.<a href="qsqlquery.html#value">value</a>( 0 ).toString();
+ }
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>( 2,2, cr.<a href="qrect.html#width">width</a>()-4, cr.<a href="qrect.html#height">height</a>()-4, fieldAlignment( field ), text );
+ }
+ else {
+ QDataTable::<a href="qdatatable.html#paintField">paintField</a>( p, field, cr, b) ;
+ }
+}
+
+
+QWidget *CustomSqlEditorFactory::<a href="qsqleditorfactory.html#createEditor">createEditor</a>(
+ <a href="qwidget.html">QWidget</a> *parent, const <a href="qsqlfield.html">QSqlField</a> *field )
+{
+ if ( field-&gt;<a href="qsqlfield.html#name">name</a>() == "statusid" ) {
+ <a href="qwidget.html">QWidget</a> *editor = new StatusPicker( parent );
+ return editor;
+ }
+
+ return QSqlEditorFactory::createEditor( parent, field );
+}
+
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+
+ CustomTable *staffTable = new CustomTable( &amp;staffCursor );
+ <a href="qsqlpropertymap.html">QSqlPropertyMap</a> *propMap = new <a href="qsqlpropertymap.html">QSqlPropertyMap</a>();
+ CustomSqlEditorFactory *editorFactory = new CustomSqlEditorFactory();
+ propMap-&gt;<a href="qsqlpropertymap.html#insert">insert</a>( "StatusPicker", "statusid" );
+ staffTable-&gt;<a href="qdatatable.html#installPropertyMap">installPropertyMap</a>( propMap );
+ staffTable-&gt;<a href="qdatatable.html#installEditorFactory">installEditorFactory</a>( editorFactory );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "forename", "Forename" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "surname", "Surname" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "salary", "Annual Salary" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "statusid", "Status" );
+
+ <a href="qstringlist.html">QStringList</a> order = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ staffTable-&gt;<a href="qdatatable.html#setSort">setSort</a>( order );
+
+ staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-table4-main-h.html b/doc/html/sql-overview-table4-main-h.html
new file mode 100644
index 0000000..26f48f0
--- /dev/null
+++ b/doc/html/sql-overview-table4-main-h.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/table4/main.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/table4/main.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qmap-h.html">qmap.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qsqleditorfactory-h.html">qsqleditorfactory.h</a>&gt;
+#include &lt;<a href="qsqlpropertymap-h.html">qsqlpropertymap.h</a>&gt;
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+#include "../connection.h"
+
+class StatusPicker : public <a href="qcombobox.html">QComboBox</a>
+{
+ Q_OBJECT
+ Q_PROPERTY( int statusid READ statusId WRITE setStatusId )
+public:
+ StatusPicker( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ int statusId() const;
+ void setStatusId( int id );
+private:
+ <a href="qmap.html">QMap</a>&lt; int, int &gt; index2id;
+};
+
+
+class CustomTable : public <a href="qdatatable.html">QDataTable</a>
+{
+ Q_OBJECT
+public:
+ CustomTable(
+ <a href="qsqlcursor.html">QSqlCursor</a> *cursor, bool autoPopulate = FALSE,
+ <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0 ) :
+ <a href="qdatatable.html">QDataTable</a>( cursor, autoPopulate, parent, name ) {}
+ void paintField(
+ <a href="qpainter.html">QPainter</a> * p, const <a href="qsqlfield.html">QSqlField</a>* field, const <a href="qrect.html">QRect</a> &amp; cr, bool );
+
+};
+
+
+class CustomSqlEditorFactory : public <a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+{
+ Q_OBJECT
+public:
+ <a href="qwidget.html">QWidget</a> *createEditor( <a href="qwidget.html">QWidget</a> *parent, const <a href="qsqlfield.html">QSqlField</a> *field );
+};
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql-overview-update-main-cpp.html b/doc/html/sql-overview-update-main-cpp.html
new file mode 100644
index 0000000..b0f9324
--- /dev/null
+++ b/doc/html/sql-overview-update-main-cpp.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:47 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>sql/overview/update/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>sql/overview/update/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include "../connection.h"
+
+int main( int argc, char *argv[] )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ cur.<a href="qsqlcursor.html#select">select</a>( "id=202" );
+ if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>();
+ double price = buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "price" ).toDouble();
+ double newprice = price * 1.05;
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", newprice );
+ cur.<a href="qsqlcursor.html#update">update</a>();
+ }
+ }
+
+ return 0;
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sql.html b/doc/html/sql.html
new file mode 100644
index 0000000..7dce635
--- /dev/null
+++ b/doc/html/sql.html
@@ -0,0 +1,1673 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/sql.doc:69 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>SQL Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>SQL Module</h1>
+
+
+<p>
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qsql.html">QSql</a>
+<td valign="top"><a href="qsqlcursor.html">QSqlCursor</a>
+<td valign="top"><a href="qsqldatabase.html">QSqlDatabase</a>
+<td valign="top"><a href="qsqldriver.html">QSqlDriver</a>
+<td valign="top"><a href="qsqldriverplugin.html">QSqlDriverPlugin</a>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+<td valign="top"><a href="qsqlerror.html">QSqlError</a>
+<td valign="top"><a href="qsqlfield.html">QSqlField</a>
+<td valign="top"><a href="qsqlfieldinfo.html">QSqlFieldInfo</a>
+<td valign="top"><a href="qsqlform.html">QSqlForm</a>
+<tr bgcolor="#f0f0f0">
+<td valign="top"><a href="qsqlindex.html">QSqlIndex</a>
+<td valign="top"><a href="qsqlpropertymap.html">QSqlPropertyMap</a>
+<td valign="top"><a href="qsqlquery.html">QSqlQuery</a>
+<td valign="top"><a href="qsqlrecord.html">QSqlRecord</a>
+<td valign="top"><a href="qsqlrecordinfo.html">QSqlRecordInfo</a>
+<tr bgcolor="#d0d0d0">
+<td valign="top"><a href="qsqlresult.html">QSqlResult</a>
+<td valign="top"><a href="qsqlselectcursor.html">QSqlSelectCursor</a>
+<td valign="top" colspan="3" rowspan="1"> See also: <a href="sql-driver.html">Supported Drivers</a>
+</table></center>
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#2"> SQL Module Architecture
+</a>
+<li><a href="#3"> SQL Driver Plugins
+</a>
+<li><a href="#4"> Connecting to Databases
+</a>
+<li><a href="#5"> Connecting to a Single Database
+</a>
+<ul>
+<li><a href="#5-1"> Connecting to Multiple Databases
+</a>
+</ul>
+<li><a href="#6"> Executing SQL Commands Using QSqlQuery
+</a>
+<ul>
+<li><a href="#6-1"> Transactions
+</a>
+<li><a href="#6-2"> Basic Browsing
+</a>
+<li><a href="#6-3"> Basic Data Manipulation
+</a>
+<li><a href="#6-4"> Navigating Result Sets
+</a>
+</ul>
+<li><a href="#7"> Using QSqlCursor
+</a>
+<ul>
+<li><a href="#7-1"> Retrieving Records
+</a>
+<ul>
+<li><a href="#7-1-1"> Sorting and Filtering Records
+</a>
+<li><a href="#7-1-2"> Extracting Data
+</a>
+</ul>
+<li><a href="#7-2"> Manipulating Records
+</a>
+<ul>
+<li><a href="#7-2-1"> Inserting Records
+</a>
+<li><a href="#7-2-2"> Updating Records
+</a>
+<li><a href="#7-2-3"> Deleting Records
+</a>
+</ul>
+</ul>
+<li><a href="#8"> Data-Aware Widgets
+</a>
+<ul>
+<li><a href="#8-1"> Data-Aware Tables
+</a>
+<li><a href="#8-2"> Creating Data-Aware Forms
+</a>
+<ul>
+<li><a href="#8-2-1"> Displaying a Record
+</a>
+<li><a href="#8-2-2"> Displaying a Record in a Data Form
+</a>
+<li><a href="#8-2-3"> Editing a Record
+</a>
+</ul>
+<li><a href="#8-3"> Custom Editor Widgets
+</a>
+<ul>
+<li><a href="#8-3-1"> Custom Editor Widgets for Tables
+</a>
+</ul>
+</ul>
+<li><a href="#9"> Subclassing QSqlCursor
+</a>
+<li><a href="#10"> The Example Tables
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <a name="Introduction"></a>
+<h2> Introduction
+</h2>
+<a name="1"></a><p> Qt's SQL classes help you provide seamless database integration to
+your Qt applications.
+<p> <blockquote>
+This overview assumes that you have at least a basic knowledge of SQL.
+You should be able to understand simple <tt>SELECT</tt>, <tt>INSERT</tt>, <tt>UPDATE</tt>
+and <tt>DELETE</tt> commands. Although the <a href="qsqlcursor.html">QSqlCursor</a> class provides an
+interface to database browsing and editing that does not <em>require</em> a
+knowledge of SQL, a basic understanding of SQL is highly recommended. A
+standard text covering SQL databases is <em>An Introduction to Database Systems (7th ed.)</em> by C. J. Date, ISBN 0201385902.
+</blockquote>
+<p> Whilst this module overview presents the classes from a purely
+programmatic point of view the <a href="designer-manual.html">Qt
+Designer</a> manual's "Creating Database Applications" chapter
+takes a higher-level approach demonstrating how to set up
+master-detail relationships between widgets, perform drilldown and
+handle foreign key lookups.
+<p> This document is divided into six sections:
+<p> <a href="#Architecture">SQL Module Architecture</a>. This describes
+how the classes fit together.
+<p> <a href="#Connecting_to_Databases">Connecting to Databases</a>.
+This section explains how to set up database connections using the <a href="qsqldatabase.html">QSqlDatabase</a> class.
+<p> <a href="#Executing_SQL_commands">Executing SQL Commands</a>. This
+section demonstrates how to issue the standard data manipulation
+commands, <tt>SELECT</tt>, <tt>INSERT</tt>, <tt>UPDATE</tt> and <tt>DELETE</tt> on tables in
+the database (although any valid SQL statement can be sent to the
+database). The focus is purely on database interaction using <a href="qsqlquery.html">QSqlQuery</a>.
+<p> <a href="#Using_QSqlCursor">Using Cursors</a>. This section explains
+how to use the <a href="qsqlcursor.html">QSqlCursor</a> class which provides a simpler API than the
+raw SQL used with <a href="qsqlquery.html">QSqlQuery</a>.
+<p> <a href="#Data-Aware_Widgets">Data-Aware Widgets</a>. This section shows
+how to programmatically link your database to the user interface. In
+this section we introduce the <a href="qdatatable.html">QDataTable</a>, <a href="qsqlform.html">QSqlForm</a>, <a href="qsqlpropertymap.html">QSqlPropertyMap</a> and <a href="qsqleditorfactory.html">QSqlEditorFactory</a> classes and demonstrate how to
+use custom data-aware widgets. <a href="designer-manual.html">Qt
+Designer</a> provides an easy visual way of achieving the same
+thing. See the <a href="designer-manual.html">Qt Designer</a> manual,
+<a href="qdatabrowser.html">QDataBrowser</a> and <a href="qdataview.html">QDataView</a> for more information.
+<p> <a href="#Subclassing_QSqlCursor">Subclassing QSqlCursor</a>. This
+section gives examples of subclassing QSqlCursor. Subclassing can be
+used to provide default and calculated values for fields (such as
+auto-numbered primary index fields), and to display calculated data,
+e.g. showing names rather than ids of foreign keys.
+<p> All the examples in this document use the tables defined in the
+<a href="#Example_Tables">Example Tables</a> section.
+<p> <a name="Architecture"></a>
+<h2> SQL Module Architecture
+</h2>
+<a name="2"></a><p> The SQL classes are divided into three layers:
+<p> <em>User Interface Layer.</em> These classes provide data-aware widgets
+that can be connected to tables or views in the database (by using a
+<a href="qsqlcursor.html">QSqlCursor</a> as a data source). End users can interact directly with
+these widgets to browse or edit data. <a href="designer-manual.html">Qt
+Designer</a> is fully integrated with the SQL classes and can be
+used to create data-aware forms. The data-aware widgets can also be
+programmed directly with your own C++ code. The classes that support
+this layer include <a href="qsqleditorfactory.html">QSqlEditorFactory</a>, <a href="qsqlform.html">QSqlForm</a>, <a href="qsqlpropertymap.html">QSqlPropertyMap</a>, <a href="qdatatable.html">QDataTable</a>, <a href="qdatabrowser.html">QDataBrowser</a> and <a href="qdataview.html">QDataView</a>.
+<p> <em>SQL API Layer.</em> These classes provide access to databases.
+Connections are made using the <a href="qsqldatabase.html">QSqlDatabase</a> class. Database
+interaction is achieved either by using the <a href="qsqlquery.html">QSqlQuery</a> class and
+executing SQL commands directly or by using the higher level <a href="qsqlcursor.html">QSqlCursor</a> class which composes SQL commands automatically. In
+addition to <a href="qsqldatabase.html">QSqlDatabase</a>, <a href="qsqlcursor.html">QSqlCursor</a> and <a href="qsqlquery.html">QSqlQuery</a>, the SQL
+API layer is supported by <a href="qsqlerror.html">QSqlError</a>, <a href="qsqlfield.html">QSqlField</a>, <a href="qsqlfieldinfo.html">QSqlFieldInfo</a>,
+<a href="qsqlindex.html">QSqlIndex</a>, <a href="qsqlrecord.html">QSqlRecord</a> and <a href="qsqlrecordinfo.html">QSqlRecordInfo</a>.
+<p> <em>Driver Layer.</em> This comprises three classes, <a href="qsqlresult.html">QSqlResult</a>, <a href="qsqldriver.html">QSqlDriver</a> and QSqlDriverFactoryInterface. This layer provides the
+low level bridge between the database and the SQL classes. This layer
+is <a href="sql-driver.html">documented separately</a> since it is
+only relevant to driver writers, and is rarely used in standard
+database application programming. See <a href="sql-driver.html">here</a> for more information on implementing a Qt SQL driver plugin.
+<p> <a name="Plugins"></a>
+<h2> SQL Driver Plugins
+</h2>
+<a name="3"></a><p> The Qt SQL module can dynamically load new drivers at runtime using
+the <a href="plugins-howto.html">Plugins</a>.
+<p> The <a href="sql-driver.html">SQL driver documentation</a> describes
+how to build plugins for specific database management systems.
+<p> Once a plugin is built, Qt will automatically load it, and the driver
+will be available for use by <a href="qsqldatabase.html">QSqlDatabase</a> (see <a href="qsqldatabase.html#drivers">QSqlDatabase::drivers</a>()
+for more information).
+<p> <a name="Connecting_to_Databases"></a>
+<h2> Connecting to Databases
+</h2>
+<a name="4"></a><p> At least one database connection must be created and opened before the
+<a href="qsqlquery.html">QSqlQuery</a> or <a href="qsqlcursor.html">QSqlCursor</a> classes can be used.
+<p> If the application only needs a single database connection, the <a href="qsqldatabase.html">QSqlDatabase</a> class can create a connection which is used by default
+for all SQL operations. If multiple database connections are required
+these can easily be set up.
+<p> <a href="qsqldatabase.html">QSqlDatabase</a> requires the <a href="qsqldatabase-h.html">qsqldatabase.h</a> header file.
+<p> <a name="Connecting_to_a_Single_Database"></a>
+<h2> Connecting to a Single Database
+</h2>
+<a name="5"></a><p> Making a database connection is a simple three step process: activate
+the driver, set up the connection information, and open the
+connection.
+<p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ <a name="x2141"></a> <a href="qsqldatabase.html">QSqlDatabase</a> *defaultDB = QSqlDatabase::<a href="qsqldatabase.html#addDatabase">addDatabase</a>( DB_SALES_DRIVER );
+ <a name="x2143"></a> defaultDB-&gt;<a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>( DB_SALES_DBNAME );
+ <a name="x2146"></a> defaultDB-&gt;<a href="qsqldatabase.html#setUserName">setUserName</a>( DB_SALES_USER );
+ <a name="x2145"></a> defaultDB-&gt;<a href="qsqldatabase.html#setPassword">setPassword</a>( DB_SALES_PASSWD );
+ <a name="x2144"></a> defaultDB-&gt;<a href="qsqldatabase.html#setHostName">setHostName</a>( DB_SALES_HOST );
+
+ <a name="x2142"></a> if ( defaultDB-&gt;<a href="qsqldatabase.html#open">open</a>() ) {
+ // Database successfully opened; we can now issue SQL commands.
+ }
+
+ return 0;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-connect1-main-cpp.html">sql/overview/connect1/main.cpp</a>
+</em></p>
+</blockquote><p> First we activate the driver by calling <a href="qsqldatabase.html#addDatabase">QSqlDatabase::addDatabase</a>(),
+passing the name of the driver we wish to use for this connection. At
+the time of writing the available drivers are: <a href="sql-driver.html#QODBC3">QODBC3</a> (Open Database
+Connectivity, includes Microsoft SQL Server support), <a href="sql-driver.html#QOCI8">QOCI8</a> (Oracle 8 and 9),
+<a href="sql-driver.html#QTDS7">QTDS7</a> (Sybase Adaptive Server), <a href="sql-driver.html#QPSQL7">QPSQL7</a> (PostgreSQL 6 and 7),
+<a href="sql-driver.html#QMYSQL3">QMYSQL3</a> (MySQL), <a href="sql-driver.html#QDB2">QDB2</a> (IBM DB2), <a href="sql-driver.html#QSQLITE">QSQLITE</a> (SQLite) and <a href="sql-driver.html#QIBASE">QIBASE</a> (Interbase).
+Note that some of these drivers aren't included in the Qt Open Source Edition; see
+the <tt>README</tt> files for details.
+<p> The connection which is created becomes the application's default
+database connection and will be used by the Qt SQL classes if no
+other database is specified.
+<p> Second we call setDatabaseName(), setUserName(), setPassword() and
+setHostName() to initialize the connection information. Note that for
+the QOCI8 (Oracle 8 and 9) driver the TNS Service Name must be passed
+to setDatbaseName(). When connecting to ODBC data sources the Data
+Source Name (DSN) should be used in the setDatabaseName() call.
+<p> Third we call open() to open the database and give us access to the
+data. If this call fails it will return FALSE; error information can
+be obtained from <a href="qsqldatabase.html#lastError">QSqlDatabase::lastError</a>().
+<p> <a name="Connecting_to_Multiple_Databases"></a>
+<h3> Connecting to Multiple Databases
+</h3>
+<a name="5-1"></a><p> Connecting to multiple databases is achieved using the two argument form
+of <a href="qsqldatabase.html#addDatabase">QSqlDatabase::addDatabase</a>() where the second argument is a unique
+identifier distinguishing the connection.
+<p> In the example below we have moved the connections into their own
+function, <tt>createConnections()</tt>, and added some basic error handling.
+<p> <pre>
+#define DB_SALES_DRIVER "QPSQL7"
+#define DB_SALES_DBNAME "sales"
+#define DB_SALES_USER "salesperson"
+#define DB_SALES_PASSWD "salesperson"
+#define DB_SALES_HOST "database.domain.no"
+
+#define DB_ORDERS_DRIVER "QOCI8"
+#define DB_ORDERS_DBNAME "orders"
+#define DB_ORDERS_USER "orderperson"
+#define DB_ORDERS_PASSWD "orderperson"
+#define DB_ORDERS_HOST "database.domain.no"
+
+bool createConnections();
+</pre>
+
+<p> We set up some constants and also declare the <tt>createConnections()</tt>
+function in <tt>connection.h</tt>.
+<p>
+
+<pre> #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include "connection.h"
+
+ bool createConnections()
+ {
+
+ <a name="x2147"></a> <a href="qsqldatabase.html">QSqlDatabase</a> *defaultDB = QSqlDatabase::<a href="qsqldatabase.html#addDatabase">addDatabase</a>( DB_SALES_DRIVER );
+ <a name="x2150"></a> defaultDB-&gt;<a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>( DB_SALES_DBNAME );
+ <a name="x2153"></a> defaultDB-&gt;<a href="qsqldatabase.html#setUserName">setUserName</a>( DB_SALES_USER );
+ <a name="x2152"></a> defaultDB-&gt;<a href="qsqldatabase.html#setPassword">setPassword</a>( DB_SALES_PASSWD );
+ <a name="x2151"></a> defaultDB-&gt;<a href="qsqldatabase.html#setHostName">setHostName</a>( DB_SALES_HOST );
+ <a name="x2149"></a> if ( ! defaultDB-&gt;<a href="qsqldatabase.html#open">open</a>() ) {
+ <a name="x2148"></a> <a href="qapplication.html#qWarning">qWarning</a>( "Failed to open sales database: " + defaultDB-&gt;<a href="qsqldatabase.html#lastError">lastError</a>().text() );
+ return FALSE;
+ }
+
+ <a href="qsqldatabase.html">QSqlDatabase</a> *oracle = QSqlDatabase::<a href="qsqldatabase.html#addDatabase">addDatabase</a>( DB_ORDERS_DRIVER, "ORACLE" );
+ oracle-&gt;<a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>( DB_ORDERS_DBNAME );
+ oracle-&gt;<a href="qsqldatabase.html#setUserName">setUserName</a>( DB_ORDERS_USER );
+ oracle-&gt;<a href="qsqldatabase.html#setPassword">setPassword</a>( DB_ORDERS_PASSWD );
+ oracle-&gt;<a href="qsqldatabase.html#setHostName">setHostName</a>( DB_ORDERS_HOST );
+ if ( ! oracle-&gt;<a href="qsqldatabase.html#open">open</a>() ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "Failed to open orders database: " + oracle-&gt;<a href="qsqldatabase.html#lastError">lastError</a>().text() );
+ return FALSE;
+ }
+
+ <a href="qsqlquery.html">QSqlQuery</a> q(QString::null, defaultDB);
+ <a name="x2154"></a> q.<a href="qsqlquery.html#exec">exec</a>("create table people (id integer primary key, name char(40))");
+ q.<a href="qsqlquery.html#exec">exec</a>("create table staff (id integer primary key, forename char(40), "
+ "surname char(40), salary float, statusid integer)");
+ q.<a href="qsqlquery.html#exec">exec</a>("create table status (id integer primary key, name char(30))");
+ q.<a href="qsqlquery.html#exec">exec</a>("create table creditors (id integer primary key, forename char(40), "
+ "surname char(40), city char(30))");
+ q.<a href="qsqlquery.html#exec">exec</a>("create table prices (id integer primary key, name char(40), price float)");
+ q.<a href="qsqlquery.html#exec">exec</a>("create table invoiceitem (id integer primary key, "
+ "pricesid integer, quantity integer, paiddate date)");
+
+ <a href="qsqlquery.html">QSqlQuery</a> q2(QString::null, oracle);
+ q2.<a href="qsqlquery.html#exec">exec</a>("create table people (id integer primary key, name char(40))");
+
+ return TRUE;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql.html">sql/overview/connection.cpp</a>
+</em></p>
+</blockquote><p> We've chosen to isolate database connection in our <tt>createConnections()</tt> function.cpp.
+<p> <a name="create_connections"></a>
+
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ // Databases successfully opened; get pointers to them:
+ <a name="x2155"></a> <a href="qsqldatabase.html">QSqlDatabase</a> *oracledb = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>( "ORACLE" );
+ // Now we can now issue SQL commands to the oracle connection
+ // or to the default connection
+ }
+
+ return 0;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-create_connections-main-cpp.html">sql/overview/create_connections/main.cpp</a>
+</em></p>
+</blockquote><p> The static function <a href="qsqldatabase.html#database">QSqlDatabase::database</a>() can be called from
+anywhere to provide a pointer to a database connection. If we call it
+without a parameter it will return the default connection. If called
+with the identifier we've used for a connection, e.g. "ORACLE", in the
+above example, it will return a pointer to the specified connection.
+<p> If you create a <tt>main.cpp</tt> using <a href="designer-manual.html">Qt
+Designer</a>, it will <em>not</em> include our example
+createConnections() function. This means that applications that
+preview correctly in <a href="designer-manual.html">Qt Designer</a>
+will not run unless you implement your own database connections
+function.
+<p> Note that in the code above the ODBC connection was not named and is
+therefore used as the default connection. <a href="qsqldatabase.html">QSqlDatabase</a> maintains
+ownership of the pointers returned by the addDatabase() static
+function. To remove a database from the list of maintained
+connections, first close the database with <a href="qsqldatabase.html#close">QSqlDatabase::close</a>(), and
+then remove it using the static function
+<a href="qsqldatabase.html#removeDatabase">QSqlDatabase::removeDatabase</a>().
+<p> <a name="Executing_SQL_commands"></a>
+<h2> Executing SQL Commands Using <a href="qsqlquery.html">QSqlQuery</a>
+</h2>
+<a name="6"></a><p> The <a href="qsqlquery.html">QSqlQuery</a> class provides an interface for executing SQL commands.
+It also has functions for navigating through the result sets of <tt>SELECT</tt>
+queries and for retrieving individual records and field values.
+<p> The <a href="qsqlcursor.html">QSqlCursor</a> class described in the next section inherits from <a href="qsqlquery.html">QSqlQuery</a> and provides a higher level interface that composes SQL
+commands for us. <a href="qsqlcursor.html">QSqlCursor</a> is particularly easy to integrate with
+on-screen widgets. Programmers unfamiliar with SQL can safely skip this
+section and use the <a href="qsqlcursor.html">QSqlCursor</a> class covered in
+<a href="#Using_QSqlCursor">"Using QSqlCursor"</a>.
+<p> <a name="Transactions"></a>
+<h3> Transactions
+</h3>
+<a name="6-1"></a><p> If the underlying database engine supports transactions
+<a href="qsqldriver.html#hasFeature">QSqlDriver::hasFeature</a>( QSqlDriver::Transactions ) will return TRUE.
+You can use <a href="qsqldatabase.html#transaction">QSqlDatabase::transaction</a>() to initiate a transaction,
+followed by the SQL commands you want to execute within the context of
+the transaction, and then either <a href="qsqldatabase.html#commit">QSqlDatabase::commit</a>() or
+<a href="qsqldatabase.html#rollback">QSqlDatabase::rollback</a>().
+<p> <a name="Basic_Browsing"></a>
+<h3> Basic Browsing
+</h3>
+<a name="6-2"></a><p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ if ( createConnections() ) {
+ <a name="x2156"></a> <a href="qsqldatabase.html">QSqlDatabase</a> *oracledb = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>( "ORACLE" );
+ // Copy data from the oracle database to the ODBC (default)
+ // database
+ <a href="qsqlquery.html">QSqlQuery</a> target;
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, name FROM people", oracledb );
+ <a name="x2158"></a> if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ <a name="x2159"></a> while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2157"></a> target.<a href="qsqlquery.html#exec">exec</a>( "INSERT INTO people ( id, name ) VALUES ( " +
+ <a name="x2160"></a> query.<a href="qsqlquery.html#value">value</a>(0).toString() +
+ ", '" + query.<a href="qsqlquery.html#value">value</a>(1).toString() + "' )" );
+ }
+ }
+ }
+
+ return 0;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-basicbrowsing-main-cpp.html">sql/overview/basicbrowsing/main.cpp</a>
+</em></p>
+</blockquote><p> In the example above we've added an additional header file,
+<a href="qsqlquery-h.html">qsqlquery.h</a>. The first query we create, <tt>target</tt>, uses the default
+database and is initially empty. For the second query, <tt>q</tt>, we specify
+the "ORACLE" database that we want to retrieve records from. Both the
+database connections were set up in the createConnections() function we
+wrote earlier.
+<p> After creating the initial <tt>SELECT</tt> statement, isActive() is checked
+to see if the query executed successfully. The next() function is
+used to iterate through the query results. The value() function
+returns the contents of fields as QVariants. The insertions are
+achieved by creating and executing queries against the default
+database using the <tt>target</tt> <a href="qsqlquery.html">QSqlQuery</a>.
+<p> Note that this example and all the other examples in this document use
+the tables defined in the <a href="#Example_Tables">Example Tables</a>
+section.
+<p>
+
+<pre> int count = 0;
+ <a name="x2162"></a> if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ <a name="x2163"></a> while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2161"></a> target.<a href="qsqlquery.html#exec">exec</a>( "INSERT INTO people ( id, name ) VALUES ( " +
+ <a name="x2165"></a> query.<a href="qsqlquery.html#value">value</a>(0).toString() +
+ ", '" + query.<a href="qsqlquery.html#value">value</a>(1).toString() + "' )" );
+ if ( target.<a href="qsqlquery.html#isActive">isActive</a>() )
+ <a name="x2164"></a> count += target.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>();
+ }
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-basicbrowsing2-main-cpp.html">sql/overview/basicbrowsing2/main.cpp</a>
+</em></p>
+</blockquote><p> The above code introduces a count of how many records are successfully
+inserted. Note that isActive() returns FALSE if the query, e.g. the
+insertion, fails. numRowsAffected() returns -1 if the number of rows
+cannot be determined, e.g. if the query fails.
+<p> <a name="Basic_Data_Manipulation"></a>
+<h3> Basic Data Manipulation
+</h3>
+<a name="6-3"></a><p>
+
+<pre> ** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+ **
+ ** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+ **
+ ** This file is part of an example program for Qt. This example
+ ** program may be used, distributed and modified without limitation.
+ **
+ *****************************************************************************/
+
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlquery-h.html">qsqlquery.h</a>&gt;
+ #include "../connection.h"
+
+ bool createConnections();
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv, FALSE );
+
+ int rows = 0;
+
+ if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "INSERT INTO staff ( id, forename, surname, salary ) "
+ "VALUES ( 1155, 'Ginger', 'Davis', 50000 )" );
+ <a name="x2168"></a><a name="x2167"></a> if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+
+ <a name="x2166"></a> query.<a href="qsqlquery.html#exec">exec</a>( "UPDATE staff SET salary=60000 WHERE id=1155" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+
+ query.<a href="qsqlquery.html#exec">exec</a>( "DELETE FROM staff WHERE id=1155" );
+ if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) rows += query.<a href="qsqlquery.html#numRowsAffected">numRowsAffected</a>() ;
+ }
+
+ return ( rows == 3 ) ? 0 : 1;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-basicdatamanip-main-cpp.html">sql/overview/basicdatamanip/main.cpp</a>
+</em></p>
+</blockquote><p> This example demonstrates straightforward SQL DML (data manipulation
+language) commands. Since we did not specify a database in the <a href="qsqlquery.html">QSqlQuery</a> constructor the default database is used. <a href="qsqlquery.html">QSqlQuery</a> objects
+can also be used to execute SQL DDL (data definition language) commands
+such as <tt>CREATE TABLE</tt> and <tt>CREATE INDEX</tt>.
+<p> <a name="Navigating_Result_Sets"></a>
+<h3> Navigating Result Sets
+</h3>
+<a name="6-4"></a><p> Once a <tt>SELECT</tt> query has been executed successfully we have access
+to the result set of records that matched the query criteria. We have
+already used one of the navigation functions, next(), which can be
+used alone to step sequentially through the records. <a href="qsqlquery.html">QSqlQuery</a> also
+provides first(), last() and prev(). After any of these commands we
+can check that we are on a valid record by calling isValid().
+<p> We can also navigate to any arbitrary record using seek(). The
+first record in the dataset is zero. The number of the last record is
+size() - 1. Note that not all databases provide the size of a
+<tt>SELECT</tt> query and in such cases size() returns -1.
+<p>
+
+<pre> if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, name FROM people ORDER BY name" );
+ <a name="x2171"></a> if ( ! query.<a href="qsqlquery.html#isActive">isActive</a>() ) return 1; // Query failed
+ int i;
+ <a name="x2174"></a> i = query.<a href="qsqlquery.html#size">size</a>(); // In this example we have 9 records; i == 9.
+ <a name="x2170"></a> query.<a href="qsqlquery.html#first">first</a>(); // Moves to the first record.
+ <a name="x2169"></a> i = query.<a href="qsqlquery.html#at">at</a>(); // i == 0
+ <a name="x2172"></a> query.<a href="qsqlquery.html#last">last</a>(); // Moves to the last record.
+ i = query.<a href="qsqlquery.html#at">at</a>(); // i == 8
+ <a name="x2173"></a> query.<a href="qsqlquery.html#seek">seek</a>( query.<a href="qsqlquery.html#size">size</a>() / 2 ); // Moves to the middle record.
+ i = query.<a href="qsqlquery.html#at">at</a>(); // i == 4
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-navigating-main-cpp.html">sql/overview/navigating/main.cpp</a>
+</em></p>
+</blockquote><p> The example above shows some of the navigation functions in use.
+<p> Not all drivers support size(), but we can interrogate the driver to
+find out:
+<p> <pre>
+ <a href="qsqldatabase.html">QSqlDatabase</a>* defaultDB = QSqlDatabase::<a href="qsqldatabase.html#database">database</a>();
+ if ( defaultDB-&gt;<a href="qsqldatabase.html#driver">driver</a>()-&gt;hasFeature( QSqlDriver::QuerySize ) ) {
+ // QSqlQuery::size() supported
+ }
+ else {
+ // QSqlQuery::size() cannot be relied upon
+ }
+</pre>
+
+<p> Once we have located the record we are interested in we may wish to
+retrieve data from it.
+<p>
+
+<pre> if ( createConnections() ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT id, surname FROM staff" );
+ <a name="x2175"></a> if ( query.<a href="qsqlquery.html#isActive">isActive</a>() ) {
+ <a name="x2176"></a> while ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ <a href="qapplication.html#qDebug">qDebug</a>( query.<a href="qsqlquery.html#value">value</a>(0).toString() + ": " +
+ <a name="x2177"></a> query.<a href="qsqlquery.html#value">value</a>(1).toString() );
+ }
+ }
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-retrieve1-main-cpp.html">sql/overview/retrieve1/main.cpp</a>
+</em></p>
+</blockquote><p> Note that if you wish to iterate through the record set in order the
+only navigation function you need is next().
+<p> Tip: The lastQuery() function returns the text of the last query
+executed. This can be useful to check that the query you think is being
+executed is the one actually being executed.
+<p> <a name="Using_QSqlCursor"></a>
+<h2> Using <a href="qsqlcursor.html">QSqlCursor</a>
+</h2>
+<a name="7"></a><p> The <a href="qsqlcursor.html">QSqlCursor</a> class provides a high level interface to browsing and
+editing records in SQL database tables or views without the need to
+write your own SQL.
+<p> QSqlCursor can do almost everything that <a href="qsqlquery.html">QSqlQuery</a> can, with two
+exceptions. Since cursors represent tables or views within the
+database, by default, <a href="qsqlcursor.html">QSqlCursor</a> objects retrieve all the fields of
+each record in the table or view whenever navigating to a new
+record. If only some fields are relevant simply confine your
+processing to those and ignore the others. Or, manually disable the
+generation of certain fields using <a href="qsqlrecord.html#setGenerated">QSqlRecord::setGenerated</a>(). Another
+approach is to create a <tt>VIEW</tt> which only presents the fields you're
+interested in; but note that some databases do not support editable
+views. So if you really don't want to retrieve all the fields in the
+cursor, then you should use a <a href="qsqlquery.html">QSqlQuery</a> instead, and customize the
+query to suit your needs. You can edit records using a <a href="qsqlcursor.html">QSqlCursor</a>
+providing that the table or view has a primary index that uniquely
+distinguishes each record. If this condition is not met then you'll
+need to use a <a href="qsqlquery.html">QSqlQuery</a> for edits.
+<p> <a href="qsqlcursor.html">QSqlCursor</a> operates on a single record at a time. Whenever performing
+an insert, update or delete using QSqlCursor, only a single record in
+the database is affected. When navigating through records in the
+cursor, only one record at a time is available in application code.
+In addition, QSqlCursor maintains a separate 'edit buffer' which is
+used to make changes to a single record in the database. The edit
+buffer is maintained in a separate memory area, and is unnaffected by
+the 'navigation buffer' which changes as the cursor moves from record
+to record.
+<p> Before we can use <a href="qsqlcursor.html">QSqlCursor</a> objects we must first create and open
+a database connection. Connecting is described in the <a href="#Connecting_to_Databases">Connecting to Databases</a> section
+above. For the examples that follow we will assume that the
+connections have been created using the createConnections() function
+defined in the <a href="#create_connections">QSqlDatabase example</a>
+presented earlier.
+<p> In the <a href="#Data-Aware_Widgets">data-aware widgets</a> section that
+follows this one we show how to link widgets to database cursors. Once
+we have a knowledge of both cursors and data-aware widgets we can
+discuss <a href="#Subclassing_QSqlCursor">subclassing QSqlCursor</a>.
+<p> The <a href="qsqlcursor.html">QSqlCursor</a> class requires the <a href="qsqlcursor-h.html">qsqlcursor.h</a> header file.
+<p> <a name="Retrieving_Records"></a>
+<h3> Retrieving Records
+</h3>
+<a name="7-1"></a><p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" ); // Specify the table/view name
+ <a name="x2178"></a> cur.<a href="qsqlcursor.html#select">select</a>(); // We'll retrieve every record
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2179"></a> <a href="qapplication.html#qDebug">qDebug</a>( cur.<a href="qsqlquery.html#value">value</a>( "id" ).toString() + ": " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "salary" ).toString() );
+ }
+ }
+
+ return 0;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-retrieve2-main-cpp.html">sql/overview/retrieve2/main.cpp</a>
+</em></p>
+</blockquote><p> We create the <a href="qsqlcursor.html">QSqlCursor</a> object, specifying the table or view to use.
+If we need to use a database other than the default we can specify it
+in the <a href="qsqlcursor.html">QSqlCursor</a> constructor.
+<p> The SQL executed by the cur.select() call is
+<p> <pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid FROM staff
+</pre>
+
+<p> Next, we iterate through the records returned by this select statement
+using cur.next(). Field values are retrieved in in a similar way to
+<a href="qsqlquery.html">QSqlQuery</a>, except that we pass field names rather than numeric indexes
+to value() and setValue().
+<p> <a name="Sorting_Data"></a>
+<h4> Sorting and Filtering Records
+</h4>
+<a name="7-1-1"></a><p> To specify a subset of records to retrieve we can pass filtering
+criteria to the select() function. Each record that is returned will
+meet the criteria of the filter (the filter corresponds to the SQL
+statement's <tt>WHERE</tt> clause).
+<p> <pre>
+ cur.select( "id &gt; 100" );
+</pre>
+
+<p> This select() call will execute the SQL
+<pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.id &gt; 100
+</pre>
+
+<p> This will retrieve only those staff whose <tt>id</tt> is greater than 100.
+<p> In addition to retrieving selected records we often want to specify a
+sort order for the returned records. This is achieved by creating a <a href="qsqlindex.html">QSqlIndex</a> object which contains the names of the field(s) we wish to
+sort by and pass this object to the select() call.
+<p> <pre>
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" );
+ <a href="qsqlindex.html">QSqlIndex</a> nameIndex = cur.<a href="qsqlcursor.html#index">index</a>( "surname" );
+ cur.<a href="qsqlcursor.html#select">select</a>( nameIndex );
+</pre>
+
+<p> Here we create a <a href="qsqlindex.html">QSqlIndex</a> object with one field, "surname". When
+we call the select() function we pass the index object, which
+specifies that the records should be returned sorted by
+staff.surname. Each field in the index object is used in the ORDER BY
+clause of the select statement. The SQL executed here is
+<pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff ORDER BY staff.surname ASC
+</pre>
+
+<p> Combining the retrieval of a subset of records and ordering the results
+is straightforward.
+<p> <pre>
+ cur.select( "staff.surname LIKE 'A%'", nameIndex );
+</pre>
+
+<p> We pass in a filter string (the <tt>WHERE</tt> clause), and the <a href="qsqlindex.html">QSqlIndex</a>
+object to sort by (the <tt>ORDER BY</tt> clause). This produces
+<p> <pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.surname LIKE 'A%' ORDER BY staff.surname ASC
+</pre>
+
+<p> To sort by more than one field, an index can be created which contains
+multiple fields. Ascending and descending order can be set using
+<a href="qsqlindex.html#setDescending">QSqlIndex::setDescending</a>(); the default is ascending.
+<p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" );
+ <a href="qstringlist.html">QStringList</a> fields = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ <a name="x2181"></a> <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( fields );
+ <a name="x2182"></a> cur.<a href="qsqlcursor.html#select">select</a>( order );
+ <a name="x2183"></a> while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-order1-main-cpp.html">sql/overview/order1/main.cpp</a>
+</em></p>
+</blockquote><p> Here we create a string list containing the fields we wish to sort by,
+in the order they are to be used. Then we create a <a href="qsqlindex.html">QSqlIndex</a> object
+based on these fields, finally executing the select() call using this
+index. This executes
+<pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff ORDER BY staff.surname ASC, staff.forename ASC
+</pre>
+
+<p> If we need to retrieve records with fields that match specific criteria we
+can create a filter based on an index.
+<p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "staff" );
+ <a href="qstringlist.html">QStringList</a> fields = QStringList() &lt;&lt; "id" &lt;&lt; "forename";
+ <a name="x2184"></a> <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( fields );
+ <a href="qsqlindex.html">QSqlIndex</a> filter = cur.<a href="qsqlcursor.html#index">index</a>( "surname" );
+ <a name="x2186"></a> cur.<a href="qsqlrecord.html#setValue">setValue</a>( "surname", "Bloggs" );
+ <a name="x2185"></a> cur.<a href="qsqlcursor.html#select">select</a>( filter, order );
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-order2-main-cpp.html">sql/overview/order2/main.cpp</a>
+</em></p>
+</blockquote><p> This executes
+<pre>
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.surname='Bloggs' ORDER BY staff.id ASC, staff.forename ASC
+</pre>
+
+<p> The "order" <a href="qsqlindex.html">QSqlIndex</a> contains two fields, "id" and "forename"
+which are used to order the results. The "filter" <a href="qsqlindex.html">QSqlIndex</a>
+contains a single field, "surname". When an index is passed as a
+filter to the select() function, for each field in the filter, a
+<em>fieldname=value</em> subclause is created where the value
+is taken from the current cursor's value for that field. We use
+setValue() to ensure that the value used is the one we want.
+<p> <a name="Extracting_Data"></a>
+<h4> Extracting Data
+</h4>
+<a name="7-1-2"></a><p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "creditors" );
+ <a href="qstringlist.html">QStringList</a> orderFields = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ <a name="x2188"></a> <a href="qsqlindex.html">QSqlIndex</a> order = cur.<a href="qsqlcursor.html#index">index</a>( orderFields );
+
+ <a href="qstringlist.html">QStringList</a> filterFields = QStringList() &lt;&lt; "surname" &lt;&lt; "city";
+ <a href="qsqlindex.html">QSqlIndex</a> filter = cur.<a href="qsqlcursor.html#index">index</a>( filterFields );
+ <a name="x2190"></a> cur.<a href="qsqlrecord.html#setValue">setValue</a>( "surname", "Chirac" );
+ cur.<a href="qsqlrecord.html#setValue">setValue</a>( "city", "Paris" );
+
+ <a name="x2189"></a> cur.<a href="qsqlcursor.html#select">select</a>( filter, order );
+
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2191"></a> int id = cur.<a href="qsqlquery.html#value">value</a>( "id" ).toInt();
+ <a href="qstring.html">QString</a> name = cur.<a href="qsqlquery.html#value">value</a>( "forename" ).toString() + " " +
+ cur.<a href="qsqlquery.html#value">value</a>( "surname" ).toString();
+ <a name="x2193"></a> <a href="qapplication.html#qDebug">qDebug</a>( QString::<a href="qstring.html#number">number</a>( id ) + ": " + name );
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-extract-main-cpp.html">sql/overview/extract/main.cpp</a>
+</em></p>
+</blockquote><p> In this example we begin by creating a cursor on the creditors table.
+We create two <a href="qsqlindex.html">QSqlIndex</a> objects. The first, "order", is created
+from the "orderFields" string list. The second, "filter", is created
+from the "filterFields" string list. We set the values of the two
+fields used in the filter, "surname" and "city", to the values we're
+interested in. Now we call select() which generates and executes the
+following SQL:
+<pre>
+ SELECT creditors.city, creditors.surname, creditors.forename, creditors.id
+ FROM creditors
+ WHERE creditors.surname = 'Chirac' AND creditors.city = 'Paris'
+ ORDER BY creditors.surname ASC, creditors.forename ASC
+</pre>
+
+The filter fields are used in the <tt>WHERE</tt> clause. Their values are
+taken from the cursor's current values for those fields; we set these
+values ourselves with the setValue() calls. The order fields are used
+in the <tt>ORDER BY</tt> clause.
+<p> Now we iterate through each matching record (if any). We retrieve the
+contents of the id, forename and surname fields and pass them on to
+some processing function, in this example a simple <a href="qapplication.html#qDebug">qDebug</a>() call.
+<p> <a name="Manipulating_Records"></a>
+<h3> Manipulating Records
+</h3>
+<a name="7-2"></a><p> Records can be inserted, updated or deleted in a table or view using a
+<a href="qsqlcursor.html">QSqlCursor</a> providing that the table or view has a primary index
+that uniquely distinguishes each record. If this is not the case a <a href="qsqlquery.html">QSqlQuery</a> must be used instead. (Note that not all databases support
+editable views.)
+<p> Each cursor has an internal 'edit buffer' which is used by all the
+edit operations (insert, update and delete). The editing process is
+the same for each operation: acquire a pointer to the relevant buffer;
+call setValue() to <a href="primes.html#prime">prime</a> the buffer with the values you want; call
+insert() or update() or del() to perform the desired operation. For
+example, when inserting a record using a cursor, you call
+primeInsert() to get a pointer to the edit buffer and then call
+setValue() on this buffer to set each field's value. Then you call
+QSQlCursor::insert() to insert the contents of the edit buffer into
+the database. Similarly, when updating (or deleting) a record, the
+values of the fields in the edit buffer are used to update (or delete)
+the record in the database. The 'edit buffer' is unaffected by any
+<a href="#Navigating_Result_Sets">cursor navigation</a> functions.
+Note that if you pass a string value to setValue() any single quotes
+will be escaped (turned into a pair of single quotes) since a single
+quote is a special character in SQL.
+<p> The primeInsert(), primeUpdate() and primeDelete() methods all return
+a pointer to the internal edit buffer. Each method can potentially
+perform different operations on the edit buffer before returning it.
+By default, <a href="qsqlcursor.html#primeInsert">QSqlCursor::primeInsert</a>() clears all the field values in
+the edit buffer (see <a href="qsqlrecord.html#clearValues">QSqlRecord::clearValues</a>()). Both <a href="qsqlcursor.html#primeUpdate">QSqlCursor::primeUpdate</a>() and <a href="qsqlcursor.html#primeDelete">QSqlCursor::primeDelete</a>() initialize the
+edit buffer with the current contents of the cursor before returning
+it. All three of these functions are virtual, so you can redefine the
+behavior (for example, reimplementing primeInsert() to auto-number
+fields in the edit buffer). Data-aware user-interface controls emit
+signals, e.g. primeInsert(), that you can connect to; these pass a
+pointer to the appropriate buffer so subclassing may not be necessary.
+See <a href="#Subclassing_QSqlCursor">subclassing QSqlCursor</a> for
+more information on subclassing; see the <a href="designer-manual.html">Qt
+Designer</a> manual for more on connecting to the primeInsert()
+signal.
+<p> When insert(), update() or del() is called on a cursor, it will be
+invalidated and will no longer be positioned on a valid record. If you
+need to move to another record after performing an insert(), update()
+or del() you must make a fresh select() call. This ensures that
+changes to the database are accurately reflected in the cursor.
+<p> <a name="Inserting_Records"></a>
+<h4> Inserting Records
+</h4>
+<a name="7-2-1"></a><p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ <a href="qstringlist.html">QStringList</a> names = QStringList() &lt;&lt;
+ "Screwdriver" &lt;&lt; "Hammer" &lt;&lt; "Wrench" &lt;&lt; "Saw";
+ int id = 20;
+ <a name="x2197"></a> for ( QStringList::Iterator name = names.<a href="qvaluelist.html#begin">begin</a>();
+ <a name="x2198"></a> name != names.<a href="qvaluelist.html#end">end</a>(); ++name ) {
+ <a name="x2195"></a> <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="qsqlcursor.html#primeInsert">primeInsert</a>();
+ <a name="x2196"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", id );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "name", *name );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", 100.0 + (double)id );
+ <a name="x2194"></a> count += cur.<a href="qsqlcursor.html#insert">insert</a>();
+ id++;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-insert-main-cpp.html">sql/overview/insert/main.cpp</a>
+</em></p>
+</blockquote><p> In this example we create a cursor on the "prices" table. Next we
+create a list of product names which we iterate over. For each
+iteration we call the cursor's primeInsert() method. This method
+returns a pointer to a <a href="qsqlrecord.html">QSqlRecord</a> buffer in which all the fields
+are set to <tt>NULL</tt>. (Note that <a href="qsqlcursor.html#primeInsert">QSqlCursor::primeInsert</a>() is virtual,
+and can be customized by derived classes. See <a href="qsqlcursor.html">QSqlCursor</a>). Next we
+call setValue() for each field that requires a value. Finally we call
+insert() to insert the record. The insert() call returns the number of
+rows inserted.
+<p> We obtained a pointer to a <a href="qsqlrecord.html">QSqlRecord</a> object from the primeInsert()
+call. <a href="qsqlrecord.html">QSqlRecord</a> objects can hold the data for a single record plus some
+meta-data about the record. In practice most interaction with a
+QSqlRecord consists of simple value() and setValue() calls as shown in
+this and the following example.
+<p> <a name="Updating_Records"></a>
+<h4> Updating Records
+</h4>
+<a name="7-2-2"></a><p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ <a name="x2200"></a> cur.<a href="qsqlcursor.html#select">select</a>( "id=202" );
+ if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2199"></a> <a href="qsqlrecord.html">QSqlRecord</a> *buffer = cur.<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>();
+ <a name="x2204"></a> double price = buffer-&gt;<a href="qsqlrecord.html#value">value</a>( "price" ).toDouble();
+ double newprice = price * 1.05;
+ <a name="x2203"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "price", newprice );
+ <a name="x2201"></a> cur.<a href="qsqlcursor.html#update">update</a>();
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-update-main-cpp.html">sql/overview/update/main.cpp</a>
+</em></p>
+</blockquote><p> This example begins with the creation of a cursor over the prices table.
+We select the record we wish to update with the select() call and
+move to it with the next() call. We call primeUpdate() to get a <a href="qsqlrecord.html">QSqlRecord</a> pointer to a buffer which is populated with the contents of
+the current record. We retrieve the value of the price field, calculate
+a new price, and set the the price field to the newly calculated value.
+Finally we call update() to update the record. The update() call returns
+the number of rows updated.
+<p> If many identical updates need to be performed, for example increasing
+the price of every item in the price list, using a single SQL statement
+with <a href="qsqlquery.html">QSqlQuery</a> is more efficient, e.g.
+<p> <pre>
+ <a href="qsqlquery.html">QSqlQuery</a> query( "UPDATE prices SET price = price * 1.05" );
+</pre>
+
+<p> <a name="Deleting_Records"></a>
+<h4> Deleting Records
+</h4>
+<a name="7-2-3"></a><p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> cur( "prices" );
+ <a name="x2207"></a> cur.<a href="qsqlcursor.html#select">select</a>( "id=999" );
+ <a name="x2208"></a> if ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2206"></a> cur.<a href="qsqlcursor.html#primeDelete">primeDelete</a>();
+ <a name="x2205"></a> cur.<a href="qsqlcursor.html#del">del</a>();
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-delete-main-cpp.html">sql/overview/delete/main.cpp</a>
+</em></p>
+</blockquote><p> To delete records, select the record to be deleted and navigate to it.
+Then call primeDelete() to populate the cursor with the primary key
+of the selected record, (in this example, the <tt>prices.id</tt> field), and
+then call <a href="qsqlcursor.html#del">QSqlCursor::del</a>() to delete it.
+<p> As with update(), if multiple deletions need to be made with some common
+criteria it is more efficient to do so using a single SQL statement,
+e.g.
+<p> <pre>
+ <a href="qsqlquery.html">QSqlQuery</a> query( "DELETE FROM prices WHERE id &gt;= 2450 AND id &lt;= 2500" );
+</pre>
+
+<p> <a name="Data-Aware_Widgets"></a>
+<h2> Data-Aware Widgets
+</h2>
+<a name="8"></a><p> Data-Aware Widgets provide a simple yet powerful means of connecting
+databases to Qt user interfaces. The easiest way of creating and
+manipulating data-aware widgets is with <a href="designer-manual.html">Qt
+Designer</a>. For those who prefer a purely programmatic approach
+the following examples and explanations provide an introduction. Note
+that the "Creating Database Applications" chapter of the <a href="designer-manual.html">Qt Designer</a> manual and its accompanying
+examples provides additional information.
+<p> <a name="Data-Aware_Tables"></a>
+<h3> Data-Aware Tables
+</h3>
+<a name="8-1"></a><p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+ #include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+ <a href="qdatatable.html">QDataTable</a> *staffTable = new <a href="qdatatable.html">QDataTable</a>( &amp;staffCursor, TRUE );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+ <a name="x2211"></a> staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 0;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table1-main-cpp.html">sql/overview/table1/main.cpp</a>
+</em></p>
+</blockquote><p> Data-Aware tables require the <a href="qdatatable-h.html">qdatatable.h</a> and <a href="qsqlcursor-h.html">qsqlcursor.h</a> header
+files. We create our application object, call createConnections() and
+create the cursor. We create the <a href="qdatatable.html">QDataTable</a> passing it a pointer to
+the cursor, and set the autoPopulate flag to TRUE. Next we make our <a href="qdatatable.html">QDataTable</a> the main widget and call refresh() to populate it with data
+and call show() to make it visible.
+<p> The autoPopulate flag tells the <a href="qdatatable.html">QDataTable</a> whether or nor it should
+create columns based on the cursor. autoPopulate does not affect the
+loading of data into the table; that is achieved by the refresh()
+function.
+<p>
+
+<pre> <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+ <a href="qdatatable.html">QDataTable</a> *staffTable = new <a href="qdatatable.html">QDataTable</a>( &amp;staffCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( staffTable );
+
+ <a name="x2214"></a> staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "forename", "Forename" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "surname", "Surname" );
+ staffTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "salary", "Annual Salary" );
+
+ <a href="qstringlist.html">QStringList</a> order = QStringList() &lt;&lt; "surname" &lt;&lt; "forename";
+ <a name="x2216"></a> staffTable-&gt;<a href="qdatatable.html#setSort">setSort</a>( order );
+
+ <a name="x2215"></a> staffTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ staffTable-&gt;<a href="qwidget.html#show">show</a>();
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table2-main-cpp.html">sql/overview/table2/main.cpp</a>
+</em></p>
+</blockquote><p> We create an empty <a href="qdatatable.html">QDataTable</a> which we make into our main widget and
+then we manually add the columns we want in the order we wish them to
+appear. For each column we specify the field name and optionally a
+display label.
+<p> We have also opted to sort the rows in the table; this could also have
+been achieved by applying the sort to the cursor itself.
+<p> Once everything is set up we call refresh() to load the data from the
+database and show() to make the widget visible.
+<p> QDataTables only retrieve visible rows which (depending on the driver)
+allows even large tables to be displayed very quickly with minimal
+memory cost.
+<p> <a name="Creating_Forms"></a>
+<h3> Creating Data-Aware Forms
+</h3>
+<a name="8-2"></a><p> Creating data-aware forms is more involved than using data-aware
+tables because we must take care of each field individually. Most of
+the code below can be automatically generated by <a href="designer-manual.html">Qt Designer</a>. See the <a href="designer-manual.html">Qt Designer</a> manual for more details.
+<p> <a name="Displaying_a_Record"></a>
+<h4> Displaying a Record
+</h4>
+<a name="8-2-1"></a><p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+ #include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+ #include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+ #include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+ #include &lt;<a href="qsqlform-h.html">qsqlform.h</a>&gt;
+ #include "../connection.h"
+
+ class FormDialog : public <a href="qdialog.html">QDialog</a>
+ {
+ public:
+ FormDialog();
+ };
+
+ FormDialog::FormDialog()
+ {
+ <a href="qlabel.html">QLabel</a> *forenameLabel = new <a href="qlabel.html">QLabel</a>( "Forename:", this );
+ <a href="qlabel.html">QLabel</a> *forenameDisplay = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qlabel.html">QLabel</a> *surnameLabel = new <a href="qlabel.html">QLabel</a>( "Surname:", this );
+ <a href="qlabel.html">QLabel</a> *surnameDisplay = new <a href="qlabel.html">QLabel</a>( this );
+ <a href="qlabel.html">QLabel</a> *salaryLabel = new <a href="qlabel.html">QLabel</a>( "Salary:", this );
+ <a href="qlineedit.html">QLineEdit</a> *salaryEdit = new <a href="qlineedit.html">QLineEdit</a>( this );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this );
+ <a name="x2221"></a> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameLabel, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( forenameDisplay, 0, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameLabel, 1, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( surnameDisplay, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryLabel, 2, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( salaryEdit, 2, 1 );
+ <a name="x2222"></a> grid-&gt;<a href="qlayout.html#activate">activate</a>();
+
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor( "staff" );
+ staffCursor.<a href="qsqlcursor.html#select">select</a>();
+ staffCursor.<a href="qsqlquery.html#next">next</a>();
+
+ <a href="qsqlform.html">QSqlForm</a> sqlForm( this );
+ <a name="x2227"></a><a name="x2223"></a> sqlForm.<a href="qsqlform.html#setRecord">setRecord</a>( staffCursor.<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>() );
+ <a name="x2225"></a> sqlForm.<a href="qsqlform.html#insert">insert</a>( forenameDisplay, "forename" );
+ sqlForm.<a href="qsqlform.html#insert">insert</a>( surnameDisplay, "surname" );
+ sqlForm.<a href="qsqlform.html#insert">insert</a>( salaryEdit, "salary" );
+ <a name="x2226"></a> sqlForm.<a href="qsqlform.html#readFields">readFields</a>();
+ }
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( ! createConnections() ) return 1;
+
+ FormDialog *formDialog = new FormDialog();
+ <a name="x2220"></a> formDialog-&gt;<a href="qdialog.html#show">show</a>();
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( formDialog );
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-form1-main-cpp.html">sql/overview/form1/main.cpp</a>
+</em></p>
+</blockquote><p> We include the header files for the widgets that we need. We also
+include <a href="qsqldatabase-h.html">qsqldatabase.h</a> and <a href="qsqlcursor-h.html">qsqlcursor.h</a> as usual, but we now add
+<a href="qsqlform-h.html">qsqlform.h</a>.
+<p> The form will be presented as a dialog so we subclass <a href="qdialog.html">QDialog</a> with
+our own FormDialog class. We use a <a href="qlineedit.html">QLineEdit</a> for the salary so that
+the user can change it. All the widgets are laid out using a grid.
+<p> We create a cursor on the staff table, select all records and move to
+the first record.
+<p> Now we create a <a href="qsqlform.html">QSqlForm</a> object and set the <a href="qsqlform.html">QSqlForm</a>'s record buffer
+to the cursor's update buffer. For each widget that we wish to make
+data-aware we insert a pointer to the widget and the associated field
+name into the <a href="qsqlform.html">QSqlForm</a>. Finally we call readFields() to populate the
+widgets with data from the database via the cursor's buffer.
+<p> <a name="Displaying_a_Record_in_a_DataForm"></a>
+<h4> Displaying a Record in a Data Form
+</h4>
+<a name="8-2-2"></a><p> <a href="qdataview.html">QDataView</a> is a Widget that can hold a read-only <a href="qsqlform.html">QSqlForm</a>. In
+addition to <a href="qsqlform.html">QSqlForm</a> it offers the slot refresh( <a href="qsqlrecord.html">QSqlRecord</a> * ) so it
+can easily be linked together with a <a href="qdatatable.html">QDataTable</a> to display a detailed
+view of a record:
+<p> <pre>
+ connect( myDataTable, SIGNAL( currentChanged( <a href="qsqlrecord.html">QSqlRecord</a>* ) ),
+ myDataView, SLOT( refresh( <a href="qsqlrecord.html">QSqlRecord</a>* ) ) );
+</pre>
+
+<p> <a name="Editing_a_Record"></a>
+<h4> Editing a Record
+</h4>
+<a name="8-2-3"></a><p> This example is similar to the previous one so we will focus on the
+differences.
+<p>
+
+<pre> class FormDialog : public <a href="qdialog.html">QDialog</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ FormDialog();
+ ~FormDialog();
+ public slots:
+ void save();
+ private:
+ <a href="qsqlcursor.html">QSqlCursor</a> staffCursor;
+ <a href="qsqlform.html">QSqlForm</a> *sqlForm;
+ <a href="qsqlindex.html">QSqlIndex</a> idIndex;
+ };
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-form2-main-h.html">sql/overview/form2/main.h</a>
+</em></p>
+</blockquote><p> The save slot will be used for a button that the user can press to
+confirm their update. We also hold pointers to the <a href="qsqlcursor.html">QSqlCursor</a> and the
+<a href="qsqlform.html">QSqlForm</a> since they will need to be accessed outside the constructor.
+<p>
+
+<pre> staffCursor.setTrimmed( "forename", TRUE );
+ staffCursor.setTrimmed( "surname", TRUE );
+</pre>
+<p> We call setTrimmed() on the text fields so that any spaces used to
+right pad the fields are removed when the fields are retrieved.
+<p> Properties that we might wish to apply to fields, such as alignment
+and validation are achieved in the conventional way, for example, by
+calling <a href="qlineedit.html#setAlignment">QLineEdit::setAlignment</a>() and <a href="qlineedit.html#setValidator">QLineEdit::setValidator</a>().
+<p> <pre> <a href="qlineedit.html">QLineEdit</a> *forenameEdit = new <a href="qlineedit.html">QLineEdit</a>( this );
+</pre>
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> *saveButton = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Save", this );
+ <a href="qobject.html#connect">connect</a>( saveButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), this, SLOT(save()) );
+</pre>
+<p> The FormDialog constructor is similar to the one in the previous
+example. We have changed the forename and surname widgets to
+<a href="qlineedit.html">QLineEdit</a>s to make them editable and have added a <a href="qpushbutton.html">QPushButton</a>
+the user can click to save their updates.
+<p> <pre> <a name="x2230"></a> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( saveButton, 3, 0 );
+</pre>
+<p> We add an extra row to the grid containing the save button.
+<p> <pre> idIndex = staffCursor.index( "id" );
+ staffCursor.select( idIndex );
+ staffCursor.first();
+</pre>
+<p> We create a <a href="qsqlindex.html">QSqlIndex</a> object and then execute a select() using the
+index. We then move to the first record in the result set.
+<p> <pre> sqlForm = new <a href="qsqlform.html">QSqlForm</a>( this );
+ <a name="x2233"></a> sqlForm-&gt;<a href="qsqlform.html#setRecord">setRecord</a>( staffCursor.primeUpdate() );
+</pre>
+<p> We create a new <a href="qsqlform.html">QSqlForm</a> object and set it's record buffer to the
+cursor's update buffer.
+<p> <pre> <a name="x2231"></a> sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( forenameEdit, "forename" );
+ sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( surnameEdit, "surname" );
+ sqlForm-&gt;<a href="qsqlform.html#insert">insert</a>( salaryEdit, "salary" );
+ <a name="x2232"></a> sqlForm-&gt;<a href="qsqlform.html#readFields">readFields</a>();
+</pre>
+<p> Now we link the buffer's fields to the <a href="qlineedit.html">QLineEdit</a> controls. (In the
+previous example we linked the cursor's fields.) The edit controls are
+populated by the readFields() call as before.
+<p> <pre> FormDialog::~FormDialog()
+ {
+
+ }
+</pre>
+<p> In the destructor we don't have to worry about the widgets or QSqlForm
+since they are children of the form and will be deleted by Qt at the
+right time.
+<p> <pre> void FormDialog::save()
+ {
+ <a name="x2234"></a> sqlForm-&gt;<a href="qsqlform.html#writeFields">writeFields</a>();
+ staffCursor.update();
+ staffCursor.select( idIndex );
+ staffCursor.first();
+ }
+</pre>
+<p> Finally we add the save functionality for when the user presses the
+save button. We write back the data from the widgets to the <a href="qsqlrecord.html">QSqlRecord</a> buffer with the writeFields() call. Then we update the
+database with the updated version of the record with the cursor's
+update() function. At this point the cursor is no longer positioned at
+a valid record so we reissue the select() call using our <a href="qsqlindex.html">QSqlIndex</a>
+and move to the first record.
+<p> <a href="qdatabrowser.html">QDataBrowser</a> and <a href="qdataview.html">QDataView</a> are widgets which provide a great deal of
+the above functionality. <a href="qdatabrowser.html">QDataBrowser</a> provides a data form which
+allows editing of and navigation through a cursor's records. <a href="qdataview.html">QDataView</a> provides a read only form for data in a cursor or database
+record. See the class documentation or the <a href="designer-manual.html">Qt Designer</a> manual for more information on using these
+widgets.
+<p> Link to <a href="sql.html">sql/overview/form2/main.cpp</a>
+<p> <a name="Custom_Editor_Widgets"></a>
+<h3> Custom Editor Widgets
+</h3>
+<a name="8-3"></a><p> <a href="qsqlform.html">QSqlForm</a> uses <a href="qsqlpropertymap.html">QSqlPropertyMap</a> to handle the transfer of data between
+widgets and database fields. Custom widgets can also be used in a form
+by installing a property map that contains information about the
+properties of the custom widget which should be used to transfer the
+data.
+<p> This example is based on the form2 example in the previous section so
+we will only cover the differences here. The full source is in <a href="sql-overview-custom1-main-h.html">sql/overview/custom1/main.h</a> and <a href="sql-overview-custom1-main-cpp.html">sql/overview/custom1/main.cpp</a>
+<p>
+
+<pre> class CustomEdit : public <a href="qlineedit.html">QLineEdit</a>
+ {
+ Q_OBJECT
+ Q_PROPERTY( QString upperLine READ upperLine WRITE setUpperLine )
+ public:
+ CustomEdit( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ <a href="qstring.html">QString</a> upperLine() const;
+ void setUpperLine( const <a href="qstring.html">QString</a> &amp;line );
+ public slots:
+ void changed( const <a href="qstring.html">QString</a> &amp;line );
+ private:
+ <a href="qstring.html">QString</a> upperLineText;
+ };
+</pre>
+<p> We've created a simple subclass of <a href="qlineedit.html">QLineEdit</a> and added a property,
+upperLineText, which will hold an uppercase version of the text. We
+also created a slot, changed().
+<p> <pre> <a href="qsqlpropertymap.html">QSqlPropertyMap</a> *propMap;
+</pre>
+<p> We will be using a property map so we add a pointer to a property map
+to our FormDialog's private data.
+<p>
+
+<pre> CustomEdit::CustomEdit( <a href="qwidget.html">QWidget</a> *parent, const char *name ) :
+ <a href="qlineedit.html">QLineEdit</a>( parent, name )
+ {
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL(<a href="qlineedit.html#textChanged">textChanged</a>(const <a href="qstring.html">QString</a> &amp;)),
+ this, SLOT(changed(const <a href="qstring.html">QString</a> &amp;)) );
+ }
+</pre>
+<p> In the CustomEdit constructor we use the QLineEdit constructor and add
+a connection between the textChanged signal and our own changed slot.
+<p> <pre> void CustomEdit::changed( const <a href="qstring.html">QString</a> &amp;line )
+ {
+ setUpperLine( line );
+ }
+</pre>
+<p> The changed() slot calls our setUpperLine() function.
+<p> <pre> void CustomEdit::setUpperLine( const <a href="qstring.html">QString</a> &amp;line )
+ {
+ <a name="x2240"></a> upperLineText = line.<a href="qstring.html#upper">upper</a>();
+ setText( upperLineText );
+ }
+</pre>
+<p> The setUpperLine() function places an uppercase copy of the text in the
+upperLineText buffer and then sets the text of the widget to this text.
+<p> Our CustomEdit class ensures that the text entered is always uppercase
+and provides a property that can be used with a property map to link
+CustomEdit instances directly to database fields.
+<p> <pre> CustomEdit *forenameEdit = new CustomEdit( this );
+</pre>
+<p> <pre> CustomEdit *surnameEdit = new CustomEdit( this );
+</pre>
+<p> We use the same FormDialog as we did before, but this time replace two
+of the <a href="qlineedit.html">QLineEdit</a> widgets with our own CustomEdit widgets.
+<p> Laying out the grid and setting up the cursor is the same as before.
+<p> <pre> propMap = new <a href="qsqlpropertymap.html">QSqlPropertyMap</a>;
+ <a name="x2239"></a><a name="x2235"></a> propMap-&gt;<a href="qsqlpropertymap.html#insert">insert</a>( forenameEdit-&gt;<a href="qobject.html#className">className</a>(), "upperLine" );
+</pre>
+<p> We create a new property map on the heap and register our CustomEdit
+class and its upperLine property with the property map.
+<p> <pre> sqlForm = new <a href="qsqlform.html">QSqlForm</a>( this );
+ <a name="x2238"></a><a name="x2236"></a> sqlForm-&gt;<a href="qsqlform.html#setRecord">setRecord</a>( staffCursor-&gt;<a href="qsqlcursor.html#primeUpdate">primeUpdate</a>() );
+ <a name="x2237"></a> sqlForm-&gt;<a href="qsqlform.html#installPropertyMap">installPropertyMap</a>( propMap );
+</pre>
+<p> The final change is to install the property map into the <a href="qsqlform.html">QSqlForm</a> once
+the QSqlForm has been created. This passes responsibility for the
+property map's memory to QSqlForm which itself is owned by the
+FormDialog, so Qt will delete them at the right time.
+<p> The behaviour of this example is identical to the previous one except
+that the forename and surname fields will be uppercase since they use
+our CustomEdit widget.
+<p> <a name="Custom_Editor_Widgets_for_Tables"></a>
+<h4> Custom Editor Widgets for Tables
+</h4>
+<a name="8-3-1"></a><p> We must reimpliment <a href="qsqleditorfactory.html">QSqlEditorFactory</a> to use custom editor widgets in
+tables. In the following example we will create a custom editor based
+on <a href="qcombobox.html">QComboBox</a> and a QSqlEditorFactory subclass to show how a <a href="qdatatable.html">QDataTable</a>
+can use a custom editor.
+<p>
+
+<pre> class StatusPicker : public <a href="qcombobox.html">QComboBox</a>
+ {
+ Q_OBJECT
+ Q_PROPERTY( int statusid READ statusId WRITE setStatusId )
+ public:
+ StatusPicker( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ int statusId() const;
+ void setStatusId( int id );
+ private:
+ <a href="qmap.html">QMap</a>&lt; int, int &gt; index2id;
+ };
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table3-main-h.html">sql/overview/table3/main.h</a>
+</em></p>
+</blockquote><p> We create a property, statusid, and define our READ and WRITE methods
+for it. The statusid's in the status table will probably be different
+from the combobox's indexes so we create a <a href="qmap.html">QMap</a> to map combobox indexes
+to/from the statusids that we will list in the combobox.
+<p> <pre> class CustomSqlEditorFactory : public <a href="qsqleditorfactory.html">QSqlEditorFactory</a>
+ {
+ Q_OBJECT
+ public:
+ <a href="qwidget.html">QWidget</a> *createEditor( <a href="qwidget.html">QWidget</a> *parent, const <a href="qsqlfield.html">QSqlField</a> *field );
+ };
+</pre>
+<p> We also need to subclass <a href="qsqleditorfactory.html">QSqlEditorFactory</a> declaring a createEditor()
+function since that is the only function we need to reimplement.
+<p>
+
+<pre> StatusPicker::StatusPicker( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qcombobox.html">QComboBox</a>( parent, name )
+ {
+ <a href="qsqlcursor.html">QSqlCursor</a> cur( "status" );
+ <a name="x2242"></a><a name="x2241"></a> cur.<a href="qsqlcursor.html#select">select</a>( cur.<a href="qsqlcursor.html#index">index</a>( "name" ) );
+
+ int i = 0;
+ while ( cur.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2243"></a> <a href="qcombobox.html#insertItem">insertItem</a>( cur.<a href="qsqlquery.html#value">value</a>( "name" ).toString(), i );
+ index2id[i] = cur.<a href="qsqlquery.html#value">value</a>( "id" ).toInt();
+ i++;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table3-main-cpp.html">sql/overview/table3/main.cpp</a>
+</em></p>
+</blockquote><p> In the StatusPicker's constructor we create a cursor over the status
+table indexed by the name field. We then iterate over each record in the
+status table inserting each name into the combobox. We store the
+statusid for each name in the index2id <a href="qmap.html">QMap</a> using the same QMap index as
+the combobox index.
+<p> <pre> int StatusPicker::statusId() const
+ {
+ return index2id[ currentItem() ];
+ }
+</pre>
+<p> The statusid property READ function simply involves looking up the
+combobox's index for the currently selected item in the index2id QMap
+which maps combobox indexes to statusids.
+<p> <pre> void StatusPicker::setStatusId( int statusid )
+ {
+ QMap&lt;int,int&gt;::Iterator it;
+ for ( it = index2id.begin(); it != index2id.end(); ++it ) {
+ if ( it.data() == statusid ) {
+ setCurrentItem( it.key() );
+ break;
+ }
+ }
+ }
+</pre>
+<p> The statusId() function implements the statusid property's WRITE
+function. We create an iterator over a QMap and iterate over the
+index2id QMap. We compare each index2id element's data (statusid) to
+the id parameter's value. If we have a match we set the combobox's
+current item to the index2id element's key (the combobox index), and
+leave the loop.
+<p> When the user edits the status field in the <a href="qdatatable.html">QDataTable</a> they will be
+presented with a combobox of valid status names taken from the status
+table. However the status displayed is still the raw statusid. To
+display the status name when the field isn't being edited requires us
+to subclass QDataTable and reimplement the paintField() function.
+<p>
+
+<pre> class CustomTable : public <a href="qdatatable.html">QDataTable</a>
+ {
+ Q_OBJECT
+ public:
+ CustomTable(
+ <a href="qsqlcursor.html">QSqlCursor</a> *cursor, bool autoPopulate = FALSE,
+ <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0 ) :
+ <a href="qdatatable.html">QDataTable</a>( cursor, autoPopulate, parent, name ) {}
+ void paintField(
+ <a href="qpainter.html">QPainter</a> * p, const <a href="qsqlfield.html">QSqlField</a>* field, const <a href="qrect.html">QRect</a> &amp; cr, bool );
+
+ };
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table4-main-h.html">sql/overview/table4/main.h</a>
+</em></p>
+</blockquote><p> We simply call the original <a href="qdatatable.html">QDataTable</a> constructor without changing
+anything. We also declare the paintField function.
+<p>
+
+<pre> <a name="x2245"></a>void CustomTable::<a href="qdatatable.html#paintField">paintField</a>( <a href="qpainter.html">QPainter</a> * p, const <a href="qsqlfield.html">QSqlField</a>* field,
+ const <a href="qrect.html">QRect</a> &amp; cr, bool b)
+ {
+ if ( !field )
+ return;
+ <a name="x2249"></a> if ( field-&gt;<a href="qsqlfield.html#name">name</a>() == "statusid" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM status WHERE id=" +
+ <a name="x2250"></a> field-&gt;<a href="qsqlfield.html#value">value</a>().toString() );
+ <a href="qstring.html">QString</a> text;
+ if ( query.<a href="qsqlquery.html#next">next</a>() ) {
+ <a name="x2252"></a> text = query.<a href="qsqlquery.html#value">value</a>( 0 ).toString();
+ }
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>( 2,2, cr.<a href="qrect.html#width">width</a>()-4, cr.<a href="qrect.html#height">height</a>()-4, fieldAlignment( field ), text );
+ }
+ else {
+ QDataTable::<a href="qdatatable.html#paintField">paintField</a>( p, field, cr, b) ;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-table4-main-cpp.html">sql/overview/table4/main.cpp</a>
+</em></p>
+</blockquote><p> The paintField code is based on <a href="qdatatable.html">QDataTable</a>'s source code. We need to
+make three changes. Firstly add an if clause <tt>field-&gt;name() == "statusid"</tt> and look up the textual value for the id with a
+straighforward <a href="qsqlquery.html">QSqlQuery</a>. Secondly call the superclass to handle other
+fields. The last change is in our main function where we change
+staffTable from being a QDataTable to being a CustomTable.
+<p> <a name="Subclassing_QSqlCursor"></a>
+<h2> Subclassing <a href="qsqlcursor.html">QSqlCursor</a>
+</h2>
+<a name="9"></a><p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+ #include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+ #include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+ #include "../connection.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ if ( createConnections() ) {
+ <a href="qsqlcursor.html">QSqlCursor</a> invoiceItemCursor( "invoiceitem" );
+
+ <a href="qdatatable.html">QDataTable</a> *invoiceItemTable = new <a href="qdatatable.html">QDataTable</a>( &amp;invoiceItemCursor );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( invoiceItemTable );
+
+ <a name="x2255"></a> invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "pricesid", "PriceID" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "quantity", "Quantity" );
+ invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "paiddate", "Paid" );
+
+ <a name="x2256"></a> invoiceItemTable-&gt;<a href="qdatatable.html#refresh">refresh</a>();
+ invoiceItemTable-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+
+ return 1;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass1-main-cpp.html">sql/overview/subclass1/main.cpp</a>
+</em></p>
+</blockquote><p> This example is very similar to the table1 example presented earlier. We
+create a cursor, add the fields and their display labels to a <a href="qdatatable.html">QDataTable</a>,
+call refresh() to load the data and call show() to show the widget.
+<p> Unfortunately this example is unsatisfactory. It is tedious to set the
+table name and any custom characteristics for the fields every time we
+need a cursor over this table. And it would be far better if we
+displayed the name of the product rather than its pricesid. Since we
+know the price of the product and the quantity we could also show the
+product cost and the cost of each invoiceitem. Finally it would be
+useful (or even essential for primary keys) if we could default some of
+the values when the user adds a new record.
+<p>
+
+<pre> class InvoiceItemCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+ {
+ public:
+ InvoiceItemCursor();
+ };
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass2-main-h.html">sql/overview/subclass2/main.h</a>
+</em></p>
+</blockquote><p> We have created a separate header file and subclassed <a href="qsqlcursor.html">QSqlCursor</a>.
+<p>
+
+<pre> InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+ {
+ // NOOP
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass2-main-cpp.html">sql/overview/subclass2/main.cpp</a>
+</em></p>
+</blockquote><p> In our class's constructor we call the QSqlCursor constructor with the
+name of the table. We don't have any other characteristics to add at
+this stage.
+<p> <pre> InvoiceItemCursor invoiceItemCursor;
+</pre>
+<p> Whenever we require a cursor over the invoiceitem table we can create
+an InvoiceItemCursor instead of a generic QSqlCursor.
+<p> We still need to show the product name rather than the pricesid.
+<p>
+
+<pre> protected:
+ <a href="qvariant.html">QVariant</a> calculateField( const <a href="qstring.html">QString</a> &amp; name );
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass3-main-h.html">sql/overview/subclass3/main.h</a>
+</em></p>
+</blockquote><p> The change in the header file is minimal: we simply add the signature
+of the calculateField() function since we will be reimplementing it.
+<p>
+
+<pre> InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+ {
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productName( "productname", QVariant::String );
+ <a href="qsqlcursor.html#append">append</a>( productName );
+ <a name="x2260"></a> <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productName.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+ }
+
+ <a name="x2259"></a>QVariant InvoiceItemCursor::<a href="qsqlcursor.html#calculateField">calculateField</a>( const <a href="qstring.html">QString</a> &amp; name )
+ {
+ if ( name == "productname" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ <a name="x2262"></a> return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+
+ return QVariant( <a href="qstring.html#QString-null">QString::null</a> );
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass3-main-cpp.html">sql/overview/subclass3/main.cpp</a>
+</em></p>
+</blockquote><p> We have changed the InvoiceItemCursor constructor. We now create a new
+<a href="qsqlfield.html">QSqlField</a> called productname and append this to the
+InvoiceItemCursor's set of fields. We call setCalculated() on
+productname to identify it as a calculated field. The first argument
+to setCalculated() is the field name, the second a bool which if TRUE
+signifies that calculateField() must be called to get the field's
+value.
+<p> <pre> <a name="x2258"></a> invoiceItemTable-&gt;<a href="qdatatable.html#addColumn">addColumn</a>( "productname", "Product" );
+</pre>
+<p> We add our new fields with addColumn() which adds them to the form and
+sets their display names.
+<p> We have to define our own calculateField() function. In our example
+database the pricesid in the invoiceitem table is a foreign key into
+the prices table. We find the name of the product by executing a query
+on the prices table using the pricesid. This returns the product's
+name.
+<p> We are now able to extend the example to include calculated fields
+which perform real calculations.
+<p> The header file, <a href="sql-overview-subclass4-main-h.html">sql/overview/subclass4/main.h</a>, remains unchanged
+from the previous example, but the constructor and calculateField()
+function require some simple expansion. We'll look at each in turn.
+<p>
+
+<pre> InvoiceItemCursor::InvoiceItemCursor() :
+ <a href="qsqlcursor.html">QSqlCursor</a>( "invoiceitem" )
+ {
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productName( "productname", QVariant::String );
+ <a href="qsqlcursor.html#append">append</a>( productName );
+ <a name="x2264"></a> <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productName.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productPrice( "price", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productPrice );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productPrice.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+
+ <a href="qsqlfieldinfo.html">QSqlFieldInfo</a> productCost( "cost", QVariant::Double );
+ <a href="qsqlcursor.html#append">append</a>( productCost );
+ <a href="qsqlcursor.html#setCalculated">setCalculated</a>( productCost.<a href="qsqlfieldinfo.html#name">name</a>(), TRUE );
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass4-main-cpp.html">sql/overview/subclass4/main.cpp</a>
+</em></p>
+</blockquote><p> We create two extra fields, price and cost, and append them to the
+cursor's set of fields. Both are registered as calculated fields with
+calls to setCalculated().
+<p> <pre> <a name="x2263"></a>QVariant InvoiceItemCursor::<a href="qsqlcursor.html#calculateField">calculateField</a>( const <a href="qstring.html">QString</a> &amp; name )
+ {
+
+ if ( name == "productname" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT name FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ <a name="x2265"></a> if ( query.<a href="qsqlquery.html#next">next</a>() )
+ <a name="x2266"></a> return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "price" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return query.<a href="qsqlquery.html#value">value</a>( 0 );
+ }
+ else if ( name == "cost" ) {
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT price FROM prices WHERE id=" +
+ <a href="qsqlrecord.html#field">field</a>( "pricesid" )-&gt;value().toString() );
+ if ( query.<a href="qsqlquery.html#next">next</a>() )
+ return QVariant( query.<a href="qsqlquery.html#value">value</a>( 0 ).toDouble() *
+ <a href="qsqlquery.html#value">value</a>( "quantity").toDouble() );
+ }
+
+ return QVariant( QString::null );
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass4-main-cpp.html">sql/overview/subclass4/main.cpp</a>
+</em></p>
+</blockquote><p> The calculateField() function has expanded slightly because now we
+must calculate the value of three different fields. The productname
+and price fields are produced by looking up the corresponding values
+in the prices table keyed by pricesid. The cost field is calculated
+simply by multiplying the price by the quantity. Note that we cast the
+cost to a <a href="qvariant.html">QVariant</a> since that is the type that calculateField() must
+return.
+<p> We've written three separate queries rather than one to make the
+example more like a real application where it is more likely that each
+calculated field would be a lookup against a different table or view.
+<p> The last feature that we need to add is defaulting values when the
+user attempts to insert a new record.
+<p>
+
+<pre> <a href="qsqlrecord.html">QSqlRecord</a> *primeInsert();
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass5-main-h.html">sql/overview/subclass5/main.h</a>
+</em></p>
+</blockquote><p> We declare our own primeInsert() function since we will need to
+reimplement this.
+<p> The constructor and the calculateField() function remain unchanged.
+<p>
+
+<pre> <a name="x2267"></a>QSqlRecord *InvoiceItemCursor::<a href="qsqlcursor.html#primeInsert">primeInsert</a>()
+ {
+ <a href="qsqlrecord.html">QSqlRecord</a> *buffer = <a href="qsqlcursor.html#editBuffer">editBuffer</a>();
+ <a href="qsqlquery.html">QSqlQuery</a> query( "SELECT NEXTVAL( 'invoiceitem_seq' )" );
+ <a name="x2268"></a> if ( query.<a href="qsqlquery.html#next">next</a>() )
+ <a name="x2270"></a><a name="x2269"></a> buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", query.<a href="qsqlquery.html#value">value</a>( 0 ) );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "paiddate", QDate::currentDate() );
+ buffer-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "quantity", 1 );
+
+ return buffer;
+ }
+</pre><blockquote><p align="center"><em> From <a href="sql-overview-subclass5-main-cpp.html">sql/overview/subclass5/main.cpp</a>
+</em></p>
+</blockquote><p> We get a pointer to the internal edit buffer that the cursor uses for
+inserts and updates. The id field is a unique integer that we generate
+using the invoiceitem_seq. We default the value of the paiddate field
+to today's date and default the quantity to 1. Finally we return a
+pointer to the buffer. The rest of the code is unchanged from the
+previous version.
+<p> <a name="Example_Tables"></a>
+<h2> The Example Tables
+</h2>
+<a name="10"></a><p> The example tables used can be recreated with the following standard
+SQL. You may need to modify the SQL to match that used by your
+particular database.
+<p> <pre>
+create table people (id integer primary key, name char(40))
+
+create table staff (id integer primary key, forename char(40),
+ surname char(40), salary float, statusid integer)
+
+create table status (id integer primary key, name char(30))
+
+create table creditors (id integer primary key, forename char(40),
+ surname char(40), city char(30))
+
+create table prices (id integer primary key, name char(40), price float)
+
+create table invoiceitem (id integer primary key,
+ pricesid integer, quantity integer,
+ paiddate date)
+</pre>
+
+<p> A sequence was used in the calculateField() example above. Note that
+sequences are not supported in all databases.
+<p> <pre>
+create sequence invoiceitem_seq
+</pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/sqltable-example.html b/doc/html/sqltable-example.html
new file mode 100644
index 0000000..d298361
--- /dev/null
+++ b/doc/html/sqltable-example.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/sql/sqltable/sqltable.doc:11 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>SQL Table</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>SQL Table</h1>
+
+
+<p>
+This example shows how to use a <a href="qdatatable.html">QDataTable</a> to browse data in a SQL database.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qsqldatabase-h.html">qsqldatabase.h</a>&gt;
+#include &lt;<a href="qdatatable-h.html">qdatatable.h</a>&gt;
+#include &lt;<a href="qsqlcursor-h.html">qsqlcursor.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+
+/* Modify the following to match your environment */
+#define DRIVER "QSQLITE" /* see the Qt SQL documentation for a list of available drivers */
+#define DATABASE ":memory:" /* the name of your database */
+#define USER "" /* user name with appropriate rights */
+#define PASSWORD "" /* password for USER */
+#define HOST "" /* host on which the database is running */
+
+class SimpleCursor : public <a href="qsqlcursor.html">QSqlCursor</a>
+{
+public:
+ SimpleCursor () : <a href="qsqlcursor.html">QSqlCursor</a>( "simpletable" ) {}
+protected:
+ <a href="qsqlrecord.html">QSqlRecord</a>* primeInsert()
+ {
+ /* a real-world application would use sequences, or the like */
+<a name="x2453"></a> <a href="qsqlrecord.html">QSqlRecord</a>* buf = QSqlCursor::<a href="qsqlcursor.html#primeInsert">primeInsert</a>();
+ <a href="qsqlquery.html">QSqlQuery</a> q( "select max(id)+1 from simpletable" );
+ if ( q.<a href="qsqlquery.html#next">next</a>() )
+<a name="x2464"></a> buf-&gt;<a href="qsqlrecord.html#setValue">setValue</a>( "id", q.<a href="qsqlquery.html#value">value</a>(0) );
+ return buf;
+ }
+};
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+<a name="x2454"></a> <a href="qsqldatabase.html">QSqlDatabase</a> * db = QSqlDatabase::<a href="qsqldatabase.html#addDatabase">addDatabase</a>( DRIVER );
+<a name="x2457"></a> db-&gt;<a href="qsqldatabase.html#setDatabaseName">setDatabaseName</a>( DATABASE );
+<a name="x2460"></a> db-&gt;<a href="qsqldatabase.html#setUserName">setUserName</a>( USER );
+<a name="x2459"></a> db-&gt;<a href="qsqldatabase.html#setPassword">setPassword</a>( PASSWORD );
+<a name="x2458"></a> db-&gt;<a href="qsqldatabase.html#setHostName">setHostName</a>( HOST );
+
+<a name="x2456"></a> if( !db-&gt;<a href="qsqldatabase.html#open">open</a>() ){
+<a name="x2455"></a> db-&gt;<a href="qsqldatabase.html#lastError">lastError</a>().showMessage( "An error occured. Please read the README file in the sqltable"
+ "dir for more information.\n\n" );
+ return 1;
+ }
+
+<a name="x2461"></a> if (!db-&gt;<a href="qsqldatabase.html#tables">tables</a>().contains("simpletable")) {
+ <a href="qsqlquery.html">QSqlQuery</a> q("create table simpletable(id int, name varchar(20), address varchar(20))", db);
+ }
+
+ SimpleCursor cursor;
+
+ <a href="qdatatable.html">QDataTable</a> table( &amp;cursor ); /* data table uses our cursor */
+<a name="x2451"></a> table.<a href="qdatatable.html#addColumn">addColumn</a>( "name", "Name" );
+ table.<a href="qdatatable.html#addColumn">addColumn</a>( "address", "Address" );
+<a name="x2465"></a> table.<a href="qtable.html#setSorting">setSorting</a>( TRUE );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;table );
+<a name="x2452"></a> table.<a href="qdatatable.html#refresh">refresh</a>(); /* load data */
+ table.<a href="qwidget.html#show">show</a>(); /* show widget */
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p> <p>See also <a href="sql-examples.html">Qt SQL Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/statistics-example.html b/doc/html/statistics-example.html
new file mode 100644
index 0000000..65c1157
--- /dev/null
+++ b/doc/html/statistics-example.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/table/statistics/statistics.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Table Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Table Example</h1>
+
+
+<p>
+Another <a href="qtable.html">QTable</a> example.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/statistics.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef STATISTICS_H
+#define STATISTICS_H
+
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+
+class TableItem : public <a href="qtableitem.html">QTableItem</a>
+{
+public:
+ TableItem( <a href="qtable.html">QTable</a> *t, EditType et, const <a href="qstring.html">QString</a> &amp;txt ) : <a href="qtableitem.html">QTableItem</a>( t, et, txt ) {}
+ void paint( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg, const <a href="qrect.html">QRect</a> &amp;cr, bool selected );
+};
+
+class ComboItem : public <a href="qtableitem.html">QTableItem</a>
+{
+public:
+ ComboItem( <a href="qtable.html">QTable</a> *t, EditType et );
+ <a href="qwidget.html">QWidget</a> *createEditor() const;
+ void setContentFromEditor( <a href="qwidget.html">QWidget</a> *w );
+ void setText( const <a href="qstring.html">QString</a> &amp;s );
+
+private:
+ <a href="qcombobox.html">QComboBox</a> *cb;
+
+};
+
+class Table : public <a href="qtable.html">QTable</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Table();
+ void sortColumn( int col, bool ascending, bool wholeRows );
+
+private slots:
+ void recalcSum( int row, int col );
+
+private:
+ void initTable();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/statistics.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "statistics.h"
+
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+const char* dirs[] = {
+ "kernel",
+ "tools",
+ "widgets",
+ "dialogs",
+ "xml",
+ "table",
+ "network",
+ "opengl",
+ "canvas",
+ 0
+};
+
+<a name="f578"></a>Table::Table()
+ : <a href="qtable.html">QTable</a>( 10, 100, 0, "table" )
+{
+ <a href="qtable.html#setSorting">setSorting</a>( TRUE );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 0, tr( "File" ) );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 1, tr( "Size (bytes)" ) );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 2, tr( "Use in Sum" ) );
+ initTable();
+ <a href="qtable.html#adjustColumn">adjustColumn</a>( 0 );
+
+ // if the user edited something we might need to recalculate the sum
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qtable.html#valueChanged">valueChanged</a>( int, int ) ),
+ this, SLOT( recalcSum( int, int ) ) );
+}
+
+void <a name="f579"></a>Table::initTable()
+{
+ // read all the Qt source and header files into a list
+ <a href="qstringlist.html">QStringList</a> all;
+ int i = 0;
+ <a href="qstring.html">QString</a> srcdir( "../../../src/" );
+ while ( dirs[ i ] ) {
+ <a href="qdir.html">QDir</a> dir( srcdir + dirs[ i ] );
+<a name="x2780"></a> <a href="qstringlist.html">QStringList</a> lst = dir.<a href="qdir.html#entryList">entryList</a>( "*.cpp; *.h" );
+<a name="x2791"></a><a name="x2789"></a> for ( QStringList::Iterator it = lst.<a href="qvaluelist.html#begin">begin</a>(); it != lst.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ if ( ( *it ).contains( "moc" ) )
+ continue;
+ all &lt;&lt; (QString( dirs[ i ] ) + "/" + *it);
+ }
+ ++i;
+ }
+
+ // set the number of rows we'll need for the table
+<a name="x2790"></a> <a href="qtable.html#setNumRows">setNumRows</a>( all.<a href="qvaluelist.html#count">count</a>() + 1 );
+ i = 0;
+ int sum = 0;
+
+ // insert the data into the table
+ for ( QStringList::Iterator it = all.<a href="qvaluelist.html#begin">begin</a>(); it != all.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ <a href="qtable.html#setText">setText</a>( i, 0, *it );
+ <a href="qfile.html">QFile</a> f( srcdir + *it );
+<a name="x2781"></a> <a href="qtable.html#setText">setText</a>( i, 1, QString::number( (ulong)f.<a href="qfile.html#size">size</a>() ) );
+ ComboItem *ci = new ComboItem( this, QTableItem::WhenCurrent );
+ <a href="qtable.html#setItem">setItem</a>( i++, 2, ci );
+ sum += f.<a href="qfile.html#size">size</a>();
+ }
+
+ // last row should show the sum
+ TableItem *i1 = new TableItem( this, QTableItem::Never, tr( "Sum" ) );
+ <a href="qtable.html#setItem">setItem</a>( i, 0, i1 );
+ TableItem *i2 = new TableItem( this, QTableItem::Never, QString::number( sum ) );
+ <a href="qtable.html#setItem">setItem</a>( i, 1, i2 );
+}
+
+void <a name="f580"></a>Table::recalcSum( int, int col )
+{
+ // only recalc if a value in the second or third column changed
+ if ( col &lt; 1 || col &gt; 2 )
+ return;
+
+ // recalc sum
+ int sum = 0;
+ for ( int i = 0; i &lt; numRows() - 1; ++i ) {
+ if ( <a href="qtableitem.html#text">text</a>( i, 2 ) == "No" )
+ continue;
+ sum += <a href="qtableitem.html#text">text</a>( i, 1 ).toInt();
+ }
+
+ // insert calculated data
+ TableItem *i1 = new TableItem( this, QTableItem::Never, tr( "Sum" ) );
+ setItem( numRows() - 1, 0, i1 );
+ TableItem *i2 = new TableItem( this, QTableItem::Never, QString::number( sum ) );
+ setItem( numRows() - 1, 1, i2 );
+}
+
+<a name="x2784"></a>void Table::<a href="qtable.html#sortColumn">sortColumn</a>( int col, bool ascending, bool /*wholeRows*/ )
+{
+ // sum row should not be sorted, so get rid of it for now
+ clearCell( numRows() - 1, 0 );
+ clearCell( numRows() - 1, 1 );
+ // do sort
+ QTable::<a href="qtable.html#sortColumn">sortColumn</a>( col, ascending, TRUE );
+ // re-insert sum row
+ recalcSum( 0, 1 );
+}
+
+
+
+<a name="x2786"></a>void TableItem::<a href="qtableitem.html#paint">paint</a>( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg, const <a href="qrect.html">QRect</a> &amp;cr, bool selected )
+{
+ <a href="qcolorgroup.html">QColorGroup</a> g( cg );
+ // last row is the sum row - we want to make it more visible by
+ // using a red background
+ if ( <a href="qtableitem.html#row">row</a>() == <a href="qtableitem.html#table">table</a>()-&gt;numRows() - 1 )
+<a name="x2779"></a> g.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::Base, red );
+ QTableItem::<a href="qtableitem.html#paint">paint</a>( p, g, cr, selected );
+}
+
+
+
+
+<a name="f577"></a>ComboItem::ComboItem( <a href="qtable.html">QTable</a> *t, EditType et )
+ : <a href="qtableitem.html">QTableItem</a>( t, et, "Yes" ), cb( 0 )
+{
+ // we do not want this item to be replaced
+ <a href="qtableitem.html#setReplaceable">setReplaceable</a>( FALSE );
+}
+
+<a name="x2785"></a>QWidget *ComboItem::<a href="qtableitem.html#createEditor">createEditor</a>() const
+{
+ // create an editor - a combobox in our case
+ ( (ComboItem*)this )-&gt;cb = new <a href="qcombobox.html">QComboBox</a>( <a href="qtableitem.html#table">table</a>()-&gt;viewport() );
+ QObject::<a href="qobject.html#connect">connect</a>( cb, SIGNAL( activated( int ) ), table(), SLOT( doValueChanged() ) );
+ cb-&gt;insertItem( "Yes" );
+ cb-&gt;insertItem( "No" );
+ // and initialize it
+ cb-&gt;setCurrentItem( <a href="qtableitem.html#text">text</a>() == "No" ? 1 : 0 );
+ return cb;
+}
+
+<a name="x2787"></a>void ComboItem::<a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>( <a href="qwidget.html">QWidget</a> *w )
+{
+ // the user changed the value of the combobox, so synchronize the
+ // value of the item (its text), with the value of the combobox
+<a name="x2783"></a> if ( w-&gt;<a href="qobject.html#inherits">inherits</a>( "QComboBox" ) )
+ <a href="qtableitem.html#setText">setText</a>( ( (QComboBox*)w )-&gt;currentText() );
+ else
+ QTableItem::<a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>( w );
+}
+
+<a name="x2788"></a>void ComboItem::<a href="qtableitem.html#setText">setText</a>( const <a href="qstring.html">QString</a> &amp;s )
+{
+ if ( cb ) {
+ // initialize the combobox from the text
+ if ( s == "No" )
+ cb-&gt;setCurrentItem( 1 );
+ else
+ cb-&gt;setCurrentItem( 0 );
+ }
+ QTableItem::<a href="qtableitem.html#setText">setText</a>( s );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "statistics.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+
+ Table t;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;t );
+ t.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="table-examples.html">Table Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/step-by-step-examples.html b/doc/html/step-by-step-examples.html
new file mode 100644
index 0000000..2413c73
--- /dev/null
+++ b/doc/html/step-by-step-examples.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:496 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Step-by-step Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Step-by-step Examples</h1>
+
+
+<p> Step-by-step examples provide a careful explanation of
+example code.
+<p> The covered example programs usually show how to use certain classes
+or deal with programming techniques and Qt basics.
+<p> These examples are especially aimed at Qt novices and less experienced
+programmers and try to make learning Qt as painless as possible.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="canvas-chart-example.html">A Complete Canvas Application</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="extension-dialog-example.html">An Extension Dialog Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="simple-application.html">Walkthrough: A Simple Application</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="xml-sax-features-walkthrough.html">Walkthrough: Using SAX2 features with the Qt XML classes</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="xml-sax-walkthrough.html">Walkthrough: How to use the Qt SAX2 classes</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t1.png b/doc/html/t1.png
new file mode 100644
index 0000000..4de555a
--- /dev/null
+++ b/doc/html/t1.png
Binary files differ
diff --git a/doc/html/t10-cannon-cpp.html b/doc/html/t10-cannon-cpp.html
new file mode 100644
index 0000000..f934132
--- /dev/null
+++ b/doc/html/t10-cannon-cpp.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1301 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t10/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t10/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 10
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+
+<a name="f48"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ f = 0;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+}
+
+
+void <a name="f49"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+}
+
+
+void <a name="f50"></a>CannonField::setForce( int newton )
+{
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ if ( !e-&gt;<a href="qpaintevent.html#rect">rect</a>().intersects( cannonRect() ) )
+ return;
+
+ <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+ pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+
+ <a href="qpainter.html">QPainter</a> p( &amp;pix );
+ p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ p.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ p.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ p.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ p.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( QRect(33, -4, 15, 8) );
+ p.<a href="qpainter.html#end">end</a>();
+
+ p.<a href="qpainter.html#begin">begin</a>( this );
+ p.<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+}
+
+
+QRect <a name="f51"></a>CannonField::cannonRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t10-cannon-h.html b/doc/html/t10-cannon-h.html
new file mode 100644
index 0000000..6bd6d6a
--- /dev/null
+++ b/doc/html/t10-cannon-h.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1300 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t10/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t10/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 10
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+ int angle() const { return ang; }
+ int force() const { return f; }
+
+public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+
+signals:
+ void angleChanged( int );
+ void forceChanged( int );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ <a href="qrect.html">QRect</a> cannonRect() const;
+
+ int ang;
+ int f;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t10-lcdrange-cpp.html b/doc/html/t10-lcdrange-cpp.html
new file mode 100644
index 0000000..ef74623
--- /dev/null
+++ b/doc/html/t10-lcdrange-cpp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1299 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t10/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t10/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+<a name="f44"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+}
+
+int <a name="f45"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+void <a name="f46"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+void <a name="f47"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t10-lcdrange-h.html b/doc/html/t10-lcdrange-h.html
new file mode 100644
index 0000000..80ea5b9
--- /dev/null
+++ b/doc/html/t10-lcdrange-h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1298 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t10/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t10/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int value() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+
+signals:
+ void valueChanged( int );
+
+private:
+ <a href="qslider.html">QSlider</a> *slider;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t10-main-cpp.html b/doc/html/t10-main-cpp.html
new file mode 100644
index 0000000..80e189f
--- /dev/null
+++ b/doc/html/t10-main-cpp.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1302 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t10/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t10/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 10
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class MyWidget: public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f52"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ LCDRange *force = new LCDRange( this, "force" );
+ force-&gt;setRange( 10, 50 );
+
+ CannonField *cannonField = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+
+ angle-&gt;setValue( 60 );
+ force-&gt;setValue( 25 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t10.png b/doc/html/t10.png
new file mode 100644
index 0000000..434b3fa
--- /dev/null
+++ b/doc/html/t10.png
Binary files differ
diff --git a/doc/html/t11-cannon-cpp.html b/doc/html/t11-cannon-cpp.html
new file mode 100644
index 0000000..18239fe
--- /dev/null
+++ b/doc/html/t11-cannon-cpp.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1503 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t11/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t11/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 11
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+
+#include &lt;math.h&gt;
+
+
+<a name="f57"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ f = 0;
+ timerCount = 0;
+ autoShootTimer = new <a href="qtimer.html">QTimer</a>( this, "movement handler" );
+ <a href="qobject.html#connect">connect</a>( autoShootTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(moveShot()) );
+ shoot_ang = 0;
+ shoot_f = 0;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+}
+
+
+void <a name="f58"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+}
+
+
+void <a name="f59"></a>CannonField::setForce( int newton )
+{
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+}
+
+
+void <a name="f60"></a>CannonField::shoot()
+{
+ if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+}
+
+
+void <a name="f61"></a>CannonField::moveShot()
+{
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+
+ if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ else
+ r = r.<a href="qrect.html#unite">unite</a>( QRegion( shotR ) );
+ <a href="qwidget.html#repaint">repaint</a>( r );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() &amp;&amp;
+ updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+}
+
+
+void <a name="f62"></a>CannonField::paintShot( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( black );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( shotRect() );
+}
+
+
+const <a href="qrect.html">QRect</a> barrelRect(33, -4, 15, 8);
+
+void <a name="f63"></a>CannonField::paintCannon( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+ pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+
+ <a href="qpainter.html">QPainter</a> tmp( &amp;pix );
+ tmp.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ tmp.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+
+ tmp.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ tmp.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ tmp.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ tmp.<a href="qpainter.html#drawRect">drawRect</a>( barrelRect );
+ tmp.<a href="qpainter.html#end">end</a>();
+
+ p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+}
+
+
+QRect <a name="f64"></a>CannonField::cannonRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+}
+
+
+QRect <a name="f65"></a>CannonField::shotRect() const
+{
+ const double gravity = 4;
+
+ double time = timerCount / 4.0;
+ double velocity = shoot_f;
+ double radians = shoot_ang*3.14159265/180;
+
+ double velx = velocity*cos( radians );
+ double vely = velocity*sin( radians );
+ double x0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*cos(radians);
+ double y0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*sin(radians);
+ double x = x0 + velx*time;
+ double y = y0 + vely*time - 0.5*gravity*time*time;
+
+ <a href="qrect.html">QRect</a> r = QRect( 0, 0, 6, 6 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint( qRound(x), height() - 1 - qRound(y) ) );
+ return r;
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t11-cannon-h.html b/doc/html/t11-cannon-h.html
new file mode 100644
index 0000000..eb6fcd7
--- /dev/null
+++ b/doc/html/t11-cannon-h.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1502 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t11/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t11/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 11
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+class QTimer;
+
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ int force() const { return f; }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+ void shoot();
+
+private slots:
+ void moveShot();
+
+signals:
+ void angleChanged( int );
+ void forceChanged( int );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ void paintShot( <a href="qpainter.html">QPainter</a> * );
+ void paintCannon( <a href="qpainter.html">QPainter</a> * );
+ <a href="qrect.html">QRect</a> cannonRect() const;
+ <a href="qrect.html">QRect</a> shotRect() const;
+
+ int ang;
+ int f;
+
+ int timerCount;
+ <a href="qtimer.html">QTimer</a> * autoShootTimer;
+ float shoot_ang;
+ float shoot_f;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t11-lcdrange-cpp.html b/doc/html/t11-lcdrange-cpp.html
new file mode 100644
index 0000000..96408f3
--- /dev/null
+++ b/doc/html/t11-lcdrange-cpp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1501 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t11/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t11/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+<a name="f53"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+}
+
+int <a name="f54"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+void <a name="f55"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+void <a name="f56"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t11-lcdrange-h.html b/doc/html/t11-lcdrange-h.html
new file mode 100644
index 0000000..f5ea9fe
--- /dev/null
+++ b/doc/html/t11-lcdrange-h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1500 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t11/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t11/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int value() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+
+signals:
+ void valueChanged( int );
+
+private:
+ <a href="qslider.html">QSlider</a> *slider;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t11-main-cpp.html b/doc/html/t11-main-cpp.html
new file mode 100644
index 0000000..9bbfaae
--- /dev/null
+++ b/doc/html/t11-main-cpp.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1504 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t11/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t11/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 11
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class MyWidget: public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f66"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ LCDRange *force = new LCDRange( this, "force" );
+ force-&gt;setRange( 10, 50 );
+
+ CannonField *cannonField = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+
+ <a href="qpushbutton.html">QPushButton</a> *shoot = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Shoot", this, "shoot" );
+ shoot-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), cannonField, SLOT(shoot()) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> *topBox = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( topBox, 0, 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shoot );
+ topBox-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 1 );
+
+ angle-&gt;setValue( 60 );
+ force-&gt;setValue( 25 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t11.png b/doc/html/t11.png
new file mode 100644
index 0000000..fced4e9
--- /dev/null
+++ b/doc/html/t11.png
Binary files differ
diff --git a/doc/html/t12-cannon-cpp.html b/doc/html/t12-cannon-cpp.html
new file mode 100644
index 0000000..2d35de2
--- /dev/null
+++ b/doc/html/t12-cannon-cpp.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1708 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t12/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t12/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 12
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+
+#include &lt;math.h&gt;
+#include &lt;stdlib.h&gt;
+
+
+<a name="f74"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ f = 0;
+ timerCount = 0;
+ autoShootTimer = new <a href="qtimer.html">QTimer</a>( this, "movement handler" );
+ <a href="qobject.html#connect">connect</a>( autoShootTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(moveShot()) );
+ shoot_ang = 0;
+ shoot_f = 0;
+ target = QPoint( 0, 0 );
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ newTarget();
+}
+
+
+void <a name="f75"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+}
+
+
+void <a name="f76"></a>CannonField::setForce( int newton )
+{
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+}
+
+
+void <a name="f77"></a>CannonField::shoot()
+{
+ if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+}
+
+
+void <a name="f78"></a>CannonField::newTarget()
+{
+ static bool first_time = TRUE;
+ if ( first_time ) {
+ first_time = FALSE;
+ <a href="qtime.html">QTime</a> midnight( 0, 0, 0 );
+ srand( midnight.<a href="qtime.html#secsTo">secsTo</a>(QTime::<a href="qtime.html#currentTime">currentTime</a>()) );
+ }
+ <a href="qregion.html">QRegion</a> r( targetRect() );
+ target = QPoint( 200 + rand() % 190,
+ 10 + rand() % 255 );
+ <a href="qwidget.html#repaint">repaint</a>( r.<a href="qrect.html#unite">unite</a>( targetRect() ) );
+}
+
+
+void <a name="f79"></a>CannonField::moveShot()
+{
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+
+ if ( shotR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit hit();
+ } else if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit missed();
+ } else {
+ r = r.<a href="qrect.html#unite">unite</a>( QRegion( shotR ) );
+ }
+
+ <a href="qwidget.html#repaint">repaint</a>( r );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() &amp;&amp;
+ updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) )
+ paintTarget( &amp;p );
+}
+
+
+void <a name="f80"></a>CannonField::paintShot( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( black );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( shotRect() );
+}
+
+
+void <a name="f81"></a>CannonField::paintTarget( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( red );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( targetRect() );
+}
+
+
+const <a href="qrect.html">QRect</a> barrelRect(33, -4, 15, 8);
+
+void <a name="f82"></a>CannonField::paintCannon( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+ pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+
+ <a href="qpainter.html">QPainter</a> tmp( &amp;pix );
+ tmp.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ tmp.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+
+ tmp.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ tmp.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ tmp.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ tmp.<a href="qpainter.html#drawRect">drawRect</a>( barrelRect );
+ tmp.<a href="qpainter.html#end">end</a>();
+
+ p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+}
+
+
+QRect <a name="f83"></a>CannonField::cannonRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+}
+
+
+QRect <a name="f84"></a>CannonField::shotRect() const
+{
+ const double gravity = 4;
+
+ double time = timerCount / 4.0;
+ double velocity = shoot_f;
+ double radians = shoot_ang*3.14159265/180;
+
+ double velx = velocity*cos( radians );
+ double vely = velocity*sin( radians );
+ double x0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*cos(radians);
+ double y0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*sin(radians);
+ double x = x0 + velx*time;
+ double y = y0 + vely*time - 0.5*gravity*time*time;
+
+ <a href="qrect.html">QRect</a> r = QRect( 0, 0, 6, 6 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint( qRound(x), height() - 1 - qRound(y) ) );
+ return r;
+}
+
+
+QRect <a name="f85"></a>CannonField::targetRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 20, 10 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint(target.x(),height() - 1 - target.y()) );
+ return r;
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t12-cannon-h.html b/doc/html/t12-cannon-h.html
new file mode 100644
index 0000000..6c98d45
--- /dev/null
+++ b/doc/html/t12-cannon-h.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1707 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t12/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t12/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 12
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+class QTimer;
+
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ int force() const { return f; }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+ void shoot();
+ void newTarget();
+
+private slots:
+ void moveShot();
+
+signals:
+ void hit();
+ void missed();
+ void angleChanged( int );
+ void forceChanged( int );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ void paintShot( <a href="qpainter.html">QPainter</a> * );
+ void paintTarget( <a href="qpainter.html">QPainter</a> * );
+ void paintCannon( <a href="qpainter.html">QPainter</a> * );
+ <a href="qrect.html">QRect</a> cannonRect() const;
+ <a href="qrect.html">QRect</a> shotRect() const;
+ <a href="qrect.html">QRect</a> targetRect() const;
+
+ int ang;
+ int f;
+
+ int timerCount;
+ <a href="qtimer.html">QTimer</a> * autoShootTimer;
+ float shoot_ang;
+ float shoot_f;
+
+ <a href="qpoint.html">QPoint</a> target;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t12-lcdrange-cpp.html b/doc/html/t12-lcdrange-cpp.html
new file mode 100644
index 0000000..5aa702d
--- /dev/null
+++ b/doc/html/t12-lcdrange-cpp.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1706 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t12/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t12/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+
+
+<a name="f67"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ init();
+}
+
+
+LCDRange::LCDRange( const char *s, QWidget *parent,
+ const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ init();
+ setText( s );
+}
+
+
+void <a name="f68"></a>LCDRange::init()
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+
+ label = new <a href="qlabel.html">QLabel</a>( " ", this, "label" );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+}
+
+
+int <a name="f69"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+
+const char *<a name="f70"></a>LCDRange::text() const
+{
+ return label-&gt;<a href="qlabel.html#text">text</a>();
+}
+
+
+void <a name="f71"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+
+void <a name="f72"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+
+
+void <a name="f73"></a>LCDRange::setText( const char *s )
+{
+ label-&gt;<a href="qlabel.html#setText">setText</a>( s );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t12-lcdrange-h.html b/doc/html/t12-lcdrange-h.html
new file mode 100644
index 0000000..c15de67
--- /dev/null
+++ b/doc/html/t12-lcdrange-h.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1705 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t12/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t12/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+class QLabel;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ LCDRange( const char *s, QWidget *parent=0,
+ const char *name=0 );
+
+ int value() const;
+ const char *text() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+ void setText( const char * );
+
+signals:
+ void valueChanged( int );
+
+private:
+ void init();
+
+ <a href="qslider.html">QSlider</a> *slider;
+ <a href="qlabel.html">QLabel</a> *label;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t12-main-cpp.html b/doc/html/t12-main-cpp.html
new file mode 100644
index 0000000..497e8e4
--- /dev/null
+++ b/doc/html/t12-main-cpp.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1709 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t12/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t12/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 12
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class MyWidget: public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f86"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( "ANGLE", this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ LCDRange *force = new LCDRange( "FORCE", this, "force" );
+ force-&gt;setRange( 10, 50 );
+
+ CannonField *cannonField = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+
+ <a href="qpushbutton.html">QPushButton</a> *shoot = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Shoot", this, "shoot" );
+ shoot-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), cannonField, SLOT(shoot()) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> *topBox = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( topBox, 0, 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shoot );
+ topBox-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 1 );
+
+ angle-&gt;setValue( 60 );
+ force-&gt;setValue( 25 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t12.png b/doc/html/t12.png
new file mode 100644
index 0000000..c748837
--- /dev/null
+++ b/doc/html/t12.png
Binary files differ
diff --git a/doc/html/t13-cannon-cpp.html b/doc/html/t13-cannon-cpp.html
new file mode 100644
index 0000000..2f25c17
--- /dev/null
+++ b/doc/html/t13-cannon-cpp.html
@@ -0,0 +1,273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2027 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 13
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+
+#include &lt;math.h&gt;
+#include &lt;stdlib.h&gt;
+
+
+<a name="f94"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ f = 0;
+ timerCount = 0;
+ autoShootTimer = new <a href="qtimer.html">QTimer</a>( this, "movement handler" );
+ <a href="qobject.html#connect">connect</a>( autoShootTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(moveShot()) );
+ shoot_ang = 0;
+ shoot_f = 0;
+ target = QPoint( 0, 0 );
+ gameEnded = FALSE;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ newTarget();
+}
+
+
+void <a name="f95"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+}
+
+
+void <a name="f96"></a>CannonField::setForce( int newton )
+{
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+}
+
+
+void <a name="f97"></a>CannonField::shoot()
+{
+ if ( isShooting() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+ emit canShoot( FALSE );
+}
+
+
+void <a name="f98"></a>CannonField::newTarget()
+{
+ static bool first_time = TRUE;
+ if ( first_time ) {
+ first_time = FALSE;
+ <a href="qtime.html">QTime</a> midnight( 0, 0, 0 );
+ srand( midnight.<a href="qtime.html#secsTo">secsTo</a>(QTime::<a href="qtime.html#currentTime">currentTime</a>()) );
+ }
+ <a href="qregion.html">QRegion</a> r( targetRect() );
+ target = QPoint( 200 + rand() % 190,
+ 10 + rand() % 255 );
+ <a href="qwidget.html#repaint">repaint</a>( r.<a href="qrect.html#unite">unite</a>( targetRect() ) );
+}
+
+void <a name="f99"></a>CannonField::setGameOver()
+{
+ if ( gameEnded )
+ return;
+ if ( isShooting() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = TRUE;
+ <a href="qwidget.html#repaint">repaint</a>();
+}
+
+void <a name="f100"></a>CannonField::restartGame()
+{
+ if ( isShooting() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = FALSE;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit canShoot( TRUE );
+}
+
+void <a name="f101"></a>CannonField::moveShot()
+{
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+
+ if ( shotR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit hit();
+ emit canShoot( TRUE );
+ } else if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit missed();
+ emit canShoot( TRUE );
+ } else {
+ r = r.<a href="qrect.html#unite">unite</a>( QRegion( shotR ) );
+ }
+
+ <a href="qwidget.html#repaint">repaint</a>( r );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ if ( gameEnded ) {
+ p.<a href="qpainter.html#setPen">setPen</a>( black );
+ p.<a href="qpainter.html#setFont">setFont</a>( QFont( "Courier", 48, QFont::Bold ) );
+ p.<a href="qpainter.html#drawText">drawText</a>( <a href="qwidget.html#rect">rect</a>(), AlignCenter, "Game Over" );
+ }
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( isShooting() &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+ if ( !gameEnded &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) )
+ paintTarget( &amp;p );
+}
+
+
+void <a name="f102"></a>CannonField::paintShot( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( black );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( shotRect() );
+}
+
+
+void <a name="f103"></a>CannonField::paintTarget( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( red );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( targetRect() );
+}
+
+
+const <a href="qrect.html">QRect</a> barrelRect(33, -4, 15, 8);
+
+void <a name="f104"></a>CannonField::paintCannon( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+ pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+
+ <a href="qpainter.html">QPainter</a> tmp( &amp;pix );
+ tmp.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ tmp.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+
+ tmp.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ tmp.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ tmp.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ tmp.<a href="qpainter.html#drawRect">drawRect</a>( barrelRect );
+ tmp.<a href="qpainter.html#end">end</a>();
+
+ p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+}
+
+
+QRect <a name="f105"></a>CannonField::cannonRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+}
+
+
+QRect <a name="f106"></a>CannonField::shotRect() const
+{
+ const double gravity = 4;
+
+ double time = timerCount / 4.0;
+ double velocity = shoot_f;
+ double radians = shoot_ang*3.14159265/180;
+
+ double velx = velocity*cos( radians );
+ double vely = velocity*sin( radians );
+ double x0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*cos(radians);
+ double y0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*sin(radians);
+ double x = x0 + velx*time;
+ double y = y0 + vely*time - 0.5*gravity*time*time;
+
+ <a href="qrect.html">QRect</a> r = QRect( 0, 0, 6, 6 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint( qRound(x), height() - 1 - qRound(y) ) );
+ return r;
+}
+
+
+QRect <a name="f107"></a>CannonField::targetRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 20, 10 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint(target.x(),height() - 1 - target.y()) );
+ return r;
+}
+
+
+bool <a name="f108"></a>CannonField::isShooting() const
+{
+ return autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>();
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-cannon-h.html b/doc/html/t13-cannon-h.html
new file mode 100644
index 0000000..2635f02
--- /dev/null
+++ b/doc/html/t13-cannon-h.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2026 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 13
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+class QTimer;
+
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ int force() const { return f; }
+ bool gameOver() const { return gameEnded; }
+ bool isShooting() const;
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+ void shoot();
+ void newTarget();
+ void setGameOver();
+ void restartGame();
+
+private slots:
+ void moveShot();
+
+signals:
+ void hit();
+ void missed();
+ void angleChanged( int );
+ void forceChanged( int );
+ void canShoot( bool );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ void paintShot( <a href="qpainter.html">QPainter</a> * );
+ void paintTarget( <a href="qpainter.html">QPainter</a> * );
+ void paintCannon( <a href="qpainter.html">QPainter</a> * );
+ <a href="qrect.html">QRect</a> cannonRect() const;
+ <a href="qrect.html">QRect</a> shotRect() const;
+ <a href="qrect.html">QRect</a> targetRect() const;
+
+ int ang;
+ int f;
+
+ int timerCount;
+ <a href="qtimer.html">QTimer</a> * autoShootTimer;
+ float shoot_ang;
+ float shoot_f;
+
+ <a href="qpoint.html">QPoint</a> target;
+
+ bool gameEnded;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-gamebrd-cpp.html b/doc/html/t13-gamebrd-cpp.html
new file mode 100644
index 0000000..086baa2
--- /dev/null
+++ b/doc/html/t13-gamebrd-cpp.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2029 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/gamebrd.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/gamebrd.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of GameBoard class, Qt tutorial 13
+**
+****************************************************************/
+
+#include "gamebrd.h"
+
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+<a name="f109"></a>GameBoard::GameBoard( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( "ANGLE", this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ LCDRange *force = new LCDRange( "FORCE", this, "force" );
+ force-&gt;setRange( 10, 50 );
+
+ cannonField = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(hit()),
+ this, SLOT(hit()) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(missed()),
+ this, SLOT(missed()) );
+
+ <a href="qpushbutton.html">QPushButton</a> *shoot = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Shoot", this, "shoot" );
+ shoot-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(fire()) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(canShoot(bool)),
+ shoot, SLOT(<a href="qwidget.html#setEnabled">setEnabled</a>(bool)) );
+
+ QPushButton *restart
+ = new <a href="qpushbutton.html">QPushButton</a>( "&amp;New Game", this, "newgame" );
+ restart-&gt;setFont( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( restart, SIGNAL(clicked()), this, SLOT(newGame()) );
+
+ hits = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "hits" );
+ shotsLeft = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "shotsleft" );
+ <a href="qlabel.html">QLabel</a> *hitsL = new <a href="qlabel.html">QLabel</a>( "HITS", this, "hitsLabel" );
+ QLabel *shotsLeftL
+ = new <a href="qlabel.html">QLabel</a>( "SHOTS LEFT", this, "shotsleftLabel" );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> *topBox = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( topBox, 0, 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shoot );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hits );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hitsL );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeft );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeftL );
+ topBox-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( restart );
+
+ angle-&gt;setValue( 60 );
+ force-&gt;setValue( 25 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+
+ newGame();
+}
+
+
+void <a name="f110"></a>GameBoard::fire()
+{
+ if ( cannonField-&gt;gameOver() || cannonField-&gt;isShooting() )
+ return;
+ shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() - 1 );
+ cannonField-&gt;shoot();
+}
+
+
+void <a name="f111"></a>GameBoard::hit()
+{
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( hits-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() + 1 );
+ if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+ else
+ cannonField-&gt;newTarget();
+}
+
+
+void <a name="f112"></a>GameBoard::missed()
+{
+ if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+}
+
+
+void <a name="f113"></a>GameBoard::newGame()
+{
+ shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( 15 );
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( 0 );
+ cannonField-&gt;restartGame();
+ cannonField-&gt;newTarget();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-gamebrd-h.html b/doc/html/t13-gamebrd-h.html
new file mode 100644
index 0000000..1c695b7
--- /dev/null
+++ b/doc/html/t13-gamebrd-h.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2028 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/gamebrd.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/gamebrd.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of GameBoard class, Qt tutorial 13
+**
+****************************************************************/
+
+#ifndef GAMEBRD_H
+#define GAMEBRD_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QPushButton;
+class LCDRange;
+class QLCDNumber;
+class CannonField;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class GameBoard : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ GameBoard( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+protected slots:
+ void fire();
+ void hit();
+ void missed();
+ void newGame();
+
+private:
+ <a href="qlcdnumber.html">QLCDNumber</a> *hits;
+ <a href="qlcdnumber.html">QLCDNumber</a> *shotsLeft;
+ CannonField *cannonField;
+};
+
+
+#endif // GAMEBRD_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-lcdrange-cpp.html b/doc/html/t13-lcdrange-cpp.html
new file mode 100644
index 0000000..f82656e
--- /dev/null
+++ b/doc/html/t13-lcdrange-cpp.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2025 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+
+<a name="f87"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ init();
+}
+
+
+LCDRange::LCDRange( const char *s, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ init();
+ setText( s );
+}
+
+
+void <a name="f88"></a>LCDRange::init()
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+
+ label = new <a href="qlabel.html">QLabel</a>( " ", this, "label" );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> * l = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lcd, 1 );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( slider );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+}
+
+
+int <a name="f89"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+
+const char *<a name="f90"></a>LCDRange::text() const
+{
+ return label-&gt;<a href="qlabel.html#text">text</a>();
+}
+
+
+void <a name="f91"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+
+void <a name="f92"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+
+
+void <a name="f93"></a>LCDRange::setText( const char *s )
+{
+ label-&gt;<a href="qlabel.html#setText">setText</a>( s );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-lcdrange-h.html b/doc/html/t13-lcdrange-h.html
new file mode 100644
index 0000000..fc85e7a
--- /dev/null
+++ b/doc/html/t13-lcdrange-h.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2024 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QSlider;
+class QLabel;
+
+
+class LCDRange : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ LCDRange( const char *s, QWidget *parent=0, const char *name=0 );
+
+ int value() const;
+ const char *text() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+ void setText( const char * );
+
+signals:
+ void valueChanged( int );
+
+private:
+ void init();
+
+ <a href="qslider.html">QSlider</a> *slider;
+ <a href="qlabel.html">QLabel</a> *label;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13-main-cpp.html b/doc/html/t13-main-cpp.html
new file mode 100644
index 0000000..d4a84dc
--- /dev/null
+++ b/doc/html/t13-main-cpp.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2030 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t13/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t13/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 13
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include "gamebrd.h"
+
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ GameBoard gb;
+ gb.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;gb );
+ gb.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t13.png b/doc/html/t13.png
new file mode 100644
index 0000000..ff45efd
--- /dev/null
+++ b/doc/html/t13.png
Binary files differ
diff --git a/doc/html/t14-cannon-cpp.html b/doc/html/t14-cannon-cpp.html
new file mode 100644
index 0000000..bb8166d
--- /dev/null
+++ b/doc/html/t14-cannon-cpp.html
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2376 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 14
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qtimer-h.html">qtimer.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+
+#include &lt;math.h&gt;
+#include &lt;stdlib.h&gt;
+
+
+<a name="f121"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ f = 0;
+ timerCount = 0;
+ autoShootTimer = new <a href="qtimer.html">QTimer</a>( this, "movement handler" );
+ <a href="qobject.html#connect">connect</a>( autoShootTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(moveShot()) );
+ shoot_ang = 0;
+ shoot_f = 0;
+ target = QPoint( 0, 0 );
+ gameEnded = FALSE;
+ barrelPressed = FALSE;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ newTarget();
+}
+
+
+void <a name="f122"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+}
+
+
+void <a name="f123"></a>CannonField::setForce( int newton )
+{
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+}
+
+
+void <a name="f124"></a>CannonField::shoot()
+{
+ if ( isShooting() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+ emit canShoot( FALSE );
+}
+
+
+void <a name="f125"></a>CannonField::newTarget()
+{
+ static bool first_time = TRUE;
+ if ( first_time ) {
+ first_time = FALSE;
+ <a href="qtime.html">QTime</a> midnight( 0, 0, 0 );
+ srand( midnight.<a href="qtime.html#secsTo">secsTo</a>(QTime::<a href="qtime.html#currentTime">currentTime</a>()) );
+ }
+ <a href="qregion.html">QRegion</a> r( targetRect() );
+ target = QPoint( 200 + rand() % 190,
+ 10 + rand() % 255 );
+ <a href="qwidget.html#repaint">repaint</a>( r.<a href="qrect.html#unite">unite</a>( targetRect() ) );
+}
+
+void <a name="f126"></a>CannonField::setGameOver()
+{
+ if ( gameEnded )
+ return;
+ if ( isShooting() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = TRUE;
+ <a href="qwidget.html#repaint">repaint</a>();
+}
+
+void <a name="f127"></a>CannonField::restartGame()
+{
+ if ( isShooting() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = FALSE;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit canShoot( TRUE );
+}
+
+void <a name="f128"></a>CannonField::moveShot()
+{
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+
+ if ( shotR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit hit();
+ emit canShoot( TRUE );
+ } else if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() ||
+ shotR.<a href="qrect.html#intersects">intersects</a>(barrierRect()) ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit missed();
+ emit canShoot( TRUE );
+ } else {
+ r = r.<a href="qrect.html#unite">unite</a>( QRegion( shotR ) );
+ }
+
+ <a href="qwidget.html#repaint">repaint</a>( r );
+}
+
+
+void CannonField::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( e-&gt;<a href="qmouseevent.html#button">button</a>() != LeftButton )
+ return;
+ if ( barrelHit( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) )
+ barrelPressed = TRUE;
+}
+
+
+void CannonField::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( !barrelPressed )
+ return;
+ <a href="qpoint.html">QPoint</a> pnt = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ if ( pnt.<a href="qpoint.html#x">x</a>() &lt;= 0 )
+ pnt.<a href="qpoint.html#setX">setX</a>( 1 );
+ if ( pnt.<a href="qpoint.html#y">y</a>() &gt;= <a href="qwidget.html#height">height</a>() )
+ pnt.<a href="qpoint.html#setY">setY</a>( <a href="qwidget.html#height">height</a>() - 1 );
+ double rad = atan(((double)<a href="qwidget.html#rect">rect</a>().bottom()-pnt.<a href="qpoint.html#y">y</a>())/pnt.<a href="qpoint.html#x">x</a>());
+ setAngle( qRound ( rad*180/3.14159265 ) );
+}
+
+
+void CannonField::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+{
+ if ( e-&gt;<a href="qmouseevent.html#button">button</a>() == LeftButton )
+ barrelPressed = FALSE;
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+{
+ <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ if ( gameEnded ) {
+ p.<a href="qpainter.html#setPen">setPen</a>( black );
+ p.<a href="qpainter.html#setFont">setFont</a>( QFont( "Courier", 48, QFont::Bold ) );
+ p.<a href="qpainter.html#drawText">drawText</a>( <a href="qwidget.html#rect">rect</a>(), AlignCenter, "Game Over" );
+ }
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( updateR.<a href="qrect.html#intersects">intersects</a>( barrierRect() ) )
+ paintBarrier( &amp;p );
+ if ( isShooting() &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+ if ( !gameEnded &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) )
+ paintTarget( &amp;p );
+}
+
+void <a name="f129"></a>CannonField::paintShot( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( black );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( shotRect() );
+}
+
+
+void <a name="f130"></a>CannonField::paintTarget( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( red );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( targetRect() );
+}
+
+void <a name="f131"></a>CannonField::paintBarrier( <a href="qpainter.html">QPainter</a> *p )
+{
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( yellow );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( barrierRect() );
+}
+
+const <a href="qrect.html">QRect</a> barrelRect(33, -4, 15, 8);
+
+void <a name="f132"></a>CannonField::paintCannon( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+ pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+
+ <a href="qpainter.html">QPainter</a> tmp( &amp;pix );
+ tmp.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ tmp.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+
+ tmp.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ tmp.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ tmp.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ tmp.<a href="qpainter.html#drawRect">drawRect</a>( barrelRect );
+ tmp.<a href="qpainter.html#end">end</a>();
+
+ p-&gt;<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+}
+
+
+QRect <a name="f133"></a>CannonField::cannonRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+}
+
+
+QRect <a name="f134"></a>CannonField::shotRect() const
+{
+ const double gravity = 4;
+
+ double time = timerCount / 4.0;
+ double velocity = shoot_f;
+ double radians = shoot_ang*3.14159265/180;
+
+ double velx = velocity*cos( radians );
+ double vely = velocity*sin( radians );
+ double x0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*cos(radians);
+ double y0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*sin(radians);
+ double x = x0 + velx*time;
+ double y = y0 + vely*time - 0.5*gravity*time*time;
+
+ <a href="qrect.html">QRect</a> r = QRect( 0, 0, 6, 6 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint( qRound(x), height() - 1 - qRound(y) ) );
+ return r;
+}
+
+
+QRect <a name="f135"></a>CannonField::targetRect() const
+{
+ <a href="qrect.html">QRect</a> r( 0, 0, 20, 10 );
+ r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint(target.x(),height() - 1 - target.y()) );
+ return r;
+}
+
+
+QRect <a name="f136"></a>CannonField::barrierRect() const
+{
+ return QRect( 145, height() - 100, 15, 100 );
+}
+
+
+bool <a name="f137"></a>CannonField::barrelHit( const <a href="qpoint.html">QPoint</a> &amp;p ) const
+{
+ <a href="qwmatrix.html">QWMatrix</a> mtx;
+ mtx.<a href="qwmatrix.html#translate">translate</a>( 0, height() - 1 );
+ mtx.<a href="qwmatrix.html#rotate">rotate</a>( -ang );
+ mtx = mtx.<a href="qwmatrix.html#invert">invert</a>();
+ return barrelRect.<a href="qrect.html#contains">contains</a>( mtx.<a href="qwmatrix.html#map">map</a>(p) );
+}
+
+
+bool <a name="f138"></a>CannonField::isShooting() const
+{
+ return autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>();
+}
+
+
+QSize CannonField::<a href="qwidget.html#sizeHint">sizeHint</a>() const
+{
+ return QSize( 400, 300 );
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-cannon-h.html b/doc/html/t14-cannon-h.html
new file mode 100644
index 0000000..4646879
--- /dev/null
+++ b/doc/html/t14-cannon-h.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2375 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 14
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+class QTimer;
+
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ int force() const { return f; }
+ bool gameOver() const { return gameEnded; }
+ bool isShooting() const;
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+ void shoot();
+ void newTarget();
+ void setGameOver();
+ void restartGame();
+
+private slots:
+ void moveShot();
+
+signals:
+ void hit();
+ void missed();
+ void angleChanged( int );
+ void forceChanged( int );
+ void canShoot( bool );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+
+private:
+ void paintShot( <a href="qpainter.html">QPainter</a> * );
+ void paintTarget( <a href="qpainter.html">QPainter</a> * );
+ void paintBarrier( <a href="qpainter.html">QPainter</a> * );
+ void paintCannon( <a href="qpainter.html">QPainter</a> * );
+ <a href="qrect.html">QRect</a> cannonRect() const;
+ <a href="qrect.html">QRect</a> shotRect() const;
+ <a href="qrect.html">QRect</a> targetRect() const;
+ <a href="qrect.html">QRect</a> barrierRect() const;
+ bool barrelHit( const <a href="qpoint.html">QPoint</a> &amp; ) const;
+
+ int ang;
+ int f;
+
+ int timerCount;
+ <a href="qtimer.html">QTimer</a> * autoShootTimer;
+ float shoot_ang;
+ float shoot_f;
+
+ <a href="qpoint.html">QPoint</a> target;
+
+ bool gameEnded;
+ bool barrelPressed;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-gamebrd-cpp.html b/doc/html/t14-gamebrd-cpp.html
new file mode 100644
index 0000000..305d158
--- /dev/null
+++ b/doc/html/t14-gamebrd-cpp.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2378 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/gamebrd.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/gamebrd.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of GameBoard class, Qt tutorial 14
+**
+****************************************************************/
+
+#include "gamebrd.h"
+
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+<a name="f139"></a>GameBoard::GameBoard( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( "ANGLE", this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ LCDRange *force = new LCDRange( "FORCE", this, "force" );
+ force-&gt;setRange( 10, 50 );
+
+ <a href="qvbox.html">QVBox</a> *box = new <a href="qvbox.html">QVBox</a>( this, "cannonFrame" );
+ box-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+
+ cannonField = new CannonField( box, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(hit()),
+ this, SLOT(hit()) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(missed()),
+ this, SLOT(missed()) );
+
+ <a href="qpushbutton.html">QPushButton</a> *shoot = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Shoot", this, "shoot" );
+ shoot-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(fire()) );
+
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(canShoot(bool)),
+ shoot, SLOT(<a href="qwidget.html#setEnabled">setEnabled</a>(bool)) );
+
+ QPushButton *restart
+ = new <a href="qpushbutton.html">QPushButton</a>( "&amp;New Game", this, "newgame" );
+ restart-&gt;setFont( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( restart, SIGNAL(clicked()), this, SLOT(newGame()) );
+
+ hits = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "hits" );
+ shotsLeft = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "shotsleft" );
+ <a href="qlabel.html">QLabel</a> *hitsL = new <a href="qlabel.html">QLabel</a>( "HITS", this, "hitsLabel" );
+ QLabel *shotsLeftL
+ = new <a href="qlabel.html">QLabel</a>( "SHOTS LEFT", this, "shotsleftLabel" );
+
+ <a href="qaccel.html">QAccel</a> *accel = new <a href="qaccel.html">QAccel</a>( this );
+ accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( Key_Enter ),
+ this, SLOT(fire()) );
+ accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( Key_Return ),
+ this, SLOT(fire()) );
+ accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( CTRL+Key_Q ),
+ qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( box, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+
+ <a href="qhboxlayout.html">QHBoxLayout</a> *topBox = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( topBox, 0, 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shoot );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hits );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hitsL );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeft );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeftL );
+ topBox-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( restart );
+
+ angle-&gt;setValue( 60 );
+ force-&gt;setValue( 25 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+
+ newGame();
+}
+
+
+void <a name="f140"></a>GameBoard::fire()
+{
+ if ( cannonField-&gt;gameOver() || cannonField-&gt;isShooting() )
+ return;
+ shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() - 1 );
+ cannonField-&gt;shoot();
+}
+
+
+void <a name="f141"></a>GameBoard::hit()
+{
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( hits-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() + 1 );
+ if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+ else
+ cannonField-&gt;newTarget();
+}
+
+
+void <a name="f142"></a>GameBoard::missed()
+{
+ if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+}
+
+
+void <a name="f143"></a>GameBoard::newGame()
+{
+ shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( 15 );
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( 0 );
+ cannonField-&gt;restartGame();
+ cannonField-&gt;newTarget();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-gamebrd-h.html b/doc/html/t14-gamebrd-h.html
new file mode 100644
index 0000000..87ffc1a
--- /dev/null
+++ b/doc/html/t14-gamebrd-h.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2377 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/gamebrd.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/gamebrd.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of GameBoard class, Qt tutorial 14
+**
+****************************************************************/
+
+#ifndef GAMEBRD_H
+#define GAMEBRD_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QPushButton;
+class LCDRange;
+class QLCDNumber;
+class CannonField;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class GameBoard : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ GameBoard( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+protected slots:
+ void fire();
+ void hit();
+ void missed();
+ void newGame();
+
+private:
+ <a href="qlcdnumber.html">QLCDNumber</a> *hits;
+ <a href="qlcdnumber.html">QLCDNumber</a> *shotsLeft;
+ CannonField *cannonField;
+};
+
+
+#endif // GAMEBRD_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-lcdrange-cpp.html b/doc/html/t14-lcdrange-cpp.html
new file mode 100644
index 0000000..f471f23
--- /dev/null
+++ b/doc/html/t14-lcdrange-cpp.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2374 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+
+<a name="f114"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ init();
+}
+
+
+LCDRange::LCDRange( const char *s, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ init();
+ setText( s );
+}
+
+
+void <a name="f115"></a>LCDRange::init()
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+
+ label = new <a href="qlabel.html">QLabel</a>( " ", this, "label" );
+ label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+
+ <a href="qvboxlayout.html">QVBoxLayout</a> * l = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lcd, 1 );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( slider );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+}
+
+
+int <a name="f116"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+
+const char *<a name="f117"></a>LCDRange::text() const
+{
+ return label-&gt;<a href="qlabel.html#text">text</a>();
+}
+
+
+void <a name="f118"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+
+void <a name="f119"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+
+
+void <a name="f120"></a>LCDRange::setText( const char *s )
+{
+ label-&gt;<a href="qlabel.html#setText">setText</a>( s );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-lcdrange-h.html b/doc/html/t14-lcdrange-h.html
new file mode 100644
index 0000000..561db8f
--- /dev/null
+++ b/doc/html/t14-lcdrange-h.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2373 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+class QSlider;
+class QLabel;
+
+
+class LCDRange : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ LCDRange( const char *s, QWidget *parent=0, const char *name=0 );
+
+ int value() const;
+ const char *text() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+ void setText( const char * );
+
+signals:
+ void valueChanged( int );
+
+private:
+ void init();
+
+ <a href="qslider.html">QSlider</a> *slider;
+ <a href="qlabel.html">QLabel</a> *label;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14-main-cpp.html b/doc/html/t14-main-cpp.html
new file mode 100644
index 0000000..9d50260
--- /dev/null
+++ b/doc/html/t14-main-cpp.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2379 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t14/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t14/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 14
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include "gamebrd.h"
+
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ GameBoard gb;
+ gb.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;gb );
+ gb.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t14.png b/doc/html/t14.png
new file mode 100644
index 0000000..11a1590
--- /dev/null
+++ b/doc/html/t14.png
Binary files differ
diff --git a/doc/html/t2.png b/doc/html/t2.png
new file mode 100644
index 0000000..fc3e90f
--- /dev/null
+++ b/doc/html/t2.png
Binary files differ
diff --git a/doc/html/t3.png b/doc/html/t3.png
new file mode 100644
index 0000000..e8920d7
--- /dev/null
+++ b/doc/html/t3.png
Binary files differ
diff --git a/doc/html/t4.png b/doc/html/t4.png
new file mode 100644
index 0000000..a1f01e6
--- /dev/null
+++ b/doc/html/t4.png
Binary files differ
diff --git a/doc/html/t5.png b/doc/html/t5.png
new file mode 100644
index 0000000..8f774e6
--- /dev/null
+++ b/doc/html/t5.png
Binary files differ
diff --git a/doc/html/t6.png b/doc/html/t6.png
new file mode 100644
index 0000000..41c02ba
--- /dev/null
+++ b/doc/html/t6.png
Binary files differ
diff --git a/doc/html/t7-lcdrange-cpp.html b/doc/html/t7-lcdrange-cpp.html
new file mode 100644
index 0000000..ba7cf5b
--- /dev/null
+++ b/doc/html/t7-lcdrange-cpp.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:667 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t7/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t7/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 7
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+<a name="f26"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+}
+
+int <a name="f27"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+void <a name="f28"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t7-lcdrange-h.html b/doc/html/t7-lcdrange-h.html
new file mode 100644
index 0000000..c14f5cc
--- /dev/null
+++ b/doc/html/t7-lcdrange-h.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:666 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t7/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t7/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 7
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int value() const;
+
+public slots:
+ void setValue( int );
+
+signals:
+ void valueChanged( int );
+
+private:
+ <a href="qslider.html">QSlider</a> *slider;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t7-main-cpp.html b/doc/html/t7-main-cpp.html
new file mode 100644
index 0000000..4c0fd9c
--- /dev/null
+++ b/doc/html/t7-main-cpp.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:668 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t7/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t7/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 7
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qgrid-h.html">qgrid.h</a>&gt;
+
+#include "lcdrange.h"
+
+
+class MyWidget : public <a href="qvbox.html">QVBox</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f29"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qgrid.html">QGrid</a> *grid = new <a href="qgrid.html">QGrid</a>( 4, this );
+
+ LCDRange *previous = 0;
+ for( int r = 0 ; r &lt; 4 ; r++ ) {
+ for( int c = 0 ; c &lt; 4 ; c++ ) {
+ LCDRange* lr = new LCDRange( grid );
+ if ( previous )
+ <a href="qobject.html#connect">connect</a>( lr, SIGNAL(valueChanged(int)),
+ previous, SLOT(setValue(int)) );
+ previous = lr;
+ }
+ }
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t7.png b/doc/html/t7.png
new file mode 100644
index 0000000..3403163
--- /dev/null
+++ b/doc/html/t7.png
Binary files differ
diff --git a/doc/html/t8-cannon-cpp.html b/doc/html/t8-cannon-cpp.html
new file mode 100644
index 0000000..56691e2
--- /dev/null
+++ b/doc/html/t8-cannon-cpp.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:865 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t8/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t8/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 8
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+
+
+<a name="f34"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+}
+
+
+void <a name="f35"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit angleChanged( ang );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qstring.html">QString</a> s = "Angle = " + QString::number( ang );
+ <a href="qpainter.html">QPainter</a> p( this );
+ p.<a href="qpainter.html#drawText">drawText</a>( 200, 200, s );
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t8-cannon-h.html b/doc/html/t8-cannon-h.html
new file mode 100644
index 0000000..a369b29
--- /dev/null
+++ b/doc/html/t8-cannon-h.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:864 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t8/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t8/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+
+signals:
+ void angleChanged( int );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ int ang;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t8-lcdrange-cpp.html b/doc/html/t8-lcdrange-cpp.html
new file mode 100644
index 0000000..b8d7f72
--- /dev/null
+++ b/doc/html/t8-lcdrange-cpp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:863 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t8/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t8/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+<a name="f30"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+}
+
+int <a name="f31"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+void <a name="f32"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+void <a name="f33"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t8-lcdrange-h.html b/doc/html/t8-lcdrange-h.html
new file mode 100644
index 0000000..af340c5
--- /dev/null
+++ b/doc/html/t8-lcdrange-h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:862 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t8/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t8/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int value() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+
+signals:
+ void valueChanged( int );
+
+private:
+ <a href="qslider.html">QSlider</a> *slider;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t8-main-cpp.html b/doc/html/t8-main-cpp.html
new file mode 100644
index 0000000..30c9905
--- /dev/null
+++ b/doc/html/t8-main-cpp.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:866 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t8/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t8/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 8
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class MyWidget: public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f36"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ CannonField *cannonField
+ = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ //2x2, 10 pixel border
+
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( angle, 1, 0, Qt::AlignTop );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ angle-&gt;setValue( 60 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t8.png b/doc/html/t8.png
new file mode 100644
index 0000000..4e52f00
--- /dev/null
+++ b/doc/html/t8.png
Binary files differ
diff --git a/doc/html/t9-cannon-cpp.html b/doc/html/t9-cannon-cpp.html
new file mode 100644
index 0000000..22f78e3
--- /dev/null
+++ b/doc/html/t9-cannon-cpp.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1150 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t9/cannon.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t9/cannon.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation CannonField class, Qt tutorial 9
+**
+****************************************************************/
+
+#include "cannon.h"
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+
+
+<a name="f41"></a>CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ ang = 45;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+}
+
+
+void <a name="f42"></a>CannonField::setAngle( int degrees )
+{
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit angleChanged( ang );
+}
+
+
+void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ p.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+
+ p.<a href="qpainter.html#translate">translate</a>( 0, rect().bottom() );
+ p.<a href="qpainter.html#drawPie">drawPie</a>( QRect(-35, -35, 70, 70), 0, 90*16 );
+ p.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( QRect(33, -4, 15, 8) );
+}
+
+
+QSizePolicy CannonField::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t9-cannon-h.html b/doc/html/t9-cannon-h.html
new file mode 100644
index 0000000..e0ad37b
--- /dev/null
+++ b/doc/html/t9-cannon-h.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1149 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t9/cannon.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t9/cannon.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of CannonField class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef CANNON_H
+#define CANNON_H
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+
+class CannonField : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int angle() const { return ang; }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+public slots:
+ void setAngle( int degrees );
+
+signals:
+ void angleChanged( int );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+
+private:
+ int ang;
+};
+
+
+#endif // CANNON_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t9-lcdrange-cpp.html b/doc/html/t9-lcdrange-cpp.html
new file mode 100644
index 0000000..9c13525
--- /dev/null
+++ b/doc/html/t9-lcdrange-cpp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1148 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t9/lcdrange.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t9/lcdrange.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+
+<a name="f37"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+}
+
+int <a name="f38"></a>LCDRange::value() const
+{
+ return slider-&gt;<a href="qslider.html#value">value</a>();
+}
+
+void <a name="f39"></a>LCDRange::setValue( int value )
+{
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+}
+
+void <a name="f40"></a>LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t9-lcdrange-h.html b/doc/html/t9-lcdrange-h.html
new file mode 100644
index 0000000..406df20
--- /dev/null
+++ b/doc/html/t9-lcdrange-h.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1147 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t9/lcdrange.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t9/lcdrange.h Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Definition of LCDRange class, Qt tutorial 8
+**
+****************************************************************/
+
+#ifndef LCDRANGE_H
+#define LCDRANGE_H
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class QSlider;
+
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+ Q_OBJECT
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ int value() const;
+
+public slots:
+ void setValue( int );
+ void setRange( int minVal, int maxVal );
+
+signals:
+ void valueChanged( int );
+
+private:
+ <a href="qslider.html">QSlider</a> *slider;
+};
+
+
+#endif // LCDRANGE_H
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t9-main-cpp.html b/doc/html/t9-main-cpp.html
new file mode 100644
index 0000000..f6a9f94
--- /dev/null
+++ b/doc/html/t9-main-cpp.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1151 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>t9/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>t9/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************
+**
+** Qt tutorial 9
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+
+#include "lcdrange.h"
+#include "cannon.h"
+
+
+class MyWidget: public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f43"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ LCDRange *angle = new LCDRange( this, "angle" );
+ angle-&gt;setRange( 5, 70 );
+
+ CannonField *cannonField = new CannonField( this, "cannonField" );
+
+ <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+
+ <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( angle, 1, 0, Qt::AlignTop );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+ grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+
+ angle-&gt;setValue( 60 );
+ angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+int main( int argc, char **argv )
+{
+ QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 500, 355 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/t9.png b/doc/html/t9.png
new file mode 100644
index 0000000..1ddf247
--- /dev/null
+++ b/doc/html/t9.png
Binary files differ
diff --git a/doc/html/t9_1.png b/doc/html/t9_1.png
new file mode 100644
index 0000000..1f1d337
--- /dev/null
+++ b/doc/html/t9_1.png
Binary files differ
diff --git a/doc/html/t9_2.png b/doc/html/t9_2.png
new file mode 100644
index 0000000..d7bc7a2
--- /dev/null
+++ b/doc/html/t9_2.png
Binary files differ
diff --git a/doc/html/tabdialog-example.html b/doc/html/tabdialog-example.html
new file mode 100644
index 0000000..5821da5
--- /dev/null
+++ b/doc/html/tabdialog-example.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/tabdialog/tabdialog.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tabdialog</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Tabdialog</h1>
+
+
+<p>
+This example shows how to use a dialog with multiple tabs
+(pages). To start the program you have to specify a filename
+as the first argument. The dialog shows information about the
+file separated onto different tabs.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/tabdialog.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef TABDIALOG_H
+#define TABDIALOG_H
+
+#include &lt;<a href="qtabdialog-h.html">qtabdialog.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qfileinfo-h.html">qfileinfo.h</a>&gt;
+
+class TabDialog : public <a href="qtabdialog.html">QTabDialog</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ TabDialog( <a href="qwidget.html">QWidget</a> *parent, const char *name, const <a href="qstring.html">QString</a> &amp;_filename );
+
+protected:
+ <a href="qstring.html">QString</a> filename;
+ <a href="qfileinfo.html">QFileInfo</a> fileinfo;
+
+ void setupTab1();
+ void setupTab2();
+ void setupTab3();
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/tabdialog.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tabdialog.h"
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qlistbox-h.html">qlistbox.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+<a name="f200"></a>TabDialog::TabDialog( <a href="qwidget.html">QWidget</a> *parent, const char *name, const <a href="qstring.html">QString</a> &amp;_filename )
+ : <a href="qtabdialog.html">QTabDialog</a>( parent, name ), filename( _filename ), fileinfo( filename )
+{
+ setupTab1();
+ setupTab2();
+ setupTab3();
+
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qtabdialog.html#applyButtonPressed">applyButtonPressed</a>() ), qApp, SLOT( <a href="qapplication.html#quit">quit</a>() ) );
+}
+
+void <a name="f201"></a>TabDialog::setupTab1()
+{
+ <a href="qvbox.html">QVBox</a> *tab1 = new <a href="qvbox.html">QVBox</a>( this );
+<a name="x53"></a> tab1-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Filename:", tab1 );
+ <a href="qlineedit.html">QLineEdit</a> *fname = new <a href="qlineedit.html">QLineEdit</a>( filename, tab1 );
+ fname-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Path:", tab1 );
+ <a href="qlabel.html">QLabel</a> *path = new <a href="qlabel.html">QLabel</a>( fileinfo.dirPath( TRUE ), tab1 );
+<a name="x52"></a> path-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Size:", tab1 );
+ ulong kb = (ulong)(fileinfo.size()/1024);
+ <a href="qlabel.html">QLabel</a> *size = new <a href="qlabel.html">QLabel</a>( QString( "%1 KB" ).arg( kb ), tab1 );
+ size-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Last Read:", tab1 );
+ <a href="qlabel.html">QLabel</a> *lread = new <a href="qlabel.html">QLabel</a>( fileinfo.lastRead().toString(), tab1 );
+ lread-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Last Modified:", tab1 );
+ <a href="qlabel.html">QLabel</a> *lmodif = new <a href="qlabel.html">QLabel</a>( fileinfo.lastModified().toString(), tab1 );
+ lmodif-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ <a href="qtabdialog.html#addTab">addTab</a>( tab1, "General" );
+}
+
+void <a name="f202"></a>TabDialog::setupTab2()
+{
+ <a href="qvbox.html">QVBox</a> *tab2 = new <a href="qvbox.html">QVBox</a>( this );
+ tab2-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+
+ <a href="qbuttongroup.html">QButtonGroup</a> *bg = new <a href="qbuttongroup.html">QButtonGroup</a>( 1, QGroupBox::Horizontal, "Permissions", tab2 );
+
+ <a href="qcheckbox.html">QCheckBox</a> *readable = new <a href="qcheckbox.html">QCheckBox</a>( "Readable", bg );
+ if ( fileinfo.isReadable() )
+<a name="x51"></a> readable-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+
+ <a href="qcheckbox.html">QCheckBox</a> *writable = new <a href="qcheckbox.html">QCheckBox</a>( "Writeable", bg );
+ if ( fileinfo.isWritable() )
+ writable-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+
+ <a href="qcheckbox.html">QCheckBox</a> *executable = new <a href="qcheckbox.html">QCheckBox</a>( "Executable", bg );
+ if ( fileinfo.isExecutable() )
+ executable-&gt;<a href="qcheckbox.html#setChecked">setChecked</a>( TRUE );
+
+ <a href="qbuttongroup.html">QButtonGroup</a> *bg2 = new <a href="qbuttongroup.html">QButtonGroup</a>( 2, QGroupBox::Horizontal, "Owner", tab2 );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Owner", bg2 );
+ <a href="qlabel.html">QLabel</a> *owner = new <a href="qlabel.html">QLabel</a>( fileinfo.owner(), bg2 );
+ owner-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Group", bg2 );
+ <a href="qlabel.html">QLabel</a> *group = new <a href="qlabel.html">QLabel</a>( fileinfo.group(), bg2 );
+ group-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Sunken );
+
+ <a href="qtabdialog.html#addTab">addTab</a>( tab2, "Permissions" );
+}
+
+void <a name="f203"></a>TabDialog::setupTab3()
+{
+ <a href="qvbox.html">QVBox</a> *tab3 = new <a href="qvbox.html">QVBox</a>( this );
+ tab3-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+<a name="x54"></a> tab3-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>( 5 );
+
+ (void)new <a href="qlabel.html">QLabel</a>( QString( "Open %1 with:" ).arg( filename ), tab3 );
+
+ <a href="qlistbox.html">QListBox</a> *prgs = new <a href="qlistbox.html">QListBox</a>( tab3 );
+ for ( unsigned int i = 0; i &lt; 30; i++ ) {
+ <a href="qstring.html">QString</a> prg = QString( "Application %1" ).arg( i );
+<a name="x55"></a> prgs-&gt;<a href="qlistbox.html#insertItem">insertItem</a>( prg );
+ }
+<a name="x56"></a> prgs-&gt;<a href="qlistbox.html#setCurrentItem">setCurrentItem</a>( 3 );
+
+ (void)new <a href="qcheckbox.html">QCheckBox</a>( QString( "Open files with the extension '%1' always with this application" ).arg( fileinfo.extension() ), tab3 );
+
+ <a href="qtabdialog.html#addTab">addTab</a>( tab3, "Applications" );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tabdialog.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ TabDialog tabdialog( 0, "tabdialog", QString( argc &lt; 2 ? "." : argv[1] ) );
+<a name="x60"></a> tabdialog.<a href="qwidget.html#resize">resize</a>( 450, 350 );
+ tabdialog.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Tabbed Dialog" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;tabdialog );
+<a name="x61"></a> tabdialog.<a href="qdialog.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/table-bigtable-main-cpp.html b/doc/html/table-bigtable-main-cpp.html
new file mode 100644
index 0000000..caf8261
--- /dev/null
+++ b/doc/html/table-bigtable-main-cpp.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1656 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>table/bigtable/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>table/bigtable/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+
+// Table size
+
+const int numRows = 1000000;
+const int numCols = 1000000;
+
+class MyTable : public <a href="qtable.html">QTable</a>
+{
+public:
+ MyTable( int r, int c ) : <a href="qtable.html">QTable</a>( r, c ) {
+<a name="x1291"></a> items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ widgets.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ setCaption( tr( "A 1 Million x 1 Million Cell Table" ) );
+ setLeftMargin( fontMetrics().width( "W999999W" ) );
+ }
+
+ void resizeData( int ) {}
+<a name="x1286"></a> <a href="qtableitem.html">QTableItem</a> *item( int r, int c ) const { return items.<a href="qintdict.html#find">find</a>( indexOf( r, c ) ); }
+<a name="x1288"></a> void setItem( int r, int c, QTableItem *i ) { items.<a href="qintdict.html#replace">replace</a>( indexOf( r, c ), i ); }
+<a name="x1287"></a> void clearCell( int r, int c ) { items.<a href="qintdict.html#remove">remove</a>( indexOf( r, c ) ); }
+ void takeItem( <a href="qtableitem.html">QTableItem</a> *item )
+ {
+ items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( FALSE );
+<a name="x1294"></a><a name="x1293"></a> items.<a href="qintdict.html#remove">remove</a>( indexOf( item-&gt;<a href="qtableitem.html#row">row</a>(), item-&gt;<a href="qtableitem.html#col">col</a>() ) );
+ items.<a href="qptrcollection.html#setAutoDelete">setAutoDelete</a>( TRUE );
+ }
+ void insertWidget( int r, int c, QWidget *w ) { widgets.<a href="qintdict.html#replace">replace</a>( indexOf( r, c ), w ); }
+ <a href="qwidget.html">QWidget</a> *cellWidget( int r, int c ) const { return widgets.<a href="qintdict.html#find">find</a>( indexOf( r, c ) ); }
+ void clearCellWidget( int r, int c )
+ {
+<a name="x1289"></a> <a href="qwidget.html">QWidget</a> *w = widgets.<a href="qintdict.html#take">take</a>( indexOf( r, c ) );
+ if ( w )
+<a name="x1290"></a> w-&gt;<a href="qobject.html#deleteLater">deleteLater</a>();
+ }
+
+private:
+ <a href="qintdict.html">QIntDict</a>&lt;QTableItem&gt; items;
+ <a href="qintdict.html">QIntDict</a>&lt;QWidget&gt; widgets;
+
+};
+
+// The program starts here.
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ MyTable table( numRows, numCols );
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;table );
+<a name="x1292"></a> table.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/table-examples.html b/doc/html/table-examples.html
new file mode 100644
index 0000000..125ec4f
--- /dev/null
+++ b/doc/html/table-examples.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:433 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Table Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Table Examples</h1>
+
+
+<p> The following example programs demonstrate the use
+of the Qt table module.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="bigtable-example.html">How to create a large, sparse QTable</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="small-table-example-example.html">Small Table Example</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="statistics-example.html">Table Example</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/table-small-table-demo-main-cpp.html b/doc/html/table-small-table-demo-main-cpp.html
new file mode 100644
index 0000000..7e6b26c
--- /dev/null
+++ b/doc/html/table-small-table-demo-main-cpp.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1655 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>table/small-table-demo/main.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>table/small-table-demo/main.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qtable-h.html">qtable.h</a>&gt;
+#include &lt;<a href="qimage-h.html">qimage.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+
+// Qt logo: static const char *qtlogo_xpm[]
+#include "qtlogo.xpm"
+
+// Table size
+
+const int numRows = 30;
+const int numCols = 10;
+
+// The program starts here.
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qtable.html">QTable</a> table( numRows, numCols );
+
+<a name="x2800"></a> <a href="qheader.html">QHeader</a> *header = table.<a href="qtable.html#horizontalHeader">horizontalHeader</a>();
+<a name="x2798"></a> header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 0, QObject::tr( "Tiny" ), 40 );
+ header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 1, QObject::tr( "Checkboxes" ) );
+ header-&gt;<a href="qheader.html#setLabel">setLabel</a>( 5, QObject::tr( "Combos" ) );
+<a name="x2802"></a> table.<a href="qtable.html#setColumnMovingEnabled">setColumnMovingEnabled</a>(TRUE);
+
+ <a href="qimage.html">QImage</a> img( qtlogo_xpm );
+<a name="x2801"></a><a name="x2799"></a> <a href="qpixmap.html">QPixmap</a> pix = img.<a href="qimage.html#scaleHeight">scaleHeight</a>( table.<a href="qtable.html#rowHeight">rowHeight</a>(3) );
+<a name="x2804"></a> table.<a href="qtable.html#setPixmap">setPixmap</a>( 3, 2, pix );
+<a name="x2805"></a> table.<a href="qtable.html#setText">setText</a>( 3, 2, "A Pixmap" );
+
+ <a href="qstringlist.html">QStringList</a> comboEntries;
+ comboEntries &lt;&lt; "one" &lt;&lt; "two" &lt;&lt; "three" &lt;&lt; "four";
+
+ for ( int i = 0; i &lt; numRows; ++i ){
+ <a href="qcombotableitem.html">QComboTableItem</a> * item = new <a href="qcombotableitem.html">QComboTableItem</a>( &amp;table, comboEntries, FALSE );
+<a name="x2797"></a> item-&gt;<a href="qcombotableitem.html#setCurrentItem">setCurrentItem</a>( i % 4 );
+<a name="x2803"></a> table.<a href="qtable.html#setItem">setItem</a>( i, 5, item );
+ }
+ for ( int j = 0; j &lt; numRows; ++j )
+ table.<a href="qtable.html#setItem">setItem</a>( j, 1, new <a href="qchecktableitem.html">QCheckTableItem</a>( &amp;table, "Check me" ) );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;table );
+ table.<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/table-statistics-statistics-cpp.html b/doc/html/table-statistics-statistics-cpp.html
new file mode 100644
index 0000000..046eb88
--- /dev/null
+++ b/doc/html/table-statistics-statistics-cpp.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/table/qtable.cpp:1657 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>table/statistics/statistics.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>table/statistics/statistics.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/statistics.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "statistics.h"
+
+#include &lt;<a href="qdir-h.html">qdir.h</a>&gt;
+#include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+#include &lt;<a href="qheader-h.html">qheader.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+const char* dirs[] = {
+ "kernel",
+ "tools",
+ "widgets",
+ "dialogs",
+ "xml",
+ "table",
+ "network",
+ "opengl",
+ "canvas",
+ 0
+};
+
+<a name="f145"></a>Table::Table()
+ : <a href="qtable.html">QTable</a>( 10, 100, 0, "table" )
+{
+ <a href="qtable.html#setSorting">setSorting</a>( TRUE );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 0, tr( "File" ) );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 1, tr( "Size (bytes)" ) );
+ <a href="qtable.html#horizontalHeader">horizontalHeader</a>()-&gt;setLabel( 2, tr( "Use in Sum" ) );
+ initTable();
+ <a href="qtable.html#adjustColumn">adjustColumn</a>( 0 );
+
+ // if the user edited something we might need to recalculate the sum
+ <a href="qobject.html#connect">connect</a>( this, SIGNAL( <a href="qtable.html#valueChanged">valueChanged</a>( int, int ) ),
+ this, SLOT( recalcSum( int, int ) ) );
+}
+
+void <a name="f146"></a>Table::initTable()
+{
+ // read all the Qt source and header files into a list
+ <a href="qstringlist.html">QStringList</a> all;
+ int i = 0;
+ <a href="qstring.html">QString</a> srcdir( "../../../src/" );
+ while ( dirs[ i ] ) {
+ <a href="qdir.html">QDir</a> dir( srcdir + dirs[ i ] );
+<a name="x2780"></a> <a href="qstringlist.html">QStringList</a> lst = dir.<a href="qdir.html#entryList">entryList</a>( "*.cpp; *.h" );
+<a name="x2791"></a><a name="x2789"></a> for ( QStringList::Iterator it = lst.<a href="qvaluelist.html#begin">begin</a>(); it != lst.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ if ( ( *it ).contains( "moc" ) )
+ continue;
+ all &lt;&lt; (QString( dirs[ i ] ) + "/" + *it);
+ }
+ ++i;
+ }
+
+ // set the number of rows we'll need for the table
+<a name="x2790"></a> <a href="qtable.html#setNumRows">setNumRows</a>( all.<a href="qvaluelist.html#count">count</a>() + 1 );
+ i = 0;
+ int sum = 0;
+
+ // insert the data into the table
+ for ( QStringList::Iterator it = all.<a href="qvaluelist.html#begin">begin</a>(); it != all.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ <a href="qtable.html#setText">setText</a>( i, 0, *it );
+ <a href="qfile.html">QFile</a> f( srcdir + *it );
+<a name="x2781"></a> <a href="qtable.html#setText">setText</a>( i, 1, QString::number( (ulong)f.<a href="qfile.html#size">size</a>() ) );
+ ComboItem *ci = new ComboItem( this, QTableItem::WhenCurrent );
+ <a href="qtable.html#setItem">setItem</a>( i++, 2, ci );
+ sum += f.<a href="qfile.html#size">size</a>();
+ }
+
+ // last row should show the sum
+ TableItem *i1 = new TableItem( this, QTableItem::Never, tr( "Sum" ) );
+ <a href="qtable.html#setItem">setItem</a>( i, 0, i1 );
+ TableItem *i2 = new TableItem( this, QTableItem::Never, QString::number( sum ) );
+ <a href="qtable.html#setItem">setItem</a>( i, 1, i2 );
+}
+
+void <a name="f147"></a>Table::recalcSum( int, int col )
+{
+ // only recalc if a value in the second or third column changed
+ if ( col &lt; 1 || col &gt; 2 )
+ return;
+
+ // recalc sum
+ int sum = 0;
+ for ( int i = 0; i &lt; numRows() - 1; ++i ) {
+ if ( <a href="qtableitem.html#text">text</a>( i, 2 ) == "No" )
+ continue;
+ sum += <a href="qtableitem.html#text">text</a>( i, 1 ).toInt();
+ }
+
+ // insert calculated data
+ TableItem *i1 = new TableItem( this, QTableItem::Never, tr( "Sum" ) );
+ setItem( numRows() - 1, 0, i1 );
+ TableItem *i2 = new TableItem( this, QTableItem::Never, QString::number( sum ) );
+ setItem( numRows() - 1, 1, i2 );
+}
+
+<a name="x2784"></a>void Table::<a href="qtable.html#sortColumn">sortColumn</a>( int col, bool ascending, bool /*wholeRows*/ )
+{
+ // sum row should not be sorted, so get rid of it for now
+ clearCell( numRows() - 1, 0 );
+ clearCell( numRows() - 1, 1 );
+ // do sort
+ QTable::<a href="qtable.html#sortColumn">sortColumn</a>( col, ascending, TRUE );
+ // re-insert sum row
+ recalcSum( 0, 1 );
+}
+
+
+
+<a name="x2786"></a>void TableItem::<a href="qtableitem.html#paint">paint</a>( <a href="qpainter.html">QPainter</a> *p, const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg, const <a href="qrect.html">QRect</a> &amp;cr, bool selected )
+{
+ <a href="qcolorgroup.html">QColorGroup</a> g( cg );
+ // last row is the sum row - we want to make it more visible by
+ // using a red background
+ if ( <a href="qtableitem.html#row">row</a>() == <a href="qtableitem.html#table">table</a>()-&gt;numRows() - 1 )
+<a name="x2779"></a> g.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::Base, red );
+ QTableItem::<a href="qtableitem.html#paint">paint</a>( p, g, cr, selected );
+}
+
+
+
+
+<a name="f144"></a>ComboItem::ComboItem( <a href="qtable.html">QTable</a> *t, EditType et )
+ : <a href="qtableitem.html">QTableItem</a>( t, et, "Yes" ), cb( 0 )
+{
+ // we do not want this item to be replaced
+ <a href="qtableitem.html#setReplaceable">setReplaceable</a>( FALSE );
+}
+
+<a name="x2785"></a>QWidget *ComboItem::<a href="qtableitem.html#createEditor">createEditor</a>() const
+{
+ // create an editor - a combobox in our case
+ ( (ComboItem*)this )-&gt;cb = new <a href="qcombobox.html">QComboBox</a>( <a href="qtableitem.html#table">table</a>()-&gt;viewport() );
+ QObject::<a href="qobject.html#connect">connect</a>( cb, SIGNAL( activated( int ) ), table(), SLOT( doValueChanged() ) );
+ cb-&gt;insertItem( "Yes" );
+ cb-&gt;insertItem( "No" );
+ // and initialize it
+ cb-&gt;setCurrentItem( <a href="qtableitem.html#text">text</a>() == "No" ? 1 : 0 );
+ return cb;
+}
+
+<a name="x2787"></a>void ComboItem::<a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>( <a href="qwidget.html">QWidget</a> *w )
+{
+ // the user changed the value of the combobox, so synchronize the
+ // value of the item (its text), with the value of the combobox
+<a name="x2783"></a> if ( w-&gt;<a href="qobject.html#inherits">inherits</a>( "QComboBox" ) )
+ <a href="qtableitem.html#setText">setText</a>( ( (QComboBox*)w )-&gt;currentText() );
+ else
+ QTableItem::<a href="qtableitem.html#setContentFromEditor">setContentFromEditor</a>( w );
+}
+
+<a name="x2788"></a>void ComboItem::<a href="qtableitem.html#setText">setText</a>( const <a href="qstring.html">QString</a> &amp;s )
+{
+ if ( cb ) {
+ // initialize the combobox from the text
+ if ( s == "No" )
+ cb-&gt;setCurrentItem( 1 );
+ else
+ cb-&gt;setCurrentItem( 0 );
+ }
+ QTableItem::<a href="qtableitem.html#setText">setText</a>( s );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/table.html b/doc/html/table.html
new file mode 100644
index 0000000..ed84ed1
--- /dev/null
+++ b/doc/html/table.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/table.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Table Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Table Module</h1>
+
+
+<p>
+<p> The table module provides a flexible and editable table widget, <a href="qtable.html">QTable</a>. For many applications QTables can be used directly and simply,
+providing a grid of editable cells. <a href="qtable.html">QTable</a> can also be subclassed in a
+straightforward way to provide very large sparse tables, e.g. one
+million by one million cells.
+<p> <a href="qtable.html"><img src="qtable.png" alt="Screenshot of QTable"></a>
+<p> The table module provides the following classes:
+<ul>
+<li> <a href="qtable.html">QTable</a> itself is the widget of choice whenever you need to
+provide your users with the ability to display and edit
+tabular data such as spreadsheet or database data.
+<li> <a href="qtableitem.html">QTableItem</a> objects are used to populate a QTable with data with
+each table item holding the contents of a cell.
+<li> The <a href="qcombotableitem.html">QComboTableItem</a> class provides memory-efficient combobox items for QTables.
+<li> The <a href="qchecktableitem.html">QCheckTableItem</a> class provides memory-efficient checkbox items for QTables.
+<li> <a href="qtableselection.html">QTableSelection</a> provides access to selections of cells in a QTable.
+<li> <a href="qheader.html">QHeader</a> provides access to the table's horizontal header (column
+headers) and vertical header (row headers).
+</ul>
+<p> See the appropriate class documentation for details and refer to the
+<a href="table-examples.html">Qt table examples</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tablet-example.html b/doc/html/tablet-example.html
new file mode 100644
index 0000000..6b94788
--- /dev/null
+++ b/doc/html/tablet-example.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/tablet/tablet.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tablet Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Tablet Example</h1>
+
+
+<p>
+This example shows how to interact with a tablet device.
+<p> See <tt>$QTDIR/examples/tablet</tt> for the source code.
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tagreader-example.html b/doc/html/tagreader-example.html
new file mode 100644
index 0000000..0373419
--- /dev/null
+++ b/doc/html/tagreader-example.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/xml/tagreader/tagreader.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A tiny SAX2 parser</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A tiny SAX2 parser</h1>
+
+
+<p>
+<p> This example presents a small <a href="xml.html#sax2">SAX2</a>
+reader that outputs the names of all elements in an
+XML document on the command line. The element names are
+indented corresponding to their nesting
+<p> This example is thoroughly explained in a
+<a href="xml-sax-walkthrough.html">walkthrough.</a>
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/structureparser.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef STRUCTUREPARSER_H
+#define STRUCTUREPARSER_H
+
+#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+
+class QString;
+
+class StructureParser : public <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+{
+public:
+ bool startDocument();
+ bool startElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; );
+ bool endElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; );
+
+private:
+ <a href="qstring.html">QString</a> indent;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/structureparser.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "structureparser.h"
+
+#include &lt;stdio.h&gt;
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+
+<a name="x1903"></a>bool StructureParser::<a href="qxmlcontenthandler.html#startDocument">startDocument</a>()
+{
+ indent = "";
+ return TRUE;
+}
+
+<a name="x1904"></a>bool StructureParser::<a href="qxmlcontenthandler.html#startElement">startElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp; qName,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; )
+{
+ printf( "%s%s\n", (const char*)indent, (const char*)qName );
+ indent += " ";
+ return TRUE;
+}
+
+<a name="x1902"></a>bool StructureParser::<a href="qxmlcontenthandler.html#endElement">endElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; )
+{
+ indent.remove( (uint)0, 4 );
+ return TRUE;
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/tagreader.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "structureparser.h"
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+#include &lt;<a href="qwindowdefs-h.html">qwindowdefs.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ if ( argc &lt; 2 ) {
+ fprintf( stderr, "Usage: %s &lt;xmlfile&gt; [&lt;xmlfile&gt; ...]\n", argv[0] );
+ return 1;
+ }
+ StructureParser handler;
+ <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+<a name="x1906"></a> reader.<a href="qxmlreader.html#setContentHandler">setContentHandler</a>( &amp;handler );
+ for ( int i=1; i &lt; argc; i++ ) {
+ <a href="qfile.html">QFile</a> xmlFile( argv[i] );
+ <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+<a name="x1905"></a> reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+ }
+ return 0;
+}
+</pre>
+
+<p>See also <a href="xml-examples.html">Qt XML Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tagreader-with-features-example.html b/doc/html/tagreader-with-features-example.html
new file mode 100644
index 0000000..0221f03
--- /dev/null
+++ b/doc/html/tagreader-with-features-example.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/xml/tagreader-with-features/tagreader.doc:5 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Demonstration of SAX2 features</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Demonstration of SAX2 features</h1>
+
+
+<p>
+<p> This example presents a small <a href="xml.html#sax2">SAX2</a>
+reader that outputs the qualified names and the
+respective namespace URIs of all elements and attributes in an
+XML file. Additionally the tree structure of the document is displayed.
+<p> In three listviews the program shows the different output of the reader
+depending on how the SAX2 <a href="xml.html#sax2Namespaces">features</a>
+<em>http://xml.org/sax/features/namespaces</em> and
+<em>http://xml.org/sax/features/namespace-prefixes</em> are set.
+<p> This example is thoroughly explained in a
+<a href="xml-sax-features-walkthrough.html">walkthrough.</a>
+<p> <hr>
+<p> Header file:
+<p> <pre>/*
+$Id: qt/structureparser.h 3.3.8 edited May 27 2003 $
+*/
+
+#ifndef STRUCTUREPARSER_H
+#define STRUCTUREPARSER_H
+
+#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+#include &lt;<a href="qptrstack-h.html">qptrstack.h</a>&gt;
+
+class QListView;
+class QListViewItem;
+class QString;
+
+class StructureParser: public <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+{
+public:
+ StructureParser( <a href="qlistview.html">QListView</a> * );
+ bool startElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; );
+ bool endElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; );
+
+ void setListView( <a href="qlistview.html">QListView</a> * );
+
+private:
+ <a href="qptrstack.html">QPtrStack</a>&lt;QListViewItem&gt; stack;
+ <a href="qlistview.html">QListView</a> * table;
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/*
+$Id: qt/structureparser.cpp 3.3.8 edited May 27 2003 $
+*/
+
+#include "structureparser.h"
+
+#include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+
+<a name="f528"></a>StructureParser::StructureParser( <a href="qlistview.html">QListView</a> * t )
+ : <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>()
+{
+ setListView( t );
+}
+
+void <a name="f529"></a>StructureParser::setListView( <a href="qlistview.html">QListView</a> * t )
+{
+ table = t;
+ table-&gt;setSorting( -1 );
+ table-&gt;addColumn( "Qualified name" );
+ table-&gt;addColumn( "Namespace" );
+}
+
+<a name="x1971"></a>bool StructureParser::<a href="qxmlcontenthandler.html#startElement">startElement</a>( const <a href="qstring.html">QString</a>&amp; namespaceURI,
+ const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qstring.html">QString</a>&amp; qName,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; attributes)
+{
+ <a href="qlistviewitem.html">QListViewItem</a> * element;
+
+ if ( ! stack.isEmpty() ){
+ <a href="qlistviewitem.html">QListViewItem</a> *lastChild = stack.top()-&gt;firstChild();
+ if ( lastChild ) {
+<a name="x1965"></a> while ( lastChild-&gt;<a href="qlistviewitem.html#nextSibling">nextSibling</a>() )
+ lastChild = lastChild-&gt;<a href="qlistviewitem.html#nextSibling">nextSibling</a>();
+ }
+ element = new <a href="qlistviewitem.html">QListViewItem</a>( stack.top(), lastChild, qName, namespaceURI );
+ } else {
+ element = new <a href="qlistviewitem.html">QListViewItem</a>( table, qName, namespaceURI );
+ }
+ stack.push( element );
+<a name="x1966"></a> element-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE );
+
+<a name="x1967"></a> if ( attributes.<a href="qxmlattributes.html#length">length</a>() &gt; 0 ) {
+ for ( int i = 0 ; i &lt; attributes.<a href="qxmlattributes.html#length">length</a>(); i++ ) {
+<a name="x1969"></a><a name="x1968"></a> new <a href="qlistviewitem.html">QListViewItem</a>( element, attributes.<a href="qxmlattributes.html#qName">qName</a>(i), attributes.<a href="qxmlattributes.html#uri">uri</a>(i) );
+ }
+ }
+ return TRUE;
+}
+
+<a name="x1970"></a>bool StructureParser::<a href="qxmlcontenthandler.html#endElement">endElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp; )
+{
+ stack.pop();
+ return TRUE;
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/tagreader.cpp 3.3.8 edited Jan 11 14:46 $
+**
+** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "structureparser.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+#include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+#include &lt;<a href="qgrid-h.html">qgrid.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qfile.html">QFile</a> xmlFile( argc == 2 ? argv[1] : "fnord.xml" );
+ <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+
+ <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+
+ <a href="qgrid.html">QGrid</a> * container = new <a href="qgrid.html">QGrid</a>( 3 );
+
+ <a href="qlistview.html">QListView</a> * nameSpace = new <a href="qlistview.html">QListView</a>( container, "table_namespace" );
+ StructureParser * handler = new StructureParser( nameSpace );
+<a name="x1977"></a> reader.<a href="qxmlreader.html#setContentHandler">setContentHandler</a>( handler );
+<a name="x1976"></a> reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+
+ <a href="qlistview.html">QListView</a> * namespacePrefix = new <a href="qlistview.html">QListView</a>( container,
+ "table_namespace_prefix" );
+ handler-&gt;setListView( namespacePrefix );
+<a name="x1978"></a> reader.<a href="qxmlsimplereader.html#setFeature">setFeature</a>( "http://xml.org/sax/features/namespace-prefixes",
+ TRUE );
+<a name="x1975"></a> source.<a href="qxmlinputsource.html#reset">reset</a>();
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+
+ <a href="qlistview.html">QListView</a> * prefix = new <a href="qlistview.html">QListView</a>( container, "table_prefix");
+ handler-&gt;setListView( prefix );
+ reader.<a href="qxmlsimplereader.html#setFeature">setFeature</a>( "http://xml.org/sax/features/namespaces", FALSE );
+ source.<a href="qxmlinputsource.html#reset">reset</a>();
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+
+ // namespace label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "Default:\n"
+ "http://xml.org/sax/features/namespaces: TRUE\n"
+ "http://xml.org/sax/features/namespace-prefixes: FALSE\n",
+ container );
+
+ // namespace prefix label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "\n"
+ "http://xml.org/sax/features/namespaces: TRUE\n"
+ "http://xml.org/sax/features/namespace-prefixes: TRUE\n",
+ container );
+
+ // prefix label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "\n"
+ "http://xml.org/sax/features/namespaces: FALSE\n"
+ "http://xml.org/sax/features/namespace-prefixes: TRUE\n",
+ container );
+
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( container );
+ container-&gt;<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="xml-examples.html">Qt XML Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/templates.html b/doc/html/templates.html
new file mode 100644
index 0000000..de8a359
--- /dev/null
+++ b/doc/html/templates.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:610 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Why doesn't Qt use templates for signals and slots?</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Why doesn't Qt use templates for signals and slots?</h1>
+
+
+
+<p> A simple answer is that when Qt was designed, it was not possible to
+fully exploit the template mechanism in multi-platform applications due
+to the inadequacies of various compilers. Even today, many widely used
+C++ compilers have problems with advanced templates. For example, you
+cannot safely rely on partial template instantiation, which is essential
+for some non-trivial problem domains. Thus Qt's usage of templates has
+to be rather conservative. Keep in mind that Qt is a multi-platform
+toolkit, and progress on the Linux/g++ platform does not necessarily
+improve the situation elsewhere.
+<p> Eventually those compilers with weak template implementations will
+improve. But even if all our users had access to a fully standards
+compliant modern C++ compiler with excellent template support, we would
+not abandon the string-based approach used by our <a href="metaobjects.html#meta-object">meta object</a> compiler.
+Here are five reasons why:
+<p> <h3>1. Syntax matters</h3>
+<p> Syntax isn't just sugar: the syntax we use to express our algorithms can
+significantly affect the readability and maintainability of our code.
+The syntax used for Qt's signals and slots has proved very successful in
+practice. The syntax is intuitive, simple to use and easy to read.
+People learning Qt find the syntax helps them understand and utilize the
+signals and slots concept -- despite its highly abstract and generic
+nature. Furthermore, declaring signals in class definitions ensures that
+the signals are protected in the sense of protected C++ member
+functions. This helps programmers get their design right from the very
+beginning, without even having to think about design patterns.
+<p> <h3>2. Precompilers are good</h3>
+<p> Qt's <tt><a href="moc.html#moc">moc</a></tt> (Meta Object Compiler) provides a clean way to go
+beyond the compiled language's facilities. It does so by generating
+additional C++ code which can be compiled by any standard C++ compiler.
+The <tt>moc</tt> reads C++ source files. If it finds one or more class
+declarations that contain the "Q_OBJECT" macro, it produces another C++
+source file which contains the meta object code for those classes. The
+C++ source file generated by the <tt>moc</tt> must be compiled and
+linked with the implementation of the class (or it can be
+<tt>#included</tt> into the class's source file). Typically <tt>moc</tt>
+is not called manually, but automatically by the build system, so it
+requires no additional effort by the programmer.
+<p> There are other precompilers, for example, <tt>rpc</tt> and
+<tt>idl</tt>, that enable programs or objects to communicate over
+process or machine boundaries. The alternatives to precompilers are
+hacked compilers, proprietary languages or graphical programming tools
+with dialogs or wizards that generate obscure code. Rather than locking
+our customers into a proprietary C++ compiler or into a particular
+Integrated Development Environment, we enable them to use whatever tools
+they prefer. Instead of forcing programmers to add generated code into
+source repositories, we encourage them to add our tools to their build
+system: cleaner, safer and more in the spirit of UNIX.
+<p> <h3>3. Flexibility is king</h3>
+<p> C++ is a standarized, powerful and elaborate general-purpose language.
+It's the only language that is exploited on such a wide range of
+software projects, spanning every kind of application from entire
+operating systems, database servers and high end graphics
+applications to common desktop applications. One of the keys to C++'s
+success is its scalable language design that focuses on maximum
+performance and minimal memory consumption whilst still maintaining
+ANSI-C compatibility.
+<p> For all these advantages, there are some downsides. For C++, the static
+object model is a clear disadvantage over the dynamic messaging approach
+of Objective C when it comes to component-based graphical user interface
+programming. What's good for a high end database server or an operating
+system isn't necessarily the right design choice for a GUI frontend.
+With <tt>moc</tt>, we have turned this disadvantage into an advantage,
+and added the flexibility required to meet the challenge of safe and
+efficient graphical user interface programming.
+<p> Our approach goes far beyond anything you can do with templates. For
+example, we can have object properties. And we can have overloaded
+signals and slots, which feels natural when programming in a language
+where overloads are a key concept. Our signals add zero bytes to the
+size of a class instance, which means we can add new signals without
+breaking binary compatibility. Because we do not rely on excessive
+inlining as done with templates, we can keep the code size smaller.
+Adding new connections just expands to a simple function call rather
+than a complex template function.
+<p> Another benefit is that we can explore an object's signals and slots at
+runtime. We can establish connections using type-safe call-by-name,
+without having to know the exact types of the objects we are connecting.
+This is impossible with a template based solution. This kind of runtime
+introspection opens up new possibilities, for example GUIs that are
+generated and connected from Qt Designer's XML <tt>ui</tt> files.
+<p> <h3>4. Calling performance is not everything</h3>
+<p> Qt's signals and slots implementation is not as fast as a template-based
+solution. While emitting a signal is approximately the cost of four
+ordinary function calls with common template implementations, Qt
+requires effort comparable to about ten function calls. This is not
+surprising since the Qt mechanism includes a generic marshaller,
+introspection and ultimately scriptability. It does not rely on
+excessive inlining and code expansion and it provides unmatched runtime
+safety. Qt's iterators are safe while those of faster template-based
+systems are not. Even during the process of emitting a signal to several
+receivers, those receivers can be deleted safely without your program
+crashing. Without this safety, your application would eventually crash
+with a difficult to debug free'd memory read or write error.
+<p> Nonetheless, couldn't a template-based solution improve the performance
+of an application using signals and slots? While it is true that Qt adds
+a small overhead to the cost of calling a slot through a signal, the
+cost of the call is only a small proportion of the entire cost of a
+slot. Benchmarking against Qt's signals and slots system is typically
+done with empty slots. As soon as you do anything useful in your slots,
+for example a few simple string operations, the calling overhead becomes
+negligible. Qt's system is so optimized that anything that requires
+operator new or delete (for example, string operations or
+inserting/removing something from a template container) is significantly
+more expensive than emitting a signal.
+<p> Aside: If you have a signals and slots connection in a tight inner loop
+of a performance critical task and you identify this connection as the
+bottleneck, think about using the standard listener-interface pattern
+rather than signals and slots. In cases where this occurs, you probably
+only require a 1:1 connection anyway. For example, if you have an object
+that downloads data from the network, it's a perfectly sensible design
+to use a signal to indicate that the requested data arrived. But if you
+need to send out every single byte one by one to a consumer, use a
+listener interface rather than signals and slots.
+<p> <h3>5. No limits</h3>
+<p> Because we had the <tt>moc</tt> for signals and slots, we could add
+other useful things to it that could not not be done with templates.
+Among these are scoped translations via a generated <tt>tr()</tt>
+function, and an advanced property system with introspection and
+extended runtime type information. The property system alone is a great
+advantage: a powerful and generic user interface design tool like Qt
+Designer would be a lot harder to write - if not impossible - without a
+powerful and introspective property system.
+<p> C++ with the <tt>moc</tt> preprocessor essentially gives us the
+flexibility of Objective-C or of a Java Runtime Environment, while
+maintaining C++'s unique performance and scalability advantages. It is
+what makes Qt the flexible and comfortable tool we have today.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tetrix-example.html b/doc/html/tetrix-example.html
new file mode 100644
index 0000000..b0023d8
--- /dev/null
+++ b/doc/html/tetrix-example.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/tetrix/tetrix.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tetrix</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Tetrix</h1>
+
+
+<p>
+This is the Qt implementation of the well known game Tetris.
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/tetrix.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "qtetrix.h"
+#include "qdragapp.h"
+#include "qfont.h"
+
+int main( int argc, char **argv )
+{
+<a name="x354"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ QDragApplication a(argc,argv);
+ QTetrix *tetrix = new QTetrix;
+<a name="x356"></a> tetrix-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Tetrix");
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>(tetrix);
+ tetrix-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Tetrix");
+ tetrix-&gt;<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/text.html b/doc/html/text.html
new file mode 100644
index 0000000..9ac0e2f
--- /dev/null
+++ b/doc/html/text.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:798 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Text Related Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Text Related Classes</h1>
+
+
+<p> These classes are relevant to text processing. See also the
+<a href="xml.html">XML classes</a>.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qchar.html">QChar</a></b><td>Lightweight Unicode character
+<tr bgcolor=#f0f0f0><td><b><a href="qcharref.html">QCharRef</a></b><td>Helper class for QString
+<tr bgcolor=#f0f0f0><td><b><a href="qconststring.html">QConstString</a></b><td>String objects using constant Unicode data
+<tr bgcolor=#f0f0f0><td><b><a href="qcstring.html">QCString</a></b><td>Abstraction of the classic C zero-terminated char array (char *)
+<tr bgcolor=#f0f0f0><td><b><a href="qlabel.html">QLabel</a></b><td>Text or image display
+<tr bgcolor=#f0f0f0><td><b><a href="qlocale.html">QLocale</a></b><td>Converts between numbers and their string representations in various languages
+<tr bgcolor=#f0f0f0><td><b><a href="qsimplerichtext.html">QSimpleRichText</a></b><td>Small displayable piece of rich text
+<tr bgcolor=#f0f0f0><td><b><a href="qstring.html">QString</a></b><td>Abstraction of Unicode text and the classic C '&#92;0'-terminated char array
+<tr bgcolor=#f0f0f0><td><b><a href="qstringlist.html">QStringList</a></b><td>List of strings
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlist.html">QStrList</a></b><td>Doubly-linked list of char*
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheet.html">QStyleSheet</a></b><td>Collection of styles for rich text rendering and a generator of tags
+<tr bgcolor=#f0f0f0><td><b><a href="qstylesheetitem.html">QStyleSheetItem</a></b><td>Encapsulation of a set of text styles
+<tr bgcolor=#f0f0f0><td><b><a href="qsyntaxhighlighter.html">QSyntaxHighlighter</a></b><td>Base class for implementing QTextEdit syntax highlighters
+<tr bgcolor=#f0f0f0><td><b><a href="qtextbrowser.html">QTextBrowser</a></b><td>Rich text browser with hypertext navigation
+<tr bgcolor=#f0f0f0><td><b><a href="qtextedit.html">QTextEdit</a></b><td>Powerful single-page rich text editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtextistream.html">QTextIStream</a></b><td>Convenience class for input streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextostream.html">QTextOStream</a></b><td>Convenience class for output streams
+<tr bgcolor=#f0f0f0><td><b><a href="qtextstream.html">QTextStream</a></b><td>Basic functions for reading and writing text using a QIODevice
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/textedit-example.html b/doc/html/textedit-example.html
new file mode 100644
index 0000000..2e44bcb
--- /dev/null
+++ b/doc/html/textedit-example.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/textedit/textedit.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Text Edit Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Text Edit Example</h1>
+
+
+<p>
+This example displays a text editor with the user interface written
+in pure C++.
+<p> A similar example which uses <a href="designer-manual.html">Qt
+ Designer</a> to produce the user interface is in the <a href="designer-manual.html">Qt Designer manual</a>.
+<p> See <tt>$QTDIR/examples/textedit</tt> for the source code.
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/themes-example.html b/doc/html/themes-example.html
new file mode 100644
index 0000000..2ebc074
--- /dev/null
+++ b/doc/html/themes-example.html
@@ -0,0 +1,2376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/themes/themes.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Themes (Styles)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Themes (Styles)</h1>
+
+
+<p>
+This examples demonstrates how to let widgets be drawn in different
+styles (themes). As an example, themes looking like wood and metal
+are implemented. You can switch between the different styles
+during runtime using the pulldown menu.
+<p> <hr>
+<p> Header file of the Wood theme:
+<p> <pre>/****************************************************************************
+** $Id: qt/wood.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of something or other
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef WOOD_H
+#define WOOD_H
+
+
+#include &lt;<a href="qpalette-h.html">qpalette.h</a>&gt;
+
+#ifndef QT_NO_STYLE_WINDOWS
+
+#include &lt;<a href="qwindowsstyle-h.html">qwindowsstyle.h</a>&gt;
+
+
+class NorwegianWoodStyle : public <a href="qwindowsstyle.html">QWindowsStyle</a>
+{
+public:
+ NorwegianWoodStyle();
+ void polish( <a href="qapplication.html">QApplication</a>*);
+ void polish( <a href="qwidget.html">QWidget</a>* );
+ void unPolish( <a href="qwidget.html">QWidget</a>* );
+ void unPolish( <a href="qapplication.html">QApplication</a>*);
+
+ void drawPrimitive( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags flags = Style_Default,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ void drawControl( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how = Style_Default,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ void drawControlMask( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl cc,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how = Style_Default,
+ SCFlags sub = SC_All,
+ SCFlags subActive = SC_None,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControlMask( ComplexControl control,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ <a href="qrect.html">QRect</a> querySubControlMetrics( ComplexControl control,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ SubControl sc,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ <a href="qrect.html">QRect</a> subRect( SubRect r, const <a href="qwidget.html">QWidget</a> *widget ) const;
+
+
+private:
+ void drawSemicircleButton(QPainter *p, const <a href="qrect.html">QRect</a> &amp;r, int dir,
+ bool sunken, const <a href="qcolorgroup.html">QColorGroup</a> &amp;g ) const;
+ <a href="qpalette.html">QPalette</a> oldPalette;
+ <a href="qpixmap.html">QPixmap</a> *sunkenDark;
+ <a href="qpixmap.html">QPixmap</a> *sunkenLight;
+
+};
+
+#endif
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the Wood theme:
+<p> <pre><a name="x249"></a><a name="x248"></a><a name="x247"></a><a name="x203"></a>/****************************************************************************
+** $Id: qt/wood.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "wood.h"
+
+#ifndef QT_NO_STYLE_WINDOWS
+
+#include "qapplication.h"
+#include "qcombobox.h"
+#include "qpainter.h"
+#include "qdrawutil.h" // for now
+#include "qpixmap.h" // for now
+#include "qpalette.h" // for now
+#include "qwidget.h"
+#include "qlabel.h"
+#include "qimage.h"
+#include "qpushbutton.h"
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#include "qscrollbar.h"
+#include &lt;limits.h&gt;
+#include "qstylefactory.h"
+
+/* XPM */
+static const char *polish_xpm[] = {
+/* width height num_colors chars_per_pixel */
+" 96 96 254 2",
+/* colors */
+".. c #9c4a34",
+".# c #a4825c",
+".a c #bc5e2c",
+".b c #d48432",
+".c c #dc9f51",
+".d c #bc6e1c",
+".e c #d4855d",
+".f c #94664c",
+".g c #bc714e",
+".h c #8c6664",
+".i c #d4923c",
+".j c #bc8444",
+".k c #d49360",
+".l c #d4794e",
+".m c #ecaf68",
+".n c #bc8365",
+".o c #d47439",
+".p c #a46954",
+".q c #dc9f70",
+".r c #e48544",
+".s c #bc7b51",
+".t c #a47761",
+".u c #bc7b42",
+".v c #a4523c",
+".w c #e4945e",
+".x c #9c784c",
+".y c #d4844a",
+".z c #eca053",
+".A c #bc614c",
+".B c #e4855c",
+".C c #bc8350",
+".D c #c48e68",
+".E c #b16634",
+".F c #e49339",
+".G c #bc703a",
+".H c #bc7c67",
+".I c #a45f34",
+".J c #cc714d",
+".K c #d48c5f",
+".L c #a47057",
+".M c #cc703a",
+".N c #dca674",
+".O c #b47859",
+".P c #bc6729",
+".Q c #d49475",
+".R c #d48b4a",
+".S c #cc8351",
+".T c #cc8466",
+".U c #ac6841",
+".V c #e4a651",
+".W c #e49576",
+".X c #d47d31",
+".Y c #ac6e4b",
+".Z c #c07650",
+".0 c #e48c43",
+".1 c #e49452",
+".2 c #9c745f",
+".3 c #e47e54",
+".4 c #cc7c4f",
+".5 c #cc7c32",
+".6 c #b46133",
+".7 c #d49a68",
+".8 c #d67e4f",
+".9 c #bc7643",
+"#. c #b47056",
+"## c #d48b3a",
+"#a c #dc9f5e",
+"#b c #e49a60",
+"#c c #cc6a31",
+"#d c #8c6244",
+"#e c #dc9a41",
+"#f c #eca753",
+"#g c #bc8a58",
+"#h c #d48c76",
+"#i c #bc693f",
+"#j c #bc715d",
+"#k c #9c6857",
+"#l c #f4b171",
+"#m c #bc8a6a",
+"#n c #eca16d",
+"#o c #a87e58",
+"#p c #a4613f",
+"#q c #a48569",
+"#r c #d4846d",
+"#s c #dc935f",
+"#t c #c47c50",
+"#u c #dc8449",
+"#v c #bc6950",
+"#w c #cc9678",
+"#x c #c4703a",
+"#y c #cc7b67",
+"#z c #dc8c5e",
+"#A c #ac7067",
+"#B c #eca86e",
+"#C c #b4786d",
+"#D c #dc8c4a",
+"#E c #b46842",
+"#F c #d47c41",
+"#G c #e48d51",
+"#H c #e59a52",
+"#I c #9c6e3f",
+"#J c #d49351",
+"#K c #cc843b",
+"#L c #ecb678",
+"#M c #9c5a38",
+"#N c #d4795c",
+"#O c #c47b39",
+"#P c #ec9560",
+"#Q c #ac764c",
+"#R c #c48351",
+"#S c #c48e74",
+"#T c #cc7650",
+"#U c #cc8a84",
+"#V c #bc6a5c",
+"#W c #e4af74",
+"#X c #b46855",
+"#Y c #e4a06e",
+"#Z c #ac775b",
+"#0 c #e48d5d",
+"#1 c #c47d65",
+"#2 c #cc763f",
+"#3 c #b47e5d",
+"#4 c #cc8a55",
+"#5 c #cc8a67",
+"#6 c #bf622f",
+"#7 c #dc853b",
+"#8 c #e49f4a",
+"#9 c #9c505c",
+"a. c #8c5644",
+"a# c #cc7329",
+"aa c #a45a51",
+"ab c #b48264",
+"ac c #9c7a7c",
+"ad c #9c5f4f",
+"ae c #b4844c",
+"af c #a46749",
+"ag c #dca664",
+"ah c #b46e1c",
+"ai c #c4762c",
+"aj c #a45a3c",
+"ak c #dc9a74",
+"al c #ac7e46",
+"am c #ac6a6c",
+"an c #eca862",
+"ao c #e49a41",
+"ap c #e49a78",
+"aq c #bc7660",
+"ar c #d57e5e",
+"as c #9c6e5c",
+"at c #ab7e65",
+"au c #cc8a44",
+"av c #9c6240",
+"aw c #bc6244",
+"ax c #bc5d3f",
+"ay c #e48550",
+"az c #eca060",
+"aA c #cc7160",
+"aB c #cc7c42",
+"aC c #b46241",
+"aD c #b4726c",
+"aE c #eca67f",
+"aF c #9c6a3c",
+"aG c #94685a",
+"aH c #c48240",
+"aI c #c48465",
+"aJ c #dc7640",
+"aK c #cc8f54",
+"aL c #e4a76f",
+"aM c #c4692e",
+"aN c #dc9474",
+"aO c #ac6050",
+"aP c #b47048",
+"aQ c #94614b",
+"aR c #ac836c",
+"aS c #a47048",
+"aT c #b4764a",
+"aU c #ec8e5c",
+"aV c #dc9a53",
+"aW c #cc765e",
+"aX c #b48a64",
+"aY c #dc9a63",
+"aZ c #c47640",
+"a0 c #ec9a60",
+"a1 c #c48a54",
+"a2 c #c48a67",
+"a3 c #ac5a3c",
+"a4 c #ac8458",
+"a5 c #dc855d",
+"a6 c #c4714d",
+"a7 c #dc9243",
+"a8 c #dc794e",
+"a9 c #ac6955",
+"b. c #cc8f67",
+"b# c #ac6032",
+"ba c #ac7056",
+"bb c #dc7a34",
+"bc c #ec9553",
+"bd c #dc8d3b",
+"be c #e4a060",
+"bf c #f4a654",
+"bg c #c46842",
+"bh c #c46f62",
+"bi c #ac613d",
+"bj c #dc866c",
+"bk c #c4694e",
+"bl c #dc7d42",
+"bm c #ec8d4f",
+"bn c #dc9351",
+"bo c #cc9177",
+"bp c #c4695f",
+"bq c #ecb075",
+"br c #e4a75f",
+"bs c #d4843c",
+"bt c #bc722c",
+"bu c #d4936c",
+"bv c #d47644",
+"bw c #bc7d5c",
+"bx c #ac563c",
+"by c #e4956c",
+"bz c #a47a4c",
+"bA c #d48454",
+"bB c #bc825c",
+"bC c #e49544",
+"bD c #bc7044",
+"bE c #bc7e74",
+"bF c #d48d6c",
+"bG c #cc7144",
+"bH c #b47864",
+"bI c #bc6a34",
+"bJ c #d49684",
+"bK c #d48b54",
+"bL c #cc845c",
+"bM c #cc8474",
+"bN c #ac684c",
+"bO c #cc7d5c",
+"bP c #eca27c",
+"bQ c #dc946c",
+"bR c #c47c5c",
+"bS c #dc8554",
+"bT c #c47244",
+"bU c #dc8c6c",
+"bV c #dc8c54",
+"bW c #b4684c",
+"bX c #cc8344",
+"bY c #c47b44",
+"bZ c #c4825c",
+"b0 c #e4a17c",
+"b1 c #ac7a64",
+"b2 c #e48c6c",
+"b3 c #c47a74",
+"b4 c #e49f54",
+"b5 c #9c674c",
+"b6 c #946764",
+"b7 c #c48674",
+/* pixels */
+"#u#G#G#P#G#G#G.1#G#G.1.1.1.w#G.r#D.1.1.1#D#DbVbV.K.K.K.KbO.Z.Z#TaP.GaT.Z.O.O.O.H.9aP.ZaPaPaPbZbo.i.k#J.k#JbKbnbn#b#sbVbV#G#G.r.ray.r.0#G.0#G.1bc.r.0.0bc.0.0.0.r.1.1.1.1#G#D.0#D.0.0.0bcbcbc.1.0",
+"#aagaLbrag#a#a#a#DbVbn#G#0.1#0#Da5#za5.4.J.Jbk#vbt.G#x.9bY.4#tbYbw.saPaP.Ub#af.Y.s.s.Z.saP#E.gbw.U.U.UaObWbWbWaPb#b#.E#t.K.K#z#s#s#sbQ#s#sbn#s#sbn#s.w#s.w#s#sbn.ybV#s#sbV#s#sbQ#aak.7.k.7.k.k.k",
+"#..g#.#.#j#.#XbW#Z#o.O.O#3.n.n.Halalalala4aXaXa4#t.u.9#R#5bu.k#5bob7aIaI.nbwbw#m#5aIa2#5#5aIb7#5.DbBbB#3bwbw.C.O#oabab.naI.C#t#R.9#tbY#tbY.ZbY.s#t#t#t#R.sbY.s#tbD.Z.Z#t.9.Z#t.4bBbw.s.saT.9aTaT",
+".ybS.ybSbVbVbVbVbl#u#u#ubSaybSay#s#za5#z#z#z.KbA.Qb.aIbZbZbB.g.U.gaP#.aP#.aPaP.O.9aP.g.s.O.ZaP.Z#CaD#Aamamamam#X#3#Z.OaPaPaPaP.saZbY#t#t#tbY#tbY#t#tbLbZ.SbR#t#tbZbRbZbRbR.sbRbR.4aBaB.4bY.4.4.4",
+"bKbV#zbKbA.ybK#zbV#z#0bS#0#0#0aya5bA.4.4.4#T#xbgbwaq.O.g.O#j#.aPaCaC#v.g.gaPaP.Z#R#R#t#t#t.Z.s.Z#O#O.5aH#KbY.S#4bD.G#xaZaZ#2.SbVbV#s.wbV#zbSbAa5.e.KbQbQbU#s#z.K#5.K#5.T#4#5.Kb..4bZbL.T.ebL.K.K",
+"#A#A#C#C#AaD#CbEatataRb1b1abb1.t#I.f#IaSbz.x.#.##v.g.g#1bR.T#5#hbObO.T.K.K#5.KbubL.4.4#t.4.Z#tbL.e#r.K.K.e.e.T#r.K#z.K#z#sbVbS#zbV#u#ubVbl#F.8.l#2.4.8bAbA.l.4bva6.g#x.g#x#i#i#i.L.Lba#Z#Z#Z#Zba",
+"aPaT.u.u.s.C.C.C.SbA.S.4.SbA.8.8#r#rbF#h.TbO.T#h.KbF.e.e.S.S.S.S#u.y.8bA.e.4bA.e.K#zbQ#s.K.KbUbQ.y.R.y.yaB#O#xbT#t.4bLbLbL.4bL.S.4.S.4#T.Za6.Z.JbD.g.Z.g.Z.g.Z.ZaP.g#iaP#i#E#EaC.Obababa.ObH#Z.O",
+"#zbSbA.e#za5.e.8bV.KbV.ybAbK#zbK.8.ybV#z.y#F.y#sbKbA.Rbn#sbn#b#b#Y.w#sbV.y.4.lbA.y.y.ybA#T.MbG.4bObO.4.SbLbOaq#..O.Yaf#p#p.I.U.UaT.Z.O.Oaq.O.H.Hb1b1#Z#Z.L#Zat#3bw.s.HbBb7aIaIaIbA.l.4aBbAbA.e.e",
+"#DbVbn.w#s.w#sbVbAbSbSbV#D#GbS#0.1#H#H#H#b.1bn.1#4.S#t#t.S.TbL.S.K.K.K.S.SbK.e.S#t.4#t#tbDaPb#b#.U#E.9.S.ebVbS#G.K.K#r.l#y#T.Z.Z#2aB.S.ybS#u.8#F#Kau.y.S.y.y.R.y#z#z#sbn.1bna7bd#F#DbVbVbV#s.w#s",
+".1#s.1#s.1bVbS.y.K#z#sbVbVbA.8#FbA.8ar.8.e#r.e#NbKbA.S.S.S.SbLbLaBaBaB#2aB.SbKbAbVbVbV#s.w#YbebQ.KbA.e.KbV.ybl.ybsbsbs#D#u#D#u.R.y#D#DbVbV#s#0.wbebe#b#bbQ.wbn#GbV#G#D#G#D#GbV#D.ybV#sbV#s#s.w#s",
+".wbn.w.w#bbQbVbV.4.4.ybKbnbV#z#z#G#D#D#D#u#D.y.R#2aB#2.M#x.M#2#2#z#s.w#sbV#s.w#s.1.w.w#b.w.1#G#G#s#zbVbVbVbSbVbVbd#ubd.r#D#D#D#D.1bC.1.1.1.1#D.1bV#G#0#0#G.w.1a0bC#G.0aybS.Ba5a5bVbVbV.w#z.w#sbV",
+"#ubVbVbVbV#GbV#D#s#sbn#b.w.w.1bVb2b2a5#z#z.K#zbA.w#s.w#sbV#s#z#s.w#b.w.w#GbV.w.w.X#Da0a0#G.1bcaz#G#GbS#GbV#ubV#0#z#0#0a5#0#0b2#0.0.r.0.0#u#u#F.o.M.M.M#F#ubV#G.1#b#P.w.w.w#0aya5.y#u.y.ybVbnbVbV",
+".wbV#GbV#G#s#G#0.1#G.1.1.1#G#G.0#0#0.w.wby.wbQbn.w.w#G.w.wa0#b#P#u#G#G#0#G#G#G.w#baz#Yaz.1.0#D.0#G#G#G#GbVbl.8blbva8.8.B#z.Ba5#0ay#G#G#z#G#z#z#z#zbU#z#z#zbQbybQ#zbK#z#s#sbn.R.y#2#2aB.8bVbV#0bV",
+".w.w.w#z.w.w.w.w#GbV.r.0.0#G#G#Gbda7a7#H#8#8#8#H#u#u#F#u#D#GbV#u#G#G.w.1.w#G.wa0bV#D#DbV.w#baz.w#G#G#G#G#0.BbSa5#u#u#D.1.1bn.0#7#z#0bSbSbSa5#z#z#r.e.e.4.4#2#2bT.4.4.4.S.R.Rbn.i#s.K#zbV#s#0bV.w",
+"#u.8#u#u#ubV#GbVby.wbQ.w#b.wbVbl#T#T.l.ear.Ba5.8.w#G#G#G.w.1.1.1.1#G#G.w.1#G#G.w#P.w#G.1.w#P.w#0#D#DbV.w.w#0#0#0.w#b#baVaVbn.1#G.y.y#F#F#2.obv#Fay#z#GbVbV#z.e.e#z#z#zbV#s#s#s#sbQbQ#sbQ.wbV#G#0",
+"#0#0#0#G#0#u#ublbDbT.4#4#zbQ.e.e#s#s#s#z.w#0#0aU#DbSbVbV#D#D#D#G.w#G#G.w#P.w.w.w#Gbmbmbmay#u#G.waz#b.w.w#Ga5bl#uaraW#i#i#ia6.4.ebVbnbQ#b.w.w#GbV#u.r.r#G#G#G#0a5.1.wbV#zbSar.J.JbT#x#2.y#F.8#u#G",
+"#5.TbL#tbD#i.g.Z.SbA#zbAbKbSbSbA#u#D#G#u#u#u#DbV#GbVay#G#0#G#G.r#D#Gbn.w#b#b#HaY.1bVbV.y#u.y#F#Fbv.o.M#2#2#2aBbG.9#OaB.y#D.1.1.1.w#s.1.w#G#G#G.rbdbda7bdbnbn#sbQ.nbw.s.Z.4.8.8.8.obl#u#zbV#z.K.K",
+"#i#x.Z#tbL.K.kbQbAbVbK#u.ybSbV#z#G.w.w#G#D#G#0#G.1#G#D.1.1.1.1.1bVbV#z.yaBaM.M.5.y.y.y#ubV.w#P.w.w.w#b.1.1.w.wby#b.w#b.w#b.w.1.1#u#u#ubVbAbK#z.S.T.TbO.Z#vbga3axbD#xaZ.8bAbAbAbA.e#4bA#ta6.P.6.6",
+".S.4bL.e.e.e.ebA.8bSbSbSbVay#0#G.1.1a0.1#ba0#H#bbc#Hbc#Ha0bc.1.0#z.8#T.J.l.ebVbV#G#G#G.w.w.w.w#P.w#b#n#b.1.1.w#n.1.1.1#G#G#D#ublbl#2.4.4.g.Z#ZbN#9#9aa#X.g.ZbOar.Mbvbla5#z#zbA.laPbNbi.U.U#..Zbw",
+"bL.e.e.e#zbSbSbl#u#DbS#G#G#0#G#G.1.1.1.1bc#Ha0.1#G.1.1a0#b.1#u#F.e.4#T.8by#b#na0a0#b.w.w.w.w#P#0bVbV.1.1#G#G#u#G.1#G#G#ubS.8.l#T.Z.g#ibW.UbNa9#p.UaP.9.S.ybVbV#Dayay#z#z.e.4bT#i.pad#pbN#.bRaI.T",
+".4.e.KbS.8blblbSbSbS#GbV#G#0#G#G#G.0.1.1bcaz#H.1#G.1.w#P.w.w#z.8bK.KbQbQbV#u#D.1#0#G#G#G#G#G.1#P.1.1beazbe.1#G#u#zbK.K.4bO.Z#j#v#A#ka9.YbW.ZbL.4.R.R.ibn#D#u#F#FbS.S.4aqaPbNbi.I#.bWaP.gbObL.8bL",
+".K.K#z.e#F.lbv#F#z#GbS#u#u#G.w#G#u#G#G#G.1a0bc.1#P#P#P.w#GbVarar.R#J#HaY.1.1.1#H#H#b.1.1bc.1#P.1.w#b#bazbe.w#zbA#t#t.Z.Z.Z.g#.#.b1ba#..Z.Z.lbS#u.y#u#ubSbS#N.laA#j.ga9#kad#ka9#..g.g#tbO.e.e.ebA",
+".l.l.8.y.8bAbAa5bSbS#ubSbS#0.w#G#G#G#G#G.1bc.1bCbm.1.1.0#Dblbv#T#D.R.ybVbe#nazanananbeaz#b#bbc#H.wa0.1#sbV.S.S#t#t.s.Z.sbwaIaIaI#t#t.4bA.lbl#ubl.3a5a5.e.4bh#V#XbN#k#kaG#k.L.OaIbL.e.K.ebA.y.4.8",
+"bSbAbAa5.ebA.8.4.8.ybS#z#G.w#0bSay#0bm#G#G.0.1.0bc#H.zbf.zbe.1#z.KbVbSbA.y#D#D.1bebebe#HbeazazazazazbebV.S.4#1bMbZbR.Z.Z.Z#t#tbYbl.o#ubS#Gay#0#uarbl.laB#t.uaT.Oad#kaGb6#ka9.g.Z#t#t.4.4#t.4bK.K",
+"aBbs.y.ybA.l.lar.4aBaB.8.y#F#u.wbn#D#D#G.0.0a7.FbdbCbc.1.1.0.1bc.F#8#H.1.ybG.4.ebn#s#s#baY#saYaV#b.w#s#J.SaZbD.sbR#t.S#z#ubs#F.R#D#D.0#G#G#G#G.0#D.R.yaBbDbDaP.g#Zb1.L.fb6.h.hac.I.YaT.u#t.Z.Z#2",
+"b3bR#1.4.4.4bX.R.K.KbV.ybl#F#F#F#za5a5.B#z#0#sby.1#G.1.1.1bm#G.1a0a0#H#H#b#b#s.ya#.X.y.ybVbn.w#bbebeaY#sbAbRbZa2au.S.R#s#z.y.e#zbs#ubn.1.1.1#G#D.0#D#D.RbA.4bO.4aPbD#Eb#af.I#Maf.2.x.L.L#Z.O.n#S",
+"aObi#Xbw.s.sbY.SbXbK#z#z.w.w.wa0#z#za5bS.l.l.8bVbSbVbS#G#G#G.w#Pbe.w#b#bazbrb4#Hbebebe.1#u#F.5.X#F.y#s#Y.NaN.Q.Q.T.Tbu.w#sbn.1be#sbVbV.y.y.ybn#b#G#G#G#G#0bn#zbSbn#bbn#D.R.RaBbX#3.O.Yaf.I.Ibi#E",
+"aVbX.G.6a3aCb3#U.y#z#s#0#z.w.w#s#H#H.1.1.0#G#Hb4bVbV#u#u#u#D.0#D.1.1.1#D#7#D#Hb4bCbc.1.w#b#b#n#nbe.1#u.yaBbX.S.kb4.cb4aYbA#T.4#r.4.K.K#s#s#s#D.y#GaybV.w.w.w.w.w#G.w.w.w#b.1bn.1#P.w.w#0#0aybS#G",
+"bnaVaYbeaNarbp.A.P#2#F.y#u#s.w#sb4b4.1.1.1.1#H#H#nbeaz#b#HbnbCa7.zbe.z.1#D#D.w#Baz.z#H.w#P.w.w.wbebeanbrbebn.RbX.4bQb0aL#BaYa7.bbA.4#xaMaZ.ybK.kbA.4.4#F.8.ybA.ybv#u#ubS#sbV#D#zbl.ray#G#G#P.w#P",
+".w#0bSbVbV#D#D.1aY#b.w#zbS#FaBaB#x.M.l.8a5byap#bbn.1bebebebebeaza7.0bd#u#ubSbS.BbC#D.0#D#G.w.w.1anazb4bebebebr#B.V.c#D#Oai.S#s.WaE#Y#Y#YaY.kaB#x#4.S.S.4aBbX.y.y.y.K#z.KbV#z.ybV.ybKbKbK.K.K#z.k",
+".8.8#u#G.w#HaV.1#s.w#s#0#zbV.wbQ#na0by#0a5bSbvbg.M#F.y#ubSbA#z.k.w.w.w.wa0a0.w.w#H.w#HbV#D#u#G.1.1.1#b.w.1.1#D#DbVakaLaLaLbq#B.VaB.XaB.ybKbQaLaL.q.qaY#a#b.w#b#b#b#b.wbn#s#D.y#D#s#s#s#JbKau.SbA",
+"b4#Hbe#baY#s.K.S.y#F.ybSbS.R#zbe#H#H.1#Gbc#b#bbn.w#bbybQ.4#xbga6#T.l#za5bV#G#Gbc.w#b#b.wbV#D.1beby.wbVbV#z#s.w#Y#bbeaY#J#s#Ybe.1#B#B#Bbr#s.RbA.KbKbnaV.w#b.w#Ha0b4anbe#Hbe.1.1#bbC#8bc#Ha0a0#Pbc",
+"b4#8#8#H#HbCbC.1b4#b.w.1#P#G#G.0akbVbXaB#2#2.4bAbA.KbAbV#s#b#YaY.1bV.8aZ.GbYaB.S.RaV#abebn.1#8az#b.w.w#b#ba0by.w.1#Hazbebe.1#s#b#ebnbnbnaVaVaYbnbnb4bebe#abe#abebnbnbnbn.ibnbnbn##a7#8#8#ea7beaL",
+"#Y.w.w#s.w#0#z#0#D#DbVbVbVbV#bana7#D.1.1#b.1#D#D#u#u#Fa#.o.y#D#D.r.r.w#b#Y#b#b.w.gbkbg#Tar#za5a5####.5.b.Ra7.1bn#HaV#H#Hbn#D#D.ybQbQ#z.K.e.K.e.ea7bnaVa7bnaY#aaL.m#Wbrbr#Ybr#W.m#L#L#L.mbeb4.w#b",
+"#sbK.ybS#z#zbSbS.k.k.K.S.SbAbKbn.w.1#D#GbV#GbV.w#G#G#G#u#u#ubl#7.r#G#G#0#zayay.0#Y.wa5bS#zbS.8.M.4.Z#xbka6#TbObO#D.Rbn#s#bbebebebV.R.R.y.R#D#DbVbebe#BbqaLbebn.Rbnbnbebr#BbrbeaV#Da7bran.mbr.1#D",
+"anazbean#Banbe#H.y#O#x#x.ybKbK.R.Jbvar.ebja5#N#TbvbS#z#0#0.1#0bV#G#u#u.o#Fbb#7bm#F#7#u#D#Dbn#bbe#s#s#sbn.w#zbVbVbkbpbpbpbhbhbhbhaAaAaWaW#N#r#rbFbs.ybKbn#b#YaLbq#Bbrbebebebr#BbqbeaLbe#Y#B#B#B#B",
+"a7#DbCb4azananan#BaL#b#Yby#b#G#ub0aN.e#x#i#xaWbObAa5.e.8.4#2.4.4.w.wbQ#zbSbSbVbV.w#z#zbS.JbGbG.l#D#GbV.1.w.1#G#G#H#8#8#8aoa7#8#8#D#Dbn.1bnbC.1bC#b.w#D#D.y.5bs.y##a7#Hbranbe.1.i#sbn#D.Rbsbs#ubs",
+"#b#0.y.8#2#2#2#2#F#u#G.w#0#G#Pazb4b4beb4bnbn##.5#xaB.4.4.4.e#z.K.e.SbA.8bA.ebK.K#zbV.y#ubVbVbVbVar.8ara8ara8a5ar.RbV#zbVbA.y#D#sbSa5a5bV#zbSbVbS#G#DbV#b#b.1bn#bananbeb4b4anananbean#B#B#Bazbebe",
+"#0a5bSbV.w#Y#BaE.1#0.wbSay#uay#Gbd.FbCbC#H.zanaz#b#b#b.w#zbA#2#c.P#6#6.M#2.e.K.k#KaB.Xbsbn.1.1#7#Hbna7#D#D#D#D.0#0#zbVbV#u#F#FblbdbCbC.1bC#G.1.1bV#u#D#G#Hbean.manbeanan#B.manan.mbebe.1bV.1.1.1",
+".zbCa7#Hazanb4#8#Y.w.y.8#z.w#G#D#G#0#P#0#0#0#uaJ#D#u#ubl#D#0.wb2.w.1#0#0.w#z.4.G#vbhbRbO#rar#N.l#4bL.S.4.4.4.4bLay#D#uay.1#Ha0.w.1.w.1.w#G#s#0.w#G.1.1an#Bazb4b4anazb4b4.zananan#f#f#8#b#H.w.1#b",
+"b4#Hbd#Ha7#H.1.0a7#H#b.wbV#s.w#0#D#D#D#D#G#u#u#G#G#G#GbV#u.8.y#ubs#7#G.1.1bn#D.y#xbXbAbAbYbt.Z#RbXbK#s.k.R.S.RbAbl#F.o.o#Fbv.yblbV#u#7#G.1.z.z.z.w.1#G#u#D.0#G#nb4#H.1.1#b.zb4.z#H.1.1.1#Hbe.m#B",
+"#Y.w#D.1ay.w.w#Ga7#H#H.w#G#G#G#G#D.wbV#G.1.w#G.1#D#D#ubSbA#u.KbV#s#G#u#u#ubVbn#s.zb4b4#sbO.g#V#X.MaB.yaBaB#2aZ#2.y.y.R.KbQ.KbQbu#zbAbK#s#bbe#Ybea0be#bbn.w#D.y#G.1bC.1.1a0#b.z.z.zbc#H.zbCao#HbC",
+".wbS#0.wa0a0#na0azaz#b#H.1#G.0.0.w#P.w#G#0#G#uay#D#DbAbK#z.KbSbK.l.4bv.8#F.l.e.S#ubAbA.RbK.K.K#s.4bAa5#z#z#z#z#z#w#m#3ba.p.p.L.L.ZaZbD#t#R.SaKaKakap#Y#bak#s#zakbn#D#u#D.y#7bs#7#F#F#u#0#0#0by.w",
+"bna7anbran#8az#8.1#ba0#bbcbeaza0a0.w#G#G.1bm#G#0.1#z#GbV#z#0#s#G.e#z#z#za5.8bGbgaAbv#T.l#F#Da7a7bQbybQ#z.e#z.ebAblblay.0ay.raJ.obR.s#tbR#t.s.s#tbDaZa6bT.Z.gbT.SbA.S.S.KbQ.q.q#YbqaLbeaV#D#u#D#u",
+"auauaL#W#Wbr#L#Wbe#nbe.w.w.w.1a7.1#H.1.0#u#7#7.r.0#ubl#uay#Gay#u#z#za5#u#ubS#za5#D#u#u.8.8.8.8#r.4bYaZ.G.GaZaZaZ#t.SbLbFb.#5bO.Z#t.Z.Z#t.Z#iaC.E.Z#1.g.ga6#ibWbR.C.s#..OaPbNbi.Ua9ajaO#X#v#y#r#h",
+"bL#1b.aI.g.I.UaP.GaZ#t.4.SbK#sbQbe#Bbe#b.1#D#D.w#G#DbSbl.8bl#u#F.8aB#F#F#F#ubV.w.ybSbS#u.8.8a5#z.k.K.KbK.KbQaYakbu.K.S.4.4.4.S.e.4.8.4.ebF.Kb.#h.gbR#taq.ZbW#E.gaP.YbNba#.babaaP#3.u.s#R#R.S.KbK",
+"a6a6.Z.ebO.T.QaNa2a2aIaT.Ub#.6.EbIaZaZ.4.S.SbA.kakbQ.k.KbF.ebA.y.e.ebSbS#u.8#FbG#r#r#r.e#F.ybsbdbV#zbV.yaBaB#2#2#MavaS#Z.O.O.OaPa6#i#i.ZbRaI.H.n.ZaIaI.T#5aIbRb.b.bLaIbRbR.gbWaP.g#v.g.Z#x.gbT#i",
+"#H.1#DaY.ybV.SaB.Y.O.O#.#X.ObBaIbR.T#1#t#1.Z.g.ZaP.U.U#EbW.g.g.g#T#T.4.l.l.8bS.e#F.8#F.l.8arararblbSa5#0bS.BbS#ubV#u#ubl#ublblbl#5bZ.gaP#.babN.pb##E#E#E.Z.g.gaIaB#2.ZbL.T.e.e.K#z.kby#b#b#Y#Baz",
+"brbrb4#Hb4.1#D.0.R.y.y#F.yaBbvaB.Z.g.g.g#jaOaxbxaFaS.Y.O.s.s#ta2#Fbla5bSay#ua8bl.y.y.RbK#J.KbKbK.S#F.y.8.8bA#F.l.y.y.8.8.4.4.4.4aPbtaPaP#E.YaPbNaP.Z.sbwbw.C.CbZbB.C.Z#..O.H.OaP#RbX.SbK#JbnaV#a",
+"aZ#taZ.Z.4bLbO.ebLbR.S.TbL.T#4buaK.S#R#R#4.Sbw#t#3aT.Z.ZbD#i.E#i#Z#ZafafbN#Z.na2.3ay.B.Bay.B.8a8bn.y.4.4.4.8.8bAbl.y.ybKbS.e.e.8#F.K#s#s.k.KbLbObL#t.Z.9.G.GbI.E.G.9aP.g.ZbZbZ#tbJaI#.#EbW#E.g.Z",
+"aKaKaH.u.C.C.sbw.O.O.O.O.Y.Uba.O.uaPbtaT.u.s.s#Rb.#4#5bLbL#T.Z.4.4#t.4.4#t.4.y.ebKbAbV.KbAbAbA.K.KbVbAa5#z#z#z.y#z#zbS.8aB#2.M#2.o#F#ubl#F#u#G.wbQbKbKbnbQ#YaL#Y#saY.KbAbYaBaBbY#.bibiaPaI.Tb7bR",
+"#h#5#1#X#jaOaaaa#M#paf.Ybaba.n#S.H#.#.aDaqaqaq.HaPbW#x.Z.4.Z.4bR#RbLb.b..k#4#R.4#RaH.u.u.u.ja1aK#F.S.4.K#zbQ#zbVbSbSbS.ybS#DbVbVayayayblbbbl#u#G#D#u#u#D.1.1#b#H#H#b#b#GbV#s#b.1#L#WaL#WbqaLbK#K",
+".zanbeb4be#aaY#aak.k#4bL#t.G.G#i#1#j#j.gaq#j#.bW.ZaT#tbRbObRbLb.#u.r.r.r.r.rbmbm#za5bv.la5a5a5a5.K.4#xbg#xbg.MaM#2.8bV#s.w#sbV#ubS#z.1#z#G#G.1#G.1.1.1.1.1.1bc.1.1.1.1#G.wazaz#Bb4#8bC#Hbebe#H#b",
+"#D#G#G#u#0#zbSbSbVbVbAbAbV#z#z#s#JbK.R#s#saYaVaYb.#4.SbL.4.Z#t#t.L.LaS.Lba.O.n#mbQ#z.K#zbQ#0.e#2bQ.K.K.K#z#s#z#D.y#F#F#F#F#F.oaB.8.y.8.y#ubV#0#D#u.r#G.0#G#G#Gbc.1#G#G#G#G#Hbc.1#naz#b.w.1#0#0#P",
+".z.zbcbCbcbC.0.0be#b#ba0#H.1.1.w#Dbdbdbn#H#8.z.z#BaL#b.w#sbV#z#s.K.K.K#z.K.K#z.K#R.C.j#RauaubYbt.6#6a6bL#zak#bak#D#D#D.y#u#u#0#0.w#sbV#u#F#Fbl#u.w#0#G#G.1#G.1#G.r#GbV#GbV.1bc#H.w.w.wa0#0bS#G#0",
+".w.w.1#G.1#P#G#P.w.1#H.1.1#D#D.1by#0#0#G#P.w.w#b#Hbc#Gay#G.r.1.wbv#F.l#F.laJbvblbA.8.l.8a5#z#zbS.K#4bO.4#TaBaB#Fb4#baz#b#P#zbl.o#F#D#0#G#G#GaU#0.B#u#u#u#G#G#0.1.w.w.w.w#0#G.1.1b4anbraz#8.1#8az",
+"b4.1bnbC.1b4.zaz#f#fbr#fb4#8.Van#f#8#8ananbe#G#u.1#G#DbC.1.1.w.1.w.1#G#G#GbS#ubSaiaB.SbXaB#2.4bKbvar.ebF.T#1#j.gah#O##bnbn#D#baY.1#D#DbS#u#D#7#7.o#u#0.wbya0a0#0.wbn#0bSbAbS#z#0#8#8an.z.1bd.1a0",
+"#b.1.1bn.1bebran#W.man.manbran.m.m#Bbebe.1#D#D#bbCbCbC#GbC#G.1#G#u.8#ubSbVbS#z#z.w#s#D#ubV.1.w.w#Da7bd#Dbs.5.5#O.Q.Q.K#N.Jbgawax#O.y#z#s#z#z#b#B.zazaz.1#GbC.0bd#7#D#ubSbV#G.wbebr.Vbe#8#D#7#7#G",
+"#b#b#b#b.w#b#bbeb4#H.cbebe#bbnbK.e#z#z#sbVbs#D#G#z#z#za5a5#za5a5#sbn#z#z#z.y.8bAbl#F.o.o#u#G#G.r.1bnbn#D#DbV#z.w#T#x.MbGbla5a5.eaB.S.SbT.6.a#2bK.1bn.1bn.1bean#lazazbe.1.R#F.5a#.S.e.ebUbU.W.Wap",
+".ybAbAbKbK#DbV.waV#HbebebeaYbnbn#z#FaB#F.y#D#Dbnbe#H.1bn.1#Dbnbn#8#eao#e#8#8#8#8#0#0#0.w#G#G.ray#2.J#2#2.la5#z.w#b.1#u#Gbnbn#D#DbAbA.4.4.8bA#z#z.e.8#T.J#x.l.K#z#D#0.w.w#b.qbraLanbr.Vbr#8bd.b.b",
+"#B#B#Bazbrbebebe#8brbrbrbe.zbrbr.mbrb4#H#b#sbVbV#NaW#T#T.J.JbkbkaAbp#Vbpbhbpbpbp.e#zbQ.w.w#s.1.w#H#b.1#G#D#7#7#FbS.8.l.l.8a5#sbybV#G#0.w#0#z#Fa#.4#NbOar#r#r#z#za8.ybS.8.4aB.SbK.cb4anan.mbeanan",
+"brbrbebrazbr#f.Vbr#f.manb4bebean.V.V.m.maL.1bA.y.Rbnbnbnbnbn#Hb4#Y.w#saYbQbnbK.RbT.GaM#2.4bVbVbK.8#F#u#z.wbybyby#G#G#zbV#u#F#F.obb#uay#0#0.w.w.w#b#b#sbn#D.X.5.b#z#0#za5bAbA.K#s#TaAbObO#T#T#raN",
+"bnbnbnbeanbq#l#Lan.maLbrbebebrbeaVb4b4aVbnbn.wbe#T.4.ybAbK.KbQbQ#D.R#D.1.1#H.1#H#Y#s#zbVbV#z#u.ya5a5ar.l#T.J#vawa7#Hb4be#b.1.0.0#G#ublbv#c#c#2#u#Dbd#D.1.w#Hbean#b.w.wbVbSbVbVbVbVbV#D.1bV.1#ban",
+"#Bbebe#abebeaVbnbn#sbn#D#s#a#b.w.q#b.q#Y#Ybe#HbnaY#baY#baVbnaVaV#bbn.w#bbebeaV#H#D.1bebe.w#G.wa0.z.z#HaV#HaYbnaV.ebLa6a6a6bOa5b2.w#b.w#zbU#s#s#zbA.lbv#T#T.l.y#0#8.1#D.1.wazaza0.w#P.wbebe#H#baz",
+"az.1bcbc.1.1bCa0#H#8b4b4#H#Hbebr#b#bbn.ybXbK#s.c.ia7bebe#zbV.8a5bnaY.caLaLbe#H#H.kbKbKbK#s#b#b#H#bbV#DbV.wbe.w.1bCbCbn#D#2bg#i#i.J.lbA#s#b#bbQbQ#JbVbVbS#G#u.R.R.SaB#2#2aB#Fbd#H.z.1.wa0#b#Ybe#Y",
+"au.S.S#J.k.R.kaY#DbVbV#sbn#s#s#b#Y#Y#Y#Yak.q#Y.N#Y#Y#a.R.y.y.ybV#ebrbq#WaL#B#bbV.i.RbVbn.1#bb4b4#s#D.y#ubV.1#b#H.1.1#bbe#Y#b#s#z#z#z#D#7bs#u.y.lai.5#F#u#0.wbebe.qakbQbQ#baY#b#b.1.1.0#G#D#ubb#F",
+".k#s.k.k.K.KbK.KbA.KbK.K#z#s#z.K.5aBbX.4bY#RaHbY.Z.4.e#s#sbnb4#H.q#Y#sai.dbs#8anbeanan#Ybe#H#H#8#b#H.wbV#G#G.0.1.wbV#u#F#7#D.1b4#bbebebeazb4.1bVbebe.w#z#u#FaBai.4#2.4.ebQbQ.w#Y.w#G#GbVay#u#z.w",
+"bm#G#Gaybl#ublblbAbA.8bSbAa5bS#F#D.1#zbnbVbK.K.K.K.e.4aB.y#Dbnbea7#8brbq#Y.K.ebU#Hbe#Yanazbeazanazaz#n#n.w.1.1.1.w.w.1#Pa0#b.1.0bV#G.1.1az#b.w#s#sbVbV#ubVbV.1#s#z.yaB#2bG.M#xbgbG.8#z#Yb0#b#s#z",
+"bS#GaybS#G.w#b#b#zbV#0bV.w.w#G#G#G#G.1#G#zbV#D#u.y#D#z#s#s.K.8aiar.4.4bV#sbn.cbr#s#u#2.M#x.y#D#b.1#b#b#b#na0a0a0a0.1.0.X#7#u.1a0#z#D#u#F#u#ubVbV#n#n#b#Pby#b#Y#n#bbn#D#DbV.KbV#z.K#1#i.6.6bDbL.Q",
+"#Ebi#p.U.Y#Z#C#3bAbAbKbV#s#G#s#0#D#G.w.w#0bc#Gay.1#D#7#F.ya5#s.WaV.cbebn#sbQ#h.T.K.kbQb0aE#YbV.X.y.y.y.ybV.w#b.1#8.1azazaza0a0.wa0.w#0#GbV#z#z#0#F#F#F#F#F#u#ubVbe#b.1aY.wbV.ybAbRbR.Zaq.Z#E.U.U",
+".n#Z.p.Las.faQ.fafaf.U.UaPbD.Z#t.4bK#za5#z#G#G#G#G#G.w#G#GbV#u.ybUbQ#z#zbV#JbKbYb.#R.Z#tbA.wbe#n.R#D.y.y.8#Dbn#D#Y.w.wbn.w.waza0.1.1#H#b#P.w#GbV.w#0bV#u#u#u#u#ubv.o#F.y#DbK#z.K#z#4.4.S.TbL#t#t",
+"bLaZbD#R#taP.U#Z.hb6as.L#k.pba#ZbD.s.ZbTbG.8bS#Gay.B#G#0#G#D.0#D#s.y.ybVbV.4.ZbL.s.s#R#4#s.w#H.1aY.qbebQ#s#s#sbnar.l.l#u.1#HbC.FbC.1bC.1.1.1.1.1aybVbV.w#s.w#s#0by#za5#u.y.4.l#r.y.8#F.8.K.e.4#T",
+"#4#4.S.4#taZ#T#2aZaTbNaQ#daQ.fasaS#QaT.s.4.8ararbl#ubVbV#ubl#F.XbT.G#t.S#tbkbT.T.uaH#OaB#D.1.zaz.z#f.z.zb4.za0.z#Jbn#JbK.ybAbK#s#z#baz.z.z.zaobc.0.1#G.0#G#u#G#G#ubS#0bVa5bS#uaBaB.y.y#u#F#FbA.K",
+"#zbK.e.S.8.S.S.T.O#Z.LaQaQaQb5af#..Z#t.4#F.yblblbl#ubVbVbK.S#t.saI#tbwbZaI#t#t.S.n#1.TbF#zbQby.wbebranbraz#b.1.wan#nbe.w#z.y#FaB.8.ybn#Haobcbcbc.1.1.1.1#G#G#G#0#G#0#GbV#ubVbVbV.8bAblbAbSbS.K.K",
+"#F.l.8.4bLbRbRbR#Z.L#kafafbN#..Zbg.Jbv.8#u#D.0#7#ubS.y#t.s.Obaas#3baaP.Z.sbD.Z.Z.y#JaY#a#Ybe#b.wb4#b#bbebebebe#bbm.0#u#G.w.w#0bVbGbAbVbV.1.1.w#P.1#Ha0bc.1#Day#D#0.1bS#u#ubV#zbVar.8.l.8a5a5.e#N",
+"#T.4.4bObw#.bNad#k.pba#.bR.4bAa5ara5#zbVbV#u.y.4.K#t.gbi#pb5.p#k.ZaP.Z#t.S.y#Dbna7bCb4.zazb4ao.1#b.1.1bVaybV#G.wa0.w#G#z#0#z.K.y.8bV.w.1.1.1bc.1bcbc#Ha0.1.0#G#G#G#G#G#G#GbVbV#ubla8a8blbSa5.8.4",
+".e.T#1bw#..paQa.#E#v.Z.8.ebSbSay#FblbA.y.S.T.TaIaDbN#paj.U#v.g#ta6#TbAbSbS#G.1bc#GaU#P.w#0#GbSbS#G#Gay.r#D#G.w#P#D.y.8.4.4.e.e.e#u.1#P.1bc.1.1.1.0#Ha0#Hbc.1.1.way#0.w#0bV#GbV.ybl#F#u#zbVbKbA.y",
+".g#.bW.UaOa9#..O.4.8bAbSbS#u.lbv.K.K.S#x#Eb#.v...Yba#..Z#T.4#Fbvbl#ubS#G.0#GbCbc#Pbc#P#P#G.w.w#P#Gbc.w.w.w.w#P.wb0.qbQ.K#r.S.S.S#G.1b4#P#H.1bc.1.1bca0.1#P.w.w.w#G#z#GbVbVbSbSbS#DbV#s.K#4.S.4.4",
+"#EaC#i.gbT.4.4bAbAbAbSbAbA.4.ZaPa3.6#6#E#x.4bLbL.4bAbKbAbSbS#ubS#0#P#P.w.w.1.w.1#H.1a7bCbn#H#H#Hbybyby#z#z.8.4.4aM#xaZ#2.8.y#GbV#Gbc.w.1#G.w.1.wbcbC#G#G.1#G#GaybSbSbS.8bla5bA.8#z#z.KbZbRaT.ZaP",
+".4#r.K#z#z#G#ubb.8.y.y.y#R.O#Z.tbMbM#5.ebA.R#D#Day.rayaybV#G.wby.1#G.w#G.w.wbV#u.TbObO.Z.Za6bD#ia6bTbDbD#iaP.s#t.K#s.wbya0#P.1bm#G#0#0.BbSayb2#0.1#G#u#GbVay.8.8blbSa5bSa5#za5bAar.Z.gbaa9baba.O",
+"b2bS.8#N#T.Ja6bk.M.M.lbS#z#G#z.w#ubV#GbV.1#G#D.ra7bnaV#H#Hbnbn#D.l.4#2.E.6.6bT.T.X.X#u#D.1.1b4be.1#G#G#G.0#Gbcbc.1.1.w.1.w.1#D#G#D.0.0#D#GbVaybS#G.1.1#Dbn#DbnbV.SbA.KbVbK.4aZbD#F#ubVbSaybV.wbn",
+"#D.0#Dbn.1#sbQ#s#za5#z.w#zbS.y#ubV.kbVbVbVbVbVbnaW.l.l.4#Narar.8bCbn#HaVbnaVbebea0.w.w.1.1a7#u#7.1#s#H.1.w#Ha0#b#G.w.w.w.1.w#G#G.0#G.1#0.w#0#0.wbS.ebS.e.l.4.JbG.y#u#D.w.w.w#sbQbV#s#0ay#ubV#D#D",
+".0bn#Gbn#D.R.R.RbV#G#z#0bV#u#u.y.SaBbYaB#t.4bA.ea5#zb2bSbSbVbV.w.0.0a7#Hb4#Hbn#7a5#z#z.w.wa0a0#bbeaz#b#b#bbn#D.y.1#G#G#G#G#u#G#u.1.1#b.1aybl#Fa8bG#T.8.eby.Wb0bP#G#Gbm#Gbm#G#G#G#sbn.w#z#G#G#zbn",
+"#z.w.w#zar.4#T.Jbv#F.ybSbV#ubSbVaY#s#s.Ka5.K#z.Kbl#u#D#G#D.rbd.ra5#0bS.BbVa5#ua8.ybla8#u#0#G#G#G.0#D#G.wbe#B#Ybe#P.w.w.w.1#0#G#G#G.1#P.w.w#0#0.w#baY#s.wbn.0#D#7ay.rbm.r#G#G#G#GbV#0#z#0#G#z.1.w",
+".8ara5.Ka5.ear.e.w.w.wa0#bby.w#b#0#0bV#u#F#FbGbv.8.8ay#z#0#0#0#0#z#0a5aya5ayb2#0bV#GbV#D#u#u#D#Ga0a0bc.1bc#G#D#u#Day#D#GbV#G.w#s.w.w.w.w.w#z.w.waBbs.y#D#DbC.1bCbV#G#0.1#0#G#0#zbKbSbSbS#u#ubVbV",
+"#Hb4bebeazbeaz#Y#ubV#u#z#u.y.8#F.w.w.w.w#0.w#0#z#G#ubl#F#u#u#u#Fbd#u#D.0#7#7#7#D#u#D#GbV#G.w#bbebc.1#G#G.1.w#P.w#b.wby#s.w.w#s.w#z#z.KbA.4#F#T#2ar.e.ebA.ebAbAbSbQ.w#s.w#z#zbK.4.y.8bSbS#0bSbVbn",
+"bn.1a7bnbn#D###u.1#0bn.w#G#z#D#0#0bV.w.w.w#bbe#bb4b4#HbCa7#Dbd.ybs.R#D#u#u#F#7bs#u#u#u.ybA.S.4bLap#b.WbQ#z#s#z#z.8.4.8#2#2bG.MbT.4.SbA.S.4.S.K.Kararar.ea5.ebS.e.8.8.ybS#z#z#s.KbAbla5#0#0.w#s.w",
+"#s#z#s#z#z#z#za5#D#D#GbV.wbV#z#0.Ka5bKbAau.R.S.R.lbAa5.e#r#NaAaAa6.ZaW#N#N.e.e.e.BbSa5.earbOa6#Ebi#EbDbDa6#t.4.4.ebA.SbA.e.K.K#zbL.T.KbL#t#TbL.Kbn.1.1.1.w#Hbeb4bV#z#z#G.w#z#z.K#za5#zby#0bVbV#z",
+"#u#D#DbV#u#ua8#ubXau.y.y.ybs#DbsbK.SbL#RaIaI.C#3bw#t#R#R.S.S.S.y#t.gaPaP.gaT.Z.ObabaaP.Z.Z.Z.4.l#F#2#2#O.S.ebA.8.S#2aB.y#zbKbS.y#u#D.1.w.1bnbVbn#zbK.y.SbK#4.S#tbSbV#u.8.8#u.8#ubV.y.y.y#ubA#ubV",
+".##q#qat.tas.2.2#A#A#AbH.H#C.H#CaMbI#x.GaZ.9bD.G.9bD.GbT#2#2aBaBbK.ybAbKbK.S.S.S#t.Z.Z.4bAbK#zbV#sbV.K.K.K#s.KbV.K.y.SbA.KbK.y.S.4.ybAbK.K.K.K.K.K.K.e.K#4.K#4bLa2#5.D#5a2aIaIa2aIbBbZbwbw.s.OaP",
+"ba.O.Obaba#.#.#..A.A#v.Abkbkbk.A.y.8.SbA.e.S.S.4.K.e.e.e.e#z#z#0bS#ubV#zbV.y.ybS#4.SbY.S.y.yaBaB.4#t#t#t#t.S.S.S.e.4.4.S.K.KbL.S#hbF.TbR.gaPbWaP#Z#ZbaaS.p#kb5b5bNa9#..O.O.Oaq.ObaaP.O.O#Zba.Y.Y",
+"#D#u#u#uaybSbS#u#s#s#z.w#s#s.1bnbQbQbQbQbQ.Q.K.T#t.4.Z#2#T.4.4.4bAbA.SbA.S.S.K.KbQ.K.K.K#5bLbL.SbO#R.T#5b.#5.K.kb.#5bLbZbZbR.Z.gaP#.aPbNbNbN.O.Hbwbwbwbw#3.O.O.O#2.4.8.8.8.8.ybAbA.e#z#s#z#s#z#s",
+"#5.TbLbL.TbLbLbL#m#gae.CaX.Caeae.Z.4#tbLbLbZbR#tbObR#tbR.4.4.4#t.saP.U#E.YaP.U#..UbWbibWbNbNa9#..gbW.Z.sbwaP.G.9aP#E.U#E#EaPaP.U.Y#3bBaIbw.Cb.#w.ybSa5bVbSbV#z.w#z#z#z.K.K.e.ea5bAa5.ea5.ea5a5.e",
+".U.Y.YaTaT.Z.O.gbRbRbwbw#tbB.s.ZbTbT.Z#t.4.4.4a6#t.Z#t#t#t#ta6bDaIbZbB.n#m.n#3#3#X#.aq.HbH#..H#m.TbRaIa2.DaI.T#4bwbRbwbwbZb.bob.#4b.buaK#R.s.9#t#3.O.O.Obw.sbw.sbwbwbwbw#tbwbRbB.Z.gaP.gaP.gaP.g",
+"aB#FbSbVbV#D#ubVaya8bl.8aybS#u#u#zbVbV#zbV#zbK#u#u#u.y.8.ybA.ybA.4bY.4.4#t#tbDaZ#tbR.4#t.4#t#tbL.K#tbwaI#5aIbLbFaIaIbwbD.U#E.Ubi#EbDbD.ZbT#xbT#xabaRaR#oabat.O#Z.s#t.SbLaI#4aKb.b.b..Kbu.7.Qbub.",
+".w#b#b#Y.w#0.1#G#z#G#z#G#b#b#b#s.1#G#G#G.1bc#G#G#G#Day#G#G#G#G#G.w#G#GbV.1#z.w#b.kbnbKbn#s#DbVbV.K#t#iaP.ZbW.g.Z.s.s.gaPaP.Zbw.Za6.Z.Z.8#r#z#ra5#D.r.r.r#Gbcbmbm#G.1.w.wbc.w#G#G#G#G#G#Ga0#P.1.r"
+};
+
+
+
+/* XPM */
+static const char *button_xpm[] = {
+/* width height num_colors chars_per_pixel */
+" 96 96 254 2",
+/* colors */
+".. c #9c3218",
+".# c #a4733e",
+".a c #bc450a",
+".b c #d4700c",
+".c c #dc8c29",
+".d c #bc5e00",
+".e c #d46b37",
+".f c #945431",
+".g c #bc5a2c",
+".h c #8c4e4b",
+".i c #d47e16",
+".j c #bc7422",
+".k c #d47d3a",
+".l c #d45e28",
+".m c #ec9b3e",
+".n c #bc6b43",
+".o c #d45a13",
+".p c #a45236",
+".q c #dc8848",
+".r c #e46b1b",
+".s c #bc652f",
+".t c #a46243",
+".u c #bc6920",
+".v c #a4391e",
+".w c #e47b35",
+".x c #9c6b30",
+".y c #d46d24",
+".z c #ec8a29",
+".A c #bc452a",
+".B c #e46833",
+".C c #bc702e",
+".D c #c47845",
+".E c #b15314",
+".F c #e47e10",
+".G c #bc5a18",
+".H c #bc6145",
+".I c #a44d16",
+".J c #cc5728",
+".K c #d47439",
+".L c #a45b39",
+".M c #cc5815",
+".N c #dc8f4c",
+".O c #b46239",
+".P c #bc5307",
+".Q c #d4794f",
+".R c #d47624",
+".S c #cc6c2c",
+".T c #cc6941",
+".U c #ac5222",
+".V c #e49328",
+".W c #e4754d",
+".X c #d4650b",
+".Y c #ac592c",
+".Z c #c05e2d",
+".0 c #e4751a",
+".1 c #e47d29",
+".2 c #9c6143",
+".3 c #e45f2b",
+".4 c #cc632a",
+".5 c #cc660d",
+".6 c #b44b13",
+".7 c #d48442",
+".8 c #d66228",
+".9 c #bc6221",
+"#. c #b45736",
+"## c #d47714",
+"#a c #dc8936",
+"#b c #e48237",
+"#c c #cc530c",
+"#d c #8c522b",
+"#e c #dc8819",
+"#f c #ec9129",
+"#g c #bc7936",
+"#h c #d46f50",
+"#i c #bc521d",
+"#j c #bc553b",
+"#k c #9c523b",
+"#l c #f49a45",
+"#m c #bc7548",
+"#n c #ec8643",
+"#o c #a86d3a",
+"#p c #a44d21",
+"#q c #a4754b",
+"#r c #d46547",
+"#s c #dc7937",
+"#t c #c4642d",
+"#u c #dc6c21",
+"#v c #bc4d2e",
+"#w c #cc7e53",
+"#x c #c45917",
+"#y c #cc5c42",
+"#z c #dc7036",
+"#A c #ac5448",
+"#B c #ec8f44",
+"#C c #b45c4d",
+"#D c #dc7622",
+"#E c #b45222",
+"#F c #d4651b",
+"#G c #e47328",
+"#H c #e58429",
+"#I c #9c5f23",
+"#J c #d47f2b",
+"#K c #cc7116",
+"#L c #eca24e",
+"#M c #9c471c",
+"#N c #d45b36",
+"#O c #c46716",
+"#P c #ec7836",
+"#Q c #ac642d",
+"#R c #c46f2e",
+"#S c #c47551",
+"#T c #cc5b2b",
+"#U c #cc685f",
+"#V c #bc4b3a",
+"#W c #e49a4b",
+"#X c #b44c35",
+"#Y c #e48745",
+"#Z c #ac613c",
+"#0 c #e47234",
+"#1 c #c46242",
+"#2 c #cc5e1a",
+"#3 c #b4683d",
+"#4 c #cc7430",
+"#5 c #cc7042",
+"#6 c #bf4b0d",
+"#7 c #dc6e13",
+"#8 c #e48c21",
+"#9 c #9c3445",
+"a. c #8c432b",
+"a# c #cc5e04",
+"aa c #a43f33",
+"ab c #b46d44",
+"ac c #9c5e62",
+"ad c #9c4833",
+"ae c #b4742c",
+"af c #a4522b",
+"ag c #dc943c",
+"ah c #b46000",
+"ai c #c46309",
+"aj c #a4441e",
+"ak c #dc7f4c",
+"al c #ac6e27",
+"am c #ac4b4e",
+"an c #ec9238",
+"ao c #e48518",
+"ap c #e47c4f",
+"aq c #bc5c3e",
+"ar c #d56238",
+"as c #9c5840",
+"at c #ab6946",
+"au c #cc761f",
+"av c #9c5024",
+"aw c #bc4922",
+"ax c #bc421d",
+"ay c #e46927",
+"az c #ec8836",
+"aA c #cc513b",
+"aB c #cc661d",
+"aC c #b44a21",
+"aD c #b4544c",
+"aE c #ec8a55",
+"aF c #9c5a20",
+"aG c #94533f",
+"aH c #c4701d",
+"aI c #c46b42",
+"aJ c #dc5a18",
+"aK c #cc7b2f",
+"aL c #e49046",
+"aM c #c4520b",
+"aN c #dc774c",
+"aO c #ac4631",
+"aP c #b45b28",
+"aQ c #944e30",
+"aR c #ac6e4d",
+"aS c #a45f2a",
+"aT c #b4612a",
+"aU c #ec7032",
+"aV c #dc872b",
+"aW c #cc5939",
+"aX c #b47844",
+"aY c #dc843b",
+"aZ c #c4601d",
+"a0 c #ec7f36",
+"a1 c #c47531",
+"a2 c #c47344",
+"a3 c #ac431d",
+"a4 c #ac7439",
+"a5 c #dc6735",
+"a6 c #c4582a",
+"a7 c #dc7c1b",
+"a8 c #dc5d26",
+"a9 c #ac5036",
+"b. c #cc7742",
+"b# c #ac4b13",
+"ba c #ac5a37",
+"bb c #dc5f0c",
+"bc c #ec7a29",
+"bd c #dc7813",
+"be c #e48b37",
+"bf c #f48e28",
+"bg c #c44e1f",
+"bh c #c44e3f",
+"bi c #ac4b1e",
+"bj c #dc6544",
+"bk c #c44c2b",
+"bl c #dc611a",
+"bm c #ec7125",
+"bn c #dc7d29",
+"bo c #cc7752",
+"bp c #c4473c",
+"bq c #ec994b",
+"br c #e49336",
+"bs c #d46f16",
+"bt c #bc600a",
+"bu c #d47a46",
+"bv c #d45b1e",
+"bw c #bc653a",
+"bx c #ac3c1d",
+"by c #e47943",
+"bz c #a46b2e",
+"bA c #d46b2e",
+"bB c #bc6c3a",
+"bC c #e47f1b",
+"bD c #bc5b22",
+"bE c #bc6052",
+"bF c #d47346",
+"bG c #cc561f",
+"bH c #b46044",
+"bI c #bc5312",
+"bJ c #d4775e",
+"bK c #d4732e",
+"bL c #cc6b37",
+"bM c #cc644f",
+"bN c #ac512d",
+"bO c #cc6137",
+"bP c #ec8552",
+"bQ c #dc7944",
+"bR c #c46339",
+"bS c #dc6a2c",
+"bT c #c45a21",
+"bU c #dc6f44",
+"bV c #dc732c",
+"bW c #b4502c",
+"bX c #cc6d1f",
+"bY c #c46521",
+"bZ c #c46939",
+"b0 c #e48653",
+"b1 c #ac6445",
+"b2 c #e46e43",
+"b3 c #c45851",
+"b4 c #e48b2b",
+"b5 c #9c5430",
+"b6 c #944d49",
+"b7 c #c46a51",
+/* pixels */
+".waB.U#5#Dba.##u#sbn#H.8#z.0#Db2.4#E.g.e#T#F#z#4bL.n#EbSbm.kauaz#Bbnbr#B.y#b#bb4.w.z#D.z#haKaZbr#Ha6bLaubn.w#Yb4.z#0#ba7an#s#Yb4b4.8.wbnaVaOb3aBbS.l.K.4bL.S#i#5#0#u.w.w#u.w.1#D#zaP#AbK.y#.#a#u",
+"#b#F.Y.T#u.O#q#D#z.1b4ar.wbn.0bS#raC#..T.4.lbK#4aZ#Zbi#G#G#s.S.1bebnbr#BbA#b.1.1.w.z#Gan#5aK#tbr.1a6#1aua7bS.w#HbCa5#0#DazbK.w#8#H.8#0aVbXbibRbsbA.l.K.e.e.4#x.T#0.8.wbVbVbn#sbVbSaT#AbVbS.gag#G",
+"#bbS.YbL#u.O#q#D#sa7bea5.w#G#D.8.K#ibW#1.4.8.e.SbD.p#pay#G.k.Sbcbebnbe#BbA#b.1bn.1bc#Gbe#1aHaZb4#D.Zb.aLan#0#Dbda7bS.ybCbe.y.w#8be#ubSaY.G#X#1.ybA.8#z.K.ebL.ZbL#0#u.w#GbV.w.1bnbA.u#C#z.y#.aL#G",
+"#YbVaTbL#ubaatbV#zbnbe.K#zbnbn#N#z.g.UbwbO.4.S.4#R.L.UbSay.k#Jbc#abebrazbK#bbnbC#GbC#ub4#X.u.Z#HaY.eaI#Wbr.w.1#H#HbV.8b4anbS#s#H#b#GbVbe.6bw.4.ya5.y.ebS.e.e#t#t#G#u#zbVbV.w#s.w.e.u#CbKbS#.br#P",
+".wbVaT.Tayba.t#u#zbnaza5ar#D.1#T#zbTaO#.bwbL.8#t#tas.Y#Gbl.K.k.1beanazbrbK.w.1.1.1bc#0be#j.C.4b4.ybO.g#Wana0aya7az.w#2az#B#z.w#HaY.wbVaNa3.s.4bA.e.8#F.8#z.ebLbD#0#u.w#GbV#b.1#s#z.s#AbAbV#jag#G",
+"#0#D.ZbLbS#.as#u#z#Dbe.e.4.R#s.J#G.4a9.p#.bR.SaZaP.f#Z.w#u.K.R.1bebqbrbe#D#bbeb4#PbC#z#aaO.CbL.1bV.T.Ibr#8a0.w#Han#Y#2anan#z#0bC#s#H#DaraC.s.4.lbAbA.lblbS.e.K#i#ubV.w#s#GbQbV.wa5.CaD.ybV#.#a#G",
+".1#u.ObLbS#..2a8#z##azar#T.RbQa6#u.4#.aQbNbR.S#T.UaQ#C#bblbK.kbCaV#l#fbebV#bbr.z#G.0bSaYaa.sbO#D.S.Q.U#Laz#n.w.1b4#B#2anbebS#zbC.KaV#Dbpb3bYbX.l.8bAbvblbS.e.k.g#u#G.w#GbVbVbS#s.e.C#CbKbV#X#a#G",
+"#GbV.gbL#u#..2#ua5#u#Y.e.J.R#sbkbbbA.Oa.adbR.T#2#Z.f#3#bbl.KaYa0bn#L.Vbe.wbeanaz#P.0bS#aaabw.e.0aBaNaP#W#8a0#G.0#8aE#2an#HbS#0.1.S.1.1.A#U.S.Rar.4a5#FbSblbAbQ.ZblbV.w#0#DbV.ybV.8.CbE#zbVbW#a.1",
+"#zaybR#m#s.A#AbX#D.1#u.wbvbV#z.M.8bA.4#E#k#Z.OaZ.hafbA#zbAbA#D#Hbnanbr#8aVb4#W#f.wbebVak#M.ObL.R.Ya2.Gbe.1aza7a7#Y.1#F#B.y.k#Db4.y#saY.P.ybX.K.4.8bS#zbS#u.8bA.SbDby#G.1#s.4.KbAbV.SatbVbl#Z#D#G",
+"#Ga8bR#g#s.A#Aau#D#0bV.w#F#Ga5.M.ybA.8#v.p.L#ZaTb6afbAbVbA.KbV#8#s.m#fbr#H#H.m#f.1#bbV.k#p.ObR.y.Oa2aZ#n#baz#H#H.w#0#uaL#O.k#D#b#F.w#b#2#zbK.KaB.ybS#GbS#DbSbVbAbT.wbV#G#s.4#zbS.KbAat#z#u#obV#G",
+"#zblbwae#z#v#A.y#Gbn#u.w.y#z#z.l.ybSbA.Zba#k.LbNas.UbK#0.8bKbVb4bnaL.mbrbe.canbr#H#bbA#4af.O.S.y.OaI#tbea0#b#H#b.y.w#G#b#x.KbV.w.y#s.w#F#s#zbVaBbS#ubS#GbSbSbK#z.4bQ.r.1bn.y#sbSbV.SaR#0#u.Obn.1",
+"#G.8bw.C.w.AbH.ybV.w#za0bS#0.wbS.ybAbS.8#.afaQaQ.L.UbVbVbS.K#sb4#Dbranbrbebe.m#f.1a0bAbL.Y.O.T#F#.aT.4.w#b#H.w.w.8bS.w#Y#x.SbV.1bS#0#z.y#0#z.y.8#zbS#ubV#GbS#ubA#4.w.0.1#bbKbVbV.y.4b1bS#u.O#G.1",
+"#bay#taX#sbk.H.y.w#G#u#bbVbV#z#z#RbAbS.ebRafaQ#d#kaP#s.wbA#zbn#H#sbeb4bebebeanb4.1#HbV#tba.YbL.y#X.U.S.wbc.1#GbV#zay#0by.y.SbV#PbS#zbS#u#z.wbl.y#GbS#u#G#GbV.ybK#z#b.0.1.wbnbV#DbA.Sb1#0bS#3#0.1",
+"#bbSbB.C#sbk#CbsbV#z.yby#u#ubS#G.O.4#ubS.4bNaQaQ.pbD#G.wa5#s#s#H#abebe.zaY#bbr#8#D.1#z.Gba.U.TaB.Ob#bK.wbe#G#G#s.w#u#G#bbKbAbV#G.RbV#F#s.w.w#F#F.w#0#G#0#0aybSbSbQ.w#G#G.wbVbA#GbKbAab#0ay.n.1.w",
+"#b#u.sae.1bk.H#D#z#D.8.wbS#u.y#z#Z.Z.lbSbA#.b5.fba.Z#s#GbS#z#sbe#bbrbebrbnbnan.V#D.1#z.G.nba#4bvbB.6#s.1az.0#G.w#Gay#P#GbKbK#b#G#z.waB.w.w.w#F#u#0.w.w#G#G#0bVbS.ebV#G#G.1#z.8bS#z.8b1#0bS.n#0#G",
+"#s#u.Zaebn.A#Cbs#0#0#F#bbV.y#u.w.taPbvaya5.Zafas#Z#t#0#G#F.K#bbr.wbeanbrbnbK.man.1.w#s#i#S.ObuaBaI.EbQa7a0.0#G#0#D#Gaz#u.Rbnan.0bebQaB#s#sa0#F.wbS#G#G#G#G#G#zbA.ebl#G.0bV#z#F#0bK.8.tayay.H#D.r",
+".1#zbT.ZbQ.yaMbK.K#0.w#0aY.SbV#ubMa3.K#Farbg#.aSbD.4#D#G#D.5#Y#b.qaV.V.m#z.e.m#fby#D#J#1.H.uaK.ZbRbIbe.1a0.w#D#D#Gbdb4b0.J.wa7ak#H#n#xb4#H#z#zbnay#G#u#G.1.1#G#u#s#Tbd#0b2#GbA.1.8#r#Ia5#sala5#D",
+"#GbVbT.4bQ.8bI.Sa5bV.w#0#saB.kbVbM.6.Kbla5.J.Z#Q.sbK#G#G.1aB#Y#b#bb4.Vbr#F#z#B#8#0bdbK#j#.aP.S.g.TaZ#B#H.w#P.w#D#0.Fb4aNbv.1#DbV#Ha0.Mb4#H#za5#D#0#G#G.0.1.1.w#D#s#Ta7#0b2#D.8#H.y#r.fbA#zal#z.1",
+"#GbV.Z#tbQ.S#xbLbK.w.wbV#sbYbV#G#5#6.SbA#zbv#taT.Z#z.w.1#zbX#Ybn.qb4.mb4aB#zbe#8#0bd.R#j#.bt#R.g#1aZbe.1#G.wbV#D#PbCbe.ear#D.1bX.1by.l.1.1a5a5#Dbm#G#G.1.1a0.w#G#s.la7.wa5#Dar#HbVbF#I.4a5ala5.1",
+"#G#z#tbLbQbA.G#RbA.w.w#u.KaBbVbV.e#E#x.ybV.8.4.sbTa5.w#Gbn.4#Y.y#YaV.m#H#F#sbean#Gbn#s.gaDaT#R.g#t.4#b.0#G#G#G#D#0bCb4#x.e#G.1aB#G#0.8.1.1bS.B#G#G#G#G.1.1.1#G#u#z.e#H.w#z#D.8#H#z#haS.4#zal.4.1",
+".1bV.4bLbQ.eaZaIau.w#0#Fa5#tbV.1bA#x#E.SbV#u#F.4bG#z#0#zbVbYakbX#YbnaL#b.ybV.1an#P#H#saqaq.u#4#j#1.S.1#u.1#0.1#G#0#Hbn#ibjbV#b#2bca5a5.1.0.l#z.0#G.1.1bcbc#b#D#u.war#8by#z#u.e#b.y.Tbz.4#za4.J#D",
+"bc#z.4bZ.Q.S.9aI.R#b.w#F.K.4bV#G.R.4b#.T#u#D.y.8.8#GbcbVbK#R.qbKbebn.1#s#Dbs#Dbe.w#8aY#jaq.s.SaO.Z.S#D#7bm#G.w#u#0.zbn#xa5#G.1#2#bbSby.1#G.l#0.0.0bca0az#Ha0#G#u#0.B#8.w.K#D#r.1#FbO.x#T#zaX.J#D",
+"#GbK.4bR.K.SbD.C.Sbe#0bG#zbAbV#D#DbL.v.T.y.0blarbS#G#G#D.KaH#Y#s#H.wbAbV#D#D#D#G.w.zaV#.aq.sbwax.gbA#D#7#G#u#G#u#uan##aW#NbV#D.4#bbvap#H#H.8#sa7.1.1bc#Ha0#H#0#D#0a5#8bQ#z.y.ebn.y.T.##x.KaXbkbV",
+"#G#ua6#t.T.4.G#3.R#b#zbv.K.ebn.r#DbL..aI.4#7blar#G#Gay#u.KbY.N.cbnbe.ybVbn#G#b#u#b.zaYbW.H#R#tbx.Z.k.w.r#0ay.1#GaJaz.5bO#T.w#DbAbnbg#b#Hb4bVby.F.0bC.1.1.1#b#GbVaU.8#HbnbA.R#N.1#s#h.#bgbAa4#vbV",
+"#G#u#tbO#t.K.9bw.lb4#G.8bla5aWa7ay.4.YaD.K#ublblay#G.1.y.K.Z#Y.iaY#T.R#Nbe#zbC.1#H#Bb..ZaPb.#3aFaPak#G.0.1#D#D#G#D#b#xbAbv#G#ubA.w.Mbn#nbVbS.1bdbcbm#P#G#Gbc.1#G#D.w#u.w.w#2bK#4bK.K#vbw.Q#tbt.K",
+"#D#u.ZbR.4.ebD#tbAb4#u.8#u#z.lbn.rbAbabN#tbS#u#u.B#G#D#D.e.4#Ya7#b.4bnaW#H#zbC#GbcaL#4aTbW#4aTaS.UbQ#D#u#z#D#D#G#u#baBa5bS#G#u.K#b#F.1bebVbV#GbC#H.1#P.1.1#H#GbVbS#G#u.w#saBbA.SbAbF.gaqb..u.G.K",
+"ay.y#t#t.Z.e.G#Ra5#Hblay#Db2.laVaybK#.#p.g.ybVbV#G.w#7#z.4.e#abeaY.ybn#T.1#zbC#D#G#b.S#t#x#5.Z.Y.U.kbSbl#GbA#u#G#u#b.4.e#z#G#FbAby.ybeaz#ubS.1bc.z.1#P.w.1bc#DaybV#G#F#G.w#2.S#t.R.e.g.OaI.9#x.K",
+"#G.8#tbR#2.ebT#R.ebC#F#z#GbS.4#HaybA.Zajbi#tbVbV#0#G#F#saB#s.Rbe#bbAbn#Tbna5#GbCay.wbLbR.ZbL.Z.O#E.Kbl#ubVbKbSbVbl.w.4.8#0#ua#bVbQ#ube#b#u#G.1.1bf.0.w#Pa0#H.1#GbV#G#u.w#s.M.S#tbn.e#1.gbZ#R.9.K",
+"#G.y#t.4#T.e#2.S#ra7#u#0#DbS#N#HbVbS#T.U#p.sbK#u#G#G.y#s.y#s.y#zaVbKbn.J.1a5bC.1#G#s.4bO.4bLbD.sbWbF.8ay#z#zbA#u#D#z.4.4#0#u.o#s.4bSbe#H#u#G.1.1.z#D#G.w#ba0.1#0#D.w#D.wbV#x.S.S#s.SbR.ObZ#5bYbO",
+"#GbA#t.4.4#z#2.S#N#D#u#0.rbVarbn#GbS.4#vb5.O.Sbl#DbVa5.K#Dbn.ybVbn.Kbn.J#D#z#G.1.rbV.ZbR.Z#T#i.s.g.ebl#G#0.K#u.8#0bA.e#2.1#u.y#b#xbAbebn#D#Gbm.0beblbV.w.1bc.1#G#D.1#Ga0#s.M.S.Tbn.S.T#jbBbu.4.Z",
+"#G.ya6.4.4#zaB.SaAbd#u#0bdbVarbn.w#u#F.g.pba#t#F.0#u#s.8bnb4.y.8aVbQ#Hbkbna5.1.w.1#z#tbL.4.Z.E#t.gbA#uay#sbS.K.y.w#2#z.4#0bl#D#Ybg#zbebC.0.w#G.1.1bvar#z#u.1.1#G#D.1bV#b#z#2bLbL#b.S#5#..g.k#t.Z",
+"#GbAbD#t.4#0aB.yaA.y#F#0.r.w.8#DbybSbv#t#kas.s.X#D.y.Waibe#HbVa5aVbQb4bkbna5#G.1.w#s#tb.bR.4#ia2.g.y#F#u#GbKbV#ub2#c.K.4bV#7#DaYa6.kaza7#D#P.1bc#z#Tar.8#F.0.1.r#G.1#u#P#s#2bL.S#b.S#haP.U#5bY#T",
+".w.4aI.sbAbSbK#ta6bsbd#za5.0bC.l.1#0bla6.Z#3aIbT#sbUaVara7.q#ebn#b#D#YaA#8#s#u.wbv.K.L#u#R.4#Z#F#T.e.8#z.e.l#sbs.w.P.e.w#G.r.r.1#T.wa7.z.1bea0.F.K#D.RbK.e#zbV#D.w.1#G#u.w#zaB.K#Y#ubOaC.gbobwaP",
+"#GbYbZaPbA#u.y.g.Z.R#u#0#0.0bn.4#G#P#u#TaPba#t.G.ybQ.c.4#8#YbraYbn.R.wbp#ebn.8.1#F.K.L.rbL#t#Zbl#T.eaB#z#z.4#G#7.1#6.S.w#u#G.rbV.l.w.0be.1.wa0#8bV.R#J.K.4.8bV#G#G#G#G#G#b#saB.K.w.ybOaCaPb7.s.G",
+"#G.4bB.U.SbVbAaPaW#D#Da5bSa7#H#2.w#PbSbA.ZaPbw#t.y#zbe.4br#sbq.c.w#D#s#Vao#z#u#G.l.KaS.rb..4afa5.4bS#Fa5#zbv#u#G#0#6bAbQ#u#G.w.8#z.wbd.z.1#b#H#HbS.y#HbQ#T#T#zbn#G#G.w#G.w.waB.K#s.8.T#v#.aIaPaT",
+"bV.4.n#EbA#zbKaP#N#u.0ay.B#HaV.E#G.w#GbS#t.ZbZ.SbV#zbnbVbqai#WaL#b.1aYbp#e#zbS#G#F#z.L.rb..4afbS.lbS#F#u#z.8#u.1#0.M.8#z.o#0#baZa5.w#u.1#D#b#H.1bAbVaYbQ.8.J.y.w.w.w.1#0.w#s#2.SbVbA.K.gaPaIaP.Z",
+".1#t#m.Y.SbVbK.g#N#u#7a5bVb4bn.6.w.w.0bS.S.saI#tbVbV#s#s#Y.daLaLbe.1bQbh#8#zbV#G.l.Kba.r.k#tbNay.l#u#F#ua5#F#u.1.w#2bAbS#F#z#Y.GbVa0#u#D#7az#b.y.ybe.1bVby.laB#b#P.1.w#G#GbVaB.S.y.e.K.g#..n.U.O",
+"#z#t.naP.S.y.SaT.e#F#7aya5#HaV.6.w.1#G#G.ybD#tbk.4#JbQbn.Kbs#Bbebe#Hbnbp#8.ybSbSaJ.K.O.r#4.4#Z#u.8.8#ubS.8.lbVbn#z.e.ebSbbay#bbY#Ga0bS#D#Dbr#bbG#D#n.1#u#b.eaM#b.w#G#G#GbV#s.SbK.4.4#5aPaPbwb#.O",
+".wbD#3.U.K.y.S.Z.e#7#7b2#ubnbebTbV.wbC.1#D.Z#tbT.ZbK#h.c.e#8#b#HaV.1bKbp#8.8#z#ubv#z.nbm#R.y.na8bS#FbV#zbG.ebn#D.4.KbKbV#7ay#baB#G.wbS.w#Hb4#s.4#Daz.1#D#nbV.M#H.w#G.w#G.w.wbK.e.lbA.KaPaPbwaf.O",
+"#baZ#3#..KbS.S.O.ebs#D#0a8#7be.T#u.1bcbcbn.Z.S.TbLbY.TbrbUanbV#H#H#H.Rbp#8bA#zbSbl.K#mbm.4.ea2bl.ebG.wa5bg.S#s.y.G.k.KbVbm.0.w.Sbc.w.B#Bb4#H.y.e.1an#H.1a0bV.5aY.w.wa0.w.w#sbA.SbA.ebu.Z.O#m.Y.H",
+".k#t#X.UbQ#4#tba.B#u#ubV.ya5a0.X.T#H#P#Ga7.y.n.u.sb..K#s#Hbe.i.k#D#YbT.e#0bl.waibA#RbQ#z#RbK.3.y#F#r.y#DaA#u.z#x#v#K#z.w#F#Y.g.R.w#HbCazbCbea#bnbean#H#0a0#G.y.1#G#PbV#b.X.1bV#t.y.KbL#R.9#5.s.9",
+"bnbR#.bW.K.S.ZbabS#u#D#Gbl#z.w.XbO.1bcaUbC#J#1aH.s#R.k#ubean.RbK.1#s.G#z#0#F#saB.8.C#za5aHbAay.y.8#rbS#ubvbAb4bXbhaBbV#z#7.wbkaV#b.w#D.zbcbe.X#sbean#b#G#b#G.ybVbm.w#Daz#D.wbV.4.y#z.4#RaPaI.saP",
+"bK.4aqbi.KbY.ZaPa5#u#GbVa8#z.w#ubOa7#P#Pb4aY.T#O#R.ZbQ#2#YanbVbKbe#zaMbQ#0.o#D.S.l.j.Kbv.ubV.B.R#F#rbS#u#TbAb4bAbR.X.y#z#ua5bg#a#b#H.0#H.1be.y#sbebe.1#G.w#G.ybVbm#G#D#Ya0.wbV#t.ybQ.4#t.ga2.Z.Z",
+"bn#t.HbW.K.S.4.Z.e.ybV#D#u.w.1#D.ZbC#P.w.z#abFaB#4#tb0.Man#YbnbKbebV#2.w.w.o#ubX.8#R#z.l.u.K.BbK.l.e#u.8.l.R#sbAbObs#ubS#DbS#Tbe.wbV#D.w.w.1.y#b#Haz.1#G.w.w#u.ybm.1bVaza0#b#s#tbA#s#t#t.s#5.saP",
+"#s.4bHbN#5.ybA.ZarbA#G#u#0.w.1.1.Zbn#G#0az#Y#z#D#sbAaE#xazbe.1#s.wbV.4.w#G#ubVaBa5aubQa5.ubAay#J.8#F.8.8#FbKbObY#rbnbV.J#D#zarbnbV#D#G#P#b#ubVaYbe#bbc#G.w.wbV#uay.w.w.1#G.w.wbD#T.K.4#t.O#5aPaP",
+"#D#t#.bNbL.ybK.ZbO.S.w#u#Ga0a7.1a6#H.w#Gb4bebQ.1.w.w#Y.ybe#H#b#b#G#zbV#s#G#G.1#2#zau#0a5.jbA.B.Kar.y.8.8#D.K.gbtar.1bVbGbnbS#z.1#D#u.w.w#b#Fbn#saz#b.1#G.w.w.w.y#u#P#b.0.1.1#YaP.M.K.Z.Z.ZaI#EaP",
+"bV#t.Ha9bLaB#z.4a6.4#b#D#Ga0#ub4bD#H.wbSao#bby.z#HbebV#Daz#Hb4#b.w#ubV.1.r#G.w.4#zbY.ea5a1bA.8bKarbsa5.8a7.K#V.Z#N.1bVbG#b.8a5#8.1#G.w.w#n.5.waYazbc#P.1#P.w#P#F#G.waz#Dbc#Gbeb#bGbU#t.saPb7.gbZ",
+"bVbL#m#..SaBbV.l#EbLbe#G#G#b#7be#i#H#PbS.1.w.waz.1#n.X#ban#8b4#Ha0.ybK.way.r.wbKbSbt#2a5aK.Ka8bKarbd#z#ra7#s#X#R.l#7bV.lbe.Ma5azbe.1.1.w#n.X#baVaz#H.1#P#0#P.w#F.w#0.w.0az#GbQb#.4bQbL.Z.Z#5bwbo",
+".K.K.T.gbO.4#s#Fbiapbca0.0be.1.1a6by#G#G#bb4be.zaY.R.y.1az#b#s#b.za5.8#H#2.1#Dbv.K.6bQ.K#F.Kbn.SblbV.k.4bQ.4.MbX#4#Har#D#s.4###bby.1anbebe#Fbe#baz.w.w.1bV.w.wbvaz#D#G#G#G#s.K.UbO.y.e#O#C.D.U.i",
+"#t#tbRbW#R#tbV#2#E#b.1a0#Daz#s#GbTbybc#G.1#bbr#f.q#D.y#baz#H#DbV.za5#F#b.Jbna7ar#4#6.K.4.SbV.y#FbS#z.KbYbybAaBbKbLbn.8#G#s.Z##.w.w.1azbe.1.ybe.waza0#b.1bV#b.w.o#b#D#G#G#G#zbA#EbO.R#r#OaDbB.U.k",
+"#ibwaI.Z.T#t.K#2bD.W#Gbc#G#b#H#GbDby.way.1#ban.zbe.y.y#b#n.w.y#D#Har#u.1#2bnbd.ebOa6.K#x.4bA.4.ya5bV.KaZbQa5.y#s.Sa7arbV#s#x.5.wbV#bb4an#u#saY#sbe.1#bbe.1#n#b.M.wbV#G#GbSbV.e.9.4.y.K.5#AbB.U#J",
+"aPaIa2.s#5#t.K#ObDbQ#G.1.w#b.1#GbD#z.w.rbVbebr.zbQ.y.y#b#nbV#ubVaV.l#z#G#2#D#DbF.4bL.Kbg.Ka5.4.8#0.ybK.G#z#zaB.k.4#Da8.1bnbk.b#bbV.wbebr.y#Y#s#JbV#sazaz.1#b.1#2.w.w#G#G#GbV.K.S.S.y.KaHam#3aO.k",
+".Z#5.Dbwb.#t.K.Sa6#z.1bcbe#b.w.0#i#z.w#Daybeazb4#s.8bV#n.w#GbV.w#H#T.w#D.l#Dbs.T#T#z#z#x#z#z.4.8bSaB.K.G.e#zaB.R.4#Dar.w.wa6.R#b#z.1bebeaB.NbA.S.SbVbebe#G.1.1#2#G.w#0bVbVbVbV.ebLaB.e#KambwbW#J",
+"bWaIaIaP#5.S#s.e#t#s.w#G#Bbn#H#GaP.8.w#GbVbe#b.z#s#D.wa0.1#G.1beaY.Jby#7a5bV.5#1aBak#sbgbQ#z.8bA.BaBbQaZ#z#z#2.S.4#Da8.1#z#Ta7a0#s.1bebnbXaNbRaZ.4.S.w.1#G.1.w#2a5#0.Bbl#ubS.ybVbO#O.ebYambwbWbK",
+".gbL.T.G.K.S.KbA.4#z#P#D#Y#Da0bc.s.4#P.w#Gbe.1a0#sbn#ba0.1.0#b.wbn#vby#7#z#z.5#jaB#b#z.M#z#z.8#FbS#2aYaZ.e#zaZ.R.4#Da5#GbVbO.1by.w#Dbr.R.S.QbZbD#1.S#z#G#u.w.waBbl#0bS.8bVbVblbSaq#x.T.Sam.CbWbn",
+".ZbF#4.9.k.SbV.8.4#z.w#ube.y#bbc#t.4.w#P.w#b.w.zbn#D.1a0.1.1#H.1aVawby#F.w.w#O.g#Fak#DaMbV.ybA.l#u#2akaZbA#z#2bAbL.0ar#GbVbObn.w#Y#D#BbX.k.Qa2.sbM#tbA#u#G#nbybG#u#0a5bl#0bV.y#G#.bT#r#4#X.OaPbn",
+".saIbwaPb..e.K.S.e.8#b#D#P.1#G.1.KaMb0#Da0bman#Jar#Y#8a0.w.w.1bC.ea7#GbS#b#T.Qahb4#D.y#2bS#zbl.ybV#Mbu#tbl#w.yblay#0.R#Hbk#D#H.1#bbV.V.4b4.TaubRbZ#t#t#z.1.1#b.9ar.w#ubv#zbdbs.K.O#t.KbD#3#ob##b",
+".saIbR#E#5.4.y#2bA.4.way.w#G.w.1#s#x.q.y.w.0#nbn.l.w.1.1.wbV.1bCbL#H#G.8.1#x.Q#O#b#D#F.8bS#z.y.y#uav.K.Sbl#m.y#F#D#zbV#8bp.RaV#Hbeak.cbQ.c.T.S#tbR.s#tbK#G.1.w#OaW#b#ua8#0#ubs.K.Y.4#z.G#Zabb##s",
+".gbwbw.UbL.4.SaB.S.8by#D.w#G.w.w.waZbQ.8#G#ube#J.l.waz.0.1#u#bbna6b4#z.l#u.M.K##az#D#FbVbSbS.y.8#uaS.SbLay#3.R.o#ubV#z#8bpbn#HazaYaL#Db0b4bu.R.S.Z.Z.Z.K#G.1#baB#i#b#D.8#0bdbs#rafbL.K#x.Oab.EbV",
+"aPbDbw#EbZ.SbA.ybA#2#s#G.w#G.w.1by#2.K.4#z#G.wbK#ubnaz.X#P#Fbe#Da6bebV.l#GbG#Nbn#b.y#F#s.y.8bK.8bl#Z.4bF.0ba.K.oaybVbV#8bp#s#Hbe#JaL#OaLaY.w#s#z.Z.s.Z.4#u#G.w.y#iaV.1.Ba5.r#D.l#pbL#zaZaP.n#tbV",
+"aP.UbZ#EbZ.K.K#z.e#2.wbV.1#G.1.wa0.8#r.4#0.w#z.y.1.waz#7a0#7#Y#2a6#b#u.8bnbl.Jbn#P#u#F.wbSaBbS.4#u.O.4b.ay.pbQ#F.1#ubAaobh#bbnbe#saLai#BbA#s#z#u.Zbw.ZbObS#G#b#D#iaV.1#z#0#D#u#y#pbL#saZaPaI.K#G",
+".Z#Eb.aPbR.KbKbK.KbG.w#G#0#u.w.1#P.y.S.e#z.w.ybA#H.wa0#u#b#D#bbgbO.1#Fa5bna5bg#D#z#u#F#s#D#2.e.4bl.O.4#5.r.p.Kbv#H#F.ya7bhbe#D.1#Ybq.SaY#Tbn.ybs#taI.g.Z.8#D.w.1a6bnbn.B#0#D#D#T.I.4bV#2aP.C.K#G",
+"bw.UboaP.ZbL.ybS.K.M#s.w#G#G#G#D.1#G.S.e.K#0#FbKbCaza0.1.1.1#s#ia5.0#F#s#Da5aw#bbl#0.obVbV.M.e.4bl.O.SbOaJ.LbQ.ya0#F#D#8bhbe#D#sbe#B#sa7.4.1.e#F#taI#.#j.l#u.1.1.4.1.0a5b2#D#u.Z.UbLbS.SaP#t#z.r",
+".Zbib..U.g.S.S.y#zbT.w#s#G#u#G#GbmbV.S.e.ybVaB#s.Fa0.wa0.0b4#z#ib2.0.oby#D.eaxaY.o#0aB#ubV#2.8.4blaP.e.Z.o.Lbubl.wbl#s#8bhbe.y#b.1.V.W.b#rbe#z.RbYaI#.#v#Tbl.1.1.e#G#7#0#0#D.R.Z.U.S#zbV.s#R#s.r",
+"a6#E#4.YaP#h.4#ubL.4#z.w#G.1.0#D#G#G#G#u.8bG.8#zbC.1a0#zbV#b#z.J.w#GbbbVbAaB#O.1#F.w.8bSay.o#FaP#5a6.4#tbR.Z#zbV.1bdbS#DaAbVbQ#e#BaBaEbA.4#sbs#Dbl#tb1#A.Zbl#u.wbV.y#zay.0.1.y#2aT.4bVbVaZ.9#say",
+".ZbDb.#3#.bF.y#D.T.S#z.w.1.1#G.0#0bc.1.1bVbA.y#b.1.1.w#D#Gbe#z.l#b#u#u#GbA.S.y#D#D#s.y#zay#F.KbtbZ#i.8.Z.saZbA#u.wbCa5#DaA.RbQbn#B.X#Y.4.KbV#u#D.o#tba#k.g#2#u#sbn.y#0#G.rbC#DaB.Z.S#u#sbY#t#s.r",
+".ZbDbubBaP.TbA.1.KbA.K.w#P#b.1.0#0.wb4#P.wbVbnazbC#H#0#u.1be#DbA.wblay#0.4.S#z#D#0bV.8.1ay#u#saP.g#i.4.Z#tbDbK#7.1bCa5bnaW.R#zbn#BaB#Y#x.KbVbn.0#u.4#.a9#i.4#u.1bQ#FbS#G.0.1#D.S.O.4#u.w#tbYbQ.0",
+".8.ZaKaIbNbRbK.wbL.SbA.w.w.1#0#D.B.1#P.1.1bV#H.z.1#b#G#F.1be#7#s#zbv#0.w.4bT#sbS#G#u.y#zblbl#saPaP.Z.e#tbR#t#s#G.w.1bV.1aW.y.Kbnbr.y#YaM#s.y.1#GbSbA.Z.YbW.4bV.w#b#FbS#z.0.1bV.y.O#TbVbV#t#t#s#G",
+"#rbT#RbwbN.g.K.1#t.4.4.w.way.w#GbS#G#Hbc.1.1ao.z.1#PbV#uazazbs#bbU#c#0#0.8.6#z#u#G#F#u#Gbb#F.k#E#.bRbF.Z#t#R#b.1#GbC#zbn#N.R.eaV#sbKaYaZ#s.y.1#G#G.l.ZbW.U.gbA#G.w#2bS#G#u.1bVbSaq.Zbl#z#tbY#s.0",
+"#z#x.s.CbNaP.Kbn#T.S#F#z#0bl#0bVay.w.1.1.1.1bc.z.1.w#z#u#bb4#u#b#s#c.w#zbA.a#z#D#G#FbV#Gbl#u.K.YbaaI.K#i.s.Sbe.z#s#GbSbC#r#D.KaV.RbQ.k.y#s.y.1#Gaybl.l.ZbN.ZbK#G.w.oa5#z#u.1#s#u.Oa6#FbSbY.Zbn#G",
+"#rbT.9b..ObW.KbVbL.K#T.w#0#F#0ayb2.1bc.1bc.wbcao.1#G#zbV.w.1.ybQ#s#2.w#F#z#2#b#7aUbl#0.1#u#GbLaPbN.Hb.aC.saK#Y.z#0.1bV.1#r#D.eaYbAaLaBbK#Dbn#G#G#0#ubSbLa9#Z#z#G#Gbv#z#z#F#D#0.8.H.Z.8bA#tbY#s.1",
+"a5#x#t#w.HaP.Kbn.K.K#2.w.wa8.wbS#0.w.1.1.1#Pbcbc.1bV#0bV#sbV.lbQ#z#u.wa##zbK#B#7#0#u#D#G#G.wbObN.p.n#h.E#taKbe.z.w.1bSbCbFbV.ebn.KaL#x.k.y#b#D.0#ubl#u.4#pbN.S.rbV#F#z#z.o.1.w#F.H.J.la5bY.s#sbc",
+"#Dab#3.ybw#Z.K#zbnararaB#bbGbS#G.1bc.1.0bc.1.1.0ay.w#F#n#sbeai#JbA#D#b.4.e.1.z.o.B.w#u.1#DbQbLaPb#.Z.g.ZbDaka0.w#GbV#G#bbsbea7bnbK.q#4bA#G#G.0#Dar.3.y.R.U#9.Tbd#uay#r#z.MbVbe#Kb1bD#2.e#t#tbn.r",
+".raR.ObSbw#Z.KbK.1ar.ebsaY#T.e.1#GbCbc#Hbc#H.1.1bV#0#F#nbVbe.5bV.lbd#b#N.8bnaz#u#u#0.r.1#ubK#t.Z#EaIbR#1aZapbe.1.1#u#D.w.ybebnb4bn.q.S.4ay#G#D.Rbla5#u.RaP#9.Tbd.r#z.ebU.M#Gbeaub1.g.4.K#t#t#s.0",
+".raR.Oa5bwba.e.y.1ar.e.y#s.8bS.1#u#Ga0a0#Ha0.1#GbVbV#F#bbV.w#FbVbv#D#sbO#T.1az#0#u#G#G.1#ubK.Z.s#EaI#t.ga6#Y#b#G.1#DbV#DbK#BaVbeaVaY.S.4bV#G#D.y.la5#u.i.9aabOa7.r#G.e#z.M#0#b.y#Z.Z.8bQbL#t.w.0",
+".r#o.ObVbwaS.K.S.1.ebA#D.w.e.e#D#G#G.1#Ha0bc.1.0.w#u#F#P#u#z#ubS#T.1bnar.Jbn.1.w#u#G.0.1#Dbn.9bw#E.Taq.gbT#bbn#uan#G#b#Dbnbqa7be.w#a.4#F.w#G.RaBaB.ebSbn.S#X.Zbd#GbV.4#z#F#0#b.S#Z.gbAbQbZ#R#sbc",
+"#GabbwbS#3.p#4bK.wa5.e#Dbnby.lbnbV.1#Pbc.1.1#G#G#s#u#FbybV#u#0#G#T.w#D#r#x.1#Gby#G.1#G.1.1bQ.Gbw.Z#5.Za6.Zak.w#D#B#H#b.y#baLbn#a#b#baB.8.w#0bAbD#t.4bS#D.y.g#vbn#GbV.4#z#u#GbQ.y.L.ZbAbU.S.s.w.0",
+"bcat.sbV.O#k.K#4#H.ebAbC.0.W.4#Day#G.w.1.0#D#G#u.w#u#u#bbV#F.w#u.l#H.X#r.lbebCa0#G#G#G.1.1#Y.G.C.gaIbW#i.g#s#D.0azbe.1.5#YbeaYbe.w.wbX.y.wbn.4bD.ubh#N#ubV.Zbgbn#G#z#2bQbV.w.w.y#Z.g.l#sbRbY#s.0",
+"bm.Obw#z.Ob5#4.SbebSbA.1#Db0.Jbn.8#G.w.1#Gay#G#G#s#u#u#Y.1aBbe.R.ybe.5#z.Kan.0a0#0.1#Gbc#baLbI.C.gbR#EbWbT#z.y#Gb4anbnbsaLbn#a#a#H#b.ybA.w#zbOaPaT#V.l#FbVbOa3#s#0.e#2by#G.1bn.Rat.Z.4#z#t.s#s.0",
+"bm#Z.s.w.Ob5bL#tb4.ebSbC#7bPbGbV.8ay.w.w#G#D#0#G#0#ubV#n#saibe.R#0an.b#z#z#lbd#0.1#Gbc.1#H#Y.EbZaIb..gbR.Sak#G#nb4.m#b.ybq.RaLbea0#b.y.y.wbS.4.g.O#XaA#F#DaraxbQa5.ebTbQ.1a0#G.y#3.Zbv.K#t#tbn.r",
+"#G.sbw#z#2bNa2bSbV.8bQbVay#G.y.SblbS#Gay#G#0#G#ubybvbe#b#z.4.q.S#8#b#za8#Daz#7.w.w.r.1.1#H#s.GbBaBb.aP.CbAbn.1b4ananan###Bbn.mbnb4#b.ybv#GbnaP#ZadbN#jbSay.MbD.n.1#z.4#z#bbCbV#zbwaPa6#5bZbD.y.1",
+".1#tbw#z.4a9#5bV#z.8.w#G.r#G#ubAbSbS#z#0#G.1#0bS#z.o#bbn.y#2akaB.1.w#0.y#0az#Dbn.w#G#G.1#baY.9.C#2bL.Y.s.S#DbC#Hazbeana7brbn#Wbnan#b.K#u.w#bbDb1#k#k.g.Saybv#xbw.w#z.4bK#P#G#G#z.s.g.g.KbR.ZbV.1",
+".w.Sbw#z.8#..D#u#z.y#s#0bmbm#D.Ka5bS#G.w#GbS#G#0a5#F.1#DaB.4bQ#2#D.w#zbS.wbe#u#0.wbV#G.1#b.KaP.Z.ZaIbN#..S#u.1.1b4anbe#Hbebebrbnbe.w#z#u.wbn#E.LaG#ka9.4#zblaZ.sbV#z.4#z.w.0#D#s.H#i#x#5bZ.Z#s.1",
+".wbLbw.K.8.O#5.8#GbS.w.1.r#G.wbVbS.8bV#0#G#ubVbV#u.yaY#D#2.ebQ#2.1bVa5.8.w.1bSbS.w#G#G#G#GbA.g#.bLbRba.O.K#D.1.1b4anb4brbebrbrbn#Hbn.KbS.w#Db#.fb6aG#kaq#za5.8.Z#zbV.S#s.way#GbnbBaP.g.TbR#t#s.1",
+"bcaI#t.K.8.Oa2.8.w#z#z#0#Gbm.wbKa5blbVbV#G#u#ua5.y#D.wbVbGbQ#baB.wbSbA.4#b.RbVbA#0bV#G.wbVbY.Z.O.TbR#.aPbQ.ya0#b.z#Bb4anbe#B#Y.ibe#sbV#s#b.Rafb6#k#kadaP.e#zbA.4bS#s.R#s.wbS#D.1b7#i#x#4bR.9bV#G",
+".w#4bw.e.8.OaI#u#z#z#z#G#G#G.w.4#za5bS#GbVbVbVbS.4bKbV.K.MbQaY#FazbVbAaB.q#F#GbS#G.1#Haz#saBbZ.H.e.gbabN.q#7#b.zan.manbebrbrbrbn.1#D#zbV.1.R.I.ha9.L#kbN.4#zbA.8ar#s.Rbn#0.B#GbnaI#E#i#5.s.Z#s#D",
+"#GaKbR.e.yaqaI.8#z#sbK#0#G#G#saZa5bAbSbVbV#zbV#u.l#z.ybV#x.w#bbdazbV.K.Sbr.5.w#z.1bcbcaz#baBbZ.O.ebWbabi.qbs.zb4ananan.1#Bbe#Wbn.1.y.y#DbnaB#M.h.g.Oa9bibTbAbA.8.J#sbn.Raya5bVa7aI#E#i.KbR#t#s.0",
+"#Gb.bBa5bA.Oa2#u.K.K.4#z#G#GbQbDbA.8bS.y#ubVbVaB#r.KbA#zbg#Y#b#Ha0bV#sbKaLa#be#0.1#H.1#B.1bY#taP.KaPaP.U#Y#7.z.zananan.ibqaV.mbn#b#DbV#z.1bXafac.ZaI#..I#i.lbA.8.J#s.i.ya5a5#DbdaIaC#ib.bR.4bQ#D",
+"#Gb..ZbAbAbaaIbV#zbA.ybKbV#sbV#Far#z#Dblblar.8aB.y#zbR.KbG.w.1.z.wbV#T.can.Sbr#8b4.w#nb4#L#.bJ#R#z.g#3a9bq#F.z#H#f.mbe#sbe#D#L##bC#s.ybl#P#3.2.I#tbL.g#..paP.e.obTbQ#s#2.ybV.y#FbA.O.L.4.4bB#a.0",
+"#Gb..ga5.eaPbB.ya5bl.8bS#0bn#s#u.Z#zbV#Fa8.8bA.y.8#4bR#1.8#G.1.1#PbVaAb4br.e.V#8an.waz#8#WbiaIbX.k#v.uajaL#Fbc.1#fbeanbnaLa7#La7#8#sbK.r.w.O.x.Y#t.e.gbWadbN#4bl#xbQ.K#2#ubVbV#D.lba.LbZaBbwak.0",
+"#G.KaP.e#z.ObZ.y#za5bSbS#z.w#0bV.g.K#s#ua8.lbl.y#F.4.Z#i#z#G.0.w.w#DbOan.V.ebeanbr.w#bbCaLbi#..Sby.g.saObe#u#H.1#8be#B#Dbebr#L#8bc#sbKay.w.Y.LaT.4.K#taP#pbibA#u#2#s#zaB.ybV#sbV.4bababLaB.s.7.0",
+"#Gbu.ga5#s.Obw.yby#0bSbS#0#zaybSbabZ.K#zbl.8bA#u.8.Saq.6#YbV#Ga0be.1bOanbrbU#8.zaza0.w#H#WaP#EbK#b.Z#R#XaV#0.z.1#b.1#B.R#Yan.m#8#H#JbK#G#0af.L.u.4.ebO.gbN.U#t#z.ybQbV.8.y.wbVbVaBba#Z.T.4.s.kbc",
+"a0.7aP.e#z#Zbw#u#0#0#0#u#G#G#uaya9bR#4bVbSa5bS#F.K.T.Z.6b0ay#D#bbebV#T.m#8bU#D.1#8#0.1bebqaIbW#J#b#x#R#v#D#0bC#H#HbV#Bbs#B.mbe#ea0bK.K#G#0.I#Z#t#tbA.ebO#..Ua6bV#F.w#sbVbV#z#sbVbA.O#Z.ebYaT.7bc",
+"#P.Q.ga5#sba.sbAbV.wbS#u#z#GbVbVbaaT.SbKa5a5bS#F.ebL#EbD#b#u#u#Y#H.1#Tbebd.W#7bd.1bS#0beaL.T#Ebn#Y.g.S#y#u#0aobe.w.1azbs#Bbrb4a7a0au.K#Pay.I.O.Z.4.y.ebLbR#..P#z.8bV#0bVbn.w#s#sbAbH#ZbL.4.9.kbc",
+".1buaPa5#z.Y.O#ubV#sbVbV.1#z#D.wba.Z.4bA.8.e.KbA.4#t.UbL#s#zbbbe#b#b#ran.b.W#7.1#8#G#0#HbKb7.gaV#BbT.K#r#Dby#H.m.1.1be#u#B.1.wbe#P.S#z.wbSbi.n.ZbK.4.e.8aI.Z.6.K#u#GbV#0bV#s.w.w.e#Z#Z.K.4aT.k.1",
+".rb..g.e#s.YaPbV#z.wbnbV.wbn#Dbn.OaP.4.y.4#N.K.K#T#t.U.Q#z.w#F#YazanaNan.bap#Ga0az#0#P#b#KbR.Z#aaz#ibK#h#u.wbC#B#b.1bebs#B#D#baLbcbA.k#P#G#E#S#2.K.8bAbL.Tbw.6.K#G#0.wbVbVbV#s#s.e.Oba.K.4aT.k.0"
+};
+
+static void drawroundrect( <a href="qpainter.html">QPainter</a> *p, QCOORD x, QCOORD y,
+ QCOORD w, QCOORD h, QCOORD d );
+
+static inline int buttonthickness( int d );
+
+static QRegion roundRectRegion( const <a href="qrect.html">QRect</a>&amp; g, int r );
+
+static void get_combo_parameters( const <a href="qrect.html">QRect</a> &amp;r,
+ int &amp;ew, int &amp;awh, int &amp;ax,
+ int &amp;ay, int &amp;sh, int &amp;dh,
+ int &amp;sy );
+
+static int get_combo_extra_width( int h, int *return_awh = 0 );
+
+enum { PointUp, PointDown, PointLeft, PointRight };
+
+
+<a name="f225"></a>NorwegianWoodStyle::NorwegianWoodStyle() : <a href="qwindowsstyle.html">QWindowsStyle</a>()
+{
+}
+
+/*!
+ Reimplementation from QStyle
+ */
+<a name="x261"></a>void NorwegianWoodStyle::<a href="qstyle.html#polish">polish</a>( <a href="qapplication.html">QApplication</a> *app)
+{
+
+<a name="x186"></a> oldPalette = app-&gt;<a href="qapplication.html#palette">palette</a>();
+
+ // we simply create a nice QColorGroup with a couple of fancy wood
+ // pixmaps here and apply to it all widgets
+
+ <a href="qimage.html">QImage</a> img(button_xpm);
+ <a href="qimage.html">QImage</a> orig = img;
+<a name="x208"></a> orig.<a href="qimage.html#detach">detach</a>();
+ <a href="qpixmap.html">QPixmap</a> button;
+<a name="x228"></a> button.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+
+ int i;
+<a name="x209"></a> for (i=0; i&lt;img.<a href="qimage.html#numColors">numColors</a>(); i++) {
+<a name="x207"></a> QRgb rgb = img.<a href="qimage.html#color">color</a>(i);
+ <a href="qcolor.html">QColor</a> c(rgb);
+<a name="x192"></a> rgb = c.<a href="qcolor.html#dark">dark</a>(120).rgb();
+<a name="x210"></a> img.<a href="qimage.html#setColor">setColor</a>(i,rgb);
+ }
+ <a href="qpixmap.html">QPixmap</a> mid;
+ mid.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+ img = orig;
+ img.<a href="qimage.html#detach">detach</a>();
+ for (i=0; i&lt;img.<a href="qimage.html#numColors">numColors</a>(); i++) {
+ QRgb rgb = img.<a href="qimage.html#color">color</a>(i);
+ <a href="qcolor.html">QColor</a> c(rgb);
+<a name="x193"></a> rgb = c.<a href="qcolor.html#light">light</a>().rgb();
+ img.<a href="qimage.html#setColor">setColor</a>(i,rgb);
+ }
+ <a href="qpixmap.html">QPixmap</a> light;
+ light.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+ img = orig;
+ img.<a href="qimage.html#detach">detach</a>();
+ for (i=0; i&lt;img.<a href="qimage.html#numColors">numColors</a>(); i++) {
+ QRgb rgb = img.<a href="qimage.html#color">color</a>(i);
+ <a href="qcolor.html">QColor</a> c(rgb);
+ rgb = c.<a href="qcolor.html#dark">dark</a>(180).rgb();
+ img.<a href="qimage.html#setColor">setColor</a>(i,rgb);
+ }
+ <a href="qpixmap.html">QPixmap</a> dark;
+ dark.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+
+ <a href="qimage.html">QImage</a> bgimage(polish_xpm);
+ <a href="qpixmap.html">QPixmap</a> background;
+ background.<a href="qpixmap.html#convertFromImage">convertFromImage</a>(bgimage);
+
+ img = bgimage;
+ img.<a href="qimage.html#detach">detach</a>();
+ for (i=0; i&lt;img.<a href="qimage.html#numColors">numColors</a>(); i++) {
+ QRgb rgb = img.<a href="qimage.html#color">color</a>(i);
+ <a href="qcolor.html">QColor</a> c(rgb);
+ rgb = c.<a href="qcolor.html#dark">dark</a>(180).rgb();
+ img.<a href="qimage.html#setColor">setColor</a>(i,rgb);
+ }
+ sunkenDark = new <a href="qpixmap.html">QPixmap</a>;
+ sunkenDark-&gt;<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+
+ img = bgimage;
+ img.<a href="qimage.html#detach">detach</a>();
+ for (i=0; i&lt;img.<a href="qimage.html#numColors">numColors</a>(); i++) {
+ QRgb rgb = img.<a href="qimage.html#color">color</a>(i);
+ <a href="qcolor.html">QColor</a> c(rgb);
+ rgb = c.<a href="qcolor.html#light">light</a>(130).rgb();
+ img.<a href="qimage.html#setColor">setColor</a>(i,rgb);
+ }
+ sunkenLight= new <a href="qpixmap.html">QPixmap</a>;
+ sunkenLight-&gt;<a href="qpixmap.html#convertFromImage">convertFromImage</a>(img);
+
+
+
+ <a href="qpalette.html">QPalette</a> op(QColor(212,140,95));
+ // QPalette op(white);
+<a name="x224"></a> <a href="qcolorgroup.html">QColorGroup</a> active (op.<a href="qpalette.html#active">active</a>().foreground(),
+ QBrush(op.<a href="qpalette.html#active">active</a>().button(),button),
+ QBrush(op.<a href="qpalette.html#active">active</a>().light(), light),
+ QBrush(op.<a href="qpalette.html#active">active</a>().dark(), dark),
+ QBrush(op.<a href="qpalette.html#active">active</a>().mid(), mid),
+ op.<a href="qpalette.html#active">active</a>().text(),
+ Qt::white,
+ QColor(236,182,120),
+ QBrush(op.<a href="qpalette.html#active">active</a>().background(), background)
+ );
+<a name="x225"></a> <a href="qcolorgroup.html">QColorGroup</a> disabled (op.<a href="qpalette.html#disabled">disabled</a>().foreground(),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().button(),button),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().light(), light),
+ op.<a href="qpalette.html#disabled">disabled</a>().dark(),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().mid(), mid),
+ op.<a href="qpalette.html#disabled">disabled</a>().text(),
+ Qt::white,
+ QColor(236,182,120),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().background(), background)
+ );
+
+<a name="x187"></a> app-&gt;<a href="qapplication.html#setPalette">setPalette</a>(QPalette(active, disabled, active), TRUE );
+
+}
+
+<a name="x263"></a>void NorwegianWoodStyle::<a href="qstyle.html#unPolish">unPolish</a>( <a href="qapplication.html">QApplication</a> *app)
+{
+ app-&gt;<a href="qapplication.html#setPalette">setPalette</a>(oldPalette, TRUE);
+}
+
+/*!
+ Reimplementation from QStyle
+ */
+void NorwegianWoodStyle::<a href="qstyle.html#polish">polish</a>( <a href="qwidget.html">QWidget</a>* w)
+{
+
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+<a name="x253"></a> if ( !w-&gt;<a href="qwidget.html#isTopLevel">isTopLevel</a>() ) {
+<a name="x211"></a> if ( w-&gt;<a href="qobject.html#inherits">inherits</a>("QPushButton")
+ || w-&gt;<a href="qobject.html#inherits">inherits</a>("QToolButton")
+ || w-&gt;<a href="qobject.html#inherits">inherits</a>("QComboBox") ) {
+<a name="x255"></a> w-&gt;<a href="qwidget.html#setAutoMask">setAutoMask</a>( TRUE );
+ return;
+ }
+<a name="x250"></a> if ( w-&gt;<a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>() )
+<a name="x256"></a> w-&gt;<a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>( QWidget::WindowOrigin );
+ }
+}
+
+void NorwegianWoodStyle::<a href="qstyle.html#unPolish">unPolish</a>( <a href="qwidget.html">QWidget</a>* w)
+{
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+ if ( !w-&gt;<a href="qwidget.html#isTopLevel">isTopLevel</a>() ) {
+ if ( w-&gt;<a href="qobject.html#inherits">inherits</a>("QPushButton")
+ || w-&gt;<a href="qobject.html#inherits">inherits</a>("QToolButton")
+ || w-&gt;<a href="qobject.html#inherits">inherits</a>("QComboBox") ) {
+ w-&gt;<a href="qwidget.html#setAutoMask">setAutoMask</a>( FALSE );
+ return;
+ }
+ if ( w-&gt;<a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>() )
+ w-&gt;<a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>( QWidget::WidgetOrigin );
+ }
+}
+
+<a name="x260"></a>void NorwegianWoodStyle::<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags flags, const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ int x, y, w, h;
+<a name="x240"></a> r.<a href="qrect.html#rect">rect</a>( &amp;x, &amp;y, &amp;w, &amp;h );
+ switch ( pe ) {
+ case PE_ButtonCommand:
+ {
+ int d = QMIN( w, h ) / 2;
+ int b = buttonthickness( d );
+
+ <a href="qregion.html">QRegion</a> internR = roundRectRegion( QRect(x + b, y + b,
+ w - 2 * b,
+ h - 2 * b), d - b );
+<a name="x218"></a> <a href="qpen.html">QPen</a> oldPen = p-&gt;<a href="qpainter.html#pen">pen</a>();
+
+<a name="x195"></a> <a href="qbrush.html">QBrush</a> brush( flags &amp; Style_Sunken ? cg.<a href="qcolorgroup.html#brush">brush</a>(QColorGroup::Mid) :
+ cg.<a href="qcolorgroup.html#brush">brush</a>(QColorGroup::Button) );
+<a name="x220"></a> p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( internR );
+<a name="x216"></a> p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, brush );
+
+ int e = QMIN( w, h ) / 2;
+ <a href="qpoint.html">QPoint</a> p2( x + w - 1 - e, y + e );
+ <a href="qpoint.html">QPoint</a> p3( x + e, y + h - 1 - e );
+
+ <a href="qpointarray.html">QPointArray</a> a;
+<a name="x232"></a><a name="x230"></a> a.setPoints( 5, x,y, x+w-1, y, p2.<a href="qpoint.html#x">x</a>(), p2.<a href="qpoint.html#y">y</a>(), p3.<a href="qpoint.html#x">x</a>(), p3.<a href="qpoint.html#y">y</a>(),
+ x, y + h - 1 );
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( QRegion(a) - internR );
+
+<a name="x198"></a> p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, (flags &amp; Style_Sunken ? QBrush( cg.<a href="qcolorgroup.html#dark">dark</a>(), *sunkenDark)
+ : cg.<a href="qcolorgroup.html#brush">brush</a>(QColorGroup::Light)) );
+
+ // A little inversion is needed the buttons
+ // ( but not flat)
+ if ( flags &amp; Style_Raised || flags &amp; Style_Sunken ) {
+<a name="x231"></a> a.<a href="qpointarray.html#setPoint">setPoint</a>( 0, x + w - 1, y + w - 1 );
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( QRegion( a ) - internR );
+
+<a name="x200"></a> p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, (flags &amp; Style_Sunken ? QBrush( cg.<a href="qcolorgroup.html#light">light</a>(), *sunkenLight) : cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Dark ) ) );
+ }
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( internR );
+<a name="x221"></a> p-&gt;<a href="qpainter.html#setClipping">setClipping</a>( FALSE );
+<a name="x222"></a><a name="x199"></a> p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#foreground">foreground</a>() );
+ drawroundrect( p, x, y, w, h, d );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( oldPen );
+ break;
+ }
+ case PE_ScrollBarAddLine:
+ if ( flags &amp; Style_Horizontal )
+ drawSemicircleButton( p, r, PointRight, flags &amp; Style_Down, cg );
+ else
+ drawSemicircleButton( p, r, PointDown, flags &amp; Style_Down, cg );
+ break;
+ case PE_ScrollBarSubLine:
+ if ( flags &amp; Style_Horizontal )
+ drawSemicircleButton( p, r, PointLeft, flags &amp; Style_Down, cg );
+ else
+ drawSemicircleButton( p, r, PointUp, flags &amp; Style_Down, cg );
+ break;
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( pe, p, r, cg, flags, opt );
+ break;
+ }
+}
+
+<a name="x259"></a>void NorwegianWoodStyle::<a href="qstyle.html#drawControl">drawControl</a>( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how, const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch( element ) {
+ case CE_PushButton:
+ {
+ const <a href="qpushbutton.html">QPushButton</a> *btn;
+ btn = ( const <a href="qpushbutton.html">QPushButton</a> * )widget;
+ <a href="qcolorgroup.html">QColorGroup</a> myCg( cg );
+ SFlags flags = Style_Default;
+<a name="x189"></a> if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() )
+ flags |= Style_On;
+<a name="x188"></a> if ( btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+ flags |= Style_Down;
+ if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() || btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+ flags |= Style_Sunken;
+<a name="x233"></a> if ( btn-&gt;<a href="qpushbutton.html#isDefault">isDefault</a>() )
+ flags |= Style_Default;
+<a name="x234"></a> if ( ! btn-&gt;<a href="qpushbutton.html#isFlat">isFlat</a>() &amp;&amp; !(flags &amp; Style_Down) )
+ flags |= Style_Raised;
+
+ int x1, y1, x2, y2;
+<a name="x237"></a> r.<a href="qrect.html#coords">coords</a>( &amp;x1, &amp;y1, &amp;x2, &amp;y2 );
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#foreground">foreground</a>() );
+<a name="x219"></a><a name="x196"></a> p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( QBrush( cg.<a href="qcolorgroup.html#button">button</a>(), NoBrush ) );
+
+ <a href="qbrush.html">QBrush</a> fill;
+ if ( btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+ fill = cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Mid );
+ else if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() )
+<a name="x201"></a> fill = QBrush( cg.<a href="qcolorgroup.html#mid">mid</a>(), Dense4Pattern );
+ else
+ fill = cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Button );
+<a name="x202"></a> myCg.<a href="qcolorgroup.html#setBrush">setBrush</a>( QColorGroup::Mid, fill );
+
+ if ( btn-&gt;<a href="qpushbutton.html#isDefault">isDefault</a>() ) {
+ x1 += 2;
+ y1 += 2;
+ x2 -= 2;
+ y2 -= 2;
+ }
+
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ButtonCommand, p,
+ QRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
+ myCg, flags, opt );
+
+ if ( btn-&gt;<a href="qpushbutton.html#isDefault">isDefault</a>() ) {
+ <a href="qpen.html">QPen</a> pen( Qt::black, 4 );
+<a name="x226"></a> pen.<a href="qpen.html#setCapStyle">setCapStyle</a>( Qt::RoundCap );
+<a name="x227"></a> pen.<a href="qpen.html#setJoinStyle">setJoinStyle</a>( Qt::RoundJoin );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( pen );
+ drawroundrect( p, x1 - 1, y1 - 1, x2 - x1 + 3, y2 - y1 + 3, 8 );
+ }
+
+<a name="x235"></a> if ( btn-&gt;<a href="qpushbutton.html#isMenuButton">isMenuButton</a>() ) {
+ int dx = ( y1 - y2 - 4 ) / 3;
+
+ // reset the flags
+ flags = Style_Default;
+<a name="x252"></a> if ( btn-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>() )
+ flags |= Style_Enabled;
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ArrowDown, p,
+ QRect( x2 - dx, dx, y1, y2 - y1),
+ myCg, flags, opt );
+ }
+
+<a name="x212"></a> if ( p-&gt;<a href="qpainter.html#brush">brush</a>().style() != NoBrush )
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( NoBrush );
+ break;
+ }
+ case CE_PushButtonLabel:
+ {
+ const <a href="qpushbutton.html">QPushButton</a> *btn;
+ btn = (const <a href="qpushbutton.html">QPushButton</a>*)widget;
+ int x, y, w, h;
+ r.<a href="qrect.html#rect">rect</a>( &amp;x, &amp;y, &amp;w, &amp;h );
+
+ int x1, y1, x2, y2;
+ r.<a href="qrect.html#coords">coords</a>( &amp;x1, &amp;y1, &amp;x2, &amp;y2 );
+ int dx = 0;
+ int dy = 0;
+ if ( btn-&gt;<a href="qpushbutton.html#isMenuButton">isMenuButton</a>() )
+ dx = ( y2 - y1 ) / 3;
+ if ( dx || dy )
+<a name="x223"></a> p-&gt;<a href="qpainter.html#translate">translate</a>( dx, dy );
+
+ x += 2;
+ y += 2;
+ w -= 4;
+ h -= 4;
+ <a href="qstyle.html#drawItem">drawItem</a>( p, QRect( x, y, w, h ),
+ AlignCenter | ShowPrefix,
+ cg, btn-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>(),
+<a name="x191"></a><a name="x190"></a> btn-&gt;<a href="qbutton.html#pixmap">pixmap</a>(), btn-&gt;<a href="qbutton.html#text">text</a>(), -1,
+<a name="x194"></a> (btn-&gt;<a href="qbutton.html#isDown">isDown</a>() || btn-&gt;<a href="qbutton.html#isOn">isOn</a>()) ? &amp;cg.<a href="qcolorgroup.html#brightText">brightText</a>()
+<a name="x197"></a> : &amp;cg.<a href="qcolorgroup.html#buttonText">buttonText</a>() );
+ if ( dx || dy )
+ p-&gt;<a href="qpainter.html#translate">translate</a>( -dx, -dy );
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawControl">drawControl</a>( element, p, widget, r, cg, how, opt );
+ break;
+ }
+}
+
+<a name="x205"></a>void NorwegianWoodStyle::<a href="qstyle.html#drawControlMask">drawControlMask</a>( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch( element ) {
+ case CE_PushButton:
+ {
+<a name="x244"></a><a name="x238"></a> int d = QMIN( r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() ) / 2;
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( color1 );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( color1 );
+<a name="x246"></a><a name="x245"></a> drawroundrect( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(), d );
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawControlMask">drawControlMask</a>( element, p, widget, r, opt );
+ break;
+ }
+}
+
+<a name="x258"></a>void NorwegianWoodStyle::<a href="qstyle.html#drawComplexControl">drawComplexControl</a>( ComplexControl cc,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how,
+ SCFlags sub,
+ SCFlags subActive,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch( cc ) {
+ case CC_ComboBox:
+ {
+ const <a href="qcombobox.html">QComboBox</a> *cmb;
+ cmb = (const <a href="qcombobox.html">QComboBox</a>*)widget;
+
+ int awh, ax, ay, sh, sy, dh, ew;
+ get_combo_parameters( <a href="qstyle.html#subRect">subRect</a>(SR_PushButtonContents, widget),
+ ew, awh, ax, ay, sh, dh, sy );
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ButtonCommand, p, r, cg, Style_Raised, opt );
+ <a href="qstyle.html">QStyle</a> *mstyle = QStyleFactory::<a href="qstylefactory.html#create">create</a>( "Motif" );
+ if ( mstyle )
+ mstyle-&gt;<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ArrowDown, p,
+ QRect(ax, ay, awh, awh), cg, how, opt );
+ else
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ArrowDown, p,
+ QRect(ax, ay, awh, awh), cg, how, opt );
+
+ <a href="qpen.html">QPen</a> oldPen = p-&gt;<a href="qpainter.html#pen">pen</a>();
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#light">light</a>() );
+<a name="x214"></a> p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( ax, sy, ax + awh - 1, sy );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( ax, sy, ax, sy + sh - 1 );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#dark">dark</a>() );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( ax + 1, sy + sh - 1, ax + awh - 1, sy + sh - 1 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( ax + awh - 1, sy + 1, ax + awh - 1, sy + sh - 1 );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( oldPen );
+
+ if ( cmb-&gt;<a href="qcombobox.html#editable">editable</a>() ) {
+ <a href="qrect.html">QRect</a> r( <a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>(CC_ComboBox, widget,
+ SC_ComboBoxEditField, opt) );
+ <a href="qpainter.html#qDrawShadePanel">qDrawShadePanel</a>( p, r, cg, TRUE, 1,
+ &amp;cg.<a href="qcolorgroup.html#brush">brush</a>(QColorGroup::Button) );
+ }
+
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawComplexControl">drawComplexControl</a>( cc, p, widget, r, cg, how,
+ sub, subActive, opt );
+ break;
+ }
+}
+
+<a name="x204"></a>void NorwegianWoodStyle::<a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>( ComplexControl control,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch ( control ) {
+ case CC_ComboBox:
+ {
+ int d = QMIN( r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() ) / 2;
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( color1 );
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( color1 );
+ drawroundrect( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(), d );
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawComplexControlMask">drawComplexControlMask</a>( control, p, widget, r, opt );
+ break;
+ }
+}
+
+<a name="x206"></a>QRect NorwegianWoodStyle::<a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>( ComplexControl control,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ SubControl sc,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ <a href="qrect.html">QRect</a> rect;
+ switch ( control ) {
+ case CC_ComboBox:
+ {
+ switch( sc ) {
+ case SC_ComboBoxEditField:
+ {
+ rect = <a href="qstyle.html#subRect">subRect</a>( SR_PushButtonContents, widget );
+ int ew = get_combo_extra_width( rect.<a href="qrect.html#height">height</a>(), 0 );
+<a name="x242"></a> rect.<a href="qrect.html#setRect">setRect</a>( rect.<a href="qrect.html#x">x</a>() + 1, rect.<a href="qrect.html#y">y</a>() + 1,
+ rect.<a href="qrect.html#width">width</a>() - 2 - ew, rect.<a href="qrect.html#height">height</a>() - 2 );
+ break;
+ }
+ default:
+ rect = QWindowsStyle::<a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>( control, widget,
+ sc, opt );
+ break;
+ }
+ break;
+ }
+ case CC_ScrollBar:
+ {
+ const <a href="qscrollbar.html">QScrollBar</a>* sb;
+ sb = (const <a href="qscrollbar.html">QScrollBar</a>*)widget;
+ bool horz = sb-&gt;<a href="qscrollbar.html#orientation">orientation</a>() == QScrollBar::Horizontal;
+ int b = 2;
+<a name="x257"></a> int w = horz ? sb-&gt;<a href="qwidget.html#height">height</a>() : sb-&gt;<a href="qwidget.html#width">width</a>();
+
+ switch ( sc ) {
+ case SC_ScrollBarAddLine:
+ rect.<a href="qrect.html#setRect">setRect</a>( b, b, w - 2 * b, w - 2 * b );
+ if ( horz )
+<a name="x239"></a> rect.<a href="qrect.html#moveBy">moveBy</a>( sb-&gt;<a href="qwidget.html#width">width</a>() - w, 0 );
+ else
+ rect.<a href="qrect.html#moveBy">moveBy</a>( 0, sb-&gt;<a href="qwidget.html#height">height</a>() - w );
+ break;
+ case SC_ScrollBarSubLine:
+ rect.<a href="qrect.html#setRect">setRect</a>( b, b, w - 2 * b, w - 2 * b );
+ break;
+ default:
+ rect = QWindowsStyle::<a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>( control, widget,
+ sc, opt );
+ break;
+ }
+ break;
+ }
+ default:
+ rect = QWindowsStyle::<a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>( control, widget,
+ sc, opt );
+ break;
+ }
+ return rect;
+}
+
+<a name="x262"></a>QRect NorwegianWoodStyle::<a href="qstyle.html#subRect">subRect</a>( SubRect sr, const <a href="qwidget.html">QWidget</a> * widget ) const
+{
+ <a href="qrect.html">QRect</a> r;
+ switch ( sr ) {
+ case SR_PushButtonContents:
+ {
+ const <a href="qpushbutton.html">QPushButton</a> *btn;
+ btn = (const <a href="qpushbutton.html">QPushButton</a>*)widget;
+<a name="x254"></a> r = btn-&gt;<a href="qwidget.html#rect">rect</a>();
+ int d = QMIN( r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() ) / 2;
+ int b = buttonthickness( d );
+
+ d -= b;
+ b++;
+
+ if ( r.<a href="qrect.html#width">width</a>() &lt; r.<a href="qrect.html#height">height</a>() )
+ r.<a href="qrect.html#setRect">setRect</a>( r.<a href="qrect.html#x">x</a>() + b, r.<a href="qrect.html#y">y</a>() + d,
+ r.<a href="qrect.html#width">width</a>() - 2 * b, r.<a href="qrect.html#height">height</a>() - 2 * d );
+ else
+ r.<a href="qrect.html#setRect">setRect</a>( r.<a href="qrect.html#x">x</a>() + d, r.<a href="qrect.html#y">y</a>() + b,
+ r.<a href="qrect.html#width">width</a>() - 2 * d, r.<a href="qrect.html#height">height</a>() - 2 * b );
+ break;
+ }
+ case SR_ComboBoxFocusRect:
+ {
+ r = <a href="qstyle.html#subRect">subRect</a>( SR_PushButtonContents, widget );
+ int ew = get_combo_extra_width( r.<a href="qrect.html#height">height</a>() );
+ r.<a href="qrect.html#setRect">setRect</a>( r.<a href="qrect.html#x">x</a>() + 1, r.<a href="qrect.html#y">y</a>() + 1, r.<a href="qrect.html#width">width</a>() - 2 - ew,
+ r.<a href="qrect.html#height">height</a>() - 2 );
+ break;
+ }
+ default:
+ r = QWindowsStyle::<a href="qstyle.html#subRect">subRect</a>( sr, widget );
+ break;
+ }
+ return r;
+}
+
+static void drawroundrect( <a href="qpainter.html">QPainter</a> *p, QCOORD x, QCOORD y,
+ QCOORD w, QCOORD h, QCOORD d )
+{
+ int rx = (200*d)/w;
+ int ry = (200*d)/h;
+<a name="x215"></a> p-&gt;<a href="qpainter.html#drawRoundRect">drawRoundRect</a>( x, y, w, h, rx, ry );
+}
+
+static QRegion roundRectRegion( const <a href="qrect.html">QRect</a>&amp; g, int r )
+{
+ <a href="qpointarray.html">QPointArray</a> a;
+<a name="x241"></a> a.setPoints( 8, g.<a href="qrect.html#x">x</a>()+r, g.<a href="qrect.html#y">y</a>(), g.<a href="qrect.html#right">right</a>()-r, g.<a href="qrect.html#y">y</a>(),
+<a name="x236"></a> g.<a href="qrect.html#right">right</a>(), g.<a href="qrect.html#y">y</a>()+r, g.<a href="qrect.html#right">right</a>(), g.<a href="qrect.html#bottom">bottom</a>()-r,
+ g.<a href="qrect.html#right">right</a>()-r, g.<a href="qrect.html#bottom">bottom</a>(), g.<a href="qrect.html#x">x</a>()+r, g.<a href="qrect.html#bottom">bottom</a>(),
+ g.<a href="qrect.html#x">x</a>(), g.<a href="qrect.html#bottom">bottom</a>()-r, g.<a href="qrect.html#x">x</a>(), g.<a href="qrect.html#y">y</a>()+r );
+ <a href="qregion.html">QRegion</a> reg( a );
+ int d = r*2-1;
+ reg += QRegion( g.<a href="qrect.html#x">x</a>(),g.<a href="qrect.html#y">y</a>(),r*2,r*2, QRegion::Ellipse );
+ reg += QRegion( g.<a href="qrect.html#right">right</a>()-d,g.<a href="qrect.html#y">y</a>(),r*2,r*2, QRegion::Ellipse );
+ reg += QRegion( g.<a href="qrect.html#x">x</a>(),g.<a href="qrect.html#bottom">bottom</a>()-d,r*2,r*2, QRegion::Ellipse );
+ reg += QRegion( g.<a href="qrect.html#right">right</a>()-d,g.<a href="qrect.html#bottom">bottom</a>()-d,r*2,r*2, QRegion::Ellipse );
+ return reg;
+}
+
+
+
+
+static int get_combo_extra_width( int h, int *return_awh )
+{
+ int awh;
+ if ( h &lt; 8 ) {
+ awh = 6;
+ } else if ( h &lt; 14 ) {
+ awh = h - 2;
+ } else {
+ awh = h/2;
+ }
+ if ( return_awh )
+ *return_awh = awh;
+ return awh*3/2;
+}
+
+
+static void get_combo_parameters( const <a href="qrect.html">QRect</a> &amp;r,
+ int &amp;ew, int &amp;awh, int &amp;ax,
+ int &amp;ay, int &amp;sh, int &amp;dh,
+ int &amp;sy )
+{
+ ew = get_combo_extra_width( r.<a href="qrect.html#height">height</a>(), &amp;awh );
+
+ sh = (awh+3)/4;
+ if ( sh &lt; 3 )
+ sh = 3;
+ dh = sh/2 + 1;
+
+ ay = r.<a href="qrect.html#y">y</a>() + (r.<a href="qrect.html#height">height</a>()-awh-sh-dh)/2;
+ if ( ay &lt; 0 ) {
+ //panic mode
+ ay = 0;
+ sy = r.<a href="qrect.html#height">height</a>();
+ } else {
+ sy = ay+awh+dh;
+ }
+ ax = r.<a href="qrect.html#x">x</a>() + r.<a href="qrect.html#width">width</a>() - ew +(ew-awh)/2;
+}
+
+static inline int buttonthickness( int d )
+{ return d &gt; 20 ? 5 : ( d &lt; 10 ? 2: 3 ); }
+
+void <a name="f226"></a>NorwegianWoodStyle::drawSemicircleButton( <a href="qpainter.html">QPainter</a> *p, const <a href="qrect.html">QRect</a> &amp;r,
+ int dir, bool sunken,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;g ) const
+{
+ int b = <a href="qstyle.html#pixelMetric">pixelMetric</a>( PM_ScrollBarExtent ) &gt; 20 ? 3 : 2;
+
+ <a href="qregion.html">QRegion</a> extrn( r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(), QRegion::Ellipse );
+ <a href="qregion.html">QRegion</a> intern( r.<a href="qrect.html#x">x</a>()+b, r.<a href="qrect.html#y">y</a>()+b, r.<a href="qrect.html#width">width</a>()-2*b, r.<a href="qrect.html#height">height</a>()-2*b, QRegion::Ellipse );
+ int w2 = r.<a href="qrect.html#width">width</a>()/2;
+ int h2 = r.<a href="qrect.html#height">height</a>()/2;
+
+ int bug = 1; //off-by-one somewhere!!!???
+
+ switch( dir ) {
+ case PointRight:
+ extrn += QRegion( r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), w2, r.<a href="qrect.html#height">height</a>() );
+ intern += QRegion( r.<a href="qrect.html#x">x</a>()+b,r.<a href="qrect.html#y">y</a>()+b, w2-2*b, r.<a href="qrect.html#height">height</a>()-2*b );
+ break;
+ case PointLeft:
+ extrn += QRegion( r.<a href="qrect.html#x">x</a>()+w2, r.<a href="qrect.html#y">y</a>(), w2, r.<a href="qrect.html#height">height</a>() );
+ intern += QRegion( r.<a href="qrect.html#x">x</a>()+w2+b,r.<a href="qrect.html#y">y</a>()+b, w2-2*b, r.<a href="qrect.html#height">height</a>()-2*b );
+ break;
+ case PointUp:
+ extrn += QRegion( r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>()+h2, r.<a href="qrect.html#width">width</a>(), h2 );
+ intern += QRegion( r.<a href="qrect.html#x">x</a>()+b,r.<a href="qrect.html#y">y</a>()+h2+b, r.<a href="qrect.html#width">width</a>()-2*b-bug, h2-2*b-bug );
+ break;
+ case PointDown:
+ extrn += QRegion( r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), h2 );
+ intern += QRegion( r.<a href="qrect.html#x">x</a>()+b,r.<a href="qrect.html#y">y</a>()+b, r.<a href="qrect.html#width">width</a>()-2*b-bug, h2-2*b-bug );
+ break;
+ }
+
+ extrn = extrn - intern;
+ <a href="qpointarray.html">QPointArray</a> a;
+<a name="x243"></a> a.setPoints( 3, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#bottom">bottom</a>(), r.<a href="qrect.html#right">right</a>(), r.<a href="qrect.html#top">top</a>() );
+
+<a name="x213"></a> <a href="qregion.html">QRegion</a> oldClip = p-&gt;<a href="qpainter.html#clipRegion">clipRegion</a>();
+<a name="x217"></a> bool bReallyClip = p-&gt;<a href="qpainter.html#hasClipping">hasClipping</a>(); // clip only if we really want.
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( intern );
+ p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, g.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Button ) );
+
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( QRegion(a)&amp;extrn );
+ p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, sunken ? g.<a href="qcolorgroup.html#dark">dark</a>() : g.<a href="qcolorgroup.html#light">light</a>() );
+
+ a.setPoints( 3, r.<a href="qrect.html#right">right</a>(), r.<a href="qrect.html#bottom">bottom</a>(), r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#bottom">bottom</a>(),
+ r.<a href="qrect.html#right">right</a>(), r.<a href="qrect.html#top">top</a>() );
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( QRegion(a) &amp; extrn );
+ p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( r, sunken ? g.<a href="qcolorgroup.html#light">light</a>() : g.<a href="qcolorgroup.html#dark">dark</a>() );
+
+ p-&gt;<a href="qpainter.html#setClipRegion">setClipRegion</a>( oldClip );
+ p-&gt;<a href="qpainter.html#setClipping">setClipping</a>( bReallyClip );
+}
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Header file of the Metal theme:
+<p> <pre>/****************************************************************************
+** $Id: qt/metal.h 3.3.8 edited Jan 11 14:46 $
+**
+** Definition of the Metal Style for the themes example
+**
+** Created : 979899
+**
+** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef METAL_H
+#define METAL_H
+
+
+#include &lt;<a href="qpalette-h.html">qpalette.h</a>&gt;
+
+#ifndef QT_NO_STYLE_WINDOWS
+
+#include &lt;<a href="qwindowsstyle-h.html">qwindowsstyle.h</a>&gt;
+
+
+class MetalStyle : public <a href="qwindowsstyle.html">QWindowsStyle</a>
+{
+public:
+ MetalStyle();
+ void polish( <a href="qapplication.html">QApplication</a>*);
+ void unPolish( <a href="qapplication.html">QApplication</a>*);
+ void polish( <a href="qwidget.html">QWidget</a>* );
+ void unPolish( <a href="qwidget.html">QWidget</a>* );
+
+ void drawPrimitive( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags flags = Style_Default,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default) const;
+
+ void drawControl( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how = Style_Default,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+
+ void drawComplexControl( ComplexControl cc,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how = Style_Default,
+ SCFlags sub = SC_All,
+ SCFlags subActive = SC_None,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; = QStyleOption::Default ) const;
+ int pixelMetric( PixelMetric, const <a href="qwidget.html">QWidget</a> * ) const;
+
+
+private:
+ void drawMetalFrame( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h ) const;
+ void drawMetalGradient( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h,
+ bool sunken, bool horz, bool flat=FALSE ) const;
+ void drawMetalButton( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h,
+ bool sunken, bool horz, bool flat=FALSE ) const;
+ <a href="qpalette.html">QPalette</a> oldPalette;
+};
+
+#endif
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the Metal theme:
+<p> <pre>/****************************************************************************
+** $Id: qt/metal.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "metal.h"
+
+#ifndef QT_NO_STYLE_WINDOWS
+
+#include "qapplication.h"
+#include "qcombobox.h"
+#include "qpainter.h"
+#include "qdrawutil.h" // for now
+#include "qpixmap.h" // for now
+#include "qpalette.h" // for now
+#include "qwidget.h"
+#include "qlabel.h"
+#include "qimage.h"
+#include "qpushbutton.h"
+#include "qwidget.h"
+#include "qrangecontrol.h"
+#include "qscrollbar.h"
+#include "qslider.h"
+#include &lt;limits.h&gt;
+
+
+/////////////////////////////////////////////////////////
+//#include "stonedark.xpm"
+#include "stone1.xpm"
+#include "marble.xpm"
+///////////////////////////////////////////////////////
+
+
+
+<a name="f227"></a>MetalStyle::MetalStyle() : <a href="qwindowsstyle.html">QWindowsStyle</a>() { }
+
+/*!
+ Reimplementation from QStyle
+ */
+<a name="x314"></a>void MetalStyle::<a href="qstyle.html#polish">polish</a>( <a href="qapplication.html">QApplication</a> *app)
+{
+<a name="x265"></a> oldPalette = app-&gt;<a href="qapplication.html#palette">palette</a>();
+
+ // we simply create a nice QColorGroup with a couple of fancy
+ // pixmaps here and apply to it all widgets
+
+<a name="x264"></a> <a href="qfont.html">QFont</a> f("times", app-&gt;<a href="qapplication.html#font">font</a>().pointSize() );
+<a name="x280"></a> f.<a href="qfont.html#setBold">setBold</a>( TRUE );
+<a name="x281"></a> f.<a href="qfont.html#setItalic">setItalic</a>( TRUE );
+<a name="x266"></a> app-&gt;<a href="qapplication.html#setFont">setFont</a>( f, TRUE, "QMenuBar");
+ app-&gt;<a href="qapplication.html#setFont">setFont</a>( f, TRUE, "QPopupMenu");
+
+
+
+ // QPixmap button( stonedark_xpm );
+
+ <a href="qcolor.html">QColor</a> gold("#B9B9A5A54040"); //same as topgrad below
+<a name="x292"></a> <a href="qpixmap.html">QPixmap</a> button( 1, 1 ); button.<a href="qpixmap.html#fill">fill</a>( gold );
+
+ <a href="qpixmap.html">QPixmap</a> background(marble_xpm);
+ <a href="qpixmap.html">QPixmap</a> dark( 1, 1 ); dark.<a href="qpixmap.html#fill">fill</a>( red.dark() );
+ <a href="qpixmap.html">QPixmap</a> mid( stone1_xpm );
+ <a href="qpixmap.html">QPixmap</a> light( stone1_xpm );//1, 1 ); light.<a href="qpixmap.html#fill">fill</a>( green );
+
+ <a href="qpalette.html">QPalette</a> op = app-&gt;<a href="qapplication.html#palette">palette</a>();
+
+ <a href="qcolor.html">QColor</a> backCol( 227,227,227 );
+
+ // QPalette op(white);
+<a name="x290"></a> <a href="qcolorgroup.html">QColorGroup</a> active (op.<a href="qpalette.html#active">active</a>().foreground(),
+ QBrush(op.<a href="qpalette.html#active">active</a>().button(),button),
+ QBrush(op.<a href="qpalette.html#active">active</a>().light(), light),
+ QBrush(op.<a href="qpalette.html#active">active</a>().dark(), dark),
+ QBrush(op.<a href="qpalette.html#active">active</a>().mid(), mid),
+ op.<a href="qpalette.html#active">active</a>().text(),
+ Qt::white,
+ op.<a href="qpalette.html#active">active</a>().base(),// QColor(236,182,120),
+ QBrush(backCol, background)
+ );
+<a name="x279"></a> active.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::ButtonText, Qt::white );
+ active.<a href="qcolorgroup.html#setColor">setColor</a>( QColorGroup::Shadow, Qt::black );
+<a name="x291"></a> <a href="qcolorgroup.html">QColorGroup</a> disabled (op.<a href="qpalette.html#disabled">disabled</a>().foreground(),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().button(),button),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().light(), light),
+ op.<a href="qpalette.html#disabled">disabled</a>().dark(),
+ QBrush(op.<a href="qpalette.html#disabled">disabled</a>().mid(), mid),
+ op.<a href="qpalette.html#disabled">disabled</a>().text(),
+ Qt::white,
+ op.<a href="qpalette.html#disabled">disabled</a>().base(),// QColor(236,182,120),
+ QBrush(backCol, background)
+ );
+
+ <a href="qpalette.html">QPalette</a> newPalette( active, disabled, active );
+<a name="x267"></a> app-&gt;<a href="qapplication.html#setPalette">setPalette</a>( newPalette, TRUE );
+}
+
+/*!
+ Reimplementation from QStyle
+ */
+<a name="x315"></a>void MetalStyle::<a href="qstyle.html#unPolish">unPolish</a>( <a href="qapplication.html">QApplication</a> *app)
+{
+ app-&gt;<a href="qapplication.html#setPalette">setPalette</a>(oldPalette, TRUE);
+ app-&gt;<a href="qapplication.html#setFont">setFont</a>( app-&gt;<a href="qapplication.html#font">font</a>(), TRUE );
+}
+
+/*!
+ Reimplementation from QStyle
+ */
+void MetalStyle::<a href="qstyle.html#polish">polish</a>( <a href="qwidget.html">QWidget</a>* w)
+{
+
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+<a name="x282"></a> if (w-&gt;<a href="qobject.html#inherits">inherits</a>("QPushButton")){
+<a name="x308"></a> w-&gt;<a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( QWidget::NoBackground );
+ return;
+ }
+
+<a name="x307"></a> if ( !w-&gt;<a href="qwidget.html#isTopLevel">isTopLevel</a>() ) {
+<a name="x305"></a> if ( w-&gt;<a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>() )
+<a name="x309"></a> w-&gt;<a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>( QWidget::WindowOrigin );
+ }
+}
+
+void MetalStyle::<a href="qstyle.html#unPolish">unPolish</a>( <a href="qwidget.html">QWidget</a>* w)
+{
+
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+ if (w-&gt;<a href="qobject.html#inherits">inherits</a>("QPushButton")){
+ w-&gt;<a href="qwidget.html#setBackgroundMode">setBackgroundMode</a>( QWidget::PaletteButton );
+ return;
+ }
+ if ( !w-&gt;<a href="qwidget.html#isTopLevel">isTopLevel</a>() ) {
+ if ( w-&gt;<a href="qwidget.html#backgroundPixmap">backgroundPixmap</a>() )
+ w-&gt;<a href="qwidget.html#setBackgroundOrigin">setBackgroundOrigin</a>( QWidget::WidgetOrigin );
+ }
+
+}
+
+<a name="x312"></a>void MetalStyle::<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PrimitiveElement pe,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags flags, const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch( pe ) {
+ case PE_HeaderSection:
+ if ( flags &amp; Style_Sunken )
+ flags ^= Style_Sunken | Style_Raised;
+ // fall through
+ case PE_ButtonBevel:
+ case PE_ButtonCommand:
+<a name="x303"></a><a name="x302"></a><a name="x301"></a><a name="x298"></a> drawMetalButton( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(),
+ (flags &amp; (Style_Sunken|Style_On|Style_Down)),
+ TRUE, !(flags &amp; Style_Raised) );
+ break;
+ case PE_PanelMenuBar:
+ drawMetalFrame( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>() );
+ break;
+ case PE_ScrollBarAddLine:
+ drawMetalButton( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(),
+ flags &amp; Style_Down, !( flags &amp; Style_Horizontal ) );
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( (flags &amp; Style_Horizontal) ? PE_ArrowRight :PE_ArrowDown,
+ p, r, cg, flags, opt );
+ break;
+ case PE_ScrollBarSubLine:
+ drawMetalButton( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(),
+ flags &amp; Style_Down, !( flags &amp; Style_Horizontal ) );
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( (flags &amp; Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp,
+ p, r, cg, flags, opt );
+ break;
+
+
+ case PE_ScrollBarSlider:
+ drawMetalButton( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(), FALSE,
+ flags &amp; Style_Horizontal );
+ break;
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawPrimitive">drawPrimitive</a>( pe, p, r, cg, flags, opt );
+ break;
+ }
+}
+
+<a name="x311"></a>void MetalStyle::<a href="qstyle.html#drawControl">drawControl</a>( ControlElement element,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch( element ) {
+ case CE_PushButton:
+ {
+ const <a href="qpushbutton.html">QPushButton</a> *btn;
+ btn = (const <a href="qpushbutton.html">QPushButton</a>*)widget;
+ int x1, y1, x2, y2;
+
+<a name="x297"></a> r.<a href="qrect.html#coords">coords</a>( &amp;x1, &amp;y1, &amp;x2, &amp;y2 );
+
+<a name="x288"></a><a name="x277"></a> p-&gt;<a href="qpainter.html#setPen">setPen</a>( cg.<a href="qcolorgroup.html#foreground">foreground</a>() );
+<a name="x275"></a> p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( QBrush(cg.<a href="qcolorgroup.html#button">button</a>(), NoBrush) );
+
+
+ <a href="qbrush.html">QBrush</a> fill;
+<a name="x268"></a> if ( btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+<a name="x274"></a> fill = cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Mid );
+<a name="x269"></a> else if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() )
+<a name="x278"></a> fill = QBrush( cg.<a href="qcolorgroup.html#mid">mid</a>(), Dense4Pattern );
+ else
+ fill = cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Button );
+
+<a name="x294"></a> if ( btn-&gt;<a href="qpushbutton.html#isDefault">isDefault</a>() ) {
+ <a href="qpointarray.html">QPointArray</a> a;
+<a name="x293"></a> a.setPoints( 9,
+ x1, y1, x2, y1, x2, y2, x1, y2, x1, y1+1,
+ x2-1, y1+1, x2-1, y2-1, x1+1, y2-1, x1+1, y1+1 );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( Qt::black );
+<a name="x285"></a> p-&gt;<a href="qpainter.html#drawPolyline">drawPolyline</a>( a );
+ x1 += 2;
+ y1 += 2;
+ x2 -= 2;
+ y2 -= 2;
+ }
+ SFlags flags = Style_Default;
+ if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() )
+ flags |= Style_On;
+ if ( btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+ flags |= Style_Down;
+<a name="x295"></a> if ( !btn-&gt;<a href="qpushbutton.html#isFlat">isFlat</a>() &amp;&amp; !btn-&gt;<a href="qbutton.html#isDown">isDown</a>() )
+ flags |= Style_Raised;
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ButtonCommand, p,
+ QRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
+ cg, flags, opt );
+
+<a name="x296"></a> if ( btn-&gt;<a href="qpushbutton.html#isMenuButton">isMenuButton</a>() ) {
+ flags = Style_Default;
+<a name="x306"></a> if ( btn-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>() )
+ flags |= Style_Enabled;
+
+ int dx = ( y1 - y2 - 4 ) / 3;
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ArrowDown, p,
+ QRect(x2 - dx, dx, y1, y2 - y1),
+ cg, flags, opt );
+ }
+<a name="x283"></a> if ( p-&gt;<a href="qpainter.html#brush">brush</a>().style() != NoBrush )
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( NoBrush );
+ break;
+ }
+ case CE_PushButtonLabel:
+ {
+ const <a href="qpushbutton.html">QPushButton</a> *btn;
+ btn = (const <a href="qpushbutton.html">QPushButton</a>*)widget;
+ int x, y, w, h;
+<a name="x300"></a> r.<a href="qrect.html#rect">rect</a>( &amp;x, &amp;y, &amp;w, &amp;h );
+
+ int x1, y1, x2, y2;
+ r.<a href="qrect.html#coords">coords</a>( &amp;x1, &amp;y1, &amp;x2, &amp;y2 );
+ int dx = 0;
+ int dy = 0;
+ if ( btn-&gt;<a href="qpushbutton.html#isMenuButton">isMenuButton</a>() )
+ dx = ( y2 - y1 ) / 3;
+ if ( btn-&gt;<a href="qbutton.html#isOn">isOn</a>() || btn-&gt;<a href="qbutton.html#isDown">isDown</a>() ) {
+ dx--;
+ dy--;
+ }
+ if ( dx || dy )
+<a name="x289"></a> p-&gt;<a href="qpainter.html#translate">translate</a>( dx, dy );
+ x += 2;
+ y += 2;
+ w -= 4;
+ h -= 4;
+ <a href="qstyle.html#drawItem">drawItem</a>( p, QRect( x, y, w, h ),
+ AlignCenter|ShowPrefix,
+ cg, btn-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>(),
+<a name="x271"></a><a name="x270"></a> btn-&gt;<a href="qbutton.html#pixmap">pixmap</a>(), btn-&gt;<a href="qbutton.html#text">text</a>(), -1,
+<a name="x276"></a><a name="x273"></a> (btn-&gt;<a href="qbutton.html#isDown">isDown</a>() || btn-&gt;<a href="qbutton.html#isOn">isOn</a>())? &amp;cg.<a href="qcolorgroup.html#brightText">brightText</a>() : &amp;cg.<a href="qcolorgroup.html#buttonText">buttonText</a>() );
+ if ( dx || dy )
+ p-&gt;<a href="qpainter.html#translate">translate</a>( -dx, -dy );
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawControl">drawControl</a>( element, p, widget, r, cg, how, opt );
+ break;
+ }
+}
+<a name="x310"></a>void MetalStyle::<a href="qstyle.html#drawComplexControl">drawComplexControl</a>( ComplexControl cc,
+ <a href="qpainter.html">QPainter</a> *p,
+ const <a href="qwidget.html">QWidget</a> *widget,
+ const <a href="qrect.html">QRect</a> &amp;r,
+ const <a href="qcolorgroup.html">QColorGroup</a> &amp;cg,
+ SFlags how,
+ SCFlags sub,
+ SCFlags subActive,
+ const <a href="qstyleoption.html">QStyleOption</a>&amp; opt ) const
+{
+ switch ( cc ) {
+ case CC_Slider:
+ {
+ const <a href="qslider.html">QSlider</a> *slider = ( const <a href="qslider.html">QSlider</a>* ) widget;
+ <a href="qrect.html">QRect</a> handle = <a href="qstyle.html#querySubControlMetrics">querySubControlMetrics</a>( CC_Slider, widget,
+ SC_SliderHandle, opt);
+ if ( sub &amp; SC_SliderGroove )
+ QWindowsStyle::<a href="qstyle.html#drawComplexControl">drawComplexControl</a>( cc, p, widget, r, cg, how,
+ SC_SliderGroove, subActive, opt );
+<a name="x299"></a> if ( (sub &amp; SC_SliderHandle) &amp;&amp; handle.<a href="qrect.html#isValid">isValid</a>() )
+ drawMetalButton( p, handle.<a href="qrect.html#x">x</a>(), handle.<a href="qrect.html#y">y</a>(), handle.<a href="qrect.html#width">width</a>(),
+ handle.<a href="qrect.html#height">height</a>(), FALSE,
+<a name="x304"></a> slider-&gt;<a href="qslider.html#orientation">orientation</a>() == QSlider::Horizontal);
+ break;
+ }
+ case CC_ComboBox:
+ {
+ // not exactly correct...
+ const <a href="qcombobox.html">QComboBox</a> *cmb = ( const <a href="qcombobox.html">QComboBox</a>* ) widget;
+
+ <a href="qpainter.html#qDrawWinPanel">qDrawWinPanel</a>( p, r.<a href="qrect.html#x">x</a>(), r.<a href="qrect.html#y">y</a>(), r.<a href="qrect.html#width">width</a>(), r.<a href="qrect.html#height">height</a>(), cg, TRUE,
+ cmb-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>() ? &amp;cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Base ) :
+ &amp;cg.<a href="qcolorgroup.html#brush">brush</a>( QColorGroup::Background ) );
+ drawMetalButton( p, r.<a href="qrect.html#x">x</a>() + r.<a href="qrect.html#width">width</a>() - 2 - 16, r.<a href="qrect.html#y">y</a>() + 2, 16, r.<a href="qrect.html#height">height</a>() - 4,
+ how &amp; Style_Sunken, TRUE );
+ <a href="qstyle.html#drawPrimitive">drawPrimitive</a>( PE_ArrowDown, p,
+ QRect( r.<a href="qrect.html#x">x</a>() + r.<a href="qrect.html#width">width</a>() - 2 - 16 + 2,
+ r.<a href="qrect.html#y">y</a>() + 2 + 2, 16 - 4, r.<a href="qrect.html#height">height</a>() - 4 -4 ),
+ cg,
+ cmb-&gt;<a href="qwidget.html#isEnabled">isEnabled</a>() ? Style_Enabled : Style_Default,
+ opt );
+ break;
+ }
+ default:
+ <a href="qwindowsstyle.html">QWindowsStyle</a>::<a href="qstyle.html#drawComplexControl">drawComplexControl</a>( cc, p, widget, r, cg, how, sub, subActive,
+ opt );
+ break;
+ }
+}
+
+
+/*!
+ Draw a metallic button, sunken if \a sunken is TRUE, horizontal if
+ /a horz is TRUE.
+*/
+
+void <a name="f228"></a>MetalStyle::drawMetalButton( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h,
+ bool sunken, bool horz, bool flat ) const
+{
+
+ drawMetalFrame( p, x, y, w, h );
+ drawMetalGradient( p, x, y, w, h, sunken, horz, flat );
+}
+
+
+
+
+void <a name="f229"></a>MetalStyle::drawMetalFrame( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h ) const
+{
+ <a href="qcolor.html">QColor</a> top1("#878769691515");
+ <a href="qcolor.html">QColor</a> top2("#C6C6B4B44949");
+
+ <a href="qcolor.html">QColor</a> bot2("#70705B5B1414");
+ <a href="qcolor.html">QColor</a> bot1("#56564A4A0E0E"); //first from the bottom
+
+
+ int x2 = x + w - 1;
+ int y2 = y + h - 1;
+
+ //frame:
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( top1 );
+<a name="x284"></a> p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x, y2, x, y );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x, y, x2-1, y );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( top2 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x+1, y2 -1, x+1, y+1 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x+1, y+1 , x2-2, y+1 );
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( bot1 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x+1, y2, x2, y2 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x2, y2, x2, y );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( bot2 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x+1, y2-1, x2-1, y2-1 );
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x2-1, y2-1, x2-1, y+1 );
+
+
+}
+
+
+void <a name="f230"></a>MetalStyle::drawMetalGradient( <a href="qpainter.html">QPainter</a> *p, int x, int y, int w, int h,
+ bool sunken, bool horz, bool flat ) const
+
+{
+ <a href="qcolor.html">QColor</a> highlight("#E8E8DDDD6565");
+ <a href="qcolor.html">QColor</a> subh1("#CECEBDBD5151");
+ <a href="qcolor.html">QColor</a> subh2("#BFBFACAC4545");
+
+ <a href="qcolor.html">QColor</a> topgrad("#B9B9A5A54040");
+ <a href="qcolor.html">QColor</a> botgrad("#89896C6C1A1A");
+
+
+
+ if ( flat &amp;&amp; !sunken ) {
+<a name="x286"></a> p-&gt;<a href="qpainter.html#fillRect">fillRect</a>( x + 2, y + 2, w - 4,h -4, topgrad );
+ } else {
+ // highlight:
+ int i = 0;
+ int x1 = x + 2;
+ int y1 = y + 2;
+ int x2 = x + w - 1;
+ int y2 = y + h - 1;
+ if ( horz )
+ x2 = x2 - 2;
+ else
+ y2 = y2 - 2;
+
+#define DRAWLINE if (horz) \
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x1, y1+i, x2, y1+i ); \
+ else \
+ p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( x1+i, y1, x1+i, y2 ); \
+ i++;
+
+ if ( !sunken ) {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( highlight );
+ DRAWLINE;
+ DRAWLINE;
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( subh1 );
+ DRAWLINE;
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( subh2 );
+ DRAWLINE;
+ }
+ // gradient:
+ int ng = (horz ? h : w) - 8; // how many lines for the gradient?
+
+ int h1, h2, s1, s2, v1, v2;
+ if ( !sunken ) {
+<a name="x272"></a> topgrad.<a href="qcolor.html#hsv">hsv</a>( &amp;h1, &amp;s1, &amp;v1 );
+ botgrad.<a href="qcolor.html#hsv">hsv</a>( &amp;h2, &amp;s2, &amp;v2 );
+ } else {
+ botgrad.<a href="qcolor.html#hsv">hsv</a>( &amp;h1, &amp;s1, &amp;v1 );
+ topgrad.<a href="qcolor.html#hsv">hsv</a>( &amp;h2, &amp;s2, &amp;v2 );
+ }
+
+ if ( ng &gt; 1 ) {
+ for ( int j =0; j &lt; ng; j++ ) {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( QColor( h1 + ((h2-h1)*j)/(ng-1),
+ s1 + ((s2-s1)*j)/(ng-1),
+ v1 + ((v2-v1)*j)/(ng-1), QColor::Hsv ) );
+ DRAWLINE;
+ }
+ } else if ( ng == 1 ) {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( QColor((h1+h2)/2, (s1+s2)/2, (v1+v2)/2, QColor::Hsv) );
+ DRAWLINE;
+ }
+ if ( sunken ) {
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( subh2 );
+ DRAWLINE;
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( subh1 );
+ DRAWLINE;
+
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( highlight );
+ DRAWLINE;
+ DRAWLINE;
+ }
+ }
+}
+
+
+
+<a name="x313"></a>int MetalStyle::<a href="qstyle.html#pixelMetric">pixelMetric</a>( PixelMetric metric, const <a href="qwidget.html">QWidget</a> *w ) const
+{
+ switch ( metric ) {
+ case PM_MenuBarFrameWidth:
+ return 2;
+ default:
+ return QWindowsStyle::pixelMetric( metric, w );
+ }
+}
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Header file of the example:
+<p> <pre>/****************************************************************************
+** $Id: qt/themes.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef THEMES_H
+#define THEMES_H
+
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+class QTabWidget;
+
+class Themes: public <a href="qmainwindow.html">QMainWindow</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Themes( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0, WFlags f = WType_TopLevel );
+
+protected:
+ <a href="qtabwidget.html">QTabWidget</a> *tabwidget;
+
+protected slots:
+ void makeStyle(const <a href="qstring.html">QString</a> &amp;);
+ void about();
+ void aboutQt();
+
+private:
+ <a href="qfont.html">QFont</a> appFont;
+};
+
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation of the example:
+<p> <pre>/****************************************************************************
+** $Id: qt/themes.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "themes.h"
+#include "wood.h"
+#include "metal.h"
+
+#include "../buttongroups/buttongroups.h"
+#include "../lineedits/lineedits.h"
+#include "../listboxcombo/listboxcombo.h"
+#include "../checklists/checklists.h"
+#include "../progressbar/progressbar.h"
+#include "../rangecontrols/rangecontrols.h"
+#include "../richtext/richtext.h"
+
+#include &lt;<a href="qtabwidget-h.html">qtabwidget.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qstylefactory-h.html">qstylefactory.h</a>&gt;
+#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;
+#include &lt;<a href="qsignalmapper-h.html">qsignalmapper.h</a>&gt;
+#include &lt;<a href="qdict-h.html">qdict.h</a>&gt;
+
+<a name="f231"></a>Themes::Themes( <a href="qwidget.html">QWidget</a> *parent, const char *name, WFlags f )
+ : <a href="qmainwindow.html">QMainWindow</a>( parent, name, f )
+{
+<a name="x321"></a> appFont = QApplication::<a href="qapplication.html#font">font</a>();
+ tabwidget = new <a href="qtabwidget.html">QTabWidget</a>( this );
+
+<a name="x343"></a> tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( new ButtonsGroups( tabwidget ), "Buttons/Groups" );
+ <a href="qhbox.html">QHBox</a> *hbox = new <a href="qhbox.html">QHBox</a>( tabwidget );
+ hbox-&gt;<a href="qframe.html#setMargin">setMargin</a>( 5 );
+ (void)new LineEdits( hbox );
+ (void)new ProgressBar( hbox );
+ tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( hbox, "Lineedits/Progressbar" );
+ tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( new ListBoxCombo( tabwidget ), "Listboxes/Comboboxes" );
+ tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( new CheckLists( tabwidget ), "Listviews" );
+ tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( new RangeControls( tabwidget ), "Rangecontrols" );
+ tabwidget-&gt;<a href="qtabwidget.html#addTab">addTab</a>( new MyRichText( tabwidget ), "Fortune" );
+
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( tabwidget );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *style = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+<a name="x333"></a> style-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Style" , style );
+
+ style-&gt;<a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE );
+ <a href="qactiongroup.html">QActionGroup</a> *ag = new <a href="qactiongroup.html">QActionGroup</a>( this, 0 );
+<a name="x320"></a> ag-&gt;<a href="qactiongroup.html#setExclusive">setExclusive</a>( TRUE );
+ <a href="qsignalmapper.html">QSignalMapper</a> *styleMapper = new <a href="qsignalmapper.html">QSignalMapper</a>( this );
+<a name="x335"></a> <a href="qobject.html#connect">connect</a>( styleMapper, SIGNAL( <a href="qsignalmapper.html#mapped">mapped</a>( const <a href="qstring.html">QString</a>&amp; ) ), this, SLOT( makeStyle( const <a href="qstring.html">QString</a>&amp; ) ) );
+<a name="x342"></a> <a href="qstringlist.html">QStringList</a> list = QStyleFactory::<a href="qstylefactory.html#keys">keys</a>();
+<a name="x341"></a> list.<a href="qstringlist.html#sort">sort</a>();
+#ifndef QT_NO_STYLE_WINDOWS
+<a name="x346"></a><a name="x344"></a> list.<a href="qvaluelist.html#insert">insert</a>(list.<a href="qvaluelist.html#begin">begin</a>(), "Norwegian Wood");
+ list.<a href="qvaluelist.html#insert">insert</a>(list.<a href="qvaluelist.html#begin">begin</a>(), "Metal");
+#endif
+ <a href="qdict.html">QDict</a>&lt;int&gt; stylesDict( 17, FALSE );
+<a name="x345"></a> for ( QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it ) {
+ <a href="qstring.html">QString</a> styleStr = *it;
+ <a href="qstring.html">QString</a> styleAccel = styleStr;
+<a name="x338"></a> if ( stylesDict[styleAccel.<a href="qstring.html#left">left</a>(1)] ) {
+<a name="x339"></a> for ( uint i = 0; i &lt; styleAccel.<a href="qstring.html#length">length</a>(); i++ ) {
+<a name="x340"></a> if ( !stylesDict[styleAccel.<a href="qstring.html#mid">mid</a>( i, 1 )] ) {
+<a name="x326"></a> stylesDict.<a href="qdict.html#insert">insert</a>(styleAccel.<a href="qstring.html#mid">mid</a>( i, 1 ), (const int *)1);
+<a name="x337"></a> styleAccel = styleAccel.<a href="qstring.html#insert">insert</a>( i, '&amp;' );
+ break;
+ }
+ }
+ } else {
+ stylesDict.<a href="qdict.html#insert">insert</a>(styleAccel.<a href="qstring.html#left">left</a>(1), (const int *)1);
+ styleAccel = "&amp;"+styleAccel;
+ }
+<a name="x319"></a> <a href="qaction.html">QAction</a> *a = new <a href="qaction.html">QAction</a>( styleStr, QIconSet(), styleAccel, 0, ag, 0, ag-&gt;<a href="qactiongroup.html#isExclusive">isExclusive</a>() );
+<a name="x334"></a><a name="x316"></a> <a href="qobject.html#connect">connect</a>( a, SIGNAL( <a href="qaction.html#activated">activated</a>() ), styleMapper, SLOT(<a href="qsignalmapper.html#map">map</a>()) );
+<a name="x336"></a><a name="x317"></a> styleMapper-&gt;<a href="qsignalmapper.html#setMapping">setMapping</a>( a, a-&gt;<a href="qaction.html#text">text</a>() );
+ }
+<a name="x318"></a> ag-&gt;<a href="qactiongroup.html#addTo">addTo</a>(style);
+ style-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();
+ style-&gt;<a href="qmenudata.html#insertItem">insertItem</a>("&amp;Quit", qApp, SLOT( <a href="qapplication.html#quit">quit</a>() ), CTRL | Key_Q );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> * help = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertSeparator();
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;Help", help );
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;About", this, SLOT(about()), Key_F1);
+ help-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "About &amp;Qt", this, SLOT(aboutQt()));
+
+#ifndef QT_NO_STYLE_WINDOWS
+<a name="x325"></a> qApp-&gt;<a href="qapplication.html#setStyle">setStyle</a>( new NorwegianWoodStyle );
+#endif
+}
+
+void <a name="f232"></a>Themes::makeStyle(const <a href="qstring.html">QString</a> &amp;style)
+{
+ if(style == "Norwegian Wood") {
+#ifndef QT_NO_STYLE_WINDOWS
+ qApp-&gt;<a href="qapplication.html#setStyle">setStyle</a>( new NorwegianWoodStyle );
+#endif
+ } else if( style == "Metal" ) {
+#ifndef QT_NO_STYLE_WINDOWS
+ qApp-&gt;<a href="qapplication.html#setStyle">setStyle</a>( new MetalStyle );
+#endif
+ } else {
+ qApp-&gt;<a href="qapplication.html#setStyle">setStyle</a>(style);
+ if(style == "Platinum") {
+ <a href="qpalette.html">QPalette</a> p( QColor( 239, 239, 239 ) );
+<a name="x324"></a> qApp-&gt;<a href="qapplication.html#setPalette">setPalette</a>( p, TRUE );
+<a name="x323"></a> qApp-&gt;<a href="qapplication.html#setFont">setFont</a>( appFont, TRUE );
+ } else if(style == "Windows") {
+ qApp-&gt;<a href="qapplication.html#setFont">setFont</a>( appFont, TRUE );
+ } else if(style == "CDE") {
+ <a href="qpalette.html">QPalette</a> p( QColor( 75, 123, 130 ) );
+<a name="x332"></a> p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::Base, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Base, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::Base, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::Highlight, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::HighlightedText, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Highlight, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::HighlightedText, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::Highlight, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::HighlightedText, QColor( 55, 77, 78 ) );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::Foreground, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::Text, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Active, QColorGroup::ButtonText, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Foreground, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Text, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::ButtonText, Qt::white );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::Foreground, Qt::lightGray );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::Text, Qt::lightGray );
+ p.<a href="qpalette.html#setColor">setColor</a>( QPalette::Disabled, QColorGroup::ButtonText, Qt::lightGray );
+ qApp-&gt;<a href="qapplication.html#setPalette">setPalette</a>( p, TRUE );
+ qApp-&gt;<a href="qapplication.html#setFont">setFont</a>( QFont( "times", appFont.pointSize() ), TRUE );
+ } else if(style == "Motif" || style == "MotifPlus") {
+ <a href="qpalette.html">QPalette</a> p( QColor( 192, 192, 192 ) );
+ qApp-&gt;<a href="qapplication.html#setPalette">setPalette</a>( p, TRUE );
+ qApp-&gt;<a href="qapplication.html#setFont">setFont</a>( appFont, TRUE );
+ }
+ }
+}
+
+void <a name="f233"></a>Themes::about()
+{
+<a name="x330"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Themes Example",
+ "&lt;p&gt;This example demonstrates the concept of "
+ "&lt;b&gt;generalized GUI styles &lt;/b&gt; first introduced "
+ " with the 2.0 release of Qt.&lt;/p&gt;" );
+}
+
+
+void <a name="f234"></a>Themes::aboutQt()
+{
+<a name="x331"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Themes Example" );
+}
+
+
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qwindowsstyle-h.html">qwindowsstyle.h</a>&gt;
+#include "themes.h"
+
+#include "metal.h"
+
+int main( int argc, char ** argv )
+{
+<a name="x348"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::ManyColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ Themes themes;
+ themes.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Themes (QStyle)" );
+ themes.<a href="qwidget.html#resize">resize</a>( 640, 400 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;themes );
+<a name="x350"></a> themes.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/thread.html b/doc/html/thread.html
new file mode 100644
index 0000000..60e91ed
--- /dev/null
+++ b/doc/html/thread.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:776 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Threading</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Threading</h1>
+
+
+<p> These classes are relevant to threaded applications.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qmutex.html">QMutex</a></b><td>Access serialization between threads
+<tr bgcolor=#f0f0f0><td><b><a href="qmutexlocker.html">QMutexLocker</a></b><td>Simplifies locking and unlocking QMutexes
+<tr bgcolor=#f0f0f0><td><b><a href="qsemaphore.html">QSemaphore</a></b><td>Robust integer semaphore
+<tr bgcolor=#f0f0f0><td><b><a href="qthread.html">QThread</a></b><td>Platform-independent threads
+<tr bgcolor=#f0f0f0><td><b><a href="qthreadstorage.html">QThreadStorage</a></b><td>Per-thread data storage
+<tr bgcolor=#f0f0f0><td><b><a href="qwaitcondition.html">QWaitCondition</a></b><td>Allows waiting/waking for conditions between threads
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/threads.html b/doc/html/threads.html
new file mode 100644
index 0000000..c25cc8a
--- /dev/null
+++ b/doc/html/threads.html
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/threads.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Thread Support in Qt</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Thread Support in Qt</h1>
+
+
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Introduction
+</a>
+<li><a href="#2"> Enabling Thread Support
+</a>
+<li><a href="#3"> The Thread Classes
+</a>
+<li><a href="#4"> Important Definitions
+</a>
+<li><a href="#5"> Thread-safe Event Posting
+</a>
+<li><a href="#6"> Threads and QObject subclasses
+</a>
+<li><a href="#7"> The Qt Library Mutex
+</a>
+<li><a href="#8"> Threads and Signals and Slots
+</a>
+<li><a href="#9"> Threads and Shared Data
+</a>
+<li><a href="#10"> Threads and the SQL Module
+</a>
+<li><a href="#11"> Caveats
+</a>
+<li><a href="#12"> Recommended Reading
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> <h2> Introduction
+</h2>
+<a name="1"></a><p> Qt provides thread support in the form of basic platform-independent
+threading classes, a thread-safe way of posting events, and a global
+Qt library lock that allows you to call Qt methods from different
+threads.
+<p> This document is intended for an audience that has knowledge of, and
+experience with, multithreaded applications. If you are new to
+threading see our <a href="#reading">Recommended Reading</a> list.
+<p> <h2> Enabling Thread Support
+</h2>
+<a name="2"></a><p> When Qt is installed on Windows, thread support is an option on some
+compilers.
+<p> On Mac OS X and Unix, thread support is enabled by adding the
+<tt>-thread</tt> option when running the <tt>configure</tt> script. On Unix
+platforms where multithreaded programs must be linked in special ways,
+such as with a special libc, installation will create a separate
+library, <tt>libqt-mt</tt> and hence threaded programs must be linked
+against this library (with <tt>-lqt-mt</tt>) rather than the standard Qt
+library.
+<p> On both platforms, you should compile with the macro <tt>QT_THREAD_SUPPORT</tt> defined (e.g. compile with
+<tt>-DQT_THREAD_SUPPORT</tt>). On Windows, this is usually done by an
+entry in <tt>qconfig.h</tt>.
+<p> <h2> The Thread Classes
+</h2>
+<a name="3"></a><p> These classes are built into the Qt library when thread support is enabled:
+<p> <ul>
+<li> <a href="qthread.html">QThread</a> - Provides the means to start a new thread, which begins
+execution in your reimplementation of <a href="qthread.html#run">QThread::run</a>(). This is similar
+to the Java thread class.
+<p> <li> <a href="qthreadstorage.html">QThreadStorage</a> - Provides per-thread data storage. This class can
+only be used with threads started with QThread; it cannot be used with
+threads started with platform-specific APIs.
+<p> <li> <a href="qmutex.html">QMutex</a> - Provides a mutual exclusion lock (also know as a mutex).
+<li> <a href="qmutexlocker.html">QMutexLocker</a> - A convenience class which automatically locks and
+unlocks a QMutex. QMutexLocker is useful in complicated code, or in
+code which uses exceptions. See the documentation for more details.
+<li> <a href="qwaitcondition.html">QWaitCondition</a> - Provides a way for threads to go to sleep until
+woken up by another thread.
+<li> <a href="qsemaphore.html">QSemaphore</a> - Provides a simple integer semaphore.
+</ul>
+<p> <h2> Important Definitions
+</h2>
+<a name="4"></a><p> <a name="reentrant"></a>
+<a name="threadsafe"></a>
+<p> When using Qt in a multithreaded program, it is important to
+understand the definition of the terms <em>reentrant</em> and <em>thread-safe</em>:
+<p> <ul>
+<li> <em>reentrant</em> - Describes a function which can be called
+simultaneously by multiple threads when each invocation of the
+function references unique data. Calling a reentrant function
+simultaneously with the same data is not safe, and such invocations
+should be serialized.
+<li> <em>thread-safe</em> - Describes a function which can be called
+simultaneously by multiple threads when each invocation references
+shared data. Calling a thread-safe function simultaneously with the
+same data is safe, since all access to the shared data are serialized.
+</ul>
+<p> Note that Qt provides both implictly and <a href="shclass.html#explicitly-shared">explicitly shared</a>
+classes. For more information, see the <a href="threads.html#threads-shared">Threads and Shared Data</a>
+section.
+<p> Most C++ member functions are inherently reentrant, since they only
+reference class member data. Any thread can call such a member
+function on an instance, as long as no other thread is calling a
+member function on the same instance. For example, given the class <tt>Number</tt> below:
+<p> <pre>
+ class Number
+ {
+ public:
+ inline Number( int n ) : num( n ) { }
+
+ inline int number() const { return num; }
+ inline void setNumber( int n ) { num = n; }
+
+ private:
+ int num;
+ };
+</pre>
+
+<p> The methods <tt>Number::number()</tt> and <tt>Number::setNumber()</tt> are
+reentrant, since they only reference unique data. Only one thread at
+a time can call member functions on each instance of <tt>Number</tt>.
+However, multiple threads can call member functions on separate
+instances of <tt>Number</tt>.
+<p> Thread-safe functions usually use a mutex (e.g a <a href="qmutex.html">QMutex</a>) to serialize
+access to shared data. Because of this, thread-safe functions are
+usually slower than reentrant functions, because of the extra overhead
+of locking and unlocking the mutex. For example, given the class <tt>Counter</tt> below:
+<p> <pre>
+ class Counter
+ {
+ public:
+ inline Counter() { ++instances; }
+ inline ~Counter() { --instances; }
+
+ private:
+ static int instances;
+ };
+</pre>
+
+<p> Since the modifications of the static <tt>instances</tt> integer are not
+serialized, this class is not thread-safe. So make it threadsafe, a
+mutex must be used:
+<p> <pre>
+ class Counter
+ {
+ public:
+ inline Counter()
+ {
+ mutex.lock();
+ ++instances;
+ mutex.unlock();
+ }
+
+ ...
+ private:
+ static QMutex mutex;
+ static int instances;
+ };
+</pre>
+
+<p> <h2> Thread-safe Event Posting
+</h2>
+<a name="5"></a><p> In Qt, one thread is always the GUI or event thread. This is the
+thread that creates a <a href="qapplication.html">QApplication</a> object and calls
+<a href="qapplication.html#exec">QApplication::exec</a>(). This is also the initial thread that calls
+main() at program start. This thread is the only thread that is
+allowed to perform GUI operations, including generating and receiving
+events from the window system. Qt does not support creating
+QApplication and running the event loop (with QApplication::exec()) in
+a secondary thread. You must create the QApplication object and call
+QApplication::exec() from the main() function in your program.
+<p> Threads that wish to display data in a widget cannot modify the widget
+directly, so they must post an event to the widget using
+<a href="qapplication.html#postEvent">QApplication::postEvent</a>(). The event will be delivered later on by
+the GUI thread.
+<p> Normally, the programmer would like to include some information in the
+event sent to the widget. See the documentation for <a href="qcustomevent.html">QCustomEvent</a> for
+more information on user-defined events.
+<p> <h2> Threads and <a href="qobject.html">QObject</a> subclasses
+</h2>
+<a name="6"></a><p> The QObject class itself is <em>reentrant</em>. However, certain rules
+apply when creating and using QObjects in a thread that is not the GUI
+thread.
+<p> <ol type=1>
+<p> <li> <em>None</em> of the QObject based classes included in the Qt library are
+<em>reentrant</em>. This includes all widgets (e.g. <a href="qwidget.html">QWidget</a> and
+subclasses), OS kernel classes (e.g. <a href="qprocess.html">QProcess</a>, <a href="qaccel.html">QAccel</a>, <a href="qtimer.html">QTimer</a>), and
+all networking classes (e.g. <a href="qsocket.html">QSocket</a>, <a href="qdns.html">QDns</a>).
+<p> <li> QObject and all of its subclasses are <em>not</em> <em>thread-safe</em>. This
+includes the entire event delivery system. It is important to
+remember that the GUI thread may be delivering events to your QObject
+subclass while you are accessing the object from another thread. If
+you are using QObject in a thread that is not the GUI thread, and you
+are handling events sent to this object, you <em>must</em> protect all
+access to your data with a mutex; otherwise you may experience crashes
+or other undesired behavior.
+<p> <li> As a corollary to the above, deleting a <a href="qobject.html">QObject</a> while pending
+events are waiting to be delivered can cause a crash. You must not
+delete the QObject directly from a thread that is not the GUI thread.
+Use the <a href="qobject.html#deleteLater">QObject::deleteLater</a>() method instead, which will cause the
+event loop to delete the object after all pending events have been
+delivered to the object.
+<p> </ol>
+<p> <h2> The Qt Library Mutex
+</h2>
+<a name="7"></a><p> <a href="qapplication.html">QApplication</a> includes a mutex that is used to protect access to window
+system functions. This mutex is locked while the event loop is
+running (e.g. during event delivery) and unlocked when the eventloop
+goes to sleep. Note: The Qt event loop is recursive, and the library
+mutex is <em>not</em> unlocked when re-entering the event loop (e.g. when
+executing a modal dialog with <a href="qdialog.html#exec">QDialog::exec</a>()).
+<p> If another thread locks the Qt library mutex, then the event loop will
+stop processing events, and the locking thread may do simple GUI
+operations. Operations such as creating a <a href="qpainter.html">QPainter</a> and drawing a line
+are examples of simple GUI operations:
+<p> <pre>
+ ...
+ qApp-&gt;<a href="qapplication.html#lock">lock</a>();
+
+ <a href="qpainter.html">QPainter</a> p;
+ p.<a href="qpainter.html#begin">begin</a>( mywidget );
+ p.<a href="qpainter.html#setPen">setPen</a>( QColor( "red" ) );
+ p.<a href="qpainter.html#drawLine">drawLine</a>( 0,0,100,100 );
+ p.<a href="qpainter.html#end">end</a>();
+
+ qApp-&gt;<a href="qapplication.html#unlock">unlock</a>();
+ ...
+</pre>
+
+<p> Any operations that generate events must not be called by any thread
+other than the GUI thread. Examples of such operations are:
+<p> <ul>
+<li> creating a <a href="qwidget.html">QWidget</a>, <a href="qtimer.html">QTimer</a>, <a href="qsocketnotifier.html">QSocketNotifier</a>, <a href="qsocket.html">QSocket</a> or other network class.
+<li> moving, resizing, showing or hiding a QWidget.
+<li> starting or stoping a QTimer.
+<li> enabling or disabling a QSocketNotifier.
+<li> using a QSocket or other network class.
+</ul>
+<p> Events generated by these operations will be lost on some platforms.
+<p> <h2> Threads and Signals and Slots
+</h2>
+<a name="8"></a><p> The Signals and Slots mechanism can be used in separate threads, as
+long as the rules for <a href="qobject.html">QObject</a> based classes are followed. The Signals
+and Slots mechanism is synchronous: when a signal is emitted, all
+slots are called immediately. The slots are executed in the thread
+context that emitted the signal.
+<p> <b>Warning:</b> Slots that generate window system events or use window system
+functions <em>must</em> <em>not</em> be connected to a signal that is emitted from
+a thread that is not the GUI thread. See the Qt Library Mutex section
+above for more details.
+<p> <a name="threads-shared"></a>
+<h2> Threads and Shared Data
+</h2>
+<a name="9"></a><p> Qt provides many <a href="shclass.html#implicitly-shared">implicitly shared</a> and explicitly shared classes. In
+a multithreaded program, multiple instances of a shared class can
+reference shared data, which is dangerous if one or more threads
+attempt to modify the data. Qt provides the <a href="qdeepcopy.html">QDeepCopy</a> class, which
+ensures that shared classes reference unique data.
+<p> See the description of <a href="shclass.html">implicit sharing</a> for more
+information.
+<p> <a name="threads-sql"></a>
+<h2> Threads and the SQL Module
+</h2>
+<a name="10"></a><p> A connection can only be used from within the thread that created it.
+Moving connections between threads or creating queries from a different
+thread is not supported.
+<p> In addition, the third party libraries used by the QSqlDrivers can impose
+further restrictions on using the SQL Module in a multithreaded program.
+Consult the manual of your database client for more information.
+<p> <h2> Caveats
+</h2>
+<a name="11"></a><p> Some things to watch out for when programming with threads:
+<p> <ul>
+<p> <li> As mentioned above, <a href="qobject.html">QObject</a> based classes are neither thread-safe
+nor reentrant. This includes all widgets (e.g. <a href="qwidget.html">QWidget</a> and
+subclasses), OS kernel classes (e.g. <a href="qprocess.html">QProcess</a>, <a href="qaccel.html">QAccel</a>), and all
+networking classes (e.g. <a href="qsocket.html">QSocket</a>, <a href="qdns.html">QDns</a>).
+<p> <li> Deleting a QObject while pending events are waiting to be delivered
+will cause a crash. If you are creating QObjects in a thread that is
+not the GUI thread and posting events to these objects, you should not
+delete the QObject directly. Use the <a href="qobject.html#deleteLater">QObject::deleteLater</a>() method
+instead, which will cause the event loop to delete the object after
+all pending events have been delivered to the object.
+<p> <li> Don't do any blocking operations while holding the Qt library
+mutex. This will freeze up the event loop.
+<p> <li> Make sure you unlock a recursive <a href="qmutex.html">QMutex</a> as many times as you lock
+it, no more and no less.
+<p> <li> Don't mix the normal Qt library and the threaded Qt library in your
+application. This means that if your application uses the threaded Qt
+library, you should not link with the normal Qt library, dynamically
+load the normal Qt library or dynamically load another library or
+plugin that depends on the normal Qt library. On some systems, doing
+this can corrupt the static data used in the Qt library.
+<p> <li> Qt does not support creating <a href="qapplication.html">QApplication</a> and running the event
+loop (with <a href="qapplication.html#exec">QApplication::exec</a>()) in a secondary thread. You must
+create the QApplication object and call QApplication::exec() from the
+main() function in your program.
+<p> </ul>
+<p> <a name="reading"></a>
+<h2> Recommended Reading
+</h2>
+<a name="12"></a><p> <ul>
+<li> <a href="http://www.amazon.com/exec/obidos/ASIN/0134436989/trolltech/t">Threads Primer: A Guide to Multithreaded Programming</a>
+<li> <a href="http://www.amazon.com/exec/obidos/ASIN/0131900676/trolltech/t">Thread Time: The Multithreaded Programming Guide</a>
+<li> <a href="http://www.amazon.com/exec/obidos/ASIN/1565921151/trolltech/t">Pthreads Programming: A POSIX Standard for Better Multiprocessing (O'Reilly Nutshell)</a>
+<li> <a href="http://www.amazon.com/exec/obidos/ASIN/1565922964/trolltech/t">Win32 Multithreaded Programming</a>
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tictac-example.html b/doc/html/tictac-example.html
new file mode 100644
index 0000000..2fdca04
--- /dev/null
+++ b/doc/html/tictac-example.html
@@ -0,0 +1,577 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/tictac/tictac.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tic Tac Toe</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Tic Tac Toe</h1>
+
+
+<p>
+This is an implementation of the Tic-tac-toe game.
+<p> We didn't put much effort in making a clever algorithm so it's not a
+challenge to play against the computer. Instead, study the source code
+to see how you can make reusable components such as the <em>TicTacGameBoard</em>
+widget.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/tictac.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef TICTAC_H
+#define TICTAC_H
+
+
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qptrvector-h.html">qptrvector.h</a>&gt;
+
+class QComboBox;
+class QLabel;
+
+
+// --------------------------------------------------------------------------
+// TicTacButton implements a single tic-tac-toe button
+//
+
+class TicTacButton : public <a href="qpushbutton.html">QPushButton</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ TicTacButton( <a href="qwidget.html">QWidget</a> *parent );
+ enum Type { Blank, Circle, Cross };
+ Type type() const { return t; }
+ void setType( Type type ) { t = type; repaint(); }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const
+ { return QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ); }
+ <a href="qsize.html">QSize</a> sizeHint() const { return QSize( 32, 32 ); }
+ <a href="qsize.html">QSize</a> minimumSizeHint() const { return QSize( 10, 10 ); }
+protected:
+ void drawButtonLabel( <a href="qpainter.html">QPainter</a> * );
+private:
+ Type t;
+};
+
+// Using template vector to make vector-class of TicTacButton.
+// This vector is used by the TicTacGameBoard class defined below.
+
+typedef QPtrVector&lt;TicTacButton&gt; TicTacButtons;
+typedef QMemArray&lt;int&gt; TicTacArray;
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard implements the tic-tac-toe game board.
+// TicTacGameBoard is a composite widget that contains N x N TicTacButtons.
+// N is specified in the constructor.
+//
+
+class TicTacGameBoard : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ TicTacGameBoard( int n, QWidget *parent=0, const char *name=0 );
+ ~TicTacGameBoard();
+ enum State { Init, HumansTurn, HumanWon, ComputerWon, NobodyWon };
+ State state() const { return st; }
+ void computerStarts( bool v );
+ void newGame();
+signals:
+ void finished(); // game finished
+private slots:
+ void buttonClicked();
+private:
+ void setState( State state ) { st = state; }
+ void updateButtons();
+ int checkBoard( TicTacArray * );
+ void computerMove();
+ State st;
+ int nBoard;
+ bool comp_starts;
+ TicTacArray *btArray;
+ TicTacButtons *buttons;
+};
+
+
+// --------------------------------------------------------------------------
+// TicTacToe implements the complete game.
+// TicTacToe is a composite widget that contains a TicTacGameBoard and
+// two push buttons for starting the game and quitting.
+//
+
+class TicTacToe : public <a href="qwidget.html">QWidget</a>
+{
+ Q_OBJECT
+public:
+ TicTacToe( int boardSize=3, QWidget *parent=0, const char *name=0 );
+private slots:
+ void newGameClicked();
+ void gameOver();
+private:
+ void newState();
+ <a href="qcombobox.html">QComboBox</a> *whoStarts;
+ <a href="qpushbutton.html">QPushButton</a> *newGame;
+ <a href="qpushbutton.html">QPushButton</a> *quit;
+ <a href="qlabel.html">QLabel</a> *message;
+ TicTacGameBoard *board;
+};
+
+
+#endif // TICTAC_H
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/tictac.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tictac.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qdrawutil-h.html">qdrawutil.h</a>&gt;
+#include &lt;<a href="qcombobox-h.html">qcombobox.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;stdlib.h&gt; // rand() function
+#include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt; // seed for rand()
+
+
+//***************************************************************************
+//* TicTacButton member functions
+//***************************************************************************
+
+// --------------------------------------------------------------------------
+// Creates a TicTacButton
+//
+
+<a name="f188"></a>TicTacButton::TicTacButton( <a href="qwidget.html">QWidget</a> *parent ) : <a href="qpushbutton.html">QPushButton</a>( parent )
+{
+ t = Blank; // initial type
+}
+
+// --------------------------------------------------------------------------
+// Paints TicTacButton
+//
+
+<a name="x31"></a>void TicTacButton::<a href="qbutton.html#drawButtonLabel">drawButtonLabel</a>( <a href="qpainter.html">QPainter</a> *p )
+{
+ <a href="qrect.html">QRect</a> r = <a href="qwidget.html#rect">rect</a>();
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( QPen( white,2 ) ); // set fat pen
+ if ( t == Circle ) {
+<a name="x36"></a><a name="x35"></a><a name="x28"></a> p-&gt;<a href="qpainter.html#drawEllipse">drawEllipse</a>( r.<a href="qrect.html#left">left</a>()+4, r.<a href="qrect.html#top">top</a>()+4, r.<a href="qrect.html#width">width</a>()-8, r.<a href="qrect.html#height">height</a>()-8 );
+ } else if ( t == Cross ) { // draw cross
+<a name="x37"></a><a name="x33"></a> p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( r.<a href="qrect.html#topLeft">topLeft</a>() +QPoint(4,4), r.<a href="qrect.html#bottomRight">bottomRight</a>()-QPoint(4,4));
+<a name="x38"></a><a name="x32"></a> p-&gt;<a href="qpainter.html#drawLine">drawLine</a>( r.<a href="qrect.html#bottomLeft">bottomLeft</a>()+QPoint(4,-4),r.<a href="qrect.html#topRight">topRight</a>() -QPoint(4,-4));
+ }
+}
+
+
+//***************************************************************************
+//* TicTacGameBoard member functions
+//***************************************************************************
+
+// --------------------------------------------------------------------------
+// Creates a game board with N x N buttons and connects the "clicked()"
+// signal of all buttons to the "buttonClicked()" slot.
+//
+
+<a name="f189"></a>TicTacGameBoard::TicTacGameBoard( int n, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ st = Init; // initial state
+ nBoard = n;
+ n *= n; // make square
+ comp_starts = FALSE; // human starts
+ buttons = new TicTacButtons(n); // create real buttons
+ btArray = new TicTacArray(n); // create button model
+ <a href="qgridlayout.html">QGridLayout</a> * grid = new <a href="qgridlayout.html">QGridLayout</a>( this, nBoard, nBoard, 4 );
+ <a href="qpalette.html">QPalette</a> p( blue );
+ for ( int i=0; i&lt;n; i++ ) { // create and connect buttons
+ TicTacButton *ttb = new TicTacButton( this );
+<a name="x45"></a> ttb-&gt;<a href="qwidget.html#setPalette">setPalette</a>( p );
+ ttb-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ <a href="qobject.html#connect">connect</a>( ttb, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(buttonClicked()) );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( ttb, i%nBoard, i/nBoard );
+ buttons-&gt;insert( i, ttb );
+ btArray-&gt;at(i) = TicTacButton::Blank; // initial button type
+ }
+<a name="x40"></a> <a href="qtime.html">QTime</a> t = QTime::<a href="qtime.html#currentTime">currentTime</a>(); // set random seed
+<a name="x43"></a><a name="x42"></a><a name="x41"></a> srand( t.<a href="qtime.html#hour">hour</a>()*12+t.<a href="qtime.html#minute">minute</a>()*60+t.<a href="qtime.html#second">second</a>()*60 );
+}
+
+TicTacGameBoard::~TicTacGameBoard()
+{
+ delete buttons;
+ delete btArray;
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::computerStarts( bool v )
+//
+// Computer starts if v=TRUE. The human starts by default.
+//
+
+void <a name="f190"></a>TicTacGameBoard::computerStarts( bool v )
+{
+ comp_starts = v;
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::newGame()
+//
+// Clears the game board and prepares for a new game
+//
+
+void <a name="f191"></a>TicTacGameBoard::newGame()
+{
+ st = HumansTurn;
+ for ( int i=0; i&lt;nBoard*nBoard; i++ )
+ btArray-&gt;at(i) = TicTacButton::Blank;
+ if ( comp_starts )
+ computerMove();
+ else
+ updateButtons();
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::buttonClicked() - SLOT
+//
+// This slot is activated when a TicTacButton emits the signal "clicked()",
+// i.e. the user has clicked on a TicTacButton.
+//
+
+void <a name="f192"></a>TicTacGameBoard::buttonClicked()
+{
+ if ( st != HumansTurn ) // not ready
+ return;
+ int i = buttons-&gt;findRef( (TicTacButton*)<a href="qobject.html#sender">sender</a>() );
+ TicTacButton *b = buttons-&gt;at(i); // get piece that was pressed
+ if ( b-&gt;type() == TicTacButton::Blank ) { // empty piece?
+ btArray-&gt;at(i) = TicTacButton::Circle;
+ updateButtons();
+ if ( checkBoard( btArray ) == 0 ) // not a winning move?
+ computerMove();
+ int s = checkBoard( btArray );
+ if ( s ) { // any winners yet?
+ st = s == TicTacButton::Circle ? HumanWon : ComputerWon;
+ emit finished();
+ }
+ }
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::updateButtons()
+//
+// Updates all buttons that have changed state
+//
+
+void <a name="f193"></a>TicTacGameBoard::updateButtons()
+{
+ for ( int i=0; i&lt;nBoard*nBoard; i++ ) {
+ if ( buttons-&gt;at(i)-&gt;type() != btArray-&gt;at(i) )
+ buttons-&gt;at(i)-&gt;setType( (TicTacButton::Type)btArray-&gt;at(i) );
+ buttons-&gt;at(i)-&gt;setEnabled( buttons-&gt;at(i)-&gt;type() ==
+ TicTacButton::Blank );
+ }
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::checkBoard()
+//
+// Checks if one of the players won the game, works for any board size.
+//
+// Returns:
+// - TicTacButton::Cross if the player with X buttons won
+// - TicTacButton::Circle if the player with O buttons won
+// - Zero (0) if there is no winner yet
+//
+
+int <a name="f194"></a>TicTacGameBoard::checkBoard( TicTacArray *a )
+{
+ int t = 0;
+ int row, col;
+ bool won = FALSE;
+ for ( row=0; row&lt;nBoard &amp;&amp; !won; row++ ) { // check horizontal
+ t = a-&gt;at(row*nBoard);
+ if ( t == TicTacButton::Blank )
+ continue;
+ col = 1;
+ while ( col&lt;nBoard &amp;&amp; a-&gt;at(row*nBoard+col) == t )
+ col++;
+ if ( col == nBoard )
+ won = TRUE;
+ }
+ for ( col=0; col&lt;nBoard &amp;&amp; !won; col++ ) { // check vertical
+ t = a-&gt;at(col);
+ if ( t == TicTacButton::Blank )
+ continue;
+ row = 1;
+ while ( row&lt;nBoard &amp;&amp; a-&gt;at(row*nBoard+col) == t )
+ row++;
+ if ( row == nBoard )
+ won = TRUE;
+ }
+ if ( !won ) { // check diagonal top left
+ t = a-&gt;at(0); // to bottom right
+ if ( t != TicTacButton::Blank ) {
+ int i = 1;
+ while ( i&lt;nBoard &amp;&amp; a-&gt;at(i*nBoard+i) == t )
+ i++;
+ if ( i == nBoard )
+ won = TRUE;
+ }
+ }
+ if ( !won ) { // check diagonal bottom left
+ int j = nBoard-1; // to top right
+ int i = 0;
+ t = a-&gt;at(i+j*nBoard);
+ if ( t != TicTacButton::Blank ) {
+ i++; j--;
+ while ( i&lt;nBoard &amp;&amp; a-&gt;at(i+j*nBoard) == t ) {
+ i++; j--;
+ }
+ if ( i == nBoard )
+ won = TRUE;
+ }
+ }
+ if ( !won ) // no winner
+ t = 0;
+ return t;
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacGameBoard::computerMove()
+//
+// Puts a piece on the game board. Very, very simple.
+//
+
+void <a name="f195"></a>TicTacGameBoard::computerMove()
+{
+ int numButtons = nBoard*nBoard;
+ int *altv = new int[numButtons]; // buttons alternatives
+ int altc = 0;
+ int stopHuman = -1;
+ TicTacArray a = btArray-&gt;copy();
+ int i;
+ for ( i=0; i&lt;numButtons; i++ ) { // try all positions
+ if ( a[i] != TicTacButton::Blank ) // already a piece there
+ continue;
+ a[i] = TicTacButton::Cross; // test if computer wins
+ if ( checkBoard(&amp;a) == a[i] ) { // computer will win
+ st = ComputerWon;
+ stopHuman = -1;
+ break;
+ }
+ a[i] = TicTacButton::Circle; // test if human wins
+ if ( checkBoard(&amp;a) == a[i] ) { // oops...
+ stopHuman = i; // remember position
+ a[i] = TicTacButton::Blank; // restore button
+ continue; // computer still might win
+ }
+ a[i] = TicTacButton::Blank; // restore button
+ altv[altc++] = i; // remember alternative
+ }
+ if ( stopHuman &gt;= 0 ) // must stop human from winning
+ a[stopHuman] = TicTacButton::Cross;
+ else if ( i == numButtons ) { // tried all alternatives
+ if ( altc &gt; 0 ) // set random piece
+ a[altv[rand()%(altc--)]] = TicTacButton::Cross;
+ if ( altc == 0 ) { // no more blanks
+ st = NobodyWon;
+ emit finished();
+ }
+ }
+ *btArray = a; // update model
+ updateButtons(); // update buttons
+ delete[] altv;
+}
+
+
+//***************************************************************************
+//* TicTacToe member functions
+//***************************************************************************
+
+// --------------------------------------------------------------------------
+// Creates a game widget with a game board and two push buttons, and connects
+// signals of child widgets to slots.
+//
+
+<a name="f196"></a>TicTacToe::TicTacToe( int boardSize, QWidget *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qvboxlayout.html">QVBoxLayout</a> * l = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 6 );
+
+ // Create a message label
+
+ message = new <a href="qlabel.html">QLabel</a>( this );
+<a name="x24"></a> message-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+ message-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( message );
+
+ // Create the game board and connect the signal finished() to this
+ // gameOver() slot
+
+ board = new TicTacGameBoard( boardSize, this );
+ <a href="qobject.html#connect">connect</a>( board, SIGNAL(finished()), SLOT(gameOver()) );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( board );
+
+ // Create a horizontal frame line
+
+ <a href="qframe.html">QFrame</a> *line = new <a href="qframe.html">QFrame</a>( this );
+ line-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::HLine | QFrame::Sunken );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( line );
+
+ // Create the combo box for deciding who should start, and
+ // connect its clicked() signals to the buttonClicked() slot
+
+ whoStarts = new <a href="qcombobox.html">QComboBox</a>( this );
+<a name="x23"></a> whoStarts-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Computer starts" );
+ whoStarts-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( "Human starts" );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( whoStarts );
+
+ // Create the push buttons and connect their clicked() signals
+ // to this right slots.
+
+ newGame = new <a href="qpushbutton.html">QPushButton</a>( "Play!", this );
+ <a href="qobject.html#connect">connect</a>( newGame, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(newGameClicked()) );
+ quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this );
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ <a href="qhboxlayout.html">QHBoxLayout</a> * b = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+<a name="x19"></a> l-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( b );
+ b-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( newGame );
+ b-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( quit );
+
+ newState();
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacToe::newGameClicked() - SLOT
+//
+// This slot is activated when the new game button is clicked.
+//
+
+void <a name="f197"></a>TicTacToe::newGameClicked()
+{
+<a name="x22"></a> board-&gt;computerStarts( whoStarts-&gt;<a href="qcombobox.html#currentItem">currentItem</a>() == 0 );
+ board-&gt;newGame();
+ newState();
+}
+
+
+// --------------------------------------------------------------------------
+// TicTacToe::gameOver() - SLOT
+//
+// This slot is activated when the TicTacGameBoard emits the signal
+// "finished()", i.e. when a player has won or when it is a draw.
+//
+
+void <a name="f198"></a>TicTacToe::gameOver()
+{
+ newState(); // update text box
+}
+
+
+// --------------------------------------------------------------------------
+// Updates the message to reflect a new state.
+//
+
+void <a name="f199"></a>TicTacToe::newState()
+{
+ static const char *msg[] = { // TicTacGameBoard::State texts
+ "Click Play to start", "Make your move",
+ "You won!", "Computer won!", "It's a draw" };
+ message-&gt;<a href="qlabel.html#setText">setText</a>( msg[board-&gt;state()] );
+ return;
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;stdlib.h&gt;
+#include "tictac.h"
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ int n = 3;
+ if ( argc == 2 ) // get board size n
+ n = atoi(argv[1]);
+ if ( n &lt; 3 || n &gt; 10 ) { // out of range
+ <a href="qapplication.html#qWarning">qWarning</a>( "%s: Board size must be from 3x3 to 10x10", argv[0] );
+ return 1;
+ }
+ TicTacToe ttt( n ); // create game
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;ttt );
+ ttt.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - TicTac");
+ ttt.<a href="qwidget.html#show">show</a>(); // show widget
+ return a.<a href="qapplication.html#exec">exec</a>(); // go
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/time.html b/doc/html/time.html
new file mode 100644
index 0000000..bedb9e2
--- /dev/null
+++ b/doc/html/time.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:667 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Time and Date</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Time and Date</h1>
+
+
+<p> These classes provide system-independent date and time abstractions.
+<p> <p>Also available: <a href="y2k.html">Qt Year 2000 Compliance Statement</a>.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qdate.html">QDate</a></b><td>Date functions
+<tr bgcolor=#f0f0f0><td><b><a href="qdateedit.html">QDateEdit</a></b><td>Date editor
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetime.html">QDateTime</a></b><td>Date and time functions
+<tr bgcolor=#f0f0f0><td><b><a href="qdatetimeedit.html">QDateTimeEdit</a></b><td>Combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes
+<tr bgcolor=#f0f0f0><td><b><a href="qtime.html">QTime</a></b><td>Clock time functions
+<tr bgcolor=#f0f0f0><td><b><a href="qtimeedit.html">QTimeEdit</a></b><td>Time editor
+<tr bgcolor=#f0f0f0><td><b><a href="qtimer.html">QTimer</a></b><td>Timer signals and single-shot timers
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/timers.html b/doc/html/timers.html
new file mode 100644
index 0000000..eff5bb9
--- /dev/null
+++ b/doc/html/timers.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/object.doc:86 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Timers</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Timers</h1>
+
+
+
+<p> <a href="qobject.html">QObject</a>, the base class of all Qt objects, provides the basic timer
+support in Qt. With <a href="qobject.html#startTimer">QObject::startTimer</a>(), you start a timer with
+an <em>interval</em> in milliseconds as argument. The function returns a
+unique integer timer id. The timer will now "fire" every <em>interval</em>
+milliseconds, until you explicitly call <a href="qobject.html#killTimer">QObject::killTimer</a>() with
+the timer id.
+<p> For this mechanism to work, the application must run in an event
+loop. You start an event loop with <a href="qapplication.html#exec">QApplication::exec</a>(). When a
+timer fires, the application sends a <a href="qtimerevent.html">QTimerEvent</a>, and the flow of
+control leaves the event loop until the timer event is processed. This
+implies that a timer cannot fire while your application is busy doing
+something else. In other words: the accuracy of timers depends on the
+granularity of your application.
+<p> There is practically no upper limit for the interval value (more than
+one year is possible). The accuracy depends on the underlying operating
+system. Windows 95/98 has 55 millisecond (18.2 times per second)
+accuracy; other systems that we have tested (UNIX X11 and Windows NT)
+can handle 1 millisecond intervals.
+<p> The main API for the timer functionality is <a href="qtimer.html">QTimer</a>. That class
+provides regular timers that emit a signal when the timer fires, and
+inherits <a href="qobject.html">QObject</a> so that it fits well into the ownership structure
+of most GUI programs. The normal way of using it is like this:
+<pre>
+ <a href="qtimer.html">QTimer</a> * counter = new <a href="qtimer.html">QTimer</a>( this );
+ connect( counter, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(updateCaption()) );
+ counter-&gt;<a href="qtimer.html#start">start</a>( 1000 );
+</pre>
+
+<p> The counter timer is made into a child of this widget, so that when
+this widget is deleted, the timer is deleted too. Next, its timeout
+signal is connected to the slot that will do the work, and finally
+it's started.
+<p> <a href="qtimer.html">QTimer</a> also provides a simple one-shot timer API. <a href="qbutton.html">QButton</a> uses this
+to show the button being pressed down and then (0.1 seconds later) be
+released when the keyboard is used to "press" a button, for example:
+<p> <pre>
+ QTimer::<a href="qtimer.html#singleShot">singleShot</a>( 100, this, SLOT(animateTimeout()) );
+</pre>
+
+<p> 0.1 seconds after this line of code is executed, the same button's
+animateTimeout() slot is called.
+<p> Here is an outline of a slightly longer example that combines object
+communication via signals and slots with a QTimer object. It
+demonstrates how to use timers to perform intensive calculations in a
+single-threaded application without blocking the user interface.
+<p> <pre>
+ // The Mandelbrot class uses a QTimer to calculate the mandelbrot
+ // set one scanline at a time without blocking the CPU. It
+ // inherits QObject to use signals and slots. Calling start()
+ // starts the calculation. The done() signal is emitted when it
+ // has finished. Note that this example is not complete, just an
+ // outline.
+
+ class Mandelbrot : public <a href="qobject.html">QObject</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> // required for signals/slots
+ public:
+ Mandelbrot( <a href="qobject.html">QObject</a> *parent=0, const char *name );
+ ...
+ public slots:
+ void start();
+ signals:
+ void done();
+ private slots:
+ void calculate();
+ private:
+ <a href="qtimer.html">QTimer</a> timer;
+ ...
+ };
+
+ //
+ // Constructs and initializes a Mandelbrot object.
+ //
+
+ Mandelbrot::Mandelbrot( <a href="qobject.html">QObject</a> *parent=0, const char *name )
+ : <a href="qobject.html">QObject</a>( parent, name )
+ {
+ <a href="qobject.html#connect">connect</a>( &amp;timer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()), SLOT(calculate()) );
+ ...
+ }
+
+ //
+ // Starts the calculation task. The internal calculate() slot
+ // will be activated every 10 milliseconds.
+ //
+
+ void Mandelbrot::start()
+ {
+ if ( !timer.<a href="qtimer.html#isActive">isActive</a>() ) // not already running
+ timer.<a href="qtimer.html#start">start</a>( 10 ); // timeout every 10 ms
+ }
+
+ //
+ // Calculates one scanline at a time.
+ // Emits the done() signal when finished.
+ //
+
+ void Mandelbrot::calculate()
+ {
+ ... // perform the calculation for a scanline
+ if ( finished ) { // no more scanlines
+ timer.<a href="qtimer.html#stop">stop</a>();
+ emit done();
+ }
+ }
+ </pre>
+
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/titleindex b/doc/html/titleindex
new file mode 100644
index 0000000..28a1f3a
--- /dev/null
+++ b/doc/html/titleindex
@@ -0,0 +1,1521 @@
+3rd Party Licenses used in Qt | 3rdparty.html
+A Complete Application Window | simple-application-example.html
+A Complete Application Window with Actions | qaction-application-example.html
+A Complete Canvas Application | canvas-chart-example.html
+A Directory Browser | dirview-example.html
+A Motif Dialog | motif-dialog-example.html
+A Qt example as a scriptable ActiveX control (executable) | qaxserver-example-tetrax.html
+A Rectangle Draw "Benchmark" | forever-example.html
+A Small Application for Testing Regular Expressions | regexptester-example.html
+A Tiny Example Featuring a Toggle Action | toggleaction-example.html
+A Tiny QTL Example | qtl-qvaluelist-example.html
+A Web Browser | qaxcontainer-example-webbrowser.html
+A qt-interest mail archive search | archivesearch-example.html
+A simple ActiveQt control (executable) | qaxserver-example-simple.html
+A simple HTTP daemon | httpd-example.html
+A simple NNTP implementation | networkprotocol-example.html
+A simple demonstration of QFont member functions | simple-font-demo-example.html
+A simple mail client | mail-example.html
+A small client-server example | clientserver-example.html
+A standard ActiveX and the "simple" ActiveQt widget. | qaxserver-demo-simple.html
+A tiny SAX2 parser | tagreader-example.html
+About Modules | modules.html
+About Qt | aboutqt.html
+About Unicode | unicode.html
+About the Visual Studio Integration Plugin | integration.html
+Abstract Widget Classes | abstractwidgets.html
+ActiveQt Examples | activeqt-examples.html
+ActiveQt Tools | activeqt-tools.html
+Adding an accelerated graphics driver to Qt/Embedded | emb-accel.html
+Advanced Widgets | advanced.html
+Advanced use of tool tips | tooltip-example.html
+All Overviews and HOWTOs | overviews-list.html
+An ActiveX Test Container | activeqt-tools-testcon.html
+An Extension Dialog Example | extension-dialog-example.html
+An FTP client | ftpclient-example.html
+An MDI Application | mdi-example.html
+Analog Clock | aclock-example.html
+Annotated Class Index | annotated.html
+Basic Widgets | basic.html
+Biff (UNIX only) | biff-example.html
+Books about GUI | guibooks.html
+Brief Technical FAQ | commonproblems.html
+Buttons and Groupboxes | buttongroups-example.html
+Canvas Control | tutorial2-06.html
+Canvas Example | canvas-example.html
+Canvas Module | canvas.html
+Character input in Qt/Embedded | emb-charinput.html
+Class Inheritance Hierarchy | hierarchy.html
+Collection Classes | collection.html
+Company Information | troll.html
+Connect the Points | drawlines-example.html
+Continuing Development | motif-walkthrough-10.html
+Conway's Game of Life | life-example.html
+Cursors | cursor-example.html
+Customized Layoutmanager | customlayout-example.html
+Data Elements | tutorial2-03.html
+Database Classes | database.html
+Debugging Techniques | debug.html
+Demonstration of SAX2 features | tagreader-with-features-example.html
+Deploying Qt Applications | distributingqt.html
+Dialog Classes | dialogs.html
+Digital Clock | dclock-example.html
+Drag And Drop Classes | draganddrop.html
+Drag and Drop | dnd.html
+Drag and Drop | dragdrop-example.html
+Drag and Drop (Simple) | simple_dd-example.html
+Draw Demo | drawdemo-example.html
+Enabling the Linux Framebuffer | emb-framebuffer-howto.html
+Environment Classes | environment.html
+Event Classes | events.html
+Events and Event Filters | eventsandfilters.html
+Examples | examples.html
+File Handling | tutorial2-07.html
+Font Displayer | qfd-example.html
+Fonts in Qt/Embedded | emb-fonts.html
+Format of the QDataStream Operators | datastreamformat.html
+Functions removed in Qt 2.0 | removed20.html
+GNU General Public License | gpl.html
+Getting Started | motif-walkthrough-1.html
+Grapher Plugin | grapher-nsplugin-example.html
+Graphics Classes | graphics.html
+Grouped Classes | groups.html
+Header File Index | headers.html
+Hello, World | hello-example.html
+Help System | helpsystem.html
+Helpsystem | helpsystem-example.html
+How to Learn Qt | how-to-learn-qt.html
+How to Report A Bug | bughowto.html
+How to create a large, sparse QTable | bigtable-example.html
+How to use X11 overlays with the Qt OpenGL extension | opengl-x11-overlays.html
+IconView Module | iconview.html
+Iconview | iconview-example.html
+Image Processing Classes | images.html
+Implicitly and Explicitly Shared Classes | shared.html
+In Sync with Outlook | qaxcontainer-example-qutlook.html
+Input/Output and Networking | io.html
+Installation | installation.html
+Installing Qt/Embedded | emb-install.html
+Installing Qt/Mac | install-mac.html
+Installing Qt/Windows | install-win.html
+Installing Qt/X11 | install-x11.html
+Internationalization | i18n-example.html
+Internationalization with Qt | i18n.html
+Introduction | tutorial2-01.html
+Issues to be aware of when porting Qt/Embedded | embedporting.html
+Key Features in Qt 3.0 | keyfeatures30.html
+Keyboard Focus Overview | focus.html
+Layout Classes | layout.html
+Layout Management | geomanagement.html
+Layout Managers | layout-example.html
+Licenses for Code Used in Qt | licenses.html
+Line Edits | lineedits-example.html
+Listbox Example | listbox-example.html
+Listboxes and Comboboxes | listboxcombo-example.html
+Listviews | listviews-example.html
+Listviews with Checkable Items | checklists-example.html
+Main Window and Related Classes | application.html
+Mainly Easy | tutorial2-04.html
+Member Function Index | functions.html
+Menubar merging | qaxserver-demo-menus.html
+Menubar merging | qaxserver-example-menus.html
+Meta Object System | metaobjects.html
+Miscellaneous Classes | misc.html
+Movies or the Story of the Animated GIF file | movies-example.html
+Multimedia Classes | multimedia.html
+Netscape Plugin Examples | nsplugin-examples.html
+Network Examples | network-examples.html
+Network Module | network.html
+Non-GUI Classes | tools.html
+Object Model | objectmodel.html
+Object Trees and Object Ownership | objecttrees.html
+OpenGL Box Example | opengl-box-example.html
+OpenGL Examples | opengl-examples.html
+OpenGL Gear Example | opengl-gear-example.html
+OpenGL Overlay Example | opengl-overlay-example.html
+OpenGL Overlay X11 Example | opengl-overlay-x11-example.html
+OpenGL Pixmap Example | opengl-pixmap-example.html
+OpenGL Shared Box Example | opengl-sharedbox-example.html
+OpenGL Texture Example | opengl-texture-example.html
+OpenGL in an HTML page | qaxserver-demo-opengl.html
+Organizers | organizers.html
+Outliner to show use of DOM | outliner-example.html
+Painting on the Desktop | desktop-example.html
+Picture | picture-example.html
+Pictures of Most Qt Widgets | pictures.html
+Play Tetrix! | qaxserver-demo-tetrax.html
+Plugins | plugins.html
+Popup Widgets | popup-example.html
+Porting to Qt 2.x | porting2.html
+Porting to Qt 3.x | porting.html
+Porting your applications to Qt/Embedded | emb-porting.html
+Preparing to Migrate the User Interface | motif-walkthrough-2.html
+Presenting the GUI | tutorial2-05.html
+Progress Bar | progressbar-example.html
+Progress Bar and Dialog Example | progress-example.html
+Properties | properties.html
+QAccel Class | qaccel.html
+QAccel Member List | qaccel-members.html
+QAccessible Class | qaccessible.html
+QAccessible Member List | qaccessible-members.html
+QAccessibleInterface Class | qaccessibleinterface.html
+QAccessibleInterface Member List | qaccessibleinterface-members.html
+QAccessibleObject Class | qaccessibleobject.html
+QAccessibleObject Member List | qaccessibleobject-members.html
+QAction Class | qaction.html
+QAction Examples | qaction-examples.html
+QAction Member List | qaction-members.html
+QActionGroup Class | qactiongroup.html
+QActionGroup Member List | qactiongroup-members.html
+QApplication Class | qapplication.html
+QApplication Member List | qapplication-members.html
+QArray Class Reference (obsolete) | qarray.html
+QAsciiCache Class | qasciicache.html
+QAsciiCache Member List | qasciicache-members.html
+QAsciiCacheIterator Class | qasciicacheiterator.html
+QAsciiCacheIterator Member List | qasciicacheiterator-members.html
+QAsciiDict Class | qasciidict.html
+QAsciiDict Member List | qasciidict-members.html
+QAsciiDictIterator Class | qasciidictiterator.html
+QAsciiDictIterator Member List | qasciidictiterator-members.html
+QAssistantClient Class | qassistantclient.html
+QAssistantClient Member List | qassistantclient-members.html
+QAsyncIO Class | qasyncio.html
+QAsyncIO Member List | qasyncio-members.html
+QAxAggregated Class | qaxaggregated.html
+QAxAggregated Member List | qaxaggregated-members.html
+QAxBase Class | qaxbase.html
+QAxBase Member List | qaxbase-members.html
+QAxBindable Class | qaxbindable.html
+QAxBindable Member List | qaxbindable-members.html
+QAxFactory Class | qaxfactory.html
+QAxFactory Member List | qaxfactory-members.html
+QAxObject Class | qaxobject.html
+QAxObject Member List | qaxobject-members.html
+QAxScript Class | qaxscript.html
+QAxScript Member List | qaxscript-members.html
+QAxScriptEngine Class | qaxscriptengine.html
+QAxScriptEngine Member List | qaxscriptengine-members.html
+QAxScriptManager Class | qaxscriptmanager.html
+QAxScriptManager Member List | qaxscriptmanager-members.html
+QAxWidget Class | qaxwidget.html
+QAxWidget Member List | qaxwidget-members.html
+QBig5Codec Class | qbig5codec.html
+QBig5Codec Member List | qbig5codec-members.html
+QBig5hkscsCodec Class | qbig5hkscscodec.html
+QBig5hkscsCodec Member List | qbig5hkscscodec-members.html
+QBitArray Class | qbitarray.html
+QBitArray Member List | qbitarray-members.html
+QBitVal Class | qbitval.html
+QBitVal Member List | qbitval-members.html
+QBitmap Class | qbitmap.html
+QBitmap Member List | qbitmap-members.html
+QBoxLayout Class | qboxlayout.html
+QBoxLayout Member List | qboxlayout-members.html
+QBrush Class | qbrush.html
+QBrush Member List | qbrush-members.html
+QBuffer Class | qbuffer.html
+QBuffer Member List | qbuffer-members.html
+QButton Class | qbutton.html
+QButton Member List | qbutton-members.html
+QButtonGroup Class | qbuttongroup.html
+QButtonGroup Member List | qbuttongroup-members.html
+QByteArray Class | qbytearray.html
+QByteArray Member List | qbytearray-members.html
+QCDEStyle Class | qcdestyle.html
+QCDEStyle Member List | qcdestyle-members.html
+QCString Class | qcstring.html
+QCString Member List | qcstring-members.html
+QCache Class | qcache.html
+QCache Member List | qcache-members.html
+QCacheIterator Class | qcacheiterator.html
+QCacheIterator Member List | qcacheiterator-members.html
+QCanvas Class | qcanvas.html
+QCanvas Member List | qcanvas-members.html
+QCanvasEllipse Class | qcanvasellipse.html
+QCanvasEllipse Member List | qcanvasellipse-members.html
+QCanvasItem Class | qcanvasitem.html
+QCanvasItem Member List | qcanvasitem-members.html
+QCanvasItemList Class | qcanvasitemlist.html
+QCanvasItemList Member List | qcanvasitemlist-members.html
+QCanvasLine Class | qcanvasline.html
+QCanvasLine Member List | qcanvasline-members.html
+QCanvasPixmap Class | qcanvaspixmap.html
+QCanvasPixmap Member List | qcanvaspixmap-members.html
+QCanvasPixmapArray Class | qcanvaspixmaparray.html
+QCanvasPixmapArray Member List | qcanvaspixmaparray-members.html
+QCanvasPolygon Class | qcanvaspolygon.html
+QCanvasPolygon Member List | qcanvaspolygon-members.html
+QCanvasPolygonalItem Class | qcanvaspolygonalitem.html
+QCanvasPolygonalItem Member List | qcanvaspolygonalitem-members.html
+QCanvasRectangle Class | qcanvasrectangle.html
+QCanvasRectangle Member List | qcanvasrectangle-members.html
+QCanvasSpline Class | qcanvasspline.html
+QCanvasSpline Member List | qcanvasspline-members.html
+QCanvasSprite Class | qcanvassprite.html
+QCanvasSprite Member List | qcanvassprite-members.html
+QCanvasText Class | qcanvastext.html
+QCanvasText Member List | qcanvastext-members.html
+QCanvasView Class | qcanvasview.html
+QCanvasView Member List | qcanvasview-members.html
+QChar Class | qchar.html
+QChar Member List | qchar-members.html
+QCharRef Class | qcharref.html
+QCharRef Member List | qcharref-members.html
+QCheckBox Class | qcheckbox.html
+QCheckBox Member List | qcheckbox-members.html
+QCheckListItem Class | qchecklistitem.html
+QCheckListItem Member List | qchecklistitem-members.html
+QCheckTableItem Class | qchecktableitem.html
+QCheckTableItem Member List | qchecktableitem-members.html
+QChildEvent Class | qchildevent.html
+QChildEvent Member List | qchildevent-members.html
+QClipboard Class | qclipboard.html
+QClipboard Member List | qclipboard-members.html
+QCloseEvent Class | qcloseevent.html
+QCloseEvent Member List | qcloseevent-members.html
+QCollection Class Reference (obsolete) | qcollection.html
+QColor Class | qcolor.html
+QColor Member List | qcolor-members.html
+QColorDialog Class | qcolordialog.html
+QColorDialog Member List | qcolordialog-members.html
+QColorDrag Class | qcolordrag.html
+QColorDrag Member List | qcolordrag-members.html
+QColorGroup Class | qcolorgroup.html
+QColorGroup Member List | qcolorgroup-members.html
+QComboBox Class | qcombobox.html
+QComboBox Member List | qcombobox-members.html
+QComboTableItem Class | qcombotableitem.html
+QComboTableItem Member List | qcombotableitem-members.html
+QCommonStyle Class | qcommonstyle.html
+QCommonStyle Member List | qcommonstyle-members.html
+QConstString Class | qconststring.html
+QConstString Member List | qconststring-members.html
+QContextMenuEvent Class | qcontextmenuevent.html
+QContextMenuEvent Member List | qcontextmenuevent-members.html
+QCopChannel Class | qcopchannel.html
+QCopChannel Member List | qcopchannel-members.html
+QCursor Class | qcursor.html
+QCursor Member List | qcursor-members.html
+QCustomEvent Class | qcustomevent.html
+QCustomEvent Member List | qcustomevent-members.html
+QCustomMenuItem Class | qcustommenuitem.html
+QCustomMenuItem Member List | qcustommenuitem-members.html
+QDataBrowser Class | qdatabrowser.html
+QDataBrowser Member List | qdatabrowser-members.html
+QDataPump Class | qdatapump.html
+QDataPump Member List | qdatapump-members.html
+QDataSink Class | qdatasink.html
+QDataSink Member List | qdatasink-members.html
+QDataSource Class | qdatasource.html
+QDataSource Member List | qdatasource-members.html
+QDataStream Class | qdatastream.html
+QDataStream Member List | qdatastream-members.html
+QDataTable Class | qdatatable.html
+QDataTable Member List | qdatatable-members.html
+QDataView Class | qdataview.html
+QDataView Member List | qdataview-members.html
+QDate Class | qdate.html
+QDate Member List | qdate-members.html
+QDateEdit Class | qdateedit.html
+QDateEdit Member List | qdateedit-members.html
+QDateTime Class | qdatetime.html
+QDateTime Member List | qdatetime-members.html
+QDateTimeEdit Class | qdatetimeedit.html
+QDateTimeEdit Member List | qdatetimeedit-members.html
+QDateTimeEditBase Class | qdatetimeeditbase.html
+QDateTimeEditBase Member List | qdatetimeeditbase-members.html
+QDeepCopy Class | qdeepcopy.html
+QDeepCopy Member List | qdeepcopy-members.html
+QDesktopWidget Class | qdesktopwidget.html
+QDesktopWidget Member List | qdesktopwidget-members.html
+QDial Class | qdial.html
+QDial Member List | qdial-members.html
+QDialog Class | qdialog.html
+QDialog Member List | qdialog-members.html
+QDict Class | qdict.html
+QDict Member List | qdict-members.html
+QDictIterator Class | qdictiterator.html
+QDictIterator Member List | qdictiterator-members.html
+QDir | qdir-example.html
+QDir Class | qdir.html
+QDir Member List | qdir-members.html
+QDirectPainter Class | qdirectpainter.html
+QDirectPainter Member List | qdirectpainter-members.html
+QDns Class | qdns.html
+QDns Member List | qdns-members.html
+QDockArea Class | qdockarea.html
+QDockArea Member List | qdockarea-members.html
+QDockWindow Class | qdockwindow.html
+QDockWindow Member List | qdockwindow-members.html
+QDomAttr Class | qdomattr.html
+QDomAttr Member List | qdomattr-members.html
+QDomCDATASection Class | qdomcdatasection.html
+QDomCDATASection Member List | qdomcdatasection-members.html
+QDomCharacterData Class | qdomcharacterdata.html
+QDomCharacterData Member List | qdomcharacterdata-members.html
+QDomComment Class | qdomcomment.html
+QDomComment Member List | qdomcomment-members.html
+QDomDocument Class | qdomdocument.html
+QDomDocument Member List | qdomdocument-members.html
+QDomDocumentFragment Class | qdomdocumentfragment.html
+QDomDocumentFragment Member List | qdomdocumentfragment-members.html
+QDomDocumentType Class | qdomdocumenttype.html
+QDomDocumentType Member List | qdomdocumenttype-members.html
+QDomElement Class | qdomelement.html
+QDomElement Member List | qdomelement-members.html
+QDomEntity Class | qdomentity.html
+QDomEntity Member List | qdomentity-members.html
+QDomEntityReference Class | qdomentityreference.html
+QDomEntityReference Member List | qdomentityreference-members.html
+QDomImplementation Class | qdomimplementation.html
+QDomImplementation Member List | qdomimplementation-members.html
+QDomNamedNodeMap Class | qdomnamednodemap.html
+QDomNamedNodeMap Member List | qdomnamednodemap-members.html
+QDomNode Class | qdomnode.html
+QDomNode Member List | qdomnode-members.html
+QDomNodeList Class | qdomnodelist.html
+QDomNodeList Member List | qdomnodelist-members.html
+QDomNotation Class | qdomnotation.html
+QDomNotation Member List | qdomnotation-members.html
+QDomProcessingInstruction Class | qdomprocessinginstruction.html
+QDomProcessingInstruction Member List | qdomprocessinginstruction-members.html
+QDomText Class | qdomtext.html
+QDomText Member List | qdomtext-members.html
+QDoubleValidator Class | qdoublevalidator.html
+QDoubleValidator Member List | qdoublevalidator-members.html
+QDragEnterEvent Class | qdragenterevent.html
+QDragEnterEvent Member List | qdragenterevent-members.html
+QDragLeaveEvent Class | qdragleaveevent.html
+QDragLeaveEvent Member List | qdragleaveevent-members.html
+QDragMoveEvent Class | qdragmoveevent.html
+QDragMoveEvent Member List | qdragmoveevent-members.html
+QDragObject Class | qdragobject.html
+QDragObject Member List | qdragobject-members.html
+QDropEvent Class | qdropevent.html
+QDropEvent Member List | qdropevent-members.html
+QDropSite Class | qdropsite.html
+QDropSite Member List | qdropsite-members.html
+QEditorFactory Class | qeditorfactory.html
+QEditorFactory Member List | qeditorfactory-members.html
+QEmbed - File and Image Embedder | qembed.html
+QErrorMessage Class | qerrormessage.html
+QErrorMessage Member List | qerrormessage-members.html
+QEucJpCodec Class | qeucjpcodec.html
+QEucJpCodec Member List | qeucjpcodec-members.html
+QEucKrCodec Class | qeuckrcodec.html
+QEucKrCodec Member List | qeuckrcodec-members.html
+QEvent Class | qevent.html
+QEvent Member List | qevent-members.html
+QEventLoop Class | qeventloop.html
+QEventLoop Member List | qeventloop-members.html
+QFile Class | qfile.html
+QFile Member List | qfile-members.html
+QFileDialog Class | qfiledialog.html
+QFileDialog Member List | qfiledialog-members.html
+QFileIconProvider Class | qfileiconprovider.html
+QFileIconProvider Member List | qfileiconprovider-members.html
+QFileInfo Class | qfileinfo.html
+QFileInfo Member List | qfileinfo-members.html
+QFilePreview Class | qfilepreview.html
+QFilePreview Member List | qfilepreview-members.html
+QFocusData Class | qfocusdata.html
+QFocusData Member List | qfocusdata-members.html
+QFocusEvent Class | qfocusevent.html
+QFocusEvent Member List | qfocusevent-members.html
+QFont Class | qfont.html
+QFont Examples | qfont-examples.html
+QFont Member List | qfont-members.html
+QFontDatabase Class | qfontdatabase.html
+QFontDatabase Member List | qfontdatabase-members.html
+QFontDialog Class | qfontdialog.html
+QFontDialog Member List | qfontdialog-members.html
+QFontInfo Class | qfontinfo.html
+QFontInfo Member List | qfontinfo-members.html
+QFontManager Class | qfontmanager.html
+QFontManager Member List | qfontmanager-members.html
+QFontMetrics Class | qfontmetrics.html
+QFontMetrics Member List | qfontmetrics-members.html
+QFrame Class | qframe.html
+QFrame Member List | qframe-members.html
+QFtp Class | qftp.html
+QFtp Member List | qftp-members.html
+QGL Class | qgl.html
+QGL Member List | qgl-members.html
+QGLColormap Class | qglcolormap.html
+QGLColormap Member List | qglcolormap-members.html
+QGLContext Class | qglcontext.html
+QGLContext Member List | qglcontext-members.html
+QGLFormat Class | qglformat.html
+QGLFormat Member List | qglformat-members.html
+QGLWidget Class | qglwidget.html
+QGLWidget Member List | qglwidget-members.html
+QGLayoutIterator Class | qglayoutiterator.html
+QGLayoutIterator Member List | qglayoutiterator-members.html
+QGb18030Codec Class | qgb18030codec.html
+QGb18030Codec Member List | qgb18030codec-members.html
+QGb2312Codec Class | qgb2312codec.html
+QGb2312Codec Member List | qgb2312codec-members.html
+QGbkCodec Class | qgbkcodec.html
+QGbkCodec Member List | qgbkcodec-members.html
+QGfxDriverFactory Class | qgfxdriverfactory.html
+QGfxDriverFactory Member List | qgfxdriverfactory-members.html
+QGfxDriverPlugin Class | qgfxdriverplugin.html
+QGfxDriverPlugin Member List | qgfxdriverplugin-members.html
+QGrid Class | qgrid.html
+QGrid Member List | qgrid-members.html
+QGridLayout Class | qgridlayout.html
+QGridLayout Member List | qgridlayout-members.html
+QGridView Class | qgridview.html
+QGridView Member List | qgridview-members.html
+QGroupBox Class | qgroupbox.html
+QGroupBox Member List | qgroupbox-members.html
+QGuardedPtr Class | qguardedptr.html
+QGuardedPtr Member List | qguardedptr-members.html
+QHBox Class | qhbox.html
+QHBox Member List | qhbox-members.html
+QHBoxLayout Class | qhboxlayout.html
+QHBoxLayout Member List | qhboxlayout-members.html
+QHButtonGroup Class | qhbuttongroup.html
+QHButtonGroup Member List | qhbuttongroup-members.html
+QHGroupBox Class | qhgroupbox.html
+QHGroupBox Member List | qhgroupbox-members.html
+QHeader Class | qheader.html
+QHeader Member List | qheader-members.html
+QHebrewCodec Class | qhebrewcodec.html
+QHebrewCodec Member List | qhebrewcodec-members.html
+QHideEvent Class | qhideevent.html
+QHideEvent Member List | qhideevent-members.html
+QHostAddress Class | qhostaddress.html
+QHostAddress Member List | qhostaddress-members.html
+QHttp Class | qhttp.html
+QHttp Member List | qhttp-members.html
+QHttpHeader Class | qhttpheader.html
+QHttpHeader Member List | qhttpheader-members.html
+QHttpRequestHeader Class | qhttprequestheader.html
+QHttpRequestHeader Member List | qhttprequestheader-members.html
+QHttpResponseHeader Class | qhttpresponseheader.html
+QHttpResponseHeader Member List | qhttpresponseheader-members.html
+QIMEvent Class | qimevent.html
+QIMEvent Member List | qimevent-members.html
+QIODevice Class | qiodevice.html
+QIODevice Member List | qiodevice-members.html
+QIODeviceSource Class | qiodevicesource.html
+QIODeviceSource Member List | qiodevicesource-members.html
+QIconDrag Class | qicondrag.html
+QIconDrag Member List | qicondrag-members.html
+QIconDragEvent Class | qicondragevent.html
+QIconDragEvent Member List | qicondragevent-members.html
+QIconDragItem Class | qicondragitem.html
+QIconDragItem Member List | qicondragitem-members.html
+QIconFactory Class | qiconfactory.html
+QIconFactory Member List | qiconfactory-members.html
+QIconSet Class | qiconset.html
+QIconSet Member List | qiconset-members.html
+QIconView Class | qiconview.html
+QIconView Member List | qiconview-members.html
+QIconViewItem Class | qiconviewitem.html
+QIconViewItem Member List | qiconviewitem-members.html
+QImage Class | qimage.html
+QImage Member List | qimage-members.html
+QImageConsumer Class | qimageconsumer.html
+QImageConsumer Member List | qimageconsumer-members.html
+QImageDecoder Class | qimagedecoder.html
+QImageDecoder Member List | qimagedecoder-members.html
+QImageDrag Class | qimagedrag.html
+QImageDrag Member List | qimagedrag-members.html
+QImageFormat Class | qimageformat.html
+QImageFormat Member List | qimageformat-members.html
+QImageFormatPlugin Class | qimageformatplugin.html
+QImageFormatPlugin Member List | qimageformatplugin-members.html
+QImageFormatType Class | qimageformattype.html
+QImageFormatType Member List | qimageformattype-members.html
+QImageIO Class | qimageio.html
+QImageIO Member List | qimageio-members.html
+QInputDialog Class | qinputdialog.html
+QInputDialog Member List | qinputdialog-members.html
+QIntCache Class | qintcache.html
+QIntCache Member List | qintcache-members.html
+QIntCacheIterator Class | qintcacheiterator.html
+QIntCacheIterator Member List | qintcacheiterator-members.html
+QIntDict Class | qintdict.html
+QIntDict Member List | qintdict-members.html
+QIntDictIterator Class | qintdictiterator.html
+QIntDictIterator Member List | qintdictiterator-members.html
+QIntValidator Class | qintvalidator.html
+QIntValidator Member List | qintvalidator-members.html
+QJisCodec Class | qjiscodec.html
+QJisCodec Member List | qjiscodec-members.html
+QKbdDriverFactory Class | qkbddriverfactory.html
+QKbdDriverFactory Member List | qkbddriverfactory-members.html
+QKbdDriverPlugin Class | qkbddriverplugin.html
+QKbdDriverPlugin Member List | qkbddriverplugin-members.html
+QKeyEvent Class | qkeyevent.html
+QKeyEvent Member List | qkeyevent-members.html
+QKeySequence Class | qkeysequence.html
+QKeySequence Member List | qkeysequence-members.html
+QLCDNumber Class | qlcdnumber.html
+QLCDNumber Member List | qlcdnumber-members.html
+QLabel Class | qlabel.html
+QLabel Member List | qlabel-members.html
+QLayout Class | qlayout.html
+QLayout Member List | qlayout-members.html
+QLayoutItem Class | qlayoutitem.html
+QLayoutItem Member List | qlayoutitem-members.html
+QLayoutIterator Class | qlayoutiterator.html
+QLayoutIterator Member List | qlayoutiterator-members.html
+QLibrary Class | qlibrary.html
+QLibrary Member List | qlibrary-members.html
+QLineEdit Class | qlineedit.html
+QLineEdit Member List | qlineedit-members.html
+QList Class Reference (obsolete) | qlist.html
+QListBox Class | qlistbox.html
+QListBox Member List | qlistbox-members.html
+QListBoxItem Class | qlistboxitem.html
+QListBoxItem Member List | qlistboxitem-members.html
+QListBoxPixmap Class | qlistboxpixmap.html
+QListBoxPixmap Member List | qlistboxpixmap-members.html
+QListBoxText Class | qlistboxtext.html
+QListBoxText Member List | qlistboxtext-members.html
+QListIterator Class Reference (obsolete) | qlistiterator.html
+QListView Class | qlistview.html
+QListView Member List | qlistview-members.html
+QListViewItem Class | qlistviewitem.html
+QListViewItem Member List | qlistviewitem-members.html
+QListViewItemIterator Class | qlistviewitemiterator.html
+QListViewItemIterator Member List | qlistviewitemiterator-members.html
+QLocalFs Class | qlocalfs.html
+QLocalFs Member List | qlocalfs-members.html
+QLocale Class | qlocale.html
+QLocale Member List | qlocale-members.html
+QMacMime Class | qmacmime.html
+QMacMime Member List | qmacmime-members.html
+QMacStyle Class | qmacstyle.html
+QMacStyle Member List | qmacstyle-members.html
+QMag | qmag-example.html
+QMainWindow Class | qmainwindow.html
+QMainWindow Member List | qmainwindow-members.html
+QMap Class | qmap.html
+QMap Member List | qmap-members.html
+QMapConstIterator Class | qmapconstiterator.html
+QMapConstIterator Member List | qmapconstiterator-members.html
+QMapIterator Class | qmapiterator.html
+QMapIterator Member List | qmapiterator-members.html
+QMemArray Class | qmemarray.html
+QMemArray Member List | qmemarray-members.html
+QMenuBar Class | qmenubar.html
+QMenuBar Member List | qmenubar-members.html
+QMenuData Class | qmenudata.html
+QMenuData Member List | qmenudata-members.html
+QMessageBox Class | qmessagebox.html
+QMessageBox Member List | qmessagebox-members.html
+QMetaObject Class | qmetaobject.html
+QMetaObject Member List | qmetaobject-members.html
+QMetaProperty Class | qmetaproperty.html
+QMetaProperty Member List | qmetaproperty-members.html
+QMimeSource Class | qmimesource.html
+QMimeSource Member List | qmimesource-members.html
+QMimeSourceFactory Class | qmimesourcefactory.html
+QMimeSourceFactory Member List | qmimesourcefactory-members.html
+QMotif Class | qmotif.html
+QMotif Member List | qmotif-members.html
+QMotif Support Extension | motif-examples.html
+QMotifDialog Class | qmotifdialog.html
+QMotifDialog Member List | qmotifdialog-members.html
+QMotifPlusStyle Class | qmotifplusstyle.html
+QMotifPlusStyle Member List | qmotifplusstyle-members.html
+QMotifStyle Class | qmotifstyle.html
+QMotifStyle Member List | qmotifstyle-members.html
+QMotifWidget Class | qmotifwidget.html
+QMotifWidget Member List | qmotifwidget-members.html
+QMouseDriverFactory Class | qmousedriverfactory.html
+QMouseDriverFactory Member List | qmousedriverfactory-members.html
+QMouseDriverPlugin Class | qmousedriverplugin.html
+QMouseDriverPlugin Member List | qmousedriverplugin-members.html
+QMouseEvent Class | qmouseevent.html
+QMouseEvent Member List | qmouseevent-members.html
+QMoveEvent Class | qmoveevent.html
+QMoveEvent Member List | qmoveevent-members.html
+QMovie Class | qmovie.html
+QMovie Member List | qmovie-members.html
+QMultiLineEdit Class | qmultilineedit.html
+QMultiLineEdit Member List | qmultilineedit-members.html
+QMutex Class | qmutex.html
+QMutex Member List | qmutex-members.html
+QMutexLocker Class | qmutexlocker.html
+QMutexLocker Member List | qmutexlocker-members.html
+QNPInstance Class | qnpinstance.html
+QNPInstance Member List | qnpinstance-members.html
+QNPStream Class | qnpstream.html
+QNPStream Member List | qnpstream-members.html
+QNPWidget Class | qnpwidget.html
+QNPWidget Member List | qnpwidget-members.html
+QNPlugin Class | qnplugin.html
+QNPlugin Member List | qnplugin-members.html
+QNetworkOperation Class | qnetworkoperation.html
+QNetworkOperation Member List | qnetworkoperation-members.html
+QNetworkProtocol Class | qnetworkprotocol.html
+QNetworkProtocol Member List | qnetworkprotocol-members.html
+QObject Class | qobject.html
+QObject Member List | qobject-members.html
+QObjectCleanupHandler Class | qobjectcleanuphandler.html
+QObjectCleanupHandler Member List | qobjectcleanuphandler-members.html
+QObjectList Class | qobjectlist.html
+QObjectList Member List | qobjectlist-members.html
+QObjectListIterator Class | qobjectlistiterator.html
+QObjectListIterator Member List | qobjectlistiterator-members.html
+QPNGImagePacker Class | qpngimagepacker.html
+QPNGImagePacker Member List | qpngimagepacker-members.html
+QPaintDevice Class | qpaintdevice.html
+QPaintDevice Member List | qpaintdevice-members.html
+QPaintDeviceMetrics Class | qpaintdevicemetrics.html
+QPaintDeviceMetrics Member List | qpaintdevicemetrics-members.html
+QPaintEvent Class | qpaintevent.html
+QPaintEvent Member List | qpaintevent-members.html
+QPainter Class | qpainter.html
+QPainter Member List | qpainter-members.html
+QPair Class | qpair.html
+QPair Member List | qpair-members.html
+QPalette Class | qpalette.html
+QPalette Member List | qpalette-members.html
+QPen Class | qpen.html
+QPen Member List | qpen-members.html
+QPicture Class | qpicture.html
+QPicture Member List | qpicture-members.html
+QPixmap Class | qpixmap.html
+QPixmap Member List | qpixmap-members.html
+QPixmapCache Class | qpixmapcache.html
+QPixmapCache Member List | qpixmapcache-members.html
+QPlatinumStyle Class | qplatinumstyle.html
+QPlatinumStyle Member List | qplatinumstyle-members.html
+QPoint Class | qpoint.html
+QPoint Member List | qpoint-members.html
+QPointArray Class | qpointarray.html
+QPointArray Member List | qpointarray-members.html
+QPopupMenu Class | qpopupmenu.html
+QPopupMenu Member List | qpopupmenu-members.html
+QPrinter Class | qprinter.html
+QPrinter Member List | qprinter-members.html
+QProcess Class | qprocess.html
+QProcess Examples | qprocess-examples.html
+QProcess Member List | qprocess-members.html
+QProgressBar Class | qprogressbar.html
+QProgressBar Member List | qprogressbar-members.html
+QProgressDialog Class | qprogressdialog.html
+QProgressDialog Member List | qprogressdialog-members.html
+QPtrCollection Class | qptrcollection.html
+QPtrCollection Member List | qptrcollection-members.html
+QPtrDict Class | qptrdict.html
+QPtrDict Member List | qptrdict-members.html
+QPtrDictIterator Class | qptrdictiterator.html
+QPtrDictIterator Member List | qptrdictiterator-members.html
+QPtrList Class | qptrlist.html
+QPtrList Member List | qptrlist-members.html
+QPtrListIterator Class | qptrlistiterator.html
+QPtrListIterator Member List | qptrlistiterator-members.html
+QPtrQueue Class | qptrqueue.html
+QPtrQueue Member List | qptrqueue-members.html
+QPtrStack Class | qptrstack.html
+QPtrStack Member List | qptrstack-members.html
+QPtrVector Class | qptrvector.html
+QPtrVector Member List | qptrvector-members.html
+QPushButton Class | qpushbutton.html
+QPushButton Member List | qpushbutton-members.html
+QQueue Class Reference (obsolete) | qqueue.html
+QRadioButton Class | qradiobutton.html
+QRadioButton Member List | qradiobutton-members.html
+QRangeControl Class | qrangecontrol.html
+QRangeControl Member List | qrangecontrol-members.html
+QRect Class | qrect.html
+QRect Member List | qrect-members.html
+QRegExp Class | qregexp.html
+QRegExp Member List | qregexp-members.html
+QRegExpValidator Class | qregexpvalidator.html
+QRegExpValidator Member List | qregexpvalidator-members.html
+QRegion Class | qregion.html
+QRegion Member List | qregion-members.html
+QResizeEvent Class | qresizeevent.html
+QResizeEvent Member List | qresizeevent-members.html
+QSGIStyle Class | qsgistyle.html
+QSGIStyle Member List | qsgistyle-members.html
+QScreen Class | qscreen.html
+QScreen Member List | qscreen-members.html
+QScrollBar Class | qscrollbar.html
+QScrollBar Member List | qscrollbar-members.html
+QScrollView Class | qscrollview.html
+QScrollView Member List | qscrollview-members.html
+QSemaphore Class | qsemaphore.html
+QSemaphore Member List | qsemaphore-members.html
+QServerSocket Class | qserversocket.html
+QServerSocket Member List | qserversocket-members.html
+QSessionManager Class | qsessionmanager.html
+QSessionManager Member List | qsessionmanager-members.html
+QSettings Class | qsettings.html
+QSettings Member List | qsettings-members.html
+QShowEvent Class | qshowevent.html
+QShowEvent Member List | qshowevent-members.html
+QSignal Class | qsignal.html
+QSignal Member List | qsignal-members.html
+QSignalMapper Class | qsignalmapper.html
+QSignalMapper Member List | qsignalmapper-members.html
+QSimpleRichText Class | qsimplerichtext.html
+QSimpleRichText Member List | qsimplerichtext-members.html
+QSize Class | qsize.html
+QSize Member List | qsize-members.html
+QSizeGrip Class | qsizegrip.html
+QSizeGrip Member List | qsizegrip-members.html
+QSizePolicy Class | qsizepolicy.html
+QSizePolicy Member List | qsizepolicy-members.html
+QSjisCodec Class | qsjiscodec.html
+QSjisCodec Member List | qsjiscodec-members.html
+QSlider Class | qslider.html
+QSlider Member List | qslider-members.html
+QSocket Class | qsocket.html
+QSocket Member List | qsocket-members.html
+QSocketDevice Class | qsocketdevice.html
+QSocketDevice Member List | qsocketdevice-members.html
+QSocketNotifier Class | qsocketnotifier.html
+QSocketNotifier Member List | qsocketnotifier-members.html
+QSortedList Class | qsortedlist.html
+QSortedList Member List | qsortedlist-members.html
+QSound Class | qsound.html
+QSound Member List | qsound-members.html
+QSpacerItem Class | qspaceritem.html
+QSpacerItem Member List | qspaceritem-members.html
+QSpinBox Class | qspinbox.html
+QSpinBox Member List | qspinbox-members.html
+QSplashScreen Class | qsplashscreen.html
+QSplashScreen Member List | qsplashscreen-members.html
+QSplitter Class | qsplitter.html
+QSplitter Member List | qsplitter-members.html
+QSql Class | qsql.html
+QSql Member List | qsql-members.html
+QSqlCursor Class | qsqlcursor.html
+QSqlCursor Member List | qsqlcursor-members.html
+QSqlDatabase Class | qsqldatabase.html
+QSqlDatabase Member List | qsqldatabase-members.html
+QSqlDriver Class | qsqldriver.html
+QSqlDriver Member List | qsqldriver-members.html
+QSqlDriverPlugin Class | qsqldriverplugin.html
+QSqlDriverPlugin Member List | qsqldriverplugin-members.html
+QSqlEditorFactory Class | qsqleditorfactory.html
+QSqlEditorFactory Member List | qsqleditorfactory-members.html
+QSqlError Class | qsqlerror.html
+QSqlError Member List | qsqlerror-members.html
+QSqlField Class | qsqlfield.html
+QSqlField Member List | qsqlfield-members.html
+QSqlFieldInfo Class | qsqlfieldinfo.html
+QSqlFieldInfo Member List | qsqlfieldinfo-members.html
+QSqlForm Class | qsqlform.html
+QSqlForm Member List | qsqlform-members.html
+QSqlIndex Class | qsqlindex.html
+QSqlIndex Member List | qsqlindex-members.html
+QSqlPropertyMap Class | qsqlpropertymap.html
+QSqlPropertyMap Member List | qsqlpropertymap-members.html
+QSqlQuery Class | qsqlquery.html
+QSqlQuery Member List | qsqlquery-members.html
+QSqlRecord Class | qsqlrecord.html
+QSqlRecord Member List | qsqlrecord-members.html
+QSqlRecordInfo Class | qsqlrecordinfo.html
+QSqlRecordInfo Member List | qsqlrecordinfo-members.html
+QSqlResult Class | qsqlresult.html
+QSqlResult Member List | qsqlresult-members.html
+QSqlSelectCursor Class | qsqlselectcursor.html
+QSqlSelectCursor Member List | qsqlselectcursor-members.html
+QStack Class Reference (obsolete) | qstack.html
+QStatusBar Class | qstatusbar.html
+QStatusBar Member List | qstatusbar-members.html
+QStoredDrag Class | qstoreddrag.html
+QStoredDrag Member List | qstoreddrag-members.html
+QStrIList Class | qstrilist.html
+QStrIList Member List | qstrilist-members.html
+QStrList Class | qstrlist.html
+QStrList Member List | qstrlist-members.html
+QStrListIterator Class | qstrlistiterator.html
+QStrListIterator Member List | qstrlistiterator-members.html
+QString Class | qstring.html
+QString Member List | qstring-members.html
+QStringList Class | qstringlist.html
+QStringList Member List | qstringlist-members.html
+QStyle Class | qstyle.html
+QStyle Member List | qstyle-members.html
+QStyleFactory Class | qstylefactory.html
+QStyleFactory Member List | qstylefactory-members.html
+QStyleOption Class | qstyleoption.html
+QStyleOption Member List | qstyleoption-members.html
+QStylePlugin Class | qstyleplugin.html
+QStylePlugin Member List | qstyleplugin-members.html
+QStyleSheet Class | qstylesheet.html
+QStyleSheet Member List | qstylesheet-members.html
+QStyleSheetItem Class | qstylesheetitem.html
+QStyleSheetItem Member List | qstylesheetitem-members.html
+QSyntaxHighlighter Class | qsyntaxhighlighter.html
+QSyntaxHighlighter Member List | qsyntaxhighlighter-members.html
+QTab Class | qtab.html
+QTab Member List | qtab-members.html
+QTabBar Class | qtabbar.html
+QTabBar Member List | qtabbar-members.html
+QTabDialog Class | qtabdialog.html
+QTabDialog Member List | qtabdialog-members.html
+QTabWidget Class | qtabwidget.html
+QTabWidget Member List | qtabwidget-members.html
+QTable Class | qtable.html
+QTable Member List | qtable-members.html
+QTableItem Class | qtableitem.html
+QTableItem Member List | qtableitem-members.html
+QTableSelection Class | qtableselection.html
+QTableSelection Member List | qtableselection-members.html
+QTabletEvent Class | qtabletevent.html
+QTabletEvent Member List | qtabletevent-members.html
+QTextBrowser Class | qtextbrowser.html
+QTextBrowser Member List | qtextbrowser-members.html
+QTextCodec Class | qtextcodec.html
+QTextCodec Member List | qtextcodec-members.html
+QTextCodecPlugin Class | qtextcodecplugin.html
+QTextCodecPlugin Member List | qtextcodecplugin-members.html
+QTextDecoder Class | qtextdecoder.html
+QTextDecoder Member List | qtextdecoder-members.html
+QTextDrag Class | qtextdrag.html
+QTextDrag Member List | qtextdrag-members.html
+QTextEdit Class | qtextedit.html
+QTextEdit Member List | qtextedit-members.html
+QTextEncoder Class | qtextencoder.html
+QTextEncoder Member List | qtextencoder-members.html
+QTextIStream Class | qtextistream.html
+QTextIStream Member List | qtextistream-members.html
+QTextOStream Class | qtextostream.html
+QTextOStream Member List | qtextostream-members.html
+QTextStream Class | qtextstream.html
+QTextStream Member List | qtextstream-members.html
+QTextView Class | qtextview.html
+QTextView Member List | qtextview-members.html
+QThread Class | qthread.html
+QThread Member List | qthread-members.html
+QThreadStorage Class | qthreadstorage.html
+QThreadStorage Member List | qthreadstorage-members.html
+QTime Class | qtime.html
+QTime Member List | qtime-members.html
+QTimeEdit Class | qtimeedit.html
+QTimeEdit Member List | qtimeedit-members.html
+QTimer Class | qtimer.html
+QTimer Member List | qtimer-members.html
+QTimerEvent Class | qtimerevent.html
+QTimerEvent Member List | qtimerevent-members.html
+QToolBar Class | qtoolbar.html
+QToolBar Member List | qtoolbar-members.html
+QToolBox Class | qtoolbox.html
+QToolBox Member List | qtoolbox-members.html
+QToolButton Class | qtoolbutton.html
+QToolButton Member List | qtoolbutton-members.html
+QToolTip Class | qtooltip.html
+QToolTip Member List | qtooltip-members.html
+QToolTipGroup Class | qtooltipgroup.html
+QToolTipGroup Member List | qtooltipgroup-members.html
+QTranslator Class | qtranslator.html
+QTranslator Member List | qtranslator-members.html
+QTranslatorMessage Class | qtranslatormessage.html
+QTranslatorMessage Member List | qtranslatormessage-members.html
+QTsciiCodec Class | qtsciicodec.html
+QTsciiCodec Member List | qtsciicodec-members.html
+QUriDrag Class | quridrag.html
+QUriDrag Member List | quridrag-members.html
+QUrl Class | qurl.html
+QUrl Member List | qurl-members.html
+QUrlInfo Class | qurlinfo.html
+QUrlInfo Member List | qurlinfo-members.html
+QUrlOperator Class | qurloperator.html
+QUrlOperator Member List | qurloperator-members.html
+QUuid Class | quuid.html
+QUuid Member List | quuid-members.html
+QVBox Class | qvbox.html
+QVBox Member List | qvbox-members.html
+QVBoxLayout Class | qvboxlayout.html
+QVBoxLayout Member List | qvboxlayout-members.html
+QVButtonGroup Class | qvbuttongroup.html
+QVButtonGroup Member List | qvbuttongroup-members.html
+QVGroupBox Class | qvgroupbox.html
+QVGroupBox Member List | qvgroupbox-members.html
+QValidator Class | qvalidator.html
+QValidator Member List | qvalidator-members.html
+QValueList Class | qvaluelist.html
+QValueList Member List | qvaluelist-members.html
+QValueListConstIterator Class | qvaluelistconstiterator.html
+QValueListConstIterator Member List | qvaluelistconstiterator-members.html
+QValueListIterator Class | qvaluelistiterator.html
+QValueListIterator Member List | qvaluelistiterator-members.html
+QValueStack Class | qvaluestack.html
+QValueStack Member List | qvaluestack-members.html
+QValueVector Class | qvaluevector.html
+QValueVector Member List | qvaluevector-members.html
+QVariant Class | qvariant.html
+QVariant Member List | qvariant-members.html
+QVector Class Reference (obsolete) | qvector.html
+QWMatrix Class | qwmatrix.html
+QWMatrix Member List | qwmatrix-members.html
+QWSDecoration Class | qwsdecoration.html
+QWSDecoration Member List | qwsdecoration-members.html
+QWSInputMethod Class | qwsinputmethod.html
+QWSInputMethod Member List | qwsinputmethod-members.html
+QWSKeyboardHandler Class | qwskeyboardhandler.html
+QWSKeyboardHandler Member List | qwskeyboardhandler-members.html
+QWSMouseHandler Class | qwsmousehandler.html
+QWSMouseHandler Member List | qwsmousehandler-members.html
+QWSServer Class | qwsserver.html
+QWSServer Member List | qwsserver-members.html
+QWSWindow Class | qwswindow.html
+QWSWindow Member List | qwswindow-members.html
+QWaitCondition Class | qwaitcondition.html
+QWaitCondition Member List | qwaitcondition-members.html
+QWhatsThis Class | qwhatsthis.html
+QWhatsThis Member List | qwhatsthis-members.html
+QWheelEvent Class | qwheelevent.html
+QWheelEvent Member List | qwheelevent-members.html
+QWidget Class | qwidget.html
+QWidget Member List | qwidget-members.html
+QWidgetFactory Class | qwidgetfactory.html
+QWidgetFactory Member List | qwidgetfactory-members.html
+QWidgetItem Class | qwidgetitem.html
+QWidgetItem Member List | qwidgetitem-members.html
+QWidgetPlugin Class | qwidgetplugin.html
+QWidgetPlugin Member List | qwidgetplugin-members.html
+QWidgetStack Class | qwidgetstack.html
+QWidgetStack Member List | qwidgetstack-members.html
+QWindowsMime Class | qwindowsmime.html
+QWindowsMime Member List | qwindowsmime-members.html
+QWindowsStyle Class | qwindowsstyle.html
+QWindowsStyle Member List | qwindowsstyle-members.html
+QWizard Class | qwizard.html
+QWizard Member List | qwizard-members.html
+QWorkspace Class | qworkspace.html
+QWorkspace Member List | qworkspace-members.html
+QXmlAttributes Class | qxmlattributes.html
+QXmlAttributes Member List | qxmlattributes-members.html
+QXmlContentHandler Class | qxmlcontenthandler.html
+QXmlContentHandler Member List | qxmlcontenthandler-members.html
+QXmlDTDHandler Class | qxmldtdhandler.html
+QXmlDTDHandler Member List | qxmldtdhandler-members.html
+QXmlDeclHandler Class | qxmldeclhandler.html
+QXmlDeclHandler Member List | qxmldeclhandler-members.html
+QXmlDefaultHandler Class | qxmldefaulthandler.html
+QXmlDefaultHandler Member List | qxmldefaulthandler-members.html
+QXmlEntityResolver Class | qxmlentityresolver.html
+QXmlEntityResolver Member List | qxmlentityresolver-members.html
+QXmlErrorHandler Class | qxmlerrorhandler.html
+QXmlErrorHandler Member List | qxmlerrorhandler-members.html
+QXmlInputSource Class | qxmlinputsource.html
+QXmlInputSource Member List | qxmlinputsource-members.html
+QXmlLexicalHandler Class | qxmllexicalhandler.html
+QXmlLexicalHandler Member List | qxmllexicalhandler-members.html
+QXmlLocator Class | qxmllocator.html
+QXmlLocator Member List | qxmllocator-members.html
+QXmlNamespaceSupport Class | qxmlnamespacesupport.html
+QXmlNamespaceSupport Member List | qxmlnamespacesupport-members.html
+QXmlParseException Class | qxmlparseexception.html
+QXmlParseException Member List | qxmlparseexception-members.html
+QXmlReader Class | qxmlreader.html
+QXmlReader Member List | qxmlreader-members.html
+QXmlSimpleReader Class | qxmlsimplereader.html
+QXmlSimpleReader Member List | qxmlsimplereader-members.html
+QXtWidget Class | qxtwidget.html
+QXtWidget Member List | qxtwidget-members.html
+Qt Class | qt.html
+Qt Commercial Editions | commercialeditions.html
+Qt Demo | demo-example.html
+Qt Distribution Example | distributor-example.html
+Qt Editions | editions.html
+Qt Member List | qt-members.html
+Qt Motif Extension | motif-extension.html
+Qt Motif Extension - A Migration Walkthrough | motif-walkthrough.html
+Qt Netscape Plugin Extension | netscape-plugin.html
+Qt Object Model | object.html
+Qt Open Source Edition | opensourceedition.html
+Qt Open Source Edition License Agreement | license.html
+Qt OpenGL 3D Graphics | opengl.html
+Qt Plugins HOWTO | plugins-howto.html
+Qt Reference Documentation (Open Source Edition) | index.html
+Qt SQL Examples | sql-examples.html
+Qt Template Library | qt-template-lib.html
+Qt Template Library Classes | qtl.html
+Qt Tutorial #1 - The 14 Steps | tutorial.html
+Qt Tutorial - Chapter 10: Smooth as Silk | tutorial1-10.html
+Qt Tutorial - Chapter 11: Giving It a Shot | tutorial1-11.html
+Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't | tutorial1-12.html
+Qt Tutorial - Chapter 13: Game Over | tutorial1-13.html
+Qt Tutorial - Chapter 14: Facing the Wall | tutorial1-14.html
+Qt Tutorial - Chapter 1: Hello, World! | tutorial1-01.html
+Qt Tutorial - Chapter 2: Calling it Quits | tutorial1-02.html
+Qt Tutorial - Chapter 3: Family Values | tutorial1-03.html
+Qt Tutorial - Chapter 4: Let There Be Widgets | tutorial1-04.html
+Qt Tutorial - Chapter 5: Building Blocks | tutorial1-05.html
+Qt Tutorial - Chapter 6: Building Blocks Galore! | tutorial1-06.html
+Qt Tutorial - Chapter 7: One Thing Leads to Another | tutorial1-07.html
+Qt Tutorial - Chapter 8: Preparing for Battle | tutorial1-08.html
+Qt Tutorial - Chapter 9: With Cannon You Can | tutorial1-09.html
+Qt Widget Hierarchy | qaxserver-demo-hierarchy.html
+Qt Widget Hierarchy (in-process) | qaxserver-example-hierarchy.html
+Qt XML Examples | xml-examples.html
+Qt' OpenGL widgets as an ActiveX (executable) | qaxserver-example-opengl.html
+Qt's Classes | classes.html
+Qt's Main Classes | mainclasses.html
+Qt's Tools | tools-list.html
+Qt/Embedded | qws.html
+Qt/Embedded Performance Tuning | emb-performance.html
+Qt/Embedded Pointer Handling | emb-pointer.html
+Qt/Embedded Virtual Framebuffer | emb-qvfb.html
+Qt/Embedded as a VNC Server | emb-vnc.html
+Qt/Embedded environment variables | emb-envvars.html
+Qt/Mac Issues | mac-differences.html
+Qt/Mac is Mac OS X Native | qtmac-as-native.html
+Range controls | rangecontrols-example.html
+Refactoring Existing Code | motif-walkthrough-7.html
+Replacing the Print Dialog | motif-walkthrough-9.html
+Replacing the View Widget | motif-walkthrough-8.html
+Richtext | richtext-example.html
+Rot13 | rot-example.html
+Running Qt/Embedded applications | emb-running.html
+SQL Module | sql.html
+SQL Module - Drivers | sql-driver.html
+SQL Table | sqltable-example.html
+Scrollview | scrollview-example.html
+Session Management | session.html
+Setting Options | tutorial2-09.html
+Setting the Application Icon | appicon.html
+Shared Classes | shclass.html
+Show Image | showimg-example.html
+Signals and Slots | signalsandslots.html
+Simple Addressbook | addressbook-example.html
+Simple Filemanager | fileiconview-example.html
+Simple HTML Help Browser | helpviewer-example.html
+Simple Painting Application | scribble-example.html
+Simple editor that can load encodings | qwerty-example.html
+Small Table Example | small-table-example-example.html
+Sound Example | sound-example.html
+Splitter | splitter-example.html
+Standard Accelerator Keys | accelerators.html
+Standard Qt widgets as ActiveX controls (in-process) | qaxserver-example-wrapper.html
+Standard Qt widgets in an HTML page | qaxserver-demo-wrapper.html
+Starting processes with IO redirection | process-example.html
+Step-by-step Examples | step-by-step-examples.html
+Style overview | customstyles.html
+Tabdialog | tabdialog-example.html
+Table Example | statistics-example.html
+Table Examples | table-examples.html
+Table Module | table.html
+Table of Prime Numbers 2-9999 | primes.html
+Tablet Example | tablet-example.html
+Taking Data | tutorial2-08.html
+Tetrix | tetrix-example.html
+Text Edit Example | textedit-example.html
+Text Related Classes | text.html
+Thanks! | credits.html
+The 'Big Picture' | tutorial2-02.html
+The ActiveQt framework | activeqt.html
+The Coordinate System | coordsys.html
+The DumpDoc Tool | activeqt-tools-dumpdoc.html
+The Feature Definition File | emb-features.html
+The IDC Tool | activeqt-tools-idc.html
+The Project File | tutorial2-10.html
+The QAxContainer Examples | qaxcontainer-examples.html
+The QAxContainer Module | qaxcontainer.html
+The QAxServer Examples | qaxserver-examples.html
+The QAxServer Module | qaxserver.html
+The Qt FAQ | faq.html
+The Qt/Embedded-specific classes | emb-classes.html
+Themes (Styles) | themes-example.html
+Thread Support in Qt | threads.html
+Threading | thread.html
+Tic Tac Toe | tictac-example.html
+Time and Date | time.html
+Timers | timers.html
+Toplevel Widgets | toplevel-example.html
+Trademarks | trademarks.html
+Transformed Graphics Demo | xform-example.html
+Trivial Example | trivial-nsplugin-example.html
+Tutorial #2 | tutorial2.html
+Two simple Qt widgets | qaxserver-demo-multiple.html
+Two simple Qt widgets (in-process) | qaxserver-example-multiple.html
+User Interface Compiler (uic) | uic.html
+Using Custom QDialogs | motif-walkthrough-4.html
+Using Existing Dialogs with QMotifDialog | motif-walkthrough-5.html
+Using Qt Main Window Classes | motif-walkthrough-6.html
+Using Qt Standard Dialogs | motif-walkthrough-3.html
+Using menus | menu-example.html
+Using the Meta Object Compiler | moc.html
+Using the Motif Event Loop | motif-customwidget-example.html
+Walkthrough: A Simple Application | simple-application.html
+Walkthrough: How to use the Qt SAX2 classes | xml-sax-walkthrough.html
+Walkthrough: Using Qt objects in Microsoft .NET | activeqt-dotnet.html
+Walkthrough: Using SAX2 features with the Qt XML classes | xml-sax-features-walkthrough.html
+Why doesn't Qt use templates for signals and slots? | templates.html
+Widget Appearance and Style | appearance.html
+Widgets Example | widgets-example.html
+Window Geometry | geometry.html
+Window System-specific Notes | winsystem.html
+Wizard | wizard-example.html
+Workspace Module | workspace.html
+Wrapping Up | tutorial2-11.html
+Writing your own layout manager | customlayout.html
+XML | xml-tools.html
+XML Module | xml.html
+Year 2000 Compliance Statement | y2k.html
+chart/canvastext.h Example File | chart-canvastext-h.html
+chart/canvasview.cpp Example File | chart-canvasview-cpp.html
+chart/canvasview.h Example File | chart-canvasview-h.html
+chart/chart.pro Example File | chart-chart-pro.html
+chart/chartform.cpp Example File | chart-chartform-cpp.html
+chart/chartform.h Example File | chart-chartform-h.html
+chart/chartform_canvas.cpp Example File | chart-chartform_canvas-cpp.html
+chart/chartform_files.cpp Example File | chart-chartform_files-cpp.html
+chart/element.cpp Example File | chart-element-cpp.html
+chart/element.h Example File | chart-element-h.html
+chart/main.cpp Example File | chart-main-cpp.html
+chart/optionsform.cpp Example File | chart-optionsform-cpp.html
+chart/optionsform.h Example File | chart-optionsform-h.html
+chart/setdataform.cpp Example File | chart-setdataform-cpp.html
+chart/setdataform.h Example File | chart-setdataform-h.html
+iconview/simple_dd/main.cpp Example File | iconview-simple_dd-main-cpp.html
+iconview/simple_dd/main.h Example File | iconview-simple_dd-main-h.html
+makeqpf | makeqpf.html
+qaccel.h Include File | qaccel-h.html
+qaccessible.h Include File | qaccessible-h.html
+qaction.h Include File | qaction-h.html
+qapplication.h Include File | qapplication-h.html
+qasciicache.h Include File | qasciicache-h.html
+qasciidict.h Include File | qasciidict-h.html
+qassistantclient.h Include File | qassistantclient-h.html
+qasyncimageio.h Include File | qasyncimageio-h.html
+qasyncio.h Include File | qasyncio-h.html
+qaxbase.h Include File | qaxbase-h.html
+qaxbindable.h Include File | qaxbindable-h.html
+qaxfactory.h Include File | qaxfactory-h.html
+qaxobject.h Include File | qaxobject-h.html
+qaxscript.h Include File | qaxscript-h.html
+qaxwidget.h Include File | qaxwidget-h.html
+qbig5codec.h Include File | qbig5codec-h.html
+qbitarray.h Include File | qbitarray-h.html
+qbitmap.h Include File | qbitmap-h.html
+qbrush.h Include File | qbrush-h.html
+qbuffer.h Include File | qbuffer-h.html
+qbutton.h Include File | qbutton-h.html
+qbuttongroup.h Include File | qbuttongroup-h.html
+qcache.h Include File | qcache-h.html
+qcanvas.h Include File | qcanvas-h.html
+qcdestyle.h Include File | qcdestyle-h.html
+qcheckbox.h Include File | qcheckbox-h.html
+qclipboard.h Include File | qclipboard-h.html
+qcolor.h Include File | qcolor-h.html
+qcolordialog.h Include File | qcolordialog-h.html
+qcombobox.h Include File | qcombobox-h.html
+qcommonstyle.h Include File | qcommonstyle-h.html
+qcopchannel_qws.h Include File | qcopchannel_qws-h.html
+qcstring.h Include File | qcstring-h.html
+qcursor.h Include File | qcursor-h.html
+qdatabrowser.h Include File | qdatabrowser-h.html
+qdatastream.h Include File | qdatastream-h.html
+qdatatable.h Include File | qdatatable-h.html
+qdataview.h Include File | qdataview-h.html
+qdatetime.h Include File | qdatetime-h.html
+qdatetimeedit.h Include File | qdatetimeedit-h.html
+qdeepcopy.h Include File | qdeepcopy-h.html
+qdesktopwidget.h Include File | qdesktopwidget-h.html
+qdial.h Include File | qdial-h.html
+qdialog.h Include File | qdialog-h.html
+qdict.h Include File | qdict-h.html
+qdir.h Include File | qdir-h.html
+qdirectpainter_qws.h Include File | qdirectpainter_qws-h.html
+qdns.h Include File | qdns-h.html
+qdockarea.h Include File | qdockarea-h.html
+qdockwindow.h Include File | qdockwindow-h.html
+qdom.h Include File | qdom-h.html
+qdragobject.h Include File | qdragobject-h.html
+qdrawutil.h Include File | qdrawutil-h.html
+qdropsite.h Include File | qdropsite-h.html
+qeditorfactory.h Include File | qeditorfactory-h.html
+qerrormessage.h Include File | qerrormessage-h.html
+qeucjpcodec.h Include File | qeucjpcodec-h.html
+qeuckrcodec.h Include File | qeuckrcodec-h.html
+qevent.h Include File | qevent-h.html
+qeventloop.h Include File | qeventloop-h.html
+qfile.h Include File | qfile-h.html
+qfiledialog.h Include File | qfiledialog-h.html
+qfileinfo.h Include File | qfileinfo-h.html
+qfocusdata.h Include File | qfocusdata-h.html
+qfont.h Include File | qfont-h.html
+qfontdatabase.h Include File | qfontdatabase-h.html
+qfontdialog.h Include File | qfontdialog-h.html
+qfontinfo.h Include File | qfontinfo-h.html
+qfontmanager_qws.h Include File | qfontmanager_qws-h.html
+qfontmetrics.h Include File | qfontmetrics-h.html
+qframe.h Include File | qframe-h.html
+qftp.h Include File | qftp-h.html
+qgb18030codec.h Include File | qgb18030codec-h.html
+qgfx_qws.h Include File | qgfx_qws-h.html
+qgfxdriverfactory_qws.h Include File | qgfxdriverfactory_qws-h.html
+qgfxdriverplugin_qws.h Include File | qgfxdriverplugin_qws-h.html
+qgl.h Include File | qgl-h.html
+qglcolormap.h Include File | qglcolormap-h.html
+qglobal.h Include File | qglobal-h.html
+qgrid.h Include File | qgrid-h.html
+qgridview.h Include File | qgridview-h.html
+qgroupbox.h Include File | qgroupbox-h.html
+qguardedptr.h Include File | qguardedptr-h.html
+qhbox.h Include File | qhbox-h.html
+qhbuttongroup.h Include File | qhbuttongroup-h.html
+qheader.h Include File | qheader-h.html
+qhgroupbox.h Include File | qhgroupbox-h.html
+qhostaddress.h Include File | qhostaddress-h.html
+qhttp.h Include File | qhttp-h.html
+qiconset.h Include File | qiconset-h.html
+qiconview.h Include File | qiconview-h.html
+qimage.h Include File | qimage-h.html
+qimageformatplugin.h Include File | qimageformatplugin-h.html
+qinputdialog.h Include File | qinputdialog-h.html
+qintcache.h Include File | qintcache-h.html
+qintdict.h Include File | qintdict-h.html
+qiodevice.h Include File | qiodevice-h.html
+qjiscodec.h Include File | qjiscodec-h.html
+qkbddriverfactory_qws.h Include File | qkbddriverfactory_qws-h.html
+qkbddriverplugin_qws.h Include File | qkbddriverplugin_qws-h.html
+qkeyboard_qws.h Include File | qkeyboard_qws-h.html
+qkeysequence.h Include File | qkeysequence-h.html
+qlabel.h Include File | qlabel-h.html
+qlayout.h Include File | qlayout-h.html
+qlcdnumber.h Include File | qlcdnumber-h.html
+qlibrary.h Include File | qlibrary-h.html
+qlineedit.h Include File | qlineedit-h.html
+qlistbox.h Include File | qlistbox-h.html
+qlistview.h Include File | qlistview-h.html
+qlocale.h Include File | qlocale-h.html
+qlocalfs.h Include File | qlocalfs-h.html
+qmacstyle_mac.h Include File | qmacstyle_mac-h.html
+qmainwindow.h Include File | qmainwindow-h.html
+qmap.h Include File | qmap-h.html
+qmemarray.h Include File | qmemarray-h.html
+qmenubar.h Include File | qmenubar-h.html
+qmenudata.h Include File | qmenudata-h.html
+qmessagebox.h Include File | qmessagebox-h.html
+qmetaobject.h Include File | qmetaobject-h.html
+qmime.h Include File | qmime-h.html
+qmotif.h Include File | qmotif-h.html
+qmotifdialog.h Include File | qmotifdialog-h.html
+qmotifplusstyle.h Include File | qmotifplusstyle-h.html
+qmotifstyle.h Include File | qmotifstyle-h.html
+qmotifwidget.h Include File | qmotifwidget-h.html
+qmouse_qws.h Include File | qmouse_qws-h.html
+qmousedriverfactory_qws.h Include File | qmousedriverfactory_qws-h.html
+qmousedriverplugin_qws.h Include File | qmousedriverplugin_qws-h.html
+qmovie.h Include File | qmovie-h.html
+qmultilineedit.h Include File | qmultilineedit-h.html
+qmutex.h Include File | qmutex-h.html
+qnamespace.h Include File | qnamespace-h.html
+qnetwork.h Example File | qnetwork-h.html
+qnetworkprotocol.h Include File | qnetworkprotocol-h.html
+qnp.h Include File | qnp-h.html
+qobject.h Include File | qobject-h.html
+qobjectcleanuphandler.h Include File | qobjectcleanuphandler-h.html
+qobjectlist.h Include File | qobjectlist-h.html
+qpaintdevice.h Include File | qpaintdevice-h.html
+qpaintdevicemetrics.h Include File | qpaintdevicemetrics-h.html
+qpainter.h Include File | qpainter-h.html
+qpair.h Include File | qpair-h.html
+qpalette.h Include File | qpalette-h.html
+qpen.h Include File | qpen-h.html
+qpicture.h Include File | qpicture-h.html
+qpixmap.h Include File | qpixmap-h.html
+qpixmapcache.h Include File | qpixmapcache-h.html
+qplatinumstyle.h Include File | qplatinumstyle-h.html
+qpngio.h Include File | qpngio-h.html
+qpoint.h Include File | qpoint-h.html
+qpointarray.h Include File | qpointarray-h.html
+qpopupmenu.h Include File | qpopupmenu-h.html
+qprinter.h Include File | qprinter-h.html
+qprocess.h Include File | qprocess-h.html
+qprogressbar.h Include File | qprogressbar-h.html
+qprogressdialog.h Include File | qprogressdialog-h.html
+qptrcollection.h Include File | qptrcollection-h.html
+qptrdict.h Include File | qptrdict-h.html
+qptrlist.h Include File | qptrlist-h.html
+qptrqueue.h Include File | qptrqueue-h.html
+qptrstack.h Include File | qptrstack-h.html
+qptrvector.h Include File | qptrvector-h.html
+qpushbutton.h Include File | qpushbutton-h.html
+qradiobutton.h Include File | qradiobutton-h.html
+qrangecontrol.h Include File | qrangecontrol-h.html
+qrect.h Include File | qrect-h.html
+qregexp.h Include File | qregexp-h.html
+qregion.h Include File | qregion-h.html
+qrtlcodec.h Include File | qrtlcodec-h.html
+qscrollbar.h Include File | qscrollbar-h.html
+qscrollview.h Include File | qscrollview-h.html
+qsemaphore.h Include File | qsemaphore-h.html
+qserversocket.h Include File | qserversocket-h.html
+qsessionmanager.h Include File | qsessionmanager-h.html
+qsettings.h Include File | qsettings-h.html
+qsgistyle.h Include File | qsgistyle-h.html
+qsignal.h Include File | qsignal-h.html
+qsignalmapper.h Include File | qsignalmapper-h.html
+qsimplerichtext.h Include File | qsimplerichtext-h.html
+qsize.h Include File | qsize-h.html
+qsizegrip.h Include File | qsizegrip-h.html
+qsizepolicy.h Include File | qsizepolicy-h.html
+qsjiscodec.h Include File | qsjiscodec-h.html
+qslider.h Include File | qslider-h.html
+qsocket.h Include File | qsocket-h.html
+qsocketdevice.h Include File | qsocketdevice-h.html
+qsocketnotifier.h Include File | qsocketnotifier-h.html
+qsortedlist.h Include File | qsortedlist-h.html
+qsound.h Include File | qsound-h.html
+qspinbox.h Include File | qspinbox-h.html
+qsplashscreen.h Include File | qsplashscreen-h.html
+qsplitter.h Include File | qsplitter-h.html
+qsql.h Include File | qsql-h.html
+qsqlcursor.h Include File | qsqlcursor-h.html
+qsqldatabase.h Include File | qsqldatabase-h.html
+qsqldriver.h Include File | qsqldriver-h.html
+qsqldriverplugin.h Include File | qsqldriverplugin-h.html
+qsqleditorfactory.h Include File | qsqleditorfactory-h.html
+qsqlerror.h Include File | qsqlerror-h.html
+qsqlfield.h Include File | qsqlfield-h.html
+qsqlform.h Include File | qsqlform-h.html
+qsqlindex.h Include File | qsqlindex-h.html
+qsqlpropertymap.h Include File | qsqlpropertymap-h.html
+qsqlquery.h Include File | qsqlquery-h.html
+qsqlrecord.h Include File | qsqlrecord-h.html
+qsqlresult.h Include File | qsqlresult-h.html
+qsqlselectcursor.h Include File | qsqlselectcursor-h.html
+qstatusbar.h Include File | qstatusbar-h.html
+qstring.h Include File | qstring-h.html
+qstringlist.h Include File | qstringlist-h.html
+qstrlist.h Include File | qstrlist-h.html
+qstyle.h Include File | qstyle-h.html
+qstylefactory.h Include File | qstylefactory-h.html
+qstyleplugin.h Include File | qstyleplugin-h.html
+qstylesheet.h Include File | qstylesheet-h.html
+qsyntaxhighlighter.h Include File | qsyntaxhighlighter-h.html
+qtabbar.h Include File | qtabbar-h.html
+qtabdialog.h Include File | qtabdialog-h.html
+qtable.h Include File | qtable-h.html
+qtabwidget.h Include File | qtabwidget-h.html
+qtextbrowser.h Include File | qtextbrowser-h.html
+qtextcodec.h Include File | qtextcodec-h.html
+qtextcodecplugin.h Include File | qtextcodecplugin-h.html
+qtextedit.h Include File | qtextedit-h.html
+qtextstream.h Include File | qtextstream-h.html
+qtextview.h Include File | qtextview-h.html
+qthread.h Include File | qthread-h.html
+qthreadstorage.h Include File | qthreadstorage-h.html
+qtimer.h Include File | qtimer-h.html
+qtoolbar.h Include File | qtoolbar-h.html
+qtoolbox.h Include File | qtoolbox-h.html
+qtoolbutton.h Include File | qtoolbutton-h.html
+qtooltip.h Include File | qtooltip-h.html
+qtranslator.h Include File | qtranslator-h.html
+qtsciicodec.h Include File | qtsciicodec-h.html
+qurl.h Include File | qurl-h.html
+qurlinfo.h Include File | qurlinfo-h.html
+qurloperator.h Include File | qurloperator-h.html
+quuid.h Include File | quuid-h.html
+qvalidator.h Include File | qvalidator-h.html
+qvaluelist.h Include File | qvaluelist-h.html
+qvaluestack.h Include File | qvaluestack-h.html
+qvaluevector.h Include File | qvaluevector-h.html
+qvariant.h Include File | qvariant-h.html
+qvbox.h Include File | qvbox-h.html
+qvbuttongroup.h Include File | qvbuttongroup-h.html
+qvgroupbox.h Include File | qvgroupbox-h.html
+qwaitcondition.h Include File | qwaitcondition-h.html
+qwhatsthis.h Include File | qwhatsthis-h.html
+qwidget.h Include File | qwidget-h.html
+qwidgetfactory.h Include File | qwidgetfactory-h.html
+qwidgetplugin.h Include File | qwidgetplugin-h.html
+qwidgetstack.h Include File | qwidgetstack-h.html
+qwindowdefs.h Include File | qwindowdefs-h.html
+qwindowsstyle.h Include File | qwindowsstyle-h.html
+qwindowsystem_qws.h Include File | qwindowsystem_qws-h.html
+qwizard.h Include File | qwizard-h.html
+qwmatrix.h Include File | qwmatrix-h.html
+qworkspace.h Include File | qworkspace-h.html
+qwsdecoration_qws.h Include File | qwsdecoration_qws-h.html
+qxml.h Include File | qxml-h.html
+qxtwidget.h Include File | qxtwidget-h.html
+sql/overview/basicbrowsing/main.cpp Example File | sql-overview-basicbrowsing-main-cpp.html
+sql/overview/basicbrowsing2/main.cpp Example File | sql-overview-basicbrowsing2-main-cpp.html
+sql/overview/basicdatamanip/main.cpp Example File | sql-overview-basicdatamanip-main-cpp.html
+sql/overview/connect1/main.cpp Example File | sql-overview-connect1-main-cpp.html
+sql/overview/create_connections/main.cpp Example File | sql-overview-create_connections-main-cpp.html
+sql/overview/custom1/main.cpp Example File | sql-overview-custom1-main-cpp.html
+sql/overview/custom1/main.h Example File | sql-overview-custom1-main-h.html
+sql/overview/delete/main.cpp Example File | sql-overview-delete-main-cpp.html
+sql/overview/extract/main.cpp Example File | sql-overview-extract-main-cpp.html
+sql/overview/form1/main.cpp Example File | sql-overview-form1-main-cpp.html
+sql/overview/form2/main.h Example File | sql-overview-form2-main-h.html
+sql/overview/insert/main.cpp Example File | sql-overview-insert-main-cpp.html
+sql/overview/navigating/main.cpp Example File | sql-overview-navigating-main-cpp.html
+sql/overview/order1/main.cpp Example File | sql-overview-order1-main-cpp.html
+sql/overview/order2/main.cpp Example File | sql-overview-order2-main-cpp.html
+sql/overview/retrieve1/main.cpp Example File | sql-overview-retrieve1-main-cpp.html
+sql/overview/retrieve2/main.cpp Example File | sql-overview-retrieve2-main-cpp.html
+sql/overview/subclass1/main.cpp Example File | sql-overview-subclass1-main-cpp.html
+sql/overview/subclass2/main.cpp Example File | sql-overview-subclass2-main-cpp.html
+sql/overview/subclass2/main.h Example File | sql-overview-subclass2-main-h.html
+sql/overview/subclass3/main.cpp Example File | sql-overview-subclass3-main-cpp.html
+sql/overview/subclass3/main.h Example File | sql-overview-subclass3-main-h.html
+sql/overview/subclass4/main.cpp Example File | sql-overview-subclass4-main-cpp.html
+sql/overview/subclass4/main.h Example File | sql-overview-subclass4-main-h.html
+sql/overview/subclass5/main.cpp Example File | sql-overview-subclass5-main-cpp.html
+sql/overview/subclass5/main.h Example File | sql-overview-subclass5-main-h.html
+sql/overview/table1/main.cpp Example File | sql-overview-table1-main-cpp.html
+sql/overview/table2/main.cpp Example File | sql-overview-table2-main-cpp.html
+sql/overview/table3/main.cpp Example File | sql-overview-table3-main-cpp.html
+sql/overview/table3/main.h Example File | sql-overview-table3-main-h.html
+sql/overview/table4/main.cpp Example File | sql-overview-table4-main-cpp.html
+sql/overview/table4/main.h Example File | sql-overview-table4-main-h.html
+sql/overview/update/main.cpp Example File | sql-overview-update-main-cpp.html
+t10/cannon.cpp Example File | t10-cannon-cpp.html
+t10/cannon.h Example File | t10-cannon-h.html
+t10/lcdrange.cpp Example File | t10-lcdrange-cpp.html
+t10/lcdrange.h Example File | t10-lcdrange-h.html
+t10/main.cpp Example File | t10-main-cpp.html
+t11/cannon.cpp Example File | t11-cannon-cpp.html
+t11/cannon.h Example File | t11-cannon-h.html
+t11/lcdrange.cpp Example File | t11-lcdrange-cpp.html
+t11/lcdrange.h Example File | t11-lcdrange-h.html
+t11/main.cpp Example File | t11-main-cpp.html
+t12/cannon.cpp Example File | t12-cannon-cpp.html
+t12/cannon.h Example File | t12-cannon-h.html
+t12/lcdrange.cpp Example File | t12-lcdrange-cpp.html
+t12/lcdrange.h Example File | t12-lcdrange-h.html
+t12/main.cpp Example File | t12-main-cpp.html
+t13/cannon.cpp Example File | t13-cannon-cpp.html
+t13/cannon.h Example File | t13-cannon-h.html
+t13/gamebrd.cpp Example File | t13-gamebrd-cpp.html
+t13/gamebrd.h Example File | t13-gamebrd-h.html
+t13/lcdrange.cpp Example File | t13-lcdrange-cpp.html
+t13/lcdrange.h Example File | t13-lcdrange-h.html
+t13/main.cpp Example File | t13-main-cpp.html
+t14/cannon.cpp Example File | t14-cannon-cpp.html
+t14/cannon.h Example File | t14-cannon-h.html
+t14/gamebrd.cpp Example File | t14-gamebrd-cpp.html
+t14/gamebrd.h Example File | t14-gamebrd-h.html
+t14/lcdrange.cpp Example File | t14-lcdrange-cpp.html
+t14/lcdrange.h Example File | t14-lcdrange-h.html
+t14/main.cpp Example File | t14-main-cpp.html
+t7/lcdrange.cpp Example File | t7-lcdrange-cpp.html
+t7/lcdrange.h Example File | t7-lcdrange-h.html
+t7/main.cpp Example File | t7-main-cpp.html
+t8/cannon.cpp Example File | t8-cannon-cpp.html
+t8/cannon.h Example File | t8-cannon-h.html
+t8/lcdrange.cpp Example File | t8-lcdrange-cpp.html
+t8/lcdrange.h Example File | t8-lcdrange-h.html
+t8/main.cpp Example File | t8-main-cpp.html
+t9/cannon.cpp Example File | t9-cannon-cpp.html
+t9/cannon.h Example File | t9-cannon-h.html
+t9/lcdrange.cpp Example File | t9-lcdrange-cpp.html
+t9/lcdrange.h Example File | t9-lcdrange-h.html
+t9/main.cpp Example File | t9-main-cpp.html
+table/bigtable/main.cpp Example File | table-bigtable-main-cpp.html
+table/small-table-demo/main.cpp Example File | table-small-table-demo-main-cpp.html
+table/statistics/statistics.cpp Example File | table-statistics-statistics-cpp.html
+wizard/wizard.cpp Example File | wizard-wizard-cpp.html
+wizard/wizard.h Example File | wizard-wizard-h.html
+ | classchart.html
diff --git a/doc/html/toggleaction-example.html b/doc/html/toggleaction-example.html
new file mode 100644
index 0000000..0a4f023
--- /dev/null
+++ b/doc/html/toggleaction-example.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/action/toggleaction/toggleaction.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>A Tiny Example Featuring a Toggle Action</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>A Tiny Example Featuring a Toggle Action</h1>
+
+
+<p>
+<p> This example program demonstrates the use of <a href="qaction.html">QAction</a>
+in its incarnation as a toggle action.
+<p> <hr>
+<p> Main:
+<p> <pre>#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+#include &lt;<a href="qtoolbar-h.html">qtoolbar.h</a>&gt;
+#include &lt;<a href="qaction-h.html">qaction.h</a>&gt;
+
+#include "labelonoff.xpm"
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+ <a href="qmainwindow.html">QMainWindow</a> * window = new <a href="qmainwindow.html">QMainWindow</a>;
+ window-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Toggleaction");
+ <a href="qtoolbar.html">QToolBar</a> * toolbar = new <a href="qtoolbar.html">QToolBar</a>( window );
+
+ <a href="qaction.html">QAction</a> * labelonoffaction = new <a href="qaction.html">QAction</a>( window, "labelonoff" );
+<a name="x2975"></a> labelonoffaction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+
+<a name="x2974"></a> labelonoffaction-&gt;<a href="qaction.html#setText">setText</a>( "labels on/off" );
+<a name="x2972"></a> labelonoffaction-&gt;<a href="qaction.html#setAccel">setAccel</a>( Qt::ALT+Qt::Key_L );
+<a name="x2973"></a> labelonoffaction-&gt;<a href="qaction.html#setIconSet">setIconSet</a>( (QPixmap) labelonoff_xpm );
+
+<a name="x2976"></a> QObject::<a href="qobject.html#connect">connect</a>( labelonoffaction, SIGNAL( <a href="qaction.html#toggled">toggled</a>( bool ) ),
+<a name="x2979"></a> window, SLOT( <a href="qmainwindow.html#setUsesTextLabel">setUsesTextLabel</a>( bool ) ) );
+
+<a name="x2971"></a> labelonoffaction-&gt;<a href="qaction.html#addTo">addTo</a>( toolbar );
+
+ app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( window );
+ window-&gt;<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+}
+
+</pre>
+
+<p>See also <a href="qaction-examples.html">QAction Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/toolbar.png b/doc/html/toolbar.png
new file mode 100644
index 0000000..5e6021f
--- /dev/null
+++ b/doc/html/toolbar.png
Binary files differ
diff --git a/doc/html/toolbar1.png b/doc/html/toolbar1.png
new file mode 100644
index 0000000..0f3358a
--- /dev/null
+++ b/doc/html/toolbar1.png
Binary files differ
diff --git a/doc/html/tools-list.html b/doc/html/tools-list.html
new file mode 100644
index 0000000..15657e0
--- /dev/null
+++ b/doc/html/tools-list.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tools-list.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt's Tools</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt's Tools</h1>
+
+
+
+Qt is supplied with several command line and graphical tools to
+ease and speed the development process. Each tool is listed here
+with a link to its documentation.
+<p> <ul>
+<li> <a href="designer-manual.html">Qt Designer</a> - visually
+design forms
+<li> <a href="linguist-manual.html">Qt Linguist, lupdate and lrelease</a> - translate
+applications to reach international markets
+<li> <a href="assistant.html">Qt Assistant</a> - quickly find the
+help you need
+<li> <a href="qmake-manual.html">qmake</a> - create Makefiles from
+simple platform-independent project files
+<li> <a href="qembed.html">qembed</a> - convert data, e.g. images, into C++ code
+<li> <a href="emb-qvfb.html">qvfb</a> - run and test embedded
+applications on the desktop
+<li> <a href="makeqpf.html">makeqpf</a> - create pre-rendered fonts
+for embedded devices
+<li> <a href="moc.html">moc</a> - the Meta Object Compiler
+<li> <a href="uic.html">uic</a> - the User Interface Compiler
+<li> <tt>qtconfig</tt> - a Unix-based Qt configuration tool with online help
+<p> </ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tools.html b/doc/html/tools.html
new file mode 100644
index 0000000..5d94779
--- /dev/null
+++ b/doc/html/tools.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:511 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Non-GUI Classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Non-GUI Classes</h1>
+
+
+<p> The non-GUI classes are general-purpose collection and string classes
+that may be used independently of the GUI classes.
+<p> In particular, these classes do not depend on <a href="qapplication.html">QApplication</a> at all,
+and so can be used in non-GUI programs.
+<p> See also the <a href="collection.html">introduction to the Qt collection
+classes.</a>
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicache.html">QAsciiCache</a></b><td>Template class that provides a cache based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciicacheiterator.html">QAsciiCacheIterator</a></b><td>Iterator for QAsciiCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidict.html">QAsciiDict</a></b><td>Template class that provides a dictionary based on char* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qasciidictiterator.html">QAsciiDictIterator</a></b><td>Iterator for QAsciiDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qbitarray.html">QBitArray</a></b><td>Array of bits
+<tr bgcolor=#f0f0f0><td><b><a href="qbytearray.html">QByteArray</a></b><td>Array of bytes
+<tr bgcolor=#f0f0f0><td><b><a href="qcache.html">QCache</a></b><td>Template class that provides a cache based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qcacheiterator.html">QCacheIterator</a></b><td>Iterator for QCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qcstring.html">QCString</a></b><td>Abstraction of the classic C zero-terminated char array (char *)
+<tr bgcolor=#f0f0f0><td><b><a href="qdeepcopy.html">QDeepCopy</a></b><td>Template class which ensures that implicitly shared and explicitly shared classes reference unique data
+<tr bgcolor=#f0f0f0><td><b><a href="qdict.html">QDict</a></b><td>Template class that provides a dictionary based on QString keys
+<tr bgcolor=#f0f0f0><td><b><a href="qdictiterator.html">QDictIterator</a></b><td>Iterator for QDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintcache.html">QIntCache</a></b><td>Template class that provides a cache based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintcacheiterator.html">QIntCacheIterator</a></b><td>Iterator for QIntCache collections
+<tr bgcolor=#f0f0f0><td><b><a href="qintdict.html">QIntDict</a></b><td>Template class that provides a dictionary based on long keys
+<tr bgcolor=#f0f0f0><td><b><a href="qintdictiterator.html">QIntDictIterator</a></b><td>Iterator for QIntDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qmap.html">QMap</a></b><td>Value-based template class that provides a dictionary
+<tr bgcolor=#f0f0f0><td><b><a href="qmapconstiterator.html">QMapConstIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qmapiterator.html">QMapIterator</a></b><td>Iterator for QMap
+<tr bgcolor=#f0f0f0><td><b><a href="qmemarray.html">QMemArray</a></b><td>Template class that provides arrays of simple types
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlist.html">QObjectList</a></b><td>QPtrList of QObjects
+<tr bgcolor=#f0f0f0><td><b><a href="qobjectlistiterator.html">QObjectListIterator</a></b><td>Iterator for QObjectLists
+<tr bgcolor=#f0f0f0><td><b><a href="qpair.html">QPair</a></b><td>Value-based template class that provides a pair of elements
+<tr bgcolor=#f0f0f0><td><b><a href="qptrcollection.html">QPtrCollection</a></b><td>The base class of most pointer-based Qt collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdict.html">QPtrDict</a></b><td>Template class that provides a dictionary based on void* keys
+<tr bgcolor=#f0f0f0><td><b><a href="qptrdictiterator.html">QPtrDictIterator</a></b><td>Iterator for QPtrDict collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlist.html">QPtrList</a></b><td>Template class that provides a list
+<tr bgcolor=#f0f0f0><td><b><a href="qptrlistiterator.html">QPtrListIterator</a></b><td>Iterator for QPtrList collections
+<tr bgcolor=#f0f0f0><td><b><a href="qptrqueue.html">QPtrQueue</a></b><td>Template class that provides a queue
+<tr bgcolor=#f0f0f0><td><b><a href="qptrstack.html">QPtrStack</a></b><td>Template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qptrvector.html">QPtrVector</a></b><td>Template collection class that provides a vector (array)
+<tr bgcolor=#f0f0f0><td><b><a href="qregexp.html">QRegExp</a></b><td>Pattern matching using regular expressions
+<tr bgcolor=#f0f0f0><td><b><a href="qstrilist.html">QStrIList</a></b><td>Doubly-linked list of char* with case-insensitive comparison
+<tr bgcolor=#f0f0f0><td><b><a href="qstring.html">QString</a></b><td>Abstraction of Unicode text and the classic C '&#92;0'-terminated char array
+<tr bgcolor=#f0f0f0><td><b><a href="qstringlist.html">QStringList</a></b><td>List of strings
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlist.html">QStrList</a></b><td>Doubly-linked list of char*
+<tr bgcolor=#f0f0f0><td><b><a href="qstrlistiterator.html">QStrListIterator</a></b><td>Iterator for the QStrList and QStrIList classes
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelist.html">QValueList</a></b><td>Value-based template class that provides lists
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistconstiterator.html">QValueListConstIterator</a></b><td>Const iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluelistiterator.html">QValueListIterator</a></b><td>Iterator for QValueList
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluestack.html">QValueStack</a></b><td>Value-based template class that provides a stack
+<tr bgcolor=#f0f0f0><td><b><a href="qvaluevector.html">QValueVector</a></b><td>Value-based template class that provides a dynamic array
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tooltip-example.html b/doc/html/tooltip-example.html
new file mode 100644
index 0000000..c2646b1
--- /dev/null
+++ b/doc/html/tooltip-example.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/tooltip/tooltip.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Advanced use of tool tips</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Advanced use of tool tips</h1>
+
+
+<p>
+This example widget demonstrates how to use tool tips for static and
+dynamic regions within a widget.
+<p> It displays two blue and one red rectangle. The blue ones move every
+time you click on them, the red one is static. There are dynamic
+tool tips on the blue rectangles and a static tool tip on the red one.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/tooltip.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qtooltip-h.html">qtooltip.h</a>&gt;
+
+
+class DynamicTip : public <a href="qtooltip.html">QToolTip</a>
+{
+public:
+ DynamicTip( <a href="qwidget.html">QWidget</a> * parent );
+
+protected:
+ void maybeTip( const <a href="qpoint.html">QPoint</a> &amp; );
+};
+
+
+class TellMe : public <a href="qwidget.html">QWidget</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ TellMe( <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0 );
+ ~TellMe();
+
+ <a href="qrect.html">QRect</a> tip( const <a href="qpoint.html">QPoint</a> &amp; );
+
+protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+
+private:
+ <a href="qrect.html">QRect</a> randomRect();
+
+ <a href="qrect.html">QRect</a> r1, r2, r3;
+ DynamicTip * t;
+};
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/tooltip.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tooltip.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;stdlib.h&gt;
+
+
+<a name="f251"></a>DynamicTip::DynamicTip( <a href="qwidget.html">QWidget</a> * parent )
+ : <a href="qtooltip.html">QToolTip</a>( parent )
+{
+ // no explicit initialization needed
+}
+
+
+<a name="x451"></a>void DynamicTip::<a href="qtooltip.html#maybeTip">maybeTip</a>( const <a href="qpoint.html">QPoint</a> &amp;pos )
+{
+ if ( !parentWidget()-&gt;inherits( "TellMe" ) )
+ return;
+
+ <a href="qrect.html">QRect</a> r( ((TellMe*)<a href="qtooltip.html#parentWidget">parentWidget</a>())-&gt;tip(pos) );
+<a name="x448"></a> if ( !r.<a href="qrect.html#isValid">isValid</a>() )
+ return;
+
+ <a href="qstring.html">QString</a> s;
+<a name="x449"></a><a name="x447"></a> s.<a href="qstring.html#sprintf">sprintf</a>( "position: %d,%d", r.<a href="qrect.html#center">center</a>().x(), r.<a href="qrect.html#center">center</a>().y() );
+ tip( r, s );
+}
+
+
+<a name="f252"></a>TellMe::TellMe( <a href="qwidget.html">QWidget</a> * parent , const char * name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 30, 30 );
+ r1 = randomRect();
+ r2 = randomRect();
+ r3 = randomRect();
+
+ t = new DynamicTip( this );
+
+<a name="x450"></a> QToolTip::<a href="qtooltip.html#add">add</a>( this, r3, "this color is called red" ); // &lt;- helpful
+}
+
+
+TellMe::~TellMe()
+{
+ delete t;
+ t = 0;
+}
+
+
+void TellMe::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * e )
+{
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ // I try to be efficient here, and repaint only what's needed
+
+<a name="x446"></a> if ( e-&gt;<a href="qpaintevent.html#rect">rect</a>().intersects( r1 ) ) {
+<a name="x445"></a> p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+<a name="x444"></a> p.<a href="qpainter.html#drawRect">drawRect</a>( r1 );
+ }
+
+ if ( e-&gt;<a href="qpaintevent.html#rect">rect</a>().intersects( r2 ) ) {
+ p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( r2 );
+ }
+
+ if ( e-&gt;<a href="qpaintevent.html#rect">rect</a>().intersects( r3 ) ) {
+ p.<a href="qpainter.html#setBrush">setBrush</a>( red );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( r3 );
+ }
+}
+
+
+<a name="x452"></a>void TellMe::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> * e )
+{
+<a name="x443"></a> if ( r1.contains( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) )
+ r1 = randomRect();
+ if ( r2.contains( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) )
+ r2 = randomRect();
+ <a href="qwidget.html#repaint">repaint</a>();
+}
+
+
+<a name="x454"></a>void TellMe::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+ if ( !rect().contains( r1 ) )
+ r1 = randomRect();
+ if ( !rect().contains( r2 ) )
+ r2 = randomRect();
+}
+
+
+QRect <a name="f253"></a>TellMe::randomRect()
+{
+ return QRect( ::rand() % (<a href="qwidget.html#width">width</a>() - 20), ::rand() % (<a href="qwidget.html#height">height</a>() - 20),
+ 20, 20 );
+}
+
+
+QRect <a name="f254"></a>TellMe::tip( const <a href="qpoint.html">QPoint</a> &amp; p )
+{
+ if ( r1.contains( p ) )
+ return r1;
+ else if ( r2.contains( p ) )
+ return r2;
+ else
+ return QRect( 0,0, -1,-1 );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include "tooltip.h"
+
+int main( int argc, char ** argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ TellMe mw;
+ mw.<a href="qwidget.html#setCaption">setCaption</a>( "Qt Example - Dynamic Tool Tips" );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;mw );
+ mw.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/toplevel-example.html b/doc/html/toplevel-example.html
new file mode 100644
index 0000000..d918275
--- /dev/null
+++ b/doc/html/toplevel-example.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/toplevel/toplevel.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Toplevel Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Toplevel Widgets</h1>
+
+
+
+<p>
+This example demonstrates the use of Qt's widget flags to provide
+toplevel widgets with customized window decorations.
+<p> It provides a graphical user interface for selecting different
+options for widget decoration and behavior, and passes the
+appropriate widget flags to the <a href="qwidget.html">QWidget</a> constructor.
+<a href="qwidget.html#reparent">QWidget::reparent</a>() is used to change the widget flags at runtime.
+<p> <b>Warning:</b> Note that the interpretation and functionality of the
+widget flags depends on the window manager used when running the
+application. Many window managers do not support every possible flag
+combination.
+<p> The user interface providing the different options was created using
+<a href="designer-manual.html">Qt Designer</a>. The different
+options are explained in the user interface through the use of
+tooltips and What's This help. Load the <tt>options.ui</tt> file into
+<a href="designer-manual.html">Qt Designer</a> for more details.
+<p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "options.h"
+
+ int main( int argc, char ** argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+ OptionsDialog dlg;
+ return dlg.exec();
+ }
+</pre>
+<p> The main function creates and displays the dialog for the user
+interface. Note that this dialog is modal.
+<p> The code relevant for this example is in the <tt>options.ui.h</tt>
+file.
+<p>
+
+<pre> void OptionsDialog::apply()
+ {
+ <a href="qstringlist.html">QStringList</a> flagList;
+ bool wstyle = false;
+ WFlags f = WDestructiveClose | WType_TopLevel | WStyle_Customize;
+</pre>
+<p> The <tt>apply()</tt> slot declares the <a href="qt.html#WidgetFlags">widget flag</a> variable <tt>f</tt>
+and initializes it with the values
+<ul>
+<li> <tt>WDestructiveClose</tt> - the widget will be automatically
+destroyed when it is closed,
+<li> <tt>WType_TopLevel</tt> - the widget will be top level even if it
+has a parent widget, and
+<li> <tt>WStyle_Customize</tt> - the flags override the default values
+</ul>
+Other flags are used depending on the options selected in the user
+interface.
+<p> <pre> if ( bgBorder-&gt;isChecked() ) {
+ if ( rbBorderNormal-&gt;isChecked() ) {
+ f |= WStyle_NormalBorder;
+ flagList += "WStyle_NormalBorder";
+ wstyle = true;
+ }
+ else if ( rbBorderDialog-&gt;isChecked() ) {
+ f |= WStyle_DialogBorder;
+ flagList += "WStyle_DialogBorder";
+ wstyle = true;
+ }
+</pre>The window gets a normal or dialog border depending on the selected
+option.
+<p> <pre> if ( bgTitle-&gt;isChecked() ) {
+ f |= WStyle_Title;
+ flagList += "WStyle_Title";
+ wstyle = true;
+ if ( cbTitleSystem-&gt;isChecked() ) {
+ f |= WStyle_SysMenu;
+ flagList += "WStyle_SysMenu";
+ }
+ if ( cbTitleMinimize-&gt;isChecked() ) {
+ f |= WStyle_Minimize;
+ flagList += "WStyle_Minimize";
+ }
+ if ( cbTitleMaximize-&gt;isChecked() ) {
+ f |= WStyle_Maximize;
+ flagList += "WStyle_Maximize";
+ }
+ if ( cbTitleContext-&gt;isChecked() ) {
+ f |= WStyle_ContextHelp;
+ flagList += "WStyle_ContextHelp";
+ }
+ }
+</pre>A titlebar with controls is provided if the appropriate options
+have been checked.
+<p> <pre> } else {
+ f |= WStyle_NoBorder;
+ flagList += "WStyle_NoBorder";
+ wstyle = true;
+ }
+</pre>If the window should not have a border it cannot have a titlebar.
+Widgets that provide their own (e.g. themed) window decoration
+should use this flag.
+<p> <pre> <a href="qwidget.html">QWidget</a> *parent = this;
+ if ( cbBehaviorTaskbar-&gt;isChecked() ) {
+ parent = 0;
+ f |= WGroupLeader;
+ flagList += "WGroupLeader";
+ }
+</pre>If a toplevel widget has a parent it will not have a taskbar
+entry, and on most window managers it will always stay on
+top of the parent widget. This is the standard behavior for
+dialog boxes, especially if they are modeless, and for other
+secondary toplevel widgets.
+<p> To provide a taskbar entry the widget must have no parent,
+in which case we need to use the <tt>WGroupLeader</tt> flag to
+prevent blocking through the modal main dialog. Applications
+that can have multiple toplevel windows open simultaneously
+should use this combination.
+<p> <pre> if ( cbBehaviorStays-&gt;isChecked() ) {
+ f |= WStyle_StaysOnTop /*| WX11BypassWM*/;
+ flagList += "WStyle_StaysOnTop";
+ wstyle = true;
+ }
+</pre>A toplevel widget can stay on top of the whole desktop if the
+window manager supports this functionality.
+<a href="#footnote1"><sup>(1)</sup></a><a name="footnote-call1"></a>
+<p> Widgets that display important or realtime information (i.e. IRC
+clients) might benefit from using that flag.
+<p> <pre> if ( cbBehaviorPopup-&gt;isChecked() ) {
+ f |= WType_Popup;
+ flagList += "WType_Popup";
+ }
+</pre>A popup widget is a short lived modal widget that closes
+automatically. Popup menus are a typical example for such widgets.
+<p> <pre> if ( cbBehaviorModal-&gt;isChecked() ) {
+ f |= WShowModal;
+ flagList += "WShowModal";
+ }
+</pre>A modal widget blocks input to other toplevel widgets, unless
+those are in a different modal group (see <tt>WGroupLeader</tt>).
+Dialogs are often modal, and the <a href="qdialog.html">QDialog</a> class provides an easy API
+to create and display them without the need to explicitly use this
+flag.
+<p> <pre> if ( cbBehaviorTool-&gt;isChecked() ) {
+ f |= WStyle_Tool;
+ flagList += "WStyle_Tool";
+ wstyle = true;
+ }
+
+ if (wstyle)
+ <a name="x2534"></a> flagList.<a href="qvaluelist.html#push_front">push_front</a>("WStyle_Customize");
+</pre>A tool window will never have a task bar entry (even if it
+has no parent widget), and often has a smaller window
+decoration. Tool windows are frequently used instead of
+modeless dialogs.
+<p> <pre> if ( !widget ) {
+ widget = new <a href="qvbox.html">QVBox</a>( parent, 0, f );
+ <a name="x2530"></a> widget-&gt;<a href="qframe.html#setMargin">setMargin</a>( 20 );
+ <a name="x2533"></a> <a href="qlabel.html">QLabel</a> *label = new <a href="qlabel.html">QLabel</a>(flagList.<a href="qstringlist.html#join">join</a>("&amp;nbsp;| "), widget);
+ <a name="x2532"></a> label-&gt;<a href="qlabel.html#setTextFormat">setTextFormat</a>(RichText);
+ <a name="x2531"></a> label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>(WordBreak);
+ <a href="qpushbutton.html">QPushButton</a> *okButton = new <a href="qpushbutton.html">QPushButton</a>( "Close", widget );
+ <a name="x2535"></a> connect( okButton, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), widget, SLOT(<a href="qwidget.html#close">close</a>()) );
+ <a name="x2537"></a> widget-&gt;<a href="qwidget.html#move">move</a>( pos() );
+</pre>The widget is created if it has not been created yet, or if it was
+closed (since we use the <tt>WDestructiveClose</tt> flag). Note that the
+window is not visible yet.
+<a href="#footnote2"><sup>(2)</sup></a><a name="footnote-call2"></a>
+<p> <pre> } else {
+ <a name="x2538"></a><a name="x2536"></a> widget-&gt;<a href="qwidget.html#reparent">reparent</a>( parent, f, widget-&gt;<a href="qwidget.html#geometry">geometry</a>().topLeft(), FALSE);
+ }
+</pre>If the widget has already been created the reparent() function is
+used to modify the widget's flags. The widget's geometry is not
+changed, and the window is not shown again.
+<p> <pre> <a name="x2539"></a> widget-&gt;<a href="qwidget.html#setCaption">setCaption</a>( leCaption-&gt;text() );
+ <a name="x2540"></a> widget-&gt;<a href="qwidget.html#setIcon">setIcon</a>( leIcon-&gt;text() );
+ <a name="x2541"></a> widget-&gt;<a href="qwidget.html#setWindowOpacity">setWindowOpacity</a>(double(slTransparency-&gt;maxValue() - slTransparency-&gt;value()) / 100);
+
+ <a name="x2542"></a> widget-&gt;<a href="qwidget.html#show">show</a>();
+</pre>Finally the higher level properties such as the window's caption and
+icon are set. The window transparency is set according to the slider
+value. Note that this will only have effect on systems that support
+this attribute for toplevel window.
+<p> <pre> }
+</pre>Finally the window is shown with the new attributes.
+<p> To build the example go to the toplevel directory
+(<tt>QTDIR/examples/toplevel</tt>)
+<a href="#footnote3"><sup>(3)</sup></a><a name="footnote-call3"></a>
+and run <tt>qmake</tt> to generate the makefile, then use the make tool to
+build the library.
+
+<hr>
+<ol> <li><a name="footnote1"></a>
+Unfortunately some X11 window managers also require the <tt>WX11BypassWM</tt> flag to be set in addition; but some other X11 window
+managers will have problems if this flag is set. <a href="#footnote-call1">Back...</a> <li><a name="footnote2"></a>
+The example uses <a href="qguardedptr.html">QGuardedPtr</a> to make sure that the
+pointer is reset to zero when the widget object is destroyed
+due to the <tt>WDestructiveClose</tt> flag. <a href="#footnote-call2">Back...</a> <li><a name="footnote3"></a>
+
+We use <tt>QTDIR</tt> to stand for the directory where Qt is installed.
+ <a href="#footnote-call3">Back...</a></ol>
+</hr><p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/trademarks.html b/doc/html/trademarks.html
new file mode 100644
index 0000000..20f3c43
--- /dev/null
+++ b/doc/html/trademarks.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/trademarks.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Trademarks</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Trademarks</h1>
+
+
+
+<p> Trolltech&reg;, Qt&reg; and the Trolltech logo are registered
+trademarks of Trolltech. Linux&reg; is a trademark of Linus
+Torvalds. All other products named in the documentation are
+trademarks of their respective owners.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/trivial-nsplugin-example.html b/doc/html/trivial-nsplugin-example.html
new file mode 100644
index 0000000..44f6ad7
--- /dev/null
+++ b/doc/html/trivial-nsplugin-example.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/extensions/nsplugin/examples/trivial/trivial.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Trivial Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Trivial Example</h1>
+
+
+
+<p> This example is trivial, and thus useful for
+investigating problems you might have installing the
+extension.
+<p> To build the example, you must first build the
+<a href="netscape-plugin.html">Qt Netscape Plugin Extension</a> library.
+Then type <tt>make</tt> in <tt>extensions/nsplugin/examples/trivial/</tt>
+and copy the resulting <tt>trivial.so</tt> or <tt>nptrivial.dll</tt>
+to the Plugins directory of your WWW browser.
+<p> <EMBED TYPE=trivial/very WIDTH=100 HEIGHT=100>
+<p> <hr>
+Implementation:
+<p> <pre>// Qt stuff
+#include "qnp.h"
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;
+
+class Trivial : public <a href="qnpwidget.html">QNPWidget</a> {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ void mouseReleaseEvent(QMouseEvent* event)
+ {
+<a name="x2736"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>(this);
+ }
+
+ void paintEvent(QPaintEvent* event)
+ {
+ <a href="qpainter.html">QPainter</a> p(this);
+<a name="x2739"></a> p.<a href="qpainter.html#setClipRect">setClipRect</a>(event-&gt;rect());
+ int w = width();
+<a name="x2737"></a> p.<a href="qpainter.html#drawRect">drawRect</a>(rect());
+<a name="x2738"></a> p.<a href="qpainter.html#drawText">drawText</a>(w/8, 0, w-w/4, height(), AlignCenter|WordBreak, "Trivial!");
+ }
+};
+
+class TrivialInstance : public <a href="qnpinstance.html">QNPInstance</a> {
+ Q_OBJECT
+public:
+ <a href="qnpwidget.html">QNPWidget</a>* newWindow()
+ {
+ return new Trivial;
+ }
+
+ void print(QPainter* p)
+ {
+ p-&gt;<a href="qpainter.html#drawText">drawText</a>(0,0,"Hello");
+ }
+};
+
+class TrivialPlugin : public <a href="qnplugin.html">QNPlugin</a> {
+public:
+ <a href="qnpinstance.html">QNPInstance</a>* newInstance()
+ {
+ return new TrivialInstance;
+ }
+
+ const char* getMIMEDescription() const
+ {
+ return "trivial/very:xxx:Trivial and useless";
+ }
+
+ const char * getPluginNameString() const
+ {
+ return "Trivial Qt-based Plugin";
+ }
+
+ const char * getPluginDescriptionString() const
+ {
+ return "A Qt-based LiveConnected plug-in that does nothing";
+ }
+
+};
+
+QNPlugin* QNPlugin::create()
+{
+ return new TrivialPlugin;
+}
+
+#include "trivial.moc"
+</pre>
+
+<p>See also <a href="nsplugin-examples.html">Netscape Plugin Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/troll.html b/doc/html/troll.html
new file mode 100644
index 0000000..f883ad3
--- /dev/null
+++ b/doc/html/troll.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/misc.doc:799 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Company Information</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Company Information</h1>
+
+
+<p> Trolltech is an international software company with
+headquarters in Oslo, the capital of Norway, and with offices
+in Brisbane, Australia, and Redwood City, California.
+<p> Our flagship product is <a href="http://www.trolltech.com/products/qt.html">Qt</a>, the
+multi-platform C++ GUI toolkit. Qt enables you to build professional,
+efficient, portable and maintainable GUI applications quickly and
+easily.
+<p> <a href="http://www.trolltech.com/products/embedded/index.html">Qt/Embedded</a>, the embedded version of Qt, is designed to power
+todays new generation of embedded computers and electronic consumer
+devices. On top of that, <a href="http://www.trolltech.com/products/qtopia/index.html">Qtopia</a>
+provides a window system and application suite for handheld devices.
+<p> <h2> Software that makes Sense
+</h2>
+<a name="1"></a><p> Our motto expresses the vision behind our products. We design our
+products to give our customers the feeling of "this is the way
+that things were always meant to be".
+<p> We know that it is crucial for our customers to have good tools for
+making good software. Therefore, we do not compromise our demands for
+superior design and technical quality when we develop our
+products.
+<p> Trolltech is also known for providing top quality technical support
+to our customers. At Trolltech, support inquiries are handled by the
+most qualified developers and designers themselves.
+<p> <h2> History
+</h2>
+<a name="2"></a><p> Trolltech was founded in 1994. The core team of designers at Trolltech
+started developing Qt in 1992, and the first commercial version of Qt was
+released in 1995. Since then, Trolltech has experienced rapid growth, and
+Qt is currently used in thousands of successful commercial software
+development projects world wide. At Trolltech, we continously work to
+improve and expand Qt to ensure that it always represents the state of the
+art in usability, look and feel, performance, and stability.
+<p> For more information, please visit the <a href="http://www.trolltech.com">Trolltech website</a>.
+<p> <h2> Contact Information
+</h2>
+<a name="3"></a><p> <br clear="all">
+<p> <table cellpadding=3 cellspacing=0 border="0" bgcolor="#E5E5E5">
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">Email</th></tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2><a href="mailto:info@trolltech.com"><strong>info@trolltech.com</strong></a>
+<p> <td colspan=2><a href="mailto:sales@trolltech.com"><strong>sales@trolltech.com</strong></a>
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries and questions. Please check the
+<a href="http://www.trolltech.com/faq/">FAQ</a> to see if your question is already answered there.</td>
+<td ><br></td>
+<td valign="top"> Inquires related to purchasing, pricing and availability of
+Trolltech products</td></tr>
+<tr>
+<td colspan=2><a href="mailto:www@trolltech.com"><strong>www@trolltech.com</strong></a>
+<td colspan=2><a href="mailto:qt-bugs@trolltech.com"><strong>qt-bugs@trolltech.com</strong></a>
+<tr>
+<td ><br></td>
+<td valign="top"> Comments about our web pages</td>
+<td ><br></td>
+<td valign="top">
+Use this address for bug reports; <em>please</em> read (the very short)
+<a href="bughowto.html">How to Report a Bug</a> page <em>first</em>.
+</td></tr>
+<tr><td ><br></td>
+<td colspan=4 valign="top">Note that Trolltech uses the
+<a href="http://mail-abuse.org/rbl/">RBL</a> and
+<a href="http://work-rss.mail-abuse.org/rss/">RSS</a> databases to cut down on
+spam. If your mail server is listed, you will regrettably not be able to
+send us mail. The <a href="http://www.mail-abuse.org/tsi/">MAPS TSI</a>
+pages provide information about how to secure your server.
+</td><td ><br></td></tr>
+<tr bgcolor="#ffffff"><td bgcolor="#ffffff" colspan="6"> <br> </td></tr>
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">Norway Office</th></tr>
+</tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2><strong>Telephone</strong>
+<td colspan=2><strong>Street/Mail Address</strong>
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries: +47 21 60 48 00</td>
+<td rowspan=3><br></td>
+<td valign="top" rowspan=3> Sandakerveien 116<br> PO Box 4332 Nydalen<br> NO-0402 Oslo<br> Norway</td></tr>
+<tr>
+<td colspan=2><strong>Telefax</strong></td>
+<tr>
+<td ><br></td>
+<td valign="top"> All inquiries: +47 21 60 48 01</td>
+<tr bgcolor="#ffffff"><td bgcolor="#ffffff" colspan="6"> <br> </td></tr>
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">USA Office</th></tr>
+</tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2><strong>Telephone</strong>
+<td colspan=2><strong>Street/Mail Address</strong>
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries: (+1) 650-551-1676</td>
+<td rowspan=3><br></td>
+<td valign="top" rowspan=3> 555 Twin Dolphin Drive<br> Suite 280<br> Redwood City, CA 94065<br> USA</td></tr>
+<tr>
+<td colspan=2><strong>Telefax</strong></td>
+<tr>
+<td ><br></td>
+<td valign="top"> All inquiries: (+1) 650-551-1851</td>
+</table>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tt1_en.png b/doc/html/tt1_en.png
new file mode 100644
index 0000000..66e54e0
--- /dev/null
+++ b/doc/html/tt1_en.png
Binary files differ
diff --git a/doc/html/tt1_la.png b/doc/html/tt1_la.png
new file mode 100644
index 0000000..a701349
--- /dev/null
+++ b/doc/html/tt1_la.png
Binary files differ
diff --git a/doc/html/tt2_en.png b/doc/html/tt2_en.png
new file mode 100644
index 0000000..c71e201
--- /dev/null
+++ b/doc/html/tt2_en.png
Binary files differ
diff --git a/doc/html/tt2_fr.png b/doc/html/tt2_fr.png
new file mode 100644
index 0000000..acc2515
--- /dev/null
+++ b/doc/html/tt2_fr.png
Binary files differ
diff --git a/doc/html/tt2_nl.png b/doc/html/tt2_nl.png
new file mode 100644
index 0000000..4631de2
--- /dev/null
+++ b/doc/html/tt2_nl.png
Binary files differ
diff --git a/doc/html/tt3_10_en.png b/doc/html/tt3_10_en.png
new file mode 100644
index 0000000..e95bff9
--- /dev/null
+++ b/doc/html/tt3_10_en.png
Binary files differ
diff --git a/doc/html/tt3_10_pt_bad.png b/doc/html/tt3_10_pt_bad.png
new file mode 100644
index 0000000..05cb5f3
--- /dev/null
+++ b/doc/html/tt3_10_pt_bad.png
Binary files differ
diff --git a/doc/html/tt3_10_pt_good.png b/doc/html/tt3_10_pt_good.png
new file mode 100644
index 0000000..b0f855f
--- /dev/null
+++ b/doc/html/tt3_10_pt_good.png
Binary files differ
diff --git a/doc/html/tt3_11_about_pt.png b/doc/html/tt3_11_about_pt.png
new file mode 100644
index 0000000..4467314
--- /dev/null
+++ b/doc/html/tt3_11_about_pt.png
Binary files differ
diff --git a/doc/html/tt3_11_en.png b/doc/html/tt3_11_en.png
new file mode 100644
index 0000000..7d98b98
--- /dev/null
+++ b/doc/html/tt3_11_en.png
Binary files differ
diff --git a/doc/html/tt3_11_pt.png b/doc/html/tt3_11_pt.png
new file mode 100644
index 0000000..02910cf
--- /dev/null
+++ b/doc/html/tt3_11_pt.png
Binary files differ
diff --git a/doc/html/tutorial.html b/doc/html/tutorial.html
new file mode 100644
index 0000000..3fd8dec
--- /dev/null
+++ b/doc/html/tutorial.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial #1 - The 14 Steps</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial #1 - The 14 Steps</h1>
+
+
+<p> This tutorial gives an introduction to GUI programming using the Qt
+toolkit. It doesn't cover everything: the emphasis is on teaching the
+programming philosophy of GUI programming, and Qt's features are
+introduced as needed. Some commonly used features are never used in
+this tutorial.
+<p> Chapter one starts with a ten-line hello-world and each subsequent
+chapter introduces one or a few more concepts. By Chapter 14, the ten
+lines from Chapter 1 have turned into a 650-line game.
+<p> If you're completely new to Qt, please read <a href="how-to-learn-qt.html">How to Learn Qt</a> if you haven't already done so.
+<p> Tutorial chapters:
+<ol type=1>
+<li> <a href="tutorial1-01.html">Hello, World!</a>
+<li> <a href="tutorial1-02.html">Calling it Quits</a>
+<li> <a href="tutorial1-03.html">Family Values</a>
+<li> <a href="tutorial1-04.html">Let There Be Widgets</a>
+<li> <a href="tutorial1-05.html">Building Blocks</a>
+<li> <a href="tutorial1-06.html">Building Blocks Galore!</a>
+<li> <a href="tutorial1-07.html">One Thing Leads to Another</a>
+<li> <a href="tutorial1-08.html">Preparing for Battle</a>
+<li> <a href="tutorial1-09.html">With Cannon You Can</a>
+<li> <a href="tutorial1-10.html">Smooth as Silk</a>
+<li> <a href="tutorial1-11.html">Giving It a Shot</a>
+<li> <a href="tutorial1-12.html">Hanging in the Air the Way Bricks Don't</a>
+<li> <a href="tutorial1-13.html">Game Over</a>
+<li> <a href="tutorial1-14.html">Facing the Wall</a>
+</ol>
+<p> This little game doesn't look much like a modern GUI application. It
+uses a good few of the GUI techniques, but after you've worked through
+it, we recommend reading <a href="tutorial2.html">Tutorial #2</a>. The
+second tutorial is a little more formal and covers the features of
+typical application including menubars, toolbars, loading and saving,
+dialogs, etc.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-01.html b/doc/html/tutorial1-01.html
new file mode 100644
index 0000000..ffda07a
--- /dev/null
+++ b/doc/html/tutorial1-01.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:80 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 1: Hello, World!</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 1: Hello, World!</h1>
+
+
+<p> <center><img src="t1.png" alt="Screenshot of tutorial one"></center>
+<p> This first program is a simple hello-world example. It contains only
+the bare minimum you need to get a Qt application up and running.
+The picture above is a snapshot of this program.
+<p> <pre>/****************************************************************
+**
+** Qt tutorial 1
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qpushbutton.html">QPushButton</a> hello( "Hello world!", 0 );
+ hello.<a href="qwidget.html#resize">resize</a>( 100, 30 );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;hello );
+ hello.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+</pre>
+<p> This line includes the <a href="qapplication.html">QApplication</a> class definition. There has to be
+exactly one QApplication object in every application that uses Qt.
+QApplication manages various application-wide resources, such as the
+default font and cursor.
+<p> <pre> #include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+</pre>
+<p> This line includes the <a href="qpushbutton.html">QPushButton</a> class definition. The
+<a href="hierarchy.html">reference documentation</a> for each class
+mentions at the top which file needs to be included to use that class.
+<p> QPushButton is a classical GUI push button that the user can press
+and release. It manages its own look and feel, like every other <a href="qwidget.html">QWidget</a>. A widget is a user interface object that can process user
+input and draw graphics. The programmer can change both the overall
+<a href="qapplication.html#setStyle">look and feel</a> and many minor
+properties of it (such as color), as well as the widget's content. A
+QPushButton can show either a text or a <a href="qpixmap.html">QPixmap</a>.
+<p> <pre> int main( int argc, char **argv )
+ {
+</pre>
+<p> The main() function is the entry point to the program. Almost always
+when using Qt, main() only needs to perform some kind of initialization
+before passing the control to the Qt library, which then tells the
+program about the user's actions via events.
+<p> <tt>argc</tt> is the number of command-line arguments and <tt>argv</tt> is the
+array of command-line arguments. This is a C/C++ feature. It is not
+specific to Qt; however, Qt needs to process these arguments (see
+following).
+<p> <pre> <a href="qapplication.html">QApplication</a> a( argc, argv );
+</pre>
+<p> <tt>a</tt> is this program's <a href="qapplication.html">QApplication</a>. Here it is created and processes
+some of the command-line arguments (such as -display under X Window).
+Note that all command-line arguments recognized by Qt are removed from
+<tt>argv</tt> (and <tt>argc</tt> is decremented accordingly). See the <a href="qapplication.html#argv">QApplication::argv</a>() documentation for details.
+<p> <strong>Note:</strong> It is essential that the QApplication object be
+created before any window-system parts of Qt are used.
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> hello( "Hello world!", 0 );
+</pre>
+<p> Here, <em>after</em> the QApplication, comes the first window-system code: A
+push button is created.
+<p> The button is set up to display the text "Hello world!" and be a
+window of its own (because the constructor specifies 0 for the parent
+window, inside which the button should be located).
+<p> <pre> <a name="x2285"></a> hello.<a href="qwidget.html#resize">resize</a>( 100, 30 );
+</pre>
+<p> The button is set up to be 100 pixels wide and 30 pixels high (plus the
+window system frame). In this case we don't care about the button's
+position, and we accept the default value.
+<p> <pre> <a name="x2284"></a> a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;hello );
+</pre>
+<p> The push button is chosen as the main widget for the application. If
+the user closes a main widget, the application exits.
+<p> You don't have to have a main widget, but most programs do have one.
+<p> <pre> <a name="x2286"></a> hello.<a href="qwidget.html#show">show</a>();
+</pre>
+<p> A widget is never visible when you create it. You must call show() to
+make it visible.
+<p> <pre> <a name="x2283"></a> return a.<a href="qapplication.html#exec">exec</a>();
+</pre>
+<p> This is where main() passes control to Qt, and exec() will return when
+the application exits.
+<p> In exec(), Qt receives and processes user and system events and passes
+these on to the appropriate widgets.
+<p> <pre> }
+</pre>
+<p> You should now try to compile and run this program.
+<p> <a name="compiling"></a>
+<h2> Compiling
+</h2>
+<a name="2"></a><p> To compile a C++ application you need to create a makefile. The
+easiest way to create a makefile for Qt is to use the <a href="qmake-manual.html">qmake</a> build tool supplied with Qt. If you've
+saved <tt>main.cpp</tt> in its own directory, all you have to do is:
+<pre>
+qmake -project
+qmake
+</pre>
+
+<p> The first command tells <a href="qmake-manual.html">qmake</a> to
+create a <tt>.pro</tt> (project) file. The second command tells it to create
+a (platform-specific) makefile based on the project file. You should
+now be able to type <tt>make</tt> (or <tt>nmake</tt> if you're using Visual
+Studio) and then run your first Qt application!
+<p> <h2> Behavior
+</h2>
+<a name="3"></a><p> When you run it, you will see a small window filled with a single
+button, and on it you can read the famous words, Hello World!
+<p> <h2> Exercises
+</h2>
+<a name="4"></a><p> Try to resize the window. Press the button. If you're running X
+Window, try running the program with the -geometry option
+(for example, <tt>-geometry 100x200+10+20</tt>).
+<p> You're now ready for <a href="tutorial1-02.html">Chapter 2.</a>
+<p> [<a href="tutorial1-02.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-02.html b/doc/html/tutorial1-02.html
new file mode 100644
index 0000000..85da816
--- /dev/null
+++ b/doc/html/tutorial1-02.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:216 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 2: Calling it Quits</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 2: Calling it Quits</h1>
+
+
+<p> <center><img src="t2.png" alt="Screenshot of tutorial two"></center>
+<p> Having created a window in <a href="tutorial1-01.html">Chapter 1,</a> we will
+now go on to make the application quit properly when the user tells it to.
+<p> We will also use a font that is more exciting than the default one.
+<p> <pre>/****************************************************************
+**
+** Qt tutorial 2
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qpushbutton.html">QPushButton</a> quit( "Quit", 0 );
+ quit.<a href="qwidget.html#resize">resize</a>( 75, 30 );
+ quit.<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ QObject::<a href="qobject.html#connect">connect</a>( &amp;quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;quit );
+ quit.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> #include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+</pre>
+<p> Since this program uses <a href="qfont.html">QFont</a>, it needs to include qfont.h. Qt's font
+abstraction is rather different from the horror provided by X, and
+loading and using fonts has been highly optimized.
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> quit( "Quit", 0 );
+</pre>
+<p> This time, the button says "Quit" and that's exactly what the program
+will do when the user clicks the button. This is not a coincidence.
+We still pass 0 as the parent, since the button is a top-level window.
+<p> <pre> <a name="x2292"></a> quit.<a href="qwidget.html#resize">resize</a>( 75, 30 );
+</pre>
+<p> We've chosen another size for the button since the text is a bit
+shorter than "Hello world!". We could also have used <a href="qfontmetrics.html">QFontMetrics</a>
+to set right size.
+<p> <pre> <a name="x2293"></a> quit.<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+</pre>
+<p> Here we choose a new font for the button, an 18-point bold font from
+the Times family. Note that we create the font on the spot.
+<p> It is also possible to change the default font (using <a href="qapplication.html#setFont">QApplication::setFont</a>()) for the whole application.
+<p> <pre> <a name="x2291"></a><a name="x2290"></a><a name="x2288"></a> QObject::<a href="qobject.html#connect">connect</a>( &amp;quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+</pre>
+<p> connect() is perhaps <em>the</em> most central feature of Qt.
+Note that connect() is a static function in <a href="qobject.html">QObject</a>. Do not confuse it
+with the connect() function in the socket library.
+<p> This line establishes a one-way connection between two Qt objects (objects
+that inherit QObject, directly or indirectly). Every Qt object can have
+both <tt>signals</tt> (to send messages) and <tt>slots</tt> (to receive messages). All
+widgets are Qt objects. They inherit <a href="qwidget.html">QWidget</a> which in turn inherits
+QObject.
+<p> Here, the <em>clicked()</em> signal of <em>quit</em> is connected to the <em>quit()</em> slot of <em>a</em>, so that when the button is clicked, the
+application quits.
+<p> The <a href="signalsandslots.html">Signals and Slots</a> documentation
+describes this topic in detail.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> When you run this program, you will see an even smaller window than in
+Chapter 1, filled with an even smaller button.
+<p> (See <a href="tutorial1-01.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Try to resize the window. Press the button. Oops! That connect()
+would seem to make some difference.
+<p> Are there any other signals in <a href="qpushbutton.html">QPushButton</a> you can connect to quit?
+Hint: The QPushButton inherits most of its behavior from <a href="qbutton.html">QButton</a>.
+<p> You're now ready for <a href="tutorial1-03.html">Chapter 3.</a>
+<p> [<a href="tutorial1-01.html">Previous tutorial</a>]
+[<a href="tutorial1-03.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-03.html b/doc/html/tutorial1-03.html
new file mode 100644
index 0000000..cac92da
--- /dev/null
+++ b/doc/html/tutorial1-03.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:303 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 3: Family Values</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 3: Family Values</h1>
+
+
+<p> <center><img src="t3.png" alt="Screenshot of tutorial three"></center>
+<p> This example shows how to create parent and child widgets.
+<p> We'll keep it simple and use just a single parent and a lone child.
+<p> <pre>/****************************************************************
+**
+** Qt tutorial 3
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ <a href="qvbox.html">QVBox</a> box;
+ box.<a href="qwidget.html#resize">resize</a>( 200, 120 );
+
+ <a href="qpushbutton.html">QPushButton</a> quit( "Quit", &amp;box );
+ quit.<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ QObject::<a href="qobject.html#connect">connect</a>( &amp;quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), &amp;a, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;box );
+ box.<a href="qwidget.html#show">show</a>();
+
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> #include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+</pre>
+<p> We add an include of qvbox.h to get the layout class we'll use.
+<p> <pre> <a href="qvbox.html">QVBox</a> box;
+</pre>
+<p> Here we simply create a vertical box container. The <a href="qvbox.html">QVBox</a> arranges
+its child widgets in a vertical row, one above the other, handing out
+space according to each child's <a href="qwidget.html#sizePolicy">QWidget::sizePolicy</a>().
+<p> <pre> <a name="x2300"></a> box.<a href="qwidget.html#resize">resize</a>( 200, 120 );
+</pre>
+<p> We set its width to 200 pixels and the height to 120 pixels.
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> quit( "Quit", &amp;box );
+</pre>
+<p> A child is born.
+<p> This <a href="qpushbutton.html">QPushButton</a> is created with both a text ("Quit") and a parent
+(box). A child widget is always on top of its parent. When
+displayed, it is clipped by its parent's bounds.
+<p> The parent widget, the QVBox, automatically adds the child centered in
+its box. Because nothing else is added, the button gets all the space
+the parent has.
+<p> <pre> <a name="x2302"></a> box.<a href="qwidget.html#show">show</a>();
+</pre>
+<p> When a parent widget is shown, it will call show for all its children
+(except those on which you have done an explicit <a href="qwidget.html#hide">QWidget::hide</a>()).
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The button no longer fills the entire widget. Instead, it gets a
+"natural" size. This is because there is now a new top-level widget,
+which uses the button's size hint and size change policy to set the
+button's size and position. (See <a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() and <a href="qwidget.html#setSizePolicy">QWidget::setSizePolicy</a>() for more information about these functions.)
+<p> (See <a href="tutorial1-01.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Try resizing the window. How does the button change? What is the
+button's size-change policy? What happens to the button's height if
+you run the program with a bigger font? What happens if you try to
+make the window <em>really</em> small?
+<p> You're now ready for <a href="tutorial1-04.html">Chapter 4.</a>
+<p> [<a href="tutorial1-02.html">Previous tutorial</a>]
+[<a href="tutorial1-04.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-04.html b/doc/html/tutorial1-04.html
new file mode 100644
index 0000000..524ce69
--- /dev/null
+++ b/doc/html/tutorial1-04.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:378 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 4: Let There Be Widgets</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 4: Let There Be Widgets</h1>
+
+
+<p> <center><img src="t4.png" alt="Screenshot of tutorial four"></center>
+<p> This example shows how to create your own widget, describes how to control the
+minimum and maximum sizes of a widget, and introduces widget names.
+<p> <pre>/****************************************************************
+**
+** Qt tutorial 4
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+
+class MyWidget : public <a href="qwidget.html">QWidget</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f552"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+{
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 200, 120 );
+ <a href="qwidget.html#setMaximumSize">setMaximumSize</a>( 200, 120 );
+
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 62, 40, 75, 30 );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 200, 120 );
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> class MyWidget : public <a href="qwidget.html">QWidget</a>
+ {
+ public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> Here we create a new class. Because this class inherits from <a href="qwidget.html">QWidget</a>,
+the new class is a widget and may be a top level window or a child
+widget (like the push button in Chapter 3).
+<p> This class has only one member, a constructor (in addition to the
+members it inherits from QWidget). The constructor is a standard Qt
+widget constructor; you should always include a similar constructor
+when you create widgets.
+<p> The first argument is its parent widget. To create a top-level window
+you specify a null pointer as the parent. As you can see, this widget
+defaults to be a top-level window.
+<p> The second argument is the widget's name. This is <em>not</em> the text
+that appears in the window's title bar or in the button. It is a name
+associated with a widget to make it possible to <a href="qobject.html#queryList">look up</a> this widget later, and there is
+also a <a href="qobject.html#dumpObjectTree">handy debugging function</a> that will list a complete widget hierarchy.
+<p> <pre> MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+</pre>
+<p> The implementation of the constructor starts here. Like most widgets,
+it just passes on the <tt>parent</tt> and <tt>name</tt> to the <a href="qwidget.html">QWidget</a>
+constructor.
+<p> <pre> {
+ <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 200, 120 );
+ <a href="qwidget.html#setMaximumSize">setMaximumSize</a>( 200, 120 );
+</pre>
+<p> Because this widget doesn't know how to handle resizing, we fix its size
+by setting the minimum and maximum to be equal. In the next chapter
+we will show how a widget can respond to resize event from the user.
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ <a name="x2308"></a> quit-&gt;<a href="qwidget.html#setGeometry">setGeometry</a>( 62, 40, 75, 30 );
+ <a name="x2307"></a> quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+</pre>
+<p> Here we create and set up a child widget of this widget (the new widget's
+parent is <tt>this</tt>) which has the widget name "quit". The widget
+name has nothing to do with the button text; it just happens to be
+similar in this case.
+<p> Note that <tt>quit</tt> is a local variable in the constructor. MyWidget
+does not keep track of it, but Qt does, and will by default delete it
+when MyWidget is deleted. This is why MyWidget doesn't need a
+destructor. (On the other hand, there is no harm in deleting a child
+when you choose to, the child will automatically tell Qt about its
+imminent death.)
+<p> The setGeometry() call does the same as move() and resize() did in the
+previous chapters.
+<p> <pre> <a name="x2306"></a><a name="x2304"></a> <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+ }
+</pre>
+<p> Because the MyWidget class doesn't know about the application object, it
+has to connect to Qt's pointer to it, <tt>qApp</tt>.
+<p> A widget is a software component and should know as little as possible
+about its environment in order to be as general and reusable as
+possible.
+<p> Knowing the name of the application object would break this principle,
+so Qt offers an alias, qApp, for the cases in which a component such as
+MyWidget needs to talk to the application object.
+<p> <pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ w.<a href="qwidget.html#setGeometry">setGeometry</a>( 100, 100, 200, 120 );
+ <a name="x2305"></a> a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ <a name="x2309"></a> w.<a href="qwidget.html#show">show</a>();
+ <a name="x2303"></a> return a.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p> Here we instantiate our new child, set it to be the main widget, and
+execute the application.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> This program is very similar in behavior to the previous one. The
+difference lies in the way we have implemented it. It does behave
+slightly differently, however. Just try to resize it to see.
+<p> (See <a href="tutorial1-01.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Try to create another MyWidget object in main(). What happens?
+<p> Try to add more buttons or put in widgets other than <a href="qpushbutton.html">QPushButton</a>.
+<p> You're now ready for <a href="tutorial1-05.html">Chapter 5.</a>
+<p> [<a href="tutorial1-03.html">Previous tutorial</a>]
+[<a href="tutorial1-05.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-05.html b/doc/html/tutorial1-05.html
new file mode 100644
index 0000000..57e8572
--- /dev/null
+++ b/doc/html/tutorial1-05.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:487 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 5: Building Blocks</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 5: Building Blocks</h1>
+
+
+<p> <center><img src="t5.png" alt="Screenshot of tutorial five"></center>
+<p> This example shows how to create and connect together several widgets
+by using signals and slots, and how to handle resize events.
+<p> <pre>/****************************************************************
+**
+** Qt tutorial 5
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+
+class MyWidget : public <a href="qvbox.html">QVBox</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f553"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+
+ <a href="qslider.html">QSlider</a> * slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+}
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+ #include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+ #include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+ #include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+
+ #include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+</pre>
+<p> Three new include files are shown here. qslider.h and qlcdnumber.h are there
+because we use two new widgets, <a href="qslider.html">QSlider</a> and <a href="qlcdnumber.html">QLCDNumber</a>. qvbox.h is
+here because we use Qt's automatic layout support.
+<p> <pre> class MyWidget : public <a href="qvbox.html">QVBox</a>
+ {
+ public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> <a name="constructor"></a>
+<pre> MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+ {
+</pre>
+<p> MyWidget is now derived from <a href="qvbox.html">QVBox</a> instead of <a href="qwidget.html">QWidget</a>. That way we use
+the layout of the QVBox (which places all of its children vertically
+inside itself). Resizes are now handled automatically by the QVBox and
+therefore by MyWidget, too.
+<p> <pre> <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+</pre>
+<p> <tt>lcd</tt> is a QLCDNumber, a widget that displays numbers in an LCD-like
+fashion. This instance is set up to display two digits and to be a child of
+<em>this</em>. It is named "lcd".
+<p> <pre> <a href="qslider.html">QSlider</a> * slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ <a name="x2315"></a> slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ <a name="x2316"></a> slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+</pre>
+<p> <a href="qslider.html">QSlider</a> is a classical slider; the user can use the widget to drag
+something to adjust an integer value in a range. Here we create a
+horizontal one, set its range to 0-99 (inclusive, see the <a href="qrangecontrol.html#setRange">QSlider::setRange</a>() documentation) and its initial value to 0.
+<p> <pre> <a name="x2317"></a><a name="x2314"></a> <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+</pre>
+<p> Here we use the <a href="signalsandslots.html">signal/slot mechanism</a>
+to connect the slider's valueChanged() signal to the LCD number's
+display() slot.
+<p> Whenever the slider's value changes it broadcasts the new value by
+emitting the valueChanged() signal. Because that signal is connected to
+the LCD number's display() slot, the slot is called when the signal is
+broadcast. Neither of the objects knows about the other. This is
+essential in component programming.
+<p> Slots are otherwise normal C++ member functions and follow the normal
+C++ access rules.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The LCD number reflects everything you do to the slider, and the
+widget handles resizing well. Notice that the LCD number widget
+changes in size when the window is resized (because it can), but the
+others stay about the same (because otherwise they would look stupid).
+<p> (See <a href="tutorial1-01.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Try changing the LCD number to add more digits or <a href="qlcdnumber.html#setMode">to change mode.</a> You can even add four push
+buttons to set the number base.
+<p> You can also change the slider's range.
+<p> Perhaps it would have been better to use <a href="qspinbox.html">QSpinBox</a> than a slider?
+<p> Try to make the application quit when the LCD number overflows.
+<p> You're now ready for <a href="tutorial1-06.html">Chapter 6.</a>
+<p> [<a href="tutorial1-04.html">Previous tutorial</a>]
+[<a href="tutorial1-06.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-06.html b/doc/html/tutorial1-06.html
new file mode 100644
index 0000000..e7b2a8a
--- /dev/null
+++ b/doc/html/tutorial1-06.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:580 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 6: Building Blocks Galore!</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 6: Building Blocks Galore!</h1>
+
+
+<p> <center><img src="t6.png" alt="Screenshot of tutorial six"></center>
+<p> This example shows how to encapsulate two widgets into a new component and
+how easy it is to use many widgets. For the first time, we use a custom
+widget as a child widget.
+<p> <a name="main"></a>
+<pre>/****************************************************************
+**
+** Qt tutorial 6
+**
+****************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qfont-h.html">qfont.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qgrid-h.html">qgrid.h</a>&gt;
+
+class LCDRange : public <a href="qvbox.html">QVBox</a>
+{
+public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+<a name="f554"></a>LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ <a href="qslider.html">QSlider</a> * slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+}
+
+class MyWidget : public <a href="qvbox.html">QVBox</a>
+{
+public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+};
+
+
+<a name="f555"></a>MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+
+ <a href="qgrid.html">QGrid</a> *grid = new <a href="qgrid.html">QGrid</a>( 4, this );
+
+ for( int r = 0 ; r &lt; 4 ; r++ )
+ for( int c = 0 ; c &lt; 4 ; c++ )
+ (void)new LCDRange( grid );
+}
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ MyWidget w;
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &amp;w );
+ w.<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+</pre>
+
+
+
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <pre> class LCDRange : public <a href="qvbox.html">QVBox</a>
+ {
+ public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> The LCDRange widget is a widget without any API. It just has a
+constructor. This sort of widget is not very useful, so we'll add some API later.
+<p> <pre> LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+ {
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ <a href="qslider.html">QSlider</a> * slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ <a name="x2325"></a> slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ <a name="x2326"></a> slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a name="x2327"></a><a name="x2324"></a> <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ }
+</pre>
+<p> This is lifted straight from the
+<a href="tutorial1-05.html#constructor">MyWidget constructor</a> in Chapter 5.
+The only differences are that the button is left out and the class
+is renamed.
+<p> <pre> class MyWidget : public <a href="qvbox.html">QVBox</a>
+ {
+ public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> MyWidget, too, contains no API except a constructor.
+<p> <pre> MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+ {
+ <a href="qpushbutton.html">QPushButton</a> *quit = new <a href="qpushbutton.html">QPushButton</a>( "Quit", this, "quit" );
+ <a name="x2328"></a> quit-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+
+ <a name="x2321"></a> <a href="qobject.html#connect">connect</a>( quit, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+</pre>
+<p> The push button that used to be in what is now LCDRange has been
+separated so that we can have one "Quit" button and many LCDRange
+objects.
+<p> <pre> <a href="qgrid.html">QGrid</a> *grid = new <a href="qgrid.html">QGrid</a>( 4, this );
+</pre>
+<p> We create a <a href="qgrid.html">QGrid</a> object with four columns. The QGRid widget
+automatically arranges its children in rows and columns; you can
+specify the number of rows or of columns, and QGrid will discover its
+new children and fit them into the grid.
+<p> <pre> for( int r = 0 ; r &lt; 4 ; r++ )
+ for( int c = 0 ; c &lt; 4 ; c++ )
+ (void)new LCDRange( grid );
+</pre>
+<p> Four columns, four rows.
+<p> We create 4*4 LCDRanges, all of which are children of the grid object.
+The QGrid widget will arrange them.
+<p> <pre> }
+</pre>
+<p> That's all.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> This program shows how easy it is to use many widgets at a time. Each
+one behaves like the slider and LCD number in the previous
+chapter. Again, the difference lies in the implementation.
+<p> (See <a href="tutorial1-01.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Initialize each slider with a different/random value on startup.
+<p> The source contains three occurrences of "4". What happens if you
+change the one in the <a href="qgrid.html">QGrid</a> constructor call? What about the other
+two? Why is this?
+<p> You're now ready for <a href="tutorial1-07.html">Chapter 7.</a>
+<p> [<a href="tutorial1-05.html">Previous tutorial</a>]
+[<a href="tutorial1-07.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-07.html b/doc/html/tutorial1-07.html
new file mode 100644
index 0000000..11c08b0
--- /dev/null
+++ b/doc/html/tutorial1-07.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:670 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 7: One Thing Leads to Another</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 7: One Thing Leads to Another</h1>
+
+
+<p> <center><img src="t7.png" alt="Screenshot of tutorial seven"></center>
+<p> This example shows how to create custom widgets with signals and
+slots, and how to connect them together in more complex ways. For the
+first time, the source is split among several files which we've placed
+in the <tt>t7</tt> subdirectory.
+<p> <ul>
+<li> <a href="t7-lcdrange-h.html">t7/lcdrange.h</a> contains the LCDRange class definition.
+<li> <a href="t7-lcdrange-cpp.html">t7/lcdrange.cpp</a> contains the LCDRange implementation.
+<li> <a href="t7-main-cpp.html">t7/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t7-lcdrange-h.html">t7/lcdrange.h</a>
+</h3>
+<a name="1-1"></a><p> This file is mainly lifted from <a href="tutorial1-06.html#main">main.cpp</a> in
+Chapter 6; only the changes are noted here.
+<p>
+
+<p> <pre> #ifndef LCDRANGE_H
+ #define LCDRANGE_H
+</pre>
+<p> This is the classic C construction to avoid errors if a header file
+happens to be included more than once. If you don't use it already,
+it is a very good habit to develop. The #ifndef should enclose <em>all</em> of the
+header file.
+<p> <pre> #include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+</pre>
+<p> <a href="qvbox-h.html">qvbox.h</a> is included. LCDRange inherits <a href="qvbox.html">QVBox</a>, and the header file
+of a parent class must always be included. We cheated a bit in the
+previous chapters, and we let <a href="qwidget-h.html">qwidget.h</a> be included indirectly via
+other header files such as <a href="qpushbutton-h.html">qpushbutton.h</a>.
+<p> <pre> class QSlider;
+</pre>
+<p> This is another classic trick, but one that's much less used often. Because
+we don't need <a href="qslider.html">QSlider</a> in the <em>interface</em> of the class, only in the
+implementation, we use a forward declaration of the class in the
+header file and include the header file for QSlider in the .cpp
+file.
+<p> This makes the compilation of big projects much faster, because when a
+header file has changed, fewer files need to be recompiled. It can
+often speed up big compilations by a factor of two or more.
+<p> <pre> class LCDRange : public <a href="qvbox.html">QVBox</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+</pre>
+<p> Note the Q_OBJECT. This macro must be included in <em>all</em> classes that
+contain signals and/or slots. If you are curious, it defines the
+functions that are implemented in the
+<a href="metaobjects.html">meta object file</a>.
+<p> <pre> int value() const;
+ public slots:
+ void setValue( int );
+
+ signals:
+ void valueChanged( int );
+</pre>
+<p> These three members make up an interface between this widget and other
+components in a program. Until now, LCDRange didn't really have an
+interface at all.
+<p> value() is a public function for accessing the value of the LCDRange.
+setValue() is our first custom slot and valueChanged() is our first
+custom signal.
+<p> Slots must be implemented in the normal way (remember that a slot is also
+a C++ member function). Signals are automatically implemented in the
+<a href="signalsandslots.html">meta object</a> file. Signals follow the
+access rules of protected C++ functions (i.e., they can be emitted only
+by the class they are defined in or by classes inheriting from it).
+<p> The signal valueChanged() is used when the LCDRange's value has
+changed - just as you guessed from the name. This is not the last
+signal you'll see called <i>something</i>Changed().
+<p> <h3> <a href="t7-lcdrange-cpp.html">t7/lcdrange.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> This file is mainly lifted from <a href="tutorial1-06.html#main">t6/main.cpp</a>, and
+only the changes are noted here.
+<p> <pre> <a name="x2333"></a> <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ <a name="x2330"></a> lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+</pre>
+<p> This code is from the LCDRange constructor.
+<p> The first connect is the same that you have seen in the previous chapter.
+The second is new; it connects slider's valueChanged() signal to this
+object's valueChanged <em>signal</em>. Connect() with 3 arguments always
+connects to signals or slots in <tt>this</tt> object.
+<p> Yes, that's right. Signals can be connected to other signals. When
+the first is emitted, the second signal is also emitted.
+<p> Let's look at what happens when the user operates the slider. The
+slider sees that its value has changed and emits the valueChanged()
+signal. That signal is connected both to the display() slot of the
+<a href="qlcdnumber.html">QLCDNumber</a> and to the valueChanged() signal of the LCDRange.
+<p> Thus, when the signal is emitted, LCDRange emits its own
+valueChanged() signal. In addition, <a href="qlcdnumber.html#display">QLCDNumber::display</a>() is called
+and shows the new number.
+<p> Note that you're not guaranteed any particular order of execution -
+LCDRange::valueChanged() may be emitted before or after
+QLCDNumber::display()and is entirely arbitrary.
+<p> <pre> int LCDRange::value() const
+ {
+ <a name="x2332"></a> return slider-&gt;<a href="qslider.html#value">value</a>();
+ }
+</pre>
+<p> The implementation of value() is straightforward; it simply returns
+the slider's value.
+<p> <pre> void LCDRange::setValue( int value )
+ {
+ <a name="x2331"></a> slider-&gt;<a href="qslider.html#setValue">setValue</a>( value );
+ }
+</pre>
+<p> The implementation of setValue() is equally straightforward. Note
+that because the slider and LCD number are connected, setting the
+slider's value automatically updates the LCD number as well. In
+addition, the slider will automatically adjust the value if it is
+outside its legal range.
+<p> <h3> <a href="t7-main-cpp.html">t7/main.cpp</a>
+</h3>
+<a name="1-3"></a><p>
+
+<p> <pre> LCDRange *previous = 0;
+ for( int r = 0 ; r &lt; 4 ; r++ ) {
+ for( int c = 0 ; c &lt; 4 ; c++ ) {
+ LCDRange* lr = new LCDRange( grid );
+ if ( previous )
+ <a href="qobject.html#connect">connect</a>( lr, SIGNAL(valueChanged(int)),
+ previous, SLOT(setValue(int)) );
+ previous = lr;
+ }
+ }
+</pre>
+<p> All of main.cpp is copied from the previous chapter except in
+the constructor for MyWidget. When we create the 16 LCDRange object, we
+now connect them using the <a href="signalsandslots.html">signal/slot</a> mechanism. Each has its valueChanged() signal
+connected to the setValue() slot in the previous one. Because LCDRange
+emits the signal valueChanged() when its value changes (surprise!), we
+are here creating a "chain" of signals and slots.
+<p> <a name="compiling"></a>
+<h2> Compiling
+</h2>
+<a name="2"></a><p> Creating a makefile for a multi-file application is no different from
+creating one for a single-file application. If you've saved all the
+files in this example in their own directory, all you have to do is:
+<pre>
+qmake -project
+qmake
+</pre>
+
+<p> The first command tells <a href="qmake-manual.html">qmake</a> to
+create a <tt>.pro</tt> (project) file. The second command tells it to create
+a (platform-specific) makefile based on the project file. You should
+now be able to type <tt>make</tt> (or <tt>nmake</tt> if you're using Visual
+Studio) to build your application.
+<p> <h2> Behavior
+</h2>
+<a name="3"></a><p> On startup, the program's appearance is identical to the previous one.
+Try operating the slider to the bottom right...
+<p> <h2> Exercises
+</h2>
+<a name="4"></a><p> Use the bottom right slider to set all LCDs to 50. Then set the top
+half to 40 by clicking once to the left of the slider handle. Now,
+use the one to the left of the last one operated to set the first
+seven LCDs back to 50.
+<p> Click to the left of the handle on the bottom right slider. What
+happens? Why is this the correct behavior?
+<p> You're now ready for <a href="tutorial1-08.html">Chapter 8.</a>
+<p> [<a href="tutorial1-06.html">Previous tutorial</a>]
+[<a href="tutorial1-08.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-08.html b/doc/html/tutorial1-08.html
new file mode 100644
index 0000000..beb1f66
--- /dev/null
+++ b/doc/html/tutorial1-08.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:868 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 8: Preparing for Battle</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 8: Preparing for Battle</h1>
+
+
+<p> <center><img src="t8.png" alt="Screenshot of tutorial eight"></center>
+<p> In this example, we introduce the first custom widget that can paint
+itself. We also add a useful keyboard interface (with two lines of
+code).
+<p> <ul>
+<li> <a href="t8-lcdrange-h.html">t8/lcdrange.h</a> contains the LCDRange class definition.
+<li> <a href="t8-lcdrange-cpp.html">t8/lcdrange.cpp</a> contains the LCDRange implementation.
+<li> <a href="t8-cannon-h.html">t8/cannon.h</a> contains the CannonField class definition.
+<li> <a href="t8-cannon-cpp.html">t8/cannon.cpp</a> contains the CannonField implementation.
+<li> <a href="t8-main-cpp.html">t8/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t8-lcdrange-h.html">t8/lcdrange.h</a>
+</h3>
+<a name="1-1"></a><p> This file is very similar to the lcdrange.h in Chapter 7. We have added
+one slot: setRange().
+<p>
+
+<p> <pre> void setRange( int minVal, int maxVal );
+</pre>
+<p> We now add the possibility of setting the range of the LCDRange.
+Until now, it has been fixed at 0..99.
+<p> <h3> <a href="t8-lcdrange-cpp.html">t8/lcdrange.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> There is a change to the constructor (we'll discuss that later).
+<p> <pre> void LCDRange::setRange( int minVal, int maxVal )
+ {
+ if ( minVal &lt; 0 || maxVal &gt; 99 || minVal &gt; maxVal ) {
+ <a href="qapplication.html#qWarning">qWarning</a>( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ <a name="x2334"></a> slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( minVal, maxVal );
+ }
+</pre>
+<p> SetRange() sets the range of the slider in the LCDRange. Because we
+have set up the <a href="qlcdnumber.html">QLCDNumber</a> to always display two digits, we want to
+limit the possible range of <tt>minVal</tt> and <tt>maxVal</tt> to 0..99 to avoid
+overflow of the QLCDNumber. (We could have allowed values down to -9
+but chose not to.) If the arguments are illegal, we use Qt's
+<a href="qapplication.html#qWarning">qWarning</a>() function to issue a warning to the user and return
+immediately. qWarning() is a printf-like function that by default
+sends its output to <tt>stderr</tt>. If you want, you can install your own handler
+function using <a href="qapplication.html#qInstallMsgHandler">::qInstallMsgHandler</a>().
+<p> <h3> <a href="t8-cannon-h.html">t8/cannon.h</a>
+</h3>
+<a name="1-3"></a><p> CannonField is a new custom widget that knows how to display itself.
+<p>
+
+<p> <pre> class CannonField : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ CannonField( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+</pre>
+<p> CannonField inherits <a href="qwidget.html">QWidget</a>, and we use the same idiom as for LCDRange.
+<p> <pre> int angle() const { return ang; }
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+
+ public slots:
+ void setAngle( int degrees );
+
+ signals:
+ void angleChanged( int );
+</pre>
+<p> For the time being, CannonField only contains an angle value for which we
+provide an interface using the same idiom as for value in LCDRange.
+<p> <pre> protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+</pre>
+<p> This is the second of the many event handlers in QWidget that we
+encounter. This virtual function is called by Qt whenever a widget needs
+to update itself (i.e., paint the widget's surface).
+<p> <h3> <a href="t8-cannon-cpp.html">t8/cannon.cpp</a>
+</h3>
+<a name="1-4"></a><p>
+
+<p> <pre> CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+</pre>
+<p> Again, we use the same idiom as for LCDRange in the previous chapter.
+<p> <pre> ang = 45;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ }
+</pre>
+<p> The constructor initializes the angle value to 45 degrees and sets a
+custom palette for this widget.
+<p> This palette uses the indicated color as background and picks other
+colors suitably. (For this widget only the background and text
+colors will actually be used.)
+<p> <pre> void CannonField::setAngle( int degrees )
+ {
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit angleChanged( ang );
+ }
+</pre>
+<p> This function sets the angle value. We have chosen a legal range of
+5..70 and adjust the given number of degrees accordingly. We have
+chosen not to issue a warning if the new angle is out of range.
+<p> If the new angle equals the old one, we return immediately. It is
+important to only emit the signal angleChanged() when the angle <em>really</em> has changed.
+<p> Then we set the new angle value and repaint our widget. The <a href="qwidget.html#repaint">QWidget::repaint</a>() function clears the widget (usually filling it with
+its background color) and sends a paint event to the widget. This
+results in a call to the paint event function of the widget.
+<p> Finally, we emit the angleChanged() signal to tell the outside world
+that the angle has changed. The <tt>emit</tt> keyword is unique to Qt and
+not regular C++ syntax. In fact, it is a macro.
+<p> <pre> <a name="x2336"></a>void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qstring.html">QString</a> s = "Angle = " + QString::number( ang );
+ <a href="qpainter.html">QPainter</a> p( this );
+ <a name="x2335"></a> p.<a href="qpainter.html#drawText">drawText</a>( 200, 200, s );
+ }
+</pre>
+<p> This is our first attempt to write a paint event handler. The event
+argument contains a description of the paint event. <a href="qpaintevent.html">QPaintEvent</a>
+contains the region in the widget that must be updated. For the time
+being, we will be lazy and just paint everything.
+<p> Our code displays the angle value in the widget at a fixed position.
+First we create a <a href="qstring.html">QString</a> with some text and the angle; then we create
+a <a href="qpainter.html">QPainter</a> operating on this widget and use it to paint the string.
+We'll come back to QPainter later; it can do a great many things.
+<p> <h3> <a href="t8-main-cpp.html">t8/main.cpp</a>
+</h3>
+<a name="1-5"></a><p>
+
+<p> <pre> #include "cannon.h"
+</pre>
+<p> We include our new class.
+<p> <pre> class MyWidget: public <a href="qwidget.html">QWidget</a>
+ {
+ public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> This time we include a single LCDRange and a CannonField in our top-level
+widget.
+<p> <pre> LCDRange *angle = new LCDRange( this, "angle" );
+</pre>
+<p> In the constructor, we create and set up our LCDRange.
+<p> <pre> angle-&gt;setRange( 5, 70 );
+</pre>
+<p> We set the LCDRange to accept ranges from 5 to 70 degrees.
+<p> <pre> CannonField *cannonField
+ = new CannonField( this, "cannonField" );
+</pre>
+<p> We create our CannonField.
+<p> <pre> <a href="qobject.html#connect">connect</a>( angle, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setAngle(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(angleChanged(int)),
+ angle, SLOT(setValue(int)) );
+</pre>
+<p> Here we connect the valueChanged() signal of the LCDRange to the
+setAngle() slot of the CannonField. This will update CannonField's angle
+value whenever the user operates the LCDRange. We also make the reverse
+connection so that changing the angle in the CannonField will update the
+LCDRange value. In our example we never change the angle of the
+CannonField directly; but by doing the last connect() we ensure that no
+future changes will disrupt the synchronization between those two values.
+<p> This illustrates the power of component programming and proper
+encapsulation.
+<p> Notice how important it is to emit the angleChanged() signal only when
+the angle actually changes. If both the LCDRange and the CannonField
+had omitted this check, the program would have entered an infinite
+loop upon the first change of one of the values.
+<p> <pre> <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ //2x2, 10 pixel border
+</pre>
+<p> So far we have used the no-assembly-required <a href="qvbox.html">QVBox</a> and <a href="qgrid.html">QGrid</a> widgets
+for geometry management. Now, however, we want to have a little more
+control over the layout, and we switch to the more powerful <a href="qgridlayout.html">QGridLayout</a>
+class. QGridLayout isn't a widget; it is a different class that can
+manage the children of <em>any</em> widget.
+<p> As the comment indicates, we create a two-by-two array with ten pixel
+borders. (The constructor for <a href="qgridlayout.html">QGridLayout</a> can be a little cryptic,
+so it's good to put in such comments.)
+<p> <pre> <a name="x2337"></a> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+</pre>
+<p> We add the Quit button in the top-left cell of the grid: 0, 0.
+<p> <pre> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( angle, 1, 0, Qt::AlignTop );
+</pre>
+<p> We put the angle LCDRange in the bottom-left cell, aligned to the top
+of its cell. (This alignment is one of the things QGridLayout allows
+but QGrid does not allow.)
+<p> <pre> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( cannonField, 1, 1 );
+</pre>
+<p> We put the CannonField object in the bottom-right cell. (The top-
+right cell is empty.)
+<p> <pre> <a name="x2338"></a> grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+</pre>
+<p> We tell <a href="qgridlayout.html">QGridLayout</a> that the right column (column 1) is stretchable.
+Because the left column isn't (it has <a href="layout.html#stretch-factor">stretch factor</a> 0, the default
+value), QGridLayout will try to let the left-hand widgets' sizes be
+unchanged and will resize just the CannonField when the MyWidget is
+resized.
+<p> <pre> angle-&gt;setValue( 60 );
+</pre>
+<p> We set an initial angle value. Note that this will trigger the
+connection from LCDRange to CannonField.
+<p> <pre> <a name="x2339"></a> angle-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+</pre>
+<p> Our last action is to set <tt>angle</tt> to have <a href="focus.html#keyboard-focus">keyboard focus</a> so that
+keyboard input will go to the LCDRange widget by default.
+<p> LCDRange does not contain any keyPressEvent(), so that would seem not
+to be terribly useful. However, its constructor just got a new line:
+<p>
+
+<pre> <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+</pre>
+<p> The LCDRange sets the slider to be its focus proxy. That means that
+when someone (the program or the user) wants to give the LCDRange
+keyboard focus, the slider should take care of it. <a href="qslider.html">QSlider</a> has a decent
+keyboard interface, so with just one line of code we've given LCDRange
+one.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The keyboard now does something - the arrow keys, Home, End, PageUp
+and PageDown all do something vaguely sensible.
+<p> When the slider is operated, the CannonField displays the new angle
+value. Upon resizing, CannonField is given as much space as possible.
+<p> On Windows machines with an 8-bit display the new background color is
+dithered to death. The next chapter works around this.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Try to resize the window. What happens if you make it really narrow
+or really squat?
+<p> If you remove the AlignTop, what happens to the LCDRange's position
+and size? Why?
+<p> If you give the left-hand column a non-zero stretch factor, what
+happens when you resize the window?
+<p> Leave out the setFocus() call. Which behavior do you prefer?
+<p> Try to change "Quit" to "&Quit" in the <a href="qbutton.html#setText">QButton::setText</a>() call. How
+does the button's look change? What happens if you press Alt+Q while
+the program's running? (It is Meta+Q on a few keyboards.)
+<p> Center the text in the CannonField.
+<p> You're now ready for <a href="tutorial1-09.html">Chapter 9.</a>
+<p> [<a href="tutorial1-07.html">Previous tutorial</a>]
+[<a href="tutorial1-09.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-09.html b/doc/html/tutorial1-09.html
new file mode 100644
index 0000000..6492db2
--- /dev/null
+++ b/doc/html/tutorial1-09.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1153 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 9: With Cannon You Can</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 9: With Cannon You Can</h1>
+
+
+<p> <center><img src="t9.png" alt="Screenshot of tutorial nine"></center>
+<p> In this example we become graphic by drawing a cute little blue
+cannon. Only cannon.cpp differs from the previous chapter.
+<p> <ul>
+<li> <a href="t9-lcdrange-h.html">t9/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t9-lcdrange-cpp.html">t9/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t9-cannon-h.html">t9/cannon.h</a> contains the CannonField class
+definition.
+<li> <a href="t9-cannon-cpp.html">t9/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t9-main-cpp.html">t9/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t9-cannon-cpp.html">t9/cannon.cpp</a>
+</h3>
+<a name="1-1"></a><p>
+
+<p> <pre> <a name="x2346"></a>void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+ {
+ <a href="qpainter.html">QPainter</a> p( this );
+</pre>
+<p> We'll now start to use <a href="qpainter.html">QPainter</a> in earnest. We create a painter that
+operates on this widget.
+<p> <pre> <a name="x2343"></a> p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+</pre>
+<p> When QPainter fills a rectangle, a circle, or whatever, it fills the
+shape using its brush. Here we set it to use a blue brush. (We
+could also use a pattern.)
+<p> <pre> <a name="x2344"></a> p.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+</pre>
+<p> And the edges of what QPainter draws are drawn using the pen. Here we
+set it to NoPen, meaning that there will be no special edge when we
+draw something; the blue brush will go all the way to the edges of
+the things we draw.
+<p> <pre> <a name="x2345"></a> p.<a href="qpainter.html#translate">translate</a>( 0, rect().bottom() );
+</pre>
+<p> The <a href="qpainter.html#translate">QPainter::translate</a>() function translates the coordinate
+system of the QPainter; i.e., it moves it by an offset. Here we set
+the (0, 0) point to the bottom-left corner of the widget. The x and
+y directions remain unchanged, i.e., all the y coordinates inside the
+widget are now negative (see <a href="coordsys.html">The Coordinate
+System</a> for more information about Qt's coordinate system).
+<p> <pre> <a name="x2340"></a> p.<a href="qpainter.html#drawPie">drawPie</a>( QRect(-35, -35, 70, 70), 0, 90*16 );
+</pre>
+<p> The drawPie() function draws a pie shape inside the specified
+rectangle using a start angle and an arc length. The angles are
+specified in 1/16th of a degree. Zero degrees is at the 3 o'clock
+position. The drawing direction is counter-clockwise. Here we draw a
+quarter of a circle in the bottom-left corner of the widget. The pie
+is filled with blue and has no outline.
+<p> <pre> <a name="x2342"></a> p.<a href="qpainter.html#rotate">rotate</a>( -ang );
+</pre>
+<p> The <a href="qpainter.html#rotate">QPainter::rotate</a>() function rotates the coordinate system of the
+<a href="qpainter.html">QPainter</a> around the origin. The rotation argument is a <tt>float</tt> given
+in degrees (not given in 1/16th of a degree as above) and clockwise.
+Here we rotate the coordinate system <tt>ang</tt> degrees counter-clockwise.
+<p> <pre> <a name="x2341"></a> p.<a href="qpainter.html#drawRect">drawRect</a>( QRect(33, -4, 15, 8) );
+</pre>
+<p> The <a href="qpainter.html#drawRect">QPainter::drawRect</a>() function draws the specified rectangle. Here
+we draw the barrel of the cannon.
+<p> It can often be difficult to envision the resulting drawing when the
+coordinate system has been transformed (translated, rotated, scaled, or
+sheared) as above.
+<p> In this case the coordinate system is first translated and then rotated.
+If the rectangle <a href="qrect.html">QRect</a>(33, -4, 15, 8) had been drawn in the translated
+coordinate system, it would have looked like this:
+<p> <center><img src="t9_1.png" alt="The cannon translated but not rotated"></center>
+<p> Note that the rectangle is clipped by the border of the CannonField
+widget. When we rotate the coordinate system, for instance 60
+degrees, the rectangle will be rotated around (0, 0), which is the
+bottom-left corner because we have translated the coordinate system.
+The result looks like this:
+<p> <center><img src="t9_2.png" alt="The cannon translated and rotated"></center>
+<p> We're done, except that we haven't explained why Windows didn't dither
+this time.
+<p>
+
+<pre> int main( int argc, char **argv )
+ {
+ <a name="x2347"></a> QApplication::<a href="qapplication.html#setColorSpec">setColorSpec</a>( QApplication::CustomColor );
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+</pre>
+<p> We tell Qt that we want a different color-allocation strategy for this
+program. There is no single correct color-allocation strategy. Because
+this program uses an unusual yellow but not many colors, <tt>CustomColor</tt> is best. There are several other allocation strategies; you can read about them in the <a href="qapplication.html#setColorSpec">QApplication::setColorSpec</a>()
+documentation.
+<p> Mostly you can ignore this, since the default is good. Occasionally
+some applications with unusual color use look bad; changing the
+allocation strategy often helps then.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> When the slider is operated the angle of the drawn cannon changes
+accordingly.
+<p> The Q on the Quit button is now underlined, and Alt+Q does what you
+think it does. If you do not know why, you didn't do the exercises in
+Chapter 8.
+<p> You may notice that the cannon flickers annoyingly, especially on a
+slow machine. We'll fix this in the next chapter.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Set a different pen instead of NoPen. Set a patterned brush.
+<p> Try "Q&uit" or "Qu&it" as button text instead of "&Quit". What
+happens?
+<p> You're now ready for <a href="tutorial1-10.html">Chapter 10.</a>
+<p> [<a href="tutorial1-08.html">Previous tutorial</a>]
+[<a href="tutorial1-10.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-10.html b/doc/html/tutorial1-10.html
new file mode 100644
index 0000000..6ac1b03
--- /dev/null
+++ b/doc/html/tutorial1-10.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1304 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 10: Smooth as Silk</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 10: Smooth as Silk</h1>
+
+
+<p> <center><img src="t10.png" alt="Screenshot of tutorial ten"></center>
+<p> In this example, we introduce painting in a pixmap to remove flickering.
+We also add a force control.
+<p> <ul>
+<li> <a href="t10-lcdrange-h.html">t10/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t10-lcdrange-cpp.html">t10/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t10-cannon-h.html">t10/cannon.h</a> contains the CannonField class
+definition.
+<li> <a href="t10-cannon-cpp.html">t10/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t10-main-cpp.html">t10/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t10-cannon-h.html">t10/cannon.h</a>
+</h3>
+<a name="1-1"></a><p> The CannonField now has a force value in addition to the angle.
+<p>
+
+<p> <pre> int angle() const { return ang; }
+ int force() const { return f; }
+
+ public slots:
+ void setAngle( int degrees );
+ void setForce( int newton );
+
+ signals:
+ void angleChanged( int );
+ void forceChanged( int );
+</pre>
+<p> The interface to the force follows the same practice as for the angle.
+<p> <pre> private:
+ <a href="qrect.html">QRect</a> cannonRect() const;
+</pre>
+<p> We have put the definition of the cannon's enclosing rectangle in a
+separate function.
+<p> <pre> int ang;
+ int f;
+ };
+</pre>
+<p> The force is stored in the integer <tt>f</tt>.
+<p> <h3> <a href="t10-cannon-cpp.html">t10/cannon.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> <pre> #include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+</pre>
+<p> We include the <a href="qpixmap.html">QPixmap</a> class definition.
+<p> <pre> CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+ ang = 45;
+ f = 0;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ }
+</pre>
+<p> The force (<tt>f</tt>) is initialized to zero.
+<p> <pre> void CannonField::setAngle( int degrees )
+ {
+ if ( degrees &lt; 5 )
+ degrees = 5;
+ if ( degrees &gt; 70 )
+ degrees = 70;
+ if ( ang == degrees )
+ return;
+ ang = degrees;
+ <a href="qwidget.html#repaint">repaint</a>( cannonRect(), FALSE );
+ emit angleChanged( ang );
+ }
+</pre>
+<p> We have made a slight change in the setAngle() function. It repaints
+only the portion of the widget that contains the cannon. The FALSE
+argument indicates that the specified rectangle should not be erased
+before a paint event is sent to the widget. This speeds up and smooths
+the drawing a little bit.
+<p> <pre> void CannonField::setForce( int newton )
+ {
+ if ( newton &lt; 0 )
+ newton = 0;
+ if ( f == newton )
+ return;
+ f = newton;
+ emit forceChanged( f );
+ }
+</pre>
+<p> The implementation of setForce() is quite similar to that of
+setAngle(). The only difference is that because we don't show the force
+value, we don't need to repaint the widget.
+<p> <pre> void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a name="x2357"></a> if ( !e-&gt;<a href="qpaintevent.html#rect">rect</a>().intersects( cannonRect() ) )
+ return;
+</pre>
+<p> We have now optimized the paint event to repaint only the parts of the
+widget that need updating. First we check whether we have to paint
+anything at all, and we return if we don't.
+<p> <pre> <a href="qrect.html">QRect</a> cr = cannonRect();
+ <a name="x2361"></a> <a href="qpixmap.html">QPixmap</a> pix( cr.<a href="qrect.html#size">size</a>() );
+</pre>
+<p> Then we create a temporary pixmap, which we use for flicker-free
+painting. All the painting operations are done into this pixmap, and
+then the pixmap is drawn on the screen in a single operation.
+<p> This is the essence of flicker-free drawing: Draw on each pixel
+precisely once. Less, and you get drawing errors. More, and you get
+flicker. It doesn't matter much in this example - when the code was
+written there were still machines slow enough for it to flicker, but
+not any more. We've kept the code for educational purposes.
+<p> <pre> <a name="x2362"></a><a name="x2358"></a> pix.<a href="qpixmap.html#fill">fill</a>( this, cr.<a href="qrect.html#topLeft">topLeft</a>() );
+</pre>
+<p> We fill the pixmap with the background from this widget.
+<p> <pre> <a href="qpainter.html">QPainter</a> p( &amp;pix );
+ <a name="x2354"></a> p.<a href="qpainter.html#setBrush">setBrush</a>( blue );
+ p.<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ <a name="x2359"></a><a name="x2356"></a> p.<a href="qpainter.html#translate">translate</a>( 0, pix.<a href="qpixmap.html#height">height</a>() - 1 );
+ <a name="x2349"></a> p.<a href="qpainter.html#drawPie">drawPie</a>( QRect( -35,-35, 70, 70 ), 0, 90*16 );
+ <a name="x2353"></a> p.<a href="qpainter.html#rotate">rotate</a>( -ang );
+ <a name="x2351"></a> p.<a href="qpainter.html#drawRect">drawRect</a>( QRect(33, -4, 15, 8) );
+ <a name="x2352"></a> p.<a href="qpainter.html#end">end</a>();
+</pre>
+<p> We paint, as in Chapter 9, but now we paint in the pixmap.
+<p> At this point, we have a painter variable and a pixmap that looks
+precisely right, but we still haven't painted on the screen.
+<p> <pre> <a name="x2348"></a> p.<a href="qpainter.html#begin">begin</a>( this );
+ <a name="x2350"></a> p.<a href="qpainter.html#drawPixmap">drawPixmap</a>( cr.<a href="qrect.html#topLeft">topLeft</a>(), pix );
+</pre>
+<p> So we open the painter on the CannonField itself and then draw the pixmap.
+<p> That's all. A couple of extra lines at the top and a couple at the
+bottom, and the code is 100% flicker-free.
+<p> <pre> QRect CannonField::cannonRect() const
+ {
+ <a href="qrect.html">QRect</a> r( 0, 0, 50, 50 );
+ <a name="x2360"></a> r.<a href="qrect.html#moveBottomLeft">moveBottomLeft</a>( <a href="qwidget.html#rect">rect</a>().bottomLeft() );
+ return r;
+ }
+</pre>
+<p> This function returns the rectangle enclosing the cannon in widget
+coordinates. First we create a rectangle with the size 50x50 and then
+move it so its bottom left corner is equal to the widget's own bottom-
+left corner.
+<p> The <a href="qwidget.html#rect">QWidget::rect</a>() function returns the widget's enclosing
+rectangle in the widget's own coordinates (where the top left corner
+is 0, 0).
+<p> <h3> <a href="t10-main-cpp.html">t10/main.cpp</a>
+</h3>
+<a name="1-3"></a><p>
+
+<p> <pre> MyWidget::MyWidget( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+</pre>
+<p> The constructor is mostly the same, but some new bits have been added.
+<p> <pre> LCDRange *force = new LCDRange( this, "force" );
+ force-&gt;setRange( 10, 50 );
+</pre>
+<p> We add a second LCDRange, which will be used to set the force.
+<p> <pre> <a href="qobject.html#connect">connect</a>( force, SIGNAL(valueChanged(int)),
+ cannonField, SLOT(setForce(int)) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(forceChanged(int)),
+ force, SLOT(setValue(int)) );
+</pre>
+<p> We connect the <tt>force</tt> widget and the <tt>cannonField</tt> widget, just like
+we did for the <tt>angle</tt> widget.
+<p> <pre> <a href="qvboxlayout.html">QVBoxLayout</a> *leftBox = new <a href="qvboxlayout.html">QVBoxLayout</a>;
+ <a name="x2365"></a> grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( leftBox, 1, 0 );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( angle );
+ leftBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( force );
+</pre>
+<p> In Chapter 9 we put <tt>angle</tt> in the lower-left cell of the layout.
+Now we want to have two widgets in that cell, so we make a vertical
+box, put the vertical box in the grid cell, and put each of <tt>angle</tt>
+and <tt>range</tt> in the vertical box.
+<p> <pre> force-&gt;setValue( 25 );
+</pre>
+<p> We initialize the force value to 25.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The flicker has gone and we have a force control.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Make the size of the cannon barrel be dependent on the force.
+<p> Put the cannon in the bottom-right corner.
+<p> Try adding a better keyboard interface. For example, make + and -
+increase and decrease the force and enter shoot. Hint: <a href="qaccel.html">QAccel</a> and
+new addStep() and subtractStep() slots in LCDRange, like <a href="qslider.html#addStep">QSlider::addStep</a>(). If you're bothered by the way the left and right
+keys work (I am!), change that too.
+<p> You're now ready for <a href="tutorial1-11.html">Chapter 11.</a>
+<p> [<a href="tutorial1-09.html">Previous tutorial</a>]
+[<a href="tutorial1-11.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-11.html b/doc/html/tutorial1-11.html
new file mode 100644
index 0000000..0414de1
--- /dev/null
+++ b/doc/html/tutorial1-11.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1506 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 11: Giving It a Shot</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 11: Giving It a Shot</h1>
+
+
+<p> <center><img src="t11.png" alt="Screenshot of tutorial eleven"></center>
+<p> In this example we introduce a timer to implement animated shooting.
+<p> <ul>
+<li> <a href="t11-lcdrange-h.html">t11/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t11-lcdrange-cpp.html">t11/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t11-cannon-h.html">t11/cannon.h</a> contains the CannonField class
+definition.
+<li> <a href="t11-cannon-cpp.html">t11/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t11-main-cpp.html">t11/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t11-cannon-h.html">t11/cannon.h</a>
+</h3>
+<a name="1-1"></a><p> The CannonField now has shooting capabilities.
+<p>
+
+<p> <pre> void shoot();
+</pre>
+<p> Calling this slot will make the cannon shoot if a shot is not in the air.
+<p> <pre> private slots:
+ void moveShot();
+</pre>
+<p> This private slot is used to move the shot while it is in the air,
+using a <a href="qtimer.html">QTimer</a>.
+<p> <pre> private:
+ void paintShot( <a href="qpainter.html">QPainter</a> * );
+</pre>
+<p> This private function paints the shot.
+<p> <pre> <a href="qrect.html">QRect</a> shotRect() const;
+</pre>
+<p> This private function returns the shot's enclosing rectangle if
+one is in the air; otherwise the returned rectangle is undefined.
+<p> <pre> int timerCount;
+ <a href="qtimer.html">QTimer</a> * autoShootTimer;
+ float shoot_ang;
+ float shoot_f;
+ };
+</pre>
+<p> These private variables contain information that describes the shot. The
+<tt>timerCount</tt> keeps track of the time passed since the shot was fired.
+The <tt>shoot_ang</tt> is the cannon angle and <tt>shoot_f</tt> is the cannon force
+when the shot was fired.
+<p> <h3> <a href="t11-cannon-cpp.html">t11/cannon.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> <pre> #include &lt;math.h&gt;
+</pre>
+<p> We include the math library because we need the sin() and cos() functions.
+<p> <pre> CannonField::CannonField( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+ {
+ ang = 45;
+ f = 0;
+ timerCount = 0;
+ autoShootTimer = new <a href="qtimer.html">QTimer</a>( this, "movement handler" );
+ <a name="x2379"></a> <a href="qobject.html#connect">connect</a>( autoShootTimer, SIGNAL(<a href="qtimer.html#timeout">timeout</a>()),
+ this, SLOT(moveShot()) );
+ shoot_ang = 0;
+ shoot_f = 0;
+ <a href="qwidget.html#setPalette">setPalette</a>( QPalette( QColor( 250, 250, 200) ) );
+ }
+</pre>
+<p> We initialize our new private variables and connect the <a href="qtimer.html#timeout">QTimer::timeout</a>() signal to our moveShot() slot. We'll move the
+shot every time the timer times out.
+<p> <pre> void CannonField::shoot()
+ {
+ <a name="x2376"></a> if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ <a name="x2377"></a> autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+ }
+</pre>
+<p> This function shoots a shot unless a shot is in the air. The <tt>timerCount</tt>
+is reset to zero. The <tt>shoot_ang</tt> and <tt>shoot_f</tt> are set to the current
+cannon angle and force. Finally, we start the timer.
+<p> <pre> void CannonField::moveShot()
+ {
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+
+ if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() )
+ <a name="x2378"></a> autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ else
+ <a name="x2373"></a> r = r.<a href="qrect.html#unite">unite</a>( QRegion( shotR ) );
+ <a href="qwidget.html#repaint">repaint</a>( r );
+ }
+</pre>
+<p> moveShot() is the slot that moves the shot, called every 50
+milliseconds when the <a href="qtimer.html">QTimer</a> fires.
+<p> Its tasks are to compute the new position, repaint the screen with the
+shot in the new position, and if necessary, stop the timer.
+<p> First we make a <a href="qregion.html">QRegion</a> that holds the old shotRect(). A <a href="qregion.html">QRegion</a>
+is capable of holding any sort of region, and we'll use it here to
+simplify the painting. ShotRect() returns the rectangle where the
+shot is now - it is explained in detail later.
+<p> Then we increment the <tt>timerCount</tt>, which has the effect of moving the
+shot one step along its trajectory.
+<p> Next we fetch the new shot rectangle.
+<p> If the shot has moved beyond the right or bottom edge of the widget, we
+stop the timer or we add the new shotRect() to the QRegion.
+<p> Finally, we repaint the QRegion. This will send a single paint event
+for just the one or two rectangles that need updating.
+<p> <pre> void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a name="x2369"></a> <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ <a name="x2370"></a> if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( autoShootTimer-&gt;<a href="qtimer.html#isActive">isActive</a>() &amp;&amp;
+ updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+ }
+</pre>
+<p> The paint event function has been split in two since the previous
+chapter. Now we fetch the bounding rectangle of the region that
+needs painting, check whether it intersects either the cannon and/or
+the shot, and if necessary, call paintCannon() and/or paintShot().
+<p> <pre> void CannonField::paintShot( <a href="qpainter.html">QPainter</a> *p )
+ {
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( black );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( NoPen );
+ <a name="x2366"></a> p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( shotRect() );
+ }
+</pre>
+<p> This private function paints the shot by drawing a black filled rectangle.
+<p> We leave out the implementation of paintCannon(); it is the same as
+the paintEvent() from the previous chapter.
+<p> <pre> QRect CannonField::shotRect() const
+ {
+ const double gravity = 4;
+
+ double time = timerCount / 4.0;
+ double velocity = shoot_f;
+ double radians = shoot_ang*3.14159265/180;
+
+ double velx = velocity*cos( radians );
+ double vely = velocity*sin( radians );
+ <a name="x2372"></a> double x0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*cos(radians);
+ double y0 = ( barrelRect.<a href="qrect.html#right">right</a>() + 5 )*sin(radians);
+ double x = x0 + velx*time;
+ double y = y0 + vely*time - 0.5*gravity*time*time;
+
+ <a href="qrect.html">QRect</a> r = QRect( 0, 0, 6, 6 );
+ <a name="x2371"></a> r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint( qRound(x), height() - 1 - qRound(y) ) );
+ return r;
+ }
+</pre>
+<p> This private function calculates the center point of the shot and returns
+the enclosing rectangle of the shot. It uses the initial cannon force and
+angle in addition to <tt>timerCount</tt>, which increases as time passes.
+<p> The formula used is the classical Newtonian formula for frictionless
+movement in a gravity field. For simplicity, we've chosen to
+disregard any Einsteinian effects.
+<p> We calculate the center point in a coordinate system where y
+coordinates increase upward. After we have calculated the center
+point, we construct a <a href="qrect.html">QRect</a> with size 6x6 and move its center point to
+the point calculated above. In the same operation we convert the
+point into the widget's coordinate system (see <a href="coordsys.html">The
+Coordinate System</a>).
+<p> The qRound() function is an inline function defined in qglobal.h (included
+by all other Qt header files). qRound() rounds a double to the closest
+integer.
+<p> <h3> <a href="t11-main-cpp.html">t11/main.cpp</a>
+</h3>
+<a name="1-3"></a><p>
+
+<p> <pre> class MyWidget: public <a href="qwidget.html">QWidget</a>
+ {
+ public:
+ MyWidget( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ };
+</pre>
+<p> The only addition is the Shoot button.
+<p> <pre> <a href="qpushbutton.html">QPushButton</a> *shoot = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Shoot", this, "shoot" );
+ <a name="x2382"></a> shoot-&gt;<a href="qwidget.html#setFont">setFont</a>( QFont( "Times", 18, QFont::Bold ) );
+</pre>
+<p> In the constructor we create and set up the Shoot button exactly like we
+did with the Quit button. Note that the first argument to the constructor
+is the button text, and the third is the widget's name.
+<p> <pre> <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), cannonField, SLOT(shoot()) );
+</pre>
+<p> Connects the clicked() signal of the Shoot button to the shoot() slot
+of the CannonField.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The cannon can shoot, but there's nothing to shoot at.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Make the shot a filled circle. Hint: <a href="qpainter.html#drawEllipse">QPainter::drawEllipse</a>() may
+help.
+<p> Change the color of the cannon when a shot is in the air.
+<p> You're now ready for <a href="tutorial1-12.html">Chapter 12.</a>
+<p> [<a href="tutorial1-10.html">Previous tutorial</a>]
+[<a href="tutorial1-12.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-12.html b/doc/html/tutorial1-12.html
new file mode 100644
index 0000000..6964044
--- /dev/null
+++ b/doc/html/tutorial1-12.html
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:1711 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't</h1>
+
+
+<p> <center><img src="t12.png" alt="Screenshot of tutorial twelve"></center>
+<p> In this example, we extend our LCDRange class to include a text label.
+We also provide something to shoot at.
+<p> <ul>
+<li> <a href="t12-lcdrange-h.html">t12/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t12-lcdrange-cpp.html">t12/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t12-cannon-h.html">t12/cannon.h</a> contains the CannonField class
+definition.
+<li> <a href="t12-cannon-cpp.html">t12/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t12-main-cpp.html">t12/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t12-lcdrange-h.html">t12/lcdrange.h</a>
+</h3>
+<a name="1-1"></a><p> The LCDRange now has a text label.
+<p>
+
+<p> <pre> class QLabel;
+</pre>
+<p> We name declare <a href="qlabel.html">QLabel</a> because we want to use a pointer to it in the class
+definition.
+<p> <pre> class LCDRange : public <a href="qvbox.html">QVBox</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ LCDRange( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+ LCDRange( const char *s, QWidget *parent=0,
+ const char *name=0 );
+</pre>
+<p> We have added a new constructor that sets the label text in addition to
+the parent and name.
+<p> <pre> const char *text() const;
+</pre>
+<p> This function returns the label text.
+<p> <pre> void setText( const char * );
+</pre>
+<p> This slot sets the label text.
+<p> <pre> private:
+ void init();
+</pre>
+<p> Because we now have two constructors, we have chosen to put the common
+initialization in the private init() function.
+<p> <pre> <a href="qlabel.html">QLabel</a> *label;
+</pre>
+<p> We also have a new private variable: a QLabel. QLabel is one of Qt's
+standard widgets and can show a text or a pixmap with or without a
+frame.
+<p> <h3> <a href="t12-lcdrange-cpp.html">t12/lcdrange.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> <pre> #include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+</pre>
+<p> Here we include the <a href="qlabel.html">QLabel</a> class definition.
+<p> <pre> LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+ {
+ init();
+ }
+</pre>
+<p> This constructor calls the init() function, which contains the common
+initialization code.
+<p> <pre> LCDRange::LCDRange( const char *s, QWidget *parent,
+ const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+ {
+ init();
+ setText( s );
+ }
+</pre>
+<p> This constructor first calls init() and then sets the label text.
+<p> <pre> void LCDRange::init()
+ {
+ <a href="qlcdnumber.html">QLCDNumber</a> *lcd = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "lcd" );
+ slider = new <a href="qslider.html">QSlider</a>( Horizontal, this, "slider" );
+ <a name="x2387"></a> slider-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 99 );
+ <a name="x2388"></a> slider-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+
+ label = new <a href="qlabel.html">QLabel</a>( " ", this, "label" );
+ <a name="x2383"></a> label-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter );
+
+ <a name="x2389"></a> <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ <a name="x2386"></a> lcd, SLOT(<a href="qlcdnumber.html#display">display</a>(int)) );
+ <a href="qobject.html#connect">connect</a>( slider, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)),
+ SIGNAL(valueChanged(int)) );
+
+ <a href="qwidget.html#setFocusProxy">setFocusProxy</a>( slider );
+ }
+</pre>
+<p> The setup of <tt>lcd</tt> and <tt>slider</tt> is the same as in the previous
+chapter. Next we create a <a href="qlabel.html">QLabel</a> and tell it to align the contents
+centered (both vertically and horizontally). The connect() statements
+have also been taken from the previous chapter.
+<p> <pre> const char *LCDRange::text() const
+ {
+ <a name="x2385"></a> return label-&gt;<a href="qlabel.html#text">text</a>();
+ }
+</pre>
+<p> This function returns the label text.
+<p> <pre> void LCDRange::setText( const char *s )
+ {
+ <a name="x2384"></a> label-&gt;<a href="qlabel.html#setText">setText</a>( s );
+ }
+</pre>
+<p> This function sets the label text.
+<p> <h3> <a href="t12-cannon-h.html">t12/cannon.h</a>
+</h3>
+<a name="1-3"></a><p> The CannonField now has two new signals: hit() and missed(). In addition
+it contains a target.
+<p>
+
+<p> <pre> void newTarget();
+</pre>
+<p> This slot creates a target at a new position.
+<p> <pre> signals:
+ void hit();
+ void missed();
+</pre>
+<p> The hit() signal is emitted when a shot hits the target. The missed()
+signal is emitted when the shot moves beyond the right or bottom edge
+of the widget (i.e., it is certain that it has not and will not
+hit the target).
+<p> <pre> void paintTarget( <a href="qpainter.html">QPainter</a> * );
+</pre>
+<p> This private function paints the target.
+<p> <pre> <a href="qrect.html">QRect</a> targetRect() const;
+</pre>
+<p> This private function returns the enclosing rectangle of the target.
+<p> <pre> <a href="qpoint.html">QPoint</a> target;
+</pre>
+<p> This private variable contains the center point of the target.
+<p> <h3> <a href="t12-cannon-cpp.html">t12/cannon.cpp</a>
+</h3>
+<a name="1-4"></a><p>
+
+<p> <pre> #include &lt;<a href="qdatetime-h.html">qdatetime.h</a>&gt;
+</pre>
+<p> We include the <a href="qdate.html">QDate</a>, <a href="qtime.html">QTime</a>, and <a href="qdatetime.html">QDateTime</a> class definitions.
+<p> <pre> #include &lt;stdlib.h&gt;
+</pre>
+<p> We include the stdlib library because we need the rand() function.
+<p> <pre> newTarget();
+</pre>
+<p> This line has been added to the constructor. It creates a "random"
+position for the target. In fact, the newTarget() function will try
+to paint the target. Because we are in a constructor, the CannonField
+widget is invisible. Qt guarantees that no harm is done when calling
+repaint() on a hidden widget.
+<p> <pre> void CannonField::newTarget()
+ {
+ static bool first_time = TRUE;
+ if ( first_time ) {
+ first_time = FALSE;
+ <a href="qtime.html">QTime</a> midnight( 0, 0, 0 );
+ <a name="x2399"></a><a name="x2398"></a> srand( midnight.<a href="qtime.html#secsTo">secsTo</a>(QTime::<a href="qtime.html#currentTime">currentTime</a>()) );
+ }
+ <a href="qregion.html">QRegion</a> r( targetRect() );
+ target = QPoint( 200 + rand() % 190,
+ 10 + rand() % 255 );
+ <a name="x2395"></a> <a href="qwidget.html#repaint">repaint</a>( r.<a href="qrect.html#unite">unite</a>( targetRect() ) );
+ }
+</pre>
+<p> This private function creates a target center point at a new "random"
+position.
+<p> We use the rand() function to fetch random integers. The rand() function
+normally returns the same series of numbers each time you run a program.
+This would make the target appear at the same position every time. To
+avoid this, we must set a random seed the first time this function is
+called. The random seed must also be random in order to avoid equal random
+number series. The solution is to use the number of seconds that have
+passed since midnight as a pseudo-random value.
+<p> First we create a static bool local variable. A static variable like
+this one is guaranteed to keep its value between calls to the function.
+<p> The <tt>if</tt> test will succeed only the first time this function is called
+because we set <tt>first_time</tt> to FALSE inside the <tt>if</tt> block.
+<p> Then we create the <a href="qtime.html">QTime</a> object <tt>midnight</tt>, which represents the time
+00:00:00. Next we fetch the number of seconds from midnight until
+now and use it as a random seed. See the documentation for <a href="qdate.html">QDate</a>,
+<a href="qtime.html">QTime</a>, and <a href="qdatetime.html">QDateTime</a> for more information.
+<p> Finally we calculate the target's center point. We keep it within
+the rectangle (x=200, y=35, width=190, height=255), (i.e., the
+possible x and y values are x = 200..389 and y = 35..289) in a
+coordinate system where we put y position 0 at the bottom edge of the
+widget and let y values increase upwards X is as normal, with 0 at
+the left edge and with x values increasing to the right.
+<p> By experimentation we have found this to always be in reach of the shot.
+<p> Note that rand() returns a random integer >= 0.
+<p> <pre> void CannonField::moveShot()
+ {
+ <a href="qregion.html">QRegion</a> r( shotRect() );
+ timerCount++;
+
+ <a href="qrect.html">QRect</a> shotR = shotRect();
+</pre>
+<p> This part of the timer event has not changed from the previous chapter.
+<p> <pre> if ( shotR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) ) {
+ <a name="x2400"></a> autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit hit();
+</pre>
+<p> This <tt>if</tt> statement checks whether the shot rectangle intersects the
+target rectangle. If it does, the shot has hit the target (ouch!).
+We stop the shoot timer and emit the hit() signal to tell the outside
+world that a target was destroyed, and return.
+<p> Note that we could have created a new target on the spot, but because the
+CannonField is a component we leave such decisions to the user of the
+component.
+<p> <pre> <a name="x2397"></a><a name="x2396"></a> } else if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() ) {
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ emit missed();
+</pre>
+<p> This <tt>if</tt> statement is the same as in the previous chapter, except that
+it now emits the missed() signal to tell the outside world about the
+failure.
+<p> <pre> } else {
+</pre>
+<p> And the rest of the function is as before.
+<p> CannonField::paintEvent() is as before, except that this has been
+added:
+<p> <pre> <a name="x2393"></a> if ( updateR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) )
+ paintTarget( &amp;p );
+</pre>
+<p> These two lines make sure that the target is also painted when necessary.
+<p> <pre> void CannonField::paintTarget( <a href="qpainter.html">QPainter</a> *p )
+ {
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( red );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( targetRect() );
+ }
+</pre>
+<p> This private function paints the target; a rectangle filled with red and
+with a black outline.
+<p> <pre> QRect CannonField::targetRect() const
+ {
+ <a href="qrect.html">QRect</a> r( 0, 0, 20, 10 );
+ <a name="x2394"></a> r.<a href="qrect.html#moveCenter">moveCenter</a>( QPoint(target.x(),height() - 1 - target.y()) );
+ return r;
+ }
+</pre>
+<p> This private function returns the enclosing rectangle of the target.
+Remember from newTarget() that the <tt>target</tt> point uses y coordinate 0 at
+the bottom of the widget. We calculate the point in widget coordinates
+before we call <a href="qrect.html#moveCenter">QRect::moveCenter</a>().
+<p> The reason we have chosen this coordinate mapping is to fix the distance
+between the target and the bottom of the widget. Remember that the widget
+can be resized by the user or the program at any time.
+<p> <h3> <a href="t12-main-cpp.html">t12/main.cpp</a>
+</h3>
+<a name="1-5"></a><p>
+
+<p> There are no new members in the MyWidget class, but we have slightly
+changed the constructor to set the new LCDRange text labels.
+<p> <pre> LCDRange *angle = new LCDRange( "ANGLE", this, "angle" );
+</pre>
+<p> We set the angle text label to "ANGLE".
+<p> <pre> LCDRange *force = new LCDRange( "FORCE", this, "force" );
+</pre>
+<p> We set the force text label to "FORCE".
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The LCDRange widgets look a bit strange - the built-in layout
+management in <a href="qvbox.html">QVBox</a> gives the labels too much space and the rest not
+enough. We'll fix that in the next chapter.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Make a cheat button that, when pressed, makes the CannonField display
+the shot trajectory for five seconds.
+<p> If you did the "round shot" exercise from the previous chapter, try
+changing the shotRect() to a shotRegion() that returns a <a href="qregion.html">QRegion</a> so
+you can have really accurate collision detection.
+<p> Make a moving target.
+<p> Make sure that the target is always created entirely on-screen.
+<p> Make sure that the widget cannot be resized so that the target isn't
+visible. Hint: <a href="qwidget.html#setMinimumSize">QWidget::setMinimumSize</a>() is your friend.
+<p> Not easy; make it possible to have several shots in the air at the
+same time. Hint: make a Shot object.
+<p> You're now ready for <a href="tutorial1-13.html">Chapter 13.</a>
+<p> [<a href="tutorial1-11.html">Previous tutorial</a>]
+[<a href="tutorial1-13.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-13.html b/doc/html/tutorial1-13.html
new file mode 100644
index 0000000..d2d9da3
--- /dev/null
+++ b/doc/html/tutorial1-13.html
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2032 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 13: Game Over</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 13: Game Over</h1>
+
+
+<p> <center><img src="t13.png" alt="Screenshot of tutorial thirteen"></center>
+<p> In this example we start to approach a real playable game with a
+score. We give MyWidget a new name (GameBoard) and add some slots.
+<p> We put the definition in gamebrd.h and the implementation in gamebrd.cpp.
+<p> The CannonField now has a game over state.
+<p> The layout problems in LCDRange are fixed.
+<p> <ul>
+<li> <a href="t13-lcdrange-h.html">t13/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t13-lcdrange-cpp.html">t13/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t13-cannon-h.html">t13/cannon.h</a> contains the CannonField class
+definition
+<li> <a href="t13-cannon-cpp.html">t13/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t13-gamebrd-h.html">t13/gamebrd.h</a> contains the GameBoard
+class definition.
+<li> <a href="t13-gamebrd-cpp.html">t13/gamebrd.cpp</a> contains the GameBoard
+implementation.
+<li> <a href="t13-main-cpp.html">t13/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t13-lcdrange-h.html">t13/lcdrange.h</a>
+</h3>
+<a name="1-1"></a><p>
+
+<p> <pre> #include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+
+ class QSlider;
+ class QLabel;
+
+ class LCDRange : public <a href="qwidget.html">QWidget</a>
+</pre>
+<p> We inherit <a href="qwidget.html">QWidget</a> rather than <a href="qvbox.html">QVBox</a>. QVBox is very easy to use, but
+again it showed its limitations so we switch to the more powerful and
+slightly harder to use <a href="qvboxlayout.html">QVBoxLayout</a>. (As you remember, QVBoxLayout is
+not a widget, it manages one.)
+<p> <h3> <a href="t13-lcdrange-cpp.html">t13/lcdrange.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> <pre> #include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+</pre>
+<p> We need to include qlayout.h now to get the other layout management
+API.
+<p> <pre> LCDRange::LCDRange( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name )
+</pre>
+<p> We inherit QWidget in the usual way.
+<p> The other constructor has the same change. init() is unchanged,
+except that we've added some lines at the end:
+<p> <pre> <a href="qvboxlayout.html">QVBoxLayout</a> * l = new <a href="qvboxlayout.html">QVBoxLayout</a>( this );
+</pre>
+<p> We create a QVBoxLayout with all the default values, managing this
+widget's children.
+<p> <pre> <a name="x2401"></a> l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( lcd, 1 );
+</pre>
+<p> At the top we add the <a href="qlcdnumber.html">QLCDNumber</a> with a non-zero stretch.
+<p> <pre> l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( slider );
+ l-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( label );
+</pre>
+<p> Then we add the other two, both with the default zero stretch.
+<p> This stretch control is something <a href="qvboxlayout.html">QVBoxLayout</a> (and <a href="qhboxlayout.html">QHBoxLayout</a>, and
+<a href="qgridlayout.html">QGridLayout</a>) offers but classes like <a href="qvbox.html">QVBox</a> do not. In this case
+we're saying that the QLCDNumber should stretch and the others should
+not.
+<p> <h3> <a href="t13-cannon-h.html">t13/cannon.h</a>
+</h3>
+<a name="1-3"></a><p> The CannonField now has a game over state and a few new functions.
+<p>
+
+<p> <pre> bool gameOver() const { return gameEnded; }
+</pre>
+<p> This function returns TRUE if the game is over or FALSE if a game
+is going on.
+<p> <pre> void setGameOver();
+ void restartGame();
+</pre>
+<p> Here are two new slots: setGameOver() and restartGame().
+<p> <pre> void canShoot( bool );
+</pre>
+<p> This new signal indicates that the CannonField is in a state where the
+shoot() slot makes sense. We'll use it below to enable/disable the
+Shoot button.
+<p> <pre> bool gameEnded;
+</pre>
+<p> This private variable contains the game state. TRUE means that the
+game is over, and FALSE means that a game is going on.
+<p> <h3> <a href="t13-cannon-cpp.html">t13/cannon.cpp</a>
+</h3>
+<a name="1-4"></a><p>
+
+<p> <pre> gameEnded = FALSE;
+</pre>
+<p> This line has been added to the constructor. Initially, the game is not
+over (luckily for the player :-).
+<p> <pre> void CannonField::shoot()
+ {
+ if ( isShooting() )
+ return;
+ timerCount = 0;
+ shoot_ang = ang;
+ shoot_f = f;
+ <a name="x2407"></a> autoShootTimer-&gt;<a href="qtimer.html#start">start</a>( 50 );
+ emit canShoot( FALSE );
+ }
+</pre>
+<p> We added a new isShooting() function, so shoot() uses it instead of
+testing directly. Also, shoot tells the world that the CannonField
+cannot shoot now.
+<p> <pre> void CannonField::setGameOver()
+ {
+ if ( gameEnded )
+ return;
+ if ( isShooting() )
+ autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = TRUE;
+ <a href="qwidget.html#repaint">repaint</a>();
+ }
+</pre>
+<p> This slot ends the game. It must be called from outside CannonField,
+because this widget does not know when to end the game. This is an
+important design principle in component programming. We choose to
+make the component as flexible as possible to make it usable with
+different rules (for example, a multi-player version of this in which the
+first player to hit ten times wins could use the CannonField unchanged).
+<p> If the game has already been ended we return immediately. If a game is
+going on we stop the shot, set the game over flag, and repaint the entire
+widget.
+<p> <pre> void CannonField::restartGame()
+ {
+ if ( isShooting() )
+ <a name="x2408"></a> autoShootTimer-&gt;<a href="qtimer.html#stop">stop</a>();
+ gameEnded = FALSE;
+ <a href="qwidget.html#repaint">repaint</a>();
+ emit canShoot( TRUE );
+ }
+</pre>
+<p> This slot starts a new game. If a shot is in the air, we stop shooting.
+We then reset the <tt>gameEnded</tt> variable and repaint the widget.
+<p> moveShot() too emits the new canShoot(TRUE) signal at the same time as
+either hit() or miss().
+<p> Modifications in CannonField::paintEvent():
+<p> <pre> void CannonField::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> *e )
+ {
+ <a name="x2405"></a> <a href="qrect.html">QRect</a> updateR = e-&gt;<a href="qpaintevent.html#rect">rect</a>();
+ <a href="qpainter.html">QPainter</a> p( this );
+
+ if ( gameEnded ) {
+ p.<a href="qpainter.html#setPen">setPen</a>( black );
+ <a name="x2403"></a> p.<a href="qpainter.html#setFont">setFont</a>( QFont( "Courier", 48, QFont::Bold ) );
+ p.<a href="qpainter.html#drawText">drawText</a>( <a href="qwidget.html#rect">rect</a>(), AlignCenter, "Game Over" );
+ }
+</pre>
+<p> The paint event has been enhanced to display the text "Game Over" if
+the game is over, i.e., <tt>gameEnded</tt> is TRUE. We don't bother to
+check the update rectangle here because speed is not critical when
+the game is over.
+<p> To draw the text we first set a black pen; the pen color is used
+when drawing text. Next we choose a 48 point bold font from the
+Courier family. Finally we draw the text centered in the widget's
+rectangle. Unfortunately, on some systems (especially X servers with
+Unicode fonts) it can take a while to load such a large font. Because
+Qt caches fonts, you will notice this only the first time the font is
+used.
+<p> <pre> <a name="x2406"></a> if ( updateR.<a href="qrect.html#intersects">intersects</a>( cannonRect() ) )
+ paintCannon( &amp;p );
+ if ( isShooting() &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( shotRect() ) )
+ paintShot( &amp;p );
+ if ( !gameEnded &amp;&amp; updateR.<a href="qrect.html#intersects">intersects</a>( targetRect() ) )
+ paintTarget( &amp;p );
+ }
+</pre>
+<p> We draw the shot only when shooting and the target only when playing
+(that is, when the game is not ended).
+<p> <h3> <a href="t13-gamebrd-h.html">t13/gamebrd.h</a>
+</h3>
+<a name="1-5"></a><p> This file is new. It contains the definition of the GameBoard class,
+which was last seen as MyWidget.
+<p>
+
+<p> <pre> class QPushButton;
+ class LCDRange;
+ class QLCDNumber;
+ class CannonField;
+
+ #include "lcdrange.h"
+ #include "cannon.h"
+
+ class GameBoard : public <a href="qwidget.html">QWidget</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ GameBoard( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+
+ protected slots:
+ void fire();
+ void hit();
+ void missed();
+ void newGame();
+
+ private:
+ <a href="qlcdnumber.html">QLCDNumber</a> *hits;
+ <a href="qlcdnumber.html">QLCDNumber</a> *shotsLeft;
+ CannonField *cannonField;
+ };
+</pre>
+<p> We have now added four slots. These are protected and are used internally.
+We have also added two QLCDNumbers (<tt>hits</tt> and <tt>shotsLeft</tt>) which display
+the game status.
+<p> <h3> <a href="t13-gamebrd-cpp.html">t13/gamebrd.cpp</a>
+</h3>
+<a name="1-6"></a><p> This file is new. It contains the implementation of the GameBoard
+class, which was last seen as MyWidget.
+<p>
+
+<p> We have made some changes in the GameBoard constructor.
+<p> <pre> cannonField = new CannonField( this, "cannonField" );
+</pre>
+<p> <tt>cannonField</tt> is now a member variable, so we carefully change the
+constructor to use it. (The <em>good</em> programmers at Trolltech never
+forget this, but I do. Caveat programmor - if "programmor" is Latin,
+at least. Anyway, back to the code.)
+<p> <pre> <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(hit()),
+ this, SLOT(hit()) );
+ <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(missed()),
+ this, SLOT(missed()) );
+</pre>
+<p> This time we want to do something when the shot has hit or missed the
+target. Thus we connect the hit() and missed() signals of the
+CannonField to two protected slots with the same names in this class.
+<p> <pre> <a href="qobject.html#connect">connect</a>( shoot, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(fire()) );
+</pre>
+<p> Previously we connected the Shoot button's clicked() signal directly
+to the CannonField's shoot() slot. This time we want to keep track of
+the number of shots fired, so we connect it to a protected slot in
+this class instead.
+<p> Notice how easy it is to change the behavior of a program when you are
+working with self-contained components.
+<p> <pre> <a href="qobject.html#connect">connect</a>( cannonField, SIGNAL(canShoot(bool)),
+ <a name="x2416"></a> shoot, SLOT(<a href="qwidget.html#setEnabled">setEnabled</a>(bool)) );
+</pre>
+<p> We also use the cannonField's canShoot() signal to enable or disable
+the Shoot button appropriately.
+<p> <pre> QPushButton *restart
+ = new <a href="qpushbutton.html">QPushButton</a>( "&amp;New Game", this, "newgame" );
+ restart-&gt;setFont( QFont( "Times", 18, QFont::Bold ) );
+
+ <a href="qobject.html#connect">connect</a>( restart, SIGNAL(clicked()), this, SLOT(newGame()) );
+</pre>
+<p> We create, set up, and connect the New Game button as we have done
+with the other buttons. Clicking this button will activate the
+newGame() slot in this widget.
+<p> <pre> hits = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "hits" );
+ shotsLeft = new <a href="qlcdnumber.html">QLCDNumber</a>( 2, this, "shotsleft" );
+ <a href="qlabel.html">QLabel</a> *hitsL = new <a href="qlabel.html">QLabel</a>( "HITS", this, "hitsLabel" );
+ QLabel *shotsLeftL
+ = new <a href="qlabel.html">QLabel</a>( "SHOTS LEFT", this, "shotsleftLabel" );
+</pre>
+<p> We create four new widgets. Note that we don't bother to keep the
+pointers to the <a href="qlabel.html">QLabel</a> widgets in the GameBoard class because there's
+nothing much we want to do with them. Qt will delete them when the
+GameBoard widget is destroyed, and the layout classes will resize them
+appropriately.
+<p> <pre> <a href="qhboxlayout.html">QHBoxLayout</a> *topBox = new <a href="qhboxlayout.html">QHBoxLayout</a>;
+ <a name="x2413"></a> grid-&gt;<a href="qgridlayout.html#addLayout">addLayout</a>( topBox, 0, 1 );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shoot );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hits );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( hitsL );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeft );
+ topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( shotsLeftL );
+ <a name="x2410"></a> topBox-&gt;<a href="qboxlayout.html#addStretch">addStretch</a>( 1 );
+ <a name="x2411"></a> topBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( restart );
+</pre>
+<p> The number of widgets in the top-right cell is getting large. Once it
+was empty; now it's full enough that we group together the layout
+setting for better overview.
+<p> Notice that we let all the widgets have their preferred sizes, instead
+putting the stretch just to the left of the New Game button.
+<p> <pre> newGame();
+ }
+</pre>
+<p> We're all done constructing the GameBoard, so we start it all using
+newGame(). (NewGame() is a slot, but as we said, slots can be used as
+ordinary functions, too.)
+<p> <pre> void GameBoard::fire()
+ {
+ if ( cannonField-&gt;gameOver() || cannonField-&gt;isShooting() )
+ return;
+ shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() - 1 );
+ cannonField-&gt;shoot();
+ }
+</pre>
+<p> This function fires a shot. If the game is over or if there is a shot in the
+air, we return immediately. We decrement the number of shots left and tell
+the cannon to shoot.
+<p> <pre> void GameBoard::hit()
+ {
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( hits-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() + 1 );
+ if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+ else
+ cannonField-&gt;newTarget();
+ }
+</pre>
+<p> This slot is activated when a shot has hit the target. We increment the
+number of hits. If there are no shots left, the game is over. Otherwise,
+we make the CannonField generate a new target.
+<p> <pre> void GameBoard::missed()
+ {
+ <a name="x2415"></a> if ( shotsLeft-&gt;<a href="qlcdnumber.html#intValue">intValue</a>() == 0 )
+ cannonField-&gt;setGameOver();
+ }
+</pre>
+<p> This slot is activated when a shot has missed the target. If there are no
+shots left, the game is over.
+<p> <pre> void GameBoard::newGame()
+ {
+ <a name="x2414"></a> shotsLeft-&gt;<a href="qlcdnumber.html#display">display</a>( 15 );
+ hits-&gt;<a href="qlcdnumber.html#display">display</a>( 0 );
+ cannonField-&gt;restartGame();
+ cannonField-&gt;newTarget();
+ }
+</pre>
+<p> This slot is activated when the user clicks the Restart button. It is
+also called from the constructor. First it sets the number of shots
+to 15. Note that this is the only place in the program where we set
+the number of shots. Change it to whatever you like to change the
+game rules. Next we reset the number of hits, restart the game, and
+generate a new target.
+<p> <h3> <a href="t13-main-cpp.html">t13/main.cpp</a>
+</h3>
+<a name="1-7"></a><p> This file has just been on a diet. MyWidget is gone, and the only
+thing left is the main() function, unchanged except for the name
+change.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The cannon can shoot at a target; a new target is automatically created
+when one has been hit.
+<p> Hits and shots left are displayed and the program keeps track of them.
+The game can end, and there's a button to start a new game.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Add a random wind factor and show it to the user.
+<p> Make some splatter effects when the shot hits the target.
+<p> Implement multiple targets.
+<p> You're now ready for <a href="tutorial1-14.html">Chapter 14.</a>
+<p> [<a href="tutorial1-12.html">Previous tutorial</a>]
+[<a href="tutorial1-14.html">Next tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial1-14.html b/doc/html/tutorial1-14.html
new file mode 100644
index 0000000..dcc50ff
--- /dev/null
+++ b/doc/html/tutorial1-14.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial.doc:2381 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt Tutorial - Chapter 14: Facing the Wall</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt Tutorial - Chapter 14: Facing the Wall</h1>
+
+
+<p> <center><img src="t14.png" alt="Screenshot of tutorial fourteen"></center>
+<p> This is the final example: a complete game.
+<p> We add keyboard accelerators and introduce mouse events to CannonField. We
+put a frame around the CannonField and add a barrier (wall) to make the
+game more challenging.
+<p> <ul>
+<li> <a href="t14-lcdrange-h.html">t14/lcdrange.h</a> contains the LCDRange
+class definition.
+<li> <a href="t14-lcdrange-cpp.html">t14/lcdrange.cpp</a> contains the LCDRange
+implementation.
+<li> <a href="t14-cannon-h.html">t14/cannon.h</a> contains the CannonField class
+definition.
+<li> <a href="t14-cannon-cpp.html">t14/cannon.cpp</a> contains the CannonField
+implementation.
+<li> <a href="t14-gamebrd-h.html">t14/gamebrd.h</a> contains the GameBoard
+class definition.
+<li> <a href="t14-gamebrd-cpp.html">t14/gamebrd.cpp</a> contains the GameBoard
+implementation.
+<li> <a href="t14-main-cpp.html">t14/main.cpp</a> contains MyWidget and main.
+</ul>
+<p> <h2> Line-by-line Walkthrough
+</h2>
+<a name="1"></a><p> <h3> <a href="t14-cannon-h.html">t14/cannon.h</a>
+</h3>
+<a name="1-1"></a><p> The CannonField can now receive mouse events to make the user aim the
+barrel by clicking on it and dragging. CannonField also has a barrier
+wall.
+<p>
+
+<p> <pre> protected:
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void mousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+ void mouseReleaseEvent( <a href="qmouseevent.html">QMouseEvent</a> * );
+</pre>
+<p> In addition to the familiar event handlers, CannonField implements
+three mouse event handlers. The names say it all.
+<p> <pre> void paintBarrier( <a href="qpainter.html">QPainter</a> * );
+</pre>
+<p> This private function paints the barrier wall.
+<p> <pre> <a href="qrect.html">QRect</a> barrierRect() const;
+</pre>
+<p> This private function returns the enclosing rectangle of the barrier.
+<p> <pre> bool barrelHit( const <a href="qpoint.html">QPoint</a> &amp; ) const;
+</pre>
+<p> This private function checks if a point is inside the barrel of the cannon.
+<p> <pre> bool barrelPressed;
+</pre>
+<p> This private variable is TRUE if the user has pressed the mouse on the
+barrel and not released it.
+<p> <h3> <a href="t14-cannon-cpp.html">t14/cannon.cpp</a>
+</h3>
+<a name="1-2"></a><p>
+
+<p> <pre> barrelPressed = FALSE;
+</pre>
+<p> This line has been added to the constructor. Initially, the mouse is
+not pressed on the barrel.
+<p> <pre> <a name="x2429"></a> } else if ( shotR.<a href="qrect.html#x">x</a>() &gt; width() || shotR.<a href="qrect.html#y">y</a>() &gt; height() ||
+ shotR.<a href="qrect.html#intersects">intersects</a>(barrierRect()) ) {
+</pre>
+<p> Now that we have a barrier, there are three ways to miss. We test for
+the third, too.
+<p> <pre> void CannonField::<a href="qwidget.html#mousePressEvent">mousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ if ( e-&gt;<a href="qmouseevent.html#button">button</a>() != LeftButton )
+ return;
+ <a name="x2418"></a> if ( barrelHit( e-&gt;<a href="qmouseevent.html#pos">pos</a>() ) )
+ barrelPressed = TRUE;
+ }
+</pre>
+<p> This is a Qt event handler. It is called when the user presses a
+mouse button when the mouse cursor is over the widget.
+<p> If the event was not generated by the left mouse button, we return
+immediately. Otherwise, we check if the position of the mouse cursor
+is within the cannon's barrel. If it is, we set <tt>barrelPressed</tt> to
+TRUE.
+<p> Notice that the pos() function returns a point in the widget's
+coordinate system.
+<p> <pre> void CannonField::<a href="qwidget.html#mouseMoveEvent">mouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ if ( !barrelPressed )
+ return;
+ <a href="qpoint.html">QPoint</a> pnt = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ <a name="x2424"></a> if ( pnt.<a href="qpoint.html#x">x</a>() &lt;= 0 )
+ <a name="x2422"></a> pnt.<a href="qpoint.html#setX">setX</a>( 1 );
+ <a name="x2425"></a> if ( pnt.<a href="qpoint.html#y">y</a>() &gt;= <a href="qwidget.html#height">height</a>() )
+ <a name="x2423"></a> pnt.<a href="qpoint.html#setY">setY</a>( <a href="qwidget.html#height">height</a>() - 1 );
+ double rad = atan(((double)<a href="qwidget.html#rect">rect</a>().bottom()-pnt.<a href="qpoint.html#y">y</a>())/pnt.<a href="qpoint.html#x">x</a>());
+ setAngle( qRound ( rad*180/3.14159265 ) );
+ }
+</pre>
+<p> This is another Qt event handler. It is called when the user already
+has pressed the mouse button inside this widget and then moves/drags
+the mouse. (You can make Qt send mouse move events even when no
+buttons are pressed. See <a href="qwidget.html#setMouseTracking">QWidget::setMouseTracking</a>().)
+<p> This handler repositions the cannon's barrel according to the position of
+the mouse cursor.
+<p> First, if the barrel is not pressed, we return. Next, we fetch the
+mouse cursor's position. If the mouse cursor is to the left or below
+the widget, we adjust the point to be inside the widget.
+<p> Then we calculate the angle between the bottom edge of the widget and
+the imaginary line between the bottom-left corner of the widget and
+the cursor position. Finally we set the cannon's angle to the new
+value converted to degrees.
+<p> Remember that setAngle() redraws the cannon.
+<p> <pre> <a name="x2432"></a>void CannonField::<a href="qwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ <a name="x2417"></a> if ( e-&gt;<a href="qmouseevent.html#button">button</a>() == LeftButton )
+ barrelPressed = FALSE;
+ }
+</pre>
+<p> This Qt event handler is called whenever the user releases a mouse
+button and it was pressed inside this widget.
+<p> If the left button is released, we can be sure that the barrel is no
+longer pressed.
+<p> The paint event has two extra lines:
+<p> <pre> <a name="x2427"></a> if ( updateR.<a href="qrect.html#intersects">intersects</a>( barrierRect() ) )
+ paintBarrier( &amp;p );
+</pre>
+<p> paintBarrier() does the same sort of thing as paintShot(),
+paintTarget(), and paintCannon().
+<p> <pre> void CannonField::paintBarrier( <a href="qpainter.html">QPainter</a> *p )
+ {
+ p-&gt;<a href="qpainter.html#setBrush">setBrush</a>( yellow );
+ p-&gt;<a href="qpainter.html#setPen">setPen</a>( black );
+ p-&gt;<a href="qpainter.html#drawRect">drawRect</a>( barrierRect() );
+ }
+</pre>
+<p> This private function paints the barrier as a rectangle filled with
+yellow and with a black outline.
+<p> <pre> QRect CannonField::barrierRect() const
+ {
+ return QRect( 145, height() - 100, 15, 100 );
+ }
+</pre>
+<p> This private function returns the rectangle of the barrier. We fix
+the bottom edge of the barrier to the bottom edge of the widget.
+<p> <pre> bool CannonField::barrelHit( const <a href="qpoint.html">QPoint</a> &amp;p ) const
+ {
+ <a href="qwmatrix.html">QWMatrix</a> mtx;
+ <a name="x2436"></a> mtx.<a href="qwmatrix.html#translate">translate</a>( 0, height() - 1 );
+ <a name="x2435"></a> mtx.<a href="qwmatrix.html#rotate">rotate</a>( -ang );
+ <a name="x2433"></a> mtx = mtx.<a href="qwmatrix.html#invert">invert</a>();
+ <a name="x2434"></a><a name="x2426"></a> return barrelRect.<a href="qrect.html#contains">contains</a>( mtx.<a href="qwmatrix.html#map">map</a>(p) );
+ }
+</pre>
+<p> This function returns TRUE if the point is in the barrel; otherwise it returns
+FALSE.
+<p> Here we use the class <a href="qwmatrix.html">QWMatrix</a>. It is defined in the header file
+qwmatrix.h, which is included by qpainter.h.
+<p> <a href="qwmatrix.html">QWMatrix</a> defines a coordinate system mapping. It can perform the same
+transformations as the <a href="qpainter.html">QPainter</a>.
+<p> Here we perform the same transformation steps as we do when drawing
+the barrel in the paintCannon() function. First we translate the
+coordinate system and then we rotate it.
+<p> Now we need to check whether the point <tt>p</tt> (in widget coordinates) lies
+inside the barrel. To do this, we invert the <a href="qwmatrix.html#TransformationMode">transformation matrix</a>.
+The inverted matrix performs the inverse transformation that we used
+when drawing the barrel. We map the point <tt>p</tt> using the inverted
+matrix and return TRUE if it is inside the original barrel rectangle.
+<p> <h3> <a href="t14-gamebrd-cpp.html">t14/gamebrd.cpp</a>
+</h3>
+<a name="1-3"></a><p>
+
+<p> <pre> #include &lt;<a href="qaccel-h.html">qaccel.h</a>&gt;
+</pre>
+<p> We include the class definition of <a href="qaccel.html">QAccel</a>.
+<p> <pre> <a href="qvbox.html">QVBox</a> *box = new <a href="qvbox.html">QVBox</a>( this, "cannonFrame" );
+ box-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::WinPanel | QFrame::Sunken );
+ cannonField = new CannonField( box, "cannonField" );
+</pre>
+<p> We create and set up a <a href="qvbox.html">QVBox</a>, set its frame style, and then create
+<tt>CannonField</tt> as a child of that box. Because nothing else is in the
+box, the effect is that the <a href="qvbox.html">QVBox</a> will put a frame around the
+CannonField.
+<p> <pre> <a href="qaccel.html">QAccel</a> *accel = new <a href="qaccel.html">QAccel</a>( this );
+ <a name="x2438"></a><a name="x2437"></a> accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( Key_Enter ),
+ this, SLOT(fire()) );
+ accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( Key_Return ),
+ this, SLOT(fire()) );
+</pre>
+<p> Here we create and set up an accelerator. An accelerator is an object
+that intercepts keyboard events to an application and calls slots if
+certain keys are pressed. This mechanism is also called shortcut
+keys. Note that an accelerator is a child of a widget and will be
+destroyed when that widget is destroyed. <a href="qaccel.html">QAccel</a> is <em>not</em> a widget
+and has no visible effect on its parent.
+<p> We define two shortcut keys. We want the slot fire() to be called
+when the user presses Enter, and we want the application to quit when
+key Ctrl+Q is pressed. Because Enter is sometimes Return and there
+are even keyboards with <em>both</em> keys, we make both Enter and Return
+invoke fire().
+<p> <pre> accel-&gt;<a href="qaccel.html#connectItem">connectItem</a>( accel-&gt;<a href="qaccel.html#insertItem">insertItem</a>( CTRL+Key_Q ),
+ qApp, SLOT(<a href="qapplication.html#quit">quit</a>()) );
+</pre>
+<p> And then we set up Ctrl+Q to do the same thing as Alt+Q. Some
+people are more used to Ctrl+Q (and anyway it shows how do do it).
+<p> CTRL, Key_Enter, Key_Return and Key_Q are all constants provided by
+Qt. They're actually Qt::Key_Enter, etc., but practically all classes
+inherit the <a href="qt.html">Qt</a> namespace class.
+<p> <pre> <a href="qgridlayout.html">QGridLayout</a> *grid = new <a href="qgridlayout.html">QGridLayout</a>( this, 2, 2, 10 );
+ <a name="x2441"></a> grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( quit, 0, 0 );
+ grid-&gt;<a href="qgridlayout.html#addWidget">addWidget</a>( box, 1, 1 );
+ <a name="x2442"></a> grid-&gt;<a href="qgridlayout.html#setColStretch">setColStretch</a>( 1, 10 );
+</pre>
+<p> We put <tt>box</tt> (the <a href="qvbox.html">QVBox</a>), not the CannonField, in the lower-right
+cell.
+<p> <h2> Behavior
+</h2>
+<a name="2"></a><p> The cannon now shoots when you press Enter. You can also position the
+cannon's angle using the mouse. The barrier makes it a little more
+challenging to play the game. We also have a nice looking frame
+around the CannonField.
+<p> (See <a href="tutorial1-07.html#compiling">Compiling</a> for how to create a
+makefile and build the application.)
+<p> <h2> Exercises
+</h2>
+<a name="3"></a><p> Write a space invaders game.
+<p> (This exercise was first done by
+<a href="mailto:igorr@ifi.uio.no">Igor Rafienko</a>. You can
+<a href="http://www.stud.ifi.uio.no/~igorr/download.html">download his game</a>.)
+<p> The new exercise is: Write a Breakout game.
+<p> Final exhortation: Go forth now and create <em>masterpieces of the programming art!</em>
+<p>
+<p> [<a href="tutorial1-13.html">Previous tutorial</a>]
+[<a href="tutorial1-01.html">First tutorial</a>]
+[<a href="tutorial.html">Main tutorial page</a>]
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-01.html b/doc/html/tutorial2-01.html
new file mode 100644
index 0000000..5578cb4
--- /dev/null
+++ b/doc/html/tutorial2-01.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:50 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Introduction</h1>
+
+
+<p>
+<p> In this tutorial we will develop a single application called <tt>chart</tt>,
+which is used to display simple pie and bar charts based on data that
+the user enters.
+<p> The tutorial gives an overview of the development of the application
+and includes code snippets and accompanying explanations. The complete
+source for the application is in <tt>examples/chart</tt>.
+<p> <center><img src="chart-main.png" alt="The chart application"></center>
+<p> <p align="right">
+<a href="tutorial2.html">&laquo; Contents</a> |
+<a href="tutorial2-02.html">The 'Big Picture' &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-02.html b/doc/html/tutorial2-02.html
new file mode 100644
index 0000000..1691af4
--- /dev/null
+++ b/doc/html/tutorial2-02.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:73 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The 'Big Picture'</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The 'Big Picture'</h1>
+
+
+<p>
+<p> <center><img src="chart-forms.png" alt="The chart application's dialogs"></center>
+<p> The <tt>chart</tt> program allows users to create, save, load and visualise
+simple data sets. Each data element that the user enters can be given
+a color and pattern for the pie segment or bar, some label text and
+the text's position and color. The <tt>Element</tt> class is used to
+represent data elements.
+<p> The program consists of a simple <tt>main.cpp</tt> that loads the chart
+form. The chart form has a menubar and toolbar which provide access to
+the program's functionality. The program provides two dialogs, one to
+set options, and the other to create and edit a data set. Both dialogs
+are launched from chart form menu options or toolbar buttons.
+<p> The chart form's main widget is a <a href="qcanvasview.html">QCanvasView</a> which displays the
+<a href="qcanvas.html">QCanvas</a> on which we draw the pie chart or bar graph. We subclass
+QCanvasView to obtain some specialised behaviour. Similarly we
+subclass the <a href="qcanvastext.html">QCanvasText</a> class (used to place text items on a canvas)
+since we require slightly more than the standard class provides.
+<p> The project file, <tt>chart.pro</tt>, is used to create the Makefile that is
+used to build the application.
+<p> <p align="right">
+<a href="tutorial2-01.html">&laquo; Introduction</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-03.html">Data Elements &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-03.html b/doc/html/tutorial2-03.html
new file mode 100644
index 0000000..4369305
--- /dev/null
+++ b/doc/html/tutorial2-03.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:110 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Data Elements</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Data Elements</h1>
+
+
+<p>
+<p> We will use a C++ class called <tt>Element</tt> to provide storage and
+access for data elements.
+<p> (Extracts from <tt>element.h</tt>.)
+<p>
+
+<pre> private:
+</pre><pre> double m_value;
+ <a href="qcolor.html">QColor</a> m_valueColor;
+ int m_valuePattern;
+ <a href="qstring.html">QString</a> m_label;
+ <a href="qcolor.html">QColor</a> m_labelColor;
+ double m_propoints[2 * MAX_PROPOINTS];
+</pre>
+<p> Each element has a value. Each value is displayed graphically with a
+particular color and fill pattern. Values may have a label associated
+with them; the label is drawn using the label color and for each type
+of chart has a (relative) position stored in the <tt>m_propoints</tt> array.
+<p>
+
+<pre> #include &lt;<a href="qcolor-h.html">qcolor.h</a>&gt;
+ #include &lt;<a href="qnamespace-h.html">qnamespace.h</a>&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+ #include &lt;<a href="qvaluevector-h.html">qvaluevector.h</a>&gt;
+</pre>
+<p> Although the <tt>Element</tt> class is a purely internal data class, it
+<tt>#include</tt>s four Qt classes. Qt is often perceived as a purely GUI
+toolkit, but it provides many non-GUI classes to support most aspects
+of application programming. We use <a href="qcolor-h.html">qcolor.h</a> so that we can hold the
+paint color and text color in the <tt>Element</tt> class. The use of <a href="qnamespace-h.html">qnamespace.h</a> is slightly obscure. Most Qt classes are derived from the
+<a href="qt.html">Qt</a> superclass which contains various
+enumerations. The <tt>Element</tt> class does not derive from <a href="qt.html">Qt</a>, so we need to include <a href="qnamespace-h.html">qnamespace.h</a> to have access to
+the Qt enum names. An alternative approach would have been to have
+made <tt>Element</tt> a <a href="qt.html">Qt</a> subclass. We include <a href="qstring-h.html">qstring.h</a> to make use of Qt's Unicode strings. As a convenience we
+will <tt>typedef</tt> a vector container for <tt>Element</tt>s, which is why we
+pull in the <a href="qvaluevector-h.html">qvaluevector.h</a> header.
+<p> <pre> typedef QValueVector&lt;Element&gt; ElementVector;
+</pre>
+<p> Qt provides a number of containers, some value based like
+<a href="qvaluevector.html">QValueVector</a>, and others pointer based. (See <a href="collection.html">Collection Classes</a>.) Here we've just typedefed one container
+type; we will keep each data set of elements in one <tt>ElementVector</tt>.
+<p> <pre> const double EPSILON = 0.0000001; // Must be &gt; INVALID.
+</pre>
+<p> Elements may only have positive values. Because we hold values as
+doubles we cannot readily compare them with zero. Instead we specify a
+value, <tt>EPSILON</tt>, which is close to zero, and consider any value
+greater than <tt>EPSILON</tt> to be positive and valid.
+<p> <pre> class Element
+ {
+ public:
+ enum { INVALID = -1 };
+ enum { NO_PROPORTION = -1 };
+ enum { MAX_PROPOINTS = 3 }; // One proportional point per chart type
+</pre>
+<p> We define three public enums for <tt>Element</tt>s. <tt>INVALID</tt> is used by
+the isValid() function. It is useful because we are going to use a
+fixed size vector of <tt>Element</tt>s, and can mark unused <tt>Element</tt>s by
+giving them <tt>INVALID</tt> values. The <tt>NO_PROPORTION</tt> enum is used to
+signify that the user has not positioned the Element's label; any
+positive proportion value is taken to be the text element's position
+proportional to the canvas's size.
+<p> If we stored each label's actual x and y position, then every time the
+user resized the main window (and therefore the canvas), the text
+would retain its original (now incorrect) position. So instead of
+storing absolute (x, y) positions we store <em>proportional</em> positions,
+i.e. x/width and y/height. We can then multiply these positions by
+the current width and height respectively when we come to draw the
+text and the text will be positioned correctly regardless of any
+resizing. For example, if a label has an x position of 300 and the
+canvas is 400 pixels wide, the proportional x value is 300/400 = 0.75.
+<p> The <tt>MAX_PROPOINTS</tt> enum is problematic. We need to store the x and y
+proportions for the text label for every chart type. And we have
+chosen to store these proportions in a fixed-size array. Because of
+this we must specify the maximum number of proportion pairs needed.
+This value must be changed if we change the number of chart types,
+which means that the <tt>Element</tt> class is strongly coupled to the
+number of chart types provided by the <tt>ChartForm</tt> class. In a
+larger application we might have used a vector to store these points
+and dynamically resized it depending on how many chart types are
+available.
+<p> <pre> Element( double value = INVALID, QColor valueColor = Qt::gray,
+ int valuePattern = Qt::SolidPattern,
+ const <a href="qstring.html">QString</a>&amp; label = <a href="qstring.html#QString-null">QString::null</a>,
+ <a href="qcolor.html">QColor</a> labelColor = Qt::black ) {
+ init( value, valueColor, valuePattern, label, labelColor );
+ for ( int i = 0; i &lt; MAX_PROPOINTS * 2; ++i )
+ m_propoints[i] = NO_PROPORTION;
+ }
+</pre>
+<p> The constructor provides default values for all members of the <tt>Element</tt> class. New elements always have label text with no position.
+We use an init() function because we also provide a set() function
+which works like the constructor apart from leaving the proportional
+positions alone.
+<p> <pre> bool isValid() const { return m_value &gt; EPSILON; }
+</pre>
+<p> Since we are storing <tt>Element</tt>s in a fixed size vector we need to be
+able to check whether a particular element is valid (i.e. should be
+used in calculations and displayed) or not. This is easily achieved
+with the isValid() function.
+<p> (Extracts from <tt>element.cpp</tt>.)
+<p>
+
+<pre> double Element::proX( int index ) const
+ {
+ <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(index &gt;= 0 &amp;&amp; index &lt; MAX_PROPOINTS);
+ return m_propoints[2 * index];
+ }
+</pre>
+<p> Getters and setters are provided for all the members of <tt>Element</tt>.
+The proX() and proY() getters and the setProX() and setProY() setters
+take an index which identifies the type of chart the proportional
+position applies to. This means that the user can have labels
+positioned separately for the same data set for a vertical bar chart,
+a horizontal bar chart and for a pie chart. Note also that we use the
+<tt>Q_ASSERT</tt> macro to provide pre-condition tests on the chart type
+index; (see <a href="debug.html">Debugging</a>).
+<p> <h2> Reading and Writing Data Elements
+</h2>
+<a name="1"></a><p> (Extracts from <tt>element.h</tt>.)
+<p>
+
+<pre> QTextStream &amp;operator&lt;&lt;( <a href="qtextstream.html">QTextStream</a>&amp;, const Element&amp; );
+ QTextStream &amp;operator&gt;&gt;( <a href="qtextstream.html">QTextStream</a>&amp;, Element&amp; );
+</pre>
+<p> To make our <tt>Element</tt> class more self-contained we provide overloads
+for the &lt;&lt; and &gt;&gt; operators so that <tt>Element</tt>s may be written to
+and read from text streams. We could just as easily have used binary
+streams, but using text makes it possible for users to manipulate
+their data using a text editor and makes it easier to generate and
+filter the data using a scripting language.
+<p> (Extracts from <tt>element.cpp</tt>.)
+<p>
+
+<pre> #include "element.h"
+
+ #include &lt;<a href="qstringlist-h.html">qstringlist.h</a>&gt;
+ #include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;
+</pre>
+<p> Our implementation of the operators requires the inclusion of <a href="qtextstream-h.html">qtextstream.h</a> and <a href="qstringlist-h.html">qstringlist.h</a>.
+<p> <pre> const char FIELD_SEP = ':';
+ const char PROPOINT_SEP = ';';
+ const char XY_SEP = ',';
+</pre>
+<p> The format we are using to store the data is colon separated fields
+and newline separated records. The proportional points are semi-colon
+separated, with their x, y pairs being comma separated. The field
+order is value, value color, value pattern, label color, label points,
+label text. For example:
+<pre>
+20:#ff0000:14:#000000:0.767033,0.412946;0,0.75;0,0:Red :with colons:!
+70:#00ffff:2:#ffff00:0.450549,0.198661;0.198516,0.125954;0,0.198473:Cyan
+35:#0000ff:8:#555500:0.10989,0.299107;0.397032,0.562977;0,0.396947:Blue
+55:#ffff00:1:#000080:0.0989011,0.625;0.595547,0.312977;0,0.59542:Yellow
+80:#ff00ff:1:#000000:0.518681,0.694196;0.794063,0;0,0.793893:Magenta or Violet
+</pre>
+
+<p> There's no problem having whitespace and field separators in label
+text due to the way we read <tt>Element</tt> data.
+<p> <pre> QTextStream &amp;operator&lt;&lt;( <a href="qtextstream.html">QTextStream</a> &amp;s, const Element &amp;element )
+ {
+ s &lt;&lt; element.value() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.valueColor().name() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.valuePattern() &lt;&lt; FIELD_SEP
+ &lt;&lt; element.labelColor().name() &lt;&lt; FIELD_SEP;
+
+ for ( int i = 0; i &lt; Element::MAX_PROPOINTS; ++i ) {
+ s &lt;&lt; element.proX( i ) &lt;&lt; XY_SEP &lt;&lt; element.proY( i );
+ s &lt;&lt; ( i == Element::MAX_PROPOINTS - 1 ? FIELD_SEP : PROPOINT_SEP );
+ }
+
+ s &lt;&lt; element.label() &lt;&lt; '\n';
+
+ return s;
+ }
+</pre>
+<p> Writing elements is straight-forward. Each member is written followed
+by a field separator. The points are written as comma separated (<tt>XY_SEP</tt>) x, y pairs, each pair separated by the <tt>PROPOINT_SEP</tt>
+separator. The final field is the label followed by a newline.
+<p> <pre> QTextStream &amp;operator&gt;&gt;( <a href="qtextstream.html">QTextStream</a> &amp;s, Element &amp;element )
+ {
+ <a name="x2553"></a> <a href="qstring.html">QString</a> data = s.<a href="qtextstream.html#readLine">readLine</a>();
+ element.setValue( Element::INVALID );
+
+ int errors = 0;
+ bool ok;
+
+ <a name="x2552"></a> <a href="qstringlist.html">QStringList</a> fields = QStringList::<a href="qstringlist.html#split">split</a>( FIELD_SEP, data );
+ <a name="x2555"></a> if ( fields.<a href="qvaluelist.html#count">count</a>() &gt;= 4 ) {
+ double value = fields[0].toDouble( &amp;ok );
+ if ( !ok )
+ errors++;
+ <a href="qcolor.html">QColor</a> valueColor = QColor( fields[1] );
+ <a name="x2550"></a> if ( !valueColor.<a href="qcolor.html#isValid">isValid</a>() )
+ errors++;
+ int valuePattern = fields[2].toInt( &amp;ok );
+ if ( !ok )
+ errors++;
+ <a href="qcolor.html">QColor</a> labelColor = QColor( fields[3] );
+ if ( !labelColor.<a href="qcolor.html#isValid">isValid</a>() )
+ errors++;
+ <a href="qstringlist.html">QStringList</a> propoints = QStringList::<a href="qstringlist.html#split">split</a>( PROPOINT_SEP, fields[4] );
+ <a name="x2551"></a> <a href="qstring.html">QString</a> label = data.<a href="qstring.html#section">section</a>( FIELD_SEP, 5 );
+
+ if ( !errors ) {
+ element.set( value, valueColor, valuePattern, label, labelColor );
+ int i = 0;
+ <a name="x2554"></a> for ( QStringList::iterator point = propoints.<a href="qvaluelist.html#begin">begin</a>();
+ <a name="x2556"></a> i &lt; Element::MAX_PROPOINTS &amp;&amp; point != propoints.<a href="qvaluelist.html#end">end</a>();
+ ++i, ++point ) {
+ errors = 0;
+ <a href="qstringlist.html">QStringList</a> xy = QStringList::<a href="qstringlist.html#split">split</a>( XY_SEP, *point );
+ double x = xy[0].toDouble( &amp;ok );
+ if ( !ok || x &lt;= 0.0 || x &gt;= 1.0 )
+ errors++;
+ double y = xy[1].toDouble( &amp;ok );
+ if ( !ok || y &lt;= 0.0 || y &gt;= 1.0 )
+ errors++;
+ if ( errors )
+ x = y = Element::NO_PROPORTION;
+ element.setProX( i, x );
+ element.setProY( i, y );
+ }
+ }
+ }
+
+ return s;
+ }
+</pre>
+<p> To read an element we read one record (i.e. one line). We break the
+data into fields using <a href="qstringlist.html#split">QStringList::split</a>(). Because it is possible
+that a label will contain <tt>FIELD_SEP</tt> characters we use
+<a href="qstring.html#section">QString::section</a>() to extract all the text from the last field to the
+end of the line. If there are enough fields and the value, colors and
+pattern data is valid we use <tt>Element::set()</tt> to write this data into
+the element; otherwise we leave the element <tt>INVALID</tt>. We then
+iterate through the points. If the x and y proportions are valid and
+in range we set them for the element. If one or both proportions is
+invalid they will hold the value zero; this is not suitable so we
+change invalid (and out-of-range) proportional point values to <tt>NO_PROPORTION</tt>.
+<p> Our <tt>Element</tt> class is now sufficient to store, manipulate, read and
+write element data. We have also created an element vector typedef for
+storing a collection of elements.
+<p> We are now ready to create <tt>main.cpp</tt> and the user interface through
+which our users will create, edit and visualise their data sets.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top">For more information on Qt's data streaming facilities see <a href="datastreamformat.html">QDataStream Operators' Formats</a>, and see
+the source code for any of the Qt classes mentioned that are similar
+to what you want to store.
+</table></center>
+<p> <p align="right">
+<a href="tutorial2-02.html">&laquo; The 'Big Picture'</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-04.html">Mainly Easy &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-04.html b/doc/html/tutorial2-04.html
new file mode 100644
index 0000000..d697a4f
--- /dev/null
+++ b/doc/html/tutorial2-04.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:322 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Mainly Easy</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Mainly Easy</h1>
+
+
+<p>
+<p> (<tt>main.cpp</tt>.)
+<p>
+
+<pre> #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include "chartform.h"
+
+ int main( int argc, char *argv[] )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+
+ <a href="qstring.html">QString</a> filename;
+ <a name="x2557"></a> if ( app.<a href="qapplication.html#argc">argc</a>() &gt; 1 ) {
+ <a name="x2558"></a> filename = app.<a href="qapplication.html#argv">argv</a>()[1];
+ <a name="x2561"></a> if ( !filename.<a href="qstring.html#endsWith">endsWith</a>( ".cht" ) )
+ filename = <a href="qstring.html#QString-null">QString::null</a>;
+ }
+
+ ChartForm *cf = new ChartForm( filename );
+ <a name="x2560"></a> app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( cf );
+ cf-&gt;<a href="qwidget.html#show">show</a>();
+
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p> We have kept the main() function simple and small. We create a
+<a href="qapplication.html">QApplication</a> object and pass it the command line arguments. We are
+allowing users to invoke the program with <tt>chart mychart.cht</tt>, so if
+they've added a filename we pass that through to the chart form
+constructor. Most of the action takes place within the chart form
+which we'll review next.
+<p> <p align="right">
+<a href="tutorial2-03.html">&laquo; Data Elements</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-05.html">Presenting the GUI &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-05.html b/doc/html/tutorial2-05.html
new file mode 100644
index 0000000..ca724c0
--- /dev/null
+++ b/doc/html/tutorial2-05.html
@@ -0,0 +1,587 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:349 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Presenting the GUI</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Presenting the GUI</h1>
+
+
+<p>
+<p> <center><img src="chart-main2.png" alt="The chart application"></center>
+<p> The <tt>chart</tt> application provides access to options via menus and
+toolbar buttons arranged around a central widget, a CanvasView, in a
+conventional document-centric style.
+<p> (Extracts from <tt>chartform.h</tt>.)
+<p>
+
+<pre> class ChartForm: public <a href="qmainwindow.html">QMainWindow</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ enum { MAX_ELEMENTS = 100 };
+ enum { MAX_RECENTFILES = 9 }; // Must not exceed 9
+ enum ChartType { PIE, VERTICAL_BAR, HORIZONTAL_BAR };
+ enum AddValuesType { NO, YES, AS_PERCENTAGE };
+
+ ChartForm( const <a href="qstring.html">QString</a>&amp; filename );
+ ~ChartForm();
+
+ int chartType() { return m_chartType; }
+ void setChanged( bool changed = TRUE ) { m_changed = changed; }
+ void drawElements();
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *optionsMenu; // Why public? See canvasview.cpp
+
+ protected:
+ virtual void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );
+
+ private slots:
+ void fileNew();
+ void fileOpen();
+ void fileOpenRecent( int index );
+ void fileSave();
+ void fileSaveAs();
+ void fileSaveAsPixmap();
+ void filePrint();
+ void fileQuit();
+ void optionsSetData();
+ void updateChartType( <a href="qaction.html">QAction</a> *action );
+ void optionsSetFont();
+ void optionsSetOptions();
+ void helpHelp();
+ void helpAbout();
+ void helpAboutQt();
+ void saveOptions();
+
+ private:
+ void init();
+ void load( const <a href="qstring.html">QString</a>&amp; filename );
+ bool okToClear();
+ void drawPieChart( const double scales[], double total, int count );
+ void drawVerticalBarChart( const double scales[], double total, int count );
+ void drawHorizontalBarChart( const double scales[], double total, int count );
+
+ <a href="qstring.html">QString</a> valueLabel( const <a href="qstring.html">QString</a>&amp; label, double value, double total );
+ void updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename );
+ void updateRecentFilesMenu();
+ void setChartType( ChartType chartType );
+
+ <a href="qpopupmenu.html">QPopupMenu</a> *fileMenu;
+ <a href="qaction.html">QAction</a> *optionsPieChartAction;
+ <a href="qaction.html">QAction</a> *optionsHorizontalBarChartAction;
+ <a href="qaction.html">QAction</a> *optionsVerticalBarChartAction;
+ <a href="qstring.html">QString</a> m_filename;
+ <a href="qstringlist.html">QStringList</a> m_recentFiles;
+ <a href="qcanvas.html">QCanvas</a> *m_canvas;
+ CanvasView *m_canvasView;
+ bool m_changed;
+ ElementVector m_elements;
+ <a href="qprinter.html">QPrinter</a> *m_printer;
+ ChartType m_chartType;
+ AddValuesType m_addValues;
+ int m_decimalPlaces;
+ <a href="qfont.html">QFont</a> m_font;
+ };
+</pre>
+<p> We create a <tt>ChartForm</tt> subclass of <a href="qmainwindow.html">QMainWindow</a>. Our subclass uses
+the <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> macro to support Qt's <a href="signalsandslots.html">signals and slots</a> mechanism.
+<p> The public interface is very small; the type of chart being displayed
+can be retrieved, the chart can be marked 'changed' (so that the user
+will be prompted to save on exit), and the chart can be asked to draw
+itself (drawElements()). We've also made the options menu public
+because we are also going to use this menu as the canvas view's
+context menu.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top">The <a href="qcanvas.html">QCanvas</a> class is used for drawing 2D vector graphics. The
+<a href="qcanvasview.html">QCanvasView</a> class is used to present a view of a canvas in an
+application's GUI. All our drawing operations take place on the
+canvas; but events (e.g. mouse clicks) take place on the canvas view.
+</table></center>
+<p> Each action is represented by a private slot, e.g. <tt>fileNew()</tt>, <tt>optionsSetData()</tt>, etc. We also have quite a number of private
+functions and data members; we'll look at all these as we go through
+the implementation.
+<p> For the sake of convenience and compilation speed the chart form's
+implementation is split over three files, <tt>chartform.cpp</tt> for the
+GUI, <tt>chartform_canvas.cpp</tt> for the canvas handling and <tt>chartform_files.cpp</tt> for the file handling. We'll review each in turn.
+<p> <h2> The Chart Form GUI
+</h2>
+<a name="1"></a><p> (Extracts from <tt>chartform.cpp</tt>.)
+<p>
+
+<pre> #include "images/file_new.xpm"
+ #include "images/file_open.xpm"
+</pre><pre> #include "images/options_piechart.xpm"
+</pre>
+<p> All the images used by <tt>chart</tt> have been created as <tt>.xpm</tt> files
+which we've placed in the <tt>images</tt> subdirectory.
+<p> <h2> The Constructor
+</h2>
+<a name="2"></a><p> <pre> ChartForm::ChartForm( const <a href="qstring.html">QString</a>&amp; filename )
+ : <a href="qmainwindow.html">QMainWindow</a>( 0, 0, WDestructiveClose )
+</pre><tt>...</tt>
+<pre> <a href="qaction.html">QAction</a> *fileNewAction;
+ <a href="qaction.html">QAction</a> *fileOpenAction;
+ <a href="qaction.html">QAction</a> *fileSaveAction;
+</pre>
+<p> For each user action we declare a <a href="qaction.html">QAction</a> pointer. Some actions are
+declared in the header file because they need to be referred to
+outside of the constructor.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#d0d0d0">
+<td valign="top">Most user actions are suitable as both menu items and as toolbar
+buttons. Qt allows us to create a single QAction which can be added to
+both a menu and a toolbar. This approach ensures that menu items and
+toolbar buttons stay in sync and saves duplicating code.
+</table></center>
+<p> <pre> fileNewAction = new <a href="qaction.html">QAction</a>(
+ "New Chart", QPixmap( file_new ),
+ "&amp;New", CTRL+Key_N, this, "new" );
+ <a href="qobject.html#connect">connect</a>( fileNewAction, SIGNAL( <a href="qaction.html#activated">activated</a>() ), this, SLOT( fileNew() ) );
+</pre>
+<p> When we construct an action we give it a name, an optional icon, a
+menu text, and an accelerator short-cut key (or 0 if no accelerator is
+required). We also make it a child of the form (by passing <tt>this</tt>).
+When the user clicks a toolbar button or clicks a menu option the <tt>activated()</tt> signal is emitted. We connect() this signal to the
+action's slot, in the snippet shown above, to fileNew().
+<p> The chart types are all mutually exclusive: you can have a pie chart
+<em>or</em> a vertical bar chart <em>or</em> a horizontal bar chart. This means
+that if the user selects the pie chart menu option, the pie chart
+toolbar button must be automatically selected too, and the other chart
+menu options and toolbar buttons must be automatically unselected.
+This behaviour is achieved by creating a <a href="qactiongroup.html">QActionGroup</a> and placing the
+chart type actions in the group.
+<p> <pre> <a href="qactiongroup.html">QActionGroup</a> *chartGroup = new <a href="qactiongroup.html">QActionGroup</a>( this ); // Connected later
+ chartGroup-&gt;<a href="qactiongroup.html#setExclusive">setExclusive</a>( TRUE );
+</pre>
+<p> The action group becomes a child of the form (<tt>this</tt>) and the
+exlusive behaviour is achieved by the setExclusive() call.
+<p> <pre> optionsPieChartAction = new <a href="qaction.html">QAction</a>(
+ "Pie Chart", QPixmap( options_piechart ),
+ "&amp;Pie Chart", CTRL+Key_I, chartGroup, "pie chart" );
+ optionsPieChartAction-&gt;<a href="qaction.html#setToggleAction">setToggleAction</a>( TRUE );
+</pre>
+<p> Each action in the group is created in the same way as other actions,
+except that the action's parent is the group rather than the form.
+Because our chart type actions have an on/off state we call
+setToggleAction(TRUE) for each of them. Note that we do not connect
+the actions; instead, later on, we will connect the group to a slot
+that will cause the canvas to redraw.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top">Why haven't we connected the group straight away? Later in the
+constructor we will read the user's options, one of which is the chart
+type. We will then set the chart type accordingly. But at that point
+we still won't have created a canvas or have any data, so all we want
+to do is toggle the canvas type toolbar buttons, but not actually draw
+the (at this point non-existent) canvas. <em>After</em> we have set the
+canvas type we will connect the group.
+</table></center>
+<p> Once we've created all our user actions we can create the toolbars and
+menu options that will allow the user to invoke them.
+<p> <pre> <a href="qtoolbar.html">QToolBar</a>* fileTools = new <a href="qtoolbar.html">QToolBar</a>( this, "file operations" );
+ fileTools-&gt;<a href="qtoolbar.html#setLabel">setLabel</a>( "File Operations" );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileTools );
+</pre><tt>...</tt>
+<pre> fileMenu = new <a href="qpopupmenu.html">QPopupMenu</a>( this );
+ <a href="qmainwindow.html#menuBar">menuBar</a>()-&gt;insertItem( "&amp;File", fileMenu );
+ fileNewAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileOpenAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+ fileSaveAction-&gt;<a href="qaction.html#addTo">addTo</a>( fileMenu );
+</pre>
+<p> Toolbar actions and menu options are easily created from QActions.
+<p> As a convenience to our users we will restore the last window position
+and size and list their recently used files. This is achieved by
+writing out their settings when the application is closed and reading
+them back when we construct the form.
+<p> <pre> <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ int windowWidth = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowWidth", 460 );
+ int windowHeight = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowHeight", 530 );
+ int windowX = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowX", -1 );
+ int windowY = settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "WindowY", -1 );
+ setChartType( ChartType(
+ settings.<a href="qsettings.html#readNumEntry">readNumEntry</a>( APP_KEY + "ChartType", int(PIE) ) ) );
+</pre><pre> m_font = QFont( "Helvetica", 18, QFont::Bold );
+ m_font.fromString(
+ settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "Font", m_font.toString() ) );
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+ <a href="qstring.html">QString</a> filename = settings.<a href="qsettings.html#readEntry">readEntry</a>( APP_KEY + "File" +
+ QString::<a href="qstring.html#number">number</a>( i + 1 ) );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ m_recentFiles.push_back( filename );
+ }
+ if ( m_recentFiles.count() )
+ updateRecentFilesMenu();
+</pre>
+<p> The <a href="qsettings.html">QSettings</a> class handles user settings in a platform-independent
+way. We simply read and write settings, leaving QSettings to handle
+the platform dependencies. The insertSearchPath() call does nothing
+except under Windows so does not have to be <tt>#ifdef</tt>ed.
+<p> We use readNumEntry() calls to obtain the chart form's last size and
+position, providing default values if this is the first time it has
+been run. The chart type is retrieved as an integer and cast to a
+ChartType enum value. We create a default label font and then read the
+"Font" setting, using the default we have just created if necessary.
+<p> Although QSettings can handle string lists we've chosen to store each
+recently used file as a separate entry to make it easier to hand edit
+the settings. We attempt to read each possible file entry ("File1" to
+"File9"), and add each non-empty entry to the list of recently used
+files. If there are one or more recently used files we update the File
+menu by calling updateRecentFilesMenu(); (we'll review this later on).
+<p> <pre> <a href="qobject.html#connect">connect</a>( chartGroup, SIGNAL( <a href="qactiongroup.html#selected">selected</a>(QAction*) ),
+ this, SLOT( updateChartType(QAction*) ) );
+</pre>
+<p> Now that we have set the chart type (when we read it in as a user
+setting) it is safe to connect the chart group to our
+updateChartType() slot.
+<p> <pre> <a href="qwidget.html#resize">resize</a>( windowWidth, windowHeight );
+ if ( windowX != -1 || windowY != -1 )
+ <a href="qwidget.html#move">move</a>( windowX, windowY );
+</pre>
+<p> And now that we know the window size and position we can resize and
+move the chart form's window accordingly.
+<p> <pre> m_canvas = new <a href="qcanvas.html">QCanvas</a>( this );
+ m_canvas-&gt;<a href="qcanvas.html#resize">resize</a>( <a href="qwidget.html#width">width</a>(), height() );
+ m_canvasView = new CanvasView( m_canvas, &amp;m_elements, this );
+ <a href="qmainwindow.html#setCentralWidget">setCentralWidget</a>( m_canvasView );
+ m_canvasView-&gt;<a href="qwidget.html#show">show</a>();
+</pre>
+<p> We create a new <a href="qcanvas.html">QCanvas</a> and set its size to that of the chart form
+window's client area. We also create a <tt>CanvasView</tt> (our own subclass
+of <a href="qcanvasview.html">QCanvasView</a>) to display the QCanvas. We make the canvas view the
+chart form's main widget and show it.
+<p> <pre> if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else {
+ init();
+ m_elements[0].set( 20, red, 14, "Red" );
+ m_elements[1].set( 70, cyan, 2, "Cyan", darkGreen );
+ m_elements[2].set( 35, blue, 11, "Blue" );
+ m_elements[3].set( 55, yellow, 1, "Yellow", darkBlue );
+ m_elements[4].set( 80, magenta, 1, "Magenta" );
+ drawElements();
+ }
+</pre>
+<p> If we have a file to load we load it; otherwise we initialise our
+elements vector and draw a sample chart.
+<p> <pre> <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Ready", 2000 );
+</pre>
+<p> It is <em>vital</em> that we call statusBar() in the constructor, since the
+call ensures that a status bar is created for this main window.
+<p> <h3> init()
+</h3>
+<a name="2-1"></a><p> <pre> void ChartForm::init()
+ {
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart" );
+ m_filename = <a href="qstring.html#QString-null">QString::null</a>;
+ m_changed = FALSE;
+
+ m_elements[0] = Element( Element::INVALID, red );
+ m_elements[1] = Element( Element::INVALID, cyan );
+ m_elements[2] = Element( Element::INVALID, blue );
+</pre><tt>...</tt>
+<p> We use an init() function because we want to initialise the canvas and
+the elements (in the <tt>m_elements</tt> <tt>ElementVector</tt>) when the form is
+constructed, and also whenever the user loads an existing data set or
+creates a new data set.
+<p> We reset the caption and set the current filename to QString::null. We
+also populate the elements vector with invalid elements. This isn't
+necessary, but giving each element a different color is more
+convenient for the user since when they enter values each one will
+already have a unique color (which they can change of course).
+<p> <h2> The File Handling Actions
+</h2>
+<a name="3"></a><p> <h3> okToClear()
+</h3>
+<a name="3-1"></a><p> <pre> bool ChartForm::okToClear()
+ {
+ if ( m_changed ) {
+ <a href="qstring.html">QString</a> msg;
+ if ( m_filename.isEmpty() )
+ msg = "Unnamed chart ";
+ else
+ msg = QString( "Chart '%1'\n" ).arg( m_filename );
+ msg += "has been changed.";
+
+ int x = QMessageBox::<a href="qmessagebox.html#information">information</a>( this, "Chart -- Unsaved Changes",
+ msg, "&amp;Save", "Cancel", "&amp;Abandon",
+ 0, 1 );
+ switch( x ) {
+ case 0: // Save
+ fileSave();
+ break;
+ case 1: // Cancel
+ default:
+ return FALSE;
+ case 2: // Abandon
+ break;
+ }
+ }
+
+ return TRUE;
+ }
+</pre>
+<p> The okToClear() function is used to prompt the user to save their
+values if they have any unsaved data. It is used by several other
+functions.
+<p> <h3> fileNew()
+</h3>
+<a name="3-2"></a><p>
+
+<pre> void ChartForm::fileNew()
+ {
+ if ( okToClear() ) {
+ init();
+ drawElements();
+ }
+ }
+</pre>
+<p> When the user invokes the fileNew() action we call okToClear() to give
+them the opportunity to save any unsaved data. If they either save or
+abandon or have no unsaved data we re-initialise the elements vector
+and draw the default chart.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#d0d0d0">
+<td valign="top">Should we also have invoked optionsSetData() to pop up the dialog
+through which the user can create and edit values, colors etc? You
+could try running the application as it is, and then try it having
+added a call to optionsSetData() and see which you prefer.
+</table></center>
+<p> <h3> fileOpen()
+</h3>
+<a name="3-3"></a><p> <pre> void ChartForm::fileOpen()
+ {
+ if ( !okToClear() )
+ return;
+
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file open", "Chart -- File Open" );
+ <a name="x2567"></a> if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() )
+ load( filename );
+ else
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "File Open abandoned", 2000 );
+ }
+</pre>
+<p> We check that it is okToClear(). If it is we use the static
+<a href="qfiledialog.html#getOpenFileName">QFileDialog::getOpenFileName</a>() function to get the name of the file
+the user wishes to load. If we get a filename we call load().
+<p> <h3> fileSaveAs()
+</h3>
+<a name="3-4"></a><p> <pre> void ChartForm::fileSaveAs()
+ {
+ <a href="qstring.html">QString</a> filename = QFileDialog::<a href="qfiledialog.html#getSaveFileName">getSaveFileName</a>(
+ QString::null, "Charts (*.cht)", this,
+ "file save as", "Chart -- File Save As" );
+ if ( !filename.<a href="qstring.html#isEmpty">isEmpty</a>() ) {
+ int answer = 0;
+ <a name="x2563"></a> if ( QFile::<a href="qfile.html#exists">exists</a>( filename ) )
+ <a name="x2566"></a> answer = QMessageBox::<a href="qmessagebox.html#warning">warning</a>(
+ this, "Chart -- Overwrite File",
+ QString( "Overwrite\n\'%1\'?" ).
+ arg( filename ),
+ "&amp;Yes", "&amp;No", QString::null, 1, 1 );
+ if ( answer == 0 ) {
+ m_filename = filename;
+ updateRecentFiles( filename );
+ fileSave();
+ return;
+ }
+ }
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( "Saving abandoned", 2000 );
+ }
+</pre>
+<p> This function calls the static <a href="qfiledialog.html#getSaveFileName">QFileDialog::getSaveFileName</a>() to get
+the name of the file to save the data in. If the file exists we use a
+<a href="qmessagebox.html#warning">QMessageBox::warning</a>() to notify the user and give them the option of
+abandoning the save. If the file is to be saved we update the recently
+opened files list and call fileSave() (covered in <a href="tutorial2-07.html">File Handling</a>) to perform the save.
+<p> <h2> Managing a list of Recently Opened Files
+</h2>
+<a name="4"></a><p>
+
+<pre> <a href="qstringlist.html">QStringList</a> m_recentFiles;
+</pre>
+<p> We hold the list of recently opened files in a string list.
+<p>
+
+<pre> void ChartForm::updateRecentFilesMenu()
+ {
+ for ( int i = 0; i &lt; MAX_RECENTFILES; ++i ) {
+ if ( fileMenu-&gt;<a href="qmenudata.html#findItem">findItem</a>( i ) )
+ fileMenu-&gt;<a href="qmenudata.html#removeItem">removeItem</a>( i );
+ if ( i &lt; int(m_recentFiles.count()) )
+ fileMenu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( QString( "&amp;%1 %2" ).
+ arg( i + 1 ).arg( m_recentFiles[i] ),
+ this, SLOT( fileOpenRecent(int) ),
+ 0, i );
+ }
+ }
+</pre>
+<p> This function is called (usually via updateRecentFiles()) whenever the
+user opens an existing file or saves a new file. For each file in the
+string list we insert a new menu item. We prefix each filename with an
+underlined number from <u>1</u> to <u>9</u> to support keyboard access
+(e.g. <tt>Alt+F, 2</tt> to open the second file in the list). We give the
+menu item an id which is the same as the index position of the item in
+the string list, and connect each menu item to the fileOpenRecent()
+slot. The old file menu items are deleted at the same time by going
+through each possible recent file menu item id. This works because the
+other file menu items had ids created by Qt (all of which are &lt; 0);
+whereas the menu items we're creating all have ids &gt;= 0.
+<p>
+
+<pre> void ChartForm::updateRecentFiles( const <a href="qstring.html">QString</a>&amp; filename )
+ {
+ if ( m_recentFiles.find( filename ) != m_recentFiles.end() )
+ return;
+
+ m_recentFiles.push_back( filename );
+ if ( m_recentFiles.count() &gt; MAX_RECENTFILES )
+ m_recentFiles.pop_front();
+
+ updateRecentFilesMenu();
+ }
+</pre>
+<p> This is called when the user opens an existing file or saves a new
+file. If the file is already in the list it simply returns. Otherwise
+the file is added to the end of the list and if the list is too large
+(&gt; 9 files) the first (oldest) is removed. updateRecentFilesMenu() is
+then called to recreate the list of recently used files in the File
+menu.
+<p>
+
+<pre> void ChartForm::fileOpenRecent( int index )
+ {
+ if ( !okToClear() )
+ return;
+
+ load( m_recentFiles[index] );
+ }
+</pre>
+<p> When the user selects a recently opened file the fileOpenRecent() slot
+is called with the menu id of the file they have selected. Because we
+made the file menu ids equal to the files' index positions in the
+<tt>m_recentFiles</tt> list we can simply load the file indexed by the menu
+item id.
+<p> <h2> Quiting
+</h2>
+<a name="5"></a><p> <pre> void ChartForm::fileQuit()
+ {
+ if ( okToClear() ) {
+ saveOptions();
+ qApp-&gt;<a href="qapplication.html#exit">exit</a>( 0 );
+ }
+ }
+</pre>
+<p> When the user quits we give them the opportunity to save any unsaved
+data (okToClear()) then save their options, e.g. window size and
+position, chart type, etc., before terminating.
+<p> <pre> void ChartForm::saveOptions()
+ {
+ <a href="qsettings.html">QSettings</a> settings;
+ settings.<a href="qsettings.html#insertSearchPath">insertSearchPath</a>( QSettings::Windows, WINDOWS_REGISTRY );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowWidth", width() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowHeight", height() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowX", x() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "WindowY", y() );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "ChartType", int(m_chartType) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "AddValues", int(m_addValues) );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Decimals", m_decimalPlaces );
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "Font", m_font.toString() );
+ for ( int i = 0; i &lt; int(m_recentFiles.count()); ++i )
+ settings.<a href="qsettings.html#writeEntry">writeEntry</a>( APP_KEY + "File" + QString::number( i + 1 ),
+ m_recentFiles[i] );
+ }
+</pre>
+<p> Saving the user's options using <a href="qsettings.html">QSettings</a> is straight-forward.
+<p> <h2> Custom Dialogs
+</h2>
+<a name="6"></a><p> We want the user to be able to set some options manually and to create
+and edit values, value colors, etc.
+<p>
+
+<pre> void ChartForm::optionsSetOptions()
+ {
+ OptionsForm *optionsForm = new OptionsForm( this );
+ optionsForm-&gt;chartTypeComboBox-&gt;setCurrentItem( m_chartType );
+ optionsForm-&gt;<a href="qwidget.html#setFont">setFont</a>( m_font );
+</pre><pre> if ( optionsForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ setChartType( ChartType(
+ optionsForm-&gt;chartTypeComboBox-&gt;currentItem()) );
+ m_font = optionsForm-&gt;<a href="qwidget.html#font">font</a>();
+</pre><pre> drawElements();
+ }
+ delete optionsForm;
+ }
+</pre>
+<p> The form for setting options is provided by our custom <tt>OptionsForm</tt>
+covered in <a href="tutorial2-09.html">Setting Options</a>. The
+options form is a standard "dumb" dialog: we create an instance, set
+all its GUI elements to the relevant settings, and if the user clicked
+"OK" (exec() returns a true value) we read back settings from the GUI
+elements.
+<p>
+
+<pre> void ChartForm::optionsSetData()
+ {
+ SetDataForm *setDataForm = new SetDataForm( &amp;m_elements, m_decimalPlaces, this );
+ if ( setDataForm-&gt;<a href="qdialog.html#exec">exec</a>() ) {
+ m_changed = TRUE;
+ drawElements();
+ }
+ delete setDataForm;
+ }
+</pre>
+<p> The form for creating and editing chart data is provided by our custom
+<tt>SetDataForm</tt> covered in <a href="tutorial2-08.html">Taking Data</a>.
+This form is a "smart" dialog. We pass in the data structure we want
+to work on, and the dialog handles the presentation of the data
+structure itself. If the user clicks "OK" the dialog will update the
+data structure and exec() will return a true value. All we need to do
+in optionsSetData() if the user changed the data is mark the chart as
+changed and call drawElements() to redraw the chart with the new and
+updated data.
+<p> <p align="right">
+<a href="tutorial2-04.html">&laquo; Mainly Easy</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-06.html">Canvas Control &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-06.html b/doc/html/tutorial2-06.html
new file mode 100644
index 0000000..d397431
--- /dev/null
+++ b/doc/html/tutorial2-06.html
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:729 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Canvas Control</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Canvas Control</h1>
+
+
+<p>
+<p> We draw pie segments (or bar chart bars), and any labels, on a canvas.
+The canvas is presented to the user through a canvas view. The
+drawElements() function is called to redraw the canvas when necessary.
+<p> (Extracts from <tt>chartform_canvas.cpp</tt>.)
+<p> <h2> drawElements()
+</h2>
+<a name="1"></a><p>
+
+<pre> void ChartForm::drawElements()
+ {
+ <a href="qcanvasitemlist.html">QCanvasItemList</a> list = m_canvas-&gt;allItems();
+ for ( QCanvasItemList::iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it )
+ delete *it;
+</pre>
+<p> The first thing we do in drawElements() is delete all the existing
+canvas items.
+<p> <pre> // 360 * 16 for pies; Qt works with 16ths of degrees
+ int scaleFactor = m_chartType == PIE ? 5760 :
+ m_chartType == VERTICAL_BAR ? m_canvas-&gt;height() :
+ m_canvas-&gt;width();
+</pre>
+<p> Next we calculate the scale factor which depends on the type of chart
+we're going to draw.
+<p> <pre> double biggest = 0.0;
+ int count = 0;
+ double total = 0.0;
+ static double scales[MAX_ELEMENTS];
+
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ double value = m_elements[i].value();
+ count++;
+ total += value;
+ if ( value &gt; biggest )
+ biggest = value;
+ scales[i] = m_elements[i].value() * scaleFactor;
+ }
+ }
+
+ if ( count ) {
+ // 2nd loop because of total and biggest
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i )
+ if ( m_elements[i].isValid() )
+ if ( m_chartType == PIE )
+ scales[i] = (m_elements[i].value() * scaleFactor) / total;
+ else
+ scales[i] = (m_elements[i].value() * scaleFactor) / biggest;
+</pre>
+<p> We will need to know how many values there are, the biggest value and
+the total value so that we can create pie segments or bars that are
+correctly scaled. We store the scaled values in the <tt>scales</tt> array.
+<p> <pre> switch ( m_chartType ) {
+ case PIE:
+ drawPieChart( scales, total, count );
+ break;
+ case VERTICAL_BAR:
+ drawVerticalBarChart( scales, total, count );
+ break;
+ case HORIZONTAL_BAR:
+ drawHorizontalBarChart( scales, total, count );
+ break;
+ }
+ }
+</pre>
+<p> Now that we have the necessary information we call the relevant
+drawing function, passing in the scaled values, the total and the
+count.
+<p> <pre> m_canvas-&gt;update();
+</pre>
+<p> Finally we update() the canvas to make the changes visible.
+<p> <h3> drawHorizontalBarChart()
+</h3>
+<a name="1-1"></a><p> We'll review just one of the drawing functions, to see how canvas
+items are created and placed on a canvas since this tutorial is about
+Qt rather than good (or bad) algorithms for drawing charts.
+<p> <pre> void ChartForm::drawHorizontalBarChart(
+ const double scales[], double total, int count )
+ {
+</pre>
+<p> To draw a horizontal bar chart we need the array of scaled values, the
+total value (so that we can calculate and draw percentages if
+required) and a count of the number of values.
+<p> <pre> double width = m_canvas-&gt;width();
+ double height = m_canvas-&gt;height();
+ int proheight = int(height / count);
+ int y = 0;
+</pre>
+<p> We retrieve the width and height of the canvas and calculate the
+proportional height (<tt>proheight</tt>). We set the initial <tt>y</tt> position
+to 0.
+<p> <pre> <a href="qpen.html">QPen</a> pen;
+ <a name="x2575"></a> pen.<a href="qpen.html#setStyle">setStyle</a>( NoPen );
+</pre>
+<p> We create a pen that we will use to draw each bar (rectangle); we set
+it to <tt>NoPen</tt> so that no outlines are drawn.
+<p> <pre> for ( int i = 0; i &lt; MAX_ELEMENTS; ++i ) {
+ if ( m_elements[i].isValid() ) {
+ int extent = int(scales[i]);
+</pre>
+<p> We iterate over every element in the element vector, skipping invalid
+elements. The extent of each bar (its length) is simply its scaled
+value.
+<p> <pre> <a href="qcanvasrectangle.html">QCanvasRectangle</a> *rect = new <a href="qcanvasrectangle.html">QCanvasRectangle</a>(
+ 0, y, extent, proheight, m_canvas );
+ <a name="x2572"></a> rect-&gt;<a href="qcanvaspolygonalitem.html#setBrush">setBrush</a>( QBrush( m_elements[i].valueColor(),
+ BrushStyle(m_elements[i].valuePattern()) ) );
+ <a name="x2573"></a> rect-&gt;<a href="qcanvaspolygonalitem.html#setPen">setPen</a>( pen );
+ <a name="x2570"></a> rect-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 0 );
+ <a name="x2571"></a> rect-&gt;<a href="qcanvasitem.html#show">show</a>();
+</pre>
+<p> We create a new <a href="qcanvasrectangle.html">QCanvasRectangle</a> for each bar with an x position of 0
+(since this is a horizontal bar chart every bar begins at the left), a
+y value that starts at 0 and grows by the height of each bar as each
+one is drawn, the height of the bar and the canvas that the bar should
+be drawn on. We then set the bar's brush to the color and pattern that
+the user has specified for the element, set the pen to the pen we
+created earlier (i.e. to <tt>NoPen</tt>) and we place the bar at position 0
+in the Z-order. Finally we call show() to draw the bar on the canvas.
+<p> <pre> <a href="qstring.html">QString</a> label = m_elements[i].label();
+ <a name="x2576"></a> if ( !label.<a href="qstring.html#isEmpty">isEmpty</a>() || m_addValues != NO ) {
+ double proX = m_elements[i].proX( HORIZONTAL_BAR );
+ double proY = m_elements[i].proY( HORIZONTAL_BAR );
+ if ( proX &lt; 0 || proY &lt; 0 ) {
+ proX = 0;
+ proY = y / height;
+ }
+</pre>
+<p> If the user has specified a label for the element or asked for the
+values (or percentages) to be shown, we also draw a canvas text item.
+We created our own CanvasText class (see later) because we want to
+store the corresponding element index (in the element vector) in each
+canvas text item. We extract the proportional x and y values from the
+element. If either is &lt; 0 then they have not been positioned by the
+user so we must calculate positions for them. We set the label's x
+value to 0 (left) and the y value to the top of the bar (so that the
+label's top-left will be at this x, y position).
+<p> <pre> label = valueLabel( label, m_elements[i].value(), total );
+</pre>
+<p> We then call a helper function valueLabel() which returns a string
+containing the label text. (The valueLabel() function adds on the
+value or percentage to the textual label if the user has set the
+appropriate options.)
+<p> <pre> CanvasText *text = new CanvasText( i, label, m_font, m_canvas );
+ <a name="x2574"></a> text-&gt;<a href="qcanvastext.html#setColor">setColor</a>( m_elements[i].labelColor() );
+ <a name="x2568"></a> text-&gt;<a href="qcanvasitem.html#setX">setX</a>( proX * width );
+ <a name="x2569"></a> text-&gt;<a href="qcanvasitem.html#setY">setY</a>( proY * height );
+ text-&gt;<a href="qcanvasitem.html#setZ">setZ</a>( 1 );
+ text-&gt;<a href="qcanvasitem.html#show">show</a>();
+ m_elements[i].setProX( HORIZONTAL_BAR, proX );
+ m_elements[i].setProY( HORIZONTAL_BAR, proY );
+</pre>
+<p> We then create a CanvasText item, passing it the index of this element
+in the element vector, and the label, font and canvas to use. We set
+the text item's text color to the color specified by the user and set
+the item's x and y positions proportional to the canvas's width and
+height. We set the Z-order to 1 so that the text item will always be
+above (in front of) the bar (whose Z-order is 0). We call show() to
+draw the text item on the canvas, and set the element's relative x and
+y positions.
+<p> <pre> }
+ y += proheight;
+</pre>
+<p> After drawing a bar and possibly its label, we increment y by the
+proportional height ready to draw the next element.
+<p> <pre> }
+ }
+ }
+</pre>
+<p> <h2> Subclassing <a href="qcanvastext.html">QCanvasText</a>
+</h2>
+<a name="2"></a><p> (Extracts from <tt>canvastext.h</tt>.)
+<p>
+
+<pre> class CanvasText : public <a href="qcanvastext.html">QCanvasText</a>
+ {
+ public:
+ enum { CANVAS_TEXT = 1100 };
+
+ CanvasText( int index, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( canvas ), m_index( index ) {}
+ CanvasText( int index, const <a href="qstring.html">QString</a>&amp; text, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( text, canvas ), m_index( index ) {}
+ CanvasText( int index, const <a href="qstring.html">QString</a>&amp; text, QFont font, QCanvas *canvas )
+ : <a href="qcanvastext.html">QCanvasText</a>( text, font, canvas ), m_index( index ) {}
+
+ int index() const { return m_index; }
+ void setIndex( int index ) { m_index = index; }
+
+ int rtti() const { return CANVAS_TEXT; }
+
+ private:
+ int m_index;
+ };
+</pre>
+<p> Our CanvasText subclass is a very simple specialisation of
+<a href="qcanvastext.html">QCanvasText</a>. All we've done is added a single private member <tt>m_index</tt> which holds the element vector index of the element associated
+with this text item, and provided a getter and setter for this value.
+<p> <h2> Subclassing <a href="qcanvasview.html">QCanvasView</a>
+</h2>
+<a name="3"></a><p> (Extracts from <tt>canvasview.h</tt>.)
+<p>
+
+<pre> class CanvasView : public <a href="qcanvasview.html">QCanvasView</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ CanvasView( <a href="qcanvas.html">QCanvas</a> *canvas, ElementVector *elements,
+ <a href="qwidget.html">QWidget</a>* parent = 0, const char* name = "canvas view",
+ WFlags f = 0 )
+ : <a href="qcanvasview.html">QCanvasView</a>( canvas, parent, name, f ), m_movingItem(0),
+ m_elements( elements ) {}
+
+ protected:
+ void viewportResizeEvent( <a href="qresizeevent.html">QResizeEvent</a> *e );
+ void contentsMousePressEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsMouseMoveEvent( <a href="qmouseevent.html">QMouseEvent</a> *e );
+ void contentsContextMenuEvent( <a href="qcontextmenuevent.html">QContextMenuEvent</a> *e );
+
+ private:
+ <a href="qcanvasitem.html">QCanvasItem</a> *m_movingItem;
+ <a href="qpoint.html">QPoint</a> m_pos;
+ ElementVector *m_elements;
+ };
+</pre>
+<p> We need to subclass <a href="qcanvasview.html">QCanvasView</a> so that we can handle:
+<ol type=1>
+<li> Context menu requests.
+<li> Form resizing.
+<li> Users dragging labels to arbitrary positions.
+</ol>
+<p> To support these we store a pointer to the canvas item that is being
+moved and its last position. We also store a pointer to the element
+vector.
+<p> <h3> Supporting Context Menus
+</h3>
+<a name="3-1"></a><p> (Extracts from <tt>canvasview.cpp</tt>.)
+<p>
+
+<pre> <a name="x2584"></a>void CanvasView::<a href="qscrollview.html#contentsContextMenuEvent">contentsContextMenuEvent</a>( <a href="qcontextmenuevent.html">QContextMenuEvent</a> * )
+ {
+ <a name="x2579"></a> ((ChartForm*)<a href="qobject.html#parent">parent</a>())-&gt;optionsMenu-&gt;exec( QCursor::<a href="qcursor.html#pos">pos</a>() );
+ }
+</pre>
+<p> When the user invokes a context menu (e.g. by right-clicking on most
+platforms) we cast the canvas view's parent (which is the chart form)
+to the right type and then exec()ute the options menu at the cursor
+position.
+<p> <h3> Handling Resizing
+</h3>
+<a name="3-2"></a><p> <pre> <a name="x2587"></a>void CanvasView::<a href="qscrollview.html#viewportResizeEvent">viewportResizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> *e )
+ {
+ <a name="x2583"></a> <a href="qcanvasview.html#canvas">canvas</a>()-&gt;resize( e-&gt;<a href="qresizeevent.html#size">size</a>().width(), e-&gt;<a href="qresizeevent.html#size">size</a>().height() );
+ ((ChartForm*)<a href="qobject.html#parent">parent</a>())-&gt;drawElements();
+ }
+</pre>
+<p> To resize we simply resize the canvas that the canvas view is
+presenting to the width and height of the form's client area, then
+call drawElements() to redraw the chart. Because drawElements() draws
+everything relative to the canvas's width and height the chart is
+drawn correctly.
+<p> <h3> Dragging Labels into Position
+</h3>
+<a name="3-3"></a><p> When the user wants to drag a label into position they click it, then
+drag and release at the new position.
+<p> <pre> <a name="x2586"></a>void CanvasView::<a href="qscrollview.html#contentsMousePressEvent">contentsMousePressEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ <a name="x2580"></a> <a href="qcanvasitemlist.html">QCanvasItemList</a> list = <a href="qcanvasview.html#canvas">canvas</a>()-&gt;collisions( e-&gt;<a href="qmouseevent.html#pos">pos</a>() );
+ <a name="x2589"></a><a name="x2588"></a> for ( QCanvasItemList::iterator it = list.<a href="qvaluelist.html#begin">begin</a>(); it != list.<a href="qvaluelist.html#end">end</a>(); ++it )
+ if ( (*it)-&gt;rtti() == CanvasText::CANVAS_TEXT ) {
+ m_movingItem = *it;
+ m_pos = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ return;
+ }
+ m_movingItem = 0;
+ }
+</pre>
+<p> When the user clicks the mouse we create a list of canvas items that
+the mouse click "collided" with (if any). We then iterate over this
+list and if we find a <tt>CanvasText</tt> item we set it as the moving item
+and record its position. Otherwise we set there to be no moving item.
+<p> <pre> <a name="x2585"></a>void CanvasView::<a href="qscrollview.html#contentsMouseMoveEvent">contentsMouseMoveEvent</a>( <a href="qmouseevent.html">QMouseEvent</a> *e )
+ {
+ if ( m_movingItem ) {
+ <a href="qpoint.html">QPoint</a> offset = e-&gt;<a href="qmouseevent.html#pos">pos</a>() - m_pos;
+ <a name="x2582"></a><a name="x2581"></a> m_movingItem-&gt;moveBy( offset.<a href="qpoint.html#x">x</a>(), offset.<a href="qpoint.html#y">y</a>() );
+ m_pos = e-&gt;<a href="qmouseevent.html#pos">pos</a>();
+ ChartForm *form = (ChartForm*)<a href="qobject.html#parent">parent</a>();
+ form-&gt;setChanged( TRUE );
+ int chartType = form-&gt;chartType();
+ CanvasText *item = (CanvasText*)m_movingItem;
+ int i = item-&gt;index();
+
+ (*m_elements)[i].setProX( chartType, item-&gt;x() / canvas()-&gt;width() );
+ (*m_elements)[i].setProY( chartType, item-&gt;y() / canvas()-&gt;height() );
+
+ <a href="qcanvasview.html#canvas">canvas</a>()-&gt;update();
+ }
+ }
+</pre>
+<p> As the user drags the mouse, move events are generated. If there is a
+moving item we calculate the offset from the last mouse position and
+move the item by this offset amount. We record the new position as the
+last position. Because the chart has now changed we call setChanged()
+so that the user will be prompted to save if they attempt to exit or
+to load an existing chart or to create a new chart. We also update the
+element's proportional x and y positions for the current chart type to
+the current x and y positions proportional to the width and height
+respectively. We know which element to update because when we create
+each canvas text item we pass it the index position of the element it
+corresponds to. We subclassed <a href="qcanvastext.html">QCanvasText</a> so that we could set and get
+this index value. Finally we call update() to make the canvas redraw.
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#f0f0f0">
+<td valign="top">A <a href="qcanvas.html">QCanvas</a> has no visual representation. To see the contents of a
+canvas you must create a <a href="qcanvasview.html">QCanvasView</a> to present the canvas. Items only
+appear in the canvas view if they have been show()n, and then, only if
+<a href="qcanvas.html#update">QCanvas::update</a>() has been called. By default a QCanvas's background
+color is white, and by default shapes drawn on the canvas, e.g.
+<a href="qcanvasrectangle.html">QCanvasRectangle</a>, <a href="qcanvasellipse.html">QCanvasEllipse</a>, etc., have their fill color set to
+white, so setting a non-white brush color is highly recommended!
+</table></center>
+<p> <p align="right">
+<a href="tutorial2-05.html">&laquo; Presenting the GUI</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-07.html">File Handling &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-07.html b/doc/html/tutorial2-07.html
new file mode 100644
index 0000000..6298a38
--- /dev/null
+++ b/doc/html/tutorial2-07.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:969 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>File Handling</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>File Handling</h1>
+
+
+<p>
+<p> (Extracts from <tt>chartform_files.cpp</tt>.)
+<p> <h2> Reading Chart Data
+</h2>
+<a name="1"></a><p>
+
+<pre> void ChartForm::load( const <a href="qstring.html">QString</a>&amp; filename )
+ {
+ <a href="qfile.html">QFile</a> file( filename );
+ if ( !file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_ReadOnly</a> ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Failed to load \'%1\'" ).
+ arg( filename ), 2000 );
+ return;
+ }
+
+ init(); // Make sure we have colours
+ m_filename = filename;
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;file );
+ Element element;
+ int errors = 0;
+ int i = 0;
+ <a name="x2592"></a> while ( !ts.<a href="qtextstream.html#eof">eof</a>() ) {
+ ts &gt;&gt; element;
+ if ( element.isValid() )
+ m_elements[i++] = element;
+</pre><pre> <a name="x2590"></a> file.<a href="qfile.html#close">close</a>();
+</pre>
+<p> <pre> <a href="qwidget.html#setCaption">setCaption</a>( QString( "Chart -- %1" ).arg( filename ) );
+ updateRecentFiles( filename );
+
+ drawElements();
+ m_changed = FALSE;
+ }
+</pre>
+<p> Loading a data set is very easy. We open the file and create a text
+stream. While there's data to read we stream an element into <tt>element</tt> and if it is valid we insert it into the <tt>m_elements</tt> vector.
+All the detail is handled by the <tt>Element</tt> class. Then we close
+the file and update the caption and the recent files list. Finally we
+draw the chart and mark it as unchanged.
+<p> <h2> Writing Chart Data
+</h2>
+<a name="2"></a><p> <pre> void ChartForm::fileSave()
+ {
+</pre><pre> <a href="qfile.html">QFile</a> file( m_filename );
+ <a name="x2591"></a> if ( !file.<a href="qfile.html#open">open</a>( <a href="qfile.html#open">IO_WriteOnly</a> ) ) {
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Failed to save \'%1\'" ).
+ arg( m_filename ), 2000 );
+ return;
+ }
+ <a href="qtextstream.html">QTextStream</a> ts( &amp;file );
+ for ( int i = 0; i &lt; MAX_ELEMENTS; ++i )
+ if ( m_elements[i].isValid() )
+ ts &lt;&lt; m_elements[i];
+
+ file.<a href="qfile.html#close">close</a>();
+
+ <a href="qwidget.html#setCaption">setCaption</a>( QString( "Chart -- %1" ).arg( m_filename ) );
+ <a href="qmainwindow.html#statusBar">statusBar</a>()-&gt;message( QString( "Saved \'%1\'" ).arg( m_filename ), 2000 );
+ m_changed = FALSE;
+ }
+</pre>
+<p> Saving data is equally easy. We open the file and create a text
+stream. We then stream every valid element to the text stream. All the
+detail is handled by the <tt>Element</tt> class.
+<p> <p align="right">
+<a href="tutorial2-06.html">&laquo; Canvas Control</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-08.html">Taking Data &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-08.html b/doc/html/tutorial2-08.html
new file mode 100644
index 0000000..a260cb5
--- /dev/null
+++ b/doc/html/tutorial2-08.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:1017 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Taking Data</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Taking Data</h1>
+
+
+<p>
+<p> <center><img src="chart-setdata.png" alt="The set data dialog"></center>
+<p> The set data dialog allows the user to add and edit values, and to
+choose the color and pattern used to display values. Users can also
+enter label text and choose a label color for each label.
+<p> (Extracts from <tt>setdataform.h</tt>.)
+<p>
+
+<pre> class SetDataForm: public <a href="qdialog.html">QDialog</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ SetDataForm( ElementVector *elements, int decimalPlaces,
+ <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = "set data form",
+ bool modal = TRUE, WFlags f = 0 );
+ ~SetDataForm() {}
+
+ public slots:
+ void setColor();
+ void setColor( int row, int col );
+ void currentChanged( int row, int col );
+ void valueChanged( int row, int col );
+
+ protected slots:
+ void accept();
+
+ private:
+ <a href="qtable.html">QTable</a> *table;
+ <a href="qpushbutton.html">QPushButton</a> *colorPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *okPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *cancelPushButton;
+
+ protected:
+ <a href="qvboxlayout.html">QVBoxLayout</a> *tableButtonBox;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *buttonBox;
+
+ private:
+ ElementVector *m_elements;
+ int m_decimalPlaces;
+ };
+</pre>
+<p> The header file is simple. The constructor takes a pointer to the
+element vector so that this "smart" dialog can display and edit the
+data directly. We'll explain the slots as we look through the
+implementation.
+<p> (Extracts from <tt>setdataform.cpp</tt>.)
+<p>
+
+<pre> #include "images/pattern01.xpm"
+ #include "images/pattern02.xpm"
+</pre>
+<p> We have created a small <tt>.XPM</tt> image to show each brush pattern that
+Qt supports. We'll use these in the pattern combobox.
+<p> <h2> The Constructor
+</h2>
+<a name="1"></a><p> <pre> SetDataForm::SetDataForm( ElementVector *elements, int decimalPlaces,
+ <a href="qwidget.html">QWidget</a>* parent, const char* name,
+ bool modal, WFlags f )
+ : <a href="qdialog.html">QDialog</a>( parent, name, modal, f )
+
+ {
+ m_elements = elements;
+ m_decimalPlaces = decimalPlaces;
+</pre>
+<p> We pass most of the arguments to the <a href="qdialog.html">QDialog</a> superclass. We assign the
+elements vector pointer and the number of decimal places to display to
+member variables so that they are accessible by all SetDataForm's
+member functions.
+<p> <pre> <a href="qwidget.html#setCaption">setCaption</a>( "Chart -- Set Data" );
+ <a href="qwidget.html#resize">resize</a>( 540, 440 );
+</pre>
+<p> We set a caption for the dialog and resize it.
+<p> <pre> tableButtonBox = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 11, 6, "table button box layout" );
+</pre>
+<p> The layout of the form is quite simple. The buttons will be grouped
+together in a horizontal layout and the table and the button layout
+will be grouped together vertically using the tableButtonBox layout.
+<p> <pre> table = new <a href="qtable.html">QTable</a>( this, "data table" );
+ <a name="x2621"></a> table-&gt;<a href="qtable.html#setNumCols">setNumCols</a>( 5 );
+ <a name="x2622"></a> table-&gt;<a href="qtable.html#setNumRows">setNumRows</a>( ChartForm::MAX_ELEMENTS );
+ <a name="x2619"></a> table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 1, TRUE );
+ table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 2, TRUE );
+ table-&gt;<a href="qtable.html#setColumnReadOnly">setColumnReadOnly</a>( 4, TRUE );
+ <a name="x2620"></a> table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 0, 80 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 1, 60 ); // Columns 1 and 4 must be equal
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 2, 60 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 3, 200 );
+ table-&gt;<a href="qtable.html#setColumnWidth">setColumnWidth</a>( 4, 60 );
+ <a name="x2616"></a> <a href="qheader.html">QHeader</a> *th = table-&gt;<a href="qtable.html#horizontalHeader">horizontalHeader</a>();
+ <a name="x2605"></a> th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 0, "Value" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 1, "Color" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 2, "Pattern" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 3, "Label" );
+ th-&gt;<a href="qheader.html#setLabel">setLabel</a>( 4, "Color" );
+ tableButtonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( table );
+</pre>
+<p> We create a new <a href="qtable.html">QTable</a> with five columns, and the same number of rows
+as we have elements in the elements vector. We make the color and
+pattern columns read only: this is to prevent the user typing in them.
+We will make the color changeable by the user clicking on a color or
+navigating to a color and clicking the Color button. The pattern will
+be in a combobox, changeable simply by the user selecting a different
+pattern. Next we set suitable initial widths, insert labels for each
+column and finally add the table to the tableButtonBox layout.
+<p> <pre> buttonBox = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6, "button box layout" );
+</pre>
+<p> We create a horizontal box layout to hold the buttons.
+<p> <pre> colorPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "color button" );
+ <a name="x2598"></a> colorPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "&amp;Color..." );
+ colorPushButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( FALSE );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( colorPushButton );
+</pre>
+<p> We create a color button and add it to the buttonBox layout. We
+disable the button; we will only enable it when the focus is actually
+on a color cell.
+<p> <pre> <a href="qspaceritem.html">QSpacerItem</a> *spacer = new <a href="qspaceritem.html">QSpacerItem</a>( 0, 0, QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ <a name="x2593"></a> buttonBox-&gt;<a href="qboxlayout.html#addItem">addItem</a>( spacer );
+</pre>
+<p> Since we want to separate the color button from the OK and Cancel
+buttons we next create a spacer and add that to the buttonBox layout.
+<p> <pre> okPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "ok button" );
+ okPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "OK" );
+ <a name="x2607"></a> okPushButton-&gt;<a href="qpushbutton.html#setDefault">setDefault</a>( TRUE );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( okPushButton );
+
+ cancelPushButton = new <a href="qpushbutton.html">QPushButton</a>( this, "cancel button" );
+ cancelPushButton-&gt;<a href="qbutton.html#setText">setText</a>( "Cancel" );
+ <a name="x2597"></a> cancelPushButton-&gt;<a href="qbutton.html#setAccel">setAccel</a>( Key_Escape );
+ buttonBox-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( cancelPushButton );
+</pre>
+<p> The OK and Cancel buttons are created and added to the buttonBox. We
+make the OK button the dialog's default button, and we make the <tt>Esc</tt>
+key an accelerator for the Cancel button.
+<p> <pre> <a name="x2594"></a> tableButtonBox-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( buttonBox );
+</pre>
+<p> We add the buttonBox layout to the tableButtonBox and the layout is
+complete.
+<p> <pre> <a name="x2612"></a> <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#clicked">clicked</a>(int,int,int,const <a href="qpoint.html">QPoint</a>&amp;) ),
+ this, SLOT( setColor(int,int) ) );
+ <a name="x2613"></a> <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#currentChanged">currentChanged</a>(int,int) ),
+ this, SLOT( currentChanged(int,int) ) );
+ <a name="x2626"></a> <a href="qobject.html#connect">connect</a>( table, SIGNAL( <a href="qtable.html#valueChanged">valueChanged</a>(int,int) ),
+ this, SLOT( valueChanged(int,int) ) );
+ <a name="x2596"></a> <a href="qobject.html#connect">connect</a>( colorPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( setColor() ) );
+ <a href="qobject.html#connect">connect</a>( okPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#accept">accept</a>() ) );
+ <a href="qobject.html#connect">connect</a>( cancelPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#reject">reject</a>() ) );
+</pre>
+<p> We now "wire up" the form.
+<ul>
+<li> If the user clicks a cell we call the setColor() slot; this will
+check that the cell is one that holds a color, and if it is, will
+invoke the color dialog.
+<li> We connect the <a href="qtable.html">QTable</a>'s currentChanged() signal to our own
+currentChanged() slot; this will be used to enable/disable the color
+button for example, depending on which column the user is in.
+<li> We connect the table's valueChanged() signal to our own
+valueChanged() slot; we'll use this to display the value with the
+correct number of decimal places.
+<li> If the user clicks the Color button we call a setColor() slot.
+<li> The OK button is connected to the accept() slot; we will update the
+elements vector in this slot.
+<li> The Cancel button is connected to the <a href="qdialog.html">QDialog</a> reject() slot, and
+requires no further code or action on our part.
+</ul>
+<p> <pre> QPixmap patterns[MAX_PATTERNS];
+ patterns[0] = QPixmap( pattern01 );
+ patterns[1] = QPixmap( pattern02 );
+</pre>
+<p> We create a pixmap for every brush pattern and store them in the <tt>patterns</tt> array.
+<p> <pre> <a name="x2610"></a> <a href="qrect.html">QRect</a> rect = table-&gt;<a href="qtable.html#cellRect">cellRect</a>( 0, 1 );
+ <a href="qpixmap.html">QPixmap</a> pix( rect.<a href="qrect.html#width">width</a>(), rect.<a href="qrect.html#height">height</a>() );
+</pre>
+<p> We obtain the rectangle that will be occupied by each color cell and
+create a blank pixmap of that size.
+<p> <pre> for ( int i = 0; i &lt; ChartForm::MAX_ELEMENTS; ++i ) {
+ Element element = (*m_elements)[i];
+
+ if ( element.isValid() )
+ table-&gt;<a href="qtable.html#setText">setText</a>(
+ i, 0,
+ QString( "%1" ).arg( element.value(), 0, 'f',
+ m_decimalPlaces ) );
+
+ <a href="qcolor.html">QColor</a> color = element.valueColor();
+ pix.<a href="qpixmap.html#fill">fill</a>( color );
+ table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( i, 1, pix );
+ table-&gt;<a href="qtable.html#setText">setText</a>( i, 1, color.<a href="qcolor.html#name">name</a>() );
+
+ <a href="qcombobox.html">QComboBox</a> *combobox = new <a href="qcombobox.html">QComboBox</a>;
+ for ( int j = 0; j &lt; MAX_PATTERNS; ++j )
+ combobox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( patterns[j] );
+ <a name="x2603"></a> combobox-&gt;<a href="qcombobox.html#setCurrentItem">setCurrentItem</a>( element.valuePattern() - 1 );
+ <a name="x2618"></a> table-&gt;<a href="qtable.html#setCellWidget">setCellWidget</a>( i, 2, combobox );
+
+ table-&gt;<a href="qtable.html#setText">setText</a>( i, 3, element.label() );
+
+ color = element.labelColor();
+ <a name="x2606"></a> pix.<a href="qpixmap.html#fill">fill</a>( color );
+ <a name="x2623"></a> table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( i, 4, pix );
+ <a name="x2624"></a><a name="x2600"></a> table-&gt;<a href="qtable.html#setText">setText</a>( i, 4, color.<a href="qcolor.html#name">name</a>() );
+</pre>
+<p> For each element in the element vector we must populate the table.
+<p> If the element is valid we write its value in the first column (column
+0, Value), formatting it with the specified number of decimal places.
+<p> We read the element's value color and fill the blank pixmap with that
+color; we then set the color cell to display this pixmap. We need to
+be able to read back the color later (e.g. if the user changes it).
+One way of doing this would be to examine a pixel in the pixmap;
+another way would be to subclass <a href="qtableitem.html">QTableItem</a> (in a similar way to our
+CanvasText subclass) and store the color there. But we've taken a
+simpler route: we set the cell's text to the name of the color.
+<p> Next we populate the pattern combobox with the patterns. We will use
+the position of the chosen pattern in the combobox to determine which
+pattern the user has selected. <a href="qtable.html">QTable</a> can make use of <a href="qcombotableitem.html">QComboTableItem</a>
+items; but these only support text, so we use setCellWidget() to
+insert <a href="qcombobox.html">QComboBox</a>'s into the table instead.
+<p> Next we insert the element's label. Finally we set the label color in
+the same way as we set the value color.
+<p> <h2> The Slots
+</h2>
+<a name="2"></a><p> <pre> void SetDataForm::currentChanged( int, int col )
+ {
+ colorPushButton-&gt;<a href="qwidget.html#setEnabled">setEnabled</a>( col == 1 || col == 4 );
+ }
+</pre>
+<p> As the user navigates through the table currentChanged() signals are
+emitted. If the user enters column 1 or 4 (value color or label color)
+we enable the colorPushButton; otherwise we disable it.
+<p> <pre> void SetDataForm::valueChanged( int row, int col )
+ {
+ if ( col == 0 ) {
+ bool ok;
+ <a name="x2625"></a> double d = table-&gt;<a href="qtable.html#text">text</a>( row, col ).toDouble( &amp;ok );
+ if ( ok &amp;&amp; d &gt; EPSILON )
+ table-&gt;<a href="qtable.html#setText">setText</a>(
+ row, col, QString( "%1" ).arg(
+ d, 0, 'f', m_decimalPlaces ) );
+ else if ( !table-&gt;<a href="qtable.html#text">text</a>( row, col ).isEmpty() )
+ table-&gt;<a href="qtable.html#setText">setText</a>( row, col, table-&gt;<a href="qtable.html#text">text</a>( row, col ) + "?" );
+ }
+ }
+</pre>
+<p> If the user changes the value we must format it using the correct
+number of decimal places, or indicate that it is invalid.
+<p> <pre> void SetDataForm::setColor()
+ {
+ <a name="x2615"></a><a name="x2614"></a> setColor( table-&gt;<a href="qtable.html#currentRow">currentRow</a>(), table-&gt;<a href="qtable.html#currentColumn">currentColumn</a>() );
+ table-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ }
+</pre>
+<p> If the user presses the Color button we call the other setColor()
+function and put the focus back into the table.
+<p> <pre> void SetDataForm::setColor( int row, int col )
+ {
+ if ( !( col == 1 || col == 4 ) )
+ return;
+
+ <a name="x2601"></a> <a href="qcolor.html">QColor</a> color = QColorDialog::<a href="qcolordialog.html#getColor">getColor</a>(
+ QColor( table-&gt;<a href="qtable.html#text">text</a>( row, col ) ),
+ this, "color dialog" );
+ <a name="x2599"></a> if ( color.<a href="qcolor.html#isValid">isValid</a>() ) {
+ <a name="x2617"></a> <a href="qpixmap.html">QPixmap</a> pix = table-&gt;<a href="qtable.html#pixmap">pixmap</a>( row, col );
+ pix.<a href="qpixmap.html#fill">fill</a>( color );
+ table-&gt;<a href="qtable.html#setPixmap">setPixmap</a>( row, col, pix );
+ table-&gt;<a href="qtable.html#setText">setText</a>( row, col, color.<a href="qcolor.html#name">name</a>() );
+ }
+ }
+</pre>
+<p> If this function is called with the focus on a color cell we call
+the static <a href="qcolordialog.html#getColor">QColorDialog::getColor</a>() dialog to get the user's choice of
+color. If they chose a color we fill the color cell's pixmap with that
+color and set the cell's text to the new color's name.
+<p> <pre> <a name="x2604"></a>void SetDataForm::<a href="qdialog.html#accept">accept</a>()
+ {
+ bool ok;
+ for ( int i = 0; i &lt; ChartForm::MAX_ELEMENTS; ++i ) {
+ Element &amp;element = (*m_elements)[i];
+ double d = table-&gt;<a href="qtable.html#text">text</a>( i, 0 ).toDouble( &amp;ok );
+ if ( ok )
+ element.setValue( d );
+ else
+ element.setValue( Element::INVALID );
+ element.setValueColor( QColor( table-&gt;<a href="qtable.html#text">text</a>( i, 1 ) ) );
+ element.setValuePattern(
+ <a name="x2611"></a> ((QComboBox*)table-&gt;<a href="qtable.html#cellWidget">cellWidget</a>( i, 2 ))-&gt;currentItem() + 1 );
+ element.setLabel( table-&gt;<a href="qtable.html#text">text</a>( i, 3 ) );
+ element.setLabelColor( QColor( table-&gt;<a href="qtable.html#text">text</a>( i, 4 ) ) );
+ }
+
+ QDialog::<a href="qdialog.html#accept">accept</a>();
+ }
+</pre>
+<p> If the user clicks OK we must update the elements vector. We iterate
+over the vector and set each element's value to the value the user has
+entered or <tt>INVALID</tt> if the value is invalid. We set the value color
+and the label color by constructing <a href="qcolor.html">QColor</a> temporaries that take a
+color name as argument. The pattern is set to the pattern combobox's
+current item with an offset of 1 (since our pattern numbers begin at
+1, but the combobox's items are indexed from 0).
+<p> Finally we call <a href="qdialog.html#accept">QDialog::accept</a>().
+<p> <p align="right">
+<a href="tutorial2-07.html">&laquo; File Handling</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-09.html">Setting Options &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-09.html b/doc/html/tutorial2-09.html
new file mode 100644
index 0000000..5646d34
--- /dev/null
+++ b/doc/html/tutorial2-09.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:1233 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Setting Options</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Setting Options</h1>
+
+
+<p>
+<p> <center><img src="chart-options.png" alt="The options dialog"></center>
+<p> We provide an options dialog so that the user can set options that
+apply to all data sets in one place.
+<p> (Extracts from <tt>optionsform.h</tt>.)
+<p>
+
+<pre> class OptionsForm : public <a href="qdialog.html">QDialog</a>
+ {
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+ public:
+ OptionsForm( <a href="qwidget.html">QWidget</a>* parent = 0, const char* name = "options form",
+ bool modal = FALSE, WFlags f = 0 );
+ ~OptionsForm() {}
+
+ <a href="qfont.html">QFont</a> font() const { return m_font; }
+ void setFont( <a href="qfont.html">QFont</a> font );
+
+ <a href="qlabel.html">QLabel</a> *chartTypeTextLabel;
+ <a href="qcombobox.html">QComboBox</a> *chartTypeComboBox;
+ <a href="qpushbutton.html">QPushButton</a> *fontPushButton;
+ <a href="qlabel.html">QLabel</a> *fontTextLabel;
+ <a href="qframe.html">QFrame</a> *addValuesFrame;
+ <a href="qbuttongroup.html">QButtonGroup</a> *addValuesButtonGroup;
+ <a href="qradiobutton.html">QRadioButton</a> *noRadioButton;
+ <a href="qradiobutton.html">QRadioButton</a> *yesRadioButton;
+ <a href="qradiobutton.html">QRadioButton</a> *asPercentageRadioButton;
+ <a href="qlabel.html">QLabel</a> *decimalPlacesTextLabel;
+ <a href="qspinbox.html">QSpinBox</a> *decimalPlacesSpinBox;
+ <a href="qpushbutton.html">QPushButton</a> *okPushButton;
+ <a href="qpushbutton.html">QPushButton</a> *cancelPushButton;
+
+ protected slots:
+ void chooseFont();
+
+ protected:
+ <a href="qvboxlayout.html">QVBoxLayout</a> *optionsFormLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *chartTypeLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *fontLayout;
+ <a href="qvboxlayout.html">QVBoxLayout</a> *addValuesFrameLayout;
+ <a href="qvboxlayout.html">QVBoxLayout</a> *addValuesButtonGroupLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *decimalPlacesLayout;
+ <a href="qhboxlayout.html">QHBoxLayout</a> *buttonsLayout;
+
+ private:
+ <a href="qfont.html">QFont</a> m_font;
+ };
+</pre>
+<p> The layout of this dialog is slightly more complicated than for the
+set data form, but we only need a single slot. Unlike the "smart" set
+data form this is a "dumb" dialog that simply provides the widgets for
+the caller to set and read. The caller is responsible for updating
+things based on the changes the user makes.
+<p> (Extracts from <tt>optionsform.cpp</tt>.)
+<p>
+
+<pre> #include "images/options_horizontalbarchart.xpm"
+ #include "images/options_piechart.xpm"
+ #include "images/options_verticalbarchart.xpm"
+</pre>
+<p> We include some some pixmaps to use in the chart type combobox.
+<p> <h2> The Constructor
+</h2>
+<a name="1"></a><p> <pre> OptionsForm::OptionsForm( <a href="qwidget.html">QWidget</a>* parent, const char* name,
+ bool modal, WFlags f )
+ : <a href="qdialog.html">QDialog</a>( parent, name, modal, f )
+ {
+ <a href="qwidget.html#setCaption">setCaption</a>( "Chart -- Options" );
+ <a href="qwidget.html#resize">resize</a>( 320, 290 );
+</pre>
+<p> We pass all the arguments on to the <a href="qdialog.html">QDialog</a> constructor, set a caption
+and set an initial size.
+<p> The layout of the form will be to have the chart type label and combo
+box in a horizontal box layout, and similarly for the font button and
+font label, and for the decimal places label and spinbox. The
+buttons will also be placed in a horizontal layout, but with a spacer
+to move them to the right. The show values radio buttons will be
+vertically aligned within a frame. All of these will be laid out in a
+vertical box layout.
+<p> <pre> optionsFormLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>( this, 11, 6 );
+</pre>
+<p> All the widgets will be laid out within the form's vertical box layout.
+<p> <pre> chartTypeLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+</pre>
+<p> The chart type label and combobox will be laid out side by side.
+<p> <pre> chartTypeTextLabel = new <a href="qlabel.html">QLabel</a>( "&amp;Chart Type", this );
+ <a name="x2631"></a> chartTypeLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( chartTypeTextLabel );
+
+ chartTypeComboBox = new <a href="qcombobox.html">QComboBox</a>( FALSE, this );
+ <a name="x2633"></a> chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_piechart ), "Pie Chart" );
+ chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_verticalbarchart ),
+ "Vertical Bar Chart" );
+ chartTypeComboBox-&gt;<a href="qcombobox.html#insertItem">insertItem</a>( QPixmap( options_horizontalbarchart ),
+ "Horizontal Bar Chart" );
+ chartTypeLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( chartTypeComboBox );
+ <a name="x2630"></a> optionsFormLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( chartTypeLayout );
+</pre>
+<p> We create the chart type label (with an accelerator which we'll relate
+to the chart type combobox later). We also create a chart type
+combobox, populating it with both pixmaps and text. We add them both
+to the horizontal layout and add the horizontal layout to the form's
+vertical layout.
+<p> <pre> fontLayout = new <a href="qhboxlayout.html">QHBoxLayout</a>( 0, 0, 6 );
+
+ fontPushButton = new <a href="qpushbutton.html">QPushButton</a>( "&amp;Font...", this );
+ fontLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fontPushButton );
+ <a href="qspaceritem.html">QSpacerItem</a>* spacer = new <a href="qspaceritem.html">QSpacerItem</a>( 0, 0,
+ QSizePolicy::Expanding,
+ QSizePolicy::Minimum );
+ <a name="x2629"></a> fontLayout-&gt;<a href="qboxlayout.html#addItem">addItem</a>( spacer );
+
+ fontTextLabel = new <a href="qlabel.html">QLabel</a>( this ); // Must be set by caller via setFont()
+ fontLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( fontTextLabel );
+ optionsFormLayout-&gt;<a href="qboxlayout.html#addLayout">addLayout</a>( fontLayout );
+</pre>
+<p> We create a horizontal box layout to hold the font button and font
+label. The font button is straight-forward. We add a spacer to improve
+the appearance. The font text label is initially empty (since we don't
+know what font the user is using).
+<p> <pre> addValuesFrame = new <a href="qframe.html">QFrame</a>( this );
+ <a name="x2640"></a> addValuesFrame-&gt;<a href="qframe.html#setFrameShape">setFrameShape</a>( QFrame::StyledPanel );
+ <a name="x2639"></a> addValuesFrame-&gt;<a href="qframe.html#setFrameShadow">setFrameShadow</a>( QFrame::Sunken );
+ addValuesFrameLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>( addValuesFrame, 11, 6 );
+
+ addValuesButtonGroup = new <a href="qbuttongroup.html">QButtonGroup</a>( "Show Values", addValuesFrame );
+ <a name="x2641"></a> addValuesButtonGroup-&gt;<a href="qgroupbox.html#setColumnLayout">setColumnLayout</a>(0, Qt::Vertical );
+ <a name="x2647"></a> addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>()-&gt;setSpacing( 6 );
+ addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>()-&gt;setMargin( 11 );
+ addValuesButtonGroupLayout = new <a href="qvboxlayout.html">QVBoxLayout</a>(
+ addValuesButtonGroup-&gt;<a href="qwidget.html#layout">layout</a>() );
+ <a name="x2644"></a> addValuesButtonGroupLayout-&gt;<a href="qlayoutitem.html#setAlignment">setAlignment</a>( Qt::AlignTop );
+
+ noRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;No", addValuesButtonGroup );
+ <a name="x2645"></a> noRadioButton-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>( TRUE );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( noRadioButton );
+
+ yesRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "&amp;Yes", addValuesButtonGroup );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( yesRadioButton );
+
+ asPercentageRadioButton = new <a href="qradiobutton.html">QRadioButton</a>( "As &amp;Percentage",
+ addValuesButtonGroup );
+ addValuesButtonGroupLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( asPercentageRadioButton );
+ addValuesFrameLayout-&gt;<a href="qboxlayout.html#addWidget">addWidget</a>( addValuesButtonGroup );
+</pre>
+<p> The user may opt to display their own labels as they are or to add the
+values at the end of each label, either as-is or as percentages.
+<p> We create a frame to present the radio buttons in and create a layout
+for them. We create a button group (so that Qt will take care of
+handling the exclusive radio button behaviour automatically). Next we
+create the radio buttons, making "No" the default.
+<p> The decimal places label and spin box are laid out just like the other
+horizontal layouts, and the buttons are laid out in a very similar way
+to the buttons in the set data form.
+<p> <pre> <a href="qobject.html#connect">connect</a>( fontPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( chooseFont() ) );
+ <a href="qobject.html#connect">connect</a>( okPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#accept">accept</a>() ) );
+ <a href="qobject.html#connect">connect</a>( cancelPushButton, SIGNAL( <a href="qbutton.html#clicked">clicked</a>() ), this, SLOT( <a href="qdialog.html#reject">reject</a>() ) );
+</pre>
+<p> We only need three connections:
+<ol type=1>
+<li> When the user clicks the font button we execute our own
+chooseFont() slot.
+<li> If the user clicks OK we call <a href="qdialog.html#accept">QDialog::accept</a>(); it is up to the
+caller to read the data from the dialog's widgets and perform any
+necessary actions.
+<li> If the user clicks Cancel we call <a href="qdialog.html#reject">QDialog::reject</a>().
+</ol>
+<p> <pre> <a name="x2642"></a> chartTypeTextLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( chartTypeComboBox );
+ decimalPlacesTextLabel-&gt;<a href="qlabel.html#setBuddy">setBuddy</a>( decimalPlacesSpinBox );
+</pre>
+<p> We use the setBuddy() function to associate widgets with label
+accelerators.
+<p> <h2> The Slots
+</h2>
+<a name="2"></a><p> <pre> void OptionsForm::chooseFont()
+ {
+ bool ok;
+ <a name="x2638"></a> <a href="qfont.html">QFont</a> font = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, m_font, this );
+ if ( ok )
+ <a href="qwidget.html#setFont">setFont</a>( font );
+ }
+</pre>
+<p> When the user clicks the Font button this slot is invoked. It simply
+calls the static <a href="qfontdialog.html#getFont">QFontDialog::getFont</a>() function to obtain the user's
+choice of font. If they chose a font we call our setFont() slot which
+will present a textual description of the font in the font label.
+<p> <pre> void OptionsForm::<a href="qwidget.html#setFont">setFont</a>( <a href="qfont.html">QFont</a> font )
+ {
+ <a name="x2635"></a> <a href="qstring.html">QString</a> label = font.<a href="qfont.html#family">family</a>() + " " +
+ <a name="x2637"></a> QString::<a href="qstring.html#number">number</a>( font.<a href="qfont.html#pointSize">pointSize</a>() ) + "pt";
+ <a name="x2634"></a> if ( font.<a href="qfont.html#bold">bold</a>() )
+ label += " Bold";
+ <a name="x2636"></a> if ( font.<a href="qfont.html#italic">italic</a>() )
+ label += " Italic";
+ fontTextLabel-&gt;<a href="qlabel.html#setText">setText</a>( label );
+ m_font = font;
+ }
+</pre>
+<p> This function displays a textual description of the chosen font in the
+font label and holds a copy of the font in the <tt>m_font</tt> member. We
+need the font in a member so that we can provide a default font for
+chooseFont().
+<p> <p align="right">
+<a href="tutorial2-08.html">&laquo; Taking Data</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-10.html">The Project File &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-10.html b/doc/html/tutorial2-10.html
new file mode 100644
index 0000000..2a61b4d
--- /dev/null
+++ b/doc/html/tutorial2-10.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:1370 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>The Project File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>The Project File</h1>
+
+
+<p>
+<p> (<tt>chart.pro</tt>.)
+<p>
+
+<pre> TEMPLATE = app
+
+ CONFIG += warn_on
+
+ REQUIRES = full-config
+
+ HEADERS += element.h \
+ canvastext.h \
+ canvasview.h \
+ chartform.h \
+ optionsform.h \
+ setdataform.h
+ SOURCES += element.cpp \
+ canvasview.cpp \
+ chartform.cpp \
+ chartform_canvas.cpp \
+ chartform_files.cpp \
+ optionsform.cpp \
+ setdataform.cpp \
+ main.cpp
+</pre>
+<p> By using a project file we can insulate ourselves from having to
+create Makefiles for the platforms we wish to target. To generate a
+Makefile all we need do is run <a href="qmake-manual.html">qmake</a>,
+e.g.
+<pre>
+qmake -o Makefile chart.pro
+</pre>
+
+<p> <p align="right">
+<a href="tutorial2-09.html">&laquo; Setting Options</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-11.html">Wrapping Up &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2-11.html b/doc/html/tutorial2-11.html
new file mode 100644
index 0000000..6723aa0
--- /dev/null
+++ b/doc/html/tutorial2-11.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:1397 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Wrapping Up</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Wrapping Up</h1>
+
+
+<p>
+<p> The <tt>chart</tt> application shows how straight-forward it is to create
+applications and their dialogs with Qt. Creating menus and toolbars is
+easy and Qt's <a href="signalsandslots.html">signals and slots</a>
+mechanism considerably simplifies GUI event handling.
+<p> Manually creating layouts can take some time to master, but there is
+an easy alternative: <a href="designer-manual.html">Qt&nbsp;Designer</a>.
+<a href="designer-manual.html">Qt&nbsp;Designer</a> includes simple but
+powerful layout tools and a code editor. It can automatically generate
+<tt>main.cpp</tt> and the <tt>.pro</tt> project file.
+<p> The <tt>chart</tt> application is ripe for further development and
+experimentation. You might consider implementing some of the following
+ideas:
+<ul>
+<li> Use a <a href="qvalidator.html">QValidator</a> subclass to ensure that only valid doubles are
+entered as values.
+<li> Adding more chart types, e.g. line graph, area graph and hi-lo
+graph.
+<li> Allowing the user to set top, bottom left and right margins.
+<li> Allowing the user to specify a title which they can drag into
+position like the labels.
+<li> Providing an axis drawing and labelling option.
+<li> Providing an option to provide a key (or legend) instead of labels.
+<li> Adding a 3D look option to all chart types.
+</ul>
+<p> <p align="right">
+<a href="tutorial2-10.html">&laquo; The Project File</a> |
+<a href="tutorial2.html">Contents &raquo;</a>
+</p>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/tutorial2.html b/doc/html/tutorial2.html
new file mode 100644
index 0000000..0551a05
--- /dev/null
+++ b/doc/html/tutorial2.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/tutorial2.doc:17 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial #2</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Tutorial #2</h1>
+
+
+<p>
+<p> This tutorial presents a more "real world" example of Qt programming
+than the first tutorial. It introduces many aspects of Qt programming,
+including the creation of menus (including a recent files list),
+toolbars and dialogs, loading and saving user settings, etc.
+<p> If you're completely new to Qt, please read <a href="how-to-learn-qt.html">How to Learn Qt</a> if you haven't already done so.
+<p> <ul>
+<li> <a href="tutorial2-01.html">Introduction</a>
+<li> <a href="tutorial2-02.html">The 'Big Picture'</a>
+<li> <a href="tutorial2-03.html">Data Elements</a>
+<li> <a href="tutorial2-04.html">Mainly Easy</a>
+<li> <a href="tutorial2-05.html">Presenting the GUI</a>
+<li> <a href="tutorial2-06.html">Canvas Control</a>
+<li> <a href="tutorial2-07.html">File Handling</a>
+<li> <a href="tutorial2-08.html">Taking Data</a>
+<li> <a href="tutorial2-09.html">Setting Options</a>
+<li> <a href="tutorial2-10.html">The Project File</a>
+<li> <a href="tutorial2-11.html">Wrapping Up</a>
+</ul>
+<p> <p align="right">
+<a href="tutorial2-01.html">Introduction &raquo;</a>
+</p>
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/uic.html b/doc/html/uic.html
new file mode 100644
index 0000000..8e2033c
--- /dev/null
+++ b/doc/html/uic.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/uic.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>User Interface Compiler (uic)</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>User Interface Compiler (uic)</h1>
+
+
+
+
+<p> This page documents the <em>User Interface Compiler</em> for the Qt GUI
+toolkit. The <em>uic</em> reads a user interface definition
+(.ui) file in XML as generated by <a href="designer-manual.html">Qt
+Designer</a> and creates corresponding C++ header or source files.
+It can also generate an image file to embed raw image data in C++
+source code.
+<p> <h2> Options
+</h2>
+<a name="1"></a><p> <h3> File Generation Options
+</h3>
+<a name="1-1"></a><p> Generate declaration:
+<pre>
+uic [options] &lt;file&gt;
+</pre>
+
+<p> Generate implementation:
+<pre>
+uic [options] -impl &lt;headerfile&gt; &lt;file&gt;
+</pre>
+
+<ul>
+<li> &lt;headerfile&gt; - name of the declaration file
+</ul>
+<p> Generate image collection:
+<pre>
+uic [options] -embed &lt;project&gt; &lt;image1&gt; &lt;image2&gt; &lt;image3&gt; ...
+</pre>
+
+<ul>
+<li> &lt;project&gt; - project name
+<li> &lt;image[0..n]&gt; - image files
+</ul>
+<p> For convenience, <em>uic</em> can also generate declaration or
+implementation stubs for subclasses.
+<p> Generate subclass declaration:
+<pre>
+uic [options] -subdecl &lt;classname&gt; &lt;headerfile&gt; &lt;file&gt;
+</pre>
+
+<ul>
+<li> &lt;classname&gt; - name of the subclass to generate
+<li> &lt;headerfile&gt; - declaration file of the <b>baseclass</b>
+</ul>
+<p> Generate subclass implementation:
+<pre>
+uic [options] -subimpl &lt;classname&gt; &lt;headerfile&gt; &lt;file&gt;
+</pre>
+
+<ul>
+<li> &lt;classname&gt; - name of the subclass to generate
+<li> &lt;headerfile&gt; - declaration file of the <b>subclass</b>
+</ul>
+<p> <h3> General Options
+</h3>
+<a name="1-2"></a><p> <ul>
+<li> <tt>-o file</tt> - write output to 'file' rather than to stdout.
+<li> <tt>-nofwd</tt> - omit forward declarations of custom classes in the
+generated header file. This is necessary if typedef classes are used.
+<li> <tt>-tr func</tt> - use <tt>func(sourceText, comment)</tt> rather than
+trUtf8(sourceText, comment) for <a href="i18n.html#internationalization">internationalization</a>.
+<li> <tt>-pch file</tt> - add <tt>#include "file"</tt> as the first statement in the implementation file.
+</ul>
+<p> <h2> Usage
+</h2>
+<a name="2"></a><p> <em>uic</em> is almost always invoked by <tt>make (1)</tt>, rather than by hand.
+<p> Here are useful makefile rules if you only use GNU make:
+<pre>
+ %.h: %.ui
+ uic $&lt; -o $@
+
+ %.cpp: %.ui
+ uic -impl $*.h $&lt; -o $@
+</pre>
+
+If you want to write portably, you can use individual rules of the
+following form:
+<pre>
+ NAME.h: NAME.ui
+ uic $&lt; -o $@
+
+ NAME.cpp: NAME.ui
+ uic -impl $*.h $&lt; -o $@
+</pre>
+
+You must also remember to add <tt>NAME.cpp</tt> to your SOURCES (substitute
+your favorite name) variable and <tt>NAME.o</tt> to your OBJECTS variable.
+<p> (While we prefer to name our C++ source files .cpp, the <em>uic</em> doesn't
+care, so you can use .C, .cc, .CC, .cxx or even .c++ if you prefer.)
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/unicode.html b/doc/html/unicode.html
new file mode 100644
index 0000000..8b75edb
--- /dev/null
+++ b/doc/html/unicode.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/unicode.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About Unicode</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>About Unicode</h1>
+
+
+<p> Unicode is a multi-byte character set, portable across all major
+computing platforms and with decent coverage over most of the world.
+It is also single-locale; it includes no code pages or other
+complexities that make software harder to write and test. There is no
+competing character set that's reasonably multiplatform. For these
+reasons, Trolltech uses Unicode as the native character set for Qt
+(since version 2.0).
+<p> <h2> Information about Unicode on the web.
+</h2>
+<a name="1"></a><p> The <a href="http://www.unicode.org">Unicode Consortium</a>
+has a number of documents available, including
+<p> <ul>
+<p> <li> <a href="http://www.unicode.org/unicode/standard/principles.html">A technical introduction to Unicode</a>
+<li> <a href="http://www.unicode.org/unicode/standard/standard.html">The home page for the standard</a>
+<p> </ul>
+<p> <h2> The Standard
+</h2>
+<a name="2"></a><p> The current version of the standard is 3.2
+<p> <ul>
+<p> <li> <a href="http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t">The Unicode Standard, version 3.2.</a> See also
+<a href="http://www.unicode.org/unicode/standard/versions/">its home page.</a>
+<li> <a href="http://www.amazon.com/exec/obidos/ASIN/0201473459/trolltech/t">The Unicode Standard, version 2.0.</a> See also the
+<a href="http://www.unicode.org/unicode/reports/tr8.html">2.1
+update</a> and
+<a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html#Unicode">2.1.9 the 2.1.9 data files</a> at www.unicode.org.
+<p> </ul>
+<p> <h2> Unicode in Qt
+</h2>
+<a name="3"></a><p> In Qt, and in most applications that use Qt, most or all user-visible
+strings are stored using Unicode. Qt provides:
+<p> <ul>
+<p> <li> Translation to/from legacy encodings for file I/O: see <a href="qtextcodec.html">QTextCodec</a> and <a href="qtextstream.html">QTextStream</a>.
+<li> Translation from Input Methods and 8-bit keyboard input.
+<li> Translation to legacy character sets for on-screen display.
+<li> A string class, <a href="qstring.html">QString</a>, that stores Unicode characters, with
+support for migrating from C strings including fast (cached)
+translation to and from US-ASCII, and all the usual string
+operations.
+<li> Unicode-aware widgets where appropriate.
+<li> Unicode support detection on Windows, so that Qt provides Unicode
+even on Windows platforms that do not support it natively.
+<p> </ul>
+<p> To fully benefit from Unicode, we recommend using <a href="qstring.html">QString</a> for storing
+all user-visible strings, and performing all text file I/O using
+<a href="qtextstream.html">QTextStream</a>. Use <a href="qkeyevent.html#text">QKeyEvent::text</a>() for keyboard input in any custom
+widgets you write; it does not make much difference for slow typists
+in Western Europe or North America, but for fast typists or people
+using special input methods using text() is beneficial.
+<p> All the function arguments in Qt that may be user-visible strings, <a href="qlabel.html#setText">QLabel::setText</a>() and a many others, take <tt>const QString &amp;</tt>s.
+<a href="qstring.html">QString</a> provides implicit casting from <tt>const char *</tt>
+so that things like
+<pre>
+ myLabel-&gt;setText( "Hello, Dolly!" );
+</pre>
+
+will work. There is also a function, <a href="qobject.html#tr">QObject::tr</a>(), that provides
+translation support, like this:
+<pre>
+ myLabel-&gt;setText( tr("Hello, Dolly!") );
+</pre>
+
+<p> tr() (simplifying somewhat) maps from <tt>const char *</tt> to a
+Unicode string, and uses installable <a href="qtranslator.html">QTranslator</a> objects to do the
+mapping.
+<p> Qt provides a number of built-in <a href="qtextcodec.html">QTextCodec</a> classes, that is,
+classes that know how to translate between Unicode and legacy
+encodings to support programs that must talk to other programs or
+read/write files in legacy file formats.
+<p> By default, conversion to/from <tt>const char *</tt> uses a
+locale-dependent codec. However, applications can easily find codecs
+for other locales, and set any open file or network connection to use
+a special codec. It is also possible to install new codecs, for
+encodings that the built-in ones do not support. (At the time of
+writing, Vietnamese/VISCII is one such example.)
+<p> Since US-ASCII and ISO-8859-1 are so common, there are also especially
+fast functions for mapping to and from them. For example, to open an
+application's icon one might do this:
+<pre>
+ <a href="qfile.html">QFile</a> f( QString::<a href="qstring.html#fromLatin1">fromLatin1</a>("appicon.png") );
+</pre>
+
+<p> Regarding output, Qt will do a best-effort conversion from
+Unicode to whatever encoding the system and fonts provide.
+Depending on operating system, locale, font availability and Qt's
+support for the characters used, this conversion may be good or bad.
+We will extend this in upcoming versions, with emphasis on the most
+common locales first.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/unsmooth.png b/doc/html/unsmooth.png
new file mode 100644
index 0000000..bc008c9
--- /dev/null
+++ b/doc/html/unsmooth.png
Binary files differ
diff --git a/doc/html/validateaccelerators.png b/doc/html/validateaccelerators.png
new file mode 100644
index 0000000..68201fe
--- /dev/null
+++ b/doc/html/validateaccelerators.png
Binary files differ
diff --git a/doc/html/validatephrases.png b/doc/html/validatephrases.png
new file mode 100644
index 0000000..62fe5f2
--- /dev/null
+++ b/doc/html/validatephrases.png
Binary files differ
diff --git a/doc/html/validatepunctuation.png b/doc/html/validatepunctuation.png
new file mode 100644
index 0000000..8ce2648
--- /dev/null
+++ b/doc/html/validatepunctuation.png
Binary files differ
diff --git a/doc/html/web.png b/doc/html/web.png
new file mode 100644
index 0000000..5888f79
--- /dev/null
+++ b/doc/html/web.png
Binary files differ
diff --git a/doc/html/whatsthis b/doc/html/whatsthis
new file mode 100644
index 0000000..b95273f
--- /dev/null
+++ b/doc/html/whatsthis
@@ -0,0 +1,416 @@
+2D area that can contain QCanvasItem objects. | QCanvas
+2D transformations of a coordinate system. | QWMatrix
+Abstract base class for accessing SQL databases. | QSqlDriver
+Abstract base class for custom menu items in popup menus. | QCustomMenuItem
+Abstract base class for implementations of additional COM interfaces. | QAxAggregated
+Abstract base class of internal layout iterators. | QGLayoutIterator
+Abstract base for Qt/Embedded graphics driver plugins. | QGfxDriverPlugin
+Abstract base for Qt/Embedded keyboard driver plugins. | QKbdDriverPlugin
+Abstract base for Qt/Embedded mouse driver plugins. | QMouseDriverPlugin
+Abstract base for custom QSqlDriver plugins. | QSqlDriverPlugin
+Abstract base for custom QStyle plugins. | QStylePlugin
+Abstract base for custom QTextCodec plugins. | QTextCodecPlugin
+Abstract base for custom QWidget plugins. | QWidgetPlugin
+Abstract base for custom image format plugins. | QImageFormatPlugin
+Abstract base for fixed-size grids. | QGridView
+Abstract class that provides an API to initalize and access a COM object. | QAxBase
+Abstract graphic object on a QCanvas. | QCanvasItem
+Abstract interface for accessing data from SQL databases. | QSqlResult
+Abstract item that a QLayout manipulates. | QLayoutItem
+Abstract user interface action that can appear both in menus and tool bars. | QAction
+Abstraction for date and edit editors. | QDateTimeEditBase
+Abstraction of Unicode text and the classic C '&#92;0'-terminated char array. | QString
+Abstraction of objects which provide formatted data of a certain MIME type. | QMimeSource
+Abstraction of the classic C zero-terminated char array (char *). | QCString
+Abstraction used by QImageDecoder. | QImageConsumer
+Access serialization between threads. | QMutex
+Access to a selected area in a QTable. | QTableSelection
+Access to directory structures and their contents in a platform-independent way. | QDir
+Access to screen information on multi-head systems. | QDesktopWidget
+Access to the platform audio facilities. | QSound
+Access to the session manager. | QSessionManager
+Access to the window system clipboard. | QClipboard
+Acts like a union for the most common Qt data types. | QVariant
+Allows the appearance of the Qt/Embedded Window Manager to be customized. | QWSDecoration
+Allows waiting/waking for conditions between threads. | QWaitCondition
+And its descendants manage the framebuffer and palette. | QScreen
+Animated canvas item on a QCanvas. | QCanvasSprite
+Application-global cache for pixmaps. | QPixmapCache
+Area with movable labelled icons. | QIconView
+Array of QCanvasPixmaps. | QCanvasPixmapArray
+Array of bits. | QBitArray
+Array of bytes. | QByteArray
+Array of points. | QPointArray
+Asynchronous DNS lookups. | QDns
+Base class for QMenuBar and QPopupMenu. | QMenuData
+Base class for implementing QTextEdit syntax highlighters. | QSyntaxHighlighter
+Basic functions for reading and writing text using a QIODevice. | QTextStream
+Blank space in a layout. | QSpacerItem
+Bridge between application objects and script code. | QAxScriptManager
+Browsing and editing of SQL tables and views. | QSqlCursor
+Browsing of general SQL SELECT statements. | QSqlSelectCursor
+Buffered TCP connection. | QSocket
+Bundles signals from identifiable senders. | QSignalMapper
+CDE look and feel. | QCDEStyle
+Can be used to send signals for classes that don't inherit QObject. | QSignal
+Checkable list view items. | QCheckListItem
+Checkbox with a text label. | QCheckBox
+Checkboxes in QTables. | QCheckTableItem
+Clip region for a painter. | QRegion
+Clock time functions. | QTime
+Collection of nodes that can be accessed by name. | QDomNamedNodeMap
+Collection of styles for rich text rendering and a generator of tags. | QStyleSheet
+Collects tool tips into related groups. | QToolTipGroup
+Color groups for each widget state. | QPalette
+Colors based on RGB or HSV values. | QColor
+Column of tabbed widget items. | QToolBox
+Combined button and popup list. | QComboBox
+Combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes. | QDateTimeEdit
+Command button. | QPushButton
+Common API for network protocols. | QNetworkProtocol
+Common operations for network protocols. | QNetworkOperation
+Common operations on URLs. | QUrlOperator
+Communication capabilities between several clients. | QCopChannel
+Const iterator for QValueList. | QValueListConstIterator
+Convenience class for input streams. | QTextIStream
+Convenience class for output streams. | QTextOStream
+Conversion between text encodings. | QTextCodec
+Conversion to and from EUC-JP character sets. | QEucJpCodec
+Conversion to and from EUC-KR character sets. | QEucKrCodec
+Conversion to and from JIS character sets. | QJisCodec
+Conversion to and from Shift-JIS. | QSjisCodec
+Conversion to and from the Big5 encoding. | QBig5Codec
+Conversion to and from the Big5-HKSCS encoding. | QBig5hkscsCodec
+Conversion to and from the Chinese GB18030/GBK/GB2312 encoding. | QGb18030Codec
+Conversion to and from the Chinese GB2312 encoding. | QGb2312Codec
+Conversion to and from the Chinese GBK encoding. | QGbkCodec
+Conversion to and from the Tamil TSCII encoding. | QTsciiCodec
+Conversion to and from visually ordered Hebrew. | QHebrewCodec
+Converts between numbers and their string representations in various languages. | QLocale
+Corner-grip for resizing a top-level window. | QSizeGrip
+Creates QScreen objects for Qt/Embedded. | QGfxDriverFactory
+Creates QStyle objects. | QStyleFactory
+Creates QWSKeyboardHandler objects for Qt/Embedded. | QKbdDriverFactory
+Creates QWSMouseHandler objects for Qt/Embedded. | QMouseDriverFactory
+Creates and manages data entry forms tied to SQL databases. | QSqlForm
+Creates well-compressed PNG animations. | QPNGImagePacker
+Data manipulation and navigation for data entry forms. | QDataBrowser
+Date and time functions. | QDateTime
+Date editor. | QDateEdit
+Date functions. | QDate
+Default implementation of all the XML handler classes. | QXmlDefaultHandler
+Defines a Universally Unique Identifier (UUID). | QUuid
+Defines a factory for the creation of COM components. | QAxFactory
+Defines a point in the plane. | QPoint
+Defines a rectangle in the plane. | QRect
+Defines an interface that exposes information about accessible objects. | QAccessibleInterface
+Defines how a QPainter should draw lines and outlines of shapes. | QPen
+Defines the fill pattern of shapes drawn by a QPainter. | QBrush
+Defines the size of a two-dimensional object. | QSize
+Describes a key event. | QKeyEvent
+Dialog widget for selecting a font. | QFontDialog
+Dialog widget for specifying colors. | QColorDialog
+Dialogs that allow users to select files or directories. | QFileDialog
+Direct access to the video hardware. | QDirectPainter
+Displays a number with LCD-like digits. | QLCDNumber
+Does low-level painting e.g. on widgets. | QPainter
+Doubly-linked list of char*. | QStrList
+Doubly-linked list of char* with case-insensitive comparison. | QStrIList
+Drag and drop object for transferring colors. | QColorDrag
+Drag and drop object for transferring images. | QImageDrag
+Drag and drop object for transferring plain and Unicode text. | QTextDrag
+Drag object for a list of URI references. | QUriDrag
+Ellipse or ellipse segment on a QCanvas. | QCanvasEllipse
+Encapsulates MIME-based data transfer. | QDragObject
+Encapsulates a database record, i.e. a set of database fields. | QSqlRecord
+Encapsulates a drag item. | QIconDragItem
+Encapsulates a key sequence as used by accelerators. | QKeySequence
+Encapsulates a set of database field meta data. | QSqlRecordInfo
+Encapsulates an OpenGL rendering context. | QGLContext
+Encapsulates the common Look and Feel of a GUI. | QCommonStyle
+Encapsulation of a set of text styles. | QStyleSheetItem
+Enums and static functions relating to accessibility. | QAccessible
+Error message display dialog. | QErrorMessage
+Event parameters for child object events. | QChildEvent
+Event parameters for move events. | QMoveEvent
+Event parameters for paint events. | QPaintEvent
+Event parameters for resize events. | QResizeEvent
+Event parameters for widget focus events. | QFocusEvent
+Event which is sent after a widget is hidden. | QHideEvent
+Event which is sent to the widget when a drag and drop first drags onto the widget. | QDragEnterEvent
+Event which is sent to the widget when a drag and drop leaves the widget. | QDragLeaveEvent
+Event which is sent when a drag and drop is completed. | QDropEvent
+Event which is sent when a widget is shown. | QShowEvent
+Event which is sent while a drag and drop is in progress. | QDragMoveEvent
+Extensible provider of mime-typed data. | QMimeSourceFactory
+Factory that makes QImageFormat objects. | QImageFormatType
+Feedback on the progress of a slow operation. | QProgressDialog
+File previewing in QFileDialog. | QFilePreview
+Flexible SQL table widget that supports browsing and editing. | QDataTable
+Flexible editable table widget. | QTable
+Font metrics information. | QFontMetrics
+Font used for drawing text. | QFont
+For the dynamic creation of widgets from Qt Designer .ui files. | QWidgetFactory
+Framework for wizard dialogs. | QWizard
+Functions to manipulate and describe QSqlCursor and QSqlDatabase indexes. | QSqlIndex
+General information about fonts. | QFontInfo
+Group box frame with a title. | QGroupBox
+Group of widget colors. | QColorGroup
+Groups actions together. | QActionGroup
+Handles keyboard accelerator and shortcut keys. | QAccel
+Hardware-independent pixmap representation with direct access to the pixel data. | QImage
+Header information for HTTP. | QHttpHeader
+Header row or column, e.g. for tables and listviews. | QHeader
+Helper class for QString. | QCharRef
+Helper class for XML readers which want to include namespace support. | QXmlNamespaceSupport
+Horizontal bar suitable for presenting status information. | QStatusBar
+Horizontal geometry management for its child widgets. | QHBox
+Horizontal menu bar. | QMenuBar
+Horizontal progress bar. | QProgressBar
+I/O device that operates on a QByteArray. | QBuffer
+I/O device that operates on files. | QFile
+IP address. | QHostAddress
+Icons for QFileDialog to use. | QFileIconProvider
+Implementation of a QNetworkProtocol that works on the local file system. | QLocalFs
+Implementation of a simple XML reader (parser). | QXmlSimpleReader
+Implementation of the FTP protocol. | QFtp
+Implementation of the HTTP protocol. | QHttp
+Implements a list view item. | QListViewItem
+Implements a list/tree view. | QListView
+Implements a splitter widget. | QSplitter
+Implements an Appearance Manager style. | QMacStyle
+Implements font management in Qt/Embedded. | QFontManager
+Implements parts of the QAccessibleInterface for QObjects. | QAccessibleObject
+Implements the keyboard driver for Qt/Embedded. | QWSKeyboardHandler
+Incremental image decoder for a specific image format. | QImageFormat
+Incremental image decoder for all supported image formats. | QImageDecoder
+Incremental loading of animations or images, signalling as it progresses. | QMovie
+Information about a paint device. | QPaintDeviceMetrics
+Information about the features of the DOM implementation. | QDomImplementation
+Information about the fonts available in the underlying window system. | QFontDatabase
+Integer value within a range. | QRangeControl
+Interface between a QWidget and an ActiveX client. | QAxBindable
+Interface for XML readers (i.e. parsers). | QXmlReader
+Interface to report DTD content of XML data. | QXmlDTDHandler
+Interface to report declaration content of XML data. | QXmlDeclHandler
+Interface to report errors in XML data. | QXmlErrorHandler
+Interface to report the lexical content of XML data. | QXmlLexicalHandler
+Interface to report the logical content of XML data. | QXmlContentHandler
+Interface to resolve external entities contained in XML data. | QXmlEntityResolver
+Internal class, used with QBitArray. | QBitVal
+International input methods for Qt/Embedded. | QWSInputMethod
+Internationalization support for text output. | QTranslator
+Iterator for QAsciiCache collections. | QAsciiCacheIterator
+Iterator for QAsciiDict collections. | QAsciiDictIterator
+Iterator for QCache collections. | QCacheIterator
+Iterator for QDict collections. | QDictIterator
+Iterator for QIntCache collections. | QIntCacheIterator
+Iterator for QIntDict collections. | QIntDictIterator
+Iterator for QMap. | QMapConstIterator
+Iterator for QMap. | QMapIterator
+Iterator for QObjectLists. | QObjectListIterator
+Iterator for QPtrDict collections. | QPtrDictIterator
+Iterator for QPtrList collections. | QPtrListIterator
+Iterator for QValueList. | QValueListIterator
+Iterator for collections of QListViewItems. | QListViewItemIterator
+Iterator for the QStrList and QStrIList classes. | QStrListIterator
+Iterators over QLayoutItem. | QLayoutIterator
+Layout attribute describing horizontal and vertical resizing policy. | QSizePolicy
+Layout item that represents a widget. | QWidgetItem
+Lays out widgets in a grid. | QGridLayout
+Lightweight Unicode character. | QChar
+Line on a QCanvas. | QCanvasLine
+Lines up child widgets horizontally or vertically. | QBoxLayout
+Lines up widgets horizontally. | QHBoxLayout
+Lines up widgets vertically. | QVBoxLayout
+List box items that display text. | QListBoxText
+List box items with a pixmap and optional text. | QListBoxPixmap
+List of QCanvasItems. | QCanvasItemList
+List of QDomNode objects. | QDomNodeList
+List of selectable, read-only items. | QListBox
+List of strings. | QStringList
+Mac/Platinum look and feel. | QPlatinumStyle
+Main application window, with a menu bar, dock windows (e.g. for toolbars), and a status bar. | QMainWindow
+Maintains the list of widgets in the focus chain. | QFocusData
+Manages and lays out QDockWindows. | QDockArea
+Manages the GUI application's control flow and main settings. | QApplication
+Manages the event queue. | QEventLoop
+Manipulates the fields in SQL database tables and views. | QSqlField
+Maps open-standard MIME to Mac flavors. | QMacMime
+Maps open-standard MIME to Window Clipboard formats. | QWindowsMime
+Means of executing and manipulating SQL statements. | QSqlQuery
+Means of using Qt Assistant as an application's help tool. | QAssistantClient
+Means of using comboboxes in QTables. | QComboTableItem
+Meta information about Qt objects. | QMetaObject
+Microsoft Windows-like look and feel. | QWindowsStyle
+Modal dialog with a short message, an icon, and some buttons. | QMessageBox
+Monochrome (1-bit depth) pixmaps. | QBitmap
+More sophisticated Motif-ish look and feel. | QMotifPlusStyle
+Motif look and feel. | QMotifStyle
+Mouse cursor with an arbitrary shape. | QCursor
+Mouse driver for Qt/Embedded. | QWSMouseHandler
+Movable panel containing widgets such as tool buttons. | QToolBar
+Multi-bezier splines on a QCanvas. | QCanvasSpline
+Namespace for Qt SQL identifiers that need to be global-like. | QSql
+Namespace for miscellaneous identifiers in the Qt OpenGL module. | QGL
+Namespace for miscellaneous identifiers that need to be global-like. | Qt
+Off-screen, pixel-based paint device. | QPixmap
+On-screen view of a QCanvas. | QCanvasView
+One-line text editor. | QLineEdit
+Optional parameters for QStyle functions. | QStyleOption
+Organizes QButton widgets in a group. | QButtonGroup
+Organizes QButton widgets in a group with one horizontal row. | QHButtonGroup
+Organizes QButton widgets in a vertical column. | QVButtonGroup
+Organizes a group of widgets in a vertical column. | QVGroupBox
+Organizes widgets in a group with one horizontal row. | QHGroupBox
+Paint device that paints on a printer. | QPrinter
+Paint device that records and replays QPainter commands. | QPicture
+Parameters for input method events. | QIMEvent
+Parameters for loading and saving images. | QImageIO
+Parameters that describe a Tablet event. | QTabletEvent
+Parameters that describe a close event. | QCloseEvent
+Parameters that describe a context menu event. | QContextMenuEvent
+Parameters that describe a mouse event. | QMouseEvent
+Parameters that describe a timer event. | QTimerEvent
+Parameters that describe a wheel event. | QWheelEvent
+Pattern matching using regular expressions. | QRegExp
+Per-thread data storage. | QThreadStorage
+Persistent platform-independent application settings. | QSettings
+Pixmaps for QCanvasSprites. | QCanvasPixmap
+Platform-independent low-level socket API. | QSocketDevice
+Platform-independent threads. | QThread
+Polygon on a QCanvas. | QCanvasPolygon
+Polygonal canvas item on a QCanvas. | QCanvasPolygonalItem
+Popup menu widget. | QPopupMenu
+Powerful single-page rich text editor. | QTextEdit
+QObject that is a web browser plugin. | QNPInstance
+QObject that wraps a COM object. | QAxObject
+QPtrList of QObjects. | QObjectList
+QWidget that is a web browser plugin window. | QNPWidget
+QWidget that wraps an ActiveX control. | QAxWidget
+Quick-access button to commands or options, usually used inside a QToolBar. | QToolButton
+Radio button with a text or pixmap label. | QRadioButton
+Range checking of floating-point numbers. | QDoubleValidator
+Read-only SQL forms. | QDataView
+Rectangle on a QCanvas. | QCanvasRectangle
+Represents a generic string in the DOM. | QDomCharacterData
+Represents an XML CDATA section. | QDomCDATASection
+Represents an XML comment. | QDomComment
+Represents an XML document. | QDomDocument
+Represents an XML entity. | QDomEntity
+Represents an XML entity reference. | QDomEntityReference
+Represents an XML notation. | QDomNotation
+Represents an XML processing instruction. | QDomProcessingInstruction
+Represents one attribute of a QDomElement. | QDomAttr
+Represents one element in the DOM tree. | QDomElement
+Represents text data in the parsed XML document. | QDomText
+Request header information for HTTP. | QHttpRequestHeader
+Response header information for HTTP. | QHttpResponseHeader
+Rich text browser with hypertext navigation. | QTextBrowser
+Robust integer semaphore. | QSemaphore
+Rounded range control (like a speedometer or potentiometer). | QDial
+SGI/Irix look and feel. | QSGIStyle
+SQL database error information. | QSqlError
+Scrolling area with on-demand scroll bars. | QScrollView
+Serialization of binary data to a QIODevice. | QDataStream
+Server-specific functionality in Qt/Embedded. | QWSServer
+Server-specific functionality in Qt/Embedded. | QWSWindow
+Set of icons with different styles and sizes. | QIconSet
+Signals that a main icon drag has begun. | QIconDragEvent
+Simple convenience dialog to get a single value from the user. | QInputDialog
+Simple description of any widget, i.e. answering the question "What's this?". | QWhatsThis
+Simple geometry management of its children. | QGrid
+Simple stored-value drag object for arbitrary MIME data. | QStoredDrag
+Simplifies locking and unlocking QMutexes. | QMutexLocker
+Single item in a QIconView. | QIconViewItem
+Small displayable piece of rich text. | QSimpleRichText
+Spin box widget (spin button). | QSpinBox
+Splash screen that can be shown during application startup. | QSplashScreen
+Stack of tabbed widgets. | QTabDialog
+Stack of tabbed widgets. | QTabWidget
+Stack of widgets of which only the top widget is user-visible. | QWidgetStack
+State-based decoder. | QTextDecoder
+State-based encoder. | QTextEncoder
+Stores information about URLs. | QUrlInfo
+Stores meta data about a property. | QMetaProperty
+Stores meta data associated with a SQL field. | QSqlFieldInfo
+Stream of data provided to a QNPInstance by the browser. | QNPStream
+String objects using constant Unicode data. | QConstString
+Support for custom events. | QCustomEvent
+Support for socket callbacks. | QSocketNotifier
+Supports drag and drop operations within a QIconView. | QIconDrag
+System-independent file information. | QFileInfo
+TCP-based server. | QServerSocket
+Tab bar, e.g. for use in tabbed dialogs. | QTabBar
+Template class that provides a cache based on QString keys. | QCache
+Template class that provides a cache based on char* keys. | QAsciiCache
+Template class that provides a cache based on long keys. | QIntCache
+Template class that provides a dictionary based on QString keys. | QDict
+Template class that provides a dictionary based on char* keys. | QAsciiDict
+Template class that provides a dictionary based on long keys. | QIntDict
+Template class that provides a dictionary based on void* keys. | QPtrDict
+Template class that provides a list. | QPtrList
+Template class that provides a queue. | QPtrQueue
+Template class that provides a stack. | QPtrStack
+Template class that provides arrays of simple types. | QMemArray
+Template class that provides guarded pointers to QObjects. | QGuardedPtr
+Template class which ensures that implicitly shared and explicitly shared classes reference unique data. | QDeepCopy
+Template collection class that provides a vector (array). | QPtrVector
+Text object on a QCanvas. | QCanvasText
+Text or image display. | QLabel
+The QDialog API for Motif-based dialogs. | QMotifDialog
+The QWidget API for Xt/Motif widgets. | QMotifWidget
+The XML handler classes with information about the parsing position within a file. | QXmlLocator
+The abstract base class of button widgets, providing functionality common to buttons. | QButton
+The base class for all the nodes in a DOM tree. | QDomNode
+The base class of I/O devices. | QIODevice
+The base class of all Qt objects. | QObject
+The base class of all event classes. Event objects contain event parameters. | QEvent
+The base class of all list box items. | QListBoxItem
+The base class of all user interface objects. | QWidget
+The base class of dialog windows. | QDialog
+The base class of geometry managers. | QLayout
+The base class of most pointer-based Qt collections. | QPtrCollection
+The base class of objects that can be painted. | QPaintDevice
+The base class of widgets that can have a frame. | QFrame
+The basis of the Motif Extension. | QMotif
+The cell content for QTable cells. | QTableItem
+The display format of an OpenGL rendering context. | QGLFormat
+The input data for the QXmlReader subclasses. | QXmlInputSource
+The look and feel of a GUI. | QStyle
+The main factory for plugin objects. | QNPlugin
+The representation of the DTD in the document tree. | QDomDocumentType
+The structures in a QTabBar. | QTab
+Time editor. | QTimeEdit
+Timer signals and single-shot timers. | QTimer
+Tool tips (balloon help) for any widget or rectangular part of a widget. | QToolTip
+Translator message and its properties. | QTranslatorMessage
+Tree of QDomNodes which is not usually a complete QDomDocument. | QDomDocumentFragment
+URL parser and simplifies working with URLs. | QUrl
+Used for installing custom colormaps into QGLWidgets. | QGLColormap
+Used to check a string against a regular expression. | QRegExpValidator
+Used to create SQL database connections and to provide transaction handling. | QSqlDatabase
+Used to create editor widgets for QVariant data types. | QEditorFactory
+Used to create pixmaps for a QIconSet. | QIconFactory
+Used to create the editors used by QDataTable and QSqlForm. | QSqlEditorFactory
+Used to map widgets to SQL fields. | QSqlPropertyMap
+Used to report errors with the QXmlErrorHandler interface. | QXmlParseException
+Used to start external programs and to communicate with them. | QProcess
+Validation of input text. | QValidator
+Validator which ensures that a string contains a valid integer within a specified range. | QIntValidator
+Value-based template class that provides a dictionary. | QMap
+Value-based template class that provides a dynamic array. | QValueVector
+Value-based template class that provides a pair of elements. | QPair
+Value-based template class that provides a stack. | QValueStack
+Value-based template class that provides lists. | QValueList
+Vertical geometry management of its child widgets. | QVBox
+Vertical or horizontal scroll bar. | QScrollBar
+Vertical or horizontal slider. | QSlider
+Watches the lifetime of multiple QObjects. | QObjectCleanupHandler
+Widget for rendering OpenGL graphics. | QGLWidget
+Widget which can be docked inside a QDockArea or floated as a top level window on the desktop. | QDockWindow
+Workspace window that can contain decorated windows, e.g. for MDI. | QWorkspace
+Wrapper around a script engine. | QAxScriptEngine
+Wrapper around script code. | QAxScript
+Wrapper for handling shared libraries. | QLibrary
+XML attributes. | QXmlAttributes
diff --git a/doc/html/whatsthis.png b/doc/html/whatsthis.png
new file mode 100644
index 0000000..5136372
--- /dev/null
+++ b/doc/html/whatsthis.png
Binary files differ
diff --git a/doc/html/widgets-example.html b/doc/html/widgets-example.html
new file mode 100644
index 0000000..a6b9606
--- /dev/null
+++ b/doc/html/widgets-example.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/widgets/widgets.doc:1 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Widgets Example</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Widgets Example</h1>
+
+
+<p>
+This example shows most of Qt's widgets in action. It is similar
+to the demo example in <tt>$QTDIR/examples/demo</tt>.
+<p> Run the program, then click the right mouse button + Ctrl to
+identify a widget.
+<p> See <tt>$QTDIR/examples/widgets</tt> for the source code.
+<p> <p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/win-objexplor1.png b/doc/html/win-objexplor1.png
new file mode 100644
index 0000000..9a63286
--- /dev/null
+++ b/doc/html/win-objexplor1.png
Binary files differ
diff --git a/doc/html/win-objexplor2.png b/doc/html/win-objexplor2.png
new file mode 100644
index 0000000..481dcac
--- /dev/null
+++ b/doc/html/win-objexplor2.png
Binary files differ
diff --git a/doc/html/win-projoverview.png b/doc/html/win-projoverview.png
new file mode 100644
index 0000000..489d61e
--- /dev/null
+++ b/doc/html/win-projoverview.png
Binary files differ
diff --git a/doc/html/win-propedit1.png b/doc/html/win-propedit1.png
new file mode 100644
index 0000000..4225b89
--- /dev/null
+++ b/doc/html/win-propedit1.png
Binary files differ
diff --git a/doc/html/win-propedit2.png b/doc/html/win-propedit2.png
new file mode 100644
index 0000000..5d775f2
--- /dev/null
+++ b/doc/html/win-propedit2.png
Binary files differ
diff --git a/doc/html/winsystem.html b/doc/html/winsystem.html
new file mode 100644
index 0000000..ec8f72f
--- /dev/null
+++ b/doc/html/winsystem.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/winsystem.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Window System-specific Notes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Window System-specific Notes</h1>
+
+
+<p> Qt is a multiplatform GUI toolkit, so almost the entire API is the
+same on all platforms and window systems. If you wish to use
+platform-specific features, and still maintain a platform-independent
+source tree, you should protect the platform-specific code using the
+appropriate <tt>#ifdef</tt> statements (see below).
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Qt/X11
+</a>
+<li><a href="#2"> Qt/Windows
+</a>
+<ul>
+<li><a href="#2-1"> Microsoft Visual Studio 2005 Deployment Issues
+</a>
+</ul>
+<li><a href="#3"> Qt/Mac OS X
+</a>
+<li><a href="#4"> Qt/Embedded
+</a>
+</ul>
+<!-- endtoc -->
+
+<p> For information about which platforms are supported by Qt, see the
+<a href="http://www.trolltech.com/products/platforms/">Platform
+Notes</a>. For information on distributing Qt applications, see
+<a href="distributingqt.html">Deploying Qt Applications</a>.
+<p> <a name="x11"></a>
+<h2> Qt/X11
+</h2>
+<a name="1"></a><p> When compiling for this platform, the macro <tt>Q_WS_X11</tt> is defined.
+<p> <em>Not documented here. Please contact Trolltech Technical Support if you have queries.</em>
+<p> <center><img src="dependencies.png" alt="Qt/X11 Dependencies"></center>
+<p> Note: You must compile with <em>both</em> Xft and XRender support to get
+alpha transparency support for pixmaps and images. Configuring with
+XRender support only is not enough.
+<p> <a name="win"></a>
+<h2> Qt/Windows
+</h2>
+<a name="2"></a><p> When compiling for this platform, the macro <tt>Q_WS_WIN</tt> is defined.
+<p> <em>Not documented here. Please contact Trolltech Technical Support if you have queries.</em>
+<p> <h3> Microsoft Visual Studio 2005 Deployment Issues
+</h3>
+<a name="2-1"></a><p> Executables compiled with Microsoft Visual Studio 2005 require
+a manifest file that points to the C and C++ runtime libraries that
+Qt and the application itself depend on. The manifest file is
+automatically generated for you, but it always needs to be located
+in the same directory as the application executable.
+<p> It is important to remember to deploy the manifest file when
+deploying an application.
+<p> <b>Note:</b>
+If you don't want to deploy your application with the .manifest file,
+you can embed the manifest in the executable as a resource with the
+<tt>mt</tt> command (distributed with Visual Studio 2005).
+<p> If you have further problems, please see the MSDN document,
+"Side-by-side Assemblies Reference".
+<p> <a name="macosx"></a>
+<h2> Qt/Mac OS X
+</h2>
+<a name="3"></a><p> When compiling for this platform, the macro <tt>Q_WS_MACX</tt> is defined.
+<p> <ul>
+<li> <a href="mac-differences.html">Qt/Mac issues</a>
+</ul>
+<p> <a name="qws"></a>
+<h2> Qt/Embedded
+</h2>
+<a name="4"></a><p> When compiling for this platform, the macro <tt>Q_WS_QWS</tt> is defined
+(the window system is literally the Qt Window System).
+<p> <ul>
+<li> <a href="emb-install.html">Installation</a>
+<li> <a href="emb-performance.html">Qt/Embedded performance tuning</a>
+<li> <a href="emb-running.html">Running Qt/Embedded applications</a>
+<li> <a href="emb-porting.html">Porting your applications to Qt/Embedded</a>
+<li> <a href="emb-fonts.html">Font formats and definitions</a>
+<li> <a href="emb-charinput.html">Character input (keyboard, pen, ...)</a>
+<li> <a href="emb-pointer.html">Pointer handling (mouse, pen, ...)</a>
+<li> <a href="emb-features.html">Reduce memory use with the feature definition file</a>
+</ul>
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/wizard-example.html b/doc/html/wizard-example.html
new file mode 100644
index 0000000..bc79da1
--- /dev/null
+++ b/doc/html/wizard-example.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/wizard/wizard.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Wizard</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Wizard</h1>
+
+
+<p>
+This example shows the usage of Qt's wizard class. A wizard
+should be used to help a user with complicated actions.
+<p> <hr>
+<p> Header file:
+<p> <pre>/****************************************************************************
+** $Id: qt/wizard.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef WIZARD_H
+#define WIZARD_H
+
+#include &lt;<a href="qwizard-h.html">qwizard.h</a>&gt;
+
+class QWidget;
+class QHBox;
+class QLineEdit;
+class QLabel;
+
+class Wizard : public <a href="qwizard.html">QWizard</a>
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+
+public:
+ Wizard( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+ void showPage(QWidget* page);
+
+protected:
+ void setupPage1();
+ void setupPage2();
+ void setupPage3();
+
+ <a href="qhbox.html">QHBox</a> *page1, *page2, *page3;
+ <a href="qlineedit.html">QLineEdit</a> *key, *firstName, *lastName, *address, *phone, *email;
+ <a href="qlabel.html">QLabel</a> *lKey, *lFirstName, *lLastName, *lAddress, *lPhone, *lEmail;
+
+protected slots:
+ void keyChanged( const <a href="qstring.html">QString</a> &amp; );
+ void dataChanged( const <a href="qstring.html">QString</a> &amp; );
+
+};
+
+#endif
+</pre>
+
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/wizard.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "wizard.h"
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+<a name="f182"></a>Wizard::Wizard( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwizard.html">QWizard</a>( parent, name, TRUE )
+{
+ setupPage1();
+ setupPage2();
+ setupPage3();
+
+<a name="x11"></a> key-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+void <a name="f183"></a>Wizard::setupPage1()
+{
+ page1 = new <a href="qhbox.html">QHBox</a>( this );
+<a name="x2"></a> page1-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page1 );
+<a name="x1"></a> info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+<a name="x14"></a> info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+<a name="x4"></a> info-&gt;<a href="qlabel.html#setText">setText</a>( "Enter your personal\n"
+ "key here.\n\n"
+ "Your personal key\n"
+ "consists of 4 digits" );
+<a name="x5"></a><a name="x12"></a> info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page1 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Key:", row1 );
+
+ key = new <a href="qlineedit.html">QLineEdit</a>( row1 );
+<a name="x6"></a> key-&gt;<a href="qlineedit.html#setMaxLength">setMaxLength</a>( 4 );
+<a name="x7"></a> key-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( new <a href="qintvalidator.html">QIntValidator</a>( 1000, 9999, key ) );
+
+<a name="x9"></a> <a href="qobject.html#connect">connect</a>( key, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( keyChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ <a href="qwizard.html#addPage">addPage</a>( page1, "Personal Key" );
+
+ <a href="qwizard.html#setNextEnabled">setNextEnabled</a>( page1, FALSE );
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page1, FALSE );
+}
+
+void <a name="f184"></a>Wizard::setupPage2()
+{
+ page2 = new <a href="qhbox.html">QHBox</a>( this );
+ page2-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page2 );
+ info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+ info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+ info-&gt;<a href="qlabel.html#setText">setText</a>( "\n"
+ "Enter your personal\n"
+ "data here.\n\n"
+ "The required fields are\n"
+ "First Name, Last Name \n"
+ "and E-Mail.\n" );
+ info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page2 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row3 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row4 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row5 = new <a href="qhbox.html">QHBox</a>( page );
+
+ <a href="qlabel.html">QLabel</a> *label1 = new <a href="qlabel.html">QLabel</a>( " First Name: ", row1 );
+<a name="x3"></a> label1-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label2 = new <a href="qlabel.html">QLabel</a>( " Last Name: ", row2 );
+ label2-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label3 = new <a href="qlabel.html">QLabel</a>( " Address: ", row3 );
+ label3-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label4 = new <a href="qlabel.html">QLabel</a>( " Phone Number: ", row4 );
+ label4-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label5 = new <a href="qlabel.html">QLabel</a>( " E-Mail: ", row5 );
+ label5-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+
+<a name="x13"></a> label1-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label2-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label3-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label4-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label5-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ firstName = new <a href="qlineedit.html">QLineEdit</a>( row1 );
+ lastName = new <a href="qlineedit.html">QLineEdit</a>( row2 );
+ address = new <a href="qlineedit.html">QLineEdit</a>( row3 );
+ phone = new <a href="qlineedit.html">QLineEdit</a>( row4 );
+ email = new <a href="qlineedit.html">QLineEdit</a>( row5 );
+
+ <a href="qobject.html#connect">connect</a>( firstName, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( lastName, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( email, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ <a href="qwizard.html#addPage">addPage</a>( page2, "Personal Data" );
+
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page2, FALSE );
+}
+
+void <a name="f185"></a>Wizard::setupPage3()
+{
+ page3 = new <a href="qhbox.html">QHBox</a>( this );
+ page3-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page3 );
+ info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+ info-&gt;<a href="qlabel.html#setText">setText</a>( "\n"
+ "Look here to see of\n"
+ "the data you entered\n"
+ "is correct. To confirm,\n"
+ "press the [Finish] button\n"
+ "else go back to correct\n"
+ "mistakes." );
+ info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+ info-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignTop|AlignLeft );
+ info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page3 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row3 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row4 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row5 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row6 = new <a href="qhbox.html">QHBox</a>( page );
+
+ <a href="qlabel.html">QLabel</a> *label1 = new <a href="qlabel.html">QLabel</a>( " Personal Key: ", row1 );
+ label1-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label2 = new <a href="qlabel.html">QLabel</a>( " First Name: ", row2 );
+ label2-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label3 = new <a href="qlabel.html">QLabel</a>( " Last Name: ", row3 );
+ label3-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label4 = new <a href="qlabel.html">QLabel</a>( " Address: ", row4 );
+ label4-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label5 = new <a href="qlabel.html">QLabel</a>( " Phone Number: ", row5 );
+ label5-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label6 = new <a href="qlabel.html">QLabel</a>( " E-Mail: ", row6 );
+ label6-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+
+ label1-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label2-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label3-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label4-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label5-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label6-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ lKey = new <a href="qlabel.html">QLabel</a>( row1 );
+ lFirstName = new <a href="qlabel.html">QLabel</a>( row2 );
+ lLastName = new <a href="qlabel.html">QLabel</a>( row3 );
+ lAddress = new <a href="qlabel.html">QLabel</a>( row4 );
+ lPhone = new <a href="qlabel.html">QLabel</a>( row5 );
+ lEmail = new <a href="qlabel.html">QLabel</a>( row6 );
+
+ <a href="qwizard.html#addPage">addPage</a>( page3, "Finish" );
+
+ <a href="qwizard.html#setFinishEnabled">setFinishEnabled</a>( page3, TRUE );
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page3, FALSE );
+}
+
+<a name="x15"></a>void Wizard::<a href="qwizard.html#showPage">showPage</a>( <a href="qwidget.html">QWidget</a>* page )
+{
+ if ( page == page1 ) {
+ } else if ( page == page2 ) {
+ } else if ( page == page3 ) {
+<a name="x8"></a> lKey-&gt;<a href="qlabel.html#setText">setText</a>( key-&gt;<a href="qlineedit.html#text">text</a>() );
+ lFirstName-&gt;<a href="qlabel.html#setText">setText</a>( firstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ lLastName-&gt;<a href="qlabel.html#setText">setText</a>( lastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ lAddress-&gt;<a href="qlabel.html#setText">setText</a>( address-&gt;<a href="qlineedit.html#text">text</a>() );
+ lPhone-&gt;<a href="qlabel.html#setText">setText</a>( phone-&gt;<a href="qlineedit.html#text">text</a>() );
+ lEmail-&gt;<a href="qlabel.html#setText">setText</a>( email-&gt;<a href="qlineedit.html#text">text</a>() );
+ }
+
+ QWizard::<a href="qwizard.html#showPage">showPage</a>(page);
+
+ if ( page == page1 ) {
+ keyChanged( key-&gt;<a href="qlineedit.html#text">text</a>() );
+ key-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ } else if ( page == page2 ) {
+ dataChanged( firstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ firstName-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ } else if ( page == page3 ) {
+ <a href="qwizard.html#finishButton">finishButton</a>()-&gt;setEnabled( TRUE );
+ <a href="qwizard.html#finishButton">finishButton</a>()-&gt;setFocus();
+ }
+}
+
+void <a name="f186"></a>Wizard::keyChanged( const <a href="qstring.html">QString</a> &amp;text )
+{
+ <a href="qstring.html">QString</a> t = text;
+ int p = 0;
+<a name="x10"></a> bool on = ( key-&gt;<a href="qlineedit.html#validator">validator</a>()-&gt;validate(t, p) == QValidator::Acceptable );
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( on );
+}
+
+void <a name="f187"></a>Wizard::dataChanged( const <a href="qstring.html">QString</a> &amp; )
+{
+ if ( !firstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() &amp;&amp;
+ !lastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() &amp;&amp;
+ !email-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() )
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( TRUE );
+ else
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( FALSE );
+}
+</pre>
+
+<p> <hr>
+<p> Main:
+<p> <pre>/****************************************************************************
+** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "wizard.h"
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+int main(int argc,char **argv)
+{
+ <a href="qapplication.html">QApplication</a> a(argc,argv);
+
+ Wizard wizard;
+ wizard.<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - Wizard");
+<a name="x16"></a> return wizard.<a href="qdialog.html#exec">exec</a>();
+}
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/wizard-wizard-cpp.html b/doc/html/wizard-wizard-cpp.html
new file mode 100644
index 0000000..f8b58d0
--- /dev/null
+++ b/doc/html/wizard-wizard-cpp.html
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qwizard.cpp:52 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>wizard/wizard.cpp Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>wizard/wizard.cpp Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/wizard.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "wizard.h"
+
+#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;
+#include &lt;<a href="qhbox-h.html">qhbox.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qvalidator-h.html">qvalidator.h</a>&gt;
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+<a name="f3"></a>Wizard::Wizard( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwizard.html">QWizard</a>( parent, name, TRUE )
+{
+ setupPage1();
+ setupPage2();
+ setupPage3();
+
+<a name="x11"></a> key-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+}
+
+void <a name="f4"></a>Wizard::setupPage1()
+{
+ page1 = new <a href="qhbox.html">QHBox</a>( this );
+<a name="x2"></a> page1-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page1 );
+<a name="x1"></a> info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+<a name="x14"></a> info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+<a name="x4"></a> info-&gt;<a href="qlabel.html#setText">setText</a>( "Enter your personal\n"
+ "key here.\n\n"
+ "Your personal key\n"
+ "consists of 4 digits" );
+<a name="x5"></a><a name="x12"></a> info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page1 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+
+ (void)new <a href="qlabel.html">QLabel</a>( "Key:", row1 );
+
+ key = new <a href="qlineedit.html">QLineEdit</a>( row1 );
+<a name="x6"></a> key-&gt;<a href="qlineedit.html#setMaxLength">setMaxLength</a>( 4 );
+<a name="x7"></a> key-&gt;<a href="qlineedit.html#setValidator">setValidator</a>( new <a href="qintvalidator.html">QIntValidator</a>( 1000, 9999, key ) );
+
+<a name="x9"></a> <a href="qobject.html#connect">connect</a>( key, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( keyChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ <a href="qwizard.html#addPage">addPage</a>( page1, "Personal Key" );
+
+ <a href="qwizard.html#setNextEnabled">setNextEnabled</a>( page1, FALSE );
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page1, FALSE );
+}
+
+void <a name="f5"></a>Wizard::setupPage2()
+{
+ page2 = new <a href="qhbox.html">QHBox</a>( this );
+ page2-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page2 );
+ info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+ info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+ info-&gt;<a href="qlabel.html#setText">setText</a>( "\n"
+ "Enter your personal\n"
+ "data here.\n\n"
+ "The required fields are\n"
+ "First Name, Last Name \n"
+ "and E-Mail.\n" );
+ info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page2 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row3 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row4 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row5 = new <a href="qhbox.html">QHBox</a>( page );
+
+ <a href="qlabel.html">QLabel</a> *label1 = new <a href="qlabel.html">QLabel</a>( " First Name: ", row1 );
+<a name="x3"></a> label1-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label2 = new <a href="qlabel.html">QLabel</a>( " Last Name: ", row2 );
+ label2-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label3 = new <a href="qlabel.html">QLabel</a>( " Address: ", row3 );
+ label3-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label4 = new <a href="qlabel.html">QLabel</a>( " Phone Number: ", row4 );
+ label4-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label5 = new <a href="qlabel.html">QLabel</a>( " E-Mail: ", row5 );
+ label5-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+
+<a name="x13"></a> label1-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label2-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label3-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label4-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label5-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label4-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ firstName = new <a href="qlineedit.html">QLineEdit</a>( row1 );
+ lastName = new <a href="qlineedit.html">QLineEdit</a>( row2 );
+ address = new <a href="qlineedit.html">QLineEdit</a>( row3 );
+ phone = new <a href="qlineedit.html">QLineEdit</a>( row4 );
+ email = new <a href="qlineedit.html">QLineEdit</a>( row5 );
+
+ <a href="qobject.html#connect">connect</a>( firstName, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( lastName, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+ <a href="qobject.html#connect">connect</a>( email, SIGNAL( <a href="qlineedit.html#textChanged">textChanged</a>( const <a href="qstring.html">QString</a> &amp; ) ),
+ this, SLOT( dataChanged( const <a href="qstring.html">QString</a> &amp; ) ) );
+
+ <a href="qwizard.html#addPage">addPage</a>( page2, "Personal Data" );
+
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page2, FALSE );
+}
+
+void <a name="f6"></a>Wizard::setupPage3()
+{
+ page3 = new <a href="qhbox.html">QHBox</a>( this );
+ page3-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(8);
+
+ <a href="qlabel.html">QLabel</a> *info = new <a href="qlabel.html">QLabel</a>( page3 );
+ info-&gt;<a href="qwidget.html#setPalette">setPalette</a>( yellow );
+ info-&gt;<a href="qlabel.html#setText">setText</a>( "\n"
+ "Look here to see of\n"
+ "the data you entered\n"
+ "is correct. To confirm,\n"
+ "press the [Finish] button\n"
+ "else go back to correct\n"
+ "mistakes." );
+ info-&gt;<a href="qframe.html#setMargin">setMargin</a>( 11 );
+ info-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( AlignTop|AlignLeft );
+ info-&gt;<a href="qwidget.html#setMaximumWidth">setMaximumWidth</a>( info-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ <a href="qvbox.html">QVBox</a> *page = new <a href="qvbox.html">QVBox</a>( page3 );
+
+ <a href="qhbox.html">QHBox</a> *row1 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row2 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row3 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row4 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row5 = new <a href="qhbox.html">QHBox</a>( page );
+ <a href="qhbox.html">QHBox</a> *row6 = new <a href="qhbox.html">QHBox</a>( page );
+
+ <a href="qlabel.html">QLabel</a> *label1 = new <a href="qlabel.html">QLabel</a>( " Personal Key: ", row1 );
+ label1-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label2 = new <a href="qlabel.html">QLabel</a>( " First Name: ", row2 );
+ label2-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label3 = new <a href="qlabel.html">QLabel</a>( " Last Name: ", row3 );
+ label3-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label4 = new <a href="qlabel.html">QLabel</a>( " Address: ", row4 );
+ label4-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label5 = new <a href="qlabel.html">QLabel</a>( " Phone Number: ", row5 );
+ label5-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+ <a href="qlabel.html">QLabel</a> *label6 = new <a href="qlabel.html">QLabel</a>( " E-Mail: ", row6 );
+ label6-&gt;<a href="qlabel.html#setAlignment">setAlignment</a>( Qt::AlignVCenter );
+
+ label1-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label2-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label3-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label4-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label5-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+ label6-&gt;<a href="qwidget.html#setMinimumWidth">setMinimumWidth</a>( label1-&gt;<a href="qwidget.html#sizeHint">sizeHint</a>().width() );
+
+ lKey = new <a href="qlabel.html">QLabel</a>( row1 );
+ lFirstName = new <a href="qlabel.html">QLabel</a>( row2 );
+ lLastName = new <a href="qlabel.html">QLabel</a>( row3 );
+ lAddress = new <a href="qlabel.html">QLabel</a>( row4 );
+ lPhone = new <a href="qlabel.html">QLabel</a>( row5 );
+ lEmail = new <a href="qlabel.html">QLabel</a>( row6 );
+
+ <a href="qwizard.html#addPage">addPage</a>( page3, "Finish" );
+
+ <a href="qwizard.html#setFinishEnabled">setFinishEnabled</a>( page3, TRUE );
+ <a href="qwizard.html#setHelpEnabled">setHelpEnabled</a>( page3, FALSE );
+}
+
+<a name="x15"></a>void Wizard::<a href="qwizard.html#showPage">showPage</a>( <a href="qwidget.html">QWidget</a>* page )
+{
+ if ( page == page1 ) {
+ } else if ( page == page2 ) {
+ } else if ( page == page3 ) {
+<a name="x8"></a> lKey-&gt;<a href="qlabel.html#setText">setText</a>( key-&gt;<a href="qlineedit.html#text">text</a>() );
+ lFirstName-&gt;<a href="qlabel.html#setText">setText</a>( firstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ lLastName-&gt;<a href="qlabel.html#setText">setText</a>( lastName-&gt;<a href="qlineedit.html#text">text</a>() );
+ lAddress-&gt;<a href="qlabel.html#setText">setText</a>( address-&gt;<a href="qlineedit.html#text">text</a>() );
+ lPhone-&gt;<a href="qlabel.html#setText">setText</a>( phone-&gt;<a href="qlineedit.html#text">text</a>() );
+ lEmail-&gt;<a href="qlabel.html#setText">setText</a>( email-&gt;<a href="qlineedit.html#text">text</a>() );
+ }
+
+ QWizard::<a href="qwizard.html#showPage">showPage</a>(page);
+
+ if ( page == page1 ) {
+ keyChanged( key-&gt;<a href="qlineedit.html#text">text</a>() );
+ key-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ } else if ( page == page2 ) {
+ dataChanged( firstName-&gt;<a href="qlineedit.html#text">text</a>() );
+ firstName-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+ } else if ( page == page3 ) {
+ <a href="qwizard.html#finishButton">finishButton</a>()-&gt;setEnabled( TRUE );
+ <a href="qwizard.html#finishButton">finishButton</a>()-&gt;setFocus();
+ }
+}
+
+void <a name="f7"></a>Wizard::keyChanged( const <a href="qstring.html">QString</a> &amp;text )
+{
+ <a href="qstring.html">QString</a> t = text;
+ int p = 0;
+<a name="x10"></a> bool on = ( key-&gt;<a href="qlineedit.html#validator">validator</a>()-&gt;validate(t, p) == QValidator::Acceptable );
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( on );
+}
+
+void <a name="f8"></a>Wizard::dataChanged( const <a href="qstring.html">QString</a> &amp; )
+{
+ if ( !firstName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() &amp;&amp;
+ !lastName-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() &amp;&amp;
+ !email-&gt;<a href="qlineedit.html#text">text</a>().isEmpty() )
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( TRUE );
+ else
+ <a href="qwizard.html#nextButton">nextButton</a>()-&gt;setEnabled( FALSE );
+}
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/wizard-wizard-h.html b/doc/html/wizard-wizard-h.html
new file mode 100644
index 0000000..5f7b1fb
--- /dev/null
+++ b/doc/html/wizard-wizard-h.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/dialogs/qwizard.cpp:53 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>wizard/wizard.h Example File</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>wizard/wizard.h Example File</h1>
+
+
+<pre>/****************************************************************************
+** $Id: qt/wizard.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef WIZARD_H
+#define WIZARD_H
+
+#include &lt;<a href="qwizard-h.html">qwizard.h</a>&gt;
+
+class QWidget;
+class QHBox;
+class QLineEdit;
+class QLabel;
+
+class Wizard : public <a href="qwizard.html">QWizard</a>
+{
+ Q_OBJECT
+
+public:
+ Wizard( <a href="qwidget.html">QWidget</a> *parent = 0, const char *name = 0 );
+
+ void showPage(QWidget* page);
+
+protected:
+ void setupPage1();
+ void setupPage2();
+ void setupPage3();
+
+ <a href="qhbox.html">QHBox</a> *page1, *page2, *page3;
+ <a href="qlineedit.html">QLineEdit</a> *key, *firstName, *lastName, *address, *phone, *email;
+ <a href="qlabel.html">QLabel</a> *lKey, *lFirstName, *lLastName, *lAddress, *lPhone, *lEmail;
+
+protected slots:
+ void keyChanged( const <a href="qstring.html">QString</a> &amp; );
+ void dataChanged( const <a href="qstring.html">QString</a> &amp; );
+
+};
+
+#endif
+</pre><!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/workspace.html b/doc/html/workspace.html
new file mode 100644
index 0000000..7257fe3
--- /dev/null
+++ b/doc/html/workspace.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/modules.doc:88 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Workspace Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Workspace Module</h1>
+
+
+
+<p> The workspace module provides a workspace window that can contain
+decorated document windows for Multiple Document Interfaces (MDI).
+<p> It is implemented in a single class <a href="qworkspace.html">QWorkspace</a>.
+<p> Please see the <a href="qworkspace.html">class documentation</a> for
+details.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xform-example.html b/doc/html/xform-example.html
new file mode 100644
index 0000000..66910e3
--- /dev/null
+++ b/doc/html/xform-example.html
@@ -0,0 +1,559 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/xform/xform.doc:4 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Transformed Graphics Demo</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Transformed Graphics Demo</h1>
+
+
+<p>
+This example lets the user rotate, shear and scale text and graphics
+arbitrarily.
+<p> <hr>
+<p> Implementation:
+<p> <pre>/****************************************************************************
+** $Id: qt/xform.cpp 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+
+#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;
+#include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+#include &lt;<a href="qlineedit-h.html">qlineedit.h</a>&gt;
+#include &lt;<a href="qpushbutton-h.html">qpushbutton.h</a>&gt;
+#include &lt;<a href="qcheckbox-h.html">qcheckbox.h</a>&gt;
+#include &lt;<a href="qradiobutton-h.html">qradiobutton.h</a>&gt;
+#include &lt;<a href="qbuttongroup-h.html">qbuttongroup.h</a>&gt;
+#include &lt;<a href="qlcdnumber-h.html">qlcdnumber.h</a>&gt;
+#include &lt;<a href="qslider-h.html">qslider.h</a>&gt;
+#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;
+#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;
+#include &lt;<a href="qlayout-h.html">qlayout.h</a>&gt;
+#include &lt;<a href="qvbox-h.html">qvbox.h</a>&gt;
+#include &lt;<a href="qwidgetstack-h.html">qwidgetstack.h</a>&gt;
+
+#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;
+#include &lt;<a href="qpixmap-h.html">qpixmap.h</a>&gt;
+#include &lt;<a href="qpicture-h.html">qpicture.h</a>&gt;
+
+#include &lt;stdlib.h&gt;
+
+
+class ModeNames {
+public:
+ enum Mode { Text, Image, Picture };
+};
+
+
+class XFormControl : public <a href="qvbox.html">QVBox</a>, public ModeNames
+{
+ <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>
+public:
+ XFormControl( const <a href="qfont.html">QFont</a> &amp;initialFont, QWidget *parent=0, const char *name=0 );
+ ~XFormControl() {}
+
+ <a href="qwmatrix.html">QWMatrix</a> matrix();
+
+signals:
+ void newMatrix( <a href="qwmatrix.html">QWMatrix</a> );
+ void newText( const <a href="qstring.html">QString</a>&amp; );
+ void newFont( const <a href="qfont.html">QFont</a> &amp; );
+ void newMode( int );
+private slots:
+ void newMtx();
+ void newTxt(const <a href="qstring.html">QString</a>&amp;);
+ void selectFont();
+ void fontSelected( const <a href="qfont.html">QFont</a> &amp; );
+ void changeMode(int);
+ void timerEvent(QTimerEvent*);
+private:
+ Mode mode;
+ <a href="qslider.html">QSlider</a> *rotS; // Rotation angle scroll bar
+ <a href="qslider.html">QSlider</a> *shearS; // Shear value scroll bar
+ <a href="qslider.html">QSlider</a> *magS; // Magnification value scroll bar
+ <a href="qlcdnumber.html">QLCDNumber</a> *rotLCD; // Rotation angle LCD display
+ <a href="qlcdnumber.html">QLCDNumber</a> *shearLCD; // Shear value LCD display
+ <a href="qlcdnumber.html">QLCDNumber</a> *magLCD; // Magnification value LCD display
+ <a href="qcheckbox.html">QCheckBox</a> *mirror; // Checkbox for mirror image on/of
+ <a href="qwidgetstack.html">QWidgetStack</a>* optionals;
+ <a href="qlineedit.html">QLineEdit</a> *textEd; // Inp[ut field for xForm text
+ <a href="qpushbutton.html">QPushButton</a> *fpb; // Select font push button
+ <a href="qradiobutton.html">QRadioButton</a> *rb_txt; // Radio button for text
+ <a href="qradiobutton.html">QRadioButton</a> *rb_img; // Radio button for image
+ <a href="qradiobutton.html">QRadioButton</a> *rb_pic; // Radio button for picture
+ <a href="qfont.html">QFont</a> currentFont;
+};
+
+/*
+ ShowXForm displays a text or a pixmap (QPixmap) using a coordinate
+ <a href="qwmatrix.html#TransformationMode">transformation matrix</a> (QWMatrix)
+*/
+
+class ShowXForm : public <a href="qwidget.html">QWidget</a>, public ModeNames
+{
+ Q_OBJECT
+public:
+ ShowXForm( const <a href="qfont.html">QFont</a> &amp;f, QWidget *parent=0, const char *name=0 );
+ ~ShowXForm() {}
+ void showIt(); // (Re)displays text or pixmap
+
+ Mode mode() const { return m; }
+public slots:
+ void setText( const <a href="qstring.html">QString</a>&amp; );
+ void setMatrix( <a href="qwmatrix.html">QWMatrix</a> );
+ void setFont( const <a href="qfont.html">QFont</a> &amp;f );
+ void setPixmap( <a href="qpixmap.html">QPixmap</a> );
+ void setPicture( const <a href="qpicture.html">QPicture</a>&amp; );
+ void setMode( int );
+private:
+ <a href="qsizepolicy.html">QSizePolicy</a> sizePolicy() const;
+ <a href="qsize.html">QSize</a> sizeHint() const;
+ void paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * );
+ void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );
+ <a href="qwmatrix.html">QWMatrix</a> mtx; // coordinate transform matrix
+ <a href="qstring.html">QString</a> text; // text to be displayed
+ <a href="qpixmap.html">QPixmap</a> pix; // pixmap to be displayed
+ <a href="qpicture.html">QPicture</a> picture; // text to be displayed
+ <a href="qrect.html">QRect</a> eraseRect; // covers last displayed text/pixmap
+ Mode m;
+};
+
+<a name="f397"></a>XFormControl::XFormControl( const <a href="qfont.html">QFont</a> &amp;initialFont,
+ <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qvbox.html">QVBox</a>( parent, name )
+{
+ <a href="qhbox.html#setSpacing">setSpacing</a>(6);
+ <a href="qframe.html#setMargin">setMargin</a>(6);
+ currentFont = initialFont;
+ mode = Image;
+
+ rotLCD = new <a href="qlcdnumber.html">QLCDNumber</a>( 4, this, "rotateLCD" );
+ rotS = new <a href="qslider.html">QSlider</a>( QSlider::Horizontal, this,
+ "rotateSlider" );
+ shearLCD = new <a href="qlcdnumber.html">QLCDNumber</a>( 5,this, "shearLCD" );
+ shearS = new <a href="qslider.html">QSlider</a>( QSlider::Horizontal, this,
+ "shearSlider" );
+ mirror = new <a href="qcheckbox.html">QCheckBox</a>( this, "mirrorCheckBox" );
+ rb_txt = new <a href="qradiobutton.html">QRadioButton</a>( this, "text" );
+ rb_img = new <a href="qradiobutton.html">QRadioButton</a>( this, "image" );
+ rb_pic = new <a href="qradiobutton.html">QRadioButton</a>( this, "picture" );
+ optionals = new <a href="qwidgetstack.html">QWidgetStack</a>(this);
+ <a href="qvbox.html">QVBox</a>* optionals_text = new <a href="qvbox.html">QVBox</a>(optionals);
+<a name="x1228"></a> optionals_text-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(6);
+ <a href="qvbox.html">QVBox</a>* optionals_other = new <a href="qvbox.html">QVBox</a>(optionals);
+ optionals_other-&gt;<a href="qhbox.html#setSpacing">setSpacing</a>(6);
+<a name="x1276"></a> optionals-&gt;<a href="qwidgetstack.html#addWidget">addWidget</a>(optionals_text,0);
+ optionals-&gt;<a href="qwidgetstack.html#addWidget">addWidget</a>(optionals_other,1);
+ fpb = new <a href="qpushbutton.html">QPushButton</a>( optionals_text, "text" );
+ textEd = new <a href="qlineedit.html">QLineEdit</a>( optionals_text, "text" );
+ textEd-&gt;<a href="qwidget.html#setFocus">setFocus</a>();
+
+<a name="x1229"></a> rotLCD-&gt;<a href="qlcdnumber.html#display">display</a>( " 0'" );
+
+<a name="x1250"></a> rotS-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( -180, 180 );
+<a name="x1261"></a> rotS-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+<a name="x1263"></a> <a href="qobject.html#connect">connect</a>( rotS, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), SLOT(newMtx()) );
+
+ shearLCD-&gt;<a href="qlcdnumber.html#display">display</a>( "0.00" );
+
+ shearS-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( -25, 25 );
+ shearS-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( shearS, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), SLOT(newMtx()) );
+
+<a name="x1220"></a> mirror-&gt;<a href="qbutton.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>("Mirror") );
+ <a href="qobject.html#connect">connect</a>( mirror, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(newMtx()) );
+
+ <a href="qbuttongroup.html">QButtonGroup</a> *bg = new <a href="qbuttongroup.html">QButtonGroup</a>(this);
+<a name="x1267"></a> bg-&gt;<a href="qwidget.html#hide">hide</a>();
+<a name="x1222"></a> bg-&gt;<a href="qbuttongroup.html#insert">insert</a>(rb_txt,0);
+ bg-&gt;<a href="qbuttongroup.html#insert">insert</a>(rb_img,1);
+ bg-&gt;<a href="qbuttongroup.html#insert">insert</a>(rb_pic,2);
+ rb_txt-&gt;<a href="qbutton.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>("Text") );
+ rb_img-&gt;<a href="qbutton.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>("Image") );
+<a name="x1249"></a> rb_img-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>(TRUE);
+ rb_pic-&gt;<a href="qbutton.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>("Picture") );
+<a name="x1221"></a> <a href="qobject.html#connect">connect</a>( bg, SIGNAL(<a href="qbuttongroup.html#clicked">clicked</a>(int)), SLOT(changeMode(int)) );
+
+ fpb-&gt;<a href="qbutton.html#setText">setText</a>( <a href="qobject.html#tr">tr</a>("Select font...") );
+ <a href="qobject.html#connect">connect</a>( fpb, SIGNAL(<a href="qbutton.html#clicked">clicked</a>()), SLOT(selectFont()) );
+
+<a name="x1230"></a> textEd-&gt;<a href="qlineedit.html#setText">setText</a>( "Troll" );
+<a name="x1231"></a> <a href="qobject.html#connect">connect</a>( textEd, SIGNAL(<a href="qlineedit.html#textChanged">textChanged</a>(const <a href="qstring.html">QString</a>&amp;)),
+ SLOT(newTxt(const <a href="qstring.html">QString</a>&amp;)) );
+
+ magLCD = new <a href="qlcdnumber.html">QLCDNumber</a>( 4,optionals_other, "magLCD" );
+ magLCD-&gt;<a href="qlcdnumber.html#display">display</a>( "100" );
+ magS = new <a href="qslider.html">QSlider</a>( QSlider::Horizontal, optionals_other,
+ "magnifySlider" );
+ magS-&gt;<a href="qrangecontrol.html#setRange">setRange</a>( 0, 800 );
+ <a href="qobject.html#connect">connect</a>( magS, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), SLOT(newMtx()) );
+ magS-&gt;<a href="qslider.html#setValue">setValue</a>( 0 );
+ <a href="qobject.html#connect">connect</a>( magS, SIGNAL(<a href="qslider.html#valueChanged">valueChanged</a>(int)), magLCD, SLOT(<a href="qlcdnumber.html#display">display</a>(int)));
+
+<a name="x1266"></a> optionals_text-&gt;<a href="qwidget.html#adjustSize">adjustSize</a>();
+ optionals_other-&gt;<a href="qwidget.html#adjustSize">adjustSize</a>();
+ changeMode(Image);
+
+ <a href="qobject.html#startTimer">startTimer</a>(20); // start an initial animation
+}
+
+<a name="x1232"></a>void XFormControl::<a href="qobject.html#timerEvent">timerEvent</a>(QTimerEvent*)
+{
+<a name="x1262"></a> int v = magS-&gt;<a href="qslider.html#value">value</a>();
+ v = (v+2)+v/10;
+ if ( v &gt;= 200 ) {
+ v = 200;
+ <a href="qobject.html#killTimers">killTimers</a>();
+ }
+ magS-&gt;<a href="qslider.html#setValue">setValue</a>(v);
+}
+
+
+
+/*
+ Called whenever the user has changed one of the matrix parameters
+ (i.e. rotate, shear or magnification)
+*/
+void <a name="f398"></a>XFormControl::newMtx()
+{
+ emit newMatrix( matrix() );
+}
+
+void <a name="f399"></a>XFormControl::newTxt(const <a href="qstring.html">QString</a>&amp; s)
+{
+ emit newText(s);
+ changeMode(Text);
+}
+
+/*
+ Calculates the matrix appropriate for the current controls,
+ and updates the displays.
+*/
+QWMatrix <a name="f400"></a>XFormControl::matrix()
+{
+ <a href="qwmatrix.html">QWMatrix</a> m;
+ if (mode != Text) {
+ double magVal = 1.0*magS-&gt;<a href="qslider.html#value">value</a>()/100;
+<a name="x1281"></a> m.<a href="qwmatrix.html#scale">scale</a>( magVal, magVal );
+ }
+ double shearVal = 1.0*shearS-&gt;<a href="qslider.html#value">value</a>()/25;
+<a name="x1282"></a> m.<a href="qwmatrix.html#shear">shear</a>( shearVal, shearVal );
+<a name="x1280"></a> m.<a href="qwmatrix.html#rotate">rotate</a>( rotS-&gt;<a href="qslider.html#value">value</a>() );
+<a name="x1223"></a> if ( mirror-&gt;<a href="qcheckbox.html#isChecked">isChecked</a>() ) {
+ m.<a href="qwmatrix.html#scale">scale</a>( 1, -1 );
+ m.<a href="qwmatrix.html#rotate">rotate</a>( 180 );
+ }
+
+ <a href="qstring.html">QString</a> tmp;
+<a name="x1265"></a> tmp.<a href="qstring.html#sprintf">sprintf</a>( "%1.2f", shearVal );
+ if ( shearVal &gt;= 0 )
+<a name="x1264"></a> tmp.<a href="qstring.html#insert">insert</a>( 0, " " );
+ shearLCD-&gt;<a href="qlcdnumber.html#display">display</a>( tmp );
+
+ int rot = rotS-&gt;<a href="qslider.html#value">value</a>();
+ if ( rot &lt; 0 )
+ rot = rot + 360;
+ tmp.<a href="qstring.html#sprintf">sprintf</a>( "%3i'", rot );
+ rotLCD-&gt;<a href="qlcdnumber.html#display">display</a>( tmp );
+ return m;
+}
+
+
+void <a name="f401"></a>XFormControl::selectFont()
+{
+ bool ok;
+<a name="x1224"></a> <a href="qfont.html">QFont</a> f = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, currentFont );
+ if ( ok ) {
+ currentFont = f;
+ fontSelected( f );
+ }
+}
+
+void <a name="f402"></a>XFormControl::fontSelected( const <a href="qfont.html">QFont</a> &amp;font )
+{
+ emit newFont( font );
+ changeMode(Text);
+}
+
+/*
+ Sets the mode - Text, Image, or Picture.
+*/
+
+void <a name="f403"></a>XFormControl::changeMode(int m)
+{
+ mode = (Mode)m;
+
+ emit newMode( m );
+ newMtx();
+ if ( mode == Text ) {
+<a name="x1277"></a> optionals-&gt;<a href="qwidgetstack.html#raiseWidget">raiseWidget</a>(0);
+ rb_txt-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>(TRUE);
+ } else {
+ optionals-&gt;<a href="qwidgetstack.html#raiseWidget">raiseWidget</a>(1);
+ if ( mode == Image )
+ rb_img-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>(TRUE);
+ else
+ rb_pic-&gt;<a href="qradiobutton.html#setChecked">setChecked</a>(TRUE);
+ }
+<a name="x1217"></a> qApp-&gt;<a href="qapplication.html#flushX">flushX</a>();
+}
+
+<a name="f388"></a>ShowXForm::ShowXForm( const <a href="qfont.html">QFont</a> &amp;initialFont,
+ <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qwidget.html">QWidget</a>( parent, name, WResizeNoErase )
+{
+ <a href="qwidget.html#setFont">setFont</a>( initialFont );
+ <a href="qwidget.html#setBackgroundColor">setBackgroundColor</a>( white );
+ m = Text;
+ eraseRect = QRect( 0, 0, 0, 0 );
+}
+
+<a name="x1275"></a>QSizePolicy ShowXForm::<a href="qwidget.html#sizePolicy">sizePolicy</a>() const
+{
+ return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+}
+
+<a name="x1274"></a>QSize ShowXForm::<a href="qwidget.html#sizeHint">sizeHint</a>() const
+{
+ return QSize(400,400);
+}
+
+void ShowXForm::<a href="qwidget.html#paintEvent">paintEvent</a>( <a href="qpaintevent.html">QPaintEvent</a> * )
+{
+ showIt();
+}
+
+<a name="x1269"></a>void ShowXForm::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * )
+{
+ eraseRect = QRect( <a href="qwidget.html#width">width</a>()/2, height()/2, 0, 0 );
+ <a href="qwidget.html#repaint">repaint</a>(<a href="qwidget.html#rect">rect</a>());
+}
+
+void <a name="f389"></a>ShowXForm::setText( const <a href="qstring.html">QString</a>&amp; s )
+{
+ text = s;
+ showIt();
+}
+
+void <a name="f390"></a>ShowXForm::setMatrix( <a href="qwmatrix.html">QWMatrix</a> w )
+{
+ mtx = w;
+ showIt();
+}
+
+<a name="x1272"></a>void ShowXForm::<a href="qwidget.html#setFont">setFont</a>( const <a href="qfont.html">QFont</a> &amp;f )
+{
+ m = Text;
+ QWidget::<a href="qwidget.html#setFont">setFont</a>( f );
+}
+
+void <a name="f391"></a>ShowXForm::setPixmap( <a href="qpixmap.html">QPixmap</a> pm )
+{
+ pix = pm;
+ m = Image;
+ showIt();
+}
+
+void <a name="f392"></a>ShowXForm::setPicture( const <a href="qpicture.html">QPicture</a>&amp; p )
+{
+ picture = p;
+ m = Picture;
+ showIt();
+}
+
+void <a name="f393"></a>ShowXForm::setMode( int mode )
+{
+ m = (Mode)mode;
+}
+
+void <a name="f394"></a>ShowXForm::showIt()
+{
+ <a href="qpainter.html">QPainter</a> p;
+ <a href="qrect.html">QRect</a> r; // rectangle covering new text/pixmap in virtual coordinates
+ <a href="qwmatrix.html">QWMatrix</a> um; // copy user specified transform
+ int textYPos = 0; // distance from boundingRect y pos to baseline
+ int textXPos = 0; // distance from boundingRect x pos to text start
+ <a href="qrect.html">QRect</a> br;
+ <a href="qfontmetrics.html">QFontMetrics</a> fm( <a href="qwidget.html#fontMetrics">fontMetrics</a>() ); // get widget font metrics
+ switch ( mode() ) {
+ case Text:
+<a name="x1225"></a> br = fm.<a href="qfontmetrics.html#boundingRect">boundingRect</a>( text ); // rectangle covering text
+ r = br;
+ textYPos = -r.<a href="qrect.html#y">y</a>();
+ textXPos = -r.<a href="qrect.html#x">x</a>();
+<a name="x1258"></a><a name="x1254"></a><a name="x1251"></a> br.<a href="qrect.html#moveTopLeft">moveTopLeft</a>( QPoint( -br.<a href="qrect.html#width">width</a>()/2, -br.<a href="qrect.html#height">height</a>()/2 ) );
+ break;
+ case Image:
+<a name="x1248"></a><a name="x1246"></a> r = QRect(0, 0, pix.<a href="qpixmap.html#width">width</a>()+1, pix.<a href="qpixmap.html#height">height</a>()+1);
+ break;
+ case Picture:
+ // ### need QPicture::boundingRect()
+ r = QRect(0,0,1000,1000);
+ break;
+ }
+ r.<a href="qrect.html#moveTopLeft">moveTopLeft</a>( QPoint(-r.<a href="qrect.html#width">width</a>()/2, -r.<a href="qrect.html#height">height</a>()/2) );
+<a name="x1253"></a> r.<a href="qrect.html#moveBy">moveBy</a>( -1, -1 ); // add border for matrix round off
+<a name="x1255"></a> r.<a href="qrect.html#setSize">setSize</a>( QSize( r.<a href="qrect.html#width">width</a>() + 2,r.<a href="qrect.html#height">height</a>() + 2 ) );
+ // compute union of new and old rect
+ // the resulting rectangle will cover what is already displayed
+ // and have room for the new text/pixmap
+<a name="x1279"></a><a name="x1257"></a> eraseRect = eraseRect.<a href="qrect.html#unite">unite</a>( mtx.<a href="qwmatrix.html#mapRect">mapRect</a>(r) );
+ int pw = QMIN(eraseRect.<a href="qrect.html#width">width</a>(),width());
+ int ph = QMIN(eraseRect.<a href="qrect.html#height">height</a>(),height());
+ <a href="qpixmap.html">QPixmap</a> pm( pw, ph ); // off-screen drawing pixmap
+<a name="x1245"></a> pm.<a href="qpixmap.html#fill">fill</a>( <a href="qwidget.html#backgroundColor">backgroundColor</a>() );
+
+<a name="x1233"></a> p.<a href="qpainter.html#begin">begin</a>( &amp;pm );
+<a name="x1283"></a> um.<a href="qwmatrix.html#translate">translate</a>( pw/2, ph/2 ); // 0,0 is center
+ um = mtx * um;
+<a name="x1242"></a> p.<a href="qpainter.html#setWorldMatrix">setWorldMatrix</a>( um );
+ switch ( mode() ) {
+ case Text:
+<a name="x1240"></a> p.<a href="qpainter.html#setFont">setFont</a>( <a href="qwidget.html#font">font</a>() ); // use widget font
+<a name="x1256"></a><a name="x1252"></a> p.<a href="qpainter.html#drawText">drawText</a>( r.<a href="qrect.html#left">left</a>() + textXPos, r.<a href="qrect.html#top">top</a>() + textYPos, text );
+#if 0
+ p.<a href="qpainter.html#setPen">setPen</a>( red );
+ p.<a href="qpainter.html#drawRect">drawRect</a>( br );
+#endif
+ break;
+ case Image:
+<a name="x1235"></a> p.<a href="qpainter.html#drawPixmap">drawPixmap</a>( -pix.<a href="qpixmap.html#width">width</a>()/2, -pix.<a href="qpixmap.html#height">height</a>()/2, pix );
+ break;
+ case Picture:
+ // ### need QPicture::boundingRect()
+<a name="x1239"></a> p.<a href="qpainter.html#scale">scale</a>(0.25,0.25);
+<a name="x1243"></a> p.<a href="qpainter.html#translate">translate</a>(-230,-180);
+<a name="x1234"></a> p.<a href="qpainter.html#drawPicture">drawPicture</a>( picture );
+ }
+<a name="x1238"></a> p.<a href="qpainter.html#end">end</a>();
+
+ int xpos = <a href="qwidget.html#width">width</a>()/2 - pw/2;
+ int ypos = <a href="qwidget.html#height">height</a>()/2 - ph/2;
+ <a href="qimage.html#bitBlt">bitBlt</a>( this, xpos, ypos, // copy pixmap to widget
+ &amp;pm, 0, 0, -1, -1 );
+<a name="x1278"></a> eraseRect = mtx.<a href="qwmatrix.html#map">map</a>( r );
+}
+
+
+/*
+ Grand unifying widget, putting ShowXForm and XFormControl
+ together.
+*/
+
+class XFormCenter : public <a href="qhbox.html">QHBox</a>, public ModeNames
+{
+ Q_OBJECT
+public:
+ XFormCenter( <a href="qwidget.html">QWidget</a> *parent=0, const char *name=0 );
+public slots:
+ void setFont( const <a href="qfont.html">QFont</a> &amp;f ) { sx-&gt;<a href="qwidget.html#setFont">setFont</a>( f ); }
+ void newMode( int );
+private:
+ ShowXForm *sx;
+ XFormControl *xc;
+};
+
+void <a name="f395"></a>XFormCenter::newMode( int m )
+{
+ static bool first_i = TRUE;
+ static bool first_p = TRUE;
+
+ if ( sx-&gt;mode() == m )
+ return;
+ if ( m == Image &amp;&amp; first_i ) {
+ first_i = FALSE;
+ <a href="qpixmap.html">QPixmap</a> pm;
+<a name="x1247"></a> if ( pm.<a href="qpixmap.html#load">load</a>( "image.any" ) )
+ sx-&gt;setPixmap( pm );
+ return;
+ }
+ if ( m == Picture &amp;&amp; first_p ) {
+ first_p = FALSE;
+ <a href="qpicture.html">QPicture</a> p;
+<a name="x1244"></a> if (p.<a href="qpicture.html#load">load</a>( "picture.any" ))
+ sx-&gt;setPicture( p );
+ return;
+ }
+ sx-&gt;setMode(m);
+}
+
+<a name="f396"></a>XFormCenter::XFormCenter( <a href="qwidget.html">QWidget</a> *parent, const char *name )
+ : <a href="qhbox.html">QHBox</a>( parent, name )
+{
+ <a href="qfont.html">QFont</a> f( "Charter", 36, QFont::Bold );
+
+ xc = new XFormControl( f, this );
+ sx = new ShowXForm( f, this );
+ <a href="qhbox.html#setStretchFactor">setStretchFactor</a>(sx,1);
+ xc-&gt;<a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Panel | QFrame::Raised );
+<a name="x1227"></a> xc-&gt;<a href="qframe.html#setLineWidth">setLineWidth</a>( 2 );
+ <a href="qobject.html#connect">connect</a>( xc, SIGNAL(newText(const <a href="qstring.html">QString</a>&amp;)), sx,
+ SLOT(setText(const <a href="qstring.html">QString</a>&amp;)) );
+ <a href="qobject.html#connect">connect</a>( xc, SIGNAL(newMatrix(QWMatrix)),
+ sx, SLOT(setMatrix(QWMatrix)) );
+ <a href="qobject.html#connect">connect</a>( xc, SIGNAL(newFont(const <a href="qfont.html">QFont</a>&amp;)), sx,
+ SLOT(<a href="qwidget.html#setFont">setFont</a>(const <a href="qfont.html">QFont</a>&amp;)) );
+ <a href="qobject.html#connect">connect</a>( xc, SIGNAL(newMode(int)), SLOT(newMode(int)) );
+ sx-&gt;setText( "Troll" );
+ newMode( Image );
+ sx-&gt;setMatrix(xc-&gt;matrix());
+}
+
+
+int main( int argc, char **argv )
+{
+ <a href="qapplication.html">QApplication</a> a( argc, argv );
+
+ XFormCenter *xfc = new XFormCenter;
+
+ a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( xfc );
+ xfc-&gt;<a href="qwidget.html#setCaption">setCaption</a>("Qt Example - XForm");
+ xfc-&gt;<a href="qwidget.html#show">show</a>();
+ return a.<a href="qapplication.html#exec">exec</a>();
+}
+
+#include "xform.moc" // include metadata generated by the <a href="moc.html#moc">moc</a>
+</pre>
+
+<p>See also <a href="examples.html">Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xform.png b/doc/html/xform.png
new file mode 100644
index 0000000..8221a00
--- /dev/null
+++ b/doc/html/xform.png
Binary files differ
diff --git a/doc/html/xml-examples.html b/doc/html/xml-examples.html
new file mode 100644
index 0000000..def4785
--- /dev/null
+++ b/doc/html/xml-examples.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:451 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Qt XML Examples</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Qt XML Examples</h1>
+
+
+<p> The following example programs show how to use the
+Qt XML classes.
+<p>
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="outliner-example.html">Outliner to show use of DOM</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tagreader-example.html">A tiny SAX2 parser</a></b>
+<tr bgcolor=#f0f0f0><td><b><a href="tagreader-with-features-example.html">Demonstration of SAX2 features</a></b>
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xml-sax-features-walkthrough.html b/doc/html/xml-sax-features-walkthrough.html
new file mode 100644
index 0000000..90d1603
--- /dev/null
+++ b/doc/html/xml-sax-features-walkthrough.html
@@ -0,0 +1,379 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/xml-sax-features-walkthrough.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Walkthrough: Using SAX2 features with the Qt XML classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Walkthrough: Using SAX2 features with the Qt XML classes</h1>
+
+
+<p>
+<p> This document assumes that you are familiar with <a href="xml.html#namespaces">namespaces</a> in XML and the concept of a <a href="xml.html#sax2">SAX2
+parser</a>.
+If features of SAX2 readers are new to you please read
+<a href="xml.html#sax2Features">the feature section</a> of the SAX2 document.
+<p> As a novice to the Qt XML classes it is advisable to have a look at the
+<a href="xml-sax-walkthrough.html">tiny SAX2 parser walkthrough</a> before
+reading on.
+<p> This walkthrough covers two topics: First of all it shows how to
+set SAX2 features and secondly how to integrate the Qt XML functionality
+into a Qt GUI application.
+<p> The resulting application allows you to compare the output of the reader
+depending on how the two features
+<em>http://xml.org/sax/features/namespace-prefixes</em>
+and <em>http://xml.org/sax/features/namespaces</em> are set.
+To do this it shows tree views of the read XML file
+listing the qualified names of elements and attributes and the respective
+namespace URIs.
+<p> <h3>Setting features</h3>
+<p>
+
+<p> Let's begin with the main program of the application. First the boring
+part: we include all the classes we need:
+<p> <pre> #include "structureparser.h"
+ #include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;
+ #include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+ #include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+ #include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+ #include &lt;<a href="qgrid-h.html">qgrid.h</a>&gt;
+ #include &lt;<a href="qmainwindow-h.html">qmainwindow.h</a>&gt;
+ #include &lt;<a href="qlabel-h.html">qlabel.h</a>&gt;
+</pre>
+<p> <a href="#structureparser.h">structureparser.h</a> contains the API of
+the XML parser that we implement in <a href="#structureparser.cpp">structureparser.cpp.</a>
+<p> <pre> int main( int argc, char **argv )
+ {
+ <a href="qapplication.html">QApplication</a> app( argc, argv );
+</pre>
+<p> As usual we then create a Qt application object and hand command line arguments
+over to it.
+<p> <pre> <a href="qfile.html">QFile</a> xmlFile( argc == 2 ? argv[1] : "fnord.xml" );
+</pre>
+<p> If the user runs the program with one filename as
+an argument we process this file, otherwise we use the <em>fnord.xml</em> file from
+the example directory for demonstration purposes.
+<p> <pre> <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+</pre>
+<p> We use <em>xmlFile</em> as the XML Input Source...
+<p> <pre> <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+</pre>
+<p> ... and instantiate a <em>reader</em> object. Later we will manipulate its features
+and thus influence how the XML data are read.
+<p> <pre> <a href="qgrid.html">QGrid</a> * container = new <a href="qgrid.html">QGrid</a>( 3 );
+</pre>
+<p> Now let's think about presenting the output: As described in the
+<a href="xml.html#sax2Features">Qt SAX2 documentation</a>
+there are three valid combinations of <em>http://xml.org/sax/features/namespace-prefixes</em>
+and <em>http://xml.org/sax/features/namespaces</em>: TRUE/TRUE, TRUE/FALSE and
+FALSE/TRUE. To show the relevant output side by side of each other
+and mark them with three labels makes up for a grid layout consisting
+of three columns (and thus two lines).
+<p> <pre> <a href="qlistview.html">QListView</a> * nameSpace = new <a href="qlistview.html">QListView</a>( container, "table_namespace" );
+</pre>
+<p> The most natural way of presenting XML elements is in a tree.
+Thus we use a listview. Its name <em>nameSpace</em> indicates that this
+one will be used to present the combination of <em>http://xml.org/sax/features/namespaces</em> being TRUE and
+<em>http://xml.org/sax/features/namespace-prefixes</em>
+being FALSE -- the default configuration of a <a href="qxmlsimplereader.html">QXmlSimpleReader</a>.
+<p> Being the first grid entry the <em>nameSpace</em> listview will
+appear in the upper left corner of the virtual grid.
+<p> <pre> StructureParser * handler = new StructureParser( nameSpace );
+</pre>
+<p> Then we create a handler that deals with the XML data read by the reader.
+As the provided handler class <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> simply does nothing
+with the data from the reader,
+we can't use it right away. Instead we have to subclass our
+own <a href="#structureparser.cpp">StructureParser</a> from it.
+<p> <pre> reader.<a href="qxmlreader.html#setContentHandler">setContentHandler</a>( handler );
+</pre>
+<p> The <em>handler</em> serves as content handler for the reader. Note that
+for simplicity reasons we don't register e.g. an error handler. Thus
+our program will not complain about for example missing closing tags
+in the parsed XML document.
+<p> <pre> reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+<p> Finally we parse the document with the reader's default feature settings.
+<p> <pre> <a href="qlistview.html">QListView</a> * namespacePrefix = new <a href="qlistview.html">QListView</a>( container,
+ "table_namespace_prefix" );
+</pre>
+<p> Now we prepare for the parsing of the same XML input source with
+different reader settings. The output will be presented in
+a second <a href="qlistview.html">QListView</a>, <em>namespacePrefix</em>. As it is the second
+member of the <em>container</em> grid it will appear in the middle of
+the upper grid row.
+<p> <pre> handler-&gt;setListView( namespacePrefix );
+</pre>
+<p> Then we ask the <em>handler</em> to present the data in the <em>namespacePrefix</em>
+listview.
+<p> <pre> <a name="x2125"></a> reader.<a href="qxmlsimplereader.html#setFeature">setFeature</a>( "http://xml.org/sax/features/namespace-prefixes",
+ TRUE );
+</pre>
+<p> Now we modify the behaviour of the <em>reader</em> and change
+<em>http://xml.org/sax/features/namespace-prefixes</em> from the default FALSE
+to TRUE. The <em>http://xml.org/sax/features/namespaces</em> feature has
+still its default setting TRUE.
+<p> <pre> source.<a href="qxmlinputsource.html#reset">reset</a>();
+</pre>
+<p> We have to reset the input source to make the new parsing start from the
+beginning of the document again.
+<p> <pre> reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+<p> Finally we parse the XML file a second time with the changed reader
+settings (TRUE/TRUE).
+<p> <pre> <a href="qlistview.html">QListView</a> * prefix = new <a href="qlistview.html">QListView</a>( container, "table_prefix");
+ handler-&gt;setListView( prefix );
+ reader.<a href="qxmlsimplereader.html#setFeature">setFeature</a>( "http://xml.org/sax/features/namespaces", FALSE );
+ source.<a href="qxmlinputsource.html#reset">reset</a>();
+ reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+<p> Next we prepare and use the upper right listview to show the reader results
+with the feature setting <em>http://xml.org/sax/features/namespaces</em>
+FALSE and <em>http://xml.org/sax/features/namespace-prefixes</em> TRUE.
+<p> <pre> // namespace label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "Default:\n"
+ "http://xml.org/sax/features/namespaces: TRUE\n"
+ "http://xml.org/sax/features/namespace-prefixes: FALSE\n",
+ container );
+
+ // namespace prefix label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "\n"
+ "http://xml.org/sax/features/namespaces: TRUE\n"
+ "http://xml.org/sax/features/namespace-prefixes: TRUE\n",
+ container );
+
+ // prefix label
+ (void) new <a href="qlabel.html">QLabel</a>(
+ "\n"
+ "http://xml.org/sax/features/namespaces: FALSE\n"
+ "http://xml.org/sax/features/namespace-prefixes: TRUE\n",
+ container );
+</pre>
+<p> The second row of the <em>container</em> grid is filled with three labels
+denoting the reader settings that belong to the above listview.
+<p> <pre> app.<a href="qapplication.html#setMainWidget">setMainWidget</a>( container );
+ container-&gt;<a href="qwidget.html#show">show</a>();
+ return app.<a href="qapplication.html#exec">exec</a>();
+ }
+</pre>
+<p> Same procedure as with every Qt GUI program: the grid serves as the
+main widget of our application and is shown. After that we enter
+the GUI's event loop.
+<p> <h3><a name="structureparser.h">The handler API</a></h3>
+<p> Let's have a brief look at the API of our handler class
+<em>StructureParser</em>:
+<p>
+
+<pre> #include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+ #include &lt;<a href="qptrstack-h.html">qptrstack.h</a>&gt;
+
+ class QListView;
+ class QListViewItem;
+ class QString;
+</pre>
+<p> <pre> class StructureParser: public <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+ {
+</pre>
+<p> We derive it from the <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> class that
+implements a handler that simply does nothing.
+<p> <pre> public:
+ StructureParser( <a href="qlistview.html">QListView</a> * );
+</pre>
+<p> This makes it easy for us to implement only the functionality
+we in fact need. In our case this is the constructor that
+takes a <a href="qlistview.html">QListView</a> as an argument,
+<p> <pre> bool startElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; );
+</pre>
+<p> the function to execute at the occurrence of element start tags
+(inherited from <a href="qxmlcontenthandler.html">QXmlContentHandler</a>), and
+<p> <pre> bool endElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; );
+</pre>
+<p> the code to run when an end tag occurs.
+<p> All we have to implement so far is content handling.
+<p> <pre> void setListView( <a href="qlistview.html">QListView</a> * );
+</pre>
+<p> In addition we have a function that selects a listview
+for the output.
+<p> <pre> private:
+ <a href="qptrstack.html">QPtrStack</a>&lt;QListViewItem&gt; stack;
+</pre>
+<p> Keep in mind that we write a SAX2 parser that doesn't
+have an object model to keep all elements and attributes
+in memory. To display the elements and attributes in a tree like
+structure we must however keep track of all elements
+that haven't been closed yet.
+<p> To do this we use a LIFO stack
+of QListItems. An element will be added to the stack when
+its start tag appears and removed
+as soon as its end tag is parsed.
+<p> <pre> <a href="qlistview.html">QListView</a> * table;
+ };
+</pre>
+<p> Apart from this we define a member variable that contains
+the currently used listview.
+<p> <h3><a name="structureparser.cpp">The handler itself</a></h3>
+<p> Now that we defined the API we have to implement the
+relevant functions.
+<p>
+
+<pre> #include "structureparser.h"
+
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+ #include &lt;<a href="qlistview-h.html">qlistview.h</a>&gt;
+</pre>
+<p> <pre> StructureParser::StructureParser( <a href="qlistview.html">QListView</a> * t )
+ : <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>()
+ {
+</pre>
+<p> First we have the constructor that takes a listview pointer as
+its argument.
+<p> <pre> setListView( t );
+ }
+</pre>
+<p> All we have to do here is to prepare the argument <a href="qlistview.html">QListView</a>
+before usage. This we do with the <a href="#setListView()">setListView()</a> function.
+<p> <a name="setListView()"></a>
+<pre> void StructureParser::setListView( <a href="qlistview.html">QListView</a> * t )
+ {
+ table = t;
+</pre>
+<p> First we store the argument away.
+<p> <pre> table-&gt;setSorting( -1 );
+</pre>
+<p> We want the elements to be listed as they appear in the
+document -- and not for example sorted alphabetically. That's
+why we switch off sorting at all.
+<p> <pre> table-&gt;addColumn( "Qualified name" );
+ table-&gt;addColumn( "Namespace" );
+ }
+</pre>
+<p> The listview now consists of two columns: one for the
+element's or attribute's qualified names and one for
+their namespace URIs. Columns are added from left to right
+and with the title as an argument.
+<p> Now let's deal with XML content handling.
+<p> <pre> bool StructureParser::<a href="qxmlcontenthandler.html#startElement">startElement</a>( const <a href="qstring.html">QString</a>&amp; namespaceURI,
+ const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qstring.html">QString</a>&amp; qName,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; attributes)
+ {
+</pre>
+<p> When we come across the start tag of an element the handler does
+the real work. Although <em>startElement</em> is called with four
+arguments we keep track of only three: the namespace URI
+of the element, its qualified name and its attributes.
+If an element has no namespace assigned or if the feature
+settings of the reader don't provide the handler with
+namespace URIs at all <em>namespaceURI</em> contains an empty
+string.
+<p> Note that we don't assign a variable to the second argument --
+we're simply not interested in the local name of the element.
+<p> <pre> <a href="qlistviewitem.html">QListViewItem</a> * element;
+</pre>
+<p> Whenever an element occurs we want to show it in the listview.
+Therefore we define a <a href="qlistviewitem.html">QListViewItem</a> variable.
+<p> <pre> if ( ! stack.isEmpty() ){
+ <a href="qlistviewitem.html">QListViewItem</a> *lastChild = stack.top()-&gt;firstChild();
+</pre>
+<p> As long as the element <em>stack</em> isn't empty the current element
+is a child of the topmost (last unclosed) element on the stack. Thus we
+create a new <a href="qlistviewitem.html">QListViewItem</a> as a child of QPtrStack::stack.top() with
+the new element's qualified name in the first column and the according
+namespace URI (or nothing) in the second one.
+<p> The <a href="qlistviewitem.html">QListViewItem</a> is usally inserted as the first child. This means that we
+would get the elements in reverse order. So we first search for the last
+child of the QPtrStack::stack.top() element and insert it after this
+element.
+<p> In a valid XML document this applies to all elements except
+the document root.
+<p> <pre> if ( lastChild ) {
+ while ( lastChild-&gt;<a href="qlistviewitem.html#nextSibling">nextSibling</a>() )
+ lastChild = lastChild-&gt;<a href="qlistviewitem.html#nextSibling">nextSibling</a>();
+ }
+ element = new <a href="qlistviewitem.html">QListViewItem</a>( stack.top(), lastChild, qName, namespaceURI );
+ } else {
+ element = new <a href="qlistviewitem.html">QListViewItem</a>( table, qName, namespaceURI );
+ }
+</pre>
+<p> The root element we have to handle separately because it is
+the first element to go onto the <a href="qlistviewitem.html">QListViewItem</a> stack.
+Its listview item is therefore a direct child of the
+<em>table</em> listview itself.
+<p> <pre> stack.push( element );
+</pre>
+<p> Now we put the element's listview item on top of the stack.
+<p> <pre> element-&gt;<a href="qlistviewitem.html#setOpen">setOpen</a>( TRUE );
+</pre>
+<p> By default a <a href="qlistview.html">QListView</a> presents all of its nodes closed.
+The user may then click on the <em>+</em> icon to see the child
+entries.
+<p> We however want to see the entire element tree
+at once when we run the program.
+Therefore we open each listview item manually.
+<p> <pre> if ( attributes.<a href="qxmlattributes.html#length">length</a>() &gt; 0 ) {
+</pre>
+<p> What do we do if an element has attributes?
+<p> <pre> <a name="x2105"></a> for ( int i = 0 ; i &lt; attributes.<a href="qxmlattributes.html#length">length</a>(); i++ ) {
+ <a name="x2107"></a><a name="x2106"></a> new <a href="qlistviewitem.html">QListViewItem</a>( element, attributes.<a href="qxmlattributes.html#qName">qName</a>(i), attributes.<a href="qxmlattributes.html#uri">uri</a>(i) );
+ }
+ }
+</pre>
+<p> For each of them we create a new listview item to present the attribute's
+qualified name and the relevant namespace URI (or nothing).
+Obviously <em>attribute</em> is a child of
+the current <em>element</em>.
+<p> <pre> return TRUE;
+ }
+</pre>
+<p> To prevent the reader from throwing an error we have to
+return TRUE when we successfully dealt with an
+element's start tag.
+<p> <pre> bool StructureParser::<a href="qxmlcontenthandler.html#endElement">endElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp; )
+ {
+ stack.pop();
+</pre>
+<p> Whenever we come across an element's closing tag we
+have to remove its listview item from the stack as
+it can't have children any longer.
+<p> <pre> return TRUE;
+ }
+</pre>
+<p> And so we're done.
+<p> <p>See also <a href="step-by-step-examples.html">Step-by-step Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xml-sax-walkthrough.html b/doc/html/xml-sax-walkthrough.html
new file mode 100644
index 0000000..c0bfdb8
--- /dev/null
+++ b/doc/html/xml-sax-walkthrough.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/xml-sax-walkthrough.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Walkthrough: How to use the Qt SAX2 classes</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Walkthrough: How to use the Qt SAX2 classes</h1>
+
+
+<p>
+<p> For a general discussion of the XML topics in Qt please refer to
+the document <a href="xml.html">XML Module.</a>
+To learn more about SAX2 see the document describing
+<a href="xml.html#sax2">the Qt SAX2 implementation.</a>
+<p> Before reading on you should at least be familiar with
+the <a href="xml.html#sax2Intro">Introduction to SAX2.</a>
+<p> <a name="quickStart"></a>
+<h2>A tiny parser</h2>
+<p> In this section we will present a small example reader that outputs
+the names of all elements in an XML document on the command line.
+The element names are indented corresponding to their nesting level.
+<p> As mentioned in <a href="xml.html#sax2Intro">Introduction to SAX2</a>
+we have to implement the functions of the handler classes that we are
+interested in. In our case these are only three:
+<a href="qxmlcontenthandler.html#startDocument">QXmlContentHandler::startDocument</a>(),
+<a href="qxmlcontenthandler.html#startElement">QXmlContentHandler::startElement</a>() and
+<a href="qxmlcontenthandler.html#endElement">QXmlContentHandler::endElement</a>().
+<p> For this purpose we use a subclass of the <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> (remember
+that the special handler classes are all abstract and the default handler class
+provides an implementation that does not change the parsing behavior):
+<p> <pre>/****************************************************************************
+** $Id: qt/structureparser.h 3.3.8 edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of an example program for Qt. This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#ifndef STRUCTUREPARSER_H
+#define STRUCTUREPARSER_H
+
+#include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+
+class QString;
+
+class StructureParser : public <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+{
+public:
+ bool startDocument();
+ bool startElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; ,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; );
+ bool endElement( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; );
+
+private:
+ <a href="qstring.html">QString</a> indent;
+};
+
+#endif
+</pre>
+
+<p> Apart from the private helper variable <em>indent</em> that we will use to
+get indentation right, there is nothing special about our new
+<em>StructureParser</em> class.
+<p>
+
+<p> Even the implementation is straight-forward:
+<p> <pre> #include "structureparser.h"
+
+ #include &lt;stdio.h&gt;
+ #include &lt;<a href="qstring-h.html">qstring.h</a>&gt;
+</pre>
+<p> First we overload <a href="qxmlcontenthandler.html#startDocument">QXmlContentHandler::startDocument</a>() with a non-empty version.
+<p> <pre> <a name="x2137"></a>bool StructureParser::<a href="qxmlcontenthandler.html#startDocument">startDocument</a>()
+ {
+ indent = "";
+ return TRUE;
+ }
+</pre>
+<p> At the beginning of the document we simply
+set <em>indent</em> to an empty string because we
+want to print out the root element without any indentation.
+Also we return TRUE so that the parser continues without
+reporting an error.
+<p> Because we want to be informed when the parser comes
+accross a start tag of an element and subsequently print it out, we
+have to overload <a href="qxmlcontenthandler.html#startElement">QXmlContentHandler::startElement</a>().
+<p> <pre> <a name="x2138"></a>bool StructureParser::<a href="qxmlcontenthandler.html#startElement">startElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;,
+ const <a href="qstring.html">QString</a>&amp; qName,
+ const <a href="qxmlattributes.html">QXmlAttributes</a>&amp; )
+ {
+ printf( "%s%s\n", (const char*)indent, (const char*)qName );
+ indent += " ";
+ return TRUE;
+ }
+</pre>
+<p> This is what the implementation does: The name of the element with
+preceding indentation is printed out followed by a linebreak.
+Strictly speaking <em>qName</em> contains the local element name
+without an eventual prefix denoting the <a href="xml.html#namespaces">namespace.</a>
+<p> If another element follows before the current element's end tag
+it should be indented. Therefore we add four spaces to the
+<em>indent</em> string.
+<p> Finally we return TRUE in order to let the parser continue without
+errors.
+<p> The last functionality we need to add is the parser's behaviour when an
+end tag occurs. This means overloading <a href="qxmlcontenthandler.html#endElement">QXmlContentHandler::endElement</a>().
+<p> <pre> <a name="x2136"></a>bool StructureParser::<a href="qxmlcontenthandler.html#endElement">endElement</a>( const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp;, const <a href="qstring.html">QString</a>&amp; )
+ {
+ indent.remove( (uint)0, 4 );
+ return TRUE;
+ }
+</pre>
+<p> Obviously we then should shorten the <em>indent</em> string by the four
+whitespaces added in startElement().
+<p> With this we're done with our parser and can start writing the main()
+program.
+<p>
+
+<p> <pre> #include "structureparser.h"
+ #include &lt;<a href="qfile-h.html">qfile.h</a>&gt;
+ #include &lt;<a href="qxml-h.html">qxml.h</a>&gt;
+ #include &lt;<a href="qwindowdefs-h.html">qwindowdefs.h</a>&gt;
+
+ int main( int argc, char **argv )
+ {
+ if ( argc &lt; 2 ) {
+ fprintf( stderr, "Usage: %s &lt;xmlfile&gt; [&lt;xmlfile&gt; ...]\n", argv[0] );
+ return 1;
+ }
+</pre>
+<p> This check ensures that we have a sequence of files from the command
+line to examine.
+<p> <pre> StructureParser handler;
+</pre>
+<p> The next step is to create an instance of the <em>StructureParser</em>.
+<p> <pre> <a href="qxmlsimplereader.html">QXmlSimpleReader</a> reader;
+ <a name="x2140"></a> reader.<a href="qxmlreader.html#setContentHandler">setContentHandler</a>( &amp;handler );
+</pre>
+<p> After that we set up the reader. As our <em>StructureParser</em>
+class deals with <a href="qxmlcontenthandler.html">QXmlContentHandler</a> functionality only
+we simply register it as the content handler of our choice.
+<p> <pre> for ( int i=1; i &lt; argc; i++ ) {
+</pre>
+<p> Successively we deal with all files given as command line arguments.
+<p> <pre> <a href="qfile.html">QFile</a> xmlFile( argv[i] );
+ <a href="qxmlinputsource.html">QXmlInputSource</a> source( &amp;xmlFile );
+</pre>
+<p> Then we create a
+<a href="qxmlinputsource.html">QXmlInputSource</a> for the XML file to be parsed.
+<p> <pre> <a name="x2139"></a> reader.<a href="qxmlsimplereader.html#parse">parse</a>( source );
+</pre>
+<p> Now we take our input source and start parsing.
+<p> <pre> }
+ return 0;
+ }
+</pre>
+<p> Running the program on the following XML file...
+<p> <pre>&lt;animals&gt;
+&lt;mammals&gt;
+ &lt;monkeys&gt; &lt;gorilla/&gt; &lt;orangutan/&gt; &lt;/monkeys&gt;
+&lt;/mammals&gt;
+&lt;birds&gt; &lt;pigeon/&gt; &lt;penguin/&gt; &lt;/birds&gt;
+&lt;/animals&gt;
+
+</pre>
+
+<p> ... produces the following output:
+<pre>
+animals
+ mammals
+ monkeys
+ gorilla
+ orang-utan
+ birds
+ pigeon
+ penguin
+</pre>
+
+<p> It will however refuse to produce the correct result if you e.g. insert
+a whitespace between a &lt; and the element name in your test-XML file.
+To prevent such annoyances
+you should always install an error handler with <a href="qxmlreader.html#setErrorHandler">QXmlReader::setErrorHandler</a>(). This allows you to report
+parsing errors to the user.
+<p> <p>See also <a href="step-by-step-examples.html">Step-by-step Examples</a>.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xml-tools.html b/doc/html/xml-tools.html
new file mode 100644
index 0000000..c2787c8
--- /dev/null
+++ b/doc/html/xml-tools.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/indices.doc:784 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>XML</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>XML</h1>
+
+
+<p> These classes are relevant to XML users.
+
+<p><table width="100%">
+<tr bgcolor=#f0f0f0><td><b><a href="qdomattr.html">QDomAttr</a></b><td>Represents one attribute of a QDomElement
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcdatasection.html">QDomCDATASection</a></b><td>Represents an XML CDATA section
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcharacterdata.html">QDomCharacterData</a></b><td>Represents a generic string in the DOM
+<tr bgcolor=#f0f0f0><td><b><a href="qdomcomment.html">QDomComment</a></b><td>Represents an XML comment
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocument.html">QDomDocument</a></b><td>Represents an XML document
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocumentfragment.html">QDomDocumentFragment</a></b><td>Tree of QDomNodes which is not usually a complete QDomDocument
+<tr bgcolor=#f0f0f0><td><b><a href="qdomdocumenttype.html">QDomDocumentType</a></b><td>The representation of the DTD in the document tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomelement.html">QDomElement</a></b><td>Represents one element in the DOM tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomentity.html">QDomEntity</a></b><td>Represents an XML entity
+<tr bgcolor=#f0f0f0><td><b><a href="qdomentityreference.html">QDomEntityReference</a></b><td>Represents an XML entity reference
+<tr bgcolor=#f0f0f0><td><b><a href="qdomimplementation.html">QDomImplementation</a></b><td>Information about the features of the DOM implementation
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnamednodemap.html">QDomNamedNodeMap</a></b><td>Collection of nodes that can be accessed by name
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnode.html">QDomNode</a></b><td>The base class for all the nodes in a DOM tree
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnodelist.html">QDomNodeList</a></b><td>List of QDomNode objects
+<tr bgcolor=#f0f0f0><td><b><a href="qdomnotation.html">QDomNotation</a></b><td>Represents an XML notation
+<tr bgcolor=#f0f0f0><td><b><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a></b><td>Represents an XML processing instruction
+<tr bgcolor=#f0f0f0><td><b><a href="qdomtext.html">QDomText</a></b><td>Represents text data in the parsed XML document
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlattributes.html">QXmlAttributes</a></b><td>XML attributes
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlcontenthandler.html">QXmlContentHandler</a></b><td>Interface to report the logical content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldeclhandler.html">QXmlDeclHandler</a></b><td>Interface to report declaration content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldefaulthandler.html">QXmlDefaultHandler</a></b><td>Default implementation of all the XML handler classes
+<tr bgcolor=#f0f0f0><td><b><a href="qxmldtdhandler.html">QXmlDTDHandler</a></b><td>Interface to report DTD content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlentityresolver.html">QXmlEntityResolver</a></b><td>Interface to resolve external entities contained in XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlerrorhandler.html">QXmlErrorHandler</a></b><td>Interface to report errors in XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlinputsource.html">QXmlInputSource</a></b><td>The input data for the QXmlReader subclasses
+<tr bgcolor=#f0f0f0><td><b><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a></b><td>Interface to report the lexical content of XML data
+<tr bgcolor=#f0f0f0><td><b><a href="qxmllocator.html">QXmlLocator</a></b><td>The XML handler classes with information about the parsing position within a file
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a></b><td>Helper class for XML readers which want to include namespace support
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlparseexception.html">QXmlParseException</a></b><td>Used to report errors with the QXmlErrorHandler interface
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlreader.html">QXmlReader</a></b><td>Interface for XML readers (i.e. parsers)
+<tr bgcolor=#f0f0f0><td><b><a href="qxmlsimplereader.html">QXmlSimpleReader</a></b><td>Implementation of a simple XML reader (parser)
+</table>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/xml.html b/doc/html/xml.html
new file mode 100644
index 0000000..319168a
--- /dev/null
+++ b/doc/html/xml.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/xml.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>XML Module</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>XML Module</h1>
+
+
+<p>
+<p> <!-- toc -->
+<ul>
+<li><a href="#1"> Overview of the XML architecture in Qt
+</a>
+<li><a href="#2"> The Qt SAX2 classes
+</a>
+<ul>
+<li><a href="#2-1"> Introduction to SAX2
+</a>
+<li><a href="#2-2"> Features
+</a>
+<li><a href="#2-3"> Namespace support via features
+</a>
+<ul>
+<li><a href="#2-3-1"> Summary
+</a>
+</ul>
+<li><a href="#2-4"> Properties
+</a>
+<li><a href="#2-5"> Further reading
+</a>
+</ul>
+<li><a href="#3"> The Qt DOM classes
+</a>
+<ul>
+<li><a href="#3-1"> Introduction to DOM
+</a>
+<li><a href="#3-2"> Further reading
+</a>
+</ul>
+<li><a href="#4"> An introduction to namespaces
+</a>
+<ul>
+<li><a href="#4-1"> Conventions used in Qt XML documentation
+</a>
+</ul>
+</ul>
+<!-- endtoc -->
+
+<p> <a name="overview"></a>
+<h2> Overview of the XML architecture in Qt
+</h2>
+<a name="1"></a><p> The XML module provides a well-formed XML parser using the SAX2
+(Simple API for XML) interface plus an implementation of the DOM Level
+2 (Document Object Model).
+<p> SAX is an event-based standard interface for XML parsers.
+The Qt interface follows the design of the SAX2 Java implementation.
+Its naming scheme was adapted to fit the Qt naming conventions.
+Details on SAX2 can be found at
+<a href="http://www.saxproject.org">http://www.saxproject.org</a>.
+<p> Support for SAX2 filters and the reader factory are under
+development. The Qt implementation does not include the SAX1
+compatibility classes present in the Java interface.
+<p> For an introduction to Qt's SAX2 classes see
+"<a href="#sax2">The Qt SAX2 classes</a>".
+<p> DOM Level 2 is a W3C Recommendation for XML interfaces that maps the
+constituents of an XML document to a tree structure. Details and the
+specification of DOM Level 2 can be found at
+<a href="http://www.w3.org/DOM/">http://www.w3.org/DOM/</a>.
+More information about the DOM classes in Qt is provided in the
+<a href="#dom">Qt DOM classes</a>.
+<p> Qt provides the following XML related classes:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Class <th valign="top">Short description
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomattr.html">QDomAttr</a>
+<td valign="top">Represents one attribute of a <a href="qdomelement.html">QDomElement</a>
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomcdatasection.html">QDomCDATASection</a>
+<td valign="top">Represents an XML CDATA section
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomcharacterdata.html">QDomCharacterData</a>
+<td valign="top">Represents a generic string in the DOM
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomcomment.html">QDomComment</a>
+<td valign="top">Represents an XML comment
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomdocument.html">QDomDocument</a>
+<td valign="top">The representation of an XML document
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomdocumentfragment.html">QDomDocumentFragment</a>
+<td valign="top">Tree of QDomNodes which is usually not a complete <a href="qdomdocument.html">QDomDocument</a>
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomdocumenttype.html">QDomDocumentType</a>
+<td valign="top">The representation of the DTD in the document tree
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomelement.html">QDomElement</a>
+<td valign="top">Represents one element in the DOM tree
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomentity.html">QDomEntity</a>
+<td valign="top">Represents an XML entity
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomentityreference.html">QDomEntityReference</a>
+<td valign="top">Represents an XML entity reference
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomimplementation.html">QDomImplementation</a>
+<td valign="top">Information about the features of the DOM implementation
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomnamednodemap.html">QDomNamedNodeMap</a>
+<td valign="top">Collection of nodes that can be accessed by name
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomnode.html">QDomNode</a>
+<td valign="top">The base class for all nodes of the DOM tree
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomnodelist.html">QDomNodeList</a>
+<td valign="top">List of <a href="qdomnode.html">QDomNode</a> objects
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomnotation.html">QDomNotation</a>
+<td valign="top">Represents an XML notation
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<td valign="top">Represents an XML processing instruction
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qdomtext.html">QDomText</a>
+<td valign="top">Represents textual data in the parsed XML document
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlattributes.html">QXmlAttributes</a>
+<td valign="top">XML attributes
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlcontenthandler.html">QXmlContentHandler</a>
+<td valign="top">Interface to report logical content of XML data
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmldeclhandler.html">QXmlDeclHandler</a>
+<td valign="top">Interface to report declaration content of XML data
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmldefaulthandler.html">QXmlDefaultHandler</a>
+<td valign="top">Default implementation of all XML handler classes
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmldtdhandler.html">QXmlDTDHandler</a>
+<td valign="top">Interface to report DTD content of XML data
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlentityresolver.html">QXmlEntityResolver</a>
+<td valign="top">Interface to resolve extern entities contained in XML data
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlerrorhandler.html">QXmlErrorHandler</a>
+<td valign="top">Interface to report errors in XML data
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlinputsource.html">QXmlInputSource</a>
+<td valign="top">The input data for the <a href="qxmlreader.html">QXmlReader</a> subclasses
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>
+<td valign="top">Interface to report lexical content of XML data
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmllocator.html">QXmlLocator</a>
+<td valign="top">The XML handler classes with information about the actual parsing position
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>
+<td valign="top">Helper class for XML readers which want to include namespace support
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlparseexception.html">QXmlParseException</a>
+<td valign="top">Used to report errors with the <a href="qxmlerrorhandler.html">QXmlErrorHandler</a> interface
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlreader.html">QXmlReader</a>
+<td valign="top">Interface for XML readers (i.e. for SAX2 parsers)
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlsimplereader.html">QXmlSimpleReader</a>
+<td valign="top">Implementation of a simple XML reader (a SAX2 parser)
+</table></center>
+<p> <a name="sax2"></a>
+<h2> The Qt SAX2 classes
+</h2>
+<a name="2"></a><p> <a name="sax2Intro"></a>
+<h3> Introduction to SAX2
+</h3>
+<a name="2-1"></a><p> The SAX2 interface is an event-driven mechanism to provide the user with
+document information. An "event" in this context means something
+reported by the parser, for example, it has encountered a start tag,
+or an end tag, etc.
+<p> To make it less abstract consider the following example:
+<pre>
+&lt;quote&gt;A quotation.&lt;/quote&gt;
+</pre>
+
+<p> Whilst reading (a SAX2 parser is usually referred to as "reader")
+the above document three events would be triggered:
+<ol type=1>
+<li> A start tag occurs (<tt>&lt;quote&gt;</tt>).
+<li> Character data (i.e. text) is found, "A quotation.".
+<li> An end tag is parsed (<tt>&lt;/quote&gt;</tt>).
+</ol>
+<p> Each time such an event occurs the parser reports it; you can set up
+event handlers to respond to these events.
+<p> Whilst this is a fast and simple approach to read XML documents,
+manipulation is difficult because data is not stored, simply handled
+and discarded serially. The <a href="#dom">DOM interface</a> reads in and stores the whole document in a tree structure;
+this takes more memory, but makes it easier to manipulate the
+document's structure..
+<p> The Qt XML module provides an abstract class, <a href="qxmlreader.html">QXmlReader</a>, that
+defines the interface for potential SAX2 readers. Qt includes a reader
+implementation, <a href="qxmlsimplereader.html">QXmlSimpleReader</a>, that is easy to adapt through
+subclassing.
+<p> The reader reports parsing events through special handler classes:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Handler class <th valign="top">Description
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlcontenthandler.html">QXmlContentHandler</a>
+<td valign="top">Reports events related to the content of a document (e.g. the start tag
+or characters).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmldtdhandler.html">QXmlDTDHandler</a>
+<td valign="top">Reports events related to the DTD (e.g. notation declarations).
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlerrorhandler.html">QXmlErrorHandler</a>
+<td valign="top">Reports errors or warnings that occurred during parsing.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmlentityresolver.html">QXmlEntityResolver</a>
+<td valign="top">Reports external entities during parsing and allows users to resolve
+external entities themselves instead of leaving it to the reader.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmldeclhandler.html">QXmlDeclHandler</a>
+<td valign="top">Reports further DTD related events (e.g. attribute declarations).
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmllexicalhandler.html">QXmlLexicalHandler</a>
+<td valign="top">Reports events related to the lexical structure of the
+document (the beginning of the DTD, comments etc.).
+</table></center>
+<p> These classes are abstract classes describing the interface. The <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> class provides a "do nothing" default
+implementation for all of them. Therefore users only need to overload
+the <a href="qxmldefaulthandler.html">QXmlDefaultHandler</a> functions they are interested in.
+<p> To read input XML data a special class <a href="qxmlinputsource.html">QXmlInputSource</a> is used.
+<p> Apart from those already mentioned, the following SAX2 support classes
+provide additional useful functionality:
+<center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">Class <th valign="top">Description
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlattributes.html">QXmlAttributes</a>
+<td valign="top">Used to pass attributes in a start element event.
+<tr bgcolor="#f0f0f0"> <td valign="top"><a href="qxmllocator.html">QXmlLocator</a>
+<td valign="top">Used to obtain the actual parsing position of an event.
+<tr bgcolor="#d0d0d0"> <td valign="top"><a href="qxmlnamespacesupport.html">QXmlNamespaceSupport</a>
+<td valign="top">Used to implement <a href="xml.html#namespaces">namespace</a>
+support for a reader. Note that namespaces do not change the
+parsing behavior. They are only reported through the handler.
+</table></center>
+<p> <a name="sax2Features"></a>
+<h3> Features
+</h3>
+<a name="2-2"></a><p> The behaviour of an XML reader depends on its support for certain
+optional features. For example, a reader may have the feature "report
+attributes used for <a href="xml.html#namespaces">namespace</a>
+declarations and prefixes along with the local name of a tag". Like
+every other feature this has a unique name represented by a URI: it is
+called <em>http://xml.org/sax/features/namespace-prefixes</em>.
+<p> The Qt SAX2 implementation can report whether the reader has
+particular functionality using the <a href="qxmlreader.html#hasFeature">QXmlReader::hasFeature</a>()
+function. Available features can be tested with <a href="qxmlreader.html#feature">QXmlReader::feature</a>(),
+and switched on or off using <a href="qxmlreader.html#setFeature">QXmlReader::setFeature</a>().
+<p> Consider the example
+<pre>
+&lt;document xmlns:book = 'http://trolltech.com/fnord/book/'
+ xmlns = 'http://trolltech.com/fnord/' &gt;
+</pre>
+
+A reader that does not support the <em>http://xml.org/sax/features/namespace-prefixes</em> feature would report
+the element name <em>document</em> but not its attributes <em>xmlns:book</em> and
+<em>xmlns</em> with their values. A reader with the feature <em>http://xml.org/sax/features/namespace-prefixes</em> reports the namespace
+attributes if the <a href="qxmlreader.html#feature">feature</a> is
+switched on.
+<p> Other features include <em>http://xml.org/sax/features/namespace</em>
+(namespace processing, implies <em>http://xml.org/sax/features/namespace-prefixes</em>) and <em>http://xml.org/sax/features/validation</em> (the ability to report
+validation errors).
+<p> Whilst SAX2 leaves it to the user to define and implement whatever
+features are required, support for <em>http://xml.org/sax/features/namespace</em> (and thus <em>http://xml.org/sax/features/namespace-prefixes</em>) is mandantory.
+The <a href="qxmlsimplereader.html">QXmlSimpleReader</a> implementation of <a href="qxmlreader.html">QXmlReader</a>,
+supports them, and can do namespace processing.
+<p> <a href="qxmlsimplereader.html">QXmlSimpleReader</a> is not validating, so it
+does not support <em>http://xml.org/sax/features/validation</em>.
+<p> <a name="sax2Namespaces"></a>
+<h3> Namespace support via features
+</h3>
+<a name="2-3"></a><p> As we have seen in the <a href="#sax2Features">previous section</a>
+we can configure the behavior of the reader when it comes to namespace
+processing. This is done by setting and unsetting the
+<em>http://xml.org/sax/features/namespaces</em> and
+<em>http://xml.org/sax/features/namespace-prefixes</em> features.
+<p> They influence the reporting behavior in the following way:
+<ol type=1>
+<li> Namespace prefixes and local parts of elements and attributes can
+be reported.
+<li> The qualified names of elements and attributes are reported.
+<li> <a href="qxmlcontenthandler.html#startPrefixMapping">QXmlContentHandler::startPrefixMapping</a>() and <a href="qxmlcontenthandler.html#endPrefixMapping">QXmlContentHandler::endPrefixMapping</a>() are called by the reader.
+<li> Attributes that declare namespaces (i.e. the attribute <em>xmlns</em> and
+attributes starting with <em>xmlns:</em>) are reported.
+</ol>
+<p> Consider the following element:
+<pre>
+&lt;author xmlns:fnord = 'http://trolltech.com/fnord/'
+ title="Ms"
+ fnord:title="Goddess"
+ name="Eris Kallisti"/&gt;
+</pre>
+
+With <em>http://xml.org/sax/features/namespace-prefixes</em> set to TRUE
+the reader will report four attributes; but with the <em>namespace-prefixes</em> feature set to FALSE only three, with the <em>xmlns:fnord</em> attribute defining a namespace being "invisible" to the
+reader.
+<p> The <em>http://xml.org/sax/features/namespaces</em> feature is responsible
+for reporting local names, namespace prefixes and URIs. With <em>http://xml.org/sax/features/namespaces</em> set to TRUE the parser will
+report <em>title</em> as the local name of the <em>fnord:title</em> attribute, <em>fnord</em> being the namespace prefix and <em>http://trolltech.com/fnord/</em> as
+the namespace URI. When <em>http://xml.org/sax/features/namespaces</em> is
+FALSE none of them are reported.
+<p> In the current implementation the Qt XML classes follow the definition
+that the prefix <em>xmlns</em> itself isn't associated with any namespace at all
+(see <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using">http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using</a>).
+Therefore even with <em>http://xml.org/sax/features/namespaces</em> and
+<em>http://xml.org/sax/features/namespace-prefixes</em> both set to TRUE
+the reader won't return either a local name, a namespace prefix or
+a namespace URI for <em>xmlns:fnord</em>.
+<p> This might be changed in the future following the W3C suggestion
+<a href="http://www.w3.org/2000/xmlns/">http://www.w3.org/2000/xmlns/</a>
+to associate <em>xmlns</em> with the namespace <em>http://www.w3.org/2000/xmlns</em>.
+<p> As the SAX2 standard suggests, <a href="qxmlsimplereader.html">QXmlSimpleReader</a> defaults to having
+<em>http://xml.org/sax/features/namespaces</em> set to TRUE and
+<em>http://xml.org/sax/features/namespace-prefixes</em> set to FALSE.
+When changing this behavior using <a href="qxmlsimplereader.html#setFeature">QXmlSimpleReader::setFeature</a>()
+note that the combination of both features set to
+FALSE is illegal.
+<p> For a practical demonstration of how the two features affect the
+output of the reader run the <a href="tagreader-with-features-example.html">tagreader with features example.</a>
+<p> <a name="sax2NamespacesSummary"></a>
+<h4> Summary
+</h4>
+<a name="2-3-1"></a><p> <a href="qxmlsimplereader.html">QXmlSimpleReader</a> implements the following behavior:
+<p> <center><table cellpadding="4" cellspacing="2" border="0">
+<tr bgcolor="#a2c511"> <th valign="top">(namespaces, namespace-prefixes)
+<th valign="top">Namespace prefix and local part
+<th valign="top">Qualified names
+<th valign="top">Prefix mapping
+<th valign="top">xmlns attributes
+<tr bgcolor="#f0f0f0"> <td valign="top">(TRUE, FALSE) <td valign="top">Yes <td valign="top">Yes* <td valign="top">Yes <td valign="top">No
+<tr bgcolor="#d0d0d0"> <td valign="top">(TRUE, TRUE) <td valign="top">Yes <td valign="top">Yes <td valign="top">Yes <td valign="top">Yes
+<tr bgcolor="#f0f0f0"> <td valign="top">(FALSE, TRUE) <td valign="top">No* <td valign="top">Yes <td valign="top">No* <td valign="top">Yes
+<tr bgcolor="#d0d0d0"> <td valign="top">(FALSE, FALSE) <td valign="top" colspan="4" rowspan="1"> Illegal
+</table></center>
+<p> <sup>*</sup> The behavior of these entries is not specified by SAX.
+<p> <a name="sax2Properties"></a>
+<h3> Properties
+</h3>
+<a name="2-4"></a><p> Properties are a more general concept. They have a unique name,
+represented as an URI, but their value is <tt>void*</tt>. Thus nearly
+anything can be used as a property value. This concept involves some
+danger, though: there is no means of ensuring type-safety; the user
+must take care that they pass the right type. Properties are
+useful if a reader supports special handler classes.
+<p> The URIs used for features and properties often look like URLs, e.g.
+<a href="http://xml.org/sax/features/namespace">http://xml.org/sax/features/namespace</a>. This does not mean that the
+data required is at this address. It is simply a way of defining
+unique names.
+<p> Anyone can define and use new SAX2 properties for their readers.
+Property support is not mandatory.
+<p> To set or query properties the following functions are provided: <a href="qxmlreader.html#setProperty">QXmlReader::setProperty</a>(), <a href="qxmlreader.html#property">QXmlReader::property</a>() and <a href="qxmlreader.html#hasProperty">QXmlReader::hasProperty</a>().
+<p> <a name="sax2Reading"></a>
+<h3> Further reading
+</h3>
+<a name="2-5"></a><p> More information about XML (e.g. <a href="xml.html#namespaces">namespaces</a>)
+can be found in the <a href="xml.html">introduction to the Qt XML module.</a>
+<p> <a name="dom"></a>
+<h2> The Qt DOM classes
+</h2>
+<a name="3"></a><p> <a name="domIntro"></a>
+<h3> Introduction to DOM
+</h3>
+<a name="3-1"></a><p> DOM provides an interface to access and change the content and
+structure of an XML file. It makes a hierarchical view of the document
+(a tree view). Thus -- in contrast to the SAX2 interface -- an object
+model of the document is resident in memory after parsing which makes
+manipulation easy.
+<p> All DOM nodes in the document tree are subclasses of <a href="qdomnode.html">QDomNode</a>. The
+document itself is represented as a <a href="qdomdocument.html">QDomDocument</a> object.
+<p> Here are the available node classes and their potential child classes:
+<p> <ul>
+<li> <a href="qdomdocument.html">QDomDocument</a>: Possible children are
+<ul>
+<li> <a href="qdomelement.html">QDomElement</a> (at most one)
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<li> <a href="qdomcomment.html">QDomComment</a>
+<li> <a href="qdomdocumenttype.html">QDomDocumentType</a>
+</ul>
+<li> <a href="qdomdocumentfragment.html">QDomDocumentFragment</a>: Possible children are
+<ul>
+<li> <a href="qdomelement.html">QDomElement</a>
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<li> <a href="qdomcomment.html">QDomComment</a>
+<li> <a href="qdomtext.html">QDomText</a>
+<li> <a href="qdomcdatasection.html">QDomCDATASection</a>
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>
+</ul>
+<li> <a href="qdomdocumenttype.html">QDomDocumentType</a>: No children
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>: Possible children are
+<ul>
+<li> <a href="qdomelement.html">QDomElement</a>
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<li> <a href="qdomcomment.html">QDomComment</a>
+<li> <a href="qdomtext.html">QDomText</a>
+<li> <a href="qdomcdatasection.html">QDomCDATASection</a>
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>
+</ul>
+<li> <a href="qdomelement.html">QDomElement</a>: Possible children are
+<ul>
+<li> <a href="qdomelement.html">QDomElement</a>
+<li> <a href="qdomtext.html">QDomText</a>
+<li> <a href="qdomcomment.html">QDomComment</a>
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<li> <a href="qdomcdatasection.html">QDomCDATASection</a>
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>
+</ul>
+<li> <a href="qdomattr.html">QDomAttr</a>: Possible children are
+<ul>
+<li> <a href="qdomtext.html">QDomText</a>
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>
+</ul>
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>: No children
+<li> <a href="qdomcomment.html">QDomComment</a>: No children
+<li> <a href="qdomtext.html">QDomText</a>: No children
+<li> <a href="qdomcdatasection.html">QDomCDATASection</a>: No children
+<li> <a href="qdomentity.html">QDomEntity</a>: Possible children are
+<ul>
+<li> <a href="qdomelement.html">QDomElement</a>
+<li> <a href="qdomprocessinginstruction.html">QDomProcessingInstruction</a>
+<li> <a href="qdomcomment.html">QDomComment</a>
+<li> <a href="qdomtext.html">QDomText</a>
+<li> <a href="qdomcdatasection.html">QDomCDATASection</a>
+<li> <a href="qdomentityreference.html">QDomEntityReference</a>
+</ul>
+<li> <a href="qdomnotation.html">QDomNotation</a>: No children
+</ul>
+<p> With <a href="qdomnodelist.html">QDomNodeList</a> and <a href="qdomnamednodemap.html">QDomNamedNodeMap</a> two <a href="collection.html#collection-classes">collection classes</a>
+are provided: <a href="qdomnodelist.html">QDomNodeList</a> is a list of nodes,
+and <a href="qdomnamednodemap.html">QDomNamedNodeMap</a> is used to handle unordered sets of nodes
+(often used for attributes).
+<p> The <a href="qdomimplementation.html">QDomImplementation</a> class allows the user to query features of the
+DOM implementation.
+<p> <h3> Further reading
+</h3>
+<a name="3-2"></a><p> To get started please refer to the <a href="qdomdocument.html">QDomDocument</a> documentation.
+<p> <a name="namespaces"></a>
+<h2> An introduction to namespaces
+</h2>
+<a name="4"></a><p> Parts of the Qt XML module documentation assume that you are familiar
+with XML namespaces. Here we present a brief introduction; skip to
+<a href="#namespacesConventions">Qt XML documentation conventions</a>
+if you already know this material.
+<p> Namespaces are a concept introduced into XML to allow a more modular
+design. With their help data processing software can easily resolve
+naming conflicts in XML documents.
+<p> Consider the following example:
+<p> <pre>
+&lt;document&gt;
+&lt;book&gt;
+ &lt;title&gt;Practical XML&lt;/title&gt;
+ &lt;author title="Ms" name="Eris Kallisti"/&gt;
+ &lt;chapter&gt;
+ &lt;title&gt;A Namespace Called fnord&lt;/title&gt;
+ &lt;/chapter&gt;
+&lt;/book&gt;
+&lt;/document&gt;
+</pre>
+
+<p> Here we find three different uses of the name <em>title</em>. If you wish to
+process this document you will encounter problems because each of the
+<em>titles</em> should be displayed in a different manner -- even though
+they have the same name.
+<p> The solution would be to have some means of identifying the first
+occurrence of <em>title</em> as the title of a book, i.e. to use the <em>title</em> element of a book namespace to distinguish it from, for example,
+the chapter title, e.g.:
+<pre>
+&lt;book:title&gt;Practical XML&lt;/book:title&gt;
+</pre>
+
+<p> <em>book</em> in this case is a <em>prefix</em> denoting the namespace.
+<p> Before we can apply a namespace to element or attribute names we must
+declare it.
+<p> Namespaces are URIs like <em>http://trolltech.com/fnord/book/</em>. This
+does not mean that data must be available at this address; the URI is
+simply used to provide a unique name.
+<p> We declare namespaces in the same way as attributes; strictly speaking
+they <em>are</em> attributes. To make for example <em>http://trolltech.com/fnord/</em> the document's default XML namespace <em>xmlns</em> we write
+<p> <pre>
+xmlns="http://trolltech.com/fnord/"
+</pre>
+
+<p> To distinguish the <em>http://trolltech.com/fnord/book/</em> namespace from
+the default, we must supply it with a prefix:
+<p> <pre>
+xmlns:book="http://trolltech.com/fnord/book/"
+</pre>
+
+<p> A namespace that is declared like this can be applied to element and
+attribute names by prepending the appropriate prefix and a ":"
+delimiter. We have already seen this with the <em>book:title</em> element.
+<p> Element names without a prefix belong to the default namespace. This
+rule does not apply to attributes: an attribute without a prefix does
+not belong to any of the declared XML namespaces at all. Attributes
+always belong to the "traditional" namespace of the element in which
+they appear. A "traditional" namespace is not an XML namespace, it
+simply means that all attribute names belonging to one element must be
+different. Later we will see how to assign an XML namespace to an
+attribute.
+<p> Due to the fact that attributes without prefixes are not in any XML
+namespace there is no collision between the attribute <em>title</em> (that
+belongs to the <em>author</em> element) and for example the <em>title</em> element
+within a <em>chapter</em>.
+<p> Let's clarify this with an example:
+<pre>
+&lt;document xmlns:book = 'http://trolltech.com/fnord/book/'
+ xmlns = 'http://trolltech.com/fnord/' &gt;
+&lt;book&gt;
+ &lt;book:title&gt;Practical XML&lt;/book:title&gt;
+ &lt;book:author xmlns:fnord = 'http://trolltech.com/fnord/'
+ title="Ms"
+ fnord:title="Goddess"
+ name="Eris Kallisti"/&gt;
+ &lt;chapter&gt;
+ &lt;title&gt;A Namespace Called fnord&lt;/title&gt;
+ &lt;/chapter&gt;
+&lt;/book&gt;
+&lt;/document&gt;
+</pre>
+
+<p> Within the <em>document</em> element we have two namespaces declared. The
+default namespace <em>http://trolltech.com/fnord/</em> applies to the <em>book</em> element, the <em>chapter</em> element, the appropriate <em>title</em> element
+and of course to <em>document</em> itself.
+<p> The <em>book:author</em> and <em>book:title</em> elements belong to the namespace
+with the URI <em>http://trolltech.com/fnord/book/</em>.
+<p> The two <em>book:author</em> attributes <em>title</em> and <em>name</em> have no XML
+namespace assigned. They are only members of the "traditional"
+namespace of the element <em>book:author</em>, meaning that for example two
+<em>title</em> attributes in <em>book:author</em> are forbidden.
+<p> In the above example we circumvent the last rule by adding a <em>title</em>
+attribute from the <em>http://trolltech.com/fnord/</em> namespace to <em>book:author</em>: the <em>fnord:title</em> comes from the namespace with the
+prefix <em>fnord</em> that is declared in the <em>book:author</em> element.
+<p> Clearly the <em>fnord</em> namespace has the same namespace URI as the
+default namespace. So why didn't we simply use the default namespace
+we'd already declared? The answer is quite complex:
+<ul>
+<li> attributes without a prefix don't belong to any XML namespace at
+all, not even to the default namespace;
+<li> additionally omitting the prefix would lead to a <em>title-title</em> clash;
+<li> writing it as <em>xmlns:title</em> would declare a new namespace with the
+prefix <em>title</em> instead of applying the default <em>xmlns</em> namespace.
+</ul>
+<p> With the Qt XML classes elements and attributes can be accessed in two
+ways: either by refering to their qualified names consisting of the
+namespace prefix and the "real" name (or <em>local</em> name) or by the
+combination of local name and namespace URI.
+<p> More information on XML namespaces can be found at
+<a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a>.
+<p> <a name="namespacesConventions"></a>
+<h3> Conventions used in Qt XML documentation
+</h3>
+<a name="4-1"></a><p> The following terms are used to distinguish the parts of names within
+the context of namespaces:
+<ul>
+<li> The <em>qualified name</em>
+is the name as it appears in the document. (In the above example <em>book:title</em> is a qualified name.)
+<li> A <em>namespace prefix</em> in a qualified name
+is the part to the left of the ":". (<em>book</em> is the namespace prefix in
+<em>book:title</em>.)
+<li> The <em>local part</em> of a name (also refered to as the <em>local name</em>) appears to the right of the ":". (Thus <em>title</em> is the
+local part of <em>book:title</em>.)
+<li> The <em>namespace URI</em> ("Uniform Resource Identifier") is a unique
+identifier for a namespace. It looks like a URL
+(e.g. <em>http://trolltech.com/fnord/</em> ) but does not require
+data to be accessible by the given protocol at the named address.
+</ul>
+<p> Elements without a ":" (like <em>chapter</em> in the example) do not have a
+namespace prefix. In this case the local part and the qualified name
+are identical (i.e. <em>chapter</em>).
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/html/y2k.html b/doc/html/y2k.html
new file mode 100644
index 0000000..706e485
--- /dev/null
+++ b/doc/html/y2k.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/y2k.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Year 2000 Compliance Statement</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Year 2000 Compliance Statement</h1>
+
+
+<p> Trolltech defines <i>Year 2000 Compliance</i> as a requirement that a
+product or part of product does not contain errors related to
+transition from December 31, 1999 to January 1, 2000, or to the
+existence of February 29, 2000.
+<p> This document certifies that the API provided by Qt and the
+implementation of Qt are both Year 2000 Compliant, and that the use of
+underlying APIs by Qt does not have any known problems.
+<p> <h2> The API Provided by Qt
+</h2>
+<a name="1"></a><p> Several parts of Qt deal with dates and times:
+<ul>
+<li> <a href="qdate.html">QDate</a> - provides date management
+<li> <a href="qdatetime.html">QDateTime</a> - provides date/time management
+<li> <a href="qtime.html">QTime</a> - provides time management (within a date)
+<li> <a href="qtimer.html">QTimer</a> - provides delayed or regular execution of code.
+</ul>
+<p> All of these classes' external APIs are Year 2000 Compliant: <a href="qdate.html">QDate</a> and
+<a href="qdatetime.html">QDateTime</a> offer only four-digit years as output, <a href="qtime.html">QTime</a> and <a href="qtimer.html">QTimer</a> do
+not deal with years or leap days at all.
+<p> <h2> Implementation Issues in Qt
+</h2>
+<a name="2"></a><p> All date/time calculation and storage in Qt uses number of days,
+seconds or milliseconds, and is thus Year 2000 Compliant.
+<p> This applies to the above four classes and also to <a href="qfiledialog.html">QFileDialog</a>
+(which can sort files by time/date), <a href="qfileinfo.html">QFileInfo</a> (which operates on
+file times/dates) and <a href="qapplication.html">QApplication</a> (which does various internal
+housekeeping tasks).
+<p> The conversion to <tt>year/month/date</tt> format in QDate (and
+QDateTime) has been verified to be correct for all of December 31,
+1999, January 1, 2000, February 28 and 29, 2000, March 1, 2000,
+January 1, 2001 and March 1, 2001.
+<p> Qt has been verified to be robust in case of time/date errors (such as
+time warps) in the underlying operating system.
+<p> <h2> Use of System APIs
+</h2>
+<a name="3"></a><p> It is of course impossible for Trolltech to ensure that both of the
+window systems and all of the operating systems on which Qt runs are
+Year 2000 Compliant. However, Qt does not use any APIs that are known
+to have any Year 2000-related bugs, or seem at risk to have any.
+
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>Qt 3.3.8</div>
+</table></div></address></body>
+</html>
diff --git a/doc/i18n.doc b/doc/i18n.doc
new file mode 100644
index 0000000..02bb195
--- /dev/null
+++ b/doc/i18n.doc
@@ -0,0 +1,593 @@
+/****************************************************************************
+**
+** Explanation of moc and the meta object system
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \defgroup i18n
+
+\title Internationalization with Qt
+
+\keyword internationalization
+\keyword i18n
+
+The internationalization of an application is the process of making
+the application usable by people in countries other than one's own.
+
+\tableofcontents
+
+In some cases internationalization is simple, for example, making a US
+application accessible to Australian or British users may require
+little more than a few spelling corrections. But to make a US
+application usable by Japanese users, or a Korean application usable
+by German users, will require that the software operate not only in
+different languages, but use different input techniques, character
+encodings and presentation conventions.
+
+Qt tries to make internationalization as painless as possible for
+developers. All input widgets and text drawing methods in Qt offer
+built-in support for all supported languages. The built-in font engine
+is capable of correctly and attractively rendering text that contains
+characters from a variety of different writing systems at the same
+time.
+
+Qt supports most languages in use today, in particular:
+\list
+\i All East Asian languages (Chinese, Japanese and Korean)
+\i All Western languages (using Latin script)
+\i Arabic
+\i Cyrillic languages (Russian)
+\i Greek
+\i Hebrew
+\i Thai and Lao
+\i All scripts in Unicode 3.2 that do not require special processing
+\endlist
+
+On Windows NT/2000/XP and Unix/X11 with Xft (client side font support)
+the following languages are also supported:
+\list
+\i Bengali
+\i Devanagari
+\i Dhivehi (Thaana)
+\i Gujarati
+\i Gurmukhi
+\i Kannada
+\i Khmer
+\i Malayalam (X11 only)
+\i Myanmar (X11 only)
+\i Syriac
+\i Tamil
+\i Telugu
+\i Tibetan (X11 only)
+\endlist
+
+Many of these writing systems exhibit special features:
+
+\list
+
+\i <b>Special line breaking behavior.</b> Some of the Asian languages are
+written without spaces between words. Line breaking can occur either
+after every character (with exceptions) as in Chinese, Japanese and
+Korean, or after logical word boundaries as in Thai.
+
+\i <b>Bidirectional writing.</b> Arabic and Hebrew are written from right to
+left, except for numbers and embedded English text which is written
+left to right. The exact behavior is defined in the \link
+http://www.unicode.org/unicode/reports/tr9/ Unicode Technical Report
+#9 \endlink.
+
+\i <b>Non spacing or diacritical marks</b> (accents or umlauts in European
+languages). Some languages such as Vietnamese make extensive use of
+these marks and some characters can have more than one mark at the
+same time to clarify pronunciation.
+
+\i <b>Ligatures.</b> In special contexts, some pairs of characters get
+replaced by a combined glyph forming a ligature. Common examples are
+the fl and fi ligatures used in typesetting US and European books.
+
+\endlist
+
+Qt tries to take care of all the special features listed above. You
+usually don't have to worry about these features so long as you use
+Qt's input widgets (e.g. QLineEdit, QTextEdit, and derived classes)
+and Qt's display widgets (e.g. QLabel).
+
+Support for these writing systems is transparent to the programmer
+and completely encapsulated in Qt's text engine. This means that you
+don't need to have any knowledge about the writing system used in a
+particular language, except for the following small points:
+\list
+
+\i QPainter::drawText( int x, int y, const QString &str ) will always
+draw the string with it's left edge at the position specified with
+the x, y parameters. This will usually give you left aligned strings.
+Arabic and Hebrew application strings are usually right
+aligned, so for these languages use the version of drawText() that
+takes a QRect since this will align in accordance with the language.
+
+\i When you write your own text input controls, use \l
+QFontMetrics::charWidth() to determine the width of a character in a
+string. In some languages (e.g. Arabic or languages from the Indian
+subcontinent), the width and shape of a glyph changes depending on the
+surrounding characters. Writing input controls usually requires a
+certain knowledge of the scripts it is going to be used in. Usually
+the easiest way is to subclass QLineEdit or QTextEdit.
+
+\endlist
+
+The following sections give some information on the status
+of the internationalization (i18n) support in Qt.
+
+See also the \link linguist-manual.book Qt Linguist\endlink manual.
+
+\section1 Step by Step
+
+Writing multi-platform international software with Qt is a gentle,
+incremental process. Your software can become internationalized in
+the following stages:
+
+\section2 Use QString for all User-visible Text
+
+Since QString uses the Unicode encoding internally, every
+language in the world can be processed transparently using
+familiar text processing operations. Also, since all Qt
+functions that present text to the user take a QString as a
+parameter, there is no char* to QString conversion overhead.
+
+Strings that are in "programmer space" (such as QObject names
+and file format texts) need not use QString; the traditional
+char* or the QCString class will suffice.
+
+You're unlikely to notice that you are using Unicode;
+QString, and QChar are just like easier versions of the crude
+const char* and char from traditional C.
+
+\section2 Use tr() for all Literal Text
+
+Wherever your program uses \c{"quoted text"} for text that will
+be presented to the user, ensure that it is processed by the \l
+QApplication::translate() function. Essentially all that is necessary
+to achieve this is to use \l QObject::tr(). For example, assuming the
+\c LoginWidget is a subclass of QWidget:
+
+\code
+ LoginWidget::LoginWidget()
+ {
+ QLabel *label = new QLabel( tr("Password:"), this );
+ ...
+ }
+\endcode
+
+This accounts for 99% of the user-visible strings you're likely to
+write.
+
+If the quoted text is not in a member function of a
+QObject subclass, use either the tr() function of an
+appropriate class, or the QApplication::translate() function
+directly:
+
+\code
+ void some_global_function( LoginWidget *logwid )
+ {
+ QLabel *label = new QLabel(
+ LoginWidget::tr("Password:"), logwid );
+ }
+
+ void same_global_function( LoginWidget *logwid )
+ {
+ QLabel *label = new QLabel(
+ qApp->translate("LoginWidget", "Password:"),
+ logwid );
+ }
+\endcode
+
+If you need to have translatable text completely
+outside a function, there are two macros to help: QT_TR_NOOP()
+and QT_TRANSLATE_NOOP(). They merely mark the text for
+extraction by the \e lupdate utility described below.
+The macros expand to just the text (without the context).
+
+Example of QT_TR_NOOP():
+\code
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ static const char* greeting_strings[] = {
+ QT_TR_NOOP( "Hello" ),
+ QT_TR_NOOP( "Goodbye" )
+ };
+ return tr( greeting_strings[greet_type] );
+ }
+\endcode
+
+Example of QT_TRANSLATE_NOOP():
+\code
+ static const char* greeting_strings[] = {
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Hello" ),
+ QT_TRANSLATE_NOOP( "FriendlyConversation", "Goodbye" )
+ };
+
+ QString FriendlyConversation::greeting( int greet_type )
+ {
+ return tr( greeting_strings[greet_type] );
+ }
+
+ QString global_greeting( int greet_type )
+ {
+ return qApp->translate( "FriendlyConversation",
+ greeting_strings[greet_type] );
+ }
+\endcode
+
+If you disable the const char* to QString automatic conversion
+by compiling your software with the macro QT_NO_CAST_ASCII
+defined, you'll be very likely to catch any strings you are
+missing. See QString::fromLatin1() for more information.
+Disabling the conversion can make programming a bit cumbersome.
+
+If your source language uses characters outside Latin-1, you
+might find QObject::trUtf8() more convenient than
+QObject::tr(), as tr() depends on the
+QApplication::defaultCodec(), which makes it more fragile than
+QObject::trUtf8().
+
+\section2 Use QKeySequence() for Accelerator Values
+
+Accelerator values such as Ctrl+Q or Alt+F need to be
+translated too. If you hardcode \c CTRL+Key_Q for "Quit" in
+your application, translators won't be able to override
+it. The correct idiom is
+
+\code
+ QPopupMenu *file = new QPopupMenu( this );
+ file->insertItem( tr("&Quit"), this, SLOT(quit()),
+ QKeySequence(tr("Ctrl+Q", "File|Quit")) );
+\endcode
+
+\section2 Use QString::arg() for Dynamic Text
+
+The QString::arg() functions offer a simple means for substituting
+arguments:
+\code
+ void FileCopier::showProgress( int done, int total,
+ const QString& current_file )
+ {
+ label.setText( tr("%1 of %2 files copied.\nCopying: %3")
+ .arg(done)
+ .arg(total)
+ .arg(current_file) );
+ }
+\endcode
+
+In some languages the order of arguments may need to change, and this
+can easily be achieved by changing the order of the % arguments. For
+example:
+\code
+ QString s1 = "%1 of %2 files copied. Copying: %3";
+ QString s2 = "Kopierer nu %3. Av totalt %2 filer er %1 kopiert.";
+
+ qDebug( s1.arg(5).arg(10).arg("somefile.txt").ascii() );
+ qDebug( s2.arg(5).arg(10).arg("somefile.txt").ascii() );
+\endcode
+
+produces the correct output in English and Norwegian:
+\code
+5 of 10 files copied. Copying: somefile.txt
+Kopierer nu somefile.txt. Av totalt 10 filer er 5 kopiert.
+\endcode
+
+\section2 Produce Translations
+
+Once you are using tr() throughout an application, you can start
+producing translations of the user-visible text in your program.
+
+\link linguist-manual.book Qt Linguist\endlink's manual provides
+further information about Qt's translation tools, \e{Qt Linguist}, \e
+lupdate and \e lrelease.
+
+Translation of a Qt application is a three-step process:
+
+\list 1
+
+\i Run \e lupdate to extract translatable text from the C++ source
+code of the Qt application, resulting in a message file for
+translators (a \c .ts file). The utility recognizes the tr() construct
+and the QT_*_NOOP macros described above and produces \c .ts files
+(usually one per language).
+
+\i Provide translations for the source texts in the \c .ts file, using
+\e{Qt Linguist}. Since \c .ts files are in XML format, you can also
+edit them by hand.
+
+\i Run \e lrelease to obtain a light-weight message file (a \c .qm
+file) from the \c .ts file, suitable only for end use. Think of the \c
+.ts files as "source files", and \c .qm files as "object files". The
+translator edits the \c .ts files, but the users of your application
+only need the \c .qm files. Both kinds of files are platform and
+locale independent.
+
+\endlist
+
+Typically, you will repeat these steps for every release of your
+application. The \e lupdate utility does its best to reuse the
+translations from previous releases.
+
+Before you run \e lupdate, you should prepare a project file. Here's
+an example project file (\c .pro file):
+
+\code
+ HEADERS = funnydialog.h \
+ wackywidget.h
+ SOURCES = funnydialog.cpp \
+ main.cpp \
+ wackywidget.cpp
+ FORMS = fancybox.ui
+ TRANSLATIONS = superapp_dk.ts \
+ superapp_fi.ts \
+ superapp_no.ts \
+ superapp_se.ts
+\endcode
+
+When you run \e lupdate or \e lrelease, you must give the name of the
+project file as a command-line argument.
+
+In this example, four exotic languages are supported: Danish, Finnish,
+Norwegian and Swedish. If you use \link qmake-manual.book
+qmake\endlink, you usually don't need an extra project
+file for \e lupdate; your \c qmake project file will work fine once
+you add the \c TRANSLATIONS entry.
+
+In your application, you must \l QTranslator::load() the translation
+files appropriate for the user's language, and install them using \l
+QApplication::installTranslator().
+
+If you have been using the old Qt tools (\c findtr, \c msg2qm and \c
+mergetr), you can use \e qm2ts to convert your old \c .qm files.
+
+\e linguist, \e lupdate and \e lrelease are installed in the \c bin
+subdirectory of the base directory Qt is installed into. Click Help|Manual
+in \e{Qt Linguist} to access the user's manual; it contains a tutorial
+to get you started.
+
+While these utilities offer a convenient way to create \c .qm files,
+any system that writes \c .qm files is sufficient. You could make an
+application that adds translations to a QTranslator with
+QTranslator::insert() and then writes a \c .qm file with
+QTranslator::save(). This way the translations can come from any
+source you choose.
+
+\target qt-itself
+Qt itself contains over 400 strings that will also need to be
+translated into the languages that you are targeting. You will find
+translation files for French and German in \c $QTDIR/translations as
+well as a template for translating to other languages. (This directory
+also contains some additional unsupported translations which may be
+useful.)
+
+Typically, your application's main() function will look like this:
+\code
+ int main( int argc, char **argv )
+ {
+ QApplication app( argc, argv );
+
+ // translation file for Qt
+ QTranslator qt( 0 );
+ qt.load( QString( "qt_" ) + QTextCodec::locale(), "." );
+ app.installTranslator( &qt );
+
+ // translation file for application strings
+ QTranslator myapp( 0 );
+ myapp.load( QString( "myapp_" ) + QTextCodec::locale(), "." );
+ app.installTranslator( &myapp );
+
+ ...
+
+ return app.exec();
+ }
+\endcode
+
+\section2 Support for Encodings
+
+The QTextCodec class and the facilities in QTextStream make it easy to
+support many input and output encodings for your users' data. When an
+application starts, the locale of the machine will determine the 8-bit
+encoding used when dealing with 8-bit data: such as for font
+selection, text display, 8-bit text I/O and character input.
+
+The application may occasionally require encodings other than the
+default local 8-bit encoding. For example, an application in a
+Cyrillic KOI8-R locale (the de-facto standard locale in Russia) might
+need to output Cyrillic in the ISO 8859-5 encoding. Code for this
+would be:
+
+\code
+ QString string = ...; // some Unicode text
+
+ QTextCodec* codec = QTextCodec::codecForName( "ISO 8859-5" );
+ QCString encoded_string = codec->fromUnicode( string );
+
+ ...; // use encoded_string in 8-bit operations
+\endcode
+
+For converting Unicode to local 8-bit encodings, a shortcut is
+available: the \link QString::local8Bit() local8Bit\endlink() method
+of QString returns such 8-bit data. Another useful shortcut is the
+\link QString::utf8() utf8\endlink() method, which returns text in the
+8-bit UTF-8 encoding: this perfectly preserves Unicode information
+while looking like plain US-ASCII if the text is wholly US-ASCII.
+
+For converting the other way, there are the QString::fromUtf8() and
+QString::fromLocal8Bit() convenience functions, or the general code,
+demonstrated by this conversion from ISO 8859-5 Cyrillic to Unicode
+conversion:
+
+\code
+ QCString encoded_string = ...; // Some ISO 8859-5 encoded text.
+
+ QTextCodec* codec = QTextCodec::codecForName("ISO 8859-5");
+ QString string = codec->toUnicode(encoded_string);
+
+ ...; // Use string in all of Qt's QString operations.
+\endcode
+
+Ideally Unicode I/O should be used as this maximizes the portability
+of documents between users around the world, but in reality it is
+useful to support all the appropriate encodings that your users will
+need to process existing documents. In general, Unicode (UTF-16 or
+UTF-8) is best for information transferred between arbitrary people,
+while within a language or national group, a local standard is often
+more appropriate. The most important encoding to support is the one
+returned by QTextCodec::codecForLocale(), as this is the one the user
+is most likely to need for communicating with other people and
+applications (this is the codec used by local8Bit()).
+
+Qt supports most of the more frequently used encodings natively. For a
+complete list of supported encodings see the \l QTextCodec
+documentation.
+
+In some cases and for less frequently used encodings it may be
+necessary to write your own QTextCodec subclass. Depending on the
+urgency, it may be useful to contact Trolltech technical support or
+ask on the \c qt-interest mailing list to see if someone else is
+already working on supporting the encoding. A useful interim measure
+can be to use the QTextCodec::loadCharmapFile() function to build a
+data-driven codec, although this approach has a memory and speed
+penalty, especially with dynamically loaded libraries. For details of
+writing your own QTextCodec, see the main QTextCodec class
+documentation.
+
+\keyword localization
+
+\section2 Localize
+
+Localization is the process of adapting to local conventions, for
+example presenting dates and times using the locally preferred
+formats. Such localizations can be accomplished using appropriate tr()
+strings.
+
+\code
+ void Clock::setTime(const QTime& t)
+ {
+ if ( tr("AMPM") == "AMPM" ) {
+ // 12-hour clock
+ } else {
+ // 24-hour clock
+ }
+ }
+\endcode
+
+In the example, for the US we would leave the translation of "AMPM" as
+it is and thereby use the 12-hour clock branch; but in Europe we would
+translate it as something else (anything else, e.g. "EU") and this
+will make the code use the 24-hour clock branch.
+
+Localizing images is not recommended. Choose clear icons that are
+appropriate for all localities, rather than relying on local puns or
+stretched metaphors.
+
+\section1 Dynamic Translation
+
+Some applications, such as Qt Linguist, must be able to support changes
+to the user's language settings while they are still running. To make
+widgets aware of changes to the system language, implement a public
+slot called \c languageChange() in each widget that needs to be notified.
+In this slot, you should update the text displayed by widgets using the
+\l{QObject::tr()}{tr()} function in the usual way; for example:
+
+\code
+void MyWidget::languageChange()
+{
+ titleLabel->setText(tr("Document Title"));
+ ...
+ okPushButton->setText(tr("&OK"));
+}
+\endcode
+
+The default event handler for QWidget subclasses responds to the
+\link QEvent::Type LanguageChange\endlink event, and will call this slot
+when necessary; other application components can also connect signals
+to this slot to force widgets to update themselves.
+
+\section1 System Support
+
+Some of the operating systems and windowing systems that Qt runs on
+only have limited support for Unicode. The level of support available
+in the underlying system has some influence on the support that Qt can
+provide on those platforms, although in general Qt applications need
+not be too concerned with platform-specific limitations.
+
+\section2 Unix/X11
+
+\list
+\i Locale-oriented fonts and input methods. Qt hides these and
+ provides Unicode input and output.
+\i Filesystem conventions such as
+ \link http://www.ietf.org/rfc/rfc2279.txt UTF-8 \endlink
+ are under development
+ in some Unix variants. All Qt file functions allow Unicode,
+ but convert filenames to the local 8-bit encoding, as
+ this is the Unix convention
+ (see QFile::setEncodingFunction()
+ to explore alternative encodings).
+\i File I/O defaults to the local 8-bit encoding,
+ with Unicode options in QTextStream.
+\endlist
+
+\section2 Windows
+
+\list
+\i Qt provides full Unicode support, including input methods, fonts,
+ clipboard, drag-and-drop and file names.
+\i File I/O defaults to Latin-1, with Unicode options in QTextStream.
+ Note that some Windows programs do not understand big-endian
+ Unicode text files even though that is the order prescribed by
+ the Unicode Standard in the absence of higher-level protocols.
+\i Unlike programs written with MFC or plain winlib, Qt programs
+ are portable between Windows 95/98 and Windows NT.
+ \e {You do not need different binaries to support Unicode.}
+\endlist
+
+\section1 Note about Locales on X11
+
+Many Unix distributions contain only partial support for some locales.
+For example, if you have a \c /usr/share/locale/ja_JP.EUC directory,
+this does not necessarily mean you can display Japanese text; you also
+need JIS encoded fonts (or Unicode fonts), and the \c
+/usr/share/locale/ja_JP.EUC directory needs to be complete. For best
+results, use complete locales from your system vendor.
+
+\section1 Relevant Qt Classes
+
+These classes are relevant to internationalizing Qt applications.
+*/
diff --git a/doc/indices.doc b/doc/indices.doc
new file mode 100644
index 0000000..bda7f0b
--- /dev/null
+++ b/doc/indices.doc
@@ -0,0 +1,807 @@
+/****************************************************************************
+**
+** Miscellaneous index pages
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+
+\page index.html
+\if defined(commercial)
+\title Qt Reference Documentation (Commercial Edition)
+\endif
+\if defined(noncommercial)
+\title Qt Reference Documentation (Non-Commercial Edition)
+\endif
+\if !defined(commercial) && !defined(noncommercial)
+\title Qt Reference Documentation (Open Source Edition)
+\endif
+<table cellpadding=2 cellspacing=1 border=0 width="100%" bgcolor="#e5e5e5">
+\if !defined(commercial) && !defined(noncommercial)
+<tr bgcolor="white"><td colspan=3 align="center"><b>Notice</b>: This edition is
+for the development of \link opensourceedition.html Free and Open
+Source\endlink software only; see \link commercialeditions.html
+Commercial Editions\endlink.</td></tr>
+\endif
+\if defined(noncommercial)
+<tr bgcolor="white"><td colspan=3 align="center"><b>Notice</b>: This
+edition is for the development of non-commercial software in
+accordance with the license you agreed to when you installed the
+software from the CD; see also \link
+commercialeditions.html Commercial Editions\endlink.</td></tr>
+\endif
+<tr>
+<th bgcolor="#a2c511" width="33%">
+Qt Community
+</th>
+<th bgcolor="#a2c511" width="33%">
+Getting Started
+</th>
+<th bgcolor="#a2c511" width="33%">
+General
+</th>
+</tr>
+<tr>
+<td valign="top">
+\list
+\i \link http://lists.trolltech.com Mailing lists\endlink
+\i \link http://doc.trolltech.com/qq/index.html <i>Qt Quarterly</i> newsletter\endlink
+\i \link http://www.trolltech.com/products/solutions/index.html Qt
+Solutions\endlink
+\i \link http://www.trolltech.com/freesoftware/index.html User contributed Qt additions\endlink
+\i \link bughowto.html How to report a bug\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link how-to-learn-qt.html How to Learn Qt\endlink
+\i \link http://www.trolltech.com/products/qt/readyforqt4.html Getting Ready for Qt 4\endlink
+\i \link tutorial.html Tutorial #1\endlink,
+\link tutorial2.html Tutorial #2\endlink
+\i \link examples.html Examples\endlink
+\i \link http://www.trolltech.com/products/qt/whitepaper.html Whitepaper\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link aboutqt.html About Qt\endlink
+\i \link commercialeditions.html Commercial Editions\endlink
+\i \link opensourceedition.html Open Source Edition\endlink
+\i \link troll.html About Trolltech\endlink
+\endlist
+</td>
+</tr>
+<tr>
+<th bgcolor="#a2c511">
+API Reference
+</th>
+<th bgcolor="#a2c511">
+Modules
+<th bgcolor="#a2c511">
+Overviews
+</tr>
+<tr>
+<td valign="top">
+\list
+\i \link classes.html All Classes\endlink
+\i \link mainclasses.html Main Classes\endlink
+\i \link groups.html Grouped Classes\endlink
+\i \link annotated.html Annotated Classes\endlink
+\i \link hierarchy.html Inheritance Hierarchy\endlink
+\i \link classchart.html Class Chart (clickable image)\endlink
+\i \link functions.html All Functions (long)\endlink
+\i \link headers.html Header File Index\endlink
+\i \link faq.html FAQs\endlink
+\i \link http://www.trolltech.com/developer/changes/ Change History\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link modules.html All Modules\endlink
+\i \link canvas.html Canvas\endlink
+\i \link iconview.html Iconview\endlink
+\i \link network.html Network\endlink
+\i \link opengl.html OpenGL\endlink
+\i \link sql.html SQL\endlink
+\i \link table.html Table\endlink
+\i \link workspace.html Workspace\endlink
+\i \link xml.html XML\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link overviews-list.html All Overviews and HOWTOs\endlink
+\i \link object.html Qt Object Model\endlink
+\i \link signalsandslots.html Signals and Slots\endlink
+\i \link geometry.html Window Geometry\endlink
+\i \link eventsandfilters.html Events and Event Filters\endlink
+\i \link i18n.html Internationalization (i18n)\endlink
+\i \link debug.html Debugging Techniques\endlink
+\i \link threads.html Thread Support in Qt\endlink
+\i \link plugins-howto.html Qt Plugins\endlink
+\i \link accelerators.html Standard Accelerators\endlink
+\endlist
+</tr>
+<tr>
+<th bgcolor="#a2c511">
+Porting &amp; Platforms
+</th>
+<th bgcolor="#a2c511">
+Tools
+</th>
+<th bgcolor="#a2c511">
+Licenses &amp; Credits
+</th>
+</tr>
+<tr>
+<td valign="top">
+\list
+\i \link winsystem.html Window system specific notes\endlink
+\i \link activeqt.html ActiveQt Framework\endlink
+\i \link motif-extension.html Motif Extension\endlink
+\i \link mac-differences.html Mac OS X development\endlink
+\i \link porting.html Porting from Qt 2.x to Qt 3.x\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link tools-list.html All Tools\endlink
+\i \link designer-manual.book Qt Designer\endlink
+\i \link linguist-manual.book Qt Linguist\endlink
+\i \link assistant.book Qt Assistant\endlink
+\i \link qmake-manual.book qmake\endlink
+\endlist
+</td>
+<td valign="top">
+\list
+\i \link license.html Q Public License\endlink
+\i \link gpl.html GNU General Public License\endlink
+\i \link 3rdparty.html Third Party Licenses used in Qt\endlink
+\i \link licenses.html Other Licenses used in Qt\endlink
+\i \link credits.html Credits\endlink
+\endlist
+</td>
+</tr>
+</table>
+*/
+
+/*! \page groups.html
+
+\title Grouped Classes
+
+This page provides a way of navigating Qt's classes by grouping
+related classes together. Some classes may appear in more than one group.
+
+\table
+\header
+\i Group
+\i Description
+
+\row
+\i \link abstractwidgets.html Abstract Widgets \endlink
+\i Abstract widget classes usable through subclassing.
+
+\row
+\i \link advanced.html Advanced Widgets \endlink
+\i Advanced GUI widgets such as listviews and progress bars.
+
+\row
+\i \link basic.html Basic Widgets \endlink
+\i Basic GUI widgets such as buttons, comboboxes and scrollbars.
+
+\omit
+\row
+\i \link componentmodel.html Component Model \endlink
+\i Interfaces and helper classes for the Qt Component Model.
+\endomit
+
+\row
+\i \link database.html Database\endlink
+\i Database related classes, e.g. for SQL databases.
+
+\row
+\i \link time.html Date and Time \endlink
+\i Classes for handling date and time.
+
+\row
+\i \link draganddrop.html Drag and Drop \endlink
+\i Classes dealing with drag and drop and mime type
+ encoding and decoding.
+
+\row
+\i \link environment.html Environment \endlink
+\i Classes providing various global services such as
+ event handling, access to system settings and internationalization.
+
+\row
+\i \link events.html Events\endlink
+\i Classes used to create and handle events.
+
+\row
+\i \link tools.html Utility Classes \endlink
+\i Collection classes such as list, queue, stack and string, along
+with other classes that can be used without needing QApplication.
+
+\row
+\i \link graphics.html Graphics and Printing \endlink
+\i Classes providing drawing (and printing) primitives, including
+OpenGL. (See also \link images.html Image Processing\endlink and \link
+multimedia.html Multimedia\endlink)
+
+\row
+\i \link helpsystem.html Help System \endlink
+\i Classes used to provide online-help for applications.
+
+\row
+\i \link images.html Image Processing \endlink
+\i Digital image encoding, decoding and manipulation.
+(See also \link graphics.html Graphics and Printing\endlink and \link
+multimedia.html Multimedia\endlink)
+
+\row
+\i \link geomanagement.html Layout Management \endlink
+\i Classes handling automatic resizing and moving of widgets, for
+ composing complex dialogs.
+
+\row
+\i \link shared.html Implicitly and Explicitly Shared
+Classes\endlink
+\i Classes that use reference counting for fast copying.
+
+\row
+\i \link io.html Input/Output and Networking \endlink
+\i Classes providing file input and output along with directory and
+network handling.
+
+\row
+\i \link application.html MainWindow and Related Classes \endlink
+\i Everything you need for a typical modern main application window,
+including menus, toolbars, workspace, etc.
+
+\row
+\i \link misc.html Miscellaneous \endlink
+\i Various other useful classes
+
+\row
+\i \link multimedia.html Multimedia\endlink
+\i Classes that provide support for graphics, sound, animation, etc.
+(See also \link graphics.html Graphics and Printing\endlink and \link
+images.html Image Processing\endlink)
+
+\row
+\i \link objectmodel.html Object Model \endlink
+\i The Qt GUI toolkit's underlying object model.
+
+\row
+\i \link organizers.html Organizers \endlink
+\i User interface organizers such as splitters, tab bars, button groups, etc.
+
+\row
+\i \link plugins.html Plugin Classes\endlink
+\i Plugin related classes.
+
+\row
+\i \link dialogs.html Standard Dialogs \endlink
+\i Ready-made dialogs for file, font, color selection and more.
+
+\row
+\i \link qtl.html Template Library\endlink
+\i Qt's template library container classes.
+
+\row
+\i \link text.html Text Related Classes\endlink
+\i Classes for text
+processing. (See also \link xml-tools.html XML Classes\endlink.)
+
+\row
+\i \link thread.html Threading Classes\endlink
+\i Classes that provide threading support.
+
+\row
+\i \link appearance.html Widget Appearance \endlink
+\i Appearance customization with styles, fonts, colors etc.
+
+\row
+\i \link xml-tools.html XML Classes\endlink
+\i Classes that support XML, via, for example DOM and SAX.
+
+\endtable
+
+*/
+
+/*! \defgroup examples
+
+\title Examples
+
+Qt ships with lots of small and some medium-sized example programs
+that teach you how to implement various tasks with Qt. Most of them will show how to
+use a certain class or module, others aim at programming techniques
+and Qt basics, and some of them simply want to show you what's possible.
+
+Note that most of the examples assume that you have some experience with C++
+and Qt and therefore are not commented extensively. If you are interested
+in a line-by-line coverage please refer to the tutorials
+\link tutorial.html Tutorial #1\endlink, and
+\link tutorial2.html Tutorial #2\endlink, and also the
+\link step-by-step-examples.html step-by-step examples \endlink.
+
+\section1 Qt Base Classes: Assorted Examples
+
+\list
+\i \link qaction-examples.html QAction and QActionGroup \endlink
+\i \link qfont-examples.html QFont, QFontMetrics, QFontInfo and QFontDatabase \endlink
+\i \link qprocess-examples.html QProcess \endlink
+\endlist
+
+\section1 Qt Modules: Assorted Examples
+
+\list
+\i \link xml-examples.html XML examples \endlink
+\i \link network-examples.html Network examples \endlink
+\i \link opengl-examples.html OpenGL examples \endlink
+\i \link table-examples.html Table examples \endlink
+\i \link sql-examples.html SQL examples \endlink
+\endlist
+
+\section1 Qt Extensions: Assorted Examples
+
+\list
+\i \link activeqt-examples.html ActiveX support extension \endlink
+\i \link motif-examples.html QMotif support extension \endlink
+\omit \i \link xt-motif-examples.html Xt/Motif support extension \endlink \endomit
+\i \link nsplugin-examples.html Qt-based plugins for web browsers \endlink
+\endlist
+
+\section1 Miscellaneous Examples
+
+*/
+
+/*! \defgroup qaction-examples
+
+\title QAction Examples
+
+The following example programs show how to use the
+QAction and QActionGroup classes.
+
+*/
+
+/*! \defgroup qfont-examples
+
+\title QFont Examples
+
+The following example programs show how to use the
+classes QFont, QFontMetrics, QFontInfo, and QFontDatabase.
+
+*/
+
+/*! \defgroup qprocess-examples
+
+\title QProcess Examples
+
+The following example programs show how to use the
+QProcess class.
+
+*/
+
+/*! \defgroup network-examples
+
+\title Network Examples
+
+The following example programs demonstrate the use
+of the Qt network module.
+
+*/
+
+/*! \defgroup opengl-examples
+
+\title OpenGL Examples
+
+The following example programs demonstrate the use
+of the Qt OpenGL module.
+
+*/
+
+/*! \defgroup table-examples
+
+\title Table Examples
+
+The following example programs demonstrate the use
+of the Qt table module.
+
+*/
+
+/*! \defgroup sql-examples
+
+\title Qt SQL Examples
+
+The following example programs show how to use the
+Qt SQL classes.
+
+*/
+
+/*! \defgroup xml-examples
+
+\title Qt XML Examples
+
+The following example programs show how to use the
+Qt XML classes.
+
+*/
+
+/*! \defgroup nsplugin-examples
+
+\title Netscape Plugin Examples
+
+The following example programs show how to write plugins
+that can be used with web browsers supporting the LiveConnect
+protocol.
+
+For more information see the \link netscape-plugin.html Plugin Howto \endlink.
+*/
+
+/*! \defgroup motif-examples
+
+\title QMotif Support Extension
+
+The following example programs illustrate the use of the QMotif Extension
+assisting in the migration process of old Xt and Motif based code
+to the more comfortable Qt toolkit.
+
+For more information see the \link motif-extension.html QMotif
+Support Extension documentation. \endlink
+*/
+
+/*
+\defgroup xt-motif-examples
+
+\title Qt Xt/Motif Support Extension
+
+The following example programs illustrate the use of the Qt Xt/Motif Extension
+assisting in the migration process of old Xt and Motif based code
+to the more comfortable Qt toolkit.
+
+For more information see the \link xt.html Qt Xt/Motif Support
+Extension documentation. \endlink
+*/
+
+/*! \defgroup step-by-step-examples
+
+\title Step-by-step Examples
+
+Step-by-step examples provide a careful explanation of
+example code.
+
+The covered example programs usually show how to use certain classes
+or deal with programming techniques and Qt basics.
+
+These examples are especially aimed at Qt novices and less experienced
+programmers and try to make learning Qt as painless as possible.
+
+*/
+
+/*! \defgroup tools
+
+\title Non-GUI Classes
+
+The non-GUI classes are general-purpose collection and string classes
+that may be used independently of the GUI classes.
+
+In particular, these classes do not depend on QApplication at all,
+and so can be used in non-GUI programs.
+
+See also the \link collection.html introduction to the Qt collection
+classes. \endlink
+
+*/
+
+/*! \defgroup io
+
+\title Input/Output and Networking
+
+These classes are used to handle input and output to and from external
+devices, processes, files etc. as well as manipulating files and directories.
+
+*/
+
+/*! \defgroup basic
+
+\title Basic Widgets
+
+These basic controls (widgets) are designed for direct use. There are
+also some \link abstractwidgets.html abstract widget classes, \endlink
+designed for subclassing, and some \link advanced.html more complex
+widgets. \endlink
+
+*/
+
+/*! \defgroup advanced
+
+\title Advanced Widgets
+
+These classes provide more complex user interface controls (widgets).
+
+*/
+
+/*! \defgroup abstractwidgets
+
+\title Abstract Widget Classes
+
+These classes are abstract widgets; they are generally not usable in
+themselves, but provide functionality that can be used by inheriting
+these classes.
+
+*/
+
+/*! \defgroup objectmodel
+
+\title Object Model
+
+These classes form the basis of the \link object.html Qt Object Model \endlink.
+
+*/
+
+/* \defgroup componentmodel
+
+\title Component Model
+
+These classes and interfaces form the basis of the \link component.html Qt Component Model \endlink.
+
+*/
+
+/*! \defgroup plugins
+
+\title Plugins
+
+These classes deal with shared libraries, (e.g. .so and DLL files),
+and with Qt plugins.
+
+See the \link plugins-howto.html plugins documentation\endlink.
+
+
+See also the \link activeqt.html ActiveQt framework\endlink for
+Windows.
+
+*/
+
+/*! \defgroup organizers
+
+\title Organizers
+
+These classes are used to organize and group GUI primitives into more
+complex applications or dialogs.
+
+*/
+
+
+/*! \defgroup dialogs
+
+\title Dialog Classes
+
+These classes are complex widgets, composed of simpler widgets; dialog
+boxes, generally.
+
+*/
+
+/*! \defgroup images
+
+\title Image Processing Classes
+
+These classes are used for manipulating images.
+
+*/
+
+/*! \defgroup graphics
+
+\title Graphics Classes
+
+These classes provide powerful graphics drawing primitives for both 2D
+and (with OpenGL) 3D.
+
+<p>See also this introduction to the \link coordsys.html Qt
+coordinate system. \endlink
+
+*/
+
+/*! \defgroup draganddrop
+
+\title Drag And Drop Classes
+
+These classes deal with drag and drop and the necessary mime type
+encoding and decoding. See also \link dnd.html Drag and Drop with
+Qt. \endlink
+
+*/
+
+/*! \defgroup appearance
+
+\title Widget Appearance and Style
+
+These classes are used to customize an application's appearance and
+style.
+
+*/
+
+/*! \defgroup shared
+
+\title Implicitly and Explicitly Shared Classes
+
+These classes are normally-heavy classes which in Qt have been
+optimized by the use of reference counter and common data so they can
+be passed around.
+
+The only important effect is that the classes listed here \e can
+be passed around as arguments efficiently, even though they may
+seem heavyweight.
+
+*/
+
+/*! \defgroup time
+
+\title Time and Date
+
+These classes provide system-independent date and time abstractions.
+
+<p>Also available: \link y2k.html Qt Year 2000 Compliance Statement \endlink.
+*/
+
+
+/*! \defgroup application
+
+\title Main Window and Related Classes
+
+These classes provide everything you need for a typical modern main
+application window, like the main window itself, menu and tool bars,
+a statusbar, etc.
+
+*/
+
+
+/*! \defgroup geomanagement
+
+\title Layout Management
+
+These classes provide automatic geometry (layout) management of widgets.
+
+*/
+
+
+/*! \defgroup helpsystem
+
+\title Help System
+
+\keyword help system
+
+These classes provide for all forms of online-help in your application,
+with three levels of detail:
+
+\list 1
+ \i Tool Tips and Status Bar message - flyweight help, extremely brief,
+ entirely integrated in the user interface, requiring little
+ or no user interaction to invoke.
+ \i What's This? - lightweight, but can be
+ a three-paragraph explanation.
+ \i Online Help - can encompass any amount of information,
+ but is typically slower to call up, somewhat separated
+ from the user's work, and often users feel that using online
+ help is a digression from their real task.
+\endlist
+
+*/
+
+
+/*! \defgroup environment
+
+\title Environment Classes
+
+These classes providing various global services to your application such as
+event handling, access to system settings, internationalization, etc.
+
+*/
+
+/*! \defgroup misc
+
+\title Miscellaneous Classes
+
+These classes are useful classes not fitting into any other category.
+
+*/
+
+
+/*! \defgroup events
+
+\title Event Classes
+
+These classes are used to create and handle events.
+
+For more information see the \link object.html Object model\endlink
+and \link signalsandslots.html Signals and Slots\endlink.
+*/
+
+
+/*! \defgroup multimedia
+
+\title Multimedia Classes
+
+These classes provide support for graphics, sound, animation etc.
+*/
+
+/*! \defgroup qtl
+
+\title Qt Template Library Classes
+
+The Qt Template Library (QTL) is a set of templates that provide
+object containers. See the \link qt-template-lib.html Qt Template
+Library\endlink.
+
+*/
+
+
+/*! \defgroup database
+
+\title Database Classes
+
+These classes provide access to SQL databases.
+*/
+
+
+/*! \defgroup thread
+
+\title Threading
+
+These classes are relevant to threaded applications.
+*/
+
+
+/*! \defgroup xml-tools
+
+\title XML
+
+These classes are relevant to XML users.
+*/
+
+/*! \defgroup qws
+
+\title Qt/Embedded
+
+These classes are relevant to Qt/Embedded users.
+*/
+
+/*! \defgroup text
+
+\title Text Related Classes
+
+These classes are relevant to text processing. See also the
+\link xml.html XML classes \endlink.
+*/
diff --git a/doc/installation.doc b/doc/installation.doc
new file mode 100644
index 0000000..e7e5703
--- /dev/null
+++ b/doc/installation.doc
@@ -0,0 +1,300 @@
+/****************************************************************************
+**
+** Installation page
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page installation.html
+
+\title Installation
+
+The installation procedure is different for the different Qt platforms:
+
+\list
+ \i \link install-x11.html Qt/X11 \endlink
+ \i \link install-win.html Qt/Windows \endlink
+ \i \link install-mac.html Qt/Mac \endlink
+ \i \link emb-install.html Qt/Embedded \endlink
+\endlist
+
+*/
+
+/*! \page install-x11.html
+
+\title Installing Qt/X11
+
+You may need to be root, depending on the permissions of the directories
+where you choose to install Qt.
+
+\list 1
+\i Unpack the archive if you have not done so already:
+
+\code
+ cd /usr/local
+ gunzip qt-x11-version.tar.gz # uncompress the archive
+ tar xf qt-x11-version.tar # unpack it
+\endcode
+
+ This creates the directory /usr/local/qt-\e version containing the
+ files from the main archive.
+
+ Rename qt-\e version to qt (or make a symlink):
+
+\code
+ mv qt-version qt
+\endcode
+
+ The rest of this file assumes that Qt is installed in \c /usr/local/qt.
+
+\i Set some environment variables in the file \c .profile (or \c .login,
+ depending on your shell) in your home directory. Create the
+ file if it is not there already.
+
+ \list
+ \i QTDIR -- the directory in which you're building Qt
+ \i PATH -- to locate the moc program and other Qt tools
+ \i MANPATH -- to access the Qt man pages
+ \i LD_LIBRARY_PATH -- for the shared Qt library
+ \endlist
+
+ This is done like this:
+
+ In \c .profile (if your shell is bash, ksh, zsh or sh), add the
+ following lines:
+
+\code
+ QTDIR=/usr/local/qt
+ PATH=$QTDIR/bin:$PATH
+ MANPATH=$QTDIR/man:$MANPATH
+ LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+
+ export QTDIR PATH MANPATH LD_LIBRARY_PATH
+\endcode
+
+ In \c .login (in case your shell is csh or tcsh), add the following lines:
+
+\code
+ setenv QTDIR /usr/local/qt
+ setenv PATH $QTDIR/bin:$PATH
+ setenv MANPATH $QTDIR/man:$MANPATH
+ setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
+\endcode
+
+ After you have done this, you will need to login again, or
+ re-source the profile before continuing, so that at least \c $QTDIR
+ is set. The installation will give an error message and not
+ proceed otherwise.
+
+ On AIX set LIBPATH and on HP-UX set SHLIB_PATH instead of LD_LIBRARY_PATH.
+
+ Note that the SGI MIPSpro o32 and Sun WorkShop 5.0 targets are no
+ longer supported as of Qt 3.3.
+
+\i Install your license file as \c $HOME/.qt-license.
+ For the free edition and evaluation version, you do not need a license
+ file.
+
+\i Compile the Qt library, and build the example programs,
+ the tutorial and the tools (e.g. \link designer-manual.book Qt
+ Designer\endlink) as follows.
+
+ Type:
+\code
+ ./configure
+\endcode
+
+ This will configure the Qt library for your machine. Note that
+ GIF support is turned off by default. Run \c{./configure -help}
+ to get a list of configuration options. Read \c PLATFORMS for a
+ list of supported platforms.
+
+ To create the library and compile all examples and the tutorial:
+\code
+ make
+\endcode
+ If you have problems, see
+ \l{http://www.trolltech.com/platforms/}.
+
+\i In very few cases you may need to run \c /sbin/ldconfig or something
+ similar at this point if you are using shared libraries.
+
+ If you have problems running the example programs, e.g. messages like
+\code
+ can't load library 'libqt.so.2'
+\endcode
+ you probably need to put a reference to the qt library in a
+ configuration file and run \c /sbin/ldconfig as root on your system.
+ And don't forget to \c set LD_LIBRARY_PATH as explained in 2) above.
+
+\i The online HTML documentation is installed in \c /usr/local/qt/doc/html/
+ The main page is \c{/usr/local/qt/doc/html/index.html}.
+ The man pages are installed in \c{/usr/local/qt/doc/man/}.
+ The documentation is also accessible using \link assistant.book Qt
+ Assistant\endlink.
+\endlist
+
+You're done. Qt is now installed.
+
+*/
+
+/*! \page install-win.html
+
+\title Installing Qt/Windows
+
+The Qt/Windows distribution is distributed as a self-extracting archive
+with a built-in installer. Just follow the installation wizard.
+
+*/
+*/
+
+/*! \page install-mac.html
+
+\title Installing Qt/Mac
+
+You may need to be logged in as root, depending on the permissions of
+the directories where you choose to install Qt.
+
+\list 1
+\i Unpack the archive if you have not done so already:
+
+\code
+ cd /Developer
+ gnutar xzf qt-mac-version.tar.gz
+\endcode
+
+ This creates the directory /Developer/qt-\e version containing the
+ files from the main archive.
+
+ Rename qt-\e version to qt (or make a symlink):
+
+\code
+ mv qt-version qt
+\endcode
+
+ The rest of this file assumes that Qt is unpacked in \c /Developer/qt.
+
+\i Set some environment variables in the file \c .profile (or \c .login,
+ depending on your shell) in your home directory. Create the
+ file if it is not there already.
+
+ \list
+ \i QTDIR -- the directory in which you're building Qt
+ \i PATH -- to locate the moc program and other Qt tools
+ \i MANPATH -- to access the Qt man pages
+ \i LD_LIBRARY_PATH -- for the shared Qt library
+ \endlist
+
+ This is done like this:
+
+ In \c .profile (if your shell is bash, ksh, zsh or sh), add the
+ following lines:
+
+\code
+ QTDIR=/Developer/qt
+ PATH=$QTDIR/bin:$PATH
+ MANPATH=$QTDIR/man:$MANPATH
+ DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
+
+ export QTDIR PATH MANPATH DYLD_LIBRARY_PATH
+\endcode
+
+ In \c .login (in case your shell is csh or tcsh), add the following lines:
+
+\code
+ setenv QTDIR /Developer/qt
+ setenv PATH $QTDIR/bin:$PATH
+ setenv MANPATH $QTDIR/man:$MANPATH
+ setenv DYLD_LIBRARY_PATH $QTDIR/lib:$DYLD_LIBRARY_PATH
+\endcode
+
+ After you have done this, you will need to login again, or
+ re-source the profile before continuing.
+
+\i If you have the commercial edition of Qt, install your license
+ file as \c $HOME/.qt-license.
+
+\i Compile the Qt library, and build the example programs,
+ the tutorial and the tools (e.g. \link designer-manual.book Qt
+ Designer\endlink) as follows.
+
+ Type:
+\code
+ cd $QTDIR
+ ./configure
+\endcode
+
+ This will configure the Qt library for your machine. Note that
+ GIF support is turned off by default. Run \c{./configure -help}
+ to get a list of configuration options.
+
+ To create the library and compile all examples and the tutorial:
+\code
+ make
+\endcode
+ If you have problems, see
+ \l{http://www.trolltech.com/platforms/}.
+
+\i Once you have built Qt, it is ready to use. If Qt has not been
+ configured with the -static option, then in order to be able to
+ launch Qt applications from the Finder you must place the relevant
+ libraries in a directory where they can be found. We recommend
+ making these symbolic links (if you have configured Qt with -thread
+ please change the libqt below with libqt-mt):
+
+\code
+ ln -sf $QTDIR/lib/libqt.3.dylib /usr/lib
+ ln -sf $QTDIR/lib/libqui.1.dylib /usr/lib
+\endcode
+
+ You may need to have 'administrator' access to do this, (in which
+ case, precede each command with \c sudo', e.g. \c{sudo ln -s ...}). If
+ you use sudo you'll be prompted for the administrator password.
+
+ If you do not have administrator access, or you would prefer to do
+ a user install (rather than system install) of the libraries you
+ can do (if you have configured Qt with -thread please change the libqt
+ below with libqt-mt):
+
+\code
+ ln -sf $QTDIR/lib/libqt.3.dylib $HOME/lib
+ ln -sf $QTDIR/lib/libqui.1.dylib $HOME/lib
+\endcode
+\endlist
+
+That's all! Qt is now installed. Qt's documentation can be read with
+Qt Assistant or by any web browser; the contents page is
+\c $QTDIR/doc/html/index.html.
+
+*/
diff --git a/doc/integration.doc b/doc/integration.doc
new file mode 100644
index 0000000..25b6394
--- /dev/null
+++ b/doc/integration.doc
@@ -0,0 +1,165 @@
+/****************************************************************************
+**
+** Documentation of Visual Studio Integration Plugin
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+ \page integration.html
+
+ \title About the Visual Studio Integration Plugin
+
+ The Visual Studio Integration Plugin is currently available only to users of
+ Visual Studio 6, it offers simple ways of doing common tasks when writing a
+ Qt application.
+
+ \tableofcontents
+
+ \section1 How to install the Visual Studio Integration Plugin
+
+ When you install Qt, the integration plugin should be installed for you,
+ and ready for use. However, sometimes this does not happen properly, so
+ you need to manually carry out the following steps.
+
+ \list
+ \i Ensure that the file '%MSDevDir%\\addins\\qmsdev.dll' exists.
+ \i Start Visual Studio, if it isn't already running.
+ \i Select Tools|Customize|Add-ins and Macro Files.
+ \i Ensure the checkbox to the left of the "QMsDev Developer Studio-Add-In" add-in is checked.
+ \i Click Close.
+ \endlist
+
+ Now the integration plugin should be properly installed. If this doesn't
+ work, then contact Trolltech technical support giving details of
+ what went wrong.
+
+ \section1 How to uninstall the Visual Studio Integration Plugin
+
+ When you want to uninstall the integration plugin, just carry out the
+ following steps.
+
+ \list
+ \i Close down any instances of Visual Studio.
+ \i Delete the file '%MSDevDir%\\addins\\qmsdev.dll'
+ \endlist
+
+ \section1 What can the Visual Studio Integration Plugin do?
+
+ The integration plugin adds the following options to Visual Studio:
+
+ \list
+ \i New Qt Project
+ \i New Qt Dialog
+ \i Qt Designer
+ \i Open Qt Project
+ \i Write Qt Project
+ \i Use Qt In Current Project
+ \i Add MOC
+ \endlist
+
+ \section2 Using the 'New Qt Project' button
+
+ The 'New Qt Project' button allows you to create a simple Qt project
+ ready for development. Simply fill in the form and if you select
+ 'Dialog' or 'Main Window' without MDI support then it will
+ automatically start up \e{Qt Designer}. When you have finished with
+ the form in \e{Qt Designer} just save it and it will appear in a
+ ready made Qt project.
+
+ If you select 'Main Window' with 'MDI Support' then it will simply
+ give you a code skeleton in a project ready for you to populate with
+ your own code.
+
+ \section2 Using the 'New Qt Dialog' button
+
+ The 'New Qt Dialog' button works in two ways: You can use it to create a new
+ dialog for your project; or you can use it to insert an existing
+ dialog into your project.
+
+ If you want to create a new dialog then all you need to do is specify where
+ the dialog file should be saved and give it a name. This will start up
+ \e{Qt Designer} to allow you to design your new dialog, and will add it to
+ the existing project.
+
+ If you want to add an existing dialog to your project, then just select the
+ relevant \c .ui file. This will then add it to your existing project and add
+ the relevant steps to create the generated code.
+
+ \section2 Using the 'Qt Designer' button
+
+ The 'Qt Designer' button simply starts up \e{Qt Designer}, it has no ties to
+ your existing project so whatever you do with it will not affect your
+ existing projects. It can also be started up by using the Ctrl+Shift+D key
+ combination in Visual Studio.
+
+ \section2 Using the 'Open Qt Project' button
+
+ The 'Open Qt Project' button allows you to convert an existing \c
+ qmake project file into a \c .dsp file which you can insert into
+ your existing workspace. When you click the 'Open Qt Project'
+ button, just select an existing \c qmake project file (a \c .pro
+ file) and then click OK. You will get a message box at the end
+ which asks you to insert the newly created \c .dsp file into your
+ existing workspace.
+
+ \section2 Using the 'Write Qt Project' button
+
+ The 'Write Qt Project' button creates a \c qmake project (\c .pro)
+ file for your current project so that you can easily copy the files
+ onto another platform and be able to use \c qmake to create a Makefile
+ on that other platform. All you need to do is make the project you
+ want to create a \c .pro file for, and click on the button. Just
+ name your \c qmake project file and click Save.
+
+ \section2 Using the 'Use Qt In Current Project' button
+
+ The 'Use Qt In Current Project' button simply adds in the necessary
+ information for the current project so that it links against Qt and
+ sets any other settings needed to use Qt in that project.
+
+ \section2 Using the 'Add MOC' button
+
+ The 'Add MOC' button will add in the custom build step for the selected file
+ so that it creates any needed MOC files and it will add these generated
+ files to the project. All you need to do to use it is click on a file that
+ has \c Q_OBJECT and click the button.
+
+ You only need to use this button if you added a file that has \c
+ Q_OBJECT in it by hand, you don't need to use this if you used any
+ of the previously mentioned buttons. It can also be invoked by using
+ the Ctrl+Shift+M key combination in Visual Studio.
+
+
+*/
diff --git a/doc/layout.doc b/doc/layout.doc
new file mode 100644
index 0000000..4c5a846
--- /dev/null
+++ b/doc/layout.doc
@@ -0,0 +1,516 @@
+/****************************************************************************
+**
+** Explanation of the layout subsystem
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page layout.html
+
+\title Layout Classes
+
+The Qt layout system provides a simple and powerful way of specifying
+the layout of child widgets.
+
+By specifying the logical layout once, you get the following benefits:
+\list
+\i Positioning of child widgets.
+\i Sensible default sizes for top-level widgets.
+\i Sensible minimum sizes for top-level widgets.
+\i Resize handling.
+\i Automatic update when contents change:
+ \list
+ \i Font size, text or other contents of subwidgets.
+ \i Hiding or showing a subwidget.
+ \i Removal of subwidget.
+ \endlist
+\endlist
+
+Qt's layout classes were designed for hand-written C++ code, so
+they're easy to understand and use.
+
+The disadvantage of hand-written layout code is that it isn't very
+convenient when you're experimenting with the design of a form and you
+have to go through the compile, link and run cycle for each change.
+Our solution is \link designer-manual.book Qt Designer\endlink, a GUI
+visual design tool which makes it fast and easy to experiment with
+layouts and which generates the C++ layout code for you.
+
+\section1 Layout Widgets
+
+The easiest way to give your widgets a good layout is to use the
+layout widgets: \l QHBox, \l QVBox and \l QGrid. A layout widget
+automatically lays out its child widgets in the order they are
+constructed. To create more complex layouts, you can nest layout
+widgets inside each other. (Note that \l QWidget does not have a
+layout by default, you must add one if you want to lay out widgets
+inside a \l QWidget.)
+
+\list
+\i A \l QHBox lays out its child widgets in a horizontal row, left to right.
+
+ \img qhbox-m.png Horizontal box with five child widgets
+
+\i A \l QVBox lays out its child widgets in a vertical column, top to bottom.
+
+ \img qvbox-m.png Vertical box with five child widgets
+
+\i A \l QGrid lays out its child widgets in a two dimensional grid.
+You can specify how many columns the grid has, and it is populated left to
+right, beginning a new row when the previous row is full. The grid is
+fixed; the child widgets will not flow to other rows as the widget is
+resized.
+\endlist
+
+ \img qgrid-m.png Two-column grid with five child widgets
+
+The grid shown above can be produced by the following code:
+\code
+ QGrid *mainGrid = new QGrid( 2 ); // a 2 x n grid
+ new QLabel( "One", mainGrid );
+ new QLabel( "Two", mainGrid );
+ new QLabel( "Three", mainGrid );
+ new QLabel( "Four", mainGrid );
+ new QLabel( "Five", mainGrid );
+\endcode
+
+You can adjust the layout to some extent by calling
+QWidget::setMinimumSize() or QWidget::setFixedSize() on the child widgets.
+
+\section1 Adding Widgets to a Layout
+
+When you add widgets to a layout the layout process works as follows:
+\list 1
+\i All the widgets will initially be allocated an amount of space in
+accordance with their QWidget::sizePolicy().
+\i If any of the widgets have stretch factors set, with a value
+greater than zero, then they are allocated space in proportion to
+their \link #stretch stretch factor\endlink.
+\i If any of the widgets have stretch factors set to zero they will
+only get more space if no other widgets want the space. Of these,
+space is allocated to widgets with an \c Expanding size policy first.
+\i Any widgets that are allocated less space than their minimum size
+(or minimum size hint if no minimum size is specified) are allocated
+this minimum size they require. (Widgets don't have to have a minimum
+size or minimum size hint in which case the strech factor is their
+determining factor.)
+\i Any widgets that are allocated more space than their maximum size
+are allocated the maximum size space they require. (Widgets don't have
+to have a maximum size in which case the strech factor is their
+determining factor.)
+\endlist
+
+\target stretch
+\section2 Stretch Factors
+\keyword stretch factor
+
+Widgets are normally created without any stretch factor set. When they
+are laid out in a layout the widgets are given a share of space in
+accordance with their QWidget::sizePolicy() or their minimum size hint
+whichever is the greater. Stretch factors are used to change how much
+space widgets are given in proportion to one another.
+
+If we have three widgets laid out using a QHBox with no stretch
+factors set we will get a layout like this:
+
+\img layout1.png 3 widgets in a row
+
+If we apply stretch factors to each widget, they will be laid out in
+proportion (but never less than their minimum size hint), e.g.
+
+\img layout2.png 3 stretch factored widgets in a row
+
+
+\section1 QLayout subclassing
+
+If you need more control over the layout, use a \link QLayout
+QLayout\endlink subclass. The layout classes included in Qt are \link
+QGridLayout QGridLayout\endlink and \link QBoxLayout
+QBoxLayout\endlink. (\link QHBoxLayout QHBoxLayout\endlink and \link
+QVBoxLayout QVBoxLayout\endlink are trivial subclasses of QBoxLayout,
+that are simpler to use and make the code easier to read.)
+
+When you use a layout, you must insert each child both into its parent
+widget (done in the constructor) and into its layout (typically done
+with a function called addWidget()). This way, you can give layout
+parameters for each widget, specifying properties like alignment,
+stretch, and placement.
+
+The following code makes a grid like the one above, with a couple of
+improvements:
+\code
+ QWidget *main = new QWidget;
+
+ // make a 1x1 grid; it will auto-expand
+ QGridLayout *grid = new QGridLayout( main, 1, 1 );
+
+ // add the first four widgets with (row, column) addressing
+ grid->addWidget( new QLabel( "One", main ), 0, 0 );
+ grid->addWidget( new QLabel( "Two", main ), 0, 1 );
+ grid->addWidget( new QLabel( "Three", main ), 1, 0 );
+ grid->addWidget( new QLabel( "Four", main ), 1, 1 );
+
+ // add the last widget on row 2, spanning from column 0 to
+ // column 1, and center aligned
+ grid->addMultiCellWidget( new QLabel( "Five", main ), 2, 2, 0, 1,
+ Qt::AlignCenter );
+
+ // let the ratio between the widths of columns 0 and 1 be 2:3
+ grid->setColStretch( 0, 2 );
+ grid->setColStretch( 1, 3 );
+\endcode
+
+You can insert layouts inside a layout by giving the parent layout as
+a parameter in the constructor.
+\code
+ QWidget *main = new QWidget;
+ QLineEdit *field = new QLineEdit( main );
+ QPushButton *ok = new QPushButton( "OK", main );
+ QPushButton *cancel = new QPushButton( "Cancel", main );
+ QLabel *label = new QLabel( "Write once, compile everywhere.", main );
+
+ // a layout on a widget
+ QVBoxLayout *vbox = new QVBoxLayout( main );
+ vbox->addWidget( label );
+ vbox->addWidget( field );
+
+ // a layout inside a layout
+ QHBoxLayout *buttons = new QHBoxLayout( vbox );
+ buttons->addWidget( ok );
+ buttons->addWidget( cancel );
+\endcode
+If you are not satisfied with the default placement, you can create
+the layout without a parent and then insert it with addLayout().
+The inner layout then becomes a child of the layout it is inserted
+into.
+
+\section1 Custom Layouts
+
+If the built-in layout classes are not sufficient, you can define your
+own. You must make a subclass of \l QLayout that handles resizing and
+size calculations, as well as a subclass of \l QGLayoutIterator to
+iterate over your layout class.
+
+See the \link customlayout.html Custom Layout \endlink page for an
+in-depth description.
+
+\section1 Custom Widgets In Layouts
+
+When you make your own widget class, you should also communicate its
+layout properties. If the widget has a QLayout, this is already taken
+care of. If the widget does not have any child widgets, or uses manual
+layout, you should reimplement the following QWidget member functions:
+
+\list
+\i QWidget::sizeHint() returns the preferred size of the widget.
+\i QWidget::minimumSizeHint() returns the smallest size the widget can have.
+\i QWidget::sizePolicy() returns a \l QSizePolicy; a value describing
+ the space requirements of the widget.
+\endlist
+
+Call QWidget::updateGeometry() whenever the size hint, minimum size
+hint or size policy changes. This will cause a layout recalculation.
+Multiple calls to updateGeometry() will only cause one recalculation.
+
+If the preferred height of your widget depends on its actual width
+(e.g. a label with automatic word-breaking), set the \link
+QSizePolicy::hasHeightForWidth() hasHeightForWidth\endlink() flag in
+\link QWidget::sizePolicy() sizePolicy\endlink(), and reimplement \l
+QWidget::heightForWidth().
+
+Even if you implement heightForWidth(), it is still necessary to
+provide a good sizeHint(). The sizeHint() provides the preferred width
+of the widget, and it is used by QLayout subclasses that do not
+support heightForWidth() (both QGridLayout and QBoxLayout support it).
+
+For further guidance when implementing these functions, see their
+implementations in existing Qt classes that have similar layout
+requirements to your new widget.
+
+\section1 Manual Layout
+
+If you are making a one-of-a-kind special layout, you can also make a
+custom widget as described above. Reimplement QWidget::resizeEvent()
+to calculate the required distribution of sizes and call \link
+QWidget::setGeometry() setGeometry\endlink() on each child.
+
+The widget will get an event with \link QEvent::type() type \endlink
+\c LayoutHint when the layout needs to be recalculated. Reimplement
+QWidget::event() to be notified of \c LayoutHint events.
+
+\section1 Layout Issues
+
+The use of rich text in a label widget can introduce some problems to
+the layout of its parent widget. Problems occur due to the way rich text
+is handled by Qt's layout managers when the label is word wrapped.
+In certain cases the parent layout is put into QLayout::FreeResize mode,
+meaning that it will not adapt the layout of its contents to fit inside
+small sized windows, or even prevent the user from making the
+window too small to be usable. This can be overcome by subclassing
+the problematic widgets, and implementing suitable sizeHint() and
+minimumSizeHint() functions.
+
+*/
+
+
+/*! \page customlayout.html
+
+\title Writing your own layout manager
+
+Here we present an example in detail. The class CardLayout is inspired
+by the Java layout manager of the same name. It lays out the items
+(widgets or nested layouts) on top of each other, each item offset by
+QLayout::spacing().
+
+To write your own layout class, you must define the following:
+\list
+\i A data structure to store the items handled by the layout. Each
+item is a \link QLayoutItem QLayoutItem\endlink. We will use a
+QPtrList in this example.
+\i \link QLayout::addItem() addItem() \endlink, how to add items to
+the layout.
+\i \link QLayout::setGeometry() setGeometry() \endlink, how to perform
+the layout.
+\i \link QLayout::sizeHint() sizeHint() \endlink, the preferred size
+of the layout.
+\i \link QLayout::iterator() iterator() \endlink, how to iterate over
+the layout.
+\endlist
+
+In most cases, you will also implement \link QLayout::minimumSize()
+minimumSize\endlink().
+
+\section1 card.h
+
+\code
+#ifndef CARD_H
+#define CARD_H
+
+#include <qlayout.h>
+#include <qptrlist.h>
+
+class CardLayout : public QLayout
+{
+public:
+ CardLayout( QWidget *parent, int dist )
+ : QLayout( parent, 0, dist ) {}
+ CardLayout( QLayout* parent, int dist)
+ : QLayout( parent, dist ) { }
+ CardLayout( int dist )
+ : QLayout( dist ) {}
+ ~CardLayout();
+
+ void addItem(QLayoutItem *item);
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QLayoutIterator iterator();
+ void setGeometry(const QRect &rect);
+
+private:
+ QPtrList<QLayoutItem> list;
+};
+
+#endif
+\endcode
+
+\section2 card.cpp
+
+\code
+#include "card.h"
+\endcode
+
+First we define an iterator over the layout. Layout iterators are used
+internally by the layout system to handle deletion of widgets. They
+are also available for application programmers.
+
+There are two different classes involved: QLayoutIterator is the class
+that is visible to application programmers, it is explicitly shared.
+The QLayoutIterator contains a QGLayoutIterator that does all the
+work. We must create a subclass of QGLayoutIterator that knows how to
+iterate over our layout class.
+
+In this case, we choose a simple implementation: we store an integer
+index into the list and a pointer to the list. Every \l
+QGLayoutIterator subclass must implement \link
+QGLayoutIterator::current() current\endlink(), \link
+QGLayoutIterator::next() next\endlink() and \link
+QGLayoutIterator::takeCurrent() takeCurrent\endlink(), as well as a
+constructor. In our example we do not need a destructor.
+
+\code
+class CardLayoutIterator : public QGLayoutIterator
+{
+public:
+ CardLayoutIterator( QPtrList<QLayoutItem> *l )
+ : idx( 0 ), list( l ) {}
+
+ QLayoutItem *current()
+ { return idx < int(list->count()) ? list->at(idx) : 0; }
+
+ QLayoutItem *next()
+ { idx++; return current(); }
+
+ QLayoutItem *takeCurrent()
+ { return list->take( idx ); }
+
+private:
+ int idx;
+ QPtrList<QLayoutItem> *list;
+};
+\endcode
+
+We must implement QLayout:iterator() to return a QLayoutIterator over
+this layout.
+
+\code
+QLayoutIterator CardLayout::iterator()
+{
+ return QLayoutIterator( new CardLayoutIterator(&list) );
+}
+\endcode
+
+addItem() implements the default placement strategy for layout items.
+It must be implemented. It is used by QLayout::add(), by the QLayout
+constructor that takes a layout as parent, and it is used to implement
+the \link QLayout::autoAdd() auto-add\endlink feature. If your layout
+has advanced placement options that require parameters, you must
+provide extra access functions such as \l QGridLayout::addMultiCell().
+
+\code
+void CardLayout::addItem( QLayoutItem *item )
+{
+ list.append( item );
+}
+\endcode
+
+The layout takes over responsibility of the items added. Since
+QLayoutItem does not inherit QObject, we must delete the items
+manually. The function QLayout::deleteAllItems() uses the iterator we
+defined above to delete all the items in the layout.
+
+\code
+CardLayout::~CardLayout()
+{
+ deleteAllItems();
+}
+\endcode
+
+The setGeometry() function actually performs the layout. The rectangle
+supplied as an argument does not include margin(). If relevant, use
+spacing() as the distance between items.
+
+\code
+void CardLayout::setGeometry( const QRect &rect )
+{
+ QLayout::setGeometry( rect );
+
+ QPtrListIterator<QLayoutItem> it( list );
+ if (it.count() == 0)
+ return;
+
+ QLayoutItem *item;
+
+ int i = 0;
+
+ int w = rect.width() - ( list.count() - 1 ) * spacing();
+ int h = rect.height() - ( list.count() - 1 ) * spacing();
+
+ while ( (item = it.current()) != 0 ) {
+ ++it;
+ QRect geom( rect.x() + i * spacing(), rect.y() + i * spacing(),
+ w, h );
+ item->setGeometry( geom );
+ ++i;
+ }
+}
+\endcode
+
+sizeHint() and minimumSize() are normally very similar in
+implementation. The sizes returned by both functions should include
+spacing(), but not margin().
+
+\code
+QSize CardLayout::sizeHint() const
+{
+ QSize s( 0, 0 );
+ int n = list.count();
+ if ( n > 0 )
+ s = QSize( 100, 70 ); // start with a nice default size
+ QPtrListIterator<QLayoutItem> it( list );
+ QLayoutItem *item;
+ while ( (item = it.current()) != 0 ) {
+ ++it;
+ s = s.expandedTo( item->minimumSize() );
+ }
+ return s + n * QSize( spacing(), spacing() );
+}
+
+QSize CardLayout::minimumSize() const
+{
+ QSize s( 0, 0 );
+ int n = list.count();
+ QPtrListIterator<QLayoutItem> it( list );
+ QLayoutItem *item;
+ while ( (item = it.current()) != 0 ) {
+ ++it;
+ s = s.expandedTo( item->minimumSize() );
+ }
+ return s + n * QSize( spacing(), spacing() );
+}
+\endcode
+
+\section1 Further Notes
+
+This layout does not implement heightForWidth().
+
+We ignore QLayoutItem::isEmpty(), this means that the layout will
+treat hidden widgets as visible.
+
+For complex layouts, speed can be greatly increased by caching
+calculated values. In that case, implement QLayoutItem::invalidate()
+to mark the cached data as dirty.
+
+Calling QLayoutItem::sizeHint(), etc. may be expensive, so you should
+store the value in a local variable if you need it again later in the
+same function.
+
+You should not call QLayoutItem::setGeometry() twice on the same item
+in the same function. That can be very expensive if the item has
+several child widgets, because it will have to do a complete layout
+every time. Instead, calculate the geometry and then set it. (This
+doesn't only apply to layouts, you should do the same if you implement
+your own resizeEvent().)
+
+*/
diff --git a/doc/mac.doc b/doc/mac.doc
new file mode 100644
index 0000000..8f44919
--- /dev/null
+++ b/doc/mac.doc
@@ -0,0 +1,269 @@
+/****************************************************************************
+**
+** Qt/Mac documentation
+**
+** Copyright (C) 2002-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page mac-differences.html
+
+\title Qt/Mac Issues
+
+This file will outline known issues and possible workarounds for
+limitations on Mac OS X with Qt. This list will not always be complete, so
+please contact Trolltech support with issues you find to be missing.
+
+See also the document \link qtmac-as-native.html Qt/Mac is Mac OS X
+Native\endlink.
+
+\tableofcontents
+
+\section1 GUI Applications
+
+GUI Applications must be run out of a bundle (something like widgets.app/)
+or using the open(1) command. Mac OS X needs this to dispatch events correctly,
+as well as gaining access to the menubar. If using GDB you must run with the
+full path to the executable.
+
+\section1 QCursor
+
+Due to Mac OS X having only 16x16 custom cursors QCursor is limited by this
+as well. For now the only workaround to this problem is to use a small
+cursor (16x16).
+
+\section1 Anti-aliased text
+
+Qt/Mac (starting with 3.0.5) has introduced some support for smooth text as
+suggested by Apple's Aqua Style Guildelines. This support is limited to Mac
+OS X >10.1.4, when this version is not detected it will fallback to the old
+text rendering library.
+
+\section1 Library Support
+
+\section2 Bundle-based Libraries
+
+If you want to incorporate dynamic libraries as part of your Mac OS X
+application bundle (the application directory), then you place these into a
+directory called Frameworks, a subdirectory of the application bundle.
+
+The application finds these dynamic libraries if the libraries have an
+install name of "@executable_path/../Frameworks/libname.dylib.
+
+If you use qmake and Makefiles, use the QMAKE_LFFLAGS_SONAME setting:
+
+\code
+QMAKE_LFLAGS_SONAME = -Wl,-install_name,@executable_path/../Frameworks/
+\endcode
+
+In case of Project Builder, you set the Library targets to have their
+install path (in the Build Settings of the target) set to
+"@executable_path/.../Frameworks". You also need to add a custom build
+setting called "SKIP_INSTALL" and set this to YES. In the Application
+target you need to add a Copy Files build phase that will copy the library
+product into the applications wrapper's Framework sub-folder.
+
+Note that DYLD_LIBRARY_PATH environment variables will override these
+settings, same with any other default paths such as a lookup of dynamic
+libraries inside /usr/lib and similar default locations.
+
+We still strongly recommend to build static applications where the library
+code is incorporated into the Mac OS X binary. However, in case you ship
+applications that require plugin support,then you need to use dynamic
+libraries as part of your application.
+
+
+\section2 Combining Libraries
+
+If you want to build a new dynamic library combining the Qt 3.1 dynamic
+libraries, you need to introduce the ld -r flag so that relocation information
+is stored in the the output file, so that this file could be the subject of
+another ld run. This is done by setting the -r flag in the .pro file, and the
+LFLAGS settings.
+
+\section2 Initialization Order
+
+dyld(1) will call global static initializers in the order in which
+they are linked into your application. If a library links against Qt
+and references globals in Qt (from global initializers in your own
+library) you should be sure to link against Qt before your library,
+otherwise the result will be undefined (as Qt's global initializers
+have not been called yet).
+
+\section2 Plugin Support
+
+Note that it is not possible to build Qt plugins using Project Builder
+or Xcode. Use \link qmake-manual.book qmake\endlink to configure and
+build plugins.
+
+\section1 Compiler Settings
+
+\section2 Compile-time Flags
+
+If you want to wrap any specific Mac OS X code in a define, use the Q_OS_MACX
+flag, as in:
+
+\code
+#if defined(Q_OS_MACX)
+// the code used
+#endif
+\endcode
+
+Note that when you build under Mac OS X 10.2, then the MACOSX_102 flag is
+automatically included in the make builds.
+
+
+\section1 Building and Configuring Qt/Mac
+
+\section2 Problems building a static configuration
+
+If a static build fails with the following error messages during the
+designer make phase:
+
+\code
+QWidget::sizeHint() const referenced from libqui expected to be defined in @executable_path/../Frameworks/libqt-mt.3.dylib
+non-virtual thunk [nv:-40] to QWidget::metric(int) const referenced from libqui
+ expected to be defined in @executable_path/../Frameworks/libqt-mt.3.dylib
+\endcode
+
+then ensure that your library path does not have libqui libraries or
+symbolic links. If you remove these, then the build will continue.
+
+
+\section1 Macintosh Native API Access
+
+\section2 Accessing the Bundle Path
+
+The Macintosh application is actually a directory (ending with .app). This
+directory has various other sub-directories and sources. In case you want
+to place for example the plugin directory inside this bundle, then you need
+to find out where the bundle resides on the disk. The following code will
+do this:
+
+\code
+ CFURLRef pluginRef = CFBundleCopyBundleURL(CFBundleGetMainBundle());
+ CFStringRef macPath = CFURLCopyFileSystemPath(pluginRef,
+ kCFURLPOSIXPathStyle);
+ const char *pathPtr = CFStringGetCStringPtr(macPath,
+ CFStringGetSystemEncoding());
+ qDebug("Path = %s", pathPtr);
+ CFRelease(pluginRef);
+ CFRelease(macPath);
+\endcode
+
+Do not forget to enclosure this in an #if defined(Q_OS_MACX) macro statement.
+
+\section2 Translating the Application Menu and native dialogs
+
+You need to do a little extra to get the Application Menu and native dialogs
+localized. This is a requirement of Mac OS X and not of Qt.
+
+First, you must add a localized resource folder inside the Bundle see:
+
+http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/index.html
+
+And look for the heading: Adding Localized Resources
+
+The main thing you need to do is create a file called locversion.plist.
+Here is an example one for Norwegian:
+
+\code
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
+"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>LprojCompatibleVersion</key>
+ <string>123</string>
+ <key>LprojLocale</key>
+ <string>no</string>
+ <key>LprojRevisionLevel</key>
+ <string>1</string>
+ <key>LprojVersion</key>
+ <string>123</string>
+</dict>
+</plist>
+\endcode
+
+Then when you run the application with your preferred language set to Norwegian
+you should see menu items like "Avslutt" instead of "Quit"
+
+\section1 User Interface
+
+\section2 Right-Mouse Clicks
+
+If you want to provide right-mouse click support for Mac OS X, use the
+QContextMenuEvent class. This will map to a context menu event, in other
+words a menu that will display a popup selection. This is the most common
+use of right-mouse clicks, and maps to a control-click with the Mac OS X
+one-button mouse support.
+
+\section2 Menubar
+
+Qt/Mac will automatically detect your menubars for you and turn them
+into Mac native menubars. Fitting this into your existing Qt application
+will normally be automatic, however, if you have special needs the Qt/Mac
+implementation currently selects a menubar by starting at the active window
+(ie QApplication::activeWindow()), and applying:
+
+1) If the window has a QMenuBar then it is used.
+2) If the window is a modal then its menubar is used. If no menubar is
+ specified then a default menubar is used (as documented below)
+3) If the window has no parent then the default menubar is used (as documented below).
+
+The above 3 steps are applied all the way up the parent window chain until
+one of the above are satisifed. If all else fails a default menubar will be
+created, the default menubar on Qt/Mac is an empty menubar, however you can
+create a different default menubar by creating a parentless QMenuBar, the
+first one created will thus be designated the default menubar, and will be
+used whenever a default menubar is needed.
+
+\section1 Limitations
+
+\section2 MenuItems
+
+\list
+
+\i QCustomMenuItems are not supported in Mac native menubars, they are supported
+in popupmenus that are not in the Mac native menubar.
+
+\i Items with accelerators that have more than one keystroke
+(QKeySequence) will not be honored, and the first key will be used.
+
+\endlist
+
+\section2 Unsupported Native Widgets
+
+Qt/Mac 3.x has no support for sheets or drawers. Support for these types of windows is provided in Qt/Mac 4.x.
+*/
diff --git a/doc/makeqpf.doc b/doc/makeqpf.doc
new file mode 100644
index 0000000..74600ba
--- /dev/null
+++ b/doc/makeqpf.doc
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Documentation for QPF fonts
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+ \page makeqpf.html
+
+ \title makeqpf
+
+Saves QPF font files by rendering and saving fonts.
+
+\section1 Usage
+
+\code
+makeqpf [-A] [-f spec-file] [font ...]
+\endcode
+
+\list
+\i -A - Render and save all fonts in fontdir
+\i -f - File of lines: fontname character-ranges e.g. "smoothtimes 0-ff,20a0-20af"
+\i font - Font to render and save
+\endlist
+
+*/
diff --git a/doc/man/man1/lrelease.1 b/doc/man/man1/lrelease.1
new file mode 100644
index 0000000..4b28272
--- /dev/null
+++ b/doc/man/man1/lrelease.1
@@ -0,0 +1,101 @@
+.TH lrelease 1 "18 October 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+.\"
+.\" This file may be used under the terms of the GNU General Public
+.\" License versions 2.0 or 3.0 as published by the Free Software
+.\" Foundation and appearing in the file LICENSE.GPL included in the
+.\" packaging of this file. Alternatively you may (at your option) use any
+.\" later version of the GNU General Public License if such license has
+.\" been publicly approved by Trolltech ASA (or its successors, if any)
+.\" and the KDE Free Qt Foundation.
+.\"
+.\" Please review the following information to ensure GNU General
+.\" Public Licensing requirements will be met:
+.\" http://trolltech.com/products/qt/licenses/licensing/opensource/.
+.\" If you are unsure which license is appropriate for your use, please
+.\" review the following information:
+.\" http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+.\" or contact the sales department at sales@trolltech.com.
+.\"
+.\" Licensees holding valid Qt Commercial licenses may use this file in
+.\" accordance with the Qt Commercial License Agreement provided with
+.\" the Software.
+.\"
+.\" This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+.\" INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+.\" A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+.\" herein.
+.\"
+.SH NAME
+lrelease \- generate Qt message files from Qt Linguist translation files
+.SH SYNOPSIS
+.B lrelease
+.RI "[ " options " ] " project-file
+.br
+.B lrelease
+.RI "[ " options " ] " ts-files " [ -qm " qm-file " ]"
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Release
+tool for the Qt GUI toolkit.
+.B Lrelease
+reads a qmake/tmake project file (.pro file) and converts the
+translation files (.ts files) specified in it into Qt message files
+(.qm files) used by the application to translate.
+.PP
+The .qm file format is a compact binary format that provides
+extremely fast lookups for translations and that is used by Qt.
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-nocompress"
+Do not compress the .qm files.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lrelease
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lrelease:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lrelease
+on this project file, the Qt message files gnomovision_dk.qm,
+gnomovision_fi.qm, gnomovision_no.qm and gnomovision_se.qm will be
+generated from gnomovision_dk.ts, gnomovision_fi.ts,
+gnomovision_no.ts and gnomovision_se.ts, respectively.
+.PP
+.B Lrelease
+can also be invoked with a list of .ts files to convert:
+.PP
+.in +4
+.nf
+lrelease gnomovision_*.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lupdate (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/doc/man/man1/lupdate.1 b/doc/man/man1/lupdate.1
new file mode 100644
index 0000000..cb0f652
--- /dev/null
+++ b/doc/man/man1/lupdate.1
@@ -0,0 +1,107 @@
+.TH lupdate 1 "18 October 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2001-2007 Trolltech ASA. All rights reserved.
+.\"
+.\" This file may be used under the terms of the GNU General Public
+.\" License versions 2.0 or 3.0 as published by the Free Software
+.\" Foundation and appearing in the file LICENSE.GPL included in the
+.\" packaging of this file. Alternatively you may (at your option) use any
+.\" later version of the GNU General Public License if such license has
+.\" been publicly approved by Trolltech ASA (or its successors, if any)
+.\" and the KDE Free Qt Foundation.
+.\"
+.\" Please review the following information to ensure GNU General
+.\" Public Licensing requirements will be met:
+.\" http://trolltech.com/products/qt/licenses/licensing/opensource/.
+.\" If you are unsure which license is appropriate for your use, please
+.\" review the following information:
+.\" http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+.\" or contact the sales department at sales@trolltech.com.
+.\"
+.\" Licensees holding valid Qt Commercial licenses may use this file in
+.\" accordance with the Qt Commercial License Agreement provided with
+.\" the Software.
+.\"
+.\" This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+.\" INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+.\" A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+.\" herein.
+.\"
+.SH NAME
+lupdate \- update Qt Linguist translation files
+.SH SYNOPSIS
+.B lupdate
+.RI "[ " options " ] " project-file
+.br
+.B lupdate
+.RI "[ " options " ] " source-files " -ts " ts-files
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Update
+tool for the Qt GUI toolkit.
+.B Lupdate
+reads a qmake/tmake project file (.pro file), finds the translatable
+strings in the specified source, header and interface files, and
+updates the translation files (.ts files) specified in it. The
+translation files are given to the translator who uses
+.B Qt Linguist
+to read the files and insert the translations.
+.PP
+The .ts file format is a simple human-readable XML format that can be
+used with version control systems if required.
+.PP
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-noobsolete"
+Drop all obsolete strings.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lupdate
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lupdate:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lupdate
+on this project file, the translatable strings in all the files
+listed in the HEADERS, SOURCES and FORMS entries will be put in
+the translation files listed in the TRANSLATIONS entry. Previous
+translations will be reused as far as possible, and translated
+strings that have vanished from the source files are marked obsolete.
+.PP
+.B Lupdate
+can also be invoked with a list of C++ source files, .ui files
+and .ts files:
+.PP
+.in +4
+.nf
+lupdate *.cpp *.h *.ui -ts gnomovision_dk.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lrelease (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/doc/man/man1/moc.1 b/doc/man/man1/moc.1
new file mode 100644
index 0000000..3e4f43f
--- /dev/null
+++ b/doc/man/man1/moc.1
@@ -0,0 +1,449 @@
+.TH moc 1 "24 June 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" $Id: qt/moc.1 3.3.8 edited Jan 11 14:38 $
+.\"
+.\" Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+.\"
+.\" This file is part of Qt and may be distributed and used according to
+.\" the terms and conditions described in the LICENSE file.
+.\"
+.nh
+.SH NAME
+moc \- generate Qt meta object support code
+.SH SYNOPSIS
+.B moc
+[-o file] [-i] [-f] [-k] [-ldbg] [-nw] [-p path] [-q path] [-v] file
+.SH DESCRIPTION
+This page documents the
+.B Meta Object Compiler
+for the Qt GUI application framework. The
+.B moc
+reads one or more C++ class declarations from a C++ header or source
+file and generates one C++ source file containing meta object
+information for the classes. The C++ source file generated by the
+.B moc
+must be compiled and linked with the implementation of the class (or it
+can be #included into the class's source file).
+.PP
+If you use
+.B qmake
+to create your Makefiles, build rules will be included that call the
+.B moc
+when required, so you will not need to use the
+.B moc
+directly.
+.PP
+In brief, the meta object system is a structure used by Qt (see
+.BR http://doc.trolltech.com ")"
+for component programming and run time type information. It adds
+properties and inheritance information to (some) classes and
+provides a new type of communication between those instances of those
+classes, signal-slot
+connections.
+.SH OPTIONS
+.TP
+.I "-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I -f
+Force the generation of an #include statement in the output.
+This is the default for files whose name matches the regular
+expression .[hH][^.]* (i.e. the extension starts with
+.B H
+or
+.B h
+). This
+option is only useful if you have header files that do not follow the
+standard naming conventions.
+.TP
+.I "-i"
+Do not generate an #include statement in the output. This may be used
+to run
+.B moc
+on a C++ file containing one or more class declarations. You should then
+#include the meta object code in the .cpp file (see USAGE below). If both
+.I -f
+and
+.I -i
+are present, the last one wins.
+.TP
+.I "-nw"
+Do not generate any warnings. Not recommended.
+.TP
+.I "-ldbg"
+Write a flood of lex debug information to stdout.
+.TP
+.I "-p path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name in the generated #include statement (if one is generated).
+.TP
+.I "-q path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name of qt #include files in the generated code.
+.TP
+.I "-v"
+Displays the version of
+.B moc
+and Qt.
+.PP
+You can explicitly tell the
+.B moc
+not to parse parts of a header
+file. It recognizes any C++ comment (//) that contains the substrings
+MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you
+can have several levels of them. The net result as seen by the
+.B moc
+is as if you had removed all lines between a MOC_SKIP_BEGIN and a
+MOC_SKIP_END
+.SH USAGE
+.B moc
+is almost always invoked by
+.BR make (1),
+not by hand.
+.PP
+.B moc
+is typically used with an input file containing class declarations
+like this:
+.PP
+.in +4
+.nf
+class YourClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( ... )
+ Q_CLASSINFO( ... )
+
+public:
+ YourClass( QObject * parent=0, const char * name=0 );
+ ~YourClass();
+
+signals:
+
+public slots:
+
+};
+.fi
+.in -4
+.PP
+Here is a useful makefile rule if you only use GNU make:
+.PP
+.in +4
+.nf
+m%.cpp: %.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+.nf
+mNAME.cpp: NAME.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+You must also remember to add
+.I mNAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I mNAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B moc
+doesn't know that, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+If you have class declarations in C++ files, we recommend that you use
+a makefile rule like this:
+.PP
+.in +4
+.nf
+NAME.o: mNAME.cpp
+
+mNAME.cpp: NAME.cpp
+ moc -i $< -o $@
+.fi
+.in -4
+.PP
+This guarantees that
+.BR make (1)
+will run the
+.B moc
+before it compiles
+.IR NAME.cpp .
+You can then put
+.PP
+.ti +4
+#include "nNAME.cpp"
+.PP
+at the end of
+.IR NAME.cpp ,
+where all the classes declared in that file are fully known.
+.SH DIAGNOSTICS
+Sometimes you may get linkage errors, saying that
+YourClass::className() is undefined or that YourClass lacks a vtbl.
+Those errors happen most often when you forget to compile the
+moc-generated C++ code or include that object file in the link
+command.
+.PP
+The
+.B moc
+will warn you about a number of dangerous or illegal constructs.
+.SH BUGS
+
+The
+.B moc
+does not expand #include or #define, it simply skips any preprocessor
+directives it encounters. This is regrettable, but is normally not a
+problem in practice.
+
+The
+.B moc
+does not handle all of C++. The main problem is that class templates
+cannot have signals or slots. This is an important bug. Here is an
+example:
+.PP
+.in +4
+.nf
+class SomeTemplate<int> : public QFrame {
+ Q_OBJECT
+ ....
+signals:
+ void bugInMocDetected( int );
+};
+.fi
+.in -4
+.PP
+Less importantly, the following constructs are illegal. All of them
+have have alternatives which we think are usually better, so removing
+these limitations is not a high priority for us.
+.SS "Multiple inheritance requires QObject to be first."
+If you are using multiple inheritance,
+.B moc
+assumes that the
+.B first
+inherited class is a subclass of QObject. Also, be sure that
+.B only
+the first inherited class is a QObject.
+.PP
+.in +4
+.nf
+class SomeClass : public QObject, public OtherClass {
+ ...
+};
+.fi
+.in -4
+.PP
+This bug is almost impossible to fix; since the
+.B moc
+does not expand
+#include or #define, it cannot find out which one of the base classes is a
+QObject.
+.SS "Function pointers cannot be arguments to signals or slots."
+In most cases where you would consider that, we think inheritance is a
+better alternative. Here is an example of illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ // illegal
+ void apply( void (*apply)(List *, void *), void * );
+};
+.fi
+.in -4
+.PP
+You can work around this restriction like this:
+.PP
+.in +4
+.nf
+typedef void (*ApplyFunctionType)( List *, void * );
+
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ void apply( ApplyFunctionType, char * );
+};
+.fi
+.in -4
+.PP
+It may sometimes be even better to replace the function pointer with
+inheritance and virtual functions, signals or slots.
+.SS "Friend declarations cannot be placed in signals or slots sections"
+Sometimes it will work, but in general, friend declarations cannot be
+placed in
+.B signals
+or
+.B slots
+sections. Put them in the good old
+.BR private ", " protected
+or
+.B public
+sections instead. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+signals:
+ friend class ClassTemplate<char>; // illegal
+};
+.fi
+.in -4
+.SS "Signals and slots cannot be upgraded"
+The C++ feature of upgrading an inherited member function to
+.B public
+status is not extended to cover signals and slots. Here is an illegal
+example:
+.PP
+.in +4
+.nf
+class Whatever : public QButtonGroup {
+ ...
+public slots:
+ QButtonGroup::buttonPressed; // illegal
+ ...
+};
+.fi
+.in -4
+.PP
+The QButtonGroup::buttonPressed() slot is protected.
+.PP
+C++ quiz: What happens if you try to upgrade a protected member
+function which is overloaded?
+.IP
+- All the functions are upgraded.
+.IP
+- That is not legal C++.
+.\" Good idea, but look in the SEE ALSO section...
+.SS "Type macros cannot be used for signal and slot arguments"
+
+Since the
+.B moc
+does not expand #define, type macros that take an argument
+will not work in signals and slots. Here is an illegal example:
+.PP
+.in +4
+.nf
+#ifdef ultrix
+#define SIGNEDNESS(a) unsigned a
+#else
+#define SIGNEDNESS(a) a
+#endif
+class Whatever : public QObject {
+ ...
+signals:
+ void someSignal( SIGNEDNESS(int) ); // illegal
+};
+.PP
+A #define without arguments works.
+.fi
+.in -4
+.SS "Nested classes cannot be in the signals or slots sections nor have signals or slots"
+Here's an example:
+.PP
+.in +4
+.nf
+class A {
+ Q_OBJECT
+public:
+ class B {
+ public slots: // illegal
+ void b();
+ ...
+ };
+signals:
+ class B { // illegal
+ void b();
+ ...
+ }:
+};
+.fi
+.in -4
+.PP
+.SS "Constructors cannot be used in signals or slots sections"
+It is a mystery to us why anyone would put a constructor on either the
+.B signals
+or
+.B slots
+sections. You can't, anyway (except that it happens to work in some
+cases). Put them in
+.BR private ", " protected
+or
+.B public
+sections, where they belong. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public slots:
+ SomeClass( QObject *parent, const char *name )
+ : QObject( parent, name ) {} // illegal
+ ...
+};
+.fi
+.in -4
+.SS "Properties need to be declared before the public section that contains the respective get and set functions"
+.PP
+Declaring the first property within or after the public section that
+contains the type definition and the respective get and set functions
+does not work as expected. The
+.B moc
+will complain that it can neither
+find the functions nor resolve the type. Here is an example of the
+illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public:
+ ...
+ // illegal
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+Work around this limitation by declaring all properties at the
+beginning of the class declaration, right after Q_OBJECT:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+public:
+ ...
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com ", "
+.BR "C++ ARM, section r.11.3" " (for the answer to the quiz), and"
+.BR http://doc.trolltech.com " (for complete Qt documentation)."
diff --git a/doc/man/man1/uic.1 b/doc/man/man1/uic.1
new file mode 100644
index 0000000..154e494
--- /dev/null
+++ b/doc/man/man1/uic.1
@@ -0,0 +1,136 @@
+.TH uic 1 "2 Aug 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2000-2007 Trolltech ASA. All rights reserved.
+.\"
+.\" This file is part of Qt and may be distributed and used according to
+.\" the terms and conditions described in the LICENSE file.
+.\"
+.SH NAME
+uic \- Qt user interface compiler
+.SH SYNOPSIS
+.B uic
+[options] file
+.SH DESCRIPTION
+This page documents the
+.B User Interface Compiler
+for the Qt GUI toolkit. The
+.B uic
+reads a user interface definition (.ui) file in XML as generated by
+.I Qt Designer
+and creates corresponding C++ header or source files. It also
+generates an image file that embeds raw image data in C++ source code.
+.PP
+.PP
+Generate declaration:
+.br
+.I "\fB uic [options] \fI<file>"
+.br
+.PP
+Generate implementation:
+.br
+.I "\fB uic [options] -impl \fI<headerfile> <file>"
+.br
+ \fI<headerfile>\fP: name of the declaration file
+.br
+.PP
+Generate image collection:
+.br
+.I "\fB uic [options] -embed \fI<project> <image1> <image2> <image3>\fP ..."
+.br
+ \fI<project>\fP: project name
+ \fI<image[1..n]>\fP: image files
+.br
+.\" .PP
+.\" Generate binary UI file:
+.\" .br
+.\" .I "\fB uic [options] -binary \fI<file>"
+.\" .br
+.PP
+.PP
+For convenience,
+.B uic
+can also generate declaration or implementation stubs for subclasses.
+.PP
+Generate subclass declaration:
+.br
+.I "\fB uic [options] -subdecl \fI<subclassname> <baseclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<baseclassheaderfile>\fP: declaration file of the baseclass
+.PP
+Generate subclass implementation:
+.br
+.I "\fB uic [options] -subimpl \fI<subclassname> <subclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<subclassheaderfile>\fP: declaration file of the subclass
+
+.SH GENERAL OPTIONS
+.TP
+.I "-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I "-nofwd"
+Omit forward declarations of custom classes in the generated
+header file. This is necessary if typedef classes are used.
+.TP
+.I "-tr func"
+Use
+.I func()
+instead of tr() for internationalization.
+.TP
+.I "-version"
+Display the version of
+.B uic
+and exit.
+
+.SH USAGE
+.B uic
+is almost always invoked by
+.BR make (1),
+rather than by hand.
+.PP
+Here are useful makefile rules if you only use GNU make:
+.PP
+.in +4
+%.h: %.ui
+.br
+ uic $< -o $@
+.br
+%.cpp: %.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+NAME.h: NAME.ui
+.br
+ uic $< -o $@
+.br
+NAME.cpp: NAME.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+You must also remember to add
+.I NAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I NAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B uic
+doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com/ " "
+.SH AUTHOR
+Trolltech ASA <info@trolltech.com>
diff --git a/doc/man/man3/QAccel.3qt b/doc/man/man3/QAccel.3qt
new file mode 100644
index 0000000..a9fc0bb
--- /dev/null
+++ b/doc/man/man3/QAccel.3qt
@@ -0,0 +1 @@
+.so man3/qaccel.3qt
diff --git a/doc/man/man3/QAccessible.3qt b/doc/man/man3/QAccessible.3qt
new file mode 100644
index 0000000..8ff1652
--- /dev/null
+++ b/doc/man/man3/QAccessible.3qt
@@ -0,0 +1 @@
+.so man3/qaccessible.3qt
diff --git a/doc/man/man3/QAccessibleInterface.3qt b/doc/man/man3/QAccessibleInterface.3qt
new file mode 100644
index 0000000..ccbbc42
--- /dev/null
+++ b/doc/man/man3/QAccessibleInterface.3qt
@@ -0,0 +1 @@
+.so man3/qaccessibleinterface.3qt
diff --git a/doc/man/man3/QAccessibleObject.3qt b/doc/man/man3/QAccessibleObject.3qt
new file mode 100644
index 0000000..793f888
--- /dev/null
+++ b/doc/man/man3/QAccessibleObject.3qt
@@ -0,0 +1 @@
+.so man3/qaccessibleobject.3qt
diff --git a/doc/man/man3/QAction.3qt b/doc/man/man3/QAction.3qt
new file mode 100644
index 0000000..1212002
--- /dev/null
+++ b/doc/man/man3/QAction.3qt
@@ -0,0 +1 @@
+.so man3/qaction.3qt
diff --git a/doc/man/man3/QActionGroup.3qt b/doc/man/man3/QActionGroup.3qt
new file mode 100644
index 0000000..f88fe7f
--- /dev/null
+++ b/doc/man/man3/QActionGroup.3qt
@@ -0,0 +1 @@
+.so man3/qactiongroup.3qt
diff --git a/doc/man/man3/QApplication.3qt b/doc/man/man3/QApplication.3qt
new file mode 100644
index 0000000..58be38b
--- /dev/null
+++ b/doc/man/man3/QApplication.3qt
@@ -0,0 +1 @@
+.so man3/qapplication.3qt
diff --git a/doc/man/man3/QAsciiCache.3qt b/doc/man/man3/QAsciiCache.3qt
new file mode 100644
index 0000000..5770784
--- /dev/null
+++ b/doc/man/man3/QAsciiCache.3qt
@@ -0,0 +1 @@
+.so man3/qasciicache.3qt
diff --git a/doc/man/man3/QAsciiCacheIterator.3qt b/doc/man/man3/QAsciiCacheIterator.3qt
new file mode 100644
index 0000000..aa04113
--- /dev/null
+++ b/doc/man/man3/QAsciiCacheIterator.3qt
@@ -0,0 +1 @@
+.so man3/qasciicacheiterator.3qt
diff --git a/doc/man/man3/QAsciiDict.3qt b/doc/man/man3/QAsciiDict.3qt
new file mode 100644
index 0000000..750f270
--- /dev/null
+++ b/doc/man/man3/QAsciiDict.3qt
@@ -0,0 +1 @@
+.so man3/qasciidict.3qt
diff --git a/doc/man/man3/QAsciiDictIterator.3qt b/doc/man/man3/QAsciiDictIterator.3qt
new file mode 100644
index 0000000..32c4853
--- /dev/null
+++ b/doc/man/man3/QAsciiDictIterator.3qt
@@ -0,0 +1 @@
+.so man3/qasciidictiterator.3qt
diff --git a/doc/man/man3/QAssistantClient.3qt b/doc/man/man3/QAssistantClient.3qt
new file mode 100644
index 0000000..63fad33
--- /dev/null
+++ b/doc/man/man3/QAssistantClient.3qt
@@ -0,0 +1 @@
+.so man3/qassistantclient.3qt
diff --git a/doc/man/man3/QAxAggregated.3qt b/doc/man/man3/QAxAggregated.3qt
new file mode 100644
index 0000000..eaf21e7
--- /dev/null
+++ b/doc/man/man3/QAxAggregated.3qt
@@ -0,0 +1 @@
+.so man3/qaxaggregated.3qt
diff --git a/doc/man/man3/QAxBase.3qt b/doc/man/man3/QAxBase.3qt
new file mode 100644
index 0000000..eaff9fd
--- /dev/null
+++ b/doc/man/man3/QAxBase.3qt
@@ -0,0 +1 @@
+.so man3/qaxbase.3qt
diff --git a/doc/man/man3/QAxBindable.3qt b/doc/man/man3/QAxBindable.3qt
new file mode 100644
index 0000000..76e6016
--- /dev/null
+++ b/doc/man/man3/QAxBindable.3qt
@@ -0,0 +1 @@
+.so man3/qaxbindable.3qt
diff --git a/doc/man/man3/QAxFactory.3qt b/doc/man/man3/QAxFactory.3qt
new file mode 100644
index 0000000..51336b1
--- /dev/null
+++ b/doc/man/man3/QAxFactory.3qt
@@ -0,0 +1 @@
+.so man3/qaxfactory.3qt
diff --git a/doc/man/man3/QAxObject.3qt b/doc/man/man3/QAxObject.3qt
new file mode 100644
index 0000000..1a03d2e
--- /dev/null
+++ b/doc/man/man3/QAxObject.3qt
@@ -0,0 +1 @@
+.so man3/qaxobject.3qt
diff --git a/doc/man/man3/QAxScript.3qt b/doc/man/man3/QAxScript.3qt
new file mode 100644
index 0000000..9ad0b75
--- /dev/null
+++ b/doc/man/man3/QAxScript.3qt
@@ -0,0 +1 @@
+.so man3/qaxscript.3qt
diff --git a/doc/man/man3/QAxScriptEngine.3qt b/doc/man/man3/QAxScriptEngine.3qt
new file mode 100644
index 0000000..bdb3d0f
--- /dev/null
+++ b/doc/man/man3/QAxScriptEngine.3qt
@@ -0,0 +1 @@
+.so man3/qaxscriptengine.3qt
diff --git a/doc/man/man3/QAxScriptManager.3qt b/doc/man/man3/QAxScriptManager.3qt
new file mode 100644
index 0000000..17568f6
--- /dev/null
+++ b/doc/man/man3/QAxScriptManager.3qt
@@ -0,0 +1 @@
+.so man3/qaxscriptmanager.3qt
diff --git a/doc/man/man3/QAxWidget.3qt b/doc/man/man3/QAxWidget.3qt
new file mode 100644
index 0000000..628b4e3
--- /dev/null
+++ b/doc/man/man3/QAxWidget.3qt
@@ -0,0 +1 @@
+.so man3/qaxwidget.3qt
diff --git a/doc/man/man3/QBig5Codec.3qt b/doc/man/man3/QBig5Codec.3qt
new file mode 100644
index 0000000..38f1139
--- /dev/null
+++ b/doc/man/man3/QBig5Codec.3qt
@@ -0,0 +1 @@
+.so man3/qbig5codec.3qt
diff --git a/doc/man/man3/QBig5hkscsCodec.3qt b/doc/man/man3/QBig5hkscsCodec.3qt
new file mode 100644
index 0000000..3162729
--- /dev/null
+++ b/doc/man/man3/QBig5hkscsCodec.3qt
@@ -0,0 +1 @@
+.so man3/qbig5hkscscodec.3qt
diff --git a/doc/man/man3/QBitArray.3qt b/doc/man/man3/QBitArray.3qt
new file mode 100644
index 0000000..c038849
--- /dev/null
+++ b/doc/man/man3/QBitArray.3qt
@@ -0,0 +1 @@
+.so man3/qbitarray.3qt
diff --git a/doc/man/man3/QBitVal.3qt b/doc/man/man3/QBitVal.3qt
new file mode 100644
index 0000000..0071497
--- /dev/null
+++ b/doc/man/man3/QBitVal.3qt
@@ -0,0 +1 @@
+.so man3/qbitval.3qt
diff --git a/doc/man/man3/QBitmap.3qt b/doc/man/man3/QBitmap.3qt
new file mode 100644
index 0000000..58bcf31
--- /dev/null
+++ b/doc/man/man3/QBitmap.3qt
@@ -0,0 +1 @@
+.so man3/qbitmap.3qt
diff --git a/doc/man/man3/QBoxLayout.3qt b/doc/man/man3/QBoxLayout.3qt
new file mode 100644
index 0000000..bcda2ae
--- /dev/null
+++ b/doc/man/man3/QBoxLayout.3qt
@@ -0,0 +1 @@
+.so man3/qboxlayout.3qt
diff --git a/doc/man/man3/QBrush.3qt b/doc/man/man3/QBrush.3qt
new file mode 100644
index 0000000..dd4d559
--- /dev/null
+++ b/doc/man/man3/QBrush.3qt
@@ -0,0 +1 @@
+.so man3/qbrush.3qt
diff --git a/doc/man/man3/QBuffer.3qt b/doc/man/man3/QBuffer.3qt
new file mode 100644
index 0000000..458f53b
--- /dev/null
+++ b/doc/man/man3/QBuffer.3qt
@@ -0,0 +1 @@
+.so man3/qbuffer.3qt
diff --git a/doc/man/man3/QButton.3qt b/doc/man/man3/QButton.3qt
new file mode 100644
index 0000000..442d65a
--- /dev/null
+++ b/doc/man/man3/QButton.3qt
@@ -0,0 +1 @@
+.so man3/qbutton.3qt
diff --git a/doc/man/man3/QButtonGroup.3qt b/doc/man/man3/QButtonGroup.3qt
new file mode 100644
index 0000000..da65dec
--- /dev/null
+++ b/doc/man/man3/QButtonGroup.3qt
@@ -0,0 +1 @@
+.so man3/qbuttongroup.3qt
diff --git a/doc/man/man3/QByteArray.3qt b/doc/man/man3/QByteArray.3qt
new file mode 100644
index 0000000..6ee1266
--- /dev/null
+++ b/doc/man/man3/QByteArray.3qt
@@ -0,0 +1 @@
+.so man3/qbytearray.3qt
diff --git a/doc/man/man3/QCDEStyle.3qt b/doc/man/man3/QCDEStyle.3qt
new file mode 100644
index 0000000..3928f50
--- /dev/null
+++ b/doc/man/man3/QCDEStyle.3qt
@@ -0,0 +1 @@
+.so man3/qcdestyle.3qt
diff --git a/doc/man/man3/QCString.3qt b/doc/man/man3/QCString.3qt
new file mode 100644
index 0000000..9bfa0a3
--- /dev/null
+++ b/doc/man/man3/QCString.3qt
@@ -0,0 +1 @@
+.so man3/qcstring.3qt
diff --git a/doc/man/man3/QCache.3qt b/doc/man/man3/QCache.3qt
new file mode 100644
index 0000000..6a77927
--- /dev/null
+++ b/doc/man/man3/QCache.3qt
@@ -0,0 +1 @@
+.so man3/qcache.3qt
diff --git a/doc/man/man3/QCacheIterator.3qt b/doc/man/man3/QCacheIterator.3qt
new file mode 100644
index 0000000..7dd86df
--- /dev/null
+++ b/doc/man/man3/QCacheIterator.3qt
@@ -0,0 +1 @@
+.so man3/qcacheiterator.3qt
diff --git a/doc/man/man3/QCanvas.3qt b/doc/man/man3/QCanvas.3qt
new file mode 100644
index 0000000..f117aa4
--- /dev/null
+++ b/doc/man/man3/QCanvas.3qt
@@ -0,0 +1 @@
+.so man3/qcanvas.3qt
diff --git a/doc/man/man3/QCanvasEllipse.3qt b/doc/man/man3/QCanvasEllipse.3qt
new file mode 100644
index 0000000..b2cea0a
--- /dev/null
+++ b/doc/man/man3/QCanvasEllipse.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasellipse.3qt
diff --git a/doc/man/man3/QCanvasItem.3qt b/doc/man/man3/QCanvasItem.3qt
new file mode 100644
index 0000000..553e36c
--- /dev/null
+++ b/doc/man/man3/QCanvasItem.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasitem.3qt
diff --git a/doc/man/man3/QCanvasItemList.3qt b/doc/man/man3/QCanvasItemList.3qt
new file mode 100644
index 0000000..1a871d3
--- /dev/null
+++ b/doc/man/man3/QCanvasItemList.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasitemlist.3qt
diff --git a/doc/man/man3/QCanvasLine.3qt b/doc/man/man3/QCanvasLine.3qt
new file mode 100644
index 0000000..aa7e1c0
--- /dev/null
+++ b/doc/man/man3/QCanvasLine.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasline.3qt
diff --git a/doc/man/man3/QCanvasPixmap.3qt b/doc/man/man3/QCanvasPixmap.3qt
new file mode 100644
index 0000000..6669425
--- /dev/null
+++ b/doc/man/man3/QCanvasPixmap.3qt
@@ -0,0 +1 @@
+.so man3/qcanvaspixmap.3qt
diff --git a/doc/man/man3/QCanvasPixmapArray.3qt b/doc/man/man3/QCanvasPixmapArray.3qt
new file mode 100644
index 0000000..69010c7
--- /dev/null
+++ b/doc/man/man3/QCanvasPixmapArray.3qt
@@ -0,0 +1 @@
+.so man3/qcanvaspixmaparray.3qt
diff --git a/doc/man/man3/QCanvasPolygon.3qt b/doc/man/man3/QCanvasPolygon.3qt
new file mode 100644
index 0000000..348fa12
--- /dev/null
+++ b/doc/man/man3/QCanvasPolygon.3qt
@@ -0,0 +1 @@
+.so man3/qcanvaspolygon.3qt
diff --git a/doc/man/man3/QCanvasPolygonalItem.3qt b/doc/man/man3/QCanvasPolygonalItem.3qt
new file mode 100644
index 0000000..cf6c434
--- /dev/null
+++ b/doc/man/man3/QCanvasPolygonalItem.3qt
@@ -0,0 +1 @@
+.so man3/qcanvaspolygonalitem.3qt
diff --git a/doc/man/man3/QCanvasRectangle.3qt b/doc/man/man3/QCanvasRectangle.3qt
new file mode 100644
index 0000000..ebadbbe
--- /dev/null
+++ b/doc/man/man3/QCanvasRectangle.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasrectangle.3qt
diff --git a/doc/man/man3/QCanvasSpline.3qt b/doc/man/man3/QCanvasSpline.3qt
new file mode 100644
index 0000000..b031870
--- /dev/null
+++ b/doc/man/man3/QCanvasSpline.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasspline.3qt
diff --git a/doc/man/man3/QCanvasSprite.3qt b/doc/man/man3/QCanvasSprite.3qt
new file mode 100644
index 0000000..0aeb9f3
--- /dev/null
+++ b/doc/man/man3/QCanvasSprite.3qt
@@ -0,0 +1 @@
+.so man3/qcanvassprite.3qt
diff --git a/doc/man/man3/QCanvasText.3qt b/doc/man/man3/QCanvasText.3qt
new file mode 100644
index 0000000..e8caf1c
--- /dev/null
+++ b/doc/man/man3/QCanvasText.3qt
@@ -0,0 +1 @@
+.so man3/qcanvastext.3qt
diff --git a/doc/man/man3/QCanvasView.3qt b/doc/man/man3/QCanvasView.3qt
new file mode 100644
index 0000000..534014c
--- /dev/null
+++ b/doc/man/man3/QCanvasView.3qt
@@ -0,0 +1 @@
+.so man3/qcanvasview.3qt
diff --git a/doc/man/man3/QChar.3qt b/doc/man/man3/QChar.3qt
new file mode 100644
index 0000000..420b150
--- /dev/null
+++ b/doc/man/man3/QChar.3qt
@@ -0,0 +1 @@
+.so man3/qchar.3qt
diff --git a/doc/man/man3/QCharRef.3qt b/doc/man/man3/QCharRef.3qt
new file mode 100644
index 0000000..b465894
--- /dev/null
+++ b/doc/man/man3/QCharRef.3qt
@@ -0,0 +1 @@
+.so man3/qcharref.3qt
diff --git a/doc/man/man3/QCheckBox.3qt b/doc/man/man3/QCheckBox.3qt
new file mode 100644
index 0000000..fce0bd2
--- /dev/null
+++ b/doc/man/man3/QCheckBox.3qt
@@ -0,0 +1 @@
+.so man3/qcheckbox.3qt
diff --git a/doc/man/man3/QCheckListItem.3qt b/doc/man/man3/QCheckListItem.3qt
new file mode 100644
index 0000000..508ff19
--- /dev/null
+++ b/doc/man/man3/QCheckListItem.3qt
@@ -0,0 +1 @@
+.so man3/qchecklistitem.3qt
diff --git a/doc/man/man3/QCheckTableItem.3qt b/doc/man/man3/QCheckTableItem.3qt
new file mode 100644
index 0000000..11799c8
--- /dev/null
+++ b/doc/man/man3/QCheckTableItem.3qt
@@ -0,0 +1 @@
+.so man3/qchecktableitem.3qt
diff --git a/doc/man/man3/QChildEvent.3qt b/doc/man/man3/QChildEvent.3qt
new file mode 100644
index 0000000..accb58a
--- /dev/null
+++ b/doc/man/man3/QChildEvent.3qt
@@ -0,0 +1 @@
+.so man3/qchildevent.3qt
diff --git a/doc/man/man3/QClipboard.3qt b/doc/man/man3/QClipboard.3qt
new file mode 100644
index 0000000..47af37f
--- /dev/null
+++ b/doc/man/man3/QClipboard.3qt
@@ -0,0 +1 @@
+.so man3/qclipboard.3qt
diff --git a/doc/man/man3/QCloseEvent.3qt b/doc/man/man3/QCloseEvent.3qt
new file mode 100644
index 0000000..e223e32
--- /dev/null
+++ b/doc/man/man3/QCloseEvent.3qt
@@ -0,0 +1 @@
+.so man3/qcloseevent.3qt
diff --git a/doc/man/man3/QColor.3qt b/doc/man/man3/QColor.3qt
new file mode 100644
index 0000000..eba87dd
--- /dev/null
+++ b/doc/man/man3/QColor.3qt
@@ -0,0 +1 @@
+.so man3/qcolor.3qt
diff --git a/doc/man/man3/QColorDialog.3qt b/doc/man/man3/QColorDialog.3qt
new file mode 100644
index 0000000..d945882
--- /dev/null
+++ b/doc/man/man3/QColorDialog.3qt
@@ -0,0 +1 @@
+.so man3/qcolordialog.3qt
diff --git a/doc/man/man3/QColorDrag.3qt b/doc/man/man3/QColorDrag.3qt
new file mode 100644
index 0000000..06bf471
--- /dev/null
+++ b/doc/man/man3/QColorDrag.3qt
@@ -0,0 +1 @@
+.so man3/qcolordrag.3qt
diff --git a/doc/man/man3/QColorGroup.3qt b/doc/man/man3/QColorGroup.3qt
new file mode 100644
index 0000000..77af90a
--- /dev/null
+++ b/doc/man/man3/QColorGroup.3qt
@@ -0,0 +1 @@
+.so man3/qcolorgroup.3qt
diff --git a/doc/man/man3/QComboBox.3qt b/doc/man/man3/QComboBox.3qt
new file mode 100644
index 0000000..6c208ef
--- /dev/null
+++ b/doc/man/man3/QComboBox.3qt
@@ -0,0 +1 @@
+.so man3/qcombobox.3qt
diff --git a/doc/man/man3/QComboTableItem.3qt b/doc/man/man3/QComboTableItem.3qt
new file mode 100644
index 0000000..7bc478e
--- /dev/null
+++ b/doc/man/man3/QComboTableItem.3qt
@@ -0,0 +1 @@
+.so man3/qcombotableitem.3qt
diff --git a/doc/man/man3/QCommonStyle.3qt b/doc/man/man3/QCommonStyle.3qt
new file mode 100644
index 0000000..9c61580
--- /dev/null
+++ b/doc/man/man3/QCommonStyle.3qt
@@ -0,0 +1 @@
+.so man3/qcommonstyle.3qt
diff --git a/doc/man/man3/QConstString.3qt b/doc/man/man3/QConstString.3qt
new file mode 100644
index 0000000..5658549
--- /dev/null
+++ b/doc/man/man3/QConstString.3qt
@@ -0,0 +1 @@
+.so man3/qconststring.3qt
diff --git a/doc/man/man3/QContextMenuEvent.3qt b/doc/man/man3/QContextMenuEvent.3qt
new file mode 100644
index 0000000..ba554c0
--- /dev/null
+++ b/doc/man/man3/QContextMenuEvent.3qt
@@ -0,0 +1 @@
+.so man3/qcontextmenuevent.3qt
diff --git a/doc/man/man3/QCopChannel.3qt b/doc/man/man3/QCopChannel.3qt
new file mode 100644
index 0000000..35d01b0
--- /dev/null
+++ b/doc/man/man3/QCopChannel.3qt
@@ -0,0 +1 @@
+.so man3/qcopchannel.3qt
diff --git a/doc/man/man3/QCursor.3qt b/doc/man/man3/QCursor.3qt
new file mode 100644
index 0000000..cb8f2ef
--- /dev/null
+++ b/doc/man/man3/QCursor.3qt
@@ -0,0 +1 @@
+.so man3/qcursor.3qt
diff --git a/doc/man/man3/QCustomEvent.3qt b/doc/man/man3/QCustomEvent.3qt
new file mode 100644
index 0000000..5a4166c
--- /dev/null
+++ b/doc/man/man3/QCustomEvent.3qt
@@ -0,0 +1 @@
+.so man3/qcustomevent.3qt
diff --git a/doc/man/man3/QCustomMenuItem.3qt b/doc/man/man3/QCustomMenuItem.3qt
new file mode 100644
index 0000000..8157c72
--- /dev/null
+++ b/doc/man/man3/QCustomMenuItem.3qt
@@ -0,0 +1 @@
+.so man3/qcustommenuitem.3qt
diff --git a/doc/man/man3/QDataBrowser.3qt b/doc/man/man3/QDataBrowser.3qt
new file mode 100644
index 0000000..b11342e
--- /dev/null
+++ b/doc/man/man3/QDataBrowser.3qt
@@ -0,0 +1 @@
+.so man3/qdatabrowser.3qt
diff --git a/doc/man/man3/QDataStream.3qt b/doc/man/man3/QDataStream.3qt
new file mode 100644
index 0000000..b2bfba3
--- /dev/null
+++ b/doc/man/man3/QDataStream.3qt
@@ -0,0 +1 @@
+.so man3/qdatastream.3qt
diff --git a/doc/man/man3/QDataTable.3qt b/doc/man/man3/QDataTable.3qt
new file mode 100644
index 0000000..61b9018
--- /dev/null
+++ b/doc/man/man3/QDataTable.3qt
@@ -0,0 +1 @@
+.so man3/qdatatable.3qt
diff --git a/doc/man/man3/QDataView.3qt b/doc/man/man3/QDataView.3qt
new file mode 100644
index 0000000..bd03492
--- /dev/null
+++ b/doc/man/man3/QDataView.3qt
@@ -0,0 +1 @@
+.so man3/qdataview.3qt
diff --git a/doc/man/man3/QDate.3qt b/doc/man/man3/QDate.3qt
new file mode 100644
index 0000000..b505995
--- /dev/null
+++ b/doc/man/man3/QDate.3qt
@@ -0,0 +1 @@
+.so man3/qdate.3qt
diff --git a/doc/man/man3/QDateEdit.3qt b/doc/man/man3/QDateEdit.3qt
new file mode 100644
index 0000000..be6df0c
--- /dev/null
+++ b/doc/man/man3/QDateEdit.3qt
@@ -0,0 +1 @@
+.so man3/qdateedit.3qt
diff --git a/doc/man/man3/QDateTime.3qt b/doc/man/man3/QDateTime.3qt
new file mode 100644
index 0000000..23afa06
--- /dev/null
+++ b/doc/man/man3/QDateTime.3qt
@@ -0,0 +1 @@
+.so man3/qdatetime.3qt
diff --git a/doc/man/man3/QDateTimeEdit.3qt b/doc/man/man3/QDateTimeEdit.3qt
new file mode 100644
index 0000000..b515378
--- /dev/null
+++ b/doc/man/man3/QDateTimeEdit.3qt
@@ -0,0 +1 @@
+.so man3/qdatetimeedit.3qt
diff --git a/doc/man/man3/QDateTimeEditBase.3qt b/doc/man/man3/QDateTimeEditBase.3qt
new file mode 100644
index 0000000..ad813f8
--- /dev/null
+++ b/doc/man/man3/QDateTimeEditBase.3qt
@@ -0,0 +1 @@
+.so man3/qdatetimeeditbase.3qt
diff --git a/doc/man/man3/QDeepCopy.3qt b/doc/man/man3/QDeepCopy.3qt
new file mode 100644
index 0000000..2cf6e79
--- /dev/null
+++ b/doc/man/man3/QDeepCopy.3qt
@@ -0,0 +1 @@
+.so man3/qdeepcopy.3qt
diff --git a/doc/man/man3/QDesktopWidget.3qt b/doc/man/man3/QDesktopWidget.3qt
new file mode 100644
index 0000000..dab3248
--- /dev/null
+++ b/doc/man/man3/QDesktopWidget.3qt
@@ -0,0 +1 @@
+.so man3/qdesktopwidget.3qt
diff --git a/doc/man/man3/QDial.3qt b/doc/man/man3/QDial.3qt
new file mode 100644
index 0000000..56c4e7b
--- /dev/null
+++ b/doc/man/man3/QDial.3qt
@@ -0,0 +1 @@
+.so man3/qdial.3qt
diff --git a/doc/man/man3/QDialog.3qt b/doc/man/man3/QDialog.3qt
new file mode 100644
index 0000000..0954f99
--- /dev/null
+++ b/doc/man/man3/QDialog.3qt
@@ -0,0 +1 @@
+.so man3/qdialog.3qt
diff --git a/doc/man/man3/QDict.3qt b/doc/man/man3/QDict.3qt
new file mode 100644
index 0000000..bfcc71f
--- /dev/null
+++ b/doc/man/man3/QDict.3qt
@@ -0,0 +1 @@
+.so man3/qdict.3qt
diff --git a/doc/man/man3/QDictIterator.3qt b/doc/man/man3/QDictIterator.3qt
new file mode 100644
index 0000000..c1cf4a1
--- /dev/null
+++ b/doc/man/man3/QDictIterator.3qt
@@ -0,0 +1 @@
+.so man3/qdictiterator.3qt
diff --git a/doc/man/man3/QDir.3qt b/doc/man/man3/QDir.3qt
new file mode 100644
index 0000000..f6809fa
--- /dev/null
+++ b/doc/man/man3/QDir.3qt
@@ -0,0 +1 @@
+.so man3/qdir.3qt
diff --git a/doc/man/man3/QDirectPainter.3qt b/doc/man/man3/QDirectPainter.3qt
new file mode 100644
index 0000000..4894aa8
--- /dev/null
+++ b/doc/man/man3/QDirectPainter.3qt
@@ -0,0 +1 @@
+.so man3/qdirectpainter.3qt
diff --git a/doc/man/man3/QDns.3qt b/doc/man/man3/QDns.3qt
new file mode 100644
index 0000000..233f91a
--- /dev/null
+++ b/doc/man/man3/QDns.3qt
@@ -0,0 +1 @@
+.so man3/qdns.3qt
diff --git a/doc/man/man3/QDockArea.3qt b/doc/man/man3/QDockArea.3qt
new file mode 100644
index 0000000..ab8bc6d
--- /dev/null
+++ b/doc/man/man3/QDockArea.3qt
@@ -0,0 +1 @@
+.so man3/qdockarea.3qt
diff --git a/doc/man/man3/QDockWindow.3qt b/doc/man/man3/QDockWindow.3qt
new file mode 100644
index 0000000..e3c5ab1
--- /dev/null
+++ b/doc/man/man3/QDockWindow.3qt
@@ -0,0 +1 @@
+.so man3/qdockwindow.3qt
diff --git a/doc/man/man3/QDomAttr.3qt b/doc/man/man3/QDomAttr.3qt
new file mode 100644
index 0000000..003eb5b
--- /dev/null
+++ b/doc/man/man3/QDomAttr.3qt
@@ -0,0 +1 @@
+.so man3/qdomattr.3qt
diff --git a/doc/man/man3/QDomCDATASection.3qt b/doc/man/man3/QDomCDATASection.3qt
new file mode 100644
index 0000000..6b603bd
--- /dev/null
+++ b/doc/man/man3/QDomCDATASection.3qt
@@ -0,0 +1 @@
+.so man3/qdomcdatasection.3qt
diff --git a/doc/man/man3/QDomCharacterData.3qt b/doc/man/man3/QDomCharacterData.3qt
new file mode 100644
index 0000000..ab4eed4
--- /dev/null
+++ b/doc/man/man3/QDomCharacterData.3qt
@@ -0,0 +1 @@
+.so man3/qdomcharacterdata.3qt
diff --git a/doc/man/man3/QDomComment.3qt b/doc/man/man3/QDomComment.3qt
new file mode 100644
index 0000000..ea469ab
--- /dev/null
+++ b/doc/man/man3/QDomComment.3qt
@@ -0,0 +1 @@
+.so man3/qdomcomment.3qt
diff --git a/doc/man/man3/QDomDocument.3qt b/doc/man/man3/QDomDocument.3qt
new file mode 100644
index 0000000..ac919ea
--- /dev/null
+++ b/doc/man/man3/QDomDocument.3qt
@@ -0,0 +1 @@
+.so man3/qdomdocument.3qt
diff --git a/doc/man/man3/QDomDocumentFragment.3qt b/doc/man/man3/QDomDocumentFragment.3qt
new file mode 100644
index 0000000..e9871e8
--- /dev/null
+++ b/doc/man/man3/QDomDocumentFragment.3qt
@@ -0,0 +1 @@
+.so man3/qdomdocumentfragment.3qt
diff --git a/doc/man/man3/QDomDocumentType.3qt b/doc/man/man3/QDomDocumentType.3qt
new file mode 100644
index 0000000..ba32a68
--- /dev/null
+++ b/doc/man/man3/QDomDocumentType.3qt
@@ -0,0 +1 @@
+.so man3/qdomdocumenttype.3qt
diff --git a/doc/man/man3/QDomElement.3qt b/doc/man/man3/QDomElement.3qt
new file mode 100644
index 0000000..046dcbe
--- /dev/null
+++ b/doc/man/man3/QDomElement.3qt
@@ -0,0 +1 @@
+.so man3/qdomelement.3qt
diff --git a/doc/man/man3/QDomEntity.3qt b/doc/man/man3/QDomEntity.3qt
new file mode 100644
index 0000000..0236af4
--- /dev/null
+++ b/doc/man/man3/QDomEntity.3qt
@@ -0,0 +1 @@
+.so man3/qdomentity.3qt
diff --git a/doc/man/man3/QDomEntityReference.3qt b/doc/man/man3/QDomEntityReference.3qt
new file mode 100644
index 0000000..7c8cf20
--- /dev/null
+++ b/doc/man/man3/QDomEntityReference.3qt
@@ -0,0 +1 @@
+.so man3/qdomentityreference.3qt
diff --git a/doc/man/man3/QDomImplementation.3qt b/doc/man/man3/QDomImplementation.3qt
new file mode 100644
index 0000000..8a5301c
--- /dev/null
+++ b/doc/man/man3/QDomImplementation.3qt
@@ -0,0 +1 @@
+.so man3/qdomimplementation.3qt
diff --git a/doc/man/man3/QDomNamedNodeMap.3qt b/doc/man/man3/QDomNamedNodeMap.3qt
new file mode 100644
index 0000000..dfc1080
--- /dev/null
+++ b/doc/man/man3/QDomNamedNodeMap.3qt
@@ -0,0 +1 @@
+.so man3/qdomnamednodemap.3qt
diff --git a/doc/man/man3/QDomNode.3qt b/doc/man/man3/QDomNode.3qt
new file mode 100644
index 0000000..ee82a8b
--- /dev/null
+++ b/doc/man/man3/QDomNode.3qt
@@ -0,0 +1 @@
+.so man3/qdomnode.3qt
diff --git a/doc/man/man3/QDomNodeList.3qt b/doc/man/man3/QDomNodeList.3qt
new file mode 100644
index 0000000..fadda0b
--- /dev/null
+++ b/doc/man/man3/QDomNodeList.3qt
@@ -0,0 +1 @@
+.so man3/qdomnodelist.3qt
diff --git a/doc/man/man3/QDomNotation.3qt b/doc/man/man3/QDomNotation.3qt
new file mode 100644
index 0000000..8d78d3b
--- /dev/null
+++ b/doc/man/man3/QDomNotation.3qt
@@ -0,0 +1 @@
+.so man3/qdomnotation.3qt
diff --git a/doc/man/man3/QDomProcessingInstruction.3qt b/doc/man/man3/QDomProcessingInstruction.3qt
new file mode 100644
index 0000000..c30c544
--- /dev/null
+++ b/doc/man/man3/QDomProcessingInstruction.3qt
@@ -0,0 +1 @@
+.so man3/qdomprocessinginstruction.3qt
diff --git a/doc/man/man3/QDomText.3qt b/doc/man/man3/QDomText.3qt
new file mode 100644
index 0000000..fbad364
--- /dev/null
+++ b/doc/man/man3/QDomText.3qt
@@ -0,0 +1 @@
+.so man3/qdomtext.3qt
diff --git a/doc/man/man3/QDoubleValidator.3qt b/doc/man/man3/QDoubleValidator.3qt
new file mode 100644
index 0000000..297ec58
--- /dev/null
+++ b/doc/man/man3/QDoubleValidator.3qt
@@ -0,0 +1 @@
+.so man3/qdoublevalidator.3qt
diff --git a/doc/man/man3/QDragEnterEvent.3qt b/doc/man/man3/QDragEnterEvent.3qt
new file mode 100644
index 0000000..45e6f9e
--- /dev/null
+++ b/doc/man/man3/QDragEnterEvent.3qt
@@ -0,0 +1 @@
+.so man3/qdragenterevent.3qt
diff --git a/doc/man/man3/QDragLeaveEvent.3qt b/doc/man/man3/QDragLeaveEvent.3qt
new file mode 100644
index 0000000..77603bf
--- /dev/null
+++ b/doc/man/man3/QDragLeaveEvent.3qt
@@ -0,0 +1 @@
+.so man3/qdragleaveevent.3qt
diff --git a/doc/man/man3/QDragMoveEvent.3qt b/doc/man/man3/QDragMoveEvent.3qt
new file mode 100644
index 0000000..7cee727
--- /dev/null
+++ b/doc/man/man3/QDragMoveEvent.3qt
@@ -0,0 +1 @@
+.so man3/qdragmoveevent.3qt
diff --git a/doc/man/man3/QDragObject.3qt b/doc/man/man3/QDragObject.3qt
new file mode 100644
index 0000000..c4f29df
--- /dev/null
+++ b/doc/man/man3/QDragObject.3qt
@@ -0,0 +1 @@
+.so man3/qdragobject.3qt
diff --git a/doc/man/man3/QDropEvent.3qt b/doc/man/man3/QDropEvent.3qt
new file mode 100644
index 0000000..336db2d
--- /dev/null
+++ b/doc/man/man3/QDropEvent.3qt
@@ -0,0 +1 @@
+.so man3/qdropevent.3qt
diff --git a/doc/man/man3/QEditorFactory.3qt b/doc/man/man3/QEditorFactory.3qt
new file mode 100644
index 0000000..ffa5738
--- /dev/null
+++ b/doc/man/man3/QEditorFactory.3qt
@@ -0,0 +1 @@
+.so man3/qeditorfactory.3qt
diff --git a/doc/man/man3/QErrorMessage.3qt b/doc/man/man3/QErrorMessage.3qt
new file mode 100644
index 0000000..ddff21d
--- /dev/null
+++ b/doc/man/man3/QErrorMessage.3qt
@@ -0,0 +1 @@
+.so man3/qerrormessage.3qt
diff --git a/doc/man/man3/QEucJpCodec.3qt b/doc/man/man3/QEucJpCodec.3qt
new file mode 100644
index 0000000..b94e9a9
--- /dev/null
+++ b/doc/man/man3/QEucJpCodec.3qt
@@ -0,0 +1 @@
+.so man3/qeucjpcodec.3qt
diff --git a/doc/man/man3/QEucKrCodec.3qt b/doc/man/man3/QEucKrCodec.3qt
new file mode 100644
index 0000000..1677c68
--- /dev/null
+++ b/doc/man/man3/QEucKrCodec.3qt
@@ -0,0 +1 @@
+.so man3/qeuckrcodec.3qt
diff --git a/doc/man/man3/QEvent.3qt b/doc/man/man3/QEvent.3qt
new file mode 100644
index 0000000..a01f6de
--- /dev/null
+++ b/doc/man/man3/QEvent.3qt
@@ -0,0 +1 @@
+.so man3/qevent.3qt
diff --git a/doc/man/man3/QEventLoop.3qt b/doc/man/man3/QEventLoop.3qt
new file mode 100644
index 0000000..7606134
--- /dev/null
+++ b/doc/man/man3/QEventLoop.3qt
@@ -0,0 +1 @@
+.so man3/qeventloop.3qt
diff --git a/doc/man/man3/QFile.3qt b/doc/man/man3/QFile.3qt
new file mode 100644
index 0000000..b49e2c7
--- /dev/null
+++ b/doc/man/man3/QFile.3qt
@@ -0,0 +1 @@
+.so man3/qfile.3qt
diff --git a/doc/man/man3/QFileDialog.3qt b/doc/man/man3/QFileDialog.3qt
new file mode 100644
index 0000000..86bdc94
--- /dev/null
+++ b/doc/man/man3/QFileDialog.3qt
@@ -0,0 +1 @@
+.so man3/qfiledialog.3qt
diff --git a/doc/man/man3/QFileIconProvider.3qt b/doc/man/man3/QFileIconProvider.3qt
new file mode 100644
index 0000000..db04627
--- /dev/null
+++ b/doc/man/man3/QFileIconProvider.3qt
@@ -0,0 +1 @@
+.so man3/qfileiconprovider.3qt
diff --git a/doc/man/man3/QFileInfo.3qt b/doc/man/man3/QFileInfo.3qt
new file mode 100644
index 0000000..be3ea6c
--- /dev/null
+++ b/doc/man/man3/QFileInfo.3qt
@@ -0,0 +1 @@
+.so man3/qfileinfo.3qt
diff --git a/doc/man/man3/QFilePreview.3qt b/doc/man/man3/QFilePreview.3qt
new file mode 100644
index 0000000..5cc02f8
--- /dev/null
+++ b/doc/man/man3/QFilePreview.3qt
@@ -0,0 +1 @@
+.so man3/qfilepreview.3qt
diff --git a/doc/man/man3/QFocusData.3qt b/doc/man/man3/QFocusData.3qt
new file mode 100644
index 0000000..2a5115c
--- /dev/null
+++ b/doc/man/man3/QFocusData.3qt
@@ -0,0 +1 @@
+.so man3/qfocusdata.3qt
diff --git a/doc/man/man3/QFocusEvent.3qt b/doc/man/man3/QFocusEvent.3qt
new file mode 100644
index 0000000..d4cc8a3
--- /dev/null
+++ b/doc/man/man3/QFocusEvent.3qt
@@ -0,0 +1 @@
+.so man3/qfocusevent.3qt
diff --git a/doc/man/man3/QFont.3qt b/doc/man/man3/QFont.3qt
new file mode 100644
index 0000000..b9f4e47
--- /dev/null
+++ b/doc/man/man3/QFont.3qt
@@ -0,0 +1 @@
+.so man3/qfont.3qt
diff --git a/doc/man/man3/QFontDatabase.3qt b/doc/man/man3/QFontDatabase.3qt
new file mode 100644
index 0000000..075fa2c
--- /dev/null
+++ b/doc/man/man3/QFontDatabase.3qt
@@ -0,0 +1 @@
+.so man3/qfontdatabase.3qt
diff --git a/doc/man/man3/QFontDialog.3qt b/doc/man/man3/QFontDialog.3qt
new file mode 100644
index 0000000..a4bbce1
--- /dev/null
+++ b/doc/man/man3/QFontDialog.3qt
@@ -0,0 +1 @@
+.so man3/qfontdialog.3qt
diff --git a/doc/man/man3/QFontInfo.3qt b/doc/man/man3/QFontInfo.3qt
new file mode 100644
index 0000000..209263b
--- /dev/null
+++ b/doc/man/man3/QFontInfo.3qt
@@ -0,0 +1 @@
+.so man3/qfontinfo.3qt
diff --git a/doc/man/man3/QFontManager.3qt b/doc/man/man3/QFontManager.3qt
new file mode 100644
index 0000000..eb64d4e
--- /dev/null
+++ b/doc/man/man3/QFontManager.3qt
@@ -0,0 +1 @@
+.so man3/qfontmanager.3qt
diff --git a/doc/man/man3/QFontMetrics.3qt b/doc/man/man3/QFontMetrics.3qt
new file mode 100644
index 0000000..f081025
--- /dev/null
+++ b/doc/man/man3/QFontMetrics.3qt
@@ -0,0 +1 @@
+.so man3/qfontmetrics.3qt
diff --git a/doc/man/man3/QFrame.3qt b/doc/man/man3/QFrame.3qt
new file mode 100644
index 0000000..6fe6149
--- /dev/null
+++ b/doc/man/man3/QFrame.3qt
@@ -0,0 +1 @@
+.so man3/qframe.3qt
diff --git a/doc/man/man3/QFtp.3qt b/doc/man/man3/QFtp.3qt
new file mode 100644
index 0000000..569dd61
--- /dev/null
+++ b/doc/man/man3/QFtp.3qt
@@ -0,0 +1 @@
+.so man3/qftp.3qt
diff --git a/doc/man/man3/QGL.3qt b/doc/man/man3/QGL.3qt
new file mode 100644
index 0000000..89ed7ff
--- /dev/null
+++ b/doc/man/man3/QGL.3qt
@@ -0,0 +1 @@
+.so man3/qgl.3qt
diff --git a/doc/man/man3/QGLColormap.3qt b/doc/man/man3/QGLColormap.3qt
new file mode 100644
index 0000000..b96d04b
--- /dev/null
+++ b/doc/man/man3/QGLColormap.3qt
@@ -0,0 +1 @@
+.so man3/qglcolormap.3qt
diff --git a/doc/man/man3/QGLContext.3qt b/doc/man/man3/QGLContext.3qt
new file mode 100644
index 0000000..01cf513
--- /dev/null
+++ b/doc/man/man3/QGLContext.3qt
@@ -0,0 +1 @@
+.so man3/qglcontext.3qt
diff --git a/doc/man/man3/QGLFormat.3qt b/doc/man/man3/QGLFormat.3qt
new file mode 100644
index 0000000..ac78b27
--- /dev/null
+++ b/doc/man/man3/QGLFormat.3qt
@@ -0,0 +1 @@
+.so man3/qglformat.3qt
diff --git a/doc/man/man3/QGLWidget.3qt b/doc/man/man3/QGLWidget.3qt
new file mode 100644
index 0000000..8c66dae
--- /dev/null
+++ b/doc/man/man3/QGLWidget.3qt
@@ -0,0 +1 @@
+.so man3/qglwidget.3qt
diff --git a/doc/man/man3/QGLayoutIterator.3qt b/doc/man/man3/QGLayoutIterator.3qt
new file mode 100644
index 0000000..f578f9f
--- /dev/null
+++ b/doc/man/man3/QGLayoutIterator.3qt
@@ -0,0 +1 @@
+.so man3/qglayoutiterator.3qt
diff --git a/doc/man/man3/QGb18030Codec.3qt b/doc/man/man3/QGb18030Codec.3qt
new file mode 100644
index 0000000..0670e9c
--- /dev/null
+++ b/doc/man/man3/QGb18030Codec.3qt
@@ -0,0 +1 @@
+.so man3/qgb18030codec.3qt
diff --git a/doc/man/man3/QGb2312Codec.3qt b/doc/man/man3/QGb2312Codec.3qt
new file mode 100644
index 0000000..7792247
--- /dev/null
+++ b/doc/man/man3/QGb2312Codec.3qt
@@ -0,0 +1 @@
+.so man3/qgb2312codec.3qt
diff --git a/doc/man/man3/QGbkCodec.3qt b/doc/man/man3/QGbkCodec.3qt
new file mode 100644
index 0000000..fa119da
--- /dev/null
+++ b/doc/man/man3/QGbkCodec.3qt
@@ -0,0 +1 @@
+.so man3/qgbkcodec.3qt
diff --git a/doc/man/man3/QGfxDriverFactory.3qt b/doc/man/man3/QGfxDriverFactory.3qt
new file mode 100644
index 0000000..9dde1cd
--- /dev/null
+++ b/doc/man/man3/QGfxDriverFactory.3qt
@@ -0,0 +1 @@
+.so man3/qgfxdriverfactory.3qt
diff --git a/doc/man/man3/QGfxDriverPlugin.3qt b/doc/man/man3/QGfxDriverPlugin.3qt
new file mode 100644
index 0000000..656beb8
--- /dev/null
+++ b/doc/man/man3/QGfxDriverPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qgfxdriverplugin.3qt
diff --git a/doc/man/man3/QGrid.3qt b/doc/man/man3/QGrid.3qt
new file mode 100644
index 0000000..c31d961
--- /dev/null
+++ b/doc/man/man3/QGrid.3qt
@@ -0,0 +1 @@
+.so man3/qgrid.3qt
diff --git a/doc/man/man3/QGridLayout.3qt b/doc/man/man3/QGridLayout.3qt
new file mode 100644
index 0000000..c594c2d
--- /dev/null
+++ b/doc/man/man3/QGridLayout.3qt
@@ -0,0 +1 @@
+.so man3/qgridlayout.3qt
diff --git a/doc/man/man3/QGridView.3qt b/doc/man/man3/QGridView.3qt
new file mode 100644
index 0000000..c666a1c
--- /dev/null
+++ b/doc/man/man3/QGridView.3qt
@@ -0,0 +1 @@
+.so man3/qgridview.3qt
diff --git a/doc/man/man3/QGroupBox.3qt b/doc/man/man3/QGroupBox.3qt
new file mode 100644
index 0000000..9f5a8df
--- /dev/null
+++ b/doc/man/man3/QGroupBox.3qt
@@ -0,0 +1 @@
+.so man3/qgroupbox.3qt
diff --git a/doc/man/man3/QGuardedPtr.3qt b/doc/man/man3/QGuardedPtr.3qt
new file mode 100644
index 0000000..17e7438
--- /dev/null
+++ b/doc/man/man3/QGuardedPtr.3qt
@@ -0,0 +1 @@
+.so man3/qguardedptr.3qt
diff --git a/doc/man/man3/QHBox.3qt b/doc/man/man3/QHBox.3qt
new file mode 100644
index 0000000..8157b08
--- /dev/null
+++ b/doc/man/man3/QHBox.3qt
@@ -0,0 +1 @@
+.so man3/qhbox.3qt
diff --git a/doc/man/man3/QHBoxLayout.3qt b/doc/man/man3/QHBoxLayout.3qt
new file mode 100644
index 0000000..de7818b
--- /dev/null
+++ b/doc/man/man3/QHBoxLayout.3qt
@@ -0,0 +1 @@
+.so man3/qhboxlayout.3qt
diff --git a/doc/man/man3/QHButtonGroup.3qt b/doc/man/man3/QHButtonGroup.3qt
new file mode 100644
index 0000000..4f54007
--- /dev/null
+++ b/doc/man/man3/QHButtonGroup.3qt
@@ -0,0 +1 @@
+.so man3/qhbuttongroup.3qt
diff --git a/doc/man/man3/QHGroupBox.3qt b/doc/man/man3/QHGroupBox.3qt
new file mode 100644
index 0000000..3f49ce1
--- /dev/null
+++ b/doc/man/man3/QHGroupBox.3qt
@@ -0,0 +1 @@
+.so man3/qhgroupbox.3qt
diff --git a/doc/man/man3/QHeader.3qt b/doc/man/man3/QHeader.3qt
new file mode 100644
index 0000000..f5e3758
--- /dev/null
+++ b/doc/man/man3/QHeader.3qt
@@ -0,0 +1 @@
+.so man3/qheader.3qt
diff --git a/doc/man/man3/QHebrewCodec.3qt b/doc/man/man3/QHebrewCodec.3qt
new file mode 100644
index 0000000..10663d8
--- /dev/null
+++ b/doc/man/man3/QHebrewCodec.3qt
@@ -0,0 +1 @@
+.so man3/qhebrewcodec.3qt
diff --git a/doc/man/man3/QHideEvent.3qt b/doc/man/man3/QHideEvent.3qt
new file mode 100644
index 0000000..87795c4
--- /dev/null
+++ b/doc/man/man3/QHideEvent.3qt
@@ -0,0 +1 @@
+.so man3/qhideevent.3qt
diff --git a/doc/man/man3/QHostAddress.3qt b/doc/man/man3/QHostAddress.3qt
new file mode 100644
index 0000000..97869cb
--- /dev/null
+++ b/doc/man/man3/QHostAddress.3qt
@@ -0,0 +1 @@
+.so man3/qhostaddress.3qt
diff --git a/doc/man/man3/QHttp.3qt b/doc/man/man3/QHttp.3qt
new file mode 100644
index 0000000..2ebc7ed
--- /dev/null
+++ b/doc/man/man3/QHttp.3qt
@@ -0,0 +1 @@
+.so man3/qhttp.3qt
diff --git a/doc/man/man3/QHttpHeader.3qt b/doc/man/man3/QHttpHeader.3qt
new file mode 100644
index 0000000..135acc1
--- /dev/null
+++ b/doc/man/man3/QHttpHeader.3qt
@@ -0,0 +1 @@
+.so man3/qhttpheader.3qt
diff --git a/doc/man/man3/QHttpRequestHeader.3qt b/doc/man/man3/QHttpRequestHeader.3qt
new file mode 100644
index 0000000..16d311a
--- /dev/null
+++ b/doc/man/man3/QHttpRequestHeader.3qt
@@ -0,0 +1 @@
+.so man3/qhttprequestheader.3qt
diff --git a/doc/man/man3/QHttpResponseHeader.3qt b/doc/man/man3/QHttpResponseHeader.3qt
new file mode 100644
index 0000000..47916ae
--- /dev/null
+++ b/doc/man/man3/QHttpResponseHeader.3qt
@@ -0,0 +1 @@
+.so man3/qhttpresponseheader.3qt
diff --git a/doc/man/man3/QIMEvent.3qt b/doc/man/man3/QIMEvent.3qt
new file mode 100644
index 0000000..9521c28
--- /dev/null
+++ b/doc/man/man3/QIMEvent.3qt
@@ -0,0 +1 @@
+.so man3/qimevent.3qt
diff --git a/doc/man/man3/QIODevice.3qt b/doc/man/man3/QIODevice.3qt
new file mode 100644
index 0000000..44812b2
--- /dev/null
+++ b/doc/man/man3/QIODevice.3qt
@@ -0,0 +1 @@
+.so man3/qiodevice.3qt
diff --git a/doc/man/man3/QIconDrag.3qt b/doc/man/man3/QIconDrag.3qt
new file mode 100644
index 0000000..3e22169
--- /dev/null
+++ b/doc/man/man3/QIconDrag.3qt
@@ -0,0 +1 @@
+.so man3/qicondrag.3qt
diff --git a/doc/man/man3/QIconDragEvent.3qt b/doc/man/man3/QIconDragEvent.3qt
new file mode 100644
index 0000000..f6c18a6
--- /dev/null
+++ b/doc/man/man3/QIconDragEvent.3qt
@@ -0,0 +1 @@
+.so man3/qicondragevent.3qt
diff --git a/doc/man/man3/QIconDragItem.3qt b/doc/man/man3/QIconDragItem.3qt
new file mode 100644
index 0000000..75c58d1
--- /dev/null
+++ b/doc/man/man3/QIconDragItem.3qt
@@ -0,0 +1 @@
+.so man3/qicondragitem.3qt
diff --git a/doc/man/man3/QIconFactory.3qt b/doc/man/man3/QIconFactory.3qt
new file mode 100644
index 0000000..b4ca32e
--- /dev/null
+++ b/doc/man/man3/QIconFactory.3qt
@@ -0,0 +1 @@
+.so man3/qiconfactory.3qt
diff --git a/doc/man/man3/QIconSet.3qt b/doc/man/man3/QIconSet.3qt
new file mode 100644
index 0000000..e57c304
--- /dev/null
+++ b/doc/man/man3/QIconSet.3qt
@@ -0,0 +1 @@
+.so man3/qiconset.3qt
diff --git a/doc/man/man3/QIconView.3qt b/doc/man/man3/QIconView.3qt
new file mode 100644
index 0000000..4db5c6c
--- /dev/null
+++ b/doc/man/man3/QIconView.3qt
@@ -0,0 +1 @@
+.so man3/qiconview.3qt
diff --git a/doc/man/man3/QIconViewItem.3qt b/doc/man/man3/QIconViewItem.3qt
new file mode 100644
index 0000000..d29495d
--- /dev/null
+++ b/doc/man/man3/QIconViewItem.3qt
@@ -0,0 +1 @@
+.so man3/qiconviewitem.3qt
diff --git a/doc/man/man3/QImage.3qt b/doc/man/man3/QImage.3qt
new file mode 100644
index 0000000..84e17b8
--- /dev/null
+++ b/doc/man/man3/QImage.3qt
@@ -0,0 +1 @@
+.so man3/qimage.3qt
diff --git a/doc/man/man3/QImageConsumer.3qt b/doc/man/man3/QImageConsumer.3qt
new file mode 100644
index 0000000..e293f84
--- /dev/null
+++ b/doc/man/man3/QImageConsumer.3qt
@@ -0,0 +1 @@
+.so man3/qimageconsumer.3qt
diff --git a/doc/man/man3/QImageDecoder.3qt b/doc/man/man3/QImageDecoder.3qt
new file mode 100644
index 0000000..414c707
--- /dev/null
+++ b/doc/man/man3/QImageDecoder.3qt
@@ -0,0 +1 @@
+.so man3/qimagedecoder.3qt
diff --git a/doc/man/man3/QImageDrag.3qt b/doc/man/man3/QImageDrag.3qt
new file mode 100644
index 0000000..c0ae00b
--- /dev/null
+++ b/doc/man/man3/QImageDrag.3qt
@@ -0,0 +1 @@
+.so man3/qimagedrag.3qt
diff --git a/doc/man/man3/QImageFormat.3qt b/doc/man/man3/QImageFormat.3qt
new file mode 100644
index 0000000..08b6b97
--- /dev/null
+++ b/doc/man/man3/QImageFormat.3qt
@@ -0,0 +1 @@
+.so man3/qimageformat.3qt
diff --git a/doc/man/man3/QImageFormatPlugin.3qt b/doc/man/man3/QImageFormatPlugin.3qt
new file mode 100644
index 0000000..a0d1eb9
--- /dev/null
+++ b/doc/man/man3/QImageFormatPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qimageformatplugin.3qt
diff --git a/doc/man/man3/QImageFormatType.3qt b/doc/man/man3/QImageFormatType.3qt
new file mode 100644
index 0000000..8efbbf2
--- /dev/null
+++ b/doc/man/man3/QImageFormatType.3qt
@@ -0,0 +1 @@
+.so man3/qimageformattype.3qt
diff --git a/doc/man/man3/QImageIO.3qt b/doc/man/man3/QImageIO.3qt
new file mode 100644
index 0000000..6a19a01
--- /dev/null
+++ b/doc/man/man3/QImageIO.3qt
@@ -0,0 +1 @@
+.so man3/qimageio.3qt
diff --git a/doc/man/man3/QInputDialog.3qt b/doc/man/man3/QInputDialog.3qt
new file mode 100644
index 0000000..417829b
--- /dev/null
+++ b/doc/man/man3/QInputDialog.3qt
@@ -0,0 +1 @@
+.so man3/qinputdialog.3qt
diff --git a/doc/man/man3/QIntCache.3qt b/doc/man/man3/QIntCache.3qt
new file mode 100644
index 0000000..dec1afd
--- /dev/null
+++ b/doc/man/man3/QIntCache.3qt
@@ -0,0 +1 @@
+.so man3/qintcache.3qt
diff --git a/doc/man/man3/QIntCacheIterator.3qt b/doc/man/man3/QIntCacheIterator.3qt
new file mode 100644
index 0000000..b7af93d
--- /dev/null
+++ b/doc/man/man3/QIntCacheIterator.3qt
@@ -0,0 +1 @@
+.so man3/qintcacheiterator.3qt
diff --git a/doc/man/man3/QIntDict.3qt b/doc/man/man3/QIntDict.3qt
new file mode 100644
index 0000000..23ced0c
--- /dev/null
+++ b/doc/man/man3/QIntDict.3qt
@@ -0,0 +1 @@
+.so man3/qintdict.3qt
diff --git a/doc/man/man3/QIntDictIterator.3qt b/doc/man/man3/QIntDictIterator.3qt
new file mode 100644
index 0000000..c7e7655
--- /dev/null
+++ b/doc/man/man3/QIntDictIterator.3qt
@@ -0,0 +1 @@
+.so man3/qintdictiterator.3qt
diff --git a/doc/man/man3/QIntValidator.3qt b/doc/man/man3/QIntValidator.3qt
new file mode 100644
index 0000000..7049867
--- /dev/null
+++ b/doc/man/man3/QIntValidator.3qt
@@ -0,0 +1 @@
+.so man3/qintvalidator.3qt
diff --git a/doc/man/man3/QJisCodec.3qt b/doc/man/man3/QJisCodec.3qt
new file mode 100644
index 0000000..c1017c2
--- /dev/null
+++ b/doc/man/man3/QJisCodec.3qt
@@ -0,0 +1 @@
+.so man3/qjiscodec.3qt
diff --git a/doc/man/man3/QKbdDriverFactory.3qt b/doc/man/man3/QKbdDriverFactory.3qt
new file mode 100644
index 0000000..c134f43
--- /dev/null
+++ b/doc/man/man3/QKbdDriverFactory.3qt
@@ -0,0 +1 @@
+.so man3/qkbddriverfactory.3qt
diff --git a/doc/man/man3/QKbdDriverPlugin.3qt b/doc/man/man3/QKbdDriverPlugin.3qt
new file mode 100644
index 0000000..762f3a7
--- /dev/null
+++ b/doc/man/man3/QKbdDriverPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qkbddriverplugin.3qt
diff --git a/doc/man/man3/QKeyEvent.3qt b/doc/man/man3/QKeyEvent.3qt
new file mode 100644
index 0000000..96067e4
--- /dev/null
+++ b/doc/man/man3/QKeyEvent.3qt
@@ -0,0 +1 @@
+.so man3/qkeyevent.3qt
diff --git a/doc/man/man3/QKeySequence.3qt b/doc/man/man3/QKeySequence.3qt
new file mode 100644
index 0000000..66077c0
--- /dev/null
+++ b/doc/man/man3/QKeySequence.3qt
@@ -0,0 +1 @@
+.so man3/qkeysequence.3qt
diff --git a/doc/man/man3/QLCDNumber.3qt b/doc/man/man3/QLCDNumber.3qt
new file mode 100644
index 0000000..dc4f7e0
--- /dev/null
+++ b/doc/man/man3/QLCDNumber.3qt
@@ -0,0 +1 @@
+.so man3/qlcdnumber.3qt
diff --git a/doc/man/man3/QLabel.3qt b/doc/man/man3/QLabel.3qt
new file mode 100644
index 0000000..6c8e672
--- /dev/null
+++ b/doc/man/man3/QLabel.3qt
@@ -0,0 +1 @@
+.so man3/qlabel.3qt
diff --git a/doc/man/man3/QLayout.3qt b/doc/man/man3/QLayout.3qt
new file mode 100644
index 0000000..f3b9f8f
--- /dev/null
+++ b/doc/man/man3/QLayout.3qt
@@ -0,0 +1 @@
+.so man3/qlayout.3qt
diff --git a/doc/man/man3/QLayoutItem.3qt b/doc/man/man3/QLayoutItem.3qt
new file mode 100644
index 0000000..3a39d1b
--- /dev/null
+++ b/doc/man/man3/QLayoutItem.3qt
@@ -0,0 +1 @@
+.so man3/qlayoutitem.3qt
diff --git a/doc/man/man3/QLayoutIterator.3qt b/doc/man/man3/QLayoutIterator.3qt
new file mode 100644
index 0000000..c1fc38b
--- /dev/null
+++ b/doc/man/man3/QLayoutIterator.3qt
@@ -0,0 +1 @@
+.so man3/qlayoutiterator.3qt
diff --git a/doc/man/man3/QLibrary.3qt b/doc/man/man3/QLibrary.3qt
new file mode 100644
index 0000000..aa7580d
--- /dev/null
+++ b/doc/man/man3/QLibrary.3qt
@@ -0,0 +1 @@
+.so man3/qlibrary.3qt
diff --git a/doc/man/man3/QLineEdit.3qt b/doc/man/man3/QLineEdit.3qt
new file mode 100644
index 0000000..8c864fa
--- /dev/null
+++ b/doc/man/man3/QLineEdit.3qt
@@ -0,0 +1 @@
+.so man3/qlineedit.3qt
diff --git a/doc/man/man3/QListBox.3qt b/doc/man/man3/QListBox.3qt
new file mode 100644
index 0000000..ae63bb7
--- /dev/null
+++ b/doc/man/man3/QListBox.3qt
@@ -0,0 +1 @@
+.so man3/qlistbox.3qt
diff --git a/doc/man/man3/QListBoxItem.3qt b/doc/man/man3/QListBoxItem.3qt
new file mode 100644
index 0000000..cf7e7e5
--- /dev/null
+++ b/doc/man/man3/QListBoxItem.3qt
@@ -0,0 +1 @@
+.so man3/qlistboxitem.3qt
diff --git a/doc/man/man3/QListBoxPixmap.3qt b/doc/man/man3/QListBoxPixmap.3qt
new file mode 100644
index 0000000..064dbe7
--- /dev/null
+++ b/doc/man/man3/QListBoxPixmap.3qt
@@ -0,0 +1 @@
+.so man3/qlistboxpixmap.3qt
diff --git a/doc/man/man3/QListBoxText.3qt b/doc/man/man3/QListBoxText.3qt
new file mode 100644
index 0000000..7d7737e
--- /dev/null
+++ b/doc/man/man3/QListBoxText.3qt
@@ -0,0 +1 @@
+.so man3/qlistboxtext.3qt
diff --git a/doc/man/man3/QListView.3qt b/doc/man/man3/QListView.3qt
new file mode 100644
index 0000000..9b55ed4
--- /dev/null
+++ b/doc/man/man3/QListView.3qt
@@ -0,0 +1 @@
+.so man3/qlistview.3qt
diff --git a/doc/man/man3/QListViewItem.3qt b/doc/man/man3/QListViewItem.3qt
new file mode 100644
index 0000000..15b68d4
--- /dev/null
+++ b/doc/man/man3/QListViewItem.3qt
@@ -0,0 +1 @@
+.so man3/qlistviewitem.3qt
diff --git a/doc/man/man3/QListViewItemIterator.3qt b/doc/man/man3/QListViewItemIterator.3qt
new file mode 100644
index 0000000..ce7b7ef
--- /dev/null
+++ b/doc/man/man3/QListViewItemIterator.3qt
@@ -0,0 +1 @@
+.so man3/qlistviewitemiterator.3qt
diff --git a/doc/man/man3/QLocalFs.3qt b/doc/man/man3/QLocalFs.3qt
new file mode 100644
index 0000000..cfc5f22
--- /dev/null
+++ b/doc/man/man3/QLocalFs.3qt
@@ -0,0 +1 @@
+.so man3/qlocalfs.3qt
diff --git a/doc/man/man3/QLocale.3qt b/doc/man/man3/QLocale.3qt
new file mode 100644
index 0000000..379aa30
--- /dev/null
+++ b/doc/man/man3/QLocale.3qt
@@ -0,0 +1 @@
+.so man3/qlocale.3qt
diff --git a/doc/man/man3/QMacMime.3qt b/doc/man/man3/QMacMime.3qt
new file mode 100644
index 0000000..13d2e9e
--- /dev/null
+++ b/doc/man/man3/QMacMime.3qt
@@ -0,0 +1 @@
+.so man3/qmacmime.3qt
diff --git a/doc/man/man3/QMacStyle.3qt b/doc/man/man3/QMacStyle.3qt
new file mode 100644
index 0000000..8f98b21
--- /dev/null
+++ b/doc/man/man3/QMacStyle.3qt
@@ -0,0 +1 @@
+.so man3/qmacstyle.3qt
diff --git a/doc/man/man3/QMainWindow.3qt b/doc/man/man3/QMainWindow.3qt
new file mode 100644
index 0000000..26e31ce
--- /dev/null
+++ b/doc/man/man3/QMainWindow.3qt
@@ -0,0 +1 @@
+.so man3/qmainwindow.3qt
diff --git a/doc/man/man3/QMap.3qt b/doc/man/man3/QMap.3qt
new file mode 100644
index 0000000..8376b53
--- /dev/null
+++ b/doc/man/man3/QMap.3qt
@@ -0,0 +1 @@
+.so man3/qmap.3qt
diff --git a/doc/man/man3/QMapConstIterator.3qt b/doc/man/man3/QMapConstIterator.3qt
new file mode 100644
index 0000000..6da3fd3
--- /dev/null
+++ b/doc/man/man3/QMapConstIterator.3qt
@@ -0,0 +1 @@
+.so man3/qmapconstiterator.3qt
diff --git a/doc/man/man3/QMapIterator.3qt b/doc/man/man3/QMapIterator.3qt
new file mode 100644
index 0000000..e3c6e11
--- /dev/null
+++ b/doc/man/man3/QMapIterator.3qt
@@ -0,0 +1 @@
+.so man3/qmapiterator.3qt
diff --git a/doc/man/man3/QMemArray.3qt b/doc/man/man3/QMemArray.3qt
new file mode 100644
index 0000000..cf299dc
--- /dev/null
+++ b/doc/man/man3/QMemArray.3qt
@@ -0,0 +1 @@
+.so man3/qmemarray.3qt
diff --git a/doc/man/man3/QMenuBar.3qt b/doc/man/man3/QMenuBar.3qt
new file mode 100644
index 0000000..3ed42d1
--- /dev/null
+++ b/doc/man/man3/QMenuBar.3qt
@@ -0,0 +1 @@
+.so man3/qmenubar.3qt
diff --git a/doc/man/man3/QMenuData.3qt b/doc/man/man3/QMenuData.3qt
new file mode 100644
index 0000000..3c30dc3
--- /dev/null
+++ b/doc/man/man3/QMenuData.3qt
@@ -0,0 +1 @@
+.so man3/qmenudata.3qt
diff --git a/doc/man/man3/QMessageBox.3qt b/doc/man/man3/QMessageBox.3qt
new file mode 100644
index 0000000..566b2db
--- /dev/null
+++ b/doc/man/man3/QMessageBox.3qt
@@ -0,0 +1 @@
+.so man3/qmessagebox.3qt
diff --git a/doc/man/man3/QMetaObject.3qt b/doc/man/man3/QMetaObject.3qt
new file mode 100644
index 0000000..4c9304b
--- /dev/null
+++ b/doc/man/man3/QMetaObject.3qt
@@ -0,0 +1 @@
+.so man3/qmetaobject.3qt
diff --git a/doc/man/man3/QMetaProperty.3qt b/doc/man/man3/QMetaProperty.3qt
new file mode 100644
index 0000000..7ba43ce
--- /dev/null
+++ b/doc/man/man3/QMetaProperty.3qt
@@ -0,0 +1 @@
+.so man3/qmetaproperty.3qt
diff --git a/doc/man/man3/QMimeSource.3qt b/doc/man/man3/QMimeSource.3qt
new file mode 100644
index 0000000..ec5c169
--- /dev/null
+++ b/doc/man/man3/QMimeSource.3qt
@@ -0,0 +1 @@
+.so man3/qmimesource.3qt
diff --git a/doc/man/man3/QMimeSourceFactory.3qt b/doc/man/man3/QMimeSourceFactory.3qt
new file mode 100644
index 0000000..0bcee79
--- /dev/null
+++ b/doc/man/man3/QMimeSourceFactory.3qt
@@ -0,0 +1 @@
+.so man3/qmimesourcefactory.3qt
diff --git a/doc/man/man3/QMotif.3qt b/doc/man/man3/QMotif.3qt
new file mode 100644
index 0000000..7db4b61
--- /dev/null
+++ b/doc/man/man3/QMotif.3qt
@@ -0,0 +1 @@
+.so man3/qmotif.3qt
diff --git a/doc/man/man3/QMotifDialog.3qt b/doc/man/man3/QMotifDialog.3qt
new file mode 100644
index 0000000..12b6670
--- /dev/null
+++ b/doc/man/man3/QMotifDialog.3qt
@@ -0,0 +1 @@
+.so man3/qmotifdialog.3qt
diff --git a/doc/man/man3/QMotifPlusStyle.3qt b/doc/man/man3/QMotifPlusStyle.3qt
new file mode 100644
index 0000000..bffa46c
--- /dev/null
+++ b/doc/man/man3/QMotifPlusStyle.3qt
@@ -0,0 +1 @@
+.so man3/qmotifplusstyle.3qt
diff --git a/doc/man/man3/QMotifStyle.3qt b/doc/man/man3/QMotifStyle.3qt
new file mode 100644
index 0000000..0dee7ab
--- /dev/null
+++ b/doc/man/man3/QMotifStyle.3qt
@@ -0,0 +1 @@
+.so man3/qmotifstyle.3qt
diff --git a/doc/man/man3/QMotifWidget.3qt b/doc/man/man3/QMotifWidget.3qt
new file mode 100644
index 0000000..4e04232
--- /dev/null
+++ b/doc/man/man3/QMotifWidget.3qt
@@ -0,0 +1 @@
+.so man3/qmotifwidget.3qt
diff --git a/doc/man/man3/QMouseDriverFactory.3qt b/doc/man/man3/QMouseDriverFactory.3qt
new file mode 100644
index 0000000..a40782d
--- /dev/null
+++ b/doc/man/man3/QMouseDriverFactory.3qt
@@ -0,0 +1 @@
+.so man3/qmousedriverfactory.3qt
diff --git a/doc/man/man3/QMouseDriverPlugin.3qt b/doc/man/man3/QMouseDriverPlugin.3qt
new file mode 100644
index 0000000..17e8542
--- /dev/null
+++ b/doc/man/man3/QMouseDriverPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qmousedriverplugin.3qt
diff --git a/doc/man/man3/QMouseEvent.3qt b/doc/man/man3/QMouseEvent.3qt
new file mode 100644
index 0000000..7a3a4e1
--- /dev/null
+++ b/doc/man/man3/QMouseEvent.3qt
@@ -0,0 +1 @@
+.so man3/qmouseevent.3qt
diff --git a/doc/man/man3/QMoveEvent.3qt b/doc/man/man3/QMoveEvent.3qt
new file mode 100644
index 0000000..3421c8d
--- /dev/null
+++ b/doc/man/man3/QMoveEvent.3qt
@@ -0,0 +1 @@
+.so man3/qmoveevent.3qt
diff --git a/doc/man/man3/QMovie.3qt b/doc/man/man3/QMovie.3qt
new file mode 100644
index 0000000..cb2f633
--- /dev/null
+++ b/doc/man/man3/QMovie.3qt
@@ -0,0 +1 @@
+.so man3/qmovie.3qt
diff --git a/doc/man/man3/QMutex.3qt b/doc/man/man3/QMutex.3qt
new file mode 100644
index 0000000..c2c9bda
--- /dev/null
+++ b/doc/man/man3/QMutex.3qt
@@ -0,0 +1 @@
+.so man3/qmutex.3qt
diff --git a/doc/man/man3/QMutexLocker.3qt b/doc/man/man3/QMutexLocker.3qt
new file mode 100644
index 0000000..990f4ce
--- /dev/null
+++ b/doc/man/man3/QMutexLocker.3qt
@@ -0,0 +1 @@
+.so man3/qmutexlocker.3qt
diff --git a/doc/man/man3/QNPInstance.3qt b/doc/man/man3/QNPInstance.3qt
new file mode 100644
index 0000000..9a5abfe
--- /dev/null
+++ b/doc/man/man3/QNPInstance.3qt
@@ -0,0 +1 @@
+.so man3/qnpinstance.3qt
diff --git a/doc/man/man3/QNPStream.3qt b/doc/man/man3/QNPStream.3qt
new file mode 100644
index 0000000..760f82d
--- /dev/null
+++ b/doc/man/man3/QNPStream.3qt
@@ -0,0 +1 @@
+.so man3/qnpstream.3qt
diff --git a/doc/man/man3/QNPWidget.3qt b/doc/man/man3/QNPWidget.3qt
new file mode 100644
index 0000000..42c702c
--- /dev/null
+++ b/doc/man/man3/QNPWidget.3qt
@@ -0,0 +1 @@
+.so man3/qnpwidget.3qt
diff --git a/doc/man/man3/QNPlugin.3qt b/doc/man/man3/QNPlugin.3qt
new file mode 100644
index 0000000..f25c1c6
--- /dev/null
+++ b/doc/man/man3/QNPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qnplugin.3qt
diff --git a/doc/man/man3/QNetworkOperation.3qt b/doc/man/man3/QNetworkOperation.3qt
new file mode 100644
index 0000000..ccbc879
--- /dev/null
+++ b/doc/man/man3/QNetworkOperation.3qt
@@ -0,0 +1 @@
+.so man3/qnetworkoperation.3qt
diff --git a/doc/man/man3/QNetworkProtocol.3qt b/doc/man/man3/QNetworkProtocol.3qt
new file mode 100644
index 0000000..0757364
--- /dev/null
+++ b/doc/man/man3/QNetworkProtocol.3qt
@@ -0,0 +1 @@
+.so man3/qnetworkprotocol.3qt
diff --git a/doc/man/man3/QObject.3qt b/doc/man/man3/QObject.3qt
new file mode 100644
index 0000000..7dd3a2b
--- /dev/null
+++ b/doc/man/man3/QObject.3qt
@@ -0,0 +1 @@
+.so man3/qobject.3qt
diff --git a/doc/man/man3/QObjectCleanupHandler.3qt b/doc/man/man3/QObjectCleanupHandler.3qt
new file mode 100644
index 0000000..508c4ad
--- /dev/null
+++ b/doc/man/man3/QObjectCleanupHandler.3qt
@@ -0,0 +1 @@
+.so man3/qobjectcleanuphandler.3qt
diff --git a/doc/man/man3/QObjectList.3qt b/doc/man/man3/QObjectList.3qt
new file mode 100644
index 0000000..0ac5e39
--- /dev/null
+++ b/doc/man/man3/QObjectList.3qt
@@ -0,0 +1 @@
+.so man3/qobjectlist.3qt
diff --git a/doc/man/man3/QObjectListIterator.3qt b/doc/man/man3/QObjectListIterator.3qt
new file mode 100644
index 0000000..a58d74f
--- /dev/null
+++ b/doc/man/man3/QObjectListIterator.3qt
@@ -0,0 +1 @@
+.so man3/qobjectlistiterator.3qt
diff --git a/doc/man/man3/QPNGImagePacker.3qt b/doc/man/man3/QPNGImagePacker.3qt
new file mode 100644
index 0000000..1059a5e
--- /dev/null
+++ b/doc/man/man3/QPNGImagePacker.3qt
@@ -0,0 +1 @@
+.so man3/qpngimagepacker.3qt
diff --git a/doc/man/man3/QPaintDevice.3qt b/doc/man/man3/QPaintDevice.3qt
new file mode 100644
index 0000000..573b147
--- /dev/null
+++ b/doc/man/man3/QPaintDevice.3qt
@@ -0,0 +1 @@
+.so man3/qpaintdevice.3qt
diff --git a/doc/man/man3/QPaintDeviceMetrics.3qt b/doc/man/man3/QPaintDeviceMetrics.3qt
new file mode 100644
index 0000000..5e8175a
--- /dev/null
+++ b/doc/man/man3/QPaintDeviceMetrics.3qt
@@ -0,0 +1 @@
+.so man3/qpaintdevicemetrics.3qt
diff --git a/doc/man/man3/QPaintEvent.3qt b/doc/man/man3/QPaintEvent.3qt
new file mode 100644
index 0000000..af10e93
--- /dev/null
+++ b/doc/man/man3/QPaintEvent.3qt
@@ -0,0 +1 @@
+.so man3/qpaintevent.3qt
diff --git a/doc/man/man3/QPainter.3qt b/doc/man/man3/QPainter.3qt
new file mode 100644
index 0000000..1621ea2
--- /dev/null
+++ b/doc/man/man3/QPainter.3qt
@@ -0,0 +1 @@
+.so man3/qpainter.3qt
diff --git a/doc/man/man3/QPair.3qt b/doc/man/man3/QPair.3qt
new file mode 100644
index 0000000..e8f6158
--- /dev/null
+++ b/doc/man/man3/QPair.3qt
@@ -0,0 +1 @@
+.so man3/qpair.3qt
diff --git a/doc/man/man3/QPalette.3qt b/doc/man/man3/QPalette.3qt
new file mode 100644
index 0000000..972b4a5
--- /dev/null
+++ b/doc/man/man3/QPalette.3qt
@@ -0,0 +1 @@
+.so man3/qpalette.3qt
diff --git a/doc/man/man3/QPen.3qt b/doc/man/man3/QPen.3qt
new file mode 100644
index 0000000..5d805a1
--- /dev/null
+++ b/doc/man/man3/QPen.3qt
@@ -0,0 +1 @@
+.so man3/qpen.3qt
diff --git a/doc/man/man3/QPicture.3qt b/doc/man/man3/QPicture.3qt
new file mode 100644
index 0000000..7a5be47
--- /dev/null
+++ b/doc/man/man3/QPicture.3qt
@@ -0,0 +1 @@
+.so man3/qpicture.3qt
diff --git a/doc/man/man3/QPixmap.3qt b/doc/man/man3/QPixmap.3qt
new file mode 100644
index 0000000..614be1b
--- /dev/null
+++ b/doc/man/man3/QPixmap.3qt
@@ -0,0 +1 @@
+.so man3/qpixmap.3qt
diff --git a/doc/man/man3/QPixmapCache.3qt b/doc/man/man3/QPixmapCache.3qt
new file mode 100644
index 0000000..063c9be
--- /dev/null
+++ b/doc/man/man3/QPixmapCache.3qt
@@ -0,0 +1 @@
+.so man3/qpixmapcache.3qt
diff --git a/doc/man/man3/QPlatinumStyle.3qt b/doc/man/man3/QPlatinumStyle.3qt
new file mode 100644
index 0000000..4ea571d
--- /dev/null
+++ b/doc/man/man3/QPlatinumStyle.3qt
@@ -0,0 +1 @@
+.so man3/qplatinumstyle.3qt
diff --git a/doc/man/man3/QPoint.3qt b/doc/man/man3/QPoint.3qt
new file mode 100644
index 0000000..0349720
--- /dev/null
+++ b/doc/man/man3/QPoint.3qt
@@ -0,0 +1 @@
+.so man3/qpoint.3qt
diff --git a/doc/man/man3/QPointArray.3qt b/doc/man/man3/QPointArray.3qt
new file mode 100644
index 0000000..946f6e0
--- /dev/null
+++ b/doc/man/man3/QPointArray.3qt
@@ -0,0 +1 @@
+.so man3/qpointarray.3qt
diff --git a/doc/man/man3/QPopupMenu.3qt b/doc/man/man3/QPopupMenu.3qt
new file mode 100644
index 0000000..db9eb47
--- /dev/null
+++ b/doc/man/man3/QPopupMenu.3qt
@@ -0,0 +1 @@
+.so man3/qpopupmenu.3qt
diff --git a/doc/man/man3/QPrinter.3qt b/doc/man/man3/QPrinter.3qt
new file mode 100644
index 0000000..da61ea9
--- /dev/null
+++ b/doc/man/man3/QPrinter.3qt
@@ -0,0 +1 @@
+.so man3/qprinter.3qt
diff --git a/doc/man/man3/QProcess.3qt b/doc/man/man3/QProcess.3qt
new file mode 100644
index 0000000..2e91f45
--- /dev/null
+++ b/doc/man/man3/QProcess.3qt
@@ -0,0 +1 @@
+.so man3/qprocess.3qt
diff --git a/doc/man/man3/QProgressBar.3qt b/doc/man/man3/QProgressBar.3qt
new file mode 100644
index 0000000..068e077
--- /dev/null
+++ b/doc/man/man3/QProgressBar.3qt
@@ -0,0 +1 @@
+.so man3/qprogressbar.3qt
diff --git a/doc/man/man3/QProgressDialog.3qt b/doc/man/man3/QProgressDialog.3qt
new file mode 100644
index 0000000..ccab6fc
--- /dev/null
+++ b/doc/man/man3/QProgressDialog.3qt
@@ -0,0 +1 @@
+.so man3/qprogressdialog.3qt
diff --git a/doc/man/man3/QPtrCollection.3qt b/doc/man/man3/QPtrCollection.3qt
new file mode 100644
index 0000000..09d6d8f
--- /dev/null
+++ b/doc/man/man3/QPtrCollection.3qt
@@ -0,0 +1 @@
+.so man3/qptrcollection.3qt
diff --git a/doc/man/man3/QPtrDict.3qt b/doc/man/man3/QPtrDict.3qt
new file mode 100644
index 0000000..5d4904a
--- /dev/null
+++ b/doc/man/man3/QPtrDict.3qt
@@ -0,0 +1 @@
+.so man3/qptrdict.3qt
diff --git a/doc/man/man3/QPtrDictIterator.3qt b/doc/man/man3/QPtrDictIterator.3qt
new file mode 100644
index 0000000..fcf7e43
--- /dev/null
+++ b/doc/man/man3/QPtrDictIterator.3qt
@@ -0,0 +1 @@
+.so man3/qptrdictiterator.3qt
diff --git a/doc/man/man3/QPtrList.3qt b/doc/man/man3/QPtrList.3qt
new file mode 100644
index 0000000..9d95ddf
--- /dev/null
+++ b/doc/man/man3/QPtrList.3qt
@@ -0,0 +1 @@
+.so man3/qptrlist.3qt
diff --git a/doc/man/man3/QPtrListIterator.3qt b/doc/man/man3/QPtrListIterator.3qt
new file mode 100644
index 0000000..ae56bf5
--- /dev/null
+++ b/doc/man/man3/QPtrListIterator.3qt
@@ -0,0 +1 @@
+.so man3/qptrlistiterator.3qt
diff --git a/doc/man/man3/QPtrQueue.3qt b/doc/man/man3/QPtrQueue.3qt
new file mode 100644
index 0000000..366001c
--- /dev/null
+++ b/doc/man/man3/QPtrQueue.3qt
@@ -0,0 +1 @@
+.so man3/qptrqueue.3qt
diff --git a/doc/man/man3/QPtrStack.3qt b/doc/man/man3/QPtrStack.3qt
new file mode 100644
index 0000000..e938060
--- /dev/null
+++ b/doc/man/man3/QPtrStack.3qt
@@ -0,0 +1 @@
+.so man3/qptrstack.3qt
diff --git a/doc/man/man3/QPtrVector.3qt b/doc/man/man3/QPtrVector.3qt
new file mode 100644
index 0000000..3a26335
--- /dev/null
+++ b/doc/man/man3/QPtrVector.3qt
@@ -0,0 +1 @@
+.so man3/qptrvector.3qt
diff --git a/doc/man/man3/QPushButton.3qt b/doc/man/man3/QPushButton.3qt
new file mode 100644
index 0000000..4cd46d6
--- /dev/null
+++ b/doc/man/man3/QPushButton.3qt
@@ -0,0 +1 @@
+.so man3/qpushbutton.3qt
diff --git a/doc/man/man3/QRadioButton.3qt b/doc/man/man3/QRadioButton.3qt
new file mode 100644
index 0000000..42976a3
--- /dev/null
+++ b/doc/man/man3/QRadioButton.3qt
@@ -0,0 +1 @@
+.so man3/qradiobutton.3qt
diff --git a/doc/man/man3/QRangeControl.3qt b/doc/man/man3/QRangeControl.3qt
new file mode 100644
index 0000000..8148420
--- /dev/null
+++ b/doc/man/man3/QRangeControl.3qt
@@ -0,0 +1 @@
+.so man3/qrangecontrol.3qt
diff --git a/doc/man/man3/QRect.3qt b/doc/man/man3/QRect.3qt
new file mode 100644
index 0000000..10f40e0
--- /dev/null
+++ b/doc/man/man3/QRect.3qt
@@ -0,0 +1 @@
+.so man3/qrect.3qt
diff --git a/doc/man/man3/QRegExp.3qt b/doc/man/man3/QRegExp.3qt
new file mode 100644
index 0000000..6b1b4e5
--- /dev/null
+++ b/doc/man/man3/QRegExp.3qt
@@ -0,0 +1 @@
+.so man3/qregexp.3qt
diff --git a/doc/man/man3/QRegExpValidator.3qt b/doc/man/man3/QRegExpValidator.3qt
new file mode 100644
index 0000000..69c6565
--- /dev/null
+++ b/doc/man/man3/QRegExpValidator.3qt
@@ -0,0 +1 @@
+.so man3/qregexpvalidator.3qt
diff --git a/doc/man/man3/QRegion.3qt b/doc/man/man3/QRegion.3qt
new file mode 100644
index 0000000..1df9f01
--- /dev/null
+++ b/doc/man/man3/QRegion.3qt
@@ -0,0 +1 @@
+.so man3/qregion.3qt
diff --git a/doc/man/man3/QResizeEvent.3qt b/doc/man/man3/QResizeEvent.3qt
new file mode 100644
index 0000000..eb52f80
--- /dev/null
+++ b/doc/man/man3/QResizeEvent.3qt
@@ -0,0 +1 @@
+.so man3/qresizeevent.3qt
diff --git a/doc/man/man3/QSGIStyle.3qt b/doc/man/man3/QSGIStyle.3qt
new file mode 100644
index 0000000..e56aa95
--- /dev/null
+++ b/doc/man/man3/QSGIStyle.3qt
@@ -0,0 +1 @@
+.so man3/qsgistyle.3qt
diff --git a/doc/man/man3/QScreen.3qt b/doc/man/man3/QScreen.3qt
new file mode 100644
index 0000000..0b53949
--- /dev/null
+++ b/doc/man/man3/QScreen.3qt
@@ -0,0 +1 @@
+.so man3/qscreen.3qt
diff --git a/doc/man/man3/QScrollBar.3qt b/doc/man/man3/QScrollBar.3qt
new file mode 100644
index 0000000..19e7177
--- /dev/null
+++ b/doc/man/man3/QScrollBar.3qt
@@ -0,0 +1 @@
+.so man3/qscrollbar.3qt
diff --git a/doc/man/man3/QScrollView.3qt b/doc/man/man3/QScrollView.3qt
new file mode 100644
index 0000000..b01df4d
--- /dev/null
+++ b/doc/man/man3/QScrollView.3qt
@@ -0,0 +1 @@
+.so man3/qscrollview.3qt
diff --git a/doc/man/man3/QSemaphore.3qt b/doc/man/man3/QSemaphore.3qt
new file mode 100644
index 0000000..f52c7ef
--- /dev/null
+++ b/doc/man/man3/QSemaphore.3qt
@@ -0,0 +1 @@
+.so man3/qsemaphore.3qt
diff --git a/doc/man/man3/QServerSocket.3qt b/doc/man/man3/QServerSocket.3qt
new file mode 100644
index 0000000..dc91dfc
--- /dev/null
+++ b/doc/man/man3/QServerSocket.3qt
@@ -0,0 +1 @@
+.so man3/qserversocket.3qt
diff --git a/doc/man/man3/QSessionManager.3qt b/doc/man/man3/QSessionManager.3qt
new file mode 100644
index 0000000..ed8ee04
--- /dev/null
+++ b/doc/man/man3/QSessionManager.3qt
@@ -0,0 +1 @@
+.so man3/qsessionmanager.3qt
diff --git a/doc/man/man3/QSettings.3qt b/doc/man/man3/QSettings.3qt
new file mode 100644
index 0000000..2725697
--- /dev/null
+++ b/doc/man/man3/QSettings.3qt
@@ -0,0 +1 @@
+.so man3/qsettings.3qt
diff --git a/doc/man/man3/QShowEvent.3qt b/doc/man/man3/QShowEvent.3qt
new file mode 100644
index 0000000..5b16be8
--- /dev/null
+++ b/doc/man/man3/QShowEvent.3qt
@@ -0,0 +1 @@
+.so man3/qshowevent.3qt
diff --git a/doc/man/man3/QSignal.3qt b/doc/man/man3/QSignal.3qt
new file mode 100644
index 0000000..c8df8d1
--- /dev/null
+++ b/doc/man/man3/QSignal.3qt
@@ -0,0 +1 @@
+.so man3/qsignal.3qt
diff --git a/doc/man/man3/QSignalMapper.3qt b/doc/man/man3/QSignalMapper.3qt
new file mode 100644
index 0000000..72cad66
--- /dev/null
+++ b/doc/man/man3/QSignalMapper.3qt
@@ -0,0 +1 @@
+.so man3/qsignalmapper.3qt
diff --git a/doc/man/man3/QSimpleRichText.3qt b/doc/man/man3/QSimpleRichText.3qt
new file mode 100644
index 0000000..4e01b68
--- /dev/null
+++ b/doc/man/man3/QSimpleRichText.3qt
@@ -0,0 +1 @@
+.so man3/qsimplerichtext.3qt
diff --git a/doc/man/man3/QSize.3qt b/doc/man/man3/QSize.3qt
new file mode 100644
index 0000000..b7a14b3
--- /dev/null
+++ b/doc/man/man3/QSize.3qt
@@ -0,0 +1 @@
+.so man3/qsize.3qt
diff --git a/doc/man/man3/QSizeGrip.3qt b/doc/man/man3/QSizeGrip.3qt
new file mode 100644
index 0000000..fa048c7
--- /dev/null
+++ b/doc/man/man3/QSizeGrip.3qt
@@ -0,0 +1 @@
+.so man3/qsizegrip.3qt
diff --git a/doc/man/man3/QSizePolicy.3qt b/doc/man/man3/QSizePolicy.3qt
new file mode 100644
index 0000000..d7f5909
--- /dev/null
+++ b/doc/man/man3/QSizePolicy.3qt
@@ -0,0 +1 @@
+.so man3/qsizepolicy.3qt
diff --git a/doc/man/man3/QSjisCodec.3qt b/doc/man/man3/QSjisCodec.3qt
new file mode 100644
index 0000000..da9c7d8
--- /dev/null
+++ b/doc/man/man3/QSjisCodec.3qt
@@ -0,0 +1 @@
+.so man3/qsjiscodec.3qt
diff --git a/doc/man/man3/QSlider.3qt b/doc/man/man3/QSlider.3qt
new file mode 100644
index 0000000..ca028dc
--- /dev/null
+++ b/doc/man/man3/QSlider.3qt
@@ -0,0 +1 @@
+.so man3/qslider.3qt
diff --git a/doc/man/man3/QSocket.3qt b/doc/man/man3/QSocket.3qt
new file mode 100644
index 0000000..59d8bf7
--- /dev/null
+++ b/doc/man/man3/QSocket.3qt
@@ -0,0 +1 @@
+.so man3/qsocket.3qt
diff --git a/doc/man/man3/QSocketDevice.3qt b/doc/man/man3/QSocketDevice.3qt
new file mode 100644
index 0000000..6576329
--- /dev/null
+++ b/doc/man/man3/QSocketDevice.3qt
@@ -0,0 +1 @@
+.so man3/qsocketdevice.3qt
diff --git a/doc/man/man3/QSocketNotifier.3qt b/doc/man/man3/QSocketNotifier.3qt
new file mode 100644
index 0000000..7cc0946
--- /dev/null
+++ b/doc/man/man3/QSocketNotifier.3qt
@@ -0,0 +1 @@
+.so man3/qsocketnotifier.3qt
diff --git a/doc/man/man3/QSound.3qt b/doc/man/man3/QSound.3qt
new file mode 100644
index 0000000..c68587d
--- /dev/null
+++ b/doc/man/man3/QSound.3qt
@@ -0,0 +1 @@
+.so man3/qsound.3qt
diff --git a/doc/man/man3/QSpacerItem.3qt b/doc/man/man3/QSpacerItem.3qt
new file mode 100644
index 0000000..639f1a0
--- /dev/null
+++ b/doc/man/man3/QSpacerItem.3qt
@@ -0,0 +1 @@
+.so man3/qspaceritem.3qt
diff --git a/doc/man/man3/QSpinBox.3qt b/doc/man/man3/QSpinBox.3qt
new file mode 100644
index 0000000..18d8e92
--- /dev/null
+++ b/doc/man/man3/QSpinBox.3qt
@@ -0,0 +1 @@
+.so man3/qspinbox.3qt
diff --git a/doc/man/man3/QSplashScreen.3qt b/doc/man/man3/QSplashScreen.3qt
new file mode 100644
index 0000000..40e867f
--- /dev/null
+++ b/doc/man/man3/QSplashScreen.3qt
@@ -0,0 +1 @@
+.so man3/qsplashscreen.3qt
diff --git a/doc/man/man3/QSplitter.3qt b/doc/man/man3/QSplitter.3qt
new file mode 100644
index 0000000..4c547aa
--- /dev/null
+++ b/doc/man/man3/QSplitter.3qt
@@ -0,0 +1 @@
+.so man3/qsplitter.3qt
diff --git a/doc/man/man3/QSql.3qt b/doc/man/man3/QSql.3qt
new file mode 100644
index 0000000..3447433
--- /dev/null
+++ b/doc/man/man3/QSql.3qt
@@ -0,0 +1 @@
+.so man3/qsql.3qt
diff --git a/doc/man/man3/QSqlCursor.3qt b/doc/man/man3/QSqlCursor.3qt
new file mode 100644
index 0000000..a624ba1
--- /dev/null
+++ b/doc/man/man3/QSqlCursor.3qt
@@ -0,0 +1 @@
+.so man3/qsqlcursor.3qt
diff --git a/doc/man/man3/QSqlDatabase.3qt b/doc/man/man3/QSqlDatabase.3qt
new file mode 100644
index 0000000..ceb50c5
--- /dev/null
+++ b/doc/man/man3/QSqlDatabase.3qt
@@ -0,0 +1 @@
+.so man3/qsqldatabase.3qt
diff --git a/doc/man/man3/QSqlDriver.3qt b/doc/man/man3/QSqlDriver.3qt
new file mode 100644
index 0000000..4c42093
--- /dev/null
+++ b/doc/man/man3/QSqlDriver.3qt
@@ -0,0 +1 @@
+.so man3/qsqldriver.3qt
diff --git a/doc/man/man3/QSqlDriverPlugin.3qt b/doc/man/man3/QSqlDriverPlugin.3qt
new file mode 100644
index 0000000..e814b87
--- /dev/null
+++ b/doc/man/man3/QSqlDriverPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qsqldriverplugin.3qt
diff --git a/doc/man/man3/QSqlEditorFactory.3qt b/doc/man/man3/QSqlEditorFactory.3qt
new file mode 100644
index 0000000..2a956c0
--- /dev/null
+++ b/doc/man/man3/QSqlEditorFactory.3qt
@@ -0,0 +1 @@
+.so man3/qsqleditorfactory.3qt
diff --git a/doc/man/man3/QSqlError.3qt b/doc/man/man3/QSqlError.3qt
new file mode 100644
index 0000000..03c4274
--- /dev/null
+++ b/doc/man/man3/QSqlError.3qt
@@ -0,0 +1 @@
+.so man3/qsqlerror.3qt
diff --git a/doc/man/man3/QSqlField.3qt b/doc/man/man3/QSqlField.3qt
new file mode 100644
index 0000000..ff6e797
--- /dev/null
+++ b/doc/man/man3/QSqlField.3qt
@@ -0,0 +1 @@
+.so man3/qsqlfield.3qt
diff --git a/doc/man/man3/QSqlFieldInfo.3qt b/doc/man/man3/QSqlFieldInfo.3qt
new file mode 100644
index 0000000..4938647
--- /dev/null
+++ b/doc/man/man3/QSqlFieldInfo.3qt
@@ -0,0 +1 @@
+.so man3/qsqlfieldinfo.3qt
diff --git a/doc/man/man3/QSqlForm.3qt b/doc/man/man3/QSqlForm.3qt
new file mode 100644
index 0000000..0dfb48a
--- /dev/null
+++ b/doc/man/man3/QSqlForm.3qt
@@ -0,0 +1 @@
+.so man3/qsqlform.3qt
diff --git a/doc/man/man3/QSqlIndex.3qt b/doc/man/man3/QSqlIndex.3qt
new file mode 100644
index 0000000..2d73247
--- /dev/null
+++ b/doc/man/man3/QSqlIndex.3qt
@@ -0,0 +1 @@
+.so man3/qsqlindex.3qt
diff --git a/doc/man/man3/QSqlPropertyMap.3qt b/doc/man/man3/QSqlPropertyMap.3qt
new file mode 100644
index 0000000..adb4c95
--- /dev/null
+++ b/doc/man/man3/QSqlPropertyMap.3qt
@@ -0,0 +1 @@
+.so man3/qsqlpropertymap.3qt
diff --git a/doc/man/man3/QSqlQuery.3qt b/doc/man/man3/QSqlQuery.3qt
new file mode 100644
index 0000000..cd1a8c2
--- /dev/null
+++ b/doc/man/man3/QSqlQuery.3qt
@@ -0,0 +1 @@
+.so man3/qsqlquery.3qt
diff --git a/doc/man/man3/QSqlRecord.3qt b/doc/man/man3/QSqlRecord.3qt
new file mode 100644
index 0000000..c66047e
--- /dev/null
+++ b/doc/man/man3/QSqlRecord.3qt
@@ -0,0 +1 @@
+.so man3/qsqlrecord.3qt
diff --git a/doc/man/man3/QSqlRecordInfo.3qt b/doc/man/man3/QSqlRecordInfo.3qt
new file mode 100644
index 0000000..0f04793
--- /dev/null
+++ b/doc/man/man3/QSqlRecordInfo.3qt
@@ -0,0 +1 @@
+.so man3/qsqlrecordinfo.3qt
diff --git a/doc/man/man3/QSqlResult.3qt b/doc/man/man3/QSqlResult.3qt
new file mode 100644
index 0000000..2a15999
--- /dev/null
+++ b/doc/man/man3/QSqlResult.3qt
@@ -0,0 +1 @@
+.so man3/qsqlresult.3qt
diff --git a/doc/man/man3/QSqlSelectCursor.3qt b/doc/man/man3/QSqlSelectCursor.3qt
new file mode 100644
index 0000000..004c2db
--- /dev/null
+++ b/doc/man/man3/QSqlSelectCursor.3qt
@@ -0,0 +1 @@
+.so man3/qsqlselectcursor.3qt
diff --git a/doc/man/man3/QStatusBar.3qt b/doc/man/man3/QStatusBar.3qt
new file mode 100644
index 0000000..60a2538
--- /dev/null
+++ b/doc/man/man3/QStatusBar.3qt
@@ -0,0 +1 @@
+.so man3/qstatusbar.3qt
diff --git a/doc/man/man3/QStoredDrag.3qt b/doc/man/man3/QStoredDrag.3qt
new file mode 100644
index 0000000..6bd3bf8
--- /dev/null
+++ b/doc/man/man3/QStoredDrag.3qt
@@ -0,0 +1 @@
+.so man3/qstoreddrag.3qt
diff --git a/doc/man/man3/QStrIList.3qt b/doc/man/man3/QStrIList.3qt
new file mode 100644
index 0000000..dd19eb6
--- /dev/null
+++ b/doc/man/man3/QStrIList.3qt
@@ -0,0 +1 @@
+.so man3/qstrilist.3qt
diff --git a/doc/man/man3/QStrList.3qt b/doc/man/man3/QStrList.3qt
new file mode 100644
index 0000000..4c2c503
--- /dev/null
+++ b/doc/man/man3/QStrList.3qt
@@ -0,0 +1 @@
+.so man3/qstrlist.3qt
diff --git a/doc/man/man3/QStrListIterator.3qt b/doc/man/man3/QStrListIterator.3qt
new file mode 100644
index 0000000..d04402c
--- /dev/null
+++ b/doc/man/man3/QStrListIterator.3qt
@@ -0,0 +1 @@
+.so man3/qstrlistiterator.3qt
diff --git a/doc/man/man3/QString.3qt b/doc/man/man3/QString.3qt
new file mode 100644
index 0000000..3574cdb
--- /dev/null
+++ b/doc/man/man3/QString.3qt
@@ -0,0 +1 @@
+.so man3/qstring.3qt
diff --git a/doc/man/man3/QStringList.3qt b/doc/man/man3/QStringList.3qt
new file mode 100644
index 0000000..a757e40
--- /dev/null
+++ b/doc/man/man3/QStringList.3qt
@@ -0,0 +1 @@
+.so man3/qstringlist.3qt
diff --git a/doc/man/man3/QStyle.3qt b/doc/man/man3/QStyle.3qt
new file mode 100644
index 0000000..a76c6f4
--- /dev/null
+++ b/doc/man/man3/QStyle.3qt
@@ -0,0 +1 @@
+.so man3/qstyle.3qt
diff --git a/doc/man/man3/QStyleFactory.3qt b/doc/man/man3/QStyleFactory.3qt
new file mode 100644
index 0000000..ac3563c
--- /dev/null
+++ b/doc/man/man3/QStyleFactory.3qt
@@ -0,0 +1 @@
+.so man3/qstylefactory.3qt
diff --git a/doc/man/man3/QStyleOption.3qt b/doc/man/man3/QStyleOption.3qt
new file mode 100644
index 0000000..5e10a1d
--- /dev/null
+++ b/doc/man/man3/QStyleOption.3qt
@@ -0,0 +1 @@
+.so man3/qstyleoption.3qt
diff --git a/doc/man/man3/QStylePlugin.3qt b/doc/man/man3/QStylePlugin.3qt
new file mode 100644
index 0000000..e2b4737
--- /dev/null
+++ b/doc/man/man3/QStylePlugin.3qt
@@ -0,0 +1 @@
+.so man3/qstyleplugin.3qt
diff --git a/doc/man/man3/QStyleSheet.3qt b/doc/man/man3/QStyleSheet.3qt
new file mode 100644
index 0000000..de3d2d7
--- /dev/null
+++ b/doc/man/man3/QStyleSheet.3qt
@@ -0,0 +1 @@
+.so man3/qstylesheet.3qt
diff --git a/doc/man/man3/QStyleSheetItem.3qt b/doc/man/man3/QStyleSheetItem.3qt
new file mode 100644
index 0000000..1b2fff2
--- /dev/null
+++ b/doc/man/man3/QStyleSheetItem.3qt
@@ -0,0 +1 @@
+.so man3/qstylesheetitem.3qt
diff --git a/doc/man/man3/QSyntaxHighlighter.3qt b/doc/man/man3/QSyntaxHighlighter.3qt
new file mode 100644
index 0000000..1cf5370
--- /dev/null
+++ b/doc/man/man3/QSyntaxHighlighter.3qt
@@ -0,0 +1 @@
+.so man3/qsyntaxhighlighter.3qt
diff --git a/doc/man/man3/QTab.3qt b/doc/man/man3/QTab.3qt
new file mode 100644
index 0000000..a093a67
--- /dev/null
+++ b/doc/man/man3/QTab.3qt
@@ -0,0 +1 @@
+.so man3/qtab.3qt
diff --git a/doc/man/man3/QTabBar.3qt b/doc/man/man3/QTabBar.3qt
new file mode 100644
index 0000000..d200390
--- /dev/null
+++ b/doc/man/man3/QTabBar.3qt
@@ -0,0 +1 @@
+.so man3/qtabbar.3qt
diff --git a/doc/man/man3/QTabDialog.3qt b/doc/man/man3/QTabDialog.3qt
new file mode 100644
index 0000000..73a52f3
--- /dev/null
+++ b/doc/man/man3/QTabDialog.3qt
@@ -0,0 +1 @@
+.so man3/qtabdialog.3qt
diff --git a/doc/man/man3/QTabWidget.3qt b/doc/man/man3/QTabWidget.3qt
new file mode 100644
index 0000000..5a87371
--- /dev/null
+++ b/doc/man/man3/QTabWidget.3qt
@@ -0,0 +1 @@
+.so man3/qtabwidget.3qt
diff --git a/doc/man/man3/QTable.3qt b/doc/man/man3/QTable.3qt
new file mode 100644
index 0000000..a6d9f95
--- /dev/null
+++ b/doc/man/man3/QTable.3qt
@@ -0,0 +1 @@
+.so man3/qtable.3qt
diff --git a/doc/man/man3/QTableItem.3qt b/doc/man/man3/QTableItem.3qt
new file mode 100644
index 0000000..7307bb5
--- /dev/null
+++ b/doc/man/man3/QTableItem.3qt
@@ -0,0 +1 @@
+.so man3/qtableitem.3qt
diff --git a/doc/man/man3/QTableSelection.3qt b/doc/man/man3/QTableSelection.3qt
new file mode 100644
index 0000000..31e0018
--- /dev/null
+++ b/doc/man/man3/QTableSelection.3qt
@@ -0,0 +1 @@
+.so man3/qtableselection.3qt
diff --git a/doc/man/man3/QTabletEvent.3qt b/doc/man/man3/QTabletEvent.3qt
new file mode 100644
index 0000000..1ee1a3e
--- /dev/null
+++ b/doc/man/man3/QTabletEvent.3qt
@@ -0,0 +1 @@
+.so man3/qtabletevent.3qt
diff --git a/doc/man/man3/QTextBrowser.3qt b/doc/man/man3/QTextBrowser.3qt
new file mode 100644
index 0000000..3214dc3
--- /dev/null
+++ b/doc/man/man3/QTextBrowser.3qt
@@ -0,0 +1 @@
+.so man3/qtextbrowser.3qt
diff --git a/doc/man/man3/QTextCodec.3qt b/doc/man/man3/QTextCodec.3qt
new file mode 100644
index 0000000..94fe818
--- /dev/null
+++ b/doc/man/man3/QTextCodec.3qt
@@ -0,0 +1 @@
+.so man3/qtextcodec.3qt
diff --git a/doc/man/man3/QTextCodecPlugin.3qt b/doc/man/man3/QTextCodecPlugin.3qt
new file mode 100644
index 0000000..0f8cba4
--- /dev/null
+++ b/doc/man/man3/QTextCodecPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qtextcodecplugin.3qt
diff --git a/doc/man/man3/QTextDecoder.3qt b/doc/man/man3/QTextDecoder.3qt
new file mode 100644
index 0000000..d99ca4f
--- /dev/null
+++ b/doc/man/man3/QTextDecoder.3qt
@@ -0,0 +1 @@
+.so man3/qtextdecoder.3qt
diff --git a/doc/man/man3/QTextDrag.3qt b/doc/man/man3/QTextDrag.3qt
new file mode 100644
index 0000000..6d79ec1
--- /dev/null
+++ b/doc/man/man3/QTextDrag.3qt
@@ -0,0 +1 @@
+.so man3/qtextdrag.3qt
diff --git a/doc/man/man3/QTextEdit.3qt b/doc/man/man3/QTextEdit.3qt
new file mode 100644
index 0000000..63b1c60
--- /dev/null
+++ b/doc/man/man3/QTextEdit.3qt
@@ -0,0 +1 @@
+.so man3/qtextedit.3qt
diff --git a/doc/man/man3/QTextEncoder.3qt b/doc/man/man3/QTextEncoder.3qt
new file mode 100644
index 0000000..fde2f7f
--- /dev/null
+++ b/doc/man/man3/QTextEncoder.3qt
@@ -0,0 +1 @@
+.so man3/qtextencoder.3qt
diff --git a/doc/man/man3/QTextIStream.3qt b/doc/man/man3/QTextIStream.3qt
new file mode 100644
index 0000000..dd91f34
--- /dev/null
+++ b/doc/man/man3/QTextIStream.3qt
@@ -0,0 +1 @@
+.so man3/qtextistream.3qt
diff --git a/doc/man/man3/QTextOStream.3qt b/doc/man/man3/QTextOStream.3qt
new file mode 100644
index 0000000..12c7be9
--- /dev/null
+++ b/doc/man/man3/QTextOStream.3qt
@@ -0,0 +1 @@
+.so man3/qtextostream.3qt
diff --git a/doc/man/man3/QTextStream.3qt b/doc/man/man3/QTextStream.3qt
new file mode 100644
index 0000000..b47fb9e
--- /dev/null
+++ b/doc/man/man3/QTextStream.3qt
@@ -0,0 +1 @@
+.so man3/qtextstream.3qt
diff --git a/doc/man/man3/QThread.3qt b/doc/man/man3/QThread.3qt
new file mode 100644
index 0000000..febb747
--- /dev/null
+++ b/doc/man/man3/QThread.3qt
@@ -0,0 +1 @@
+.so man3/qthread.3qt
diff --git a/doc/man/man3/QThreadStorage.3qt b/doc/man/man3/QThreadStorage.3qt
new file mode 100644
index 0000000..3b09ba8
--- /dev/null
+++ b/doc/man/man3/QThreadStorage.3qt
@@ -0,0 +1 @@
+.so man3/qthreadstorage.3qt
diff --git a/doc/man/man3/QTime.3qt b/doc/man/man3/QTime.3qt
new file mode 100644
index 0000000..cc6c721
--- /dev/null
+++ b/doc/man/man3/QTime.3qt
@@ -0,0 +1 @@
+.so man3/qtime.3qt
diff --git a/doc/man/man3/QTimeEdit.3qt b/doc/man/man3/QTimeEdit.3qt
new file mode 100644
index 0000000..e659adc
--- /dev/null
+++ b/doc/man/man3/QTimeEdit.3qt
@@ -0,0 +1 @@
+.so man3/qtimeedit.3qt
diff --git a/doc/man/man3/QTimer.3qt b/doc/man/man3/QTimer.3qt
new file mode 100644
index 0000000..1740c73
--- /dev/null
+++ b/doc/man/man3/QTimer.3qt
@@ -0,0 +1 @@
+.so man3/qtimer.3qt
diff --git a/doc/man/man3/QTimerEvent.3qt b/doc/man/man3/QTimerEvent.3qt
new file mode 100644
index 0000000..dd5973b
--- /dev/null
+++ b/doc/man/man3/QTimerEvent.3qt
@@ -0,0 +1 @@
+.so man3/qtimerevent.3qt
diff --git a/doc/man/man3/QToolBar.3qt b/doc/man/man3/QToolBar.3qt
new file mode 100644
index 0000000..1f7fff5
--- /dev/null
+++ b/doc/man/man3/QToolBar.3qt
@@ -0,0 +1 @@
+.so man3/qtoolbar.3qt
diff --git a/doc/man/man3/QToolBox.3qt b/doc/man/man3/QToolBox.3qt
new file mode 100644
index 0000000..70a95a0
--- /dev/null
+++ b/doc/man/man3/QToolBox.3qt
@@ -0,0 +1 @@
+.so man3/qtoolbox.3qt
diff --git a/doc/man/man3/QToolButton.3qt b/doc/man/man3/QToolButton.3qt
new file mode 100644
index 0000000..7377a2d
--- /dev/null
+++ b/doc/man/man3/QToolButton.3qt
@@ -0,0 +1 @@
+.so man3/qtoolbutton.3qt
diff --git a/doc/man/man3/QToolTip.3qt b/doc/man/man3/QToolTip.3qt
new file mode 100644
index 0000000..95b4ac3
--- /dev/null
+++ b/doc/man/man3/QToolTip.3qt
@@ -0,0 +1 @@
+.so man3/qtooltip.3qt
diff --git a/doc/man/man3/QToolTipGroup.3qt b/doc/man/man3/QToolTipGroup.3qt
new file mode 100644
index 0000000..96fddea
--- /dev/null
+++ b/doc/man/man3/QToolTipGroup.3qt
@@ -0,0 +1 @@
+.so man3/qtooltipgroup.3qt
diff --git a/doc/man/man3/QTranslator.3qt b/doc/man/man3/QTranslator.3qt
new file mode 100644
index 0000000..0dfd1cc
--- /dev/null
+++ b/doc/man/man3/QTranslator.3qt
@@ -0,0 +1 @@
+.so man3/qtranslator.3qt
diff --git a/doc/man/man3/QTranslatorMessage.3qt b/doc/man/man3/QTranslatorMessage.3qt
new file mode 100644
index 0000000..e32d071
--- /dev/null
+++ b/doc/man/man3/QTranslatorMessage.3qt
@@ -0,0 +1 @@
+.so man3/qtranslatormessage.3qt
diff --git a/doc/man/man3/QTsciiCodec.3qt b/doc/man/man3/QTsciiCodec.3qt
new file mode 100644
index 0000000..1f716aa
--- /dev/null
+++ b/doc/man/man3/QTsciiCodec.3qt
@@ -0,0 +1 @@
+.so man3/qtsciicodec.3qt
diff --git a/doc/man/man3/QUriDrag.3qt b/doc/man/man3/QUriDrag.3qt
new file mode 100644
index 0000000..ecfb6e4
--- /dev/null
+++ b/doc/man/man3/QUriDrag.3qt
@@ -0,0 +1 @@
+.so man3/quridrag.3qt
diff --git a/doc/man/man3/QUrl.3qt b/doc/man/man3/QUrl.3qt
new file mode 100644
index 0000000..7a9a4b8
--- /dev/null
+++ b/doc/man/man3/QUrl.3qt
@@ -0,0 +1 @@
+.so man3/qurl.3qt
diff --git a/doc/man/man3/QUrlInfo.3qt b/doc/man/man3/QUrlInfo.3qt
new file mode 100644
index 0000000..4799192
--- /dev/null
+++ b/doc/man/man3/QUrlInfo.3qt
@@ -0,0 +1 @@
+.so man3/qurlinfo.3qt
diff --git a/doc/man/man3/QUrlOperator.3qt b/doc/man/man3/QUrlOperator.3qt
new file mode 100644
index 0000000..d481544
--- /dev/null
+++ b/doc/man/man3/QUrlOperator.3qt
@@ -0,0 +1 @@
+.so man3/qurloperator.3qt
diff --git a/doc/man/man3/QUuid.3qt b/doc/man/man3/QUuid.3qt
new file mode 100644
index 0000000..469a102
--- /dev/null
+++ b/doc/man/man3/QUuid.3qt
@@ -0,0 +1 @@
+.so man3/quuid.3qt
diff --git a/doc/man/man3/QVBox.3qt b/doc/man/man3/QVBox.3qt
new file mode 100644
index 0000000..3ba645b
--- /dev/null
+++ b/doc/man/man3/QVBox.3qt
@@ -0,0 +1 @@
+.so man3/qvbox.3qt
diff --git a/doc/man/man3/QVBoxLayout.3qt b/doc/man/man3/QVBoxLayout.3qt
new file mode 100644
index 0000000..c8eb25b
--- /dev/null
+++ b/doc/man/man3/QVBoxLayout.3qt
@@ -0,0 +1 @@
+.so man3/qvboxlayout.3qt
diff --git a/doc/man/man3/QVButtonGroup.3qt b/doc/man/man3/QVButtonGroup.3qt
new file mode 100644
index 0000000..815b6c8
--- /dev/null
+++ b/doc/man/man3/QVButtonGroup.3qt
@@ -0,0 +1 @@
+.so man3/qvbuttongroup.3qt
diff --git a/doc/man/man3/QVGroupBox.3qt b/doc/man/man3/QVGroupBox.3qt
new file mode 100644
index 0000000..4bcab4d
--- /dev/null
+++ b/doc/man/man3/QVGroupBox.3qt
@@ -0,0 +1 @@
+.so man3/qvgroupbox.3qt
diff --git a/doc/man/man3/QValidator.3qt b/doc/man/man3/QValidator.3qt
new file mode 100644
index 0000000..2dd313a
--- /dev/null
+++ b/doc/man/man3/QValidator.3qt
@@ -0,0 +1 @@
+.so man3/qvalidator.3qt
diff --git a/doc/man/man3/QValueList.3qt b/doc/man/man3/QValueList.3qt
new file mode 100644
index 0000000..e483f6a
--- /dev/null
+++ b/doc/man/man3/QValueList.3qt
@@ -0,0 +1 @@
+.so man3/qvaluelist.3qt
diff --git a/doc/man/man3/QValueListConstIterator.3qt b/doc/man/man3/QValueListConstIterator.3qt
new file mode 100644
index 0000000..a2b5e71
--- /dev/null
+++ b/doc/man/man3/QValueListConstIterator.3qt
@@ -0,0 +1 @@
+.so man3/qvaluelistconstiterator.3qt
diff --git a/doc/man/man3/QValueListIterator.3qt b/doc/man/man3/QValueListIterator.3qt
new file mode 100644
index 0000000..3c212fd
--- /dev/null
+++ b/doc/man/man3/QValueListIterator.3qt
@@ -0,0 +1 @@
+.so man3/qvaluelistiterator.3qt
diff --git a/doc/man/man3/QValueStack.3qt b/doc/man/man3/QValueStack.3qt
new file mode 100644
index 0000000..b754e7b
--- /dev/null
+++ b/doc/man/man3/QValueStack.3qt
@@ -0,0 +1 @@
+.so man3/qvaluestack.3qt
diff --git a/doc/man/man3/QValueVector.3qt b/doc/man/man3/QValueVector.3qt
new file mode 100644
index 0000000..d7060b8
--- /dev/null
+++ b/doc/man/man3/QValueVector.3qt
@@ -0,0 +1 @@
+.so man3/qvaluevector.3qt
diff --git a/doc/man/man3/QVariant.3qt b/doc/man/man3/QVariant.3qt
new file mode 100644
index 0000000..51ca7bc
--- /dev/null
+++ b/doc/man/man3/QVariant.3qt
@@ -0,0 +1 @@
+.so man3/qvariant.3qt
diff --git a/doc/man/man3/QWMatrix.3qt b/doc/man/man3/QWMatrix.3qt
new file mode 100644
index 0000000..bd9ad0d
--- /dev/null
+++ b/doc/man/man3/QWMatrix.3qt
@@ -0,0 +1 @@
+.so man3/qwmatrix.3qt
diff --git a/doc/man/man3/QWSDecoration.3qt b/doc/man/man3/QWSDecoration.3qt
new file mode 100644
index 0000000..8b3d0bb
--- /dev/null
+++ b/doc/man/man3/QWSDecoration.3qt
@@ -0,0 +1 @@
+.so man3/qwsdecoration.3qt
diff --git a/doc/man/man3/QWSInputMethod.3qt b/doc/man/man3/QWSInputMethod.3qt
new file mode 100644
index 0000000..aef7cf9
--- /dev/null
+++ b/doc/man/man3/QWSInputMethod.3qt
@@ -0,0 +1 @@
+.so man3/qwsinputmethod.3qt
diff --git a/doc/man/man3/QWSKeyboardHandler.3qt b/doc/man/man3/QWSKeyboardHandler.3qt
new file mode 100644
index 0000000..b49afb3
--- /dev/null
+++ b/doc/man/man3/QWSKeyboardHandler.3qt
@@ -0,0 +1 @@
+.so man3/qwskeyboardhandler.3qt
diff --git a/doc/man/man3/QWSMouseHandler.3qt b/doc/man/man3/QWSMouseHandler.3qt
new file mode 100644
index 0000000..edb5498
--- /dev/null
+++ b/doc/man/man3/QWSMouseHandler.3qt
@@ -0,0 +1 @@
+.so man3/qwsmousehandler.3qt
diff --git a/doc/man/man3/QWSServer.3qt b/doc/man/man3/QWSServer.3qt
new file mode 100644
index 0000000..18db91d
--- /dev/null
+++ b/doc/man/man3/QWSServer.3qt
@@ -0,0 +1 @@
+.so man3/qwsserver.3qt
diff --git a/doc/man/man3/QWSWindow.3qt b/doc/man/man3/QWSWindow.3qt
new file mode 100644
index 0000000..bc415b3
--- /dev/null
+++ b/doc/man/man3/QWSWindow.3qt
@@ -0,0 +1 @@
+.so man3/qwswindow.3qt
diff --git a/doc/man/man3/QWaitCondition.3qt b/doc/man/man3/QWaitCondition.3qt
new file mode 100644
index 0000000..da2466f
--- /dev/null
+++ b/doc/man/man3/QWaitCondition.3qt
@@ -0,0 +1 @@
+.so man3/qwaitcondition.3qt
diff --git a/doc/man/man3/QWhatsThis.3qt b/doc/man/man3/QWhatsThis.3qt
new file mode 100644
index 0000000..eeb968a
--- /dev/null
+++ b/doc/man/man3/QWhatsThis.3qt
@@ -0,0 +1 @@
+.so man3/qwhatsthis.3qt
diff --git a/doc/man/man3/QWheelEvent.3qt b/doc/man/man3/QWheelEvent.3qt
new file mode 100644
index 0000000..c50c34b
--- /dev/null
+++ b/doc/man/man3/QWheelEvent.3qt
@@ -0,0 +1 @@
+.so man3/qwheelevent.3qt
diff --git a/doc/man/man3/QWidget.3qt b/doc/man/man3/QWidget.3qt
new file mode 100644
index 0000000..6eca5cb
--- /dev/null
+++ b/doc/man/man3/QWidget.3qt
@@ -0,0 +1 @@
+.so man3/qwidget.3qt
diff --git a/doc/man/man3/QWidgetFactory.3qt b/doc/man/man3/QWidgetFactory.3qt
new file mode 100644
index 0000000..e3e393e
--- /dev/null
+++ b/doc/man/man3/QWidgetFactory.3qt
@@ -0,0 +1 @@
+.so man3/qwidgetfactory.3qt
diff --git a/doc/man/man3/QWidgetItem.3qt b/doc/man/man3/QWidgetItem.3qt
new file mode 100644
index 0000000..b5a32fb
--- /dev/null
+++ b/doc/man/man3/QWidgetItem.3qt
@@ -0,0 +1 @@
+.so man3/qwidgetitem.3qt
diff --git a/doc/man/man3/QWidgetPlugin.3qt b/doc/man/man3/QWidgetPlugin.3qt
new file mode 100644
index 0000000..de33b4e
--- /dev/null
+++ b/doc/man/man3/QWidgetPlugin.3qt
@@ -0,0 +1 @@
+.so man3/qwidgetplugin.3qt
diff --git a/doc/man/man3/QWidgetStack.3qt b/doc/man/man3/QWidgetStack.3qt
new file mode 100644
index 0000000..5e79265
--- /dev/null
+++ b/doc/man/man3/QWidgetStack.3qt
@@ -0,0 +1 @@
+.so man3/qwidgetstack.3qt
diff --git a/doc/man/man3/QWindowsMime.3qt b/doc/man/man3/QWindowsMime.3qt
new file mode 100644
index 0000000..eefcaf9
--- /dev/null
+++ b/doc/man/man3/QWindowsMime.3qt
@@ -0,0 +1 @@
+.so man3/qwindowsmime.3qt
diff --git a/doc/man/man3/QWindowsStyle.3qt b/doc/man/man3/QWindowsStyle.3qt
new file mode 100644
index 0000000..ff414cc
--- /dev/null
+++ b/doc/man/man3/QWindowsStyle.3qt
@@ -0,0 +1 @@
+.so man3/qwindowsstyle.3qt
diff --git a/doc/man/man3/QWizard.3qt b/doc/man/man3/QWizard.3qt
new file mode 100644
index 0000000..7448161
--- /dev/null
+++ b/doc/man/man3/QWizard.3qt
@@ -0,0 +1 @@
+.so man3/qwizard.3qt
diff --git a/doc/man/man3/QWorkspace.3qt b/doc/man/man3/QWorkspace.3qt
new file mode 100644
index 0000000..a4be831
--- /dev/null
+++ b/doc/man/man3/QWorkspace.3qt
@@ -0,0 +1 @@
+.so man3/qworkspace.3qt
diff --git a/doc/man/man3/QXmlAttributes.3qt b/doc/man/man3/QXmlAttributes.3qt
new file mode 100644
index 0000000..a99a243
--- /dev/null
+++ b/doc/man/man3/QXmlAttributes.3qt
@@ -0,0 +1 @@
+.so man3/qxmlattributes.3qt
diff --git a/doc/man/man3/QXmlContentHandler.3qt b/doc/man/man3/QXmlContentHandler.3qt
new file mode 100644
index 0000000..4b4349c
--- /dev/null
+++ b/doc/man/man3/QXmlContentHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmlcontenthandler.3qt
diff --git a/doc/man/man3/QXmlDTDHandler.3qt b/doc/man/man3/QXmlDTDHandler.3qt
new file mode 100644
index 0000000..993666f
--- /dev/null
+++ b/doc/man/man3/QXmlDTDHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmldtdhandler.3qt
diff --git a/doc/man/man3/QXmlDeclHandler.3qt b/doc/man/man3/QXmlDeclHandler.3qt
new file mode 100644
index 0000000..794af7d
--- /dev/null
+++ b/doc/man/man3/QXmlDeclHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmldeclhandler.3qt
diff --git a/doc/man/man3/QXmlDefaultHandler.3qt b/doc/man/man3/QXmlDefaultHandler.3qt
new file mode 100644
index 0000000..0701130
--- /dev/null
+++ b/doc/man/man3/QXmlDefaultHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmldefaulthandler.3qt
diff --git a/doc/man/man3/QXmlEntityResolver.3qt b/doc/man/man3/QXmlEntityResolver.3qt
new file mode 100644
index 0000000..6c1566e
--- /dev/null
+++ b/doc/man/man3/QXmlEntityResolver.3qt
@@ -0,0 +1 @@
+.so man3/qxmlentityresolver.3qt
diff --git a/doc/man/man3/QXmlErrorHandler.3qt b/doc/man/man3/QXmlErrorHandler.3qt
new file mode 100644
index 0000000..96332d0
--- /dev/null
+++ b/doc/man/man3/QXmlErrorHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmlerrorhandler.3qt
diff --git a/doc/man/man3/QXmlInputSource.3qt b/doc/man/man3/QXmlInputSource.3qt
new file mode 100644
index 0000000..7eb985c
--- /dev/null
+++ b/doc/man/man3/QXmlInputSource.3qt
@@ -0,0 +1 @@
+.so man3/qxmlinputsource.3qt
diff --git a/doc/man/man3/QXmlLexicalHandler.3qt b/doc/man/man3/QXmlLexicalHandler.3qt
new file mode 100644
index 0000000..4ac9b37
--- /dev/null
+++ b/doc/man/man3/QXmlLexicalHandler.3qt
@@ -0,0 +1 @@
+.so man3/qxmllexicalhandler.3qt
diff --git a/doc/man/man3/QXmlLocator.3qt b/doc/man/man3/QXmlLocator.3qt
new file mode 100644
index 0000000..8f2a5fd
--- /dev/null
+++ b/doc/man/man3/QXmlLocator.3qt
@@ -0,0 +1 @@
+.so man3/qxmllocator.3qt
diff --git a/doc/man/man3/QXmlNamespaceSupport.3qt b/doc/man/man3/QXmlNamespaceSupport.3qt
new file mode 100644
index 0000000..0f334bb
--- /dev/null
+++ b/doc/man/man3/QXmlNamespaceSupport.3qt
@@ -0,0 +1 @@
+.so man3/qxmlnamespacesupport.3qt
diff --git a/doc/man/man3/QXmlParseException.3qt b/doc/man/man3/QXmlParseException.3qt
new file mode 100644
index 0000000..d418b20
--- /dev/null
+++ b/doc/man/man3/QXmlParseException.3qt
@@ -0,0 +1 @@
+.so man3/qxmlparseexception.3qt
diff --git a/doc/man/man3/QXmlReader.3qt b/doc/man/man3/QXmlReader.3qt
new file mode 100644
index 0000000..9a201bc
--- /dev/null
+++ b/doc/man/man3/QXmlReader.3qt
@@ -0,0 +1 @@
+.so man3/qxmlreader.3qt
diff --git a/doc/man/man3/QXmlSimpleReader.3qt b/doc/man/man3/QXmlSimpleReader.3qt
new file mode 100644
index 0000000..0c00d00
--- /dev/null
+++ b/doc/man/man3/QXmlSimpleReader.3qt
@@ -0,0 +1 @@
+.so man3/qxmlsimplereader.3qt
diff --git a/doc/man/man3/Qt.3qt b/doc/man/man3/Qt.3qt
new file mode 100644
index 0000000..46f304a
--- /dev/null
+++ b/doc/man/man3/Qt.3qt
@@ -0,0 +1 @@
+.so man3/qt.3qt
diff --git a/doc/man/man3/qaccel.3qt b/doc/man/man3/qaccel.3qt
new file mode 100644
index 0000000..9c5e23e
--- /dev/null
+++ b/doc/man/man3/qaccel.3qt
@@ -0,0 +1,324 @@
+'\" t
+.TH QAccel 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAccel \- Handles keyboard accelerator and shortcut keys
+.SH SYNOPSIS
+\fC#include <qaccel.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAccel\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQAccel\fR ( QWidget * watch, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QAccel\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QKeySequence & key, int id = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "QKeySequence \fBkey\fR ( int id )"
+.br
+.ti -1c
+.BI "int \fBfindKey\fR ( const QKeySequence & key ) const"
+.br
+.ti -1c
+.BI "bool \fBisItemEnabled\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemEnabled\fR ( int id, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBdisconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "void repairEventFilter () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetWhatsThis\fR ( int id, const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBwhatsThis\fR ( int id ) const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBactivatedAmbiguously\fR ( int id )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QKeySequence \fBshortcutKey\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "QString keyToString ( QKeySequence k ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QKeySequence stringToKey ( const QString & s ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool eventFilter ( QObject *, QEvent * ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAccel class handles keyboard accelerator and shortcut keys.
+.PP
+A keyboard accelerator triggers an action when a certain key combination is pressed. The accelerator handles all keyboard activity for all the children of one top-level widget, so it is not affected by the keyboard focus.
+.PP
+In most cases, you will not need to use this class directly. Use the QAction class to create actions with accelerators that can be used in both menus and toolbars. If you're only interested in menus use QMenuData::insertItem() or QMenuData::setAccel() to make accelerators for operations that are also available on menus. Many widgets automatically generate accelerators, such as QButton, QGroupBox, QLabel (with QLabel::setBuddy()), QMenuBar and QTabBar. Example:
+.PP
+.nf
+.br
+ QPushButton p( "&Exit", parent ); // automatic shortcut ALT+Key_E
+.br
+ QPopupMenu *fileMenu = new fileMenu( parent );
+.br
+ fileMenu->insertItem( "Undo", parent, SLOT(undo()), CTRL+Key_Z );
+.br
+.fi
+.PP
+A QAccel contains a list of accelerator items that can be manipulated using insertItem(), removeItem(), clear(), key() and findKey().
+.PP
+Each accelerator item consists of an identifier and a QKeySequence. A single key sequence consists of a keyboard code combined with modifiers (SHIFT, CTRL, ALT or UNICODE_ACCEL). For example, \fCCTRL + Key_P\fR could be a shortcut for printing a document. The key codes are listed in qnamespace.h. As an alternative, use UNICODE_ACCEL with the unicode code point of the character. For example, \fCUNICODE_ACCEL + 'A'\fR gives the same accelerator as Key_A.
+.PP
+When an accelerator key is pressed, the accelerator sends out the signal activated() with a number that identifies this particular accelerator item. Accelerator items can also be individually connected, so that two different keys will activate two different slots (see connectItem() and disconnectItem()).
+.PP
+The activated() signal is \fInot\fR emitted when two or more accelerators match the same key. Instead, the first matching accelerator sends out the activatedAmbiguously() signal. By pressing the key multiple times, users can navigate between all matching accelerators. Some standard controls like QPushButton and QCheckBox connect the activatedAmbiguously() signal to the harmless setFocus() slot, whereas activated() is connected to a slot invoking the button's action. Most controls, like QLabel and QTabBar, treat activated() and activatedAmbiguously() as equivalent.
+.PP
+Use setEnabled() to enable or disable all the items in an accelerator, or setItemEnabled() to enable or disable individual items. An item is active only when both the QAccel and the item itself are enabled.
+.PP
+The function setWhatsThis() specifies a help text that appears when the user presses an accelerator key in What's This mode.
+.PP
+The accelerator will be deleted when \fIparent\fR is deleted, and will consume relevant key events until then.
+.PP
+Please note that the accelerator
+.PP
+.nf
+.br
+ accelerator->insertItem( QKeySequence("M") );
+.br
+.fi
+can be triggered with both the 'M' key, and with Shift+M, unless a second accelerator is defined for the Shift+M combination.
+.PP
+Example:
+.PP
+.nf
+.br
+ QAccel *a = new QAccel( myWindow ); // create accels for myWindow
+.br
+ a->connectItem( a->insertItem(Key_P+CTRL), // adds Ctrl+P accelerator
+.br
+ myWindow, // connected to myWindow's
+.br
+ SLOT(printDoc()) ); // printDoc() slot
+.br
+.fi
+.PP
+See also QKeyEvent, QWidget::keyPressEvent(), QMenuData::setAccel(), QButton::accel, QLabel::setBuddy(), QKeySequence, GUI Design Handbook: Keyboard Shortcuts, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAccel::QAccel ( QWidget * parent, const char * name = 0 )"
+Constructs a QAccel object called \fIname\fR, with parent \fIparent\fR. The accelerator operates on \fIparent\fR.
+.SH "QAccel::QAccel ( QWidget * watch, QObject * parent, const char * name = 0 )"
+Constructs a QAccel object called \fIname\fR, that operates on \fIwatch\fR, and is a child of \fIparent\fR.
+.PP
+This constructor is not needed for normal application programming.
+.SH "QAccel::~QAccel ()"
+Destroys the accelerator object and frees all allocated resources.
+.SH "void QAccel::activated ( int id )\fC [signal]\fR"
+This signal is emitted when an accelerator key is pressed. \fIid\fR is a number that identifies this particular accelerator item.
+.PP
+See also activatedAmbiguously().
+.SH "void QAccel::activatedAmbiguously ( int id )\fC [signal]\fR"
+This signal is emitted when an accelerator key is pressed. \fIid\fR is a number that identifies this particular accelerator item.
+.PP
+See also activated().
+.SH "void QAccel::clear ()"
+Removes all accelerator items.
+.SH "bool QAccel::connectItem ( int id, const QObject * receiver, const char * member )"
+Connects the accelerator item \fIid\fR to the slot \fImember\fR of \fIreceiver\fR.
+.PP
+.nf
+.br
+ a->connectItem( 201, mainView, SLOT(quit()) );
+.br
+.fi
+.PP
+Of course, you can also send a signal as \fImember\fR.
+.PP
+Normally accelerators are connected to slots which then receive the \fCactivated(int id)\fR signal with the id of the accelerator item that was activated. If you choose to connect a specific accelerator item using this function, the activated() signal is emitted if the associated key sequence is pressed but no \fCactivated(int id)\fR signal is emitted.
+.PP
+See also disconnectItem().
+.PP
+Example: t14/gamebrd.cpp.
+.SH "uint QAccel::count () const"
+Returns the number of accelerator items in this accelerator.
+.SH "bool QAccel::disconnectItem ( int id, const QObject * receiver, const char * member )"
+Disconnects an accelerator item with id \fIid\fR from the function called \fImember\fR in the \fIreceiver\fR object.
+.PP
+See also connectItem().
+.SH "bool QAccel::eventFilter ( QObject *, QEvent * )\fC [virtual protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. serves no purpose anymore
+.PP
+Reimplemented from QObject.
+.SH "int QAccel::findKey ( const QKeySequence & key ) const"
+Returns the identifier of the accelerator item with the key code \fIkey\fR, or -1 if the item cannot be found.
+.SH "int QAccel::insertItem ( const QKeySequence & key, int id = -1 )"
+Inserts an accelerator item and returns the item's identifier.
+.PP
+\fIkey\fR is a key code and an optional combination of SHIFT, CTRL and ALT. \fIid\fR is the accelerator item id.
+.PP
+If \fIid\fR is negative, then the item will be assigned a unique negative identifier less than -1.
+.PP
+.nf
+.br
+ QAccel *a = new QAccel( myWindow ); // create accels for myWindow
+.br
+ a->insertItem( CTRL + Key_P, 200 ); // Ctrl+P, e.g. to print document
+.br
+ a->insertItem( ALT + Key_X, 201 ); // Alt+X, e.g. to quit
+.br
+ a->insertItem( UNICODE_ACCEL + 'q', 202 ); // Unicode 'q', e.g. to quit
+.br
+ a->insertItem( Key_D ); // gets a unique negative id < -1
+.br
+ a->insertItem( CTRL + SHIFT + Key_P ); // gets a unique negative id < -1
+.br
+.fi
+.PP
+Example: t14/gamebrd.cpp.
+.SH "bool QAccel::isEnabled () const"
+Returns TRUE if the accelerator is enabled; otherwise returns FALSE.
+.PP
+See also setEnabled() and isItemEnabled().
+.SH "bool QAccel::isItemEnabled ( int id ) const"
+Returns TRUE if the accelerator item with the identifier \fIid\fR is enabled. Returns FALSE if the item is disabled or cannot be found.
+.PP
+See also setItemEnabled() and isEnabled().
+.SH "QKeySequence QAccel::key ( int id )"
+Returns the key sequence of the accelerator item with identifier \fIid\fR, or an invalid key sequence (0) if the id cannot be found.
+.SH "QString QAccel::keyToString ( QKeySequence k )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Creates an accelerator string for the key \fIk\fR. For instance CTRL+Key_O gives "Ctrl+O". The "Ctrl" etc. are translated (using QObject::tr()) in the "QAccel" context.
+.PP
+The function is superfluous. Cast the QKeySequence \fIk\fR to a QString for the same effect.
+.SH "void QAccel::removeItem ( int id )"
+Removes the accelerator item with the identifier \fIid\fR.
+.SH "void QAccel::repairEventFilter ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. serves no purpose anymore
+.SH "void QAccel::setEnabled ( bool enable )"
+Enables the accelerator if \fIenable\fR is TRUE, or disables it if \fIenable\fR is FALSE.
+.PP
+Individual keys can also be enabled or disabled using setItemEnabled(). To work, a key must be an enabled item in an enabled QAccel.
+.PP
+See also isEnabled() and setItemEnabled().
+.SH "void QAccel::setItemEnabled ( int id, bool enable )"
+Enables the accelerator item with the identifier \fIid\fR if \fIenable\fR is TRUE, and disables item \fIid\fR if \fIenable\fR is FALSE.
+.PP
+To work, an item must be enabled and be in an enabled QAccel.
+.PP
+See also isItemEnabled() and isEnabled().
+.SH "void QAccel::setWhatsThis ( int id, const QString & text )"
+Sets a What's This help text for the accelerator item \fIid\fR to \fItext\fR.
+.PP
+The text will be shown when the application is in What's This mode and the user hits the accelerator key.
+.PP
+To set What's This help on a menu item (with or without an accelerator key), use QMenuData::setWhatsThis().
+.PP
+See also whatsThis(), QWhatsThis::inWhatsThisMode(), QMenuData::setWhatsThis(), and QAction::whatsThis.
+.SH "QKeySequence QAccel::shortcutKey ( const QString & str )\fC [static]\fR"
+Returns the shortcut key sequence for \fIstr\fR, or an invalid key sequence (0) if \fIstr\fR has no shortcut sequence.
+.PP
+For example, shortcutKey("E&xit") returns ALT+Key_X, shortcutKey("&Quit") returns ALT+Key_Q and shortcutKey("Quit") returns 0. (In code that does not inherit the Qt namespace class, you must write e.g. Qt::ALT+Qt::Key_Q.)
+.PP
+We provide a list of common accelerators in English. At the time of writing, Microsoft and Open Group do not appear to have issued equivalent recommendations for other languages.
+.SH "QKeySequence QAccel::stringToKey ( const QString & s )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns an accelerator code for the string \fIs\fR. For example" Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl"," Shift", "Alt" are recognized, as well as their translated equivalents in the "QAccel" context (using QObject::tr()). Returns 0 if \fIs\fR is not recognized.
+.PP
+This function is typically used with tr(), so that accelerator keys can be replaced in translations:
+.PP
+.nf
+.br
+ QPopupMenu *file = new QPopupMenu( this );
+.br
+ file->insertItem( p1, tr("&Open..."), this, SLOT(open()),
+.br
+ QAccel::stringToKey(tr("Ctrl+O", "File|Open")) );
+.br
+.fi
+.PP
+Notice the \fC"File|Open"\fR translator comment. It is by no means necessary, but it provides some context for the human translator.
+.PP
+The function is superfluous. Construct a QKeySequence from the string \fIs\fR for the same effect.
+.PP
+See also QObject::tr() and Internationalization with Qt.
+.PP
+Example: i18n/mywidget.cpp.
+.SH "QString QAccel::whatsThis ( int id ) const"
+Returns the What's This help text for the specified item \fIid\fR or QString::null if no text has been specified.
+.PP
+See also setWhatsThis().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaccel.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaccel.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaccessible.3qt b/doc/man/man3/qaccessible.3qt
new file mode 100644
index 0000000..0890475
--- /dev/null
+++ b/doc/man/man3/qaccessible.3qt
@@ -0,0 +1,399 @@
+'\" t
+.TH QAccessible 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAccessible \- Enums and static functions relating to accessibility
+.SH SYNOPSIS
+\fC#include <qaccessible.h>\fR
+.PP
+Inherited by QAccessibleInterface.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBEvent\fR { SoundPlayed = 0x0001, Alert = 0x0002, ForegroundChanged = 0x0003, MenuStart = 0x0004, MenuEnd = 0x0005, PopupMenuStart = 0x0006, PopupMenuEnd = 0x0007, ContextHelpStart = 0x000C, ContextHelpEnd = 0x000D, DragDropStart = 0x000E, DragDropEnd = 0x000F, DialogStart = 0x0010, DialogEnd = 0x0011, ScrollingStart = 0x0012, ScrollingEnd = 0x0013, MenuCommand = 0x0018, ObjectCreated = 0x8000, ObjectDestroyed = 0x8001, ObjectShow = 0x8002, ObjectHide = 0x8003, ObjectReorder = 0x8004, Focus = 0x8005, Selection = 0x8006, SelectionAdd = 0x8007, SelectionRemove = 0x8008, SelectionWithin = 0x8009, StateChanged = 0x800A, LocationChanged = 0x800B, NameChanged = 0x800C, DescriptionChanged = 0x800D, ValueChanged = 0x800E, ParentChanged = 0x800F, HelpChanged = 0x80A0, DefaultActionChanged = 0x80B0, AcceleratorChanged = 0x80C0 }"
+.br
+.ti -1c
+.BI "enum \fBState\fR { Normal = 0x00000000, Unavailable = 0x00000001, Selected = 0x00000002, Focused = 0x00000004, Pressed = 0x00000008, Checked = 0x00000010, Mixed = 0x00000020, ReadOnly = 0x00000040, HotTracked = 0x00000080, Default = 0x00000100, Expanded = 0x00000200, Collapsed = 0x00000400, Busy = 0x00000800, Floating = 0x00001000, Marqueed = 0x00002000, Animated = 0x00004000, Invisible = 0x00008000, Offscreen = 0x00010000, Sizeable = 0x00020000, Moveable = 0x00040000, SelfVoicing = 0x00080000, Focusable = 0x00100000, Selectable = 0x00200000, Linked = 0x00400000, Traversed = 0x00800000, MultiSelectable = 0x01000000, ExtSelectable = 0x02000000, AlertLow = 0x04000000, AlertMedium = 0x08000000, AlertHigh = 0x10000000, Protected = 0x20000000, Valid = 0x3fffffff }"
+.br
+.ti -1c
+.BI "enum \fBRole\fR { NoRole = 0x00000000, TitleBar = 0x00000001, MenuBar = 0x00000002, ScrollBar = 0x00000003, Grip = 0x00000004, Sound = 0x00000005, Cursor = 0x00000006, Caret = 0x00000007, AlertMessage = 0x00000008, Window = 0x00000009, Client = 0x0000000A, PopupMenu = 0x0000000B, MenuItem = 0x0000000C, ToolTip = 0x0000000D, Application = 0x0000000E, Document = 0x0000000F, Pane = 0x00000010, Chart = 0x00000011, Dialog = 0x00000012, Border = 0x00000013, Grouping = 0x00000014, Separator = 0x00000015, ToolBar = 0x00000016, StatusBar = 0x00000017, Table = 0x00000018, ColumnHeader = 0x00000019, RowHeader = 0x0000001A, Column = 0x0000001B, Row = 0x0000001C, Cell = 0x0000001D, Link = 0x0000001E, HelpBalloon = 0x0000001F, Character = 0x00000020, List = 0x00000021, ListItem = 0x00000022, Outline = 0x00000023, OutlineItem = 0x00000024, PageTab = 0x00000025, PropertyPage = 0x00000026, Indicator = 0x00000027, Graphic = 0x00000028, StaticText = 0x00000029, EditableText = 0x0000002A, PushButton = 0x0000002B, CheckBox = 0x0000002C, RadioButton = 0x0000002D, ComboBox = 0x0000002E, DropLest = 0x0000002F, ProgressBar = 0x00000030, Dial = 0x00000031, HotkeyField = 0x00000032, Slider = 0x00000033, SpinBox = 0x00000034, Diagram = 0x00000035, Animation = 0x00000036, Equation = 0x00000037, ButtonDropDown = 0x00000038, ButtonMenu = 0x00000039, ButtonDropGrid = 0x0000003A, Whitespace = 0x0000003B, PageTabList = 0x0000003C, Clock = 0x0000003D }"
+.br
+.ti -1c
+.BI "enum \fBNavDirection\fR { NavUp = 0x00000001, NavDown = 0x00000002, NavLeft = 0x00000003, NavRight = 0x00000004, NavNext = 0x00000005, NavPrevious = 0x00000006, NavFirstChild = 0x00000007, NavLastChild = 0x00000008, NavFocusChild = 0x00000009 }"
+.br
+.ti -1c
+.BI "enum \fBText\fR { Name = 0, Description, Value, Help, Accelerator, DefaultAction }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QRESULT \fBqueryAccessibleInterface\fR ( QObject * object, QAccessibleInterface ** iface )"
+.br
+.ti -1c
+.BI "void \fBupdateAccessibility\fR ( QObject * object, int control, Event reason )"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAccessible class provides enums and static functions relating to accessibility.
+.PP
+Accessibility clients use implementations of the QAccessibleInterface to read the information an accessible object exposes, or to call functions to manipulate the accessible object.
+.PP
+See the plugin documentation for more details about how to redistribute Qt plugins.
+.PP
+See also Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "QAccessible::Event"
+This enum type defines event types when the state of the accessible object has changed. The event types are:
+.TP
+\fCQAccessible::SoundPlayed\fR
+.TP
+\fCQAccessible::Alert\fR
+.TP
+\fCQAccessible::ForegroundChanged\fR
+.TP
+\fCQAccessible::MenuStart\fR
+.TP
+\fCQAccessible::MenuEnd\fR
+.TP
+\fCQAccessible::PopupMenuStart\fR
+.TP
+\fCQAccessible::PopupMenuEnd\fR
+.TP
+\fCQAccessible::ContextHelpStart\fR
+.TP
+\fCQAccessible::ContextHelpEnd\fR
+.TP
+\fCQAccessible::DragDropStart\fR
+.TP
+\fCQAccessible::DragDropEnd\fR
+.TP
+\fCQAccessible::DialogStart\fR
+.TP
+\fCQAccessible::DialogEnd\fR
+.TP
+\fCQAccessible::ScrollingStart\fR
+.TP
+\fCQAccessible::ScrollingEnd\fR
+.TP
+\fCQAccessible::ObjectCreated\fR
+.TP
+\fCQAccessible::ObjectDestroyed\fR
+.TP
+\fCQAccessible::ObjectShow\fR
+.TP
+\fCQAccessible::ObjectHide\fR
+.TP
+\fCQAccessible::ObjectReorder\fR
+.TP
+\fCQAccessible::Focus\fR
+.TP
+\fCQAccessible::Selection\fR
+.TP
+\fCQAccessible::SelectionAdd\fR
+.TP
+\fCQAccessible::SelectionRemove\fR
+.TP
+\fCQAccessible::SelectionWithin\fR
+.TP
+\fCQAccessible::StateChanged\fR
+.TP
+\fCQAccessible::LocationChanged\fR
+.TP
+\fCQAccessible::NameChanged\fR
+.TP
+\fCQAccessible::DescriptionChanged\fR
+.TP
+\fCQAccessible::ValueChanged\fR
+.TP
+\fCQAccessible::ParentChanged\fR
+.TP
+\fCQAccessible::HelpChanged\fR
+.TP
+\fCQAccessible::DefaultActionChanged\fR
+.TP
+\fCQAccessible::AcceleratorChanged\fR
+.TP
+\fCQAccessible::MenuCommand\fR
+.SH "QAccessible::NavDirection"
+This enum specifies which item to move to when navigating.
+.TP
+\fCQAccessible::NavUp\fR - sibling above
+.TP
+\fCQAccessible::NavDown\fR - sibling below
+.TP
+\fCQAccessible::NavLeft\fR - left sibling
+.TP
+\fCQAccessible::NavRight\fR - right sibling
+.TP
+\fCQAccessible::NavNext\fR - next sibling
+.TP
+\fCQAccessible::NavPrevious\fR - previous sibling
+.TP
+\fCQAccessible::NavFirstChild\fR - first child
+.TP
+\fCQAccessible::NavLastChild\fR - last child
+.TP
+\fCQAccessible::NavFocusChild\fR - child with focus
+.SH "QAccessible::Role"
+This enum defines a number of roles an accessible object can have. The roles are:
+.TP
+\fCQAccessible::NoRole\fR
+.TP
+\fCQAccessible::TitleBar\fR
+.TP
+\fCQAccessible::MenuBar\fR
+.TP
+\fCQAccessible::ScrollBar\fR
+.TP
+\fCQAccessible::Grip\fR
+.TP
+\fCQAccessible::Sound\fR
+.TP
+\fCQAccessible::Cursor\fR
+.TP
+\fCQAccessible::Caret\fR
+.TP
+\fCQAccessible::AlertMessage\fR
+.TP
+\fCQAccessible::Window\fR
+.TP
+\fCQAccessible::Client\fR
+.TP
+\fCQAccessible::PopupMenu\fR
+.TP
+\fCQAccessible::MenuItem\fR
+.TP
+\fCQAccessible::ToolTip\fR
+.TP
+\fCQAccessible::Application\fR
+.TP
+\fCQAccessible::Document\fR
+.TP
+\fCQAccessible::Pane\fR
+.TP
+\fCQAccessible::Chart\fR
+.TP
+\fCQAccessible::Dialog\fR
+.TP
+\fCQAccessible::Border\fR
+.TP
+\fCQAccessible::Grouping\fR
+.TP
+\fCQAccessible::Separator\fR
+.TP
+\fCQAccessible::ToolBar\fR
+.TP
+\fCQAccessible::StatusBar\fR
+.TP
+\fCQAccessible::Table\fR
+.TP
+\fCQAccessible::ColumnHeader\fR
+.TP
+\fCQAccessible::RowHeader\fR
+.TP
+\fCQAccessible::Column\fR
+.TP
+\fCQAccessible::Row\fR
+.TP
+\fCQAccessible::Cell\fR
+.TP
+\fCQAccessible::Link\fR
+.TP
+\fCQAccessible::HelpBalloon\fR
+.TP
+\fCQAccessible::Character\fR
+.TP
+\fCQAccessible::List\fR
+.TP
+\fCQAccessible::ListItem\fR
+.TP
+\fCQAccessible::Outline\fR
+.TP
+\fCQAccessible::OutlineItem\fR
+.TP
+\fCQAccessible::PageTab\fR
+.TP
+\fCQAccessible::PropertyPage\fR
+.TP
+\fCQAccessible::Indicator\fR
+.TP
+\fCQAccessible::Graphic\fR
+.TP
+\fCQAccessible::StaticText\fR
+.TP
+\fCQAccessible::EditableText\fR
+.TP
+\fCQAccessible::PushButton\fR
+.TP
+\fCQAccessible::CheckBox\fR
+.TP
+\fCQAccessible::RadioButton\fR
+.TP
+\fCQAccessible::ComboBox\fR
+.TP
+\fCQAccessible::DropLest\fR
+.TP
+\fCQAccessible::ProgressBar\fR
+.TP
+\fCQAccessible::Dial\fR
+.TP
+\fCQAccessible::HotkeyField\fR
+.TP
+\fCQAccessible::Slider\fR
+.TP
+\fCQAccessible::SpinBox\fR
+.TP
+\fCQAccessible::Diagram\fR
+.TP
+\fCQAccessible::Animation\fR
+.TP
+\fCQAccessible::Equation\fR
+.TP
+\fCQAccessible::ButtonDropDown\fR
+.TP
+\fCQAccessible::ButtonMenu\fR
+.TP
+\fCQAccessible::ButtonDropGrid\fR
+.TP
+\fCQAccessible::Whitespace\fR
+.TP
+\fCQAccessible::PageTabList\fR
+.TP
+\fCQAccessible::Clock\fR
+.SH "QAccessible::State"
+This enum type defines bitflags that can be combined to indicate the state of the accessible object. The values are:
+.TP
+\fCQAccessible::Normal\fR
+.TP
+\fCQAccessible::Unavailable\fR
+.TP
+\fCQAccessible::Selected\fR
+.TP
+\fCQAccessible::Focused\fR
+.TP
+\fCQAccessible::Pressed\fR
+.TP
+\fCQAccessible::Checked\fR
+.TP
+\fCQAccessible::Mixed\fR
+.TP
+\fCQAccessible::ReadOnly\fR
+.TP
+\fCQAccessible::HotTracked\fR
+.TP
+\fCQAccessible::Default\fR
+.TP
+\fCQAccessible::Expanded\fR
+.TP
+\fCQAccessible::Collapsed\fR
+.TP
+\fCQAccessible::Busy\fR
+.TP
+\fCQAccessible::Floating\fR
+.TP
+\fCQAccessible::Marqueed\fR
+.TP
+\fCQAccessible::Animated\fR
+.TP
+\fCQAccessible::Invisible\fR
+.TP
+\fCQAccessible::Offscreen\fR
+.TP
+\fCQAccessible::Sizeable\fR
+.TP
+\fCQAccessible::Moveable\fR
+.TP
+\fCQAccessible::SelfVoicing\fR
+.TP
+\fCQAccessible::Focusable\fR
+.TP
+\fCQAccessible::Selectable\fR
+.TP
+\fCQAccessible::Linked\fR
+.TP
+\fCQAccessible::Traversed\fR
+.TP
+\fCQAccessible::MultiSelectable\fR
+.TP
+\fCQAccessible::ExtSelectable\fR
+.TP
+\fCQAccessible::AlertLow\fR
+.TP
+\fCQAccessible::AlertMedium\fR
+.TP
+\fCQAccessible::AlertHigh\fR
+.TP
+\fCQAccessible::Protected\fR
+.TP
+\fCQAccessible::Valid\fR
+.SH "QAccessible::Text"
+This enum specifies string information that an accessible object returns.
+.TP
+\fCQAccessible::Name\fR - The name of the object
+.TP
+\fCQAccessible::Description\fR - A short text describing the object
+.TP
+\fCQAccessible::Value\fR - The value of the object
+.TP
+\fCQAccessible::Help\fR - A longer text giving information about how to use the object
+.TP
+\fCQAccessible::DefaultAction\fR - The default method to interact with the object
+.TP
+\fCQAccessible::Accelerator\fR - The keyboard shortcut that executes the default action
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QAccessible::isActive ()\fC [static]\fR"
+Returns TRUE if an accessibility implementation has been requested, during the runtime of the application, otherwise returns FALSE.
+.PP
+Use this function to prevent potentially expensive notifications via updateAccessibility().
+.SH "QRESULT QAccessible::queryAccessibleInterface ( QObject * object, QAccessibleInterface ** iface )\fC [static]\fR"
+Sets \fIiface\fR to point to the implementation of the QAccessibleInterface for \fIobject\fR, and returns \fCQS_OK\fR if successfull, or sets \fIiface\fR to 0 and returns \fCQE_NOCOMPONENT\fR if no accessibility implementation for \fIobject\fR exists.
+.PP
+The function uses the classname of \fIobject\fR to find a suitable implementation. If no implementation for the object's class is available the function tries to find an implementation for the object's parent class.
+.PP
+This function is called to answer an accessibility client's request for object information. You should never need to call this function yourself.
+.SH "void QAccessible::updateAccessibility ( QObject * object, int control, Event reason )\fC [static]\fR"
+Notifies accessibility clients about a change in \fIobject\fR's accessibility information.
+.PP
+\fIreason\fR specifies the cause of the change, for example, ValueChange when the position of a slider has been changed. \fIcontrol\fR is the ID of the child element that has changed. When \fIcontrol\fR is 0, the object itself has changed.
+.PP
+Call this function whenever the state of your accessible object or one of it's sub-elements has been changed either programmatically (e.g. by calling QLabel::setText()) or by user interaction.
+.PP
+If there are no accessibility tools listening to this event, the
+performance penalty for calling this function is minor, but if determining
+the parameters of the call is expensive you can use isActive() to
+avoid unnecessary performance penalties if no client is listening.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaccessible.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaccessible.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaccessibleinterface.3qt b/doc/man/man3/qaccessibleinterface.3qt
new file mode 100644
index 0000000..96ffe5a
--- /dev/null
+++ b/doc/man/man3/qaccessibleinterface.3qt
@@ -0,0 +1,178 @@
+'\" t
+.TH QAccessibleInterface 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAccessibleInterface \- Defines an interface that exposes information about accessible objects
+.SH SYNOPSIS
+\fC#include <qaccessible.h>\fR
+.PP
+Inherits QAccessible.
+.PP
+Inherited by QAccessibleObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBisValid\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual int \fBchildCount\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QRESULT \fBqueryChild\fR ( int control, QAccessibleInterface ** iface ) const = 0"
+.br
+.ti -1c
+.BI "virtual QRESULT \fBqueryParent\fR ( QAccessibleInterface ** iface ) const = 0"
+.br
+.ti -1c
+.BI "virtual int \fBcontrolAt\fR ( int x, int y ) const = 0"
+.br
+.ti -1c
+.BI "virtual QRect \fBrect\fR ( int control ) const = 0"
+.br
+.ti -1c
+.BI "virtual int \fBnavigate\fR ( NavDirection direction, int startControl ) const = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR ( Text t, int control ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( Text t, int control, const QString & text ) = 0"
+.br
+.ti -1c
+.BI "virtual Role \fBrole\fR ( int control ) const = 0"
+.br
+.ti -1c
+.BI "virtual State \fBstate\fR ( int control ) const = 0"
+.br
+.ti -1c
+.BI "virtual QMemArray<int> \fBselection\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBdoDefaultAction\fR ( int control ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBsetFocus\fR ( int control ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBsetSelected\fR ( int control, bool on, bool extend ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBclearSelection\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAccessibleInterface class defines an interface that exposes information about accessible objects.
+.PP
+See also Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "int QAccessibleInterface::childCount () const\fC [pure virtual]\fR"
+Returns the number of children that belong to this object. A child can provide accessibility information on it's own (e.g. a child widget), or be a sub-element of this accessible object.
+.PP
+All objects provide this information.
+.PP
+See also queryChild().
+.SH "void QAccessibleInterface::clearSelection ()\fC [pure virtual]\fR"
+Removes any selection from the object.
+.PP
+See also setSelected().
+.SH "int QAccessibleInterface::controlAt ( int x, int y ) const\fC [pure virtual]\fR"
+Returns the ID of the child that contains the screen coordinates (\fIx\fR, \fIy\fR). This function returns 0 if the point is positioned on the object itself. If the tested point is outside the boundaries of the object this function returns -1.
+.PP
+All visual objects provide this information.
+.SH "bool QAccessibleInterface::doDefaultAction ( int control )\fC [pure virtual]\fR"
+Calling this function performs the default action of the child object specified by \fIcontrol\fR, or the default action of the object itself if \fIcontrol\fR is 0.
+.SH "bool QAccessibleInterface::isValid () const\fC [pure virtual]\fR"
+Returns TRUE if all the data necessary to use this interface implementation is valid (e.g. all pointers are non-null), otherwise returns FALSE.
+.SH "int QAccessibleInterface::navigate ( NavDirection direction, int startControl ) const\fC [pure virtual]\fR"
+This function traverses to another object, or to a sub-element of the current object. \fIdirection\fR specifies in which direction to navigate, and \fIstartControl\fR specifies the start point of the navigation, which is either 0 if the navigation starts at the object itself, or an ID of one of the object's sub-elements.
+.PP
+The function returns the ID of the sub-element located in the \fIdirection\fR specified. If there is nothing in the navigated \fIdirection\fR, this function returns -1.
+.PP
+All objects support navigation.
+.SH "QRESULT QAccessibleInterface::queryChild ( int control, QAccessibleInterface ** iface ) const\fC [pure virtual]\fR"
+Sets \fIiface\fR to point to the implementation of the QAccessibleInterface for the child specified with \fIcontrol\fR. If the child doesn't provide accessibility information on it's own, the value of \fIiface\fR is set to 0. For those elements, this object is responsible for exposing the child's properties.
+.PP
+All objects provide this information.
+.PP
+See also childCount() and queryParent().
+.SH "QRESULT QAccessibleInterface::queryParent ( QAccessibleInterface ** iface ) const\fC [pure virtual]\fR"
+Sets \fIiface\fR to point to the implementation of the QAccessibleInterface for the parent object, or to 0 if there is no such implementation or object.
+.PP
+All objects provide this information.
+.PP
+See also queryChild().
+.SH "QRect QAccessibleInterface::rect ( int control ) const\fC [pure virtual]\fR"
+Returns the location of the child specified with \fIcontrol\fR in screen coordinates. This function returns the location of the object itself if \fIcontrol\fR is 0.
+.PP
+All visual objects provide this information.
+.SH "Role QAccessibleInterface::role ( int control ) const\fC [pure virtual]\fR"
+Returns the role of the object if \fIcontrol\fR is 0, or the role of the object's sub-element with ID \fIcontrol\fR. The role of an object is usually static. All accessible objects have a role.
+.PP
+See also text(), state(), and selection().
+.SH "QMemArray<int> QAccessibleInterface::selection () const\fC [pure virtual]\fR"
+Returns the list of all the element IDs that are selected.
+.PP
+See also text(), role(), and state().
+.SH "bool QAccessibleInterface::setFocus ( int control )\fC [pure virtual]\fR"
+Gives the focus to the child object specified by \fIcontrol\fR, or to the object itself if \fIcontrol\fR is 0.
+.PP
+Returns TRUE if the focus could be set; otherwise returns FALSE.
+.SH "bool QAccessibleInterface::setSelected ( int control, bool on, bool extend )\fC [pure virtual]\fR"
+Sets the selection of the child object with ID \fIcontrol\fR to \fIon\fR. If \fIextend\fR is TRUE, all child elements between the focused item and the specified child object have their selection set to \fIon\fR.
+.PP
+Returns TRUE if the selection could be set; otherwise returns FALSE.
+.PP
+See also setFocus() and clearSelection().
+.SH "void QAccessibleInterface::setText ( Text t, int control, const QString & text )\fC [pure virtual]\fR"
+Sets the text property \fIt\fR of the child object \fIcontrol\fR to \fItext\fR. If \fIcontrol\fR is 0, the text property of the object itself is set.
+.SH "State QAccessibleInterface::state ( int control ) const\fC [pure virtual]\fR"
+Returns the current state of the object if \fIcontrol\fR is 0, or the state of the object's sub-element element with ID \fIcontrol\fR. All objects have a state.
+.PP
+See also text(), role(), and selection().
+.SH "QString QAccessibleInterface::text ( Text t, int control ) const\fC [pure virtual]\fR"
+Returns a string property \fIt\fR of the child object specified by \fIcontrol\fR, or the string property of the object itself if \fIcontrol\fR is 0.
+.PP
+The \fIName\fR is a string used by clients to identify, find or announce an accessible object for the user. All objects must have a name that is unique within their container.
+.PP
+An accessible object's \fIDescription\fR provides textual information about an object's visual appearance. The description is primarily used to provide greater context for low-vision or blind users, but is also used for context searching or other applications. Not all objects have a description. An "OK" button would not need a description, but a toolbutton that shows a picture of a smiley would.
+.PP
+The \fIValue\fR of an accessible object represents visual information contained by the object, e.g. the text in a line edit. Usually, the value can be modified by the user. Not all objects have a value, e.g. static text labels don't, and some objects have a state that already is the value, e.g. toggle buttons.
+.PP
+The \fIHelp\fR text provides information about the function and usage of an accessible object. Not all objects provide this information.
+.PP
+An accessible object's \fIDefaultAction\fR describes the object's primary method of manipulation, and should be a verb or a short phrase, e.g. "Press" for a button.
+.PP
+The accelerator is a keyboard shortcut that activates the default action of the object. A keyboard shortcut is the underlined character in the text of a menu, menu item or control, and is either the character itself, or a combination of this character and a modifier key like ALT, CTRL or SHIFT. Command controls like tool buttons also have shortcut keys and usually display them in their tooltip.
+.PP
+See also role(), state(), and selection().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaccessibleinterface.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaccessibleinterface.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaccessibleobject.3qt b/doc/man/man3/qaccessibleobject.3qt
new file mode 100644
index 0000000..89eeeda
--- /dev/null
+++ b/doc/man/man3/qaccessibleobject.3qt
@@ -0,0 +1,72 @@
+'\" t
+.TH QAccessibleObject 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAccessibleObject \- Implements parts of the QAccessibleInterface for QObjects
+.SH SYNOPSIS
+\fC#include <qaccessible.h>\fR
+.PP
+Inherits QObject and QAccessibleInterface.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAccessibleObject\fR ( QObject * object )"
+.br
+.ti -1c
+.BI "virtual \fB~QAccessibleObject\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "QObject * \fBobject\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAccessibleObject class implements parts of the QAccessibleInterface for QObjects.
+.PP
+This class is mainly provided for convenience. All subclasses of the QAccessibleInterface should use this class as the base class.
+.PP
+See also Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAccessibleObject::QAccessibleObject ( QObject * object )"
+Creates a QAccessibleObject for \fIobject\fR.
+.SH "QAccessibleObject::~QAccessibleObject ()\fC [virtual]\fR"
+Destroys the QAccessibleObject.
+.PP
+This only happens when a call to release() decrements the internal reference counter to zero.
+.SH "QObject * QAccessibleObject::object () const\fC [protected]\fR"
+Returns the QObject for which this QAccessibleInterface
+implementation provides information. Use isValid() to make sure
+the object pointer is safe to use.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaccessibleobject.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaccessibleobject.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaction.3qt b/doc/man/man3/qaction.3qt
new file mode 100644
index 0000000..d907a67
--- /dev/null
+++ b/doc/man/man3/qaction.3qt
@@ -0,0 +1,536 @@
+'\" t
+.TH QAction 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAction \- Abstract user interface action that can appear both in menus and tool bars
+.SH SYNOPSIS
+\fC#include <qaction.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QActionGroup.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAction\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQAction\fR ( const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQAction\fR ( const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "QAction ( const QString & text, const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QAction ( const QString & text, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QAction ( QObject * parent, const char * name, bool toggle ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fB~QAction\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetIconSet\fR ( const QIconSet & )"
+.br
+.ti -1c
+.BI "QIconSet \fBiconSet\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMenuText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBmenuText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetToolTip\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBtoolTip\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetStatusTip\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBstatusTip\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWhatsThis\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBwhatsThis\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAccel\fR ( const QKeySequence & key )"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetToggleAction\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisToggleAction\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisVisible\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBaddTo\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual bool \fBremoveFrom\fR ( QWidget * w )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBactivate\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOn\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBsetDisabled\fR ( bool disable )"
+.br
+.ti -1c
+.BI "void \fBsetVisible\fR ( bool )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QKeySequence \fBaccel\fR - the action's accelerator key"
+.br
+.ti -1c
+.BI "bool \fBenabled\fR - whether the action is enabled"
+.br
+.ti -1c
+.BI "QIconSet \fBiconSet\fR - the action's icon"
+.br
+.ti -1c
+.BI "QString \fBmenuText\fR - the action's menu text"
+.br
+.ti -1c
+.BI "bool \fBon\fR - whether a toggle action is on"
+.br
+.ti -1c
+.BI "QString \fBstatusTip\fR - the action's status tip"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the action's descriptive text"
+.br
+.ti -1c
+.BI "bool \fBtoggleAction\fR - whether the action is a toggle action"
+.br
+.ti -1c
+.BI "QString \fBtoolTip\fR - the action's tool tip"
+.br
+.ti -1c
+.BI "bool \fBvisible\fR - whether the action can be seen (e.g. in menus and " "toolbars" ")"
+.br
+.ti -1c
+.BI "QString \fBwhatsThis\fR - the action's ""What's This?"" help text"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBaddedTo\fR ( QWidget * actionWidget, QWidget * container )"
+.br
+.ti -1c
+.BI "virtual void \fBaddedTo\fR ( int index, QPopupMenu * menu )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAction class provides an abstract user interface action that can appear both in menus and tool bars.
+.PP
+In GUI applications many commands can be invoked via a menu option, a toolbar button and a keyboard accelerator. Since the same action must be performed regardless of how the action was invoked, and since the menu and toolbar should be kept in sync, it is useful to represent a command as an \fIaction\fR. An action can be added to a menu and a toolbar and will automatically keep them in sync. For example, if the user presses a Bold toolbar button the Bold menu item will automatically be checked.
+.PP
+A QAction may contain an icon, a menu text, an accelerator, a status text, a whats this text and a tool tip. Most of these can be set in the constructor. They can also be set independently with setIconSet(), setText(), setMenuText(), setToolTip(), setStatusTip(), setWhatsThis() and setAccel().
+.PP
+An action may be a toggle action e.g. a Bold toolbar button, or a command action, e.g. 'Open File' to invoke an open file dialog. Toggle actions emit the toggled() signal when their state changes. Both command and toggle actions emit the activated() signal when they are invoked. Use setToggleAction() to set an action's toggled status. To see if an action is a toggle action use isToggleAction(). A toggle action may be "on", isOn() returns TRUE, or "off", isOn() returns FALSE.
+.PP
+Actions are added to widgets (menus or toolbars) using addTo(), and removed using removeFrom().
+.PP
+Once a QAction has been created it should be added to the relevant menu and toolbar and then connected to the slot which will perform the action. For example:
+.PP
+.nf
+.br
+ fileOpenAction = new QAction( QPixmap( fileopen ), "&Open...",
+.br
+ CTRL+Key_O, this, "open" );
+.br
+ connect( fileOpenAction, SIGNAL( activated() ) , this, SLOT( choose() ) );
+.fi
+.PP
+We create a "File Save" action with a menu text of "&Save" and \fICtrl+S\fR as the keyboard accelerator. We connect the fileSaveAction's activated() signal to our own save() slot. Note that at this point there is no menu or toolbar action, we'll add them next:
+.PP
+.nf
+.br
+ QToolBar * fileTools = new QToolBar( this, "file operations" );
+.fi
+.PP
+.nf
+.br
+ fileSaveAction->addTo( fileTools );
+.fi
+.PP
+.nf
+.br
+ QPopupMenu * file = new QPopupMenu( this );
+.br
+ menuBar()->insertItem( "&File", file );
+.fi
+.PP
+.nf
+.br
+ fileSaveAction->addTo( file );
+.fi
+.PP
+We create a toolbar and add our fileSaveAction to it. Similarly we create a menu, add a top-level menu item, and add our fileSaveAction.
+.PP
+We recommend that actions are created as children of the window that they are used in. In most cases actions will be children of the application's main window.
+.PP
+To prevent recursion, don't create an action as a child of a widget that the action is later added to.
+.PP
+See also Main Window and Related Classes and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAction::QAction ( QObject * parent, const char * name = 0 )"
+Constructs an action called \fIname\fR with parent \fIparent\fR.
+.PP
+If \fIparent\fR is a QActionGroup, the new action inserts itself into \fIparent\fR.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.PP
+\fBWarning:\fR To prevent recursion, don't create an action as a child of a widget that the action is later added to.
+.SH "QAction::QAction ( const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 )"
+This constructor results in an icon-less action with the the menu text \fImenuText\fR and keyboard accelerator \fIaccel\fR. It is a child of \fIparent\fR and called \fIname\fR.
+.PP
+If \fIparent\fR is a QActionGroup, the action automatically becomes a member of it.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.PP
+The action uses a stripped version of \fImenuText\fR (e.g. "&Menu Option..." becomes "Menu Option") as descriptive text for toolbuttons. You can override this by setting a specific description with setText(). The same text and \fIaccel\fR will be used for tool tips and status tips unless you provide text for these using setToolTip() and setStatusTip().
+.PP
+Call setToggleAction(TRUE) to make the action a toggle action.
+.PP
+\fBWarning:\fR To prevent recursion, don't create an action as a child of a widget that the action is later added to.
+.SH "QAction::QAction ( const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0 )"
+This constructor creates an action with the following properties: the icon or iconset \fIicon\fR, the menu text \fImenuText\fR and keyboard accelerator \fIaccel\fR. It is a child of \fIparent\fR and called \fIname\fR.
+.PP
+If \fIparent\fR is a QActionGroup, the action automatically becomes a member of it.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.PP
+The action uses a stripped version of \fImenuText\fR (e.g. "&Menu Option..." becomes "Menu Option") as descriptive text for toolbuttons. You can override this by setting a specific description with setText(). The same text and \fIaccel\fR will be used for tool tips and status tips unless you provide text for these using setToolTip() and setStatusTip().
+.PP
+Call setToggleAction(TRUE) to make the action a toggle action.
+.PP
+\fBWarning:\fR To prevent recursion, don't create an action as a child of a widget that the action is later added to.
+.SH "QAction::QAction ( const QString & text, const QIconSet & icon, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This constructor creates an action with the following properties: the description \fItext\fR, the icon or iconset \fIicon\fR, the menu text \fImenuText\fR and keyboard accelerator \fIaccel\fR. It is a child of \fIparent\fR and called \fIname\fR. If \fItoggle\fR is TRUE the action will be a toggle action, otherwise it will be a command action.
+.PP
+If \fIparent\fR is a QActionGroup, the action automatically becomes a member of it.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.PP
+The \fItext\fR and \fIaccel\fR will be used for tool tips and status tips unless you provide specific text for these using setToolTip() and setStatusTip().
+.SH "QAction::QAction ( const QString & text, const QString & menuText, QKeySequence accel, QObject * parent, const char * name = 0, bool toggle = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This constructor results in an icon-less action with the description \fItext\fR, the menu text \fImenuText\fR and the keyboard accelerator \fIaccel\fR. Its parent is \fIparent\fR and it is called \fIname\fR. If \fItoggle\fR is TRUE the action will be a toggle action, otherwise it will be a command action.
+.PP
+The action automatically becomes a member of \fIparent\fR if \fIparent\fR is a QActionGroup.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.PP
+The \fItext\fR and \fIaccel\fR will be used for tool tips and status tips unless you provide specific text for these using setToolTip() and setStatusTip().
+.SH "QAction::QAction ( QObject * parent, const char * name, bool toggle )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs an action called \fIname\fR with parent \fIparent\fR.
+.PP
+If \fItoggle\fR is TRUE the action will be a toggle action, otherwise it will be a command action.
+.PP
+If \fIparent\fR is a QActionGroup, the new action inserts itself into \fIparent\fR.
+.PP
+For accelerators and status tips to work, \fIparent\fR must either be a widget, or an action group whose parent is a widget.
+.SH "QAction::~QAction ()"
+Destroys the object and frees allocated resources.
+.SH "QKeySequence QAction::accel () const"
+Returns the action's accelerator key. See the "accel" property for details.
+.SH "void QAction::activate ()\fC [slot]\fR"
+Activates the action and executes all connected slots. This only works for actions that are not toggle action.
+.PP
+See also toggle().
+.SH "void QAction::activated ()\fC [signal]\fR"
+This signal is emitted when an action is activated by the user, e.g. when the user clicks a menu option or a toolbar button or presses an action's accelerator key combination.
+.PP
+Connect to this signal for command actions. Connect to the toggled() signal for toggle actions.
+.PP
+Examples:
+.)l action/application.cpp, chart/chartform.cpp, and themes/themes.cpp.
+.SH "bool QAction::addTo ( QWidget * w )\fC [virtual]\fR"
+Adds this action to widget \fIw\fR.
+.PP
+Currently actions may be added to QToolBar and QPopupMenu widgets.
+.PP
+An action added to a tool bar is automatically displayed as a tool button; an action added to a pop up menu appears as a menu option.
+.PP
+addTo() returns TRUE if the action was added successfully and FALSE otherwise. (If \fIw\fR is not a QToolBar or QPopupMenu the action will not be added and FALSE will be returned.)
+.PP
+See also removeFrom().
+.PP
+Examples:
+.)l action/application.cpp, action/toggleaction/toggleaction.cpp, and chart/chartform.cpp.
+.PP
+Reimplemented in QActionGroup.
+.SH "void QAction::addedTo ( QWidget * actionWidget, QWidget * container )\fC [virtual protected]\fR"
+This function is called from the addTo() function when it has created a widget (\fIactionWidget\fR) for the action in the \fIcontainer\fR.
+.SH "void QAction::addedTo ( int index, QPopupMenu * menu )\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function is called from the addTo() function when it has created a menu item at the index position \fIindex\fR in the popup menu \fImenu\fR.
+.SH "QIconSet QAction::iconSet () const"
+Returns the action's icon. See the "iconSet" property for details.
+.SH "bool QAction::isEnabled () const"
+Returns TRUE if the action is enabled; otherwise returns FALSE. See the "enabled" property for details.
+.SH "bool QAction::isOn () const"
+Returns TRUE if a toggle action is on; otherwise returns FALSE. See the "on" property for details.
+.SH "bool QAction::isToggleAction () const"
+Returns TRUE if the action is a toggle action; otherwise returns FALSE. See the "toggleAction" property for details.
+.SH "bool QAction::isVisible () const"
+Returns TRUE if the action can be seen (e.g. in menus and toolbars); otherwise returns FALSE. See the "visible" property for details.
+.SH "QString QAction::menuText () const"
+Returns the action's menu text. See the "menuText" property for details.
+.SH "bool QAction::removeFrom ( QWidget * w )\fC [virtual]\fR"
+Removes the action from widget \fIw\fR.
+.PP
+Returns TRUE if the action was removed successfully; otherwise returns FALSE.
+.PP
+See also addTo().
+.SH "void QAction::setAccel ( const QKeySequence & key )\fC [virtual]\fR"
+Sets the action's accelerator key to \fIkey\fR. See the "accel" property for details.
+.SH "void QAction::setDisabled ( bool disable )\fC [slot]\fR"
+Disables the action if \fIdisable\fR is TRUE; otherwise enables the action.
+.PP
+See the enabled documentation for more information.
+.SH "void QAction::setEnabled ( bool )\fC [virtual slot]\fR"
+Sets whether the action is enabled. See the "enabled" property for details.
+.SH "void QAction::setIconSet ( const QIconSet & )\fC [virtual]\fR"
+Sets the action's icon. See the "iconSet" property for details.
+.SH "void QAction::setMenuText ( const QString & )\fC [virtual]\fR"
+Sets the action's menu text. See the "menuText" property for details.
+.SH "void QAction::setOn ( bool )\fC [virtual slot]\fR"
+Sets whether a toggle action is on. See the "on" property for details.
+.SH "void QAction::setStatusTip ( const QString & )\fC [virtual]\fR"
+Sets the action's status tip. See the "statusTip" property for details.
+.SH "void QAction::setText ( const QString & )\fC [virtual]\fR"
+Sets the action's descriptive text. See the "text" property for details.
+.SH "void QAction::setToggleAction ( bool )\fC [virtual]\fR"
+Sets whether the action is a toggle action. See the "toggleAction" property for details.
+.SH "void QAction::setToolTip ( const QString & )\fC [virtual]\fR"
+Sets the action's tool tip. See the "toolTip" property for details.
+.SH "void QAction::setVisible ( bool )\fC [slot]\fR"
+Sets whether the action can be seen (e.g. in menus and toolbars). See the "visible" property for details.
+.SH "void QAction::setWhatsThis ( const QString & )\fC [virtual]\fR"
+Sets the action's "What's This?" help text. See the "whatsThis" property for details.
+.SH "QString QAction::statusTip () const"
+Returns the action's status tip. See the "statusTip" property for details.
+.SH "QString QAction::text () const"
+Returns the action's descriptive text. See the "text" property for details.
+.SH "void QAction::toggle ()\fC [slot]\fR"
+Toggles the state of a toggle action.
+.PP
+See also on, activate(), toggled(), and toggleAction.
+.SH "void QAction::toggled ( bool on )\fC [signal]\fR"
+This signal is emitted when a toggle action changes state; command actions and QActionGroups don't emit toggled().
+.PP
+The \fIon\fR argument denotes the new state: If \fIon\fR is TRUE the toggle action is switched on, and if \fIon\fR is FALSE the toggle action is switched off.
+.PP
+To trigger a user command depending on whether a toggle action has been switched on or off connect it to a slot that takes a bool to indicate the state, e.g.
+.PP
+.nf
+.br
+ QMainWindow * window = new QMainWindow;
+.fi
+.PP
+.nf
+.br
+ QAction * labelonoffaction = new QAction( window, "labelonoff" );
+.fi
+.PP
+.nf
+.br
+ QObject::connect( labelonoffaction, SIGNAL( toggled( bool ) ),
+.br
+ window, SLOT( setUsesTextLabel( bool ) ) );
+.fi
+.PP
+See also activated(), toggleAction, and on.
+.PP
+Example: action/toggleaction/toggleaction.cpp.
+.SH "QString QAction::toolTip () const"
+Returns the action's tool tip. See the "toolTip" property for details.
+.SH "QString QAction::whatsThis () const"
+Returns the action's "What's This?" help text. See the "whatsThis" property for details.
+.SS "Property Documentation"
+.SH "QKeySequence accel"
+This property holds the action's accelerator key.
+.PP
+The keycodes can be found in Qt::Key and Qt::Modifier. There is no default accelerator key.
+.PP
+Set this property's value with setAccel() and get this property's value with accel().
+.SH "bool enabled"
+This property holds whether the action is enabled.
+.PP
+Disabled actions can't be chosen by the user. They don't disappear from the menu/tool bar but are displayed in a way which indicates that they are unavailable, e.g. they might be displayed grayed out.
+.PP
+What's this? help on disabled actions is still available provided the QAction::whatsThis property is set.
+.PP
+Set this property's value with setEnabled() and get this property's value with isEnabled().
+.SH "QIconSet iconSet"
+This property holds the action's icon.
+.PP
+The icon is used as the tool button icon and in the menu to the left of the menu text. There is no default icon.
+.PP
+If a null icon (QIconSet::isNull() is passed into this function, the icon of the action is cleared.
+.PP
+(See the action/toggleaction/toggleaction.cpp example.)
+.PP
+Set this property's value with setIconSet() and get this property's value with iconSet().
+.SH "QString menuText"
+This property holds the action's menu text.
+.PP
+If the action is added to a menu the menu option will consist of the icon (if there is one), the menu text and the accelerator (if there is one). If the menu text is not explicitly set in the constructor or by using setMenuText() the action's description text will be used as the menu text. There is no default menu text.
+.PP
+See also text.
+.PP
+Set this property's value with setMenuText() and get this property's value with menuText().
+.SH "bool on"
+This property holds whether a toggle action is on.
+.PP
+This property is always on (TRUE) for command actions and QActionGroups; setOn() has no effect on them. For action's where isToggleAction() is TRUE, this property's default value is off (FALSE).
+.PP
+See also toggleAction.
+.PP
+Set this property's value with setOn() and get this property's value with isOn().
+.SH "QString statusTip"
+This property holds the action's status tip.
+.PP
+The statusTip is displayed on all status bars that this action's toplevel parent widget provides.
+.PP
+If no status tip is defined, the action uses the tool tip text.
+.PP
+There is no default statusTip text.
+.PP
+See also statusTip and toolTip.
+.PP
+Set this property's value with setStatusTip() and get this property's value with statusTip().
+.SH "QString text"
+This property holds the action's descriptive text.
+.PP
+If QMainWindow::usesTextLabel is TRUE, the text appears as a label in the relevant tool button. It also serves as the default text in menus and tool tips if these have not been specifically defined. There is no default text.
+.PP
+See also menuText, toolTip, and statusTip.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "bool toggleAction"
+This property holds whether the action is a toggle action.
+.PP
+A toggle action is one which has an on/off state. For example a Bold toolbar button is either on or off. An action which is not a toggle action is a command action; a command action is simply executed, e.g. file save. This property's default is FALSE.
+.PP
+In some situations, the state of one toggle action should depend on the state of others. For example, "Left Align", "Center" and" Right Align" toggle actions are mutually exclusive. To achieve exclusive toggling, add the relevant toggle actions to a QActionGroup with the QActionGroup::exclusive property set to TRUE.
+.PP
+Set this property's value with setToggleAction() and get this property's value with isToggleAction().
+.SH "QString toolTip"
+This property holds the action's tool tip.
+.PP
+This text is used for the tool tip. If no status tip has been set the tool tip will be used for the status tip.
+.PP
+If no tool tip is specified the action's text is used, and if that hasn't been specified the description text is used as the tool tip text.
+.PP
+There is no default tool tip text.
+.PP
+See also statusTip and accel.
+.PP
+Set this property's value with setToolTip() and get this property's value with toolTip().
+.SH "bool visible"
+This property holds whether the action can be seen (e.g. in menus and toolbars).
+.PP
+If \fIvisible\fR is TRUE the action can be seen (e.g. in menus and toolbars) and chosen by the user; if \fIvisible\fR is FALSE the action cannot be seen or chosen by the user.
+.PP
+Actions which are not visible are \fInot\fR grayed out; they do not appear at all.
+.PP
+Set this property's value with setVisible() and get this property's value with isVisible().
+.SH "QString whatsThis"
+This property holds the action's "What's This?" help text.
+.PP
+The whats this text is used to provide a brief description of the action. The text may contain rich text (HTML-like tags -- see QStyleSheet for the list of supported tags). There is no default" What's This" text.
+.PP
+See also QWhatsThis.
+.PP
+Set this property's value with setWhatsThis() and get this property's value with whatsThis().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaction.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaction.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qactiongroup.3qt b/doc/man/man3/qactiongroup.3qt
new file mode 100644
index 0000000..6570db3
--- /dev/null
+++ b/doc/man/man3/qactiongroup.3qt
@@ -0,0 +1,206 @@
+'\" t
+.TH QActionGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QActionGroup \- Groups actions together
+.SH SYNOPSIS
+\fC#include <qaction.h>\fR
+.PP
+Inherits QAction.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQActionGroup\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQActionGroup\fR ( QObject * parent, const char * name, bool exclusive )"
+.br
+.ti -1c
+.BI "\fB~QActionGroup\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetExclusive\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisExclusive\fR () const"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QAction * action )"
+.br
+.ti -1c
+.BI "void \fBaddSeparator\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBaddTo\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBsetUsesDropDown\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBusesDropDown\fR () const"
+.br
+.ti -1c
+.BI "void insert ( QAction * a ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBselected\fR ( QAction * )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBexclusive\fR - whether the action group does exclusive toggling"
+.br
+.ti -1c
+.BI "bool \fBusesDropDown\fR - whether the group's actions are displayed in a subwidget of the widgets the action group is added to"
+.br
+.in -1c
+.SH DESCRIPTION
+The QActionGroup class groups actions together.
+.PP
+In some situations it is useful to group actions together. For example, if you have a left justify action, a right justify action and a center action, only one of these actions should be active at any one time, and one simple way of achieving this is to group the actions together in an action group.
+.PP
+An action group can also be added to a menu or a toolbar as a single unit, with all the actions within the action group appearing as separate menu options and toolbar buttons.
+.PP
+Here's an example from examples/textedit:
+.PP
+.nf
+.br
+ QActionGroup *grp = new QActionGroup( this );
+.br
+ connect( grp, SIGNAL( selected( QAction* ) ), this, SLOT( textAlign( QAction* ) ) );
+.fi
+.PP
+Here we create a new action group. Since the action group is exclusive by default, only one of the actions in the group is ever active at any one time. We then connect the group's selected() signal to our textAlign() slot.
+.PP
+.nf
+.br
+ actionAlignLeft = new QAction( QPixmap::fromMimeSource( "textleft.xpm" ), tr( "&Left" ), CTRL + Key_L, grp, "textLeft" );
+.br
+ actionAlignLeft->setToggleAction( TRUE );
+.fi
+.PP
+We create a left align action, add it to the toolbar and the menu and make it a toggle action. We create center and right align actions in exactly the same way.
+.PP
+The actions in an action group emit their activated() (and for toggle actions, toggled()) signals as usual.
+.PP
+The setExclusive() function is used to ensure that only one action is active at any one time: it should be used with actions which have their toggleAction set to TRUE.
+.PP
+Action group actions appear as individual menu options and toolbar buttons. For exclusive action groups use setUsesDropDown() to display the actions in a subwidget of any widget the action group is added to. For example, the actions would appear in a combobox in a toolbar or as a submenu in a menu.
+.PP
+Actions can be added to an action group using add(), but normally they are added by creating the action with the action group as parent. Actions can have separators dividing them using addSeparator(). Action groups are added to widgets with addTo().
+.PP
+See also Main Window and Related Classes and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QActionGroup::QActionGroup ( QObject * parent, const char * name = 0 )"
+Constructs an action group called \fIname\fR, with parent \fIparent\fR.
+.PP
+The action group is exclusive by default. Call setExclusive(FALSE) to make the action group non-exclusive.
+.SH "QActionGroup::QActionGroup ( QObject * parent, const char * name, bool exclusive )"
+Constructs an action group called \fIname\fR, with parent \fIparent\fR.
+.PP
+If \fIexclusive\fR is TRUE only one toggle action in the group will ever be active.
+.PP
+See also exclusive.
+.SH "QActionGroup::~QActionGroup ()"
+Destroys the object and frees allocated resources.
+.SH "void QActionGroup::add ( QAction * action )"
+Adds action \fIaction\fR to this group.
+.PP
+Normally an action is added to a group by creating it with the group as parent, so this function is not usually used.
+.PP
+See also addTo().
+.SH "void QActionGroup::addSeparator ()"
+Adds a separator to the group.
+.SH "bool QActionGroup::addTo ( QWidget * w )\fC [virtual]\fR"
+Adds this action group to the widget \fIw\fR.
+.PP
+If isExclusive() is FALSE or usesDropDown() is FALSE, the actions within the group are added to the widget individually. For example, if the widget is a menu, the actions will appear as individual menu options, and if the widget is a toolbar, the actions will appear as toolbar buttons.
+.PP
+If both isExclusive() and usesDropDown() are TRUE, the actions are presented either in a combobox (if \fIw\fR is a toolbar) or in a submenu (if \fIw\fR is a menu).
+.PP
+All actions should be added to the action group \fIbefore\fR the action group is added to the widget. If actions are added to the action group \fIafter\fR the action group has been added to the widget these later actions will \fInot\fR appear.
+.PP
+See also exclusive, usesDropDown, and removeFrom().
+.PP
+Example: themes/themes.cpp.
+.PP
+Reimplemented from QAction.
+.SH "void QActionGroup::insert ( QAction * a )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use add() instead, or better still create the action with the action group as its parent.
+.SH "bool QActionGroup::isExclusive () const"
+Returns TRUE if the action group does exclusive toggling; otherwise returns FALSE. See the "exclusive" property for details.
+.SH "void QActionGroup::selected ( QAction * )\fC [signal]\fR"
+This signal is emitted from exclusive groups when toggle actions change state.
+.PP
+The argument is the action whose state changed to "on".
+.PP
+See also exclusive, on, and QAction::toggled().
+.PP
+Examples:
+.)l chart/chartform.cpp and textedit/textedit.cpp.
+.SH "void QActionGroup::setExclusive ( bool )"
+Sets whether the action group does exclusive toggling. See the "exclusive" property for details.
+.SH "void QActionGroup::setUsesDropDown ( bool enable )"
+Sets whether the group's actions are displayed in a subwidget of the widgets the action group is added to to \fIenable\fR. See the "usesDropDown" property for details.
+.SH "bool QActionGroup::usesDropDown () const"
+Returns TRUE if the group's actions are displayed in a subwidget of the widgets the action group is added to; otherwise returns FALSE. See the "usesDropDown" property for details.
+.SS "Property Documentation"
+.SH "bool exclusive"
+This property holds whether the action group does exclusive toggling.
+.PP
+If exclusive is TRUE only one toggle action in the action group can ever be active at any one time. If the user chooses another toggle action in the group the one they chose becomes active and the one that was active becomes inactive.
+.PP
+See also QAction::toggleAction.
+.PP
+Set this property's value with setExclusive() and get this property's value with isExclusive().
+.SH "bool usesDropDown"
+This property holds whether the group's actions are displayed in a subwidget of the widgets the action group is added to.
+.PP
+Exclusive action groups added to a toolbar display their actions in a combobox with the action's QAction::text and QAction::iconSet properties shown. Non-exclusive groups are represented by a tool button showing their QAction::iconSet and -- depending on QMainWindow::usesTextLabel() -- text() property.
+.PP
+In a popup menu the member actions are displayed in a submenu.
+.PP
+Changing usesDropDown only affects \fIsubsequent\fR calls to addTo().
+.PP
+Note that setting this property for actions in a combobox causes calls to their QAction::setVisible(), QAction::setEnabled(), and QAction::setDisabled() functions to have no effect.
+.PP
+This property's default is FALSE.
+.PP
+Set this property's value with setUsesDropDown() and get this property's value with usesDropDown().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qactiongroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qactiongroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qapplication.3qt b/doc/man/man3/qapplication.3qt
new file mode 100644
index 0000000..0be4627
--- /dev/null
+++ b/doc/man/man3/qapplication.3qt
@@ -0,0 +1,1990 @@
+'\" t
+.TH QApplication 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QApplication \- Manages the GUI application's control flow and main settings
+.SH SYNOPSIS
+\fC#include <qapplication.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQApplication\fR ( int & argc, char ** argv )"
+.br
+.ti -1c
+.BI "\fBQApplication\fR ( int & argc, char ** argv, bool GUIenabled )"
+.br
+.ti -1c
+.BI "enum \fBType\fR { Tty, GuiClient, GuiServer }"
+.br
+.ti -1c
+.BI "\fBQApplication\fR ( int & argc, char ** argv, Type type )"
+.br
+.ti -1c
+.BI "\fBQApplication\fR ( Display * dpy, HANDLE visual = 0, HANDLE colormap = 0 )"
+.br
+.ti -1c
+.BI "\fBQApplication\fR ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QApplication\fR ()"
+.br
+.ti -1c
+.BI "int \fBargc\fR () const"
+.br
+.ti -1c
+.BI "char ** \fBargv\fR () const"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "enum \fBColorSpec\fR { NormalColor = 0, CustomColor = 1, ManyColor = 2 }"
+.br
+.ti -1c
+.BI "QWidget * \fBmainWidget\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMainWidget\fR ( QWidget * mainWidget )"
+.br
+.ti -1c
+.BI "virtual void \fBpolish\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBfocusWidget\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBactiveWindow\fR () const"
+.br
+.ti -1c
+.BI "int \fBexec\fR ()"
+.br
+.ti -1c
+.BI "void \fBprocessEvents\fR ()"
+.br
+.ti -1c
+.BI "void \fBprocessEvents\fR ( int maxtime )"
+.br
+.ti -1c
+.BI "void processOneEvent () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBhasPendingEvents\fR ()"
+.br
+.ti -1c
+.BI "int enter_loop () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void exit_loop () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int loopLevel () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual bool \fBnotify\fR ( QObject * receiver, QEvent * e )"
+.br
+.ti -1c
+.BI "void setDefaultCodec ( QTextCodec * codec ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QTextCodec * defaultCodec () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBinstallTranslator\fR ( QTranslator * mf )"
+.br
+.ti -1c
+.BI "void \fBremoveTranslator\fR ( QTranslator * mf )"
+.br
+.ti -1c
+.BI "enum \fBEncoding\fR { DefaultCodec, UnicodeUTF8 }"
+.br
+.ti -1c
+.BI "QString \fBtranslate\fR ( const char * context, const char * sourceText, const char * comment = 0, Encoding encoding = DefaultCodec ) const"
+.br
+.ti -1c
+.BI "QString \fBapplicationDirPath\fR ()"
+.br
+.ti -1c
+.BI "QString \fBapplicationFilePath\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBmacEventFilter\fR ( EventHandlerCallRef, EventRef )"
+.br
+.ti -1c
+.BI "virtual bool \fBwinEventFilter\fR ( MSG * )"
+.br
+.ti -1c
+.BI "virtual bool \fBx11EventFilter\fR ( XEvent * )"
+.br
+.ti -1c
+.BI "int \fBx11ProcessEvent\fR ( XEvent * event )"
+.br
+.ti -1c
+.BI "virtual bool \fBqwsEventFilter\fR ( QWSEvent * )"
+.br
+.ti -1c
+.BI "void \fBqwsSetCustomColors\fR ( QRgb * colorTable, int start, int numColors )"
+.br
+.ti -1c
+.BI "void \fBwinFocus\fR ( QWidget * widget, bool gotFocus )"
+.br
+.ti -1c
+.BI "bool \fBisSessionRestored\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsessionId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsessionKey\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBcommitData\fR ( QSessionManager & sm )"
+.br
+.ti -1c
+.BI "virtual void \fBsaveState\fR ( QSessionManager & sm )"
+.br
+.ti -1c
+.BI "void \fBwakeUpGuiThread\fR ()"
+.br
+.ti -1c
+.BI "void \fBlock\fR ()"
+.br
+.ti -1c
+.BI "void \fBunlock\fR ( bool wakeUpGui = TRUE )"
+.br
+.ti -1c
+.BI "bool \fBlocked\fR ()"
+.br
+.ti -1c
+.BI "bool \fBtryLock\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBquit\fR ()"
+.br
+.ti -1c
+.BI "void \fBcloseAllWindows\fR ()"
+.br
+.ti -1c
+.BI "void \fBaboutQt\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBlastWindowClosed\fR ()"
+.br
+.ti -1c
+.BI "void \fBaboutToQuit\fR ()"
+.br
+.ti -1c
+.BI "void \fBguiThreadAwake\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QStyle & \fBstyle\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetStyle\fR ( QStyle * style )"
+.br
+.ti -1c
+.BI "QStyle * \fBsetStyle\fR ( const QString & style )"
+.br
+.ti -1c
+.BI "int \fBcolorSpec\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetColorSpec\fR ( int spec )"
+.br
+.ti -1c
+.BI "QCursor * \fBoverrideCursor\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetOverrideCursor\fR ( const QCursor & cursor, bool replace = FALSE )"
+.br
+.ti -1c
+.BI "void \fBrestoreOverrideCursor\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasGlobalMouseTracking\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetGlobalMouseTracking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "QPalette \fBpalette\fR ( const QWidget * w = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetPalette\fR ( const QPalette & palette, bool informWidgets = FALSE, const char * className = 0 )"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR ( const QWidget * w = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetFont\fR ( const QFont & font, bool informWidgets = FALSE, const char * className = 0 )"
+.br
+.ti -1c
+.BI "QFontMetrics \fBfontMetrics\fR ()"
+.br
+.ti -1c
+.BI "QWidgetList * \fBallWidgets\fR ()"
+.br
+.ti -1c
+.BI "QWidgetList * \fBtopLevelWidgets\fR ()"
+.br
+.ti -1c
+.BI "QDesktopWidget * \fBdesktop\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBactivePopupWidget\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBactiveModalWidget\fR ()"
+.br
+.ti -1c
+.BI "QClipboard * \fBclipboard\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBwidgetAt\fR ( int x, int y, bool child = FALSE )"
+.br
+.ti -1c
+.BI "QWidget * \fBwidgetAt\fR ( const QPoint & pos, bool child = FALSE )"
+.br
+.ti -1c
+.BI "QEventLoop * \fBeventLoop\fR ()"
+.br
+.ti -1c
+.BI "void \fBexit\fR ( int retcode = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsendEvent\fR ( QObject * receiver, QEvent * event )"
+.br
+.ti -1c
+.BI "void \fBpostEvent\fR ( QObject * receiver, QEvent * event )"
+.br
+.ti -1c
+.BI "void \fBsendPostedEvents\fR ( QObject * receiver, int event_type )"
+.br
+.ti -1c
+.BI "void \fBsendPostedEvents\fR ()"
+.br
+.ti -1c
+.BI "void \fBremovePostedEvents\fR ( QObject * receiver )"
+.br
+.ti -1c
+.BI "bool \fBstartingUp\fR ()"
+.br
+.ti -1c
+.BI "bool \fBclosingDown\fR ()"
+.br
+.ti -1c
+.BI "void \fBflushX\fR ()"
+.br
+.ti -1c
+.BI "void \fBflush\fR ()"
+.br
+.ti -1c
+.BI "void \fBsyncX\fR ()"
+.br
+.ti -1c
+.BI "void \fBbeep\fR ()"
+.br
+.ti -1c
+.BI "void setWinStyleHighlightColor ( const QColor & c ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "const QColor & winStyleHighlightColor () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetDesktopSettingsAware\fR ( bool on )"
+.br
+.ti -1c
+.BI "bool \fBdesktopSettingsAware\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetCursorFlashTime\fR ( int msecs )"
+.br
+.ti -1c
+.BI "int \fBcursorFlashTime\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDoubleClickInterval\fR ( int ms )"
+.br
+.ti -1c
+.BI "int \fBdoubleClickInterval\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetWheelScrollLines\fR ( int n )"
+.br
+.ti -1c
+.BI "int \fBwheelScrollLines\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetGlobalStrut\fR ( const QSize & strut )"
+.br
+.ti -1c
+.BI "QSize \fBglobalStrut\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetLibraryPaths\fR ( const QStringList & paths )"
+.br
+.ti -1c
+.BI "QStringList \fBlibraryPaths\fR ()"
+.br
+.ti -1c
+.BI "void \fBaddLibraryPath\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "void \fBremoveLibraryPath\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "void \fBsetStartDragTime\fR ( int ms )"
+.br
+.ti -1c
+.BI "int \fBstartDragTime\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetStartDragDistance\fR ( int l )"
+.br
+.ti -1c
+.BI "int \fBstartDragDistance\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetReverseLayout\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBreverseLayout\fR ()"
+.br
+.ti -1c
+.BI "int \fBhorizontalAlignment\fR ( int align )"
+.br
+.ti -1c
+.BI "bool \fBisEffectEnabled\fR ( Qt::UIEffect effect )"
+.br
+.ti -1c
+.BI "void \fBsetEffectEnabled\fR ( Qt::UIEffect effect, bool enable = TRUE )"
+.br
+.ti -1c
+.BI "QWSDecoration & \fBqwsDecoration\fR ()"
+.br
+.ti -1c
+.BI "void \fBqwsSetDecoration\fR ( QWSDecoration * d )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void \fBqAddPostRoutine\fR ( QtCleanUpFunction p )"
+.br
+.ti -1c
+.BI "const char * \fBqVersion\fR ()"
+.br
+.ti -1c
+.BI "bool \fBqSysInfo\fR ( int * wordSize, bool * bigEndian )"
+.br
+.ti -1c
+.BI "void \fBqDebug\fR ( const char * msg, ... )"
+.br
+.ti -1c
+.BI "void \fBqWarning\fR ( const char * msg, ... )"
+.br
+.ti -1c
+.BI "void \fBqFatal\fR ( const char * msg, ... )"
+.br
+.ti -1c
+.BI "void \fBqSystemWarning\fR ( const char * msg, int code )"
+.br
+.ti -1c
+.BI "void \fBQ_ASSERT\fR ( bool test )"
+.br
+.ti -1c
+.BI "void \fBQ_CHECK_PTR\fR ( void * p )"
+.br
+.ti -1c
+.BI "QtMsgHandler \fBqInstallMsgHandler\fR ( QtMsgHandler h )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QApplication class manages the GUI application's control flow and main settings.
+.PP
+It contains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization, and provides session management. It also handles most system-wide and application-wide settings.
+.PP
+For any GUI application that uses Qt, there is precisely one QApplication object, no matter whether the application has 0, 1, 2 or more windows at any time.
+.PP
+The QApplication object is accessible through the global pointer \fCqApp\fR. Its main areas of responsibility are:
+.IP
+.TP
+It initializes the application with the user's desktop settings such as palette(), font() and doubleClickInterval(). It keeps track of these properties in case the user changes the desktop globally, for example through some kind of control panel.
+.IP
+.TP
+It performs event handling, meaning that it receives events from the underlying window system and dispatches them to the relevant widgets. By using sendEvent() and postEvent() you can send your own events to widgets.
+.IP
+.TP
+It parses common command line arguments and sets its internal state accordingly. See the constructor documentation below for more details about this.
+.IP
+.TP
+It defines the application's look and feel, which is encapsulated in a QStyle object. This can be changed at runtime with setStyle().
+.IP
+.TP
+It specifies how the application is to allocate colors. See setColorSpec() for details.
+.IP
+.TP
+It provides localization of strings that are visible to the user via translate().
+.IP
+.TP
+It provides some magical objects like the desktop() and the clipboard().
+.IP
+.TP
+It knows about the application's windows. You can ask which widget is at a certain position using widgetAt(), get a list of topLevelWidgets() and closeAllWindows(), etc.
+.IP
+.TP
+It manages the application's mouse cursor handling, see setOverrideCursor() and setGlobalMouseTracking().
+.IP
+.TP
+On the X window system, it provides functions to flush and sync the communication stream, see flushX() and syncX().
+.IP
+.TP
+It provides support for sophisticated session management. This makes it possible for applications to terminate gracefully when the user logs out, to cancel a shutdown process if termination isn't possible and even to preserve the entire application's state for a future session. See isSessionRestored(), sessionId() and commitData() and saveState() for details.
+.IP
+.PP
+The Application walk-through example contains a typical complete main() that does the usual things with QApplication.
+.PP
+Since the QApplication object does so much initialization, it \fBmust\fR be created before any other objects related to the user interface are created.
+.PP
+Since it also deals with common command line arguments, it is usually a good idea to create it \fIbefore\fR any interpretation or modification of \fCargv\fR is done in the application itself. (Note also that for X11, setMainWidget() may change the main widget according to the \fC-geometry\fR option. To preserve this functionality, you must set your defaults before setMainWidget() and any overrides after.)
+.PP
+<center>.nf
+.TS
+l - l. Groups of functions System settings desktopSettingsAware(), setDesktopSettingsAware(), cursorFlashTime(), setCursorFlashTime(), doubleClickInterval(), setDoubleClickInterval(), wheelScrollLines(), setWheelScrollLines(), palette(), setPalette(), font(), setFont(), fontMetrics(). Event handling exec(), processEvents(), enter_loop(), exit_loop(), exit(), quit(). sendEvent(), postEvent(), sendPostedEvents(), removePostedEvents(), hasPendingEvents(), notify(), macEventFilter(), qwsEventFilter(), x11EventFilter(), x11ProcessEvent(), winEventFilter(). GUI Styles style(), setStyle(), polish(). Color usage colorSpec(), setColorSpec(), qwsSetCustomColors(). Text handling installTranslator(), removeTranslator() translate(). Widgets mainWidget(), setMainWidget(), allWidgets(), topLevelWidgets(), desktop(), activePopupWidget(), activeModalWidget(), clipboard(), focusWidget(), winFocus(), activeWindow(), widgetAt(). Advanced cursor handling hasGlobalMouseTracking(), setGlobalMouseTracking(), overrideCursor(), setOverrideCursor(), restoreOverrideCursor(). X Window System synchronization flushX(), syncX(). Session management isSessionRestored(), sessionId(), commitData(), saveState(). Threading lock(), unlock(), locked(), tryLock(), wakeUpGuiThread() Miscellaneous
+.TE
+.fi
+</center>
+.PP
+\fINon-GUI programs:\fR While Qt is not optimized or designed for writing non-GUI programs, it's possible to use some of its classes without creating a QApplication. This can be useful if you wish to share code between a non-GUI server and a GUI client.
+.PP
+See also Main Window and Related Classes.
+.SS "Member Type Documentation"
+.SH "QApplication::ColorSpec"
+.TP
+\fCQApplication::NormalColor\fR - the default color allocation policy
+.TP
+\fCQApplication::CustomColor\fR - the same as NormalColor for X11; allocates colors to a palette on demand under Windows
+.TP
+\fCQApplication::ManyColor\fR - the right choice for applications that use thousands of colors
+.PP
+See setColorSpec() for full details.
+.SH "QApplication::Encoding"
+This enum type defines the 8-bit encoding of character string arguments to translate():
+.TP
+\fCQApplication::DefaultCodec\fR - the encoding specified by QTextCodec::codecForTr() (Latin-1 if none has been set)
+.TP
+\fCQApplication::UnicodeUTF8\fR - UTF-8
+.PP
+See also QObject::tr(), QObject::trUtf8(), and QString::fromUtf8().
+.SH "QApplication::Type"
+.TP
+\fCQApplication::Tty\fR - a console application
+.TP
+\fCQApplication::GuiClient\fR - a GUI client application
+.TP
+\fCQApplication::GuiServer\fR - a GUI server application
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QApplication::QApplication ( int & argc, char ** argv )"
+Initializes the window system and constructs an application object with \fIargc\fR command line arguments in \fIargv\fR.
+.PP
+The global \fCqApp\fR pointer refers to this application object. Only one application object should be created.
+.PP
+This application object must be constructed before any paint devices (including widgets, pixmaps, bitmaps etc.).
+.PP
+Note that \fIargc\fR and \fIargv\fR might be changed. Qt removes command line arguments that it recognizes. The modified \fIargc\fR and \fIargv\fR can also be accessed later with \fCqApp->argc()\fR and \fCqApp->argv()\fR. The documentation for argv() contains a detailed description of how to process command line arguments.
+.PP
+Qt debugging options (not available if Qt was compiled with the QT_NO_DEBUG flag defined):
+.TP
+-nograb, tells Qt that it must never grab the mouse or the keyboard.
+.TP
+-dograb (only under X11), running under a debugger can cause an implicit -nograb, use -dograb to override.
+.TP
+-sync (only under X11), switches to synchronous mode for debugging.
+.PP
+See Debugging Techniques for a more detailed explanation.
+.PP
+All Qt programs automatically support the following command line options:
+.TP
+-reverse causes text to be formatted for right-to-left languages rather than in the usual left-to-right direction.
+.TP
+-style= \fIstyle\fR, sets the application GUI style. Possible values are \fCmotif\fR, \fCwindows\fR, and \fCplatinum\fR. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the \fC-style\fR command line option.
+.TP
+-style \fIstyle\fR, is the same as listed above.
+.TP
+-session= \fIsession\fR, restores the application from an earlier session.
+.TP
+-session \fIsession\fR, is the same as listed above.
+.TP
+-widgetcount, prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time
+.PP
+The X11 version of Qt also supports some traditional X11 command line options:
+.TP
+-display \fIdisplay\fR, sets the X display (default is $DISPLAY).
+.TP
+-geometry \fIgeometry\fR, sets the client geometry of the main widget.
+.TP
+-fn or \fC-font\fR \fIfont\fR, defines the application font. The font should be specified using an X logical font description.
+.TP
+-bg or \fC-background\fR \fIcolor\fR, sets the default background color and an application palette (light and dark shades are calculated).
+.TP
+-fg or \fC-foreground\fR \fIcolor\fR, sets the default foreground color.
+.TP
+-btn or \fC-button\fR \fIcolor\fR, sets the default button color.
+.TP
+-name \fIname\fR, sets the application name.
+.TP
+-title \fItitle\fR, sets the application title (caption).
+.TP
+-visual \fCTrueColor\fR, forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+-ncols \fIcount\fR, limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If \fIcount\fR is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used.
+.TP
+-cmap, causes the application to install a private color map on an 8-bit display.
+.PP
+See also argc() and argv().
+.SH "QApplication::QApplication ( int & argc, char ** argv, bool GUIenabled )"
+Constructs an application object with \fIargc\fR command line arguments in \fIargv\fR. If \fIGUIenabled\fR is TRUE, a GUI application is constructed, otherwise a non-GUI (console) application is created.
+.PP
+Set \fIGUIenabled\fR to FALSE for programs without a graphical user interface that should be able to run without a window system.
+.PP
+On X11, the window system is initialized if \fIGUIenabled\fR is TRUE. If \fIGUIenabled\fR is FALSE, the application does not connect to the X-server. On Windows and Macintosh, currently the window system is always initialized, regardless of the value of GUIenabled. This may change in future versions of Qt.
+.PP
+The following example shows how to create an application that uses a graphical interface when available.
+.PP
+.nf
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+#ifdef Q_WS_X11
+.br
+ bool useGUI = getenv( "DISPLAY" ) != 0;
+.br
+#else
+.br
+ bool useGUI = TRUE;
+.br
+#endif
+.br
+ QApplication app(argc, argv, useGUI);
+.br
+.br
+ if ( useGUI ) {
+.br
+ //start GUI version
+.br
+ ...
+.br
+ } else {
+.br
+ //start non-GUI version
+.br
+ ...
+.br
+ }
+.br
+ return app.exec();
+.br
+ }
+.fi
+.SH "QApplication::QApplication ( int & argc, char ** argv, Type type )"
+Constructs an application object with \fIargc\fR command line arguments in \fIargv\fR.
+.PP
+For Qt/Embedded, passing QApplication::GuiServer for \fItype\fR makes this application the server (equivalent to running with the -qws option).
+.SH "QApplication::QApplication ( Display * dpy, HANDLE visual = 0, HANDLE colormap = 0 )"
+Create an application, given an already open display \fIdpy\fR. If \fIvisual\fR and \fIcolormap\fR are non-zero, the application will use those as the default Visual and Colormap contexts.
+.PP
+\fBWarning:\fR Qt only supports TrueColor visuals at depths higher than 8 bits-per-pixel.
+.PP
+This is available only on X11.
+.SH "QApplication::QApplication ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 )"
+Create an application, given an already open display \fIdpy\fR and using \fIargc\fR command line arguments in \fIargv\fR. If \fIvisual\fR and \fIcolormap\fR are non-zero, the application will use those as the default Visual and Colormap contexts.
+.PP
+\fBWarning:\fR Qt only supports TrueColor visuals at depths higher than 8 bits-per-pixel.
+.PP
+This is available only on X11.
+.SH "QApplication::~QApplication ()\fC [virtual]\fR"
+Cleans up any window system resources that were allocated by this application. Sets the global variable \fCqApp\fR to 0.
+.SH "void QApplication::aboutQt ()\fC [slot]\fR"
+Displays a simple message box about Qt. The message includes the version number of Qt being used by the application.
+.PP
+This is useful for inclusion in the Help menu of an application. See the examples/menu/menu.cpp example.
+.PP
+This function is a convenience slot for QMessageBox::aboutQt().
+.SH "void QApplication::aboutToQuit ()\fC [signal]\fR"
+This signal is emitted when the application is about to quit the main event loop, e.g. when the event loop level drops to zero. This may happen either after a call to quit() from inside the application or when the users shuts down the entire desktop session.
+.PP
+The signal is particularly useful if your application has to do some last-second cleanup. Note that no user interaction is possible in this state.
+.PP
+See also quit().
+.SH "QWidget * QApplication::activeModalWidget ()\fC [static]\fR"
+Returns the active modal widget.
+.PP
+A modal widget is a special top level widget which is a subclass of QDialog that specifies the modal parameter of the constructor as TRUE. A modal widget must be closed before the user can continue with other parts of the program.
+.PP
+Modal widgets are organized in a stack. This function returns the active modal widget at the top of the stack.
+.PP
+See also activePopupWidget() and topLevelWidgets().
+.SH "QWidget * QApplication::activePopupWidget ()\fC [static]\fR"
+Returns the active popup widget.
+.PP
+A popup widget is a special top level widget that sets the WType_Popup widget flag, e.g. the QPopupMenu widget. When the application opens a popup widget, all events are sent to the popup. Normal widgets and modal widgets cannot be accessed before the popup widget is closed.
+.PP
+Only other popup widgets may be opened when a popup widget is shown. The popup widgets are organized in a stack. This function returns the active popup widget at the top of the stack.
+.PP
+See also activeModalWidget() and topLevelWidgets().
+.SH "QWidget * QApplication::activeWindow () const"
+Returns the application top-level window that has the keyboard input focus, or 0 if no application window has the focus. Note that there might be an activeWindow() even if there is no focusWidget(), for example if no widget in that window accepts key events.
+.PP
+See also QWidget::setFocus(), QWidget::focus, and focusWidget().
+.PP
+Example: network/mail/smtp.cpp.
+.SH "void QApplication::addLibraryPath ( const QString & path )\fC [static]\fR"
+Append \fIpath\fR to the end of the library path list. If \fIpath\fR is empty or already in the path list, the path list is not changed.
+.PP
+The default path list consists of a single entry, the installation directory for plugins. The default installation directory for plugins is \fCINSTALL/plugins\fR, where \fCINSTALL\fR is the directory where Qt was installed.
+.PP
+See also removeLibraryPath(), libraryPaths(), and setLibraryPaths().
+.SH "QWidgetList * QApplication::allWidgets ()\fC [static]\fR"
+Returns a list of all the widgets in the application.
+.PP
+The list is created using \fCnew\fR and must be deleted by the caller.
+.PP
+The list is empty (QPtrList::isEmpty()) if there are no widgets.
+.PP
+Note that some of the widgets may be hidden.
+.PP
+Example that updates all widgets:
+.PP
+.nf
+.br
+ QWidgetList *list = QApplication::allWidgets();
+.br
+ QWidgetListIt it( *list ); // iterate over the widgets
+.br
+ QWidget * w;
+.br
+ while ( (w=it.current()) != 0 ) { // for each widget...
+.br
+ ++it;
+.br
+ w->update();
+.br
+ }
+.br
+ delete list; // delete the list, not the widgets
+.br
+.fi
+.PP
+The QWidgetList class is defined in the \fCqwidgetlist.h\fR header file.
+.PP
+\fBWarning:\fR Delete the list as soon as you have finished using it. The widgets in the list may be deleted by someone else at any time.
+.PP
+See also topLevelWidgets(), QWidget::visible, and QPtrList::isEmpty().
+.SH "QString QApplication::applicationDirPath ()"
+Returns the directory that contains the application executable.
+.PP
+For example, if you have installed Qt in the \fCC:&#92;Trolltech&#92;Qt\fR directory, and you run the \fCdemo\fR example, this function will return "C:/Trolltech/Qt/examples/demo".
+.PP
+On Mac OS X this will point to the directory actually containing the executable, which may be inside of an application bundle (if the application is bundled).
+.PP
+\fBWarning:\fR On Unix, this function assumes that argv[0] contains the file name of the executable (which it normally does). It also assumes that the current directory hasn't been changed by the application.
+.PP
+See also applicationFilePath().
+.SH "QString QApplication::applicationFilePath ()"
+Returns the file path of the application executable.
+.PP
+For example, if you have installed Qt in the \fCC:&#92;Trolltech&#92;Qt\fR directory, and you run the \fCdemo\fR example, this function will return "C:/Trolltech/Qt/examples/demo/demo.exe".
+.PP
+\fBWarning:\fR On Unix, this function assumes that argv[0] contains the file name of the executable (which it normally does). It also assumes that the current directory hasn't been changed by the application.
+.PP
+See also applicationDirPath().
+.SH "int QApplication::argc () const"
+Returns the number of command line arguments.
+.PP
+The documentation for argv() describes how to process command line arguments.
+.PP
+See also argv() and QApplication::QApplication().
+.PP
+Examples:
+.)l chart/main.cpp and scribble/scribble.cpp.
+.SH "char ** QApplication::argv () const"
+Returns the command line argument vector.
+.PP
+\fCargv()[0]\fR is the program name, \fCargv()[1]\fR is the first argument and \fCargv()[argc()-1]\fR is the last argument.
+.PP
+A QApplication object is constructed by passing \fIargc\fR and \fIargv\fR from the \fCmain()\fR function. Some of the arguments may be recognized as Qt options and removed from the argument vector. For example, the X11 version of Qt knows about \fC-display\fR, \fC-font\fR and a few more options.
+.PP
+Example:
+.PP
+.nf
+.br
+ // showargs.cpp - displays program arguments in a list box
+.br
+.br
+ #include <qapplication.h>
+.br
+ #include <qlistbox.h>
+.br
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QApplication a( argc, argv );
+.br
+ QListBox b;
+.br
+ a.setMainWidget( &b );
+.br
+ for ( int i = 0; i < a.argc(); i++ ) // a.argc() == argc
+.br
+ b.insertItem( a.argv()[i] ); // a.argv()[i] == argv[i]
+.br
+ b.show();
+.br
+ return a.exec();
+.br
+ }
+.br
+.fi
+.PP
+If you run \fCshowargs -display unix:0 -font 9x15bold hello world\fR under X11, the list box contains the three strings "showargs"," hello" and "world".
+.PP
+Qt provides a global pointer, \fCqApp\fR, that points to the QApplication object, and through which you can access argc() and argv() in functions other than main().
+.PP
+See also argc() and QApplication::QApplication().
+.PP
+Examples:
+.)l chart/main.cpp and scribble/scribble.cpp.
+.SH "void QApplication::beep ()\fC [static]\fR"
+Sounds the bell, using the default volume and sound.
+.SH "QClipboard * QApplication::clipboard ()\fC [static]\fR"
+Returns a pointer to the application global clipboard.
+.PP
+Examples:
+.)l regexptester/regexptester.cpp and showimg/showimg.cpp.
+.SH "void QApplication::closeAllWindows ()\fC [slot]\fR"
+Closes all top-level windows.
+.PP
+This function is particularly useful for applications with many top-level windows. It could, for example, be connected to a "Quit" entry in the file menu as shown in the following code example:
+.PP
+.nf
+.br
+ // the "Quit" menu entry should try to close all windows
+.br
+ QPopupMenu* file = new QPopupMenu( this );
+.br
+ file->insertItem( "&Quit", qApp, SLOT(closeAllWindows()), CTRL+Key_Q );
+.br
+.br
+ // when the last window is closed, the application should quit
+.br
+ connect( qApp, SIGNAL( lastWindowClosed() ), qApp, SLOT( quit() ) );
+.br
+.fi
+.PP
+The windows are closed in random order, until one window does not accept the close event.
+.PP
+See also QWidget::close(), QWidget::closeEvent(), lastWindowClosed(), quit(), topLevelWidgets(), and QWidget::isTopLevel.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "bool QApplication::closingDown ()\fC [static]\fR"
+Returns TRUE if the application objects are being destroyed; otherwise returns FALSE.
+.PP
+See also startingUp().
+.SH "int QApplication::colorSpec ()\fC [static]\fR"
+Returns the color specification.
+.PP
+See also QApplication::setColorSpec().
+.PP
+Example: showimg/showimg.cpp.
+.SH "void QApplication::commitData ( QSessionManager & sm )\fC [virtual]\fR"
+This function deals with session management. It is invoked when the QSessionManager wants the application to commit all its data.
+.PP
+Usually this means saving all open files, after getting permission from the user. Furthermore you may want to provide a means by which the user can cancel the shutdown.
+.PP
+Note that you should not exit the application within this function. Instead, the session manager may or may not do this afterwards, depending on the context.
+.PP
+\fBWarning:\fR Within this function, no user interaction is possible, \fIunless\fR you ask the session manager \fIsm\fR for explicit permission. See QSessionManager::allowsInteraction() and QSessionManager::allowsErrorInteraction() for details and example usage.
+.PP
+The default implementation requests interaction and sends a close event to all visible top level widgets. If any event was rejected, the shutdown is canceled.
+.PP
+See also isSessionRestored(), sessionId(), saveState(), and the Session Management overview.
+.SH "int QApplication::cursorFlashTime ()\fC [static]\fR"
+Returns the text cursor's flash (blink) time in milliseconds. The flash time is the time required to display, invert and restore the caret display.
+.PP
+The default value on X11 is 1000 milliseconds. On Windows, the control panel value is used.
+.PP
+Widgets should not cache this value since it may be changed at any time by the user changing the global desktop settings.
+.PP
+See also setCursorFlashTime().
+.SH "QTextCodec * QApplication::defaultCodec () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns QTextCodec::codecForTr().
+.SH "QDesktopWidget * QApplication::desktop ()\fC [static]\fR"
+Returns the desktop widget (also called the root window).
+.PP
+The desktop widget is useful for obtaining the size of the screen. It may also be possible to draw on the desktop. We recommend against assuming that it's possible to draw on the desktop, since this does not work on all operating systems.
+.PP
+.nf
+.br
+ QDesktopWidget *d = QApplication::desktop();
+.br
+ int w = d->width(); // returns desktop width
+.br
+ int h = d->height(); // returns desktop height
+.br
+.fi
+.PP
+Examples:
+.)l canvas/main.cpp, desktop/desktop.cpp, helpviewer/main.cpp, i18n/main.cpp, qmag/qmag.cpp, qwerty/main.cpp, and scribble/main.cpp.
+.SH "bool QApplication::desktopSettingsAware ()\fC [static]\fR"
+Returns the value set by setDesktopSettingsAware(); by default TRUE.
+.PP
+See also setDesktopSettingsAware().
+.SH "int QApplication::doubleClickInterval ()\fC [static]\fR"
+Returns the maximum duration for a double click.
+.PP
+The default value on X11 is 400 milliseconds. On Windows, the control panel value is used.
+.PP
+See also setDoubleClickInterval().
+.SH "int QApplication::enter_loop ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function enters the main event loop (recursively). Do not call it unless you really know what you are doing.
+.PP
+Use QApplication::eventLoop()->enterLoop() instead.
+.SH "QEventLoop * QApplication::eventLoop ()\fC [static]\fR"
+Returns the application event loop. This function will return zero if called during and after destroying QApplication.
+.PP
+To create your own instance of QEventLoop or QEventLoop subclass create it before you create the QApplication object.
+.PP
+See also QEventLoop.
+.PP
+Example: distributor/distributor.ui.h.
+.SH "int QApplication::exec ()"
+Enters the main event loop and waits until exit() is called or the main widget is destroyed, and returns the value that was set to exit() (which is 0 if exit() is called via quit()).
+.PP
+It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.
+.PP
+Generally speaking, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets call exec() to start a local event loop.
+.PP
+To make your application perform idle processing, i.e. executing a special function whenever there are no pending events, use a QTimer with 0 timeout. More advanced idle processing schemes can be achieved using processEvents().
+.PP
+See also quit(), exit(), processEvents(), and setMainWidget().
+.PP
+Examples:
+.)l helpsystem/main.cpp, life/main.cpp, network/archivesearch/main.cpp, network/ftpclient/main.cpp, opengl/main.cpp, t1/main.cpp, and t4/main.cpp.
+.SH "void QApplication::exit ( int retcode = 0 )\fC [static]\fR"
+Tells the application to exit with a return code.
+.PP
+After this function has been called, the application leaves the main event loop and returns from the call to exec(). The exec() function returns \fIretcode\fR.
+.PP
+By convention, a \fIretcode\fR of 0 means success, and any non-zero value indicates an error.
+.PP
+Note that unlike the C library function of the same name, this function \fIdoes\fR return to the caller -- it is event processing that stops.
+.PP
+See also quit() and exec().
+.PP
+Examples:
+.)l chart/chartform.cpp, extension/mainform.ui.h, and picture/picture.cpp.
+.SH "void QApplication::exit_loop ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function exits from a recursive call to the main event loop. Do not call it unless you are an expert.
+.PP
+Use QApplication::eventLoop()->exitLoop() instead.
+.SH "void QApplication::flush ()\fC [static]\fR"
+Flushes the window system specific event queues.
+.PP
+If you are doing graphical changes inside a loop that does not return to the event loop on asynchronous window systems like X11 or double buffered window systems like MacOS X, and you want to visualize these changes immediately (e.g. Splash Screens), call this function.
+.PP
+See also flushX(), sendPostedEvents(), and QPainter::flush().
+.SH "void QApplication::flushX ()\fC [static]\fR"
+Flushes the X event queue in the X11 implementation. This normally returns almost immediately. Does nothing on other platforms.
+.PP
+See also syncX().
+.PP
+Example: xform/xform.cpp.
+.SH "QWidget * QApplication::focusWidget () const"
+Returns the application widget that has the keyboard input focus, or 0 if no widget in this application has the focus.
+.PP
+See also QWidget::setFocus(), QWidget::focus, and activeWindow().
+.SH "QFont QApplication::font ( const QWidget * w = 0 )\fC [static]\fR"
+Returns the default font for the widget \fIw\fR, or the default application font if \fIw\fR is 0.
+.PP
+See also setFont(), fontMetrics(), and QWidget::font.
+.PP
+Examples:
+.)l qfd/fontdisplayer.cpp, themes/metal.cpp, and themes/themes.cpp.
+.SH "QFontMetrics QApplication::fontMetrics ()\fC [static]\fR"
+Returns display (screen) font metrics for the application font.
+.PP
+See also font(), setFont(), QWidget::fontMetrics(), and QPainter::fontMetrics().
+.SH "QSize QApplication::globalStrut ()\fC [static]\fR"
+Returns the application's global strut.
+.PP
+The strut is a size object whose dimensions are the minimum that any GUI element that the user can interact with should have. For example no button should be resized to be smaller than the global strut size.
+.PP
+See also setGlobalStrut().
+.SH "void QApplication::guiThreadAwake ()\fC [signal]\fR"
+This signal is emitted after the event loop returns from a function that could block.
+.PP
+See also wakeUpGuiThread().
+.SH "bool QApplication::hasGlobalMouseTracking ()\fC [static]\fR"
+Returns TRUE if global mouse tracking is enabled; otherwise returns FALSE.
+.PP
+See also setGlobalMouseTracking().
+.SH "bool QApplication::hasPendingEvents ()"
+This function returns TRUE if there are pending events; otherwise returns FALSE. Pending events can be either from the window system or posted events using QApplication::postEvent().
+.SH "int QApplication::horizontalAlignment ( int align )\fC [static]\fR"
+Strips out vertical alignment flags and transforms an alignment \fIalign\fR of AlignAuto into AlignLeft or AlignRight according to the language used. The other horizontal alignment flags are left untouched.
+.SH "void QApplication::installTranslator ( QTranslator * mf )"
+Adds the message file \fImf\fR to the list of message files to be used for translations.
+.PP
+Multiple message files can be installed. Translations are searched for in the last installed message file, then the one from last, and so on, back to the first installed message file. The search stops as soon as a matching translation is found.
+.PP
+See also removeTranslator(), translate(), and QTranslator::load().
+.PP
+Example: i18n/main.cpp.
+.SH "bool QApplication::isEffectEnabled ( Qt::UIEffect effect )\fC [static]\fR"
+Returns TRUE if \fIeffect\fR is enabled; otherwise returns FALSE.
+.PP
+By default, Qt will try to use the desktop settings. Call setDesktopSettingsAware(FALSE) to prevent this.
+.PP
+Note: All effects are disabled on screens running at less than 16-bit color depth.
+.PP
+See also setEffectEnabled() and Qt::UIEffect.
+.SH "bool QApplication::isSessionRestored () const"
+Returns TRUE if the application has been restored from an earlier session; otherwise returns FALSE.
+.PP
+See also sessionId(), commitData(), and saveState().
+.SH "void QApplication::lastWindowClosed ()\fC [signal]\fR"
+This signal is emitted when the user has closed the last top level window.
+.PP
+The signal is very useful when your application has many top level widgets but no main widget. You can then connect it to the quit() slot.
+.PP
+For convenience, this signal is \fInot\fR emitted for transient top level widgets such as popup menus and dialogs.
+.PP
+See also mainWidget(), topLevelWidgets(), QWidget::isTopLevel, and QWidget::close().
+.PP
+Examples:
+.)l addressbook/main.cpp, extension/main.cpp, helpviewer/main.cpp, mdi/main.cpp, network/archivesearch/main.cpp, qwerty/main.cpp, and regexptester/main.cpp.
+.SH "QStringList QApplication::libraryPaths ()\fC [static]\fR"
+Returns a list of paths that the application will search when dynamically loading libraries. The installation directory for plugins is the only entry if no paths have been set. The default installation directory for plugins is \fCINSTALL/plugins\fR, where \fCINSTALL\fR is the directory where Qt was installed. The directory of the application executable (NOT the working directory) is also added to the plugin paths.
+.PP
+If you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = app.libraryPaths();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See the plugins documentation for a description of how the library paths are used.
+.PP
+See also setLibraryPaths(), addLibraryPath(), removeLibraryPath(), and QLibrary.
+.SH "void QApplication::lock ()"
+Lock the Qt Library Mutex. If another thread has already locked the mutex, the calling thread will block until the other thread has unlocked the mutex.
+.PP
+See also unlock(), locked(), and Thread Support in Qt.
+.SH "bool QApplication::locked ()"
+Returns TRUE if the Qt Library Mutex is locked by a different thread; otherwise returns FALSE.
+.PP
+\fBWarning:\fR Due to different implementations of recursive mutexes on the supported platforms, calling this function from the same thread that previously locked the mutex will give undefined results.
+.PP
+See also lock(), unlock(), and Thread Support in Qt.
+.SH "int QApplication::loopLevel () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the current loop level.
+.PP
+Use QApplication::eventLoop()->loopLevel() instead.
+.SH "bool QApplication::macEventFilter ( EventHandlerCallRef, EventRef )\fC [virtual]\fR"
+This virtual function is only implemented under Macintosh.
+.PP
+If you create an application that inherits QApplication and reimplement this function, you get direct access to all Carbon Events that are received from the MacOS.
+.PP
+Return TRUE if you want to stop the event from being processed. Return FALSE for normal event dispatching.
+.SH "QWidget * QApplication::mainWidget () const"
+Returns the main application widget, or 0 if there is no main widget.
+.PP
+See also setMainWidget().
+.SH "bool QApplication::notify ( QObject * receiver, QEvent * e )\fC [virtual]\fR"
+Sends event \fIe\fR to \fIreceiver\fR: \fIreceiver\fR->event(\fIe\fR). Returns the value that is returned from the receiver's event handler.
+.PP
+For certain types of events (e.g. mouse and key events), the event will be propagated to the receiver's parent and so on up to the top-level object if the receiver is not interested in the event (i.e., it returns FALSE).
+.PP
+There are five different ways that events can be processed; reimplementing this virtual function is just one of them. All five approaches are listed below: <ol type=1>
+.TP
+Reimplementing this function. This is very powerful, providing complete control; but only one subclass can be qApp.
+.IP
+.TP
+Installing an event filter on qApp. Such an event filter is able to process all events for all widgets, so it's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets, and if global mouse tracking is enabled, as well as mouse move events for all widgets.
+.IP
+.TP
+Reimplementing QObject::event() (as QWidget does). If you do this you get Tab key presses, and you get to see the events before any widget-specific event filters.
+.IP
+.TP
+Installing an event filter on the object. Such an event filter gets all the events except Tab and Shift-Tab key presses.
+.IP
+.TP
+Reimplementing paintEvent(), mousePressEvent() and so on. This is the commonest, easiest and least powerful way.
+.PP
+See also QObject::event() and installEventFilter().
+.SH "QCursor * QApplication::overrideCursor ()\fC [static]\fR"
+Returns the active application override cursor.
+.PP
+This function returns 0 if no application cursor has been defined (i.e. the internal cursor stack is empty).
+.PP
+See also setOverrideCursor() and restoreOverrideCursor().
+.SH "QPalette QApplication::palette ( const QWidget * w = 0 )\fC [static]\fR"
+Returns the application palette.
+.PP
+If a widget is passed in \fIw\fR, the default palette for the widget's class is returned. This may or may not be the application palette. In most cases there isn't a special palette for certain types of widgets, but one notable exception is the popup menu under Windows, if the user has defined a special background color for menus in the display settings.
+.PP
+See also setPalette() and QWidget::palette.
+.PP
+Examples:
+.)l desktop/desktop.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "void QApplication::polish ( QWidget * w )\fC [virtual]\fR"
+Initialization of the appearance of the widget \fIw\fR \fIbefore\fR it is first shown.
+.PP
+Usually widgets call this automatically when they are polished. It may be used to do some style-based central customization of widgets.
+.PP
+Note that you are not limited to the public functions of QWidget. Instead, based on meta information like QObject::className() you are able to customize any kind of widget.
+.PP
+See also QStyle::polish(), QWidget::polish(), setPalette(), and setFont().
+.SH "void QApplication::postEvent ( QObject * receiver, QEvent * event )\fC [static]\fR"
+\fBNote:\fR This function is thread-safe when Qt is built withthread support.</p> Adds the event \fIevent\fR with the object \fIreceiver\fR as the receiver of the event, to an event queue and returns immediately.
+.PP
+The event must be allocated on the heap since the post event queue will take ownership of the event and delete it once it has been posted.
+.PP
+When control returns to the main event loop, all events that are stored in the queue will be sent using the notify() function.
+.PP
+See also sendEvent() and notify().
+.SH "void QApplication::processEvents ()"
+Processes pending events, for 3 seconds or until there are no more events to process, whichever is shorter.
+.PP
+You can call this function occasionally when your program is busy performing a long operation (e.g. copying a file).
+.PP
+See also exec(), QTimer, and QEventLoop::processEvents().
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and network/ftpclient/main.cpp.
+.SH "void QApplication::processEvents ( int maxtime )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Processes pending events for \fImaxtime\fR milliseconds or until there are no more events to process, whichever is shorter.
+.PP
+You can call this function occasionally when you program is busy doing a long operation (e.g. copying a file).
+.PP
+See also exec(), QTimer, and QEventLoop::processEvents().
+.SH "void QApplication::processOneEvent ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Waits for an event to occur, processes it, then returns.
+.PP
+This function is useful for adapting Qt to situations where the event processing must be grafted onto existing program loops.
+.PP
+Using this function in new applications may be an indication of design problems.
+.PP
+See also processEvents(), exec(), and QTimer.
+.SH "void QApplication::quit ()\fC [slot]\fR"
+Tells the application to exit with return code 0 (success). Equivalent to calling QApplication::exit( 0 ).
+.PP
+It's common to connect the lastWindowClosed() signal to quit(), and you also often connect e.g. QButton::clicked() or signals in QAction, QPopupMenu or QMenuBar to it.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPushButton *quitButton = new QPushButton( "Quit" );
+.br
+ connect( quitButton, SIGNAL(clicked()), qApp, SLOT(quit()) );
+.br
+.fi
+.PP
+See also exit(), aboutToQuit(), lastWindowClosed(), and QAction.
+.PP
+Examples:
+.)l addressbook/main.cpp, mdi/main.cpp, network/archivesearch/main.cpp, regexptester/main.cpp, t2/main.cpp, t4/main.cpp, and t6/main.cpp.
+.SH "QWSDecoration & QApplication::qwsDecoration ()\fC [static]\fR"
+Return the QWSDecoration used for decorating windows.
+.PP
+This method is non-portable. It is available \fIonly\fR in Qt/Embedded.
+.PP
+See also QWSDecoration.
+.SH "bool QApplication::qwsEventFilter ( QWSEvent * )\fC [virtual]\fR"
+This virtual function is only implemented under Qt/Embedded.
+.PP
+If you create an application that inherits QApplication and reimplement this function, you get direct access to all QWS (Q Window System) events that the are received from the QWS master process.
+.PP
+Return TRUE if you want to stop the event from being processed. Return FALSE for normal event dispatching.
+.SH "void QApplication::qwsSetCustomColors ( QRgb * colorTable, int start, int numColors )"
+Set Qt/Embedded custom color table.
+.PP
+Qt/Embedded on 8-bpp displays allocates a standard 216 color cube. The remaining 40 colors may be used by setting a custom color table in the QWS master process before any clients connect.
+.PP
+\fIcolorTable\fR is an array of up to 40 custom colors. \fIstart\fR is the starting index (0-39) and \fInumColors\fR is the number of colors to be set (1-40).
+.PP
+This method is non-portable. It is available \fIonly\fR in Qt/Embedded.
+.SH "void QApplication::qwsSetDecoration ( QWSDecoration * d )\fC [static]\fR"
+Set the QWSDecoration derived class to use for decorating the Qt/Embedded windows to \fId\fR.
+.PP
+This method is non-portable. It is available \fIonly\fR in Qt/Embedded.
+.PP
+See also QWSDecoration.
+.SH "void QApplication::removeLibraryPath ( const QString & path )\fC [static]\fR"
+Removes \fIpath\fR from the library path list. If \fIpath\fR is empty or not in the path list, the list is not changed.
+.PP
+See also addLibraryPath(), libraryPaths(), and setLibraryPaths().
+.SH "void QApplication::removePostedEvents ( QObject * receiver )\fC [static]\fR"
+\fBNote:\fR This function is thread-safe when Qt is built withthread support.</p> Removes all events posted using postEvent() for \fIreceiver\fR.
+.PP
+The events are \fInot\fR dispatched, instead they are removed from the queue. You should never need to call this function. If you do call it, be aware that killing events may cause \fIreceiver\fR to break one or more invariants.
+.SH "void QApplication::removeTranslator ( QTranslator * mf )"
+Removes the message file \fImf\fR from the list of message files used by this application. (It does not delete the message file from the file system.)
+.PP
+See also installTranslator(), translate(), and QObject::tr().
+.PP
+Example: i18n/main.cpp.
+.SH "void QApplication::restoreOverrideCursor ()\fC [static]\fR"
+Undoes the last setOverrideCursor().
+.PP
+If setOverrideCursor() has been called twice, calling restoreOverrideCursor() will activate the first cursor set. Calling this function a second time restores the original widgets' cursors.
+.PP
+See also setOverrideCursor() and overrideCursor().
+.PP
+Examples:
+.)l distributor/distributor.ui.h, network/archivesearch/archivedialog.ui.h, network/ftpclient/ftpmainwindow.ui.h, and showimg/showimg.cpp.
+.SH "bool QApplication::reverseLayout ()\fC [static]\fR"
+Returns TRUE if all dialogs and widgets will be laid out in a mirrored (right to left) fashion. Returns FALSE if dialogs and widgets will be laid out left to right.
+.PP
+See also setReverseLayout().
+.SH "void QApplication::saveState ( QSessionManager & sm )\fC [virtual]\fR"
+This function deals with session management. It is invoked when the session manager wants the application to preserve its state for a future session.
+.PP
+For example, a text editor would create a temporary file that includes the current contents of its edit buffers, the location of the cursor and other aspects of the current editing session.
+.PP
+Note that you should never exit the application within this function. Instead, the session manager may or may not do this afterwards, depending on the context. Futhermore, most session managers will very likely request a saved state immediately after the application has been started. This permits the session manager to learn about the application's restart policy.
+.PP
+\fBWarning:\fR Within this function, no user interaction is possible, \fIunless\fR you ask the session manager \fIsm\fR for explicit permission. See QSessionManager::allowsInteraction() and QSessionManager::allowsErrorInteraction() for details.
+.PP
+See also isSessionRestored(), sessionId(), commitData(), and the Session Management overview.
+.SH "bool QApplication::sendEvent ( QObject * receiver, QEvent * event )\fC [static]\fR"
+Sends event \fIevent\fR directly to receiver \fIreceiver\fR, using the notify() function. Returns the value that was returned from the event handler.
+.PP
+The event is \fInot\fR deleted when the event has been sent. The normal approach is to create the event on the stack, e.g.
+.PP
+.nf
+.br
+ QMouseEvent me( QEvent::MouseButtonPress, pos, 0, 0 );
+.br
+ QApplication::sendEvent( mainWindow, &me );
+.br
+.fi
+If you create the event on the heap you must delete it.
+.PP
+See also postEvent() and notify().
+.PP
+Example: popup/popup.cpp.
+.SH "void QApplication::sendPostedEvents ( QObject * receiver, int event_type )\fC [static]\fR"
+Immediately dispatches all events which have been previously queued with QApplication::postEvent() and which are for the object \fIreceiver\fR and have the event type \fIevent_type\fR.
+.PP
+Note that events from the window system are \fInot\fR dispatched by this function, but by processEvents().
+.PP
+If \fIreceiver\fR is null, the events of \fIevent_type\fR are sent for all objects. If \fIevent_type\fR is 0, all the events are sent for \fIreceiver\fR.
+.SH "void QApplication::sendPostedEvents ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Dispatches all posted events, i.e. empties the event queue.
+.SH "QString QApplication::sessionId () const"
+Returns the current session's identifier.
+.PP
+If the application has been restored from an earlier session, this identifier is the same as it was in that previous session.
+.PP
+The session identifier is guaranteed to be unique both for different applications and for different instances of the same application.
+.PP
+See also isSessionRestored(), sessionKey(), commitData(), and saveState().
+.SH "QString QApplication::sessionKey () const"
+Returns the session key in the current session.
+.PP
+If the application has been restored from an earlier session, this key is the same as it was when the previous session ended.
+.PP
+The session key changes with every call of commitData() or saveState().
+.PP
+See also isSessionRestored(), sessionId(), commitData(), and saveState().
+.SH "void QApplication::setColorSpec ( int spec )\fC [static]\fR"
+Sets the color specification for the application to \fIspec\fR.
+.PP
+The color specification controls how the application allocates colors when run on a display with a limited amount of colors, e.g. 8 bit / 256 color displays.
+.PP
+The color specification must be set before you create the QApplication object.
+.PP
+The options are:
+.TP
+QApplication::NormalColor. This is the default color allocation strategy. Use this option if your application uses buttons, menus, texts and pixmaps with few colors. With this option, the application uses system global colors. This works fine for most applications under X11, but on Windows machines it may cause dithering of non-standard colors.
+.TP
+QApplication::CustomColor. Use this option if your application needs a small number of custom colors. On X11, this option is the same as NormalColor. On Windows, Qt creates a Windows palette, and allocates colors to it on demand.
+.TP
+QApplication::ManyColor. Use this option if your application is very color hungry (e.g. it requires thousands of colors). Under X11 the effect is:
+.TP
+For 256-color displays which have at best a 256 color true color visual, the default visual is used, and colors are allocated from a color cube. The color cube is the 6x6x6 (216 color) "Web palette"<sup>*</sup>, but the number of colors can be changed by the \fI-ncols\fR option. The user can force the application to use the true color visual with the -visual option.
+.TP
+For 256-color displays which have a true color visual with more than 256 colors, use that visual. Silicon Graphics X servers have this feature, for example. They provide an 8 bit visual by default but can deliver true color when asked. On Windows, Qt creates a Windows palette, and fills it with a color cube.
+.PP
+Be aware that the CustomColor and ManyColor choices may lead to colormap flashing: The foreground application gets (most) of the available colors, while the background windows will look less attractive.
+.PP
+Example:
+.PP
+.nf
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QApplication::setColorSpec( QApplication::ManyColor );
+.br
+ QApplication a( argc, argv );
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+QColor provides more functionality for controlling color allocation and freeing up certain colors. See QColor::enterAllocContext() for more information.
+.PP
+To check what mode you end up with, call QColor::numBitPlanes() once the QApplication object exists. A value greater than 8 (typically 16, 24 or 32) means true color.
+.PP
+<sup>*</sup> The color cube used by Qt has 216 colors whose red, green, and blue components always have one of the following values: 0x00, 0x33, 0x66, 0x99, 0xCC, or 0xFF.
+.PP
+See also colorSpec(), QColor::numBitPlanes(), and QColor::enterAllocContext().
+.PP
+Examples:
+.)l helpviewer/main.cpp, opengl/main.cpp, showimg/main.cpp, t9/main.cpp, tetrax/tetrax.cpp, tetrix/tetrix.cpp, and themes/main.cpp.
+.SH "void QApplication::setCursorFlashTime ( int msecs )\fC [static]\fR"
+Sets the text cursor's flash (blink) time to \fImsecs\fR milliseconds. The flash time is the time required to display, invert and restore the caret display. Usually the text cursor is displayed for \fImsecs/2\fR milliseconds, then hidden for \fImsecs/2\fR milliseconds, but this may vary.
+.PP
+Note that on Microsoft Windows, calling this function sets the cursor flash time for all windows.
+.PP
+See also cursorFlashTime().
+.SH "void QApplication::setDefaultCodec ( QTextCodec * codec )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is the same as QTextCodec::setCodecForTr().
+.SH "void QApplication::setDesktopSettingsAware ( bool on )\fC [static]\fR"
+By default, Qt will try to use the current standard colors, fonts etc., from the underlying window system's desktop settings, and use them for all relevant widgets. This behavior can be switched off by calling this function with \fIon\fR set to FALSE.
+.PP
+This static function must be called before creating the QApplication object, like this:
+.PP
+.nf
+.br
+ int main( int argc, char** argv ) {
+.br
+ QApplication::setDesktopSettingsAware( FALSE ); // I know better than the user
+.br
+ QApplication myApp( argc, argv ); // Use default fonts & colors
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+See also desktopSettingsAware().
+.SH "void QApplication::setDoubleClickInterval ( int ms )\fC [static]\fR"
+Sets the time limit that distinguishes a double click from two consecutive mouse clicks to \fIms\fR milliseconds.
+.PP
+Note that on Microsoft Windows, calling this function sets the double click interval for all windows.
+.PP
+See also doubleClickInterval().
+.SH "void QApplication::setEffectEnabled ( Qt::UIEffect effect, bool enable = TRUE )\fC [static]\fR"
+Enables the UI effect \fIeffect\fR if \fIenable\fR is TRUE, otherwise the effect will not be used.
+.PP
+Note: All effects are disabled on screens running at less than 16-bit color depth.
+.PP
+See also isEffectEnabled(), Qt::UIEffect, and setDesktopSettingsAware().
+.SH "void QApplication::setFont ( const QFont & font, bool informWidgets = FALSE, const char * className = 0 )\fC [static]\fR"
+Changes the default application font to \fIfont\fR. If \fIinformWidgets\fR is TRUE, then existing widgets are informed about the change and may adjust themselves to the new application setting. If \fIinformWidgets\fR is FALSE, the change only affects newly created widgets. If \fIclassName\fR is passed, the change applies only to classes that inherit \fIclassName\fR (as reported by QObject::inherits()).
+.PP
+On application start-up, the default font depends on the window system. It can vary depending on both the window system version and the locale. This function lets you override the default font; but overriding may be a bad idea because, for example, some locales need extra-large fonts to support their special characters.
+.PP
+See also font(), fontMetrics(), and QWidget::font.
+.PP
+Examples:
+.)l desktop/desktop.cpp, themes/metal.cpp, and themes/themes.cpp.
+.SH "void QApplication::setGlobalMouseTracking ( bool enable )\fC [static]\fR"
+Enables global mouse tracking if \fIenable\fR is TRUE, or disables it if \fIenable\fR is FALSE.
+.PP
+Enabling global mouse tracking makes it possible for widget event filters or application event filters to get all mouse move events, even when no button is depressed. This is useful for special GUI elements, e.g. tooltips.
+.PP
+Global mouse tracking does not affect widgets and their mouseMoveEvent(). For a widget to get mouse move events when no button is depressed, it must do QWidget::setMouseTracking(TRUE).
+.PP
+This function uses an internal counter. Each setGlobalMouseTracking(TRUE) must have a corresponding setGlobalMouseTracking(FALSE):
+.PP
+.nf
+.br
+ // at this point global mouse tracking is off
+.br
+ QApplication::setGlobalMouseTracking( TRUE );
+.br
+ QApplication::setGlobalMouseTracking( TRUE );
+.br
+ QApplication::setGlobalMouseTracking( FALSE );
+.br
+ // at this point it's still on
+.br
+ QApplication::setGlobalMouseTracking( FALSE );
+.br
+ // but now it's off
+.br
+.fi
+.PP
+See also hasGlobalMouseTracking() and QWidget::mouseTracking.
+.SH "void QApplication::setGlobalStrut ( const QSize & strut )\fC [static]\fR"
+Sets the application's global strut to \fIstrut\fR.
+.PP
+The strut is a size object whose dimensions are the minimum that any GUI element that the user can interact with should have. For example no button should be resized to be smaller than the global strut size.
+.PP
+The strut size should be considered when reimplementing GUI controls that may be used on touch-screens or similar IO-devices.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize& WidgetClass::sizeHint() const
+.br
+ {
+.br
+ return QSize( 80, 25 ).expandedTo( QApplication::globalStrut() );
+.br
+ }
+.br
+.fi
+.PP
+See also globalStrut().
+.SH "void QApplication::setLibraryPaths ( const QStringList & paths )\fC [static]\fR"
+Sets the list of directories to search when loading libraries to \fIpaths\fR. All existing paths will be deleted and the path list will consist of the paths given in \fIpaths\fR.
+.PP
+See also libraryPaths(), addLibraryPath(), removeLibraryPath(), and QLibrary.
+.SH "void QApplication::setMainWidget ( QWidget * mainWidget )\fC [virtual]\fR"
+Sets the application's main widget to \fImainWidget\fR.
+.PP
+In most respects the main widget is like any other widget, except that if it is closed, the application exits. Note that QApplication does \fInot\fR take ownership of the \fImainWidget\fR, so if you create your main widget on the heap you must delete it yourself.
+.PP
+You need not have a main widget; connecting lastWindowClosed() to quit() is an alternative.
+.PP
+For X11, this function also resizes and moves the main widget according to the \fI-geometry\fR command-line option, so you should set the default geometry (using QWidget::setGeometry()) before calling setMainWidget().
+.PP
+See also mainWidget(), exec(), and quit().
+.PP
+Examples:
+.)l chart/main.cpp, helpsystem/main.cpp, life/main.cpp, network/ftpclient/main.cpp, opengl/main.cpp, t1/main.cpp, and t4/main.cpp.
+.SH "void QApplication::setOverrideCursor ( const QCursor & cursor, bool replace = FALSE )\fC [static]\fR"
+Sets the application override cursor to \fIcursor\fR.
+.PP
+Application override cursors are intended for showing the user that the application is in a special state, for example during an operation that might take some time.
+.PP
+This cursor will be displayed in all the application's widgets until restoreOverrideCursor() or another setOverrideCursor() is called.
+.PP
+Application cursors are stored on an internal stack. setOverrideCursor() pushes the cursor onto the stack, and restoreOverrideCursor() pops the active cursor off the stack. Every setOverrideCursor() must eventually be followed by a corresponding restoreOverrideCursor(), otherwise the stack will never be emptied.
+.PP
+If \fIreplace\fR is TRUE, the new cursor will replace the last override cursor (the stack keeps its depth). If \fIreplace\fR is FALSE, the new stack is pushed onto the top of the stack.
+.PP
+Example:
+.PP
+.nf
+.br
+ QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) );
+.br
+ calculateHugeMandelbrot(); // lunch time...
+.br
+ QApplication::restoreOverrideCursor();
+.br
+.fi
+.PP
+See also overrideCursor(), restoreOverrideCursor(), and QWidget::cursor.
+.PP
+Examples:
+.)l distributor/distributor.ui.h, network/archivesearch/archivedialog.ui.h, network/ftpclient/ftpmainwindow.ui.h, and showimg/showimg.cpp.
+.SH "void QApplication::setPalette ( const QPalette & palette, bool informWidgets = FALSE, const char * className = 0 )\fC [static]\fR"
+Changes the default application palette to \fIpalette\fR. If \fIinformWidgets\fR is TRUE, then existing widgets are informed about the change and may adjust themselves to the new application setting. If \fIinformWidgets\fR is FALSE, the change only affects newly created widgets.
+.PP
+If \fIclassName\fR is passed, the change applies only to widgets that inherit \fIclassName\fR (as reported by QObject::inherits()). If \fIclassName\fR is left 0, the change affects all widgets, thus overriding any previously set class specific palettes.
+.PP
+The palette may be changed according to the current GUI style in QStyle::polish().
+.PP
+See also QWidget::palette, palette(), and QStyle::polish().
+.PP
+Examples:
+.)l i18n/main.cpp, themes/metal.cpp, themes/themes.cpp, and themes/wood.cpp.
+.SH "void QApplication::setReverseLayout ( bool b )\fC [static]\fR"
+If \fIb\fR is TRUE, all dialogs and widgets will be laid out in a mirrored fashion, as required by right to left languages such as Arabic and Hebrew. If \fIb\fR is FALSE, dialogs and widgets are laid out left to right.
+.PP
+Changing this flag in runtime does not cause a relayout of already instantiated widgets.
+.PP
+See also reverseLayout().
+.SH "void QApplication::setStartDragDistance ( int l )\fC [static]\fR"
+Sets the distance after which a drag should start to \fIl\fR pixels.
+.PP
+See also startDragDistance().
+.SH "void QApplication::setStartDragTime ( int ms )\fC [static]\fR"
+Sets the time after which a drag should start to \fIms\fR ms.
+.PP
+See also startDragTime().
+.SH "void QApplication::setStyle ( QStyle * style )\fC [static]\fR"
+Sets the application's GUI style to \fIstyle\fR. Ownership of the style object is transferred to QApplication, so QApplication will delete the style object on application exit or when a new style is set.
+.PP
+Example usage:
+.PP
+.nf
+.br
+ QApplication::setStyle( new QWindowsStyle );
+.br
+.fi
+.PP
+When switching application styles, the color palette is set back to the initial colors or the system defaults. This is necessary since certain styles have to adapt the color palette to be fully style-guide compliant.
+.PP
+See also style(), QStyle, setPalette(), and desktopSettingsAware().
+.PP
+Example: themes/themes.cpp.
+.SH "QStyle * QApplication::setStyle ( const QString & style )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Requests a QStyle object for \fIstyle\fR from the QStyleFactory.
+.PP
+The string must be one of the QStyleFactory::keys(), typically one of "windows", "motif", "cde", "motifplus", "platinum", "sgi" and" compact". Depending on the platform, "windowsxp", "aqua" or" macintosh" may be available.
+.PP
+A later call to the QApplication constructor will override the requested style when a "-style" option is passed in as a commandline parameter.
+.PP
+Returns 0 if an unknown \fIstyle\fR is passed, otherwise the QStyle object returned is set as the application's GUI style.
+.SH "void QApplication::setWheelScrollLines ( int n )\fC [static]\fR"
+Sets the number of lines to scroll when the mouse wheel is rotated to \fIn\fR.
+.PP
+If this number exceeds the number of visible lines in a certain widget, the widget should interpret the scroll operation as a single page up / page down operation instead.
+.PP
+See also wheelScrollLines().
+.SH "void QApplication::setWinStyleHighlightColor ( const QColor & c )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the color used to mark selections in windows style for all widgets in the application. Will repaint all widgets if the color is changed.
+.PP
+The default color is \fCdarkBlue\fR.
+.PP
+See also winStyleHighlightColor().
+.SH "int QApplication::startDragDistance ()\fC [static]\fR"
+If you support drag and drop in you application and a drag should start after a mouse click and after moving the mouse a certain distance, you should use the value which this method returns as the distance.
+.PP
+For example, if the mouse position of the click is stored in \fCstartPos\fR and the current position (e.g. in the mouse move event) is \fCcurrPos\fR, you can find out if a drag should be started with code like this:
+.PP
+.nf
+.br
+ if ( ( startPos - currPos ).manhattanLength() >
+.br
+ QApplication::startDragDistance() )
+.br
+ startTheDrag();
+.br
+.fi
+.PP
+Qt uses this value internally, e.g. in QFileDialog.
+.PP
+The default value is 4 pixels.
+.PP
+See also setStartDragDistance(), startDragTime(), and QPoint::manhattanLength().
+.SH "int QApplication::startDragTime ()\fC [static]\fR"
+If you support drag and drop in you application and a drag should start after a mouse click and after a certain time elapsed, you should use the value which this method returns as the delay (in ms).
+.PP
+Qt also uses this delay internally, e.g. in QTextEdit and QLineEdit, for starting a drag.
+.PP
+The default value is 500 ms.
+.PP
+See also setStartDragTime() and startDragDistance().
+.SH "bool QApplication::startingUp ()\fC [static]\fR"
+Returns TRUE if an application object has not been created yet; otherwise returns FALSE.
+.PP
+See also closingDown().
+.SH "QStyle & QApplication::style ()\fC [static]\fR"
+Returns the application's style object.
+.PP
+See also setStyle() and QStyle.
+.SH "void QApplication::syncX ()\fC [static]\fR"
+Synchronizes with the X server in the X11 implementation. This normally takes some time. Does nothing on other platforms.
+.PP
+See also flushX().
+.SH "QWidgetList * QApplication::topLevelWidgets ()\fC [static]\fR"
+Returns a list of the top level widgets in the application.
+.PP
+The list is created using \fCnew\fR and must be deleted by the caller.
+.PP
+The list is empty (QPtrList::isEmpty()) if there are no top level widgets.
+.PP
+Note that some of the top level widgets may be hidden, for example the tooltip if no tooltip is currently shown.
+.PP
+Example:
+.PP
+.nf
+.br
+ // Show all hidden top level widgets.
+.br
+ QWidgetList *list = QApplication::topLevelWidgets();
+.br
+ QWidgetListIt it( *list ); // iterate over the widgets
+.br
+ QWidget * w;
+.br
+ while ( (w=it.current()) != 0 ) { // for each top level widget...
+.br
+ ++it;
+.br
+ if ( !w->isVisible() )
+.br
+ w->show();
+.br
+ }
+.br
+ delete list; // delete the list, not the widgets
+.br
+.fi
+.PP
+\fBWarning:\fR Delete the list as soon you have finished using it. The widgets in the list may be deleted by someone else at any time.
+.PP
+See also allWidgets(), QWidget::isTopLevel, QWidget::visible, and QPtrList::isEmpty().
+.SH "QString QApplication::translate ( const char * context, const char * sourceText, const char * comment = 0, Encoding encoding = DefaultCodec ) const"
+\fBNote:\fR This function is reentrant when Qt is built with thread support.</p> Returns the translation text for \fIsourceText\fR, by querying the installed messages files. The message files are searched from the most recently installed message file back to the first installed message file.
+.PP
+QObject::tr() and QObject::trUtf8() provide this functionality more conveniently.
+.PP
+\fIcontext\fR is typically a class name (e.g., "MyDialog") and \fIsourceText\fR is either English text or a short identifying text, if the output text will be very long (as for help texts).
+.PP
+\fIcomment\fR is a disambiguating comment, for when the same \fIsourceText\fR is used in different roles within the same context. By default, it is null. \fIencoding\fR indicates the 8-bit encoding of character stings
+.PP
+See the QTranslator documentation for more information about contexts and comments.
+.PP
+If none of the message files contain a translation for \fIsourceText\fR in \fIcontext\fR, this function returns a QString equivalent of \fIsourceText\fR. The encoding of \fIsourceText\fR is specified by \fIencoding\fR; it defaults to DefaultCodec.
+.PP
+This function is not virtual. You can use alternative translation techniques by subclassing QTranslator.
+.PP
+\fBWarning:\fR This method is reentrant only if all translators are installed \fIbefore\fR calling this method. Installing or removing translators while performing translations is not supported. Doing so will most likely result in crashes or other undesirable behavior.
+.PP
+See also QObject::tr(), installTranslator(), and defaultCodec().
+.SH "bool QApplication::tryLock ()"
+Attempts to lock the Qt Library Mutex, and returns immediately. If the lock was obtained, this function returns TRUE. If another thread has locked the mutex, this function returns FALSE, instead of waiting for the lock to become available.
+.PP
+The mutex must be unlocked with unlock() before another thread can successfully lock it.
+.PP
+See also lock(), unlock(), and Thread Support in Qt.
+.SH "Type QApplication::type () const"
+Returns the type of application, Tty, GuiClient or GuiServer.
+.SH "void QApplication::unlock ( bool wakeUpGui = TRUE )"
+Unlock the Qt Library Mutex. If \fIwakeUpGui\fR is TRUE (the default), then the GUI thread will be woken with QApplication::wakeUpGuiThread().
+.PP
+See also lock(), locked(), and Thread Support in Qt.
+.SH "void QApplication::wakeUpGuiThread ()"
+Wakes up the GUI thread.
+.PP
+See also guiThreadAwake() and Thread Support in Qt.
+.SH "int QApplication::wheelScrollLines ()\fC [static]\fR"
+Returns the number of lines to scroll when the mouse wheel is rotated.
+.PP
+See also setWheelScrollLines().
+.SH "QWidget * QApplication::widgetAt ( int x, int y, bool child = FALSE )\fC [static]\fR"
+Returns a pointer to the widget at global screen position \fI(x, y)\fR, or 0 if there is no Qt widget there.
+.PP
+If \fIchild\fR is FALSE and there is a child widget at position \fI(x, y)\fR, the top-level widget containing it is returned. If \fIchild\fR is TRUE the child widget at position \fI(x, y)\fR is returned.
+.PP
+This function is normally rather slow.
+.PP
+See also QCursor::pos(), QWidget::grabMouse(), and QWidget::grabKeyboard().
+.SH "QWidget * QApplication::widgetAt ( const QPoint & pos, bool child = FALSE )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a pointer to the widget at global screen position \fIpos\fR, or 0 if there is no Qt widget there.
+.PP
+If \fIchild\fR is FALSE and there is a child widget at position \fIpos\fR, the top-level widget containing it is returned. If \fIchild\fR is TRUE the child widget at position \fIpos\fR is returned.
+.SH "bool QApplication::winEventFilter ( MSG * )\fC [virtual]\fR"
+This virtual function is only implemented under Windows.
+.PP
+The message procedure calls this function for every message received. Reimplement this function if you want to process window messages that are not processed by Qt. If you don't want the event to be processed by Qt, then return TRUE; otherwise return FALSE.
+.SH "void QApplication::winFocus ( QWidget * widget, bool gotFocus )"
+This function is available only on Windows.
+.PP
+If \fIgotFocus\fR is TRUE, \fIwidget\fR will become the active window. Otherwise the active window is reset to NULL.
+.SH "const QColor & QApplication::winStyleHighlightColor ()\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the color used to mark selections in windows style.
+.PP
+See also setWinStyleHighlightColor().
+.SH "bool QApplication::x11EventFilter ( XEvent * )\fC [virtual]\fR"
+This virtual function is only implemented under X11.
+.PP
+If you create an application that inherits QApplication and reimplement this function, you get direct access to all X events that the are received from the X server.
+.PP
+Return TRUE if you want to stop the event from being processed. Return FALSE for normal event dispatching.
+.PP
+See also x11ProcessEvent().
+.SH "int QApplication::x11ProcessEvent ( XEvent * event )"
+This function does the core processing of individual X \fIevent\fRs, normally by dispatching Qt events to the right destination.
+.PP
+It returns 1 if the event was consumed by special handling, 0 if the \fIevent\fR was consumed by normal handling, and -1 if the \fIevent\fR was for an unrecognized widget.
+.PP
+See also x11EventFilter().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void Q_ASSERT ( bool test )"
+Prints a warning message containing the source code file name and line number if \fItest\fR is FALSE.
+.PP
+This is really a macro defined in qglobal.h.
+.PP
+Q_ASSERT is useful for testing pre- and post-conditions.
+.PP
+Example:
+.PP
+.nf
+.br
+ //
+.br
+ // File: div.cpp
+.br
+ //
+.br
+.br
+ #include <qglobal.h>
+.br
+.br
+ int divide( int a, int b )
+.br
+ {
+.br
+ Q_ASSERT( b != 0 ); // this is line 9
+.br
+ return a/b;
+.br
+ }
+.br
+.fi
+.PP
+If \fCb\fR is zero, the Q_ASSERT statement will output the following message using the qWarning() function:
+.PP
+.nf
+.br
+ ASSERT: "b != 0" in div.cpp (9)
+.br
+.fi
+.PP
+See also qWarning() and Debugging.
+.SH "void Q_CHECK_PTR ( void * p )"
+If \fIp\fR is 0, prints a warning message containing the source code file name and line number, saying that the program ran out of memory.
+.PP
+This is really a macro defined in qglobal.h.
+.PP
+Example:
+.PP
+.nf
+.br
+ int *a;
+.br
+.br
+ Q_CHECK_PTR( a = new int[80] ); // WRONG!
+.br
+.br
+ a = new (nothrow) int[80]; // Right
+.br
+ Q_CHECK_PTR( a );
+.br
+.fi
+.PP
+See also qWarning() and Debugging.
+.SH "void qAddPostRoutine ( QtCleanUpFunction p )"
+Adds a global routine that will be called from the QApplication destructor. This function is normally used to add cleanup routines for program-wide functionality.
+.PP
+The function given by \fIp\fR should take no arguments and return nothing, like this:
+.PP
+.nf
+.br
+ static int *global_ptr = 0;
+.br
+.br
+ static void cleanup_ptr()
+.br
+ {
+.br
+ delete [] global_ptr;
+.br
+ global_ptr = 0;
+.br
+ }
+.br
+.br
+ void init_ptr()
+.br
+ {
+.br
+ global_ptr = new int[100]; // allocate data
+.br
+ qAddPostRoutine( cleanup_ptr ); // delete later
+.br
+ }
+.br
+.fi
+.PP
+Note that for an application- or module-wide cleanup, qAddPostRoutine() is often not suitable. People have a tendency to make such modules dynamically loaded, and then unload those modules long before the QApplication destructor is called, for example.
+.PP
+For modules and libraries, using a reference-counted initialization manager or Qt' parent-child delete mechanism may be better. Here is an example of a private class which uses the parent-child mechanism to call a cleanup function at the right time:
+.PP
+.nf
+.br
+ class MyPrivateInitStuff: public QObject {
+.br
+ private:
+.br
+ MyPrivateInitStuff( QObject * parent ): QObject( parent) {
+.br
+ // initialization goes here
+.br
+ }
+.br
+ MyPrivateInitStuff * p;
+.br
+.br
+ public:
+.br
+ static MyPrivateInitStuff * initStuff( QObject * parent ) {
+.br
+ if ( !p )
+.br
+ p = new MyPrivateInitStuff( parent );
+.br
+ return p;
+.br
+ }
+.br
+.br
+ ~MyPrivateInitStuff() {
+.br
+ // cleanup (the "post routine") goes here
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+By selecting the right parent widget/object, this can often be made to clean up the module's data at the exact right moment.
+.SH "void qDebug ( const char * msg, ... )"
+Prints a debug message \fImsg\fR, or calls the message handler (if it has been installed).
+.PP
+This function takes a format string and a list of arguments, similar to the C printf() function.
+.PP
+Example:
+.PP
+.nf
+.br
+ qDebug( "my window handle = %x", myWidget->id() );
+.br
+.fi
+.PP
+Under X11, the text is printed to stderr. Under Windows, the text is sent to the debugger.
+.PP
+\fBWarning:\fR The internal buffer is limited to 8196 bytes (including the '&#92;0'-terminator).
+.PP
+\fBWarning:\fR Passing (const char *)0 as argument to qDebug might lead to crashes on certain platforms due to the platforms printf implementation.
+.PP
+See also qWarning(), qFatal(), qInstallMsgHandler(), and Debugging.
+.SH "void qFatal ( const char * msg, ... )"
+Prints a fatal error message \fImsg\fR and exits, or calls the message handler (if it has been installed).
+.PP
+This function takes a format string and a list of arguments, similar to the C printf() function.
+.PP
+Example:
+.PP
+.nf
+.br
+ int divide( int a, int b )
+.br
+ {
+.br
+ if ( b == 0 ) // program error
+.br
+ qFatal( "divide: cannot divide by zero" );
+.br
+ return a/b;
+.br
+ }
+.br
+.fi
+.PP
+Under X11, the text is printed to stderr. Under Windows, the text is sent to the debugger.
+.PP
+\fBWarning:\fR The internal buffer is limited to 8196 bytes (including the '&#92;0'-terminator).
+.PP
+\fBWarning:\fR Passing (const char *)0 as argument to qFatal might lead to crashes on certain platforms due to the platforms printf implementation.
+.PP
+See also qDebug(), qWarning(), qInstallMsgHandler(), and Debugging.
+.SH "QtMsgHandler qInstallMsgHandler ( QtMsgHandler h )"
+Installs a Qt message handler \fIh\fR. Returns a pointer to the message handler previously defined.
+.PP
+The message handler is a function that prints out debug messages, warnings and fatal error messages. The Qt library (debug version) contains hundreds of warning messages that are printed when internal errors (usually invalid function arguments) occur. If you implement your own message handler, you get total control of these messages.
+.PP
+The default message handler prints the message to the standard output under X11 or to the debugger under Windows. If it is a fatal message, the application aborts immediately.
+.PP
+Only one message handler can be defined, since this is usually done on an application-wide basis to control debug output.
+.PP
+To restore the message handler, call \fCqInstallMsgHandler(0)\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qapplication.h>
+.br
+ #include <stdio.h>
+.br
+ #include <stdlib.h>
+.br
+.br
+ void myMessageOutput( QtMsgType type, const char *msg )
+.br
+ {
+.br
+ switch ( type ) {
+.br
+ case QtDebugMsg:
+.br
+ fprintf( stderr, "Debug: %s\\n", msg );
+.br
+ break;
+.br
+ case QtWarningMsg:
+.br
+ fprintf( stderr, "Warning: %s\\n", msg );
+.br
+ break;
+.br
+ case QtFatalMsg:
+.br
+ fprintf( stderr, "Fatal: %s\\n", msg );
+.br
+ abort(); // deliberately core dump
+.br
+ }
+.br
+ }
+.br
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ qInstallMsgHandler( myMessageOutput );
+.br
+ QApplication a( argc, argv );
+.br
+ ...
+.br
+ return a.exec();
+.br
+ }
+.br
+.fi
+.PP
+See also qDebug(), qWarning(), qFatal(), and Debugging.
+.SH "bool qSysInfo ( int * wordSize, bool * bigEndian )"
+Obtains information about the system.
+.PP
+The system's word size in bits (typically 32) is returned in \fI*wordSize\fR. The \fI*bigEndian\fR is set to TRUE if this is a big-endian machine, or to FALSE if this is a little-endian machine.
+.PP
+In debug mode, this function calls qFatal() with a message if the computer is truly weird (i.e. different endianness for 16 bit and 32 bit integers); in release mode it returns FALSE.
+.SH "void qSystemWarning ( const char * msg, int code )"
+Prints the message \fImsg\fR and uses \fIcode\fR to get a system specific error message. When \fIcode\fR is -1 (the default), the system's last error code will be used if possible. Use this method to handle failures in platform specific API calls.
+.PP
+This function does nothing when Qt is built with \fCQT_NO_DEBUG\fR defined.
+.SH "const char * qVersion ()"
+Returns the Qt version number as a string, for example, "2.3.0" or" 3.0.5".
+.PP
+The \fCQT_VERSION\fR define has the numeric value in the form: 0xmmiibb (m = major, i = minor, b = bugfix). For example, Qt 3.0.5's \fCQT_VERSION\fR is 0x030005.
+.SH "void qWarning ( const char * msg, ... )"
+Prints a warning message \fImsg\fR, or calls the message handler (if it has been installed).
+.PP
+This function takes a format string and a list of arguments, similar to the C printf() function.
+.PP
+Example:
+.PP
+.nf
+.br
+ void f( int c )
+.br
+ {
+.br
+ if ( c > 200 )
+.br
+ qWarning( "f: bad argument, c == %d", c );
+.br
+ }
+.br
+.fi
+.PP
+Under X11, the text is printed to stderr. Under Windows, the text is sent to the debugger.
+.PP
+\fBWarning:\fR The internal buffer is limited to 8196 bytes (including the '&#92;0'-terminator).
+.PP
+\fBWarning:\fR Passing (const char *)0 as argument to qWarning might lead to crashes on certain platforms due to the platforms printf implementation.
+.PP
+See also qDebug(), qFatal(), qInstallMsgHandler(), and Debugging.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qapplication.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qapplication.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qasciicache.3qt b/doc/man/man3/qasciicache.3qt
new file mode 100644
index 0000000..489b650
--- /dev/null
+++ b/doc/man/man3/qasciicache.3qt
@@ -0,0 +1,191 @@
+'\" t
+.TH QAsciiCache 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAsciiCache \- Template class that provides a cache based on char* keys
+.SH SYNOPSIS
+\fC#include <qasciicache.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAsciiCache\fR ( int maxCost = 100, int size = 17, bool caseSensitive = TRUE, bool copyKeys = TRUE )"
+.br
+.ti -1c
+.BI "\fB~QAsciiCache\fR ()"
+.br
+.ti -1c
+.BI "int \fBmaxCost\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotalCost\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMaxCost\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBinsert\fR ( const char * k, const type * d, int c = 1, int p = 0 )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const char * k )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( const char * k )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( const char * k, bool ref = TRUE ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( const char * k ) const"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAsciiCache class is a template class that provides a cache based on char* keys.
+.PP
+QAsciiCache is implemented as a template class. Define a template instance QAsciiCache<X> to create a cache that operates on pointers to X (X*).
+.PP
+A cache is a least recently used (LRU) list of cache items. The cache items are accessed via \fCchar*\fR keys. For Unicode keys use the QCache template instead, which uses QString keys. A QCache has the same performace as a QAsciiCache.
+.PP
+Each cache item has a cost. The sum of item costs, totalCost(), will not exceed the maximum cache cost, maxCost(). If inserting a new item would cause the total cost to exceed the maximum cost, the least recently used items in the cache are removed.
+.PP
+Apart from insert(), by far the most important function is find() (which also exists as operator[]()). This function looks up an item, returns it, and by default marks it as being the most recently used item.
+.PP
+There are also methods to remove() or take() an object from the cache. Calling setAutoDelete(TRUE) tells the cache to delete items that are removed. The default is to not delete items when then are removed (i.e., remove() and take() are equivalent).
+.PP
+When inserting an item into the cache, only the pointer is copied, not the item itself. This is called a shallow copy. It is possible to make the cache copy all of the item's data (known as a deep copy) when an item is inserted. insert() calls the virtual function QPtrCollection::newItem() for the item to be inserted. Inherit a cache and reimplement newItem() if you want deep copies.
+.PP
+When removing a cache item the virtual function QPtrCollection::deleteItem() is called. Its default implementation in QAsciiCache is to delete the item if auto-deletion is enabled.
+.PP
+There is a QAsciiCacheIterator which may be used to traverse the items in the cache in arbitrary order.
+.PP
+See also QAsciiCacheIterator, QCache, QIntCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAsciiCache::QAsciiCache ( int maxCost = 100, int size = 17, bool caseSensitive = TRUE, bool copyKeys = TRUE )"
+Constructs a cache whose contents will never have a total cost greater than \fImaxCost\fR and which is expected to contain less than \fIsize\fR items.
+.PP
+\fIsize\fR is actually the size of an internal hash array; it's usually best to make it prime and at least 50% bigger than the largest expected number of items in the cache.
+.PP
+Each inserted item has an associated cost. When inserting a new item, if the total cost of all items in the cache will exceed \fImaxCost\fR, the cache will start throwing out the older (least recently used) items until there is enough room for the new item to be inserted.
+.PP
+If \fIcaseSensitive\fR is TRUE (the default), the cache keys are case sensitive; if it is FALSE, they are case-insensitive. Case-insensitive comparison only affects the 26 letters in US-ASCII. If \fIcopyKeys\fR is TRUE (the default), QAsciiCache makes a copy of the cache keys, otherwise it copies just the const char * pointer - slightly faster if you can guarantee that the keys will never change, but very risky.
+.SH "QAsciiCache::~QAsciiCache ()"
+Removes all items from the cache and destroys it. All iterators that access this cache will be reset.
+.SH "void QAsciiCache::clear ()\fC [virtual]\fR"
+Removes all items from the cache, and deletes them if auto-deletion has been enabled.
+.PP
+All cache iterators that operate on this cache are reset.
+.PP
+See also remove() and take().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QAsciiCache::count () const\fC [virtual]\fR"
+Returns the number of items in the cache.
+.PP
+See also totalCost() and size().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QAsciiCache::find ( const char * k, bool ref = TRUE ) const"
+Returns the item with key \fIk\fR, or 0 if the key does not exist in the cache. If \fIref\fR is TRUE (the default), the item is moved to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is returned.
+.SH "bool QAsciiCache::insert ( const char * k, const type * d, int c = 1, int p = 0 )"
+Inserts the item \fId\fR into the cache using key \fIk\fR, and with an associated cost of \fIc\fR. Returns TRUE if the item is successfully inserted. Returns FALSE if the item is not inserted, for example, if the cost of the item exceeds maxCost().
+.PP
+The cache's size is limited, and if the total cost is too high, QAsciiCache will remove old, least recently used items until there is room for this new item.
+.PP
+Items with duplicate keys can be inserted.
+.PP
+The parameter \fIp\fR is internal and should be left at the default value (0).
+.PP
+\fBWarning:\fR If this function returns FALSE, you must delete \fId\fR yourself. Additionally, be very careful about using \fId\fR after calling this function, because any other insertions into the cache, from anywhere in the application or within Qt itself, could cause the object to be discarded from the cache and the pointer to become invalid.
+.SH "bool QAsciiCache::isEmpty () const"
+Returns TRUE if the cache is empty; otherwise returns FALSE.
+.SH "int QAsciiCache::maxCost () const"
+Returns the maximum allowed total cost of the cache.
+.PP
+See also setMaxCost() and totalCost().
+.SH "type * QAsciiCache::operator[] ( const char * k ) const"
+Returns the item with key \fIk\fR, or 0 if \fIk\fR does not exist in the cache, and moves the item to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is returned.
+.PP
+This is the same as find( k, TRUE ).
+.PP
+See also find().
+.SH "bool QAsciiCache::remove ( const char * k )"
+Removes the item with key \fIk\fR and returns TRUE if the item was present in the cache; otherwise returns FALSE.
+.PP
+The item is deleted if auto-deletion has been enabled, i.e., if you have called setAutoDelete(TRUE).
+.PP
+If there are two or more items with equal keys, the one that was inserted last is removed.
+.PP
+All iterators that refer to the removed item are set to point to the next item in the cache's traversal order.
+.PP
+See also take() and clear().
+.SH "void QAsciiCache::setMaxCost ( int m )"
+Sets the maximum allowed total cost of the cache to \fIm\fR. If the current total cost is greater than \fIm\fR, some items are removed immediately.
+.PP
+See also maxCost() and totalCost().
+.SH "uint QAsciiCache::size () const"
+Returns the size of the hash array used to implement the cache. This should be a bit bigger than count() is likely to be.
+.SH "void QAsciiCache::statistics () const"
+A debug-only utility function. Prints out cache usage, hit/miss, and distribution information using qDebug(). This function does nothing in the release library.
+.SH "type * QAsciiCache::take ( const char * k )"
+Takes the item associated with \fIk\fR out of the cache without deleting it and returns a pointer to the item taken out, or 0 if the key does not exist in the cache.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is taken.
+.PP
+All iterators that refer to the taken item are set to point to the next item in the cache's traversal order.
+.PP
+See also remove() and clear().
+.SH "int QAsciiCache::totalCost () const"
+Returns the total cost of the items in the cache. This is an integer in the range 0 to maxCost().
+.PP
+See also setMaxCost().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qasciicache.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qasciicache.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qasciicacheiterator.3qt b/doc/man/man3/qasciicacheiterator.3qt
new file mode 100644
index 0000000..b8fe06c
--- /dev/null
+++ b/doc/man/man3/qasciicacheiterator.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QAsciiCacheIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAsciiCacheIterator \- Iterator for QAsciiCache collections
+.SH SYNOPSIS
+\fC#include <qasciicache.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAsciiCacheIterator\fR ( const QAsciiCache<type> & cache )"
+.br
+.ti -1c
+.BI "\fBQAsciiCacheIterator\fR ( const QAsciiCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "QAsciiCacheIterator<type> & \fBoperator=\fR ( const QAsciiCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatFirst\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatLast\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtoLast\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.ti -1c
+.BI "type * \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator-=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAsciiCacheIterator class provides an iterator for QAsciiCache collections.
+.PP
+Note that the traversal order is arbitrary; you are not guaranteed any particular order. If new objects are inserted into the cache while the iterator is active, the iterator may or may not see them.
+.PP
+Multiple iterators are completely independent, even when they operate on the same QAsciiCache. QAsciiCache updates all iterators that refer an item when that item is removed.
+.PP
+QAsciiCacheIterator provides an operator++() and an operator+=() to traverse the cache; current() and currentKey() to access the current cache item and its key. It also provides atFirst() and atLast(), which return TRUE if the iterator points to the first or last item in the cache respectively. The isEmpty() function returns TRUE if the cache is empty; and count() returns the number of items in the cache.
+.PP
+Note that atFirst() and atLast() refer to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also QAsciiCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAsciiCacheIterator::QAsciiCacheIterator ( const QAsciiCache<type> & cache )"
+Constructs an iterator for \fIcache\fR. The current iterator item is set to point to the first item in the \fIcache\fR.
+.SH "QAsciiCacheIterator::QAsciiCacheIterator ( const QAsciiCacheIterator<type> & ci )"
+Constructs an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current() but moves independently from there on.
+.SH "bool QAsciiCacheIterator::atFirst () const"
+Returns TRUE if the iterator points to the first item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toFirst() and atLast().
+.SH "bool QAsciiCacheIterator::atLast () const"
+Returns TRUE if the iterator points to the last item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toLast() and atFirst().
+.SH "uint QAsciiCacheIterator::count () const"
+Returns the number of items in the cache over which this iterator operates.
+.PP
+See also isEmpty().
+.SH "type * QAsciiCacheIterator::current () const"
+Returns a pointer to the current iterator item.
+.SH "const char * QAsciiCacheIterator::currentKey () const"
+Returns the key for the current iterator item.
+.SH "bool QAsciiCacheIterator::isEmpty () const"
+Returns TRUE if the cache is empty, i.e. count() == 0; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QAsciiCacheIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QAsciiCacheIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the cache or if it was 0, 0 is returned.
+.SH "type * QAsciiCacheIterator::operator++ ()"
+Prefix ++ makes the iterator point to the item just after current(), and makes that the new current item for the iterator. If current() was the last item, operator++() returns 0.
+.SH "type * QAsciiCacheIterator::operator+= ( uint jump )"
+Returns the item \fIjump\fR positions after the current item, or 0 if it is beyond the last item. Makes this the current item.
+.SH "type * QAsciiCacheIterator::operator-- ()"
+Prefix -- makes the iterator point to the item just before current(), and makes that the new current item for the iterator. If current() was the first item, operator--() returns 0.
+.SH "type * QAsciiCacheIterator::operator-= ( uint jump )"
+Returns the item \fIjump\fR positions before the current item, or 0 if it is before the first item. Makes this the current item.
+.SH "QAsciiCacheIterator<type> & QAsciiCacheIterator::operator= ( const QAsciiCacheIterator<type> & ci )"
+Makes this an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current(), but moves independently thereafter.
+.SH "type * QAsciiCacheIterator::toFirst ()"
+Sets the iterator to point to the first item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0 and returns 0 if the cache is empty.
+.PP
+See also toLast() and isEmpty().
+.SH "type * QAsciiCacheIterator::toLast ()"
+Sets the iterator to point to the last item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0 and returns 0 if the cache is empty.
+.PP
+See also isEmpty().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qasciicacheiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qasciicacheiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qasciidict.3qt b/doc/man/man3/qasciidict.3qt
new file mode 100644
index 0000000..4f64e64
--- /dev/null
+++ b/doc/man/man3/qasciidict.3qt
@@ -0,0 +1,317 @@
+'\" t
+.TH QAsciiDict 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAsciiDict \- Template class that provides a dictionary based on char* keys
+.SH SYNOPSIS
+\fC#include <qasciidict.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAsciiDict\fR ( int size = 17, bool caseSensitive = TRUE, bool copyKeys = TRUE )"
+.br
+.ti -1c
+.BI "\fBQAsciiDict\fR ( const QAsciiDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QAsciiDict\fR ()"
+.br
+.ti -1c
+.BI "QAsciiDict<type> & \fBoperator=\fR ( const QAsciiDict<type> & dict )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( const char * key, const type * item )"
+.br
+.ti -1c
+.BI "void \fBreplace\fR ( const char * key, const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const char * key )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( const char * key )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( const char * key ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( const char * key ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( uint newsize )"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAsciiDict class is a template class that provides a dictionary based on char* keys.
+.PP
+QAsciiDict is implemented as a template class. Define a template instance QAsciiDict<X> to create a dictionary that operates on pointers to X (X*).
+.PP
+A dictionary is a collection of key-value pairs. The key is a char* used for insertion, removal and lookup. The value is a pointer. Dictionaries provide very fast insertion and lookup.
+.PP
+QAsciiDict cannot handle Unicode keys; use the QDict template instead, which uses QString keys. A QDict has the same performace as a QAsciiDict.
+.PP
+Example:
+.PP
+.nf
+.br
+ QAsciiDict<QLineEdit> fields; // char* keys, QLineEdit* values
+.br
+ fields.insert( "forename", new QLineEdit( this ) );
+.br
+ fields.insert( "surname", new QLineEdit( this ) );
+.br
+.br
+ fields["forename"]->setText( "Homer" );
+.br
+ fields["surname"]->setText( "Simpson" );
+.br
+.br
+ QAsciiDictIterator<QLineEdit> it( fields ); // See QAsciiDictIterator
+.br
+ for( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+ cout << endl;
+.br
+.br
+ if ( fields["forename"] && fields["surname"] )
+.br
+ cout << fields["forename"]->text() << " "
+.br
+.br
+ << fields["surname"]->text() << endl; // Prints "Homer Simpson"
+.br
+.br
+ fields.remove( "forename" ); // Does not delete the line edit
+.br
+ if ( ! fields["forename"] )
+.br
+ cout << "forename is not in the dictionary" << endl;
+.br
+.fi
+In this example we use a dictionary to keep track of the line edits we're using. We insert each line edit into the dictionary with a unique name and then access the line edits via the dictionary. See QPtrDict, QIntDict and QDict.
+.PP
+See QDict for full details, including the choice of dictionary size, and how deletions are handled.
+.PP
+See also QAsciiDictIterator, QDict, QIntDict, QPtrDict, Collection Classes, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAsciiDict::QAsciiDict ( int size = 17, bool caseSensitive = TRUE, bool copyKeys = TRUE )"
+Constructs a dictionary optimized for less than \fIsize\fR entries.
+.PP
+We recommend setting \fIsize\fR to a suitably large prime number (a bit larger than the expected number of entries). This makes the hash distribution better and will improve lookup performance.
+.PP
+When \fIcaseSensitive\fR is TRUE (the default) QAsciiDict treats" abc" and "Abc" as different keys; when it is FALSE "abc" and" Abc" are the same. Case-insensitive comparison only considers the 26 letters in US-ASCII.
+.PP
+If \fIcopyKeys\fR is TRUE (the default), the dictionary copies keys using strcpy(); if it is FALSE, the dictionary just copies the pointers.
+.SH "QAsciiDict::QAsciiDict ( const QAsciiDict<type> & dict )"
+Constructs a copy of \fIdict\fR.
+.PP
+Each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy).
+.SH "QAsciiDict::~QAsciiDict ()"
+Removes all items from the dictionary and destroys it.
+.PP
+The items are deleted if auto-delete is enabled.
+.PP
+All iterators that access this dictionary will be reset.
+.PP
+See also setAutoDelete().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QAsciiDict::clear ()\fC [virtual]\fR"
+Removes all items from the dictionary.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that operate on dictionary are reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QAsciiDict::count () const\fC [virtual]\fR"
+Returns the number of items in the dictionary.
+.PP
+See also isEmpty().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QAsciiDict::find ( const char * key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+This function uses an internal hashing algorithm to optimize lookup.
+.PP
+If there are two or more items with equal keys, then the item that was most recently inserted will be found.
+.PP
+Equivalent to the [] operator.
+.PP
+See also operator[]().
+.SH "void QAsciiDict::insert ( const char * key, const type * item )"
+Inserts the \fIkey\fR with the \fIitem\fR into the dictionary.
+.PP
+Multiple items can have the same key, in which case only the last item will be accessible using operator[]().
+.PP
+\fIitem\fR may not be 0.
+.PP
+See also replace().
+.SH "bool QAsciiDict::isEmpty () const"
+Returns TRUE if the dictionary is empty, i.e. count() == 0; otherwise it returns FALSE.
+.PP
+See also count().
+.SH "QAsciiDict<type> & QAsciiDict::operator= ( const QAsciiDict<type> & dict )"
+Assigns \fIdict\fR to this dictionary and returns a reference to this dictionary.
+.PP
+This dictionary is first cleared and then each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy) unless newItem() has been reimplemented().
+.SH "type * QAsciiDict::operator[] ( const char * key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+This function uses an internal hashing algorithm to optimize lookup.
+.PP
+If there are two or more items with equal keys, then the item that was most recently inserted will be found.
+.PP
+Equivalent to the find() function.
+.PP
+See also find().
+.SH "QDataStream & QAsciiDict::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a dictionary item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QAsciiDict::remove ( const char * key )"
+Removes the item associated with \fIkey\fR from the dictionary. Returns TRUE if successful, i.e. if the key existed in the dictionary; otherwise returns FALSE.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be removed.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that refer to the removed item will be set to point to the next item in the dictionary traversal order.
+.PP
+See also take(), clear(), and setAutoDelete().
+.SH "void QAsciiDict::replace ( const char * key, const type * item )"
+Replaces an item that has a key equal to \fIkey\fR with \fIitem\fR.
+.PP
+If the item does not already exist, it will be inserted.
+.PP
+\fIitem\fR may not be 0.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ QAsciiDict<char> dict;
+.br
+ ...
+.br
+ if ( dict.find(key) )
+.br
+ dict.remove( key );
+.br
+ dict.insert( key, item );
+.br
+.fi
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be replaced.
+.PP
+See also insert().
+.SH "void QAsciiDict::resize ( uint newsize )"
+Changes the size of the hashtable to \fInewsize\fR. The contents of the dictionary are preserved but all iterators on the dictionary become invalid.
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QAsciiDict::size () const"
+Returns the size of the internal hash array (as specified in the constructor).
+.PP
+See also count().
+.SH "void QAsciiDict::statistics () const"
+Debugging-only function that prints out the dictionary distribution using qDebug().
+.SH "type * QAsciiDict::take ( const char * key )"
+Takes the item associated with \fIkey\fR out of the dictionary without deleting it (even if auto-deletion is enabled).
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be taken.
+.PP
+Returns a pointer to the item taken out, or 0 if the key does not exist in the dictionary.
+.PP
+All dictionary iterators that refer to the taken item will be set to point to the next item in the dictionary traversal order.
+.PP
+See also remove(), clear(), and setAutoDelete().
+.SH "QDataStream & QAsciiDict::write ( QDataStream & s, QPtrCollection::Item ) const\fC [virtual protected]\fR"
+Writes a dictionary item to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qasciidict.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qasciidict.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qasciidictiterator.3qt b/doc/man/man3/qasciidictiterator.3qt
new file mode 100644
index 0000000..973f3a8
--- /dev/null
+++ b/doc/man/man3/qasciidictiterator.3qt
@@ -0,0 +1,159 @@
+'\" t
+.TH QAsciiDictIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAsciiDictIterator \- Iterator for QAsciiDict collections
+.SH SYNOPSIS
+\fC#include <qasciidict.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAsciiDictIterator\fR ( const QAsciiDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QAsciiDictIterator\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAsciiDictIterator class provides an iterator for QAsciiDict collections.
+.PP
+QAsciiDictIterator is implemented as a template class. Define a template instance QAsciiDictIterator<X> to create a dictionary iterator that operates on QAsciiDict<X> (dictionary of X*).
+.PP
+Example:
+.PP
+.nf
+.br
+ QAsciiDict<QLineEdit> fields;
+.br
+ fields.insert( "forename", new QLineEdit( this ) );
+.br
+ fields.insert( "surname", new QLineEdit( this ) );
+.br
+ fields.insert( "age", new QLineEdit( this ) );
+.br
+.br
+ fields["forename"]->setText( "Homer" );
+.br
+ fields["surname"]->setText( "Simpson" );
+.br
+ fields["age"]->setText( "45" );
+.br
+.br
+ QAsciiDictIterator<QLineEdit> it( fields );
+.br
+ for( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+ cout << endl;
+.br
+.br
+ // Output (random order):
+.br
+ // age: 45
+.br
+ // surname: Simpson
+.br
+ // forename: Homer
+.br
+.fi
+In the example we insert some line edits into a dictionary, then iterate over the dictionary printing the strings associated with those line edits.
+.PP
+Note that the traversal order is arbitrary; you are not guaranteed any particular order.
+.PP
+Multiple iterators may independently traverse the same dictionary. A QAsciiDict knows about all the iterators that are operating on the dictionary. When an item is removed from the dictionary, QAsciiDict updates all the iterators that are referring to the removed item to point to the next item in the (arbitrary) traversal order.
+.PP
+See also QAsciiDict, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAsciiDictIterator::QAsciiDictIterator ( const QAsciiDict<type> & dict )"
+Constructs an iterator for \fIdict\fR. The current iterator item is set to point on the first item in the \fIdict\fR.
+.SH "QAsciiDictIterator::~QAsciiDictIterator ()"
+Destroys the iterator.
+.SH "uint QAsciiDictIterator::count () const"
+Returns the number of items in the dictionary this iterator operates over.
+.PP
+See also isEmpty().
+.SH "type * QAsciiDictIterator::current () const"
+Returns a pointer to the current iterator item.
+.SH "const char * QAsciiDictIterator::currentKey () const"
+Returns a pointer to the key for the current iterator item.
+.SH "bool QAsciiDictIterator::isEmpty () const"
+Returns TRUE if the dictionary is empty, i.e. count() == 0, otherwise returns FALSE.
+.PP
+See also count().
+.SH "QAsciiDictIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QAsciiDictIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QAsciiDictIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns the new current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QAsciiDictIterator::operator+= ( uint jump )"
+Sets the current item to the item \fIjump\fR positions after the current item, and returns a pointer to that item.
+.PP
+If that item is beyond the last item or if the dictionary is empty, it sets the current item to 0 and returns 0.
+.SH "type * QAsciiDictIterator::toFirst ()"
+Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. If the dictionary is
+empty it sets the current item to 0 and returns 0.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qasciidictiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qasciidictiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qassistantclient.3qt b/doc/man/man3/qassistantclient.3qt
new file mode 100644
index 0000000..cc22b52
--- /dev/null
+++ b/doc/man/man3/qassistantclient.3qt
@@ -0,0 +1,143 @@
+'\" t
+.TH QAssistantClient 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAssistantClient \- Means of using Qt Assistant as an application's help tool
+.SH SYNOPSIS
+\fC#include <qassistantclient.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAssistantClient\fR ( const QString & path, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QAssistantClient\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetArguments\fR ( const QStringList & args )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBopenAssistant\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcloseAssistant\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBshowPage\fR ( const QString & page )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBassistantOpened\fR ()"
+.br
+.ti -1c
+.BI "void \fBassistantClosed\fR ()"
+.br
+.ti -1c
+.BI "void \fBerror\fR ( const QString & msg )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBopen\fR - whether Qt Assistant is open \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QAssistantClient class provides a means of using Qt Assistant as an application's help tool.
+.PP
+Using Qt Assistant is simple: Create a QAssistantClient instance, then call showPage() as often as necessary to show your help pages. When you call showPage(), Qt Assistant will be launched if it isn't already running.
+.PP
+The QAssistantClient instance can open (openAssistant()) or close (closeAssistant()) Qt Assistant whenever required. If Qt Assistant is open, isOpen() returns TRUE.
+.PP
+One QAssistantClient instance interacts with one Qt Assistant instance, so every time you call openAssistant(), showPage() or closeAssistant() they are applied to the particular Qt Assistant instance associated with the QAssistantClient.
+.PP
+When you call openAssistant() the assistantOpened() signal is emitted. Similarly when closeAssistant() is called, assistantClosed() is emitted. In either case, if an error occurs, error() is emitted.
+.PP
+This class is not included in the Qt library itself. To use it you must link against \fClibqassistantclient.a\fR (Unix) or \fCqassistantclient.lib\fR (Windows), which is built into \fCINSTALL/lib\fR if you built the Qt tools (\fCINSTALL\fR is the directory where Qt is installed). If you use qmake, then you can simply add the following line to your pro file:
+.PP
+.nf
+.br
+ LIBS += -lqassistantclient
+.br
+.fi
+.PP
+See also "Adding Documentation to Qt Assistant" in the Qt Assistant manual.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAssistantClient::QAssistantClient ( const QString & path, QObject * parent = 0, const char * name = 0 )"
+Constructs an assistant client object. The \fIpath\fR specifies the path to the Qt Assistant executable. If \fIpath\fR is an empty string the system path (\fC%PATH%\fR or \fC$PATH\fR) is used.
+.PP
+The assistant client object is a child of \fIparent\fR and is called \fIname\fR.
+.SH "QAssistantClient::~QAssistantClient ()"
+Destroys the assistant client object and frees up all allocated resources.
+.SH "void QAssistantClient::assistantClosed ()\fC [signal]\fR"
+This signal is emitted when the connection to Qt Assistant is closed. This happens when the user exits Qt Assistant, or when an error in the server or client occurs, or if closeAssistant() is called.
+.SH "void QAssistantClient::assistantOpened ()\fC [signal]\fR"
+This signal is emitted when Qt Assistant is open and the client-server communication is set up.
+.SH "void QAssistantClient::closeAssistant ()\fC [virtual slot]\fR"
+Use this function to close Qt Assistant.
+.PP
+See also assistantClosed().
+.SH "void QAssistantClient::error ( const QString & msg )\fC [signal]\fR"
+This signal is emitted if Qt Assistant cannot be started or if an error occurs during the initialization of the connection between Qt Assistant and the calling application. The \fImsg\fR provides an explanation of the error.
+.SH "bool QAssistantClient::isOpen () const"
+Returns TRUE if Qt Assistant is open; otherwise returns FALSE. See the "open" property for details.
+.SH "void QAssistantClient::openAssistant ()\fC [virtual slot]\fR"
+This function opens Qt Assistant and sets up the client-server communiction between the application and Qt Assistant. If it is already open, this function does nothing. If an error occurs, error() is emitted.
+.PP
+See also assistantOpened().
+.SH "void QAssistantClient::setArguments ( const QStringList & args )"
+Sets the command line arguments used when Qt Assistant is started to \fIargs\fR.
+.SH "void QAssistantClient::showPage ( const QString & page )\fC [virtual slot]\fR"
+Call this function to make Qt Assistant show a particular \fIpage\fR. The \fIpage\fR is a filename (e.g. \fCmyhelpfile.html\fR). See "Adding Documentation to Qt Assistant" in the Qt Assistant manual for further information.
+.PP
+If Qt Assistant hasn't been opened yet, this function will do nothing. You can use isOpen() to determine whether Qt Assistant is up and running, or you can connect to the asssistantOpened() signal.
+.PP
+See also open and assistantOpened().
+.PP
+Example: helpsystem/mainwindow.cpp.
+.SS "Property Documentation"
+.SH "bool open"
+This property holds whether Qt Assistant is open.
+.PP
+Get this property's value with isOpen().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qassistantclient.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qassistantclient.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxaggregated.3qt b/doc/man/man3/qaxaggregated.3qt
new file mode 100644
index 0000000..bc457bb
--- /dev/null
+++ b/doc/man/man3/qaxaggregated.3qt
@@ -0,0 +1,143 @@
+'\" t
+.TH QAxAggregated 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxAggregated \- Abstract base class for implementations of additional COM interfaces
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxbindable.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual long \fBqueryInterface\fR ( const QUuid & iid, void ** iface ) = 0"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "IUnknown * \fBcontrollingUnknown\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBwidget\fR () const"
+.br
+.ti -1c
+.BI "QObject * \fBobject\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxAggregated class is an abstract base class for implementations of additional COM interfaces.
+.PP
+Create a subclass of QAxAggregated and reimplement queryInterface() to support additional COM interfaces. Use multiple inheritance from those COM interfaces. Implement the IUnknown interface of those COM interfaces by delegating the calls to QueryInterface(), AddRef() and Release() to the interface provided by controllingUnknown().
+.PP
+Use the widget() method if you need to make calls to the QWidget implementing the ActiveX control. You must not store that pointer in your subclass (unless you use QGuardedPtr), as the QWidget can be destroyed by the ActiveQt framework at any time.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "IUnknown * QAxAggregated::controllingUnknown () const\fC [protected]\fR"
+Returns the IUnknown interface of the ActiveX control. Implement the IUnknown interface in your QAxAggregated subclass to delegate calls to QueryInterface(), AddRef() and Release() to the interface provided by this function.
+.PP
+.nf
+.br
+ HRESULT AxImpl::QueryInterface( REFIID iid, void **iface )
+.br
+ {
+.br
+ return controllingUnknown()->QueryInterface( iid, iface );
+.br
+ }
+.br
+.br
+ unsigned long AxImpl::AddRef()
+.br
+ {
+.br
+ return controllingUnknown()->AddRef();
+.br
+ }
+.br
+.br
+ unsigned long AxImpl::Release()
+.br
+ {
+.br
+ return controllingUnknown()->Release();
+.br
+ }
+.br
+.fi
+.PP
+The QAXAGG_IUNKNOWN macro expands to the code above, and you can use it in the class declaration of your subclass.
+.SH "QObject * QAxAggregated::object () const\fC [protected]\fR"
+Returns a pointer to the QObject subclass implementing the COM object. This function might return 0.
+.PP
+\fBWarning:\fR You must not store the returned pointer, unless you use a QGuardedPtr, since the QObject can be destroyed by ActiveQt at any time.
+.SH "long QAxAggregated::queryInterface ( const QUuid & iid, void ** iface )\fC [pure virtual]\fR"
+Reimplement this pure virtual function to support additional COM interfaces. Set the value of \fIiface\fR to point to this object to support the interface \fIiid\fR. Note that you must cast the \fCthis\fR pointer to the appropriate superclass.
+.PP
+.nf
+.br
+ long AxImpl::queryInterface( const QUuid &iid, void **iface )
+.br
+ {
+.br
+ *iface = 0;
+.br
+ if ( iid == IID_ISomeCOMInterface )
+.br
+ *iface = (ISomeCOMInterface*)this;
+.br
+ else
+.br
+ return E_NOINTERFACE;
+.br
+.br
+ AddRef();
+.br
+ return S_OK;
+.br
+ }
+.br
+.fi
+.PP
+Return the standard COM results S_OK (interface is supported) or E_NOINTERFACE (requested interface is not supported).
+.PP
+\fBWarning:\fR Even though you must implement the IUnknown interface if you implement any COM interface you must not support the IUnknown interface in your queryInterface() implementation.
+.SH "QWidget * QAxAggregated::widget () const\fC [protected]\fR"
+Returns a pointer to the QWidget subclass implementing the ActiveX control. This function might return 0.
+.PP
+\fBWarning:\fR
+You must not store the returned pointer, unless you use a
+QGuardedPtr, since the QWidget can be destroyed by ActiveQt at any
+time.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxaggregated.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxaggregated.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxbase.3qt b/doc/man/man3/qaxbase.3qt
new file mode 100644
index 0000000..154031b
--- /dev/null
+++ b/doc/man/man3/qaxbase.3qt
@@ -0,0 +1,561 @@
+'\" t
+.TH QAxBase 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxBase \- Abstract class that provides an API to initalize and access a COM object
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxbase.h>\fR
+.PP
+Inherited by QAxObject and QAxWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxBase\fR ( IUnknown * iface = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QAxBase\fR ()"
+.br
+.ti -1c
+.BI "QString \fBcontrol\fR () const"
+.br
+.ti -1c
+.BI "long \fBqueryInterface\fR ( const QUuid & uuid, void ** iface ) const"
+.br
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, QValueList<QVariant> & vars )"
+.br
+.ti -1c
+.BI "QAxObject * \fBquerySubObject\fR ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "PropertyBag \fBpropertyBag\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPropertyBag\fR ( const PropertyBag & bag )"
+.br
+.ti -1c
+.BI "QString \fBgenerateDocumentation\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBpropertyWritable\fR ( const char * prop ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPropertyWritable\fR ( const char * prop, bool ok )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "QVariant \fBasVariant\fR () const"
+.br
+.ti -1c
+.BI "enum \fBPropertyBag\fR { }"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBsetControl\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBdisableMetaObject\fR ()"
+.br
+.ti -1c
+.BI "void \fBdisableClassInfo\fR ()"
+.br
+.ti -1c
+.BI "void \fBdisableEventSink\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBsignal\fR ( const QString & name, int argc, void * argv )"
+.br
+.ti -1c
+.BI "void \fBpropertyChanged\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "void \fBexception\fR ( int code, const QString & source, const QString & desc, const QString & help )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QString \fBcontrol\fR - the name of the COM object wrapped by this QAxBase object"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBinitialize\fR ( IUnknown ** ptr )"
+.br
+.ti -1c
+.BI "bool \fBinitializeRemote\fR ( IUnknown ** ptr )"
+.br
+.ti -1c
+.BI "bool \fBinitializeLicensed\fR ( IUnknown ** ptr )"
+.br
+.ti -1c
+.BI "bool \fBinitializeActive\fR ( IUnknown ** ptr )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxBase class is an abstract class that provides an API to initalize and access a COM object.
+.PP
+QAxBase is an abstract class that cannot be used directly, and is instantiated through the subclasses QAxObject and QAxWidget. This class provides the API to access the COM object directly through its IUnknown implementation. If the COM object implements the IDispatch interface, the properties and methods of that object become available as Qt properties and slots.
+.PP
+.nf
+.br
+ connect( buttonBack, SIGNAL(clicked()), webBrowser, SLOT(GoBack()) );
+.br
+.fi
+.PP
+Properties exposed by the object's IDispatch implementation can be read and written through the property system provided by the Qt Object Model (both subclasses are QObjects, so you can use setProperty() and property() as with QObject). Properties with multiple parameters are not supported.
+.PP
+.nf
+.br
+ activeX->setProperty( "text", "some text" );
+.br
+ int value = activeX->property( "value" );
+.br
+.fi
+.PP
+Write-functions for properties and other methods exposed by the object's IDispatch implementation can be called directly using dynamicCall(), or indirectly as slots connected to a signal.
+.PP
+.nf
+.br
+ webBrowser->dynamicCall( "GoHome()" );
+.br
+.fi
+.PP
+Outgoing events supported by the COM object are emitted as standard Qt signals.
+.PP
+.nf
+.br
+ connect( webBrowser, SIGNAL(TitleChanged(const QString&)),
+.br
+ this, SLOT(setCaption(const QString&)) );
+.br
+.fi
+.PP
+QAxBase transparently converts between COM data types and the equivalent Qt data types. Some COM types have no equivalent Qt data structure.
+.PP
+Supported COM datatypes are listed in the first column of following table. The second column is the Qt type that can be used with the QObject property functions. The third column is the Qt type that is used in the prototype of generated signals and slots for in-parameters, and the last column is the Qt type that is used in the prototype of signals and slots for out-parameters. <center>.nf
+.TS
+l - l. COM type Qt property in-parameter out-parameter VARIANT_BOOL bool bool bool& BSTR QString const QString& QString& char, short, int, long int int int& uchar, ushort, uint, ulong uint uint uint& float, double double double double& DATE QDateTime const QDateTime& QDateTime& CY Q_LLONG Q_LLONG Q_LLONG& OLE_COLOR QColor const QColor& QColor& SAFEARRAY(VARIANT) QValueList<QVariant> const QValueList<QVariant>& QValueList<QVariant>& SAFEARRAY(BYTE) QByteArray const QByteArray& QByteArray& SAFEARRAY(BSTR) QStringList const QStringList& QStringList& VARIANT type-dependent const QVariant& QVariant& IFontDisp* QFont const QFont& QFont& IPictureDisp* QPixmap const QPixmap& QPixmap& IDispatch* QAxObject* (read-only) QAxBase::asVariant() QAxObject* (return value) IUnknown* QAxObject* (read-only) QAxBase::asVariant() QAxObject* (return value) SCODE, DECIMAL \fIunsupported\fR \fIunsupported\fR
+.TE
+.fi
+</center>
+.PP
+Supported are also enumerations, and typedefs to supported types.
+.PP
+To call the methods of a COM interface described by the following IDL
+.PP
+.nf
+.br
+ dispinterface IControl
+.br
+ {
+.br
+ properties:
+.br
+ [id(1)] BSTR text;
+.br
+ [id(2)] IFontDisp *font;
+.br
+.br
+ methods:
+.br
+ [id(6)] void showColumn( [in] int i );
+.br
+ [id(3)] bool addColumn( [in] BSTR t );
+.br
+ [id(4)] int fillList( [in, out] SAFEARRAY(VARIANT) *list );
+.br
+ [id(5)] IDispatch *item( [in] int i );
+.br
+ };
+.br
+.fi
+use the QAxBase API like this:
+.PP
+.nf
+.br
+ QAxObject object( "<CLSID>" );
+.br
+.br
+ QString text = object.property( "text" ).toString();
+.br
+ object.setProperty( "font", QFont( "Times New Roman", 12 ) );
+.br
+.br
+ connect( this, SIGNAL(clicked(int)), &object, SLOT(showColumn(int)) );
+.br
+ bool ok = object.dynamicCall( "addColumn(const QString&)", "Column 1" ).toBool();
+.br
+.br
+ QValueList<QVariant> varlist;
+.br
+ QValueList<QVariant> parameters;
+.br
+ parameters << QVariant( varlist );
+.br
+ int n = object.dynamicCall( "fillList(QValueList<QVariant>&)", parameters ).toInt();
+.br
+.br
+ QAxObject *item = object.querySubItem( "item(int)", 5 );
+.br
+.fi
+.PP
+Note that the QValueList the object should fill has to be provided as an element in the parameter list of QVariants.
+.PP
+If you need to access properties or pass parameters of unsupported datatypes you must access the COM object directly through its IDispatch implementation or other interfaces. Those interfaces can be retrieved through queryInterface().
+.PP
+.nf
+.br
+ IUnknown *iface = 0;
+.br
+ activeX->queryInterface( IID_IUnknown, (void**)&iface );
+.br
+ if ( iface ) {
+.br
+ // use the interface
+.br
+ iface->Release();
+.br
+ }
+.br
+.fi
+.PP
+To get the definition of the COM interfaces you will have to use the header files provided with the component you want to use. Some compilers can also import type libraries using the #import compiler directive. See the component documentation to find out which type libraries you have to import, and how to use them.
+.PP
+If you need to react to events that pass parameters of unsupported datatypes you can use the generic signal that delivers the event data as provided by the COM event.
+.SS "Member Type Documentation"
+.SH "QAxBase::PropertyBag"
+A QMap<QString,QVariant> that can store properties as name:value pairs.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxBase::QAxBase ( IUnknown * iface = 0 )"
+Creates a QAxBase object that wraps the COM object \fIiface\fR. If \fIiface\fR is 0 (the default), use setControl() to instantiate a COM object.
+.SH "QAxBase::~QAxBase ()\fC [virtual]\fR"
+Shuts down the COM object and destroys the QAxBase object.
+.PP
+See also clear().
+.SH "QVariant QAxBase::asVariant () const"
+Returns a QVariant that wraps the COM object. The variant can then be used as a parameter in e.g. dynamicCall().
+.SH "void QAxBase::clear ()\fC [virtual]\fR"
+Disconnects and destroys the COM object.
+.PP
+If you reimplement this function you must also reimplement the destructor to call clear(), and call this implementation at the end of your clear() function.
+.SH "QString QAxBase::control () const"
+Returns the name of the COM object wrapped by this QAxBase object. See the "control" property for details.
+.SH "void QAxBase::disableClassInfo ()"
+Disables the class info generation for this ActiveX container. If you don't require any class information about the ActiveX control use this function to speed up the meta object generation.
+.PP
+Note that this function must be called immediately after construction of the object (without passing an object identifier), and before calling QAxWidget->setControl().
+.SH "void QAxBase::disableEventSink ()"
+Disables the event sink implementation for this ActiveX container. If you don't intend to listen to the ActiveX control's events use this function to speed up the meta object generation.
+.PP
+Some ActiveX controls might be unstable when connected to an event sink. To get OLE events you must use standard COM methods to register your own event sink. Use queryInterface() to get access to the raw COM object.
+.PP
+Note that this function should be called immediately after construction of the object (without passing an object identifier), and before calling QAxWidget->setControl().
+.SH "void QAxBase::disableMetaObject ()"
+Disables the meta object generation for this ActiveX container. This also disables the event sink and class info generation. If you don't intend to use the Qt meta object implementation call this function to speed up the meta object generation.
+.PP
+Some ActiveX controls might be unstable when used with OLE automation. Use standard COM methods to use those controls through the COM interfaces provided by queryInterface().
+.PP
+Note that this function must be called immediately after construction of the object (without passing an object identifier), and before calling QAxWidget->setControl().
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Calls the COM object's method \fIfunction\fR, passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR, and returns the value returned by the method, or an invalid QVariant if the method does not return a value or when the function call failed.
+.PP
+If \fIfunction\fR is a method of the object the string must be provided as the full prototype, for example as it would be written in a QObject::connect() call.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Navigate(const QString&)", "www.trolltech.com" );
+.br
+.fi
+.PP
+Alternatively a function can be called passing the parameters embedded in the string, e.g. above function can also be invoked using
+.PP
+.nf
+.br
+ activeX->dynamicCall("Navigate(\\"www.trolltech.com\\");
+.br
+.fi
+All parameters are passed as strings; it depends on the control whether they are interpreted correctly, and is slower than using the prototype with correctly typed parameters.
+.PP
+If \fIfunction\fR is a property the string has to be the name of the property. The property setter is called when \fIvar1\fR is a valid QVariant, otherwise the getter is called.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Value", 5 );
+.br
+ QString text = activeX->dynamicCall( "Text" ).toString();
+.br
+.fi
+Note that it is faster to get and set properties using QObject::property() and QObject::setProperty().
+.PP
+It is only possible to call functions through dynamicCall() that have parameters or return values of datatypes supported by QVariant. See the QAxBase class documentation for a list of supported and unsupported datatypes. If you want to call functions that have unsupported datatypes in the parameter list, use queryInterface() to retrieve the appropriate COM interface, and use the function directly.
+.PP
+.nf
+.br
+ IWebBrowser2 *webBrowser = 0;
+.br
+ activeX->queryInterface( IID_IWebBrowser2, (void**)&webBrowser );
+.br
+ if ( webBrowser ) {
+.br
+ webBrowser->Navigate2( pvarURL );
+.br
+ webBrowser->Release();
+.br
+ }
+.br
+.fi
+.PP
+This is also more efficient.
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, QValueList<QVariant> & vars )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calls the COM object's method \fIfunction\fR, passing the parameters in \fIvars\fR, and returns the value returned by the method. If the method does not return a value or when the function call failed this function returns an invalid QVariant object.
+.PP
+The QVariant objects in \fIvars\fR are updated when the method has out-parameters.
+.SH "void QAxBase::exception ( int code, const QString & source, const QString & desc, const QString & help )\fC [signal]\fR"
+This signal is emitted when the COM object throws an exception while called using the OLE automation interface IDispatch. \fIcode\fR, \fIsource\fR, \fIdesc\fR and \fIhelp\fR provide information about the exception as provided by the COM server and can be used to provide useful feedback to the end user. \fIhelp\fR includes the help file, and the help context ID in brackets, e.g. "filename [id]".
+.SH "QString QAxBase::generateDocumentation ()"
+Returns a rich text string with documentation for the wrapped COM object. Dump the string to an HTML-file, or use it in e.g. a QTextBrowser widget.
+.SH "bool QAxBase::initialize ( IUnknown ** ptr )\fC [virtual protected]\fR"
+This virtual function is called by setControl() and creates the requested COM object. \fIptr\fR is set to the object's IUnknown implementation. The function returns TRUE if the object initialization succeeded; otherwise the function returns FALSE.
+.PP
+The default implementation interprets the string returned by control(), and calls initializeRemote(), initializeLicensed() or initializeActive() if the string matches the respective patterns. If no pattern is matched, or if remote or licensed initialization fails, CoCreateInstance is used directly to create the object.
+.PP
+See the control property documentation for details about supported patterns.
+.PP
+The interface returned in \fIptr\fR must be referenced exactly once when this function returns. The interface provided by e.g. CoCreateInstance is already referenced, and there is no need to reference it again.
+.SH "bool QAxBase::initializeActive ( IUnknown ** ptr )\fC [protected]\fR"
+Returns an active instance running on the current machine, and returns the IUnknown interface to the running object in \fIptr\fR. This function returns TRUE if successful, otherwise returns FALSE.
+.PP
+This function is called by initialize() if the control string contains the substring "}&".
+.PP
+See also initialize().
+.SH "bool QAxBase::initializeLicensed ( IUnknown ** ptr )\fC [protected]\fR"
+Creates an instance of a licensed control, and returns the IUnknown interface to the object in \fIptr\fR. This functions returns TRUE if successful, otherwise returns FALSE.
+.PP
+This function is called by initialize() if the control string contains the substring "}:". The license key needs to follow this substring.
+.PP
+See also initialize().
+.SH "bool QAxBase::initializeRemote ( IUnknown ** ptr )\fC [protected]\fR"
+Creates the instance on a remote server, and returns the IUnknown interface to the object in \fIptr\fR. This function returns TRUE if successful, otherwise returns FALSE.
+.PP
+This function is called by initialize() if the control string contains the substring "/{". The information about the remote machine needs to be provided in front of the substring.
+.PP
+See also initialize().
+.SH "bool QAxBase::isNull () const"
+Returns TRUE if there is no COM object loaded by this wrapper; otherwise return FALSE.
+.PP
+See also control.
+.SH "PropertyBag QAxBase::propertyBag () const"
+Returns a name:value map of all the properties exposed by the COM object.
+.PP
+This is more efficient than getting multiple properties individually if the COM object supports property bags.
+.PP
+\fBWarning:\fR It is not guaranteed that the property bag implementation of the COM object returns all properties, or that the properties returned are the same as those available through the IDispatch interface.
+.SH "void QAxBase::propertyChanged ( const QString & name )\fC [signal]\fR"
+If the COM object supports property notification, this signal gets emitted when the property called \fIname\fR is changed.
+.SH "bool QAxBase::propertyWritable ( const char * prop ) const\fC [virtual]\fR"
+Returns TRUE if the property \fIprop\fR is writable; otherwise returns FALSE. By default, all properties are writable.
+.PP
+\fBWarning:\fR Depending on the control implementation this setting might be ignored for some properties.
+.PP
+See also setPropertyWritable() and propertyChanged().
+.SH "long QAxBase::queryInterface ( const QUuid & uuid, void ** iface ) const"
+Requests the interface \fIuuid\fR from the COM object and sets the value of \fIiface\fR to the provided interface, or to 0 if the requested interface could not be provided.
+.PP
+Returns the result of the QueryInterface implementation of the COM object.
+.PP
+See also control.
+.SH "QAxObject * QAxBase::querySubObject ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Returns a pointer to a QAxObject wrapping the COM object provided by the method or property \fIname\fR, passing passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR.
+.PP
+If \fIname\fR is provided by a method the string must include the full function prototype.
+.PP
+If \fIname\fR is a property the string must be the name of the property, and \fIvar1\fR, ... \fIvar8\fR are ignored.
+.PP
+The returned QAxObject is a child of this object (which is either of type QAxObject or QAxWidget), and is deleted when this object is deleted. It is however safe to delete the returned object yourself, and you should do so when you iterate over lists of subobjects.
+.PP
+COM enabled applications usually have an object model publishing certain elements of the application as dispatch interfaces. Use this method to navigate the hierarchy of the object model, e.g.
+.PP
+.nf
+.br
+ QAxWidget outlook( "Outlook.Application" );
+.br
+ QAxObject *session = outlook.querySubObject( "Session" );
+.br
+ if ( session ) {
+.br
+ QAxObject *defFolder = session->querySubObject(
+.br
+ "GetDefaultFolder(OlDefaultFolders)",
+.br
+ "olFolderContacts" );
+.br
+ //...
+.br
+ }
+.br
+.fi
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "bool QAxBase::setControl ( const QString & )"
+Sets the name of the COM object wrapped by this QAxBase object. See the "control" property for details.
+.SH "void QAxBase::setPropertyBag ( const PropertyBag & bag )"
+Sets the properties of the COM object to the corresponding values in \fIbag\fR.
+.PP
+\fBWarning:\fR You should only set property bags that have been returned by the propertyBag function, as it cannot be guaranteed that the property bag implementation of the COM object supports the same properties that are available through the IDispatch interface.
+.PP
+See also propertyBag().
+.SH "void QAxBase::setPropertyWritable ( const char * prop, bool ok )\fC [virtual]\fR"
+Sets the property \fIprop\fR to writable if \fIok\fR is TRUE, otherwise sets \fIprop\fR to be read-only. By default, all properties are writable.
+.PP
+\fBWarning:\fR Depending on the control implementation this setting might be ignored for some properties.
+.PP
+See also propertyWritable() and propertyChanged().
+.SH "void QAxBase::signal ( const QString & name, int argc, void * argv )\fC [signal]\fR"
+This generic signal gets emitted when the COM object issues the event \fIname\fR. \fIargc\fR is the number of parameters provided by the event (DISPPARAMS.cArgs), and \fIargv\fR is the pointer to the parameter values (DISPPARAMS.rgvarg). Note that the order of parameter values is turned around, ie. the last element of the array is the first parameter in the function.
+.PP
+.nf
+.br
+ void Receiver::slot( const QString &name, int argc, void *argv )
+.br
+ {
+.br
+ VARIANTARG *params = (VARIANTARG*)argv;
+.br
+ if ( name.startsWith( "BeforeNavigate2(" ) ) {
+.br
+ IDispatch *pDisp = params[argc-1].pdispVal;
+.br
+ VARIANTARG URL = *params[argc-2].pvarVal;
+.br
+ VARIANTARG Flags = *params[argc-3].pvarVal;
+.br
+ VARIANTARG TargetFrameName = *params[argc-4].pvarVal;
+.br
+ VARIANTARG PostData = *params[argc-5].pvarVal;
+.br
+ VARIANTARG Headers = *params[argc-6].pvarVal;
+.br
+ bool *Cancel = params[argc-7].pboolVal;
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+Use this signal if the event has parameters of unsupported data types. Otherwise, connect directly to the signal \fIname\fR.
+.SS "Property Documentation"
+.SH "QString control"
+This property holds the name of the COM object wrapped by this QAxBase object.
+.PP
+Setting this property initilializes the COM object. Any COM object previously set is shut down.
+.PP
+The most efficient way to set this property is by using the registered component's UUID, e.g.
+.PP
+.nf
+.br
+ ctrl->setControl( "{8E27C92B-1264-101C-8A2F-040224009C02}" );
+.br
+.fi
+The second fastest way is to use the registered control's class name (with or without version number), e.g.
+.PP
+.nf
+.br
+ ctrl->setControl( "MSCal.Calendar" );
+.br
+.fi
+The slowest, but easiest way to use is to use the control's full name, e.g.
+.PP
+.nf
+.br
+ ctrl->setControl( "Calendar Control 9.0" );
+.br
+.fi
+.PP
+If the component's UUID is used the following patterns can be used to initialize the control on a remote machine, to initialize a licensed control or to connect to a running object:
+.TP
+To initialize the control on a different machine use the following pattern:
+.IP
+.nf
+.br
+ <domain/username>:<password>@server/{8E27C92B-1264-101C-8A2F-040224009C02}
+.br
+.fi
+.TP
+To initialize a licensed control use the following pattern:
+.IP
+.nf
+.br
+ {8E27C92B-1264-101C-8A2F-040224009C02}:<LicenseKey>
+.br
+.fi
+.TP
+To connect to an already running object use the following pattern:
+.IP
+.nf
+.br
+ {8E27C92B-1264-101C-8A2F-040224009C02}&
+.br
+.fi
+The first two patterns can be combined, e.g. to initialize a licensed control on a remote machine:
+.PP
+.nf
+.br
+ ctrl->setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");
+.br
+.fi
+.PP
+The control's read function always returns the control's UUID, if provided including the license key, and the name of the server, but not including the username, the domain or the password.
+.PP
+Set this property's value with setControl() and get this property's value with control().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxbase.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxbase.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxbindable.3qt b/doc/man/man3/qaxbindable.3qt
new file mode 100644
index 0000000..756b151
--- /dev/null
+++ b/doc/man/man3/qaxbindable.3qt
@@ -0,0 +1,152 @@
+'\" t
+.TH QAxBindable 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxBindable \- Interface between a QWidget and an ActiveX client
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxbindable.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxBindable\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QAxBindable\fR ()"
+.br
+.ti -1c
+.BI "virtual QAxAggregated * \fBcreateAggregate\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBreportError\fR ( int code, const QString & src, const QString & desc, const QString & context = QString::null )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "bool \fBrequestPropertyChange\fR ( const char * property )"
+.br
+.ti -1c
+.BI "void \fBpropertyChanged\fR ( const char * property )"
+.br
+.ti -1c
+.BI "IUnknown * \fBclientSite\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxBindable class provides an interface between a QWidget and an ActiveX client.
+.PP
+The functions provided by this class allow an ActiveX control to communicate property changes to a client application. Inherit your control class from both QWidget (directly or indirectly) and this class to get access to this class's functions. The meta object compiler requires you to inherit from QWidget \fIfirst\fR.
+.PP
+.nf
+.br
+ class MyActiveX : public QWidget, public QAxBindable
+.br
+ {
+.br
+ Q_OBJECT
+.br
+ Q_PROPERTY( int value READ value WRITE setValue )
+.br
+ public:
+.br
+ MyActiveX( QWidget *parent = 0, const char *name = 0 );
+.br
+ ...
+.br
+.br
+ int value() const;
+.br
+ void setValue( int );
+.br
+ };
+.br
+.fi
+.PP
+When implementing the property write function, use requestPropertyChange() to get permission from the ActiveX client application to change this property. When the property changes, call propertyChanged() to notify the ActiveX client application about the change. If a fatal error occurs in the control, use the static reportError() function to notify the client.
+.PP
+Use the interface returned by clientSite() to call the ActiveX client. To implement additional COM interfaces in your ActiveX control, reimplement createAggregate() to return a new object of a QAxAggregated subclass.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxBindable::QAxBindable ()"
+Constructs an empty QAxBindable object.
+.SH "QAxBindable::~QAxBindable ()\fC [virtual]\fR"
+Destroys the QAxBindable object.
+.SH "IUnknown * QAxBindable::clientSite () const\fC [protected]\fR"
+Returns a pointer to the client site interface for this ActiveX object, or null if no client site has been set.
+.PP
+Call QueryInterface() on the returned interface to get the interface you want to call.
+.SH "QAxAggregated * QAxBindable::createAggregate ()\fC [virtual]\fR"
+Reimplement this function when you want to implement additional COM interfaces in the ActiveX control, or when you want to provide alternative implementations of COM interfaces. Return a new object of a QAxAggregated subclass.
+.PP
+The default implementation returns the null pointer.
+.SH "void QAxBindable::propertyChanged ( const char * property )\fC [protected]\fR"
+Call this function to notify the client that is hosting this ActiveX control that the property \fIproperty\fR has been changed.
+.PP
+This function is usually called at the end of the property's write function.
+.PP
+See also requestPropertyChange().
+.SH "void QAxBindable::reportError ( int code, const QString & src, const QString & desc, const QString & context = QString::null )\fC [static]\fR"
+Reports an error to the client application. \fIcode\fR is a control-defined error code. \fIdesc\fR is a human-readable description of the error intended for the application user. \fIsrc\fR is the name of the source for the error, typically the ActiveX server name. \fIcontext\fR can be the location of a help file with more information about the error. If \fIcontext\fR ends with a number in brackets, e.g. [12], this number will be interpreted as the context ID in the help file.
+.SH "bool QAxBindable::requestPropertyChange ( const char * property )\fC [protected]\fR"
+Call this function to request permission to change the property \fIproperty\fR from the client that is hosting this ActiveX control. Returns TRUE if the client allows the change; otherwise returns FALSE.
+.PP
+This function is usually called first in the write function for \fIproperty\fR, and writing is abandoned if the function returns FALSE.
+.PP
+.nf
+.br
+ void MyActiveQt::setText( const QString &text )
+.br
+ {
+.br
+ if ( !requestPropertyChange( "text" ) )
+.br
+ return;
+.br
+.br
+ // update property
+.br
+.br
+ propertyChanged( "text" );
+.br
+ }
+.br
+.fi
+.PP
+See also propertyChanged().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxbindable.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxbindable.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxfactory.3qt b/doc/man/man3/qaxfactory.3qt
new file mode 100644
index 0000000..0120047
--- /dev/null
+++ b/doc/man/man3/qaxfactory.3qt
@@ -0,0 +1,436 @@
+'\" t
+.TH QAxFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxFactory \- Defines a factory for the creation of COM components
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxfactory.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxFactory\fR ( const QUuid & libid, const QUuid & appid )"
+.br
+.ti -1c
+.BI "virtual \fB~QAxFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBfeatureList\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreate\fR ( const QString & key, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual QObject * \fBcreateObject\fR ( const QString & key, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual QMetaObject * \fBmetaObject\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBcreateObjectWrapper\fR ( QObject * object, IDispatch ** wrapper )"
+.br
+.ti -1c
+.BI "virtual QUuid \fBclassID\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QUuid \fBinterfaceID\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QUuid \fBeventsID\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QUuid \fBtypeLibID\fR () const"
+.br
+.ti -1c
+.BI "virtual QUuid \fBappID\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBregisterClass\fR ( const QString & key, QSettings * settings ) const"
+.br
+.ti -1c
+.BI "virtual void \fBunregisterClass\fR ( const QString & key, QSettings * settings ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBvalidateLicenseKey\fR ( const QString & key, const QString & licenseKey ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBexposeToSuperClass\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBstayTopLevel\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasStockEvents\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBisService\fR () const"
+.br
+.ti -1c
+.BI "enum \fBServerType\fR { SingleInstance, MultipleInstances }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBisServer\fR ()"
+.br
+.ti -1c
+.BI "QString \fBserverDirPath\fR ()"
+.br
+.ti -1c
+.BI "QString \fBserverFilePath\fR ()"
+.br
+.ti -1c
+.BI "bool \fBstartServer\fR ( ServerType type = MultipleInstances )"
+.br
+.ti -1c
+.BI "bool \fBstopServer\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxFactory class defines a factory for the creation of COM components.
+.PP
+
+.PP
+Implement this factory once in your ActiveX server to provide information about the components the server can create. If your server supports just a single ActiveX control, you can use the default factory implementation instead of implementing the factory yourself. Use the QAXFACTORY_DEFAULT macro in any implementation file (e.g. main.cpp) to instantiate and export the default factory:
+.PP
+.nf
+.br
+ #include <qapplication.h>
+.br
+ #include <qaxfactory.h>
+.br
+.br
+ #include "theactivex.h"
+.br
+.br
+ QAXFACTORY_DEFAULT(
+.br
+ TheActiveX, // widget class
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // class ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // interface ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // event interface ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+.br
+ )
+.br
+.fi
+.PP
+If you implement your own factory reimplement the pure virtual functions, provide the unique identifiers for the ActiveX controls, and use the QAXFACTORY_EXPORT macro to instantiate and export it:
+.PP
+.nf
+.br
+ QStringList ActiveQtFactory::featureList() const
+.br
+ {
+.br
+ QStringList list;
+.br
+ list << "ActiveX1";
+.br
+ list << "ActiveX2";
+.br
+ ...
+.br
+ return list;
+.br
+ }
+.br
+.br
+ QWidget *ActiveQtFactory::create( const QString &key, QWidget *parent, const char *name )
+.br
+ {
+.br
+ if ( key == "ActiveX1" )
+.br
+ return new ActiveX1( parent, name );
+.br
+ if ( key == "ActiveX2" )
+.br
+ return new ActiveX2( parent, name );
+.br
+ ...
+.br
+ return 0;
+.br
+ }
+.br
+.br
+ QUuid ActiveQtFactory::classID( const QString &key ) const
+.br
+ {
+.br
+ if ( key == "ActiveX1" )
+.br
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+.br
+ ...
+.br
+ return QUuid();
+.br
+ }
+.br
+.br
+ QUuid ActiveQtFactory::interfaceID( const QString &key ) const
+.br
+ {
+.br
+ if ( key == "ActiveX1" )
+.br
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+.br
+ ...
+.br
+ return QUuid();
+.br
+ }
+.br
+.br
+ QUuid ActiveQtFactory::eventsID( const QString &key ) const
+.br
+ {
+.br
+ if ( key == "ActiveX1" )
+.br
+ return "{01234567-89AB-CDEF-0123-456789ABCDEF}";
+.br
+ ...
+.br
+ return QUuid();
+.br
+ }
+.br
+.br
+ QAXFACTORY_EXPORT(
+.br
+ MyFactory, // factory class
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+.br
+ )
+.br
+.fi
+.PP
+If you use the \fCQ_CLASSINFO\fR macro to provide the unique identifiers or other attributes for your class you can use the QAXFACTORY_BEGIN, QAXCLASS and QAXFACTORY_END macros to expose one or more classes as COM objects.
+.PP
+.nf
+.br
+ QAXFACTORY_BEGIN(
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}", // type library ID
+.br
+ "{01234567-89AB-CDEF-0123-456789ABCDEF}" // application ID
+.br
+ )
+.br
+ QAXCLASS(Class1)
+.br
+ QAXCLASS(Class2)
+.br
+ QAXFACTORY_END()
+.br
+.fi
+.PP
+Only one QAxFactory implementation may be instantiated and exported by an ActiveX server application. This instance is accessible through the global qAxFactory() function.
+.PP
+A factory can also reimplement the registerClass() and unregisterClass() functions to set additional flags for an ActiveX control in the registry. To limit the number of methods or properties a widget class exposes from its parent classes reimplement exposeToSuperClass().
+.SS "Member Type Documentation"
+.SH "QAxFactory::ServerType"
+This enum specifies the different types of servers that can be started with startServer.
+.TP
+\fCQAxFactory::SingleInstance\fR - The server can create only one instance of each supplied class.
+.TP
+\fCQAxFactory::MultipleInstances\fR - The server can create multiple instances of each supplied class.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxFactory::QAxFactory ( const QUuid & libid, const QUuid & appid )"
+Constructs a QAxFactory object that returns \fIlibid\fR and \fIappid\fR in the implementation of the respective interface functions.
+.SH "QAxFactory::~QAxFactory ()\fC [virtual]\fR"
+Destroys the QAxFactory object.
+.SH "QUuid QAxFactory::appID () const\fC [virtual]\fR"
+Reimplement this function to return the ActiveX server's application identifier.
+.SH "QUuid QAxFactory::classID ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return the class identifier for each \fIkey\fR returned by the featureList() implementation, or an empty QUuid if this factory doesn't support the value of \fIkey\fR.
+.PP
+The default implementation interprets \fIkey\fR as the class name, and returns the value of the Q_CLASSINFO entry "ClassID".
+.SH "QWidget * QAxFactory::create ( const QString & key, QWidget * parent = 0, const char * name = 0 )\fC [virtual]\fR"
+Reimplement this function to return a new widget for \fIkey\fR. Propagate \fIparent\fR and \fIname\fR to the QWidget constructor. Return 0 if this factory doesn't support the value of \fIkey\fR.
+.PP
+The returned widget will be exposed as an ActiveX control, e.g. a COM object that can be embedded as a control into applications.
+.PP
+The default implementation returns 0.
+.SH "QObject * QAxFactory::createObject ( const QString & key, QObject * parent = 0, const char * name = 0 )\fC [virtual]\fR"
+Reimplement this function to return a new object for \fIkey\fR. Propagate \fIparent\fR and \fIname\fR to the QWidget constructor. Return 0 if this factory doesn't support the value of \fIkey\fR.
+.PP
+If the object returned is a QWidget it will be exposed as an ActiveX control, otherwise the returned object will be exposed as a COM object.
+.PP
+The default implementation returns the result QAxFactory::create() if \fIparent\fR is 0 or a widget, otherwise returns 0.
+.SH "bool QAxFactory::createObjectWrapper ( QObject * object, IDispatch ** wrapper )\fC [virtual]\fR"
+Reimplement this function to provide the COM object for \fIobject\fR in \fIwrapper\fR. Return TRUE if the function was successfull, otherwise return FALSE.
+.PP
+The default implementation creates a generic automation wrapper based on the meta object information of \fIobject\fR.
+.SH "QUuid QAxFactory::eventsID ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return the identifier of the event interface for each \fIkey\fR returned by the featureList() implementation, or an empty QUuid if this factory doesn't support the value of \fIkey\fR.
+.PP
+The default implementation interprets \fIkey\fR as the class name, and returns the value of the Q_CLASSINFO entry "EventsID".
+.SH "QString QAxFactory::exposeToSuperClass ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return the name of the super class of \fIkey\fR up to which methods and properties should be exposed by the ActiveX control.
+.PP
+The default implementation interprets \fIkey\fR as the class name, and returns the value of the Q_CLASSINFO entry "ToSuperClass". If no such value is set the null-string is returned, and the functions and properties of all the super classes including QWidget will be exposed.
+.PP
+To only expose the functions and properties of the class itself, reimplement this function to return \fIkey\fR.
+.SH "QStringList QAxFactory::featureList () const\fC [pure virtual]\fR"
+Reimplement this function to return a list of the widgets (class names) supported by this factory.
+.SH "bool QAxFactory::hasStockEvents ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return TRUE if the ActiveX control \fIkey\fR should support the standard ActiveX events
+.TP
+Click
+.TP
+DblClick
+.TP
+KeyDown
+.TP
+KeyPress
+.TP
+KeyUp
+.TP
+MouseDown
+.TP
+MouseUp
+.TP
+MouseMove
+.PP
+The default implementation interprets \fIkey\fR as the class name, and returns TRUE if the value of the Q_CLASSINFO entry "StockEvents" is "yes". Otherwise this function returns FALSE.
+.SH "QUuid QAxFactory::interfaceID ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return the interface identifier for each \fIkey\fR returned by the featureList() implementation, or an empty QUuid if this factory doesn't support the value of \fIkey\fR.
+.PP
+The default implementation interprets \fIkey\fR as the class name, and returns the value of the Q_CLASSINFO entry "InterfaceID".
+.SH "bool QAxFactory::isServer ()\fC [static]\fR"
+Returns TRUE if the application has been started (by COM) as an ActiveX server, otherwise returns FALSE.
+.PP
+.nf
+.br
+ int main( int argc, char**argv )
+.br
+ {
+.br
+ QApplication app( argc, argv );
+.br
+.br
+ if ( !QAxFactory::isServer() ) {
+.br
+ // initialize for stand-alone execution
+.br
+ }
+.br
+.br
+ return app.exec() // standard event processing
+.br
+ }
+.br
+.fi
+.SH "bool QAxFactory::isService () const\fC [virtual]\fR"
+Reimplement this function to return TRUE if the server is running as a persistent service (e.g. an NT service) and should not terminate even when all objects provided have been released.
+.PP
+The default implementation returns FALSE.
+.SH "QMetaObject * QAxFactory::metaObject ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return the QMetaObject corresponding to \fIkey\fR, or 0 if this factory doesn't support the value of \fIkey\fR.
+.PP
+The default implementation returns the QMetaObject for the class \fIkey\fR.
+.SH "void QAxFactory::registerClass ( const QString & key, QSettings * settings ) const\fC [virtual]\fR"
+Registers additional values for the class \fIkey\fR in the system registry using the \fIsettings\fR object. The standard values have already been registed by the framework, but additional values, e.g. implemented categories, can be added in an implementation of this function.
+.PP
+.nf
+.br
+ settings->writeEntry( "/CLSID/" + classID(key) + "/Implemented Categories/{00000000-0000-0000-000000000000}/.", QString::null );
+.br
+.fi
+.PP
+If you reimplement this function you must also reimplement unregisterClass() to remove the additional registry values.
+.PP
+See also QSettings.
+.SH "QString QAxFactory::serverDirPath ()\fC [static]\fR"
+Returns the directory that contains the server binary.
+.PP
+For out-of-process servers this is the same as QApplication::applicationDirPath(). For in-process servers that function returns the directory that contains the hosting application.
+.SH "QString QAxFactory::serverFilePath ()\fC [static]\fR"
+Returns the file path of the server binary.
+.PP
+For out-of-process servers this is the same as QApplication::applicationFilePath(). For in-process servers that function returns the file path of the hosting application.
+.SH "bool QAxFactory::startServer ( ServerType type = MultipleInstances )\fC [static]\fR"
+Starts the COM server with \fItype\fR and returns TRUE if successful, otherwise returns FALSE.
+.PP
+Calling this function if the server is already running (or for an in-process server) does nothing and returns TRUE.
+.PP
+The server is started automatically with \fItype\fR set to MultipleUse if the server executable has been started with the \fC-activex\fR command line parameter.
+.SH "bool QAxFactory::stayTopLevel ( const QString & key ) const\fC [virtual]\fR"
+Reimplement this function to return TRUE if the ActiveX control \fIkey\fR should be a top level window, e.g. a dialog. The default implementation returns FALSE.
+.SH "bool QAxFactory::stopServer ()\fC [static]\fR"
+Stops the COM server and returns TRUE if successful, otherwise returns FALSE.
+.PP
+Calling this function if the server is not running (or for an in-process server) does nothing and returns TRUE.
+.PP
+Stopping the server will not invalidate existing objects, but no new objects can be created from the existing server process. Usually COM will start a new server process if additional objects are requested.
+.PP
+The server is stopped automatically when the main() function returns.
+.SH "QUuid QAxFactory::typeLibID () const\fC [virtual]\fR"
+Reimplement this function to return the ActiveX server's type library identifier.
+.SH "void QAxFactory::unregisterClass ( const QString & key, QSettings * settings ) const\fC [virtual]\fR"
+Unregisters any additional values for the class \fIkey\fR from the system registry using the \fIsettings\fR object.
+.PP
+.nf
+.br
+ settings->removeEntry( "/CLSID/" + classID(key) + "/Implemented Categories/{00000000-0000-0000-000000000000}/." );
+.br
+.fi
+.PP
+See also registerClass() and QSettings.
+.SH "bool QAxFactory::validateLicenseKey ( const QString & key, const QString & licenseKey ) const\fC [virtual]\fR"
+Reimplement this function to return TRUE if \fIlicenseKey\fR is a valid license for the class \fIkey\fR, or if the current machine is licensed.
+.PP
+The default implementation returns TRUE if the class \fIkey\fR is not
+licensed (ie. no Q_CLASSINFO attribute "LicenseKey"), or if
+\fIlicenseKey\fR matches the value of the "LicenseKey" attribute, or
+if the machine is licensed through a .LIC file with the same filename
+as this COM server.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxobject.3qt b/doc/man/man3/qaxobject.3qt
new file mode 100644
index 0000000..4041383
--- /dev/null
+++ b/doc/man/man3/qaxobject.3qt
@@ -0,0 +1,183 @@
+'\" t
+.TH QAxObject 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxObject \- QObject that wraps a COM object
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxobject.h>\fR
+.PP
+Inherits QObject and QAxBase.
+.PP
+Inherited by QAxScriptEngine.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxObject\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQAxObject\fR ( const QString & c, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQAxObject\fR ( IUnknown * iface, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QAxObject\fR ()"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, QValueList<QVariant> & vars )"
+.br
+.ti -1c
+.BI "QAxObject * \fBquerySubObject\fR ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxObject class provides a QObject that wraps a COM object.
+.PP
+A QAxObject can be instantiated as an empty object, with the name of the COM object it should wrap, or with a pointer to the IUnknown that represents an existing COM object. If the COM object implements the IDispatch interface, the properties, methods and events of that object become available as Qt properties, slots and signals. The base class, QAxBase, provides an API to access the COM object directly through the IUnknown pointer.
+.PP
+QAxObject is a QObject and can be used as such, e.g. it can be organized in an object hierarchy, receive events and connect to signals and slots.
+.PP
+\fBWarning:\fR You can subclass QAxObject, but you cannot use the Q_OBJECT macro in the subclass (the generated moc-file will not compile), so you cannot add further signals, slots or properties. This limitation is due to the metaobject information generated in runtime. To work around this problem, aggregate the QAxObject as a member of the QObject subclass.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxObject::QAxObject ( QObject * parent = 0, const char * name = 0 )"
+Creates an empty COM object and propagates \fIparent\fR and \fIname\fR to the QObject constructor. To initialize the object, call setControl.
+.SH "QAxObject::QAxObject ( const QString & c, QObject * parent = 0, const char * name = 0 )"
+Creates a QAxObject that wraps the COM object \fIc\fR. \fIparent\fR and \fIname\fR are propagated to the QWidget contructor.
+.PP
+See also control.
+.SH "QAxObject::QAxObject ( IUnknown * iface, QObject * parent = 0, const char * name = 0 )"
+Creates a QAxObject that wraps the COM object referenced by \fIiface\fR. \fIparent\fR and \fIname\fR are propagated to the QObject contructor.
+.SH "QAxObject::~QAxObject ()"
+Releases the COM object and destroys the QAxObject, cleaning up all allocated resources.
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Calls the COM object's method \fIfunction\fR, passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR, and returns the value returned by the method, or an invalid QVariant if the method does not return a value or when the function call failed.
+.PP
+If \fIfunction\fR is a method of the object the string must be provided as the full prototype, for example as it would be written in a QObject::connect() call.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Navigate(const QString&)", "www.trolltech.com" );
+.br
+.fi
+.PP
+Alternatively a function can be called passing the parameters embedded in the string, e.g. above function can also be invoked using
+.PP
+.nf
+.br
+ activeX->dynamicCall("Navigate(\\"www.trolltech.com\\");
+.br
+.fi
+All parameters are passed as strings; it depends on the control whether they are interpreted correctly, and is slower than using the prototype with correctly typed parameters.
+.PP
+If \fIfunction\fR is a property the string has to be the name of the property. The property setter is called when \fIvar1\fR is a valid QVariant, otherwise the getter is called.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Value", 5 );
+.br
+ QString text = activeX->dynamicCall( "Text" ).toString();
+.br
+.fi
+Note that it is faster to get and set properties using QObject::property() and QObject::setProperty().
+.PP
+It is only possible to call functions through dynamicCall() that have parameters or return values of datatypes supported by QVariant. See the QAxBase class documentation for a list of supported and unsupported datatypes. If you want to call functions that have unsupported datatypes in the parameter list, use queryInterface() to retrieve the appropriate COM interface, and use the function directly.
+.PP
+.nf
+.br
+ IWebBrowser2 *webBrowser = 0;
+.br
+ activeX->queryInterface( IID_IWebBrowser2, (void**)&webBrowser );
+.br
+ if ( webBrowser ) {
+.br
+ webBrowser->Navigate2( pvarURL );
+.br
+ webBrowser->Release();
+.br
+ }
+.br
+.fi
+.PP
+This is also more efficient.
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, QValueList<QVariant> & vars )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calls the COM object's method \fIfunction\fR, passing the parameters in \fIvars\fR, and returns the value returned by the method. If the method does not return a value or when the function call failed this function returns an invalid QVariant object.
+.PP
+The QVariant objects in \fIvars\fR are updated when the method has out-parameters.
+.SH "QAxObject * QAxBase::querySubObject ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Returns a pointer to a QAxObject wrapping the COM object provided by the method or property \fIname\fR, passing passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR.
+.PP
+If \fIname\fR is provided by a method the string must include the full function prototype.
+.PP
+If \fIname\fR is a property the string must be the name of the property, and \fIvar1\fR, ... \fIvar8\fR are ignored.
+.PP
+The returned QAxObject is a child of this object (which is either of type QAxObject or QAxWidget), and is deleted when this object is deleted. It is however safe to delete the returned object yourself, and you should do so when you iterate over lists of subobjects.
+.PP
+COM enabled applications usually have an object model publishing certain elements of the application as dispatch interfaces. Use this method to navigate the hierarchy of the object model, e.g.
+.PP
+.nf
+.br
+ QAxWidget outlook( "Outlook.Application" );
+.br
+ QAxObject *session = outlook.querySubObject( "Session" );
+.br
+ if ( session ) {
+.br
+ QAxObject *defFolder = session->querySubObject(
+.br
+ "GetDefaultFolder(OlDefaultFolders)",
+.br
+ "olFolderContacts" );
+.br
+ //...
+.br
+ }
+.br
+.fi
+.PP
+Example: qutlook/centralwidget.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxobject.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxobject.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxscript.3qt b/doc/man/man3/qaxscript.3qt
new file mode 100644
index 0000000..2ed728e
--- /dev/null
+++ b/doc/man/man3/qaxscript.3qt
@@ -0,0 +1,169 @@
+'\" t
+.TH QAxScript 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxScript \- Wrapper around script code
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxscript.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBFunctionFlags\fR { FunctionNames = 0, FunctionSignatures }"
+.br
+.ti -1c
+.BI "\fBQAxScript\fR ( const QString & name, QAxScriptManager * manager )"
+.br
+.ti -1c
+.BI "\fB~QAxScript\fR ()"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & code, const QString & language = QString::null )"
+.br
+.ti -1c
+.BI "QStringList \fBfunctions\fR ( FunctionFlags flags = FunctionNames ) const"
+.br
+.ti -1c
+.BI "QString \fBscriptCode\fR () const"
+.br
+.ti -1c
+.BI "QString \fBscriptName\fR () const"
+.br
+.ti -1c
+.BI "QAxScriptEngine * \fBscriptEngine\fR () const"
+.br
+.ti -1c
+.BI "QVariant \fBcall\fR ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "QVariant \fBcall\fR ( const QString & function, QValueList<QVariant> & arguments )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBentered\fR ()"
+.br
+.ti -1c
+.BI "void \fBfinished\fR ()"
+.br
+.ti -1c
+.BI "void \fBfinished\fR ( const QVariant & result )"
+.br
+.ti -1c
+.BI "void \fBfinished\fR ( int code, const QString & source, const QString & description, const QString & help )"
+.br
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.ti -1c
+.BI "void \fBerror\fR ( int code, const QString & description, int sourcePosition, const QString & sourceText )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxScript class provides a wrapper around script code.
+.PP
+Every instance of the QAxScript class represents a piece of scripting code in a particular scripting language. The code is loaded into the script engine using load(). Functions declared in the code can be called using call().
+.PP
+The script provides scriptEngine() provides feedback to the application through signals. The most important signal is the error() signal. Direct access to the QAxScriptEngine is provided through the scriptEngine() function.
+.PP
+\fBWarning:\fR This class is not available with the bcc5.5 and MingW compilers.
+.SS "Member Type Documentation"
+.SH "QAxScript::FunctionFlags"
+This FunctionFlags enum describes formatting for function introspection.
+.TP
+\fCQAxScript::FunctionNames\fR - Only function names are returned.
+.TP
+\fCQAxScript::FunctionSignatures\fR - Returns the functions with signatures.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxScript::QAxScript ( const QString & name, QAxScriptManager * manager )"
+Constructs a QAxScript object called \fIname\fR and registers it with the QAxScriptManager \fImanager\fR. This is usually done by the QAxScriptManager class when loading a script.
+.PP
+A script should always have a name. A manager is necessary to allow the script code to reference objects in the application. The \fImanager\fR takes ownership of the object.
+.SH "QAxScript::~QAxScript ()"
+Destroys the object, releasing all allocated resources.
+.SH "QVariant QAxScript::call ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Calls \fIfunction\fR, passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR as arguments and returns the value returned by the function, or an invalid QVariant if the function does not return a value or when the function call failed.
+.PP
+See QAxScriptManager::call() for more information about how to call script functions.
+.SH "QVariant QAxScript::call ( const QString & function, QValueList<QVariant> & arguments )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calls \fIfunction\fR passing \fIarguments\fR as parameters, and returns the result. Returns when the script's execution has finished.
+.PP
+See QAxScriptManager::call() for more information about how to call script functions.
+.SH "void QAxScript::entered ()\fC [signal]\fR"
+This signal is emitted when a script engine has started executing code.
+.SH "void QAxScript::error ( int code, const QString & description, int sourcePosition, const QString & sourceText )\fC [signal]\fR"
+This signal is emitted when an execution error occured while running a script.
+.PP
+\fIcode\fR, \fIdescription\fR, \fIsourcePosition\fR and \fIsourceText\fR contain information about the execution error.
+.SH "void QAxScript::finished ()\fC [signal]\fR"
+This signal is emitted when a script engine has finished executing code.
+.SH "void QAxScript::finished ( const QVariant & result )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIresult\fR contains the script's result. This will be an invalid QVariant if the script has no return value.
+.SH "void QAxScript::finished ( int code, const QString & source, const QString & description, const QString & help )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIcode\fR, \fIsource\fR, \fIdescription\fR and \fIhelp\fR contain exception information when the script terminated.
+.SH "QStringList QAxScript::functions ( FunctionFlags flags = FunctionNames ) const"
+Returns a list of all the functions in this script if the respective script engine supports introspection; otherwise returns an empty list. The functions are either provided with full prototypes or only as names, depending on the value of \fIflags\fR.
+.PP
+See also QAxScriptEngine::hasIntrospection().
+.SH "bool QAxScript::load ( const QString & code, const QString & language = QString::null )"
+Loads the script source \fIcode\fR written in language \fIlanguage\fR into the script engine. Returns TRUE if \fIcode\fR was successfully entered into the script engine; otherwise returns FALSE.
+.PP
+If \fIlanguage\fR is empty (the default) it will be determined heuristically. If \fIcode\fR contains the string \fCEnd Sub\fR it will be interpreted as VBScript, otherwise as JScript. Additional scripting languages can be registered using QAxScript::registerEngine().
+.PP
+This function can only be called once for each QAxScript object, which is done automatically when using QAxScriptManager::load().
+.SH "QString QAxScript::scriptCode () const"
+Returns the script's code, or the null-string if no code has been loaded yet.
+.PP
+See also load().
+.SH "QAxScriptEngine * QAxScript::scriptEngine () const"
+Returns a pointer to the script engine.
+.PP
+You can use the object returned to connect signals to the script functions, or to access the script engine directly.
+.SH "QString QAxScript::scriptName () const"
+Returns the name of the script.
+.SH "void QAxScript::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted when a script engine changes state.
+\fIstate\fR can be any value in the QAxScriptEngineState enumeration.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxscript.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxscript.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxscriptengine.3qt b/doc/man/man3/qaxscriptengine.3qt
new file mode 100644
index 0000000..99cbc80
--- /dev/null
+++ b/doc/man/man3/qaxscriptengine.3qt
@@ -0,0 +1,123 @@
+'\" t
+.TH QAxScriptEngine 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxScriptEngine \- Wrapper around a script engine
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxscript.h>\fR
+.PP
+Inherits QAxObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBState\fR { Uninitialized = 0, Initialized = 5, Started = 1, Connected = 2, Disconnected = 3, Closed = 4 }"
+.br
+.ti -1c
+.BI "\fBQAxScriptEngine\fR ( const QString & language, QAxScript * script )"
+.br
+.ti -1c
+.BI "\fB~QAxScriptEngine\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasIntrospection\fR () const"
+.br
+.ti -1c
+.BI "QString \fBscriptLanguage\fR () const"
+.br
+.ti -1c
+.BI "State \fBstate\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetState\fR ( State st )"
+.br
+.ti -1c
+.BI "void \fBaddItem\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "long \fBqueryInterface\fR ( const QUuid & uuid, void ** iface ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxScriptEngine class provides a wrapper around a script engine.
+.PP
+Every instance of the QAxScriptEngine class represents an interpreter for script code in a particular scripting language. The class is usually not used directly. The QAxScript and QAxScriptManager classes provide convenient functions to handle and call script code.
+.PP
+Direct access to the script engine is provided through queryInterface().
+.PP
+\fBWarning:\fR This class is not available with the bcc5.5 and MingW compilers.
+.SS "Member Type Documentation"
+.SH "QAxScriptEngine::State"
+The State enumeration defines the different states a script engine can be in.
+.TP
+\fCQAxScriptEngine::Uninitialized\fR - The script has been created, but not yet initialized
+.TP
+\fCQAxScriptEngine::Initialized\fR - The script has been initialized, but is not running
+.TP
+\fCQAxScriptEngine::Started\fR - The script can execute code, but does not yet handle events
+.TP
+\fCQAxScriptEngine::Connected\fR - The script can execute code and is connected so that it can handle events
+.TP
+\fCQAxScriptEngine::Disconnected\fR - The script is loaded, but is not connected to event sources
+.TP
+\fCQAxScriptEngine::Closed\fR - The script has been closed.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxScriptEngine::QAxScriptEngine ( const QString & language, QAxScript * script )"
+Constructs a QAxScriptEngine object interpreting script code in \fIlanguage\fR provided by the code in \fIscript\fR. This is usually done by the QAxScript class when loading a script.
+.PP
+Instances of QAxScriptEngine should always have both a language and a script.
+.SH "QAxScriptEngine::~QAxScriptEngine ()"
+Destroys the QAxScriptEngine object, releasing all allocated resources.
+.SH "void QAxScriptEngine::addItem ( const QString & name )"
+Registers an item with the script engine. Script code can refer to this item using \fIname\fR.
+.SH "bool QAxScriptEngine::hasIntrospection () const"
+Returns TRUE if the script engine supports introspection; otherwise returns FALSE.
+.SH "bool QAxScriptEngine::isValid () const"
+Returns TRUE if the script engine has been initialized correctly; otherwise returns FALSE.
+.SH "long QAxScriptEngine::queryInterface ( const QUuid & uuid, void ** iface ) const"
+Requests the interface \fIuuid\fR from the script engine object and sets the value of \fIiface\fR to the provided interface, or to 0 if the requested interface could not be provided.
+.PP
+Returns the result of the QueryInterface implementation of the COM object.
+.SH "QString QAxScriptEngine::scriptLanguage () const"
+Returns the scripting language, for example "VBScript", or "JScript".
+.SH "void QAxScriptEngine::setState ( State st )"
+Sets the state of the script engine to \fIst\fR. Calling this function is usually not necessary.
+.SH "State QAxScriptEngine::state () const"
+Returns the state of the script engine.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxscriptengine.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxscriptengine.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxscriptmanager.3qt b/doc/man/man3/qaxscriptmanager.3qt
new file mode 100644
index 0000000..1c896e2
--- /dev/null
+++ b/doc/man/man3/qaxscriptmanager.3qt
@@ -0,0 +1,197 @@
+'\" t
+.TH QAxScriptManager 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxScriptManager \- Bridge between application objects and script code
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxscript.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxScriptManager\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QAxScriptManager\fR ()"
+.br
+.ti -1c
+.BI "void \fBaddObject\fR ( QAxBase * object )"
+.br
+.ti -1c
+.BI "void \fBaddObject\fR ( QObject * object )"
+.br
+.ti -1c
+.BI "QStringList \fBfunctions\fR ( QAxScript::FunctionFlags flags = QAxScript::FunctionNames ) const"
+.br
+.ti -1c
+.BI "QStringList \fBscriptNames\fR () const"
+.br
+.ti -1c
+.BI "QAxScript * \fBscript\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "QAxScript * \fBload\fR ( const QString & code, const QString & name, const QString & language )"
+.br
+.ti -1c
+.BI "QAxScript * \fBload\fR ( const QString & file, const QString & name )"
+.br
+.ti -1c
+.BI "QVariant \fBcall\fR ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "QVariant \fBcall\fR ( const QString & function, QValueList<QVariant> & arguments )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBerror\fR ( QAxScript * script, int code, const QString & description, int sourcePosition, const QString & sourceText )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBregisterEngine\fR ( const QString & name, const QString & extension, const QString & code = QString ( ) )"
+.br
+.ti -1c
+.BI "QString \fBscriptFileFilter\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxScriptManager class provides a bridge between application objects and script code.
+.PP
+The QAxScriptManager acts as a bridge between the COM objects embedded in the Qt application through QAxObject or QAxWidget, and the scripting languages available through the Windows Script technologies, usually JScript and VBScript.
+.PP
+Create one QAxScriptManager for each separate document in your application, and add the COM objects the scripts need to access using addObject(). Then load() the script sources and invoke the functions using call().
+.PP
+\fBWarning:\fR This class is not available with the bcc5.5 and MingW compilers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxScriptManager::QAxScriptManager ( QObject * parent = 0, const char * name = 0 )"
+Creates a QAxScriptManager object. \fIparent\fR and \fIname\fR are passed on to the QObject constructor.
+.PP
+It is usual to create one QAxScriptManager for each document in an application.
+.SH "QAxScriptManager::~QAxScriptManager ()"
+Destroys the objects, releasing all allocated resources.
+.SH "void QAxScriptManager::addObject ( QAxBase * object )"
+Adds \fIobject\fR to the manager. Scripts handled by this manager can access the object in the code using the object's name property.
+.PP
+You must add all the necessary objects before loading any scripts.
+.SH "void QAxScriptManager::addObject ( QObject * object )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a generic COM wrapper for \fIobject\fR to the manager. \fIobject\fR must be exposed as a COM object using the functionality provided by the QAxServer module.. Applications using this function you must link against the qaxserver library.
+.SH "QVariant QAxScriptManager::call ( const QString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Calls \fIfunction\fR, passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR as arguments and returns the value returned by the function, or an invalid QVariant if the function does not return a value or when the function call failed. The call returns when the script's execution has finished.
+.PP
+In most script engines the only supported parameter type is "const QVariant&", for example, to call a JavaScript function
+.PP
+.nf
+.br
+ function setNumber(number)
+.br
+ {
+.br
+ n = number;
+.br
+ }
+.br
+.fi
+use
+.PP
+.nf
+.br
+ QValueList args;
+.br
+ args << 5;
+.br
+ script->call("setNumber(const QVariant&)", args);
+.br
+.fi
+As with dynamicCall the parameters can directly be embedded in the function string.
+.PP
+.nf
+.br
+ script->call("setNumber(5)");
+.br
+.fi
+However, this is slower.
+.PP
+Functions provided by script engines that don't support introspection are not available and must be called directly using QAxScript::call() on the respective script object.
+.PP
+Note that calling this function can be significantely slower than using call() on the respective QAxScript directly.
+.SH "QVariant QAxScriptManager::call ( const QString & function, QValueList<QVariant> & arguments )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calls \fIfunction\fR passing \fIarguments\fR as parameters, and returns the result. Returns when the script's execution has finished.
+.SH "void QAxScriptManager::error ( QAxScript * script, int code, const QString & description, int sourcePosition, const QString & sourceText )\fC [signal]\fR"
+This signal is emitted when an execution error occured while running \fIscript\fR.
+.PP
+\fIcode\fR, \fIdescription\fR, \fIsourcePosition\fR and \fIsourceText\fR contain information about the execution error.
+.SH "QStringList QAxScriptManager::functions ( QAxScript::FunctionFlags flags = QAxScript::FunctionNames ) const"
+Returns a list with all the functions that are available. Functions provided by script engines that don't support introspection are not included in the list. The functions are either provided with full prototypes or only as names, depending on the value of \fIflags\fR.
+.SH "QAxScript * QAxScriptManager::load ( const QString & code, const QString & name, const QString & language )"
+Loads the script source \fIcode\fR using the script engine for \fIlanguage\fR. The script can later be referred to using its \fIname\fR which should not be empty.
+.PP
+The function returns a pointer to the script for the given \fIcode\fR if the \fIcode\fR was loaded successfully; otherwise it returns 0.
+.PP
+If \fIlanguage\fR is empty it will be determined heuristically. If \fIcode\fR contains the string "End Sub" it will be interpreted as VBScript, otherwise as JScript. Additional script engines can be registered using registerEngine().
+.PP
+You must add all the objects necessary (using addObject()) \fIbefore\fR loading any scripts. If \fIcode\fR declares a function that is already available (no matter in which language) the first function is overloaded and can no longer be called via call(); but it will still be available by calling its script directly.
+.PP
+See also addObject(), scriptNames(), and functions().
+.SH "QAxScript * QAxScriptManager::load ( const QString & file, const QString & name )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads the source code from the \fIfile\fR. The script can later be referred to using its \fIname\fR which should not be empty.
+.PP
+The function returns a pointer to the script engine for the code in \fIfile\fR if \fIfile\fR was loaded successfully; otherwise it returns 0.
+.PP
+The script engine used is determined from the file's extension. By default ".js" files are interpreted as JScript files, and ".vbs" and ".dsm" files are interpreted as VBScript. Additional script engines can be registered using registerEngine().
+.SH "bool QAxScriptManager::registerEngine ( const QString & name, const QString & extension, const QString & code = QString ( ) )\fC [static]\fR"
+Registers the script engine called \fIname\fR and returns TRUE if the engine was found; otherwise does nothing and returns FALSE.
+.PP
+The script engine will be used when loading files with the given \fIextension\fR, or when loading source code that contains the string \fIcode\fR.
+.SH "QAxScript * QAxScriptManager::script ( const QString & name ) const"
+Returns the script called \fIname\fR.
+.PP
+You can use the returned pointer to call functions directly through QAxScript::call(), to access the script engine directly, or to delete and thus unload the script.
+.SH "QString QAxScriptManager::scriptFileFilter ()\fC [static]\fR"
+Returns a file filter listing all the supported script languages. This filter string is convenient for use with QFileDialog.
+.SH "QStringList QAxScriptManager::scriptNames () const"
+Returns a list with the names of all the scripts.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxscriptmanager.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxscriptmanager.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qaxwidget.3qt b/doc/man/man3/qaxwidget.3qt
new file mode 100644
index 0000000..5aaf3c9
--- /dev/null
+++ b/doc/man/man3/qaxwidget.3qt
@@ -0,0 +1,215 @@
+'\" t
+.TH QAxWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QAxWidget \- QWidget that wraps an ActiveX control
+.SH SYNOPSIS
+This class is part of the \fBQt ActiveQt Extension\fR.
+.PP
+\fC#include <qaxwidget.h>\fR
+.PP
+Inherits QWidget and QAxBase.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQAxWidget\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQAxWidget\fR ( const QString & c, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQAxWidget\fR ( IUnknown * iface, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QAxWidget\fR ()"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.ti -1c
+.BI "QVariant \fBdynamicCall\fR ( const QCString & function, QValueList<QVariant> & vars )"
+.br
+.ti -1c
+.BI "QAxObject * \fBquerySubObject\fR ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBcreateHostWindow\fR ( bool initialized )"
+.br
+.ti -1c
+.BI "virtual bool \fBtranslateKeyEvent\fR ( int message, int keycode ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt ActiveQt Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QAxWidget class is a QWidget that wraps an ActiveX control.
+.PP
+A QAxWidget can be instantiated as an empty object, with the name of the ActiveX control it should wrap, or with an existing interface pointer to the ActiveX control. The ActiveX control's properties, methods and events which only use supported data types, become available as Qt properties, slots and signals. The base class QAxBase provides an API to access the ActiveX directly through the IUnknown pointer.
+.PP
+QAxWidget is a QWidget and can be used as such, e.g. it can be organized in a widget hierarchy, receive events or act as an event filter. Standard widget properties, e.g. enabled are supported, but it depends on the ActiveX control to implement support for ambient properties like e.g. palette or font. QAxWidget tries to provide the necessary hints.
+.PP
+\fBWarning:\fR You can subclass QAxWidget, but you cannot use the Q_OBJECT macro in the subclass (the generated moc-file will not compile), so you cannot add further signals, slots or properties. This limitation is due to the metaobject information generated in runtime. To work around this problem, aggregate the QAxWidget as a member of the QObject subclass.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QAxWidget::QAxWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Creates an empty QAxWidget widget and propagates \fIparent\fR, \fIname\fR and \fIf\fR to the QWidget constructor. To initialize a control, call setControl.
+.SH "QAxWidget::QAxWidget ( const QString & c, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Creates an QAxWidget widget and initializes the ActiveX control \fIc\fR. \fIparent\fR, \fIname\fR and \fIf\fR are propagated to the QWidget contructor.
+.PP
+See also control.
+.SH "QAxWidget::QAxWidget ( IUnknown * iface, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Creates a QAxWidget that wraps the COM object referenced by \fIiface\fR. \fIparent\fR, \fIname\fR and \fIf\fR are propagated to the QWidget contructor.
+.SH "QAxWidget::~QAxWidget ()"
+Shuts down the ActiveX control and destroys the QAxWidget widget, cleaning up all allocated resources.
+.PP
+See also clear().
+.SH "bool QAxWidget::createHostWindow ( bool initialized )\fC [virtual protected]\fR"
+Creates the client site for the ActiveX control, and returns TRUE if the control could be embedded successfully, otherwise returns FALSE. If \fIinitialized\fR is TRUE the control has already been initialized.
+.PP
+This function is called by initialize(). If you reimplement initialize to customize the actual control instantiation, call this function in your reimplementation to have the control embedded by the default client side. Creates the client site for the ActiveX control, and returns TRUE if the control could be embedded successfully, otherwise returns FALSE.
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Calls the COM object's method \fIfunction\fR, passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR, and returns the value returned by the method, or an invalid QVariant if the method does not return a value or when the function call failed.
+.PP
+If \fIfunction\fR is a method of the object the string must be provided as the full prototype, for example as it would be written in a QObject::connect() call.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Navigate(const QString&)", "www.trolltech.com" );
+.br
+.fi
+.PP
+Alternatively a function can be called passing the parameters embedded in the string, e.g. above function can also be invoked using
+.PP
+.nf
+.br
+ activeX->dynamicCall("Navigate(\\"www.trolltech.com\\");
+.br
+.fi
+All parameters are passed as strings; it depends on the control whether they are interpreted correctly, and is slower than using the prototype with correctly typed parameters.
+.PP
+If \fIfunction\fR is a property the string has to be the name of the property. The property setter is called when \fIvar1\fR is a valid QVariant, otherwise the getter is called.
+.PP
+.nf
+.br
+ activeX->dynamicCall( "Value", 5 );
+.br
+ QString text = activeX->dynamicCall( "Text" ).toString();
+.br
+.fi
+Note that it is faster to get and set properties using QObject::property() and QObject::setProperty().
+.PP
+It is only possible to call functions through dynamicCall() that have parameters or return values of datatypes supported by QVariant. See the QAxBase class documentation for a list of supported and unsupported datatypes. If you want to call functions that have unsupported datatypes in the parameter list, use queryInterface() to retrieve the appropriate COM interface, and use the function directly.
+.PP
+.nf
+.br
+ IWebBrowser2 *webBrowser = 0;
+.br
+ activeX->queryInterface( IID_IWebBrowser2, (void**)&webBrowser );
+.br
+ if ( webBrowser ) {
+.br
+ webBrowser->Navigate2( pvarURL );
+.br
+ webBrowser->Release();
+.br
+ }
+.br
+.fi
+.PP
+This is also more efficient.
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "QVariant QAxBase::dynamicCall ( const QCString & function, QValueList<QVariant> & vars )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calls the COM object's method \fIfunction\fR, passing the parameters in \fIvars\fR, and returns the value returned by the method. If the method does not return a value or when the function call failed this function returns an invalid QVariant object.
+.PP
+The QVariant objects in \fIvars\fR are updated when the method has out-parameters.
+.SH "QAxObject * QAxBase::querySubObject ( const QCString & name, const QVariant & var1 = QVariant ( ), const QVariant & var2 = QVariant ( ), const QVariant & var3 = QVariant ( ), const QVariant & var4 = QVariant ( ), const QVariant & var5 = QVariant ( ), const QVariant & var6 = QVariant ( ), const QVariant & var7 = QVariant ( ), const QVariant & var8 = QVariant ( ) )"
+Returns a pointer to a QAxObject wrapping the COM object provided by the method or property \fIname\fR, passing passing the parameters \fIvar1\fR, \fIvar1\fR, \fIvar2\fR, \fIvar3\fR, \fIvar4\fR, \fIvar5\fR, \fIvar6\fR, \fIvar7\fR and \fIvar8\fR.
+.PP
+If \fIname\fR is provided by a method the string must include the full function prototype.
+.PP
+If \fIname\fR is a property the string must be the name of the property, and \fIvar1\fR, ... \fIvar8\fR are ignored.
+.PP
+The returned QAxObject is a child of this object (which is either of type QAxObject or QAxWidget), and is deleted when this object is deleted. It is however safe to delete the returned object yourself, and you should do so when you iterate over lists of subobjects.
+.PP
+COM enabled applications usually have an object model publishing certain elements of the application as dispatch interfaces. Use this method to navigate the hierarchy of the object model, e.g.
+.PP
+.nf
+.br
+ QAxWidget outlook( "Outlook.Application" );
+.br
+ QAxObject *session = outlook.querySubObject( "Session" );
+.br
+ if ( session ) {
+.br
+ QAxObject *defFolder = session->querySubObject(
+.br
+ "GetDefaultFolder(OlDefaultFolders)",
+.br
+ "olFolderContacts" );
+.br
+ //...
+.br
+ }
+.br
+.fi
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "bool QAxWidget::translateKeyEvent ( int message, int keycode ) const\fC [virtual protected]\fR"
+Reimplement this function to pass certain key events to the ActiveX control. \fImessage\fR is the Window message identifier specifying the message type (ie. WM_KEYDOWN), and \fIkeycode\fR is the virtual keycode (ie. VK_TAB).
+.PP
+If the function returns TRUE the key event is passed on to the ActiveX control, which then either processes the event or passes the event on to Qt.
+.PP
+If the function returns FALSE the processing of the key event is ignored by ActiveQt, ie. the ActiveX control might handle it or not.
+.PP
+The default implementation returns TRUE for the following cases:
+.PP
+<center>.nf
+.TS
+l - l. WM_SYSKEYDOWN WM_SYSKEYUP WM_KEYDOWN All keycodes VK_MENU
+.TE
+.fi
+</center>
+.PP
+This table is the result of experimenting with popular ActiveX controls,
+ie. Internet Explorer and Microsoft Office applications, but for some
+controls it might require modification.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qaxwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qaxwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbig5codec.3qt b/doc/man/man3/qbig5codec.3qt
new file mode 100644
index 0000000..5cb74ff
--- /dev/null
+++ b/doc/man/man3/qbig5codec.3qt
@@ -0,0 +1,62 @@
+'\" t
+.TH QBig5Codec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBig5Codec \- Conversion to and from the Big5 encoding
+.SH SYNOPSIS
+\fC#include <qbig5codec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SH DESCRIPTION
+The QBig5Codec class provides conversion to and from the Big5 encoding.
+.PP
+QBig5Codec was originally contributed by Ming-Che Chuang <mingche@cobra.ee.ntu.edu.tw> for the Big-5+ encoding, and was included in Qt with the author's permission, and the grateful thanks of the Trolltech team. (Note: Ming-Che's code is QPL'd, as per an mail to info@trolltech.com.)
+.PP
+However, since Big-5+ was never formally approved, and was never used by anyone, the Taiwan Free Software community and the Li18nux Big5 Standard Subgroup agree that the de-facto standard Big5-ETen (zh_TW.Big5 or zh_TW.TW-Big5) be used instead.
+.PP
+QBig5Codec is currently implemented as a pure subset of QBig5hkscsCodec, so more fine-tuning is needed to make it identical to the standard Big5 mapping as determined by Li18nux-Big5. See http://www.autrijus.org/xml/ for the draft Big5 (2002) standard.
+.PP
+James Su <suzhe@turbolinux.com.cn> <suzhe@gnuchina.org> generated the Big5-HKSCS<->Unicode tables with a very space-efficient algorithm. He generously donated his code to glibc in May 2002. Subsequently, James has kindly allowed Anthony Fok <anthony@thizlinux.com> <foka@debian.org> to adapt the code for Qt.
+.PP
+Copyright (C) 2000 Ming-Che Chuang Copyright (C) 2002 James Su, Turbolinux Inc. Copyright (C) 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.IP 1
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 2
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbig5codec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbig5codec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbig5hkscscodec.3qt b/doc/man/man3/qbig5hkscscodec.3qt
new file mode 100644
index 0000000..49d233c
--- /dev/null
+++ b/doc/man/man3/qbig5hkscscodec.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QBig5hkscsCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBig5hkscsCodec \- Conversion to and from the Big5-HKSCS encoding
+.SH SYNOPSIS
+\fC#include <qbig5codec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SH DESCRIPTION
+The QBig5hkscsCodec class provides conversion to and from the Big5-HKSCS encoding.
+.PP
+QBig5hkscsCodec grew out of the QBig5Codec originally contributed by Ming-Che Chuang <mingche@cobra.ee.ntu.edu.tw>. James Su <suzhe@turbolinux.com.cn> <suzhe@gnuchina.org> and Anthony Fok <anthony@thizlinux.com> <foka@debian.org> implemented HKSCS-1999 QBig5hkscsCodec for Qt-2.3.x, but it was too late in Qt development schedule to be officially included in the Qt-2.3.x series.
+.PP
+Wu Yi <wuyi@hancom.com> ported the HKSCS-1999 QBig5hkscsCodec to Qt-3.0.1 in March 2002.
+.PP
+With the advent of the new HKSCS-2001 standard, James Su <suzhe@turbolinux.com.cn> <suzhe@gnuchina.org> generated the Big5-HKSCS<->Unicode tables with a very space-efficient algorithm. He generously donated his code to glibc in May 2002. Subsequently, James has generously allowed Anthony Fok to adapt the code for Qt-3.0.5.
+.PP
+Currently, the Big5-HKSCS tables are generated from the following sources, and with the Euro character added: <ol type=1>
+.IP 1
+http://www.microsoft.com/typography/unicode/950.txt
+.IP 2
+http://www.info.gov.hk/digital21/chi/hkscs/download/big5-iso.txt
+.IP 3
+http://www.info.gov.hk/digital21/chi/hkscs/download/big5cmp.txt
+.PP
+There may be more fine-tuning to the QBig5hkscsCodec to maximize its compatibility with the standard Big5 (2002) mapping as determined by Li18nux Big5 Standard Subgroup. See http://www.autrijus.org/xml/ for the various Big5 CharMapML tables.
+.PP
+Copyright (C) 2000 Ming-Che Chuang Copyright (C) 2001, 2002 James Su, Turbolinux Inc. Copyright (C) 2002 WU Yi, HancomLinux Inc. Copyright (C) 2001, 2002 Anthony Fok, ThizLinux Laboratory Ltd.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.IP 4
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 5
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbig5hkscscodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbig5hkscscodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbitarray.3qt b/doc/man/man3/qbitarray.3qt
new file mode 100644
index 0000000..5b155f8
--- /dev/null
+++ b/doc/man/man3/qbitarray.3qt
@@ -0,0 +1,372 @@
+'\" t
+.TH QBitArray 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBitArray \- Array of bits
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qbitarray.h>\fR
+.PP
+Inherits QByteArray.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQBitArray\fR ()"
+.br
+.ti -1c
+.BI "\fBQBitArray\fR ( uint size )"
+.br
+.ti -1c
+.BI "\fBQBitArray\fR ( const QBitArray & a )"
+.br
+.ti -1c
+.BI "QBitArray & \fBoperator=\fR ( const QBitArray & a )"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBresize\fR ( uint size )"
+.br
+.ti -1c
+.BI "bool \fBfill\fR ( bool v, int size = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "QBitArray \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "bool \fBtestBit\fR ( uint index ) const"
+.br
+.ti -1c
+.BI "void \fBsetBit\fR ( uint index )"
+.br
+.ti -1c
+.BI "void \fBsetBit\fR ( uint index, bool value )"
+.br
+.ti -1c
+.BI "void \fBclearBit\fR ( uint index )"
+.br
+.ti -1c
+.BI "bool \fBtoggleBit\fR ( uint index )"
+.br
+.ti -1c
+.BI "bool \fBat\fR ( uint index ) const"
+.br
+.ti -1c
+.BI "QBitVal \fBoperator[]\fR ( int index )"
+.br
+.ti -1c
+.BI "bool \fBoperator[]\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QBitArray & \fBoperator&=\fR ( const QBitArray & a )"
+.br
+.ti -1c
+.BI "QBitArray & \fBoperator|=\fR ( const QBitArray & a )"
+.br
+.ti -1c
+.BI "QBitArray & \fBoperator^=\fR ( const QBitArray & a )"
+.br
+.ti -1c
+.BI "QBitArray \fBoperator~\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QBitArray \fBoperator&\fR ( const QBitArray & a1, const QBitArray & a2 )"
+.br
+.ti -1c
+.BI "QBitArray \fBoperator|\fR ( const QBitArray & a1, const QBitArray & a2 )"
+.br
+.ti -1c
+.BI "QBitArray \fBoperator^\fR ( const QBitArray & a1, const QBitArray & a2 )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QBitArray & a )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QBitArray & a )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBitArray class provides an array of bits.
+.PP
+Because QBitArray is a QMemArray, it uses explicit sharing with a reference count.
+.PP
+A QBitArray is a special byte array that can access individual bits and perform bit-operations (AND, OR, XOR and NOT) on entire arrays or bits.
+.PP
+Bits can be manipulated by the setBit() and clearBit() functions, but it is also possible to use the indexing [] operator to test and set individual bits. The [] operator is a little slower than setBit() and clearBit() because some tricks are required to implement single-bit assignments.
+.PP
+Example:
+.PP
+.nf
+.br
+ QBitArray a(3);
+.br
+ a.setBit( 0 );
+.br
+ a.clearBit( 1 );
+.br
+ a.setBit( 2 ); // a = [1 0 1]
+.br
+.br
+ QBitArray b(3);
+.br
+ b[0] = 1;
+.br
+ b[1] = 1;
+.br
+ b[2] = 0; // b = [1 1 0]
+.br
+.br
+ QBitArray c;
+.br
+ c = ~a & b; // c = [0 1 0]
+.br
+.fi
+.PP
+When a QBitArray is constructed the bits are uninitialized. Use fill() to set all the bits to 0 or 1. The array can be resized with resize() and copied with copy(). Bits can be set with setBit() and cleared with clearBit(). Bits can be toggled with toggleBit(). A bit's value can be obtained with testBit() and with at().
+.PP
+QBitArray supports the & (AND), | (OR), ^ (XOR) and ~ (NOT) operators.
+.PP
+See also Collection Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBitArray::QBitArray ()"
+Constructs an empty bit array.
+.SH "QBitArray::QBitArray ( uint size )"
+Constructs a bit array of \fIsize\fR bits. The bits are uninitialized.
+.PP
+See also fill().
+.SH "QBitArray::QBitArray ( const QBitArray & a )"
+Constructs a shallow copy of \fIa\fR.
+.SH "bool QBitArray::at ( uint index ) const"
+Returns the value (0 or 1) of the bit at position \fIindex\fR.
+.PP
+See also operator[]().
+.SH "void QBitArray::clearBit ( uint index )"
+Clears the bit at position \fIindex\fR, i.e. sets it to 0.
+.PP
+See also setBit() and toggleBit().
+.SH "QBitArray QBitArray::copy () const"
+Returns a deep copy of the bit array.
+.PP
+See also detach().
+.SH "void QBitArray::detach ()\fC [virtual]\fR"
+Detaches from shared bit array data and makes sure that this bit array is the only one referring to the data.
+.PP
+If multiple bit arrays share common data, this bit array dereferences the data and gets a copy of the data. Nothing happens if there is only a single reference.
+.PP
+See also copy().
+.PP
+Reimplemented from QMemArray.
+.SH "bool QBitArray::fill ( bool v, int size = -1 )"
+Fills the bit array with \fIv\fR (1's if \fIv\fR is TRUE, or 0's if \fIv\fR is FALSE).
+.PP
+fill() resizes the bit array to \fIsize\fR bits if \fIsize\fR is nonnegative.
+.PP
+Returns FALSE if a nonnegative \fIsize\fR was specified and the bit array could not be resized; otherwise returns TRUE.
+.PP
+See also resize().
+.SH "QBitArray & QBitArray::operator&= ( const QBitArray & a )"
+Performs the AND operation between all bits in this bit array and \fIa\fR. Returns a reference to this bit array.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+.nf
+.br
+ QBitArray a( 3 ), b( 2 );
+.br
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+.br
+ b[0] = 1; b[1] = 0; // b = [1 0]
+.br
+ a &= b; // a = [1 0 0]
+.br
+.fi
+.PP
+See also operator|=(), operator^=(), and operator~().
+.SH "QBitArray & QBitArray::operator= ( const QBitArray & a )"
+Assigns a shallow copy of \fIa\fR to this bit array and returns a reference to this array.
+.SH "QBitVal QBitArray::operator[] ( int index )"
+Implements the [] operator for bit arrays.
+.PP
+The returned QBitVal is a context object. It makes it possible to get and set a single bit value by its \fIindex\fR position.
+.PP
+Example:
+.PP
+.nf
+.br
+ QBitArray a( 3 );
+.br
+ a[0] = 0;
+.br
+ a[1] = 1;
+.br
+ a[2] = a[0] ^ a[1];
+.br
+.fi
+.PP
+The functions testBit(), setBit() and clearBit() are faster.
+.PP
+See also at().
+.SH "bool QBitArray::operator[] ( int index ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Implements the [] operator for constant bit arrays.
+.SH "QBitArray & QBitArray::operator^= ( const QBitArray & a )"
+Performs the XOR operation between all bits in this bit array and \fIa\fR. Returns a reference to this bit array.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+.nf
+.br
+ QBitArray a( 3 ), b( 2 );
+.br
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+.br
+ b[0] = 1; b[1] = 0; // b = [1 0]
+.br
+ a ^= b; // a = [0 0 1]
+.br
+.fi
+.PP
+See also operator&=(), operator|=(), and operator~().
+.SH "QBitArray & QBitArray::operator|= ( const QBitArray & a )"
+Performs the OR operation between all bits in this bit array and \fIa\fR. Returns a reference to this bit array.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+.nf
+.br
+ QBitArray a( 3 ), b( 2 );
+.br
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+.br
+ b[0] = 1; b[1] = 0; // b = [1 0]
+.br
+ a |= b; // a = [1 0 1]
+.br
+.fi
+.PP
+See also operator&=(), operator^=(), and operator~().
+.SH "QBitArray QBitArray::operator~ () const"
+Returns a bit array that contains the inverted bits of this bit array.
+.PP
+Example:
+.PP
+.nf
+.br
+ QBitArray a( 3 ), b;
+.br
+ a[0] = 1; a[1] = 0; a[2] = 1; // a = [1 0 1]
+.br
+ b = ~a; // b = [0 1 0]
+.br
+.fi
+.SH "bool QBitArray::resize ( uint size )"
+Resizes the bit array to \fIsize\fR bits and returns TRUE if the bit array could be resized; otherwise returns FALSE. The array becomes a null array if \fIsize\fR == 0.
+.PP
+If the array is expanded, the new bits are set to 0.
+.PP
+See also size().
+.SH "void QBitArray::setBit ( uint index, bool value )"
+Sets the bit at position \fIindex\fR to \fIvalue\fR.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ if ( value )
+.br
+ setBit( index );
+.br
+ else
+.br
+ clearBit( index );
+.br
+.fi
+.PP
+See also clearBit() and toggleBit().
+.SH "void QBitArray::setBit ( uint index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the bit at position \fIindex\fR to 1.
+.PP
+See also clearBit() and toggleBit().
+.SH "uint QBitArray::size () const"
+Returns the bit array's size (number of bits).
+.PP
+See also resize().
+.SH "bool QBitArray::testBit ( uint index ) const"
+Returns TRUE if the bit at position \fIindex\fR is set, i.e. is 1; otherwise returns FALSE.
+.PP
+See also setBit() and clearBit().
+.SH "bool QBitArray::toggleBit ( uint index )"
+Toggles the bit at position \fIindex\fR.
+.PP
+If the previous value was 0, the new value will be 1. If the previous value was 1, the new value will be 0.
+.PP
+See also setBit() and clearBit().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QBitArray operator& ( const QBitArray & a1, const QBitArray & a2 )"
+Returns the AND result between the bit arrays \fIa1\fR and \fIa2\fR.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+See also QBitArray::operator&=().
+.SH "QDataStream & operator<< ( QDataStream & s, const QBitArray & a )"
+Writes bit array \fIa\fR to stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QBitArray & a )"
+Reads a bit array into \fIa\fR from stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QBitArray operator^ ( const QBitArray & a1, const QBitArray & a2 )"
+Returns the XOR result between the bit arrays \fIa1\fR and \fIa2\fR.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+See also QBitArray::operator^().
+.SH "QBitArray operator| ( const QBitArray & a1, const QBitArray & a2 )"
+Returns the OR result between the bit arrays \fIa1\fR and \fIa2\fR.
+.PP
+The result has the length of the longest of the two bit arrays, with any missing bits (i.e. if one array is shorter than the other), taken to be 0.
+.PP
+See also QBitArray::operator|=().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbitarray.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbitarray.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbitmap.3qt b/doc/man/man3/qbitmap.3qt
new file mode 100644
index 0000000..1fba787
--- /dev/null
+++ b/doc/man/man3/qbitmap.3qt
@@ -0,0 +1,159 @@
+'\" t
+.TH QBitmap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBitmap \- Monochrome (1-bit depth) pixmaps
+.SH SYNOPSIS
+\fC#include <qbitmap.h>\fR
+.PP
+Inherits QPixmap.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQBitmap\fR ()"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( int w, int h, bool clear = FALSE, QPixmap::Optimization optimization = QPixmap::DefaultOptim )"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( const QSize & size, bool clear = FALSE, QPixmap::Optimization optimization = QPixmap::DefaultOptim )"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( int w, int h, const uchar * bits, bool isXbitmap = FALSE )"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( const QSize & size, const uchar * bits, bool isXbitmap = FALSE )"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( const QBitmap & bitmap )"
+.br
+.ti -1c
+.BI "\fBQBitmap\fR ( const QString & fileName, const char * format = 0 )"
+.br
+.ti -1c
+.BI "QBitmap & \fBoperator=\fR ( const QBitmap & bitmap )"
+.br
+.ti -1c
+.BI "QBitmap & \fBoperator=\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "QBitmap & \fBoperator=\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "QBitmap \fBxForm\fR ( const QWMatrix & matrix ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBitmap class provides monochrome (1-bit depth) pixmaps.
+.PP
+The QBitmap class is a monochrome off-screen paint device used mainly for creating custom QCursor and QBrush objects, in QPixmap::setMask() and for QRegion.
+.PP
+A QBitmap is a QPixmap with a depth of 1. If a pixmap with a depth greater than 1 is assigned to a bitmap, the bitmap will be dithered automatically. A QBitmap is guaranteed to always have the depth 1, unless it is QPixmap::isNull() which has depth 0.
+.PP
+When drawing in a QBitmap (or QPixmap with depth 1), we recommend using the QColor objects \fCQt::color0\fR and \fCQt::color1\fR. Painting with \fCcolor0\fR sets the bitmap bits to 0, and painting with \fCcolor1\fR sets the bits to 1. For a bitmap, 0-bits indicate background (or transparent) and 1-bits indicate foreground (or opaque). Using the \fCblack\fR and \fCwhite\fR QColor objects make no sense because the QColor::pixel() value is not necessarily 0 for black and 1 for white.
+.PP
+The QBitmap can be transformed (translated, scaled, sheared or rotated) using xForm().
+.PP
+Just like the QPixmap class, QBitmap is optimized by the use of implicit sharing, so it is very efficient to pass QBitmap objects as arguments.
+.PP
+See also QPixmap, QPainter::drawPixmap(), bitBlt(), Shared Classes, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBitmap::QBitmap ()"
+Constructs a null bitmap.
+.PP
+See also QPixmap::isNull().
+.SH "QBitmap::QBitmap ( int w, int h, bool clear = FALSE, QPixmap::Optimization optimization = QPixmap::DefaultOptim )"
+Constructs a bitmap with width \fIw\fR and height \fIh\fR.
+.PP
+The contents of the bitmap is uninitialized if \fIclear\fR is FALSE; otherwise it is filled with pixel value 0 (the QColor \fCQt::color0\fR).
+.PP
+The optional \fIoptimization\fR argument specifies the optimization setting for the bitmap. The default optimization should be used in most cases. Games and other pixmap-intensive applications may benefit from setting this argument; see QPixmap::Optimization.
+.PP
+See also QPixmap::setOptimization() and QPixmap::setDefaultOptimization().
+.SH "QBitmap::QBitmap ( const QSize & size, bool clear = FALSE, QPixmap::Optimization optimization = QPixmap::DefaultOptim )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a bitmap with the size \fIsize\fR.
+.PP
+The contents of the bitmap is uninitialized if \fIclear\fR is FALSE; otherwise it is filled with pixel value 0 (the QColor \fCQt::color0\fR).
+.PP
+The optional \fIoptimization\fR argument specifies the optimization setting for the bitmap. The default optimization should be used in most cases. Games and other pixmap-intensive applications may benefit from setting this argument; see QPixmap::Optimization.
+.SH "QBitmap::QBitmap ( int w, int h, const uchar * bits, bool isXbitmap = FALSE )"
+Constructs a bitmap with width \fIw\fR and height \fIh\fR and sets the contents to \fIbits\fR.
+.PP
+The \fIisXbitmap\fR flag should be TRUE if \fIbits\fR was generated by the X11 bitmap program. The X bitmap bit order is little endian. The QImage documentation discusses bit order of monochrome images.
+.PP
+Example (creates an arrow bitmap):
+.PP
+.nf
+.br
+ uchar arrow_bits[] = { 0x3f, 0x1f, 0x0f, 0x1f, 0x3b, 0x71, 0xe0, 0xc0 };
+.br
+ QBitmap bm( 8, 8, arrow_bits, TRUE );
+.br
+.fi
+.SH "QBitmap::QBitmap ( const QSize & size, const uchar * bits, bool isXbitmap = FALSE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a bitmap with the size \fIsize\fR and sets the contents to \fIbits\fR.
+.PP
+The \fIisXbitmap\fR flag should be TRUE if \fIbits\fR was generated by the X11 bitmap program. The X bitmap bit order is little endian. The QImage documentation discusses bit order of monochrome images.
+.SH "QBitmap::QBitmap ( const QBitmap & bitmap )"
+Constructs a bitmap that is a copy of \fIbitmap\fR.
+.SH "QBitmap::QBitmap ( const QString & fileName, const char * format = 0 )"
+Constructs a bitmap from the file \fIfileName\fR. If the file does not exist or is of an unknown format, the bitmap becomes a null bitmap.
+.PP
+The parameters \fIfileName\fR and \fIformat\fR are passed on to QPixmap::load(). Dithering will be performed if the file format uses more than 1 bit per pixel.
+.PP
+See also QPixmap::isNull(), QPixmap::load(), QPixmap::loadFromData(), QPixmap::save(), and QPixmap::imageFormat().
+.SH "QBitmap & QBitmap::operator= ( const QBitmap & bitmap )"
+Assigns the bitmap \fIbitmap\fR to this bitmap and returns a reference to this bitmap.
+.SH "QBitmap & QBitmap::operator= ( const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns the pixmap \fIpixmap\fR to this bitmap and returns a reference to this bitmap.
+.PP
+Dithering will be performed if the pixmap has a QPixmap::depth() greater than 1.
+.SH "QBitmap & QBitmap::operator= ( const QImage & image )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Converts the image \fIimage\fR to a bitmap and assigns the result to this bitmap. Returns a reference to the bitmap.
+.PP
+Dithering will be performed if the image has a QImage::depth() greater than 1.
+.SH "QBitmap QBitmap::xForm ( const QWMatrix & matrix ) const"
+Returns a transformed copy of this bitmap by using \fImatrix\fR.
+.PP
+This function does exactly the same as QPixmap::xForm(), except that it returns a QBitmap instead of a QPixmap.
+.PP
+See also QPixmap::xForm().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbitmap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbitmap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbitval.3qt b/doc/man/man3/qbitval.3qt
new file mode 100644
index 0000000..6f23a0f
--- /dev/null
+++ b/doc/man/man3/qbitval.3qt
@@ -0,0 +1,72 @@
+'\" t
+.TH QBitVal 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBitVal \- Internal class, used with QBitArray
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qbitarray.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQBitVal\fR ( QBitArray * a, uint i )"
+.br
+.ti -1c
+.BI "\fBoperator int\fR ()"
+.br
+.ti -1c
+.BI "QBitVal & \fBoperator=\fR ( const QBitVal & v )"
+.br
+.ti -1c
+.BI "QBitVal & \fBoperator=\fR ( bool v )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBitVal class is an internal class, used with QBitArray.
+.PP
+The QBitVal is required by the indexing [] operator on bit arrays. It is not for use in any other context.
+.PP
+See also Collection Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBitVal::QBitVal ( QBitArray * a, uint i )"
+Constructs a reference to element \fIi\fR in the QBitArray \fIa\fR. This is what QBitArray::operator[] constructs its return value with.
+.SH "QBitVal::operator int ()"
+Returns the value referenced by the QBitVal.
+.SH "QBitVal & QBitVal::operator= ( const QBitVal & v )"
+Sets the value referenced by the QBitVal to that referenced by QBitVal \fIv\fR.
+.SH "QBitVal & QBitVal::operator= ( bool v )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the value referenced by the QBitVal to \fIv\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbitval.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbitval.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qboxlayout.3qt b/doc/man/man3/qboxlayout.3qt
new file mode 100644
index 0000000..433b8de
--- /dev/null
+++ b/doc/man/man3/qboxlayout.3qt
@@ -0,0 +1,354 @@
+'\" t
+.TH QBoxLayout 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBoxLayout \- Lines up child widgets horizontally or vertically
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QLayout.
+.PP
+Inherited by QHBoxLayout and QVBoxLayout.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBDirection\fR { LeftToRight, RightToLeft, TopToBottom, BottomToTop, Down = TopToBottom, Up = BottomToTop }"
+.br
+.ti -1c
+.BI "\fBQBoxLayout\fR ( QWidget * parent, Direction d, int margin = 0, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQBoxLayout\fR ( QLayout * parentLayout, Direction d, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQBoxLayout\fR ( Direction d, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QBoxLayout\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBaddItem\fR ( QLayoutItem * item )"
+.br
+.ti -1c
+.BI "Direction \fBdirection\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDirection\fR ( Direction direction )"
+.br
+.ti -1c
+.BI "void \fBaddSpacing\fR ( int size )"
+.br
+.ti -1c
+.BI "void \fBaddStretch\fR ( int stretch = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddWidget\fR ( QWidget * widget, int stretch = 0, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddLayout\fR ( QLayout * layout, int stretch = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddStrut\fR ( int size )"
+.br
+.ti -1c
+.BI "void \fBinsertSpacing\fR ( int index, int size )"
+.br
+.ti -1c
+.BI "void \fBinsertStretch\fR ( int index, int stretch = 0 )"
+.br
+.ti -1c
+.BI "void \fBinsertWidget\fR ( int index, QWidget * widget, int stretch = 0, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void \fBinsertLayout\fR ( int index, QLayout * layout, int stretch = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetStretchFactor\fR ( QWidget * w, int stretch )"
+.br
+.ti -1c
+.BI "bool \fBsetStretchFactor\fR ( QLayout * l, int stretch )"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasHeightForWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBinvalidate\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "int \fBfindWidget\fR ( QWidget * w )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBinsertItem\fR ( int index, QLayoutItem * item )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBoxLayout class lines up child widgets horizontally or vertically.
+.PP
+QBoxLayout takes the space it gets (from its parent layout or from the mainWidget()), divides it up into a row of boxes, and makes each managed widget fill one box.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+If the QBoxLayout's orientation is Horizontal the boxes are placed in a row, with suitable sizes. Each widget (or other box) will get at least its minimum size and at most its maximum size. Any excess space is shared according to the stretch factors (more about that below).
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+If the QBoxLayout's orientation is Vertical, the boxes are placed in a column, again with suitable sizes.
+.PP
+The easiest way to create a QBoxLayout is to use one of the convenience classes, e.g. QHBoxLayout (for Horizontal boxes) or QVBoxLayout (for Vertical boxes). You can also use the QBoxLayout constructor directly, specifying its direction as LeftToRight, Down, RightToLeft or Up.
+.PP
+If the QBoxLayout is not the top-level layout (i.e. it is not managing all of the widget's area and children), you must add it to its parent layout before you can do anything with it. The normal way to add a layout is by calling parentLayout->addLayout().
+.PP
+Once you have done this, you can add boxes to the QBoxLayout using one of four functions:
+.TP
+addWidget() to add a widget to the QBoxLayout and set the widget's stretch factor. (The stretch factor is along the row of boxes.)
+.IP
+.TP
+addSpacing() to create an empty box; this is one of the functions you use to create nice and spacious dialogs. See below for ways to set margins.
+.IP
+.TP
+addStretch() to create an empty, stretchable box.
+.IP
+.TP
+addLayout() to add a box containing another QLayout to the row and set that layout's stretch factor.
+.PP
+Use insertWidget(), insertSpacing(), insertStretch() or insertLayout() to insert a box at a specified position in the layout.
+.PP
+QBoxLayout also includes two margin widths:
+.TP
+setMargin() sets the width of the outer border. This is the width of the reserved space along each of the QBoxLayout's four sides.
+.TP
+setSpacing() sets the width between neighboring boxes. (You can use addSpacing() to get more space at a particular spot.)
+.PP
+The margin defaults to 0. The spacing defaults to the same as the margin width for a top-level layout, or to the same as the parent layout. Both are parameters to the constructor.
+.PP
+To remove a widget from a layout, call remove(). Calling QWidget::hide() on a widget also effectively removes the widget from the layout until QWidget::show() is called.
+.PP
+You will almost always want to use QVBoxLayout and QHBoxLayout rather than QBoxLayout because of their convenient constructors.
+.PP
+See also QGrid, Layout Overview, Widget Appearance and Style, and Layout Management.
+.SS "Member Type Documentation"
+.SH "QBoxLayout::Direction"
+This type is used to determine the direction of a box layout.
+.TP
+\fCQBoxLayout::LeftToRight\fR - Horizontal, from left to right
+.TP
+\fCQBoxLayout::RightToLeft\fR - Horizontal, from right to left
+.TP
+\fCQBoxLayout::TopToBottom\fR - Vertical, from top to bottom
+.TP
+\fCQBoxLayout::Down\fR - The same as TopToBottom
+.TP
+\fCQBoxLayout::BottomToTop\fR - Vertical, from bottom to top
+.TP
+\fCQBoxLayout::Up\fR - The same as BottomToTop
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBoxLayout::QBoxLayout ( QWidget * parent, Direction d, int margin = 0, int spacing = -1, const char * name = 0 )"
+Constructs a new QBoxLayout with direction \fId\fR and main widget \fIparent\fR. \fIparent\fR may not be 0.
+.PP
+The \fImargin\fR is the number of pixels between the edge of the widget and its managed children. The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1 the value of \fImargin\fR is used for \fIspacing\fR.
+.PP
+\fIname\fR is the internal object name.
+.PP
+See also direction().
+.SH "QBoxLayout::QBoxLayout ( QLayout * parentLayout, Direction d, int spacing = -1, const char * name = 0 )"
+Constructs a new QBoxLayout called \fIname\fR, with direction \fId\fR, and inserts it into \fIparentLayout\fR.
+.PP
+The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1, the layout will inherit its parent's spacing().
+.SH "QBoxLayout::QBoxLayout ( Direction d, int spacing = -1, const char * name = 0 )"
+Constructs a new QBoxLayout called \fIname\fR, with direction \fId\fR.
+.PP
+If \fIspacing\fR is -1, the layout will inherit its parent's spacing(); otherwise \fIspacing\fR is used.
+.PP
+You must insert this box into another layout.
+.SH "QBoxLayout::~QBoxLayout ()"
+Destroys this box layout.
+.PP
+The layout's widgets aren't destroyed.
+.SH "void QBoxLayout::addItem ( QLayoutItem * item )\fC [virtual]\fR"
+Adds \fIitem\fR to the end of this box layout.
+.PP
+Examples:
+.)l chart/optionsform.cpp and chart/setdataform.cpp.
+.PP
+Reimplemented from QLayout.
+.SH "void QBoxLayout::addLayout ( QLayout * layout, int stretch = 0 )"
+Adds \fIlayout\fR to the end of the box, with serial stretch factor \fIstretch\fR.
+.PP
+When a layout is constructed with another layout as its parent, you don't need to call addLayout(); the child layout is automatically added to the parent layout as it is constructed.
+.PP
+See also insertLayout(), setAutoAdd(), addWidget(), and addSpacing().
+.PP
+Examples:
+.)l chart/optionsform.cpp, chart/setdataform.cpp, fonts/simple-qfont-demo/viewer.cpp, listbox/listbox.cpp, regexptester/regexptester.cpp, and tictac/tictac.cpp.
+.SH "void QBoxLayout::addSpacing ( int size )"
+Adds a non-stretchable space with size \fIsize\fR to the end of this box layout. QBoxLayout provides default margin and spacing. This function adds additional space.
+.PP
+See also insertSpacing() and addStretch().
+.PP
+Example: listbox/listbox.cpp.
+.SH "void QBoxLayout::addStretch ( int stretch = 0 )"
+Adds a stretchable space with zero minimum size and stretch factor \fIstretch\fR to the end of this box layout.
+.PP
+See also addSpacing().
+.PP
+Examples:
+.)l layout/layout.cpp, listbox/listbox.cpp, regexptester/regexptester.cpp, and t13/gamebrd.cpp.
+.SH "void QBoxLayout::addStrut ( int size )"
+Limits the perpendicular dimension of the box (e.g. height if the box is LeftToRight) to a minimum of \fIsize\fR. Other constraints may increase the limit.
+.SH "void QBoxLayout::addWidget ( QWidget * widget, int stretch = 0, int alignment = 0 )"
+Adds \fIwidget\fR to the end of this box layout, with a stretch factor of \fIstretch\fR and alignment \fIalignment\fR.
+.PP
+The stretch factor applies only in the direction of the QBoxLayout, and is relative to the other boxes and widgets in this QBoxLayout. Widgets and boxes with higher stretch factors grow more.
+.PP
+If the stretch factor is 0 and nothing else in the QBoxLayout has a stretch factor greater than zero, the space is distributed according to the QWidget:sizePolicy() of each widget that's involved.
+.PP
+Alignment is specified by \fIalignment\fR which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.PP
+From Qt 3.0, the \fIalignment\fR parameter is interpreted more aggressively than in previous versions of Qt. A non-default alignment now indicates that the widget should not grow to fill the available space, but should be sized according to sizeHint().
+.PP
+See also insertWidget(), setAutoAdd(), addLayout(), and addSpacing().
+.PP
+Examples:
+.)l chart/optionsform.cpp, checklists/checklists.cpp, layout/layout.cpp, lineedits/lineedits.cpp, listbox/listbox.cpp, t13/gamebrd.cpp, and t13/lcdrange.cpp.
+.SH "Direction QBoxLayout::direction () const"
+Returns the direction of the box. addWidget() and addSpacing() work in this direction; the stretch stretches in this direction.
+.PP
+See also QBoxLayout::Direction, addWidget(), and addSpacing().
+.SH "QSizePolicy::ExpandData QBoxLayout::expanding () const\fC [virtual]\fR"
+Returns whether this layout can make use of more space than sizeHint(). A value of Vertical or Horizontal means that it wants to grow in only one dimension, whereas \fCBothDirections\fR means that it wants to grow in both dimensions.
+.PP
+Reimplemented from QLayout.
+.SH "int QBoxLayout::findWidget ( QWidget * w )"
+Searches for widget \fIw\fR in this layout (not including child layouts).
+.PP
+Returns the index of \fIw\fR, or -1 if \fIw\fR is not found.
+.SH "bool QBoxLayout::hasHeightForWidth () const\fC [virtual]\fR"
+Returns TRUE if this layout's preferred height depends on its width; otherwise returns FALSE.
+.PP
+Reimplemented from QLayoutItem.
+.SH "int QBoxLayout::heightForWidth ( int w ) const\fC [virtual]\fR"
+Returns the layout's preferred height when it is \fIw\fR pixels wide.
+.PP
+Reimplemented from QLayoutItem.
+.SH "void QBoxLayout::insertItem ( int index, QLayoutItem * item )\fC [protected]\fR"
+Inserts \fIitem\fR into this box layout at position \fIindex\fR. If \fIindex\fR is negative, the item is added at the end.
+.PP
+\fBWarning:\fR Does not call QLayout::insertChildLayout() if \fIitem\fR is a QLayout.
+.PP
+See also addItem() and findWidget().
+.SH "void QBoxLayout::insertLayout ( int index, QLayout * layout, int stretch = 0 )"
+Inserts \fIlayout\fR at position \fIindex\fR, with stretch factor \fIstretch\fR. If \fIindex\fR is negative, the layout is added at the end.
+.PP
+\fIlayout\fR becomes a child of the box layout.
+.PP
+See also setAutoAdd(), insertWidget(), and insertSpacing().
+.SH "void QBoxLayout::insertSpacing ( int index, int size )"
+Inserts a non-stretchable space at position \fIindex\fR, with size \fIsize\fR. If \fIindex\fR is negative the space is added at the end.
+.PP
+The box layout has default margin and spacing. This function adds additional space.
+.PP
+See also insertStretch().
+.SH "void QBoxLayout::insertStretch ( int index, int stretch = 0 )"
+Inserts a stretchable space at position \fIindex\fR, with zero minimum size and stretch factor \fIstretch\fR. If \fIindex\fR is negative the space is added at the end.
+.PP
+See also insertSpacing().
+.SH "void QBoxLayout::insertWidget ( int index, QWidget * widget, int stretch = 0, int alignment = 0 )"
+Inserts \fIwidget\fR at position \fIindex\fR, with stretch factor \fIstretch\fR and alignment \fIalignment\fR. If \fIindex\fR is negative, the widget is added at the end.
+.PP
+The stretch factor applies only in the direction of the QBoxLayout, and is relative to the other boxes and widgets in this QBoxLayout. Widgets and boxes with higher stretch factors grow more.
+.PP
+If the stretch factor is 0 and nothing else in the QBoxLayout has a stretch factor greater than zero, the space is distributed according to the QWidget:sizePolicy() of each widget that's involved.
+.PP
+Alignment is specified by \fIalignment\fR, which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.PP
+From Qt 3.0, the \fIalignment\fR parameter is interpreted more aggressively than in previous versions of Qt. A non-default alignment now indicates that the widget should not grow to fill the available space, but should be sized according to sizeHint().
+.PP
+See also setAutoAdd(), insertLayout(), and insertSpacing().
+.SH "void QBoxLayout::invalidate ()\fC [virtual]\fR"
+Resets cached information.
+.PP
+Reimplemented from QLayout.
+.SH "QSize QBoxLayout::maximumSize () const\fC [virtual]\fR"
+Returns the maximum size needed by this box layout.
+.PP
+Reimplemented from QLayout.
+.SH "QSize QBoxLayout::minimumSize () const\fC [virtual]\fR"
+Returns the minimum size needed by this box layout.
+.PP
+Reimplemented from QLayout.
+.SH "void QBoxLayout::setDirection ( Direction direction )"
+Sets the direction of this layout to \fIdirection\fR.
+.SH "void QBoxLayout::setGeometry ( const QRect & r )\fC [virtual]\fR"
+Resizes managed widgets within the rectangle \fIr\fR.
+.PP
+Reimplemented from QLayout.
+.SH "bool QBoxLayout::setStretchFactor ( QWidget * w, int stretch )"
+Sets the stretch factor for widget \fIw\fR to \fIstretch\fR and returns TRUE if \fIw\fR is found in this layout (not including child layouts); otherwise returns FALSE.
+.SH "bool QBoxLayout::setStretchFactor ( QLayout * l, int stretch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the stretch factor for the layout \fIl\fR to \fIstretch\fR and returns TRUE if \fIl\fR is found in this layout (not including child layouts); otherwise returns FALSE.
+.SH "QSize QBoxLayout::sizeHint () const\fC [virtual]\fR"
+Returns the preferred size of this box layout.
+.PP
+Reimplemented from QLayoutItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qboxlayout.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qboxlayout.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbrush.3qt b/doc/man/man3/qbrush.3qt
new file mode 100644
index 0000000..41f8637
--- /dev/null
+++ b/doc/man/man3/qbrush.3qt
@@ -0,0 +1,234 @@
+'\" t
+.TH QBrush 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBrush \- Defines the fill pattern of shapes drawn by a QPainter
+.SH SYNOPSIS
+\fC#include <qbrush.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQBrush\fR ()"
+.br
+.ti -1c
+.BI "\fBQBrush\fR ( BrushStyle style )"
+.br
+.ti -1c
+.BI "\fBQBrush\fR ( const QColor & color, BrushStyle style = SolidPattern )"
+.br
+.ti -1c
+.BI "\fBQBrush\fR ( const QColor & color, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "\fBQBrush\fR ( const QBrush & b )"
+.br
+.ti -1c
+.BI "\fB~QBrush\fR ()"
+.br
+.ti -1c
+.BI "QBrush & \fBoperator=\fR ( const QBrush & b )"
+.br
+.ti -1c
+.BI "BrushStyle \fBstyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStyle\fR ( BrushStyle s )"
+.br
+.ti -1c
+.BI "const QColor & \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QBrush & b ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QBrush & b ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QBrush & b )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QBrush & b )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBrush class defines the fill pattern of shapes drawn by a QPainter.
+.PP
+A brush has a style and a color. One of the brush styles is a custom pattern, which is defined by a QPixmap.
+.PP
+The brush style defines the fill pattern. The default brush style is NoBrush (depending on how you construct a brush). This style tells the painter to not fill shapes. The standard style for filling is SolidPattern.
+.PP
+The brush color defines the color of the fill pattern. The QColor documentation lists the predefined colors.
+.PP
+Use the QPen class for specifying line/outline styles.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPainter painter;
+.br
+ QBrush brush( yellow ); // yellow solid pattern
+.br
+ painter.begin( &anyPaintDevice ); // paint something
+.br
+ painter.setBrush( brush ); // set the yellow brush
+.br
+ painter.setPen( NoPen ); // do not draw outline
+.br
+ painter.drawRect( 40,30, 200,100 ); // draw filled rectangle
+.br
+ painter.setBrush( NoBrush ); // do not fill
+.br
+ painter.setPen( black ); // set black pen, 0 pixel width
+.br
+ painter.drawRect( 10,10, 30,20 ); // draw rectangle outline
+.br
+ painter.end(); // painting done
+.br
+.fi
+.PP
+See the setStyle() function for a complete list of brush styles.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QPainter, QPainter::setBrush(), QPainter::setBrushOrigin(), Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBrush::QBrush ()"
+Constructs a default black brush with the style NoBrush (will not fill shapes).
+.SH "QBrush::QBrush ( BrushStyle style )"
+Constructs a black brush with the style \fIstyle\fR.
+.PP
+See also setStyle().
+.SH "QBrush::QBrush ( const QColor & color, BrushStyle style = SolidPattern )"
+Constructs a brush with the color \fIcolor\fR and the style \fIstyle\fR.
+.PP
+See also setColor() and setStyle().
+.SH "QBrush::QBrush ( const QColor & color, const QPixmap & pixmap )"
+Constructs a brush with the color \fIcolor\fR and a custom pattern stored in \fIpixmap\fR.
+.PP
+The color will only have an effect for monochrome pixmaps, i.e. for QPixmap::depth() == 1.
+.PP
+Pixmap brushes are currently not supported when printing on X11.
+.PP
+See also setColor() and setPixmap().
+.SH "QBrush::QBrush ( const QBrush & b )"
+Constructs a brush that is a shallow copy of \fIb\fR.
+.SH "QBrush::~QBrush ()"
+Destroys the brush.
+.SH "const QColor & QBrush::color () const"
+Returns the brush color.
+.PP
+See also setColor().
+.SH "bool QBrush::operator!= ( const QBrush & b ) const"
+Returns TRUE if the brush is different from \fIb\fR; otherwise returns FALSE.
+.PP
+Two brushes are different if they have different styles, colors or pixmaps.
+.PP
+See also operator==().
+.SH "QBrush & QBrush::operator= ( const QBrush & b )"
+Assigns \fIb\fR to this brush and returns a reference to this brush.
+.SH "bool QBrush::operator== ( const QBrush & b ) const"
+Returns TRUE if the brush is equal to \fIb\fR; otherwise returns FALSE.
+.PP
+Two brushes are equal if they have equal styles, colors and pixmaps.
+.PP
+See also operator!=().
+.SH "QPixmap * QBrush::pixmap () const"
+Returns a pointer to the custom brush pattern, or 0 if no custom brush pattern has been set.
+.PP
+See also setPixmap().
+.PP
+Example: richtext/richtext.cpp.
+.SH "void QBrush::setColor ( const QColor & c )"
+Sets the brush color to \fIc\fR.
+.PP
+See also color() and setStyle().
+.PP
+Example: picture/picture.cpp.
+.SH "void QBrush::setPixmap ( const QPixmap & pixmap )"
+Sets the brush pixmap to \fIpixmap\fR. The style is set to CustomPattern.
+.PP
+The current brush color will only have an effect for monochrome pixmaps, i.e. for QPixmap::depth() == 1.
+.PP
+Pixmap brushes are currently not supported when printing on X11.
+.PP
+See also pixmap() and color().
+.PP
+Example: richtext/richtext.cpp.
+.SH "void QBrush::setStyle ( BrushStyle s )"
+Sets the brush style to \fIs\fR.
+.PP
+The brush styles are: <center>.nf
+.TS
+l - l. Pattern Meaning NoBrush will not fill shapes (default). SolidPattern solid (100%) fill pattern. Dense1Pattern 94% fill pattern. Dense2Pattern 88% fill pattern. Dense3Pattern 63% fill pattern. Dense4Pattern 50% fill pattern. Dense5Pattern 37% fill pattern. Dense6Pattern 12% fill pattern. Dense7Pattern 6% fill pattern. HorPattern horizontal lines pattern. VerPattern vertical lines pattern. CrossPattern crossing lines pattern. BDiagPattern diagonal lines (directed /) pattern. FDiagPattern diagonal lines (directed &#92;) pattern. DiagCrossPattern diagonal crossing lines pattern. CustomPattern
+.TE
+.fi
+</center>
+.PP
+On Windows, dense and custom patterns cannot be transparent.
+.PP
+See the Detailed Description for a picture of all the styles.
+.PP
+See also style().
+.SH "BrushStyle QBrush::style () const"
+Returns the brush style.
+.PP
+See also setStyle().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QBrush & b )"
+Writes the brush \fIb\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QBrush & b )"
+Reads the brush \fIb\fR from the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbrush.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbrush.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbuffer.3qt b/doc/man/man3/qbuffer.3qt
new file mode 100644
index 0000000..db2dc57
--- /dev/null
+++ b/doc/man/man3/qbuffer.3qt
@@ -0,0 +1,138 @@
+'\" t
+.TH QBuffer 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QBuffer \- I/O device that operates on a QByteArray
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qbuffer.h>\fR
+.PP
+Inherits QIODevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQBuffer\fR ()"
+.br
+.ti -1c
+.BI "\fBQBuffer\fR ( QByteArray buf )"
+.br
+.ti -1c
+.BI "\fB~QBuffer\fR ()"
+.br
+.ti -1c
+.BI "QByteArray \fBbuffer\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsetBuffer\fR ( QByteArray buf )"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * p, Q_ULONG len )"
+.br
+.ti -1c
+.BI "Q_LONG \fBwriteBlock\fR ( const QByteArray & data )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QBuffer class is an I/O device that operates on a QByteArray.
+.PP
+QBuffer is used to read and write to a memory buffer. It is normally used with a QTextStream or a QDataStream. QBuffer has an associated QByteArray which holds the buffer data. The size() of the buffer is automatically adjusted as data is written.
+.PP
+The constructor \fCQBuffer(QByteArray)\fR creates a QBuffer using an existing byte array. The byte array can also be set with setBuffer(). Writing to the QBuffer will modify the original byte array because QByteArray is explicitly shared.
+.PP
+Use open() to open the buffer before use and to set the mode (read-only, write-only, etc.). close() closes the buffer. The buffer must be closed before reopening or calling setBuffer().
+.PP
+A common way to use QBuffer is through QDataStream or QTextStream, which have constructors that take a QBuffer parameter. For convenience, there are also QDataStream and QTextStream constructors that take a QByteArray parameter. These constructors create and open an internal QBuffer.
+.PP
+Note that QTextStream can also operate on a QString (a Unicode string); a QBuffer cannot.
+.PP
+You can also use QBuffer directly through the standard QIODevice functions readBlock(), writeBlock() readLine(), at(), getch(), putch() and ungetch().
+.PP
+See also QFile, QDataStream, QTextStream, QByteArray, Shared Classes, Collection Classes, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QBuffer::QBuffer ()"
+Constructs an empty buffer.
+.SH "QBuffer::QBuffer ( QByteArray buf )"
+Constructs a buffer that operates on \fIbuf\fR.
+.PP
+If you open the buffer in write mode (<a href="qfile.html#open">IO_WriteOnly</a> or IO_ReadWrite) and write something into the buffer, \fIbuf\fR will be modified.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString str = "abc";
+.br
+ QBuffer b( str );
+.br
+ b.open( IO_WriteOnly );
+.br
+ b.at( 3 ); // position at the 4th character (the terminating \\0)
+.br
+ b.writeBlock( "def", 4 ); // write "def" including the terminating \\0
+.br
+ b.close();
+.br
+ // Now, str == "abcdef" with a terminating \\0
+.br
+.fi
+.PP
+See also setBuffer().
+.SH "QBuffer::~QBuffer ()"
+Destroys the buffer.
+.SH "QByteArray QBuffer::buffer () const"
+Returns this buffer's byte array.
+.PP
+See also setBuffer().
+.SH "bool QBuffer::setBuffer ( QByteArray buf )"
+Replaces the buffer's contents with \fIbuf\fR and returns TRUE.
+.PP
+Does nothing (and returns FALSE) if isOpen() is TRUE.
+.PP
+Note that if you open the buffer in write mode (<a href="qfile.html#open">IO_WriteOnly</a> or IO_ReadWrite) and write something into the buffer, \fIbuf\fR is also modified because QByteArray is an explicitly shared class.
+.PP
+See also buffer(), open(), and close().
+.SH "Q_LONG QBuffer::writeBlock ( const char * p, Q_ULONG len )\fC [virtual]\fR"
+Writes \fIlen\fR bytes from \fIp\fR into the buffer at the current index position, overwriting any characters there and extending the buffer if necessary. Returns the number of bytes actually written.
+.PP
+Returns -1 if an error occurred.
+.PP
+See also readBlock().
+.PP
+Reimplemented from QIODevice.
+.SH "Q_LONG QBuffer::writeBlock ( const QByteArray & data )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This convenience function is the same as calling
+\fCwriteBlock( data.data(), data.size() )\fR with \fIdata\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbuffer.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbuffer.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbutton.3qt b/doc/man/man3/qbutton.3qt
new file mode 100644
index 0000000..1c240fc
--- /dev/null
+++ b/doc/man/man3/qbutton.3qt
@@ -0,0 +1,490 @@
+'\" t
+.TH QButton 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QButton \- The abstract base class of button widgets, providing functionality common to buttons
+.SH SYNOPSIS
+\fC#include <qbutton.h>\fR
+.PP
+Inherits QWidget.
+.PP
+Inherited by QCheckBox, QPushButton, QRadioButton, and QToolButton.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQButton\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QButton\fR ()"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAccel\fR ( const QKeySequence & )"
+.br
+.ti -1c
+.BI "bool \fBisToggleButton\fR () const"
+.br
+.ti -1c
+.BI "enum \fBToggleType\fR { SingleShot, Toggle, Tristate }"
+.br
+.ti -1c
+.BI "ToggleType \fBtoggleType\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDown\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisDown\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "enum \fBToggleState\fR { Off, NoChange, On }"
+.br
+.ti -1c
+.BI "ToggleState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool autoResize () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setAutoResize ( bool ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBautoRepeat\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoRepeat\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisExclusiveToggle\fR () const"
+.br
+.ti -1c
+.BI "QButtonGroup * \fBgroup\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBanimateClick\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBpressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QKeySequence \fBaccel\fR - the accelerator associated with the button"
+.br
+.ti -1c
+.BI "bool \fBautoRepeat\fR - whether autoRepeat is enabled"
+.br
+.ti -1c
+.BI "bool autoResize - whether autoResize is enabled \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBdown\fR - whether the button is pressed"
+.br
+.ti -1c
+.BI "bool \fBexclusiveToggle\fR - whether the button is an exclusive toggle \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBon\fR - whether the button is toggled \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR - the pixmap shown on the button"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the text shown on the button"
+.br
+.ti -1c
+.BI "bool \fBtoggleButton\fR - whether the button is a toggle button \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "ToggleState \fBtoggleState\fR - the state of the toggle button \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "ToggleType \fBtoggleType\fR - the type of toggle on the button \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetToggleButton\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetToggleType\fR ( ToggleType type )"
+.br
+.ti -1c
+.BI "void \fBsetOn\fR ( bool on )"
+.br
+.ti -1c
+.BI "virtual void \fBsetState\fR ( ToggleState s )"
+.br
+.ti -1c
+.BI "virtual bool \fBhitButton\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "virtual void \fBdrawButton\fR ( QPainter * )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawButtonLabel\fR ( QPainter * )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QButton class is the abstract base class of button widgets, providing functionality common to buttons.
+.PP
+\fBIf you want to create a button use QPushButton.\fR
+.PP
+The QButton class implements an \fIabstract\fR button, and lets subclasses specify how to reply to user actions and how to draw the button.
+.PP
+QButton provides both push and toggle buttons. The QRadioButton and QCheckBox classes provide only toggle buttons; QPushButton and QToolButton provide both toggle and push buttons.
+.PP
+Any button can have either a text or pixmap label. setText() sets the button to be a text button and setPixmap() sets it to be a pixmap button. The text/pixmap is manipulated as necessary to create the "disabled" appearance when the button is disabled.
+.PP
+QButton provides most of the states used for buttons:
+.TP
+isDown() indicates whether the button is \fIpressed\fR down.
+.TP
+isOn() indicates whether the button is \fIon\fR. Only toggle buttons can be switched on and off (see below).
+.TP
+isEnabled() indicates whether the button can be pressed by the user.
+.TP
+setAutoRepeat() sets whether the button will auto-repeat if the user holds it down.
+.TP
+setToggleButton() sets whether the button is a toggle button or not.
+.PP
+The difference between isDown() and isOn() is as follows: When the user clicks a toggle button to toggle it on, the button is first \fIpressed\fR and then released into the \fIon\fR state. When the user clicks it again (to toggle it off), the button moves first to the \fIpressed\fR state, then to the \fIoff\fR state (isOn() and isDown() are both FALSE).
+.PP
+Default buttons (as used in many dialogs) are provided by QPushButton::setDefault() and QPushButton::setAutoDefault().
+.PP
+QButton provides five signals: <ol type=1>
+.TP
+pressed() is emitted when the button is pressed. E.g. with the mouse or when animateClick() is called.
+.TP
+released() is emitted when the button is released. E.g. when the mouse is released or the cursor is moved outside the widget.
+.TP
+clicked() is emitted when the button is first pressed and then released when the accelerator key is typed, or when animateClick() is called.
+.TP
+toggled(bool) is emitted when the state of a toggle button changes.
+.TP
+stateChanged(int) is emitted when the state of a tristate toggle button changes.
+.PP
+If the button is a text button with an ampersand (&) in its text, QButton creates an automatic accelerator key. This code creates a push button labelled "Ro<u>c</u>k & Roll" (where the c is underlined). The button gets an automatic accelerator key, Alt+C:
+.PP
+.nf
+.br
+ QPushButton *p = new QPushButton( "Ro&ck && Roll", this );
+.br
+.fi
+.PP
+In this example, when the user presses Alt+C the button will call animateClick().
+.PP
+You can also set a custom accelerator using the setAccel() function. This is useful mostly for pixmap buttons because they have no automatic accelerator.
+.PP
+.nf
+.br
+ p->setPixmap( QPixmap("print.png") );
+.br
+ p->setAccel( ALT+Key_F7 );
+.br
+.fi
+.PP
+All of the buttons provided by Qt (QPushButton, QToolButton, QCheckBox and QRadioButton) can display both text and pixmaps.
+.PP
+To subclass QButton, you must reimplement at least drawButton() (to draw the button's outline) and drawButtonLabel() (to draw its text or pixmap). It is generally advisable to reimplement sizeHint() as well, and sometimes hitButton() (to determine whether a button press is within the button).
+.PP
+To reduce flickering, QButton::paintEvent() sets up a pixmap that the drawButton() function draws in. You should not reimplement paintEvent() for a subclass of QButton unless you want to take over all drawing.
+.PP
+See also QButtonGroup and Abstract Widget Classes.
+.SS "Member Type Documentation"
+.SH "QButton::ToggleState"
+This enum defines the state of a toggle button.
+.TP
+\fCQButton::Off\fR - the button is in the "off" state
+.TP
+\fCQButton::NoChange\fR - the button is in the default/unchanged state
+.TP
+\fCQButton::On\fR - the button is in the "on" state
+.SH "QButton::ToggleType"
+This enum type defines what a button can do in response to a mouse/keyboard press:
+.TP
+\fCQButton::SingleShot\fR - pressing the button causes an action, then the button returns to the unpressed state.
+.TP
+\fCQButton::Toggle\fR - pressing the button toggles it between an On and an Off state.
+.TP
+\fCQButton::Tristate\fR - pressing the button cycles between the three states On, Off and NoChange
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QButton::QButton ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a standard button called \fIname\fR with parent \fIparent\fR, using the widget flags \fIf\fR.
+.PP
+If \fIparent\fR is a QButtonGroup, this constructor calls QButtonGroup::insert().
+.SH "QButton::~QButton ()"
+Destroys the button.
+.SH "QKeySequence QButton::accel () const"
+Returns the accelerator associated with the button. See the "accel" property for details.
+.SH "void QButton::animateClick ()\fC [slot]\fR"
+Performs an animated click: the button is pressed and released a short while later.
+.PP
+The pressed(), released(), clicked(), toggled(), and stateChanged() signals are emitted as appropriate.
+.PP
+This function does nothing if the button is disabled.
+.PP
+See also accel.
+.SH "bool QButton::autoRepeat () const"
+Returns TRUE if autoRepeat is enabled; otherwise returns FALSE. See the "autoRepeat" property for details.
+.SH "bool QButton::autoResize () const"
+Returns TRUE if autoResize is enabled; otherwise returns FALSE. See the "autoResize" property for details.
+.SH "void QButton::clicked ()\fC [signal]\fR"
+This signal is emitted when the button is activated (i.e. first pressed down and then released when the mouse cursor is inside the button), when the accelerator key is typed or when animateClick() is called. This signal is \fInot\fR emitted if you call setDown().
+.PP
+The QButtonGroup::clicked() signal does the same job, if you want to connect several buttons to the same slot.
+.PP
+\fBWarning:\fR Don't launch a model dialog in response to this signal for a button that has autoRepeat turned on.
+.PP
+See also pressed(), released(), toggled(), autoRepeat, and down.
+.PP
+Examples:
+.)l chart/setdataform.cpp, listbox/listbox.cpp, network/clientserver/client/client.cpp, progressbar/progressbar.cpp, richtext/richtext.cpp, t2/main.cpp, and t4/main.cpp.
+.SH "void QButton::drawButton ( QPainter * )\fC [virtual protected]\fR"
+Draws the button. The default implementation does nothing.
+.PP
+This virtual function is reimplemented by subclasses to draw real buttons. At some point, these reimplementations should call drawButtonLabel().
+.PP
+See also drawButtonLabel() and paintEvent().
+.SH "void QButton::drawButtonLabel ( QPainter * )\fC [virtual protected]\fR"
+Draws the button text or pixmap.
+.PP
+This virtual function is reimplemented by subclasses to draw real buttons. It is invoked by drawButton().
+.PP
+See also drawButton() and paintEvent().
+.SH "QButtonGroup * QButton::group () const"
+Returns the group that this button belongs to.
+.PP
+If the button is not a member of any QButtonGroup, this function returns 0.
+.PP
+See also QButtonGroup.
+.SH "bool QButton::hitButton ( const QPoint & pos ) const\fC [virtual protected]\fR"
+Returns TRUE if \fIpos\fR is inside the clickable button rectangle; otherwise returns FALSE.
+.PP
+By default, the clickable area is the entire widget. Subclasses may reimplement it, though.
+.SH "bool QButton::isDown () const"
+Returns TRUE if the button is pressed; otherwise returns FALSE. See the "down" property for details.
+.SH "bool QButton::isExclusiveToggle () const"
+Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE. See the "exclusiveToggle" property for details.
+.SH "bool QButton::isOn () const"
+Returns TRUE if the button is toggled; otherwise returns FALSE. See the "on" property for details.
+.SH "bool QButton::isToggleButton () const"
+Returns TRUE if the button is a toggle button; otherwise returns FALSE. See the "toggleButton" property for details.
+.SH "void QButton::paintEvent ( QPaintEvent * )\fC [virtual protected]\fR"
+Handles paint events for buttons. Small and typically complex buttons are painted double-buffered to reduce flicker. The actually drawing is done in the virtual functions drawButton() and drawButtonLabel().
+.PP
+See also drawButton() and drawButtonLabel().
+.PP
+Reimplemented from QWidget.
+.SH "const QPixmap * QButton::pixmap () const"
+Returns the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::pressed ()\fC [signal]\fR"
+This signal is emitted when the button is pressed down.
+.PP
+See also released() and clicked().
+.PP
+Examples:
+.)l network/httpd/httpd.cpp and popup/popup.cpp.
+.SH "void QButton::released ()\fC [signal]\fR"
+This signal is emitted when the button is released.
+.PP
+See also pressed(), clicked(), and toggled().
+.SH "void QButton::setAccel ( const QKeySequence & )\fC [virtual]\fR"
+Sets the accelerator associated with the button. See the "accel" property for details.
+.SH "void QButton::setAutoRepeat ( bool )\fC [virtual]\fR"
+Sets whether autoRepeat is enabled. See the "autoRepeat" property for details.
+.SH "void QButton::setAutoResize ( bool )"
+Sets whether autoResize is enabled. See the "autoResize" property for details.
+.SH "void QButton::setDown ( bool )\fC [virtual]\fR"
+Sets whether the button is pressed. See the "down" property for details.
+.SH "void QButton::setOn ( bool on )\fC [protected]\fR"
+Sets the state of this button to On if \fIon\fR is TRUE; otherwise to Off.
+.PP
+See also toggleState.
+.SH "void QButton::setPixmap ( const QPixmap & )\fC [virtual]\fR"
+Sets the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::setState ( ToggleState s )\fC [virtual protected]\fR"
+Sets the toggle state of the button to \fIs\fR. \fIs\fR can be Off, NoChange or On.
+.SH "void QButton::setText ( const QString & )\fC [virtual]\fR"
+Sets the text shown on the button. See the "text" property for details.
+.SH "void QButton::setToggleButton ( bool b )\fC [protected]\fR"
+If \fIb\fR is TRUE, this button becomes a toggle button; if \fIb\fR is FALSE, this button becomes a command button.
+.PP
+See also toggleButton.
+.SH "void QButton::setToggleType ( ToggleType type )\fC [virtual protected]\fR"
+Sets the toggle type of the button to \fItype\fR.
+.PP
+\fItype\fR can be set to SingleShot, Toggle and Tristate.
+.SH "ToggleState QButton::state () const"
+Returns the state of the toggle button. See the "toggleState" property for details.
+.SH "void QButton::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes state. \fIstate\fR is On if the button is on, NoChange if it is in the" no change" state or Off if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, setState(), or because setOn() was called.
+.PP
+See also clicked() and QButton::ToggleState.
+.SH "QString QButton::text () const"
+Returns the text shown on the button. See the "text" property for details.
+.SH "void QButton::toggle ()\fC [slot]\fR"
+Toggles the state of a toggle button.
+.PP
+See also on, setOn(), toggled(), and toggleButton.
+.SH "ToggleType QButton::toggleType () const"
+Returns the type of toggle on the button. See the "toggleType" property for details.
+.SH "void QButton::toggled ( bool on )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes status. \fIon\fR is TRUE if the button is on, or FALSE if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, or because setOn() was called.
+.PP
+See also clicked().
+.PP
+Example: listbox/listbox.cpp.
+.SS "Property Documentation"
+.SH "QKeySequence accel"
+This property holds the accelerator associated with the button.
+.PP
+This property is 0 if there is no accelerator set. If you set this property to 0 then any current accelerator is removed.
+.PP
+Set this property's value with setAccel() and get this property's value with accel().
+.SH "bool autoRepeat"
+This property holds whether autoRepeat is enabled.
+.PP
+If autoRepeat is enabled then the clicked() signal is emitted at regular intervals if the button is down. This property has no effect on toggle buttons. autoRepeat is off by default.
+.PP
+Set this property's value with setAutoRepeat() and get this property's value with autoRepeat().
+.SH "bool autoResize"
+This property holds whether autoResize is enabled.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If autoResize is enabled then the button will resize itself whenever the contents are changed.
+.PP
+Set this property's value with setAutoResize() and get this property's value with autoResize().
+.SH "bool down"
+This property holds whether the button is pressed.
+.PP
+If this property is TRUE, the button is pressed down. The signals pressed() and clicked() are not emitted if you set this property to TRUE. The default is FALSE.
+.PP
+Set this property's value with setDown() and get this property's value with isDown().
+.SH "bool exclusiveToggle"
+This property holds whether the button is an exclusive toggle.
+.PP
+If this property is TRUE and the button is in a QButtonGroup, the button can only be toggled off by another one being toggled on. The default is FALSE.
+.PP
+Get this property's value with isExclusiveToggle().
+.SH "bool on"
+This property holds whether the button is toggled.
+.PP
+This property should only be set for toggle buttons.
+.PP
+Get this property's value with isOn().
+.SH "QPixmap pixmap"
+This property holds the pixmap shown on the button.
+.PP
+If the pixmap is monochrome (i.e. it is a QBitmap or its depth is 1) and it does not have a mask, this property will set the pixmap to be its own mask. The purpose of this is to draw transparent bitmaps which are important for toggle buttons, for example.
+.PP
+pixmap() returns 0 if no pixmap was set.
+.PP
+Set this property's value with setPixmap() and get this property's value with pixmap().
+.SH "QString text"
+This property holds the text shown on the button.
+.PP
+This property will return a QString::null if the button has no text. If the text has an ampersand (&) in it, then an accelerator is automatically created for it using the character that follows the '&' as the accelerator key. Any previous accelerator will be overwritten, or cleared if no accelerator is defined by the text.
+.PP
+There is no default text.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "bool toggleButton"
+This property holds whether the button is a toggle button.
+.PP
+The default value is FALSE.
+.PP
+Get this property's value with isToggleButton().
+.SH "ToggleState toggleState"
+This property holds the state of the toggle button.
+.PP
+If this property is changed then it does not cause the button to be repainted.
+.PP
+Get this property's value with state().
+.SH "ToggleType toggleType"
+This property holds the type of toggle on the button.
+.PP
+The default toggle type is SingleShot.
+.PP
+See also QButton::ToggleType.
+.PP
+Get this property's value with toggleType().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbutton.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbutton.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbuttongroup.3qt b/doc/man/man3/qbuttongroup.3qt
new file mode 100644
index 0000000..5a988f9
--- /dev/null
+++ b/doc/man/man3/qbuttongroup.3qt
@@ -0,0 +1,243 @@
+'\" t
+.TH QButtonGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QButtonGroup \- Organizes QButton widgets in a group
+.SH SYNOPSIS
+\fC#include <qbuttongroup.h>\fR
+.PP
+Inherits QGroupBox.
+.PP
+Inherited by QHButtonGroup and QVButtonGroup.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQButtonGroup\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQButtonGroup\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQButtonGroup\fR ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQButtonGroup\fR ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisExclusive\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRadioButtonExclusive\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetExclusive\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRadioButtonExclusive\fR ( bool )"
+.br
+.ti -1c
+.BI "int \fBinsert\fR ( QButton * button, int id = -1 )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QButton * button )"
+.br
+.ti -1c
+.BI "QButton * \fBfind\fR ( int id ) const"
+.br
+.ti -1c
+.BI "int \fBid\fR ( QButton * button ) const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetButton\fR ( int id )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveFocus\fR ( int key )"
+.br
+.ti -1c
+.BI "QButton * \fBselected\fR () const"
+.br
+.ti -1c
+.BI "int \fBselectedId\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBpressed\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( int id )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBexclusive\fR - whether the button group is exclusive"
+.br
+.ti -1c
+.BI "bool \fBradioButtonExclusive\fR - whether the radio buttons in the group are exclusive"
+.br
+.ti -1c
+.BI "int \fBselectedId\fR - the selected toggle button"
+.br
+.in -1c
+.SH DESCRIPTION
+The QButtonGroup widget organizes QButton widgets in a group.
+.PP
+A button group widget makes it easier to deal with groups of buttons. Each button in a button group has a unique identifier. The button group emits a clicked() signal with this identifier when a button in the group is clicked. This makes a button group particularly useful when you have several similar buttons and want to connect all their clicked() signals to a single slot.
+.PP
+An exclusive button group switches off all toggle buttons except the one that was clicked. A button group is, by default, non-exclusive. Note that all radio buttons that are inserted into a button group are mutually exclusive even if the button group is non-exclusive. (See setRadioButtonExclusive().)
+.PP
+There are two ways of using a button group:
+.TP
+The button group is the parent widget of a number of buttons, i.e. the button group is the parent argument in the button constructor. The buttons are assigned identifiers 0, 1, 2, etc., in the order they are created. A QButtonGroup can display a frame and a title because it inherits QGroupBox.
+.TP
+The button group is an invisible widget and the contained buttons have some other parent widget. In this usage, each button must be manually inserted, using insert(), into the button group and given an identifier.
+.PP
+A button can be removed from the group with remove(). A pointer to a button with a given id can be obtained using find(). The id of a button is available using id(). A button can be set \fIon\fR with setButton(). The number of buttons in the group is returned by count().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QPushButton, QCheckBox, QRadioButton, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QButtonGroup::QButtonGroup ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a button group with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QButtonGroup::QButtonGroup ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a button group with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QButtonGroup::QButtonGroup ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )"
+Constructs a button group with no title. Child widgets will be arranged in \fIstrips\fR rows or columns (depending on \fIorientation\fR).
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QButtonGroup::QButtonGroup ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a button group with title \fItitle\fR. Child widgets will be arranged in \fIstrips\fR rows or columns (depending on \fIorientation\fR).
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "void QButtonGroup::clicked ( int id )\fC [signal]\fR"
+This signal is emitted when a button in the group is clicked. The \fIid\fR argument is the button's identifier.
+.PP
+See also insert().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and xform/xform.cpp.
+.SH "int QButtonGroup::count () const"
+Returns the number of buttons in the group.
+.SH "QButton * QButtonGroup::find ( int id ) const"
+Returns the button with the specified identifier \fIid\fR, or 0 if the button was not found.
+.SH "int QButtonGroup::id ( QButton * button ) const"
+Returns the id of \fIbutton\fR, or -1 if \fIbutton\fR is not a member of this group.
+.PP
+See also selectedId.
+.SH "int QButtonGroup::insert ( QButton * button, int id = -1 )"
+Inserts the \fIbutton\fR with the identifier \fIid\fR into the button group. Returns the button identifier.
+.PP
+Buttons are normally inserted into a button group automatically by passing the button group as the parent when the button is constructed. So it is not necessary to manually insert buttons that have this button group as their parent widget. An exception is when you want custom identifiers instead of the default 0, 1, 2, etc., or if you want the buttons to have some other parent.
+.PP
+The button is assigned the identifier \fIid\fR or an automatically generated identifier. It works as follows: If \fIid\fR >= 0, this identifier is assigned. If \fIid\fR == -1 (default), the identifier is equal to the number of buttons in the group. If \fIid\fR is any other negative integer, for instance -2, a unique identifier (negative integer <= -2) is generated. No button has an id of -1.
+.PP
+See also find(), remove(), and exclusive.
+.PP
+Examples:
+.)l listbox/listbox.cpp and xform/xform.cpp.
+.SH "bool QButtonGroup::isExclusive () const"
+Returns TRUE if the button group is exclusive; otherwise returns FALSE. See the "exclusive" property for details.
+.SH "bool QButtonGroup::isRadioButtonExclusive () const"
+Returns TRUE if the radio buttons in the group are exclusive; otherwise returns FALSE. See the "radioButtonExclusive" property for details.
+.SH "void QButtonGroup::moveFocus ( int key )\fC [virtual]\fR"
+Moves the keyboard focus according to \fIkey\fR, and if appropriate checks the new focus item.
+.PP
+This function does nothing unless the keyboard focus points to one of the button group members and \fIkey\fR is one of Key_Up, Key_Down, Key_Left and Key_Right.
+.SH "void QButtonGroup::pressed ( int id )\fC [signal]\fR"
+This signal is emitted when a button in the group is pressed. The \fIid\fR argument is the button's identifier.
+.PP
+See also insert().
+.SH "void QButtonGroup::released ( int id )\fC [signal]\fR"
+This signal is emitted when a button in the group is released. The \fIid\fR argument is the button's identifier.
+.PP
+See also insert().
+.SH "void QButtonGroup::remove ( QButton * button )"
+Removes the \fIbutton\fR from the button group.
+.PP
+See also insert().
+.SH "QButton * QButtonGroup::selected () const"
+Returns the selected toggle button if exactly one is selected; otherwise returns 0.
+.PP
+See also selectedId.
+.SH "int QButtonGroup::selectedId () const"
+Returns the selected toggle button. See the "selectedId" property for details.
+.SH "void QButtonGroup::setButton ( int id )\fC [virtual]\fR"
+Sets the selected toggle button to \fIid\fR. See the "selectedId" property for details.
+.SH "void QButtonGroup::setExclusive ( bool )\fC [virtual]\fR"
+Sets whether the button group is exclusive. See the "exclusive" property for details.
+.SH "void QButtonGroup::setRadioButtonExclusive ( bool )\fC [virtual]\fR"
+Sets whether the radio buttons in the group are exclusive. See the "radioButtonExclusive" property for details.
+.SS "Property Documentation"
+.SH "bool exclusive"
+This property holds whether the button group is exclusive.
+.PP
+If this property is TRUE, then the buttons in the group are toggled, and to untoggle a button you must click on another button in the group. The default value is FALSE.
+.PP
+Set this property's value with setExclusive() and get this property's value with isExclusive().
+.SH "bool radioButtonExclusive"
+This property holds whether the radio buttons in the group are exclusive.
+.PP
+If this property is TRUE (the default), the radiobuttons in the group are treated exclusively.
+.PP
+Set this property's value with setRadioButtonExclusive() and get this property's value with isRadioButtonExclusive().
+.SH "int selectedId"
+This property holds the selected toggle button.
+.PP
+The toggle button is specified as an ID.
+.PP
+If no toggle button is selected, this property holds -1.
+.PP
+If setButton() is called on an exclusive group, the button with the given id will be set to on and all the others will be set to off.
+.PP
+See also selected().
+.PP
+Set this property's value with setButton() and get this property's value with selectedId().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbuttongroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbuttongroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qbytearray.3qt b/doc/man/man3/qbytearray.3qt
new file mode 100644
index 0000000..dffb9d1
--- /dev/null
+++ b/doc/man/man3/qbytearray.3qt
@@ -0,0 +1,99 @@
+'\" t
+.TH QByteArray 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QByteArray \- Array of bytes
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qcstring.h>\fR
+.PP
+Inherits QMemArray<char>.
+.PP
+Inherited by QBitArray and QCString.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQByteArray\fR ()"
+.br
+.ti -1c
+.BI "\fBQByteArray\fR ( int size )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QByteArray \fBqCompress\fR ( const QByteArray & data )"
+.br
+.ti -1c
+.BI "QByteArray \fBqCompress\fR ( const uchar * data, int nbytes )"
+.br
+.ti -1c
+.BI "QByteArray \fBqUncompress\fR ( const QByteArray & data )"
+.br
+.ti -1c
+.BI "QByteArray \fBqUncompress\fR ( const uchar * data, int nbytes )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QByteArray class provides an array of bytes.
+.PP
+The QByteArray class provides an explicitly shared array of bytes. It is useful for manipulating memory areas with custom data. QByteArray is implemented as a QMemArray<char>. See the QMemArray documentation for further information.
+.PP
+See also Collection Classes and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QByteArray::QByteArray ()"
+Constructs an empty QByteArray.
+.SH "QByteArray::QByteArray ( int size )"
+Constructs a QByteArray of size \fIsize\fR.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QByteArray qCompress ( const QByteArray & data )"
+Compresses the array \fIdata\fR and returns the compressed byte array using zlib.
+.PP
+See also qUncompress().
+.SH "QByteArray qCompress ( const uchar * data, int nbytes )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Compresses the array \fIdata\fR which is \fInbytes\fR long and returns the compressed byte array.
+.SH "QByteArray qUncompress ( const QByteArray & data )"
+Uncompresses the array \fIdata\fR and returns the uncompressed byte array.
+.PP
+Returns an empty QByteArray if the input data was corrupt.
+.PP
+See also qCompress().
+.SH "QByteArray qUncompress ( const uchar * data, int nbytes )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Uncompresses the array \fIdata\fR which is \fInbytes\fR long and returns
+the uncompressed byte array.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qbytearray.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qbytearray.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcache.3qt b/doc/man/man3/qcache.3qt
new file mode 100644
index 0000000..ddae368
--- /dev/null
+++ b/doc/man/man3/qcache.3qt
@@ -0,0 +1,215 @@
+'\" t
+.TH QCache 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCache \- Template class that provides a cache based on QString keys
+.SH SYNOPSIS
+\fC#include <qcache.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCache\fR ( int maxCost = 100, int size = 17, bool caseSensitive = TRUE )"
+.br
+.ti -1c
+.BI "\fB~QCache\fR ()"
+.br
+.ti -1c
+.BI "int \fBmaxCost\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotalCost\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMaxCost\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBinsert\fR ( const QString & k, const type * d, int c = 1, int p = 0 )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const QString & k )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( const QString & k )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( const QString & k, bool ref = TRUE ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( const QString & k ) const"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCache class is a template class that provides a cache based on QString keys.
+.PP
+A cache is a least recently used (LRU) list of cache items. Each cache item has a key and a certain cost. The sum of item costs, totalCost(), never exceeds the maximum cache cost, maxCost(). If inserting a new item would cause the total cost to exceed the maximum cost, the least recently used items in the cache are removed.
+.PP
+QCache is a template class. QCache<X> defines a cache that operates on pointers to X, or X*.
+.PP
+Apart from insert(), by far the most important function is find() (which also exists as operator[]()). This function looks up an item, returns it, and by default marks it as being the most recently used item.
+.PP
+There are also methods to remove() or take() an object from the cache. Calling setAutoDelete(TRUE) for a cache tells it to delete items that are removed. The default is to not delete items when they are removed (i.e., remove() and take() are equivalent).
+.PP
+When inserting an item into the cache, only the pointer is copied, not the item itself. This is called a shallow copy. It is possible to make the cache copy all of the item's data (known as a deep copy) when an item is inserted. insert() calls the virtual function QPtrCollection::newItem() for the item to be inserted. Inherit a cache and reimplement newItem() if you want deep copies.
+.PP
+When removing a cache item, the virtual function QPtrCollection::deleteItem() is called. The default implementation deletes the item if auto-deletion is enabled, and does nothing otherwise.
+.PP
+There is a QCacheIterator that can be used to traverse the items in the cache in arbitrary order.
+.PP
+In QCache, the cache items are accessed via QString keys, which are Unicode strings. If you want to use non-Unicode, plain 8-bit \fCchar*\fR keys, use the QAsciiCache template. A QCache has the same performance as a QAsciiCache.
+.PP
+See also QCacheIterator, QAsciiCache, QIntCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCache::QCache ( int maxCost = 100, int size = 17, bool caseSensitive = TRUE )"
+Constructs a cache whose contents will never have a total cost greater than \fImaxCost\fR and which is expected to contain less than \fIsize\fR items.
+.PP
+\fIsize\fR is actually the size of an internal hash array; it's usually best to make it a prime number and at least 50% bigger than the largest expected number of items in the cache.
+.PP
+Each inserted item has an associated cost. When inserting a new item, if the total cost of all items in the cache will exceed \fImaxCost\fR, the cache will start throwing out the older (least recently used) items until there is enough room for the new item to be inserted.
+.PP
+If \fIcaseSensitive\fR is TRUE (the default), the cache keys are case sensitive; if it is FALSE, they are case-insensitive. Case-insensitive comparison considers all Unicode letters.
+.SH "QCache::~QCache ()"
+Removes all items from the cache and destroys it. All iterators that access this cache will be reset.
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QCache::clear ()\fC [virtual]\fR"
+Removes all items from the cache and deletes them if auto-deletion has been enabled.
+.PP
+All cache iterators that operate this on cache are reset.
+.PP
+See also remove() and take().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QCache::count () const\fC [virtual]\fR"
+Returns the number of items in the cache.
+.PP
+See also totalCost().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QCache::find ( const QString & k, bool ref = TRUE ) const"
+Returns the item associated with key \fIk\fR, or 0 if the key does not exist in the cache. If \fIref\fR is TRUE (the default), the item is moved to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is returned.
+.SH "bool QCache::insert ( const QString & k, const type * d, int c = 1, int p = 0 )"
+Inserts the item \fId\fR into the cache with key \fIk\fR and associated cost, \fIc\fR. Returns TRUE if it is successfully inserted; otherwise returns FALSE.
+.PP
+The cache's size is limited, and if the total cost is too high, QCache will remove old, least recently used items until there is room for this new item.
+.PP
+The parameter \fIp\fR is internal and should be left at the default value (0).
+.PP
+\fBWarning:\fR If this function returns FALSE (which could happen, e.g. if the cost of this item alone exceeds maxCost()) you must delete \fId\fR yourself. Additionally, be very careful about using \fId\fR after calling this function because any other insertions into the cache, from anywhere in the application or within Qt itself, could cause the object to be discarded from the cache and the pointer to become invalid.
+.SH "bool QCache::isEmpty () const"
+Returns TRUE if the cache is empty; otherwise returns FALSE.
+.SH "int QCache::maxCost () const"
+Returns the maximum allowed total cost of the cache.
+.PP
+See also setMaxCost() and totalCost().
+.SH "type * QCache::operator[] ( const QString & k ) const"
+Returns the item associated with key \fIk\fR, or 0 if \fIk\fR does not exist in the cache, and moves the item to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is returned.
+.PP
+This is the same as find( k, TRUE ).
+.PP
+See also find().
+.SH "bool QCache::remove ( const QString & k )"
+Removes the item associated with \fIk\fR, and returns TRUE if the item was present in the cache; otherwise returns FALSE.
+.PP
+The item is deleted if auto-deletion has been enabled, i.e., if you have called setAutoDelete(TRUE).
+.PP
+If there are two or more items with equal keys, the one that was inserted last is removed.
+.PP
+All iterators that refer to the removed item are set to point to the next item in the cache's traversal order.
+.PP
+See also take() and clear().
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "void QCache::setMaxCost ( int m )"
+Sets the maximum allowed total cost of the cache to \fIm\fR. If the current total cost is greater than \fIm\fR, some items are deleted immediately.
+.PP
+See also maxCost() and totalCost().
+.SH "uint QCache::size () const"
+Returns the size of the hash array used to implement the cache. This should be a bit bigger than count() is likely to be.
+.SH "void QCache::statistics () const"
+A debug-only utility function. Prints out cache usage, hit/miss, and distribution information using qDebug(). This function does nothing in the release library.
+.SH "type * QCache::take ( const QString & k )"
+Takes the item associated with \fIk\fR out of the cache without deleting it, and returns a pointer to the item taken out, or 0 if the key does not exist in the cache.
+.PP
+If there are two or more items with equal keys, the one that was inserted last is taken.
+.PP
+All iterators that refer to the taken item are set to point to the next item in the cache's traversal order.
+.PP
+See also remove() and clear().
+.SH "int QCache::totalCost () const"
+Returns the total cost of the items in the cache. This is an integer in the range 0 to maxCost().
+.PP
+See also setMaxCost().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcache.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcache.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcacheiterator.3qt b/doc/man/man3/qcacheiterator.3qt
new file mode 100644
index 0000000..b305925
--- /dev/null
+++ b/doc/man/man3/qcacheiterator.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QCacheIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCacheIterator \- Iterator for QCache collections
+.SH SYNOPSIS
+\fC#include <qcache.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCacheIterator\fR ( const QCache<type> & cache )"
+.br
+.ti -1c
+.BI "\fBQCacheIterator\fR ( const QCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "QCacheIterator<type> & \fBoperator=\fR ( const QCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatFirst\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatLast\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtoLast\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.ti -1c
+.BI "type * \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator-=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCacheIterator class provides an iterator for QCache collections.
+.PP
+Note that the traversal order is arbitrary; you are not guaranteed any particular order. If new objects are inserted into the cache while the iterator is active, the iterator may or may not see them.
+.PP
+Multiple iterators are completely independent, even when they operate on the same QCache. QCache updates all iterators that refer an item when that item is removed.
+.PP
+QCacheIterator provides an operator++(), and an operator+=() to traverse the cache. The current() and currentKey() functions are used to access the current cache item and its key. The atFirst() and atLast() return TRUE if the iterator points to the first or last item in the cache respectively. The isEmpty() function returns TRUE if the cache is empty, and count() returns the number of items in the cache.
+.PP
+Note that atFirst() and atLast() refer to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also QCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCacheIterator::QCacheIterator ( const QCache<type> & cache )"
+Constructs an iterator for \fIcache\fR. The current iterator item is set to point to the first item in the \fIcache\fR.
+.SH "QCacheIterator::QCacheIterator ( const QCacheIterator<type> & ci )"
+Constructs an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current(), but moves independently from there on.
+.SH "bool QCacheIterator::atFirst () const"
+Returns TRUE if the iterator points to the first item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toFirst() and atLast().
+.SH "bool QCacheIterator::atLast () const"
+Returns TRUE if the iterator points to the last item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toLast() and atFirst().
+.SH "uint QCacheIterator::count () const"
+Returns the number of items in the cache on which this iterator operates.
+.PP
+See also isEmpty().
+.SH "type * QCacheIterator::current () const"
+Returns a pointer to the current iterator item.
+.SH "QString QCacheIterator::currentKey () const"
+Returns the key for the current iterator item.
+.SH "bool QCacheIterator::isEmpty () const"
+Returns TRUE if the cache is empty, i.e. count() == 0; otherwise it returns FALSE.
+.PP
+See also count().
+.SH "QCacheIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QCacheIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the cache or if it was 0, 0 is returned.
+.SH "type * QCacheIterator::operator++ ()"
+Prefix++ makes the iterator point to the item just after current() and makes that the new current item for the iterator. If current() was the last item, operator++() returns 0.
+.SH "type * QCacheIterator::operator+= ( uint jump )"
+Returns the item \fIjump\fR positions after the current item, or 0 if it is beyond the last item. Makes this the current item.
+.SH "type * QCacheIterator::operator-- ()"
+Prefix-- makes the iterator point to the item just before current() and makes that the new current item for the iterator. If current() was the first item, operator--() returns 0.
+.SH "type * QCacheIterator::operator-= ( uint jump )"
+Returns the item \fIjump\fR positions before the current item, or 0 if it is before the first item. Makes this the current item.
+.SH "QCacheIterator<type> & QCacheIterator::operator= ( const QCacheIterator<type> & ci )"
+Makes this an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current(), but moves independently thereafter.
+.SH "type * QCacheIterator::toFirst ()"
+Sets the iterator to point to the first item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0 and returns 0 if the cache is empty.
+.PP
+See also toLast() and isEmpty().
+.SH "type * QCacheIterator::toLast ()"
+Sets the iterator to point to the last item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0 and returns 0 if the cache is empty.
+.PP
+See also toFirst() and isEmpty().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcacheiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcacheiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvas.3qt b/doc/man/man3/qcanvas.3qt
new file mode 100644
index 0000000..4067e90
--- /dev/null
+++ b/doc/man/man3/qcanvas.3qt
@@ -0,0 +1,457 @@
+'\" t
+.TH QCanvas 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvas \- 2D area that can contain QCanvasItem objects
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvas\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQCanvas\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "\fBQCanvas\fR ( QPixmap p, int h, int v, int tilewidth, int tileheight )"
+.br
+.ti -1c
+.BI "virtual \fB~QCanvas\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetTiles\fR ( QPixmap p, int h, int v, int tilewidth, int tileheight )"
+.br
+.ti -1c
+.BI "virtual void \fBsetBackgroundPixmap\fR ( const QPixmap & p )"
+.br
+.ti -1c
+.BI "QPixmap \fBbackgroundPixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetBackgroundColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "QColor \fBbackgroundColor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTile\fR ( int x, int y, int tilenum )"
+.br
+.ti -1c
+.BI "int \fBtile\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "int \fBtilesHorizontally\fR () const"
+.br
+.ti -1c
+.BI "int \fBtilesVertically\fR () const"
+.br
+.ti -1c
+.BI "int \fBtileWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBtileHeight\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBresize\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "bool \fBonCanvas\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "bool \fBonCanvas\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "bool \fBvalidChunk\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "bool \fBvalidChunk\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "int \fBchunkSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBretune\fR ( int chunksze, int mxclusters = 100 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAllChanged\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetChanged\fR ( const QRect & area )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUnchanged\fR ( const QRect & area )"
+.br
+.ti -1c
+.BI "QCanvasItemList \fBallItems\fR ()"
+.br
+.ti -1c
+.BI "QCanvasItemList \fBcollisions\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "QCanvasItemList \fBcollisions\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "QCanvasItemList \fBcollisions\fR ( const QPointArray & chunklist, const QCanvasItem * item, bool exact ) const"
+.br
+.ti -1c
+.BI "void \fBdrawArea\fR ( const QRect & clip, QPainter * painter, bool dbuf = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAdvancePeriod\fR ( int ms )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUpdatePeriod\fR ( int ms )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDoubleBuffering\fR ( bool y )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBadvance\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBupdate\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBresized\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawBackground\fR ( QPainter & painter, const QRect & clip )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawForeground\fR ( QPainter & painter, const QRect & clip )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvas class provides a 2D area that can contain QCanvasItem objects.
+.PP
+The QCanvas class manages its 2D graphic area and all the canvas items the area contains. The canvas has no visual appearance of its own. Instead, it is displayed on screen using a QCanvasView. Multiple QCanvasView widgets may be associated with a canvas to provide multiple views of the same canvas.
+.PP
+The canvas is optimized for large numbers of items, particularly where only a small percentage of the items change at any one time. If the entire display changes very frequently, you should consider using your own custom QScrollView subclass.
+.PP
+Qt provides a rich set of canvas item classes, e.g. QCanvasEllipse, QCanvasLine, QCanvasPolygon, QCanvasPolygonalItem, QCanvasRectangle, QCanvasSpline, QCanvasSprite and QCanvasText. You can subclass to create your own canvas items; QCanvasPolygonalItem is the most common base class used for this purpose.
+.PP
+Items appear on the canvas after their show() function has been called (or setVisible(TRUE)), and \fIafter\fR update() has been called. The canvas only shows items that are visible, and then only if update() is called. (By default the canvas is white and so are canvas items, so if nothing appears try changing colors.)
+.PP
+If you created the canvas without passing a width and height to the constructor you must also call resize().
+.PP
+Although a canvas may appear to be similar to a widget with child widgets, there are several notable differences:
+.TP
+Canvas items are usually much faster to manipulate and redraw than child widgets, with the speed advantage becoming especially great when there are \fImany\fR canvas items and non-rectangular items. In most situations canvas items are also a lot more memory efficient than child widgets.
+.IP
+.TP
+It's easy to detect overlapping items (collision detection).
+.IP
+.TP
+The canvas can be larger than a widget. A million-by-million canvas is perfectly possible. At such a size a widget might be very inefficient, and some window systems might not support it at all, whereas QCanvas scales well. Even with a billion pixels and a million items, finding a particular canvas item, detecting collisions, etc., is still fast (though the memory consumption may be prohibitive at such extremes).
+.IP
+.TP
+Two or more QCanvasView objects can view the same canvas.
+.IP
+.TP
+An arbitrary transformation matrix can be set on each QCanvasView which makes it easy to zoom, rotate or shear the viewed canvas.
+.IP
+.TP
+Widgets provide a lot more functionality, such as input (QKeyEvent, QMouseEvent etc.) and layout management (QGridLayout etc.).
+.IP
+.PP
+A canvas consists of a background, a number of canvas items organized by x, y and z coordinates, and a foreground. A canvas item's z coordinate can be treated as a layer number -- canvas items with a higher z coordinate appear in front of canvas items with a lower z coordinate.
+.PP
+The background is white by default, but can be set to a different color using setBackgroundColor(), or to a repeated pixmap using setBackgroundPixmap() or to a mosaic of smaller pixmaps using setTiles(). Individual tiles can be set with setTile(). There are corresponding get functions, e.g. backgroundColor() and backgroundPixmap().
+.PP
+Note that QCanvas does not inherit from QWidget, even though it has some functions which provide the same functionality as those in QWidget. One of these is setBackgroundPixmap(); some others are resize(), size(), width() and height(). QCanvasView is the widget used to display a canvas on the screen.
+.PP
+Canvas items are added to a canvas by constructing them and passing the canvas to the canvas item's constructor. An item can be moved to a different canvas using QCanvasItem::setCanvas().
+.PP
+Canvas items are movable (and in the case of QCanvasSprites, animated) objects that inherit QCanvasItem. Each canvas item has a position on the canvas (x, y coordinates) and a height (z coordinate), all of which are held as floating-point numbers. Moving canvas items also have x and y velocities. It's possible for a canvas item to be outside the canvas (for example QCanvasItem::x() is greater than width()). When a canvas item is off the canvas, onCanvas() returns FALSE and the canvas disregards the item. (Canvas items off the canvas do not slow down any of the common operations on the canvas.)
+.PP
+Canvas items can be moved with QCanvasItem::move(). The advance() function moves all QCanvasItem::animated() canvas items and setAdvancePeriod() makes QCanvas move them automatically on a periodic basis. In the context of the QCanvas classes, to `animate' a canvas item is to set it in motion, i.e. using QCanvasItem::setVelocity(). Animation of a canvas item itself, i.e. items which change over time, is enabled by calling QCanvasSprite::setFrameAnimation(), or more generally by subclassing and reimplementing QCanvasItem::advance(). To detect collisions use one of the QCanvasItem::collisions() functions.
+.PP
+The changed parts of the canvas are redrawn (if they are visible in a canvas view) whenever update() is called. You can either call update() manually after having changed the contents of the canvas, or force periodic updates using setUpdatePeriod(). If you have moving objects on the canvas, you must call advance() every time the objects should move one step further. Periodic calls to advance() can be forced using setAdvancePeriod(). The advance() function will call QCanvasItem::advance() on every item that is animated and trigger an update of the affected areas afterwards. (A canvas item that is `animated' is simply a canvas item that is in motion.)
+.PP
+QCanvas organizes its canvas items into \fIchunks\fR; these are areas on the canvas that are used to speed up most operations. Many operations start by eliminating most chunks (i.e. those which haven't changed) and then process only the canvas items that are in the few interesting (i.e. changed) chunks. A valid chunk, validChunk(), is one which is on the canvas.
+.PP
+The chunk size is a key factor to QCanvas's speed: if there are too many chunks, the speed benefit of grouping canvas items into chunks is reduced. If the chunks are too large, it takes too long to process each one. The QCanvas constructor tries to pick a suitable size, but you can call retune() to change it at any time. The chunkSize() function returns the current chunk size. The canvas items always make sure they're in the right chunks; all you need to make sure of is that the canvas uses the right chunk size. A good rule of thumb is that the size should be a bit smaller than the average canvas item size. If you have moving objects, the chunk size should be a bit smaller than the average size of the moving items.
+.PP
+The foreground is normally nothing, but if you reimplement drawForeground(), you can draw things in front of all the canvas items.
+.PP
+Areas can be set as changed with setChanged() and set unchanged with setUnchanged(). The entire canvas can be set as changed with setAllChanged(). A list of all the items on the canvas is returned by allItems().
+.PP
+An area can be copied (painted) to a QPainter with drawArea().
+.PP
+If the canvas is resized it emits the resized() signal.
+.PP
+The examples/canvas application and the 2D graphics page of the examples/demo application demonstrate many of QCanvas's facilities.
+.PP
+See also QCanvasView, QCanvasItem, Abstract Widget Classes, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvas::QCanvas ( QObject * parent = 0, const char * name = 0 )"
+Create a QCanvas with no size. \fIparent\fR and \fIname\fR are passed to the QObject superclass.
+.PP
+\fBWarning:\fR You \fImust\fR call resize() at some time after creation to be able to use the canvas.
+.SH "QCanvas::QCanvas ( int w, int h )"
+Constructs a QCanvas that is \fIw\fR pixels wide and \fIh\fR pixels high.
+.SH "QCanvas::QCanvas ( QPixmap p, int h, int v, int tilewidth, int tileheight )"
+Constructs a QCanvas which will be composed of \fIh\fR tiles horizontally and \fIv\fR tiles vertically. Each tile will be an image \fItilewidth\fR by \fItileheight\fR pixels taken from pixmap \fIp\fR.
+.PP
+The pixmap \fIp\fR is a list of tiles, arranged left to right, (and in the case of pixmaps that have multiple rows of tiles, top to bottom), with tile 0 in the top-left corner, tile 1 next to the right, and so on, e.g.
+.PP
+<center>.nf
+.TS
+l - l. 0 1 2 3 4 5 6
+.TE
+.fi
+</center>
+.PP
+The QCanvas is initially sized to show exactly the given number of tiles horizontally and vertically. If it is resized to be larger, the entire matrix of tiles will be repeated as often as necessary to cover the area. If it is smaller, tiles to the right and bottom will not be visible.
+.PP
+See also setTiles().
+.SH "QCanvas::~QCanvas ()\fC [virtual]\fR"
+Destroys the canvas and all the canvas's canvas items.
+.SH "void QCanvas::advance ()\fC [virtual slot]\fR"
+Moves all QCanvasItem::animated() canvas items on the canvas and refreshes all changes to all views of the canvas. (An `animated' item is an item that is in motion; see setVelocity().)
+.PP
+The advance takes place in two phases. In phase 0, the QCanvasItem::advance() function of each QCanvasItem::animated() canvas item is called with paramater 0. Then all these canvas items are called again, with parameter 1. In phase 0, the canvas items should not change position, merely examine other items on the canvas for which special processing is required, such as collisions between items. In phase 1, all canvas items should change positions, ignoring any other items on the canvas. This two-phase approach allows for considerations of "fairness", although no QCanvasItem subclasses supplied with Qt do anything interesting in phase 0.
+.PP
+The canvas can be configured to call this function periodically with setAdvancePeriod().
+.PP
+See also update().
+.SH "QCanvasItemList QCanvas::allItems ()"
+Returns a list of all the items in the canvas.
+.SH "QColor QCanvas::backgroundColor () const"
+Returns the color set by setBackgroundColor(). By default, this is white.
+.PP
+This function is not a reimplementation of QWidget::backgroundColor() (QCanvas is not a subclass of QWidget), but all QCanvasViews that are viewing the canvas will set their backgrounds to this color.
+.PP
+See also setBackgroundColor() and backgroundPixmap().
+.SH "QPixmap QCanvas::backgroundPixmap () const"
+Returns the pixmap set by setBackgroundPixmap(). By default, this is a null pixmap.
+.PP
+See also setBackgroundPixmap() and backgroundColor().
+.SH "int QCanvas::chunkSize () const"
+Returns the chunk size of the canvas.
+.PP
+See also retune().
+.SH "QCanvasItemList QCanvas::collisions ( const QPoint & p ) const"
+Returns a list of canvas items that collide with the point \fIp\fR. The list is ordered by z coordinates, from highest z coordinate (front-most item) to lowest z coordinate (rear-most item).
+.SH "QCanvasItemList QCanvas::collisions ( const QRect & r ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of items which collide with the rectangle \fIr\fR. The list is ordered by z coordinates, from highest z coordinate (front-most item) to lowest z coordinate (rear-most item).
+.SH "QCanvasItemList QCanvas::collisions ( const QPointArray & chunklist, const QCanvasItem * item, bool exact ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of canvas items which intersect with the chunks listed in \fIchunklist\fR, excluding \fIitem\fR. If \fIexact\fR is TRUE, only those which actually collide with \fIitem\fR are returned; otherwise canvas items are included just for being in the chunks.
+.PP
+This is a utility function mainly used to implement the simpler QCanvasItem::collisions() function.
+.SH "void QCanvas::drawArea ( const QRect & clip, QPainter * painter, bool dbuf = FALSE )"
+Paints all canvas items that are in the area \fIclip\fR to \fIpainter\fR, using double-buffering if \fIdbuf\fR is TRUE.
+.PP
+e.g. to print the canvas to a printer:
+.PP
+.nf
+.br
+ QPrinter pr;
+.br
+ if ( pr.setup() ) {
+.br
+ QPainter p(&pr);
+.br
+ canvas.drawArea( canvas.rect(), &p );
+.br
+ }
+.br
+.fi
+.PP
+Example: canvas/canvas.cpp.
+.SH "void QCanvas::drawBackground ( QPainter & painter, const QRect & clip )\fC [virtual protected]\fR"
+This virtual function is called for all updates of the canvas. It renders any background graphics using the painter \fIpainter\fR, in the area \fIclip\fR. If the canvas has a background pixmap or a tiled background, that graphic is used, otherwise the canvas is cleared using the background color.
+.PP
+If the graphics for an area change, you must explicitly call setChanged(const QRect&) for the result to be visible when update() is next called.
+.PP
+See also setBackgroundColor(), setBackgroundPixmap(), and setTiles().
+.SH "void QCanvas::drawForeground ( QPainter & painter, const QRect & clip )\fC [virtual protected]\fR"
+This virtual function is called for all updates of the canvas. It renders any foreground graphics using the painter \fIpainter\fR, in the area \fIclip\fR.
+.PP
+If the graphics for an area change, you must explicitly call setChanged(const QRect&) for the result to be visible when update() is next called.
+.PP
+The default is to draw nothing.
+.SH "int QCanvas::height () const"
+Returns the height of the canvas, in pixels.
+.PP
+Example: canvas/canvas.cpp.
+.SH "bool QCanvas::onCanvas ( int x, int y ) const"
+Returns TRUE if the pixel position (\fIx\fR, \fIy\fR) is on the canvas; otherwise returns FALSE.
+.PP
+See also validChunk().
+.SH "bool QCanvas::onCanvas ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the pixel position \fIp\fR is on the canvas; otherwise returns FALSE.
+.PP
+See also validChunk().
+.SH "QRect QCanvas::rect () const"
+Returns a rectangle the size of the canvas.
+.SH "void QCanvas::resize ( int w, int h )\fC [virtual]\fR"
+Changes the size of the canvas to have a width of \fIw\fR and a height of \fIh\fR. This is a slow operation.
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/chartform.cpp.
+.SH "void QCanvas::resized ()\fC [signal]\fR"
+This signal is emitted whenever the canvas is resized. Each QCanvasView connects to this signal to keep the scrollview's size correct.
+.SH "void QCanvas::retune ( int chunksze, int mxclusters = 100 )\fC [virtual]\fR"
+Change the efficiency tuning parameters to \fImxclusters\fR clusters, each of size \fIchunksze\fR. This is a slow operation if there are many objects on the canvas.
+.PP
+The canvas is divided into chunks which are rectangular areas \fIchunksze\fR wide by \fIchunksze\fR high. Use a chunk size which is about the average size of the canvas items. If you choose a chunk size which is too small it will increase the amount of calculation required when drawing since each change will affect many chunks. If you choose a chunk size which is too large the amount of drawing required will increase because for each change, a lot of drawing will be required since there will be many (unchanged) canvas items which are in the same chunk as the changed canvas items.
+.PP
+Internally, a canvas uses a low-resolution "chunk matrix" to keep track of all the items in the canvas. A 64x64 chunk matrix is the default for a 1024x1024 pixel canvas, where each chunk collects canvas items in a 16x16 pixel square. This default is also affected by setTiles(). You can tune this default using this function. For example if you have a very large canvas and want to trade off speed for memory then you might set the chunk size to 32 or 64.
+.PP
+The \fImxclusters\fR argument is the number of rectangular groups of chunks that will be separately drawn. If the canvas has a large number of small, dispersed items, this should be about that number. Our testing suggests that a large number of clusters is almost always best.
+.SH "void QCanvas::setAdvancePeriod ( int ms )\fC [virtual]\fR"
+Sets the canvas to call advance() every \fIms\fR milliseconds. Any previous setting by setAdvancePeriod() or setUpdatePeriod() is overridden.
+.PP
+If \fIms\fR is less than 0 advancing will be stopped.
+.PP
+Example: canvas/main.cpp.
+.SH "void QCanvas::setAllChanged ()\fC [virtual]\fR"
+Marks the whole canvas as changed. All views of the canvas will be entirely redrawn when update() is called next.
+.SH "void QCanvas::setBackgroundColor ( const QColor & c )\fC [virtual]\fR"
+Sets the solid background to be the color \fIc\fR.
+.PP
+See also backgroundColor(), setBackgroundPixmap(), and setTiles().
+.SH "void QCanvas::setBackgroundPixmap ( const QPixmap & p )\fC [virtual]\fR"
+Sets the solid background to be the pixmap \fIp\fR repeated as necessary to cover the entire canvas.
+.PP
+See also backgroundPixmap(), setBackgroundColor(), and setTiles().
+.SH "void QCanvas::setChanged ( const QRect & area )\fC [virtual]\fR"
+Marks \fIarea\fR as changed. This \fIarea\fR will be redrawn in all views that are showing it when update() is called next.
+.SH "void QCanvas::setDoubleBuffering ( bool y )\fC [virtual]\fR"
+If \fIy\fR is TRUE (the default) double-buffering is switched on; otherwise double-buffering is switched off.
+.PP
+Turning off double-buffering causes the redrawn areas to flicker a little and also gives a (usually small) performance improvement.
+.PP
+Example: canvas/canvas.cpp.
+.SH "void QCanvas::setTile ( int x, int y, int tilenum )\fC [virtual]\fR"
+Sets the tile at (\fIx\fR, \fIy\fR) to use tile number \fItilenum\fR, which is an index into the tile pixmaps. The canvas will update appropriately when update() is next called.
+.PP
+The images are taken from the pixmap set by setTiles() and are arranged left to right, (and in the case of pixmaps that have multiple rows of tiles, top to bottom), with tile 0 in the top-left corner, tile 1 next to the right, and so on, e.g.
+.PP
+<center>.nf
+.TS
+l - l. 0 1 2 3 4 5 6
+.TE
+.fi
+</center>
+.PP
+See also tile() and setTiles().
+.SH "void QCanvas::setTiles ( QPixmap p, int h, int v, int tilewidth, int tileheight )\fC [virtual]\fR"
+Sets the QCanvas to be composed of \fIh\fR tiles horizontally and \fIv\fR tiles vertically. Each tile will be an image \fItilewidth\fR by \fItileheight\fR pixels from pixmap \fIp\fR.
+.PP
+The pixmap \fIp\fR is a list of tiles, arranged left to right, (and in the case of pixmaps that have multiple rows of tiles, top to bottom), with tile 0 in the top-left corner, tile 1 next to the right, and so on, e.g.
+.PP
+<center>.nf
+.TS
+l - l. 0 1 2 3 4 5 6
+.TE
+.fi
+</center>
+.PP
+If the canvas is larger than the matrix of tiles, the entire matrix is repeated as necessary to cover the whole canvas. If it is smaller, tiles to the right and bottom are not visible.
+.PP
+The width and height of \fIp\fR must be a multiple of \fItilewidth\fR and \fItileheight\fR. If they are not the function will do nothing.
+.PP
+If you want to unset any tiling set, then just pass in a null pixmap and 0 for \fIh\fR, \fIv\fR, \fItilewidth\fR, and \fItileheight\fR.
+.SH "void QCanvas::setUnchanged ( const QRect & area )\fC [virtual]\fR"
+Marks \fIarea\fR as \fIunchanged\fR. The area will \fInot\fR be redrawn in the views for the next update(), unless it is marked or changed again before the next call to update().
+.SH "void QCanvas::setUpdatePeriod ( int ms )\fC [virtual]\fR"
+Sets the canvas to call update() every \fIms\fR milliseconds. Any previous setting by setAdvancePeriod() or setUpdatePeriod() is overridden.
+.PP
+If \fIms\fR is less than 0 automatic updating will be stopped.
+.SH "QSize QCanvas::size () const"
+Returns the size of the canvas, in pixels.
+.SH "int QCanvas::tile ( int x, int y ) const"
+Returns the tile at position (\fIx\fR, \fIy\fR). Initially, all tiles are 0.
+.PP
+The parameters must be within range, i.e. 0 < \fIx\fR < tilesHorizontally() and 0 < \fIy\fR < tilesVertically().
+.PP
+See also setTile().
+.SH "int QCanvas::tileHeight () const"
+Returns the height of each tile.
+.SH "int QCanvas::tileWidth () const"
+Returns the width of each tile.
+.SH "int QCanvas::tilesHorizontally () const"
+Returns the number of tiles horizontally.
+.SH "int QCanvas::tilesVertically () const"
+Returns the number of tiles vertically.
+.SH "void QCanvas::update ()\fC [virtual slot]\fR"
+Repaints changed areas in all views of the canvas.
+.PP
+See also advance().
+.SH "bool QCanvas::validChunk ( int x, int y ) const"
+Returns TRUE if the chunk position (\fIx\fR, \fIy\fR) is on the canvas; otherwise returns FALSE.
+.PP
+See also onCanvas().
+.SH "bool QCanvas::validChunk ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the chunk position \fIp\fR is on the canvas; otherwise returns FALSE.
+.PP
+See also onCanvas().
+.SH "int QCanvas::width () const"
+Returns the width of the canvas, in pixels.
+.PP
+Example: canvas/canvas.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvas.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvas.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasellipse.3qt b/doc/man/man3/qcanvasellipse.3qt
new file mode 100644
index 0000000..612595c
--- /dev/null
+++ b/doc/man/man3/qcanvasellipse.3qt
@@ -0,0 +1,145 @@
+'\" t
+.TH QCanvasEllipse 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasEllipse \- Ellipse or ellipse segment on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasPolygonalItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasEllipse\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasEllipse\fR ( int width, int height, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasEllipse\fR ( int width, int height, int startangle, int angle, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fB~QCanvasEllipse\fR ()"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSize\fR ( int width, int height )"
+.br
+.ti -1c
+.BI "void \fBsetAngles\fR ( int start, int length )"
+.br
+.ti -1c
+.BI "int \fBangleStart\fR () const"
+.br
+.ti -1c
+.BI "int \fBangleLength\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawShape\fR ( QPainter & p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasEllipse class provides an ellipse or ellipse segment on a QCanvas.
+.PP
+A canvas item that paints an ellipse or ellipse segment with a QBrush. The ellipse's height, width, start angle and angle length can be set at construction time. The size can be changed at runtime with setSize(), and the angles can be changed (if you're displaying an ellipse segment rather than a whole ellipse) with setAngles().
+.PP
+Note that angles are specified in 16ths of a degree.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+If a start angle and length angle are set then an ellipse segment will be drawn. The start angle is the angle that goes from zero in a counter-clockwise direction (shown in green in the diagram). The length angle is the angle from the start angle in a counter-clockwise direction (shown in blue in the diagram). The blue segment is the segment of the ellipse that would be drawn. If no start angle and length angle are specified the entire ellipse is drawn.
+.PP
+The ellipse can be drawn on a painter with drawShape().
+.PP
+Like any other canvas item ellipses can be moved with move() and moveBy(), or by setting coordinates with setX(), setY() and setZ().
+.PP
+Note: QCanvasEllipse does not use the pen.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasEllipse::QCanvasEllipse ( QCanvas * canvas )"
+Constructs a 32x32 ellipse, centered at (0, 0) on \fIcanvas\fR.
+.SH "QCanvasEllipse::QCanvasEllipse ( int width, int height, QCanvas * canvas )"
+Constructs a \fIwidth\fR by \fIheight\fR pixel ellipse, centered at (0, 0) on \fIcanvas\fR.
+.SH "QCanvasEllipse::QCanvasEllipse ( int width, int height, int startangle, int angle, QCanvas * canvas )"
+Constructs a \fIwidth\fR by \fIheight\fR pixel ellipse, centered at (0, 0) on \fIcanvas\fR. Only a segment of the ellipse is drawn, starting at angle \fIstartangle\fR, and extending for angle \fIangle\fR (the angle length).
+.PP
+Note that angles are specified in <small><sup>1</sup>/<sub>16</sub></small>ths of a degree.
+.SH "QCanvasEllipse::~QCanvasEllipse ()"
+Destroys the ellipse.
+.SH "int QCanvasEllipse::angleLength () const"
+Returns the length angle (the extent of the ellipse segment) in 16ths of a degree. Initially this will be 360 * 16 (a complete ellipse).
+.PP
+See also setAngles() and angleStart().
+.SH "int QCanvasEllipse::angleStart () const"
+Returns the start angle in 16ths of a degree. Initially this will be 0.
+.PP
+See also setAngles() and angleLength().
+.SH "void QCanvasEllipse::drawShape ( QPainter & p )\fC [virtual protected]\fR"
+Draws the ellipse, centered at x(), y() using the painter \fIp\fR.
+.PP
+Note that QCanvasEllipse does not support an outline (the pen is always NoPen).
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "int QCanvasEllipse::height () const"
+Returns the height of the ellipse.
+.SH "int QCanvasEllipse::rtti () const\fC [virtual]\fR"
+Returns 6 (QCanvasItem::Rtti_Ellipse).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "void QCanvasEllipse::setAngles ( int start, int length )"
+Sets the angles for the ellipse. The start angle is \fIstart\fR and the extent of the segment is \fIlength\fR (the angle length) from the \fIstart\fR. The angles are specified in 16ths of a degree. By default the ellipse will start at 0 and have an angle length of 360 * 16 (a complete ellipse).
+.PP
+See also angleStart() and angleLength().
+.SH "void QCanvasEllipse::setSize ( int width, int height )"
+Sets the \fIwidth\fR and \fIheight\fR of the ellipse.
+.SH "int QCanvasEllipse::width () const"
+Returns the width of the ellipse.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasellipse.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasellipse.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasitem.3qt b/doc/man/man3/qcanvasitem.3qt
new file mode 100644
index 0000000..6c491e6
--- /dev/null
+++ b/doc/man/man3/qcanvasitem.3qt
@@ -0,0 +1,426 @@
+'\" t
+.TH QCanvasItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasItem \- Abstract graphic object on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QCanvasSprite, QCanvasPolygonalItem, and QCanvasText.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasItem\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "virtual \fB~QCanvasItem\fR ()"
+.br
+.ti -1c
+.BI "double \fBx\fR () const"
+.br
+.ti -1c
+.BI "double \fBy\fR () const"
+.br
+.ti -1c
+.BI "double \fBz\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBmoveBy\fR ( double dx, double dy )"
+.br
+.ti -1c
+.BI "void \fBmove\fR ( double x, double y )"
+.br
+.ti -1c
+.BI "void \fBsetX\fR ( double x )"
+.br
+.ti -1c
+.BI "void \fBsetY\fR ( double y )"
+.br
+.ti -1c
+.BI "void \fBsetZ\fR ( double z )"
+.br
+.ti -1c
+.BI "bool \fBanimated\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAnimated\fR ( bool y )"
+.br
+.ti -1c
+.BI "virtual void \fBsetVelocity\fR ( double vx, double vy )"
+.br
+.ti -1c
+.BI "void \fBsetXVelocity\fR ( double vx )"
+.br
+.ti -1c
+.BI "void \fBsetYVelocity\fR ( double vy )"
+.br
+.ti -1c
+.BI "double \fBxVelocity\fR () const"
+.br
+.ti -1c
+.BI "double \fByVelocity\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBadvance\fR ( int phase )"
+.br
+.ti -1c
+.BI "virtual bool \fBcollidesWith\fR ( const QCanvasItem * other ) const = 0"
+.br
+.ti -1c
+.BI "QCanvasItemList \fBcollisions\fR ( bool exact ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCanvas\fR ( QCanvas * c )"
+.br
+.ti -1c
+.BI "virtual void \fBdraw\fR ( QPainter & painter ) = 0"
+.br
+.ti -1c
+.BI "void \fBshow\fR ()"
+.br
+.ti -1c
+.BI "void \fBhide\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetVisible\fR ( bool yes )"
+.br
+.ti -1c
+.BI "bool \fBisVisible\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( bool yes )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool yes )"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetActive\fR ( bool yes )"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "bool visible () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool selected () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool enabled () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool active () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBRttiValues\fR { Rtti_Item = 0, Rtti_Sprite = 1, Rtti_PolygonalItem = 2, Rtti_Text = 3, Rtti_Polygon = 4, Rtti_Rectangle = 5, Rtti_Ellipse = 6, Rtti_Line = 7, Rtti_Spline = 8 }"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.ti -1c
+.BI "virtual QRect \fBboundingRect\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QRect \fBboundingRectAdvanced\fR () const"
+.br
+.ti -1c
+.BI "QCanvas * \fBcanvas\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBupdate\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasItem class provides an abstract graphic object on a QCanvas.
+.PP
+A variety of QCanvasItem subclasses provide immediately usable behaviour. This class is a pure abstract superclass providing the behaviour that is shared among all the concrete canvas item classes. QCanvasItem is not intended for direct subclassing. It is much easier to subclass one of its subclasses, e.g. QCanvasPolygonalItem (the commonest base class), QCanvasRectangle, QCanvasSprite, QCanvasEllipse or QCanvasText.
+.PP
+Canvas items are added to a canvas by constructing them and passing the canvas to the canvas item's constructor. An item can be moved to a different canvas using setCanvas().
+.PP
+Items appear on the canvas after their show() function has been called (or setVisible(TRUE)), and \fIafter\fR update() has been called. The canvas only shows items that are visible, and then only if update() is called. If you created the canvas without passing a width and height to the constructor you'll also need to call resize(). Since the canvas background defaults to white and canvas items default to white, you may need to change colors to see your items.
+.PP
+A QCanvasItem object can be moved in the x(), y() and z() dimensions using functions such as move(), moveBy(), setX(), setY() and setZ(). A canvas item can be set in motion, `animated', using setAnimated() and given a velocity in the x and y directions with setXVelocity() and setYVelocity() -- the same effect can be achieved by calling setVelocity(). Use the collidesWith() function to see if the canvas item will collide on the \fInext\fR advance(1) and use collisions() to see what collisions have occurred.
+.PP
+Use QCanvasSprite or your own subclass of QCanvasSprite to create canvas items which are animated, i.e. which change over time.
+.PP
+The size of a canvas item is given by boundingRect(). Use boundingRectAdvanced() to see what the size of the canvas item will be \fIafter\fR the next advance(1) call.
+.PP
+The rtti() function is used for identifying subclasses of QCanvasItem. The canvas() function returns a pointer to the canvas which contains the canvas item.
+.PP
+QCanvasItem provides the show() and isVisible() functions like those in QWidget.
+.PP
+QCanvasItem also provides the setEnabled(), setActive() and setSelected() functions; these functions set the relevant boolean and cause a repaint but the boolean values they set are not used in QCanvasItem itself. You can make use of these booleans in your subclasses.
+.PP
+By default, canvas items have no velocity, no size, and are not in motion. The subclasses provided in Qt do not change these defaults except where noted.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QCanvasItem::RttiValues"
+This enum is used to name the different types of canvas item.
+.TP
+\fCQCanvasItem::Rtti_Item\fR - Canvas item abstract base class
+.TP
+\fCQCanvasItem::Rtti_Ellipse\fR
+.TP
+\fCQCanvasItem::Rtti_Line\fR
+.TP
+\fCQCanvasItem::Rtti_Polygon\fR
+.TP
+\fCQCanvasItem::Rtti_PolygonalItem\fR
+.TP
+\fCQCanvasItem::Rtti_Rectangle\fR
+.TP
+\fCQCanvasItem::Rtti_Spline\fR
+.TP
+\fCQCanvasItem::Rtti_Sprite\fR
+.TP
+\fCQCanvasItem::Rtti_Text\fR
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasItem::QCanvasItem ( QCanvas * canvas )"
+Constructs a QCanvasItem on canvas \fIcanvas\fR.
+.PP
+See also setCanvas().
+.SH "QCanvasItem::~QCanvasItem ()\fC [virtual]\fR"
+Destroys the QCanvasItem and removes it from its canvas.
+.SH "bool QCanvasItem::active () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isActive() instead.
+.SH "void QCanvasItem::advance ( int phase )\fC [virtual]\fR"
+The default implementation moves the canvas item, if it is animated(), by the preset velocity if \fIphase\fR is 1, and does nothing if \fIphase\fR is 0.
+.PP
+Note that if you reimplement this function, the reimplementation must not change the canvas in any way, for example it must not add or remove items.
+.PP
+See also QCanvas::advance() and setVelocity().
+.PP
+Example: canvas/canvas.cpp.
+.PP
+Reimplemented in QCanvasSprite.
+.SH "bool QCanvasItem::animated () const"
+Returns TRUE if the canvas item is in motion; otherwise returns FALSE.
+.PP
+See also setVelocity() and setAnimated().
+.SH "QRect QCanvasItem::boundingRect () const\fC [pure virtual]\fR"
+Returns the bounding rectangle in pixels that the canvas item covers.
+.PP
+See also boundingRectAdvanced().
+.PP
+Reimplemented in QCanvasSprite, QCanvasPolygonalItem, and QCanvasText.
+.SH "QRect QCanvasItem::boundingRectAdvanced () const\fC [virtual]\fR"
+Returns the bounding rectangle of pixels that the canvas item \fIwill\fR cover after advance(1) is called.
+.PP
+See also boundingRect().
+.SH "QCanvas * QCanvasItem::canvas () const"
+Returns the canvas containing the canvas item.
+.SH "bool QCanvasItem::collidesWith ( const QCanvasItem * other ) const\fC [pure virtual]\fR"
+Returns TRUE if the canvas item will collide with the \fIother\fR item \fIafter\fR they have moved by their current velocities; otherwise returns FALSE.
+.PP
+See also collisions().
+.PP
+Example: canvas/canvas.cpp.
+.SH "QCanvasItemList QCanvasItem::collisions ( bool exact ) const"
+Returns the list of canvas items that this canvas item has collided with.
+.PP
+A collision is generally defined as occurring when the pixels of one item draw on the pixels of another item, but not all subclasses are so precise. Also, since pixel-wise collision detection can be slow, this function works in either exact or inexact mode, according to the \fIexact\fR parameter.
+.PP
+If \fIexact\fR is TRUE, the canvas items returned have been accurately tested for collision with the canvas item.
+.PP
+If \fIexact\fR is FALSE, the canvas items returned are \fInear\fR the canvas item. You can test the canvas items returned using collidesWith() if any are interesting collision candidates. By using this approach, you can ignore some canvas items for which collisions are not relevant.
+.PP
+The returned list is a list of QCanvasItems, but often you will need to cast the items to their subclass types. The safe way to do this is to use rtti() before casting. This provides some of the functionality of the standard C++ dynamic cast operation even on compilers where dynamic casts are not available.
+.PP
+Note that a canvas item may be `on' a canvas, e.g. it was created with the canvas as parameter, even though its coordinates place it beyond the edge of the canvas's area. Collision detection only works for canvas items which are wholly or partly within the canvas's area.
+.PP
+Note that if items have a velocity (see setVelocity()), then collision testing is done based on where the item \fIwill\fR be when it moves, not its current location. For example, a "ball" item doesn't need to actually embed into a "wall" item before a collision is detected. For items without velocity, plain intersection is used.
+.SH "void QCanvasItem::draw ( QPainter & painter )\fC [pure virtual]\fR"
+This abstract virtual function draws the canvas item using \fIpainter\fR.
+.PP
+\fBWarning:\fR When you reimplement this function, make sure that you leave the painter in the same state as you found it. For example, if you start by calling QPainter::translate(50, 50), end your code by calling QPainter::translate(-50, -50). Be also aware that the painter might already have some transformations set (i.e., don't call QPainter::resetXForm() when you're done).
+.PP
+Reimplemented in QCanvasSprite, QCanvasPolygonalItem, and QCanvasText.
+.SH "bool QCanvasItem::enabled () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isEnabled() instead.
+.SH "void QCanvasItem::hide ()"
+Shorthand for setVisible(FALSE).
+.SH "bool QCanvasItem::isActive () const"
+Returns TRUE if the QCanvasItem is active; otherwise returns FALSE.
+.SH "bool QCanvasItem::isEnabled () const"
+Returns TRUE if the QCanvasItem is enabled; otherwise returns FALSE.
+.SH "bool QCanvasItem::isSelected () const"
+Returns TRUE if the canvas item is selected; otherwise returns FALSE.
+.SH "bool QCanvasItem::isVisible () const"
+Returns TRUE if the canvas item is visible; otherwise returns FALSE.
+.PP
+Note that in this context TRUE does \fInot\fR mean that the canvas item is currently in a view, merely that if a view is showing the area where the canvas item is positioned, and the item is not obscured by items with higher z values, and the view is not obscured by overlaying windows, it would be visible.
+.PP
+See also setVisible() and z().
+.SH "void QCanvasItem::move ( double x, double y )"
+Moves the canvas item to the absolute position (\fIx\fR, \fIy\fR).
+.PP
+Example: canvas/canvas.cpp.
+.SH "void QCanvasItem::moveBy ( double dx, double dy )\fC [virtual]\fR"
+Moves the canvas item relative to its current position by (\fIdx\fR, \fIdy\fR).
+.PP
+Example: canvas/canvas.cpp.
+.SH "int QCanvasItem::rtti () const\fC [virtual]\fR"
+Returns 0 (QCanvasItem::Rtti_Item).
+.PP
+Make your derived classes return their own values for rtti(), so that you can distinguish between objects returned by QCanvas::at(). You should use values greater than 1000 to allow for extensions to this class.
+.PP
+Overuse of this functionality can damage it's extensibility. For example, once you have identified a base class of a QCanvasItem found by QCanvas::at(), cast it to that type and call meaningful methods rather than acting upon the object based on its rtti value.
+.PP
+For example:
+.PP
+.nf
+.br
+ QCanvasItem* item;
+.br
+ // Find an item, e.g. with QCanvasItem::collisions().
+.br
+ ...
+.br
+ if (item->rtti() == MySprite::RTTI ) {
+.br
+ MySprite* s = (MySprite*)item;
+.br
+ if (s->isDamagable()) s->loseHitPoints(1000);
+.br
+ if (s->isHot()) myself->loseHitPoints(1000);
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+Example: canvas/canvas.cpp.
+.PP
+Reimplemented in QCanvasSprite, QCanvasPolygonalItem, and QCanvasText.
+.SH "bool QCanvasItem::selected () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isSelected() instead.
+.SH "void QCanvasItem::setActive ( bool yes )\fC [virtual]\fR"
+Sets the active flag of the item to \fIyes\fR. If this changes the item's active state the item will be redrawn when QCanvas::update() is next called.
+.PP
+The QCanvas, QCanvasItem and the Qt-supplied QCanvasItem subclasses do not make use of this value. The setActive() function is supplied because many applications need it, but it is up to you how you use the isActive() value.
+.SH "void QCanvasItem::setAnimated ( bool y )\fC [virtual]\fR"
+Sets the canvas item to be in motion if \fIy\fR is TRUE, or not if \fIy\fR is FALSE. The speed and direction of the motion is set with setVelocity(), or with setXVelocity() and setYVelocity().
+.PP
+See also advance() and QCanvas::advance().
+.SH "void QCanvasItem::setCanvas ( QCanvas * c )\fC [virtual]\fR"
+Sets the QCanvas upon which the canvas item is to be drawn to \fIc\fR.
+.PP
+See also canvas().
+.SH "void QCanvasItem::setEnabled ( bool yes )\fC [virtual]\fR"
+Sets the enabled flag of the item to \fIyes\fR. If this changes the item's enabled state the item will be redrawn when QCanvas::update() is next called.
+.PP
+The QCanvas, QCanvasItem and the Qt-supplied QCanvasItem subclasses do not make use of this value. The setEnabled() function is supplied because many applications need it, but it is up to you how you use the isEnabled() value.
+.SH "void QCanvasItem::setSelected ( bool yes )\fC [virtual]\fR"
+Sets the selected flag of the item to \fIyes\fR. If this changes the item's selected state the item will be redrawn when QCanvas::update() is next called.
+.PP
+The QCanvas, QCanvasItem and the Qt-supplied QCanvasItem subclasses do not make use of this value. The setSelected() function is supplied because many applications need it, but it is up to you how you use the isSelected() value.
+.SH "void QCanvasItem::setVelocity ( double vx, double vy )\fC [virtual]\fR"
+Sets the canvas item to be in motion, moving by \fIvx\fR and \fIvy\fR pixels in the horizontal and vertical directions respectively.
+.PP
+See also advance(), setXVelocity(), and setYVelocity().
+.SH "void QCanvasItem::setVisible ( bool yes )\fC [virtual]\fR"
+Makes the canvas item visible if \fIyes\fR is TRUE, or invisible if \fIyes\fR is FALSE. The change takes effect when QCanvas::update() is next called.
+.SH "void QCanvasItem::setX ( double x )"
+Moves the canvas item so that its x-position is \fIx\fR.
+.PP
+See also x() and move().
+.PP
+Example: chart/chartform_canvas.cpp.
+.SH "void QCanvasItem::setXVelocity ( double vx )"
+Sets the horizontal component of the canvas item's velocity to \fIvx\fR.
+.PP
+See also setYVelocity() and setVelocity().
+.SH "void QCanvasItem::setY ( double y )"
+Moves the canvas item so that its y-position is \fIy\fR.
+.PP
+See also y() and move().
+.PP
+Example: chart/chartform_canvas.cpp.
+.SH "void QCanvasItem::setYVelocity ( double vy )"
+Sets the vertical component of the canvas item's velocity to \fIvy\fR.
+.PP
+See also setXVelocity() and setVelocity().
+.SH "void QCanvasItem::setZ ( double z )"
+Sets the z index of the canvas item to \fIz\fR. Higher-z items obscure (are in front of) lower-z items.
+.PP
+See also z() and move().
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/chartform_canvas.cpp.
+.SH "void QCanvasItem::show ()"
+Shorthand for setVisible(TRUE).
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/chartform_canvas.cpp.
+.SH "void QCanvasItem::update ()\fC [protected]\fR"
+Call this function to repaint the canvas's changed chunks.
+.SH "bool QCanvasItem::visible () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isVisible() instead.
+.SH "double QCanvasItem::x () const"
+Returns the horizontal position of the canvas item. Note that subclasses often have an origin other than the top-left corner.
+.PP
+Example: canvas/canvas.cpp.
+.SH "double QCanvasItem::xVelocity () const"
+Returns the horizontal velocity component of the canvas item.
+.SH "double QCanvasItem::y () const"
+Returns the vertical position of the canvas item. Note that subclasses often have an origin other than the top-left corner.
+.PP
+Example: canvas/canvas.cpp.
+.SH "double QCanvasItem::yVelocity () const"
+Returns the vertical velocity component of the canvas item.
+.SH "double QCanvasItem::z () const"
+Returns the z index of the canvas item, which is used for visual
+order: higher-z items obscure (are in front of) lower-z items.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasitemlist.3qt b/doc/man/man3/qcanvasitemlist.3qt
new file mode 100644
index 0000000..f855662
--- /dev/null
+++ b/doc/man/man3/qcanvasitemlist.3qt
@@ -0,0 +1,57 @@
+'\" t
+.TH QCanvasItemList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasItemList \- List of QCanvasItems
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QValueList<QCanvasItem * >.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "QCanvasItemList \fBoperator+\fR ( const QCanvasItemList & l ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasItemList class is a list of QCanvasItems.
+.PP
+QCanvasItemList is a QValueList of pointers to QCanvasItems. This class is used by some methods in QCanvas that need to return a list of canvas items.
+.PP
+The QValueList documentation describes how to use this list.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasItemList QCanvasItemList::operator+ ( const QCanvasItemList & l ) const"
+Returns the concatenation of this list and list \fIl\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasitemlist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasitemlist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasline.3qt b/doc/man/man3/qcanvasline.3qt
new file mode 100644
index 0000000..5397c8c
--- /dev/null
+++ b/doc/man/man3/qcanvasline.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QCanvasLine 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasLine \- Line on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasPolygonalItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasLine\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fB~QCanvasLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPoints\fR ( int xa, int ya, int xb, int yb )"
+.br
+.ti -1c
+.BI "QPoint \fBstartPoint\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBendPoint\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasLine class provides a line on a QCanvas.
+.PP
+The line inherits functionality from QCanvasPolygonalItem, for example the setPen() function. The start and end points of the line are set with setPoints().
+.PP
+Like any other canvas item lines can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasLine::QCanvasLine ( QCanvas * canvas )"
+Constructs a line from (0,0) to (0,0) on \fIcanvas\fR.
+.PP
+See also setPoints().
+.SH "QCanvasLine::~QCanvasLine ()"
+Destroys the line.
+.SH "QPoint QCanvasLine::endPoint () const"
+Returns the end point of the line.
+.PP
+See also setPoints() and startPoint().
+.SH "int QCanvasLine::rtti () const\fC [virtual]\fR"
+Returns 7 (QCanvasItem::Rtti_Line).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "void QCanvasLine::setPoints ( int xa, int ya, int xb, int yb )"
+Sets the line's start point to (\fIxa\fR, \fIya\fR) and its end point to (\fIxb\fR, \fIyb\fR).
+.PP
+Example: canvas/canvas.cpp.
+.SH "QPoint QCanvasLine::startPoint () const"
+Returns the start point of the line.
+.PP
+See also setPoints() and endPoint().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasline.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasline.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvaspixmap.3qt b/doc/man/man3/qcanvaspixmap.3qt
new file mode 100644
index 0000000..6bb557b
--- /dev/null
+++ b/doc/man/man3/qcanvaspixmap.3qt
@@ -0,0 +1,100 @@
+'\" t
+.TH QCanvasPixmap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasPixmap \- Pixmaps for QCanvasSprites
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QPixmap.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasPixmap\fR ( const QString & datafilename )"
+.br
+.ti -1c
+.BI "\fBQCanvasPixmap\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "\fBQCanvasPixmap\fR ( const QPixmap & pm, const QPoint & offset )"
+.br
+.ti -1c
+.BI "\fB~QCanvasPixmap\fR ()"
+.br
+.ti -1c
+.BI "int \fBoffsetX\fR () const"
+.br
+.ti -1c
+.BI "int \fBoffsetY\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOffset\fR ( int x, int y )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasPixmap class provides pixmaps for QCanvasSprites.
+.PP
+If you want to show a single pixmap on a QCanvas use a QCanvasSprite with just one pixmap.
+.PP
+When pixmaps are inserted into a QCanvasPixmapArray they are held as QCanvasPixmaps. QCanvasSprites are used to show pixmaps on QCanvases and hold their pixmaps in a QCanvasPixmapArray. If you retrieve a frame (pixmap) from a QCanvasSprite it will be returned as a QCanvasPixmap.
+.PP
+The pixmap is a QPixmap and can only be set in the constructor. There are three different constructors, one taking a QPixmap, one a QImage and one a file name that refers to a file in any supported file format (see QImageIO).
+.PP
+QCanvasPixmap can have a hotspot which is defined in terms of an (x, y) offset. When you create a QCanvasPixmap from a PNG file or from a QImage that has a QImage::offset(), the offset() is initialized appropriately, otherwise the constructor leaves it at (0, 0). You can set it later using setOffset(). When the QCanvasPixmap is used in a QCanvasSprite, the offset position is the point at QCanvasItem::x() and QCanvasItem::y(), not the top-left corner of the pixmap.
+.PP
+Note that for QCanvasPixmap objects created by a QCanvasSprite, the position of each QCanvasPixmap object is set so that the hotspot stays in the same position.
+.PP
+See also QCanvasPixmapArray, QCanvasItem, QCanvasSprite, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasPixmap::QCanvasPixmap ( const QString & datafilename )"
+Constructs a QCanvasPixmap that uses the image stored in \fIdatafilename\fR.
+.SH "QCanvasPixmap::QCanvasPixmap ( const QImage & image )"
+Constructs a QCanvasPixmap from the image \fIimage\fR.
+.SH "QCanvasPixmap::QCanvasPixmap ( const QPixmap & pm, const QPoint & offset )"
+Constructs a QCanvasPixmap from the pixmap \fIpm\fR using the offset \fIoffset\fR.
+.SH "QCanvasPixmap::~QCanvasPixmap ()"
+Destroys the pixmap.
+.SH "int QCanvasPixmap::offsetX () const"
+Returns the x-offset of the pixmap's hotspot.
+.PP
+See also setOffset().
+.SH "int QCanvasPixmap::offsetY () const"
+Returns the y-offset of the pixmap's hotspot.
+.PP
+See also setOffset().
+.SH "void QCanvasPixmap::setOffset ( int x, int y )"
+Sets the offset of the pixmap's hotspot to (\fIx\fR, \fIy\fR).
+.PP
+\fBWarning:\fR Do not call this function if any QCanvasSprites are
+currently showing this pixmap.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvaspixmap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvaspixmap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvaspixmaparray.3qt b/doc/man/man3/qcanvaspixmaparray.3qt
new file mode 100644
index 0000000..b389ee6
--- /dev/null
+++ b/doc/man/man3/qcanvaspixmaparray.3qt
@@ -0,0 +1,156 @@
+'\" t
+.TH QCanvasPixmapArray 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasPixmapArray \- Array of QCanvasPixmaps
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasPixmapArray\fR ()"
+.br
+.ti -1c
+.BI "\fBQCanvasPixmapArray\fR ( const QString & datafilenamepattern, int fc = 0 )"
+.br
+.ti -1c
+.BI "QCanvasPixmapArray ( QPtrList<QPixmap> list, QPtrList<QPoint> hotspots ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQCanvasPixmapArray\fR ( QValueList<QPixmap> list, QPointArray hotspots = QPointArray ( ) )"
+.br
+.ti -1c
+.BI "\fB~QCanvasPixmapArray\fR ()"
+.br
+.ti -1c
+.BI "bool \fBreadPixmaps\fR ( const QString & filenamepattern, int fc = 0 )"
+.br
+.ti -1c
+.BI "bool \fBreadCollisionMasks\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "bool operator! () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QCanvasPixmap * \fBimage\fR ( int i ) const"
+.br
+.ti -1c
+.BI "void \fBsetImage\fR ( int i, QCanvasPixmap * p )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasPixmapArray class provides an array of QCanvasPixmaps.
+.PP
+This class is used by QCanvasSprite to hold an array of pixmaps. It is used to implement animated sprites, i.e. images that change over time, with each pixmap in the array holding one frame.
+.PP
+Depending on the constructor you use you can load multiple pixmaps into the array either from a directory (specifying a wildcard pattern for the files), or from a list of QPixmaps. You can also read in a set of pixmaps after construction using readPixmaps().
+.PP
+Individual pixmaps can be set with setImage() and retrieved with image(). The number of pixmaps in the array is returned by count().
+.PP
+QCanvasSprite uses an image's mask for collision detection. You can change this by reading in a separate set of image masks using readCollisionMasks().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasPixmapArray::QCanvasPixmapArray ()"
+Constructs an invalid array (i.e. isValid() will return FALSE). You must call readPixmaps() before being able to use this QCanvasPixmapArray.
+.SH "QCanvasPixmapArray::QCanvasPixmapArray ( const QString & datafilenamepattern, int fc = 0 )"
+Constructs a QCanvasPixmapArray from files.
+.PP
+The \fIfc\fR parameter sets the number of frames to be loaded for this image.
+.PP
+If \fIfc\fR is not 0, \fIdatafilenamepattern\fR should contain "%1", e.g. "foo%1.png". The actual filenames are formed by replacing the %1 with four-digit integers from 0 to (fc - 1), e.g. foo0000.png, foo0001.png, foo0002.png, etc.
+.PP
+If \fIfc\fR is 0, \fIdatafilenamepattern\fR is asssumed to be a filename, and the image contained in this file will be loaded as the first (and only) frame.
+.PP
+If \fIdatafilenamepattern\fR does not exist, is not readable, isn't an image, or some other error occurs, the array ends up empty and isValid() returns FALSE.
+.SH "QCanvasPixmapArray::QCanvasPixmapArray ( QPtrList<QPixmap> list, QPtrList<QPoint> hotspots )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use QCanvasPixmapArray::QCanvasPixmapArray( QValueList<QPixmap>, QPointArray ) instead.
+.PP
+Constructs a QCanvasPixmapArray from the list of QPixmaps \fIlist\fR. The \fIhotspots\fR list has to be of the same size as \fIlist\fR.
+.SH "QCanvasPixmapArray::QCanvasPixmapArray ( QValueList<QPixmap> list, QPointArray hotspots = QPointArray ( ) )"
+Constructs a QCanvasPixmapArray from the list of QPixmaps in the \fIlist\fR. Each pixmap will get a hotspot according to the \fIhotspots\fR array. If no hotspots are specified, each one is set to be at position (0, 0).
+.PP
+If an error occurs, isValid() will return FALSE.
+.SH "QCanvasPixmapArray::~QCanvasPixmapArray ()"
+Destroys the pixmap array and all the pixmaps it contains.
+.SH "uint QCanvasPixmapArray::count () const"
+Returns the number of pixmaps in the array.
+.SH "QCanvasPixmap * QCanvasPixmapArray::image ( int i ) const"
+Returns pixmap \fIi\fR in the array, if \fIi\fR is non-negative and less than than count(), and returns an unspecified value otherwise.
+.SH "bool QCanvasPixmapArray::isValid () const"
+Returns TRUE if the pixmap array is valid; otherwise returns FALSE.
+.SH "bool QCanvasPixmapArray::operator! ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isValid() instead.
+.PP
+This returns FALSE if the array is valid, and TRUE if it is not.
+.SH "bool QCanvasPixmapArray::readCollisionMasks ( const QString & filename )"
+Reads new collision masks for the array.
+.PP
+By default, QCanvasSprite uses the image mask of a sprite to detect collisions. Use this function to set your own collision image masks.
+.PP
+If count() is 1 \fIfilename\fR must specify a real filename to read the mask from. If count() is greater than 1, the \fIfilename\fR must contain a "%1" that will get replaced by the number of the mask to be loaded, just like QCanvasPixmapArray::readPixmaps().
+.PP
+All collision masks must be 1-bit images or this function call will fail.
+.PP
+If the file isn't readable, contains the wrong number of images, or there is some other error, this function will return FALSE, and the array will be flagged as invalid; otherwise this function returns TRUE.
+.PP
+See also isValid().
+.SH "bool QCanvasPixmapArray::readPixmaps ( const QString & filenamepattern, int fc = 0 )"
+Reads one or more pixmaps into the pixmap array.
+.PP
+If \fIfc\fR is not 0, \fIfilenamepattern\fR should contain "%1", e.g." foo%1.png". The actual filenames are formed by replacing the %1 with four-digit integers from 0 to (fc - 1), e.g. foo0000.png, foo0001.png, foo0002.png, etc.
+.PP
+If \fIfc\fR is 0, \fIfilenamepattern\fR is asssumed to be a filename, and the image contained in this file will be loaded as the first (and only) frame.
+.PP
+If \fIfilenamepattern\fR does not exist, is not readable, isn't an image, or some other error occurs, this function will return FALSE, and isValid() will return FALSE; otherwise this function will return TRUE.
+.PP
+See also isValid().
+.SH "void QCanvasPixmapArray::setImage ( int i, QCanvasPixmap * p )"
+Replaces the pixmap at index \fIi\fR with pixmap \fIp\fR.
+.PP
+The array takes ownership of \fIp\fR and will delete \fIp\fR when the array itself is deleted.
+.PP
+If \fIi\fR is beyond the end of the array the array is extended to at
+least i+1 elements, with elements count() to i-1 being initialized
+to 0.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvaspixmaparray.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvaspixmaparray.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvaspolygon.3qt b/doc/man/man3/qcanvaspolygon.3qt
new file mode 100644
index 0000000..4acf7a4
--- /dev/null
+++ b/doc/man/man3/qcanvaspolygon.3qt
@@ -0,0 +1,114 @@
+'\" t
+.TH QCanvasPolygon 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasPolygon \- Polygon on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasPolygonalItem.
+.PP
+Inherited by QCanvasSpline.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasPolygon\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fB~QCanvasPolygon\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPoints\fR ( QPointArray pa )"
+.br
+.ti -1c
+.BI "QPointArray \fBpoints\fR () const"
+.br
+.ti -1c
+.BI "virtual QPointArray \fBareaPoints\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawShape\fR ( QPainter & p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasPolygon class provides a polygon on a QCanvas.
+.PP
+Paints a polygon with a QBrush. The polygon's points can be set in the constructor or set or changed later using setPoints(). Use points() to retrieve the points, or areaPoints() to retrieve the points relative to the canvas's origin.
+.PP
+The polygon can be drawn on a painter with drawShape().
+.PP
+Like any other canvas item polygons can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+Note: QCanvasPolygon does not use the pen.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasPolygon::QCanvasPolygon ( QCanvas * canvas )"
+Constructs a point-less polygon on the canvas \fIcanvas\fR. You should call setPoints() before using it further.
+.SH "QCanvasPolygon::~QCanvasPolygon ()"
+Destroys the polygon.
+.SH "QPointArray QCanvasPolygon::areaPoints () const\fC [virtual]\fR"
+Returns the vertices of the polygon translated by the polygon's current x(), y() position, i.e. relative to the canvas's origin.
+.PP
+See also setPoints() and points().
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "void QCanvasPolygon::drawShape ( QPainter & p )\fC [virtual protected]\fR"
+Draws the polygon using the painter \fIp\fR.
+.PP
+Note that QCanvasPolygon does not support an outline (the pen is always NoPen).
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "QPointArray QCanvasPolygon::points () const"
+Returns the vertices of the polygon, not translated by the position.
+.PP
+See also setPoints() and areaPoints().
+.SH "int QCanvasPolygon::rtti () const\fC [virtual]\fR"
+Returns 4 (QCanvasItem::Rtti_Polygon).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.PP
+Reimplemented in QCanvasSpline.
+.SH "void QCanvasPolygon::setPoints ( QPointArray pa )"
+Sets the points of the polygon to be \fIpa\fR. These points will have
+their x and y coordinates automatically translated by x(), y() as
+the polygon is moved.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvaspolygon.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvaspolygon.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvaspolygonalitem.3qt b/doc/man/man3/qcanvaspolygonalitem.3qt
new file mode 100644
index 0000000..0ff7cff
--- /dev/null
+++ b/doc/man/man3/qcanvaspolygonalitem.3qt
@@ -0,0 +1,193 @@
+'\" t
+.TH QCanvasPolygonalItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasPolygonalItem \- Polygonal canvas item on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasItem.
+.PP
+Inherited by QCanvasRectangle, QCanvasPolygon, QCanvasLine, and QCanvasEllipse.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasPolygonalItem\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "virtual \fB~QCanvasPolygonalItem\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetPen\fR ( QPen p )"
+.br
+.ti -1c
+.BI "virtual void \fBsetBrush\fR ( QBrush b )"
+.br
+.ti -1c
+.BI "QPen \fBpen\fR () const"
+.br
+.ti -1c
+.BI "QBrush \fBbrush\fR () const"
+.br
+.ti -1c
+.BI "virtual QPointArray \fBareaPoints\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QPointArray \fBareaPointsAdvanced\fR () const"
+.br
+.ti -1c
+.BI "virtual QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdraw\fR ( QPainter & p )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawShape\fR ( QPainter & p ) = 0"
+.br
+.ti -1c
+.BI "bool \fBwinding\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWinding\fR ( bool enable )"
+.br
+.ti -1c
+.BI "void \fBinvalidate\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasPolygonalItem class provides a polygonal canvas item on a QCanvas.
+.PP
+The mostly rectangular classes, such as QCanvasSprite and QCanvasText, use the object's bounding rectangle for movement, repainting and collision calculations. For most other items, the bounding rectangle can be far too large -- a diagonal line being the worst case, and there are many other cases which are also bad. QCanvasPolygonalItem provides polygon-based bounding rectangle handling, etc., which is much faster for non-rectangular items.
+.PP
+Derived classes should try to define as small an area as possible to maximize efficiency, but the polygon must \fIdefinitely\fR be contained completely within the polygonal area. Calculating the exact requirements is usually difficult, but if you allow a small overestimate it can be easy and quick, while still getting almost all of QCanvasPolygonalItem's speed.
+.PP
+Note that all subclasses \fImust\fR call hide() in their destructor since hide() needs to be able to access areaPoints().
+.PP
+Normally, QCanvasPolygonalItem uses the odd-even algorithm for determining whether an object intersects this object. You can change this to the winding algorithm using setWinding().
+.PP
+The bounding rectangle is available using boundingRect(). The points bounding the polygonal item are retrieved with areaPoints(). Use areaPointsAdvanced() to retrieve the bounding points the polygonal item \fIwill\fR have after QCanvasItem::advance(1) has been called.
+.PP
+If the shape of the polygonal item is about to change while the item is visible, call invalidate() before updating with a different result from areaPoints().
+.PP
+By default, QCanvasPolygonalItem objects have a black pen and no brush (the default QPen and QBrush constructors). You can change this with setPen() and setBrush(), but note that some QCanvasPolygonalItem subclasses only use the brush, ignoring the pen setting.
+.PP
+The polygonal item can be drawn on a painter with draw(). Subclasses must reimplement drawShape() to draw themselves.
+.PP
+Like any other canvas item polygonal items can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasPolygonalItem::QCanvasPolygonalItem ( QCanvas * canvas )"
+Constructs a QCanvasPolygonalItem on the canvas \fIcanvas\fR.
+.SH "QCanvasPolygonalItem::~QCanvasPolygonalItem ()\fC [virtual]\fR"
+Note that all subclasses \fImust\fR call hide() in their destructor since hide() needs to be able to access areaPoints().
+.SH "QPointArray QCanvasPolygonalItem::areaPoints () const\fC [pure virtual]\fR"
+This function must be reimplemented by subclasses. It \fImust\fR return the points bounding (i.e. outside and not touching) the shape or drawing errors will occur.
+.PP
+Reimplemented in QCanvasPolygon.
+.SH "QPointArray QCanvasPolygonalItem::areaPointsAdvanced () const\fC [virtual]\fR"
+Returns the points the polygonal item \fIwill\fR have after QCanvasItem::advance(1) is called, i.e. what the points are when advanced by the current xVelocity() and yVelocity().
+.SH "QRect QCanvasPolygonalItem::boundingRect () const\fC [virtual]\fR"
+Returns the bounding rectangle of the polygonal item, based on areaPoints().
+.PP
+Reimplemented from QCanvasItem.
+.SH "QBrush QCanvasPolygonalItem::brush () const"
+Returns the QBrush used to fill the item, if filled.
+.PP
+See also setBrush().
+.SH "void QCanvasPolygonalItem::draw ( QPainter & p )\fC [virtual protected]\fR"
+Reimplemented from QCanvasItem, this draws the polygonal item by setting the pen and brush for the item on the painter \fIp\fR and calling drawShape().
+.PP
+Reimplemented from QCanvasItem.
+.SH "void QCanvasPolygonalItem::drawShape ( QPainter & p )\fC [pure virtual protected]\fR"
+Subclasses must reimplement this function to draw their shape. The pen and brush of \fIp\fR are already set to pen() and brush() prior to calling this function.
+.PP
+\fBWarning:\fR When you reimplement this function, make sure that you leave the painter in the same state as you found it. For example, if you start by calling QPainter::translate(50, 50), end your code by calling QPainter::translate(-50, -50). Be also aware that the painter might already have some transformations set (i.e., don't call QPainter::resetXForm() when you're done).
+.PP
+See also draw().
+.PP
+Reimplemented in QCanvasRectangle, QCanvasPolygon, and QCanvasEllipse.
+.SH "void QCanvasPolygonalItem::invalidate ()\fC [protected]\fR"
+Invalidates all information about the area covered by the canvas item. The item will be updated automatically on the next call that changes the item's status, for example, move() or update(). Call this function if you are going to change the shape of the item (as returned by areaPoints()) while the item is visible.
+.SH "bool QCanvasPolygonalItem::isValid () const\fC [protected]\fR"
+Returns TRUE if the polygonal item's area information has not been invalidated; otherwise returns FALSE.
+.PP
+See also invalidate().
+.SH "QPen QCanvasPolygonalItem::pen () const"
+Returns the QPen used to draw the outline of the item, if any.
+.PP
+See also setPen().
+.SH "int QCanvasPolygonalItem::rtti () const\fC [virtual]\fR"
+Returns 2 (QCanvasItem::Rtti_PolygonalItem).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasItem.
+.PP
+Reimplemented in QCanvasRectangle, QCanvasPolygon, QCanvasLine, and QCanvasEllipse.
+.SH "void QCanvasPolygonalItem::setBrush ( QBrush b )\fC [virtual]\fR"
+Sets the QBrush used when drawing the polygonal item to the brush \fIb\fR.
+.PP
+See also setPen(), brush(), and drawShape().
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/chartform_canvas.cpp.
+.SH "void QCanvasPolygonalItem::setPen ( QPen p )\fC [virtual]\fR"
+Sets the QPen used when drawing the item to the pen \fIp\fR. Note that many QCanvasPolygonalItems do not use the pen value.
+.PP
+See also setBrush(), pen(), and drawShape().
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/chartform_canvas.cpp.
+.SH "void QCanvasPolygonalItem::setWinding ( bool enable )\fC [protected]\fR"
+If \fIenable\fR is TRUE, the polygonal item will use the winding algorithm to determine the "inside" of the polygon; otherwise the odd-even algorithm will be used.
+.PP
+The default is to use the odd-even algorithm.
+.PP
+See also winding().
+.SH "bool QCanvasPolygonalItem::winding () const\fC [protected]\fR"
+Returns TRUE if the polygonal item uses the winding algorithm to determine the "inside" of the polygon. Returns FALSE if it uses the odd-even algorithm.
+.PP
+The default is to use the odd-even algorithm.
+.PP
+See also setWinding().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvaspolygonalitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvaspolygonalitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasrectangle.3qt b/doc/man/man3/qcanvasrectangle.3qt
new file mode 100644
index 0000000..4acbde6
--- /dev/null
+++ b/doc/man/man3/qcanvasrectangle.3qt
@@ -0,0 +1,129 @@
+'\" t
+.TH QCanvasRectangle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasRectangle \- Rectangle on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasPolygonalItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasRectangle\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasRectangle\fR ( const QRect & r, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasRectangle\fR ( int x, int y, int width, int height, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fB~QCanvasRectangle\fR ()"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSize\fR ( int width, int height )"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawShape\fR ( QPainter & p )"
+.br
+.ti -1c
+.BI "virtual QPointArray \fBchunks\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasRectangle class provides a rectangle on a QCanvas.
+.PP
+This item paints a single rectangle which may have any pen() and brush(), but may not be tilted/rotated. For rotated rectangles, use QCanvasPolygon.
+.PP
+The rectangle's size and initial position can be set in the constructor. The size can be set or changed later using setSize(). Use height() and width() to retrieve the rectangle's dimensions.
+.PP
+The rectangle can be drawn on a painter with drawShape().
+.PP
+Like any other canvas item rectangles can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasRectangle::QCanvasRectangle ( QCanvas * canvas )"
+Constructs a rectangle at position (0,0) with both width and height set to 32 pixels on \fIcanvas\fR.
+.SH "QCanvasRectangle::QCanvasRectangle ( const QRect & r, QCanvas * canvas )"
+Constructs a rectangle positioned and sized by \fIr\fR on \fIcanvas\fR.
+.SH "QCanvasRectangle::QCanvasRectangle ( int x, int y, int width, int height, QCanvas * canvas )"
+Constructs a rectangle at position (\fIx\fR, \fIy\fR) and size \fIwidth\fR by \fIheight\fR, on \fIcanvas\fR.
+.SH "QCanvasRectangle::~QCanvasRectangle ()"
+Destroys the rectangle.
+.SH "QPointArray QCanvasRectangle::chunks () const\fC [virtual protected]\fR"
+Simply calls QCanvasItem::chunks().
+.SH "void QCanvasRectangle::drawShape ( QPainter & p )\fC [virtual protected]\fR"
+Draws the rectangle on painter \fIp\fR.
+.PP
+Example: canvas/canvas.cpp.
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "int QCanvasRectangle::height () const"
+Returns the height of the rectangle.
+.SH "QRect QCanvasRectangle::rect () const"
+Returns the integer-converted x(), y() position and size() of the rectangle as a QRect.
+.SH "int QCanvasRectangle::rtti () const\fC [virtual]\fR"
+Returns 5 (QCanvasItem::Rtti_Rectangle).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasPolygonalItem.
+.SH "void QCanvasRectangle::setSize ( int width, int height )"
+Sets the \fIwidth\fR and \fIheight\fR of the rectangle.
+.SH "QSize QCanvasRectangle::size () const"
+Returns the width() and height() of the rectangle.
+.PP
+See also rect() and setSize().
+.SH "int QCanvasRectangle::width () const"
+Returns the width of the rectangle.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasrectangle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasrectangle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasspline.3qt b/doc/man/man3/qcanvasspline.3qt
new file mode 100644
index 0000000..7f5f296
--- /dev/null
+++ b/doc/man/man3/qcanvasspline.3qt
@@ -0,0 +1,102 @@
+'\" t
+.TH QCanvasSpline 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasSpline \- Multi-bezier splines on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasPolygon.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasSpline\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fB~QCanvasSpline\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetControlPoints\fR ( QPointArray ctrl, bool close = TRUE )"
+.br
+.ti -1c
+.BI "QPointArray \fBcontrolPoints\fR () const"
+.br
+.ti -1c
+.BI "bool \fBclosed\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasSpline class provides multi-bezier splines on a QCanvas.
+.PP
+A QCanvasSpline is a sequence of 4-point bezier curves joined together to make a curved shape.
+.PP
+You set the control points of the spline with setControlPoints().
+.PP
+If the bezier is closed(), then the first control point will be re-used as the last control point. Therefore, a closed bezier must have a multiple of 3 control points and an open bezier must have one extra point.
+.PP
+The beziers are not necessarily joined "smoothly". To ensure this, set control points appropriately (general reference texts about beziers will explain this in detail).
+.PP
+Like any other canvas item splines can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasSpline::QCanvasSpline ( QCanvas * canvas )"
+Create a spline with no control points on the canvas \fIcanvas\fR.
+.PP
+See also setControlPoints().
+.SH "QCanvasSpline::~QCanvasSpline ()"
+Destroy the spline.
+.SH "bool QCanvasSpline::closed () const"
+Returns TRUE if the control points are a closed set; otherwise returns FALSE.
+.SH "QPointArray QCanvasSpline::controlPoints () const"
+Returns the current set of control points.
+.PP
+See also setControlPoints() and closed().
+.SH "int QCanvasSpline::rtti () const\fC [virtual]\fR"
+Returns 8 (QCanvasItem::Rtti_Spline).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasPolygon.
+.SH "void QCanvasSpline::setControlPoints ( QPointArray ctrl, bool close = TRUE )"
+Set the spline control points to \fIctrl\fR.
+.PP
+If \fIclose\fR is TRUE, then the first point in \fIctrl\fR will be re-used as the last point, and the number of control points must be a multiple of 3. If \fIclose\fR is FALSE, one additional control point is required, and the number of control points must be one of (4, 7, 10, 13, ...).
+.PP
+If the number of control points doesn't meet the above conditions, the number of points will be truncated to the largest number of points that do meet the requirement.
+.PP
+Example: canvas/canvas.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasspline.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasspline.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvassprite.3qt b/doc/man/man3/qcanvassprite.3qt
new file mode 100644
index 0000000..686a490
--- /dev/null
+++ b/doc/man/man3/qcanvassprite.3qt
@@ -0,0 +1,263 @@
+'\" t
+.TH QCanvasSprite 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasSprite \- Animated canvas item on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasSprite\fR ( QCanvasPixmapArray * a, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "void \fBsetSequence\fR ( QCanvasPixmapArray * a )"
+.br
+.ti -1c
+.BI "virtual \fB~QCanvasSprite\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBmove\fR ( double nx, double ny, int nf )"
+.br
+.ti -1c
+.BI "void \fBsetFrame\fR ( int f )"
+.br
+.ti -1c
+.BI "enum \fBFrameAnimationType\fR { Cycle, Oscillate }"
+.br
+.ti -1c
+.BI "virtual void \fBsetFrameAnimation\fR ( FrameAnimationType type = Cycle, int step = 1, int state = 0 )"
+.br
+.ti -1c
+.BI "int \fBframe\fR () const"
+.br
+.ti -1c
+.BI "int \fBframeCount\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.ti -1c
+.BI "virtual QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "int \fBleftEdge\fR () const"
+.br
+.ti -1c
+.BI "int \fBtopEdge\fR () const"
+.br
+.ti -1c
+.BI "int \fBrightEdge\fR () const"
+.br
+.ti -1c
+.BI "int \fBbottomEdge\fR () const"
+.br
+.ti -1c
+.BI "int \fBleftEdge\fR ( int nx ) const"
+.br
+.ti -1c
+.BI "int \fBtopEdge\fR ( int ny ) const"
+.br
+.ti -1c
+.BI "int \fBrightEdge\fR ( int nx ) const"
+.br
+.ti -1c
+.BI "int \fBbottomEdge\fR ( int ny ) const"
+.br
+.ti -1c
+.BI "QCanvasPixmap * \fBimage\fR () const"
+.br
+.ti -1c
+.BI "virtual QCanvasPixmap * \fBimageAdvanced\fR () const"
+.br
+.ti -1c
+.BI "QCanvasPixmap * \fBimage\fR ( int f ) const"
+.br
+.ti -1c
+.BI "virtual void \fBadvance\fR ( int phase )"
+.br
+.ti -1c
+.BI "virtual void \fBdraw\fR ( QPainter & painter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasSprite class provides an animated canvas item on a QCanvas.
+.PP
+A canvas sprite is an object which can contain any number of images (referred to as frames), only one of which is current, i.e. displayed, at any one time. The images can be passed in the constructor or set or changed later with setSequence(). If you subclass QCanvasSprite you can change the frame that is displayed periodically, e.g. whenever QCanvasItem::advance(1) is called to create the effect of animation.
+.PP
+The current frame can be set with setFrame() or with move(). The number of frames available is given by frameCount(). The bounding rectangle of the current frame is returned by boundingRect().
+.PP
+The current frame's image can be retrieved with image(); use imageAdvanced() to retrieve the image for the frame that will be shown after advance(1) is called. Use the image() overload passing it an integer index to retrieve a particular image from the list of frames.
+.PP
+Use width() and height() to retrieve the dimensions of the current frame.
+.PP
+Use leftEdge() and rightEdge() to retrieve the current frame's left-hand and right-hand x-coordinates respectively. Use bottomEdge() and topEdge() to retrieve the current frame's bottom and top y-coordinates respectively. These functions have an overload which will accept an integer frame number to retrieve the coordinates of a particular frame.
+.PP
+QCanvasSprite draws very quickly, at the expense of memory.
+.PP
+The current frame's image can be drawn on a painter with draw().
+.PP
+Like any other canvas item, canvas sprites can be moved with move() which sets the x and y coordinates and the frame number, as well as with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QCanvasSprite::FrameAnimationType"
+This enum is used to identify the different types of frame animation offered by QCanvasSprite.
+.TP
+\fCQCanvasSprite::Cycle\fR - at each advance the frame number will be incremented by 1 (modulo the frame count).
+.TP
+\fCQCanvasSprite::Oscillate\fR - at each advance the frame number will be incremented by 1 up to the frame count then decremented to by 1 to 0, repeating this sequence forever.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasSprite::QCanvasSprite ( QCanvasPixmapArray * a, QCanvas * canvas )"
+Constructs a QCanvasSprite which uses images from the QCanvasPixmapArray \fIa\fR.
+.PP
+The sprite in initially positioned at (0, 0) on \fIcanvas\fR, using frame 0.
+.SH "QCanvasSprite::~QCanvasSprite ()\fC [virtual]\fR"
+Destroys the sprite and removes it from the canvas. Does \fInot\fR delete the images.
+.SH "void QCanvasSprite::advance ( int phase )\fC [virtual]\fR"
+Extends the default QCanvasItem implementation to provide the functionality of setFrameAnimation().
+.PP
+The \fIphase\fR is 0 or 1: see QCanvasItem::advance() for details.
+.PP
+See also QCanvasItem::advance() and setVelocity().
+.PP
+Example: canvas/canvas.cpp.
+.PP
+Reimplemented from QCanvasItem.
+.SH "int QCanvasSprite::bottomEdge () const"
+Returns the y-coordinate of the current bottom edge of the sprite. (This may change as the sprite animates since different frames may have different bottom edges.)
+.PP
+See also leftEdge(), rightEdge(), and topEdge().
+.SH "int QCanvasSprite::bottomEdge ( int ny ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns what the y-coordinate of the top edge of the sprite would be if the sprite (actually its hotspot) were moved to y-position \fIny\fR.
+.PP
+See also leftEdge(), rightEdge(), and topEdge().
+.SH "QRect QCanvasSprite::boundingRect () const\fC [virtual]\fR"
+Returns the bounding rectangle for the image in the sprite's current frame. This assumes that the images are tightly cropped (i.e. do not have transparent pixels all along a side).
+.PP
+Reimplemented from QCanvasItem.
+.SH "void QCanvasSprite::draw ( QPainter & painter )\fC [virtual]\fR"
+Draws the current frame's image at the sprite's current position on painter \fIpainter\fR.
+.PP
+Reimplemented from QCanvasItem.
+.SH "int QCanvasSprite::frame () const"
+Returns the index of the current animation frame in the QCanvasSprite's QCanvasPixmapArray.
+.PP
+See also setFrame() and move().
+.SH "int QCanvasSprite::frameCount () const"
+Returns the number of frames in the QCanvasSprite's QCanvasPixmapArray.
+.SH "int QCanvasSprite::height () const"
+The height of the sprite for the current frame's image.
+.PP
+See also frame().
+.SH "QCanvasPixmap * QCanvasSprite::image () const"
+Returns the current frame's image.
+.PP
+See also frame() and setFrame().
+.SH "QCanvasPixmap * QCanvasSprite::image ( int f ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the image for frame \fIf\fR. Does not do any bounds checking on \fIf\fR.
+.SH "QCanvasPixmap * QCanvasSprite::imageAdvanced () const\fC [virtual]\fR"
+Returns the image the sprite \fIwill\fR have after advance(1) is called. By default this is the same as image().
+.SH "int QCanvasSprite::leftEdge () const"
+Returns the x-coordinate of the current left edge of the sprite. (This may change as the sprite animates since different frames may have different left edges.)
+.PP
+See also rightEdge(), bottomEdge(), and topEdge().
+.SH "int QCanvasSprite::leftEdge ( int nx ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns what the x-coordinate of the left edge of the sprite would be if the sprite (actually its hotspot) were moved to x-position \fInx\fR.
+.PP
+See also rightEdge(), bottomEdge(), and topEdge().
+.SH "void QCanvasSprite::move ( double nx, double ny, int nf )\fC [virtual]\fR"
+Set the position of the sprite to \fInx\fR, \fIny\fR and the current frame to \fInf\fR. \fInf\fR will be ignored if it is larger than frameCount() or smaller than 0.
+.SH "int QCanvasSprite::rightEdge () const"
+Returns the x-coordinate of the current right edge of the sprite. (This may change as the sprite animates since different frames may have different right edges.)
+.PP
+See also leftEdge(), bottomEdge(), and topEdge().
+.SH "int QCanvasSprite::rightEdge ( int nx ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns what the x-coordinate of the right edge of the sprite would be if the sprite (actually its hotspot) were moved to x-position \fInx\fR.
+.PP
+See also leftEdge(), bottomEdge(), and topEdge().
+.SH "int QCanvasSprite::rtti () const\fC [virtual]\fR"
+Returns 1 (QCanvasItem::Rtti_Sprite).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Example: canvas/canvas.cpp.
+.PP
+Reimplemented from QCanvasItem.
+.SH "void QCanvasSprite::setFrame ( int f )"
+Sets the animation frame used for displaying the sprite to \fIf\fR, an index into the QCanvasSprite's QCanvasPixmapArray. The call will be ignored if \fIf\fR is larger than frameCount() or smaller than 0.
+.PP
+See also frame() and move().
+.SH "void QCanvasSprite::setFrameAnimation ( FrameAnimationType type = Cycle, int step = 1, int state = 0 )\fC [virtual]\fR"
+Sets the animation characteristics for the sprite.
+.PP
+For \fItype\fR == Cycle, the frames will increase by \fIstep\fR at each advance, modulo the frameCount().
+.PP
+For \fItype\fR == Oscillate, the frames will increase by \fIstep\fR at each advance, up to the frameCount(), then decrease by \fIstep\fR back to 0, repeating forever.
+.PP
+The \fIstate\fR parameter is for internal use.
+.SH "void QCanvasSprite::setSequence ( QCanvasPixmapArray * a )"
+Set the array of images used for displaying the sprite to the QCanvasPixmapArray \fIa\fR.
+.PP
+If the current frame() is larger than the number of images in \fIa\fR, the current frame will be reset to 0.
+.SH "int QCanvasSprite::topEdge () const"
+Returns the y-coordinate of the top edge of the sprite. (This may change as the sprite animates since different frames may have different top edges.)
+.PP
+See also leftEdge(), rightEdge(), and bottomEdge().
+.SH "int QCanvasSprite::topEdge ( int ny ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns what the y-coordinate of the top edge of the sprite would be if the sprite (actually its hotspot) were moved to y-position \fIny\fR.
+.PP
+See also leftEdge(), rightEdge(), and bottomEdge().
+.SH "int QCanvasSprite::width () const"
+The width of the sprite for the current frame's image.
+.PP
+See also frame().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvassprite.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvassprite.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvastext.3qt b/doc/man/man3/qcanvastext.3qt
new file mode 100644
index 0000000..b4506eb
--- /dev/null
+++ b/doc/man/man3/qcanvastext.3qt
@@ -0,0 +1,160 @@
+'\" t
+.TH QCanvasText 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasText \- Text object on a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QCanvasItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasText\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasText\fR ( const QString & t, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "\fBQCanvasText\fR ( const QString & t, QFont f, QCanvas * canvas )"
+.br
+.ti -1c
+.BI "virtual \fB~QCanvasText\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & t )"
+.br
+.ti -1c
+.BI "void \fBsetFont\fR ( const QFont & f )"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR () const"
+.br
+.ti -1c
+.BI "QColor \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "int \fBtextFlags\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTextFlags\fR ( int f )"
+.br
+.ti -1c
+.BI "virtual QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdraw\fR ( QPainter & painter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasText class provides a text object on a QCanvas.
+.PP
+A canvas text item has text with font, color and alignment attributes. The text and font can be set in the constructor or set or changed later with setText() and setFont(). The color is set with setColor() and the alignment with setTextFlags(). The text item's bounding rectangle is retrieved with boundingRect().
+.PP
+The text can be drawn on a painter with draw().
+.PP
+Like any other canvas item text items can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasText::QCanvasText ( QCanvas * canvas )"
+Constructs a QCanvasText with the text "<text>", on \fIcanvas\fR.
+.SH "QCanvasText::QCanvasText ( const QString & t, QCanvas * canvas )"
+Constructs a QCanvasText with the text \fIt\fR, on canvas \fIcanvas\fR.
+.SH "QCanvasText::QCanvasText ( const QString & t, QFont f, QCanvas * canvas )"
+Constructs a QCanvasText with the text \fIt\fR and font \fIf\fR, on the canvas \fIcanvas\fR.
+.SH "QCanvasText::~QCanvasText ()\fC [virtual]\fR"
+Destroys the canvas text item.
+.SH "QRect QCanvasText::boundingRect () const\fC [virtual]\fR"
+Returns the bounding rectangle of the text.
+.PP
+Reimplemented from QCanvasItem.
+.SH "QColor QCanvasText::color () const"
+Returns the color of the text.
+.PP
+See also setColor().
+.SH "void QCanvasText::draw ( QPainter & painter )\fC [virtual protected]\fR"
+Draws the text using the painter \fIpainter\fR.
+.PP
+Reimplemented from QCanvasItem.
+.SH "QFont QCanvasText::font () const"
+Returns the font in which the text is drawn.
+.PP
+See also setFont().
+.SH "int QCanvasText::rtti () const\fC [virtual]\fR"
+Returns 3 (QCanvasItem::Rtti_Text).
+.PP
+See also QCanvasItem::rtti().
+.PP
+Reimplemented from QCanvasItem.
+.SH "void QCanvasText::setColor ( const QColor & c )"
+Sets the color of the text to the color \fIc\fR.
+.PP
+See also color() and setFont().
+.PP
+Example: chart/chartform_canvas.cpp.
+.SH "void QCanvasText::setFont ( const QFont & f )"
+Sets the font in which the text is drawn to font \fIf\fR.
+.PP
+See also font().
+.SH "void QCanvasText::setText ( const QString & t )"
+Sets the text item's text to \fIt\fR. The text may contain newlines.
+.PP
+See also text(), setFont(), setColor(), and setTextFlags().
+.PP
+Example: canvas/canvas.cpp.
+.SH "void QCanvasText::setTextFlags ( int f )"
+Sets the alignment flags to \fIf\fR. These are a bitwise OR of the flags available to QPainter::drawText() -- see the Qt::AlignmentFlags.
+.PP
+See also setFont() and setColor().
+.SH "QString QCanvasText::text () const"
+Returns the text item's text.
+.PP
+See also setText().
+.SH "int QCanvasText::textFlags () const"
+Returns the currently set alignment flags.
+.PP
+See also setTextFlags() and Qt::AlignmentFlags.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvastext.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvastext.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcanvasview.3qt b/doc/man/man3/qcanvasview.3qt
new file mode 100644
index 0000000..7092663
--- /dev/null
+++ b/doc/man/man3/qcanvasview.3qt
@@ -0,0 +1,188 @@
+'\" t
+.TH QCanvasView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCanvasView \- On-screen view of a QCanvas
+.SH SYNOPSIS
+\fC#include <qcanvas.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCanvasView\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQCanvasView\fR ( QCanvas * canvas, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QCanvasView\fR ()"
+.br
+.ti -1c
+.BI "QCanvas * \fBcanvas\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCanvas\fR ( QCanvas * canvas )"
+.br
+.ti -1c
+.BI "const QWMatrix & \fBworldMatrix\fR () const"
+.br
+.ti -1c
+.BI "const QWMatrix & \fBinverseWorldMatrix\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsetWorldMatrix\fR ( const QWMatrix & wm )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p, int cx, int cy, int cw, int ch )"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCanvasView class provides an on-screen view of a QCanvas.
+.PP
+A QCanvasView is widget which provides a view of a QCanvas.
+.PP
+If you want users to be able to interact with a canvas view, subclass QCanvasView. You might then reimplement QScrollView::contentsMousePressEvent(). For example, assuming no transformation matrix is set:
+.PP
+.nf
+.br
+ void MyCanvasView::contentsMousePressEvent( QMouseEvent* e )
+.br
+ {
+.br
+ QCanvasItemList l = canvas()->collisions(e->pos());
+.br
+ for (QCanvasItemList::Iterator it=l.begin(); it!=l.end(); ++it) {
+.br
+ if ( (*it)->rtti() == QCanvasRectangle::RTTI )
+.br
+ qDebug("A QCanvasRectangle lies somewhere at this point");
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+The canvas view shows canvas canvas(); this can be changed using setCanvas().
+.PP
+A transformation matrix can be used to transform the view of the canvas in various ways, for example, zooming in or out or rotating. For example:
+.PP
+.nf
+.br
+ QWMatrix wm;
+.br
+ wm.scale( 2, 2 ); // Zooms in by 2 times
+.br
+ wm.rotate( 90 ); // Rotates 90 degrees counter clockwise
+.br
+ // around the origin.
+.br
+ wm.translate( 0, -canvas->height() );
+.br
+ // moves the canvas down so what was visible
+.br
+ // before is still visible.
+.br
+ myCanvasView->setWorldMatrix( wm );
+.br
+.fi
+.PP
+Use setWorldMatrix() to set the canvas view's world matrix: you must ensure that the world matrix is invertible. The current world matrix is retrievable with worldMatrix(), and its inversion is retrievable with inverseWorldMatrix().
+.PP
+Example:
+.PP
+The following code finds the part of the canvas that is visible in this view, i.e. the bounding rectangle of the view in canvas coordinates.
+.PP
+.nf
+.br
+ QRect rc = QRect( myCanvasView->contentsX(), myCanvasView->contentsY(),
+.br
+ myCanvasView->visibleWidth(), myCanvasView->visibleHeight() );
+.br
+ QRect canvasRect = myCanvasView->inverseWorldMatrix().mapRect(rc);
+.br
+.fi
+.PP
+See also QWMatrix, QPainter::setWorldMatrix(), Graphics Classes, and Image Processing Classes.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCanvasView::QCanvasView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a QCanvasView with parent \fIparent\fR, and name \fIname\fR, using the widget flags \fIf\fR. The canvas view is not associated with a canvas, so you must to call setCanvas() to view a canvas.
+.SH "QCanvasView::QCanvasView ( QCanvas * canvas, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a QCanvasView which views canvas \fIcanvas\fR, with parent \fIparent\fR, and name \fIname\fR, using the widget flags \fIf\fR.
+.SH "QCanvasView::~QCanvasView ()"
+Destroys the canvas view. The associated canvas is \fInot\fR deleted.
+.SH "QCanvas * QCanvasView::canvas () const"
+Returns a pointer to the canvas which the QCanvasView is currently showing.
+.SH "void QCanvasView::drawContents ( QPainter * p, int cx, int cy, int cw, int ch )\fC [virtual protected]\fR"
+Repaints part of the QCanvas that the canvas view is showing starting at \fIcx\fR by \fIcy\fR, with a width of \fIcw\fR and a height of \fIch\fR using the painter \fIp\fR.
+.PP
+\fBWarning:\fR When double buffering is enabled, drawContents() will not respect the current settings of the painter when setting up the painter for the double buffer (e.g., viewport() and window()). Also, be aware that QCanvas::update() bypasses drawContents(), which means any reimplementation of drawContents() is not called.
+.PP
+See also QCanvas::setDoubleBuffering().
+.PP
+Reimplemented from QScrollView.
+.SH "const QWMatrix & QCanvasView::inverseWorldMatrix () const"
+Returns a reference to the inverse of the canvas view's current transformation matrix.
+.PP
+See also setWorldMatrix() and worldMatrix().
+.SH "void QCanvasView::setCanvas ( QCanvas * canvas )"
+Sets the canvas that the QCanvasView is showing to the canvas \fIcanvas\fR.
+.SH "bool QCanvasView::setWorldMatrix ( const QWMatrix & wm )"
+Sets the transformation matrix of the QCanvasView to \fIwm\fR. The matrix must be invertible (i.e. if you create a world matrix that zooms out by 2 times, then the inverse of this matrix is one that will zoom in by 2 times).
+.PP
+When you use this, you should note that the performance of the QCanvasView will decrease considerably.
+.PP
+Returns FALSE if \fIwm\fR is not invertable; otherwise returns TRUE.
+.PP
+See also worldMatrix(), inverseWorldMatrix(), and QWMatrix::isInvertible().
+.PP
+Example: canvas/canvas.cpp.
+.SH "QSize QCanvasView::sizeHint () const\fC [virtual protected]\fR"
+Suggests a size sufficient to view the entire canvas.
+.SH "const QWMatrix & QCanvasView::worldMatrix () const"
+Returns a reference to the canvas view's current transformation matrix.
+.PP
+See also setWorldMatrix() and inverseWorldMatrix().
+.PP
+Example: canvas/canvas.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcanvasview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcanvasview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcdestyle.3qt b/doc/man/man3/qcdestyle.3qt
new file mode 100644
index 0000000..9f5b92f
--- /dev/null
+++ b/doc/man/man3/qcdestyle.3qt
@@ -0,0 +1,64 @@
+'\" t
+.TH QCDEStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCDEStyle \- CDE look and feel
+.SH SYNOPSIS
+\fC#include <qcdestyle.h>\fR
+.PP
+Inherits QMotifStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCDEStyle\fR ( bool useHighlightCols = FALSE )"
+.br
+.ti -1c
+.BI "virtual \fB~QCDEStyle\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCDEStyle class provides a CDE look and feel.
+.PP
+This style provides a slightly improved Motif look similar to some versions of the Common Desktop Environment (CDE). The main differences are thinner frames and more modern radio buttons and checkboxes. Together with a dark background and a bright text/foreground color, the style looks quite attractive (at least for Motif fans).
+.PP
+Note that the functions provided by QCDEStyle are reimplementations of QStyle functions; see QStyle for their documentation.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCDEStyle::QCDEStyle ( bool useHighlightCols = FALSE )"
+Constructs a QCDEStyle.
+.PP
+If \fIuseHighlightCols\fR is FALSE (the default), then the style will polish the application's color palette to emulate the Motif way of highlighting, which is a simple inversion between the base and the text color.
+.SH "QCDEStyle::~QCDEStyle ()\fC [virtual]\fR"
+Destroys the style.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcdestyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcdestyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qchar.3qt b/doc/man/man3/qchar.3qt
new file mode 100644
index 0000000..e211935
--- /dev/null
+++ b/doc/man/man3/qchar.3qt
@@ -0,0 +1,490 @@
+'\" t
+.TH QChar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QChar \- Lightweight Unicode character
+.SH SYNOPSIS
+Almost all the functions in this class are reentrant when Qt is built with thread support. The exception is \fBdecomposition\fR(). </p>
+.PP
+\fC#include <qstring.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQChar\fR ()"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( char c )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( uchar c )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( uchar c, uchar r )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( const QChar & c )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( ushort rc )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( short rc )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( uint rc )"
+.br
+.ti -1c
+.BI "\fBQChar\fR ( int rc )"
+.br
+.ti -1c
+.BI "enum \fBCategory\fR { NoCategory, Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, Number_Other, Separator_Space, Separator_Line, Separator_Paragraph, Other_Control, Other_Format, Other_Surrogate, Other_PrivateUse, Other_NotAssigned, Letter_Uppercase, Letter_Lowercase, Letter_Titlecase, Letter_Modifier, Letter_Other, Punctuation_Connector, Punctuation_Dash, Punctuation_Dask = Punctuation_Dash, Punctuation_Open, Punctuation_Close, Punctuation_InitialQuote, Punctuation_FinalQuote, Punctuation_Other, Symbol_Math, Symbol_Currency, Symbol_Modifier, Symbol_Other }"
+.br
+.ti -1c
+.BI "enum \fBDirection\fR { DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN }"
+.br
+.ti -1c
+.BI "enum \fBDecomposition\fR { Single, Canonical, Font, NoBreak, Initial, Medial, Final, Isolated, Circle, Super, Sub, Vertical, Wide, Narrow, Small, Square, Compat, Fraction }"
+.br
+.ti -1c
+.BI "enum \fBJoining\fR { OtherJoining, Dual, Right, Center }"
+.br
+.ti -1c
+.BI "enum \fBCombiningClass\fR { Combining_BelowLeftAttached = 200, Combining_BelowAttached = 202, Combining_BelowRightAttached = 204, Combining_LeftAttached = 208, Combining_RightAttached = 210, Combining_AboveLeftAttached = 212, Combining_AboveAttached = 214, Combining_AboveRightAttached = 216, Combining_BelowLeft = 218, Combining_Below = 220, Combining_BelowRight = 222, Combining_Left = 224, Combining_Right = 226, Combining_AboveLeft = 228, Combining_Above = 230, Combining_AboveRight = 232, Combining_DoubleBelow = 233, Combining_DoubleAbove = 234, Combining_IotaSubscript = 240 }"
+.br
+.ti -1c
+.BI "int \fBdigitValue\fR () const"
+.br
+.ti -1c
+.BI "QChar \fBlower\fR () const"
+.br
+.ti -1c
+.BI "QChar \fBupper\fR () const"
+.br
+.ti -1c
+.BI "Category \fBcategory\fR () const"
+.br
+.ti -1c
+.BI "Direction \fBdirection\fR () const"
+.br
+.ti -1c
+.BI "Joining \fBjoining\fR () const"
+.br
+.ti -1c
+.BI "bool \fBmirrored\fR () const"
+.br
+.ti -1c
+.BI "QChar \fBmirroredChar\fR () const"
+.br
+.ti -1c
+.BI "const QString & \fBdecomposition\fR () const"
+.br
+.ti -1c
+.BI "Decomposition \fBdecompositionTag\fR () const"
+.br
+.ti -1c
+.BI "unsigned char \fBcombiningClass\fR () const"
+.br
+.ti -1c
+.BI "char \fBlatin1\fR () const"
+.br
+.ti -1c
+.BI "ushort \fBunicode\fR () const"
+.br
+.ti -1c
+.BI "ushort & \fBunicode\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator char\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisPrint\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisPunct\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSpace\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisMark\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisLetter\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNumber\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisLetterOrNumber\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDigit\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSymbol\fR () const"
+.br
+.ti -1c
+.BI "uchar \fBcell\fR () const"
+.br
+.ti -1c
+.BI "uchar \fBrow\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool networkOrdered () \fI(obsolete)\fR"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "bool \fBoperator==\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( char ch, QChar c )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator!=\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "int \fBoperator!=\fR ( char ch, QChar c )"
+.br
+.ti -1c
+.BI "int \fBoperator!=\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator<=\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "int \fBoperator<=\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator<=\fR ( char ch, QChar c )"
+.br
+.ti -1c
+.BI "int \fBoperator>=\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "int \fBoperator>=\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator>=\fR ( char ch, QChar c )"
+.br
+.ti -1c
+.BI "int \fBoperator<\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "int \fBoperator<\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator<\fR ( char ch, QChar c )"
+.br
+.ti -1c
+.BI "int \fBoperator>\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "int \fBoperator>\fR ( QChar c, char ch )"
+.br
+.ti -1c
+.BI "int \fBoperator>\fR ( char ch, QChar c )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QChar class provides a lightweight Unicode character.
+.PP
+Unicode characters are (so far) 16-bit entities without any markup or structure. This class represents such an entity. It is lightweight, so it can be used everywhere. Most compilers treat it like a "short int". (In a few years it may be necessary to make QChar 32-bit when more than 65536 Unicode code points have been defined and come into use.)
+.PP
+QChar provides a full complement of testing/classification functions, converting to and from other formats, converting from composed to decomposed Unicode, and trying to compare and case-convert if you ask it to.
+.PP
+The classification functions include functions like those in ctype.h, but operating on the full range of Unicode characters. They all return TRUE if the character is a certain type of character; otherwise they return FALSE. These classification functions are isNull() (returns TRUE if the character is U+0000), isPrint() (TRUE if the character is any sort of printable character, including whitespace), isPunct() (any sort of punctation), isMark() (Unicode Mark), isLetter (a letter), isNumber() (any sort of numeric character), isLetterOrNumber(), and isDigit() (decimal digits). All of these are wrappers around category() which return the Unicode-defined category of each character.
+.PP
+QChar further provides direction(), which indicates the "natural" writing direction of this character. The joining() function indicates how the character joins with its neighbors (needed mostly for Arabic) and finally mirrored(), which indicates whether the character needs to be mirrored when it is printed in its" unnatural" writing direction.
+.PP
+Composed Unicode characters (like &aring;) can be converted to decomposed Unicode ("a" followed by "ring above") by using decomposition().
+.PP
+In Unicode, comparison is not necessarily possible and case conversion is very difficult at best. Unicode, covering the" entire" world, also includes most of the world's case and sorting problems. Qt tries, but not very hard: operator==() and friends will do comparison based purely on the numeric Unicode value (code point) of the characters, and upper() and lower() will do case changes when the character has a well-defined upper/lower-case equivalent. There is no provision for locale-dependent case folding rules or comparison; these functions are meant to be fast so they can be used unambiguously in data structures. (See QString::localeAwareCompare() though.)
+.PP
+The conversion functions include unicode() (to a scalar), latin1() (to scalar, but converts all non-Latin-1 characters to 0), row() (gives the Unicode row), cell() (gives the Unicode cell), digitValue() (gives the integer value of any of the numerous digit characters), and a host of constructors.
+.PP
+More information can be found in the document About Unicode.
+.PP
+See also QString, QCharRef, and Text Related Classes.
+.SS "Member Type Documentation"
+.SH "QChar::Category"
+This enum maps the Unicode character categories.
+.PP
+The following characters are normative in Unicode:
+.TP
+\fCQChar::Mark_NonSpacing\fR - Unicode class name Mn
+.TP
+\fCQChar::Mark_SpacingCombining\fR - Unicode class name Mc
+.TP
+\fCQChar::Mark_Enclosing\fR - Unicode class name Me
+.TP
+\fCQChar::Number_DecimalDigit\fR - Unicode class name Nd
+.TP
+\fCQChar::Number_Letter\fR - Unicode class name Nl
+.TP
+\fCQChar::Number_Other\fR - Unicode class name No
+.TP
+\fCQChar::Separator_Space\fR - Unicode class name Zs
+.TP
+\fCQChar::Separator_Line\fR - Unicode class name Zl
+.TP
+\fCQChar::Separator_Paragraph\fR - Unicode class name Zp
+.TP
+\fCQChar::Other_Control\fR - Unicode class name Cc
+.TP
+\fCQChar::Other_Format\fR - Unicode class name Cf
+.TP
+\fCQChar::Other_Surrogate\fR - Unicode class name Cs
+.TP
+\fCQChar::Other_PrivateUse\fR - Unicode class name Co
+.TP
+\fCQChar::Other_NotAssigned\fR - Unicode class name Cn
+.PP
+The following categories are informative in Unicode:
+.TP
+\fCQChar::Letter_Uppercase\fR - Unicode class name Lu
+.TP
+\fCQChar::Letter_Lowercase\fR - Unicode class name Ll
+.TP
+\fCQChar::Letter_Titlecase\fR - Unicode class name Lt
+.TP
+\fCQChar::Letter_Modifier\fR - Unicode class name Lm
+.TP
+\fCQChar::Letter_Other\fR - Unicode class name Lo
+.TP
+\fCQChar::Punctuation_Connector\fR - Unicode class name Pc
+.TP
+\fCQChar::Punctuation_Dash\fR - Unicode class name Pd
+.TP
+\fCQChar::Punctuation_Open\fR - Unicode class name Ps
+.TP
+\fCQChar::Punctuation_Close\fR - Unicode class name Pe
+.TP
+\fCQChar::Punctuation_InitialQuote\fR - Unicode class name Pi
+.TP
+\fCQChar::Punctuation_FinalQuote\fR - Unicode class name Pf
+.TP
+\fCQChar::Punctuation_Other\fR - Unicode class name Po
+.TP
+\fCQChar::Symbol_Math\fR - Unicode class name Sm
+.TP
+\fCQChar::Symbol_Currency\fR - Unicode class name Sc
+.TP
+\fCQChar::Symbol_Modifier\fR - Unicode class name Sk
+.TP
+\fCQChar::Symbol_Other\fR - Unicode class name So
+.PP
+There are two categories that are specific to Qt:
+.TP
+\fCQChar::NoCategory\fR - used when Qt is dazed and confused and cannot make sense of anything.
+.TP
+\fCQChar::Punctuation_Dask\fR - old typo alias for Punctuation_Dash
+.SH "QChar::CombiningClass"
+This enum type defines names for some of the Unicode combining classes. See the Unicode Standard for a description of the values.
+.SH "QChar::Decomposition"
+This enum type defines the Unicode decomposition attributes. See the Unicode Standard for a description of the values.
+.SH "QChar::Direction"
+This enum type defines the Unicode direction attributes. See the Unicode Standard for a description of the values.
+.PP
+In order to conform to C/C++ naming conventions "Dir" is prepended to the codes used in the Unicode Standard.
+.SH "QChar::Joining"
+This enum type defines the Unicode joining attributes. See the Unicode Standard for a description of the values.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QChar::QChar ()"
+Constructs a null QChar (one that isNull()).
+.SH "QChar::QChar ( char c )"
+Constructs a QChar corresponding to ASCII/Latin-1 character \fIc\fR.
+.SH "QChar::QChar ( uchar c )"
+Constructs a QChar corresponding to ASCII/Latin-1 character \fIc\fR.
+.SH "QChar::QChar ( uchar c, uchar r )"
+Constructs a QChar for Unicode cell \fIc\fR in row \fIr\fR.
+.SH "QChar::QChar ( const QChar & c )"
+Constructs a copy of \fIc\fR. This is a deep copy, if such a lightweight object can be said to have deep copies.
+.SH "QChar::QChar ( ushort rc )"
+Constructs a QChar for the character with Unicode code point \fIrc\fR.
+.SH "QChar::QChar ( short rc )"
+Constructs a QChar for the character with Unicode code point \fIrc\fR.
+.SH "QChar::QChar ( uint rc )"
+Constructs a QChar for the character with Unicode code point \fIrc\fR.
+.SH "QChar::QChar ( int rc )"
+Constructs a QChar for the character with Unicode code point \fIrc\fR.
+.SH "Category QChar::category () const"
+Returns the character category.
+.PP
+See also Category.
+.SH "uchar QChar::cell () const"
+Returns the cell (least significant byte) of the Unicode character.
+.SH "unsigned char QChar::combiningClass () const"
+Returns the combining class for the character as defined in the Unicode standard. This is mainly useful as a positioning hint for marks attached to a base character.
+.PP
+The Qt text rendering engine uses this information to correctly position non spacing marks around a base character.
+.SH "const QString & QChar::decomposition () const"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Decomposes a character into its parts. Returns QString::null if no decomposition exists.
+.SH "Decomposition QChar::decompositionTag () const"
+Returns the tag defining the composition of the character. Returns QChar::Single if no decomposition exists.
+.SH "int QChar::digitValue () const"
+Returns the numeric value of the digit, or -1 if the character is not a digit.
+.SH "Direction QChar::direction () const"
+Returns the character's direction.
+.PP
+See also Direction.
+.SH "bool QChar::isDigit () const"
+Returns TRUE if the character is a decimal digit (Number_DecimalDigit); otherwise returns FALSE.
+.SH "bool QChar::isLetter () const"
+Returns TRUE if the character is a letter (Letter_* categories); otherwise returns FALSE.
+.SH "bool QChar::isLetterOrNumber () const"
+Returns TRUE if the character is a letter or number (Letter_* or Number_* categories); otherwise returns FALSE.
+.SH "bool QChar::isMark () const"
+Returns TRUE if the character is a mark (Mark_* categories); otherwise returns FALSE.
+.SH "bool QChar::isNull () const"
+Returns TRUE if the character is the Unicode character 0x0000 (ASCII NUL); otherwise returns FALSE.
+.SH "bool QChar::isNumber () const"
+Returns TRUE if the character is a number (of any sort - Number_* categories); otherwise returns FALSE.
+.PP
+See also isDigit().
+.SH "bool QChar::isPrint () const"
+Returns TRUE if the character is a printable character; otherwise returns FALSE. This is any character not of category Cc or Cn.
+.PP
+Note that this gives no indication of whether the character is available in a particular font.
+.SH "bool QChar::isPunct () const"
+Returns TRUE if the character is a punctuation mark (Punctuation_* categories); otherwise returns FALSE.
+.SH "bool QChar::isSpace () const"
+Returns TRUE if the character is a separator character (Separator_* categories); otherwise returns FALSE.
+.SH "bool QChar::isSymbol () const"
+Returns TRUE if the character is a symbol (Symbol_* categories); otherwise returns FALSE.
+.SH "Joining QChar::joining () const"
+\fBWarning:\fR This function is not supported (it may change to use Unicode character classes).
+.PP
+Returns information about the joining properties of the character (needed for example, for Arabic).
+.SH "char QChar::latin1 () const"
+Returns the Latin-1 value of this character, or 0 if it cannot be represented in Latin-1.
+.SH "QChar QChar::lower () const"
+Returns the lowercase equivalent if the character is uppercase; otherwise returns the character itself.
+.SH "bool QChar::mirrored () const"
+Returns TRUE if the character is a mirrored character (one that should be reversed if the text direction is reversed); otherwise returns FALSE.
+.SH "QChar QChar::mirroredChar () const"
+Returns the mirrored character if this character is a mirrored character, otherwise returns the character itself.
+.SH "bool QChar::networkOrdered ()\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if this character is in network byte order (MSB first); otherwise returns FALSE. This is platform dependent.
+.SH "QChar::operator char () const"
+Returns the Latin-1 character equivalent to the QChar, or 0. This is mainly useful for non-internationalized software.
+.PP
+See also unicode().
+.SH "uchar QChar::row () const"
+Returns the row (most significant byte) of the Unicode character.
+.SH "ushort QChar::unicode () const"
+Returns the numeric Unicode value equal to the QChar. Normally, you should use QChar objects as they are equivalent, but for some low-level tasks (e.g. indexing into an array of Unicode information), this function is useful.
+.SH "ushort & QChar::unicode ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a reference to the numeric Unicode value equal to the QChar.
+.SH "QChar QChar::upper () const"
+Returns the uppercase equivalent if the character is lowercase; otherwise returns the character itself.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "int operator!= ( QChar c1, QChar c2 )"
+Returns TRUE if \fIc1\fR and \fIc2\fR are not the same Unicode character; otherwise returns FALSE.
+.SH "int operator!= ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIc\fR is not the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator!= ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIc\fR is not the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator< ( QChar c1, QChar c2 )"
+Returns TRUE if the numeric Unicode value of \fIc1\fR is less than that of \fIc2\fR; otherwise returns FALSE.
+.SH "int operator< ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of \fIc\fR is less than that of the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator< ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of the ASCII/Latin-1 character \fIch\fR is less than that of \fIc\fR; otherwise returns FALSE.
+.SH "int operator<= ( QChar c1, QChar c2 )"
+Returns TRUE if the numeric Unicode value of \fIc1\fR is less than that of \fIc2\fR, or they are the same Unicode character; otherwise returns FALSE.
+.SH "int operator<= ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of \fIc\fR is less than or equal to that of the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator<= ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of the ASCII/Latin-1 character \fIch\fR is less than or equal to that of \fIc\fR; otherwise returns FALSE.
+.SH "bool operator== ( QChar c1, QChar c2 )"
+Returns TRUE if \fIc1\fR and \fIc2\fR are the same Unicode character; otherwise returns FALSE.
+.SH "bool operator== ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIc\fR is the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "bool operator== ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIc\fR is the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator> ( QChar c1, QChar c2 )"
+Returns TRUE if the numeric Unicode value of \fIc1\fR is greater than that of \fIc2\fR; otherwise returns FALSE.
+.SH "int operator> ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of \fIc\fR is greater than that of the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator> ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of the ASCII/Latin-1 character \fIch\fR is greater than that of \fIc\fR; otherwise returns FALSE.
+.SH "int operator>= ( QChar c1, QChar c2 )"
+Returns TRUE if the numeric Unicode value of \fIc1\fR is greater than that of \fIc2\fR, or they are the same Unicode character; otherwise returns FALSE.
+.SH "int operator>= ( QChar c, char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of \fIc\fR is greater than or equal to that of the ASCII/Latin-1 character \fIch\fR; otherwise returns FALSE.
+.SH "int operator>= ( char ch, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the numeric Unicode value of the ASCII/Latin-1
+character \fIch\fR is greater than or equal to that of \fIc\fR;
+otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qchar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qchar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcharref.3qt b/doc/man/man3/qcharref.3qt
new file mode 100644
index 0000000..21bce76
--- /dev/null
+++ b/doc/man/man3/qcharref.3qt
@@ -0,0 +1,48 @@
+'\" t
+.TH QCharRef 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCharRef \- Helper class for QString
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qstring.h>\fR
+.PP
+.SH DESCRIPTION
+The QCharRef class is a helper class for QString.
+.PP
+When you get an object of type QCharRef, if you can assign to it, the assignment will apply to the character in the string from which you got the reference. That is its whole purpose in life. The QCharRef becomes invalid once modifications are made to the string: if you want to keep the character, copy it into a QChar.
+.PP
+Most of the QChar member functions also exist in QCharRef. However, they are not explicitly documented here.
+.PP
+See also QString::operator[](), QString::at(), QChar, and Text Related Classes.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcharref.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcharref.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcheckbox.3qt b/doc/man/man3/qcheckbox.3qt
new file mode 100644
index 0000000..1114d28
--- /dev/null
+++ b/doc/man/man3/qcheckbox.3qt
@@ -0,0 +1,308 @@
+'\" t
+.TH QCheckBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCheckBox \- Checkbox with a text label
+.SH SYNOPSIS
+\fC#include <qcheckbox.h>\fR
+.PP
+Inherits QButton.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCheckBox\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQCheckBox\fR ( const QString & text, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisChecked\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetNoChange\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetTristate\fR ( bool y = TRUE )"
+.br
+.ti -1c
+.BI "bool \fBisTristate\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetChecked\fR ( bool check )"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAccel\fR ( const QKeySequence & )"
+.br
+.ti -1c
+.BI "bool \fBisToggleButton\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDown\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisDown\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "ToggleState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoRepeat\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoRepeat\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisExclusiveToggle\fR () const"
+.br
+.ti -1c
+.BI "QButtonGroup * \fBgroup\fR () const"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the checkbox is automatically masked \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBchecked\fR - whether the checkbox is checked"
+.br
+.ti -1c
+.BI "bool \fBtristate\fR - whether the checkbox is a tri-state checkbox"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCheckBox widget provides a checkbox with a text label.
+.PP
+QCheckBox and QRadioButton are both option buttons. That is, they can be switched on (checked) or off (unchecked). The classes differ in how the choices for the user are restricted. Radio buttons define a "one of many" choice, whereas checkboxes provide" many of many" choices.
+.PP
+A QButtonGroup can be used to group check buttons visually.
+.PP
+Whenever a checkbox is checked or cleared it emits the signal toggled(). Connect to this signal if you want to trigger an action each time the checkbox changes state. You can use isChecked() to query whether or not a checkbox is checked.
+.PP
+\fBWarning:\fR The toggled() signal can not be trusted for tristate checkboxes.
+.PP
+In addition to the usual checked and unchecked states, QCheckBox optionally provides a third state to indicate "no change". This is useful whenever you need to give the user the option of neither checking nor unchecking a checkbox. If you need this third state, enable it with setTristate() and use state() to query the current toggle state. When a tristate checkbox changes state, it emits the stateChanged() signal.
+.PP
+Just like QPushButton, a checkbox can display text or a pixmap. The text can be set in the constructor or with setText(); the pixmap is set with setPixmap().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QButton, QRadioButton, Fowler: Check Box, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCheckBox::QCheckBox ( QWidget * parent, const char * name = 0 )"
+Constructs a checkbox with no text.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.SH "QCheckBox::QCheckBox ( const QString & text, QWidget * parent, const char * name = 0 )"
+Constructs a checkbox with text \fItext\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.SH "QKeySequence QButton::accel () const"
+Returns the accelerator associated with the button. See the "accel" property for details.
+.SH "bool QButton::autoRepeat () const"
+Returns TRUE if autoRepeat is enabled; otherwise returns FALSE. See the "autoRepeat" property for details.
+.SH "void QButton::clicked ()\fC [signal]\fR"
+This signal is emitted when the button is activated (i.e. first pressed down and then released when the mouse cursor is inside the button), when the accelerator key is typed or when animateClick() is called. This signal is \fInot\fR emitted if you call setDown().
+.PP
+The QButtonGroup::clicked() signal does the same job, if you want to connect several buttons to the same slot.
+.PP
+\fBWarning:\fR Don't launch a model dialog in response to this signal for a button that has autoRepeat turned on.
+.PP
+See also pressed(), released(), toggled(), autoRepeat, and down.
+.PP
+Examples:
+.)l chart/setdataform.cpp, listbox/listbox.cpp, network/clientserver/client/client.cpp, progressbar/progressbar.cpp, richtext/richtext.cpp, t2/main.cpp, and t4/main.cpp.
+.SH "QButtonGroup * QButton::group () const"
+Returns the group that this button belongs to.
+.PP
+If the button is not a member of any QButtonGroup, this function returns 0.
+.PP
+See also QButtonGroup.
+.SH "bool QCheckBox::isChecked () const"
+Returns TRUE if the checkbox is checked; otherwise returns FALSE. See the "checked" property for details.
+.SH "bool QButton::isDown () const"
+Returns TRUE if the button is pressed; otherwise returns FALSE. See the "down" property for details.
+.SH "bool QButton::isExclusiveToggle () const"
+Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE. See the "exclusiveToggle" property for details.
+.SH "bool QButton::isOn () const"
+Returns TRUE if the button is toggled; otherwise returns FALSE. See the "on" property for details.
+.SH "bool QButton::isToggleButton () const"
+Returns TRUE if the button is a toggle button; otherwise returns FALSE. See the "toggleButton" property for details.
+.SH "bool QCheckBox::isTristate () const"
+Returns TRUE if the checkbox is a tri-state checkbox; otherwise returns FALSE. See the "tristate" property for details.
+.SH "const QPixmap * QButton::pixmap () const"
+Returns the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::pressed ()\fC [signal]\fR"
+This signal is emitted when the button is pressed down.
+.PP
+See also released() and clicked().
+.PP
+Examples:
+.)l network/httpd/httpd.cpp and popup/popup.cpp.
+.SH "void QButton::released ()\fC [signal]\fR"
+This signal is emitted when the button is released.
+.PP
+See also pressed(), clicked(), and toggled().
+.SH "void QButton::setAccel ( const QKeySequence & )\fC [virtual]\fR"
+Sets the accelerator associated with the button. See the "accel" property for details.
+.SH "void QButton::setAutoRepeat ( bool )\fC [virtual]\fR"
+Sets whether autoRepeat is enabled. See the "autoRepeat" property for details.
+.SH "void QCheckBox::setChecked ( bool check )\fC [slot]\fR"
+Sets whether the checkbox is checked to \fIcheck\fR. See the "checked" property for details.
+.SH "void QButton::setDown ( bool )\fC [virtual]\fR"
+Sets whether the button is pressed. See the "down" property for details.
+.SH "void QCheckBox::setNoChange ()"
+Sets the checkbox to the "no change" state.
+.PP
+See also tristate.
+.SH "void QButton::setPixmap ( const QPixmap & )\fC [virtual]\fR"
+Sets the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::setText ( const QString & )\fC [virtual]\fR"
+Sets the text shown on the button. See the "text" property for details.
+.SH "void QCheckBox::setTristate ( bool y = TRUE )"
+Sets whether the checkbox is a tri-state checkbox to \fIy\fR. See the "tristate" property for details.
+.SH "ToggleState QButton::state () const"
+Returns the state of the toggle button. See the "toggleState" property for details.
+.SH "void QButton::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes state. \fIstate\fR is On if the button is on, NoChange if it is in the" no change" state or Off if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, setState(), or because setOn() was called.
+.PP
+See also clicked() and QButton::ToggleState.
+.SH "QString QButton::text () const"
+Returns the text shown on the button. See the "text" property for details.
+.SH "void QButton::toggle ()\fC [slot]\fR"
+Toggles the state of a toggle button.
+.PP
+See also on, setOn(), toggled(), and toggleButton.
+.SH "void QButton::toggled ( bool on )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes status. \fIon\fR is TRUE if the button is on, or FALSE if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, or because setOn() was called.
+.PP
+See also clicked().
+.PP
+Example: listbox/listbox.cpp.
+.SS "Property Documentation"
+.SH "QKeySequence accel"
+This property holds the accelerator associated with the button.
+.PP
+This property is 0 if there is no accelerator set. If you set this property to 0 then any current accelerator is removed.
+.PP
+Set this property's value with setAccel() and get this property's value with accel().
+.SH "bool autoMask"
+This property holds whether the checkbox is automatically masked.
+.PP
+See also QWidget::autoMask.
+.SH "bool autoRepeat"
+This property holds whether autoRepeat is enabled.
+.PP
+If autoRepeat is enabled then the clicked() signal is emitted at regular intervals if the button is down. This property has no effect on toggle buttons. autoRepeat is off by default.
+.PP
+Set this property's value with setAutoRepeat() and get this property's value with autoRepeat().
+.SH "bool checked"
+This property holds whether the checkbox is checked.
+.PP
+The default is unchecked, i.e. FALSE.
+.PP
+Set this property's value with setChecked() and get this property's value with isChecked().
+.SH "QPixmap pixmap"
+This property holds the pixmap shown on the button.
+.PP
+If the pixmap is monochrome (i.e. it is a QBitmap or its depth is 1) and it does not have a mask, this property will set the pixmap to be its own mask. The purpose of this is to draw transparent bitmaps which are important for toggle buttons, for example.
+.PP
+pixmap() returns 0 if no pixmap was set.
+.PP
+Set this property's value with setPixmap() and get this property's value with pixmap().
+.SH "QString text"
+This property holds the text shown on the button.
+.PP
+This property will return a QString::null if the button has no text. If the text has an ampersand (&) in it, then an accelerator is automatically created for it using the character that follows the '&' as the accelerator key. Any previous accelerator will be overwritten, or cleared if no accelerator is defined by the text.
+.PP
+There is no default text.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "bool tristate"
+This property holds whether the checkbox is a tri-state checkbox.
+.PP
+The default is two-state, i.e. tri-state is FALSE.
+.PP
+Set this property's value with setTristate() and get this property's value with isTristate().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcheckbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcheckbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qchecklistitem.3qt b/doc/man/man3/qchecklistitem.3qt
new file mode 100644
index 0000000..af09734
--- /dev/null
+++ b/doc/man/man3/qchecklistitem.3qt
@@ -0,0 +1,229 @@
+'\" t
+.TH QCheckListItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCheckListItem \- Checkable list view items
+.SH SYNOPSIS
+\fC#include <qlistview.h>\fR
+.PP
+Inherits QListViewItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { RadioButton, CheckBox, Controller, RadioButtonController = Controller, CheckBoxController }"
+.br
+.ti -1c
+.BI "enum \fBToggleState\fR { Off, NoChange, On }"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QCheckListItem * parent, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QCheckListItem * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListViewItem * parent, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListViewItem * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListView * parent, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListView * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListViewItem * parent, const QString & text, const QPixmap & p )"
+.br
+.ti -1c
+.BI "\fBQCheckListItem\fR ( QListView * parent, const QString & text, const QPixmap & p )"
+.br
+.ti -1c
+.BI "\fB~QCheckListItem\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, const QColorGroup & cg, int column, int width, int align )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintFocus\fR ( QPainter * p, const QColorGroup & cg, const QRect & r )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOn\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTristate\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisTristate\fR () const"
+.br
+.ti -1c
+.BI "ToggleState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetState\fR ( ToggleState s )"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBactivate\fR ()"
+.br
+.ti -1c
+.BI "void \fBturnOffChild\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstateChange\fR ( bool )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCheckListItem class provides checkable list view items.
+.PP
+QCheckListItems are used in QListViews to provide QListViewItems that are checkboxes, radio buttons or controllers.
+.PP
+Checkbox and controller check list items may be inserted at any level in a list view. Radio button check list items must be children of a controller check list item.
+.PP
+The item can be checked or unchecked with setOn(). Its type can be retrieved with type() and its text retrieved with text().
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QListViewItem, QListView, and Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QCheckListItem::ToggleState"
+This enum specifies a QCheckListItem's toggle state.
+.TP
+\fCQCheckListItem::Off\fR
+.TP
+\fCQCheckListItem::NoChange\fR
+.TP
+\fCQCheckListItem::On\fR
+.SH "QCheckListItem::Type"
+This enum type specifies a QCheckListItem's type:
+.TP
+\fCQCheckListItem::RadioButton\fR
+.TP
+\fCQCheckListItem::CheckBox\fR
+.TP
+\fCQCheckListItem::Controller\fR - \fIobsolete\fR (use RadioButtonController instead)
+.TP
+\fCQCheckListItem::RadioButtonController\fR
+.TP
+\fCQCheckListItem::CheckBoxController\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCheckListItem::QCheckListItem ( QCheckListItem * parent, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, text \fItext\fR and of type \fItt\fR. Note that a RadioButton must be the child of a RadioButtonController, otherwise it will not toggle.
+.SH "QCheckListItem::QCheckListItem ( QCheckListItem * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, which is after \fIafter\fR in the parent's list of children, and with text \fItext\fR and of type \fItt\fR. Note that a RadioButton must be the child of a RadioButtonController, otherwise it will not toggle.
+.SH "QCheckListItem::QCheckListItem ( QListViewItem * parent, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, text \fItext\fR and of type \fItt\fR. Note that this item must \fInot\fR be a RadioButton. Radio buttons must be children of a RadioButtonController.
+.SH "QCheckListItem::QCheckListItem ( QListViewItem * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, which is after \fIafter\fR in the parent's list of children, with text \fItext\fR and of type \fItt\fR. Note that this item must \fInot\fR be a RadioButton. Radio buttons must be children of a RadioButtonController.
+.SH "QCheckListItem::QCheckListItem ( QListView * parent, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, text \fItext\fR and of type \fItt\fR. Note that \fItt\fR must \fInot\fR be RadioButton. Radio buttons must be children of a RadioButtonController.
+.SH "QCheckListItem::QCheckListItem ( QListView * parent, QListViewItem * after, const QString & text, Type tt = RadioButtonController )"
+Constructs a checkable item with parent \fIparent\fR, which is after \fIafter\fR in the parent's list of children, with text \fItext\fR and of type \fItt\fR. Note that \fItt\fR must \fInot\fR be RadioButton. Radio buttons must be children of a RadioButtonController.
+.SH "QCheckListItem::QCheckListItem ( QListViewItem * parent, const QString & text, const QPixmap & p )"
+Constructs a RadioButtonController item with parent \fIparent\fR, text \fItext\fR and pixmap \fIp\fR.
+.SH "QCheckListItem::QCheckListItem ( QListView * parent, const QString & text, const QPixmap & p )"
+Constructs a RadioButtonController item with parent \fIparent\fR, text \fItext\fR and pixmap \fIp\fR.
+.SH "QCheckListItem::~QCheckListItem ()"
+Destroys the item, and all its children to any depth, freeing up all allocated resources.
+.SH "void QCheckListItem::activate ()\fC [virtual protected]\fR"
+Toggle check box or set radio button to on.
+.PP
+Reimplemented from QListViewItem.
+.SH "bool QCheckListItem::isOn () const"
+Returns TRUE if the item is toggled on; otherwise returns FALSE.
+.SH "bool QCheckListItem::isTristate () const"
+Returns TRUE if the item is tristate; otherwise returns FALSE.
+.PP
+See also setTristate().
+.SH "void QCheckListItem::paintCell ( QPainter * p, const QColorGroup & cg, int column, int width, int align )\fC [virtual]\fR"
+Paints the item using the painter \fIp\fR and the color group \fIcg\fR. The item is in column \fIcolumn\fR, has width \fIwidth\fR and has alignment \fIalign\fR. (See Qt::AlignmentFlags for valid alignments.)
+.PP
+Reimplemented from QListViewItem.
+.SH "void QCheckListItem::paintFocus ( QPainter * p, const QColorGroup & cg, const QRect & r )\fC [virtual]\fR"
+Draws the focus rectangle \fIr\fR using the color group \fIcg\fR on the painter \fIp\fR.
+.PP
+Reimplemented from QListViewItem.
+.SH "int QCheckListItem::rtti () const\fC [virtual]\fR"
+Returns 1.
+.PP
+Make your derived classes return their own values for rtti(), and you can distinguish between list view items. You should use values greater than 1000, to allow for extensions to this class.
+.PP
+Reimplemented from QListViewItem.
+.SH "void QCheckListItem::setOn ( bool b )\fC [virtual]\fR"
+Sets the button on if \fIb\fR is TRUE, otherwise sets it off. Maintains radio button exclusivity.
+.SH "void QCheckListItem::setState ( ToggleState s )"
+Sets the toggle state of the checklistitem to \fIs\fR. \fIs\fR can be Off, NoChange or On.
+.PP
+Tristate can only be enabled for CheckBox or CheckBoxController, therefore the NoChange only applies to them.
+.PP
+Setting the state to On or Off on a CheckBoxController will recursivly set the states of its children to the same state.
+.PP
+Setting the state to NoChange on a CheckBoxController will make it recursivly recall the previous stored state of its children. If there was no previous stored state the children are all set to On.
+.SH "void QCheckListItem::setTristate ( bool b )"
+Sets tristate to \fIb\fR if the Type is either a CheckBoxController or a CheckBox.
+.PP
+\fCCheckBoxControllers\fR are tristate by default.
+.PP
+See also state() and isTristate().
+.SH "ToggleState QCheckListItem::state () const"
+Returns the state of the item.
+.PP
+See also QCheckListItem::ToggleState.
+.SH "void QCheckListItem::stateChange ( bool )\fC [virtual protected]\fR"
+This virtual function is called when the item changes its state. NoChange (if tristate is enabled and the type is either CheckBox or CheckBoxController) reports the same as Off, so use state() to determine if the state is actually Off or NoChange.
+.SH "QString QCheckListItem::text () const"
+Returns the item's text.
+.SH "void QCheckListItem::turnOffChild ()\fC [protected]\fR"
+If this is a RadioButtonController that has RadioButton children, turn off the child that is on.
+.SH "Type QCheckListItem::type () const"
+Returns the type of this item.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qchecklistitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qchecklistitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qchecktableitem.3qt b/doc/man/man3/qchecktableitem.3qt
new file mode 100644
index 0000000..be77b6c
--- /dev/null
+++ b/doc/man/man3/qchecktableitem.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QCheckTableItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCheckTableItem \- Checkboxes in QTables
+.SH SYNOPSIS
+\fC#include <qtable.h>\fR
+.PP
+Inherits QTableItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCheckTableItem\fR ( QTable * table, const QString & txt )"
+.br
+.ti -1c
+.BI "virtual void \fBsetChecked\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisChecked\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCheckTableItem class provides checkboxes in QTables.
+.PP
+A QCheckTableItem is a table item which looks and behaves like a checkbox. The advantage of using QCheckTableItems rather than real checkboxes is that a QCheckTableItem uses far less resources than a real checkbox would in a QTable. When the cell has the focus it displays a real checkbox which the user can interact with. When the cell does not have the focus the cell \fIlooks\fR like a checkbox. Pixmaps may not be used in QCheckTableItems.
+.PP
+QCheckTableItem items have the edit type WhenCurrent (see EditType).
+.PP
+To change the checkbox's label use setText(). The checkbox can be checked and unchecked with setChecked() and its state retrieved using isChecked().
+.PP
+To populate a table cell with a QCheckTableItem use QTable::setItem().
+.PP
+QCheckTableItems can be distinguished from QTableItems and QComboTableItems using their Run Time Type Identification (rtti) value.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also rtti(), EditType, QComboTableItem, QTableItem, QCheckBox, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCheckTableItem::QCheckTableItem ( QTable * table, const QString & txt )"
+Creates a QCheckTableItem with an EditType of WhenCurrent as a child of \fItable\fR. The checkbox is initially unchecked and its label is set to the string \fItxt\fR.
+.SH "bool QCheckTableItem::isChecked () const"
+Returns TRUE if the checkbox table item is checked; otherwise returns FALSE.
+.PP
+See also setChecked().
+.SH "int QCheckTableItem::rtti () const\fC [virtual]\fR"
+Returns 2.
+.PP
+Make your derived classes return their own values for rtti()to distinguish between different table item subclasses. You should use values greater than 1000, preferably a large random number, to allow for extensions to this class.
+.PP
+See also QTableItem::rtti().
+.PP
+Reimplemented from QTableItem.
+.SH "void QCheckTableItem::setChecked ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE the checkbox is checked; if \fIb\fR is FALSE the checkbox is unchecked.
+.PP
+See also isChecked().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qchecktableitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qchecktableitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qchildevent.3qt b/doc/man/man3/qchildevent.3qt
new file mode 100644
index 0000000..d362523
--- /dev/null
+++ b/doc/man/man3/qchildevent.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QChildEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QChildEvent \- Event parameters for child object events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQChildEvent\fR ( Type type, QObject * child )"
+.br
+.ti -1c
+.BI "QObject * \fBchild\fR () const"
+.br
+.ti -1c
+.BI "bool \fBinserted\fR () const"
+.br
+.ti -1c
+.BI "bool \fBremoved\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QChildEvent class contains event parameters for child object events.
+.PP
+Child events are sent to objects when children are inserted or removed.
+.PP
+A ChildRemoved event is sent immediately, but a ChildInserted event is \fIposted\fR (with QApplication::postEvent()).
+.PP
+Note that if a child is removed immediately after it is inserted, the ChildInserted event may be suppressed, but the ChildRemoved event will always be sent. In this case there will be a ChildRemoved event without a corresponding ChildInserted event.
+.PP
+The handler for these events is QObject::childEvent().
+.PP
+See also Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QChildEvent::QChildEvent ( Type type, QObject * child )"
+Constructs a child event object. The \fIchild\fR is the object that is to be removed or inserted.
+.PP
+The \fItype\fR parameter must be either QEvent::ChildInserted or QEvent::ChildRemoved.
+.SH "QObject * QChildEvent::child () const"
+Returns the child widget that was inserted or removed.
+.SH "bool QChildEvent::inserted () const"
+Returns TRUE if the widget received a new child; otherwise returns FALSE.
+.SH "bool QChildEvent::removed () const"
+Returns TRUE if the object lost a child; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qchildevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qchildevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qclipboard.3qt b/doc/man/man3/qclipboard.3qt
new file mode 100644
index 0000000..fb91a21
--- /dev/null
+++ b/doc/man/man3/qclipboard.3qt
@@ -0,0 +1,357 @@
+'\" t
+.TH QClipboard 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QClipboard \- Access to the window system clipboard
+.SH SYNOPSIS
+\fC#include <qclipboard.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBMode\fR { Clipboard, Selection }"
+.br
+.ti -1c
+.BI "void \fBclear\fR ( Mode mode )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBsupportsSelection\fR () const"
+.br
+.ti -1c
+.BI "bool \fBownsSelection\fR () const"
+.br
+.ti -1c
+.BI "bool \fBownsClipboard\fR () const"
+.br
+.ti -1c
+.BI "void setSelectionMode ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool selectionModeEnabled () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( Mode mode ) const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( QCString & subtype, Mode mode ) const"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & text, Mode mode )"
+.br
+.ti -1c
+.BI "QMimeSource * \fBdata\fR ( Mode mode ) const"
+.br
+.ti -1c
+.BI "void \fBsetData\fR ( QMimeSource * src, Mode mode )"
+.br
+.ti -1c
+.BI "QImage \fBimage\fR ( Mode mode ) const"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR ( Mode mode ) const"
+.br
+.ti -1c
+.BI "void \fBsetImage\fR ( const QImage & image, Mode mode )"
+.br
+.ti -1c
+.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap, Mode mode )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( QCString & subtype ) const"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "QMimeSource * \fBdata\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetData\fR ( QMimeSource * src )"
+.br
+.ti -1c
+.BI "QImage \fBimage\fR () const"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetImage\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBdataChanged\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QClipboard class provides access to the window system clipboard.
+.PP
+The clipboard offers a simple mechanism to copy and paste data between applications.
+.PP
+QClipboard supports the same data types that QDragObject does, and uses similar mechanisms. For advanced clipboard usage read the drag-and-drop documentation.
+.PP
+There is a single QClipboard object in an application, and you can access it using QApplication::clipboard().
+.PP
+Example:
+.PP
+.nf
+.br
+ QClipboard *cb = QApplication::clipboard();
+.br
+.br
+ // Copy text from the clipboard (paste)
+.br
+ QString text = cb->text(QClipboard::Clipboard);
+.br
+ if ( !text.isNull() )
+.br
+ qDebug( "The clipboard contains: " + text );
+.br
+.br
+ // Copy text into the clipboard
+.br
+ cb->setText( "This text can be pasted by other programs",
+.br
+ QClipboard::Clipboard );
+.br
+.fi
+.PP
+QClipboard features some convenience functions to access common data types: setText() allows the exchange of Unicode text and setPixmap() and setImage() allows the exchange of QPixmaps and QImages between applications. The setData() function is the ultimate in flexibility: it allows you to add any QMimeSource into the clipboard. There are corresponding getters for each of these, e.g. text(), image() and pixmap().
+.PP
+You can clear the clipboard by calling clear().
+.SH "Platform Specific Information"
+<h4> X11 </h4>
+.IP
+.TP
+The X11 Window System has the concept of a separate selection and clipboard. When text is selected, it is immediately available as the global mouse selection. The global mouse selection may later be copied to the clipboard. By convention, the middle mouse button is used to paste the global mouse selection.
+.IP
+.TP
+X11 also has the concept of ownership; if you change the selection within a window, X11 will only notify the owner and the previous owner of the change, i.e. it will not notify all applications that the selection or clipboard data changed.
+.IP
+.TP
+Lastly, the X11 clipboard is event driven, i.e. the clipboard will not function properly if the event loop is not running. Similarly, it is recommended that the contents of the clipboard are stored or retrieved in direct response to user-input events, e.g. mouse button or key presses and releases. You should not store or retrieve the clipboard contents in response to timer or non-user-input events.
+.IP
+.PP
+<h4> Windows </h4>
+.IP
+.TP
+Microsoft Windows does not support the global mouse selection; it only supports the global clipboard, e.g. Windows only adds text to the clipboard when an explicit copy or cut is made.
+.IP
+.TP
+Windows does not have the concept of ownership; the clipboard is a fully global resource so all applications are notified of changes.
+.IP
+.PP
+See the multiclip example in the \fIQt Designer\fR examples directory for an example of a multiplatform clipboard application that also demonstrates selection handling.
+.PP
+See also Environment Classes and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QClipboard::Mode"
+
+.PP
+This enum type is used to control which part of the system clipboard is used by QClipboard::data(), QClipboard::setData() and related functions.
+.TP
+\fCQClipboard::Clipboard\fR - indicates that data should be stored and retrieved from the global clipboard.
+.TP
+\fCQClipboard::Selection\fR - indicates that data should be stored and retrieved from the global mouse selection.
+.PP
+\fINote\fR: Support for Selection is provided only on systems with a global mouse selection (e.g. X11).
+.PP
+See also QClipboard::supportsSelection().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "void QClipboard::clear ( Mode mode )"
+Clear the clipboard contents.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, this function clears the the global clipboard contents. If \fImode\fR is QClipboard::Selection, this function clears the global mouse selection contents.
+.PP
+See also QClipboard::Mode and supportsSelection().
+.SH "void QClipboard::clear ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::clear() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "QMimeSource * QClipboard::data ( Mode mode ) const"
+Returns a reference to a QMimeSource representation of the current clipboard data.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the data is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the data is retrieved from the global mouse selection.
+.PP
+See also setData().
+.SH "QMimeSource * QClipboard::data () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::data() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "void QClipboard::dataChanged ()\fC [signal]\fR"
+This signal is emitted when the clipboard data is changed.
+.SH "QImage QClipboard::image ( Mode mode ) const"
+Returns the clipboard image, or returns a null image if the clipboard does not contain an image or if it contains an image in an unsupported image format.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the image is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the image is retrieved from the global mouse selection.
+.PP
+See also setImage(), pixmap(), data(), and QImage::isNull().
+.SH "QImage QClipboard::image () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::image() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "bool QClipboard::ownsClipboard () const"
+Returns TRUE if this clipboard object owns the clipboard data; otherwise returns FALSE.
+.SH "bool QClipboard::ownsSelection () const"
+Returns TRUE if this clipboard object owns the mouse selection data; otherwise returns FALSE.
+.SH "QPixmap QClipboard::pixmap ( Mode mode ) const"
+Returns the clipboard pixmap, or null if the clipboard does not contain a pixmap. Note that this can lose information. For example, if the image is 24-bit and the display is 8-bit, the result is converted to 8 bits, and if the image has an alpha channel, the result just has a mask.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the pixmap is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the pixmap is retrieved from the global mouse selection.
+.PP
+See also setPixmap(), image(), data(), and QPixmap::convertFromImage().
+.SH "QPixmap QClipboard::pixmap () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::pixmap() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "void QClipboard::selectionChanged ()\fC [signal]\fR"
+This signal is emitted when the selection is changed. This only applies to windowing systems that support selections, e.g. X11. Windows doesn't support selections.
+.SH "bool QClipboard::selectionModeEnabled () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use the QClipboard::data(), QClipboard::setData() and related functions which take a QClipboard::Mode argument.
+.PP
+Returns the selection mode.
+.PP
+See also setSelectionMode() and supportsSelection().
+.SH "void QClipboard::setData ( QMimeSource * src, Mode mode )"
+Sets the clipboard data to \fIsrc\fR. Ownership of the data is transferred to the clipboard. If you want to remove the data either call clear() or call setData() again with new data.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the data is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the data is retrieved from the global mouse selection.
+.PP
+The QDragObject subclasses are reasonable objects to put into the clipboard (but do not try to call QDragObject::drag() on the same object). Any QDragObject placed in the clipboard should have a parent of 0. Do not put QDragMoveEvent or QDropEvent subclasses in the clipboard, as they do not belong to the event handler which receives them.
+.PP
+The setText(), setImage() and setPixmap() functions are simpler wrappers for setting text, image and pixmap data respectively.
+.PP
+See also data().
+.SH "void QClipboard::setData ( QMimeSource * src )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::setData() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "void QClipboard::setImage ( const QImage & image, Mode mode )"
+Copies \fIimage\fR into the clipboard.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the image is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the data is stored in the global mouse selection.
+.PP
+This is shorthand for:
+.PP
+.nf
+.br
+ setData( new QImageDrag(image), mode )
+.br
+.fi
+.PP
+See also image(), setPixmap(), and setData().
+.SH "void QClipboard::setImage ( const QImage & image )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::setImage() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "void QClipboard::setPixmap ( const QPixmap & pixmap, Mode mode )"
+Copies \fIpixmap\fR into the clipboard. Note that this is slower than setImage() because it needs to convert the QPixmap to a QImage first.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the pixmap is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the pixmap is stored in the global mouse selection.
+.PP
+See also pixmap(), setImage(), and setData().
+.SH "void QClipboard::setPixmap ( const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::setPixmap() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "void QClipboard::setSelectionMode ( bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use the QClipboard::data(), QClipboard::setData() and related functions which take a QClipboard::Mode argument.
+.PP
+Sets the clipboard selection mode. If \fIenable\fR is TRUE, then subsequent calls to QClipboard::setData() and other functions which put data into the clipboard will put the data into the mouse selection, otherwise the data will be put into the clipboard.
+.PP
+See also supportsSelection() and selectionModeEnabled().
+.SH "void QClipboard::setText ( const QString & text, Mode mode )"
+Copies \fItext\fR into the clipboard as plain text.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the text is stored in the global mouse selection.
+.PP
+See also text() and setData().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "void QClipboard::setText ( const QString & text )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::setText() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "bool QClipboard::supportsSelection () const"
+Returns TRUE if the clipboard supports mouse selection; otherwise returns FALSE.
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "QString QClipboard::text ( Mode mode ) const"
+Returns the clipboard text as plain text, or a null string if the clipboard does not contain any text.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the text is retrieved from the global mouse selection.
+.PP
+See also setText(), data(), and QString::operator!().
+.SH "QString QClipboard::text ( QCString & subtype, Mode mode ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the clipboard text in subtype \fIsubtype\fR, or a null string if the clipboard does not contain any text. If \fIsubtype\fR is null, any subtype is acceptable, and \fIsubtype\fR is set to the chosen subtype.
+.PP
+The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the text is retrieved from the global mouse selection.
+.PP
+Common values for \fIsubtype\fR are "plain" and "html".
+.PP
+See also setText(), data(), and QString::operator!().
+.SH "QString QClipboard::text () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses the QClipboard::text() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
+.SH "QString QClipboard::text ( QCString & subtype ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the clipboard text in subtype \fIsubtype\fR, or a null string
+if the clipboard does not contain any text. This function uses the
+QClipboard::text() function which takes a QClipboard::Mode
+argument. The value of the mode argument is determined by the
+return value of selectionModeEnabled(). If selectionModeEnabled()
+returns TRUE, the mode argument is QClipboard::Selection,
+otherwise the mode argument is QClipboard::Clipboard.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qclipboard.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qclipboard.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcloseevent.3qt b/doc/man/man3/qcloseevent.3qt
new file mode 100644
index 0000000..1032d13
--- /dev/null
+++ b/doc/man/man3/qcloseevent.3qt
@@ -0,0 +1,110 @@
+'\" t
+.TH QCloseEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCloseEvent \- Parameters that describe a close event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCloseEvent\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCloseEvent class contains parameters that describe a close event.
+.PP
+Close events are sent to widgets that the user wants to close, usually by choosing "Close" from the window menu, or by clicking the `X' titlebar button. They are also sent when you call QWidget::close() to close a widget programmatically.
+.PP
+Close events contain a flag that indicates whether the receiver wants the widget to be closed or not. When a widget accepts the close event, it is hidden (and destroyed if it was created with the WDestructiveClose flag). If it refuses to accept the close event nothing happens. (Under X11 it is possible that the window manager will forcibly close the window; but at the time of writing we are not aware of any window manager that does this.)
+.PP
+The application's main widget -- QApplication::mainWidget() -- is a special case. When it accepts the close event, Qt leaves the main event loop and the application is immediately terminated (i.e. it returns from the call to QApplication::exec() in the main() function).
+.PP
+The event handler QWidget::closeEvent() receives close events. The default implementation of this event handler accepts the close event. If you do not want your widget to be hidden, or want some special handing, you should reimplement the event handler.
+.PP
+The closeEvent() in the Application Walkthrough shows a close event handler that asks whether to save a document before closing.
+.PP
+If you want the widget to be deleted when it is closed, create it with the WDestructiveClose widget flag. This is very useful for independent top-level windows in a multi-window application.
+.PP
+QObjects emits the destroyed() signal when they are deleted.
+.PP
+If the last top-level window is closed, the QApplication::lastWindowClosed() signal is emitted.
+.PP
+The isAccepted() function returns TRUE if the event's receiver has agreed to close the widget; call accept() to agree to close the widget and call ignore() if the receiver of this event does not want the widget to be closed.
+.PP
+See also QWidget::close(), QWidget::hide(), QObject::destroyed(), QApplication::setMainWidget(), QApplication::lastWindowClosed(), QApplication::exec(), QApplication::quit(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCloseEvent::QCloseEvent ()"
+Constructs a close event object with the accept parameter flag set to FALSE.
+.PP
+See also accept().
+.SH "void QCloseEvent::accept ()"
+Sets the accept flag of the close event object.
+.PP
+Setting the accept flag indicates that the receiver of this event agrees to close the widget.
+.PP
+The accept flag is \fInot\fR set by default.
+.PP
+If you choose to accept in QWidget::closeEvent(), the widget will be hidden. If the widget's WDestructiveClose flag is set, it will also be destroyed.
+.PP
+See also ignore() and QWidget::hide().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, mdi/application.cpp, popup/popup.cpp, and qwerty/qwerty.cpp.
+.SH "void QCloseEvent::ignore ()"
+Clears the accept flag of the close event object.
+.PP
+Clearing the accept flag indicates that the receiver of this event does not want the widget to be closed.
+.PP
+The close event is constructed with the accept flag cleared.
+.PP
+See also accept().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "bool QCloseEvent::isAccepted () const"
+Returns TRUE if the receiver of the event has agreed to close the widget; otherwise returns FALSE.
+.PP
+See also accept() and ignore().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcloseevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcloseevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcolor.3qt b/doc/man/man3/qcolor.3qt
new file mode 100644
index 0000000..ff03973
--- /dev/null
+++ b/doc/man/man3/qcolor.3qt
@@ -0,0 +1,592 @@
+'\" t
+.TH QColor 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QColor \- Colors based on RGB or HSV values
+.SH SYNOPSIS
+\fC#include <qcolor.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBSpec\fR { Rgb, Hsv }"
+.br
+.ti -1c
+.BI "\fBQColor\fR ()"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( int r, int g, int b )"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( int x, int y, int z, Spec colorSpec )"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( QRgb rgb, uint pixel = 0xffffffff )"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( const char * name )"
+.br
+.ti -1c
+.BI "\fBQColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "QColor & \fBoperator=\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetNamedColor\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QRgb \fBrgb\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRgb\fR ( int r, int g, int b )"
+.br
+.ti -1c
+.BI "void \fBsetRgb\fR ( QRgb rgb )"
+.br
+.ti -1c
+.BI "void \fBgetRgb\fR ( int * r, int * g, int * b ) const"
+.br
+.ti -1c
+.BI "void rgb ( int * r, int * g, int * b ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBred\fR () const"
+.br
+.ti -1c
+.BI "int \fBgreen\fR () const"
+.br
+.ti -1c
+.BI "int \fBblue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetHsv\fR ( int h, int s, int v )"
+.br
+.ti -1c
+.BI "void \fBgetHsv\fR ( int * h, int * s, int * v ) const"
+.br
+.ti -1c
+.BI "void hsv ( int * h, int * s, int * v ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void getHsv ( int & h, int & s, int & v ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QColor \fBlight\fR ( int factor = 150 ) const"
+.br
+.ti -1c
+.BI "QColor \fBdark\fR ( int factor = 200 ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QColor & c ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QColor & c ) const"
+.br
+.ti -1c
+.BI "uint \fBalloc\fR ()"
+.br
+.ti -1c
+.BI "uint \fBpixel\fR () const"
+.br
+.ti -1c
+.BI "uint \fBpixel\fR ( int screen ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "int \fBmaxColors\fR ()"
+.br
+.ti -1c
+.BI "int \fBnumBitPlanes\fR ()"
+.br
+.ti -1c
+.BI "int \fBenterAllocContext\fR ()"
+.br
+.ti -1c
+.BI "void \fBleaveAllocContext\fR ()"
+.br
+.ti -1c
+.BI "int \fBcurrentAllocContext\fR ()"
+.br
+.ti -1c
+.BI "void \fBdestroyAllocContext\fR ( int context )"
+.br
+.ti -1c
+.BI "void \fBinitialize\fR ()"
+.br
+.ti -1c
+.BI "void \fBcleanup\fR ()"
+.br
+.ti -1c
+.BI "QStringList \fBcolorNames\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QColor & c )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QColor & c )"
+.br
+.ti -1c
+.BI "int \fBqRed\fR ( QRgb rgb )"
+.br
+.ti -1c
+.BI "int \fBqGreen\fR ( QRgb rgb )"
+.br
+.ti -1c
+.BI "int \fBqBlue\fR ( QRgb rgb )"
+.br
+.ti -1c
+.BI "int \fBqAlpha\fR ( QRgb rgba )"
+.br
+.ti -1c
+.BI "QRgb \fBqRgb\fR ( int r, int g, int b )"
+.br
+.ti -1c
+.BI "QRgb \fBqRgba\fR ( int r, int g, int b, int a )"
+.br
+.ti -1c
+.BI "int \fBqGray\fR ( int r, int g, int b )"
+.br
+.ti -1c
+.BI "int \fBqGray\fR ( qRgb rgb )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QColor class provides colors based on RGB or HSV values.
+.PP
+A color is normally specified in terms of RGB (red, green and blue) components, but it is also possible to specify HSV (hue, saturation and value) or set a color name (the names are copied from from the X11 color database).
+.PP
+In addition to the RGB value, a QColor also has a pixel value and a validity. The pixel value is used by the underlying window system to refer to a color. It can be thought of as an index into the display hardware's color table.
+.PP
+The validity (isValid()) indicates whether the color is legal at all. For example, a RGB color with RGB values out of range is illegal. For performance reasons, QColor mostly disregards illegal colors. The result of using an invalid color is unspecified and will usually be surprising.
+.PP
+There are 19 predefined QColor objects: \fCwhite\fR, \fCblack\fR, \fCred\fR, \fCdarkRed\fR, \fCgreen\fR, \fCdarkGreen\fR, \fCblue\fR, \fCdarkBlue\fR, \fCcyan\fR, \fCdarkCyan\fR, \fCmagenta\fR, \fCdarkMagenta\fR, \fCyellow\fR, \fCdarkYellow\fR, \fCgray\fR, \fCdarkGray\fR, \fClightGray\fR, \fCcolor0\fR and \fCcolor1\fR, accessible as members of the Qt namespace (ie. \fCQt::red\fR).
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The colors \fCcolor0\fR (zero pixel value) and \fCcolor1\fR (non-zero pixel value) are special colors for drawing in bitmaps. Painting with \fCcolor0\fR sets the bitmap bits to 0 (transparent, i.e. background), and painting with \fCcolor1\fR sets the bits to 1 (opaque, i.e. foreground).
+.PP
+The QColor class has an efficient, dynamic color allocation strategy. A color is normally allocated the first time it is used (lazy allocation), that is, whenever the pixel() function is called. The following steps are taken to allocate a color. If, at any point, a suitable color is found then the appropriate pixel value is returned and the subsequent steps are not taken:
+.PP
+<ol type=1>
+.IP 1
+Is the pixel value valid? If it is, just return it; otherwise, allocate a pixel value.
+.IP 2
+Check an internal hash table to see if we allocated an equal RGB value earlier. If we did, set the corresponding pixel value for the color and return it.
+.IP 3
+Try to allocate the RGB value. If we succeed, we get a pixel value that we save in the internal table with the RGB value. Return the pixel value.
+.IP 4
+The color could not be allocated. Find the closest matching color, save it in the internal table, and return it.
+.PP
+A color can be set by passing setNamedColor() an RGB string like" #112233", or a color name, e.g. "blue". The names are taken from X11's rgb.txt database but can also be used under Windows. To get a lighter or darker color use light() and dark() respectively. Colors can also be set using setRgb() and setHsv(). The color components can be accessed in one go with rgb() and hsv(), or individually with red(), green() and blue().
+.PP
+Use maxColors() and numBitPlanes() to determine the maximum number of colors and the number of bit planes supported by the underlying window system,
+.PP
+If you need to allocate many colors temporarily, for example in an image viewer application, enterAllocContext(), leaveAllocContext() and destroyAllocContext() will prove useful.
+.SH "HSV Colors"
+Because many people don't know the HSV color model very well, we'll cover it briefly here.
+.PP
+The RGB model is hardware-oriented. Its representation is close to what most monitors show. In contrast, HSV represents color in a way more suited to the human perception of color. For example, the relationships "stronger than", "darker than" and "the opposite of" are easily expressed in HSV but are much harder to express in RGB.
+.PP
+HSV, like RGB, has three components:
+.IP
+.TP
+H, for hue, is either 0-359 if the color is chromatic (not gray), or meaningless if it is gray. It represents degrees on the color wheel familiar to most people. Red is 0 (degrees), green is 120 and blue is 240.
+.IP
+.TP
+S, for saturation, is 0-255, and the bigger it is, the stronger the color is. Grayish colors have saturation near 0; very strong colors have saturation near 255.
+.IP
+.TP
+V, for value, is 0-255 and represents lightness or brightness of the color. 0 is black; 255 is as far from black as possible.
+.IP
+.PP
+Here are some examples: Pure red is H=0, S=255, V=255. A dark red, moving slightly towards the magenta, could be H=350 (equivalent to -10), S=255, V=180. A grayish light red could have H about 0 (say 350-359 or 0-10), S about 50-100, and S=255.
+.PP
+Qt returns a hue value of -1 for achromatic colors. If you pass a too-big hue value, Qt forces it into range. Hue 360 or 720 is treated as 0; hue 540 is treated as 180.
+.PP
+See also QPalette, QColorGroup, QApplication::setColorSpec(), Color FAQ, Widget Appearance and Style, Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QColor::Spec"
+The type of color specified, either RGB or HSV, e.g. in the \fCQColor::QColor( x, y, z, colorSpec)\fR constructor.
+.TP
+\fCQColor::Rgb\fR
+.TP
+\fCQColor::Hsv\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QColor::QColor ()"
+Constructs an invalid color with the RGB value (0, 0, 0). An invalid color is a color that is not properly set up for the underlying window system.
+.PP
+The alpha value of an invalid color is unspecified.
+.PP
+See also isValid().
+.SH "QColor::QColor ( int r, int g, int b )"
+Constructs a color with the RGB value \fIr\fR, \fIg\fR, \fIb\fR, in the same way as setRgb().
+.PP
+The color is left invalid if any or the arguments are illegal.
+.PP
+See also setRgb().
+.SH "QColor::QColor ( int x, int y, int z, Spec colorSpec )"
+Constructs a color with the RGB or HSV value \fIx\fR, \fIy\fR, \fIz\fR.
+.PP
+The arguments are an RGB value if \fIcolorSpec\fR is QColor::Rgb. \fIx\fR (red), \fIy\fR (green), and \fIz\fR (blue). All of them must be in the range 0-255.
+.PP
+The arguments are an HSV value if \fIcolorSpec\fR is QColor::Hsv. \fIx\fR (hue) must be -1 for achromatic colors and 0-359 for chromatic colors; \fIy\fR (saturation) and \fIz\fR (value) must both be in the range 0-255.
+.PP
+See also setRgb() and setHsv().
+.SH "QColor::QColor ( QRgb rgb, uint pixel = 0xffffffff )"
+Constructs a color with the RGB value \fIrgb\fR and a custom pixel value \fIpixel\fR.
+.PP
+If \fIpixel\fR == 0xffffffff (the default), then the color uses the RGB value in a standard way. If \fIpixel\fR is something else, then the pixel value is set directly to \fIpixel\fR, skipping the normal allocation procedure.
+.SH "QColor::QColor ( const QString & name )"
+Constructs a named color in the same way as setNamedColor() using name \fIname\fR.
+.PP
+The color is left invalid if \fIname\fR cannot be parsed.
+.PP
+See also setNamedColor().
+.SH "QColor::QColor ( const char * name )"
+Constructs a named color in the same way as setNamedColor() using name \fIname\fR.
+.PP
+The color is left invalid if \fIname\fR cannot be parsed.
+.PP
+See also setNamedColor().
+.SH "QColor::QColor ( const QColor & c )"
+Constructs a color that is a copy of \fIc\fR.
+.SH "uint QColor::alloc ()"
+Allocates the RGB color and returns the pixel value.
+.PP
+Allocating a color means to obtain a pixel value from the RGB specification. The pixel value is an index into the global color table, but should be considered an arbitrary platform-dependent value.
+.PP
+The pixel() function calls alloc() if necessary, so in general you don't need to call this function.
+.PP
+See also enterAllocContext().
+.SH "int QColor::blue () const"
+Returns the B (blue) component of the RGB value.
+.SH "void QColor::cleanup ()\fC [static]\fR"
+Internal clean up required for QColor. This function is called from the QApplication destructor.
+.PP
+See also initialize().
+.SH "QStringList QColor::colorNames ()\fC [static]\fR"
+Returns a QStringList containing the color names Qt knows about.
+.SH "int QColor::currentAllocContext ()\fC [static]\fR"
+Returns the current color allocation context.
+.PP
+The default context is 0.
+.PP
+See also enterAllocContext() and leaveAllocContext().
+.SH "QColor QColor::dark ( int factor = 200 ) const"
+Returns a darker (or lighter) color, but does not change this object.
+.PP
+Returns a darker color if \fIfactor\fR is greater than 100. Setting \fIfactor\fR to 300 returns a color that has one-third the brightness.
+.PP
+Returns a lighter color if \fIfactor\fR is less than 100. We recommend using lighter() for this purpose. If \fIfactor\fR is 0 or negative, the return value is unspecified.
+.PP
+(This function converts the current RGB color to HSV, divides V by \fIfactor\fR and converts back to RGB.)
+.PP
+See also light().
+.PP
+Examples:
+.)l desktop/desktop.cpp and themes/wood.cpp.
+.SH "void QColor::destroyAllocContext ( int context )\fC [static]\fR"
+Destroys a color allocation context, \fIcontext\fR.
+.PP
+This function deallocates all colors that were allocated in the specified \fIcontext\fR. If \fIcontext\fR == -1, it frees up all colors that the application has allocated. If \fIcontext\fR == -2, it frees up all colors that the application has allocated, except those in the default context.
+.PP
+The function does nothing for true color displays.
+.PP
+See also enterAllocContext() and alloc().
+.PP
+Example: showimg/showimg.cpp.
+.SH "int QColor::enterAllocContext ()\fC [static]\fR"
+Enters a color allocation context and returns a non-zero unique identifier.
+.PP
+Color allocation contexts are useful for programs that need to allocate many colors and throw them away later, like image viewers. The allocation context functions work for true color displays as well as for colormap displays, except that QColor::destroyAllocContext() does nothing for true color.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPixmap loadPixmap( QString fileName )
+.br
+ {
+.br
+ static int alloc_context = 0;
+.br
+ if ( alloc_context )
+.br
+ QColor::destroyAllocContext( alloc_context );
+.br
+ alloc_context = QColor::enterAllocContext();
+.br
+ QPixmap pm( fileName );
+.br
+ QColor::leaveAllocContext();
+.br
+ return pm;
+.br
+ }
+.br
+.fi
+.PP
+The example code loads a pixmap from file. It frees up all colors that were allocated the last time loadPixmap() was called.
+.PP
+The initial/default context is 0. Qt keeps a list of colors associated with their allocation contexts. You can call destroyAllocContext() to get rid of all colors that were allocated in a specific context.
+.PP
+Calling enterAllocContext() enters an allocation context. The allocation context lasts until you call leaveAllocContext(). QColor has an internal stack of allocation contexts. Each call to enterAllocContex() must have a corresponding leaveAllocContext().
+.PP
+.nf
+.br
+ // context 0 active
+.br
+ int c1 = QColor::enterAllocContext(); // enter context c1
+.br
+ // context c1 active
+.br
+ int c2 = QColor::enterAllocContext(); // enter context c2
+.br
+ // context c2 active
+.br
+ QColor::leaveAllocContext(); // leave context c2
+.br
+ // context c1 active
+.br
+ QColor::leaveAllocContext(); // leave context c1
+.br
+ // context 0 active
+.br
+ // Now, free all colors that were allocated in context c2
+.br
+ QColor::destroyAllocContext( c2 );
+.br
+.fi
+.PP
+You may also want to set the application's color specification. See QApplication::setColorSpec() for more information.
+.PP
+See also leaveAllocContext(), currentAllocContext(), destroyAllocContext(), and QApplication::setColorSpec().
+.PP
+Example: showimg/showimg.cpp.
+.SH "void QColor::getHsv ( int * h, int * s, int * v ) const"
+Returns the current RGB value as HSV. The contents of the \fIh\fR, \fIs\fR and \fIv\fR pointers are set to the HSV values. If any of the three pointers are null, the function does nothing.
+.PP
+The hue (which \fIh\fR points to) is set to -1 if the color is achromatic.
+.PP
+\fBWarning:\fR Colors are stored internally as RGB values, so getHSv() may return slightly different values to those set by setHsv().
+.PP
+See also setHsv() and rgb().
+.SH "void QColor::getHsv ( int & h, int & s, int & v ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QColor::getRgb ( int * r, int * g, int * b ) const"
+Sets the contents pointed to by \fIr\fR, \fIg\fR and \fIb\fR to the red, green and blue components of the RGB value respectively. The value range for a component is 0..255.
+.PP
+See also rgb(), setRgb(), and getHsv().
+.SH "int QColor::green () const"
+Returns the G (green) component of the RGB value.
+.SH "void QColor::hsv ( int * h, int * s, int * v ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use getHsv() instead.
+.PP
+Example: themes/metal.cpp.
+.SH "void QColor::initialize ()\fC [static]\fR"
+Internal initialization required for QColor. This function is called from the QApplication constructor.
+.PP
+See also cleanup().
+.SH "bool QColor::isValid () const"
+Returns FALSE if the color is invalid, i.e. it was constructed using the default constructor; otherwise returns TRUE.
+.PP
+Examples:
+.)l chart/element.cpp, chart/setdataform.cpp, and scribble/scribble.cpp.
+.SH "void QColor::leaveAllocContext ()\fC [static]\fR"
+Leaves a color allocation context.
+.PP
+See enterAllocContext() for a detailed explanation.
+.PP
+See also enterAllocContext() and currentAllocContext().
+.PP
+Example: showimg/showimg.cpp.
+.SH "QColor QColor::light ( int factor = 150 ) const"
+Returns a lighter (or darker) color, but does not change this object.
+.PP
+Returns a lighter color if \fIfactor\fR is greater than 100. Setting \fIfactor\fR to 150 returns a color that is 50% brighter.
+.PP
+Returns a darker color if \fIfactor\fR is less than 100. We recommend using dark() for this purpose. If \fIfactor\fR is 0 or negative, the return value is unspecified.
+.PP
+(This function converts the current RGB color to HSV, multiplies V by \fIfactor\fR, and converts the result back to RGB.)
+.PP
+See also dark().
+.PP
+Examples:
+.)l desktop/desktop.cpp and themes/wood.cpp.
+.SH "int QColor::maxColors ()\fC [static]\fR"
+Returns the maximum number of colors supported by the underlying window system if the window system uses a palette.
+.PP
+Otherwise returns -1. Use numBitPlanes() to calculate the available colors in that case.
+.SH "QString QColor::name () const"
+Returns the name of the color in the format "#RRGGBB", i.e. a "#" character followed by three two-digit hexadecimal numbers.
+.PP
+See also setNamedColor().
+.PP
+Example: chart/setdataform.cpp.
+.SH "int QColor::numBitPlanes ()\fC [static]\fR"
+Returns the number of color bit planes for the underlying window system.
+.PP
+The returned value is equal to the default pixmap depth.
+.PP
+See also QPixmap::defaultDepth().
+.SH "bool QColor::operator!= ( const QColor & c ) const"
+Returns TRUE if this color has a different RGB value from \fIc\fR; otherwise returns FALSE.
+.SH "QColor & QColor::operator= ( const QColor & c )"
+Assigns a copy of the color \fIc\fR and returns a reference to this color.
+.SH "bool QColor::operator== ( const QColor & c ) const"
+Returns TRUE if this color has the same RGB value as \fIc\fR; otherwise returns FALSE.
+.SH "uint QColor::pixel () const"
+Returns the pixel value.
+.PP
+This value is used by the underlying window system to refer to a color. It can be thought of as an index into the display hardware's color table, but the value is an arbitrary 32-bit value.
+.PP
+See also alloc().
+.SH "uint QColor::pixel ( int screen ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the pixel value for screen \fIscreen\fR.
+.PP
+This value is used by the underlying window system to refer to a color. It can be thought of as an index into the display hardware's color table, but the value is an arbitrary 32-bit value.
+.PP
+See also alloc().
+.SH "int QColor::red () const"
+Returns the R (red) component of the RGB value.
+.SH "QRgb QColor::rgb () const"
+Returns the RGB value.
+.PP
+The return type \fIQRgb\fR is equivalent to \fCunsigned\fR \fCint\fR.
+.PP
+For an invalid color, the alpha value of the returned color is unspecified.
+.PP
+See also setRgb(), hsv(), qRed(), qBlue(), qGreen(), and isValid().
+.SH "void QColor::rgb ( int * r, int * g, int * b ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use getRgb() instead
+.SH "void QColor::setHsv ( int h, int s, int v )"
+Sets a HSV color value. \fIh\fR is the hue, \fIs\fR is the saturation and \fIv\fR is the value of the HSV color.
+.PP
+If \fIs\fR or \fIv\fR are not in the range 0-255, or \fIh\fR is < -1, the color is not changed.
+.PP
+\fBWarning:\fR Colors are stored internally as RGB values, so getHSv() may return slightly different values to those set by setHsv().
+.PP
+See also hsv() and setRgb().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, and progress/progress.cpp.
+.SH "void QColor::setNamedColor ( const QString & name )"
+Sets the RGB value to \fIname\fR, which may be in one of these formats:
+.TP
+#RGB (each of R, G and B is a single hex digit)
+.TP
+#RRGGBB
+.TP
+#RRRGGGBBB
+.TP
+#RRRRGGGGBBBB
+.TP
+A name from the X color database (rgb.txt) (e.g." steelblue" or "gainsboro"). These color names also work under Windows.
+.PP
+The color is invalid if \fIname\fR cannot be parsed.
+.SH "void QColor::setRgb ( int r, int g, int b )"
+Sets the RGB value to \fIr\fR, \fIg\fR, \fIb\fR. The arguments, \fIr\fR, \fIg\fR and \fIb\fR must all be in the range 0..255. If any of them are outside the legal range, the color is not changed.
+.PP
+See also rgb() and setHsv().
+.SH "void QColor::setRgb ( QRgb rgb )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the RGB value to \fIrgb\fR.
+.PP
+The type \fIQRgb\fR is equivalent to \fCunsigned\fR \fCint\fR.
+.PP
+See also rgb() and setHsv().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QColor & c )"
+Writes a color object, \fIc\fR to the stream, \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QColor & c )"
+Reads a color object, \fIc\fR, from the stream, \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "int qAlpha ( QRgb rgba )"
+Returns the alpha component of the RGBA quadruplet \fIrgba\fR.
+.SH "int qBlue ( QRgb rgb )"
+Returns the blue component of the RGB triplet \fIrgb\fR.
+.PP
+See also qRgb() and QColor::blue().
+.SH "int qGray ( int r, int g, int b )"
+Returns a gray value 0..255 from the (\fIr\fR, \fIg\fR, \fIb\fR) triplet.
+.PP
+The gray value is calculated using the formula (r*11 + g*16 + b*5)/32.
+.SH "int qGray ( qRgb rgb )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a gray value 0..255 from the given \fIrgb\fR colour.
+.SH "int qGreen ( QRgb rgb )"
+Returns the green component of the RGB triplet \fIrgb\fR.
+.PP
+See also qRgb() and QColor::green().
+.SH "int qRed ( QRgb rgb )"
+Returns the red component of the RGB triplet \fIrgb\fR.
+.PP
+See also qRgb() and QColor::red().
+.SH "QRgb qRgb ( int r, int g, int b )"
+Returns the RGB triplet \fI(r,g,b)\fR.
+.PP
+The return type QRgb is equivalent to \fCunsigned\fR \fCint\fR.
+.PP
+See also qRgba(), qRed(), qGreen(), and qBlue().
+.SH "QRgb qRgba ( int r, int g, int b, int a )"
+Returns the RGBA quadruplet \fI(r,g,b,a)\fR.
+.PP
+The return type QRgba is equivalent to \fCunsigned\fR \fCint\fR.
+.PP
+See also qRgb(), qRed(), qGreen(), and qBlue().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcolor.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcolor.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcolordialog.3qt b/doc/man/man3/qcolordialog.3qt
new file mode 100644
index 0000000..7904f98
--- /dev/null
+++ b/doc/man/man3/qcolordialog.3qt
@@ -0,0 +1,80 @@
+'\" t
+.TH QColorDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QColorDialog \- Dialog widget for specifying colors
+.SH SYNOPSIS
+\fC#include <qcolordialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Static Public Members"
+<li class=fn>QColor \fBgetColor\fR ( const QColor & initial = white, QWidget * parent = 0, const char * name = 0 ) <li class=fn>QRgb \fBgetRgba\fR ( QRgb initial, bool * ok = 0, QWidget * parent = 0, const char * name = 0 ) <li class=fn>int \fBcustomCount\fR () <li class=fn>QRgb \fBcustomColor\fR ( int i ) <li class=fn>void \fBsetCustomColor\fR ( int i, QRgb c ) <li class=fn>void \fBsetStandardColor\fR ( int i, QRgb c )
+.SH DESCRIPTION
+The QColorDialog class provides a dialog widget for specifying colors.
+.PP
+The color dialog's function is to allow users to choose colors. For example, you might use this in a drawing program to allow the user to set the brush color.
+.PP
+The static functions provide modal color dialogs.
+.PP
+The static getColor() function shows the dialog and allows the user to specify a color. The getRgba() function does the same but also allows the user to specify a color with an alpha channel (transparency) value.
+.PP
+The user can store customCount() different custom colors. The custom colors are shared by all color dialogs, and remembered during the execution of the program. Use setCustomColor() to set the custom colors, and use customColor() to get them.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also Dialog Classes and Graphics Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRgb QColorDialog::customColor ( int i )\fC [static]\fR"
+Returns custom color number \fIi\fR as a QRgb.
+.SH "int QColorDialog::customCount ()\fC [static]\fR"
+Returns the number of custom colors supported by QColorDialog. All color dialogs share the same custom colors.
+.SH "QColor QColorDialog::getColor ( const QColor & initial = white, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Pops up a modal color dialog, lets the user choose a color, and returns that color. The color is initially set to \fIinitial\fR. The dialog is a child of \fIparent\fR and is called \fIname\fR. It returns an invalid (see QColor::isValid()) color if the user cancels the dialog. All colors allocated by the dialog will be deallocated before this function returns.
+.PP
+Examples:
+.)l chart/setdataform.cpp and scribble/scribble.cpp.
+.SH "QRgb QColorDialog::getRgba ( QRgb initial, bool * ok = 0, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Pops up a modal color dialog to allow the user to choose a color and an alpha channel (transparency) value. The color+alpha is initially set to \fIinitial\fR. The dialog is a child of \fIparent\fR and called \fIname\fR.
+.PP
+If \fIok\fR is non-null, \fI*\fR\fIok\fR is set to TRUE if the user clicked OK, and to FALSE if the user clicked Cancel.
+.PP
+If the user clicks Cancel, the \fIinitial\fR value is returned.
+.SH "void QColorDialog::setCustomColor ( int i, QRgb c )\fC [static]\fR"
+Sets custom color number \fIi\fR to the QRgb value \fIc\fR.
+.SH "void QColorDialog::setStandardColor ( int i, QRgb c )\fC [static]\fR"
+Sets standard color number \fIi\fR to the QRgb value \fIc\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcolordialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcolordialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcolordrag.3qt b/doc/man/man3/qcolordrag.3qt
new file mode 100644
index 0000000..bd5feb4
--- /dev/null
+++ b/doc/man/man3/qcolordrag.3qt
@@ -0,0 +1,82 @@
+'\" t
+.TH QColorDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QColorDrag \- Drag and drop object for transferring colors
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QStoredDrag.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQColorDrag\fR ( const QColor & col, QWidget * dragsource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQColorDrag\fR ( QWidget * dragsource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( const QColor & col )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBcanDecode\fR ( QMimeSource * e )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( QMimeSource * e, QColor & col )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QColorDrag class provides a drag and drop object for transferring colors.
+.PP
+This class provides a drag object which can be used to transfer data about colors for drag and drop and in the clipboard. For example, it is used in QColorDialog.
+.PP
+The color is set in the constructor but can be changed with setColor().
+.PP
+For more information about drag and drop, see the QDragObject class and the drag and drop documentation.
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QColorDrag::QColorDrag ( const QColor & col, QWidget * dragsource = 0, const char * name = 0 )"
+Constructs a color drag object with the color \fIcol\fR. Passes \fIdragsource\fR and \fIname\fR to the QStoredDrag constructor.
+.SH "QColorDrag::QColorDrag ( QWidget * dragsource = 0, const char * name = 0 )"
+Constructs a color drag object with a white color. Passes \fIdragsource\fR and \fIname\fR to the QStoredDrag constructor.
+.SH "bool QColorDrag::canDecode ( QMimeSource * e )\fC [static]\fR"
+Returns TRUE if the color drag object can decode the mime source \fIe\fR; otherwise returns FALSE.
+.SH "bool QColorDrag::decode ( QMimeSource * e, QColor & col )\fC [static]\fR"
+Decodes the mime source \fIe\fR and sets the decoded values to \fIcol\fR.
+.SH "void QColorDrag::setColor ( const QColor & col )"
+Sets the color of the color drag to \fIcol\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcolordrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcolordrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcolorgroup.3qt b/doc/man/man3/qcolorgroup.3qt
new file mode 100644
index 0000000..de2e82f
--- /dev/null
+++ b/doc/man/man3/qcolorgroup.3qt
@@ -0,0 +1,358 @@
+'\" t
+.TH QColorGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QColorGroup \- Group of widget colors
+.SH SYNOPSIS
+\fC#include <qpalette.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQColorGroup\fR ()"
+.br
+.ti -1c
+.BI "QColorGroup ( const QColor & foreground, const QColor & background, const QColor & light, const QColor & dark, const QColor & mid, const QColor & text, const QColor & base ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQColorGroup\fR ( 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 )"
+.br
+.ti -1c
+.BI "\fBQColorGroup\fR ( const QColorGroup & other )"
+.br
+.ti -1c
+.BI "\fB~QColorGroup\fR ()"
+.br
+.ti -1c
+.BI "QColorGroup & \fBoperator=\fR ( const QColorGroup & other )"
+.br
+.ti -1c
+.BI "enum \fBColorRole\fR { Foreground, Button, Light, Midlight, Dark, Mid, Text, BrightText, ButtonText, Base, Background, Shadow, Highlight, HighlightedText, Link, LinkVisited, NColorRoles }"
+.br
+.ti -1c
+.BI "const QColor & \fBcolor\fR ( ColorRole r ) const"
+.br
+.ti -1c
+.BI "const QBrush & \fBbrush\fR ( ColorRole r ) const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( ColorRole r, const QColor & c )"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( ColorRole r, const QBrush & b )"
+.br
+.ti -1c
+.BI "const QColor & \fBforeground\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBbutton\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBlight\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBdark\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBmid\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBtext\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBbase\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBbackground\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBmidlight\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBbrightText\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBbuttonText\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBshadow\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBhighlight\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBhighlightedText\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBlink\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBlinkVisited\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QColorGroup & g ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QColorGroup & g ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QColorGroup & g )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QColorGroup class contains a group of widget colors.
+.PP
+A color group contains a group of colors used by widgets for drawing themselves. We recommend that widgets use color group roles such as "foreground" and "base" rather than literal colors like "red" or "turquoise". The color roles are enumerated and defined in the ColorRole documentation.
+.PP
+The most common use of QColorGroup is like this:
+.PP
+.nf
+.br
+ QPainter p;
+.br
+ ...
+.br
+ p.setPen( colorGroup().foreground() );
+.br
+ p.drawLine( ... )
+.br
+.fi
+.PP
+It is also possible to modify color groups or create new color groups from scratch.
+.PP
+The color group class can be created using three different constructors or by modifying one supplied by Qt. The default constructor creates an all-black color group, which can then be modified using set functions; there's also a constructor for specifying all the color group colors. And there is also a copy constructor.
+.PP
+We strongly recommend using a system-supplied color group and modifying that as necessary.
+.PP
+You modify a color group by calling the access functions setColor() and setBrush(), depending on whether you want a pure color or a pixmap pattern.
+.PP
+There are also corresponding color() and brush() getters, and a commonly used convenience function to get each ColorRole: background(), foreground(), base(), etc.
+.PP
+See also QColor, QPalette, QWidget::colorGroup, Widget Appearance and Style, Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QColorGroup::ColorRole"
+The ColorRole enum defines the different symbolic color roles used in current GUIs.
+.PP
+The central roles are:
+.TP
+\fCQColorGroup::Background\fR - general background color.
+.TP
+\fCQColorGroup::Foreground\fR - general foreground color.
+.TP
+\fCQColorGroup::Base\fR - used as background color for text entry widgets, for example; usually white or another light color.
+.TP
+\fCQColorGroup::Text\fR - the foreground color used with Base. Usually this is the same as the Foreground, in which case it must provide good contrast with Background and Base.
+.TP
+\fCQColorGroup::Button\fR - general button background color in which buttons need a background different from Background, as in the Macintosh style.
+.TP
+\fCQColorGroup::ButtonText\fR - a foreground color used with the Button color.
+.PP
+There are some color roles used mostly for 3D bevel and shadow effects:
+.TP
+\fCQColorGroup::Light\fR - lighter than Button color.
+.TP
+\fCQColorGroup::Midlight\fR - between Button and Light.
+.TP
+\fCQColorGroup::Dark\fR - darker than Button.
+.TP
+\fCQColorGroup::Mid\fR - between Button and Dark.
+.TP
+\fCQColorGroup::Shadow\fR - a very dark color. By default, the shadow color is \fCQt::black\fR.
+.PP
+All of these are normally derived from Background and used in ways that depend on that relationship. For example, buttons depend on it to make the bevels look attractive, and Motif scroll bars depend on Mid to be slightly different from Background.
+.PP
+Selected (marked) items have two roles:
+.TP
+\fCQColorGroup::Highlight\fR - a color to indicate a selected item or the current item. By default, the highlight color is \fCQt::darkBlue\fR.
+.TP
+\fCQColorGroup::HighlightedText\fR - a text color that contrasts with Highlight. By default, the highlighted text color is \fCQt::white\fR.
+.PP
+Finally, there is a special role for text that needs to be drawn where Text or Foreground would give poor contrast, such as on pressed push buttons:
+.TP
+\fCQColorGroup::BrightText\fR - a text color that is very different from Foreground and contrasts well with e.g. Dark.
+.TP
+\fCQColorGroup::Link\fR - a text color used for unvisited hyperlinks. By default, the link color is \fCQt::blue\fR.
+.TP
+\fCQColorGroup::LinkVisited\fR - a text color used for already visited hyperlinks. By default, the linkvisited color is \fCQt::magenta\fR.
+.TP
+\fCQColorGroup::NColorRoles\fR - Internal.
+.PP
+Note that text colors can be used for things other than just words; text colors are \fIusually\fR used for text, but it's quite common to use the text color roles for lines, icons, etc.
+.PP
+This image shows most of the color roles in use: <center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QColorGroup::QColorGroup ()"
+Constructs a color group with all colors set to black.
+.SH "QColorGroup::QColorGroup ( const QColor & foreground, const QColor & background, const QColor & light, const QColor & dark, const QColor & mid, const QColor & text, const QColor & base )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs a color group with the specified colors. The button color will be set to the background color.
+.SH "QColorGroup::QColorGroup ( 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 )"
+Constructs a color group. You can pass either brushes, pixmaps or plain colors for \fIforeground\fR, \fIbutton\fR, \fIlight\fR, \fIdark\fR, \fImid\fR, \fItext\fR, \fIbright_text\fR, \fIbase\fR and \fIbackground\fR.
+.PP
+See also QBrush.
+.SH "QColorGroup::QColorGroup ( const QColorGroup & other )"
+Constructs a color group that is an independent copy of \fIother\fR.
+.SH "QColorGroup::~QColorGroup ()"
+Destroys the color group.
+.SH "const QColor & QColorGroup::background () const"
+Returns the background color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::base () const"
+Returns the base color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::brightText () const"
+Returns the bright text foreground color of the color group.
+.PP
+See also ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QBrush & QColorGroup::brush ( ColorRole r ) const"
+Returns the brush that has been set for color role \fIr\fR.
+.PP
+See also color(), setBrush(), and ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColor & QColorGroup::button () const"
+Returns the button color of the color group.
+.PP
+See also ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColor & QColorGroup::buttonText () const"
+Returns the button text foreground color of the color group.
+.PP
+See also ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColor & QColorGroup::color ( ColorRole r ) const"
+Returns the color that has been set for color role \fIr\fR.
+.PP
+See also brush() and ColorRole.
+.SH "const QColor & QColorGroup::dark () const"
+Returns the dark color of the color group.
+.PP
+See also ColorRole.
+.PP
+Example: themes/wood.cpp.
+.SH "const QColor & QColorGroup::foreground () const"
+Returns the foreground color of the color group.
+.PP
+See also ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColor & QColorGroup::highlight () const"
+Returns the highlight color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::highlightedText () const"
+Returns the highlighted text color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::light () const"
+Returns the light color of the color group.
+.PP
+See also ColorRole.
+.PP
+Example: themes/wood.cpp.
+.SH "const QColor & QColorGroup::link () const"
+Returns the unvisited link text color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::linkVisited () const"
+Returns the visited link text color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::mid () const"
+Returns the mid color of the color group.
+.PP
+See also ColorRole.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColor & QColorGroup::midlight () const"
+Returns the midlight color of the color group.
+.PP
+See also ColorRole.
+.SH "bool QColorGroup::operator!= ( const QColorGroup & g ) const"
+Returns TRUE if this color group is different from \fIg\fR; otherwise returns FALSE.
+.PP
+See also
+.SH "QColorGroup & QColorGroup::operator= ( const QColorGroup & other )"
+Copies the colors of \fIother\fR to this color group.
+.SH "bool QColorGroup::operator== ( const QColorGroup & g ) const"
+Returns TRUE if this color group is equal to \fIg\fR; otherwise returns FALSE.
+.PP
+See also
+.SH "void QColorGroup::setBrush ( ColorRole r, const QBrush & b )"
+Sets the brush used for color role \fIr\fR to \fIb\fR.
+.PP
+See also brush(), setColor(), and ColorRole.
+.PP
+Example: themes/wood.cpp.
+.SH "void QColorGroup::setColor ( ColorRole r, const QColor & c )"
+Sets the brush used for color role \fIr\fR to a solid color \fIc\fR.
+.PP
+See also brush() and ColorRole.
+.PP
+Examples:
+.)l listviews/listviews.cpp, table/statistics/statistics.cpp, and themes/metal.cpp.
+.SH "const QColor & QColorGroup::shadow () const"
+Returns the shadow color of the color group.
+.PP
+See also ColorRole.
+.SH "const QColor & QColorGroup::text () const"
+Returns the text foreground color of the color group.
+.PP
+See also ColorRole.
+.PP
+Example: listviews/listviews.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QColorGroup & g )"
+Writes color group, \fIg\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcolorgroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcolorgroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcombobox.3qt b/doc/man/man3/qcombobox.3qt
new file mode 100644
index 0000000..794ae8a
--- /dev/null
+++ b/doc/man/man3/qcombobox.3qt
@@ -0,0 +1,603 @@
+'\" t
+.TH QComboBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QComboBox \- Combined button and popup list
+.SH SYNOPSIS
+\fC#include <qcombobox.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQComboBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQComboBox\fR ( bool rw, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QComboBox\fR ()"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsertStringList\fR ( const QStringList & list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const QStrList & list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const QStrList * list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const char ** strings, int numStrings = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QString & t, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QPixmap & pixmap, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QPixmap & pixmap, const QString & text, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int index )"
+.br
+.ti -1c
+.BI "int \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( int index )"
+.br
+.ti -1c
+.BI "QString \fBcurrentText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int index ) const"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR ( int index ) const"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QString & t, int index )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QPixmap & im, int index )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QPixmap & im, const QString & t, int index )"
+.br
+.ti -1c
+.BI "bool autoResize () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void setAutoResize ( bool ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBsetPalette\fR ( const QPalette & palette )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSizeLimit\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBsizeLimit\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxCount\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBmaxCount\fR () const"
+.br
+.ti -1c
+.BI "enum \fBPolicy\fR { NoInsertion, AtTop, AtCurrent, AtBottom, AfterCurrent, BeforeCurrent }"
+.br
+.ti -1c
+.BI "virtual void \fBsetInsertionPolicy\fR ( Policy policy )"
+.br
+.ti -1c
+.BI "Policy \fBinsertionPolicy\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetValidator\fR ( const QValidator * v )"
+.br
+.ti -1c
+.BI "const QValidator * \fBvalidator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetListBox\fR ( QListBox * newListBox )"
+.br
+.ti -1c
+.BI "QListBox * \fBlistBox\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetLineEdit\fR ( QLineEdit * edit )"
+.br
+.ti -1c
+.BI "QLineEdit * \fBlineEdit\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoCompletion\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBautoCompletion\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDuplicatesEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBduplicatesEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBeditable\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetEditable\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBpopup\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBclearValidator\fR ()"
+.br
+.ti -1c
+.BI "void \fBclearEdit\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetEditText\fR ( const QString & newText )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBactivated\fR ( const QString & string )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( const QString & string )"
+.br
+.ti -1c
+.BI "void \fBtextChanged\fR ( const QString & string )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoCompletion\fR - whether auto-completion is enabled"
+.br
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the combobox is automatically masked \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool autoResize - whether auto resize is enabled \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBcount\fR - the number of items in the combobox \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcurrentItem\fR - the index of the current item in the combobox"
+.br
+.ti -1c
+.BI "QString \fBcurrentText\fR - the text of the combobox's current item"
+.br
+.ti -1c
+.BI "bool \fBduplicatesEnabled\fR - whether duplicates are allowed"
+.br
+.ti -1c
+.BI "bool \fBeditable\fR - whether the combobox is editable"
+.br
+.ti -1c
+.BI "Policy \fBinsertionPolicy\fR - the position of the items inserted by the user"
+.br
+.ti -1c
+.BI "int \fBmaxCount\fR - the maximum number of items allowed in the combobox"
+.br
+.ti -1c
+.BI "int \fBsizeLimit\fR - the maximum on-screen size of the combobox"
+.br
+.in -1c
+.SH DESCRIPTION
+The QComboBox widget is a combined button and popup list.
+.PP
+A combobox is a selection widget which displays the current item and can pop up a list of items. A combobox may be editable in which case the user can enter arbitrary strings.
+.PP
+Comboboxes provide a means of showing the user's current choice out of a list of options in a way that takes up the minimum amount of screen space.
+.PP
+QComboBox supports three different display styles: Aqua/Motif 1.x, Motif 2.0 and Windows. In Motif 1.x, a combobox was called XmOptionMenu. In Motif 2.0, OSF introduced an improved combobox and named that XmComboBox. QComboBox provides both.
+.PP
+QComboBox provides two different constructors. The simplest constructor creates an "old-style" combobox in Motif (or Aqua) style:
+.PP
+.nf
+.br
+ QComboBox *c = new QComboBox( this, "read-only combobox" );
+.br
+.fi
+.PP
+The other constructor creates a new-style combobox in Motif style, and can create both read-only and editable comboboxes:
+.PP
+.nf
+.br
+ QComboBox *c1 = new QComboBox( FALSE, this, "read-only combobox" );
+.br
+ QComboBox *c2 = new QComboBox( TRUE, this, "editable combobox" );
+.br
+.fi
+.PP
+New-style comboboxes use a list box in both Motif and Windows styles, and both the content size and the on-screen size of the list box can be limited with sizeLimit() and setMaxCount() respectively. Old-style comboboxes use a popup in Aqua and Motif style, and that popup will happily grow larger than the desktop if you put enough data into it.
+.PP
+The two constructors create identical-looking comboboxes in Windows style.
+.PP
+Comboboxes can contain pixmaps as well as strings; the insertItem() and changeItem() functions are suitably overloaded. For editable comboboxes, the function clearEdit() is provided, to clear the displayed string without changing the combobox's contents.
+.PP
+A combobox emits two signals, activated() and highlighted(), when a new item has been activated (selected) or highlighted (made current). Both signals exist in two versions, one with a QString argument and one with an \fCint\fR argument. If the user highlights or activates a pixmap, only the \fCint\fR signals are emitted. Whenever the text of an editable combobox is changed the textChanged() signal is emitted.
+.PP
+When the user enters a new string in an editable combobox, the widget may or may not insert it, and it can insert it in several locations. The default policy is is AtBottom but you can change this using setInsertionPolicy().
+.PP
+It is possible to constrain the input to an editable combobox using QValidator; see setValidator(). By default, any input is accepted.
+.PP
+If the combobox is not editable then it has a default focusPolicy() of TabFocus, i.e. it will not grab focus if clicked. This differs from both Windows and Motif. If the combobox is editable then it has a default focusPolicy() of StrongFocus, i.e. it will grab focus if clicked.
+.PP
+A combobox can be populated using the insert functions, insertStringList() and insertItem() for example. Items can be changed with changeItem(). An item can be removed with removeItem() and all items can be removed with clear(). The text of the current item is returned by currentText(), and the text of a numbered item is returned with text(). The current item can be set with setCurrentItem() or setCurrentText(). The number of items in the combobox is returned by count(); the maximum number of items can be set with setMaxCount(). You can allow editing using setEditable(). For editable comboboxes you can set auto-completion using setAutoCompletion() and whether or not the user can add duplicates is set with setDuplicatesEnabled().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+(Motif 1, read-only)
+.br
+.ce 1
+.B "[Image Omitted]"
+.PP
+(Motif 2, editable)
+.br
+.ce 1
+.B "[Image Omitted]"
+.PP
+(Motif 2, read-only)
+.br
+.ce 1
+.B "[Image Omitted]"
+.PP
+(Windows style)
+.PP
+Depending on the style, QComboBox will use a QListBox or a QPopupMenu to display the list of items. See setListBox() for more information.
+.PP
+See also QLineEdit, QListBox, QSpinBox, QRadioButton, QButtonGroup, GUI Design Handbook: Combo Box, GUI Design Handbook: Drop-Down List Box, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QComboBox::Policy"
+This enum specifies what the QComboBox should do when a new string is entered by the user.
+.TP
+\fCQComboBox::NoInsertion\fR - the string will not be inserted into the combobox.
+.TP
+\fCQComboBox::AtTop\fR - insert the string as the first item in the combobox.
+.TP
+\fCQComboBox::AtCurrent\fR - replace the previously selected item with the string the user has entered.
+.TP
+\fCQComboBox::AtBottom\fR - insert the string as the last item in the combobox.
+.TP
+\fCQComboBox::AfterCurrent\fR - insert the string after the previously selected item.
+.TP
+\fCQComboBox::BeforeCurrent\fR - insert the string before the previously selected item.
+.PP
+activated() is always emitted when the string is entered.
+.PP
+If inserting the new string would cause the combobox to breach its content size limit, the item at the other end of the list is deleted. The definition of "other end" is implementation-dependent.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QComboBox::QComboBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a combobox widget with parent \fIparent\fR called \fIname\fR.
+.PP
+This constructor creates a popup list if the program uses Motif (or Aqua) look and feel; this is compatible with Motif 1.x and Aqua.
+.PP
+Note: If you use this constructor to create your QComboBox, then the pixmap() function will always return 0. To workaround this, use the other constructor.
+.SH "QComboBox::QComboBox ( bool rw, QWidget * parent = 0, const char * name = 0 )"
+Constructs a combobox with a maximum size and either Motif 2.0 or Windows look and feel.
+.PP
+The input field can be edited if \fIrw\fR is TRUE, otherwise the user may only choose one of the items in the combobox.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QComboBox::~QComboBox ()"
+Destroys the combobox.
+.SH "void QComboBox::activated ( int index )\fC [signal]\fR"
+This signal is emitted when a new item has been activated (selected). The \fIindex\fR is the position of the item in the combobox.
+.PP
+This signal is not emitted if the item is changed programmatically, e.g. using setCurrentItem().
+.PP
+Examples:
+.)l fileiconview/mainwindow.cpp, helpviewer/helpwindow.cpp, lineedits/lineedits.cpp, listboxcombo/listboxcombo.cpp, and qmag/qmag.cpp.
+.SH "void QComboBox::activated ( const QString & string )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when a new item has been activated (selected). \fIstring\fR is the selected string.
+.PP
+You can also use the activated(int) signal, but be aware that its argument is meaningful only for selected strings, not for user entered strings.
+.SH "bool QComboBox::autoCompletion () const"
+Returns TRUE if auto-completion is enabled; otherwise returns FALSE. See the "autoCompletion" property for details.
+.SH "bool QComboBox::autoResize () const"
+Returns TRUE if auto resize is enabled; otherwise returns FALSE. See the "autoResize" property for details.
+.SH "void QComboBox::changeItem ( const QString & t, int index )"
+Replaces the item at position \fIindex\fR with the text \fIt\fR.
+.SH "void QComboBox::changeItem ( const QPixmap & im, int index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces the item at position \fIindex\fR with the pixmap \fIim\fR, unless the combobox is editable.
+.PP
+See also insertItem().
+.SH "void QComboBox::changeItem ( const QPixmap & im, const QString & t, int index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces the item at position \fIindex\fR with the pixmap \fIim\fR and the text \fIt\fR.
+.PP
+See also insertItem().
+.SH "void QComboBox::clear ()\fC [slot]\fR"
+Removes all combobox items.
+.SH "void QComboBox::clearEdit ()\fC [slot]\fR"
+Clears the line edit without changing the combobox's contents. Does nothing if the combobox isn't editable.
+.PP
+This is particularly useful when using a combobox as a line edit with history. For example you can connect the combobox's activated() signal to clearEdit() in order to present the user with a new, empty line as soon as Enter is pressed.
+.PP
+See also setEditText().
+.SH "void QComboBox::clearValidator ()\fC [slot]\fR"
+This slot is equivalent to setValidator( 0 ).
+.SH "int QComboBox::count () const"
+Returns the number of items in the combobox. See the "count" property for details.
+.SH "int QComboBox::currentItem () const"
+Returns the index of the current item in the combobox. See the "currentItem" property for details.
+.SH "QString QComboBox::currentText () const"
+Returns the text of the combobox's current item. See the "currentText" property for details.
+.SH "bool QComboBox::duplicatesEnabled () const"
+Returns TRUE if duplicates are allowed; otherwise returns FALSE. See the "duplicatesEnabled" property for details.
+.SH "bool QComboBox::editable () const"
+Returns TRUE if the combobox is editable; otherwise returns FALSE. See the "editable" property for details.
+.SH "void QComboBox::highlighted ( int index )\fC [signal]\fR"
+This signal is emitted when a new item has been set to be the current item. The \fIindex\fR is the position of the item in the combobox.
+.PP
+This signal is not emitted if the item is changed programmatically, e.g. using setCurrentItem().
+.SH "void QComboBox::highlighted ( const QString & string )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when a new item has been set to be the current item. \fIstring\fR is the item's text.
+.PP
+You can also use the highlighted(int) signal.
+.SH "void QComboBox::insertItem ( const QString & t, int index = -1 )"
+Inserts a text item with text \fIt\fR, at position \fIindex\fR. The item will be appended if \fIindex\fR is negative.
+.PP
+Examples:
+.)l chart/optionsform.cpp, fileiconview/mainwindow.cpp, helpviewer/helpwindow.cpp, lineedits/lineedits.cpp, listboxcombo/listboxcombo.cpp, regexptester/regexptester.cpp, and tictac/tictac.cpp.
+.SH "void QComboBox::insertItem ( const QPixmap & pixmap, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a \fIpixmap\fR item at position \fIindex\fR. The item will be appended if \fIindex\fR is negative.
+.SH "void QComboBox::insertItem ( const QPixmap & pixmap, const QString & text, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a \fIpixmap\fR item with additional text \fItext\fR at position \fIindex\fR. The item will be appended if \fIindex\fR is negative.
+.SH "void QComboBox::insertStrList ( const char ** strings, int numStrings = -1, int index = -1 )"
+Inserts the array of char * \fIstrings\fR at position \fIindex\fR in the combobox.
+.PP
+The \fInumStrings\fR argument is the number of strings. If \fInumStrings\fR is -1 (default), the \fIstrings\fR array must be terminated with 0.
+.PP
+Example:
+.PP
+.nf
+.br
+ static const char* items[] = { "red", "green", "blue", 0 };
+.br
+ combo->insertStrList( items );
+.br
+.fi
+.PP
+See also insertStringList().
+.PP
+Example: qmag/qmag.cpp.
+.SH "void QComboBox::insertStrList ( const QStrList & list, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the \fIlist\fR of strings at position \fIindex\fR in the combobox.
+.PP
+This is only for compatibility since it does not support Unicode strings. See insertStringList().
+.SH "void QComboBox::insertStrList ( const QStrList * list, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the \fIlist\fR of strings at position \fIindex\fR in the combobox.
+.PP
+This is only for compatibility since it does not support Unicode strings. See insertStringList().
+.SH "void QComboBox::insertStringList ( const QStringList & list, int index = -1 )"
+Inserts the \fIlist\fR of strings at position \fIindex\fR in the combobox.
+.SH "Policy QComboBox::insertionPolicy () const"
+Returns the position of the items inserted by the user. See the "insertionPolicy" property for details.
+.SH "QLineEdit * QComboBox::lineEdit () const"
+Returns the line edit, or 0 if there is no line edit.
+.PP
+Only editable listboxes have a line editor.
+.SH "QListBox * QComboBox::listBox () const"
+Returns the current list box, or 0 if there is no list box. (QComboBox can use QPopupMenu instead of QListBox.) Provided to match setListBox().
+.PP
+See also setListBox().
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.SH "int QComboBox::maxCount () const"
+Returns the maximum number of items allowed in the combobox. See the "maxCount" property for details.
+.SH "const QPixmap * QComboBox::pixmap ( int index ) const"
+Returns the pixmap item at position \fIindex\fR, or 0 if the item is not a pixmap.
+.SH "void QComboBox::popup ()\fC [virtual]\fR"
+Pops up the combobox popup list.
+.PP
+If the list is empty, no items appear.
+.SH "void QComboBox::removeItem ( int index )"
+Removes the item at position \fIindex\fR.
+.SH "void QComboBox::setAutoCompletion ( bool )\fC [virtual]\fR"
+Sets whether auto-completion is enabled. See the "autoCompletion" property for details.
+.SH "void QComboBox::setAutoResize ( bool )\fC [virtual]\fR"
+Sets whether auto resize is enabled. See the "autoResize" property for details.
+.SH "void QComboBox::setCurrentItem ( int index )\fC [virtual]\fR"
+Sets the index of the current item in the combobox to \fIindex\fR. See the "currentItem" property for details.
+.SH "void QComboBox::setCurrentText ( const QString & )\fC [virtual]\fR"
+Sets the text of the combobox's current item. See the "currentText" property for details.
+.SH "void QComboBox::setDuplicatesEnabled ( bool enable )"
+Sets whether duplicates are allowed to \fIenable\fR. See the "duplicatesEnabled" property for details.
+.SH "void QComboBox::setEditText ( const QString & newText )\fC [virtual slot]\fR"
+Sets the text in the line edit to \fInewText\fR without changing the combobox's contents. Does nothing if the combobox isn't editable.
+.PP
+This is useful e.g. for providing a good starting point for the user's editing and entering the change in the combobox only when the user presses Enter.
+.PP
+See also clearEdit() and insertItem().
+.SH "void QComboBox::setEditable ( bool )"
+Sets whether the combobox is editable. See the "editable" property for details.
+.SH "void QComboBox::setFont ( const QFont & font )\fC [virtual]\fR"
+Sets the font for both the combobox button and the combobox popup list to \fIfont\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QComboBox::setInsertionPolicy ( Policy policy )\fC [virtual]\fR"
+Sets the position of the items inserted by the user to \fIpolicy\fR. See the "insertionPolicy" property for details.
+.SH "void QComboBox::setLineEdit ( QLineEdit * edit )\fC [virtual]\fR"
+Sets the line edit to use \fIedit\fR instead of the current line edit.
+.SH "void QComboBox::setListBox ( QListBox * newListBox )\fC [virtual]\fR"
+Sets the combobox to use \fInewListBox\fR instead of the current list box or popup. As a side effect, it clears the combobox of its current contents.
+.PP
+\fBWarning:\fR QComboBox assumes that newListBox->text(n) returns non-null for 0 <= n < newListbox->count(). This assumption is necessary because of the line edit in QComboBox.
+.SH "void QComboBox::setMaxCount ( int )\fC [virtual]\fR"
+Sets the maximum number of items allowed in the combobox. See the "maxCount" property for details.
+.SH "void QComboBox::setPalette ( const QPalette & palette )\fC [virtual]\fR"
+Sets the palette for both the combobox button and the combobox popup list to \fIpalette\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QComboBox::setSizeLimit ( int )\fC [virtual]\fR"
+Sets the maximum on-screen size of the combobox. See the "sizeLimit" property for details.
+.SH "void QComboBox::setValidator ( const QValidator * v )\fC [virtual]\fR"
+Applies the validator \fIv\fR to the combobox so that only text which is valid according to \fIv\fR is accepted.
+.PP
+This function does nothing if the combobox is not editable.
+.PP
+See also validator(), clearValidator(), and QValidator.
+.SH "int QComboBox::sizeLimit () const"
+Returns the maximum on-screen size of the combobox. See the "sizeLimit" property for details.
+.SH "QString QComboBox::text ( int index ) const"
+Returns the text item at position \fIindex\fR, or QString::null if the item is not a string.
+.PP
+See also currentText.
+.PP
+Examples:
+.)l fileiconview/mainwindow.cpp and helpviewer/helpwindow.cpp.
+.SH "void QComboBox::textChanged ( const QString & string )\fC [signal]\fR"
+This signal is used for editable comboboxes. It is emitted whenever the contents of the text entry field changes. \fIstring\fR contains the new text.
+.SH "const QValidator * QComboBox::validator () const"
+Returns the validator which constrains editing for this combobox if there is one; otherwise returns 0.
+.PP
+See also setValidator(), clearValidator(), and QValidator.
+.SS "Property Documentation"
+.SH "bool autoCompletion"
+This property holds whether auto-completion is enabled.
+.PP
+This property can only be set for editable comboboxes, for non-editable comboboxes it has no effect. It is FALSE by default.
+.PP
+Set this property's value with setAutoCompletion() and get this property's value with autoCompletion().
+.SH "bool autoMask"
+This property holds whether the combobox is automatically masked.
+.PP
+See also QWidget::autoMask.
+.SH "bool autoResize"
+This property holds whether auto resize is enabled.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If this property is set to TRUE then the combobox will resize itself whenever its contents change. The default is FALSE.
+.PP
+Set this property's value with setAutoResize() and get this property's value with autoResize().
+.SH "int count"
+This property holds the number of items in the combobox.
+.PP
+Get this property's value with count().
+.SH "int currentItem"
+This property holds the index of the current item in the combobox.
+.PP
+Note that the activated() and highlighted() signals are only emitted when the user changes the current item, not when it is changed programmatically.
+.PP
+Set this property's value with setCurrentItem() and get this property's value with currentItem().
+.SH "QString currentText"
+This property holds the text of the combobox's current item.
+.PP
+Set this property's value with setCurrentText() and get this property's value with currentText().
+.SH "bool duplicatesEnabled"
+This property holds whether duplicates are allowed.
+.PP
+If the combobox is editable and the user enters some text in the combobox's lineedit and presses Enter (and the insertionPolicy() is not NoInsertion), then what happens is this:
+.TP
+If the text is not already in the list, the text is inserted.
+.TP
+If the text is in the list and this property is TRUE (the default), the text is inserted.
+.TP
+If the text is in the list and this property is FALSE, the text is \fInot\fR inserted; instead the item which has matching text becomes the current item.
+.PP
+This property only affects user-interaction. You can use insertItem() to insert duplicates if you wish regardless of this setting.
+.PP
+Set this property's value with setDuplicatesEnabled() and get this property's value with duplicatesEnabled().
+.SH "bool editable"
+This property holds whether the combobox is editable.
+.PP
+This property's default is FALSE. Note that the combobox will be cleared if this property is set to TRUE for a 1.x Motif style combobox. To avoid this, use setEditable() before inserting any items. Also note that the 1.x version of Motif didn't have any editable comboboxes, so the combobox will change it's appearance to a 2.0 style Motif combobox is it is set to be editable.
+.PP
+Set this property's value with setEditable() and get this property's value with editable().
+.SH "Policy insertionPolicy"
+This property holds the position of the items inserted by the user.
+.PP
+The default insertion policy is AtBottom. See Policy.
+.PP
+Set this property's value with setInsertionPolicy() and get this property's value with insertionPolicy().
+.SH "int maxCount"
+This property holds the maximum number of items allowed in the combobox.
+.PP
+Set this property's value with setMaxCount() and get this property's value with maxCount().
+.SH "int sizeLimit"
+This property holds the maximum on-screen size of the combobox.
+.PP
+This property is ignored for both Motif 1.x style and non-editable comboboxes in Mac style. The default limit is ten lines. If the number of items in the combobox is or grows larger than lines, a scrollbar is added.
+.PP
+Set this property's value with setSizeLimit() and get this property's value with sizeLimit().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcombobox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcombobox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcombotableitem.3qt b/doc/man/man3/qcombotableitem.3qt
new file mode 100644
index 0000000..60c7b82
--- /dev/null
+++ b/doc/man/man3/qcombotableitem.3qt
@@ -0,0 +1,156 @@
+'\" t
+.TH QComboTableItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QComboTableItem \- Means of using comboboxes in QTables
+.SH SYNOPSIS
+\fC#include <qtable.h>\fR
+.PP
+Inherits QTableItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQComboTableItem\fR ( QTable * table, const QStringList & list, bool editable = FALSE )"
+.br
+.ti -1c
+.BI "\fB~QComboTableItem\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( int i )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "int \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcurrentText\fR () const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int i ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetEditable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisEditable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetStringList\fR ( const QStringList & l )"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QComboTableItem class provides a means of using comboboxes in QTables.
+.PP
+A QComboTableItem is a table item which looks and behaves like a combobox. The advantage of using QComboTableItems rather than real comboboxes is that a QComboTableItem uses far less resources than real comboboxes in QTables. When the cell has the focus it displays a real combobox which the user can interact with. When the cell does not have the focus the cell \fIlooks\fR like a combobox. Only text items (i.e. no pixmaps) may be used in QComboTableItems.
+.PP
+QComboTableItem items have the edit type WhenCurrent (see EditType). The QComboTableItem's list of items is provided by a QStringList passed to the constructor.
+.PP
+The list of items may be changed using setStringList(). The current item can be set with setCurrentItem() and retrieved with currentItem(). The text of the current item can be obtained with currentText(), and the text of a particular item can be retrieved with text().
+.PP
+If isEditable() is TRUE the QComboTableItem will permit the user to either choose an existing list item, or create a new list item by entering their own text; otherwise the user may only choose one of the existing list items.
+.PP
+To populate a table cell with a QComboTableItem use QTable::setItem().
+.PP
+QComboTableItems may be deleted with QTable::clearCell().
+.PP
+QComboTableItems can be distinguished from QTableItems and QCheckTableItems using their Run Time Type Identification number (see rtti()).
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QCheckTableItem, QTableItem, QComboBox, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QComboTableItem::QComboTableItem ( QTable * table, const QStringList & list, bool editable = FALSE )"
+Creates a combo table item for the table \fItable\fR. The combobox's list of items is passed in the \fIlist\fR argument. If \fIeditable\fR is TRUE the user may type in new list items; if \fIeditable\fR is FALSE the user may only select from the list of items provided.
+.PP
+By default QComboTableItems cannot be replaced by other table items since isReplaceable() returns FALSE by default.
+.PP
+See also QTable::clearCell() and EditType.
+.SH "QComboTableItem::~QComboTableItem ()"
+QComboTableItem destructor.
+.SH "int QComboTableItem::count () const"
+Returns the total number of list items in the combo table item.
+.SH "int QComboTableItem::currentItem () const"
+Returns the index of the combo table item's current list item.
+.PP
+See also setCurrentItem().
+.SH "QString QComboTableItem::currentText () const"
+Returns the text of the combo table item's current list item.
+.PP
+See also currentItem() and text().
+.SH "bool QComboTableItem::isEditable () const"
+Returns TRUE if the user can add their own list items to the combobox's list of items; otherwise returns FALSE.
+.PP
+See also setEditable().
+.SH "int QComboTableItem::rtti () const\fC [virtual]\fR"
+Returns 1.
+.PP
+Make your derived classes return their own values for rtti()to distinguish between different table item subclasses. You should use values greater than 1000, preferably a large random number, to allow for extensions to this class.
+.PP
+See also QTableItem::rtti().
+.PP
+Reimplemented from QTableItem.
+.SH "void QComboTableItem::setCurrentItem ( int i )\fC [virtual]\fR"
+Sets the list item \fIi\fR to be the combo table item's current list item.
+.PP
+See also currentItem().
+.PP
+Example: table/small-table-demo/main.cpp.
+.SH "void QComboTableItem::setCurrentItem ( const QString & s )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the list item whose text is \fIs\fR to be the combo table item's current list item. Does nothing if no list item has the text \fIs\fR.
+.PP
+See also currentItem().
+.SH "void QComboTableItem::setEditable ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE the combo table item can be edited, i.e. the user may enter a new text item themselves. If \fIb\fR is FALSE the user may may only choose one of the existing items.
+.PP
+See also isEditable().
+.SH "void QComboTableItem::setStringList ( const QStringList & l )\fC [virtual]\fR"
+Sets the list items of this QComboTableItem to the strings in the string list \fIl\fR.
+.SH "QString QComboTableItem::text ( int i ) const"
+Returns the text of the combo's list item at index \fIi\fR.
+.PP
+See also currentText().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcombotableitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcombotableitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcommonstyle.3qt b/doc/man/man3/qcommonstyle.3qt
new file mode 100644
index 0000000..cd5a49e
--- /dev/null
+++ b/doc/man/man3/qcommonstyle.3qt
@@ -0,0 +1,59 @@
+'\" t
+.TH QCommonStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCommonStyle \- Encapsulates the common Look and Feel of a GUI
+.SH SYNOPSIS
+\fC#include <qcommonstyle.h>\fR
+.PP
+Inherits QStyle.
+.PP
+Inherited by QMotifStyle and QWindowsStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCommonStyle\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCommonStyle class encapsulates the common Look and Feel of a GUI.
+.PP
+This abstract class implements some of the widget's look and feel that is common to all GUI styles provided and shipped as part of Qt.
+.PP
+All the functions are documented in QStyle.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCommonStyle::QCommonStyle ()"
+Constructs a QCommonStyle.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcommonstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcommonstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qconststring.3qt b/doc/man/man3/qconststring.3qt
new file mode 100644
index 0000000..80d863b
--- /dev/null
+++ b/doc/man/man3/qconststring.3qt
@@ -0,0 +1,70 @@
+'\" t
+.TH QConstString 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QConstString \- String objects using constant Unicode data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qstring.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQConstString\fR ( const QChar * unicode, uint length )"
+.br
+.ti -1c
+.BI "\fB~QConstString\fR ()"
+.br
+.ti -1c
+.BI "const QString & \fBstring\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QConstString class provides string objects using constant Unicode data.
+.PP
+In order to minimize copying, highly optimized applications can use QConstString to provide a QString-compatible object from existing Unicode data. It is then the programmer's responsibility to ensure that the Unicode data exists for the entire lifetime of the QConstString object.
+.PP
+A QConstString is created with the QConstString constructor. The string held by the object can be obtained by calling string().
+.PP
+See also Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QConstString::QConstString ( const QChar * unicode, uint length )"
+Constructs a QConstString that uses the first \fIlength\fR Unicode characters in the array \fIunicode\fR. Any attempt to modify copies of the string will cause it to create a copy of the data, thus it remains forever unmodified.
+.PP
+The data in \fIunicode\fR is not copied. The caller must be able to guarantee that \fIunicode\fR will not be deleted or modified.
+.SH "QConstString::~QConstString ()"
+Destroys the QConstString, creating a copy of the data if other strings are still using it.
+.SH "const QString & QConstString::string () const"
+Returns a constant string referencing the data passed during
+construction.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qconststring.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qconststring.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcontextmenuevent.3qt b/doc/man/man3/qcontextmenuevent.3qt
new file mode 100644
index 0000000..a798984
--- /dev/null
+++ b/doc/man/man3/qcontextmenuevent.3qt
@@ -0,0 +1,187 @@
+'\" t
+.TH QContextMenuEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QContextMenuEvent \- Parameters that describe a context menu event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBReason\fR { Mouse, Keyboard, Other }"
+.br
+.ti -1c
+.BI "\fBQContextMenuEvent\fR ( Reason reason, const QPoint & pos, const QPoint & globalPos, int state )"
+.br
+.ti -1c
+.BI "\fBQContextMenuEvent\fR ( Reason reason, const QPoint & pos, int state )"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalX\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalY\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBglobalPos\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisConsumed\fR () const"
+.br
+.ti -1c
+.BI "void \fBconsume\fR ()"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.ti -1c
+.BI "Reason \fBreason\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QContextMenuEvent class contains parameters that describe a context menu event.
+.PP
+Context menu events are sent to widgets when a user triggers a context menu. What triggers this is platform dependent. For example, on Windows, pressing the menu button or releasing the right mouse button will cause this event to be sent.
+.PP
+When this event occurs it is customary to show a QPopupMenu with a context menu, if this is relevant to the context.
+.PP
+Context menu events contain a special accept flag that indicates whether the receiver accepted the event. If the event handler does not accept the event, then whatever triggered the event will be handled as a regular input event if possible.
+.PP
+See also QPopupMenu and Event Classes.
+.SS "Member Type Documentation"
+.SH "QContextMenuEvent::Reason"
+This enum describes the reason the ContextMenuEvent was sent. The values are:
+.TP
+\fCQContextMenuEvent::Mouse\fR - The mouse caused the event to be sent. Normally this means the right mouse button was clicked, but this is platform specific.
+.TP
+\fCQContextMenuEvent::Keyboard\fR - The keyboard caused this event to be sent. On Windows this means the menu button was pressed.
+.TP
+\fCQContextMenuEvent::Other\fR - The event was sent by some other means (i.e. not by the mouse or keyboard).
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QContextMenuEvent::QContextMenuEvent ( Reason reason, const QPoint & pos, const QPoint & globalPos, int state )"
+Constructs a context menu event object with the accept parameter flag set to FALSE.
+.PP
+The \fIreason\fR parameter must be QContextMenuEvent::Mouse or QContextMenuEvent::Keyboard.
+.PP
+The \fIpos\fR parameter specifies the mouse position relative to the receiving widget. \fIglobalPos\fR is the mouse position in absolute coordinates. \fIstate\fR is the ButtonState at the time of the event.
+.SH "QContextMenuEvent::QContextMenuEvent ( Reason reason, const QPoint & pos, int state )"
+Constructs a context menu event object with the accept parameter flag set to FALSE.
+.PP
+The \fIreason\fR parameter must be QContextMenuEvent::Mouse or QContextMenuEvent::Keyboard.
+.PP
+The \fIpos\fR parameter specifies the mouse position relative to the receiving widget. \fIstate\fR is the ButtonState at the time of the event.
+.PP
+The globalPos() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.
+.SH "void QContextMenuEvent::accept ()"
+Sets the accept flag of the context event object.
+.PP
+Setting the accept flag indicates that the receiver of this event has processed the event. Processing the event means you did something with it and it will be implicitly consumed.
+.PP
+The accept flag is not set by default.
+.PP
+See also ignore() and consume().
+.SH "void QContextMenuEvent::consume ()"
+Sets the consume flag of the context event object.
+.PP
+Setting the consume flag indicates that the receiver of this event does not want the event to be propagated further (i.e. not sent to parent classes.)
+.PP
+The consumed flag is not set by default.
+.PP
+See also ignore() and accept().
+.SH "const QPoint & QContextMenuEvent::globalPos () const"
+Returns the global position of the mouse pointer at the time of the event.
+.PP
+See also x(), y(), and pos().
+.SH "int QContextMenuEvent::globalX () const"
+Returns the global x-position of the mouse pointer at the time of the event.
+.PP
+See also globalY() and globalPos().
+.SH "int QContextMenuEvent::globalY () const"
+Returns the global y-position of the mouse pointer at the time of the event.
+.PP
+See also globalX() and globalPos().
+.SH "void QContextMenuEvent::ignore ()"
+Clears the accept flag of the context event object.
+.PP
+Clearing the accept flag indicates that the receiver of this event does not need to show a context menu. This will implicitly remove the consumed flag as well.
+.PP
+The accept flag is not set by default.
+.PP
+See also accept() and consume().
+.SH "bool QContextMenuEvent::isAccepted () const"
+Returns TRUE if the receiver has processed the event; otherwise returns FALSE.
+.PP
+See also accept(), ignore(), and consume().
+.SH "bool QContextMenuEvent::isConsumed () const"
+Returns TRUE (which stops propagation of the event) if the receiver has blocked the event; otherwise returns FALSE.
+.PP
+See also accept(), ignore(), and consume().
+.SH "const QPoint & QContextMenuEvent::pos () const"
+Returns the position of the mouse pointer relative to the widget that received the event.
+.PP
+See also x(), y(), and globalPos().
+.SH "Reason QContextMenuEvent::reason () const"
+Returns the reason for this context event.
+.SH "ButtonState QContextMenuEvent::state () const"
+Returns the button state (a combination of mouse buttons and keyboard modifiers), i.e. what buttons and keys were being pressed immediately before the event was generated.
+.PP
+The returned value is LeftButton, RightButton, MidButton, ShiftButton, ControlButton and AltButton OR'ed together.
+.SH "int QContextMenuEvent::x () const"
+Returns the x-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also y() and pos().
+.SH "int QContextMenuEvent::y () const"
+Returns the y-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also x() and pos().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcontextmenuevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcontextmenuevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcopchannel.3qt b/doc/man/man3/qcopchannel.3qt
new file mode 100644
index 0000000..2a3515c
--- /dev/null
+++ b/doc/man/man3/qcopchannel.3qt
@@ -0,0 +1,170 @@
+'\" t
+.TH QCopChannel 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCopChannel \- Communication capabilities between several clients
+.SH SYNOPSIS
+\fC#include <qcopchannel_qws.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCopChannel\fR ( const QCString & channel, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QCopChannel\fR ()"
+.br
+.ti -1c
+.BI "QCString \fBchannel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBreceive\fR ( const QCString & msg, const QByteArray & data )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBreceived\fR ( const QCString & msg, const QByteArray & data )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBisRegistered\fR ( const QCString & channel )"
+.br
+.ti -1c
+.BI "bool \fBsend\fR ( const QCString & channel, const QCString & msg )"
+.br
+.ti -1c
+.BI "bool \fBsend\fR ( const QCString & channel, const QCString & msg, const QByteArray & data )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCopChannel class provides communication capabilities between several clients.
+.PP
+The Qt Cop (QCOP) is a COmmunication Protocol, allowing clients to communicate both within the same address space and between different processes.
+.PP
+Currently, this facility is only available on Qt/Embedded. On X11 and Windows we are exploring the use of existing standards such as DCOP and COM.
+.PP
+QCopChannel provides send() and isRegistered() which are static functions usable without an object.
+.PP
+The channel() function returns the name of the channel.
+.PP
+In order to \fIlisten\fR to the traffic on a channel, you should either subclass QCopChannel and reimplement receive(), or connect() to the received() signal.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCopChannel::QCopChannel ( const QCString & channel, QObject * parent = 0, const char * name = 0 )"
+Constructs a QCop channel and registers it with the server using the name \fIchannel\fR. The standard \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.SH "QCopChannel::~QCopChannel ()\fC [virtual]\fR"
+Destroys the client's end of the channel and notifies the server that the client has closed its connection. The server will keep the channel open until the last registered client detaches.
+.SH "QCString QCopChannel::channel () const"
+Returns the name of the channel.
+.SH "bool QCopChannel::isRegistered ( const QCString & channel )\fC [static]\fR"
+Queries the server for the existence of \fIchannel\fR.
+.PP
+Returns TRUE if \fIchannel\fR is registered; otherwise returns FALSE.
+.SH "void QCopChannel::receive ( const QCString & msg, const QByteArray & data )\fC [virtual]\fR"
+This virtual function allows subclasses of QCopChannel to process data received from their channel.
+.PP
+The default implementation emits the received() signal.
+.PP
+Note that the format of \fIdata\fR has to be well defined in order to extract the information it contains.
+.PP
+Example:
+.PP
+.nf
+.br
+ void MyClass::receive( const QCString &msg, const QByteArray &data )
+.br
+ {
+.br
+ QDataStream stream( data, IO_ReadOnly );
+.br
+ if ( msg == "execute(QString,QString)" ) {
+.br
+ QString cmd, arg;
+.br
+ stream >> cmd >> arg;
+.br
+ ...
+.br
+ } else if ( msg == "delete(QString)" ) {
+.br
+ QString filenname;
+.br
+ stream >> filename;
+.br
+ ...
+.br
+ } else ...
+.br
+ }
+.br
+.fi
+This example assumes that the \fImsg\fR is a DCOP-style function signature and the \fIdata\fR contains the function's arguments. (See send().)
+.PP
+Using the DCOP convention is a recommendation, but not a requirement. Whatever convention you use the sender and receiver \fImust\fR agree on the argument types.
+.PP
+See also send().
+.SH "void QCopChannel::received ( const QCString & msg, const QByteArray & data )\fC [signal]\fR"
+This signal is emitted with the \fImsg\fR and \fIdata\fR whenever the receive() function gets incoming data.
+.SH "bool QCopChannel::send ( const QCString & channel, const QCString & msg, const QByteArray & data )\fC [static]\fR"
+Send the message \fImsg\fR on channel \fIchannel\fR with data \fIdata\fR. The message will be distributed to all clients subscribed to the channel.
+.PP
+Note that QDataStream provides a convenient way to fill the byte array with auxiliary data.
+.PP
+Example:
+.PP
+.nf
+.br
+ QByteArray ba;
+.br
+ QDataStream stream( ba, IO_WriteOnly );
+.br
+ stream << QString("cat") << QString("file.txt");
+.br
+ QCopChannel::send( "System/Shell", "execute(QString,QString)", ba );
+.br
+.fi
+Here the channel is "System/Shell". The \fImsg\fR is an arbitrary string, but in the example we've used the DCOP convention of passing a function signature. Such a signature is formatted as functionname(types) where types is a list of zero or more comma-separated type names, with no whitespace, no consts and no pointer or reference marks, i.e. no "*" or "&".
+.PP
+Using the DCOP convention is a recommendation, but not a requirement. Whatever convention you use the sender and receiver \fImust\fR agree on the argument types.
+.PP
+See also receive().
+.SH "bool QCopChannel::send ( const QCString & channel, const QCString & msg )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Send the message \fImsg\fR on channel \fIchannel\fR. The message will be distributed to all clients subscribed to the \fIchannel\fR.
+.PP
+See also receive().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcopchannel.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcopchannel.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcstring.3qt b/doc/man/man3/qcstring.3qt
new file mode 100644
index 0000000..f170c99
--- /dev/null
+++ b/doc/man/man3/qcstring.3qt
@@ -0,0 +1,1138 @@
+'\" t
+.TH QCString 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCString \- Abstraction of the classic C zero-terminated char array (char *)
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qcstring.h>\fR
+.PP
+Inherits QByteArray.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCString\fR ()"
+.br
+.ti -1c
+.BI "\fBQCString\fR ( int size )"
+.br
+.ti -1c
+.BI "\fBQCString\fR ( const QCString & s )"
+.br
+.ti -1c
+.BI "\fBQCString\fR ( const char * str )"
+.br
+.ti -1c
+.BI "\fBQCString\fR ( const char * str, uint maxsize )"
+.br
+.ti -1c
+.BI "QCString & \fBoperator=\fR ( const QCString & s )"
+.br
+.ti -1c
+.BI "QCString & \fBoperator=\fR ( const char * str )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "uint \fBlength\fR () const"
+.br
+.ti -1c
+.BI "bool \fBresize\fR ( uint len )"
+.br
+.ti -1c
+.BI "bool \fBtruncate\fR ( uint pos )"
+.br
+.ti -1c
+.BI "bool \fBfill\fR ( char c, int len = -1 )"
+.br
+.ti -1c
+.BI "QCString \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "QCString & \fBsprintf\fR ( const char * format, ... )"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( char c, int index = 0, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const char * str, int index = 0, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const QRegExp & rx, int index = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( char c, int index = -1, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( const char * str, int index = -1, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( const QRegExp & rx, int index = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( char c, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const char * str, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const QRegExp & rx ) const"
+.br
+.ti -1c
+.BI "QCString \fBleft\fR ( uint len ) const"
+.br
+.ti -1c
+.BI "QCString \fBright\fR ( uint len ) const"
+.br
+.ti -1c
+.BI "QCString \fBmid\fR ( uint index, uint len = 0xffffffff ) const"
+.br
+.ti -1c
+.BI "QCString \fBleftJustify\fR ( uint width, char fill = ' ', bool truncate = FALSE ) const"
+.br
+.ti -1c
+.BI "QCString \fBrightJustify\fR ( uint width, char fill = ' ', bool truncate = FALSE ) const"
+.br
+.ti -1c
+.BI "QCString \fBlower\fR () const"
+.br
+.ti -1c
+.BI "QCString \fBupper\fR () const"
+.br
+.ti -1c
+.BI "QCString \fBstripWhiteSpace\fR () const"
+.br
+.ti -1c
+.BI "QCString \fBsimplifyWhiteSpace\fR () const"
+.br
+.ti -1c
+.BI "QCString & \fBinsert\fR ( uint index, const char * s )"
+.br
+.ti -1c
+.BI "QCString & \fBinsert\fR ( uint index, char c )"
+.br
+.ti -1c
+.BI "QCString & \fBappend\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QCString & \fBprepend\fR ( const char * s )"
+.br
+.ti -1c
+.BI "QCString & \fBremove\fR ( uint index, uint len )"
+.br
+.ti -1c
+.BI "QCString & \fBreplace\fR ( uint index, uint len, const char * str )"
+.br
+.ti -1c
+.BI "QCString & \fBreplace\fR ( const QRegExp & rx, const char * str )"
+.br
+.ti -1c
+.BI "QCString & \fBreplace\fR ( char c, const char * after )"
+.br
+.ti -1c
+.BI "QCString & \fBreplace\fR ( const char * before, const char * after )"
+.br
+.ti -1c
+.BI "QCString & \fBreplace\fR ( char c1, char c2 )"
+.br
+.ti -1c
+.BI "short \fBtoShort\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "ushort \fBtoUShort\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBtoInt\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "uint \fBtoUInt\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "long \fBtoLong\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "ulong \fBtoULong\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "float \fBtoFloat\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "double \fBtoDouble\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "QCString & \fBsetStr\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( short n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( ushort n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( int n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( uint n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( long n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( ulong n )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( float n, char f = 'g', int prec = 6 )"
+.br
+.ti -1c
+.BI "QCString & \fBsetNum\fR ( double n, char f = 'g', int prec = 6 )"
+.br
+.ti -1c
+.BI "bool \fBsetExpand\fR ( uint index, char c )"
+.br
+.ti -1c
+.BI "\fBoperator const char *\fR () const"
+.br
+.ti -1c
+.BI "QCString & \fBoperator+=\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QCString & \fBoperator+=\fR ( char c )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void * \fBqmemmove\fR ( void * dst, const void * src, uint len )"
+.br
+.ti -1c
+.BI "char * \fBqstrdup\fR ( const char * src )"
+.br
+.ti -1c
+.BI "char * \fBqstrcpy\fR ( char * dst, const char * src )"
+.br
+.ti -1c
+.BI "char * \fBqstrncpy\fR ( char * dst, const char * src, uint len )"
+.br
+.ti -1c
+.BI "uint \fBqstrlen\fR ( const char * str )"
+.br
+.ti -1c
+.BI "int \fBqstrcmp\fR ( const char * str1, const char * str2 )"
+.br
+.ti -1c
+.BI "int \fBqstrncmp\fR ( const char * str1, const char * str2, uint len )"
+.br
+.ti -1c
+.BI "int \fBqstricmp\fR ( const char * str1, const char * str2 )"
+.br
+.ti -1c
+.BI "int \fBqstrnicmp\fR ( const char * str1, const char * str2, uint len )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QCString & str )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QCString & str )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QCString & s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QCString & s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "const QCString \fBoperator+\fR ( const QCString & s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "const QCString \fBoperator+\fR ( const QCString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "const QCString \fBoperator+\fR ( const char * s1, const QCString & s2 )"
+.br
+.ti -1c
+.BI "const QCString \fBoperator+\fR ( const QCString & s, char c )"
+.br
+.ti -1c
+.BI "const QCString \fBoperator+\fR ( char c, const QCString & s )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCString class provides an abstraction of the classic C zero-terminated char array (char *).
+.PP
+QCString inherits QByteArray, which is defined as QMemArray<char>. Since QCString is a QMemArray, it uses explicit sharing with a reference count.
+.PP
+QCString tries to behave like a more convenient \fCconst char *\fR. The price of doing this is that some algorithms will perform badly. For example, append() is O(length()) since it scans for a null terminator. Although you might use QCString for text that is never exposed to the user, for most purposes, and especially for user-visible text, you should use QString. QString provides implicit sharing, Unicode and other internationalization support, and is well optimized.
+.PP
+Note that for the QCString methods that take a \fCconst char *\fR parameter the \fCconst char *\fR must either be 0 (null) or not-null and '&#92;0' (NUL byte) terminated; otherwise the results are undefined.
+.PP
+A QCString that has not been assigned to anything is \fInull\fR, i.e. both the length and the data pointer is 0. A QCString that references the empty string ("", a single '&#92;0' char) is \fIempty\fR. Both null and empty QCStrings are legal parameters to the methods. Assigning \fCconst char *\fR 0 to QCString produces a null QCString.
+.PP
+The length() function returns the length of the string; resize() resizes the string and truncate() truncates the string. A string can be filled with a character using fill(). Strings can be left or right padded with characters using leftJustify() and rightJustify(). Characters, strings and regular expressions can be searched for using find() and findRev(), and counted using contains().
+.PP
+Strings and characters can be inserted with insert() and appended with append(). A string can be prepended with prepend(). Characters can be removed from the string with remove() and replaced with replace().
+.PP
+Portions of a string can be extracted using left(), right() and mid(). Whitespace can be removed using stripWhiteSpace() and simplifyWhiteSpace(). Strings can be converted to uppercase or lowercase with upper() and lower() respectively.
+.PP
+Strings that contain numbers can be converted to numbers with toShort(), toInt(), toLong(), toULong(), toFloat() and toDouble(). Numbers can be converted to strings with setNum().
+.PP
+Many operators are overloaded to work with QCStrings. QCString also supports some more obscure functions, e.g. sprintf(), setStr() and setExpand().
+.PP
+<blockquote><p align="center">\fB Note on Character Comparisons \fR
+.PP
+In QCString the notion of uppercase and lowercase and of which character is greater than or less than another character is locale dependent. This affects functions which support a case insensitive option or which compare or lowercase or uppercase their arguments. Case insensitive operations and comparisons will be accurate if both strings contain only ASCII characters. (If \fC$LC_CTYPE\fR is set, most Unix systems do "the right thing".) Functions that this affects include contains(), find(), findRev(), operator<(), operator<=(), operator>(), operator>=(), lower() and upper().
+.PP
+This issue does not apply to QStrings since they represent characters using Unicode. </blockquote>
+.PP
+Performance note: The QCString methods for QRegExp searching are implemented by converting the QCString to a QString and performing the search on that. This implies a deep copy of the QCString data. If you are going to perform many QRegExp searches on a large QCString, you will get better performance by converting the QCString to a QString yourself, and then searching in the QString.
+.PP
+See also Collection Classes, Implicitly and Explicitly Shared Classes, Text Related Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCString::QCString ()"
+Constructs a null string.
+.PP
+See also isNull().
+.SH "QCString::QCString ( int size )"
+Constructs a string with room for \fIsize\fR characters, including the '&#92;0'-terminator. Makes a null string if \fIsize\fR == 0.
+.PP
+If \fIsize\fR > 0, then the first and last characters in the string are initialized to '&#92;0'. All other characters are uninitialized.
+.PP
+See also resize() and isNull().
+.SH "QCString::QCString ( const QCString & s )"
+Constructs a shallow copy \fIs\fR.
+.PP
+See also assign().
+.SH "QCString::QCString ( const char * str )"
+Constructs a string that is a deep copy of \fIstr\fR.
+.PP
+If \fIstr\fR is 0 a null string is created.
+.PP
+See also isNull().
+.SH "QCString::QCString ( const char * str, uint maxsize )"
+Constructs a string that is a deep copy of \fIstr\fR. The copy will be at most \fImaxsize\fR bytes long including the '&#92;0'-terminator.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString str( "helloworld", 6 ); // assigns "hello" to str
+.br
+.fi
+.PP
+If \fIstr\fR contains a 0 byte within the first \fImaxsize\fR bytes, the resulting QCString will be terminated by this 0. If \fIstr\fR is 0 a null string is created.
+.PP
+See also isNull().
+.SH "QCString & QCString::append ( const char * str )"
+Appends string \fIstr\fR to the string and returns a reference to the string. Equivalent to operator+=().
+.SH "int QCString::contains ( char c, bool cs = TRUE ) const"
+Returns the number of times the character \fIc\fR occurs in the string.
+.PP
+The match is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR if FALSE.
+.PP
+See also Note on character comparisons.
+.SH "int QCString::contains ( const char * str, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of times \fIstr\fR occurs in the string.
+.PP
+The match is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR if FALSE.
+.PP
+This function counts overlapping substrings, for example, "banana" contains two occurrences of "ana".
+.PP
+See also findRev() and Note on character comparisons.
+.SH "int QCString::contains ( const QRegExp & rx ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Counts the number of overlapping occurrences of \fIrx\fR in the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString s = "banana and panama";
+.br
+ QRegExp r = QRegExp( "a[nm]a", TRUE, FALSE );
+.br
+ s.contains( r ); // 4 matches
+.br
+.fi
+.PP
+See also find() and findRev().
+.PP
+\fBWarning:\fR If you want to apply this function repeatedly to the same string it is more efficient to convert the string to a QString and apply the function to that.
+.SH "QCString QCString::copy () const"
+Returns a deep copy of this string.
+.PP
+See also detach().
+.SH "bool QCString::fill ( char c, int len = -1 )"
+Fills the string with \fIlen\fR bytes of character \fIc\fR, followed by a '&#92;0'-terminator.
+.PP
+If \fIlen\fR is negative, then the current string length is used.
+.PP
+Returns FALSE is \fIlen\fR is nonnegative and there is not enough memory to resize the string; otherwise returns TRUE.
+.SH "int QCString::find ( char c, int index = 0, bool cs = TRUE ) const"
+Finds the first occurrence of the character \fIc\fR, starting at position \fIindex\fR.
+.PP
+The search is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR is FALSE.
+.PP
+Returns the position of \fIc\fR, or -1 if \fIc\fR could not be found.
+.PP
+See also Note on character comparisons.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "int QCString::find ( const char * str, int index = 0, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the string \fIstr\fR, starting at position \fIindex\fR.
+.PP
+The search is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR is FALSE.
+.PP
+Returns the position of \fIstr\fR, or -1 if \fIstr\fR could not be found.
+.PP
+See also Note on character comparisons.
+.SH "int QCString::find ( const QRegExp & rx, int index = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the regular expression \fIrx\fR, starting at position \fIindex\fR.
+.PP
+Returns the position of the next match, or -1 if \fIrx\fR was not found.
+.PP
+\fBWarning:\fR If you want to apply this function repeatedly to the same string it is more efficient to convert the string to a QString and apply the function to that.
+.SH "int QCString::findRev ( char c, int index = -1, bool cs = TRUE ) const"
+Finds the first occurrence of the character \fIc\fR, starting at position \fIindex\fR and searching backwards.
+.PP
+The search is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR is FALSE.
+.PP
+Returns the position of \fIc\fR, or -1 if \fIc\fR could not be found.
+.PP
+See also Note on character comparisons.
+.SH "int QCString::findRev ( const char * str, int index = -1, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the string \fIstr\fR, starting at position \fIindex\fR and searching backwards.
+.PP
+The search is case sensitive if \fIcs\fR is TRUE, or case insensitive if \fIcs\fR is FALSE.
+.PP
+Returns the position of \fIstr\fR, or -1 if \fIstr\fR could not be found.
+.PP
+See also Note on character comparisons.
+.SH "int QCString::findRev ( const QRegExp & rx, int index = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the regular expression \fIrx\fR, starting at position \fIindex\fR and searching backwards.
+.PP
+Returns the position of the next match (backwards), or -1 if \fIrx\fR was not found.
+.PP
+\fBWarning:\fR If you want to apply this function repeatedly to the same string it is more efficient to convert the string to a QString and apply the function to that.
+.SH "QCString & QCString::insert ( uint index, char c )"
+Inserts character \fIc\fR into the string at position \fIindex\fR and returns a reference to the string.
+.PP
+If \fIindex\fR is beyond the end of the string, the string is padded with spaces (ASCII 32) to length \fIindex\fR and then \fIc\fR is appended.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "Yes";
+.br
+ s.insert( 3, '!'); // s == "Yes!"
+.br
+.fi
+.PP
+See also remove() and replace().
+.SH "QCString & QCString::insert ( uint index, const char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts string \fIs\fR into the string at position \fIindex\fR.
+.PP
+If \fIindex\fR is beyond the end of the string, the string is padded with spaces (ASCII 32) to length \fIindex\fR and then \fIs\fR is appended.
+.PP
+.nf
+.br
+ QCString s = "I like fish";
+.br
+ s.insert( 2, "don't "); // s == "I don't like fish"
+.br
+.br
+ s = "x"; // index 01234
+.br
+ s.insert( 3, "yz" ); // s == "x yz"
+.br
+.fi
+.SH "bool QCString::isEmpty () const"
+Returns TRUE if the string is empty, i.e. if length() == 0; otherwise returns FALSE. An empty string is not always a null string.
+.PP
+See example in isNull().
+.PP
+See also isNull(), length(), and size().
+.SH "bool QCString::isNull () const"
+Returns TRUE if the string is null, i.e. if data() == 0; otherwise returns FALSE. A null string is also an empty string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString a; // a.data() == 0, a.size() == 0, a.length() == 0
+.br
+ QCString b == ""; // b.data() == "", b.size() == 1, b.length() == 0
+.br
+ a.isNull(); // TRUE because a.data() == 0
+.br
+ a.isEmpty(); // TRUE because a.length() == 0
+.br
+ b.isNull(); // FALSE because b.data() == ""
+.br
+ b.isEmpty(); // TRUE because b.length() == 0
+.br
+.fi
+.PP
+See also isEmpty(), length(), and size().
+.SH "QCString QCString::left ( uint len ) const"
+Returns a substring that contains the \fIlen\fR leftmost characters of the string.
+.PP
+The whole string is returned if \fIlen\fR exceeds the length of the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "Pineapple";
+.br
+ QCString t = s.left( 4 ); // t == "Pine"
+.br
+.fi
+.PP
+See also right() and mid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString QCString::leftJustify ( uint width, char fill = ' ', bool truncate = FALSE ) const"
+Returns a string of length \fIwidth\fR (plus one for the terminating '&#92;0') that contains this string padded with the \fIfill\fR character.
+.PP
+If the length of the string exceeds \fIwidth\fR and \fItruncate\fR is FALSE (the default), then the returned string is a copy of the string. If the length of the string exceeds \fIwidth\fR and \fItruncate\fR is TRUE, then the returned string is a left(\fIwidth\fR).
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s("apple");
+.br
+ QCString t = s.leftJustify(8, '.'); // t == "apple..."
+.br
+.fi
+.PP
+See also rightJustify().
+.SH "uint QCString::length () const"
+Returns the length of the string, excluding the '&#92;0'-terminator. Equivalent to calling \fCstrlen(data())\fR.
+.PP
+Null strings and empty strings have zero length.
+.PP
+See also size(), isNull(), and isEmpty().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString QCString::lower () const"
+Returns a new string that is a copy of this string converted to lower case.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s("Credit");
+.br
+ QCString t = s.lower(); // t == "credit"
+.br
+.fi
+.PP
+See also upper() and Note on character comparisons.
+.SH "QCString QCString::mid ( uint index, uint len = 0xffffffff ) const"
+Returns a substring that contains at most \fIlen\fR characters from this string, starting at position \fIindex\fR.
+.PP
+Returns a null string if the string is empty or if \fIindex\fR is out of range. Returns the whole string from \fIindex\fR if \fIindex+len\fR exceeds the length of the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "Two pineapples";
+.br
+ QCString t = s.mid( 4, 3 ); // t == "pin"
+.br
+.fi
+.PP
+See also left() and right().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString::operator const char * () const"
+Returns the string data.
+.SH "QCString & QCString::operator+= ( const char * str )"
+Appends string \fIstr\fR to the string and returns a reference to the string.
+.SH "QCString & QCString::operator+= ( char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends character \fIc\fR to the string and returns a reference to the string.
+.SH "QCString & QCString::operator= ( const QCString & s )"
+Assigns a shallow copy of \fIs\fR to this string and returns a reference to this string.
+.SH "QCString & QCString::operator= ( const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns a deep copy of \fIstr\fR to this string and returns a reference to this string.
+.PP
+If \fIstr\fR is 0 a null string is created.
+.PP
+See also isNull().
+.SH "QCString & QCString::prepend ( const char * s )"
+Prepend \fIs\fR to the string. Equivalent to insert(0, s).
+.PP
+See also insert().
+.SH "QCString & QCString::remove ( uint index, uint len )"
+Removes \fIlen\fR characters from the string, starting at position \fIindex\fR, and returns a reference to the string.
+.PP
+If \fIindex\fR is out of range, nothing happens. If \fIindex\fR is valid, but \fIindex\fR + \fIlen\fR is larger than the length of the string, the string is truncated at position \fIindex\fR.
+.PP
+.nf
+.br
+ QCString s = "Montreal";
+.br
+ s.remove( 1, 4 ); // s == "Meal"
+.br
+.fi
+.PP
+See also insert() and replace().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString & QCString::replace ( uint index, uint len, const char * str )"
+Replaces \fIlen\fR characters from the string, starting at position \fIindex\fR, with \fIstr\fR, and returns a reference to the string.
+.PP
+If \fIindex\fR is out of range, nothing is removed and \fIstr\fR is appended at the end of the string. If \fIindex\fR is valid, but \fIindex\fR + \fIlen\fR is larger than the length of the string, \fIstr\fR replaces the rest of the string from position \fIindex\fR.
+.PP
+.nf
+.br
+ QCString s = "Say yes!";
+.br
+ s.replace( 4, 3, "NO" ); // s == "Say NO!"
+.br
+.fi
+.PP
+See also insert() and remove().
+.SH "QCString & QCString::replace ( const QRegExp & rx, const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of \fIrx\fR in the string with \fIstr\fR. Returns a reference to the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString s = "banana";
+.br
+ s.replace( QRegExp("a.*a"), "" ); // becomes "b"
+.br
+.br
+ s = "banana";
+.br
+ s.replace( QRegExp("^[bn]a"), "X" ); // becomes "Xnana"
+.br
+.br
+ s = "banana";
+.br
+ s.replace( QRegExp("^[bn]a"), "" ); // becomes "nana"
+.br
+.fi
+.PP
+\fBWarning:\fR If you want to apply this function repeatedly to the same string it is more efficient to convert the string to a QString and apply the function to that.
+.SH "QCString & QCString::replace ( char c, const char * after )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the character \fIc\fR in the string with \fIafter\fR. Returns a reference to the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "a,b,c";
+.br
+ s.replace( ',', " or " );
+.br
+ // s == "a or b or c"
+.br
+.fi
+.SH "QCString & QCString::replace ( const char * before, const char * after )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the string \fIbefore\fR in the string with the string \fIafter\fR. Returns a reference to the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "Greek is Greek";
+.br
+ s.replace( "Greek", "English" );
+.br
+ // s == "English is English"
+.br
+.fi
+.SH "QCString & QCString::replace ( char c1, char c2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of \fIc1\fR with the char \fIc2\fR. Returns a reference to the string.
+.SH "bool QCString::resize ( uint len )"
+Extends or shrinks the string to \fIlen\fR bytes, including the '&#92;0'-terminator.
+.PP
+A '&#92;0'-terminator is set at position \fClen - 1\fR unless \fClen == 0\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "resize this string";
+.br
+ s.resize( 7 ); // s == "resize"
+.br
+.fi
+.PP
+See also truncate().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString QCString::right ( uint len ) const"
+Returns a substring that contains the \fIlen\fR rightmost characters of the string.
+.PP
+The whole string is returned if \fIlen\fR exceeds the length of the string.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "Pineapple";
+.br
+ QCString t = s.right( 5 ); // t == "apple"
+.br
+.fi
+.PP
+See also left() and mid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QCString QCString::rightJustify ( uint width, char fill = ' ', bool truncate = FALSE ) const"
+Returns a string of length \fIwidth\fR (plus one for the terminating '&#92;0') that contains zero or more of the \fIfill\fR character followed by this string.
+.PP
+If the length of the string exceeds \fIwidth\fR and \fItruncate\fR is FALSE (the default), then the returned string is a copy of the string. If the length of the string exceeds \fIwidth\fR and \fItruncate\fR is TRUE, then the returned string is a left(\fIwidth\fR).
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s("pie");
+.br
+ QCString t = s.rightJustify(8, '.'); // t == ".....pie"
+.br
+.fi
+.PP
+See also leftJustify().
+.SH "bool QCString::setExpand ( uint index, char c )"
+Sets the character at position \fIindex\fR to \fIc\fR and expands the string if necessary, padding with spaces.
+.PP
+Returns FALSE if \fIindex\fR was out of range and the string could not be expanded; otherwise returns TRUE.
+.SH "QCString & QCString::setNum ( double n, char f = 'g', int prec = 6 )"
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.PP
+The format of the string representation is specified by the format character \fIf\fR, and the precision (number of digits after the decimal point) is specified with \fIprec\fR.
+.PP
+The valid formats for \fIf\fR are 'e', 'E', 'f', 'g' and 'G'. The formats are the same as for sprintf(); they are explained in QString::arg().
+.SH "QCString & QCString::setNum ( short n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( ushort n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( int n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( uint n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( long n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( ulong n )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the string representation of the number \fIn\fR and returns a reference to the string.
+.SH "QCString & QCString::setNum ( float n, char f = 'g', int prec = 6 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QCString & QCString::setStr ( const char * str )"
+Makes a deep copy of \fIstr\fR. Returns a reference to the string.
+.SH "QCString QCString::simplifyWhiteSpace () const"
+Returns a new string that has white space removed from the start and the end, plus any sequence of internal white space replaced with a single space (ASCII 32).
+.PP
+White space means the decimal ASCII codes 9, 10, 11, 12, 13 and 32.
+.PP
+.nf
+.br
+ QCString s = " lots\\t of\\nwhite space ";
+.br
+ QCString t = s.simplifyWhiteSpace(); // t == "lots of white space"
+.br
+.fi
+.PP
+See also stripWhiteSpace().
+.SH "QCString & QCString::sprintf ( const char * format, ... )"
+Implemented as a call to the native vsprintf() (see the manual for your C library).
+.PP
+If the string is shorter than 256 characters, this sprintf() calls resize(256) to decrease the chance of memory corruption. The string is resized back to its actual length before sprintf() returns.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s;
+.br
+ s.sprintf( "%d - %s", 1, "first" ); // result < 256 chars
+.br
+.br
+ QCString big( 25000 ); // very long string
+.br
+ big.sprintf( "%d - %s", 2, longString ); // result < 25000 chars
+.br
+.fi
+.PP
+\fBWarning:\fR All vsprintf() implementations will write past the end of the target string (*this) if the \fIformat\fR specification and arguments happen to be longer than the target string, and some will also fail if the target string is longer than some arbitrary implementation limit.
+.PP
+Giving user-supplied arguments to sprintf() is risky: Sooner or later someone will paste a huge line into your application.
+.SH "QCString QCString::stripWhiteSpace () const"
+Returns a new string that has white space removed from the start and the end.
+.PP
+White space means the decimal ASCII codes 9, 10, 11, 12, 13 and 32.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = " space ";
+.br
+ QCString t = s.stripWhiteSpace(); // t == "space"
+.br
+.fi
+.PP
+See also simplifyWhiteSpace().
+.SH "double QCString::toDouble ( bool * ok = 0 ) const"
+Returns the string converted to a \fCdouble\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "float QCString::toFloat ( bool * ok = 0 ) const"
+Returns the string converted to a \fCfloat\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "int QCString::toInt ( bool * ok = 0 ) const"
+Returns the string converted to a \fCint\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "long QCString::toLong ( bool * ok = 0 ) const"
+Returns the string converted to a \fClong\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "short QCString::toShort ( bool * ok = 0 ) const"
+Returns the string converted to a \fCshort\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, is out of range, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "uint QCString::toUInt ( bool * ok = 0 ) const"
+Returns the string converted to an \fCunsigned int\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "ulong QCString::toULong ( bool * ok = 0 ) const"
+Returns the string converted to an \fCunsigned long\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "ushort QCString::toUShort ( bool * ok = 0 ) const"
+Returns the string converted to an \fCunsigned short\fR value.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to FALSE if the string is not a number, is out of range, or if it has trailing garbage; otherwise \fI*ok\fR is set to TRUE.
+.SH "bool QCString::truncate ( uint pos )"
+Truncates the string at position \fIpos\fR.
+.PP
+Equivalent to calling \fCresize(pos+1)\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s = "truncate this string";
+.br
+ s.truncate( 5 ); // s == "trunc"
+.br
+.fi
+.PP
+See also resize().
+.SH "QCString QCString::upper () const"
+Returns a new string that is a copy of this string converted to upper case.
+.PP
+Example:
+.PP
+.nf
+.br
+ QCString s( "Debit" );
+.br
+ QCString t = s.upper(); // t == "DEBIT"
+.br
+.fi
+.PP
+See also lower() and Note on character comparisons.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "bool operator!= ( const QCString & s1, const QCString & s2 )"
+Returns TRUE if \fIs1\fR and \fIs2\fR are different; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) != 0.
+.SH "bool operator!= ( const QCString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR and \fIs2\fR are different; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) != 0.
+.SH "bool operator!= ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR and \fIs2\fR are different; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) != 0.
+.SH "const QCString operator+ ( const QCString & s1, const QCString & s2 )"
+Returns a string which consists of the concatenation of \fIs1\fR and \fIs2\fR.
+.SH "const QCString operator+ ( const QCString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which consists of the concatenation of \fIs1\fR and \fIs2\fR.
+.SH "const QCString operator+ ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which consists of the concatenation of \fIs1\fR and \fIs2\fR.
+.SH "const QCString operator+ ( const QCString & s, char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which consists of the concatenation of \fIs\fR and \fIc\fR.
+.SH "const QCString operator+ ( char c, const QCString & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which consists of the concatenation of \fIc\fR and \fIs\fR.
+.SH "bool operator< ( const QCString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is less than \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) < 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator< ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is less than \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) < 0.
+.PP
+See also Note on character comparisons.
+.SH "QDataStream & operator<< ( QDataStream & s, const QCString & str )"
+Writes string \fIstr\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "bool operator<= ( const QCString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is less than or equal to \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) <= 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator<= ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is less than or equal to \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) <= 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator== ( const QCString & s1, const QCString & s2 )"
+Returns TRUE if \fIs1\fR and \fIs2\fR are equal; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) == 0.
+.SH "bool operator== ( const QCString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR and \fIs2\fR are equal; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) == 0.
+.SH "bool operator== ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR and \fIs2\fR are equal; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) == 0.
+.SH "bool operator> ( const QCString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is greater than \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) > 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator> ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is greater than \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) > 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator>= ( const QCString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is greater than or equal to \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) >= 0.
+.PP
+See also Note on character comparisons.
+.SH "bool operator>= ( const char * s1, const QCString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is greater than or equal to \fIs2\fR; otherwise returns FALSE.
+.PP
+Equivalent to qstrcmp(\fIs1\fR, \fIs2\fR) >= 0.
+.PP
+See also Note on character comparisons.
+.SH "QDataStream & operator>> ( QDataStream & s, QCString & str )"
+Reads a string into \fIstr\fR from the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "void * qmemmove ( void * dst, const void * src, uint len )"
+This function is normally part of the C library. Qt implements memmove() for platforms that do not provide it.
+.PP
+memmove() copies \fIlen\fR bytes from \fIsrc\fR into \fIdst\fR. The data is copied correctly even if \fIsrc\fR and \fIdst\fR overlap.
+.SH "int qstrcmp ( const char * str1, const char * str2 )"
+A safe strcmp() function.
+.PP
+Compares \fIstr1\fR and \fIstr2\fR. Returns a negative value if \fIstr1\fR is less than \fIstr2\fR, 0 if \fIstr1\fR is equal to \fIstr2\fR or a positive value if \fIstr1\fR is greater than \fIstr2\fR.
+.PP
+Special case I: Returns 0 if \fIstr1\fR and \fIstr2\fR are both 0.
+.PP
+Special case II: Returns a random nonzero value if \fIstr1\fR is 0 or \fIstr2\fR is 0 (but not both).
+.PP
+See also qstrncmp(), qstricmp(), qstrnicmp(), and Note on character comparisons.
+.SH "char * qstrcpy ( char * dst, const char * src )"
+A safe strcpy() function.
+.PP
+Copies all characters up to and including the '&#92;0' from \fIsrc\fR into \fIdst\fR and returns a pointer to \fIdst\fR.
+.SH "char * qstrdup ( const char * src )"
+Returns a duplicate string.
+.PP
+Allocates space for a copy of \fIsrc\fR, copies it, and returns a pointer to the copy. If \fIsrc\fR is 0, it immediately returns 0.
+.PP
+The returned string must be deleted using \fCdelete[]\fR.
+.SH "int qstricmp ( const char * str1, const char * str2 )"
+A safe stricmp() function.
+.PP
+Compares \fIstr1\fR and \fIstr2\fR ignoring the case.
+.PP
+Returns a negative value if \fIstr1\fR is less than \fIstr2\fR, 0 if \fIstr1\fR is equal to \fIstr2\fR or a positive value if \fIstr1\fR is greater than \fIstr2\fR.
+.PP
+Special case I: Returns 0 if \fIstr1\fR and \fIstr2\fR are both 0.
+.PP
+Special case II: Returns a random nonzero value if \fIstr1\fR is 0 or \fIstr2\fR is 0 (but not both).
+.PP
+See also qstrcmp(), qstrncmp(), qstrnicmp(), and Note on character comparisons.
+.SH "uint qstrlen ( const char * str )"
+A safe strlen function.
+.PP
+Returns the number of characters that precede the terminating '&#92;0'. or 0 if \fIstr\fR is 0.
+.SH "int qstrncmp ( const char * str1, const char * str2, uint len )"
+A safe strncmp() function.
+.PP
+Compares at most \fIlen\fR bytes of \fIstr1\fR and \fIstr2\fR.
+.PP
+Returns a negative value if \fIstr1\fR is less than \fIstr2\fR, 0 if \fIstr1\fR is equal to \fIstr2\fR or a positive value if \fIstr1\fR is greater than \fIstr2\fR.
+.PP
+Special case I: Returns 0 if \fIstr1\fR and \fIstr2\fR are both 0.
+.PP
+Special case II: Returns a random nonzero value if \fIstr1\fR is 0 or \fIstr2\fR is 0 (but not both).
+.PP
+See also qstrcmp(), qstricmp(), qstrnicmp(), and Note on character comparisons.
+.SH "char * qstrncpy ( char * dst, const char * src, uint len )"
+A safe strncpy() function.
+.PP
+Copies at most \fIlen\fR bytes from \fIsrc\fR (stopping at \fIlen\fR or the terminating '&#92;0' whichever comes first) into \fIdst\fR and returns a pointer to \fIdst\fR. Guarantees that \fIdst\fR is '&#92;0'-terminated. If \fIsrc\fR or \fIdst\fR is 0, returns 0 immediately.
+.PP
+See also qstrcpy().
+.SH "int qstrnicmp ( const char * str1, const char * str2, uint len )"
+A safe strnicmp() function.
+.PP
+Compares at most \fIlen\fR bytes of \fIstr1\fR and \fIstr2\fR ignoring the case.
+.PP
+Returns a negative value if \fIstr1\fR is less than \fIstr2\fR, 0 if \fIstr1\fR is equal to \fIstr2\fR or a positive value if \fIstr1\fR is greater than \fIstr2\fR.
+.PP
+Special case I: Returns 0 if \fIstr1\fR and \fIstr2\fR are both 0.
+.PP
+Special case II: Returns a random nonzero value if \fIstr1\fR is 0 or \fIstr2\fR is 0 (but not both).
+.PP
+See also qstrcmp(), qstrncmp(), qstricmp(), and Note on character comparisons.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcstring.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcstring.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcursor.3qt b/doc/man/man3/qcursor.3qt
new file mode 100644
index 0000000..eb083cc
--- /dev/null
+++ b/doc/man/man3/qcursor.3qt
@@ -0,0 +1,253 @@
+'\" t
+.TH QCursor 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCursor \- Mouse cursor with an arbitrary shape
+.SH SYNOPSIS
+\fC#include <qcursor.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCursor\fR ()"
+.br
+.ti -1c
+.BI "\fBQCursor\fR ( int shape )"
+.br
+.ti -1c
+.BI "\fBQCursor\fR ( const QBitmap & bitmap, const QBitmap & mask, int hotX = -1, int hotY = -1 )"
+.br
+.ti -1c
+.BI "\fBQCursor\fR ( const QPixmap & pixmap, int hotX = -1, int hotY = -1 )"
+.br
+.ti -1c
+.BI "\fBQCursor\fR ( const QCursor & c )"
+.br
+.ti -1c
+.BI "\fB~QCursor\fR ()"
+.br
+.ti -1c
+.BI "QCursor & \fBoperator=\fR ( const QCursor & c )"
+.br
+.ti -1c
+.BI "int \fBshape\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetShape\fR ( int shape )"
+.br
+.ti -1c
+.BI "const QBitmap * \fBbitmap\fR () const"
+.br
+.ti -1c
+.BI "const QBitmap * \fBmask\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBhotSpot\fR () const"
+.br
+.ti -1c
+.BI "HCURSOR \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "\fBQCursor\fR ( HCURSOR handle )"
+.br
+.ti -1c
+.BI "HANDLE \fBhandle\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QPoint \fBpos\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPos\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBsetPos\fR ( const QPoint & )"
+.br
+.ti -1c
+.BI "void \fBinitialize\fR ()"
+.br
+.ti -1c
+.BI "void \fBcleanup\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QCursor & c )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QCursor & c )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCursor class provides a mouse cursor with an arbitrary shape.
+.PP
+This class is mainly used to create mouse cursors that are associated with particular widgets and to get and set the position of the mouse cursor.
+.PP
+Qt has a number of standard cursor shapes, but you can also make custom cursor shapes based on a QBitmap, a mask and a hotspot.
+.PP
+To associate a cursor with a widget, use QWidget::setCursor(). To associate a cursor with all widgets (normally for a short period of time), use QApplication::setOverrideCursor().
+.PP
+To set a cursor shape use QCursor::setShape() or use the QCursor constructor which takes the shape as argument, or you can use one of the predefined cursors defined in the CursorShape enum.
+.PP
+If you want to create a cursor with your own bitmap, either use the QCursor constructor which takes a bitmap and a mask or the constructor which takes a pixmap as arguments.
+.PP
+To set or get the position of the mouse cursor use the static methods QCursor::pos() and QCursor::setPos().
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QWidget, GUI Design Handbook: Cursors, Widget Appearance and Style, and Implicitly and Explicitly Shared Classes.
+.PP
+On X11, Qt supports the Xcursor library, which allows for full color icon themes. The table below shows the cursor name used for each Qt::CursorShape value. If a cursor cannot be found using the name shown below, a standard X11 cursor will be used instead. Note: X11 does not provide appropriate cursors for all possible Qt::CursorShape values. It is possible that some cursors will be taken from the Xcursor theme, while others will use an internal bitmap cursor.
+.PP
+<center>.nf
+.TS
+l - l. Qt::CursorShape Values Cursor Names Qt::ArrowCursor left_ptr Qt::UpArrowCursor up_arrow Qt::CrossCursor cross Qt::WaitCursor wait Qt::BusyCursor left_ptr_watch Qt::IbeamCursor ibeam Qt::SizeVerCursor size_ver Qt::SizeHorCursor size_hor Qt::SizeBDiagCursor size_bdiag Qt::SizeFDiagCursor size_fdiag Qt::SizeAllCursor size_all Qt::SplitVCursor split_v Qt::SplitHCursor split_h Qt::PointingHandCursor pointing_hand Qt::ForbiddenCursor forbidden Qt::WhatsThisCursor
+.TE
+.fi
+</center>
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCursor::QCursor ()"
+Constructs a cursor with the default arrow shape.
+.SH "QCursor::QCursor ( int shape )"
+Constructs a cursor with the specified \fIshape\fR.
+.PP
+See CursorShape for a list of shapes.
+.PP
+See also setShape().
+.SH "QCursor::QCursor ( const QBitmap & bitmap, const QBitmap & mask, int hotX = -1, int hotY = -1 )"
+Constructs a custom bitmap cursor.
+.PP
+\fIbitmap\fR and \fImask\fR make up the bitmap. \fIhotX\fR and \fIhotY\fR define the cursor's hot spot.
+.PP
+If \fIhotX\fR is negative, it is set to the \fCbitmap().width()/2\fR. If \fIhotY\fR is negative, it is set to the \fCbitmap().height()/2\fR.
+.PP
+The cursor \fIbitmap\fR (B) and \fImask\fR (M) bits are combined like this:
+.TP
+B=1 and M=1 gives black.
+.TP
+B=0 and M=1 gives white.
+.TP
+B=0 and M=0 gives transparent.
+.TP
+B=1 and M=0 gives an undefined result.
+.PP
+Use the global Qt color \fCcolor0\fR to draw 0-pixels and \fCcolor1\fR to draw 1-pixels in the bitmaps.
+.PP
+Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32x32 cursors, because this size is supported on all platforms. Some platforms also support 16x16, 48x48 and 64x64 cursors.
+.PP
+See also QBitmap::QBitmap() and QBitmap::setMask().
+.SH "QCursor::QCursor ( const QPixmap & pixmap, int hotX = -1, int hotY = -1 )"
+Constructs a custom pixmap cursor.
+.PP
+\fIpixmap\fR is the image. It is usual to give it a mask (set using QPixmap::setMask()). \fIhotX\fR and \fIhotY\fR define the cursor's hot spot.
+.PP
+If \fIhotX\fR is negative, it is set to the \fCpixmap().width()/2\fR. If \fIhotY\fR is negative, it is set to the \fCpixmap().height()/2\fR.
+.PP
+Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32x32 cursors, because this size is supported on all platforms. Some platforms also support 16x16, 48x48 and 64x64 cursors.
+.PP
+Currently, only black-and-white pixmaps can be used.
+.PP
+See also QPixmap::QPixmap() and QPixmap::setMask().
+.SH "QCursor::QCursor ( const QCursor & c )"
+Constructs a copy of the cursor \fIc\fR.
+.SH "QCursor::QCursor ( HCURSOR handle )"
+Creates a cursor with the specified window system handle \fIhandle\fR.
+.PP
+\fBWarning:\fR Portable in principle, but if you use it you are probably about to do something non-portable. Be careful.
+.SH "QCursor::~QCursor ()"
+Destroys the cursor.
+.SH "const QBitmap * QCursor::bitmap () const"
+Returns the cursor bitmap, or 0 if it is one of the standard cursors.
+.SH "void QCursor::cleanup ()\fC [static]\fR"
+Internal function that deinitializes the predefined cursors. This function is called from the QApplication destructor.
+.PP
+See also initialize().
+.SH "HANDLE QCursor::handle () const"
+Returns the window system cursor handle.
+.PP
+\fBWarning:\fR Portable in principle, but if you use it you are probably about to do something non-portable. Be careful.
+.SH "QPoint QCursor::hotSpot () const"
+Returns the cursor hot spot, or (0, 0) if it is one of the standard cursors.
+.SH "void QCursor::initialize ()\fC [static]\fR"
+Internal function that initializes the predefined cursors. This function is called from the QApplication constructor.
+.PP
+See also cleanup().
+.SH "const QBitmap * QCursor::mask () const"
+Returns the cursor bitmap mask, or 0 if it is one of the standard cursors.
+.SH "QCursor & QCursor::operator= ( const QCursor & c )"
+Assigns \fIc\fR to this cursor and returns a reference to this cursor.
+.SH "QPoint QCursor::pos ()\fC [static]\fR"
+Returns the position of the cursor (hot spot) in global screen coordinates.
+.PP
+You can call QWidget::mapFromGlobal() to translate it to widget coordinates.
+.PP
+See also setPos(), QWidget::mapFromGlobal(), and QWidget::mapToGlobal().
+.PP
+Examples:
+.)l chart/canvasview.cpp, fileiconview/qfileiconview.cpp, and menu/menu.cpp.
+.SH "void QCursor::setPos ( int x, int y )\fC [static]\fR"
+Moves the cursor (hot spot) to the global screen position (\fIx\fR, \fIy\fR).
+.PP
+You can call QWidget::mapToGlobal() to translate widget coordinates to global screen coordinates.
+.PP
+See also pos(), QWidget::mapFromGlobal(), and QWidget::mapToGlobal().
+.SH "void QCursor::setPos ( const QPoint & )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QCursor::setShape ( int shape )"
+Sets the cursor to the shape identified by \fIshape\fR.
+.PP
+See CursorShape for the list of cursor shapes.
+.PP
+See also shape().
+.SH "int QCursor::shape () const"
+Returns the cursor shape identifier. The return value is one of the CursorShape enum values (cast to an int).
+.PP
+See also setShape().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QCursor & c )"
+Writes the cursor \fIc\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QCursor & c )"
+Reads a cursor from the stream \fIs\fR and sets \fIc\fR to the read data.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcursor.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcursor.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcustomevent.3qt b/doc/man/man3/qcustomevent.3qt
new file mode 100644
index 0000000..c1e6379
--- /dev/null
+++ b/doc/man/man3/qcustomevent.3qt
@@ -0,0 +1,130 @@
+'\" t
+.TH QCustomEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCustomEvent \- Support for custom events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCustomEvent\fR ( int type )"
+.br
+.ti -1c
+.BI "\fBQCustomEvent\fR ( Type type, void * data )"
+.br
+.ti -1c
+.BI "void * \fBdata\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetData\fR ( void * data )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCustomEvent class provides support for custom events.
+.PP
+QCustomEvent is a generic event class for user-defined events. User defined events can be sent to widgets or other QObject instances using QApplication::postEvent() or QApplication::sendEvent(). Subclasses of QObject can easily receive custom events by implementing the QObject::customEvent() event handler function.
+.PP
+QCustomEvent objects should be created with a type ID that uniquely identifies the event type. To avoid clashes with the Qt-defined events types, the value should be at least as large as the value of the "User" entry in the QEvent::Type enum.
+.PP
+QCustomEvent contains a generic void* data member that may be used for transferring event-specific data to the receiver. Note that since events are normally delivered asynchronously, the data pointer, if used, must remain valid until the event has been received and processed.
+.PP
+QCustomEvent can be used as-is for simple user-defined event types, but normally you will want to make a subclass of it for your event types. In a subclass, you can add data members that are suitable for your event type.
+.PP
+Example:
+.PP
+.nf
+.br
+ class ColorChangeEvent : public QCustomEvent
+.br
+ {
+.br
+ public:
+.br
+ ColorChangeEvent( QColor color )
+.br
+ : QCustomEvent( 65432 ), c( color ) {}
+.br
+ QColor color() const { return c; }
+.br
+ private:
+.br
+ QColor c;
+.br
+ };
+.br
+.br
+ // To send an event of this custom event type:
+.br
+.br
+ ColorChangeEvent* ce = new ColorChangeEvent( blue );
+.br
+ QApplication::postEvent( receiver, ce ); // Qt will delete it when done
+.br
+.br
+ // To receive an event of this custom event type:
+.br
+.br
+ void MyWidget::customEvent( QCustomEvent * e )
+.br
+ {
+.br
+ if ( e->type() == 65432 ) { // It must be a ColorChangeEvent
+.br
+ ColorChangeEvent* ce = (ColorChangeEvent*)e;
+.br
+ newColor = ce->color();
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+See also QWidget::customEvent(), QApplication::notify(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCustomEvent::QCustomEvent ( int type )"
+Constructs a custom event object with event type \fItype\fR. The value of \fItype\fR must be at least as large as QEvent::User. The data pointer is set to 0.
+.SH "QCustomEvent::QCustomEvent ( Type type, void * data )"
+Constructs a custom event object with the event type \fItype\fR and a pointer to \fIdata\fR. (Note that any int value may safely be cast to QEvent::Type).
+.SH "void * QCustomEvent::data () const"
+Returns a pointer to the generic event data.
+.PP
+See also setData().
+.SH "void QCustomEvent::setData ( void * data )"
+Sets the generic data pointer to \fIdata\fR.
+.PP
+See also data().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcustomevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcustomevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qcustommenuitem.3qt b/doc/man/man3/qcustommenuitem.3qt
new file mode 100644
index 0000000..6128082
--- /dev/null
+++ b/doc/man/man3/qcustommenuitem.3qt
@@ -0,0 +1,106 @@
+'\" t
+.TH QCustomMenuItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QCustomMenuItem \- Abstract base class for custom menu items in popup menus
+.SH SYNOPSIS
+\fC#include <qmenudata.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQCustomMenuItem\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QCustomMenuItem\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBfullSpan\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisSeparator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * p, const QColorGroup & cg, bool act, bool enabled, int x, int y, int w, int h ) = 0"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QCustomMenuItem class is an abstract base class for custom menu items in popup menus.
+.PP
+A custom menu item is a menu item that is defined by two pure virtual functions, paint() and sizeHint(). The size hint tells the menu how much space it needs to reserve for this item, and paint is called whenever the item needs painting.
+.PP
+This simple mechanism allows you to create all kinds of application specific menu items. Examples are items showing different fonts in a word processor or menus that allow the selection of drawing utilities in a vector drawing program.
+.PP
+A custom item is inserted into a popup menu with QPopupMenu::insertItem().
+.PP
+By default, a custom item can also have an icon and a keyboard accelerator. You can reimplement fullSpan() to return TRUE if you want the item to span the entire popup menu width. This is particularly useful for labels.
+.PP
+If you want the custom item to be treated just as a separator, reimplement isSeparator() to return TRUE.
+.PP
+Note that you can insert pixmaps or bitmaps as items into a popup menu without needing to create a QCustomMenuItem. However, custom menu items offer more flexibility, and -- especially important with Windows style -- provide the possibility of drawing the item with a different color when it is highlighted.
+.PP
+menu/menu.cpp shows a simple example how custom menu items can be used.
+.PP
+Note: the current implementation of QCustomMenuItem will not recognize shortcut keys that are from text with ampersands. Normal accelerators work though.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QMenuData, QPopupMenu, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCustomMenuItem::QCustomMenuItem ()"
+Constructs a QCustomMenuItem
+.SH "QCustomMenuItem::~QCustomMenuItem ()\fC [virtual]\fR"
+Destroys a QCustomMenuItem
+.SH "bool QCustomMenuItem::fullSpan () const\fC [virtual]\fR"
+Returns TRUE if this item wants to span the entire popup menu width; otherwise returns FALSE. The default is FALSE, meaning that the menu may show an icon and an accelerator key for this item as well.
+.SH "bool QCustomMenuItem::isSeparator () const\fC [virtual]\fR"
+Returns TRUE if this item is just a separator; otherwise returns FALSE.
+.SH "void QCustomMenuItem::paint ( QPainter * p, const QColorGroup & cg, bool act, bool enabled, int x, int y, int w, int h )\fC [pure virtual]\fR"
+Paints this item. When this function is invoked, the painter \fIp\fR is set to a font and foreground color suitable for a menu item text using color group \fIcg\fR. The item is active if \fIact\fR is TRUE and enabled if \fIenabled\fR is TRUE. The geometry values \fIx\fR, \fIy\fR, \fIw\fR and \fIh\fR specify where to draw the item.
+.PP
+Do not draw any background, this has already been done by the popup menu according to the current GUI style.
+.SH "void QCustomMenuItem::setFont ( const QFont & font )\fC [virtual]\fR"
+Sets the font of the custom menu item to \fIfont\fR.
+.PP
+This function is called whenever the font in the popup menu changes. For menu items that show their own individual font entry, you want to ignore this.
+.SH "QSize QCustomMenuItem::sizeHint ()\fC [pure virtual]\fR"
+Returns the item's size hint.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qcustommenuitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qcustommenuitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatabrowser.3qt b/doc/man/man3/qdatabrowser.3qt
new file mode 100644
index 0000000..7175356
--- /dev/null
+++ b/doc/man/man3/qdatabrowser.3qt
@@ -0,0 +1,593 @@
+'\" t
+.TH QDataBrowser 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDataBrowser \- Data manipulation and navigation for data entry forms
+.SH SYNOPSIS
+\fC#include <qdatabrowser.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDataBrowser\fR ( QWidget * parent = 0, const char * name = 0, WFlags fl = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDataBrowser\fR ()"
+.br
+.ti -1c
+.BI "enum \fBBoundary\fR { Unknown, None, BeforeBeginning, Beginning, End, AfterEnd }"
+.br
+.ti -1c
+.BI "Boundary \fBboundary\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetBoundaryChecking\fR ( bool active )"
+.br
+.ti -1c
+.BI "bool \fBboundaryChecking\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSort\fR ( const QSqlIndex & sort )"
+.br
+.ti -1c
+.BI "void \fBsetSort\fR ( const QStringList & sort )"
+.br
+.ti -1c
+.BI "QStringList \fBsort\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFilter\fR ( const QString & filter )"
+.br
+.ti -1c
+.BI "QString \fBfilter\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSqlCursor\fR ( QSqlCursor * cursor, bool autoDelete = FALSE )"
+.br
+.ti -1c
+.BI "QSqlCursor * \fBsqlCursor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetForm\fR ( QSqlForm * form )"
+.br
+.ti -1c
+.BI "QSqlForm * \fBform\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmEdits\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmInsert\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmUpdate\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmDelete\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmCancels\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "bool \fBconfirmEdits\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmInsert\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmUpdate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmDelete\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmCancels\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadOnly\fR ( bool active )"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoEdit\fR ( bool autoEdit )"
+.br
+.ti -1c
+.BI "bool \fBautoEdit\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBseek\fR ( int i, bool relative = FALSE )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBrefresh\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsert\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBupdate\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdel\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBfirst\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBlast\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBnext\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBprev\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBreadFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBwriteFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearValues\fR ()"
+.br
+.ti -1c
+.BI "void \fBupdateBoundary\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBfirstRecordAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBlastRecordAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBnextRecordAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBprevRecordAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( const QSqlRecord * record )"
+.br
+.ti -1c
+.BI "void \fBprimeInsert\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBprimeUpdate\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBprimeDelete\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeInsert\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeUpdate\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeDelete\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBcursorChanged\fR ( QSqlCursor::Mode mode )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoEdit\fR - whether the browser automatically applies edits"
+.br
+.ti -1c
+.BI "bool \fBboundaryChecking\fR - whether boundary checking is active"
+.br
+.ti -1c
+.BI "bool \fBconfirmCancels\fR - whether the browser confirms cancel operations"
+.br
+.ti -1c
+.BI "bool \fBconfirmDelete\fR - whether the browser confirms deletions"
+.br
+.ti -1c
+.BI "bool \fBconfirmEdits\fR - whether the browser confirms edits"
+.br
+.ti -1c
+.BI "bool \fBconfirmInsert\fR - whether the data browser confirms insertions"
+.br
+.ti -1c
+.BI "bool \fBconfirmUpdate\fR - whether the browser confirms updates"
+.br
+.ti -1c
+.BI "QString \fBfilter\fR - the data browser's filter"
+.br
+.ti -1c
+.BI "bool \fBreadOnly\fR - whether the browser is read-only"
+.br
+.ti -1c
+.BI "QStringList \fBsort\fR - the data browser's sort"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBinsertCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBupdateCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBdeleteCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBcurrentEdited\fR ()"
+.br
+.ti -1c
+.BI "virtual QSql::Confirm \fBconfirmEdit\fR ( QSql::Op m )"
+.br
+.ti -1c
+.BI "virtual QSql::Confirm \fBconfirmCancel\fR ( QSql::Op m )"
+.br
+.ti -1c
+.BI "virtual void \fBhandleError\fR ( const QSqlError & error )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDataBrowser class provides data manipulation and navigation for data entry forms.
+.PP
+A high-level API is provided for navigating through data records in a cursor, for inserting, updating and deleting records, and for refreshing data in the display.
+.PP
+If you want a read-only form to present database data use QDataView; if you want a table-based presentation of your data use QDataTable.
+.PP
+A QDataBrowser is used to associate a dataset with a form in much the same way as a QDataTable associates a dataset with a table. Once the data browser has been constructed it can be associated with a dataset with setSqlCursor(), and with a form with setForm(). Boundary checking, sorting and filtering can be set with setBoundaryChecking(), setSort() and setFilter(), respectively.
+.PP
+The insertCurrent() function reads the fields from the default form into the default cursor and performs the insert. The updateCurrent() and deleteCurrent() functions perform similarly to update and delete the current record respectively.
+.PP
+The user can be asked to confirm all edits with setConfirmEdits(). For more precise control use setConfirmInsert(), setConfirmUpdate(), setConfirmDelete() and setConfirmCancels(). Use setAutoEdit() to control the behaviour of the form when the user edits a record and then navigates.
+.PP
+The record set is navigated using first(), next(), prev(), last() and seek(). The form's display is updated with refresh(). When navigation takes place the firstRecordAvailable(), lastRecordAvailable(), nextRecordAvailable() and prevRecordAvailable() signals are emitted. When the cursor record is changed due to navigation the cursorChanged() signal is emitted.
+.PP
+If you want finer control of the insert, update and delete processes then you can use the lower level functions to perform these operations as described below.
+.PP
+The form is populated with data from the database with readFields(). If the user is allowed to edit, (see setReadOnly()), write the form's data back to the cursor's edit buffer with writeFields(). You can clear the values in the form with clearValues(). Editing is performed as follows:
+.TP
+\fIinsert\fR When the data browser enters insertion mode it emits the primeInsert() signal which you can connect to, for example to pre-populate fields. Call writeFields() to write the user's edits to the cursor's edit buffer then call insert() to insert the record into the database. The beforeInsert() signal is emitted just before the cursor's edit buffer is inserted into the database; connect to this for example, to populate fields such as an auto-generated primary key.
+.TP
+\fIupdate\fR For updates the primeUpdate() signal is emitted when the data browser enters update mode. After calling writeFields() call update() to update the record and connect to the beforeUpdate() signal to manipulate the user's data before the update takes place.
+.TP
+\fIdelete\fR For deletion the primeDelete() signal is emitted when the data browser enters deletion mode. After calling writeFields() call del() to delete the record and connect to the beforeDelete() signal, for example to record an audit of the deleted record.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QDataBrowser::Boundary"
+This enum describes where the data browser is positioned.
+.TP
+\fCQDataBrowser::Unknown\fR - the boundary cannot be determined (usually because there is no default cursor, or the default cursor is not active).
+.TP
+\fCQDataBrowser::None\fR - the browser is not positioned on a boundary, but it is positioned on a record somewhere in the middle.
+.TP
+\fCQDataBrowser::BeforeBeginning\fR - the browser is positioned before the first available record.
+.TP
+\fCQDataBrowser::Beginning\fR - the browser is positioned at the first record.
+.TP
+\fCQDataBrowser::End\fR - the browser is positioned at the last record.
+.TP
+\fCQDataBrowser::AfterEnd\fR - the browser is positioned after the last available record.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDataBrowser::QDataBrowser ( QWidget * parent = 0, const char * name = 0, WFlags fl = 0 )"
+Constructs a data browser which is a child of \fIparent\fR, with the name \fIname\fR and widget flags set to \fIfl\fR.
+.SH "QDataBrowser::~QDataBrowser ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QDataBrowser::autoEdit () const"
+Returns TRUE if the browser automatically applies edits; otherwise returns FALSE. See the "autoEdit" property for details.
+.SH "void QDataBrowser::beforeDelete ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the cursor's edit buffer is deleted from the database. The \fIbuf\fR parameter points to the edit buffer being deleted. You might connect to this signal to capture some auditing information about the deletion.
+.SH "void QDataBrowser::beforeInsert ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the cursor's edit buffer is inserted into the database. The \fIbuf\fR parameter points to the edit buffer being inserted. You might connect to this signal to populate a generated primary key for example.
+.SH "void QDataBrowser::beforeUpdate ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the cursor's edit buffer is updated in the database. The \fIbuf\fR parameter points to the edit buffer being updated. You might connect to this signal to capture some auditing information about the update.
+.SH "Boundary QDataBrowser::boundary ()"
+Returns an enum indicating the boundary status of the browser.
+.PP
+This is achieved by moving the default cursor and checking the position, however the current default form values will not be altered. After checking for the boundary, the cursor is moved back to its former position. See QDataBrowser::Boundary.
+.PP
+See also Boundary.
+.SH "bool QDataBrowser::boundaryChecking () const"
+Returns TRUE if boundary checking is active; otherwise returns FALSE. See the "boundaryChecking" property for details.
+.SH "void QDataBrowser::clearValues ()\fC [virtual slot]\fR"
+Clears all the values in the form.
+.PP
+All the edit buffer field values are set to their 'zero state', e.g. 0 for numeric fields and "" for string fields. Then the widgets are updated using the property map. For example, a combobox that is property-mapped to integers would scroll to the first item. See the QSqlPropertyMap constructor for the default mappings of widgets to properties.
+.SH "QSql::Confirm QDataBrowser::confirmCancel ( QSql::Op m )\fC [virtual protected]\fR"
+Protected virtual function which returns a confirmation for cancelling an edit mode \fIm\fR. Derived classes can reimplement this function and provide their own confirmation dialog. The default implementation uses a message box which prompts the user to confirm the edit action.
+.SH "bool QDataBrowser::confirmCancels () const"
+Returns TRUE if the browser confirms cancel operations; otherwise returns FALSE. See the "confirmCancels" property for details.
+.SH "bool QDataBrowser::confirmDelete () const"
+Returns TRUE if the browser confirms deletions; otherwise returns FALSE. See the "confirmDelete" property for details.
+.SH "QSql::Confirm QDataBrowser::confirmEdit ( QSql::Op m )\fC [virtual protected]\fR"
+Protected virtual function which returns a confirmation for an edit of mode \fIm\fR. Derived classes can reimplement this function and provide their own confirmation dialog. The default implementation uses a message box which prompts the user to confirm the edit action.
+.SH "bool QDataBrowser::confirmEdits () const"
+Returns TRUE if the browser confirms edits; otherwise returns FALSE. See the "confirmEdits" property for details.
+.SH "bool QDataBrowser::confirmInsert () const"
+Returns TRUE if the data browser confirms insertions; otherwise returns FALSE. See the "confirmInsert" property for details.
+.SH "bool QDataBrowser::confirmUpdate () const"
+Returns TRUE if the browser confirms updates; otherwise returns FALSE. See the "confirmUpdate" property for details.
+.SH "void QDataBrowser::currentChanged ( const QSqlRecord * record )\fC [signal]\fR"
+This signal is emitted whenever the current cursor position changes. The \fIrecord\fR parameter points to the contents of the current cursor's record.
+.SH "bool QDataBrowser::currentEdited ()\fC [virtual protected]\fR"
+Returns TRUE if the form's edit buffer differs from the current cursor buffer; otherwise returns FALSE.
+.SH "void QDataBrowser::cursorChanged ( QSqlCursor::Mode mode )\fC [signal]\fR"
+This signal is emitted whenever the cursor record was changed due to navigation. The \fImode\fR parameter is the edit that just took place, e.g. Insert, Update or Delete. See QSqlCursor::Mode.
+.SH "void QDataBrowser::del ()\fC [virtual slot]\fR"
+Performs a delete operation on the data browser's cursor. If there is no default cursor or no default form, nothing happens.
+.PP
+Otherwise, the following happens:
+.PP
+The current form's record is deleted from the database, providing that the data browser is not in insert mode. If the data browser is actively inserting a record (see insert()), the insert action is canceled, and the browser navigates to the last valid record that was current. If there is an error, handleError() is called.
+.SH "bool QDataBrowser::deleteCurrent ()\fC [virtual protected]\fR"
+Performs a delete on the default cursor using the values from the default form and updates the default form. If there is no default form or no default cursor, nothing happens. If the deletion was successful, the cursor is repositioned to the nearest record and TRUE is returned. The nearest record is the next record if there is one otherwise the previous record if there is one. If an error occurred during the deletion from the database, handleError() is called and FALSE is returned.
+.PP
+See also cursor, form(), and handleError().
+.SH "QString QDataBrowser::filter () const"
+Returns the data browser's filter. See the "filter" property for details.
+.SH "void QDataBrowser::first ()\fC [virtual slot]\fR"
+Moves the default cursor to the first record and refreshes the default form to display this record. If there is no default form or no default cursor, nothing happens. If the data browser successfully navigated to the first record, the default cursor is primed for update and the primeUpdate() signal is emitted.
+.PP
+If the browser is already positioned on the first record nothing happens.
+.SH "void QDataBrowser::firstRecordAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted whenever the position of the cursor changes. The \fIavailable\fR parameter indicates whether or not the first record in the default cursor is available.
+.SH "QSqlForm * QDataBrowser::form ()"
+Returns the data browser's default form or 0 if no form has been set.
+.SH "void QDataBrowser::handleError ( const QSqlError & error )\fC [virtual protected]\fR"
+Virtual function which handles the error \fIerror\fR. The default implementation warns the user with a message box.
+.SH "void QDataBrowser::insert ()\fC [virtual slot]\fR"
+Performs an insert operation on the data browser's cursor. If there is no default cursor or no default form, nothing happens.
+.PP
+If auto-editing is on (see setAutoEdit()), the following happens:
+.TP
+If the browser is already actively inserting a record, the current form's data is inserted into the database.
+.TP
+If the browser is not inserting a record, but the current record was changed by the user, the record is updated in the database with the current form's data (i.e. with the changes).
+.PP
+If there is an error handling any of the above auto-edit actions, handleError() is called and no insert or update is performed.
+.PP
+If no error occurred, or auto-editing is not enabled, the data browser begins actively inserting a record into the database by performing the following actions:
+.TP
+The default cursor is primed for insert using QSqlCursor::primeInsert().
+.TP
+The primeInsert() signal is emitted.
+.TP
+The form is updated with the values in the default cursor's. edit buffer so that the user can fill in the values to be inserted.
+.SH "bool QDataBrowser::insertCurrent ()\fC [virtual protected]\fR"
+Reads the fields from the default form into the default cursor and performs an insert on the default cursor. If there is no default form or no default cursor, nothing happens. If an error occurred during the insert into the database, handleError() is called and FALSE is returned. If the insert was successfull, the cursor is refreshed and relocated to the newly inserted record, the cursorChanged() signal is emitted, and TRUE is returned.
+.PP
+See also cursorChanged(), sqlCursor(), form(), and handleError().
+.SH "bool QDataBrowser::isReadOnly () const"
+Returns TRUE if the browser is read-only; otherwise returns FALSE. See the "readOnly" property for details.
+.SH "void QDataBrowser::last ()\fC [virtual slot]\fR"
+Moves the default cursor to the last record and refreshes the default form to display this record. If there is no default form or no default cursor, nothing happens. If the data browser successfully navigated to the last record, the default cursor is primed for update and the primeUpdate() signal is emitted.
+.PP
+If the browser is already positioned on the last record nothing happens.
+.SH "void QDataBrowser::lastRecordAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted whenever the position of the cursor changes. The \fIavailable\fR parameter indicates whether or not the last record in the default cursor is available.
+.SH "void QDataBrowser::next ()\fC [virtual slot]\fR"
+Moves the default cursor to the next record and refreshes the default form to display this record. If there is no default form or no default cursor, nothing happens. If the data browser successfully navigated to the next record, the default cursor is primed for update and the primeUpdate() signal is emitted.
+.PP
+If the browser is positioned on the last record nothing happens.
+.SH "void QDataBrowser::nextRecordAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted whenever the position of the cursor changes. The \fIavailable\fR parameter indicates whether or not the next record in the default cursor is available.
+.SH "void QDataBrowser::prev ()\fC [virtual slot]\fR"
+Moves the default cursor to the previous record and refreshes the default form to display this record. If there is no default form or no default cursor, nothing happens. If the data browser successfully navigated to the previous record, the default cursor is primed for update and the primeUpdate() signal is emitted.
+.PP
+If the browser is positioned on the first record nothing happens.
+.SH "void QDataBrowser::prevRecordAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted whenever the position of the cursor changes. The \fIavailable\fR parameter indicates whether or not the previous record in the default cursor is available.
+.SH "void QDataBrowser::primeDelete ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted when the data browser enters deletion mode. The \fIbuf\fR parameter points to the record buffer being deleted. (Note that QSqlCursor::primeDelete() is \fInot\fR called on the default cursor, as this would corrupt values in the form.) Connect to this signal in order to, for example, save a copy of the deleted record for auditing purposes.
+.PP
+See also del().
+.SH "void QDataBrowser::primeInsert ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted when the data browser enters insertion mode. The \fIbuf\fR parameter points to the record buffer that is to be inserted. Connect to this signal to, for example, prime the record buffer with default data values, auto-numbered fields etc. (Note that QSqlCursor::primeInsert() is \fInot\fR called on the default cursor, as this would corrupt values in the form.)
+.PP
+See also insert().
+.SH "void QDataBrowser::primeUpdate ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted when the data browser enters update mode. Note that during navigation (first(), last(), next(), prev()), each record that is shown in the default form is primed for update. The \fIbuf\fR parameter points to the record buffer being updated. (Note that QSqlCursor::primeUpdate() is \fInot\fR called on the default cursor, as this would corrupt values in the form.) Connect to this signal in order to, for example, keep track of which records have been updated, perhaps for auditing purposes.
+.PP
+See also update().
+.SH "void QDataBrowser::readFields ()\fC [virtual slot]\fR"
+Reads the fields from the default cursor's edit buffer and displays them in the form. If there is no default cursor or no default form, nothing happens.
+.SH "void QDataBrowser::refresh ()\fC [virtual slot]\fR"
+Refreshes the data browser's data using the default cursor. The browser's current filter and sort are applied if they have been set.
+.PP
+See also filter and sort.
+.SH "bool QDataBrowser::seek ( int i, bool relative = FALSE )\fC [virtual]\fR"
+Moves the default cursor to the record specified by the index \fIi\fR and refreshes the default form to display this record. If there is no default form or no default cursor, nothing happens. If \fIrelative\fR is TRUE (the default is FALSE), the cursor is moved relative to its current position. If the data browser successfully navigated to the desired record, the default cursor is primed for update and the primeUpdate() signal is emitted.
+.PP
+If the browser is already positioned on the desired record nothing happens.
+.SH "void QDataBrowser::setAutoEdit ( bool autoEdit )\fC [virtual]\fR"
+Sets whether the browser automatically applies edits to \fIautoEdit\fR. See the "autoEdit" property for details.
+.SH "void QDataBrowser::setBoundaryChecking ( bool active )"
+Sets whether boundary checking is active to \fIactive\fR. See the "boundaryChecking" property for details.
+.SH "void QDataBrowser::setConfirmCancels ( bool confirm )\fC [virtual]\fR"
+Sets whether the browser confirms cancel operations to \fIconfirm\fR. See the "confirmCancels" property for details.
+.SH "void QDataBrowser::setConfirmDelete ( bool confirm )\fC [virtual]\fR"
+Sets whether the browser confirms deletions to \fIconfirm\fR. See the "confirmDelete" property for details.
+.SH "void QDataBrowser::setConfirmEdits ( bool confirm )\fC [virtual]\fR"
+Sets whether the browser confirms edits to \fIconfirm\fR. See the "confirmEdits" property for details.
+.SH "void QDataBrowser::setConfirmInsert ( bool confirm )\fC [virtual]\fR"
+Sets whether the data browser confirms insertions to \fIconfirm\fR. See the "confirmInsert" property for details.
+.SH "void QDataBrowser::setConfirmUpdate ( bool confirm )\fC [virtual]\fR"
+Sets whether the browser confirms updates to \fIconfirm\fR. See the "confirmUpdate" property for details.
+.SH "void QDataBrowser::setFilter ( const QString & filter )"
+Sets the data browser's filter to \fIfilter\fR. See the "filter" property for details.
+.SH "void QDataBrowser::setForm ( QSqlForm * form )\fC [virtual]\fR"
+Sets the browser's default form to \fIform\fR. The cursor and all navigation and data manipulation functions that the browser provides become available to the \fIform\fR.
+.SH "void QDataBrowser::setReadOnly ( bool active )\fC [virtual]\fR"
+Sets whether the browser is read-only to \fIactive\fR. See the "readOnly" property for details.
+.SH "void QDataBrowser::setSort ( const QStringList & sort )"
+Sets the data browser's sort to \fIsort\fR. See the "sort" property for details.
+.SH "void QDataBrowser::setSort ( const QSqlIndex & sort )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the data browser's sort to the QSqlIndex \fIsort\fR. To apply the new sort, use refresh().
+.SH "void QDataBrowser::setSqlCursor ( QSqlCursor * cursor, bool autoDelete = FALSE )\fC [virtual]\fR"
+Sets the default cursor used by the data browser to \fIcursor\fR. If \fIautoDelete\fR is TRUE (the default is FALSE), the data browser takes ownership of the \fIcursor\fR pointer, which will be deleted when the browser is destroyed, or when setSqlCursor() is called again. To activate the \fIcursor\fR use refresh(). The cursor's edit buffer is used in the default form to browse and edit records.
+.PP
+See also sqlCursor(), form(), and setForm().
+.SH "QStringList QDataBrowser::sort () const"
+Returns the data browser's sort. See the "sort" property for details.
+.SH "QSqlCursor * QDataBrowser::sqlCursor () const"
+Returns the default cursor used for navigation, or 0 if there is no default cursor.
+.PP
+See also setSqlCursor().
+.SH "void QDataBrowser::update ()\fC [virtual slot]\fR"
+Performs an update operation on the data browser's cursor.
+.PP
+If there is no default cursor or no default form, nothing happens. Otherwise, the following happens:
+.PP
+If the data browser is actively inserting a record (see insert()), that record is inserted into the database using insertCurrent(). Otherwise, the database is updated with the current form's data using updateCurrent(). If there is an error handling either action, handleError() is called.
+.SH "void QDataBrowser::updateBoundary ()\fC [slot]\fR"
+If boundaryChecking() is TRUE, checks the boundary of the current default cursor and emits signals which indicate the position of the cursor.
+.SH "bool QDataBrowser::updateCurrent ()\fC [virtual protected]\fR"
+Reads the fields from the default form into the default cursor and performs an update on the default cursor. If there is no default form or no default cursor, nothing happens. If an error occurred during the update on the database, handleError() is called and FALSE is returned. If the update was successfull, the cursor is refreshed and relocated to the updated record, the cursorChanged() signal is emitted, and TRUE is returned.
+.PP
+See also cursor, form(), and handleError().
+.SH "void QDataBrowser::writeFields ()\fC [virtual slot]\fR"
+Writes the form's data to the default cursor's edit buffer. If there is no default cursor or no default form, nothing happens.
+.SS "Property Documentation"
+.SH "bool autoEdit"
+This property holds whether the browser automatically applies edits.
+.PP
+The default value for this property is TRUE. When the user begins an insertion or an update on a form there are two possible outcomes when they navigate to another record:
+.TP
+the insert or update is is performed -- this occurs if autoEdit is TRUE
+.TP
+the insert or update is discarded -- this occurs if autoEdit is FALSE
+.PP
+Set this property's value with setAutoEdit() and get this property's value with autoEdit().
+.SH "bool boundaryChecking"
+This property holds whether boundary checking is active.
+.PP
+When boundary checking is active (the default), signals are emitted indicating the current position of the default cursor.
+.PP
+See also boundary().
+.PP
+Set this property's value with setBoundaryChecking() and get this property's value with boundaryChecking().
+.SH "bool confirmCancels"
+This property holds whether the browser confirms cancel operations.
+.PP
+If this property is TRUE, all cancels must be confirmed by the user through a message box (this behavior can be changed by overriding the confirmCancel() function), otherwise all cancels occur immediately. The default is FALSE.
+.PP
+See also confirmEdits and confirmCancel().
+.PP
+Set this property's value with setConfirmCancels() and get this property's value with confirmCancels().
+.SH "bool confirmDelete"
+This property holds whether the browser confirms deletions.
+.PP
+If this property is TRUE, the browser confirms deletions, otherwise deletions happen immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmUpdate, confirmInsert, and confirmEdit().
+.PP
+Set this property's value with setConfirmDelete() and get this property's value with confirmDelete().
+.SH "bool confirmEdits"
+This property holds whether the browser confirms edits.
+.PP
+If this property is TRUE, the browser confirms all edit operations (insertions, updates and deletions), otherwise all edit operations happen immediately. Confirmation is achieved by presenting the user with a message box -- this behavior can be changed by reimplementing the confirmEdit() function,
+.PP
+See also confirmEdit(), confirmCancels, confirmInsert, confirmUpdate, and confirmDelete.
+.PP
+Set this property's value with setConfirmEdits() and get this property's value with confirmEdits().
+.SH "bool confirmInsert"
+This property holds whether the data browser confirms insertions.
+.PP
+If this property is TRUE, the browser confirms insertions, otherwise insertions happen immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmUpdate, confirmDelete, and confirmEdit().
+.PP
+Set this property's value with setConfirmInsert() and get this property's value with confirmInsert().
+.SH "bool confirmUpdate"
+This property holds whether the browser confirms updates.
+.PP
+If this property is TRUE, the browser confirms updates, otherwise updates happen immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmInsert, confirmDelete, and confirmEdit().
+.PP
+Set this property's value with setConfirmUpdate() and get this property's value with confirmUpdate().
+.SH "QString filter"
+This property holds the data browser's filter.
+.PP
+The filter applies to the data shown in the browser. Call refresh() to apply the new filter. A filter is a string containing a SQL WHERE clause without the WHERE keyword, e.g. "id>1000"," name LIKE 'A%'", etc.
+.PP
+There is no default filter.
+.PP
+See also sort.
+.PP
+Set this property's value with setFilter() and get this property's value with filter().
+.SH "bool readOnly"
+This property holds whether the browser is read-only.
+.PP
+The default is FALSE, i.e. data can be edited. If the data browser is read-only, no database edits will be allowed.
+.PP
+Set this property's value with setReadOnly() and get this property's value with isReadOnly().
+.SH "QStringList sort"
+This property holds the data browser's sort.
+.PP
+The data browser's sort affects the order in which records are viewed in the browser. Call refresh() to apply the new sort.
+.PP
+When retrieving the sort property, a string list is returned in the form 'fieldname order', e.g. 'id ASC', 'surname DESC'.
+.PP
+There is no default sort.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDataBrowser.sort();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+Set this property's value with setSort() and get this property's value with sort().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatabrowser.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatabrowser.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatastream.3qt b/doc/man/man3/qdatastream.3qt
new file mode 100644
index 0000000..8b8b7ed
--- /dev/null
+++ b/doc/man/man3/qdatastream.3qt
@@ -0,0 +1,563 @@
+'\" t
+.TH QDataStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDataStream \- Serialization of binary data to a QIODevice
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdatastream.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDataStream\fR ()"
+.br
+.ti -1c
+.BI "\fBQDataStream\fR ( QIODevice * d )"
+.br
+.ti -1c
+.BI "\fBQDataStream\fR ( QByteArray a, int mode )"
+.br
+.ti -1c
+.BI "virtual \fB~QDataStream\fR ()"
+.br
+.ti -1c
+.BI "QIODevice * \fBdevice\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDevice\fR ( QIODevice * d )"
+.br
+.ti -1c
+.BI "void \fBunsetDevice\fR ()"
+.br
+.ti -1c
+.BI "bool \fBatEnd\fR () const"
+.br
+.ti -1c
+.BI "bool eof () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBByteOrder\fR { BigEndian, LittleEndian }"
+.br
+.ti -1c
+.BI "int \fBbyteOrder\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetByteOrder\fR ( int bo )"
+.br
+.ti -1c
+.BI "bool \fBisPrintableData\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPrintableData\fR ( bool enable )"
+.br
+.ti -1c
+.BI "int \fBversion\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetVersion\fR ( int v )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_INT8 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_UINT8 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_INT16 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_UINT16 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_INT32 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_UINT32 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_INT64 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_UINT64 & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_LONG & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( Q_ULONG & i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( float & f )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( double & f )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( char *& s )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_INT8 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_UINT8 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_INT16 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_UINT16 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_INT32 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_UINT32 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_INT64 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_UINT64 i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_LONG i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( Q_ULONG i )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( float f )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( double f )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( const char * s )"
+.br
+.ti -1c
+.BI "QDataStream & \fBreadBytes\fR ( char *& s, uint & l )"
+.br
+.ti -1c
+.BI "QDataStream & \fBreadRawBytes\fR ( char * s, uint len )"
+.br
+.ti -1c
+.BI "QDataStream & \fBwriteBytes\fR ( const char * s, uint len )"
+.br
+.ti -1c
+.BI "QDataStream & \fBwriteRawBytes\fR ( const char * s, uint len )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDataStream class provides serialization of binary data to a QIODevice.
+.PP
+A data stream is a binary stream of encoded information which is 100% independent of the host computer's operating system, CPU or byte order. For example, a data stream that is written by a PC under Windows can be read by a Sun SPARC running Solaris.
+.PP
+You can also use a data stream to read/write raw unencoded binary data. If you want a "parsing" input stream, see QTextStream.
+.PP
+The QDataStream class implements the serialization of C++'s basic data types, like \fCchar\fR, \fCshort\fR, \fCint\fR, \fCchar*\fR, etc. Serialization of more complex data is accomplished by breaking up the data into primitive units.
+.PP
+A data stream cooperates closely with a QIODevice. A QIODevice represents an input/output medium one can read data from and write data to. The QFile class is an example of an IO device.
+.PP
+Example (write binary data to a stream):
+.PP
+.nf
+.br
+ QFile file( "file.dat" );
+.br
+ file.open( IO_WriteOnly );
+.br
+ QDataStream stream( &file ); // we will serialize the data into the file
+.br
+ stream << "the answer is"; // serialize a string
+.br
+ stream << (Q_INT32)42; // serialize an integer
+.br
+.fi
+.PP
+Example (read binary data from a stream):
+.PP
+.nf
+.br
+ QFile file( "file.dat" );
+.br
+ file.open( IO_ReadOnly );
+.br
+ QDataStream stream( &file ); // read the data serialized from the file
+.br
+ QString str;
+.br
+ Q_INT32 a;
+.br
+ stream >> str >> a; // extract "the answer is" and 42
+.br
+.fi
+.PP
+Each item written to the stream is written in a predefined binary format that varies depending on the item's type. Supported Qt types include QBrush, QColor, QDateTime, QFont, QPixmap, QString, QVariant and many others. For the complete list of all Qt types supporting data streaming see the Format of the QDataStream operators.
+.PP
+For integers it is best to always cast to a Qt integer type for writing, and to read back into the same Qt integer type. This ensures that you get integers of the size you want and insulates you from compiler and platform differences.
+.PP
+To take one example, a \fCchar*\fR string is written as a 32-bit integer equal to the length of the string including the NUL byte ('&#92;0'), followed by all the characters of the string including the NUL byte. When reading a \fCchar*\fR string, 4 bytes are read to create the 32-bit length value, then that many characters for the \fCchar*\fR string including the NUL are read.
+.PP
+The initial IODevice is usually set in the constructor, but can be changed with setDevice(). If you've reached the end of the data (or if there is no IODevice set) atEnd() will return TRUE.
+.PP
+If you want the data to be compatible with an earlier version of Qt use setVersion().
+.PP
+If you want the data to be human-readable, e.g. for debugging, you can set the data stream into printable data mode with setPrintableData(). The data is then written slower, in a bloated but human readable format.
+.PP
+If you are producing a new binary data format, such as a file format for documents created by your application, you could use a QDataStream to write the data in a portable format. Typically, you would write a brief header containing a magic string and a version number to give yourself room for future expansion. For example:
+.PP
+.nf
+.br
+ QFile file( "file.xxx" );
+.br
+ file.open( IO_WriteOnly );
+.br
+ QDataStream stream( &file );
+.br
+.br
+ // Write a header with a "magic number" and a version
+.br
+ stream << (Q_UINT32)0xA0B0C0D0;
+.br
+ stream << (Q_INT32)123;
+.br
+.br
+ // Write the data
+.br
+ stream << [lots of interesting data]
+.br
+.fi
+.PP
+Then read it in with:
+.PP
+.nf
+.br
+ QFile file( "file.xxx" );
+.br
+ file.open( IO_ReadOnly );
+.br
+ QDataStream stream( &file );
+.br
+.br
+ // Read and check the header
+.br
+ Q_UINT32 magic;
+.br
+ stream >> magic;
+.br
+ if ( magic != 0xA0B0C0D0 )
+.br
+ return XXX_BAD_FILE_FORMAT;
+.br
+.br
+ // Read the version
+.br
+ Q_INT32 version;
+.br
+ stream >> version;
+.br
+ if ( version < 100 )
+.br
+ return XXX_BAD_FILE_TOO_OLD;
+.br
+ if ( version > 123 )
+.br
+ return XXX_BAD_FILE_TOO_NEW;
+.br
+ if ( version <= 110 )
+.br
+ stream.setVersion(1);
+.br
+.br
+ // Read the data
+.br
+ stream >> [lots of interesting data];
+.br
+ if ( version > 120 )
+.br
+ stream >> [data new in XXX version 1.2];
+.br
+ stream >> [other interesting data];
+.br
+.fi
+.PP
+You can select which byte order to use when serializing data. The default setting is big endian (MSB first). Changing it to little endian breaks the portability (unless the reader also changes to little endian). We recommend keeping this setting unless you have special requirements.
+.SH "Reading and writing raw binary data"
+You may wish to read/write your own raw binary data to/from the data stream directly. Data may be read from the stream into a preallocated char* using readRawBytes(). Similarly data can be written to the stream using writeRawBytes(). Notice that any encoding/decoding of the data must be done by you.
+.PP
+A similar pair of functions is readBytes() and writeBytes(). These differ from their \fIraw\fR counterparts as follows: readBytes() reads a Q_UINT32 which is taken to be the length of the data to be read, then that number of bytes is read into the preallocated char*; writeBytes() writes a Q_UINT32 containing the length of the data, followed by the data. Notice that any encoding/decoding of the data (apart from the length Q_UINT32) must be done by you.
+.PP
+See also QTextStream, QVariant, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QDataStream::ByteOrder"
+The byte order used for reading/writing the data.
+.TP
+\fCQDataStream::BigEndian\fR - the default
+.TP
+\fCQDataStream::LittleEndian\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDataStream::QDataStream ()"
+Constructs a data stream that has no IO device.
+.PP
+See also setDevice().
+.SH "QDataStream::QDataStream ( QIODevice * d )"
+Constructs a data stream that uses the IO device \fId\fR.
+.PP
+\fBWarning:\fR If you use QSocket or QSocketDevice as the IO device \fId\fR for reading data, you must make sure that enough data is available on the socket for the operation to successfully proceed; QDataStream does not have any means to handle or recover from short-reads.
+.PP
+See also setDevice() and device().
+.SH "QDataStream::QDataStream ( QByteArray a, int mode )"
+Constructs a data stream that operates on a byte array, \fIa\fR, through an internal QBuffer device. The \fImode\fR is a QIODevice::mode(), usually either IO_ReadOnly or IO_WriteOnly.
+.PP
+Example:
+.PP
+.nf
+.br
+ static char bindata[] = { 231, 1, 44, ... };
+.br
+ QByteArray a;
+.br
+ a.setRawData( bindata, sizeof(bindata) ); // a points to bindata
+.br
+ QDataStream stream( a, IO_ReadOnly ); // open on a's data
+.br
+ stream >> [something]; // read raw bindata
+.br
+ a.resetRawData( bindata, sizeof(bindata) ); // finished
+.br
+.fi
+.PP
+The QByteArray::setRawData() function is not for the inexperienced.
+.SH "QDataStream::~QDataStream ()\fC [virtual]\fR"
+Destroys the data stream.
+.PP
+The destructor will not affect the current IO device, unless it is an internal IO device processing a QByteArray passed in the \fIconstructor\fR, in which case the internal IO device is destroyed.
+.SH "bool QDataStream::atEnd () const"
+Returns TRUE if the IO device has reached the end position (end of the stream or file) or if there is no IO device set; otherwise returns FALSE, i.e. if the current position of the IO device is before the end position.
+.PP
+See also QIODevice::atEnd().
+.SH "int QDataStream::byteOrder () const"
+Returns the current byte order setting -- either BigEndian or LittleEndian.
+.PP
+See also setByteOrder().
+.SH "QIODevice * QDataStream::device () const"
+Returns the IO device currently set.
+.PP
+See also setDevice() and unsetDevice().
+.SH "bool QDataStream::eof () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if the IO device has reached the end position (end of stream or file) or if there is no IO device set.
+.PP
+Returns FALSE if the current position of the read/write head of the IO device is somewhere before the end position.
+.PP
+See also QIODevice::atEnd().
+.SH "bool QDataStream::isPrintableData () const"
+Returns TRUE if the printable data flag has been set; otherwise returns FALSE.
+.PP
+See also setPrintableData().
+.SH "QDataStream & QDataStream::operator<< ( Q_INT8 i )"
+Writes a signed byte, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_UINT8 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an unsigned byte, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_INT16 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a signed 16-bit integer, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_UINT16 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an unsigned 16-bit integer, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_INT32 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a signed 32-bit integer, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_UINT32 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an unsigned integer, \fIi\fR, to the stream as a 32-bit unsigned integer (Q_UINT32). Returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_INT64 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a signed 64-bit integer, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_UINT64 i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an unsigned 64-bit integer, \fIi\fR, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_LONG i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a signed integer \fIi\fR, of the system's word length, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( Q_ULONG i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an unsigned integer \fIi\fR, of the system's word length, to the stream and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( float f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a 32-bit floating point number, \fIf\fR, to the stream using the standard IEEE754 format. Returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( double f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a 64-bit floating point number, \fIf\fR, to the stream using the standard IEEE754 format. Returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator<< ( const char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the '&#92;0'-terminated string \fIs\fR to the stream and returns a reference to the stream.
+.PP
+The string is serialized using writeBytes().
+.SH "QDataStream & QDataStream::operator>> ( Q_INT8 & i )"
+Reads a signed byte from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_UINT8 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned byte from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_INT16 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed 16-bit integer from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_UINT16 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned 16-bit integer from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_INT32 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed 32-bit integer from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_UINT32 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned 32-bit integer from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_INT64 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed 64-bit integer from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_UINT64 & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned 64-bit integer from the stream, into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_LONG & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed integer of the system's word length from the stream into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( Q_ULONG & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned integer of the system's word length from the stream, into \fIi\fR, and returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( float & f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a 32-bit floating point number from the stream into \fIf\fR, using the standard IEEE754 format. Returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( double & f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a 64-bit floating point number from the stream into \fIf\fR, using the standard IEEE754 format. Returns a reference to the stream.
+.SH "QDataStream & QDataStream::operator>> ( char *& s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads the '&#92;0'-terminated string \fIs\fR from the stream and returns a reference to the stream.
+.PP
+Space for the string is allocated using \fCnew\fR -- the caller must destroy it with delete[].
+.SH "QDataStream & QDataStream::readBytes ( char *& s, uint & l )"
+Reads the buffer \fIs\fR from the stream and returns a reference to the stream.
+.PP
+The buffer \fIs\fR is allocated using \fCnew\fR. Destroy it with the \fCdelete[]\fR operator. If the length is zero or \fIs\fR cannot be allocated, \fIs\fR is set to 0.
+.PP
+The \fIl\fR parameter will be set to the length of the buffer.
+.PP
+The serialization format is a Q_UINT32 length specifier first, then \fIl\fR bytes of data. Note that the data is \fInot\fR encoded.
+.PP
+See also readRawBytes() and writeBytes().
+.SH "QDataStream & QDataStream::readRawBytes ( char * s, uint len )"
+Reads \fIlen\fR bytes from the stream into \fIs\fR and returns a reference to the stream.
+.PP
+The buffer \fIs\fR must be preallocated. The data is \fInot\fR encoded.
+.PP
+See also readBytes(), QIODevice::readBlock(), and writeRawBytes().
+.SH "void QDataStream::setByteOrder ( int bo )"
+Sets the serialization byte order to \fIbo\fR.
+.PP
+The \fIbo\fR parameter can be QDataStream::BigEndian or QDataStream::LittleEndian.
+.PP
+The default setting is big endian. We recommend leaving this setting unless you have special requirements.
+.PP
+See also byteOrder().
+.SH "void QDataStream::setDevice ( QIODevice * d )"
+void QDataStream::setDevice(QIODevice *d )
+.PP
+Sets the IO device to \fId\fR.
+.PP
+See also device() and unsetDevice().
+.SH "void QDataStream::setPrintableData ( bool enable )"
+If \fIenable\fR is TRUE, data will be output in a human readable format. If \fIenable\fR is FALSE, data will be output in a binary format.
+.PP
+If \fIenable\fR is TRUE, the write functions will generate output that consists of printable characters (7 bit ASCII). This output will typically be a lot larger than the default binary output, and consequently slower to write.
+.PP
+We recommend only enabling printable data for debugging purposes.
+.SH "void QDataStream::setVersion ( int v )"
+Sets the version number of the data serialization format to \fIv\fR.
+.PP
+You don't need to set a version if you are using the current version of Qt.
+.PP
+In order to accommodate new functionality, the datastream serialization format of some Qt classes has changed in some versions of Qt. If you want to read data that was created by an earlier version of Qt, or write data that can be read by a program that was compiled with an earlier version of Qt, use this function to modify the serialization format of QDataStream.
+.PP
+<center>.nf
+.TS
+l - l. Qt Version QDataStream Version Qt 3.3 6 Qt 3.2 5 Qt 3.1 5 Qt 3.0 4 Qt 2.1.x and Qt 2.2.x 3 Qt 2.0.x 2 Qt 1.x
+.TE
+.fi
+</center>
+.PP
+See also version().
+.SH "void QDataStream::unsetDevice ()"
+Unsets the IO device. This is the same as calling setDevice( 0 ).
+.PP
+See also device() and setDevice().
+.SH "int QDataStream::version () const"
+Returns the version number of the data serialization format. In Qt 3.1, this number is 5.
+.PP
+See also setVersion().
+.SH "QDataStream & QDataStream::writeBytes ( const char * s, uint len )"
+Writes the length specifier \fIlen\fR and the buffer \fIs\fR to the stream and returns a reference to the stream.
+.PP
+The \fIlen\fR is serialized as a Q_UINT32, followed by \fIlen\fR bytes from \fIs\fR. Note that the data is \fInot\fR encoded.
+.PP
+See also writeRawBytes() and readBytes().
+.SH "QDataStream & QDataStream::writeRawBytes ( const char * s, uint len )"
+Writes \fIlen\fR bytes from \fIs\fR to the stream and returns a reference to the stream. The data is \fInot\fR encoded.
+.PP
+See also writeBytes(), QIODevice::writeBlock(), and readRawBytes().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatastream.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatastream.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatatable.3qt b/doc/man/man3/qdatatable.3qt
new file mode 100644
index 0000000..3aa1369
--- /dev/null
+++ b/doc/man/man3/qdatatable.3qt
@@ -0,0 +1,700 @@
+'\" t
+.TH QDataTable 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDataTable \- Flexible SQL table widget that supports browsing and editing
+.SH SYNOPSIS
+\fC#include <qdatatable.h>\fR
+.PP
+Inherits QTable.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDataTable\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQDataTable\fR ( QSqlCursor * cursor, bool autoPopulate = FALSE, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDataTable\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBaddColumn\fR ( const QString & fieldName, const QString & label = QString::null, int width = -1, const QIconSet & iconset = QIconSet ( ) )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveColumn\fR ( uint col )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumn\fR ( uint col, const QString & fieldName, const QString & label = QString::null, int width = -1, const QIconSet & iconset = QIconSet ( ) )"
+.br
+.ti -1c
+.BI "QString \fBnullText\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtrueText\fR () const"
+.br
+.ti -1c
+.BI "QString \fBfalseText\fR () const"
+.br
+.ti -1c
+.BI "DateFormat \fBdateFormat\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmEdits\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmInsert\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmUpdate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmDelete\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconfirmCancels\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoEdit\fR () const"
+.br
+.ti -1c
+.BI "QString \fBfilter\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBsort\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSqlCursor\fR ( QSqlCursor * cursor = 0, bool autoPopulate = FALSE, bool autoDelete = FALSE )"
+.br
+.ti -1c
+.BI "QSqlCursor * \fBsqlCursor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNullText\fR ( const QString & nullText )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTrueText\fR ( const QString & trueText )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFalseText\fR ( const QString & falseText )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDateFormat\fR ( const DateFormat f )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmEdits\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmInsert\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmUpdate\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmDelete\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetConfirmCancels\fR ( bool confirm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoEdit\fR ( bool autoEdit )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFilter\fR ( const QString & filter )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSort\fR ( const QStringList & sort )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSort\fR ( const QSqlIndex & sort )"
+.br
+.ti -1c
+.BI "enum \fBRefresh\fR { RefreshData = 1, RefreshColumns = 2, RefreshAll = 3 }"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR ( Refresh mode )"
+.br
+.ti -1c
+.BI "virtual void \fBsortColumn\fR ( int col, bool ascending = TRUE, bool wholeRows = FALSE )"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "QVariant \fBvalue\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "QSqlRecord * \fBcurrentRecord\fR () const"
+.br
+.ti -1c
+.BI "void \fBinstallEditorFactory\fR ( QSqlEditorFactory * f )"
+.br
+.ti -1c
+.BI "void \fBinstallPropertyMap\fR ( QSqlPropertyMap * m )"
+.br
+.ti -1c
+.BI "virtual int \fBnumCols\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBnumRows\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBfind\fR ( const QString & str, bool caseSensitive, bool backwards )"
+.br
+.ti -1c
+.BI "virtual void \fBsortAscending\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBsortDescending\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBrefresh\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnWidth\fR ( int col, int w )"
+.br
+.ti -1c
+.BI "virtual void \fBadjustColumn\fR ( int col )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QSqlRecord * record )"
+.br
+.ti -1c
+.BI "void \fBprimeInsert\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBprimeUpdate\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBprimeDelete\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeInsert\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeUpdate\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBbeforeDelete\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "void \fBcursorChanged\fR ( QSql::Op mode )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoEdit\fR - whether the data table automatically applies edits"
+.br
+.ti -1c
+.BI "bool \fBconfirmCancels\fR - whether the data table confirms cancel operations"
+.br
+.ti -1c
+.BI "bool \fBconfirmDelete\fR - whether the data table confirms delete operations"
+.br
+.ti -1c
+.BI "bool \fBconfirmEdits\fR - whether the data table confirms edit operations"
+.br
+.ti -1c
+.BI "bool \fBconfirmInsert\fR - whether the data table confirms insert operations"
+.br
+.ti -1c
+.BI "bool \fBconfirmUpdate\fR - whether the data table confirms update operations"
+.br
+.ti -1c
+.BI "DateFormat \fBdateFormat\fR - the format used for displaying date/time values"
+.br
+.ti -1c
+.BI "QString \fBfalseText\fR - the text used to represent false values"
+.br
+.ti -1c
+.BI "QString \fBfilter\fR - the data filter for the data table"
+.br
+.ti -1c
+.BI "QString \fBnullText\fR - the text used to represent NULL values"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR - the number of columns in the table \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR - the number of rows in the table \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QStringList \fBsort\fR - the data table's sort"
+.br
+.ti -1c
+.BI "QString \fBtrueText\fR - the text used to represent true values"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBinsertCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBupdateCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBdeleteCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual QSql::Confirm \fBconfirmEdit\fR ( QSql::Op m )"
+.br
+.ti -1c
+.BI "virtual QSql::Confirm \fBconfirmCancel\fR ( QSql::Op m )"
+.br
+.ti -1c
+.BI "virtual void \fBhandleError\fR ( const QSqlError & e )"
+.br
+.ti -1c
+.BI "virtual bool \fBbeginInsert\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBbeginUpdate\fR ( int row, int col, bool replace )"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( uint i ) const"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetSize\fR ( QSqlCursor * sql )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintField\fR ( QPainter * p, const QSqlField * field, const QRect & cr, bool selected )"
+.br
+.ti -1c
+.BI "virtual int \fBfieldAlignment\fR ( const QSqlField * field )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDataTable class provides a flexible SQL table widget that supports browsing and editing.
+.PP
+QDataTable supports various functions for presenting and editing SQL data from a QSqlCursor in a table.
+.PP
+If you want a to present your data in a form use QDataBrowser, or for read-only forms, QDataView.
+.PP
+When displaying data, QDataTable only retrieves data for visible rows. If the driver supports the 'query size' property the QDataTable will have the correct number of rows and the vertical scrollbar will accurately reflect the number of rows displayed in proportion to the number of rows in the dataset. If the driver does not support the 'query size' property, rows are dynamically fetched from the database on an as-needed basis with the scrollbar becoming more accurate as the user scrolls down through the records. This allows extremely large queries to be displayed as quickly as possible, with minimum memory usage.
+.PP
+QDataTable inherits QTable's API and extends it with functions to sort and filter the data and sort columns. See setSqlCursor(), setFilter(), setSort(), setSorting(), sortColumn() and refresh().
+.PP
+When displaying editable cursors, cell editing will be enabled. (For more information on editable cursors, see QSqlCursor). QDataTable can be used to modify existing data and to add new records. When a user makes changes to a field in the table, the cursor's edit buffer is used. The table will not send changes in the edit buffer to the database until the user moves to a different record in the grid or presses Enter. Cell editing is initiated by pressing F2 (or right clicking and then clicking the appropriate popup menu item) and canceled by pressing Esc. If there is a problem updating or adding data, errors are handled automatically (see handleError() to change this behavior). Note that if autoEdit() is FALSE navigating to another record will cancel the insert or update.
+.PP
+The user can be asked to confirm all edits with setConfirmEdits(). For more precise control use setConfirmInsert(), setConfirmUpdate(), setConfirmDelete() and setConfirmCancels(). Use setAutoEdit() to control the behaviour of the table when the user edits a record and then navigates. (Note that setAutoDelete() is unrelated; it is used to set whether the QSqlCursor is deleted when the table is deleted.)
+.PP
+Since the data table can perform edits, it must be able to uniquely identify every record so that edits are correctly applied. Because of this the underlying cursor must have a valid primary index to ensure that a unique record is inserted, updated or deleted within the database otherwise the database may be changed to an inconsistent state.
+.PP
+QDataTable creates editors using the default QSqlEditorFactory. Different editor factories can be used by calling installEditorFactory(). A property map is used to map between the cell's value and the editor. You can use your own property map with installPropertyMap().
+.PP
+The contents of a cell is available as a QString with text() or as a QVariant with value(). The current record is returned by currentRecord(). Use the find() function to search for a string in the table.
+.PP
+Editing actions can be applied programatically. For example, the insertCurrent() function reads the fields from the current record into the cursor and performs the insert. The updateCurrent() and deleteCurrent() functions perform similarly to update and delete the current record respectively.
+.PP
+Columns in the table can be created automatically based on the cursor (see setSqlCursor()). Columns can be manipulated manually using addColumn(), removeColumn() and setColumn().
+.PP
+The table automatically copies many of the properties of the cursor to format the display of data within cells (alignment, visibility, etc.). The cursor can be changed with setSqlCursor(). The filter (see setFilter()) and sort defined within the table are used instead of the filter and sort set on the cursor. For sorting options see setSort(), sortColumn(), sortAscending() and sortDescending(). Note that sorting operations will not behave as expected if you are using a QSqlSelectCursor because it uses user-defined SQL queries to obtain data.
+.PP
+The text used to represent NULL, TRUE and FALSE values can be changed with setNullText(), setTrueText() and setFalseText() respectively. You can change the appearance of cells by reimplementing paintField().
+.PP
+Whenever a new row is selected in the table the currentChanged() signal is emitted. The primeInsert() signal is emitted when an insert is initiated. The primeUpdate() and primeDelete() signals are emitted when update and deletion are initiated respectively. Just before the database is updated a signal is emitted; beforeInsert(), beforeUpdate() or beforeDelete() as appropriate.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QDataTable::Refresh"
+This enum describes the refresh options.
+.TP
+\fCQDataTable::RefreshData\fR - refresh the data, i.e. read it from the database
+.TP
+\fCQDataTable::RefreshColumns\fR - refresh the list of fields, e.g. the column headings
+.TP
+\fCQDataTable::RefreshAll\fR - refresh both the data and the list of fields
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDataTable::QDataTable ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a data table which is a child of \fIparent\fR, called name \fIname\fR.
+.SH "QDataTable::QDataTable ( QSqlCursor * cursor, bool autoPopulate = FALSE, QWidget * parent = 0, const char * name = 0 )"
+Constructs a data table which is a child of \fIparent\fR, called name \fIname\fR using the cursor \fIcursor\fR.
+.PP
+If \fIautoPopulate\fR is TRUE (the default is FALSE), columns are automatically created based upon the fields in the \fIcursor\fR record. Note that \fIautoPopulate\fR only governs the creation of columns; to load the cursor's data into the table use refresh().
+.PP
+If the \fIcursor\fR is read-only, the table also becomes read-only. In addition, the table adopts the cursor's driver's definition for representing NULL values as strings.
+.SH "QDataTable::~QDataTable ()"
+Destroys the object and frees any allocated resources.
+.SH "void QDataTable::addColumn ( const QString & fieldName, const QString & label = QString::null, int width = -1, const QIconSet & iconset = QIconSet ( ) )\fC [virtual]\fR"
+Adds the next column to be displayed using the field \fIfieldName\fR, column label \fIlabel\fR, width \fIwidth\fR and iconset \fIiconset\fR.
+.PP
+If \fIlabel\fR is specified, it is used as the column's header label, otherwise the field's display label is used when setSqlCursor() is called. The \fIiconset\fR is used to set the icon used by the column header; by default there is no icon.
+.PP
+See also setSqlCursor() and refresh().
+.PP
+Examples:
+.)l sql/overview/subclass1/main.cpp, sql/overview/subclass3/main.cpp, sql/overview/table2/main.cpp, and sql/sqltable/main.cpp.
+.SH "void QDataTable::adjustColumn ( int col )\fC [virtual slot]\fR"
+Resizes column \fIcol\fR so that the column width is wide enough to display the widest item the column contains (including the column label). If the table's QSqlCursor is not currently active, the cursor will be refreshed before the column width is calculated. Be aware that this function may be slow on tables that contain large result sets.
+.PP
+Reimplemented from QTable.
+.SH "bool QDataTable::autoDelete () const"
+Returns TRUE if the table will automatically delete the cursor specified by setSqlCursor(); otherwise returns FALSE.
+.SH "bool QDataTable::autoEdit () const"
+Returns TRUE if the data table automatically applies edits; otherwise returns FALSE. See the "autoEdit" property for details.
+.SH "void QDataTable::beforeDelete ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the currently selected record is deleted from the database. The \fIbuf\fR parameter points to the edit buffer being deleted. Connect to this signal to, for example, copy some of the fields for later use.
+.SH "void QDataTable::beforeInsert ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the cursor's edit buffer is inserted into the database. The \fIbuf\fR parameter points to the edit buffer being inserted. Connect to this signal to, for example, populate a key field with a unique sequence number.
+.SH "void QDataTable::beforeUpdate ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted just before the cursor's edit buffer is updated in the database. The \fIbuf\fR parameter points to the edit buffer being updated. Connect to this signal when you want to transform the user's data behind-the-scenes.
+.SH "bool QDataTable::beginInsert ()\fC [virtual protected]\fR"
+Protected virtual function called when editing is about to begin on a new record. If the table is read-only, or if there's no cursor or the cursor does not allow inserts, nothing happens.
+.PP
+Editing takes place using the cursor's edit buffer(see QSqlCursor::editBuffer()).
+.PP
+When editing begins, a new row is created in the table marked with an asterisk '*' in the row's vertical header column, i.e. at the left of the row.
+.SH "QWidget * QDataTable::beginUpdate ( int row, int col, bool replace )\fC [virtual protected]\fR"
+Protected virtual function called when editing is about to begin on an existing row. If the table is read-only, or if there's no cursor, nothing happens.
+.PP
+Editing takes place using the cursor's edit buffer (see QSqlCursor::editBuffer()).
+.PP
+\fIrow\fR and \fIcol\fR refer to the row and column in the QDataTable.
+.PP
+(\fIreplace\fR is provided for reimplementors and reflects the API of QTable::beginEdit().)
+.SH "QSql::Confirm QDataTable::confirmCancel ( QSql::Op m )\fC [virtual protected]\fR"
+Protected virtual function which returns a confirmation for cancelling an edit mode of \fIm\fR. Derived classes can reimplement this function to provide their own cancel dialog. The default implementation uses a message box which prompts the user to confirm the cancel.
+.SH "bool QDataTable::confirmCancels () const"
+Returns TRUE if the data table confirms cancel operations; otherwise returns FALSE. See the "confirmCancels" property for details.
+.SH "bool QDataTable::confirmDelete () const"
+Returns TRUE if the data table confirms delete operations; otherwise returns FALSE. See the "confirmDelete" property for details.
+.SH "QSql::Confirm QDataTable::confirmEdit ( QSql::Op m )\fC [virtual protected]\fR"
+Protected virtual function which returns a confirmation for an edit of mode \fIm\fR. Derived classes can reimplement this function to provide their own confirmation dialog. The default implementation uses a message box which prompts the user to confirm the edit action.
+.SH "bool QDataTable::confirmEdits () const"
+Returns TRUE if the data table confirms edit operations; otherwise returns FALSE. See the "confirmEdits" property for details.
+.SH "bool QDataTable::confirmInsert () const"
+Returns TRUE if the data table confirms insert operations; otherwise returns FALSE. See the "confirmInsert" property for details.
+.SH "bool QDataTable::confirmUpdate () const"
+Returns TRUE if the data table confirms update operations; otherwise returns FALSE. See the "confirmUpdate" property for details.
+.SH "void QDataTable::currentChanged ( QSqlRecord * record )\fC [signal]\fR"
+This signal is emitted whenever a new row is selected in the table. The \fIrecord\fR parameter points to the contents of the newly selected record.
+.SH "QSqlRecord * QDataTable::currentRecord () const"
+Returns the currently selected record, or 0 if there is no current selection. The table owns the pointer, so do \fInot\fR delete it or otherwise modify it or the cursor it points to.
+.SH "void QDataTable::cursorChanged ( QSql::Op mode )\fC [signal]\fR"
+This signal is emitted whenever the cursor record was changed due to an edit. The \fImode\fR parameter is the type of edit that just took place.
+.SH "DateFormat QDataTable::dateFormat () const"
+Returns the format used for displaying date/time values. See the "dateFormat" property for details.
+.SH "bool QDataTable::deleteCurrent ()\fC [virtual protected]\fR"
+For an editable table, issues a delete on the current cursor's primary index using the values of the currently selected row. If there is no current cursor or there is no current selection, nothing happens. If confirmEdits() or confirmDelete() is TRUE, confirmEdit() is called to confirm the delete. Returns TRUE if the delete succeeded; otherwise FALSE.
+.PP
+The underlying cursor must have a valid primary index to ensure that a unique record is deleted within the database otherwise the database may be changed to an inconsistent state.
+.SH "QString QDataTable::falseText () const"
+Returns the text used to represent false values. See the "falseText" property for details.
+.SH "int QDataTable::fieldAlignment ( const QSqlField * field )\fC [virtual protected]\fR"
+Returns the alignment for \fIfield\fR.
+.SH "QString QDataTable::filter () const"
+Returns the data filter for the data table. See the "filter" property for details.
+.SH "void QDataTable::find ( const QString & str, bool caseSensitive, bool backwards )\fC [virtual slot]\fR"
+Searches the current cursor for a cell containing the string \fIstr\fR starting at the current cell and working forwards (or backwards if \fIbackwards\fR is TRUE). If the string is found, the cell containing the string is set as the current cell. If \fIcaseSensitive\fR is FALSE the case of \fIstr\fR will be ignored.
+.PP
+The search will wrap, i.e. if the first (or if backwards is TRUE, last) cell is reached without finding \fIstr\fR the search will continue until it reaches the starting cell. If \fIstr\fR is not found the search will fail and the current cell will remain unchanged.
+.SH "void QDataTable::handleError ( const QSqlError & e )\fC [virtual protected]\fR"
+Protected virtual function which is called when an error \fIe\fR has occurred on the current cursor(). The default implementation displays a warning message to the user with information about the error.
+.SH "int QDataTable::indexOf ( uint i ) const\fC [protected]\fR"
+Returns the index of the field within the current SQL query that is displayed in column \fIi\fR.
+.SH "bool QDataTable::insertCurrent ()\fC [virtual protected]\fR"
+For an editable table, issues an insert on the current cursor using the values in the cursor's edit buffer. If there is no current cursor or there is no current "insert" row, nothing happens. If confirmEdits() or confirmInsert() is TRUE, confirmEdit() is called to confirm the insert. Returns TRUE if the insert succeeded; otherwise returns FALSE.
+.PP
+The underlying cursor must have a valid primary index to ensure that a unique record is inserted within the database otherwise the database may be changed to an inconsistent state.
+.SH "void QDataTable::installEditorFactory ( QSqlEditorFactory * f )"
+Installs a new SQL editor factory \fIf\fR. This enables the user to create and instantiate their own editors for use in cell editing. Note that QDataTable takes ownership of this pointer, and will delete it when it is no longer needed or when installEditorFactory() is called again.
+.PP
+See also QSqlEditorFactory.
+.SH "void QDataTable::installPropertyMap ( QSqlPropertyMap * m )"
+Installs a new property map \fIm\fR. This enables the user to create and instantiate their own property maps for use in cell editing. Note that QDataTable takes ownership of this pointer, and will delete it when it is no longer needed or when installPropertMap() is called again.
+.PP
+See also QSqlPropertyMap.
+.SH "QString QDataTable::nullText () const"
+Returns the text used to represent NULL values. See the "nullText" property for details.
+.SH "int QDataTable::numCols () const\fC [virtual]\fR"
+Returns the number of columns in the table. See the "numCols" property for details.
+.PP
+Reimplemented from QTable.
+.SH "int QDataTable::numRows () const\fC [virtual]\fR"
+Returns the number of rows in the table. See the "numRows" property for details.
+.PP
+Reimplemented from QTable.
+.SH "void QDataTable::paintField ( QPainter * p, const QSqlField * field, const QRect & cr, bool selected )\fC [virtual protected]\fR"
+Paints the \fIfield\fR on the painter \fIp\fR. The painter has already been translated to the appropriate cell's origin where the \fIfield\fR is to be rendered. \fIcr\fR describes the cell coordinates in the content coordinate system. The \fIselected\fR parameter is ignored.
+.PP
+If you want to draw custom field content you must reimplement paintField() to do the custom drawing. The default implementation renders the \fIfield\fR value as text. If the field is NULL, nullText() is displayed in the cell. If the field is Boolean, trueText() or falseText() is displayed as appropriate.
+.PP
+Example: sql/overview/table4/main.cpp.
+.SH "void QDataTable::primeDelete ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted after the cursor is primed for delete by the table, when a delete action is beginning on the table. The \fIbuf\fR parameter points to the edit buffer being deleted. Connect to this signal in order to, for example, record auditing information on deletions.
+.SH "void QDataTable::primeInsert ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted after the cursor is primed for insert by the table, when an insert action is beginning on the table. The \fIbuf\fR parameter points to the edit buffer being inserted. Connect to this signal in order to, for example, prime the record buffer with default data values.
+.SH "void QDataTable::primeUpdate ( QSqlRecord * buf )\fC [signal]\fR"
+This signal is emitted after the cursor is primed for update by the table, when an update action is beginning on the table. The \fIbuf\fR parameter points to the edit buffer being updated. Connect to this signal in order to, for example, provide some visual feedback that the user is in 'edit mode'.
+.SH "void QDataTable::refresh ()\fC [virtual slot]\fR"
+Refreshes the table. The cursor is refreshed using the current filter, the current sort, and the currently defined columns. Equivalent to calling refresh( QDataTable::RefreshData ).
+.PP
+Examples:
+.)l sql/overview/subclass1/main.cpp, sql/overview/table1/main.cpp, sql/overview/table2/main.cpp, and sql/sqltable/main.cpp.
+.SH "void QDataTable::refresh ( Refresh mode )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Refreshes the table. If there is no currently defined cursor (see setSqlCursor()), nothing happens. The \fImode\fR parameter determines which type of refresh will take place.
+.PP
+See also Refresh, setSqlCursor(), and addColumn().
+.SH "void QDataTable::removeColumn ( uint col )\fC [virtual]\fR"
+Removes column \fIcol\fR from the list of columns to be displayed. If \fIcol\fR does not exist, nothing happens.
+.PP
+See also QSqlField.
+.SH "void QDataTable::reset ()\fC [protected]\fR"
+Resets the table so that it displays no data.
+.PP
+See also setSqlCursor().
+.SH "void QDataTable::setAutoDelete ( bool enable )\fC [virtual]\fR"
+Sets the cursor auto-delete flag to \fIenable\fR. If \fIenable\fR is TRUE, the table will automatically delete the cursor specified by setSqlCursor(). If \fIenable\fR is FALSE (the default), the cursor will not be deleted.
+.SH "void QDataTable::setAutoEdit ( bool autoEdit )\fC [virtual]\fR"
+Sets whether the data table automatically applies edits to \fIautoEdit\fR. See the "autoEdit" property for details.
+.SH "void QDataTable::setColumn ( uint col, const QString & fieldName, const QString & label = QString::null, int width = -1, const QIconSet & iconset = QIconSet ( ) )\fC [virtual]\fR"
+Sets the \fIcol\fR column to display using the field \fIfieldName\fR, column label \fIlabel\fR, width \fIwidth\fR and iconset \fIiconset\fR.
+.PP
+If \fIlabel\fR is specified, it is used as the column's header label, otherwise the field's display label is used when setSqlCursor() is called. The \fIiconset\fR is used to set the icon used by the column header; by default there is no icon.
+.PP
+See also setSqlCursor() and refresh().
+.SH "void QDataTable::setColumnWidth ( int col, int w )\fC [virtual slot]\fR"
+Sets the column \fIcol\fR to the width \fIw\fR. Note that unlike QTable the QDataTable is not immediately redrawn, you must call refresh(QDataTable::RefreshColumns) yourself.
+.PP
+See also refresh().
+.PP
+Reimplemented from QTable.
+.SH "void QDataTable::setConfirmCancels ( bool confirm )\fC [virtual]\fR"
+Sets whether the data table confirms cancel operations to \fIconfirm\fR. See the "confirmCancels" property for details.
+.SH "void QDataTable::setConfirmDelete ( bool confirm )\fC [virtual]\fR"
+Sets whether the data table confirms delete operations to \fIconfirm\fR. See the "confirmDelete" property for details.
+.SH "void QDataTable::setConfirmEdits ( bool confirm )\fC [virtual]\fR"
+Sets whether the data table confirms edit operations to \fIconfirm\fR. See the "confirmEdits" property for details.
+.SH "void QDataTable::setConfirmInsert ( bool confirm )\fC [virtual]\fR"
+Sets whether the data table confirms insert operations to \fIconfirm\fR. See the "confirmInsert" property for details.
+.SH "void QDataTable::setConfirmUpdate ( bool confirm )\fC [virtual]\fR"
+Sets whether the data table confirms update operations to \fIconfirm\fR. See the "confirmUpdate" property for details.
+.SH "void QDataTable::setDateFormat ( const DateFormat f )\fC [virtual]\fR"
+Sets the format used for displaying date/time values to \fIf\fR. See the "dateFormat" property for details.
+.SH "void QDataTable::setFalseText ( const QString & falseText )\fC [virtual]\fR"
+Sets the text used to represent false values to \fIfalseText\fR. See the "falseText" property for details.
+.SH "void QDataTable::setFilter ( const QString & filter )\fC [virtual]\fR"
+Sets the data filter for the data table to \fIfilter\fR. See the "filter" property for details.
+.SH "void QDataTable::setNullText ( const QString & nullText )\fC [virtual]\fR"
+Sets the text used to represent NULL values to \fInullText\fR. See the "nullText" property for details.
+.SH "void QDataTable::setSize ( QSqlCursor * sql )\fC [protected]\fR"
+If the cursor's \fIsql\fR driver supports query sizes, the number of rows in the table is set to the size of the query. Otherwise, the table dynamically resizes itself as it is scrolled. If \fIsql\fR is not active, it is made active by issuing a select() on the cursor using the \fIsql\fR cursor's current filter and current sort.
+.SH "void QDataTable::setSort ( const QStringList & sort )\fC [virtual]\fR"
+Sets the data table's sort to \fIsort\fR. See the "sort" property for details.
+.SH "void QDataTable::setSort ( const QSqlIndex & sort )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the sort to be applied to the displayed data to \fIsort\fR. If there is no current cursor, nothing happens. A QSqlIndex contains field names and their ordering (ASC or DESC); these are used to compose the ORDER BY clause.
+.PP
+See also sort.
+.SH "void QDataTable::setSqlCursor ( QSqlCursor * cursor = 0, bool autoPopulate = FALSE, bool autoDelete = FALSE )\fC [virtual]\fR"
+Sets \fIcursor\fR as the data source for the table. To force the display of the data from \fIcursor\fR, use refresh(). If \fIautoPopulate\fR is TRUE, columns are automatically created based upon the fields in the \fIcursor\fR record. If \fIautoDelete\fR is TRUE (the default is FALSE), the table will take ownership of the \fIcursor\fR and delete it when appropriate. If the \fIcursor\fR is read-only, the table becomes read-only. The table adopts the cursor's driver's definition for representing NULL values as strings.
+.PP
+See also refresh(), readOnly, setAutoDelete(), and QSqlDriver::nullText().
+.SH "void QDataTable::setTrueText ( const QString & trueText )\fC [virtual]\fR"
+Sets the text used to represent true values to \fItrueText\fR. See the "trueText" property for details.
+.SH "QStringList QDataTable::sort () const"
+Returns the data table's sort. See the "sort" property for details.
+.SH "void QDataTable::sortAscending ( int col )\fC [virtual slot]\fR"
+Sorts column \fIcol\fR in ascending order.
+.PP
+See also sorting.
+.SH "void QDataTable::sortColumn ( int col, bool ascending = TRUE, bool wholeRows = FALSE )\fC [virtual]\fR"
+Sorts column \fIcol\fR in ascending order if \fIascending\fR is TRUE (the default); otherwise sorts in descending order.
+.PP
+The \fIwholeRows\fR parameter is ignored; QDataTable always sorts whole rows by the specified column.
+.PP
+Reimplemented from QTable.
+.SH "void QDataTable::sortDescending ( int col )\fC [virtual slot]\fR"
+Sorts column \fIcol\fR in descending order.
+.PP
+See also sorting.
+.SH "QSqlCursor * QDataTable::sqlCursor () const"
+Returns the cursor used by the data table.
+.SH "QString QDataTable::text ( int row, int col ) const\fC [virtual]\fR"
+Returns the text in cell \fIrow\fR, \fIcol\fR, or an empty string if the cell is empty. If the cell's value is NULL then nullText() will be returned. If the cell does not exist then QString::null is returned.
+.PP
+Reimplemented from QTable.
+.SH "QString QDataTable::trueText () const"
+Returns the text used to represent true values. See the "trueText" property for details.
+.SH "bool QDataTable::updateCurrent ()\fC [virtual protected]\fR"
+For an editable table, issues an update using the cursor's edit buffer. If there is no current cursor or there is no current selection, nothing happens. If confirmEdits() or confirmUpdate() is TRUE, confirmEdit() is called to confirm the update. Returns TRUE if the update succeeded; otherwise returns FALSE.
+.PP
+The underlying cursor must have a valid primary index to ensure that a unique record is updated within the database otherwise the database may be changed to an inconsistent state.
+.SH "QVariant QDataTable::value ( int row, int col ) const"
+Returns the value in cell \fIrow\fR, \fIcol\fR, or an invalid value if the cell does not exist or has no value.
+.SS "Property Documentation"
+.SH "bool autoEdit"
+This property holds whether the data table automatically applies edits.
+.PP
+The default value for this property is TRUE. When the user begins an insert or update in the table there are two possible outcomes when they navigate to another record:
+.PP
+<ol type=1>
+.TP
+the insert or update is is performed -- this occurs if autoEdit is TRUE
+.TP
+the insert or update is abandoned -- this occurs if autoEdit is FALSE
+.PP
+Set this property's value with setAutoEdit() and get this property's value with autoEdit().
+.SH "bool confirmCancels"
+This property holds whether the data table confirms cancel operations.
+.PP
+If the confirmCancel property is TRUE, all cancels must be confirmed by the user through a message box (this behavior can be changed by overriding the confirmCancel() function), otherwise all cancels occur immediately. The default is FALSE.
+.PP
+See also confirmEdits and confirmCancel().
+.PP
+Set this property's value with setConfirmCancels() and get this property's value with confirmCancels().
+.SH "bool confirmDelete"
+This property holds whether the data table confirms delete operations.
+.PP
+If the confirmDelete property is TRUE, all deletions must be confirmed by the user through a message box (this behaviour can be changed by overriding the confirmEdit() function), otherwise all delete operations occur immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmUpdate, and confirmInsert.
+.PP
+Set this property's value with setConfirmDelete() and get this property's value with confirmDelete().
+.SH "bool confirmEdits"
+This property holds whether the data table confirms edit operations.
+.PP
+If the confirmEdits property is TRUE, the data table confirms all edit operations (inserts, updates and deletes). Finer control of edit confirmation can be achieved using confirmCancels, confirmInsert, confirmUpdate and confirmDelete.
+.PP
+See also confirmCancels, confirmInsert, confirmUpdate, and confirmDelete.
+.PP
+Set this property's value with setConfirmEdits() and get this property's value with confirmEdits().
+.SH "bool confirmInsert"
+This property holds whether the data table confirms insert operations.
+.PP
+If the confirmInsert property is TRUE, all insertions must be confirmed by the user through a message box (this behaviour can be changed by overriding the confirmEdit() function), otherwise all insert operations occur immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmUpdate, and confirmDelete.
+.PP
+Set this property's value with setConfirmInsert() and get this property's value with confirmInsert().
+.SH "bool confirmUpdate"
+This property holds whether the data table confirms update operations.
+.PP
+If the confirmUpdate property is TRUE, all updates must be confirmed by the user through a message box (this behaviour can be changed by overriding the confirmEdit() function), otherwise all update operations occur immediately.
+.PP
+See also confirmCancels, confirmEdits, confirmInsert, and confirmDelete.
+.PP
+Set this property's value with setConfirmUpdate() and get this property's value with confirmUpdate().
+.SH "DateFormat dateFormat"
+This property holds the format used for displaying date/time values.
+.PP
+The dateFormat property is used for displaying date/time values in the table. The default value is Qt::LocalDate.
+.PP
+Set this property's value with setDateFormat() and get this property's value with dateFormat().
+.SH "QString falseText"
+This property holds the text used to represent false values.
+.PP
+The falseText property will be used to represent NULL values in the table. The default value is "False".
+.PP
+Set this property's value with setFalseText() and get this property's value with falseText().
+.SH "QString filter"
+This property holds the data filter for the data table.
+.PP
+The filter applies to the data shown in the table. To view data with a new filter, use refresh(). A filter string is an SQL WHERE clause without the WHERE keyword.
+.PP
+There is no default filter.
+.PP
+See also sort.
+.PP
+Set this property's value with setFilter() and get this property's value with filter().
+.SH "QString nullText"
+This property holds the text used to represent NULL values.
+.PP
+The nullText property will be used to represent NULL values in the table. The default value is provided by the cursor's driver.
+.PP
+Set this property's value with setNullText() and get this property's value with nullText().
+.SH "int numCols"
+This property holds the number of columns in the table.
+.PP
+Get this property's value with numCols().
+.SH "int numRows"
+This property holds the number of rows in the table.
+.PP
+Get this property's value with numRows().
+.SH "QStringList sort"
+This property holds the data table's sort.
+.PP
+The table's sort affects the order in which data records are displayed in the table. To apply a sort, use refresh().
+.PP
+When examining the sort property, a string list is returned with each item having the form 'fieldname order' (e.g., 'id ASC', 'surname DESC').
+.PP
+There is no default sort.
+.PP
+Note that if you want to iterate over the sort list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDataTable.sort();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also filter and refresh().
+.PP
+Set this property's value with setSort() and get this property's value with sort().
+.SH "QString trueText"
+This property holds the text used to represent true values.
+.PP
+The trueText property will be used to represent NULL values in the table. The default value is "True".
+.PP
+Set this property's value with setTrueText() and get this property's value with trueText().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatatable.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatatable.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdataview.3qt b/doc/man/man3/qdataview.3qt
new file mode 100644
index 0000000..6b21b21
--- /dev/null
+++ b/doc/man/man3/qdataview.3qt
@@ -0,0 +1,129 @@
+'\" t
+.TH QDataView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDataView \- Read-only SQL forms
+.SH SYNOPSIS
+\fC#include <qdataview.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDataView\fR ( QWidget * parent = 0, const char * name = 0, WFlags fl = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDataView\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetForm\fR ( QSqlForm * form )"
+.br
+.ti -1c
+.BI "QSqlForm * \fBform\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetRecord\fR ( QSqlRecord * record )"
+.br
+.ti -1c
+.BI "QSqlRecord * \fBrecord\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBrefresh\fR ( QSqlRecord * buf )"
+.br
+.ti -1c
+.BI "virtual void \fBreadFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBwriteFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearValues\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDataView class provides read-only SQL forms.
+.PP
+This class provides a form which displays SQL field data from a record buffer. Because QDataView does not support editing it uses less resources than a QDataBrowser. This class is well suited for displaying read-only data from a SQL database.
+.PP
+If you want a to present your data in an editable form use QDataBrowser; if you want a table-based presentation of your data use QDataTable.
+.PP
+The form is associated with the data view with setForm() and the record is associated with setRecord(). You can also pass a QSqlRecord to the refresh() function which will set the record to the given record and read the record's fields into the form.
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDataView::QDataView ( QWidget * parent = 0, const char * name = 0, WFlags fl = 0 )"
+Constructs a data view which is a child of \fIparent\fR, called \fIname\fR, and with widget flags \fIfl\fR.
+.SH "QDataView::~QDataView ()"
+Destroys the object and frees any allocated resources.
+.SH "void QDataView::clearValues ()\fC [virtual slot]\fR"
+Clears the default form's values. If there is no default form, nothing happens. All the values are set to their 'zero state', e.g. 0 for numeric fields, "" for string fields.
+.SH "QSqlForm * QDataView::form ()"
+Returns the default form used by the data view, or 0 if there is none.
+.PP
+See also setForm().
+.SH "void QDataView::readFields ()\fC [virtual slot]\fR"
+Causes the default form to read its fields from the record buffer. If there is no default form, or no record, nothing happens.
+.PP
+See also setForm().
+.SH "QSqlRecord * QDataView::record ()"
+Returns the default record used by the data view, or 0 if there is none.
+.PP
+See also setRecord().
+.SH "void QDataView::refresh ( QSqlRecord * buf )\fC [virtual slot]\fR"
+Causes the default form to display the contents of \fIbuf\fR. If there is no default form, nothing happens.The \fIbuf\fR also becomes the default record for all subsequent calls to readFields() and writefields(). This slot is equivalant to calling:
+.PP
+.nf
+.br
+ myView.setRecord( record );
+.br
+ myView.readFields();
+.br
+.fi
+.PP
+See also setRecord() and readFields().
+.SH "void QDataView::setForm ( QSqlForm * form )\fC [virtual]\fR"
+Sets the form used by the data view to \fIform\fR. If a record has already been assigned to the data view, the form will display that record's data.
+.PP
+See also form().
+.SH "void QDataView::setRecord ( QSqlRecord * record )\fC [virtual]\fR"
+Sets the record used by the data view to \fIrecord\fR. If a form has already been assigned to the data view, the form will display the data from \fIrecord\fR in that form.
+.PP
+See also record().
+.SH "void QDataView::writeFields ()\fC [virtual slot]\fR"
+Causes the default form to write its fields to the record buffer. If there is no default form, or no record, nothing happens.
+.PP
+See also setForm().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdataview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdataview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdate.3qt b/doc/man/man3/qdate.3qt
new file mode 100644
index 0000000..4e884c5
--- /dev/null
+++ b/doc/man/man3/qdate.3qt
@@ -0,0 +1,429 @@
+'\" t
+.TH QDate 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDate \- Date functions
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdatetime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDate\fR ()"
+.br
+.ti -1c
+.BI "\fBQDate\fR ( int y, int m, int d )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "int \fByear\fR () const"
+.br
+.ti -1c
+.BI "int \fBmonth\fR () const"
+.br
+.ti -1c
+.BI "int \fBday\fR () const"
+.br
+.ti -1c
+.BI "int \fBdayOfWeek\fR () const"
+.br
+.ti -1c
+.BI "int \fBdayOfYear\fR () const"
+.br
+.ti -1c
+.BI "int \fBdaysInMonth\fR () const"
+.br
+.ti -1c
+.BI "int \fBdaysInYear\fR () const"
+.br
+.ti -1c
+.BI "int \fBweekNumber\fR ( int * yearNumber = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Qt::DateFormat f = Qt::TextDate ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( const QString & format ) const"
+.br
+.ti -1c
+.BI "bool \fBsetYMD\fR ( int y, int m, int d )"
+.br
+.ti -1c
+.BI "QDate \fBaddDays\fR ( int ndays ) const"
+.br
+.ti -1c
+.BI "QDate \fBaddMonths\fR ( int nmonths ) const"
+.br
+.ti -1c
+.BI "QDate \fBaddYears\fR ( int nyears ) const"
+.br
+.ti -1c
+.BI "int \fBdaysTo\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QDate & d ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QDate & d ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString monthName ( int month ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString dayName ( int weekday ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString \fBshortMonthName\fR ( int month )"
+.br
+.ti -1c
+.BI "QString \fBshortDayName\fR ( int weekday )"
+.br
+.ti -1c
+.BI "QString \fBlongMonthName\fR ( int month )"
+.br
+.ti -1c
+.BI "QString \fBlongDayName\fR ( int weekday )"
+.br
+.ti -1c
+.BI "QDate \fBcurrentDate\fR ()"
+.br
+.ti -1c
+.BI "QDate \fBcurrentDate\fR ( Qt::TimeSpec ts )"
+.br
+.ti -1c
+.BI "QDate \fBfromString\fR ( const QString & s, Qt::DateFormat f = Qt::TextDate )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR ( int y, int m, int d )"
+.br
+.ti -1c
+.BI "bool \fBleapYear\fR ( int y )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QDate & d )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QDate & d )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDate class provides date functions.
+.PP
+A QDate object contains a calendar date, i.e. year, month, and day numbers, in the modern Western (Gregorian) calendar. It can read the current date from the system clock. It provides functions for comparing dates and for manipulating dates, e.g. by adding a number of days or months or years.
+.PP
+A QDate object is typically created either by giving the year, month and day numbers explicitly, or by using the static function currentDate(), which creates a QDate object containing the system clock's date. An explicit date can also be set using setYMD(). The fromString() function returns a QDate given a string and a date format which is used to interpret the date within the string.
+.PP
+The year(), month(), and day() functions provide access to the year, month, and day numbers. Also, dayOfWeek() and dayOfYear() functions are provided. The same information is provided in textual format by the toString(), shortDayName(), longDayName(), shortMonthName() and longMonthName() functions.
+.PP
+QDate provides a full set of operators to compare two QDate objects where smaller means earlier and larger means later.
+.PP
+You can increment (or decrement) a date by a given number of days using addDays(). Similarly you can use addMonths() and addYears(). The daysTo() function returns the number of days between two dates.
+.PP
+The daysInMonth() and daysInYear() functions return how many days there are in this date's month and year, respectively. The leapYear() function indicates whether this date is in a leap year.
+.PP
+Note that QDate should not be used for date calculations for dates prior to the introduction of the Gregorian calendar. This calendar was adopted by England from the 14<sup><small>th</small></sup> September 1752 (hence this is the earliest valid QDate), and subsequently by most other Western countries, until 1923.
+.PP
+The end of time is reached around the year 8000, by which time we expect Qt to be obsolete.
+.PP
+See also QTime, QDateTime, QDateEdit, QDateTimeEdit, and Time and Date.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDate::QDate ()"
+Constructs a null date. Null dates are invalid.
+.PP
+See also isNull() and isValid().
+.SH "QDate::QDate ( int y, int m, int d )"
+Constructs a date with year \fIy\fR, month \fIm\fR and day \fId\fR.
+.PP
+\fIy\fR must be in the range 1752..8000, \fIm\fR must be in the range 1..12, and \fId\fR must be in the range 1..31.
+.PP
+\fBWarning:\fR If \fIy\fR is in the range 0..99, it is interpreted as 1900..1999.
+.PP
+See also isValid().
+.SH "QDate QDate::addDays ( int ndays ) const"
+Returns a QDate object containing a date \fIndays\fR later than the date of this object (or earlier if \fIndays\fR is negative).
+.PP
+See also addMonths(), addYears(), and daysTo().
+.SH "QDate QDate::addMonths ( int nmonths ) const"
+Returns a QDate object containing a date \fInmonths\fR later than the date of this object (or earlier if \fInmonths\fR is negative).
+.PP
+See also addDays() and addYears().
+.SH "QDate QDate::addYears ( int nyears ) const"
+Returns a QDate object containing a date \fInyears\fR later than the date of this object (or earlier if \fInyears\fR is negative).
+.PP
+See also addDays() and addMonths().
+.SH "QDate QDate::currentDate ( Qt::TimeSpec ts )\fC [static]\fR"
+Returns the current date, as reported by the system clock, for the TimeSpec \fIts\fR. The default TimeSpec is LocalTime.
+.PP
+See also QTime::currentTime(), QDateTime::currentDateTime(), and Qt::TimeSpec.
+.PP
+Example: dclock/dclock.cpp.
+.SH "QDate QDate::currentDate ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the current date, as reported by the system clock.
+.PP
+See also QTime::currentTime() and QDateTime::currentDateTime().
+.SH "int QDate::day () const"
+Returns the day of the month (1..31) of this date.
+.PP
+See also year(), month(), and dayOfWeek().
+.PP
+Example: dclock/dclock.cpp.
+.SH "QString QDate::dayName ( int weekday )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use shortDayName() instead.
+.SH "int QDate::dayOfWeek () const"
+Returns the weekday (Monday=1..Sunday=7) for this date.
+.PP
+See also day() and dayOfYear().
+.SH "int QDate::dayOfYear () const"
+Returns the day of the year (1..365) for this date.
+.PP
+See also day() and dayOfWeek().
+.SH "int QDate::daysInMonth () const"
+Returns the number of days in the month (28..31) for this date.
+.PP
+See also day() and daysInYear().
+.SH "int QDate::daysInYear () const"
+Returns the number of days in the year (365 or 366) for this date.
+.PP
+See also day() and daysInMonth().
+.SH "int QDate::daysTo ( const QDate & d ) const"
+Returns the number of days from this date to \fId\fR (which is negative if \fId\fR is earlier than this date).
+.PP
+Example:
+.PP
+.nf
+.br
+ QDate d1( 1995, 5, 17 ); // May 17th 1995
+.br
+ QDate d2( 1995, 5, 20 ); // May 20th 1995
+.br
+ d1.daysTo( d2 ); // returns 3
+.br
+ d2.daysTo( d1 ); // returns -3
+.br
+.fi
+.PP
+See also addDays().
+.SH "QDate QDate::fromString ( const QString & s, Qt::DateFormat f = Qt::TextDate )\fC [static]\fR"
+Returns the QDate represented by the string \fIs\fR, using the format \fIf\fR, or an invalid date if the string cannot be parsed.
+.PP
+Note for Qt::TextDate: It is recommended that you use the English short month names (e.g. "Jan"). Although localized month names can also be used, they depend on the user's locale settings.
+.PP
+\fBWarning:\fR Qt::LocalDate cannot be used here.
+.SH "bool QDate::isNull () const"
+Returns TRUE if the date is null; otherwise returns FALSE. A null date is invalid.
+.PP
+See also isValid().
+.SH "bool QDate::isValid () const"
+Returns TRUE if this date is valid; otherwise returns FALSE.
+.PP
+See also isNull().
+.SH "bool QDate::isValid ( int y, int m, int d )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the specified date (year \fIy\fR, month \fIm\fR and day \fId\fR) is valid; otherwise returns FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ QDate::isValid( 2002, 5, 17 ); // TRUE May 17th 2002 is valid
+.br
+ QDate::isValid( 2002, 2, 30 ); // FALSE Feb 30th does not exist
+.br
+ QDate::isValid( 2004, 2, 29 ); // TRUE 2004 is a leap year
+.br
+ QDate::isValid( 1202, 6, 6 ); // FALSE 1202 is pre-Gregorian
+.br
+.fi
+.PP
+\fBWarning:\fR A \fIy\fR value in the range 00..99 is interpreted as 1900..1999.
+.PP
+See also isNull() and setYMD().
+.SH "bool QDate::leapYear ( int y )\fC [static]\fR"
+Returns TRUE if the specified year \fIy\fR is a leap year; otherwise returns FALSE.
+.SH "QString QDate::longDayName ( int weekday )\fC [static]\fR"
+Returns the long name of the \fIweekday\fR.
+.PP
+1 = "Monday", 2 = "Tuesday", ... 7 = "Sunday"
+.PP
+The day names will be localized according to the system's locale settings.
+.PP
+See also toString(), shortDayName(), shortMonthName(), and longMonthName().
+.SH "QString QDate::longMonthName ( int month )\fC [static]\fR"
+Returns the long name of the \fImonth\fR.
+.PP
+1 = "January", 2 = "February", ... 12 = "December"
+.PP
+The month names will be localized according to the system's locale settings.
+.PP
+See also toString(), shortMonthName(), shortDayName(), and longDayName().
+.SH "int QDate::month () const"
+Returns the month (January=1..December=12) of this date.
+.PP
+See also year() and day().
+.PP
+Example: dclock/dclock.cpp.
+.SH "QString QDate::monthName ( int month )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use shortMonthName() instead.
+.SH "bool QDate::operator!= ( const QDate & d ) const"
+Returns TRUE if this date is different from \fId\fR; otherwise returns FALSE.
+.SH "bool QDate::operator< ( const QDate & d ) const"
+Returns TRUE if this date is earlier than \fId\fR, otherwise returns FALSE.
+.SH "bool QDate::operator<= ( const QDate & d ) const"
+Returns TRUE if this date is earlier than or equal to \fId\fR, otherwise returns FALSE.
+.SH "bool QDate::operator== ( const QDate & d ) const"
+Returns TRUE if this date is equal to \fId\fR; otherwise returns FALSE.
+.SH "bool QDate::operator> ( const QDate & d ) const"
+Returns TRUE if this date is later than \fId\fR, otherwise returns FALSE.
+.SH "bool QDate::operator>= ( const QDate & d ) const"
+Returns TRUE if this date is later than or equal to \fId\fR, otherwise returns FALSE.
+.SH "bool QDate::setYMD ( int y, int m, int d )"
+Sets the date's year \fIy\fR, month \fIm\fR and day \fId\fR.
+.PP
+\fIy\fR must be in the range 1752..8000, \fIm\fR must be in the range 1..12, and \fId\fR must be in the range 1..31.
+.PP
+\fBWarning:\fR If \fIy\fR is in the range 0..99, it is interpreted as 1900..1999.
+.PP
+Returns TRUE if the date is valid; otherwise returns FALSE.
+.SH "QString QDate::shortDayName ( int weekday )\fC [static]\fR"
+Returns the name of the \fIweekday\fR.
+.PP
+1 = "Mon", 2 = "Tue", ... 7 = "Sun"
+.PP
+The day names will be localized according to the system's locale settings.
+.PP
+See also toString(), shortMonthName(), longMonthName(), and longDayName().
+.SH "QString QDate::shortMonthName ( int month )\fC [static]\fR"
+Returns the name of the \fImonth\fR.
+.PP
+1 = "Jan", 2 = "Feb", ... 12 = "Dec"
+.PP
+The month names will be localized according to the system's locale settings.
+.PP
+See also toString(), longMonthName(), shortDayName(), and longDayName().
+.SH "QString QDate::toString ( const QString & format ) const"
+Returns the date as a string. The \fIformat\fR parameter determines the format of the result string.
+.PP
+These expressions may be used:
+.PP
+<center>.nf
+.TS
+l - l. Expression Output d the day as number without a leading zero (1-31) dd the day as number with a leading zero (01-31) ddd the abbreviated localized day name (e.g. 'Mon'..'Sun'). Uses QDate::shortDayName(). dddd the long localized day name (e.g. 'Monday'..'Sunday'). Uses QDate::longDayName(). M the month as number without a leading zero (1-12) MM the month as number with a leading zero (01-12) MMM the abbreviated localized month name (e.g. 'Jan'..'Dec'). Uses QDate::shortMonthName(). MMMM the long localized month name (e.g. 'January'..'December'). Uses QDate::longMonthName(). yy the year as two digit number (00-99) yyyy
+.TE
+.fi
+</center>
+.PP
+All other input characters will be ignored.
+.PP
+Example format strings (assuming that the QDate is the 20<sup><small>th</small></sup> July 1969): <center>.nf
+.TS
+l - l. Format Result dd.MM.yyyy 20.07.1969 ddd MMMM d yy
+.TE
+.fi
+</center>
+.PP
+If the date is an invalid date, then QString::null will be returned.
+.PP
+See also QDateTime::toString() and QTime::toString().
+.SH "QString QDate::toString ( Qt::DateFormat f = Qt::TextDate ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the date as a string. The \fIf\fR parameter determines the format of the string.
+.PP
+If \fIf\fR is Qt::TextDate, the string format is "Sat May 20 1995" (using the shortDayName() and shortMonthName() functions to generate the string, so the day and month names are locale specific).
+.PP
+If \fIf\fR is Qt::ISODate, the string format corresponds to the ISO 8601 specification for representations of dates, which is YYYY-MM-DD where YYYY is the year, MM is the month of the year (between 01 and 12), and DD is the day of the month between 01 and 31.
+.PP
+If \fIf\fR is Qt::LocalDate, the string format depends on the locale settings of the system.
+.PP
+If the date is an invalid date, then QString::null will be returned.
+.PP
+See also shortDayName() and shortMonthName().
+.SH "int QDate::weekNumber ( int * yearNumber = 0 ) const"
+Returns the week number (1 to 53), and stores the year in \fI*yearNumber\fR unless \fIyearNumber\fR is null (the default).
+.PP
+Returns 0 if the date is invalid.
+.PP
+In accordance with ISO 8601, weeks start on Monday and the first Thursday of a year is always in week 1 of that year. Most years have 52 weeks, but some have 53.
+.PP
+\fI*yearNumber\fR is not always the same as year(). For example, 1 January 2000 has week number 52 in the year 1999, and 31 December 2002 has week number 1 in the year 2003.
+.PP
+Copyright (c) 1989 The Regents of the University of California. All rights reserved.
+.PP
+Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.PP
+See also isValid().
+.SH "int QDate::year () const"
+Returns the year (1752..8000) of this date.
+.PP
+See also month() and day().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QDate & d )"
+Writes the date, \fId\fR, to the data stream, \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QDate & d )"
+Reads a date from the stream \fIs\fR into \fId\fR.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdate.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdate.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdateedit.3qt b/doc/man/man3/qdateedit.3qt
new file mode 100644
index 0000000..31ffcce
--- /dev/null
+++ b/doc/man/man3/qdateedit.3qt
@@ -0,0 +1,292 @@
+'\" t
+.TH QDateEdit 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDateEdit \- Date editor
+.SH SYNOPSIS
+\fC#include <qdatetimeedit.h>\fR
+.PP
+Inherits QDateTimeEditBase.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDateEdit\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQDateEdit\fR ( const QDate & date, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDateEdit\fR ()"
+.br
+.ti -1c
+.BI "enum \fBOrder\fR { DMY, MDY, YMD, YDM }"
+.br
+.ti -1c
+.BI "QDate \fBdate\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrder\fR ( Order order )"
+.br
+.ti -1c
+.BI "Order \fBorder\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoAdvance\fR ( bool advance )"
+.br
+.ti -1c
+.BI "bool \fBautoAdvance\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMinValue\fR ( const QDate & d )"
+.br
+.ti -1c
+.BI "QDate \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxValue\fR ( const QDate & d )"
+.br
+.ti -1c
+.BI "QDate \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRange\fR ( const QDate & min, const QDate & max )"
+.br
+.ti -1c
+.BI "QString \fBseparator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSeparator\fR ( const QString & s )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetDate\fR ( const QDate & date )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( const QDate & date )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoAdvance\fR - whether the editor automatically advances to the next section"
+.br
+.ti -1c
+.BI "QDate \fBdate\fR - the editor's date value"
+.br
+.ti -1c
+.BI "QDate \fBmaxValue\fR - the editor's maximum value"
+.br
+.ti -1c
+.BI "QDate \fBminValue\fR - the editor's minimum value"
+.br
+.ti -1c
+.BI "Order \fBorder\fR - the order in which the " "year" ", month and day appear"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QString \fBsectionFormattedText\fR ( int sec )"
+.br
+.ti -1c
+.BI "virtual void \fBsetYear\fR ( int year )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMonth\fR ( int month )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDay\fR ( int day )"
+.br
+.ti -1c
+.BI "virtual void \fBfix\fR ()"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "void \fBupdateButtons\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDateEdit class provides a date editor.
+.PP
+QDateEdit allows the user to edit dates by using the keyboard or the arrow keys to increase/decrease date values. The arrow keys can be used to move from section to section within the QDateEdit box. Dates appear in accordance with the local date/time settings or in year, month, day order if the system doesn't provide this information. It is recommended that the QDateEdit be initialised with a date, e.g.
+.PP
+.nf
+.br
+ QDateEdit *dateEdit = new QDateEdit( QDate::currentDate(), this );
+.br
+ dateEdit->setRange( QDate::currentDate().addDays( -365 ),
+.br
+ QDate::currentDate().addDays( 365 ) );
+.br
+ dateEdit->setOrder( QDateEdit::MDY );
+.br
+ dateEdit->setAutoAdvance( TRUE );
+.br
+.fi
+.PP
+Here we've created a new QDateEdit object initialised with today's date and restricted the valid date range to today plus or minus 365 days. We've set the order to month, day, year. If the auto advance property is TRUE (as we've set it here) when the user completes a section of the date, e.g. enters two digits for the month, they are automatically taken to the next section.
+.PP
+The maximum and minimum values for a date value in the date editor default to the maximum and minimum values for a QDate. You can change this by calling setMinValue(), setMaxValue() or setRange().
+.PP
+Terminology: A QDateEdit widget comprises three 'sections', one each for the year, month and day. You can change the separator character using QDateTimeEditor::setSeparator(), by default the separator will be taken from the systems settings. If that is not possible, it defaults to "-".
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QDate, QTimeEdit, QDateTimeEdit, Advanced Widgets, and Time and Date.
+.SS "Member Type Documentation"
+.SH "QDateEdit::Order"
+This enum defines the order in which the sections that comprise a date appear.
+.TP
+\fCQDateEdit::MDY\fR - month-day-year
+.TP
+\fCQDateEdit::DMY\fR - day-month-year
+.TP
+\fCQDateEdit::YMD\fR - year-month-day (the default)
+.TP
+\fCQDateEdit::YDM\fR - year-day-month (included for completeness; but should not be used)
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDateEdit::QDateEdit ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty date editor which is a child of \fIparent\fR and called name \fIname\fR.
+.SH "QDateEdit::QDateEdit ( const QDate & date, QWidget * parent = 0, const char * name = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a date editor with the initial value \fIdate\fR, parent \fIparent\fR and called \fIname\fR.
+.PP
+The date editor is initialized with \fIdate\fR.
+.SH "QDateEdit::~QDateEdit ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QDateEdit::autoAdvance () const"
+Returns TRUE if the editor automatically advances to the next section; otherwise returns FALSE. See the "autoAdvance" property for details.
+.SH "QDate QDateEdit::date () const"
+Returns the editor's date value. See the "date" property for details.
+.SH "void QDateEdit::fix ()\fC [virtual protected]\fR"
+Attempts to fix any invalid date entries.
+.PP
+The rules applied are as follows:
+.TP
+If the year has four digits it is left unchanged.
+.TP
+If the year has two digits, the year will be changed to four digits in the range current year - 70 to current year + 29.
+.TP
+If the year has three digits in the range 100..999, the current millennium, i.e. 2000, will be added giving a year in the range 2100..2999.
+.TP
+If the day or month is 0 then it will be set to 1 or the minimum valid day\\month in the range.
+.SH "QDate QDateEdit::maxValue () const"
+Returns the editor's maximum value. See the "maxValue" property for details.
+.SH "QDate QDateEdit::minValue () const"
+Returns the editor's minimum value. See the "minValue" property for details.
+.SH "Order QDateEdit::order () const"
+Returns the order in which the year, month and day appear. See the "order" property for details.
+.SH "QString QDateEdit::sectionFormattedText ( int sec )\fC [virtual protected]\fR"
+Returns the formatted number for section \fIsec\fR. This will correspond to either the year, month or day section, depending on the current display order.
+.PP
+See also order.
+.SH "QString QDateEdit::separator () const"
+Returns the editor's separator.
+.SH "void QDateEdit::setAutoAdvance ( bool advance )\fC [virtual]\fR"
+Sets whether the editor automatically advances to the next section to \fIadvance\fR. See the "autoAdvance" property for details.
+.SH "void QDateEdit::setDate ( const QDate & date )\fC [virtual slot]\fR"
+Sets the editor's date value to \fIdate\fR. See the "date" property for details.
+.SH "void QDateEdit::setDay ( int day )\fC [virtual protected]\fR"
+Sets the day to \fIday\fR, which must be a valid day. The function will ensure that the \fIday\fR set is valid for the month and year.
+.SH "void QDateEdit::setMaxValue ( const QDate & d )\fC [virtual]\fR"
+Sets the editor's maximum value to \fId\fR. See the "maxValue" property for details.
+.SH "void QDateEdit::setMinValue ( const QDate & d )\fC [virtual]\fR"
+Sets the editor's minimum value to \fId\fR. See the "minValue" property for details.
+.SH "void QDateEdit::setMonth ( int month )\fC [virtual protected]\fR"
+Sets the month to \fImonth\fR, which must be a valid month, i.e. between 1 and 12.
+.SH "void QDateEdit::setOrder ( Order order )\fC [virtual]\fR"
+Sets the order in which the year, month and day appear to \fIorder\fR. See the "order" property for details.
+.SH "void QDateEdit::setRange ( const QDate & min, const QDate & max )\fC [virtual]\fR"
+Sets the valid input range for the editor to be from \fImin\fR to \fImax\fR inclusive. If \fImin\fR is invalid no minimum date will be set. Similarly, if \fImax\fR is invalid no maximum date will be set.
+.SH "void QDateEdit::setSeparator ( const QString & s )\fC [virtual]\fR"
+Sets the separator to \fIs\fR. Note that currently only the first character of \fIs\fR is used.
+.SH "void QDateEdit::setYear ( int year )\fC [virtual protected]\fR"
+Sets the year to \fIyear\fR, which must be a valid year. The range currently supported is from 1752 to 8000.
+.PP
+See also QDate.
+.SH "void QDateEdit::updateButtons ()\fC [protected slot]\fR"
+Enables/disables the push buttons according to the min/max date for this widget.
+.SH "void QDateEdit::valueChanged ( const QDate & date )\fC [signal]\fR"
+This signal is emitted whenever the editor's value changes. The \fIdate\fR parameter is the new value.
+.SS "Property Documentation"
+.SH "bool autoAdvance"
+This property holds whether the editor automatically advances to the next section.
+.PP
+If autoAdvance is TRUE, the editor will automatically advance focus to the next date section if a user has completed a section. The default is FALSE.
+.PP
+Set this property's value with setAutoAdvance() and get this property's value with autoAdvance().
+.SH "QDate date"
+This property holds the editor's date value.
+.PP
+If the date property is not valid, the editor displays all zeroes and QDateEdit::date() will return an invalid date. It is strongly recommended that the editor is given a default date value (e.g. currentDate()). That way, attempts to set the date property to an invalid date will fail.
+.PP
+When changing the date property, if the date is less than minValue(), or is greater than maxValue(), nothing happens.
+.PP
+Set this property's value with setDate() and get this property's value with date().
+.SH "QDate maxValue"
+This property holds the editor's maximum value.
+.PP
+Setting the maximum date value for the editor is equivalent to calling QDateEdit::setRange( minValue(), \fId\fR ), where \fId\fR is the maximum date. The default maximum date is 8000-12-31.
+.PP
+See also minValue and setRange().
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "QDate minValue"
+This property holds the editor's minimum value.
+.PP
+Setting the minimum date value is equivalent to calling QDateEdit::setRange( \fId\fR, maxValue() ), where \fId\fR is the minimum date. The default minimum date is 1752-09-14.
+.PP
+See also maxValue and setRange().
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "Order order"
+This property holds the order in which the year, month and day appear.
+.PP
+The default order is locale dependent.
+.PP
+See also Order.
+.PP
+Set this property's value with setOrder() and get this property's value with order().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdateedit.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdateedit.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatetime.3qt b/doc/man/man3/qdatetime.3qt
new file mode 100644
index 0000000..e9e057b
--- /dev/null
+++ b/doc/man/man3/qdatetime.3qt
@@ -0,0 +1,337 @@
+'\" t
+.TH QDateTime 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDateTime \- Date and time functions
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdatetime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDateTime\fR ()"
+.br
+.ti -1c
+.BI "\fBQDateTime\fR ( const QDate & date )"
+.br
+.ti -1c
+.BI "\fBQDateTime\fR ( const QDate & date, const QTime & time )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QDate \fBdate\fR () const"
+.br
+.ti -1c
+.BI "QTime \fBtime\fR () const"
+.br
+.ti -1c
+.BI "uint \fBtoTime_t\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDate\fR ( const QDate & date )"
+.br
+.ti -1c
+.BI "void \fBsetTime\fR ( const QTime & time )"
+.br
+.ti -1c
+.BI "void \fBsetTime_t\fR ( uint secsSince1Jan1970UTC )"
+.br
+.ti -1c
+.BI "void \fBsetTime_t\fR ( uint secsSince1Jan1970UTC, Qt::TimeSpec ts )"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Qt::DateFormat f = Qt::TextDate ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( const QString & format ) const"
+.br
+.ti -1c
+.BI "QDateTime \fBaddDays\fR ( int ndays ) const"
+.br
+.ti -1c
+.BI "QDateTime \fBaddMonths\fR ( int nmonths ) const"
+.br
+.ti -1c
+.BI "QDateTime \fBaddYears\fR ( int nyears ) const"
+.br
+.ti -1c
+.BI "QDateTime \fBaddSecs\fR ( int nsecs ) const"
+.br
+.ti -1c
+.BI "int \fBdaysTo\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "int \fBsecsTo\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QDateTime & dt ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QDateTime & dt ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QDateTime \fBcurrentDateTime\fR ()"
+.br
+.ti -1c
+.BI "QDateTime \fBcurrentDateTime\fR ( Qt::TimeSpec ts )"
+.br
+.ti -1c
+.BI "QDateTime \fBfromString\fR ( const QString & s, Qt::DateFormat f = Qt::TextDate )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QDateTime & dt )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QDateTime & dt )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDateTime class provides date and time functions.
+.PP
+A QDateTime object contains a calendar date and a clock time (a" datetime"). It is a combination of the QDate and QTime classes. It can read the current datetime from the system clock. It provides functions for comparing datetimes and for manipulating a datetime by adding a number of seconds, days, months or years.
+.PP
+A QDateTime object is typically created either by giving a date and time explicitly in the constructor, or by using the static function currentDateTime(), which returns a QDateTime object set to the system clock's time. The date and time can be changed with setDate() and setTime(). A datetime can also be set using the setTime_t() function, which takes a POSIX-standard "number of seconds since 00:00:00 on January 1, 1970" value. The fromString() function returns a QDateTime given a string and a date format which is used to interpret the date within the string.
+.PP
+The date() and time() functions provide access to the date and time parts of the datetime. The same information is provided in textual format by the toString() function.
+.PP
+QDateTime provides a full set of operators to compare two QDateTime objects where smaller means earlier and larger means later.
+.PP
+You can increment (or decrement) a datetime by a given number of seconds using addSecs() or days using addDays(). Similarly you can use addMonths() and addYears(). The daysTo() function returns the number of days between two datetimes, and secsTo() returns the number of seconds between two datetimes.
+.PP
+The range of a datetime object is constrained to the ranges of the QDate and QTime objects which it embodies.
+.PP
+See also QDate, QTime, QDateTimeEdit, and Time and Date.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDateTime::QDateTime ()"
+Constructs a null datetime (i.e. null date and null time). A null datetime is invalid, since the date is invalid.
+.PP
+See also isValid().
+.SH "QDateTime::QDateTime ( const QDate & date )"
+Constructs a datetime with date \fIdate\fR and null (but valid) time (00:00:00.000).
+.SH "QDateTime::QDateTime ( const QDate & date, const QTime & time )"
+Constructs a datetime with date \fIdate\fR and time \fItime\fR.
+.SH "QDateTime QDateTime::addDays ( int ndays ) const"
+Returns a QDateTime object containing a datetime \fIndays\fR days later than the datetime of this object (or earlier if \fIndays\fR is negative).
+.PP
+See also daysTo(), addMonths(), addYears(), and addSecs().
+.SH "QDateTime QDateTime::addMonths ( int nmonths ) const"
+Returns a QDateTime object containing a datetime \fInmonths\fR months later than the datetime of this object (or earlier if \fInmonths\fR is negative).
+.PP
+See also daysTo(), addDays(), addYears(), and addSecs().
+.SH "QDateTime QDateTime::addSecs ( int nsecs ) const"
+Returns a QDateTime object containing a datetime \fInsecs\fR seconds later than the datetime of this object (or earlier if \fInsecs\fR is negative).
+.PP
+See also secsTo(), addDays(), addMonths(), and addYears().
+.PP
+Example: listviews/listviews.cpp.
+.SH "QDateTime QDateTime::addYears ( int nyears ) const"
+Returns a QDateTime object containing a datetime \fInyears\fR years later than the datetime of this object (or earlier if \fInyears\fR is negative).
+.PP
+See also daysTo(), addDays(), addMonths(), and addSecs().
+.SH "QDateTime QDateTime::currentDateTime ( Qt::TimeSpec ts )\fC [static]\fR"
+Returns the current datetime, as reported by the system clock, for the TimeSpec \fIts\fR. The default TimeSpec is LocalTime.
+.PP
+See also QDate::currentDate(), QTime::currentTime(), and Qt::TimeSpec.
+.PP
+Example: listviews/listviews.cpp.
+.SH "QDateTime QDateTime::currentDateTime ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the current datetime, as reported by the system clock.
+.PP
+See also QDate::currentDate() and QTime::currentTime().
+.SH "QDate QDateTime::date () const"
+Returns the date part of the datetime.
+.PP
+See also setDate() and time().
+.SH "int QDateTime::daysTo ( const QDateTime & dt ) const"
+Returns the number of days from this datetime to \fIdt\fR (which is negative if \fIdt\fR is earlier than this datetime).
+.PP
+See also addDays() and secsTo().
+.SH "QDateTime QDateTime::fromString ( const QString & s, Qt::DateFormat f = Qt::TextDate )\fC [static]\fR"
+Returns the QDateTime represented by the string \fIs\fR, using the format \fIf\fR, or an invalid datetime if this is not possible.
+.PP
+Note for Qt::TextDate: It is recommended that you use the English short month names (e.g. "Jan"). Although localized month names can also be used, they depend on the user's locale settings.
+.PP
+\fBWarning:\fR Note that Qt::LocalDate cannot be used here.
+.SH "bool QDateTime::isNull () const"
+Returns TRUE if both the date and the time are null; otherwise returns FALSE. A null datetime is invalid.
+.PP
+See also QDate::isNull() and QTime::isNull().
+.SH "bool QDateTime::isValid () const"
+Returns TRUE if both the date and the time are valid; otherwise returns FALSE.
+.PP
+See also QDate::isValid() and QTime::isValid().
+.SH "bool QDateTime::operator!= ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is different from \fIdt\fR; otherwise returns FALSE.
+.PP
+See also operator==().
+.SH "bool QDateTime::operator< ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is earlier than \fIdt\fR; otherwise returns FALSE.
+.SH "bool QDateTime::operator<= ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is earlier than or equal to \fIdt\fR; otherwise returns FALSE.
+.SH "bool QDateTime::operator== ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is equal to \fIdt\fR; otherwise returns FALSE.
+.PP
+See also operator!=().
+.SH "bool QDateTime::operator> ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is later than \fIdt\fR; otherwise returns FALSE.
+.SH "bool QDateTime::operator>= ( const QDateTime & dt ) const"
+Returns TRUE if this datetime is later than or equal to \fIdt\fR; otherwise returns FALSE.
+.SH "int QDateTime::secsTo ( const QDateTime & dt ) const"
+Returns the number of seconds from this datetime to \fIdt\fR (which is negative if \fIdt\fR is earlier than this datetime).
+.PP
+Example:
+.PP
+.nf
+.br
+ QDateTime dt = QDateTime::currentDateTime();
+.br
+ QDateTime xmas( QDate(dt.date().year(),12,24), QTime(17,00) );
+.br
+ qDebug( "There are %d seconds to Christmas", dt.secsTo(xmas) );
+.br
+.fi
+.PP
+See also addSecs(), daysTo(), and QTime::secsTo().
+.SH "void QDateTime::setDate ( const QDate & date )"
+Sets the date part of this datetime to \fIdate\fR.
+.PP
+See also date() and setTime().
+.SH "void QDateTime::setTime ( const QTime & time )"
+Sets the time part of this datetime to \fItime\fR.
+.PP
+See also time() and setDate().
+.SH "void QDateTime::setTime_t ( uint secsSince1Jan1970UTC, Qt::TimeSpec ts )"
+Sets the date and time to \fIts\fR time (Qt::LocalTime or Qt::UTC) given the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (UTC). On systems that do not support timezones this function will behave as if local time were UTC.
+.PP
+On Windows, only a subset of \fIsecsSince1Jan1970UTC\fR values are supported, as Windows starts counting from 1980.
+.PP
+See also toTime_t().
+.SH "void QDateTime::setTime_t ( uint secsSince1Jan1970UTC )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Convenience function that sets the date and time to local time based on the given UTC time.
+.SH "QTime QDateTime::time () const"
+Returns the time part of the datetime.
+.PP
+See also setTime() and date().
+.SH "QString QDateTime::toString ( const QString & format ) const"
+Returns the datetime as a string. The \fIformat\fR parameter determines the format of the result string.
+.PP
+These expressions may be used for the date:
+.PP
+<center>.nf
+.TS
+l - l. Expression Output d the day as number without a leading zero (1-31) dd the day as number with a leading zero (01-31) ddd the abbreviated localized day name (e.g. 'Mon'..'Sun'). Uses QDate::shortDayName(). dddd the long localized day name (e.g. 'Monday'..'Sunday'). Uses QDate::longDayName(). M the month as number without a leading zero (1-12) MM the month as number with a leading zero (01-12) MMM the abbreviated localized month name (e.g. 'Jan'..'Dec'). Uses QDate::shortMonthName(). MMMM the long localized month name (e.g. 'January'..'December'). Uses QDate::longMonthName(). yy the year as two digit number (00-99) yyyy
+.TE
+.fi
+</center>
+.PP
+These expressions may be used for the time:
+.PP
+<center>.nf
+.TS
+l - l. Expression Output h the hour without a leading zero (0..23 or 1..12 if AM/PM display) hh the hour with a leading zero (00..23 or 01..12 if AM/PM display) m the minute without a leading zero (0..59) mm the minute with a leading zero (00..59) s the second whithout a leading zero (0..59) ss the second whith a leading zero (00..59) z the milliseconds without leading zeroes (0..999) zzz the milliseconds with leading zeroes (000..999) AP use AM/PM display. \fIAP\fR will be replaced by either "AM" or "PM". ap
+.TE
+.fi
+</center>
+.PP
+All other input characters will be ignored.
+.PP
+Example format strings (assumed that the QDateTime is 21<small><sup>st</sup></small> May 2001 14:13:09)
+.PP
+<center>.nf
+.TS
+l - l. Format Result dd.MM.yyyy 21.05.2001 ddd MMMM d yy Tue May 21 01 hh:mm:ss.zzz 14:13:09.042 h:m:s ap
+.TE
+.fi
+</center>
+.PP
+If the datetime is an invalid datetime, then QString::null will be returned.
+.PP
+See also QDate::toString() and QTime::toString().
+.SH "QString QDateTime::toString ( Qt::DateFormat f = Qt::TextDate ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the datetime as a string. The \fIf\fR parameter determines the format of the string.
+.PP
+If \fIf\fR is Qt::TextDate, the string format is "Wed May 20 03:40:13 1998" (using QDate::shortDayName(), QDate::shortMonthName(), and QTime::toString() to generate the string, so the day and month names will have localized names).
+.PP
+If \fIf\fR is Qt::ISODate, the string format corresponds to the ISO 8601 extended specification for representations of dates and times, which is YYYY-MM-DDTHH:MM:SS.
+.PP
+If \fIf\fR is Qt::LocalDate, the string format depends on the locale settings of the system.
+.PP
+If the format \fIf\fR is invalid or the datetime is invalid, toString() returns a null string.
+.PP
+See also QDate::toString() and QTime::toString().
+.SH "uint QDateTime::toTime_t () const"
+Returns the datetime as the number of seconds that have passed since 1970-01-01T00:00:00, Coordinated Universal Time (UTC).
+.PP
+On systems that do not support timezones, this function will behave as if local time were UTC.
+.PP
+See also setTime_t().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QDateTime & dt )"
+Writes the datetime \fIdt\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QDateTime & dt )"
+Reads a datetime from the stream \fIs\fR into \fIdt\fR.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatetime.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatetime.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatetimeedit.3qt b/doc/man/man3/qdatetimeedit.3qt
new file mode 100644
index 0000000..6e0d342
--- /dev/null
+++ b/doc/man/man3/qdatetimeedit.3qt
@@ -0,0 +1,146 @@
+'\" t
+.TH QDateTimeEdit 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDateTimeEdit \- Combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes
+.SH SYNOPSIS
+\fC#include <qdatetimeedit.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDateTimeEdit\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQDateTimeEdit\fR ( const QDateTime & datetime, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDateTimeEdit\fR ()"
+.br
+.ti -1c
+.BI "QDateTime \fBdateTime\fR () const"
+.br
+.ti -1c
+.BI "QDateEdit * \fBdateEdit\fR ()"
+.br
+.ti -1c
+.BI "QTimeEdit * \fBtimeEdit\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoAdvance\fR ( bool advance )"
+.br
+.ti -1c
+.BI "bool \fBautoAdvance\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetDateTime\fR ( const QDateTime & dt )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( const QDateTime & datetime )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QDateTime \fBdateTime\fR - the editor's datetime value"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDateTimeEdit class combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes.
+.PP
+QDateTimeEdit consists of a QDateEdit and QTimeEdit widget placed side by side and offers the functionality of both. The user can edit the date and time by using the keyboard or the arrow keys to increase/decrease date or time values. The Tab key can be used to move from section to section within the QDateTimeEdit widget, and the user can be moved automatically when they complete a section using setAutoAdvance(). The datetime can be set with setDateTime().
+.PP
+The date format is read from the system's locale settings. It is set to year, month, day order if that is not possible. See QDateEdit::setOrder() to change this. Times appear in the order hours, minutes, seconds using the 24 hour clock.
+.PP
+It is recommended that the QDateTimeEdit is initialised with a datetime, e.g.
+.PP
+.nf
+.br
+ QDateTimeEdit *dateTimeEdit = new QDateTimeEdit( QDateTime::currentDateTime(), this );
+.br
+ dateTimeEdit->dateEdit()->setRange( QDateTime::currentDate(),
+.br
+ QDateTime::currentDate().addDays( 7 ) );
+.br
+.fi
+Here we've created a new QDateTimeEdit set to the current date and time, and set the date to have a minimum date of now and a maximum date of a week from now.
+.PP
+Terminology: A QDateEdit widget consists of three 'sections', one each for the year, month and day. Similarly a QTimeEdit consists of three sections, one each for the hour, minute and second. The character that separates each date section is specified with setDateSeparator(); similarly setTimeSeparator() is used for the time sections.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QDateEdit, QTimeEdit, Advanced Widgets, and Time and Date.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDateTimeEdit::QDateTimeEdit ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty datetime edit with parent \fIparent\fR and called \fIname\fR.
+.SH "QDateTimeEdit::QDateTimeEdit ( const QDateTime & datetime, QWidget * parent = 0, const char * name = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a datetime edit with the initial value \fIdatetime\fR, parent \fIparent\fR and called \fIname\fR.
+.SH "QDateTimeEdit::~QDateTimeEdit ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QDateTimeEdit::autoAdvance () const"
+Returns TRUE if auto-advance is enabled, otherwise returns FALSE.
+.PP
+See also setAutoAdvance().
+.SH "QDateEdit * QDateTimeEdit::dateEdit ()"
+Returns the internal widget used for editing the date part of the datetime.
+.SH "QDateTime QDateTimeEdit::dateTime () const"
+Returns the editor's datetime value. See the "dateTime" property for details.
+.SH "void QDateTimeEdit::setAutoAdvance ( bool advance )\fC [virtual]\fR"
+Sets the auto advance property of the editor to \fIadvance\fR. If set to TRUE, the editor will automatically advance focus to the next date or time section if the user has completed a section.
+.SH "void QDateTimeEdit::setDateTime ( const QDateTime & dt )\fC [virtual slot]\fR"
+Sets the editor's datetime value to \fIdt\fR. See the "dateTime" property for details.
+.SH "QTimeEdit * QDateTimeEdit::timeEdit ()"
+Returns the internal widget used for editing the time part of the datetime.
+.SH "void QDateTimeEdit::valueChanged ( const QDateTime & datetime )\fC [signal]\fR"
+This signal is emitted every time the date or time changes. The \fIdatetime\fR argument is the new datetime.
+.SS "Property Documentation"
+.SH "QDateTime dateTime"
+This property holds the editor's datetime value.
+.PP
+The datetime edit's datetime which may be an invalid datetime.
+.PP
+Set this property's value with setDateTime() and get this property's value with dateTime().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatetimeedit.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatetimeedit.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdatetimeeditbase.3qt b/doc/man/man3/qdatetimeeditbase.3qt
new file mode 100644
index 0000000..8345b42
--- /dev/null
+++ b/doc/man/man3/qdatetimeeditbase.3qt
@@ -0,0 +1,48 @@
+'\" t
+.TH QDateTimeEditBase 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDateTimeEditBase \- Abstraction for date and edit editors
+.SH SYNOPSIS
+\fC#include <qdatetimeedit.h>\fR
+.PP
+Inherits QWidget.
+.PP
+Inherited by QDateEdit and QTimeEdit.
+.PP
+.SH DESCRIPTION
+The QDateTimeEditBase class provides an abstraction for date and edit editors.
+.PP
+Small abstract class that provides some functions that are common
+for both QDateEdit and QTimeEdit. It is used internally by
+QDateTimeEditor.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdatetimeeditbase.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdatetimeeditbase.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdeepcopy.3qt b/doc/man/man3/qdeepcopy.3qt
new file mode 100644
index 0000000..95b37cd
--- /dev/null
+++ b/doc/man/man3/qdeepcopy.3qt
@@ -0,0 +1,190 @@
+'\" t
+.TH QDeepCopy 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDeepCopy \- Template class which ensures that
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdeepcopy.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDeepCopy\fR ()"
+.br
+.ti -1c
+.BI "\fBQDeepCopy\fR ( const T & t )"
+.br
+.ti -1c
+.BI "QDeepCopy<T> & \fBoperator=\fR ( const T & t )"
+.br
+.ti -1c
+.BI "\fBoperator T\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDeepCopy class is a template class which ensures that implicitly shared and explicitly shared classes reference unique data.
+.PP
+Normally, shared copies reference the same data to optimize memory use and for maximum speed. In the example below, \fCs1\fR, \fCs2\fR, \fCs3\fR, \fCs4\fR and \fCs5\fR share data.
+.PP
+.nf
+.br
+ // all 5 strings share the same data
+.br
+ QString s1 = "abcd";
+.br
+ QString s2 = s1;
+.br
+ QString s3 = s2;
+.br
+ QString s4 = s3;
+.br
+ QString s5 = s2;
+.br
+.fi
+.PP
+QDeepCopy can be used several ways to ensure that an object references unique, unshared data. In the example below, \fCs1\fR, \fCs2\fR and \fCs5\fR share data, while neither \fCs3\fR nor \fCs4\fR share data.
+.PP
+.nf
+.br
+ // s1, s2 and s5 share the same data, neither s3 nor s4 are shared
+.br
+ QString s1 = "abcd";
+.br
+ QString s2 = s1;
+.br
+ QDeepCopy<QString> s3 = s2; // s3 is a deep copy of s2
+.br
+ QString s4 = s3; // s4 is a deep copy of s3
+.br
+ QString s5 = s2;
+.br
+.fi
+.PP
+In the example below, \fCs1\fR, \fCs2\fR and \fCs5\fR share data, and \fCs3\fR and \fCs4\fR share data.
+.PP
+.nf
+.br
+ // s1, s2 and s5 share the same data, s3 and s4 share the same data
+.br
+ QString s1 = "abcd";
+.br
+ QString s2 = s1;
+.br
+ QString s3 = QDeepCopy<QString>( s2 ); // s3 is a deep copy of s2
+.br
+ QString s4 = s3; // s4 is a shallow copy of s3
+.br
+ QString s5 = s2;
+.br
+.fi
+.PP
+QDeepCopy can also provide safety in multithreaded applications that use shared classes. In the example below, the variable \fCglobal_string\fR is used safely since the data contained in \fCglobal_string\fR is always a deep copy. This ensures that all threads get a unique copy of the data, and that any assignments to \fCglobal_string\fR will result in a deep copy.
+.PP
+.nf
+.br
+ QDeepCopy<QString> global_string; // global string data
+.br
+ QMutex global_mutex; // mutex to protext global_string
+.br
+.br
+ ...
+.br
+.br
+ void setGlobalString( const QString &str )
+.br
+ {
+.br
+ global_mutex.lock();
+.br
+ global_string = str; // global_string is a deep copy of str
+.br
+ global_mutex.unlock();
+.br
+ }
+.br
+.br
+ ...
+.br
+.br
+ void MyThread::run()
+.br
+ {
+.br
+ global_mutex.lock();
+.br
+ QString str = global_string; // str is a deep copy of global_string
+.br
+ global_mutex.unlock();
+.br
+.br
+ // process the string data
+.br
+ ...
+.br
+.br
+ // update global_string
+.br
+ setGlobalString( str );
+.br
+ }
+.br
+.fi
+.PP
+\fBWarning:\fR It is the application developer's responsibility to protect the object shared across multiple threads.
+.PP
+The examples above use QString, which is an implicitly shared class. The behavior of QDeepCopy is the same when using explicitly shared classes like QByteArray.
+.PP
+Currently, QDeepCopy works with the following classes:
+.TP
+QMemArray (including subclasses like QByteArray and QCString)
+.TP
+QMap
+.TP
+QString
+.TP
+QValueList (including subclasses like QStringList and QValueStack)
+.TP
+QValueVector
+.PP
+See also Thread Support in Qt, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDeepCopy::QDeepCopy ()"
+Constructs an empty instance of type \fIT\fR.
+.SH "QDeepCopy::QDeepCopy ( const T & t )"
+Constructs a deep copy of \fIt\fR.
+.SH "QDeepCopy::operator T ()"
+Returns a deep copy of the encapsulated data.
+.SH "QDeepCopy<T> & QDeepCopy::operator= ( const T & t )"
+Assigns a deep copy of \fIt\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdeepcopy.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdeepcopy.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdesktopwidget.3qt b/doc/man/man3/qdesktopwidget.3qt
new file mode 100644
index 0000000..f192789
--- /dev/null
+++ b/doc/man/man3/qdesktopwidget.3qt
@@ -0,0 +1,190 @@
+'\" t
+.TH QDesktopWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDesktopWidget \- Access to screen information on multi-head systems
+.SH SYNOPSIS
+\fC#include <qdesktopwidget.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDesktopWidget\fR ()"
+.br
+.ti -1c
+.BI "\fB~QDesktopWidget\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisVirtualDesktop\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumScreens\fR () const"
+.br
+.ti -1c
+.BI "int \fBprimaryScreen\fR () const"
+.br
+.ti -1c
+.BI "int \fBscreenNumber\fR ( QWidget * widget = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBscreenNumber\fR ( const QPoint & point ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBscreen\fR ( int screen = -1 )"
+.br
+.ti -1c
+.BI "const QRect & \fBscreenGeometry\fR ( int screen = -1 ) const"
+.br
+.ti -1c
+.BI "const QRect & \fBscreenGeometry\fR ( QWidget * widget ) const"
+.br
+.ti -1c
+.BI "const QRect & \fBscreenGeometry\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "const QRect & \fBavailableGeometry\fR ( int screen = -1 ) const"
+.br
+.ti -1c
+.BI "const QRect & \fBavailableGeometry\fR ( QWidget * widget ) const"
+.br
+.ti -1c
+.BI "const QRect & \fBavailableGeometry\fR ( const QPoint & p ) const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBresized\fR ( int screen )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDesktopWidget class provides access to screen information on multi-head systems.
+.PP
+Systems with more than one graphics card and monitor can manage the physical screen space available either as multiple desktops, or as a large virtual desktop, which usually has the size of the bounding rectangle of all the screens (see isVirtualDesktop()). For an application, one of the available screens is the primary screen, i.e. the screen where the main widget resides (see primaryScreen()). All windows opened in the context of the application must be constrained to the boundaries of the primary screen; for example, it would be inconvenient if a dialog box popped up on a different screen, or split over two screens.
+.PP
+The QDesktopWidget provides information about the geometry of the available screens with screenGeometry(). The number of screens available is returned by numScreens(). The screen number that a particular point or widget is located in is returned by screenNumber().
+.PP
+Widgets provided by Qt use this class, for example, to place tooltips, menus and dialog boxes according to the parent or application widget.
+.PP
+Applications can use this class to save window positions, or to place child widgets on one screen.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+In the illustration above, Application One's primary screen is screen 0, and App Two's primary screen is screen 1.
+.PP
+See also Advanced Widgets and Environment Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDesktopWidget::QDesktopWidget ()"
+Creates the desktop widget.
+.PP
+If the system supports a virtual desktop, this widget will have the size of the virtual desktop; otherwise this widget will have the size of the primary screen.
+.PP
+Instead of using QDesktopWidget directly, use QApplication::desktop().
+.SH "QDesktopWidget::~QDesktopWidget ()"
+Destroy the object and free allocated resources.
+.SH "const QRect & QDesktopWidget::availableGeometry ( int screen = -1 ) const"
+Returns the available geometry of the screen with index \fIscreen\fR. What is available will be subrect of screenGeometry() based on what the platform decides is available (for example excludes the Dock and Menubar on Mac OS X, or the taskbar on Windows).
+.PP
+See also screenNumber() and screenGeometry().
+.SH "const QRect & QDesktopWidget::availableGeometry ( QWidget * widget ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the available geometry of the screen which contains \fIwidget\fR.
+.PP
+See also screenGeometry().
+.SH "const QRect & QDesktopWidget::availableGeometry ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the available geometry of the screen which contains \fIp\fR.
+.PP
+See also screenGeometry().
+.SH "bool QDesktopWidget::isVirtualDesktop () const"
+Returns TRUE if the system manages the available screens in a virtual desktop; otherwise returns FALSE.
+.PP
+For virtual desktops, screen() will always return the same widget. The size of the virtual desktop is the size of this desktop widget.
+.SH "int QDesktopWidget::numScreens () const"
+Returns the number of available screens.
+.PP
+See also primaryScreen().
+.SH "int QDesktopWidget::primaryScreen () const"
+Returns the index of the primary screen.
+.PP
+See also numScreens().
+.SH "void QDesktopWidget::resized ( int screen )\fC [signal]\fR"
+This signal is emitted when the size of \fIscreen\fR changes.
+.SH "QWidget * QDesktopWidget::screen ( int screen = -1 )"
+Returns a widget that represents the screen with index \fIscreen\fR. This widget can be used to draw directly on the desktop, using an unclipped painter like this:
+.PP
+.nf
+.br
+ QPainter paint( QApplication::desktop()->screen( 0 ), TRUE );
+.br
+ paint.draw...
+.br
+ ...
+.br
+ paint.end();
+.br
+.fi
+.PP
+If the system uses a virtual desktop, the returned widget will have the geometry of the entire virtual desktop i.e. bounding every \fIscreen\fR.
+.PP
+See also primaryScreen(), numScreens(), and isVirtualDesktop().
+.SH "const QRect & QDesktopWidget::screenGeometry ( int screen = -1 ) const"
+Returns the geometry of the screen with index \fIscreen\fR.
+.PP
+See also screenNumber().
+.SH "const QRect & QDesktopWidget::screenGeometry ( QWidget * widget ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the geometry of the screen which contains \fIwidget\fR.
+.SH "const QRect & QDesktopWidget::screenGeometry ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the geometry of the screen which contains \fIp\fR.
+.SH "int QDesktopWidget::screenNumber ( QWidget * widget = 0 ) const"
+Returns the index of the screen that contains the largest part of \fIwidget\fR, or -1 if the widget not on a screen.
+.PP
+See also primaryScreen().
+.SH "int QDesktopWidget::screenNumber ( const QPoint & point ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the index of the screen that contains \fIpoint\fR, or -1 if no screen contains the point.
+.PP
+See also primaryScreen().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdesktopwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdesktopwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdial.3qt b/doc/man/man3/qdial.3qt
new file mode 100644
index 0000000..16e0b7f
--- /dev/null
+++ b/doc/man/man3/qdial.3qt
@@ -0,0 +1,365 @@
+'\" t
+.TH QDial 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDial \- Rounded range control (like a speedometer or potentiometer)
+.SH SYNOPSIS
+\fC#include <qdial.h>\fR
+.PP
+Inherits QWidget and QRangeControl.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDial\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQDial\fR ( int minValue, int maxValue, int pageStep, int value, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDial\fR ()"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR () const"
+.br
+.ti -1c
+.BI "bool \fBwrapping\fR () const"
+.br
+.ti -1c
+.BI "int \fBnotchSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNotchTarget\fR ( double )"
+.br
+.ti -1c
+.BI "double \fBnotchTarget\fR () const"
+.br
+.ti -1c
+.BI "bool \fBnotchesVisible\fR () const"
+.br
+.ti -1c
+.BI "int \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetMaxValue\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR () const"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLineStep\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetPageStep\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBvalue\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBaddLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBsubtractLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBaddPage\fR ()"
+.br
+.ti -1c
+.BI "void \fBsubtractPage\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetNotchesVisible\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWrapping\fR ( bool on )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTracking\fR ( bool enable )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBdialPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBdialMoved\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBdialReleased\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBlineStep\fR - the current line step"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR - the current maximum value"
+.br
+.ti -1c
+.BI "int \fBminValue\fR - the current minimum value"
+.br
+.ti -1c
+.BI "int \fBnotchSize\fR - the current notch size \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "double \fBnotchTarget\fR - the target number of pixels between notches"
+.br
+.ti -1c
+.BI "bool \fBnotchesVisible\fR - whether the notches are shown"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR - the current page step"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR - whether tracking is enabled"
+.br
+.ti -1c
+.BI "int \fBvalue\fR - the current dial value"
+.br
+.ti -1c
+.BI "bool \fBwrapping\fR - whether wrapping is enabled"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBvalueChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrangeChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrepaintScreen\fR ( const QRect * cr = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDial class provides a rounded range control (like a speedometer or potentiometer).
+.PP
+QDial is used when the user needs to control a value within a program-definable range, and the range either wraps around (typically, 0..359 degrees) or the dialog layout needs a square widget.
+.PP
+Both API- and UI-wise, the dial is very similar to a slider. Indeed, when wrapping() is FALSE (the default) there is no real difference between a slider and a dial. They have the same signals, slots and member functions, all of which do the same things. Which one you use depends only on your taste and on the application.
+.PP
+The dial initially emits valueChanged() signals continuously while the slider is being moved; you can make it emit the signal less often by calling setTracking(FALSE). dialMoved() is emitted continuously even when tracking() is FALSE.
+.PP
+The slider also emits dialPressed() and dialReleased() signals when the mouse button is pressed and released. But note that the dial's value can change without these signals being emitted; the keyboard and wheel can be used to change the value.
+.PP
+Unlike the slider, QDial attempts to draw a "nice" number of notches rather than one per lineStep(). If possible, the number of notches drawn is one per lineStep(), but if there aren't enough pixels to draw every one, QDial will draw every second, third etc., notch. notchSize() returns the number of units per notch, hopefully a multiple of lineStep(); setNotchTarget() sets the target distance between neighbouring notches in pixels. The default is 3.75 pixels.
+.PP
+Like the slider, the dial makes the QRangeControl functions setValue(), addLine(), subtractLine(), addPage() and subtractPage() available as slots.
+.PP
+The dial's keyboard interface is fairly simple: The left/up and right/down arrow keys move by lineStep(), page up and page down by pageStep() and Home and End to minValue() and maxValue().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QScrollBar, QSpinBox, GUI Design Handbook: Slider, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDial::QDial ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a dial called \fIname\fR with parent \fIparent\fR. \fIf\fR is propagated to the QWidget constructor. It has the default range of a QRangeControl.
+.SH "QDial::QDial ( int minValue, int maxValue, int pageStep, int value, QWidget * parent = 0, const char * name = 0 )"
+Constructs a dial called \fIname\fR with parent \fIparent\fR. The dial's value can never be smaller than \fIminValue\fR or greater than \fImaxValue\fR. Its page step size is \fIpageStep\fR, and its initial value is \fIvalue\fR.
+.PP
+\fIvalue\fR is forced to be within the legal range.
+.SH "QDial::~QDial ()"
+Destroys the dial.
+.SH "void QDial::addLine ()\fC [slot]\fR"
+Increments the dial's value() by one lineStep().
+.SH "void QDial::addPage ()\fC [slot]\fR"
+Increments the dial's value() by one pageStep() of steps.
+.SH "void QDial::dialMoved ( int value )\fC [signal]\fR"
+This signal is emitted whenever the dial \fIvalue\fR changes. The frequency of this signal is \fInot\fR influenced by setTracking().
+.PP
+See also valueChanged().
+.SH "void QDial::dialPressed ()\fC [signal]\fR"
+This signal is emitted when the user begins mouse interaction with the dial.
+.PP
+See also dialReleased().
+.SH "void QDial::dialReleased ()\fC [signal]\fR"
+This signal is emitted when the user ends mouse interaction with the dial.
+.PP
+See also dialPressed().
+.SH "int QDial::lineStep () const"
+Returns the current line step. See the "lineStep" property for details.
+.SH "int QDial::maxValue () const"
+Returns the current maximum value. See the "maxValue" property for details.
+.SH "int QDial::minValue () const"
+Returns the current minimum value. See the "minValue" property for details.
+.SH "int QDial::notchSize () const"
+Returns the current notch size. See the "notchSize" property for details.
+.SH "double QDial::notchTarget () const"
+Returns the target number of pixels between notches. See the "notchTarget" property for details.
+.SH "bool QDial::notchesVisible () const"
+Returns TRUE if the notches are shown; otherwise returns FALSE. See the "notchesVisible" property for details.
+.SH "int QDial::pageStep () const"
+Returns the current page step. See the "pageStep" property for details.
+.SH "void QDial::rangeChange ()\fC [virtual protected]\fR"
+Reimplemented to ensure tick-marks are consistent with the new range.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QDial::repaintScreen ( const QRect * cr = 0 )\fC [virtual protected]\fR"
+Paints the dial using clip region \fIcr\fR.
+.SH "void QDial::setLineStep ( int )"
+Sets the current line step. See the "lineStep" property for details.
+.SH "void QDial::setMaxValue ( int )"
+Sets the current maximum value. See the "maxValue" property for details.
+.SH "void QDial::setMinValue ( int )"
+Sets the current minimum value. See the "minValue" property for details.
+.SH "void QDial::setNotchTarget ( double )\fC [virtual]\fR"
+Sets the target number of pixels between notches. See the "notchTarget" property for details.
+.SH "void QDial::setNotchesVisible ( bool b )\fC [virtual slot]\fR"
+Sets whether the notches are shown to \fIb\fR. See the "notchesVisible" property for details.
+.SH "void QDial::setPageStep ( int )"
+Sets the current page step. See the "pageStep" property for details.
+.SH "void QDial::setTracking ( bool enable )\fC [virtual slot]\fR"
+Sets whether tracking is enabled to \fIenable\fR. See the "tracking" property for details.
+.SH "void QDial::setValue ( int )\fC [virtual slot]\fR"
+Sets the current dial value. See the "value" property for details.
+.SH "void QDial::setWrapping ( bool on )\fC [virtual slot]\fR"
+Sets whether wrapping is enabled to \fIon\fR. See the "wrapping" property for details.
+.SH "void QDial::subtractLine ()\fC [slot]\fR"
+Decrements the dial's value() by one lineStep().
+.SH "void QDial::subtractPage ()\fC [slot]\fR"
+Decrements the dial's value() by one pageStep() of steps.
+.SH "bool QDial::tracking () const"
+Returns TRUE if tracking is enabled; otherwise returns FALSE. See the "tracking" property for details.
+.SH "int QDial::value () const"
+Returns the current dial value. See the "value" property for details.
+.SH "void QDial::valueChange ()\fC [virtual protected]\fR"
+Reimplemented to ensure the display is correct and to emit the valueChanged(int) signal when appropriate.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QDial::valueChanged ( int value )\fC [signal]\fR"
+This signal is emitted whenever the dial's \fIvalue\fR changes. The frequency of this signal is influenced by setTracking().
+.SH "bool QDial::wrapping () const"
+Returns TRUE if wrapping is enabled; otherwise returns FALSE. See the "wrapping" property for details.
+.SS "Property Documentation"
+.SH "int lineStep"
+This property holds the current line step.
+.PP
+setLineStep() calls the virtual stepChange() function if the new line step is different from the previous setting.
+.PP
+See also QRangeControl::setSteps(), pageStep, and setRange().
+.PP
+Set this property's value with setLineStep() and get this property's value with lineStep().
+.SH "int maxValue"
+This property holds the current maximum value.
+.PP
+When setting this property, the QDial::minValue is adjusted if necessary to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "int minValue"
+This property holds the current minimum value.
+.PP
+When setting this property, the QDial::maxValue is adjusted if necessary to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "int notchSize"
+This property holds the current notch size.
+.PP
+The notch size is in range control units, not pixels, and if possible it is a multiple of lineStep() that results in an on-screen notch size near notchTarget().
+.PP
+See also notchTarget and lineStep.
+.PP
+Get this property's value with notchSize().
+.SH "double notchTarget"
+This property holds the target number of pixels between notches.
+.PP
+The notch target is the number of pixels QDial attempts to put between each notch.
+.PP
+The actual size may differ from the target size.
+.PP
+Set this property's value with setNotchTarget() and get this property's value with notchTarget().
+.SH "bool notchesVisible"
+This property holds whether the notches are shown.
+.PP
+If TRUE, the notches are shown. If FALSE (the default) notches are not shown.
+.PP
+Set this property's value with setNotchesVisible() and get this property's value with notchesVisible().
+.SH "int pageStep"
+This property holds the current page step.
+.PP
+setPageStep() calls the virtual stepChange() function if the new page step is different from the previous setting.
+.PP
+See also stepChange().
+.PP
+Set this property's value with setPageStep() and get this property's value with pageStep().
+.SH "bool tracking"
+This property holds whether tracking is enabled.
+.PP
+If TRUE (the default), tracking is enabled. This means that the arrow can be moved using the mouse; otherwise the arrow cannot be moved with the mouse.
+.PP
+Set this property's value with setTracking() and get this property's value with tracking().
+.SH "int value"
+This property holds the current dial value.
+.PP
+This is guaranteed to be within the range QDial::minValue..QDial::maxValue.
+.PP
+See also minValue and maxValue.
+.PP
+Set this property's value with setValue() and get this property's value with value().
+.SH "bool wrapping"
+This property holds whether wrapping is enabled.
+.PP
+If TRUE, wrapping is enabled. This means that the arrow can be turned around 360°. Otherwise there is some space at the bottom of the dial which is skipped by the arrow.
+.PP
+This property's default is FALSE.
+.PP
+Set this property's value with setWrapping() and get this property's value with wrapping().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdial.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdial.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdialog.3qt b/doc/man/man3/qdialog.3qt
new file mode 100644
index 0000000..adaaa29
--- /dev/null
+++ b/doc/man/man3/qdialog.3qt
@@ -0,0 +1,322 @@
+'\" t
+.TH QDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDialog \- The base class of dialog windows
+.SH SYNOPSIS
+\fC#include <qdialog.h>\fR
+.PP
+Inherits QWidget.
+.PP
+Inherited by QColorDialog, QErrorMessage, QFileDialog, QFontDialog, QInputDialog, QMessageBox, QMotifDialog, QProgressDialog, QTabDialog, and QWizard.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "explicit \fBQDialog\fR ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDialog\fR ()"
+.br
+.ti -1c
+.BI "enum \fBDialogCode\fR { Rejected, Accepted }"
+.br
+.ti -1c
+.BI "int \fBresult\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBshow\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetOrientation\fR ( Orientation orientation )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetExtension\fR ( QWidget * extension )"
+.br
+.ti -1c
+.BI "QWidget * \fBextension\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSizeGripEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisSizeGripEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetModal\fR ( bool modal )"
+.br
+.ti -1c
+.BI "bool \fBisModal\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "int \fBexec\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBmodal\fR - whether show() should pop up the dialog as modal or modeless"
+.br
+.ti -1c
+.BI "bool \fBsizeGripEnabled\fR - whether the size grip is enabled"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetResult\fR ( int i )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdone\fR ( int r )"
+.br
+.ti -1c
+.BI "virtual void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBreject\fR ()"
+.br
+.ti -1c
+.BI "void \fBshowExtension\fR ( bool showIt )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDialog class is the base class of dialog windows.
+.PP
+A dialog window is a top-level window mostly used for short-term tasks and brief communications with the user. QDialogs may be modal or modeless. QDialogs support extensibility and can provide a return value. They can have default buttons. QDialogs can also have a QSizeGrip in their lower-right corner, using setSizeGripEnabled().
+.PP
+Note that QDialog uses the parent widget slightly differently from other classes in Qt. A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent's top-level widget (if it is not top-level itself). It will also share the parent's taskbar entry.
+.SH "Modal Dialogs"
+A \fBmodal\fR dialog is a dialog that blocks input to other visible windows in the same application. Users must finish interacting with the dialog and close it before they can access any other window in the application. Dialogs that are used to request a file name from the user or that are used to set application preferences are usually modal.
+.PP
+The most common way to display a modal dialog is to call its exec() function. When the user closes the dialog, exec() will provide a useful return value. Typically we connect a default button, e.g. "OK", to the accept() slot and a" Cancel" button to the reject() slot, to get the dialog to close and return the appropriate value. Alternatively you can connect to the done() slot, passing it Accepted or Rejected.
+.PP
+An alternative is to call setModal(TRUE), then show(). Unlike exec(), show() returns control to the caller immediately. Calling setModal(TRUE) is especially useful for progress dialogs, where the user must have the ability to interact with the dialog, e.g. to cancel a long running operation. If you use show() and setModal(TRUE) together you must call QApplication::processEvents() periodically during processing to enable the user to interact with the dialog. (See QProgressDialog.)
+.SH "Modeless Dialogs"
+A \fBmodeless\fR dialog is a dialog that operates independently of other windows in the same application. Find and replace dialogs in word-processors are often modeless to allow the user to interact with both the application's main window and with the dialog.
+.PP
+Modeless dialogs are displayed using show(), which returns control to the caller immediately.
+.SH "Default button"
+A dialog's \fIdefault\fR button is the button that's pressed when the user presses Enter (Return). This button is used to signify that the user accepts the dialog's settings and wants to close the dialog. Use QPushButton::setDefault(), QPushButton::isDefault() and QPushButton::autoDefault() to set and control the dialog's default button.
+.SH "Escape Key"
+If the user presses the Esc key in a dialog, QDialog::reject() will be called. This will cause the window to close: the closeEvent cannot be ignored.
+.SH "Extensibility"
+Extensibility is the ability to show the dialog in two ways: a partial dialog that shows the most commonly used options, and a full dialog that shows all the options. Typically an extensible dialog will initially appear as a partial dialog, but with a" More" toggle button. If the user presses the "More" button down, the full dialog will appear. The extension widget will be resized to its sizeHint(). If orientation is Horizontal the extension widget's height() will be expanded to the height() of the dialog. If the orientation is Vertical the extension widget's width() will be expanded to the width() of the dialog. Extensibility is controlled with setExtension(), setOrientation() and showExtension().
+.SH "Return value (modal dialogs)"
+Modal dialogs are often used in situations where a return value is required, e.g. to indicate whether the user pressed "OK" or" Cancel". A dialog can be closed by calling the accept() or the reject() slots, and exec() will return Accepted or Rejected as appropriate. The exec() call returns the result of the dialog. The result is also available from result() if the dialog has not been destroyed. If the WDestructiveClose flag is set, the dialog is deleted after exec() returns.
+.SH "Examples"
+A modal dialog.
+.PP
+.nf
+.br
+ QFileDialog *dlg = new QFileDialog( workingDirectory,
+.br
+ QString::null, 0, 0, TRUE );
+.br
+ dlg->setCaption( QFileDialog::tr( "Open" ) );
+.br
+ dlg->setMode( QFileDialog::ExistingFile );
+.br
+ QString result;
+.br
+ if ( dlg->exec() == QDialog::Accepted ) {
+.br
+ result = dlg->selectedFile();
+.br
+ workingDirectory = dlg->url();
+.br
+ }
+.br
+ delete dlg;
+.br
+ return result;
+.fi
+.PP
+A modeless dialog. After the show() call, control returns to the main event loop.
+.PP
+.nf
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QApplication a( argc, argv );
+.fi
+.PP
+.nf
+.br
+ int scale = 10;
+.fi
+.PP
+.nf
+.br
+ LifeDialog *life = new LifeDialog( scale );
+.br
+ a.setMainWidget( life );
+.br
+ life->setCaption("Qt Example - Life");
+.br
+ life->show();
+.fi
+.PP
+.nf
+.br
+ return a.exec();
+.br
+ }
+.fi
+.PP
+See also QTabDialog, QWidget, QProgressDialog, GUI Design Handbook: Dialogs, Standard, Abstract Widget Classes, and Dialog Classes.
+.SS "Member Type Documentation"
+.SH "QDialog::DialogCode"
+The value returned by a modal dialog.
+.TP
+\fCQDialog::Accepted\fR
+.TP
+\fCQDialog::Rejected\fR
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "explicit QDialog::QDialog ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+Constructs a dialog called \fIname\fR, with parent \fIparent\fR.
+.PP
+A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent. It will also share the parent's taskbar entry.
+.PP
+The widget flags \fIf\fR are passed on to the QWidget constructor. If, for example, you don't want a What's This button in the titlebar of the dialog, pass WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu in \fIf\fR.
+.PP
+\fBWarning:\fR In Qt 3.2, the \fImodal\fR flag is obsolete. There is now a setModal() function that can be used for obtaining a modal behavior when calling show(). This is rarely needed, because modal dialogs are usually invoked using exec(), which ignores the \fImodal\fR flag.
+.PP
+See also QWidget::setWFlags() and Qt::WidgetFlags.
+.SH "QDialog::~QDialog ()"
+Destroys the QDialog, deleting all its children.
+.SH "void QDialog::accept ()\fC [virtual protected slot]\fR"
+Hides the modal dialog and sets the result code to Accepted.
+.PP
+See also reject() and done().
+.PP
+Examples:
+.)l chart/setdataform.cpp and distributor/distributor.ui.h.
+.SH "void QDialog::done ( int r )\fC [virtual protected slot]\fR"
+Closes the dialog and sets its result code to \fIr\fR. If this dialog is shown with exec(), done() causes the local event loop to finish, and exec() to return \fIr\fR.
+.PP
+As with QWidget::close(), done() deletes the dialog if the WDestructiveClose flag is set. If the dialog is the application's main widget, the application terminates. If the dialog is the last window closed, the QApplication::lastWindowClosed() signal is emitted.
+.PP
+See also accept(), reject(), QApplication::mainWidget(), and QApplication::quit().
+.SH "int QDialog::exec ()\fC [slot]\fR"
+Shows the dialog as a modal dialog, blocking until the user closes it. The function returns a DialogCode result.
+.PP
+Users cannot interact with any other window in the same application until they close the dialog.
+.PP
+See also show() and result().
+.PP
+Examples:
+.)l chart/chartform.cpp, dialog/mainwindow.cpp, i18n/main.cpp, network/ftpclient/ftpmainwindow.ui.h, network/networkprotocol/view.cpp, qdir/qdir.cpp, and wizard/main.cpp.
+.SH "QWidget * QDialog::extension () const"
+Returns the dialog's extension or 0 if no extension has been defined.
+.PP
+See also setExtension().
+.SH "bool QDialog::isModal () const"
+Returns TRUE if show() should pop up the dialog as modal or modeless; otherwise returns FALSE. See the "modal" property for details.
+.SH "bool QDialog::isSizeGripEnabled () const"
+Returns TRUE if the size grip is enabled; otherwise returns FALSE. See the "sizeGripEnabled" property for details.
+.SH "Orientation QDialog::orientation () const"
+Returns the dialog's extension orientation.
+.PP
+See also setOrientation().
+.SH "void QDialog::reject ()\fC [virtual protected slot]\fR"
+Hides the modal dialog and sets the result code to Rejected.
+.PP
+See also accept() and done().
+.SH "int QDialog::result () const"
+Returns the modal dialog's result code, Accepted or Rejected.
+.PP
+Do not call this function if the dialog was constructed with the WDestructiveClose flag.
+.SH "void QDialog::setExtension ( QWidget * extension )"
+Sets the widget, \fIextension\fR, to be the dialog's extension, deleting any previous extension. The dialog takes ownership of the extension. Note that if 0 is passed any existing extension will be deleted.
+.PP
+This function must only be called while the dialog is hidden.
+.PP
+See also showExtension(), setOrientation(), and extension().
+.SH "void QDialog::setModal ( bool modal )"
+Sets whether show() should pop up the dialog as modal or modeless to \fImodal\fR. See the "modal" property for details.
+.SH "void QDialog::setOrientation ( Orientation orientation )"
+If \fIorientation\fR is Horizontal, the extension will be displayed to the right of the dialog's main area. If \fIorientation\fR is Vertical, the extension will be displayed below the dialog's main area.
+.PP
+See also orientation() and setExtension().
+.SH "void QDialog::setResult ( int i )\fC [protected]\fR"
+Sets the modal dialog's result code to \fIi\fR.
+.SH "void QDialog::setSizeGripEnabled ( bool )"
+Sets whether the size grip is enabled. See the "sizeGripEnabled" property for details.
+.SH "void QDialog::show ()\fC [virtual]\fR"
+Shows the dialog as a modeless dialog. Control returns immediately to the calling code.
+.PP
+The dialog will be modal or modeless according to the value of the modal property.
+.PP
+See also exec() and modal.
+.PP
+Examples:
+.)l movies/main.cpp, regexptester/main.cpp, showimg/showimg.cpp, and sql/overview/form1/main.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QDialog::showExtension ( bool showIt )\fC [protected slot]\fR"
+If \fIshowIt\fR is TRUE, the dialog's extension is shown; otherwise the extension is hidden.
+.PP
+This slot is usually connected to the QButton::toggled() signal of a QPushButton.
+.PP
+A dialog with a visible extension is not resizeable.
+.PP
+See also show(), setExtension(), and setOrientation().
+.SS "Property Documentation"
+.SH "bool modal"
+This property holds whether show() should pop up the dialog as modal or modeless.
+.PP
+By default, this property is false and show() pops up the dialog as modeless.
+.PP
+exec() ignores the value of this property and always pops up the dialog as modal.
+.PP
+See also show() and exec().
+.PP
+Set this property's value with setModal() and get this property's value with isModal().
+.SH "bool sizeGripEnabled"
+This property holds whether the size grip is enabled.
+.PP
+A QSizeGrip is placed in the bottom right corner of the dialog when this property is enabled. By default, the size grip is disabled.
+.PP
+Set this property's value with setSizeGripEnabled() and get this property's value with isSizeGripEnabled().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdict.3qt b/doc/man/man3/qdict.3qt
new file mode 100644
index 0000000..b0190e7
--- /dev/null
+++ b/doc/man/man3/qdict.3qt
@@ -0,0 +1,374 @@
+'\" t
+.TH QDict 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDict \- Template class that provides a dictionary based on QString keys
+.SH SYNOPSIS
+\fC#include <qdict.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDict\fR ( int size = 17, bool caseSensitive = TRUE )"
+.br
+.ti -1c
+.BI "\fBQDict\fR ( const QDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QDict\fR ()"
+.br
+.ti -1c
+.BI "QDict<type> & \fBoperator=\fR ( const QDict<type> & dict )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( const QString & key, const type * item )"
+.br
+.ti -1c
+.BI "void \fBreplace\fR ( const QString & key, const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const QString & key )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( const QString & key )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( uint newsize )"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDict class is a template class that provides a dictionary based on QString keys.
+.PP
+QMap is an STL-compatible alternative to this class.
+.PP
+QDict is implemented as a template class. Define a template instance QDict<X> to create a dictionary that operates on pointers to X (X *).
+.PP
+A dictionary is a collection of key-value pairs. The key is a QString used for insertion, removal and lookup. The value is a pointer. Dictionaries provide very fast insertion and lookup.
+.PP
+If you want to use non-Unicode, plain 8-bit \fCchar*\fR keys, use the QAsciiDict template. A QDict has the same performance as a QAsciiDict. If you want to have a dictionary that maps QStrings to QStrings use QMap.
+.PP
+The size() of the dictionary is very important. In order to get good performance, you should use a suitably large prime number. Suitable means equal to or larger than the maximum expected number of dictionary items. Size is set in the constructor but may be changed with resize().
+.PP
+Items are inserted with insert(); 0 pointers cannot be inserted. Items are removed with remove(). All the items in a dictionary can be removed with clear(). The number of items in the dictionary is returned by count(). If the dictionary contains no items isEmpty() returns TRUE. You can change an item's value with replace(). Items are looked up with operator[](), or with find() which return a pointer to the value or 0 if the given key does not exist. You can take an item out of the dictionary with take().
+.PP
+Calling setAutoDelete(TRUE) for a dictionary tells it to delete items that are removed. The default behaviour is not to delete items when they are removed.
+.PP
+When an item is inserted, the key is converted (hashed) to an integer index into an internal hash array. This makes lookup very fast.
+.PP
+Items with equal keys are allowed. When inserting two items with the same key, only the last inserted item will be accessible (last in, first out) until it is removed.
+.PP
+The QDictIterator class can traverse the dictionary, but only in an arbitrary order. Multiple iterators may independently traverse the same dictionary.
+.PP
+When inserting an item into a dictionary, only the pointer is copied, not the item itself, i.e. a shallow copy is made. It is possible to make the dictionary copy all of the item's data (a deep copy) when an item is inserted. insert() calls the virtual function QPtrCollection::newItem() for the item to be inserted. Inherit a dictionary and reimplement newItem() if you want deep copies.
+.PP
+When removing a dictionary item, the virtual function QPtrCollection::deleteItem() is called. QDict's default implementation is to delete the item if auto-deletion is enabled.
+.PP
+Example #1:
+.PP
+.nf
+.br
+ QDict<QLineEdit> fields; // QString keys, QLineEdit* values
+.br
+ fields.insert( "forename", new QLineEdit( this ) );
+.br
+ fields.insert( "surname", new QLineEdit( this ) );
+.br
+.br
+ fields["forename"]->setText( "Homer" );
+.br
+ fields["surname"]->setText( "Simpson" );
+.br
+.br
+ QDictIterator<QLineEdit> it( fields ); // See QDictIterator
+.br
+ for( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+ cout << endl;
+.br
+.br
+ if ( fields["forename"] && fields["surname"] )
+.br
+ cout << fields["forename"]->text() << " "
+.br
+.br
+ << fields["surname"]->text() << endl; // Prints "Homer Simpson"
+.br
+.br
+ fields.remove( "forename" ); // Does not delete the line edit
+.br
+ if ( ! fields["forename"] )
+.br
+ cout << "forename is not in the dictionary" << endl;
+.br
+.fi
+In this example we use a dictionary to keep track of the line edits we're using. We insert each line edit into the dictionary with a unique name and then access the line edits via the dictionary.
+.PP
+Example #2:
+.PP
+.nf
+.br
+ QStringList styleList = QStyleFactory::styles();
+.br
+ styleList.sort();
+.br
+ QDict<int> letterDict( 17, FALSE );
+.br
+ for ( QStringList::Iterator it = styleList.begin(); it != styleList.end(); ++it ) {
+.br
+ QString styleName = *it;
+.br
+ QString styleAccel = styleName;
+.br
+ if ( letterDict[styleAccel.left(1)] ) {
+.br
+ for ( uint i = 0; i < styleAccel.length(); i++ ) {
+.br
+ if ( ! letterDict[styleAccel.mid( i, 1 )] ) {
+.br
+ styleAccel = styleAccel.insert( i, '&' );
+.br
+ letterDict.insert(styleAccel.mid( i, 1 ), (const int *)1);
+.br
+ break;
+.br
+ }
+.br
+ }
+.br
+ } else {
+.br
+ styleAccel = "&" + styleAccel;
+.br
+ letterDict.insert(styleAccel.left(1), (const int *)1);
+.br
+ }
+.br
+ (void) new QAction( styleName, QIconSet(), styleAccel, parent );
+.br
+ }
+.br
+.fi
+In the example we are using the dictionary to provide fast random access to the keys, and we don't care what the values are. The example is used to generate a menu of QStyles, each with a unique accelerator key (or no accelerator if there are no unused letters left).
+.PP
+We first obtain the list of available styles, then sort them so that the menu items will be ordered alphabetically. Next we create a dictionary of int pointers. The keys in the dictionary are each one character long, representing letters that have been used for accelerators. We iterate through our list of style names. If the first letter of the style name is in the dictionary, i.e. has been used, we iterate over all the characters in the style name to see if we can find a letter that hasn't been used. If we find an unused letter we put the accelerator ampersand (&) in front of it and add that letter to the dictionary. If we can't find an unused letter the style will simply have no accelerator. If the first letter of the style name is not in the dictionary we use it for the accelerator and add it to the dictionary. Finally we create a QAction for each style.
+.PP
+See also QDictIterator, QAsciiDict, QIntDict, QPtrDict, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDict::QDict ( int size = 17, bool caseSensitive = TRUE )"
+Constructs a dictionary optimized for less than \fIsize\fR entries.
+.PP
+We recommend setting \fIsize\fR to a suitably large prime number (e.g. a prime that's slightly larger than the expected number of entries). This makes the hash distribution better which will lead to faster lookup.
+.PP
+If \fIcaseSensitive\fR is TRUE (the default), keys which differ only by case are considered different.
+.SH "QDict::QDict ( const QDict<type> & dict )"
+Constructs a copy of \fIdict\fR.
+.PP
+Each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy).
+.SH "QDict::~QDict ()"
+Removes all items from the dictionary and destroys it. If setAutoDelete() is TRUE, each value is deleted. All iterators that access this dictionary will be reset.
+.PP
+See also setAutoDelete().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QDict::clear ()\fC [virtual]\fR"
+Removes all items from the dictionary.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that operate on the dictionary are reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QDict::count () const\fC [virtual]\fR"
+Returns the number of items in the dictionary.
+.PP
+See also isEmpty().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QDict::find ( const QString & key ) const"
+Returns the item with key \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to the [] operator.
+.PP
+See also operator[]().
+.SH "void QDict::insert ( const QString & key, const type * item )"
+Inserts the key \fIkey\fR with value \fIitem\fR into the dictionary.
+.PP
+Multiple items can have the same key, in which case only the last item will be accessible using operator[]().
+.PP
+\fIitem\fR may not be 0.
+.PP
+See also replace().
+.PP
+Example: themes/themes.cpp.
+.SH "bool QDict::isEmpty () const"
+Returns TRUE if the dictionary is empty, i.e. count() == 0; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QDict<type> & QDict::operator= ( const QDict<type> & dict )"
+Assigns \fIdict\fR to this dictionary and returns a reference to this dictionary.
+.PP
+This dictionary is first cleared, then each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy), unless newItem() has been reimplemented.
+.SH "type * QDict::operator[] ( const QString & key ) const"
+Returns the item with key \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to the find() function.
+.PP
+See also find().
+.SH "QDataStream & QDict::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a dictionary item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QDict::remove ( const QString & key )"
+Removes the item with \fIkey\fR from the dictionary. Returns TRUE if successful, i.e. if the item is in the dictionary; otherwise returns FALSE.
+.PP
+If there are two or more items with equal keys, then the last item that was inserted will be removed.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that refer to the removed item will be set to point to the next item in the dictionary's traversal order.
+.PP
+See also take(), clear(), and setAutoDelete().
+.SH "void QDict::replace ( const QString & key, const type * item )"
+Replaces the value of the key, \fIkey\fR with \fIitem\fR.
+.PP
+If the item does not already exist, it will be inserted.
+.PP
+\fIitem\fR may not be 0.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ QDict<char> dict;
+.br
+ ...
+.br
+ if ( dict.find( key ) )
+.br
+ dict.remove( key );
+.br
+ dict.insert( key, item );
+.br
+.fi
+.PP
+If there are two or more items with equal keys, then the last item that was inserted will be replaced.
+.PP
+See also insert().
+.SH "void QDict::resize ( uint newsize )"
+Changes the size of the hash table to \fInewsize\fR. The contents of the dictionary are preserved, but all iterators on the dictionary become invalid.
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QDict::size () const"
+Returns the size of the internal hash array (as specified in the constructor).
+.PP
+See also count().
+.SH "void QDict::statistics () const"
+Debugging-only function that prints out the dictionary distribution using qDebug().
+.SH "type * QDict::take ( const QString & key )"
+Takes the item with \fIkey\fR out of the dictionary without deleting it (even if auto-deletion is enabled).
+.PP
+If there are two or more items with equal keys, then the last item that was inserted will be taken.
+.PP
+Returns a pointer to the item taken out, or 0 if the key does not exist in the dictionary.
+.PP
+All dictionary iterators that refer to the taken item will be set to point to the next item in the dictionary traversal order.
+.PP
+See also remove(), clear(), and setAutoDelete().
+.SH "QDataStream & QDict::write ( QDataStream & s, QPtrCollection::Item ) const\fC [virtual protected]\fR"
+Writes a dictionary item to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdict.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdict.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdictiterator.3qt b/doc/man/man3/qdictiterator.3qt
new file mode 100644
index 0000000..a6296b2
--- /dev/null
+++ b/doc/man/man3/qdictiterator.3qt
@@ -0,0 +1,153 @@
+'\" t
+.TH QDictIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDictIterator \- Iterator for QDict collections
+.SH SYNOPSIS
+\fC#include <qdict.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDictIterator\fR ( const QDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QDictIterator\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDictIterator class provides an iterator for QDict collections.
+.PP
+QDictIterator is implemented as a template class. Define a template instance QDictIterator<X> to create a dictionary iterator that operates on QDict<X> (dictionary of X*).
+.PP
+The traversal order is arbitrary; when we speak of the "first"," last" and "next" item we are talking in terms of this arbitrary order.
+.PP
+Multiple iterators may independently traverse the same dictionary. A QDict knows about all the iterators that are operating on the dictionary. When an item is removed from the dictionary, QDict updates all iterators that are referring to the removed item to point to the next item in the (arbitrary) traversal order.
+.PP
+Example:
+.PP
+.nf
+.br
+ QDict<QLineEdit> fields;
+.br
+ fields.insert( "forename", new QLineEdit( this ) );
+.br
+ fields.insert( "surname", new QLineEdit( this ) );
+.br
+ fields.insert( "age", new QLineEdit( this ) );
+.br
+.br
+ fields["forename"]->setText( "Homer" );
+.br
+ fields["surname"]->setText( "Simpson" );
+.br
+ fields["age"]->setText( "45" );
+.br
+.br
+ QDictIterator<QLineEdit> it( fields );
+.br
+ for( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+ cout << endl;
+.br
+.br
+ // Output (random order):
+.br
+ // age: 45
+.br
+ // surname: Simpson
+.br
+ // forename: Homer
+.br
+.fi
+In the example we insert some pointers to line edits into a dictionary, then iterate over the dictionary printing the strings associated with the line edits.
+.PP
+See also QDict, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDictIterator::QDictIterator ( const QDict<type> & dict )"
+Constructs an iterator for \fIdict\fR. The current iterator item is set to point to the first item in the dictionary, \fIdict\fR. First in this context means first in the arbitrary traversal order.
+.SH "QDictIterator::~QDictIterator ()"
+Destroys the iterator.
+.SH "uint QDictIterator::count () const"
+Returns the number of items in the dictionary over which the iterator is operating.
+.PP
+See also isEmpty().
+.SH "type * QDictIterator::current () const"
+Returns a pointer to the current iterator item's value.
+.SH "QString QDictIterator::currentKey () const"
+Returns the current iterator item's key.
+.SH "bool QDictIterator::isEmpty () const"
+Returns TRUE if the dictionary is empty, i.e. count() == 0; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QDictIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QDictIterator::operator() ()"
+Makes the next item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QDictIterator::operator++ ()"
+Prefix ++ makes the next item current and returns the new current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QDictIterator::toFirst ()"
+Resets the iterator, making the first item the first current item. First in this context means first in the arbitrary traversal order. Returns a pointer to this item.
+.PP
+If the dictionary is empty it sets the current item to 0 and
+returns 0.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdictiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdictiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdir.3qt b/doc/man/man3/qdir.3qt
new file mode 100644
index 0000000..8e13ad2
--- /dev/null
+++ b/doc/man/man3/qdir.3qt
@@ -0,0 +1,807 @@
+'\" t
+.TH QDir 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDir \- Access to directory structures and their contents in a platform-independent way
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdir.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBFilterSpec\fR { Dirs = 0x001, Files = 0x002, Drives = 0x004, NoSymLinks = 0x008, All = 0x007, TypeMask = 0x00F, Readable = 0x010, Writable = 0x020, Executable = 0x040, RWEMask = 0x070, Modified = 0x080, Hidden = 0x100, System = 0x200, AccessMask = 0x3F0, DefaultFilter = -1 }"
+.br
+.ti -1c
+.BI "enum \fBSortSpec\fR { Name = 0x00, Time = 0x01, Size = 0x02, Unsorted = 0x03, SortByMask = 0x03, DirsFirst = 0x04, Reversed = 0x08, IgnoreCase = 0x10, LocaleAware = 0x20, DefaultSort = -1 }"
+.br
+.ti -1c
+.BI "\fBQDir\fR ()"
+.br
+.ti -1c
+.BI "\fBQDir\fR ( const QString & path, const QString & nameFilter = QString::null, int sortSpec = Name | IgnoreCase, int filterSpec = All )"
+.br
+.ti -1c
+.BI "\fBQDir\fR ( const QDir & d )"
+.br
+.ti -1c
+.BI "virtual \fB~QDir\fR ()"
+.br
+.ti -1c
+.BI "QDir & \fBoperator=\fR ( const QDir & d )"
+.br
+.ti -1c
+.BI "QDir & \fBoperator=\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPath\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "virtual QString \fBpath\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBabsPath\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBcanonicalPath\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBdirName\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBfilePath\fR ( const QString & fileName, bool acceptAbsPath = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBabsFilePath\fR ( const QString & fileName, bool acceptAbsPath = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBcd\fR ( const QString & dirName, bool acceptAbsPath = TRUE )"
+.br
+.ti -1c
+.BI "virtual bool \fBcdUp\fR ()"
+.br
+.ti -1c
+.BI "QString \fBnameFilter\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNameFilter\fR ( const QString & nameFilter )"
+.br
+.ti -1c
+.BI "FilterSpec \fBfilter\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFilter\fR ( int filterSpec )"
+.br
+.ti -1c
+.BI "SortSpec \fBsorting\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSorting\fR ( int sortSpec )"
+.br
+.ti -1c
+.BI "bool \fBmatchAllDirs\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMatchAllDirs\fR ( bool enable )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QString \fBoperator[]\fR ( int index ) const"
+.br
+.ti -1c
+.BI "virtual QStrList encodedEntryList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual QStrList encodedEntryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual QStringList \fBentryList\fR ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const"
+.br
+.ti -1c
+.BI "virtual QStringList \fBentryList\fR ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const"
+.br
+.ti -1c
+.BI "virtual const QFileInfoList * \fBentryInfoList\fR ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const"
+.br
+.ti -1c
+.BI "virtual const QFileInfoList * \fBentryInfoList\fR ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBmkdir\fR ( const QString & dirName, bool acceptAbsPath = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBrmdir\fR ( const QString & dirName, bool acceptAbsPath = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBisReadable\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBexists\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisRoot\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisRelative\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBconvertToAbs\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBoperator==\fR ( const QDir & d ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBoperator!=\fR ( const QDir & d ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBremove\fR ( const QString & fileName, bool acceptAbsPath = TRUE )"
+.br
+.ti -1c
+.BI "virtual bool \fBrename\fR ( const QString & oldName, const QString & newName, bool acceptAbsPaths = TRUE )"
+.br
+.ti -1c
+.BI "virtual bool \fBexists\fR ( const QString & name, bool acceptAbsPath = TRUE )"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBconvertSeparators\fR ( const QString & pathName )"
+.br
+.ti -1c
+.BI "const QFileInfoList * \fBdrives\fR ()"
+.br
+.ti -1c
+.BI "char \fBseparator\fR ()"
+.br
+.ti -1c
+.BI "bool \fBsetCurrent\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "QDir \fBcurrent\fR ()"
+.br
+.ti -1c
+.BI "QDir \fBhome\fR ()"
+.br
+.ti -1c
+.BI "QDir \fBroot\fR ()"
+.br
+.ti -1c
+.BI "QString \fBcurrentDirPath\fR ()"
+.br
+.ti -1c
+.BI "QString \fBhomeDirPath\fR ()"
+.br
+.ti -1c
+.BI "QString \fBrootDirPath\fR ()"
+.br
+.ti -1c
+.BI "bool \fBmatch\fR ( const QStringList & filters, const QString & fileName )"
+.br
+.ti -1c
+.BI "bool \fBmatch\fR ( const QString & filter, const QString & fileName )"
+.br
+.ti -1c
+.BI "QString \fBcleanDirPath\fR ( const QString & filePath )"
+.br
+.ti -1c
+.BI "bool \fBisRelativePath\fR ( const QString & path )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDir class provides access to directory structures and their contents in a platform-independent way.
+.PP
+A QDir is used to manipulate path names, access information regarding paths and files, and manipulate the underlying file system.
+.PP
+A QDir can point to a file using either a relative or an absolute path. Absolute paths begin with the directory separator "/" (optionally preceded by a drive specification under Windows). If you always use "/" as a directory separator, Qt will translate your paths to conform to the underlying operating system. Relative file names begin with a directory name or a file name and specify a path relative to the current directory.
+.PP
+The "current" path refers to the application's working directory. A QDir's own path is set and retrieved with setPath() and path().
+.PP
+An example of an absolute path is the string "/tmp/quartz", a relative path might look like "src/fatlib". You can use the function isRelative() to check if a QDir is using a relative or an absolute file path. Call convertToAbs() to convert a relative QDir to an absolute one. For a simplified path use cleanDirPath(). To obtain a path which has no symbolic links or redundant ".." elements use canonicalPath(). The path can be set with setPath(), and changed with cd() and cdUp().
+.PP
+QDir provides several static functions, for example, setCurrent() to set the application's working directory and currentDirPath() to retrieve the application's working directory. Access to some common paths is provided with the static functions, current(), home() and root() which return QDir objects or currentDirPath(), homeDirPath() and rootDirPath() which return the path as a string. If you want to know about your application's path use QApplication::applicationDirPath().
+.PP
+The number of entries in a directory is returned by count(). Obtain a string list of the names of all the files and directories in a directory with entryList(). If you prefer a list of QFileInfo pointers use entryInfoList(). Both these functions can apply a name filter, an attributes filter (e.g. read-only, files not directories, etc.), and a sort order. The filters and sort may be set with calls to setNameFilter(), setFilter() and setSorting(). They may also be specified in the entryList() and entryInfoList()'s arguments.
+.PP
+Create a new directory with mkdir(), rename a directory with rename() and remove an existing directory with rmdir(). Remove a file with remove(). You can interrogate a directory with exists(), isReadable() and isRoot().
+.PP
+To get a path with a filename use filePath(), and to get a directory name use dirName(); neither of these functions checks for the existence of the file or directory.
+.PP
+The list of root directories is provided by drives(); on Unix systems this returns a list containing one root directory, "/"; on Windows the list will usually contain "C:/", and possibly "D:/", etc.
+.PP
+It is easiest to work with "/" separators in Qt code. If you need to present a path to the user or need a path in a form suitable for a function in the underlying operating system use convertSeparators().
+.PP
+Examples:
+.)l
+.PP
+See if a directory exists.
+.PP
+.nf
+.br
+ QDir d( "example" ); // "./example"
+.br
+ if ( !d.exists() )
+.br
+ qWarning( "Cannot find the example directory" );
+.br
+.fi
+.PP
+Traversing directories and reading a file.
+.PP
+.nf
+.br
+ QDir d = QDir::root(); // "/"
+.br
+ if ( !d.cd("tmp") ) { // "/tmp"
+.br
+ qWarning( "Cannot find the \\"/tmp\\" directory" );
+.br
+ } else {
+.br
+ QFile f( d.filePath("ex1.txt") ); // "/tmp/ex1.txt"
+.br
+ if ( !f.open(IO_ReadWrite) )
+.br
+ qWarning( "Cannot create the file %s", f.name() );
+.br
+ }
+.br
+.fi
+.PP
+A program that lists all the files in the current directory (excluding symbolic links), sorted by size, smallest first:
+.PP
+.nf
+.br
+ #include <stdio.h>
+.br
+ #include <qdir.h>
+.br
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QDir d;
+.br
+ d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
+.br
+ d.setSorting( QDir::Size | QDir::Reversed );
+.br
+.br
+ const QFileInfoList *list = d.entryInfoList();
+.br
+ QFileInfoListIterator it( *list );
+.br
+ QFileInfo *fi;
+.br
+.br
+ printf( " Bytes Filename\\n" );
+.br
+ while ( (fi = it.current()) != 0 ) {
+.br
+ printf( "%10li %s\\n", fi->size(), fi->fileName().latin1() );
+.br
+ ++it;
+.br
+ }
+.br
+ return 0;
+.br
+ }
+.br
+.fi
+.PP
+See also QApplication::applicationDirPath() and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QDir::FilterSpec"
+This enum describes the filtering options available to QDir, e.g. for entryList() and entryInfoList(). The filter value is specified by OR-ing together values from the following list:
+.TP
+\fCQDir::Dirs\fR - List directories only.
+.TP
+\fCQDir::Files\fR - List files only.
+.TP
+\fCQDir::Drives\fR - List disk drives (ignored under Unix).
+.TP
+\fCQDir::NoSymLinks\fR - Do not list symbolic links (ignored by operating systems that don't support symbolic links).
+.TP
+\fCQDir::All\fR - List directories, files, drives and symlinks (this does not list broken symlinks unless you specify System).
+.TP
+\fCQDir::TypeMask\fR - A mask for the the Dirs, Files, Drives and NoSymLinks flags.
+.TP
+\fCQDir::Readable\fR - List files for which the application has read access.
+.TP
+\fCQDir::Writable\fR - List files for which the application has write access.
+.TP
+\fCQDir::Executable\fR - List files for which the application has execute access. Executables needs to be combined with Dirs or Files.
+.TP
+\fCQDir::RWEMask\fR - A mask for the Readable, Writable and Executable flags.
+.TP
+\fCQDir::Modified\fR - Only list files that have been modified (ignored under Unix).
+.TP
+\fCQDir::Hidden\fR - List hidden files (on Unix, files starting with a .).
+.TP
+\fCQDir::System\fR - List system files (on Unix, FIFOs, sockets and device files)
+.TP
+\fCQDir::AccessMask\fR - A mask for the Readable, Writable, Executable Modified, Hidden and System flags
+.TP
+\fCQDir::DefaultFilter\fR - Internal flag.
+.PP
+If you do not set any of Readable, Writable or Executable, QDir will set all three of them. This makes the default easy to write and at the same time useful.
+.PP
+Examples:
+.)l \fCReadable|Writable\fR means list all files for which the
+application has read access, write access or both. \fCDirs|Drives\fR means list drives, directories, all files that the application can read, write or execute, and also symlinks to such files/directories.
+.SH "QDir::SortSpec"
+This enum describes the sort options available to QDir, e.g. for entryList() and entryInfoList(). The sort value is specified by OR-ing together values from the following list:
+.TP
+\fCQDir::Name\fR - Sort by name.
+.TP
+\fCQDir::Time\fR - Sort by time (modification time).
+.TP
+\fCQDir::Size\fR - Sort by file size.
+.TP
+\fCQDir::Unsorted\fR - Do not sort.
+.TP
+\fCQDir::SortByMask\fR - A mask for Name, Time and Size.
+.TP
+\fCQDir::DirsFirst\fR - Put the directories first, then the files.
+.TP
+\fCQDir::Reversed\fR - Reverse the sort order.
+.TP
+\fCQDir::IgnoreCase\fR - Sort case-insensitively.
+.TP
+\fCQDir::LocaleAware\fR - Sort names using locale aware compares
+.TP
+\fCQDir::DefaultSort\fR - Internal flag.
+.PP
+You can only specify one of the first four.
+.PP
+If you specify both DirsFirst and Reversed, directories are still put first, but in reverse order; the files will be listed after the directories, again in reverse order.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDir::QDir ()"
+Constructs a QDir pointing to the current directory (".").
+.PP
+See also currentDirPath().
+.SH "QDir::QDir ( const QString & path, const QString & nameFilter = QString::null, int sortSpec = Name | IgnoreCase, int filterSpec = All )"
+Constructs a QDir with path \fIpath\fR, that filters its entries by name using \fInameFilter\fR and by attributes using \fIfilterSpec\fR. It also sorts the names using \fIsortSpec\fR.
+.PP
+The default \fInameFilter\fR is an empty string, which excludes nothing; the default \fIfilterSpec\fR is All, which also means exclude nothing. The default \fIsortSpec\fR is \fCName|IgnoreCase\fR, i.e. sort by name case-insensitively.
+.PP
+Example that lists all the files in "/tmp":
+.PP
+.nf
+.br
+ QDir d( "/tmp" );
+.br
+ for ( int i = 0; i < d.count(); i++ )
+.br
+ printf( "%s\\n", d[i] );
+.br
+.fi
+.PP
+If \fIpath\fR is "" or QString::null, QDir uses "." (the current directory). If \fInameFilter\fR is "" or QString::null, QDir uses the name filter "*" (all files).
+.PP
+Note that \fIpath\fR need not exist.
+.PP
+See also exists(), setPath(), setNameFilter(), setFilter(), and setSorting().
+.SH "QDir::QDir ( const QDir & d )"
+Constructs a QDir that is a copy of the directory \fId\fR.
+.PP
+See also operator=().
+.SH "QDir::~QDir ()\fC [virtual]\fR"
+Destroys the QDir frees up its resources.
+.SH "QString QDir::absFilePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const\fC [virtual]\fR"
+Returns the absolute path name of a file in the directory. Does \fInot\fR check if the file actually exists in the directory. Redundant multiple separators or "." and ".." directories in \fIfileName\fR will not be removed (see cleanDirPath()).
+.PP
+If \fIacceptAbsPath\fR is TRUE a \fIfileName\fR starting with a separator "/" will be returned without change. If \fIacceptAbsPath\fR is FALSE an absolute path will be prepended to the fileName and the resultant string returned.
+.PP
+See also filePath().
+.SH "QString QDir::absPath () const\fC [virtual]\fR"
+Returns the absolute path (a path that starts with "/" or with a drive specification), which may contain symbolic links, but never contains redundant ".", ".." or multiple separators.
+.PP
+See also setPath(), canonicalPath(), exists(), cleanDirPath(), dirName(), and absFilePath().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QString QDir::canonicalPath () const\fC [virtual]\fR"
+Returns the canonical path, i.e. a path without symbolic links or redundant "." or ".." elements.
+.PP
+On systems that do not have symbolic links this function will always return the same string that absPath() returns. If the canonical path does not exist (normally due to dangling symbolic links) canonicalPath() returns QString::null.
+.PP
+See also path(), absPath(), exists(), cleanDirPath(), dirName(), absFilePath(), and QString::isNull().
+.SH "bool QDir::cd ( const QString & dirName, bool acceptAbsPath = TRUE )\fC [virtual]\fR"
+Changes the QDir's directory to \fIdirName\fR.
+.PP
+If \fIacceptAbsPath\fR is TRUE a path starting with separator "/" will cause the function to change to the absolute directory. If \fIacceptAbsPath\fR is FALSE any number of separators at the beginning of \fIdirName\fR will be removed and the function will descend into \fIdirName\fR.
+.PP
+Returns TRUE if the new directory exists and is readable; otherwise returns FALSE. Note that the logical cd() operation is not performed if the new directory does not exist.
+.PP
+Calling cd( ".." ) is equivalent to calling cdUp().
+.PP
+See also cdUp(), isReadable(), exists(), and path().
+.PP
+Example: fileiconview/mainwindow.cpp.
+.SH "bool QDir::cdUp ()\fC [virtual]\fR"
+Changes directory by moving one directory up from the QDir's current directory.
+.PP
+Returns TRUE if the new directory exists and is readable; otherwise returns FALSE. Note that the logical cdUp() operation is not performed if the new directory does not exist.
+.PP
+See also cd(), isReadable(), exists(), and path().
+.SH "QString QDir::cleanDirPath ( const QString & filePath )\fC [static]\fR"
+Removes all multiple directory separators "/" and resolves any"
+."s or ".."s found in the path, \fIfilePath\fR.
+.PP
+Symbolic links are kept. This function does not return the canonical path, but rather the simplest version of the input. For example, "./local" becomes "local", "local/../bin" becomes" bin" and "/local/usr/../bin" becomes "/local/bin".
+.PP
+See also absPath() and canonicalPath().
+.SH "QString QDir::convertSeparators ( const QString & pathName )\fC [static]\fR"
+Returns \fIpathName\fR with the '/' separators converted to separators that are appropriate for the underlying operating system.
+.PP
+On Windows, convertSeparators("c:/winnt/system32") returns" c:\\winnt\\system32".
+.PP
+The returned string may be the same as the argument on some operating systems, for example on Unix.
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "void QDir::convertToAbs ()\fC [virtual]\fR"
+Converts the directory path to an absolute path. If it is already absolute nothing is done.
+.PP
+See also isRelative().
+.SH "uint QDir::count () const"
+Returns the total number of directories and files that were found.
+.PP
+Equivalent to entryList().count().
+.PP
+See also operator[]() and entryList().
+.SH "QDir QDir::current ()\fC [static]\fR"
+Returns the application's current directory.
+.PP
+Use path() to access a QDir object's path.
+.PP
+See also currentDirPath() and QDir::QDir().
+.SH "QString QDir::currentDirPath ()\fC [static]\fR"
+Returns the absolute path of the application's current directory.
+.PP
+See also current().
+.PP
+Examples:
+.)l dirview/dirview.cpp, helpviewer/helpwindow.cpp, and qdir/qdir.cpp.
+.SH "QString QDir::dirName () const\fC [virtual]\fR"
+Returns the name of the directory; this is \fInot\fR the same as the path, e.g. a directory with the name "mail", might have the path" /var/spool/mail". If the directory has no name (e.g. it is the root directory) QString::null is returned.
+.PP
+No check is made to ensure that a directory with this name actually exists.
+.PP
+See also path(), absPath(), absFilePath(), exists(), and QString::isNull().
+.SH "const QFileInfoList * QDir::drives ()\fC [static]\fR"
+Returns a list of the root directories on this system. On Windows this returns a number of QFileInfo objects containing "C:/", "D:/" etc. On other operating systems, it returns a list containing just one root directory (e.g. "/").
+.PP
+The returned pointer is owned by Qt. Callers should \fInot\fR delete or modify it.
+.PP
+Example: dirview/main.cpp.
+.SH "QStrList QDir::encodedEntryList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function is included to easy porting from Qt 1.x to Qt 2.0, it is the same as entryList(), but encodes the filenames as 8-bit strings using QFile::encodedName().
+.PP
+It is more efficient to use entryList().
+.SH "QStrList QDir::encodedEntryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function is included to easy porting from Qt 1.x to Qt 2.0, it is the same as entryList(), but encodes the filenames as 8-bit strings using QFile::encodedName().
+.PP
+It is more efficient to use entryList().
+.SH "const QFileInfoList * QDir::entryInfoList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+Returns a list of QFileInfo objects for all the files and directories in the directory, ordered in accordance with setSorting() and filtered in accordance with setFilter() and setNameFilter().
+.PP
+The filter and sorting specifications can be overridden using the \fInameFilter\fR, \fIfilterSpec\fR and \fIsortSpec\fR arguments.
+.PP
+Returns 0 if the directory is unreadable or does not exist.
+.PP
+The returned pointer is a const pointer to a QFileInfoList. The list is owned by the QDir object and will be reused on the next call to entryInfoList() for the same QDir instance. If you want to keep the entries of the list after a subsequent call to this function you must copy them.
+.PP
+Note: QFileInfoList is really a QPtrList<QFileInfo>.
+.PP
+See also entryList(), setNameFilter(), setSorting(), and setFilter().
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "const QFileInfoList * QDir::entryInfoList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of QFileInfo objects for all the files and directories in the directory, ordered in accordance with setSorting() and filtered in accordance with setFilter() and setNameFilter().
+.PP
+The filter and sorting specifications can be overridden using the \fIfilterSpec\fR and \fIsortSpec\fR arguments.
+.PP
+Returns 0 if the directory is unreadable or does not exist.
+.PP
+The returned pointer is a const pointer to a QFileInfoList. The list is owned by the QDir object and will be reused on the next call to entryInfoList() for the same QDir instance. If you want to keep the entries of the list after a subsequent call to this function you must copy them.
+.PP
+Note: QFileInfoList is really a QPtrList<QFileInfo>.
+.PP
+See also entryList(), setNameFilter(), setSorting(), and setFilter().
+.SH "QStringList QDir::entryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+Returns a list of the names of all the files and directories in the directory, ordered in accordance with setSorting() and filtered in accordance with setFilter() and setNameFilter().
+.PP
+The filter and sorting specifications can be overridden using the \fInameFilter\fR, \fIfilterSpec\fR and \fIsortSpec\fR arguments.
+.PP
+Returns an empty list if the directory is unreadable or does not exist.
+.PP
+See also entryInfoList(), setNameFilter(), setSorting(), and setFilter().
+.PP
+Example: table/statistics/statistics.cpp.
+.SH "QStringList QDir::entryList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of the names of all the files and directories in the directory, ordered in accordance with setSorting() and filtered in accordance with setFilter() and setNameFilter().
+.PP
+The filter and sorting specifications can be overridden using the \fIfilterSpec\fR and \fIsortSpec\fR arguments.
+.PP
+Returns an empty list if the directory is unreadable or does not exist.
+.PP
+See also entryInfoList(), setNameFilter(), setSorting(), and setFilter().
+.SH "bool QDir::exists ( const QString & name, bool acceptAbsPath = TRUE )\fC [virtual]\fR"
+Checks for the existence of the file \fIname\fR.
+.PP
+If \fIacceptAbsPath\fR is TRUE a path starting with separator "/" will check the file with the absolute path. If \fIacceptAbsPath\fR is FALSE any number of separators at the beginning of \fIname\fR will be removed and the resultant file name will be checked.
+.PP
+Returns TRUE if the file exists; otherwise returns FALSE.
+.PP
+See also QFileInfo::exists() and QFile::exists().
+.SH "bool QDir::exists () const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the \fIdirectory\fR exists; otherwise returns FALSE. (If a file with the same name is found this function will return FALSE).
+.PP
+See also QFileInfo::exists() and QFile::exists().
+.SH "QString QDir::filePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const\fC [virtual]\fR"
+Returns the path name of a file in the directory. Does \fInot\fR check if the file actually exists in the directory. If the QDir is relative the returned path name will also be relative. Redundant multiple separators or "." and ".." directories in \fIfileName\fR will not be removed (see cleanDirPath()).
+.PP
+If \fIacceptAbsPath\fR is TRUE a \fIfileName\fR starting with a separator "/" will be returned without change. If \fIacceptAbsPath\fR is FALSE an absolute path will be prepended to the fileName and the resultant string returned.
+.PP
+See also absFilePath(), isRelative(), and canonicalPath().
+.SH "FilterSpec QDir::filter () const"
+Returns the value set by setFilter()
+.SH "QDir QDir::home ()\fC [static]\fR"
+Returns the home directory.
+.PP
+Under Windows the \fCHOME\fR environment variable is used. If this does not exist the \fCUSERPROFILE\fR environment variable is used. If that does not exist the path is formed by concatenating the \fCHOMEDRIVE\fR and \fCHOMEPATH\fR environment variables. If they don't exist the rootDirPath() is used (this uses the \fCSystemDrive\fR environment variable). If none of these exist "C:&#92;" is used.
+.PP
+Under non-Windows operating systems the \fCHOME\fR environment variable is used if it exists, otherwise rootDirPath() is used.
+.PP
+See also homeDirPath().
+.SH "QString QDir::homeDirPath ()\fC [static]\fR"
+Returns the absolute path of the user's home directory.
+.PP
+See also home().
+.SH "bool QDir::isReadable () const\fC [virtual]\fR"
+Returns TRUE if the directory is readable \fIand\fR we can open files by name; otherwise returns FALSE.
+.PP
+\fBWarning:\fR A FALSE value from this function is not a guarantee that files in the directory are not accessible.
+.PP
+See also QFileInfo::isReadable().
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "bool QDir::isRelative () const\fC [virtual]\fR"
+Returns TRUE if the directory path is relative to the current directory and returns FALSE if the path is absolute (e.g. under UNIX a path is relative if it does not start with a "/").
+.PP
+See also convertToAbs().
+.SH "bool QDir::isRelativePath ( const QString & path )\fC [static]\fR"
+Returns TRUE if \fIpath\fR is relative; returns FALSE if it is absolute.
+.PP
+See also isRelative().
+.SH "bool QDir::isRoot () const\fC [virtual]\fR"
+Returns TRUE if the directory is the root directory; otherwise returns FALSE.
+.PP
+Note: If the directory is a symbolic link to the root directory this function returns FALSE. If you want to test for this use canonicalPath(), e.g.
+.PP
+.nf
+.br
+ QDir d( "/tmp/root_link" );
+.br
+ d = d.canonicalPath();
+.br
+ if ( d.isRoot() )
+.br
+ qWarning( "It is a root link" );
+.br
+.fi
+.PP
+See also root() and rootDirPath().
+.SH "bool QDir::match ( const QString & filter, const QString & fileName )\fC [static]\fR"
+Returns TRUE if the \fIfileName\fR matches the wildcard (glob) pattern \fIfilter\fR; otherwise returns FALSE. The \fIfilter\fR may contain multiple patterns separated by spaces or semicolons.
+.PP
+(See QRegExp wildcard matching.)
+.PP
+See also QRegExp::match().
+.SH "bool QDir::match ( const QStringList & filters, const QString & fileName )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the \fIfileName\fR matches any of the wildcard (glob) patterns in the list of \fIfilters\fR; otherwise returns FALSE.
+.PP
+(See QRegExp wildcard matching.)
+.PP
+See also QRegExp::match().
+.SH "bool QDir::matchAllDirs () const"
+Returns the value set by setMatchAllDirs()
+.PP
+See also setMatchAllDirs().
+.SH "bool QDir::mkdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const\fC [virtual]\fR"
+Creates a directory.
+.PP
+If \fIacceptAbsPath\fR is TRUE a path starting with a separator ('/') will create the absolute directory; if \fIacceptAbsPath\fR is FALSE any number of separators at the beginning of \fIdirName\fR will be removed.
+.PP
+Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also rmdir().
+.SH "QString QDir::nameFilter () const"
+Returns the string set by setNameFilter()
+.SH "bool QDir::operator!= ( const QDir & d ) const\fC [virtual]\fR"
+Returns TRUE if directory \fId\fR and this directory have different paths or different sort or filter settings; otherwise returns FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ // The current directory is "/usr/local"
+.br
+ QDir d1( "/usr/local/bin" );
+.br
+ QDir d2( "bin" );
+.br
+ if ( d1 != d2 )
+.br
+ qDebug( "They differ" );
+.br
+.fi
+.SH "QDir & QDir::operator= ( const QDir & d )"
+Makes a copy of QDir \fId\fR and assigns it to this QDir.
+.SH "QDir & QDir::operator= ( const QString & path )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the directory path to be the given \fIpath\fR.
+.SH "bool QDir::operator== ( const QDir & d ) const\fC [virtual]\fR"
+Returns TRUE if directory \fId\fR and this directory have the same path and their sort and filter settings are the same; otherwise returns FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ // The current directory is "/usr/local"
+.br
+ QDir d1( "/usr/local/bin" );
+.br
+ QDir d2( "bin" );
+.br
+ d2.convertToAbs();
+.br
+ if ( d1 == d2 )
+.br
+ qDebug( "They're the same" );
+.br
+.fi
+.SH "QString QDir::operator[] ( int index ) const"
+Returns the file name at position \fIindex\fR in the list of file names. Equivalent to entryList().at(index).
+.PP
+Returns a QString::null if the \fIindex\fR is out of range or if the entryList() function failed.
+.PP
+See also count() and entryList().
+.SH "QString QDir::path () const\fC [virtual]\fR"
+Returns the path, this may contain symbolic links, but never contains redundant ".", ".." or multiple separators.
+.PP
+The returned path can be either absolute or relative (see setPath()).
+.PP
+See also setPath(), absPath(), exists(), cleanDirPath(), dirName(), absFilePath(), and convertSeparators().
+.SH "void QDir::refresh () const"
+Refreshes the directory information.
+.SH "bool QDir::remove ( const QString & fileName, bool acceptAbsPath = TRUE )\fC [virtual]\fR"
+Removes the file, \fIfileName\fR.
+.PP
+If \fIacceptAbsPath\fR is TRUE a path starting with separator "/" will remove the file with the absolute path. If \fIacceptAbsPath\fR is FALSE any number of separators at the beginning of \fIfileName\fR will be removed and the resultant file name will be removed.
+.PP
+Returns TRUE if the file is removed successfully; otherwise returns FALSE.
+.SH "bool QDir::rename ( const QString & oldName, const QString & newName, bool acceptAbsPaths = TRUE )\fC [virtual]\fR"
+Renames a file or directory.
+.PP
+If \fIacceptAbsPaths\fR is TRUE a path starting with a separator ('/') will rename the file with the absolute path; if \fIacceptAbsPaths\fR is FALSE any number of separators at the beginning of the names will be removed.
+.PP
+Returns TRUE if successful; otherwise returns FALSE.
+.PP
+On most file systems, rename() fails only if \fIoldName\fR does not exist or if \fInewName\fR and \fIoldName\fR are not on the same partition. On Windows, rename() will fail if \fInewName\fR already exists. However, there are also other reasons why rename() can fail. For example, on at least one file system rename() fails if \fInewName\fR points to an open file.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QDir::rmdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const\fC [virtual]\fR"
+Removes a directory.
+.PP
+If \fIacceptAbsPath\fR is TRUE a path starting with a separator ('/') will remove the absolute directory; if \fIacceptAbsPath\fR is FALSE any number of separators at the beginning of \fIdirName\fR will be removed.
+.PP
+The directory must be empty for rmdir() to succeed.
+.PP
+Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also mkdir().
+.SH "QDir QDir::root ()\fC [static]\fR"
+Returns the root directory.
+.PP
+See also rootDirPath() and drives().
+.SH "QString QDir::rootDirPath ()\fC [static]\fR"
+Returns the absolute path for the root directory.
+.PP
+For UNIX operating systems this returns "/". For Windows file systems this normally returns "c:/".
+.PP
+See also root() and drives().
+.SH "char QDir::separator ()\fC [static]\fR"
+Returns the native directory separator; "/" under UNIX (including Mac OS X) and "&#92;" under Windows.
+.PP
+You do not need to use this function to build file paths. If you always use "/", Qt will translate your paths to conform to the underlying operating system.
+.SH "bool QDir::setCurrent ( const QString & path )\fC [static]\fR"
+Sets the application's current working directory to \fIpath\fR. Returns TRUE if the directory was successfully changed; otherwise returns FALSE.
+.SH "void QDir::setFilter ( int filterSpec )\fC [virtual]\fR"
+Sets the filter used by entryList() and entryInfoList() to \fIfilterSpec\fR. The filter is used to specify the kind of files that should be returned by entryList() and entryInfoList(). See QDir::FilterSpec.
+.PP
+See also filter() and setNameFilter().
+.SH "void QDir::setMatchAllDirs ( bool enable )\fC [virtual]\fR"
+If \fIenable\fR is TRUE then all directories are included (e.g. in entryList()), and the nameFilter() is only applied to the files. If \fIenable\fR is FALSE then the nameFilter() is applied to both directories and files.
+.PP
+See also matchAllDirs().
+.SH "void QDir::setNameFilter ( const QString & nameFilter )\fC [virtual]\fR"
+Sets the name filter used by entryList() and entryInfoList() to \fInameFilter\fR.
+.PP
+The \fInameFilter\fR is a wildcard (globbing) filter that understands" *" and "?" wildcards. (See QRegExp wildcard matching.) You may specify several filter entries all separated by a single space " " or by a semi-colon" ;".
+.PP
+For example, if you want entryList() and entryInfoList() to list all files ending with either ".cpp" or ".h", you would use either dir.setNameFilter("*.cpp *.h") or dir.setNameFilter("*.cpp;*.h").
+.PP
+See also nameFilter() and setFilter().
+.SH "void QDir::setPath ( const QString & path )\fC [virtual]\fR"
+Sets the path of the directory to \fIpath\fR. The path is cleaned of redundant ".", ".." and of multiple separators. No check is made to ensure that a directory with this path exists.
+.PP
+The path can be either absolute or relative. Absolute paths begin with the directory separator "/" (optionally preceded by a drive specification under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory. An example of an absolute path is the string" /tmp/quartz", a relative path might look like "src/fatlib".
+.PP
+See also path(), absPath(), exists(), cleanDirPath(), dirName(), absFilePath(), isRelative(), and convertToAbs().
+.SH "void QDir::setSorting ( int sortSpec )\fC [virtual]\fR"
+Sets the sort order used by entryList() and entryInfoList().
+.PP
+The \fIsortSpec\fR is specified by OR-ing values from the enum QDir::SortSpec.
+.PP
+See also sorting() and SortSpec.
+.SH "SortSpec QDir::sorting () const"
+Returns the value set by setSorting()
+.PP
+See also setSorting() and SortSpec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdir.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdir.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdirectpainter.3qt b/doc/man/man3/qdirectpainter.3qt
new file mode 100644
index 0000000..8922d43
--- /dev/null
+++ b/doc/man/man3/qdirectpainter.3qt
@@ -0,0 +1,178 @@
+'\" t
+.TH QDirectPainter 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDirectPainter \- Direct access to the video hardware
+.SH SYNOPSIS
+\fC#include <qdirectpainter_qws.h>\fR
+.PP
+Inherits QPainter.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDirectPainter\fR ( const QWidget * w )"
+.br
+.ti -1c
+.BI "\fB~QDirectPainter\fR ()"
+.br
+.ti -1c
+.BI "uchar * \fBframeBuffer\fR ()"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR ()"
+.br
+.ti -1c
+.BI "int \fBtransformOrientation\fR ()"
+.br
+.ti -1c
+.BI "int \fBnumRects\fR () const"
+.br
+.ti -1c
+.BI "const QRect & \fBrect\fR ( int i ) const"
+.br
+.ti -1c
+.BI "QRegion \fBregion\fR () const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "int \fBxOffset\fR () const"
+.br
+.ti -1c
+.BI "int \fByOffset\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBoffset\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAreaChanged\fR ( const QRect & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDirectPainter class provides direct access to the video hardware.
+.PP
+Only available in Qt/Embedded.
+.PP
+When the hardware is known and well defined, as is often the case with software for embedded devices, it may be useful to manipulate the underlying video hardware directly. In order to do this in a way that is co-operative with other applications, you must lock the video hardware for exclusive use for a small time while you write to it, and you must know the clipping region which is allocated to a widget.
+.PP
+QDirectPainter provides this functionality.
+.PP
+In the simplest case, you make a QDirectPainter on a widget and then, observing the clip region, perform some platform-specific operation. For example:
+.PP
+.nf
+.br
+ void MyWidget::updatePlatformGraphics()
+.br
+ {
+.br
+ QDirectPainter dp( this );
+.br
+ for ( int i = 0; i < dp.numRects; i++ ) {
+.br
+ const QRect& clip = dp.rect(i);
+.br
+ ... // platform specific operation
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+The platform-specific code has access to the display, but should only modify graphics in the rectangles specified by numRects() and rect(). Note that these rectangles are relative to the entire display.
+.PP
+The offset() function returns the position of the widget relative to the entire display, allowing you to offset platform-specific operations appropriately. The xOffset() and yOffset() functions merely return the component values of offset().
+.PP
+For simple frame-buffer hardware, the frameBuffer(), lineStep(), and depth() functions provide basic access, though some hardware configurations are insufficiently specified by such simple parameters.
+.PP
+Note that while a QDirectPainter exists, the entire Qt/Embedded window system is locked from use by other applications. Always construct the QDirectPainter as an auto (stack) variable, and be very careful to write robust and stable code within its scope.
+.PP
+See also Graphics Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDirectPainter::QDirectPainter ( const QWidget * w )"
+Construct a direct painter on \fIw\fR. The display is locked and the mouse cursor is hidden if it is above \fIw\fR.
+.SH "QDirectPainter::~QDirectPainter ()"
+Destroys the direct painter. The mouse cursor is revealed if necessary and the display is unlocked.
+.SH "int QDirectPainter::depth () const"
+Returns the bit-depth of the display.
+.SH "uchar * QDirectPainter::frameBuffer ()"
+Returns a pointer to the framebuffer memory if available.
+.SH "int QDirectPainter::height () const"
+Returns the height of the widget drawn upon.
+.SH "int QDirectPainter::lineStep ()"
+Returns the spacing in bytes from one framebuffer line to the next.
+.SH "int QDirectPainter::numRects () const"
+Returns the number of rectangles in the drawable region.
+.PP
+See also rect() and region().
+.SH "QPoint QDirectPainter::offset () const"
+Returns the position of the widget relative to the entire display.
+.SH "const QRect & QDirectPainter::rect ( int i ) const"
+Returns a reference to rectangle \fIi\fR of the drawable region. Valid values for \fIi\fR are 0..numRects()-1.
+.PP
+See also region().
+.SH "QRegion QDirectPainter::region () const"
+Returns the region of the framebuffer which represents the exposed area of the widget being painted on. Note that this may be a sub-area of the clip region, because of child widgets and overlapping cousin widgets.
+.PP
+See also numRects() and rect().
+.SH "void QDirectPainter::setAreaChanged ( const QRect & r )"
+Sets the area changed by the transaction to \fIr\fR. By default, the entire widget is assumed to have changed. The area changed is only used by some graphics drivers, so often calling this function for a smaller area will make no difference to performance.
+.SH "QSize QDirectPainter::size () const"
+Returns the size of the widget drawn upon.
+.PP
+See also width() and height().
+.SH "int QDirectPainter::transformOrientation ()"
+Returns a number that signifies the orientation of the framebuffer. <center>.nf
+.TS
+l - l. 0 no rotation 1 90 degrees rotation 2 180 degrees rotation 3
+.TE
+.fi
+</center>
+.SH "int QDirectPainter::width () const"
+Returns the width of the widget drawn upon.
+.SH "int QDirectPainter::xOffset () const"
+Returns the X-position of the widget relative to the entire display.
+.SH "int QDirectPainter::yOffset () const"
+Returns the Y-position of the widget relative to the entire
+display.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdirectpainter.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdirectpainter.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdns.3qt b/doc/man/man3/qdns.3qt
new file mode 100644
index 0000000..a26191a
--- /dev/null
+++ b/doc/man/man3/qdns.3qt
@@ -0,0 +1,331 @@
+'\" t
+.TH QDns 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDns \- Asynchronous DNS lookups
+.SH SYNOPSIS
+\fC#include <qdns.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBRecordType\fR { None, A, Aaaa, Mx, Srv, Cname, Ptr, Txt }"
+.br
+.ti -1c
+.BI "\fBQDns\fR ()"
+.br
+.ti -1c
+.BI "\fBQDns\fR ( const QString & label, RecordType rr = A )"
+.br
+.ti -1c
+.BI "\fBQDns\fR ( const QHostAddress & address, RecordType rr = Ptr )"
+.br
+.ti -1c
+.BI "virtual \fB~QDns\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetLabel\fR ( const QString & label )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLabel\fR ( const QHostAddress & address )"
+.br
+.ti -1c
+.BI "QString \fBlabel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRecordType\fR ( RecordType rr = A )"
+.br
+.ti -1c
+.BI "RecordType \fBrecordType\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisWorking\fR () const"
+.br
+.ti -1c
+.BI "QValueList<QHostAddress> \fBaddresses\fR () const"
+.br
+.ti -1c
+.BI "QValueList<MailServer> \fBmailServers\fR () const"
+.br
+.ti -1c
+.BI "QValueList<Server> \fBservers\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBhostNames\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBtexts\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcanonicalName\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBqualifiedNames\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBresultsReady\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDns class provides asynchronous DNS lookups.
+.PP
+Both Windows and Unix provide synchronous DNS lookups; Windows provides some asynchronous support too. At the time of writing neither operating system provides asynchronous support for anything other than hostname-to-address mapping.
+.PP
+QDns rectifies this shortcoming, by providing asynchronous caching lookups for the record types that we expect modern GUI applications to need in the near future.
+.PP
+The class is \fInot\fR straightforward to use (although it is much simpler than the native APIs); QSocket provides much easier to use TCP connection facilities. The aim of QDns is to provide a correct and small API to the DNS and nothing more. (We use "correctness" to mean that the DNS information is correctly cached, and correctly timed out.)
+.PP
+The API comprises a constructor, functions to set the DNS node (the domain in DNS terminology) and record type (setLabel() and setRecordType()), the corresponding get functions, an isWorking() function to determine whether QDns is working or reading, a resultsReady() signal and query functions for the result.
+.PP
+There is one query function for each RecordType, namely addresses(), mailServers(), servers(), hostNames() and texts(). There are also two generic query functions: canonicalName() returns the name you'll presumably end up using (the exact meaning of this depends on the record type) and qualifiedNames() returns a list of the fully qualified names label() maps to.
+.PP
+See also QSocket and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QDns::RecordType"
+This enum type defines the record types QDns can handle. The DNS provides many more; these are the ones we've judged to be in current use, useful for GUI programs and important enough to support right away:
+.TP
+\fCQDns::None\fR - No information. This exists only so that QDns can have a default.
+.TP
+\fCQDns::A\fR - IPv4 addresses. By far the most common type.
+.TP
+\fCQDns::Aaaa\fR - IPv6 addresses. So far mostly unused.
+.TP
+\fCQDns::Mx\fR - Mail eXchanger names. Used for mail delivery.
+.TP
+\fCQDns::Srv\fR - SeRVer names. Generic record type for finding servers. So far mostly unused.
+.TP
+\fCQDns::Cname\fR - Canonical names. Maps from nicknames to the true name (the canonical name) for a host.
+.TP
+\fCQDns::Ptr\fR - name PoinTeRs. Maps from IPv4 or IPv6 addresses to hostnames.
+.TP
+\fCQDns::Txt\fR - arbitrary TeXT for domains.
+.PP
+We expect that some support for the RFC-2535 extensions will be added in future versions.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDns::QDns ()"
+Constructs a DNS query object with invalid settings for both the label and the search type.
+.SH "QDns::QDns ( const QString & label, RecordType rr = A )"
+Constructs a DNS query object that will return record type \fIrr\fR information about \fIlabel\fR.
+.PP
+The DNS lookup is started the next time the application enters the event loop. When the result is found the signal resultsReady() is emitted.
+.PP
+\fIrr\fR defaults to A, IPv4 addresses.
+.SH "QDns::QDns ( const QHostAddress & address, RecordType rr = Ptr )"
+Constructs a DNS query object that will return record type \fIrr\fR information about host address \fIaddress\fR. The label is set to the IN-ADDR.ARPA domain name. This is useful in combination with the Ptr record type (e.g. if you want to look up a hostname for a given address).
+.PP
+The DNS lookup is started the next time the application enters the event loop. When the result is found the signal resultsReady() is emitted.
+.PP
+\fIrr\fR defaults to Ptr, that maps addresses to hostnames.
+.SH "QDns::~QDns ()\fC [virtual]\fR"
+Destroys the DNS query object and frees its allocated resources.
+.SH "QValueList<QHostAddress> QDns::addresses () const"
+Returns a list of the addresses for this name if this QDns object has a recordType() of QDns::A or QDns::Aaaa and the answer is available; otherwise returns an empty list.
+.PP
+As a special case, if label() is a valid numeric IP address, this function returns that address.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QHostAddress> list = myDns.addresses();
+.br
+ QValueList<QHostAddress>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "QString QDns::canonicalName () const"
+Returns the canonical name for this DNS node. (This works regardless of what recordType() is set to.)
+.PP
+If the canonical name isn't known, this function returns a null string.
+.PP
+The canonical name of a DNS node is its full name, or the full name of the target of its CNAME. For example, if l.trolltech.com is a CNAME to lillian.troll.no, and the search path for QDns is" trolltech.com", then the canonical name for all of "lillian"," l", "lillian.troll.no." and "l.trolltech.com" is" lillian.troll.no.".
+.SH "QStringList QDns::hostNames () const"
+Returns a list of host names if the record type is Ptr.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDns.hostNames();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "bool QDns::isWorking () const"
+Returns TRUE if QDns is doing a lookup for this object (i.e. if it does not already have the necessary information); otherwise returns FALSE.
+.PP
+QDns emits the resultsReady() signal when the status changes to FALSE.
+.PP
+Example: network/mail/smtp.cpp.
+.SH "QString QDns::label () const"
+Returns the domain name for which this object returns information.
+.PP
+See also setLabel().
+.SH "QValueList<MailServer> QDns::mailServers () const"
+Returns a list of mail servers if the record type is Mx. The class \fCQDns::MailServer\fR contains the following public variables:
+.TP
+QString QDns::MailServer::name
+.TP
+Q_UINT16 QDns::MailServer::priority
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QDns::MailServer> list = myDns.mailServers();
+.br
+ QValueList<QDns::MailServer>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+Example: network/mail/smtp.cpp.
+.SH "QStringList QDns::qualifiedNames () const"
+Returns a list of the fully qualified names label() maps to.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDns.qualifiedNames();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "RecordType QDns::recordType () const"
+Returns the record type of this DNS query object.
+.PP
+See also setRecordType() and RecordType.
+.SH "void QDns::resultsReady ()\fC [signal]\fR"
+This signal is emitted when results are available for one of the qualifiedNames().
+.PP
+Example: network/mail/smtp.cpp.
+.SH "QValueList<Server> QDns::servers () const"
+Returns a list of servers if the record type is Srv. The class \fCQDns::Server\fR contains the following public variables:
+.TP
+QString QDns::Server::name
+.TP
+Q_UINT16 QDns::Server::priority
+.TP
+Q_UINT16 QDns::Server::weight
+.TP
+Q_UINT16 QDns::Server::port
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QDns::Server> list = myDns.servers();
+.br
+ QValueList<QDns::Server>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "void QDns::setLabel ( const QString & label )\fC [virtual]\fR"
+Sets this DNS query object to query for information about \fIlabel\fR.
+.PP
+This does not change the recordType(), but its isWorking() status will probably change as a result.
+.PP
+The DNS lookup is started the next time the application enters the event loop. When the result is found the signal resultsReady() is emitted.
+.SH "void QDns::setLabel ( const QHostAddress & address )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets this DNS query object to query for information about the host address \fIaddress\fR. The label is set to the IN-ADDR.ARPA domain name. This is useful in combination with the Ptr record type (e.g. if you want to look up a hostname for a given address).
+.SH "void QDns::setRecordType ( RecordType rr = A )\fC [virtual]\fR"
+Sets this object to query for record type \fIrr\fR records.
+.PP
+The DNS lookup is started the next time the application enters the event loop. When the result is found the signal resultsReady() is emitted.
+.PP
+See also RecordType.
+.SH "QStringList QDns::texts () const"
+Returns a list of texts if the record type is Txt.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDns.texts();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdns.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdns.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdockarea.3qt b/doc/man/man3/qdockarea.3qt
new file mode 100644
index 0000000..b3776d6
--- /dev/null
+++ b/doc/man/man3/qdockarea.3qt
@@ -0,0 +1,233 @@
+'\" t
+.TH QDockArea 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDockArea \- Manages and lays out QDockWindows
+.SH SYNOPSIS
+\fC#include <qdockarea.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBHandlePosition\fR { Normal, Reverse }"
+.br
+.ti -1c
+.BI "\fBQDockArea\fR ( Orientation o, HandlePosition h = Normal, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDockArea\fR ()"
+.br
+.ti -1c
+.BI "void \fBmoveDockWindow\fR ( QDockWindow * w, const QPoint & p, const QRect & r, bool swap )"
+.br
+.ti -1c
+.BI "void \fBremoveDockWindow\fR ( QDockWindow * w, bool makeFloating, bool swap, bool fixNewLines = TRUE )"
+.br
+.ti -1c
+.BI "void \fBmoveDockWindow\fR ( QDockWindow * w, int index = -1 )"
+.br
+.ti -1c
+.BI "bool \fBhasDockWindow\fR ( QDockWindow * w, int * index = 0 )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "HandlePosition \fBhandlePosition\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QPtrList<QDockWindow> \fBdockWindowList\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDockWindowAccepted\fR ( QDockWindow * dw )"
+.br
+.ti -1c
+.BI "void \fBsetAcceptDockWindow\fR ( QDockWindow * dw, bool accept )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBlineUp\fR ( bool keepNewLines )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcount\fR - the number of dock windows in the dock area \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBempty\fR - whether the dock area is empty \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "HandlePosition \fBhandlePosition\fR - where the dock window splitter handle is placed in the dock area \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the dock area's orientation \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( QTextStream & ts, const QDockArea & dockArea )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QTextStream & ts, QDockArea & dockArea )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDockArea class manages and lays out QDockWindows.
+.PP
+A QDockArea is a container which manages a list of QDockWindows which it lays out within its area. In cooperation with the QDockWindows it is responsible for the docking and undocking of QDockWindows and moving them inside the dock area. QDockAreas also handle the wrapping of QDockWindows to fill the available space as compactly as possible. QDockAreas can contain QToolBars since QToolBar is a QDockWindow subclass.
+.PP
+QMainWindow contains four QDockAreas which you can use for your QToolBars and QDockWindows, so in most situations you do not need to use the QDockArea class directly. Although QMainWindow contains support for its own dock areas it isn't convenient for adding new QDockAreas. If you need to create your own dock areas we suggest that you create a subclass of QWidget and add your QDockAreas to your subclass.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+\fILines\fR. QDockArea uses the concept of lines. A line is a horizontal region which may contain dock windows side-by-side. A dock area may have room for more than one line. When dock windows are docked into a dock area they are usually added at the right hand side of the top-most line that has room (unless manually placed by the user). When users move dock windows they may leave empty lines or gaps in non-empty lines. Dock windows can be lined up to minimize wasted space using the lineUp() function.
+.PP
+The QDockArea class maintains a position list of all its child dock windows. Dock windows are added to a dock area from position 0 onwards. Dock windows are laid out sequentially in position order from left to right, and in the case of multiple lines of dock windows, from top to bottom. If a dock window is floated it still retains its position since this is where the window will return if the user double clicks its caption. A dock window's position can be determined with hasDockWindow(). The position can be changed with moveDockWindow().
+.PP
+To dock or undock a dock window use QDockWindow::dock() and QDockWindow::undock() respectively. If you want to control which dock windows can dock in a dock area use setAcceptDockWindow(). To see if a dock area contains a particular dock window use hasDockWindow(); to see how many dock windows a dock area contains use count().
+.PP
+The streaming operators can write the positions of the dock windows in the dock area to a QTextStream. The positions can be read back later to restore the saved positions.
+.PP
+Save the positions to a QTextStream:
+.PP
+.nf
+.br
+ ts << *myDockArea;
+.br
+.fi
+.PP
+Restore the positions from a QTextStream:
+.PP
+.nf
+.br
+ ts >> *myDockArea;
+.br
+.fi
+.PP
+See also Main Window and Related Classes.
+.SS "Member Type Documentation"
+.SH "QDockArea::HandlePosition"
+A dock window has two kinds of handles, the dock window handle used for dragging the dock window, and the splitter handle used to resize the dock window in relation to other dock windows using a splitter. (The splitter handle is only visible for docked windows.)
+.PP
+This enum specifies where the dock window splitter handle is placed in the dock area.
+.TP
+\fCQDockArea::Normal\fR - The splitter handles of dock windows are placed at the right or bottom.
+.TP
+\fCQDockArea::Reverse\fR - The splitter handles of dock windows are placed at the left or top.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDockArea::QDockArea ( Orientation o, HandlePosition h = Normal, QWidget * parent = 0, const char * name = 0 )"
+Constructs a QDockArea with orientation \fIo\fR, HandlePosition \fIh\fR, parent \fIparent\fR and called \fIname\fR.
+.SH "QDockArea::~QDockArea ()"
+Destroys the dock area and all the dock windows docked in the dock area.
+.PP
+Does not affect any floating dock windows or dock windows in other dock areas, even if they first appeared in this dock area. Floating dock windows are effectively top level windows and are not child windows of the dock area. When a floating dock window is docked (dragged into a dock area) its parent becomes the dock area.
+.SH "int QDockArea::count () const"
+Returns the number of dock windows in the dock area. See the "count" property for details.
+.SH "QPtrList<QDockWindow> QDockArea::dockWindowList () const"
+Returns a list of the dock windows in the dock area.
+.SH "HandlePosition QDockArea::handlePosition () const"
+Returns where the dock window splitter handle is placed in the dock area. See the "handlePosition" property for details.
+.SH "bool QDockArea::hasDockWindow ( QDockWindow * w, int * index = 0 )"
+Returns TRUE if the dock area contains the dock window \fIw\fR; otherwise returns FALSE. If \fIindex\fR is not 0 it will be set as follows: if the dock area contains the dock window \fI*index\fR is set to \fIw\fR's index position; otherwise \fI*index\fR is set to -1.
+.SH "bool QDockArea::isDockWindowAccepted ( QDockWindow * dw )"
+Returns TRUE if dock window \fIdw\fR could be docked into the dock area; otherwise returns FALSE.
+.PP
+See also setAcceptDockWindow().
+.SH "bool QDockArea::isEmpty () const"
+Returns TRUE if the dock area is empty; otherwise returns FALSE. See the "empty" property for details.
+.SH "void QDockArea::lineUp ( bool keepNewLines )\fC [slot]\fR"
+Lines up the dock windows in this dock area to minimize wasted space. If \fIkeepNewLines\fR is TRUE, only space within lines is cleaned up. If \fIkeepNewLines\fR is FALSE the number of lines might be changed.
+.SH "void QDockArea::moveDockWindow ( QDockWindow * w, int index = -1 )"
+Moves the QDockWindow \fIw\fR within the dock area. If \fIw\fR is not already docked in this area, \fIw\fR is docked first. If \fIindex\fR is -1 or larger than the number of docked widgets, \fIw\fR is appended at the end, otherwise it is inserted at the position \fIindex\fR.
+.SH "void QDockArea::moveDockWindow ( QDockWindow * w, const QPoint & p, const QRect & r, bool swap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves the dock window \fIw\fR inside the dock area where \fIp\fR is the new position (in global screen coordinates), \fIr\fR is the suggested rectangle of the dock window and \fIswap\fR specifies whether or not the orientation of the docked widget needs to be changed.
+.PP
+This function is used internally by QDockWindow. You shouldn't need to call it yourself.
+.SH "Orientation QDockArea::orientation () const"
+Returns the dock area's orientation. See the "orientation" property for details.
+.SH "void QDockArea::removeDockWindow ( QDockWindow * w, bool makeFloating, bool swap, bool fixNewLines = TRUE )"
+Removes the dock window \fIw\fR from the dock area. If \fImakeFloating\fR is TRUE, \fIw\fR gets floated, and if \fIswap\fR is TRUE, the orientation of \fIw\fR gets swapped. If \fIfixNewLines\fR is TRUE (the default) newlines in the area will be fixed.
+.PP
+You should never need to call this function yourself. Use QDockWindow::dock() and QDockWindow::undock() instead.
+.SH "void QDockArea::setAcceptDockWindow ( QDockWindow * dw, bool accept )"
+If \fIaccept\fR is TRUE, dock window \fIdw\fR can be docked in the dock area. If \fIaccept\fR is FALSE, dock window \fIdw\fR cannot be docked in the dock area.
+.PP
+See also isDockWindowAccepted().
+.SS "Property Documentation"
+.SH "int count"
+This property holds the number of dock windows in the dock area.
+.PP
+Get this property's value with count().
+.SH "bool empty"
+This property holds whether the dock area is empty.
+.PP
+Get this property's value with isEmpty().
+.SH "HandlePosition handlePosition"
+This property holds where the dock window splitter handle is placed in the dock area.
+.PP
+The default position is Normal.
+.PP
+Get this property's value with handlePosition().
+.SH "Orientation orientation"
+This property holds the dock area's orientation.
+.PP
+There is no default value; the orientation is specified in the constructor.
+.PP
+Get this property's value with orientation().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QTextStream & operator<< ( QTextStream & ts, const QDockArea & dockArea )"
+Writes the layout of the dock windows in dock area \fIdockArea\fR to the text stream \fIts\fR.
+.PP
+See also operator>>().
+.SH "QTextStream & operator>> ( QTextStream & ts, QDockArea & dockArea )"
+Reads the layout description of the dock windows in dock area \fIdockArea\fR from the text stream \fIts\fR and restores it. The layout description must have been previously written by the operator<<() function.
+.PP
+See also operator<<().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdockarea.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdockarea.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdockwindow.3qt b/doc/man/man3/qdockwindow.3qt
new file mode 100644
index 0000000..013f260
--- /dev/null
+++ b/doc/man/man3/qdockwindow.3qt
@@ -0,0 +1,470 @@
+'\" t
+.TH QDockWindow 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDockWindow \- Widget which can be docked inside a QDockArea or floated as a top level window on the desktop
+.SH SYNOPSIS
+\fC#include <qdockwindow.h>\fR
+.PP
+Inherits QFrame.
+.PP
+Inherited by QToolBar.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBPlace\fR { InDock, OutsideDock }"
+.br
+.ti -1c
+.BI "enum \fBCloseMode\fR { Never = 0, Docked = 1, Undocked = 2, Always = Docked | Undocked }"
+.br
+.ti -1c
+.BI "\fBQDockWindow\fR ( Place p = InDock, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQDockWindow\fR ( QWidget * parent, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWidget\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBwidget\fR () const"
+.br
+.ti -1c
+.BI "Place \fBplace\fR () const"
+.br
+.ti -1c
+.BI "QDockArea * \fBarea\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCloseMode\fR ( int m )"
+.br
+.ti -1c
+.BI "bool \fBisCloseEnabled\fR () const"
+.br
+.ti -1c
+.BI "int \fBcloseMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizeEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMovingEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisResizeEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisMovingEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetHorizontallyStretchable\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetVerticallyStretchable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisHorizontallyStretchable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisVerticallyStretchable\fR () const"
+.br
+.ti -1c
+.BI "void setHorizontalStretchable ( bool b ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setVerticalStretchable ( bool b ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isHorizontalStretchable () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isVerticalStretchable () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBisStretchable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOffset\fR ( int o )"
+.br
+.ti -1c
+.BI "int \fBoffset\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFixedExtentWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFixedExtentHeight\fR ( int h )"
+.br
+.ti -1c
+.BI "QSize \fBfixedExtent\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNewLine\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBnewLine\fR () const"
+.br
+.ti -1c
+.BI "Qt::Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "QBoxLayout * \fBboxLayout\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpaqueMoving\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBopaqueMoving\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBundock\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdock\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation o )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBorientationChanged\fR ( Orientation o )"
+.br
+.ti -1c
+.BI "void \fBplaceChanged\fR ( QDockWindow::Place p )"
+.br
+.ti -1c
+.BI "void \fBvisibilityChanged\fR ( bool visible )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcloseMode\fR - the close mode of a dock window"
+.br
+.ti -1c
+.BI "bool \fBhorizontallyStretchable\fR - whether the dock window is horizontally stretchable"
+.br
+.ti -1c
+.BI "bool \fBmovingEnabled\fR - whether the user can move the dock window within the dock " "area" ", move the dock window to another dock " "area" ", or float the dock window"
+.br
+.ti -1c
+.BI "bool \fBnewLine\fR - whether the dock window prefers to start a new line in the dock area"
+.br
+.ti -1c
+.BI "int \fBoffset\fR - the dock window's preferred offset from the dock area's left edge (top edge for vertical dock " "areas" ")"
+.br
+.ti -1c
+.BI "bool \fBopaqueMoving\fR - whether the dock window will be shown normally whilst it is being moved"
+.br
+.ti -1c
+.BI "Place \fBplace\fR \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBresizeEnabled\fR - whether the dock window is resizeable"
+.br
+.ti -1c
+.BI "bool \fBstretchable\fR - whether the dock window is stretchable in the current orientation() \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBverticallyStretchable\fR - whether the dock window is vertically stretchable"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDockWindow class provides a widget which can be docked inside a QDockArea or floated as a top level window on the desktop.
+.PP
+This class handles moving, resizing, docking and undocking dock windows. QToolBar is a subclass of QDockWindow so the functionality provided for dock windows is available with the same API for toolbars.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center> <blockquote><p align="center">\fI Two QDockWindows (QToolBars) in a QDockArea \fR</p> </blockquote>
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center> <blockquote><p align="center">\fI A Floating QDockWindow \fR</p> </blockquote>
+.PP
+If the user drags the dock window into the dock area the dock window will be docked. If the user drags the dock area outside any dock areas the dock window will be undocked (floated) and will become a top level window. Double clicking a floating dock window's titlebar will dock the dock window to the last dock area it was docked in. Double clicking a docked dock window's handle will undock (float) the dock window. If the user clicks the close button (which does not appear on dock windows by default - see closeMode) the dock window will disappear. You can control whether or not a dock window has a close button with setCloseMode().
+.PP
+QMainWindow provides four dock areas (top, left, right and bottom) which can be used by dock windows. For many applications using the dock areas provided by QMainWindow is sufficient. (See the QDockArea documentation if you want to create your own dock areas.) In QMainWindow a right-click popup menu (the dock window menu) is available which lists dock windows and can be used to show or hide them. (The popup menu only lists dock windows that have a caption.)
+.PP
+When you construct a dock window you \fImust\fR pass it a QDockArea or a QMainWindow as its parent if you want it docked. Pass 0 for the parent if you want it floated.
+.PP
+.nf
+.br
+ QToolBar *fileTools = new QToolBar( this, "File Actions" );
+.br
+ moveDockWindow( fileTools, Left );
+.br
+.fi
+.PP
+In the example above we create a new QToolBar in the constructor of a QMainWindow subclass (so that the \fIthis\fR pointer points to the QMainWindow). By default the toolbar will be added to the Top dock area, but we've moved it to the Left dock area.
+.PP
+A dock window is often used to contain a single widget. In these cases the widget can be set by calling setWidget(). If you're constructing a dock window that contains multiple widgets, e.g. a toolbar, arrange the widgets within a box layout inside the dock window. To do this use the boxLayout() function to get a pointer to the dock window's box layout, then add widgets to the layout using the box layout's QBoxLayout::addWidget() function. The dock window will dynamically set the orientation of the layout to be vertical or horizontal as necessary, although you can control this yourself with setOrientation().
+.PP
+Although a common use of dock windows is for toolbars, they can be used with any widgets. (See the Qt Designer and Qt Linguist applications, for example.) When using larger widgets it may make sense for the dock window to be resizable by calling setResizeEnabled(). Resizable dock windows are given splitter-like handles to allow the user to resize them within their dock area. When resizable dock windows are undocked they become top level windows and can be resized like any other top level windows, e.g. by dragging a corner or edge.
+.PP
+Dock windows can be docked and undocked using dock() and undock(). A dock window's orientation can be set with setOrientation(). You can also use QDockArea::moveDockWindow(). If you're using a QMainWindow, QMainWindow::moveDockWindow() and QMainWindow::removeDockWindow() are available.
+.PP
+A dock window can have some preferred settings, for example, you can set a preferred offset from the left edge (or top edge for vertical dock areas) of the dock area using setOffset(). If you'd prefer a dock window to start on a new line when it is docked use setNewLine(). The setFixedExtentWidth() and setFixedExtentHeight() functions can be used to define the dock window's preferred size, and the setHorizontallyStretchable() and setVerticallyStretchable() functions set whether the dock window can be stretched or not. Dock windows can be moved by default, but this can be changed with setMovingEnabled(). When a dock window is moved it is shown as a rectangular outline, but it can be shown normally using setOpaqueMoving().
+.PP
+When a dock window's visibility changes, i.e. it is shown or hidden, the visibilityChanged() signal is emitted. When a dock window is docked, undocked or moved inside the dock area the placeChanged() signal is emitted.
+.PP
+See also Main Window and Related Classes.
+.SS "Member Type Documentation"
+.SH "QDockWindow::CloseMode"
+This enum type specifies when (if ever) a dock window has a close button.
+.TP
+\fCQDockWindow::Never\fR - The dock window never has a close button and cannot be closed by the user.
+.TP
+\fCQDockWindow::Docked\fR - The dock window has a close button only when docked.
+.TP
+\fCQDockWindow::Undocked\fR - The dock window has a close button only when floating.
+.TP
+\fCQDockWindow::Always\fR - The dock window always has a close button.
+.SH "QDockWindow::Place"
+This enum specifies the possible locations for a QDockWindow:
+.TP
+\fCQDockWindow::InDock\fR - Inside a QDockArea.
+.TP
+\fCQDockWindow::OutsideDock\fR - Floating as a top level window on the desktop.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDockWindow::QDockWindow ( Place p = InDock, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a QDockWindow with parent \fIparent\fR, called \fIname\fR and with widget flags \fIf\fR.
+.PP
+If \fIp\fR is InDock, the dock window is docked into a dock area and \fIparent\fR \fImust\fR be a QDockArea or a QMainWindow. If the \fIparent\fR is a QMainWindow the dock window will be docked in the main window's Top dock area.
+.PP
+If \fIp\fR is OutsideDock, the dock window is created as a floating window.
+.PP
+We recommend creating the dock area InDock with a QMainWindow as parent then calling QMainWindow::moveDockWindow() to move the dock window where you want it.
+.SH "QDockWindow::QDockWindow ( QWidget * parent, const char * name = 0, WFlags f = 0 )"
+Constructs a QDockWindow with parent \fIparent\fR, called \fIname\fR and with widget flags \fIf\fR.
+.SH "QDockArea * QDockWindow::area () const"
+Returns the dock area in which this dock window is docked, or 0 if the dock window is floating.
+.SH "QBoxLayout * QDockWindow::boxLayout ()"
+Returns the layout which is used for adding widgets to the dock window. The layout's orientation is set automatically to match the orientation of the dock window. You can add widgets to the layout using the box layout's QBoxLayout::addWidget() function.
+.PP
+If the dock window only needs to contain a single widget use setWidget() instead.
+.PP
+See also setWidget() and setOrientation().
+.SH "int QDockWindow::closeMode () const"
+Returns the close mode of a dock window. See the "closeMode" property for details.
+.SH "void QDockWindow::dock ()\fC [virtual slot]\fR"
+Docks the dock window into the last dock area in which it was docked.
+.PP
+If the dock window has no last dock area (e.g. it was created as a floating window and has never been docked), or if the last dock area it was docked in does not exist (e.g. the dock area has been deleted), nothing happens.
+.PP
+The dock window will dock with the dock area regardless of the return value of QDockArea::isDockWindowAccepted().
+.PP
+See also undock(), QDockArea::moveDockWindow(), QDockArea::removeDockWindow(), QMainWindow::moveDockWindow(), QMainWindow::removeDockWindow(), and QDockArea::isDockWindowAccepted().
+.SH "QSize QDockWindow::fixedExtent () const"
+Returns the dock window's preferred size (fixed extent).
+.PP
+See also setFixedExtentWidth() and setFixedExtentHeight().
+.SH "bool QDockWindow::isCloseEnabled () const"
+Returns TRUE if the dock window has a close button; otherwise returns FALSE. The result depends on the dock window's Place and its CloseMode.
+.PP
+See also closeMode.
+.SH "bool QDockWindow::isHorizontalStretchable () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QDockWindow::isHorizontallyStretchable () const"
+Returns TRUE if the dock window is horizontally stretchable; otherwise returns FALSE. See the "horizontallyStretchable" property for details.
+.SH "bool QDockWindow::isMovingEnabled () const"
+Returns TRUE if the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window; otherwise returns FALSE. See the "movingEnabled" property for details.
+.SH "bool QDockWindow::isResizeEnabled () const"
+Returns TRUE if the dock window is resizeable; otherwise returns FALSE. See the "resizeEnabled" property for details.
+.SH "bool QDockWindow::isStretchable () const"
+Returns TRUE if the dock window is stretchable in the current orientation(); otherwise returns FALSE. See the "stretchable" property for details.
+.SH "bool QDockWindow::isVerticalStretchable () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QDockWindow::isVerticallyStretchable () const"
+Returns TRUE if the dock window is vertically stretchable; otherwise returns FALSE. See the "verticallyStretchable" property for details.
+.SH "bool QDockWindow::newLine () const"
+Returns TRUE if the dock window prefers to start a new line in the dock area; otherwise returns FALSE. See the "newLine" property for details.
+.SH "int QDockWindow::offset () const"
+Returns the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas). See the "offset" property for details.
+.SH "bool QDockWindow::opaqueMoving () const"
+Returns TRUE if the dock window will be shown normally whilst it is being moved; otherwise returns FALSE. See the "opaqueMoving" property for details.
+.SH "Qt::Orientation QDockWindow::orientation () const"
+Returns the orientation of the dock window.
+.PP
+See also orientationChanged().
+.SH "void QDockWindow::orientationChanged ( Orientation o )\fC [signal]\fR"
+This signal is emitted when the orientation of the dock window is changed. The new orientation is \fIo\fR.
+.SH "Place QDockWindow::place () const"
+This function returns where the dock window is placed. This is either InDock or OutsideDock.
+.PP
+See also QDockArea::moveDockWindow(), QDockArea::removeDockWindow(), QMainWindow::moveDockWindow(), and QMainWindow::removeDockWindow().
+.SH "void QDockWindow::placeChanged ( QDockWindow::Place p )\fC [signal]\fR"
+This signal is emitted when the dock window is docked (\fIp\fR is InDock), undocked (\fIp\fR is OutsideDock) or moved inside the the dock area.
+.PP
+See also QDockArea::moveDockWindow(), QDockArea::removeDockWindow(), QMainWindow::moveDockWindow(), and QMainWindow::removeDockWindow().
+.SH "void QDockWindow::setCloseMode ( int m )\fC [virtual]\fR"
+Sets the close mode of a dock window to \fIm\fR. See the "closeMode" property for details.
+.SH "void QDockWindow::setFixedExtentHeight ( int h )\fC [virtual]\fR"
+Sets the dock window's preferred height for its fixed extent (size) to \fIh\fR.
+.PP
+See also setFixedExtentWidth().
+.SH "void QDockWindow::setFixedExtentWidth ( int w )\fC [virtual]\fR"
+Sets the dock window's preferred width for its fixed extent (size) to \fIw\fR.
+.PP
+See also setFixedExtentHeight().
+.SH "void QDockWindow::setHorizontalStretchable ( bool b )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QDockWindow::setHorizontallyStretchable ( bool b )\fC [virtual]\fR"
+Sets whether the dock window is horizontally stretchable to \fIb\fR. See the "horizontallyStretchable" property for details.
+.SH "void QDockWindow::setMovingEnabled ( bool b )\fC [virtual]\fR"
+Sets whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window to \fIb\fR. See the "movingEnabled" property for details.
+.SH "void QDockWindow::setNewLine ( bool b )\fC [virtual]\fR"
+Sets whether the dock window prefers to start a new line in the dock area to \fIb\fR. See the "newLine" property for details.
+.SH "void QDockWindow::setOffset ( int o )\fC [virtual]\fR"
+Sets the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas) to \fIo\fR. See the "offset" property for details.
+.SH "void QDockWindow::setOpaqueMoving ( bool b )\fC [virtual]\fR"
+Sets whether the dock window will be shown normally whilst it is being moved to \fIb\fR. See the "opaqueMoving" property for details.
+.SH "void QDockWindow::setOrientation ( Orientation o )\fC [virtual slot]\fR"
+Sets the orientation of the dock window to \fIo\fR. The orientation is propagated to the layout boxLayout().
+.PP
+\fBWarning:\fR All undocked QToolBars will always have a horizontal orientation.
+.SH "void QDockWindow::setResizeEnabled ( bool b )\fC [virtual]\fR"
+Sets whether the dock window is resizeable to \fIb\fR. See the "resizeEnabled" property for details.
+.SH "void QDockWindow::setVerticalStretchable ( bool b )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QDockWindow::setVerticallyStretchable ( bool b )\fC [virtual]\fR"
+Sets whether the dock window is vertically stretchable to \fIb\fR. See the "verticallyStretchable" property for details.
+.SH "void QDockWindow::setWidget ( QWidget * w )\fC [virtual]\fR"
+Sets the dock window's main widget to \fIw\fR.
+.PP
+See also boxLayout().
+.SH "void QDockWindow::undock ()\fC [virtual slot]\fR"
+Undocks the QDockWindow from its current dock area if it is docked; otherwise does nothing.
+.PP
+See also dock(), QDockArea::moveDockWindow(), QDockArea::removeDockWindow(), QMainWindow::moveDockWindow(), and QMainWindow::removeDockWindow().
+.SH "void QDockWindow::visibilityChanged ( bool visible )\fC [signal]\fR"
+This signal is emitted when the visibility of the dock window relatively to its dock area is changed. If \fIvisible\fR is TRUE, the QDockWindow is now visible to the dock area, otherwise it has been hidden.
+.PP
+A dock window can be hidden if it has a close button which the user has clicked. In the case of a QMainWindow a dock window can have its visibility changed (hidden or shown) by clicking its name in the dock window menu that lists the QMainWindow's dock windows.
+.SH "QWidget * QDockWindow::widget () const"
+Returns the dock window's main widget.
+.PP
+See also setWidget().
+.SS "Property Documentation"
+.SH "int closeMode"
+This property holds the close mode of a dock window.
+.PP
+Defines when (if ever) the dock window has a close button. The choices are Never, Docked (i.e. only when docked), Undocked (only when undocked, i.e. floated) or Always.
+.PP
+The default is Never.
+.PP
+Set this property's value with setCloseMode() and get this property's value with closeMode().
+.SH "bool horizontallyStretchable"
+This property holds whether the dock window is horizontally stretchable.
+.PP
+A dock window is horizontally stretchable if you call setHorizontallyStretchable(TRUE) or setResizeEnabled(TRUE).
+.PP
+See also resizeEnabled.
+.PP
+Bugs and limitations:
+.TP
+Strecthability is broken. You must call setResizeEnabled(TRUE) to get proper behavior and even then QDockWindow does not limit stretchablilty.
+.PP
+Set this property's value with setHorizontallyStretchable() and get this property's value with isHorizontallyStretchable().
+.SH "bool movingEnabled"
+This property holds whether the user can move the dock window within the dock area, move the dock window to another dock area, or float the dock window.
+.PP
+This property is TRUE by default.
+.PP
+Set this property's value with setMovingEnabled() and get this property's value with isMovingEnabled().
+.SH "bool newLine"
+This property holds whether the dock window prefers to start a new line in the dock area.
+.PP
+The default is FALSE, i.e. the dock window doesn't require a new line in the dock area.
+.PP
+Set this property's value with setNewLine() and get this property's value with newLine().
+.SH "int offset"
+This property holds the dock window's preferred offset from the dock area's left edge (top edge for vertical dock areas).
+.PP
+The default is 0.
+.PP
+Set this property's value with setOffset() and get this property's value with offset().
+.SH "bool opaqueMoving"
+This property holds whether the dock window will be shown normally whilst it is being moved.
+.PP
+If this property is FALSE, (the default), the dock window will be represented by an outline rectangle whilst it is being moved.
+.PP
+\fBWarning:\fR Currently opaque moving has some problems and we do not recommend using it at this time. We expect to fix these problems in a future release.
+.PP
+Set this property's value with setOpaqueMoving() and get this property's value with opaqueMoving().
+.SH "bool resizeEnabled"
+This property holds whether the dock window is resizeable.
+.PP
+A resizeable dock window can be resized using splitter-like handles inside a dock area and like every other top level window when floating.
+.PP
+A dock window is both horizontally and vertically stretchable if you call setResizeEnabled(TRUE).
+.PP
+This property is FALSE by default.
+.PP
+See also verticallyStretchable and horizontallyStretchable.
+.PP
+Set this property's value with setResizeEnabled() and get this property's value with isResizeEnabled().
+.SH "bool stretchable"
+This property holds whether the dock window is stretchable in the current orientation().
+.PP
+This property can be set using setHorizontallyStretchable() and setVerticallyStretchable(), or with setResizeEnabled().
+.PP
+See also resizeEnabled.
+.PP
+Bugs and limitations:
+.TP
+Strecthability is broken. You must call setResizeEnabled(TRUE) to get proper behavior and even then QDockWindow does not limit stretchablilty.
+.PP
+Get this property's value with isStretchable().
+.SH "bool verticallyStretchable"
+This property holds whether the dock window is vertically stretchable.
+.PP
+A dock window is vertically stretchable if you call setVerticallyStretchable(TRUE) or setResizeEnabled(TRUE).
+.PP
+See also resizeEnabled.
+.PP
+Bugs and limitations:
+.TP
+Strecthability is broken. You must call setResizeEnabled(TRUE) to get proper behavior and even then QDockWindow does not limit stretchablilty.
+.PP
+Set this property's value with setVerticallyStretchable() and get this property's value with isVerticallyStretchable().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdockwindow.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdockwindow.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomattr.3qt b/doc/man/man3/qdomattr.3qt
new file mode 100644
index 0000000..b28df86
--- /dev/null
+++ b/doc/man/man3/qdomattr.3qt
@@ -0,0 +1,153 @@
+'\" t
+.TH QDomAttr 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomAttr \- Represents one attribute of a QDomElement
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomAttr\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomAttr\fR ( const QDomAttr & x )"
+.br
+.ti -1c
+.BI "QDomAttr & \fBoperator=\fR ( const QDomAttr & x )"
+.br
+.ti -1c
+.BI "\fB~QDomAttr\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBspecified\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomElement \fBownerElement\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( const QString & v )"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisAttr\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomAttr class represents one attribute of a QDomElement.
+.PP
+For example, the following piece of XML produces an element with no children, but two attributes:
+.PP
+.nf
+.br
+ <link href="http://www.trolltech.com" color="red" />
+.br
+.fi
+.PP
+You can access the attributes of an element with code like this:
+.PP
+.nf
+.br
+ QDomElement e = //...
+.br
+ //...
+.br
+ QDomAttr a = e.attributeNode( "href" );
+.br
+ cout << a.value() << endl; // prints "http://www.trolltech.com"
+.br
+ a.setValue( "http://doc.trolltech.com" ); // change the node's attribute
+.br
+ QDomAttr a2 = e.attributeNode( "href" );
+.br
+ cout << a2.value() << endl; // prints "http://doc.trolltech.com"
+.br
+.fi
+.PP
+This example also shows that changing an attribute received from an element changes the attribute of the element. If you do not want to change the value of the element's attribute you must use cloneNode() to get an independent copy of the attribute.
+.PP
+QDomAttr can return the name() and value() of an attribute. An attribute's value is set with setValue(). If specified() returns TRUE the value was either set in the document or set with setValue(); otherwise the value hasn't been set. The node this attribute is attached to (if any) is returned by ownerElement().
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomAttr::QDomAttr ()"
+Constructs an empty attribute.
+.SH "QDomAttr::QDomAttr ( const QDomAttr & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomAttr::~QDomAttr ()"
+Destroys the object and frees its resources.
+.SH "bool QDomAttr::isAttr () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QString QDomAttr::name () const\fC [virtual]\fR"
+Returns the attribute's name.
+.SH "QDomNode::NodeType QDomAttr::nodeType () const\fC [virtual]\fR"
+Returns AttributeNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomAttr & QDomAttr::operator= ( const QDomAttr & x )"
+Assigns \fIx\fR to this DOM attribute.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomElement QDomAttr::ownerElement () const\fC [virtual]\fR"
+Returns the element node this attribute is attached to or a null node if this attribute is not attached to any element.
+.SH "void QDomAttr::setValue ( const QString & v )\fC [virtual]\fR"
+Sets the attribute's value to \fIv\fR.
+.PP
+See also value().
+.SH "bool QDomAttr::specified () const\fC [virtual]\fR"
+Returns TRUE if the attribute has either been expicitly specified in the XML document or was set by the user with setValue(). Returns FALSE if the value hasn't been specified or set.
+.PP
+See also setValue().
+.SH "QString QDomAttr::value () const\fC [virtual]\fR"
+Returns the value of the attribute or QString::null if the attribute has not been specified.
+.PP
+See also specified() and setValue().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomattr.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomattr.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomcdatasection.3qt b/doc/man/man3/qdomcdatasection.3qt
new file mode 100644
index 0000000..17e294a
--- /dev/null
+++ b/doc/man/man3/qdomcdatasection.3qt
@@ -0,0 +1,96 @@
+'\" t
+.TH QDomCDATASection 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomCDATASection \- Represents an XML CDATA section
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomText.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomCDATASection\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomCDATASection\fR ( const QDomCDATASection & x )"
+.br
+.ti -1c
+.BI "QDomCDATASection & \fBoperator=\fR ( const QDomCDATASection & x )"
+.br
+.ti -1c
+.BI "\fB~QDomCDATASection\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisCDATASection\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomCDATASection class represents an XML CDATA section.
+.PP
+CDATA sections are used to escape blocks of text containing characters that would otherwise be regarded as markup. The only delimiter that is recognized in a CDATA section is the "]]>" string that terminates the CDATA section. CDATA sections cannot be nested. Their primary purpose is for including material such as XML fragments, without needing to escape all the delimiters.
+.PP
+Adjacent QDomCDATASection nodes are not merged by the QDomNode::normalize() function.
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomCDATASection::QDomCDATASection ()"
+Constructs an empty CDATA section. To create a CDATA section with content, use the QDomDocument::createCDATASection() function.
+.SH "QDomCDATASection::QDomCDATASection ( const QDomCDATASection & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomCDATASection::~QDomCDATASection ()"
+Destroys the object and frees its resources.
+.SH "bool QDomCDATASection::isCDATASection () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomCDATASection::nodeType () const\fC [virtual]\fR"
+Returns \fCCDATASection\fR.
+.PP
+Reimplemented from QDomText.
+.SH "QDomCDATASection & QDomCDATASection::operator= ( const QDomCDATASection & x )"
+Assigns \fIx\fR to this CDATA section.
+.PP
+The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a deep copy, use
+cloneNode().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomcdatasection.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomcdatasection.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomcharacterdata.3qt b/doc/man/man3/qdomcharacterdata.3qt
new file mode 100644
index 0000000..d0c364e
--- /dev/null
+++ b/doc/man/man3/qdomcharacterdata.3qt
@@ -0,0 +1,140 @@
+'\" t
+.TH QDomCharacterData 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomCharacterData \- Represents a generic string in the DOM
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+Inherited by QDomText and QDomComment.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomCharacterData\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomCharacterData\fR ( const QDomCharacterData & x )"
+.br
+.ti -1c
+.BI "QDomCharacterData & \fBoperator=\fR ( const QDomCharacterData & x )"
+.br
+.ti -1c
+.BI "\fB~QDomCharacterData\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBsubstringData\fR ( unsigned long offset, unsigned long count )"
+.br
+.ti -1c
+.BI "virtual void \fBappendData\fR ( const QString & arg )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertData\fR ( unsigned long offset, const QString & arg )"
+.br
+.ti -1c
+.BI "virtual void \fBdeleteData\fR ( unsigned long offset, unsigned long count )"
+.br
+.ti -1c
+.BI "virtual void \fBreplaceData\fR ( unsigned long offset, unsigned long count, const QString & arg )"
+.br
+.ti -1c
+.BI "virtual uint \fBlength\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBdata\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QString & v )"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisCharacterData\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomCharacterData class represents a generic string in the DOM.
+.PP
+Character data as used in XML specifies a generic data string. More specialized versions of this class are QDomText, QDomComment and QDomCDATASection.
+.PP
+The data string is set with setData() and retrieved with data(). You can retrieve a portion of the data string using substringData(). Extra data can be appended with appendData(), or inserted with insertData(). Portions of the data string can be deleted with deleteData() or replaced with replaceData(). The length of the data string is returned by length().
+.PP
+The node type of the node containing this character data is returned by nodeType().
+.PP
+See also QDomText, QDomComment, QDomCDATASection, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomCharacterData::QDomCharacterData ()"
+Constructs an empty character data object.
+.SH "QDomCharacterData::QDomCharacterData ( const QDomCharacterData & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomCharacterData::~QDomCharacterData ()"
+Destroys the object and frees its resources.
+.SH "void QDomCharacterData::appendData ( const QString & arg )\fC [virtual]\fR"
+Appends the string \fIarg\fR to the stored string.
+.SH "QString QDomCharacterData::data () const\fC [virtual]\fR"
+Returns the string stored in this object.
+.PP
+If the node is a null node, it will return QString::null.
+.SH "void QDomCharacterData::deleteData ( unsigned long offset, unsigned long count )\fC [virtual]\fR"
+Deletes a substring of length \fIcount\fR from position \fIoffset\fR.
+.SH "void QDomCharacterData::insertData ( unsigned long offset, const QString & arg )\fC [virtual]\fR"
+Inserts the string \fIarg\fR into the stored string at position \fIoffset\fR.
+.SH "bool QDomCharacterData::isCharacterData () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "uint QDomCharacterData::length () const\fC [virtual]\fR"
+Returns the length of the stored string.
+.SH "QDomNode::NodeType QDomCharacterData::nodeType () const\fC [virtual]\fR"
+Returns the type of node this object refers to (i.e. TextNode, CDATASectionNode, CommentNode or CharacterDataNode). For a null node CharacterDataNode is returned.
+.PP
+Reimplemented from QDomNode.
+.PP
+Reimplemented in QDomText and QDomComment.
+.SH "QDomCharacterData & QDomCharacterData::operator= ( const QDomCharacterData & x )"
+Assigns \fIx\fR to this character data.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "void QDomCharacterData::replaceData ( unsigned long offset, unsigned long count, const QString & arg )\fC [virtual]\fR"
+Replaces the substring of length \fIcount\fR starting at position \fIoffset\fR with the string \fIarg\fR.
+.SH "void QDomCharacterData::setData ( const QString & v )\fC [virtual]\fR"
+Sets this object's string to \fIv\fR.
+.SH "QString QDomCharacterData::substringData ( unsigned long offset, unsigned long count )\fC [virtual]\fR"
+Returns the substring of length \fIcount\fR from position \fIoffset\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomcharacterdata.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomcharacterdata.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomcomment.3qt b/doc/man/man3/qdomcomment.3qt
new file mode 100644
index 0000000..55e6c11
--- /dev/null
+++ b/doc/man/man3/qdomcomment.3qt
@@ -0,0 +1,101 @@
+'\" t
+.TH QDomComment 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomComment \- Represents an XML comment
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomCharacterData.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomComment\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomComment\fR ( const QDomComment & x )"
+.br
+.ti -1c
+.BI "QDomComment & \fBoperator=\fR ( const QDomComment & x )"
+.br
+.ti -1c
+.BI "\fB~QDomComment\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisComment\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomComment class represents an XML comment.
+.PP
+A comment in the parsed XML such as this:
+.PP
+.nf
+.br
+ <!-- this is a comment -->
+.br
+.fi
+is represented by QDomComment objects in the parsed Dom tree.
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomComment::QDomComment ()"
+Constructs an empty comment. To construct a comment with content, use the QDomDocument::createComment() function.
+.SH "QDomComment::QDomComment ( const QDomComment & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomComment::~QDomComment ()"
+Destroys the object and frees its resources.
+.SH "bool QDomComment::isComment () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomComment::nodeType () const\fC [virtual]\fR"
+Returns CommentNode.
+.PP
+Reimplemented from QDomCharacterData.
+.SH "QDomComment & QDomComment::operator= ( const QDomComment & x )"
+Assigns \fIx\fR to this DOM comment.
+.PP
+The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a deep copy, use
+cloneNode().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomcomment.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomcomment.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomdocument.3qt b/doc/man/man3/qdomdocument.3qt
new file mode 100644
index 0000000..5651e04
--- /dev/null
+++ b/doc/man/man3/qdomdocument.3qt
@@ -0,0 +1,448 @@
+'\" t
+.TH QDomDocument 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomDocument \- Represents an XML document
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomDocument\fR ()"
+.br
+.ti -1c
+.BI "explicit \fBQDomDocument\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "explicit \fBQDomDocument\fR ( const QDomDocumentType & doctype )"
+.br
+.ti -1c
+.BI "\fBQDomDocument\fR ( const QDomDocument & x )"
+.br
+.ti -1c
+.BI "QDomDocument & \fBoperator=\fR ( const QDomDocument & x )"
+.br
+.ti -1c
+.BI "\fB~QDomDocument\fR ()"
+.br
+.ti -1c
+.BI "QDomElement \fBcreateElement\fR ( const QString & tagName )"
+.br
+.ti -1c
+.BI "QDomDocumentFragment \fBcreateDocumentFragment\fR ()"
+.br
+.ti -1c
+.BI "QDomText \fBcreateTextNode\fR ( const QString & value )"
+.br
+.ti -1c
+.BI "QDomComment \fBcreateComment\fR ( const QString & value )"
+.br
+.ti -1c
+.BI "QDomCDATASection \fBcreateCDATASection\fR ( const QString & value )"
+.br
+.ti -1c
+.BI "QDomProcessingInstruction \fBcreateProcessingInstruction\fR ( const QString & target, const QString & data )"
+.br
+.ti -1c
+.BI "QDomAttr \fBcreateAttribute\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QDomEntityReference \fBcreateEntityReference\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QDomNodeList \fBelementsByTagName\fR ( const QString & tagname ) const"
+.br
+.ti -1c
+.BI "QDomNode \fBimportNode\fR ( const QDomNode & importedNode, bool deep )"
+.br
+.ti -1c
+.BI "QDomElement \fBcreateElementNS\fR ( const QString & nsURI, const QString & qName )"
+.br
+.ti -1c
+.BI "QDomAttr \fBcreateAttributeNS\fR ( const QString & nsURI, const QString & qName )"
+.br
+.ti -1c
+.BI "QDomNodeList \fBelementsByTagNameNS\fR ( const QString & nsURI, const QString & localName )"
+.br
+.ti -1c
+.BI "QDomElement \fBelementById\fR ( const QString & elementId )"
+.br
+.ti -1c
+.BI "QDomDocumentType \fBdoctype\fR () const"
+.br
+.ti -1c
+.BI "QDomImplementation \fBimplementation\fR () const"
+.br
+.ti -1c
+.BI "QDomElement \fBdocumentElement\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QCString & buffer, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QByteArray & buffer, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QString & text, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( QIODevice * dev, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QCString & buffer, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QByteArray & buffer, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( const QString & text, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( QIODevice * dev, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsetContent\fR ( QXmlInputSource * source, QXmlReader * reader, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocument\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( int indent ) const"
+.br
+.ti -1c
+.BI "QCString \fBtoCString\fR () const"
+.br
+.ti -1c
+.BI "QCString \fBtoCString\fR ( int indent ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomDocument class represents an XML document.
+.PP
+The QDomDocument class represents the entire XML document. Conceptually, it is the root of the document tree, and provides the primary access to the document's data.
+.PP
+Since elements, text nodes, comments, processing instructions, etc., cannot exist outside the context of a document, the document class also contains the factory functions needed to create these objects. The node objects created have an ownerDocument() function which associates them with the document within whose context they were created. The DOM classes that will be used most often are QDomNode, QDomDocument, QDomElement and QDomText.
+.PP
+The parsed XML is represented internally by a tree of objects that can be accessed using the various QDom classes. All QDom classes only \fIreference\fR objects in the internal tree. The internal objects in the DOM tree will get deleted once the last QDom object referencing them and the QDomDocument itself are deleted.
+.PP
+Creation of elements, text nodes, etc. is done using the various factory functions provided in this class. Using the default constructors of the QDom classes will only result in empty objects that cannot be manipulated or inserted into the Document.
+.PP
+The QDomDocument class has several functions for creating document data, for example, createElement(), createTextNode(), createComment(), createCDATASection(), createProcessingInstruction(), createAttribute() and createEntityReference(). Some of these functions have versions that support namespaces, i.e. createElementNS() and createAttributeNS(). The createDocumentFragment() function is used to hold parts of the document; this is useful for manipulating for complex documents.
+.PP
+The entire content of the document is set with setContent(). This function parses the string it is passed as an XML document and creates the DOM tree that represents the document. The root element is available using documentElement(). The textual representation of the document can be obtained using toString().
+.PP
+It is possible to insert a node from another document into the document using importNode().
+.PP
+You can obtain a list of all the elements that have a particular tag with elementsByTagName() or with elementsByTagNameNS().
+.PP
+The QDom classes are typically used as follows:
+.PP
+.nf
+.br
+ QDomDocument doc( "mydocument" );
+.br
+ QFile file( "mydocument.xml" );
+.br
+ if ( !file.open( IO_ReadOnly ) )
+.br
+ return;
+.br
+ if ( !doc.setContent( &file ) ) {
+.br
+ file.close();
+.br
+ return;
+.br
+ }
+.br
+ file.close();
+.br
+.br
+ // print out the element names of all elements that are direct children
+.br
+ // of the outermost element.
+.br
+ QDomElement docElem = doc.documentElement();
+.br
+.br
+ QDomNode n = docElem.firstChild();
+.br
+ while( !n.isNull() ) {
+.br
+ QDomElement e = n.toElement(); // try to convert the node to an element.
+.br
+ if( !e.isNull() ) {
+.br
+ cout << e.tagName() << endl; // the node really is an element.
+.br
+ }
+.br
+ n = n.nextSibling();
+.br
+ }
+.br
+.br
+ // Here we append a new element to the end of the document
+.br
+ QDomElement elem = doc.createElement( "img" );
+.br
+ elem.setAttribute( "src", "myimage.png" );
+.br
+ docElem.appendChild( elem );
+.br
+.fi
+.PP
+Once \fCdoc\fR and \fCelem\fR go out of scope, the whole internal tree representing the XML document is deleted.
+.PP
+To create a document using DOM use code like this:
+.PP
+.nf
+.br
+ QDomDocument doc( "MyML" );
+.br
+ QDomElement root = doc.createElement( "MyML" );
+.br
+ doc.appendChild( root );
+.br
+.br
+ QDomElement tag = doc.createElement( "Greeting" );
+.br
+ root.appendChild( tag );
+.br
+.br
+ QDomText t = doc.createTextNode( "Hello World" );
+.br
+ tag.appendChild( t );
+.br
+.br
+ QString xml = doc.toString();
+.br
+.fi
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomDocument::QDomDocument ()"
+Constructs an empty document.
+.SH "explicit QDomDocument::QDomDocument ( const QString & name )"
+Creates a document and sets the name of the document type to \fIname\fR.
+.SH "explicit QDomDocument::QDomDocument ( const QDomDocumentType & doctype )"
+Creates a document with the document type \fIdoctype\fR.
+.PP
+See also QDomImplementation::createDocumentType().
+.SH "QDomDocument::QDomDocument ( const QDomDocument & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomDocument::~QDomDocument ()"
+Destroys the object and frees its resources.
+.SH "QDomAttr QDomDocument::createAttribute ( const QString & name )"
+Creates a new attribute called \fIname\fR that can be inserted into an element, e.g. using QDomElement::setAttributeNode().
+.PP
+See also createAttributeNS().
+.SH "QDomAttr QDomDocument::createAttributeNS ( const QString & nsURI, const QString & qName )"
+Creates a new attribute with namespace support that can be inserted into an element. The name of the attribute is \fIqName\fR and the namespace URI is \fInsURI\fR. This function also sets QDomNode::prefix() and QDomNode::localName() to appropriate values (depending on \fIqName\fR).
+.PP
+See also createAttribute().
+.SH "QDomCDATASection QDomDocument::createCDATASection ( const QString & value )"
+Creates a new CDATA section for the string \fIvalue\fR that can be inserted into the document, e.g. using QDomNode::appendChild().
+.PP
+See also QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomComment QDomDocument::createComment ( const QString & value )"
+Creates a new comment for the string \fIvalue\fR that can be inserted into the document, e.g. using QDomNode::appendChild().
+.PP
+See also QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomDocumentFragment QDomDocument::createDocumentFragment ()"
+Creates a new document fragment, that can be used to hold parts of the document, e.g. when doing complex manipulations of the document tree.
+.SH "QDomElement QDomDocument::createElement ( const QString & tagName )"
+Creates a new element called \fItagName\fR that can be inserted into the DOM tree, e.g. using QDomNode::appendChild().
+.PP
+See also createElementNS(), QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomElement QDomDocument::createElementNS ( const QString & nsURI, const QString & qName )"
+Creates a new element with namespace support that can be inserted into the DOM tree. The name of the element is \fIqName\fR and the namespace URI is \fInsURI\fR. This function also sets QDomNode::prefix() and QDomNode::localName() to appropriate values (depending on \fIqName\fR).
+.PP
+See also createElement().
+.SH "QDomEntityReference QDomDocument::createEntityReference ( const QString & name )"
+Creates a new entity reference called \fIname\fR that can be inserted into the document, e.g. using QDomNode::appendChild().
+.PP
+See also QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomProcessingInstruction QDomDocument::createProcessingInstruction ( const QString & target, const QString & data )"
+Creates a new processing instruction that can be inserted into the document, e.g. using QDomNode::appendChild(). This function sets the target for the processing instruction to \fItarget\fR and the data to \fIdata\fR.
+.PP
+See also QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomText QDomDocument::createTextNode ( const QString & value )"
+Creates a text node for the string \fIvalue\fR that can be inserted into the document tree, e.g. using QDomNode::appendChild().
+.PP
+\fBWarning:\fR All characters within an XML document must be in the range:
+.PP
+#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
+.PP
+This rule also applies to characters encoded as character entities and characters in CDATA sections. If you use this function to insert characters outside of this range, the document will not be well-formed.
+.PP
+If you want to store binary data in an XML document you must either use your own scheme to escape illegal characters, or you must store it in an external unparsed entity.
+.PP
+See also QDomNode::appendChild(), QDomNode::insertBefore(), and QDomNode::insertAfter().
+.SH "QDomDocumentType QDomDocument::doctype () const"
+Returns the document type of this document.
+.SH "QDomElement QDomDocument::documentElement () const"
+Returns the root element of the document.
+.SH "QDomElement QDomDocument::elementById ( const QString & elementId )"
+Returns the element whose ID is equal to \fIelementId\fR. If no element with the ID was found, this function returns a null element.
+.PP
+Since the QDomClasses do not know which attributes are element IDs, this function returns always a null element. This may change in a future version.
+.SH "QDomNodeList QDomDocument::elementsByTagName ( const QString & tagname ) const"
+Returns a QDomNodeList, that contains all the elements in the document with the name \fItagname\fR. The order of the node list is the order they are encountered in a preorder traversal of the element tree.
+.PP
+See also elementsByTagNameNS() and QDomElement::elementsByTagName().
+.SH "QDomNodeList QDomDocument::elementsByTagNameNS ( const QString & nsURI, const QString & localName )"
+Returns a QDomNodeList that contains all the elements in the document with the local name \fIlocalName\fR and a namespace URI of \fInsURI\fR. The order of the node list is the order they are encountered in a preorder traversal of the element tree.
+.PP
+See also elementsByTagName() and QDomElement::elementsByTagNameNS().
+.SH "QDomImplementation QDomDocument::implementation () const"
+Returns a QDomImplementation object.
+.SH "QDomNode QDomDocument::importNode ( const QDomNode & importedNode, bool deep )"
+Imports the node \fIimportedNode\fR from another document to this document. \fIimportedNode\fR remains in the original document; this function creates a copy that can be used within this document.
+.PP
+This function returns the imported node that belongs to this document. The returned node has no parent. It is not possible to import QDomDocument and QDomDocumentType nodes. In those cases this function returns a null node.
+.PP
+If \fIdeep\fR is TRUE, this function imports not only the node \fIimportedNode\fR but its whole subtree; if it is FALSE, only the \fIimportedNode\fR is imported. The argument \fIdeep\fR has no effect on QDomAttr and QDomEntityReference nodes, since the descendents of QDomAttr nodes are always imported and those of QDomEntityReference nodes are never imported.
+.PP
+The behavior of this function is slightly different depending on the node types: <center>.nf
+.TS
+l - l. Node Type Behaviour QDomAttr The owner element is set to 0 and the specified flag is set to TRUE in the generated attribute. The whole subtree of \fIimportedNode\fR is always imported for attribute nodes: \fIdeep\fR has no effect. QDomDocument Document nodes cannot be imported. QDomDocumentFragment If \fIdeep\fR is TRUE, this function imports the whole document fragment; otherwise it only generates an empty document fragment. QDomDocumentType Document type nodes cannot be imported. QDomElement Attributes for which QDomAttr::specified() is TRUE are also imported, other attributes are not imported. If \fIdeep\fR is TRUE, this function also imports the subtree of \fIimportedNode\fR; otherwise it imports only the element node (and some attributes, see above). QDomEntity Entity nodes can be imported, but at the moment there is no way to use them since the document type is read-only in DOM level 2. QDomEntityReference Descendents of entity reference nodes are never imported: \fIdeep\fR has no effect. QDomNotation Notation nodes can be imported, but at the moment there is no way to use them since the document type is read-only in DOM level 2. QDomProcessingInstruction The target and value of the processing instruction is copied to the new node. QDomText The text is copied to the new node. QDomCDATASection The text is copied to the new node. QDomComment
+.TE
+.fi
+</center>
+.PP
+See also QDomElement::setAttribute(), QDomNode::insertBefore(), QDomNode::insertAfter(), QDomNode::replaceChild(), QDomNode::removeChild(), and QDomNode::appendChild().
+.SH "bool QDomDocument::isDocument () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomDocument::nodeType () const\fC [virtual]\fR"
+Returns DocumentNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomDocument & QDomDocument::operator= ( const QDomDocument & x )"
+Assigns \fIx\fR to this DOM document.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "bool QDomDocument::setContent ( const QByteArray & buffer, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This function parses the XML document from the byte array \fIbuffer\fR and sets it as the content of the document. It tries to detect the encoding of the document as required by the XML specification.
+.PP
+If \fInamespaceProcessing\fR is TRUE, the parser recognizes namespaces in the XML file and sets the prefix name, local name and namespace URI to appropriate values. If \fInamespaceProcessing\fR is FALSE, the parser does no namespace processing when it reads the XML file.
+.PP
+If a parse error occurs, the function returns FALSE; otherwise it returns TRUE. If a parse error occurs and \fIerrorMsg\fR, \fIerrorLine\fR and \fIerrorColumn\fR are not 0, the error message is placed in \fI*errorMsg\fR, the line number \fI*errorLine\fR and the column number in \fI*errorColumn\fR.
+.PP
+If \fInamespaceProcessing\fR is TRUE, the function QDomNode::prefix() returns a string for all elements and attributes. It returns an empty string if the element or attribute has no prefix.
+.PP
+If \fInamespaceProcessing\fR is FALSE, the functions QDomNode::prefix(), QDomNode::localName() and QDomNode::namespaceURI() return QString::null.
+.PP
+See also QDomNode::namespaceURI(), QDomNode::localName(), QDomNode::prefix(), QString::isNull(), and QString::isEmpty().
+.SH "bool QDomDocument::setContent ( const QCString & buffer, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the C string \fIbuffer\fR.
+.PP
+\fBWarning:\fR This function does not try to detect the encoding: instead it assumes that the C string is UTF-8 encoded.
+.SH "bool QDomDocument::setContent ( const QString & text, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the string \fItext\fR. Since \fItext\fR is already a Unicode string, no encoding detection is done.
+.SH "bool QDomDocument::setContent ( QIODevice * dev, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the IO device \fIdev\fR.
+.SH "bool QDomDocument::setContent ( const QCString & buffer, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the C string \fIbuffer\fR.
+.PP
+No namespace processing is performed.
+.PP
+\fBWarning:\fR This function does not try to detect the encoding: instead it assumes that the C string is UTF-8 encoded.
+.SH "bool QDomDocument::setContent ( const QByteArray & buffer, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the byte array \fIbuffer\fR.
+.PP
+No namespace processing is performed.
+.SH "bool QDomDocument::setContent ( const QString & text, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the string \fItext\fR. Since \fItext\fR is already a Unicode string, no encoding detection is performed.
+.PP
+No namespace processing is performed either.
+.SH "bool QDomDocument::setContent ( QIODevice * dev, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the IO device \fIdev\fR.
+.PP
+No namespace processing is performed.
+.SH "bool QDomDocument::setContent ( QXmlInputSource * source, QXmlReader * reader, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function reads the XML document from the QXmlInputSource \fIsource\fR and parses it with the QXmlReader \fIreader\fR.
+.PP
+This function doesn't change the features of the \fIreader\fR. If you want to use certain features for parsing you can use this function to set up the reader appropriate.
+.PP
+See also QXmlSimpleReader.
+.SH "QCString QDomDocument::toCString () const"
+Converts the parsed document back to its textual representation and returns a QCString for that is encoded in UTF-8.
+.PP
+See also toString().
+.SH "QCString QDomDocument::toCString ( int indent ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses \fIindent\fR as the amount of space to indent subelements.
+.SH "QString QDomDocument::toString () const"
+Converts the parsed document back to its textual representation.
+.PP
+See also toCString().
+.SH "QString QDomDocument::toString ( int indent ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function uses \fIindent\fR as the amount of space to indent
+subelements.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomdocument.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomdocument.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomdocumentfragment.3qt b/doc/man/man3/qdomdocumentfragment.3qt
new file mode 100644
index 0000000..a33d421
--- /dev/null
+++ b/doc/man/man3/qdomdocumentfragment.3qt
@@ -0,0 +1,100 @@
+'\" t
+.TH QDomDocumentFragment 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomDocumentFragment \- Tree of QDomNodes which is not usually a complete QDomDocument
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomDocumentFragment\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomDocumentFragment\fR ( const QDomDocumentFragment & x )"
+.br
+.ti -1c
+.BI "QDomDocumentFragment & \fBoperator=\fR ( const QDomDocumentFragment & x )"
+.br
+.ti -1c
+.BI "\fB~QDomDocumentFragment\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocumentFragment\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomDocumentFragment class is a tree of QDomNodes which is not usually a complete QDomDocument.
+.PP
+If you want to do complex tree operations it is useful to have a lightweight class to store nodes and their relations. QDomDocumentFragment stores a subtree of a document which does not necessarily represent a well-formed XML document.
+.PP
+QDomDocumentFragment is also useful if you want to group several nodes in a list and insert them all together as children of some node. In these cases QDomDocumentFragment can be used as a temporary container for this list of children.
+.PP
+The most important feature of QDomDocumentFragment is that it is treated in a special way by QDomNode::insertAfter(), QDomNode::insertBefore(), QDomNode::replaceChild() and QDomNode::appendChild(): instead of inserting the fragment itself, all the fragment's children are inserted.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomDocumentFragment::QDomDocumentFragment ()"
+Constructs an empty document fragment.
+.SH "QDomDocumentFragment::QDomDocumentFragment ( const QDomDocumentFragment & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomDocumentFragment::~QDomDocumentFragment ()"
+Destroys the object and frees its resources.
+.SH "bool QDomDocumentFragment::isDocumentFragment () const\fC [virtual]\fR"
+This function reimplements QDomNode::isDocumentFragment().
+.PP
+See also nodeType() and QDomNode::toDocumentFragment().
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomDocumentFragment::nodeType () const\fC [virtual]\fR"
+Returns \fCDocumentFragment\fR.
+.PP
+See also isDocumentFragment() and QDomNode::toDocumentFragment().
+.PP
+Reimplemented from QDomNode.
+.SH "QDomDocumentFragment & QDomDocumentFragment::operator= ( const QDomDocumentFragment & x )"
+Assigns \fIx\fR to this DOM document fragment.
+.PP
+The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a deep copy, use
+cloneNode().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomdocumentfragment.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomdocumentfragment.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomdocumenttype.3qt b/doc/man/man3/qdomdocumenttype.3qt
new file mode 100644
index 0000000..f9e59f7
--- /dev/null
+++ b/doc/man/man3/qdomdocumenttype.3qt
@@ -0,0 +1,132 @@
+'\" t
+.TH QDomDocumentType 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomDocumentType \- The representation of the DTD in the document tree
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomDocumentType\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomDocumentType\fR ( const QDomDocumentType & n )"
+.br
+.ti -1c
+.BI "QDomDocumentType & \fBoperator=\fR ( const QDomDocumentType & n )"
+.br
+.ti -1c
+.BI "\fB~QDomDocumentType\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNamedNodeMap \fBentities\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNamedNodeMap \fBnotations\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBpublicId\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBsystemId\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBinternalSubset\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocumentType\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomDocumentType class is the representation of the DTD in the document tree.
+.PP
+The QDomDocumentType class allows read-only access to some of the data structures in the DTD: it can return a map of all entities() and notations(). In addition the function name() returns the name of the document type as specified in the <!DOCTYPE name> tag. This class also provides the publicId(), systemId() and internalSubset() functions.
+.PP
+See also QDomDocument and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomDocumentType::QDomDocumentType ()"
+Creates an empty QDomDocumentType object.
+.SH "QDomDocumentType::QDomDocumentType ( const QDomDocumentType & n )"
+Constructs a copy of \fIn\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomDocumentType::~QDomDocumentType ()"
+Destroys the object and frees its resources.
+.SH "QDomNamedNodeMap QDomDocumentType::entities () const\fC [virtual]\fR"
+Returns a map of all entities described in the DTD.
+.SH "QString QDomDocumentType::internalSubset () const\fC [virtual]\fR"
+Returns the internal subset of the document type or QString::null if there is no internal subset.
+.PP
+See also publicId() and systemId().
+.SH "bool QDomDocumentType::isDocumentType () const\fC [virtual]\fR"
+This function overloads QDomNode::isDocumentType().
+.PP
+See also nodeType() and QDomNode::toDocumentType().
+.PP
+Reimplemented from QDomNode.
+.SH "QString QDomDocumentType::name () const\fC [virtual]\fR"
+Returns the name of the document type as specified in the <!DOCTYPE name> tag.
+.PP
+See also nodeName().
+.SH "QDomNode::NodeType QDomDocumentType::nodeType () const\fC [virtual]\fR"
+Returns DocumentTypeNode.
+.PP
+See also isDocumentType() and QDomNode::toDocumentType().
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNamedNodeMap QDomDocumentType::notations () const\fC [virtual]\fR"
+Returns a map of all notations described in the DTD.
+.SH "QDomDocumentType & QDomDocumentType::operator= ( const QDomDocumentType & n )"
+Assigns \fIn\fR to this document type.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QString QDomDocumentType::publicId () const\fC [virtual]\fR"
+Returns the public identifier of the external DTD subset or QString::null if there is no public identifier.
+.PP
+See also systemId(), internalSubset(), and QDomImplementation::createDocumentType().
+.SH "QString QDomDocumentType::systemId () const\fC [virtual]\fR"
+Returns the system identifier of the external DTD subset or QString::null if there is no system identifier.
+.PP
+See also publicId(), internalSubset(), and QDomImplementation::createDocumentType().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomdocumenttype.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomdocumenttype.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomelement.3qt b/doc/man/man3/qdomelement.3qt
new file mode 100644
index 0000000..a6d546d
--- /dev/null
+++ b/doc/man/man3/qdomelement.3qt
@@ -0,0 +1,335 @@
+'\" t
+.TH QDomElement 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomElement \- Represents one element in the DOM tree
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomElement\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomElement\fR ( const QDomElement & x )"
+.br
+.ti -1c
+.BI "QDomElement & \fBoperator=\fR ( const QDomElement & x )"
+.br
+.ti -1c
+.BI "\fB~QDomElement\fR ()"
+.br
+.ti -1c
+.BI "QString \fBattribute\fR ( const QString & name, const QString & defValue = QString::null ) const"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, const QString & value )"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, int value )"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, uint value )"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, long value )"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, ulong value )"
+.br
+.ti -1c
+.BI "void \fBsetAttribute\fR ( const QString & name, double value )"
+.br
+.ti -1c
+.BI "void \fBremoveAttribute\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QDomAttr \fBattributeNode\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QDomAttr \fBsetAttributeNode\fR ( const QDomAttr & newAttr )"
+.br
+.ti -1c
+.BI "QDomAttr \fBremoveAttributeNode\fR ( const QDomAttr & oldAttr )"
+.br
+.ti -1c
+.BI "virtual QDomNodeList \fBelementsByTagName\fR ( const QString & tagname ) const"
+.br
+.ti -1c
+.BI "bool \fBhasAttribute\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "QString \fBattributeNS\fR ( const QString nsURI, const QString & localName, const QString & defValue ) const"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, const QString & value )"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, int value )"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, uint value )"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, long value )"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, ulong value )"
+.br
+.ti -1c
+.BI "void \fBsetAttributeNS\fR ( const QString nsURI, const QString & qName, double value )"
+.br
+.ti -1c
+.BI "void \fBremoveAttributeNS\fR ( const QString & nsURI, const QString & localName )"
+.br
+.ti -1c
+.BI "QDomAttr \fBattributeNodeNS\fR ( const QString & nsURI, const QString & localName )"
+.br
+.ti -1c
+.BI "QDomAttr \fBsetAttributeNodeNS\fR ( const QDomAttr & newAttr )"
+.br
+.ti -1c
+.BI "virtual QDomNodeList \fBelementsByTagNameNS\fR ( const QString & nsURI, const QString & localName ) const"
+.br
+.ti -1c
+.BI "bool \fBhasAttributeNS\fR ( const QString & nsURI, const QString & localName ) const"
+.br
+.ti -1c
+.BI "QString \fBtagName\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTagName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual QDomNamedNodeMap \fBattributes\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisElement\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomElement class represents one element in the DOM tree.
+.PP
+Elements have a tagName() and zero or more attributes associated with them. The tag name can be changed with setTagName().
+.PP
+Element attributes are represented by QDomAttr objects that can be queried using the attribute() and attributeNode() functions. You can set attributes with the setAttribute() and setAttributeNode() functions. Attributes can be removed with removeAttribute(). There are namespace-aware equivalents to these functions, i.e. setAttributeNS(), setAttributeNodeNS() and removeAttributeNS().
+.PP
+If you want to access the text of a node use text(), e.g.
+.PP
+.nf
+.br
+ QDomElement e = //...
+.br
+ //...
+.br
+ QString s = e.text()
+.br
+.fi
+The text() function operates recursively to find the text (since not all elements contain text). If you want to find all the text in all of a node's children, iterate over the children looking for QDomText nodes, e.g.
+.PP
+.nf
+.br
+ QString text;
+.br
+ QDomElement element = doc.documentElement();
+.br
+ for( QDomNode n = element.firstChild(); !n.isNull(); n = n.nextSibling() )
+.br
+ {
+.br
+ QDomText t = n.toText();
+.br
+ if ( !t.isNull() )
+.br
+ text += t.data();
+.br
+ }
+.br
+.fi
+Note that we attempt to convert each node to a text node and use text() rather than using firstChild().toText().data() or n.toText().data() directly on the node, because the node may not be a text element.
+.PP
+You can get a list of all the decendents of an element which have a specified tag name with elementsByTagName() or elementsByTagNameNS().
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomElement::QDomElement ()"
+Constructs an empty element. Use the QDomDocument::createElement() function to construct elements with content.
+.SH "QDomElement::QDomElement ( const QDomElement & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomElement::~QDomElement ()"
+Destroys the object and frees its resources.
+.SH "QString QDomElement::attribute ( const QString & name, const QString & defValue = QString::null ) const"
+Returns the attribute called \fIname\fR. If the attribute does not exist \fIdefValue\fR is returned.
+.PP
+See also setAttribute(), attributeNode(), setAttributeNode(), and attributeNS().
+.SH "QString QDomElement::attributeNS ( const QString nsURI, const QString & localName, const QString & defValue ) const"
+Returns the attribute with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR. If the attribute does not exist \fIdefValue\fR is returned.
+.PP
+See also setAttributeNS(), attributeNodeNS(), setAttributeNodeNS(), and attribute().
+.SH "QDomAttr QDomElement::attributeNode ( const QString & name )"
+Returns the QDomAttr object that corresponds to the attribute called \fIname\fR. If no such attribute exists a null attribute is returned.
+.PP
+See also setAttributeNode(), attribute(), setAttribute(), and attributeNodeNS().
+.SH "QDomAttr QDomElement::attributeNodeNS ( const QString & nsURI, const QString & localName )"
+Returns the QDomAttr object that corresponds to the attribute with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR. If no such attribute exists a null attribute is returned.
+.PP
+See also setAttributeNode(), attribute(), and setAttribute().
+.SH "QDomNamedNodeMap QDomElement::attributes () const\fC [virtual]\fR"
+Returns a QDomNamedNodeMap containing all this element's attributes.
+.PP
+See also attribute(), setAttribute(), attributeNode(), and setAttributeNode().
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNodeList QDomElement::elementsByTagName ( const QString & tagname ) const\fC [virtual]\fR"
+Returns a QDomNodeList containing all descendent elements of this element that are called \fItagname\fR. The order they are in the node list is the order they are encountered in a preorder traversal of the element tree.
+.PP
+See also elementsByTagNameNS() and QDomDocument::elementsByTagName().
+.SH "QDomNodeList QDomElement::elementsByTagNameNS ( const QString & nsURI, const QString & localName ) const\fC [virtual]\fR"
+Returns a QDomNodeList containing all the descendent elements of this element with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR. The order they are in the node list is the order they are encountered in a preorder traversal of the element tree.
+.PP
+See also elementsByTagName() and QDomDocument::elementsByTagNameNS().
+.SH "bool QDomElement::hasAttribute ( const QString & name ) const"
+Returns TRUE if this element has an attribute called \fIname\fR; otherwise returns FALSE.
+.SH "bool QDomElement::hasAttributeNS ( const QString & nsURI, const QString & localName ) const"
+Returns TRUE if this element has an attribute with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR; otherwise returns FALSE.
+.SH "bool QDomElement::isElement () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomElement::nodeType () const\fC [virtual]\fR"
+Returns ElementNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomElement & QDomElement::operator= ( const QDomElement & x )"
+Assigns \fIx\fR to this DOM element.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "void QDomElement::removeAttribute ( const QString & name )"
+Removes the attribute called name \fIname\fR from this element.
+.PP
+See also setAttribute(), attribute(), and removeAttributeNS().
+.SH "void QDomElement::removeAttributeNS ( const QString & nsURI, const QString & localName )"
+Removes the attribute with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR from this element.
+.PP
+See also setAttributeNS(), attributeNS(), and removeAttribute().
+.SH "QDomAttr QDomElement::removeAttributeNode ( const QDomAttr & oldAttr )"
+Removes the attribute \fIoldAttr\fR from the element and returns it.
+.PP
+See also attributeNode() and setAttributeNode().
+.SH "void QDomElement::setAttribute ( const QString & name, const QString & value )"
+Adds an attribute called \fIname\fR with value \fIvalue\fR. If an attribute with the same name exists, its value is replaced by \fIvalue\fR.
+.PP
+See also attribute(), setAttributeNode(), and setAttributeNS().
+.SH "void QDomElement::setAttribute ( const QString & name, int value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttribute ( const QString & name, uint value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttribute ( const QString & name, long value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttribute ( const QString & name, ulong value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttribute ( const QString & name, double value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, const QString & value )"
+Adds an attribute with the qualified name \fIqName\fR and the namespace URI \fInsURI\fR with the value \fIvalue\fR. If an attribute with the same local name and namespace URI exists, its prefix is replaced by the prefix of \fIqName\fR and its value is repaced by \fIvalue\fR.
+.PP
+Although \fIqName\fR is the qualified name, the local name is used to decide if an existing attribute's value should be replaced.
+.PP
+See also attributeNS(), setAttributeNodeNS(), and setAttribute().
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, int value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, uint value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, long value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, ulong value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QDomElement::setAttributeNS ( const QString nsURI, const QString & qName, double value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QDomAttr QDomElement::setAttributeNode ( const QDomAttr & newAttr )"
+Adds the attribute \fInewAttr\fR to this element.
+.PP
+If the element has another attribute that has the same name as \fInewAttr\fR, this function replaces that attribute and returns it; otherwise the function returns a null attribute.
+.PP
+See also attributeNode(), setAttribute(), and setAttributeNodeNS().
+.SH "QDomAttr QDomElement::setAttributeNodeNS ( const QDomAttr & newAttr )"
+Adds the attribute \fInewAttr\fR to this element.
+.PP
+If the element has another attribute that has the same local name and namespace URI as \fInewAttr\fR, this function replaces that attribute and returns it; otherwise the function returns a null attribute.
+.PP
+See also attributeNodeNS(), setAttributeNS(), and setAttributeNode().
+.SH "void QDomElement::setTagName ( const QString & name )"
+Sets this element's tag name to \fIname\fR.
+.PP
+See also tagName().
+.SH "QString QDomElement::tagName () const"
+Returns the tag name of this element. For an XML element like this:
+.PP
+.nf
+.br
+ <img src="myimg.png">
+.br
+.fi
+the tagname would return "img".
+.PP
+See also setTagName().
+.SH "QString QDomElement::text () const"
+Returns the element's text or QString::null.
+.PP
+Example:
+.PP
+.nf
+.br
+ <h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>
+.br
+.fi
+.PP
+The function text() of the QDomElement for the <h1> tag, will return "Hello Qt <xml is cool>".
+.PP
+Comments are ignored by this function. It only evaluates QDomText
+and QDomCDATASection objects.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomelement.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomelement.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomentity.3qt b/doc/man/man3/qdomentity.3qt
new file mode 100644
index 0000000..95e28c0
--- /dev/null
+++ b/doc/man/man3/qdomentity.3qt
@@ -0,0 +1,114 @@
+'\" t
+.TH QDomEntity 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomEntity \- Represents an XML entity
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomEntity\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomEntity\fR ( const QDomEntity & x )"
+.br
+.ti -1c
+.BI "QDomEntity & \fBoperator=\fR ( const QDomEntity & x )"
+.br
+.ti -1c
+.BI "\fB~QDomEntity\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBpublicId\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBsystemId\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBnotationName\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEntity\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomEntity class represents an XML entity.
+.PP
+This class represents an entity in an XML document, either parsed or unparsed. Note that this models the entity itself not the entity declaration.
+.PP
+DOM does not support editing entity nodes; if a user wants to make changes to the contents of an entity, every related QDomEntityReference node must be replaced in the DOM tree by a clone of the entity's contents, and then the desired changes must be made to each of the clones instead. All the descendents of an entity node are read-only.
+.PP
+An entity node does not have any parent.
+.PP
+You can access the entity's publicId(), systemId() and notationName() when available.
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomEntity::QDomEntity ()"
+Constructs an empty entity.
+.SH "QDomEntity::QDomEntity ( const QDomEntity & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomEntity::~QDomEntity ()"
+Destroys the object and frees its resources.
+.SH "bool QDomEntity::isEntity () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomEntity::nodeType () const\fC [virtual]\fR"
+Returns EntityNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QString QDomEntity::notationName () const\fC [virtual]\fR"
+For unparsed entities this function returns the name of the notation for the entity. For parsed entities this function returns QString::null.
+.SH "QDomEntity & QDomEntity::operator= ( const QDomEntity & x )"
+Assigns \fIx\fR to this DOM entity.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QString QDomEntity::publicId () const\fC [virtual]\fR"
+Returns the public identifier associated with this entity. If the public identifier was not specified QString::null is returned.
+.SH "QString QDomEntity::systemId () const\fC [virtual]\fR"
+Returns the system identifier associated with this entity. If the
+system identifier was not specified QString::null is returned.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomentity.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomentity.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomentityreference.3qt b/doc/man/man3/qdomentityreference.3qt
new file mode 100644
index 0000000..04c5c29
--- /dev/null
+++ b/doc/man/man3/qdomentityreference.3qt
@@ -0,0 +1,100 @@
+'\" t
+.TH QDomEntityReference 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomEntityReference \- Represents an XML entity reference
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomEntityReference\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomEntityReference\fR ( const QDomEntityReference & x )"
+.br
+.ti -1c
+.BI "QDomEntityReference & \fBoperator=\fR ( const QDomEntityReference & x )"
+.br
+.ti -1c
+.BI "\fB~QDomEntityReference\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEntityReference\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomEntityReference class represents an XML entity reference.
+.PP
+A QDomEntityReference object may be inserted into the DOM tree when an entity reference is in the source document, or when the user wishes to insert an entity reference.
+.PP
+Note that character references and references to predefined entities are expanded by the XML processor so that characters are represented by their Unicode equivalent rather than by an entity reference.
+.PP
+Moreover, the XML processor may completely expand references to entities while building the DOM tree, instead of providing QDomEntityReference objects.
+.PP
+If it does provide such objects, then for a given entity reference node, it may be that there is no entity node representing the referenced entity; but if such an entity exists, then the child list of the entity reference node is the same as that of the entity node. As with the entity node, all descendents of the entity reference are read-only.
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomEntityReference::QDomEntityReference ()"
+Constructs an empty entity reference. Use QDomDocument::createEntityReference() to create a entity reference with content.
+.SH "QDomEntityReference::QDomEntityReference ( const QDomEntityReference & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomEntityReference::~QDomEntityReference ()"
+Destroys the object and frees its resources.
+.SH "bool QDomEntityReference::isEntityReference () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomEntityReference::nodeType () const\fC [virtual]\fR"
+Returns \fCEntityReference\fR.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomEntityReference & QDomEntityReference::operator= ( const QDomEntityReference & x )"
+Assigns \fIx\fR to this entity reference.
+.PP
+The data of the copy is shared (shallow copy): modifying one node
+will also change the other. If you want to make a deep copy, use
+cloneNode().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomentityreference.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomentityreference.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomimplementation.3qt b/doc/man/man3/qdomimplementation.3qt
new file mode 100644
index 0000000..7bde7e1
--- /dev/null
+++ b/doc/man/man3/qdomimplementation.3qt
@@ -0,0 +1,126 @@
+'\" t
+.TH QDomImplementation 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomImplementation \- Information about the features of the DOM implementation
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomImplementation\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomImplementation\fR ( const QDomImplementation & x )"
+.br
+.ti -1c
+.BI "virtual \fB~QDomImplementation\fR ()"
+.br
+.ti -1c
+.BI "QDomImplementation & \fBoperator=\fR ( const QDomImplementation & x )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDomImplementation & x ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDomImplementation & x ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasFeature\fR ( const QString & feature, const QString & version )"
+.br
+.ti -1c
+.BI "virtual QDomDocumentType \fBcreateDocumentType\fR ( const QString & qName, const QString & publicId, const QString & systemId )"
+.br
+.ti -1c
+.BI "virtual QDomDocument \fBcreateDocument\fR ( const QString & nsURI, const QString & qName, const QDomDocumentType & doctype )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomImplementation class provides information about the features of the DOM implementation.
+.PP
+This class describes the features that are supported by the DOM implementation. Currently the XML subset of DOM Level 1 and DOM Level 2 Core are supported.
+.PP
+Normally you will use the function QDomDocument::implementation() to get the implementation object.
+.PP
+You can create a new document type with createDocumentType() and a new document with createDocument().
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also hasFeature() and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomImplementation::QDomImplementation ()"
+Constructs a QDomImplementation object.
+.SH "QDomImplementation::QDomImplementation ( const QDomImplementation & x )"
+Constructs a copy of \fIx\fR.
+.SH "QDomImplementation::~QDomImplementation ()\fC [virtual]\fR"
+Destroys the object and frees its resources.
+.SH "QDomDocument QDomImplementation::createDocument ( const QString & nsURI, const QString & qName, const QDomDocumentType & doctype )\fC [virtual]\fR"
+Creates a DOM document with the document type \fIdoctype\fR. This function also adds a root element node with the qualified name \fIqName\fR and the namespace URI \fInsURI\fR.
+.SH "QDomDocumentType QDomImplementation::createDocumentType ( const QString & qName, const QString & publicId, const QString & systemId )\fC [virtual]\fR"
+Creates a document type node for the name \fIqName\fR.
+.PP
+\fIpublicId\fR specifies the public identifier of the external subset. If you specify QString::null as the \fIpublicId\fR, this means that the document type has no public identifier.
+.PP
+\fIsystemId\fR specifies the system identifier of the external subset. If you specify QString::null as the \fIsystemId\fR, this means that the document type has no system identifier.
+.PP
+Since you cannot have a public identifier without a system identifier, the public identifier is set to QString::null if there is no system identifier.
+.PP
+DOM level 2 does not support any other document type declaration features.
+.PP
+The only way you can use a document type that was created this way, is in combination with the createDocument() function to create a QDomDocument with this document type.
+.PP
+See also createDocument().
+.SH "bool QDomImplementation::hasFeature ( const QString & feature, const QString & version )\fC [virtual]\fR"
+The function returns TRUE if QDom implements the requested \fIversion\fR of a \fIfeature\fR; otherwise returns FALSE.
+.PP
+The currently supported features and their versions: <center>.nf
+.TS
+l - l. Feature Version XML
+.TE
+.fi
+</center>
+.SH "bool QDomImplementation::isNull ()"
+Returns FALSE if the object was created by QDomDocument::implementation(); otherwise returns TRUE.
+.SH "bool QDomImplementation::operator!= ( const QDomImplementation & x ) const"
+Returns TRUE if \fIx\fR and this DOM implementation object were created from different QDomDocuments; otherwise returns FALSE.
+.SH "QDomImplementation & QDomImplementation::operator= ( const QDomImplementation & x )"
+Assigns \fIx\fR to this DOM implementation.
+.SH "bool QDomImplementation::operator== ( const QDomImplementation & x ) const"
+Returns TRUE if \fIx\fR and this DOM implementation object were
+created from the same QDomDocument; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomimplementation.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomimplementation.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomnamednodemap.3qt b/doc/man/man3/qdomnamednodemap.3qt
new file mode 100644
index 0000000..b064f98
--- /dev/null
+++ b/doc/man/man3/qdomnamednodemap.3qt
@@ -0,0 +1,172 @@
+'\" t
+.TH QDomNamedNodeMap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomNamedNodeMap \- Collection of nodes that can be accessed by name
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomNamedNodeMap\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomNamedNodeMap\fR ( const QDomNamedNodeMap & n )"
+.br
+.ti -1c
+.BI "QDomNamedNodeMap & \fBoperator=\fR ( const QDomNamedNodeMap & n )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDomNamedNodeMap & n ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDomNamedNodeMap & n ) const"
+.br
+.ti -1c
+.BI "\fB~QDomNamedNodeMap\fR ()"
+.br
+.ti -1c
+.BI "QDomNode \fBnamedItem\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "QDomNode \fBsetNamedItem\fR ( const QDomNode & newNode )"
+.br
+.ti -1c
+.BI "QDomNode \fBremoveNamedItem\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QDomNode \fBitem\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QDomNode \fBnamedItemNS\fR ( const QString & nsURI, const QString & localName ) const"
+.br
+.ti -1c
+.BI "QDomNode \fBsetNamedItemNS\fR ( const QDomNode & newNode )"
+.br
+.ti -1c
+.BI "QDomNode \fBremoveNamedItemNS\fR ( const QString & nsURI, const QString & localName )"
+.br
+.ti -1c
+.BI "uint \fBlength\fR () const"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QString & name ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomNamedNodeMap class contains a collection of nodes that can be accessed by name.
+.PP
+Note that QDomNamedNodeMap does not inherit from QDomNodeList. QDomNamedNodeMaps do not provide any specific node ordering. Although nodes in a QDomNamedNodeMap may be accessed by an ordinal index, this is simply to allow a convenient enumeration of the contents of a QDomNamedNodeMap, and does not imply that the DOM specifies an ordering of the nodes.
+.PP
+The QDomNamedNodeMap is used in three places: <ol type=1>
+.IP 1
+QDomDocumentType::entities() returns a map of all entities described in the DTD.
+.IP 2
+QDomDocumentType::notations() returns a map of all notations described in the DTD.
+.IP 3
+QDomNode::attributes() returns a map of all attributes of an element.
+.PP
+Items in the map are identified by the name which QDomNode::name() returns. Nodes are retrieved using namedItem(), namedItemNS() or item(). New nodes are inserted with setNamedItem() or setNamedItemNS() and removed with removeNamedItem() or removeNamedItemNS(). Use contains() to see if an item with the given name is in the named node map. The number of items is returned by length().
+.PP
+Terminology: in this class we use "item" and "node" interchangeably.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomNamedNodeMap::QDomNamedNodeMap ()"
+Constructs an empty named node map.
+.SH "QDomNamedNodeMap::QDomNamedNodeMap ( const QDomNamedNodeMap & n )"
+Constructs a copy of \fIn\fR.
+.SH "QDomNamedNodeMap::~QDomNamedNodeMap ()"
+Destroys the object and frees its resources.
+.SH "bool QDomNamedNodeMap::contains ( const QString & name ) const"
+Returns TRUE if the map contains a node called \fIname\fR; otherwise returns FALSE.
+.SH "uint QDomNamedNodeMap::count () const"
+Returns the number of nodes in the map.
+.PP
+This function is the same as length().
+.SH "QDomNode QDomNamedNodeMap::item ( int index ) const"
+Retrieves the node at position \fIindex\fR.
+.PP
+This can be used to iterate over the map. Note that the nodes in the map are ordered arbitrarily.
+.PP
+See also length().
+.SH "uint QDomNamedNodeMap::length () const"
+Returns the number of nodes in the map.
+.PP
+See also item().
+.SH "QDomNode QDomNamedNodeMap::namedItem ( const QString & name ) const"
+Returns the node called \fIname\fR.
+.PP
+If the named node map does not contain such a node, a null node is returned. A node's name is the name returned by QDomNode::nodeName().
+.PP
+See also setNamedItem() and namedItemNS().
+.SH "QDomNode QDomNamedNodeMap::namedItemNS ( const QString & nsURI, const QString & localName ) const"
+Returns the node associated with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR.
+.PP
+If the map does not contain such a node, a null node is returned.
+.PP
+See also setNamedItemNS() and namedItem().
+.SH "bool QDomNamedNodeMap::operator!= ( const QDomNamedNodeMap & n ) const"
+Returns TRUE if \fIn\fR and this named node map are not equal; otherwise returns FALSE.
+.SH "QDomNamedNodeMap & QDomNamedNodeMap::operator= ( const QDomNamedNodeMap & n )"
+Assigns \fIn\fR to this named node map.
+.SH "bool QDomNamedNodeMap::operator== ( const QDomNamedNodeMap & n ) const"
+Returns TRUE if \fIn\fR and this named node map are equal; otherwise returns FALSE.
+.SH "QDomNode QDomNamedNodeMap::removeNamedItem ( const QString & name )"
+Removes the node called \fIname\fR from the map.
+.PP
+The function returns the removed node or a null node if the map did not contain a node called \fIname\fR.
+.PP
+See also setNamedItem(), namedItem(), and removeNamedItemNS().
+.SH "QDomNode QDomNamedNodeMap::removeNamedItemNS ( const QString & nsURI, const QString & localName )"
+Removes the node with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR from the map.
+.PP
+The function returns the removed node or a null node if the map did not contain a node with the local name \fIlocalName\fR and the namespace URI \fInsURI\fR.
+.PP
+See also setNamedItemNS(), namedItemNS(), and removeNamedItem().
+.SH "QDomNode QDomNamedNodeMap::setNamedItem ( const QDomNode & newNode )"
+Inserts the node \fInewNode\fR into the named node map. The name used by the map is the node name of \fInewNode\fR as returned by QDomNode::nodeName().
+.PP
+If the new node replaces an existing node, i.e. the map contains a node with the same name, the replaced node is returned.
+.PP
+See also namedItem(), removeNamedItem(), and setNamedItemNS().
+.SH "QDomNode QDomNamedNodeMap::setNamedItemNS ( const QDomNode & newNode )"
+Inserts the node \fInewNode\fR in the map. If a node with the same namespace URI and the same local name already exists in the map, it is replaced by \fInewNode\fR. If the new node replaces an existing node, the replaced node is returned.
+.PP
+See also namedItemNS(), removeNamedItemNS(), and setNamedItem().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomnamednodemap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomnamednodemap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomnode.3qt b/doc/man/man3/qdomnode.3qt
new file mode 100644
index 0000000..f439aef
--- /dev/null
+++ b/doc/man/man3/qdomnode.3qt
@@ -0,0 +1,733 @@
+'\" t
+.TH QDomNode 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomNode \- The base class for all the nodes in a DOM tree
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherited by QDomDocumentType, QDomDocument, QDomDocumentFragment, QDomCharacterData, QDomAttr, QDomElement, QDomNotation, QDomEntity, QDomEntityReference, and QDomProcessingInstruction.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBNodeType\fR { ElementNode = 1, AttributeNode = 2, TextNode = 3, CDATASectionNode = 4, EntityReferenceNode = 5, EntityNode = 6, ProcessingInstructionNode = 7, CommentNode = 8, DocumentNode = 9, DocumentTypeNode = 10, DocumentFragmentNode = 11, NotationNode = 12, BaseNode = 21, CharacterDataNode = 22 }"
+.br
+.ti -1c
+.BI "\fBQDomNode\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomNode\fR ( const QDomNode & n )"
+.br
+.ti -1c
+.BI "QDomNode & \fBoperator=\fR ( const QDomNode & n )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDomNode & n ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDomNode & n ) const"
+.br
+.ti -1c
+.BI "virtual \fB~QDomNode\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBinsertBefore\fR ( const QDomNode & newChild, const QDomNode & refChild )"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBinsertAfter\fR ( const QDomNode & newChild, const QDomNode & refChild )"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBreplaceChild\fR ( const QDomNode & newChild, const QDomNode & oldChild )"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBremoveChild\fR ( const QDomNode & oldChild )"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBappendChild\fR ( const QDomNode & newChild )"
+.br
+.ti -1c
+.BI "virtual bool \fBhasChildNodes\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBcloneNode\fR ( bool deep = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual void \fBnormalize\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBisSupported\fR ( const QString & feature, const QString & version ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBnodeName\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBparentNode\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNodeList \fBchildNodes\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBfirstChild\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBlastChild\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBpreviousSibling\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBnextSibling\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNamedNodeMap \fBattributes\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomDocument \fBownerDocument\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBnamespaceURI\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBlocalName\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasAttributes\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBnodeValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNodeValue\fR ( const QString & v )"
+.br
+.ti -1c
+.BI "virtual QString \fBprefix\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrefix\fR ( const QString & pre )"
+.br
+.ti -1c
+.BI "virtual bool \fBisAttr\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisCDATASection\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocumentFragment\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocument\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisDocumentType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisElement\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEntityReference\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisText\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEntity\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisNotation\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisProcessingInstruction\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisCharacterData\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisComment\fR () const"
+.br
+.ti -1c
+.BI "QDomNode \fBnamedItem\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "QDomAttr \fBtoAttr\fR ()"
+.br
+.ti -1c
+.BI "QDomCDATASection \fBtoCDATASection\fR ()"
+.br
+.ti -1c
+.BI "QDomDocumentFragment \fBtoDocumentFragment\fR ()"
+.br
+.ti -1c
+.BI "QDomDocument \fBtoDocument\fR ()"
+.br
+.ti -1c
+.BI "QDomDocumentType \fBtoDocumentType\fR ()"
+.br
+.ti -1c
+.BI "QDomElement \fBtoElement\fR ()"
+.br
+.ti -1c
+.BI "QDomEntityReference \fBtoEntityReference\fR ()"
+.br
+.ti -1c
+.BI "QDomText \fBtoText\fR ()"
+.br
+.ti -1c
+.BI "QDomEntity \fBtoEntity\fR ()"
+.br
+.ti -1c
+.BI "QDomNotation \fBtoNotation\fR ()"
+.br
+.ti -1c
+.BI "QDomProcessingInstruction \fBtoProcessingInstruction\fR ()"
+.br
+.ti -1c
+.BI "QDomCharacterData \fBtoCharacterData\fR ()"
+.br
+.ti -1c
+.BI "QDomComment \fBtoComment\fR ()"
+.br
+.ti -1c
+.BI "void \fBsave\fR ( QTextStream & str, int indent ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( QTextStream & str, const QDomNode & node )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomNode class is the base class for all the nodes in a DOM tree.
+.PP
+Many functions in the DOM return a QDomNode.
+.PP
+You can find out the type of a node using isAttr(), isCDATASection(), isDocumentFragment(), isDocument(), isDocumentType(), isElement(), isEntityReference(), isText(), isEntity(), isNotation(), isProcessingInstruction(), isCharacterData() and isComment().
+.PP
+A QDomNode can be converted into one of its subclasses using toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() or toComment(). You can convert a node to a null node with clear().
+.PP
+Copies of the QDomNode class share their data using explicit sharing. This means that modifying one node will change all copies. This is especially useful in combination with functions which return a QDomNode, e.g. firstChild(). You can make an independent (deep) copy of the node with cloneNode().
+.PP
+Nodes are inserted with insertBefore(), insertAfter() or appendChild(). You can replace one node with another using replaceChild() and remove a node with removeChild().
+.PP
+To traverse nodes use firstChild() to get a node's first child (if any), and nextSibling() to traverse. QDomNode also provides lastChild(), previousSibling() and parentNode(). To find the first child node with a particular node name use namedItem().
+.PP
+To find out if a node has children use hasChildNodes() and to get a list of all of a node's children use childNodes().
+.PP
+The node's name and value (the meaning of which varies depending on its type) is returned by nodeName() and nodeValue() respectively. The node's type is returned by nodeType(). The node's value can be set with setNodeValue().
+.PP
+The document to which the node belongs is returned by ownerDocument().
+.PP
+Adjacent QDomText nodes can be merged into a single node with normalize().
+.PP
+QDomElement nodes have attributes which can be retrieved with attributes().
+.PP
+QDomElement and QDomAttr nodes can have namespaces which can be retrieved with namespaceURI(). Their local name is retrieved with localName(), and their prefix with prefix(). The prefix can be set with setPrefix().
+.PP
+You can write the XML representation of the node to a text stream with save().
+.PP
+The following example looks for the first element in an XML document and prints the names of all the elements that are its direct children.
+.PP
+.nf
+.br
+ QDomDocument d;
+.br
+ d.setContent( someXML );
+.br
+ QDomNode n = d.firstChild();
+.br
+ while ( !n.isNull() ) {
+.br
+ if ( n.isElement() ) {
+.br
+ QDomElement e = n.toElement();
+.br
+ cout << "Element name: " << e.tagName() << endl;
+.br
+ break;
+.br
+ }
+.br
+ n = n.nextSibling();
+.br
+ }
+.br
+.fi
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SS "Member Type Documentation"
+.SH "QDomNode::NodeType"
+This enum defines the type of the node:
+.TP
+\fCQDomNode::ElementNode\fR
+.TP
+\fCQDomNode::AttributeNode\fR
+.TP
+\fCQDomNode::TextNode\fR
+.TP
+\fCQDomNode::CDATASectionNode\fR
+.TP
+\fCQDomNode::EntityReferenceNode\fR
+.TP
+\fCQDomNode::EntityNode\fR
+.TP
+\fCQDomNode::ProcessingInstructionNode\fR
+.TP
+\fCQDomNode::CommentNode\fR
+.TP
+\fCQDomNode::DocumentNode\fR
+.TP
+\fCQDomNode::DocumentTypeNode\fR
+.TP
+\fCQDomNode::DocumentFragmentNode\fR
+.TP
+\fCQDomNode::NotationNode\fR
+.TP
+\fCQDomNode::BaseNode\fR - A QDomNode object, i.e. not a QDomNode subclass.
+.TP
+\fCQDomNode::CharacterDataNode\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomNode::QDomNode ()"
+Constructs a null node.
+.SH "QDomNode::QDomNode ( const QDomNode & n )"
+Constructs a copy of \fIn\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomNode::~QDomNode ()\fC [virtual]\fR"
+Destroys the object and frees its resources.
+.SH "QDomNode QDomNode::appendChild ( const QDomNode & newChild )\fC [virtual]\fR"
+Appends \fInewChild\fR as the node's last child.
+.PP
+If \fInewChild\fR is the child of another node, it is reparented to this node. If \fInewChild\fR is a child of this node, then its position in the list of children is changed.
+.PP
+If \fInewChild\fR is a QDomDocumentFragment, then the children of the fragment are removed from the fragment and appended.
+.PP
+Returns a new reference to \fInewChild\fR.
+.PP
+See also insertBefore(), insertAfter(), replaceChild(), and removeChild().
+.SH "QDomNamedNodeMap QDomNode::attributes () const\fC [virtual]\fR"
+Returns a named node map of all attributes. Attributes are only provided for QDomElements.
+.PP
+Changing the attributes in the map will also change the attributes of this QDomNode.
+.PP
+Reimplemented in QDomElement.
+.SH "QDomNodeList QDomNode::childNodes () const\fC [virtual]\fR"
+Returns a list of all direct child nodes.
+.PP
+Most often you will call this function on a QDomElement object.
+.PP
+For example, if the XML document looks like this:
+.PP
+.nf
+.br
+ <body>
+.br
+ <h1>Heading</h1>
+.br
+ <p>Hello <b>you</b></p>
+.br
+ </body>
+.br
+.fi
+Then the list of child nodes for the "body"-element will contain the node created by the <h1> tag and the node created by the <p> tag.
+.PP
+The nodes in the list are not copied; so changing the nodes in the list will also change the children of this node.
+.PP
+See also firstChild() and lastChild().
+.SH "void QDomNode::clear ()"
+Converts the node into a null node; if it was not a null node before, its type and contents are deleted.
+.PP
+See also isNull().
+.SH "QDomNode QDomNode::cloneNode ( bool deep = TRUE ) const\fC [virtual]\fR"
+Creates a deep (not shallow) copy of the QDomNode.
+.PP
+If \fIdeep\fR is TRUE, then the cloning is done recursively which means that all the node's children are deep copied too. If \fIdeep\fR is FALSE only the node itself is copied and the copy will have no child nodes.
+.SH "QDomNode QDomNode::firstChild () const\fC [virtual]\fR"
+Returns the first child of the node. If there is no child node, a null node is returned. Changing the returned node will also change the node in the document tree.
+.PP
+See also lastChild() and childNodes().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "bool QDomNode::hasAttributes () const\fC [virtual]\fR"
+Returns TRUE if the node has attributes; otherwise returns FALSE.
+.PP
+See also attributes().
+.SH "bool QDomNode::hasChildNodes () const\fC [virtual]\fR"
+Returns TRUE if the node has one or more children; otherwise returns FALSE.
+.SH "QDomNode QDomNode::insertAfter ( const QDomNode & newChild, const QDomNode & refChild )\fC [virtual]\fR"
+Inserts the node \fInewChild\fR after the child node \fIrefChild\fR. \fIrefChild\fR must be a direct child of this node. If \fIrefChild\fR is null then \fInewChild\fR is appended as this node's last child.
+.PP
+If \fInewChild\fR is the child of another node, it is reparented to this node. If \fInewChild\fR is a child of this node, then its position in the list of children is changed.
+.PP
+If \fInewChild\fR is a QDomDocumentFragment, then the children of the fragment are removed from the fragment and inserted after \fIrefChild\fR.
+.PP
+Returns a new reference to \fInewChild\fR on success or a null node on failure.
+.PP
+See also insertBefore(), replaceChild(), removeChild(), and appendChild().
+.SH "QDomNode QDomNode::insertBefore ( const QDomNode & newChild, const QDomNode & refChild )\fC [virtual]\fR"
+Inserts the node \fInewChild\fR before the child node \fIrefChild\fR. \fIrefChild\fR must be a direct child of this node. If \fIrefChild\fR is null then \fInewChild\fR is inserted as the node's first child.
+.PP
+If \fInewChild\fR is the child of another node, it is reparented to this node. If \fInewChild\fR is a child of this node, then its position in the list of children is changed.
+.PP
+If \fInewChild\fR is a QDomDocumentFragment, then the children of the fragment are removed from the fragment and inserted before \fIrefChild\fR.
+.PP
+Returns a new reference to \fInewChild\fR on success or a null node on failure.
+.PP
+See also insertAfter(), replaceChild(), removeChild(), and appendChild().
+.SH "bool QDomNode::isAttr () const\fC [virtual]\fR"
+Returns TRUE if the node is an attribute; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomAttribute; you can get the QDomAttribute with toAttribute().
+.PP
+See also toAttr().
+.PP
+Reimplemented in QDomAttr.
+.SH "bool QDomNode::isCDATASection () const\fC [virtual]\fR"
+Returns TRUE if the node is a CDATA section; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomCDATASection; you can get the QDomCDATASection with toCDATASection().
+.PP
+See also toCDATASection().
+.PP
+Reimplemented in QDomCDATASection.
+.SH "bool QDomNode::isCharacterData () const\fC [virtual]\fR"
+Returns TRUE if the node is a character data node; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomCharacterData; you can get the QDomCharacterData with toCharacterData().
+.PP
+See also toCharacterData().
+.PP
+Reimplemented in QDomCharacterData.
+.SH "bool QDomNode::isComment () const\fC [virtual]\fR"
+Returns TRUE if the node is a comment; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomComment; you can get the QDomComment with toComment().
+.PP
+See also toComment().
+.PP
+Reimplemented in QDomComment.
+.SH "bool QDomNode::isDocument () const\fC [virtual]\fR"
+Returns TRUE if the node is a document; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomDocument; you can get the QDomDocument with toDocument().
+.PP
+See also toDocument().
+.PP
+Reimplemented in QDomDocument.
+.SH "bool QDomNode::isDocumentFragment () const\fC [virtual]\fR"
+Returns TRUE if the node is a document fragment; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomDocumentFragment; you can get the QDomDocumentFragment with toDocumentFragment().
+.PP
+See also toDocumentFragment().
+.PP
+Reimplemented in QDomDocumentFragment.
+.SH "bool QDomNode::isDocumentType () const\fC [virtual]\fR"
+Returns TRUE if the node is a document type; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomDocumentType; you can get the QDomDocumentType with toDocumentType().
+.PP
+See also toDocumentType().
+.PP
+Reimplemented in QDomDocumentType.
+.SH "bool QDomNode::isElement () const\fC [virtual]\fR"
+Returns TRUE if the node is an element; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomElement; you can get the QDomElement with toElement().
+.PP
+See also toElement().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.PP
+Reimplemented in QDomElement.
+.SH "bool QDomNode::isEntity () const\fC [virtual]\fR"
+Returns TRUE if the node is an entity; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomEntity; you can get the QDomEntity with toEntity().
+.PP
+See also toEntity().
+.PP
+Reimplemented in QDomEntity.
+.SH "bool QDomNode::isEntityReference () const\fC [virtual]\fR"
+Returns TRUE if the node is an entity reference; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomEntityReference; you can get the QDomEntityReference with toEntityReference().
+.PP
+See also toEntityReference().
+.PP
+Reimplemented in QDomEntityReference.
+.SH "bool QDomNode::isNotation () const\fC [virtual]\fR"
+Returns TRUE if the node is a notation; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomNotation; you can get the QDomNotation with toNotation().
+.PP
+See also toNotation().
+.PP
+Reimplemented in QDomNotation.
+.SH "bool QDomNode::isNull () const"
+Returns TRUE if this node is null (i.e. if it has no type or contents); otherwise returns FALSE.
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "bool QDomNode::isProcessingInstruction () const\fC [virtual]\fR"
+Returns TRUE if the node is a processing instruction; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomProcessingInstruction; you can get the QProcessingInstruction with toProcessingInstruction().
+.PP
+See also toProcessingInstruction().
+.PP
+Reimplemented in QDomProcessingInstruction.
+.SH "bool QDomNode::isSupported ( const QString & feature, const QString & version ) const\fC [virtual]\fR"
+Returns TRUE if the DOM implementation implements the feature \fIfeature\fR and this feature is supported by this node in the version \fIversion\fR; otherwise returns FALSE.
+.PP
+See also QDomImplementation::hasFeature().
+.SH "bool QDomNode::isText () const\fC [virtual]\fR"
+Returns TRUE if the node is a text node; otherwise returns FALSE.
+.PP
+If this function returns TRUE, it does not imply that this object is a QDomText; you can get the QDomText with toText().
+.PP
+See also toText().
+.PP
+Reimplemented in QDomText.
+.SH "QDomNode QDomNode::lastChild () const\fC [virtual]\fR"
+Returns the last child of the node. If there is no child node, a null node is returned. Changing the returned node will also change the node in the document tree.
+.PP
+See also firstChild() and childNodes().
+.SH "QString QDomNode::localName () const\fC [virtual]\fR"
+If the node uses namespaces, this function returns the local name of the node; otherwise it returns QString::null.
+.PP
+Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace must have been specified at creation time; it is not possible to add a namespace afterwards.
+.PP
+See also prefix(), namespaceURI(), QDomDocument::createElementNS(), and QDomDocument::createAttributeNS().
+.SH "QDomNode QDomNode::namedItem ( const QString & name ) const"
+Returns the first direct child node for which nodeName() equals \fIname\fR.
+.PP
+If no such direct child exists, a null node is returned.
+.PP
+See also nodeName().
+.SH "QString QDomNode::namespaceURI () const\fC [virtual]\fR"
+Returns the namespace URI of this node or QString::null if the node has no namespace URI.
+.PP
+Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace URI must be specified at creation time and cannot be changed later.
+.PP
+See also prefix(), localName(), QDomDocument::createElementNS(), and QDomDocument::createAttributeNS().
+.SH "QDomNode QDomNode::nextSibling () const\fC [virtual]\fR"
+Returns the next sibling in the document tree. Changing the returned node will also change the node in the document tree.
+.PP
+If you have XML like this:
+.PP
+.nf
+.br
+ <h1>Heading</h1>
+.br
+ <p>The text...</p>
+.br
+ <h2>Next heading</h2>
+.br
+.fi
+and this QDomNode represents the <p> tag, nextSibling() will return the node representing the <h2> tag.
+.PP
+See also previousSibling().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "QString QDomNode::nodeName () const\fC [virtual]\fR"
+Returns the name of the node.
+.PP
+The meaning of the name depends on the subclass: <center>.nf
+.TS
+l - l. Name Meaning QDomAttr The name of the attribute QDomCDATASection The string "#cdata-section" QDomComment The string "#comment" QDomDocument The string "#document" QDomDocumentFragment The string "#document-fragment" QDomDocumentType The name of the document type QDomElement The tag name QDomEntity The name of the entity QDomEntityReference The name of the referenced entity QDomNotation The name of the notation QDomProcessingInstruction The target of the processing instruction QDomText
+.TE
+.fi
+</center>
+.PP
+See also nodeValue().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "QDomNode::NodeType QDomNode::nodeType () const\fC [virtual]\fR"
+Returns the type of the node.
+.PP
+See also toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData(), and toComment().
+.PP
+Reimplemented in QDomDocumentType, QDomDocument, QDomDocumentFragment, QDomCharacterData, QDomAttr, QDomElement, QDomNotation, QDomEntity, QDomEntityReference, and QDomProcessingInstruction.
+.SH "QString QDomNode::nodeValue () const\fC [virtual]\fR"
+Returns the value of the node.
+.PP
+The meaning of the value depends on the subclass: <center>.nf
+.TS
+l - l. Name Meaning QDomAttr The attribute value QDomCDATASection The content of the CDATA section QDomComment The comment QDomProcessingInstruction The data of the processing intruction QDomText
+.TE
+.fi
+</center>
+.PP
+All the other subclasses do not have a node value and will return QString::null.
+.PP
+See also setNodeValue() and nodeName().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "void QDomNode::normalize ()\fC [virtual]\fR"
+Calling normalize() on an element converts all its children into a standard form. This means that adjacent QDomText objects will be merged into a single text object (QDomCDATASection nodes are not merged).
+.SH "bool QDomNode::operator!= ( const QDomNode & n ) const"
+Returns TRUE if \fIn\fR and this DOM node are not equal; otherwise returns FALSE.
+.SH "QDomNode & QDomNode::operator= ( const QDomNode & n )"
+Assigns a copy of \fIn\fR to this DOM node.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "bool QDomNode::operator== ( const QDomNode & n ) const"
+Returns TRUE if \fIn\fR and this DOM node are equal; otherwise returns FALSE.
+.SH "QDomDocument QDomNode::ownerDocument () const\fC [virtual]\fR"
+Returns the document to which this node belongs.
+.SH "QDomNode QDomNode::parentNode () const\fC [virtual]\fR"
+Returns the parent node. If this node has no parent, a null node is returned (i.e. a node for which isNull() returns TRUE).
+.SH "QString QDomNode::prefix () const\fC [virtual]\fR"
+Returns the namespace prefix of the node or QString::null if the node has no namespace prefix.
+.PP
+Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace prefix must be specified at creation time. If a node was created with a namespace prefix, you can change it later with setPrefix().
+.PP
+If you create an element or attribute with QDomDocument::createElement() or QDomDocument::createAttribute(), the prefix will be QString::null. If you use QDomDocument::createElementNS() or QDomDocument::createAttributeNS() instead, the prefix will not be QString::null; but it might be an empty string if the name does not have a prefix.
+.PP
+See also setPrefix(), localName(), namespaceURI(), QDomDocument::createElementNS(), and QDomDocument::createAttributeNS().
+.SH "QDomNode QDomNode::previousSibling () const\fC [virtual]\fR"
+Returns the previous sibling in the document tree. Changing the returned node will also change the node in the document tree.
+.PP
+For example, if you have XML like this:
+.PP
+.nf
+.br
+ <h1>Heading</h1>
+.br
+ <p>The text...</p>
+.br
+ <h2>Next heading</h2>
+.br
+.fi
+and this QDomNode represents the <p> tag, previousSibling() will return the node representing the <h1> tag.
+.PP
+See also nextSibling().
+.SH "QDomNode QDomNode::removeChild ( const QDomNode & oldChild )\fC [virtual]\fR"
+Removes \fIoldChild\fR from the list of children. \fIoldChild\fR must be a direct child of this node.
+.PP
+Returns a new reference to \fIoldChild\fR on success or a null node on failure.
+.PP
+See also insertBefore(), insertAfter(), replaceChild(), and appendChild().
+.SH "QDomNode QDomNode::replaceChild ( const QDomNode & newChild, const QDomNode & oldChild )\fC [virtual]\fR"
+Replaces \fIoldChild\fR with \fInewChild\fR. \fIoldChild\fR must be a direct child of this node.
+.PP
+If \fInewChild\fR is the child of another node, it is reparented to this node. If \fInewChild\fR is a child of this node, then its position in the list of children is changed.
+.PP
+If \fInewChild\fR is a QDomDocumentFragment, then \fIoldChild\fR is replaced by all of the children of the fragment.
+.PP
+Returns a new reference to \fIoldChild\fR on success or a null node an failure.
+.PP
+See also insertBefore(), insertAfter(), removeChild(), and appendChild().
+.SH "void QDomNode::save ( QTextStream & str, int indent ) const"
+Writes the XML representation of the node and all its children to the stream \fIstr\fR. This function uses \fIindent\fR as the amount of space to indent the node.
+.SH "void QDomNode::setNodeValue ( const QString & v )\fC [virtual]\fR"
+Sets the node's value to \fIv\fR.
+.PP
+See also nodeValue().
+.SH "void QDomNode::setPrefix ( const QString & pre )\fC [virtual]\fR"
+If the node has a namespace prefix, this function changes the namespace prefix of the node to \fIpre\fR. Otherwise this function does nothing.
+.PP
+Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace prefix must have be specified at creation time; it is not possible to add a namespace prefix afterwards.
+.PP
+See also prefix(), localName(), namespaceURI(), QDomDocument::createElementNS(), and QDomDocument::createAttributeNS().
+.SH "QDomAttr QDomNode::toAttr ()"
+Converts a QDomNode into a QDomAttr. If the node is not an attribute, the returned object will be null.
+.PP
+See also isAttr().
+.SH "QDomCDATASection QDomNode::toCDATASection ()"
+Converts a QDomNode into a QDomCDATASection. If the node is not a CDATA section, the returned object will be null.
+.PP
+See also isCDATASection().
+.SH "QDomCharacterData QDomNode::toCharacterData ()"
+Converts a QDomNode into a QDomCharacterData. If the node is not a character data node the returned object will be null.
+.PP
+See also isCharacterData().
+.SH "QDomComment QDomNode::toComment ()"
+Converts a QDomNode into a QDomComment. If the node is not a comment the returned object will be null.
+.PP
+See also isComment().
+.SH "QDomDocument QDomNode::toDocument ()"
+Converts a QDomNode into a QDomDocument. If the node is not a document the returned object will be null.
+.PP
+See also isDocument().
+.SH "QDomDocumentFragment QDomNode::toDocumentFragment ()"
+Converts a QDomNode into a QDomDocumentFragment. If the node is not a document fragment the returned object will be null.
+.PP
+See also isDocumentFragment().
+.SH "QDomDocumentType QDomNode::toDocumentType ()"
+Converts a QDomNode into a QDomDocumentType. If the node is not a document type the returned object will be null.
+.PP
+See also isDocumentType().
+.SH "QDomElement QDomNode::toElement ()"
+Converts a QDomNode into a QDomElement. If the node is not an element the returned object will be null.
+.PP
+See also isElement().
+.PP
+Example: xml/outliner/outlinetree.cpp.
+.SH "QDomEntity QDomNode::toEntity ()"
+Converts a QDomNode into a QDomEntity. If the node is not an entity the returned object will be null.
+.PP
+See also isEntity().
+.SH "QDomEntityReference QDomNode::toEntityReference ()"
+Converts a QDomNode into a QDomEntityReference. If the node is not an entity reference, the returned object will be null.
+.PP
+See also isEntityReference().
+.SH "QDomNotation QDomNode::toNotation ()"
+Converts a QDomNode into a QDomNotation. If the node is not a notation the returned object will be null.
+.PP
+See also isNotation().
+.SH "QDomProcessingInstruction QDomNode::toProcessingInstruction ()"
+Converts a QDomNode into a QDomProcessingInstruction. If the node is not a processing instruction the returned object will be null.
+.PP
+See also isProcessingInstruction().
+.SH "QDomText QDomNode::toText ()"
+Converts a QDomNode into a QDomText. If the node is not a text, the returned object will be null.
+.PP
+See also isText().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QTextStream & operator<< ( QTextStream & str, const QDomNode & node )"
+Writes the XML representation of the node \fInode\fR and all its
+children to the stream \fIstr\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomnode.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomnode.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomnodelist.3qt b/doc/man/man3/qdomnodelist.3qt
new file mode 100644
index 0000000..bb78793
--- /dev/null
+++ b/doc/man/man3/qdomnodelist.3qt
@@ -0,0 +1,108 @@
+'\" t
+.TH QDomNodeList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomNodeList \- List of QDomNode objects
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomNodeList\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomNodeList\fR ( const QDomNodeList & n )"
+.br
+.ti -1c
+.BI "QDomNodeList & \fBoperator=\fR ( const QDomNodeList & n )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QDomNodeList & n ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QDomNodeList & n ) const"
+.br
+.ti -1c
+.BI "virtual \fB~QDomNodeList\fR ()"
+.br
+.ti -1c
+.BI "virtual QDomNode \fBitem\fR ( int index ) const"
+.br
+.ti -1c
+.BI "virtual uint \fBlength\fR () const"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomNodeList class is a list of QDomNode objects.
+.PP
+Lists can be obtained by QDomDocument::elementsByTagName() and QDomNode::childNodes(). The Document Object Model (DOM) requires these lists to be "live": whenever you change the underlying document, the contents of the list will get updated.
+.PP
+You can get a particular node from the list with item(). The number of items in the list is returned by count() (and by length()).
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also QDomNode::childNodes(), QDomDocument::elementsByTagName(), and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomNodeList::QDomNodeList ()"
+Creates an empty node list.
+.SH "QDomNodeList::QDomNodeList ( const QDomNodeList & n )"
+Constructs a copy of \fIn\fR.
+.SH "QDomNodeList::~QDomNodeList ()\fC [virtual]\fR"
+Destroys the object and frees its resources.
+.SH "uint QDomNodeList::count () const"
+Returns the number of nodes in the list.
+.PP
+This function is the same as length().
+.SH "QDomNode QDomNodeList::item ( int index ) const\fC [virtual]\fR"
+Returns the node at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative or if \fIindex\fR >= length() then a null node is returned (i.e. a node for which QDomNode::isNull() returns TRUE).
+.PP
+See also count().
+.SH "uint QDomNodeList::length () const\fC [virtual]\fR"
+Returns the number of nodes in the list.
+.PP
+This function is the same as count().
+.SH "bool QDomNodeList::operator!= ( const QDomNodeList & n ) const"
+Returns TRUE the node list \fIn\fR and this node list are not equal; otherwise returns FALSE.
+.SH "QDomNodeList & QDomNodeList::operator= ( const QDomNodeList & n )"
+Assigns \fIn\fR to this node list.
+.SH "bool QDomNodeList::operator== ( const QDomNodeList & n ) const"
+Returns TRUE if the node list \fIn\fR and this node list are equal;
+otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomnodelist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomnodelist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomnotation.3qt b/doc/man/man3/qdomnotation.3qt
new file mode 100644
index 0000000..24c56e9
--- /dev/null
+++ b/doc/man/man3/qdomnotation.3qt
@@ -0,0 +1,108 @@
+'\" t
+.TH QDomNotation 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomNotation \- Represents an XML notation
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomNotation\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomNotation\fR ( const QDomNotation & x )"
+.br
+.ti -1c
+.BI "QDomNotation & \fBoperator=\fR ( const QDomNotation & x )"
+.br
+.ti -1c
+.BI "\fB~QDomNotation\fR ()"
+.br
+.ti -1c
+.BI "QString \fBpublicId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsystemId\fR () const"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisNotation\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomNotation class represents an XML notation.
+.PP
+A notation either declares, by name, the format of an unparsed entity (see section 4.7 of the XML 1.0 specification), or is used for formal declaration of processing instruction targets (see section 2.6 of the XML 1.0 specification).
+.PP
+DOM does not support editing notation nodes; they are therefore read-only.
+.PP
+A notation node does not have any parent.
+.PP
+You can retrieve the publicId() and systemId() from a notation node.
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomNotation::QDomNotation ()"
+Constructor.
+.SH "QDomNotation::QDomNotation ( const QDomNotation & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomNotation::~QDomNotation ()"
+Destroys the object and frees its resources.
+.SH "bool QDomNotation::isNotation () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomNotation::nodeType () const\fC [virtual]\fR"
+Returns NotationNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNotation & QDomNotation::operator= ( const QDomNotation & x )"
+Assigns \fIx\fR to this DOM notation.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QString QDomNotation::publicId () const"
+Returns the public identifier of this notation.
+.SH "QString QDomNotation::systemId () const"
+Returns the system identifier of this notation.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomnotation.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomnotation.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomprocessinginstruction.3qt b/doc/man/man3/qdomprocessinginstruction.3qt
new file mode 100644
index 0000000..ea05a4b
--- /dev/null
+++ b/doc/man/man3/qdomprocessinginstruction.3qt
@@ -0,0 +1,115 @@
+'\" t
+.TH QDomProcessingInstruction 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomProcessingInstruction \- Represents an XML processing instruction
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomNode.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomProcessingInstruction\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomProcessingInstruction\fR ( const QDomProcessingInstruction & x )"
+.br
+.ti -1c
+.BI "QDomProcessingInstruction & \fBoperator=\fR ( const QDomProcessingInstruction & x )"
+.br
+.ti -1c
+.BI "\fB~QDomProcessingInstruction\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBtarget\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBdata\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QString & d )"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisProcessingInstruction\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomProcessingInstruction class represents an XML processing instruction.
+.PP
+Processing instructions are used in XML to keep processor-specific information in the text of the document.
+.PP
+The content of the processing instruction is retrieved with data() and set with setData(). The processing instruction's target is retrieved with target().
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomProcessingInstruction::QDomProcessingInstruction ()"
+Constructs an empty processing instruction. Use QDomDocument::createProcessingInstruction() to create a processing instruction with content.
+.SH "QDomProcessingInstruction::QDomProcessingInstruction ( const QDomProcessingInstruction & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomProcessingInstruction::~QDomProcessingInstruction ()"
+Destroys the object and frees its resources.
+.SH "QString QDomProcessingInstruction::data () const\fC [virtual]\fR"
+Returns the content of this processing instruction.
+.PP
+See also setData() and target().
+.SH "bool QDomProcessingInstruction::isProcessingInstruction () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomProcessingInstruction::nodeType () const\fC [virtual]\fR"
+Returns ProcessingInstructionNode.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomProcessingInstruction & QDomProcessingInstruction::operator= ( const QDomProcessingInstruction & x )"
+Assigns \fIx\fR to this processing instruction.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "void QDomProcessingInstruction::setData ( const QString & d )\fC [virtual]\fR"
+Sets the data contained in the processing instruction to \fId\fR.
+.PP
+See also data().
+.SH "QString QDomProcessingInstruction::target () const\fC [virtual]\fR"
+Returns the target of this processing instruction.
+.PP
+See also data().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomprocessinginstruction.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomprocessinginstruction.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdomtext.3qt b/doc/man/man3/qdomtext.3qt
new file mode 100644
index 0000000..8093d2c
--- /dev/null
+++ b/doc/man/man3/qdomtext.3qt
@@ -0,0 +1,107 @@
+'\" t
+.TH QDomText 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDomText \- Represents text data in the parsed XML document
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdom.h>\fR
+.PP
+Inherits QDomCharacterData.
+.PP
+Inherited by QDomCDATASection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDomText\fR ()"
+.br
+.ti -1c
+.BI "\fBQDomText\fR ( const QDomText & x )"
+.br
+.ti -1c
+.BI "QDomText & \fBoperator=\fR ( const QDomText & x )"
+.br
+.ti -1c
+.BI "\fB~QDomText\fR ()"
+.br
+.ti -1c
+.BI "QDomText \fBsplitText\fR ( int offset )"
+.br
+.ti -1c
+.BI "virtual QDomNode::NodeType \fBnodeType\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisText\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDomText class represents text data in the parsed XML document.
+.PP
+You can split the text in a QDomText object over two QDomText objecs with splitText().
+.PP
+For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the QDomDocument documentation.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDomText::QDomText ()"
+Constructs an empty QDomText object.
+.PP
+To construct a QDomText with content, use QDomDocument::createTextNode().
+.SH "QDomText::QDomText ( const QDomText & x )"
+Constructs a copy of \fIx\fR.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomText::~QDomText ()"
+Destroys the object and frees its resources.
+.SH "bool QDomText::isText () const\fC [virtual]\fR"
+Returns TRUE.
+.PP
+Reimplemented from QDomNode.
+.SH "QDomNode::NodeType QDomText::nodeType () const\fC [virtual]\fR"
+Returns TextNode.
+.PP
+Reimplemented from QDomCharacterData.
+.PP
+Reimplemented in QDomCDATASection.
+.SH "QDomText & QDomText::operator= ( const QDomText & x )"
+Assigns \fIx\fR to this DOM text.
+.PP
+The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
+.SH "QDomText QDomText::splitText ( int offset )"
+Splits this DOM text object into two QDomText objects. This object keeps its first \fIoffset\fR characters and the second (newly created) object is inserted into the document tree after this object with the remaining characters.
+.PP
+The function returns the newly created object.
+.PP
+See also QDomNode::normalize().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdomtext.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdomtext.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdoublevalidator.3qt b/doc/man/man3/qdoublevalidator.3qt
new file mode 100644
index 0000000..e5ee5f8
--- /dev/null
+++ b/doc/man/man3/qdoublevalidator.3qt
@@ -0,0 +1,146 @@
+'\" t
+.TH QDoubleValidator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDoubleValidator \- Range checking of floating-point numbers
+.SH SYNOPSIS
+\fC#include <qvalidator.h>\fR
+.PP
+Inherits QValidator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDoubleValidator\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQDoubleValidator\fR ( double bottom, double top, int decimals, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QDoubleValidator\fR ()"
+.br
+.ti -1c
+.BI "virtual QValidator::State \fBvalidate\fR ( QString & input, int & ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRange\fR ( double minimum, double maximum, int decimals = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetBottom\fR ( double )"
+.br
+.ti -1c
+.BI "void \fBsetTop\fR ( double )"
+.br
+.ti -1c
+.BI "void \fBsetDecimals\fR ( int )"
+.br
+.ti -1c
+.BI "double \fBbottom\fR () const"
+.br
+.ti -1c
+.BI "double \fBtop\fR () const"
+.br
+.ti -1c
+.BI "int \fBdecimals\fR () const"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "double \fBbottom\fR - the validator's minimum acceptable value"
+.br
+.ti -1c
+.BI "int \fBdecimals\fR - the validator's maximum number of digits after the decimal point"
+.br
+.ti -1c
+.BI "double \fBtop\fR - the validator's maximum acceptable value"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDoubleValidator class provides range checking of floating-point numbers.
+.PP
+QDoubleValidator provides an upper bound, a lower bound and a limit on the number of digits after the decimal point. It does not provide a fixup() function.
+.PP
+You can set the acceptable range in one call with setRange(), or with setBottom() and setTop(). Set the number of decimal places with setDecimals(). The validate() function returns the validation state.
+.PP
+See also QIntValidator, QRegExpValidator, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDoubleValidator::QDoubleValidator ( QObject * parent, const char * name = 0 )"
+Constructs a validator object with parent \fIparent\fR, called \fIname\fR, which accepts any double.
+.SH "QDoubleValidator::QDoubleValidator ( double bottom, double top, int decimals, QObject * parent, const char * name = 0 )"
+Constructs a validator object with parent \fIparent\fR, called \fIname\fR. This validator will accept doubles from \fIbottom\fR to \fItop\fR inclusive, with up to \fIdecimals\fR digits after the decimal point.
+.SH "QDoubleValidator::~QDoubleValidator ()"
+Destroys the validator, freeing any resources used.
+.SH "double QDoubleValidator::bottom () const"
+Returns the validator's minimum acceptable value. See the "bottom" property for details.
+.SH "int QDoubleValidator::decimals () const"
+Returns the validator's maximum number of digits after the decimal point. See the "decimals" property for details.
+.SH "void QDoubleValidator::setBottom ( double )"
+Sets the validator's minimum acceptable value. See the "bottom" property for details.
+.SH "void QDoubleValidator::setDecimals ( int )"
+Sets the validator's maximum number of digits after the decimal point. See the "decimals" property for details.
+.SH "void QDoubleValidator::setRange ( double minimum, double maximum, int decimals = 0 )\fC [virtual]\fR"
+Sets the validator to accept doubles from \fIminimum\fR to \fImaximum\fR inclusive, with at most \fIdecimals\fR digits after the decimal point.
+.SH "void QDoubleValidator::setTop ( double )"
+Sets the validator's maximum acceptable value. See the "top" property for details.
+.SH "double QDoubleValidator::top () const"
+Returns the validator's maximum acceptable value. See the "top" property for details.
+.SH "QValidator::State QDoubleValidator::validate ( QString & input, int & ) const\fC [virtual]\fR"
+Returns Acceptable if the string \fIinput\fR contains a double that is within the valid range and is in the correct format.
+.PP
+Returns Intermediate if \fIinput\fR contains a double that is outside the range or is in the wrong format, e.g. with too many digits after the decimal point or is empty.
+.PP
+Returns Invalid if the \fIinput\fR is not a double.
+.PP
+Note: If the valid range consists of just positive doubles (e.g. 0.0 - 100.0) and \fIinput\fR is a negative double then Invalid is returned.
+.PP
+Reimplemented from QValidator.
+.SS "Property Documentation"
+.SH "double bottom"
+This property holds the validator's minimum acceptable value.
+.PP
+Set this property's value with setBottom() and get this property's value with bottom().
+.PP
+See also setRange().
+.SH "int decimals"
+This property holds the validator's maximum number of digits after the decimal point.
+.PP
+Set this property's value with setDecimals() and get this property's value with decimals().
+.PP
+See also setRange().
+.SH "double top"
+This property holds the validator's maximum acceptable value.
+.PP
+Set this property's value with setTop() and get this property's value with top().
+.PP
+See also setRange().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdoublevalidator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdoublevalidator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdragenterevent.3qt b/doc/man/man3/qdragenterevent.3qt
new file mode 100644
index 0000000..52541f5
--- /dev/null
+++ b/doc/man/man3/qdragenterevent.3qt
@@ -0,0 +1,58 @@
+'\" t
+.TH QDragEnterEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDragEnterEvent \- Event which is sent to the widget when a drag and drop first drags onto the widget
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QDragMoveEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDragEnterEvent\fR ( const QPoint & pos )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDragEnterEvent class provides an event which is sent to the widget when a drag and drop first drags onto the widget.
+.PP
+This event is always immediately followed by a QDragMoveEvent, so you only need to respond to one or the other event. This class inherits most of its functionality from QDragMoveEvent, which in turn inherits most of its functionality from QDropEvent.
+.PP
+See also QDragLeaveEvent, QDragMoveEvent, QDropEvent, Drag And Drop Classes, and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDragEnterEvent::QDragEnterEvent ( const QPoint & pos )"
+Constructs a QDragEnterEvent entering at the given point, \fIpos\fR.
+.PP
+\fBWarning:\fR Do not create a QDragEnterEvent yourself since these
+objects rely on Qt's internal state.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdragenterevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdragenterevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdragleaveevent.3qt b/doc/man/man3/qdragleaveevent.3qt
new file mode 100644
index 0000000..d5d46ac
--- /dev/null
+++ b/doc/man/man3/qdragleaveevent.3qt
@@ -0,0 +1,58 @@
+'\" t
+.TH QDragLeaveEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDragLeaveEvent \- Event which is sent to the widget when a drag and drop leaves the widget
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDragLeaveEvent\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDragLeaveEvent class provides an event which is sent to the widget when a drag and drop leaves the widget.
+.PP
+This event is always preceded by a QDragEnterEvent and a series of QDragMoveEvents. It is not sent if a QDropEvent is sent instead.
+.PP
+See also QDragEnterEvent, QDragMoveEvent, QDropEvent, Drag And Drop Classes, and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDragLeaveEvent::QDragLeaveEvent ()"
+Constructs a QDragLeaveEvent.
+.PP
+\fBWarning:\fR Do not create a QDragLeaveEvent yourself since these
+objects rely on Qt's internal state.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdragleaveevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdragleaveevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdragmoveevent.3qt b/doc/man/man3/qdragmoveevent.3qt
new file mode 100644
index 0000000..b87ab3b
--- /dev/null
+++ b/doc/man/man3/qdragmoveevent.3qt
@@ -0,0 +1,83 @@
+'\" t
+.TH QDragMoveEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDragMoveEvent \- Event which is sent while a drag and drop is in progress
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QDropEvent.
+.PP
+Inherited by QDragEnterEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDragMoveEvent\fR ( const QPoint & pos, Type type = DragMove )"
+.br
+.ti -1c
+.BI "QRect \fBanswerRect\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBignore\fR ( const QRect & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDragMoveEvent class provides an event which is sent while a drag and drop is in progress.
+.PP
+When a widget accepts drop events, it will receive this event repeatedly while the drag is within the widget's boundaries. The widget should examine the event to see what data it provides, and accept() the drop if appropriate.
+.PP
+Note that this class inherits most of its functionality from QDropEvent.
+.PP
+See also Drag And Drop Classes and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDragMoveEvent::QDragMoveEvent ( const QPoint & pos, Type type = DragMove )"
+Creates a QDragMoveEvent for which the mouse is at point \fIpos\fR, and the event is of type \fItype\fR.
+.PP
+\fBWarning:\fR Do not create a QDragMoveEvent yourself since these objects rely on Qt's internal state.
+.SH "void QDragMoveEvent::accept ( const QRect & r )"
+The same as accept(), but also notifies that future moves will also be acceptable if they remain within the rectangle \fIr\fR on the widget: this can improve performance, but may also be ignored by the underlying system.
+.PP
+If the rectangle is empty, then drag move events will be sent continuously. This is useful if the source is scrolling in a timer event.
+.PP
+Examples:
+.)l desktop/desktop.cpp and dirview/dirview.cpp.
+.SH "QRect QDragMoveEvent::answerRect () const"
+Returns the rectangle for which the acceptance of the move event applies.
+.SH "void QDragMoveEvent::ignore ( const QRect & r )"
+The opposite of accept(const QRect&), i.e. says that moves within rectangle \fIr\fR are not acceptable (will be ignored).
+.PP
+Example: dirview/dirview.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdragmoveevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdragmoveevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdragobject.3qt b/doc/man/man3/qdragobject.3qt
new file mode 100644
index 0000000..449f67a
--- /dev/null
+++ b/doc/man/man3/qdragobject.3qt
@@ -0,0 +1,182 @@
+'\" t
+.TH QDragObject 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDragObject \- Encapsulates MIME-based data transfer
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QObject and QMimeSource.
+.PP
+Inherited by QStoredDrag, QTextDrag, QImageDrag, and QIconDrag.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDragObject\fR ( QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QDragObject\fR ()"
+.br
+.ti -1c
+.BI "bool \fBdrag\fR ()"
+.br
+.ti -1c
+.BI "bool \fBdragMove\fR ()"
+.br
+.ti -1c
+.BI "void \fBdragCopy\fR ()"
+.br
+.ti -1c
+.BI "void \fBdragLink\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( QPixmap pm )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( QPixmap pm, const QPoint & hotspot )"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBpixmapHotSpot\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBsource\fR ()"
+.br
+.ti -1c
+.BI "enum \fBDragMode\fR { DragDefault, DragCopy, DragMove, DragLink, DragCopyOrMove }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QWidget * \fBtarget\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBdrag\fR ( DragMode mode )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDragObject class encapsulates MIME-based data transfer.
+.PP
+QDragObject is the base class for all data that needs to be transferred between and within applications, both for drag and drop and for the clipboard.
+.PP
+See the Drag-and-drop documentation for an overview of how to provide drag and drop in your application.
+.PP
+See the QClipboard documentation for an overview of how to provide cut-and-paste in your application.
+.PP
+The drag() function is used to start a drag operation. You can specify the DragMode in the call or use one of the convenience functions dragCopy(), dragMove() or dragLink(). The drag source where the data originated is retrieved with source(). If the data was dropped on a widget within the application, target() will return a pointer to that widget. Specify the pixmap to display during the drag with setPixmap().
+.PP
+See also Drag And Drop Classes.
+.SS "Member Type Documentation"
+.SH "QDragObject::DragMode"
+This enum describes the possible drag modes.
+.TP
+\fCQDragObject::DragDefault\fR - The mode is determined heuristically.
+.TP
+\fCQDragObject::DragCopy\fR - The data is copied, never moved.
+.TP
+\fCQDragObject::DragMove\fR - The data is moved, if dragged at all.
+.TP
+\fCQDragObject::DragLink\fR - The data is linked, if dragged at all.
+.TP
+\fCQDragObject::DragCopyOrMove\fR - The user chooses the mode by using a control key to switch from the default.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDragObject::QDragObject ( QWidget * dragSource = 0, const char * name = 0 )"
+Constructs a drag object called \fIname\fR, which is a child of \fIdragSource\fR.
+.PP
+Note that the drag object will be deleted when \fIdragSource\fR is deleted.
+.SH "QDragObject::~QDragObject ()\fC [virtual]\fR"
+Destroys the drag object, canceling any drag and drop operation in which it is involved, and frees up the storage used.
+.SH "bool QDragObject::drag ()"
+Starts a drag operation using the contents of this object, using DragDefault mode.
+.PP
+The function returns TRUE if the caller should delete the original copy of the dragged data (but see target()); otherwise returns FALSE.
+.PP
+If the drag contains \fIreferences\fR to information (e.g. file names in a QUriDrag are references) then the return value should always be ignored, as the target is expected to manipulate the referred-to content directly. On X11 the return value should always be correct anyway, but on Windows this is not necessarily the case (e.g. the file manager starts a background process to move files, so the source \fImust not\fR delete the files!)
+.PP
+Note that on Windows the drag operation will spin a blocking modal event loop that will not dispatch any QTimers.
+.PP
+Example: dirview/dirview.cpp.
+.SH "bool QDragObject::drag ( DragMode mode )\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Starts a drag operation using the contents of this object.
+.PP
+At this point, the object becomes owned by Qt, not the application. You should not delete the drag object or anything it references. The actual transfer of data to the target application will be done during future event processing - after that time the drag object will be deleted.
+.PP
+Returns TRUE if the dragged data was dragged as a \fImove\fR, indicating that the caller should remove the original source of the data (the drag object must continue to have a copy); otherwise returns FALSE.
+.PP
+The \fImode\fR specifies the drag mode (see QDragObject::DragMode.) Normally one of the simpler drag(), dragMove(), or dragCopy() functions would be used instead.
+.SH "void QDragObject::dragCopy ()"
+Starts a drag operation using the contents of this object, using DragCopy mode. Be sure to read the constraints described in drag().
+.PP
+See also drag(), dragMove(), and dragLink().
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "void QDragObject::dragLink ()"
+Starts a drag operation using the contents of this object, using DragLink mode. Be sure to read the constraints described in drag().
+.PP
+See also drag(), dragCopy(), and dragMove().
+.SH "bool QDragObject::dragMove ()"
+Starts a drag operation using the contents of this object, using DragMove mode. Be sure to read the constraints described in drag().
+.PP
+See also drag(), dragCopy(), and dragLink().
+.SH "QPixmap QDragObject::pixmap () const"
+Returns the currently set pixmap (which isNull() if none is set).
+.SH "QPoint QDragObject::pixmapHotSpot () const"
+Returns the currently set pixmap hotspot.
+.SH "void QDragObject::setPixmap ( QPixmap pm, const QPoint & hotspot )\fC [virtual]\fR"
+Set the pixmap \fIpm\fR to display while dragging the object. The platform-specific implementation will use this where it can - so provide a small masked pixmap, and do not assume that the user will actually see it. For example, cursors on Windows 95 are of limited size.
+.PP
+The \fIhotspot\fR is the point on (or off) the pixmap that should be under the cursor as it is dragged. It is relative to the top-left pixel of the pixmap.
+.PP
+\fBWarning:\fR We have seen problems with drag cursors on different graphics hardware and driver software on Windows. Setting the graphics acceleration in the display settings down one tick solved the problems in all cases.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QDragObject::setPixmap ( QPixmap pm )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Uses a hotspot that positions the pixmap below and to the right of the mouse pointer. This allows the user to clearly see the point on the window which they are dragging the data onto.
+.SH "QWidget * QDragObject::source ()"
+Returns a pointer to the drag source where this object originated.
+.SH "QWidget * QDragObject::target ()\fC [static]\fR"
+After the drag completes, this function will return the QWidget which received the drop, or 0 if the data was dropped on another application.
+.PP
+This can be useful for detecting the case where drag and drop is
+to and from the same widget.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdragobject.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdragobject.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qdropevent.3qt b/doc/man/man3/qdropevent.3qt
new file mode 100644
index 0000000..0d05bab
--- /dev/null
+++ b/doc/man/man3/qdropevent.3qt
@@ -0,0 +1,189 @@
+'\" t
+.TH QDropEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QDropEvent \- Event which is sent when a drag and drop is completed
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent and QMimeSource.
+.PP
+Inherited by QDragMoveEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQDropEvent\fR ( const QPoint & pos, Type typ = Drop )"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ( bool y = TRUE )"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisActionAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBacceptAction\fR ( bool y = TRUE )"
+.br
+.ti -1c
+.BI "enum \fBAction\fR { Copy, Link, Move, Private, UserAction = 100 }"
+.br
+.ti -1c
+.BI "void \fBsetAction\fR ( Action a )"
+.br
+.ti -1c
+.BI "Action \fBaction\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBsource\fR () const"
+.br
+.ti -1c
+.BI "virtual const char * \fBformat\fR ( int n = 0 ) const"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBencodedData\fR ( const char * format ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBprovides\fR ( const char * mimeType ) const"
+.br
+.ti -1c
+.BI "QByteArray data ( const char * f ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetPoint\fR ( const QPoint & np )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QDropEvent class provides an event which is sent when a drag and drop is completed.
+.PP
+When a widget accepts drop events, it will receive this event if it has accepted the most recent QDragEnterEvent or QDragMoveEvent sent to it.
+.PP
+The widget should use data() to extract the data in an appropriate format.
+.PP
+See also Drag And Drop Classes and Event Classes.
+.SS "Member Type Documentation"
+.SH "QDropEvent::Action"
+This enum describes the action which a source requests that a target perform with dropped data.
+.TP
+\fCQDropEvent::Copy\fR - The default action. The source simply uses the data provided in the operation.
+.TP
+\fCQDropEvent::Link\fR - The source should somehow create a link to the location specified by the data.
+.TP
+\fCQDropEvent::Move\fR - The source should somehow move the object from the location specified by the data to a new location.
+.TP
+\fCQDropEvent::Private\fR - The target has special knowledge of the MIME type, which the source should respond to in a similar way to a Copy.
+.TP
+\fCQDropEvent::UserAction\fR - The source and target can co-operate using special actions. This feature is not currently supported.
+.PP
+The Link and Move actions only makes sense if the data is a reference, for example, text/uri-list file lists (see QUriDrag).
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QDropEvent::QDropEvent ( const QPoint & pos, Type typ = Drop )"
+Constructs a drop event that drops a drop of type \fItyp\fR on point \fIpos\fR.
+.SH "void QDropEvent::accept ( bool y = TRUE )"
+Call this function to indicate whether the event provided data which your widget processed. Set \fIy\fR to TRUE (the default) if your widget could process the data, otherwise set \fIy\fR to FALSE. To get the data, use encodedData(), or preferably, the decode() methods of existing QDragObject subclasses, such as QTextDrag::decode(), or your own subclasses.
+.PP
+See also acceptAction().
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "void QDropEvent::acceptAction ( bool y = TRUE )"
+Call this to indicate that the action described by action() is accepted (i.e. if \fIy\fR is TRUE, which is the default), not merely the default copy action. If you call acceptAction(TRUE), there is no need to also call accept(TRUE).
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "Action QDropEvent::action () const"
+Returns the Action which the target is requesting to be performed with the data. If your application understands the action and can process the supplied data, call acceptAction(); if your application can process the supplied data but can only perform the Copy action, call accept().
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "QByteArray QDropEvent::data ( const char * f ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use QDropEvent::encodedData().
+.SH "QByteArray QDropEvent::encodedData ( const char * format ) const\fC [virtual]\fR"
+Returns a byte array containing the drag's data, in \fIformat\fR.
+.PP
+data() normally needs to get the data from the drag source, which is potentially very slow, so it's advisable to call this function only if you're sure that you will need the data in \fIformat\fR.
+.PP
+The resulting data will have a size of 0 if the format was not available.
+.PP
+See also format() and QByteArray::size().
+.PP
+Reimplemented from QMimeSource.
+.SH "const char * QDropEvent::format ( int n = 0 ) const\fC [virtual]\fR"
+Returns a string describing one of the available data types for this drag. Common examples are "text/plain" and "image/gif". If \fIn\fR is less than zero or greater than the number of available data types, format() returns 0.
+.PP
+This function is provided mainly for debugging. Most drop targets will use provides().
+.PP
+See also data() and provides().
+.PP
+Example: iconview/main.cpp.
+.PP
+Reimplemented from QMimeSource.
+.SH "void QDropEvent::ignore ()"
+The opposite of accept(), i.e. you have ignored the drop event.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QDropEvent::isAccepted () const"
+Returns TRUE if the drop target accepts the event; otherwise returns FALSE.
+.SH "bool QDropEvent::isActionAccepted () const"
+Returns TRUE if the drop action was accepted by the drop site; otherwise returns FALSE.
+.SH "const QPoint & QDropEvent::pos () const"
+Returns the position where the drop was made.
+.PP
+Example: dirview/dirview.cpp.
+.SH "bool QDropEvent::provides ( const char * mimeType ) const\fC [virtual]\fR"
+Returns TRUE if this event provides format \fImimeType\fR; otherwise returns FALSE.
+.PP
+See also data().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.PP
+Reimplemented from QMimeSource.
+.SH "void QDropEvent::setAction ( Action a )"
+Sets the action to \fIa\fR. This is used internally, you should not need to call this in your code: the \fIsource\fR decides the action, not the target.
+.SH "void QDropEvent::setPoint ( const QPoint & np )"
+Sets the drop to happen at point \fInp\fR. You do not normally need to use this as it will be set internally before your widget receives the drop event.
+.SH "QWidget * QDropEvent::source () const"
+If the source of the drag operation is a widget in this application, this function returns that source, otherwise it returns 0. The source of the operation is the first parameter to drag object subclasses.
+.PP
+This is useful if your widget needs special behavior when dragging to itself, etc.
+.PP
+See QDragObject::QDragObject() and subclasses.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qdropevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qdropevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qeditorfactory.3qt b/doc/man/man3/qeditorfactory.3qt
new file mode 100644
index 0000000..8f81558
--- /dev/null
+++ b/doc/man/man3/qeditorfactory.3qt
@@ -0,0 +1,85 @@
+'\" t
+.TH QEditorFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QEditorFactory \- Used to create editor widgets for QVariant data types
+.SH SYNOPSIS
+\fC#include <qeditorfactory.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QSqlEditorFactory.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQEditorFactory\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QEditorFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateEditor\fR ( QWidget * parent, const QVariant & v )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QEditorFactory * \fBdefaultFactory\fR ()"
+.br
+.ti -1c
+.BI "void \fBinstallDefaultFactory\fR ( QEditorFactory * factory )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QEditorFactory class is used to create editor widgets for QVariant data types.
+.PP
+Each editor factory provides the createEditor() function which given a QVariant will create and return a QWidget that can edit that QVariant. For example if you have a QVariant::String type, a QLineEdit would be the default editor returned, whereas a QVariant::Int's default editor would be a QSpinBox.
+.PP
+If you want to create different editors for fields with the same data type, subclass QEditorFactory and reimplement the createEditor() function.
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QEditorFactory::QEditorFactory ( QObject * parent = 0, const char * name = 0 )"
+Constructs an editor factory with parent \fIparent\fR, called \fIname\fR.
+.SH "QEditorFactory::~QEditorFactory ()"
+Destroys the object and frees any allocated resources.
+.SH "QWidget * QEditorFactory::createEditor ( QWidget * parent, const QVariant & v )\fC [virtual]\fR"
+Creates and returns the appropriate editor for the QVariant \fIv\fR. If the QVariant is invalid, 0 is returned. The \fIparent\fR is passed to the appropriate editor's constructor.
+.PP
+Reimplemented in QSqlEditorFactory.
+.SH "QEditorFactory * QEditorFactory::defaultFactory ()\fC [static]\fR"
+Returns an instance of a default editor factory.
+.SH "void QEditorFactory::installDefaultFactory ( QEditorFactory * factory )\fC [static]\fR"
+Replaces the default editor factory with \fIfactory\fR.
+\fIQEditorFactory takes ownership of factory, and destroys it when it is no longer needed.\fR
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qeditorfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qeditorfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qerrormessage.3qt b/doc/man/man3/qerrormessage.3qt
new file mode 100644
index 0000000..662486c
--- /dev/null
+++ b/doc/man/man3/qerrormessage.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QErrorMessage 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QErrorMessage \- Error message display dialog
+.SH SYNOPSIS
+\fC#include <qerrormessage.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQErrorMessage\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QErrorMessage\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBmessage\fR ( const QString & m )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QErrorMessage * \fBqtHandler\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QErrorMessage class provides an error message display dialog.
+.PP
+This is basically a QLabel and a "show this message again" checkbox which remembers what not to show.
+.PP
+There are two ways to use this class: <ol type=1>
+.IP 1
+For production applications. In this context the class can be used to display messages which you don't need the user to see more than once. To use QErrorMessage like this, you create the dialog in the usual way and call the message() slot, or connect signals to it.
+.IP 2
+For developers. In this context the static qtHandler() installs a message handler using qInstallMsgHandler() and creates a QErrorMessage that displays qDebug(), qWarning() and qFatal() messages.
+.PP
+In both cases QErrorMessage will queue pending messages, and display them (or not) in order, as soon as the user presses Enter or clicks OK after seeing each message.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QMessageBox, QStatusBar::message(), Dialog Classes, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QErrorMessage::QErrorMessage ( QWidget * parent, const char * name = 0 )"
+Constructs and installs an error handler window. The parent \fIparent\fR and name \fIname\fR are passed on to the QDialog constructor.
+.SH "QErrorMessage::~QErrorMessage ()"
+Destroys the object and frees any allocated resources. Notably, the list of "do not show again" messages is deleted.
+.SH "void QErrorMessage::message ( const QString & m )\fC [slot]\fR"
+Shows message \fIm\fR and returns immediately. If the user has requested that \fIm\fR not be shown, this function does nothing.
+.PP
+Normally, \fIm\fR is shown at once, but if there are pending messages, \fIm\fR is queued for later display.
+.SH "QErrorMessage * QErrorMessage::qtHandler ()\fC [static]\fR"
+Returns a pointer to a QErrorMessage object that outputs the
+default Qt messages. This function creates such an object, if there
+isn't one already.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qerrormessage.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qerrormessage.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qeucjpcodec.3qt b/doc/man/man3/qeucjpcodec.3qt
new file mode 100644
index 0000000..2ed5f6a
--- /dev/null
+++ b/doc/man/man3/qeucjpcodec.3qt
@@ -0,0 +1,90 @@
+'\" t
+.TH QEucJpCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QEucJpCodec \- Conversion to and from EUC-JP character sets
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qeucjpcodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual int \fBmibEnum\fR () const"
+.br
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.ti -1c
+.BI "\fBQEucJpCodec\fR ()"
+.br
+.ti -1c
+.BI "\fB~QEucJpCodec\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QEucJpCodec class provides conversion to and from EUC-JP character sets.
+.PP
+More precisely, the QEucJpCodec class subclasses QTextCodec to provide support for EUC-JP, the main legacy encoding for Unix machines in Japan.
+.PP
+The environment variable \fCUNICODEMAP_JP\fR can be used to fine-tune QJisCodec, QSjisCodec and QEucJpCodec. The QJisCodec documentation describes how to use this variable.
+.PP
+Most of the code here was written by Serika Kurusugawa, a.k.a. Junji Takagi, and is included in Qt with the author's permission and the grateful thanks of the Trolltech team. Here is the copyright statement for that code:
+.PP
+Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.IP 1
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 2
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS". ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QEucJpCodec::QEucJpCodec ()"
+Constructs a QEucJpCodec.
+.SH "QEucJpCodec::~QEucJpCodec ()"
+Destroys the codec.
+.SH "int QEucJpCodec::mibEnum () const\fC [virtual]\fR"
+Returns 18.
+.PP
+Reimplemented from QTextCodec.
+.SH "const char * QEucJpCodec::mimeName () const\fC [virtual]\fR"
+Returns the codec's mime name.
+.PP
+Reimplemented from QTextCodec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qeucjpcodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qeucjpcodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qeuckrcodec.3qt b/doc/man/man3/qeuckrcodec.3qt
new file mode 100644
index 0000000..61cf9a6
--- /dev/null
+++ b/doc/man/man3/qeuckrcodec.3qt
@@ -0,0 +1,71 @@
+'\" t
+.TH QEucKrCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QEucKrCodec \- Conversion to and from EUC-KR character sets
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qeuckrcodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QEucKrCodec class provides conversion to and from EUC-KR character sets.
+.PP
+The QEucKrCodec class subclasses QTextCodec to provide support for EUC-KR, the main legacy encoding for UNIX machines in Korea.
+.PP
+It was largely written by Mizi Research Inc. Here is the copyright statement for the code as it was at the point of contribution. Trolltech's subsequent modifications are covered by the usual copyright for Qt.
+.PP
+Copyright (C) 1999-2000 Mizi Research Inc. All rights reserved.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+.IP 1
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 2
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "const char * QEucKrCodec::mimeName () const\fC [virtual]\fR"
+Returns the codec's mime name.
+.PP
+Reimplemented from QTextCodec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qeuckrcodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qeuckrcodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qevent.3qt b/doc/man/man3/qevent.3qt
new file mode 100644
index 0000000..3093858
--- /dev/null
+++ b/doc/man/man3/qevent.3qt
@@ -0,0 +1,238 @@
+'\" t
+.TH QEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QEvent \- The base class of all event classes. Event objects contain event parameters
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QTimerEvent, QMouseEvent, QWheelEvent, QTabletEvent, QKeyEvent, QFocusEvent, QPaintEvent, QMoveEvent, QResizeEvent, QCloseEvent, QIconDragEvent, QShowEvent, QHideEvent, QContextMenuEvent, QIMEvent, QDropEvent, QDragLeaveEvent, QChildEvent, and QCustomEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { None = 0, Timer = 1, MouseButtonPress = 2, MouseButtonRelease = 3, MouseButtonDblClick = 4, MouseMove = 5, KeyPress = 6, KeyRelease = 7, FocusIn = 8, FocusOut = 9, Enter = 10, Leave = 11, Paint = 12, Move = 13, Resize = 14, Create = 15, Destroy = 16, Show = 17, Hide = 18, Close = 19, Quit = 20, Reparent = 21, ShowMinimized = 22, ShowNormal = 23, WindowActivate = 24, WindowDeactivate = 25, ShowToParent = 26, HideToParent = 27, ShowMaximized = 28, ShowFullScreen = 29, Accel = 30, Wheel = 31, AccelAvailable = 32, CaptionChange = 33, IconChange = 34, ParentFontChange = 35, ApplicationFontChange = 36, ParentPaletteChange = 37, ApplicationPaletteChange = 38, PaletteChange = 39, Clipboard = 40, Speech = 42, SockAct = 50, AccelOverride = 51, DeferredDelete = 52, DragEnter = 60, DragMove = 61, DragLeave = 62, Drop = 63, DragResponse = 64, ChildInserted = 70, ChildRemoved = 71, LayoutHint = 72, ShowWindowRequest = 73, WindowBlocked = 74, WindowUnblocked = 75, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, TabletMove = 87, LocaleChange = 88, LanguageChange = 89, LayoutDirectionChange = 90, Style = 91, TabletPress = 92, TabletRelease = 93, OkRequest = 94, HelpRequest = 95, WindowStateChange = 96, IconDrag = 97, User = 1000, MaxUser = 65535 }"
+.br
+.ti -1c
+.BI "\fBQEvent\fR ( Type type )"
+.br
+.ti -1c
+.BI "virtual \fB~QEvent\fR ()"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "bool \fBspontaneous\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QEvent class is the base class of all event classes. Event objects contain event parameters.
+.PP
+Qt's main event loop (QApplication::exec()) fetches native window system events from the event queue, translates them into QEvents and sends the translated events to QObjects.
+.PP
+In general, events come from the underlying window system (spontaneous() returns TRUE) but it is also possible to manually send events using QApplication::sendEvent() and QApplication::postEvent() (spontaneous() returns FALSE).
+.PP
+QObjects receive events by having their QObject::event() function called. The function can be reimplemented in subclasses to customize event handling and add additional event types; QWidget::event() is a notable example. By default, events are dispatched to event handlers like QObject::timerEvent() and QWidget::mouseMoveEvent(). QObject::installEventFilter() allows an object to intercept events destined for another object.
+.PP
+The basic QEvent contains only an event type parameter. Subclasses of QEvent contain additional parameters that describe the particular event.
+.PP
+See also QObject::event(), QObject::installEventFilter(), QWidget::event(), QApplication::sendEvent(), QApplication::postEvent(), QApplication::processEvents(), Environment Classes, and Event Classes.
+.SS "Member Type Documentation"
+.SH "QEvent::Type"
+This enum type defines the valid event types in Qt. The event types and the specialized classes for each type are these:
+.TP
+\fCQEvent::None\fR - Not an event.
+.TP
+\fCQEvent::Accessibility\fR - Accessibility information is requested
+.TP
+\fCQEvent::Timer\fR - Regular timer events, QTimerEvent.
+.TP
+\fCQEvent::MouseButtonPress\fR - Mouse press, QMouseEvent.
+.TP
+\fCQEvent::MouseButtonRelease\fR - Mouse release, QMouseEvent.
+.TP
+\fCQEvent::MouseButtonDblClick\fR - Mouse press again, QMouseEvent.
+.TP
+\fCQEvent::MouseMove\fR - Mouse move, QMouseEvent.
+.TP
+\fCQEvent::KeyPress\fR - Key press (including Shift, for example), QKeyEvent.
+.TP
+\fCQEvent::KeyRelease\fR - Key release, QKeyEvent.
+.TP
+\fCQEvent::IMStart\fR - The start of input method composition, QIMEvent.
+.TP
+\fCQEvent::IMCompose\fR - Input method composition is taking place, QIMEvent.
+.TP
+\fCQEvent::IMEnd\fR - The end of input method composition, QIMEvent.
+.TP
+\fCQEvent::FocusIn\fR - Widget gains keyboard focus, QFocusEvent.
+.TP
+\fCQEvent::FocusOut\fR - Widget loses keyboard focus, QFocusEvent.
+.TP
+\fCQEvent::Enter\fR - Mouse enters widget's boundaries.
+.TP
+\fCQEvent::Leave\fR - Mouse leaves widget's boundaries.
+.TP
+\fCQEvent::Paint\fR - Screen update necessary, QPaintEvent.
+.TP
+\fCQEvent::Move\fR - Widget's position changed, QMoveEvent.
+.TP
+\fCQEvent::Resize\fR - Widget's size changed, QResizeEvent.
+.TP
+\fCQEvent::Show\fR - Widget was shown on screen, QShowEvent.
+.TP
+\fCQEvent::Hide\fR - Widget was hidden, QHideEvent.
+.TP
+\fCQEvent::ShowToParent\fR - A child widget has been shown.
+.TP
+\fCQEvent::HideToParent\fR - A child widget has been hidden.
+.TP
+\fCQEvent::Close\fR - Widget was closed (permanently), QCloseEvent.
+.TP
+\fCQEvent::ShowNormal\fR - Widget should be shown normally (obsolete).
+.TP
+\fCQEvent::ShowMaximized\fR - Widget should be shown maximized (obsolete).
+.TP
+\fCQEvent::ShowMinimized\fR - Widget should be shown minimized (obsolete).
+.TP
+\fCQEvent::ShowFullScreen\fR - Widget should be shown full-screen (obsolete).
+.TP
+\fCQEvent::ShowWindowRequest\fR - Widget's window should be shown (obsolete).
+.TP
+\fCQEvent::DeferredDelete\fR - The object will be deleted after it has cleaned up.
+.TP
+\fCQEvent::Accel\fR - Key press in child for shortcut key handling, QKeyEvent.
+.TP
+\fCQEvent::Wheel\fR - Mouse wheel rolled, QWheelEvent.
+.TP
+\fCQEvent::ContextMenu\fR - Context popup menu, QContextMenuEvent
+.TP
+\fCQEvent::AccelOverride\fR - Key press in child, for overriding shortcut key handling, QKeyEvent.
+.TP
+\fCQEvent::AccelAvailable\fR - internal.
+.TP
+\fCQEvent::WindowActivate\fR - Window was activated.
+.TP
+\fCQEvent::WindowDeactivate\fR - Window was deactivated.
+.TP
+\fCQEvent::CaptionChange\fR - Widget's caption changed.
+.TP
+\fCQEvent::IconChange\fR - Widget's icon changed.
+.TP
+\fCQEvent::ParentFontChange\fR - Font of the parent widget changed.
+.TP
+\fCQEvent::ApplicationFontChange\fR - Default application font changed.
+.TP
+\fCQEvent::PaletteChange\fR - Palette of the widget changed.
+.TP
+\fCQEvent::ParentPaletteChange\fR - Palette of the parent widget changed.
+.TP
+\fCQEvent::ApplicationPaletteChange\fR - Default application palette changed.
+.TP
+\fCQEvent::Clipboard\fR - Clipboard contents have changed.
+.TP
+\fCQEvent::SockAct\fR - Socket activated, used to implement QSocketNotifier.
+.TP
+\fCQEvent::DragEnter\fR - A drag-and-drop enters widget, QDragEnterEvent.
+.TP
+\fCQEvent::DragMove\fR - A drag-and-drop is in progress, QDragMoveEvent.
+.TP
+\fCQEvent::DragLeave\fR - A drag-and-drop leaves widget, QDragLeaveEvent.
+.TP
+\fCQEvent::Drop\fR - A drag-and-drop is completed, QDropEvent.
+.TP
+\fCQEvent::DragResponse\fR - Internal event used by Qt on some platforms.
+.TP
+\fCQEvent::ChildInserted\fR - Object gets a child, QChildEvent.
+.TP
+\fCQEvent::ChildRemoved\fR - Object loses a child, QChildEvent.
+.TP
+\fCQEvent::LayoutHint\fR - Widget child has changed layout properties.
+.TP
+\fCQEvent::ActivateControl\fR - Internal event used by Qt on some platforms.
+.TP
+\fCQEvent::DeactivateControl\fR - Internal event used by Qt on some platforms.
+.TP
+\fCQEvent::LanguageChange\fR - The application translation changed, QTranslator
+.TP
+\fCQEvent::LayoutDirectionChange\fR - The direction of layouts changed
+.TP
+\fCQEvent::LocaleChange\fR - The system locale changed
+.TP
+\fCQEvent::Quit\fR - Reserved.
+.TP
+\fCQEvent::Create\fR - Reserved.
+.TP
+\fCQEvent::Destroy\fR - Reserved.
+.TP
+\fCQEvent::Reparent\fR - Reserved.
+.TP
+\fCQEvent::Speech\fR - Reserved for speech input.
+.TP
+\fCQEvent::TabletMove\fR - A Wacom Tablet Move Event.
+.TP
+\fCQEvent::Style\fR - Internal use only
+.TP
+\fCQEvent::TabletPress\fR - A Wacom Tablet Press Event
+.TP
+\fCQEvent::TabletRelease\fR - A Wacom Tablet Release Event
+.TP
+\fCQEvent::OkRequest\fR - Internal event used by Qt on some platforms.
+.TP
+\fCQEvent::HelpRequest\fR - Internal event used by Qt on some platforms.
+.TP
+\fCQEvent::IconDrag\fR - Internal event used by Qt on some platforms when proxy icon is dragged.
+.TP
+\fCQEvent::WindowStateChange\fR - The window's state, i.e. minimized, maximized or full-screen, has changed. See QWidget::windowState().
+.TP
+\fCQEvent::WindowBlocked\fR - The window is modally blocked
+.TP
+\fCQEvent::WindowUnblocked\fR - The window leaves modal blocking
+.TP
+\fCQEvent::User\fR - User defined event.
+.TP
+\fCQEvent::MaxUser\fR - Last user event id.
+.PP
+User events should have values between User and MaxUser inclusive.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QEvent::QEvent ( Type type )"
+Contructs an event object of type \fItype\fR.
+.SH "QEvent::~QEvent ()\fC [virtual]\fR"
+Destroys the event. If it was posted, it will be removed from the list of events to be posted.
+.SH "bool QEvent::spontaneous () const"
+Returns TRUE if the event originated outside the application, i.e. it is a system event; otherwise returns FALSE.
+.SH "Type QEvent::type () const"
+Returns the event type.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qeventloop.3qt b/doc/man/man3/qeventloop.3qt
new file mode 100644
index 0000000..cf7a0fe
--- /dev/null
+++ b/doc/man/man3/qeventloop.3qt
@@ -0,0 +1,240 @@
+'\" t
+.TH QEventLoop 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QEventLoop \- Manages the event queue
+.SH SYNOPSIS
+\fC#include <qeventloop.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QMotif.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQEventLoop\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QEventLoop\fR ()"
+.br
+.ti -1c
+.BI "enum \fBProcessEvents\fR { AllEvents = 0x00, ExcludeUserInput = 0x01, ExcludeSocketNotifiers = 0x02, WaitForMore = 0x04 }"
+.br
+.ti -1c
+.BI "typedef uint \fBProcessEventsFlags\fR"
+.br
+.ti -1c
+.BI "void \fBprocessEvents\fR ( ProcessEventsFlags flags, int maxTime )"
+.br
+.ti -1c
+.BI "virtual bool \fBprocessEvents\fR ( ProcessEventsFlags flags )"
+.br
+.ti -1c
+.BI "virtual bool \fBhasPendingEvents\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBregisterSocketNotifier\fR ( QSocketNotifier * notifier )"
+.br
+.ti -1c
+.BI "virtual void \fBunregisterSocketNotifier\fR ( QSocketNotifier * notifier )"
+.br
+.ti -1c
+.BI "void \fBsetSocketNotifierPending\fR ( QSocketNotifier * notifier )"
+.br
+.ti -1c
+.BI "int \fBactivateSocketNotifiers\fR ()"
+.br
+.ti -1c
+.BI "int \fBactivateTimers\fR ()"
+.br
+.ti -1c
+.BI "int \fBtimeToWait\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBexec\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBexit\fR ( int retcode = 0 )"
+.br
+.ti -1c
+.BI "virtual int \fBenterLoop\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBexitLoop\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBloopLevel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBwakeUp\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBawake\fR ()"
+.br
+.ti -1c
+.BI "void \fBaboutToBlock\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QEventLoop class manages the event queue.
+.PP
+It receives events from the window system and other sources. It then sends them to QApplication for processing and delivery.
+.PP
+QEventLoop allows the application programmer to have more control over event delivery. Programs that perform long operations can call either processOneEvent() or processEvents() with various ProcessEvent values OR'ed together to control which events should be delivered.
+.PP
+QEventLoop also allows the integration of an external event loop with the Qt event loop. The Motif Extension included with Qt includes a reimplementation of QEventLoop for merging Qt and Motif events together.
+.PP
+To use your own instance of QEventLoop or QEventLoop subclass create it before you create the QApplication object.
+.PP
+See also Main Window and Related Classes and Event Classes.
+.SS "Member Type Documentation"
+.SH "QEventLoop::ProcessEvents"
+This enum controls the types of events processed by the processEvents() functions.
+.TP
+\fCQEventLoop::AllEvents\fR - All events are processed
+.TP
+\fCQEventLoop::ExcludeUserInput\fR - Do not process user input events. ( ButtonPress, KeyPress, etc. )
+.TP
+\fCQEventLoop::ExcludeSocketNotifiers\fR - Do not process socket notifier events.
+.TP
+\fCQEventLoop::WaitForMore\fR - Wait for events if no pending events are available.
+.PP
+See also processEvents().
+.SH "QEventLoop::ProcessEventsFlags"
+A \fCtypedef\fR to allow various ProcessEvents values to be OR'ed together.
+.PP
+See also ProcessEvents.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QEventLoop::QEventLoop ( QObject * parent = 0, const char * name = 0 )"
+Creates a QEventLoop object, this object becomes the global event loop object. There can only be one event loop object. The QEventLoop is usually constructed by calling QApplication::eventLoop(). To create your own event loop object create it before you instantiate the QApplication object.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.SH "QEventLoop::~QEventLoop ()"
+Destructs the QEventLoop object.
+.SH "void QEventLoop::aboutToBlock ()\fC [signal]\fR"
+This signal is emitted before the event loop calls a function that could block.
+.PP
+See also awake().
+.SH "int QEventLoop::activateSocketNotifiers ()"
+Activates all pending socket notifiers and returns the number of socket notifiers that were activated.
+.SH "int QEventLoop::activateTimers ()"
+Activates all Qt timers and returns the number of timers that were activated.
+.PP
+QEventLoop subclasses that do their own timer handling need to call this after the time returned by timeToWait() has elapsed.
+.PP
+Note: This function is only useful on systems where \fCselect()\fR is used to block the eventloop. On Windows, this function always returns 0. On MacOS X, this function always returns 0 when the GUI is enabled. On MacOS X, this function returns the documented value when the GUI is disabled.
+.SH "void QEventLoop::awake ()\fC [signal]\fR"
+This signal is emitted after the event loop returns from a function that could block.
+.PP
+See also wakeUp() and aboutToBlock().
+.SH "int QEventLoop::enterLoop ()\fC [virtual]\fR"
+This function enters the main event loop (recursively). Do not call it unless you really know what you are doing.
+.SH "int QEventLoop::exec ()\fC [virtual]\fR"
+Enters the main event loop and waits until exit() is called, and returns the value that was set to exit().
+.PP
+It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.
+.PP
+Generally speaking, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets call exec() to start a local event loop.
+.PP
+To make your application perform idle processing, i.e. executing a special function whenever there are no pending events, use a QTimer with 0 timeout. More advanced idle processing schemes can be achieved using processEvents().
+.PP
+See also QApplication::quit(), exit(), and processEvents().
+.SH "void QEventLoop::exit ( int retcode = 0 )\fC [virtual]\fR"
+Tells the event loop to exit with a return code.
+.PP
+After this function has been called, the event loop returns from the call to exec(). The exec() function returns \fIretcode\fR.
+.PP
+By convention, a \fIretcode\fR of 0 means success, and any non-zero value indicates an error.
+.PP
+Note that unlike the C library function of the same name, this function \fIdoes\fR return to the caller -- it is event processing that stops.
+.PP
+See also QApplication::quit() and exec().
+.SH "void QEventLoop::exitLoop ()\fC [virtual]\fR"
+This function exits from a recursive call to the main event loop. Do not call it unless you really know what you are doing.
+.SH "bool QEventLoop::hasPendingEvents () const\fC [virtual]\fR"
+Returns TRUE if there is an event waiting, otherwise it returns FALSE.
+.SH "int QEventLoop::loopLevel () const\fC [virtual]\fR"
+Returns the current loop level.
+.SH "void QEventLoop::processEvents ( ProcessEventsFlags flags, int maxTime )"
+Process pending events that match \fIflags\fR for a maximum of \fImaxTime\fR milliseconds, or until there are no more events to process, which ever is shorter.
+.PP
+This function is especially useful if you have a long running operation and want to show its progress without allowing user input, i.e. by using the ExcludeUserInput flag.
+.PP
+NOTE: This function will not process events continuously; it returns after all available events are processed.
+.PP
+NOTE: Specifying the WaitForMore flag makes no sense and will be ignored.
+.SH "bool QEventLoop::processEvents ( ProcessEventsFlags flags )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Processes pending events that match \fIflags\fR until there are no more events to process.
+.PP
+This function is especially useful if you have a long running operation and want to show its progress without allowing user input, i.e. by using the ExcludeUserInput flag.
+.PP
+If the WaitForMore flag is set in \fIflags\fR, the behavior of this function is as follows:
+.IP
+.TP
+If events are available, this function returns after processing them.
+.IP
+.TP
+If no events are available, this function will wait until more are available and return after processing newly available events.
+.IP
+.PP
+If the WaitForMore flag is \fInot\fR set in \fIflags\fR, and no events are available, this function will return immediately.
+.PP
+NOTE: This function will not process events continuously; it returns after all available events are processed.
+.PP
+This function returns TRUE if an event was processed; otherwise it returns FALSE.
+.PP
+See also ProcessEvents and hasPendingEvents().
+.SH "void QEventLoop::registerSocketNotifier ( QSocketNotifier * notifier )\fC [virtual]\fR"
+Registers \fInotifier\fR with the event loop. Subclasses need to reimplement this method to tie a socket notifier into another event loop. Reimplementations \fIMUST\fR call the base implementation.
+.SH "void QEventLoop::setSocketNotifierPending ( QSocketNotifier * notifier )"
+Marks \fInotifier\fR as pending. The socket notifier will be activated the next time activateSocketNotifiers() is called.
+.SH "int QEventLoop::timeToWait () const"
+Returns the number of milliseconds that Qt needs to handle its timers or -1 if there are no timers running.
+.PP
+QEventLoop subclasses that do their own timer handling need to use this to make sure that Qt's timers continue to work.
+.PP
+Note: This function is only useful on systems where \fCselect()\fR is used to block the eventloop. On Windows, this function always returns -1. On MacOS X, this function always returns -1 when the GUI is enabled. On MacOS X, this function returns the documented value when the GUI is disabled.
+.SH "void QEventLoop::unregisterSocketNotifier ( QSocketNotifier * notifier )\fC [virtual]\fR"
+Unregisters \fInotifier\fR from the event loop. Subclasses need to reimplement this method to tie a socket notifier into another event loop. Reimplementations \fIMUST\fR call the base implementation.
+.SH "void QEventLoop::wakeUp ()\fC [virtual]\fR"
+\fBNote:\fR This function is thread-safe when Qt is built withthread support.</p>
+.PP
+Wakes up the event loop.
+.PP
+See also awake().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qeventloop.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qeventloop.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfile.3qt b/doc/man/man3/qfile.3qt
new file mode 100644
index 0000000..825b8c9
--- /dev/null
+++ b/doc/man/man3/qfile.3qt
@@ -0,0 +1,526 @@
+'\" t
+.TH QFile 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFile \- I/O device that operates on files
+.SH SYNOPSIS
+Almost all the functions in this class are reentrant when Qt is built with thread support. The exceptions are \fBsetEncodingFunction\fR(), \fBsetDecodingFunction\fR(), and \fBsetErrorString\fR(). </p>
+.PP
+\fC#include <qfile.h>\fR
+.PP
+Inherits QIODevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFile\fR ()"
+.br
+.ti -1c
+.BI "\fBQFile\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "\fB~QFile\fR ()"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "typedef QCString (* \fBEncoderFn\fR ) ( const QString & fileName )"
+.br
+.ti -1c
+.BI "typedef QString (* \fBDecoderFn\fR ) ( const QCString & localfileName )"
+.br
+.ti -1c
+.BI "bool \fBexists\fR () const"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBopen\fR ( int m )"
+.br
+.ti -1c
+.BI "bool \fBopen\fR ( int m, FILE * f )"
+.br
+.ti -1c
+.BI "bool \fBopen\fR ( int m, int f )"
+.br
+.ti -1c
+.BI "virtual void \fBclose\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBflush\fR ()"
+.br
+.ti -1c
+.BI "virtual Offset \fBsize\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBatEnd\fR () const"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBreadLine\fR ( char * p, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "Q_LONG \fBreadLine\fR ( QString & s, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "virtual int \fBgetch\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBputch\fR ( int ch )"
+.br
+.ti -1c
+.BI "virtual int \fBungetch\fR ( int ch )"
+.br
+.ti -1c
+.BI "int \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "QString \fBerrorString\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QCString \fBencodeName\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "QString \fBdecodeName\fR ( const QCString & localFileName )"
+.br
+.ti -1c
+.BI "void \fBsetEncodingFunction\fR ( EncoderFn f )"
+.br
+.ti -1c
+.BI "void \fBsetDecodingFunction\fR ( DecoderFn f )"
+.br
+.ti -1c
+.BI "bool \fBexists\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const QString & fileName )"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "virtual QByteArray \fBreadAll\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetErrorString\fR ( const QString & str )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFile class is an I/O device that operates on files.
+.PP
+QFile is an I/O device for reading and writing binary and text files. A QFile may be used by itself or more conveniently with a QDataStream or QTextStream.
+.PP
+The file name is usually passed in the constructor but can be changed with setName(). You can check for a file's existence with exists() and remove a file with remove().
+.PP
+The file is opened with open(), closed with close() and flushed with flush(). Data is usually read and written using QDataStream or QTextStream, but you can read with readBlock() and readLine() and write with writeBlock(). QFile also supports getch(), ungetch() and putch().
+.PP
+The size of the file is returned by size(). You can get the current file position or move to a new file position using the at() functions. If you've reached the end of the file, atEnd() returns TRUE. The file handle is returned by handle().
+.PP
+Here is a code fragment that uses QTextStream to read a text file line by line. It prints each line with a line number.
+.PP
+.nf
+.br
+ QStringList lines;
+.br
+ QFile file( "file.txt" );
+.br
+ if ( file.open( IO_ReadOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ QString line;
+.br
+ int i = 1;
+.br
+ while ( !stream.atEnd() ) {
+.br
+ line = stream.readLine(); // line of text excluding '\\n'
+.br
+ printf( "%3d: %s\\n", i++, line.latin1() );
+.br
+ lines += line;
+.br
+ }
+.br
+ file.close();
+.br
+ }
+.br
+.fi
+.PP
+Writing text is just as easy. The following example shows how to write the data we read into the string list from the previous example:
+.PP
+.nf
+.br
+ QFile file( "file.txt" );
+.br
+ if ( file.open( IO_WriteOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it )
+.br
+ stream << *it << "\\n";
+.br
+ file.close();
+.br
+ }
+.br
+.fi
+.PP
+The QFileInfo class holds detailed information about a file, such as access permissions, file dates and file types.
+.PP
+The QDir class manages directories and lists of file names.
+.PP
+Qt uses Unicode file names. If you want to do your own I/O on Unix systems you may want to use encodeName() (and decodeName()) to convert the file name into the local encoding.
+.PP
+See also QDataStream, QTextStream, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QFile::DecoderFn"
+This is used by QFile::setDecodingFunction().
+.SH "QFile::EncoderFn"
+This is used by QFile::setEncodingFunction().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFile::QFile ()"
+Constructs a QFile with no name.
+.SH "QFile::QFile ( const QString & name )"
+Constructs a QFile with a file name \fIname\fR.
+.PP
+See also setName().
+.SH "QFile::~QFile ()"
+Destroys a QFile. Calls close().
+.SH "bool QFile::atEnd () const\fC [virtual]\fR"
+Returns TRUE if the end of file has been reached; otherwise returns FALSE. If QFile has not been open()'d, then the behavior is undefined.
+.PP
+See also size().
+.PP
+Example: distributor/distributor.ui.h.
+.PP
+Reimplemented from QIODevice.
+.SH "void QFile::close ()\fC [virtual]\fR"
+Closes an open file.
+.PP
+The file is not closed if it was opened with an existing file handle. If the existing file handle is a \fCFILE*\fR, the file is flushed. If the existing file handle is an \fCint\fR file descriptor, nothing is done to the file.
+.PP
+Some "write-behind" filesystems may report an unspecified error on closing the file. These errors only indicate that something may have gone wrong since the previous open(). In such a case status() reports IO_UnspecifiedError after close(), otherwise IO_Ok.
+.PP
+See also open() and flush().
+.PP
+Examples:
+.)l chart/chartform_files.cpp, distributor/distributor.ui.h, helpviewer/helpwindow.cpp, mdi/application.cpp, qdir/qdir.cpp, qwerty/qwerty.cpp, and xml/outliner/outlinetree.cpp.
+.PP
+Reimplemented from QIODevice.
+.SH "QString QFile::decodeName ( const QCString & localFileName )\fC [static]\fR"
+This does the reverse of QFile::encodeName() using \fIlocalFileName\fR.
+.PP
+See also setDecodingFunction().
+.PP
+Example: distributor/distributor.ui.h.
+.SH "QCString QFile::encodeName ( const QString & fileName )\fC [static]\fR"
+When you use QFile, QFileInfo, and QDir to access the file system with Qt, you can use Unicode file names. On Unix, these file names are converted to an 8-bit encoding. If you want to do your own file I/O on Unix, you should convert the file name using this function. On Windows NT/2000, Unicode file names are supported directly in the file system and this function should be avoided. On Windows 95, non-Latin1 locales are not supported.
+.PP
+By default, this function converts \fIfileName\fR to the local 8-bit encoding determined by the user's locale. This is sufficient for file names that the user chooses. File names hard-coded into the application should only use 7-bit ASCII filename characters.
+.PP
+The conversion scheme can be changed using setEncodingFunction(). This might be useful if you wish to give the user an option to store file names in UTF-8, etc., but be aware that such file names would probably then be unrecognizable when seen by other programs.
+.PP
+See also decodeName().
+.PP
+Example: distributor/distributor.ui.h.
+.SH "QString QFile::errorString () const"
+Returns a human-readable description of the reason of an error that occurred on the device. The error described by the string corresponds to changes of QIODevice::status(). If the status is reset, the error string is also reset.
+.PP
+The returned strings are not translated with the QObject::tr() or QApplication::translate() functions. They are marked as translatable strings in the "QFile" context. Before you show the string to the user you should translate it first, for example:
+.PP
+.nf
+.br
+ QFile f( "address.dat" );
+.br
+ if ( !f.open( IO_ReadOnly ) {
+.br
+ QMessageBox::critical(
+.br
+ this,
+.br
+ tr("Open failed"),
+.br
+ tr("Could not open file for reading: %1").arg( qApp->translate("QFile",f.errorString()) )
+.br
+ );
+.br
+ return;
+.br
+ }
+.br
+.fi
+.PP
+See also QIODevice::status(), QIODevice::resetStatus(), and setErrorString().
+.SH "bool QFile::exists ( const QString & fileName )\fC [static]\fR"
+Returns TRUE if the file given by \fIfileName\fR exists; otherwise returns FALSE.
+.PP
+Examples:
+.)l chart/chartform.cpp, dirview/dirview.cpp, and helpviewer/helpwindow.cpp.
+.SH "bool QFile::exists () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if this file exists; otherwise returns FALSE.
+.PP
+See also name().
+.SH "void QFile::flush ()\fC [virtual]\fR"
+Flushes the file buffer to the disk.
+.PP
+close() also flushes the file buffer.
+.PP
+Reimplemented from QIODevice.
+.SH "int QFile::getch ()\fC [virtual]\fR"
+Reads a single byte/character from the file.
+.PP
+Returns the byte/character read, or -1 if the end of the file has been reached.
+.PP
+See also putch() and ungetch().
+.PP
+Reimplemented from QIODevice.
+.SH "int QFile::handle () const"
+Returns the file handle of the file.
+.PP
+This is a small positive integer, suitable for use with C library functions such as fdopen() and fcntl(). On systems that use file descriptors for sockets (ie. Unix systems, but not Windows) the handle can be used with QSocketNotifier as well.
+.PP
+If the file is not open or there is an error, handle() returns -1.
+.PP
+See also QSocketNotifier.
+.SH "QString QFile::name () const"
+Returns the name set by setName().
+.PP
+See also setName() and QFileInfo::fileName().
+.SH "bool QFile::open ( int m )\fC [virtual]\fR"
+Opens the file specified by the file name currently set, using the mode \fIm\fR. Returns TRUE if successful, otherwise FALSE.
+.PP
+
+.PP
+The mode parameter \fIm\fR must be a combination of the following flags: <center>.nf
+.TS
+l - l. Flag Meaning IO_Raw Raw (non-buffered) file access. IO_ReadOnly Opens the file in read-only mode. IO_WriteOnly Opens the file in write-only mode. If this flag is used with another flag, e.g. IO_ReadOnly or IO_Raw or IO_Append, the file is \fInot\fR truncated; but if used on its own (or with IO_Truncate), the file is truncated. IO_ReadWrite Opens the file in read/write mode, equivalent to IO_Append Opens the file in append mode. (You must actually use IO_Truncate Truncates the file. IO_Translate
+.TE
+.fi
+</center>
+.PP
+The raw access mode is best when I/O is block-operated using a 4KB block size or greater. Buffered access works better when reading small portions of data at a time.
+.PP
+\fBWarning:\fR When working with buffered files, data may not be written to the file at once. Call flush() to make sure that the data is really written.
+.PP
+\fBWarning:\fR If you have a buffered file opened for both reading and writing you must not perform an input operation immediately after an output operation or vice versa. You should always call flush() or a file positioning operation, e.g. at(), between input and output operations, otherwise the buffer may contain garbage.
+.PP
+If the file does not exist and IO_WriteOnly or IO_ReadWrite is specified, it is created.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFile f1( "/tmp/data.bin" );
+.br
+ f1.open( IO_Raw | IO_ReadWrite );
+.br
+.br
+ QFile f2( "readme.txt" );
+.br
+ f2.open( IO_ReadOnly | IO_Translate );
+.br
+.br
+ QFile f3( "audit.log" );
+.br
+ f3.open( IO_WriteOnly | IO_Append );
+.br
+.fi
+.PP
+See also name(), close(), isOpen(), and flush().
+.PP
+Examples:
+.)l application/application.cpp, chart/chartform_files.cpp, distributor/distributor.ui.h, helpviewer/helpwindow.cpp, qdir/qdir.cpp, qwerty/qwerty.cpp, and xml/outliner/outlinetree.cpp.
+.PP
+Reimplemented from QIODevice.
+.SH "bool QFile::open ( int m, FILE * f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Opens a file in the mode \fIm\fR using an existing file handle \fIf\fR. Returns TRUE if successful, otherwise FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <stdio.h>
+.br
+.br
+ void printError( const char* msg )
+.br
+ {
+.br
+ QFile f;
+.br
+ f.open( IO_WriteOnly, stderr );
+.br
+ f.writeBlock( msg, qstrlen(msg) ); // write to stderr
+.br
+ f.close();
+.br
+ }
+.br
+.fi
+.PP
+When a QFile is opened using this function, close() does not actually close the file, only flushes it.
+.PP
+\fBWarning:\fR If \fIf\fR is \fCstdin\fR, \fCstdout\fR, \fCstderr\fR, you may not be able to seek. See QIODevice::isSequentialAccess() for more information.
+.PP
+See also close().
+.SH "bool QFile::open ( int m, int f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Opens a file in the mode \fIm\fR using an existing file descriptor \fIf\fR. Returns TRUE if successful, otherwise FALSE.
+.PP
+When a QFile is opened using this function, close() does not actually close the file.
+.PP
+The QFile that is opened using this function, is automatically set to be in raw mode; this means that the file input/output functions are slow. If you run into performance issues, you should try to use one of the other open functions.
+.PP
+\fBWarning:\fR If \fIf\fR is one of 0 (stdin), 1 (stdout) or 2 (stderr), you may not be able to seek. size() is set to \fCINT_MAX\fR (in limits.h).
+.PP
+See also close().
+.SH "int QFile::putch ( int ch )\fC [virtual]\fR"
+Writes the character \fIch\fR to the file.
+.PP
+Returns \fIch\fR, or -1 if some error occurred.
+.PP
+See also getch() and ungetch().
+.PP
+Reimplemented from QIODevice.
+.SH "QByteArray QIODevice::readAll ()\fC [virtual]\fR"
+This convenience function returns all of the remaining data in the device.
+.SH "Q_LONG QFile::readLine ( char * p, Q_ULONG maxlen )\fC [virtual]\fR"
+Reads a line of text.
+.PP
+Reads bytes from the file into the char* \fIp\fR, until end-of-line or \fImaxlen\fR bytes have been read, whichever occurs first. Returns the number of bytes read, or -1 if there was an error. Any terminating newline is not stripped.
+.PP
+This function is only efficient for buffered files. Avoid readLine() for files that have been opened with the IO_Raw flag.
+.PP
+See also readBlock() and QTextStream::readLine().
+.PP
+Reimplemented from QIODevice.
+.SH "Q_LONG QFile::readLine ( QString & s, Q_ULONG maxlen )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a line of text.
+.PP
+Reads bytes from the file into string \fIs\fR, until end-of-line or \fImaxlen\fR bytes have been read, whichever occurs first. Returns the number of bytes read, or -1 if there was an error, e.g. end of file. Any terminating newline is not stripped.
+.PP
+This function is only efficient for buffered files. Avoid using readLine() for files that have been opened with the IO_Raw flag.
+.PP
+Note that the string is read as plain Latin1 bytes, not Unicode.
+.PP
+See also readBlock() and QTextStream::readLine().
+.SH "bool QFile::remove ()"
+Removes the file specified by the file name currently set. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+The file is closed before it is removed.
+.SH "bool QFile::remove ( const QString & fileName )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the file \fIfileName\fR. Returns TRUE if successful, otherwise FALSE.
+.SH "void QFile::setDecodingFunction ( DecoderFn f )\fC [static]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the function for decoding 8-bit file names to \fIf\fR. The default uses the locale-specific 8-bit encoding.
+.PP
+See also encodeName() and decodeName().
+.SH "void QFile::setEncodingFunction ( EncoderFn f )\fC [static]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the function for encoding Unicode file names to \fIf\fR. The default encodes in the locale-specific 8-bit encoding.
+.PP
+See also encodeName().
+.SH "void QFile::setErrorString ( const QString & str )\fC [protected]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the error string returned by the errorString() function to \fIstr\fR.
+.PP
+See also errorString() and QIODevice::status().
+.SH "void QFile::setName ( const QString & name )"
+Sets the name of the file to \fIname\fR. The name can have no path, a relative path or an absolute absolute path.
+.PP
+Do not call this function if the file has already been opened.
+.PP
+If the file name has no path or a relative path, the path used will be whatever the application's current directory path is \fIat the time of the open()\fR call.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFile file;
+.br
+ QDir::setCurrent( "/tmp" );
+.br
+ file.setName( "readme.txt" );
+.br
+ QDir::setCurrent( "/home" );
+.br
+ file.open( IO_ReadOnly ); // opens "/home/readme.txt" under Unix
+.br
+.fi
+.PP
+Note that the directory separator "/" works for all operating systems supported by Qt.
+.PP
+See also name(), QFileInfo, and QDir.
+.SH "Offset QFile::size () const\fC [virtual]\fR"
+Returns the file size.
+.PP
+See also at().
+.PP
+Example: table/statistics/statistics.cpp.
+.PP
+Reimplemented from QIODevice.
+.SH "int QFile::ungetch ( int ch )\fC [virtual]\fR"
+Puts the character \fIch\fR back into the file and decrements the index if it is not zero.
+.PP
+This function is normally called to "undo" a getch() operation.
+.PP
+Returns \fIch\fR, or -1 if an error occurred.
+.PP
+See also getch() and putch().
+.PP
+Reimplemented from QIODevice.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfile.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfile.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfiledialog.3qt b/doc/man/man3/qfiledialog.3qt
new file mode 100644
index 0000000..f4683ed
--- /dev/null
+++ b/doc/man/man3/qfiledialog.3qt
@@ -0,0 +1,1025 @@
+'\" t
+.TH QFileDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFileDialog \- Dialogs that allow users to select files or directories
+.SH SYNOPSIS
+\fC#include <qfiledialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFileDialog\fR ( const QString & dirName, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, bool modal = FALSE )"
+.br
+.ti -1c
+.BI "\fBQFileDialog\fR ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE )"
+.br
+.ti -1c
+.BI "\fB~QFileDialog\fR ()"
+.br
+.ti -1c
+.BI "QString \fBselectedFile\fR () const"
+.br
+.ti -1c
+.BI "QString \fBselectedFilter\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectedFilter\fR ( const QString & mask )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectedFilter\fR ( int n )"
+.br
+.ti -1c
+.BI "void \fBsetSelection\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "void \fBselectAll\fR ( bool b )"
+.br
+.ti -1c
+.BI "QStringList \fBselectedFiles\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdirPath\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDir\fR ( const QDir & dir )"
+.br
+.ti -1c
+.BI "const QDir * \fBdir\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetShowHiddenFiles\fR ( bool s )"
+.br
+.ti -1c
+.BI "bool \fBshowHiddenFiles\fR () const"
+.br
+.ti -1c
+.BI "void \fBrereadDir\fR ()"
+.br
+.ti -1c
+.BI "void \fBresortDir\fR ()"
+.br
+.ti -1c
+.BI "enum \fBMode\fR { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly }"
+.br
+.ti -1c
+.BI "void \fBsetMode\fR ( Mode )"
+.br
+.ti -1c
+.BI "Mode \fBmode\fR () const"
+.br
+.ti -1c
+.BI "enum \fBViewMode\fR { Detail, List }"
+.br
+.ti -1c
+.BI "enum \fBPreviewMode\fR { NoPreview, Contents, Info }"
+.br
+.ti -1c
+.BI "void \fBsetViewMode\fR ( ViewMode m )"
+.br
+.ti -1c
+.BI "ViewMode \fBviewMode\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPreviewMode\fR ( PreviewMode m )"
+.br
+.ti -1c
+.BI "PreviewMode \fBpreviewMode\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisInfoPreviewEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisContentsPreviewEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetInfoPreviewEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBsetContentsPreviewEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBsetInfoPreview\fR ( QWidget * w, QFilePreview * preview )"
+.br
+.ti -1c
+.BI "void \fBsetContentsPreview\fR ( QWidget * w, QFilePreview * preview )"
+.br
+.ti -1c
+.BI "QUrl \fBurl\fR () const"
+.br
+.ti -1c
+.BI "void \fBaddFilter\fR ( const QString & filter )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetDir\fR ( const QString & pathstr )"
+.br
+.ti -1c
+.BI "void \fBsetUrl\fR ( const QUrlOperator & url )"
+.br
+.ti -1c
+.BI "void \fBsetFilter\fR ( const QString & newFilter )"
+.br
+.ti -1c
+.BI "void \fBsetFilters\fR ( const QString & filters )"
+.br
+.ti -1c
+.BI "void \fBsetFilters\fR ( const char ** types )"
+.br
+.ti -1c
+.BI "void \fBsetFilters\fR ( const QStringList & )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBfileHighlighted\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBfileSelected\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBfilesSelected\fR ( const QStringList & )"
+.br
+.ti -1c
+.BI "void \fBdirEntered\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBfilterSelected\fR ( const QString & )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBgetOpenFileName\fR ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )"
+.br
+.ti -1c
+.BI "QString \fBgetSaveFileName\fR ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )"
+.br
+.ti -1c
+.BI "QString \fBgetExistingDirectory\fR ( const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, bool dirOnly = TRUE, bool resolveSymlinks = TRUE )"
+.br
+.ti -1c
+.BI "QStringList \fBgetOpenFileNames\fR ( const QString & filter = QString::null, const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )"
+.br
+.ti -1c
+.BI "void \fBsetIconProvider\fR ( QFileIconProvider * provider )"
+.br
+.ti -1c
+.BI "QFileIconProvider * \fBiconProvider\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBcontentsPreview\fR - whether the file dialog can provide a contents preview of the currently selected file"
+.br
+.ti -1c
+.BI "QString \fBdirPath\fR - the file dialog's working directory \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBinfoPreview\fR - whether the file dialog can provide preview information about the currently selected file"
+.br
+.ti -1c
+.BI "Mode \fBmode\fR - the file dialog's mode"
+.br
+.ti -1c
+.BI "PreviewMode \fBpreviewMode\fR - the preview mode for the file dialog"
+.br
+.ti -1c
+.BI "QString \fBselectedFile\fR - the name of the selected file \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QStringList \fBselectedFiles\fR - the list of selected files \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QString \fBselectedFilter\fR - the filter which the user has selected in the file dialog \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBshowHiddenFiles\fR - whether hidden files are shown in the file dialog"
+.br
+.ti -1c
+.BI "ViewMode \fBviewMode\fR - the file dialog's view mode"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBaddWidgets\fR ( QLabel * l, QWidget * w, QPushButton * b )"
+.br
+.ti -1c
+.BI "void \fBaddToolButton\fR ( QButton * b, bool separator = FALSE )"
+.br
+.ti -1c
+.BI "void \fBaddLeftWidget\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBaddRightWidget\fR ( QWidget * w )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFileDialog class provides dialogs that allow users to select files or directories.
+.PP
+The QFileDialog class enables a user to traverse their file system in order to select one or many files or a directory.
+.PP
+The easiest way to create a QFileDialog is to use the static functions. On Windows, these static functions will call the native Windows file dialog and on Mac OS X, these static function will call the native Mac OS X file dialog.
+.PP
+.nf
+.br
+ QString s = QFileDialog::getOpenFileName(
+.br
+ "/home",
+.br
+ "Images (*.png *.xpm *.jpg)",
+.br
+ this,
+.br
+ "open file dialog",
+.br
+ "Choose a file" );
+.br
+.fi
+.PP
+In the above example, a modal QFileDialog is created using a static function. The startup directory is set to "/home". The file filter is set to "Images (*.png *.xpm *.jpg)". The parent of the file dialog is set to \fIthis\fR and it is given the identification name - "open file dialog". The caption at the top of file dialog is set to "Choose a file". If you want to use multiple filters, separate each one with \fItwo\fR semi-colons, e.g.
+.PP
+.nf
+.br
+ "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
+.br
+.fi
+.PP
+You can create your own QFileDialog without using the static functions. By calling setMode(), you can set what can be returned by the QFileDialog.
+.PP
+.nf
+.br
+ QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE );
+.br
+ fd->setMode( QFileDialog::AnyFile );
+.br
+.fi
+.PP
+In the above example, the mode of the file dialog is set to AnyFile, meaning that the user can select any file, or even specify a file that doesn't exist. This mode is useful for creating a "File Save As" file dialog. Use ExistingFile if the user must select an existing file or Directory if only a directory may be selected. (See the QFileDialog::Mode enum for the complete list of modes.)
+.PP
+You can retrieve the dialog's mode with mode(). Use setFilter() to set the dialog's file filter, e.g.
+.PP
+.nf
+.br
+ fd->setFilter( "Images (*.png *.xpm *.jpg)" );
+.br
+.fi
+.PP
+In the above example, the filter is set to "Images (*.png *.xpm *.jpg)", this means that only files with the extension \fCpng\fR, \fCxpm\fR or \fCjpg\fR will be shown in the QFileDialog. You can apply several filters by using setFilters() and add additional filters with addFilter(). Use setSelectedFilter() to select one of the filters you've given as the file dialog's default filter. Whenever the user changes the filter the filterSelected() signal is emitted.
+.PP
+The file dialog has two view modes, QFileDialog::List which simply lists file and directory names and QFileDialog::Detail which displays additional information alongside each name, e.g. file size, modification date, etc. Set the mode with setViewMode().
+.PP
+.nf
+.br
+ fd->setViewMode( QFileDialog::Detail );
+.br
+.fi
+.PP
+The last important function you will need to use when creating your own file dialog is selectedFile().
+.PP
+.nf
+.br
+ QString fileName;
+.br
+ if ( fd->exec() == QDialog::Accepted )
+.br
+ fileName = fd->selectedFile();
+.br
+.fi
+.PP
+In the above example, a modal file dialog is created and shown. If the user clicked OK, then the file they selected is put in \fCfileName\fR.
+.PP
+If you are using the ExistingFiles mode then you will need to use selectedFiles() which will return the selected files in a QStringList.
+.PP
+The dialog's working directory can be set with setDir(). The display of hidden files is controlled with setShowHiddenFiles(). The dialog can be forced to re-read the directory with rereadDir() and re-sort the directory with resortDir(). All the files in the current directory can be selected with selectAll().
+.SH "Creating and using preview widgets"
+There are two kinds of preview widgets that can be used with QFileDialogs: \fIcontent\fR preview widgets and \fIinformation\fR preview widgets. They are created and used in the same way except that the function names differ, e.g. setContentsPreview() and setInfoPreview().
+.PP
+A preview widget is a widget that is placed inside a QFileDialog so that the user can see either the contents of the file, or information about the file.
+.PP
+.nf
+.br
+ class Preview : public QLabel, public QFilePreview
+.br
+ {
+.br
+ public:
+.br
+ Preview( QWidget *parent=0 ) : QLabel( parent ) {}
+.br
+.br
+ void previewUrl( const QUrl &u )
+.br
+ {
+.br
+ QString path = u.path();
+.br
+ QPixmap pix( path );
+.br
+ if ( pix.isNull() )
+.br
+ setText( "This is not a pixmap" );
+.br
+ else
+.br
+ setPixmap( pix );
+.br
+ }
+.br
+ };
+.br
+.fi
+.PP
+In the above snippet, we create a preview widget which inherits from QLabel and QFilePreview. File preview widgets \fImust\fR inherit from QFilePreview.
+.PP
+Inside the class we reimplement QFilePreview::previewUrl(), this is where we determine what happens when a file is selected. In the above example we only show a preview of the file if it is a valid pixmap. Here's how to make a file dialog use a preview widget:
+.PP
+.nf
+.br
+ Preview* p = new Preview;
+.br
+.br
+ QFileDialog* fd = new QFileDialog( this );
+.br
+ fd->setContentsPreviewEnabled( TRUE );
+.br
+ fd->setContentsPreview( p, p );
+.br
+ fd->setPreviewMode( QFileDialog::Contents );
+.br
+ fd->show();
+.br
+.fi
+.PP
+The first line creates an instance of our preview widget. We then create our file dialog and call setContentsPreviewEnabled( TRUE ), this tell the file dialog to preview the contents of the currently selected file. We then call setContentsPreview() -- note that we pass the same preview widget twice. Finally, before showing the file dialog, we call setPreviewMode() setting the mode to \fIContents\fR which will show the contents preview of the file that the user has selected.
+.PP
+If you create another preview widget that is used for displaying information about a file, create it in the same way as the contents preview widget and call setInfoPreviewEnabled(), and setInfoPreview(). Then the user will be able to switch between the two preview modes.
+.PP
+For more information about creating a QFilePreview widget see QFilePreview.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also Dialog Classes.
+.SS "Member Type Documentation"
+.SH "QFileDialog::Mode"
+This enum is used to indicate what the user may select in the file dialog, i.e. what the dialog will return if the user clicks OK.
+.TP
+\fCQFileDialog::AnyFile\fR - The name of a file, whether it exists or not.
+.TP
+\fCQFileDialog::ExistingFile\fR - The name of a single existing file.
+.TP
+\fCQFileDialog::Directory\fR - The name of a directory. Both files and directories are displayed.
+.TP
+\fCQFileDialog::DirectoryOnly\fR - The name of a directory. The file dialog will only display directories.
+.TP
+\fCQFileDialog::ExistingFiles\fR - The names of zero or more existing files.
+.PP
+See setMode().
+.SH "QFileDialog::PreviewMode"
+This enum describes the preview mode of the file dialog.
+.TP
+\fCQFileDialog::NoPreview\fR - No preview is shown at all.
+.TP
+\fCQFileDialog::Contents\fR - Show a preview of the contents of the current file using the contents preview widget.
+.TP
+\fCQFileDialog::Info\fR - Show information about the current file using the info preview widget.
+.PP
+See setPreviewMode(), setContentsPreview() and setInfoPreview().
+.SH "QFileDialog::ViewMode"
+This enum describes the view mode of the file dialog, i.e. what information about each file will be displayed.
+.TP
+\fCQFileDialog::List\fR - Display file and directory names with icons.
+.TP
+\fCQFileDialog::Detail\fR - Display file and directory names with icons plus additional information, such as file size and modification date.
+.PP
+See setViewMode().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFileDialog::QFileDialog ( const QString & dirName, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, bool modal = FALSE )"
+Constructs a file dialog called \fIname\fR with the parent, \fIparent\fR. If \fImodal\fR is TRUE then the file dialog is modal; otherwise it is modeless.
+.PP
+If \fIdirName\fR is specified then it will be used as the dialog's working directory, i.e. it will be the directory that is shown when the dialog appears. If \fIfilter\fR is specified it will be used as the dialog's file filter.
+.SH "QFileDialog::QFileDialog ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE )"
+Constructs a file dialog called \fIname\fR, with the parent, \fIparent\fR. If \fImodal\fR is TRUE then the file dialog is modal; otherwise it is modeless.
+.SH "QFileDialog::~QFileDialog ()"
+Destroys the file dialog.
+.SH "void QFileDialog::addFilter ( const QString & filter )"
+Adds the filter \fIfilter\fR to the list of filters and makes it the current filter.
+.PP
+.nf
+.br
+ QFileDialog* fd = new QFileDialog( this );
+.br
+ fd->addFilter( "Images (*.png *.jpg *.xpm)" );
+.br
+ fd->show();
+.br
+.fi
+.PP
+In the above example, a file dialog is created, and the file filter "Images (*.png *.jpg *.xpm)" is added and is set as the current filter. The original filter, "All Files (*)", is still available.
+.PP
+See also setFilter() and setFilters().
+.SH "void QFileDialog::addLeftWidget ( QWidget * w )\fC [protected]\fR"
+Adds the widget \fIw\fR to the left-hand side of the file dialog.
+.PP
+See also addRightWidget(), addWidgets(), and addToolButton().
+.SH "void QFileDialog::addRightWidget ( QWidget * w )\fC [protected]\fR"
+Adds the widget \fIw\fR to the right-hand side of the file dialog.
+.PP
+See also addLeftWidget(), addWidgets(), and addToolButton().
+.SH "void QFileDialog::addToolButton ( QButton * b, bool separator = FALSE )\fC [protected]\fR"
+Adds the tool button \fIb\fR to the row of tool buttons at the top of the file dialog. The button is appended to the right of this row. If \fIseparator\fR is TRUE, a small space is inserted between the last button of the row and the new button \fIb\fR.
+.PP
+See also addWidgets(), addLeftWidget(), and addRightWidget().
+.SH "void QFileDialog::addWidgets ( QLabel * l, QWidget * w, QPushButton * b )\fC [protected]\fR"
+Adds the specified widgets to the bottom of the file dialog. The label \fIl\fR is placed underneath the "file name" and the "file types" labels. The widget \fIw\fR is placed underneath the file types combobox. The button \fIb\fR is placed underneath the Cancel pushbutton.
+.PP
+.nf
+.br
+ MyFileDialog::MyFileDialog( QWidget* parent, const char* name ) :
+.br
+ QFileDialog( parent, name )
+.br
+ {
+.br
+ QLabel* label = new QLabel( "Added widgets", this );
+.br
+ QLineEdit* lineedit = new QLineEdit( this );
+.br
+ QPushButton* pushbutton = new QPushButton( this );
+.br
+.br
+ addWidgets( label, lineedit, pushbutton );
+.br
+ }
+.br
+.fi
+.PP
+If you don't want to have one of the widgets added, pass 0 in that widget's position.
+.PP
+Every time you call this function, a new row of widgets will be added to the bottom of the file dialog.
+.PP
+See also addToolButton(), addLeftWidget(), and addRightWidget().
+.SH "const QDir * QFileDialog::dir () const"
+Returns the current directory shown in the file dialog.
+.PP
+The ownership of the QDir pointer is transferred to the caller, so it must be deleted by the caller when no longer required.
+.PP
+See also setDir().
+.SH "void QFileDialog::dirEntered ( const QString & )\fC [signal]\fR"
+This signal is emitted when the user enters a directory.
+.PP
+See also dir().
+.SH "QString QFileDialog::dirPath () const"
+Returns the file dialog's working directory. See the "dirPath" property for details.
+.SH "void QFileDialog::fileHighlighted ( const QString & )\fC [signal]\fR"
+This signal is emitted when the user highlights a file, i.e. makes it the current file.
+.PP
+See also fileSelected() and filesSelected().
+.SH "void QFileDialog::fileSelected ( const QString & )\fC [signal]\fR"
+This signal is emitted when the user selects a file.
+.PP
+See also filesSelected(), fileHighlighted(), and selectedFile.
+.SH "void QFileDialog::filesSelected ( const QStringList & )\fC [signal]\fR"
+This signal is emitted when the user selects one or more files in \fIExistingFiles\fR mode.
+.PP
+See also fileSelected(), fileHighlighted(), and selectedFiles.
+.SH "void QFileDialog::filterSelected ( const QString & )\fC [signal]\fR"
+This signal is emitted when the user selects a filter.
+.PP
+See also selectedFilter.
+.SH "QString QFileDialog::getExistingDirectory ( const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, bool dirOnly = TRUE, bool resolveSymlinks = TRUE )\fC [static]\fR"
+This is a convenience static function that will return an existing directory selected by the user.
+.PP
+.nf
+.br
+ QString s = QFileDialog::getExistingDirectory(
+.br
+ "/home",
+.br
+ this,
+.br
+ "get existing directory",
+.br
+ "Choose a directory",
+.br
+ TRUE );
+.br
+.fi
+.PP
+This function creates a modal file dialog called \fIname\fR, with parent, \fIparent\fR. If parent is not 0, the dialog will be shown centered over the parent.
+.PP
+The dialog's working directory is set to \fIdir\fR, and the caption is set to \fIcaption\fR. Either of these may be QString::null in which case the current directory and a default caption will be used respectively.
+.PP
+Note on Windows that if \fIdir\fR is QString::null then the dialog's working directory will be set to the user's My Documents directory.
+.PP
+If \fIdirOnly\fR is TRUE, then only directories will be shown in the file dialog; otherwise both directories and files will be shown.
+.PP
+Under Unix/X11, the normal behavior of the file dialog is to resolve and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp, the file dialog will change to /var/tmp after entering /usr/tmp. If \fIresolveSymlinks\fR is FALSE, the file dialog will treat symlinks as regular directories.
+.PP
+Under Windows and Mac OS X, this static function will use the native file dialog and not a QFileDialog, unless the style of the application is set to something other than the native style. (Note that on Windows the dialog will spin a blocking modal event loop that will not dispatch any QTimers and if parent is not 0 then it will position the dialog just under the parent's titlebar).
+.PP
+See also getOpenFileName(), getOpenFileNames(), and getSaveFileName().
+.SH "QString QFileDialog::getOpenFileName ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )\fC [static]\fR"
+This is a convenience static function that returns an existing file selected by the user. If the user pressed Cancel, it returns a null string.
+.PP
+.nf
+.br
+ QString s = QFileDialog::getOpenFileName(
+.br
+ "/home",
+.br
+ "Images (*.png *.xpm *.jpg)",
+.br
+ this,
+.br
+ "open file dialog",
+.br
+ "Choose a file to open" );
+.br
+.fi
+.PP
+The function creates a modal file dialog called \fIname\fR, with parent, \fIparent\fR. If a parent is not 0, the dialog will be shown centered over the parent.
+.PP
+The file dialog's working directory will be set to \fIstartWith\fR. If \fIstartWith\fR includes a file name, the file will be selected. The filter is set to \fIfilter\fR so that only those files which match the filter are shown. The filter selected is set to \fIselectedFilter\fR. The parameters \fIstartWith\fR, \fIselectedFilter\fR and \fIfilter\fR may be QString::null.
+.PP
+The dialog's caption is set to \fIcaption\fR. If \fIcaption\fR is not specified then a default caption will be used.
+.PP
+Under Windows and Mac OS X, this static function will use the native file dialog and not a QFileDialog, unless the style of the application is set to something other than the native style (Note that on Windows the dialog will spin a blocking modal event loop that will not dispatch any QTimers and if parent is not 0 then it will position the dialog just under the parent's titlebar).
+.PP
+Under Unix/X11, the normal behavior of the file dialog is to resolve and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp, the file dialog will change to /var/tmp after entering /usr/tmp. If \fIresolveSymlinks\fR is FALSE, the file dialog will treat symlinks as regular directories.
+.PP
+See also getOpenFileNames(), getSaveFileName(), and getExistingDirectory().
+.PP
+Examples:
+.)l action/application.cpp, addressbook/mainwindow.cpp, application/application.cpp, distributor/distributor.ui.h, network/ftpclient/ftpmainwindow.ui.h, qwerty/qwerty.cpp, and showimg/showimg.cpp.
+.SH "QStringList QFileDialog::getOpenFileNames ( const QString & filter = QString::null, const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )\fC [static]\fR"
+This is a convenience static function that will return one or more existing files selected by the user.
+.PP
+.nf
+.br
+ QStringList files = QFileDialog::getOpenFileNames(
+.br
+ "Images (*.png *.xpm *.jpg)",
+.br
+ "/home",
+.br
+ this,
+.br
+ "open files dialog",
+.br
+ "Select one or more files to open" );
+.br
+.fi
+.PP
+This function creates a modal file dialog called \fIname\fR, with parent \fIparent\fR. If \fIparent\fR is not 0, the dialog will be shown centered over the parent.
+.PP
+The file dialog's working directory will be set to \fIdir\fR. If \fIdir\fR includes a file name, the file will be selected. The filter is set to \fIfilter\fR so that only those files which match the filter are shown. The filter selected is set to \fIselectedFilter\fR. The parameters \fIdir\fR, \fIselectedFilter\fR and \fIfilter\fR may be QString::null.
+.PP
+The dialog's caption is set to \fIcaption\fR. If \fIcaption\fR is not specified then a default caption will be used.
+.PP
+Under Windows and Mac OS X, this static function will use the native file dialog and not a QFileDialog, unless the style of the application is set to something other than the native style. (Note that on Windows the dialog will spin a blocking modal event loop that will not dispatch any QTimers and if parent is not 0 then it will position the dialog just under the parent's titlebar).
+.PP
+Under Unix/X11, the normal behavior of the file dialog is to resolve and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp, the file dialog will change to /var/tmp after entering /usr/tmp. If \fIresolveSymlinks\fR is FALSE, the file dialog will treat symlinks as regular directories.
+.PP
+Note that if you want to iterate over the list of files, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = files;
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also getOpenFileName(), getSaveFileName(), and getExistingDirectory().
+.SH "QString QFileDialog::getSaveFileName ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )\fC [static]\fR"
+This is a convenience static function that will return a file name selected by the user. The file does not have to exist.
+.PP
+It creates a modal file dialog called \fIname\fR, with parent, \fIparent\fR. If a parent is not 0, the dialog will be shown centered over the parent.
+.PP
+.nf
+.br
+ QString s = QFileDialog::getSaveFileName(
+.br
+ "/home",
+.br
+ "Images (*.png *.xpm *.jpg)",
+.br
+ this,
+.br
+ "save file dialog",
+.br
+ "Choose a filename to save under" );
+.br
+.fi
+.PP
+The file dialog's working directory will be set to \fIstartWith\fR. If \fIstartWith\fR includes a file name, the file will be selected. The filter is set to \fIfilter\fR so that only those files which match the filter are shown. The filter selected is set to \fIselectedFilter\fR. The parameters \fIstartWith\fR, \fIselectedFilter\fR and \fIfilter\fR may be QString::null.
+.PP
+The dialog's caption is set to \fIcaption\fR. If \fIcaption\fR is not specified then a default caption will be used.
+.PP
+Under Windows and Mac OS X, this static function will use the native file dialog and not a QFileDialog, unless the style of the application is set to something other than the native style. (Note that on Windows the dialog will spin a blocking modal event loop that will not dispatch any QTimers and if parent is not 0 then it will position the dialog just under the parent's titlebar.
+.PP
+Under Unix/X11, the normal behavior of the file dialog is to resolve and follow symlinks. For example, if /usr/tmp is a symlink to /var/tmp, the file dialog will change to /var/tmp after entering /usr/tmp. If \fIresolveSymlinks\fR is FALSE, the file dialog will treat symlinks as regular directories.
+.PP
+See also getOpenFileName(), getOpenFileNames(), and getExistingDirectory().
+.PP
+Examples:
+.)l action/application.cpp, addressbook/mainwindow.cpp, application/application.cpp, network/ftpclient/ftpmainwindow.ui.h, qmag/qmag.cpp, qwerty/qwerty.cpp, and showimg/showimg.cpp.
+.SH "QFileIconProvider * QFileDialog::iconProvider ()\fC [static]\fR"
+Returns a pointer to the icon provider currently set on the file dialog. By default there is no icon provider, and this function returns 0.
+.PP
+See also setIconProvider() and QFileIconProvider.
+.SH "bool QFileDialog::isContentsPreviewEnabled () const"
+Returns TRUE if the file dialog can provide a contents preview of the currently selected file; otherwise returns FALSE. See the "contentsPreview" property for details.
+.SH "bool QFileDialog::isInfoPreviewEnabled () const"
+Returns TRUE if the file dialog can provide preview information about the currently selected file; otherwise returns FALSE. See the "infoPreview" property for details.
+.SH "Mode QFileDialog::mode () const"
+Returns the file dialog's mode. See the "mode" property for details.
+.SH "PreviewMode QFileDialog::previewMode () const"
+Returns the preview mode for the file dialog. See the "previewMode" property for details.
+.SH "void QFileDialog::rereadDir ()"
+Rereads the current directory shown in the file dialog.
+.PP
+The only time you will need to call this function is if the contents of the directory change and you wish to refresh the file dialog to reflect the change.
+.PP
+See also resortDir().
+.SH "void QFileDialog::resortDir ()"
+Re-sorts the displayed directory.
+.PP
+See also rereadDir().
+.SH "void QFileDialog::selectAll ( bool b )"
+If \fIb\fR is TRUE then all the files in the current directory are selected; otherwise, they are deselected.
+.SH "QString QFileDialog::selectedFile () const"
+Returns the name of the selected file. See the "selectedFile" property for details.
+.SH "QStringList QFileDialog::selectedFiles () const"
+Returns the list of selected files. See the "selectedFiles" property for details.
+.SH "QString QFileDialog::selectedFilter () const"
+Returns the filter which the user has selected in the file dialog. See the "selectedFilter" property for details.
+.SH "void QFileDialog::setContentsPreview ( QWidget * w, QFilePreview * preview )"
+Sets the widget to be used for displaying the contents of the file to the widget \fIw\fR and a preview of those contents to the QFilePreview \fIpreview\fR.
+.PP
+Normally you would create a preview widget that derives from both QWidget and QFilePreview, so you should pass the same widget twice. If you don't, you must remember to delete the preview object in order to avoid memory leaks.
+.PP
+.nf
+.br
+ class Preview : public QLabel, public QFilePreview
+.br
+ {
+.br
+ public:
+.br
+ Preview( QWidget *parent=0 ) : QLabel( parent ) {}
+.br
+.br
+ void previewUrl( const QUrl &u )
+.br
+ {
+.br
+ QString path = u.path();
+.br
+ QPixmap pix( path );
+.br
+ if ( pix.isNull() )
+.br
+ setText( "This is not a pixmap" );
+.br
+ else
+.br
+ setPixmap( pix );
+.br
+ }
+.br
+ };
+.br
+.br
+ //...
+.br
+.br
+ int main( int argc, char** argv )
+.br
+ {
+.br
+ Preview* p = new Preview;
+.br
+.br
+ QFileDialog* fd = new QFileDialog( this );
+.br
+ fd->setContentsPreviewEnabled( TRUE );
+.br
+ fd->setContentsPreview( p, p );
+.br
+ fd->setPreviewMode( QFileDialog::Contents );
+.br
+ fd->show();
+.br
+ }
+.br
+.fi
+.PP
+See also contentsPreview, setInfoPreview(), and previewMode.
+.PP
+Example: qdir/qdir.cpp.
+.SH "void QFileDialog::setContentsPreviewEnabled ( bool )"
+Sets whether the file dialog can provide a contents preview of the currently selected file. See the "contentsPreview" property for details.
+.SH "void QFileDialog::setDir ( const QDir & dir )"
+Sets the file dialog's working directory to \fIdir\fR.
+.PP
+See also dir().
+.SH "void QFileDialog::setDir ( const QString & pathstr )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the file dialog's working directory to \fIpathstr\fR.
+.PP
+See also dir().
+.SH "void QFileDialog::setFilter ( const QString & newFilter )\fC [slot]\fR"
+Sets the filter used in the file dialog to \fInewFilter\fR.
+.PP
+If \fInewFilter\fR contains a pair of parentheses containing one or more of \fI\fBanything*something\fR\fR separated by spaces or by semi-colons then only the text contained in the parentheses is used as the filter. This means that these calls are all equivalent:
+.PP
+.nf
+.br
+ fd->setFilter( "All C++ files (*.cpp *.cc *.C *.cxx *.c++)" );
+.br
+ fd->setFilter( "*.cpp *.cc *.C *.cxx *.c++" );
+.br
+ fd->setFilter( "All C++ files (*.cpp;*.cc;*.C;*.cxx;*.c++)" );
+.br
+ fd->setFilter( "*.cpp;*.cc;*.C;*.cxx;*.c++" );
+.br
+.fi
+.PP
+See also setFilters().
+.SH "void QFileDialog::setFilters ( const QString & filters )\fC [slot]\fR"
+Sets the filters used in the file dialog to \fIfilters\fR. Each group of filters must be separated by \fC;;\fR (\fItwo\fR semi-colons).
+.PP
+.nf
+.br
+ QString types("Image files (*.png *.xpm *.jpg);;"
+.br
+ "Text files (*.txt);;"
+.br
+ "Any files (*)");
+.br
+ QFileDialog fd = new QFileDialog( this );
+.br
+ fd->setFilters( types );
+.br
+ fd->show();
+.br
+.fi
+.SH "void QFileDialog::setFilters ( const char ** types )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fItypes\fR must be a null-terminated list of strings.
+.SH "void QFileDialog::setFilters ( const QStringList & )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QFileDialog::setIconProvider ( QFileIconProvider * provider )\fC [static]\fR"
+Sets the QFileIconProvider used by the file dialog to \fIprovider\fR.
+.PP
+The default is that there is no QFileIconProvider and QFileDialog just draws a folder icon next to each directory and nothing next to files.
+.PP
+See also QFileIconProvider and iconProvider().
+.PP
+Example: showimg/main.cpp.
+.SH "void QFileDialog::setInfoPreview ( QWidget * w, QFilePreview * preview )"
+Sets the widget to be used for displaying information about the file to the widget \fIw\fR and a preview of that information to the QFilePreview \fIpreview\fR.
+.PP
+Normally you would create a preview widget that derives from both QWidget and QFilePreview, so you should pass the same widget twice. If you don't, you must remember to delete the preview object in order to avoid memory leaks.
+.PP
+.nf
+.br
+ class Preview : public QLabel, public QFilePreview
+.br
+ {
+.br
+ public:
+.br
+ Preview( QWidget *parent=0 ) : QLabel( parent ) {}
+.br
+.br
+ void previewUrl( const QUrl &u )
+.br
+ {
+.br
+ QString path = u.path();
+.br
+ QPixmap pix( path );
+.br
+ if ( pix.isNull() )
+.br
+ setText( "This is not a pixmap" );
+.br
+ else
+.br
+ setText( "This is a pixmap" );
+.br
+ }
+.br
+ };
+.br
+.br
+ //...
+.br
+.br
+ int main( int argc, char** argv )
+.br
+ {
+.br
+ Preview* p = new Preview;
+.br
+.br
+ QFileDialog* fd = new QFileDialog( this );
+.br
+ fd->setInfoPreviewEnabled( TRUE );
+.br
+ fd->setInfoPreview( p, p );
+.br
+ fd->setPreviewMode( QFileDialog::Info );
+.br
+ fd->show();
+.br
+ }
+.br
+.br
+.fi
+.PP
+See also setContentsPreview(), infoPreview, and previewMode.
+.SH "void QFileDialog::setInfoPreviewEnabled ( bool )"
+Sets whether the file dialog can provide preview information about the currently selected file. See the "infoPreview" property for details.
+.SH "void QFileDialog::setMode ( Mode )"
+Sets the file dialog's mode. See the "mode" property for details.
+.SH "void QFileDialog::setPreviewMode ( PreviewMode m )"
+Sets the preview mode for the file dialog to \fIm\fR. See the "previewMode" property for details.
+.SH "void QFileDialog::setSelectedFilter ( const QString & mask )\fC [virtual]\fR"
+Sets the current filter selected in the file dialog to the first one that contains the text \fImask\fR.
+.SH "void QFileDialog::setSelectedFilter ( int n )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the current filter selected in the file dialog to the \fIn\fR-th filter in the filter list.
+.PP
+See also filterSelected(), selectedFilter, selectedFiles, and selectedFile.
+.SH "void QFileDialog::setSelection ( const QString & filename )"
+Sets the default selection to \fIfilename\fR. If \fIfilename\fR is absolute, setDir() is also called to set the file dialog's working directory to the filename's directory.
+.PP
+Example: qdir/qdir.cpp.
+.SH "void QFileDialog::setShowHiddenFiles ( bool s )"
+Sets whether hidden files are shown in the file dialog to \fIs\fR. See the "showHiddenFiles" property for details.
+.SH "void QFileDialog::setUrl ( const QUrlOperator & url )\fC [slot]\fR"
+Sets the file dialog's working directory to the directory specified at \fIurl\fR.
+.PP
+See also url().
+.SH "void QFileDialog::setViewMode ( ViewMode m )"
+Sets the file dialog's view mode to \fIm\fR. See the "viewMode" property for details.
+.SH "bool QFileDialog::showHiddenFiles () const"
+Returns TRUE if hidden files are shown in the file dialog; otherwise returns FALSE. See the "showHiddenFiles" property for details.
+.SH "QUrl QFileDialog::url () const"
+Returns the URL of the current working directory in the file dialog.
+.PP
+See also setUrl().
+.PP
+Example: network/networkprotocol/view.cpp.
+.SH "ViewMode QFileDialog::viewMode () const"
+Returns the file dialog's view mode. See the "viewMode" property for details.
+.SS "Property Documentation"
+.SH "bool contentsPreview"
+This property holds whether the file dialog can provide a contents preview of the currently selected file.
+.PP
+The default is FALSE.
+.PP
+See also setContentsPreview() and infoPreview.
+.PP
+Set this property's value with setContentsPreviewEnabled() and get this property's value with isContentsPreviewEnabled().
+.SH "QString dirPath"
+This property holds the file dialog's working directory.
+.PP
+Get this property's value with dirPath().
+.PP
+See also dir() and setDir().
+.SH "bool infoPreview"
+This property holds whether the file dialog can provide preview information about the currently selected file.
+.PP
+The default is FALSE.
+.PP
+Set this property's value with setInfoPreviewEnabled() and get this property's value with isInfoPreviewEnabled().
+.SH "Mode mode"
+This property holds the file dialog's mode.
+.PP
+The default mode is ExistingFile.
+.PP
+Set this property's value with setMode() and get this property's value with mode().
+.SH "PreviewMode previewMode"
+This property holds the preview mode for the file dialog.
+.PP
+If you set the mode to be a mode other than \fINoPreview\fR, you must use setInfoPreview() or setContentsPreview() to set the dialog's preview widget to your preview widget and enable the preview widget(s) with setInfoPreviewEnabled() or setContentsPreviewEnabled().
+.PP
+See also infoPreview, contentsPreview, and viewMode.
+.PP
+Set this property's value with setPreviewMode() and get this property's value with previewMode().
+.SH "QString selectedFile"
+This property holds the name of the selected file.
+.PP
+If a file was selected selectedFile contains the file's name including its absolute path; otherwise selectedFile is empty.
+.PP
+See also QString::isEmpty(), selectedFiles, and selectedFilter.
+.PP
+Get this property's value with selectedFile().
+.SH "QStringList selectedFiles"
+This property holds the list of selected files.
+.PP
+If one or more files are selected, selectedFiles contains their names including their absolute paths. If no files are selected or the mode isn't ExistingFiles selectedFiles is an empty list.
+.PP
+It is more convenient to use selectedFile() if the mode is ExistingFile, Directory or DirectoryOnly.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myFileDialog.selectedFiles();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also selectedFile, selectedFilter, and QValueList::empty().
+.PP
+Get this property's value with selectedFiles().
+.SH "QString selectedFilter"
+This property holds the filter which the user has selected in the file dialog.
+.PP
+Get this property's value with selectedFilter().
+.PP
+See also filterSelected(), selectedFiles, and selectedFile.
+.SH "bool showHiddenFiles"
+This property holds whether hidden files are shown in the file dialog.
+.PP
+The default is FALSE, i.e. don't show hidden files.
+.PP
+Set this property's value with setShowHiddenFiles() and get this property's value with showHiddenFiles().
+.SH "ViewMode viewMode"
+This property holds the file dialog's view mode.
+.PP
+If you set the view mode to be \fIDetail\fR (the default), then you will see the file's details, such as the size of the file and the date the file was last modified in addition to the file's name.
+.PP
+If you set the view mode to be \fIList\fR, then you will just see a list of the files and folders.
+.PP
+See QFileDialog::ViewMode
+.PP
+Set this property's value with setViewMode() and get this property's value with viewMode().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfiledialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfiledialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfileiconprovider.3qt b/doc/man/man3/qfileiconprovider.3qt
new file mode 100644
index 0000000..b4999f1
--- /dev/null
+++ b/doc/man/man3/qfileiconprovider.3qt
@@ -0,0 +1,68 @@
+'\" t
+.TH QFileIconProvider 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFileIconProvider \- Icons for QFileDialog to use
+.SH SYNOPSIS
+\fC#include <qfiledialog.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFileIconProvider\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual const QPixmap * \fBpixmap\fR ( const QFileInfo & info )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFileIconProvider class provides icons for QFileDialog to use.
+.PP
+By default QFileIconProvider is not used, but any application or library can subclass it, reimplement pixmap() to return a suitable icon, and make all QFileDialog objects use it by calling the static function QFileDialog::setIconProvider().
+.PP
+It is advisable to make all the icons that QFileIconProvider returns be the same size or at least the same width. This makes the list view look much better.
+.PP
+See also QFileDialog and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFileIconProvider::QFileIconProvider ( QObject * parent = 0, const char * name = 0 )"
+Constructs an empty file icon provider called \fIname\fR, with the parent \fIparent\fR.
+.SH "const QPixmap * QFileIconProvider::pixmap ( const QFileInfo & info )\fC [virtual]\fR"
+Returns a pointer to a pixmap that should be used to signify the file with the information \fIinfo\fR.
+.PP
+If pixmap() returns 0, QFileDialog draws the default pixmap.
+.PP
+The default implementation returns particular icons for files, directories, link-files and link-directories. It returns a blank "icon" for other types.
+.PP
+If you return a pixmap here, it should measure 16x16 pixels.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfileiconprovider.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfileiconprovider.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfileinfo.3qt b/doc/man/man3/qfileinfo.3qt
new file mode 100644
index 0000000..ddad3bf
--- /dev/null
+++ b/doc/man/man3/qfileinfo.3qt
@@ -0,0 +1,537 @@
+'\" t
+.TH QFileInfo 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFileInfo \- System-independent file information
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qfileinfo.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBPermissionSpec\fR { ReadOwner = 04000, WriteOwner = 02000, ExeOwner = 01000, ReadUser = 00400, WriteUser = 00200, ExeUser = 00100, ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }"
+.br
+.ti -1c
+.BI "\fBQFileInfo\fR ()"
+.br
+.ti -1c
+.BI "\fBQFileInfo\fR ( const QString & file )"
+.br
+.ti -1c
+.BI "\fBQFileInfo\fR ( const QFile & file )"
+.br
+.ti -1c
+.BI "\fBQFileInfo\fR ( const QDir & d, const QString & fileName )"
+.br
+.ti -1c
+.BI "\fBQFileInfo\fR ( const QFileInfo & fi )"
+.br
+.ti -1c
+.BI "\fB~QFileInfo\fR ()"
+.br
+.ti -1c
+.BI "QFileInfo & \fBoperator=\fR ( const QFileInfo & fi )"
+.br
+.ti -1c
+.BI "void \fBsetFile\fR ( const QString & file )"
+.br
+.ti -1c
+.BI "void \fBsetFile\fR ( const QFile & file )"
+.br
+.ti -1c
+.BI "void \fBsetFile\fR ( const QDir & d, const QString & fileName )"
+.br
+.ti -1c
+.BI "bool \fBexists\fR () const"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcaching\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCaching\fR ( bool enable )"
+.br
+.ti -1c
+.BI "QString \fBfilePath\fR () const"
+.br
+.ti -1c
+.BI "QString \fBfileName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBabsFilePath\fR () const"
+.br
+.ti -1c
+.BI "QString \fBbaseName\fR ( bool complete = FALSE ) const"
+.br
+.ti -1c
+.BI "QString \fBextension\fR ( bool complete = TRUE ) const"
+.br
+.ti -1c
+.BI "QString \fBdirPath\fR ( bool absPath = FALSE ) const"
+.br
+.ti -1c
+.BI "QDir \fBdir\fR ( bool absPath = FALSE ) const"
+.br
+.ti -1c
+.BI "bool \fBisReadable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisWritable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisExecutable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisHidden\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRelative\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconvertToAbs\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisFile\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDir\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSymLink\fR () const"
+.br
+.ti -1c
+.BI "QString \fBreadLink\fR () const"
+.br
+.ti -1c
+.BI "QString \fBowner\fR () const"
+.br
+.ti -1c
+.BI "uint \fBownerId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBgroup\fR () const"
+.br
+.ti -1c
+.BI "uint \fBgroupId\fR () const"
+.br
+.ti -1c
+.BI "bool \fBpermission\fR ( int permissionSpec ) const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QDateTime \fBcreated\fR () const"
+.br
+.ti -1c
+.BI "QDateTime \fBlastModified\fR () const"
+.br
+.ti -1c
+.BI "QDateTime \fBlastRead\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFileInfo class provides system-independent file information.
+.PP
+QFileInfo provides information about a file's name and position (path) in the file system, its access rights and whether it is a directory or symbolic link, etc. The file's size and last modified/read times are also available.
+.PP
+A QFileInfo can point to a file with either a relative or an absolute file path. Absolute file paths begin with the directory separator "/" (or with a drive specification on Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current working directory. An example of an absolute path is the string "/tmp/quartz". A relative path might look like "src/fatlib". You can use the function isRelative() to check whether a QFileInfo is using a relative or an absolute file path. You can call the function convertToAbs() to convert a relative QFileInfo's path to an absolute path.
+.PP
+The file that the QFileInfo works on is set in the constructor or later with setFile(). Use exists() to see if the file exists and size() to get its size.
+.PP
+To speed up performance, QFileInfo caches information about the file. Because files can be changed by other users or programs, or even by other parts of the same program, there is a function that refreshes the file information: refresh(). If you want to switch off a QFileInfo's caching and force it to access the file system every time you request information from it call setCaching(FALSE).
+.PP
+The file's type is obtained with isFile(), isDir() and isSymLink(). The readLink() function provides the name of the file the symlink points to.
+.PP
+Elements of the file's name can be extracted with dirPath() and fileName(). The fileName()'s parts can be extracted with baseName() and extension().
+.PP
+The file's dates are returned by created(), lastModified() and lastRead(). Information about the file's access permissions is obtained with isReadable(), isWritable() and isExecutable(). The file's ownership is available from owner(), ownerId(), group() and groupId(). You can examine a file's permissions and ownership in a single statement using the permission() function.
+.PP
+If you need to read and traverse directories, see the QDir class.
+.PP
+See also Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QFileInfo::PermissionSpec"
+This enum is used by the permission() function to report the permissions and ownership of a file. The values may be OR-ed together to test multiple permissions and ownership values.
+.TP
+\fCQFileInfo::ReadOwner\fR - The file is readable by the owner of the file.
+.TP
+\fCQFileInfo::WriteOwner\fR - The file is writable by the owner of the file.
+.TP
+\fCQFileInfo::ExeOwner\fR - The file is executable by the owner of the file.
+.TP
+\fCQFileInfo::ReadUser\fR - The file is readable by the user.
+.TP
+\fCQFileInfo::WriteUser\fR - The file is writable by the user.
+.TP
+\fCQFileInfo::ExeUser\fR - The file is executable by the user.
+.TP
+\fCQFileInfo::ReadGroup\fR - The file is readable by the group.
+.TP
+\fCQFileInfo::WriteGroup\fR - The file is writable by the group.
+.TP
+\fCQFileInfo::ExeGroup\fR - The file is executable by the group.
+.TP
+\fCQFileInfo::ReadOther\fR - The file is readable by anyone.
+.TP
+\fCQFileInfo::WriteOther\fR - The file is writable by anyone.
+.TP
+\fCQFileInfo::ExeOther\fR - The file is executable by anyone.
+.PP
+\fBWarning:\fR The semantics of ReadUser, WriteUser and ExeUser are unfortunately not platform independent: on Unix, the rights of the owner of the file are returned and on Windows the rights of the current user are returned. This behavior might change in a future Qt version. If you want to find the rights of the owner of the file, you should use the flags ReadOwner, WriteOwner and ExeOwner. If you want to find out the rights of the current user, you should use isReadable(), isWritable() and isExecutable().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFileInfo::QFileInfo ()"
+Constructs a new empty QFileInfo.
+.SH "QFileInfo::QFileInfo ( const QString & file )"
+Constructs a new QFileInfo that gives information about the given file. The \fIfile\fR can also include an absolute or relative path.
+.PP
+\fBWarning:\fR Some functions might behave in a counter-intuitive way if \fIfile\fR has a trailing directory separator.
+.PP
+See also setFile(), isRelative(), QDir::setCurrent(), and QDir::isRelativePath().
+.SH "QFileInfo::QFileInfo ( const QFile & file )"
+Constructs a new QFileInfo that gives information about file \fIfile\fR.
+.PP
+If the \fIfile\fR has a relative path, the QFileInfo will also have a relative path.
+.PP
+See also isRelative().
+.SH "QFileInfo::QFileInfo ( const QDir & d, const QString & fileName )"
+Constructs a new QFileInfo that gives information about the file called \fIfileName\fR in the directory \fId\fR.
+.PP
+If \fId\fR has a relative path, the QFileInfo will also have a relative path.
+.PP
+See also isRelative().
+.SH "QFileInfo::QFileInfo ( const QFileInfo & fi )"
+Constructs a new QFileInfo that is a copy of \fIfi\fR.
+.SH "QFileInfo::~QFileInfo ()"
+Destroys the QFileInfo and frees its resources.
+.SH "QString QFileInfo::absFilePath () const"
+Returns the absolute path including the file name.
+.PP
+The absolute path name consists of the full path and the file name. On Unix this will always begin with the root, '/', directory. On Windows this will always begin 'D:/' where D is a drive letter, except for network shares that are not mapped to a drive letter, in which case the path will begin '//sharename/'.
+.PP
+This function returns the same as filePath(), unless isRelative() is TRUE.
+.PP
+If the QFileInfo is empty it returns QDir::currentDirPath().
+.PP
+This function can be time consuming under Unix (in the order of milliseconds).
+.PP
+See also isRelative() and filePath().
+.PP
+Examples:
+.)l biff/biff.cpp and fileiconview/qfileiconview.cpp.
+.SH "QString QFileInfo::baseName ( bool complete = FALSE ) const"
+Returns the base name of the file.
+.PP
+If \fIcomplete\fR is FALSE (the default) the base name consists of all characters in the file name up to (but not including) the \fIfirst\fR '.' character.
+.PP
+If \fIcomplete\fR is TRUE the base name consists of all characters in the file up to (but not including) the \fIlast\fR '.' character.
+.PP
+The path is not included in either case.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+.br
+ QString base = fi.baseName(); // base = "archive"
+.br
+ base = fi.baseName( TRUE ); // base = "archive.tar"
+.br
+.fi
+.PP
+See also fileName() and extension().
+.SH "bool QFileInfo::caching () const"
+Returns TRUE if caching is enabled; otherwise returns FALSE.
+.PP
+See also setCaching() and refresh().
+.SH "bool QFileInfo::convertToAbs ()"
+Converts the file's path to an absolute path.
+.PP
+If it is already absolute, nothing is done.
+.PP
+See also filePath() and isRelative().
+.SH "QDateTime QFileInfo::created () const"
+Returns the date and time when the file was created.
+.PP
+On platforms where this information is not available, returns the same as lastModified().
+.PP
+See also lastModified() and lastRead().
+.SH "QDir QFileInfo::dir ( bool absPath = FALSE ) const"
+Returns the file's path as a QDir object.
+.PP
+If the QFileInfo is relative and \fIabsPath\fR is FALSE, the QDir will be relative; otherwise it will be absolute.
+.PP
+See also dirPath(), filePath(), fileName(), and isRelative().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QString QFileInfo::dirPath ( bool absPath = FALSE ) const"
+Returns the file's path.
+.PP
+If \fIabsPath\fR is TRUE an absolute path is returned.
+.PP
+See also dir(), filePath(), fileName(), and isRelative().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QFileInfo::exists () const"
+Returns TRUE if the file exists; otherwise returns FALSE.
+.PP
+Examples:
+.)l biff/biff.cpp, distributor/distributor.ui.h, and i18n/main.cpp.
+.SH "QString QFileInfo::extension ( bool complete = TRUE ) const"
+Returns the file's extension name.
+.PP
+If \fIcomplete\fR is TRUE (the default), extension() returns the string of all characters in the file name after (but not including) the first '.' character.
+.PP
+If \fIcomplete\fR is FALSE, extension() returns the string of all characters in the file name after (but not including) the last '.' character.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+.br
+ QString ext = fi.extension(); // ext = "tar.gz"
+.br
+ ext = fi.extension( FALSE ); // ext = "gz"
+.br
+.fi
+.PP
+See also fileName() and baseName().
+.PP
+Example: qdir/qdir.cpp.
+.SH "QString QFileInfo::fileName () const"
+Returns the name of the file, excluding the path.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+.br
+ QString name = fi.fileName(); // name = "archive.tar.gz"
+.br
+.fi
+.PP
+See also isRelative(), filePath(), baseName(), and extension().
+.PP
+Examples:
+.)l dirview/dirview.cpp, fileiconview/qfileiconview.cpp, and network/ftpclient/ftpmainwindow.ui.h.
+.SH "QString QFileInfo::filePath () const"
+Returns the file name, including the path (which may be absolute or relative).
+.PP
+See also isRelative() and absFilePath().
+.PP
+Examples:
+.)l dirview/main.cpp and fileiconview/qfileiconview.cpp.
+.SH "QString QFileInfo::group () const"
+Returns the group of the file. On Windows, on systems where files do not have groups, or if an error occurs, QString::null is returned.
+.PP
+This function can be time consuming under Unix (in the order of milliseconds).
+.PP
+See also groupId(), owner(), and ownerId().
+.SH "uint QFileInfo::groupId () const"
+Returns the id of the group the file belongs to.
+.PP
+On Windows and on systems where files do not have groups this function always returns (uint) -2.
+.PP
+See also group(), owner(), and ownerId().
+.SH "bool QFileInfo::isDir () const"
+Returns TRUE if this object points to a directory or to a symbolic link to a directory; otherwise returns FALSE.
+.PP
+See also isFile() and isSymLink().
+.PP
+Examples:
+.)l dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
+.SH "bool QFileInfo::isExecutable () const"
+Returns TRUE if the file is executable; otherwise returns FALSE.
+.PP
+See also isReadable(), isWritable(), and permission().
+.SH "bool QFileInfo::isFile () const"
+Returns TRUE if this object points to a file. Returns FALSE if the object points to something which isn't a file, e.g. a directory or a symlink.
+.PP
+See also isDir() and isSymLink().
+.PP
+Examples:
+.)l dirview/dirview.cpp, distributor/distributor.ui.h, fileiconview/qfileiconview.cpp, and qdir/qdir.cpp.
+.SH "bool QFileInfo::isHidden () const"
+Returns TRUE if the file is hidden; otherwise returns FALSE.
+.PP
+On Unix-like operating systems, including Mac OS X, a file is hidden if its name begins with ".". On Windows a file is hidden if its hidden attribute is set.
+.SH "bool QFileInfo::isReadable () const"
+Returns TRUE if the file is readable; otherwise returns FALSE.
+.PP
+See also isWritable(), isExecutable(), and permission().
+.PP
+Example: distributor/distributor.ui.h.
+.SH "bool QFileInfo::isRelative () const"
+Returns TRUE if the file path name is relative. Returns FALSE if the path is absolute (e.g. under Unix a path is absolute if it begins with a "/").
+.SH "bool QFileInfo::isSymLink () const"
+Returns TRUE if this object points to a symbolic link (or to a shortcut on Windows, or an alias on Mac OS X); otherwise returns FALSE.
+.PP
+See also isFile(), isDir(), and readLink().
+.PP
+Examples:
+.)l dirview/dirview.cpp, distributor/distributor.ui.h, and fileiconview/qfileiconview.cpp.
+.SH "bool QFileInfo::isWritable () const"
+Returns TRUE if the file is writable; otherwise returns FALSE.
+.PP
+See also isReadable(), isExecutable(), and permission().
+.PP
+Example: distributor/distributor.ui.h.
+.SH "QDateTime QFileInfo::lastModified () const"
+Returns the date and time when the file was last modified.
+.PP
+See also created() and lastRead().
+.PP
+Example: biff/biff.cpp.
+.SH "QDateTime QFileInfo::lastRead () const"
+Returns the date and time when the file was last read (accessed).
+.PP
+On platforms where this information is not available, returns the same as lastModified().
+.PP
+See also created() and lastModified().
+.PP
+Example: biff/biff.cpp.
+.SH "QFileInfo & QFileInfo::operator= ( const QFileInfo & fi )"
+Makes a copy of \fIfi\fR and assigns it to this QFileInfo.
+.SH "QString QFileInfo::owner () const"
+Returns the owner of the file. On systems where files do not have owners, or if an error occurs, QString::null is returned.
+.PP
+This function can be time consuming under Unix (in the order of milliseconds).
+.PP
+See also ownerId(), group(), and groupId().
+.SH "uint QFileInfo::ownerId () const"
+Returns the id of the owner of the file.
+.PP
+On Windows and on systems where files do not have owners this function returns ((uint) -2).
+.PP
+See also owner(), group(), and groupId().
+.SH "bool QFileInfo::permission ( int permissionSpec ) const"
+Tests for file permissions. The \fIpermissionSpec\fR argument can be several flags of type PermissionSpec OR-ed together to check for permission combinations.
+.PP
+On systems where files do not have permissions this function always returns TRUE.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFileInfo fi( "/tmp/archive.tar.gz" );
+.br
+ if ( fi.permission( QFileInfo::WriteUser | QFileInfo::ReadGroup ) )
+.br
+ qWarning( "I can change the file; my group can read the file" );
+.br
+ if ( fi.permission( QFileInfo::WriteGroup | QFileInfo::WriteOther ) )
+.br
+ qWarning( "The group or others can change the file" );
+.br
+.fi
+.PP
+See also isReadable(), isWritable(), and isExecutable().
+.SH "QString QFileInfo::readLink () const"
+Returns the name a symlink (or shortcut on Windows) points to, or a QString::null if the object isn't a symbolic link.
+.PP
+This name may not represent an existing file; it is only a string. QFileInfo::exists() returns TRUE if the symlink points to an existing file.
+.PP
+See also exists(), isSymLink(), isDir(), and isFile().
+.SH "void QFileInfo::refresh () const"
+Refreshes the information about the file, i.e. reads in information from the file system the next time a cached property is fetched.
+.PP
+See also setCaching().
+.SH "void QFileInfo::setCaching ( bool enable )"
+If \fIenable\fR is TRUE, enables caching of file information. If \fIenable\fR is FALSE caching is disabled.
+.PP
+When caching is enabled, QFileInfo reads the file information from the file system the first time it's needed, but generally not later.
+.PP
+Caching is enabled by default.
+.PP
+See also refresh() and caching().
+.SH "void QFileInfo::setFile ( const QString & file )"
+Sets the file that the QFileInfo provides information about to \fIfile\fR.
+.PP
+The \fIfile\fR can also include an absolute or relative file path. Absolute paths begin with the directory separator (e.g. "/" under Unix) or a drive specification (under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString absolute = "/local/bin";
+.br
+ QString relative = "local/bin";
+.br
+ QFileInfo absFile( absolute );
+.br
+ QFileInfo relFile( relative );
+.br
+.br
+ QDir::setCurrent( QDir::rootDirPath() );
+.br
+ // absFile and relFile now point to the same file
+.br
+.br
+ QDir::setCurrent( "/tmp" );
+.br
+ // absFile now points to "/local/bin",
+.br
+ // while relFile points to "/tmp/local/bin"
+.br
+.fi
+.PP
+See also isRelative(), QDir::setCurrent(), and QDir::isRelativePath().
+.PP
+Example: biff/biff.cpp.
+.SH "void QFileInfo::setFile ( const QFile & file )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the file that the QFileInfo provides information about to \fIfile\fR.
+.PP
+If \fIfile\fR includes a relative path, the QFileInfo will also have a relative path.
+.PP
+See also isRelative().
+.SH "void QFileInfo::setFile ( const QDir & d, const QString & fileName )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the file that the QFileInfo provides information about to \fIfileName\fR in directory \fId\fR.
+.PP
+If \fIfileName\fR includes a relative path, the QFileInfo will also have a relative path.
+.PP
+See also isRelative().
+.SH "uint QFileInfo::size () const"
+Returns the file size in bytes, or 0 if the file does not exist or if the size is 0 or if the size cannot be fetched.
+.PP
+Example: qdir/qdir.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfileinfo.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfileinfo.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfilepreview.3qt b/doc/man/man3/qfilepreview.3qt
new file mode 100644
index 0000000..b8176f4
--- /dev/null
+++ b/doc/man/man3/qfilepreview.3qt
@@ -0,0 +1,66 @@
+'\" t
+.TH QFilePreview 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFilePreview \- File previewing in QFileDialog
+.SH SYNOPSIS
+\fC#include <qfiledialog.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFilePreview\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpreviewUrl\fR ( const QUrl & url ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFilePreview class provides file previewing in QFileDialog.
+.PP
+This class is an abstract base class which is used to implement widgets that can display a preview of a file in a QFileDialog.
+.PP
+You must derive the preview widget from both QWidget and from this class. Then you must reimplement this class's previewUrl() function, which is called by the file dialog if the preview of a file (specified as a URL) should be shown.
+.PP
+See also QFileDialog::setPreviewMode(), QFileDialog::setContentsPreview(), QFileDialog::setInfoPreview(), QFileDialog::setInfoPreviewEnabled(), QFileDialog::setContentsPreviewEnabled().
+.PP
+For an example of a preview widget see qt/examples/qdir/qdir.cpp.
+.PP
+See also Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFilePreview::QFilePreview ()"
+Constructs the QFilePreview.
+.SH "void QFilePreview::previewUrl ( const QUrl & url )\fC [pure virtual]\fR"
+This function is called by QFileDialog if a preview
+for the \fIurl\fR should be shown. Reimplement this
+function to provide file previewing.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfilepreview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfilepreview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfocusdata.3qt b/doc/man/man3/qfocusdata.3qt
new file mode 100644
index 0000000..f0066c1
--- /dev/null
+++ b/doc/man/man3/qfocusdata.3qt
@@ -0,0 +1,92 @@
+'\" t
+.TH QFocusData 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFocusData \- Maintains the list of widgets in the focus chain
+.SH SYNOPSIS
+\fC#include <qfocusdata.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "QWidget * \fBfocusWidget\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBhome\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBnext\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBprev\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBfirst\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBlast\fR () const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFocusData class maintains the list of widgets in the focus chain.
+.PP
+This read-only list always contains at least one widget (i.e. the top-level widget). It provides a simple cursor which can be reset to the current focus widget using home(), or moved to its neighboring widgets using next() and prev(). You can also retrieve the count() of the number of widgets in the list. The list is a loop, so if you keep iterating, for example using next(), you will never come to the end.
+.PP
+Some widgets in the list may not accept focus. Widgets are added to the list as necessary, but not removed from it. This lets widgets change focus policy dynamically without disrupting the focus chain the user experiences. When a widget disables and re-enables tab focus, its position in the focus chain does not change.
+.PP
+When reimplementing QWidget::focusNextPrevChild() to provide special focus flow, you will usually call QWidget::focusData() to retrieve the focus data stored at the top-level widget. A top-level widget's focus data contains the focus list for its hierarchy of widgets.
+.PP
+The cursor may change at any time.
+.PP
+This class is \fInot\fR thread-safe.
+.PP
+See also QWidget::focusNextPrevChild(), QWidget::setTabOrder(), QWidget::focusPolicy, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "int QFocusData::count () const"
+Returns the number of widgets in the focus chain.
+.SH "QWidget * QFocusData::first () const"
+Returns the first widget in the focus chain. The cursor is not modified.
+.SH "QWidget * QFocusData::focusWidget () const"
+Returns the widgets in the hierarchy that are in the focus chain.
+.SH "QWidget * QFocusData::home ()"
+Moves the cursor to the focusWidget() and returns that widget. You must call this before next() or prev() to iterate meaningfully.
+.SH "QWidget * QFocusData::last () const"
+Returns the last widget in the focus chain. The cursor is not modified.
+.SH "QWidget * QFocusData::next ()"
+Moves the cursor to the next widget in the focus chain. There is \fIalways\fR a next widget because the list is a loop.
+.SH "QWidget * QFocusData::prev ()"
+Moves the cursor to the previous widget in the focus chain. There
+is \fIalways\fR a previous widget because the list is a loop.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfocusdata.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfocusdata.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfocusevent.3qt b/doc/man/man3/qfocusevent.3qt
new file mode 100644
index 0000000..ee0d1e8
--- /dev/null
+++ b/doc/man/man3/qfocusevent.3qt
@@ -0,0 +1,117 @@
+'\" t
+.TH QFocusEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFocusEvent \- Event parameters for widget focus events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFocusEvent\fR ( Type type )"
+.br
+.ti -1c
+.BI "bool \fBgotFocus\fR () const"
+.br
+.ti -1c
+.BI "bool \fBlostFocus\fR () const"
+.br
+.ti -1c
+.BI "enum \fBReason\fR { Mouse, Tab, Backtab, ActiveWindow, Popup, Shortcut, Other }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "Reason \fBreason\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetReason\fR ( Reason reason )"
+.br
+.ti -1c
+.BI "void \fBresetReason\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFocusEvent class contains event parameters for widget focus events.
+.PP
+Focus events are sent to widgets when the keyboard input focus changes. Focus events occur due to mouse actions, keypresses (e.g. Tab or Backtab), the window system, popup menus, keyboard shortcuts or other application specific reasons. The reason for a particular focus event is returned by reason() in the appropriate event handler.
+.PP
+The event handlers QWidget::focusInEvent() and QWidget::focusOutEvent() receive focus events.
+.PP
+Use setReason() to set the reason for all focus events, and resetReason() to set the reason for all focus events to the reason in force before the last setReason() call.
+.PP
+See also QWidget::setFocus(), QWidget::focusPolicy, and Event Classes.
+.SS "Member Type Documentation"
+.SH "QFocusEvent::Reason"
+This enum specifies why the focus changed.
+.TP
+\fCQFocusEvent::Mouse\fR - because of a mouse action.
+.TP
+\fCQFocusEvent::Tab\fR - because of a Tab press.
+.TP
+\fCQFocusEvent::Backtab\fR - because of a Backtab press (possibly including Shift/Control, e.g. Shift+Tab).
+.TP
+\fCQFocusEvent::ActiveWindow\fR - because the window system made this window (in)active.
+.TP
+\fCQFocusEvent::Popup\fR - because the application opened/closed a popup that grabbed/released focus.
+.TP
+\fCQFocusEvent::Shortcut\fR - because of a keyboard shortcut.
+.TP
+\fCQFocusEvent::Other\fR - any other reason, usually application-specific.
+.PP
+See the keyboard focus overview for more about focus.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFocusEvent::QFocusEvent ( Type type )"
+Constructs a focus event object.
+.PP
+The \fItype\fR parameter must be either QEvent::FocusIn or QEvent::FocusOut.
+.SH "bool QFocusEvent::gotFocus () const"
+Returns TRUE if the widget received the text input focus; otherwise returns FALSE.
+.SH "bool QFocusEvent::lostFocus () const"
+Returns TRUE if the widget lost the text input focus; otherwise returns FALSE.
+.SH "Reason QFocusEvent::reason ()\fC [static]\fR"
+Returns the reason for this focus event.
+.PP
+See also setReason().
+.SH "void QFocusEvent::resetReason ()\fC [static]\fR"
+Resets the reason for all future focus events to the value before the last setReason() call.
+.PP
+See also reason() and setReason().
+.SH "void QFocusEvent::setReason ( Reason reason )\fC [static]\fR"
+Sets the reason for all future focus events to \fIreason\fR.
+.PP
+See also reason() and resetReason().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfocusevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfocusevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfont.3qt b/doc/man/man3/qfont.3qt
new file mode 100644
index 0000000..ce1bfac
--- /dev/null
+++ b/doc/man/man3/qfont.3qt
@@ -0,0 +1,906 @@
+'\" t
+.TH QFont 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFont \- Font used for drawing text
+.SH SYNOPSIS
+\fC#include <qfont.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBStyleHint\fR { Helvetica, SansSerif = Helvetica, Times, Serif = Times, Courier, TypeWriter = Courier, OldEnglish, Decorative = OldEnglish, System, AnyStyle }"
+.br
+.ti -1c
+.BI "enum \fBStyleStrategy\fR { PreferDefault = 0x0001, PreferBitmap = 0x0002, PreferDevice = 0x0004, PreferOutline = 0x0008, ForceOutline = 0x0010, PreferMatch = 0x0020, PreferQuality = 0x0040, PreferAntialias = 0x0080, NoAntialias = 0x0100, OpenGLCompatible = 0x0200 }"
+.br
+.ti -1c
+.BI "enum \fBWeight\fR { Light = 25, Normal = 50, DemiBold = 63, Bold = 75, Black = 87 }"
+.br
+.ti -1c
+.BI "enum \fBStretch\fR { UltraCondensed = 50, ExtraCondensed = 62, Condensed = 75, SemiCondensed = 87, Unstretched = 100, SemiExpanded = 112, Expanded = 125, ExtraExpanded = 150, UltraExpanded = 200 }"
+.br
+.ti -1c
+.BI "\fBQFont\fR ()"
+.br
+.ti -1c
+.BI "\fBQFont\fR ( const QString & family, int pointSize = 12, int weight = Normal, bool italic = FALSE )"
+.br
+.ti -1c
+.BI "\fBQFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "\fB~QFont\fR ()"
+.br
+.ti -1c
+.BI "QString \fBfamily\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFamily\fR ( const QString & family )"
+.br
+.ti -1c
+.BI "int \fBpointSize\fR () const"
+.br
+.ti -1c
+.BI "float \fBpointSizeFloat\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPointSize\fR ( int pointSize )"
+.br
+.ti -1c
+.BI "void \fBsetPointSizeFloat\fR ( float pointSize )"
+.br
+.ti -1c
+.BI "int \fBpixelSize\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPixelSize\fR ( int pixelSize )"
+.br
+.ti -1c
+.BI "void setPixelSizeFloat ( float pixelSize ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBweight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWeight\fR ( int weight )"
+.br
+.ti -1c
+.BI "bool \fBbold\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBold\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBitalic\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetItalic\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBunderline\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetUnderline\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBoverline\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOverline\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBstrikeOut\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStrikeOut\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBfixedPitch\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFixedPitch\fR ( bool enable )"
+.br
+.ti -1c
+.BI "StyleHint \fBstyleHint\fR () const"
+.br
+.ti -1c
+.BI "StyleStrategy \fBstyleStrategy\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStyleHint\fR ( StyleHint hint, StyleStrategy strategy = PreferDefault )"
+.br
+.ti -1c
+.BI "void \fBsetStyleStrategy\fR ( StyleStrategy s )"
+.br
+.ti -1c
+.BI "int \fBstretch\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStretch\fR ( int factor )"
+.br
+.ti -1c
+.BI "bool \fBrawMode\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRawMode\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBexactMatch\fR () const"
+.br
+.ti -1c
+.BI "QFont & \fBoperator=\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QFont & f ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QFont & f ) const"
+.br
+.ti -1c
+.BI "bool \fBisCopyOf\fR ( const QFont & f ) const"
+.br
+.ti -1c
+.BI "HFONT \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRawName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QString \fBrawName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBkey\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "bool \fBfromString\fR ( const QString & descrip )"
+.br
+.ti -1c
+.BI "void \fBqwsRenderToDisk\fR ( bool all = TRUE )"
+.br
+.ti -1c
+.BI "enum \fBScript\fR { Latin, Greek, Cyrillic, Armenian, Georgian, Runic, Ogham, SpacingModifiers, CombiningMarks, Hebrew, Arabic, Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Khmer, Han, Hiragana, Katakana, Hangul, Bopomofo, Yi, Ethiopic, Cherokee, CanadianAboriginal, Mongolian, CurrencySymbols, LetterlikeSymbols, NumberForms, MathematicalOperators, TechnicalSymbols, GeometricSymbols, MiscellaneousSymbols, EnclosedAndSquare, Braille, Unicode, Tagalog, Hanunoo, Buhid, Tagbanwa, KatakanaHalfWidth, Limbu, TaiLe }"
+.br
+.ti -1c
+.BI "QString \fBdefaultFamily\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlastResortFamily\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlastResortFont\fR () const"
+.br
+.ti -1c
+.BI "QFont \fBresolve\fR ( const QFont & other ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBsubstitute\fR ( const QString & familyName )"
+.br
+.ti -1c
+.BI "QStringList \fBsubstitutes\fR ( const QString & familyName )"
+.br
+.ti -1c
+.BI "QStringList \fBsubstitutions\fR ()"
+.br
+.ti -1c
+.BI "void \fBinsertSubstitution\fR ( const QString & familyName, const QString & substituteName )"
+.br
+.ti -1c
+.BI "void \fBinsertSubstitutions\fR ( const QString & familyName, const QStringList & substituteNames )"
+.br
+.ti -1c
+.BI "void \fBremoveSubstitution\fR ( const QString & familyName )"
+.br
+.ti -1c
+.BI "QFont defaultFont () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setDefaultFont ( const QFont & f ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "bool \fBdirty\fR () const"
+.br
+.ti -1c
+.BI "int \fBdeciPointSize\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QFont & font )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QFont & font )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFont class specifies a font used for drawing text.
+.PP
+When you create a QFont object you specify various attributes that you want the font to have. Qt will use the font with the specified attributes, or if no matching font exists, Qt will use the closest matching installed font. The attributes of the font that is actually used are retrievable from a QFontInfo object. If the window system provides an exact match exactMatch() returns TRUE. Use QFontMetrics to get measurements, e.g. the pixel length of a string using QFontMetrics::width().
+.PP
+Use QApplication::setFont() to set the application's default font.
+.PP
+If a choosen X11 font does not include all the characters that need to be displayed, QFont will try to find the characters in the nearest equivalent fonts. When a QPainter draws a character from a font the QFont will report whether or not it has the character; if it does not, QPainter will draw an unfilled square.
+.PP
+Create QFonts like this:
+.PP
+.nf
+.br
+ QFont serifFont( "Times", 10, Bold );
+.br
+ QFont sansFont( "Helvetica [Cronyx]", 12 );
+.br
+.fi
+.PP
+The attributes set in the constructor can also be set later, e.g. setFamily(), setPointSize(), setPointSizeFloat(), setWeight() and setItalic(). The remaining attributes must be set after contstruction, e.g. setBold(), setUnderline(), setOverline(), setStrikeOut() and setFixedPitch(). QFontInfo objects should be created \fIafter\fR the font's attributes have been set. A QFontInfo object will not change, even if you change the font's attributes. The corresponding "get" functions, e.g. family(), pointSize(), etc., return the values that were set, even though the values used may differ. The actual values are available from a QFontInfo object.
+.PP
+If the requested font family is unavailable you can influence the font matching algorithm by choosing a particular QFont::StyleHint and QFont::StyleStrategy with setStyleHint(). The default family (corresponding to the current style hint) is returned by defaultFamily().
+.PP
+The font-matching algorithm has a lastResortFamily() and lastResortFont() in cases where a suitable match cannot be found. You can provide substitutions for font family names using insertSubstitution() and insertSubstitutions(). Substitutions can be removed with removeSubstitution(). Use substitute() to retrieve a family's first substitute, or the family name itself if it has no substitutes. Use substitutes() to retrieve a list of a family's substitutes (which may be empty).
+.PP
+Every QFont has a key() which you can use, for example, as the key in a cache or dictionary. If you want to store a user's font preferences you could use QSettings, writing the font information with toString() and reading it back with fromString(). The operator<<() and operator>>() functions are also available, but they work on a data stream.
+.PP
+It is possible to set the height of characters shown on the screen to a specified number of pixels with setPixelSize(); however using setPointSize() has a similar effect and provides device independence.
+.PP
+Under the X Window System you can set a font using its system specific name with setRawName().
+.PP
+Loading fonts can be expensive, especially on X11. QFont contains extensive optimizations to make the copying of QFont objects fast, and to cache the results of the slow window system functions it depends upon.
+.PP
+The font matching algorithm works as follows: <ol type=1>
+.IP 1
+The specified font family is searched for.
+.IP 2
+If not found, the styleHint() is used to select a replacement family.
+.IP 3
+Each replacement font family is searched for.
+.IP 4
+If none of these are found or there was no styleHint(), "helvetica" will be searched for.
+.IP 5
+If "helvetica" isn't found Qt will try the lastResortFamily().
+.IP 6
+If the lastResortFamily() isn't found Qt will try the lastResortFont() which will always return a name of some kind.
+.PP
+Once a font is found, the remaining attributes are matched in order of priority: <ol type=1>
+.IP 7
+fixedPitch()
+.IP 8
+pointSize() (see below)
+.IP 9
+weight()
+.IP 10
+italic()
+.PP
+If you have a font which matches on family, even if none of the other attributes match, this font will be chosen in preference to a font which doesn't match on family but which does match on the other attributes. This is because font family is the dominant search criteria.
+.PP
+The point size is defined to match if it is within 20% of the requested point size. When several fonts match and are only distinguished by point size, the font with the closest point size to the one requested will be chosen.
+.PP
+The actual family, font size, weight and other font attributes used for drawing text will depend on what's available for the chosen family under the window system. A QFontInfo object can be used to determine the actual values used for drawing the text.
+.PP
+Examples:
+.)l
+.PP
+.nf
+.br
+ QFont f("Helvetica");
+.br
+.fi
+If you had both an Adobe and a Cronyx Helvetica, you might get either.
+.PP
+.nf
+.br
+ QFont f1( "Helvetica [Cronyx]" ); // Qt 3.x
+.br
+ QFont f2( "Cronyx-Helvetica" ); // Qt 2.x compatibility
+.br
+.fi
+You can specify the foundry you want in the family name. Both fonts, f1 and f2, in the above example will be set to "Helvetica [Cronyx]".
+.PP
+To determine the attributes of the font actually used in the window system, use a QFontInfo object, e.g.
+.PP
+.nf
+.br
+ QFontInfo info( f1 );
+.br
+ QString family = info.family();
+.br
+.fi
+.PP
+To find out font metrics use a QFontMetrics object, e.g.
+.PP
+.nf
+.br
+ QFontMetrics fm( f1 );
+.br
+ int pixelWidth = fm.width( "How many pixels wide is this text?" );
+.br
+ int pixelHeight = fm.height();
+.br
+.fi
+.PP
+For more general information on fonts, see the comp.fonts FAQ. Information on encodings can be found from Roman Czyborra's page.
+.PP
+See also QFontMetrics, QFontInfo, QFontDatabase, QApplication::setFont(), QWidget::font, QPainter::setFont(), QFont::StyleHint, QFont::Weight, Widget Appearance and Style, Graphics Classes, and Implicitly and Explicitly Shared Classes.
+.SS "Member Type Documentation"
+.SH "QFont::Script"
+This enum represents Unicode allocated scripts. For exhaustive coverage see The Unicode Standard Version 3.0. The following scripts are supported:
+.PP
+Modern European alphabetic scripts (left to right):
+.TP
+\fCQFont::Latin\fR - consists of most alphabets based on the original Latin alphabet.
+.TP
+\fCQFont::Greek\fR - covers ancient and modern Greek and Coptic.
+.TP
+\fCQFont::Cyrillic\fR - covers the Slavic and non-Slavic languages using cyrillic alphabets.
+.TP
+\fCQFont::Armenian\fR - contains the Armenian alphabet used with the Armenian language.
+.TP
+\fCQFont::Georgian\fR - covers at least the language Georgian.
+.TP
+\fCQFont::Runic\fR - covers the known constituents of the Runic alphabets used by the early and medieval societies in the Germanic, Scandinavian, and Anglo-Saxon areas.
+.TP
+\fCQFont::Ogham\fR - is an alphabetical script used to write a very early form of Irish.
+.TP
+\fCQFont::SpacingModifiers\fR - are small signs indicating modifications to the preceeding letter.
+.TP
+\fCQFont::CombiningMarks\fR - consist of diacritical marks not specific to a particular alphabet, diacritical marks used in combination with mathematical and technical symbols, and glyph encodings applied to multiple letterforms.
+.PP
+Middle Eastern scripts (right to left):
+.TP
+\fCQFont::Hebrew\fR - is used for writing Hebrew, Yiddish, and some other languages.
+.TP
+\fCQFont::Arabic\fR - covers the Arabic language as well as Persian, Urdu, Kurdish and some others.
+.TP
+\fCQFont::Syriac\fR - is used to write the active liturgical languages and dialects of several Middle Eastern and Southeast Indian communities.
+.TP
+\fCQFont::Thaana\fR - is used to write the Maledivian Dhivehi language.
+.PP
+South and Southeast Asian scripts (left to right with few historical exceptions):
+.TP
+\fCQFont::Devanagari\fR - covers classical Sanskrit and modern Hindi as well as several other languages.
+.TP
+\fCQFont::Bengali\fR - is a relative to Devanagari employed to write the Bengali language used in West Bengal/India and Bangladesh as well as several minority languages.
+.TP
+\fCQFont::Gurmukhi\fR - is another Devanagari relative used to write Punjabi.
+.TP
+\fCQFont::Gujarati\fR - is closely related to Devanagari and used to write the Gujarati language of the Gujarat state in India.
+.TP
+\fCQFont::Oriya\fR - is used to write the Oriya language of Orissa state/India.
+.TP
+\fCQFont::Tamil\fR - is used to write the Tamil language of Tamil Nadu state/India, Sri Lanka, Singapore and parts of Malaysia as well as some minority languages.
+.TP
+\fCQFont::Telugu\fR - is used to write the Telugu language of Andhra Pradesh state/India and some minority languages.
+.TP
+\fCQFont::Kannada\fR - is another South Indian script used to write the Kannada language of Karnataka state/India and some minority languages.
+.TP
+\fCQFont::Malayalam\fR - is used to write the Malayalam language of Kerala state/India.
+.TP
+\fCQFont::Sinhala\fR - is used for Sri Lanka's majority language Sinhala and is also employed to write Pali, Sanskrit, and Tamil.
+.TP
+\fCQFont::Thai\fR - is used to write Thai and other Southeast Asian languages.
+.TP
+\fCQFont::Lao\fR - is a language and script quite similar to Thai.
+.TP
+\fCQFont::Tibetan\fR - is the script used to write Tibetan in several countries like Tibet, the bordering Indian regions and Nepal. It is also used in the Buddist philosophy and liturgy of the Mongolian cultural area.
+.TP
+\fCQFont::Myanmar\fR - is mainly used to write the Burmese language of Myanmar (former Burma).
+.TP
+\fCQFont::Khmer\fR - is the official language of Kampuchea.
+.PP
+East Asian scripts (traditionally top-down, right to left, modern often horizontal left to right):
+.TP
+\fCQFont::Han\fR - consists of the CJK (Chinese, Japanese, Korean) idiographic characters.
+.TP
+\fCQFont::Hiragana\fR - is a cursive syllabary used to indicate phonetics and pronounciation of Japanese words.
+.TP
+\fCQFont::Katakana\fR - is a non-cursive syllabic script used to write Japanese words with visual emphasis and non-Japanese words in a phonetical manner.
+.TP
+\fCQFont::Hangul\fR - is a Korean script consisting of alphabetic components.
+.TP
+\fCQFont::Bopomofo\fR - is a phonetic alphabet for Chinese (mainly Mandarin).
+.TP
+\fCQFont::Yi\fR - (also called Cuan or Wei) is a syllabary used to write the Yi language of Southwestern China, Myanmar, Laos, and Vietnam.
+.PP
+Additional scripts that do not fit well into the script categories above:
+.TP
+\fCQFont::Ethiopic\fR - is a syllabary used by several Central East African languages.
+.TP
+\fCQFont::Cherokee\fR - is a left-to-right syllabic script used to write the Cherokee language.
+.TP
+\fCQFont::CanadianAboriginal\fR - consists of the syllabics used by some Canadian aboriginal societies.
+.TP
+\fCQFont::Mongolian\fR - is the traditional (and recently reintroduced) script used to write Mongolian.
+.PP
+Symbols:
+.TP
+\fCQFont::CurrencySymbols\fR - contains currency symbols not encoded in other scripts.
+.TP
+\fCQFont::LetterlikeSymbols\fR - consists of symbols derived from ordinary letters of an alphabetical script.
+.TP
+\fCQFont::NumberForms\fR - are provided for compatibility with other existing character sets.
+.TP
+\fCQFont::MathematicalOperators\fR - consists of encodings for operators, relations and other symbols like arrows used in a mathematical context.
+.TP
+\fCQFont::TechnicalSymbols\fR - contains representations for control codes, the space symbol, APL symbols and other symbols mainly used in the context of electronic data processing.
+.TP
+\fCQFont::GeometricSymbols\fR - covers block elements and geometric shapes.
+.TP
+\fCQFont::MiscellaneousSymbols\fR - consists of a heterogeneous collection of symbols that do not fit any other Unicode character block, e.g. Dingbats.
+.TP
+\fCQFont::EnclosedAndSquare\fR - is provided for compatibility with some East Asian standards.
+.TP
+\fCQFont::Braille\fR - is an international writing system used by blind people. This script encodes the 256 eight-dot patterns with the 64 six-dot patterns as a subset.
+.TP
+\fCQFont::Tagalog\fR
+.TP
+\fCQFont::Hanunoo\fR
+.TP
+\fCQFont::Buhid\fR
+.TP
+\fCQFont::Tagbanwa\fR
+.TP
+\fCQFont::KatakanaHalfWidth\fR
+.TP
+\fCQFont::Limbu\fR - (Unicode 4.0)
+.TP
+\fCQFont::TaiLe\fR - (Unicode 4.0)
+.TP
+\fCQFont::Unicode\fR - includes all the above scripts.
+.SH "QFont::Stretch"
+Predefined stretch values that follow the CSS naming convention.
+.TP
+\fCQFont::UltraCondensed\fR - 50
+.TP
+\fCQFont::ExtraCondensed\fR - 62
+.TP
+\fCQFont::Condensed\fR - 75
+.TP
+\fCQFont::SemiCondensed\fR - 87
+.TP
+\fCQFont::Unstretched\fR - 100
+.TP
+\fCQFont::SemiExpanded\fR - 112
+.TP
+\fCQFont::Expanded\fR - 125
+.TP
+\fCQFont::ExtraExpanded\fR - 150
+.TP
+\fCQFont::UltraExpanded\fR - 200
+.PP
+See also setStretch() and stretch().
+.SH "QFont::StyleHint"
+Style hints are used by the font matching algorithm to find an appropriate default family if a selected font family is not available.
+.TP
+\fCQFont::AnyStyle\fR - leaves the font matching algorithm to choose the family. This is the default.
+.TP
+\fCQFont::SansSerif\fR - the font matcher prefer sans serif fonts.
+.TP
+\fCQFont::Helvetica\fR - is a synonym for SansSerif.
+.TP
+\fCQFont::Serif\fR - the font matcher prefers serif fonts.
+.TP
+\fCQFont::Times\fR - is a synonym for Serif.
+.TP
+\fCQFont::TypeWriter\fR - the font matcher prefers fixed pitch fonts.
+.TP
+\fCQFont::Courier\fR - a synonym for TypeWriter.
+.TP
+\fCQFont::OldEnglish\fR - the font matcher prefers decorative fonts.
+.TP
+\fCQFont::Decorative\fR - is a synonym for OldEnglish.
+.TP
+\fCQFont::System\fR - the font matcher prefers system fonts.
+.SH "QFont::StyleStrategy"
+The style strategy tells the font matching algorithm what type of fonts should be used to find an appropriate default family.
+.PP
+The following strategies are available:
+.TP
+\fCQFont::PreferDefault\fR - the default style strategy. It does not prefer any type of font.
+.TP
+\fCQFont::PreferBitmap\fR - prefers bitmap fonts (as opposed to outline fonts).
+.TP
+\fCQFont::PreferDevice\fR - prefers device fonts.
+.TP
+\fCQFont::PreferOutline\fR - prefers outline fonts (as opposed to bitmap fonts).
+.TP
+\fCQFont::ForceOutline\fR - forces the use of outline fonts.
+.TP
+\fCQFont::NoAntialias\fR - don't antialias the fonts.
+.TP
+\fCQFont::PreferAntialias\fR - antialias if possible.
+.TP
+\fCQFont::OpenGLCompatible\fR - forces the use of OpenGL compatible fonts.
+.PP
+Any of these may be OR-ed with one of these flags:
+.TP
+\fCQFont::PreferMatch\fR - prefer an exact match. The font matcher will try to use the exact font size that has been specified.
+.TP
+\fCQFont::PreferQuality\fR - prefer the best quality font. The font matcher will use the nearest standard point size that the font supports.
+.SH "QFont::Weight"
+Qt uses a weighting scale from 0 to 99 similar to, but not the same as, the scales used in Windows or CSS. A weight of 0 is ultralight, whilst 99 will be an extremely black.
+.PP
+This enum contains the predefined font weights:
+.TP
+\fCQFont::Light\fR - 25
+.TP
+\fCQFont::Normal\fR - 50
+.TP
+\fCQFont::DemiBold\fR - 63
+.TP
+\fCQFont::Bold\fR - 75
+.TP
+\fCQFont::Black\fR - 87
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFont::QFont ()"
+Constructs a font object that uses the application's default font.
+.PP
+See also QApplication::setFont() and QApplication::font().
+.SH "QFont::QFont ( const QString & family, int pointSize = 12, int weight = Normal, bool italic = FALSE )"
+Constructs a font object with the specified \fIfamily\fR, \fIpointSize\fR, \fIweight\fR and \fIitalic\fR settings.
+.PP
+If \fIpointSize\fR is <= 0 it is set to 1.
+.PP
+The \fIfamily\fR name may optionally also include a foundry name, e.g. "Helvetica [Cronyx]". (The Qt 2.x syntax, i.e." Cronyx-Helvetica", is also supported.) If the \fIfamily\fR is available from more than one foundry and the foundry isn't specified, an arbitrary foundry is chosen. If the family isn't available a family will be set using the font matching algorithm.
+.PP
+See also Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint(), and QApplication::font().
+.SH "QFont::QFont ( const QFont & font )"
+Constructs a font that is a copy of \fIfont\fR.
+.SH "QFont::~QFont ()"
+Destroys the font object and frees all allocated resources.
+.SH "bool QFont::bold () const"
+Returns TRUE if weight() is a value greater than QFont::Normal; otherwise returns FALSE.
+.PP
+See also weight(), setBold(), and QFontInfo::bold().
+.PP
+Example: chart/optionsform.cpp.
+.SH "int QFont::deciPointSize () const\fC [protected]\fR"
+Returns the point size in 1/10ths of a point.
+.PP
+The returned value will be -1 if the font size has been specified in pixels.
+.PP
+See also pointSize() and pointSizeFloat().
+.SH "QString QFont::defaultFamily () const"
+Returns the family name that corresponds to the current style hint.
+.PP
+See also StyleHint, styleHint(), and setStyleHint().
+.SH "QFont QFont::defaultFont ()\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Please use QApplication::font() instead.
+.SH "bool QFont::dirty () const\fC [protected]\fR"
+Returns TRUE if the font attributes have been changed and the font has to be (re)loaded; otherwise returns FALSE.
+.SH "bool QFont::exactMatch () const"
+Returns TRUE if a window system font exactly matching the settings of this font is available.
+.PP
+See also QFontInfo.
+.SH "QString QFont::family () const"
+Returns the requested font family name, i.e. the name set in the constructor or the last setFont() call.
+.PP
+See also setFamily(), substitutes(), and substitute().
+.PP
+Examples:
+.)l chart/optionsform.cpp and fonts/simple-qfont-demo/viewer.cpp.
+.SH "bool QFont::fixedPitch () const"
+Returns TRUE if fixed pitch has been set; otherwise returns FALSE.
+.PP
+See also setFixedPitch() and QFontInfo::fixedPitch().
+.SH "bool QFont::fromString ( const QString & descrip )"
+Sets this font to match the description \fIdescrip\fR. The description is a comma-separated list of the font attributes, as returned by toString().
+.PP
+See also toString() and operator>>().
+.SH "HFONT QFont::handle () const"
+Returns the window system handle to the font, for low-level access. Using this function is \fInot\fR portable.
+.SH "void QFont::insertSubstitution ( const QString & familyName, const QString & substituteName )\fC [static]\fR"
+Inserts the family name \fIsubstituteName\fR into the substitution table for \fIfamilyName\fR.
+.PP
+See also insertSubstitutions(), removeSubstitution(), substitutions(), substitute(), and substitutes().
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "void QFont::insertSubstitutions ( const QString & familyName, const QStringList & substituteNames )\fC [static]\fR"
+Inserts the list of families \fIsubstituteNames\fR into the substitution list for \fIfamilyName\fR.
+.PP
+See also insertSubstitution(), removeSubstitution(), substitutions(), and substitute().
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "bool QFont::isCopyOf ( const QFont & f ) const"
+Returns TRUE if this font and \fIf\fR are copies of each other, i.e. one of them was created as a copy of the other and neither has been modified since. This is much stricter than equality.
+.PP
+See also operator=() and operator==().
+.SH "bool QFont::italic () const"
+Returns TRUE if italic has been set; otherwise returns FALSE.
+.PP
+See also setItalic().
+.PP
+Example: chart/optionsform.cpp.
+.SH "QString QFont::key () const"
+Returns the font's key, a textual representation of a font. It is typically used as the key for a cache or dictionary of fonts.
+.PP
+See also QMap.
+.SH "QString QFont::lastResortFamily () const"
+Returns the "last resort" font family name.
+.PP
+The current implementation tries a wide variety of common fonts, returning the first one it finds. Is is possible that no family is found in which case a null string is returned.
+.PP
+See also lastResortFont().
+.SH "QString QFont::lastResortFont () const"
+Returns a "last resort" font name for the font matching algorithm. This is used if the last resort family is not available. It will always return a name, if necessary returning something like" fixed" or "system".
+.PP
+The current implementation tries a wide variety of common fonts, returning the first one it finds. The implementation may change at any time, but this function will always return a string containing something.
+.PP
+It is theoretically possible that there really isn't a lastResortFont() in which case Qt will abort with an error message. We have not been able to identify a case where this happens. Please report it as a bug if it does, preferably with a list of the fonts you have installed.
+.PP
+See also lastResortFamily() and rawName().
+.SH "bool QFont::operator!= ( const QFont & f ) const"
+Returns TRUE if this font is different from \fIf\fR; otherwise returns FALSE.
+.PP
+Two QFonts are considered to be different if their font attributes are different. If rawMode() is enabled for both fonts, only the family fields are compared.
+.PP
+See also operator==().
+.SH "QFont & QFont::operator= ( const QFont & font )"
+Assigns \fIfont\fR to this font and returns a reference to it.
+.SH "bool QFont::operator== ( const QFont & f ) const"
+Returns TRUE if this font is equal to \fIf\fR; otherwise returns FALSE.
+.PP
+Two QFonts are considered equal if their font attributes are equal. If rawMode() is enabled for both fonts, only the family fields are compared.
+.PP
+See also operator!=() and isCopyOf().
+.SH "bool QFont::overline () const"
+Returns TRUE if overline has been set; otherwise returns FALSE.
+.PP
+See also setOverline().
+.SH "int QFont::pixelSize () const"
+Returns the pixel size of the font if it was set with setPixelSize(). Returns -1 if the size was set with setPointSize() or setPointSizeFloat().
+.PP
+See also setPixelSize(), pointSize(), QFontInfo::pointSize(), and QFontInfo::pixelSize().
+.SH "int QFont::pointSize () const"
+Returns the point size of the font. Returns -1 if the font size was specified in pixels.
+.PP
+See also setPointSize(), deciPointSize(), and pointSizeFloat().
+.PP
+Examples:
+.)l chart/optionsform.cpp and fonts/simple-qfont-demo/viewer.cpp.
+.SH "float QFont::pointSizeFloat () const"
+Returns the point size of the font. Returns -1 if the font size was specified in pixels.
+.PP
+See also pointSize(), setPointSizeFloat(), pixelSize(), QFontInfo::pointSize(), and QFontInfo::pixelSize().
+.SH "void QFont::qwsRenderToDisk ( bool all = TRUE )"
+Saves the glyphs in the font that have previously been accessed as a QPF file. If \fIall\fR is TRUE (the default), then before saving, all glyphs are marked as used.
+.PP
+If the font is large and you are sure that only a subset of characters will ever be required on the target device, passing FALSE for the \fIall\fR parameter can save a significant amount of disk space.
+.PP
+Note that this function is only applicable on Qt/Embedded.
+.SH "bool QFont::rawMode () const"
+Returns TRUE if raw mode is used for font name matching; otherwise returns FALSE.
+.PP
+See also setRawMode() and rawName().
+.SH "QString QFont::rawName () const"
+Returns the name of the font within the underlying window system.
+.PP
+On Windows, this is usually just the family name of a TrueType font.
+.PP
+On X11, it is an XLFD (X Logical Font Description). When Qt is build with Xft support on X11, the return value can be an Xft pattern or an XLFD.
+.PP
+Using the return value of this function is usually \fInot\fR \fIportable\fR.
+.PP
+See also setRawName().
+.SH "void QFont::removeSubstitution ( const QString & familyName )\fC [static]\fR"
+Removes all the substitutions for \fIfamilyName\fR.
+.PP
+See also insertSubstitutions(), insertSubstitution(), substitutions(), and substitute().
+.SH "QFont QFont::resolve ( const QFont & other ) const"
+Returns a new QFont that has attributes copied from \fIother\fR.
+.SH "void QFont::setBold ( bool enable )"
+If \fIenable\fR is true sets the font's weight to QFont::Bold; otherwise sets the weight to QFont::Normal.
+.PP
+For finer boldness control use setWeight().
+.PP
+See also bold() and setWeight().
+.PP
+Examples:
+.)l menu/menu.cpp and themes/metal.cpp.
+.SH "void QFont::setDefaultFont ( const QFont & f )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Please use QApplication::setFont() instead.
+.SH "void QFont::setFamily ( const QString & family )"
+Sets the family name of the font. The name is case insensitive and may include a foundry name.
+.PP
+The \fIfamily\fR name may optionally also include a foundry name, e.g. "Helvetica [Cronyx]". (The Qt 2.x syntax, i.e." Cronyx-Helvetica", is also supported.) If the \fIfamily\fR is available from more than one foundry and the foundry isn't specified, an arbitrary foundry is chosen. If the family isn't available a family will be set using the font matching algorithm.
+.PP
+See also family(), setStyleHint(), and QFontInfo.
+.SH "void QFont::setFixedPitch ( bool enable )"
+If \fIenable\fR is TRUE, sets fixed pitch on; otherwise sets fixed pitch off.
+.PP
+See also fixedPitch() and QFontInfo.
+.SH "void QFont::setItalic ( bool enable )"
+If \fIenable\fR is TRUE, italic is set on; otherwise italic is set off.
+.PP
+See also italic() and QFontInfo.
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp, fonts/simple-qfont-demo/viewer.cpp, and themes/metal.cpp.
+.SH "void QFont::setOverline ( bool enable )"
+If \fIenable\fR is TRUE, sets overline on; otherwise sets overline off.
+.PP
+See also overline() and QFontInfo.
+.SH "void QFont::setPixelSize ( int pixelSize )"
+Sets the font size to \fIpixelSize\fR pixels.
+.PP
+Using this function makes the font device dependent. Use setPointSize() or setPointSizeFloat() to set the size of the font in a device independent manner.
+.PP
+See also pixelSize().
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "void QFont::setPixelSizeFloat ( float pixelSize )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the logical pixel height of font characters when shown on the screen to \fIpixelSize\fR.
+.SH "void QFont::setPointSize ( int pointSize )"
+Sets the point size to \fIpointSize\fR. The point size must be greater than zero.
+.PP
+See also pointSize() and setPointSizeFloat().
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "void QFont::setPointSizeFloat ( float pointSize )"
+Sets the point size to \fIpointSize\fR. The point size must be greater than zero. The requested precision may not be achieved on all platforms.
+.PP
+See also pointSizeFloat(), setPointSize(), and setPixelSize().
+.SH "void QFont::setRawMode ( bool enable )"
+If \fIenable\fR is TRUE, turns raw mode on; otherwise turns raw mode off. This function only has an effect under X11.
+.PP
+If raw mode is enabled, Qt will search for an X font with a complete font name matching the family name, ignoring all other values set for the QFont. If the font name matches several fonts, Qt will use the first font returned by X. QFontInfo \fIcannot\fR be used to fetch information about a QFont using raw mode (it will return the values set in the QFont for all parameters, including the family name).
+.PP
+\fBWarning:\fR Do not use raw mode unless you really, really need it! In most (if not all) cases, setRawName() is a much better choice.
+.PP
+See also rawMode() and setRawName().
+.SH "void QFont::setRawName ( const QString & name )"
+Sets a font by its system specific name. The function is particularly useful under X, where system font settings (for example X resources) are usually available in XLFD (X Logical Font Description) form only. You can pass an XLFD as \fIname\fR to this function.
+.PP
+A font set with setRawName() is still a full-featured QFont. It can be queried (for example with italic()) or modified (for example with setItalic()) and is therefore also suitable for rendering rich text.
+.PP
+If Qt's internal font database cannot resolve the raw name, the font becomes a raw font with \fIname\fR as its family.
+.PP
+Note that the present implementation does not handle wildcards in XLFDs well, and that font aliases (file \fCfonts.alias\fR in the font directory on X11) are not supported.
+.PP
+See also rawName(), setRawMode(), and setFamily().
+.SH "void QFont::setStretch ( int factor )"
+Sets the stretch factor for the font.
+.PP
+The stretch factor changes the width of all characters in the font by \fIfactor\fR percent. For example, setting \fIfactor\fR to 150 results in all characters in the font being 1.5 times ( ie. 150% ) wider. The default stretch factor is 100. The minimum stretch factor is 1, and the maximum stretch factor is 4000.
+.PP
+The stretch factor is only applied to outline fonts. The stretch factor is ignored for bitmap fonts.
+.PP
+NOTE: QFont cannot stretch XLFD fonts. When loading XLFD fonts on X11, the stretch factor is matched against a predefined set of values for the SETWIDTH_NAME field of the XLFD.
+.PP
+See also stretch() and QFont::StyleStrategy.
+.SH "void QFont::setStrikeOut ( bool enable )"
+If \fIenable\fR is TRUE, sets strikeout on; otherwise sets strikeout off.
+.PP
+See also strikeOut() and QFontInfo.
+.SH "void QFont::setStyleHint ( StyleHint hint, StyleStrategy strategy = PreferDefault )"
+Sets the style hint and strategy to \fIhint\fR and \fIstrategy\fR, respectively.
+.PP
+If these aren't set explicitly the style hint will default to AnyStyle and the style strategy to PreferDefault.
+.PP
+Qt does not support style hints on X11 since this information is not provided by the window system.
+.PP
+See also StyleHint, styleHint(), StyleStrategy, styleStrategy(), and QFontInfo.
+.PP
+Examples:
+.)l desktop/desktop.cpp and fonts/simple-qfont-demo/viewer.cpp.
+.SH "void QFont::setStyleStrategy ( StyleStrategy s )"
+Sets the style strategy for the font to \fIs\fR.
+.PP
+See also QFont::StyleStrategy.
+.SH "void QFont::setUnderline ( bool enable )"
+If \fIenable\fR is TRUE, sets underline on; otherwise sets underline off.
+.PP
+See also underline() and QFontInfo.
+.PP
+Examples:
+.)l fonts/simple-qfont-demo/viewer.cpp and menu/menu.cpp.
+.SH "void QFont::setWeight ( int weight )"
+Sets the weight the font to \fIweight\fR, which should be a value from the QFont::Weight enumeration.
+.PP
+See also weight() and QFontInfo.
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "int QFont::stretch () const"
+Returns the stretch factor for the font.
+.PP
+See also setStretch().
+.SH "bool QFont::strikeOut () const"
+Returns TRUE if strikeout has been set; otherwise returns FALSE.
+.PP
+See also setStrikeOut().
+.SH "StyleHint QFont::styleHint () const"
+Returns the StyleHint.
+.PP
+The style hint affects the font matching algorithm. See QFont::StyleHint for the list of strategies.
+.PP
+See also setStyleHint(), QFont::StyleStrategy, and QFontInfo::styleHint().
+.SH "StyleStrategy QFont::styleStrategy () const"
+Returns the StyleStrategy.
+.PP
+The style strategy affects the font matching algorithm. See QFont::StyleStrategy for the list of strategies.
+.PP
+See also setStyleHint() and QFont::StyleHint.
+.SH "QString QFont::substitute ( const QString & familyName )\fC [static]\fR"
+Returns the first family name to be used whenever \fIfamilyName\fR is specified. The lookup is case insensitive.
+.PP
+If there is no substitution for \fIfamilyName\fR, \fIfamilyName\fR is returned.
+.PP
+To obtain a list of substitutions use substitutes().
+.PP
+See also setFamily(), insertSubstitutions(), insertSubstitution(), and removeSubstitution().
+.SH "QStringList QFont::substitutes ( const QString & familyName )\fC [static]\fR"
+Returns a list of family names to be used whenever \fIfamilyName\fR is specified. The lookup is case insensitive.
+.PP
+If there is no substitution for \fIfamilyName\fR, an empty list is returned.
+.PP
+See also substitute(), insertSubstitutions(), insertSubstitution(), and removeSubstitution().
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "QStringList QFont::substitutions ()\fC [static]\fR"
+Returns a sorted list of substituted family names.
+.PP
+See also insertSubstitution(), removeSubstitution(), and substitute().
+.SH "QString QFont::toString () const"
+Returns a description of the font. The description is a comma-separated list of the attributes, perfectly suited for use in QSettings.
+.PP
+See also fromString() and operator<<().
+.SH "bool QFont::underline () const"
+Returns TRUE if underline has been set; otherwise returns FALSE.
+.PP
+See also setUnderline().
+.SH "int QFont::weight () const"
+Returns the weight of the font which is one of the enumerated values from QFont::Weight.
+.PP
+See also setWeight(), Weight, and QFontInfo.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QFont & font )"
+Writes the font \fIfont\fR to the data stream \fIs\fR. (toString() writes to a text stream.)
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QFont & font )"
+Reads the font \fIfont\fR from the data stream \fIs\fR. (fromString() reads from a text stream.)
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfont.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfont.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfontdatabase.3qt b/doc/man/man3/qfontdatabase.3qt
new file mode 100644
index 0000000..e1ae740
--- /dev/null
+++ b/doc/man/man3/qfontdatabase.3qt
@@ -0,0 +1,303 @@
+'\" t
+.TH QFontDatabase 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFontDatabase \- Information about the fonts available in the underlying window system
+.SH SYNOPSIS
+\fC#include <qfontdatabase.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFontDatabase\fR ()"
+.br
+.ti -1c
+.BI "QStringList \fBfamilies\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBfamilies\fR ( QFont::Script script ) const"
+.br
+.ti -1c
+.BI "QStringList \fBstyles\fR ( const QString & family ) const"
+.br
+.ti -1c
+.BI "QValueList<int> \fBpointSizes\fR ( const QString & family, const QString & style = QString::null )"
+.br
+.ti -1c
+.BI "QValueList<int> \fBsmoothSizes\fR ( const QString & family, const QString & style )"
+.br
+.ti -1c
+.BI "QString \fBstyleString\fR ( const QFont & f )"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR ( const QString & family, const QString & style, int pointSize )"
+.br
+.ti -1c
+.BI "bool \fBisBitmapScalable\fR ( const QString & family, const QString & style = QString::null ) const"
+.br
+.ti -1c
+.BI "bool \fBisSmoothlyScalable\fR ( const QString & family, const QString & style = QString::null ) const"
+.br
+.ti -1c
+.BI "bool \fBisScalable\fR ( const QString & family, const QString & style = QString::null ) const"
+.br
+.ti -1c
+.BI "bool \fBisFixedPitch\fR ( const QString & family, const QString & style = QString::null ) const"
+.br
+.ti -1c
+.BI "bool \fBitalic\fR ( const QString & family, const QString & style ) const"
+.br
+.ti -1c
+.BI "bool \fBbold\fR ( const QString & family, const QString & style ) const"
+.br
+.ti -1c
+.BI "int \fBweight\fR ( const QString & family, const QString & style ) const"
+.br
+.ti -1c
+.BI "QStringList families ( bool ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QStringList styles ( const QString & family, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QValueList<int> pointSizes ( const QString & family, const QString & style, const QString & ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QValueList<int> smoothSizes ( const QString & family, const QString & style, const QString & ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QFont font ( const QString & familyName, const QString & style, int pointSize, const QString & ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isBitmapScalable ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isSmoothlyScalable ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isScalable ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isFixedPitch ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool italic ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool bold ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int weight ( const QString & family, const QString & style, const QString & ) const \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QValueList<int> \fBstandardSizes\fR ()"
+.br
+.ti -1c
+.BI "QString \fBscriptName\fR ( QFont::Script script )"
+.br
+.ti -1c
+.BI "QString \fBscriptSample\fR ( QFont::Script script )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFontDatabase class provides information about the fonts available in the underlying window system.
+.PP
+The most common uses of this class are to query the database for the list of font families() and for the pointSizes() and styles() that are available for each family. An alternative to pointSizes() is smoothSizes() which returns the sizes at which a given family and style will look attractive.
+.PP
+If the font family is available from two or more foundries the foundry name is included in the family name, e.g. "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family you can either use the old hyphenated Qt 2.x "foundry-family" format, e.g. "Cronyx-Helvetica", or the new bracketed Qt 3.x "family [foundry]" format e.g. "Helvetica [Cronyx]". If the family has a foundry it is always returned, e.g. by families(), using the bracketed format.
+.PP
+The font() function returns a QFont given a family, style and point size.
+.PP
+A family and style combination can be checked to see if it is italic() or bold(), and to retrieve its weight(). Similarly we can call isBitmapScalable(), isSmoothlyScalable(), isScalable() and isFixedPitch().
+.PP
+A text version of a style is given by styleString().
+.PP
+The QFontDatabase class also supports some static functions, for example, standardSizes(). You can retrieve the Unicode 3.0 description of a script using scriptName(), and a sample of characters in a script with scriptSample().
+.PP
+Example:
+.PP
+.nf
+.br
+#include <qapplication.h>
+.br
+#include <qfontdatabase.h>
+.br
+#include <else.h>
+.br
+.br
+int main( int argc, char **argv )
+.br
+{
+.br
+ QApplication app( argc, argv );
+.br
+ QFontDatabase fdb;
+.br
+ QStringList families = fdb.families();
+.br
+ for ( QStringList::Iterator f = families.begin(); f != families.end(); ++f ) {
+.br
+ QString family = *f;
+.br
+ qDebug( family );
+.br
+ QStringList styles = fdb.styles( family );
+.br
+ for ( QStringList::Iterator s = styles.begin(); s != styles.end(); ++s ) {
+.br
+ QString style = *s;
+.br
+ QString dstyle = "\\t" + style + " (";
+.br
+ QValueList<int> smoothies = fdb.smoothSizes( family, style );
+.br
+ for ( QValueList<int>::Iterator points = smoothies.begin();
+.br
+ points != smoothies.end(); ++points ) {
+.br
+ dstyle += QString::number( *points ) + " ";
+.br
+ }
+.br
+ dstyle = dstyle.left( dstyle.length() - 1 ) + ")";
+.br
+ qDebug( dstyle );
+.br
+ }
+.br
+ }
+.br
+ return 0;
+.br
+}
+.fi
+This example gets the list of font families, then the list of styles for each family and the point sizes that are available for each family/style combination.
+.PP
+See also Environment Classes and Graphics Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFontDatabase::QFontDatabase ()"
+Creates a font database object.
+.SH "bool QFontDatabase::bold ( const QString & family, const QString & style ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is bold; otherwise returns FALSE.
+.PP
+See also italic() and weight().
+.SH "bool QFontDatabase::bold ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QStringList QFontDatabase::families () const"
+Returns a sorted list of the names of the available font families.
+.PP
+If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples:
+.)l "Times
+[Adobe]", "Times [Cronyx]", "Palatino".
+.SH "QStringList QFontDatabase::families ( QFont::Script script ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a sorted list of the available font families which support the Unicode script \fIscript\fR.
+.PP
+If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples:
+.)l "Times
+[Adobe]", "Times [Cronyx]", "Palatino".
+.SH "QStringList QFontDatabase::families ( bool ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QFont QFontDatabase::font ( const QString & family, const QString & style, int pointSize )"
+Returns a QFont object that has family \fIfamily\fR, style \fIstyle\fR and point size \fIpointSize\fR. If no matching font could be created, a QFont object that uses the application's default font is returned.
+.SH "QFont QFontDatabase::font ( const QString & familyName, const QString & style, int pointSize, const QString & )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QFontDatabase::isBitmapScalable ( const QString & family, const QString & style = QString::null ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is a scalable bitmap font; otherwise returns FALSE. Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by smoothSizes().
+.PP
+See also isScalable() and isSmoothlyScalable().
+.SH "bool QFontDatabase::isBitmapScalable ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QFontDatabase::isFixedPitch ( const QString & family, const QString & style = QString::null ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is fixed pitch; otherwise returns FALSE.
+.SH "bool QFontDatabase::isFixedPitch ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QFontDatabase::isScalable ( const QString & family, const QString & style = QString::null ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is scalable; otherwise returns FALSE.
+.PP
+See also isBitmapScalable() and isSmoothlyScalable().
+.SH "bool QFontDatabase::isScalable ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QFontDatabase::isSmoothlyScalable ( const QString & family, const QString & style = QString::null ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is smoothly scalable; otherwise returns FALSE. If this function returns TRUE, it's safe to scale this font to any size, and the result will always look attractive.
+.PP
+See also isScalable() and isBitmapScalable().
+.SH "bool QFontDatabase::isSmoothlyScalable ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QFontDatabase::italic ( const QString & family, const QString & style ) const"
+Returns TRUE if the font that has family \fIfamily\fR and style \fIstyle\fR is italic; otherwise returns FALSE.
+.PP
+See also weight() and bold().
+.SH "bool QFontDatabase::italic ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QValueList<int> QFontDatabase::pointSizes ( const QString & family, const QString & style = QString::null )"
+Returns a list of the point sizes available for the font that has family \fIfamily\fR and style \fIstyle\fR. The list may be empty.
+.PP
+See also smoothSizes() and standardSizes().
+.SH "QValueList<int> QFontDatabase::pointSizes ( const QString & family, const QString & style, const QString & )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QString QFontDatabase::scriptName ( QFont::Script script )\fC [static]\fR"
+Returns a string that gives a default description of the \fIscript\fR (e.g. for displaying to the user in a dialog). The name matches the name of the script as defined by the Unicode 3.0 standard.
+.PP
+See also QFont::Script.
+.SH "QString QFontDatabase::scriptSample ( QFont::Script script )\fC [static]\fR"
+Returns a string with sample characters from \fIscript\fR.
+.PP
+See also QFont::Script.
+.SH "QValueList<int> QFontDatabase::smoothSizes ( const QString & family, const QString & style )"
+Returns the point sizes of a font that has family \fIfamily\fR and style \fIstyle\fR that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes().
+.PP
+See also pointSizes() and standardSizes().
+.SH "QValueList<int> QFontDatabase::smoothSizes ( const QString & family, const QString & style, const QString & )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QValueList<int> QFontDatabase::standardSizes ()\fC [static]\fR"
+Returns a list of standard font sizes.
+.PP
+See also smoothSizes() and pointSizes().
+.SH "QString QFontDatabase::styleString ( const QFont & f )"
+Returns a string that describes the style of the font \fIf\fR. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.
+.SH "QStringList QFontDatabase::styles ( const QString & family ) const"
+Returns a list of the styles available for the font family \fIfamily\fR. Some example styles: "Light", "Light Italic", "Bold"," Oblique", "Demi". The list may be empty.
+.SH "QStringList QFontDatabase::styles ( const QString & family, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "int QFontDatabase::weight ( const QString & family, const QString & style ) const"
+Returns the weight of the font that has family \fIfamily\fR and style \fIstyle\fR. If there is no such family and style combination, returns -1.
+.PP
+See also italic() and bold().
+.SH "int QFontDatabase::weight ( const QString & family, const QString & style, const QString & ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfontdatabase.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfontdatabase.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfontdialog.3qt b/doc/man/man3/qfontdialog.3qt
new file mode 100644
index 0000000..d2dfd1d
--- /dev/null
+++ b/doc/man/man3/qfontdialog.3qt
@@ -0,0 +1,163 @@
+'\" t
+.TH QFontDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFontDialog \- Dialog widget for selecting a font
+.SH SYNOPSIS
+\fC#include <qfontdialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Static Public Members"
+<li class=fn>QFont \fBgetFont\fR ( bool * ok, const QFont & initial, QWidget * parent = 0, const char * name = 0 ) <li class=fn>QFont \fBgetFont\fR ( bool * ok, QWidget * parent = 0, const char * name = 0 )
+.SH DESCRIPTION
+The QFontDialog class provides a dialog widget for selecting a font.
+.PP
+The usual way to use this class is to call one of the static convenience functions, e.g. getFont().
+.PP
+Examples:
+.)l
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QFont font = QFontDialog::getFont(
+.br
+ &ok, QFont( "Helvetica [Cronyx]", 10 ), this );
+.br
+ if ( ok ) {
+.br
+ // font is set to the font the user selected
+.br
+ } else {
+.br
+ // the user canceled the dialog; font is set to the initial
+.br
+ // value, in this case Helvetica [Cronyx], 10
+.br
+ }
+.br
+.fi
+.PP
+The dialog can also be used to set a widget's font directly:
+.PP
+.nf
+.br
+ myWidget.setFont( QFontDialog::getFont( 0, myWidget.font() ) );
+.br
+.fi
+If the user clicks OK the font they chose will be used for myWidget, and if they click Cancel the original font is used.
+.PP
+See also QFont, QFontInfo, QFontMetrics, and Dialog Classes.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFont QFontDialog::getFont ( bool * ok, const QFont & initial, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Executes a modal font dialog and returns a font.
+.PP
+If the user clicks OK, the selected font is returned. If the user clicks Cancel, the \fIinitial\fR font is returned.
+.PP
+The dialog is called \fIname\fR, with the parent \fIparent\fR. \fIinitial\fR is the initially selected font. If the \fIok\fR parameter is not-null, \fI*\fR\fIok\fR is set to TRUE if the user clicked OK, and set to FALSE if the user clicked Cancel.
+.PP
+This static function is less flexible than the full QFontDialog object, but is convenient and easy to use.
+.PP
+Examples:
+.)l
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QFont font = QFontDialog::getFont( &ok, QFont( "Times", 12 ), this );
+.br
+ if ( ok ) {
+.br
+ // font is set to the font the user selected
+.br
+ } else {
+.br
+ // the user canceled the dialog; font is set to the initial
+.br
+ // value, in this case Times, 12.
+.br
+ }
+.br
+.fi
+.PP
+The dialog can also be used to set a widget's font directly:
+.PP
+.nf
+.br
+ myWidget.setFont( QFontDialog::getFont( 0, myWidget.font() ) );
+.br
+.fi
+In this example, if the user clicks OK the font they chose will be used, and if they click Cancel the original font is used.
+.PP
+Examples:
+.)l chart/chartform.cpp, chart/optionsform.cpp, qfd/fontdisplayer.cpp, qwerty/qwerty.cpp, and xform/xform.cpp.
+.SH "QFont QFontDialog::getFont ( bool * ok, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Executes a modal font dialog and returns a font.
+.PP
+If the user clicks OK, the selected font is returned. If the user clicks Cancel, the Qt default font is returned.
+.PP
+The dialog is called \fIname\fR, with parent \fIparent\fR. If the \fIok\fR parameter is not-null, \fI*\fR\fIok\fR is set to TRUE if the user clicked OK, and FALSE if the user clicked Cancel.
+.PP
+This static function is less functional than the full QFontDialog object, but is convenient and easy to use.
+.PP
+Example:
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QFont font = QFontDialog::getFont( &ok, this );
+.br
+ if ( ok ) {
+.br
+ // font is set to the font the user selected
+.br
+ } else {
+.br
+ // the user canceled the dialog; font is set to the default
+.br
+ // application font, QApplication::font()
+.br
+ }
+.br
+.fi
+.PP
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfontdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfontdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfontinfo.3qt b/doc/man/man3/qfontinfo.3qt
new file mode 100644
index 0000000..a782eb1
--- /dev/null
+++ b/doc/man/man3/qfontinfo.3qt
@@ -0,0 +1,175 @@
+'\" t
+.TH QFontInfo 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFontInfo \- General information about fonts
+.SH SYNOPSIS
+\fC#include <qfontinfo.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFontInfo\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "\fBQFontInfo\fR ( const QFont & font, QFont::Script script )"
+.br
+.ti -1c
+.BI "\fBQFontInfo\fR ( const QFontInfo & fi )"
+.br
+.ti -1c
+.BI "\fB~QFontInfo\fR ()"
+.br
+.ti -1c
+.BI "QFontInfo & \fBoperator=\fR ( const QFontInfo & fi )"
+.br
+.ti -1c
+.BI "QString \fBfamily\fR () const"
+.br
+.ti -1c
+.BI "int \fBpixelSize\fR () const"
+.br
+.ti -1c
+.BI "int \fBpointSize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBitalic\fR () const"
+.br
+.ti -1c
+.BI "int \fBweight\fR () const"
+.br
+.ti -1c
+.BI "bool \fBbold\fR () const"
+.br
+.ti -1c
+.BI "bool \fBfixedPitch\fR () const"
+.br
+.ti -1c
+.BI "QFont::StyleHint \fBstyleHint\fR () const"
+.br
+.ti -1c
+.BI "bool \fBrawMode\fR () const"
+.br
+.ti -1c
+.BI "bool \fBexactMatch\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFontInfo class provides general information about fonts.
+.PP
+The QFontInfo class provides the same access functions as QFont, e.g. family(), pointSize(), italic(), weight(), fixedPitch(), styleHint() etc. But whilst the QFont access functions return the values that were set, a QFontInfo object returns the values that apply to the font that will actually be used to draw the text.
+.PP
+For example, when the program asks for a 25pt Courier font on a machine that has a non-scalable 24pt Courier font, QFont will (normally) use the 24pt Courier for rendering. In this case, QFont::pointSize() returns 25 and QFontInfo::pointSize() returns 24.
+.PP
+There are three ways to create a QFontInfo object. <ol type=1>
+.IP 1
+Calling the QFontInfo constructor with a QFont creates a font info object for a screen-compatible font, i.e. the font cannot be a printer font<sup>*</sup>. If the font is changed later, the font info object is \fInot\fR updated.
+.IP 2
+QWidget::fontInfo() returns the font info for a widget's font. This is equivalent to calling QFontInfo(widget->font()). If the widget's font is changed later, the font info object is \fInot\fR updated.
+.IP 3
+QPainter::fontInfo() returns the font info for a painter's current font. If the painter's font is changed later, the font info object is \fInot\fR updated.
+.PP
+<sup>*</sup> If you use a printer font the values returned may be inaccurate. Printer fonts are not always accessible so the nearest screen font is used if a printer font is supplied.
+.PP
+See also QFont, QFontMetrics, QFontDatabase, Graphics Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFontInfo::QFontInfo ( const QFont & font )"
+Constructs a font info object for \fIfont\fR.
+.PP
+The font must be screen-compatible, i.e. a font you use when drawing text in widgets or pixmaps, not QPicture or QPrinter.
+.PP
+The font info object holds the information for the font that is passed in the constructor at the time it is created, and is not updated if the font's attributes are changed later.
+.PP
+Use QPainter::fontInfo() to get the font info when painting. This will give correct results also when painting on paint device that is not screen-compatible.
+.SH "QFontInfo::QFontInfo ( const QFont & font, QFont::Script script )"
+Constructs a font info object for \fIfont\fR using the specified \fIscript\fR.
+.SH "QFontInfo::QFontInfo ( const QFontInfo & fi )"
+Constructs a copy of \fIfi\fR.
+.SH "QFontInfo::~QFontInfo ()"
+Destroys the font info object.
+.SH "bool QFontInfo::bold () const"
+Returns TRUE if weight() would return a value greater than QFont::Normal; otherwise returns FALSE.
+.PP
+See also weight() and QFont::bold().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "bool QFontInfo::exactMatch () const"
+Returns TRUE if the matched window system font is exactly the same as the one specified by the font; otherwise returns FALSE.
+.PP
+See also QFont::exactMatch().
+.SH "QString QFontInfo::family () const"
+Returns the family name of the matched window system font.
+.PP
+See also QFont::family().
+.PP
+Examples:
+.)l fonts/simple-qfont-demo/viewer.cpp and qfd/fontdisplayer.cpp.
+.SH "bool QFontInfo::fixedPitch () const"
+Returns the fixed pitch value of the matched window system font.
+.PP
+See also QFont::fixedPitch().
+.SH "bool QFontInfo::italic () const"
+Returns the italic value of the matched window system font.
+.PP
+See also QFont::italic().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "QFontInfo & QFontInfo::operator= ( const QFontInfo & fi )"
+Assigns the font info in \fIfi\fR.
+.SH "int QFontInfo::pixelSize () const"
+Returns the pixel size of the matched window system font.
+.PP
+See also QFont::pointSize().
+.SH "int QFontInfo::pointSize () const"
+Returns the point size of the matched window system font.
+.PP
+See also QFont::pointSize().
+.PP
+Examples:
+.)l fonts/simple-qfont-demo/viewer.cpp and qfd/fontdisplayer.cpp.
+.SH "bool QFontInfo::rawMode () const"
+Returns TRUE if the font is a raw mode font; otherwise returns FALSE.
+.PP
+If it is a raw mode font, all other functions in QFontInfo will return the same values set in the QFont, regardless of the font actually used.
+.PP
+See also QFont::rawMode().
+.SH "QFont::StyleHint QFontInfo::styleHint () const"
+Returns the style of the matched window system font.
+.PP
+Currently only returns the style hint set in QFont.
+.PP
+See also QFont::styleHint() and QFont::StyleHint.
+.SH "int QFontInfo::weight () const"
+Returns the weight of the matched window system font.
+.PP
+See also QFont::weight() and bold().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfontinfo.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfontinfo.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfontmanager.3qt b/doc/man/man3/qfontmanager.3qt
new file mode 100644
index 0000000..13b5d9a
--- /dev/null
+++ b/doc/man/man3/qfontmanager.3qt
@@ -0,0 +1,76 @@
+'\" t
+.TH QFontManager 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFontManager \- Implements font management in Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qfontmanager_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFontManager\fR ()"
+.br
+.ti -1c
+.BI "\fB~QFontManager\fR ()"
+.br
+.ti -1c
+.BI "QDiskFont * \fBget\fR ( const QFontDef & f )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBinitialize\fR ()"
+.br
+.ti -1c
+.BI "void \fBcleanup\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFontManager class implements font management in Qt/Embedded.
+.PP
+There is one and only one QFontManager per Qt/Embedded application. The \fCqt_fontmanager\fR global variable points to it. It keeps a list of font factories, a cache of rendered fonts and a list of fonts available on disk. QFontManager is called when a new font needs to be rendered from a Freetype-compatible or BDF font on disk; this only happens if there isn't an appropriate QPF font already available.
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFontManager::QFontManager ()"
+Creates a font manager. This method reads in the font definition file from \fCINSTALL/lib/fonts/fontdir\fR, where \fCINSTALL\fR is the directory where Qt/Embedded was installed, and creates a list of QDiskFonts to hold the information in the file. It also constructs any defined font factories.
+.SH "QFontManager::~QFontManager ()"
+Destroys the QFontManager and sets \fCqt_fontmanager\fR to 0.
+.SH "void QFontManager::cleanup ()\fC [static]\fR"
+Destroys the font manager
+.SH "QDiskFont * QFontManager::get ( const QFontDef & f )"
+Returns the QDiskFont that best matches \fIf\fR, based on family, weight, italicity and font size.
+.SH "void QFontManager::initialize ()\fC [static]\fR"
+Creates a new QFontManager and points \fCqt_fontmanager\fR to it
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfontmanager.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfontmanager.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qfontmetrics.3qt b/doc/man/man3/qfontmetrics.3qt
new file mode 100644
index 0000000..9c011c6
--- /dev/null
+++ b/doc/man/man3/qfontmetrics.3qt
@@ -0,0 +1,416 @@
+'\" t
+.TH QFontMetrics 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFontMetrics \- Font metrics information
+.SH SYNOPSIS
+\fC#include <qfontmetrics.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFontMetrics\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "\fBQFontMetrics\fR ( const QFont & font, QFont::Script script )"
+.br
+.ti -1c
+.BI "\fBQFontMetrics\fR ( const QFontMetrics & fm )"
+.br
+.ti -1c
+.BI "\fB~QFontMetrics\fR ()"
+.br
+.ti -1c
+.BI "QFontMetrics & \fBoperator=\fR ( const QFontMetrics & fm )"
+.br
+.ti -1c
+.BI "int \fBascent\fR () const"
+.br
+.ti -1c
+.BI "int \fBdescent\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "int \fBleading\fR () const"
+.br
+.ti -1c
+.BI "int \fBlineSpacing\fR () const"
+.br
+.ti -1c
+.BI "int \fBminLeftBearing\fR () const"
+.br
+.ti -1c
+.BI "int \fBminRightBearing\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxWidth\fR () const"
+.br
+.ti -1c
+.BI "bool \fBinFont\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "int \fBleftBearing\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "int \fBrightBearing\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR ( const QString & str, int len = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "int width ( char c ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBcharWidth\fR ( const QString & str, int pos ) const"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR ( const QString & str, int len = -1 ) const"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR ( int x, int y, int w, int h, int flgs, const QString & str, int len = -1, int tabstops = 0, int * tabarray = 0, QTextParag ** intern = 0 ) const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR ( int flgs, const QString & str, int len = -1, int tabstops = 0, int * tabarray = 0, QTextParag ** intern = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBunderlinePos\fR () const"
+.br
+.ti -1c
+.BI "int \fBoverlinePos\fR () const"
+.br
+.ti -1c
+.BI "int \fBstrikeOutPos\fR () const"
+.br
+.ti -1c
+.BI "int \fBlineWidth\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFontMetrics class provides font metrics information.
+.PP
+QFontMetrics functions calculate the size of characters and strings for a given font. There are three ways you can create a QFontMetrics object:
+.PP
+<ol type=1>
+.IP 1
+Calling the QFontMetrics constructor with a QFont creates a font metrics object for a screen-compatible font, i.e. the font cannot be a printer font<sup>*</sup>. If the font is changed later, the font metrics object is \fInot\fR updated.
+.IP 2
+QWidget::fontMetrics() returns the font metrics for a widget's font. This is equivalent to QFontMetrics(widget->font()). If the widget's font is changed later, the font metrics object is \fInot\fR updated.
+.IP 3
+QPainter::fontMetrics() returns the font metrics for a painter's current font. If the painter's font is changed later, the font metrics object is \fInot\fR updated.
+.PP
+<sup>*</sup> If you use a printer font the values returned may be inaccurate. Printer fonts are not always accessible so the nearest screen font is used if a printer font is supplied.
+.PP
+Once created, the object provides functions to access the individual metrics of the font, its characters, and for strings rendered in the font.
+.PP
+There are several functions that operate on the font: ascent(), descent(), height(), leading() and lineSpacing() return the basic size properties of the font. The underlinePos(), overlinePos(), strikeOutPos() and lineWidth() functions, return the properties of the line that underlines, overlines or strikes out the characters. These functions are all fast.
+.PP
+There are also some functions that operate on the set of glyphs in the font: minLeftBearing(), minRightBearing() and maxWidth(). These are by necessity slow, and we recommend avoiding them if possible.
+.PP
+For each character, you can get its width(), leftBearing() and rightBearing() and find out whether it is in the font using inFont(). You can also treat the character as a string, and use the string functions on it.
+.PP
+The string functions include width(), to return the width of a string in pixels (or points, for a printer), boundingRect(), to return a rectangle large enough to contain the rendered string, and size(), to return the size of that rectangle.
+.PP
+Example:
+.PP
+.nf
+.br
+ QFont font( "times", 24 );
+.br
+ QFontMetrics fm( font );
+.br
+ int pixelsWide = fm.width( "What's the width of this text?" );
+.br
+ int pixelsHigh = fm.height();
+.br
+.fi
+.PP
+See also QFont, QFontInfo, QFontDatabase, Graphics Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFontMetrics::QFontMetrics ( const QFont & font )"
+Constructs a font metrics object for \fIfont\fR.
+.PP
+The font must be screen-compatible, i.e. a font you use when drawing text in widgets or pixmaps, not QPicture or QPrinter.
+.PP
+The font metrics object holds the information for the font that is passed in the constructor at the time it is created, and is not updated if the font's attributes are changed later.
+.PP
+Use QPainter::fontMetrics() to get the font metrics when painting. This will give correct results also when painting on paint device that is not screen-compatible.
+.SH "QFontMetrics::QFontMetrics ( const QFont & font, QFont::Script script )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a font metrics object for \fIfont\fR using the given \fIscript\fR.
+.SH "QFontMetrics::QFontMetrics ( const QFontMetrics & fm )"
+Constructs a copy of \fIfm\fR.
+.SH "QFontMetrics::~QFontMetrics ()"
+Destroys the font metrics object and frees all allocated resources.
+.SH "int QFontMetrics::ascent () const"
+Returns the ascent of the font.
+.PP
+The ascent of a font is the distance from the baseline to the highest position characters extend to. In practice, some font designers break this rule, e.g. when they put more than one accent on top of a character, or to accommodate an unusual character in an exotic language, so it is possible (though rare) that this value will be too small.
+.PP
+See also descent().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and scrollview/scrollview.cpp.
+.SH "QRect QFontMetrics::boundingRect ( QChar ch ) const"
+Returns the rectangle that is covered by ink if the character specified by \fIch\fR were to be drawn at the origin of the coordinate system.
+.PP
+Note that the bounding rectangle may extend to the left of (0, 0), e.g. for italicized fonts, and that the text output may cover \fIall\fR pixels in the bounding rectangle. For a space character the rectangle will usually be empty.
+.PP
+Note that the rectangle usually extends both above and below the base line.
+.PP
+\fBWarning:\fR The width of the returned rectangle is not the advance width of the character. Use boundingRect(const QString &) or width() instead.
+.PP
+See also width().
+.PP
+Example: xform/xform.cpp.
+.SH "QRect QFontMetrics::boundingRect ( const QString & str, int len = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the bounding rectangle that contains the first \fIlen\fR characters of string \fIstr\fR.
+.SH "QRect QFontMetrics::boundingRect ( int x, int y, int w, int h, int flgs, const QString & str, int len = -1, int tabstops = 0, int * tabarray = 0, QTextParag ** intern = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the bounding rectangle of the first \fIlen\fR characters of \fIstr\fR, which is the set of pixels the text would cover if drawn at (0, 0). The drawing, and hence the bounding rectangle, is constrained to the rectangle (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR).
+.PP
+If \fIlen\fR is negative (which is the default), the entire string is used.
+.PP
+The \fIflgs\fR argument is the bitwise OR of the following flags:
+.TP
+\fCAlignAuto\fR aligns to the left border for all languages except Arabic and Hebrew where it aligns to the right.
+.TP
+\fCAlignLeft\fR aligns to the left border.
+.TP
+\fCAlignRight\fR aligns to the right border.
+.TP
+\fCAlignJustify\fR produces justified text.
+.TP
+\fCAlignHCenter\fR aligns horizontally centered.
+.TP
+\fCAlignTop\fR aligns to the top border.
+.TP
+\fCAlignBottom\fR aligns to the bottom border.
+.TP
+\fCAlignVCenter\fR aligns vertically centered
+.TP
+\fCAlignCenter\fR (== \fCAlignHCenter | AlignVCenter\fR)
+.TP
+\fCSingleLine\fR ignores newline characters in the text.
+.TP
+\fCExpandTabs\fR expands tabs (see below)
+.TP
+\fCShowPrefix\fR interprets "&x" as "<u>x</u>", i.e. underlined.
+.TP
+\fCWordBreak\fR breaks the text to fit the rectangle.
+.PP
+Horizontal alignment defaults to \fCAlignAuto\fR and vertical alignment defaults to \fCAlignTop\fR.
+.PP
+If several of the horizontal or several of the vertical alignment flags are set, the resulting alignment is undefined.
+.PP
+These flags are defined in qnamespace.h.
+.PP
+If \fCExpandTabs\fR is set in \fIflgs\fR, then: if \fItabarray\fR is non-null, it specifies a 0-terminated sequence of pixel-positions for tabs; otherwise if \fItabstops\fR is non-zero, it is used as the tab spacing (in pixels).
+.PP
+Note that the bounding rectangle may extend to the left of (0, 0), e.g. for italicized fonts, and that the text output may cover \fIall\fR pixels in the bounding rectangle.
+.PP
+Newline characters are processed as linebreaks.
+.PP
+Despite the different actual character heights, the heights of the bounding rectangles of "Yes" and "yes" are the same.
+.PP
+The bounding rectangle given by this function is somewhat larger than that calculated by the simpler boundingRect() function. This function uses the maximum left and right font bearings as is necessary for multi-line text to align correctly. Also, fontHeight() and lineSpacing() are used to calculate the height, rather than individual character heights.
+.PP
+The \fIintern\fR argument should not be used.
+.PP
+See also width(), QPainter::boundingRect(), and Qt::AlignmentFlags.
+.SH "int QFontMetrics::charWidth ( const QString & str, int pos ) const"
+Returns the width of the character at position \fIpos\fR in the string \fIstr\fR.
+.PP
+The whole string is needed, as the glyph drawn may change depending on the context (the letter before and after the current one) for some languages (e.g. Arabic).
+.PP
+This function also takes non spacing marks and ligatures into account.
+.SH "int QFontMetrics::descent () const"
+Returns the descent of the font.
+.PP
+The descent is the distance from the base line to the lowest point characters extend to. (Note that this is different from X, which adds 1 pixel.) In practice, some font designers break this rule, e.g. to accommodate an unusual character in an exotic language, so it is possible (though rare) that this value will be too small.
+.PP
+See also ascent().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and hello/hello.cpp.
+.SH "int QFontMetrics::height () const"
+Returns the height of the font.
+.PP
+This is always equal to ascent()+descent()+1 (the 1 is for the base line).
+.PP
+See also leading() and lineSpacing().
+.PP
+Examples:
+.)l grapher/grapher.cpp, hello/hello.cpp, and qfd/fontdisplayer.cpp.
+.SH "bool QFontMetrics::inFont ( QChar ch ) const"
+Returns TRUE if character \fIch\fR is a valid character in the font; otherwise returns FALSE.
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "int QFontMetrics::leading () const"
+Returns the leading of the font.
+.PP
+This is the natural inter-line spacing.
+.PP
+See also height() and lineSpacing().
+.SH "int QFontMetrics::leftBearing ( QChar ch ) const"
+Returns the left bearing of character \fIch\fR in the font.
+.PP
+The left bearing is the right-ward distance of the left-most pixel of the character from the logical origin of the character. This value is negative if the pixels of the character extend to the left of the logical origin.
+.PP
+See width(QChar) for a graphical description of this metric.
+.PP
+See also rightBearing(), minLeftBearing(), and width().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "int QFontMetrics::lineSpacing () const"
+Returns the distance from one base line to the next.
+.PP
+This value is always equal to leading()+height().
+.PP
+See also height() and leading().
+.PP
+Examples:
+.)l qfd/fontdisplayer.cpp, qwerty/qwerty.cpp, and scrollview/scrollview.cpp.
+.SH "int QFontMetrics::lineWidth () const"
+Returns the width of the underline and strikeout lines, adjusted for the point size of the font.
+.PP
+See also underlinePos(), overlinePos(), and strikeOutPos().
+.SH "int QFontMetrics::maxWidth () const"
+Returns the width of the widest character in the font.
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "int QFontMetrics::minLeftBearing () const"
+Returns the minimum left bearing of the font.
+.PP
+This is the smallest leftBearing(char) of all characters in the font.
+.PP
+Note that this function can be very slow if the font is large.
+.PP
+See also minRightBearing() and leftBearing().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "int QFontMetrics::minRightBearing () const"
+Returns the minimum right bearing of the font.
+.PP
+This is the smallest rightBearing(char) of all characters in the font.
+.PP
+Note that this function can be very slow if the font is large.
+.PP
+See also minLeftBearing() and rightBearing().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "QFontMetrics & QFontMetrics::operator= ( const QFontMetrics & fm )"
+Assigns the font metrics \fIfm\fR.
+.SH "int QFontMetrics::overlinePos () const"
+Returns the distance from the base line to where an overline should be drawn.
+.PP
+See also underlinePos(), strikeOutPos(), and lineWidth().
+.SH "int QFontMetrics::rightBearing ( QChar ch ) const"
+Returns the right bearing of character \fIch\fR in the font.
+.PP
+The right bearing is the left-ward distance of the right-most pixel of the character from the logical origin of a subsequent character. This value is negative if the pixels of the character extend to the right of the width() of the character.
+.PP
+See width() for a graphical description of this metric.
+.PP
+See also leftBearing(), minRightBearing(), and width().
+.PP
+Example: qfd/fontdisplayer.cpp.
+.SH "QSize QFontMetrics::size ( int flgs, const QString & str, int len = -1, int tabstops = 0, int * tabarray = 0, QTextParag ** intern = 0 ) const"
+Returns the size in pixels of the first \fIlen\fR characters of \fIstr\fR.
+.PP
+If \fIlen\fR is negative (the default), the entire string is used.
+.PP
+The \fIflgs\fR argument is the bitwise OR of the following flags:
+.TP
+\fCSingleLine\fR ignores newline characters.
+.TP
+\fCExpandTabs\fR expands tabs (see below)
+.TP
+\fCShowPrefix\fR interprets "&x" as "<u>x</u>", i.e. underlined.
+.TP
+\fCWordBreak\fR breaks the text to fit the rectangle.
+.PP
+These flags are defined in qnamespace.h.
+.PP
+If \fCExpandTabs\fR is set in \fIflgs\fR, then: if \fItabarray\fR is non-null, it specifies a 0-terminated sequence of pixel-positions for tabs; otherwise if \fItabstops\fR is non-zero, it is used as the tab spacing (in pixels).
+.PP
+Newline characters are processed as linebreaks.
+.PP
+Despite the different actual character heights, the heights of the bounding rectangles of "Yes" and "yes" are the same.
+.PP
+The \fIintern\fR argument should not be used.
+.PP
+See also boundingRect().
+.SH "int QFontMetrics::strikeOutPos () const"
+Returns the distance from the base line to where the strikeout line should be drawn.
+.PP
+See also underlinePos(), overlinePos(), and lineWidth().
+.SH "int QFontMetrics::underlinePos () const"
+Returns the distance from the base line to where an underscore should be drawn.
+.PP
+See also overlinePos(), strikeOutPos(), and lineWidth().
+.SH "int QFontMetrics::width ( QChar ch ) const"
+.ce 1
+.B "[Image Omitted]"
+.PP
+Returns the logical width of character \fIch\fR in pixels. This is a distance appropriate for drawing a subsequent character after \fIch\fR.
+.PP
+Some of the metrics are described in the image to the right. The central dark rectangles cover the logical width() of each character. The outer pale rectangles cover the leftBearing() and rightBearing() of each character. Notice that the bearings of "f" in this particular font are both negative, while the bearings of" o" are both positive.
+.PP
+\fBWarning:\fR This function will produce incorrect results for Arabic characters or non spacing marks in the middle of a string, as the glyph shaping and positioning of marks that happens when processing strings cannot be taken into account. Use charWidth() instead if you aren't looking for the width of isolated characters.
+.PP
+See also boundingRect() and charWidth().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, hello/hello.cpp, movies/main.cpp, qfd/fontdisplayer.cpp, and scrollview/scrollview.cpp.
+.SH "int QFontMetrics::width ( const QString & str, int len = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the width of the first \fIlen\fR characters of string \fIstr\fR.
+.SH "int QFontMetrics::width ( char c ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Provided to aid porting from Qt 1.x.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qfontmetrics.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qfontmetrics.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qframe.3qt b/doc/man/man3/qframe.3qt
new file mode 100644
index 0000000..24343f1
--- /dev/null
+++ b/doc/man/man3/qframe.3qt
@@ -0,0 +1,405 @@
+'\" t
+.TH QFrame 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFrame \- The base class of widgets that can have a frame
+.SH SYNOPSIS
+\fC#include <qframe.h>\fR
+.PP
+Inherits QWidget.
+.PP
+Inherited by QGroupBox, QScrollView, QDockWindow, QGrid, QHBox, QLabel, QLCDNumber, QLineEdit, QMenuBar, QPopupMenu, QProgressBar, QSplitter, QToolBox, and QWidgetStack.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFrame\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "int \fBframeStyle\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFrameStyle\fR ( int style )"
+.br
+.ti -1c
+.BI "int \fBframeWidth\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBcontentsRect\fR () const"
+.br
+.ti -1c
+.BI "enum \fBShape\fR { NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003, HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006, PopupPanel = 0x0007, MenuBarPanel = 0x0008, ToolBarPanel = 0x0009, LineEditPanel = 0x000a, TabWidgetPanel = 0x000b, GroupBoxPanel = 0x000c, MShape = 0x000f }"
+.br
+.ti -1c
+.BI "enum \fBShadow\fR { Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030, MShadow = 0x00f0 }"
+.br
+.ti -1c
+.BI "Shape \fBframeShape\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFrameShape\fR ( Shape )"
+.br
+.ti -1c
+.BI "Shadow \fBframeShadow\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFrameShadow\fR ( Shadow )"
+.br
+.ti -1c
+.BI "int \fBlineWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetLineWidth\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBmargin\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMargin\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBmidLineWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMidLineWidth\fR ( int )"
+.br
+.ti -1c
+.BI "QRect \fBframeRect\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFrameRect\fR ( const QRect & )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QRect \fBcontentsRect\fR - the rectangle inside the frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QRect \fBframeRect\fR - the frame rectangle"
+.br
+.ti -1c
+.BI "Shadow \fBframeShadow\fR - the frame shadow value from the frame style"
+.br
+.ti -1c
+.BI "Shape \fBframeShape\fR - the frame shape value from the frame style"
+.br
+.ti -1c
+.BI "int \fBframeWidth\fR - the width of the frame that is drawn \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBlineWidth\fR - the line width"
+.br
+.ti -1c
+.BI "int \fBmargin\fR - the width of the margin"
+.br
+.ti -1c
+.BI "int \fBmidLineWidth\fR - the width of the mid-line"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * event )"
+.br
+.ti -1c
+.BI "virtual void \fBresizeEvent\fR ( QResizeEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawFrame\fR ( QPainter * p )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * )"
+.br
+.ti -1c
+.BI "virtual void \fBframeChanged\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFrame class is the base class of widgets that can have a frame.
+.PP
+It draws a frame and calls a virtual function, drawContents(), to fill in the frame. This function is reimplemented by subclasses. There are also two other less useful functions: drawFrame() and frameChanged().
+.PP
+QPopupMenu uses this to "raise" the menu above the surrounding screen. QProgressBar has a "sunken" look. QLabel has a flat look. The frames of widgets like these can be changed.
+.PP
+.nf
+.br
+ QLabel label(...);
+.br
+ label.setFrameStyle( QFrame::Panel | QFrame::Raised );
+.br
+ label.setLineWidth( 2 );
+.br
+.br
+ QProgressBar pbar(...);
+.br
+ label.setFrameStyle( QFrame::NoFrame );
+.br
+.fi
+.PP
+The QFrame class can also be used directly for creating simple frames without any contents, although usually you would use a QHBox or QVBox because they automatically lay out the widgets you put inside the frame.
+.PP
+A frame widget has four attributes: frameStyle(), lineWidth(), midLineWidth(), and margin().
+.PP
+The frame style is specified by a frame shape and a shadow style. The frame shapes are NoFrame, Box, Panel, StyledPanel, PopupPanel, WinPanel, ToolBarPanel, MenuBarPanel, HLine and VLine; the shadow styles are Plain, Raised and Sunken.
+.PP
+The line width is the width of the frame border.
+.PP
+The mid-line width specifies the width of an extra line in the middle of the frame, which uses a third color to obtain a special 3D effect. Notice that a mid-line is only drawn for Box, HLine and VLine frames that are raised or sunken.
+.PP
+The margin is the gap between the frame and the contents of the frame.
+.PP
+This table shows the most useful combinations of styles and widths (and some rather useless ones):
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also Abstract Widget Classes.
+.SS "Member Type Documentation"
+.SH "QFrame::Shadow"
+This enum type defines the 3D effect used for QFrame's frame.
+.TP
+\fCQFrame::Plain\fR - the frame and contents appear level with the surroundings; draws using the palette foreground color (without any 3D effect)
+.TP
+\fCQFrame::Raised\fR - the frame and contents appear raised; draws a 3D raised line using the light and dark colors of the current color group
+.TP
+\fCQFrame::Sunken\fR - the frame and contents appear sunken; draws a 3D sunken line using the light and dark colors of the current color group
+.TP
+\fCQFrame::MShadow\fR - internal; mask for the shadow
+.PP
+Shadow interacts with QFrame::Shape, the lineWidth() and the midLineWidth(). See the picture of the frames in the class description.
+.PP
+See also QFrame::Shape, lineWidth, and midLineWidth.
+.SH "QFrame::Shape"
+This enum type defines the shapes of a QFrame's frame.
+.TP
+\fCQFrame::NoFrame\fR - QFrame draws nothing
+.TP
+\fCQFrame::Box\fR - QFrame draws a box around its contents
+.TP
+\fCQFrame::Panel\fR - QFrame draws a panel to make the contents appear raised or sunken
+.TP
+\fCQFrame::StyledPanel\fR - draws a rectangular panel with a look that depends on the current GUI style. It can be raised or sunken.
+.TP
+\fCQFrame::HLine\fR - QFrame draws a horizontal line that frames nothing (useful as separator)
+.TP
+\fCQFrame::VLine\fR - QFrame draws a vertical line that frames nothing (useful as separator)
+.TP
+\fCQFrame::GroupBoxPanel\fR - draws a rectangular panel
+.TP
+\fCQFrame::WinPanel\fR - draws a rectangular panel that can be raised or sunken like those in Windows 95. Specifying this shape sets the line width to 2 pixels. WinPanel is provided for compatibility. For GUI style independence we recommend using StyledPanel instead.
+.TP
+\fCQFrame::ToolBarPanel\fR
+.TP
+\fCQFrame::MenuBarPanel\fR
+.TP
+\fCQFrame::PopupPanel\fR
+.TP
+\fCQFrame::LineEditPanel\fR - is used to draw a frame suitable for line edits. The look depends upon the current GUI style.
+.TP
+\fCQFrame::TabWidgetPanel\fR - is used to draw a frame suitable for tab widgets. The look depends upon the current GUI style.
+.TP
+\fCQFrame::MShape\fR - internal mask
+.PP
+When it does not call QStyle, Shape interacts with QFrame::Shadow, the lineWidth() and the midLineWidth() to create the total result. See the picture of the frames in the class description.
+.PP
+See also QFrame::Shadow, QFrame::style(), and QStyle::drawPrimitive().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFrame::QFrame ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a frame widget with frame style NoFrame and a 1-pixel frame width.
+.PP
+The \fIparent\fR, \fIname\fR and \fIf\fR arguments are passed to the QWidget constructor.
+.SH "QRect QFrame::contentsRect () const"
+Returns the rectangle inside the frame. See the "contentsRect" property for details.
+.SH "void QFrame::drawContents ( QPainter * )\fC [virtual protected]\fR"
+Virtual function that draws the contents of the frame.
+.PP
+The QPainter is already open when you get it, and you must leave it open. Painter transformations are switched off on entry. If you transform the painter, remember to take the frame into account and reset transformation before returning.
+.PP
+This function is reimplemented by subclasses that draw something inside the frame. It should only draw inside contentsRect(). The default function does nothing.
+.PP
+See also contentsRect and QPainter::setClipRect().
+.PP
+Reimplemented in QLabel, QLCDNumber, QMenuBar, and QPopupMenu.
+.SH "void QFrame::drawFrame ( QPainter * p )\fC [virtual protected]\fR"
+Draws the frame using the painter \fIp\fR and the current frame attributes and color group. The rectangle inside the frame is not affected.
+.PP
+This function is virtual, but in general you do not need to reimplement it. If you do, note that the QPainter is already open and must remain open.
+.PP
+See also frameRect, contentsRect, drawContents(), frameStyle(), and palette.
+.SH "void QFrame::frameChanged ()\fC [virtual protected]\fR"
+Virtual function that is called when the frame style, line width or mid-line width changes.
+.PP
+This function can be reimplemented by subclasses that need to know when the frame attributes change.
+.PP
+The default implementation calls update().
+.SH "QRect QFrame::frameRect () const"
+Returns the frame rectangle. See the "frameRect" property for details.
+.SH "Shadow QFrame::frameShadow () const"
+Returns the frame shadow value from the frame style. See the "frameShadow" property for details.
+.SH "Shape QFrame::frameShape () const"
+Returns the frame shape value from the frame style. See the "frameShape" property for details.
+.SH "int QFrame::frameStyle () const"
+Returns the frame style.
+.PP
+The default value is QFrame::NoFrame.
+.PP
+See also setFrameStyle(), frameShape, and frameShadow.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "int QFrame::frameWidth () const"
+Returns the width of the frame that is drawn. See the "frameWidth" property for details.
+.SH "int QFrame::lineWidth () const"
+Returns the line width. See the "lineWidth" property for details.
+.SH "int QFrame::margin () const"
+Returns the width of the margin. See the "margin" property for details.
+.SH "int QFrame::midLineWidth () const"
+Returns the width of the mid-line. See the "midLineWidth" property for details.
+.SH "void QFrame::paintEvent ( QPaintEvent * event )\fC [virtual protected]\fR"
+Processes the paint event \fIevent\fR.
+.PP
+Paints the frame and the contents.
+.PP
+Opens the painter on the frame and calls drawFrame(), then drawContents().
+.PP
+Examples:
+.)l life/life.cpp and qfd/fontdisplayer.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QFrame::resizeEvent ( QResizeEvent * e )\fC [virtual protected]\fR"
+Processes the resize event \fIe\fR.
+.PP
+Adjusts the frame rectangle for the resized widget. The frame rectangle is elastic, and the surrounding area is static.
+.PP
+The resulting frame rectangle may be null or invalid. You can use setMinimumSize() to avoid those possibilities.
+.PP
+Nothing is done if the frame rectangle is a null rectangle already.
+.PP
+Example: life/life.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QFrame::setFrameRect ( const QRect & )\fC [virtual]\fR"
+Sets the frame rectangle. See the "frameRect" property for details.
+.SH "void QFrame::setFrameShadow ( Shadow )"
+Sets the frame shadow value from the frame style. See the "frameShadow" property for details.
+.SH "void QFrame::setFrameShape ( Shape )"
+Sets the frame shape value from the frame style. See the "frameShape" property for details.
+.SH "void QFrame::setFrameStyle ( int style )\fC [virtual]\fR"
+Sets the frame style to \fIstyle\fR.
+.PP
+The \fIstyle\fR is the bitwise OR between a frame shape and a frame shadow style. See the illustration in the class documentation.
+.PP
+The frame shapes are given in QFrame::Shape and the shadow styles in QFrame::Shadow.
+.PP
+If a mid-line width greater than 0 is specified, an additional line is drawn for Raised or Sunken Box, HLine, and VLine frames. The mid-color of the current color group is used for drawing middle lines.
+.PP
+See also Illustration, frameStyle(), colorGroup, and QColorGroup.
+.PP
+Examples:
+.)l cursor/cursor.cpp, layout/layout.cpp, listboxcombo/listboxcombo.cpp, rangecontrols/rangecontrols.cpp, scrollview/scrollview.cpp, tabdialog/tabdialog.cpp, and tictac/tictac.cpp.
+.SH "void QFrame::setLineWidth ( int )\fC [virtual]\fR"
+Sets the line width. See the "lineWidth" property for details.
+.SH "void QFrame::setMargin ( int )\fC [virtual]\fR"
+Sets the width of the margin. See the "margin" property for details.
+.SH "void QFrame::setMidLineWidth ( int )\fC [virtual]\fR"
+Sets the width of the mid-line. See the "midLineWidth" property for details.
+.SS "Property Documentation"
+.SH "QRect contentsRect"
+This property holds the rectangle inside the frame.
+.PP
+Get this property's value with contentsRect().
+.PP
+See also frameRect and drawContents().
+.SH "QRect frameRect"
+This property holds the frame rectangle.
+.PP
+The frame rectangle is the rectangle the frame is drawn in. By default, this is the entire widget. Setting this property does \fInot\fR cause a widget update.
+.PP
+If this property is set to a null rectangle (for example \fCQRect(0, 0, 0, 0)\fR), then the frame rectangle is equivalent to the widget rectangle.
+.PP
+See also contentsRect.
+.PP
+Set this property's value with setFrameRect() and get this property's value with frameRect().
+.SH "Shadow frameShadow"
+This property holds the frame shadow value from the frame style.
+.PP
+Set this property's value with setFrameShadow() and get this property's value with frameShadow().
+.PP
+See also frameStyle() and frameShape.
+.SH "Shape frameShape"
+This property holds the frame shape value from the frame style.
+.PP
+Set this property's value with setFrameShape() and get this property's value with frameShape().
+.PP
+See also frameStyle() and frameShadow.
+.SH "int frameWidth"
+This property holds the width of the frame that is drawn.
+.PP
+Note that the frame width depends on the frame style, not only the line width and the mid-line width. For example, the style NoFrame always has a frame width of 0, whereas the style Panel has a frame width equivalent to the line width. The frame width also includes the margin.
+.PP
+See also lineWidth, midLineWidth, frameStyle(), and margin.
+.PP
+Get this property's value with frameWidth().
+.SH "int lineWidth"
+This property holds the line width.
+.PP
+Note that the \fItotal\fR line width for HLine and VLine is given by frameWidth(), not lineWidth().
+.PP
+The default value is 1.
+.PP
+See also midLineWidth and frameWidth.
+.PP
+Set this property's value with setLineWidth() and get this property's value with lineWidth().
+.SH "int margin"
+This property holds the width of the margin.
+.PP
+The margin is the distance between the innermost pixel of the frame and the outermost pixel of contentsRect(). It is included in frameWidth().
+.PP
+The margin is filled according to backgroundMode().
+.PP
+The default value is 0.
+.PP
+See also margin, lineWidth, and frameWidth.
+.PP
+Set this property's value with setMargin() and get this property's value with margin().
+.SH "int midLineWidth"
+This property holds the width of the mid-line.
+.PP
+The default value is 0.
+.PP
+See also lineWidth and frameWidth.
+.PP
+Set this property's value with setMidLineWidth() and get this property's value with midLineWidth().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qframe.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qframe.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qftp.3qt b/doc/man/man3/qftp.3qt
new file mode 100644
index 0000000..f9a49a3
--- /dev/null
+++ b/doc/man/man3/qftp.3qt
@@ -0,0 +1,649 @@
+'\" t
+.TH QFtp 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QFtp \- Implementation of the FTP protocol
+.SH SYNOPSIS
+\fC#include <qftp.h>\fR
+.PP
+Inherits QNetworkProtocol.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQFtp\fR ()"
+.br
+.ti -1c
+.BI "\fBQFtp\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QFtp\fR ()"
+.br
+.ti -1c
+.BI "enum \fBState\fR { Unconnected, HostLookup, Connecting, Connected, LoggedIn, Closing }"
+.br
+.ti -1c
+.BI "enum \fBError\fR { NoError, UnknownError, HostNotFound, ConnectionRefused, NotConnected }"
+.br
+.ti -1c
+.BI "enum \fBCommand\fR { None, ConnectToHost, Login, Close, List, Cd, Get, Put, Remove, Mkdir, Rmdir, Rename, RawCommand }"
+.br
+.ti -1c
+.BI "int \fBconnectToHost\fR ( const QString & host, Q_UINT16 port = 21 )"
+.br
+.ti -1c
+.BI "int \fBlogin\fR ( const QString & user = QString::null, const QString & password = QString::null )"
+.br
+.ti -1c
+.BI "int \fBclose\fR ()"
+.br
+.ti -1c
+.BI "int \fBlist\fR ( const QString & dir = QString::null )"
+.br
+.ti -1c
+.BI "int \fBcd\fR ( const QString & dir )"
+.br
+.ti -1c
+.BI "int \fBget\fR ( const QString & file, QIODevice * dev = 0 )"
+.br
+.ti -1c
+.BI "int \fBput\fR ( const QByteArray & data, const QString & file )"
+.br
+.ti -1c
+.BI "int \fBput\fR ( QIODevice * dev, const QString & file )"
+.br
+.ti -1c
+.BI "int \fBremove\fR ( const QString & file )"
+.br
+.ti -1c
+.BI "int \fBmkdir\fR ( const QString & dir )"
+.br
+.ti -1c
+.BI "int \fBrmdir\fR ( const QString & dir )"
+.br
+.ti -1c
+.BI "int \fBrename\fR ( const QString & oldname, const QString & newname )"
+.br
+.ti -1c
+.BI "int \fBrawCommand\fR ( const QString & command )"
+.br
+.ti -1c
+.BI "Q_ULONG \fBbytesAvailable\fR () const"
+.br
+.ti -1c
+.BI "Q_LONG \fBreadBlock\fR ( char * data, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "QByteArray \fBreadAll\fR ()"
+.br
+.ti -1c
+.BI "int \fBcurrentId\fR () const"
+.br
+.ti -1c
+.BI "QIODevice * \fBcurrentDevice\fR () const"
+.br
+.ti -1c
+.BI "Command \fBcurrentCommand\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasPendingCommands\fR () const"
+.br
+.ti -1c
+.BI "void \fBclearPendingCommands\fR ()"
+.br
+.ti -1c
+.BI "State \fBstate\fR () const"
+.br
+.ti -1c
+.BI "Error \fBerror\fR () const"
+.br
+.ti -1c
+.BI "QString \fBerrorString\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBabort\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.ti -1c
+.BI "void \fBlistInfo\fR ( const QUrlInfo & i )"
+.br
+.ti -1c
+.BI "void \fBreadyRead\fR ()"
+.br
+.ti -1c
+.BI "void \fBdataTransferProgress\fR ( int done, int total )"
+.br
+.ti -1c
+.BI "void \fBrawCommandReply\fR ( int replyCode, const QString & detail )"
+.br
+.ti -1c
+.BI "void \fBcommandStarted\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBcommandFinished\fR ( int id, bool error )"
+.br
+.ti -1c
+.BI "void \fBdone\fR ( bool error )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QFtp class provides an implementation of the FTP protocol.
+.PP
+This class provides two different interfaces: one is the QNetworkProtocol interface that allows you to use FTP through the QUrlOperator abstraction. The other is a direct interface to FTP that gives you lower-level access to the FTP protocol for finer control. Using the direct interface you can also execute arbitrary FTP commands.
+.PP
+Don't mix the two interfaces, since the behavior is not well-defined.
+.PP
+If you want to use QFtp with the QNetworkProtocol interface, you do not use it directly, but rather through a QUrlOperator, for example:
+.PP
+.nf
+.br
+ QUrlOperator op( "ftp://ftp.trolltech.com" );
+.br
+ op.listChildren(); // Asks the server to provide a directory listing
+.br
+.fi
+.PP
+This code will only work if the QFtp class is registered; to register the class, you must call qInitNetworkProtocols() before using a QUrlOperator with QFtp.
+.PP
+The rest of this descrption describes the direct interface to FTP.
+.PP
+The class works asynchronously, so there are no blocking functions. If an operation cannot be executed immediately, the function will still return straight away and the operation will be scheduled for later execution. The results of scheduled operations are reported via signals. This approach depends on the event loop being in operation.
+.PP
+The operations that can be scheduled (they are called "commands" in the rest of the documentation) are the following: connectToHost(), login(), close(), list(), cd(), get(), put(), remove(), mkdir(), rmdir(), rename() and rawCommand().
+.PP
+All of these commands return a unique identifier that allows you to keep track of the command that is currently being executed. When the execution of a command starts, the commandStarted() signal with the command's identifier is emitted. When the command is finished, the commandFinished() signal is emitted with the command's identifier and a bool that indicates whether the command finished with an error.
+.PP
+In some cases, you might want to execute a sequence of commands, e.g. if you want to connect and login to a FTP server. This is simply achieved:
+.PP
+.nf
+.br
+ QFtp *ftp = new QFtp( this ); // this is an optional QObject parent
+.br
+ ftp->connectToHost( "ftp.trolltech.com" );
+.br
+ ftp->login();
+.br
+.fi
+.PP
+In this case two FTP commands have been scheduled. When the last scheduled command has finished, a done() signal is emitted with a bool argument that tells you whether the sequence finished with an error.
+.PP
+If an error occurs during the execution of one of the commands in a sequence of commands, all the pending commands (i.e. scheduled, but not yet executed commands) are cleared and no signals are emitted for them.
+.PP
+Some commands, e.g. list(), emit additional signals to report their results.
+.PP
+Example: If you want to download the INSTALL file from Trolltech's FTP server, you would write this:
+.PP
+.nf
+.br
+ ftp->connectToHost( "ftp.trolltech.com" ); // id == 1
+.br
+ ftp->login(); // id == 2
+.br
+ ftp->cd( "qt" ); // id == 3
+.br
+ ftp->get( "INSTALL" ); // id == 4
+.br
+ ftp->close(); // id == 5
+.br
+.fi
+.PP
+For this example the following sequence of signals is emitted (with small variations, depending on network traffic, etc.):
+.PP
+.nf
+.br
+ start( 1 )
+.br
+ stateChanged( HostLookup )
+.br
+ stateChanged( Connecting )
+.br
+ stateChanged( Connected )
+.br
+ finished( 1, FALSE )
+.br
+.br
+ start( 2 )
+.br
+ stateChanged( LoggedIn )
+.br
+ finished( 2, FALSE )
+.br
+.br
+ start( 3 )
+.br
+ finished( 3, FALSE )
+.br
+.br
+ start( 4 )
+.br
+ dataTransferProgress( 0, 3798 )
+.br
+ dataTransferProgress( 2896, 3798 )
+.br
+ readyRead()
+.br
+ dataTransferProgress( 3798, 3798 )
+.br
+ readyRead()
+.br
+ finished( 4, FALSE )
+.br
+.br
+ start( 5 )
+.br
+ stateChanged( Closing )
+.br
+ stateChanged( Unconnected )
+.br
+ finished( 5, FALSE )
+.br
+.br
+ done( FALSE )
+.br
+.fi
+.PP
+The dataTransferProgress() signal in the above example is useful if you want to show a progressbar to inform the user about the progress of the download. The readyRead() signal tells you that there is data ready to be read. The amount of data can be queried then with the bytesAvailable() function and it can be read with the readBlock() or readAll() function.
+.PP
+If the login fails for the above example, the signals would look like this:
+.PP
+.nf
+.br
+ start( 1 )
+.br
+ stateChanged( HostLookup )
+.br
+ stateChanged( Connecting )
+.br
+ stateChanged( Connected )
+.br
+ finished( 1, FALSE )
+.br
+.br
+ start( 2 )
+.br
+ finished( 2, TRUE )
+.br
+.br
+ done( TRUE )
+.br
+.fi
+.PP
+You can then get details about the error with the error() and errorString() functions.
+.PP
+The functions currentId() and currentCommand() provide more information about the currently executing command.
+.PP
+The functions hasPendingCommands() and clearPendingCommands() allow you to query and clear the list of pending commands.
+.PP
+The safest and easiest way to use the FTP protocol is to use QUrlOperator() or the FTP commands described above. If you are an experienced network programmer and want to have complete control you can use rawCommand() to execute arbitrary FTP commands.
+.PP
+See also Qt Network Documentation, QNetworkProtocol, QUrlOperator, QHttp, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QFtp::Command"
+This enum is used as the return value for the currentCommand() function. This allows you to perform specific actions for particular commands, e.g. in a FTP client, you might want to clear the directory view when a list() command is started; in this case you can simply check in the slot connected to the start() signal if the currentCommand() is List.
+.TP
+\fCQFtp::None\fR - No command is being executed.
+.TP
+\fCQFtp::ConnectToHost\fR - connectToHost() is being executed.
+.TP
+\fCQFtp::Login\fR - login() is being executed.
+.TP
+\fCQFtp::Close\fR - close() is being executed.
+.TP
+\fCQFtp::List\fR - list() is being executed.
+.TP
+\fCQFtp::Cd\fR - cd() is being executed.
+.TP
+\fCQFtp::Get\fR - get() is being executed.
+.TP
+\fCQFtp::Put\fR - put() is being executed.
+.TP
+\fCQFtp::Remove\fR - remove() is being executed.
+.TP
+\fCQFtp::Mkdir\fR - mkdir() is being executed.
+.TP
+\fCQFtp::Rmdir\fR - rmdir() is being executed.
+.TP
+\fCQFtp::Rename\fR - rename() is being executed.
+.TP
+\fCQFtp::RawCommand\fR - rawCommand() is being executed.
+.PP
+See also currentCommand().
+.SH "QFtp::Error"
+This enum identifies the error that occurred.
+.TP
+\fCQFtp::NoError\fR - No error occurred.
+.TP
+\fCQFtp::HostNotFound\fR - The host name lookup failed.
+.TP
+\fCQFtp::ConnectionRefused\fR - The server refused the connection.
+.TP
+\fCQFtp::NotConnected\fR - Tried to send a command, but there is no connection to a server.
+.TP
+\fCQFtp::UnknownError\fR - An error other than those specified above occurred.
+.PP
+See also error().
+.SH "QFtp::State"
+This enum defines the connection state:
+.TP
+\fCQFtp::Unconnected\fR - There is no connection to the host.
+.TP
+\fCQFtp::HostLookup\fR - A host name lookup is in progress.
+.TP
+\fCQFtp::Connecting\fR - An attempt to connect to the host is in progress.
+.TP
+\fCQFtp::Connected\fR - Connection to the host has been achieved.
+.TP
+\fCQFtp::LoggedIn\fR - Connection and user login have been achieved.
+.TP
+\fCQFtp::Closing\fR - The connection is closing down, but it is not yet closed. (The state will be Unconnected when the connection is closed.)
+.PP
+See also stateChanged() and state().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QFtp::QFtp ()"
+Constructs a QFtp object.
+.SH "QFtp::QFtp ( QObject * parent, const char * name = 0 )"
+Constructs a QFtp object. The \fIparent\fR and \fIname\fR parameters are passed to the QObject constructor.
+.SH "QFtp::~QFtp ()\fC [virtual]\fR"
+Destructor.
+.SH "void QFtp::abort ()\fC [slot]\fR"
+Aborts the current command and deletes all scheduled commands.
+.PP
+If there is an unfinished command (i.e. a command for which the commandStarted() signal has been emitted, but for which the commandFinished() signal has not been emitted), this function sends an \fCABORT\fR command to the server. When the server replies that the command is aborted, the commandFinished() signal with the \fCerror\fR argument set to \fCTRUE\fR is emitted for the command. Due to timing issues, it is possible that the command had already finished before the abort request reached the server, in which case, the commandFinished() signal is emitted with the \fCerror\fR argument set to \fCFALSE\fR.
+.PP
+For all other commands that are affected by the abort(), no signals are emitted.
+.PP
+If you don't start further FTP commands directly after the abort(), there won't be any scheduled commands and the done() signal is emitted.
+.PP
+\fBWarning:\fR Some FTP servers, for example the BSD FTP daemon (version 0.3), wrongly return a positive reply even when an abort has occurred. For these servers the commandFinished() signal has its error flag set to \fCFALSE\fR, even though the command did not complete successfully.
+.PP
+See also clearPendingCommands().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "Q_ULONG QFtp::bytesAvailable () const"
+Returns the number of bytes that can be read from the data socket at the moment.
+.PP
+See also get(), readyRead(), readBlock(), and readAll().
+.SH "int QFtp::cd ( const QString & dir )"
+Changes the working directory of the server to \fIdir\fR.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::clearPendingCommands ()"
+Deletes all pending commands from the list of scheduled commands. This does not affect the command that is being executed. If you want to stop this this as well, use abort().
+.PP
+See also hasPendingCommands() and abort().
+.SH "int QFtp::close ()"
+Closes the connection to the FTP server.
+.PP
+The stateChanged() signal is emitted when the state of the connecting process changes, e.g. to Closing, then Unconnected.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also stateChanged(), commandStarted(), and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::commandFinished ( int id, bool error )\fC [signal]\fR"
+This signal is emitted when processing the command identified by \fIid\fR has finished. \fIerror\fR is TRUE if an error occurred during the processing; otherwise \fIerror\fR is FALSE.
+.PP
+See also commandStarted(), done(), error(), and errorString().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::commandStarted ( int id )\fC [signal]\fR"
+This signal is emitted when processing the command identified by \fIid\fR starts.
+.PP
+See also commandFinished() and done().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::connectToHost ( const QString & host, Q_UINT16 port = 21 )"
+Connects to the FTP server \fIhost\fR using port \fIport\fR.
+.PP
+The stateChanged() signal is emitted when the state of the connecting process changes, e.g. to HostLookup, then Connecting, then Connected.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also stateChanged(), commandStarted(), and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "Command QFtp::currentCommand () const"
+Returns the command type of the FTP command being executed or None if there is no command being executed.
+.PP
+See also currentId().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "QIODevice * QFtp::currentDevice () const"
+Returns the QIODevice pointer that is used by the FTP command to read data from or store data to. If there is no current FTP command being executed or if the command does not use an IO device, this function returns 0.
+.PP
+This function can be used to delete the QIODevice in the slot connected to the commandFinished() signal.
+.PP
+See also get() and put().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::currentId () const"
+Returns the identifier of the FTP command that is being executed or 0 if there is no command being executed.
+.PP
+See also currentCommand().
+.SH "void QFtp::dataTransferProgress ( int done, int total )\fC [signal]\fR"
+This signal is emitted in response to a get() or put() request to indicate the current progress of the download or upload.
+.PP
+\fIdone\fR is the amount of data that has already been transferred and \fItotal\fR is the total amount of data to be read or written. It is possible that the QFtp class is not able to determine the total amount of data that should be transferred, in which case \fItotal\fR is 0. (If you connect this signal to a QProgressBar, the progress bar shows a busy indicator if the total is 0).
+.PP
+\fBWarning:\fR \fIdone\fR and \fItotal\fR are not necessarily the size in bytes, since for large files these values might need to be" scaled" to avoid overflow.
+.PP
+See also get(), put(), and QProgressBar::progress.
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::done ( bool error )\fC [signal]\fR"
+This signal is emitted when the last pending command has finished; (it is emitted after the last command's commandFinished() signal). \fIerror\fR is TRUE if an error occurred during the processing; otherwise \fIerror\fR is FALSE.
+.PP
+See also commandFinished(), error(), and errorString().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "Error QFtp::error () const"
+Returns the last error that occurred. This is useful to find out what when wrong when receiving a commandFinished() or a done() signal with the \fCerror\fR argument set to \fCTRUE\fR.
+.PP
+If you start a new command, the error status is reset to NoError.
+.SH "QString QFtp::errorString () const"
+Returns a human-readable description of the last error that occurred. This is useful for presenting a error message to the user when receiving a commandFinished() or a done() signal with the \fCerror\fR argument set to \fCTRUE\fR.
+.PP
+The error string is often (but not always) the reply from the server, so it is not always possible to translate the string. If the message comes from Qt, the string has already passed through tr().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::get ( const QString & file, QIODevice * dev = 0 )"
+Downloads the file \fIfile\fR from the server.
+.PP
+If \fIdev\fR is 0, then the readyRead() signal is emitted when there is data available to read. You can then read the data with the readBlock() or readAll() functions.
+.PP
+If \fIdev\fR is not 0, the data is written directly to the device \fIdev\fR. Make sure that the \fIdev\fR pointer is valid for the duration of the operation (it is safe to delete it when the commandFinished() signal is emitted). In this case the readyRead() signal is \fInot\fR emitted and you cannot read data with the readBlock() or readAll() functions.
+.PP
+If you don't read the data immediately it becomes available, i.e. when the readyRead() signal is emitted, it is still available until the next command is started.
+.PP
+For example, if you want to present the data to the user as soon as there is something available, connect to the readyRead() signal and read the data immediately. On the other hand, if you only want to work with the complete data, you can connect to the commandFinished() signal and read the data when the get() command is finished.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also readyRead(), dataTransferProgress(), commandStarted(), and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "bool QFtp::hasPendingCommands () const"
+Returns TRUE if there are any commands scheduled that have not yet been executed; otherwise returns FALSE.
+.PP
+The command that is being executed is \fInot\fR considered as a scheduled command.
+.PP
+See also clearPendingCommands(), currentId(), and currentCommand().
+.SH "int QFtp::list ( const QString & dir = QString::null )"
+Lists the contents of directory \fIdir\fR on the FTP server. If \fIdir\fR is empty, it lists the contents of the current directory.
+.PP
+The listInfo() signal is emitted for each directory entry found.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also listInfo(), commandStarted(), and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::listInfo ( const QUrlInfo & i )\fC [signal]\fR"
+This signal is emitted for each directory entry the list() command finds. The details of the entry are stored in \fIi\fR.
+.PP
+See also list().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::login ( const QString & user = QString::null, const QString & password = QString::null )"
+Logs in to the FTP server with the username \fIuser\fR and the password \fIpassword\fR.
+.PP
+The stateChanged() signal is emitted when the state of the connecting process changes, e.g. to LoggedIn.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::mkdir ( const QString & dir )"
+Creates a directory called \fIdir\fR on the server.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.SH "int QFtp::put ( QIODevice * dev, const QString & file )"
+Reads the data from the IO device \fIdev\fR, and writes it to the file called \fIfile\fR on the server. The data is read in chunks from the IO device, so this overload allows you to transmit large amounts of data without the need to read all the data into memory at once.
+.PP
+Make sure that the \fIdev\fR pointer is valid for the duration of the operation (it is safe to delete it when the commandFinished() is emitted).
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::put ( const QByteArray & data, const QString & file )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the data \fIdata\fR to the file called \fIfile\fR on the server. The progress of the upload is reported by the dataTransferProgress() signal.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also dataTransferProgress(), commandStarted(), and commandFinished().
+.SH "int QFtp::rawCommand ( const QString & command )"
+Sends the raw FTP command \fIcommand\fR to the FTP server. This is useful for low-level FTP access. If the operation you wish to perform has an equivalent QFtp function, we recommend using the function instead of raw FTP commands since the functions are easier and safer.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also rawCommandReply(), commandStarted(), and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::rawCommandReply ( int replyCode, const QString & detail )\fC [signal]\fR"
+This signal is emitted in response to the rawCommand() function. \fIreplyCode\fR is the 3 digit reply code and \fIdetail\fR is the text that follows the reply code.
+.PP
+See also rawCommand().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "QByteArray QFtp::readAll ()"
+Reads all the bytes available from the data socket and returns them.
+.PP
+See also get(), readyRead(), bytesAvailable(), and readBlock().
+.SH "Q_LONG QFtp::readBlock ( char * data, Q_ULONG maxlen )"
+Reads \fImaxlen\fR bytes from the data socket into \fIdata\fR and returns the number of bytes read. Returns -1 if an error occurred.
+.PP
+See also get(), readyRead(), bytesAvailable(), and readAll().
+.SH "void QFtp::readyRead ()\fC [signal]\fR"
+This signal is emitted in response to a get() command when there is new data to read.
+.PP
+If you specify a device as the second argument in the get() command, this signal is \fInot\fR emitted; instead the data is written directly to the device.
+.PP
+You can read the data with the readAll() or readBlock() functions.
+.PP
+This signal is useful if you want to process the data in chunks as soon as it becomes available. If you are only interested in the complete data, just connect to the commandFinished() signal and read the data then instead.
+.PP
+See also get(), readBlock(), readAll(), and bytesAvailable().
+.SH "int QFtp::remove ( const QString & file )"
+Deletes the file called \fIfile\fR from the server.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QFtp::rename ( const QString & oldname, const QString & newname )"
+Renames the file called \fIoldname\fR to \fInewname\fR on the server.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.SH "int QFtp::rmdir ( const QString & dir )"
+Removes the directory called \fIdir\fR from the server.
+.PP
+The function does not block and returns immediately. The command is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by commandStarted() and commandFinished().
+.PP
+When the command is started the commandStarted() signal is emitted. When it is finished the commandFinished() signal is emitted.
+.PP
+See also commandStarted() and commandFinished().
+.SH "State QFtp::state () const"
+Returns the current state of the object. When the state changes, the stateChanged() signal is emitted.
+.PP
+See also State and stateChanged().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QFtp::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted when the state of the connection changes. The argument \fIstate\fR is the new state of the connection; it is one of the State values.
+.PP
+It is usually emitted in response to a connectToHost() or close() command, but it can also be emitted "spontaneously", e.g. when the server closes the connection unexpectedly.
+.PP
+See also connectToHost(), close(), state(), and State.
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qftp.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qftp.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgb18030codec.3qt b/doc/man/man3/qgb18030codec.3qt
new file mode 100644
index 0000000..c7b29f5
--- /dev/null
+++ b/doc/man/man3/qgb18030codec.3qt
@@ -0,0 +1,80 @@
+'\" t
+.TH QGb18030Codec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGb18030Codec \- Conversion to and from the Chinese GB18030/GBK/GB2312 encoding
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qgb18030codec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+Inherited by QGbkCodec and QGb2312Codec.
+.PP
+.SH DESCRIPTION
+The QGb18030Codec class provides conversion to and from the Chinese GB18030/GBK/GB2312 encoding.
+.PP
+GBK, formally the Chinese Internal Code Specification, is a commonly used extension of GB 2312-80. Microsoft Windows uses it under the name codepage 936.
+.PP
+GBK has been superceded by the new Chinese national standard GB 18030-2000, which added a 4-byte encoding while remaining compatible with GB2312 and GBK. The new GB 18030-2000 may be described as a special encoding of Unicode 3.x and ISO-10646-1.
+.PP
+Special thanks to charset gurus Markus Scherer (IBM), Dirk Meyer (Adobe Systems) and Ken Lunde (Adobe Systems) for publishing an excellent GB 18030-2000 summary and specification on the Internet. Some must-read documents are:
+.TP
+ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/pdf/GB18030_Summary.pdf
+.TP
+http://oss.software.ibm.com/cvs/icu/~checkout~/charset/source/gb18030/gb18030.html
+.TP
+http://oss.software.ibm.com/cvs/icu/~checkout~/charset/data/xml/gb-18030-2000.xml
+.PP
+The GBK codec was contributed to Qt by Justin Yu <justiny@turbolinux.com.cn> and Sean Chen <seanc@turbolinux.com.cn>. They may also be reached at Yu Mingjian <yumj@sun.ihep.ac.cn>, <yumingjian@china.com> Chen Xiangyang <chenxy@sun.ihep.ac.cn>
+.PP
+The GB18030 codec Qt functions were contributed to Qt by James Su <suzhe@gnuchina.org>, <suzhe@turbolinux.com.cn> who pioneered much of GB18030 development on GNU/Linux systems.
+.PP
+The GB18030 codec was contributed to Qt by Anthony Fok <anthony@thizlinux.com>, <foka@debian.org> using a Perl script to generate C++ tables from gb-18030-2000.xml while merging contributions from James Su, Justin Yu and Sean Chen. A copy of the source Perl script is available at:
+.PP
+http://people.debian.org/~foka/gb18030/gen-qgb18030codec.pl
+.PP
+The copyright notice for their code follows:
+.PP
+Copyright (C) 2000 TurboLinux, Inc. Written by Justin Yu and Sean Chen. Copyright (C) 2001, 2002 Turbolinux, Inc. Written by James Su. Copyright (C) 2001, 2002 ThizLinux Laboratory Ltd. Written by Anthony Fok.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.TP
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.TP
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgb18030codec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgb18030codec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgb2312codec.3qt b/doc/man/man3/qgb2312codec.3qt
new file mode 100644
index 0000000..04b9c75
--- /dev/null
+++ b/doc/man/man3/qgb2312codec.3qt
@@ -0,0 +1,48 @@
+'\" t
+.TH QGb2312Codec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGb2312Codec \- Conversion to and from the Chinese GB2312 encoding
+.SH SYNOPSIS
+\fC#include <qgb18030codec.h>\fR
+.PP
+Inherits QGb18030Codec.
+.PP
+.SH DESCRIPTION
+The QGb2312Codec class provides conversion to and from the Chinese GB2312 encoding.
+.PP
+The GB2312 encoding has been superceded by the GB18030 encoding and GB18030 is backward compatible to GB2312. For this reason the QGb2312Codec class is implemented in terms of the GB18030 codec and uses its 0xA1A1-0xFEFE subset for conversion from and to Unicode.
+.PP
+The QGb2312Codec is kept mainly for compatibility reasons with older software.
+.PP
+See also Internationalization with Qt.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgb2312codec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgb2312codec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgbkcodec.3qt b/doc/man/man3/qgbkcodec.3qt
new file mode 100644
index 0000000..9954855
--- /dev/null
+++ b/doc/man/man3/qgbkcodec.3qt
@@ -0,0 +1,52 @@
+'\" t
+.TH QGbkCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGbkCodec \- Conversion to and from the Chinese GBK encoding
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qgb18030codec.h>\fR
+.PP
+Inherits QGb18030Codec.
+.PP
+.SH DESCRIPTION
+The QGbkCodec class provides conversion to and from the Chinese GBK encoding.
+.PP
+GBK, formally the Chinese Internal Code Specification, is a commonly used extension of GB 2312-80. Microsoft Windows uses it under the name code page 936.
+.PP
+The GBK encoding has been superceded by the GB18030 encoding and GB18030 is backward compatible to GBK. For this reason the QGbkCodec class is implemented in terms of the GB18030 codec and uses its 1-byte and 2-byte portion for conversion from and to Unicode.
+.PP
+The QGbkCodec is kept mainly for compatibility reasons with older software.
+.PP
+See also Internationalization with Qt.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgbkcodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgbkcodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgfxdriverfactory.3qt b/doc/man/man3/qgfxdriverfactory.3qt
new file mode 100644
index 0000000..4d454de
--- /dev/null
+++ b/doc/man/man3/qgfxdriverfactory.3qt
@@ -0,0 +1,59 @@
+'\" t
+.TH QGfxDriverFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGfxDriverFactory \- Creates QScreen objects for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qgfxdriverfactory_qws.h>\fR
+.PP
+.SS "Static Public Members"
+<li class=fn>QStringList \fBkeys\fR () <li class=fn>QScreen * \fBcreate\fR ( const QString & key, int displayId )
+.SH DESCRIPTION
+The QGfxDriverFactory class creates QScreen objects for Qt/Embedded.
+.PP
+The graphics driver factory creates a QScreen object for a given key with QGfxDriverFactory::create(key).
+.PP
+The drivers are either built-in or dynamically loaded from a driver plugin (see QGfxDriverPlugin).
+.PP
+QGfxDriverFactory::keys() returns a list of valid keys. Qt currently ships with "LinuxFb".
+.PP
+This class is only available in Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QScreen * QGfxDriverFactory::create ( const QString & key, int displayId )\fC [static]\fR"
+Creates a QScreen object of a type that matches \fIkey\fR, and with the ID, \fIdisplayId\fR. The QScreen object returned may be from a built-in driver, or from a driver plugin.
+.PP
+See also keys().
+.SH "QStringList QGfxDriverFactory::keys ()\fC [static]\fR"
+Returns the list of keys this factory can create drivers for.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgfxdriverfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgfxdriverfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgfxdriverplugin.3qt b/doc/man/man3/qgfxdriverplugin.3qt
new file mode 100644
index 0000000..54f7c3b
--- /dev/null
+++ b/doc/man/man3/qgfxdriverplugin.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QGfxDriverPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGfxDriverPlugin \- Abstract base for Qt/Embedded graphics driver plugins
+.SH SYNOPSIS
+\fC#include <qgfxdriverplugin_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGfxDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QGfxDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QScreen * \fBcreate\fR ( const QString & driver, int displayId ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGfxDriverPlugin class provides an abstract base for Qt/Embedded graphics driver plugins.
+.PP
+The graphics driver plugin is a simple plugin interface that makes it easy to create custom graphics drivers.
+.PP
+Writing a graphics driver plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and create(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the Plugins documentation for details.
+.PP
+This class is only available in Qt/Embedded.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGfxDriverPlugin::QGfxDriverPlugin ()"
+Constructs a graphics driver plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QGfxDriverPlugin::~QGfxDriverPlugin ()"
+Destroys the graphics driver plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QScreen * QGfxDriverPlugin::create ( const QString & driver, int displayId )\fC [pure virtual]\fR"
+Creates a driver matching the type specified by \fIdriver\fR, that will use display \fIdisplayId\fR.
+.PP
+See also keys().
+.SH "QStringList QGfxDriverPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of graphics drivers this plugin supports.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgfxdriverplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgfxdriverplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgl.3qt b/doc/man/man3/qgl.3qt
new file mode 100644
index 0000000..39fa1d2
--- /dev/null
+++ b/doc/man/man3/qgl.3qt
@@ -0,0 +1,95 @@
+'\" t
+.TH QGL 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGL \- Namespace for miscellaneous identifiers in the Qt OpenGL module
+.SH SYNOPSIS
+\fC#include <qgl.h>\fR
+.PP
+Inherited by QGLFormat, QGLContext, and QGLWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBFormatOption\fR { DoubleBuffer = 0x0001, DepthBuffer = 0x0002, Rgba = 0x0004, AlphaChannel = 0x0008, AccumBuffer = 0x0010, StencilBuffer = 0x0020, StereoBuffers = 0x0040, DirectRendering = 0x0080, HasOverlay = 0x0100, SingleBuffer = DoubleBuffer<<16, NoDepthBuffer = DepthBuffer<<16, ColorIndex = Rgba<<16, NoAlphaChannel = AlphaChannel<<16, NoAccumBuffer = AccumBuffer<<16, NoStencilBuffer = StencilBuffer<<16, NoStereoBuffers = StereoBuffers<<16, IndirectRendering = DirectRendering<<16, NoOverlay = HasOverlay<<16 }"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGL class is a namespace for miscellaneous identifiers in the Qt OpenGL module.
+.PP
+Normally you can ignore this class. QGLWidget and the other OpenGL<sup>*</sup> module classes inherit it, so when you make your own QGLWidget subclass you can use the identifiers in the QGL namespace without qualification.
+.PP
+However, you may occasionally find yourself in situations where you need to refer to these identifiers from outside the QGL namespace's scope, e.g. in static functions. In such cases, simply write e.g. QGL::DoubleBuffer instead of just DoubleBuffer.
+.PP
+<sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QGL::FormatOption"
+This enum specifies the format options.
+.TP
+\fCQGL::DoubleBuffer\fR
+.TP
+\fCQGL::DepthBuffer\fR
+.TP
+\fCQGL::Rgba\fR
+.TP
+\fCQGL::AlphaChannel\fR
+.TP
+\fCQGL::AccumBuffer\fR
+.TP
+\fCQGL::StencilBuffer\fR
+.TP
+\fCQGL::StereoBuffers\fR
+.TP
+\fCQGL::DirectRendering\fR
+.TP
+\fCQGL::HasOverlay\fR
+.TP
+\fCQGL::SingleBuffer\fR
+.TP
+\fCQGL::NoDepthBuffer\fR
+.TP
+\fCQGL::ColorIndex\fR
+.TP
+\fCQGL::NoAlphaChannel\fR
+.TP
+\fCQGL::NoAccumBuffer\fR
+.TP
+\fCQGL::NoStencilBuffer\fR
+.TP
+\fCQGL::NoStereoBuffers\fR
+.TP
+\fCQGL::IndirectRendering\fR
+.TP
+\fCQGL::NoOverlay\fR
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgl.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgl.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qglayoutiterator.3qt b/doc/man/man3/qglayoutiterator.3qt
new file mode 100644
index 0000000..3b5a51b
--- /dev/null
+++ b/doc/man/man3/qglayoutiterator.3qt
@@ -0,0 +1,81 @@
+'\" t
+.TH QGLayoutIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGLayoutIterator \- Abstract base class of internal layout iterators
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QGLayoutIterator\fR ()"
+.br
+.ti -1c
+.BI "virtual QLayoutItem * \fBnext\fR () = 0"
+.br
+.ti -1c
+.BI "virtual QLayoutItem * \fBcurrent\fR () = 0"
+.br
+.ti -1c
+.BI "virtual QLayoutItem * \fBtakeCurrent\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGLayoutIterator class is an abstract base class of internal layout iterators.
+.PP
+(This class is \fInot\fR OpenGL related, it just happens to start with the letters QGL...)
+.PP
+Subclass this class to create a custom layout. The functions that must be implemented are next(), current(), and takeCurrent().
+.PP
+The QGLayoutIterator implements the functionality of QLayoutIterator. Each subclass of QLayout needs a QGLayoutIterator subclass.
+.PP
+See also Widget Appearance and Style and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGLayoutIterator::~QGLayoutIterator ()\fC [virtual]\fR"
+Destroys the iterator
+.SH "QLayoutItem * QGLayoutIterator::current ()\fC [pure virtual]\fR"
+Implemented in subclasses to return the current item, or 0 if there is no current item.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.SH "QLayoutItem * QGLayoutIterator::next ()\fC [pure virtual]\fR"
+Implemented in subclasses to move the iterator to the next item and return that item, or 0 if there is no next item.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.SH "QLayoutItem * QGLayoutIterator::takeCurrent ()\fC [pure virtual]\fR"
+Implemented in subclasses. The function must remove the current item from the layout without deleting it, move the iterator to the next item and return the removed item, or 0 if no item was removed.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qglayoutiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qglayoutiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qglcolormap.3qt b/doc/man/man3/qglcolormap.3qt
new file mode 100644
index 0000000..f1a551d
--- /dev/null
+++ b/doc/man/man3/qglcolormap.3qt
@@ -0,0 +1,166 @@
+'\" t
+.TH QGLColormap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGLColormap \- Used for installing custom colormaps into QGLWidgets
+.SH SYNOPSIS
+\fC#include <qglcolormap.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGLColormap\fR ()"
+.br
+.ti -1c
+.BI "\fBQGLColormap\fR ( const QGLColormap & map )"
+.br
+.ti -1c
+.BI "\fB~QGLColormap\fR ()"
+.br
+.ti -1c
+.BI "QGLColormap & \fBoperator=\fR ( const QGLColormap & map )"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "int \fBsize\fR () const"
+.br
+.ti -1c
+.BI "void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetEntries\fR ( int count, const QRgb * colors, int base = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetEntry\fR ( int idx, QRgb color )"
+.br
+.ti -1c
+.BI "void \fBsetEntry\fR ( int idx, const QColor & color )"
+.br
+.ti -1c
+.BI "QRgb \fBentryRgb\fR ( int idx ) const"
+.br
+.ti -1c
+.BI "QColor \fBentryColor\fR ( int idx ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( QRgb color ) const"
+.br
+.ti -1c
+.BI "int \fBfindNearest\fR ( QRgb color ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGLColormap class is used for installing custom colormaps into QGLWidgets.
+.PP
+QGLColormap provides a platform independent way of specifying and installing indexed colormaps into QGLWidgets. QGLColormap is especially useful when using the OpenGL color-index mode.
+.PP
+Under X11 you must use an X server that supports either a \fCPseudoColor\fR or \fCDirectColor\fR visual class. If your X server currently only provides a \fCGrayScale\fR, \fCTrueColor\fR, \fCStaticColor\fR or \fCStaticGray\fR visual, you will not be able to allocate colorcells for writing. If this is the case, try setting your X server to 8 bit mode. It should then provide you with at least a \fCPseudoColor\fR visual. Note that you may experience colormap flashing if your X server is running in 8 bit mode.
+.PP
+Under Windows the size of the colormap is always set to 256 colors. Note that under Windows you can also install colormaps in child widgets.
+.PP
+This class uses explicit sharing (see Shared Classes).
+.PP
+Example of use:
+.PP
+.nf
+.br
+ #include <qapplication.h>
+.br
+ #include <qglcolormap.h>
+.br
+.br
+ int main()
+.br
+ {
+.br
+ QApplication a( argc, argv );
+.br
+.br
+ MySuperGLWidget widget( 0 ); // A QGLWidget in color-index mode
+.br
+ QGLColormap colormap;
+.br
+.br
+ // This will fill the colormap with colors ranging from
+.br
+ // black to white.
+.br
+ for ( int i = 0; i < colormap.size(); i++ )
+.br
+ colormap.setEntry( i, qRgb( i, i, i ) );
+.br
+.br
+ widget.setColormap( colormap );
+.br
+ widget.show();
+.br
+ return a.exec();
+.br
+ }
+.br
+.fi
+.PP
+See also QGLWidget::setColormap(), QGLWidget::colormap(), Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGLColormap::QGLColormap ()"
+Construct a QGLColormap.
+.SH "QGLColormap::QGLColormap ( const QGLColormap & map )"
+Construct a shallow copy of \fImap\fR.
+.SH "QGLColormap::~QGLColormap ()"
+Dereferences the QGLColormap and deletes it if this was the last reference to it.
+.SH "void QGLColormap::detach ()"
+Detaches this QGLColormap from the shared block.
+.SH "QColor QGLColormap::entryColor ( int idx ) const"
+Returns the QRgb value in the colorcell with index \fIidx\fR.
+.SH "QRgb QGLColormap::entryRgb ( int idx ) const"
+Returns the QRgb value in the colorcell with index \fIidx\fR.
+.SH "int QGLColormap::find ( QRgb color ) const"
+Returns the index of the color \fIcolor\fR. If \fIcolor\fR is not in the map, -1 is returned.
+.SH "int QGLColormap::findNearest ( QRgb color ) const"
+Returns the index of the color that is the closest match to color \fIcolor\fR.
+.SH "bool QGLColormap::isEmpty () const"
+Returns TRUE if the colormap is empty; otherwise returns FALSE. A colormap with no color values set is considered to be empty.
+.SH "QGLColormap & QGLColormap::operator= ( const QGLColormap & map )"
+Assign a shallow copy of \fImap\fR to this QGLColormap.
+.SH "void QGLColormap::setEntries ( int count, const QRgb * colors, int base = 0 )"
+Set an array of cells in this colormap. \fIcount\fR is the number of colors that should be set, \fIcolors\fR is the array of colors, and \fIbase\fR is the starting index.
+.SH "void QGLColormap::setEntry ( int idx, QRgb color )"
+Set cell at index \fIidx\fR in the colormap to color \fIcolor\fR.
+.SH "void QGLColormap::setEntry ( int idx, const QColor & color )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Set the cell with index \fIidx\fR in the colormap to color \fIcolor\fR.
+.SH "int QGLColormap::size () const"
+Returns the number of colorcells in the colormap.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qglcolormap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qglcolormap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qglcontext.3qt b/doc/man/man3/qglcontext.3qt
new file mode 100644
index 0000000..0207b2f
--- /dev/null
+++ b/doc/man/man3/qglcontext.3qt
@@ -0,0 +1,273 @@
+'\" t
+.TH QGLContext 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGLContext \- Encapsulates an OpenGL rendering context
+.SH SYNOPSIS
+\fC#include <qgl.h>\fR
+.PP
+Inherits QGL.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGLContext\fR ( const QGLFormat & format, QPaintDevice * device )"
+.br
+.ti -1c
+.BI "virtual \fB~QGLContext\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBcreate\fR ( const QGLContext * shareContext = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSharing\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "QGLFormat \fBformat\fR () const"
+.br
+.ti -1c
+.BI "QGLFormat \fBrequestedFormat\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFormat\fR ( const QGLFormat & format )"
+.br
+.ti -1c
+.BI "virtual void \fBmakeCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBswapBuffers\fR () const"
+.br
+.ti -1c
+.BI "QPaintDevice * \fBdevice\fR () const"
+.br
+.ti -1c
+.BI "QColor \fBoverlayTransparentColor\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "const QGLContext * \fBcurrentContext\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBchooseContext\fR ( const QGLContext * shareContext = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBdoneCurrent\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBchoosePixelFormat\fR ( void * dummyPfd, HDC pdc )"
+.br
+.ti -1c
+.BI "virtual void * \fBchooseVisual\fR ()"
+.br
+.ti -1c
+.BI "virtual void * \fBchooseMacVisual\fR ( GDHandle device )"
+.br
+.ti -1c
+.BI "bool \fBdeviceIsPixmap\fR () const"
+.br
+.ti -1c
+.BI "bool \fBwindowCreated\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWindowCreated\fR ( bool on )"
+.br
+.ti -1c
+.BI "bool \fBinitialized\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetInitialized\fR ( bool on )"
+.br
+.ti -1c
+.BI "void \fBgenerateFontDisplayLists\fR ( const QFont & font, int listBase )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGLContext class encapsulates an OpenGL rendering context.
+.PP
+An OpenGL<sup>*</sup> rendering context is a complete set of OpenGL state variables.
+.PP
+The context's format is set in the constructor or later with setFormat(). The format options that are actually set are returned by format(); the options you asked for are returned by requestedFormat(). Note that after a QGLContext object has been constructed, the actual OpenGL context must be created by explicitly calling the create() function. The makeCurrent() function makes this context the current rendering context. You can make \fIno\fR context current using doneCurrent(). The reset() function will reset the context and make it invalid.
+.PP
+You can examine properties of the context with, e.g. isValid(), isSharing(), initialized(), windowCreated() and overlayTransparentColor().
+.PP
+If you're using double buffering you can swap the screen contents with the off-screen buffer using swapBuffers().
+.PP
+Please note that QGLContext is not thread safe.
+.PP
+<sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGLContext::QGLContext ( const QGLFormat & format, QPaintDevice * device )"
+Constructs an OpenGL context for the paint device \fIdevice\fR, which can be a widget or a pixmap. The \fIformat\fR specifies several display options for the context.
+.PP
+If the underlying OpenGL/Window system cannot satisfy all the features requested in \fIformat\fR, the nearest subset of features will be used. After creation, the format() method will return the actual format obtained.
+.PP
+Note that after a QGLContext object has been constructed, create() must be called explicitly to create the actual OpenGL context. The context will be invalid if it was not possible to obtain a GL context at all.
+.PP
+See also format() and isValid().
+.SH "QGLContext::~QGLContext ()\fC [virtual]\fR"
+Destroys the OpenGL context and frees its resources.
+.SH "bool QGLContext::chooseContext ( const QGLContext * shareContext = 0 )\fC [virtual protected]\fR"
+This semi-internal function is called by create(). It creates a system-dependent OpenGL handle that matches the format() of \fIshareContext\fR as closely as possible.
+.PP
+On Windows, it calls the virtual function choosePixelFormat(), which finds a matching pixel format identifier. On X11, it calls the virtual function chooseVisual() which finds an appropriate X visual. On other platforms it may work differently.
+.SH "void * QGLContext::chooseMacVisual ( GDHandle device )\fC [virtual protected]\fR"
+\fBMac only\fR: This virtual function tries to find a visual that matches the format using the given \fIdevice\fR handle, reducing the demands if the original request cannot be met.
+.PP
+The algorithm for reducing the demands of the format is quite simple-minded, so override this method in your subclass if your application has specific requirements on visual selection.
+.PP
+See also chooseContext().
+.SH "int QGLContext::choosePixelFormat ( void * dummyPfd, HDC pdc )\fC [virtual protected]\fR"
+\fBWin32 only\fR This virtual function chooses a pixel format that matches the OpenGL format. Reimplement this function in a subclass if you need a custom context.
+.PP
+\fBWarning:\fR The \fIdummyPfd\fR pointer and \fIpdc\fR are used as a \fCPIXELFORMATDESCRIPTOR*\fR. We use \fCvoid\fR to avoid using Windows-specific types in our header files.
+.PP
+See also chooseContext().
+.SH "void * QGLContext::chooseVisual ()\fC [virtual protected]\fR"
+\fBX11 only\fR: This virtual function tries to find a visual that matches the format, reducing the demands if the original request cannot be met.
+.PP
+The algorithm for reducing the demands of the format is quite simple-minded, so override this method in your subclass if your application has spcific requirements on visual selection.
+.PP
+See also chooseContext().
+.SH "bool QGLContext::create ( const QGLContext * shareContext = 0 )\fC [virtual]\fR"
+Creates the GL context. Returns TRUE if it was successful in creating a valid GL rendering context on the paint device specified in the constructor; otherwise returns FALSE (i.e. the context is invalid).
+.PP
+After successful creation, format() returns the set of features of the created GL rendering context.
+.PP
+If \fIshareContext\fR points to a valid QGLContext, this method will try to establish OpenGL display list sharing between this context and the \fIshareContext\fR. Note that this may fail if the two contexts have different formats. Use isSharing() to see if sharing succeeded.
+.PP
+\fBWarning:\fR Implementation note: initialization of C++ class members usually takes place in the class constructor. QGLContext is an exception because it must be simple to customize. The virtual functions chooseContext() (and chooseVisual() for X11) can be reimplemented in a subclass to select a particular context. The problem is that virtual functions are not properly called during construction (even though this is correct C++) because C++ constructs class hierarchies from the bottom up. For this reason we need a create() function.
+.PP
+See also chooseContext(), format(), and isValid().
+.SH "const QGLContext * QGLContext::currentContext ()\fC [static]\fR"
+Returns the current context, i.e. the context to which any OpenGL commands will currently be directed. Returns 0 if no context is current.
+.PP
+See also makeCurrent().
+.SH "QPaintDevice * QGLContext::device () const"
+Returns the paint device set for this context.
+.PP
+See also QGLContext::QGLContext().
+.SH "bool QGLContext::deviceIsPixmap () const\fC [protected]\fR"
+Returns TRUE if the paint device of this context is a pixmap; otherwise returns FALSE.
+.SH "void QGLContext::doneCurrent ()\fC [virtual protected]\fR"
+Makes no GL context the current context. Normally, you do not need to call this function; QGLContext calls it as necessary.
+.SH "QGLFormat QGLContext::format () const"
+Returns the frame buffer format that was obtained (this may be a subset of what was requested).
+.PP
+See also requestedFormat().
+.SH "void QGLContext::generateFontDisplayLists ( const QFont & font, int listBase )\fC [protected]\fR"
+Generates a set of 256 display lists for the 256 first characters in the font \fIfont\fR. The first list will start at index \fIlistBase\fR.
+.PP
+See also QGLWidget::renderText().
+.SH "bool QGLContext::initialized () const\fC [protected]\fR"
+Returns TRUE if this context has been initialized, i.e. if QGLWidget::initializeGL() has been performed on it; otherwise returns FALSE.
+.PP
+See also setInitialized().
+.SH "bool QGLContext::isSharing () const"
+Returns TRUE if display list sharing with another context was requested in the create() call and the GL system was able to fulfill this request; otherwise returns FALSE. Note that display list sharing might not be supported between contexts with different formats.
+.SH "bool QGLContext::isValid () const"
+Returns TRUE if a GL rendering context has been successfully created; otherwise returns FALSE.
+.SH "void QGLContext::makeCurrent ()\fC [virtual]\fR"
+Makes this context the current OpenGL rendering context. All GL functions you call operate on this context until another context is made current.
+.PP
+In some very rare cases the underlying call may fail. If this occurs an error message is output to stderr.
+.SH "QColor QGLContext::overlayTransparentColor () const"
+If this context is a valid context in an overlay plane, returns the plane's transparent color. Otherwise returns an invalid color.
+.PP
+The returned color's pixel value is the index of the transparent color in the colormap of the overlay plane. (Naturally, the color's RGB values are meaningless.)
+.PP
+The returned QColor object will generally work as expected only when passed as the argument to QGLWidget::qglColor() or QGLWidget::qglClearColor(). Under certain circumstances it can also be used to draw transparent graphics with a QPainter. See the examples/opengl/overlay_x11 example for details.
+.SH "QGLFormat QGLContext::requestedFormat () const"
+Returns the frame buffer format that was originally requested in the constructor or setFormat().
+.PP
+See also format().
+.SH "void QGLContext::reset ()\fC [virtual]\fR"
+Resets the context and makes it invalid.
+.PP
+See also create() and isValid().
+.SH "void QGLContext::setFormat ( const QGLFormat & format )\fC [virtual]\fR"
+Sets a \fIformat\fR for this context. The context is reset.
+.PP
+Call create() to create a new GL context that tries to match the new format.
+.PP
+.nf
+.br
+ QGLContext *cx;
+.br
+ // ...
+.br
+ QGLFormat f;
+.br
+ f.setStereo( TRUE );
+.br
+ cx->setFormat( f );
+.br
+ if ( !cx->create() )
+.br
+ exit(); // no OpenGL support, or cannot render on the specified paintdevice
+.br
+ if ( !cx->format().stereo() )
+.br
+ exit(); // could not create stereo context
+.br
+.fi
+.PP
+See also format(), reset(), and create().
+.SH "void QGLContext::setInitialized ( bool on )\fC [protected]\fR"
+If \fIon\fR is TRUE the context has been initialized, i.e. QGLContext::setInitialized() has been called on it. If \fIon\fR is FALSE the context has not been initialized.
+.PP
+See also initialized().
+.SH "void QGLContext::setWindowCreated ( bool on )\fC [protected]\fR"
+If \fIon\fR is TRUE the context has had a window created for it. If \fIon\fR is FALSE no window has been created for the context.
+.PP
+See also windowCreated().
+.SH "void QGLContext::swapBuffers () const\fC [virtual]\fR"
+Swaps the screen contents with an off-screen buffer. Only works if the context is in double buffer mode.
+.PP
+See also QGLFormat::setDoubleBuffer().
+.SH "bool QGLContext::windowCreated () const\fC [protected]\fR"
+Returns TRUE if a window has been created for this context; otherwise returns FALSE.
+.PP
+See also setWindowCreated().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qglcontext.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qglcontext.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qglformat.3qt b/doc/man/man3/qglformat.3qt
new file mode 100644
index 0000000..34d43eb
--- /dev/null
+++ b/doc/man/man3/qglformat.3qt
@@ -0,0 +1,511 @@
+'\" t
+.TH QGLFormat 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGLFormat \- The display format of an OpenGL rendering context
+.SH SYNOPSIS
+\fC#include <qgl.h>\fR
+.PP
+Inherits QGL.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGLFormat\fR ()"
+.br
+.ti -1c
+.BI "\fBQGLFormat\fR ( int options, int plane = 0 )"
+.br
+.ti -1c
+.BI "bool \fBdoubleBuffer\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDoubleBuffer\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDepth\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBrgba\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRgba\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBalpha\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAlpha\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBaccum\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAccum\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBstencil\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStencil\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBstereo\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStereo\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBdirectRendering\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDirectRendering\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBhasOverlay\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOverlay\fR ( bool enable )"
+.br
+.ti -1c
+.BI "int \fBplane\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPlane\fR ( int plane )"
+.br
+.ti -1c
+.BI "void \fBsetOption\fR ( FormatOption opt )"
+.br
+.ti -1c
+.BI "bool \fBtestOption\fR ( FormatOption opt ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QGLFormat \fBdefaultFormat\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDefaultFormat\fR ( const QGLFormat & f )"
+.br
+.ti -1c
+.BI "QGLFormat \fBdefaultOverlayFormat\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDefaultOverlayFormat\fR ( const QGLFormat & f )"
+.br
+.ti -1c
+.BI "bool \fBhasOpenGL\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasOpenGLOverlays\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGLFormat class specifies the display format of an OpenGL rendering context.
+.PP
+A display format has several characteristics:
+.TP
+Double or single buffering.
+.TP
+Depth buffer.
+.TP
+RGBA or color index mode.
+.TP
+Alpha channel.
+.TP
+Accumulation buffer.
+.TP
+Stencil buffer.
+.TP
+Stereo buffers.
+.TP
+Direct rendering.
+.TP
+Presence of an overlay.
+.TP
+The plane of an overlay format.
+.PP
+You create and tell a QGLFormat object what rendering options you want from an OpenGL<sup>*</sup> rendering context.
+.PP
+OpenGL drivers or accelerated hardware may or may not support advanced features such as alpha channel or stereographic viewing. If you request some features that the driver/hardware does not provide when you create a QGLWidget, you will get a rendering context with the nearest subset of features.
+.PP
+There are different ways to define the display characteristics of a rendering context. One is to create a QGLFormat and make it the default for the entire application:
+.PP
+.nf
+.br
+ QGLFormat f;
+.br
+ f.setAlpha( TRUE );
+.br
+ f.setStereo( TRUE );
+.br
+ QGLFormat::setDefaultFormat( f );
+.br
+.fi
+.PP
+Or you can specify the desired format when creating an object of your QGLWidget subclass:
+.PP
+.nf
+.br
+ QGLFormat f;
+.br
+ f.setDoubleBuffer( FALSE ); // single buffer
+.br
+ f.setDirectRendering( FALSE ); // software rendering
+.br
+ MyGLWidget* myWidget = new MyGLWidget( f, ... );
+.br
+.fi
+.PP
+After the widget has been created, you can find out which of the requested features the system was able to provide:
+.PP
+.nf
+.br
+ QGLFormat f;
+.br
+ f.setOverlay( TRUE );
+.br
+ f.setStereo( TRUE );
+.br
+ MyGLWidget* myWidget = new MyGLWidget( f, ... );
+.br
+ if ( !w->format().stereo() ) {
+.br
+ // ok, goggles off
+.br
+ if ( !w->format().hasOverlay() ) {
+.br
+ qFatal( "Cool hardware required" );
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+<sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.
+.PP
+See also QGLContext, QGLWidget, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGLFormat::QGLFormat ()"
+Constructs a QGLFormat object with the factory default settings:
+.TP
+Double buffer: Enabled.
+.TP
+Depth buffer: Enabled.
+.TP
+RGBA: Enabled (i.e., color index disabled).
+.TP
+Alpha channel: Disabled.
+.TP
+Accumulator buffer: Disabled.
+.TP
+Stencil buffer: Disabled.
+.TP
+Stereo: Disabled.
+.TP
+Direct rendering: Enabled.
+.TP
+Overlay: Disabled.
+.TP
+Plane: 0 (i.e., normal plane).
+.SH "QGLFormat::QGLFormat ( int options, int plane = 0 )"
+Creates a QGLFormat object that is a copy of the current application default format.
+.PP
+If \fIoptions\fR is not 0, this copy is modified by these format options. The \fIoptions\fR parameter should be FormatOption values OR'ed together.
+.PP
+This constructor makes it easy to specify a certain desired format in classes derived from QGLWidget, for example:
+.PP
+.nf
+.br
+ // The rendering in MyGLWidget depends on using
+.br
+ // stencil buffer and alpha channel
+.br
+ MyGLWidget::MyGLWidget( QWidget* parent, const char* name )
+.br
+ : QGLWidget( QGLFormat( StencilBuffer | AlphaChannel ), parent, name )
+.br
+ {
+.br
+ if ( !format().stencil() )
+.br
+ qWarning( "Could not get stencil buffer; results will be suboptimal" );
+.br
+ if ( !format().alphaChannel() )
+.br
+ qWarning( "Could not get alpha channel; results will be suboptimal" );
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+Note that there are FormatOption values to turn format settings both on and off, e.g. DepthBuffer and NoDepthBuffer, DirectRendering and IndirectRendering, etc.
+.PP
+The \fIplane\fR parameter defaults to 0 and is the plane which this format should be associated with. Not all OpenGL implmentations supports overlay/underlay rendering planes.
+.PP
+See also defaultFormat() and setOption().
+.SH "bool QGLFormat::accum () const"
+Returns TRUE if the accumulation buffer is enabled; otherwise returns FALSE. The accumulation buffer is disabled by default.
+.PP
+See also setAccum().
+.SH "bool QGLFormat::alpha () const"
+Returns TRUE if the alpha channel of the framebuffer is enabled; otherwise returns FALSE. The alpha channel is disabled by default.
+.PP
+See also setAlpha().
+.SH "QGLFormat QGLFormat::defaultFormat ()\fC [static]\fR"
+Returns the default QGLFormat for the application. All QGLWidgets that are created use this format unless another format is specified, e.g. when they are constructed.
+.PP
+If no special default format has been set using setDefaultFormat(), the default format is the same as that created with QGLFormat().
+.PP
+See also setDefaultFormat().
+.SH "QGLFormat QGLFormat::defaultOverlayFormat ()\fC [static]\fR"
+Returns the default QGLFormat for overlay contexts.
+.PP
+The factory default overlay format is:
+.TP
+Double buffer: Disabled.
+.TP
+Depth buffer: Disabled.
+.TP
+RGBA: Disabled (i.e., color index enabled).
+.TP
+Alpha channel: Disabled.
+.TP
+Accumulator buffer: Disabled.
+.TP
+Stencil buffer: Disabled.
+.TP
+Stereo: Disabled.
+.TP
+Direct rendering: Enabled.
+.TP
+Overlay: Disabled.
+.TP
+Plane: 1 (i.e., first overlay plane).
+.PP
+See also setDefaultFormat().
+.SH "bool QGLFormat::depth () const"
+Returns TRUE if the depth buffer is enabled; otherwise returns FALSE. The depth buffer is enabled by default.
+.PP
+See also setDepth().
+.SH "bool QGLFormat::directRendering () const"
+Returns TRUE if direct rendering is enabled; otherwise returns FALSE.
+.PP
+Direct rendering is enabled by default.
+.PP
+See also setDirectRendering().
+.SH "bool QGLFormat::doubleBuffer () const"
+Returns TRUE if double buffering is enabled; otherwise returns FALSE. Double buffering is enabled by default.
+.PP
+See also setDoubleBuffer().
+.SH "bool QGLFormat::hasOpenGL ()\fC [static]\fR"
+Returns TRUE if the window system has any OpenGL support; otherwise returns FALSE.
+.PP
+\fBWarning:\fR This function must not be called until the QApplication object has been created.
+.SH "bool QGLFormat::hasOpenGLOverlays ()\fC [static]\fR"
+Returns TRUE if the window system supports OpenGL overlays; otherwise returns FALSE.
+.PP
+\fBWarning:\fR This function must not be called until the QApplication object has been created.
+.SH "bool QGLFormat::hasOverlay () const"
+Returns TRUE if overlay plane is enabled; otherwise returns FALSE.
+.PP
+Overlay is disabled by default.
+.PP
+See also setOverlay().
+.SH "int QGLFormat::plane () const"
+Returns the plane of this format. The default for normal formats is 0, which means the normal plane. The default for overlay formats is 1, which is the first overlay plane.
+.PP
+See also setPlane().
+.SH "bool QGLFormat::rgba () const"
+Returns TRUE if RGBA color mode is set. Returns FALSE if color index mode is set. The default color mode is RGBA.
+.PP
+See also setRgba().
+.SH "void QGLFormat::setAccum ( bool enable )"
+If \fIenable\fR is TRUE enables the accumulation buffer; otherwise disables the accumulation buffer.
+.PP
+The accumulation buffer is disabled by default.
+.PP
+The accumulation buffer is used to create blur effects and multiple exposures.
+.PP
+See also accum().
+.SH "void QGLFormat::setAlpha ( bool enable )"
+If \fIenable\fR is TRUE enables the alpha channel; otherwise disables the alpha channel.
+.PP
+The alpha buffer is disabled by default.
+.PP
+The alpha channel is typically used for implementing transparency or translucency. The A in RGBA specifies the transparency of a pixel.
+.PP
+See also alpha().
+.SH "void QGLFormat::setDefaultFormat ( const QGLFormat & f )\fC [static]\fR"
+Sets a new default QGLFormat for the application to \fIf\fR. For example, to set single buffering as the default instead of double buffering, your main() might contain code like this:
+.PP
+.nf
+.br
+ QApplication a(argc, argv);
+.br
+ QGLFormat f;
+.br
+ f.setDoubleBuffer( FALSE );
+.br
+ QGLFormat::setDefaultFormat( f );
+.br
+.fi
+.PP
+See also defaultFormat().
+.SH "void QGLFormat::setDefaultOverlayFormat ( const QGLFormat & f )\fC [static]\fR"
+Sets a new default QGLFormat for overlay contexts to \fIf\fR. This format is used whenever a QGLWidget is created with a format that hasOverlay() enabled.
+.PP
+For example, to get a double buffered overlay context (if available), use code like this:
+.PP
+.nf
+.br
+ QGLFormat f = QGLFormat::defaultOverlayFormat();
+.br
+ f.setDoubleBuffer( TRUE );
+.br
+ QGLFormat::setDefaultOverlayFormat( f );
+.br
+.fi
+.PP
+As usual, you can find out after widget creation whether the underlying OpenGL system was able to provide the requested specification:
+.PP
+.nf
+.br
+ // ...continued from above
+.br
+ MyGLWidget* myWidget = new MyGLWidget( QGLFormat( QGL::HasOverlay ), ... );
+.br
+ if ( myWidget->format().hasOverlay() ) {
+.br
+ // Yes, we got an overlay, let's check _its_ format:
+.br
+ QGLContext* olContext = myWidget->overlayContext();
+.br
+ if ( olContext->format().doubleBuffer() )
+.br
+ ; // yes, we got a double buffered overlay
+.br
+ else
+.br
+ ; // no, only single buffered overlays are available
+.br
+ }
+.br
+.fi
+.PP
+See also defaultOverlayFormat().
+.SH "void QGLFormat::setDepth ( bool enable )"
+If \fIenable\fR is TRUE enables the depth buffer; otherwise disables the depth buffer.
+.PP
+The depth buffer is enabled by default.
+.PP
+The purpose of a depth buffer (or Z-buffering) is to remove hidden surfaces. Pixels are assigned Z values based on the distance to the viewer. A pixel with a high Z value is closer to the viewer than a pixel with a low Z value. This information is used to decide whether to draw a pixel or not.
+.PP
+See also depth().
+.SH "void QGLFormat::setDirectRendering ( bool enable )"
+If \fIenable\fR is TRUE enables direct rendering; otherwise disables direct rendering.
+.PP
+Direct rendering is enabled by default.
+.PP
+Enabling this option will make OpenGL bypass the underlying window system and render directly from hardware to the screen, if this is supported by the system.
+.PP
+See also directRendering().
+.SH "void QGLFormat::setDoubleBuffer ( bool enable )"
+If \fIenable\fR is TRUE sets double buffering; otherwise sets single buffering.
+.PP
+Double buffering is enabled by default.
+.PP
+Double buffering is a technique where graphics are rendered on an off-screen buffer and not directly to the screen. When the drawing has been completed, the program calls a swapBuffers() function to exchange the screen contents with the buffer. The result is flicker-free drawing and often better performance.
+.PP
+See also doubleBuffer(), QGLContext::swapBuffers(), and QGLWidget::swapBuffers().
+.SH "void QGLFormat::setOption ( FormatOption opt )"
+Sets the format option to \fIopt\fR.
+.PP
+See also testOption().
+.SH "void QGLFormat::setOverlay ( bool enable )"
+If \fIenable\fR is TRUE enables an overlay plane; otherwise disables the overlay plane.
+.PP
+Enabling the overlay plane will cause QGLWidget to create an additional context in an overlay plane. See the QGLWidget documentation for further information.
+.PP
+See also hasOverlay().
+.SH "void QGLFormat::setPlane ( int plane )"
+Sets the requested plane to \fIplane\fR. 0 is the normal plane, 1 is the first overlay plane, 2 is the second overlay plane, etc.; -1, -2, etc. are underlay planes.
+.PP
+Note that in contrast to other format specifications, the plane specifications will be matched exactly. This means that if you specify a plane that the underlying OpenGL system cannot provide, an invalid QGLWidget will be created.
+.PP
+See also plane().
+.SH "void QGLFormat::setRgba ( bool enable )"
+If \fIenable\fR is TRUE sets RGBA mode. If \fIenable\fR is FALSE sets color index mode.
+.PP
+The default color mode is RGBA.
+.PP
+RGBA is the preferred mode for most OpenGL applications. In RGBA color mode you specify colors as red + green + blue + alpha quadruplets.
+.PP
+In color index mode you specify an index into a color lookup table.
+.PP
+See also rgba().
+.SH "void QGLFormat::setStencil ( bool enable )"
+If \fIenable\fR is TRUE enables the stencil buffer; otherwise disables the stencil buffer.
+.PP
+The stencil buffer is disabled by default.
+.PP
+The stencil buffer masks certain parts of the drawing area so that masked parts are not drawn on.
+.PP
+See also stencil().
+.SH "void QGLFormat::setStereo ( bool enable )"
+If \fIenable\fR is TRUE enables stereo buffering; otherwise disables stereo buffering.
+.PP
+Stereo buffering is disabled by default.
+.PP
+Stereo buffering provides extra color buffers to generate left-eye and right-eye images.
+.PP
+See also stereo().
+.SH "bool QGLFormat::stencil () const"
+Returns TRUE if the stencil buffer is enabled; otherwise returns FALSE. The stencil buffer is disabled by default.
+.PP
+See also setStencil().
+.SH "bool QGLFormat::stereo () const"
+Returns TRUE if stereo buffering is enabled; otherwise returns FALSE. Stereo buffering is disabled by default.
+.PP
+See also setStereo().
+.SH "bool QGLFormat::testOption ( FormatOption opt ) const"
+Returns TRUE if format option \fIopt\fR is set; otherwise returns FALSE.
+.PP
+See also setOption().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qglformat.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qglformat.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qglwidget.3qt b/doc/man/man3/qglwidget.3qt
new file mode 100644
index 0000000..c818b08
--- /dev/null
+++ b/doc/man/man3/qglwidget.3qt
@@ -0,0 +1,512 @@
+'\" t
+.TH QGLWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGLWidget \- Widget for rendering OpenGL graphics
+.SH SYNOPSIS
+\fC#include <qgl.h>\fR
+.PP
+Inherits QWidget and QGL.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGLWidget\fR ( QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQGLWidget\fR ( QGLContext * context, QWidget * parent, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQGLWidget\fR ( const QGLFormat & format, QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QGLWidget\fR ()"
+.br
+.ti -1c
+.BI "void \fBqglColor\fR ( const QColor & c ) const"
+.br
+.ti -1c
+.BI "void \fBqglClearColor\fR ( const QColor & c ) const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSharing\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBmakeCurrent\fR ()"
+.br
+.ti -1c
+.BI "void \fBdoneCurrent\fR ()"
+.br
+.ti -1c
+.BI "bool \fBdoubleBuffer\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBswapBuffers\fR ()"
+.br
+.ti -1c
+.BI "QGLFormat \fBformat\fR () const"
+.br
+.ti -1c
+.BI "const QGLContext * \fBcontext\fR () const"
+.br
+.ti -1c
+.BI "virtual QPixmap \fBrenderPixmap\fR ( int w = 0, int h = 0, bool useContext = FALSE )"
+.br
+.ti -1c
+.BI "virtual QImage \fBgrabFrameBuffer\fR ( bool withAlpha = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBmakeOverlayCurrent\fR ()"
+.br
+.ti -1c
+.BI "const QGLContext * \fBoverlayContext\fR () const"
+.br
+.ti -1c
+.BI "const QGLColormap & \fBcolormap\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetColormap\fR ( const QGLColormap & cmap )"
+.br
+.ti -1c
+.BI "void \fBrenderText\fR ( int x, int y, const QString & str, const QFont & fnt = QFont ( ), int listBase = 2000 )"
+.br
+.ti -1c
+.BI "void \fBrenderText\fR ( double x, double y, double z, const QString & str, const QFont & fnt = QFont ( ), int listBase = 2000 )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBupdateGL\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBupdateOverlayGL\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QImage \fBconvertToGLFormat\fR ( const QImage & img )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBinitializeGL\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBresizeGL\fR ( int width, int height )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintGL\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinitializeOverlayGL\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBresizeOverlayGL\fR ( int width, int height )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintOverlayGL\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetAutoBufferSwap\fR ( bool on )"
+.br
+.ti -1c
+.BI "bool \fBautoBufferSwap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBresizeEvent\fR ( QResizeEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBglInit\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBglDraw\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGLWidget class is a widget for rendering OpenGL graphics.
+.PP
+QGLWidget provides functionality for displaying OpenGL<sup>*</sup> graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that instead of drawing the widget's contents using QPainter etc. you use the standard OpenGL rendering commands.
+.PP
+QGLWidget provides three convenient virtual functions that you can reimplement in your subclass to perform the typical OpenGL tasks:
+.TP
+paintGL() - Renders the OpenGL scene. Gets called whenever the widget needs to be updated.
+.TP
+resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
+.TP
+initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first time resizeGL() or paintGL() is called.
+.PP
+Here is a rough outline of how a QGLWidget subclass might look:
+.PP
+.nf
+.br
+ class MyGLDrawer : public QGLWidget
+.br
+ {
+.br
+ Q_OBJECT // must include this if you use Qt signals/slots
+.br
+.br
+ public:
+.br
+ MyGLDrawer( QWidget *parent, const char *name )
+.br
+ : QGLWidget(parent, name) {}
+.br
+.br
+ protected:
+.br
+.br
+ void initializeGL()
+.br
+ {
+.br
+ // Set up the rendering context, define display lists etc.:
+.br
+ ...
+.br
+ glClearColor( 0.0, 0.0, 0.0, 0.0 );
+.br
+ glEnable(GL_DEPTH_TEST);
+.br
+ ...
+.br
+ }
+.br
+.br
+ void resizeGL( int w, int h )
+.br
+ {
+.br
+ // setup viewport, projection etc.:
+.br
+ glViewport( 0, 0, (GLint)w, (GLint)h );
+.br
+ ...
+.br
+ glFrustum( ... );
+.br
+ ...
+.br
+ }
+.br
+.br
+ void paintGL()
+.br
+ {
+.br
+ // draw the scene:
+.br
+ ...
+.br
+ glRotatef( ... );
+.br
+ glMaterialfv( ... );
+.br
+ glBegin( GL_QUADS );
+.br
+ glVertex3f( ... );
+.br
+ glVertex3f( ... );
+.br
+ ...
+.br
+ glEnd();
+.br
+ ...
+.br
+ }
+.br
+.br
+ };
+.br
+.fi
+.PP
+If you need to trigger a repaint from places other than paintGL() (a typical example is when using timers to animate scenes), you should call the widget's updateGL() function.
+.PP
+Your widget's OpenGL rendering context is made current when paintGL(), resizeGL(), or initializeGL() is called. If you need to call the standard OpenGL API functions from other places (e.g. in your widget's constructor or in your own paint functions), you must call makeCurrent() first.
+.PP
+QGLWidget provides functions for requesting a new display format and you can also create widgets with customized rendering contexts.
+.PP
+You can also share OpenGL display lists between QGLWidgets (see the documentation of the QGLWidget constructors for details).
+.SH "Overlays"
+The QGLWidget creates a GL overlay context in addition to the normal context if overlays are supported by the underlying system.
+.PP
+If you want to use overlays, you specify it in the format. (Note: Overlay must be requested in the format passed to the QGLWidget constructor.) Your GL widget should also implement some or all of these virtual methods:
+.TP
+paintOverlayGL()
+.TP
+resizeOverlayGL()
+.TP
+initializeOverlayGL()
+.PP
+These methods work in the same way as the normal paintGL() etc. functions, except that they will be called when the overlay context is made current. You can explicitly make the overlay context current by using makeOverlayCurrent(), and you can access the overlay context directly (e.g. to ask for its transparent color) by calling overlayContext().
+.PP
+On X servers in which the default visual is in an overlay plane, non-GL Qt windows can also be used for overlays. See the examples/opengl/overlay_x11 example program for details.
+.PP
+<sup>*</sup> OpenGL is a trademark of Silicon Graphics, Inc. in the United States and other countries.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGLWidget::QGLWidget ( QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+Constructs an OpenGL widget with a \fIparent\fR widget and a \fIname\fR.
+.PP
+The default format is used. The widget will be invalid if the system has no OpenGL support.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag, \fIf\fR, arguments are passed to the QWidget constructor.
+.PP
+If the \fIshareWidget\fR parameter points to a valid QGLWidget, this widget will share OpenGL display lists with \fIshareWidget\fR. If this widget and \fIshareWidget\fR have different formats, display list sharing may fail. You can check whether display list sharing succeeded by calling isSharing().
+.PP
+The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.
+.PP
+See also QGLFormat::defaultFormat().
+.SH "QGLWidget::QGLWidget ( QGLContext * context, QWidget * parent, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+Constructs an OpenGL widget with parent \fIparent\fR, called \fIname\fR.
+.PP
+The \fIcontext\fR argument is a pointer to the QGLContext that you wish to be bound to this widget. This allows you to pass in your own QGLContext sub-classes.
+.PP
+The widget will be invalid if the system has no OpenGL support.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag, \fIf\fR, arguments are passed to the QWidget constructor.
+.PP
+If the \fIshareWidget\fR parameter points to a valid QGLWidget, this widget will share OpenGL display lists with \fIshareWidget\fR. If this widget and \fIshareWidget\fR have different formats, display list sharing may fail. You can check whether display list sharing succeeded by calling isSharing().
+.PP
+The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.
+.PP
+See also QGLFormat::defaultFormat() and isValid().
+.SH "QGLWidget::QGLWidget ( const QGLFormat & format, QWidget * parent = 0, const char * name = 0, const QGLWidget * shareWidget = 0, WFlags f = 0 )"
+Constructs an OpenGL widget with parent \fIparent\fR, called \fIname\fR.
+.PP
+The \fIformat\fR argument specifies the desired rendering options. If the underlying OpenGL/Window system cannot satisfy all the features requested in \fIformat\fR, the nearest subset of features will be used. After creation, the format() method will return the actual format obtained.
+.PP
+The widget will be invalid if the system has no OpenGL support.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag, \fIf\fR, arguments are passed to the QWidget constructor.
+.PP
+If the \fIshareWidget\fR parameter points to a valid QGLWidget, this widget will share OpenGL display lists with \fIshareWidget\fR. If this widget and \fIshareWidget\fR have different formats, display list sharing may fail. You can check whether display list sharing succeeded by calling isSharing().
+.PP
+The initialization of OpenGL rendering state, etc. should be done by overriding the initializeGL() function, rather than in the constructor of your QGLWidget subclass.
+.PP
+See also QGLFormat::defaultFormat() and isValid().
+.SH "QGLWidget::~QGLWidget ()"
+Destroys the widget.
+.SH "bool QGLWidget::autoBufferSwap () const\fC [protected]\fR"
+Returns TRUE if the widget is doing automatic GL buffer swapping; otherwise returns FALSE.
+.PP
+See also setAutoBufferSwap().
+.SH "const QGLColormap & QGLWidget::colormap () const"
+Returns the colormap for this widget.
+.PP
+Usually it is only top-level widgets that can have different colormaps installed. Asking for the colormap of a child widget will return the colormap for the child's top-level widget.
+.PP
+If no colormap has been set for this widget, the QColormap returned will be empty.
+.PP
+See also setColormap().
+.SH "const QGLContext * QGLWidget::context () const"
+Returns the context of this widget.
+.PP
+It is possible that the context is not valid (see isValid()), for example, if the underlying hardware does not support the format attributes that were requested.
+.SH "QImage QGLWidget::convertToGLFormat ( const QImage & img )\fC [static]\fR"
+Converts the image \fIimg\fR into the unnamed format expected by OpenGL functions such as glTexImage2D(). The returned image is not usable as a QImage, but QImage::width(), QImage::height() and QImage::bits() may be used with OpenGL. The following few lines are from the texture example. Most of the code is irrelevant, so we just quote the relevant bits:
+.PP
+.nf
+.br
+ QImage tex1, tex2, buf;
+.br
+ if ( !buf.load( "gllogo.bmp" ) ) { // Load first image from file
+.fi
+.PP
+We create \fItex1\fR (and another variable) for OpenGL, and load a real image into \fIbuf\fR.
+.PP
+.nf
+.br
+ tex1 = QGLWidget::convertToGLFormat( buf ); // flipped 32bit RGBA
+.fi
+.PP
+A few lines later, we convert \fIbuf\fR into OpenGL format and store it in \fItex1\fR.
+.PP
+.nf
+.br
+ glTexImage2D( GL_TEXTURE_2D, 0, 3, tex1.width(), tex1.height(), 0,
+.br
+ GL_RGBA, GL_UNSIGNED_BYTE, tex1.bits() );
+.fi
+.PP
+Note the dimension restrictions for texture images as described in the glTexImage2D() documentation. The width must be 2^m + 2*border and the height 2^n + 2*border where m and n are integers and border is either 0 or 1.
+.PP
+Another function in the same example uses \fItex1\fR with OpenGL.
+.PP
+Example: opengl/texture/gltexobj.cpp.
+.SH "void QGLWidget::doneCurrent ()"
+Makes no GL context the current context. Normally, you do not need to call this function; QGLContext calls it as necessary. However, it may be useful in multithreaded environments.
+.SH "bool QGLWidget::doubleBuffer () const"
+Returns TRUE if the contained GL rendering context has double buffering; otherwise returns FALSE.
+.PP
+See also QGLFormat::doubleBuffer().
+.SH "QGLFormat QGLWidget::format () const"
+Returns the format of the contained GL rendering context.
+.SH "void QGLWidget::glDraw ()\fC [virtual protected]\fR"
+Executes the virtual function paintGL().
+.PP
+The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.
+.SH "void QGLWidget::glInit ()\fC [virtual protected]\fR"
+Initializes OpenGL for this widget's context. Calls the virtual function initializeGL().
+.SH "QImage QGLWidget::grabFrameBuffer ( bool withAlpha = FALSE )\fC [virtual]\fR"
+Returns an image of the frame buffer. If \fIwithAlpha\fR is TRUE the alpha channel is included.
+.PP
+Depending on your hardware, you can explicitly select which color buffer to grab with a glReadBuffer() call before calling this function.
+.SH "void QGLWidget::initializeGL ()\fC [virtual protected]\fR"
+This virtual function is called once before the first call to paintGL() or resizeGL(), and then once whenever the widget has been assigned a new QGLContext. Reimplement it in a subclass.
+.PP
+This function should set up any required OpenGL context rendering flags, defining display lists, etc.
+.PP
+There is no need to call makeCurrent() because this has already been done when this function is called.
+.SH "void QGLWidget::initializeOverlayGL ()\fC [virtual protected]\fR"
+This virtual function is used in the same manner as initializeGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that initializeOverlayGL() is called once before the first call to paintOverlayGL() or resizeOverlayGL(). Reimplement it in a subclass.
+.PP
+This function should set up any required OpenGL context rendering flags, defining display lists, etc. for the overlay context.
+.PP
+There is no need to call makeOverlayCurrent() because this has already been done when this function is called.
+.SH "bool QGLWidget::isSharing () const"
+Returns TRUE if display list sharing with another QGLWidget was requested in the constructor, and the GL system was able to provide it; otherwise returns FALSE. The GL system may fail to provide display list sharing if the two QGLWidgets use different formats.
+.PP
+See also format().
+.SH "bool QGLWidget::isValid () const"
+Returns TRUE if the widget has a valid GL rendering context; otherwise returns FALSE. A widget will be invalid if the system has no OpenGL support.
+.SH "void QGLWidget::makeCurrent ()\fC [virtual]\fR"
+Makes this widget the current widget for OpenGL operations, i.e. makes the widget's rendering context the current OpenGL rendering context.
+.SH "void QGLWidget::makeOverlayCurrent ()\fC [virtual]\fR"
+Makes the overlay context of this widget current. Use this if you need to issue OpenGL commands to the overlay context outside of initializeOverlayGL(), resizeOverlayGL(), and paintOverlayGL().
+.PP
+Does nothing if this widget has no overlay.
+.PP
+See also makeCurrent().
+.SH "const QGLContext * QGLWidget::overlayContext () const"
+Returns the overlay context of this widget, or 0 if this widget has no overlay.
+.PP
+See also context().
+.SH "void QGLWidget::paintEvent ( QPaintEvent * )\fC [virtual protected]\fR"
+Handles paint events. Will cause the virtual paintGL() function to be called.
+.PP
+The widget's rendering context will become the current context and initializeGL() will be called if it hasn't already been called.
+.PP
+Reimplemented from QWidget.
+.SH "void QGLWidget::paintGL ()\fC [virtual protected]\fR"
+This virtual function is called whenever the widget needs to be painted. Reimplement it in a subclass.
+.PP
+There is no need to call makeCurrent() because this has already been done when this function is called.
+.SH "void QGLWidget::paintOverlayGL ()\fC [virtual protected]\fR"
+This virtual function is used in the same manner as paintGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that paintOverlayGL() is called whenever the widget's overlay needs to be painted. Reimplement it in a subclass.
+.PP
+There is no need to call makeOverlayCurrent() because this has already been done when this function is called.
+.SH "void QGLWidget::qglClearColor ( const QColor & c ) const"
+Convenience function for specifying the clearing color to OpenGL. Calls glClearColor (in RGBA mode) or glClearIndex (in color-index mode) with the color \fIc\fR. Applies to the current GL context.
+.PP
+See also qglColor(), QGLContext::currentContext(), and QColor.
+.SH "void QGLWidget::qglColor ( const QColor & c ) const"
+Convenience function for specifying a drawing color to OpenGL. Calls glColor3 (in RGBA mode) or glIndex (in color-index mode) with the color \fIc\fR. Applies to the current GL context.
+.PP
+See also qglClearColor(), QGLContext::currentContext(), and QColor.
+.SH "QPixmap QGLWidget::renderPixmap ( int w = 0, int h = 0, bool useContext = FALSE )\fC [virtual]\fR"
+Renders the current scene on a pixmap and returns the pixmap.
+.PP
+You can use this method on both visible and invisible QGLWidgets.
+.PP
+This method will create a pixmap and a temporary QGLContext to render on the pixmap. It will then call initializeGL(), resizeGL(), and paintGL() on this context. Finally, the widget's original GL context is restored.
+.PP
+The size of the pixmap will be \fIw\fR pixels wide and \fIh\fR pixels high unless one of these parameters is 0 (the default), in which case the pixmap will have the same size as the widget.
+.PP
+If \fIuseContext\fR is TRUE, this method will try to be more efficient by using the existing GL context to render the pixmap. The default is FALSE. Only use TRUE if you understand the risks.
+.PP
+Overlays are not rendered onto the pixmap.
+.PP
+If the GL rendering context and the desktop have different bit depths, the result will most likely look surprising.
+.PP
+Note that the creation of display lists, modifications of the view frustum etc. should be done from within initializeGL(). If this is not done, the temporary QGLContext will not be initialized properly, and the rendered pixmap may be incomplete/corrupted.
+.SH "void QGLWidget::renderText ( int x, int y, const QString & str, const QFont & fnt = QFont ( ), int listBase = 2000 )"
+Renders the string \fIstr\fR into the GL context of this widget.
+.PP
+\fIx\fR and \fIy\fR are specified in window coordinates, with the origin in the upper left-hand corner of the window. If \fIfnt\fR is not specified, the currently set application font will be used to render the string. To change the color of the rendered text you can use the glColor() call (or the qglColor() convenience function), just before the renderText() call. Note that if you have GL_LIGHTING enabled, the string will not appear in the color you want. You should therefore switch lighting off before using renderText().
+.PP
+\fIlistBase\fR specifies the index of the first display list that is generated by this function. The default value is 2000. 256 display lists will be generated, one for each of the first 256 characters in the font that is used to render the string. If several fonts are used in the same widget, the display lists for these fonts will follow the last generated list. You would normally not have to change this value unless you are using lists in the same range. The lists are deleted when the widget is destroyed.
+.PP
+Note: This function only works reliably with ASCII strings.
+.SH "void QGLWidget::renderText ( double x, double y, double z, const QString & str, const QFont & fnt = QFont ( ), int listBase = 2000 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIx\fR, \fIy\fR and \fIz\fR are specified in scene or object coordinates relative to the currently set projection and model matrices. This can be useful if you want to annotate models with text labels and have the labels move with the model as it is rotated etc.
+.SH "void QGLWidget::resizeEvent ( QResizeEvent * )\fC [virtual protected]\fR"
+Handles resize events. Calls the virtual function resizeGL().
+.PP
+Reimplemented from QWidget.
+.SH "void QGLWidget::resizeGL ( int width, int height )\fC [virtual protected]\fR"
+This virtual function is called whenever the widget has been resized. The new size is passed in \fIwidth\fR and \fIheight\fR. Reimplement it in a subclass.
+.PP
+There is no need to call makeCurrent() because this has already been done when this function is called.
+.SH "void QGLWidget::resizeOverlayGL ( int width, int height )\fC [virtual protected]\fR"
+This virtual function is used in the same manner as paintGL() except that it operates on the widget's overlay context instead of the widget's main context. This means that resizeOverlayGL() is called whenever the widget has been resized. The new size is passed in \fIwidth\fR and \fIheight\fR. Reimplement it in a subclass.
+.PP
+There is no need to call makeOverlayCurrent() because this has already been done when this function is called.
+.SH "void QGLWidget::setAutoBufferSwap ( bool on )\fC [protected]\fR"
+If \fIon\fR is TRUE automatic GL buffer swapping is switched on; otherwise it is switched off.
+.PP
+If \fIon\fR is TRUE and the widget is using a double-buffered format, the background and foreground GL buffers will automatically be swapped after each paintGL() call.
+.PP
+The buffer auto-swapping is on by default.
+.PP
+See also autoBufferSwap(), doubleBuffer(), and swapBuffers().
+.SH "void QGLWidget::setColormap ( const QGLColormap & cmap )"
+Set the colormap for this widget to \fIcmap\fR. Usually it is only top-level widgets that can have colormaps installed.
+.PP
+See also colormap().
+.SH "void QGLWidget::swapBuffers ()\fC [virtual]\fR"
+Swaps the screen contents with an off-screen buffer. This only works if the widget's format specifies double buffer mode.
+.PP
+Normally, there is no need to explicitly call this function because it is done automatically after each widget repaint, i.e. each time after paintGL() has been executed.
+.PP
+See also doubleBuffer(), setAutoBufferSwap(), and QGLFormat::setDoubleBuffer().
+.SH "void QGLWidget::updateGL ()\fC [virtual slot]\fR"
+Updates the widget by calling glDraw().
+.SH "void QGLWidget::updateOverlayGL ()\fC [virtual slot]\fR"
+Updates the widget's overlay (if any). Will cause the virtual function paintOverlayGL() to be executed.
+.PP
+The widget's rendering context will become the current context and
+initializeGL() will be called if it hasn't already been called.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qglwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qglwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgrid.3qt b/doc/man/man3/qgrid.3qt
new file mode 100644
index 0000000..1e87e9f
--- /dev/null
+++ b/doc/man/man3/qgrid.3qt
@@ -0,0 +1,75 @@
+'\" t
+.TH QGrid 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGrid \- Simple geometry management of its children
+.SH SYNOPSIS
+\fC#include <qgrid.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGrid\fR ( int n, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQGrid\fR ( int n, Orientation orient, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetSpacing\fR ( int space )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGrid widget provides simple geometry management of its children.
+.PP
+The grid places its widgets either in columns or in rows depending on its orientation.
+.PP
+The number of rows \fIor\fR columns is defined in the constructor. All the grid's children will be placed and sized in accordance with their sizeHint() and sizePolicy().
+.PP
+Use setMargin() to add space around the grid itself, and setSpacing() to add space between the widgets.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QVBox, QHBox, QGridLayout, Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGrid::QGrid ( int n, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a grid widget with parent \fIparent\fR, called \fIname\fR. \fIn\fR specifies the number of columns. The widget flags \fIf\fR are passed to the QFrame constructor.
+.SH "QGrid::QGrid ( int n, Orientation orient, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a grid widget with parent \fIparent\fR, called \fIname\fR. If \fIorient\fR is Horizontal, \fIn\fR specifies the number of columns. If \fIorient\fR is Vertical, \fIn\fR specifies the number of rows. The widget flags \fIf\fR are passed to the QFrame constructor.
+.SH "void QGrid::setSpacing ( int space )"
+Sets the spacing between the child widgets to \fIspace\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgrid.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgrid.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgridlayout.3qt b/doc/man/man3/qgridlayout.3qt
new file mode 100644
index 0000000..0ccfe24
--- /dev/null
+++ b/doc/man/man3/qgridlayout.3qt
@@ -0,0 +1,390 @@
+'\" t
+.TH QGridLayout 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGridLayout \- Lays out widgets in a grid
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QLayout.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGridLayout\fR ( QWidget * parent, int nRows = 1, int nCols = 1, int margin = 0, int space = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQGridLayout\fR ( int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQGridLayout\fR ( QLayout * parentLayout, int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QGridLayout\fR ()"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowStretch\fR ( int row, int stretch )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColStretch\fR ( int col, int stretch )"
+.br
+.ti -1c
+.BI "int \fBrowStretch\fR ( int row ) const"
+.br
+.ti -1c
+.BI "int \fBcolStretch\fR ( int col ) const"
+.br
+.ti -1c
+.BI "void \fBsetRowSpacing\fR ( int row, int minSize )"
+.br
+.ti -1c
+.BI "void \fBsetColSpacing\fR ( int col, int minSize )"
+.br
+.ti -1c
+.BI "int \fBrowSpacing\fR ( int row ) const"
+.br
+.ti -1c
+.BI "int \fBcolSpacing\fR ( int col ) const"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBcellGeometry\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasHeightForWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBinvalidate\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBaddItem\fR ( QLayoutItem * item )"
+.br
+.ti -1c
+.BI "void \fBaddItem\fR ( QLayoutItem * item, int row, int col )"
+.br
+.ti -1c
+.BI "void \fBaddMultiCell\fR ( QLayoutItem * item, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddWidget\fR ( QWidget * w, int row, int col, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddMultiCellWidget\fR ( QWidget * w, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddLayout\fR ( QLayout * layout, int row, int col )"
+.br
+.ti -1c
+.BI "void \fBaddMultiCellLayout\fR ( QLayout * layout, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+.br
+.ti -1c
+.BI "void addRowSpacing ( int row, int minsize ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void addColSpacing ( int col, int minsize ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBexpand\fR ( int nRows, int nCols )"
+.br
+.ti -1c
+.BI "enum \fBCorner\fR { TopLeft, TopRight, BottomLeft, BottomRight }"
+.br
+.ti -1c
+.BI "void \fBsetOrigin\fR ( Corner c )"
+.br
+.ti -1c
+.BI "Corner \fBorigin\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "bool \fBfindWidget\fR ( QWidget * w, int * row, int * col )"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QLayoutItem * item, int row, int col )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGridLayout class lays out widgets in a grid.
+.PP
+QGridLayout takes the space made available to it (by its parent layout or by the mainWidget()), divides it up into rows and columns, and puts each widget it manages into the correct cell.
+.PP
+Columns and rows behave identically; we will discuss columns, but there are equivalent functions for rows.
+.PP
+Each column has a minimum width and a stretch factor. The minimum width is the greatest of that set using addColSpacing() and the minimum width of each widget in that column. The stretch factor is set using setColStretch() and determines how much of the available space the column will get over and above its necessary minimum.
+.PP
+Normally, each managed widget or layout is put into a cell of its own using addWidget(), addLayout() or by the auto-add facility. It is also possible for a widget to occupy multiple cells using addMultiCellWidget(). If you do this, QGridLayout will guess how to distribute the size over the columns/rows (based on the stretch factors).
+.PP
+To remove a widget from a layout, call remove(). Calling QWidget::hide() on a widget also effectively removes the widget from the layout until QWidget::show() is called.
+.PP
+This illustration shows a fragment of a dialog with a five-column, three-row grid (the grid is shown overlaid in magenta):
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+Columns 0, 2 and 4 in this dialog fragment are made up of a QLabel, a QLineEdit, and a QListBox. Columns 1 and 3 are placeholders made with addColSpacing(). Row 0 consists of three QLabel objects, row 1 of three QLineEdit objects and row 2 of three QListBox objects. We used placeholder columns (1 and 3) to get the right amount of space between the columns.
+.PP
+Note that the columns and rows are not equally wide or tall. If you want two columns to have the same width, you must set their minimum widths and stretch factors to be the same yourself. You do this using addColSpacing() and setColStretch().
+.PP
+If the QGridLayout is not the top-level layout (i.e. does not manage all of the widget's area and children), you must add it to its parent layout when you create it, but before you do anything with it. The normal way to add a layout is by calling parentLayout->addLayout().
+.PP
+Once you have added your layout you can start putting widgets and other layouts into the cells of your grid layout using addWidget(), addLayout() and addMultiCellWidget().
+.PP
+QGridLayout also includes two margin widths: the border and the spacing. The border is the width of the reserved space along each of the QGridLayout's four sides. The spacing is the width of the automatically allocated spacing between neighboring boxes.
+.PP
+Both the border and the spacing are parameters of the constructor and default to 0.
+.PP
+See also QGrid, Layout Overview, Widget Appearance and Style, and Layout Management.
+.SS "Member Type Documentation"
+.SH "QGridLayout::Corner"
+This enum identifies which corner is the origin (0, 0) of the layout.
+.TP
+\fCQGridLayout::TopLeft\fR - the top-left corner
+.TP
+\fCQGridLayout::TopRight\fR - the top-right corner
+.TP
+\fCQGridLayout::BottomLeft\fR - the bottom-left corner
+.TP
+\fCQGridLayout::BottomRight\fR - the bottom-right corner
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGridLayout::QGridLayout ( QWidget * parent, int nRows = 1, int nCols = 1, int margin = 0, int space = -1, const char * name = 0 )"
+Constructs a new QGridLayout with \fInRows\fR rows, \fInCols\fR columns and parent widget, \fIparent\fR. \fIparent\fR may not be 0. The grid layout is called \fIname\fR.
+.PP
+\fImargin\fR is the number of pixels between the edge of the widget and its managed children. \fIspace\fR is the default number of pixels between cells. If \fIspace\fR is -1, the value of \fImargin\fR is used.
+.SH "QGridLayout::QGridLayout ( int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 )"
+Constructs a new grid with \fInRows\fR rows and \fInCols\fR columns. If \fIspacing\fR is -1, this QGridLayout inherits its parent's spacing(); otherwise \fIspacing\fR is used. The grid layout is called \fIname\fR.
+.PP
+You must insert this grid into another layout. You can insert widgets and layouts into this layout at any time, but laying out will not be performed before this is inserted into another layout.
+.SH "QGridLayout::QGridLayout ( QLayout * parentLayout, int nRows = 1, int nCols = 1, int spacing = -1, const char * name = 0 )"
+Constructs a new grid that is placed inside \fIparentLayout\fR with \fInRows\fR rows and \fInCols\fR columns. If \fIspacing\fR is -1, this QGridLayout inherits its parent's spacing(); otherwise \fIspacing\fR is used. The grid layout is called \fIname\fR.
+.PP
+This grid is placed according to \fIparentLayout\fR's default placement rules.
+.SH "QGridLayout::~QGridLayout ()"
+Destroys the grid layout. Geometry management is terminated if this is a top-level grid.
+.PP
+The layout's widgets aren't destroyed.
+.SH "void QGridLayout::add ( QLayoutItem * item, int row, int col )\fC [protected]\fR"
+Adds \fIitem\fR at position \fIrow\fR, \fIcol\fR. The layout takes ownership of the \fIitem\fR.
+.SH "void QGridLayout::addColSpacing ( int col, int minsize )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the minimum width of column \fIcol\fR to \fIminsize\fR pixels.
+.PP
+Use setColSpacing() instead.
+.SH "void QGridLayout::addItem ( QLayoutItem * item, int row, int col )"
+Adds \fIitem\fR at position \fIrow\fR, \fIcol\fR. The layout takes ownership of the \fIitem\fR.
+.SH "void QGridLayout::addItem ( QLayoutItem * item )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds \fIitem\fR to the next free position of this layout.
+.PP
+Reimplemented from QLayout.
+.SH "void QGridLayout::addLayout ( QLayout * layout, int row, int col )"
+Places the \fIlayout\fR at position (\fIrow\fR, \fIcol\fR) in the grid. The top-left position is (0, 0).
+.PP
+\fIlayout\fR becomes a child of the grid layout.
+.PP
+When a layout is constructed with another layout as its parent, you don't need to call addLayout(); the child layout is automatically added to the parent layout as it is constructed.
+.PP
+See also addMultiCellLayout().
+.PP
+Examples:
+.)l listbox/listbox.cpp, progressbar/progressbar.cpp, t10/main.cpp, and t13/gamebrd.cpp.
+.SH "void QGridLayout::addMultiCell ( QLayoutItem * item, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+Adds the \fIitem\fR to the cell grid, spanning multiple rows/columns.
+.PP
+The cell will span from \fIfromRow\fR, \fIfromCol\fR to \fItoRow\fR, \fItoCol\fR. Alignment is specified by \fIalignment\fR, which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.SH "void QGridLayout::addMultiCellLayout ( QLayout * layout, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+Adds the layout \fIlayout\fR to the cell grid, spanning multiple rows/columns. The cell will span from \fIfromRow\fR, \fIfromCol\fR to \fItoRow\fR, \fItoCol\fR.
+.PP
+Alignment is specified by \fIalignment\fR, which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.PP
+A non-zero alignment indicates that the layout should not grow to fill the available space but should be sized according to sizeHint().
+.PP
+\fIlayout\fR becomes a child of the grid layout.
+.PP
+See also addLayout().
+.SH "void QGridLayout::addMultiCellWidget ( QWidget * w, int fromRow, int toRow, int fromCol, int toCol, int alignment = 0 )"
+Adds the widget \fIw\fR to the cell grid, spanning multiple rows/columns. The cell will span from \fIfromRow\fR, \fIfromCol\fR to \fItoRow\fR, \fItoCol\fR.
+.PP
+Alignment is specified by \fIalignment\fR, which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.PP
+A non-zero alignment indicates that the widget should not grow to fill the available space but should be sized according to sizeHint().
+.PP
+See also addWidget().
+.PP
+Examples:
+.)l cursor/cursor.cpp, layout/layout.cpp, and progressbar/progressbar.cpp.
+.SH "void QGridLayout::addRowSpacing ( int row, int minsize )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the minimum height of row \fIrow\fR to \fIminsize\fR pixels.
+.PP
+Use setRowSpacing() instead.
+.SH "void QGridLayout::addWidget ( QWidget * w, int row, int col, int alignment = 0 )"
+Adds the widget \fIw\fR to the cell grid at \fIrow\fR, \fIcol\fR. The top-left position is (0, 0) by default.
+.PP
+Alignment is specified by \fIalignment\fR, which is a bitwise OR of Qt::AlignmentFlags values. The default alignment is 0, which means that the widget fills the entire cell.
+.TP
+You should not call this if you have enabled the auto-add facility of the layout.
+.IP
+.TP
+From Qt 3.0, the \fIalignment\fR parameter is interpreted more aggressively than in previous versions of Qt. A non-default alignment now indicates that the widget should not grow to fill the available space, but should be sized according to sizeHint().
+.PP
+See also addMultiCellWidget().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, layout/layout.cpp, rot13/rot13.cpp, sql/overview/form1/main.cpp, sql/overview/form2/main.cpp, t14/gamebrd.cpp, and t8/main.cpp.
+.SH "QRect QGridLayout::cellGeometry ( int row, int col ) const"
+Returns the geometry of the cell with row \fIrow\fR and column \fIcol\fR in the grid. Returns an invalid rectangle if \fIrow\fR or \fIcol\fR is outside the grid.
+.PP
+\fBWarning:\fR in the current version of Qt this function does not return valid results until setGeometry() has been called, i.e. after the mainWidget() is visible.
+.SH "int QGridLayout::colSpacing ( int col ) const"
+Returns the column spacing for column \fIcol\fR.
+.PP
+See also setColSpacing().
+.SH "int QGridLayout::colStretch ( int col ) const"
+Returns the stretch factor for column \fIcol\fR.
+.PP
+See also setColStretch().
+.SH "void QGridLayout::expand ( int nRows, int nCols )"
+Expands this grid so that it will have \fInRows\fR rows and \fInCols\fR columns. Will not shrink the grid. You should not need to call this function because QGridLayout expands automatically as new items are inserted.
+.SH "QSizePolicy::ExpandData QGridLayout::expanding () const\fC [virtual]\fR"
+Returns whether this layout can make use of more space than sizeHint(). A value of Vertical or Horizontal means that it wants to grow in only one dimension, whereas \fCBothDirections\fR means that it wants to grow in both dimensions.
+.PP
+Reimplemented from QLayout.
+.SH "bool QGridLayout::findWidget ( QWidget * w, int * row, int * col )\fC [protected]\fR"
+Searches for widget \fIw\fR in this layout (not including child layouts). If \fIw\fR is found, it sets \fC<em>row</em>\fR and \fC<em>col</em>\fR to the row and column and returns TRUE; otherwise returns FALSE.
+.PP
+Note: if a widget spans multiple rows/columns, the top-left cell is returned.
+.SH "bool QGridLayout::hasHeightForWidth () const\fC [virtual]\fR"
+Returns TRUE if this layout's preferred height depends on its width; otherwise returns FALSE.
+.PP
+Reimplemented from QLayoutItem.
+.SH "int QGridLayout::heightForWidth ( int w ) const\fC [virtual]\fR"
+Returns the layout's preferred height when it is \fIw\fR pixels wide.
+.PP
+Reimplemented from QLayoutItem.
+.SH "void QGridLayout::invalidate ()\fC [virtual]\fR"
+Resets cached information.
+.PP
+Reimplemented from QLayout.
+.SH "QSize QGridLayout::maximumSize () const\fC [virtual]\fR"
+Returns the maximum size needed by this grid.
+.PP
+Reimplemented from QLayout.
+.SH "QSize QGridLayout::minimumSize () const\fC [virtual]\fR"
+Returns the minimum size needed by this grid.
+.PP
+Reimplemented from QLayout.
+.SH "int QGridLayout::numCols () const"
+Returns the number of columns in this grid.
+.SH "int QGridLayout::numRows () const"
+Returns the number of rows in this grid.
+.SH "Corner QGridLayout::origin () const"
+Returns the corner that's used for the grid's origin, i.e. for position (0, 0).
+.SH "int QGridLayout::rowSpacing ( int row ) const"
+Returns the row spacing for row \fIrow\fR.
+.PP
+See also setRowSpacing().
+.SH "int QGridLayout::rowStretch ( int row ) const"
+Returns the stretch factor for row \fIrow\fR.
+.PP
+See also setRowStretch().
+.SH "void QGridLayout::setColSpacing ( int col, int minSize )"
+Sets the minimum width of column \fIcol\fR to \fIminSize\fR pixels.
+.PP
+See also colSpacing() and setRowSpacing().
+.SH "void QGridLayout::setColStretch ( int col, int stretch )\fC [virtual]\fR"
+Sets the stretch factor of column \fIcol\fR to \fIstretch\fR. The first column is number 0.
+.PP
+The stretch factor is relative to the other columns in this grid. Columns with a higher stretch factor take more of the available space.
+.PP
+The default stretch factor is 0. If the stretch factor is 0 and no other column in this table can grow at all, the column may still grow.
+.PP
+See also colStretch(), addColSpacing(), and setRowStretch().
+.PP
+Examples:
+.)l layout/layout.cpp, t14/gamebrd.cpp, and t8/main.cpp.
+.SH "void QGridLayout::setGeometry ( const QRect & r )\fC [virtual]\fR"
+Resizes managed widgets within the rectangle \fIr\fR.
+.PP
+Reimplemented from QLayout.
+.SH "void QGridLayout::setOrigin ( Corner c )"
+Sets the grid's origin corner, i.e. position (0, 0), to \fIc\fR.
+.SH "void QGridLayout::setRowSpacing ( int row, int minSize )"
+Sets the minimum height of row \fIrow\fR to \fIminSize\fR pixels.
+.PP
+See also rowSpacing() and setColSpacing().
+.SH "void QGridLayout::setRowStretch ( int row, int stretch )\fC [virtual]\fR"
+Sets the stretch factor of row \fIrow\fR to \fIstretch\fR. The first row is number 0.
+.PP
+The stretch factor is relative to the other rows in this grid. Rows with a higher stretch factor take more of the available space.
+.PP
+The default stretch factor is 0. If the stretch factor is 0 and no other row in this table can grow at all, the row may still grow.
+.PP
+See also rowStretch(), setRowSpacing(), and setColStretch().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp and qutlook/centralwidget.cpp.
+.SH "QSize QGridLayout::sizeHint () const\fC [virtual]\fR"
+Returns the preferred size of this grid.
+.PP
+Reimplemented from QLayoutItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgridlayout.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgridlayout.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgridview.3qt b/doc/man/man3/qgridview.3qt
new file mode 100644
index 0000000..209d10b
--- /dev/null
+++ b/doc/man/man3/qgridview.3qt
@@ -0,0 +1,245 @@
+'\" t
+.TH QGridView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGridView \- Abstract base for fixed-size grids
+.SH SYNOPSIS
+\fC#include <qgridview.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGridView\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QGridView\fR ()"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumRows\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumCols\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBcellWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCellWidth\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBcellHeight\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCellHeight\fR ( int )"
+.br
+.ti -1c
+.BI "QRect \fBcellRect\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBcellGeometry\fR ( int row, int column )"
+.br
+.ti -1c
+.BI "QSize \fBgridSize\fR () const"
+.br
+.ti -1c
+.BI "int \fBrowAt\fR ( int y ) const"
+.br
+.ti -1c
+.BI "int \fBcolumnAt\fR ( int x ) const"
+.br
+.ti -1c
+.BI "void \fBrepaintCell\fR ( int row, int column, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBupdateCell\fR ( int row, int column )"
+.br
+.ti -1c
+.BI "void \fBensureCellVisible\fR ( int row, int column )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcellHeight\fR - the height of a grid row"
+.br
+.ti -1c
+.BI "int \fBcellWidth\fR - the width of a grid column"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR - the number of columns in the grid"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR - the number of rows in the grid"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, int row, int col ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEmptyArea\fR ( QPainter * p, int cx, int cy, int cw, int ch )"
+.br
+.ti -1c
+.BI "virtual void \fBdimensionChange\fR ( int oldNumRows, int oldNumCols )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGridView class provides an abstract base for fixed-size grids.
+.PP
+A grid view consists of a number of abstract cells organized in rows and columns. The cells have a fixed size and are identified with a row index and a column index. The top-left cell is in row 0, column 0. The bottom-right cell is in row numRows()-1, column numCols()-1.
+.PP
+You can define numRows, numCols, cellWidth and cellHeight. Reimplement the pure virtual function paintCell() to draw the contents of a cell.
+.PP
+With ensureCellVisible(), you can ensure a certain cell is visible. With rowAt() and columnAt() you can find a cell based on the given x- and y-coordinates.
+.PP
+If you need to monitor changes to the grid's dimensions (i.e. when numRows or numCols is changed), reimplement the dimensionChange() change handler.
+.PP
+Note: the row and column indices are always given in the order, row (vertical offset) then column (horizontal offset). This order is the opposite of all pixel operations, which are given in the order x (horizontal offset), y (vertical offset).
+.PP
+QGridView is a very simple abstract class based on QScrollView. It is designed to simplify the task of drawing many cells of the same size in a potentially scrollable canvas. If you need rows and columns with different sizes, use a QTable instead. If you need a simple list of items, use a QListBox. If you need to present hierachical data use a QListView, and if you need random objects at random positions, consider using either a QIconView or a QCanvas.
+.PP
+See also Abstract Widget Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGridView::QGridView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a grid view.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag, \fIf\fR, arguments are passed to the QScrollView constructor.
+.SH "QGridView::~QGridView ()"
+Destroys the grid view.
+.SH "QRect QGridView::cellGeometry ( int row, int column )"
+Returns the geometry of cell (\fIrow\fR, \fIcolumn\fR) in the content coordinate system.
+.PP
+See also cellRect().
+.SH "int QGridView::cellHeight () const"
+Returns the height of a grid row. See the "cellHeight" property for details.
+.SH "QRect QGridView::cellRect () const"
+Returns the geometry of a cell in a cell's coordinate system. This is a convenience function useful in paintCell(). It is equivalent to QRect( 0, 0, cellWidth(), cellHeight() ).
+.PP
+See also cellGeometry().
+.SH "int QGridView::cellWidth () const"
+Returns the width of a grid column. See the "cellWidth" property for details.
+.SH "int QGridView::columnAt ( int x ) const"
+Returns the number of the column at position \fIx\fR. \fIx\fR must be given in content coordinates.
+.PP
+See also rowAt().
+.SH "void QGridView::dimensionChange ( int oldNumRows, int oldNumCols )\fC [virtual protected]\fR"
+This change handler is called whenever any of the grid's dimensions change. \fIoldNumRows\fR and \fIoldNumCols\fR contain the old dimensions, numRows() and numCols() contain the new dimensions.
+.SH "void QGridView::ensureCellVisible ( int row, int column )"
+Ensures cell (\fIrow\fR, \fIcolumn\fR) is visible, scrolling the grid view if necessary.
+.SH "QSize QGridView::gridSize () const"
+Returns the size of the grid in pixels.
+.SH "int QGridView::numCols () const"
+Returns the number of columns in the grid. See the "numCols" property for details.
+.SH "int QGridView::numRows () const"
+Returns the number of rows in the grid. See the "numRows" property for details.
+.SH "void QGridView::paintCell ( QPainter * p, int row, int col )\fC [pure virtual protected]\fR"
+This pure virtual function is called to paint the single cell at (\fIrow\fR, \fIcol\fR) using painter \fIp\fR. The painter must be open when paintCell() is called and must remain open.
+.PP
+The coordinate system is translated so that the origin is at the top-left corner of the cell to be painted, i.e. \fIcell\fR coordinates. Do not scale or shear the coordinate system (or if you do, restore the transformation matrix before you return).
+.PP
+The painter is not clipped by default in order to get maximum efficiency. If you want clipping, use
+.PP
+.nf
+.br
+ p->setClipRect( cellRect(), QPainter::CoordPainter );
+.br
+ //... your drawing code
+.br
+ p->setClipping( FALSE );
+.br
+.br
+.fi
+.SH "void QGridView::paintEmptyArea ( QPainter * p, int cx, int cy, int cw, int ch )\fC [virtual protected]\fR"
+This function fills the \fIcw\fR pixels wide and \fIch\fR pixels high rectangle starting at position (\fIcx\fR, \fIcy\fR) with the background color using the painter \fIp\fR.
+.PP
+paintEmptyArea() is invoked by drawContents() to erase or fill unused areas.
+.SH "void QGridView::repaintCell ( int row, int column, bool erase = TRUE )"
+Repaints cell (\fIrow\fR, \fIcolumn\fR).
+.PP
+If \fIerase\fR is TRUE, Qt erases the area of the cell before the paintCell() call; otherwise no erasing takes place.
+.PP
+See also QWidget::repaint().
+.SH "int QGridView::rowAt ( int y ) const"
+Returns the number of the row at position \fIy\fR. \fIy\fR must be given in content coordinates.
+.PP
+See also columnAt().
+.SH "void QGridView::setCellHeight ( int )\fC [virtual]\fR"
+Sets the height of a grid row. See the "cellHeight" property for details.
+.SH "void QGridView::setCellWidth ( int )\fC [virtual]\fR"
+Sets the width of a grid column. See the "cellWidth" property for details.
+.SH "void QGridView::setNumCols ( int )\fC [virtual]\fR"
+Sets the number of columns in the grid. See the "numCols" property for details.
+.SH "void QGridView::setNumRows ( int )\fC [virtual]\fR"
+Sets the number of rows in the grid. See the "numRows" property for details.
+.SH "void QGridView::updateCell ( int row, int column )"
+Updates cell (\fIrow\fR, \fIcolumn\fR).
+.PP
+See also QWidget::update().
+.SS "Property Documentation"
+.SH "int cellHeight"
+This property holds the height of a grid row.
+.PP
+All rows in a grid view have the same height.
+.PP
+See also cellWidth.
+.PP
+Set this property's value with setCellHeight() and get this property's value with cellHeight().
+.SH "int cellWidth"
+This property holds the width of a grid column.
+.PP
+All columns in a grid view have the same width.
+.PP
+See also cellHeight.
+.PP
+Set this property's value with setCellWidth() and get this property's value with cellWidth().
+.SH "int numCols"
+This property holds the number of columns in the grid.
+.PP
+Set this property's value with setNumCols() and get this property's value with numCols().
+.PP
+See also numRows.
+.SH "int numRows"
+This property holds the number of rows in the grid.
+.PP
+Set this property's value with setNumRows() and get this property's value with numRows().
+.PP
+See also numCols.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgridview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgridview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qgroupbox.3qt b/doc/man/man3/qgroupbox.3qt
new file mode 100644
index 0000000..3450339
--- /dev/null
+++ b/doc/man/man3/qgroupbox.3qt
@@ -0,0 +1,329 @@
+'\" t
+.TH QGroupBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGroupBox \- Group box frame with a title
+.SH SYNOPSIS
+\fC#include <qgroupbox.h>\fR
+.PP
+Inherits QFrame.
+.PP
+Inherited by QButtonGroup, QHGroupBox, and QVGroupBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGroupBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQGroupBox\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQGroupBox\fR ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQGroupBox\fR ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QGroupBox\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnLayout\fR ( int strips, Orientation direction )"
+.br
+.ti -1c
+.BI "QString \fBtitle\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTitle\fR ( const QString & )"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAlignment\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBcolumns\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetColumns\fR ( int )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOrientation\fR ( Orientation )"
+.br
+.ti -1c
+.BI "int \fBinsideMargin\fR () const"
+.br
+.ti -1c
+.BI "int \fBinsideSpacing\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetInsideMargin\fR ( int m )"
+.br
+.ti -1c
+.BI "void \fBsetInsideSpacing\fR ( int s )"
+.br
+.ti -1c
+.BI "void \fBaddSpace\fR ( int size )"
+.br
+.ti -1c
+.BI "bool \fBisFlat\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFlat\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisCheckable\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCheckable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisChecked\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetChecked\fR ( bool b )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "Alignment \fBalignment\fR - the alignment of the group box title"
+.br
+.ti -1c
+.BI "bool \fBcheckable\fR - whether the group box has a checkbox in its title"
+.br
+.ti -1c
+.BI "bool \fBchecked\fR - whether the group box's checkbox is checked"
+.br
+.ti -1c
+.BI "int \fBcolumns\fR - the number of columns or rows (depending on \\l QGroupBox::orientation) in the group box"
+.br
+.ti -1c
+.BI "bool \fBflat\fR - whether the group box is painted flat or has a frame"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the group box's orientation"
+.br
+.ti -1c
+.BI "QString \fBtitle\fR - the group box title text"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGroupBox widget provides a group box frame with a title.
+.PP
+A group box provides a frame, a title and a keyboard shortcut, and displays various other widgets inside itself. The title is on top, the keyboard shortcut moves keyboard focus to one of the group box's child widgets, and the child widgets are usually laid out horizontally (or vertically) inside the frame.
+.PP
+The simplest way to use it is to create a group box with the desired number of columns (or rows) and orientation, and then just create widgets with the group box as parent.
+.PP
+It is also possible to change the orientation() and number of columns() after construction, or to ignore all the automatic layout support and manage the layout yourself. You can add 'empty' spaces to the group box with addSpace().
+.PP
+QGroupBox also lets you set the title() (normally set in the constructor) and the title's alignment().
+.PP
+You can change the spacing used by the group box with setInsideMargin() and setInsideSpacing(). To minimize space consumption, you can remove the right, left and bottom edges of the frame with setFlat().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QButtonGroup, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGroupBox::QGroupBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a group box widget with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.PP
+This constructor does not do automatic layout.
+.SH "QGroupBox::QGroupBox ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a group box with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.PP
+This constructor does not do automatic layout.
+.SH "QGroupBox::QGroupBox ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )"
+Constructs a group box with no title. Child widgets will be arranged in \fIstrips\fR rows or columns (depending on \fIorientation\fR).
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QGroupBox::QGroupBox ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a group box titled \fItitle\fR. Child widgets will be arranged in \fIstrips\fR rows or columns (depending on \fIorientation\fR).
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QGroupBox::~QGroupBox ()"
+Destroys the group box.
+.SH "void QGroupBox::addSpace ( int size )"
+Adds an empty cell at the next free position. If \fIsize\fR is greater than 0, the empty cell takes \fIsize\fR to be its fixed width (if orientation() is Horizontal) or height (if orientation() is Vertical).
+.PP
+Use this method to separate the widgets in the group box or to skip the next free cell. For performance reasons, call this method after calling setColumnLayout() or by changing the QGroupBox::columns or QGroupBox::orientation properties. It is generally a good idea to call these methods first (if needed at all), and insert the widgets and spaces afterwards.
+.SH "int QGroupBox::alignment () const"
+Returns the alignment of the group box title. See the "alignment" property for details.
+.SH "int QGroupBox::columns () const"
+Returns the number of columns or rows (depending on QGroupBox::orientation) in the group box. See the "columns" property for details.
+.SH "int QGroupBox::insideMargin () const"
+Returns the width of the empty space between the items in the group and the frame of the group.
+.PP
+Only applies if the group box has a defined orientation.
+.PP
+The default is usually 11, by may vary depending on the platform and style.
+.PP
+See also setInsideMargin() and orientation.
+.SH "int QGroupBox::insideSpacing () const"
+Returns the width of the empty space between each of the items in the group.
+.PP
+Only applies if the group box has a defined orientation.
+.PP
+The default is usually 5, by may vary depending on the platform and style.
+.PP
+See also setInsideSpacing() and orientation.
+.SH "bool QGroupBox::isCheckable () const"
+Returns TRUE if the group box has a checkbox in its title; otherwise returns FALSE. See the "checkable" property for details.
+.SH "bool QGroupBox::isChecked () const"
+Returns TRUE if the group box's checkbox is checked; otherwise returns FALSE. See the "checked" property for details.
+.SH "bool QGroupBox::isFlat () const"
+Returns TRUE if the group box is painted flat or has a frame; otherwise returns FALSE. See the "flat" property for details.
+.SH "Orientation QGroupBox::orientation () const"
+Returns the group box's orientation. See the "orientation" property for details.
+.SH "void QGroupBox::setAlignment ( int )\fC [virtual]\fR"
+Sets the alignment of the group box title. See the "alignment" property for details.
+.SH "void QGroupBox::setCheckable ( bool b )"
+Sets whether the group box has a checkbox in its title to \fIb\fR. See the "checkable" property for details.
+.SH "void QGroupBox::setChecked ( bool b )\fC [slot]\fR"
+Sets whether the group box's checkbox is checked to \fIb\fR. See the "checked" property for details.
+.SH "void QGroupBox::setColumnLayout ( int strips, Orientation direction )\fC [virtual]\fR"
+Changes the layout of the group box. This function is only useful in combination with the default constructor that does not take any layout information. This function will put all existing children in the new layout. It is not good Qt programming style to call this function after children have been inserted. Sets the number of columns or rows to be \fIstrips\fR, depending on \fIdirection\fR.
+.PP
+See also orientation and columns.
+.PP
+Example: chart/optionsform.cpp.
+.SH "void QGroupBox::setColumns ( int )"
+Sets the number of columns or rows (depending on QGroupBox::orientation) in the group box. See the "columns" property for details.
+.SH "void QGroupBox::setFlat ( bool b )"
+Sets whether the group box is painted flat or has a frame to \fIb\fR. See the "flat" property for details.
+.SH "void QGroupBox::setInsideMargin ( int m )"
+Sets the the width of the inside margin to \fIm\fR pixels.
+.PP
+See also insideMargin().
+.SH "void QGroupBox::setInsideSpacing ( int s )"
+Sets the width of the empty space between each of the items in the group to \fIs\fR pixels.
+.PP
+See also insideSpacing().
+.SH "void QGroupBox::setOrientation ( Orientation )"
+Sets the group box's orientation. See the "orientation" property for details.
+.SH "void QGroupBox::setTitle ( const QString & )\fC [virtual]\fR"
+Sets the group box title text. See the "title" property for details.
+.SH "QString QGroupBox::title () const"
+Returns the group box title text. See the "title" property for details.
+.SH "void QGroupBox::toggled ( bool on )\fC [signal]\fR"
+If the group box has a check box (see isCheckable()) this signal is emitted when the check box is toggled. \fIon\fR is TRUE if the check box is checked; otherwise it is FALSE.
+.SS "Property Documentation"
+.SH "Alignment alignment"
+This property holds the alignment of the group box title.
+.PP
+The title is always placed on the upper frame line. The horizontal alignment can be specified by the alignment parameter.
+.PP
+The alignment is one of the following flags:
+.TP
+AlignAuto aligns the title according to the language, usually to the left.
+.TP
+AlignLeft aligns the title text to the left.
+.TP
+AlignRight aligns the title text to the right.
+.TP
+AlignHCenter aligns the title text centered.
+.PP
+The default alignment is AlignAuto.
+.PP
+See also Qt::AlignmentFlags.
+.PP
+Set this property's value with setAlignment() and get this property's value with alignment().
+.SH "bool checkable"
+This property holds whether the group box has a checkbox in its title.
+.PP
+If this property is TRUE, the group box has a checkbox. If the checkbox is checked (which is the default), the group box's children are enabled.
+.PP
+setCheckable() controls whether or not the group box has a checkbox, and isCheckable() controls whether the checkbox is checked or not.
+.PP
+Set this property's value with setCheckable() and get this property's value with isCheckable().
+.SH "bool checked"
+This property holds whether the group box's checkbox is checked.
+.PP
+If the group box has a check box (see isCheckable()), and the check box is checked (see isChecked()), the group box's children are enabled. If the checkbox is unchecked the children are disabled.
+.PP
+Set this property's value with setChecked() and get this property's value with isChecked().
+.SH "int columns"
+This property holds the number of columns or rows (depending on QGroupBox::orientation) in the group box.
+.PP
+Usually it is not a good idea to set this property because it is slow (it does a complete layout). It is best to set the number of columns directly in the constructor.
+.PP
+Set this property's value with setColumns() and get this property's value with columns().
+.SH "bool flat"
+This property holds whether the group box is painted flat or has a frame.
+.PP
+By default a group box has a surrounding frame, with the title being placed on the upper frame line. In flat mode the right, left and bottom frame lines are omitted, and only the thin line at the top is drawn.
+.PP
+See also title.
+.PP
+Set this property's value with setFlat() and get this property's value with isFlat().
+.SH "Orientation orientation"
+This property holds the group box's orientation.
+.PP
+A horizontal group box arranges it's children in columns, while a vertical group box arranges them in rows.
+.PP
+Usually it is not a good idea to set this property because it is slow (it does a complete layout). It is better to set the orientation directly in the constructor.
+.PP
+Set this property's value with setOrientation() and get this property's value with orientation().
+.SH "QString title"
+This property holds the group box title text.
+.PP
+The group box title text will have a focus-change keyboard accelerator if the title contains &, followed by a letter.
+.PP
+.nf
+.br
+ g->setTitle( "&User information" );
+.br
+.fi
+This produces "<u>U</u>ser information"; Alt+U moves the keyboard focus to the group box.
+.PP
+There is no default title text.
+.PP
+Set this property's value with setTitle() and get this property's value with title().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qgroupbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qgroupbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qguardedptr.3qt b/doc/man/man3/qguardedptr.3qt
new file mode 100644
index 0000000..7f13f89
--- /dev/null
+++ b/doc/man/man3/qguardedptr.3qt
@@ -0,0 +1,148 @@
+'\" t
+.TH QGuardedPtr 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QGuardedPtr \- Template class that provides guarded pointers to QObjects
+.SH SYNOPSIS
+\fC#include <qguardedptr.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQGuardedPtr\fR ()"
+.br
+.ti -1c
+.BI "\fBQGuardedPtr\fR ( T * p )"
+.br
+.ti -1c
+.BI "\fBQGuardedPtr\fR ( const QGuardedPtr<T> & p )"
+.br
+.ti -1c
+.BI "\fB~QGuardedPtr\fR ()"
+.br
+.ti -1c
+.BI "QGuardedPtr<T> & \fBoperator=\fR ( const QGuardedPtr<T> & p )"
+.br
+.ti -1c
+.BI "QGuardedPtr<T> & \fBoperator=\fR ( T * p )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QGuardedPtr<T> & p ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QGuardedPtr<T> & p ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "T * \fBoperator->\fR () const"
+.br
+.ti -1c
+.BI "T & \fBoperator*\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator T *\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QGuardedPtr class is a template class that provides guarded pointers to QObjects.
+.PP
+A guarded pointer, \fCQGuardedPtr<X>\fR, behaves like a normal C++ pointer \fCX*\fR, except that it is automatically set to 0 when the referenced object is destroyed (unlike normal C++ pointers, which become "dangling pointers" in such cases). \fCX\fR must be a subclass of QObject.
+.PP
+Guarded pointers are useful whenever you need to store a pointer to a QObject that is owned by someone else and therefore might be destroyed while you still hold a reference to it. You can safely test the pointer for validity.
+.PP
+Example:
+.PP
+.nf
+.br
+ QGuardedPtr<QLabel> label = new QLabel( 0, "label" );
+.br
+ label->setText( "I like guarded pointers" );
+.br
+.br
+ delete (QLabel*) label; // simulate somebody destroying the label
+.br
+.br
+ if ( label)
+.br
+ label->show();
+.br
+ else
+.br
+ qDebug("The label has been destroyed");
+.br
+.fi
+.PP
+The program will output \fCThe label has been destroyed\fR rather than dereferencing an invalid address in \fClabel->show()\fR.
+.PP
+The functions and operators available with a QGuardedPtr are the same as those available with a normal unguarded pointer, except the pointer arithmetic operators (++, --, -, and +), which are normally used only with arrays of objects. Use them like normal pointers and you will not need to read this class documentation.
+.PP
+For creating guarded pointers, you can construct or assign to them from an X* or from another guarded pointer of the same type. You can compare them with each other using operator==() and operator!=(), or test for 0 with isNull(). And you can dereference them using either the \fC*x\fR or the \fCx->member\fR notation.
+.PP
+A guarded pointer will automatically cast to an X*, so you can freely mix guarded and unguarded pointers. This means that if you have a QGuardedPtr<QWidget>, you can pass it to a function that requires a QWidget*. For this reason, it is of little value to declare functions to take a QGuardedPtr as a parameter; just use normal pointers. Use a QGuardedPtr when you are storing a pointer over time.
+.PP
+Note again that class \fIX\fR must inherit QObject, or a compilation or link error will result.
+.PP
+See also Object Model.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QGuardedPtr::QGuardedPtr ()"
+Constructs a 0 guarded pointer.
+.PP
+See also isNull().
+.SH "QGuardedPtr::QGuardedPtr ( T * p )"
+Constructs a guarded pointer that points to same object as \fIp\fR points to.
+.SH "QGuardedPtr::QGuardedPtr ( const QGuardedPtr<T> & p )"
+Copy one guarded pointer from another. The constructed guarded pointer points to the same object that \fIp\fR points to (which may be 0).
+.SH "QGuardedPtr::~QGuardedPtr ()"
+Destroys the guarded pointer. Just like a normal pointer, destroying a guarded pointer does \fInot\fR destroy the object being pointed to.
+.SH "bool QGuardedPtr::isNull () const"
+Returns \fCTRUE\fR if the referenced object has been destroyed or if there is no referenced object; otherwise returns FALSE.
+.SH "QGuardedPtr::operator T * () const"
+Cast operator; implements pointer semantics. Because of this function you can pass a QGuardedPtr<X> to a function where an X* is required.
+.SH "bool QGuardedPtr::operator!= ( const QGuardedPtr<T> & p ) const"
+Inequality operator; implements pointer semantics, the negation of operator==(). Returns TRUE if \fIp\fR and this guarded pointer are not pointing to the same object; otherwise returns FALSE.
+.SH "T & QGuardedPtr::operator* () const"
+Dereference operator; implements pointer semantics. Just use this operator as you would with a normal C++ pointer.
+.SH "T * QGuardedPtr::operator-> () const"
+Overloaded arrow operator; implements pointer semantics. Just use this operator as you would with a normal C++ pointer.
+.SH "QGuardedPtr<T> & QGuardedPtr::operator= ( const QGuardedPtr<T> & p )"
+Assignment operator. This guarded pointer then points to the same object as \fIp\fR points to.
+.SH "QGuardedPtr<T> & QGuardedPtr::operator= ( T * p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assignment operator. This guarded pointer then points to the same object as \fIp\fR points to.
+.SH "bool QGuardedPtr::operator== ( const QGuardedPtr<T> & p ) const"
+Equality operator; implements traditional pointer semantics. Returns TRUE if both \fIp\fR and this guarded pointer are 0, or if both \fIp\fR and this pointer point to the same object; otherwise returns FALSE.
+.PP
+See also operator!=().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qguardedptr.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qguardedptr.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhbox.3qt b/doc/man/man3/qhbox.3qt
new file mode 100644
index 0000000..347f168
--- /dev/null
+++ b/doc/man/man3/qhbox.3qt
@@ -0,0 +1,92 @@
+'\" t
+.TH QHBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHBox \- Horizontal geometry management for its child widgets
+.SH SYNOPSIS
+\fC#include <qhbox.h>\fR
+.PP
+Inherits QFrame.
+.PP
+Inherited by QVBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHBox\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "void \fBsetSpacing\fR ( int space )"
+.br
+.ti -1c
+.BI "bool \fBsetStretchFactor\fR ( QWidget * w, int stretch )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQHBox\fR ( bool horizontal, QWidget * parent, const char * name, WFlags f = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHBox widget provides horizontal geometry management for its child widgets.
+.PP
+All the horizontal box's child widgets will be placed alongside each other and sized according to their sizeHint()s.
+.PP
+Use setMargin() to add space around the edges, and use setSpacing() to add space between the widgets. Use setStretchFactor() if you want the widgets to be different sizes in proportion to one another. (See Layouts for more information on stretch factors.)
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QHBoxLayout, QVBox, QGrid, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHBox::QHBox ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs an hbox widget with parent \fIparent\fR, called \fIname\fR. The parent, name and widget flags, \fIf\fR, are passed to the QFrame constructor.
+.SH "QHBox::QHBox ( bool horizontal, QWidget * parent, const char * name, WFlags f = 0 )\fC [protected]\fR"
+Constructs a horizontal hbox if \fIhorizontal\fR is TRUE, otherwise constructs a vertical hbox (also known as a vbox).
+.PP
+This constructor is provided for the QVBox class. You should never need to use it directly.
+.PP
+The \fIparent\fR, \fIname\fR and widget flags, \fIf\fR, are passed to the QFrame constructor.
+.SH "void QHBox::setSpacing ( int space )"
+Sets the spacing between the child widgets to \fIspace\fR.
+.PP
+Examples:
+.)l i18n/mywidget.cpp, listboxcombo/listboxcombo.cpp, qdir/qdir.cpp, tabdialog/tabdialog.cpp, wizard/wizard.cpp, and xform/xform.cpp.
+.SH "bool QHBox::setStretchFactor ( QWidget * w, int stretch )"
+Sets the stretch factor of widget \fIw\fR to \fIstretch\fR. Returns TRUE if \fIw\fR is found. Otherwise returns FALSE.
+.PP
+See also QBoxLayout::setStretchFactor() and Layouts.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhboxlayout.3qt b/doc/man/man3/qhboxlayout.3qt
new file mode 100644
index 0000000..81ac2f9
--- /dev/null
+++ b/doc/man/man3/qhboxlayout.3qt
@@ -0,0 +1,112 @@
+'\" t
+.TH QHBoxLayout 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHBoxLayout \- Lines up widgets horizontally
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QBoxLayout.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHBoxLayout\fR ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHBoxLayout\fR ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHBoxLayout\fR ( int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QHBoxLayout\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHBoxLayout class lines up widgets horizontally.
+.PP
+This class is used to construct horizontal box layout objects. See QBoxLayout for more details.
+.PP
+The simplest use of the class is like this:
+.PP
+.nf
+.br
+ QBoxLayout * l = new QHBoxLayout( widget );
+.br
+ l->setAutoAdd( TRUE );
+.br
+ new QSomeWidget( widget );
+.br
+ new QSomeOtherWidget( widget );
+.br
+ new QAnotherWidget( widget );
+.br
+.fi
+.PP
+or like this:
+.PP
+.nf
+.br
+ QBoxLayout * l = new QHBoxLayout( widget );
+.br
+ l->addWidget( existingChildOfWidget );
+.br
+ l->addWidget( anotherChildOfWidget );
+.br
+.fi
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QVBoxLayout, QGridLayout, the Layout overview, Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHBoxLayout::QHBoxLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+Constructs a new top-level horizontal box called \fIname\fR, with parent \fIparent\fR.
+.PP
+The \fImargin\fR is the number of pixels between the edge of the widget and its managed children. The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1 the value of \fImargin\fR is used for \fIspacing\fR.
+.SH "QHBoxLayout::QHBoxLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+Constructs a new horizontal box called name \fIname\fR and adds it to \fIparentLayout\fR.
+.PP
+The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1, this QHBoxLayout will inherit its parent's spacing().
+.SH "QHBoxLayout::QHBoxLayout ( int spacing = -1, const char * name = 0 )"
+Constructs a new horizontal box called name \fIname\fR. You must add it to another layout.
+.PP
+The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1, this QHBoxLayout will inherit its parent's spacing().
+.SH "QHBoxLayout::~QHBoxLayout ()"
+Destroys this box layout.
+.PP
+The layout's widgets aren't destroyed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhboxlayout.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhboxlayout.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhbuttongroup.3qt b/doc/man/man3/qhbuttongroup.3qt
new file mode 100644
index 0000000..eb48c72
--- /dev/null
+++ b/doc/man/man3/qhbuttongroup.3qt
@@ -0,0 +1,75 @@
+'\" t
+.TH QHButtonGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHButtonGroup \- Organizes QButton widgets in a group with one horizontal row
+.SH SYNOPSIS
+\fC#include <qhbuttongroup.h>\fR
+.PP
+Inherits QButtonGroup.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHButtonGroup\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHButtonGroup\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QHButtonGroup\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHButtonGroup widget organizes QButton widgets in a group with one horizontal row.
+.PP
+QHButtonGroup is a convenience class that offers a thin layer on top of QButtonGroup. From a layout point of view it is effectively a QHBox that offers a frame with a title and is specifically designed for buttons. From a functionality point of view it is a QButtonGroup.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QVButtonGroup, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHButtonGroup::QHButtonGroup ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal button group with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QHButtonGroup::QHButtonGroup ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal button group with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QHButtonGroup::~QHButtonGroup ()"
+Destroys the horizontal button group, deleting its child widgets.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhbuttongroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhbuttongroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qheader.3qt b/doc/man/man3/qheader.3qt
new file mode 100644
index 0000000..b55fb91
--- /dev/null
+++ b/doc/man/man3/qheader.3qt
@@ -0,0 +1,584 @@
+'\" t
+.TH QHeader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHeader \- Header row or column, e.g. for tables and listviews
+.SH SYNOPSIS
+\fC#include <qheader.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHeader\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHeader\fR ( int n, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QHeader\fR ()"
+.br
+.ti -1c
+.BI "int \fBaddLabel\fR ( const QString & s, int size = -1 )"
+.br
+.ti -1c
+.BI "int \fBaddLabel\fR ( const QIconSet & iconset, const QString & s, int size = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveLabel\fR ( int section )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLabel\fR ( int section, const QString & s, int size = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLabel\fR ( int section, const QIconSet & iconset, const QString & s, int size = -1 )"
+.br
+.ti -1c
+.BI "QString \fBlabel\fR ( int section ) const"
+.br
+.ti -1c
+.BI "QIconSet * \fBiconSet\fR ( int section ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTracking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetClickEnabled\fR ( bool enable, int section = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizeEnabled\fR ( bool enable, int section = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMovingEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetStretchEnabled\fR ( bool b, int section )"
+.br
+.ti -1c
+.BI "void \fBsetStretchEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisClickEnabled\fR ( int section = -1 ) const"
+.br
+.ti -1c
+.BI "bool \fBisResizeEnabled\fR ( int section = -1 ) const"
+.br
+.ti -1c
+.BI "bool \fBisMovingEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisStretchEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisStretchEnabled\fR ( int section ) const"
+.br
+.ti -1c
+.BI "void \fBresizeSection\fR ( int section, int s )"
+.br
+.ti -1c
+.BI "int \fBsectionSize\fR ( int section ) const"
+.br
+.ti -1c
+.BI "int \fBsectionPos\fR ( int section ) const"
+.br
+.ti -1c
+.BI "int \fBsectionAt\fR ( int pos ) const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "int \fBheaderWidth\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBsectionRect\fR ( int section ) const"
+.br
+.ti -1c
+.BI "virtual void setCellSize ( int section, int s ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellSize ( int i ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellPos ( int i ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellAt ( int pos ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBoffset\fR () const"
+.br
+.ti -1c
+.BI "int \fBmapToSection\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBmapToIndex\fR ( int section ) const"
+.br
+.ti -1c
+.BI "int mapToLogical ( int a ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int mapToActual ( int l ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBmoveSection\fR ( int section, int toIndex )"
+.br
+.ti -1c
+.BI "virtual void moveCell ( int fromIdx, int toIdx ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setSortIndicator ( int section, bool ascending = TRUE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetSortIndicator\fR ( int section, SortOrder order )"
+.br
+.ti -1c
+.BI "int \fBsortIndicatorSection\fR () const"
+.br
+.ti -1c
+.BI "SortOrder \fBsortIndicatorOrder\fR () const"
+.br
+.ti -1c
+.BI "void \fBadjustHeaderSize\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetOffset\fR ( int pos )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBclicked\fR ( int section )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( int section )"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ( int section )"
+.br
+.ti -1c
+.BI "void \fBsizeChange\fR ( int section, int oldSize, int newSize )"
+.br
+.ti -1c
+.BI "void \fBindexChange\fR ( int section, int fromIndex, int toIndex )"
+.br
+.ti -1c
+.BI "void sectionClicked ( int index ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void moved ( int fromIndex, int toIndex ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsectionHandleDoubleClicked\fR ( int section )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcount\fR - the number of sections in the header \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBmoving\fR - whether the header sections can be moved"
+.br
+.ti -1c
+.BI "int \fBoffset\fR - the header's left-most (or top-most) visible pixel"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the header's orientation"
+.br
+.ti -1c
+.BI "bool \fBstretching\fR - whether the header sections always take up the full width (or " "height" ") of the header"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR - whether the sizeChange() signal is emitted continuously"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "QRect \fBsRect\fR ( int index )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintSection\fR ( QPainter * p, int index, const QRect & fr )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintSectionLabel\fR ( QPainter * p, int index, const QRect & fr )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHeader class provides a header row or column, e.g. for tables and listviews.
+.PP
+This class provides a header, e.g. a vertical header to display row labels, or a horizontal header to display column labels. It is used by QTable and QListView for example.
+.PP
+A header is composed of one or more \fIsections\fR, each of which can display a text label and an iconset. A sort indicator (an arrow) can also be displayed using setSortIndicator().
+.PP
+Sections are added with addLabel() and removed with removeLabel(). The label and iconset are set in addLabel() and can be changed later with setLabel(). Use count() to retrieve the number of sections in the header.
+.PP
+The orientation of the header is set with setOrientation(). If setStretchEnabled() is TRUE, the sections will expand to take up the full width (height for vertical headers) of the header. The user can resize the sections manually if setResizeEnabled() is TRUE. Call adjustHeaderSize() to have the sections resize to occupy the full width (or height).
+.PP
+A section can be moved with moveSection(). If setMovingEnabled() is TRUE (the default)the user may drag a section from one position to another. If a section is moved, the index positions at which sections were added (with addLabel()), may not be the same after the move. You don't have to worry about this in practice because the QHeader API works in terms of section numbers, so it doesn't matter where a particular section has been moved to.
+.PP
+If you want the current index position of a section call mapToIndex() giving it the section number. (This is the number returned by the addLabel() call which created the section.) If you want to get the section number of a section at a particular index position call mapToSection() giving it the index number.
+.PP
+Here's an example to clarify mapToSection() and mapToIndex():
+.PP
+<center>.nf
+.TS
+l - l. Index positions 0 1 2 3 Original section ordering Sect 0 Sect 1 Sect 2 Sect 3 Ordering after the user moves a section Sect 0 Sect 2 Sect 3
+.TE
+.fi
+</center>
+.PP
+<center>.nf
+.TS
+l - l. \fIk\fR mapToSection(\fIk\fR) mapToIndex(\fIk\fR) 0 0 0 1 2 3 2 3 1 3 1
+.TE
+.fi
+</center>
+.PP
+In the example above, if we wanted to find out which section is at index position 3 we'd call mapToSection(3) and get a section number of 1 since section 1 was moved. Similarly, if we wanted to know which index position section 2 occupied we'd call mapToIndex(2) and get an index of 1.
+.PP
+QHeader provides the clicked(), pressed() and released() signals. If the user changes the size of a section, the sizeChange() signal is emitted. If you want to have a sizeChange() signal emitted continuously whilst the user is resizing (rather than just after the resizing is finished), use setTracking(). If the user moves a section the indexChange() signal is emitted.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QListView, QTable, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHeader::QHeader ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal header called \fIname\fR, with parent \fIparent\fR.
+.SH "QHeader::QHeader ( int n, QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal header called \fIname\fR, with \fIn\fR sections and parent \fIparent\fR.
+.SH "QHeader::~QHeader ()"
+Destroys the header and all its sections.
+.SH "int QHeader::addLabel ( const QString & s, int size = -1 )"
+Adds a new section with label text \fIs\fR. Returns the index position where the section was added (at the right for horizontal headers, at the bottom for vertical headers). The section's width is set to \fIsize\fR. If \fIsize\fR < 0, an appropriate size for the text \fIs\fR is chosen.
+.SH "int QHeader::addLabel ( const QIconSet & iconset, const QString & s, int size = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a new section with iconset \fIiconset\fR and label text \fIs\fR. Returns the index position where the section was added (at the right for horizontal headers, at the bottom for vertical headers). The section's width is set to \fIsize\fR, unless size is negative in which case the size is calculated taking account of the size of the text.
+.SH "void QHeader::adjustHeaderSize ()"
+Adjusts the size of the sections to fit the size of the header as completely as possible. Only sections for which isStretchEnabled() is TRUE will be resized.
+.SH "int QHeader::cellAt ( int pos ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use sectionAt() instead.
+.PP
+Returns the index at which the section is displayed, which contains \fIpos\fR in widget coordinates, or -1 if \fIpos\fR is outside the header sections.
+.SH "int QHeader::cellPos ( int i ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use sectionPos() instead.
+.PP
+Returns the position in pixels of the section that is displayed at the index \fIi\fR. The position is measured from the start of the header.
+.SH "int QHeader::cellSize ( int i ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use sectionSize() instead.
+.PP
+Returns the size in pixels of the section that is displayed at the index \fIi\fR.
+.SH "void QHeader::clicked ( int section )\fC [signal]\fR"
+If isClickEnabled() is TRUE, this signal is emitted when the user clicks section \fIsection\fR.
+.PP
+See also pressed() and released().
+.SH "int QHeader::count () const"
+Returns the number of sections in the header. See the "count" property for details.
+.SH "int QHeader::headerWidth () const"
+Returns the total width of all the header columns.
+.SH "QIconSet * QHeader::iconSet ( int section ) const"
+Returns the icon set for section \fIsection\fR. If the section does not exist, 0 is returned.
+.SH "void QHeader::indexChange ( int section, int fromIndex, int toIndex )\fC [signal]\fR"
+This signal is emitted when the user moves section \fIsection\fR from index position \fIfromIndex\fR, to index position \fItoIndex\fR.
+.SH "bool QHeader::isClickEnabled ( int section = -1 ) const"
+Returns TRUE if section \fIsection\fR is clickable; otherwise returns FALSE.
+.PP
+If \fIsection\fR is out of range (negative or larger than count() - 1): returns TRUE if all sections are clickable; otherwise returns FALSE.
+.PP
+See also setClickEnabled().
+.SH "bool QHeader::isMovingEnabled () const"
+Returns TRUE if the header sections can be moved; otherwise returns FALSE. See the "moving" property for details.
+.SH "bool QHeader::isResizeEnabled ( int section = -1 ) const"
+Returns TRUE if section \fIsection\fR is resizeable; otherwise returns FALSE.
+.PP
+If \fIsection\fR is -1 then this function applies to all sections, i.e. returns TRUE if all sections are resizeable; otherwise returns FALSE.
+.PP
+See also setResizeEnabled().
+.SH "bool QHeader::isStretchEnabled () const"
+Returns TRUE if the header sections always take up the full width (or height) of the header; otherwise returns FALSE. See the "stretching" property for details.
+.SH "bool QHeader::isStretchEnabled ( int section ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if section \fIsection\fR will resize to take up the full width (or height) of the header; otherwise returns FALSE. If at least one section has stretch enabled the sections will always take up the full width of the header.
+.PP
+See also setStretchEnabled().
+.SH "QString QHeader::label ( int section ) const"
+Returns the text for section \fIsection\fR. If the section does not exist, a QString::null is returned.
+.PP
+Example: helpsystem/tooltip.cpp.
+.SH "int QHeader::mapToActual ( int l ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use mapToIndex() instead.
+.PP
+Translates from logical index \fIl\fR to actual index (index at which the section \fIl\fR is displayed) . Returns -1 if \fIl\fR is outside the legal range.
+.PP
+See also mapToLogical().
+.SH "int QHeader::mapToIndex ( int section ) const"
+Returns the index position corresponding to the specified \fIsection\fR number.
+.PP
+\fBWarning:\fR If QTable is used to move header sections as a result of user interaction, the mapping exposed by this function will not reflect the order of the headers in the table; i.e., QTable does not call moveSection() to move sections but handles move operations internally.
+.PP
+See also mapToSection().
+.SH "int QHeader::mapToLogical ( int a ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use mapToSection() instead.
+.PP
+Translates from actual index \fIa\fR (index at which the section is displayed) to logical index of the section. Returns -1 if \fIa\fR is outside the legal range.
+.PP
+See also mapToActual().
+.SH "int QHeader::mapToSection ( int index ) const"
+Returns the number of the section that corresponds to the specified \fIindex\fR.
+.PP
+\fBWarning:\fR If QTable is used to move header sections as a result of user interaction, the mapping exposed by this function will not reflect the order of the headers in the table; i.e., QTable does not call moveSection() to move sections but handles move operations internally.
+.PP
+See also mapToIndex().
+.SH "void QHeader::moveCell ( int fromIdx, int toIdx )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use moveSection() instead.
+.PP
+Moves the section that is currently displayed at index \fIfromIdx\fR to index \fItoIdx\fR.
+.SH "void QHeader::moveSection ( int section, int toIndex )"
+Moves section \fIsection\fR to index position \fItoIndex\fR.
+.SH "void QHeader::moved ( int fromIndex, int toIndex )\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use indexChange() instead.
+.PP
+This signal is emitted when the user has moved the section which is displayed at the index \fIfromIndex\fR to the index \fItoIndex\fR.
+.SH "int QHeader::offset () const"
+Returns the header's left-most (or top-most) visible pixel. See the "offset" property for details.
+.SH "Orientation QHeader::orientation () const"
+Returns the header's orientation. See the "orientation" property for details.
+.SH "void QHeader::paintSection ( QPainter * p, int index, const QRect & fr )\fC [virtual protected]\fR"
+Paints the section at position \fIindex\fR, inside rectangle \fIfr\fR (which uses widget coordinates) using painter \fIp\fR.
+.PP
+Calls paintSectionLabel().
+.SH "void QHeader::paintSectionLabel ( QPainter * p, int index, const QRect & fr )\fC [virtual protected]\fR"
+Paints the label of the section at position \fIindex\fR, inside rectangle \fIfr\fR (which uses widget coordinates) using painter \fIp\fR.
+.PP
+Called by paintSection()
+.SH "void QHeader::pressed ( int section )\fC [signal]\fR"
+This signal is emitted when the user presses section \fIsection\fR down.
+.PP
+See also released().
+.SH "void QHeader::released ( int section )\fC [signal]\fR"
+This signal is emitted when section \fIsection\fR is released.
+.PP
+See also pressed().
+.SH "void QHeader::removeLabel ( int section )"
+Removes section \fIsection\fR. If the section does not exist, nothing happens.
+.SH "void QHeader::resizeSection ( int section, int s )"
+Resizes section \fIsection\fR to \fIs\fR pixels wide (or high).
+.SH "QRect QHeader::sRect ( int index )\fC [protected]\fR"
+Returns the rectangle covered by the section at index \fIindex\fR.
+.SH "int QHeader::sectionAt ( int pos ) const"
+Returns the index of the section which contains the position \fIpos\fR given in pixels from the left (or top).
+.PP
+See also offset.
+.PP
+Example: helpsystem/tooltip.cpp.
+.SH "void QHeader::sectionClicked ( int index )\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use clicked() instead.
+.PP
+This signal is emitted when a part of the header is clicked. \fIindex\fR is the index at which the section is displayed.
+.PP
+In a list view this signal would typically be connected to a slot that sorts the specified column (or row).
+.SH "void QHeader::sectionHandleDoubleClicked ( int section )\fC [signal]\fR"
+This signal is emitted when the user doubleclicks on the edge (handle) of section \fIsection\fR.
+.SH "int QHeader::sectionPos ( int section ) const"
+Returns the position (in pixels) at which the \fIsection\fR starts.
+.PP
+See also offset.
+.SH "QRect QHeader::sectionRect ( int section ) const"
+Returns the rectangle covered by section \fIsection\fR.
+.PP
+Example: helpsystem/tooltip.cpp.
+.SH "int QHeader::sectionSize ( int section ) const"
+Returns the width (or height) of the \fIsection\fR in pixels.
+.SH "void QHeader::setCellSize ( int section, int s )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use resizeSection() instead.
+.PP
+Sets the size of the section \fIsection\fR to \fIs\fR pixels.
+.PP
+\fBWarning:\fR does not repaint or send out signals
+.SH "void QHeader::setClickEnabled ( bool enable, int section = -1 )\fC [virtual]\fR"
+If \fIenable\fR is TRUE, any clicks on section \fIsection\fR will result in clicked() signals being emitted; otherwise the section will ignore clicks.
+.PP
+If \fIsection\fR is -1 (the default) then the \fIenable\fR value is set for all existing sections and will be applied to any new sections that are added.
+.PP
+See also moving and setResizeEnabled().
+.SH "void QHeader::setLabel ( int section, const QString & s, int size = -1 )\fC [virtual]\fR"
+Sets the text of section \fIsection\fR to \fIs\fR. The section's width is set to \fIsize\fR if \fIsize\fR >= 0; otherwise it is left unchanged. Any icon set that has been set for this section remains unchanged.
+.PP
+If the section does not exist, nothing happens.
+.PP
+Examples:
+.)l chart/setdataform.cpp and table/small-table-demo/main.cpp.
+.SH "void QHeader::setLabel ( int section, const QIconSet & iconset, const QString & s, int size = -1 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the icon for section \fIsection\fR to \fIiconset\fR and the text to \fIs\fR. The section's width is set to \fIsize\fR if \fIsize\fR >= 0; otherwise it is left unchanged.
+.PP
+If the section does not exist, nothing happens.
+.SH "void QHeader::setMovingEnabled ( bool )\fC [virtual]\fR"
+Sets whether the header sections can be moved. See the "moving" property for details.
+.SH "void QHeader::setOffset ( int pos )\fC [virtual slot]\fR"
+Sets the header's left-most (or top-most) visible pixel to \fIpos\fR. See the "offset" property for details.
+.SH "void QHeader::setOrientation ( Orientation )\fC [virtual]\fR"
+Sets the header's orientation. See the "orientation" property for details.
+.SH "void QHeader::setResizeEnabled ( bool enable, int section = -1 )\fC [virtual]\fR"
+If \fIenable\fR is TRUE the user may resize section \fIsection\fR; otherwise the section may not be manually resized.
+.PP
+If \fIsection\fR is negative (the default) then the \fIenable\fR value is set for all existing sections and will be applied to any new sections that are added. Example:
+.PP
+.nf
+.br
+ // Allow resizing of all current and future sections
+.br
+ header->setResizeEnabled(TRUE);
+.br
+ // Disable resizing of section 3, (the fourth section added)
+.br
+ header->setResizeEnabled(FALSE, 3);
+.br
+.fi
+.PP
+If the user resizes a section, a sizeChange() signal is emitted.
+.PP
+See also moving, setClickEnabled(), and tracking.
+.SH "void QHeader::setSortIndicator ( int section, SortOrder order )"
+Sets a sort indicator onto the specified \fIsection\fR. The indicator's \fIorder\fR is either Ascending or Descending.
+.PP
+Only one section can show a sort indicator at any one time. If you don't want any section to show a sort indicator pass a \fIsection\fR number of -1.
+.PP
+See also sortIndicatorSection() and sortIndicatorOrder().
+.SH "void QHeader::setSortIndicator ( int section, bool ascending = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use the other overload instead.
+.SH "void QHeader::setStretchEnabled ( bool b, int section )\fC [virtual]\fR"
+If \fIb\fR is TRUE, section \fIsection\fR will be resized when the header is resized, so that the sections take up the full width (or height for vertical headers) of the header; otherwise section \fIsection\fR will be set to be unstretchable and will not resize when the header is resized.
+.PP
+If \fIsection\fR is -1, and if \fIb\fR is TRUE, then all sections will be resized equally when the header is resized so that they take up the full width (or height for vertical headers) of the header; otherwise all the sections will be set to be unstretchable and will not resize when the header is resized.
+.PP
+See also adjustHeaderSize().
+.SH "void QHeader::setStretchEnabled ( bool b )"
+Sets whether the header sections always take up the full width (or height) of the header to \fIb\fR. See the "stretching" property for details.
+.SH "void QHeader::setTracking ( bool enable )\fC [virtual]\fR"
+Sets whether the sizeChange() signal is emitted continuously to \fIenable\fR. See the "tracking" property for details.
+.SH "void QHeader::sizeChange ( int section, int oldSize, int newSize )\fC [signal]\fR"
+This signal is emitted when the user has changed the size of a \fIsection\fR from \fIoldSize\fR to \fInewSize\fR. This signal is typically connected to a slot that repaints the table or list that contains the header.
+.SH "SortOrder QHeader::sortIndicatorOrder () const"
+Returns the implied sort order of the QHeaders sort indicator.
+.PP
+See also setSortIndicator() and sortIndicatorSection().
+.SH "int QHeader::sortIndicatorSection () const"
+Returns the section showing the sort indicator or -1 if there is no sort indicator.
+.PP
+See also setSortIndicator() and sortIndicatorOrder().
+.SH "bool QHeader::tracking () const"
+Returns TRUE if the sizeChange() signal is emitted continuously; otherwise returns FALSE. See the "tracking" property for details.
+.SS "Property Documentation"
+.SH "int count"
+This property holds the number of sections in the header.
+.PP
+Get this property's value with count().
+.SH "bool moving"
+This property holds whether the header sections can be moved.
+.PP
+If this property is TRUE (the default) the user can move sections. If the user moves a section the indexChange() signal is emitted.
+.PP
+See also setClickEnabled() and setResizeEnabled().
+.PP
+Set this property's value with setMovingEnabled() and get this property's value with isMovingEnabled().
+.SH "int offset"
+This property holds the header's left-most (or top-most) visible pixel.
+.PP
+Setting this property will scroll the header so that \fIoffset\fR becomes the left-most (or top-most for vertical headers) visible pixel.
+.PP
+Set this property's value with setOffset() and get this property's value with offset().
+.SH "Orientation orientation"
+This property holds the header's orientation.
+.PP
+The orientation is either Vertical or Horizontal (the default).
+.PP
+Call setOrientation() before adding labels if you don't provide a size parameter otherwise the sizes will be incorrect.
+.PP
+Set this property's value with setOrientation() and get this property's value with orientation().
+.SH "bool stretching"
+This property holds whether the header sections always take up the full width (or height) of the header.
+.PP
+Set this property's value with setStretchEnabled() and get this property's value with isStretchEnabled().
+.SH "bool tracking"
+This property holds whether the sizeChange() signal is emitted continuously.
+.PP
+If tracking is on, the sizeChange() signal is emitted continuously while the mouse is moved (i.e. when the header is resized), otherwise it is only emitted when the mouse button is released at the end of resizing.
+.PP
+Tracking defaults to FALSE.
+.PP
+Set this property's value with setTracking() and get this property's value with tracking().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qheader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qheader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhebrewcodec.3qt b/doc/man/man3/qhebrewcodec.3qt
new file mode 100644
index 0000000..e07d93e
--- /dev/null
+++ b/doc/man/man3/qhebrewcodec.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QHebrewCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHebrewCodec \- Conversion to and from visually ordered Hebrew
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qrtlcodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.ti -1c
+.BI "virtual QCString \fBfromUnicode\fR ( const QString & uc, int & lenInOut ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHebrewCodec class provides conversion to and from visually ordered Hebrew.
+.PP
+Hebrew as a semitic language is written from right to left. Because older computer systems couldn't handle reordering a string so that the first letter appears on the right, many older documents were encoded in visual order, so that the first letter of a line is the rightmost one in the string.
+.PP
+In contrast to this, Unicode defines characters to be in logical order (the order you would read the string). This codec tries to convert visually ordered Hebrew (8859-8) to Unicode. This might not always work perfectly, because reversing the \fIbidi\fR (bi-directional) algorithm that transforms from logical to visual order is non-trivial.
+.PP
+Transformation from Unicode to visual Hebrew (8859-8) is done using the bidi algorithm in Qt, and will produce correct results, so long as the codec is given the text a whole paragraph at a time. Places where newlines are supposed to go can be indicated by a newline character ('\\n'). Note that these newline characters change the reordering behaviour of the algorithm, since the bidi reordering only takes place within one line of text, whereas line breaks are determined in visual order.
+.PP
+Visually ordered Hebrew is still used quite often in some places, mainly in email communication (since most email programs still don't understand logically ordered Hebrew) and on web pages. The use on web pages is rapidly decreasing, due to the availability of browsers that correctly support logically ordered Hebrew.
+.PP
+This codec has the name "iso8859-8". If you don't want any bidi reordering to happen during conversion, use the "iso8859-8-i" codec, which assumes logical order for the 8-bit string.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QCString QHebrewCodec::fromUnicode ( const QString & uc, int & lenInOut ) const\fC [virtual]\fR"
+Transforms the logically ordered QString, \fIuc\fR, into a visually ordered string in the 8859-8 encoding. Qt's bidi algorithm is used to perform this task. Note that newline characters affect the reordering, since reordering is done on a line by line basis.
+.PP
+The algorithm is designed to work on whole paragraphs of text, so processing a line at a time may produce incorrect results. This approach is taken because the reordering of the contents of a particular line in a paragraph may depend on the previous line in the same paragraph.
+.PP
+Some encodings (for example Japanese or UTF-8) are multibyte (so one input character is mapped to two output characters). The \fIlenInOut\fR argument specifies the number of QChars that should be converted and is set to the number of characters returned.
+.PP
+Reimplemented from QTextCodec.
+.SH "const char * QHebrewCodec::mimeName () const\fC [virtual]\fR"
+Returns the codec's mime name.
+.PP
+Reimplemented from QTextCodec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhebrewcodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhebrewcodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhgroupbox.3qt b/doc/man/man3/qhgroupbox.3qt
new file mode 100644
index 0000000..b5628aa
--- /dev/null
+++ b/doc/man/man3/qhgroupbox.3qt
@@ -0,0 +1,75 @@
+'\" t
+.TH QHGroupBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHGroupBox \- Organizes widgets in a group with one horizontal row
+.SH SYNOPSIS
+\fC#include <qhgroupbox.h>\fR
+.PP
+Inherits QGroupBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHGroupBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHGroupBox\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QHGroupBox\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHGroupBox widget organizes widgets in a group with one horizontal row.
+.PP
+QHGroupBox is a convenience class that offers a thin layer on top of QGroupBox. Think of it as a QHBox that offers a frame with a title.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QVGroupBox, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHGroupBox::QHGroupBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal group box with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QHGroupBox::QHGroupBox ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal group box with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QWidget constructor.
+.SH "QHGroupBox::~QHGroupBox ()"
+Destroys the horizontal group box, deleting its child widgets.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhgroupbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhgroupbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhideevent.3qt b/doc/man/man3/qhideevent.3qt
new file mode 100644
index 0000000..dad6f76
--- /dev/null
+++ b/doc/man/man3/qhideevent.3qt
@@ -0,0 +1,57 @@
+'\" t
+.TH QHideEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHideEvent \- Event which is sent after a widget is hidden
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHideEvent\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHideEvent class provides an event which is sent after a widget is hidden.
+.PP
+This event is sent just before QWidget::hide() returns, and also when a top-level window has been hidden (iconified) by the user.
+.PP
+If spontaneous() is TRUE the event originated outside the application, i.e. the user hid the window using the window manager controls, either by iconifying the window or by switching to another virtual desktop where the window isn't visible. The window will become hidden but not withdrawn. If the window was iconified, QWidget::isMinimized() returns TRUE.
+.PP
+See also QShowEvent and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHideEvent::QHideEvent ()"
+Constructs a QHideEvent.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhideevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhideevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhostaddress.3qt b/doc/man/man3/qhostaddress.3qt
new file mode 100644
index 0000000..7237e48
--- /dev/null
+++ b/doc/man/man3/qhostaddress.3qt
@@ -0,0 +1,188 @@
+'\" t
+.TH QHostAddress 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHostAddress \- IP address
+.SH SYNOPSIS
+\fC#include <qhostaddress.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHostAddress\fR ()"
+.br
+.ti -1c
+.BI "\fBQHostAddress\fR ( Q_UINT32 ip4Addr )"
+.br
+.ti -1c
+.BI "\fBQHostAddress\fR ( Q_UINT8 * ip6Addr )"
+.br
+.ti -1c
+.BI "\fBQHostAddress\fR ( const Q_IPV6ADDR & ip6Addr )"
+.br
+.ti -1c
+.BI "\fBQHostAddress\fR ( const QHostAddress & address )"
+.br
+.ti -1c
+.BI "virtual \fB~QHostAddress\fR ()"
+.br
+.ti -1c
+.BI "QHostAddress & \fBoperator=\fR ( const QHostAddress & address )"
+.br
+.ti -1c
+.BI "void \fBsetAddress\fR ( Q_UINT32 ip4Addr )"
+.br
+.ti -1c
+.BI "void \fBsetAddress\fR ( Q_UINT8 * ip6Addr )"
+.br
+.ti -1c
+.BI "bool \fBsetAddress\fR ( const QString & address )"
+.br
+.ti -1c
+.BI "bool isIp4Addr () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "Q_UINT32 ip4Addr () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBisIPv4Address\fR () const"
+.br
+.ti -1c
+.BI "Q_UINT32 \fBtoIPv4Address\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisIPv6Address\fR () const"
+.br
+.ti -1c
+.BI "Q_IPV6ADDR \fBtoIPv6Address\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QHostAddress & other ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHostAddress class provides an IP address.
+.PP
+This class contains an IP address in a platform and protocol independent manner. It stores both IPv4 and IPv6 addresses in a way that you can easily access on any platform.
+.PP
+QHostAddress is normally used with the classes QSocket, QServerSocket and QSocketDevice to set up a server or to connect to a host.
+.PP
+Host addresses may be set with setAddress() and retrieved with ip4Addr() or toString().
+.PP
+See also QSocket, QServerSocket, QSocketDevice, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHostAddress::QHostAddress ()"
+Creates a host address object with the IP address 0.0.0.0.
+.SH "QHostAddress::QHostAddress ( Q_UINT32 ip4Addr )"
+Creates a host address object for the IPv4 address \fIip4Addr\fR.
+.SH "QHostAddress::QHostAddress ( Q_UINT8 * ip6Addr )"
+Creates a host address object with the specified IPv6 address.
+.PP
+\fIip6Addr\fR must be a 16 byte array in network byte order (high-order byte first).
+.SH "QHostAddress::QHostAddress ( const Q_IPV6ADDR & ip6Addr )"
+Creates a host address object with the IPv6 address, \fIip6Addr\fR.
+.SH "QHostAddress::QHostAddress ( const QHostAddress & address )"
+Creates a copy of \fIaddress\fR.
+.SH "QHostAddress::~QHostAddress ()\fC [virtual]\fR"
+Destroys the host address object.
+.SH "Q_UINT32 QHostAddress::ip4Addr () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use toIPv4Address() instead.
+.SH "bool QHostAddress::isIPv4Address () const"
+Returns TRUE if the host address represents an IPv4 address; otherwise returns FALSE.
+.SH "bool QHostAddress::isIPv6Address () const"
+Returns TRUE if the host address represents an IPv6 address; otherwise returns FALSE.
+.SH "bool QHostAddress::isIp4Addr () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use isIPv4Address() instead.
+.SH "bool QHostAddress::isNull () const"
+Returns TRUE if this host address is null (INADDR_ANY or in6addr_any). The default constructor creates a null address, and that address isn't valid for any particular host or interface.
+.SH "QHostAddress & QHostAddress::operator= ( const QHostAddress & address )"
+Assigns another host address object \fIaddress\fR to this object and returns a reference to this object.
+.SH "bool QHostAddress::operator== ( const QHostAddress & other ) const"
+Returns TRUE if this host address is the same as \fIother\fR; otherwise returns FALSE.
+.SH "void QHostAddress::setAddress ( Q_UINT32 ip4Addr )"
+Set the IPv4 address specified by \fIip4Addr\fR.
+.SH "void QHostAddress::setAddress ( Q_UINT8 * ip6Addr )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Set the IPv6 address specified by \fIip6Addr\fR.
+.PP
+\fIip6Addr\fR must be a 16 byte array in network byte order (high-order byte first).
+.SH "bool QHostAddress::setAddress ( const QString & address )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the IPv4 or IPv6 address specified by the string representation \fIaddress\fR (e.g. "127.0.0.1"). Returns TRUE and sets the address if the address was successfully parsed; otherwise returns FALSE and leaves the address unchanged.
+.SH "Q_UINT32 QHostAddress::toIPv4Address () const"
+Returns the IPv4 address as a number.
+.PP
+For example, if the address is 127.0.0.1, the returned value is 2130706433 (i.e. 0x7f000001).
+.PP
+This value is only valid when isIp4Addr() returns TRUE.
+.PP
+See also toString().
+.SH "Q_IPV6ADDR QHostAddress::toIPv6Address () const"
+Returns the IPv6 address as a Q_IPV6ADDR structure. The structure consists of 16 unsigned characters.
+.PP
+.nf
+.br
+ Q_IPV6ADDR addr = hostAddr.ip6Addr();
+.br
+ // addr.c[] contains 16 unsigned characters
+.br
+.br
+ for (int i = 0; i < 16; ++i) {
+.br
+ // process addr.c[i]
+.br
+ }
+.br
+.fi
+.PP
+This value is only valid when isIPv6Address() returns TRUE.
+.PP
+See also toString().
+.SH "QString QHostAddress::toString () const"
+Returns the address as a string.
+.PP
+For example, if the address is the IPv4 address 127.0.0.1, the returned string is "127.0.0.1".
+.PP
+See also ip4Addr().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhostaddress.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhostaddress.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhttp.3qt b/doc/man/man3/qhttp.3qt
new file mode 100644
index 0000000..1348237
--- /dev/null
+++ b/doc/man/man3/qhttp.3qt
@@ -0,0 +1,542 @@
+'\" t
+.TH QHttp 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHttp \- Implementation of the HTTP protocol
+.SH SYNOPSIS
+\fC#include <qhttp.h>\fR
+.PP
+Inherits QNetworkProtocol.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHttp\fR ()"
+.br
+.ti -1c
+.BI "\fBQHttp\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQHttp\fR ( const QString & hostname, Q_UINT16 port = 80, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QHttp\fR ()"
+.br
+.ti -1c
+.BI "enum \fBState\fR { Unconnected, HostLookup, Connecting, Sending, Reading, Connected, Closing }"
+.br
+.ti -1c
+.BI "enum \fBError\fR { NoError, UnknownError, HostNotFound, ConnectionRefused, UnexpectedClose, InvalidResponseHeader, WrongContentLength, Aborted }"
+.br
+.ti -1c
+.BI "int \fBsetHost\fR ( const QString & hostname, Q_UINT16 port = 80 )"
+.br
+.ti -1c
+.BI "int \fBget\fR ( const QString & path, QIODevice * to = 0 )"
+.br
+.ti -1c
+.BI "int \fBpost\fR ( const QString & path, QIODevice * data, QIODevice * to = 0 )"
+.br
+.ti -1c
+.BI "int \fBpost\fR ( const QString & path, const QByteArray & data, QIODevice * to = 0 )"
+.br
+.ti -1c
+.BI "int \fBhead\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "int \fBrequest\fR ( const QHttpRequestHeader & header, QIODevice * data = 0, QIODevice * to = 0 )"
+.br
+.ti -1c
+.BI "int \fBrequest\fR ( const QHttpRequestHeader & header, const QByteArray & data, QIODevice * to = 0 )"
+.br
+.ti -1c
+.BI "int \fBcloseConnection\fR ()"
+.br
+.ti -1c
+.BI "Q_ULONG \fBbytesAvailable\fR () const"
+.br
+.ti -1c
+.BI "Q_LONG \fBreadBlock\fR ( char * data, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "QByteArray \fBreadAll\fR ()"
+.br
+.ti -1c
+.BI "int \fBcurrentId\fR () const"
+.br
+.ti -1c
+.BI "QIODevice * \fBcurrentSourceDevice\fR () const"
+.br
+.ti -1c
+.BI "QIODevice * \fBcurrentDestinationDevice\fR () const"
+.br
+.ti -1c
+.BI "QHttpRequestHeader \fBcurrentRequest\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasPendingRequests\fR () const"
+.br
+.ti -1c
+.BI "void \fBclearPendingRequests\fR ()"
+.br
+.ti -1c
+.BI "State \fBstate\fR () const"
+.br
+.ti -1c
+.BI "Error \fBerror\fR () const"
+.br
+.ti -1c
+.BI "QString \fBerrorString\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBabort\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.ti -1c
+.BI "void \fBresponseHeaderReceived\fR ( const QHttpResponseHeader & resp )"
+.br
+.ti -1c
+.BI "void \fBreadyRead\fR ( const QHttpResponseHeader & resp )"
+.br
+.ti -1c
+.BI "void \fBdataSendProgress\fR ( int done, int total )"
+.br
+.ti -1c
+.BI "void \fBdataReadProgress\fR ( int done, int total )"
+.br
+.ti -1c
+.BI "void \fBrequestStarted\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBrequestFinished\fR ( int id, bool error )"
+.br
+.ti -1c
+.BI "void \fBdone\fR ( bool error )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHttp class provides an implementation of the HTTP protocol.
+.PP
+This class provides two different interfaces: one is the QNetworkProtocol interface that allows you to use HTTP through the QUrlOperator abstraction. The other is a direct interface to HTTP that allows you to have more control over the requests and that allows you to access the response header fields.
+.PP
+Don't mix the two interfaces, since the behavior is not well-defined.
+.PP
+If you want to use QHttp with the QNetworkProtocol interface, you do not use it directly, but rather through a QUrlOperator, for example:
+.PP
+.nf
+.br
+ QUrlOperator op( "http://www.trolltech.com" );
+.br
+ op.get( "index.html" );
+.br
+.fi
+.PP
+This code will only work if the QHttp class is registered; to register the class, you must call qInitNetworkProtocols() before using a QUrlOperator with HTTP.
+.PP
+The QNetworkProtocol interface for HTTP only supports the operations operationGet() and operationPut(), i.e. QUrlOperator::get() and QUrlOperator::put(), if you use it with a QUrlOperator.
+.PP
+The rest of this descrption describes the direct interface to HTTP.
+.PP
+The class works asynchronously, so there are no blocking functions. If an operation cannot be executed immediately, the function will still return straight away and the operation will be scheduled for later execution. The results of scheduled operations are reported via signals. This approach depends on the event loop being in operation.
+.PP
+The operations that can be scheduled (they are called "requests" in the rest of the documentation) are the following: setHost(), get(), post(), head() and request().
+.PP
+All of these requests return a unique identifier that allows you to keep track of the request that is currently executed. When the execution of a request starts, the requestStarted() signal with the identifier is emitted and when the request is finished, the requestFinished() signal is emitted with the identifier and a bool that indicates if the request finished with an error.
+.PP
+To make an HTTP request you must set up suitable HTTP headers. The following example demonstrates, how to request the main HTML page from the Trolltech home page (i.e. the URL http://www.trolltech.com/index.html):
+.PP
+.nf
+.br
+ QHttpRequestHeader header( "GET", "/index.html" );
+.br
+ header.setValue( "Host", "www.trolltech.com" );
+.br
+ http->setHost( "www.trolltech.com" );
+.br
+ http->request( header );
+.br
+.fi
+.PP
+For the common HTTP requests \fCGET\fR, \fCPOST\fR and \fCHEAD\fR, QHttp provides the convenience functions get(), post() and head(). They already use a reasonable header and if you don't have to set special header fields, they are easier to use. The above example can also be written as:
+.PP
+.nf
+.br
+ http->setHost( "www.trolltech.com" ); // id == 1
+.br
+ http->get( "/index.html" ); // id == 2
+.br
+.fi
+.PP
+For this example the following sequence of signals is emitted (with small variations, depending on network traffic, etc.):
+.PP
+.nf
+.br
+ requestStarted( 1 )
+.br
+ requestFinished( 1, FALSE )
+.br
+.br
+ requestStarted( 2 )
+.br
+ stateChanged( Connecting )
+.br
+ stateChanged( Sending )
+.br
+ dataSendProgress( 77, 77 )
+.br
+ stateChanged( Reading )
+.br
+ responseHeaderReceived( responseheader )
+.br
+ dataReadProgress( 5388, 0 )
+.br
+ readyRead( responseheader )
+.br
+ dataReadProgress( 18300, 0 )
+.br
+ readyRead( responseheader )
+.br
+ stateChanged( Connected )
+.br
+ requestFinished( 2, FALSE )
+.br
+.br
+ done( FALSE )
+.br
+.br
+ stateChanged( Closing )
+.br
+ stateChanged( Unconnected )
+.br
+.fi
+.PP
+The dataSendProgress() and dataReadProgress() signals in the above example are useful if you want to show a progressbar to inform the user about the progress of the download. The second argument is the total size of data. In certain cases it is not possible to know the total amount in advance, in which case the second argument is 0. (If you connect to a QProgressBar a total of 0 results in a busy indicator.)
+.PP
+When the response header is read, it is reported with the responseHeaderReceived() signal.
+.PP
+The readyRead() signal tells you that there is data ready to be read. The amount of data can then be queried with the bytesAvailable() function and it can be read with the readBlock() or readAll() functions.
+.PP
+If an error occurs during the execution of one of the commands in a sequence of commands, all the pending commands (i.e. scheduled, but not yet executed commands) are cleared and no signals are emitted for them.
+.PP
+For example, if you have the following sequence of reqeusts
+.PP
+.nf
+.br
+ http->setHost( "www.foo.bar" ); // id == 1
+.br
+ http->get( "/index.html" ); // id == 2
+.br
+ http->post( "register.html", data ); // id == 3
+.br
+.fi
+.PP
+and the get() request fails because the host lookup fails, then the post() request is never executed and the signals would look like this:
+.PP
+.nf
+.br
+ requestStarted( 1 )
+.br
+ requestFinished( 1, FALSE )
+.br
+.br
+ requestStarted( 2 )
+.br
+ stateChanged( HostLookup )
+.br
+ requestFinished( 2, TRUE )
+.br
+.br
+ done( TRUE )
+.br
+.br
+ stateChanged( Unconnected )
+.br
+.fi
+.PP
+You can then get details about the error with the error() and errorString() functions. Note that only unexpected behaviour, like network failure is considered as an error. If the server response contains an error status, like a 404 response, this is reported as a normal response case. So you should always check the status code of the response header.
+.PP
+The functions currentId() and currentRequest() provide more information about the currently executing request.
+.PP
+The functions hasPendingRequests() and clearPendingRequests() allow you to query and clear the list of pending requests.
+.PP
+See also Qt Network Documentation, QNetworkProtocol, QUrlOperator, QFtp, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QHttp::Error"
+This enum identifies the error that occurred.
+.TP
+\fCQHttp::NoError\fR - No error occurred.
+.TP
+\fCQHttp::HostNotFound\fR - The host name lookup failed.
+.TP
+\fCQHttp::ConnectionRefused\fR - The server refused the connection.
+.TP
+\fCQHttp::UnexpectedClose\fR - The server closed the connection unexpectedly.
+.TP
+\fCQHttp::InvalidResponseHeader\fR - The server sent an invalid response header.
+.TP
+\fCQHttp::WrongContentLength\fR - The client could not read the content correctly because an error with respect to the content length occurred.
+.TP
+\fCQHttp::Aborted\fR - The request was aborted with abort().
+.TP
+\fCQHttp::UnknownError\fR - An error other than those specified above occurred.
+.PP
+See also error().
+.SH "QHttp::State"
+This enum is used to specify the state the client is in:
+.TP
+\fCQHttp::Unconnected\fR - There is no connection to the host.
+.TP
+\fCQHttp::HostLookup\fR - A host name lookup is in progress.
+.TP
+\fCQHttp::Connecting\fR - An attempt to connect to the host is in progress.
+.TP
+\fCQHttp::Sending\fR - The client is sending its request to the server.
+.TP
+\fCQHttp::Reading\fR - The client's request has been sent and the client is reading the server's response.
+.TP
+\fCQHttp::Connected\fR - The connection to the host is open, but the client is neither sending a request, nor waiting for a response.
+.TP
+\fCQHttp::Closing\fR - The connection is closing down, but is not yet closed. (The state will be Unconnected when the connection is closed.)
+.PP
+See also stateChanged() and state().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHttp::QHttp ()"
+Constructs a QHttp object.
+.SH "QHttp::QHttp ( QObject * parent, const char * name = 0 )"
+Constructs a QHttp object. The parameters \fIparent\fR and \fIname\fR are passed on to the QObject constructor.
+.SH "QHttp::QHttp ( const QString & hostname, Q_UINT16 port = 80, QObject * parent = 0, const char * name = 0 )"
+Constructs a QHttp object. Subsequent requests are done by connecting to the server \fIhostname\fR on port \fIport\fR. The parameters \fIparent\fR and \fIname\fR are passed on to the QObject constructor.
+.PP
+See also setHost().
+.SH "QHttp::~QHttp ()\fC [virtual]\fR"
+Destroys the QHttp object. If there is an open connection, it is closed.
+.SH "void QHttp::abort ()\fC [slot]\fR"
+Aborts the current request and deletes all scheduled requests.
+.PP
+For the current request, the requestFinished() signal with the \fCerror\fR argument \fCTRUE\fR is emitted. For all other requests that are affected by the abort(), no signals are emitted.
+.PP
+Since this slot also deletes the scheduled requests, there are no requests left and the done() signal is emitted (with the \fCerror\fR argument \fCTRUE\fR).
+.PP
+See also clearPendingRequests().
+.SH "Q_ULONG QHttp::bytesAvailable () const"
+Returns the number of bytes that can be read from the response content at the moment.
+.PP
+See also get(), post(), request(), readyRead(), readBlock(), and readAll().
+.SH "void QHttp::clearPendingRequests ()"
+Deletes all pending requests from the list of scheduled requests. This does not affect the request that is being executed. If you want to stop this this as well, use abort().
+.PP
+See also hasPendingRequests() and abort().
+.SH "int QHttp::closeConnection ()"
+Closes the connection; this is useful if you have a keep-alive connection and want to close it.
+.PP
+For the requests issued with get(), post() and head(), QHttp sets the connection to be keep-alive. You can also do this using the header you pass to the request() function. QHttp only closes the connection to the HTTP server if the response header requires it to do so.
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+If you want to close the connection immediately, you have to use abort() instead.
+.PP
+See also stateChanged(), abort(), requestStarted(), requestFinished(), and done().
+.SH "QIODevice * QHttp::currentDestinationDevice () const"
+Returns the QIODevice pointer that is used as to store the data of the HTTP request being executed. If there is no current request or if the request does not store the data to an IO device, this function returns 0.
+.PP
+This function can be used to delete the QIODevice in the slot connected to the requestFinished() signal.
+.PP
+See also get(), post(), and request().
+.SH "int QHttp::currentId () const"
+Returns the identifier of the HTTP request being executed or 0 if there is no request being executed (i.e. they've all finished).
+.PP
+See also currentRequest().
+.SH "QHttpRequestHeader QHttp::currentRequest () const"
+Returns the request header of the HTTP request being executed. If the request is one issued by setHost() or closeConnection(), it returns an invalid request header, i.e. QHttpRequestHeader::isValid() returns FALSE.
+.PP
+See also currentId().
+.SH "QIODevice * QHttp::currentSourceDevice () const"
+Returns the QIODevice pointer that is used as the data source of the HTTP request being executed. If there is no current request or if the request does not use an IO device as the data source, this function returns 0.
+.PP
+This function can be used to delete the QIODevice in the slot connected to the requestFinished() signal.
+.PP
+See also currentDestinationDevice(), post(), and request().
+.SH "void QHttp::dataReadProgress ( int done, int total )\fC [signal]\fR"
+This signal is emitted when this object reads data from a HTTP server to indicate the current progress of the download.
+.PP
+\fIdone\fR is the amount of data that has already arrived and \fItotal\fR is the total amount of data. It is possible that the total amount of data that should be transferred cannot be determined, in which case \fItotal\fR is 0.(If you connect to a QProgressBar, the progress bar shows a busy indicator if the total is 0).
+.PP
+\fBWarning:\fR \fIdone\fR and \fItotal\fR are not necessarily the size in bytes, since for large files these values might need to be" scaled" to avoid overflow.
+.PP
+See also dataSendProgress(), get(), post(), request(), and QProgressBar::progress.
+.SH "void QHttp::dataSendProgress ( int done, int total )\fC [signal]\fR"
+This signal is emitted when this object sends data to a HTTP server to inform it about the progress of the upload.
+.PP
+\fIdone\fR is the amount of data that has already arrived and \fItotal\fR is the total amount of data. It is possible that the total amount of data that should be transferred cannot be determined, in which case \fItotal\fR is 0.(If you connect to a QProgressBar, the progress bar shows a busy indicator if the total is 0).
+.PP
+\fBWarning:\fR \fIdone\fR and \fItotal\fR are not necessarily the size in bytes, since for large files these values might need to be" scaled" to avoid overflow.
+.PP
+See also dataReadProgress(), post(), request(), and QProgressBar::progress.
+.SH "void QHttp::done ( bool error )\fC [signal]\fR"
+This signal is emitted when the last pending request has finished; (it is emitted after the last request's requestFinished() signal). \fIerror\fR is TRUE if an error occurred during the processing; otherwise \fIerror\fR is FALSE.
+.PP
+See also requestFinished(), error(), and errorString().
+.SH "Error QHttp::error () const"
+Returns the last error that occurred. This is useful to find out what happened when receiving a requestFinished() or a done() signal with the \fCerror\fR argument \fCTRUE\fR.
+.PP
+If you start a new request, the error status is reset to NoError.
+.SH "QString QHttp::errorString () const"
+Returns a human-readable description of the last error that occurred. This is useful to present a error message to the user when receiving a requestFinished() or a done() signal with the \fCerror\fR argument \fCTRUE\fR.
+.SH "int QHttp::get ( const QString & path, QIODevice * to = 0 )"
+Sends a get request for \fIpath\fR to the server set by setHost() or as specified in the constructor.
+.PP
+\fIpath\fR must be an absolute path like \fC/index.html\fR or an absolute URI like http://www.trolltech.com/index.html.
+.PP
+If the IO device \fIto\fR is 0 the readyRead() signal is emitted every time new content data is available to read.
+.PP
+If the IO device \fIto\fR is not 0, the content data of the response is written directly to the device. Make sure that the \fIto\fR pointer is valid for the duration of the operation (it is safe to delete it when the requestFinished() signal is emitted).
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+See also setHost(), post(), head(), request(), requestStarted(), requestFinished(), and done().
+.SH "bool QHttp::hasPendingRequests () const"
+Returns TRUE if there are any requests scheduled that have not yet been executed; otherwise returns FALSE.
+.PP
+The request that is being executed is \fInot\fR considered as a scheduled request.
+.PP
+See also clearPendingRequests(), currentId(), and currentRequest().
+.SH "int QHttp::head ( const QString & path )"
+Sends a header request for \fIpath\fR to the server set by setHost() or as specified in the constructor.
+.PP
+\fIpath\fR must be an absolute path like \fC/index.html\fR or an absolute URI like http://www.trolltech.com/index.html.
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+See also setHost(), get(), post(), request(), requestStarted(), requestFinished(), and done().
+.SH "int QHttp::post ( const QString & path, QIODevice * data, QIODevice * to = 0 )"
+Sends a post request for \fIpath\fR to the server set by setHost() or as specified in the constructor.
+.PP
+\fIpath\fR must be an absolute path like \fC/index.html\fR or an absolute URI like http://www.trolltech.com/index.html.
+.PP
+The incoming data comes via the \fIdata\fR IO device.
+.PP
+If the IO device \fIto\fR is 0 the readyRead() signal is emitted every time new content data is available to read.
+.PP
+If the IO device \fIto\fR is not 0, the content data of the response is written directly to the device. Make sure that the \fIto\fR pointer is valid for the duration of the operation (it is safe to delete it when the requestFinished() signal is emitted).
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+See also setHost(), get(), head(), request(), requestStarted(), requestFinished(), and done().
+.SH "int QHttp::post ( const QString & path, const QByteArray & data, QIODevice * to = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIdata\fR is used as the content data of the HTTP request.
+.SH "QByteArray QHttp::readAll ()"
+Reads all the bytes from the response content and returns them.
+.PP
+See also get(), post(), request(), readyRead(), bytesAvailable(), and readBlock().
+.SH "Q_LONG QHttp::readBlock ( char * data, Q_ULONG maxlen )"
+Reads \fImaxlen\fR bytes from the response content into \fIdata\fR and returns the number of bytes read. Returns -1 if an error occurred.
+.PP
+See also get(), post(), request(), readyRead(), bytesAvailable(), and readAll().
+.SH "void QHttp::readyRead ( const QHttpResponseHeader & resp )\fC [signal]\fR"
+This signal is emitted when there is new response data to read.
+.PP
+If you specified a device in the request where the data should be written to, then this signal is \fInot\fR emitted; instead the data is written directly to the device.
+.PP
+The response header is passed in \fIresp\fR.
+.PP
+You can read the data with the readAll() or readBlock() functions
+.PP
+This signal is useful if you want to process the data in chunks as soon as it becomes available. If you are only interested in the complete data, just connect to the requestFinished() signal and read the data then instead.
+.PP
+See also get(), post(), request(), readAll(), readBlock(), and bytesAvailable().
+.SH "int QHttp::request ( const QHttpRequestHeader & header, QIODevice * data = 0, QIODevice * to = 0 )"
+Sends a request to the server set by setHost() or as specified in the constructor. Uses the \fIheader\fR as the HTTP request header. You are responsible for setting up a header that is appropriate for your request.
+.PP
+The incoming data comes via the \fIdata\fR IO device.
+.PP
+If the IO device \fIto\fR is 0 the readyRead() signal is emitted every time new content data is available to read.
+.PP
+If the IO device \fIto\fR is not 0, the content data of the response is written directly to the device. Make sure that the \fIto\fR pointer is valid for the duration of the operation (it is safe to delete it when the requestFinished() signal is emitted).
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+See also setHost(), get(), post(), head(), requestStarted(), requestFinished(), and done().
+.SH "int QHttp::request ( const QHttpRequestHeader & header, const QByteArray & data, QIODevice * to = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIdata\fR is used as the content data of the HTTP request.
+.SH "void QHttp::requestFinished ( int id, bool error )\fC [signal]\fR"
+This signal is emitted when processing the request identified by \fIid\fR has finished. \fIerror\fR is TRUE if an error occurred during the processing; otherwise \fIerror\fR is FALSE.
+.PP
+See also requestStarted(), done(), error(), and errorString().
+.SH "void QHttp::requestStarted ( int id )\fC [signal]\fR"
+This signal is emitted when processing the request identified by \fIid\fR starts.
+.PP
+See also requestFinished() and done().
+.SH "void QHttp::responseHeaderReceived ( const QHttpResponseHeader & resp )\fC [signal]\fR"
+This signal is emitted when the HTTP header of a server response is available. The header is passed in \fIresp\fR.
+.PP
+See also get(), post(), head(), request(), and readyRead().
+.SH "int QHttp::setHost ( const QString & hostname, Q_UINT16 port = 80 )"
+Sets the HTTP server that is used for requests to \fIhostname\fR on port \fIport\fR.
+.PP
+The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
+.PP
+When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
+.PP
+See also get(), post(), head(), request(), requestStarted(), requestFinished(), and done().
+.SH "State QHttp::state () const"
+Returns the current state of the object. When the state changes, the stateChanged() signal is emitted.
+.PP
+See also State and stateChanged().
+.SH "void QHttp::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted when the state of the QHttp object changes. The argument \fIstate\fR is the new state of the connection; it is one of the State values.
+.PP
+This usually happens when a request is started, but it can also happen when the server closes the connection or when a call to closeConnection() succeeded.
+.PP
+See also get(), post(), head(), request(), closeConnection(), state(), and State.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhttp.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhttp.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhttpheader.3qt b/doc/man/man3/qhttpheader.3qt
new file mode 100644
index 0000000..e754088
--- /dev/null
+++ b/doc/man/man3/qhttpheader.3qt
@@ -0,0 +1,210 @@
+'\" t
+.TH QHttpHeader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHttpHeader \- Header information for HTTP
+.SH SYNOPSIS
+\fC#include <qhttp.h>\fR
+.PP
+Inherited by QHttpResponseHeader and QHttpRequestHeader.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHttpHeader\fR ()"
+.br
+.ti -1c
+.BI "\fBQHttpHeader\fR ( const QHttpHeader & header )"
+.br
+.ti -1c
+.BI "\fBQHttpHeader\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "virtual \fB~QHttpHeader\fR ()"
+.br
+.ti -1c
+.BI "QHttpHeader & \fBoperator=\fR ( const QHttpHeader & h )"
+.br
+.ti -1c
+.BI "QString \fBvalue\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "void \fBsetValue\fR ( const QString & key, const QString & value )"
+.br
+.ti -1c
+.BI "void \fBremoveValue\fR ( const QString & key )"
+.br
+.ti -1c
+.BI "QStringList \fBkeys\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasKey\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "bool \fBhasContentLength\fR () const"
+.br
+.ti -1c
+.BI "uint \fBcontentLength\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetContentLength\fR ( int len )"
+.br
+.ti -1c
+.BI "bool \fBhasContentType\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcontentType\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetContentType\fR ( const QString & type )"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBmajorVersion\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual int \fBminorVersion\fR () const = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHttpHeader class contains header information for HTTP.
+.PP
+In most cases you should use the more specialized derivatives of this class, QHttpResponseHeader and QHttpRequestHeader, rather than directly using QHttpHeader.
+.PP
+QHttpHeader provides the HTTP header fields. A HTTP header field consists of a name followed by a colon, a single space, and the field value. (See RFC 1945.) Field names are case-insensitive. A typical header field looks like this:
+.PP
+.nf
+.br
+ content-type: text/html
+.br
+.fi
+.PP
+In the API the header field name is called the "key" and the content is called the "value". You can get and set a header field's value by using its key with value() and setValue(), e.g.
+.PP
+.nf
+.br
+ header.setValue( "content-type", "text/html" );
+.br
+ QString contentType = header.value( "content-type" );
+.br
+.fi
+.PP
+Some fields are so common that getters and setters are provided for them as a convenient alternative to using value() and setValue(), e.g. contentLength() and contentType(), setContentLength() and setContentType().
+.PP
+Each header key has a \fIsingle\fR value associated with it. If you set the value for a key which already exists the previous value will be discarded.
+.PP
+See also QHttpRequestHeader, QHttpResponseHeader, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHttpHeader::QHttpHeader ()"
+Constructs an empty HTTP header.
+.SH "QHttpHeader::QHttpHeader ( const QHttpHeader & header )"
+Constructs a copy of \fIheader\fR.
+.SH "QHttpHeader::QHttpHeader ( const QString & str )"
+Constructs a HTTP header for \fIstr\fR.
+.PP
+This constructor parses the string \fIstr\fR for header fields and adds this information. The \fIstr\fR should consist of one or more" \\r\\n" delimited lines; each of these lines should have the format key, colon, space, value.
+.SH "QHttpHeader::~QHttpHeader ()\fC [virtual]\fR"
+Destructor.
+.SH "uint QHttpHeader::contentLength () const"
+Returns the value of the special HTTP header field \fCcontent-length\fR.
+.PP
+See also setContentLength() and hasContentLength().
+.SH "QString QHttpHeader::contentType () const"
+Returns the value of the special HTTP header field \fCcontent-type\fR.
+.PP
+See also setContentType() and hasContentType().
+.SH "bool QHttpHeader::hasContentLength () const"
+Returns TRUE if the header has an entry for the special HTTP header field \fCcontent-length\fR; otherwise returns FALSE.
+.PP
+See also contentLength() and setContentLength().
+.SH "bool QHttpHeader::hasContentType () const"
+Returns TRUE if the header has an entry for the the special HTTP header field \fCcontent-type\fR; otherwise returns FALSE.
+.PP
+See also contentType() and setContentType().
+.SH "bool QHttpHeader::hasKey ( const QString & key ) const"
+Returns TRUE if the HTTP header has an entry with the given \fIkey\fR; otherwise returns FALSE.
+.PP
+See also value(), setValue(), and keys().
+.SH "bool QHttpHeader::isValid () const"
+Returns TRUE if the HTTP header is valid; otherwise returns FALSE.
+.PP
+A QHttpHeader is invalid if it was created by parsing a malformed string.
+.SH "QStringList QHttpHeader::keys () const"
+Returns a list of the keys in the HTTP header.
+.PP
+See also hasKey().
+.SH "int QHttpHeader::majorVersion () const\fC [pure virtual]\fR"
+Returns the major protocol-version of the HTTP header.
+.PP
+Reimplemented in QHttpResponseHeader and QHttpRequestHeader.
+.SH "int QHttpHeader::minorVersion () const\fC [pure virtual]\fR"
+Returns the minor protocol-version of the HTTP header.
+.PP
+Reimplemented in QHttpResponseHeader and QHttpRequestHeader.
+.SH "QHttpHeader & QHttpHeader::operator= ( const QHttpHeader & h )"
+Assigns \fIh\fR and returns a reference to this http header.
+.SH "void QHttpHeader::removeValue ( const QString & key )"
+Removes the entry with the key \fIkey\fR from the HTTP header.
+.PP
+See also value() and setValue().
+.SH "void QHttpHeader::setContentLength ( int len )"
+Sets the value of the special HTTP header field \fCcontent-length\fR to \fIlen\fR.
+.PP
+See also contentLength() and hasContentLength().
+.SH "void QHttpHeader::setContentType ( const QString & type )"
+Sets the value of the special HTTP header field \fCcontent-type\fR to \fItype\fR.
+.PP
+See also contentType() and hasContentType().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH "void QHttpHeader::setValue ( const QString & key, const QString & value )"
+Sets the value of the entry with the \fIkey\fR to \fIvalue\fR.
+.PP
+If no entry with \fIkey\fR exists, a new entry with the given \fIkey\fR and \fIvalue\fR is created. If an entry with the \fIkey\fR already exists, its value is discarded and replaced with the given \fIvalue\fR.
+.PP
+See also value(), hasKey(), and removeValue().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH "QString QHttpHeader::toString () const\fC [virtual]\fR"
+Returns a string representation of the HTTP header.
+.PP
+The string is suitable for use by the constructor that takes a QString. It consists of lines with the format: key, colon, space, value, "\\r\\n".
+.SH "QString QHttpHeader::value ( const QString & key ) const"
+Returns the value for the entry with the given \fIkey\fR. If no entry has this \fIkey\fR, an empty string is returned.
+.PP
+See also setValue(), removeValue(), hasKey(), and keys().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhttpheader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhttpheader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhttprequestheader.3qt b/doc/man/man3/qhttprequestheader.3qt
new file mode 100644
index 0000000..6b96254
--- /dev/null
+++ b/doc/man/man3/qhttprequestheader.3qt
@@ -0,0 +1,137 @@
+'\" t
+.TH QHttpRequestHeader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHttpRequestHeader \- Request header information for HTTP
+.SH SYNOPSIS
+\fC#include <qhttp.h>\fR
+.PP
+Inherits QHttpHeader.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHttpRequestHeader\fR ()"
+.br
+.ti -1c
+.BI "\fBQHttpRequestHeader\fR ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 )"
+.br
+.ti -1c
+.BI "\fBQHttpRequestHeader\fR ( const QHttpRequestHeader & header )"
+.br
+.ti -1c
+.BI "\fBQHttpRequestHeader\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "void \fBsetRequest\fR ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 )"
+.br
+.ti -1c
+.BI "QString \fBmethod\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpath\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBmajorVersion\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBminorVersion\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QString \fBvalue\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "void \fBsetValue\fR ( const QString & key, const QString & value )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHttpRequestHeader class contains request header information for HTTP.
+.PP
+This class is used in the QHttp class to report the header information if the client requests something from the server.
+.PP
+HTTP requests have a method which describes the request's action. The most common requests are "GET" and "POST". In addition to the request method the header also includes a request-URI to specify the location for the method to use.
+.PP
+The method, request-URI and protocol-version can be set using a constructor or later using setRequest(). The values can be obtained using method(), path(), majorVersion() and minorVersion().
+.PP
+This class is a QHttpHeader subclass so that class's functions, e.g. setValue(), value(), etc. are also available.
+.PP
+See also QHttpResponseHeader, QHttp, and Input/Output and Networking.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHttpRequestHeader::QHttpRequestHeader ()"
+Constructs an empty HTTP request header.
+.SH "QHttpRequestHeader::QHttpRequestHeader ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 )"
+Constructs a HTTP request header for the method \fImethod\fR, the request-URI \fIpath\fR and the protocol-version \fImajorVer\fR and \fIminorVer\fR.
+.SH "QHttpRequestHeader::QHttpRequestHeader ( const QHttpRequestHeader & header )"
+Constructs a copy of \fIheader\fR.
+.SH "QHttpRequestHeader::QHttpRequestHeader ( const QString & str )"
+Constructs a HTTP request header from the string \fIstr\fR. The \fIstr\fR should consist of one or more "\\r\\n" delimited lines; the first line should be the request-line (format: method, space, request-URI, space HTTP-version); each of the remaining lines should have the format key, colon, space, value.
+.SH "int QHttpRequestHeader::majorVersion () const\fC [virtual]\fR"
+Returns the major protocol-version of the HTTP request header.
+.PP
+See also minorVersion(), method(), path(), and setRequest().
+.PP
+Reimplemented from QHttpHeader.
+.SH "QString QHttpRequestHeader::method () const"
+Returns the method of the HTTP request header.
+.PP
+See also path(), majorVersion(), minorVersion(), and setRequest().
+.SH "int QHttpRequestHeader::minorVersion () const\fC [virtual]\fR"
+Returns the minor protocol-version of the HTTP request header.
+.PP
+See also majorVersion(), method(), path(), and setRequest().
+.PP
+Reimplemented from QHttpHeader.
+.SH "QString QHttpRequestHeader::path () const"
+Returns the request-URI of the HTTP request header.
+.PP
+See also method(), majorVersion(), minorVersion(), and setRequest().
+.SH "void QHttpRequestHeader::setRequest ( const QString & method, const QString & path, int majorVer = 1, int minorVer = 1 )"
+This function sets the request method to \fImethod\fR, the request-URI to \fIpath\fR and the protocol-version to \fImajorVer\fR and \fIminorVer\fR.
+.PP
+See also method(), path(), majorVersion(), and minorVersion().
+.SH "void QHttpHeader::setValue ( const QString & key, const QString & value )"
+Sets the value of the entry with the \fIkey\fR to \fIvalue\fR.
+.PP
+If no entry with \fIkey\fR exists, a new entry with the given \fIkey\fR and \fIvalue\fR is created. If an entry with the \fIkey\fR already exists, its value is discarded and replaced with the given \fIvalue\fR.
+.PP
+See also value(), hasKey(), and removeValue().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH "QString QHttpHeader::value ( const QString & key ) const"
+Returns the value for the entry with the given \fIkey\fR. If no entry has this \fIkey\fR, an empty string is returned.
+.PP
+See also setValue(), removeValue(), hasKey(), and keys().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhttprequestheader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhttprequestheader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qhttpresponseheader.3qt b/doc/man/man3/qhttpresponseheader.3qt
new file mode 100644
index 0000000..4229478
--- /dev/null
+++ b/doc/man/man3/qhttpresponseheader.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QHttpResponseHeader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QHttpResponseHeader \- Response header information for HTTP
+.SH SYNOPSIS
+\fC#include <qhttp.h>\fR
+.PP
+Inherits QHttpHeader.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQHttpResponseHeader\fR ()"
+.br
+.ti -1c
+.BI "\fBQHttpResponseHeader\fR ( const QHttpResponseHeader & header )"
+.br
+.ti -1c
+.BI "int \fBstatusCode\fR () const"
+.br
+.ti -1c
+.BI "QString \fBreasonPhrase\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBmajorVersion\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBminorVersion\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QHttpResponseHeader class contains response header information for HTTP.
+.PP
+This class is used by the QHttp class to report the header information that the client received from the server.
+.PP
+HTTP responses have a status code that indicates the status of the response. This code is a 3-digit integer result code (for details see to RFC 1945). In addition to the status code, you can also specify a human-readable text that describes the reason for the code ("reason phrase"). This class allows you to get the status code and the reason phrase.
+.PP
+See also QHttpRequestHeader, QHttp, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QHttpResponseHeader::QHttpResponseHeader ()"
+Constructs an empty HTTP response header.
+.SH "QHttpResponseHeader::QHttpResponseHeader ( const QHttpResponseHeader & header )"
+Constructs a copy of \fIheader\fR.
+.SH "int QHttpResponseHeader::majorVersion () const\fC [virtual]\fR"
+Returns the major protocol-version of the HTTP response header.
+.PP
+See also minorVersion(), statusCode(), and reasonPhrase().
+.PP
+Reimplemented from QHttpHeader.
+.SH "int QHttpResponseHeader::minorVersion () const\fC [virtual]\fR"
+Returns the minor protocol-version of the HTTP response header.
+.PP
+See also majorVersion(), statusCode(), and reasonPhrase().
+.PP
+Reimplemented from QHttpHeader.
+.SH "QString QHttpResponseHeader::reasonPhrase () const"
+Returns the reason phrase of the HTTP response header.
+.PP
+See also statusCode(), majorVersion(), and minorVersion().
+.SH "int QHttpResponseHeader::statusCode () const"
+Returns the status code of the HTTP response header.
+.PP
+See also reasonPhrase(), majorVersion(), and minorVersion().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qhttpresponseheader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qhttpresponseheader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qicondrag.3qt b/doc/man/man3/qicondrag.3qt
new file mode 100644
index 0000000..8953207
--- /dev/null
+++ b/doc/man/man3/qicondrag.3qt
@@ -0,0 +1,96 @@
+'\" t
+.TH QIconDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconDrag \- Supports drag and drop operations within a QIconView
+.SH SYNOPSIS
+\fC#include <qiconview.h>\fR
+.PP
+Inherits QDragObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIconDrag\fR ( QWidget * dragSource, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QIconDrag\fR ()"
+.br
+.ti -1c
+.BI "void \fBappend\fR ( const QIconDragItem & i, const QRect & pr, const QRect & tr )"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBencodedData\fR ( const char * mime ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBcanDecode\fR ( QMimeSource * e )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconDrag class supports drag and drop operations within a QIconView.
+.PP
+A QIconDrag object is used to maintain information about the positions of dragged items and the data associated with the dragged items. QIconViews are able to use this information to paint the dragged items in the correct positions. Internally QIconDrag stores the data associated with drag items in QIconDragItem objects.
+.PP
+If you want to use the extended drag-and-drop functionality of QIconView, create a QIconDrag object in a reimplementation of QIconView::dragObject(). Then create a QIconDragItem for each item which should be dragged, set the data it represents with QIconDragItem::setData(), and add each QIconDragItem to the drag object using append().
+.PP
+The data in QIconDragItems is stored in a QByteArray and is mime-typed (see QMimeSource and the Drag and Drop overview). If you want to use your own mime-types derive a class from QIconDrag and reimplement format(), encodedData() and canDecode().
+.PP
+The fileiconview example program demonstrates the use of the QIconDrag class including subclassing and reimplementing dragObject(), format(), encodedData() and canDecode(). See the files \fCqt/examples/fileiconview/qfileiconview.h\fR and \fCqt/examples/fileiconview/qfileiconview.cpp\fR.
+.PP
+See also QMimeSource::format() and Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconDrag::QIconDrag ( QWidget * dragSource, const char * name = 0 )"
+Constructs a drag object called \fIname\fR, which is a child of \fIdragSource\fR.
+.PP
+Note that the drag object will be deleted when \fIdragSource\fR is deleted.
+.SH "QIconDrag::~QIconDrag ()\fC [virtual]\fR"
+Destructor.
+.SH "void QIconDrag::append ( const QIconDragItem & i, const QRect & pr, const QRect & tr )"
+Append the QIconDragItem, \fIi\fR, to the QIconDrag object's list of items. You must also supply the geometry of the pixmap, \fIpr\fR, and the textual caption, \fItr\fR.
+.PP
+See also QIconDragItem.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QIconDrag::canDecode ( QMimeSource * e )\fC [static]\fR"
+Returns TRUE if \fIe\fR can be decoded by the QIconDrag, otherwise return FALSE.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QByteArray QIconDrag::encodedData ( const char * mime ) const\fC [virtual]\fR"
+Returns the encoded data of the drag object if \fImime\fR is application/x-qiconlist.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.PP
+Reimplemented from QMimeSource.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qicondrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qicondrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qicondragevent.3qt b/doc/man/man3/qicondragevent.3qt
new file mode 100644
index 0000000..dfbe8aa
--- /dev/null
+++ b/doc/man/man3/qicondragevent.3qt
@@ -0,0 +1,86 @@
+'\" t
+.TH QIconDragEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconDragEvent \- Signals that a main icon drag has begun
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIconDragEvent\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconDragEvent class signals that a main icon drag has begun.
+.PP
+Icon drag events are sent to widgets when the main icon of a window has been dragged away. On Mac OS X this is fired when the proxy icon of a window is dragged off titlebar, in response to this event is is normal to begin using drag and drop.
+.PP
+See also Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconDragEvent::QIconDragEvent ()"
+Constructs an icon drag event object with the accept parameter flag set to FALSE.
+.PP
+See also accept().
+.SH "void QIconDragEvent::accept ()"
+Sets the accept flag of the icon drag event object.
+.PP
+Setting the accept flag indicates that the receiver of this event has started a drag and drop oeration.
+.PP
+The accept flag is \fInot\fR set by default.
+.PP
+See also ignore() and QWidget::hide().
+.SH "void QIconDragEvent::ignore ()"
+Clears the accept flag of the icon drag object.
+.PP
+Clearing the accept flag indicates that the receiver of this event has not handled the icon drag as a result other events can be sent.
+.PP
+The icon drag event is constructed with the accept flag cleared.
+.PP
+See also accept().
+.SH "bool QIconDragEvent::isAccepted () const"
+Returns TRUE if the receiver of the event has started a drag and drop operation; otherwise returns FALSE.
+.PP
+See also accept() and ignore().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qicondragevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qicondragevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qicondragitem.3qt b/doc/man/man3/qicondragitem.3qt
new file mode 100644
index 0000000..37521c1
--- /dev/null
+++ b/doc/man/man3/qicondragitem.3qt
@@ -0,0 +1,76 @@
+'\" t
+.TH QIconDragItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconDragItem \- Encapsulates a drag item
+.SH SYNOPSIS
+\fC#include <qiconview.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIconDragItem\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QIconDragItem\fR ()"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBdata\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QByteArray & d )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconDragItem class encapsulates a drag item.
+.PP
+The QIconDrag class uses a list of QIconDragItems to support drag and drop operations.
+.PP
+In practice a QIconDragItem object (or an object of a class derived from QIconDragItem) is created for each icon view item which is dragged. Each of these QIconDragItems is stored in a QIconDrag object.
+.PP
+See QIconView::dragObject() for more information.
+.PP
+See the fileiconview/qfileiconview.cpp and iconview/simple_dd/main.cpp examples.
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconDragItem::QIconDragItem ()"
+Constructs a QIconDragItem with no data.
+.SH "QIconDragItem::~QIconDragItem ()\fC [virtual]\fR"
+Destructor.
+.SH "QByteArray QIconDragItem::data () const\fC [virtual]\fR"
+Returns the data contained in the QIconDragItem.
+.SH "void QIconDragItem::setData ( const QByteArray & d )\fC [virtual]\fR"
+Sets the data for the QIconDragItem to the data stored in the QByteArray \fId\fR.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qicondragitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qicondragitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qiconfactory.3qt b/doc/man/man3/qiconfactory.3qt
new file mode 100644
index 0000000..54b0ebc
--- /dev/null
+++ b/doc/man/man3/qiconfactory.3qt
@@ -0,0 +1,98 @@
+'\" t
+.TH QIconFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconFactory \- Used to create pixmaps for a QIconSet
+.SH SYNOPSIS
+\fC#include <qiconset.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIconFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QIconFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual QPixmap * \fBcreatePixmap\fR ( const QIconSet & iconSet, QIconSet::Size size, QIconSet::Mode mode, QIconSet::State state )"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool autoDelete )"
+.br
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QIconFactory * \fBdefaultFactory\fR ()"
+.br
+.ti -1c
+.BI "void \fBinstallDefaultFactory\fR ( QIconFactory * factory )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconFactory class is used to create pixmaps for a QIconSet.
+.PP
+By reimplementing createPixmap(), you can override QIconSet's default algorithm for computing pixmaps not supplied by the user.
+.PP
+Call setAutoDelete(TRUE) if you want the factory to automatically delete itself when it is no longer needed by QIconSet.
+.PP
+See also QIconSet and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconFactory::QIconFactory ()"
+Constructs an icon factory.
+.SH "QIconFactory::~QIconFactory ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "bool QIconFactory::autoDelete () const"
+Returns TRUE if auto-deletion is enabled; otherwise returns FALSE.
+.PP
+See also setAutoDelete().
+.SH "QPixmap * QIconFactory::createPixmap ( const QIconSet & iconSet, QIconSet::Size size, QIconSet::Mode mode, QIconSet::State state )\fC [virtual]\fR"
+Ceates a pixmap for \fIiconSet\fR with a certain \fIsize\fR, \fImode\fR, and \fIstate\fR. Returns 0 if the default QIconSet algorithm should be used to create a pixmap that wasn't supplied by the user.
+.PP
+It is the caller's responsibility to delete the returned pixmap.
+.PP
+The default implementation always returns 0.
+.SH "QIconFactory * QIconFactory::defaultFactory ()\fC [static]\fR"
+Returns the default icon factory.
+.PP
+See also installDefaultFactory().
+.SH "void QIconFactory::installDefaultFactory ( QIconFactory * factory )\fC [static]\fR"
+Replaces the default icon factory with \fIfactory\fR.
+.SH "void QIconFactory::setAutoDelete ( bool autoDelete )"
+If \fIautoDelete\fR is TRUE, sets the icon factory to automatically delete itself when it is no longer referenced by any QIconSet and isn't the default factory. If \fIautoDelete\fR is FALSE (the default) auto-deletion is disabled.
+.PP
+See also autoDelete() and defaultFactory().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qiconfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qiconfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qiconset.3qt b/doc/man/man3/qiconset.3qt
new file mode 100644
index 0000000..70f9d92
--- /dev/null
+++ b/doc/man/man3/qiconset.3qt
@@ -0,0 +1,284 @@
+'\" t
+.TH QIconSet 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconSet \- Set of icons with different styles and sizes
+.SH SYNOPSIS
+\fC#include <qiconset.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBSize\fR { Automatic, Small, Large }"
+.br
+.ti -1c
+.BI "enum \fBMode\fR { Normal, Disabled, Active }"
+.br
+.ti -1c
+.BI "enum \fBState\fR { On, Off }"
+.br
+.ti -1c
+.BI "\fBQIconSet\fR ()"
+.br
+.ti -1c
+.BI "\fBQIconSet\fR ( const QPixmap & pixmap, Size size = Automatic )"
+.br
+.ti -1c
+.BI "\fBQIconSet\fR ( const QPixmap & smallPix, const QPixmap & largePix )"
+.br
+.ti -1c
+.BI "\fBQIconSet\fR ( const QIconSet & other )"
+.br
+.ti -1c
+.BI "virtual \fB~QIconSet\fR ()"
+.br
+.ti -1c
+.BI "void \fBreset\fR ( const QPixmap & pixmap, Size size )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & pixmap, Size size, Mode mode = Normal, State state = Off )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QString & fileName, Size size, Mode mode = Normal, State state = Off )"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR ( Size size, Mode mode, State state = Off ) const"
+.br
+.ti -1c
+.BI "QPixmap pixmap ( Size size, bool enabled, State state = Off ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisGenerated\fR ( Size size, Mode mode, State state = Off ) const"
+.br
+.ti -1c
+.BI "void \fBclearGenerated\fR ()"
+.br
+.ti -1c
+.BI "void \fBinstallIconFactory\fR ( QIconFactory * factory )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "QIconSet & \fBoperator=\fR ( const QIconSet & other )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetIconSize\fR ( Size which, const QSize & size )"
+.br
+.ti -1c
+.BI "const QSize & \fBiconSize\fR ( Size which )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconSet class provides a set of icons with different styles and sizes.
+.PP
+A QIconSet can generate smaller, larger, active, and disabled pixmaps from the set of icons it is given. Such pixmaps are used by QToolButton, QHeader, QPopupMenu, etc. to show an icon representing a particular action.
+.PP
+The simplest use of QIconSet is to create one from a QPixmap and then use it, allowing Qt to work out all the required icon styles and sizes. For example:
+.PP
+.nf
+.br
+ QToolButton *but = new QToolButton( QIconSet( QPixmap("open.xpm") ), ... );
+.br
+.fi
+.PP
+Using whichever pixmaps you specify as a base, QIconSet provides a set of six icons, each with a Size and a Mode: Small Normal, Small Disabled, Small Active, Large Normal, Large Disabled, and Large Active.
+.PP
+An additional set of six icons can be provided for widgets that have an "On" or "Off" state, like checkable menu items or toggleable toolbuttons. If you provide pixmaps for the "On" state, but not for the "Off" state, the QIconSet will provide the "Off" pixmaps. You may specify icons for both states in you wish.
+.PP
+You can set any of the icons using setPixmap().
+.PP
+When you retrieve a pixmap using pixmap(Size, Mode, State), QIconSet will return the icon that has been set or previously generated for that size, mode and state combination. If none is available, QIconSet will ask the icon factory. If the icon factory cannot provide any (the default), QIconSet generates a pixmap based on the pixmaps it has been given and returns it.
+.PP
+The Disabled appearance is computed using an algorithm that produces results very similar to those used in Microsoft Windows 95. The Active appearance is identical to the Normal appearance unless you use setPixmap() to set it to something special.
+.PP
+When scaling icons, QIconSet uses smooth scaling, which can partially blend the color component of pixmaps. If the results look poor, the best solution is to supply pixmaps in both large and small sizes.
+.PP
+You can use the static function setIconSize() to set the preferred size of the generated large/small icons. The default small size is 22 x 22, while the default large size is 32 x 32. These sizes only affect generated icons.
+.PP
+The isGenerated() function returns TRUE if an icon was generated by QIconSet or by a factory; clearGenerated() clears all cached pixmaps.
+.SH "Making Classes that Use QIconSet"
+If you write your own widgets that have an option to set a small pixmap, consider allowing a QIconSet to be set for that pixmap. The Qt class QToolButton is an example of such a widget.
+.PP
+Provide a method to set a QIconSet, and when you draw the icon, choose whichever icon is appropriate for the current state of your widget. For example:
+.PP
+.nf
+.br
+ void MyWidget::drawIcon( QPainter* p, QPoint pos )
+.br
+ {
+.br
+ p->drawPixmap( pos, icons->pixmap(
+.br
+ QIconSet::Small,
+.br
+ isEnabled() ? QIconSet::Normal :
+.br
+ QIconSet::Disabled,
+.br
+ isEnabled() ? QIconSet::On :
+.br
+ QIconSet::Off));
+.br
+ }
+.br
+.fi
+.PP
+You might also make use of the Active mode, perhaps making your widget Active when the mouse is over the widget (see QWidget::enterEvent()), while the mouse is pressed pending the release that will activate the function, or when it is the currently selected item. If the widget can be toggled, the "On" mode might be used to draw a different icon.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QIconFactory, QPixmap, QMainWindow::usesBigPixmaps, GUI Design Handbook: Iconic Label, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SS "Member Type Documentation"
+.SH "QIconSet::Mode"
+This enum type describes the mode for which a pixmap is intended to be used. The currently defined modes are:
+.TP
+\fCQIconSet::Normal\fR - Display the pixmap when the user is not interacting with the icon, but the functionality represented by the icon is available.
+.TP
+\fCQIconSet::Disabled\fR - Display the pixmap when the functionality represented by the icon is not available.
+.TP
+\fCQIconSet::Active\fR - Display the pixmap when the functionality represented by the icon is available and the user is interacting with the icon, for example, moving the mouse over it or clicking it.
+.SH "QIconSet::Size"
+This enum type describes the size at which a pixmap is intended to be used. The currently defined sizes are:
+.TP
+\fCQIconSet::Automatic\fR - The size of the pixmap is determined from its pixel size. This is a useful default.
+.TP
+\fCQIconSet::Small\fR - The pixmap is the smaller of two.
+.TP
+\fCQIconSet::Large\fR - The pixmap is the larger of two.
+.PP
+If a Small pixmap is not set by QIconSet::setPixmap(), the Large pixmap will be automatically scaled down to the size of a small pixmap to generate the Small pixmap when required. Similarly, a Small pixmap will be automatically scaled up to generate a Large pixmap. The preferred sizes for large/small generated icons can be set using setIconSize().
+.PP
+See also setIconSize(), iconSize(), setPixmap(), pixmap(), and QMainWindow::usesBigPixmaps.
+.SH "QIconSet::State"
+This enum describes the state for which a pixmap is intended to be used. The \fIstate\fR can be:
+.TP
+\fCQIconSet::Off\fR - Display the pixmap when the widget is in an "off" state
+.TP
+\fCQIconSet::On\fR - Display the pixmap when the widget is in an "on" state
+.PP
+See also setPixmap() and pixmap().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconSet::QIconSet ()"
+Constructs a null icon set.
+.PP
+See also setPixmap() and reset().
+.SH "QIconSet::QIconSet ( const QPixmap & pixmap, Size size = Automatic )"
+Constructs an icon set for which the Normal pixmap is \fIpixmap\fR, which is assumed to be of size \fIsize\fR.
+.PP
+The default for \fIsize\fR is Automatic, which means that QIconSet will determine whether the pixmap is Small or Large from its pixel size. Pixmaps less than the width of a small generated icon are considered to be Small. You can use setIconSize() to set the preferred size of a generated icon.
+.PP
+See also setIconSize() and reset().
+.SH "QIconSet::QIconSet ( const QPixmap & smallPix, const QPixmap & largePix )"
+Creates an iconset which uses the pixmap \fIsmallPix\fR for for displaying a small icon, and the pixmap \fIlargePix\fR for displaying a large icon.
+.SH "QIconSet::QIconSet ( const QIconSet & other )"
+Constructs a copy of \fIother\fR. This is very fast.
+.SH "QIconSet::~QIconSet ()\fC [virtual]\fR"
+Destroys the icon set and frees any allocated resources.
+.SH "void QIconSet::clearGenerated ()"
+Clears all cached pixmaps, including those obtained from an eventual QIconFactory.
+.SH "void QIconSet::detach ()"
+Detaches this icon set from others with which it may share data.
+.PP
+You will never need to call this function; other QIconSet functions call it as necessary.
+.SH "const QSize & QIconSet::iconSize ( Size which )\fC [static]\fR"
+If \fIwhich\fR is Small, returns the preferred size of a small generated icon; if \fIwhich\fR is Large, returns the preferred size of a large generated icon.
+.PP
+See also setIconSize().
+.SH "void QIconSet::installIconFactory ( QIconFactory * factory )"
+Installs \fIfactory\fR as the icon factory for this iconset. The icon factory is used to generates pixmaps not set by the user.
+.PP
+If no icon factory is installed, QIconFactory::defaultFactory() is used.
+.SH "bool QIconSet::isGenerated ( Size size, Mode mode, State state = Off ) const"
+Returns TRUE if the pixmap with size \fIsize\fR, mode \fImode\fR and state \fIstate\fR is generated from other pixmaps; otherwise returns FALSE.
+.PP
+A pixmap obtained from a QIconFactory is considered non-generated.
+.SH "bool QIconSet::isNull () const"
+Returns TRUE if the icon set is empty; otherwise returns FALSE.
+.SH "QIconSet & QIconSet::operator= ( const QIconSet & other )"
+Assigns \fIother\fR to this icon set and returns a reference to this icon set.
+.PP
+See also detach().
+.SH "QPixmap QIconSet::pixmap ( Size size, Mode mode, State state = Off ) const"
+Returns a pixmap with size \fIsize\fR, mode \fImode\fR and state \fIstate\fR, generating one if necessary. Generated pixmaps are cached.
+.SH "QPixmap QIconSet::pixmap ( Size size, bool enabled, State state = Off ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is the same as pixmap(\fIsize\fR, \fIenabled\fR, \fIstate\fR).
+.SH "QPixmap QIconSet::pixmap () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the pixmap originally provided to the constructor or to reset(). This is the Normal pixmap of unspecified Size.
+.PP
+See also reset().
+.SH "void QIconSet::reset ( const QPixmap & pixmap, Size size )"
+Sets this icon set to use pixmap \fIpixmap\fR for the Normal pixmap, assuming it to be of size \fIsize\fR.
+.PP
+This is equivalent to assigning QIconSet(\fIpixmap\fR, \fIsize\fR) to this icon set.
+.PP
+This function does nothing if \fIpixmap\fR is a null pixmap.
+.SH "void QIconSet::setIconSize ( Size which, const QSize & size )\fC [static]\fR"
+Set the preferred size for all small or large icons that are generated after this call. If \fIwhich\fR is Small, sets the preferred size of small generated icons to \fIsize\fR. Similarly, if \fIwhich\fR is Large, sets the preferred size of large generated icons to \fIsize\fR.
+.PP
+Note that cached icons will not be regenerated, so it is recommended that you set the preferred icon sizes before generating any icon sets. Also note that the preferred icon sizes will be ignored for icon sets that have been created using both small and large pixmaps.
+.PP
+See also iconSize().
+.SH "void QIconSet::setPixmap ( const QPixmap & pixmap, Size size, Mode mode = Normal, State state = Off )\fC [virtual]\fR"
+Sets this icon set to provide pixmap \fIpixmap\fR for size \fIsize\fR, mode \fImode\fR and state \fIstate\fR. The icon set may also use \fIpixmap\fR for generating other pixmaps if they are not explicitly set.
+.PP
+The \fIsize\fR can be one of Automatic, Large or Small. If Automatic is used, QIconSet will determine if the pixmap is Small or Large from its pixel size.
+.PP
+Pixmaps less than the width of a small generated icon are considered to be Small. You can use setIconSize() to set the preferred size of a generated icon.
+.PP
+This function does nothing if \fIpixmap\fR is a null pixmap.
+.PP
+See also reset().
+.SH "void QIconSet::setPixmap ( const QString & fileName, Size size, Mode mode = Normal, State state = Off )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The pixmap is loaded from \fIfileName\fR when it becomes necessary.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qiconset.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qiconset.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qiconview.3qt b/doc/man/man3/qiconview.3qt
new file mode 100644
index 0000000..4f47eb8
--- /dev/null
+++ b/doc/man/man3/qiconview.3qt
@@ -0,0 +1,961 @@
+'\" t
+.TH QIconView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconView \- Area with movable labelled icons
+.SH SYNOPSIS
+\fC#include <qiconview.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBSelectionMode\fR { Single = 0, Multi, Extended, NoSelection }"
+.br
+.ti -1c
+.BI "enum \fBArrangement\fR { LeftToRight = 0, TopToBottom }"
+.br
+.ti -1c
+.BI "enum \fBResizeMode\fR { Fixed = 0, Adjust }"
+.br
+.ti -1c
+.BI "enum \fBItemTextPos\fR { Bottom = 0, Right }"
+.br
+.ti -1c
+.BI "\fBQIconView\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QIconView\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsertItem\fR ( QIconViewItem * item, QIconViewItem * after = 0L )"
+.br
+.ti -1c
+.BI "virtual void \fBtakeItem\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "int \fBindex\fR ( const QIconViewItem * item ) const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBfirstItem\fR () const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBlastItem\fR () const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( QIconViewItem * item, bool s, bool cb = FALSE )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectionMode\fR ( SelectionMode m )"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR () const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBfindItem\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBfindItem\fR ( const QString & text, ComparisonFlags compare = BeginsWith ) const"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ( bool select )"
+.br
+.ti -1c
+.BI "virtual void \fBclearSelection\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinvertSelection\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrepaintItem\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBrepaintSelectedItems\fR ()"
+.br
+.ti -1c
+.BI "void \fBensureItemVisible\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBfindFirstVisibleItem\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBfindLastVisibleItem\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetGridX\fR ( int rx )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGridY\fR ( int ry )"
+.br
+.ti -1c
+.BI "int \fBgridX\fR () const"
+.br
+.ti -1c
+.BI "int \fBgridY\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSpacing\fR ( int sp )"
+.br
+.ti -1c
+.BI "int \fBspacing\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetItemTextPos\fR ( ItemTextPos pos )"
+.br
+.ti -1c
+.BI "ItemTextPos \fBitemTextPos\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetItemTextBackground\fR ( const QBrush & b )"
+.br
+.ti -1c
+.BI "QBrush \fBitemTextBackground\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetArrangement\fR ( Arrangement am )"
+.br
+.ti -1c
+.BI "Arrangement \fBarrangement\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizeMode\fR ( ResizeMode am )"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxItemWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "int \fBmaxItemWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxItemTextLength\fR ( int w )"
+.br
+.ti -1c
+.BI "int \fBmaxItemTextLength\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoArrange\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBautoArrange\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetShowToolTips\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBshowToolTips\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSorting\fR ( bool sort, bool ascending = TRUE )"
+.br
+.ti -1c
+.BI "bool \fBsorting\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsortDirection\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetItemsMovable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBitemsMovable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWordWrapIconText\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBwordWrapIconText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsort\fR ( bool ascending = TRUE )"
+.br
+.ti -1c
+.BI "bool \fBisRenaming\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBarrangeItemsInGrid\fR ( const QSize & grid, bool update = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBarrangeItemsInGrid\fR ( bool update = TRUE )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBdoubleClicked\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBreturnPressed\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBrightButtonClicked\fR ( QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBrightButtonPressed\fR ( QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonPressed\fR ( int button, QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonClicked\fR ( int button, QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBcontextMenuRequested\fR ( QIconViewItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBdropped\fR ( QDropEvent * e, const QValueList<QIconDragItem> & lst )"
+.br
+.ti -1c
+.BI "void \fBmoved\fR ()"
+.br
+.ti -1c
+.BI "void \fBonItem\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBonViewport\fR ()"
+.br
+.ti -1c
+.BI "void \fBitemRenamed\fR ( QIconViewItem * item, const QString & name )"
+.br
+.ti -1c
+.BI "void \fBitemRenamed\fR ( QIconViewItem * item )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "Arrangement \fBarrangement\fR - the arrangement mode of the icon view"
+.br
+.ti -1c
+.BI "bool \fBautoArrange\fR - whether the icon view rearranges its items when a new item is inserted"
+.br
+.ti -1c
+.BI "uint \fBcount\fR - the number of items in the icon view \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBgridX\fR - the horizontal grid of the icon view"
+.br
+.ti -1c
+.BI "int \fBgridY\fR - the vertical grid of the icon view"
+.br
+.ti -1c
+.BI "QBrush \fBitemTextBackground\fR - the brush to use when drawing the background of an item's text"
+.br
+.ti -1c
+.BI "ItemTextPos \fBitemTextPos\fR - the position where the text of each item is drawn"
+.br
+.ti -1c
+.BI "bool \fBitemsMovable\fR - whether the user is allowed to move items around in the icon view"
+.br
+.ti -1c
+.BI "int \fBmaxItemTextLength\fR - the maximum length (in " "characters" ") that an item's text may have"
+.br
+.ti -1c
+.BI "int \fBmaxItemWidth\fR - the maximum width that an item may have"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR - the resize mode of the icon view"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR - the selection mode of the icon view"
+.br
+.ti -1c
+.BI "bool \fBshowToolTips\fR - whether the icon view will display a tool tip with the complete text for any truncated item text"
+.br
+.ti -1c
+.BI "bool \fBsortDirection\fR - whether the sort direction for inserting new items is ascending; \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBsorting\fR - whether the icon view sorts on insertion \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBspacing\fR - the space in pixels between icon view items"
+.br
+.ti -1c
+.BI "bool \fBwordWrapIconText\fR - whether the item text will be word-wrapped if it is too long"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawRubber\fR ( QPainter * p )"
+.br
+.ti -1c
+.BI "virtual QDragObject * \fBdragObject\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstartDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsertInGrid\fR ( QIconViewItem * item )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawBackground\fR ( QPainter * p, const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBemitSelectionChanged\fR ( QIconViewItem * i = 0 )"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBmakeRowLayout\fR ( QIconViewItem * begin, int & y, bool & changed )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdoAutoScroll\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBadjustItems\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBslotUpdate\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconView class provides an area with movable labelled icons.
+.PP
+A QIconView can display and manage a grid or other 2D layout of labelled icons. Each labelled icon is a QIconViewItem. Items (QIconViewItems) can be added or deleted at any time; items can be moved within the QIconView. Single or multiple items can be selected. Items can be renamed in-place. QIconView also supports drag and drop.
+.PP
+Each item contains a label string, a pixmap or picture (the icon itself) and optionally a sort key. The sort key is used for sorting the items and defaults to the label string. The label string can be displayed below or to the right of the icon (see ItemTextPos).
+.PP
+The simplest way to create a QIconView is to create a QIconView object and create some QIconViewItems with the QIconView as their parent, set the icon view's geometry and show it. For example:
+.PP
+.nf
+.br
+ QIconView *iv = new QIconView( this );
+.br
+ QDir dir( path, "*.xpm" );
+.br
+ for ( uint i = 0; i < dir.count(); i++ ) {
+.br
+ (void) new QIconViewItem( iv, dir[i], QPixmap( path + dir[i] ) );
+.br
+ }
+.br
+ iv->resize( 600, 400 );
+.br
+ iv->show();
+.br
+.fi
+.PP
+The QIconViewItem call passes a pointer to the QIconView we wish to populate, along with the label text and a QPixmap.
+.PP
+When an item is inserted the QIconView allocates a position for it. Existing items are rearranged if autoArrange() is TRUE. The default arrangement is LeftToRight -- the QIconView fills up the \fIleft-most\fR column from top to bottom, then moves one column \fIright\fR and fills that from top to bottom and so on. The arrangement can be modified with any of the following approaches:
+.TP
+Call setArrangement(), e.g. with TopToBottom which will fill the \fItop-most\fR row from left to right, then moves one row \fIdown\fR and fills that row from left to right and so on.
+.TP
+Construct each QIconViewItem using a constructor which allows you to specify which item the new one is to follow.
+.TP
+Call setSorting() or sort() to sort the items.
+.PP
+The spacing between items is set with setSpacing(). Items can be laid out using a fixed grid using setGridX() and setGridY(); by default the QIconView calculates a grid dynamically. The position of items' label text is set with setItemTextPos(). The text's background can be set with setItemTextBackground(). The maximum width of an item and of its text are set with setMaxItemWidth() and setMaxItemTextLength(). The label text will be word-wrapped if it is too long; this is controlled by setWordWrapIconText(). If the label text is truncated, the user can still see the entire text in a tool tip if they hover the mouse over the item. This is controlled with setShowToolTips().
+.PP
+Items which are selectable may be selected depending on the SelectionMode; the default is Single. Because QIconView offers multiple selection it must display keyboard focus and selection state separately. Therefore there are functions to set the selection state of an item (setSelected()) and to select which item displays keyboard focus (setCurrentItem()). When multiple items may be selected the icon view provides a rubberband, too.
+.PP
+When in-place renaming is enabled (it is disabled by default), the user may change the item's label. They do this by selecting the item (single clicking it or navigating to it with the arrow keys), then single clicking it (or pressing F2), and entering their text. If no key has been set with QIconViewItem::setKey() the new text will also serve as the key. (See QIconViewItem::setRenameEnabled().)
+.PP
+You can control whether users can move items themselves with setItemsMovable().
+.PP
+Because the internal structure used to store the icon view items is linear, no iterator class is needed to iterate over all the items. Instead we iterate by getting the first item from the \fIicon view\fR and then each subsequent (QIconViewItem::nextItem()) from each \fIitem\fR in turn:
+.PP
+.nf
+.br
+ for ( QIconViewItem *item = iv->firstItem(); item; item = item->nextItem() )
+.br
+ do_something( item );
+.br
+.fi
+QIconView also provides currentItem(). You can search for an item using findItem() (searching by position or for label text) and with findFirstVisibleItem() and findLastVisibleItem(). The number of items is returned by count(). An item can be removed from an icon view using takeItem(); to delete an item use \fCdelete\fR. All the items can be deleted with clear().
+.PP
+The QIconView emits a wide range of useful signals, including selectionChanged(), currentChanged(), clicked(), moved() and itemRenamed().
+.SH "Drag and Drop"
+QIconView supports the drag and drop of items within the QIconView itself. It also supports the drag and drop of items out of or into the QIconView and drag and drop onto items themselves. The drag and drop of items outside the QIconView can be achieved in a simple way with basic functionality, or in a more sophisticated way which provides more power and control.
+.PP
+The simple approach to dragging items out of the icon view is to subclass QIconView and reimplement QIconView::dragObject().
+.PP
+.nf
+.br
+ QDragObject *MyIconView::dragObject()
+.br
+ {
+.br
+ return new QTextDrag( currentItem()->text(), this );
+.br
+ }
+.br
+.fi
+.PP
+In this example we create a QTextDrag object, (derived from QDragObject), containing the item's label and return it as the drag object. We could just as easily have created a QImageDrag from the item's pixmap and returned that instead.
+.PP
+QIconViews and their QIconViewItems can also be the targets of drag and drops. To make the QIconView itself able to accept drops connect to the dropped() signal. When a drop occurs this signal will be emitted with a QDragEvent and a QValueList of QIconDragItems. To make a QIconViewItem into a drop target subclass QIconViewItem and reimplement QIconViewItem::acceptDrop() and QIconViewItem::dropped().
+.PP
+.nf
+.br
+ bool MyIconViewItem::acceptDrop( const QMimeSource *mime ) const
+.br
+ {
+.br
+ if ( mime->provides( "text/plain" ) )
+.br
+ return TRUE;
+.br
+ return FALSE;
+.br
+ }
+.br
+.br
+ void MyIconViewItem::dropped( QDropEvent *evt, const QValueList<QIconDragItem>& )
+.br
+ {
+.br
+ QString label;
+.br
+ if ( QTextDrag::decode( evt, label ) )
+.br
+ setText( label );
+.br
+ }
+.br
+.fi
+.PP
+See iconview/simple_dd/main.h and iconview/simple_dd/main.cpp for a simple drag and drop example which demonstrates drag and drop between a QIconView and a QListBox.
+.PP
+If you want to use extended drag-and-drop or have drag shapes drawn you must take a more sophisticated approach.
+.PP
+The first part is starting drags -- you should use a QIconDrag (or a class derived from it) for the drag object. In dragObject() create the drag object, populate it with QIconDragItems and return it. Normally such a drag should offer each selected item's data. So in dragObject() you should iterate over all the items, and create a QIconDragItem for each selected item, and append these items with QIconDrag::append() to the QIconDrag object. You can use QIconDragItem::setData() to set the data of each item that should be dragged. If you want to offer the data in additional mime-types, it's best to use a class derived from QIconDrag, which implements additional encoding and decoding functions.
+.PP
+When a drag enters the icon view, there is little to do. Simply connect to the dropped() signal and reimplement QIconViewItem::acceptDrop() and QIconViewItem::dropped(). If you've used a QIconDrag (or a subclass of it) the second argument to the dropped signal contains a QValueList of QIconDragItems -- you can access their data by calling QIconDragItem::data() on each one.
+.PP
+For an example implementation of complex drag-and-drop look at the fileiconview example (qt/examples/fileiconview).
+.PP
+See also QIconViewItem::setDragEnabled(), QIconViewItem::setDropEnabled(), QIconViewItem::acceptDrop(), QIconViewItem::dropped(), and Advanced Widgets.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+.SS "Member Type Documentation"
+.SH "QIconView::Arrangement"
+This enum type determines in which direction the items flow when the view runs out of space.
+.TP
+\fCQIconView::LeftToRight\fR - Items which don't fit into the view cause the viewport to extend vertically (you get a vertical scrollbar).
+.TP
+\fCQIconView::TopToBottom\fR - Items which don't fit into the view cause the viewport to extend horizontally (you get a horizontal scrollbar).
+.SH "QIconView::ItemTextPos"
+This enum type specifies the position of the item text in relation to the icon.
+.TP
+\fCQIconView::Bottom\fR - The text is drawn below the icon.
+.TP
+\fCQIconView::Right\fR - The text is drawn to the right of the icon.
+.SH "QIconView::ResizeMode"
+This enum type is used to tell QIconView how it should treat the positions of its icons when the widget is resized. The modes are:
+.TP
+\fCQIconView::Fixed\fR - The icons' positions are not changed.
+.TP
+\fCQIconView::Adjust\fR - The icons' positions are adjusted to be within the new geometry, if possible.
+.SH "QIconView::SelectionMode"
+This enumerated type is used by QIconView to indicate how it reacts to selection by the user. It has four values:
+.TP
+\fCQIconView::Single\fR - When the user selects an item, any already-selected item becomes unselected and the user cannot unselect the selected item. This means that the user can never clear the selection. (The application programmer can, using QIconView::clearSelection().)
+.TP
+\fCQIconView::Multi\fR - When the user selects an item, e.g. by navigating to it with the keyboard arrow keys or by clicking it, the selection status of that item is toggled and the other items are left alone. Also, multiple items can be selected by dragging the mouse while the left mouse button stays pressed.
+.TP
+\fCQIconView::Extended\fR - When the user selects an item the selection is cleared and the new item selected. However, if the user presses the Ctrl key when clicking on an item, the clicked item gets toggled and all other items are left untouched. If the user presses the Shift key while clicking on an item, all items between the current item and the clicked item get selected or unselected, depending on the state of the clicked item. Also, multiple items can be selected by dragging the mouse while the left mouse button stays pressed.
+.TP
+\fCQIconView::NoSelection\fR - Items cannot be selected.
+.PP
+To summarise: Single is a real single-selection icon view; Multi a real multi-selection icon view; Extended is an icon view in which users can select multiple items but usually want to select either just one or a range of contiguous items; and NoSelection mode is for an icon view where the user can look but not touch.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconView::QIconView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs an empty icon view called \fIname\fR, with parent \fIparent\fR and using the widget flags \fIf\fR.
+.SH "QIconView::~QIconView ()\fC [virtual]\fR"
+Destroys the icon view and deletes all items.
+.SH "void QIconView::adjustItems ()\fC [virtual protected slot]\fR"
+Adjusts the positions of the items to the geometry of the icon view.
+.SH "void QIconView::arrangeItemsInGrid ( const QSize & grid, bool update = TRUE )\fC [virtual slot]\fR"
+This variant uses \fIgrid\fR instead of (gridX(), gridY()). If \fIgrid\fR is invalid (see QSize::isValid()), arrangeItemsInGrid() calculates a valid grid itself and uses that.
+.PP
+If \fIupdate\fR is TRUE (the default) the viewport is repainted.
+.PP
+Example: fileiconview/qfileiconview.h.
+.SH "void QIconView::arrangeItemsInGrid ( bool update = TRUE )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Arranges all the items in the grid given by gridX() and gridY().
+.PP
+Even if sorting() is enabled, the items are not sorted by this function. If you want to sort or rearrange the items, use iconview->sort(iconview->sortDirection()).
+.PP
+If \fIupdate\fR is TRUE (the default), the viewport is repainted as well.
+.PP
+See also QIconView::gridX, QIconView::gridY, and QIconView::sort().
+.SH "Arrangement QIconView::arrangement () const"
+Returns the arrangement mode of the icon view. See the "arrangement" property for details.
+.SH "bool QIconView::autoArrange () const"
+Returns TRUE if the icon view rearranges its items when a new item is inserted; otherwise returns FALSE. See the "autoArrange" property for details.
+.SH "void QIconView::clear ()\fC [virtual]\fR"
+Clears the icon view. All items are deleted.
+.SH "void QIconView::clearSelection ()\fC [virtual]\fR"
+Unselects all the items.
+.SH "void QIconView::clicked ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted when the user clicks any mouse button. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+See also mouseButtonClicked(), rightButtonClicked(), and pressed().
+.SH "void QIconView::clicked ( QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user clicks any mouse button on an icon view item. \fIitem\fR is a pointer to the item that has been clicked.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differ by a pixel or two, \fIpos\fR is the position at release time.)
+.PP
+See also mouseButtonClicked(), rightButtonClicked(), and pressed().
+.SH "void QIconView::contextMenuRequested ( QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user invokes a context menu with the right mouse button or with special system keys, with \fIitem\fR being the item under the mouse cursor or the current item, respectively.
+.PP
+\fIpos\fR is the position for the context menu in the global coordinate system.
+.SH "uint QIconView::count () const"
+Returns the number of items in the icon view. See the "count" property for details.
+.SH "void QIconView::currentChanged ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted when a new item becomes current. \fIitem\fR is the new current item (or 0 if no item is now current).
+.PP
+See also currentItem().
+.SH "QIconViewItem * QIconView::currentItem () const"
+Returns a pointer to the current item of the icon view, or 0 if no item is current.
+.PP
+See also setCurrentItem(), firstItem(), and lastItem().
+.SH "void QIconView::doAutoScroll ()\fC [virtual protected slot]\fR"
+Performs autoscrolling when selecting multiple icons with the rubber band.
+.SH "void QIconView::doubleClicked ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted when the user double-clicks on \fIitem\fR.
+.SH "QDragObject * QIconView::dragObject ()\fC [virtual protected]\fR"
+Returns the QDragObject that should be used for drag-and-drop. This function is called by the icon view when starting a drag to get the dragobject that should be used for the drag. Subclasses may reimplement this.
+.PP
+See also QIconDrag.
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and iconview/simple_dd/main.cpp.
+.SH "void QIconView::drawBackground ( QPainter * p, const QRect & r )\fC [virtual protected]\fR"
+This function is called to draw the rectangle \fIr\fR of the background using the painter \fIp\fR.
+.PP
+The default implementation fills \fIr\fR with the viewport's backgroundBrush(). Subclasses may reimplement this to draw custom backgrounds.
+.PP
+See also contentsX, contentsY, and drawContents().
+.SH "void QIconView::drawRubber ( QPainter * p )\fC [virtual protected]\fR"
+Draws the rubber band using the painter \fIp\fR.
+.SH "void QIconView::dropped ( QDropEvent * e, const QValueList<QIconDragItem> & lst )\fC [signal]\fR"
+This signal is emitted when a drop event occurs in the viewport (but not on any icon) which the icon view itself can't handle.
+.PP
+\fIe\fR provides all the information about the drop. If the drag object of the drop was a QIconDrag, \fIlst\fR contains the list of the dropped items. You can get the data using QIconDragItem::data() on each item. If the \fIlst\fR is empty, i.e. the drag was not a QIconDrag, you have to decode the data in \fIe\fR and work with that.
+.PP
+Note QIconViewItems may be drop targets; if a drop event occurs on an item the item handles the drop.
+.PP
+Examples:
+.)l iconview/main.cpp and iconview/simple_dd/main.cpp.
+.SH "void QIconView::emitSelectionChanged ( QIconViewItem * i = 0 )\fC [protected]\fR"
+Emits a signal to indicate selection changes. \fIi\fR is the QIconViewItem that was selected or de-selected.
+.PP
+\fIYou should never need to call this function.\fR
+.SH "void QIconView::ensureItemVisible ( QIconViewItem * item )"
+Makes sure that \fIitem\fR is entirely visible. If necessary, ensureItemVisible() scrolls the icon view.
+.PP
+See also ensureVisible().
+.SH "QIconViewItem * QIconView::findFirstVisibleItem ( const QRect & r ) const"
+Finds the first item whose bounding rectangle overlaps \fIr\fR and returns a pointer to that item. \fIr\fR is given in content coordinates. Returns 0 if no item overlaps \fIr\fR.
+.PP
+If you want to find all items that touch \fIr\fR, you will need to use this function and nextItem() in a loop ending at findLastVisibleItem() and test QIconViewItem::rect() for each of these items.
+.PP
+See also findLastVisibleItem() and QIconViewItem::rect().
+.SH "QIconViewItem * QIconView::findItem ( const QPoint & pos ) const"
+Returns a pointer to the item that contains point \fIpos\fR, which is given in contents coordinates, or 0 if no item contains point \fIpos\fR.
+.SH "QIconViewItem * QIconView::findItem ( const QString & text, ComparisonFlags compare = BeginsWith ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a pointer to the first item whose text begins with \fItext\fR, or 0 if no such item could be found. Use the \fIcompare\fR flag to control the comparison behaviour. (See Qt::StringComparisonMode.)
+.SH "QIconViewItem * QIconView::findLastVisibleItem ( const QRect & r ) const"
+Finds the last item whose bounding rectangle overlaps \fIr\fR and returns a pointer to that item. \fIr\fR is given in content coordinates. Returns 0 if no item overlaps \fIr\fR.
+.PP
+See also findFirstVisibleItem().
+.SH "QIconViewItem * QIconView::firstItem () const"
+Returns a pointer to the first item of the icon view, or 0 if there are no items in the icon view.
+.PP
+See also lastItem() and currentItem().
+.SH "int QIconView::gridX () const"
+Returns the horizontal grid of the icon view. See the "gridX" property for details.
+.SH "int QIconView::gridY () const"
+Returns the vertical grid of the icon view. See the "gridY" property for details.
+.SH "int QIconView::index ( const QIconViewItem * item ) const"
+Returns the index of \fIitem\fR, or -1 if \fIitem\fR doesn't exist in this icon view.
+.SH "void QIconView::insertInGrid ( QIconViewItem * item )\fC [virtual protected]\fR"
+Inserts the QIconViewItem \fIitem\fR in the icon view's grid. \fIYou should never need to call this function.\fR Instead, insert QIconViewItems by creating them with a pointer to the QIconView that they are to be inserted into.
+.SH "void QIconView::insertItem ( QIconViewItem * item, QIconViewItem * after = 0L )\fC [virtual]\fR"
+Inserts the icon view item \fIitem\fR after \fIafter\fR. If \fIafter\fR is 0, \fIitem\fR is appended after the last item.
+.PP
+\fIYou should never need to call this function.\fR Instead create QIconViewItem's and associate them with your icon view like this:
+.PP
+.nf
+.br
+ (void) new QIconViewItem( myIconview, "The text of the item", aPixmap );
+.br
+.fi
+.SH "void QIconView::invertSelection ()\fC [virtual]\fR"
+Inverts the selection. Works only in Multi and Extended selection mode.
+.SH "bool QIconView::isRenaming () const"
+Returns TRUE if an iconview item is being renamed; otherwise returns FALSE.
+.SH "void QIconView::itemRenamed ( QIconViewItem * item, const QString & name )\fC [signal]\fR"
+This signal is emitted when \fIitem\fR has been renamed to \fIname\fR, usually by in-place renaming.
+.PP
+See also QIconViewItem::setRenameEnabled() and QIconViewItem::rename().
+.SH "void QIconView::itemRenamed ( QIconViewItem * item )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when \fIitem\fR has been renamed, usually by in-place renaming.
+.PP
+See also QIconViewItem::setRenameEnabled() and QIconViewItem::rename().
+.SH "QBrush QIconView::itemTextBackground () const"
+Returns the brush to use when drawing the background of an item's text. See the "itemTextBackground" property for details.
+.SH "ItemTextPos QIconView::itemTextPos () const"
+Returns the position where the text of each item is drawn. See the "itemTextPos" property for details.
+.SH "bool QIconView::itemsMovable () const"
+Returns TRUE if the user is allowed to move items around in the icon view; otherwise returns FALSE. See the "itemsMovable" property for details.
+.SH "QIconViewItem * QIconView::lastItem () const"
+Returns a pointer to the last item of the icon view, or 0 if there are no items in the icon view.
+.PP
+See also firstItem() and currentItem().
+.SH "QIconViewItem * QIconView::makeRowLayout ( QIconViewItem * begin, int & y, bool & changed )\fC [protected]\fR"
+Lays out a row of icons (if Arrangement == TopToBottom this is a column). Starts laying out with the item \fIbegin\fR. \fIy\fR is the starting coordinate. Returns the last item of the row (column) and sets the new starting coordinate to \fIy\fR. The \fIchanged\fR parameter is used internally.
+.PP
+\fBWarning:\fR This function may be made private in a future version of Qt. We do not recommend calling it.
+.SH "int QIconView::maxItemTextLength () const"
+Returns the maximum length (in characters) that an item's text may have. See the "maxItemTextLength" property for details.
+.SH "int QIconView::maxItemWidth () const"
+Returns the maximum width that an item may have. See the "maxItemWidth" property for details.
+.SH "void QIconView::mouseButtonClicked ( int button, QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user clicks mouse button \fIbutton\fR. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differ by a pixel or two, \fIpos\fR is the position at release time.)
+.PP
+See also mouseButtonPressed(), rightButtonClicked(), and clicked().
+.SH "void QIconView::mouseButtonPressed ( int button, QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user presses mouse button \fIbutton\fR. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()).
+.PP
+See also rightButtonClicked() and pressed().
+.SH "void QIconView::moved ()\fC [signal]\fR"
+This signal is emitted after successfully dropping one (or more) items of the icon view. If the items should be removed, it's best to do so in a slot connected to this signal.
+.PP
+Example: iconview/main.cpp.
+.SH "void QIconView::onItem ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor onto an \fIitem\fR, similar to the QWidget::enterEvent() function.
+.SH "void QIconView::onViewport ()\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor from an item to an empty part of the icon view.
+.PP
+See also onItem().
+.SH "void QIconView::pressed ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted when the user presses any mouse button. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+See also mouseButtonPressed(), rightButtonPressed(), and clicked().
+.SH "void QIconView::pressed ( QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user presses any mouse button. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differ by a pixel or two, \fIpos\fR is the position at release time.)
+.PP
+See also mouseButtonPressed(), rightButtonPressed(), and clicked().
+.SH "void QIconView::repaintItem ( QIconViewItem * item )\fC [virtual]\fR"
+Repaints the \fIitem\fR.
+.SH "void QIconView::repaintSelectedItems ()"
+Repaints the selected items.
+.SH "ResizeMode QIconView::resizeMode () const"
+Returns the resize mode of the icon view. See the "resizeMode" property for details.
+.SH "void QIconView::returnPressed ( QIconViewItem * item )\fC [signal]\fR"
+This signal is emitted if the user presses the Return or Enter key. \fIitem\fR is the currentItem() at the time of the keypress.
+.SH "void QIconView::rightButtonClicked ( QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user clicks the right mouse button. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differ by a pixel or two, \fIpos\fR is the position at release time.)
+.PP
+See also rightButtonPressed(), mouseButtonClicked(), and clicked().
+.SH "void QIconView::rightButtonPressed ( QIconViewItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user presses the right mouse button. If \fIitem\fR is non-null, the cursor is on \fIitem\fR. If \fIitem\fR is null, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()).
+.SH "void QIconView::selectAll ( bool select )\fC [virtual]\fR"
+In Multi and Extended modes, this function sets all items to be selected if \fIselect\fR is TRUE, and to be unselected if \fIselect\fR is FALSE.
+.PP
+In Single and NoSelection modes, this function only changes the selection status of currentItem().
+.SH "void QIconView::selectionChanged ()\fC [signal]\fR"
+This signal is emitted when the selection has been changed. It's emitted in each selection mode.
+.SH "void QIconView::selectionChanged ( QIconViewItem * item )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the selection changes. \fIitem\fR is the newly selected item. This signal is emitted only in single selection mode.
+.SH "SelectionMode QIconView::selectionMode () const"
+Returns the selection mode of the icon view. See the "selectionMode" property for details.
+.SH "void QIconView::setArrangement ( Arrangement am )\fC [virtual]\fR"
+Sets the arrangement mode of the icon view to \fIam\fR. See the "arrangement" property for details.
+.SH "void QIconView::setAutoArrange ( bool b )\fC [virtual]\fR"
+Sets whether the icon view rearranges its items when a new item is inserted to \fIb\fR. See the "autoArrange" property for details.
+.SH "void QIconView::setCurrentItem ( QIconViewItem * item )\fC [virtual]\fR"
+Makes \fIitem\fR the new current item of the icon view.
+.SH "void QIconView::setGridX ( int rx )\fC [virtual]\fR"
+Sets the horizontal grid of the icon view to \fIrx\fR. See the "gridX" property for details.
+.SH "void QIconView::setGridY ( int ry )\fC [virtual]\fR"
+Sets the vertical grid of the icon view to \fIry\fR. See the "gridY" property for details.
+.SH "void QIconView::setItemTextBackground ( const QBrush & b )\fC [virtual]\fR"
+Sets the brush to use when drawing the background of an item's text to \fIb\fR. See the "itemTextBackground" property for details.
+.SH "void QIconView::setItemTextPos ( ItemTextPos pos )\fC [virtual]\fR"
+Sets the position where the text of each item is drawn to \fIpos\fR. See the "itemTextPos" property for details.
+.SH "void QIconView::setItemsMovable ( bool b )\fC [virtual]\fR"
+Sets whether the user is allowed to move items around in the icon view to \fIb\fR. See the "itemsMovable" property for details.
+.SH "void QIconView::setMaxItemTextLength ( int w )\fC [virtual]\fR"
+Sets the maximum length (in characters) that an item's text may have to \fIw\fR. See the "maxItemTextLength" property for details.
+.SH "void QIconView::setMaxItemWidth ( int w )\fC [virtual]\fR"
+Sets the maximum width that an item may have to \fIw\fR. See the "maxItemWidth" property for details.
+.SH "void QIconView::setResizeMode ( ResizeMode am )\fC [virtual]\fR"
+Sets the resize mode of the icon view to \fIam\fR. See the "resizeMode" property for details.
+.SH "void QIconView::setSelected ( QIconViewItem * item, bool s, bool cb = FALSE )\fC [virtual]\fR"
+Selects or unselects \fIitem\fR depending on \fIs\fR, and may also unselect other items, depending on QIconView::selectionMode() and \fIcb\fR.
+.PP
+If \fIs\fR is FALSE, \fIitem\fR is unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is Single, \fIitem\fR is selected, and the item which was selected is unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is Extended, \fIitem\fR is selected. If \fIcb\fR is TRUE, the selection state of the icon view's other items is left unchanged. If \fIcb\fR is FALSE (the default) all other items are unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is Multi \fIitem\fR is selected.
+.PP
+Note that \fIcb\fR is used only if QIconView::selectionMode() is Extended. \fIcb\fR defaults to FALSE.
+.PP
+All items whose selection status is changed repaint themselves.
+.SH "void QIconView::setSelectionMode ( SelectionMode m )\fC [virtual]\fR"
+Sets the selection mode of the icon view to \fIm\fR. See the "selectionMode" property for details.
+.SH "void QIconView::setShowToolTips ( bool b )\fC [virtual]\fR"
+Sets whether the icon view will display a tool tip with the complete text for any truncated item text to \fIb\fR. See the "showToolTips" property for details.
+.SH "void QIconView::setSorting ( bool sort, bool ascending = TRUE )"
+If \fIsort\fR is TRUE, this function sets the icon view to sort items when a new item is inserted. If \fIsort\fR is FALSE, the icon view will not be sorted.
+.PP
+Note that autoArrange() must be TRUE for sorting to take place.
+.PP
+If \fIascending\fR is TRUE (the default), items are sorted in ascending order. If \fIascending\fR is FALSE, items are sorted in descending order.
+.PP
+QIconViewItem::compare() is used to compare pairs of items. The sorting is based on the items' keys; these default to the items' text unless specifically set to something else.
+.PP
+See also QIconView::autoArrange, QIconView::autoArrange, sortDirection, sort(), and QIconViewItem::setKey().
+.SH "void QIconView::setSpacing ( int sp )\fC [virtual]\fR"
+Sets the space in pixels between icon view items to \fIsp\fR. See the "spacing" property for details.
+.SH "void QIconView::setWordWrapIconText ( bool b )\fC [virtual]\fR"
+Sets whether the item text will be word-wrapped if it is too long to \fIb\fR. See the "wordWrapIconText" property for details.
+.SH "bool QIconView::showToolTips () const"
+Returns TRUE if the icon view will display a tool tip with the complete text for any truncated item text; otherwise returns FALSE. See the "showToolTips" property for details.
+.SH "void QIconView::slotUpdate ()\fC [virtual protected slot]\fR"
+This slot is used for a slightly-delayed update.
+.PP
+The icon view is not redrawn immediately after inserting a new item but after a very small delay using a QTimer. This means that when many items are inserted in a loop the icon view is probably redrawn only once at the end of the loop. This makes the insertions both flicker-free and faster.
+.SH "void QIconView::sort ( bool ascending = TRUE )\fC [virtual]\fR"
+Sorts and rearranges all the items in the icon view. If \fIascending\fR is TRUE, the items are sorted in increasing order, otherwise they are sorted in decreasing order.
+.PP
+QIconViewItem::compare() is used to compare pairs of items. The sorting is based on the items' keys; these default to the items' text unless specifically set to something else.
+.PP
+Note that this function sets the sort order to \fIascending\fR.
+.PP
+See also QIconViewItem::key(), QIconViewItem::setKey(), QIconViewItem::compare(), QIconView::setSorting(), and QIconView::sortDirection.
+.SH "bool QIconView::sortDirection () const"
+Returns TRUE if the sort direction for inserting new items is ascending;; otherwise returns FALSE. See the "sortDirection" property for details.
+.SH "bool QIconView::sorting () const"
+Returns TRUE if the icon view sorts on insertion; otherwise returns FALSE. See the "sorting" property for details.
+.SH "int QIconView::spacing () const"
+Returns the space in pixels between icon view items. See the "spacing" property for details.
+.SH "void QIconView::startDrag ()\fC [virtual protected]\fR"
+Starts a drag.
+.SH "void QIconView::takeItem ( QIconViewItem * item )\fC [virtual]\fR"
+Takes the icon view item \fIitem\fR out of the icon view and causes an update of the screen display. The item is not deleted. You should normally not need to call this function because QIconViewItem::~QIconViewItem() calls it. The normal way to delete an item is to delete it.
+.SH "bool QIconView::wordWrapIconText () const"
+Returns TRUE if the item text will be word-wrapped if it is too long; otherwise returns FALSE. See the "wordWrapIconText" property for details.
+.SS "Property Documentation"
+.SH "Arrangement arrangement"
+This property holds the arrangement mode of the icon view.
+.PP
+This can be LeftToRight or TopToBottom. The default is LeftToRight.
+.PP
+Set this property's value with setArrangement() and get this property's value with arrangement().
+.SH "bool autoArrange"
+This property holds whether the icon view rearranges its items when a new item is inserted.
+.PP
+The default is TRUE.
+.PP
+Note that if the icon view is not visible at the time of insertion, QIconView defers all position-related work until it is shown and then calls arrangeItemsInGrid().
+.PP
+Set this property's value with setAutoArrange() and get this property's value with autoArrange().
+.SH "uint count"
+This property holds the number of items in the icon view.
+.PP
+Get this property's value with count().
+.SH "int gridX"
+This property holds the horizontal grid of the icon view.
+.PP
+If the value is -1, (the default), QIconView computes suitable column widths based on the icon view's contents.
+.PP
+Note that setting a grid width overrides setMaxItemWidth().
+.PP
+Set this property's value with setGridX() and get this property's value with gridX().
+.SH "int gridY"
+This property holds the vertical grid of the icon view.
+.PP
+If the value is -1, (the default), QIconView computes suitable column heights based on the icon view's contents.
+.PP
+Set this property's value with setGridY() and get this property's value with gridY().
+.SH "QBrush itemTextBackground"
+This property holds the brush to use when drawing the background of an item's text.
+.PP
+By default this brush is set to NoBrush, meaning that only the normal icon view background is used.
+.PP
+Set this property's value with setItemTextBackground() and get this property's value with itemTextBackground().
+.SH "ItemTextPos itemTextPos"
+This property holds the position where the text of each item is drawn.
+.PP
+Valid values are Bottom or Right. The default is Bottom.
+.PP
+Set this property's value with setItemTextPos() and get this property's value with itemTextPos().
+.SH "bool itemsMovable"
+This property holds whether the user is allowed to move items around in the icon view.
+.PP
+The default is TRUE.
+.PP
+Set this property's value with setItemsMovable() and get this property's value with itemsMovable().
+.SH "int maxItemTextLength"
+This property holds the maximum length (in characters) that an item's text may have.
+.PP
+The default is 255 characters.
+.PP
+Set this property's value with setMaxItemTextLength() and get this property's value with maxItemTextLength().
+.SH "int maxItemWidth"
+This property holds the maximum width that an item may have.
+.PP
+The default is 100 pixels.
+.PP
+Note that if the gridX() value is set QIconView will ignore this property.
+.PP
+Set this property's value with setMaxItemWidth() and get this property's value with maxItemWidth().
+.SH "ResizeMode resizeMode"
+This property holds the resize mode of the icon view.
+.PP
+This can be Fixed or Adjust. The default is Fixed. See ResizeMode.
+.PP
+Set this property's value with setResizeMode() and get this property's value with resizeMode().
+.SH "SelectionMode selectionMode"
+This property holds the selection mode of the icon view.
+.PP
+This can be Single (the default), Extended, Multi or NoSelection.
+.PP
+Set this property's value with setSelectionMode() and get this property's value with selectionMode().
+.SH "bool showToolTips"
+This property holds whether the icon view will display a tool tip with the complete text for any truncated item text.
+.PP
+The default is TRUE. Note that this has no effect if setWordWrapIconText() is TRUE, as it is by default.
+.PP
+Set this property's value with setShowToolTips() and get this property's value with showToolTips().
+.SH "bool sortDirection"
+This property holds whether the sort direction for inserting new items is ascending;.
+.PP
+The default is TRUE (i.e. ascending). This sort direction is only meaningful if both sorting() and autoArrange() are TRUE.
+.PP
+To set the sort direction, use setSorting()
+.PP
+Get this property's value with sortDirection().
+.SH "bool sorting"
+This property holds whether the icon view sorts on insertion.
+.PP
+The default is FALSE, i.e. no sorting on insertion.
+.PP
+To set the sorting, use setSorting().
+.PP
+Get this property's value with sorting().
+.SH "int spacing"
+This property holds the space in pixels between icon view items.
+.PP
+The default is 5 pixels.
+.PP
+Negative values for spacing are illegal.
+.PP
+Set this property's value with setSpacing() and get this property's value with spacing().
+.SH "bool wordWrapIconText"
+This property holds whether the item text will be word-wrapped if it is too long.
+.PP
+The default is TRUE.
+.PP
+If this property is FALSE, icon text that is too long is truncated, and an ellipsis (...) appended to indicate that truncation has occurred. The full text can still be seen by the user if they hover the mouse because the full text is shown in a tooltip; see setShowToolTips().
+.PP
+Set this property's value with setWordWrapIconText() and get this property's value with wordWrapIconText().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qiconview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qiconview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qiconviewitem.3qt b/doc/man/man3/qiconviewitem.3qt
new file mode 100644
index 0000000..df656ba
--- /dev/null
+++ b/doc/man/man3/qiconviewitem.3qt
@@ -0,0 +1,576 @@
+'\" t
+.TH QIconViewItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIconViewItem \- Single item in a QIconView
+.SH SYNOPSIS
+\fC#include <qiconview.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, QIconViewItem * after )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, const QString & text )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, QIconViewItem * after, const QString & text )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, const QString & text, const QPixmap & icon )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, QIconViewItem * after, const QString & text, const QPixmap & icon )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, const QString & text, const QPicture & picture )"
+.br
+.ti -1c
+.BI "\fBQIconViewItem\fR ( QIconView * parent, QIconViewItem * after, const QString & text, const QPicture & picture )"
+.br
+.ti -1c
+.BI "virtual \fB~QIconViewItem\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetRenameEnabled\fR ( bool allow )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDragEnabled\fR ( bool allow )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDropEnabled\fR ( bool allow )"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual QPicture * \fBpicture\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBkey\fR () const"
+.br
+.ti -1c
+.BI "bool \fBrenameEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBdragEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBdropEnabled\fR () const"
+.br
+.ti -1c
+.BI "QIconView * \fBiconView\fR () const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBprevItem\fR () const"
+.br
+.ti -1c
+.BI "QIconViewItem * \fBnextItem\fR () const"
+.br
+.ti -1c
+.BI "int \fBindex\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( bool s, bool cb )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( bool s )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectable\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSelectable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBrepaint\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBmove\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveBy\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "virtual bool \fBmove\fR ( const QPoint & pnt )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveBy\fR ( const QPoint & pnt )"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBpos\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBtextRect\fR ( bool relative = TRUE ) const"
+.br
+.ti -1c
+.BI "QRect \fBpixmapRect\fR ( bool relative = TRUE ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QPoint & pnt ) const"
+.br
+.ti -1c
+.BI "bool \fBintersects\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBacceptDrop\fR ( const QMimeSource * mime ) const"
+.br
+.ti -1c
+.BI "void \fBrename\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBcompare\fR ( QIconViewItem * i ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & icon )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPicture\fR ( const QPicture & icon )"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & text, bool recalc, bool redraw = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & icon, bool recalc, bool redraw = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetKey\fR ( const QString & k )"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBremoveRenameBox\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcalcRect\fR ( const QString & text_ = QString::null )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintItem\fR ( QPainter * p, const QColorGroup & cg )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintFocus\fR ( QPainter * p, const QColorGroup & cg )"
+.br
+.ti -1c
+.BI "virtual void \fBdropped\fR ( QDropEvent * e, const QValueList<QIconDragItem> & lst )"
+.br
+.ti -1c
+.BI "virtual void \fBdragEntered\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdragLeft\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetItemRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBsetTextRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBsetPixmapRect\fR ( const QRect & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIconViewItem class provides a single item in a QIconView.
+.PP
+A QIconViewItem contains an icon, a string and optionally a sort key, and can display itself in a QIconView. The class is designed to be very similar to QListView and QListBox in use, both via instantiation and subclassing.
+.PP
+The simplest way to create a QIconViewItem and insert it into a QIconView is to construct the item passing the constructor a pointer to the icon view, a string and an icon:
+.PP
+.nf
+.br
+ (void) new QIconViewItem(
+.br
+ iconView, // A pointer to a QIconView
+.br
+ "This is the text of the item",
+.br
+ aPixmap );
+.br
+.fi
+.PP
+By default the text of an icon view item may not be edited by the user but calling setRenameEnabled(TRUE) will allow the user to perform in-place editing of the item's text.
+.PP
+When the icon view is deleted all items in it are deleted automatically.
+.PP
+The QIconView::firstItem() and QIconViewItem::nextItem() functions provide a means of iterating over all the items in a QIconView:
+.PP
+.nf
+.br
+ QIconViewItem *item;
+.br
+ for ( item = iconView->firstItem(); item; item = item->nextItem() )
+.br
+ do_something_with( item );
+.br
+.fi
+.PP
+The item's icon view is available from iconView(), and its position in the icon view from index().
+.PP
+The item's selection status is available from isSelected() and is set and controlled by setSelected() and isSelectable().
+.PP
+The text and icon can be set with setText() and setPixmap() and retrieved with text() and pixmap(). The item's sort key defaults to text() but may be set with setKey() and retrieved with key(). The comparison function, compare() uses key().
+.PP
+Items may be repositioned with move() and moveBy(). An item's geometry is available from rect(), x(), y(), width(), height(), size(), pos(), textRect() and pixmapRect(). You can also test against the position of a point with contains() and intersects().
+.PP
+To remove an item from an icon view, just delete the item. The QIconViewItem destructor removes it cleanly from its icon view.
+.PP
+Because the icon view is designed to use drag-and-drop, the icon view item also has functions for drag-and-drop which may be reimplemented.
+.PP
+\fBNote:\fR Pixmaps with individual dimensions larger than 300 pixels may not be displayed properly, depending on the arrangement in use. For example, pixmaps wider than 300 pixels will not be arranged correctly if the icon view uses a QIconView::TopToBottom arrangement, and pixmaps taller than 300 pixels will not be arranged correctly if the icon view uses a QIconView::LeftToRight arrangement.
+.PP
+See also Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent )"
+Constructs a QIconViewItem and inserts it into icon view \fIparent\fR with no text and a default icon.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, QIconViewItem * after )"
+Constructs a QIconViewItem and inserts it into the icon view \fIparent\fR with no text and a default icon, after the icon view item \fIafter\fR.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, const QString & text )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and a default icon.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, QIconViewItem * after, const QString & text )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and a default icon, after the icon view item \fIafter\fR.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, const QString & text, const QPixmap & icon )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and \fIicon\fR as the icon.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, QIconViewItem * after, const QString & text, const QPixmap & icon )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and \fIicon\fR as the icon, after the icon view item \fIafter\fR.
+.PP
+See also setPixmap().
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, const QString & text, const QPicture & picture )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and \fIpicture\fR as the icon.
+.SH "QIconViewItem::QIconViewItem ( QIconView * parent, QIconViewItem * after, const QString & text, const QPicture & picture )"
+Constructs an icon view item and inserts it into the icon view \fIparent\fR using \fItext\fR as the text and \fIpicture\fR as the icon, after the icon view item \fIafter\fR.
+.SH "QIconViewItem::~QIconViewItem ()\fC [virtual]\fR"
+Destroys the icon view item and tells the parent icon view that the item has been destroyed.
+.SH "bool QIconViewItem::acceptDrop ( const QMimeSource * mime ) const\fC [virtual]\fR"
+Returns TRUE if you can drop things with a QMimeSource of \fImime\fR onto this item; otherwise returns FALSE.
+.PP
+The default implementation always returns FALSE. You must subclass QIconViewItem and reimplement acceptDrop() to accept drops.
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and iconview/simple_dd/main.cpp.
+.SH "void QIconViewItem::calcRect ( const QString & text_ = QString::null )\fC [virtual protected]\fR"
+This virtual function is responsible for calculating the rectangles returned by rect(), textRect() and pixmapRect(). setRect(), setTextRect() and setPixmapRect() are provided mainly for reimplementations of this function.
+.PP
+\fItext_\fR is an internal parameter which defaults to QString::null.
+.SH "int QIconViewItem::compare ( QIconViewItem * i ) const\fC [virtual]\fR"
+Compares this icon view item to \fIi\fR. Returns -1 if this item is less than \fIi\fR, 0 if they are equal, and 1 if this icon view item is greater than \fIi\fR.
+.PP
+The default implementation compares the item keys (key()) using QString::localeAwareCompare(). A reimplementation may use different values and a different comparison function. Here is a reimplementation that uses plain Unicode comparison:
+.PP
+.nf
+.br
+ int MyIconViewItem::compare( QIconViewItem *i ) const
+.br
+ {
+.br
+ return key().compare( i->key() );
+.br
+ }
+.br
+.fi
+.PP
+See also key(), QString::localeAwareCompare(), and QString::compare().
+.SH "bool QIconViewItem::contains ( const QPoint & pnt ) const"
+Returns TRUE if the item contains the point \fIpnt\fR (in contents coordinates); otherwise returns FALSE.
+.SH "bool QIconViewItem::dragEnabled () const"
+Returns TRUE if the user is allowed to drag the icon view item; otherwise returns FALSE.
+.PP
+See also setDragEnabled().
+.SH "void QIconViewItem::dragEntered ()\fC [virtual protected]\fR"
+This function is called when a drag enters the item's bounding rectangle.
+.PP
+The default implementation does nothing; subclasses may reimplement this function.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::dragLeft ()\fC [virtual protected]\fR"
+This function is called when a drag leaves the item's bounding rectangle.
+.PP
+The default implementation does nothing; subclasses may reimplement this function.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QIconViewItem::dropEnabled () const"
+Returns TRUE if the user is allowed to drop something onto the item; otherwise returns FALSE.
+.PP
+See also setDropEnabled().
+.SH "void QIconViewItem::dropped ( QDropEvent * e, const QValueList<QIconDragItem> & lst )\fC [virtual protected]\fR"
+This function is called when something is dropped on the item. \fIe\fR provides all the information about the drop. If the drag object of the drop was a QIconDrag, \fIlst\fR contains the list of the dropped items. You can get the data by calling QIconDragItem::data() on each item. If the \fIlst\fR is empty, i.e. the drag was not a QIconDrag, you must decode the data in \fIe\fR and work with that.
+.PP
+The default implementation does nothing; subclasses may reimplement this function.
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and iconview/simple_dd/main.cpp.
+.SH "int QIconViewItem::height () const"
+Returns the height of the item.
+.SH "QIconView * QIconViewItem::iconView () const"
+Returns a pointer to this item's icon view parent.
+.SH "int QIconViewItem::index () const"
+Returns the index of this item in the icon view, or -1 if an error occurred.
+.SH "bool QIconViewItem::intersects ( const QRect & r ) const"
+Returns TRUE if the item intersects the rectangle \fIr\fR (in contents coordinates); otherwise returns FALSE.
+.SH "bool QIconViewItem::isSelectable () const"
+Returns TRUE if the item is selectable; otherwise returns FALSE.
+.PP
+See also setSelectable().
+.SH "bool QIconViewItem::isSelected () const"
+Returns TRUE if the item is selected; otherwise returns FALSE.
+.PP
+See also setSelected().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QString QIconViewItem::key () const\fC [virtual]\fR"
+Returns the key of the icon view item or text() if no key has been explicitly set.
+.PP
+See also setKey() and compare().
+.SH "bool QIconViewItem::move ( int x, int y )\fC [virtual]\fR"
+Moves the item to position (\fIx\fR, \fIy\fR) in the icon view (these are contents coordinates).
+.SH "bool QIconViewItem::move ( const QPoint & pnt )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves the item to the point \fIpnt\fR.
+.SH "void QIconViewItem::moveBy ( int dx, int dy )\fC [virtual]\fR"
+Moves the item \fIdx\fR pixels in the x-direction and \fIdy\fR pixels in the y-direction.
+.SH "void QIconViewItem::moveBy ( const QPoint & pnt )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves the item by the x, y values in point \fIpnt\fR.
+.SH "QIconViewItem * QIconViewItem::nextItem () const"
+Returns a pointer to the next item, or 0 if this is the last item in the icon view.
+.PP
+To find the first item use QIconView::firstItem().
+.PP
+Example:
+.PP
+.nf
+.br
+ QIconViewItem *item;
+.br
+ for ( item = iconView->firstItem(); item; item = item->nextItem() )
+.br
+ do_something_with( item );
+.br
+.fi
+.PP
+See also prevItem().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::paintFocus ( QPainter * p, const QColorGroup & cg )\fC [virtual protected]\fR"
+Paints the focus rectangle of the item using the painter \fIp\fR and the color group \fIcg\fR.
+.SH "void QIconViewItem::paintItem ( QPainter * p, const QColorGroup & cg )\fC [virtual protected]\fR"
+Paints the item using the painter \fIp\fR and the color group \fIcg\fR. If you want the item to be drawn with a different font or color, reimplement this function, change the values of the color group or the painter's font, and then call the QIconViewItem::paintItem() with the changed values.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QPicture * QIconViewItem::picture () const\fC [virtual]\fR"
+Returns the icon of the icon view item if it is a picture, or 0 if it is a pixmap. In the latter case use pixmap() instead. Normally you set the picture of the item with setPicture(), but sometimes it's inconvenient to call setPicture() for every item. So you can subclass QIconViewItem, reimplement this function and return a pointer to the item's picture. If you do this, you \fImust\fR call calcRect() manually each time the size of this picture changes.
+.PP
+See also setPicture().
+.SH "QPixmap * QIconViewItem::pixmap () const\fC [virtual]\fR"
+Returns the icon of the icon view item if it is a pixmap, or 0 if it is a picture. In the latter case use picture() instead. Normally you set the pixmap of the item with setPixmap(), but sometimes it's inconvenient to call setPixmap() for every item. So you can subclass QIconViewItem, reimplement this function and return a pointer to the item's pixmap. If you do this, you \fImust\fR call calcRect() manually each time the size of this pixmap changes.
+.PP
+See also setPixmap().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QRect QIconViewItem::pixmapRect ( bool relative = TRUE ) const"
+Returns the bounding rectangle of the item's icon.
+.PP
+If \fIrelative\fR is TRUE, (the default), the rectangle is relative to the origin of the item's rectangle. If \fIrelative\fR is FALSE, the returned rectangle is relative to the origin of the icon view's contents coordinate system.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QPoint QIconViewItem::pos () const"
+Returns the position of the item (in contents coordinates).
+.SH "QIconViewItem * QIconViewItem::prevItem () const"
+Returns a pointer to the previous item, or 0 if this is the first item in the icon view.
+.PP
+See also nextItem() and QIconView::firstItem().
+.SH "QRect QIconViewItem::rect () const"
+Returns the bounding rectangle of the item (in contents coordinates).
+.SH "void QIconViewItem::removeRenameBox ()\fC [virtual protected]\fR"
+Removes the editbox that is used for in-place renaming.
+.SH "void QIconViewItem::rename ()"
+Starts in-place renaming of an icon, if allowed.
+.PP
+This function sets up the icon view so that the user can edit the item text, and then returns. When the user is done, setText() will be called and QIconView::itemRenamed() will be emitted (unless the user canceled, e.g. by pressing the Escape key).
+.PP
+See also setRenameEnabled().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QIconViewItem::renameEnabled () const"
+Returns TRUE if the item can be renamed by the user with in-place renaming; otherwise returns FALSE.
+.PP
+See also setRenameEnabled().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::repaint ()\fC [virtual]\fR"
+Repaints the item.
+.SH "int QIconViewItem::rtti () const\fC [virtual]\fR"
+Returns 0.
+.PP
+Make your derived classes return their own values for rtti(), so that you can distinguish between icon view item types. You should use values greater than 1000, preferably a large random number, to allow for extensions to this class.
+.SH "void QIconViewItem::setDragEnabled ( bool allow )\fC [virtual]\fR"
+If \fIallow\fR is TRUE, the icon view permits the user to drag the icon view item either to another position within the icon view or to somewhere outside of it. If \fIallow\fR is FALSE, the item cannot be dragged.
+.SH "void QIconViewItem::setDropEnabled ( bool allow )\fC [virtual]\fR"
+If \fIallow\fR is TRUE, the icon view lets the user drop something on this icon view item.
+.SH "void QIconViewItem::setItemRect ( const QRect & r )\fC [protected]\fR"
+Sets the bounding rectangle of the whole item to \fIr\fR. This function is provided for subclasses which reimplement calcRect(), so that they can set the calculated rectangle. \fIAny other use is discouraged.\fR
+.PP
+See also calcRect(), textRect(), setTextRect(), pixmapRect(), and setPixmapRect().
+.SH "void QIconViewItem::setKey ( const QString & k )\fC [virtual]\fR"
+Sets \fIk\fR as the sort key of the icon view item. By default text() is used for sorting.
+.PP
+See also compare().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::setPicture ( const QPicture & icon )\fC [virtual]\fR"
+Sets \fIicon\fR as the item's icon in the icon view. This function might be a no-op if you reimplement picture().
+.PP
+See also picture().
+.SH "void QIconViewItem::setPixmap ( const QPixmap & icon )\fC [virtual]\fR"
+Sets \fIicon\fR as the item's icon in the icon view. This function might be a no-op if you reimplement pixmap().
+.PP
+\fBNote:\fR Pixmaps with individual dimensions larger than 300 pixels may not be displayed properly, depending on the arrangement in use. See the main class documentation for details.
+.PP
+See also pixmap().
+.SH "void QIconViewItem::setPixmap ( const QPixmap & icon, bool recalc, bool redraw = TRUE )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets \fIicon\fR as the item's icon in the icon view. If \fIrecalc\fR is TRUE, the icon view's layout is recalculated. If \fIredraw\fR is TRUE (the default), the icon view is repainted.
+.PP
+\fBNote:\fR Pixmaps with individual dimensions larger than 300 pixels may not be displayed properly, depending on the arrangement in use. See the main class documentation for details.
+.PP
+See also pixmap().
+.SH "void QIconViewItem::setPixmapRect ( const QRect & r )\fC [protected]\fR"
+Sets the bounding rectangle of the item's icon to \fIr\fR. This function is provided for subclasses which reimplement calcRect(), so that they can set the calculated rectangle. \fIAny other use is discouraged.\fR
+.PP
+See also calcRect(), pixmapRect(), setItemRect(), and setTextRect().
+.SH "void QIconViewItem::setRenameEnabled ( bool allow )\fC [virtual]\fR"
+If \fIallow\fR is TRUE, the user can rename the icon view item by clicking on the text (or pressing F2) while the item is selected (in-place renaming). If \fIallow\fR is FALSE, in-place renaming is not possible.
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp, iconview/main.cpp, and iconview/simple_dd/main.cpp.
+.SH "void QIconViewItem::setSelectable ( bool enable )\fC [virtual]\fR"
+Sets this item to be selectable if \fIenable\fR is TRUE (the default) or unselectable if \fIenable\fR is FALSE.
+.PP
+The user is unable to select a non-selectable item using either the keyboard or the mouse. (The application programmer can select an item in code regardless of this setting.)
+.PP
+See also isSelectable().
+.SH "void QIconViewItem::setSelected ( bool s, bool cb )\fC [virtual]\fR"
+Selects or unselects the item, depending on \fIs\fR; it may also unselect other items, depending on QIconView::selectionMode() and \fIcb\fR.
+.PP
+If \fIs\fR is FALSE, the item is unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is \fCSingle\fR, the item is selected and the item previously selected is unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is \fCExtended\fR, the item is selected. If \fIcb\fR is TRUE, the selection state of the other items is left unchanged. If \fIcb\fR is FALSE (the default) all other items are unselected.
+.PP
+If \fIs\fR is TRUE and QIconView::selectionMode() is \fCMulti\fR, the item is selected.
+.PP
+Note that \fIcb\fR is used only if QIconView::selectionMode() is \fCExtended\fR; cb defaults to FALSE.
+.PP
+All items whose selection status changes repaint themselves.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::setSelected ( bool s )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This variant is equivalent to calling the other variant with \fIcb\fR set to FALSE.
+.SH "void QIconViewItem::setText ( const QString & text )\fC [virtual]\fR"
+Sets \fItext\fR as the text of the icon view item. This function might be a no-op if you reimplement text().
+.PP
+See also text().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "void QIconViewItem::setText ( const QString & text, bool recalc, bool redraw = TRUE )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets \fItext\fR as the text of the icon view item. If \fIrecalc\fR is TRUE, the icon view's layout is recalculated. If \fIredraw\fR is TRUE (the default), the icon view is repainted.
+.PP
+See also text().
+.SH "void QIconViewItem::setTextRect ( const QRect & r )\fC [protected]\fR"
+Sets the bounding rectangle of the item's text to \fIr\fR. This function is provided for subclasses which reimplement calcRect(), so that they can set the calculated rectangle. \fIAny other use is discouraged.\fR
+.PP
+See also calcRect(), textRect(), setItemRect(), and setPixmapRect().
+.SH "QSize QIconViewItem::size () const"
+Returns the size of the item.
+.SH "QString QIconViewItem::text () const\fC [virtual]\fR"
+Returns the text of the icon view item. Normally you set the text of the item with setText(), but sometimes it's inconvenient to call setText() for every item; so you can subclass QIconViewItem, reimplement this function, and return the text of the item. If you do this, you must call calcRect() manually each time the text (and therefore its size) changes.
+.PP
+See also setText().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QRect QIconViewItem::textRect ( bool relative = TRUE ) const"
+Returns the bounding rectangle of the item's text.
+.PP
+If \fIrelative\fR is TRUE, (the default), the returned rectangle is relative to the origin of the item's rectangle. If \fIrelative\fR is FALSE, the returned rectangle is relative to the origin of the icon view's contents coordinate system.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "int QIconViewItem::width () const"
+Returns the width of the item.
+.SH "int QIconViewItem::x () const"
+Returns the x-coordinate of the item (in contents coordinates).
+.SH "int QIconViewItem::y () const"
+Returns the y-coordinate of the item (in contents coordinates).
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qiconviewitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qiconviewitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimage.3qt b/doc/man/man3/qimage.3qt
new file mode 100644
index 0000000..f0be019
--- /dev/null
+++ b/doc/man/man3/qimage.3qt
@@ -0,0 +1,1095 @@
+'\" t
+.TH QImage 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImage \- Hardware-independent pixmap representation with direct access to the pixel data
+.SH SYNOPSIS
+\fC#include <qimage.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBEndian\fR { IgnoreEndian, BigEndian, LittleEndian }"
+.br
+.ti -1c
+.BI "\fBQImage\fR ()"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( int w, int h, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( const QString & fileName, const char * format = 0 )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( const char * const xpm[] )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( const QByteArray & array )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( uchar * yourdata, int w, int h, int depth, QRgb * colortable, int numColors, Endian bitOrder )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( uchar * yourdata, int w, int h, int depth, int bpl, QRgb * colortable, int numColors, Endian bitOrder )"
+.br
+.ti -1c
+.BI "\fBQImage\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "\fB~QImage\fR ()"
+.br
+.ti -1c
+.BI "QImage & \fBoperator=\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "QImage & \fBoperator=\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QImage & i ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QImage & i ) const"
+.br
+.ti -1c
+.BI "void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "QImage \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "QImage \fBcopy\fR ( int x, int y, int w, int h, int conversion_flags = 0 ) const"
+.br
+.ti -1c
+.BI "QImage \fBcopy\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumColors\fR () const"
+.br
+.ti -1c
+.BI "Endian \fBbitOrder\fR () const"
+.br
+.ti -1c
+.BI "QRgb \fBcolor\fR ( int i ) const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( int i, QRgb c )"
+.br
+.ti -1c
+.BI "void \fBsetNumColors\fR ( int numColors )"
+.br
+.ti -1c
+.BI "bool \fBhasAlphaBuffer\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAlphaBuffer\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBallGray\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisGrayscale\fR () const"
+.br
+.ti -1c
+.BI "uchar * \fBbits\fR () const"
+.br
+.ti -1c
+.BI "uchar * \fBscanLine\fR ( int i ) const"
+.br
+.ti -1c
+.BI "uchar ** \fBjumpTable\fR () const"
+.br
+.ti -1c
+.BI "QRgb * \fBcolorTable\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumBytes\fR () const"
+.br
+.ti -1c
+.BI "int \fBbytesPerLine\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcreate\fR ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+.br
+.ti -1c
+.BI "bool \fBcreate\fR ( const QSize &, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "void \fBfill\fR ( uint pixel )"
+.br
+.ti -1c
+.BI "void \fBinvertPixels\fR ( bool invertAlpha = TRUE )"
+.br
+.ti -1c
+.BI "QImage \fBconvertDepth\fR ( int depth ) const"
+.br
+.ti -1c
+.BI "QImage \fBconvertDepthWithPalette\fR ( int d, QRgb * palette, int palette_count, int conversion_flags = 0 ) const"
+.br
+.ti -1c
+.BI "QImage \fBconvertDepth\fR ( int depth, int conversion_flags ) const"
+.br
+.ti -1c
+.BI "QImage \fBconvertBitOrder\fR ( Endian bitOrder ) const"
+.br
+.ti -1c
+.BI "enum \fBScaleMode\fR { ScaleFree, ScaleMin, ScaleMax }"
+.br
+.ti -1c
+.BI "QImage \fBsmoothScale\fR ( int w, int h, ScaleMode mode = ScaleFree ) const"
+.br
+.ti -1c
+.BI "QImage \fBsmoothScale\fR ( const QSize & s, ScaleMode mode = ScaleFree ) const"
+.br
+.ti -1c
+.BI "QImage \fBscale\fR ( int w, int h, ScaleMode mode = ScaleFree ) const"
+.br
+.ti -1c
+.BI "QImage \fBscale\fR ( const QSize & s, ScaleMode mode = ScaleFree ) const"
+.br
+.ti -1c
+.BI "QImage \fBscaleWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "QImage \fBscaleHeight\fR ( int h ) const"
+.br
+.ti -1c
+.BI "QImage \fBxForm\fR ( const QWMatrix & matrix ) const"
+.br
+.ti -1c
+.BI "QImage \fBcreateAlphaMask\fR ( int conversion_flags = 0 ) const"
+.br
+.ti -1c
+.BI "QImage \fBcreateHeuristicMask\fR ( bool clipTight = TRUE ) const"
+.br
+.ti -1c
+.BI "QImage \fBmirror\fR () const"
+.br
+.ti -1c
+.BI "QImage \fBmirror\fR ( bool horizontal, bool vertical ) const"
+.br
+.ti -1c
+.BI "QImage \fBswapRGB\fR () const"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & fileName, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBloadFromData\fR ( const uchar * buf, uint len, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBloadFromData\fR ( QByteArray buf, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( const QString & fileName, const char * format, int quality = -1 ) const"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( QIODevice * device, const char * format, int quality = -1 ) const"
+.br
+.ti -1c
+.BI "bool \fBvalid\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "int \fBpixelIndex\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "QRgb \fBpixel\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "void \fBsetPixel\fR ( int x, int y, uint index_or_rgb )"
+.br
+.ti -1c
+.BI "int \fBdotsPerMeterX\fR () const"
+.br
+.ti -1c
+.BI "int \fBdotsPerMeterY\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDotsPerMeterX\fR ( int x )"
+.br
+.ti -1c
+.BI "void \fBsetDotsPerMeterY\fR ( int y )"
+.br
+.ti -1c
+.BI "QPoint \fBoffset\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOffset\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "QValueList<QImageTextKeyLang> \fBtextList\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBtextLanguages\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBtextKeys\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( const char * key, const char * lang = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( const QImageTextKeyLang & kl ) const"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const char * key, const char * lang, const QString & s )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QImage \fBfromMimeSource\fR ( const QString & abs_name )"
+.br
+.ti -1c
+.BI "Endian \fBsystemBitOrder\fR ()"
+.br
+.ti -1c
+.BI "Endian \fBsystemByteOrder\fR ()"
+.br
+.ti -1c
+.BI "const char * \fBimageFormat\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "QStrList \fBinputFormats\fR ()"
+.br
+.ti -1c
+.BI "QStrList \fBoutputFormats\fR ()"
+.br
+.ti -1c
+.BI "QStringList \fBinputFormatList\fR ()"
+.br
+.ti -1c
+.BI "QStringList \fBoutputFormatList\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QImage & image )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QImage & image )"
+.br
+.ti -1c
+.BI "void \fBbitBlt\fR ( QImage * dst, int dx, int dy, const QImage * src, int sx, int sy, int sw, int sh, int conversion_flags )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImage class provides a hardware-independent pixmap representation with direct access to the pixel data.
+.PP
+It is one of the two classes Qt provides for dealing with images, the other being QPixmap. QImage is designed and optimized for I/O and for direct pixel access/manipulation. QPixmap is designed and optimized for drawing. There are (slow) functions to convert between QImage and QPixmap: QPixmap::convertToImage() and QPixmap::convertFromImage().
+.PP
+An image has the parameters width, height and depth (bits per pixel, bpp), a color table and the actual pixels. QImage supports 1-bpp, 8-bpp and 32-bpp image data. 1-bpp and 8-bpp images use a color lookup table; the pixel value is a color table index.
+.PP
+32-bpp images encode an RGB value in 24 bits and ignore the color table. The most significant byte is used for the alpha buffer.
+.PP
+An entry in the color table is an RGB triplet encoded as a \fCuint\fR. Use the qRed(), qGreen() and qBlue() functions (qcolor.h) to access the components, and qRgb to make an RGB triplet (see the QColor class documentation).
+.PP
+1-bpp (monochrome) images have a color table with a most two colors. There are two different formats: big endian (MSB first) or little endian (LSB first) bit order. To access a single bit you will must do some bit shifts:
+.PP
+.nf
+.br
+ QImage image;
+.br
+ // sets bit at (x,y) to 1
+.br
+ if ( image.bitOrder() == QImage::LittleEndian )
+.br
+ *(image.scanLine(y) + (x >> 3)) |= 1 << (x & 7);
+.br
+ else
+.br
+ *(image.scanLine(y) + (x >> 3)) |= 1 << (7 - (x & 7));
+.br
+.fi
+.PP
+If this looks complicated, it might be a good idea to convert the 1-bpp image to an 8-bpp image using convertDepth().
+.PP
+8-bpp images are much easier to work with than 1-bpp images because they have a single byte per pixel:
+.PP
+.nf
+.br
+ QImage image;
+.br
+ // set entry 19 in the color table to yellow
+.br
+ image.setColor( 19, qRgb(255,255,0) );
+.br
+ // set 8 bit pixel at (x,y) to value yellow (in color table)
+.br
+ *(image.scanLine(y) + x) = 19;
+.br
+.fi
+.PP
+32-bpp images ignore the color table; instead, each pixel contains the RGB triplet. 24 bits contain the RGB value; the most significant byte is reserved for the alpha buffer.
+.PP
+.nf
+.br
+ QImage image;
+.br
+ // sets 32 bit pixel at (x,y) to yellow.
+.br
+ uint *p = (uint *)image.scanLine(y) + x;
+.br
+ *p = qRgb(255,255,0);
+.br
+.fi
+.PP
+On Qt/Embedded, scanlines are aligned to the pixel depth and may be padded to any degree, while on all other platforms, the scanlines are 32-bit aligned for all depths. The constructor taking a \fCuchar*\fR argument always expects 32-bit aligned data. On Qt/Embedded, an additional constructor allows the number of bytes-per-line to be specified.
+.PP
+QImage supports a variety of methods for getting information about the image, for example, colorTable(), allGray(), isGrayscale(), bitOrder(), bytesPerLine(), depth(), dotsPerMeterX() and dotsPerMeterY(), hasAlphaBuffer(), numBytes(), numColors(), and width() and height().
+.PP
+Pixel colors are retrieved with pixel() and set with setPixel().
+.PP
+QImage also supports a number of functions for creating a new image that is a transformed version of the original. For example, copy(), convertBitOrder(), convertDepth(), createAlphaMask(), createHeuristicMask(), mirror(), scale(), smoothScale(), swapRGB() and xForm(). There are also functions for changing attributes of an image in-place, for example, setAlphaBuffer(), setColor(), setDotsPerMeterX() and setDotsPerMeterY() and setNumColors().
+.PP
+Images can be loaded and saved in the supported formats. Images are saved to a file with save(). Images are loaded from a file with load() (or in the constructor) or from an array of data with loadFromData(). The lists of supported formats are available from inputFormatList() and outputFormatList().
+.PP
+Strings of text may be added to images using setText().
+.PP
+The QImage class uses explicit sharing, similar to that used by QMemArray.
+.PP
+New image formats can be added as plugins.
+.PP
+See also QImageIO, QPixmap, Shared Classes, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SS "Member Type Documentation"
+.SH "QImage::Endian"
+This enum type is used to describe the endianness of the CPU and graphics hardware.
+.TP
+\fCQImage::IgnoreEndian\fR - Endianness does not matter. Useful for some operations that are independent of endianness.
+.TP
+\fCQImage::BigEndian\fR - Network byte order, as on SPARC and Motorola CPUs.
+.TP
+\fCQImage::LittleEndian\fR - PC/Alpha byte order.
+.SH "QImage::ScaleMode"
+The functions scale() and smoothScale() use different modes for scaling the image. The purpose of these modes is to retain the ratio of the image if this is required.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.TP
+\fCQImage::ScaleFree\fR - The image is scaled freely: the resulting image fits exactly into the specified size; the ratio will not necessarily be preserved.
+.TP
+\fCQImage::ScaleMin\fR - The ratio of the image is preserved and the resulting image is guaranteed to fit into the specified size (it is as large as possible within these constraints) - the image might be smaller than the requested size.
+.TP
+\fCQImage::ScaleMax\fR - The ratio of the image is preserved and the resulting image fills the whole specified rectangle (it is as small as possible within these constraints) - the image might be larger than the requested size.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImage::QImage ()"
+Constructs a null image.
+.PP
+See also isNull().
+.SH "QImage::QImage ( int w, int h, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+Constructs an image with \fIw\fR width, \fIh\fR height, \fIdepth\fR bits per pixel, \fInumColors\fR colors and bit order \fIbitOrder\fR.
+.PP
+Using this constructor is the same as first constructing a null image and then calling the create() function.
+.PP
+See also create().
+.SH "QImage::QImage ( const QSize & size, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+Constructs an image with size \fIsize\fR pixels, depth \fIdepth\fR bits, \fInumColors\fR and \fIbitOrder\fR endianness.
+.PP
+Using this constructor is the same as first constructing a null image and then calling the create() function.
+.PP
+See also create().
+.SH "QImage::QImage ( const QString & fileName, const char * format = 0 )"
+Constructs an image and tries to load the image from the file \fIfileName\fR.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the image using the specified format. If \fIformat\fR is not specified (which is the default), the loader reads a few bytes from the header to guess the file format.
+.PP
+If the loading of the image failed, this object is a null image.
+.PP
+The QImageIO documentation lists the supported image formats and explains how to add extra formats.
+.PP
+See also load(), isNull(), and QImageIO.
+.SH "QImage::QImage ( const char * const xpm[] )"
+Constructs an image from \fIxpm\fR, which must be a valid XPM image.
+.PP
+Errors are silently ignored.
+.PP
+Note that it's possible to squeeze the XPM variable a little bit by using an unusual declaration:
+.PP
+.nf
+.br
+ static const char * const start_xpm[]={
+.br
+ "16 15 8 1",
+.br
+ "a c #cec6bd",
+.br
+ ....
+.br
+.fi
+.PP
+The extra \fCconst\fR makes the entire definition read-only, which is slightly more efficient (e.g. when the code is in a shared library) and ROMable when the application is to be stored in ROM.
+.SH "QImage::QImage ( const QByteArray & array )"
+Constructs an image from the binary data \fIarray\fR. It tries to guess the file format.
+.PP
+If the loading of the image failed, this object is a null image.
+.PP
+See also loadFromData(), isNull(), and imageFormat().
+.SH "QImage::QImage ( uchar * yourdata, int w, int h, int depth, QRgb * colortable, int numColors, Endian bitOrder )"
+Constructs an image \fIw\fR pixels wide, \fIh\fR pixels high with a color depth of \fIdepth\fR, that uses an existing memory buffer, \fIyourdata\fR. The buffer must remain valid throughout the life of the QImage. The image does not delete the buffer at destruction.
+.PP
+If \fIcolortable\fR is 0, a color table sufficient for \fInumColors\fR will be allocated (and destructed later).
+.PP
+Note that \fIyourdata\fR must be 32-bit aligned.
+.PP
+The endianness is given in \fIbitOrder\fR.
+.SH "QImage::QImage ( uchar * yourdata, int w, int h, int depth, int bpl, QRgb * colortable, int numColors, Endian bitOrder )"
+Constructs an image that uses an existing memory buffer. The buffer must remain valid for the life of the QImage. The image does not delete the buffer at destruction. The buffer is passed as \fIyourdata\fR. The image's width is \fIw\fR and its height is \fIh\fR. The color depth is \fIdepth\fR. \fIbpl\fR specifies the number of bytes per line.
+.PP
+If \fIcolortable\fR is 0, a color table sufficient for \fInumColors\fR will be allocated (and destructed later).
+.PP
+The endianness is specified by \fIbitOrder\fR.
+.PP
+\fBWarning:\fR This constructor is only available on Qt/Embedded.
+.SH "QImage::QImage ( const QImage & image )"
+Constructs a shallow copy of \fIimage\fR.
+.SH "QImage::~QImage ()"
+Destroys the image and cleans up.
+.SH "bool QImage::allGray () const"
+Returns TRUE if all the colors in the image are shades of gray (i.e. their red, green and blue components are equal); otherwise returns FALSE.
+.PP
+This function is slow for large 16-bit (Qt/Embedded only) and 32-bit images.
+.PP
+See also isGrayscale().
+.SH "Endian QImage::bitOrder () const"
+Returns the bit order for the image.
+.PP
+If it is a 1-bpp image, this function returns either QImage::BigEndian or QImage::LittleEndian.
+.PP
+If it is not a 1-bpp image, this function returns QImage::IgnoreEndian.
+.PP
+See also depth().
+.SH "uchar * QImage::bits () const"
+Returns a pointer to the first pixel data. This is equivalent to scanLine(0).
+.PP
+See also numBytes(), scanLine(), and jumpTable().
+.PP
+Example: opengl/texture/gltexobj.cpp.
+.SH "int QImage::bytesPerLine () const"
+Returns the number of bytes per image scanline. This is equivalent to numBytes()/height().
+.PP
+See also numBytes() and scanLine().
+.SH "QRgb QImage::color ( int i ) const"
+Returns the color in the color table at index \fIi\fR. The first color is at index 0.
+.PP
+A color value is an RGB triplet. Use the qRed(), qGreen() and qBlue() functions (defined in qcolor.h) to get the color value components.
+.PP
+See also setColor(), numColors(), and QColor.
+.PP
+Example: themes/wood.cpp.
+.SH "QRgb * QImage::colorTable () const"
+Returns a pointer to the color table.
+.PP
+See also numColors().
+.SH "QImage QImage::convertBitOrder ( Endian bitOrder ) const"
+Converts the bit order of the image to \fIbitOrder\fR and returns the converted image. The original image is not changed.
+.PP
+Returns \fC*this\fR if the \fIbitOrder\fR is equal to the image bit order, or a null image if this image cannot be converted.
+.PP
+See also bitOrder(), systemBitOrder(), and isNull().
+.SH "QImage QImage::convertDepth ( int depth, int conversion_flags ) const"
+Converts the depth (bpp) of the image to \fIdepth\fR and returns the converted image. The original image is not changed.
+.PP
+The \fIdepth\fR argument must be 1, 8, 16 (Qt/Embedded only) or 32.
+.PP
+Returns \fC*this\fR if \fIdepth\fR is equal to the image depth, or a null image if this image cannot be converted.
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversion_flags\fR to specify how you'd prefer this to happen.
+.PP
+See also Qt::ImageConversionFlags, depth(), and isNull().
+.SH "QImage QImage::convertDepth ( int depth ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QImage QImage::convertDepthWithPalette ( int d, QRgb * palette, int palette_count, int conversion_flags = 0 ) const"
+Returns an image with depth \fId\fR, using the \fIpalette_count\fR colors pointed to by \fIpalette\fR. If \fId\fR is 1 or 8, the returned image will have its color table ordered the same as \fIpalette\fR.
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversion_flags\fR to specify how you'd prefer this to happen.
+.PP
+Note: currently no closest-color search is made. If colors are found that are not in the palette, the palette may not be used at all. This result should not be considered valid because it may change in future implementations.
+.PP
+Currently inefficient for non-32-bit images.
+.PP
+See also Qt::ImageConversionFlags.
+.SH "QImage QImage::copy () const"
+Returns a deep copy of the image.
+.PP
+See also detach().
+.SH "QImage QImage::copy ( int x, int y, int w, int h, int conversion_flags = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a deep copy of a sub-area of the image.
+.PP
+The returned image is always \fIw\fR by \fIh\fR pixels in size, and is copied from position \fIx\fR, \fIy\fR in this image. In areas beyond this image pixels are filled with pixel 0.
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversion_flags\fR to specify how you'd prefer this to happen.
+.PP
+See also bitBlt() and Qt::ImageConversionFlags.
+.SH "QImage QImage::copy ( const QRect & r ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a deep copy of a sub-area of the image.
+.PP
+The returned image always has the size of the rectangle \fIr\fR. In areas beyond this image pixels are filled with pixel 0.
+.SH "bool QImage::create ( int width, int height, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+Sets the image \fIwidth\fR, \fIheight\fR, \fIdepth\fR, its number of colors (in \fInumColors\fR), and bit order. Returns TRUE if successful, or FALSE if the parameters are incorrect or if memory cannot be allocated.
+.PP
+The \fIwidth\fR and \fIheight\fR is limited to 32767. \fIdepth\fR must be 1, 8, or 32. If \fIdepth\fR is 1, \fIbitOrder\fR must be set to either QImage::LittleEndian or QImage::BigEndian. For other depths \fIbitOrder\fR must be QImage::IgnoreEndian.
+.PP
+This function allocates a color table and a buffer for the image data. The image data is not initialized.
+.PP
+The image buffer is allocated as a single block that consists of a table of scanline pointers (jumpTable()) and the image data (bits()).
+.PP
+See also fill(), width(), height(), depth(), numColors(), bitOrder(), jumpTable(), scanLine(), bits(), bytesPerLine(), and numBytes().
+.SH "bool QImage::create ( const QSize &, int depth, int numColors = 0, Endian bitOrder = IgnoreEndian )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QImage QImage::createAlphaMask ( int conversion_flags = 0 ) const"
+Builds and returns a 1-bpp mask from the alpha buffer in this image. Returns a null image if alpha buffer mode is disabled.
+.PP
+See QPixmap::convertFromImage() for a description of the \fIconversion_flags\fR argument.
+.PP
+The returned image has little-endian bit order, which you can convert to big-endianness using convertBitOrder().
+.PP
+See also createHeuristicMask(), hasAlphaBuffer(), and setAlphaBuffer().
+.SH "QImage QImage::createHeuristicMask ( bool clipTight = TRUE ) const"
+Creates and returns a 1-bpp heuristic mask for this image. It works by selecting a color from one of the corners, then chipping away pixels of that color starting at all the edges.
+.PP
+The four corners vote for which color is to be masked away. In case of a draw (this generally means that this function is not applicable to the image), the result is arbitrary.
+.PP
+The returned image has little-endian bit order, which you can convert to big-endianness using convertBitOrder().
+.PP
+If \fIclipTight\fR is TRUE the mask is just large enough to cover the pixels; otherwise, the mask is larger than the data pixels.
+.PP
+This function disregards the alpha buffer.
+.PP
+See also createAlphaMask().
+.SH "int QImage::depth () const"
+Returns the depth of the image.
+.PP
+The image depth is the number of bits used to encode a single pixel, also called bits per pixel (bpp) or bit planes of an image.
+.PP
+The supported depths are 1, 8, 16 (Qt/Embedded only) and 32.
+.PP
+See also convertDepth().
+.SH "void QImage::detach ()"
+Detaches from shared image data and makes sure that this image is the only one referring to the data.
+.PP
+If multiple images share common data, this image makes a copy of the data and detaches itself from the sharing mechanism. Nothing is done if there is just a single reference.
+.PP
+See also copy().
+.PP
+Example: themes/wood.cpp.
+.SH "int QImage::dotsPerMeterX () const"
+Returns the number of pixels that fit horizontally in a physical meter. This and dotsPerMeterY() define the intended scale and aspect ratio of the image.
+.PP
+See also setDotsPerMeterX().
+.SH "int QImage::dotsPerMeterY () const"
+Returns the number of pixels that fit vertically in a physical meter. This and dotsPerMeterX() define the intended scale and aspect ratio of the image.
+.PP
+See also setDotsPerMeterY().
+.SH "void QImage::fill ( uint pixel )"
+Fills the entire image with the pixel value \fIpixel\fR.
+.PP
+If the depth of this image is 1, only the lowest bit is used. If you say fill(0), fill(2), etc., the image is filled with 0s. If you say fill(1), fill(3), etc., the image is filled with 1s. If the depth is 8, the lowest 8 bits are used.
+.PP
+If the depth is 32 and the image has no alpha buffer, the \fIpixel\fR value is written to each pixel in the image. If the image has an alpha buffer, only the 24 RGB bits are set and the upper 8 bits (alpha value) are left unchanged.
+.PP
+Note: QImage::pixel() returns the color of the pixel at the given coordinates; QColor::pixel() returns the pixel value of the underlying window system (essentially an index value), so normally you will want to use QImage::pixel() to use a color from an existing image or QColor::rgb() to use a specific color.
+.PP
+See also invertPixels(), depth(), hasAlphaBuffer(), and create().
+.SH "QImage QImage::fromMimeSource ( const QString & abs_name )\fC [static]\fR"
+Convenience function. Gets the data associated with the absolute name \fIabs_name\fR from the default mime source factory and decodes it to an image.
+.PP
+See also QMimeSourceFactory, QImage::fromMimeSource(), and QImageDrag::decode().
+.SH "bool QImage::hasAlphaBuffer () const"
+Returns TRUE if alpha buffer mode is enabled; otherwise returns FALSE.
+.PP
+See also setAlphaBuffer().
+.SH "int QImage::height () const"
+Returns the height of the image.
+.PP
+See also width(), size(), and rect().
+.PP
+Examples:
+.)l canvas/canvas.cpp and opengl/texture/gltexobj.cpp.
+.SH "const char * QImage::imageFormat ( const QString & fileName )\fC [static]\fR"
+Returns a string that specifies the image format of the file \fIfileName\fR, or 0 if the file cannot be read or if the format is not recognized.
+.PP
+The QImageIO documentation lists the guaranteed supported image formats, or use QImage::inputFormats() and QImage::outputFormats() to get lists that include the installed formats.
+.PP
+See also load() and save().
+.SH "QStringList QImage::inputFormatList ()\fC [static]\fR"
+Returns a list of image formats that are supported for image input.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myImage.inputFormatList();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also outputFormatList(), inputFormats(), and QImageIO.
+.PP
+Example: showimg/showimg.cpp.
+.SH "QStrList QImage::inputFormats ()\fC [static]\fR"
+Returns a list of image formats that are supported for image input.
+.PP
+See also outputFormats(), inputFormatList(), and QImageIO.
+.SH "void QImage::invertPixels ( bool invertAlpha = TRUE )"
+Inverts all pixel values in the image.
+.PP
+If the depth is 32: if \fIinvertAlpha\fR is TRUE, the alpha bits are also inverted, otherwise they are left unchanged.
+.PP
+If the depth is not 32, the argument \fIinvertAlpha\fR has no meaning.
+.PP
+Note that inverting an 8-bit image means to replace all pixels using color index \fIi\fR with a pixel using color index 255 minus \fIi\fR. Similarly for a 1-bit image. The color table is not changed.
+.PP
+See also fill(), depth(), and hasAlphaBuffer().
+.SH "bool QImage::isGrayscale () const"
+For 16-bit (Qt/Embedded only) and 32-bit images, this function is equivalent to allGray().
+.PP
+For 8-bpp images, this function returns TRUE if color(i) is QRgb(i,i,i) for all indices of the color table; otherwise returns FALSE.
+.PP
+See also allGray() and depth().
+.SH "bool QImage::isNull () const"
+Returns TRUE if it is a null image; otherwise returns FALSE.
+.PP
+A null image has all parameters set to zero and no allocated data.
+.PP
+Example: showimg/showimg.cpp.
+.SH "uchar ** QImage::jumpTable () const"
+Returns a pointer to the scanline pointer table.
+.PP
+This is the beginning of the data block for the image.
+.PP
+See also bits() and scanLine().
+.SH "bool QImage::load ( const QString & fileName, const char * format = 0 )"
+Loads an image from the file \fIfileName\fR. Returns TRUE if the image was successfully loaded; otherwise returns FALSE.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the image using the specified format. If \fIformat\fR is not specified (which is the default), the loader reads a few bytes from the header to guess the file format.
+.PP
+The QImageIO documentation lists the supported image formats and explains how to add extra formats.
+.PP
+See also loadFromData(), save(), imageFormat(), QPixmap::load(), and QImageIO.
+.SH "bool QImage::loadFromData ( const uchar * buf, uint len, const char * format = 0 )"
+Loads an image from the first \fIlen\fR bytes of binary data in \fIbuf\fR. Returns TRUE if the image was successfully loaded; otherwise returns FALSE.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the image using the specified format. If \fIformat\fR is not specified (which is the default), the loader reads a few bytes from the header to guess the file format.
+.PP
+The QImageIO documentation lists the supported image formats and explains how to add extra formats.
+.PP
+See also load(), save(), imageFormat(), QPixmap::loadFromData(), and QImageIO.
+.SH "bool QImage::loadFromData ( QByteArray buf, const char * format = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads an image from the QByteArray \fIbuf\fR.
+.SH "QImage QImage::mirror () const"
+Returns a QImage which is a vertically mirrored copy of this image. The original QImage is not changed.
+.SH "QImage QImage::mirror ( bool horizontal, bool vertical ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a mirror of the image, mirrored in the horizontal and/or the vertical direction depending on whether \fIhorizontal\fR and \fIvertical\fR are set to TRUE or FALSE. The original image is not changed.
+.PP
+See also smoothScale().
+.SH "int QImage::numBytes () const"
+Returns the number of bytes occupied by the image data.
+.PP
+See also bytesPerLine() and bits().
+.SH "int QImage::numColors () const"
+Returns the size of the color table for the image.
+.PP
+Notice that numColors() returns 0 for 16-bpp (Qt/Embedded only) and 32-bpp images because these images do not use color tables, but instead encode pixel values as RGB triplets.
+.PP
+See also setNumColors() and colorTable().
+.PP
+Example: themes/wood.cpp.
+.SH "QPoint QImage::offset () const"
+Returns the number of pixels by which the image is intended to be offset by when positioning relative to other images.
+.SH "bool QImage::operator!= ( const QImage & i ) const"
+Returns TRUE if this image and image \fIi\fR have different contents; otherwise returns FALSE. The comparison can be slow, unless there is some obvious difference, such as different widths, in which case the function will return quickly.
+.PP
+See also operator=().
+.SH "QImage & QImage::operator= ( const QImage & image )"
+Assigns a shallow copy of \fIimage\fR to this image and returns a reference to this image.
+.PP
+See also copy().
+.SH "QImage & QImage::operator= ( const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the image bits to the \fIpixmap\fR contents and returns a reference to the image.
+.PP
+If the image shares data with other images, it will first dereference the shared data.
+.PP
+Makes a call to QPixmap::convertToImage().
+.SH "bool QImage::operator== ( const QImage & i ) const"
+Returns TRUE if this image and image \fIi\fR have the same contents; otherwise returns FALSE. The comparison can be slow, unless there is some obvious difference, such as different widths, in which case the function will return quickly.
+.PP
+See also operator=().
+.SH "QStringList QImage::outputFormatList ()\fC [static]\fR"
+Returns a list of image formats that are supported for image output.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myImage.outputFormatList();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also inputFormatList(), outputFormats(), and QImageIO.
+.SH "QStrList QImage::outputFormats ()\fC [static]\fR"
+Returns a list of image formats that are supported for image output.
+.PP
+See also inputFormats(), outputFormatList(), and QImageIO.
+.PP
+Example: showimg/showimg.cpp.
+.SH "QRgb QImage::pixel ( int x, int y ) const"
+Returns the color of the pixel at the coordinates (\fIx\fR, \fIy\fR).
+.PP
+If (\fIx\fR, \fIy\fR) is not on the image, the results are undefined.
+.PP
+See also setPixel(), qRed(), qGreen(), qBlue(), and valid().
+.PP
+Examples:
+.)l canvas/canvas.cpp and qmag/qmag.cpp.
+.SH "int QImage::pixelIndex ( int x, int y ) const"
+Returns the pixel index at the given coordinates.
+.PP
+If (\fIx\fR, \fIy\fR) is not valid, or if the image is not a paletted image (depth() > 8), the results are undefined.
+.PP
+See also valid() and depth().
+.SH "QRect QImage::rect () const"
+Returns the enclosing rectangle (0, 0, width(), height()) of the image.
+.PP
+See also width(), height(), and size().
+.SH "void QImage::reset ()"
+Resets all image parameters and deallocates the image data.
+.SH "bool QImage::save ( const QString & fileName, const char * format, int quality = -1 ) const"
+Saves the image to the file \fIfileName\fR, using the image file format \fIformat\fR and a quality factor of \fIquality\fR. \fIquality\fR must be in the range 0..100 or -1. Specify 0 to obtain small compressed files, 100 for large uncompressed files, and -1 (the default) to use the default settings.
+.PP
+Returns TRUE if the image was successfully saved; otherwise returns FALSE.
+.PP
+See also load(), loadFromData(), imageFormat(), QPixmap::save(), and QImageIO.
+.SH "bool QImage::save ( QIODevice * device, const char * format, int quality = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function writes a QImage to the QIODevice, \fIdevice\fR. This can be used, for example, to save an image directly into a QByteArray:
+.PP
+.nf
+.br
+ QImage image;
+.br
+ QByteArray ba;
+.br
+ QBuffer buffer( ba );
+.br
+ buffer.open( IO_WriteOnly );
+.br
+ image.save( &buffer, "PNG" ); // writes image into ba in PNG format
+.br
+.fi
+.SH "QImage QImage::scale ( int w, int h, ScaleMode mode = ScaleFree ) const"
+Returns a copy of the image scaled to a rectangle of width \fIw\fR and height \fIh\fR according to the ScaleMode \fImode\fR.
+.TP
+If \fImode\fR is ScaleFree, the image is scaled to (\fIw\fR, \fIh\fR).
+.TP
+If \fImode\fR is ScaleMin, the image is scaled to a rectangle as large as possible inside (\fIw\fR, \fIh\fR), preserving the aspect ratio.
+.TP
+If \fImode\fR is ScaleMax, the image is scaled to a rectangle as small as possible outside (\fIw\fR, \fIh\fR), preserving the aspect ratio.
+.PP
+If either the width \fIw\fR or the height \fIh\fR is 0 or negative, this function returns a null image.
+.PP
+This function uses a simple, fast algorithm. If you need better quality, use smoothScale() instead.
+.PP
+See also scaleWidth(), scaleHeight(), smoothScale(), and xForm().
+.SH "QImage QImage::scale ( const QSize & s, ScaleMode mode = ScaleFree ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The requested size of the image is \fIs\fR.
+.SH "QImage QImage::scaleHeight ( int h ) const"
+Returns a scaled copy of the image. The returned image has a height of \fIh\fR pixels. This function automatically calculates the width of the image so that the ratio of the image is preserved.
+.PP
+If \fIh\fR is 0 or negative a null image is returned.
+.PP
+See also scale(), scaleWidth(), smoothScale(), and xForm().
+.PP
+Example: table/small-table-demo/main.cpp.
+.SH "QImage QImage::scaleWidth ( int w ) const"
+Returns a scaled copy of the image. The returned image has a width of \fIw\fR pixels. This function automatically calculates the height of the image so that the ratio of the image is preserved.
+.PP
+If \fIw\fR is 0 or negative a null image is returned.
+.PP
+See also scale(), scaleHeight(), smoothScale(), and xForm().
+.SH "uchar * QImage::scanLine ( int i ) const"
+Returns a pointer to the pixel data at the scanline with index \fIi\fR. The first scanline is at index 0.
+.PP
+The scanline data is aligned on a 32-bit boundary.
+.PP
+\fBWarning:\fR If you are accessing 32-bpp image data, cast the returned pointer to \fCQRgb*\fR (QRgb has a 32-bit size) and use it to read/write the pixel value. You cannot use the \fCuchar*\fR pointer directly, because the pixel format depends on the byte order on the underlying platform. Hint: use qRed(), qGreen() and qBlue(), etc. (qcolor.h) to access the pixels.
+.PP
+\fBWarning:\fR If you are accessing 16-bpp image data, you must handle endianness yourself. (Qt/Embedded only)
+.PP
+See also bytesPerLine(), bits(), and jumpTable().
+.PP
+Example: desktop/desktop.cpp.
+.SH "void QImage::setAlphaBuffer ( bool enable )"
+Enables alpha buffer mode if \fIenable\fR is TRUE, otherwise disables it. The default setting is disabled.
+.PP
+An 8-bpp image has 8-bit pixels. A pixel is an index into the color table, which contains 32-bit color values. In a 32-bpp image, the 32-bit pixels are the color values.
+.PP
+This 32-bit value is encoded as follows: The lower 24 bits are used for the red, green, and blue components. The upper 8 bits contain the alpha component.
+.PP
+The alpha component specifies the transparency of a pixel. 0 means completely transparent and 255 means opaque. The alpha component is ignored if you do not enable alpha buffer mode.
+.PP
+The alpha buffer is used to set a mask when a QImage is translated to a QPixmap.
+.PP
+See also hasAlphaBuffer() and createAlphaMask().
+.SH "void QImage::setColor ( int i, QRgb c )"
+Sets a color in the color table at index \fIi\fR to \fIc\fR.
+.PP
+A color value is an RGB triplet. Use the qRgb() function (defined in qcolor.h) to make RGB triplets.
+.PP
+See also color(), setNumColors(), and numColors().
+.PP
+Examples:
+.)l desktop/desktop.cpp and themes/wood.cpp.
+.SH "void QImage::setDotsPerMeterX ( int x )"
+Sets the value returned by dotsPerMeterX() to \fIx\fR.
+.SH "void QImage::setDotsPerMeterY ( int y )"
+Sets the value returned by dotsPerMeterY() to \fIy\fR.
+.SH "void QImage::setNumColors ( int numColors )"
+Resizes the color table to \fInumColors\fR colors.
+.PP
+If the color table is expanded all the extra colors will be set to black (RGB 0,0,0).
+.PP
+See also numColors(), color(), setColor(), and colorTable().
+.SH "void QImage::setOffset ( const QPoint & p )"
+Sets the value returned by offset() to \fIp\fR.
+.SH "void QImage::setPixel ( int x, int y, uint index_or_rgb )"
+Sets the pixel index or color at the coordinates (\fIx\fR, \fIy\fR) to \fIindex_or_rgb\fR.
+.PP
+If (\fIx\fR, \fIy\fR) is not valid, the result is undefined.
+.PP
+If the image is a paletted image (depth() <= 8) and \fIindex_or_rgb\fR >= numColors(), the result is undefined.
+.PP
+See also pixelIndex(), pixel(), qRgb(), qRgba(), and valid().
+.SH "void QImage::setText ( const char * key, const char * lang, const QString & s )"
+Records string \fIs\fR for the keyword \fIkey\fR. The \fIkey\fR should be a portable keyword recognizable by other software - some suggested values can be found in the PNG specification. \fIs\fR can be any text. \fIlang\fR should specify the language code (see RFC 1766) or 0.
+.SH "QSize QImage::size () const"
+Returns the size of the image, i.e. its width and height.
+.PP
+See also width(), height(), and rect().
+.SH "QImage QImage::smoothScale ( int w, int h, ScaleMode mode = ScaleFree ) const"
+Returns a smoothly scaled copy of the image. The returned image has a size of width \fIw\fR by height \fIh\fR pixels if \fImode\fR is ScaleFree. The modes ScaleMin and ScaleMax may be used to preserve the ratio of the image: if \fImode\fR is ScaleMin, the returned image is guaranteed to fit into the rectangle specified by \fIw\fR and \fIh\fR (it is as large as possible within the constraints); if \fImode\fR is ScaleMax, the returned image fits at least into the specified rectangle (it is a small as possible within the constraints).
+.PP
+For 32-bpp images and 1-bpp/8-bpp color images the result will be 32-bpp, whereas all-gray images (including black-and-white 1-bpp) will produce 8-bit grayscale images with the palette spanning 256 grays from black to white.
+.PP
+This function uses code based on pnmscale.c by Jef Poskanzer.
+.PP
+pnmscale.c - read a portable anymap and scale it
+.PP
+Copyright (C) 1989, 1991 by Jef Poskanzer.
+.PP
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.
+.PP
+See also scale() and mirror().
+.SH "QImage QImage::smoothScale ( const QSize & s, ScaleMode mode = ScaleFree ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The requested size of the image is \fIs\fR.
+.SH "QImage QImage::swapRGB () const"
+Returns a QImage in which the values of the red and blue components of all pixels have been swapped, effectively converting an RGB image to a BGR image. The original QImage is not changed.
+.SH "Endian QImage::systemBitOrder ()\fC [static]\fR"
+Determines the bit order of the display hardware. Returns QImage::LittleEndian (LSB first) or QImage::BigEndian (MSB first).
+.PP
+See also systemByteOrder().
+.SH "Endian QImage::systemByteOrder ()\fC [static]\fR"
+Determines the host computer byte order. Returns QImage::LittleEndian (LSB first) or QImage::BigEndian (MSB first).
+.PP
+See also systemBitOrder().
+.SH "QString QImage::text ( const char * key, const char * lang = 0 ) const"
+Returns the string recorded for the keyword \fIkey\fR in language \fIlang\fR, or in a default language if \fIlang\fR is 0.
+.SH "QString QImage::text ( const QImageTextKeyLang & kl ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the string recorded for the keyword and language \fIkl\fR.
+.SH "QStringList QImage::textKeys () const"
+Returns the keywords for which some texts are recorded.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myImage.textKeys();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also textList(), text(), setText(), and textLanguages().
+.SH "QStringList QImage::textLanguages () const"
+Returns the language identifiers for which some texts are recorded.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myImage.textLanguages();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also textList(), text(), setText(), and textKeys().
+.SH "QValueList<QImageTextKeyLang> QImage::textList () const"
+Returns a list of QImageTextKeyLang objects that enumerate all the texts key/language pairs set by setText() for this image.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QImageTextKeyLang> list = myImage.textList();
+.br
+ QValueList<QImageTextKeyLang>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "bool QImage::valid ( int x, int y ) const"
+Returns TRUE if ( \fIx\fR, \fIy\fR ) is a valid coordinate in the image; otherwise returns FALSE.
+.PP
+See also width(), height(), and pixelIndex().
+.PP
+Examples:
+.)l canvas/canvas.cpp and qmag/qmag.cpp.
+.SH "int QImage::width () const"
+Returns the width of the image.
+.PP
+See also height(), size(), and rect().
+.PP
+Examples:
+.)l canvas/canvas.cpp and opengl/texture/gltexobj.cpp.
+.SH "QImage QImage::xForm ( const QWMatrix & matrix ) const"
+Returns a copy of the image that is transformed using the transformation matrix, \fImatrix\fR.
+.PP
+The transformation \fImatrix\fR is internally adjusted to compensate for unwanted translation, i.e. xForm() returns the smallest image that contains all the transformed points of the original image.
+.PP
+See also scale(), QPixmap::xForm(), QPixmap::trueMatrix(), and QWMatrix.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void bitBlt ( QImage * dst, int dx, int dy, const QImage * src, int sx, int sy, int sw, int sh, int conversion_flags )"
+Copies a block of pixels from \fIsrc\fR to \fIdst\fR. The pixels copied from source (src) are converted according to \fIconversion_flags\fR if it is incompatible with the destination (\fIdst\fR).
+.PP
+\fIsx\fR, \fIsy\fR is the top-left pixel in \fIsrc\fR, \fIdx\fR, \fIdy\fR is the top-left position in \fIdst\fR and \fIsw\fR, \\sh is the size of the copied block.
+.PP
+The copying is clipped if areas outside \fIsrc\fR or \fIdst\fR are specified.
+.PP
+If \fIsw\fR is -1, it is adjusted to src->width(). Similarly, if \fIsh\fR is -1, it is adjusted to src->height().
+.PP
+Currently inefficient for non 32-bit images.
+.SH "QDataStream & operator<< ( QDataStream & s, const QImage & image )"
+Writes the image \fIimage\fR to the stream \fIs\fR as a PNG image, or as a BMP image if the stream's version is 1.
+.PP
+Note that writing the stream to a file will not produce a valid image file.
+.PP
+See also QImage::save() and Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QImage & image )"
+Reads an image from the stream \fIs\fR and stores it in \fIimage\fR.
+.PP
+See also QImage::load() and Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimage.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimage.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimageconsumer.3qt b/doc/man/man3/qimageconsumer.3qt
new file mode 100644
index 0000000..a3ce8f5
--- /dev/null
+++ b/doc/man/man3/qimageconsumer.3qt
@@ -0,0 +1,108 @@
+'\" t
+.TH QImageConsumer 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageConsumer \- Abstraction used by QImageDecoder
+.SH SYNOPSIS
+\fC#include <qasyncimageio.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBend\fR () = 0"
+.br
+.ti -1c
+.BI "virtual void \fBchanged\fR ( const QRect & ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBframeDone\fR () = 0"
+.br
+.ti -1c
+.BI "virtual void \fBframeDone\fR ( const QPoint & offset, const QRect & rect ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetLooping\fR ( int n ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetFramePeriod\fR ( int milliseconds ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetSize\fR ( int, int ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageConsumer class is an abstraction used by QImageDecoder.
+.PP
+The QMovie class, or QLabel::setMovie(), are easy to use and for most situations do what you want with regards animated images.
+.PP
+A QImageConsumer consumes information about changes to the QImage maintained by a QImageDecoder. Think of the QImage as the model or source of the image data, with the QImageConsumer as a view of that data and the QImageDecoder being the controller that orchestrates the relationship between the model and the view.
+.PP
+You'd use the QImageConsumer class, for example, if you were implementing a web browser with your own image loaders.
+.PP
+See also QImageDecoder, Graphics Classes, Image Processing Classes, and Multimedia Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "void QImageConsumer::changed ( const QRect & )\fC [pure virtual]\fR"
+Called when the given area of the image has changed.
+.SH "void QImageConsumer::end ()\fC [pure virtual]\fR"
+Called when all the data from all the frames has been decoded and revealed as changed().
+.SH "void QImageConsumer::frameDone ()\fC [pure virtual]\fR"
+One of the two frameDone() functions will be called when a frame of an animated image has ended and been revealed as changed().
+.PP
+When this function is called, the current image should be displayed.
+.PP
+The decoder will not make any further changes to the image until the next call to QImageFormat::decode().
+.SH "void QImageConsumer::frameDone ( const QPoint & offset, const QRect & rect )\fC [pure virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+One of the two frameDone() functions will be called when a frame of an animated image has ended and been revealed as changed().
+.PP
+When this function is called, the area \fIrect\fR in the current image should be moved by \fIoffset\fR and displayed.
+.PP
+The decoder will not make any further changes to the image until the next call to QImageFormat::decode().
+.SH "void QImageConsumer::setFramePeriod ( int milliseconds )\fC [pure virtual]\fR"
+Notes that the frame about to be decoded should not be displayed until the given number of \fImilliseconds\fR after the time that this function is called. Of course, the image may not have been decoded by then, in which case the frame should not be displayed until it is complete. A value of -1 (the assumed default) indicates that the image should be displayed even while it is only partially loaded.
+.SH "void QImageConsumer::setLooping ( int n )\fC [pure virtual]\fR"
+Called to indicate that the sequence of frames in the image should be repeated \fIn\fR times, including the sequence during decoding.
+.TP
+0 = Forever
+.TP
+1 = Only display frames the first time through
+.TP
+2 = Repeat once after first pass through images
+.TP
+etc.
+.PP
+To make the QImageDecoder do this, just delete it and pass the information to it again for decoding (setLooping() will be called again, of course, but that can be ignored), or keep copies of the changed areas at the ends of frames.
+.SH "void QImageConsumer::setSize ( int, int )\fC [pure virtual]\fR"
+This function is called as soon as the size of the image has been
+determined.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimageconsumer.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimageconsumer.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimagedecoder.3qt b/doc/man/man3/qimagedecoder.3qt
new file mode 100644
index 0000000..9b2e328
--- /dev/null
+++ b/doc/man/man3/qimagedecoder.3qt
@@ -0,0 +1,111 @@
+'\" t
+.TH QImageDecoder 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageDecoder \- Incremental image decoder for all supported image formats
+.SH SYNOPSIS
+\fC#include <qasyncimageio.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQImageDecoder\fR ( QImageConsumer * c )"
+.br
+.ti -1c
+.BI "\fB~QImageDecoder\fR ()"
+.br
+.ti -1c
+.BI "const QImage & \fBimage\fR ()"
+.br
+.ti -1c
+.BI "int \fBdecode\fR ( const uchar * buffer, int length )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "const char * \fBformatName\fR ( const uchar * buffer, int length )"
+.br
+.ti -1c
+.BI "QImageFormatType * \fBformat\fR ( const char * name )"
+.br
+.ti -1c
+.BI "QStrList \fBinputFormats\fR ()"
+.br
+.ti -1c
+.BI "void \fBregisterDecoderFactory\fR ( QImageFormatType * f )"
+.br
+.ti -1c
+.BI "void \fBunregisterDecoderFactory\fR ( QImageFormatType * f )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageDecoder class is an incremental image decoder for all supported image formats.
+.PP
+New formats are installed by creating objects of class QImageFormatType; the QMovie class can be used for all installed incremental image formats. QImageDecoder is only useful for creating new ways of feeding data to an QImageConsumer.
+.PP
+A QImageDecoder is a machine that decodes images. It takes encoded image data via its decode() method and expresses its decoding by supplying information to a QImageConsumer. It implements its decoding by using a QImageFormat created by one of the currently-existing QImageFormatType factory objects.
+.PP
+QImageFormatType and QImageFormat are the classes that you might need to implement support for additional image formats.
+.PP
+Qt supports GIF reading if it is configured that way during installation (see qgif.h). If it is, we are required to state that" The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."
+.PP
+\fBWarning:\fR If you are in a country that recognizes software patents and in which Unisys holds a patent on LZW compression and/or decompression and you want to use GIF, Unisys may require you to license that technology. Such countries include Canada, Japan, the USA, France, Germany, Italy and the UK.
+.PP
+GIF support may be removed completely in a future version of Qt. We recommend using the MNG or PNG format.
+.PP
+See also Graphics Classes, Image Processing Classes, and Multimedia Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImageDecoder::QImageDecoder ( QImageConsumer * c )"
+Constructs a QImageDecoder that will send change information to the QImageConsumer \fIc\fR.
+.SH "QImageDecoder::~QImageDecoder ()"
+Destroys a QImageDecoder. The image it built is destroyed. The decoder built by the factory for the file format is destroyed. The consumer for which it decoded the image is \fInot\fR destroyed.
+.SH "int QImageDecoder::decode ( const uchar * buffer, int length )"
+Call this function to decode some data into image changes. The data in \fIbuffer\fR will be decoded, sending change information to the QImageConsumer of this QImageDecoder until one of the change functions of the consumer returns FALSE. The length of the data is given in \fIlength\fR.
+.PP
+Returns the number of bytes consumed: 0 if consumption is complete, and -1 if decoding fails due to invalid data.
+.SH "QImageFormatType * QImageDecoder::format ( const char * name )\fC [static]\fR"
+Returns a QImageFormatType by name. This might be used when the user needs to force data to be interpreted as being in a certain format. \fIname\fR is one of the formats listed by QImageDecoder::inputFormats(). Note that you will still need to supply decodable data to result->decoderFor() before you can begin decoding the data.
+.SH "const char * QImageDecoder::formatName ( const uchar * buffer, int length )\fC [static]\fR"
+Call this function to find the name of the format of the given header. The returned string is statically allocated. The function will look at the first \fIlength\fR characters in the \fIbuffer\fR.
+.PP
+Returns 0 if the format is not recognized.
+.SH "const QImage & QImageDecoder::image ()"
+Returns the image currently being decoded.
+.SH "QStrList QImageDecoder::inputFormats ()\fC [static]\fR"
+Returns a sorted list of formats for which asynchronous loading is supported.
+.SH "void QImageDecoder::registerDecoderFactory ( QImageFormatType * f )\fC [static]\fR"
+Registers the new QImageFormatType \fIf\fR. This is not needed in application code because factories call this themselves.
+.SH "void QImageDecoder::unregisterDecoderFactory ( QImageFormatType * f )\fC [static]\fR"
+Unregisters the QImageFormatType \fIf\fR. This is not needed in
+application code because factories call this themselves.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimagedecoder.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimagedecoder.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimagedrag.3qt b/doc/man/man3/qimagedrag.3qt
new file mode 100644
index 0000000..7eaef12
--- /dev/null
+++ b/doc/man/man3/qimagedrag.3qt
@@ -0,0 +1,105 @@
+'\" t
+.TH QImageDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageDrag \- Drag and drop object for transferring images
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QDragObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQImageDrag\fR ( QImage image, QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQImageDrag\fR ( QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QImageDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetImage\fR ( QImage image )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBcanDecode\fR ( const QMimeSource * e )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( const QMimeSource * e, QImage & img )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( const QMimeSource * e, QPixmap & pm )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageDrag class provides a drag and drop object for transferring images.
+.PP
+Images are offered to the receiving application in multiple formats, determined by Qt's output formats.
+.PP
+For more information about drag and drop, see the QDragObject class and the drag and drop documentation.
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImageDrag::QImageDrag ( QImage image, QWidget * dragSource = 0, const char * name = 0 )"
+Constructs an image drag object and sets its data to \fIimage\fR. \fIdragSource\fR must be the drag source; \fIname\fR is the object name.
+.SH "QImageDrag::QImageDrag ( QWidget * dragSource = 0, const char * name = 0 )"
+Constructs a default image drag object. \fIdragSource\fR must be the drag source; \fIname\fR is the object name.
+.SH "QImageDrag::~QImageDrag ()"
+Destroys the image drag object and frees up all allocated resources.
+.SH "bool QImageDrag::canDecode ( const QMimeSource * e )\fC [static]\fR"
+Returns TRUE if the information in mime source \fIe\fR can be decoded into an image; otherwise returns FALSE.
+.PP
+See also decode().
+.PP
+Example: desktop/desktop.cpp.
+.SH "bool QImageDrag::decode ( const QMimeSource * e, QImage & img )\fC [static]\fR"
+Attempts to decode the dropped information in mime source \fIe\fR into \fIimg\fR. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also canDecode().
+.PP
+Example: desktop/desktop.cpp.
+.SH "bool QImageDrag::decode ( const QMimeSource * e, QPixmap & pm )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Attempts to decode the dropped information in mime source \fIe\fR into pixmap \fIpm\fR. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+This is a convenience function that converts to a QPixmap via a QImage.
+.PP
+See also canDecode().
+.SH "void QImageDrag::setImage ( QImage image )\fC [virtual]\fR"
+Sets the image to be dragged to \fIimage\fR. You will need to call
+this if you did not pass the image during construction.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimagedrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimagedrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimageformat.3qt b/doc/man/man3/qimageformat.3qt
new file mode 100644
index 0000000..c3d73d8
--- /dev/null
+++ b/doc/man/man3/qimageformat.3qt
@@ -0,0 +1,63 @@
+'\" t
+.TH QImageFormat 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageFormat \- Incremental image decoder for a specific image format
+.SH SYNOPSIS
+\fC#include <qasyncimageio.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual int \fBdecode\fR ( QImage & img, QImageConsumer * consumer, const uchar * buffer, int length ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageFormat class is an incremental image decoder for a specific image format.
+.PP
+By making a derived class of QImageFormatType, which in turn creates objects that are a subclass of QImageFormat, you can add support for more incremental image formats, allowing such formats to be sources for a QMovie or for the first frame of the image stream to be loaded as a QImage or QPixmap.
+.PP
+Your new subclass must reimplement the decode() function in order to process your new format.
+.PP
+New QImageFormat objects are generated by new QImageFormatType factories.
+.PP
+See also Graphics Classes, Image Processing Classes, and Multimedia Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "int QImageFormat::decode ( QImage & img, QImageConsumer * consumer, const uchar * buffer, int length )\fC [pure virtual]\fR"
+New subclasses must reimplement this method.
+.PP
+It should decode some or all of the bytes from \fIbuffer\fR into \fIimg\fR, calling the methods of \fIconsumer\fR as the decoding proceeds to inform that consumer of changes to the image. The length of the data is given in \fIlength\fR. The consumer may be 0, in which case the function should just process the data into \fIimg\fR without telling any consumer about the changes. Note that the decoder must store enough state to be able to continue in subsequent calls to this method - this is the essence of the incremental image loading.
+.PP
+The function should return without processing all the data if it reaches the end of a frame in the input.
+.PP
+The function must return the number of bytes it has processed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimageformat.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimageformat.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimageformatplugin.3qt b/doc/man/man3/qimageformatplugin.3qt
new file mode 100644
index 0000000..5df440c
--- /dev/null
+++ b/doc/man/man3/qimageformatplugin.3qt
@@ -0,0 +1,76 @@
+'\" t
+.TH QImageFormatPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageFormatPlugin \- Abstract base for custom image format plugins
+.SH SYNOPSIS
+\fC#include <qimageformatplugin.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQImageFormatPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QImageFormatPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBinstallIOHandler\fR ( const QString & format ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageFormatPlugin class provides an abstract base for custom image format plugins.
+.PP
+The image format plugin is a simple plugin interface that makes it easy to create custom image formats that can be used transparently by applications.
+.PP
+Writing an image format plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and installIOHandler(), and exporting the class with the Q_EXPORT_PLUGIN macro. See the Plugins documentation for details.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImageFormatPlugin::QImageFormatPlugin ()"
+Constructs an image format plugin. This is invoked automatically by the Q_EXPORT_PLUGIN macro.
+.SH "QImageFormatPlugin::~QImageFormatPlugin ()"
+Destroys the image format plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "bool QImageFormatPlugin::installIOHandler ( const QString & format )\fC [pure virtual]\fR"
+Installs a QImageIO image I/O handler for the image format \fIformat\fR.
+.PP
+See also keys().
+.SH "QStringList QImageFormatPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of image formats this plugin supports.
+.PP
+See also installIOHandler().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimageformatplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimageformatplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimageformattype.3qt b/doc/man/man3/qimageformattype.3qt
new file mode 100644
index 0000000..7b60a82
--- /dev/null
+++ b/doc/man/man3/qimageformattype.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QImageFormatType 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageFormatType \- Factory that makes QImageFormat objects
+.SH SYNOPSIS
+\fC#include <qasyncimageio.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QImageFormatType\fR ()"
+.br
+.ti -1c
+.BI "virtual QImageFormat * \fBdecoderFor\fR ( const uchar * buffer, int length ) = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBformatName\fR () const = 0"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQImageFormatType\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageFormatType class is a factory that makes QImageFormat objects.
+.PP
+Whereas the QImageIO class allows for \fIcomplete\fR loading of images, QImageFormatType allows for \fIincremental\fR loading of images.
+.PP
+New image file formats are installed by creating objects of derived classes of QImageFormatType. They must implement decoderFor() and formatName().
+.PP
+QImageFormatType is a very simple class. Its only task is to recognize image data in some format and make a new object, subclassed from QImageFormat, which can decode that format.
+.PP
+The factories for formats built into Qt are automatically defined before any other factory is initialized. If two factories would recognize an image format, the factory created last will override the earlier one; you can thus override current and future built-in formats.
+.PP
+See also Graphics Classes, Image Processing Classes, and Multimedia Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImageFormatType::QImageFormatType ()\fC [protected]\fR"
+Constructs a factory. It automatically registers itself with QImageDecoder.
+.SH "QImageFormatType::~QImageFormatType ()\fC [virtual]\fR"
+Destroys a factory. It automatically unregisters itself from QImageDecoder.
+.SH "QImageFormat * QImageFormatType::decoderFor ( const uchar * buffer, int length )\fC [pure virtual]\fR"
+Returns a decoder for decoding an image that starts with the bytes in \fIbuffer\fR. The length of the data is given in \fIlength\fR. This function should only return a decoder if it is certain that the decoder applies to data with the given header. Returns 0 if there is insufficient data in the header to make a positive identification or if the data is not recognized.
+.SH "const char * QImageFormatType::formatName () const\fC [pure virtual]\fR"
+Returns the name of the format supported by decoders from this
+factory. The string is statically allocated.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimageformattype.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimageformattype.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimageio.3qt b/doc/man/man3/qimageio.3qt
new file mode 100644
index 0000000..746f934
--- /dev/null
+++ b/doc/man/man3/qimageio.3qt
@@ -0,0 +1,365 @@
+'\" t
+.TH QImageIO 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QImageIO \- Parameters for loading and saving images
+.SH SYNOPSIS
+\fC#include <qimage.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQImageIO\fR ()"
+.br
+.ti -1c
+.BI "\fBQImageIO\fR ( QIODevice * ioDevice, const char * format )"
+.br
+.ti -1c
+.BI "\fBQImageIO\fR ( const QString & fileName, const char * format )"
+.br
+.ti -1c
+.BI "\fB~QImageIO\fR ()"
+.br
+.ti -1c
+.BI "const QImage & \fBimage\fR () const"
+.br
+.ti -1c
+.BI "int \fBstatus\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBformat\fR () const"
+.br
+.ti -1c
+.BI "QIODevice * \fBioDevice\fR () const"
+.br
+.ti -1c
+.BI "QString \fBfileName\fR () const"
+.br
+.ti -1c
+.BI "int \fBquality\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdescription\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBparameters\fR () const"
+.br
+.ti -1c
+.BI "float \fBgamma\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetImage\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "void \fBsetStatus\fR ( int status )"
+.br
+.ti -1c
+.BI "void \fBsetFormat\fR ( const char * format )"
+.br
+.ti -1c
+.BI "void \fBsetIODevice\fR ( QIODevice * ioDevice )"
+.br
+.ti -1c
+.BI "void \fBsetFileName\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "void \fBsetQuality\fR ( int q )"
+.br
+.ti -1c
+.BI "void \fBsetDescription\fR ( const QString & description )"
+.br
+.ti -1c
+.BI "void \fBsetParameters\fR ( const char * parameters )"
+.br
+.ti -1c
+.BI "void \fBsetGamma\fR ( float gamma )"
+.br
+.ti -1c
+.BI "bool \fBread\fR ()"
+.br
+.ti -1c
+.BI "bool \fBwrite\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "const char * \fBimageFormat\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "const char * \fBimageFormat\fR ( QIODevice * d )"
+.br
+.ti -1c
+.BI "QStrList \fBinputFormats\fR ()"
+.br
+.ti -1c
+.BI "QStrList \fBoutputFormats\fR ()"
+.br
+.ti -1c
+.BI "void \fBdefineIOHandler\fR ( const char * format, const char * header, const char * flags, image_io_handler readImage, image_io_handler writeImage )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QImageIO class contains parameters for loading and saving images.
+.PP
+QImageIO contains a QIODevice object that is used for image data I/O. The programmer can install new image file formats in addition to those that Qt provides.
+.PP
+Qt currently supports the following image file formats: PNG, BMP, XBM, XPM and PNM. It may also support JPEG, MNG and GIF, if specially configured during compilation. The different PNM formats are: PBM (P1 or P4), PGM (P2 or P5), and PPM (P3 or P6).
+.PP
+You don't normally need to use this class; QPixmap::load(), QPixmap::save(), and QImage contain sufficient functionality.
+.PP
+For image files that contain sequences of images, only the first is read. See QMovie for loading multiple images.
+.PP
+PBM, PGM, and PPM format \fIoutput\fR is always in the more condensed raw format. PPM and PGM files with more than 256 levels of intensity are scaled down when reading.
+.PP
+\fBWarning:\fR If you are in a country which recognizes software patents and in which Unisys holds a patent on LZW compression and/or decompression and you want to use GIF, Unisys may require you to license the technology. Such countries include Canada, Japan, the USA, France, Germany, Italy and the UK.
+.PP
+GIF support may be removed completely in a future version of Qt. We recommend using the PNG format.
+.PP
+See also QImage, QPixmap, QFile, QMovie, Graphics Classes, Image Processing Classes, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QImageIO::QImageIO ()"
+Constructs a QImageIO object with all parameters set to zero.
+.SH "QImageIO::QImageIO ( QIODevice * ioDevice, const char * format )"
+Constructs a QImageIO object with the I/O device \fIioDevice\fR and a \fIformat\fR tag.
+.SH "QImageIO::QImageIO ( const QString & fileName, const char * format )"
+Constructs a QImageIO object with the file name \fIfileName\fR and a \fIformat\fR tag.
+.SH "QImageIO::~QImageIO ()"
+Destroys the object and all related data.
+.SH "void QImageIO::defineIOHandler ( const char * format, const char * header, const char * flags, image_io_handler readImage, image_io_handler writeImage )\fC [static]\fR"
+Defines an image I/O handler for the image format called \fIformat\fR, which is recognized using the regular expression \fIheader\fR, read using \fIreadImage\fR and written using \fIwriteImage\fR.
+.PP
+\fIflags\fR is a string of single-character flags for this format. The only flag defined currently is T (upper case), so the only legal value for \fIflags\fR are "T" and the empty string. The "T" flag means that the image file is a text file, and Qt should treat all newline conventions as equivalent. (XPM files and some PPM files are text files for example.)
+.PP
+\fIformat\fR is used to select a handler to write a QImage; \fIheader\fR is used to select a handler to read an image file.
+.PP
+If \fIreadImage\fR is a null pointer, the QImageIO will not be able to read images in \fIformat\fR. If \fIwriteImage\fR is a null pointer, the QImageIO will not be able to write images in \fIformat\fR. If both are null, the QImageIO object is valid but useless.
+.PP
+Example:
+.PP
+.nf
+.br
+ void readGIF( QImageIO *image )
+.br
+ {
+.br
+ // read the image using the image->ioDevice()
+.br
+ }
+.br
+.br
+ void writeGIF( QImageIO *image )
+.br
+ {
+.br
+ // write the image using the image->ioDevice()
+.br
+ }
+.br
+.br
+ // add the GIF image handler
+.br
+.br
+ QImageIO::defineIOHandler( "GIF",
+.br
+ "^GIF[0-9][0-9][a-z]",
+.br
+ 0,
+.br
+ readGIF,
+.br
+ writeGIF );
+.br
+.fi
+.PP
+Before the regex test, all the 0 bytes in the file header are converted to 1 bytes. This is done because when Qt was ASCII-based, QRegExp could not handle 0 bytes in strings.
+.PP
+The regexp is only applied on the first 14 bytes of the file.
+.PP
+Note that Qt assumes that there is only one handler per format; if two handlers support the same format, Qt will choose one arbitrarily. It is not possible to have one handler support reading, and another support writing.
+.SH "QString QImageIO::description () const"
+Returns the image description string.
+.PP
+See also setDescription().
+.SH "QString QImageIO::fileName () const"
+Returns the file name currently set.
+.PP
+See also setFileName().
+.SH "const char * QImageIO::format () const"
+Returns the image format string or 0 if no format has been explicitly set.
+.SH "float QImageIO::gamma () const"
+Returns the gamma value at which the image will be viewed.
+.PP
+See also setGamma().
+.SH "const QImage & QImageIO::image () const"
+Returns the image currently set.
+.PP
+See also setImage().
+.SH "const char * QImageIO::imageFormat ( const QString & fileName )\fC [static]\fR"
+Returns a string that specifies the image format of the file \fIfileName\fR, or null if the file cannot be read or if the format is not recognized.
+.SH "const char * QImageIO::imageFormat ( QIODevice * d )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string that specifies the image format of the image read from IO device \fId\fR, or 0 if the device cannot be read or if the format is not recognized.
+.PP
+Make sure that \fId\fR is at the right position in the device (for example, at the beginning of the file).
+.PP
+See also QIODevice::at().
+.SH "QStrList QImageIO::inputFormats ()\fC [static]\fR"
+Returns a sorted list of image formats that are supported for image input.
+.SH "QIODevice * QImageIO::ioDevice () const"
+Returns the IO device currently set.
+.PP
+See also setIODevice().
+.SH "QStrList QImageIO::outputFormats ()\fC [static]\fR"
+Returns a sorted list of image formats that are supported for image output.
+.PP
+Example: scribble/scribble.cpp.
+.SH "const char * QImageIO::parameters () const"
+Returns the image's parameters string.
+.PP
+See also setParameters().
+.SH "int QImageIO::quality () const"
+Returns the quality of the written image, related to the compression ratio.
+.PP
+See also setQuality() and QImage::save().
+.SH "bool QImageIO::read ()"
+Reads an image into memory and returns TRUE if the image was successfully read; otherwise returns FALSE.
+.PP
+Before reading an image you must set an IO device or a file name. If both an IO device and a file name have been set, the IO device will be used.
+.PP
+Setting the image file format string is optional.
+.PP
+Note that this function does \fInot\fR set the format used to read the image. If you need that information, use the imageFormat() static functions.
+.PP
+Example:
+.PP
+.nf
+.br
+ QImageIO iio;
+.br
+ QPixmap pixmap;
+.br
+ iio.setFileName( "vegeburger.bmp" );
+.br
+ if ( image.read() ) // ok
+.br
+ pixmap = iio.image(); // convert to pixmap
+.br
+.fi
+.PP
+See also setIODevice(), setFileName(), setFormat(), write(), and QPixmap::load().
+.SH "void QImageIO::setDescription ( const QString & description )"
+Sets the image description string for image handlers that support image descriptions to \fIdescription\fR.
+.PP
+Currently, no image format supported by Qt uses the description string.
+.SH "void QImageIO::setFileName ( const QString & fileName )"
+Sets the name of the file to read or write an image from to \fIfileName\fR.
+.PP
+See also setIODevice().
+.SH "void QImageIO::setFormat ( const char * format )"
+Sets the image format to \fIformat\fR for the image to be read or written.
+.PP
+It is necessary to specify a format before writing an image, but it is not necessary to specify a format before reading an image.
+.PP
+If no format has been set, Qt guesses the image format before reading it. If a format is set the image will only be read if it has that format.
+.PP
+See also read(), write(), and format().
+.SH "void QImageIO::setGamma ( float gamma )"
+Sets the gamma value at which the image will be viewed to \fIgamma\fR. If the image format stores a gamma value for which the image is intended to be used, then this setting will be used to modify the image. Setting to 0.0 will disable gamma correction (i.e. any specification in the file will be ignored).
+.PP
+The default value is 0.0.
+.PP
+See also gamma().
+.SH "void QImageIO::setIODevice ( QIODevice * ioDevice )"
+Sets the IO device to be used for reading or writing an image.
+.PP
+Setting the IO device allows images to be read/written to any block-oriented QIODevice.
+.PP
+If \fIioDevice\fR is not null, this IO device will override file name settings.
+.PP
+See also setFileName().
+.SH "void QImageIO::setImage ( const QImage & image )"
+Sets the image to \fIimage\fR.
+.PP
+See also image().
+.SH "void QImageIO::setParameters ( const char * parameters )"
+Sets the image's parameter string to \fIparameters\fR. This is for image handlers that require special parameters.
+.PP
+Although the current image formats supported by Qt ignore the parameters string, it may be used in future extensions or by contributions (for example, JPEG).
+.PP
+See also parameters().
+.SH "void QImageIO::setQuality ( int q )"
+Sets the quality of the written image to \fIq\fR, related to the compression ratio.
+.PP
+\fIq\fR must be in the range -1..100. Specify 0 to obtain small compressed files, 100 for large uncompressed files. (-1 signifies the default compression.)
+.PP
+See also quality() and QImage::save().
+.SH "void QImageIO::setStatus ( int status )"
+Sets the image IO status to \fIstatus\fR. A non-zero value indicates an error, whereas 0 means that the IO operation was successful.
+.PP
+See also status().
+.SH "int QImageIO::status () const"
+Returns the image's IO status. A non-zero value indicates an error, whereas 0 means that the IO operation was successful.
+.PP
+See also setStatus().
+.SH "bool QImageIO::write ()"
+Writes an image to an IO device and returns TRUE if the image was successfully written; otherwise returns FALSE.
+.PP
+Before writing an image you must set an IO device or a file name. If both an IO device and a file name have been set, the IO device will be used.
+.PP
+The image will be written using the specified image format.
+.PP
+Example:
+.PP
+.nf
+.br
+ QImageIO iio;
+.br
+ QImage im;
+.br
+ im = pixmap; // convert to image
+.br
+ iio.setImage( im );
+.br
+ iio.setFileName( "vegeburger.bmp" );
+.br
+ iio.setFormat( "BMP" );
+.br
+ if ( iio.write() )
+.br
+ // returned TRUE if written successfully
+.br
+.fi
+.PP
+See also setIODevice(), setFileName(), setFormat(), read(), and QPixmap::save().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimageio.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimageio.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qimevent.3qt b/doc/man/man3/qimevent.3qt
new file mode 100644
index 0000000..cec1270
--- /dev/null
+++ b/doc/man/man3/qimevent.3qt
@@ -0,0 +1,127 @@
+'\" t
+.TH QIMEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIMEvent \- Parameters for input method events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIMEvent\fR ( Type type, const QString & text, int cursorPosition )"
+.br
+.ti -1c
+.BI "const QString & \fBtext\fR () const"
+.br
+.ti -1c
+.BI "int \fBcursorPos\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.ti -1c
+.BI "int \fBselectionLength\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIMEvent class provides parameters for input method events.
+.PP
+Input method events are sent to widgets when an input method is used to enter text into a widget. Input methods are widely used to enter text in Asian and other complex languages.
+.PP
+The events are of interest to widgets that accept keyboard input and want to be able to correctly handle complex languages. Text input in such languages is usually a three step process.
+.PP
+<ol type=1>
+.IP 1
+\fBStarting to Compose\fR
+.br
+When the user presses the first key on a keyboard an input context is created. This input context will contain a string with the typed characters.
+.IP 2
+\fBComposing\fR
+.br
+With every new key pressed, the input method will try to create a matching string for the text typed so far. While the input context is active, the user can only move the cursor inside the string belonging to this input context.
+.IP 3
+\fBCompleting\fR
+.br
+At some point, e.g. when the user presses the Spacebar, they get to this stage, where they can choose from a number of strings that match the text they have typed so far. The user can press Enter to confirm their choice or Escape to cancel the input; in either case the input context will be closed.
+.PP
+Note that the particular key presses used for a given input context may differ from those we've mentioned here, i.e. they may not be Spacebar, Enter and Escape.
+.PP
+These three stages are represented by three different types of events. The IMStartEvent, IMComposeEvent and IMEndEvent. When a new input context is created, an IMStartEvent will be sent to the widget and delivered to the QWidget::imStartEvent() function. The widget can then update internal data structures to reflect this.
+.PP
+After this, an IMComposeEvent will be sent to the widget for every key the user presses. It will contain the current composition string the widget has to show and the current cursor position within the composition string. This string is temporary and can change with every key the user types, so the widget will need to store the state before the composition started (the state it had when it received the IMStartEvent). IMComposeEvents will be delivered to the QWidget::imComposeEvent() function.
+.PP
+Usually, widgets try to mark the part of the text that is part of the current composition in a way that is visible to the user. A commonly used visual cue is to use a dotted underline.
+.PP
+After the user has selected the final string, an IMEndEvent will be sent to the widget. The event contains the final string the user selected, and could be empty if they canceled the composition. This string should be accepted as the final text the user entered, and the intermediate composition string should be cleared. These events are delivered to QWidget::imEndEvent().
+.PP
+If the user clicks another widget, taking the focus out of the widget where the composition is taking place the IMEndEvent will be sent and the string it holds will be the result of the composition up to that point (which may be an empty string).
+.PP
+See also Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIMEvent::QIMEvent ( Type type, const QString & text, int cursorPosition )"
+Constructs a new QIMEvent with the accept flag set to FALSE. \fItype\fR can be one of QEvent::IMStartEvent, QEvent::IMComposeEvent or QEvent::IMEndEvent. \fItext\fR contains the current compostion string and \fIcursorPosition\fR the current position of the cursor inside \fItext\fR.
+.SH "void QIMEvent::accept ()"
+Sets the accept flag of the input method event object.
+.PP
+Setting the accept parameter indicates that the receiver of the event processed the input method event.
+.PP
+The accept flag is not set by default.
+.PP
+See also ignore().
+.SH "int QIMEvent::cursorPos () const"
+Returns the current cursor position inside the composition string. Will return -1 for IMStartEvent and IMEndEvent.
+.SH "void QIMEvent::ignore ()"
+Clears the accept flag parameter of the input method event object.
+.PP
+Clearing the accept parameter indicates that the event receiver does not want the input method event.
+.PP
+The accept flag is cleared by default.
+.PP
+See also accept().
+.SH "bool QIMEvent::isAccepted () const"
+Returns TRUE if the receiver of the event processed the event; otherwise returns FALSE.
+.SH "int QIMEvent::selectionLength () const"
+Returns the number of characters in the composition string ( starting at cursorPos() ) that should be marked as selected by the input widget receiving the event. Will return 0 for IMStartEvent and IMEndEvent.
+.SH "const QString & QIMEvent::text () const"
+Returns the composition text. This is a null string for an
+IMStartEvent, and contains the final accepted string (which may be
+empty) in the IMEndEvent.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qimevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qimevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qinputdialog.3qt b/doc/man/man3/qinputdialog.3qt
new file mode 100644
index 0000000..4fa9810
--- /dev/null
+++ b/doc/man/man3/qinputdialog.3qt
@@ -0,0 +1,201 @@
+'\" t
+.TH QInputDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QInputDialog \- Simple convenience dialog to get a single value from the user
+.SH SYNOPSIS
+\fC#include <qinputdialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Static Public Members"
+<li class=fn>QString \fBgetText\fR ( const QString & caption, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString::null, bool * ok = 0, QWidget * parent = 0, const char * name = 0 ) <li class=fn>int \fBgetInteger\fR ( const QString & caption, 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 ) <li class=fn>double \fBgetDouble\fR ( const QString & caption, 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 ) <li class=fn>QString \fBgetItem\fR ( const QString & caption, const QString & label, const QStringList & list, int current = 0, bool editable = TRUE, bool * ok = 0, QWidget * parent = 0, const char * name = 0 )
+.SH DESCRIPTION
+The QInputDialog class provides a simple convenience dialog to get a single value from the user.
+.PP
+The input value can be a string, a number or an item from a list. A label must be set to tell the user what they should enter.
+.PP
+Four static convenience functions are provided: getText(), getInteger(), getDouble() and getItem(). All the functions can be used in a similar way, for example:
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QString text = QInputDialog::getText(
+.br
+ "MyApp 3000", "Enter your name:", QLineEdit::Normal,
+.br
+ QString::null, &ok, this );
+.br
+ if ( ok && !text.isEmpty() ) {
+.br
+ // user entered something and pressed OK
+.br
+ } else {
+.br
+ // user entered nothing or pressed Cancel
+.br
+ }
+.br
+.fi
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also Dialog Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "double QInputDialog::getDouble ( const QString & caption, 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 )\fC [static]\fR"
+Static convenience function to get a floating point number from the user. \fIcaption\fR is the text which is displayed in the title bar of the dialog. \fIlabel\fR is the text which is shown to the user (it should say what should be entered). \fIvalue\fR is the default floating point number that the line edit will be set to. \fIminValue\fR and \fImaxValue\fR are the minimum and maximum values the user may choose, and \fIdecimals\fR is the maximum number of decimal places the number may have.
+.PP
+If \fIok\fR is not-null \fI*\fR\fIok\fR will be set to TRUE if the user pressed OK and to FALSE if the user pressed Cancel. The dialog's parent is \fIparent\fR; the dialog is called \fIname\fR. The dialog will be modal.
+.PP
+This function returns the floating point number which has been entered by the user.
+.PP
+Use this static function like this:
+.PP
+.nf
+.br
+ bool ok;
+.br
+ double res = QInputDialog::getDouble(
+.br
+ "MyApp 3000", "Enter a decimal number:", 33.7, 0,
+.br
+ 1000, 2, &ok, this );
+.br
+ if ( ok ) {
+.br
+ // user entered something and pressed OK
+.br
+ } else {
+.br
+ // user pressed Cancel
+.br
+ }
+.br
+.fi
+.SH "int QInputDialog::getInteger ( const QString & caption, 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 )\fC [static]\fR"
+Static convenience function to get an integer input from the user. \fIcaption\fR is the text which is displayed in the title bar of the dialog. \fIlabel\fR is the text which is shown to the user (it should say what should be entered). \fIvalue\fR is the default integer which the spinbox will be set to. \fIminValue\fR and \fImaxValue\fR are the minimum and maximum values the user may choose, and \fIstep\fR is the amount by which the values change as the user presses the arrow buttons to increment or decrement the value.
+.PP
+If \fIok\fR is not-null *\fIok\fR will be set to TRUE if the user pressed OK and to FALSE if the user pressed Cancel. The dialog's parent is \fIparent\fR; the dialog is called \fIname\fR. The dialog will be modal.
+.PP
+This function returns the integer which has been entered by the user.
+.PP
+Use this static function like this:
+.PP
+.nf
+.br
+ bool ok;
+.br
+ int res = QInputDialog::getInteger(
+.br
+ "MyApp 3000", "Enter a number:", 22, 0, 1000, 2,
+.br
+ &ok, this );
+.br
+ if ( ok ) {
+.br
+ // user entered something and pressed OK
+.br
+ } else {
+.br
+ // user pressed Cancel
+.br
+ }
+.br
+.fi
+.SH "QString QInputDialog::getItem ( const QString & caption, const QString & label, const QStringList & list, int current = 0, bool editable = TRUE, bool * ok = 0, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Static convenience function to let the user select an item from a string list. \fIcaption\fR is the text which is displayed in the title bar of the dialog. \fIlabel\fR is the text which is shown to the user (it should say what should be entered). \fIlist\fR is the string list which is inserted into the combobox, and \fIcurrent\fR is the number of the item which should be the current item. If \fIeditable\fR is TRUE the user can enter their own text; if \fIeditable\fR is FALSE the user may only select one of the existing items.
+.PP
+If \fIok\fR is not-null \fI*\fR\fIok\fR will be set to TRUE if the user pressed OK and to FALSE if the user pressed Cancel. The dialog's parent is \fIparent\fR; the dialog is called \fIname\fR. The dialog will be modal.
+.PP
+This function returns the text of the current item, or if \fIeditable\fR is TRUE, the current text of the combobox.
+.PP
+Use this static function like this:
+.PP
+.nf
+.br
+ QStringList lst;
+.br
+ lst << "First" << "Second" << "Third" << "Fourth" << "Fifth";
+.br
+ bool ok;
+.br
+ QString res = QInputDialog::getItem(
+.br
+ "MyApp 3000", "Select an item:", lst, 1, TRUE, &ok,
+.br
+ this );
+.br
+ if ( ok ) {
+.br
+ // user selected an item and pressed OK
+.br
+ } else {
+.br
+ // user pressed Cancel
+.br
+ }
+.br
+.fi
+.SH "QString QInputDialog::getText ( const QString & caption, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString::null, bool * ok = 0, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Static convenience function to get a string from the user. \fIcaption\fR is the text which is displayed in the title bar of the dialog. \fIlabel\fR is the text which is shown to the user (it should say what should be entered). \fItext\fR is the default text which is placed in the line edit. The \fImode\fR is the echo mode the line edit will use. If \fIok\fR is not-null \fI*\fR\fIok\fR will be set to TRUE if the user pressed OK and to FALSE if the user pressed Cancel. The dialog's parent is \fIparent\fR; the dialog is called \fIname\fR. The dialog will be modal.
+.PP
+This function returns the text which has been entered in the line edit. It will not return an empty string.
+.PP
+Use this static function like this:
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QString text = QInputDialog::getText(
+.br
+ "MyApp 3000", "Enter your name:", QLineEdit::Normal,
+.br
+ QString::null, &ok, this );
+.br
+ if ( ok && !text.isEmpty() ) {
+.br
+ // user entered something and pressed OK
+.br
+ } else {
+.br
+ // user entered nothing or pressed Cancel
+.br
+ }
+.br
+.fi
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qinputdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qinputdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qintcache.3qt b/doc/man/man3/qintcache.3qt
new file mode 100644
index 0000000..fdd9652
--- /dev/null
+++ b/doc/man/man3/qintcache.3qt
@@ -0,0 +1,185 @@
+'\" t
+.TH QIntCache 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntCache \- Template class that provides a cache based on long keys
+.SH SYNOPSIS
+\fC#include <qintcache.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntCache\fR ( int maxCost = 100, int size = 17 )"
+.br
+.ti -1c
+.BI "\fB~QIntCache\fR ()"
+.br
+.ti -1c
+.BI "int \fBmaxCost\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotalCost\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMaxCost\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBinsert\fR ( long k, const type * d, int c = 1, int p = 0 )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( long k )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( long k )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( long k, bool ref = TRUE ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( long k ) const"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntCache class is a template class that provides a cache based on long keys.
+.PP
+QIntCache is implemented as a template class. Define a template instance QIntCache<X> to create a cache that operates on pointers to X, or X*.
+.PP
+A cache is a least recently used (LRU) list of cache items, accessed via \fClong\fR keys. Each cache item has a cost. The sum of item costs, totalCost(), will not exceed the maximum cache cost, maxCost(). If inserting a new item would cause the total cost to exceed the maximum cost, the least recently used items in the cache are removed.
+.PP
+Apart from insert(), by far the most important function is find() (which also exists as operator[]). This function looks up an item, returns it, and by default marks it as being the most recently used item.
+.PP
+There are also methods to remove() or take() an object from the cache. Calling setAutoDelete(TRUE) for a cache tells it to delete items that are removed. The default is to not delete items when they are removed (i.e. remove() and take() are equivalent).
+.PP
+When inserting an item into the cache, only the pointer is copied, not the item itself. This is called a shallow copy. It is possible to make the cache copy all of the item's data (known as a deep copy) when an item is inserted. insert() calls the virtual function QPtrCollection::newItem() for the item to be inserted. Inherit a dictionary and reimplement newItem() if you want deep copies.
+.PP
+When removing a cache item, the item will be automatically deleted if auto-deletion is enabled.
+.PP
+There is a QIntCacheIterator which may be used to traverse the items in the cache in arbitrary order.
+.PP
+See also QIntCacheIterator, QCache, QAsciiCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntCache::QIntCache ( int maxCost = 100, int size = 17 )"
+Constructs a cache whose contents will never have a total cost greater than \fImaxCost\fR and which is expected to contain less than \fIsize\fR items.
+.PP
+\fIsize\fR is actually the size of an internal hash array; it's usually best to make it prime and at least 50% bigger than the largest expected number of items in the cache.
+.PP
+Each inserted item is associated with a cost. When inserting a new item, if the total cost of all items in the cache will exceed \fImaxCost\fR, the cache will start throwing out the older (least recently used) items until there is enough room for the new item to be inserted.
+.SH "QIntCache::~QIntCache ()"
+Removes all items from the cache and then destroys the int cache. If auto-deletion is enabled the cache's items are deleted. All iterators that access this cache will be reset.
+.SH "void QIntCache::clear ()\fC [virtual]\fR"
+Removes all items from the cache, and deletes them if auto-deletion has been enabled.
+.PP
+All cache iterators that operate this on cache are reset.
+.PP
+See also remove() and take().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QIntCache::count () const\fC [virtual]\fR"
+Returns the number of items in the cache.
+.PP
+See also totalCost().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QIntCache::find ( long k, bool ref = TRUE ) const"
+Returns the item associated with \fIk\fR, or 0 if the key does not exist in the cache. If \fIref\fR is TRUE (the default), the item is moved to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted most recently is returned.
+.SH "bool QIntCache::insert ( long k, const type * d, int c = 1, int p = 0 )"
+Inserts the item \fId\fR into the cache with key \fIk\fR and assigns it a cost of \fIc\fR (default 1). Returns TRUE if it succeeds; otherwise returns FALSE.
+.PP
+The cache's size is limited, and if the total cost is too high, QIntCache will remove old, least-used items until there is room for this new item.
+.PP
+The parameter \fIp\fR is internal and should be left at the default value (0).
+.PP
+\fBWarning:\fR If this function returns FALSE (for example, the cost \fC,\fR exceeds maxCost()), you must delete \fId\fR yourself. Additionally, be very careful about using \fId\fR after calling this function. Any other insertions into the cache, from anywhere in the application or within Qt itself, could cause the object to be discarded from the cache and the pointer to become invalid.
+.SH "bool QIntCache::isEmpty () const"
+Returns TRUE if the cache is empty; otherwise returns FALSE.
+.SH "int QIntCache::maxCost () const"
+Returns the maximum allowed total cost of the cache.
+.PP
+See also setMaxCost() and totalCost().
+.SH "type * QIntCache::operator[] ( long k ) const"
+Returns the item associated with \fIk\fR, or 0 if \fIk\fR does not exist in the cache, and moves the item to the front of the least recently used list.
+.PP
+If there are two or more items with equal keys, the one that was inserted most recently is returned.
+.PP
+This is the same as find( k, TRUE ).
+.PP
+See also find().
+.SH "bool QIntCache::remove ( long k )"
+Removes the item associated with \fIk\fR, and returns TRUE if the item was present in the cache; otherwise returns FALSE.
+.PP
+The item is deleted if auto-deletion has been enabled, i.e. if you have called setAutoDelete(TRUE).
+.PP
+If there are two or more items with equal keys, the one that was inserted most recently is removed.
+.PP
+All iterators that refer to the removed item are set to point to the next item in the cache's traversal order.
+.PP
+See also take() and clear().
+.SH "void QIntCache::setMaxCost ( int m )"
+Sets the maximum allowed total cost of the cache to \fIm\fR. If the current total cost is greater than \fIm\fR, some items are removed immediately.
+.PP
+See also maxCost() and totalCost().
+.SH "uint QIntCache::size () const"
+Returns the size of the hash array used to implement the cache. This should be a bit larger than count() is likely to be.
+.SH "void QIntCache::statistics () const"
+A debug-only utility function. Prints out cache usage, hit/miss, and distribution information using qDebug(). This function does nothing in the release library.
+.SH "type * QIntCache::take ( long k )"
+Takes the item associated with \fIk\fR out of the cache without deleting it, and returns a pointer to the item taken out or 0 if the key does not exist in the cache.
+.PP
+If there are two or more items with equal keys, the one that was inserted most recently is taken.
+.PP
+All iterators that refer to the taken item are set to point to the next item in the cache's traversal order.
+.PP
+See also remove() and clear().
+.SH "int QIntCache::totalCost () const"
+Returns the total cost of the items in the cache. This is an integer in the range 0 to maxCost().
+.PP
+See also setMaxCost().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qintcache.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qintcache.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qintcacheiterator.3qt b/doc/man/man3/qintcacheiterator.3qt
new file mode 100644
index 0000000..bda0dc1
--- /dev/null
+++ b/doc/man/man3/qintcacheiterator.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QIntCacheIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntCacheIterator \- Iterator for QIntCache collections
+.SH SYNOPSIS
+\fC#include <qintcache.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntCacheIterator\fR ( const QIntCache<type> & cache )"
+.br
+.ti -1c
+.BI "\fBQIntCacheIterator\fR ( const QIntCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "QIntCacheIterator<type> & \fBoperator=\fR ( const QIntCacheIterator<type> & ci )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatFirst\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatLast\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtoLast\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "long \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.ti -1c
+.BI "type * \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator-=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntCacheIterator class provides an iterator for QIntCache collections.
+.PP
+Note that the traversal order is arbitrary; you are not guaranteed any particular order. If new objects are inserted into the cache while the iterator is active, the iterator may or may not see them.
+.PP
+Multiple iterators are completely independent, even when they operate on the same QIntCache. QIntCache updates all iterators that refer an item when that item is removed.
+.PP
+QIntCacheIterator provides an operator++(), and an operator+=() to traverse the cache; current() and currentKey() to access the current cache item and its key; atFirst() atLast(), which return TRUE if the iterator points to the first/last item in the cache; isEmpty(), which returns TRUE if the cache is empty; and count(), which returns the number of items in the cache.
+.PP
+Note that atFirst() and atLast() refer to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also QIntCache, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntCacheIterator::QIntCacheIterator ( const QIntCache<type> & cache )"
+Constructs an iterator for \fIcache\fR. The current iterator item is set to point to the first item in the \fIcache\fR (or rather, the first item is defined to be the item at which this constructor sets the iterator to point).
+.SH "QIntCacheIterator::QIntCacheIterator ( const QIntCacheIterator<type> & ci )"
+Constructs an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current(), but moves independently from there on.
+.SH "bool QIntCacheIterator::atFirst () const"
+Returns TRUE if the iterator points to the first item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toFirst() and atLast().
+.SH "bool QIntCacheIterator::atLast () const"
+Returns TRUE if the iterator points to the last item in the cache; otherwise returns FALSE. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list.
+.PP
+See also toLast() and atFirst().
+.SH "uint QIntCacheIterator::count () const"
+Returns the number of items in the cache on which this iterator operates.
+.PP
+See also isEmpty().
+.SH "type * QIntCacheIterator::current () const"
+Returns a pointer to the current iterator item.
+.SH "long QIntCacheIterator::currentKey () const"
+Returns the key for the current iterator item.
+.SH "bool QIntCacheIterator::isEmpty () const"
+Returns TRUE if the cache is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QIntCacheIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QIntCacheIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the cache or if it was 0, 0 is returned.
+.SH "type * QIntCacheIterator::operator++ ()"
+Prefix ++ makes the iterator point to the item just after current(), and makes it the new current item for the iterator. If current() was the last item, operator--() returns 0.
+.SH "type * QIntCacheIterator::operator+= ( uint jump )"
+Returns the item \fIjump\fR positions after the current item, or 0 if it is beyond the last item. Makes this the current item.
+.SH "type * QIntCacheIterator::operator-- ()"
+Prefix -- makes the iterator point to the item just before current(), and makes it the new current item for the iterator. If current() was the first item, operator--() returns 0.
+.SH "type * QIntCacheIterator::operator-= ( uint jump )"
+Returns the item \fIjump\fR positions before the current item, or 0 if it is beyond the first item. Makes this the current item.
+.SH "QIntCacheIterator<type> & QIntCacheIterator::operator= ( const QIntCacheIterator<type> & ci )"
+Makes this an iterator for the same cache as \fIci\fR. The new iterator starts at the same item as ci.current(), but moves independently thereafter.
+.SH "type * QIntCacheIterator::toFirst ()"
+Sets the iterator to point to the first item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0, and returns 0, if the cache is empty.
+.PP
+See also toLast() and isEmpty().
+.SH "type * QIntCacheIterator::toLast ()"
+Sets the iterator to point to the last item in the cache and returns a pointer to the item.
+.PP
+Sets the iterator to 0, and returns 0, if the cache is empty.
+.PP
+See also toFirst() and isEmpty().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qintcacheiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qintcacheiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qintdict.3qt b/doc/man/man3/qintdict.3qt
new file mode 100644
index 0000000..ca8e65d
--- /dev/null
+++ b/doc/man/man3/qintdict.3qt
@@ -0,0 +1,315 @@
+'\" t
+.TH QIntDict 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntDict \- Template class that provides a dictionary based on long keys
+.SH SYNOPSIS
+\fC#include <qintdict.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntDict\fR ( int size = 17 )"
+.br
+.ti -1c
+.BI "\fBQIntDict\fR ( const QIntDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QIntDict\fR ()"
+.br
+.ti -1c
+.BI "QIntDict<type> & \fBoperator=\fR ( const QIntDict<type> & dict )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( long key, const type * item )"
+.br
+.ti -1c
+.BI "void \fBreplace\fR ( long key, const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( long key )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( long key )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( long key ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( long key ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( uint newsize )"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntDict class is a template class that provides a dictionary based on long keys.
+.PP
+QMap is an STL-compatible alternative to this class.
+.PP
+QIntDict is implemented as a template class. Define a template instance QIntDict<X> to create a dictionary that operates on pointers to X (X*).
+.PP
+A dictionary is a collection of key-value pairs. The key is an \fClong\fR used for insertion, removal and lookup. The value is a pointer. Dictionaries provide very fast insertion and lookup.
+.PP
+Example:
+.PP
+.nf
+.br
+ QIntDict<QLineEdit> fields; // long int keys, QLineEdit* values
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ fields.insert( i, new QLineEdit( this ) );
+.br
+.br
+ fields[0]->setText( "Homer" );
+.br
+ fields[1]->setText( "Simpson" );
+.br
+ fields[2]->setText( "45" );
+.br
+.br
+ QIntDictIterator<QLineEdit> it( fields );
+.br
+ for ( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ cout << fields[i]->text() << " "; // Prints "Homer Simpson 45"
+.br
+ cout << endl;
+.br
+.br
+ fields.remove( 1 ); // Does not delete the line edit
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ if ( fields[i] )
+.br
+ cout << fields[i]->text() << " "; // Prints "Homer 45"
+.br
+.fi
+.PP
+See QDict for full details, including the choice of dictionary size, and how deletions are handled.
+.PP
+See also QIntDictIterator, QDict, QAsciiDict, QPtrDict, Collection Classes, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntDict::QIntDict ( int size = 17 )"
+Constructs a dictionary using an internal hash array of size \fIsize\fR.
+.PP
+Setting \fIsize\fR to a suitably large prime number (equal to or greater than the expected number of entries) makes the hash distribution better which leads to faster lookup.
+.SH "QIntDict::QIntDict ( const QIntDict<type> & dict )"
+Constructs a copy of \fIdict\fR.
+.PP
+Each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy).
+.SH "QIntDict::~QIntDict ()"
+Removes all items from the dictionary and destroys it.
+.PP
+All iterators that access this dictionary will be reset.
+.PP
+See also setAutoDelete().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QIntDict::clear ()\fC [virtual]\fR"
+Removes all items from the dictionary.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that access this dictionary will be reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QIntDict::count () const\fC [virtual]\fR"
+Returns the number of items in the dictionary.
+.PP
+See also isEmpty().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QIntDict::find ( long key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to operator[].
+.PP
+See also operator[]().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::insert ( long key, const type * item )"
+Insert item \fIitem\fR into the dictionary using key \fIkey\fR.
+.PP
+Multiple items can have the same key, in which case only the last item will be accessible using operator[]().
+.PP
+\fIitem\fR may not be 0.
+.PP
+See also replace().
+.PP
+Example: scribble/scribble.cpp.
+.SH "bool QIntDict::isEmpty () const"
+Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QIntDict<type> & QIntDict::operator= ( const QIntDict<type> & dict )"
+Assigns \fIdict\fR to this dictionary and returns a reference to this dictionary.
+.PP
+This dictionary is first cleared and then each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy), unless newItem() has been reimplemented.
+.SH "type * QIntDict::operator[] ( long key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to the find() function.
+.PP
+See also find().
+.SH "QDataStream & QIntDict::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a dictionary item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QIntDict::remove ( long key )"
+Removes the item associated with \fIkey\fR from the dictionary. Returns TRUE if successful, i.e. if the \fIkey\fR is in the dictionary; otherwise returns FALSE.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be removed.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that refer to the removed item will be set to point to the next item in the dictionary's traversal order.
+.PP
+See also take(), clear(), and setAutoDelete().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::replace ( long key, const type * item )"
+If the dictionary has key \fIkey\fR, this key's item is replaced with \fIitem\fR. If the dictionary doesn't contain key \fIkey\fR, \fIitem\fR is inserted into the dictionary using key \fIkey\fR.
+.PP
+\fIitem\fR may not be 0.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ QIntDict<char> dict;
+.br
+ // ...
+.br
+ if ( dict.find(key) )
+.br
+ dict.remove( key );
+.br
+ dict.insert( key, item );
+.br
+.fi
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be replaced.
+.PP
+See also insert().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QIntDict::resize ( uint newsize )"
+Changes the size of the hashtable to \fInewsize\fR. The contents of the dictionary are preserved, but all iterators on the dictionary become invalid.
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QIntDict::size () const"
+Returns the size of the internal hash array (as specified in the constructor).
+.PP
+See also count().
+.SH "void QIntDict::statistics () const"
+Debugging-only function that prints out the dictionary distribution using qDebug().
+.SH "type * QIntDict::take ( long key )"
+Takes the item associated with \fIkey\fR out of the dictionary without deleting it (even if auto-deletion is enabled).
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be taken.
+.PP
+Returns a pointer to the item taken out, or 0 if the key does not exist in the dictionary.
+.PP
+All dictionary iterators that refer to the taken item will be set to point to the next item in the dictionary's traversing order.
+.PP
+See also remove(), clear(), and setAutoDelete().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "QDataStream & QIntDict::write ( QDataStream & s, QPtrCollection::Item ) const\fC [virtual protected]\fR"
+Writes a dictionary item to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qintdict.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qintdict.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qintdictiterator.3qt b/doc/man/man3/qintdictiterator.3qt
new file mode 100644
index 0000000..89917d3
--- /dev/null
+++ b/doc/man/man3/qintdictiterator.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QIntDictIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntDictIterator \- Iterator for QIntDict collections
+.SH SYNOPSIS
+\fC#include <qintdict.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntDictIterator\fR ( const QIntDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QIntDictIterator\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "long \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntDictIterator class provides an iterator for QIntDict collections.
+.PP
+QIntDictIterator is implemented as a template class. Define a template instance QIntDictIterator<X> to create a dictionary iterator that operates on QIntDict<X> (dictionary of X*).
+.PP
+Example:
+.PP
+.nf
+.br
+ QIntDict<QLineEdit> fields;
+.br
+ for ( int i = 0; i < 3; i++ )
+.br
+ fields.insert( i, new QLineEdit( this ) );
+.br
+.br
+ fields[0]->setText( "Homer" );
+.br
+ fields[1]->setText( "Simpson" );
+.br
+ fields[2]->setText( "45" );
+.br
+.br
+ QIntDictIterator<QLineEdit> it( fields );
+.br
+.br
+ for ( ; it.current(); ++it )
+.br
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+.br
+.br
+ // Output (random order):
+.br
+ // 0: Homer
+.br
+ // 1: Simpson
+.br
+ // 2: 45
+.br
+.fi
+.PP
+Note that the traversal order is arbitrary; you are not guaranteed the order shown above.
+.PP
+Multiple iterators may independently traverse the same dictionary. A QIntDict knows about all the iterators that are operating on the dictionary. When an item is removed from the dictionary, QIntDict updates all iterators that refer the removed item to point to the next item in the traversal order.
+.PP
+See also QIntDict, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntDictIterator::QIntDictIterator ( const QIntDict<type> & dict )"
+Constructs an iterator for \fIdict\fR. The current iterator item is set to point to the 'first' item in the \fIdict\fR. The first item refers to the first item in the dictionary's arbitrary internal ordering.
+.SH "QIntDictIterator::~QIntDictIterator ()"
+Destroys the iterator.
+.SH "uint QIntDictIterator::count () const"
+Returns the number of items in the dictionary this iterator operates over.
+.PP
+See also isEmpty().
+.SH "type * QIntDictIterator::current () const"
+Returns a pointer to the current iterator item.
+.SH "long QIntDictIterator::currentKey () const"
+Returns the key for the current iterator item.
+.SH "bool QIntDictIterator::isEmpty () const"
+Returns TRUE if the dictionary is empty; otherwise eturns FALSE.
+.PP
+See also count().
+.SH "QIntDictIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QIntDictIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QIntDictIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns the new current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QIntDictIterator::operator+= ( uint jump )"
+Sets the current item to the item \fIjump\fR positions after the current item, and returns a pointer to that item.
+.PP
+If that item is beyond the last item or if the dictionary is empty, it sets the current item to 0 and returns 0.
+.SH "type * QIntDictIterator::toFirst ()"
+Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. The first item
+refers to the first item in the dictionary's arbitrary internal
+ordering. If the dictionary is empty it sets the current item to
+0 and returns 0.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qintdictiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qintdictiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qintvalidator.3qt b/doc/man/man3/qintvalidator.3qt
new file mode 100644
index 0000000..ad6fc60
--- /dev/null
+++ b/doc/man/man3/qintvalidator.3qt
@@ -0,0 +1,203 @@
+'\" t
+.TH QIntValidator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIntValidator \- Validator which ensures that a string contains a valid integer within a specified range
+.SH SYNOPSIS
+\fC#include <qvalidator.h>\fR
+.PP
+Inherits QValidator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQIntValidator\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQIntValidator\fR ( int minimum, int maximum, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QIntValidator\fR ()"
+.br
+.ti -1c
+.BI "virtual QValidator::State \fBvalidate\fR ( QString & input, int & ) const"
+.br
+.ti -1c
+.BI "void \fBsetBottom\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetTop\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRange\fR ( int bottom, int top )"
+.br
+.ti -1c
+.BI "int \fBbottom\fR () const"
+.br
+.ti -1c
+.BI "int \fBtop\fR () const"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBbottom\fR - the validator's lowest acceptable value"
+.br
+.ti -1c
+.BI "int \fBtop\fR - the validator's highest acceptable value"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIntValidator class provides a validator which ensures that a string contains a valid integer within a specified range.
+.PP
+Example of use:
+.PP
+.nf
+.br
+ QValidator* validator = new QIntValidator( 100, 999, this );
+.br
+ QLineEdit* edit = new QLineEdit( this );
+.br
+.br
+ // the edit lineedit will only accept integers between 100 and 999
+.br
+ edit->setValidator( validator );
+.br
+.fi
+.PP
+Below we present some examples of validators. In practice they would normally be associated with a widget as in the example above.
+.PP
+.nf
+.br
+ QString str;
+.br
+ int pos = 0;
+.br
+ QIntValidator v( 100, 999, this );
+.br
+.br
+ str = "1";
+.br
+ v.validate( str, pos ); // returns Intermediate
+.br
+ str = "12";
+.br
+ v.validate( str, pos ); // returns Intermediate
+.br
+.br
+ str = "123";
+.br
+ v.validate( str, pos ); // returns Acceptable
+.br
+ str = "678";
+.br
+ v.validate( str, pos ); // returns Acceptable
+.br
+.br
+ str = "1234";
+.br
+ v.validate( str, pos ); // returns Invalid
+.br
+ str = "-123";
+.br
+ v.validate( str, pos ); // returns Invalid
+.br
+ str = "abc";
+.br
+ v.validate( str, pos ); // returns Invalid
+.br
+ str = "12cm";
+.br
+ v.validate( str, pos ); // returns Invalid
+.br
+.fi
+.PP
+The minimum and maximum values are set in one call with setRange() or individually with setBottom() and setTop().
+.PP
+See also QDoubleValidator, QRegExpValidator, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIntValidator::QIntValidator ( QObject * parent, const char * name = 0 )"
+Constructs a validator called \fIname\fR with parent \fIparent\fR, that accepts all integers.
+.SH "QIntValidator::QIntValidator ( int minimum, int maximum, QObject * parent, const char * name = 0 )"
+Constructs a validator called \fIname\fR with parent \fIparent\fR, that accepts integers from \fIminimum\fR to \fImaximum\fR inclusive.
+.SH "QIntValidator::~QIntValidator ()"
+Destroys the validator, freeing any resources allocated.
+.SH "int QIntValidator::bottom () const"
+Returns the validator's lowest acceptable value. See the "bottom" property for details.
+.SH "void QIntValidator::setBottom ( int )"
+Sets the validator's lowest acceptable value. See the "bottom" property for details.
+.SH "void QIntValidator::setRange ( int bottom, int top )\fC [virtual]\fR"
+Sets the range of the validator to only accept integers between \fIbottom\fR and \fItop\fR inclusive.
+.SH "void QIntValidator::setTop ( int )"
+Sets the validator's highest acceptable value. See the "top" property for details.
+.SH "int QIntValidator::top () const"
+Returns the validator's highest acceptable value. See the "top" property for details.
+.SH "QValidator::State QIntValidator::validate ( QString & input, int & ) const\fC [virtual]\fR"
+Returns Acceptable if the \fIinput\fR is an integer within the valid range, Intermediate if the \fIinput\fR is an integer outside the valid range and Invalid if the \fIinput\fR is not an integer.
+.PP
+Note: If the valid range consists of just positive integers (e.g. 32 - 100) and \fIinput\fR is a negative integer then Invalid is returned.
+.PP
+.nf
+.br
+ int pos = 0;
+.br
+ s = "abc";
+.br
+ v.validate( s, pos ); // returns Invalid
+.br
+.br
+ s = "5";
+.br
+ v.validate( s, pos ); // returns Intermediate
+.br
+.br
+ s = "50";
+.br
+ v.validate( s, pos ); // returns Valid
+.br
+.fi
+.PP
+Reimplemented from QValidator.
+.SS "Property Documentation"
+.SH "int bottom"
+This property holds the validator's lowest acceptable value.
+.PP
+Set this property's value with setBottom() and get this property's value with bottom().
+.PP
+See also setRange().
+.SH "int top"
+This property holds the validator's highest acceptable value.
+.PP
+Set this property's value with setTop() and get this property's value with top().
+.PP
+See also setRange().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qintvalidator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qintvalidator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qiodevice.3qt b/doc/man/man3/qiodevice.3qt
new file mode 100644
index 0000000..d842452
--- /dev/null
+++ b/doc/man/man3/qiodevice.3qt
@@ -0,0 +1,551 @@
+'\" t
+.TH QIODevice 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QIODevice \- The base class of I/O devices
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qiodevice.h>\fR
+.PP
+Inherited by QBuffer, QFile, QSocket, and QSocketDevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef Q_ULONG \fBOffset\fR"
+.br
+.ti -1c
+.BI "\fBQIODevice\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QIODevice\fR ()"
+.br
+.ti -1c
+.BI "int \fBflags\fR () const"
+.br
+.ti -1c
+.BI "int \fBmode\fR () const"
+.br
+.ti -1c
+.BI "int \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDirectAccess\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSequentialAccess\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisCombinedAccess\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisBuffered\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRaw\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSynchronous\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAsynchronous\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisTranslated\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisReadable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisWritable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisReadWrite\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisInactive\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR () const"
+.br
+.ti -1c
+.BI "int \fBstatus\fR () const"
+.br
+.ti -1c
+.BI "void \fBresetStatus\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBopen\fR ( int mode ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBclose\fR () = 0"
+.br
+.ti -1c
+.BI "virtual void \fBflush\fR () = 0"
+.br
+.ti -1c
+.BI "virtual Offset \fBsize\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual Offset \fBat\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBat\fR ( Offset pos )"
+.br
+.ti -1c
+.BI "virtual bool \fBatEnd\fR () const"
+.br
+.ti -1c
+.BI "bool \fBreset\fR ()"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBreadBlock\fR ( char * data, Q_ULONG maxlen ) = 0"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * data, Q_ULONG len ) = 0"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBreadLine\fR ( char * data, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "Q_LONG \fBwriteBlock\fR ( const QByteArray & data )"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBreadAll\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBgetch\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBputch\fR ( int ch ) = 0"
+.br
+.ti -1c
+.BI "virtual int \fBungetch\fR ( int ch ) = 0"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetFlags\fR ( int flags )"
+.br
+.ti -1c
+.BI "void \fBsetType\fR ( int type )"
+.br
+.ti -1c
+.BI "void \fBsetMode\fR ( int mode )"
+.br
+.ti -1c
+.BI "void \fBsetState\fR ( int state )"
+.br
+.ti -1c
+.BI "void \fBsetStatus\fR ( int s )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QIODevice class is the base class of I/O devices.
+.PP
+An I/O device represents a medium that one can read bytes from and/or write bytes to. The QIODevice class is the abstract superclass of all such devices; classes such as QFile, QBuffer and QSocket inherit QIODevice and implement virtual functions such as write() appropriately.
+.PP
+Although applications sometimes use QIODevice directly, it is usually better to use QTextStream and QDataStream, which provide stream operations on any QIODevice subclass. QTextStream provides text-oriented stream functionality (for human-readable ASCII files, for example), whereas QDataStream deals with binary data in a totally platform-independent manner.
+.PP
+The public member functions in QIODevice roughly fall into two groups: the action functions and the state access functions. The most important action functions are:
+.IP
+.TP
+open() opens a device for reading and/or writing, depending on the mode argument.
+.IP
+.TP
+close() closes the device and tidies up (e.g. flushes buffered data)
+.IP
+.TP
+readBlock() reads a block of data from the device.
+.IP
+.TP
+writeBlock() writes a block of data to the device.
+.IP
+.TP
+readLine() reads a line (of text, usually) from the device.
+.IP
+.TP
+flush() ensures that all buffered data are written to the real device.
+.IP
+.PP
+There are also some other, less used, action functions:
+.IP
+.TP
+getch() reads a single character.
+.IP
+.TP
+ungetch() forgets the last call to getch(), if possible.
+.IP
+.TP
+putch() writes a single character.
+.IP
+.TP
+size() returns the size of the device, if there is one.
+.IP
+.TP
+at() returns the current read/write pointer's position, if there is one for this device, or it moves the pointer if given an offset.
+.IP
+.TP
+atEnd() indicates whether there is more to read, if this is meaningful for this device.
+.IP
+.TP
+reset() moves the read/write pointer to the start of the device, if that is possible for this device.
+.IP
+.PP
+The state access are all "get" functions. The QIODevice subclass calls setState() to update the state, and simple access functions tell the user of the device what the device's state is. Here are the settings, and their associated access functions:
+.IP
+.TP
+Access type. Some devices are direct access (it is possible to read/write anywhere), whereas others are sequential. QIODevice provides the access functions (isDirectAccess(), isSequentialAccess(), and isCombinedAccess()) to tell users what a given I/O device supports.
+.IP
+.TP
+Buffering. Some devices are accessed in raw mode, whereas others are buffered. Buffering usually provides greater efficiency, particularly for small read/write operations. isBuffered() tells the user whether a given device is buffered. (This can often be set by the application in the call to open().)
+.IP
+.TP
+Synchronicity. Synchronous devices work immediately (for example, files). When you read from a file, the file delivers its data straight away. Other kinds of device, such as a socket connected to a HTTP server, may not deliver the data until seconds after you ask to read it. isSynchronous() and isAsynchronous() tell the user how this device operates.
+.IP
+.TP
+CR/LF translation. For simplicity, applications often like to see just a single CR/LF style, and QIODevice subclasses can provide this. isTranslated() returns TRUE if this object translates CR/LF to just LF. (This can often be set by the application in the call to open().)
+.IP
+.TP
+Permissions. Some files cannot be written. For example, isReadable(), isWritable() and isReadWrite() tell the application whether it can read from and write to a given device. (This can often be set by the application in the call to open().)
+.IP
+.TP
+Finally, isOpen() returns TRUE if the device is open, i.e. after an open() call.
+.IP
+.PP
+QIODevice provides numerous pure virtual functions that you need to implement when subclassing it. Here is a skeleton subclass with all the members you are sure to need and some that you will probably need:
+.PP
+.nf
+.br
+ class MyDevice : public QIODevice
+.br
+ {
+.br
+ public:
+.br
+ MyDevice();
+.br
+ ~MyDevice();
+.br
+.br
+ bool open( int mode );
+.br
+ void close();
+.br
+ void flush();
+.br
+.br
+ uint size() const;
+.br
+ int at() const; // non-pure virtual
+.br
+ bool at( int ); // non-pure virtual
+.br
+ bool atEnd() const; // non-pure virtual
+.br
+.br
+ int readBlock( char *data, uint maxlen );
+.br
+ int writeBlock( const char *data, uint len );
+.br
+ int readLine( char *data, uint maxlen );
+.br
+.br
+ int getch();
+.br
+ int putch( int );
+.br
+ int ungetch( int );
+.br
+ };
+.br
+.fi
+.PP
+The three non-pure virtual functions need not be reimplemented for sequential devices.
+.PP
+See also QDataStream, QTextStream, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QIODevice::Offset"
+The offset within the device.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QIODevice::QIODevice ()"
+Constructs an I/O device.
+.SH "QIODevice::~QIODevice ()\fC [virtual]\fR"
+Destroys the I/O device.
+.SH "Offset QIODevice::at () const\fC [virtual]\fR"
+Virtual function that returns the current I/O device position.
+.PP
+This is the position of the data read/write head of the I/O device.
+.PP
+See also size().
+.PP
+Example: distributor/distributor.ui.h.
+.PP
+Reimplemented in QSocket.
+.SH "bool QIODevice::at ( Offset pos )\fC [virtual]\fR"
+Virtual function that sets the I/O device position to \fIpos\fR. Returns TRUE if the position was successfully set, i.e. \fIpos\fR is within range and the seek was successful; otherwise returns FALSE.
+.PP
+See also size().
+.PP
+Reimplemented in QSocket.
+.SH "bool QIODevice::atEnd () const\fC [virtual]\fR"
+Virtual function that returns TRUE if the I/O device position is at the end of the input; otherwise returns FALSE.
+.PP
+Reimplemented in QFile and QSocket.
+.SH "void QIODevice::close ()\fC [pure virtual]\fR"
+Closes the I/O device.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also open().
+.PP
+Example: grapher/grapher.cpp.
+.PP
+Reimplemented in QFile and QSocket.
+.SH "int QIODevice::flags () const"
+Returns the current I/O device flags setting.
+.PP
+Flags consists of mode flags and state flags.
+.PP
+See also mode() and state().
+.SH "void QIODevice::flush ()\fC [pure virtual]\fR"
+Flushes an open I/O device.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+Reimplemented in QFile and QSocket.
+.SH "int QIODevice::getch ()\fC [pure virtual]\fR"
+Reads a single byte/character from the I/O device.
+.PP
+Returns the byte/character read, or -1 if the end of the I/O device has been reached.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also putch() and ungetch().
+.PP
+Reimplemented in QFile and QSocket.
+.SH "bool QIODevice::isAsynchronous () const"
+Returns TRUE if the device is an asynchronous device; otherwise returns FALSE, i.e. if the device is a synchronous device.
+.PP
+This mode is currently not in use.
+.PP
+See also isSynchronous().
+.SH "bool QIODevice::isBuffered () const"
+Returns TRUE if the I/O device is a buffered device; otherwise returns FALSE, i.e. the device is a raw device.
+.PP
+See also isRaw().
+.SH "bool QIODevice::isCombinedAccess () const"
+Returns TRUE if the I/O device is a combined access (both direct and sequential) device; otherwise returns FALSE.
+.PP
+This access method is currently not in use.
+.SH "bool QIODevice::isDirectAccess () const"
+Returns TRUE if the I/O device is a direct access device; otherwise returns FALSE, i.e. if the device is a sequential access device.
+.PP
+See also isSequentialAccess().
+.SH "bool QIODevice::isInactive () const"
+Returns TRUE if the I/O device state is 0, i.e. the device is not open; otherwise returns FALSE.
+.PP
+See also isOpen().
+.SH "bool QIODevice::isOpen () const"
+Returns TRUE if the I/O device has been opened; otherwise returns FALSE.
+.PP
+See also isInactive().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "bool QIODevice::isRaw () const"
+Returns TRUE if the device is a raw device; otherwise returns FALSE, i.e. if the device is a buffered device.
+.PP
+See also isBuffered().
+.SH "bool QIODevice::isReadWrite () const"
+Returns TRUE if the I/O device was opened using IO_ReadWrite mode; otherwise returns FALSE.
+.PP
+See also isReadable() and isWritable().
+.SH "bool QIODevice::isReadable () const"
+Returns TRUE if the I/O device was opened using IO_ReadOnly or IO_ReadWrite mode; otherwise returns FALSE.
+.PP
+See also isWritable() and isReadWrite().
+.SH "bool QIODevice::isSequentialAccess () const"
+Returns TRUE if the device is a sequential access device; otherwise returns FALSE, i.e. if the device is a direct access device.
+.PP
+Operations involving size() and at(int) are not valid on sequential devices.
+.PP
+See also isDirectAccess().
+.SH "bool QIODevice::isSynchronous () const"
+Returns TRUE if the I/O device is a synchronous device; otherwise returns FALSE, i.e. the device is an asynchronous device.
+.PP
+See also isAsynchronous().
+.SH "bool QIODevice::isTranslated () const"
+Returns TRUE if the I/O device translates carriage-return and linefeed characters; otherwise returns FALSE.
+.PP
+A QFile is translated if it is opened with the IO_Translate mode flag.
+.SH "bool QIODevice::isWritable () const"
+Returns TRUE if the I/O device was opened using IO_WriteOnly or IO_ReadWrite mode; otherwise returns FALSE.
+.PP
+See also isReadable() and isReadWrite().
+.SH "int QIODevice::mode () const"
+Returns bits OR'ed together that specify the current operation mode.
+.PP
+These are the flags that were given to the open() function.
+.PP
+The flags are IO_ReadOnly, IO_WriteOnly, IO_ReadWrite, IO_Append, IO_Truncate and IO_Translate.
+.SH "bool QIODevice::open ( int mode )\fC [pure virtual]\fR"
+Opens the I/O device using the specified \fImode\fR. Returns TRUE if the device was successfully opened; otherwise returns FALSE.
+.PP
+The mode parameter \fImode\fR must be an OR'ed combination of the following flags. <center>.nf
+.TS
+l - l. Mode flags Meaning IO_Raw specifies raw (unbuffered) file access. IO_ReadOnly opens a file in read-only mode. IO_WriteOnly opens a file in write-only mode. IO_ReadWrite opens a file in read/write mode. IO_Append sets the file index to the end of the file. IO_Truncate truncates the file. IO_Translate
+.TE
+.fi
+</center>
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also close().
+.PP
+Example: grapher/grapher.cpp.
+.PP
+Reimplemented in QFile and QSocket.
+.SH "int QIODevice::putch ( int ch )\fC [pure virtual]\fR"
+Writes the character \fIch\fR to the I/O device.
+.PP
+Returns \fIch\fR, or -1 if an error occurred.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also getch() and ungetch().
+.PP
+Example: grapher/grapher.cpp.
+.PP
+Reimplemented in QFile and QSocket.
+.SH "QByteArray QIODevice::readAll ()\fC [virtual]\fR"
+This convenience function returns all of the remaining data in the device.
+.SH "Q_LONG QIODevice::readBlock ( char * data, Q_ULONG maxlen )\fC [pure virtual]\fR"
+Reads at most \fImaxlen\fR bytes from the I/O device into \fIdata\fR and returns the number of bytes actually read.
+.PP
+This function should return -1 if a fatal error occurs and should return 0 if there are no bytes to read.
+.PP
+The device must be opened for reading, and \fIdata\fR must not be 0.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also writeBlock(), isOpen(), and isReadable().
+.PP
+Example: distributor/distributor.ui.h.
+.PP
+Reimplemented in QSocket and QSocketDevice.
+.SH "Q_LONG QIODevice::readLine ( char * data, Q_ULONG maxlen )\fC [virtual]\fR"
+Reads a line of text, (or up to \fImaxlen\fR bytes if a newline isn't encountered) plus a terminating '&#92;0' into \fIdata\fR. If there is a newline at the end if the line, it is not stripped.
+.PP
+Returns the number of bytes read including the terminating '&#92;0', or -1 if an error occurred.
+.PP
+This virtual function can be reimplemented much more efficiently by the most subclasses.
+.PP
+See also readBlock() and QTextStream::readLine().
+.PP
+Reimplemented in QFile.
+.SH "bool QIODevice::reset ()"
+Sets the device index position to 0.
+.PP
+See also at().
+.SH "void QIODevice::resetStatus ()"
+Sets the I/O device status to IO_Ok.
+.PP
+See also status().
+.SH "void QIODevice::setFlags ( int flags )\fC [protected]\fR"
+Used by subclasses to set the device flags to the \fIflags\fR specified.
+.SH "void QIODevice::setMode ( int mode )\fC [protected]\fR"
+Used by subclasses to set the device mode to the \fImode\fR specified.
+.SH "void QIODevice::setState ( int state )\fC [protected]\fR"
+Used by subclasses to set the device state to the \fIstate\fR specified.
+.SH "void QIODevice::setStatus ( int s )\fC [protected]\fR"
+Used by subclasses to set the device status (not state) to \fIs\fR.
+.SH "void QIODevice::setType ( int type )\fC [protected]\fR"
+Used by subclasses to set the device type to the \fItype\fR specified.
+.SH "Offset QIODevice::size () const\fC [pure virtual]\fR"
+Virtual function that returns the size of the I/O device.
+.PP
+See also at().
+.PP
+Reimplemented in QFile and QSocket.
+.SH "int QIODevice::state () const"
+Returns bits OR'ed together that specify the current state.
+.PP
+The flags are: \fCIO_Open\fR.
+.PP
+Subclasses may define additional flags.
+.SH "int QIODevice::status () const"
+Returns the I/O device status.
+.PP
+The I/O device status returns an error code. If open() returns FALSE or readBlock() or writeBlock() return -1, this function can be called to find out the reason why the operation failed.
+.PP
+
+.PP
+The status codes are: <center>.nf
+.TS
+l - l. Status code Meaning IO_Ok The operation was successful. IO_ReadError Could not read from the device. IO_WriteError Could not write to the device. IO_FatalError A fatal unrecoverable error occurred. IO_OpenError Could not open the device. IO_ConnectError Could not connect to the device. IO_AbortError The operation was unexpectedly aborted. IO_TimeOutError The operation timed out. IO_UnspecifiedError
+.TE
+.fi
+</center>
+.PP
+See also resetStatus().
+.SH "int QIODevice::ungetch ( int ch )\fC [pure virtual]\fR"
+Puts the character \fIch\fR back into the I/O device and decrements the index position if it is not zero.
+.PP
+This function is normally called to "undo" a getch() operation.
+.PP
+Returns \fIch\fR, or -1 if an error occurred.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also getch() and putch().
+.PP
+Reimplemented in QFile and QSocket.
+.SH "Q_LONG QIODevice::writeBlock ( const char * data, Q_ULONG len )\fC [pure virtual]\fR"
+Writes \fIlen\fR bytes from \fIdata\fR to the I/O device and returns the number of bytes actually written.
+.PP
+This function should return -1 if a fatal error occurs.
+.PP
+This virtual function must be reimplemented by all subclasses.
+.PP
+See also readBlock().
+.PP
+Example: distributor/distributor.ui.h.
+.PP
+Reimplemented in QBuffer, QSocket, and QSocketDevice.
+.SH "Q_LONG QIODevice::writeBlock ( const QByteArray & data )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This convenience function is the same as calling writeBlock(
+data.data(), data.size() ).
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qiodevice.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qiodevice.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qjiscodec.3qt b/doc/man/man3/qjiscodec.3qt
new file mode 100644
index 0000000..e68ee8d
--- /dev/null
+++ b/doc/man/man3/qjiscodec.3qt
@@ -0,0 +1,96 @@
+'\" t
+.TH QJisCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QJisCodec \- Conversion to and from JIS character sets
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qjiscodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QJisCodec class provides conversion to and from JIS character sets.
+.PP
+More precisely, the QJisCodec class subclasses QTextCodec to provide support for JIS X 0201 Latin, JIS X 0201 Kana, JIS X 0208 and JIS X 0212.
+.PP
+The environment variable UNICODEMAP_JP can be used to fine-tune QJisCodec, QSjisCodec and QEucJpCodec. The mapping names are as for the Japanese XML working group's XML Japanese Profile, because it names and explains all the widely used mappings. Here are brief descriptions, written by Serika Kurusugawa:
+.IP
+.TP
+"unicode-0.9" or "unicode-0201" for Unicode style. This assumes JISX0201 for 0x00-0x7f. (0.9 is a table version of jisx02xx mapping used for Uniocde spec version 1.1.)
+.IP
+.TP
+"unicode-ascii" This assumes US-ASCII for 0x00-0x7f; some chars (JISX0208 0x2140 and JISX0212 0x2237) are different from Unicode 1.1 to avoid conflict.
+.IP
+.TP
+"open-19970715-0201" ("open-0201" for convenience) or" jisx0221-1995" for JISX0221-JISX0201 style. JIS X 0221 is JIS version of Unicode, but a few chars (0x5c, 0x7e, 0x2140, 0x216f, 0x2131) are different from Unicode 1.1. This is used when 0x5c is treated as YEN SIGN.
+.IP
+.TP
+"open-19970715-ascii" ("open-ascii" for convenience) for JISX0221-ASCII style. This is used when 0x5c is treated as REVERSE SOLIDUS.
+.IP
+.TP
+"open-19970715-ms" ("open-ms" for convenience) or "cp932" for Microsoft Windows style. Windows Code Page 932. Some chars (0x2140, 0x2141, 0x2142, 0x215d, 0x2171, 0x2172) are different from Unicode 1.1.
+.IP
+.TP
+"jdk1.1.7" for Sun's JDK style. Same as Unicode 1.1, except that JIS 0x2140 is mapped to UFF3C. Either ASCII or JISX0201 can be used for 0x00-0x7f.
+.IP
+.PP
+In addition, the extensions "nec-vdc", "ibm-vdc" and "udc" are supported.
+.PP
+For example, if you want to use Unicode style conversion but with NEC's extension, set \fCUNICODEMAP_JP\fR to <nobr>\fCunicode-0.9, nec-vdc\fR.</nobr> (You will probably need to quote that in a shell command.)
+.PP
+Most of the code here was written by Serika Kurusugawa, a.k.a. Junji Takagi, and is included in Qt with the author's permission and the grateful thanks of the Trolltech team. Here is the copyright statement for that code:
+.PP
+Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.TP
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.TP
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS". ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "const char * QJisCodec::mimeName () const\fC [virtual]\fR"
+Returns the codec's mime name.
+.PP
+Reimplemented from QTextCodec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qjiscodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qjiscodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qkbddriverfactory.3qt b/doc/man/man3/qkbddriverfactory.3qt
new file mode 100644
index 0000000..9fa5e26
--- /dev/null
+++ b/doc/man/man3/qkbddriverfactory.3qt
@@ -0,0 +1,59 @@
+'\" t
+.TH QKbdDriverFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QKbdDriverFactory \- Creates QWSKeyboardHandler objects for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qkbddriverfactory_qws.h>\fR
+.PP
+.SS "Static Public Members"
+<li class=fn>QStringList \fBkeys\fR () <li class=fn>QWSKeyboardHandler * \fBcreate\fR ( const QString & key, const QString & device )
+.SH DESCRIPTION
+The QKbdDriverFactory class creates QWSKeyboardHandler objects for Qt/Embedded.
+.PP
+The graphics driver factory creates a QWSKeyboardHandler object for a given key with QKbdDriverFactory::create(key).
+.PP
+The drivers are either built-in or dynamically loaded from a driver plugin (see QKbdDriverPlugin).
+.PP
+This class is only available in Qt/Embedded.
+.PP
+QKbdDriverFactory::keys() returns a list of valid keys.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSKeyboardHandler * QKbdDriverFactory::create ( const QString & key, const QString & device )\fC [static]\fR"
+Creates a QWSKeyboardHandler object that matches \fIkey\fR for device \fIdevice\fR. This is either a built-in driver, or a driver from a driver plugin.
+.PP
+See also keys().
+.SH "QStringList QKbdDriverFactory::keys ()\fC [static]\fR"
+Returns the list of keys this factory can create drivers for.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qkbddriverfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qkbddriverfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qkbddriverplugin.3qt b/doc/man/man3/qkbddriverplugin.3qt
new file mode 100644
index 0000000..05d942b
--- /dev/null
+++ b/doc/man/man3/qkbddriverplugin.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QKbdDriverPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QKbdDriverPlugin \- Abstract base for Qt/Embedded keyboard driver plugins
+.SH SYNOPSIS
+\fC#include <qkbddriverplugin_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQKbdDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QKbdDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QWSKeyboardHandler * \fBcreate\fR ( const QString & driver, const QString & device ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QKbdDriverPlugin class provides an abstract base for Qt/Embedded keyboard driver plugins.
+.PP
+The keyboard driver plugin is a simple plugin interface that makes it easy to create custom keyboard drivers.
+.PP
+Writing a keyboard driver plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and create(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the Plugins documentation for details.
+.PP
+This class is only available in Qt/Embedded.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QKbdDriverPlugin::QKbdDriverPlugin ()"
+Constructs a keyboard driver plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QKbdDriverPlugin::~QKbdDriverPlugin ()"
+Destroys the keyboard driver plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QWSKeyboardHandler * QKbdDriverPlugin::create ( const QString & driver, const QString & device )\fC [pure virtual]\fR"
+Creates a driver matching the type specified by \fIdriver\fR and \fIdevice\fR.
+.PP
+See also keys().
+.SH "QStringList QKbdDriverPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of keyboard drivers this plugin supports.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qkbddriverplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qkbddriverplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qkeyevent.3qt b/doc/man/man3/qkeyevent.3qt
new file mode 100644
index 0000000..589f13d
--- /dev/null
+++ b/doc/man/man3/qkeyevent.3qt
@@ -0,0 +1,155 @@
+'\" t
+.TH QKeyEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QKeyEvent \- Describes a key event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQKeyEvent\fR ( Type type, int key, int ascii, int state, const QString & text = QString::null, bool autorep = FALSE, ushort count = 1 )"
+.br
+.ti -1c
+.BI "int \fBkey\fR () const"
+.br
+.ti -1c
+.BI "int \fBascii\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstateAfter\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAutoRepeat\fR () const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QKeyEvent class contains describes a key event.
+.PP
+Key events occur when a key is pressed or released when a widget has keyboard input focus.
+.PP
+A key event contains a special accept flag that indicates whether the receiver wants the key event. You should call QKeyEvent::ignore() if the key press or release event is not handled by your widget. A key event is propagated up the parent widget chain until a widget accepts it with QKeyEvent::accept() or an event filter consumes it. Key events for multi media keys are ignored by default. You should call QKeyEvent::accept() if your widget handles those events.
+.PP
+The QWidget::setEnable() function can be used to enable or disable mouse and keyboard events for a widget.
+.PP
+The event handlers QWidget::keyPressEvent() and QWidget::keyReleaseEvent() receive key events.
+.PP
+See also QFocusEvent, QWidget::grabKeyboard(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QKeyEvent::QKeyEvent ( Type type, int key, int ascii, int state, const QString & text = QString::null, bool autorep = FALSE, ushort count = 1 )"
+Constructs a key event object.
+.PP
+The \fItype\fR parameter must be QEvent::KeyPress or QEvent::KeyRelease. If \fIkey\fR is 0 the event is not a result of a known key (e.g. it may be the result of a compose sequence or keyboard macro). \fIascii\fR is the ASCII code of the key that was pressed or released. \fIstate\fR holds the keyboard modifiers. \fItext\fR is the Unicode text that the key generated. If \fIautorep\fR is TRUE, isAutoRepeat() will be TRUE. \fIcount\fR is the number of single keys.
+.PP
+The accept flag is set to TRUE.
+.SH "void QKeyEvent::accept ()"
+Sets the accept flag of the key event object.
+.PP
+Setting the accept parameter indicates that the receiver of the event wants the key event. Unwanted key events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also ignore().
+.SH "int QKeyEvent::ascii () const"
+Returns the ASCII code of the key that was pressed or released. We recommend using text() instead.
+.PP
+See also text().
+.PP
+Example: picture/picture.cpp.
+.SH "int QKeyEvent::count () const"
+Returns the number of single keys for this event. If text() is not empty, this is simply the length of the string.
+.PP
+See also QWidget::setKeyCompression().
+.SH "void QKeyEvent::ignore ()"
+Clears the accept flag parameter of the key event object.
+.PP
+Clearing the accept parameter indicates that the event receiver does not want the key event. Unwanted key events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also accept().
+.SH "bool QKeyEvent::isAccepted () const"
+Returns TRUE if the receiver of the event wants to keep the key; otherwise returns FALSE
+.SH "bool QKeyEvent::isAutoRepeat () const"
+Returns TRUE if this event comes from an auto-repeating key and FALSE if it comes from an initial key press.
+.PP
+Note that if the event is a multiple-key compressed event that is partly due to auto-repeat, this function could return either TRUE or FALSE indeterminately.
+.SH "int QKeyEvent::key () const"
+Returns the code of the key that was pressed or released.
+.PP
+See Qt::Key for the list of keyboard codes. These codes are independent of the underlying window system.
+.PP
+A value of either 0 or Key_unknown means that the event is not the result of a known key (e.g. it may be the result of a compose sequence or a keyboard macro, or due to key event compression).
+.PP
+See also QWidget::setKeyCompression().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "ButtonState QKeyEvent::state () const"
+Returns the keyboard modifier flags that existed immediately before the event occurred.
+.PP
+The returned value is ShiftButton, ControlButton, AltButton and MetaButton OR'ed together.
+.PP
+See also stateAfter().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "ButtonState QKeyEvent::stateAfter () const"
+Returns the keyboard modifier flags that existed immediately after the event occurred.
+.PP
+\fBWarning:\fR This function cannot be trusted.
+.PP
+See also state().
+.SH "QString QKeyEvent::text () const"
+Returns the Unicode text that this key generated. The text returned migth be empty, which is the case when pressing or releasing modifying keys as Shift, Control, Alt and Meta. In these cases key() will contain a valid value.
+.PP
+See also QWidget::setKeyCompression().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qkeyevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qkeyevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qkeysequence.3qt b/doc/man/man3/qkeysequence.3qt
new file mode 100644
index 0000000..e09b3cd
--- /dev/null
+++ b/doc/man/man3/qkeysequence.3qt
@@ -0,0 +1,169 @@
+'\" t
+.TH QKeySequence 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QKeySequence \- Encapsulates a key sequence as used by accelerators
+.SH SYNOPSIS
+\fC#include <qkeysequence.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQKeySequence\fR ()"
+.br
+.ti -1c
+.BI "\fBQKeySequence\fR ( const QString & key )"
+.br
+.ti -1c
+.BI "\fBQKeySequence\fR ( int key )"
+.br
+.ti -1c
+.BI "\fBQKeySequence\fR ( int k1, int k2, int k3 = 0, int k4 = 0 )"
+.br
+.ti -1c
+.BI "\fBQKeySequence\fR ( const QKeySequence & keysequence )"
+.br
+.ti -1c
+.BI "\fB~QKeySequence\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "Qt::SequenceMatch \fBmatches\fR ( const QKeySequence & seq ) const"
+.br
+.ti -1c
+.BI "\fBoperator QString\fR () const"
+.br
+.ti -1c
+.BI "operator int () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBoperator[]\fR ( uint index ) const"
+.br
+.ti -1c
+.BI "QKeySequence & \fBoperator=\fR ( const QKeySequence & keysequence )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QKeySequence & keysequence ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QKeySequence & keysequence ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QKeySequence & keysequence )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QKeySequence & keysequence )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QKeySequence class encapsulates a key sequence as used by accelerators.
+.PP
+A key sequence consists of up to four keyboard codes, each optionally combined with modifiers, e.g. SHIFT, CTRL, ALT, META, or UNICODE_ACCEL. For example, \fCCTRL + Key_P\fR might be a sequence used as a shortcut for printing a document. The key codes are listed in qnamespace.h. As an alternative, use UNICODE_ACCEL with the unicode code point of the character. For example, \fCUNICODE_ACCEL + 'A'\fR gives the same key sequence as Key_A.
+.PP
+Key sequences can be constructed either from an integer key code, or from a human readable translatable string such as" Ctrl+X,Alt+Space". A key sequence can be cast to a QString to obtain a human readable translated version of the sequence. Translations are done in the "QAccel" context.
+.PP
+See also QAccel and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QKeySequence::QKeySequence ()"
+Constructs an empty key sequence.
+.SH "QKeySequence::QKeySequence ( const QString & key )"
+Creates a key sequence from the string \fIkey\fR. For example" Ctrl+O" gives CTRL+UNICODE_ACCEL+'O'. The strings "Ctrl"," Shift", "Alt" and "Meta" are recognized, as well as their translated equivalents in the "QAccel" context (using QObject::tr()).
+.PP
+Multiple key codes (up to four) may be entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".
+.PP
+This contructor is typically used with tr(), so that accelerator keys can be replaced in translations:
+.PP
+.nf
+.br
+ QPopupMenu *file = new QPopupMenu( this );
+.br
+ file->insertItem( tr("&Open..."), this, SLOT(open()),
+.br
+ QKeySequence( tr("Ctrl+O", "File|Open") ) );
+.br
+.fi
+.PP
+Note the \fC"File|Open"\fR translator comment. It is by no means necessary, but it provides some context for the human translator.
+.SH "QKeySequence::QKeySequence ( int key )"
+Constructs a key sequence that has a single \fIkey\fR.
+.PP
+The key codes are listed in qnamespace.h and can be combined with modifiers, e.g. with SHIFT, CTRL, ALT, META or UNICODE_ACCEL.
+.SH "QKeySequence::QKeySequence ( int k1, int k2, int k3 = 0, int k4 = 0 )"
+Constructs a key sequence with up to 4 keys \fIk1\fR, \fIk2\fR, \fIk3\fR and \fIk4\fR.
+.PP
+The key codes are listed in qnamespace.h and can be combined with modifiers, e.g. with SHIFT, CTRL, ALT, META or UNICODE_ACCEL.
+.SH "QKeySequence::QKeySequence ( const QKeySequence & keysequence )"
+Copy constructor. Makes a copy of \fIkeysequence\fR.
+.SH "QKeySequence::~QKeySequence ()"
+Destroys the key sequence.
+.SH "uint QKeySequence::count () const"
+Returns the number of keys in the key sequence. The maximum is 4.
+.SH "bool QKeySequence::isEmpty () const"
+Returns TRUE if the key sequence is empty; otherwise returns FALSE.
+.SH "Qt::SequenceMatch QKeySequence::matches ( const QKeySequence & seq ) const"
+Matches the sequence with \fIseq\fR. Returns Qt::Identical if successful, Qt::PartialMatch for matching but incomplete \fIseq\fR, and Qt::NoMatch if the sequences have nothing in common. Returns Qt::NoMatch if \fIseq\fR is shorter.
+.SH "QKeySequence::operator QString () const"
+Creates an accelerator string for the key sequence. For instance CTRL+Key_O gives "Ctrl+O". If the key sequence has multiple key codes they are returned comma-separated, e.g." Alt+X, Ctrl+Y, Z". The strings, "Ctrl", "Shift", etc. are translated (using QObject::tr()) in the "QAccel" scope. If the key sequence has no keys, QString::null is returned.
+.PP
+On Mac OS X, the string returned resembles the sequence that is shown in the menubar.
+.SH "QKeySequence::operator int () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+For backward compatibility: returns the first keycode as integer. If the key sequence is empty, 0 is returned.
+.SH "bool QKeySequence::operator!= ( const QKeySequence & keysequence ) const"
+Returns TRUE if \fIkeysequence\fR is not equal to this key sequence; otherwise returns FALSE.
+.SH "QKeySequence & QKeySequence::operator= ( const QKeySequence & keysequence )"
+Assignment operator. Assigns \fIkeysequence\fR to this object.
+.SH "bool QKeySequence::operator== ( const QKeySequence & keysequence ) const"
+Returns TRUE if \fIkeysequence\fR is equal to this key sequence; otherwise returns FALSE.
+.SH "int QKeySequence::operator[] ( uint index ) const"
+Returns a reference to the element at position \fIindex\fR in the key sequence. This can only be used to read an element.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QKeySequence & keysequence )"
+Writes the key sequence \fIkeysequence\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QKeySequence & keysequence )"
+Reads a key sequence from the stream \fIs\fR into the key sequence \fIkeysequence\fR.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qkeysequence.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qkeysequence.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlabel.3qt b/doc/man/man3/qlabel.3qt
new file mode 100644
index 0000000..61f5350
--- /dev/null
+++ b/doc/man/man3/qlabel.3qt
@@ -0,0 +1,435 @@
+'\" t
+.TH QLabel 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLabel \- Text or image display
+.SH SYNOPSIS
+\fC#include <qlabel.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLabel\fR ( QWidget * parent, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQLabel\fR ( const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQLabel\fR ( QWidget * buddy, const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QLabel\fR ()"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "QPicture * \fBpicture\fR () const"
+.br
+.ti -1c
+.BI "QMovie * \fBmovie\fR () const"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTextFormat\fR ( TextFormat )"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAlignment\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBindent\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIndent\fR ( int )"
+.br
+.ti -1c
+.BI "bool autoResize () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void setAutoResize ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBhasScaledContents\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetScaledContents\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetBuddy\fR ( QWidget * buddy )"
+.br
+.ti -1c
+.BI "QWidget * \fBbuddy\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & f )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPicture\fR ( const QPicture & picture )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMovie\fR ( const QMovie & movie )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNum\fR ( int num )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNum\fR ( double num )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "Alignment \fBalignment\fR - the alignment of the label's contents"
+.br
+.ti -1c
+.BI "BackgroundMode \fBbackgroundMode\fR - the label's background mode \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBindent\fR - the label's text indent in pixels"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR - the label's pixmap"
+.br
+.ti -1c
+.BI "bool \fBscaledContents\fR - whether the label will scale its contents to fill all available space"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the label's text"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR - the label's text format"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLabel widget provides a text or image display.
+.PP
+QLabel is used for displaying text or an image. No user interaction functionality is provided. The visual appearance of the label can be configured in various ways, and it can be used for specifying a focus accelerator key for another widget.
+.PP
+A QLabel can contain any of the following content types: <center>.nf
+.TS
+l - l. Content Setting Plain text Pass a QString to setText(). Rich text Pass a QString that contains rich text to setText(). A pixmap Pass a QPixmap to setPixmap(). A movie Pass a QMovie to setMovie(). A number Pass an \fIint\fR or a \fIdouble\fR to setNum(), which converts the number to plain text. Nothing
+.TE
+.fi
+</center>
+.PP
+When the content is changed using any of these functions, any previous content is cleared.
+.PP
+The look of a QLabel can be tuned in several ways. All the settings of QFrame are available for specifying a widget frame. The positioning of the content within the QLabel widget area can be tuned with setAlignment() and setIndent(). For example, this code sets up a sunken panel with a two-line text in the bottom right corner (both lines being flush with the right side of the label):
+.PP
+.nf
+.br
+ QLabel *label = new QLabel( this );
+.br
+ label->setFrameStyle( QFrame::Panel | QFrame::Sunken );
+.br
+ label->setText( "first line\\nsecond line" );
+.br
+ label->setAlignment( AlignBottom | AlignRight );
+.br
+.fi
+.PP
+A QLabel is often used as a label for an interactive widget. For this use QLabel provides a useful mechanism for adding an accelerator key (see QAccel) that will set the keyboard focus to the other widget (called the QLabel's "buddy"). For example:
+.PP
+.nf
+.br
+ QLineEdit* phoneEdit = new QLineEdit( this, "phoneEdit" );
+.br
+ QLabel* phoneLabel = new QLabel( phoneEdit, "&Phone:", this, "phoneLabel" );
+.br
+.fi
+.PP
+In this example, keyboard focus is transferred to the label's buddy (the QLineEdit) when the user presses Alt+P. You can also use the setBuddy() function to accomplish the same thing.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QLineEdit, QTextEdit, QPixmap, QMovie, GUI Design Handbook: Label, Basic Widgets, and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLabel::QLabel ( QWidget * parent, const char * name = 0, WFlags f = 0 )"
+Constructs an empty label.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag \fIf\fR, arguments are passed to the QFrame constructor.
+.PP
+See also alignment, setFrameStyle(), and indent.
+.SH "QLabel::QLabel ( const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 )"
+Constructs a label that displays the text, \fItext\fR.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag \fIf\fR, arguments are passed to the QFrame constructor.
+.PP
+See also text, alignment, setFrameStyle(), and indent.
+.SH "QLabel::QLabel ( QWidget * buddy, const QString & text, QWidget * parent, const char * name = 0, WFlags f = 0 )"
+Constructs a label that displays the text \fItext\fR. The label has a buddy widget, \fIbuddy\fR.
+.PP
+If the \fItext\fR contains an underlined letter (a letter preceded by an ampersand, &), and the text is in plain text format, when the user presses Alt+ the underlined letter, focus is passed to the buddy widget.
+.PP
+The \fIparent\fR, \fIname\fR and widget flag, \fIf\fR, arguments are passed to the QFrame constructor.
+.PP
+See also text, setBuddy(), alignment, setFrameStyle(), and indent.
+.SH "QLabel::~QLabel ()"
+Destroys the label.
+.SH "int QLabel::alignment () const"
+Returns the alignment of the label's contents. See the "alignment" property for details.
+.SH "bool QLabel::autoResize () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if auto-resizing is enabled, or FALSE if auto-resizing is disabled.
+.PP
+Auto-resizing is disabled by default.
+.PP
+See also setAutoResize().
+.SH "QWidget * QLabel::buddy () const"
+Returns this label's buddy, or 0 if no buddy is currently set.
+.PP
+See also setBuddy().
+.SH "void QLabel::clear ()\fC [slot]\fR"
+Clears any label contents. Equivalent to setText( "" ).
+.SH "void QLabel::drawContents ( QPainter * p )\fC [virtual protected]\fR"
+Draws the label contents using the painter \fIp\fR.
+.PP
+Reimplemented from QFrame.
+.SH "bool QLabel::hasScaledContents () const"
+Returns TRUE if the label will scale its contents to fill all available space; otherwise returns FALSE. See the "scaledContents" property for details.
+.SH "int QLabel::indent () const"
+Returns the label's text indent in pixels. See the "indent" property for details.
+.SH "QMovie * QLabel::movie () const"
+Returns a pointer to the label's movie, or 0 if no movie has been set.
+.PP
+See also setMovie().
+.SH "QPicture * QLabel::picture () const"
+Returns the label's picture or 0 if the label doesn't have a picture.
+.SH "QPixmap * QLabel::pixmap () const"
+Returns the label's pixmap. See the "pixmap" property for details.
+.SH "void QLabel::setAlignment ( int )\fC [virtual]\fR"
+Sets the alignment of the label's contents. See the "alignment" property for details.
+.SH "void QLabel::setAutoResize ( bool enable )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Enables auto-resizing if \fIenable\fR is TRUE, or disables it if \fIenable\fR is FALSE.
+.PP
+When auto-resizing is enabled the label will resize itself to fit the contents whenever the contents change. The top-left corner is not moved. This is useful for QLabel widgets that are not managed by a QLayout (e.g., top-level widgets).
+.PP
+Auto-resizing is disabled by default.
+.PP
+See also autoResize(), adjustSize(), and sizeHint.
+.SH "void QLabel::setBuddy ( QWidget * buddy )\fC [virtual]\fR"
+Sets this label's buddy to \fIbuddy\fR.
+.PP
+When the user presses the accelerator key indicated by this label, the keyboard focus is transferred to the label's buddy widget.
+.PP
+The buddy mechanism is only available for QLabels that contain plain text in which one letter is prefixed with an ampersand, &. This letter is set as the accelerator key. The letter is displayed underlined, and the '&' is not displayed (i.e. the ShowPrefix alignment flag is turned on; see setAlignment()).
+.PP
+In a dialog, you might create two data entry widgets and a label for each, and set up the geometry layout so each label is just to the left of its data entry widget (its "buddy"), for example:
+.PP
+.nf
+.br
+ QLineEdit *nameEd = new QLineEdit( this );
+.br
+ QLabel *nameLb = new QLabel( "&Name:", this );
+.br
+ nameLb->setBuddy( nameEd );
+.br
+ QLineEdit *phoneEd = new QLineEdit( this );
+.br
+ QLabel *phoneLb = new QLabel( "&Phone:", this );
+.br
+ phoneLb->setBuddy( phoneEd );
+.br
+ // ( layout setup not shown )
+.br
+.fi
+.PP
+With the code above, the focus jumps to the Name field when the user presses Alt+N, and to the Phone field when the user presses Alt+P.
+.PP
+To unset a previously set buddy, call this function with \fIbuddy\fR set to 0.
+.PP
+See also buddy(), text, QAccel, and alignment.
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, chart/optionsform.cpp, and regexptester/regexptester.cpp.
+.SH "void QLabel::setFont ( const QFont & f )\fC [virtual]\fR"
+Sets the font used on the QLabel to font \fIf\fR.
+.PP
+Example: menu/menu.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QLabel::setIndent ( int )"
+Sets the label's text indent in pixels. See the "indent" property for details.
+.SH "void QLabel::setMovie ( const QMovie & movie )\fC [virtual slot]\fR"
+Sets the label contents to \fImovie\fR. Any previous content is cleared.
+.PP
+The buddy accelerator, if any, is disabled.
+.PP
+The label resizes itself if auto-resizing is enabled.
+.PP
+See also movie() and setBuddy().
+.SH "void QLabel::setNum ( int num )\fC [virtual slot]\fR"
+Sets the label contents to plain text containing the textual representation of integer \fInum\fR. Any previous content is cleared. Does nothing if the integer's string representation is the same as the current contents of the label.
+.PP
+The buddy accelerator, if any, is disabled.
+.PP
+The label resizes itself if auto-resizing is enabled.
+.PP
+See also text, QString::setNum(), and setBuddy().
+.SH "void QLabel::setNum ( double num )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the label contents to plain text containing the textual representation of double \fInum\fR. Any previous content is cleared. Does nothing if the double's string representation is the same as the current contents of the label.
+.PP
+The buddy accelerator, if any, is disabled.
+.PP
+The label resizes itself if auto-resizing is enabled.
+.PP
+See also text, QString::setNum(), and setBuddy().
+.SH "void QLabel::setPicture ( const QPicture & picture )\fC [virtual slot]\fR"
+Sets the label contents to \fIpicture\fR. Any previous content is cleared.
+.PP
+The buddy accelerator, if any, is disabled.
+.PP
+See also picture() and setBuddy().
+.SH "void QLabel::setPixmap ( const QPixmap & )\fC [virtual slot]\fR"
+Sets the label's pixmap. See the "pixmap" property for details.
+.SH "void QLabel::setScaledContents ( bool )"
+Sets whether the label will scale its contents to fill all available space. See the "scaledContents" property for details.
+.SH "void QLabel::setText ( const QString & )\fC [virtual slot]\fR"
+Sets the label's text. See the "text" property for details.
+.SH "void QLabel::setTextFormat ( TextFormat )"
+Sets the label's text format. See the "textFormat" property for details.
+.SH "QString QLabel::text () const"
+Returns the label's text. See the "text" property for details.
+.SH "TextFormat QLabel::textFormat () const"
+Returns the label's text format. See the "textFormat" property for details.
+.SS "Property Documentation"
+.SH "Alignment alignment"
+This property holds the alignment of the label's contents.
+.PP
+The alignment is a bitwise OR of Qt::AlignmentFlags and Qt::TextFlags values. The ExpandTabs, SingleLine and ShowPrefix flags apply only if the label contains plain text; otherwise they are ignored. The DontClip flag is always ignored. WordBreak applies to both rich text and plain text labels. The BreakAnywhere flag is not supported in QLabel.
+.PP
+If the label has a buddy, the ShowPrefix flag is forced to TRUE.
+.PP
+The default alignment is \fCAlignAuto | AlignVCenter | ExpandTabs\fR if the label doesn't have a buddy and \fCAlignAuto | AlignVCenter | ExpandTabs | ShowPrefix\fR if the label has a buddy. If the label contains rich text, additionally WordBreak is turned on.
+.PP
+See also Qt::AlignmentFlags, setBuddy(), and text.
+.PP
+Set this property's value with setAlignment() and get this property's value with alignment().
+.SH "BackgroundMode backgroundMode"
+This property holds the label's background mode.
+.PP
+Get this property with backgroundMode().
+.PP
+See also QWidget::backgroundMode.
+.SH "int indent"
+This property holds the label's text indent in pixels.
+.PP
+If a label displays text, the indent applies to the left edge if alignment() is AlignLeft, to the right edge if alignment() is AlignRight, to the top edge if alignment() is AlignTop, and to to the bottom edge if alignment() is AlignBottom.
+.PP
+If indent is negative, or if no indent has been set, the label computes the effective indent as follows: If frameWidth() is 0, the effective indent becomes 0. If frameWidth() is greater than 0, the effective indent becomes half the width of the "x" character of the widget's current font().
+.PP
+See also alignment, frameWidth, and font.
+.PP
+Set this property's value with setIndent() and get this property's value with indent().
+.SH "QPixmap pixmap"
+This property holds the label's pixmap.
+.PP
+If no pixmap has been set this will return an invalid pixmap.
+.PP
+Setting the pixmap clears any previous content, and resizes the label if QLabel::autoResize() is TRUE. The buddy accelerator, if any, is disabled.
+.PP
+Set this property's value with setPixmap() and get this property's value with pixmap().
+.SH "bool scaledContents"
+This property holds whether the label will scale its contents to fill all available space.
+.PP
+When enabled and the label shows a pixmap, it will scale the pixmap to fill the available space.
+.PP
+This property's default is FALSE.
+.PP
+See also scaledContents.
+.PP
+Set this property's value with setScaledContents() and get this property's value with hasScaledContents().
+.SH "QString text"
+This property holds the label's text.
+.PP
+If no text has been set this will return an empty string. Setting the text clears any previous content, unless they are the same.
+.PP
+The text will be interpreted either as a plain text or as a rich text, depending on the text format setting; see setTextFormat(). The default setting is AutoText, i.e. QLabel will try to auto-detect the format of the text set.
+.PP
+If the text is interpreted as a plain text and a buddy has been set, the buddy accelerator key is updated from the new text.
+.PP
+The label resizes itself if auto-resizing is enabled.
+.PP
+Note that Qlabel is well-suited to display small rich text documents, i.e. those small documents that get their document specific settings (font, text color, link color) from the label's palette and font properties. For large documents, use QTextEdit in read-only mode instead. QTextEdit will flicker less on resize and can also provide a scrollbar when necessary.
+.PP
+See also textFormat, setBuddy(), and alignment.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "TextFormat textFormat"
+This property holds the label's text format.
+.PP
+See the Qt::TextFormat enum for an explanation of the possible options.
+.PP
+The default format is AutoText.
+.PP
+See also text.
+.PP
+Set this property's value with setTextFormat() and get this property's value with textFormat().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlabel.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlabel.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlayout.3qt b/doc/man/man3/qlayout.3qt
new file mode 100644
index 0000000..e1a65c6
--- /dev/null
+++ b/doc/man/man3/qlayout.3qt
@@ -0,0 +1,408 @@
+'\" t
+.TH QLayout 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLayout \- The base class of geometry managers
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QObject and QLayoutItem.
+.PP
+Inherited by QGridLayout and QBoxLayout.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBResizeMode\fR { FreeResize, Minimum, Fixed, Auto }"
+.br
+.ti -1c
+.BI "\fBQLayout\fR ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQLayout\fR ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQLayout\fR ( int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "int \fBmargin\fR () const"
+.br
+.ti -1c
+.BI "int \fBspacing\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMargin\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSpacing\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetResizeMode\fR ( ResizeMode )"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMenuBar\fR ( QMenuBar * w )"
+.br
+.ti -1c
+.BI "QMenuBar * \fBmenuBar\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBmainWidget\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisTopLevel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoAdd\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBautoAdd\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBinvalidate\fR ()"
+.br
+.ti -1c
+.BI "bool \fBactivate\fR ()"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual void \fBaddItem\fR ( QLayoutItem * item ) = 0"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( QLayoutItem * item )"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r ) = 0"
+.br
+.ti -1c
+.BI "virtual QLayoutIterator \fBiterator\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsupportsMargin\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBmargin\fR - the width of the outside border of the layout"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR - the resize mode of the layout"
+.br
+.ti -1c
+.BI "int \fBspacing\fR - the spacing between widgets inside the layout"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBaddChildLayout\fR ( QLayout * l )"
+.br
+.ti -1c
+.BI "void \fBdeleteAllItems\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetSupportsMargin\fR ( bool b )"
+.br
+.ti -1c
+.BI "QRect \fBalignmentRect\fR ( const QRect & r ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLayout class is the base class of geometry managers.
+.PP
+This is an abstract base class inherited by the concrete classes, QBoxLayout and QGridLayout.
+.PP
+For users of QLayout subclasses or of QMainWindow there is seldom any need to use the basic functions provided by QLayout, such as setResizeMode() or setMenuBar(). See the layout overview page for more information.
+.PP
+To make your own layout manager, subclass QGLayoutIterator and implement the functions addItem(), sizeHint(), setGeometry(), and iterator(). You should also implement minimumSize() to ensure your layout isn't resized to zero size if there is too little space. To support children whose heights depend on their widths, implement hasHeightForWidth() and heightForWidth(). See the custom layout page for an in-depth description.
+.PP
+Geometry management stops when the layout manager is deleted.
+.PP
+See also Widget Appearance and Style and Layout Management.
+.SS "Member Type Documentation"
+.SH "QLayout::ResizeMode"
+The possible values are:
+.TP
+\fCQLayout::Auto\fR - If the main widget is a top-level widget with no height-for-width (hasHeightForWidth()), this is the same as \fCMinimium\fR; otherwise, this is the same as FreeResize.
+.TP
+\fCQLayout::Fixed\fR - The main widget's size is set to sizeHint(); it cannot be resized at all.
+.TP
+\fCQLayout::Minimum\fR - The main widget's minimum size is set to minimumSize(); it cannot be smaller.
+.TP
+\fCQLayout::FreeResize\fR - The widget is not constrained.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLayout::QLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+Constructs a new top-level QLayout called \fIname\fR, with main widget \fIparent\fR. \fIparent\fR may not be 0.
+.PP
+The \fImargin\fR is the number of pixels between the edge of the widget and the managed children. The \fIspacing\fR sets the value of spacing(), which gives the spacing between the managed widgets. If \fIspacing\fR is -1 (the default), spacing is set to the value of \fImargin\fR.
+.PP
+There can be only one top-level layout for a widget. It is returned by QWidget::layout()
+.SH "QLayout::QLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+Constructs a new child QLayout called \fIname\fR, and places it inside \fIparentLayout\fR by using the default placement defined by addItem().
+.PP
+If \fIspacing\fR is -1, this QLayout inherits \fIparentLayout\fR's spacing(), otherwise the value of \fIspacing\fR is used.
+.SH "QLayout::QLayout ( int spacing = -1, const char * name = 0 )"
+Constructs a new child QLayout called \fIname\fR. If \fIspacing\fR is -1, this QLayout inherits its parent's spacing(); otherwise the value of \fIspacing\fR is used.
+.PP
+This layout has to be inserted into another layout before geometry management will work.
+.SH "bool QLayout::activate ()"
+Redoes the layout for mainWidget(). You should generally not need to call this because it is automatically called at the most appropriate times.
+.PP
+However, if you set up a QLayout for a visible widget without resizing that widget, you will need to call this function in order to lay it out.
+.PP
+See also QWidget::updateGeometry().
+.PP
+Examples:
+.)l layout/layout.cpp, popup/popup.cpp, scrollview/scrollview.cpp, and sql/overview/form1/main.cpp.
+.SH "void QLayout::add ( QWidget * w )"
+Adds widget \fIw\fR to this layout in a manner specific to the layout. This function uses addItem().
+.PP
+Examples:
+.)l customlayout/border.cpp and customlayout/main.cpp.
+.SH "void QLayout::addChildLayout ( QLayout * l )\fC [protected]\fR"
+This function is called from addLayout() functions in subclasses to add layout \fIl\fR as a sub-layout.
+.SH "void QLayout::addItem ( QLayoutItem * item )\fC [pure virtual]\fR"
+Implemented in subclasses to add an \fIitem\fR. How it is added is specific to each subclass.
+.PP
+The ownership of \fIitem\fR is transferred to the layout, and it's the layout's responsibility to delete it.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "QRect QLayout::alignmentRect ( const QRect & r ) const\fC [protected]\fR"
+Returns the rectangle that should be covered when the geometry of this layout is set to \fIr\fR, provided that this layout supports setAlignment().
+.PP
+The result is derived from sizeHint() and expanding(). It is never larger than \fIr\fR.
+.SH "bool QLayout::autoAdd () const"
+Returns TRUE if this layout automatically grabs all new mainWidget()'s new children and adds them as defined by addItem(); otherwise returns FALSE. This has effect only for top-level layouts, i.e. layouts that are direct children of their mainWidget().
+.PP
+autoAdd() is disabled by default.
+.PP
+Note that a top-level layout is not necessarily associated with the top-level widget.
+.PP
+See also setAutoAdd().
+.SH "void QLayout::deleteAllItems ()\fC [protected]\fR"
+Removes and deletes all items in this layout.
+.SH "QSizePolicy::ExpandData QLayout::expanding () const\fC [virtual]\fR"
+Returns whether this layout can make use of more space than sizeHint(). A value of Vertical or Horizontal means that it wants to grow in only one dimension, whereas \fCBothDirections\fR means that it wants to grow in both dimensions.
+.PP
+The default implementation returns \fCBothDirections\fR.
+.PP
+Examples:
+.)l customlayout/border.cpp and customlayout/flow.cpp.
+.PP
+Reimplemented from QLayoutItem.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "void QLayout::invalidate ()\fC [virtual]\fR"
+Invalidates cached information. Reimplementations must call this.
+.PP
+Reimplemented from QLayoutItem.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "bool QLayout::isEmpty () const\fC [virtual]\fR"
+Returns TRUE if this layout is empty. The default implementation returns FALSE.
+.PP
+Reimplemented from QLayoutItem.
+.SH "bool QLayout::isEnabled () const"
+Returns TRUE if the layout is enabled; otherwise returns FALSE.
+.PP
+See also setEnabled().
+.SH "bool QLayout::isTopLevel () const"
+Returns TRUE if this layout is a top-level layout, i.e. not a child of another layout; otherwise returns FALSE.
+.SH "QLayoutIterator QLayout::iterator ()\fC [pure virtual]\fR"
+Implemented in subclasses to return an iterator that iterates over this layout's children.
+.PP
+A typical implementation will be:
+.PP
+.nf
+.br
+ QLayoutIterator MyLayout::iterator()
+.br
+ {
+.br
+ QGLayoutIterator *i = new MyLayoutIterator( internal_data );
+.br
+ return QLayoutIterator( i );
+.br
+ }
+.br
+.fi
+where MyLayoutIterator is a subclass of QGLayoutIterator.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QWidget * QLayout::mainWidget ()"
+Returns the main widget (parent widget) of this layout, or 0 if this layout is a sub-layout that is not yet inserted.
+.SH "int QLayout::margin () const"
+Returns the width of the outside border of the layout. See the "margin" property for details.
+.SH "QSize QLayout::maximumSize () const\fC [virtual]\fR"
+Returns the maximum size of this layout. This is the largest size that the layout can have while still respecting the specifications. Does not include what's needed by margin() or menuBar().
+.PP
+The default implementation allows unlimited resizing.
+.PP
+Reimplemented from QLayoutItem.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "QMenuBar * QLayout::menuBar () const"
+Returns the menu bar set for this layout, or 0 if no menu bar is set.
+.SH "QSize QLayout::minimumSize () const\fC [virtual]\fR"
+Returns the minimum size of this layout. This is the smallest size that the layout can have while still respecting the specifications. Does not include what's needed by margin() or menuBar().
+.PP
+The default implementation allows unlimited resizing.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented from QLayoutItem.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "void QLayout::remove ( QWidget * widget )"
+Removes the widget \fIwidget\fR from the layout. After this call, it is the caller's responsibility to give the widget a reasonable geometry or to put the widget back into a layout.
+.PP
+See also removeItem(), QWidget::geometry, and add().
+.SH "void QLayout::removeItem ( QLayoutItem * item )"
+Removes the layout item \fIitem\fR from the layout. It is the caller's responsibility to delete the item.
+.PP
+Notice that \fIitem\fR can be a layout (since QLayout inherits QLayoutItem).
+.PP
+See also remove() and addItem().
+.SH "ResizeMode QLayout::resizeMode () const"
+Returns the resize mode of the layout. See the "resizeMode" property for details.
+.SH "void QLayout::setAutoAdd ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE, auto-add is enabled; otherwise auto-add is disabled.
+.PP
+\fBWarning:\fR If auto-add is enabled, you cannot set stretch factors on the child widgets until the widgets are actually inserted in the layout (after control returned to the event loop). We therefore recommend that you avoid the auto-add feature in new programs.
+.PP
+See also autoAdd().
+.PP
+Examples:
+.)l hierarchy/objects.cpp and i18n/main.cpp.
+.SH "void QLayout::setEnabled ( bool enable )"
+Enables this layout if \fIenable\fR is TRUE, otherwise disables it.
+.PP
+An enabled layout adjusts dynamically to changes; a disabled layout acts as if it did not exist.
+.PP
+By default all layouts are enabled.
+.PP
+See also isEnabled().
+.SH "void QLayout::setGeometry ( const QRect & r )\fC [pure virtual]\fR"
+This function is reimplemented in subclasses to perform layout.
+.PP
+The default implementation maintains the geometry() information given by rect \fIr\fR. Reimplementors must call this function.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented from QLayoutItem.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "void QLayout::setMargin ( int )\fC [virtual]\fR"
+Sets the width of the outside border of the layout. See the "margin" property for details.
+.SH "void QLayout::setMenuBar ( QMenuBar * w )\fC [virtual]\fR"
+Makes the geometry manager take account of the menu bar \fIw\fR. All child widgets are placed below the bottom edge of the menu bar.
+.PP
+A menu bar does its own geometry management: never do addWidget() on a QMenuBar.
+.PP
+Examples:
+.)l layout/layout.cpp and scrollview/scrollview.cpp.
+.SH "void QLayout::setResizeMode ( ResizeMode )"
+Sets the resize mode of the layout. See the "resizeMode" property for details.
+.SH "void QLayout::setSpacing ( int )\fC [virtual]\fR"
+Sets the spacing between widgets inside the layout. See the "spacing" property for details.
+.SH "void QLayout::setSupportsMargin ( bool b )\fC [protected]\fR"
+Sets the value returned by supportsMargin(). If \fIb\fR is TRUE, margin() handling is implemented by the subclass. If \fIb\fR is FALSE (the default), QLayout will add margin() around top-level layouts.
+.PP
+If \fIb\fR is TRUE, margin handling needs to be implemented in setGeometry(), maximumSize(), minimumSize(), sizeHint() and heightForWidth().
+.PP
+See also supportsMargin().
+.SH "int QLayout::spacing () const"
+Returns the spacing between widgets inside the layout. See the "spacing" property for details.
+.SH "bool QLayout::supportsMargin () const"
+Returns TRUE if this layout supports QLayout::margin on non-top-level layouts; otherwise returns FALSE.
+.PP
+See also margin.
+.SS "Property Documentation"
+.SH "int margin"
+This property holds the width of the outside border of the layout.
+.PP
+For some layout classes this property has an effect only on top-level layouts; QBoxLayout and QGridLayout support margins for child layouts. The default value is 0.
+.PP
+See also spacing.
+.PP
+Set this property's value with setMargin() and get this property's value with margin().
+.SH "ResizeMode resizeMode"
+This property holds the resize mode of the layout.
+.PP
+The default mode is Auto.
+.PP
+See also QLayout::ResizeMode.
+.PP
+Set this property's value with setResizeMode() and get this property's value with resizeMode().
+.SH "int spacing"
+This property holds the spacing between widgets inside the layout.
+.PP
+The default value is -1, which signifies that the layout's spacing should not override the widget's spacing.
+.PP
+See also margin.
+.PP
+Set this property's value with setSpacing() and get this property's value with spacing().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlayout.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlayout.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlayoutitem.3qt b/doc/man/man3/qlayoutitem.3qt
new file mode 100644
index 0000000..8507047
--- /dev/null
+++ b/doc/man/man3/qlayoutitem.3qt
@@ -0,0 +1,226 @@
+'\" t
+.TH QLayoutItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLayoutItem \- Abstract item that a QLayout manipulates
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherited by QLayout, QSpacerItem, and QWidgetItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLayoutItem\fR ( int alignment = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QLayoutItem\fR ()"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r ) = 0"
+.br
+.ti -1c
+.BI "virtual QRect \fBgeometry\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBisEmpty\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBhasHeightForWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "virtual void \fBinvalidate\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBwidget\fR ()"
+.br
+.ti -1c
+.BI "virtual QLayoutIterator \fBiterator\fR ()"
+.br
+.ti -1c
+.BI "virtual QLayout * \fBlayout\fR ()"
+.br
+.ti -1c
+.BI "virtual QSpacerItem * \fBspacerItem\fR ()"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAlignment\fR ( int a )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLayoutItem class provides an abstract item that a QLayout manipulates.
+.PP
+This is used by custom layouts.
+.PP
+Pure virtual functions are provided to return information about the layout, including, sizeHint(), minimumSize(), maximumSize() and expanding().
+.PP
+The layout's geometry can be set and retrieved with setGeometry() and geometry(), and its alignment with setAlignment() and alignment().
+.PP
+isEmpty() returns whether the layout is empty. iterator() returns an iterator for the layout's children. If the concrete item is a QWidget, it can be retrieved using widget(). Similarly for layout() and spacerItem().
+.PP
+See also QLayout, Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLayoutItem::QLayoutItem ( int alignment = 0 )"
+Constructs a layout item with an \fIalignment\fR that is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.
+.SH "QLayoutItem::~QLayoutItem ()\fC [virtual]\fR"
+Destroys the QLayoutItem.
+.SH "int QLayoutItem::alignment () const"
+Returns the alignment of this item.
+.SH "QSizePolicy::ExpandData QLayoutItem::expanding () const\fC [pure virtual]\fR"
+Implemented in subclasses to return the direction(s) this item" wants" to expand in (if any).
+.PP
+Reimplemented in QLayout, QSpacerItem, and QWidgetItem.
+.SH "QRect QLayoutItem::geometry () const\fC [pure virtual]\fR"
+Returns the rectangle covered by this layout item.
+.PP
+Example: customlayout/border.cpp.
+.SH "bool QLayoutItem::hasHeightForWidth () const\fC [virtual]\fR"
+Returns TRUE if this layout's preferred height depends on its width; otherwise returns FALSE. The default implementation returns FALSE.
+.PP
+Reimplement this function in layout managers that support height for width.
+.PP
+See also heightForWidth() and QWidget::heightForWidth().
+.PP
+Examples:
+.)l customlayout/border.cpp and customlayout/flow.cpp.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "int QLayoutItem::heightForWidth ( int w ) const\fC [virtual]\fR"
+Returns the preferred height for this layout item, given the width \fIw\fR.
+.PP
+The default implementation returns -1, indicating that the preferred height is independent of the width of the item. Using the function hasHeightForWidth() will typically be much faster than calling this function and testing for -1.
+.PP
+Reimplement this function in layout managers that support height for width. A typical implementation will look like this:
+.PP
+.nf
+.br
+ int MyLayout::heightForWidth( int w ) const
+.br
+ {
+.br
+ if ( cache_dirty || cached_width != w ) {
+.br
+ // not all C++ compilers support "mutable"
+.br
+ MyLayout *that = (MyLayout*)this;
+.br
+ int h = calculateHeightForWidth( w );
+.br
+ that->cached_hfw = h;
+.br
+ return h;
+.br
+ }
+.br
+ return cached_hfw;
+.br
+ }
+.br
+.fi
+.PP
+Caching is strongly recommended; without it layout will take exponential time.
+.PP
+See also hasHeightForWidth().
+.PP
+Example: customlayout/flow.cpp.
+.PP
+Reimplemented in QGridLayout and QBoxLayout.
+.SH "void QLayoutItem::invalidate ()\fC [virtual]\fR"
+Invalidates any cached information in this layout item.
+.PP
+Reimplemented in QLayout.
+.SH "bool QLayoutItem::isEmpty () const\fC [pure virtual]\fR"
+Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.
+.PP
+Reimplemented in QLayout, QSpacerItem, and QWidgetItem.
+.SH "QLayoutIterator QLayoutItem::iterator ()\fC [virtual]\fR"
+Returns an iterator over this item's QLayoutItem children. The default implementation returns an empty iterator.
+.PP
+Reimplement this function in subclasses that can have children.
+.PP
+Reimplemented in QLayout.
+.SH "QLayout * QLayoutItem::layout ()\fC [virtual]\fR"
+If this item is a QLayout, it is returned as a QLayout; otherwise 0 is returned. This function provides type-safe casting.
+.SH "QSize QLayoutItem::maximumSize () const\fC [pure virtual]\fR"
+Implemented in subclasses to return the maximum size of this item.
+.PP
+Reimplemented in QLayout, QSpacerItem, and QWidgetItem.
+.SH "QSize QLayoutItem::minimumSize () const\fC [pure virtual]\fR"
+Implemented in subclasses to return the minimum size of this item.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented in QLayout, QSpacerItem, and QWidgetItem.
+.SH "void QLayoutItem::setAlignment ( int a )\fC [virtual]\fR"
+Sets the alignment of this item to \fIa\fR, which is a bitwise OR of the Qt::AlignmentFlags. Not all subclasses support alignment.
+.PP
+Example: chart/optionsform.cpp.
+.SH "void QLayoutItem::setGeometry ( const QRect & r )\fC [pure virtual]\fR"
+Implemented in subclasses to set this item's geometry to \fIr\fR.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented in QLayout, QSpacerItem, and QWidgetItem.
+.SH "QSize QLayoutItem::sizeHint () const\fC [pure virtual]\fR"
+Implemented in subclasses to return the preferred size of this item.
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.PP
+Reimplemented in QSpacerItem, QWidgetItem, QGridLayout, and QBoxLayout.
+.SH "QSpacerItem * QLayoutItem::spacerItem ()\fC [virtual]\fR"
+If this item is a QSpacerItem, it is returned as a QSpacerItem; otherwise 0 is returned. This function provides type-safe casting.
+.SH "QWidget * QLayoutItem::widget ()\fC [virtual]\fR"
+If this item is a QWidget, it is returned as a QWidget; otherwise 0 is returned. This function provides type-safe casting.
+.PP
+Reimplemented in QWidgetItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlayoutitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlayoutitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlayoutiterator.3qt b/doc/man/man3/qlayoutiterator.3qt
new file mode 100644
index 0000000..236cd05
--- /dev/null
+++ b/doc/man/man3/qlayoutiterator.3qt
@@ -0,0 +1,140 @@
+'\" t
+.TH QLayoutIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLayoutIterator \- Iterators over QLayoutItem
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLayoutIterator\fR ( QGLayoutIterator * gi )"
+.br
+.ti -1c
+.BI "\fBQLayoutIterator\fR ( const QLayoutIterator & i )"
+.br
+.ti -1c
+.BI "\fB~QLayoutIterator\fR ()"
+.br
+.ti -1c
+.BI "QLayoutIterator & \fBoperator=\fR ( const QLayoutIterator & i )"
+.br
+.ti -1c
+.BI "QLayoutItem * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "QLayoutItem * \fBcurrent\fR ()"
+.br
+.ti -1c
+.BI "QLayoutItem * \fBtakeCurrent\fR ()"
+.br
+.ti -1c
+.BI "void \fBdeleteCurrent\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLayoutIterator class provides iterators over QLayoutItem.
+.PP
+Use QLayoutItem::iterator() to create an iterator over a layout.
+.PP
+QLayoutIterator uses \fIexplicit\fR sharing with a reference count. If an iterator is copied and one of the copies is modified, both iterators will be modified.
+.PP
+A QLayoutIterator is not protected against changes in its layout. If the layout is modified or deleted the iterator will become invalid. It is not possible to test for validity. It is safe to delete an invalid layout; any other access may lead to an illegal memory reference and the abnormal termination of the program.
+.PP
+Calling takeCurrent() or deleteCurrent() leaves the iterator in a valid state, but may invalidate any other iterators that access the same layout.
+.PP
+The following code will draw a rectangle for each layout item in the layout structure of the widget.
+.PP
+.nf
+.br
+ static void paintLayout( QPainter *p, QLayoutItem *lay )
+.br
+ {
+.br
+ QLayoutIterator it = lay->iterator();
+.br
+ QLayoutItem *child;
+.br
+ while ( (child = it.current()) != 0 ) {
+.br
+ paintLayout( p, child );
+.br
+ ++it;
+.br
+ }
+.br
+ p->drawRect( lay->geometry() );
+.br
+ }
+.br
+ void ExampleWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p( this );
+.br
+ if ( layout() )
+.br
+ paintLayout( &p, layout() );
+.br
+ }
+.br
+.fi
+.PP
+All the functionality of QLayoutIterator is implemented by subclasses of QGLayoutIterator. QLayoutIterator itself is not designed to be subclassed.
+.PP
+See also Widget Appearance and Style and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLayoutIterator::QLayoutIterator ( QGLayoutIterator * gi )"
+Constructs an iterator based on \fIgi\fR. The constructed iterator takes ownership of \fIgi\fR and will delete it.
+.PP
+This constructor is provided for layout implementors. Application programmers should use QLayoutItem::iterator() to create an iterator over a layout.
+.SH "QLayoutIterator::QLayoutIterator ( const QLayoutIterator & i )"
+Creates a shallow copy of \fIi\fR, i.e. if the copy is modified, then the original will also be modified.
+.SH "QLayoutIterator::~QLayoutIterator ()"
+Destroys the iterator.
+.SH "QLayoutItem * QLayoutIterator::current ()"
+Returns the current item, or 0 if there is no current item.
+.SH "void QLayoutIterator::deleteCurrent ()"
+Removes and deletes the current child item from the layout and moves the iterator to the next item. This iterator will still be valid, but any other iterator over the same layout may become invalid.
+.SH "QLayoutItem * QLayoutIterator::operator++ ()"
+Moves the iterator to the next child item and returns that item, or 0 if there is no such item.
+.SH "QLayoutIterator & QLayoutIterator::operator= ( const QLayoutIterator & i )"
+Assigns \fIi\fR to this iterator and returns a reference to this iterator.
+.SH "QLayoutItem * QLayoutIterator::takeCurrent ()"
+Removes the current child item from the layout without deleting
+it, and moves the iterator to the next item. Returns the removed
+item, or 0 if there was no item to be removed. This iterator will
+still be valid, but any other iterator over the same layout may
+become invalid.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlayoutiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlayoutiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlcdnumber.3qt b/doc/man/man3/qlcdnumber.3qt
new file mode 100644
index 0000000..e12d01f
--- /dev/null
+++ b/doc/man/man3/qlcdnumber.3qt
@@ -0,0 +1,335 @@
+'\" t
+.TH QLCDNumber 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLCDNumber \- Displays a number with LCD-like digits
+.SH SYNOPSIS
+\fC#include <qlcdnumber.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLCDNumber\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQLCDNumber\fR ( uint numDigits, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QLCDNumber\fR ()"
+.br
+.ti -1c
+.BI "enum \fBMode\fR { Hex, Dec, Oct, Bin, HEX = Hex, DEC = Dec, OCT = Oct, BIN = Bin }"
+.br
+.ti -1c
+.BI "enum \fBSegmentStyle\fR { Outline, Filled, Flat }"
+.br
+.ti -1c
+.BI "bool \fBsmallDecimalPoint\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumDigits\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumDigits\fR ( int nDigits )"
+.br
+.ti -1c
+.BI "bool \fBcheckOverflow\fR ( double num ) const"
+.br
+.ti -1c
+.BI "bool \fBcheckOverflow\fR ( int num ) const"
+.br
+.ti -1c
+.BI "Mode \fBmode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMode\fR ( Mode )"
+.br
+.ti -1c
+.BI "SegmentStyle \fBsegmentStyle\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSegmentStyle\fR ( SegmentStyle )"
+.br
+.ti -1c
+.BI "double \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "int \fBintValue\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBdisplay\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "void \fBdisplay\fR ( int num )"
+.br
+.ti -1c
+.BI "void \fBdisplay\fR ( double num )"
+.br
+.ti -1c
+.BI "virtual void \fBsetHexMode\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetDecMode\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOctMode\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetBinMode\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetSmallDecimalPoint\fR ( bool )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBoverflow\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBintValue\fR - the displayed value rounded to the nearest integer"
+.br
+.ti -1c
+.BI "Mode \fBmode\fR - the current display mode (number " "base" ")"
+.br
+.ti -1c
+.BI "int \fBnumDigits\fR - the current number of digits displayed"
+.br
+.ti -1c
+.BI "SegmentStyle \fBsegmentStyle\fR - the style of the LCDNumber"
+.br
+.ti -1c
+.BI "bool \fBsmallDecimalPoint\fR - the style of the decimal point"
+.br
+.ti -1c
+.BI "double \fBvalue\fR - the displayed value"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLCDNumber widget displays a number with LCD-like digits.
+.PP
+It can display a number in just about any size. It can display decimal, hexadecimal, octal or binary numbers. It is easy to connect to data sources using the display() slot, which is overloaded to take any of five argument types.
+.PP
+There are also slots to change the base with setMode() and the decimal point with setSmallDecimalPoint().
+.PP
+QLCDNumber emits the overflow() signal when it is asked to display something beyond its range. The range is set by setNumDigits(), but setSmallDecimalPoint() also influences it. If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.
+.PP
+These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, colon, degree sign (which is specified as single quote in the string) and space. QLCDNumber substitutes spaces for illegal characters.
+.PP
+It is not possible to retrieve the contents of a QLCDNumber object, although you can retrieve the numeric value with value(). If you really need the text, we recommend that you connect the signals that feed the display() slot to another slot as well and store the value there.
+.PP
+Incidentally, QLCDNumber is the very oldest part of Qt, tracing back to a BASIC program on the Sinclair Spectrum.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QLabel, QFrame, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QLCDNumber::Mode"
+This type determines how numbers are shown.
+.TP
+\fCQLCDNumber::Hex\fR - Hexadecimal
+.TP
+\fCQLCDNumber::Dec\fR - Decimal
+.TP
+\fCQLCDNumber::Oct\fR - Octal
+.TP
+\fCQLCDNumber::Bin\fR - Binary
+.PP
+If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.
+.SH "QLCDNumber::SegmentStyle"
+This type determines the visual appearance of the QLCDNumber widget.
+.TP
+\fCQLCDNumber::Outline\fR - gives raised segments filled with the background brush.
+.TP
+\fCQLCDNumber::Filled\fR - gives raised segments filled with the foreground brush.
+.TP
+\fCQLCDNumber::Flat\fR - gives flat segments filled with the foreground brush.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLCDNumber::QLCDNumber ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an LCD number, sets the number of digits to 5, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle() is set to Outline.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QFrame constructor.
+.PP
+See also numDigits and smallDecimalPoint.
+.SH "QLCDNumber::QLCDNumber ( uint numDigits, QWidget * parent = 0, const char * name = 0 )"
+Constructs an LCD number, sets the number of digits to \fInumDigits\fR, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle() is set to Outline.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QFrame constructor.
+.PP
+See also numDigits and smallDecimalPoint.
+.SH "QLCDNumber::~QLCDNumber ()"
+Destroys the LCD number.
+.SH "bool QLCDNumber::checkOverflow ( double num ) const"
+Returns TRUE if \fInum\fR is too big to be displayed in its entirety; otherwise returns FALSE.
+.PP
+See also display(), numDigits, and smallDecimalPoint.
+.SH "bool QLCDNumber::checkOverflow ( int num ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fInum\fR is too big to be displayed in its entirety; otherwise returns FALSE.
+.PP
+See also display(), numDigits, and smallDecimalPoint.
+.SH "void QLCDNumber::display ( const QString & s )\fC [slot]\fR"
+Displays the number represented by the string \fIs\fR.
+.PP
+This version of the function disregards mode() and smallDecimalPoint().
+.PP
+These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, colon, degree sign (which is specified as single quote in the string) and space. QLCDNumber substitutes spaces for illegal characters.
+.PP
+Examples:
+.)l rangecontrols/rangecontrols.cpp, t12/lcdrange.cpp, t13/gamebrd.cpp, t5/main.cpp, t6/main.cpp, t7/lcdrange.cpp, and xform/xform.cpp.
+.SH "void QLCDNumber::display ( int num )\fC [slot]\fR"
+Sets the displayed value rounded to the nearest integer to \fInum\fR. See the "intValue" property for details.
+.SH "void QLCDNumber::display ( double num )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Displays the number \fInum\fR.
+.SH "void QLCDNumber::drawContents ( QPainter * p )\fC [virtual protected]\fR"
+Draws the LCD number using painter \fIp\fR. This function is called from QFrame::paintEvent().
+.PP
+Reimplemented from QFrame.
+.SH "int QLCDNumber::intValue () const"
+Returns the displayed value rounded to the nearest integer. See the "intValue" property for details.
+.SH "Mode QLCDNumber::mode () const"
+Returns the current display mode (number base). See the "mode" property for details.
+.SH "int QLCDNumber::numDigits () const"
+Returns the current number of digits displayed. See the "numDigits" property for details.
+.SH "void QLCDNumber::overflow ()\fC [signal]\fR"
+This signal is emitted whenever the QLCDNumber is asked to display a too-large number or a too-long string.
+.PP
+It is never emitted by setNumDigits().
+.SH "SegmentStyle QLCDNumber::segmentStyle () const"
+Returns the style of the LCDNumber. See the "segmentStyle" property for details.
+.SH "void QLCDNumber::setBinMode ()\fC [virtual slot]\fR"
+Calls setMode( BIN ). Provided for convenience (e.g. for connecting buttons to it).
+.PP
+See also mode, setHexMode(), setDecMode(), setOctMode(), and mode.
+.SH "void QLCDNumber::setDecMode ()\fC [virtual slot]\fR"
+Calls setMode( DEC ). Provided for convenience (e.g. for connecting buttons to it).
+.PP
+See also mode, setHexMode(), setOctMode(), setBinMode(), and mode.
+.SH "void QLCDNumber::setHexMode ()\fC [virtual slot]\fR"
+Calls setMode( HEX ). Provided for convenience (e.g. for connecting buttons to it).
+.PP
+See also mode, setDecMode(), setOctMode(), setBinMode(), and mode.
+.SH "void QLCDNumber::setMode ( Mode )\fC [virtual]\fR"
+Sets the current display mode (number base). See the "mode" property for details.
+.SH "void QLCDNumber::setNumDigits ( int nDigits )\fC [virtual]\fR"
+Sets the current number of digits displayed to \fInDigits\fR. See the "numDigits" property for details.
+.SH "void QLCDNumber::setOctMode ()\fC [virtual slot]\fR"
+Calls setMode( OCT ). Provided for convenience (e.g. for connecting buttons to it).
+.PP
+See also mode, setHexMode(), setDecMode(), setBinMode(), and mode.
+.SH "void QLCDNumber::setSegmentStyle ( SegmentStyle )\fC [virtual]\fR"
+Sets the style of the LCDNumber. See the "segmentStyle" property for details.
+.SH "void QLCDNumber::setSmallDecimalPoint ( bool )\fC [virtual slot]\fR"
+Sets the style of the decimal point. See the "smallDecimalPoint" property for details.
+.SH "bool QLCDNumber::smallDecimalPoint () const"
+Returns the style of the decimal point. See the "smallDecimalPoint" property for details.
+.SH "double QLCDNumber::value () const"
+Returns the displayed value. See the "value" property for details.
+.SS "Property Documentation"
+.SH "int intValue"
+This property holds the displayed value rounded to the nearest integer.
+.PP
+This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.
+.PP
+If the displayed value is not a number, the property has a value of 0.
+.PP
+Set this property's value with display() and get this property's value with intValue().
+.SH "Mode mode"
+This property holds the current display mode (number base).
+.PP
+Corresponds to the current display mode, which is one of BIN, OCT, DEC (the default) and HEX. DEC mode can display floating point values, the other modes display the integer equivalent.
+.PP
+See also smallDecimalPoint, setHexMode(), setDecMode(), setOctMode(), and setBinMode().
+.PP
+Set this property's value with setMode() and get this property's value with mode().
+.SH "int numDigits"
+This property holds the current number of digits displayed.
+.PP
+Corresponds to the current number of digits. If QLCDNumber::smallDecimalPoint is FALSE, the decimal point occupies one digit position.
+.PP
+See also smallDecimalPoint.
+.PP
+Set this property's value with setNumDigits() and get this property's value with numDigits().
+.SH "SegmentStyle segmentStyle"
+This property holds the style of the LCDNumber.
+.PP
+<center>.nf
+.TS
+l - l. Style Result Outline Produces raised segments filled with the background color (this is the default). Filled Produces raised segments filled with the foreground color. Flat
+.TE
+.fi
+</center>
+.PP
+Outline and Filled will additionally use QColorGroup::light() and QColorGroup::dark() for shadow effects.
+.PP
+Set this property's value with setSegmentStyle() and get this property's value with segmentStyle().
+.SH "bool smallDecimalPoint"
+This property holds the style of the decimal point.
+.PP
+If TRUE the decimal point is drawn between two digit positions. Otherwise it occupies a digit position of its own, i.e. is drawn in a digit position. The default is FALSE.
+.PP
+The inter-digit space is made slightly wider when the decimal point is drawn between the digits.
+.PP
+See also mode.
+.PP
+Set this property's value with setSmallDecimalPoint() and get this property's value with smallDecimalPoint().
+.SH "double value"
+This property holds the displayed value.
+.PP
+This property corresponds to the current value displayed by the LCDNumber.
+.PP
+If the displayed value is not a number, the property has a value of 0.
+.PP
+Set this property's value with display() and get this property's value with value().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlcdnumber.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlcdnumber.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlibrary.3qt b/doc/man/man3/qlibrary.3qt
new file mode 100644
index 0000000..a93e6e7
--- /dev/null
+++ b/doc/man/man3/qlibrary.3qt
@@ -0,0 +1,280 @@
+'\" t
+.TH QLibrary 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLibrary \- Wrapper for handling shared libraries
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qlibrary.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLibrary\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "virtual \fB~QLibrary\fR ()"
+.br
+.ti -1c
+.BI "void * \fBresolve\fR ( const char * symb )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBunload\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisLoaded\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoUnload\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoUnload\fR ( bool enabled )"
+.br
+.ti -1c
+.BI "QString \fBlibrary\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void * \fBresolve\fR ( const QString & filename, const char * symb )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLibrary class provides a wrapper for handling shared libraries.
+.PP
+An instance of a QLibrary object can handle a single shared library and provide access to the functionality in the library in a platform independent way. If the library is a component server, QLibrary provides access to the exported component and can directly query this component for interfaces.
+.PP
+QLibrary ensures that the shared library is loaded and stays in memory whilst it is in use. QLibrary can also unload the library on destruction and release unused resources.
+.PP
+A typical use of QLibrary is to resolve an exported symbol in a shared object, and to call the function that this symbol represents. This is called "explicit linking" in contrast to" implicit linking", which is done by the link step in the build process when linking an executable against a library.
+.PP
+The following code snippet loads a library, resolves the symbol" mysymbol", and calls the function if everything succeeded. If something went wrong, e.g. the library file does not exist or the symbol is not defined, the function pointer will be 0 and won't be called. When the QLibrary object is destroyed the library will be unloaded, making all references to memory allocated in the library invalid.
+.PP
+.nf
+.br
+ typedef void (*MyPrototype)();
+.br
+ MyPrototype myFunction;
+.br
+.br
+ QLibrary myLib( "mylib" );
+.br
+ myFunction = (MyPrototype) myLib.resolve( "mysymbol" );
+.br
+ if ( myFunction ) {
+.br
+ myFunction();
+.br
+ }
+.br
+.fi
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLibrary::QLibrary ( const QString & filename )"
+Creates a QLibrary object for the shared library \fIfilename\fR. The library will be unloaded in the destructor.
+.PP
+Note that \fIfilename\fR does not need to include the (platform specific) file extension, so calling
+.PP
+.nf
+.br
+ QLibrary lib( "mylib" );
+.br
+.fi
+is equivalent to calling
+.PP
+.nf
+.br
+ QLibrary lib( "mylib.dll" );
+.br
+.fi
+on Windows, and
+.PP
+.nf
+.br
+ QLibrary lib( "libmylib.so" );
+.br
+.fi
+on Unix. Specifying the extension is not recommended, since doing so introduces a platform dependency.
+.PP
+If \fIfilename\fR does not include a path, the library loader will look for the file in the platform specific search paths.
+.PP
+See also load(), unload(), and setAutoUnload().
+.SH "QLibrary::~QLibrary ()\fC [virtual]\fR"
+Deletes the QLibrary object.
+.PP
+The library will be unloaded if autoUnload() is TRUE (the default), otherwise it stays in memory until the application exits.
+.PP
+See also unload() and setAutoUnload().
+.SH "bool QLibrary::autoUnload () const"
+Returns TRUE if the library will be automatically unloaded when this wrapper object is destructed; otherwise returns FALSE. The default is TRUE.
+.PP
+See also setAutoUnload().
+.SH "bool QLibrary::isLoaded () const"
+Returns TRUE if the library is loaded; otherwise returns FALSE.
+.PP
+See also unload().
+.SH "QString QLibrary::library () const"
+Returns the filename of the shared library this QLibrary object handles, including the platform specific file extension.
+.PP
+For example:
+.PP
+.nf
+.br
+ QLibrary lib( "mylib" );
+.br
+ QString str = lib.library();
+.br
+.fi
+will set \fIstr\fR to "mylib.dll" on Windows, and "libmylib.so" on Linux.
+.SH "bool QLibrary::load ()"
+Loads the library. Since resolve() always calls this function before resolving any symbols it is not necessary to call it explicitly. In some situations you might want the library loaded in advance, in which case you would use this function.
+.PP
+On Darwin and Mac OS X this function uses code from dlcompat, part of the OpenDarwin project.
+.PP
+Copyright (c) 2002 Jorge Acereda and Peter O'Gorman
+.PP
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the" Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+.PP
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+.PP
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+.SH "void * QLibrary::resolve ( const char * symb )"
+Returns the address of the exported symbol \fIsymb\fR. The library is loaded if necessary. The function returns 0 if the symbol could not be resolved or the library could not be loaded.
+.PP
+.nf
+.br
+ typedef int (*avgProc)( int, int );
+.br
+.br
+ avgProc avg = (avgProc) library->resolve( "avg" );
+.br
+ if ( avg )
+.br
+ return avg( 5, 8 );
+.br
+ else
+.br
+ return -1;
+.br
+.fi
+.PP
+The symbol must be exported as a C-function from the library. This requires the \fCextern "C"\fR notation if the library is compiled with a C++ compiler. On Windows you also have to explicitly export the function from the DLL using the \fC__declspec(dllexport)\fR compiler directive.
+.PP
+.nf
+.br
+ extern "C" MY_EXPORT_MACRO int avg(int a, int b)
+.br
+ {
+.br
+ return (a + b) / 2;
+.br
+ }
+.br
+.fi
+.PP
+with \fCMY_EXPORT\fR defined as
+.PP
+.nf
+.br
+ #ifdef Q_WS_WIN
+.br
+ # define MY_EXPORT __declspec(dllexport)
+.br
+ #else
+.br
+ # define MY_EXPORT
+.br
+ #endif
+.br
+.fi
+.PP
+On Darwin and Mac OS X this function uses code from dlcompat, part of the OpenDarwin project.
+.PP
+Copyright (c) 2002 Jorge Acereda and Peter O'Gorman
+.PP
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the" Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+.PP
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+.PP
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+.SH "void * QLibrary::resolve ( const QString & filename, const char * symb )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads the library \fIfilename\fR and returns the address of the exported symbol \fIsymb\fR. Note that like the constructor, \fIfilename\fR does not need to include the (platform specific) file extension. The library remains loaded until the process exits.
+.PP
+The function returns 0 if the symbol could not be resolved or the library could not be loaded.
+.PP
+This function is useful only if you want to resolve a single symbol, e.g. a function pointer from a specific library once:
+.PP
+.nf
+.br
+ typedef void (*FunctionType)();
+.br
+ static FunctionType *ptrFunction = 0;
+.br
+ static bool triedResolve = FALSE;
+.br
+ if ( !ptrFunction && !triedResolve )
+.br
+ ptrFunction = QLibrary::resolve( "mylib", "mysymb" );
+.br
+.br
+ if ( ptrFunction )
+.br
+ ptrFunction();
+.br
+ else
+.br
+ ...
+.br
+.fi
+.PP
+If you want to resolve multiple symbols, use a QLibrary object and call the non-static version of resolve().
+.PP
+See also
+.SH "void QLibrary::setAutoUnload ( bool enabled )"
+If \fIenabled\fR is TRUE (the default), the wrapper object is set to automatically unload the library upon destruction. If \fIenabled\fR is FALSE, the wrapper object is not unloaded unless you explicitly call unload().
+.PP
+See also autoUnload().
+.SH "bool QLibrary::unload ()\fC [virtual]\fR"
+Unloads the library and returns TRUE if the library could be unloaded; otherwise returns FALSE.
+.PP
+This function is called by the destructor if autoUnload() is enabled.
+.PP
+See also resolve().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlibrary.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlibrary.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlineedit.3qt b/doc/man/man3/qlineedit.3qt
new file mode 100644
index 0000000..413a538
--- /dev/null
+++ b/doc/man/man3/qlineedit.3qt
@@ -0,0 +1,778 @@
+'\" t
+.TH QLineEdit 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLineEdit \- One-line text editor
+.SH SYNOPSIS
+\fC#include <qlineedit.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLineEdit\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQLineEdit\fR ( const QString & contents, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQLineEdit\fR ( const QString & contents, const QString & inputMask, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QLineEdit\fR ()"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdisplayText\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxLength\fR () const"
+.br
+.ti -1c
+.BI "bool \fBframe\fR () const"
+.br
+.ti -1c
+.BI "enum \fBEchoMode\fR { Normal, NoEcho, Password }"
+.br
+.ti -1c
+.BI "EchoMode \fBechoMode\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "const QValidator * \fBvalidator\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSizeHint\fR () const"
+.br
+.ti -1c
+.BI "int \fBcursorPosition\fR () const"
+.br
+.ti -1c
+.BI "bool validateAndSet ( const QString & newText, int newPos, int newMarkAnchor, int newMarkDrag ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "void cursorLeft ( bool mark, int steps = 1 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void cursorRight ( bool mark, int steps = 1 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBcursorForward\fR ( bool mark, int steps = 1 )"
+.br
+.ti -1c
+.BI "void \fBcursorBackward\fR ( bool mark, int steps = 1 )"
+.br
+.ti -1c
+.BI "void \fBcursorWordForward\fR ( bool mark )"
+.br
+.ti -1c
+.BI "void \fBcursorWordBackward\fR ( bool mark )"
+.br
+.ti -1c
+.BI "void \fBbackspace\fR ()"
+.br
+.ti -1c
+.BI "void \fBdel\fR ()"
+.br
+.ti -1c
+.BI "void \fBhome\fR ( bool mark )"
+.br
+.ti -1c
+.BI "void \fBend\fR ( bool mark )"
+.br
+.ti -1c
+.BI "bool \fBisModified\fR () const"
+.br
+.ti -1c
+.BI "void \fBclearModified\fR ()"
+.br
+.ti -1c
+.BI "bool edited () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setEdited ( bool ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBhasSelectedText\fR () const"
+.br
+.ti -1c
+.BI "QString \fBselectedText\fR () const"
+.br
+.ti -1c
+.BI "int \fBselectionStart\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisUndoAvailable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRedoAvailable\fR () const"
+.br
+.ti -1c
+.BI "bool hasMarkedText () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString markedText () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBdragEnabled\fR () const"
+.br
+.ti -1c
+.BI "QString \fBinputMask\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetInputMask\fR ( const QString & inputMask )"
+.br
+.ti -1c
+.BI "bool \fBhasAcceptableInput\fR () const"
+.br
+.ti -1c
+.BI "int characterAt ( int xpos, QChar * chr ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool getSelection ( int * start, int * end ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdeselect\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearValidator\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsert\fR ( const QString & newText )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBundo\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBredo\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxLength\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFrame\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetEchoMode\fR ( EchoMode )"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadOnly\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetValidator\fR ( const QValidator * v )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelection\fR ( int start, int length )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCursorPosition\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAlignment\fR ( int flag )"
+.br
+.ti -1c
+.BI "virtual void \fBcut\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBpaste\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetDragEnabled\fR ( bool b )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBtextChanged\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBreturnPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBlostFocus\fR ()"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBacceptableInput\fR - whether the input satisfies the inputMask and the validator \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "Alignment \fBalignment\fR - the alignment of the line edit"
+.br
+.ti -1c
+.BI "int \fBcursorPosition\fR - the current cursor position for this line edit"
+.br
+.ti -1c
+.BI "QString \fBdisplayText\fR - the displayed text \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBdragEnabled\fR - whether the lineedit starts a drag if the user presses and moves the mouse on some selected text"
+.br
+.ti -1c
+.BI "EchoMode \fBechoMode\fR - the line edit's echo mode"
+.br
+.ti -1c
+.BI "bool edited - whether the line edit has been edited. Use modified instead \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBframe\fR - whether the line edit draws itself with a frame"
+.br
+.ti -1c
+.BI "bool hasMarkedText - whether part of the text has been selected by the user. Use hasSelectedText instead \fI(read " "only" ")\fR \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBhasSelectedText\fR - whether there is any text selected \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QString \fBinputMask\fR - the validation input mask"
+.br
+.ti -1c
+.BI "QString markedText - the text selected by the user. Use selectedText instead \fI(read " "only" ")\fR \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBmaxLength\fR - the maximum permitted length of the text"
+.br
+.ti -1c
+.BI "bool \fBmodified\fR - whether the line edit's contents has been modified by the user \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBreadOnly\fR - whether the line edit is read only"
+.br
+.ti -1c
+.BI "bool \fBredoAvailable\fR - whether redo is available \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QString \fBselectedText\fR - the selected text \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the line edit's text"
+.br
+.ti -1c
+.BI "bool \fBundoAvailable\fR - whether undo is available \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBkeyPressEvent\fR ( QKeyEvent * e )"
+.br
+.ti -1c
+.BI "virtual QPopupMenu * \fBcreatePopupMenu\fR ()"
+.br
+.ti -1c
+.BI "void repaintArea ( int from, int to ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLineEdit widget is a one-line text editor.
+.PP
+A line edit allows the user to enter and edit a single line of plain text with a useful collection of editing functions, including undo and redo, cut and paste, and drag and drop.
+.PP
+By changing the echoMode() of a line edit, it can also be used as a "write-only" field, for inputs such as passwords.
+.PP
+The length of the text can be constrained to maxLength(). The text can be arbitrarily constrained using a validator() or an inputMask(), or both.
+.PP
+A related class is QTextEdit which allows multi-line, rich-text editing.
+.PP
+You can change the text with setText() or insert(). The text is retrieved with text(); the displayed text (which may be different, see EchoMode) is retrieved with displayText(). Text can be selected with setSelection() or selectAll(), and the selection can be cut(), copy()ied and paste()d. The text can be aligned with setAlignment().
+.PP
+When the text changes the textChanged() signal is emitted; when the Return or Enter key is pressed the returnPressed() signal is emitted. Note that if there is a validator set on the line edit, the returnPressed() signal will only be emitted if the validator returns \fCAcceptable\fR.
+.PP
+By default, QLineEdits have a frame as specified by the Windows and Motif style guides; you can turn it off by calling setFrame(FALSE).
+.PP
+The default key bindings are described below. The line edit also provides a context menu (usually invoked by a right mouse click) that presents some of these editing options. <center>.nf
+.TS
+l - l. Keypress Action Left Arrow Moves the cursor one character to the left. Shift+Left Arrow Moves and selects text one character to the left. Right Arrow Moves the cursor one character to the right. Shift+Right Arrow Moves and selects text one character to the right. Home Moves the cursor to the beginning of the line. End Moves the cursor to the end of the line. Backspace Deletes the character to the left of the cursor. Ctrl+Backspace Deletes the word to the left of the cursor. Delete Deletes the character to the right of the cursor. Ctrl+Delete Deletes the word to the right of the cursor. Ctrl+A Moves the cursor to the beginning of the line. Ctrl+B Moves the cursor one character to the left. Ctrl+C Copies the selected text to the clipboard. (Windows also supports Ctrl+Insert for this operation.) Ctrl+D Deletes the character to the right of the cursor. Ctrl+E Moves the cursor to the end of the line. Ctrl+F Moves the cursor one character to the right. Ctrl+H Deletes the character to the left of the cursor. Ctrl+K Deletes to the end of the line. Ctrl+V Pastes the clipboard text into line edit. (Windows also supports Shift+Insert for this operation.) Ctrl+X Deletes the selected text and copies it to the clipboard. (Windows also supports Shift+Delete for this operation.) Ctrl+Z Undoes the last operation. Ctrl+Y
+.TE
+.fi
+</center>
+.PP
+Any other key sequence that represents a valid character, will cause the character to be inserted into the line edit.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QTextEdit, QLabel, QComboBox, GUI Design Handbook: Field, Entry, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QLineEdit::EchoMode"
+This enum type describes how a line edit should display its contents.
+.TP
+\fCQLineEdit::Normal\fR - Display characters as they are entered. This is the default.
+.TP
+\fCQLineEdit::NoEcho\fR - Do not display anything. This may be appropriate for passwords where even the length of the password should be kept secret.
+.TP
+\fCQLineEdit::Password\fR - Display asterisks instead of the characters actually entered.
+.PP
+See also echoMode and echoMode.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLineEdit::QLineEdit ( QWidget * parent, const char * name = 0 )"
+Constructs a line edit with no text.
+.PP
+The maximum text length is set to 32767 characters.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.PP
+See also text and maxLength.
+.SH "QLineEdit::QLineEdit ( const QString & contents, QWidget * parent, const char * name = 0 )"
+Constructs a line edit containing the text \fIcontents\fR.
+.PP
+The cursor position is set to the end of the line and the maximum text length to 32767 characters.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.PP
+See also text and maxLength.
+.SH "QLineEdit::QLineEdit ( const QString & contents, const QString & inputMask, QWidget * parent, const char * name = 0 )"
+Constructs a line edit with an input \fIinputMask\fR and the text \fIcontents\fR.
+.PP
+The cursor position is set to the end of the line and the maximum text length is set to the length of the mask (the number of mask characters and separators).
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.PP
+See also setMask() and text.
+.SH "QLineEdit::~QLineEdit ()"
+Destroys the line edit.
+.SH "int QLineEdit::alignment () const"
+Returns the alignment of the line edit. See the "alignment" property for details.
+.SH "void QLineEdit::backspace ()"
+If no text is selected, deletes the character to the left of the text cursor and moves the cursor one position to the left. If any text is selected, the cursor is moved to the beginning of the selected text and the selected text is deleted.
+.PP
+See also del().
+.SH "int QLineEdit::characterAt ( int xpos, QChar * chr ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QLineEdit::clear ()\fC [virtual slot]\fR"
+Clears the contents of the line edit.
+.SH "void QLineEdit::clearModified ()"
+Resets the modified flag to FALSE.
+.PP
+See also modified.
+.SH "void QLineEdit::clearValidator ()\fC [virtual slot]\fR"
+This slot is equivalent to setValidator(0).
+.SH "void QLineEdit::copy () const\fC [virtual slot]\fR"
+Copies the selected text to the clipboard, if there is any, and if echoMode() is Normal.
+.PP
+See also cut() and paste().
+.SH "QPopupMenu * QLineEdit::createPopupMenu ()\fC [virtual protected]\fR"
+This function is called to create the popup menu which is shown when the user clicks on the line edit with the right mouse button. If you want to create a custom popup menu, reimplement this function and return the popup menu you create. The popup menu's ownership is transferred to the caller.
+.SH "void QLineEdit::cursorBackward ( bool mark, int steps = 1 )"
+Moves the cursor back \fIsteps\fR characters. If \fImark\fR is TRUE each character moved over is added to the selection; if \fImark\fR is FALSE the selection is cleared.
+.PP
+See also cursorForward().
+.SH "void QLineEdit::cursorForward ( bool mark, int steps = 1 )"
+Moves the cursor forward \fIsteps\fR characters. If \fImark\fR is TRUE each character moved over is added to the selection; if \fImark\fR is FALSE the selection is cleared.
+.PP
+See also cursorBackward().
+.SH "void QLineEdit::cursorLeft ( bool mark, int steps = 1 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+For compatibilty with older applications only. Use cursorBackward() instead.
+.PP
+See also cursorBackward().
+.SH "int QLineEdit::cursorPosition () const"
+Returns the current cursor position for this line edit. See the "cursorPosition" property for details.
+.SH "void QLineEdit::cursorRight ( bool mark, int steps = 1 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use cursorForward() instead.
+.PP
+See also cursorForward().
+.SH "void QLineEdit::cursorWordBackward ( bool mark )"
+Moves the cursor one word backward. If \fImark\fR is TRUE, the word is also selected.
+.PP
+See also cursorWordForward().
+.SH "void QLineEdit::cursorWordForward ( bool mark )"
+Moves the cursor one word forward. If \fImark\fR is TRUE, the word is also selected.
+.PP
+See also cursorWordBackward().
+.SH "void QLineEdit::cut ()\fC [virtual slot]\fR"
+Copies the selected text to the clipboard and deletes it, if there is any, and if echoMode() is Normal.
+.PP
+If the current validator disallows deleting the selected text, cut() will copy without deleting.
+.PP
+See also copy(), paste(), and setValidator().
+.SH "void QLineEdit::del ()"
+If no text is selected, deletes the character to the right of the text cursor. If any text is selected, the cursor is moved to the beginning of the selected text and the selected text is deleted.
+.PP
+See also backspace().
+.SH "void QLineEdit::deselect ()\fC [virtual slot]\fR"
+Deselects any selected text.
+.PP
+See also setSelection() and selectAll().
+.SH "QString QLineEdit::displayText () const"
+Returns the displayed text. See the "displayText" property for details.
+.SH "bool QLineEdit::dragEnabled () const"
+Returns TRUE if the lineedit starts a drag if the user presses and moves the mouse on some selected text; otherwise returns FALSE. See the "dragEnabled" property for details.
+.SH "EchoMode QLineEdit::echoMode () const"
+Returns the line edit's echo mode. See the "echoMode" property for details.
+.SH "bool QLineEdit::edited () const"
+Returns TRUE if the line edit has been edited. Use modified instead; otherwise returns FALSE. See the "edited" property for details.
+.SH "void QLineEdit::end ( bool mark )"
+Moves the text cursor to the end of the line unless it is already there. If \fImark\fR is TRUE, text is selected towards the last position; otherwise, any selected text is unselected if the cursor is moved.
+.PP
+See also home().
+.SH "bool QLineEdit::frame () const"
+Returns TRUE if the line edit draws itself with a frame; otherwise returns FALSE. See the "frame" property for details.
+.SH "bool QLineEdit::getSelection ( int * start, int * end )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. use selectedText(), selectionStart()
+.SH "bool QLineEdit::hasAcceptableInput () const"
+Returns TRUE if the input satisfies the inputMask and the validator; otherwise returns FALSE. See the "acceptableInput" property for details.
+.SH "bool QLineEdit::hasMarkedText () const"
+Returns TRUE if part of the text has been selected by the user. Use hasSelectedText instead; otherwise returns FALSE. See the "hasMarkedText" property for details.
+.SH "bool QLineEdit::hasSelectedText () const"
+Returns TRUE if there is any text selected; otherwise returns FALSE. See the "hasSelectedText" property for details.
+.SH "void QLineEdit::home ( bool mark )"
+Moves the text cursor to the beginning of the line unless it is already there. If \fImark\fR is TRUE, text is selected towards the first position; otherwise, any selected text is unselected if the cursor is moved.
+.PP
+See also end().
+.SH "QString QLineEdit::inputMask () const"
+Returns the validation input mask. See the "inputMask" property for details.
+.SH "void QLineEdit::insert ( const QString & newText )\fC [virtual slot]\fR"
+Deletes any selected text, inserts \fInewText\fR, and validates the result. If it is valid, it sets it as the new contents of the line edit.
+.SH "bool QLineEdit::isModified () const"
+Returns TRUE if the line edit's contents has been modified by the user; otherwise returns FALSE. See the "modified" property for details.
+.SH "bool QLineEdit::isReadOnly () const"
+Returns TRUE if the line edit is read only; otherwise returns FALSE. See the "readOnly" property for details.
+.SH "bool QLineEdit::isRedoAvailable () const"
+Returns TRUE if redo is available; otherwise returns FALSE. See the "redoAvailable" property for details.
+.SH "bool QLineEdit::isUndoAvailable () const"
+Returns TRUE if undo is available; otherwise returns FALSE. See the "undoAvailable" property for details.
+.SH "void QLineEdit::keyPressEvent ( QKeyEvent * e )\fC [virtual protected]\fR"
+Converts key press event \fIe\fR into a line edit action.
+.PP
+If Return or Enter is pressed and the current text is valid (or can be made valid by the validator), the signal returnPressed() is emitted.
+.PP
+The default key bindings are listed in the detailed description.
+.PP
+Reimplemented from QWidget.
+.SH "void QLineEdit::lostFocus ()\fC [signal]\fR"
+This signal is emitted when the line edit has lost focus.
+.PP
+See also focus, QWidget::focusInEvent(), and QWidget::focusOutEvent().
+.SH "QString QLineEdit::markedText () const"
+Returns the text selected by the user. Use selectedText instead. See the "markedText" property for details.
+.SH "int QLineEdit::maxLength () const"
+Returns the maximum permitted length of the text. See the "maxLength" property for details.
+.SH "QSize QLineEdit::minimumSizeHint () const\fC [virtual]\fR"
+Returns a minimum size for the line edit.
+.PP
+The width returned is enough for at least one character.
+.PP
+Reimplemented from QWidget.
+.SH "void QLineEdit::paste ()\fC [virtual slot]\fR"
+Inserts the clipboard's text at the cursor position, deleting any selected text, providing the line edit is not read-only.
+.PP
+If the end result would not be acceptable to the current validator, nothing happens.
+.PP
+See also copy() and cut().
+.SH "void QLineEdit::redo ()\fC [virtual slot]\fR"
+Redoes the last operation if redo is available.
+.SH "void QLineEdit::repaintArea ( int from, int to )\fC [protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Repaints all characters from \fIfrom\fR to \fIto\fR. If cursorPos is between from and to, ensures that cursorPos is visible.
+.SH "void QLineEdit::returnPressed ()\fC [signal]\fR"
+This signal is emitted when the Return or Enter key is pressed. Note that if there is a validator() or inputMask() set on the line edit, the returnPressed() signal will only be emitted if the input follows the inputMask() and the validator() returns \fCAcceptable\fR.
+.PP
+Example: popup/popup.cpp.
+.SH "void QLineEdit::selectAll ()\fC [virtual slot]\fR"
+Selects all the text (i.e. highlights it) and moves the cursor to the end. This is useful when a default value has been inserted because if the user types before clicking on the widget, the selected text will be deleted.
+.PP
+See also setSelection() and deselect().
+.SH "QString QLineEdit::selectedText () const"
+Returns the selected text. See the "selectedText" property for details.
+.SH "void QLineEdit::selectionChanged ()\fC [signal]\fR"
+This signal is emitted whenever the selection changes.
+.PP
+See also hasSelectedText and selectedText.
+.SH "int QLineEdit::selectionStart () const"
+selectionStart() returns the index of the first selected character in the line edit or -1 if no text is selected.
+.PP
+See also selectedText.
+.SH "void QLineEdit::setAlignment ( int flag )\fC [virtual slot]\fR"
+Sets the alignment of the line edit to \fIflag\fR. See the "alignment" property for details.
+.SH "void QLineEdit::setCursorPosition ( int )\fC [virtual slot]\fR"
+Sets the current cursor position for this line edit. See the "cursorPosition" property for details.
+.SH "void QLineEdit::setDragEnabled ( bool b )\fC [virtual slot]\fR"
+Sets whether the lineedit starts a drag if the user presses and moves the mouse on some selected text to \fIb\fR. See the "dragEnabled" property for details.
+.SH "void QLineEdit::setEchoMode ( EchoMode )\fC [virtual slot]\fR"
+Sets the line edit's echo mode. See the "echoMode" property for details.
+.SH "void QLineEdit::setEdited ( bool )"
+Sets whether the line edit has been edited. Use modified instead. See the "edited" property for details.
+.SH "void QLineEdit::setFrame ( bool )\fC [virtual slot]\fR"
+Sets whether the line edit draws itself with a frame. See the "frame" property for details.
+.SH "void QLineEdit::setInputMask ( const QString & inputMask )"
+Sets the validation input mask to \fIinputMask\fR. See the "inputMask" property for details.
+.SH "void QLineEdit::setMaxLength ( int )\fC [virtual slot]\fR"
+Sets the maximum permitted length of the text. See the "maxLength" property for details.
+.SH "void QLineEdit::setReadOnly ( bool )\fC [virtual slot]\fR"
+Sets whether the line edit is read only. See the "readOnly" property for details.
+.SH "void QLineEdit::setSelection ( int start, int length )\fC [virtual slot]\fR"
+Selects text from position \fIstart\fR and for \fIlength\fR characters.
+.PP
+Note that this function sets the cursor's position to the end of the selection regardless of its current position.
+.PP
+See also deselect(), selectAll(), getSelection(), cursorForward(), and cursorBackward().
+.SH "void QLineEdit::setText ( const QString & )\fC [virtual slot]\fR"
+Sets the line edit's text. See the "text" property for details.
+.SH "void QLineEdit::setValidator ( const QValidator * v )\fC [virtual slot]\fR"
+Sets this line edit to only accept input that the validator, \fIv\fR, will accept. This allows you to place any arbitrary constraints on the text which may be entered.
+.PP
+If \fIv\fR == 0, setValidator() removes the current input validator. The initial setting is to have no input validator (i.e. any input is accepted up to maxLength()).
+.PP
+See also validator(), QIntValidator, QDoubleValidator, and QRegExpValidator.
+.PP
+Examples:
+.)l lineedits/lineedits.cpp and wizard/wizard.cpp.
+.SH "QSize QLineEdit::sizeHint () const\fC [virtual]\fR"
+Returns a recommended size for the widget.
+.PP
+The width returned, in pixels, is usually enough for about 15 to 20 characters.
+.PP
+Example: addressbook/centralwidget.cpp.
+.SH "QString QLineEdit::text () const"
+Returns the line edit's text. See the "text" property for details.
+.SH "void QLineEdit::textChanged ( const QString & )\fC [signal]\fR"
+This signal is emitted whenever the text changes. The argument is the new text.
+.PP
+Examples:
+.)l simple/main.cpp, wizard/wizard.cpp, and xform/xform.cpp.
+.SH "void QLineEdit::undo ()\fC [virtual slot]\fR"
+Undoes the last operation if undo is available. Deselects any current selection, and updates the selection start to the current cursor position.
+.SH "bool QLineEdit::validateAndSet ( const QString & newText, int newPos, int newMarkAnchor, int newMarkDrag )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use setText(), setCursorPosition() and setSelection() instead.
+.SH "const QValidator * QLineEdit::validator () const"
+Returns a pointer to the current input validator, or 0 if no validator has been set.
+.PP
+See also setValidator().
+.PP
+Example: wizard/wizard.cpp.
+.SS "Property Documentation"
+.SH "bool acceptableInput"
+This property holds whether the input satisfies the inputMask and the validator.
+.PP
+Get this property's value with hasAcceptableInput().
+.PP
+See also inputMask and setValidator().
+.SH "Alignment alignment"
+This property holds the alignment of the line edit.
+.PP
+Possible Values are Qt::AlignAuto, Qt::AlignLeft, Qt::AlignRight and Qt::AlignHCenter.
+.PP
+Attempting to set the alignment to an illegal flag combination does nothing.
+.PP
+See also Qt::AlignmentFlags.
+.PP
+Set this property's value with setAlignment() and get this property's value with alignment().
+.SH "int cursorPosition"
+This property holds the current cursor position for this line edit.
+.PP
+Setting the cursor position causes a repaint when appropriate.
+.PP
+Set this property's value with setCursorPosition() and get this property's value with cursorPosition().
+.SH "QString displayText"
+This property holds the displayed text.
+.PP
+If EchoMode is Normal this returns the same as text(); if EchoMode is Password it returns a string of asterisks text().length() characters long, e.g. "******"; if EchoMode is NoEcho returns an empty string, "".
+.PP
+See also echoMode, text, and EchoMode.
+.PP
+Get this property's value with displayText().
+.SH "bool dragEnabled"
+This property holds whether the lineedit starts a drag if the user presses and moves the mouse on some selected text.
+.PP
+Set this property's value with setDragEnabled() and get this property's value with dragEnabled().
+.SH "EchoMode echoMode"
+This property holds the line edit's echo mode.
+.PP
+The initial setting is Normal, but QLineEdit also supports NoEcho and Password modes.
+.PP
+The widget's display and the ability to copy or drag the text is affected by this setting.
+.PP
+See also EchoMode and displayText.
+.PP
+Set this property's value with setEchoMode() and get this property's value with echoMode().
+.SH "bool edited"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds whether the line edit has been edited. Use modified instead.
+.PP
+Set this property's value with setEdited() and get this property's value with edited().
+.SH "bool frame"
+This property holds whether the line edit draws itself with a frame.
+.PP
+If enabled (the default) the line edit draws itself inside a two-pixel frame, otherwise the line edit draws itself without any frame.
+.PP
+Set this property's value with setFrame() and get this property's value with frame().
+.SH "bool hasMarkedText"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds whether part of the text has been selected by the user. Use hasSelectedText instead.
+.PP
+Get this property's value with hasMarkedText().
+.SH "bool hasSelectedText"
+This property holds whether there is any text selected.
+.PP
+hasSelectedText() returns TRUE if some or all of the text has been selected by the user; otherwise returns FALSE.
+.PP
+See also selectedText.
+.PP
+Get this property's value with hasSelectedText().
+.SH "QString inputMask"
+This property holds the validation input mask.
+.PP
+If no mask is set, inputMask() returns QString::null.
+.PP
+Sets the QLineEdit's validation mask. Validators can be used instead of, or in conjunction with masks; see setValidator().
+.PP
+Unset the mask and return to normal QLineEdit operation by passing an empty string ("") or just calling setInputMask() with no arguments.
+.PP
+The mask format understands these mask characters: <center>.nf
+.TS
+l - l. Character Meaning ASCII alphabetic character required. A-Z, a-z. ASCII alphabetic character permitted but not required. ASCII alphanumeric character required. A-Z, a-z, 0-9. ASCII alphanumeric character permitted but not required. Any character required. x Any character permitted but not required. ASCII digit required. 0-9. ASCII digit permitted but not required. ASCII digit required. 1-9. ASCII digit permitted but not required (1-9). ASCII digit or plus/minus sign permitted but not required. All following alphabetic characters are uppercased. All following alphabetic characters are lowercased. Switch off case conversion. Use
+.TE
+.fi
+</center>
+.PP
+The mask consists of a string of mask characters and separators, optionally followed by a semi-colon and the character used for blanks: the blank characters are always removed from the text after editing. The default blank character is space.
+.PP
+Examples:
+.)l
+<center>.nf
+.TS
+l - l. Mask Notes IP address; blanks are ISO Date; blanks are License number; blanks are
+.TE
+.fi
+</center>
+.PP
+To get range control (e.g. for an IP address) use masks together with validators.
+.PP
+See also maxLength.
+.PP
+Set this property's value with setInputMask() and get this property's value with inputMask().
+.SH "QString markedText"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds the text selected by the user. Use selectedText instead.
+.PP
+Get this property's value with markedText().
+.SH "int maxLength"
+This property holds the maximum permitted length of the text.
+.PP
+If the text is too long, it is truncated at the limit.
+.PP
+If truncation occurs any selected text will be unselected, the cursor position is set to 0 and the first part of the string is shown.
+.PP
+If the line edit has an input mask, the mask defines the maximum string length.
+.PP
+See also inputMask.
+.PP
+Set this property's value with setMaxLength() and get this property's value with maxLength().
+.SH "bool modified"
+This property holds whether the line edit's contents has been modified by the user.
+.PP
+The modified flag is never read by QLineEdit; it has a default value of FALSE and is changed to TRUE whenever the user changes the line edit's contents.
+.PP
+This is useful for things that need to provide a default value but do not start out knowing what the default should be (perhaps it depends on other fields on the form). Start the line edit without the best default, and when the default is known, if modified() returns FALSE (the user hasn't entered any text), insert the default value.
+.PP
+Calling clearModified() or setText() resets the modified flag to FALSE.
+.PP
+Get this property's value with isModified().
+.SH "bool readOnly"
+This property holds whether the line edit is read only.
+.PP
+In read-only mode, the user can still copy the text to the clipboard or drag-and-drop the text (if echoMode() is Normal), but cannot edit it.
+.PP
+QLineEdit does not show a cursor in read-only mode.
+.PP
+See also enabled.
+.PP
+Set this property's value with setReadOnly() and get this property's value with isReadOnly().
+.SH "bool redoAvailable"
+This property holds whether redo is available.
+.PP
+Get this property's value with isRedoAvailable().
+.SH "QString selectedText"
+This property holds the selected text.
+.PP
+If there is no selected text this property's value is QString::null.
+.PP
+See also hasSelectedText.
+.PP
+Get this property's value with selectedText().
+.SH "QString text"
+This property holds the line edit's text.
+.PP
+Note that setting this property clears the selection, clears the undo/redo history, moves the cursor to the end of the line and resets the modified property to FALSE. The text is not validated when inserted with setText().
+.PP
+The text is truncated to maxLength() length.
+.PP
+See also insert().
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "bool undoAvailable"
+This property holds whether undo is available.
+.PP
+Get this property's value with isUndoAvailable().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlineedit.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlineedit.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistbox.3qt b/doc/man/man3/qlistbox.3qt
new file mode 100644
index 0000000..b44858d
--- /dev/null
+++ b/doc/man/man3/qlistbox.3qt
@@ -0,0 +1,1110 @@
+'\" t
+.TH QListBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListBox \- List of selectable, read-only items
+.SH SYNOPSIS
+\fC#include <qlistbox.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListBox\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QListBox\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsertStringList\fR ( const QStringList & list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const QStrList * list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const QStrList & list, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertStrList\fR ( const char ** strings, int numStrings = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QListBoxItem * lbi, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QListBoxItem * lbi, const QListBoxItem * after )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QString & text, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QPixmap & pixmap, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertItem\fR ( const QPixmap & pixmap, const QString & text, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int index )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int index ) const"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR ( int index ) const"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QListBoxItem * lbi, int index )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QString & text, int index )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QPixmap & pixmap, int index )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( const QPixmap & pixmap, const QString & text, int index )"
+.br
+.ti -1c
+.BI "void \fBtakeItem\fR ( const QListBoxItem * item )"
+.br
+.ti -1c
+.BI "int \fBnumItemsVisible\fR () const"
+.br
+.ti -1c
+.BI "int \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcurrentText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( int index )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( QListBoxItem * i )"
+.br
+.ti -1c
+.BI "void centerCurrentItem () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBtopItem\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTopItem\fR ( int index )"
+.br
+.ti -1c
+.BI "virtual void \fBsetBottomItem\fR ( int index )"
+.br
+.ti -1c
+.BI "long \fBmaxItemWidth\fR () const"
+.br
+.ti -1c
+.BI "enum \fBSelectionMode\fR { Single, Multi, Extended, NoSelection }"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectionMode\fR ( SelectionMode )"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR () const"
+.br
+.ti -1c
+.BI "void setMultiSelection ( bool multi ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isMultiSelection () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( QListBoxItem * item, bool select )"
+.br
+.ti -1c
+.BI "void \fBsetSelected\fR ( int index, bool select )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR ( int i ) const"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR ( const QListBoxItem * i ) const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBselectedItem\fR () const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBitem\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBindex\fR ( const QListBoxItem * lbi ) const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBfindItem\fR ( const QString & text, ComparisonFlags compare = BeginsWith ) const"
+.br
+.ti -1c
+.BI "void \fBtriggerUpdate\fR ( bool doLayout )"
+.br
+.ti -1c
+.BI "bool \fBitemVisible\fR ( int index )"
+.br
+.ti -1c
+.BI "bool \fBitemVisible\fR ( const QListBoxItem * item )"
+.br
+.ti -1c
+.BI "enum \fBLayoutMode\fR { FixedNumber, FitToWidth, FitToHeight = FitToWidth, Variable }"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnMode\fR ( LayoutMode )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnMode\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowMode\fR ( LayoutMode )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowMode\fR ( int )"
+.br
+.ti -1c
+.BI "LayoutMode \fBcolumnMode\fR () const"
+.br
+.ti -1c
+.BI "LayoutMode \fBrowMode\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumColumns\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR () const"
+.br
+.ti -1c
+.BI "bool \fBvariableWidth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetVariableWidth\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBvariableHeight\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetVariableHeight\fR ( bool )"
+.br
+.ti -1c
+.BI "bool autoScrollBar () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setAutoScrollBar ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool scrollBar () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setScrollBar ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool autoBottomScrollBar () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setAutoBottomScrollBar ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool bottomScrollBar () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setBottomScrollBar ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int inSort ( const QListBoxItem * lbi ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int inSort ( const QString & text ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellHeight ( int i ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellHeight () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int cellWidth () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int numCols () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBitemHeight\fR ( int index = 0 ) const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBitemAt\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "QRect \fBitemRect\fR ( QListBoxItem * item ) const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBfirstItem\fR () const"
+.br
+.ti -1c
+.BI "void \fBsort\fR ( bool ascending = TRUE )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBensureCurrentVisible\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearSelection\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ( bool select )"
+.br
+.ti -1c
+.BI "virtual void \fBinvertSelection\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBhighlighted\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBselected\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBselected\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( QListBoxItem * )"
+.br
+.ti -1c
+.BI "void \fBselected\fR ( QListBoxItem * )"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ( QListBoxItem * item )"
+.br
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QListBoxItem * item )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QListBoxItem * item )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QListBoxItem * item, const QPoint & pnt )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QListBoxItem * item )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QListBoxItem * item, const QPoint & pnt )"
+.br
+.ti -1c
+.BI "void \fBdoubleClicked\fR ( QListBoxItem * item )"
+.br
+.ti -1c
+.BI "void \fBreturnPressed\fR ( QListBoxItem * )"
+.br
+.ti -1c
+.BI "void \fBrightButtonClicked\fR ( QListBoxItem *, const QPoint & )"
+.br
+.ti -1c
+.BI "void \fBrightButtonPressed\fR ( QListBoxItem *, const QPoint & )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonPressed\fR ( int button, QListBoxItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonClicked\fR ( int button, QListBoxItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBcontextMenuRequested\fR ( QListBoxItem * item, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBonItem\fR ( QListBoxItem * i )"
+.br
+.ti -1c
+.BI "void \fBonViewport\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "LayoutMode \fBcolumnMode\fR - the column layout mode for this list box"
+.br
+.ti -1c
+.BI "uint \fBcount\fR - the number of items in the list box \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcurrentItem\fR - the current highlighted item"
+.br
+.ti -1c
+.BI "QString \fBcurrentText\fR - the text of the current item \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool multiSelection - whether or not the list box is in Multi selection mode \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBnumColumns\fR - the number of columns in the list box \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBnumItemsVisible\fR - the number of visible items \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR - the number of rows in the list box \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "LayoutMode \fBrowMode\fR - the row layout mode for this list box"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR - the selection mode of the list box"
+.br
+.ti -1c
+.BI "int \fBtopItem\fR - the index of an item at the top of the screen"
+.br
+.ti -1c
+.BI "bool \fBvariableHeight\fR - whether this list box has variable-height rows"
+.br
+.ti -1c
+.BI "bool \fBvariableWidth\fR - whether this list box has variable-width columns"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBupdateItem\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBupdateItem\fR ( QListBoxItem * i )"
+.br
+.ti -1c
+.BI "int totalWidth () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int totalHeight () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, int row, int col )"
+.br
+.ti -1c
+.BI "void \fBtoggleCurrentItem\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisRubberSelecting\fR () const"
+.br
+.ti -1c
+.BI "void \fBdoLayout\fR () const"
+.br
+.ti -1c
+.BI "bool itemYPos ( int index, int * yPos ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int findItem ( int yPos ) const \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListBox widget provides a list of selectable, read-only items.
+.PP
+This is typically a single-column list in which either no item or one item is selected, but it can also be used in many other ways.
+.PP
+QListBox will add scroll bars as necessary, but it isn't intended for \fIreally\fR big lists. If you want more than a few thousand items, it's probably better to use a different widget mainly because the scroll bars won't provide very good navigation, but also because QListBox may become slow with huge lists. (See QListView and QTable for possible alternatives.)
+.PP
+There are a variety of selection modes described in the QListBox::SelectionMode documentation. The default is Single selection mode, but you can change it using setSelectionMode(). (setMultiSelection() is still provided for compatibility with Qt 1.x. We recommend using setSelectionMode() in all code.)
+.PP
+Because QListBox offers multiple selection it must display keyboard focus and selection state separately. Therefore there are functions both to set the selection state of an item, i.e. setSelected(), and to set which item displays keyboard focus, i.e. setCurrentItem().
+.PP
+The list box normally arranges its items in a single column and adds a vertical scroll bar if required. It is possible to have a different fixed number of columns (setColumnMode()), or as many columns as will fit in the list box's assigned screen space (setColumnMode(FitToWidth)), or to have a fixed number of rows (setRowMode()) or as many rows as will fit in the list box's assigned screen space (setRowMode(FitToHeight)). In all these cases QListBox will add scroll bars, as appropriate, in at least one direction.
+.PP
+If multiple rows are used, each row can be as high as necessary (the normal setting), or you can request that all items will have the same height by calling setVariableHeight(FALSE). The same applies to a column's width, see setVariableWidth().
+.PP
+The QListBox's items are QListBoxItem objects. QListBox provides methods to insert new items as strings, as pixmaps, and as QListBoxItem * (insertItem() with various arguments), and to replace an existing item with a new string, pixmap or QListBoxItem (changeItem() with various arguments). You can also remove items singly with removeItem() or clear() the entire list box. Note that if you create a QListBoxItem yourself and insert it, QListBox takes ownership of the item.
+.PP
+You can also create a QListBoxItem, such as QListBoxText or QListBoxPixmap, with the list box as first parameter. The item will then append itself. When you delete an item it is automatically removed from the list box.
+.PP
+The list of items can be arbitrarily large; QListBox will add scroll bars if necessary. QListBox can display a single-column (the common case) or multiple-columns, and offers both single and multiple selection. QListBox does not support multiple-column items (but QListView and QTable do), or tree hierarchies (but QListView does).
+.PP
+The list box items can be accessed both as QListBoxItem objects (recommended) and using integer indexes (the original QListBox implementation used an array of strings internally, and the API still supports this mode of operation). Everything can be done using the new objects, and most things can be done using indexes.
+.PP
+Each item in a QListBox contains a QListBoxItem. One of the items can be the current item. The currentChanged() signal and the highlighted() signal are emitted when a new item becomes current, e.g. because the user clicks on it or QListBox::setCurrentItem() is called. The selected() signal is emitted when the user double-clicks on an item or presses Enter on the current item.
+.PP
+If the user does not select anything, no signals are emitted and currentItem() returns -1.
+.PP
+A list box has WheelFocus as a default focusPolicy(), i.e. it can get keyboard focus by tabbing, clicking and through the use of the mouse wheel.
+.PP
+New items can be inserted using insertItem(), insertStrList() or insertStringList(). inSort() is obsolete because this method is quite inefficient. It's preferable to insert the items normally and call sort() afterwards, or to insert a sorted QStringList().
+.PP
+By default, vertical and horizontal scroll bars are added and removed as necessary. setHScrollBarMode() and setVScrollBarMode() can be used to change this policy.
+.PP
+If you need to insert types other than strings and pixmaps, you must define new classes which inherit QListBoxItem.
+.PP
+\fBWarning:\fR The list box assumes ownership of all list box items and will delete them when it does not need them any more.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QListView, QComboBox, QButtonGroup, GUI Design Handbook: List Box (two sections), and Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QListBox::LayoutMode"
+This enum type is used to specify how QListBox lays out its rows and columns.
+.TP
+\fCQListBox::FixedNumber\fR - There is a fixed number of rows (or columns).
+.TP
+\fCQListBox::FitToWidth\fR - There are as many columns as will fit on-screen.
+.TP
+\fCQListBox::FitToHeight\fR - There are as many rows as will fit on-screen.
+.TP
+\fCQListBox::Variable\fR - There are as many rows as are required by the column mode. (Or as many columns as required by the row mode.)
+.PP
+Example: When you call setRowMode( FitToHeight ), columnMode() automatically becomes Variable to accommodate the row mode you've set.
+.SH "QListBox::SelectionMode"
+This enumerated type is used by QListBox to indicate how it reacts to selection by the user.
+.TP
+\fCQListBox::Single\fR - When the user selects an item, any already-selected item becomes unselected and the user cannot unselect the selected item. This means that the user can never clear the selection, even though the selection may be cleared by the application programmer using QListBox::clearSelection().
+.TP
+\fCQListBox::Multi\fR - When the user selects an item the selection status of that item is toggled and the other items are left alone. Also, multiple items can be selected by dragging the mouse while the left mouse button is kept pressed.
+.TP
+\fCQListBox::Extended\fR - When the user selects an item the selection is cleared and the new item selected. However, if the user presses the Ctrl key when clicking on an item, the clicked item gets toggled and all other items are left untouched. And if the user presses the Shift key while clicking on an item, all items between the current item and the clicked item get selected or unselected, depending on the state of the clicked item. Also, multiple items can be selected by dragging the mouse while the left mouse button is kept pressed.
+.TP
+\fCQListBox::NoSelection\fR - Items cannot be selected.
+.PP
+In other words, Single is a real single-selection list box, Multi is a real multi-selection list box, Extended is a list box in which users can select multiple items but usually want to select either just one or a range of contiguous items, and NoSelection is for a list box where the user can look but not touch.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListBox::QListBox ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a new empty list box called \fIname\fR and with parent \fIparent\fR.
+.PP
+Performance is boosted by modifying the widget flags \fIf\fR so that only part of the QListBoxItem children is redrawn. This may be unsuitable for custom QListBoxItem classes, in which case WStaticContents and WNoAutoErase should be cleared immediately after construction.
+.PP
+See also QWidget::clearWFlags() and Qt::WidgetFlags.
+.SH "QListBox::~QListBox ()"
+Destroys the list box. Deletes all list box items.
+.SH "bool QListBox::autoBottomScrollBar () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if hScrollBarMode() is Auto; otherwise returns FALSE.
+.SH "bool QListBox::autoScrollBar () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if vScrollBarMode() is Auto; otherwise returns FALSE.
+.SH "bool QListBox::bottomScrollBar () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns FALSE if vScrollBarMode() is AlwaysOff; otherwise returns TRUE.
+.SH "int QListBox::cellHeight ( int i ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the item height of item \fIi\fR.
+.PP
+See also itemHeight().
+.SH "int QListBox::cellHeight () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the item height of the first item, item 0.
+.PP
+See also itemHeight().
+.SH "int QListBox::cellWidth () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the maximum item width.
+.PP
+See also maxItemWidth().
+.SH "void QListBox::centerCurrentItem ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function does exactly the same as ensureCurrentVisible()
+.PP
+See also QListBox::ensureCurrentVisible().
+.SH "void QListBox::changeItem ( const QListBoxItem * lbi, int index )"
+Replaces the item at position \fIindex\fR with \fIlbi\fR. If \fIindex\fR is negative or too large, changeItem() does nothing.
+.PP
+The item that has been changed will become selected.
+.PP
+See also insertItem() and removeItem().
+.SH "void QListBox::changeItem ( const QString & text, int index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces the item at position \fIindex\fR with a new list box text item with text \fItext\fR.
+.PP
+The operation is ignored if \fIindex\fR is out of range.
+.PP
+See also insertItem() and removeItem().
+.SH "void QListBox::changeItem ( const QPixmap & pixmap, int index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces the item at position \fIindex\fR with a new list box pixmap item with pixmap \fIpixmap\fR.
+.PP
+The operation is ignored if \fIindex\fR is out of range.
+.PP
+See also insertItem() and removeItem().
+.SH "void QListBox::changeItem ( const QPixmap & pixmap, const QString & text, int index )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces the item at position \fIindex\fR with a new list box pixmap item with pixmap \fIpixmap\fR and text \fItext\fR.
+.PP
+The operation is ignored if \fIindex\fR is out of range.
+.PP
+See also insertItem() and removeItem().
+.SH "void QListBox::clear ()\fC [slot]\fR"
+Deletes all the items in the list.
+.PP
+See also removeItem().
+.SH "void QListBox::clearSelection ()\fC [virtual slot]\fR"
+Deselects all items, if possible.
+.PP
+Note that a Single selection list box will automatically select an item if it has keyboard focus.
+.PP
+Example: listbox/listbox.cpp.
+.SH "void QListBox::clicked ( QListBoxItem * item )\fC [signal]\fR"
+This signal is emitted when the user clicks any mouse button. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.SH "void QListBox::clicked ( QListBoxItem * item, const QPoint & pnt )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user clicks any mouse button. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+\fIpnt\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differs by a pixel or two, \fIpnt\fR is the position at release time.)
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.SH "LayoutMode QListBox::columnMode () const"
+Returns the column layout mode for this list box. See the "columnMode" property for details.
+.SH "void QListBox::contextMenuRequested ( QListBoxItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user invokes a context menu with the right mouse button or with special system keys, with \fIitem\fR being the item under the mouse cursor or the current item, respectively.
+.PP
+\fIpos\fR is the position for the context menu in the global coordinate system.
+.SH "uint QListBox::count () const"
+Returns the number of items in the list box. See the "count" property for details.
+.SH "void QListBox::currentChanged ( QListBoxItem * item )\fC [signal]\fR"
+This signal is emitted when the user makes a new item the current item. \fIitem\fR is the new current list box item.
+.PP
+See also currentItem and currentItem.
+.SH "int QListBox::currentItem () const"
+Returns the current highlighted item. See the "currentItem" property for details.
+.SH "QString QListBox::currentText () const"
+Returns the text of the current item. See the "currentText" property for details.
+.SH "void QListBox::doLayout () const\fC [protected]\fR"
+This function does the hard layout work. You should never need to call it.
+.SH "void QListBox::doubleClicked ( QListBoxItem * item )\fC [signal]\fR"
+This signal is emitted whenever an item is double-clicked. It's emitted on the second button press, not the second button release. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.SH "void QListBox::ensureCurrentVisible ()\fC [virtual slot]\fR"
+Ensures that the current item is visible.
+.SH "QListBoxItem * QListBox::findItem ( const QString & text, ComparisonFlags compare = BeginsWith ) const"
+Finds the first list box item that has the text \fItext\fR and returns it, or returns 0 of no such item could be found. The search starts from the current item if the current item exists, otherwise it starts from the first list box item. If \fCComparisonFlags\fR are specified in \fIcompare\fR then these flags are used, otherwise the default is a case-insensitive, "begins with" search.
+.PP
+See also Qt::StringComparisonMode.
+.SH "int QListBox::findItem ( int yPos ) const\fC [protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the index of the item a point (0, \fIyPos\fR).
+.PP
+See also index() and itemAt().
+.SH "QListBoxItem * QListBox::firstItem () const"
+Returns the first item in this list box. If the list box is empty, returns 0.
+.SH "void QListBox::highlighted ( int index )\fC [signal]\fR"
+This signal is emitted when the user makes a new item the current item. \fIindex\fR is the index of the new current item.
+.PP
+See also currentChanged(), selected(), currentItem, and selectionChanged().
+.SH "void QListBox::highlighted ( const QString & )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user makes a new item the current item and the item is (or has) a string. The argument is the text of the new current item.
+.PP
+See also currentChanged(), selected(), currentItem, and selectionChanged().
+.SH "void QListBox::highlighted ( QListBoxItem * )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user makes a new item the current item. The argument is a pointer to the new current item.
+.PP
+See also currentChanged(), selected(), currentItem, and selectionChanged().
+.SH "int QListBox::inSort ( const QListBoxItem * lbi )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Using this method is quite inefficient. We suggest to use insertItem() for inserting and sort() afterwards.
+.PP
+Inserts \fIlbi\fR at its sorted position in the list box and returns the position.
+.PP
+All items must be inserted with inSort() to maintain the sorting order. inSort() treats any pixmap (or user-defined type) as lexicographically less than any string.
+.PP
+See also insertItem() and sort().
+.SH "int QListBox::inSort ( const QString & text )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Using this method is quite inefficient. We suggest to use insertItem() for inserting and sort() afterwards.
+.PP
+Inserts a new item of \fItext\fR at its sorted position in the list box and returns the position.
+.PP
+All items must be inserted with inSort() to maintain the sorting order. inSort() treats any pixmap (or user-defined type) as lexicographically less than any string.
+.PP
+See also insertItem() and sort().
+.SH "int QListBox::index ( const QListBoxItem * lbi ) const"
+Returns the index of \fIlbi\fR, or -1 if the item is not in this list box or \fIlbi\fR is 0.
+.PP
+See also item().
+.SH "void QListBox::insertItem ( const QListBoxItem * lbi, int index = -1 )"
+Inserts the item \fIlbi\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative or larger than the number of items in the list box, \fIlbi\fR is inserted at the end of the list.
+.PP
+See also insertStrList().
+.PP
+Examples:
+.)l i18n/mywidget.cpp, listbox/listbox.cpp, listboxcombo/listboxcombo.cpp, and tabdialog/tabdialog.cpp.
+.SH "void QListBox::insertItem ( const QListBoxItem * lbi, const QListBoxItem * after )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the item \fIlbi\fR into the list after the item \fIafter\fR, or at the beginning if \fIafter\fR is 0.
+.PP
+See also insertStrList().
+.SH "void QListBox::insertItem ( const QString & text, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a new list box text item with the text \fItext\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fItext\fR is inserted at the end of the list.
+.PP
+See also insertStrList().
+.SH "void QListBox::insertItem ( const QPixmap & pixmap, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a new list box pixmap item with the pixmap \fIpixmap\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fIpixmap\fR is inserted at the end of the list.
+.PP
+See also insertStrList().
+.SH "void QListBox::insertItem ( const QPixmap & pixmap, const QString & text, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a new list box pixmap item with the pixmap \fIpixmap\fR and the text \fItext\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fIpixmap\fR is inserted at the end of the list.
+.PP
+See also insertStrList().
+.SH "void QListBox::insertStrList ( const QStrList * list, int index = -1 )"
+Inserts the string list \fIlist\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fIlist\fR is inserted at the end of the list. If \fIindex\fR is too large, the operation is ignored.
+.PP
+\fBWarning:\fR This function uses \fCconst char *\fR rather than QString, so we recommend against using it. It is provided so that legacy code will continue to work, and so that programs that certainly will not need to handle code outside a single 8-bit locale can use it. See insertStringList() which uses real QStrings.
+.PP
+\fBWarning:\fR This function is never significantly faster than a loop around insertItem().
+.PP
+See also insertItem() and insertStringList().
+.SH "void QListBox::insertStrList ( const QStrList & list, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the string list \fIlist\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fIlist\fR is inserted at the end of the list. If \fIindex\fR is too large, the operation is ignored.
+.PP
+\fBWarning:\fR This function uses \fCconst char *\fR rather than QString, so we recommend against using it. It is provided so that legacy code will continue to work, and so that programs that certainly will not need to handle code outside a single 8-bit locale can use it. See insertStringList() which uses real QStrings.
+.PP
+\fBWarning:\fR This function is never significantly faster than a loop around insertItem().
+.PP
+See also insertItem() and insertStringList().
+.SH "void QListBox::insertStrList ( const char ** strings, int numStrings = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the \fInumStrings\fR strings of the array \fIstrings\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, insertStrList() inserts \fIstrings\fR at the end of the list. If \fIindex\fR is too large, the operation is ignored.
+.PP
+\fBWarning:\fR This function uses \fCconst char *\fR rather than QString, so we recommend against using it. It is provided so that legacy code will continue to work, and so that programs that certainly will not need to handle code outside a single 8-bit locale can use it. See insertStringList() which uses real QStrings.
+.PP
+\fBWarning:\fR This function is never significantly faster than a loop around insertItem().
+.PP
+See also insertItem() and insertStringList().
+.SH "void QListBox::insertStringList ( const QStringList & list, int index = -1 )"
+Inserts the string list \fIlist\fR into the list at position \fIindex\fR.
+.PP
+If \fIindex\fR is negative, \fIlist\fR is inserted at the end of the list. If \fIindex\fR is too large, the operation is ignored.
+.PP
+\fBWarning:\fR This function is never significantly faster than a loop around insertItem().
+.PP
+See also insertItem() and insertStrList().
+.SH "void QListBox::invertSelection ()\fC [virtual slot]\fR"
+Inverts the selection. Only works in Multi and Extended selection mode.
+.SH "bool QListBox::isMultiSelection () const"
+Returns TRUE if or not the list box is in Multi selection mode; otherwise returns FALSE. See the "multiSelection" property for details.
+.SH "bool QListBox::isRubberSelecting () const\fC [protected]\fR"
+Returns TRUE if the user is selecting items using a rubber band rectangle; otherwise returns FALSE.
+.SH "bool QListBox::isSelected ( int i ) const"
+Returns TRUE if item \fIi\fR is selected; otherwise returns FALSE.
+.SH "bool QListBox::isSelected ( const QListBoxItem * i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if item \fIi\fR is selected; otherwise returns FALSE.
+.SH "QListBoxItem * QListBox::item ( int index ) const"
+Returns a pointer to the item at position \fIindex\fR, or 0 if \fIindex\fR is out of bounds.
+.PP
+See also index().
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.SH "QListBoxItem * QListBox::itemAt ( const QPoint & p ) const"
+Returns the item at point \fIp\fR, specified in viewport coordinates, or a 0 if there is no item at \fIp\fR.
+.PP
+Use contentsToViewport() to convert between widget coordinates and viewport coordinates.
+.SH "int QListBox::itemHeight ( int index = 0 ) const"
+Returns the height in pixels of the item with index \fIindex\fR. \fIindex\fR defaults to 0.
+.PP
+If \fIindex\fR is too large, this function returns 0.
+.SH "QRect QListBox::itemRect ( QListBoxItem * item ) const"
+Returns the rectangle on the screen that \fIitem\fR occupies in viewport()'s coordinates, or an invalid rectangle if \fIitem\fR is 0 or is not currently visible.
+.SH "bool QListBox::itemVisible ( int index )"
+Returns TRUE if the item at position \fIindex\fR is at least partly visible; otherwise returns FALSE.
+.SH "bool QListBox::itemVisible ( const QListBoxItem * item )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIitem\fR is at least partly visible; otherwise returns FALSE.
+.SH "bool QListBox::itemYPos ( int index, int * yPos ) const\fC [protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the vertical pixel-coordinate in \fI*yPos\fR, of the list box item at position \fIindex\fR in the list. Returns FALSE if the item is outside the visible area.
+.SH "long QListBox::maxItemWidth () const"
+Returns the width of the widest item in the list box.
+.SH "void QListBox::mouseButtonClicked ( int button, QListBoxItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user clicks mouse button \fIbutton\fR. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()). (If the click's press and release differs by a pixel or two, \fIpos\fR is the position at release time.)
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.SH "void QListBox::mouseButtonPressed ( int button, QListBoxItem * item, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user presses mouse button \fIbutton\fR. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+\fIpos\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()).
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.SH "int QListBox::numCols () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the number of columns.
+.PP
+See also numColumns.
+.SH "int QListBox::numColumns () const"
+Returns the number of columns in the list box. See the "numColumns" property for details.
+.SH "int QListBox::numItemsVisible () const"
+Returns the number of visible items. See the "numItemsVisible" property for details.
+.SH "int QListBox::numRows () const"
+Returns the number of rows in the list box. See the "numRows" property for details.
+.SH "void QListBox::onItem ( QListBoxItem * i )\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor onto an item, similar to the QWidget::enterEvent() function. \fIi\fR is the QListBoxItem that the mouse has moved on.
+.SH "void QListBox::onViewport ()\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor from an item to an empty part of the list box.
+.SH "void QListBox::paintCell ( QPainter * p, int row, int col )\fC [virtual protected]\fR"
+Provided for compatibility with the old QListBox. We recommend using QListBoxItem::paint() instead.
+.PP
+Repaints the cell at \fIrow\fR, \fIcol\fR using painter \fIp\fR.
+.SH "const QPixmap * QListBox::pixmap ( int index ) const"
+Returns a pointer to the pixmap at position \fIindex\fR, or 0 if there is no pixmap there.
+.PP
+See also text().
+.SH "void QListBox::pressed ( QListBoxItem * item )\fC [signal]\fR"
+This signal is emitted when the user presses any mouse button. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.SH "void QListBox::pressed ( QListBoxItem * item, const QPoint & pnt )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user presses any mouse button. If \fIitem\fR is not 0, the cursor is on \fIitem\fR. If \fIitem\fR is 0, the mouse cursor isn't on any item.
+.PP
+\fIpnt\fR is the position of the mouse cursor in the global coordinate system (QMouseEvent::globalPos()).
+.PP
+Note that you must not delete any QListBoxItem objects in slots connected to this signal.
+.PP
+See also mouseButtonPressed(), rightButtonPressed(), and clicked().
+.SH "void QListBox::removeItem ( int index )"
+Removes and deletes the item at position \fIindex\fR. If \fIindex\fR is equal to currentItem(), a new item becomes current and the currentChanged() and highlighted() signals are emitted.
+.PP
+See also insertItem() and clear().
+.SH "void QListBox::returnPressed ( QListBoxItem * )\fC [signal]\fR"
+This signal is emitted when Enter or Return is pressed. The argument is currentItem().
+.SH "void QListBox::rightButtonClicked ( QListBoxItem *, const QPoint & )\fC [signal]\fR"
+This signal is emitted when the right button is clicked (i.e. when it's released at the same point where it was pressed). The arguments are the relevant QListBoxItem (may be 0) and the point in global coordinates.
+.SH "void QListBox::rightButtonPressed ( QListBoxItem *, const QPoint & )\fC [signal]\fR"
+This signal is emitted when the right button is pressed. The arguments are the relevant QListBoxItem (may be 0) and the point in global coordinates.
+.SH "LayoutMode QListBox::rowMode () const"
+Returns the row layout mode for this list box. See the "rowMode" property for details.
+.SH "bool QListBox::scrollBar () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns FALSE if vScrollBarMode() is AlwaysOff; otherwise returns TRUE.
+.SH "void QListBox::selectAll ( bool select )\fC [virtual slot]\fR"
+In Multi and Extended modes, this function sets all items to be selected if \fIselect\fR is TRUE, and to be unselected if \fIselect\fR is FALSE.
+.PP
+In Single and NoSelection modes, this function only changes the selection status of currentItem().
+.SH "void QListBox::selected ( int index )\fC [signal]\fR"
+This signal is emitted when the user double-clicks on an item or presses Enter on the current item. \fIindex\fR is the index of the selected item.
+.PP
+See also currentChanged(), highlighted(), and selectionChanged().
+.SH "void QListBox::selected ( const QString & )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user double-clicks on an item or presses Enter on the current item, and the item is (or has) a string. The argument is the text of the selected item.
+.PP
+See also currentChanged(), highlighted(), and selectionChanged().
+.SH "void QListBox::selected ( QListBoxItem * )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the user double-clicks on an item or presses Enter on the current item. The argument is a pointer to the new selected item.
+.PP
+See also currentChanged(), highlighted(), and selectionChanged().
+.SH "QListBoxItem * QListBox::selectedItem () const"
+Returns the selected item if the list box is in single-selection mode and an item is selected.
+.PP
+If no items are selected or the list box is in another selection mode this function returns 0.
+.PP
+See also setSelected() and multiSelection.
+.SH "void QListBox::selectionChanged ()\fC [signal]\fR"
+This signal is emitted when the selection set of a list box changes. This signal is emitted in each selection mode. If the user selects five items by drag-selecting, QListBox tries to emit just one selectionChanged() signal so the signal can be connected to computationally expensive slots.
+.PP
+See also selected() and currentItem.
+.SH "void QListBox::selectionChanged ( QListBoxItem * item )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when the selection in a Single selection list box changes. \fIitem\fR is the newly selected list box item.
+.PP
+See also selected() and currentItem.
+.SH "SelectionMode QListBox::selectionMode () const"
+Returns the selection mode of the list box. See the "selectionMode" property for details.
+.SH "void QListBox::setAutoBottomScrollBar ( bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If \fIenable\fR is TRUE sets setHScrollBarMode() to AlwaysOn; otherwise sets setHScrollBarMode() to AlwaysOff.
+.SH "void QListBox::setAutoScrollBar ( bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If \fIenable\fR is TRUE sets setVScrollBarMode() to AlwaysOn; otherwise sets setVScrollBarMode() to AlwaysOff.
+.SH "void QListBox::setBottomItem ( int index )\fC [virtual]\fR"
+Scrolls the list box so the item at position \fIindex\fR in the list is displayed in the bottom row of the list box.
+.PP
+See also topItem.
+.SH "void QListBox::setBottomScrollBar ( bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If \fIenable\fR is TRUE sets setHScrollBarMode() to AlwaysOn; otherwise sets setHScrollBarMode() to AlwaysOff.
+.SH "void QListBox::setColumnMode ( LayoutMode )\fC [virtual]\fR"
+Sets the column layout mode for this list box. See the "columnMode" property for details.
+.SH "void QListBox::setColumnMode ( int )\fC [virtual]\fR"
+Sets the column layout mode for this list box. See the "columnMode" property for details.
+.SH "void QListBox::setCurrentItem ( int index )\fC [virtual]\fR"
+Sets the current highlighted item to \fIindex\fR. See the "currentItem" property for details.
+.SH "void QListBox::setCurrentItem ( QListBoxItem * i )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the current item to the QListBoxItem \fIi\fR.
+.SH "void QListBox::setMultiSelection ( bool multi )"
+Sets whether or not the list box is in Multi selection mode to \fImulti\fR. See the "multiSelection" property for details.
+.SH "void QListBox::setRowMode ( LayoutMode )\fC [virtual]\fR"
+Sets the row layout mode for this list box. See the "rowMode" property for details.
+.SH "void QListBox::setRowMode ( int )\fC [virtual]\fR"
+Sets the row layout mode for this list box. See the "rowMode" property for details.
+.SH "void QListBox::setScrollBar ( bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If \fIenable\fR is TRUE sets setVScrollBarMode() to AlwaysOn; otherwise sets setVScrollBarMode() to AlwaysOff.
+.SH "void QListBox::setSelected ( QListBoxItem * item, bool select )\fC [virtual]\fR"
+Selects \fIitem\fR if \fIselect\fR is TRUE or unselects it if \fIselect\fR is FALSE, and repaints the item appropriately.
+.PP
+If the list box is a Single selection list box and \fIselect\fR is TRUE, setSelected() calls setCurrentItem().
+.PP
+If the list box is a Single selection list box, \fIselect\fR is FALSE, setSelected() calls clearSelection().
+.PP
+See also multiSelection, currentItem, clearSelection(), and currentItem.
+.SH "void QListBox::setSelected ( int index, bool select )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+If \fIselect\fR is TRUE the item at position \fIindex\fR is selected; otherwise the item is deselected.
+.SH "void QListBox::setSelectionMode ( SelectionMode )\fC [virtual]\fR"
+Sets the selection mode of the list box. See the "selectionMode" property for details.
+.SH "void QListBox::setTopItem ( int index )\fC [virtual]\fR"
+Sets the index of an item at the top of the screen to \fIindex\fR. See the "topItem" property for details.
+.SH "void QListBox::setVariableHeight ( bool )\fC [virtual]\fR"
+Sets whether this list box has variable-height rows. See the "variableHeight" property for details.
+.SH "void QListBox::setVariableWidth ( bool )\fC [virtual]\fR"
+Sets whether this list box has variable-width columns. See the "variableWidth" property for details.
+.SH "void QListBox::sort ( bool ascending = TRUE )"
+If \fIascending\fR is TRUE sorts the items in ascending order; otherwise sorts in descending order.
+.PP
+To compare the items, the text (QListBoxItem::text()) of the items is used.
+.PP
+Example: listbox/listbox.cpp.
+.SH "void QListBox::takeItem ( const QListBoxItem * item )"
+Removes \fIitem\fR from the list box and causes an update of the screen display. The item is not deleted. You should normally not need to call this function because QListBoxItem::~QListBoxItem() calls it. The normal way to delete an item is with \fCdelete\fR.
+.PP
+See also QListBox::insertItem().
+.SH "QString QListBox::text ( int index ) const"
+Returns the text at position \fIindex\fR, or QString::null if there is no text at that position.
+.PP
+See also pixmap().
+.SH "void QListBox::toggleCurrentItem ()\fC [protected]\fR"
+Toggles the selection status of currentItem() and repaints if the list box is a Multi selection list box.
+.PP
+See also multiSelection.
+.SH "int QListBox::topItem () const"
+Returns the index of an item at the top of the screen. See the "topItem" property for details.
+.SH "int QListBox::totalHeight () const\fC [protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns contentsHeight().
+.SH "int QListBox::totalWidth () const\fC [protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns contentsWidth().
+.SH "void QListBox::triggerUpdate ( bool doLayout )"
+Ensures that a single paint event will occur at the end of the current event loop iteration. If \fIdoLayout\fR is TRUE, the layout is also redone.
+.SH "void QListBox::updateItem ( int index )\fC [protected]\fR"
+Repaints the item at position \fIindex\fR in the list.
+.SH "void QListBox::updateItem ( QListBoxItem * i )\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Repaints the QListBoxItem \fIi\fR.
+.SH "bool QListBox::variableHeight () const"
+Returns TRUE if this list box has variable-height rows; otherwise returns FALSE. See the "variableHeight" property for details.
+.SH "bool QListBox::variableWidth () const"
+Returns TRUE if this list box has variable-width columns; otherwise returns FALSE. See the "variableWidth" property for details.
+.SS "Property Documentation"
+.SH "LayoutMode columnMode"
+This property holds the column layout mode for this list box.
+.PP
+setColumnMode() sets the layout mode and adjusts the number of displayed columns. The row layout mode automatically becomes Variable, unless the column mode is Variable.
+.PP
+See also rowMode, rowMode, and numColumns.
+.PP
+Set this property's value with setColumnMode() and get this property's value with columnMode().
+.SH "uint count"
+This property holds the number of items in the list box.
+.PP
+Get this property's value with count().
+.SH "int currentItem"
+This property holds the current highlighted item.
+.PP
+When setting this property, the highlighting is moved to the item and the list box scrolled as necessary.
+.PP
+If no item is current, currentItem() returns -1.
+.PP
+Set this property's value with setCurrentItem() and get this property's value with currentItem().
+.SH "QString currentText"
+This property holds the text of the current item.
+.PP
+This is equivalent to text(currentItem()).
+.PP
+Get this property's value with currentText().
+.SH "bool multiSelection"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds whether or not the list box is in Multi selection mode.
+.PP
+Consider using the QListBox::selectionMode property instead of this property.
+.PP
+When setting this property, Multi selection mode is used if set to TRUE and to Single selection mode if set to FALSE.
+.PP
+When getting this property, TRUE is returned if the list box is in Multi selection mode or Extended selection mode, and FALSE if it is in Single selection mode or NoSelection mode.
+.PP
+See also selectionMode.
+.PP
+Set this property's value with setMultiSelection() and get this property's value with isMultiSelection().
+.SH "int numColumns"
+This property holds the number of columns in the list box.
+.PP
+This is normally 1, but can be different if QListBox::columnMode or QListBox::rowMode has been set.
+.PP
+See also columnMode, rowMode, and numRows.
+.PP
+Get this property's value with numColumns().
+.SH "int numItemsVisible"
+This property holds the number of visible items.
+.PP
+Both partially and entirely visible items are counted.
+.PP
+Get this property's value with numItemsVisible().
+.SH "int numRows"
+This property holds the number of rows in the list box.
+.PP
+This is equal to the number of items in the default single-column layout, but can be different.
+.PP
+See also columnMode, rowMode, and numColumns.
+.PP
+Get this property's value with numRows().
+.SH "LayoutMode rowMode"
+This property holds the row layout mode for this list box.
+.PP
+This property is normally Variable.
+.PP
+setRowMode() sets the layout mode and adjusts the number of displayed rows. The column layout mode automatically becomes Variable, unless the row mode is Variable.
+.PP
+See also columnMode.
+.PP
+Set this property's value with setRowMode() and get this property's value with rowMode().
+.SH "SelectionMode selectionMode"
+This property holds the selection mode of the list box.
+.PP
+Sets the list box's selection mode, which may be one of Single (the default), Extended, Multi or NoSelection.
+.PP
+See also SelectionMode.
+.PP
+Set this property's value with setSelectionMode() and get this property's value with selectionMode().
+.SH "int topItem"
+This property holds the index of an item at the top of the screen.
+.PP
+When getting this property and the listbox has multiple columns, an arbitrary item is selected and returned.
+.PP
+When setting this property, the list box is scrolled so the item at position \fIindex\fR in the list is displayed in the top row of the list box.
+.PP
+Set this property's value with setTopItem() and get this property's value with topItem().
+.SH "bool variableHeight"
+This property holds whether this list box has variable-height rows.
+.PP
+When the list box has variable-height rows (the default), each row is as high as the highest item in that row. When it has same-sized rows, all rows are as high as the highest item in the list box.
+.PP
+See also variableWidth.
+.PP
+Set this property's value with setVariableHeight() and get this property's value with variableHeight().
+.SH "bool variableWidth"
+This property holds whether this list box has variable-width columns.
+.PP
+When the list box has variable-width columns, each column is as wide as the widest item in that column. When it has same-sized columns (the default), all columns are as wide as the widest item in the list box.
+.PP
+See also variableHeight.
+.PP
+Set this property's value with setVariableWidth() and get this property's value with variableWidth().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistboxitem.3qt b/doc/man/man3/qlistboxitem.3qt
new file mode 100644
index 0000000..ab4c4e4
--- /dev/null
+++ b/doc/man/man3/qlistboxitem.3qt
@@ -0,0 +1,203 @@
+'\" t
+.TH QListBoxItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListBoxItem \- The base class of all list box items
+.SH SYNOPSIS
+\fC#include <qlistbox.h>\fR
+.PP
+Inherited by QListBoxText and QListBoxPixmap.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListBoxItem\fR ( QListBox * listbox = 0 )"
+.br
+.ti -1c
+.BI "\fBQListBoxItem\fR ( QListBox * listbox, QListBoxItem * after )"
+.br
+.ti -1c
+.BI "virtual \fB~QListBoxItem\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheight\fR ( const QListBox * lb ) const"
+.br
+.ti -1c
+.BI "virtual int \fBwidth\fR ( const QListBox * lb ) const"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisCurrent\fR () const"
+.br
+.ti -1c
+.BI "bool selected () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool current () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QListBox * \fBlistBox\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSelectable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisSelectable\fR () const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBnext\fR () const"
+.br
+.ti -1c
+.BI "QListBoxItem * \fBprev\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * p ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetCustomHighlighting\fR ( bool b )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListBoxItem class is the base class of all list box items.
+.PP
+This class is an abstract base class used for all list box items. If you need to insert customized items into a QListBox you must inherit this class and reimplement paint(), height() and width().
+.PP
+See also QListBox.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListBoxItem::QListBoxItem ( QListBox * listbox = 0 )"
+Constructs an empty list box item in the list box \fIlistbox\fR.
+.SH "QListBoxItem::QListBoxItem ( QListBox * listbox, QListBoxItem * after )"
+Constructs an empty list box item in the list box \fIlistbox\fR and inserts it after the item \fIafter\fR or at the beginning if \fIafter\fR is 0.
+.SH "QListBoxItem::~QListBoxItem ()\fC [virtual]\fR"
+Destroys the list box item.
+.SH "bool QListBoxItem::current () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "int QListBoxItem::height ( const QListBox * lb ) const\fC [virtual]\fR"
+Implement this function to return the height of your item. The \fIlb\fR parameter is the same as listBox() and is provided for convenience and compatibility.
+.PP
+The default implementation returns QApplication::globalStrut()'s height.
+.PP
+See also paint() and width().
+.PP
+Reimplemented in QListBoxText and QListBoxPixmap.
+.SH "bool QListBoxItem::isCurrent () const"
+Returns TRUE if the item is the current item; otherwise returns FALSE.
+.PP
+See also QListBox::currentItem, QListBox::item(), and isSelected().
+.SH "bool QListBoxItem::isSelectable () const"
+Returns TRUE if this item is selectable (the default); otherwise returns FALSE.
+.PP
+See also setSelectable().
+.SH "bool QListBoxItem::isSelected () const"
+Returns TRUE if the item is selected; otherwise returns FALSE.
+.PP
+See also QListBox::isSelected() and isCurrent().
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.SH "QListBox * QListBoxItem::listBox () const"
+Returns a pointer to the list box containing this item.
+.SH "QListBoxItem * QListBoxItem::next () const"
+Returns the item that comes after this in the list box. If this is the last item, 0 is returned.
+.PP
+See also prev().
+.SH "void QListBoxItem::paint ( QPainter * p )\fC [pure virtual protected]\fR"
+Implement this function to draw your item. The painter, \fIp\fR, is already open for painting.
+.PP
+See also height() and width().
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.PP
+Reimplemented in QListBoxText and QListBoxPixmap.
+.SH "const QPixmap * QListBoxItem::pixmap () const\fC [virtual]\fR"
+Returns the pixmap associated with the item, or 0 if there isn't one.
+.PP
+The default implementation returns 0.
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.PP
+Reimplemented in QListBoxPixmap.
+.SH "QListBoxItem * QListBoxItem::prev () const"
+Returns the item which comes before this in the list box. If this is the first item, 0 is returned.
+.PP
+See also next().
+.SH "int QListBoxItem::rtti () const\fC [virtual]\fR"
+Returns 0.
+.PP
+Make your derived classes return their own values for rtti(), and you can distinguish between listbox items. You should use values greater than 1000 preferably a large random number, to allow for extensions to this class.
+.SH "bool QListBoxItem::selected () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QListBoxItem::setCustomHighlighting ( bool b )\fC [protected]\fR"
+Defines whether the list box item is responsible for drawing itself in a highlighted state when being selected.
+.PP
+If \fIb\fR is FALSE (the default), the list box will draw some default highlight indicator before calling paint().
+.PP
+See also selected() and paint().
+.SH "void QListBoxItem::setSelectable ( bool b )"
+If \fIb\fR is TRUE (the default) then this item can be selected by the user; otherwise this item cannot be selected by the user.
+.PP
+See also isSelectable().
+.SH "void QListBoxItem::setText ( const QString & text )\fC [virtual protected]\fR"
+Sets the text of the QListBoxItem to \fItext\fR. This \fItext\fR is also used for sorting. The text is not shown unless explicitly drawn in paint().
+.PP
+See also text().
+.SH "QString QListBoxItem::text () const\fC [virtual]\fR"
+Returns the text of the item. This text is also used for sorting.
+.PP
+See also setText().
+.PP
+Example: listboxcombo/listboxcombo.cpp.
+.SH "int QListBoxItem::width ( const QListBox * lb ) const\fC [virtual]\fR"
+Reimplement this function to return the width of your item. The \fIlb\fR parameter is the same as listBox() and is provided for convenience and compatibility.
+.PP
+The default implementation returns QApplication::globalStrut()'s width.
+.PP
+See also paint() and height().
+.PP
+Reimplemented in QListBoxText and QListBoxPixmap.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistboxitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistboxitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistboxpixmap.3qt b/doc/man/man3/qlistboxpixmap.3qt
new file mode 100644
index 0000000..b9d4677
--- /dev/null
+++ b/doc/man/man3/qlistboxpixmap.3qt
@@ -0,0 +1,120 @@
+'\" t
+.TH QListBoxPixmap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListBoxPixmap \- List box items with a pixmap and optional text
+.SH SYNOPSIS
+\fC#include <qlistbox.h>\fR
+.PP
+Inherits QListBoxItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( QListBox * listbox, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( QListBox * listbox, const QPixmap & pixmap, QListBoxItem * after )"
+.br
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( QListBox * listbox, const QPixmap & pix, const QString & text )"
+.br
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( const QPixmap & pix, const QString & text )"
+.br
+.ti -1c
+.BI "\fBQListBoxPixmap\fR ( QListBox * listbox, const QPixmap & pix, const QString & text, QListBoxItem * after )"
+.br
+.ti -1c
+.BI "\fB~QListBoxPixmap\fR ()"
+.br
+.ti -1c
+.BI "virtual const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheight\fR ( const QListBox * lb ) const"
+.br
+.ti -1c
+.BI "virtual int \fBwidth\fR ( const QListBox * lb ) const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * painter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListBoxPixmap class provides list box items with a pixmap and optional text.
+.PP
+Items of this class are drawn with the pixmap on the left with the optional text to the right of the pixmap.
+.PP
+See also QListBox, QListBoxItem, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListBoxPixmap::QListBoxPixmap ( QListBox * listbox, const QPixmap & pixmap )"
+Constructs a new list box item in list box \fIlistbox\fR showing the pixmap \fIpixmap\fR.
+.SH "QListBoxPixmap::QListBoxPixmap ( const QPixmap & pixmap )"
+Constructs a new list box item showing the pixmap \fIpixmap\fR.
+.SH "QListBoxPixmap::QListBoxPixmap ( QListBox * listbox, const QPixmap & pixmap, QListBoxItem * after )"
+Constructs a new list box item in list box \fIlistbox\fR showing the pixmap \fIpixmap\fR. The item gets inserted after the item \fIafter\fR, or at the beginning if \fIafter\fR is 0.
+.SH "QListBoxPixmap::QListBoxPixmap ( QListBox * listbox, const QPixmap & pix, const QString & text )"
+Constructs a new list box item in list box \fIlistbox\fR showing the pixmap \fIpix\fR and the text \fItext\fR.
+.SH "QListBoxPixmap::QListBoxPixmap ( const QPixmap & pix, const QString & text )"
+Constructs a new list box item showing the pixmap \fIpix\fR and the text to \fItext\fR.
+.SH "QListBoxPixmap::QListBoxPixmap ( QListBox * listbox, const QPixmap & pix, const QString & text, QListBoxItem * after )"
+Constructs a new list box item in list box \fIlistbox\fR showing the pixmap \fIpix\fR and the string \fItext\fR. The item gets inserted after the item \fIafter\fR, or at the beginning if \fIafter\fR is 0.
+.SH "QListBoxPixmap::~QListBoxPixmap ()"
+Destroys the item.
+.SH "int QListBoxPixmap::height ( const QListBox * lb ) const\fC [virtual]\fR"
+Returns the height of the pixmap in list box \fIlb\fR.
+.PP
+See also paint() and width().
+.PP
+Reimplemented from QListBoxItem.
+.SH "void QListBoxPixmap::paint ( QPainter * painter )\fC [virtual protected]\fR"
+Draws the pixmap using \fIpainter\fR.
+.PP
+Reimplemented from QListBoxItem.
+.SH "const QPixmap * QListBoxPixmap::pixmap () const\fC [virtual]\fR"
+Returns the pixmap associated with the item.
+.PP
+Reimplemented from QListBoxItem.
+.SH "int QListBoxPixmap::width ( const QListBox * lb ) const\fC [virtual]\fR"
+Returns the width of the pixmap plus some margin in list box \fIlb\fR.
+.PP
+See also paint() and height().
+.PP
+Reimplemented from QListBoxItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistboxpixmap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistboxpixmap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistboxtext.3qt b/doc/man/man3/qlistboxtext.3qt
new file mode 100644
index 0000000..857dc25
--- /dev/null
+++ b/doc/man/man3/qlistboxtext.3qt
@@ -0,0 +1,98 @@
+'\" t
+.TH QListBoxText 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListBoxText \- List box items that display text
+.SH SYNOPSIS
+\fC#include <qlistbox.h>\fR
+.PP
+Inherits QListBoxItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListBoxText\fR ( QListBox * listbox, const QString & text = QString::null )"
+.br
+.ti -1c
+.BI "\fBQListBoxText\fR ( const QString & text = QString::null )"
+.br
+.ti -1c
+.BI "\fBQListBoxText\fR ( QListBox * listbox, const QString & text, QListBoxItem * after )"
+.br
+.ti -1c
+.BI "\fB~QListBoxText\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBheight\fR ( const QListBox * lb ) const"
+.br
+.ti -1c
+.BI "virtual int \fBwidth\fR ( const QListBox * lb ) const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * painter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListBoxText class provides list box items that display text.
+.PP
+The text is drawn in the widget's current font. If you need several different fonts, you must implement your own subclass of QListBoxItem.
+.PP
+See also QListBox, QListBoxItem, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListBoxText::QListBoxText ( QListBox * listbox, const QString & text = QString::null )"
+Constructs a list box item in list box \fIlistbox\fR showing the text \fItext\fR.
+.SH "QListBoxText::QListBoxText ( const QString & text = QString::null )"
+Constructs a list box item showing the text \fItext\fR.
+.SH "QListBoxText::QListBoxText ( QListBox * listbox, const QString & text, QListBoxItem * after )"
+Constructs a list box item in list box \fIlistbox\fR showing the text \fItext\fR. The item is inserted after the item \fIafter\fR, or at the beginning if \fIafter\fR is 0.
+.SH "QListBoxText::~QListBoxText ()"
+Destroys the item.
+.SH "int QListBoxText::height ( const QListBox * lb ) const\fC [virtual]\fR"
+Returns the height of a line of text in list box \fIlb\fR.
+.PP
+See also paint() and width().
+.PP
+Reimplemented from QListBoxItem.
+.SH "void QListBoxText::paint ( QPainter * painter )\fC [virtual protected]\fR"
+Draws the text using \fIpainter\fR.
+.PP
+Reimplemented from QListBoxItem.
+.SH "int QListBoxText::width ( const QListBox * lb ) const\fC [virtual]\fR"
+Returns the width of this line in list box \fIlb\fR.
+.PP
+See also paint() and height().
+.PP
+Reimplemented from QListBoxItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistboxtext.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistboxtext.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistview.3qt b/doc/man/man3/qlistview.3qt
new file mode 100644
index 0000000..f9975c5
--- /dev/null
+++ b/doc/man/man3/qlistview.3qt
@@ -0,0 +1,1108 @@
+'\" t
+.TH QListView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListView \- Implements a list/tree view
+.SH SYNOPSIS
+\fC#include <qlistview.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListView\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QListView\fR ()"
+.br
+.ti -1c
+.BI "int \fBtreeStepSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTreeStepSize\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertItem\fR ( QListViewItem * i )"
+.br
+.ti -1c
+.BI "virtual void \fBtakeItem\fR ( QListViewItem * i )"
+.br
+.ti -1c
+.BI "virtual void removeItem ( QListViewItem * item ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QHeader * \fBheader\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBaddColumn\fR ( const QString & label, int width = -1 )"
+.br
+.ti -1c
+.BI "virtual int \fBaddColumn\fR ( const QIconSet & iconset, const QString & label, int width = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveColumn\fR ( int index )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnText\fR ( int column, const QString & label )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnText\fR ( int column, const QIconSet & iconset, const QString & label )"
+.br
+.ti -1c
+.BI "QString \fBcolumnText\fR ( int c ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnWidth\fR ( int column, int w )"
+.br
+.ti -1c
+.BI "int \fBcolumnWidth\fR ( int c ) const"
+.br
+.ti -1c
+.BI "enum \fBWidthMode\fR { Manual, Maximum }"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnWidthMode\fR ( int c, WidthMode mode )"
+.br
+.ti -1c
+.BI "WidthMode \fBcolumnWidthMode\fR ( int c ) const"
+.br
+.ti -1c
+.BI "int \fBcolumns\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnAlignment\fR ( int column, int align )"
+.br
+.ti -1c
+.BI "int \fBcolumnAlignment\fR ( int column ) const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBitemAt\fR ( const QPoint & viewPos ) const"
+.br
+.ti -1c
+.BI "QRect \fBitemRect\fR ( const QListViewItem * i ) const"
+.br
+.ti -1c
+.BI "int \fBitemPos\fR ( const QListViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBensureItemVisible\fR ( const QListViewItem * i )"
+.br
+.ti -1c
+.BI "void \fBrepaintItem\fR ( const QListViewItem * item ) const"
+.br
+.ti -1c
+.BI "virtual void setMultiSelection ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isMultiSelection () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBSelectionMode\fR { Single, Multi, Extended, NoSelection }"
+.br
+.ti -1c
+.BI "void \fBsetSelectionMode\fR ( SelectionMode mode )"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBclearSelection\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( QListViewItem * item, bool selected )"
+.br
+.ti -1c
+.BI "void \fBsetSelectionAnchor\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR ( const QListViewItem * i ) const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBselectedItem\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpen\fR ( QListViewItem * item, bool open )"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR ( const QListViewItem * item ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentItem\fR ( QListViewItem * i )"
+.br
+.ti -1c
+.BI "QListViewItem * \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBfirstChild\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBlastItem\fR () const"
+.br
+.ti -1c
+.BI "int \fBchildCount\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAllColumnsShowFocus\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBallColumnsShowFocus\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetItemMargin\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBitemMargin\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRootIsDecorated\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBrootIsDecorated\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSorting\fR ( int column, bool ascending = TRUE )"
+.br
+.ti -1c
+.BI "int \fBsortColumn\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSortColumn\fR ( int column )"
+.br
+.ti -1c
+.BI "SortOrder \fBsortOrder\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSortOrder\fR ( SortOrder order )"
+.br
+.ti -1c
+.BI "virtual void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBeventFilter\fR ( QObject * o, QEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBsetShowSortIndicator\fR ( bool show )"
+.br
+.ti -1c
+.BI "bool \fBshowSortIndicator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetShowToolTips\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBshowToolTips\fR () const"
+.br
+.ti -1c
+.BI "enum \fBResizeMode\fR { NoColumn, AllColumns, LastColumn }"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizeMode\fR ( ResizeMode m )"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBfindItem\fR ( const QString & text, int column, ComparisonFlags compare = ExactMatch | CaseSensitive ) const"
+.br
+.ti -1c
+.BI "enum \fBRenameAction\fR { Accept, Reject }"
+.br
+.ti -1c
+.BI "virtual void \fBsetDefaultRenameAction\fR ( RenameAction a )"
+.br
+.ti -1c
+.BI "RenameAction \fBdefaultRenameAction\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRenaming\fR () const"
+.br
+.ti -1c
+.BI "void \fBhideColumn\fR ( int column )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinvertSelection\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ( bool select )"
+.br
+.ti -1c
+.BI "void \fBtriggerUpdate\fR ()"
+.br
+.ti -1c
+.BI "void \fBadjustColumn\fR ( int col )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ( QListViewItem * )"
+.br
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QListViewItem * )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( QListViewItem * item, const QPoint & pnt, int c )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( QListViewItem * item, const QPoint & pnt, int c )"
+.br
+.ti -1c
+.BI "void doubleClicked ( QListViewItem * item ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBdoubleClicked\fR ( QListViewItem *, const QPoint &, int )"
+.br
+.ti -1c
+.BI "void \fBreturnPressed\fR ( QListViewItem * )"
+.br
+.ti -1c
+.BI "void \fBspacePressed\fR ( QListViewItem * )"
+.br
+.ti -1c
+.BI "void \fBrightButtonClicked\fR ( QListViewItem *, const QPoint &, int )"
+.br
+.ti -1c
+.BI "void \fBrightButtonPressed\fR ( QListViewItem *, const QPoint &, int )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonPressed\fR ( int button, QListViewItem * item, const QPoint & pos, int c )"
+.br
+.ti -1c
+.BI "void \fBmouseButtonClicked\fR ( int button, QListViewItem * item, const QPoint & pos, int c )"
+.br
+.ti -1c
+.BI "void \fBcontextMenuRequested\fR ( QListViewItem * item, const QPoint & pos, int col )"
+.br
+.ti -1c
+.BI "void \fBonItem\fR ( QListViewItem * i )"
+.br
+.ti -1c
+.BI "void \fBonViewport\fR ()"
+.br
+.ti -1c
+.BI "void \fBexpanded\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBcollapsed\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "void \fBdropped\fR ( QDropEvent * e )"
+.br
+.ti -1c
+.BI "void \fBitemRenamed\fR ( QListViewItem * item, int col, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBitemRenamed\fR ( QListViewItem * item, int col )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBallColumnsShowFocus\fR - whether items should show keyboard focus using all columns"
+.br
+.ti -1c
+.BI "int \fBchildCount\fR - the number of parentless (top-level) QListViewItem objects in this QListView \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcolumns\fR - the number of columns in this list view \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "RenameAction \fBdefaultRenameAction\fR - what action to perform when the editor loses focus during renaming"
+.br
+.ti -1c
+.BI "int \fBitemMargin\fR - the advisory item margin that list items may use"
+.br
+.ti -1c
+.BI "bool multiSelection - whether the list view is in multi-selection or extended-selection mode \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "ResizeMode \fBresizeMode\fR - whether " "all" ", none or the only the last column should be resized"
+.br
+.ti -1c
+.BI "bool \fBrootIsDecorated\fR - whether the list view shows open/close signs on root items"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR - the list view's selection mode"
+.br
+.ti -1c
+.BI "bool \fBshowSortIndicator\fR - whether the list view header should display a sort indicator"
+.br
+.ti -1c
+.BI "bool \fBshowToolTips\fR - whether this list view should show tooltips for truncated column texts"
+.br
+.ti -1c
+.BI "int \fBtreeStepSize\fR - the number of pixels a child is offset from its parent"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBcontentsMousePressEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseReleaseEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseMoveEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseDoubleClickEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual QDragObject * \fBdragObject\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstartDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBresizeEvent\fR ( QResizeEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawContentsOffset\fR ( QPainter * p, int ox, int oy, int cx, int cy, int cw, int ch )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEmptyArea\fR ( QPainter * p, const QRect & rect )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "void \fBupdateContents\fR ()"
+.br
+.ti -1c
+.BI "void \fBdoAutoScroll\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListView class implements a list/tree view.
+.PP
+It can display and control a hierarchy of multi-column items, and provides the ability to add new items at any time. The user may select one or many items (depending on the SelectionMode) and sort the list in increasing or decreasing order by any column.
+.PP
+The simplest pattern of use is to create a QListView, add some column headers using addColumn() and create one or more QListViewItem or QCheckListItem objects with the QListView as parent:
+.PP
+.nf
+.br
+ QListView * table;
+.fi
+.PP
+.nf
+.br
+ table->addColumn( "Qualified name" );
+.br
+ table->addColumn( "Namespace" );
+.fi
+.PP
+.nf
+.br
+ element = new QListViewItem( table, qName, namespaceURI );
+.fi
+.PP
+Further nodes can be added to the list view object (the root of the tree) or as child nodes to QListViewItems:
+.PP
+.nf
+.br
+ for ( int i = 0 ; i < attributes.length(); i++ ) {
+.br
+ new QListViewItem( element, attributes.qName(i), attributes.uri(i) );
+.br
+ }
+.fi
+.PP
+(From xml/tagreader-with-features/structureparser.cpp)
+.PP
+The main setup functions are: <center>.nf
+.TS
+l - l. Function Action addColumn() Adds a column with a text label and perhaps width. Columns are counted from the left starting with column 0. setColumnWidthMode() Sets the column to be resized automatically or not. setAllColumnsShowFocus() Sets whether items should show keyboard focus using all columns or just column 0. The default is to show focus just using column 0. setRootIsDecorated() Sets whether root items should show open/close decoration to their left. The default is FALSE. setTreeStepSize() Sets how many pixels an item's children are indented relative to their parent. The default is 20. This is mostly a matter of taste. setSorting()
+.TE
+.fi
+</center>
+.PP
+To handle events such as mouse presses on the list view, derived classes can reimplement the QScrollView functions: contentsMousePressEvent, contentsMouseReleaseEvent, contentsMouseDoubleClickEvent, contentsMouseMoveEvent, contentsDragEnterEvent, contentsDragMoveEvent, contentsDragLeaveEvent, contentsDropEvent, and contentsWheelEvent.
+.PP
+There are also several functions for mapping between items and coordinates. itemAt() returns the item at a position on-screen, itemRect() returns the rectangle an item occupies on the screen, and itemPos() returns the position of any item (whether it is on-screen or not). firstChild() returns the list view's first item (not necessarily visible on-screen).
+.PP
+You can iterate over visible items using QListViewItem::itemBelow(); over a list view's top-level items using QListViewItem::firstChild() and QListViewItem::nextSibling(); or every item using a QListViewItemIterator. See the QListViewItem documentation for examples of traversal.
+.PP
+An item can be moved amongst its siblings using QListViewItem::moveItem(). To move an item in the hierarchy use takeItem() and insertItem(). Item's (and all their child items) are deleted with \fCdelete\fR; to delete all the list view's items use clear().
+.PP
+There are a variety of selection modes described in the QListView::SelectionMode documentation. The default is Single selection, which you can change using setSelectionMode().
+.PP
+Because QListView offers multiple selection it must display keyboard focus and selection state separately. Therefore there are functions both to set the selection state of an item (setSelected()) and to set which item displays keyboard focus (setCurrentItem()).
+.PP
+QListView emits two groups of signals; one group signals changes in selection/focus state and one indicates selection. The first group consists of selectionChanged() (applicable to all list views), selectionChanged(QListViewItem*) (applicable only to a Single selection list view), and currentChanged(QListViewItem*). The second group consists of doubleClicked(QListViewItem*), returnPressed(QListViewItem*), rightButtonClicked(QListViewItem*, const QPoint&, int), etc.
+.PP
+Note that changing the state of the list view in a slot connected to a list view signal may cause unexpected side effects. If you need to change the list view's state in response to a signal, use a single shot timer with a time out of 0, and connect this timer to a slot that modifies the list view's state.
+.PP
+In Motif style, QListView deviates fairly strongly from the look and feel of the Motif hierarchical tree view. This is done mostly to provide a usable keyboard interface and to make the list view look better with a white background.
+.PP
+If selectionMode() is Single (the default) the user can select one item at a time, e.g. by clicking an item with the mouse, see QListView::SelectionMode for details.
+.PP
+The list view can be navigated either using the mouse or the keyboard. Clicking a \fB-\fR icon closes an item (hides its children) and clicking a \fB+\fR icon opens an item (shows its children). The keyboard controls are these: <center>.nf
+.TS
+l - l. Keypress Action Home Make the first item current and visible. End Make the last item current and visible. Page Up Make the item above the top visible item current and visible. Page Down Make the item below the bottom visible item current and visible. Up Arrow Make the item above the current item current and visible. Down Arrow Make the item below the current item current and visible. Left Arrow If the current item is closed ( Right Arrow If the current item is closed (
+.TE
+.fi
+</center>
+.PP
+If the user starts typing letters with the focus in the list view an incremental search will occur. For example if the user types 'd' the current item will change to the first item that begins with the letter 'd'; if they then type 'a', the current item will change to the first item that begins with 'da', and so on. If no item begins with the letters they type the current item doesn't change.
+.PP
+\fBWarning:\fR The list view assumes ownership of all list view items and will delete them when it does not need them any more.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QListViewItem, QCheckListItem, and Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QListView::RenameAction"
+This enum describes whether a rename operation is accepted if the rename editor loses focus without the user pressing Enter.
+.TP
+\fCQListView::Accept\fR - Rename if Enter is pressed or focus is lost.
+.TP
+\fCQListView::Reject\fR - Discard the rename operation if focus is lost (and Enter has not been pressed).
+.SH "QListView::ResizeMode"
+This enum describes how the list view's header adjusts to resize events which affect the width of the list view.
+.TP
+\fCQListView::NoColumn\fR - The columns do not get resized in resize events.
+.TP
+\fCQListView::AllColumns\fR - All columns are resized equally to fit the width of the list view.
+.TP
+\fCQListView::LastColumn\fR - The last column is resized to fit the width of the list view.
+.SH "QListView::SelectionMode"
+This enumerated type is used by QListView to indicate how it reacts to selection by the user.
+.TP
+\fCQListView::Single\fR - When the user selects an item, any already-selected item becomes unselected. The user can unselect the selected item by clicking on some empty space within the view.
+.TP
+\fCQListView::Multi\fR - When the user selects an item in the usual way, the selection status of that item is toggled and the other items are left alone. Also, multiple items can be selected by dragging the mouse while the left mouse button stays pressed.
+.TP
+\fCQListView::Extended\fR - When the user selects an item in the usual way, the selection is cleared and the new item selected. However, if the user presses the Ctrl key when clicking on an item, the clicked item gets toggled and all other items are left untouched. And if the user presses the Shift key while clicking on an item, all items between the current item and the clicked item get selected or unselected, depending on the state of the clicked item. Also, multiple items can be selected by dragging the mouse over them.
+.TP
+\fCQListView::NoSelection\fR - Items cannot be selected.
+.PP
+In other words, Single is a real single-selection list view, Multi a real multi-selection list view, Extended is a list view where users can select multiple items but usually want to select either just one or a range of contiguous items, and NoSelection is a list view where the user can look but not touch.
+.SH "QListView::WidthMode"
+This enum type describes how the width of a column in the view changes.
+.TP
+\fCQListView::Manual\fR - the column width does not change automatically.
+.TP
+\fCQListView::Maximum\fR - the column is automatically sized according to the widths of all items in the column. (Note: The column never shrinks in this case.) This means that the column is always resized to the width of the item with the largest width in the column.
+.PP
+See also setColumnWidth(), setColumnWidthMode(), and columnWidth().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListView::QListView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a new empty list view called \fIname\fR with parent \fIparent\fR.
+.PP
+Performance is boosted by modifying the widget flags \fIf\fR so that only part of the QListViewItem children is redrawn. This may be unsuitable for custom QListViewItem classes, in which case WStaticContents and WNoAutoErase should be cleared.
+.PP
+See also QWidget::clearWFlags() and Qt::WidgetFlags.
+.SH "QListView::~QListView ()"
+Destroys the list view, deleting all its items, and frees up all allocated resources.
+.SH "int QListView::addColumn ( const QString & label, int width = -1 )\fC [virtual]\fR"
+Adds a \fIwidth\fR pixels wide column with the column header \fIlabel\fR to the list view, and returns the index of the new column.
+.PP
+All columns apart from the first one are inserted to the right of the existing ones.
+.PP
+If \fIwidth\fR is negative, the new column's WidthMode is set to Maximum instead of Manual.
+.PP
+See also setColumnText(), setColumnWidth(), and setColumnWidthMode().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, checklists/checklists.cpp, dirview/main.cpp, fileiconview/mainwindow.cpp, listviews/listviews.cpp, and qdir/qdir.cpp.
+.SH "int QListView::addColumn ( const QIconSet & iconset, const QString & label, int width = -1 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a \fIwidth\fR pixels wide new column with the header \fIlabel\fR and the \fIiconset\fR to the list view, and returns the index of the column.
+.PP
+If \fIwidth\fR is negative, the new column's WidthMode is set to Maximum, and to Manual otherwise.
+.PP
+See also setColumnText(), setColumnWidth(), and setColumnWidthMode().
+.SH "void QListView::adjustColumn ( int col )\fC [slot]\fR"
+Adjusts the column \fIcol\fR to its preferred width
+.SH "bool QListView::allColumnsShowFocus () const"
+Returns TRUE if items should show keyboard focus using all columns; otherwise returns FALSE. See the "allColumnsShowFocus" property for details.
+.SH "int QListView::childCount () const"
+Returns the number of parentless (top-level) QListViewItem objects in this QListView. See the "childCount" property for details.
+.SH "void QListView::clear ()\fC [virtual slot]\fR"
+Removes and deletes all the items in this list view and triggers an update.
+.PP
+Note that the currentChanged() signal is not emitted when this slot is invoked.
+.PP
+See also triggerUpdate().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, checklists/checklists.cpp, listviews/listviews.cpp, and qutlook/centralwidget.cpp.
+.SH "void QListView::clearSelection ()\fC [virtual]\fR"
+Sets all the items to be not selected, updates the list view as necessary, and emits the selectionChanged() signals. Note that for Multi selection list views this function needs to iterate over \fIall\fR items.
+.PP
+See also setSelected() and multiSelection.
+.PP
+Example: addressbook/centralwidget.cpp.
+.SH "void QListView::clicked ( QListViewItem * item )\fC [signal]\fR"
+This signal is emitted whenever the user clicks (mouse pressed \fIand\fR mouse released) in the list view. \fIitem\fR is the clicked list view item, or 0 if the user didn't click on an item.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.PP
+Example: addressbook/centralwidget.cpp.
+.SH "void QListView::clicked ( QListViewItem * item, const QPoint & pnt, int c )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted whenever the user clicks (mouse pressed \fIand\fR mouse released) in the list view. \fIitem\fR is the clicked list view item, or 0 if the user didn't click on an item. \fIpnt\fR is the position where the user has clicked in global coordinates. If \fIitem\fR is not 0, \fIc\fR is the list view column into which the user pressed; if \fIitem\fR is 0 \fIc\fR's value is undefined.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::collapsed ( QListViewItem * item )\fC [signal]\fR"
+This signal is emitted when the \fIitem\fR has been collapsed, i.e. when the children of \fIitem\fR are hidden.
+.PP
+See also setOpen() and expanded().
+.SH "int QListView::columnAlignment ( int column ) const"
+Returns the alignment of column \fIcolumn\fR. The default is AlignAuto.
+.PP
+See also Qt::AlignmentFlags.
+.SH "QString QListView::columnText ( int c ) const"
+Returns the text of column \fIc\fR.
+.PP
+See also setColumnText().
+.SH "int QListView::columnWidth ( int c ) const"
+Returns the width of column \fIc\fR.
+.PP
+See also setColumnWidth().
+.SH "WidthMode QListView::columnWidthMode ( int c ) const"
+Returns the WidthMode for column \fIc\fR.
+.PP
+See also setColumnWidthMode().
+.SH "int QListView::columns () const"
+Returns the number of columns in this list view. See the "columns" property for details.
+.SH "void QListView::contentsMouseDoubleClickEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Processes the mouse double-click event \fIe\fR on behalf of the viewed widget.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::contentsMouseMoveEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Processes the mouse move event \fIe\fR on behalf of the viewed widget.
+.PP
+Example: dirview/dirview.cpp.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::contentsMousePressEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Processes the mouse press event \fIe\fR on behalf of the viewed widget.
+.PP
+Example: dirview/dirview.cpp.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::contentsMouseReleaseEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Processes the mouse release event \fIe\fR on behalf of the viewed widget.
+.PP
+Example: dirview/dirview.cpp.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::contextMenuRequested ( QListViewItem * item, const QPoint & pos, int col )\fC [signal]\fR"
+This signal is emitted when the user invokes a context menu with the right mouse button or with special system keys. If the keyboard was used \fIitem\fR is the current item; if the mouse was used, \fIitem\fR is the item under the mouse pointer or 0 if there is no item under the mouse pointer. If no item is clicked, the column index emitted is -1.
+.PP
+\fIpos\fR is the position for the context menu in the global coordinate system.
+.PP
+\fIcol\fR is the column on which the user pressed, or -1 if the signal was triggered by a key event.
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QListView::currentChanged ( QListViewItem * )\fC [signal]\fR"
+This signal is emitted whenever the current item has changed (normally after the screen update). The current item is the item responsible for indicating keyboard focus.
+.PP
+The argument is the newly current item, or 0 if the change made no item current. This can happen, for example, if all items in the list view are deleted.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.PP
+See also setCurrentItem() and currentItem().
+.PP
+Example: listviews/listviews.cpp.
+.SH "QListViewItem * QListView::currentItem () const"
+Returns the current item, or 0 if there isn't one.
+.PP
+See also setCurrentItem().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, listviews/listviews.cpp, and qutlook/centralwidget.cpp.
+.SH "RenameAction QListView::defaultRenameAction () const"
+Returns what action to perform when the editor loses focus during renaming. See the "defaultRenameAction" property for details.
+.SH "void QListView::doAutoScroll ()\fC [protected slot]\fR"
+This slot handles auto-scrolling when the mouse button is pressed and the mouse is outside the widget.
+.SH "void QListView::doubleClicked ( QListViewItem *, const QPoint &, int )\fC [signal]\fR"
+This signal is emitted whenever an item is double-clicked. It's emitted on the second button press, not the second button release. The arguments are the relevant QListViewItem (may be 0), the point in global coordinates and the relevant column (or -1 if the click was outside the list).
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::doubleClicked ( QListViewItem * item )\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. (use doubleClicked( QListViewItem *, const QPoint&, int ))
+.PP
+This signal is emitted whenever an item is double-clicked. It's emitted on the second button press, not the second button release. \fIitem\fR is the list view item on which the user did the double-click.
+.SH "QDragObject * QListView::dragObject ()\fC [virtual protected]\fR"
+If the user presses the mouse on an item and starts moving the mouse, and the item allow dragging (see QListViewItem::setDragEnabled()), this function is called to get a drag object and a drag is started unless dragObject() returns 0.
+.PP
+By default this function returns 0. You should reimplement it and create a QDragObject depending on the selected items.
+.SH "void QListView::drawContentsOffset ( QPainter * p, int ox, int oy, int cx, int cy, int cw, int ch )\fC [virtual protected]\fR"
+Calls QListViewItem::paintCell() and QListViewItem::paintBranches() as necessary for all list view items that require repainting in the \fIcw\fR pixels wide and \fIch\fR pixels high bounding rectangle starting at position \fIcx\fR, \fIcy\fR with offset \fIox\fR, \fIoy\fR. Uses the painter \fIp\fR.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::dropped ( QDropEvent * e )\fC [signal]\fR"
+This signal is emitted, when a drop event occurred on the viewport (not onto an item).
+.PP
+\fIe\fR provides all the information about the drop.
+.SH "void QListView::ensureItemVisible ( const QListViewItem * i )"
+Ensures that item \fIi\fR is visible, scrolling the list view vertically if necessary and opening (expanding) any parent items if this is required to show the item.
+.PP
+See also itemRect() and QScrollView::ensureVisible().
+.SH "bool QListView::eventFilter ( QObject * o, QEvent * e )\fC [virtual]\fR"
+Redirects the event \fIe\fR relating to object \fIo\fR, for the viewport to mousePressEvent(), keyPressEvent() and friends.
+.PP
+Reimplemented from QScrollView.
+.SH "void QListView::expanded ( QListViewItem * item )\fC [signal]\fR"
+This signal is emitted when \fIitem\fR has been expanded, i.e. when the children of \fIitem\fR are shown.
+.PP
+See also setOpen() and collapsed().
+.SH "QListViewItem * QListView::findItem ( const QString & text, int column, ComparisonFlags compare = ExactMatch | CaseSensitive ) const"
+Finds the first list view item in column \fIcolumn\fR, that matches \fItext\fR and returns the item, or returns 0 of no such item could be found. The search starts from the current item if the current item exists, otherwise it starts from the first list view item. After reaching the last item the search continues from the first item. Pass OR-ed together Qt::StringComparisonMode values in the \fIcompare\fR flag, to control how the matching is performed. The default comparison mode is case-sensitive, exact match.
+.SH "QListViewItem * QListView::firstChild () const"
+Returns the first item in this QListView. Returns 0 if there is no first item.
+.PP
+A list view's items can be traversed using firstChild() and nextSibling() or using a QListViewItemIterator.
+.PP
+See also itemAt(), QListViewItem::itemBelow(), and QListViewItem::itemAbove().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp and listviews/listviews.cpp.
+.SH "QHeader * QListView::header () const"
+Returns the QHeader object that manages this list view's columns. Please don't modify the header behind the list view's back.
+.PP
+You may safely call QHeader::setClickEnabled(), QHeader::setResizeEnabled(), QHeader::setMovingEnabled(), QHeader::hide() and all the const QHeader functions.
+.PP
+Examples:
+.)l listviews/listviews.cpp and qdir/qdir.cpp.
+.SH "void QListView::hideColumn ( int column )"
+Hides the column specified at \fIcolumn\fR. This is a convenience function that calls setColumnWidth( \fIcolumn\fR, 0 ).
+.PP
+Note: The user may still be able to resize the hidden column using the header handles. To prevent this, call setResizeEnabled(FALSE, \fIcolumn\fR) on the list views header.
+.PP
+See also setColumnWidth().
+.SH "void QListView::insertItem ( QListViewItem * i )\fC [virtual]\fR"
+Inserts item \fIi\fR into the list view as a top-level item. You do not need to call this unless you've called takeItem(\fIi\fR) or QListViewItem::takeItem(\fIi\fR) and need to reinsert \fIi\fR elsewhere.
+.PP
+See also QListViewItem::takeItem() and takeItem().
+.SH "void QListView::invertSelection ()\fC [virtual slot]\fR"
+Inverts the selection. Only works in Multi and Extended selection modes.
+.SH "bool QListView::isMultiSelection () const"
+Returns TRUE if the list view is in multi-selection or extended-selection mode; otherwise returns FALSE. See the "multiSelection" property for details.
+.SH "bool QListView::isOpen ( const QListViewItem * item ) const"
+Identical to \fIitem\fR->isOpen(). Provided for completeness.
+.PP
+See also setOpen().
+.SH "bool QListView::isRenaming () const"
+Returns TRUE if an item is being renamed; otherwise returns FALSE.
+.SH "bool QListView::isSelected ( const QListViewItem * i ) const"
+Returns TRUE if the list view item \fIi\fR is selected; otherwise returns FALSE.
+.PP
+See also QListViewItem::isSelected().
+.SH "QListViewItem * QListView::itemAt ( const QPoint & viewPos ) const"
+Returns the list view item at \fIviewPos\fR. Note that \fIviewPos\fR is in the viewport()'s coordinate system, not in the list view's own, much larger, coordinate system.
+.PP
+itemAt() returns 0 if there is no such item.
+.PP
+Note that you also get the pointer to the item if \fIviewPos\fR points to the root decoration (see setRootIsDecorated()) of the item. To check whether or not \fIviewPos\fR is on the root decoration of the item, you can do something like this:
+.PP
+.nf
+.br
+ QListViewItem *i = itemAt( p );
+.br
+ if ( i ) {
+.br
+ if ( p.x() > header()->sectionPos( header()->mapToIndex( 0 ) ) +
+.br
+ treeStepSize() * ( i->depth() + ( rootIsDecorated() ? 1 : 0) ) + itemMargin() ||
+.br
+ p.x() < header()->sectionPos( header()->mapToIndex( 0 ) ) ) {
+.br
+ ; // p is not on root decoration
+.br
+ else
+.br
+ ; // p is on the root decoration
+.br
+ }
+.br
+.fi
+.PP
+This might be interesting if you use this function to find out where the user clicked and if you want to start a drag (which you do not want to do if the user clicked onto the root decoration of an item).
+.PP
+See also itemPos(), itemRect(), and viewportToContents().
+.SH "int QListView::itemMargin () const"
+Returns the advisory item margin that list items may use. See the "itemMargin" property for details.
+.SH "int QListView::itemPos ( const QListViewItem * item )"
+Returns the y-coordinate of \fIitem\fR in the list view's coordinate system. This function is normally much slower than itemAt() but it works for all items, whereas itemAt() normally works only for items on the screen.
+.PP
+This is a thin wrapper around QListViewItem::itemPos().
+.PP
+See also itemAt() and itemRect().
+.SH "QRect QListView::itemRect ( const QListViewItem * i ) const"
+Returns the rectangle on the screen that item \fIi\fR occupies in viewport()'s coordinates, or an invalid rectangle if \fIi\fR is 0 or is not currently visible.
+.PP
+The rectangle returned does not include any children of the rectangle (i.e. it uses QListViewItem::height(), rather than QListViewItem::totalHeight()). If you want the rectangle to include children you can use something like this:
+.PP
+.nf
+.br
+ QRect r( listView->itemRect( item ) );
+.br
+ r.setHeight( (QCOORD)(QMIN( item->totalHeight(),
+.br
+ listView->viewport->height() - r.y() ) ) )
+.br
+.fi
+.PP
+Note the way it avoids too-high rectangles. totalHeight() can be much larger than the window system's coordinate system allows.
+.PP
+itemRect() is comparatively slow. It's best to call it only for items that are probably on-screen.
+.SH "void QListView::itemRenamed ( QListViewItem * item, int col, const QString & text )\fC [signal]\fR"
+This signal is emitted when \fIitem\fR has been renamed to \fItext\fR, e.g. by in in-place renaming, in column \fIcol\fR.
+.PP
+See also QListViewItem::setRenameEnabled().
+.SH "void QListView::itemRenamed ( QListViewItem * item, int col )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when \fIitem\fR has been renamed, e.g. by in-place renaming, in column \fIcol\fR.
+.PP
+See also QListViewItem::setRenameEnabled().
+.SH "QListViewItem * QListView::lastItem () const"
+Returns the last item in the list view tree. Returns 0 if there are no items in the QListView.
+.PP
+This function is slow because it traverses the entire tree to find the last item.
+.SH "void QListView::mouseButtonClicked ( int button, QListViewItem * item, const QPoint & pos, int c )\fC [signal]\fR"
+This signal is emitted whenever the user clicks (mouse pressed \fIand\fR mouse released) in the list view at position \fIpos\fR. \fIbutton\fR is the mouse button that the user pressed, \fIitem\fR is the clicked list view item or 0 if the user didn't click on an item. If \fIitem\fR is not 0, \fIc\fR is the list view column into which the user pressed; if \fIitem\fR is 0 \fIc\fR's value is undefined.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::mouseButtonPressed ( int button, QListViewItem * item, const QPoint & pos, int c )\fC [signal]\fR"
+This signal is emitted whenever the user pressed the mouse button in the list view at position \fIpos\fR. \fIbutton\fR is the mouse button which the user pressed, \fIitem\fR is the pressed list view item or 0 if the user didn't press on an item. If \fIitem\fR is not 0, \fIc\fR is the list view column into which the user pressed; if \fIitem\fR is 0 \fIc\fR's value is undefined.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::onItem ( QListViewItem * i )\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor onto item \fIi\fR, similar to the QWidget::enterEvent() function.
+.SH "void QListView::onViewport ()\fC [signal]\fR"
+This signal is emitted when the user moves the mouse cursor from an item to an empty part of the list view.
+.SH "void QListView::paintEmptyArea ( QPainter * p, const QRect & rect )\fC [virtual protected]\fR"
+Paints \fIrect\fR so that it looks like empty background using painter \fIp\fR. \fIrect\fR is in widget coordinates, ready to be fed to \fIp\fR.
+.PP
+The default function fills \fIrect\fR with the viewport()->backgroundBrush().
+.SH "void QListView::pressed ( QListViewItem * item )\fC [signal]\fR"
+This signal is emitted whenever the user presses the mouse button in a list view. \fIitem\fR is the list view item on which the user pressed the mouse button, or 0 if the user didn't press the mouse on an item.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::pressed ( QListViewItem * item, const QPoint & pnt, int c )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted whenever the user presses the mouse button in a list view. \fIitem\fR is the list view item on which the user pressed the mouse button, or 0 if the user didn't press the mouse on an item. \fIpnt\fR is the position of the mouse cursor in global coordinates, and \fIc\fR is the column where the mouse cursor was when the user pressed the mouse button.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.SH "void QListView::removeColumn ( int index )\fC [virtual]\fR"
+Removes the column at position \fIindex\fR.
+.PP
+If no columns remain after the column is removed, the list view will be cleared.
+.PP
+See also clear().
+.SH "void QListView::removeItem ( QListViewItem * item )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function has been renamed takeItem().
+.SH "void QListView::repaintItem ( const QListViewItem * item ) const"
+Repaints \fIitem\fR on the screen if \fIitem\fR is currently visible. Takes care to avoid multiple repaints.
+.SH "void QListView::resizeEvent ( QResizeEvent * e )\fC [virtual protected]\fR"
+Ensures that the header is correctly sized and positioned when the resize event \fIe\fR occurs.
+.SH "ResizeMode QListView::resizeMode () const"
+Returns TRUE if all, none or the only the last column should be resized; otherwise returns FALSE. See the "resizeMode" property for details.
+.SH "void QListView::returnPressed ( QListViewItem * )\fC [signal]\fR"
+This signal is emitted when Enter or Return is pressed. The argument is the currentItem().
+.SH "void QListView::rightButtonClicked ( QListViewItem *, const QPoint &, int )\fC [signal]\fR"
+This signal is emitted when the right button is clicked (i.e. when it's released). The arguments are the relevant QListViewItem (may be 0), the point in global coordinates and the relevant column (or -1 if the click was outside the list).
+.SH "void QListView::rightButtonPressed ( QListViewItem *, const QPoint &, int )\fC [signal]\fR"
+This signal is emitted when the right button is pressed. The arguments are the relevant QListViewItem (may be 0), the point in global coordinates and the relevant column (or -1 if the click was outside the list).
+.SH "bool QListView::rootIsDecorated () const"
+Returns TRUE if the list view shows open/close signs on root items; otherwise returns FALSE. See the "rootIsDecorated" property for details.
+.SH "void QListView::selectAll ( bool select )\fC [virtual slot]\fR"
+If \fIselect\fR is TRUE, all the items get selected; otherwise all the items get unselected. This only works in the selection modes Multi and Extended. In Single and NoSelection mode the selection of the current item is just set to \fIselect\fR.
+.SH "QListViewItem * QListView::selectedItem () const"
+Returns the selected item if the list view is in Single selection mode and an item is selected.
+.PP
+If no items are selected or the list view is not in Single selection mode this function returns 0.
+.PP
+See also setSelected() and multiSelection.
+.SH "void QListView::selectionChanged ()\fC [signal]\fR"
+This signal is emitted whenever the set of selected items has changed (normally before the screen update). It is available in Single, Multi, and Extended selection modes, but is most useful in Multi selection mode.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.PP
+See also setSelected() and QListViewItem::setSelected().
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QListView::selectionChanged ( QListViewItem * )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted whenever the selected item has changed in Single selection mode (normally after the screen update). The argument is the newly selected item. If the selection is cleared (when, for example, the user clicks in the unused area of the list view) then this signal will not be emitted.
+.PP
+In Multi selection mode, use the no argument overload of this signal.
+.PP
+\fBWarning:\fR Do not delete any QListViewItem objects in slots connected to this signal.
+.PP
+See also setSelected(), QListViewItem::setSelected(), and currentChanged().
+.SH "SelectionMode QListView::selectionMode () const"
+Returns the list view's selection mode. See the "selectionMode" property for details.
+.SH "void QListView::setAllColumnsShowFocus ( bool )\fC [virtual]\fR"
+Sets whether items should show keyboard focus using all columns. See the "allColumnsShowFocus" property for details.
+.SH "void QListView::setColumnAlignment ( int column, int align )\fC [virtual]\fR"
+Sets column \fIcolumn\fR's alignment to \fIalign\fR. The alignment is ultimately passed to QListViewItem::paintCell() for each item in the list view. For horizontally aligned text with Qt::AlignLeft or Qt::AlignHCenter the ellipsis (...) will be to the right, for Qt::AlignRight the ellipsis will be to the left.
+.PP
+See also Qt::AlignmentFlags.
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QListView::setColumnText ( int column, const QString & label )\fC [virtual]\fR"
+Sets the heading of column \fIcolumn\fR to \fIlabel\fR.
+.PP
+See also columnText().
+.SH "void QListView::setColumnText ( int column, const QIconSet & iconset, const QString & label )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the heading of column \fIcolumn\fR to \fIiconset\fR and \fIlabel\fR.
+.PP
+See also columnText().
+.SH "void QListView::setColumnWidth ( int column, int w )\fC [virtual]\fR"
+Sets the width of column \fIcolumn\fR to \fIw\fR pixels. Note that if the column has a WidthMode other than Manual, this width setting may be subsequently overridden.
+.PP
+See also columnWidth().
+.SH "void QListView::setColumnWidthMode ( int c, WidthMode mode )\fC [virtual]\fR"
+Sets column \fIc\fR's width mode to \fImode\fR. The default depends on the original width argument to addColumn().
+.PP
+See also QListViewItem::width().
+.SH "void QListView::setCurrentItem ( QListViewItem * i )\fC [virtual]\fR"
+Sets item \fIi\fR to be the current item and repaints appropriately (i.e. highlights the item). The current item is used for keyboard navigation and focus indication; it is independent of any selected items, although a selected item can also be the current item.
+.PP
+This function does not set the selection anchor. Use setSelectionAnchor() instead.
+.PP
+See also currentItem() and setSelected().
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QListView::setDefaultRenameAction ( RenameAction a )\fC [virtual]\fR"
+Sets what action to perform when the editor loses focus during renaming to \fIa\fR. See the "defaultRenameAction" property for details.
+.SH "void QListView::setItemMargin ( int )\fC [virtual]\fR"
+Sets the advisory item margin that list items may use. See the "itemMargin" property for details.
+.SH "void QListView::setMultiSelection ( bool enable )\fC [virtual]\fR"
+Sets whether the list view is in multi-selection or extended-selection mode to \fIenable\fR. See the "multiSelection" property for details.
+.SH "void QListView::setOpen ( QListViewItem * item, bool open )\fC [virtual]\fR"
+Sets \fIitem\fR to be open if \fIopen\fR is TRUE and \fIitem\fR is expandable, and to be closed if \fIopen\fR is FALSE. Repaints accordingly.
+.PP
+See also QListViewItem::setOpen() and QListViewItem::setExpandable().
+.SH "void QListView::setResizeMode ( ResizeMode m )\fC [virtual]\fR"
+Sets whether all, none or the only the last column should be resized to \fIm\fR. See the "resizeMode" property for details.
+.SH "void QListView::setRootIsDecorated ( bool )\fC [virtual]\fR"
+Sets whether the list view shows open/close signs on root items. See the "rootIsDecorated" property for details.
+.SH "void QListView::setSelected ( QListViewItem * item, bool selected )\fC [virtual]\fR"
+If \fIselected\fR is TRUE the \fIitem\fR is selected; otherwise it is unselected.
+.PP
+If the list view is in Single selection mode and \fIselected\fR is TRUE, the currently selected item is unselected and \fIitem\fR is made current. Unlike QListViewItem::setSelected(), this function updates the list view as necessary and emits the selectionChanged() signals.
+.PP
+See also isSelected(), multiSelection, multiSelection, setCurrentItem(), and setSelectionAnchor().
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QListView::setSelectionAnchor ( QListViewItem * item )"
+Sets the selection anchor to \fIitem\fR, if \fIitem\fR is selectable.
+.PP
+The selection anchor is the item that remains selected when Shift-selecting with either mouse or keyboard in Extended selection mode.
+.PP
+See also setSelected().
+.SH "void QListView::setSelectionMode ( SelectionMode mode )"
+Sets the list view's selection mode to \fImode\fR. See the "selectionMode" property for details.
+.SH "void QListView::setShowSortIndicator ( bool show )\fC [virtual]\fR"
+Sets whether the list view header should display a sort indicator to \fIshow\fR. See the "showSortIndicator" property for details.
+.SH "void QListView::setShowToolTips ( bool b )\fC [virtual]\fR"
+Sets whether this list view should show tooltips for truncated column texts to \fIb\fR. See the "showToolTips" property for details.
+.SH "void QListView::setSortColumn ( int column )"
+Sets the sorting column for the list view.
+.PP
+If \fIcolumn\fR is -1, sorting is disabled and the user cannot sort columns by clicking on the column headers. If \fIcolumn\fR is larger than the number of columns the user must click on a column header to sort the list view.
+.PP
+See also setSorting().
+.SH "void QListView::setSortOrder ( SortOrder order )"
+Sets the sort order for the items in the list view to \fIorder\fR.
+.PP
+See also setSorting().
+.SH "void QListView::setSorting ( int column, bool ascending = TRUE )\fC [virtual]\fR"
+Sets the list view to be sorted by column \fIcolumn\fR in ascending order if \fIascending\fR is TRUE or descending order if it is FALSE.
+.PP
+If \fIcolumn\fR is -1, sorting is disabled and the user cannot sort columns by clicking on the column headers. If \fIcolumn\fR is larger than the number of columns the user must click on a column header to sort the list view.
+.SH "void QListView::setTreeStepSize ( int )\fC [virtual]\fR"
+Sets the number of pixels a child is offset from its parent. See the "treeStepSize" property for details.
+.SH "bool QListView::showSortIndicator () const"
+Returns TRUE if the list view header should display a sort indicator; otherwise returns FALSE. See the "showSortIndicator" property for details.
+.SH "bool QListView::showToolTips () const"
+Returns TRUE if this list view should show tooltips for truncated column texts; otherwise returns FALSE. See the "showToolTips" property for details.
+.SH "void QListView::sort ()\fC [virtual]\fR"
+Sorts the list view using the last sorting configuration (sort column and ascending/descending).
+.SH "int QListView::sortColumn () const"
+Returns the column by which the list view is sorted, or -1 if sorting is disabled.
+.PP
+See also sortOrder().
+.SH "SortOrder QListView::sortOrder () const"
+Returns the sorting order of the list view items.
+.PP
+See also sortColumn().
+.SH "void QListView::spacePressed ( QListViewItem * )\fC [signal]\fR"
+This signal is emitted when Space is pressed. The argument is the currentItem().
+.SH "void QListView::startDrag ()\fC [virtual protected]\fR"
+Starts a drag.
+.SH "void QListView::takeItem ( QListViewItem * i )\fC [virtual]\fR"
+Removes item \fIi\fR from the list view; \fIi\fR must be a top-level item. The warnings regarding QListViewItem::takeItem() apply to this function, too.
+.PP
+See also insertItem().
+.SH "int QListView::treeStepSize () const"
+Returns the number of pixels a child is offset from its parent. See the "treeStepSize" property for details.
+.SH "void QListView::triggerUpdate ()\fC [slot]\fR"
+Triggers a size, geometry and content update during the next iteration of the event loop. Ensures that there'll be just one update to avoid flicker.
+.SH "void QListView::updateContents ()\fC [protected slot]\fR"
+Updates the sizes of the viewport, header, scroll bars and so on.
+.PP
+\fBWarning:\fR Don't call this directly; call triggerUpdate() instead.
+.SS "Property Documentation"
+.SH "bool allColumnsShowFocus"
+This property holds whether items should show keyboard focus using all columns.
+.PP
+If this property is TRUE all columns will show focus and selection states, otherwise only column 0 will show focus.
+.PP
+The default is FALSE.
+.PP
+Setting this to TRUE if it's not necessary may cause noticeable flicker.
+.PP
+Set this property's value with setAllColumnsShowFocus() and get this property's value with allColumnsShowFocus().
+.SH "int childCount"
+This property holds the number of parentless (top-level) QListViewItem objects in this QListView.
+.PP
+Holds the current number of parentless (top-level) QListViewItem objects in this QListView.
+.PP
+See also QListViewItem::childCount().
+.PP
+Get this property's value with childCount().
+.SH "int columns"
+This property holds the number of columns in this list view.
+.PP
+Get this property's value with columns().
+.PP
+See also addColumn() and removeColumn().
+.SH "RenameAction defaultRenameAction"
+This property holds what action to perform when the editor loses focus during renaming.
+.PP
+If this property is Accept, and the user renames an item and the editor loses focus (without the user pressing Enter), the item will still be renamed. If the property's value is Reject, the item will not be renamed unless the user presses Enter. The default is Reject.
+.PP
+Set this property's value with setDefaultRenameAction() and get this property's value with defaultRenameAction().
+.SH "int itemMargin"
+This property holds the advisory item margin that list items may use.
+.PP
+The item margin defaults to one pixel and is the margin between the item's edges and the area where it draws its contents. QListViewItem::paintFocus() draws in the margin.
+.PP
+See also QListViewItem::paintCell().
+.PP
+Set this property's value with setItemMargin() and get this property's value with itemMargin().
+.SH "bool multiSelection"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds whether the list view is in multi-selection or extended-selection mode.
+.PP
+If you enable multi-selection, Multi, mode, it is possible to specify whether or not this mode should be extended. Extended means that the user can select multiple items only when pressing the Shift or Ctrl key at the same time.
+.PP
+The default selection mode is Single.
+.PP
+See also selectionMode.
+.PP
+Set this property's value with setMultiSelection() and get this property's value with isMultiSelection().
+.SH "ResizeMode resizeMode"
+This property holds whether all, none or the only the last column should be resized.
+.PP
+Specifies whether all, none or only the last column should be resized to fit the full width of the list view. The values for this property can be one of: NoColumn (the default), AllColumns or LastColumn.
+.PP
+\fBWarning:\fR Setting the resize mode should be done after all necessary columns have been added to the list view, otherwise the behavior is undefined.
+.PP
+See also QHeader and header().
+.PP
+Set this property's value with setResizeMode() and get this property's value with resizeMode().
+.SH "bool rootIsDecorated"
+This property holds whether the list view shows open/close signs on root items.
+.PP
+Open/close signs are small \fB+\fR or \fB-\fR symbols in windows style, or arrows in Motif style. The default is FALSE.
+.PP
+Set this property's value with setRootIsDecorated() and get this property's value with rootIsDecorated().
+.SH "SelectionMode selectionMode"
+This property holds the list view's selection mode.
+.PP
+The mode can be Single (the default), Extended, Multi or NoSelection.
+.PP
+See also multiSelection.
+.PP
+Set this property's value with setSelectionMode() and get this property's value with selectionMode().
+.SH "bool showSortIndicator"
+This property holds whether the list view header should display a sort indicator.
+.PP
+If this property is TRUE, an arrow is drawn in the header of the list view to indicate the sort order of the list view contents. The arrow will be drawn in the correct column and will point up or down, depending on the current sort direction. The default is FALSE (don't show an indicator).
+.PP
+See also QHeader::setSortIndicator().
+.PP
+Set this property's value with setShowSortIndicator() and get this property's value with showSortIndicator().
+.SH "bool showToolTips"
+This property holds whether this list view should show tooltips for truncated column texts.
+.PP
+The default is TRUE.
+.PP
+Set this property's value with setShowToolTips() and get this property's value with showToolTips().
+.SH "int treeStepSize"
+This property holds the number of pixels a child is offset from its parent.
+.PP
+The default is 20 pixels.
+.PP
+Of course, this property is only meaningful for hierarchical list views.
+.PP
+Set this property's value with setTreeStepSize() and get this property's value with treeStepSize().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistviewitem.3qt b/doc/man/man3/qlistviewitem.3qt
new file mode 100644
index 0000000..0ab0786
--- /dev/null
+++ b/doc/man/man3/qlistviewitem.3qt
@@ -0,0 +1,724 @@
+'\" t
+.TH QListViewItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListViewItem \- Implements a list view item
+.SH SYNOPSIS
+\fC#include <qlistview.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QCheckListItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListView * parent )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListViewItem * parent )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListView * parent, QListViewItem * after )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListViewItem * parent, QListViewItem * after )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListView * parent, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListViewItem * parent, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListView * parent, QListViewItem * after, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+.br
+.ti -1c
+.BI "\fBQListViewItem\fR ( QListViewItem * parent, QListViewItem * after, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+.br
+.ti -1c
+.BI "virtual \fB~QListViewItem\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsertItem\fR ( QListViewItem * newChild )"
+.br
+.ti -1c
+.BI "virtual void \fBtakeItem\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "virtual void removeItem ( QListViewItem * item ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBinvalidateHeight\fR ()"
+.br
+.ti -1c
+.BI "int \fBtotalHeight\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBwidth\fR ( const QFontMetrics & fm, const QListView * lv, int c ) const"
+.br
+.ti -1c
+.BI "void \fBwidthChanged\fR ( int c = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( int column, const QString & text )"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR ( int column ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( int column, const QPixmap & pm )"
+.br
+.ti -1c
+.BI "virtual const QPixmap * \fBpixmap\fR ( int column ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBkey\fR ( int column, bool ascending ) const"
+.br
+.ti -1c
+.BI "virtual int \fBcompare\fR ( QListViewItem * i, int col, bool ascending ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsortChildItems\fR ( int column, bool ascending )"
+.br
+.ti -1c
+.BI "int \fBchildCount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpen\fR ( bool o )"
+.br
+.ti -1c
+.BI "virtual void \fBsetup\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelected\fR ( bool s )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, const QColorGroup & cg, int column, int width, int align )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintBranches\fR ( QPainter * p, const QColorGroup & cg, int w, int y, int h )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintFocus\fR ( QPainter * p, const QColorGroup & cg, const QRect & r )"
+.br
+.ti -1c
+.BI "QListViewItem * \fBfirstChild\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBnextSibling\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBparent\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBitemAbove\fR ()"
+.br
+.ti -1c
+.BI "QListViewItem * \fBitemBelow\fR ()"
+.br
+.ti -1c
+.BI "int \fBitemPos\fR () const"
+.br
+.ti -1c
+.BI "QListView * \fBlistView\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectable\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisSelectable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetExpandable\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisExpandable\fR () const"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "void \fBmoveItem\fR ( QListViewItem * after )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDragEnabled\fR ( bool allow )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDropEnabled\fR ( bool allow )"
+.br
+.ti -1c
+.BI "bool \fBdragEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBdropEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBacceptDrop\fR ( const QMimeSource * mime ) const"
+.br
+.ti -1c
+.BI "void \fBsetVisible\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisVisible\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRenameEnabled\fR ( int col, bool b )"
+.br
+.ti -1c
+.BI "bool \fBrenameEnabled\fR ( int col ) const"
+.br
+.ti -1c
+.BI "virtual void \fBstartRename\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMultiLinesEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBmultiLinesEnabled\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBenforceSortOrder\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetHeight\fR ( int height )"
+.br
+.ti -1c
+.BI "virtual void \fBactivate\fR ()"
+.br
+.ti -1c
+.BI "bool \fBactivatedPos\fR ( QPoint & pos )"
+.br
+.ti -1c
+.BI "virtual void \fBdropped\fR ( QDropEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBdragEntered\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdragLeft\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBokRename\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBcancelRename\fR ( int col )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListViewItem class implements a list view item.
+.PP
+A list view item is a multi-column object capable of displaying itself in a QListView.
+.PP
+The easiest way to use QListViewItem is to construct one with a few constant strings, and either a QListView or another QListViewItem as parent.
+.PP
+.nf
+.br
+ (void) new QListViewItem( listView, "Column 1", "Column 2" );
+.br
+ (void) new QListViewItem( listView->firstChild(), "A", "B", "C" );
+.br
+.fi
+We've discarded the pointers to the items since we can still access them via their parent \fIlistView\fR. By default, QListView sorts its items; this can be switched off with QListView::setSorting(-1).
+.PP
+The parent must be another QListViewItem or a QListView. If the parent is a QListView, the item becomes a top-level item within that QListView. If the parent is another QListViewItem, the item becomes a child of that list view item.
+.PP
+If you keep the pointer, you can set or change the texts using setText(), add pixmaps using setPixmap(), change its mode using setSelectable(), setSelected(), setOpen() and setExpandable(). You'll also be able to change its height using setHeight(), and traverse its sub-items. You don't have to keep the pointer since you can get a pointer to any QListViewItem in a QListView using QListView::selectedItem(), QListView::currentItem(), QListView::firstChild(), QListView::lastItem() and QListView::findItem().
+.PP
+If you call \fCdelete\fR on a list view item, it will be deleted as expected, and as usual for QObjects, if it has any child items (to any depth), all these will be deleted too.
+.PP
+QCheckListItems are list view items that have a checkbox or radio button and can be used in place of plain QListViewItems.
+.PP
+You can traverse the tree as if it were a doubly-linked list using itemAbove() and itemBelow(); they return pointers to the items directly above and below this item on the screen (even if none of them are actually visible at the moment).
+.PP
+Here's how to traverse all of an item's children (but not its children's children, etc.): Example:
+.PP
+.nf
+.br
+ QListViewItem * myChild = myItem->firstChild();
+.br
+ while( myChild ) {
+.br
+ doSomething( myChild );
+.br
+ myChild = myChild->nextSibling();
+.br
+ }
+.br
+.fi
+.PP
+If you want to iterate over every item, to any level of depth use an iterator. To iterate over the entire tree, initialize the iterator with the list view itself; to iterate starting from a particular item, initialize the iterator with the item:
+.PP
+.nf
+.br
+ QListViewItemIterator it( listview );
+.br
+ while ( it.current() ) {
+.br
+ QListViewItem *item = it.current();
+.br
+ doSomething( item );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+Note that the order of the children will change when the sorting order changes and is undefined if the items are not visible. You can, however, call enforceSortOrder() at any time; QListView will always call it before it needs to show an item.
+.PP
+Many programs will need to reimplement QListViewItem. The most commonly reimplemented functions are: <center>.nf
+.TS
+l - l. Function Description text() Returns the text in a column. Many subclasses will compute this on the fly. key() Used for sorting. The default key() simply calls text(), but judicious use of key() can give you fine control over sorting; for example, QFileDialog reimplements key() to sort by date. setup() Called before showing the item and whenever the list view's font changes, for example. activate()
+.TE
+.fi
+</center>
+.PP
+Some subclasses call setExpandable(TRUE) even when they have no children, and populate themselves when setup() or setOpen(TRUE) is called. The dirview/dirview.cpp example program uses this technique to start up quickly: The files and subdirectories in a directory aren't inserted into the tree until they're actually needed.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QCheckListItem, QListView, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListViewItem::QListViewItem ( QListView * parent )"
+Constructs a new top-level list view item in the QListView \fIparent\fR.
+.SH "QListViewItem::QListViewItem ( QListViewItem * parent )"
+Constructs a new list view item that is a child of \fIparent\fR and first in the parent's list of children.
+.SH "QListViewItem::QListViewItem ( QListView * parent, QListViewItem * after )"
+Constructs an empty list view item that is a child of \fIparent\fR and is after item \fIafter\fR in the parent's list of children. Since \fIparent\fR is a QListView the item will be a top-level item.
+.SH "QListViewItem::QListViewItem ( QListViewItem * parent, QListViewItem * after )"
+Constructs an empty list view item that is a child of \fIparent\fR and is after item \fIafter\fR in the parent's list of children.
+.SH "QListViewItem::QListViewItem ( QListView * parent, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+Constructs a new top-level list view item in the QListView \fIparent\fR, with up to eight constant strings, \fIlabel1\fR, \fIlabel2\fR, \fIlabel3\fR, \fIlabel4\fR, \fIlabel5\fR, \fIlabel6\fR, \fIlabel7\fR and \fIlabel8\fR defining its columns' contents.
+.PP
+See also setText().
+.SH "QListViewItem::QListViewItem ( QListViewItem * parent, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+Constructs a new list view item as a child of the QListViewItem \fIparent\fR with up to eight constant strings, \fIlabel1\fR, \fIlabel2\fR, \fIlabel3\fR, \fIlabel4\fR, \fIlabel5\fR, \fIlabel6\fR, \fIlabel7\fR and \fIlabel8\fR as columns' contents.
+.PP
+See also setText().
+.SH "QListViewItem::QListViewItem ( QListView * parent, QListViewItem * after, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+Constructs a new list view item in the QListView \fIparent\fR that is included after item \fIafter\fR and that has up to eight column texts, \fIlabel1\fR, \fIlabel2\fR, \fIlabel3\fR, \fIlabel4\fR, \fIlabel5\fR, \fIlabel6\fR, \fIlabel7\fR and\fIlabel8\fR.
+.PP
+Note that the order is changed according to QListViewItem::key() unless the list view's sorting is disabled using QListView::setSorting(-1).
+.PP
+See also setText().
+.SH "QListViewItem::QListViewItem ( QListViewItem * parent, QListViewItem * after, QString label1, QString label2 = QString::null, QString label3 = QString::null, QString label4 = QString::null, QString label5 = QString::null, QString label6 = QString::null, QString label7 = QString::null, QString label8 = QString::null )"
+Constructs a new list view item as a child of the QListViewItem \fIparent\fR. It is inserted after item \fIafter\fR and may contain up to eight strings, \fIlabel1\fR, \fIlabel2\fR, \fIlabel3\fR, \fIlabel4\fR, \fIlabel5\fR, \fIlabel6\fR, \fIlabel7\fR and \fIlabel8\fR as column entries.
+.PP
+Note that the order is changed according to QListViewItem::key() unless the list view's sorting is disabled using QListView::setSorting(-1).
+.PP
+See also setText().
+.SH "QListViewItem::~QListViewItem ()\fC [virtual]\fR"
+Destroys the item, deleting all its children and freeing up all allocated resources.
+.SH "bool QListViewItem::acceptDrop ( const QMimeSource * mime ) const\fC [virtual]\fR"
+Returns TRUE if the item can accept drops of type QMimeSource \fImime\fR; otherwise returns FALSE.
+.PP
+The default implementation does nothing and returns FALSE. A subclass must reimplement this to accept drops.
+.SH "void QListViewItem::activate ()\fC [virtual protected]\fR"
+This virtual function is called whenever the user presses the mouse on this item or presses Space on it.
+.PP
+See also activatedPos().
+.PP
+Reimplemented in QCheckListItem.
+.SH "bool QListViewItem::activatedPos ( QPoint & pos )\fC [protected]\fR"
+When called from a reimplementation of activate(), this function gives information on how the item was activated. Otherwise the behavior is undefined.
+.PP
+If activate() was caused by a mouse press, the function sets \fIpos\fR to where the user clicked and returns TRUE; otherwise it returns FALSE and does not change \fIpos\fR.
+.PP
+\fIpos\fR is relative to the top-left corner of this item.
+.PP
+\fBWarning:\fR We recommend that you ignore this function; it is scheduled to become obsolete.
+.PP
+See also activate().
+.SH "void QListViewItem::cancelRename ( int col )\fC [virtual protected]\fR"
+This function is called if the user cancels in-place renaming of this item in column \fIcol\fR (e.g. by pressing Esc).
+.PP
+See also okRename().
+.SH "int QListViewItem::childCount () const"
+Returns how many children this item has. The count only includes the item's immediate children.
+.SH "int QListViewItem::compare ( QListViewItem * i, int col, bool ascending ) const\fC [virtual]\fR"
+Compares this list view item to \fIi\fR using the column \fIcol\fR in \fIascending\fR order. Returns < 0 if this item is less than \fIi\fR, 0 if they are equal and > 0 if this item is greater than \fIi\fR.
+.PP
+This function is used for sorting.
+.PP
+The default implementation compares the item keys (key()) using QString::localeAwareCompare(). A reimplementation can use different values and a different comparison function. Here is a reimplementation that uses plain Unicode comparison:
+.PP
+.nf
+.br
+ int MyListViewItem::compare( QListViewItem *i, int col,
+.br
+ bool ascending ) const
+.br
+ {
+.br
+ return key( col, ascending ).compare( i->key( col, ascending) );
+.br
+ }
+.br
+.fi
+We don't recommend using \fIascending\fR so your code can safely ignore it.
+.PP
+See also key(), QString::localeAwareCompare(), and QString::compare().
+.SH "int QListViewItem::depth () const"
+Returns the depth of this item.
+.PP
+Example: dirview/dirview.cpp.
+.SH "bool QListViewItem::dragEnabled () const"
+Returns TRUE if this item can be dragged; otherwise returns FALSE.
+.PP
+See also setDragEnabled().
+.SH "void QListViewItem::dragEntered ()\fC [virtual protected]\fR"
+This function is called when a drag enters the item's bounding rectangle.
+.PP
+The default implementation does nothing, subclasses may need to reimplement this function.
+.SH "void QListViewItem::dragLeft ()\fC [virtual protected]\fR"
+This function is called when a drag leaves the item's bounding rectangle.
+.PP
+The default implementation does nothing, subclasses may need to reimplement this function.
+.SH "bool QListViewItem::dropEnabled () const"
+Returns TRUE if this item accepts drops; otherwise returns FALSE.
+.PP
+See also setDropEnabled() and acceptDrop().
+.SH "void QListViewItem::dropped ( QDropEvent * e )\fC [virtual protected]\fR"
+This function is called when something was dropped on the item. \fIe\fR contains all the information about the drop.
+.PP
+The default implementation does nothing, subclasses may need to reimplement this function.
+.SH "void QListViewItem::enforceSortOrder () const\fC [virtual protected]\fR"
+Makes sure that this object's children are sorted appropriately.
+.PP
+This only works if every item from the root item down to this item is already sorted.
+.PP
+See also sortChildItems().
+.SH "QListViewItem * QListViewItem::firstChild () const"
+Returns the first (top) child of this item, or 0 if this item has no children.
+.PP
+Note that the children are not guaranteed to be sorted properly. QListView and QListViewItem try to postpone or avoid sorting to the greatest degree possible, in order to keep the user interface snappy.
+.PP
+See also nextSibling() and sortChildItems().
+.PP
+Example: checklists/checklists.cpp.
+.SH "int QListViewItem::height () const"
+Returns the height of this item in pixels. This does not include the height of any children; totalHeight() returns that.
+.SH "void QListViewItem::insertItem ( QListViewItem * newChild )\fC [virtual]\fR"
+Inserts \fInewChild\fR into this list view item's list of children. You should not need to call this function; it is called automatically by the constructor of \fInewChild\fR.
+.PP
+\fBWarning:\fR If you are using \fCSingle\fR selection mode, then you should only insert unselected items.
+.SH "void QListViewItem::invalidateHeight ()\fC [virtual]\fR"
+Invalidates the cached total height of this item, including all open children.
+.PP
+See also setHeight(), height(), and totalHeight().
+.SH "bool QListViewItem::isEnabled () const"
+Returns TRUE if this item is enabled; otherwise returns FALSE.
+.PP
+See also setEnabled().
+.SH "bool QListViewItem::isExpandable () const"
+Returns TRUE if this item is expandable even when it has no children; otherwise returns FALSE.
+.SH "bool QListViewItem::isOpen () const"
+Returns TRUE if this list view item has children \fIand\fR they are not explicitly hidden; otherwise returns FALSE.
+.PP
+See also setOpen().
+.SH "bool QListViewItem::isSelectable () const"
+Returns TRUE if the item is selectable (as it is by default); otherwise returns FALSE
+.PP
+See also setSelectable().
+.SH "bool QListViewItem::isSelected () const"
+Returns TRUE if this item is selected; otherwise returns FALSE.
+.PP
+See also setSelected(), QListView::setSelected(), and QListView::selectionChanged().
+.PP
+Example: listviews/listviews.cpp.
+.SH "bool QListViewItem::isVisible () const"
+Returns TRUE if the item is visible; otherwise returns FALSE.
+.PP
+See also setVisible().
+.SH "QListViewItem * QListViewItem::itemAbove ()"
+Returns a pointer to the item immediately above this item on the screen. This is usually the item's closest older sibling, but it may also be its parent or its next older sibling's youngest child, or something else if anyoftheabove->height() returns 0. Returns 0 if there is no item immediately above this item.
+.PP
+This function assumes that all parents of this item are open (i.e. that this item is visible, or can be made visible by scrolling).
+.PP
+This function might be relatively slow because of the tree traversions needed to find the correct item.
+.PP
+See also itemBelow() and QListView::itemRect().
+.SH "QListViewItem * QListViewItem::itemBelow ()"
+Returns a pointer to the item immediately below this item on the screen. This is usually the item's eldest child, but it may also be its next younger sibling, its parent's next younger sibling, grandparent's, etc., or something else if anyoftheabove->height() returns 0. Returns 0 if there is no item immediately below this item.
+.PP
+This function assumes that all parents of this item are open (i.e. that this item is visible or can be made visible by scrolling).
+.PP
+See also itemAbove() and QListView::itemRect().
+.PP
+Example: dirview/dirview.cpp.
+.SH "int QListViewItem::itemPos () const"
+Returns the y coordinate of this item in the list view's coordinate system. This function is normally much slower than QListView::itemAt(), but it works for all items whereas QListView::itemAt() normally only works for items on the screen.
+.PP
+See also QListView::itemAt(), QListView::itemRect(), and QListView::itemPos().
+.SH "QString QListViewItem::key ( int column, bool ascending ) const\fC [virtual]\fR"
+Returns a key that can be used for sorting by column \fIcolumn\fR. The default implementation returns text(). Derived classes may also incorporate the order indicated by \fIascending\fR into this key, although this is not recommended.
+.PP
+If you want to sort on non-alphabetical data, e.g. dates, numbers, etc., it is more efficient to reimplement compare().
+.PP
+See also compare() and sortChildItems().
+.SH "QListView * QListViewItem::listView () const"
+Returns a pointer to the list view containing this item.
+.PP
+Note that this function traverses the items to the root to find the listview. This function will return 0 for taken items - see QListViewItem::takeItem()
+.SH "void QListViewItem::moveItem ( QListViewItem * after )"
+Move the item to be after item \fIafter\fR, which must be one of the item's siblings. To move an item in the hierarchy, use takeItem() and insertItem().
+.PP
+Note that this function will have no effect if sorting is enabled in the list view.
+.SH "bool QListViewItem::multiLinesEnabled () const"
+Returns TRUE if the item can display multiple lines of text in its columns; otherwise returns FALSE.
+.SH "QListViewItem * QListViewItem::nextSibling () const"
+Returns the sibling item below this item, or 0 if there is no sibling item after this item.
+.PP
+Note that the siblings are not guaranteed to be sorted properly. QListView and QListViewItem try to postpone or avoid sorting to the greatest degree possible, in order to keep the user interface snappy.
+.PP
+See also firstChild() and sortChildItems().
+.PP
+Example: xml/tagreader-with-features/structureparser.cpp.
+.SH "void QListViewItem::okRename ( int col )\fC [virtual protected]\fR"
+This function is called if the user presses Enter during in-place renaming of the item in column \fIcol\fR.
+.PP
+See also cancelRename().
+.SH "void QListViewItem::paintBranches ( QPainter * p, const QColorGroup & cg, int w, int y, int h )\fC [virtual]\fR"
+Paints a set of branches from this item to (some of) its children.
+.PP
+Painter \fIp\fR is set up with clipping and translation so that you can only draw in the rectangle that needs redrawing; \fIcg\fR is the color group to use; the update rectangle is at (0, 0) and has size width \fIw\fR by height \fIh\fR. The top of the rectangle you own is at \fIy\fR (which is never greater than 0 but can be outside the window system's allowed coordinate range).
+.PP
+The update rectangle is in an undefined state when this function is called; this function must draw on \fIall\fR of the pixels.
+.PP
+See also paintCell() and QListView::drawContentsOffset().
+.SH "void QListViewItem::paintCell ( QPainter * p, const QColorGroup & cg, int column, int width, int align )\fC [virtual]\fR"
+This virtual function paints the contents of one column of an item and aligns it as described by \fIalign\fR.
+.PP
+\fIp\fR is a QPainter open on the relevant paint device. \fIp\fR is translated so (0, 0) is the top-left pixel in the cell and \fIwidth-1\fR, height()-1 is the bottom-right pixel \fIin\fR the cell. The other properties of \fIp\fR (pen, brush, etc) are undefined. \fIcg\fR is the color group to use. \fIcolumn\fR is the logical column number within the item that is to be painted; 0 is the column which may contain a tree.
+.PP
+This function may use QListView::itemMargin() for readability spacing on the left and right sides of data such as text, and should honor isSelected() and QListView::allColumnsShowFocus().
+.PP
+If you reimplement this function, you should also reimplement width().
+.PP
+The rectangle to be painted is in an undefined state when this function is called, so you \fImust\fR draw on all the pixels. The painter \fIp\fR has the right font on entry.
+.PP
+See also paintBranches() and QListView::drawContentsOffset().
+.PP
+Example: listviews/listviews.cpp.
+.PP
+Reimplemented in QCheckListItem.
+.SH "void QListViewItem::paintFocus ( QPainter * p, const QColorGroup & cg, const QRect & r )\fC [virtual]\fR"
+Paints a focus indicator on the rectangle \fIr\fR using painter \fIp\fR and colors \fIcg\fR.
+.PP
+\fIp\fR is already clipped.
+.PP
+See also paintCell(), paintBranches(), and QListView::allColumnsShowFocus.
+.PP
+Reimplemented in QCheckListItem.
+.SH "QListViewItem * QListViewItem::parent () const"
+Returns the parent of this item, or 0 if this item has no parent.
+.PP
+See also firstChild() and nextSibling().
+.PP
+Examples:
+.)l dirview/dirview.cpp and qutlook/centralwidget.cpp.
+.SH "const QPixmap * QListViewItem::pixmap ( int column ) const\fC [virtual]\fR"
+Returns the pixmap for \fIcolumn\fR, or 0 if there is no pixmap for \fIcolumn\fR.
+.PP
+See also setText() and setPixmap().
+.PP
+Example: dirview/dirview.cpp.
+.SH "void QListViewItem::removeItem ( QListViewItem * item )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function has been renamed takeItem().
+.SH "bool QListViewItem::renameEnabled ( int col ) const"
+Returns TRUE if this item can be in-place renamed in column \fIcol\fR; otherwise returns FALSE.
+.SH "void QListViewItem::repaint () const"
+Repaints this item on the screen if it is currently visible.
+.PP
+Example: addressbook/centralwidget.cpp.
+.SH "int QListViewItem::rtti () const\fC [virtual]\fR"
+Returns 0.
+.PP
+Make your derived classes return their own values for rtti(), so that you can distinguish between different kinds of list view items. You should use values greater than 1000 to allow for extensions to this class.
+.PP
+Reimplemented in QCheckListItem.
+.SH "void QListViewItem::setDragEnabled ( bool allow )\fC [virtual]\fR"
+If \fIallow\fR is TRUE, the list view starts a drag (see QListView::dragObject()) when the user presses and moves the mouse on this item.
+.SH "void QListViewItem::setDropEnabled ( bool allow )\fC [virtual]\fR"
+If \fIallow\fR is TRUE, the list view accepts drops onto the item; otherwise drops are not allowed.
+.SH "void QListViewItem::setEnabled ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE the item is enabled; otherwise it is disabled. Disabled items are drawn differently (e.g. grayed-out) and are not accessible by the user.
+.SH "void QListViewItem::setExpandable ( bool enable )\fC [virtual]\fR"
+Sets this item to be expandable even if it has no children if \fIenable\fR is TRUE, and to be expandable only if it has children if \fIenable\fR is FALSE (the default).
+.PP
+The dirview example uses this in the canonical fashion. It checks whether the directory is empty in setup() and calls setExpandable(TRUE) if not; in setOpen() it reads the contents of the directory and inserts items accordingly. This strategy means that dirview can display the entire file system without reading very much at startup.
+.PP
+Note that root items are not expandable by the user unless QListView::setRootIsDecorated() is set to TRUE.
+.PP
+See also setSelectable().
+.SH "void QListViewItem::setHeight ( int height )\fC [virtual protected]\fR"
+Sets this item's height to \fIheight\fR pixels. This implicitly changes totalHeight(), too.
+.PP
+Note that a font change causes this height to be overwritten unless you reimplement setup().
+.PP
+For best results in Windows style we suggest using an even number of pixels.
+.PP
+See also height(), totalHeight(), and isOpen().
+.SH "void QListViewItem::setMultiLinesEnabled ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE each of the item's columns may contain multiple lines of text; otherwise each of them may only contain a single line.
+.SH "void QListViewItem::setOpen ( bool o )\fC [virtual]\fR"
+Opens or closes an item, i.e. shows or hides an item's children.
+.PP
+If \fIo\fR is TRUE all child items are shown initially. The user can hide them by clicking the \fB-\fR icon to the left of the item. If \fIo\fR is FALSE, the children of this item are initially hidden. The user can show them by clicking the \fB+\fR icon to the left of the item.
+.PP
+See also height(), totalHeight(), and isOpen().
+.PP
+Examples:
+.)l checklists/checklists.cpp, dirview/dirview.cpp, dirview/main.cpp, fileiconview/mainwindow.cpp, and xml/tagreader-with-features/structureparser.cpp.
+.SH "void QListViewItem::setPixmap ( int column, const QPixmap & pm )\fC [virtual]\fR"
+Sets the pixmap in column \fIcolumn\fR to \fIpm\fR, if \fIpm\fR is non-null and different from the current pixmap, and if \fIcolumn\fR is non-negative.
+.PP
+See also pixmap() and setText().
+.PP
+Example: dirview/dirview.cpp.
+.SH "void QListViewItem::setRenameEnabled ( int col, bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE, this item can be in-place renamed in the column \fIcol\fR by the user; otherwise it cannot be renamed in-place.
+.SH "void QListViewItem::setSelectable ( bool enable )\fC [virtual]\fR"
+Sets this item to be selectable if \fIenable\fR is TRUE (the default) or not to be selectable if \fIenable\fR is FALSE.
+.PP
+The user is not able to select a non-selectable item using either the keyboard or the mouse. This also applies for the application programmer (e.g. setSelected() respects this value).
+.PP
+See also isSelectable().
+.SH "void QListViewItem::setSelected ( bool s )\fC [virtual]\fR"
+If \fIs\fR is TRUE this item is selected; otherwise it is deselected.
+.PP
+This function does not maintain any invariants or repaint anything -- QListView::setSelected() does that.
+.PP
+See also height() and totalHeight().
+.PP
+Example: addressbook/centralwidget.cpp.
+.SH "void QListViewItem::setText ( int column, const QString & text )\fC [virtual]\fR"
+Sets the text in column \fIcolumn\fR to \fItext\fR, if \fIcolumn\fR is a valid column number and \fItext\fR is different from the existing text.
+.PP
+If \fItext()\fR has been reimplemented, this function may be a no-op.
+.PP
+See also text() and key().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, qutlook/centralwidget.cpp, and xml/outliner/outlinetree.cpp.
+.SH "void QListViewItem::setVisible ( bool b )"
+If \fIb\fR is TRUE, the item is made visible; otherwise it is hidden.
+.PP
+If the item is not visible, itemAbove() and itemBelow() will never return this item, although you still can reach it by using e.g. QListViewItemIterator.
+.SH "void QListViewItem::setup ()\fC [virtual]\fR"
+This virtual function is called before the first time QListView needs to know the height or any other graphical attribute of this object, and whenever the font, GUI style, or colors of the list view change.
+.PP
+The default calls widthChanged() and sets the item's height to the height of a single line of text in the list view's font. (If you use icons, multi-line text, etc., you will probably need to call setHeight() yourself or reimplement it.)
+.PP
+Example: dirview/dirview.cpp.
+.SH "void QListViewItem::sort ()\fC [virtual]\fR"
+Sorts all this item's child items using the current sorting configuration (sort column and direction).
+.PP
+See also enforceSortOrder().
+.SH "void QListViewItem::sortChildItems ( int column, bool ascending )\fC [virtual]\fR"
+Sorts this item's children using column \fIcolumn\fR. This is done in ascending order if \fIascending\fR is TRUE and in descending order if \fIascending\fR is FALSE.
+.PP
+Asks some of the children to sort their children. (QListView and QListViewItem ensure that all on-screen objects are properly sorted but may avoid or defer sorting other objects in order to be more responsive.)
+.PP
+See also key() and compare().
+.SH "void QListViewItem::startRename ( int col )\fC [virtual]\fR"
+If in-place renaming of this item is enabled (see renameEnabled()), this function starts renaming the item in column \fIcol\fR, by creating and initializing an edit box.
+.SH "void QListViewItem::takeItem ( QListViewItem * item )\fC [virtual]\fR"
+Removes \fIitem\fR from this object's list of children and causes an update of the screen display. The item is not deleted. You should not normally need to call this function because QListViewItem::~QListViewItem() calls it.
+.PP
+The normal way to delete an item is to use \fCdelete\fR.
+.PP
+If you need to move an item from one place in the hierarchy to another you can use takeItem() to remove the item from the list view and then insertItem() to put the item back in its new position.
+.PP
+If a taken item is part of a selection in \fCSingle\fR selection mode, it is unselected and selectionChanged() is emitted. If a taken item is part of a selection in \fCMulti\fR or \fCExtended\fR selection mode, it remains selected.
+.PP
+\fBWarning:\fR This function leaves \fIitem\fR and its children in a state where most member functions are unsafe. Only a few functions work correctly on an item in this state, most notably insertItem(). The functions that work on taken items are explicitly documented as such.
+.PP
+See also QListViewItem::insertItem().
+.SH "QString QListViewItem::text ( int column ) const\fC [virtual]\fR"
+Returns the text in column \fIcolumn\fR, or QString::null if there is no text in that column.
+.PP
+See also key() and paintCell().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, dirview/dirview.cpp, network/archivesearch/archivedialog.ui.h, and network/ftpclient/ftpmainwindow.ui.h.
+.SH "int QListViewItem::totalHeight () const"
+Returns the total height of this object, including any visible children. This height is recomputed lazily and cached for as long as possible.
+.PP
+Functions which can affect the total height are, setHeight() which is used to set an item's height, setOpen() to show or hide an item's children, and invalidateHeight() to invalidate the cached height.
+.PP
+See also height().
+.SH "int QListViewItem::width ( const QFontMetrics & fm, const QListView * lv, int c ) const\fC [virtual]\fR"
+Returns the number of pixels of width required to draw column \fIc\fR of list view \fIlv\fR, using the metrics \fIfm\fR without cropping. The list view containing this item may use this information depending on the QListView::WidthMode settings for the column.
+.PP
+The default implementation returns the width of the bounding rectangle of the text of column \fIc\fR.
+.PP
+See also listView(), widthChanged(), QListView::setColumnWidthMode(), and QListView::itemMargin.
+.SH "void QListViewItem::widthChanged ( int c = -1 ) const"
+Call this function when the value of width() may have changed for column \fIc\fR. Normally, you should call this if text(c) changes. Passing -1 for \fIc\fR indicates that all columns may have changed. It is more efficient to pass -1 if two or more columns have changed than to call widthChanged() separately for each one.
+.PP
+See also width().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistviewitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistviewitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlistviewitemiterator.3qt b/doc/man/man3/qlistviewitemiterator.3qt
new file mode 100644
index 0000000..43405f7
--- /dev/null
+++ b/doc/man/man3/qlistviewitemiterator.3qt
@@ -0,0 +1,218 @@
+'\" t
+.TH QListViewItemIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QListViewItemIterator \- Iterator for collections of QListViewItems
+.SH SYNOPSIS
+\fC#include <qlistview.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBIteratorFlag\fR { Visible = 0x00000001, Invisible = 0x00000002, Selected = 0x00000004, Unselected = 0x00000008, Selectable = 0x00000010, NotSelectable = 0x00000020, DragEnabled = 0x00000040, DragDisabled = 0x00000080, DropEnabled = 0x00000100, DropDisabled = 0x00000200, Expandable = 0x00000400, NotExpandable = 0x00000800, Checked = 0x00001000, NotChecked = 0x00002000 }"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ()"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ( QListViewItem * item )"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ( QListViewItem * item, int iteratorFlags )"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ( const QListViewItemIterator & it )"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ( QListView * lv )"
+.br
+.ti -1c
+.BI "\fBQListViewItemIterator\fR ( QListView * lv, int iteratorFlags )"
+.br
+.ti -1c
+.BI "QListViewItemIterator & \fBoperator=\fR ( const QListViewItemIterator & it )"
+.br
+.ti -1c
+.BI "\fB~QListViewItemIterator\fR ()"
+.br
+.ti -1c
+.BI "QListViewItemIterator & \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "const QListViewItemIterator \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "QListViewItemIterator & \fBoperator+=\fR ( int j )"
+.br
+.ti -1c
+.BI "QListViewItemIterator & \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "const QListViewItemIterator \fBoperator--\fR ( int )"
+.br
+.ti -1c
+.BI "QListViewItemIterator & \fBoperator-=\fR ( int j )"
+.br
+.ti -1c
+.BI "QListViewItem * \fBoperator*\fR ()"
+.br
+.ti -1c
+.BI "QListViewItem * \fBcurrent\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QListViewItemIterator class provides an iterator for collections of QListViewItems.
+.PP
+Construct an instance of a QListViewItemIterator, with either a QListView* or a QListViewItem* as argument, to operate on the tree of QListViewItems, starting from the argument.
+.PP
+A QListViewItemIterator iterates over all the items from its starting point. This means that it always makes the first child of the current item the new current item. If there is no child, the next sibling becomes the new current item; and if there is no next sibling, the next sibling of the parent becomes current.
+.PP
+The following example creates a list of all the items that have been selected by the user, storing pointers to the items in a QPtrList:
+.PP
+.nf
+.br
+ QPtrList<QListViewItem> lst;
+.br
+ QListViewItemIterator it( myListView );
+.br
+ while ( it.current() ) {
+.br
+ if ( it.current()->isSelected() )
+.br
+ lst.append( it.current() );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+An alternative approach is to use an IteratorFlag:
+.PP
+.nf
+.br
+ QPtrList<QListViewItem> lst;
+.br
+ QListViewItemIterator it( myListView, QListViewItemIterator::Selected );
+.br
+ while ( it.current() ) {
+.br
+ lst.append( it.current() );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+A QListViewItemIterator provides a convenient and easy way to traverse a hierarchical QListView.
+.PP
+Multiple QListViewItemIterators can operate on the tree of QListViewItems. A QListView knows about all iterators operating on its QListViewItems. So when a QListViewItem gets removed all iterators that point to this item are updated and point to the following item if possible, otherwise to a valid item before the current one or to 0. Note however that deleting the parent item of an item that an iterator points to is not safe.
+.PP
+See also QListView, QListViewItem, and Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QListViewItemIterator::IteratorFlag"
+These flags can be passed to a QListViewItemIterator constructor (OR-ed together if more than one is used), so that the iterator will only iterate over items that match the given flags.
+.TP
+\fCQListViewItemIterator::Visible\fR
+.TP
+\fCQListViewItemIterator::Invisible\fR
+.TP
+\fCQListViewItemIterator::Selected\fR
+.TP
+\fCQListViewItemIterator::Unselected\fR
+.TP
+\fCQListViewItemIterator::Selectable\fR
+.TP
+\fCQListViewItemIterator::NotSelectable\fR
+.TP
+\fCQListViewItemIterator::DragEnabled\fR
+.TP
+\fCQListViewItemIterator::DragDisabled\fR
+.TP
+\fCQListViewItemIterator::DropEnabled\fR
+.TP
+\fCQListViewItemIterator::DropDisabled\fR
+.TP
+\fCQListViewItemIterator::Expandable\fR
+.TP
+\fCQListViewItemIterator::NotExpandable\fR
+.TP
+\fCQListViewItemIterator::Checked\fR
+.TP
+\fCQListViewItemIterator::NotChecked\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QListViewItemIterator::QListViewItemIterator ()"
+Constructs an empty iterator.
+.SH "QListViewItemIterator::QListViewItemIterator ( QListViewItem * item )"
+Constructs an iterator for the QListView that contains the \fIitem\fR. The current iterator item is set to point to the \fIitem\fR.
+.SH "QListViewItemIterator::QListViewItemIterator ( QListViewItem * item, int iteratorFlags )"
+Constructs an iterator for the QListView that contains the \fIitem\fR using the flags \fIiteratorFlags\fR. The current iterator item is set to point to \fIitem\fR or the next matching item if \fIitem\fR doesn't match the flags.
+.PP
+See also QListViewItemIterator::IteratorFlag.
+.SH "QListViewItemIterator::QListViewItemIterator ( const QListViewItemIterator & it )"
+Constructs an iterator for the same QListView as \fIit\fR. The current iterator item is set to point on the current item of \fIit\fR.
+.SH "QListViewItemIterator::QListViewItemIterator ( QListView * lv )"
+Constructs an iterator for the QListView \fIlv\fR. The current iterator item is set to point on the first child (QListViewItem) of \fIlv\fR.
+.SH "QListViewItemIterator::QListViewItemIterator ( QListView * lv, int iteratorFlags )"
+Constructs an iterator for the QListView \fIlv\fR with the flags \fIiteratorFlags\fR. The current iterator item is set to point on the first child (QListViewItem) of \fIlv\fR that matches the flags.
+.PP
+See also QListViewItemIterator::IteratorFlag.
+.SH "QListViewItemIterator::~QListViewItemIterator ()"
+Destroys the iterator.
+.SH "QListViewItem * QListViewItemIterator::current () const"
+Returns iterator's current item.
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, checklists/checklists.cpp, and dirview/dirview.cpp.
+.SH "QListViewItem * QListViewItemIterator::operator* ()"
+Dereference operator. Returns a reference to the current item. The same as current().
+.SH "QListViewItemIterator & QListViewItemIterator::operator++ ()"
+Prefix ++. Makes the next item the new current item and returns it. Returns 0 if the current item is the last item or the QListView is 0.
+.SH "const QListViewItemIterator QListViewItemIterator::operator++ ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix ++. Makes the next item the new current item and returns the item that \fIwas\fR the current item.
+.SH "QListViewItemIterator & QListViewItemIterator::operator+= ( int j )"
+Sets the current item to the item \fIj\fR positions after the current item. If that item is beyond the last item, the current item is set to 0. Returns the current item.
+.SH "QListViewItemIterator & QListViewItemIterator::operator-- ()"
+Prefix --. Makes the previous item the new current item and returns it. Returns 0 if the current item is the first item or the QListView is 0.
+.SH "const QListViewItemIterator QListViewItemIterator::operator-- ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix --. Makes the previous item the new current item and returns the item that \fIwas\fR the current item.
+.SH "QListViewItemIterator & QListViewItemIterator::operator-= ( int j )"
+Sets the current item to the item \fIj\fR positions before the current item. If that item is before the first item, the current item is set to 0. Returns the current item.
+.SH "QListViewItemIterator & QListViewItemIterator::operator= ( const QListViewItemIterator & it )"
+Assignment. Makes a copy of \fIit\fR and returns a reference to its
+iterator.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlistviewitemiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlistviewitemiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlocale.3qt b/doc/man/man3/qlocale.3qt
new file mode 100644
index 0000000..3d2e83c
--- /dev/null
+++ b/doc/man/man3/qlocale.3qt
@@ -0,0 +1,1249 @@
+'\" t
+.TH QLocale 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLocale \- Converts between numbers and their string representations in various languages
+.SH SYNOPSIS
+Almost all the functions in this class are reentrant when Qt is built with thread support. The exception is \fBsetDefault\fR(). </p>
+.PP
+\fC#include <qlocale.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBLanguage\fR { C = 1, Abkhazian = 2, Afan = 3, Afar = 4, Afrikaans = 5, Albanian = 6, Amharic = 7, Arabic = 8, Armenian = 9, Assamese = 10, Aymara = 11, Azerbaijani = 12, Bashkir = 13, Basque = 14, Bengali = 15, Bhutani = 16, Bihari = 17, Bislama = 18, Breton = 19, Bulgarian = 20, Burmese = 21, Byelorussian = 22, Cambodian = 23, Catalan = 24, Chinese = 25, Corsican = 26, Croatian = 27, Czech = 28, Danish = 29, Dutch = 30, English = 31, Esperanto = 32, Estonian = 33, Faroese = 34, FijiLanguage = 35, Finnish = 36, French = 37, Frisian = 38, Gaelic = 39, Galician = 40, Georgian = 41, German = 42, Greek = 43, Greenlandic = 44, Guarani = 45, Gujarati = 46, Hausa = 47, Hebrew = 48, Hindi = 49, Hungarian = 50, Icelandic = 51, Indonesian = 52, Interlingua = 53, Interlingue = 54, Inuktitut = 55, Inupiak = 56, Irish = 57, Italian = 58, Japanese = 59, Javanese = 60, Kannada = 61, Kashmiri = 62, Kazakh = 63, Kinyarwanda = 64, Kirghiz = 65, Korean = 66, Kurdish = 67, Kurundi = 68, Laothian = 69, Latin = 70, Latvian = 71, Lingala = 72, Lithuanian = 73, Macedonian = 74, Malagasy = 75, Malay = 76, Malayalam = 77, Maltese = 78, Maori = 79, Marathi = 80, Moldavian = 81, Mongolian = 82, NauruLanguage = 83, Nepali = 84, Norwegian = 85, Occitan = 86, Oriya = 87, Pashto = 88, Persian = 89, Polish = 90, Portuguese = 91, Punjabi = 92, Quechua = 93, RhaetoRomance = 94, Romanian = 95, Russian = 96, Samoan = 97, Sangho = 98, Sanskrit = 99, Serbian = 100, SerboCroatian = 101, Sesotho = 102, Setswana = 103, Shona = 104, Sindhi = 105, Singhalese = 106, Siswati = 107, Slovak = 108, Slovenian = 109, Somali = 110, Spanish = 111, Sundanese = 112, Swahili = 113, Swedish = 114, Tagalog = 115, Tajik = 116, Tamil = 117, Tatar = 118, Telugu = 119, Thai = 120, Tibetan = 121, Tigrinya = 122, TongaLanguage = 123, Tsonga = 124, Turkish = 125, Turkmen = 126, Twi = 127, Uigur = 128, Ukrainian = 129, Urdu = 130, Uzbek = 131, Vietnamese = 132, Volapuk = 133, Welsh = 134, Wolof = 135, Xhosa = 136, Yiddish = 137, Yoruba = 138, Zhuang = 139, Zulu = 140, LastLanguage = Zulu }"
+.br
+.ti -1c
+.BI "enum \fBCountry\fR { AnyCountry = 0, Afghanistan = 1, Albania = 2, Algeria = 3, AmericanSamoa = 4, Andorra = 5, Angola = 6, Anguilla = 7, Antarctica = 8, AntiguaAndBarbuda = 9, Argentina = 10, Armenia = 11, Aruba = 12, Australia = 13, Austria = 14, Azerbaijan = 15, Bahamas = 16, Bahrain = 17, Bangladesh = 18, Barbados = 19, Belarus = 20, Belgium = 21, Belize = 22, Benin = 23, Bermuda = 24, Bhutan = 25, Bolivia = 26, BosniaAndHerzegowina = 27, Botswana = 28, BouvetIsland = 29, Brazil = 30, BritishIndianOceanTerritory = 31, BruneiDarussalam = 32, Bulgaria = 33, BurkinaFaso = 34, Burundi = 35, Cambodia = 36, Cameroon = 37, Canada = 38, CapeVerde = 39, CaymanIslands = 40, CentralAfricanRepublic = 41, Chad = 42, Chile = 43, China = 44, ChristmasIsland = 45, CocosIslands = 46, Colombia = 47, Comoros = 48, DemocraticRepublicOfCongo = 49, PeoplesRepublicOfCongo = 50, CookIslands = 51, CostaRica = 52, IvoryCoast = 53, Croatia = 54, Cuba = 55, Cyprus = 56, CzechRepublic = 57, Denmark = 58, Djibouti = 59, Dominica = 60, DominicanRepublic = 61, EastTimor = 62, Ecuador = 63, Egypt = 64, ElSalvador = 65, EquatorialGuinea = 66, Eritrea = 67, Estonia = 68, Ethiopia = 69, FalklandIslands = 70, FaroeIslands = 71, FijiCountry = 72, Finland = 73, France = 74, MetropolitanFrance = 75, FrenchGuiana = 76, FrenchPolynesia = 77, FrenchSouthernTerritories = 78, Gabon = 79, Gambia = 80, Georgia = 81, Germany = 82, Ghana = 83, Gibraltar = 84, Greece = 85, Greenland = 86, Grenada = 87, Guadeloupe = 88, Guam = 89, Guatemala = 90, Guinea = 91, GuineaBissau = 92, Guyana = 93, Haiti = 94, HeardAndMcDonaldIslands = 95, Honduras = 96, HongKong = 97, Hungary = 98, Iceland = 99, India = 100, Indonesia = 101, Iran = 102, Iraq = 103, Ireland = 104, Israel = 105, Italy = 106, Jamaica = 107, Japan = 108, Jordan = 109, Kazakhstan = 110, Kenya = 111, Kiribati = 112, DemocraticRepublicOfKorea = 113, RepublicOfKorea = 114, Kuwait = 115, Kyrgyzstan = 116, Lao = 117, Latvia = 118, Lebanon = 119, Lesotho = 120, Liberia = 121, LibyanArabJamahiriya = 122, Liechtenstein = 123, Lithuania = 124, Luxembourg = 125, Macau = 126, Macedonia = 127, Madagascar = 128, Malawi = 129, Malaysia = 130, Maldives = 131, Mali = 132, Malta = 133, MarshallIslands = 134, Martinique = 135, Mauritania = 136, Mauritius = 137, Mayotte = 138, Mexico = 139, Micronesia = 140, Moldova = 141, Monaco = 142, Mongolia = 143, Montserrat = 144, Morocco = 145, Mozambique = 146, Myanmar = 147, Namibia = 148, NauruCountry = 149, Nepal = 150, Netherlands = 151, NetherlandsAntilles = 152, NewCaledonia = 153, NewZealand = 154, Nicaragua = 155, Niger = 156, Nigeria = 157, Niue = 158, NorfolkIsland = 159, NorthernMarianaIslands = 160, Norway = 161, Oman = 162, Pakistan = 163, Palau = 164, PalestinianTerritory = 165, Panama = 166, PapuaNewGuinea = 167, Paraguay = 168, Peru = 169, Philippines = 170, Pitcairn = 171, Poland = 172, Portugal = 173, PuertoRico = 174, Qatar = 175, Reunion = 176, Romania = 177, RussianFederation = 178, Rwanda = 179, SaintKittsAndNevis = 180, StLucia = 181, StVincentAndTheGrenadines = 182, Samoa = 183, SanMarino = 184, SaoTomeAndPrincipe = 185, SaudiArabia = 186, Senegal = 187, Seychelles = 188, SierraLeone = 189, Singapore = 190, Slovakia = 191, Slovenia = 192, SolomonIslands = 193, Somalia = 194, SouthAfrica = 195, SouthGeorgiaAndTheSouthSandwichIslands = 196, Spain = 197, SriLanka = 198, StHelena = 199, StPierreAndMiquelon = 200, Sudan = 201, Suriname = 202, SvalbardAndJanMayenIslands = 203, Swaziland = 204, Sweden = 205, Switzerland = 206, SyrianArabRepublic = 207, Taiwan = 208, Tajikistan = 209, Tanzania = 210, Thailand = 211, Togo = 212, Tokelau = 213, TongaCountry = 214, TrinidadAndTobago = 215, Tunisia = 216, Turkey = 217, Turkmenistan = 218, TurksAndCaicosIslands = 219, Tuvalu = 220, Uganda = 221, Ukraine = 222, UnitedArabEmirates = 223, UnitedKingdom = 224, UnitedStates = 225, UnitedStatesMinorOutlyingIslands = 226, Uruguay = 227, Uzbekistan = 228, Vanuatu = 229, VaticanCityState = 230, Venezuela = 231, VietNam = 232, BritishVirginIslands = 233, USVirginIslands = 234, WallisAndFutunaIslands = 235, WesternSahara = 236, Yemen = 237, Yugoslavia = 238, Zambia = 239, Zimbabwe = 240, LastCountry = Zimbabwe }"
+.br
+.ti -1c
+.BI "\fBQLocale\fR ()"
+.br
+.ti -1c
+.BI "\fBQLocale\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "\fBQLocale\fR ( Language language, Country country = AnyCountry )"
+.br
+.ti -1c
+.BI "\fBQLocale\fR ( const QLocale & other )"
+.br
+.ti -1c
+.BI "QLocale & \fBoperator=\fR ( const QLocale & other )"
+.br
+.ti -1c
+.BI "Language \fBlanguage\fR () const"
+.br
+.ti -1c
+.BI "Country \fBcountry\fR () const"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "short \fBtoShort\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "ushort \fBtoUShort\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBtoInt\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "uint \fBtoUInt\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_LONG \fBtoLong\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_ULONG \fBtoULong\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_LLONG \fBtoLongLong\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_ULLONG \fBtoULongLong\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "float \fBtoFloat\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "double \fBtoDouble\fR ( const QString & s, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( short i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( ushort i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( int i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( uint i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Q_LONG i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Q_ULONG i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Q_LLONG i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Q_ULLONG i ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( float i, char f = 'g', int prec = 6 ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( double i, char f = 'g', int prec = 6 ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBlanguageToString\fR ( Language language )"
+.br
+.ti -1c
+.BI "QString \fBcountryToString\fR ( Country country )"
+.br
+.ti -1c
+.BI "void \fBsetDefault\fR ( const QLocale & locale )"
+.br
+.ti -1c
+.BI "QLocale \fBc\fR ()"
+.br
+.ti -1c
+.BI "QLocale \fBsystem\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLocale class converts between numbers and their string representations in various languages.
+.PP
+It is initialized with a country/language pair in its constructor and offers number-to-string and string-to-number conversion functions simmilar to those in QString.
+.PP
+.nf
+.br
+ QLocale egyptian(QLocale::Arabic, QLocale::Egypt);
+.br
+ QString s1 = egyptian.toString(1.571429E+07, 'e');
+.br
+ QString s2 = egyptian.toString(10);
+.br
+.br
+ double d = egyptian.toDouble(s1);
+.br
+ int s2 = egyptian.toInt(s2);
+.br
+.fi
+.PP
+QLocale supports the concept of a default locale, which is determined from the system's locale settings at application startup. The default locale can be changed by calling the static member setDefault(). The default locale has the following effects:
+.TP
+If a QLocale object is constructed with the default constructor, it will use the default locale's settings.
+.TP
+QString::toDouble() interprets the string according to the default locale. If this fails, it falls back on the "C" locale.
+.TP
+QString::arg() uses the default locale to format a number when its position specifier in the format string contains an 'L', e.g. "%L1".
+.PP
+.nf
+.br
+ QLocale::setDefault(QLocale(QLocale::Hebrew, QLocale::Israel));
+.br
+ QLocale hebrew; // Constructs a default QLocale
+.br
+ QString s1 = hebrew.toString(15714.3, 'e');
+.br
+.br
+ bool ok;
+.br
+ double d;
+.br
+.br
+ QLocale::setDefault(QLocale::C);
+.br
+ d = QString( "1234,56" ).toDouble(&ok); // ok == false
+.br
+ d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+.br
+ QLocale::setDefault(QLocale::German);
+.br
+ d = QString( "1234,56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+ d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+.br
+ QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
+.br
+ str = QString( "%1 %L2 %L3" )
+.br
+ .arg( 12345 )
+.br
+ .arg( 12345 )
+.br
+ .arg( 12345, 0, 16 );
+.br
+ // str == "12345 12,345 3039"
+.br
+.fi
+.PP
+When a language/country pair is specified in the constructor, one of three things can happen:
+.TP
+If the language/country pair is found in the database, it is used.
+.TP
+If the language is found but the country is not, or if the country is AnyCountry, the language is used with the most appropriate available country (for example, Germany for German),
+.TP
+If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).
+.PP
+The "C" locale is identical to English/UnitedStates.
+.PP
+Use language() and country() to determine the actual language and country values used.
+.PP
+An alternative method for constructing a QLocale object is by specifying the locale name.
+.PP
+.nf
+.br
+ QLocale korean("ko");
+.br
+ QLocale swiss("de_CH");
+.br
+.fi
+.PP
+This constructor converts the locale name to a language/country pair; it does not use the system locale database.
+.PP
+All the methods in QLocale, with the exception of setDefault(), are reentrant.
+.PP
+See also QString::toDouble(), QString::arg(), and Text Related Classes.
+.PP
+The double-to-string and string-to-double conversion functions are covered by the following licenses:
+.PP
+Copyright (c) 1991 by AT&T.
+.PP
+Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.
+.PP
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+.PP
+This product includes software developed by the University of California, Berkeley and its contributors.
+.SS "Member Type Documentation"
+.SH "QLocale::Country"
+This enumerated type is used to specify a country.
+.TP
+\fCQLocale::AnyCountry\fR
+.TP
+\fCQLocale::Afghanistan\fR
+.TP
+\fCQLocale::Albania\fR
+.TP
+\fCQLocale::Algeria\fR
+.TP
+\fCQLocale::AmericanSamoa\fR
+.TP
+\fCQLocale::Andorra\fR
+.TP
+\fCQLocale::Angola\fR
+.TP
+\fCQLocale::Anguilla\fR
+.TP
+\fCQLocale::Antarctica\fR
+.TP
+\fCQLocale::AntiguaAndBarbuda\fR
+.TP
+\fCQLocale::Argentina\fR
+.TP
+\fCQLocale::Armenia\fR
+.TP
+\fCQLocale::Aruba\fR
+.TP
+\fCQLocale::Australia\fR
+.TP
+\fCQLocale::Austria\fR
+.TP
+\fCQLocale::Azerbaijan\fR
+.TP
+\fCQLocale::Bahamas\fR
+.TP
+\fCQLocale::Bahrain\fR
+.TP
+\fCQLocale::Bangladesh\fR
+.TP
+\fCQLocale::Barbados\fR
+.TP
+\fCQLocale::Belarus\fR
+.TP
+\fCQLocale::Belgium\fR
+.TP
+\fCQLocale::Belize\fR
+.TP
+\fCQLocale::Benin\fR
+.TP
+\fCQLocale::Bermuda\fR
+.TP
+\fCQLocale::Bhutan\fR
+.TP
+\fCQLocale::Bolivia\fR
+.TP
+\fCQLocale::BosniaAndHerzegowina\fR
+.TP
+\fCQLocale::Botswana\fR
+.TP
+\fCQLocale::BouvetIsland\fR
+.TP
+\fCQLocale::Brazil\fR
+.TP
+\fCQLocale::BritishIndianOceanTerritory\fR
+.TP
+\fCQLocale::BruneiDarussalam\fR
+.TP
+\fCQLocale::Bulgaria\fR
+.TP
+\fCQLocale::BurkinaFaso\fR
+.TP
+\fCQLocale::Burundi\fR
+.TP
+\fCQLocale::Cambodia\fR
+.TP
+\fCQLocale::Cameroon\fR
+.TP
+\fCQLocale::Canada\fR
+.TP
+\fCQLocale::CapeVerde\fR
+.TP
+\fCQLocale::CaymanIslands\fR
+.TP
+\fCQLocale::CentralAfricanRepublic\fR
+.TP
+\fCQLocale::Chad\fR
+.TP
+\fCQLocale::Chile\fR
+.TP
+\fCQLocale::China\fR
+.TP
+\fCQLocale::ChristmasIsland\fR
+.TP
+\fCQLocale::CocosIslands\fR
+.TP
+\fCQLocale::Colombia\fR
+.TP
+\fCQLocale::Comoros\fR
+.TP
+\fCQLocale::DemocraticRepublicOfCongo\fR
+.TP
+\fCQLocale::PeoplesRepublicOfCongo\fR
+.TP
+\fCQLocale::CookIslands\fR
+.TP
+\fCQLocale::CostaRica\fR
+.TP
+\fCQLocale::IvoryCoast\fR
+.TP
+\fCQLocale::Croatia\fR
+.TP
+\fCQLocale::Cuba\fR
+.TP
+\fCQLocale::Cyprus\fR
+.TP
+\fCQLocale::CzechRepublic\fR
+.TP
+\fCQLocale::Denmark\fR
+.TP
+\fCQLocale::Djibouti\fR
+.TP
+\fCQLocale::Dominica\fR
+.TP
+\fCQLocale::DominicanRepublic\fR
+.TP
+\fCQLocale::EastTimor\fR
+.TP
+\fCQLocale::Ecuador\fR
+.TP
+\fCQLocale::Egypt\fR
+.TP
+\fCQLocale::ElSalvador\fR
+.TP
+\fCQLocale::EquatorialGuinea\fR
+.TP
+\fCQLocale::Eritrea\fR
+.TP
+\fCQLocale::Estonia\fR
+.TP
+\fCQLocale::Ethiopia\fR
+.TP
+\fCQLocale::FalklandIslands\fR
+.TP
+\fCQLocale::FaroeIslands\fR
+.TP
+\fCQLocale::FijiCountry\fR
+.TP
+\fCQLocale::Finland\fR
+.TP
+\fCQLocale::France\fR
+.TP
+\fCQLocale::MetropolitanFrance\fR
+.TP
+\fCQLocale::FrenchGuiana\fR
+.TP
+\fCQLocale::FrenchPolynesia\fR
+.TP
+\fCQLocale::FrenchSouthernTerritories\fR
+.TP
+\fCQLocale::Gabon\fR
+.TP
+\fCQLocale::Gambia\fR
+.TP
+\fCQLocale::Georgia\fR
+.TP
+\fCQLocale::Germany\fR
+.TP
+\fCQLocale::Ghana\fR
+.TP
+\fCQLocale::Gibraltar\fR
+.TP
+\fCQLocale::Greece\fR
+.TP
+\fCQLocale::Greenland\fR
+.TP
+\fCQLocale::Grenada\fR
+.TP
+\fCQLocale::Guadeloupe\fR
+.TP
+\fCQLocale::Guam\fR
+.TP
+\fCQLocale::Guatemala\fR
+.TP
+\fCQLocale::Guinea\fR
+.TP
+\fCQLocale::GuineaBissau\fR
+.TP
+\fCQLocale::Guyana\fR
+.TP
+\fCQLocale::Haiti\fR
+.TP
+\fCQLocale::HeardAndMcDonaldIslands\fR
+.TP
+\fCQLocale::Honduras\fR
+.TP
+\fCQLocale::HongKong\fR
+.TP
+\fCQLocale::Hungary\fR
+.TP
+\fCQLocale::Iceland\fR
+.TP
+\fCQLocale::India\fR
+.TP
+\fCQLocale::Indonesia\fR
+.TP
+\fCQLocale::Iran\fR
+.TP
+\fCQLocale::Iraq\fR
+.TP
+\fCQLocale::Ireland\fR
+.TP
+\fCQLocale::Israel\fR
+.TP
+\fCQLocale::Italy\fR
+.TP
+\fCQLocale::Jamaica\fR
+.TP
+\fCQLocale::Japan\fR
+.TP
+\fCQLocale::Jordan\fR
+.TP
+\fCQLocale::Kazakhstan\fR
+.TP
+\fCQLocale::Kenya\fR
+.TP
+\fCQLocale::Kiribati\fR
+.TP
+\fCQLocale::DemocraticRepublicOfKorea\fR
+.TP
+\fCQLocale::RepublicOfKorea\fR
+.TP
+\fCQLocale::Kuwait\fR
+.TP
+\fCQLocale::Kyrgyzstan\fR
+.TP
+\fCQLocale::Lao\fR
+.TP
+\fCQLocale::Latvia\fR
+.TP
+\fCQLocale::Lebanon\fR
+.TP
+\fCQLocale::Lesotho\fR
+.TP
+\fCQLocale::Liberia\fR
+.TP
+\fCQLocale::LibyanArabJamahiriya\fR
+.TP
+\fCQLocale::Liechtenstein\fR
+.TP
+\fCQLocale::Lithuania\fR
+.TP
+\fCQLocale::Luxembourg\fR
+.TP
+\fCQLocale::Macau\fR
+.TP
+\fCQLocale::Macedonia\fR
+.TP
+\fCQLocale::Madagascar\fR
+.TP
+\fCQLocale::Malawi\fR
+.TP
+\fCQLocale::Malaysia\fR
+.TP
+\fCQLocale::Maldives\fR
+.TP
+\fCQLocale::Mali\fR
+.TP
+\fCQLocale::Malta\fR
+.TP
+\fCQLocale::MarshallIslands\fR
+.TP
+\fCQLocale::Martinique\fR
+.TP
+\fCQLocale::Mauritania\fR
+.TP
+\fCQLocale::Mauritius\fR
+.TP
+\fCQLocale::Mayotte\fR
+.TP
+\fCQLocale::Mexico\fR
+.TP
+\fCQLocale::Micronesia\fR
+.TP
+\fCQLocale::Moldova\fR
+.TP
+\fCQLocale::Monaco\fR
+.TP
+\fCQLocale::Mongolia\fR
+.TP
+\fCQLocale::Montserrat\fR
+.TP
+\fCQLocale::Morocco\fR
+.TP
+\fCQLocale::Mozambique\fR
+.TP
+\fCQLocale::Myanmar\fR
+.TP
+\fCQLocale::Namibia\fR
+.TP
+\fCQLocale::NauruCountry\fR
+.TP
+\fCQLocale::Nepal\fR
+.TP
+\fCQLocale::Netherlands\fR
+.TP
+\fCQLocale::NetherlandsAntilles\fR
+.TP
+\fCQLocale::NewCaledonia\fR
+.TP
+\fCQLocale::NewZealand\fR
+.TP
+\fCQLocale::Nicaragua\fR
+.TP
+\fCQLocale::Niger\fR
+.TP
+\fCQLocale::Nigeria\fR
+.TP
+\fCQLocale::Niue\fR
+.TP
+\fCQLocale::NorfolkIsland\fR
+.TP
+\fCQLocale::NorthernMarianaIslands\fR
+.TP
+\fCQLocale::Norway\fR
+.TP
+\fCQLocale::Oman\fR
+.TP
+\fCQLocale::Pakistan\fR
+.TP
+\fCQLocale::Palau\fR
+.TP
+\fCQLocale::PalestinianTerritory\fR
+.TP
+\fCQLocale::Panama\fR
+.TP
+\fCQLocale::PapuaNewGuinea\fR
+.TP
+\fCQLocale::Paraguay\fR
+.TP
+\fCQLocale::Peru\fR
+.TP
+\fCQLocale::Philippines\fR
+.TP
+\fCQLocale::Pitcairn\fR
+.TP
+\fCQLocale::Poland\fR
+.TP
+\fCQLocale::Portugal\fR
+.TP
+\fCQLocale::PuertoRico\fR
+.TP
+\fCQLocale::Qatar\fR
+.TP
+\fCQLocale::Reunion\fR
+.TP
+\fCQLocale::Romania\fR
+.TP
+\fCQLocale::RussianFederation\fR
+.TP
+\fCQLocale::Rwanda\fR
+.TP
+\fCQLocale::SaintKittsAndNevis\fR
+.TP
+\fCQLocale::StLucia\fR
+.TP
+\fCQLocale::StVincentAndTheGrenadines\fR
+.TP
+\fCQLocale::Samoa\fR
+.TP
+\fCQLocale::SanMarino\fR
+.TP
+\fCQLocale::SaoTomeAndPrincipe\fR
+.TP
+\fCQLocale::SaudiArabia\fR
+.TP
+\fCQLocale::Senegal\fR
+.TP
+\fCQLocale::Seychelles\fR
+.TP
+\fCQLocale::SierraLeone\fR
+.TP
+\fCQLocale::Singapore\fR
+.TP
+\fCQLocale::Slovakia\fR
+.TP
+\fCQLocale::Slovenia\fR
+.TP
+\fCQLocale::SolomonIslands\fR
+.TP
+\fCQLocale::Somalia\fR
+.TP
+\fCQLocale::SouthAfrica\fR
+.TP
+\fCQLocale::SouthGeorgiaAndTheSouthSandwichIslands\fR
+.TP
+\fCQLocale::Spain\fR
+.TP
+\fCQLocale::SriLanka\fR
+.TP
+\fCQLocale::StHelena\fR
+.TP
+\fCQLocale::StPierreAndMiquelon\fR
+.TP
+\fCQLocale::Sudan\fR
+.TP
+\fCQLocale::Suriname\fR
+.TP
+\fCQLocale::SvalbardAndJanMayenIslands\fR
+.TP
+\fCQLocale::Swaziland\fR
+.TP
+\fCQLocale::Sweden\fR
+.TP
+\fCQLocale::Switzerland\fR
+.TP
+\fCQLocale::SyrianArabRepublic\fR
+.TP
+\fCQLocale::Taiwan\fR
+.TP
+\fCQLocale::Tajikistan\fR
+.TP
+\fCQLocale::Tanzania\fR
+.TP
+\fCQLocale::Thailand\fR
+.TP
+\fCQLocale::Togo\fR
+.TP
+\fCQLocale::Tokelau\fR
+.TP
+\fCQLocale::TongaCountry\fR
+.TP
+\fCQLocale::TrinidadAndTobago\fR
+.TP
+\fCQLocale::Tunisia\fR
+.TP
+\fCQLocale::Turkey\fR
+.TP
+\fCQLocale::Turkmenistan\fR
+.TP
+\fCQLocale::TurksAndCaicosIslands\fR
+.TP
+\fCQLocale::Tuvalu\fR
+.TP
+\fCQLocale::Uganda\fR
+.TP
+\fCQLocale::Ukraine\fR
+.TP
+\fCQLocale::UnitedArabEmirates\fR
+.TP
+\fCQLocale::UnitedKingdom\fR
+.TP
+\fCQLocale::UnitedStates\fR
+.TP
+\fCQLocale::UnitedStatesMinorOutlyingIslands\fR
+.TP
+\fCQLocale::Uruguay\fR
+.TP
+\fCQLocale::Uzbekistan\fR
+.TP
+\fCQLocale::Vanuatu\fR
+.TP
+\fCQLocale::VaticanCityState\fR
+.TP
+\fCQLocale::Venezuela\fR
+.TP
+\fCQLocale::VietNam\fR
+.TP
+\fCQLocale::BritishVirginIslands\fR
+.TP
+\fCQLocale::USVirginIslands\fR
+.TP
+\fCQLocale::WallisAndFutunaIslands\fR
+.TP
+\fCQLocale::WesternSahara\fR
+.TP
+\fCQLocale::Yemen\fR
+.TP
+\fCQLocale::Yugoslavia\fR
+.TP
+\fCQLocale::Zambia\fR
+.TP
+\fCQLocale::Zimbabwe\fR
+.SH "QLocale::Language"
+This enumerated type is used to specify a language.
+.TP
+\fCQLocale::C\fR - Identical to English/UnitedStates
+.TP
+\fCQLocale::Abkhazian\fR
+.TP
+\fCQLocale::Afan\fR
+.TP
+\fCQLocale::Afar\fR
+.TP
+\fCQLocale::Afrikaans\fR
+.TP
+\fCQLocale::Albanian\fR
+.TP
+\fCQLocale::Amharic\fR
+.TP
+\fCQLocale::Arabic\fR
+.TP
+\fCQLocale::Armenian\fR
+.TP
+\fCQLocale::Assamese\fR
+.TP
+\fCQLocale::Aymara\fR
+.TP
+\fCQLocale::Azerbaijani\fR
+.TP
+\fCQLocale::Bashkir\fR
+.TP
+\fCQLocale::Basque\fR
+.TP
+\fCQLocale::Bengali\fR
+.TP
+\fCQLocale::Bhutani\fR
+.TP
+\fCQLocale::Bihari\fR
+.TP
+\fCQLocale::Bislama\fR
+.TP
+\fCQLocale::Breton\fR
+.TP
+\fCQLocale::Bulgarian\fR
+.TP
+\fCQLocale::Burmese\fR
+.TP
+\fCQLocale::Byelorussian\fR
+.TP
+\fCQLocale::Cambodian\fR
+.TP
+\fCQLocale::Catalan\fR
+.TP
+\fCQLocale::Chinese\fR
+.TP
+\fCQLocale::Corsican\fR
+.TP
+\fCQLocale::Croatian\fR
+.TP
+\fCQLocale::Czech\fR
+.TP
+\fCQLocale::Danish\fR
+.TP
+\fCQLocale::Dutch\fR
+.TP
+\fCQLocale::English\fR
+.TP
+\fCQLocale::Esperanto\fR
+.TP
+\fCQLocale::Estonian\fR
+.TP
+\fCQLocale::Faroese\fR
+.TP
+\fCQLocale::FijiLanguage\fR
+.TP
+\fCQLocale::Finnish\fR
+.TP
+\fCQLocale::French\fR
+.TP
+\fCQLocale::Frisian\fR
+.TP
+\fCQLocale::Gaelic\fR
+.TP
+\fCQLocale::Galician\fR
+.TP
+\fCQLocale::Georgian\fR
+.TP
+\fCQLocale::German\fR
+.TP
+\fCQLocale::Greek\fR
+.TP
+\fCQLocale::Greenlandic\fR
+.TP
+\fCQLocale::Guarani\fR
+.TP
+\fCQLocale::Gujarati\fR
+.TP
+\fCQLocale::Hausa\fR
+.TP
+\fCQLocale::Hebrew\fR
+.TP
+\fCQLocale::Hindi\fR
+.TP
+\fCQLocale::Hungarian\fR
+.TP
+\fCQLocale::Icelandic\fR
+.TP
+\fCQLocale::Indonesian\fR
+.TP
+\fCQLocale::Interlingua\fR
+.TP
+\fCQLocale::Interlingue\fR
+.TP
+\fCQLocale::Inuktitut\fR
+.TP
+\fCQLocale::Inupiak\fR
+.TP
+\fCQLocale::Irish\fR
+.TP
+\fCQLocale::Italian\fR
+.TP
+\fCQLocale::Japanese\fR
+.TP
+\fCQLocale::Javanese\fR
+.TP
+\fCQLocale::Kannada\fR
+.TP
+\fCQLocale::Kashmiri\fR
+.TP
+\fCQLocale::Kazakh\fR
+.TP
+\fCQLocale::Kinyarwanda\fR
+.TP
+\fCQLocale::Kirghiz\fR
+.TP
+\fCQLocale::Korean\fR
+.TP
+\fCQLocale::Kurdish\fR
+.TP
+\fCQLocale::Kurundi\fR
+.TP
+\fCQLocale::Laothian\fR
+.TP
+\fCQLocale::Latin\fR
+.TP
+\fCQLocale::Latvian\fR
+.TP
+\fCQLocale::Lingala\fR
+.TP
+\fCQLocale::Lithuanian\fR
+.TP
+\fCQLocale::Macedonian\fR
+.TP
+\fCQLocale::Malagasy\fR
+.TP
+\fCQLocale::Malay\fR
+.TP
+\fCQLocale::Malayalam\fR
+.TP
+\fCQLocale::Maltese\fR
+.TP
+\fCQLocale::Maori\fR
+.TP
+\fCQLocale::Marathi\fR
+.TP
+\fCQLocale::Moldavian\fR
+.TP
+\fCQLocale::Mongolian\fR
+.TP
+\fCQLocale::NauruLanguage\fR
+.TP
+\fCQLocale::Nepali\fR
+.TP
+\fCQLocale::Norwegian\fR
+.TP
+\fCQLocale::Occitan\fR
+.TP
+\fCQLocale::Oriya\fR
+.TP
+\fCQLocale::Pashto\fR
+.TP
+\fCQLocale::Persian\fR
+.TP
+\fCQLocale::Polish\fR
+.TP
+\fCQLocale::Portuguese\fR
+.TP
+\fCQLocale::Punjabi\fR
+.TP
+\fCQLocale::Quechua\fR
+.TP
+\fCQLocale::RhaetoRomance\fR
+.TP
+\fCQLocale::Romanian\fR
+.TP
+\fCQLocale::Russian\fR
+.TP
+\fCQLocale::Samoan\fR
+.TP
+\fCQLocale::Sangho\fR
+.TP
+\fCQLocale::Sanskrit\fR
+.TP
+\fCQLocale::Serbian\fR
+.TP
+\fCQLocale::SerboCroatian\fR
+.TP
+\fCQLocale::Sesotho\fR
+.TP
+\fCQLocale::Setswana\fR
+.TP
+\fCQLocale::Shona\fR
+.TP
+\fCQLocale::Sindhi\fR
+.TP
+\fCQLocale::Singhalese\fR
+.TP
+\fCQLocale::Siswati\fR
+.TP
+\fCQLocale::Slovak\fR
+.TP
+\fCQLocale::Slovenian\fR
+.TP
+\fCQLocale::Somali\fR
+.TP
+\fCQLocale::Spanish\fR
+.TP
+\fCQLocale::Sundanese\fR
+.TP
+\fCQLocale::Swahili\fR
+.TP
+\fCQLocale::Swedish\fR
+.TP
+\fCQLocale::Tagalog\fR
+.TP
+\fCQLocale::Tajik\fR
+.TP
+\fCQLocale::Tamil\fR
+.TP
+\fCQLocale::Tatar\fR
+.TP
+\fCQLocale::Telugu\fR
+.TP
+\fCQLocale::Thai\fR
+.TP
+\fCQLocale::Tibetan\fR
+.TP
+\fCQLocale::Tigrinya\fR
+.TP
+\fCQLocale::TongaLanguage\fR
+.TP
+\fCQLocale::Tsonga\fR
+.TP
+\fCQLocale::Turkish\fR
+.TP
+\fCQLocale::Turkmen\fR
+.TP
+\fCQLocale::Twi\fR
+.TP
+\fCQLocale::Uigur\fR
+.TP
+\fCQLocale::Ukrainian\fR
+.TP
+\fCQLocale::Urdu\fR
+.TP
+\fCQLocale::Uzbek\fR
+.TP
+\fCQLocale::Vietnamese\fR
+.TP
+\fCQLocale::Volapuk\fR
+.TP
+\fCQLocale::Welsh\fR
+.TP
+\fCQLocale::Wolof\fR
+.TP
+\fCQLocale::Xhosa\fR
+.TP
+\fCQLocale::Yiddish\fR
+.TP
+\fCQLocale::Yoruba\fR
+.TP
+\fCQLocale::Zhuang\fR
+.TP
+\fCQLocale::Zulu\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLocale::QLocale ()"
+Constructs a QLocale object initialized with the default locale.
+.PP
+See also setDefault().
+.SH "QLocale::QLocale ( const QString & name )"
+Constructs a QLocale object with the specified \fIname\fR, which has the format" language[_country][.codeset][@modifier]" or "C", where:
+.TP
+language is a lowercase, two-letter, ISO 639 language code,
+.TP
+territory is an uppercase, two-letter, ISO 3166 country code,
+.TP
+and codeset and modifier are ignored.
+.PP
+If the string violates the locale format, or language is not a valid ISO 369 code, the "C" locale is used instead. If country is not present, or is not a valid ISO 3166 code, the most appropriate country is chosen for the specified language.
+.PP
+The language and country codes are converted to their respective Language and Country enums. After this conversion is performed the constructor behaves exactly like QLocale(Country, Language).
+.PP
+This constructor is much slower than QLocale(Country, Language).
+.PP
+See also name().
+.SH "QLocale::QLocale ( Language language, Country country = AnyCountry )"
+Constructs a QLocale object with the specified \fIlanguage\fR and \fIcountry\fR.
+.TP
+If the language/country pair is found in the database, it is used.
+.TP
+If the language is found but the country is not, or if the country is AnyCountry, the language is used with the most appropriate available country (for example, Germany for German),
+.TP
+If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).
+.PP
+The language and country that are actually used can be queried using language() and country().
+.PP
+See also setDefault(), language(), and country().
+.SH "QLocale::QLocale ( const QLocale & other )"
+Constructs a QLocale object as a copy of \fIother\fR.
+.SH "QLocale QLocale::c ()\fC [static]\fR"
+Returns a QLocale object initialized to the "C" locale.
+.PP
+See also system().
+.SH "Country QLocale::country () const"
+Returns the country of this locale.
+.PP
+See also QLocale().
+.SH "QString QLocale::countryToString ( Country country )\fC [static]\fR"
+Returns a QString containing the name of \fIcountry\fR.
+.SH "Language QLocale::language () const"
+Returns the language of this locale.
+.PP
+See also QLocale().
+.SH "QString QLocale::languageToString ( Language language )\fC [static]\fR"
+Returns a QString containing the name of \fIlanguage\fR.
+.SH "QString QLocale::name () const"
+Returns the language and country of this locale as a string of the form "language_country", where language is a lowercase, two-letter ISO 639 language code, and country is an uppercase, two-letter ISO 3166 country code.
+.PP
+See also QLocale().
+.SH "QLocale & QLocale::operator= ( const QLocale & other )"
+Assigns \fIother\fR to this QLocale object and returns a reference to this QLocale object.
+.SH "void QLocale::setDefault ( const QLocale & locale )\fC [static]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the global default locale to \fIlocale\fR. These values are used when a QLocale object is constructed with no arguments. If this function is not called, the system's locale is used.
+.PP
+\fBWarning:\fR In a multithreaded application, the default locale should be set at application startup, before any non-GUI threads are created.
+.PP
+See also system() and c().
+.SH "QLocale QLocale::system ()\fC [static]\fR"
+Returns a QLocale object initialized to the system locale.
+.SH "double QLocale::toDouble ( const QString & s, bool * ok = 0 ) const"
+Returns the double represented by the localized string \fIs\fR, or 0.0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+Unlike QString::toDouble(), this function does not fall back to the "C" locale if the string cannot be interpreted in this locale.
+.PP
+.nf
+.br
+ bool ok;
+.br
+ double d;
+.br
+.br
+ QLocale c(QLocale::C);
+.br
+ d = c.toDouble( "1234.56", &ok ); // ok == true, d == 1234.56
+.br
+ d = c.toDouble( "1,234.56", &ok ); // ok == true, d == 1234.56
+.br
+ d = c.toDouble( "1234,56", &ok ); // ok == false
+.br
+.br
+ QLocale german(QLocale::German);
+.br
+ d = german.toDouble( "1234,56", &ok ); // ok == true, d == 1234.56
+.br
+ d = german.toDouble( "1.234,56", &ok ); // ok == true, d == 1234.56
+.br
+ d = german.toDouble( "1234.56", &ok ); // ok == false
+.br
+.br
+ d = german.toDouble( "1.234", &ok ); // ok == true, d == 1234.0
+.br
+.fi
+.PP
+Notice that the last conversion returns 1234.0, because '.' is the thousands group separator in the German locale.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString() and QString::toDouble().
+.SH "float QLocale::toFloat ( const QString & s, bool * ok = 0 ) const"
+Returns the float represented by the localized string \fIs\fR, or 0.0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "int QLocale::toInt ( const QString & s, bool * ok = 0 ) const"
+Returns the int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "Q_LONG QLocale::toLong ( const QString & s, bool * ok = 0 ) const"
+Returns the long int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "Q_LLONG QLocale::toLongLong ( const QString & s, bool * ok = 0 ) const"
+Returns the long long int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "short QLocale::toShort ( const QString & s, bool * ok = 0 ) const"
+Returns the short int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "QString QLocale::toString ( Q_LLONG i ) const"
+Returns a localized string representation of \fIi\fR.
+.PP
+See also toLongLong().
+.SH "QString QLocale::toString ( short i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toShort().
+.SH "QString QLocale::toString ( ushort i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toUShort().
+.SH "QString QLocale::toString ( int i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toInt().
+.SH "QString QLocale::toString ( uint i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toUInt().
+.SH "QString QLocale::toString ( Q_LONG i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toLong().
+.SH "QString QLocale::toString ( Q_ULONG i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toULong().
+.SH "QString QLocale::toString ( Q_ULLONG i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also toULongLong().
+.SH "QString QLocale::toString ( float i, char f = 'g', int prec = 6 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIf\fR and \fIprec\fR have the same meaning as in QString::number(double, char, int).
+.PP
+See also toDouble().
+.SH "QString QLocale::toString ( double i, char f = 'g', int prec = 6 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIf\fR and \fIprec\fR have the same meaning as in QString::number(double, char, int).
+.PP
+See also toDouble().
+.SH "uint QLocale::toUInt ( const QString & s, bool * ok = 0 ) const"
+Returns the unsigned int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "Q_ULONG QLocale::toULong ( const QString & s, bool * ok = 0 ) const"
+Returns the unsigned long int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "Q_ULLONG QLocale::toULongLong ( const QString & s, bool * ok = 0 ) const"
+Returns the unsigned long long int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+.SH "ushort QLocale::toUShort ( const QString & s, bool * ok = 0 ) const"
+Returns the unsigned short int represented by the localized string \fIs\fR, or 0 if the conversion failed.
+.PP
+If \fIok\fR is not 0, reports failure by setting *ok to false and success by setting *ok to true.
+.PP
+This function ignores leading and trailing whitespace.
+.PP
+See also toString().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlocale.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlocale.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qlocalfs.3qt b/doc/man/man3/qlocalfs.3qt
new file mode 100644
index 0000000..3fc7d2b
--- /dev/null
+++ b/doc/man/man3/qlocalfs.3qt
@@ -0,0 +1,67 @@
+'\" t
+.TH QLocalFs 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QLocalFs \- Implementation of a QNetworkProtocol that works on the local file system
+.SH SYNOPSIS
+\fC#include <qlocalfs.h>\fR
+.PP
+Inherits QNetworkProtocol.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQLocalFs\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QLocalFs class is an implementation of a QNetworkProtocol that works on the local file system.
+.PP
+This class is derived from QNetworkProtocol. QLocalFs is not normally used directly, but rather through a QUrlOperator, for example:
+.PP
+.nf
+.br
+ QUrlOperator op( "file:///tmp" );
+.br
+ op.listChildren(); // Asks the server to provide a directory listing
+.br
+.fi
+.PP
+This code will only work if the QLocalFs class is registered; to register the class, you must call qInitNetworkProtocols() before using a QUrlOperator with QLocalFs.
+.PP
+If you really need to use QLocalFs directly, don't forget to set its QUrlOperator with setUrl().
+.PP
+See also Qt Network Documentation, QNetworkProtocol, QUrlOperator, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QLocalFs::QLocalFs ()"
+Constructor.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qlocalfs.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qlocalfs.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmacmime.3qt b/doc/man/man3/qmacmime.3qt
new file mode 100644
index 0000000..71a9cea
--- /dev/null
+++ b/doc/man/man3/qmacmime.3qt
@@ -0,0 +1,150 @@
+'\" t
+.TH QMacMime 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMacMime \- Maps open-standard MIME to Mac flavors
+.SH SYNOPSIS
+\fC#include <qmime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMacMime\fR ( char t )"
+.br
+.ti -1c
+.BI "virtual \fB~QMacMime\fR ()"
+.br
+.ti -1c
+.BI "virtual const char * \fBconvertorName\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBcountFlavors\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBflavor\fR ( int index ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBcanConvert\fR ( const char * mime, int flav ) = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBmimeFor\fR ( int flav ) = 0"
+.br
+.ti -1c
+.BI "virtual int \fBflavorFor\fR ( const char * mime ) = 0"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBconvertToMime\fR ( QValueList<QByteArray> data, const char * mime, int flav ) = 0"
+.br
+.ti -1c
+.BI "virtual QValueList<QByteArray> \fBconvertFromMime\fR ( QByteArray data, const char * mime, int flav ) = 0"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QPtrList<QMacMime> \fBall\fR ( QMacMimeType t )"
+.br
+.ti -1c
+.BI "QMacMime * \fBconvertor\fR ( QMacMimeType t, const char * mime, int flav )"
+.br
+.ti -1c
+.BI "const char * \fBflavorToMime\fR ( QMacMimeType t, int flav )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMacMime class maps open-standard MIME to Mac flavors.
+.PP
+Qt's drag-and-drop and clipboard facilities use the MIME standard. On X11, this maps trivially to the Xdnd protocol, but on Mac although some applications use MIME types to describe clipboard formats, others use arbitrary non-standardized naming conventions, or unnamed built-in Mac formats.
+.PP
+By instantiating subclasses of QMacMime that provide conversions between Mac flavors and MIME formats, you can convert proprietary clipboard formats to MIME formats.
+.PP
+Qt has predefined support for the following Mac flavors:
+.TP
+kScrapFlavorTypeUnicode - converted to "text/plain;charset=ISO-10646-UCS-2" and supported by QTextDrag.
+.TP
+kScrapFlavorTypeText - converted to "text/plain;charset=system" or "text/plain" and supported by QTextDrag.
+.TP
+kScrapFlavorTypePicture - converted to "image/format", where format is a Qt image format, and supported by QImageDrag.
+.TP
+kDragFlavorTypeHFS - converted to "text/uri-list", and supported by QUriDrag.
+.PP
+You can check if a MIME type is convertible using canConvert() and can perform conversions with convertToMime() and convertFromMime().
+.PP
+See also Drag And Drop Classes, Input/Output and Networking, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMacMime::QMacMime ( char t )"
+Constructs a new conversion object of type \fIt\fR, adding it to the globally accessed list of available convertors.
+.SH "QMacMime::~QMacMime ()\fC [virtual]\fR"
+Destroys a conversion object, removing it from the global list of available convertors.
+.SH "QPtrList<QMacMime> QMacMime::all ( QMacMimeType t )\fC [static]\fR"
+Returns a list of all currently defined QMacMime objects of type \fIt\fR.
+.SH "bool QMacMime::canConvert ( const char * mime, int flav )\fC [pure virtual]\fR"
+Returns TRUE if the convertor can convert (both ways) between \fImime\fR and \fIflav\fR; otherwise returns FALSE.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "QValueList<QByteArray> QMacMime::convertFromMime ( QByteArray data, const char * mime, int flav )\fC [pure virtual]\fR"
+Returns \fIdata\fR converted from MIME type \fImime\fR to Mac flavor \fIflav\fR.
+.PP
+Note that Mac flavors must all be self-terminating. The return value may contain trailing data.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "QByteArray QMacMime::convertToMime ( QValueList<QByteArray> data, const char * mime, int flav )\fC [pure virtual]\fR"
+Returns \fIdata\fR converted from Mac flavor \fIflav\fR to MIME type \fImime\fR.
+.PP
+Note that Mac flavors must all be self-terminating. The input \fIdata\fR may contain trailing data.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "QMacMime * QMacMime::convertor ( QMacMimeType t, const char * mime, int flav )\fC [static]\fR"
+Returns the most-recently created QMacMime of type \fIt\fR that can convert between the \fImime\fR and \fIflav\fR formats. Returns 0 if no such convertor exists.
+.SH "const char * QMacMime::convertorName ()\fC [pure virtual]\fR"
+Returns a name for the convertor.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QMacMime::countFlavors ()\fC [pure virtual]\fR"
+Returns the number of Mac flavors supported by this convertor.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QMacMime::flavor ( int index )\fC [pure virtual]\fR"
+Returns the Mac flavor supported by this convertor that is ordinarily at position \fIindex\fR. This means that flavor(0) returns the first Mac flavor supported, and flavor(countFlavors()-1) returns the last. If \fIindex\fR is out of range the return value is undefined.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QMacMime::flavorFor ( const char * mime )\fC [pure virtual]\fR"
+Returns the Mac flavor used for MIME type \fImime\fR, or 0 if this convertor does not support \fImime\fR.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "const char * QMacMime::flavorToMime ( QMacMimeType t, int flav )\fC [static]\fR"
+Returns a MIME type of type \fIt\fR for \fIflav\fR, or 0 if none exists.
+.SH "const char * QMacMime::mimeFor ( int flav )\fC [pure virtual]\fR"
+Returns the MIME type used for Mac flavor \fIflav\fR, or 0 if this convertor does not support \fIflav\fR.
+.PP
+All subclasses must reimplement this pure virtual function.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmacmime.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmacmime.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmacstyle.3qt b/doc/man/man3/qmacstyle.3qt
new file mode 100644
index 0000000..7617147
--- /dev/null
+++ b/doc/man/man3/qmacstyle.3qt
@@ -0,0 +1,135 @@
+'\" t
+.TH QMacStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMacStyle \- Implements an Appearance Manager style
+.SH SYNOPSIS
+\fC#include <qmacstyle_mac.h>\fR
+.PP
+Inherits QWindowsStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMacStyle\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QMacStyle\fR ()"
+.br
+.ti -1c
+.BI "enum \fBFocusRectPolicy\fR { FocusEnabled, FocusDisabled, FocusDefault }"
+.br
+.ti -1c
+.BI "enum \fBWidgetSizePolicy\fR { SizeSmall, SizeLarge, SizeNone, SizeDefault }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetFocusRectPolicy\fR ( QWidget * w, FocusRectPolicy policy )"
+.br
+.ti -1c
+.BI "FocusRectPolicy \fBfocusRectPolicy\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBsetWidgetSizePolicy\fR ( QWidget * w, WidgetSizePolicy policy )"
+.br
+.ti -1c
+.BI "WidgetSizePolicy \fBwidgetSizePolicy\fR ( QWidget * w )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMacStyle class implements an Appearance Manager style.
+.PP
+This class is implemented as a wrapper to the Apple Appearance Manager. This allows your application to be styled by whatever theme your Macintosh is using. This is done by having primitives in QStyle implemented in terms of what the Macintosh would normally theme (i.e. the Finder).
+.PP
+There are additional issues that should be taken into consideration to make an application compatible with the Aqua Style Guidelines. Some of these issues are outlined below.
+.IP
+.TP
+Layout - The restrictions on window layout are such that some aspects of layout that are style-dependent cannot be achieved using QLayout. Changes are being considered (and feedback would be appreciated) to make layouts QStyle-able. Some of the restrictions involve horizontal and vertical widget alignment and widget size (covered below).
+.IP
+.TP
+Widget size - Aqua allows widgets to have specific fixed sizes. Qt does not fully implement this behaviour so as to maintain multiplatform compatibility. As a result some widgets sizes may be inappropriate (and subsequently not rendered correctly by the Appearance Manager).The QWidget::sizeHint() will return the appropriate size for many managed widgets (widgets enumerated in QStyle::ContentsType).
+.IP
+.TP
+Effects - QMacStyle (in contrast to QAquaStyle) is not emulating (except where Appearance Manager does not provide certain capabilities), for example QPushButton pulsing effects. In this case a near matching emulation has been implemented, but naturally this will not be identical to the similar functionality built into the Appearance Manager. Please report any issues you see in effects or non-standard widgets.
+.IP
+.PP
+There are other issues that need to be considered in the feel of your application (including the general color scheme to match the Aqua colors). The Guidelines mentioned above will remain current with new advances and design suggestions for Mac OS X.
+.PP
+Note that the functions provided by QMacStyle are reimplementations of QStyle functions; see QStyle for their documentation.
+.PP
+See also Widget Appearance and Style.
+.SS "Member Type Documentation"
+.SH "QMacStyle::FocusRectPolicy"
+This type is used to signify a widget's focus rectangle policy.
+.TP
+\fCQMacStyle::FocusEnabled\fR - show a focus rectangle when the widget has focus.
+.TP
+\fCQMacStyle::FocusDisabled\fR - never show a focus rectangle for the widget.
+.TP
+\fCQMacStyle::FocusDefault\fR - show a focus rectangle when the widget has focus and the widget is a QSpinWidget, QDateTimeEdit, QLineEdit, QListBox, QListView, editable QTextEdit, or one of their subclasses.
+.SH "QMacStyle::WidgetSizePolicy"
+.TP
+\fCQMacStyle::SizeSmall\fR
+.TP
+\fCQMacStyle::SizeLarge\fR
+.TP
+\fCQMacStyle::SizeNone\fR
+.TP
+\fCQMacStyle::SizeDefault\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMacStyle::QMacStyle ()"
+Constructs a QMacStyle object.
+.SH "QMacStyle::~QMacStyle ()\fC [virtual]\fR"
+Destructs a QMacStyle object.
+.SH "FocusRectPolicy QMacStyle::focusRectPolicy ( QWidget * w )\fC [static]\fR"
+Returns the focus rectangle policy for the widget \fIw\fR.
+.PP
+The focus rectangle policy can be one of QMacStyle::FocusRectPolicy.
+.PP
+See also setFocusRectPolicy().
+.SH "void QMacStyle::setFocusRectPolicy ( QWidget * w, FocusRectPolicy policy )\fC [static]\fR"
+Sets the focus rectangle policy of \fIw\fR. The \fIpolicy\fR can be one of QMacStyle::FocusRectPolicy.
+.PP
+See also focusRectPolicy().
+.SH "void QMacStyle::setWidgetSizePolicy ( QWidget * w, WidgetSizePolicy policy )\fC [static]\fR"
+Sets the widget size policy of \fIw\fR. The \fIpolicy\fR can be one of QMacStyle::WidgetSizePolicy.
+.PP
+See also widgetSizePolicy().
+.SH "WidgetSizePolicy QMacStyle::widgetSizePolicy ( QWidget * w )\fC [static]\fR"
+Returns the widget size policy for the widget \fIw\fR.
+.PP
+The widget size policy can be one of QMacStyle::WidgetSizePolicy.
+.PP
+See also setWidgetSizePolicy().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmacstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmacstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmainwindow.3qt b/doc/man/man3/qmainwindow.3qt
new file mode 100644
index 0000000..711f04a
--- /dev/null
+++ b/doc/man/man3/qmainwindow.3qt
@@ -0,0 +1,845 @@
+'\" t
+.TH QMainWindow 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMainWindow \- Main application window, with a menu bar, dock windows (e.g. for toolbars), and a status bar
+.SH SYNOPSIS
+\fC#include <qmainwindow.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMainWindow\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = WType_TopLevel )"
+.br
+.ti -1c
+.BI "\fB~QMainWindow\fR ()"
+.br
+.ti -1c
+.BI "QMenuBar * \fBmenuBar\fR () const"
+.br
+.ti -1c
+.BI "QStatusBar * \fBstatusBar\fR () const"
+.br
+.ti -1c
+.BI "QToolTipGroup * \fBtoolTipGroup\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCentralWidget\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBcentralWidget\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDockEnabled\fR ( Dock dock, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisDockEnabled\fR ( Dock dock ) const"
+.br
+.ti -1c
+.BI "bool \fBisDockEnabled\fR ( QDockArea * area ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDockEnabled\fR ( QDockWindow * dw, Dock dock, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisDockEnabled\fR ( QDockWindow * tb, Dock dock ) const"
+.br
+.ti -1c
+.BI "bool \fBisDockEnabled\fR ( QDockWindow * dw, QDockArea * area ) const"
+.br
+.ti -1c
+.BI "virtual void \fBaddDockWindow\fR ( QDockWindow * dockWindow, Dock edge = DockTop, bool newLine = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBaddDockWindow\fR ( QDockWindow * dockWindow, const QString & label, Dock edge = DockTop, bool newLine = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveDockWindow\fR ( QDockWindow * dockWindow, Dock edge = DockTop )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveDockWindow\fR ( QDockWindow * dockWindow, Dock edge, bool nl, int index, int extraOffset = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveDockWindow\fR ( QDockWindow * dockWindow )"
+.br
+.ti -1c
+.BI "bool rightJustification () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBusesBigPixmaps\fR () const"
+.br
+.ti -1c
+.BI "bool \fBusesTextLabel\fR () const"
+.br
+.ti -1c
+.BI "bool \fBdockWindowsMovable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBopaqueMoving\fR () const"
+.br
+.ti -1c
+.BI "bool \fBgetLocation\fR ( QDockWindow * dw, Dock & dock, int & index, bool & nl, int & extraOffset ) const"
+.br
+.ti -1c
+.BI "QPtrList<QDockWindow> \fBdockWindows\fR ( Dock dock ) const"
+.br
+.ti -1c
+.BI "QPtrList<QDockWindow> \fBdockWindows\fR () const"
+.br
+.ti -1c
+.BI "void \fBlineUpDockWindows\fR ( bool keepNewLines = FALSE )"
+.br
+.ti -1c
+.BI "bool \fBisDockMenuEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasDockWindow\fR ( QDockWindow * dw )"
+.br
+.ti -1c
+.BI "void addToolBar ( QDockWindow *, Dock = DockTop, bool newLine = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void addToolBar ( QDockWindow *, const QString & label, Dock = DockTop, bool newLine = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void moveToolBar ( QDockWindow *, Dock = DockTop ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void moveToolBar ( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void removeToolBar ( QDockWindow * ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool toolBarsMovable () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPtrList<QToolBar> \fBtoolBars\fR ( Dock dock ) const"
+.br
+.ti -1c
+.BI "void lineUpToolBars ( bool keepNewLines = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QDockArea * \fBleftDock\fR () const"
+.br
+.ti -1c
+.BI "QDockArea * \fBrightDock\fR () const"
+.br
+.ti -1c
+.BI "QDockArea * \fBtopDock\fR () const"
+.br
+.ti -1c
+.BI "QDockArea * \fBbottomDock\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisCustomizable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBappropriate\fR ( QDockWindow * dw ) const"
+.br
+.ti -1c
+.BI "enum \fBDockWindows\fR { OnlyToolBars, NoToolBars, AllDockWindows }"
+.br
+.ti -1c
+.BI "QPopupMenu * \fBcreateDockWindowMenu\fR ( DockWindows dockWindows = AllDockWindows ) const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void setRightJustification ( bool ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBsetUsesBigPixmaps\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUsesTextLabel\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDockWindowsMovable\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpaqueMoving\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDockMenuEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBwhatsThis\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetAppropriate\fR ( QDockWindow * dw, bool a )"
+.br
+.ti -1c
+.BI "virtual void \fBcustomize\fR ()"
+.br
+.ti -1c
+.BI "void setToolBarsMovable ( bool ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBpixmapSizeChanged\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBusesTextLabelChanged\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBdockWindowPositionChanged\fR ( QDockWindow * dockWindow )"
+.br
+.ti -1c
+.BI "void toolBarPositionChanged ( QToolBar * ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBdockWindowsMovable\fR - whether the dock windows are movable"
+.br
+.ti -1c
+.BI "bool \fBopaqueMoving\fR - whether dock windows are moved opaquely"
+.br
+.ti -1c
+.BI "bool rightJustification - whether the main window right-justifies its dock windows \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBusesBigPixmaps\fR - whether big pixmaps are enabled"
+.br
+.ti -1c
+.BI "bool \fBusesTextLabel\fR - whether text labels for toolbar buttons are enabled"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBchildEvent\fR ( QChildEvent * e )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetUpLayout\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBshowDockMenu\fR ( const QPoint & globalPos )"
+.br
+.ti -1c
+.BI "void \fBmenuAboutToShow\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( QTextStream & ts, const QMainWindow & mainWindow )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QTextStream & ts, QMainWindow & mainWindow )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMainWindow class provides a main application window, with a menu bar, dock windows (e.g. for toolbars), and a status bar.
+.PP
+Main windows are most often used to provide menus, toolbars and a status bar around a large central widget, such as a text edit, drawing canvas or QWorkspace (for MDI applications). QMainWindow is usually subclassed since this makes it easier to encapsulate the central widget, menus and toolbars as well as the window's state. Subclassing makes it possible to create the slots that are called when the user clicks menu items or toolbar buttons. You can also create main windows using Qt Designer. We'll briefly review adding menu items and toolbar buttons then describe the facilities of QMainWindow itself.
+.PP
+.nf
+.br
+ QMainWindow *mw = new QMainWindow;
+.br
+ QTextEdit *edit = new QTextEdit( mw, "editor" );
+.br
+ edit->setFocus();
+.br
+ mw->setCaption( "Main Window" );
+.br
+ mw->setCentralWidget( edit );
+.br
+ mw->show();
+.br
+.fi
+.PP
+QMainWindows may be created in their own right as shown above. The central widget is set with setCentralWidget(). Popup menus can be added to the default menu bar, widgets can be added to the status bar, toolbars and dock windows can be added to any of the dock areas.
+.PP
+.nf
+.br
+ ApplicationWindow *mw = new ApplicationWindow();
+.br
+ mw->setCaption( "Qt Example - Application" );
+.br
+ mw->show();
+.fi
+.PP
+In the extract above ApplicationWindow is a subclass of QMainWindow that we must write for ourselves; this is the usual approach to using QMainWindow. (The source for the extracts in this description are taken from application/main.cpp, application/application.cpp, action/main.cpp, and action/application.cpp )
+.PP
+When subclassing we add the menu items and toolbars in the subclass's constructor. If we've created a QMainWindow instance directly we can add menu items and toolbars just as easily by passing the QMainWindow instance as the parent instead of the \fIthis\fR pointer.
+.PP
+.nf
+.br
+ QPopupMenu * help = new QPopupMenu( this );
+.br
+ menuBar()->insertItem( "&Help", help );
+.br
+.br
+ help->insertItem( "&About", this, SLOT(about()), Key_F1 );
+.fi
+.PP
+Here we've added a new menu with one menu item. The menu has been inserted into the menu bar that QMainWindow provides by default and which is accessible through the menuBar() function. The slot will be called when the menu item is clicked.
+.PP
+.nf
+.br
+ QToolBar * fileTools = new QToolBar( this, "file operations" );
+.br
+ fileTools->setLabel( "File Operations" );
+.fi
+.PP
+.nf
+.br
+ QToolButton * fileOpen
+.br
+ = new QToolButton( openIcon, "Open File", QString::null,
+.br
+ this, SLOT(choose()), fileTools, "open file" );
+.fi
+.PP
+This extract shows the creation of a toolbar with one toolbar button. QMainWindow supplies four dock areas for toolbars. When a toolbar is created as a child of a QMainWindow (or derived class) instance it will be placed in a dock area (the Top dock area by default). The slot will be called when the toolbar button is clicked. Any dock window can be added to a dock area either using addDockWindow(), or by creating a dock window with the QMainWindow as the parent.
+.PP
+.nf
+.br
+ e = new QTextEdit( this, "editor" );
+.br
+ e->setFocus();
+.br
+ setCentralWidget( e );
+.br
+ statusBar()->message( "Ready", 2000 );
+.fi
+.PP
+Having created the menus and toolbar we create an instance of the large central widget, give it the focus and set it as the main window's central widget. In the example we've also set the status bar, accessed via the statusBar() function, to an initial message which will be displayed for two seconds. Note that you can add additional widgets to the status bar, for example labels, to show further status information. See the QStatusBar documentation for details, particularly the addWidget() function.
+.PP
+Often we want to synchronize a toolbar button with a menu item. For example, if the user clicks a 'bold' toolbar button we want the 'bold' menu item to be checked. This synchronization can be achieved automatically by creating actions and adding the actions to the toolbar and menu.
+.PP
+.nf
+.br
+ QAction * fileOpenAction;
+.fi
+.PP
+.nf
+.br
+ fileOpenAction = new QAction( QPixmap( fileopen ), "&Open...",
+.br
+ CTRL+Key_O, this, "open" );
+.br
+ connect( fileOpenAction, SIGNAL( activated() ) , this, SLOT( choose() ) );
+.fi
+.PP
+Here we create an action with an icon which will be used in any menu and toolbar that the action is added to. We've also given the action a menu name, '&Open', and a keyboard shortcut. The connection that we have made will be used when the user clicks either the menu item \fIor\fR the toolbar button.
+.PP
+.nf
+.br
+ QPopupMenu * file = new QPopupMenu( this );
+.br
+ menuBar()->insertItem( "&File", file );
+.fi
+.PP
+.nf
+.br
+ fileOpenAction->addTo( file );
+.fi
+.PP
+The extract above shows the creation of a popup menu. We add the menu to the QMainWindow's menu bar and add our action.
+.PP
+.nf
+.br
+ QToolBar * fileTools = new QToolBar( this, "file operations" );
+.br
+ fileTools->setLabel( "File Operations" );
+.br
+ fileOpenAction->addTo( fileTools );
+.fi
+.PP
+Here we create a new toolbar as a child of the QMainWindow and add our action to the toolbar.
+.PP
+We'll now explore the functionality offered by QMainWindow.
+.PP
+The main window will take care of the dock areas, and the geometry of the central widget, but all other aspects of the central widget are left to you. QMainWindow automatically detects the creation of a menu bar or status bar if you specify the QMainWindow as parent, or you can use the provided menuBar() and statusBar() functions. The functions menuBar() and statusBar() create a suitable widget if one doesn't exist, and update the window's layout to make space.
+.PP
+QMainWindow provides a QToolTipGroup connected to the status bar. The function toolTipGroup() provides access to the default QToolTipGroup. It isn't possible to set a different tool tip group.
+.PP
+New dock windows and toolbars can be added to a QMainWindow using addDockWindow(). Dock windows can be moved using moveDockWindow() and removed with removeDockWindow(). QMainWindow allows default dock window (toolbar) docking in all its dock areas (Top, Left, Right, Bottom). You can use setDockEnabled() to enable and disable docking areas for dock windows. When adding or moving dock windows you can specify their 'edge' (dock area). The currently available edges are: Top, Left, Right, Bottom, Minimized (effectively a 'hidden' dock area) and TornOff (floating). See Qt::Dock for an explanation of these areas. Note that the *ToolBar functions are included for backward compatibility; all new code should use the *DockWindow functions. QToolbar is a subclass of QDockWindow so all functions that work with dock windows work on toolbars in the same way.
+.PP
+If the user clicks the close button, then the dock window is hidden. A dock window can be hidden or unhidden by the user by right clicking a dock area and clicking the name of the relevant dock window on the pop up dock window menu. This menu lists the names of every dock window; visible dock windows have a tick beside their names. The dock window menu is created automatically as required by createDockWindowMenu(). Since it may not always be appropriate for a dock window to appear on this menu the setAppropriate() function is used to inform the main window whether or not the dock window menu should include a particular dock window. Double clicking a dock window handle (usually on the left-hand side of the dock window) undocks (floats) the dock window. Double clicking a floating dock window's titlebar will dock the floating dock window. (See also QMainWindow::DockWindows.)
+.PP
+Some functions change the appearance of a QMainWindow globally:
+.TP
+QDockWindow::setHorizontalStretchable() and QDockWindow::setVerticalStretchable() are used to make specific dock windows or toolbars stretchable.
+.TP
+setUsesBigPixmaps() is used to set whether tool buttons should draw small or large pixmaps (see QIconSet for more information).
+.TP
+setUsesTextLabel() is used to set whether tool buttons should display a textual label in addition to pixmaps (see QToolButton for more information).
+.PP
+The user can drag dock windows into any enabled docking area. Dock windows can also be dragged \fIwithin\fR a docking area, for example to rearrange the order of some toolbars. Dock windows can also be dragged outside any docking area (undocked or 'floated'). Being able to drag dock windows can be enabled (the default) and disabled using setDockWindowsMovable().
+.PP
+The Minimized edge is a hidden dock area. If this dock area is enabled the user can hide (minimize) a dock window or show (restore) a minimized dock window by clicking the dock window handle. If the user hovers the mouse cursor over one of the handles, the caption of the dock window is displayed in a tool tip (see QDockWindow::caption() or QToolBar::label()), so if you enable the Minimized dock area, it is best to specify a meaningful caption or label for each dock window. To minimize a dock window programmatically use moveDockWindow() with an edge of Minimized.
+.PP
+Dock windows are moved transparently by default, i.e. during the drag an outline rectangle is drawn on the screen representing the position of the dock window as it moves. If you want the dock window to be shown normally whilst it is moved use setOpaqueMoving().
+.PP
+The location of a dock window, i.e. its dock area and position within the dock area, can be determined by calling getLocation(). Movable dock windows can be lined up to minimize wasted space with lineUpDockWindows(). Pointers to the dock areas are available from topDock(), leftDock(), rightDock() and bottomDock(). A customize menu item is added to the pop up dock window menu if isCustomizable() returns TRUE; it returns FALSE by default. Reimplement isCustomizable() and customize() if you want to offer this extra menu item, for example, to allow the user to change settings relating to the main window and its toolbars and dock windows.
+.PP
+The main window's menu bar is fixed (at the top) by default. If you want a movable menu bar, create a QMenuBar as a stretchable widget inside its own movable dock window and restrict this dock window to only live within the Top or Bottom dock:
+.PP
+.nf
+.br
+ QToolBar *tb = new QToolBar( this );
+.br
+ addDockWindow( tb, tr( "Menubar" ), Top, FALSE );
+.br
+ QMenuBar *mb = new QMenuBar( tb );
+.br
+ mb->setFrameStyle( QFrame::NoFrame );
+.br
+ tb->setStretchableWidget( mb );
+.br
+ setDockEnabled( tb, Left, FALSE );
+.br
+ setDockEnabled( tb, Right, FALSE );
+.br
+.fi
+.PP
+An application with multiple dock windows can choose to save the current dock window layout in order to restore it later, e.g. in the next session. You can do this by using the streaming operators for QMainWindow.
+.PP
+To save the layout and positions of all the dock windows do this:
+.PP
+.nf
+.br
+ QFile file( filename );
+.br
+ if ( file.open( IO_WriteOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ stream << *mainWindow;
+.br
+ file.close();
+.br
+ }
+.br
+.fi
+.PP
+To restore the dock window positions and sizes (normally when the application is next started), do following:
+.PP
+.nf
+.br
+ QFile file( filename );
+.br
+ if ( file.open( IO_ReadOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ stream >> *mainWindow;
+.br
+ file.close();
+.br
+ }
+.br
+.fi
+.PP
+The QSettings class can be used in conjunction with the streaming operators to store the application's settings.
+.PP
+QMainWindow's management of dock windows and toolbars is done transparently behind-the-scenes by QDockArea.
+.PP
+For multi-document interfaces (MDI), use a QWorkspace as the central widget.
+.PP
+Adding dock windows, e.g. toolbars, to QMainWindow's dock areas is straightforward. If the supplied dock areas are not sufficient for your application we suggest that you create a QWidget subclass and add your own dock areas (see QDockArea) to the subclass since QMainWindow provides functionality specific to the standard dock areas it provides.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QToolBar, QDockWindow, QStatusBar, QAction, QMenuBar, QPopupMenu, QToolTipGroup, QDialog, and Main Window and Related Classes.
+.SS "Member Type Documentation"
+.SH "QMainWindow::DockWindows"
+Right-clicking a dock area will pop-up the dock window menu (createDockWindowMenu() is called automatically). When called in code you can specify what items should appear on the menu with this enum.
+.TP
+\fCQMainWindow::OnlyToolBars\fR - The menu will list all the toolbars, but not any other dock windows.
+.TP
+\fCQMainWindow::NoToolBars\fR - The menu will list dock windows but not toolbars.
+.TP
+\fCQMainWindow::AllDockWindows\fR - The menu will list all toolbars and other dock windows. (This is the default.)
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMainWindow::QMainWindow ( QWidget * parent = 0, const char * name = 0, WFlags f = WType_TopLevel )"
+Constructs an empty main window. The \fIparent\fR, \fIname\fR and widget flags \fIf\fR, are passed on to the QWidget constructor.
+.PP
+By default, the widget flags are set to WType_TopLevel rather than 0 as they are with QWidget. If you don't want your QMainWindow to be a top level widget then you will need to set \fIf\fR to 0.
+.SH "QMainWindow::~QMainWindow ()"
+Destroys the object and frees any allocated resources.
+.SH "void QMainWindow::addDockWindow ( QDockWindow * dockWindow, Dock edge = DockTop, bool newLine = FALSE )\fC [virtual]\fR"
+Adds \fIdockWindow\fR to the \fIedge\fR dock area.
+.PP
+If \fInewLine\fR is FALSE (the default) then the \fIdockWindow\fR is added at the end of the \fIedge\fR. For vertical edges the end is at the bottom, for horizontal edges (including Minimized) the end is at the right. If \fInewLine\fR is TRUE a new line of dock windows is started with \fIdockWindow\fR as the first (left-most and top-most) dock window.
+.PP
+If \fIdockWindow\fR is managed by another main window, it is first removed from that window.
+.SH "void QMainWindow::addDockWindow ( QDockWindow * dockWindow, const QString & label, Dock edge = DockTop, bool newLine = FALSE )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds \fIdockWindow\fR to the dock area with label \fIlabel\fR.
+.PP
+If \fInewLine\fR is FALSE (the default) the \fIdockWindow\fR is added at the end of the \fIedge\fR. For vertical edges the end is at the bottom, for horizontal edges (including Minimized) the end is at the right. If \fInewLine\fR is TRUE a new line of dock windows is started with \fIdockWindow\fR as the first (left-most and top-most) dock window.
+.PP
+If \fIdockWindow\fR is managed by another main window, it is first removed from that window.
+.SH "void QMainWindow::addToolBar ( QDockWindow *, Dock = DockTop, bool newLine = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QMainWindow::addToolBar ( QDockWindow *, const QString & label, Dock = DockTop, bool newLine = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "bool QMainWindow::appropriate ( QDockWindow * dw ) const"
+Returns TRUE if it is appropriate to include a menu item for the \fIdw\fR dock window in the dock window menu; otherwise returns FALSE.
+.PP
+The user is able to change the state (show or hide) a dock window that has a menu item by clicking the item.
+.PP
+Call setAppropriate() to indicate whether or not a particular dock window should appear on the popup menu.
+.PP
+See also setAppropriate().
+.SH "QDockArea * QMainWindow::bottomDock () const"
+Returns a pointer the Bottom dock area
+.PP
+See also topDock(), leftDock(), and rightDock().
+.SH "QWidget * QMainWindow::centralWidget () const"
+Returns a pointer to the main window's central widget.
+.PP
+The central widget is surrounded by the left, top, right and bottom dock areas. The menu bar is above the top dock area.
+.PP
+See also setCentralWidget().
+.PP
+Example: qfd/qfd.cpp.
+.SH "void QMainWindow::childEvent ( QChildEvent * e )\fC [virtual protected]\fR"
+Monitors events, recieved in \fIe\fR, to ensure the layout is updated.
+.PP
+Reimplemented from QObject.
+.SH "QPopupMenu * QMainWindow::createDockWindowMenu ( DockWindows dockWindows = AllDockWindows ) const"
+Creates the dock window menu which contains all toolbars (if \fIdockWindows\fR is OnlyToolBars ), all dock windows (if \fIdockWindows\fR is NoToolBars) or all toolbars and dock windows (if \fIdockWindows\fR is AllDockWindows - the default).
+.PP
+This function is called internally when necessary, e.g. when the user right clicks a dock area (providing isDockMenuEnabled() returns TRUE).
+.PP
+The menu items representing the toolbars and dock windows are checkable. The visible dock windows are checked and the hidden dock windows are unchecked. The user can click a menu item to change its state (show or hide the dock window).
+.PP
+The list and the state are always kept up-to-date.
+.PP
+Toolbars and dock windows which are not appropriate in the current context (see setAppropriate()) are not listed in the menu.
+.PP
+The menu also has a menu item for lining up the dock windows.
+.PP
+If isCustomizable() returns TRUE, a Customize menu item is added to the menu, which if clicked will call customize(). The isCustomizable() function we provide returns FALSE and customize() does nothing, so they must be reimplemented in a subclass to be useful.
+.SH "void QMainWindow::customize ()\fC [virtual slot]\fR"
+This function is called when the user clicks the Customize menu item on the dock window menu.
+.PP
+The customize menu item will only appear if isCustomizable() returns TRUE (it returns FALSE by default).
+.PP
+The function is intended, for example, to provide the user with a means of telling the application that they wish to customize the main window, dock windows or dock areas.
+.PP
+The default implementation does nothing and the Customize menu item is not shown on the right-click menu by default. If you want the item to appear then reimplement isCustomizable() to return TRUE, and reimplement this function to do whatever you want.
+.PP
+See also isCustomizable().
+.SH "void QMainWindow::dockWindowPositionChanged ( QDockWindow * dockWindow )\fC [signal]\fR"
+This signal is emitted when the \fIdockWindow\fR has changed its position. A change in position occurs when a dock window is moved within its dock area or moved to another dock area (including the Minimized and \fCTearOff\fR dock areas).
+.PP
+See also getLocation().
+.SH "QPtrList<QDockWindow> QMainWindow::dockWindows ( Dock dock ) const"
+Returns a list of all the dock windows which are in the \fIdock\fR dock area, regardless of their state.
+.PP
+For example, the DockTornOff dock area may contain closed dock windows but these are returned along with the visible dock windows.
+.SH "QPtrList<QDockWindow> QMainWindow::dockWindows () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the list of dock windows which belong to this main window, regardless of which dock area they are in or what their state is, (e.g. irrespective of whether they are visible or not).
+.SH "bool QMainWindow::dockWindowsMovable () const"
+Returns TRUE if the dock windows are movable; otherwise returns FALSE. See the "dockWindowsMovable" property for details.
+.SH "bool QMainWindow::getLocation ( QDockWindow * dw, Dock & dock, int & index, bool & nl, int & extraOffset ) const"
+Finds the location of the dock window \fIdw\fR.
+.PP
+If the \fIdw\fR dock window is found in the main window the function returns TRUE and populates the \fIdock\fR variable with the dw's dock area and the \fIindex\fR with the dw's position within the dock area. It also sets \fInl\fR to TRUE if the \fIdw\fR begins a new line (otherwise FALSE), and \fIextraOffset\fR with the dock window's offset.
+.PP
+If the \fIdw\fR dock window is not found then the function returns FALSE and the state of \fIdock\fR, \fIindex\fR, \fInl\fR and \fIextraOffset\fR is undefined.
+.PP
+If you want to save and restore dock window positions then use operator>>() and operator<<().
+.PP
+See also operator>>() and operator<<().
+.SH "bool QMainWindow::hasDockWindow ( QDockWindow * dw )"
+Returns TRUE if \fIdw\fR is a dock window known to the main window; otherwise returns FALSE.
+.SH "bool QMainWindow::isCustomizable () const\fC [virtual]\fR"
+Returns TRUE if the dock area dock window menu includes the Customize menu item (which calls customize() when clicked). Returns FALSE by default, i.e. the popup menu will not contain a Customize menu item. You will need to reimplement this function and set it to return TRUE if you wish the user to be able to see the dock window menu.
+.PP
+See also customize().
+.SH "bool QMainWindow::isDockEnabled ( Dock dock ) const"
+Returns TRUE if the \fIdock\fR dock area is enabled, i.e. it can accept user dragged dock windows; otherwise returns FALSE.
+.PP
+See also setDockEnabled().
+.SH "bool QMainWindow::isDockEnabled ( QDockArea * area ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if dock area \fIarea\fR is enabled, i.e. it can accept user dragged dock windows; otherwise returns FALSE.
+.PP
+See also setDockEnabled().
+.SH "bool QMainWindow::isDockEnabled ( QDockWindow * tb, Dock dock ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if dock area \fIdock\fR is enabled for the dock window \fItb\fR; otherwise returns FALSE.
+.PP
+See also setDockEnabled().
+.SH "bool QMainWindow::isDockEnabled ( QDockWindow * dw, QDockArea * area ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if dock area \fIarea\fR is enabled for the dock window \fIdw\fR; otherwise returns FALSE.
+.PP
+See also setDockEnabled().
+.SH "bool QMainWindow::isDockMenuEnabled () const"
+Returns TRUE, if the dock window menu is enabled; otherwise returns FALSE.
+.PP
+The menu lists the (appropriate()) dock windows (which may be shown or hidden), and has a "Line Up Dock Windows" menu item. It will also have a "Customize" menu item if isCustomizable() returns TRUE.
+.PP
+See also setDockEnabled(), lineUpDockWindows(), appropriate(), and setAppropriate().
+.SH "QDockArea * QMainWindow::leftDock () const"
+Returns the Left dock area
+.PP
+See also rightDock(), topDock(), and bottomDock().
+.SH "void QMainWindow::lineUpDockWindows ( bool keepNewLines = FALSE )"
+This function will line up dock windows within the visible dock areas (Top, Left, Right and Bottom) as compactly as possible.
+.PP
+If \fIkeepNewLines\fR is TRUE, all dock windows stay on their original lines. If \fIkeepNewLines\fR is FALSE then newlines may be removed to achieve the most compact layout possible.
+.PP
+The method only works if dockWindowsMovable() returns TRUE.
+.SH "void QMainWindow::lineUpToolBars ( bool keepNewLines = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QMainWindow::menuAboutToShow ()\fC [protected slot]\fR"
+This slot is called from the aboutToShow() signal of the default dock menu of the mainwindow. The default implementation initializes the menu with all dock windows and toolbars in this slot.
+.SH "QMenuBar * QMainWindow::menuBar () const"
+Returns the menu bar for this window.
+.PP
+If there isn't one, then menuBar() creates an empty menu bar.
+.PP
+See also statusBar().
+.SH "void QMainWindow::moveDockWindow ( QDockWindow * dockWindow, Dock edge = DockTop )\fC [virtual]\fR"
+Moves \fIdockWindow\fR to the end of the \fIedge\fR.
+.PP
+For vertical edges the end is at the bottom, for horizontal edges (including Minimized) the end is at the right.
+.PP
+If \fIdockWindow\fR is managed by another main window, it is first removed from that window.
+.SH "void QMainWindow::moveDockWindow ( QDockWindow * dockWindow, Dock edge, bool nl, int index, int extraOffset = -1 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves \fIdockWindow\fR to position \fIindex\fR within the \fIedge\fR dock area.
+.PP
+Any dock windows with positions \fIindex\fR or higher have their position number incremented and any of these on the same line are moved right (down for vertical dock areas) to make room.
+.PP
+If \fInl\fR is TRUE, a new dock window line is created below the line in which the moved dock window appears and the moved dock window, with any others with higher positions on the same line, is moved to this new line.
+.PP
+The \fIextraOffset\fR is the space to put between the left side of the dock area (top side for vertical dock areas) and the dock window. (This is mostly used for restoring dock windows to the positions the user has dragged them to.)
+.PP
+If \fIdockWindow\fR is managed by another main window, it is first removed from that window.
+.SH "void QMainWindow::moveToolBar ( QDockWindow *, Dock = DockTop )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QMainWindow::moveToolBar ( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "bool QMainWindow::opaqueMoving () const"
+Returns TRUE if dock windows are moved opaquely; otherwise returns FALSE. See the "opaqueMoving" property for details.
+.SH "void QMainWindow::pixmapSizeChanged ( bool )\fC [signal]\fR"
+This signal is emitted whenever the setUsesBigPixmaps() is called with a value different to the current setting. All widgets that should respond to such changes, e.g. toolbar buttons, must connect to this signal.
+.SH "void QMainWindow::removeDockWindow ( QDockWindow * dockWindow )\fC [virtual]\fR"
+Removes \fIdockWindow\fR from the main window's docking area, provided \fIdockWindow\fR is non-null and managed by this main window.
+.SH "void QMainWindow::removeToolBar ( QDockWindow * )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QDockArea * QMainWindow::rightDock () const"
+Returns the Right dock area
+.PP
+See also leftDock(), topDock(), and bottomDock().
+.SH "bool QMainWindow::rightJustification () const"
+Returns TRUE if the main window right-justifies its dock windows; otherwise returns FALSE. See the "rightJustification" property for details.
+.SH "void QMainWindow::setAppropriate ( QDockWindow * dw, bool a )\fC [virtual slot]\fR"
+Use this function to control whether or not the \fIdw\fR dock window's caption should appear as a menu item on the dock window menu that lists the dock windows.
+.PP
+If \fIa\fR is TRUE then the \fIdw\fR will appear as a menu item on the dock window menu. The user is able to change the state (show or hide) a dock window that has a menu item by clicking the item; depending on the state of your application, this may or may not be appropriate. If \fIa\fR is FALSE the \fIdw\fR will not appear on the popup menu.
+.PP
+See also showDockMenu(), isCustomizable(), and customize().
+.SH "void QMainWindow::setCentralWidget ( QWidget * w )\fC [virtual]\fR"
+Sets the central widget for this main window to \fIw\fR.
+.PP
+The central widget is surrounded by the left, top, right and bottom dock areas. The menu bar is above the top dock area.
+.PP
+See also centralWidget().
+.SH "void QMainWindow::setDockEnabled ( Dock dock, bool enable )\fC [virtual]\fR"
+If \fIenable\fR is TRUE then users can dock windows in the \fIdock\fR area. If \fIenable\fR is FALSE users cannot dock windows in the \fIdock\fR dock area.
+.PP
+Users can dock (drag) dock windows into any enabled dock area.
+.SH "void QMainWindow::setDockEnabled ( QDockWindow * dw, Dock dock, bool enable )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+If \fIenable\fR is TRUE then users can dock the \fIdw\fR dock window in the \fIdock\fR area. If \fIenable\fR is FALSE users cannot dock the \fIdw\fR dock window in the \fIdock\fR area.
+.PP
+In general users can dock (drag) dock windows into any enabled dock area. Using this function particular dock areas can be enabled (or disabled) as docking points for particular dock windows.
+.SH "void QMainWindow::setDockMenuEnabled ( bool b )\fC [virtual slot]\fR"
+If \fIb\fR is TRUE, then right clicking on a dock window or dock area will pop up the dock window menu. If \fIb\fR is FALSE, right clicking a dock window or dock area will not pop up the menu.
+.PP
+The menu lists the (appropriate()) dock windows (which may be shown or hidden), and has a "Line Up Dock Windows" item. It will also have a "Customize" menu item if isCustomizable() returns TRUE.
+.PP
+See also lineUpDockWindows() and isDockMenuEnabled().
+.SH "void QMainWindow::setDockWindowsMovable ( bool )\fC [virtual slot]\fR"
+Sets whether the dock windows are movable. See the "dockWindowsMovable" property for details.
+.SH "void QMainWindow::setOpaqueMoving ( bool )\fC [virtual slot]\fR"
+Sets whether dock windows are moved opaquely. See the "opaqueMoving" property for details.
+.SH "void QMainWindow::setRightJustification ( bool )\fC [virtual slot]\fR"
+Sets whether the main window right-justifies its dock windows. See the "rightJustification" property for details.
+.SH "void QMainWindow::setToolBarsMovable ( bool )\fC [slot]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QMainWindow::setUpLayout ()\fC [virtual protected slot]\fR"
+Sets up the geometry management of the window. It is called automatically when needed, so you shouldn't need to call it.
+.SH "void QMainWindow::setUsesBigPixmaps ( bool )\fC [virtual slot]\fR"
+Sets whether big pixmaps are enabled. See the "usesBigPixmaps" property for details.
+.SH "void QMainWindow::setUsesTextLabel ( bool )\fC [virtual slot]\fR"
+Sets whether text labels for toolbar buttons are enabled. See the "usesTextLabel" property for details.
+.SH "bool QMainWindow::showDockMenu ( const QPoint & globalPos )\fC [virtual protected slot]\fR"
+Shows the dock menu at the position \fIglobalPos\fR. The menu lists the dock windows so that they can be shown (or hidden), lined up, and possibly customized. Returns TRUE if the menu is shown; otherwise returns FALSE.
+.PP
+If you want a custom menu, reimplement this function. You can create the menu from scratch or call createDockWindowMenu() and modify the result.
+.SH "QStatusBar * QMainWindow::statusBar () const"
+Returns this main window's status bar. If there isn't one, statusBar() creates an empty status bar, and if necessary a tool tip group too.
+.PP
+See also menuBar() and toolTipGroup().
+.PP
+Example: qfd/qfd.cpp.
+.SH "void QMainWindow::toolBarPositionChanged ( QToolBar * )\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QPtrList<QToolBar> QMainWindow::toolBars ( Dock dock ) const"
+Returns a list of all the toolbars which are in the \fIdock\fR dock area, regardless of their state.
+.PP
+For example, the TornOff dock area may contain closed toolbars but these are returned along with the visible toolbars.
+.PP
+See also dockWindows().
+.SH "bool QMainWindow::toolBarsMovable () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QToolTipGroup * QMainWindow::toolTipGroup () const"
+Returns this main window's tool tip group. If there isn't one, toolTipGroup() creates an empty tool tip group.
+.PP
+See also menuBar() and statusBar().
+.SH "QDockArea * QMainWindow::topDock () const"
+Returns the Top dock area
+.PP
+See also bottomDock(), leftDock(), and rightDock().
+.SH "bool QMainWindow::usesBigPixmaps () const"
+Returns TRUE if big pixmaps are enabled; otherwise returns FALSE. See the "usesBigPixmaps" property for details.
+.SH "bool QMainWindow::usesTextLabel () const"
+Returns TRUE if text labels for toolbar buttons are enabled; otherwise returns FALSE. See the "usesTextLabel" property for details.
+.SH "void QMainWindow::usesTextLabelChanged ( bool )\fC [signal]\fR"
+This signal is emitted whenever the setUsesTextLabel() is called with a value different to the current setting. All widgets that should respond to such changes, e.g. toolbar buttons, must connect to this signal.
+.SH "void QMainWindow::whatsThis ()\fC [virtual slot]\fR"
+Enters 'What's This?' mode and returns immediately.
+.PP
+This is the same as QWhatsThis::enterWhatsThisMode(), but implemented as a main window object's slot. This way it can easily be used for popup menus, for example:
+.PP
+.nf
+.br
+ QPopupMenu * help = new QPopupMenu( this );
+.br
+ help->insertItem( "What's &This", this , SLOT(whatsThis()), SHIFT+Key_F1);
+.br
+.fi
+.PP
+See also QWhatsThis::enterWhatsThisMode().
+.SS "Property Documentation"
+.SH "bool dockWindowsMovable"
+This property holds whether the dock windows are movable.
+.PP
+If TRUE (the default), the user will be able to move movable dock windows from one QMainWindow dock area to another, including the \fCTearOff\fR area (i.e. where the dock window floats freely as a window in its own right), and the Minimized area (where only the dock window's handle is shown below the menu bar). Moveable dock windows can also be moved within QMainWindow dock areas, i.e. to rearrange them within a dock area.
+.PP
+If FALSE the user will not be able to move any dock windows.
+.PP
+By default dock windows are moved transparently (i.e. only an outline rectangle is shown during the drag), but this setting can be changed with setOpaqueMoving().
+.PP
+See also setDockEnabled() and opaqueMoving.
+.PP
+Set this property's value with setDockWindowsMovable() and get this property's value with dockWindowsMovable().
+.SH "bool opaqueMoving"
+This property holds whether dock windows are moved opaquely.
+.PP
+If TRUE the dock windows of the main window are shown opaquely (i.e. it shows the toolbar as it looks when docked) whilst it is being moved. If FALSE (the default) they are shown transparently, (i.e. as an outline rectangle).
+.PP
+\fBWarning:\fR Opaque moving of toolbars and dockwindows is known to have several problems. We recommend avoiding the use of this feature for the time being. We intend fixing the problems in a future release.
+.PP
+Set this property's value with setOpaqueMoving() and get this property's value with opaqueMoving().
+.SH "bool rightJustification"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This property holds whether the main window right-justifies its dock windows.
+.PP
+If disabled (the default), stretchable dock windows are expanded, and non-stretchable dock windows are given the minimum space they need. Since most dock windows are not stretchable, this usually results in an unjustified right edge (or unjustified bottom edge for a vertical dock area). If enabled, the main window will right-justify its dock windows.
+.PP
+See also QDockWindow::setVerticalStretchable() and QDockWindow::setHorizontalStretchable().
+.PP
+Set this property's value with setRightJustification() and get this property's value with rightJustification().
+.SH "bool usesBigPixmaps"
+This property holds whether big pixmaps are enabled.
+.PP
+If FALSE (the default), the tool buttons will use small pixmaps; otherwise big pixmaps will be used.
+.PP
+Tool buttons and other widgets that wish to respond to this setting are responsible for reading the correct state on startup, and for connecting to the main window's widget's pixmapSizeChanged() signal.
+.PP
+Set this property's value with setUsesBigPixmaps() and get this property's value with usesBigPixmaps().
+.SH "bool usesTextLabel"
+This property holds whether text labels for toolbar buttons are enabled.
+.PP
+If disabled (the default), the tool buttons will not use text labels. If enabled, text labels will be used.
+.PP
+Tool buttons and other widgets that wish to respond to this setting are responsible for reading the correct state on startup, and for connecting to the main window's widget's usesTextLabelChanged() signal.
+.PP
+See also QToolButton::usesTextLabel.
+.PP
+Set this property's value with setUsesTextLabel() and get this property's value with usesTextLabel().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QTextStream & operator<< ( QTextStream & ts, const QMainWindow & mainWindow )"
+Writes the layout (sizes and positions) of the dock windows in the dock areas of the QMainWindow \fImainWindow\fR, including Minimized and TornOff dock windows, to the text stream \fIts\fR.
+.PP
+This can be used, for example, in conjunction with QSettings to save the user's layout when the \\mainWindow receives a closeEvent.
+.PP
+See also operator>>() and closeEvent().
+.SH "QTextStream & operator>> ( QTextStream & ts, QMainWindow & mainWindow )"
+Reads the layout (sizes and positions) of the dock windows in the dock areas of the QMainWindow \fImainWindow\fR from the text stream, \fIts\fR, including Minimized and TornOff dock windows. Restores the dock windows and dock areas to these sizes and positions. The layout information must be in the format produced by operator<<().
+.PP
+This can be used, for example, in conjunction with QSettings to restore the user's layout.
+.PP
+See also operator<<().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmainwindow.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmainwindow.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmap.3qt b/doc/man/man3/qmap.3qt
new file mode 100644
index 0000000..356e78d
--- /dev/null
+++ b/doc/man/man3/qmap.3qt
@@ -0,0 +1,554 @@
+'\" t
+.TH QMap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMap \- Value-based template class that provides a dictionary
+.SH SYNOPSIS
+\fC#include <qmap.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef Key \fBkey_type\fR"
+.br
+.ti -1c
+.BI "typedef T \fBmapped_type\fR"
+.br
+.ti -1c
+.BI "typedef QPair<const key_type, mapped_type> \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef value_type * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef const value_type * \fBconst_pointer\fR"
+.br
+.ti -1c
+.BI "typedef value_type & \fBreference\fR"
+.br
+.ti -1c
+.BI "typedef const value_type & \fBconst_reference\fR"
+.br
+.ti -1c
+.BI "typedef size_t \fBsize_type\fR"
+.br
+.ti -1c
+.BI "typedef QMapIterator<Key, T> \fBiterator\fR"
+.br
+.ti -1c
+.BI "typedef QMapConstIterator<Key, T> \fBconst_iterator\fR"
+.br
+.ti -1c
+.BI "typedef QPair<iterator, bool> \fBinsert_pair\fR"
+.br
+.ti -1c
+.BI "typedef QMapIterator<Key, T> \fBIterator\fR"
+.br
+.ti -1c
+.BI "typedef QMapConstIterator<Key, T> \fBConstIterator\fR"
+.br
+.ti -1c
+.BI "typedef T \fBValueType\fR"
+.br
+.ti -1c
+.BI "\fBQMap\fR ()"
+.br
+.ti -1c
+.BI "\fBQMap\fR ( const QMap<Key, T> & m )"
+.br
+.ti -1c
+.BI "\fBQMap\fR ( const std::map<Key, T> & m )"
+.br
+.ti -1c
+.BI "\fB~QMap\fR ()"
+.br
+.ti -1c
+.BI "QMap<Key, T> & \fBoperator=\fR ( const QMap<Key, T> & m )"
+.br
+.ti -1c
+.BI "QMap<Key, T> & \fBoperator=\fR ( const std::map<Key, T> & m )"
+.br
+.ti -1c
+.BI "iterator \fBbegin\fR ()"
+.br
+.ti -1c
+.BI "iterator \fBend\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBbegin\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBend\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstBegin\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstEnd\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBreplace\fR ( const Key & k, const T & v )"
+.br
+.ti -1c
+.BI "size_type \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBempty\fR () const"
+.br
+.ti -1c
+.BI "QPair<iterator, bool> \fBinsert\fR ( const value_type & x )"
+.br
+.ti -1c
+.BI "void \fBerase\fR ( iterator it )"
+.br
+.ti -1c
+.BI "void \fBerase\fR ( const key_type & k )"
+.br
+.ti -1c
+.BI "size_type \fBcount\fR ( const key_type & k ) const"
+.br
+.ti -1c
+.BI "T & \fBoperator[]\fR ( const Key & k )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "iterator \fBfind\fR ( const Key & k )"
+.br
+.ti -1c
+.BI "const_iterator \fBfind\fR ( const Key & k ) const"
+.br
+.ti -1c
+.BI "const T & \fBoperator[]\fR ( const Key & k ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const Key & k ) const"
+.br
+.ti -1c
+.BI "size_type \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QValueList<Key> \fBkeys\fR () const"
+.br
+.ti -1c
+.BI "QValueList<T> \fBvalues\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBinsert\fR ( const Key & key, const T & value, bool overwrite = TRUE )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( iterator it )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( const Key & k )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBdetach\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QMap<Key, T> & m )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QMap<Key, T> & m )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMap class is a value-based template class that provides a dictionary.
+.PP
+QMap is a Qt implementation of an STL-like map container. It can be used in your application if the standard \fCmap\fR is not available on all your target platforms. QMap is part of the Qt Template Library.
+.PP
+QMap<Key, Data> defines a template instance to create a dictionary with keys of type Key and values of type Data. QMap does not store pointers to the members of the map; instead, it holds a copy of every member. For this reason, QMap is value-based, whereas QPtrList and QDict are pointer-based.
+.PP
+QMap contains and manages a collection of objects of type Data with associated key values of type Key and provides iterators that allow the contained objects to be addressed. QMap owns the contained items.
+.PP
+Some classes cannot be used within a QMap. For example everything derived from QObject and thus all classes that implement widgets. Only values can be used in a QMap. To qualify as a value, the class must provide
+.TP
+A copy constructor
+.TP
+An assignment operator
+.TP
+A default constructor, i.e. a constructor that does not take any arguments.
+.PP
+Note that C++ defaults to field-by-field assignment operators and copy constructors if no explicit version is supplied. In many cases, this is sufficient.
+.PP
+The class used for the key requires that the \fCoperator<\fR is implemented to define ordering of the keys.
+.PP
+QMap's function naming is consistent with the other Qt classes (e.g., count(), isEmpty()). QMap also provides extra functions for compatibility with STL algorithms, such as size() and empty(). Programmers already familiar with the STL \fCmap\fR can use these the STL-like functions if preferred.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qstring.h>
+.br
+ #include <qmap.h>
+.br
+ #include <qstring.h>
+.br
+.br
+ class Employee
+.br
+ {
+.br
+ public:
+.br
+ Employee(): sn(0) {}
+.br
+ Employee( const QString& forename, const QString& surname, int salary )
+.br
+ : fn(forename), sn(surname), sal(salary)
+.br
+ { }
+.br
+.br
+ QString forename() const { return fn; }
+.br
+ QString surname() const { return sn; }
+.br
+ int salary() const { return sal; }
+.br
+ void setSalary( int salary ) { sal = salary; }
+.br
+.br
+ private:
+.br
+ QString fn;
+.br
+ QString sn;
+.br
+ int sal;
+.br
+ };
+.br
+.br
+ int main(int argc, char **argv)
+.br
+ {
+.br
+ QApplication app( argc, argv );
+.br
+.br
+ typedef QMap<QString, Employee> EmployeeMap;
+.br
+ EmployeeMap map;
+.br
+.br
+ map["JD001"] = Employee("John", "Doe", 50000);
+.br
+ map["JW002"] = Employee("Jane", "Williams", 80000);
+.br
+ map["TJ001"] = Employee("Tom", "Jones", 60000);
+.br
+.br
+ Employee sasha( "Sasha", "Hind", 50000 );
+.br
+ map["SH001"] = sasha;
+.br
+ sasha.setSalary( 40000 );
+.br
+.br
+ EmployeeMap::Iterator it;
+.br
+ for ( it = map.begin(); it != map.end(); ++it ) {
+.br
+ printf( "%s: %s, %s earns %d\\n",
+.br
+ it.key().latin1(),
+.br
+ it.data().surname().latin1(),
+.br
+ it.data().forename().latin1(),
+.br
+ it.data().salary() );
+.br
+ }
+.br
+ return 0;
+.br
+ }
+.br
+.fi
+.PP
+Program output:
+.PP
+.nf
+.br
+ JD001: Doe, John earns 50000
+.br
+ JW002: Williams, Jane earns 80000
+.br
+ SH001: Hind, Sasha earns 50000
+.br
+ TJ001: Jones, Tom earns 60000
+.br
+.fi
+.PP
+The latest changes to Sasha's salary did not affect the value in the list because the map created a copy of Sasha's entry. In addition, notice that the items are sorted alphabetically (by key) when iterating over the map.
+.PP
+There are several ways to find items in a map. The begin() and end() functions return iterators to the beginning and end of the map. The advantage of using an iterator is that you can move forward or backward by incrementing/decrementing the iterator. The iterator returned by end() points to the element which is one past the last element in the container. The past-the-end iterator is still associated with the map it belongs to, however it is \fInot\fR dereferenceable; operator*() will not return a well-defined value. If the map is empty, the iterator returned by begin() will equal the iterator returned by end().
+.PP
+Another way to find an element in the map is by using the find() function. This returns an iterator pointing to the desired item or to the end() iterator if no such element exists.
+.PP
+Another approach uses the operator[]. But be warned: if the map does not contain an entry for the element you are looking for, operator[] inserts a default value. If you do not know that the element you are searching for is really in the list, you should not use operator[]. The following example illustrates this:
+.PP
+.nf
+.br
+ QMap<QString,QString> map;
+.br
+ map["Clinton"] = "Bill";
+.br
+ str << map["Clinton"] << map["Bush"] << endl;
+.br
+.fi
+.PP
+The code fragment will print out "Clinton", "". Since the value associated with the "Bush" key did not exist, the map inserted a default value (in this case, an empty string). If you are not sure whether a certain element is in the map, you should use find() and iterators instead.
+.PP
+If you just want to know whether a certain key is contained in the map, use the contains() function. In addition, count() tells you how many keys are in the map.
+.PP
+It is safe to have multiple iterators at the same time. If some member of the map is removed, only iterators pointing to the removed member become invalid; inserting in the map does not invalidate any iterators.
+.PP
+Since QMap is value-based, there is no need to be concerned about deleting items in the map. The map holds its own copies and will free them if the corresponding member or the map itself is deleted.
+.PP
+QMap is implicitly shared. This means you can just make copies of the map in time O(1). If multiple QMap instances share the same data and one is modifying the map's data, this modifying instance makes a copy and modifies its private copy: so it does not affect other instances. If a QMap is being used in a multi-threaded program, you must protect all access to the map. See QMutex.
+.PP
+There are a couple of ways of inserting new items into the map. One uses the insert() method; the other uses operator[]:
+.PP
+.nf
+.br
+ QMap<QString, QString> map;
+.br
+ map["Clinton"] = "Bill";
+.br
+ map.insert( "Bush", "George" );
+.br
+.fi
+.PP
+Items can also be removed from the map in several ways. One way is to pass an iterator to remove(). Another way is to pass a key value to remove(), which will delete the entry with the requested key. In addition you can clear the entire map using the clear() method.
+.PP
+See also QMapIterator, Qt Template Library Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QMap::ConstIterator"
+The map's const iterator type, Qt style.
+.SH "QMap::Iterator"
+The map's iterator type, Qt style.
+.SH "QMap::ValueType"
+Corresponds to QPair<key_type, mapped_type>, Qt style.
+.SH "QMap::const_iterator"
+The map's const iterator type.
+.SH "QMap::const_pointer"
+Const pointer to value_type.
+.SH "QMap::const_reference"
+Const reference to value_type.
+.SH "QMap::iterator"
+The map's iterator type.
+.SH "QMap::key_type"
+The map's key type.
+.SH "QMap::mapped_type"
+The map's data type.
+.SH "QMap::pointer"
+Pointer to value_type.
+.SH "QMap::reference"
+Reference to value_type.
+.SH "QMap::size_type"
+An unsigned integral type, used to represent various sizes.
+.SH "QMap::value_type"
+Corresponds to QPair<key_type, mapped_type>.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMap::QMap ()"
+Constructs an empty map.
+.SH "QMap::QMap ( const QMap<Key, T> & m )"
+Constructs a copy of \fIm\fR.
+.PP
+This operation costs O(1) time because QMap is implicitly shared. This makes returning a QMap from a function very fast. If a shared instance is modified, it will be copied (copy-on-write), and this takes O(n) time.
+.SH "QMap::QMap ( const std::map<Key, T> & m )"
+Constructs a copy of \fIm\fR.
+.SH "QMap::~QMap ()"
+Destroys the map. References to the values in the map and all iterators of this map become invalidated. Since QMap is highly tuned for performance you won't see warnings if you use invalid iterators, because it is not possible for an iterator to check whether it is valid or not.
+.SH "iterator QMap::begin ()"
+Returns an iterator pointing to the first element in the map. This iterator equals end() if the map is empty.
+.PP
+The items in the map are traversed in the order defined by operator<(Key, Key).
+.PP
+See also end() and QMapIterator.
+.SH "const_iterator QMap::begin () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also end() and QMapConstIterator.
+.SH "void QMap::clear ()"
+Removes all items from the map.
+.PP
+See also remove().
+.SH "const_iterator QMap::constBegin () const"
+Returns an iterator pointing to the first element in the map. This iterator equals end() if the map is empty.
+.PP
+The items in the map are traversed in the order defined by operator<(Key, Key).
+.PP
+See also constEnd() and QMapConstIterator.
+.SH "const_iterator QMap::constEnd () const"
+The iterator returned by end() points to the element which is one past the last element in the container. The past-the-end iterator is still associated with the map it belongs to, but it is \fInot\fR dereferenceable; operator*() will not return a well-defined value.
+.PP
+This iterator equals constBegin() if the map is empty.
+.PP
+See also constBegin() and QMapConstIterator.
+.SH "bool QMap::contains ( const Key & k ) const"
+Returns TRUE if the map contains an item with key \fIk\fR; otherwise returns FALSE.
+.SH "size_type QMap::count ( const key_type & k ) const"
+Returns the number of items whose key is \fIk\fR. Since QMap does not allow duplicate keys, the return value is always 0 or 1.
+.PP
+This function is provided for STL compatibility.
+.SH "size_type QMap::count () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of items in the map.
+.PP
+See also isEmpty().
+.SH "void QMap::detach ()\fC [protected]\fR"
+If the map does not share its data with another QMap instance, nothing happens; otherwise the function creates a new copy of this map and detaches from the shared one. This function is called whenever the map is modified. The implicit sharing mechanism is implemented this way.
+.SH "bool QMap::empty () const"
+Returns TRUE if the map contains no items; otherwise returns FALSE.
+.PP
+This function is provided for STL compatibility. It is equivalent to isEmpty().
+.PP
+See also size().
+.SH "iterator QMap::end ()"
+The iterator returned by end() points to the element which is one past the last element in the container. The past-the-end iterator is still associated with the map it belongs to, but it is \fInot\fR dereferenceable; operator*() will not return a well-defined value.
+.PP
+This iterator equals begin() if the map is empty.
+.PP
+See also begin() and QMapIterator.
+.SH "const_iterator QMap::end () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QMap::erase ( iterator it )"
+Removes the item associated with the iterator \fIit\fR from the map.
+.PP
+This function is provided for STL compatibility. It is equivalent to remove().
+.PP
+See also clear().
+.SH "void QMap::erase ( const key_type & k )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the item with the key \fIk\fR from the map.
+.SH "iterator QMap::find ( const Key & k )"
+Returns an iterator pointing to the element with key \fIk\fR in the map.
+.PP
+Returns end() if no key matched.
+.PP
+See also QMapIterator.
+.SH "const_iterator QMap::find ( const Key & k ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator pointing to the element with key \fIk\fR in the map.
+.PP
+Returns end() if no key matched.
+.PP
+See also QMapConstIterator.
+.SH "iterator QMap::insert ( const Key & key, const T & value, bool overwrite = TRUE )"
+Inserts a new item with the key, \fIkey\fR, and a value of \fIvalue\fR. If there is already an item whose key is \fIkey\fR, that item's value is replaced with \fIvalue\fR, unless \fIoverwrite\fR is FALSE (it is TRUE by default). In this case an iterator to this item is returned, else an iterator to the new item is returned.
+.SH "QPair<iterator, bool> QMap::insert ( const value_type & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the (key, value) pair \fIx\fR into the map. \fIx\fR is a QPair whose \fCfirst\fR element is a key to be inserted and whose \fCsecond\fR element is the associated value to be inserted. Returns a pair whose \fCfirst\fR element is an iterator pointing to the inserted item and whose \fCsecond\fR element is a bool indicating TRUE if \fIx\fR was inserted and FALSE if it was not inserted, e.g. because it was already present.
+.PP
+See also replace().
+.SH "bool QMap::isEmpty () const"
+Returns TRUE if the map contains no items; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QValueList<Key> QMap::keys () const"
+Returns a list of all the keys in the map, in order.
+.SH "QMap<Key, T> & QMap::operator= ( const QMap<Key, T> & m )"
+Assigns \fIm\fR to this map and returns a reference to this map.
+.PP
+All iterators of the current map become invalidated by this operation. The cost of such an assignment is O(1), because QMap is implicitly shared.
+.SH "QMap<Key, T> & QMap::operator= ( const std::map<Key, T> & m )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns \fIm\fR to this map and returns a reference to this map.
+.PP
+All iterators of the current map become invalidated by this operation.
+.SH "T & QMap::operator[] ( const Key & k )"
+Returns the value associated with the key \fIk\fR. If no such key is present, an empty item is inserted with this key and a reference to the empty item is returned.
+.PP
+You can use this operator both for reading and writing:
+.PP
+.nf
+.br
+ QMap<QString, QString> map;
+.br
+ map["Clinton"] = "Bill";
+.br
+ stream << map["Clinton"];
+.br
+.fi
+.SH "const T & QMap::operator[] ( const Key & k ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBWarning:\fR This function differs from the non-const version of the same function. It will \fInot\fR insert an empty value if the key \fIk\fR does not exist. This may lead to logic errors in your program. You should check if the element exists before calling this function.
+.PP
+Returns the value associated with the key \fIk\fR. If no such key is present, a reference to an empty item is returned.
+.SH "void QMap::remove ( iterator it )"
+Removes the item associated with the iterator \fIit\fR from the map.
+.PP
+See also clear().
+.SH "void QMap::remove ( const Key & k )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the item with the key \fIk\fR from the map.
+.SH "iterator QMap::replace ( const Key & k, const T & v )"
+Replaces the value of the element with key \fIk\fR, with the value \fIv\fR.
+.PP
+See also insert() and remove().
+.SH "size_type QMap::size () const"
+Returns the number of items in the map.
+.PP
+This function is provided for STL compatibility. It is equivalent to count().
+.PP
+See also empty().
+.SH "QValueList<T> QMap::values () const"
+Returns a list of all the values in the map, in key order.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QMap<Key, T> & m )"
+Writes the map \fIm\fR to the stream \fIs\fR. The types \fIKey\fR and \fIT\fR must implement the streaming operator as well.
+.SH "QDataStream & operator>> ( QDataStream & s, QMap<Key, T> & m )"
+Reads the map \fIm\fR from the stream \fIs\fR. The types \fIKey\fR and \fIT\fR
+must implement the streaming operator as well.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmapconstiterator.3qt b/doc/man/man3/qmapconstiterator.3qt
new file mode 100644
index 0000000..9382b15
--- /dev/null
+++ b/doc/man/man3/qmapconstiterator.3qt
@@ -0,0 +1,141 @@
+'\" t
+.TH QMapConstIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMapConstIterator \- Iterator for QMap
+.SH SYNOPSIS
+\fC#include <qmap.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef std::bidirectional_iterator_tag \fBiterator_category\fR"
+.br
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef const T * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef const T & \fBreference\fR"
+.br
+.ti -1c
+.BI "\fBQMapConstIterator\fR ()"
+.br
+.ti -1c
+.BI "\fBQMapConstIterator\fR ( QMapNode<K, T> * p )"
+.br
+.ti -1c
+.BI "\fBQMapConstIterator\fR ( const QMapConstIterator<K, T> & it )"
+.br
+.ti -1c
+.BI "\fBQMapConstIterator\fR ( const QMapIterator<K, T> & it )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QMapConstIterator<K, T> & it ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QMapConstIterator<K, T> & it ) const"
+.br
+.ti -1c
+.BI "const T & \fBoperator*\fR () const"
+.br
+.ti -1c
+.BI "const K & \fBkey\fR () const"
+.br
+.ti -1c
+.BI "const T & \fBdata\fR () const"
+.br
+.ti -1c
+.BI "QMapConstIterator<K, T> & \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "QMapConstIterator<K, T> \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "QMapConstIterator<K, T> & \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "QMapConstIterator<K, T> \fBoperator--\fR ( int )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMapConstIterator class provides an iterator for QMap.
+.PP
+In contrast to QMapIterator, this class is used to iterate over a const map. It does not allow you to modify the values of the map because this would break the const semantics.
+.PP
+For more information on QMap iterators, see QMapIterator and the QMap example.
+.PP
+See also QMap, QMapIterator, Qt Template Library Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QMapConstIterator::iterator_category"
+The type of iterator category, \fCstd::bidirectional_iterator_tag\fR.
+.SH "QMapConstIterator::pointer"
+Const pointer to value_type.
+.SH "QMapConstIterator::reference"
+Const reference to value_type.
+.SH "QMapConstIterator::value_type"
+The type of const value.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMapConstIterator::QMapConstIterator ()"
+Constructs an uninitialized iterator.
+.SH "QMapConstIterator::QMapConstIterator ( QMapNode<K, T> * p )"
+Constructs an iterator starting at node \fIp\fR.
+.SH "QMapConstIterator::QMapConstIterator ( const QMapConstIterator<K, T> & it )"
+Constructs a copy of the iterator, \fIit\fR.
+.SH "QMapConstIterator::QMapConstIterator ( const QMapIterator<K, T> & it )"
+Constructs a copy of the iterator, \fIit\fR.
+.SH "const T & QMapConstIterator::data () const"
+Returns a const reference to the current item's data.
+.SH "const K & QMapConstIterator::key () const"
+Returns a const reference to the current item's key.
+.SH "bool QMapConstIterator::operator!= ( const QMapConstIterator<K, T> & it ) const"
+Compares the iterator to the \fIit\fR iterator and returns FALSE if they point to the same item; otherwise returns TRUE.
+.SH "const T & QMapConstIterator::operator* () const"
+Dereference operator. Returns a const reference to the current item's data. The same as data().
+.SH "QMapConstIterator<K, T> & QMapConstIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.
+.SH "QMapConstIterator<K, T> QMapConstIterator::operator++ ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.
+.SH "QMapConstIterator<K, T> & QMapConstIterator::operator-- ()"
+Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.
+.SH "QMapConstIterator<K, T> QMapConstIterator::operator-- ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.
+.SH "bool QMapConstIterator::operator== ( const QMapConstIterator<K, T> & it ) const"
+Compares the iterator to the \fIit\fR iterator and returns TRUE if
+they point to the same item; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmapconstiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmapconstiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmapiterator.3qt b/doc/man/man3/qmapiterator.3qt
new file mode 100644
index 0000000..dd780a3
--- /dev/null
+++ b/doc/man/man3/qmapiterator.3qt
@@ -0,0 +1,152 @@
+'\" t
+.TH QMapIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMapIterator \- Iterator for QMap
+.SH SYNOPSIS
+\fC#include <qmap.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef std::bidirectional_iterator_tag \fBiterator_category\fR"
+.br
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef T * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef T & \fBreference\fR"
+.br
+.ti -1c
+.BI "\fBQMapIterator\fR ()"
+.br
+.ti -1c
+.BI "\fBQMapIterator\fR ( QMapNode<K, T> * p )"
+.br
+.ti -1c
+.BI "\fBQMapIterator\fR ( const QMapIterator<K, T> & it )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QMapIterator<K, T> & it ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QMapIterator<K, T> & it ) const"
+.br
+.ti -1c
+.BI "T & \fBoperator*\fR ()"
+.br
+.ti -1c
+.BI "const T & \fBoperator*\fR () const"
+.br
+.ti -1c
+.BI "const K & \fBkey\fR () const"
+.br
+.ti -1c
+.BI "T & \fBdata\fR ()"
+.br
+.ti -1c
+.BI "const T & \fBdata\fR () const"
+.br
+.ti -1c
+.BI "QMapIterator<K, T> & \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "QMapIterator<K, T> \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "QMapIterator<K, T> & \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "QMapIterator<K, T> \fBoperator--\fR ( int )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMapIterator class provides an iterator for QMap.
+.PP
+You cannot create an iterator by yourself. Instead, you must ask a map to give you one. An iterator is as big as a pointer; on 32-bit machines that means 4 bytes, on 64-bit machines, 8 bytes. That makes copying iterators very fast. Iterators behave in a similar way to pointers, and they are almost as fast as pointers. See the QMap example.
+.PP
+QMap is highly optimized for performance and memory usage, but the trade-off is that you must be more careful. The only way to traverse a map is to use iterators. QMap does not know about its iterators, and the iterators don't even know to which map they belong. That makes things fast but a bit dangerous because it is up to you to make sure that the iterators you are using are still valid. QDictIterator will be able to give warnings, whereas QMapIterator may end up in an undefined state.
+.PP
+For every Iterator there is also a ConstIterator. You must use the ConstIterator to access a QMap in a const environment or if the reference or pointer to the map is itself const. Its semantics are the same, but it only returns const references to the item it points to.
+.PP
+See also QMap, QMapConstIterator, Qt Template Library Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QMapIterator::iterator_category"
+The type of iterator category, \fCstd::bidirectional_iterator_tag\fR.
+.SH "QMapIterator::pointer"
+Pointer to value_type.
+.SH "QMapIterator::reference"
+Reference to value_type.
+.SH "QMapIterator::value_type"
+The type of value.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMapIterator::QMapIterator ()"
+Creates an uninitialized iterator.
+.SH "QMapIterator::QMapIterator ( QMapNode<K, T> * p )"
+Constructs an iterator starting at node \fIp\fR.
+.SH "QMapIterator::QMapIterator ( const QMapIterator<K, T> & it )"
+Constructs a copy of the iterator, \fIit\fR.
+.SH "T & QMapIterator::data ()"
+Returns a reference to the current item's data.
+.SH "const T & QMapIterator::data () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const reference to the current item's data.
+.SH "const K & QMapIterator::key () const"
+Returns a const reference to the current item's key.
+.SH "bool QMapIterator::operator!= ( const QMapIterator<K, T> & it ) const"
+Compares the iterator to the \fIit\fR iterator and returns FALSE if they point to the same item; otherwise returns TRUE.
+.SH "T & QMapIterator::operator* ()"
+Dereference operator. Returns a reference to the current item's data. The same as data().
+.SH "const T & QMapIterator::operator* () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Dereference operator. Returns a const reference to the current item's data. The same as data().
+.SH "QMapIterator<K, T> & QMapIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.
+.SH "QMapIterator<K, T> QMapIterator::operator++ ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the map. Incrementing the iterator returned by end() causes undefined results.
+.SH "QMapIterator<K, T> & QMapIterator::operator-- ()"
+Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.
+.SH "QMapIterator<K, T> QMapIterator::operator-- ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the map. Decrementing the iterator returned by begin() causes undefined results.
+.SH "bool QMapIterator::operator== ( const QMapIterator<K, T> & it ) const"
+Compares the iterator to the \fIit\fR iterator and returns TRUE if
+they point to the same item; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmapiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmapiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmemarray.3qt b/doc/man/man3/qmemarray.3qt
new file mode 100644
index 0000000..40f2c20
--- /dev/null
+++ b/doc/man/man3/qmemarray.3qt
@@ -0,0 +1,571 @@
+'\" t
+.TH QMemArray 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMemArray \- Template class that provides arrays of simple types
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qmemarray.h>\fR
+.PP
+Inherited by QByteArray and QPointArray.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef type * \fBIterator\fR"
+.br
+.ti -1c
+.BI "typedef const type * \fBConstIterator\fR"
+.br
+.ti -1c
+.BI "\fBQMemArray\fR ()"
+.br
+.ti -1c
+.BI "\fBQMemArray\fR ( int size )"
+.br
+.ti -1c
+.BI "\fBQMemArray\fR ( const QMemArray<type> & a )"
+.br
+.ti -1c
+.BI "\fB~QMemArray\fR ()"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBoperator=\fR ( const QMemArray<type> & a )"
+.br
+.ti -1c
+.BI "type * \fBdata\fR () const"
+.br
+.ti -1c
+.BI "uint \fBnrefs\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBresize\fR ( uint size )"
+.br
+.ti -1c
+.BI "bool \fBresize\fR ( uint size, Optimization optim )"
+.br
+.ti -1c
+.BI "bool \fBtruncate\fR ( uint pos )"
+.br
+.ti -1c
+.BI "bool \fBfill\fR ( const type & v, int size = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "QMemArray<type> \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBassign\fR ( const QMemArray<type> & a )"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBassign\fR ( const type * data, uint size )"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBduplicate\fR ( const QMemArray<type> & a )"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBduplicate\fR ( const type * data, uint size )"
+.br
+.ti -1c
+.BI "QMemArray<type> & \fBsetRawData\fR ( const type * data, uint size )"
+.br
+.ti -1c
+.BI "void \fBresetRawData\fR ( const type * data, uint size )"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const type & v, uint index = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const type & v ) const"
+.br
+.ti -1c
+.BI "void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "int \fBbsearch\fR ( const type & v ) const"
+.br
+.ti -1c
+.BI "type & \fBoperator[]\fR ( int index ) const"
+.br
+.ti -1c
+.BI "type & \fBat\fR ( uint index ) const"
+.br
+.ti -1c
+.BI "\fBoperator const type *\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QMemArray<type> & a ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QMemArray<type> & a ) const"
+.br
+.ti -1c
+.BI "Iterator \fBbegin\fR ()"
+.br
+.ti -1c
+.BI "Iterator \fBend\fR ()"
+.br
+.ti -1c
+.BI "ConstIterator \fBbegin\fR () const"
+.br
+.ti -1c
+.BI "ConstIterator \fBend\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQMemArray\fR ( int, int )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "Q_UINT16 \fBqChecksum\fR ( const char * data, uint len )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QByteArray & a )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QByteArray & a )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMemArray class is a template class that provides arrays of simple types.
+.PP
+QMemArray is implemented as a template class. Define a template instance QMemArray<X> to create an array that contains X items.
+.PP
+QMemArray stores the array elements directly in the array. It can only deal with simple types (i.e. C++ types, structs, and classes that have no constructors, destructors, or virtual functions). QMemArray uses bitwise operations to copy and compare array elements.
+.PP
+The QPtrVector collection class is also a kind of array. Like most collection classes, it uses pointers to the contained items.
+.PP
+QMemArray uses explicit sharing with a reference count. If more than one array shares common data and one of the arrays is modified, all the arrays are modified.
+.PP
+The benefit of sharing is that a program does not need to duplicate data when it is not required, which results in lower memory use and less copying of data.
+.PP
+An alternative to QMemArray is QValueVector. The QValueVector class also provides an array of objects, but can deal with objects that have constructors (specifically a copy constructor and a default constructor). QValueVector provides an STL-compatible syntax and is implicitly shared.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qmemarray.h>
+.br
+ #include <stdio.h>
+.br
+.br
+ QMemArray<int> fib( int num ) // returns fibonacci array
+.br
+ {
+.br
+ Q_ASSERT( num > 2 );
+.br
+ QMemArray<int> f( num ); // array of ints
+.br
+.br
+ f[0] = f[1] = 1;
+.br
+ for ( int i = 2; i < num; i++ )
+.br
+ f[i] = f[i-1] + f[i-2];
+.br
+.br
+ return f;
+.br
+ }
+.br
+.br
+ int main()
+.br
+ {
+.br
+ QMemArray<int> a = fib( 6 ); // get first 6 fibonaccis
+.br
+ for ( int i = 0; i < a.size(); i++ )
+.br
+ qDebug( "%d: %d", i, a[i] );
+.br
+.br
+ qDebug( "1 is found %d times", a.contains(1) );
+.br
+ qDebug( "5 is found at index %d", a.find(5) );
+.br
+.br
+ return 0;
+.br
+ }
+.br
+.fi
+.PP
+Program output:
+.PP
+.nf
+.br
+ 0: 1
+.br
+ 1: 1
+.br
+ 2: 2
+.br
+ 3: 3
+.br
+ 4: 5
+.br
+ 5: 8
+.br
+ 1 is found 2 times
+.br
+ 5 is found at index 4
+.br
+.fi
+.PP
+Note concerning the use of QMemArray for manipulating structs or classes: Compilers will often pad the size of structs of odd sizes up to the nearest word boundary. This will then be the size QMemArray will use for its bitwise element comparisons. Because the remaining bytes will typically be uninitialized, this can cause find() etc. to fail to find the element. Example:
+.PP
+.nf
+.br
+ // MyStruct may be padded to 4 or 8 bytes
+.br
+ struct MyStruct
+.br
+ {
+.br
+ short i; // 2 bytes
+.br
+ char c; // 1 byte
+.br
+ };
+.br
+.br
+ QMemArray<MyStruct> a(1);
+.br
+ a[0].i = 5;
+.br
+ a[0].c = 't';
+.br
+.br
+ MyStruct x;
+.br
+ x.i = '5';
+.br
+ x.c = 't';
+.br
+ int i = a.find( x ); // may return -1 if the pad bytes differ
+.br
+.fi
+.PP
+To work around this, make sure that you use a struct where sizeof() returns the same as the sum of the sizes of the members either by changing the types of the struct members or by adding dummy members.
+.PP
+QMemArray data can be traversed by iterators (see begin() and end()). The number of items is returned by count(). The array can be resized with resize() and filled using fill().
+.PP
+You can make a shallow copy of the array with assign() (or operator=()) and a deep copy with duplicate().
+.PP
+Search for values in the array with find() and contains(). For sorted arrays (see sort()) you can search using bsearch().
+.PP
+You can set the data directly using setRawData() and resetRawData(), although this requires care.
+.PP
+See also Shared Classes and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QMemArray::ConstIterator"
+A const QMemArray iterator.
+.PP
+See also begin() and end().
+.SH "QMemArray::Iterator"
+A QMemArray iterator.
+.PP
+See also begin() and end().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMemArray::QMemArray ( int, int )\fC [protected]\fR"
+Constructs an array \fIwithout allocating\fR array space. The arguments should be (0, 0). Use at your own risk.
+.SH "QMemArray::QMemArray ()"
+Constructs a null array.
+.PP
+See also isNull().
+.SH "QMemArray::QMemArray ( int size )"
+Constructs an array with room for \fIsize\fR elements. Makes a null array if \fIsize\fR == 0.
+.PP
+The elements are left uninitialized.
+.PP
+See also resize() and isNull().
+.SH "QMemArray::QMemArray ( const QMemArray<type> & a )"
+Constructs a shallow copy of \fIa\fR.
+.PP
+See also assign().
+.SH "QMemArray::~QMemArray ()"
+Dereferences the array data and deletes it if this was the last reference.
+.SH "QMemArray<type> & QMemArray::assign ( const QMemArray<type> & a )"
+Shallow copy. Dereferences the current array and references the data contained in \fIa\fR instead. Returns a reference to this array.
+.PP
+See also operator=().
+.SH "QMemArray<type> & QMemArray::assign ( const type * data, uint size )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Shallow copy. Dereferences the current array and references the array data \fIdata\fR, which contains \fIsize\fR elements. Returns a reference to this array.
+.PP
+Do not delete \fIdata\fR later; QMemArray will call free() on it at the right time.
+.SH "type & QMemArray::at ( uint index ) const"
+Returns a reference to the element at position \fIindex\fR in the array.
+.PP
+This can be used to both read and set an element.
+.PP
+See also operator[]().
+.SH "Iterator QMemArray::begin ()"
+Returns an iterator pointing at the beginning of this array. This iterator can be used in the same way as the iterators of QValueList and QMap, for example.
+.SH "ConstIterator QMemArray::begin () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const iterator pointing at the beginning of this array. This iterator can be used in the same way as the iterators of QValueList and QMap, for example.
+.SH "int QMemArray::bsearch ( const type & v ) const"
+In a sorted array (as sorted by sort()), finds the first occurrence of \fIv\fR by using a binary search. For a sorted array this is generally much faster than find(), which does a linear search.
+.PP
+Returns the position of \fIv\fR, or -1 if \fIv\fR could not be found.
+.PP
+See also sort() and find().
+.SH "int QMemArray::contains ( const type & v ) const"
+Returns the number of times \fIv\fR occurs in the array.
+.PP
+See also find().
+.SH "QMemArray<type> QMemArray::copy () const"
+Returns a deep copy of this array.
+.PP
+See also detach() and duplicate().
+.SH "uint QMemArray::count () const"
+Returns the same as size().
+.PP
+See also size().
+.PP
+Example: scribble/scribble.cpp.
+.SH "type * QMemArray::data () const"
+Returns a pointer to the actual array data.
+.PP
+The array is a null array if data() == 0 (null pointer).
+.PP
+See also isNull().
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and network/networkprotocol/nntp.cpp.
+.SH "void QMemArray::detach ()\fC [virtual]\fR"
+Detaches this array from shared array data; i.e. it makes a private, deep copy of the data.
+.PP
+Copying will be performed only if the reference count is greater than one.
+.PP
+See also copy().
+.PP
+Reimplemented in QBitArray.
+.SH "QMemArray<type> & QMemArray::duplicate ( const QMemArray<type> & a )"
+Deep copy. Dereferences the current array and obtains a copy of the data contained in \fIa\fR instead. Returns a reference to this array.
+.PP
+See also copy().
+.SH "QMemArray<type> & QMemArray::duplicate ( const type * data, uint size )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Deep copy. Dereferences the current array and obtains a copy of the array data \fIdata\fR instead. Returns a reference to this array. The size of the array is given by \fIsize\fR.
+.PP
+See also copy().
+.SH "Iterator QMemArray::end ()"
+Returns an iterator pointing behind the last element of this array. This iterator can be used in the same way as the iterators of QValueList and QMap, for example.
+.SH "ConstIterator QMemArray::end () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const iterator pointing behind the last element of this array. This iterator can be used in the same way as the iterators of QValueList and QMap, for example.
+.SH "bool QMemArray::fill ( const type & v, int size = -1 )"
+Fills the array with the value \fIv\fR. If \fIsize\fR is specified as different from -1, then the array will be resized before being filled.
+.PP
+Returns TRUE if successful, i.e. if \fIsize\fR is -1, or \fIsize\fR is != -1 and the memory can be allocated; otherwise returns FALSE.
+.PP
+See also resize().
+.SH "int QMemArray::find ( const type & v, uint index = 0 ) const"
+Finds the first occurrence of \fIv\fR, starting at position \fIindex\fR.
+.PP
+Returns the position of \fIv\fR, or -1 if \fIv\fR could not be found.
+.PP
+See also contains().
+.SH "bool QMemArray::isEmpty () const"
+Returns TRUE if the array is empty; otherwise returns FALSE.
+.PP
+isEmpty() is equivalent to isNull() for QMemArray (unlike QString).
+.SH "bool QMemArray::isNull () const"
+Returns TRUE if the array is null; otherwise returns FALSE.
+.PP
+A null array has size() == 0 and data() == 0.
+.SH "uint QMemArray::nrefs () const"
+Returns the reference count for the shared array data. This reference count is always greater than zero.
+.SH "QMemArray::operator const type * () const"
+Cast operator. Returns a pointer to the array.
+.PP
+See also data().
+.SH "bool QMemArray::operator!= ( const QMemArray<type> & a ) const"
+Returns TRUE if this array is different from \fIa\fR; otherwise returns FALSE.
+.PP
+The two arrays are compared bitwise.
+.PP
+See also operator==().
+.SH "QMemArray<type> & QMemArray::operator= ( const QMemArray<type> & a )"
+Assigns a shallow copy of \fIa\fR to this array and returns a reference to this array.
+.PP
+Equivalent to assign( a ).
+.SH "bool QMemArray::operator== ( const QMemArray<type> & a ) const"
+Returns TRUE if this array is equal to \fIa\fR; otherwise returns FALSE.
+.PP
+The two arrays are compared bitwise.
+.PP
+See also operator!=().
+.SH "type & QMemArray::operator[] ( int index ) const"
+Returns a reference to the element at position \fIindex\fR in the array.
+.PP
+This can be used to both read and set an element. Equivalent to at().
+.PP
+See also at().
+.SH "void QMemArray::resetRawData ( const type * data, uint size )"
+Removes internal references to the raw data that was set using setRawData(). This means that QMemArray no longer has access to the \fIdata\fR, so you are free to manipulate \fIdata\fR as you wish. You can now use the QMemArray without affecting the original \fIdata\fR, for example by calling setRawData() with a pointer to some other data.
+.PP
+The arguments must be the \fIdata\fR and length, \fIsize\fR, that were passed to setRawData(). This is for consistency checking.
+.PP
+See also setRawData().
+.SH "bool QMemArray::resize ( uint size, Optimization optim )"
+Resizes (expands or shrinks) the array to \fIsize\fR elements. The array becomes a null array if \fIsize\fR == 0.
+.PP
+Returns TRUE if successful, or FALSE if the memory cannot be allocated.
+.PP
+New elements are not initialized.
+.PP
+\fIoptim\fR is either \fCQGArray::MemOptim\fR (the default) or \fCQGArray::SpeedOptim\fR.
+.PP
+\fBNote:\fR By default, \fCSpeedOptim\fR is not available for general use since it is only available if Qt is built in a particular configuration.
+.PP
+See also size().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QMemArray::resize ( uint size )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Resizes (expands or shrinks) the array to \fIsize\fR elements. The array becomes a null array if \fIsize\fR == 0.
+.PP
+Returns TRUE if successful, i.e. if the memory can be allocated; otherwise returns FALSE.
+.PP
+New elements are not initialized.
+.PP
+See also size().
+.SH "QMemArray<type> & QMemArray::setRawData ( const type * data, uint size )"
+Sets raw data and returns a reference to the array.
+.PP
+Dereferences the current array and sets the new array data to \fIdata\fR and the new array size to \fIsize\fR. Do not attempt to resize or re-assign the array data when raw data has been set. Call resetRawData(\fIdata\fR, \fIsize\fR) to reset the array.
+.PP
+Setting raw data is useful because it sets QMemArray data without allocating memory or copying data.
+.PP
+Example I (intended use):
+.PP
+.nf
+.br
+ static char bindata[] = { 231, 1, 44, ... };
+.br
+ QByteArray a;
+.br
+ a.setRawData( bindata, sizeof(bindata) ); // a points to bindata
+.br
+ QDataStream s( a, IO_ReadOnly ); // open on a's data
+.br
+ s >> <something>; // read raw bindata
+.br
+ a.resetRawData( bindata, sizeof(bindata) ); // finished
+.br
+.fi
+.PP
+Example II (you don't want to do this):
+.PP
+.nf
+.br
+ static char bindata[] = { 231, 1, 44, ... };
+.br
+ QByteArray a, b;
+.br
+ a.setRawData( bindata, sizeof(bindata) ); // a points to bindata
+.br
+ a.resize( 8 ); // will crash
+.br
+ b = a; // will crash
+.br
+ a[2] = 123; // might crash
+.br
+ // forget to resetRawData: will crash
+.br
+.fi
+.PP
+\fBWarning:\fR If you do not call resetRawData(), QMemArray will attempt to deallocate or reallocate the raw data, which might not be too good. Be careful.
+.PP
+See also resetRawData().
+.SH "uint QMemArray::size () const"
+Returns the size of the array (maximum number of elements).
+.PP
+The array is a null array if size() == 0.
+.PP
+See also isNull() and resize().
+.SH "void QMemArray::sort ()"
+Sorts the array elements in ascending order, using bitwise comparison (memcmp()).
+.PP
+See also bsearch().
+.SH "bool QMemArray::truncate ( uint pos )"
+Truncates the array at position \fIpos\fR.
+.PP
+Returns TRUE if successful, i.e. if the memory can be allocated; otherwise returns FALSE.
+.PP
+Equivalent to resize(\fIpos\fR).
+.PP
+See also resize().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QByteArray & a )"
+Writes byte array \fIa\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QByteArray & a )"
+Reads a byte array into \fIa\fR from the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "Q_UINT16 qChecksum ( const char * data, uint len )"
+Returns the CRC-16 checksum of \fIlen\fR bytes starting at \fIdata\fR.
+.PP
+The checksum is independent of the byte order (endianness).
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmemarray.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmemarray.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmenubar.3qt b/doc/man/man3/qmenubar.3qt
new file mode 100644
index 0000000..f31b2d3
--- /dev/null
+++ b/doc/man/man3/qmenubar.3qt
@@ -0,0 +1,588 @@
+'\" t
+.TH QMenuBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMenuBar \- Horizontal menu bar
+.SH SYNOPSIS
+\fC#include <qmenubar.h>\fR
+.PP
+Inherits QFrame and QMenuData.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMenuBar\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QMenuBar\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBshow\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBhide\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int max_width ) const"
+.br
+.ti -1c
+.BI "enum \fBSeparator\fR { Never = 0, InWindowsStyle = 1 }"
+.br
+.ti -1c
+.BI "Separator separator () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void setSeparator ( Separator when ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetDefaultUp\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisDefaultUp\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( int id )"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QWidget * widget, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertSeparator\fR ( int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisItemEnabled\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemEnabled\fR ( int id, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisItemVisible\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemVisible\fR ( int id, bool visible )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBdefaultUp\fR - the popup orientation"
+.br
+.ti -1c
+.BI "Separator separator - in which cases a menubar sparator is drawn \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p )"
+.br
+.ti -1c
+.BI "virtual void \fBmenuContentsChanged\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBmenuStateChanged\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMenuBar class provides a horizontal menu bar.
+.PP
+A menu bar consists of a list of pull-down menu items. You add menu items with insertItem(). For example, asuming that \fCmenubar\fR is a pointer to a QMenuBar and \fCfilemenu\fR is a pointer to a QPopupMenu, the following statement inserts the menu into the menu bar:
+.PP
+.nf
+.br
+ menubar->insertItem( "&File", filemenu );
+.br
+.fi
+The ampersand in the menu item's text sets Alt+F as a shortcut for this menu. (You can use "&&" to get a real ampersand in the menu bar.)
+.PP
+Items are either enabled or disabled. You toggle their state with setItemEnabled().
+.PP
+There is no need to lay out a menu bar. It automatically sets its own geometry to the top of the parent widget and changes it appropriately whenever the parent is resized.
+.PP
+Example of creating a menu bar with menu items (from menu/menu.cpp):
+.PP
+.nf
+.br
+ QPopupMenu *file = new QPopupMenu( this );
+.fi
+.PP
+.nf
+.br
+ file->insertItem( p1, "&Open", this, SLOT(open()), CTRL+Key_O );
+.br
+ file->insertItem( p2, "&New", this, SLOT(news()), CTRL+Key_N );
+.fi
+.PP
+.nf
+.br
+ menu = new QMenuBar( this );
+.fi
+.PP
+.nf
+.br
+ menu->insertItem( "&File", file );
+.fi
+.PP
+In most main window style applications you would use the menuBar() provided in QMainWindow, adding QPopupMenus to the menu bar and adding QActions to the popup menus.
+.PP
+Example (from action/application.cpp):
+.PP
+.nf
+.br
+ QPopupMenu * file = new QPopupMenu( this );
+.br
+ menuBar()->insertItem( "&File", file );
+.br
+ fileNewAction->addTo( file );
+.fi
+.PP
+Menu items can have text and pixmaps (or iconsets), see the various insertItem() overloads, as well as separators, see insertSeparator(). You can also add custom menu items that are derived from QCustomMenuItem.
+.PP
+Menu items may be removed with removeItem() and enabled or disabled with setItemEnabled().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+.SH "QMenuBar on Qt/Mac"
+QMenuBar on Qt/Mac is a wrapper for using the system-wide menubar. If you have multiple menubars in one dialog the outermost menubar (normally inside a widget with widget flag WType_TopLevel) will be used for the system-wide menubar.
+.PP
+Note that arbitrary Qt widgets \fIcannot\fR be inserted into a QMenuBar on the Mac because Qt uses Mac's native menus which don't support this functionality. This limitation does not apply to stand-alone QPopupMenus.
+.PP
+Qt/Mac also provides a menubar merging feature to make QMenuBar conform more closely to accepted Mac OS X menubar layout. The merging functionality is based on string matching the title of a QPopupMenu entry. These strings are translated (using QObject::tr()) in the "QMenuBar" context. If an entry is moved its slots will still fire as if it was in the original place. The table below outlines the strings looked for and where the entry is placed if matched:
+.PP
+<center>.nf
+.TS
+l - l. String matches Placement Notes about.* Application Menu | About If this entry is not found no About item will appear in the Application Menu config, options, setup, settings or preferences Application Menu | Preferences If this entry is not found the Settings item will be disabled quit or exit Application Menu | Quit If this entry is not found a default Quit item will be created to call
+.TE
+.fi
+</center>
+.PP
+menu/menu.cpp is an example of QMenuBar and QPopupMenu use.
+.PP
+See also QPopupMenu, QAccel, QAction, Aqua Style Guidelines, GUI Design Handbook: Menu Bar, and Main Window and Related Classes.
+.SS "Member Type Documentation"
+.SH "QMenuBar::Separator"
+This enum type is used to decide whether QMenuBar should draw a separator line at its bottom.
+.TP
+\fCQMenuBar::Never\fR - In many applications there is already a separator, and having two looks wrong.
+.TP
+\fCQMenuBar::InWindowsStyle\fR - In some other applications a separator looks good in Windows style, but nowhere else.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMenuBar::QMenuBar ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a menu bar called \fIname\fR with parent \fIparent\fR.
+.SH "QMenuBar::~QMenuBar ()"
+Destroys the menu bar.
+.SH "void QMenuBar::activated ( int id )\fC [signal]\fR"
+This signal is emitted when a menu item is selected; \fIid\fR is the id of the selected item.
+.PP
+Normally you will connect each menu item to a single slot using QMenuData::insertItem(), but sometimes you will want to connect several items to a single slot (most often if the user selects from an array). This signal is useful in such cases.
+.PP
+See also highlighted() and QMenuData::insertItem().
+.PP
+Example: progress/progress.cpp.
+.SH "void QMenuData::clear ()"
+Removes all menu items.
+.PP
+See also removeItem() and removeItemAt().
+.PP
+Examples:
+.)l mdi/application.cpp and qwerty/qwerty.cpp.
+.SH "void QMenuBar::drawContents ( QPainter * p )\fC [virtual protected]\fR"
+Called from QFrame::paintEvent(). Draws the menu bar contents using painter \fIp\fR.
+.PP
+Reimplemented from QFrame.
+.SH "int QMenuBar::heightForWidth ( int max_width ) const\fC [virtual]\fR"
+Returns the height that the menu would resize itself to if its parent (and hence itself) resized to the given \fImax_width\fR. This can be useful for simple layout tasks in which the height of the menu bar is needed after items have been inserted. See showimg/showimg.cpp for an example of the usage.
+.PP
+Example: showimg/showimg.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QMenuBar::hide ()\fC [virtual]\fR"
+Reimplements QWidget::hide() in order to deselect any selected item, and calls setUpLayout() for the main window.
+.PP
+Example: grapher/grapher.cpp.
+.PP
+Reimplemented from QWidget.
+.SH "void QMenuBar::highlighted ( int id )\fC [signal]\fR"
+This signal is emitted when a menu item is highlighted; \fIid\fR is the id of the highlighted item.
+.PP
+Normally, you will connect each menu item to a single slot using QMenuData::insertItem(), but sometimes you will want to connect several items to a single slot (most often if the user selects from an array). This signal is useful in such cases.
+.PP
+See also activated() and QMenuData::insertItem().
+.SH "int QMenuData::insertItem ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+The family of insertItem() functions inserts menu items into a popup menu or a menu bar.
+.PP
+A menu item is usually either a text string or a pixmap, both with an optional icon or keyboard accelerator. For special cases it is also possible to insert custom items (see QCustomMenuItem) or even widgets into popup menus.
+.PP
+Some insertItem() members take a popup menu as an additional argument. Use this to insert submenus into existing menus or pulldown menus into a menu bar.
+.PP
+The number of insert functions may look confusing, but they are actually quite simple to use.
+.PP
+This default version inserts a menu item with the text \fItext\fR, the accelerator key \fIaccel\fR, an id and an optional index and connects it to the slot \fImember\fR in the object \fIreceiver\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ QMenuBar *mainMenu = new QMenuBar;
+.br
+ QPopupMenu *fileMenu = new QPopupMenu;
+.br
+ fileMenu->insertItem( "New", myView, SLOT(newFile()), CTRL+Key_N );
+.br
+ fileMenu->insertItem( "Open", myView, SLOT(open()), CTRL+Key_O );
+.br
+ mainMenu->insertItem( "File", fileMenu );
+.br
+.fi
+.PP
+Not all insert functions take an object/slot parameter or an accelerator key. Use connectItem() and setAccel() on those items.
+.PP
+If you need to translate accelerators, use tr() with the text and accelerator. (For translations use a string key sequence.):
+.PP
+.nf
+.br
+ fileMenu->insertItem( tr("Open"), myView, SLOT(open()),
+.br
+ tr("Ctrl+O") );
+.br
+.fi
+.PP
+In the example above, pressing Ctrl+O or selecting "Open" from the menu activates the myView->open() function.
+.PP
+Some insert functions take a QIconSet parameter to specify the little menu item icon. Note that you can always pass a QPixmap object instead.
+.PP
+The \fIid\fR specifies the identification number associated with the menu item. Note that only positive values are valid, as a negative value will make Qt select a unique id for the item.
+.PP
+The \fIindex\fR specifies the position in the menu. The menu item is appended at the end of the list if \fIindex\fR is negative.
+.PP
+Note that keyboard accelerators in Qt are not application-global, instead they are bound to a certain top-level window. For example, accelerators in QPopupMenu items only work for menus that are associated with a certain window. This is true for popup menus that live in a menu bar since their accelerators will then be installed in the menu bar itself. This also applies to stand-alone popup menus that have a top-level widget in their parentWidget() chain. The menu will then install its accelerator object on that top-level widget. For all other cases use an independent QAccel object.
+.PP
+\fBWarning:\fR Be careful when passing a literal 0 to insertItem() because some C++ compilers choose the wrong overloaded function. Cast the 0 to what you mean, e.g. \fC(QObject*)0\fR.
+.PP
+\fBWarning:\fR On Mac OS X, items that connect to a slot that are inserted into a menubar will not function as we use the native menubar that knows nothing about signals or slots. Instead insert the items into a popup menu and insert the popup menu into the menubar. This may be fixed in a future Qt version.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, canvas/canvas.cpp, menu/menu.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item. The item is connected to the \fImember\fR slot in the \fIreceiver\fR object.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( QWidget * widget, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item that consists of the widget \fIwidget\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Ownership of \fIwidget\fR is transferred to the popup menu or to the menu bar.
+.PP
+Theoretically, any widget can be inserted into a popup menu. In practice, this only makes sense with certain widgets.
+.PP
+If a widget is not focus-enabled (see QWidget::isFocusEnabled()), the menu treats it as a separator; this means that the item is not selectable and will never get focus. In this way you can, for example, simply insert a QLabel if you need a popup menu with a title.
+.PP
+If the widget is focus-enabled it will get focus when the user traverses the popup menu with the arrow keys. If the widget does not accept \fCArrowUp\fR and \fCArrowDown\fR in its key event handler, the focus will move back to the menu when the respective arrow key is hit one more time. This works with a QLineEdit, for example. If the widget accepts the arrow key itself, it must also provide the possibility to put the focus back on the menu again by calling QWidget::focusNextPrevChild(). Futhermore, if the embedded widget closes the menu when the user made a selection, this can be done safely by calling:
+.PP
+.nf
+.br
+ if ( isVisible() &&
+.br
+ parentWidget() &&
+.br
+ parentWidget()->inherits("QPopupMenu") )
+.br
+ parentWidget()->close();
+.br
+.fi
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with an \fIicon\fR and with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertItem ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertSeparator ( int index = -1 )"
+Inserts a separator at position \fIindex\fR, and returns the menu identifier number allocated to it. The separator becomes the last menu item if \fIindex\fR is negative.
+.PP
+In a popup menu a separator is rendered as a horizontal line. In a Motif menu bar a separator is spacing, so the rest of the items (normally just "Help") are drawn right-justified. In a Windows menu bar separators are ignored (to comply with the Windows style guidelines).
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, menu/menu.cpp, progress/progress.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "bool QMenuBar::isDefaultUp () const"
+Returns the popup orientation. See the "defaultUp" property for details.
+.SH "bool QMenuData::isItemEnabled ( int id ) const"
+Returns TRUE if the item with identifier \fIid\fR is enabled; otherwise returns FALSE
+.PP
+See also setItemEnabled() and isItemVisible().
+.SH "bool QMenuData::isItemVisible ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR is visible; otherwise returns FALSE.
+.PP
+See also setItemVisible().
+.SH "void QMenuBar::menuContentsChanged ()\fC [virtual protected]\fR"
+Recomputes the menu bar's display data according to the new contents.
+.PP
+You should never need to call this; it is called automatically by QMenuData whenever it needs to be called.
+.PP
+Reimplemented from QMenuData.
+.SH "void QMenuBar::menuStateChanged ()\fC [virtual protected]\fR"
+Recomputes the menu bar's display data according to the new state.
+.PP
+You should never need to call this; it is called automatically by QMenuData whenever it needs to be called.
+.PP
+Reimplemented from QMenuData.
+.SH "void QMenuData::removeItem ( int id )"
+Removes the menu item that has the identifier \fIid\fR.
+.PP
+See also removeItemAt() and clear().
+.PP
+Example: chart/chartform.cpp.
+.SH "Separator QMenuBar::separator () const"
+Returns in which cases a menubar sparator is drawn. See the "separator" property for details.
+.SH "void QMenuBar::setDefaultUp ( bool )"
+Sets the popup orientation. See the "defaultUp" property for details.
+.SH "void QMenuData::setItemEnabled ( int id, bool enable )"
+If \fIenable\fR is TRUE, enables the menu item with identifier \fIid\fR; otherwise disables the menu item with identifier \fIid\fR.
+.PP
+See also isItemEnabled().
+.PP
+Examples:
+.)l mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, and showimg/showimg.cpp.
+.SH "void QMenuData::setItemVisible ( int id, bool visible )"
+If \fIvisible\fR is TRUE, shows the menu item with id \fIid\fR; otherwise hides the menu item with id \fIid\fR.
+.PP
+See also isItemVisible() and isItemEnabled().
+.SH "void QMenuBar::setSeparator ( Separator when )\fC [virtual]\fR"
+Sets in which cases a menubar sparator is drawn to \fIwhen\fR. See the "separator" property for details.
+.SH "void QMenuBar::show ()\fC [virtual]\fR"
+Reimplements QWidget::show() in order to set up the correct keyboard accelerators and to raise itself to the top of the widget stack.
+.PP
+Example: grapher/grapher.cpp.
+.PP
+Reimplemented from QWidget.
+.SS "Property Documentation"
+.SH "bool defaultUp"
+This property holds the popup orientation.
+.PP
+The default popup orientation. By default, menus pop "down" the screen. By setting the property to TRUE, the menu will pop "up". You might call this for menus that are \fIbelow\fR the document to which they refer.
+.PP
+If the menu would not fit on the screen, the other direction is used automatically.
+.PP
+Set this property's value with setDefaultUp() and get this property's value with isDefaultUp().
+.SH "Separator separator"
+This property holds in which cases a menubar sparator is drawn.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Set this property's value with setSeparator() and get this property's value with separator().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmenubar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmenubar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmenudata.3qt b/doc/man/man3/qmenudata.3qt
new file mode 100644
index 0000000..306f5d4
--- /dev/null
+++ b/doc/man/man3/qmenudata.3qt
@@ -0,0 +1,707 @@
+'\" t
+.TH QMenuData 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMenuData \- Base class for QMenuBar and QPopupMenu
+.SH SYNOPSIS
+\fC#include <qmenudata.h>\fR
+.PP
+Inherited by QMenuBar and QPopupMenu.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMenuData\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QMenuData\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QWidget * widget, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertSeparator\fR ( int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBremoveItemAt\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetAccel\fR ( const QKeySequence & key, int id )"
+.br
+.ti -1c
+.BI "QIconSet * \fBiconSet\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QPixmap * \fBpixmap\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetWhatsThis\fR ( int id, const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBwhatsThis\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QIconSet & icon, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QIconSet & icon, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "void changeItem ( const QString & text, int id ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void changeItem ( const QPixmap & pixmap, int id ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void changeItem ( const QIconSet & icon, const QString & text, int id ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBisItemActive\fR ( int id ) const"
+.br
+.ti -1c
+.BI "bool \fBisItemEnabled\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemEnabled\fR ( int id, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisItemChecked\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemChecked\fR ( int id, bool check )"
+.br
+.ti -1c
+.BI "bool \fBisItemVisible\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemVisible\fR ( int id, bool visible )"
+.br
+.ti -1c
+.BI "virtual void \fBupdateItem\fR ( int id )"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( int id ) const"
+.br
+.ti -1c
+.BI "int \fBidAt\fR ( int index ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetId\fR ( int index, int id )"
+.br
+.ti -1c
+.BI "bool \fBconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBdisconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBsetItemParameter\fR ( int id, int param )"
+.br
+.ti -1c
+.BI "int \fBitemParameter\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QMenuItem * \fBfindItem\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QMenuItem * \fBfindItem\fR ( int id, QMenuData ** parent ) const"
+.br
+.ti -1c
+.BI "virtual void \fBactivateItemAt\fR ( int index )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBmenuContentsChanged\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBmenuStateChanged\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBmenuInsPopup\fR ( QPopupMenu * )"
+.br
+.ti -1c
+.BI "virtual void \fBmenuDelPopup\fR ( QPopupMenu * )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMenuData class is a base class for QMenuBar and QPopupMenu.
+.PP
+QMenuData has an internal list of menu items. A menu item can have a text(), an accelerator, a pixmap(), an iconSet(), a whatsThis() text and a popup menu (unless it is a separator). Menu items may optionally be checked (except for separators).
+.PP
+The menu item sends out an activated() signal when it is chosen and a highlighted() signal when it receives the user input focus.
+.PP
+
+.PP
+Menu items are assigned the menu identifier \fIid\fR that is passed in insertItem() or an automatically generated identifier if \fIid\fR is < 0 (the default). The generated identifiers (negative integers) are guaranteed to be unique within the entire application. The identifier is used to access the menu item in other functions.
+.PP
+Menu items can be removed with removeItem() and removeItemAt(), or changed with changeItem(). All menu items can be removed with clear(). Accelerators can be changed or set with setAccel(). Checkable items can be checked or unchecked with setItemChecked(). Items can be enabled or disabled using setItemEnabled() and connected and disconnected with connectItem() and disconnectItem() respectively. By default, newly created menu items are visible. They can be hidden (and shown again) with setItemVisible().
+.PP
+Menu items are stored in a list. Use findItem() to find an item by its list position or by its menu identifier. (See also indexOf() and idAt().)
+.PP
+See also QAccel, QPopupMenu, QAction, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMenuData::QMenuData ()"
+Constructs an empty menu data list.
+.SH "QMenuData::~QMenuData ()\fC [virtual]\fR"
+Removes all menu items and disconnects any signals that have been connected.
+.SH "QKeySequence QMenuData::accel ( int id ) const"
+Returns the accelerator key that has been defined for the menu item \fIid\fR, or 0 if it has no accelerator key or if there is no such menu item.
+.PP
+See also setAccel(), QAccel, and qnamespace.h.
+.SH "void QMenuData::activateItemAt ( int index )\fC [virtual]\fR"
+Activates the menu item at position \fIindex\fR.
+.PP
+If the index is invalid (for example, -1), the object itself is deactivated.
+.SH "void QMenuData::changeItem ( int id, const QString & text )"
+Changes the text of the menu item \fIid\fR to \fItext\fR. If the item has an icon, the icon remains unchanged.
+.PP
+See also text().
+.SH "void QMenuData::changeItem ( int id, const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the pixmap of the menu item \fIid\fR to the pixmap \fIpixmap\fR. If the item has an icon, the icon is unchanged.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( int id, const QIconSet & icon, const QString & text )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the iconset and text of the menu item \fIid\fR to the \fIicon\fR and \fItext\fR respectively.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( int id, const QIconSet & icon, const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the iconset and pixmap of the menu item \fIid\fR to \fIicon\fR and \fIpixmap\fR respectively.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( const QString & text, int id )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Changes the text of the menu item \fIid\fR. If the item has an icon, the icon remains unchanged.
+.PP
+See also text().
+.SH "void QMenuData::changeItem ( const QPixmap & pixmap, int id )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Changes the pixmap of the menu item \fIid\fR. If the item has an icon, the icon remains unchanged.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( const QIconSet & icon, const QString & text, int id )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Changes the icon and text of the menu item \fIid\fR.
+.PP
+See also pixmap().
+.SH "void QMenuData::clear ()"
+Removes all menu items.
+.PP
+See also removeItem() and removeItemAt().
+.PP
+Examples:
+.)l mdi/application.cpp and qwerty/qwerty.cpp.
+.SH "bool QMenuData::connectItem ( int id, const QObject * receiver, const char * member )"
+Connects the menu item with identifier \fIid\fR to \fIreceiver\fR's \fImember\fR slot or signal.
+.PP
+The receiver's slot (or signal) is activated when the menu item is activated.
+.PP
+See also disconnectItem() and setItemParameter().
+.PP
+Example: menu/menu.cpp.
+.SH "uint QMenuData::count () const"
+Returns the number of items in the menu.
+.SH "bool QMenuData::disconnectItem ( int id, const QObject * receiver, const char * member )"
+Disconnects the \fIreceiver\fR's \fImember\fR from the menu item with identifier \fIid\fR.
+.PP
+All connections are removed when the menu data object is destroyed.
+.PP
+See also connectItem() and setItemParameter().
+.SH "QMenuItem * QMenuData::findItem ( int id ) const"
+Returns the menu item with identifier \fIid\fR, or 0 if there is no item with this identifier.
+.PP
+Note that QMenuItem is an internal class, and that you should not need to call this function. Use the higher level functions like text(), pixmap() and changeItem() to get and modify menu item attributes instead.
+.PP
+See also indexOf().
+.PP
+Example: chart/chartform.cpp.
+.SH "QMenuItem * QMenuData::findItem ( int id, QMenuData ** parent ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the menu item with identifier \fIid\fR, or 0 if there is no item with this identifier. Changes \fI*parent\fR to point to the parent of the return value.
+.PP
+Note that QMenuItem is an internal class, and that you should not need to call this function. Use the higher level functions like text(), pixmap() and changeItem() to get and modify menu item attributes instead.
+.PP
+See also indexOf().
+.SH "QIconSet * QMenuData::iconSet ( int id ) const"
+Returns the icon set that has been set for menu item \fIid\fR, or 0 if no icon set has been set.
+.PP
+See also changeItem(), text(), and pixmap().
+.SH "int QMenuData::idAt ( int index ) const"
+Returns the identifier of the menu item at position \fIindex\fR in the internal list, or -1 if \fIindex\fR is out of range.
+.PP
+See also setId() and indexOf().
+.SH "int QMenuData::indexOf ( int id ) const"
+Returns the index of the menu item with identifier \fIid\fR, or -1 if there is no item with this identifier.
+.PP
+See also idAt() and findItem().
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "int QMenuData::insertItem ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+The family of insertItem() functions inserts menu items into a popup menu or a menu bar.
+.PP
+A menu item is usually either a text string or a pixmap, both with an optional icon or keyboard accelerator. For special cases it is also possible to insert custom items (see QCustomMenuItem) or even widgets into popup menus.
+.PP
+Some insertItem() members take a popup menu as an additional argument. Use this to insert submenus into existing menus or pulldown menus into a menu bar.
+.PP
+The number of insert functions may look confusing, but they are actually quite simple to use.
+.PP
+This default version inserts a menu item with the text \fItext\fR, the accelerator key \fIaccel\fR, an id and an optional index and connects it to the slot \fImember\fR in the object \fIreceiver\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ QMenuBar *mainMenu = new QMenuBar;
+.br
+ QPopupMenu *fileMenu = new QPopupMenu;
+.br
+ fileMenu->insertItem( "New", myView, SLOT(newFile()), CTRL+Key_N );
+.br
+ fileMenu->insertItem( "Open", myView, SLOT(open()), CTRL+Key_O );
+.br
+ mainMenu->insertItem( "File", fileMenu );
+.br
+.fi
+.PP
+Not all insert functions take an object/slot parameter or an accelerator key. Use connectItem() and setAccel() on those items.
+.PP
+If you need to translate accelerators, use tr() with the text and accelerator. (For translations use a string key sequence.):
+.PP
+.nf
+.br
+ fileMenu->insertItem( tr("Open"), myView, SLOT(open()),
+.br
+ tr("Ctrl+O") );
+.br
+.fi
+.PP
+In the example above, pressing Ctrl+O or selecting "Open" from the menu activates the myView->open() function.
+.PP
+Some insert functions take a QIconSet parameter to specify the little menu item icon. Note that you can always pass a QPixmap object instead.
+.PP
+The \fIid\fR specifies the identification number associated with the menu item. Note that only positive values are valid, as a negative value will make Qt select a unique id for the item.
+.PP
+The \fIindex\fR specifies the position in the menu. The menu item is appended at the end of the list if \fIindex\fR is negative.
+.PP
+Note that keyboard accelerators in Qt are not application-global, instead they are bound to a certain top-level window. For example, accelerators in QPopupMenu items only work for menus that are associated with a certain window. This is true for popup menus that live in a menu bar since their accelerators will then be installed in the menu bar itself. This also applies to stand-alone popup menus that have a top-level widget in their parentWidget() chain. The menu will then install its accelerator object on that top-level widget. For all other cases use an independent QAccel object.
+.PP
+\fBWarning:\fR Be careful when passing a literal 0 to insertItem() because some C++ compilers choose the wrong overloaded function. Cast the 0 to what you mean, e.g. \fC(QObject*)0\fR.
+.PP
+\fBWarning:\fR On Mac OS X, items that connect to a slot that are inserted into a menubar will not function as we use the native menubar that knows nothing about signals or slots. Instead insert the items into a popup menu and insert the popup menu into the menubar. This may be fixed in a future Qt version.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, canvas/canvas.cpp, menu/menu.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item. The item is connected to the \fImember\fR slot in the \fIreceiver\fR object.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( QWidget * widget, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item that consists of the widget \fIwidget\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Ownership of \fIwidget\fR is transferred to the popup menu or to the menu bar.
+.PP
+Theoretically, any widget can be inserted into a popup menu. In practice, this only makes sense with certain widgets.
+.PP
+If a widget is not focus-enabled (see QWidget::isFocusEnabled()), the menu treats it as a separator; this means that the item is not selectable and will never get focus. In this way you can, for example, simply insert a QLabel if you need a popup menu with a title.
+.PP
+If the widget is focus-enabled it will get focus when the user traverses the popup menu with the arrow keys. If the widget does not accept \fCArrowUp\fR and \fCArrowDown\fR in its key event handler, the focus will move back to the menu when the respective arrow key is hit one more time. This works with a QLineEdit, for example. If the widget accepts the arrow key itself, it must also provide the possibility to put the focus back on the menu again by calling QWidget::focusNextPrevChild(). Futhermore, if the embedded widget closes the menu when the user made a selection, this can be done safely by calling:
+.PP
+.nf
+.br
+ if ( isVisible() &&
+.br
+ parentWidget() &&
+.br
+ parentWidget()->inherits("QPopupMenu") )
+.br
+ parentWidget()->close();
+.br
+.fi
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with an \fIicon\fR and with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertItem ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertSeparator ( int index = -1 )"
+Inserts a separator at position \fIindex\fR, and returns the menu identifier number allocated to it. The separator becomes the last menu item if \fIindex\fR is negative.
+.PP
+In a popup menu a separator is rendered as a horizontal line. In a Motif menu bar a separator is spacing, so the rest of the items (normally just "Help") are drawn right-justified. In a Windows menu bar separators are ignored (to comply with the Windows style guidelines).
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, menu/menu.cpp, progress/progress.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "bool QMenuData::isItemActive ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR is currently active; otherwise returns FALSE.
+.SH "bool QMenuData::isItemChecked ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR has been checked; otherwise returns FALSE.
+.PP
+See also setItemChecked().
+.PP
+Examples:
+.)l canvas/canvas.cpp, progress/progress.cpp, and showimg/showimg.cpp.
+.SH "bool QMenuData::isItemEnabled ( int id ) const"
+Returns TRUE if the item with identifier \fIid\fR is enabled; otherwise returns FALSE
+.PP
+See also setItemEnabled() and isItemVisible().
+.SH "bool QMenuData::isItemVisible ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR is visible; otherwise returns FALSE.
+.PP
+See also setItemVisible().
+.SH "int QMenuData::itemParameter ( int id ) const"
+Returns the parameter of the activation signal of item \fIid\fR.
+.PP
+If no parameter has been specified for this item with setItemParameter(), the value defaults to \fIid\fR.
+.PP
+See also connectItem(), disconnectItem(), and setItemParameter().
+.SH "void QMenuData::menuContentsChanged ()\fC [virtual protected]\fR"
+Virtual function; notifies subclasses that one or more items have been inserted or removed.
+.PP
+Reimplemented in QMenuBar.
+.SH "void QMenuData::menuDelPopup ( QPopupMenu * )\fC [virtual protected]\fR"
+Virtual function; notifies subclasses that a popup menu item has been removed.
+.SH "void QMenuData::menuInsPopup ( QPopupMenu * )\fC [virtual protected]\fR"
+Virtual function; notifies subclasses that a popup menu item has been inserted.
+.SH "void QMenuData::menuStateChanged ()\fC [virtual protected]\fR"
+Virtual function; notifies subclasses that one or more items have changed state (enabled/disabled or checked/unchecked).
+.PP
+Reimplemented in QMenuBar.
+.SH "QPixmap * QMenuData::pixmap ( int id ) const"
+Returns the pixmap that has been set for menu item \fIid\fR, or 0 if no pixmap has been set.
+.PP
+See also changeItem(), text(), and iconSet().
+.SH "void QMenuData::removeItem ( int id )"
+Removes the menu item that has the identifier \fIid\fR.
+.PP
+See also removeItemAt() and clear().
+.PP
+Example: chart/chartform.cpp.
+.SH "void QMenuData::removeItemAt ( int index )"
+Removes the menu item at position \fIindex\fR.
+.PP
+See also removeItem() and clear().
+.SH "void QMenuData::setAccel ( const QKeySequence & key, int id )"
+Sets the accelerator key for the menu item \fIid\fR to \fIkey\fR.
+.PP
+An accelerator key consists of a key code and a combination of the modifiers \fCSHIFT\fR, \fCCTRL\fR, \fCALT\fR or \fCUNICODE_ACCEL\fR (OR'ed or added). The header file qnamespace.h contains a list of key codes.
+.PP
+Defining an accelerator key produces a text that is added to the menu item; for instance, \fCCTRL\fR + \fCKey_O\fR produces "Ctrl+O". The text is formatted differently for different platforms.
+.PP
+Note that keyboard accelerators in Qt are not application-global, instead they are bound to a certain top-level window. For example, accelerators in QPopupMenu items only work for menus that are associated with a certain window. This is true for popup menus that live in a menu bar since their accelerators will then be installed in the menu bar itself. This also applies to stand-alone popup menus that have a top-level widget in their parentWidget() chain. The menu will then install its accelerator object on that top-level widget. For all other cases use an independent QAccel object.
+.PP
+Example:
+.PP
+.nf
+.br
+ QMenuBar *mainMenu = new QMenuBar;
+.br
+ QPopupMenu *fileMenu = new QPopupMenu; // file sub menu
+.br
+ fileMenu->insertItem( "Open Document", 67 ); // add "Open" item
+.br
+ fileMenu->setAccel( CTRL + Key_O, 67 ); // Ctrl+O to open
+.br
+ fileMenu->insertItem( "Quit", 69 ); // add "Quit" item
+.br
+ fileMenu->setAccel( CTRL + ALT + Key_Delete, 69 ); // add Alt+Del to quit
+.br
+ mainMenu->insertItem( "File", fileMenu ); // add the file menu
+.br
+.fi
+.PP
+If you need to translate accelerators, use tr() with a string:
+.PP
+.nf
+.br
+ fileMenu->setAccel( tr("Ctrl+O"), 67 );
+.br
+.fi
+.PP
+You can also specify the accelerator in the insertItem() function. You may prefer to use QAction to associate accelerators with menu items.
+.PP
+See also accel(), insertItem(), QAccel, and QAction.
+.PP
+Example: menu/menu.cpp.
+.SH "void QMenuData::setId ( int index, int id )\fC [virtual]\fR"
+Sets the menu identifier of the item at \fIindex\fR to \fIid\fR.
+.PP
+If \fIindex\fR is out of range, the operation is ignored.
+.PP
+See also idAt().
+.SH "void QMenuData::setItemChecked ( int id, bool check )"
+If \fIcheck\fR is TRUE, checks the menu item with id \fIid\fR; otherwise unchecks the menu item with id \fIid\fR. Calls QPopupMenu::setCheckable( TRUE ) if necessary.
+.PP
+See also isItemChecked().
+.PP
+Examples:
+.)l canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.
+.SH "void QMenuData::setItemEnabled ( int id, bool enable )"
+If \fIenable\fR is TRUE, enables the menu item with identifier \fIid\fR; otherwise disables the menu item with identifier \fIid\fR.
+.PP
+See also isItemEnabled().
+.PP
+Examples:
+.)l mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, and showimg/showimg.cpp.
+.SH "bool QMenuData::setItemParameter ( int id, int param )"
+Sets the parameter of the activation signal of item \fIid\fR to \fIparam\fR.
+.PP
+If any receiver takes an integer parameter, this value is passed.
+.PP
+See also connectItem(), disconnectItem(), and itemParameter().
+.PP
+Example: mdi/application.cpp.
+.SH "void QMenuData::setItemVisible ( int id, bool visible )"
+If \fIvisible\fR is TRUE, shows the menu item with id \fIid\fR; otherwise hides the menu item with id \fIid\fR.
+.PP
+See also isItemVisible() and isItemEnabled().
+.SH "void QMenuData::setWhatsThis ( int id, const QString & text )"
+Sets \fItext\fR as What's This help for the menu item with identifier \fIid\fR.
+.PP
+See also whatsThis().
+.PP
+Examples:
+.)l application/application.cpp, helpsystem/mainwindow.cpp, and mdi/application.cpp.
+.SH "QString QMenuData::text ( int id ) const"
+Returns the text that has been set for menu item \fIid\fR, or QString::null if no text has been set.
+.PP
+See also changeItem(), pixmap(), and iconSet().
+.PP
+Examples:
+.)l qdir/qdir.cpp and showimg/showimg.cpp.
+.SH "void QMenuData::updateItem ( int id )\fC [virtual]\fR"
+Virtual function; notifies subclasses about an item with \fIid\fR that has been changed.
+.PP
+Reimplemented in QPopupMenu.
+.SH "QString QMenuData::whatsThis ( int id ) const"
+Returns the What's This help text for the item with identifier \fIid\fR or QString::null if no text has yet been defined.
+.PP
+See also setWhatsThis().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmenudata.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmenudata.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmessagebox.3qt b/doc/man/man3/qmessagebox.3qt
new file mode 100644
index 0000000..d936c31
--- /dev/null
+++ b/doc/man/man3/qmessagebox.3qt
@@ -0,0 +1,858 @@
+'\" t
+.TH QMessageBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMessageBox \- Modal dialog with a short message, an icon, and some buttons
+.SH SYNOPSIS
+\fC#include <qmessagebox.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBIcon\fR { NoIcon = 0, Information = 1, Warning = 2, Critical = 3, Question = 4 }"
+.br
+.ti -1c
+.BI "\fBQMessageBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQMessageBox\fR ( const QString & caption, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent = 0, const char * name = 0, bool modal = TRUE, WFlags f = WStyle_DialogBorder )"
+.br
+.ti -1c
+.BI "\fB~QMessageBox\fR ()"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "Icon \fBicon\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIcon\fR ( Icon )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBiconPixmap\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIconPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "QString \fBbuttonText\fR ( int button ) const"
+.br
+.ti -1c
+.BI "void \fBsetButtonText\fR ( int button, const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBadjustSize\fR ()"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTextFormat\fR ( TextFormat )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "int \fBinformation\fR ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 )"
+.br
+.ti -1c
+.BI "int \fBinformation\fR ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )"
+.br
+.ti -1c
+.BI "int \fBquestion\fR ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 )"
+.br
+.ti -1c
+.BI "int \fBquestion\fR ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )"
+.br
+.ti -1c
+.BI "int \fBwarning\fR ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )"
+.br
+.ti -1c
+.BI "int \fBwarning\fR ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )"
+.br
+.ti -1c
+.BI "int \fBcritical\fR ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )"
+.br
+.ti -1c
+.BI "int \fBcritical\fR ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )"
+.br
+.ti -1c
+.BI "void \fBabout\fR ( QWidget * parent, const QString & caption, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBaboutQt\fR ( QWidget * parent, const QString & caption = QString::null )"
+.br
+.ti -1c
+.BI "int message ( const QString & caption, const QString & text, const QString & buttonText = QString::null, QWidget * parent = 0, const char * = 0 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool query ( const QString & caption, const QString & text, const QString & yesButtonText = QString::null, const QString & noButtonText = QString::null, QWidget * parent = 0, const char * = 0 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPixmap standardIcon ( Icon icon, GUIStyle style ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPixmap \fBstandardIcon\fR ( Icon icon )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "Icon \fBicon\fR - the message box's icon"
+.br
+.ti -1c
+.BI "QPixmap \fBiconPixmap\fR - the current icon"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the message box text to be displayed"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR - the format of the text displayed by the message box"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMessageBox class provides a modal dialog with a short message, an icon, and some buttons.
+.PP
+Message boxes are used to provide informative messages and to ask simple questions.
+.PP
+QMessageBox provides a range of different messages, arranged roughly along two axes: severity and complexity.
+.PP
+Severity is <center>.nf
+.TS
+l - l. Question For message boxes that ask a question as part of normal operation. Some style guides recommend using Information for this purpose. Information For message boxes that are part of normal operation. Warning For message boxes that tell the user about unusual errors. Critical
+.TE
+.fi
+</center>
+.PP
+The message box has a different icon for each of the severity levels.
+.PP
+Complexity is one button (OK) for simple messages, or two or even three buttons for questions.
+.PP
+There are static functions for the most common cases.
+.PP
+Examples:
+.)l
+.PP
+If a program is unable to find a supporting file, but can do perfectly well without it:
+.PP
+.nf
+.br
+ QMessageBox::information( this, "Application name",
+.br
+ "Unable to find the user preferences file.\\n"
+.br
+ "The factory default will be used instead." );
+.br
+.fi
+.PP
+question() is useful for simple yes/no questions:
+.PP
+.nf
+.br
+ if ( QFile::exists( filename ) &&
+.br
+ QMessageBox::question(
+.br
+ this,
+.br
+ tr("Overwrite File? -- Application Name"),
+.br
+ tr("A file called %1 already exists."
+.br
+ "Do you want to overwrite it?")
+.br
+ .arg( filename ),
+.br
+ tr("&Yes"), tr("&No"),
+.br
+ QString::null, 0, 1 ) )
+.br
+ return false;
+.br
+.fi
+.PP
+warning() can be used to tell the user about unusual errors, or errors which can't be easily fixed:
+.PP
+.nf
+.br
+ switch( QMessageBox::warning( this, "Application name",
+.br
+ "Could not connect to the <mumble> server.\\n"
+.br
+ "This program can't function correctly "
+.br
+ "without the server.\\n\\n",
+.br
+ "Retry",
+.br
+ "Quit", 0, 0, 1 ) ) {
+.br
+ case 0: // The user clicked the Retry again button or pressed Enter
+.br
+ // try again
+.br
+ break;
+.br
+ case 1: // The user clicked the Quit or pressed Escape
+.br
+ // exit
+.br
+ break;
+.br
+ }
+.br
+.fi
+.PP
+The text part of all message box messages can be either rich text or plain text. If you specify a rich text formatted string, it will be rendered using the default stylesheet. See QStyleSheet::defaultSheet() for details. With certain strings that contain XML meta characters, the auto-rich text detection may fail, interpreting plain text incorrectly as rich text. In these rare cases, use QStyleSheet::convertFromPlainText() to convert your plain text string to a visually equivalent rich text string or set the text format explicitly with setTextFormat().
+.PP
+Note that the Microsoft Windows User Interface Guidelines recommend using the application name as the window's caption.
+.PP
+Below are more examples of how to use the static member functions. After these examples you will find an overview of the non-static member functions.
+.PP
+Exiting a program is part of its normal operation. If there is unsaved data the user probably should be asked if they want to save the data. For example:
+.PP
+.nf
+.br
+ switch( QMessageBox::information( this, "Application name here",
+.br
+ "The document contains unsaved changes\\n"
+.br
+ "Do you want to save the changes before exiting?",
+.br
+ "&Save", "&Discard", "Cancel",
+.br
+ 0, // Enter == button 0
+.br
+ 2 ) ) { // Escape == button 2
+.br
+ case 0: // Save clicked or Alt+S pressed or Enter pressed.
+.br
+ // save
+.br
+ break;
+.br
+ case 1: // Discard clicked or Alt+D pressed
+.br
+ // don't save but exit
+.br
+ break;
+.br
+ case 2: // Cancel clicked or Escape pressed
+.br
+ // don't exit
+.br
+ break;
+.br
+ }
+.br
+.fi
+.PP
+The Escape button cancels the entire exit operation, and pressing Enter causes the changes to be saved before the exit occurs.
+.PP
+Disk full errors are unusual and they certainly can be hard to correct. This example uses predefined buttons instead of hard-coded button texts:
+.PP
+.nf
+.br
+ switch( QMessageBox::warning( this, "Application name here",
+.br
+ "Could not save the user preferences,\\n"
+.br
+ "because the disk is full. You can delete\\n"
+.br
+ "some files and press Retry, or you can\\n"
+.br
+ "abort the Save Preferences operation.",
+.br
+ QMessageBox::Retry | QMessageBox::Default,
+.br
+ QMessageBox::Abort | QMessageBox::Escape )) {
+.br
+ case QMessageBox::Retry: // Retry clicked or Enter pressed
+.br
+ // try again
+.br
+ break;
+.br
+ case QMessageBox::Abort: // Abort clicked or Escape pressed
+.br
+ // abort
+.br
+ break;
+.br
+ }
+.br
+.fi
+.PP
+The critical() function should be reserved for critical errors. In this example errorDetails is a QString or const char*, and QString is used to concatenate several strings:
+.PP
+.nf
+.br
+ QMessageBox::critical( 0, "Application name here",
+.br
+ QString("An internal error occurred. Please ") +
+.br
+ "call technical support at 1234-56789 and report\\n"+
+.br
+ "these numbers:\\n\\n" + errorDetails +
+.br
+ "\\n\\nApplication will now exit." );
+.br
+.fi
+.PP
+In this example an OK button is displayed.
+.PP
+QMessageBox provides a very simple About box which displays an appropriate icon and the string you provide:
+.PP
+.nf
+.br
+ QMessageBox::about( this, "About <Application>",
+.br
+ "<Application> is a <one-paragraph blurb>\\n\\n"
+.br
+ "Copyright 1991-2003 Such-and-such. "
+.br
+ "<License words here.>\\n\\n"
+.br
+ "For technical support, call 1234-56789 or see\\n"
+.br
+ "http://www.such-and-such.com/Application/\\n" );
+.br
+.fi
+.PP
+See about() for more information.
+.PP
+If you want your users to know that the application is built using Qt (so they know that you use high quality tools) you might like to add an "About Qt" menu option under the Help menu to invoke aboutQt().
+.PP
+If none of the standard message boxes is suitable, you can create a QMessageBox from scratch and use custom button texts:
+.PP
+.nf
+.br
+ QMessageBox mb( "Application name here",
+.br
+ "Saving the file will overwrite the original file on the disk.\\n"
+.br
+ "Do you really want to save?",
+.br
+ QMessageBox::Information,
+.br
+ QMessageBox::Yes | QMessageBox::Default,
+.br
+ QMessageBox::No,
+.br
+ QMessageBox::Cancel | QMessageBox::Escape );
+.br
+ mb.setButtonText( QMessageBox::Yes, "Save" );
+.br
+ mb.setButtonText( QMessageBox::No, "Discard" );
+.br
+ switch( mb.exec() ) {
+.br
+ case QMessageBox::Yes:
+.br
+ // save and exit
+.br
+ break;
+.br
+ case QMessageBox::No:
+.br
+ // exit without saving
+.br
+ break;
+.br
+ case QMessageBox::Cancel:
+.br
+ // don't save and don't exit
+.br
+ break;
+.br
+ }
+.br
+.fi
+.PP
+QMessageBox defines two enum types: Icon and an unnamed button type. Icon defines the Question, Information, Warning, and Critical icons for each GUI style. It is used by the constructor and by the static member functions question(), information(), warning() and critical(). A function called standardIcon() gives you access to the various icons.
+.PP
+The button types are:
+.TP
+Ok - the default for single-button message boxes
+.TP
+Cancel - note that this is \fInot\fR automatically Escape
+.TP
+Yes
+.TP
+No
+.TP
+Abort
+.TP
+Retry
+.TP
+Ignore
+.TP
+YesAll
+.TP
+NoAll
+.PP
+Button types can be combined with two modifiers by using OR, '|':
+.TP
+Default - makes pressing Enter equivalent to clicking this button. Normally used with Ok, Yes or similar.
+.TP
+Escape - makes pressing Escape equivalent to clicking this button. Normally used with Abort, Cancel or similar.
+.PP
+The text(), icon() and iconPixmap() functions provide access to the current text and pixmap of the message box. The setText(), setIcon() and setIconPixmap() let you change it. The difference between setIcon() and setIconPixmap() is that the former accepts a QMessageBox::Icon and can be used to set standard icons, whereas the latter accepts a QPixmap and can be used to set custom icons.
+.PP
+setButtonText() and buttonText() provide access to the buttons.
+.PP
+QMessageBox has no signals or slots.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QDialog, Isys on error messages, GUI Design Handbook: Message Box, and Dialog Classes.
+.SS "Member Type Documentation"
+.SH "QMessageBox::Icon"
+This enum has the following values:
+.TP
+\fCQMessageBox::NoIcon\fR - the message box does not have any icon.
+.TP
+\fCQMessageBox::Question\fR - an icon indicating that the message is asking a question.
+.TP
+\fCQMessageBox::Information\fR - an icon indicating that the message is nothing out of the ordinary.
+.TP
+\fCQMessageBox::Warning\fR - an icon indicating that the message is a warning, but can be dealt with.
+.TP
+\fCQMessageBox::Critical\fR - an icon indicating that the message represents a critical problem.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMessageBox::QMessageBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a message box with no text and a button with the label" OK".
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QDialog constructor.
+.SH "QMessageBox::QMessageBox ( const QString & caption, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent = 0, const char * name = 0, bool modal = TRUE, WFlags f = WStyle_DialogBorder )"
+Constructs a message box with a \fIcaption\fR, a \fItext\fR, an \fIicon\fR, and up to three buttons.
+.PP
+The \fIicon\fR must be one of the following:
+.TP
+QMessageBox::NoIcon
+.TP
+QMessageBox::Question
+.TP
+QMessageBox::Information
+.TP
+QMessageBox::Warning
+.TP
+QMessageBox::Critical
+.PP
+Each button, \fIbutton0\fR, \fIbutton1\fR and \fIbutton2\fR, can have one of the following values:
+.TP
+QMessageBox::NoButton
+.TP
+QMessageBox::Ok
+.TP
+QMessageBox::Cancel
+.TP
+QMessageBox::Yes
+.TP
+QMessageBox::No
+.TP
+QMessageBox::Abort
+.TP
+QMessageBox::Retry
+.TP
+QMessageBox::Ignore
+.TP
+QMessageBox::YesAll
+.TP
+QMessageBox::NoAll
+.PP
+Use QMessageBox::NoButton for the later parameters to have fewer than three buttons in your message box. If you don't specify any buttons at all, QMessageBox will provide an Ok button.
+.PP
+One of the buttons can be OR-ed with the \fCQMessageBox::Default\fR flag to make it the default button (clicked when Enter is pressed).
+.PP
+One of the buttons can be OR-ed with the \fCQMessageBox::Escape\fR flag to make it the cancel or close button (clicked when Escape is pressed).
+.PP
+Example:
+.PP
+.nf
+.br
+ QMessageBox mb( "Application Name",
+.br
+ "Hardware failure.\\n\\nDisk error detected\\nDo you want to stop?",
+.br
+ QMessageBox::Question,
+.br
+ QMessageBox::Yes | QMessageBox::Default,
+.br
+ QMessageBox::No | QMessageBox::Escape,
+.br
+ QMessageBox::NoButton );
+.br
+ if ( mb.exec() == QMessageBox::No )
+.br
+ // try again
+.br
+.fi
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+If \fImodal\fR is TRUE the message box is modal; otherwise it is modeless.
+.PP
+The \fIparent\fR, \fIname\fR, \fImodal\fR, and \fIf\fR arguments are passed to the QDialog constructor.
+.PP
+See also caption, text, and icon.
+.SH "QMessageBox::~QMessageBox ()"
+Destroys the message box.
+.SH "void QMessageBox::about ( QWidget * parent, const QString & caption, const QString & text )\fC [static]\fR"
+Displays a simple about box with caption \fIcaption\fR and text \fItext\fR. The about box's parent is \fIparent\fR.
+.PP
+about() looks for a suitable icon in four locations: <ol type=1>
+.TP
+It prefers parent->icon() if that exists.
+.TP
+If not, it tries the top-level widget containing \fIparent\fR.
+.TP
+If that fails, it tries the main widget.
+.TP
+As a last resort it uses the Information icon.
+.PP
+The about box has a single button labelled "OK".
+.PP
+See also QWidget::icon and QApplication::mainWidget().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, menu/menu.cpp, and themes/themes.cpp.
+.SH "void QMessageBox::aboutQt ( QWidget * parent, const QString & caption = QString::null )\fC [static]\fR"
+Displays a simple message box about Qt, with caption \fIcaption\fR and centered over \fIparent\fR (if \fIparent\fR is not 0). The message includes the version number of Qt being used by the application.
+.PP
+This is useful for inclusion in the Help menu of an application. See the examples/menu/menu.cpp example.
+.PP
+QApplication provides this functionality as a slot.
+.PP
+See also QApplication::aboutQt().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, chart/chartform.cpp, helpviewer/helpwindow.cpp, menu/menu.cpp, themes/themes.cpp, and trivial/trivial.cpp.
+.SH "void QMessageBox::adjustSize ()\fC [virtual]\fR"
+Adjusts the size of the message box to fit the contents just before QDialog::exec() or QDialog::show() is called.
+.PP
+This function will not be called if the message box has been explicitly resized before showing it.
+.PP
+Reimplemented from QWidget.
+.SH "QString QMessageBox::buttonText ( int button ) const"
+Returns the text of the message box button \fIbutton\fR, or QString::null if the message box does not contain the button.
+.PP
+See also setButtonText().
+.SH "int QMessageBox::critical ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )\fC [static]\fR"
+Opens a critical message box with the caption \fIcaption\fR and the text \fItext\fR. The dialog may have up to three buttons. Each of the button parameters, \fIbutton0\fR, \fIbutton1\fR and \fIbutton2\fR may be set to one of the following values:
+.TP
+QMessageBox::NoButton
+.TP
+QMessageBox::Ok
+.TP
+QMessageBox::Cancel
+.TP
+QMessageBox::Yes
+.TP
+QMessageBox::No
+.TP
+QMessageBox::Abort
+.TP
+QMessageBox::Retry
+.TP
+QMessageBox::Ignore
+.TP
+QMessageBox::YesAll
+.TP
+QMessageBox::NoAll
+.PP
+If you don't want all three buttons, set the last button, or last two buttons to QMessageBox::NoButton.
+.PP
+One button can be OR-ed with \fCQMessageBox::Default\fR, and one button can be OR-ed with \fCQMessageBox::Escape\fR.
+.PP
+Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.) of the button that was clicked.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+See also information(), question(), and warning().
+.PP
+Examples:
+.)l network/archivesearch/archivedialog.ui.h, network/ftpclient/ftpmainwindow.ui.h, process/process.cpp, and xml/outliner/outlinetree.cpp.
+.SH "int QMessageBox::critical ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Displays a critical error message box with a caption, a text, and 1, 2 or 3 buttons. Returns the number of the button that was clicked (0, 1 or 2).
+.PP
+\fIbutton0Text\fR is the text of the first button, and is optional. If \fIbutton0Text\fR is not supplied, "OK" (translated) will be used. \fIbutton1Text\fR is the text of the second button, and is optional, and \fIbutton2Text\fR is the text of the third button, and is optional. \fIdefaultButtonNumber\fR (0, 1 or 2) is the index of the default button; pressing Return or Enter is the same as clicking the default button. It defaults to 0 (the first button). \fIescapeButtonNumber\fR is the index of the Escape button; pressing Escape is the same as clicking this button. It defaults to -1; supply 0, 1, or 2 to make pressing Escape equivalent to clicking the relevant button.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+See also information(), question(), and warning().
+.SH "Icon QMessageBox::icon () const"
+Returns the message box's icon. See the "icon" property for details.
+.SH "const QPixmap * QMessageBox::iconPixmap () const"
+Returns the current icon. See the "iconPixmap" property for details.
+.SH "int QMessageBox::information ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 )\fC [static]\fR"
+Opens an information message box with the caption \fIcaption\fR and the text \fItext\fR. The dialog may have up to three buttons. Each of the buttons, \fIbutton0\fR, \fIbutton1\fR and \fIbutton2\fR may be set to one of the following values:
+.TP
+QMessageBox::NoButton
+.TP
+QMessageBox::Ok
+.TP
+QMessageBox::Cancel
+.TP
+QMessageBox::Yes
+.TP
+QMessageBox::No
+.TP
+QMessageBox::Abort
+.TP
+QMessageBox::Retry
+.TP
+QMessageBox::Ignore
+.TP
+QMessageBox::YesAll
+.TP
+QMessageBox::NoAll
+.PP
+If you don't want all three buttons, set the last button, or last two buttons to QMessageBox::NoButton.
+.PP
+One button can be OR-ed with \fCQMessageBox::Default\fR, and one button can be OR-ed with \fCQMessageBox::Escape\fR.
+.PP
+Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.) of the button that was clicked.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+See also question(), warning(), and critical().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, dirview/dirview.cpp, fileiconview/qfileiconview.cpp, picture/picture.cpp, qwerty/qwerty.cpp, and simple/main.cpp.
+.SH "int QMessageBox::information ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Displays an information message box with caption \fIcaption\fR, text \fItext\fR and one, two or three buttons. Returns the index of the button that was clicked (0, 1 or 2).
+.PP
+\fIbutton0Text\fR is the text of the first button, and is optional. If \fIbutton0Text\fR is not supplied, "OK" (translated) will be used. \fIbutton1Text\fR is the text of the second button, and is optional. \fIbutton2Text\fR is the text of the third button, and is optional. \fIdefaultButtonNumber\fR (0, 1 or 2) is the index of the default button; pressing Return or Enter is the same as clicking the default button. It defaults to 0 (the first button). \fIescapeButtonNumber\fR is the index of the Escape button; pressing Escape is the same as clicking this button. It defaults to -1; supply 0, 1 or 2 to make pressing Escape equivalent to clicking the relevant button.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+Note: If you do not specify an Escape button then if the Escape button is pressed then -1 will be returned. It is suggested that you specify an Escape button to prevent this from happening.
+.PP
+See also question(), warning(), and critical().
+.SH "int QMessageBox::message ( const QString & caption, const QString & text, const QString & buttonText = QString::null, QWidget * parent = 0, const char * = 0 )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Opens a modal message box directly using the specified parameters.
+.PP
+Please use information(), warning(), question(), or critical() instead.
+.PP
+Example: grapher/grapher.cpp.
+.SH "bool QMessageBox::query ( const QString & caption, const QString & text, const QString & yesButtonText = QString::null, const QString & noButtonText = QString::null, QWidget * parent = 0, const char * = 0 )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Queries the user using a modal message box with two buttons. Note that \fIcaption\fR is not always shown, it depends on the window manager.
+.PP
+Please use information(), question(), warning(), or critical() instead.
+.SH "int QMessageBox::question ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 )\fC [static]\fR"
+Opens a question message box with the caption \fIcaption\fR and the text \fItext\fR. The dialog may have up to three buttons. Each of the buttons, \fIbutton0\fR, \fIbutton1\fR and \fIbutton2\fR may be set to one of the following values:
+.TP
+QMessageBox::NoButton
+.TP
+QMessageBox::Ok
+.TP
+QMessageBox::Cancel
+.TP
+QMessageBox::Yes
+.TP
+QMessageBox::No
+.TP
+QMessageBox::Abort
+.TP
+QMessageBox::Retry
+.TP
+QMessageBox::Ignore
+.TP
+QMessageBox::YesAll
+.TP
+QMessageBox::NoAll
+.PP
+If you don't want all three buttons, set the last button, or last two buttons to QMessageBox::NoButton.
+.PP
+One button can be OR-ed with \fCQMessageBox::Default\fR, and one button can be OR-ed with \fCQMessageBox::Escape\fR.
+.PP
+Returns the identity (QMessageBox::Yes, or QMessageBox::No, etc.) of the button that was clicked.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+See also information(), warning(), and critical().
+.SH "int QMessageBox::question ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Displays a question message box with caption \fIcaption\fR, text \fItext\fR and one, two or three buttons. Returns the index of the button that was clicked (0, 1 or 2).
+.PP
+\fIbutton0Text\fR is the text of the first button, and is optional. If \fIbutton0Text\fR is not supplied, "OK" (translated) will be used. \fIbutton1Text\fR is the text of the second button, and is optional. \fIbutton2Text\fR is the text of the third button, and is optional. \fIdefaultButtonNumber\fR (0, 1 or 2) is the index of the default button; pressing Return or Enter is the same as clicking the default button. It defaults to 0 (the first button). \fIescapeButtonNumber\fR is the index of the Escape button; pressing Escape is the same as clicking this button. It defaults to -1; supply 0, 1 or 2 to make pressing Escape equivalent to clicking the relevant button.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+Note: If you do not specify an Escape button then if the Escape button is pressed then -1 will be returned. It is suggested that you specify an Escape button to prevent this from happening.
+.PP
+See also information(), warning(), and critical().
+.SH "void QMessageBox::setButtonText ( int button, const QString & text )"
+Sets the text of the message box button \fIbutton\fR to \fItext\fR. Setting the text of a button that is not in the message box is silently ignored.
+.PP
+See also buttonText().
+.SH "void QMessageBox::setIcon ( Icon )"
+Sets the message box's icon. See the "icon" property for details.
+.SH "void QMessageBox::setIconPixmap ( const QPixmap & )"
+Sets the current icon. See the "iconPixmap" property for details.
+.SH "void QMessageBox::setText ( const QString & )"
+Sets the message box text to be displayed. See the "text" property for details.
+.SH "void QMessageBox::setTextFormat ( TextFormat )"
+Sets the format of the text displayed by the message box. See the "textFormat" property for details.
+.SH "QPixmap QMessageBox::standardIcon ( Icon icon )\fC [static]\fR"
+Returns the pixmap used for a standard icon. This allows the pixmaps to be used in more complex message boxes. \fIicon\fR specifies the required icon, e.g. QMessageBox::Question, QMessageBox::Information, QMessageBox::Warning or QMessageBox::Critical.
+.SH "QPixmap QMessageBox::standardIcon ( Icon icon, GUIStyle style )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the pixmap used for a standard icon. This allows the pixmaps to be used in more complex message boxes. \fIicon\fR specifies the required icon, e.g. QMessageBox::Information, QMessageBox::Warning or QMessageBox::Critical.
+.PP
+\fIstyle\fR is unused.
+.SH "QString QMessageBox::text () const"
+Returns the message box text to be displayed. See the "text" property for details.
+.SH "TextFormat QMessageBox::textFormat () const"
+Returns the format of the text displayed by the message box. See the "textFormat" property for details.
+.SH "int QMessageBox::warning ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )\fC [static]\fR"
+Opens a warning message box with the caption \fIcaption\fR and the text \fItext\fR. The dialog may have up to three buttons. Each of the button parameters, \fIbutton0\fR, \fIbutton1\fR and \fIbutton2\fR may be set to one of the following values:
+.TP
+QMessageBox::NoButton
+.TP
+QMessageBox::Ok
+.TP
+QMessageBox::Cancel
+.TP
+QMessageBox::Yes
+.TP
+QMessageBox::No
+.TP
+QMessageBox::Abort
+.TP
+QMessageBox::Retry
+.TP
+QMessageBox::Ignore
+.TP
+QMessageBox::YesAll
+.TP
+QMessageBox::NoAll
+.PP
+If you don't want all three buttons, set the last button, or last two buttons to QMessageBox::NoButton.
+.PP
+One button can be OR-ed with \fCQMessageBox::Default\fR, and one button can be OR-ed with \fCQMessageBox::Escape\fR.
+.PP
+Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.) of the button that was clicked.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+See also information(), question(), and critical().
+.PP
+Examples:
+.)l chart/chartform.cpp, i18n/main.cpp, network/mail/smtp.cpp, qwerty/qwerty.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "int QMessageBox::warning ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Displays a warning message box with a caption, a text, and 1, 2 or 3 buttons. Returns the number of the button that was clicked (0, 1, or 2).
+.PP
+\fIbutton0Text\fR is the text of the first button, and is optional. If \fIbutton0Text\fR is not supplied, "OK" (translated) will be used. \fIbutton1Text\fR is the text of the second button, and is optional, and \fIbutton2Text\fR is the text of the third button, and is optional. \fIdefaultButtonNumber\fR (0, 1 or 2) is the index of the default button; pressing Return or Enter is the same as clicking the default button. It defaults to 0 (the first button). \fIescapeButtonNumber\fR is the index of the Escape button; pressing Escape is the same as clicking this button. It defaults to -1; supply 0, 1, or 2 to make pressing Escape equivalent to clicking the relevant button.
+.PP
+If \fIparent\fR is 0, the message box becomes an application-global modal dialog box. If \fIparent\fR is a widget, the message box becomes modal relative to \fIparent\fR.
+.PP
+Note: If you do not specify an Escape button then if the Escape button is pressed then -1 will be returned. It is suggested that you specify an Escape button to prevent this from happening.
+.PP
+See also information(), question(), and critical().
+.SS "Property Documentation"
+.SH "Icon icon"
+This property holds the message box's icon.
+.PP
+The icon of the message box can be one of the following predefined icons:
+.TP
+QMessageBox::NoIcon
+.TP
+QMessageBox::Question
+.TP
+QMessageBox::Information
+.TP
+QMessageBox::Warning
+.TP
+QMessageBox::Critical
+.PP
+The actual pixmap used for displaying the icon depends on the current GUI style. You can also set a custom pixmap icon using the QMessageBox::iconPixmap property. The default icon is QMessageBox::NoIcon.
+.PP
+See also iconPixmap.
+.PP
+Set this property's value with setIcon() and get this property's value with icon().
+.SH "QPixmap iconPixmap"
+This property holds the current icon.
+.PP
+The icon currently used by the message box. Note that it's often hard to draw one pixmap that looks appropriate in both Motif and Windows GUI styles; you may want to draw two pixmaps.
+.PP
+See also icon.
+.PP
+Set this property's value with setIconPixmap() and get this property's value with iconPixmap().
+.SH "QString text"
+This property holds the message box text to be displayed.
+.PP
+The text will be interpreted either as a plain text or as rich text, depending on the text format setting (QMessageBox::textFormat). The default setting is AutoText, i.e. the message box will try to auto-detect the format of the text.
+.PP
+The default value of this property is QString::null.
+.PP
+See also textFormat.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "TextFormat textFormat"
+This property holds the format of the text displayed by the message box.
+.PP
+The current text format used by the message box. See the Qt::TextFormat enum for an explanation of the possible options.
+.PP
+The default format is AutoText.
+.PP
+See also text.
+.PP
+Set this property's value with setTextFormat() and get this property's value with textFormat().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmessagebox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmessagebox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmetaobject.3qt b/doc/man/man3/qmetaobject.3qt
new file mode 100644
index 0000000..e651283
--- /dev/null
+++ b/doc/man/man3/qmetaobject.3qt
@@ -0,0 +1,184 @@
+'\" t
+.TH QMetaObject 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMetaObject \- Meta information about Qt objects
+.SH SYNOPSIS
+\fC#include <qmetaobject.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "const char * \fBclassName\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBsuperClassName\fR () const"
+.br
+.ti -1c
+.BI "QMetaObject * \fBsuperClass\fR () const"
+.br
+.ti -1c
+.BI "bool \fBinherits\fR ( const char * clname ) const"
+.br
+.ti -1c
+.BI "int \fBnumSlots\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "int \fBnumSignals\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "QStrList \fBslotNames\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "QStrList \fBsignalNames\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "int \fBnumClassInfo\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "const QClassInfo * \fBclassInfo\fR ( int index, bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "const char * \fBclassInfo\fR ( const char * name, bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "const QMetaProperty * \fBproperty\fR ( int index, bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "int \fBfindProperty\fR ( const char * name, bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "QStrList \fBpropertyNames\fR ( bool super = FALSE ) const"
+.br
+.ti -1c
+.BI "int \fBnumProperties\fR ( bool super = FALSE ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMetaObject class contains meta information about Qt objects.
+.PP
+The Meta Object System in Qt is responsible for the signals and slots inter-object communication mechanism, runtime type information and the property system. All meta information in Qt is kept in a single instance of QMetaObject per class.
+.PP
+This class is not normally required for application programming. But if you write meta applications, such as scripting engines or GUI builders, you might find these functions useful:
+.TP
+className() to get the name of a class.
+.TP
+superClassName() to get the name of the superclass.
+.TP
+inherits(), the function called by QObject::inherits().
+.TP
+superClass() to access the superclass's meta object.
+.TP
+numSlots(), numSignals(), slotNames(), and signalNames() to get information about a class's signals and slots.
+.TP
+property() and propertyNames() to obtain information about a class's properties.
+.PP
+Classes may have a list of name-value pairs of class information. The number of pairs is returned by numClassInfo(), and values are returned by classInfo().
+.PP
+See also moc (Meta Object Compiler) and Object Model.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "const QClassInfo * QMetaObject::classInfo ( int index, bool super = FALSE ) const"
+Returns the class information with index \fIindex\fR or 0 if no such information exists.
+.PP
+If \fIsuper\fR is TRUE, inherited class information is included.
+.SH "const char * QMetaObject::classInfo ( const char * name, bool super = FALSE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the class information with name \fIname\fR or 0 if no such information exists.
+.PP
+If \fIsuper\fR is TRUE, inherited class information is included.
+.SH "const char * QMetaObject::className () const"
+Returns the class name.
+.PP
+See also QObject::className() and superClassName().
+.SH "int QMetaObject::findProperty ( const char * name, bool super = FALSE ) const"
+Returns the index for the property with name \fIname\fR or -1 if no such property exists.
+.PP
+If \fIsuper\fR is TRUE, inherited properties are included.
+.PP
+See also property() and propertyNames().
+.SH "bool QMetaObject::inherits ( const char * clname ) const"
+Returns TRUE if this class inherits \fIclname\fR within the meta object inheritance chain; otherwise returns FALSE.
+.PP
+(A class is considered to inherit itself.)
+.SH "int QMetaObject::numClassInfo ( bool super = FALSE ) const"
+Returns the number of items of class information available for this class.
+.PP
+If \fIsuper\fR is TRUE, inherited class information is included.
+.SH "int QMetaObject::numProperties ( bool super = FALSE ) const"
+Returns the number of properties for this class.
+.PP
+If \fIsuper\fR is TRUE, inherited properties are included.
+.PP
+See also propertyNames().
+.SH "int QMetaObject::numSignals ( bool super = FALSE ) const"
+Returns the number of signals for this class.
+.PP
+If \fIsuper\fR is TRUE, inherited signals are included.
+.PP
+See also signalNames().
+.SH "int QMetaObject::numSlots ( bool super = FALSE ) const"
+Returns the number of slots for this class.
+.PP
+If \fIsuper\fR is TRUE, inherited slots are included.
+.PP
+See also slotNames().
+.SH "const QMetaProperty * QMetaObject::property ( int index, bool super = FALSE ) const"
+Returns the property meta data for the property at index \fIindex\fR or 0 if no such property exists.
+.PP
+If \fIsuper\fR is TRUE, inherited properties are included.
+.PP
+See also propertyNames().
+.SH "QStrList QMetaObject::propertyNames ( bool super = FALSE ) const"
+Returns a list with the names of all this class's properties.
+.PP
+If \fIsuper\fR is TRUE, inherited properties are included.
+.PP
+See also property().
+.SH "QStrList QMetaObject::signalNames ( bool super = FALSE ) const"
+Returns a list with the names of all this class's signals.
+.PP
+If \fIsuper\fR is TRUE, inherited signals are included.
+.SH "QStrList QMetaObject::slotNames ( bool super = FALSE ) const"
+Returns a list with the names of all this class's slots.
+.PP
+If \fIsuper\fR is TRUE, inherited slots are included.
+.PP
+See also numSlots().
+.SH "QMetaObject * QMetaObject::superClass () const"
+Returns the meta object of the super class or 0 if there is no such object.
+.SH "const char * QMetaObject::superClassName () const"
+Returns the class name of the superclass or 0 if there is no superclass in the QObject hierachy.
+.PP
+See also className().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmetaobject.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmetaobject.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmetaproperty.3qt b/doc/man/man3/qmetaproperty.3qt
new file mode 100644
index 0000000..c432233
--- /dev/null
+++ b/doc/man/man3/qmetaproperty.3qt
@@ -0,0 +1,151 @@
+'\" t
+.TH QMetaProperty 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMetaProperty \- Stores meta data about a property
+.SH SYNOPSIS
+\fC#include <qmetaobject.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "const char * \fBtype\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBname\fR () const"
+.br
+.ti -1c
+.BI "bool \fBwritable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSetType\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEnumType\fR () const"
+.br
+.ti -1c
+.BI "QStrList \fBenumKeys\fR () const"
+.br
+.ti -1c
+.BI "int \fBkeyToValue\fR ( const char * key ) const"
+.br
+.ti -1c
+.BI "const char * \fBvalueToKey\fR ( int value ) const"
+.br
+.ti -1c
+.BI "int \fBkeysToValue\fR ( const QStrList & keys ) const"
+.br
+.ti -1c
+.BI "QStrList \fBvalueToKeys\fR ( int value ) const"
+.br
+.ti -1c
+.BI "bool \fBdesignable\fR ( QObject * o = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBscriptable\fR ( QObject * o = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBstored\fR ( QObject * o = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBreset\fR ( QObject * o ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMetaProperty class stores meta data about a property.
+.PP
+Property meta data includes type(), name(), and whether a property is writable(), designable() and stored().
+.PP
+The functions isSetType(), isEnumType() and enumKeys() provide further information about a property's type. The conversion functions keyToValue(), valueToKey(), keysToValue() and valueToKeys() allow conversion between the integer representation of an enumeration or set value and its literal representation.
+.PP
+Actual property values are set and received through QObject's set and get functions. See QObject::setProperty() and QObject::property() for details.
+.PP
+You receive meta property data through an object's meta object. See QMetaObject::property() and QMetaObject::propertyNames() for details.
+.PP
+See also Object Model.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QMetaProperty::designable ( QObject * o = 0 ) const"
+Returns TRUE if the property is designable for object \fIo\fR; otherwise returns FALSE.
+.PP
+If no object \fIo\fR is given, the function returns a static approximation.
+.SH "QStrList QMetaProperty::enumKeys () const"
+Returns the possible enumeration keys if this property is an enumeration type (or a set type).
+.PP
+See also isEnumType().
+.SH "bool QMetaProperty::isEnumType () const"
+Returns TRUE if the property's type is an enumeration value; otherwise returns FALSE.
+.PP
+See also isSetType() and enumKeys().
+.SH "bool QMetaProperty::isSetType () const"
+Returns TRUE if the property's type is an enumeration value that is used as set, i.e. if the enumeration values can be OR-ed together; otherwise returns FALSE. A set type is implicitly also an enum type.
+.PP
+See also isEnumType() and enumKeys().
+.SH "int QMetaProperty::keyToValue ( const char * key ) const"
+Converts the enumeration key \fIkey\fR to its integer value.
+.PP
+For set types, use keysToValue().
+.PP
+See also valueToKey(), isSetType(), and keysToValue().
+.SH "int QMetaProperty::keysToValue ( const QStrList & keys ) const"
+Converts the list of keys \fIkeys\fR to their combined (OR-ed) integer value.
+.PP
+See also isSetType() and valueToKey().
+.SH "const char * QMetaProperty::name () const"
+Returns the name of the property.
+.SH "bool QMetaProperty::reset ( QObject * o ) const"
+Tries to reset the property for object \fIo\fR with a reset method. On success, returns TRUE; otherwise returns FALSE.
+.PP
+Reset methods are optional, usually only a few properties support them.
+.SH "bool QMetaProperty::scriptable ( QObject * o = 0 ) const"
+Returns TRUE if the property is scriptable for object \fIo\fR; otherwise returns FALSE.
+.PP
+If no object \fIo\fR is given, the function returns a static approximation.
+.SH "bool QMetaProperty::stored ( QObject * o = 0 ) const"
+Returns TRUE if the property shall be stored for object \fIo\fR; otherwise returns FALSE.
+.PP
+If no object \fIo\fR is given, the function returns a static approximation.
+.SH "const char * QMetaProperty::type () const"
+Returns the type of the property.
+.SH "const char * QMetaProperty::valueToKey ( int value ) const"
+Converts the enumeration value \fIvalue\fR to its literal key.
+.PP
+For set types, use valueToKeys().
+.PP
+See also isSetType() and valueToKeys().
+.SH "QStrList QMetaProperty::valueToKeys ( int value ) const"
+Converts the set value \fIvalue\fR to a list of keys.
+.PP
+See also isSetType() and valueToKey().
+.SH "bool QMetaProperty::writable () const"
+Returns TRUE if the property is writable; otherwise returns FALSE.
+.PP
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmetaproperty.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmetaproperty.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmimesource.3qt b/doc/man/man3/qmimesource.3qt
new file mode 100644
index 0000000..9cad052
--- /dev/null
+++ b/doc/man/man3/qmimesource.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QMimeSource 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMimeSource \- Abstraction of objects which provide formatted data of a certain MIME type
+.SH SYNOPSIS
+\fC#include <qmime.h>\fR
+.PP
+Inherited by QDragObject and QDropEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMimeSource\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QMimeSource\fR ()"
+.br
+.ti -1c
+.BI "virtual const char * \fBformat\fR ( int i = 0 ) const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBprovides\fR ( const char * mimeType ) const"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBencodedData\fR ( const char * ) const = 0"
+.br
+.ti -1c
+.BI "int \fBserialNumber\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMimeSource class is an abstraction of objects which provide formatted data of a certain MIME type.
+.PP
+Drag-and-drop and clipboard use this abstraction.
+.PP
+See also IANA list of MIME media types, Drag And Drop Classes, Input/Output and Networking, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMimeSource::QMimeSource ()"
+Constructs a mime source and assigns a globally unique serial number to it.
+.PP
+See also serialNumber().
+.SH "QMimeSource::~QMimeSource ()\fC [virtual]\fR"
+Provided to ensure that subclasses destroy themselves correctly.
+.SH "QByteArray QMimeSource::encodedData ( const char * ) const\fC [pure virtual]\fR"
+Returns the encoded data of this object in the specified MIME format.
+.PP
+Subclasses must reimplement this function.
+.PP
+Reimplemented in QStoredDrag, QDropEvent, and QIconDrag.
+.SH "const char * QMimeSource::format ( int i = 0 ) const\fC [pure virtual]\fR"
+Returns the \fIi\fR-th supported MIME format, or 0.
+.PP
+Reimplemented in QDropEvent.
+.SH "bool QMimeSource::provides ( const char * mimeType ) const\fC [virtual]\fR"
+Returns TRUE if the object can provide the data in format \fImimeType\fR; otherwise returns FALSE.
+.PP
+If you inherit from QMimeSource, for consistency reasons it is better to implement the more abstract canDecode() functions such as QTextDrag::canDecode() and QImageDrag::canDecode().
+.PP
+Example: iconview/simple_dd/main.cpp.
+.PP
+Reimplemented in QDropEvent.
+.SH "int QMimeSource::serialNumber () const"
+Returns the mime source's globally unique serial number.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmimesource.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmimesource.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmimesourcefactory.3qt b/doc/man/man3/qmimesourcefactory.3qt
new file mode 100644
index 0000000..7cf8cf7
--- /dev/null
+++ b/doc/man/man3/qmimesourcefactory.3qt
@@ -0,0 +1,233 @@
+'\" t
+.TH QMimeSourceFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMimeSourceFactory \- Extensible provider of mime-typed data
+.SH SYNOPSIS
+\fC#include <qmime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMimeSourceFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QMimeSourceFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual const QMimeSource * \fBdata\fR ( const QString & abs_name ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBmakeAbsolute\fR ( const QString & abs_or_rel_name, const QString & context ) const"
+.br
+.ti -1c
+.BI "const QMimeSource * \fBdata\fR ( const QString & abs_or_rel_name, const QString & context ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & abs_name, const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBsetImage\fR ( const QString & abs_name, const QImage & image )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QString & abs_name, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QString & abs_name, QMimeSource * data )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFilePath\fR ( const QStringList & path )"
+.br
+.ti -1c
+.BI "virtual QStringList \fBfilePath\fR () const"
+.br
+.ti -1c
+.BI "void \fBaddFilePath\fR ( const QString & p )"
+.br
+.ti -1c
+.BI "virtual void \fBsetExtensionType\fR ( const QString & ext, const char * mimetype )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QMimeSourceFactory * \fBdefaultFactory\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDefaultFactory\fR ( QMimeSourceFactory * factory )"
+.br
+.ti -1c
+.BI "QMimeSourceFactory * \fBtakeDefaultFactory\fR ()"
+.br
+.ti -1c
+.BI "void \fBaddFactory\fR ( QMimeSourceFactory * f )"
+.br
+.ti -1c
+.BI "void \fBremoveFactory\fR ( QMimeSourceFactory * f )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMimeSourceFactory class is an extensible provider of mime-typed data.
+.PP
+A QMimeSourceFactory provides an abstract interface to a collection of information. Each piece of information is represented by a QMimeSource object which can be examined and converted to concrete data types by functions such as QImageDrag::canDecode() and QImageDrag::decode().
+.PP
+The base QMimeSourceFactory can be used in two ways: as an abstraction of a collection of files or as specifically stored data. For it to access files, call setFilePath() before accessing data. For stored data, call setData() for each item (there are also convenience functions, e.g. setText(), setImage() and setPixmap(), that simply call setData() with appropriate parameters).
+.PP
+The rich text widgets, QTextEdit and QTextBrowser, use QMimeSourceFactory to resolve references such as images or links within rich text documents. They either access the default factory (see defaultFactory()) or their own (see QTextEdit::setMimeSourceFactory()). Other classes that are capable of displaying rich text (such as QLabel, QWhatsThis or QMessageBox) always use the default factory.
+.PP
+A factory can also be used as a container to store data associated with a name. This technique is useful whenever rich text contains images that are stored in the program itself, not loaded from the hard disk. Your program may, for example, define some image data as:
+.PP
+.nf
+.br
+ static const char* myimage_data[]={
+.br
+ "...",
+.br
+ ...
+.br
+ "..."};
+.br
+.fi
+.PP
+To be able to use this image within some rich text, for example inside a QLabel, you must create a QImage from the raw data and insert it into the factory with a unique name:
+.PP
+.nf
+.br
+ QMimeSourceFactory::defaultFactory()->setImage( "myimage", QImage(myimage_data) );
+.br
+.fi
+.PP
+Now you can create a rich text QLabel with
+.PP
+.nf
+.br
+ QLabel* label = new QLabel(
+.br
+ "Rich text with embedded image:<img source=\\"myimage\\">"
+.br
+ "Isn't that <em>cute</em>?" );
+.br
+.fi
+.PP
+When no longer needed, you can clear the data from the factory:
+.PP
+.nf
+.br
+ delete label;
+.br
+ QMimeSourceFactory::defaultFactory()->setData( "myimage", 0 );
+.br
+.fi
+.PP
+See also Environment Classes and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMimeSourceFactory::QMimeSourceFactory ()"
+Constructs a QMimeSourceFactory that has no file path and no stored content.
+.SH "QMimeSourceFactory::~QMimeSourceFactory ()\fC [virtual]\fR"
+Destroys the QMimeSourceFactory, deleting all stored content.
+.SH "void QMimeSourceFactory::addFactory ( QMimeSourceFactory * f )\fC [static]\fR"
+Adds the QMimeSourceFactory \fIf\fR to the list of available mimesource factories. If the defaultFactory() can't resolve a data() it iterates over the list of installed mimesource factories until the data can be resolved.
+.PP
+See also removeFactory().
+.SH "void QMimeSourceFactory::addFilePath ( const QString & p )"
+Adds another search path, \fIp\fR to the existing search paths.
+.PP
+See also setFilePath().
+.SH "const QMimeSource * QMimeSourceFactory::data ( const QString & abs_name ) const\fC [virtual]\fR"
+Returns a reference to the data associated with \fIabs_name\fR. The return value remains valid only until the next data() or setData() call, so you should immediately decode the result.
+.PP
+If there is no data associated with \fIabs_name\fR in the factory's store, the factory tries to access the local filesystem. If \fIabs_name\fR isn't an absolute file name, the factory will search for it in all defined paths (see setFilePath()).
+.PP
+The factory understands all the image formats supported by QImageIO. Any other mime types are determined by the file name extension. The default settings are
+.PP
+.nf
+.br
+ setExtensionType("html", "text/html;charset=iso8859-1");
+.br
+ setExtensionType("htm", "text/html;charset=iso8859-1");
+.br
+ setExtensionType("txt", "text/plain");
+.br
+ setExtensionType("xml", "text/xml;charset=UTF-8");
+.br
+.fi
+The effect of these is that file names ending in "txt" will be treated as text encoded in the local encoding; those ending in" xml" will be treated as text encoded in Unicode UTF-8 encoding. The text/html type is treated specially, since the encoding can be specified in the html file itself. "html" or "htm" will be treated as text encoded in the encoding specified by the html meta tag, if none could be found, the charset of the mime type will be used. The text subtype ("html", "plain", or "xml") does not affect the factory, but users of the factory may behave differently. We recommend creating "xml" files where practical. These files can be viewed regardless of the runtime encoding and can encode any Unicode characters without resorting to encoding definitions inside the file.
+.PP
+Any file data that is not recognized will be retrieved as a QMimeSource providing the "application/octet-stream" mime type, meaning uninterpreted binary data.
+.PP
+You can add further extensions or change existing ones with subsequent calls to setExtensionType(). If the extension mechanism is not sufficient for your problem domain, you can inherit QMimeSourceFactory and reimplement this function to perform some more specialized mime-type detection. The same applies if you want to use the mime source factory to access URL referenced data over a network.
+.SH "const QMimeSource * QMimeSourceFactory::data ( const QString & abs_or_rel_name, const QString & context ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+A convenience function. See data(const QString& abs_name). The file name is given in \fIabs_or_rel_name\fR and the path is in \fIcontext\fR.
+.SH "QMimeSourceFactory * QMimeSourceFactory::defaultFactory ()\fC [static]\fR"
+Returns the application-wide default mime source factory. This factory is used by rich text rendering classes such as QSimpleRichText, QWhatsThis and QMessageBox to resolve named references within rich text documents. It serves also as the initial factory for the more complex render widgets, QTextEdit and QTextBrowser.
+.PP
+See also setDefaultFactory().
+.PP
+Examples:
+.)l action/application.cpp and application/application.cpp.
+.SH "QStringList QMimeSourceFactory::filePath () const\fC [virtual]\fR"
+Returns the currently set search paths.
+.SH "QString QMimeSourceFactory::makeAbsolute ( const QString & abs_or_rel_name, const QString & context ) const\fC [virtual]\fR"
+Converts the absolute or relative data item name \fIabs_or_rel_name\fR to an absolute name, interpreted within the context (path) of the data item named \fIcontext\fR (this must be an absolute name).
+.SH "void QMimeSourceFactory::removeFactory ( QMimeSourceFactory * f )\fC [static]\fR"
+Removes the mimesource factory \fIf\fR from the list of available mimesource factories.
+.PP
+See also addFactory().
+.SH "void QMimeSourceFactory::setData ( const QString & abs_name, QMimeSource * data )\fC [virtual]\fR"
+Sets \fIdata\fR to be the data item associated with the absolute name \fIabs_name\fR. Note that the ownership of \fIdata\fR is transferred to the factory: do not delete or access the pointer after passing it to this function.
+.PP
+Passing 0 for data removes previously stored data.
+.SH "void QMimeSourceFactory::setDefaultFactory ( QMimeSourceFactory * factory )\fC [static]\fR"
+Sets the default \fIfactory\fR, destroying any previously set mime source provider. The ownership of the factory is transferred to Qt.
+.PP
+See also defaultFactory().
+.SH "void QMimeSourceFactory::setExtensionType ( const QString & ext, const char * mimetype )\fC [virtual]\fR"
+Sets the mime-type to be associated with the file name extension, \fIext\fR to \fImimetype\fR. This determines the mime-type for files found via the paths set by setFilePath().
+.SH "void QMimeSourceFactory::setFilePath ( const QStringList & path )\fC [virtual]\fR"
+Sets the list of directories that will be searched when named data is requested to the those given in the string list \fIpath\fR.
+.PP
+See also filePath().
+.SH "void QMimeSourceFactory::setImage ( const QString & abs_name, const QImage & image )\fC [virtual]\fR"
+Sets \fIimage\fR to be the data item associated with the absolute name \fIabs_name\fR.
+.PP
+Equivalent to setData(abs_name, new QImageDrag(image)).
+.SH "void QMimeSourceFactory::setPixmap ( const QString & abs_name, const QPixmap & pixmap )\fC [virtual]\fR"
+Sets \fIpixmap\fR to be the data item associated with the absolute name \fIabs_name\fR.
+.SH "void QMimeSourceFactory::setText ( const QString & abs_name, const QString & text )\fC [virtual]\fR"
+Sets \fItext\fR to be the data item associated with the absolute name \fIabs_name\fR.
+.PP
+Equivalent to setData(abs_name, new QTextDrag(text)).
+.SH "QMimeSourceFactory * QMimeSourceFactory::takeDefaultFactory ()\fC [static]\fR"
+Sets the defaultFactory() to 0 and returns the previous one.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmimesourcefactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmimesourcefactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmotif.3qt b/doc/man/man3/qmotif.3qt
new file mode 100644
index 0000000..f0f67d4
--- /dev/null
+++ b/doc/man/man3/qmotif.3qt
@@ -0,0 +1,114 @@
+'\" t
+.TH QMotif 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMotif \- The basis of the
+.SH SYNOPSIS
+This class is part of the \fBQt Motif Extension\fR.
+.PP
+\fC#include <qmotif.h>\fR
+.PP
+Inherits QEventLoop.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMotif\fR ( const char * applicationClass, XtAppContext context = NULL, XrmOptionDescRec * options = 0, int numOptions = 0 )"
+.br
+.ti -1c
+.BI "\fB~QMotif\fR ()"
+.br
+.ti -1c
+.BI "XtAppContext \fBapplicationContext\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "Display * \fBx11Display\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Motif Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QMotif class provides the basis of the Motif Extension.
+.PP
+QMotif only provides a few public functions, but it is at the heart of the integration. QMotif is responsible for initializing the Xt toolkit and the Xt application context. It does not open a connection to the X server, that is done by QApplication.
+.PP
+The only member function in QMotif that depends on an X server connection is QMotif::initialize(). QMotif must be created before QApplication.
+.PP
+Example usage of QMotif and QApplication:
+.PP
+.nf
+.br
+ static char *resources[] = {
+.br
+ ...
+.br
+ };
+.br
+.br
+ int main(int argc, char **argv)
+.br
+ {
+.br
+ QMotif integrator( "AppClass" );
+.br
+ XtAppSetFallbackResources( integrator.applicationContext(),
+.br
+ resources );
+.br
+ QApplication app( argc, argv );
+.br
+.br
+ ...
+.br
+.br
+ return app.exec();
+.br
+ }
+.br
+.fi
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMotif::QMotif ( const char * applicationClass, XtAppContext context = NULL, XrmOptionDescRec * options = 0, int numOptions = 0 )"
+Creates QMotif, which allows Qt and Xt/Motif integration.
+.PP
+If \fIcontext\fR is 0, QMotif creates a default application context itself. The context is accessible through applicationContext().
+.PP
+All arguments passed to this function (\fIapplicationClass\fR, \fIoptions\fR and \fInumOptions\fR) are used to call XtDisplayInitialize() after QApplication has been constructed.
+.SH "QMotif::~QMotif ()"
+Destroys QMotif.
+.SH "XtAppContext QMotif::applicationContext () const"
+Returns the application context.
+.SH "Display * QMotif::x11Display ()\fC [static]\fR"
+Returns the X11 display connection used by the Qt Motif Extension.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmotif.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmotif.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmotifdialog.3qt b/doc/man/man3/qmotifdialog.3qt
new file mode 100644
index 0000000..96539cf
--- /dev/null
+++ b/doc/man/man3/qmotifdialog.3qt
@@ -0,0 +1,178 @@
+'\" t
+.TH QMotifDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMotifDialog \- The QDialog API for Motif-based dialogs
+.SH SYNOPSIS
+This class is part of the \fBQt Motif Extension\fR.
+.PP
+\fC#include <qmotifdialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum DialogType { Prompt, Selection, Command, FileSelection, Template, Error, Information, Message, Question, Warning, Working } \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QMotifDialog ( DialogType dialogtype, Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QMotifDialog ( Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQMotifDialog\fR ( Widget parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+.br
+.ti -1c
+.BI "\fBQMotifDialog\fR ( QWidget * parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QMotifDialog\fR ()"
+.br
+.ti -1c
+.BI "Widget \fBshell\fR () const"
+.br
+.ti -1c
+.BI "Widget \fBdialog\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBacceptCallback\fR ( Widget, XtPointer client_data, XtPointer )"
+.br
+.ti -1c
+.BI "void \fBrejectCallback\fR ( Widget, XtPointer client_data, XtPointer )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Motif Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QMotifDialog class provides the QDialog API for Motif-based dialogs.
+.PP
+QMotifDialog provides two separate modes of operation. The application programmer can use QMotifDialog with an existing Motif-based dialog and a QWidget parent, or the application programmer can use QMotifDialog with a custom Qt-based dialog and a Motif-based parent. Modality continues to work as expected.
+.PP
+Motif-based dialogs must have a \fCShell\fR widget parent with a single child, due to requirements of the Motif toolkit. The \fCShell\fR widget, which is a special subclass of \fCXmDialogShell\fR, is created during construction. It can be accessed using the shell() member function.
+.PP
+The single child of the \fCShell\fR can be accessed using the dialog() member function \fIafter\fR it has been created.
+.PP
+The acceptCallback() and rejectCallback() functions provide a convenient way to call QDialog::accept() and QDialog::reject() through callbacks. A pointer to the QMotifDialog should be passed as the \fCclient_data\fR argument to the callback.
+.PP
+The API and behavior QMotifDialog is identical to that of QDialog when using a custom Qt-based dialog with a Motif-based parent. The only difference is that a Motif-based \fIparent\fR argument is passed to the constructor, instead of a QWidget parent.
+.SS "Member Type Documentation"
+.SH "QMotifDialog::DialogType"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This enum lists the predefined Motif dialog types.
+.TP
+\fCQMotifDialog::Prompt\fR
+.TP
+\fCQMotifDialog::Selection\fR
+.TP
+\fCQMotifDialog::Command\fR
+.TP
+\fCQMotifDialog::FileSelection\fR
+.TP
+\fCQMotifDialog::Template\fR
+.TP
+\fCQMotifDialog::Error\fR
+.TP
+\fCQMotifDialog::Information\fR
+.TP
+\fCQMotifDialog::Message\fR
+.TP
+\fCQMotifDialog::Question\fR
+.TP
+\fCQMotifDialog::Warning\fR
+.TP
+\fCQMotifDialog::Working\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMotifDialog::QMotifDialog ( DialogType dialogtype, Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Creates a QMotifDialog using one of the predefined Motif dialog types. The \fIname\fR, \fImodal\fR and \fIflags\fR arguments are passed to the QDialog constructor.
+.PP
+This constructor creates a Shell widget, which is a special subclass of XmDialogShell. The \fIparent\fR, \fIargs\fR and \fIargcount\fR arguments are passed to XtCreatePopupShell() when creating the subclass. You can access the Shell widget with the shell() member function.
+.PP
+This constructor also creates the dialog widget with the Shell widget as its parent. The type of the dialog created is specified by the \fIdialogtype\fR argument. See the DialogType enum for a list of available dialog types. You can access the dialog widget with the dialog() member function.
+.PP
+\fBWarning:\fR QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.
+.PP
+See also DialogType, shell(), and dialog().
+.SH "QMotifDialog::QMotifDialog ( Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Creates a QMotifDialog which allows the application programmer to use the Motif-based \fIparent\fR for a custom QDialog. The \fIname\fR, \fImodal\fR and \fIflags\fR arguments are passed to the QDialog constructor.
+.PP
+This constructor creates a Shell widget, which is a special subclass of XmDialogShell. The \fIargs\fR and \fIargcount\fR arguments are passed to XtCreatePopupShell() when creating the subclass. You can access the Shell widget with the shell() member function.
+.PP
+The dialog widget is not created by the constructor. You must create the dialog widget as a child of the the widget returned by shell(). You can access the child widget with the dialog() member function.
+.PP
+A dialog widget is not created by this constructor. Instead, you should create the dialog widget as a child of this dialog. QMotifDialog will take ownership of your custom dialog, and you can access it with the dialog() member function.
+.PP
+\fBWarning:\fR QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.
+.PP
+See also shell() and dialog().
+.SH "QMotifDialog::QMotifDialog ( Widget parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+Creates a QMotifDialog which allows the application programmer to use the Motif-based \fIparent\fR for a custom QDialog. The \fIname\fR, \fImodal\fR and \fIflags\fR arguments are passed to the QDialog constructor.
+.PP
+This constructor creates a \fCShell\fR widget, which is a special subclass of \fCXmDialogShell\fR. You can access the \fCShell\fR widget with the shell() member function.
+.PP
+See also shell().
+.SH "QMotifDialog::QMotifDialog ( QWidget * parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )"
+Creates a QMotifDialog which allows the application programmer to use a QWidget parent for an existing Motif-based dialog. The \fIparent\fR, \fIname\fR, \fImodal\fR and \fIflags\fR arguments are passed to the QDialog constructor.
+.PP
+This constructor creates a \fCShell\fR widget, which is a special subclass of \fCXmDialogShell\fR. You can access the \fCShell\fR widget with the shell() member functon.
+.PP
+A dialog widget is not created by this constructor. Instead, you should create the dialog widget as a child of this dialog. QMotifDialog will take ownership of your custom dialog, and you can access it with the dialog() member function.
+.PP
+\fBWarning:\fR QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.
+.PP
+See also shell() and dialog().
+.SH "QMotifDialog::~QMotifDialog ()\fC [virtual]\fR"
+Destroys the QDialog, dialog widget and \fCShell\fR widget.
+.SH "void QMotifDialog::acceptCallback ( Widget, XtPointer client_data, XtPointer )\fC [static]\fR"
+Convenient Xt/Motif callback to accept the QMotifDialog.
+.PP
+The data is passed in \fIclient_data\fR.
+.SH "Widget QMotifDialog::dialog () const"
+Returns the Motif widget embedded in this dialog.
+.SH "void QMotifDialog::rejectCallback ( Widget, XtPointer client_data, XtPointer )\fC [static]\fR"
+Convenient Xt/Motif callback to reject the QMotifDialog.
+.PP
+The data is passed in \fIclient_data\fR.
+.SH "Widget QMotifDialog::shell () const"
+Returns the \fCShell\fR widget embedded in this dialog.
+.PP
+Example: dialog/mainwindow.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmotifdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmotifdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmotifplusstyle.3qt b/doc/man/man3/qmotifplusstyle.3qt
new file mode 100644
index 0000000..926daf1
--- /dev/null
+++ b/doc/man/man3/qmotifplusstyle.3qt
@@ -0,0 +1,59 @@
+'\" t
+.TH QMotifPlusStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMotifPlusStyle \- More sophisticated Motif-ish look and feel
+.SH SYNOPSIS
+\fC#include <qmotifplusstyle.h>\fR
+.PP
+Inherits QMotifStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMotifPlusStyle\fR ( bool hoveringHighlight = TRUE )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMotifPlusStyle class provides a more sophisticated Motif-ish look and feel.
+.PP
+This class implements a Motif-ish look and feel with the more sophisticated bevelling as used by the GIMP Toolkit (GTK+) for Unix/X11.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMotifPlusStyle::QMotifPlusStyle ( bool hoveringHighlight = TRUE )"
+Constructs a QMotifPlusStyle
+.PP
+If \fIhoveringHighlight\fR is TRUE (the default), then the style will
+not highlight push buttons, checkboxes, radiobuttons, comboboxes,
+scrollbars or sliders.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmotifplusstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmotifplusstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmotifstyle.3qt b/doc/man/man3/qmotifstyle.3qt
new file mode 100644
index 0000000..762bf7e
--- /dev/null
+++ b/doc/man/man3/qmotifstyle.3qt
@@ -0,0 +1,76 @@
+'\" t
+.TH QMotifStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMotifStyle \- Motif look and feel
+.SH SYNOPSIS
+\fC#include <qmotifstyle.h>\fR
+.PP
+Inherits QCommonStyle.
+.PP
+Inherited by QCDEStyle, QMotifPlusStyle, and QSGIStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMotifStyle\fR ( bool useHighlightCols = FALSE )"
+.br
+.ti -1c
+.BI "void \fBsetUseHighlightColors\fR ( bool arg )"
+.br
+.ti -1c
+.BI "bool \fBuseHighlightColors\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMotifStyle class provides Motif look and feel.
+.PP
+This class implements the Motif look and feel. It closely resembles the original Motif look as defined by the Open Group, but with some minor improvements. The Motif style is Qt's default GUI style on UNIX platforms.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMotifStyle::QMotifStyle ( bool useHighlightCols = FALSE )"
+Constructs a QMotifStyle.
+.PP
+If \fIuseHighlightCols\fR is FALSE (the default), the style will polish the application's color palette to emulate the Motif way of highlighting, which is a simple inversion between the base and the text color.
+.SH "void QMotifStyle::setUseHighlightColors ( bool arg )"
+If \fIarg\fR is FALSE, the style will polish the application's color palette to emulate the Motif way of highlighting, which is a simple inversion between the base and the text color.
+.PP
+The effect will show up the next time an application palette is set via QApplication::setPalette(). The current color palette of the application remains unchanged.
+.PP
+See also QStyle::polish().
+.SH "bool QMotifStyle::useHighlightColors () const"
+Returns TRUE if the style treats the highlight colors of the
+palette in a Motif-like manner, which is a simple inversion
+between the base and the text color; otherwise returns FALSE. The
+default is FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmotifstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmotifstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmotifwidget.3qt b/doc/man/man3/qmotifwidget.3qt
new file mode 100644
index 0000000..0249dfd
--- /dev/null
+++ b/doc/man/man3/qmotifwidget.3qt
@@ -0,0 +1,86 @@
+'\" t
+.TH QMotifWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMotifWidget \- The QWidget API for Xt/Motif widgets
+.SH SYNOPSIS
+This class is part of the \fBQt Motif Extension\fR.
+.PP
+\fC#include <qmotifwidget.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMotifWidget\fR ( QWidget * parent, WidgetClass widgetclass, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, WFlags flags = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QMotifWidget\fR ()"
+.br
+.ti -1c
+.BI "Widget \fBmotifWidget\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBx11Event\fR ( XEvent * event )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Motif Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QMotifWidget class provides the QWidget API for Xt/Motif widgets.
+.PP
+QMotifWidget exists to provide a QWidget that can act as a parent for any Xt/Motif widget. Since the QMotifWidget is a proper QWidget, it can be used as a top-level widget (e.g. 0 parent) or as a child of any other QWidget. Note: Since QMotifWidget acts as a parent for Xt/Motif widgets, you should not create QWidgets with a QMotifWidget parent.
+.PP
+An Xt/Motif widget with a top-level QMotifWidget parent can begin using the standard Qt dialogs and custom QDialogs while keeping the main Xt/Motif interface of the application. Using a QMotifWidget as the parent for the various QDialogs will ensure that modality and stacking works properly throughout the entire application.
+.PP
+Applications moving to Qt may have custom Xt/Motif widgets that will take time to rewrite with Qt. Such applications can use these custom widgets as QMotifWidget with QWidget parents. This allows the application's interface to be replaced gradually.
+.PP
+\fBWarning:\fR QMotifWidget uses the X11 window ID of the Motif widget directly, instead of creating its own. Because ot this, QWidget::reparent() will not work. This includes the functions QWidget::showFullScreen() and QWidget::showNormal(), which use QWidget::reparent().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMotifWidget::QMotifWidget ( QWidget * parent, WidgetClass widgetclass, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, WFlags flags = 0 )"
+Creates a QMotifWidget of the given \fIwidgetclass\fR as a child of \fIparent\fR, with the name \fIname\fR and widget flags \fIflags\fR.
+.PP
+The \fIargs\fR and \fIargcount\fR arguments are passed on to XtCreateWidget.
+.PP
+The motifWidget() function returns the resulting Xt/Motif widget. This widget can be used as a parent for any other Xt/Motif widget.
+.PP
+If \fIparent\fR is a QMotifWidget, the Xt/Motif widget is created as a child of the parent's motifWidget(). If &#92; parent is 0 or a normal QWidget, the Xt/Motif widget is created as a child of a special TopLevelShell widget. Xt/Motif widgets can use this special TopLevelShell parent as the parent for existing Xt/Motif dialogs or QMotifDialogs.
+.SH "QMotifWidget::~QMotifWidget ()\fC [virtual]\fR"
+Destroys the QMotifWidget. The special TopLevelShell is also destroyed, if it was created during construction.
+.SH "Widget QMotifWidget::motifWidget () const"
+Returns the embedded Xt/Motif widget. If a Shell widget was
+created by the constructor, you can access it with XtParent().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmotifwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmotifwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmousedriverfactory.3qt b/doc/man/man3/qmousedriverfactory.3qt
new file mode 100644
index 0000000..0efcc3f
--- /dev/null
+++ b/doc/man/man3/qmousedriverfactory.3qt
@@ -0,0 +1,59 @@
+'\" t
+.TH QMouseDriverFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMouseDriverFactory \- Creates QWSMouseHandler objects for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qmousedriverfactory_qws.h>\fR
+.PP
+.SS "Static Public Members"
+<li class=fn>QStringList \fBkeys\fR () <li class=fn>QWSMouseHandler * \fBcreate\fR ( const QString & key, const QString & device )
+.SH DESCRIPTION
+The QMouseDriverFactory class creates QWSMouseHandler objects for Qt/Embedded.
+.PP
+The graphics driver factory creates a QWSMouseHandler object for a given key with QMouseDriverFactory::create(key).
+.PP
+The drivers are either built-in or dynamically loaded from a driver plugin (see QMouseDriverPlugin).
+.PP
+This class is only available in Qt/Embedded.
+.PP
+QMouseDriverFactory::keys() returns a list of valid keys.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSMouseHandler * QMouseDriverFactory::create ( const QString & key, const QString & device )\fC [static]\fR"
+Creates a QWSMouseHandler object that matches \fIkey\fR and uses device \fIdevice\fR. This is either a built-in driver, or a driver from a driver plugin.
+.PP
+See also keys().
+.SH "QStringList QMouseDriverFactory::keys ()\fC [static]\fR"
+Returns the list of keys this factory can create drivers for.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmousedriverfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmousedriverfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmousedriverplugin.3qt b/doc/man/man3/qmousedriverplugin.3qt
new file mode 100644
index 0000000..ad2e3c5
--- /dev/null
+++ b/doc/man/man3/qmousedriverplugin.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QMouseDriverPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMouseDriverPlugin \- Abstract base for Qt/Embedded mouse driver plugins
+.SH SYNOPSIS
+\fC#include <qmousedriverplugin_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMouseDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QMouseDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QWSMouseHandler * \fBcreate\fR ( const QString & driver, const QString & device ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMouseDriverPlugin class provides an abstract base for Qt/Embedded mouse driver plugins.
+.PP
+The mouse driver plugin is a simple plugin interface that makes it easy to create custom mouse drivers.
+.PP
+Writing a mouse driver plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and create(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the Plugins documentation for details.
+.PP
+This class is only available in Qt/Embedded.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMouseDriverPlugin::QMouseDriverPlugin ()"
+Constructs a mouse driver plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QMouseDriverPlugin::~QMouseDriverPlugin ()"
+Destroys the mouse driver plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QWSMouseHandler * QMouseDriverPlugin::create ( const QString & driver, const QString & device )\fC [pure virtual]\fR"
+Creates a driver matching the type specified by \fIdriver\fR and which uses device \fIdevice\fR.
+.PP
+See also keys().
+.SH "QStringList QMouseDriverPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of mouse drivers this plugin supports.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmousedriverplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmousedriverplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmouseevent.3qt b/doc/man/man3/qmouseevent.3qt
new file mode 100644
index 0000000..9b9806c
--- /dev/null
+++ b/doc/man/man3/qmouseevent.3qt
@@ -0,0 +1,199 @@
+'\" t
+.TH QMouseEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMouseEvent \- Parameters that describe a mouse event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMouseEvent\fR ( Type type, const QPoint & pos, int button, int state )"
+.br
+.ti -1c
+.BI "\fBQMouseEvent\fR ( Type type, const QPoint & pos, const QPoint & globalPos, int button, int state )"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBglobalPos\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalX\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalY\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBbutton\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstateAfter\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMouseEvent class contains parameters that describe a mouse event.
+.PP
+Mouse events occur when a mouse button is pressed or released inside a widget or when the mouse cursor is moved.
+.PP
+Mouse move events will occur only when a mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().
+.PP
+Qt automatically grabs the mouse when a mouse button is pressed inside a widget; the widget will continue to receive mouse events until the last mouse button is released.
+.PP
+A mouse event contains a special accept flag that indicates whether the receiver wants the event. You should call QMouseEvent::ignore() if the mouse event is not handled by your widget. A mouse event is propagated up the parent widget chain until a widget accepts it with QMouseEvent::accept() or an event filter consumes it.
+.PP
+The functions pos(), x() and y() give the cursor position relative to the widget that receives the mouse event. If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.
+.PP
+The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
+.PP
+The event handlers QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent() and QWidget::mouseMoveEvent() receive mouse events.
+.PP
+See also QWidget::mouseTracking, QWidget::grabMouse(), QCursor::pos(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMouseEvent::QMouseEvent ( Type type, const QPoint & pos, int button, int state )"
+Constructs a mouse event object.
+.PP
+The \fItype\fR parameter must be one of QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick or QEvent::MouseMove.
+.PP
+The \fIpos\fR parameter specifies the position relative to the receiving widget. \fIbutton\fR specifies the button that caused the event, which should be Qt::NoButton (0), if \fItype\fR is MouseMove. \fIstate\fR is the ButtonState at the time of the event.
+.PP
+The globalPos() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.
+.SH "QMouseEvent::QMouseEvent ( Type type, const QPoint & pos, const QPoint & globalPos, int button, int state )"
+Constructs a mouse event object.
+.PP
+The \fItype\fR parameter must be QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick or QEvent::MouseMove.
+.PP
+The \fIpos\fR parameter specifies the position relative to the receiving widget. \fIglobalPos\fR is the position in absolute coordinates. \fIbutton\fR specifies the button that caused the event, which should be Qt::NoButton (0), if \fItype\fR is MouseMove. \fIstate\fR is the ButtonState at the time of the event.
+.SH "void QMouseEvent::accept ()"
+Sets the accept flag of the mouse event object.
+.PP
+Setting the accept parameter indicates that the receiver of the event wants the mouse event. Unwanted mouse events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also ignore().
+.SH "ButtonState QMouseEvent::button () const"
+Returns the button that caused the event.
+.PP
+Possible return values are LeftButton, RightButton, MidButton and NoButton.
+.PP
+Note that the returned value is always NoButton for mouse move events.
+.PP
+See also state() and Qt::ButtonState.
+.PP
+Examples:
+.)l dclock/dclock.cpp, life/life.cpp, and t14/cannon.cpp.
+.SH "const QPoint & QMouseEvent::globalPos () const"
+Returns the global position of the mouse pointer \fIat the time of the event\fR. This is important on asynchronous window systems like X11. Whenever you move your widgets around in response to mouse events, globalPos() may differ a lot from the current pointer position QCursor::pos(), and from QWidget::mapToGlobal( pos() ).
+.PP
+See also globalX() and globalY().
+.PP
+Example: aclock/aclock.cpp.
+.SH "int QMouseEvent::globalX () const"
+Returns the global x-position of the mouse pointer at the time of the event.
+.PP
+See also globalY() and globalPos().
+.SH "int QMouseEvent::globalY () const"
+Returns the global y-position of the mouse pointer at the time of the event.
+.PP
+See also globalX() and globalPos().
+.SH "void QMouseEvent::ignore ()"
+Clears the accept flag parameter of the mouse event object.
+.PP
+Clearing the accept parameter indicates that the event receiver does not want the mouse event. Unwanted mouse events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also accept().
+.SH "bool QMouseEvent::isAccepted () const"
+Returns TRUE if the receiver of the event wants to keep the key; otherwise returns FALSE.
+.SH "const QPoint & QMouseEvent::pos () const"
+Returns the position of the mouse pointer relative to the widget that received the event.
+.PP
+If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.
+.PP
+See also x(), y(), and globalPos().
+.PP
+Examples:
+.)l chart/canvasview.cpp, drawlines/connect.cpp, life/life.cpp, popup/popup.cpp, qmag/qmag.cpp, t14/cannon.cpp, and tooltip/tooltip.cpp.
+.SH "ButtonState QMouseEvent::state () const"
+Returns the button state (a combination of mouse buttons and keyboard modifiers), i.e. what buttons and keys were being pressed immediately before the event was generated.
+.PP
+This means that if you have a QEvent::MouseButtonPress or a QEvent::MouseButtonDblClick state() will \fInot\fR include the mouse button that's pressed. But once the mouse button has been released, the QEvent::MouseButtonRelease event will have the button() that was pressed.
+.PP
+This value is mainly interesting for QEvent::MouseMove; for the other cases, button() is more useful.
+.PP
+The returned value is LeftButton, RightButton, MidButton, ShiftButton, ControlButton and AltButton OR'ed together.
+.PP
+See also button(), stateAfter(), and Qt::ButtonState.
+.PP
+Examples:
+.)l popup/popup.cpp and showimg/showimg.cpp.
+.SH "ButtonState QMouseEvent::stateAfter () const"
+Returns the state of buttons after the event.
+.PP
+See also state() and Qt::ButtonState.
+.SH "int QMouseEvent::x () const"
+Returns the x-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also y() and pos().
+.PP
+Example: showimg/showimg.cpp.
+.SH "int QMouseEvent::y () const"
+Returns the y-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also x() and pos().
+.PP
+Example: showimg/showimg.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmouseevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmouseevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmoveevent.3qt b/doc/man/man3/qmoveevent.3qt
new file mode 100644
index 0000000..f34c388
--- /dev/null
+++ b/doc/man/man3/qmoveevent.3qt
@@ -0,0 +1,68 @@
+'\" t
+.TH QMoveEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMoveEvent \- Event parameters for move events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMoveEvent\fR ( const QPoint & pos, const QPoint & oldPos )"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBoldPos\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMoveEvent class contains event parameters for move events.
+.PP
+Move events are sent to widgets that have been moved to a new position relative to their parent.
+.PP
+The event handler QWidget::moveEvent() receives move events.
+.PP
+See also QWidget::pos, QWidget::geometry, and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMoveEvent::QMoveEvent ( const QPoint & pos, const QPoint & oldPos )"
+Constructs a move event with the new and old widget positions, \fIpos\fR and \fIoldPos\fR respectively.
+.SH "const QPoint & QMoveEvent::oldPos () const"
+Returns the old position of the widget.
+.SH "const QPoint & QMoveEvent::pos () const"
+Returns the new position of the widget. This excludes the window
+frame for top level widgets.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmoveevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmoveevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmovie.3qt b/doc/man/man3/qmovie.3qt
new file mode 100644
index 0000000..2d42419
--- /dev/null
+++ b/doc/man/man3/qmovie.3qt
@@ -0,0 +1,322 @@
+'\" t
+.TH QMovie 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMovie \- Incremental loading of animations or images, signalling as it progresses
+.SH SYNOPSIS
+\fC#include <qmovie.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMovie\fR ()"
+.br
+.ti -1c
+.BI "\fBQMovie\fR ( int bufsize )"
+.br
+.ti -1c
+.BI "\fBQMovie\fR ( QDataSource * src, int bufsize = 1024 )"
+.br
+.ti -1c
+.BI "\fBQMovie\fR ( const QString & fileName, int bufsize = 1024 )"
+.br
+.ti -1c
+.BI "\fBQMovie\fR ( QByteArray data, int bufsize = 1024 )"
+.br
+.ti -1c
+.BI "\fBQMovie\fR ( const QMovie & movie )"
+.br
+.ti -1c
+.BI "\fB~QMovie\fR ()"
+.br
+.ti -1c
+.BI "QMovie & \fBoperator=\fR ( const QMovie & movie )"
+.br
+.ti -1c
+.BI "int \fBpushSpace\fR () const"
+.br
+.ti -1c
+.BI "void \fBpushData\fR ( const uchar * data, int length )"
+.br
+.ti -1c
+.BI "const QColor & \fBbackgroundColor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBackgroundColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "const QRect & \fBgetValidRect\fR () const"
+.br
+.ti -1c
+.BI "const QPixmap & \fBframePixmap\fR () const"
+.br
+.ti -1c
+.BI "const QImage & \fBframeImage\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "int \fBframeNumber\fR () const"
+.br
+.ti -1c
+.BI "int \fBsteps\fR () const"
+.br
+.ti -1c
+.BI "bool \fBpaused\fR () const"
+.br
+.ti -1c
+.BI "bool \fBfinished\fR () const"
+.br
+.ti -1c
+.BI "bool \fBrunning\fR () const"
+.br
+.ti -1c
+.BI "void \fBunpause\fR ()"
+.br
+.ti -1c
+.BI "void \fBpause\fR ()"
+.br
+.ti -1c
+.BI "void \fBstep\fR ()"
+.br
+.ti -1c
+.BI "void \fBstep\fR ( int steps )"
+.br
+.ti -1c
+.BI "void \fBrestart\fR ()"
+.br
+.ti -1c
+.BI "int \fBspeed\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSpeed\fR ( int percent )"
+.br
+.ti -1c
+.BI "void \fBconnectResize\fR ( QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "void \fBdisconnectResize\fR ( QObject * receiver, const char * member = 0 )"
+.br
+.ti -1c
+.BI "void \fBconnectUpdate\fR ( QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "void \fBdisconnectUpdate\fR ( QObject * receiver, const char * member = 0 )"
+.br
+.ti -1c
+.BI "enum \fBStatus\fR { SourceEmpty = -2, UnrecognizedFormat = -1, Paused = 1, EndOfFrame = 2, EndOfLoop = 3, EndOfMovie = 4, SpeedChanged = 5 }"
+.br
+.ti -1c
+.BI "void \fBconnectStatus\fR ( QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "void \fBdisconnectStatus\fR ( QObject * receiver, const char * member = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMovie class provides incremental loading of animations or images, signalling as it progresses.
+.PP
+The simplest way to display a QMovie is to use a QLabel and QLabel::setMovie().
+.PP
+A QMovie provides a QPixmap as the framePixmap(); connections can be made via connectResize() and connectUpdate() to receive notification of size and pixmap changes. All decoding is driven by the normal event-processing mechanisms.
+.PP
+The movie begins playing as soon as the QMovie is created (actually, once control returns to the event loop). When the last frame in the movie has been played, it may loop back to the start if such looping is defined in the input source.
+.PP
+QMovie objects are explicitly shared. This means that a QMovie copied from another QMovie will be displaying the same frame at all times. If one shared movie pauses, all pause. To make \fIindependent\fR movies, they must be constructed separately.
+.PP
+The set of data formats supported by QMovie is determined by the decoder factories that have been installed; the format of the input is determined as the input is decoded.
+.PP
+The supported formats are MNG (if Qt is configured with MNG support enabled) and GIF (if Qt is configured with GIF support enabled, see qgif.h).
+.PP
+If Qt is configured to support GIF reading, we are required to state that "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated.
+.PP
+\fBWarning:\fR If you are in a country that recognizes software patents and in which Unisys holds a patent on LZW compression and/or decompression and you want to use GIF, Unisys may require you to license that technology. Such countries include Canada, Japan, the USA, France, Germany, Italy and the UK.
+.PP
+GIF support may be removed completely in a future version of Qt. We recommend using the MNG or PNG format.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QLabel::setMovie(), Graphics Classes, Image Processing Classes, and Multimedia Classes.
+.SS "Member Type Documentation"
+.SH "QMovie::Status"
+.TP
+\fCQMovie::SourceEmpty\fR
+.TP
+\fCQMovie::UnrecognizedFormat\fR
+.TP
+\fCQMovie::Paused\fR
+.TP
+\fCQMovie::EndOfFrame\fR
+.TP
+\fCQMovie::EndOfLoop\fR
+.TP
+\fCQMovie::EndOfMovie\fR
+.TP
+\fCQMovie::SpeedChanged\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMovie::QMovie ()"
+Constructs a null QMovie. The only interesting thing to do with such a movie is to assign another movie to it.
+.PP
+See also isNull().
+.SH "QMovie::QMovie ( int bufsize )"
+Constructs a QMovie with an external data source. You should later call pushData() to send incoming animation data to the movie.
+.PP
+The \fIbufsize\fR argument sets the maximum amount of data the movie will transfer from the data source per event loop. The lower this value, the better interleaved the movie playback will be with other event processing, but the slower the overall processing will be.
+.PP
+See also pushData().
+.SH "QMovie::QMovie ( QDataSource * src, int bufsize = 1024 )"
+Constructs a QMovie that reads an image sequence from the given data source, \fIsrc\fR. The source must be allocated dynamically, because QMovie will take ownership of it and will destroy it when the movie is destroyed. The movie starts playing as soon as event processing continues.
+.PP
+The \fIbufsize\fR argument sets the maximum amount of data the movie will transfer from the data source per event loop. The lower this value, the better interleaved the movie playback will be with other event processing, but the slower the overall processing will be.
+.SH "QMovie::QMovie ( const QString & fileName, int bufsize = 1024 )"
+Constructs a QMovie that reads an image sequence from the file, \fIfileName\fR.
+.PP
+The \fIbufsize\fR argument sets the maximum amount of data the movie will transfer from the data source per event loop. The lower this value, the better interleaved the movie playback will be with other event processing, but the slower the overall processing will be.
+.SH "QMovie::QMovie ( QByteArray data, int bufsize = 1024 )"
+Constructs a QMovie that reads an image sequence from the byte array, \fIdata\fR.
+.PP
+The \fIbufsize\fR argument sets the maximum amount of data the movie will transfer from the data source per event loop. The lower this value, the better interleaved the movie playback will be with other event processing, but the slower the overall processing will be.
+.SH "QMovie::QMovie ( const QMovie & movie )"
+Constructs a movie that uses the same data as movie \fImovie\fR. QMovies use explicit sharing, so operations on the copy will affect both.
+.SH "QMovie::~QMovie ()"
+Destroys the QMovie. If this is the last reference to the data of the movie, the data is deallocated.
+.SH "const QColor & QMovie::backgroundColor () const"
+Returns the background color of the movie set by setBackgroundColor().
+.SH "void QMovie::connectResize ( QObject * receiver, const char * member )"
+Connects the \fIreceiver\fR's \fImember\fR of type \fCvoid member(const QSize&)\fR so that it is signalled when the movie changes size.
+.PP
+Note that due to the explicit sharing of QMovie objects, these connections persist until they are explicitly disconnected with disconnectResize() or until \fIevery\fR shared copy of the movie is deleted.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::connectStatus ( QObject * receiver, const char * member )"
+Connects the \fIreceiver\fR's \fImember\fR, of type \fCvoid member(int)\fR so that it is signalled when the movie changes status. The status codes are negative for errors and positive for information.
+.PP
+<center>.nf
+.TS
+l - l. Status Code Meaning QMovie::SourceEmpty signalled if the input cannot be read. QMovie::UnrecognizedFormat signalled if the input data is unrecognized. QMovie::Paused signalled when the movie is paused by a call to paused() or by after stepping pauses. QMovie::EndOfFrame signalled at end-of-frame after any update and Paused signals. QMovie::EndOfLoop signalled at end-of-loop, after any update signals, EndOfFrame - but before EndOfMovie. QMovie::EndOfMovie
+.TE
+.fi
+</center>
+.PP
+More status messages may be added in the future, so a general test for errors would test for negative.
+.PP
+Note that due to the explicit sharing of QMovie objects, these connections persist until they are explicitly disconnected with disconnectStatus() or until \fIevery\fR shared copy of the movie is deleted.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::connectUpdate ( QObject * receiver, const char * member )"
+Connects the \fIreceiver\fR's \fImember\fR of type \fCvoid member(const QRect&)\fR so that it is signalled when an area of the framePixmap() has changed since the previous frame.
+.PP
+Note that due to the explicit sharing of QMovie objects, these connections persist until they are explicitly disconnected with disconnectUpdate() or until \fIevery\fR shared copy of the movie is deleted.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::disconnectResize ( QObject * receiver, const char * member = 0 )"
+Disconnects the \fIreceiver\fR's \fImember\fR (or all members if \fImember\fR is zero) that were previously connected by connectResize().
+.SH "void QMovie::disconnectStatus ( QObject * receiver, const char * member = 0 )"
+Disconnects the \fIreceiver\fR's \fImember\fR (or all members if \fImember\fR is zero) that were previously connected by connectStatus().
+.SH "void QMovie::disconnectUpdate ( QObject * receiver, const char * member = 0 )"
+Disconnects the \fIreceiver\fR's \fImember\fR (or all members if \\q member is zero) that were previously connected by connectUpdate().
+.SH "bool QMovie::finished () const"
+Returns TRUE if the image is no longer playing: this happens when all loops of all frames are complete; otherwise returns FALSE.
+.PP
+Example: movies/main.cpp.
+.SH "const QImage & QMovie::frameImage () const"
+Returns the current frame of the movie, as a QImage. It is not generally useful to keep a copy of this image. Also note that you must not call this function if the movie is finished(), since by then the image will not be available.
+.PP
+See also framePixmap().
+.SH "int QMovie::frameNumber () const"
+Returns the number of times EndOfFrame has been emitted since the start of the current loop of the movie. Thus, before any EndOfFrame has been emitted the value will be 0; within slots processing the first signal, frameNumber() will be 1, and so on.
+.SH "const QPixmap & QMovie::framePixmap () const"
+Returns the current frame of the movie, as a QPixmap. It is not generally useful to keep a copy of this pixmap. It is better to keep a copy of the QMovie and get the framePixmap() only when needed for drawing.
+.PP
+See also frameImage().
+.PP
+Example: movies/main.cpp.
+.SH "const QRect & QMovie::getValidRect () const"
+Returns the area of the pixmap for which pixels have been generated.
+.SH "bool QMovie::isNull () const"
+Returns TRUE if the movie is null; otherwise returns FALSE.
+.SH "QMovie & QMovie::operator= ( const QMovie & movie )"
+Makes this movie use the same data as movie \fImovie\fR. QMovies use explicit sharing.
+.SH "void QMovie::pause ()"
+Pauses the progress of the animation.
+.PP
+See also unpause().
+.PP
+Example: movies/main.cpp.
+.SH "bool QMovie::paused () const"
+Returns TRUE if the image is paused; otherwise returns FALSE.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::pushData ( const uchar * data, int length )"
+Pushes \fIlength\fR bytes from \fIdata\fR into the movie. \fIlength\fR must be no more than the amount returned by pushSpace() since the previous call to pushData().
+.SH "int QMovie::pushSpace () const"
+Returns the maximum amount of data that can currently be pushed into the movie by a call to pushData(). This is affected by the initial buffer size, but varies as the movie plays and data is consumed.
+.SH "void QMovie::restart ()"
+Rewinds the movie to the beginning. If the movie has not been paused, it begins playing again.
+.PP
+Example: movies/main.cpp.
+.SH "bool QMovie::running () const"
+Returns TRUE if the image is not single-stepping, not paused, and not finished; otherwise returns FALSE.
+.SH "void QMovie::setBackgroundColor ( const QColor & c )"
+Sets the background color of the pixmap to \fIc\fR. If the background color isValid(), the pixmap will never have a mask because the background color will be used in transparent regions of the image.
+.PP
+See also backgroundColor().
+.SH "void QMovie::setSpeed ( int percent )"
+Sets the movie's play speed as a percentage, to \fIpercent\fR. This is a percentage of the speed dictated by the input data format. The default is 100 percent.
+.SH "int QMovie::speed () const"
+Returns the movie's play speed as a percentage. The default is 100 percent.
+.PP
+See also setSpeed().
+.SH "void QMovie::step ()"
+Steps forward 1 frame and then pauses.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::step ( int steps )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Steps forward, showing \fIsteps\fR frames, and then pauses.
+.SH "int QMovie::steps () const"
+Returns the number of steps remaining after a call to step(). If the movie is paused, steps() returns 0. If it's running normally or is finished, steps() returns a negative number.
+.PP
+Example: movies/main.cpp.
+.SH "void QMovie::unpause ()"
+Unpauses the progress of the animation.
+.PP
+See also pause().
+.PP
+Example: movies/main.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmovie.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmovie.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmutex.3qt b/doc/man/man3/qmutex.3qt
new file mode 100644
index 0000000..3536329
--- /dev/null
+++ b/doc/man/man3/qmutex.3qt
@@ -0,0 +1,213 @@
+'\" t
+.TH QMutex 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMutex \- Access serialization between threads
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qmutex.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMutex\fR ( bool recursive = FALSE )"
+.br
+.ti -1c
+.BI "virtual \fB~QMutex\fR ()"
+.br
+.ti -1c
+.BI "void \fBlock\fR ()"
+.br
+.ti -1c
+.BI "void \fBunlock\fR ()"
+.br
+.ti -1c
+.BI "bool \fBlocked\fR ()"
+.br
+.ti -1c
+.BI "bool \fBtryLock\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMutex class provides access serialization between threads.
+.PP
+The purpose of a QMutex is to protect an object, data structure or section of code so that only one thread can access it at a time (This is similar to the Java \fCsynchronized\fR keyword). For example, say there is a method which prints a message to the user on two lines:
+.PP
+.nf
+.br
+ int number = 6;
+.br
+.br
+ void method1()
+.br
+ {
+.br
+ number *= 5;
+.br
+ number /= 4;
+.br
+ }
+.br
+.br
+ void method2()
+.br
+ {
+.br
+ number *= 3;
+.br
+ number /= 2;
+.br
+ }
+.br
+.fi
+.PP
+If these two methods are called in succession, the following happens:
+.PP
+.nf
+.br
+ // method1()
+.br
+ number *= 5; // number is now 30
+.br
+ number /= 4; // number is now 7
+.br
+.br
+ // method2()
+.br
+ number *= 3; // nubmer is now 21
+.br
+ number /= 2; // number is now 10
+.br
+.fi
+.PP
+If these two methods are called simultaneously from two threads then the following sequence could result:
+.PP
+.nf
+.br
+ // Thread 1 calls method1()
+.br
+ number *= 5; // number is now 30
+.br
+.br
+ // Thread 2 calls method2().
+.br
+ //
+.br
+ // Most likely Thread 1 has been put to sleep by the operating
+.br
+ // system to allow Thread 2 to run.
+.br
+ number *= 3; // number is now 90
+.br
+ number /= 2; // number is now 45
+.br
+.br
+ // Thread 1 finishes executing.
+.br
+ number /= 4; // number is now 11, instead of 10
+.br
+.fi
+.PP
+If we add a mutex, we should get the result we want:
+.PP
+.nf
+.br
+ QMutex mutex;
+.br
+ int number = 6;
+.br
+.br
+ void method1()
+.br
+ {
+.br
+ mutex.lock();
+.br
+ number *= 5;
+.br
+ number /= 4;
+.br
+ mutex.unlock();
+.br
+ }
+.br
+.br
+ void method2()
+.br
+ {
+.br
+ mutex.lock();
+.br
+ number *= 3;
+.br
+ number /= 2;
+.br
+ mutex.unlock();
+.br
+ }
+.br
+.fi
+.PP
+Then only one thread can modify \fCnumber\fR at any given time and the result is correct. This is a trivial example, of course, but applies to any other case where things need to happen in a particular sequence.
+.PP
+When you call lock() in a thread, other threads that try to call lock() in the same place will block until the thread that got the lock calls unlock(). A non-blocking alternative to lock() is tryLock().
+.PP
+See also Environment Classes and Threading.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMutex::QMutex ( bool recursive = FALSE )"
+Constructs a new mutex. The mutex is created in an unlocked state. A recursive mutex is created if \fIrecursive\fR is TRUE; a normal mutex is created if \fIrecursive\fR is FALSE (the default). With a recursive mutex, a thread can lock the same mutex multiple times and it will not be unlocked until a corresponding number of unlock() calls have been made.
+.SH "QMutex::~QMutex ()\fC [virtual]\fR"
+Destroys the mutex.
+.PP
+\fBWarning:\fR If you destroy a mutex that still holds a lock the resultant behavior is undefined.
+.SH "void QMutex::lock ()"
+Attempt to lock the mutex. If another thread has locked the mutex then this call will \fIblock\fR until that thread has unlocked it.
+.PP
+See also unlock() and locked().
+.SH "bool QMutex::locked ()"
+Returns TRUE if the mutex is locked by another thread; otherwise returns FALSE.
+.PP
+\fBWarning:\fR Due to differing implementations of recursive mutexes on various platforms, calling this function from the same thread that previously locked the mutex will return undefined results.
+.PP
+See also lock() and unlock().
+.SH "bool QMutex::tryLock ()"
+Attempt to lock the mutex. If the lock was obtained, this function returns TRUE. If another thread has locked the mutex, this function returns FALSE, instead of waiting for the mutex to become available, i.e. it does not block.
+.PP
+If the lock was obtained, the mutex must be unlocked with unlock() before another thread can successfully lock it.
+.PP
+See also lock(), unlock(), and locked().
+.SH "void QMutex::unlock ()"
+Unlocks the mutex. Attempting to unlock a mutex in a different thread to the one that locked it results in an error. Unlocking a mutex that is not locked results in undefined behaviour (varies between different Operating Systems' thread implementations).
+.PP
+See also lock() and locked().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmutex.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmutex.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qmutexlocker.3qt b/doc/man/man3/qmutexlocker.3qt
new file mode 100644
index 0000000..791bbd1
--- /dev/null
+++ b/doc/man/man3/qmutexlocker.3qt
@@ -0,0 +1,273 @@
+'\" t
+.TH QMutexLocker 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QMutexLocker \- Simplifies locking and unlocking QMutexes
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qmutex.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQMutexLocker\fR ( QMutex * mutex )"
+.br
+.ti -1c
+.BI "\fB~QMutexLocker\fR ()"
+.br
+.ti -1c
+.BI "QMutex * \fBmutex\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QMutexLocker class simplifies locking and unlocking QMutexes.
+.PP
+The purpose of QMutexLocker is to simplify QMutex locking and unlocking. Locking and unlocking a QMutex in complex functions and statements or in exception handling code is error prone and difficult to debug. QMutexLocker should be used in such situations to ensure that the state of the mutex is well defined and always locked and unlocked properly.
+.PP
+QMutexLocker should be created within a function where a QMutex needs to be locked. The mutex is locked when QMutexLocker is created, and unlocked when QMutexLocker is destroyed.
+.PP
+For example, this complex function locks a QMutex upon entering the function and unlocks the mutex at all the exit points:
+.PP
+.nf
+.br
+ int complexFunction( int flag )
+.br
+ {
+.br
+ mutex.lock();
+.br
+.br
+ int return_value = 0;
+.br
+.br
+ switch ( flag ) {
+.br
+ case 0:
+.br
+ case 1:
+.br
+ {
+.br
+ mutex.unlock();
+.br
+ return moreComplexFunction( flag );
+.br
+ }
+.br
+.br
+ case 2:
+.br
+ {
+.br
+ int status = anotherFunction();
+.br
+ if ( status < 0 ) {
+.br
+ mutex.unlock();
+.br
+ return -2;
+.br
+ }
+.br
+ return_value = status + flag;
+.br
+ break;
+.br
+ }
+.br
+.br
+ default:
+.br
+ {
+.br
+ if ( flag > 10 ) {
+.br
+ mutex.unlock();
+.br
+ return -1;
+.br
+ }
+.br
+ break;
+.br
+ }
+.br
+ }
+.br
+.br
+ mutex.unlock();
+.br
+ return return_value;
+.br
+ }
+.br
+.fi
+.PP
+This example function will get more complicated as it is developed, which increases the likelihood that errors will occur.
+.PP
+Using QMutexLocker greatly simplifies the code, and makes it more readable:
+.PP
+.nf
+.br
+ int complexFunction( int flag )
+.br
+ {
+.br
+ QMutexLocker locker( &mutex );
+.br
+.br
+ int return_value = 0;
+.br
+.br
+ switch ( flag ) {
+.br
+ case 0:
+.br
+ case 1:
+.br
+ {
+.br
+ return moreComplexFunction( flag );
+.br
+ }
+.br
+.br
+ case 2:
+.br
+ {
+.br
+ int status = anotherFunction();
+.br
+ if ( status < 0 )
+.br
+ return -2;
+.br
+ return_value = status + flag;
+.br
+ break;
+.br
+ }
+.br
+.br
+ default:
+.br
+ {
+.br
+ if ( flag > 10 )
+.br
+ return -1;
+.br
+ break;
+.br
+ }
+.br
+ }
+.br
+.br
+ return return_value;
+.br
+ }
+.br
+.fi
+.PP
+Now, the mutex will always be unlocked when the QMutexLocker object is destroyed (when the function returns since \fClocker\fR is an auto variable). Note that the mutex will be unlocked after the call to moreComplexFunction() in this example, avoiding possible bugs caused by unlocking the mutex too early, as in the first example.
+.PP
+The same principle applies to code that throws and catches exceptions. An exception that is not caught in the function that has locked the mutex has no way of unlocking the mutex before the exception is passed up the stack to the calling function.
+.PP
+QMutexLocker also provides a mutex() member function that returns the mutex on which the QMutexLocker is operating. This is useful for code that needs access to the mutex, such as QWaitCondition::wait(). For example:
+.PP
+.nf
+.br
+ class SignalWaiter
+.br
+ {
+.br
+ private:
+.br
+ QMutexLocker locker;
+.br
+.br
+ public:
+.br
+ SignalWaiter( QMutex *mutex )
+.br
+ : locker( mutex )
+.br
+ {
+.br
+ }
+.br
+.br
+ void waitForSignal()
+.br
+ {
+.br
+ ...
+.br
+ ...
+.br
+ ...
+.br
+.br
+ while ( ! signalled )
+.br
+ waitcondition.wait( locker.mutex() );
+.br
+.br
+ ...
+.br
+ ...
+.br
+ ...
+.br
+ }
+.br
+ };
+.br
+.fi
+.PP
+See also QMutex, QWaitCondition, Environment Classes, and Threading.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QMutexLocker::QMutexLocker ( QMutex * mutex )"
+Constructs a QMutexLocker and locks \fImutex\fR. The mutex will be unlocked when the QMutexLocker is destroyed. If \fImutex\fR is zero, QMutexLocker does nothing.
+.PP
+See also QMutex::lock().
+.SH "QMutexLocker::~QMutexLocker ()"
+Destroys the QMutexLocker and unlocks the mutex which was locked in the constructor.
+.PP
+See also QMutexLocker::QMutexLocker() and QMutex::unlock().
+.SH "QMutex * QMutexLocker::mutex () const"
+Returns a pointer to the mutex which was locked in the constructor.
+.PP
+See also QMutexLocker::QMutexLocker().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qmutexlocker.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qmutexlocker.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnetworkoperation.3qt b/doc/man/man3/qnetworkoperation.3qt
new file mode 100644
index 0000000..f4e84b6
--- /dev/null
+++ b/doc/man/man3/qnetworkoperation.3qt
@@ -0,0 +1,145 @@
+'\" t
+.TH QNetworkOperation 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNetworkOperation \- Common operations for network protocols
+.SH SYNOPSIS
+\fC#include <qnetworkprotocol.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQNetworkOperation\fR ( QNetworkProtocol::Operation operation, const QString & arg0, const QString & arg1, const QString & arg2 )"
+.br
+.ti -1c
+.BI "\fBQNetworkOperation\fR ( QNetworkProtocol::Operation operation, const QByteArray & arg0, const QByteArray & arg1, const QByteArray & arg2 )"
+.br
+.ti -1c
+.BI "\fB~QNetworkOperation\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetState\fR ( QNetworkProtocol::State state )"
+.br
+.ti -1c
+.BI "void \fBsetProtocolDetail\fR ( const QString & detail )"
+.br
+.ti -1c
+.BI "void \fBsetErrorCode\fR ( int ec )"
+.br
+.ti -1c
+.BI "void \fBsetArg\fR ( int num, const QString & arg )"
+.br
+.ti -1c
+.BI "void \fBsetRawArg\fR ( int num, const QByteArray & arg )"
+.br
+.ti -1c
+.BI "QNetworkProtocol::Operation \fBoperation\fR () const"
+.br
+.ti -1c
+.BI "QNetworkProtocol::State \fBstate\fR () const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( int num ) const"
+.br
+.ti -1c
+.BI "QByteArray \fBrawArg\fR ( int num ) const"
+.br
+.ti -1c
+.BI "QString \fBprotocolDetail\fR () const"
+.br
+.ti -1c
+.BI "int \fBerrorCode\fR () const"
+.br
+.ti -1c
+.BI "void \fBfree\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QNetworkOperation class provides common operations for network protocols.
+.PP
+An object is created to describe the operation and the current state for each operation that a network protocol should process.
+.PP
+For a detailed description of the Qt Network Architecture and how to implement and use network protocols in Qt, see the Qt Network Documentation.
+.PP
+See also QNetworkProtocol and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNetworkOperation::QNetworkOperation ( QNetworkProtocol::Operation operation, const QString & arg0, const QString & arg1, const QString & arg2 )"
+Constructs a network operation object. \fIoperation\fR is the type of the operation, and \fIarg0\fR, \fIarg1\fR and \fIarg2\fR are the first three arguments of the operation. The state is initialized to QNetworkProtocol::StWaiting.
+.PP
+See also QNetworkProtocol::Operation and QNetworkProtocol::State.
+.SH "QNetworkOperation::QNetworkOperation ( QNetworkProtocol::Operation operation, const QByteArray & arg0, const QByteArray & arg1, const QByteArray & arg2 )"
+Constructs a network operation object. \fIoperation\fR is the type of the operation, and \fIarg0\fR, \fIarg1\fR and \fIarg2\fR are the first three raw data arguments of the operation. The state is initialized to QNetworkProtocol::StWaiting.
+.PP
+See also QNetworkProtocol::Operation and QNetworkProtocol::State.
+.SH "QNetworkOperation::~QNetworkOperation ()"
+Destructor.
+.SH "QString QNetworkOperation::arg ( int num ) const"
+Returns the operation's \fInum\fR-th argument. If this argument was not already set, an empty string is returned.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "int QNetworkOperation::errorCode () const"
+Returns the error code for the last error that occurred.
+.SH "void QNetworkOperation::free ()"
+Sets this object to delete itself when it hasn't been used for one second.
+.PP
+Because QNetworkOperation pointers are passed around a lot the QNetworkProtocol generally does not have enough knowledge to delete these at the correct time. If a QNetworkProtocol doesn't need an operation any more it will call this function instead.
+.PP
+Note: you should never need to call the method yourself.
+.SH "QNetworkProtocol::Operation QNetworkOperation::operation () const"
+Returns the type of the operation.
+.SH "QString QNetworkOperation::protocolDetail () const"
+Returns a detailed error message for the last error. This must have been set using setProtocolDetail().
+.SH "QByteArray QNetworkOperation::rawArg ( int num ) const"
+Returns the operation's \fInum\fR-th raw data argument. If this argument was not already set, an empty bytearray is returned.
+.SH "void QNetworkOperation::setArg ( int num, const QString & arg )"
+Sets the network operation's \fInum\fR-th argument to \fIarg\fR.
+.SH "void QNetworkOperation::setErrorCode ( int ec )"
+Sets the error code to \fIec\fR.
+.PP
+If the operation failed, the protocol should set an error code to describe the error in more detail. If possible, one of the error codes defined in QNetworkProtocol should be used.
+.PP
+See also setProtocolDetail() and QNetworkProtocol::Error.
+.SH "void QNetworkOperation::setProtocolDetail ( const QString & detail )"
+If the operation failed, the error message can be specified as \fIdetail\fR.
+.SH "void QNetworkOperation::setRawArg ( int num, const QByteArray & arg )"
+Sets the network operation's \fInum\fR-th raw data argument to \fIarg\fR.
+.SH "void QNetworkOperation::setState ( QNetworkProtocol::State state )"
+Sets the \fIstate\fR of the operation object. This should be done by the network protocol during processing; at the end it should be set to QNetworkProtocol::StDone or QNetworkProtocol::StFailed, depending on success or failure.
+.PP
+See also QNetworkProtocol::State.
+.SH "QNetworkProtocol::State QNetworkOperation::state () const"
+Returns the state of the operation. You can determine whether an
+operation is still waiting to be processed, is being processed,
+has been processed successfully, or failed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnetworkoperation.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnetworkoperation.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnetworkprotocol.3qt b/doc/man/man3/qnetworkprotocol.3qt
new file mode 100644
index 0000000..3d1a151
--- /dev/null
+++ b/doc/man/man3/qnetworkprotocol.3qt
@@ -0,0 +1,386 @@
+'\" t
+.TH QNetworkProtocol 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNetworkProtocol \- Common API for network protocols
+.SH SYNOPSIS
+\fC#include <qnetworkprotocol.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QFtp, QHttp, and QLocalFs.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBState\fR { StWaiting = 0, StInProgress, StDone, StFailed, StStopped }"
+.br
+.ti -1c
+.BI "enum \fBOperation\fR { OpListChildren = 1, OpMkDir = 2, OpMkdir = OpMkDir, OpRemove = 4, OpRename = 8, OpGet = 32, OpPut = 64 }"
+.br
+.ti -1c
+.BI "enum \fBConnectionState\fR { ConHostFound, ConConnected, ConClosed }"
+.br
+.ti -1c
+.BI "enum \fBError\fR { NoError = 0, ErrValid, ErrUnknownProtocol, ErrUnsupported, ErrParse, ErrLoginIncorrect, ErrHostNotFound, ErrListChildren, ErrListChlidren = ErrListChildren, ErrMkDir, ErrMkdir = ErrMkDir, ErrRemove, ErrRename, ErrGet, ErrPut, ErrFileNotExisting, ErrPermissionDenied }"
+.br
+.ti -1c
+.BI "\fBQNetworkProtocol\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QNetworkProtocol\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetUrl\fR ( QUrlOperator * u )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoDelete\fR ( bool b, int i = 10000 )"
+.br
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBsupportedOperations\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBaddOperation\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "QUrlOperator * \fBurl\fR () const"
+.br
+.ti -1c
+.BI "QNetworkOperation * \fBoperationInProgress\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBclearOperationQueue\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstop\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBdata\fR ( const QByteArray & data, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBconnectionStateChanged\fR ( int state, const QString & data )"
+.br
+.ti -1c
+.BI "void \fBfinished\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBstart\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBnewChildren\fR ( const QValueList<QUrlInfo> & i, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBnewChild\fR ( const QUrlInfo & i, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBcreatedDirectory\fR ( const QUrlInfo & i, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBremoved\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBitemChanged\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBdataTransferProgress\fR ( int bytesDone, int bytesTotal, QNetworkOperation * op )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBregisterNetworkProtocol\fR ( const QString & protocol, QNetworkProtocolFactoryBase * protocolFactory )"
+.br
+.ti -1c
+.BI "QNetworkProtocol * \fBgetNetworkProtocol\fR ( const QString & protocol )"
+.br
+.ti -1c
+.BI "bool \fBhasOnlyLocalFileSystem\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBoperationListChildren\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual void \fBoperationMkDir\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual void \fBoperationRemove\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual void \fBoperationRename\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual void \fBoperationGet\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual void \fBoperationPut\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "virtual bool \fBcheckConnection\fR ( QNetworkOperation * op )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QNetworkProtocol class provides a common API for network protocols.
+.PP
+This is a base class which should be used for network protocols implementations that can then be used in Qt (e.g. in the file dialog) together with the QUrlOperator.
+.PP
+The easiest way to implement a new network protocol is to reimplement the operation*() methods, e.g. operationGet(), etc. Only the supported operations should be reimplemented. To specify which operations are supported, also reimplement supportedOperations() and return an int that is OR'd together using the supported operations from the QNetworkProtocol::Operation enum.
+.PP
+When you implement a network protocol this way, it is important to emit the correct signals. Also, always emit the finished() signal when an operation is done (on success \fIand\fR on failure). Qt relies on correctly emitted finished() signals.
+.PP
+For a detailed description of the Qt Network Architecture and how to implement and use network protocols in Qt, see the Qt Network Documentation.
+.PP
+See also Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QNetworkProtocol::ConnectionState"
+When the connection state of a network protocol changes it emits the signal connectionStateChanged(). The first argument is one of the following values:
+.TP
+\fCQNetworkProtocol::ConHostFound\fR - Host has been found.
+.TP
+\fCQNetworkProtocol::ConConnected\fR - Connection to the host has been established.
+.TP
+\fCQNetworkProtocol::ConClosed\fR - Connection has been closed.
+.SH "QNetworkProtocol::Error"
+When an operation fails (finishes unsuccessfully), the QNetworkOperation of the operation returns an error code which has one of the following values:
+.TP
+\fCQNetworkProtocol::NoError\fR - No error occurred.
+.TP
+\fCQNetworkProtocol::ErrValid\fR - The URL you are operating on is not valid.
+.TP
+\fCQNetworkProtocol::ErrUnknownProtocol\fR - There is no protocol implementation available for the protocol of the URL you are operating on (e.g. if the protocol is http and no http implementation has been registered).
+.TP
+\fCQNetworkProtocol::ErrUnsupported\fR - The operation is not supported by the protocol.
+.TP
+\fCQNetworkProtocol::ErrParse\fR - The URL could not be parsed correctly.
+.TP
+\fCQNetworkProtocol::ErrLoginIncorrect\fR - You needed to login but the username or password is wrong.
+.TP
+\fCQNetworkProtocol::ErrHostNotFound\fR - The specified host (in the URL) couldn't be found.
+.TP
+\fCQNetworkProtocol::ErrListChildren\fR - An error occurred while listing the children (files).
+.TP
+\fCQNetworkProtocol::ErrMkDir\fR - An error occurred when creating a directory.
+.TP
+\fCQNetworkProtocol::ErrRemove\fR - An error occurred when removing a child (file).
+.TP
+\fCQNetworkProtocol::ErrRename\fR - An error occurred when renaming a child (file).
+.TP
+\fCQNetworkProtocol::ErrGet\fR - An error occurred while getting (retrieving) data.
+.TP
+\fCQNetworkProtocol::ErrPut\fR - An error occurred while putting (uploading) data.
+.TP
+\fCQNetworkProtocol::ErrFileNotExisting\fR - A file which is needed by the operation doesn't exist.
+.TP
+\fCQNetworkProtocol::ErrPermissionDenied\fR - Permission for doing the operation has been denied.
+.PP
+You should also use these error codes when implementing custom network protocols. If this is not possible, you can define your own error codes by using integer values that don't conflict with any of these values.
+.SH "QNetworkProtocol::Operation"
+This enum lists the possible operations that a network protocol can support. supportedOperations() returns an int of these that is OR'd together. Also, the type() of a QNetworkOperation is always one of these values.
+.TP
+\fCQNetworkProtocol::OpListChildren\fR - List the children of a URL, e.g. of a directory.
+.TP
+\fCQNetworkProtocol::OpMkDir\fR - Create a directory.
+.TP
+\fCQNetworkProtocol::OpRemove\fR - Remove a child (e.g. a file).
+.TP
+\fCQNetworkProtocol::OpRename\fR - Rename a child (e.g. a file).
+.TP
+\fCQNetworkProtocol::OpGet\fR - Get data from a location.
+.TP
+\fCQNetworkProtocol::OpPut\fR - Put data to a location.
+.SH "QNetworkProtocol::State"
+This enum contains the state that a QNetworkOperation can have.
+.TP
+\fCQNetworkProtocol::StWaiting\fR - The operation is in the QNetworkProtocol's queue waiting to be prcessed.
+.TP
+\fCQNetworkProtocol::StInProgress\fR - The operation is being processed.
+.TP
+\fCQNetworkProtocol::StDone\fR - The operation has been processed succesfully.
+.TP
+\fCQNetworkProtocol::StFailed\fR - The operation has been processed but an error occurred.
+.TP
+\fCQNetworkProtocol::StStopped\fR - The operation has been processed but has been stopped before it finished, and is waiting to be processed.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNetworkProtocol::QNetworkProtocol ()"
+Constructor of the network protocol base class. Does some initialization and connecting of signals and slots.
+.SH "QNetworkProtocol::~QNetworkProtocol ()\fC [virtual]\fR"
+Destructor.
+.SH "void QNetworkProtocol::addOperation ( QNetworkOperation * op )\fC [virtual]\fR"
+Adds the operation \fIop\fR to the operation queue. The operation will be processed as soon as possible. This method returns immediately.
+.SH "bool QNetworkProtocol::autoDelete () const"
+Returns TRUE if auto-deleting is enabled; otherwise returns FALSE.
+.PP
+See also QNetworkProtocol::setAutoDelete().
+.SH "bool QNetworkProtocol::checkConnection ( QNetworkOperation * op )\fC [virtual protected]\fR"
+For processing operations the network protocol base class calls this method quite often. This should be reimplemented by new network protocols. It should return TRUE if the connection is OK (open); otherwise it should return FALSE. If the connection is not open the protocol should open it.
+.PP
+If the connection can't be opened (e.g. because you already tried but the host couldn't be found), set the state of \fIop\fR to QNetworkProtocol::StFailed and emit the finished() signal with this QNetworkOperation as argument.
+.PP
+\fIop\fR is the operation that needs an open connection.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QNetworkProtocol::clearOperationQueue ()\fC [virtual]\fR"
+Clears the operation queue.
+.SH "void QNetworkProtocol::connectionStateChanged ( int state, const QString & data )\fC [signal]\fR"
+This signal is emitted whenever the state of the connection of the network protocol is changed. \fIstate\fR describes the new state, which is one of, ConHostFound, ConConnected or ConClosed. \fIdata\fR is a message text.
+.SH "void QNetworkProtocol::createdDirectory ( const QUrlInfo & i, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when mkdir() has been succesful and the directory has been created. \fIi\fR holds the information about the new directory. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc. Using op->arg( 0 ), you can get the file name of the new directory.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "void QNetworkProtocol::data ( const QByteArray & data, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when new \fIdata\fR has been received after calling get() or put(). \fIop\fR holds the name of the file from which data is retrieved or uploaded in its first argument, and the (raw) data in its second argument. You can get them with op->arg( 0 ) and op->rawArg( 1 ). \fIop\fR is the pointer to the operation object, which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator (which is used by the network protocol) emit its corresponding signal.
+.SH "void QNetworkProtocol::dataTransferProgress ( int bytesDone, int bytesTotal, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted during the transfer of data (using put() or get()). \fIbytesDone\fR is how many bytes of \fIbytesTotal\fR have been transferred. \fIbytesTotal\fR may be -1, which means that the total number of bytes is not known. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "void QNetworkProtocol::finished ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when an operation finishes. This signal is always emitted, for both success and failure. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc. Check the state and error code of the operation object to determine whether or not the operation was successful.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "QNetworkProtocol * QNetworkProtocol::getNetworkProtocol ( const QString & protocol )\fC [static]\fR"
+Static method to get a new instance of the network protocol \fIprotocol\fR. For example, if you need to do some FTP operations, do the following:
+.PP
+.nf
+.br
+ QFtp *ftp = QNetworkProtocol::getNetworkProtocol( "ftp" );
+.br
+.fi
+This returns a pointer to a new instance of an ftp implementation or null if no protocol for ftp was registered. The ownership of the pointer is transferred to you, so you must delete it if you don't need it anymore.
+.PP
+Normally you should not work directly with network protocols, so you will not need to call this method yourself. Instead, use QUrlOperator, which makes working with network protocols much more convenient.
+.PP
+See also QUrlOperator.
+.SH "bool QNetworkProtocol::hasOnlyLocalFileSystem ()\fC [static]\fR"
+Returns TRUE if the only protocol registered is for working on the local filesystem; returns FALSE if other network protocols are also registered.
+.SH "void QNetworkProtocol::itemChanged ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted whenever a file which is a child of this URL has been changed, e.g. by successfully calling rename(). \fIop\fR holds the original and the new file names in the first and second arguments, accessible with op->arg( 0 ) and op->arg( 1 ) respectively. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "void QNetworkProtocol::newChild ( const QUrlInfo & i, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted if a new child (file) has been read. QNetworkProtocol automatically connects it to a slot which creates a list of QUrlInfo objects (with just one QUrlInfo \fIi\fR) and emits the newChildren() signal with this list. \fIop\fR is the pointer to the operation object which contains all the information about the operation that has finished, including the state, etc.
+.PP
+This is just a convenience signal useful for implementing your own network protocol. In all other cases connect to the newChildren() signal with its list of QUrlInfo objects.
+.SH "void QNetworkProtocol::newChildren ( const QValueList<QUrlInfo> & i, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted after listChildren() was called and new children (files) have been read from the list of files. \fIi\fR holds the information about the new children. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.PP
+When implementing your own network protocol and reading children, you usually don't read one child at once, but rather a list of them. That's why this signal takes a list of QUrlInfo objects. If you prefer to read just one child at a time you can use the convenience signal newChild(), which takes a single QUrlInfo object.
+.SH "void QNetworkProtocol::operationGet ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new network protocol, this method should be reimplemented if the protocol supports getting data; this method should then process the QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QNetworkOperation * QNetworkProtocol::operationInProgress () const"
+Returns the operation, which is being processed, or 0 of no operation is being processed at the moment.
+.SH "void QNetworkProtocol::operationListChildren ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new network protocol, this method should be reimplemented if the protocol supports listing children (files); this method should then process this QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QNetworkProtocol::operationMkDir ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new network protocol, this method should be reimplemented if the protocol supports making directories; this method should then process this QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.SH "void QNetworkProtocol::operationPut ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new network protocol, this method should be reimplemented if the protocol supports putting (uploading) data; this method should then process the QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.SH "void QNetworkProtocol::operationRemove ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new network protocol, this method should be reimplemented if the protocol supports removing children (files); this method should then process this QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which is describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.SH "void QNetworkProtocol::operationRename ( QNetworkOperation * op )\fC [virtual protected]\fR"
+When implementing a new newtork protocol, this method should be reimplemented if the protocol supports renaming children (files); this method should then process this QNetworkOperation.
+.PP
+When you reimplement this method it's very important that you emit the correct signals at the correct time (especially the finished() signal after processing an operation). Take a look at the Qt Network Documentation which describes in detail how to reimplement this method. You may also want to look at the example implementation in examples/network/networkprotocol/nntp.cpp.
+.PP
+\fIop\fR is the pointer to the operation object which contains all the information on the operation that has finished, including the state, etc.
+.SH "void QNetworkProtocol::registerNetworkProtocol ( const QString & protocol, QNetworkProtocolFactoryBase * protocolFactory )\fC [static]\fR"
+Static method to register a network protocol for Qt. For example, if you have an implementation of NNTP (called Nntp) which is derived from QNetworkProtocol, call:
+.PP
+.nf
+.br
+ QNetworkProtocol::registerNetworkProtocol( "nntp", new QNetworkProtocolFactory<Nntp> );
+.br
+.fi
+after which your implementation is registered for future nntp operations.
+.PP
+The name of the protocol is given in \fIprotocol\fR and a pointer to the protocol factory is given in \fIprotocolFactory\fR.
+.SH "void QNetworkProtocol::removed ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when remove() has been succesful and the file has been removed. \fIop\fR holds the file name of the removed file in the first argument, accessible with op->arg( 0 ). \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "void QNetworkProtocol::setAutoDelete ( bool b, int i = 10000 )\fC [virtual]\fR"
+Because it's sometimes hard to take care of removing network protocol instances, QNetworkProtocol provides an auto-delete mechanism. If you set \fIb\fR to TRUE, the network protocol instance is removed after it has been inactive for \fIi\fR milliseconds (i.e. \fIi\fR milliseconds after the last operation has been processed). If you set \fIb\fR to FALSE the auto-delete mechanism is switched off.
+.PP
+If you switch on auto-delete, the QNetworkProtocol also deletes its QUrlOperator.
+.SH "void QNetworkProtocol::setUrl ( QUrlOperator * u )\fC [virtual]\fR"
+Sets the QUrlOperator, on which the protocol works, to \fIu\fR.
+.PP
+See also QUrlOperator.
+.SH "void QNetworkProtocol::start ( QNetworkOperation * op )\fC [signal]\fR"
+Some operations (such as listChildren()) emit this signal when they start processing the operation. \fIop\fR is the pointer to the operation object which contains all the information about the operation, including the state, etc.
+.PP
+When a protocol emits this signal, QNetworkProtocol is smart enough to let the QUrlOperator, which is used by the network protocol, emit its corresponding signal.
+.SH "void QNetworkProtocol::stop ()\fC [virtual]\fR"
+Stops the current operation that is being processed and clears all waiting operations.
+.SH "int QNetworkProtocol::supportedOperations () const\fC [virtual]\fR"
+Returns an int that is OR'd together using the enum values of QNetworkProtocol::Operation, which describes which operations are supported by the network protocol. Should be reimplemented by new network protocols.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QUrlOperator * QNetworkProtocol::url () const"
+Returns the QUrlOperator on which the protocol works.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnetworkprotocol.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnetworkprotocol.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnpinstance.3qt b/doc/man/man3/qnpinstance.3qt
new file mode 100644
index 0000000..3b77dfe
--- /dev/null
+++ b/doc/man/man3/qnpinstance.3qt
@@ -0,0 +1,290 @@
+'\" t
+.TH QNPInstance 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNPInstance \- QObject that is a web browser plugin
+.SH SYNOPSIS
+This class is part of the \fBQt Netscape Extension\fR.
+.PP
+\fC#include <qnp.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fB~QNPInstance\fR ()"
+.br
+.ti -1c
+.BI "int \fBargc\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBargn\fR ( int i ) const"
+.br
+.ti -1c
+.BI "const char * \fBargv\fR ( int i ) const"
+.br
+.ti -1c
+.BI "enum \fBReason\fR { ReasonDone = 0, ReasonBreak = 1, ReasonError = 2, ReasonUnknown = -1 }"
+.br
+.ti -1c
+.BI "const char * \fBarg\fR ( const char * name ) const"
+.br
+.ti -1c
+.BI "enum \fBInstanceMode\fR { Embed = 1, Full = 2, Background = 3 }"
+.br
+.ti -1c
+.BI "InstanceMode \fBmode\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBuserAgent\fR () const"
+.br
+.ti -1c
+.BI "virtual QNPWidget * \fBnewWindow\fR ()"
+.br
+.ti -1c
+.BI "QNPWidget * \fBwidget\fR ()"
+.br
+.ti -1c
+.BI "enum \fBStreamMode\fR { Normal = 1, Seek = 2, AsFile = 3, AsFileOnly = 4 }"
+.br
+.ti -1c
+.BI "virtual bool \fBnewStreamCreated\fR ( QNPStream *, StreamMode & smode )"
+.br
+.ti -1c
+.BI "virtual int \fBwriteReady\fR ( QNPStream * )"
+.br
+.ti -1c
+.BI "virtual int \fBwrite\fR ( QNPStream *, int offset, int len, void * buffer )"
+.br
+.ti -1c
+.BI "virtual void \fBstreamDestroyed\fR ( QNPStream * )"
+.br
+.ti -1c
+.BI "void \fBstatus\fR ( const char * msg )"
+.br
+.ti -1c
+.BI "void \fBgetURLNotify\fR ( const char * url, const char * window = 0, void * data = 0 )"
+.br
+.ti -1c
+.BI "void \fBgetURL\fR ( const char * url, const char * window = 0 )"
+.br
+.ti -1c
+.BI "void \fBpostURL\fR ( const char * url, const char * window, uint len, const char * buf, bool file )"
+.br
+.ti -1c
+.BI "QNPStream * \fBnewStream\fR ( const char * mimetype, const char * window, bool as_file = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBstreamAsFile\fR ( QNPStream *, const char * fname )"
+.br
+.ti -1c
+.BI "void * \fBgetJavaPeer\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBnotifyURL\fR ( const char * url, Reason r, void * notifyData )"
+.br
+.ti -1c
+.BI "virtual bool \fBprintFullPage\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBprint\fR ( QPainter * )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQNPInstance\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QNPInstance class provides a QObject that is a web browser plugin.
+.PP
+Deriving from QNPInstance creates an object that represents a single \fC<EMBED>\fR tag in an HTML document.
+.PP
+The QNPInstance is responsible for creating an appropriate QNPWidget window if required (not all plugins have windows), and for interacting with the input/output facilities intrinsic to plugins.
+.PP
+Note that there is \fIabsolutely no guarantee\fR regarding the order in which functions are called. Sometimes the browser will call newWindow() first, at other times, newStreamCreated() will be called first (assuming the \fC<EMBED>\fR tag has a SRC parameter).
+.PP
+\fINone of Qt's GUI functionality\fR may be used until after the first call to newWindow(). This includes any use of QPaintDevice (i.e. QPixmap, QWidget, and all subclasses), QApplication, anything related to QPainter (QBrush, etc.), fonts, QMovie, QToolTip, etc. Useful classes which specifically \fIcan\fR be used are QImage, QFile, and QBuffer.
+.PP
+This restriction can easily be accommodated by structuring your plugin so that the task of the QNPInstance is to gather data, while the task of the QNPWidget is to provide a graphical interface to that data.
+.SS "Member Type Documentation"
+.SH "QNPInstance::InstanceMode"
+This enum type provides Qt-style names for three #defines in \fCnpapi.h\fR:
+.TP
+\fCQNPInstance::Embed\fR - corresponds to NP_EMBED
+.TP
+\fCQNPInstance::Full\fR - corresponds to NP_FULL
+.TP
+\fCQNPInstance::Background\fR - corresponds to NP_BACKGROUND
+.SH "QNPInstance::Reason"
+.TP
+\fCQNPInstance::ReasonDone\fR
+.TP
+\fCQNPInstance::ReasonBreak\fR
+.TP
+\fCQNPInstance::ReasonError\fR
+.TP
+\fCQNPInstance::ReasonUnknown\fR
+.SH "QNPInstance::StreamMode"
+.TP
+\fCQNPInstance::Normal\fR
+.TP
+\fCQNPInstance::Seek\fR
+.TP
+\fCQNPInstance::AsFile\fR
+.TP
+\fCQNPInstance::AsFileOnly\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNPInstance::QNPInstance ()\fC [protected]\fR"
+Creates a QNPInstance.
+.PP
+Can only be called from within a derived class created within QNPlugin::newInstance().
+.SH "QNPInstance::~QNPInstance ()"
+Called when the plugin instance is about to be deleted.
+.SH "const char * QNPInstance::arg ( const char * name ) const"
+Returns the value of the named arguments, or 0 if no argument called \fIname\fR appears in the \fC<EMBED>\fR tag of this instance. If the argument appears, but has no value assigned, the empty string is returned. In summary:
+.PP
+<center>.nf
+.TS
+l
+-
+l.
+Tag Result
+ arg("FOO") == 0
+ arg("FOO") == ""
+
+.TE
+.fi
+</center>
+.SH "int QNPInstance::argc () const"
+Returns the number of arguments to the instance. Note that you should not normally rely on the ordering of arguments, and note that the SGML specification does not permit multiple arguments with the same name.
+.PP
+See also arg() and argn().
+.SH "const char * QNPInstance::argn ( int i ) const"
+Returns the name of the \fIi\fR-th argument.
+.PP
+See also argc() and argv().
+.SH "const char * QNPInstance::argv ( int i ) const"
+Returns the value of the \fIi\fR-th argument.
+.PP
+\\as argc(), arg()
+.SH "void * QNPInstance::getJavaPeer () const"
+Returns the Java object associated with the plugin instance, an object of the plugin's Java class, or 0 if the plug-in does not have a Java class, Java is disabled, or an error occurred.
+.PP
+The return value is actually a \fCjref\fR we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java.
+.PP
+See also QNPlugin::getJavaClass() and QNPlugin::getJavaEnv().
+.SH "void QNPInstance::getURL ( const char * url, const char * window = 0 )"
+Requests that the \fIurl\fR be retrieved and sent to the named \fIwindow\fR. See Netscape's JavaScript documentation for an explanation of window names.
+.SH "void QNPInstance::getURLNotify ( const char * url, const char * window = 0, void * data = 0 )"
+Requests that the given \fIurl\fR be retrieved and sent to the named \fIwindow\fR. See Netscape's JavaScript documentation for an explanation of window names. Passes the arguments including \fIdata\fR to NPN_GetURLNotify.
+.PP
+Netscape: NPN_GetURLNotify method
+.SH "InstanceMode QNPInstance::mode () const"
+Returns the mode of the plugin.
+.SH "QNPStream * QNPInstance::newStream ( const char * mimetype, const char * window, bool as_file = FALSE )"
+\fBThis function is under development and is subject to change.\fR
+.PP
+This function is \fInot tested\fR.
+.PP
+Requests the creation of a new data stream \fIfrom\fR the plugin. The MIME type and window are passed in \fImimetype\fR and \fIwindow\fR. \fIas_file\fR holds the AsFileOnly flag. It is an interface to the NPN_NewStream function of the Netscape Plugin API.
+.SH "bool QNPInstance::newStreamCreated ( QNPStream *, StreamMode & smode )\fC [virtual]\fR"
+This function is called when a new stream has been created. The instance should return TRUE if it accepts the processing of the stream. If the instance requires the stream as a file, it should set \fIsmode\fR to AsFileOnly, in which case the data will be delivered some time later to the streamAsFile() function. Otherwise, the data will be delivered in chunks to the write() function, which must consume at least as much data as returned by the most recent call to writeReady().
+.PP
+Note that the AsFileOnly method is not supported by Netscape 2.0 and MSIE 3.0.
+.PP
+The default implementation accepts any stream.
+.SH "QNPWidget * QNPInstance::newWindow ()\fC [virtual]\fR"
+Called at most once, at some time after the QNPInstance is created. If the plugin requires a window, this function should return a derived class of QNPWidget that provides the required interface.
+.PP
+Example: grapher/grapher.cpp.
+.SH "void QNPInstance::notifyURL ( const char * url, Reason r, void * notifyData )\fC [virtual]\fR"
+\fBThis function is under development and is subject to change.\fR
+.PP
+This function is \fInot tested\fR.
+.PP
+Called whenever a \fIurl\fR is notified after a call to NPN_GetURLNotify with \fInotifyData\fR. The reason is given in \fIr\fR.
+.PP
+It is an encapsulation of the NPP_URLNotify function of the Netscape Plugin API.
+.PP
+See also: Netscape: NPP_URLNotify method
+.SH "void QNPInstance::postURL ( const char * url, const char * window, uint len, const char * buf, bool file )"
+\fBThis function is under development and is subject to change.\fR
+.PP
+This function is \fInot tested\fR.
+.PP
+It is an interface to the NPN_PostURL function of the Netscape Plugin API.
+.PP
+Passes \fIurl\fR, \fIwindow\fR, \fIbuf\fR, \fIlen\fR, and \fIfile\fR to NPN_PostURL.
+.SH "void QNPInstance::print ( QPainter * )\fC [virtual]\fR"
+\fBThis function is under development and is subject to change.\fR
+.PP
+This function is \fInot tested\fR.
+.PP
+Print the instance embedded in a page.
+.PP
+It is an encapsulation of the NPP_Print function of the Netscape Plugin API.
+.SH "bool QNPInstance::printFullPage ()\fC [virtual]\fR"
+\fBThis function is under development and is subject to change.\fR
+.PP
+This function is \fInot tested\fR.
+.PP
+It is an encapsulation of the NPP_Print function of the Netscape Plugin API.
+.SH "void QNPInstance::status ( const char * msg )"
+Sets the status message in the browser containing this instance to \fImsg\fR.
+.SH "void QNPInstance::streamAsFile ( QNPStream *, const char * fname )\fC [virtual]\fR"
+Called when a stream is delivered as a single file called \fIfname\fR rather than as chunks. This may be simpler for a plugin to deal with, but precludes any incremental behavior.
+.PP
+Note that the AsFileOnly method is not supported by Netscape 2.0 and MSIE 3.0.
+.PP
+See also newStreamCreated() and newStream().
+.SH "void QNPInstance::streamDestroyed ( QNPStream * )\fC [virtual]\fR"
+Called when a stream is destroyed. At this point, the stream may be complete() and okay(). If it is not okay(), then an error has occurred. If it is okay(), but not complete(), then the user has cancelled the transmission; do not give an error message in this case.
+.SH "const char * QNPInstance::userAgent () const"
+Returns the user agent (browser name) containing this instance.
+.SH "QNPWidget * QNPInstance::widget ()"
+Returns the plugin window created by newWindow(), if any.
+.SH "int QNPInstance::write ( QNPStream *, int offset, int len, void * buffer )\fC [virtual]\fR"
+Called when incoming data is available for processing by the instance. The instance \fImust\fR consume at least the amount that it returned in the most recent call to writeReady(), but it may consume up to the amount given by \fIlen\fR. \fIbuffer\fR is the data available for consumption. The \fIoffset\fR argument is merely an informational value indicating the total amount of data that has been consumed in prior calls.
+.PP
+This function should return the amount of data actually consumed.
+.PP
+Example: grapher/grapher.cpp.
+.SH "int QNPInstance::writeReady ( QNPStream * )\fC [virtual]\fR"
+Returns the minimum amount of data the instance is willing to receive from the given stream.
+.PP
+The default returns a very large value.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnpinstance.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnpinstance.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnplugin.3qt b/doc/man/man3/qnplugin.3qt
new file mode 100644
index 0000000..33a5feb
--- /dev/null
+++ b/doc/man/man3/qnplugin.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QNPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNPlugin \- The main factory for plugin objects
+.SH SYNOPSIS
+This class is part of the \fBQt Netscape Extension\fR.
+.PP
+\fC#include <qnp.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QNPlugin\fR ()"
+.br
+.ti -1c
+.BI "void \fBgetVersionInfo\fR ( int & plugin_major, int & plugin_minor, int & browser_major, int & browser_minor )"
+.br
+.ti -1c
+.BI "virtual QNPInstance * \fBnewInstance\fR () = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBgetMIMEDescription\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBgetPluginNameString\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBgetPluginDescriptionString\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void * \fBgetJavaClass\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBunuseJavaClass\fR ()"
+.br
+.ti -1c
+.BI "void * \fBgetJavaEnv\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QNPlugin * \fBcreate\fR ()"
+.br
+.ti -1c
+.BI "QNPlugin * \fBactual\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQNPlugin\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QNPlugin class provides the main factory for plugin objects.
+.PP
+This class is the heart of the plugin. One instance of this object is created when the plugin is \fIfirst\fR needed, by calling QNPlugin::create(), which must be implemented in your plugin code to return some derived class of QNPlugin. The one QNPlugin object creates all QNPInstance instances for a web browser running in a single process.
+.PP
+Additionally, if Qt is linked to the plugin as a dynamic library, only one instance of QApplication will exist \fIacross all plugins that have been made with Qt\fR. So, your plugin should tread lightly on global settings. Do not, for example, use QApplication::setFont() - that will change the font in every widget of every Qt-based plugin currently loaded!
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNPlugin::QNPlugin ()\fC [protected]\fR"
+Creates a QNPlugin. This may only be used by the constructor of the class, derived from QNPlugin, that is returned by your plugin's implementation of the QNPlugin::create() function.
+.SH "QNPlugin::~QNPlugin ()\fC [virtual]\fR"
+Destroys the QNPlugin. This is called by the plugin binding code just before the plugin is about to be unloaded from memory. If newWindow() has been called, a QApplication will still exist at this time, but will be deleted shortly after, just before the plugin is deleted.
+.SH "QNPlugin * QNPlugin::actual ()\fC [static]\fR"
+Returns the plugin most recently returned by QNPlugin::create().
+.SH "QNPlugin * QNPlugin::create ()\fC [static]\fR"
+This function must be implemented by your plugin code. It should return a derived class of QNPlugin.
+.SH "void * QNPlugin::getJavaClass ()\fC [virtual]\fR"
+Override this function to return a reference to the Java class that represents the plugin. The default returns 0, indicating no class.
+.PP
+If you override this class, you must also override QNPlugin::unuseJavaClass().
+.PP
+The return value is actually a \fCjref\fR; we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java.
+.PP
+See also getJavaEnv() and QNPInstance::getJavaPeer().
+.SH "void * QNPlugin::getJavaEnv () const"
+Returns a pointer to the Java execution environment, or 0 if either Java is disabled or an error occurred.
+.PP
+The return value is actually a \fCJRIEnv*\fR; we use \fCvoid*\fR so as to avoid burdening plugins which do not require Java.
+.PP
+See also getJavaClass() and QNPInstance::getJavaPeer().
+.SH "const char * QNPlugin::getMIMEDescription () const\fC [pure virtual]\fR"
+Override this function to return the MIME description of the data formats supported by your plugin. The format of this string is shown by the following example:
+.PP
+.nf
+.br
+ const char* getMIMEDescription() const
+.br
+ {
+.br
+ return "image/x-png:png:PNG Image;"
+.br
+ "image/png:png:PNG Image;"
+.br
+ "image/x-portable-bitmap:pbm:PBM Image;"
+.br
+ "image/x-portable-graymap:pgm:PGM Image;"
+.br
+ "image/x-portable-pixmap:ppm:PPM Image;"
+.br
+ "image/bmp:bmp:BMP Image;"
+.br
+ "image/x-ms-bmp:bmp:BMP Image;"
+.br
+ "image/x-xpixmap:xpm:XPM Image;"
+.br
+ "image/xpm:xpm:XPM Image";
+.br
+ }
+.fi
+.SH "const char * QNPlugin::getPluginDescriptionString () const\fC [pure virtual]\fR"
+Returns a pointer to the plain-text description of the plugin.
+.SH "const char * QNPlugin::getPluginNameString () const\fC [pure virtual]\fR"
+Returns a pointer to the plain-text name of the plugin.
+.SH "void QNPlugin::getVersionInfo ( int & plugin_major, int & plugin_minor, int & browser_major, int & browser_minor )"
+Populates \fI*\fR\fIplugin_major\fR and \fI*\fR\fIplugin_minor\fR with the version of the plugin API and populates \fI*\fR\fIbrowser_major\fR and \fI*\fR\fIbrowser_minor\fR with the version of the web browser.
+.SH "QNPInstance * QNPlugin::newInstance ()\fC [pure virtual]\fR"
+Override this function to return an appropriate derived class of QNPInstance.
+.SH "void QNPlugin::unuseJavaClass ()\fC [virtual]\fR"
+This function is called when the plugin is shutting down. The
+function should \fIunuse\fR the Java class returned earlier by
+getJavaClass().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnpstream.3qt b/doc/man/man3/qnpstream.3qt
new file mode 100644
index 0000000..e5c858c
--- /dev/null
+++ b/doc/man/man3/qnpstream.3qt
@@ -0,0 +1,114 @@
+'\" t
+.TH QNPStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNPStream \- Stream of data provided to a QNPInstance by the browser
+.SH SYNOPSIS
+This class is part of the \fBQt Netscape Extension\fR.
+.PP
+\fC#include <qnp.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fB~QNPStream\fR ()"
+.br
+.ti -1c
+.BI "const char * \fBurl\fR () const"
+.br
+.ti -1c
+.BI "uint \fBend\fR () const"
+.br
+.ti -1c
+.BI "uint \fBlastModified\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBtype\fR () const"
+.br
+.ti -1c
+.BI "bool \fBseekable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBokay\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcomplete\fR () const"
+.br
+.ti -1c
+.BI "void \fBrequestRead\fR ( int offset, uint length )"
+.br
+.ti -1c
+.BI "int \fBwrite\fR ( int len, void * buffer )"
+.br
+.ti -1c
+.BI "QNPInstance * \fBinstance\fR ()"
+.br
+.ti -1c
+.BI "\fBQNPStream\fR ( QNPInstance * in, const char * mt, _NPStream * st, bool se )"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QNPStream class provides a stream of data provided to a QNPInstance by the browser.
+.PP
+Note that this is neither a QTextStream nor a QDataStream.
+.PP
+See also QNPInstance::write() and QNPInstance::newStreamCreated().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNPStream::QNPStream ( QNPInstance * in, const char * mt, _NPStream * st, bool se )"
+Creates a stream. Plugins should not call this; they should call QNPInstance::newStream() if they need a stream.
+.PP
+Takes a QNPInstance \fIin\fR, MIME type \fImt\fR, a pointer to an _NPStream \fIst\fR and a seekable flag \fIse\fR.
+.SH "QNPStream::~QNPStream ()"
+Destroys the stream.
+.SH "bool QNPStream::complete () const"
+Returns TRUE if the stream has received all the data from the source; otherwise returns FALSE.
+.SH "uint QNPStream::end () const"
+Returns the length of the stream in bytes. The function might return 0 for streams of unknown length.
+.SH "QNPInstance * QNPStream::instance ()"
+Returns the QNPInstance for which this stream was created.
+.SH "uint QNPStream::lastModified () const"
+Returns the time when the source of the stream was last modified.
+.SH "bool QNPStream::okay () const"
+Returns TRUE if no errors have occurred on the stream; otherwise returns FALSE.
+.SH "void QNPStream::requestRead ( int offset, uint length )"
+Requests the section of the stream, of \fIlength\fR bytes from \fIoffset\fR, be sent to the QNPInstance::write() function of the instance() of this stream.
+.SH "bool QNPStream::seekable () const"
+Returns TRUE if the stream is seekable; otherwise returns FALSE.
+.SH "const char * QNPStream::type () const"
+Returns the MIME type of the stream.
+.SH "const char * QNPStream::url () const"
+Returns the URL from which the stream was created.
+.SH "int QNPStream::write ( int len, void * buffer )"
+Writes \fIlen\fR bytes from \fIbuffer\fR \fIto\fR the stream.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnpstream.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnpstream.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qnpwidget.3qt b/doc/man/man3/qnpwidget.3qt
new file mode 100644
index 0000000..ac17887
--- /dev/null
+++ b/doc/man/man3/qnpwidget.3qt
@@ -0,0 +1,129 @@
+'\" t
+.TH QNPWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QNPWidget \- QWidget that is a web browser plugin window
+.SH SYNOPSIS
+This class is part of the \fBQt Netscape Extension\fR.
+.PP
+\fC#include <qnp.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQNPWidget\fR ()"
+.br
+.ti -1c
+.BI "\fB~QNPWidget\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBenterInstance\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBleaveInstance\fR ()"
+.br
+.ti -1c
+.BI "QNPInstance * \fBinstance\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+This class is defined in the \fBQt Netscape Extension\fR, which can be found in the \fCqt/extensions\fR directory. It is not included in the main Qt API.
+.PP
+The QNPWidget class provides a QWidget that is a web browser plugin window.
+.PP
+Derive from QNPWidget to create a widget that can be used as a web browser plugin window, or create one and add child widgets. Instances of QNPWidget may only be created when QNPInstance::newWindow() is called by the browser.
+.PP
+A common way to develop a plugin widget is to develop it as a stand-alone application window, then make it a \fIchild\fR of a plugin widget to use it as a browser plugin. The technique is:
+.PP
+.nf
+.br
+class MyPluginWindow : public QNPWidget
+.br
+{
+.br
+ QWidget* child;
+.br
+public:
+.br
+ MyPluginWindow()
+.br
+ {
+.br
+ // Some widget that is normally used as a top-level widget
+.br
+ child = new MyIndependentlyDevelopedWidget();
+.br
+.br
+ // Use the background color of the web page
+.br
+ child->setBackgroundColor( backgroundColor() );
+.br
+.br
+ // Fill the plugin widget
+.br
+ child->setGeometry( 0, 0, width(), height() );
+.br
+ }
+.br
+.br
+ void resizeEvent(QResizeEvent*)
+.br
+ {
+.br
+ // Fill the plugin widget
+.br
+ child->resize(size());
+.br
+ }
+.br
+};
+.fi
+.PP
+The default implementation is an empty window.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QNPWidget::QNPWidget ()"
+Creates a QNPWidget.
+.SH "QNPWidget::~QNPWidget ()"
+Destroys the window. This will be called by the plugin binding code when the window is no longer required. The web browser will delete windows when they leave the page. The bindings will change the QWidget::winId() of the window when the window is resized, but this should not affect normal widget behavior.
+.SH "void QNPWidget::enterInstance ()\fC [virtual]\fR"
+Called when the mouse enters the plugin window. Does nothing by default.
+.PP
+Example: grapher/grapher.cpp.
+.SH "QNPInstance * QNPWidget::instance ()"
+Returns the instance for which this widget is the plugin window.
+.SH "void QNPWidget::leaveInstance ()\fC [virtual]\fR"
+Called when the mouse leaves the plugin window. Does nothing by default.
+.PP
+Example: grapher/grapher.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qnpwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qnpwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qobject.3qt b/doc/man/man3/qobject.3qt
new file mode 100644
index 0000000..fe34d19
--- /dev/null
+++ b/doc/man/man3/qobject.3qt
@@ -0,0 +1,1002 @@
+'\" t
+.TH QObject 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QObject \- The base class of all Qt objects
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qobject.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QAccel, QAccessibleObject, QAction, QApplication, QAssistantClient, QDataPump, QAxObject, QAxScript, QAxScriptManager, QWidget, QCanvas, QStyle, QClipboard, QCopChannel, QDns, QLayout, QDragObject, QEditorFactory, QEventLoop, QFileIconProvider, QNetworkProtocol, QWSKeyboardHandler, QNetworkOperation, QNPInstance, QObjectCleanupHandler, QProcess, QServerSocket, QSessionManager, QSignal, QSignalMapper, QSocket, QSocketNotifier, QSound, QSqlDatabase, QSqlDriver, QSqlForm, QStyleSheet, QTimer, QToolTipGroup, QTranslator, QUrlOperator, and QValidator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQObject\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QObject\fR ()"
+.br
+.ti -1c
+.BI "virtual const char * \fBclassName\fR () const"
+.br
+.ti -1c
+.BI "virtual QMetaObject * \fBmetaObject\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBevent\fR ( QEvent * e )"
+.br
+.ti -1c
+.BI "virtual bool \fBeventFilter\fR ( QObject * watched, QEvent * e )"
+.br
+.ti -1c
+.BI "bool \fBisA\fR ( const char * clname ) const"
+.br
+.ti -1c
+.BI "bool \fBinherits\fR ( const char * clname ) const"
+.br
+.ti -1c
+.BI "const char * \fBname\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBname\fR ( const char * defaultName ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetName\fR ( const char * name )"
+.br
+.ti -1c
+.BI "bool \fBisWidgetType\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhighPriority\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsignalsBlocked\fR () const"
+.br
+.ti -1c
+.BI "void \fBblockSignals\fR ( bool block )"
+.br
+.ti -1c
+.BI "int \fBstartTimer\fR ( int interval )"
+.br
+.ti -1c
+.BI "void \fBkillTimer\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBkillTimers\fR ()"
+.br
+.ti -1c
+.BI "QObject * \fBchild\fR ( const char * objName, const char * inheritsClass = 0, bool recursiveSearch = TRUE )"
+.br
+.ti -1c
+.BI "const QObjectList * \fBchildren\fR () const"
+.br
+.ti -1c
+.BI "QObjectList * \fBqueryList\fR ( const char * inheritsClass = 0, const char * objName = 0, bool regexpMatch = TRUE, bool recursiveSearch = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual void \fBinsertChild\fR ( QObject * obj )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveChild\fR ( QObject * obj )"
+.br
+.ti -1c
+.BI "void \fBinstallEventFilter\fR ( const QObject * filterObj )"
+.br
+.ti -1c
+.BI "void \fBremoveEventFilter\fR ( const QObject * obj )"
+.br
+.ti -1c
+.BI "bool \fBconnect\fR ( const QObject * sender, const char * signal, const char * member ) const"
+.br
+.ti -1c
+.BI "bool \fBdisconnect\fR ( const char * signal = 0, const QObject * receiver = 0, const char * member = 0 )"
+.br
+.ti -1c
+.BI "bool \fBdisconnect\fR ( const QObject * receiver, const char * member = 0 )"
+.br
+.ti -1c
+.BI "void \fBdumpObjectTree\fR ()"
+.br
+.ti -1c
+.BI "void \fBdumpObjectInfo\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBsetProperty\fR ( const char * name, const QVariant & value )"
+.br
+.ti -1c
+.BI "virtual QVariant \fBproperty\fR ( const char * name ) const"
+.br
+.ti -1c
+.BI "QObject * \fBparent\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBdeleteLater\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBdestroyed\fR ()"
+.br
+.ti -1c
+.BI "void \fBdestroyed\fR ( QObject * obj )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBtr\fR ( const char * sourceText, const char * comment )"
+.br
+.ti -1c
+.BI "QString \fBtrUtf8\fR ( const char * sourceText, const char * comment )"
+.br
+.ti -1c
+.BI "const QObjectList * \fBobjectTrees\fR ()"
+.br
+.ti -1c
+.BI "bool \fBconnect\fR ( const QObject * sender, const char * signal, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBdisconnect\fR ( const QObject * sender, const char * signal, const QObject * receiver, const char * member )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QCString \fBname\fR - the name of this object"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "const QObject * \fBsender\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBtimerEvent\fR ( QTimerEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBchildEvent\fR ( QChildEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcustomEvent\fR ( QCustomEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBconnectNotify\fR ( const char * signal )"
+.br
+.ti -1c
+.BI "virtual void \fBdisconnectNotify\fR ( const char * signal )"
+.br
+.ti -1c
+.BI "virtual bool \fBcheckConnectArgs\fR ( const char * signal, const QObject * receiver, const char * member )"
+.br
+.in -1c
+.SS "Static Protected Members"
+.in +1c
+.ti -1c
+.BI "QCString \fBnormalizeSignalSlot\fR ( const char * signalSlot )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void * \fBqt_find_obj_child\fR ( QObject * parent, const char * type, const char * name )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QObject class is the base class of all Qt objects.
+.PP
+QObject is the heart of the Qt object model. The central feature in this model is a very powerful mechanism for seamless object communication called signals and slots. You can connect a signal to a slot with connect() and destroy the connection with disconnect(). To avoid never ending notification loops you can temporarily block signals with blockSignals(). The protected functions connectNotify() and disconnectNotify() make it possible to track connections.
+.PP
+QObjects organize themselves in object trees. When you create a QObject with another object as parent, the object will automatically do an insertChild() on the parent and thus show up in the parent's children() list. The parent takes ownership of the object i.e. it will automatically delete its children in its destructor. You can look for an object by name and optionally type using child() or queryList(), and get the list of tree roots using objectTrees().
+.PP
+Every object has an object name() and can report its className() and whether it inherits() another class in the QObject inheritance hierarchy.
+.PP
+When an object is deleted, it emits a destroyed() signal. You can catch this signal to avoid dangling references to QObjects. The QGuardedPtr class provides an elegant way to use this feature.
+.PP
+QObjects can receive events through event() and filter the events of other objects. See installEventFilter() and eventFilter() for details. A convenience handler, childEvent(), can be reimplemented to catch child events.
+.PP
+Last but not least, QObject provides the basic timer support in Qt; see QTimer for high-level support for timers.
+.PP
+Notice that the Q_OBJECT macro is mandatory for any object that implements signals, slots or properties. You also need to run the moc program (Meta Object Compiler) on the source file. We strongly recommend the use of this macro in \fIall\fR subclasses of QObject regardless of whether or not they actually use signals, slots and properties, since failure to do so may lead certain functions to exhibit undefined behaviour.
+.PP
+All Qt widgets inherit QObject. The convenience function isWidgetType() returns whether an object is actually a widget. It is much faster than inherits( "QWidget" ).
+.PP
+Some QObject functions, e.g. children(), objectTrees() and queryList() return a QObjectList. A QObjectList is a QPtrList of QObjects. QObjectLists support the same operations as QPtrLists and have an iterator class, QObjectListIt.
+.PP
+See also Object Model.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QObject::QObject ( QObject * parent = 0, const char * name = 0 )"
+Constructs an object called \fIname\fR with parent object, \fIparent\fR.
+.PP
+The parent of an object may be viewed as the object's owner. For instance, a dialog box is the parent of the" OK" and "Cancel" buttons it contains.
+.PP
+The destructor of a parent object destroys all child objects.
+.PP
+Setting \fIparent\fR to 0 constructs an object with no parent. If the object is a widget, it will become a top-level window.
+.PP
+The object name is some text that can be used to identify a QObject. It's particularly useful in conjunction with \fIQt Designer\fR. You can find an object by name (and type) using child(). To find several objects use queryList().
+.PP
+See also parent(), name, child(), and queryList().
+.SH "QObject::~QObject ()\fC [virtual]\fR"
+Destroys the object, deleting all its child objects.
+.PP
+All signals to and from the object are automatically disconnected.
+.PP
+\fBWarning:\fR All child objects are deleted. If any of these objects are on the stack or global, sooner or later your program will crash. We do not recommend holding pointers to child objects from outside the parent. If you still do, the QObject::destroyed() signal gives you an opportunity to detect when an object is destroyed.
+.PP
+\fBWarning:\fR Deleting a QObject while pending events are waiting to be delivered can cause a crash. You must not delete the QObject directly from a thread that is not the GUI thread. Use the QObject::deleteLater() method instead, which will cause the event loop to delete the object after all pending events have been delivered to the object.
+.SH "void QObject::blockSignals ( bool block )"
+Blocks signals if \fIblock\fR is TRUE, or unblocks signals if \fIblock\fR is FALSE.
+.PP
+Emitted signals disappear into hyperspace if signals are blocked. Note that the destroyed() signals will be emitted even if the signals for this object have been blocked.
+.PP
+Examples:
+.)l rot13/rot13.cpp and simple/main.cpp.
+.SH "bool QObject::checkConnectArgs ( const char * signal, const QObject * receiver, const char * member )\fC [virtual protected]\fR"
+Returns TRUE if the \fIsignal\fR and the \fImember\fR arguments are compatible; otherwise returns FALSE. (The \fIreceiver\fR argument is currently ignored.)
+.PP
+\fBWarning:\fR We recommend that you use the default implementation and do not reimplement this function.
+.SH "QObject * QObject::child ( const char * objName, const char * inheritsClass = 0, bool recursiveSearch = TRUE )"
+Searches the children and optionally grandchildren of this object, and returns a child that is called \fIobjName\fR that inherits \fIinheritsClass\fR. If \fIinheritsClass\fR is 0 (the default), any class matches.
+.PP
+If \fIrecursiveSearch\fR is TRUE (the default), child() performs a depth-first search of the object's children.
+.PP
+If there is no such object, this function returns 0. If there are more than one, the first one found is retured; if you need all of them, use queryList().
+.SH "void QObject::childEvent ( QChildEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive child events.
+.PP
+Child events are sent to objects when children are inserted or removed.
+.PP
+Note that events with QEvent::type() QEvent::ChildInserted are posted (with QApplication::postEvent()) to make sure that the child's construction is completed before this function is called.
+.PP
+If a child is removed immediately after it is inserted, the \fCChildInserted\fR event may be suppressed, but the \fCChildRemoved\fR event will always be sent. In such cases it is possible that there will be a \fCChildRemoved\fR event without a corresponding \fCChildInserted\fR event.
+.PP
+If you change state based on \fCChildInserted\fR events, call QWidget::constPolish(), or do
+.PP
+.nf
+.br
+ QApplication::sendPostedEvents( this, QEvent::ChildInserted );
+.br
+.fi
+in functions that depend on the state. One notable example is QWidget::sizeHint().
+.PP
+See also event() and QChildEvent.
+.PP
+Reimplemented in QMainWindow and QSplitter.
+.SH "const QObjectList * QObject::children () const"
+Returns a list of child objects, or 0 if this object has no children.
+.PP
+The QObjectList class is defined in the qobjectlist.h header file.
+.PP
+The first child added is the first object in the list and the last child added is the last object in the list, i.e. new children are appended at the end.
+.PP
+Note that the list order changes when QWidget children are raised or lowered. A widget that is raised becomes the last object in the list, and a widget that is lowered becomes the first object in the list.
+.PP
+See also child(), queryList(), parent(), insertChild(), and removeChild().
+.SH "const char * QObject::className () const\fC [virtual]\fR"
+Returns the class name of this object.
+.PP
+This function is generated by the Meta Object Compiler.
+.PP
+\fBWarning:\fR This function will return the wrong name if the class definition lacks the Q_OBJECT macro.
+.PP
+See also name, inherits(), isA(), and isWidgetType().
+.PP
+Example: sql/overview/custom1/main.cpp.
+.SH "bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member )\fC [static]\fR"
+Connects \fIsignal\fR from the \fIsender\fR object to \fImember\fR in object \fIreceiver\fR, and returns TRUE if the connection succeeds; otherwise returns FALSE.
+.PP
+You must use the SIGNAL() and SLOT() macros when specifying the \fIsignal\fR and the \fImember\fR, for example:
+.PP
+.nf
+.br
+ QLabel *label = new QLabel;
+.br
+ QScrollBar *scroll = new QScrollBar;
+.br
+ QObject::connect( scroll, SIGNAL(valueChanged(int)),
+.br
+ label, SLOT(setNum(int)) );
+.br
+.fi
+.PP
+This example ensures that the label always displays the current scroll bar value. Note that the signal and slots parameters must not contain any variable names, only the type. E.g. the following would not work and return FALSE: QObject::connect( scroll, SIGNAL(valueChanged(int v)), label, SLOT(setNum(int v)) );
+.PP
+A signal can also be connected to another signal:
+.PP
+.nf
+.br
+ class MyWidget : public QWidget
+.br
+ {
+.br
+ Q_OBJECT
+.br
+ public:
+.br
+ MyWidget();
+.br
+.br
+ signals:
+.br
+ void myUsefulSignal();
+.br
+.br
+ private:
+.br
+ QPushButton *aButton;
+.br
+ };
+.br
+.br
+ MyWidget::MyWidget()
+.br
+ {
+.br
+ aButton = new QPushButton( this );
+.br
+ connect( aButton, SIGNAL(clicked()), SIGNAL(myUsefulSignal()) );
+.br
+ }
+.br
+.fi
+.PP
+In this example, the MyWidget constructor relays a signal from a private member variable, and makes it available under a name that relates to MyWidget.
+.PP
+A signal can be connected to many slots and signals. Many signals can be connected to one slot.
+.PP
+If a signal is connected to several slots, the slots are activated in an arbitrary order when the signal is emitted.
+.PP
+The function returns TRUE if it successfully connects the signal to the slot. It will return FALSE if it cannot create the connection, for example, if QObject is unable to verify the existence of either \fIsignal\fR or \fImember\fR, or if their signatures aren't compatible.
+.PP
+A signal is emitted for \fIevery\fR connection you make, so if you duplicate a connection, two signals will be emitted. You can always break a connection using disconnect().
+.PP
+See also disconnect().
+.PP
+Examples:
+.)l action/main.cpp, application/main.cpp, extension/main.cpp, iconview/main.cpp, network/archivesearch/main.cpp, regexptester/main.cpp, and t2/main.cpp.
+.SH "bool QObject::connect ( const QObject * sender, const char * signal, const char * member ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Connects \fIsignal\fR from the \fIsender\fR object to this object's \fImember\fR.
+.PP
+Equivalent to: \fCQObject::connect(sender, signal, this, member)\fR.
+.PP
+See also disconnect().
+.SH "void QObject::connectNotify ( const char * signal )\fC [virtual protected]\fR"
+This virtual function is called when something has been connected to \fIsignal\fR in this object.
+.PP
+\fBWarning:\fR This function violates the object-oriented principle of modularity. However, it might be useful when you need to perform expensive initialization only if something is connected to a signal.
+.PP
+See also connect() and disconnectNotify().
+.SH "void QObject::customEvent ( QCustomEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive custom events. Custom events are user-defined events with a type value at least as large as the "User" item of the QEvent::Type enum, and is typically a QCustomEvent or QCustomEvent subclass.
+.PP
+See also event() and QCustomEvent.
+.SH "void QObject::deleteLater ()\fC [slot]\fR"
+Performs a deferred deletion of this object.
+.PP
+Instead of an immediate deletion this function schedules a deferred delete event for processing when Qt returns to the main event loop.
+.PP
+Example: table/bigtable/main.cpp.
+.SH "void QObject::destroyed ()\fC [signal]\fR"
+This signal is emitted when the object is being destroyed.
+.PP
+Note that the signal is emitted by the QObject destructor, so the object's virtual table is already degenerated at this point, and it is not safe to call any functions on the object emitting the signal. This signal can not be blocked.
+.PP
+All the objects's children are destroyed immediately after this signal is emitted.
+.SH "void QObject::destroyed ( QObject * obj )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted immediately before the object \fIobj\fR is destroyed, and can not be blocked.
+.PP
+All the objects's children are destroyed immediately after this signal is emitted.
+.SH "bool QObject::disconnect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member )\fC [static]\fR"
+Disconnects \fIsignal\fR in object \fIsender\fR from \fImember\fR in object \fIreceiver\fR.
+.PP
+A signal-slot connection is removed when either of the objects involved are destroyed.
+.PP
+disconnect() is typically used in three ways, as the following examples demonstrate. <ol type=1>
+.IP 1
+Disconnect everything connected to an object's signals:
+.IP
+.nf
+.br
+ disconnect( myObject, 0, 0, 0 );
+.br
+.fi
+equivalent to the non-static overloaded function
+.IP
+.nf
+.br
+ myObject->disconnect();
+.br
+.fi
+.IP 2
+Disconnect everything connected to a specific signal:
+.IP
+.nf
+.br
+ disconnect( myObject, SIGNAL(mySignal()), 0, 0 );
+.br
+.fi
+equivalent to the non-static overloaded function
+.IP
+.nf
+.br
+ myObject->disconnect( SIGNAL(mySignal()) );
+.br
+.fi
+.IP 3
+Disconnect a specific receiver:
+.IP
+.nf
+.br
+ disconnect( myObject, 0, myReceiver, 0 );
+.br
+.fi
+equivalent to the non-static overloaded function
+.IP
+.nf
+.br
+ myObject->disconnect( myReceiver );
+.br
+.fi
+.PP
+0 may be used as a wildcard, meaning "any signal", "any receiving object", or "any slot in the receiving object", respectively.
+.PP
+The \fIsender\fR may never be 0. (You cannot disconnect signals from more than one object in a single call.)
+.PP
+If \fIsignal\fR is 0, it disconnects \fIreceiver\fR and \fImember\fR from any signal. If not, only the specified signal is disconnected.
+.PP
+If \fIreceiver\fR is 0, it disconnects anything connected to \fIsignal\fR. If not, slots in objects other than \fIreceiver\fR are not disconnected.
+.PP
+If \fImember\fR is 0, it disconnects anything that is connected to \fIreceiver\fR. If not, only slots named \fImember\fR will be disconnected, and all other slots are left alone. The \fImember\fR must be 0 if \fIreceiver\fR is left out, so you cannot disconnect a specifically-named slot on all objects.
+.PP
+See also connect().
+.SH "bool QObject::disconnect ( const char * signal = 0, const QObject * receiver = 0, const char * member = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Disconnects \fIsignal\fR from \fImember\fR of \fIreceiver\fR.
+.PP
+A signal-slot connection is removed when either of the objects involved are destroyed.
+.SH "bool QObject::disconnect ( const QObject * receiver, const char * member = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Disconnects all signals in this object from \fIreceiver\fR's \fImember\fR.
+.PP
+A signal-slot connection is removed when either of the objects involved are destroyed.
+.SH "void QObject::disconnectNotify ( const char * signal )\fC [virtual protected]\fR"
+This virtual function is called when something has been disconnected from \fIsignal\fR in this object.
+.PP
+\fBWarning:\fR This function violates the object-oriented principle of modularity. However, it might be useful for optimizing access to expensive resources.
+.PP
+See also disconnect() and connectNotify().
+.SH "void QObject::dumpObjectInfo ()"
+Dumps information about signal connections, etc. for this object to the debug output.
+.PP
+This function is useful for debugging, but does nothing if the library has been compiled in release mode (i.e. without debugging information).
+.SH "void QObject::dumpObjectTree ()"
+Dumps a tree of children to the debug output.
+.PP
+This function is useful for debugging, but does nothing if the library has been compiled in release mode (i.e. without debugging information).
+.SH "bool QObject::event ( QEvent * e )\fC [virtual]\fR"
+This virtual function receives events to an object and should return TRUE if the event \fIe\fR was recognized and processed.
+.PP
+The event() function can be reimplemented to customize the behavior of an object.
+.PP
+See also installEventFilter(), timerEvent(), QApplication::sendEvent(), QApplication::postEvent(), and QWidget::event().
+.PP
+Reimplemented in QWidget.
+.SH "bool QObject::eventFilter ( QObject * watched, QEvent * e )\fC [virtual]\fR"
+Filters events if this object has been installed as an event filter for the \fIwatched\fR object.
+.PP
+In your reimplementation of this function, if you want to filter the event \fIe\fR, out, i.e. stop it being handled further, return TRUE; otherwise return FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ class MyMainWindow : public QMainWindow
+.br
+ {
+.br
+ public:
+.br
+ MyMainWindow( QWidget *parent = 0, const char *name = 0 );
+.br
+.br
+ protected:
+.br
+ bool eventFilter( QObject *obj, QEvent *ev );
+.br
+.br
+ private:
+.br
+ QTextEdit *textEdit;
+.br
+ };
+.br
+.br
+ MyMainWindow::MyMainWindow( QWidget *parent, const char *name )
+.br
+ : QMainWindow( parent, name )
+.br
+ {
+.br
+ textEdit = new QTextEdit( this );
+.br
+ setCentralWidget( textEdit );
+.br
+ textEdit->installEventFilter( this );
+.br
+ }
+.br
+.br
+ bool MyMainWindow::eventFilter( QObject *obj, QEvent *ev )
+.br
+ {
+.br
+ if ( obj == textEdit ) {
+.br
+ if ( e->type() == QEvent::KeyPress ) {
+.br
+ QKeyEvent *k = (QKeyEvent*)ev;
+.br
+ qDebug( "Ate key press %d", k->key() );
+.br
+ return TRUE;
+.br
+ } else {
+.br
+ return FALSE;
+.br
+ }
+.br
+ } else {
+.br
+ // pass the event on to the parent class
+.br
+ return QMainWindow::eventFilter( obj, ev );
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+Notice in the example above that unhandled events are passed to the base class's eventFilter() function, since the base class might have reimplemented eventFilter() for its own internal purposes.
+.PP
+\fBWarning:\fR If you delete the receiver object in this function, be sure to return TRUE. Otherwise, Qt will forward the event to the deleted object and the program might crash.
+.PP
+See also installEventFilter().
+.PP
+Reimplemented in QAccel, QScrollView, and QSpinBox.
+.SH "bool QObject::highPriority () const"
+Returns TRUE if the object is a high-priority object, or FALSE if it is a standard-priority object.
+.PP
+High-priority objects are placed first in QObject's list of children on the assumption that they will be referenced very often.
+.SH "bool QObject::inherits ( const char * clname ) const"
+Returns TRUE if this object is an instance of a class that inherits \fIclname\fR, and \fIclname\fR inherits QObject; otherwise returns FALSE.
+.PP
+A class is considered to inherit itself.
+.PP
+Example:
+.PP
+.nf
+.br
+ QTimer *t = new QTimer; // QTimer inherits QObject
+.br
+ t->inherits( "QTimer" ); // returns TRUE
+.br
+ t->inherits( "QObject" ); // returns TRUE
+.br
+ t->inherits( "QButton" ); // returns FALSE
+.br
+.br
+ // QScrollBar inherits QWidget and QRangeControl
+.br
+ QScrollBar *s = new QScrollBar( 0 );
+.br
+ s->inherits( "QWidget" ); // returns TRUE
+.br
+ s->inherits( "QRangeControl" ); // returns FALSE
+.br
+.fi
+.PP
+(QRangeControl is not a QObject.)
+.PP
+See also isA() and metaObject().
+.PP
+Examples:
+.)l table/statistics/statistics.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "void QObject::insertChild ( QObject * obj )\fC [virtual]\fR"
+Inserts an object \fIobj\fR into the list of child objects.
+.PP
+\fBWarning:\fR This function cannot be used to make one widget the child widget of another widget. Child widgets can only be created by setting the parent widget in the constructor or by calling QWidget::reparent().
+.PP
+See also removeChild() and QWidget::reparent().
+.SH "void QObject::installEventFilter ( const QObject * filterObj )"
+Installs an event filter \fIfilterObj\fR on this object. For example:
+.PP
+.nf
+.br
+ monitoredObj->installEventFilter( filterObj );
+.br
+.fi
+.PP
+An event filter is an object that receives all events that are sent to this object. The filter can either stop the event or forward it to this object. The event filter \fIfilterObj\fR receives events via its eventFilter() function. The eventFilter() function must return TRUE if the event should be filtered, (i.e. stopped); otherwise it must return FALSE.
+.PP
+If multiple event filters are installed on a single object, the filter that was installed last is activated first.
+.PP
+Here's a \fCKeyPressEater\fR class that eats the key presses of its monitored objects:
+.PP
+.nf
+.br
+ class KeyPressEater : public QObject
+.br
+ {
+.br
+ ...
+.br
+ protected:
+.br
+ bool eventFilter( QObject *o, QEvent *e );
+.br
+ };
+.br
+.br
+ bool KeyPressEater::eventFilter( QObject *o, QEvent *e )
+.br
+ {
+.br
+ if ( e->type() == QEvent::KeyPress ) {
+.br
+ // special processing for key press
+.br
+ QKeyEvent *k = (QKeyEvent *)e;
+.br
+ qDebug( "Ate key press %d", k->key() );
+.br
+ return TRUE; // eat event
+.br
+ } else {
+.br
+ // standard event processing
+.br
+ return FALSE;
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+And here's how to install it on two widgets:
+.PP
+.nf
+.br
+ KeyPressEater *keyPressEater = new KeyPressEater( this );
+.br
+ QPushButton *pushButton = new QPushButton( this );
+.br
+ QListView *listView = new QListView( this );
+.br
+.br
+ pushButton->installEventFilter( keyPressEater );
+.br
+ listView->installEventFilter( keyPressEater );
+.br
+.fi
+.PP
+The QAccel class, for example, uses this technique to intercept accelerator key presses.
+.PP
+\fBWarning:\fR If you delete the receiver object in your eventFilter() function, be sure to return TRUE. If you return FALSE, Qt sends the event to the deleted object and the program will crash.
+.PP
+See also removeEventFilter(), eventFilter(), and event().
+.SH "bool QObject::isA ( const char * clname ) const"
+Returns TRUE if this object is an instance of the class \fIclname\fR; otherwise returns FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ QTimer *t = new QTimer; // QTimer inherits QObject
+.br
+ t->isA( "QTimer" ); // returns TRUE
+.br
+ t->isA( "QObject" ); // returns FALSE
+.br
+.fi
+.PP
+See also inherits() and metaObject().
+.SH "bool QObject::isWidgetType () const"
+Returns TRUE if the object is a widget; otherwise returns FALSE.
+.PP
+Calling this function is equivalent to calling inherits("QWidget"), except that it is much faster.
+.SH "void QObject::killTimer ( int id )"
+Kills the timer with timer identifier, \fIid\fR.
+.PP
+The timer identifier is returned by startTimer() when a timer event is started.
+.PP
+See also timerEvent(), startTimer(), and killTimers().
+.SH "void QObject::killTimers ()"
+Kills all timers that this object has started.
+.PP
+\fBWarning:\fR Using this function can cause hard-to-find bugs: it kills timers started by sub- and superclasses as well as those started by you, which is often not what you want. We recommend using a QTimer or perhaps killTimer().
+.PP
+See also timerEvent(), startTimer(), and killTimer().
+.SH "QMetaObject * QObject::metaObject () const\fC [virtual]\fR"
+Returns a pointer to the meta object of this object.
+.PP
+A meta object contains information about a class that inherits QObject, e.g. class name, superclass name, properties, signals and slots. Every class that contains the Q_OBJECT macro will also have a meta object.
+.PP
+The meta object information is required by the signal/slot connection mechanism and the property system. The functions isA() and inherits() also make use of the meta object.
+.SH "const char * QObject::name () const"
+Returns the name of this object. See the "name" property for details.
+.SH "const char * QObject::name ( const char * defaultName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the name of this object, or \fIdefaultName\fR if the object does not have a name.
+.SH "QCString QObject::normalizeSignalSlot ( const char * signalSlot )\fC [static protected]\fR"
+Normlizes the signal or slot definition \fIsignalSlot\fR by removing unnecessary whitespace.
+.SH "const QObjectList * QObject::objectTrees ()\fC [static]\fR"
+Returns a pointer to the list of all object trees (their root objects), or 0 if there are no objects.
+.PP
+The QObjectList class is defined in the qobjectlist.h header file.
+.PP
+The most recent root object created is the first object in the list and the first root object added is the last object in the list.
+.PP
+See also children(), parent(), insertChild(), and removeChild().
+.SH "QObject * QObject::parent () const"
+Returns a pointer to the parent object.
+.PP
+See also children().
+.SH "QVariant QObject::property ( const char * name ) const\fC [virtual]\fR"
+Returns the value of the object's \fIname\fR property.
+.PP
+If no such property exists, the returned variant is invalid.
+.PP
+Information about all available properties are provided through the metaObject().
+.PP
+See also setProperty(), QVariant::isValid(), metaObject(), QMetaObject::propertyNames(), and QMetaObject::property().
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "QObjectList * QObject::queryList ( const char * inheritsClass = 0, const char * objName = 0, bool regexpMatch = TRUE, bool recursiveSearch = TRUE ) const"
+Searches the children and optionally grandchildren of this object, and returns a list of those objects that are named or that match \fIobjName\fR and inherit \fIinheritsClass\fR. If \fIinheritsClass\fR is 0 (the default), all classes match. If \fIobjName\fR is 0 (the default), all object names match.
+.PP
+If \fIregexpMatch\fR is TRUE (the default), \fIobjName\fR is a regular expression that the objects's names must match. The syntax is that of a QRegExp. If \fIregexpMatch\fR is FALSE, \fIobjName\fR is a string and object names must match it exactly.
+.PP
+Note that \fIinheritsClass\fR uses single inheritance from QObject, the way inherits() does. According to inherits(), QMenuBar inherits QWidget but not QMenuData. This does not quite match reality, but is the best that can be done on the wide variety of compilers Qt supports.
+.PP
+Finally, if \fIrecursiveSearch\fR is TRUE (the default), queryList() searches \fIn\fRth-generation as well as first-generation children.
+.PP
+If all this seems a bit complex for your needs, the simpler child() function may be what you want.
+.PP
+This somewhat contrived example disables all the buttons in this window:
+.PP
+.nf
+.br
+ QObjectList *l = topLevelWidget()->queryList( "QButton" );
+.br
+ QObjectListIt it( *l ); // iterate over the buttons
+.br
+ QObject *obj;
+.br
+.br
+ while ( (obj = it.current()) != 0 ) {
+.br
+ // for each found object...
+.br
+ ++it;
+.br
+ ((QButton*)obj)->setEnabled( FALSE );
+.br
+ }
+.br
+ delete l; // delete the list, not the objects
+.br
+.fi
+.PP
+The QObjectList class is defined in the qobjectlist.h header file.
+.PP
+\fBWarning:\fR Delete the list as soon you have finished using it. The list contains pointers that may become invalid at almost any time without notice (as soon as the user closes a window you may have dangling pointers, for example).
+.PP
+See also child(), children(), parent(), inherits(), name, and QRegExp.
+.SH "void QObject::removeChild ( QObject * obj )\fC [virtual]\fR"
+Removes the child object \fIobj\fR from the list of children.
+.PP
+\fBWarning:\fR This function will not remove a child widget from the screen. It will only remove it from the parent widget's list of children.
+.PP
+See also insertChild() and QWidget::reparent().
+.SH "void QObject::removeEventFilter ( const QObject * obj )"
+Removes an event filter object \fIobj\fR from this object. The request is ignored if such an event filter has not been installed.
+.PP
+All event filters for this object are automatically removed when this object is destroyed.
+.PP
+It is always safe to remove an event filter, even during event filter activation (i.e. from the eventFilter() function).
+.PP
+See also installEventFilter(), eventFilter(), and event().
+.SH "const QObject * QObject::sender ()\fC [protected]\fR"
+Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. The pointer is valid only during the execution of the slot that calls this function.
+.PP
+The pointer returned by this function becomes invalid if the sender is destroyed, or if the slot is disconnected from the sender's signal.
+.PP
+\fBWarning:\fR This function violates the object-oriented principle of modularity. However, getting access to the sender might be useful when many signals are connected to a single slot. The sender is undefined if the slot is called as a normal C++ function.
+.SH "void QObject::setName ( const char * name )\fC [virtual]\fR"
+Sets the object's name to \fIname\fR.
+.SH "bool QObject::setProperty ( const char * name, const QVariant & value )\fC [virtual]\fR"
+Sets the value of the object's \fIname\fR property to \fIvalue\fR.
+.PP
+Returns TRUE if the operation was successful; otherwise returns FALSE.
+.PP
+Information about all available properties is provided through the metaObject().
+.PP
+See also property(), metaObject(), QMetaObject::propertyNames(), and QMetaObject::property().
+.PP
+Example: qutlook/centralwidget.cpp.
+.SH "bool QObject::signalsBlocked () const"
+Returns TRUE if signals are blocked; otherwise returns FALSE.
+.PP
+Signals are not blocked by default.
+.PP
+See also blockSignals().
+.SH "int QObject::startTimer ( int interval )"
+Starts a timer and returns a timer identifier, or returns zero if it could not start a timer.
+.PP
+A timer event will occur every \fIinterval\fR milliseconds until killTimer() or killTimers() is called. If \fIinterval\fR is 0, then the timer event occurs once every time there are no more window system events to process.
+.PP
+The virtual timerEvent() function is called with the QTimerEvent event parameter class when a timer event occurs. Reimplement this function to get timer events.
+.PP
+If multiple timers are running, the QTimerEvent::timerId() can be used to find out which timer was activated.
+.PP
+Example:
+.PP
+.nf
+.br
+ class MyObject : public QObject
+.br
+ {
+.br
+ Q_OBJECT
+.br
+ public:
+.br
+ MyObject( QObject *parent = 0, const char *name = 0 );
+.br
+.br
+ protected:
+.br
+ void timerEvent( QTimerEvent * );
+.br
+ };
+.br
+.br
+ MyObject::MyObject( QObject *parent, const char *name )
+.br
+ : QObject( parent, name )
+.br
+ {
+.br
+ startTimer( 50 ); // 50-millisecond timer
+.br
+ startTimer( 1000 ); // 1-second timer
+.br
+ startTimer( 60000 ); // 1-minute timer
+.br
+ }
+.br
+.br
+ void MyObject::timerEvent( QTimerEvent *e )
+.br
+ {
+.br
+ qDebug( "timer event, id %d", e->timerId() );
+.br
+ }
+.br
+.fi
+.PP
+Note that QTimer's accuracy depends on the underlying operating system and hardware. Most platforms support an accuracy of 20 ms; some provide more. If Qt is unable to deliver the requested number of timer clicks, it will silently discard some.
+.PP
+The QTimer class provides a high-level programming interface with one-shot timers and timer signals instead of events.
+.PP
+See also timerEvent(), killTimer(), killTimers(), QEventLoop::awake(), and QEventLoop::aboutToBlock().
+.SH "void QObject::timerEvent ( QTimerEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive timer events for the object.
+.PP
+QTimer provides a higher-level interface to the timer functionality, and also more general information about timers.
+.PP
+See also startTimer(), killTimer(), killTimers(), and event().
+.PP
+Examples:
+.)l biff/biff.cpp, dclock/dclock.cpp, forever/forever.cpp, grapher/grapher.cpp, qmag/qmag.cpp, and xform/xform.cpp.
+.SH "QString QObject::tr ( const char * sourceText, const char * comment )\fC [static]\fR"
+Returns a translated version of \fIsourceText\fR, or \fIsourceText\fR itself if there is no appropriate translated version. The translation context is QObject with \fIcomment\fR (0 by default). All QObject subclasses using the Q_OBJECT macro automatically have a reimplementation of this function with the subclass name as context.
+.PP
+\fBWarning:\fR This method is reentrant only if all translators are installed \fIbefore\fR calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.
+.PP
+See also trUtf8(), QApplication::translate(), and Internationalization with Qt.
+.PP
+Example: network/networkprotocol/view.cpp.
+.SH "QString QObject::trUtf8 ( const char * sourceText, const char * comment )\fC [static]\fR"
+Returns a translated version of \fIsourceText\fR, or QString::fromUtf8(\fIsourceText\fR) if there is no appropriate version. It is otherwise identical to tr(\fIsourceText\fR, \fIcomment\fR).
+.PP
+\fBWarning:\fR This method is reentrant only if all translators are installed \fIbefore\fR calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.
+.PP
+See also tr() and QApplication::translate().
+.SS "Property Documentation"
+.SH "QCString name"
+This property holds the name of this object.
+.PP
+You can find an object by name (and type) using child(). You can find a set of objects with queryList().
+.PP
+The object name is set by the constructor or by the setName() function. The object name is not very useful in the current version of Qt, but will become increasingly important in the future.
+.PP
+If the object does not have a name, the name() function returns" unnamed", so printf() (used in qDebug()) will not be asked to output a null pointer. If you want a null pointer to be returned for unnamed objects, you can call name( 0 ).
+.PP
+.nf
+.br
+ qDebug( "MyClass::setPrecision(): (%s) invalid precision %f",
+.br
+ name(), newPrecision );
+.br
+.fi
+.PP
+See also className(), child(), and queryList().
+.PP
+Set this property's value with setName() and get this property's value with name().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void * qt_find_obj_child ( QObject * parent, const char * type, const char * name )"
+Returns a pointer to the object named \fIname\fR that inherits \fItype\fR and with a given \fIparent\fR.
+.PP
+Returns 0 if there is no such child.
+.PP
+.nf
+.br
+ QListBox *c = (QListBox *) qt_find_obj_child( myWidget, "QListBox",
+.br
+ "my list box" );
+.br
+ if ( c )
+.br
+ c->insertItem( "another string" );
+.br
+.fi
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qobject.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qobject.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qobjectcleanuphandler.3qt b/doc/man/man3/qobjectcleanuphandler.3qt
new file mode 100644
index 0000000..0698efb
--- /dev/null
+++ b/doc/man/man3/qobjectcleanuphandler.3qt
@@ -0,0 +1,152 @@
+'\" t
+.TH QObjectCleanupHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QObjectCleanupHandler \- Watches the lifetime of multiple QObjects
+.SH SYNOPSIS
+\fC#include <qobjectcleanuphandler.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQObjectCleanupHandler\fR ()"
+.br
+.ti -1c
+.BI "\fB~QObjectCleanupHandler\fR ()"
+.br
+.ti -1c
+.BI "QObject * \fBadd\fR ( QObject * object )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QObject * object )"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QObjectCleanupHandler class watches the lifetime of multiple QObjects.
+.PP
+A QObjectCleanupHandler is useful whenever you need to know when a number of QObjects that are owned by someone else have been deleted. This is important, for example, when referencing memory in an application that has been allocated in a shared library.
+.PP
+Example:
+.PP
+.nf
+.br
+ class FactoryComponent : public FactoryInterface, public QLibraryInterface
+.br
+ {
+.br
+ public:
+.br
+ ...
+.br
+.br
+ QObject *createObject();
+.br
+.br
+ bool init();
+.br
+ void cleanup();
+.br
+ bool canUnload() const;
+.br
+.br
+ private:
+.br
+ QObjectCleanupHandler objects;
+.br
+ };
+.br
+.br
+ // allocate a new object, and add it to the cleanup handler
+.br
+ QObject *FactoryComponent::createObject()
+.br
+ {
+.br
+ return objects.add( new QObject() );
+.br
+ }
+.br
+.br
+ // QLibraryInterface implementation
+.br
+ bool FactoryComponent::init()
+.br
+ {
+.br
+ return TRUE;
+.br
+ }
+.br
+.br
+ void FactoryComponent::cleanup()
+.br
+ {
+.br
+ }
+.br
+.br
+ // it is only safe to unload the library when all QObject's have been destroyed
+.br
+ bool FactoryComponent::canUnload() const
+.br
+ {
+.br
+ return objects.isEmpty();
+.br
+ }
+.br
+.fi
+.PP
+See also Object Model.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QObjectCleanupHandler::QObjectCleanupHandler ()"
+Constructs an empty QObjectCleanupHandler.
+.SH "QObjectCleanupHandler::~QObjectCleanupHandler ()"
+Destroys the cleanup handler. All objects in this cleanup handler will be deleted.
+.SH "QObject * QObjectCleanupHandler::add ( QObject * object )"
+Adds \fIobject\fR to this cleanup handler and returns the pointer to the object.
+.SH "void QObjectCleanupHandler::clear ()"
+Deletes all objects in this cleanup handler. The cleanup handler becomes empty.
+.SH "bool QObjectCleanupHandler::isEmpty () const"
+Returns TRUE if this cleanup handler is empty or if all objects in this cleanup handler have been destroyed; otherwise return FALSE.
+.SH "void QObjectCleanupHandler::remove ( QObject * object )"
+Removes the \fIobject\fR from this cleanup handler. The object will
+not be destroyed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qobjectcleanuphandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qobjectcleanuphandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qobjectlist.3qt b/doc/man/man3/qobjectlist.3qt
new file mode 100644
index 0000000..ed4c7fb
--- /dev/null
+++ b/doc/man/man3/qobjectlist.3qt
@@ -0,0 +1,81 @@
+'\" t
+.TH QObjectList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QObjectList \- QPtrList of QObjects
+.SH SYNOPSIS
+\fC#include <qobjectlist.h>\fR
+.PP
+Inherits QPtrList<QObject>.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQObjectList\fR ()"
+.br
+.ti -1c
+.BI "\fBQObjectList\fR ( const QObjectList & list )"
+.br
+.ti -1c
+.BI "\fB~QObjectList\fR ()"
+.br
+.ti -1c
+.BI "QObjectList & \fBoperator=\fR ( const QObjectList & list )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QObjectList class is a QPtrList of QObjects.
+.PP
+A QObjectList is a QPtrList<QObject>. The list can be traversed using inherited functions, e.g. getFirst(), next(), etc., or using a QObjectListIterator iterator.
+.PP
+See QObject::queryList() for an example of use.
+.PP
+See also QObjectListIterator, QObject, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QObjectList::QObjectList ()"
+Constructs an empty QObject list.
+.SH "QObjectList::QObjectList ( const QObjectList & list )"
+Constructs a copy of \fIlist\fR.
+.PP
+Each item in \fIlist\fR is appended to this list. Only the pointers are copied (shallow copy).
+.SH "QObjectList::~QObjectList ()"
+Removes all the object pointers from the list and destroys the list.
+.PP
+All list iterators that access this list will be reset.
+.PP
+See also setAutoDelete().
+.SH "QObjectList & QObjectList::operator= ( const QObjectList & list )"
+Assigns \fIlist\fR to this list and returns a reference to this list.
+.PP
+This list is first cleared and then each item in \fIlist\fR is appended to this list. Only the pointers are
+copied (shallow copy) unless newItem() has been reimplemented().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qobjectlist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qobjectlist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qobjectlistiterator.3qt b/doc/man/man3/qobjectlistiterator.3qt
new file mode 100644
index 0000000..f3eabee
--- /dev/null
+++ b/doc/man/man3/qobjectlistiterator.3qt
@@ -0,0 +1,63 @@
+'\" t
+.TH QObjectListIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QObjectListIterator \- Iterator for QObjectLists
+.SH SYNOPSIS
+\fC#include <qobjectlist.h>\fR
+.PP
+Inherits QPtrListIterator<QObject>.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQObjectListIterator\fR ( const QObjectList & list )"
+.br
+.ti -1c
+.BI "QObjectListIterator & \fBoperator=\fR ( const QObjectListIterator & it )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QObjectListIterator class provides an iterator for QObjectLists.
+.PP
+A QObjectListIterator iterator is a QPtrListIterator<QObject>.
+.PP
+See QObject::queryList() for an example of use.
+.PP
+See also QObjectList, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QObjectListIterator::QObjectListIterator ( const QObjectList & list )"
+Constructs an iterator for \fIlist\fR. The current iterator item is set to point on the first item in the \fIlist\fR.
+.SH "QObjectListIterator & QObjectListIterator::operator= ( const QObjectListIterator & it )"
+Assignment. Makes a copy of the iterator \fIit\fR and returns a
+reference to this iterator.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qobjectlistiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qobjectlistiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpaintdevice.3qt b/doc/man/man3/qpaintdevice.3qt
new file mode 100644
index 0000000..d8933e2
--- /dev/null
+++ b/doc/man/man3/qpaintdevice.3qt
@@ -0,0 +1,384 @@
+'\" t
+.TH QPaintDevice 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPaintDevice \- The base class of objects that can be painted
+.SH SYNOPSIS
+\fC#include <qpaintdevice.h>\fR
+.PP
+Inherited by QWidget, QPixmap, QPicture, and QPrinter.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QPaintDevice\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisExtDev\fR () const"
+.br
+.ti -1c
+.BI "bool \fBpaintingActive\fR () const"
+.br
+.ti -1c
+.BI "virtual HDC \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "virtual Qt::HANDLE \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "Display * \fBx11Display\fR () const"
+.br
+.ti -1c
+.BI "int \fBx11Screen\fR () const"
+.br
+.ti -1c
+.BI "int \fBx11Depth\fR () const"
+.br
+.ti -1c
+.BI "int \fBx11Cells\fR () const"
+.br
+.ti -1c
+.BI "Qt::HANDLE \fBx11Colormap\fR () const"
+.br
+.ti -1c
+.BI "bool \fBx11DefaultColormap\fR () const"
+.br
+.ti -1c
+.BI "void * \fBx11Visual\fR () const"
+.br
+.ti -1c
+.BI "bool \fBx11DefaultVisual\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "Display * \fBx11AppDisplay\fR ()"
+.br
+.ti -1c
+.BI "int \fBx11AppScreen\fR ()"
+.br
+.ti -1c
+.BI "int \fBx11AppDpiX\fR ()"
+.br
+.ti -1c
+.BI "int \fBx11AppDpiY\fR ()"
+.br
+.ti -1c
+.BI "void \fBx11SetAppDpiX\fR ( int dpi )"
+.br
+.ti -1c
+.BI "void \fBx11SetAppDpiY\fR ( int dpi )"
+.br
+.ti -1c
+.BI "int \fBx11AppDepth\fR ()"
+.br
+.ti -1c
+.BI "int \fBx11AppCells\fR ()"
+.br
+.ti -1c
+.BI "Qt::HANDLE \fBx11AppRootWindow\fR ()"
+.br
+.ti -1c
+.BI "Qt::HANDLE \fBx11AppColormap\fR ()"
+.br
+.ti -1c
+.BI "bool \fBx11AppDefaultColormap\fR ()"
+.br
+.ti -1c
+.BI "void * \fBx11AppVisual\fR ()"
+.br
+.ti -1c
+.BI "bool \fBx11AppDefaultVisual\fR ()"
+.br
+.ti -1c
+.BI "int \fBx11AppDepth\fR ( int screen )"
+.br
+.ti -1c
+.BI "int \fBx11AppCells\fR ( int screen )"
+.br
+.ti -1c
+.BI "Qt::HANDLE \fBx11AppRootWindow\fR ( int screen )"
+.br
+.ti -1c
+.BI "Qt::HANDLE \fBx11AppColormap\fR ( int screen )"
+.br
+.ti -1c
+.BI "void * \fBx11AppVisual\fR ( int screen )"
+.br
+.ti -1c
+.BI "bool \fBx11AppDefaultColormap\fR ( int screen )"
+.br
+.ti -1c
+.BI "bool \fBx11AppDefaultVisual\fR ( int screen )"
+.br
+.ti -1c
+.BI "int \fBx11AppDpiX\fR ( int screen )"
+.br
+.ti -1c
+.BI "int \fBx11AppDpiY\fR ( int screen )"
+.br
+.ti -1c
+.BI "void \fBx11SetAppDpiX\fR ( int dpi, int screen )"
+.br
+.ti -1c
+.BI "void \fBx11SetAppDpiY\fR ( int dpi, int screen )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQPaintDevice\fR ( uint devflags )"
+.br
+.ti -1c
+.BI "virtual bool \fBcmd\fR ( int, QPainter *, QPDevCmdParam * )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void \fBbitBlt\fR ( QPaintDevice * dst, int dx, int dy, const QPaintDevice * src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool ignoreMask )"
+.br
+.ti -1c
+.BI "void \fBbitBlt\fR ( QPaintDevice * dst, const QPoint & dp, const QPaintDevice * src, const QRect & sr, RasterOp rop )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPaintDevice class is the base class of objects that can be painted.
+.PP
+A paint device is an abstraction of a two-dimensional space that can be drawn using a QPainter. The drawing capabilities are implemented by the subclasses QWidget, QPixmap, QPicture and QPrinter.
+.PP
+The default coordinate system of a paint device has its origin located at the top-left position. X increases to the right and Y increases downward. The unit is one pixel. There are several ways to set up a user-defined coordinate system using the painter, for example, using QPainter::setWorldMatrix().
+.PP
+Example (draw on a paint device):
+.PP
+.nf
+.br
+ void MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p; // our painter
+.br
+ p.begin( this ); // start painting the widget
+.br
+ p.setPen( red ); // red outline
+.br
+ p.setBrush( yellow ); // yellow fill
+.br
+ p.drawEllipse( 10, 20, 100,100 ); // 100x100 ellipse at position (10, 20)
+.br
+ p.end(); // painting done
+.br
+ }
+.br
+.fi
+.PP
+The bit block transfer is an extremely useful operation for copying pixels from one paint device to another (or to itself). It is implemented as the global function bitBlt().
+.PP
+Example (scroll widget contents 10 pixels to the right):
+.PP
+.nf
+.br
+ bitBlt( myWidget, 10, 0, myWidget );
+.br
+.fi
+.PP
+\fBWarning:\fR Qt requires that a QApplication object exists before any paint devices can be created. Paint devices access window system resources, and these resources are not initialized before an application object is created.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPaintDevice::QPaintDevice ( uint devflags )\fC [protected]\fR"
+Constructs a paint device with internal flags \fIdevflags\fR. This constructor can be invoked only from QPaintDevice subclasses.
+.SH "QPaintDevice::~QPaintDevice ()\fC [virtual]\fR"
+Destroys the paint device and frees window system resources.
+.SH "bool QPaintDevice::cmd ( int, QPainter *, QPDevCmdParam * )\fC [virtual protected]\fR"
+Internal virtual function that interprets drawing commands from the painter.
+.PP
+Implemented by subclasses that have no direct support for drawing graphics (external paint devices, for example, QPicture).
+.SH "Qt::HANDLE QPaintDevice::handle () const\fC [virtual]\fR"
+Returns the window system handle of the paint device, for low-level access. Using this function is not portable.
+.PP
+The HANDLE type varies with platform; see qpaintdevice.h and qwindowdefs.h for details.
+.PP
+See also x11Display().
+.SH "bool QPaintDevice::isExtDev () const"
+Returns TRUE if the device is an external paint device; otherwise returns FALSE.
+.PP
+External paint devices cannot be bitBlt()'ed from. QPicture and QPrinter are external paint devices.
+.SH "bool QPaintDevice::paintingActive () const"
+Returns TRUE if the device is being painted, i.e. someone has called QPainter::begin() but not yet called QPainter::end() for this device; otherwise returns FALSE.
+.PP
+See also QPainter::isActive().
+.SH "int QPaintDevice::x11AppCells ()\fC [static]\fR"
+Returns the number of entries in the colormap for the default screen of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Colormap().
+.SH "int QPaintDevice::x11AppCells ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of entries in the colormap for screen \fIscreen\fR of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Colormap().
+.SH "Qt::HANDLE QPaintDevice::x11AppColormap ()\fC [static]\fR"
+Returns the colormap for the default screen of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "Qt::HANDLE QPaintDevice::x11AppColormap ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the colormap for screen \fIscreen\fR of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "bool QPaintDevice::x11AppDefaultColormap ()\fC [static]\fR"
+Returns the default colormap for the default screen of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "bool QPaintDevice::x11AppDefaultColormap ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the default colormap for screen \fIscreen\fR of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "bool QPaintDevice::x11AppDefaultVisual ()\fC [static]\fR"
+Returns TRUE if the Visual used is the default for the default screen of the X display global to the application (X11 only); otherwise returns FALSE. Using this function is not portable.
+.SH "bool QPaintDevice::x11AppDefaultVisual ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the Visual used is the default for screen \fIscreen\fR of the X display global to the application (X11 only); otherwise returns FALSE. Using this function is not portable.
+.SH "int QPaintDevice::x11AppDepth ( int screen )\fC [static]\fR"
+Returns the depth for screen \fIscreen\fR of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also QPixmap::defaultDepth().
+.SH "int QPaintDevice::x11AppDepth ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the depth for the default screen of the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also QPixmap::defaultDepth().
+.SH "Display * QPaintDevice::x11AppDisplay ()\fC [static]\fR"
+Returns a pointer to the X display global to the application (X11 only). Using this function is not portable.
+.PP
+See also handle().
+.SH "int QPaintDevice::x11AppDpiX ( int screen )\fC [static]\fR"
+Returns the horizontal DPI of the X display (X11 only) for screen \fIscreen\fR. Using this function is not portable. See QPaintDeviceMetrics for portable access to related information. Using this function is not portable.
+.PP
+See also x11AppDpiY(), x11SetAppDpiX(), and QPaintDeviceMetrics::logicalDpiX().
+.SH "int QPaintDevice::x11AppDpiX ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the horizontal DPI of the X display (X11 only) for the default screen. Using this function is not portable. See QPaintDeviceMetrics for portable access to related information. Using this function is not portable.
+.SH "int QPaintDevice::x11AppDpiY ( int screen )\fC [static]\fR"
+Returns the vertical DPI of the X11 display (X11 only) for screen \fIscreen\fR. Using this function is not portable. See QPaintDeviceMetrics for portable access to related information. Using this function is not portable.
+.PP
+See also x11AppDpiX(), x11SetAppDpiY(), and QPaintDeviceMetrics::logicalDpiY().
+.SH "int QPaintDevice::x11AppDpiY ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the vertical DPI of the X11 display (X11 only) for the default screen. Using this function is not portable. See QPaintDeviceMetrics for portable access to related information. Using this function is not portable.
+.PP
+See also x11AppDpiX(), x11SetAppDpiY(), and QPaintDeviceMetrics::logicalDpiY().
+.SH "Qt::HANDLE QPaintDevice::x11AppRootWindow ()\fC [static]\fR"
+Returns the root window for the default screen of the X display global to the applicatoin (X11 only). Using this function is not portable.
+.SH "Qt::HANDLE QPaintDevice::x11AppRootWindow ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the root window for screen \fIscreen\fR of the X display global to the applicatoin (X11 only). Using this function is not portable.
+.SH "int QPaintDevice::x11AppScreen ()\fC [static]\fR"
+Returns the screen number on the X display global to the application (X11 only). Using this function is not portable.
+.SH "void * QPaintDevice::x11AppVisual ()\fC [static]\fR"
+Returns the Visual for the default screen of the X display global to the application (X11 only). Using this function is not portable.
+.SH "void * QPaintDevice::x11AppVisual ( int screen )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the Visual for screen \fIscreen\fR of the X display global to the application (X11 only). Using this function is not portable.
+.SH "int QPaintDevice::x11Cells () const"
+Returns the number of entries in the colormap of the X display for the paint device (X11 only). Using this function is not portable.
+.PP
+See also x11Colormap().
+.SH "Qt::HANDLE QPaintDevice::x11Colormap () const"
+Returns the colormap of the X display for the paint device (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "bool QPaintDevice::x11DefaultColormap () const"
+Returns the default colormap of the X display for the paint device (X11 only). Using this function is not portable.
+.PP
+See also x11Cells().
+.SH "bool QPaintDevice::x11DefaultVisual () const"
+Returns the default Visual of the X display for the paint device (X11 only). Using this function is not portable.
+.SH "int QPaintDevice::x11Depth () const"
+Returns the depth of the X display for the paint device (X11 only). Using this function is not portable.
+.PP
+See also QPixmap::defaultDepth().
+.SH "Display * QPaintDevice::x11Display () const"
+Returns a pointer to the X display for the paint device (X11 only). Using this function is not portable.
+.PP
+See also handle().
+.SH "int QPaintDevice::x11Screen () const"
+Returns the screen number on the X display for the paint device (X11 only). Using this function is not portable.
+.SH "void QPaintDevice::x11SetAppDpiX ( int dpi, int screen )\fC [static]\fR"
+Sets the value returned by x11AppDpiX() to \fIdpi\fR for screen \fIscreen\fR. The default is determined by the display configuration. Changing this value will alter the scaling of fonts and many other metrics and is not recommended. Using this function is not portable.
+.PP
+See also x11SetAppDpiY().
+.SH "void QPaintDevice::x11SetAppDpiX ( int dpi )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the value returned by x11AppDpiX() to \fIdpi\fR for the default screen. The default is determined by the display configuration. Changing this value will alter the scaling of fonts and many other metrics and is not recommended. Using this function is not portable.
+.SH "void QPaintDevice::x11SetAppDpiY ( int dpi, int screen )\fC [static]\fR"
+Sets the value returned by x11AppDpiY() to \fIdpi\fR for screen \fIscreen\fR. The default is determined by the display configuration. Changing this value will alter the scaling of fonts and many other metrics and is not recommended. Using this function is not portable.
+.PP
+See also x11SetAppDpiX().
+.SH "void QPaintDevice::x11SetAppDpiY ( int dpi )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the value returned by x11AppDpiY() to \fIdpi\fR for the default screen. The default is determined by the display configuration. Changing this value will alter the scaling of fonts and many other metrics and is not recommended. Using this function is not portable.
+.SH "void * QPaintDevice::x11Visual () const"
+Returns the Visual of the X display for the paint device (X11 only). Using this function is not portable.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void bitBlt ( QPaintDevice * dst, int dx, int dy, const QPaintDevice * src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool ignoreMask )"
+Copies a block of pixels from \fIsrc\fR to \fIdst\fR, perhaps merging each pixel according to the raster operation \fIrop\fR. \fIsx\fR, \fIsy\fR is the top-left pixel in \fIsrc\fR (0, 0) by default, \fIdx\fR, \fIdy\fR is the top-left position in \fIdst\fR and \fIsw\fR, \fIsh\fR is the size of the copied block (all of \fIsrc\fR by default).
+.PP
+The most common values for \fIrop\fR are CopyROP and XorROP; the Qt::RasterOp documentation defines all the possible values.
+.PP
+If \fIignoreMask\fR is FALSE (the default) and \fIsrc\fR is a masked QPixmap, the entire blit is masked by \fIsrc\fR->mask().
+.PP
+If \fIsrc\fR, \fIdst\fR, \fIsw\fR or \fIsh\fR is 0, bitBlt() does nothing. If \fIsw\fR or \fIsh\fR is negative bitBlt() copies starting at \fIsx\fR (and respectively, \fIsy\fR) and ending at the right end (respectively, bottom) of \fIsrc\fR.
+.PP
+\fIsrc\fR must be a QWidget or QPixmap. You cannot blit from a QPrinter, for example. bitBlt() does nothing if you attempt to blit from an unsupported device.
+.PP
+bitBlt() does nothing if \fIsrc\fR has a greater depth than \fIdst\fR. If you need to for example, draw a 24-bit pixmap on an 8-bit widget, you must use drawPixmap().
+.SH "void bitBlt ( QPaintDevice * dst, const QPoint & dp, const QPaintDevice * src, const QRect & sr, RasterOp rop )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Overloaded bitBlt() with the destination point \fIdp\fR and source
+rectangle \fIsr\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpaintdevice.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpaintdevice.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpaintdevicemetrics.3qt b/doc/man/man3/qpaintdevicemetrics.3qt
new file mode 100644
index 0000000..d400fd8
--- /dev/null
+++ b/doc/man/man3/qpaintdevicemetrics.3qt
@@ -0,0 +1,116 @@
+'\" t
+.TH QPaintDeviceMetrics 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPaintDeviceMetrics \- Information about a paint device
+.SH SYNOPSIS
+\fC#include <qpaintdevicemetrics.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPaintDeviceMetrics\fR ( const QPaintDevice * pd )"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidthMM\fR () const"
+.br
+.ti -1c
+.BI "int \fBheightMM\fR () const"
+.br
+.ti -1c
+.BI "int \fBlogicalDpiX\fR () const"
+.br
+.ti -1c
+.BI "int \fBlogicalDpiY\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumColors\fR () const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPaintDeviceMetrics class provides information about a paint device.
+.PP
+Sometimes when drawing graphics it is necessary to obtain information about the physical characteristics of a paint device. This class provides the information. For example, to compute the aspect ratio of a paint device:
+.PP
+.nf
+.br
+ QPaintDeviceMetrics pdm( myWidget );
+.br
+ double aspect = (double)pdm.widthMM() / (double)pdm.heightMM();
+.br
+.fi
+.PP
+QPaintDeviceMetrics contains methods to provide the width and height of a device in both pixels (width() and height()) and millimeters (widthMM() and heightMM()), the number of colors the device supports (numColors()), the number of bit planes (depth()), and the resolution of the device (logicalDpiX() and logicalDpiY()).
+.PP
+It is not always possible for QPaintDeviceMetrics to compute the values you ask for, particularly for external devices. The ultimate example is asking for the resolution of of a QPrinter that is set to "print to file": who knows what printer that file will end up on?
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPaintDeviceMetrics::QPaintDeviceMetrics ( const QPaintDevice * pd )"
+Constructs a metric for the paint device \fIpd\fR.
+.SH "int QPaintDeviceMetrics::depth () const"
+Returns the bit depth (number of bit planes) of the paint device.
+.SH "int QPaintDeviceMetrics::height () const"
+Returns the height of the paint device in default coordinate system units (e.g. pixels for QPixmap and QWidget).
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "int QPaintDeviceMetrics::heightMM () const"
+Returns the height of the paint device, measured in millimeters.
+.SH "int QPaintDeviceMetrics::logicalDpiX () const"
+Returns the horizontal resolution of the device in dots per inch, which is used when computing font sizes. For X, this is usually the same as could be computed from widthMM(), but it varies on Windows.
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "int QPaintDeviceMetrics::logicalDpiY () const"
+Returns the vertical resolution of the device in dots per inch, which is used when computing font sizes. For X, this is usually the same as could be computed from heightMM(), but it varies on Windows.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "int QPaintDeviceMetrics::numColors () const"
+Returns the number of different colors available for the paint device. Since this value is an int will not be sufficient to represent the number of colors on 32 bit displays, in which case INT_MAX is returned instead.
+.SH "int QPaintDeviceMetrics::width () const"
+Returns the width of the paint device in default coordinate system units (e.g. pixels for QPixmap and QWidget).
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "int QPaintDeviceMetrics::widthMM () const"
+Returns the width of the paint device, measured in millimeters.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpaintdevicemetrics.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpaintdevicemetrics.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpainter.3qt b/doc/man/man3/qpainter.3qt
new file mode 100644
index 0000000..b94def7
--- /dev/null
+++ b/doc/man/man3/qpainter.3qt
@@ -0,0 +1,1709 @@
+'\" t
+.TH QPainter 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPainter \- Does low-level painting e.g. on widgets
+.SH SYNOPSIS
+\fC#include <qpainter.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QDirectPainter.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBCoordinateMode\fR { CoordDevice, CoordPainter }"
+.br
+.ti -1c
+.BI "\fBQPainter\fR ()"
+.br
+.ti -1c
+.BI "\fBQPainter\fR ( const QPaintDevice * pd, bool unclipped = FALSE )"
+.br
+.ti -1c
+.BI "\fBQPainter\fR ( const QPaintDevice * pd, const QWidget * copyAttributes, bool unclipped = FALSE )"
+.br
+.ti -1c
+.BI "\fB~QPainter\fR ()"
+.br
+.ti -1c
+.BI "bool \fBbegin\fR ( const QPaintDevice * pd, bool unclipped = FALSE )"
+.br
+.ti -1c
+.BI "bool \fBbegin\fR ( const QPaintDevice * pd, const QWidget * copyAttributes, bool unclipped = FALSE )"
+.br
+.ti -1c
+.BI "bool \fBend\fR ()"
+.br
+.ti -1c
+.BI "QPaintDevice * \fBdevice\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "void \fBflush\fR ( const QRegion & region, CoordinateMode cm = CoordDevice )"
+.br
+.ti -1c
+.BI "void \fBflush\fR ()"
+.br
+.ti -1c
+.BI "void \fBsave\fR ()"
+.br
+.ti -1c
+.BI "void \fBrestore\fR ()"
+.br
+.ti -1c
+.BI "QFontMetrics \fBfontMetrics\fR () const"
+.br
+.ti -1c
+.BI "QFontInfo \fBfontInfo\fR () const"
+.br
+.ti -1c
+.BI "const QFont & \fBfont\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "const QPen & \fBpen\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPen\fR ( const QPen & pen )"
+.br
+.ti -1c
+.BI "void \fBsetPen\fR ( PenStyle style )"
+.br
+.ti -1c
+.BI "void \fBsetPen\fR ( const QColor & color )"
+.br
+.ti -1c
+.BI "const QBrush & \fBbrush\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( const QBrush & brush )"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( BrushStyle style )"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( const QColor & color )"
+.br
+.ti -1c
+.BI "QPoint pos () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "const QColor & \fBbackgroundColor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBackgroundColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "BGMode \fBbackgroundMode\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBackgroundMode\fR ( BGMode m )"
+.br
+.ti -1c
+.BI "RasterOp \fBrasterOp\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRasterOp\fR ( RasterOp r )"
+.br
+.ti -1c
+.BI "const QPoint & \fBbrushOrigin\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBrushOrigin\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBsetBrushOrigin\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "bool \fBhasViewXForm\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasWorldXForm\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetViewXForm\fR ( bool enable )"
+.br
+.ti -1c
+.BI "QRect \fBwindow\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWindow\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBsetWindow\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "QRect \fBviewport\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetViewport\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBsetViewport\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBsetWorldXForm\fR ( bool enable )"
+.br
+.ti -1c
+.BI "const QWMatrix & \fBworldMatrix\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWorldMatrix\fR ( const QWMatrix & m, bool combine = FALSE )"
+.br
+.ti -1c
+.BI "void saveWorldMatrix () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void restoreWorldMatrix () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBscale\fR ( double sx, double sy )"
+.br
+.ti -1c
+.BI "void \fBshear\fR ( double sh, double sv )"
+.br
+.ti -1c
+.BI "void \fBrotate\fR ( double a )"
+.br
+.ti -1c
+.BI "void \fBtranslate\fR ( double dx, double dy )"
+.br
+.ti -1c
+.BI "void \fBresetXForm\fR ()"
+.br
+.ti -1c
+.BI "QPoint \fBxForm\fR ( const QPoint & pv ) const"
+.br
+.ti -1c
+.BI "QRect \fBxForm\fR ( const QRect & rv ) const"
+.br
+.ti -1c
+.BI "QPointArray \fBxForm\fR ( const QPointArray & av ) const"
+.br
+.ti -1c
+.BI "QPointArray \fBxForm\fR ( const QPointArray & av, int index, int npoints ) const"
+.br
+.ti -1c
+.BI "QPoint \fBxFormDev\fR ( const QPoint & pd ) const"
+.br
+.ti -1c
+.BI "QRect \fBxFormDev\fR ( const QRect & rd ) const"
+.br
+.ti -1c
+.BI "QPointArray \fBxFormDev\fR ( const QPointArray & ad ) const"
+.br
+.ti -1c
+.BI "QPointArray \fBxFormDev\fR ( const QPointArray & ad, int index, int npoints ) const"
+.br
+.ti -1c
+.BI "void \fBsetClipping\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBhasClipping\fR () const"
+.br
+.ti -1c
+.BI "QRegion \fBclipRegion\fR ( CoordinateMode m = CoordDevice ) const"
+.br
+.ti -1c
+.BI "void \fBsetClipRect\fR ( const QRect & r, CoordinateMode m = CoordDevice )"
+.br
+.ti -1c
+.BI "void \fBsetClipRect\fR ( int x, int y, int w, int h, CoordinateMode m = CoordDevice )"
+.br
+.ti -1c
+.BI "void \fBsetClipRegion\fR ( const QRegion & rgn, CoordinateMode m = CoordDevice )"
+.br
+.ti -1c
+.BI "void \fBdrawPoint\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBdrawPoint\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBdrawPoints\fR ( const QPointArray & a, int index = 0, int npoints = -1 )"
+.br
+.ti -1c
+.BI "void moveTo ( int x, int y ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void moveTo ( const QPoint & p ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void lineTo ( int x, int y ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void lineTo ( const QPoint & p ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBdrawLine\fR ( int x1, int y1, int x2, int y2 )"
+.br
+.ti -1c
+.BI "void \fBdrawLine\fR ( const QPoint & p1, const QPoint & p2 )"
+.br
+.ti -1c
+.BI "void \fBdrawRect\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBdrawRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBdrawWinFocusRect\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBdrawWinFocusRect\fR ( int x, int y, int w, int h, const QColor & bgColor )"
+.br
+.ti -1c
+.BI "void \fBdrawWinFocusRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBdrawWinFocusRect\fR ( const QRect & r, const QColor & bgColor )"
+.br
+.ti -1c
+.BI "void \fBdrawRoundRect\fR ( int x, int y, int w, int h, int xRnd = 25, int yRnd = 25 )"
+.br
+.ti -1c
+.BI "void \fBdrawRoundRect\fR ( const QRect & r, int xRnd = 25, int yRnd = 25 )"
+.br
+.ti -1c
+.BI "void \fBdrawEllipse\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBdrawEllipse\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBdrawArc\fR ( int x, int y, int w, int h, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawArc\fR ( const QRect & r, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawPie\fR ( int x, int y, int w, int h, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawPie\fR ( const QRect & r, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawChord\fR ( int x, int y, int w, int h, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawChord\fR ( const QRect & r, int a, int alen )"
+.br
+.ti -1c
+.BI "void \fBdrawLineSegments\fR ( const QPointArray & a, int index = 0, int nlines = -1 )"
+.br
+.ti -1c
+.BI "void \fBdrawPolyline\fR ( const QPointArray & a, int index = 0, int npoints = -1 )"
+.br
+.ti -1c
+.BI "void \fBdrawPolygon\fR ( const QPointArray & a, bool winding = FALSE, int index = 0, int npoints = -1 )"
+.br
+.ti -1c
+.BI "void \fBdrawConvexPolygon\fR ( const QPointArray & pa, int index = 0, int npoints = -1 )"
+.br
+.ti -1c
+.BI "void \fBdrawCubicBezier\fR ( const QPointArray & a, int index = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawPixmap\fR ( int x, int y, const QPixmap & pixmap, int sx = 0, int sy = 0, int sw = -1, int sh = -1 )"
+.br
+.ti -1c
+.BI "void \fBdrawPixmap\fR ( const QPoint & p, const QPixmap & pm, const QRect & sr )"
+.br
+.ti -1c
+.BI "void \fBdrawPixmap\fR ( const QPoint & p, const QPixmap & pm )"
+.br
+.ti -1c
+.BI "void \fBdrawPixmap\fR ( const QRect & r, const QPixmap & pm )"
+.br
+.ti -1c
+.BI "void \fBdrawImage\fR ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, int conversionFlags = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawImage\fR ( const QPoint &, const QImage &, const QRect & sr, int conversionFlags = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawImage\fR ( const QPoint & p, const QImage & i, int conversion_flags = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawImage\fR ( const QRect & r, const QImage & i )"
+.br
+.ti -1c
+.BI "void \fBdrawTiledPixmap\fR ( int x, int y, int w, int h, const QPixmap & pixmap, int sx = 0, int sy = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawTiledPixmap\fR ( const QRect & r, const QPixmap & pm, const QPoint & sp )"
+.br
+.ti -1c
+.BI "void \fBdrawTiledPixmap\fR ( const QRect & r, const QPixmap & pm )"
+.br
+.ti -1c
+.BI "void drawPicture ( const QPicture & pic ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBdrawPicture\fR ( int x, int y, const QPicture & pic )"
+.br
+.ti -1c
+.BI "void \fBdrawPicture\fR ( const QPoint & p, const QPicture & pic )"
+.br
+.ti -1c
+.BI "void \fBfillRect\fR ( int x, int y, int w, int h, const QBrush & brush )"
+.br
+.ti -1c
+.BI "void \fBfillRect\fR ( const QRect & r, const QBrush & brush )"
+.br
+.ti -1c
+.BI "void \fBeraseRect\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBeraseRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "enum \fBTextDirection\fR { Auto, RTL, LTR }"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( int x, int y, const QString &, int len = -1, TextDirection dir = Auto )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( const QPoint &, const QString &, int len = -1, TextDirection dir = Auto )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( int x, int y, const QString &, int pos, int len, TextDirection dir = Auto )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( const QPoint & p, const QString &, int pos, int len, TextDirection dir = Auto )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( int x, int y, int w, int h, int flags, const QString &, int len = -1, QRect * br = 0, QTextParag ** internal = 0 )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( const QRect & r, int tf, const QString & str, int len = -1, QRect * brect = 0, QTextParag ** internal = 0 )"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR ( int x, int y, int w, int h, int flags, const QString &, int len = -1, QTextParag ** intern = 0 )"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR ( const QRect & r, int flags, const QString & str, int len = -1, QTextParag ** internal = 0 )"
+.br
+.ti -1c
+.BI "int \fBtabStops\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTabStops\fR ( int ts )"
+.br
+.ti -1c
+.BI "int * \fBtabArray\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTabArray\fR ( int * ta )"
+.br
+.ti -1c
+.BI "HDC \fBhandle\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBredirect\fR ( QPaintDevice * pdev, QPaintDevice * replacement )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void \fBqDrawShadeLine\fR ( QPainter * p, int x1, int y1, int x2, int y2, const QColorGroup & g, bool sunken, int lineWidth, int midLineWidth )"
+.br
+.ti -1c
+.BI "void \fBqDrawShadeRect\fR ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, int lineWidth, int midLineWidth, const QBrush * fill )"
+.br
+.ti -1c
+.BI "void \fBqDrawShadePanel\fR ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, int lineWidth, const QBrush * fill )"
+.br
+.ti -1c
+.BI "void \fBqDrawWinButton\fR ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, const QBrush * fill )"
+.br
+.ti -1c
+.BI "void \fBqDrawWinPanel\fR ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, const QBrush * fill )"
+.br
+.ti -1c
+.BI "void \fBqDrawPlainRect\fR ( QPainter * p, int x, int y, int w, int h, const QColor & c, int lineWidth, const QBrush * fill )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPainter class does low-level painting e.g. on widgets.
+.PP
+The painter provides highly optimized functions to do most of the drawing GUI programs require. QPainter can draw everything from simple lines to complex shapes like pies and chords. It can also draw aligned text and pixmaps. Normally, it draws in a "natural" coordinate system, but it can also do view and world transformation.
+.PP
+The typical use of a painter is:
+.TP
+Construct a painter.
+.TP
+Set a pen, a brush etc.
+.TP
+Draw.
+.TP
+Destroy the painter.
+.PP
+Mostly, all this is done inside a paint event. (In fact, 99% of all QPainter use is in a reimplementation of QWidget::paintEvent(), and the painter is heavily optimized for such use.) Here's one very simple example:
+.PP
+.nf
+.br
+ void SimpleExampleWidget::paintEvent()
+.br
+ {
+.br
+ QPainter paint( this );
+.br
+ paint.setPen( Qt::blue );
+.br
+ paint.drawText( rect(), AlignCenter, "The Text" );
+.br
+ }
+.br
+.fi
+.PP
+Usage is simple, and there are many settings you can use:
+.IP
+.TP
+font() is the currently set font. If you set a font that isn't available, Qt finds a close match. In fact font() returns what you set using setFont() and fontInfo() returns the font actually being used (which may be the same).
+.IP
+.TP
+brush() is the currently set brush; the color or pattern that's used for filling e.g. circles.
+.IP
+.TP
+pen() is the currently set pen; the color or stipple that's used for drawing lines or boundaries.
+.IP
+.TP
+backgroundMode() is \fCOpaque\fR or \fCTransparent\fR, i.e. whether backgroundColor() is used or not.
+.IP
+.TP
+backgroundColor() only applies when backgroundMode() is Opaque and pen() is a stipple. In that case, it describes the color of the background pixels in the stipple.
+.IP
+.TP
+rasterOp() is how pixels drawn interact with the pixels already there.
+.IP
+.TP
+brushOrigin() is the origin of the tiled brushes, normally the origin of the window.
+.IP
+.TP
+viewport(), window(), worldMatrix() and many more make up the painter's coordinate transformation system. See The Coordinate System for an explanation of this, or see below for a very brief overview of the functions.
+.IP
+.TP
+hasClipping() is whether the painter clips at all. (The paint device clips, too.) If the painter clips, it clips to clipRegion().
+.IP
+.TP
+pos() is the current position, set by moveTo() and used by lineTo().
+.IP
+.PP
+Note that some of these settings mirror settings in some paint devices, e.g. QWidget::font(). QPainter::begin() (or the QPainter constructor) copies these attributes from the paint device. Calling, for example, QWidget::setFont() doesn't take effect until the next time a painter begins painting on it.
+.PP
+save() saves all of these settings on an internal stack, restore() pops them back.
+.PP
+The core functionality of QPainter is drawing, and there are functions to draw most primitives: drawPoint(), drawPoints(), drawLine(), drawRect(), drawWinFocusRect(), drawRoundRect(), drawEllipse(), drawArc(), drawPie(), drawChord(), drawLineSegments(), drawPolyline(), drawPolygon(), drawConvexPolygon() and drawCubicBezier(). All of these functions take integer coordinates; there are no floating-point versions since we want drawing to be as fast as possible.
+.PP
+There are functions to draw pixmaps/images, namely drawPixmap(), drawImage() and drawTiledPixmap(). drawPixmap() and drawImage() produce the same result, except that drawPixmap() is faster on-screen and drawImage() faster and sometimes better on QPrinter and QPicture.
+.PP
+Text drawing is done using drawText(), and when you need fine-grained positioning, boundingRect() tells you where a given drawText() command would draw.
+.PP
+There is a drawPicture() function that draws the contents of an entire QPicture using this painter. drawPicture() is the only function that disregards all the painter's settings: the QPicture has its own settings.
+.PP
+Normally, the QPainter operates on the device's own coordinate system (usually pixels), but QPainter has good support for coordinate transformation. See The Coordinate System for a more general overview and a simple example.
+.PP
+The most common functions used are scale(), rotate(), translate() and shear(), all of which operate on the worldMatrix(). setWorldMatrix() can replace or add to the currently set worldMatrix().
+.PP
+setViewport() sets the rectangle on which QPainter operates. The default is the entire device, which is usually fine, except on printers. setWindow() sets the coordinate system, that is, the rectangle that maps to viewport(). What's drawn inside the window() ends up being inside the viewport(). The window's default is the same as the viewport, and if you don't use the transformations, they are optimized away, gaining another little bit of speed.
+.PP
+After all the coordinate transformation is done, QPainter can clip the drawing to an arbitrary rectangle or region. hasClipping() is TRUE if QPainter clips, and clipRegion() returns the clip region. You can set it using either setClipRegion() or setClipRect(). Note that the clipping can be slow. It's all system-dependent, but as a rule of thumb, you can assume that drawing speed is inversely proportional to the number of rectangles in the clip region.
+.PP
+After QPainter's clipping, the paint device may also clip. For example, most widgets clip away the pixels used by child widgets, and most printers clip away an area near the edges of the paper. This additional clipping is not reflected by the return value of clipRegion() or hasClipping().
+.PP
+QPainter also includes some less-used functions that are very useful on those occasions when they're needed.
+.PP
+isActive() indicates whether the painter is active. begin() (and the most usual constructor) makes it active. end() (and the destructor) deactivates it. If the painter is active, device() returns the paint device on which the painter paints.
+.PP
+Sometimes it is desirable to make someone else paint on an unusual QPaintDevice. QPainter supports a static function to do this, redirect(). We recommend not using it, but for some hacks it's perfect.
+.PP
+setTabStops() and setTabArray() can change where the tab stops are, but these are very seldomly used.
+.PP
+\fBWarning:\fR Note that QPainter does not attempt to work around coordinate limitations in the underlying window system. Some platforms may behave incorrectly with coordinates as small as +/-4000.
+.PP
+See also QPaintDevice, QWidget, QPixmap, QPrinter, QPicture, Application Walkthrough, Coordinate System Overview, Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QPainter::CoordinateMode"
+.TP
+\fCQPainter::CoordDevice\fR
+.TP
+\fCQPainter::CoordPainter\fR
+.PP
+See also clipRegion().
+.SH "QPainter::TextDirection"
+.TP
+\fCQPainter::Auto\fR
+.TP
+\fCQPainter::RTL\fR - right to left
+.TP
+\fCQPainter::LTR\fR - left to right
+.PP
+See also drawText().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPainter::QPainter ()"
+Constructs a painter.
+.PP
+Notice that all painter settings (setPen, setBrush etc.) are reset to default values when begin() is called.
+.PP
+See also begin() and end().
+.SH "QPainter::QPainter ( const QPaintDevice * pd, bool unclipped = FALSE )"
+Constructs a painter that begins painting the paint device \fIpd\fR immediately. Depending on the underlying graphic system the painter will paint over children of the paintdevice if \fIunclipped\fR is TRUE.
+.PP
+This constructor is convenient for short-lived painters, e.g. in a paint event and should be used only once. The constructor calls begin() for you and the QPainter destructor automatically calls end().
+.PP
+Here's an example using begin() and end():
+.PP
+.nf
+.br
+ void MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p;
+.br
+ p.begin( this );
+.br
+ p.drawLine( ... ); // drawing code
+.br
+ p.end();
+.br
+ }
+.br
+.fi
+.PP
+The same example using this constructor:
+.PP
+.nf
+.br
+ void MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p( this );
+.br
+ p.drawLine( ... ); // drawing code
+.br
+ }
+.br
+.fi
+.PP
+Since the constructor cannot provide feedback when the initialization of the painter failed you should rather use begin() and end() to paint on external devices, e.g. printers.
+.PP
+See also begin() and end().
+.SH "QPainter::QPainter ( const QPaintDevice * pd, const QWidget * copyAttributes, bool unclipped = FALSE )"
+Constructs a painter that begins painting the paint device \fIpd\fR immediately, with the default arguments taken from \fIcopyAttributes\fR. The painter will paint over children of the paint device if \fIunclipped\fR is TRUE (although this is not supported on all platforms).
+.PP
+See also begin().
+.SH "QPainter::~QPainter ()"
+Destroys the painter.
+.SH "const QColor & QPainter::backgroundColor () const"
+Returns the current background color.
+.PP
+See also setBackgroundColor() and QColor.
+.SH "BGMode QPainter::backgroundMode () const"
+Returns the current background mode.
+.PP
+See also setBackgroundMode() and BGMode.
+.SH "bool QPainter::begin ( const QPaintDevice * pd, bool unclipped = FALSE )"
+Begins painting the paint device \fIpd\fR and returns TRUE if successful; otherwise returns FALSE. If \fIunclipped\fR is TRUE, the painting will not be clipped at the paint device's boundaries, (although this is not supported by all platforms).
+.PP
+The errors that can occur are serious problems, such as these:
+.PP
+.nf
+.br
+ p->begin( 0 ); // impossible - paint device cannot be 0
+.br
+.br
+ QPixmap pm( 0, 0 );
+.br
+ p->begin( pm ); // impossible - pm.isNull();
+.br
+.br
+ p->begin( myWidget );
+.br
+ p2->begin( myWidget ); // impossible - only one painter at a time
+.br
+.fi
+.PP
+Note that most of the time, you can use one of the constructors instead of begin(), and that end() is automatically done at destruction.
+.PP
+\fBWarning:\fR A paint device can only be painted by one painter at a time.
+.PP
+See also end() and flush().
+.PP
+Examples:
+.)l aclock/aclock.cpp, desktop/desktop.cpp, drawdemo/drawdemo.cpp, hello/hello.cpp, picture/picture.cpp, t10/cannon.cpp, and xform/xform.cpp.
+.SH "bool QPainter::begin ( const QPaintDevice * pd, const QWidget * copyAttributes, bool unclipped = FALSE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version opens the painter on a paint device \fIpd\fR and sets the initial pen, background color and font from \fIcopyAttributes\fR, painting over the paint device's children when \fIunclipped\fR is TRUE. This is equivalent to:
+.PP
+.nf
+.br
+ QPainter p;
+.br
+ p.begin( pd );
+.br
+ p.setPen( copyAttributes->foregroundColor() );
+.br
+ p.setBackgroundColor( copyAttributes->backgroundColor() );
+.br
+ p.setFont( copyAttributes->font() );
+.br
+.fi
+.PP
+This begin function is convenient for double buffering. When you draw in a pixmap instead of directly in a widget (to later bitBlt the pixmap into the widget) you will need to set the widget's font etc. This function does exactly that.
+.PP
+Example:
+.PP
+.nf
+.br
+ void MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPixmap pm(size());
+.br
+ QPainter p;
+.br
+ p.begin(&pm, this);
+.br
+ // ... potentially flickering paint operation ...
+.br
+ p.end();
+.br
+ bitBlt(this, 0, 0, &pm);
+.br
+ }
+.br
+.fi
+.PP
+See also end().
+.SH "QRect QPainter::boundingRect ( int x, int y, int w, int h, int flags, const QString &, int len = -1, QTextParag ** intern = 0 )"
+Returns the bounding rectangle of the aligned text that would be printed with the corresponding drawText() function using the first \fIlen\fR characters of the string if \fIlen\fR is > -1, or the whole of the string if \fIlen\fR is -1. The drawing, and hence the bounding rectangle, is constrained to the rectangle that begins at point \fI(x, y)\fR with width \fIw\fR and hight \fIh\fR, or to the rectangle required to draw the text, whichever is the larger.
+.PP
+The \fIflags\fR argument is the bitwise OR of the following flags: <center>.nf
+.TS
+l - l. Flag Meaning AlignAuto aligns according to the language, usually left. AlignLeft aligns to the left border. AlignRight aligns to the right border. AlignHCenter aligns horizontally centered. AlignTop aligns to the top border. AlignBottom aligns to the bottom border. AlignVCenter aligns vertically centered. AlignCenter (== AlignHCenter | AlignVCenter). SingleLine ignores newline characters in the text. ExpandTabs expands tabs. ShowPrefix interprets "&x" as " WordBreak
+.TE
+.fi
+</center>
+.PP
+Horizontal alignment defaults to AlignLeft and vertical alignment defaults to AlignTop.
+.PP
+If several of the horizontal or several of the vertical alignment flags are set, the resulting alignment is undefined.
+.PP
+The \fIintern\fR parameter should not be used.
+.PP
+See also Qt::TextFlags.
+.SH "QRect QPainter::boundingRect ( const QRect & r, int flags, const QString & str, int len = -1, QTextParag ** internal = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the bounding rectangle of the aligned text that would be printed with the corresponding drawText() function using the first \fIlen\fR characters from \fIstr\fR if \fIlen\fR is > -1, or the whole of \fIstr\fR if \fIlen\fR is -1. The drawing, and hence the bounding rectangle, is constrained to the rectangle \fIr\fR, or to the rectangle required to draw the text, whichever is the larger.
+.PP
+The \fIinternal\fR parameter should not be used.
+.PP
+See also drawText(), fontMetrics(), QFontMetrics::boundingRect(), and Qt::TextFlags.
+.SH "const QBrush & QPainter::brush () const"
+Returns the painter's current brush.
+.PP
+See also QPainter::setBrush().
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QPoint & QPainter::brushOrigin () const"
+Returns the brush origin currently set.
+.PP
+See also setBrushOrigin().
+.SH "QRegion QPainter::clipRegion ( CoordinateMode m = CoordDevice ) const"
+Returns the currently set clip region. Note that the clip region is given in physical device coordinates and \fInot\fR subject to any coordinate transformation if \fIm\fR is equal to CoordDevice (the default). If \fIm\fR equals CoordPainter the returned region is in model coordinates.
+.PP
+See also setClipRegion(), setClipRect(), setClipping(), and QPainter::CoordinateMode.
+.PP
+Example: themes/wood.cpp.
+.SH "QPaintDevice * QPainter::device () const"
+Returns the paint device on which this painter is currently painting, or 0 if the painter is not active.
+.PP
+See also QPaintDevice::paintingActive().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, listboxcombo/listboxcombo.cpp, and mdi/application.cpp.
+.SH "void QPainter::drawArc ( int x, int y, int w, int h, int a, int alen )"
+Draws an arc defined by the rectangle \fI(x, y, w, h)\fR, the start angle \fIa\fR and the arc length \fIalen\fR.
+.PP
+The angles \fIa\fR and \fIalen\fR are 1/16th of a degree, i.e. a full circle equals 5760 (16*360). Positive values of \fIa\fR and \fIalen\fR mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPainter p( myWidget );
+.br
+ p.drawArc( 10,10, 70,100, 100*16, 160*16 ); // draws a "(" arc
+.br
+.fi
+.PP
+See also drawPie() and drawChord().
+.SH "void QPainter::drawArc ( const QRect & r, int a, int alen )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the arc that fits inside the rectangle \fIr\fR with start angle \fIa\fR and arc length \fIalen\fR.
+.SH "void QPainter::drawChord ( int x, int y, int w, int h, int a, int alen )"
+Draws a chord defined by the rectangle \fI(x, y, w, h)\fR, the start angle \fIa\fR and the arc length \fIalen\fR.
+.PP
+The chord is filled with the current brush().
+.PP
+The angles \fIa\fR and \fIalen\fR are 1/16th of a degree, i.e. a full circle equals 5760 (16*360). Positive values of \fIa\fR and \fIalen\fR mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
+.PP
+See also drawArc() and drawPie().
+.SH "void QPainter::drawChord ( const QRect & r, int a, int alen )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a chord that fits inside the rectangle \fIr\fR with start angle \fIa\fR and arc length \fIalen\fR.
+.SH "void QPainter::drawConvexPolygon ( const QPointArray & pa, int index = 0, int npoints = -1 )"
+Draws the convex polygon defined by the \fInpoints\fR points in \fIpa\fR starting at \fIpa[index]\fR (\fIindex\fR defaults to 0).
+.PP
+If the supplied polygon is not convex, the results are undefined.
+.PP
+On some platforms (e.g. X Window), this is faster than drawPolygon().
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.PP
+Example: aclock/aclock.cpp.
+.SH "void QPainter::drawCubicBezier ( const QPointArray & a, int index = 0 )"
+Draws a cubic Bezier curve defined by the control points in \fIa\fR, starting at \fIa[index]\fR (\fIindex\fR defaults to 0).
+.PP
+Control points after \fIa[index + 3]\fR are ignored. Nothing happens if there aren't enough control points.
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.SH "void QPainter::drawEllipse ( int x, int y, int w, int h )"
+Draws an ellipse with center at \fI(x + w/2, y + h/2)\fR and size \fI(w, h)\fR.
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, multiple/ax2.h, picture/picture.cpp, and tictac/tictac.cpp.
+.SH "void QPainter::drawEllipse ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the ellipse that fits inside rectangle \fIr\fR.
+.SH "void QPainter::drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, int conversionFlags = 0 )"
+Draws at (\fIx\fR, \fIy\fR) the \fIsw\fR by \fIsh\fR area of pixels from (\fIsx\fR, \fIsy\fR) in \fIimage\fR, using \fIconversionFlags\fR if the image needs to be converted to a pixmap. The default value for \fIconversionFlags\fR is 0; see convertFromImage() for information about what other values do.
+.PP
+This function may convert \fIimage\fR to a pixmap and then draw it, if device() is a QPixmap or a QWidget, or else draw it directly, if device() is a QPrinter or QPicture.
+.PP
+Currently alpha masks of the image are ignored when painting on a QPrinter.
+.PP
+See also drawPixmap() and QPixmap::convertFromImage().
+.PP
+Example: canvas/canvas.cpp.
+.SH "void QPainter::drawImage ( const QPoint &, const QImage &, const QRect & sr, int conversionFlags = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the rectangle \fIsr\fR from the image at the given point.
+.SH "void QPainter::drawImage ( const QPoint & p, const QImage & i, int conversion_flags = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the image \fIi\fR at point \fIp\fR.
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversion_flags\fR to specify how you'd prefer this to happen.
+.PP
+See also Qt::ImageConversionFlags.
+.SH "void QPainter::drawImage ( const QRect & r, const QImage & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the image \fIi\fR into the rectangle \fIr\fR. The image will be scaled to fit the rectangle if image and rectangle dimensions differ.
+.SH "void QPainter::drawLine ( int x1, int y1, int x2, int y2 )"
+Draws a line from (\fIx1\fR, \fIy1\fR) to (\fIx2\fR, \fIy2\fR) and sets the current pen position to (\fIx2\fR, \fIy2\fR).
+.PP
+See also pen().
+.PP
+Examples:
+.)l aclock/aclock.cpp, drawlines/connect.cpp, progress/progress.cpp, splitter/splitter.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "void QPainter::drawLine ( const QPoint & p1, const QPoint & p2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a line from point \fIp1\fR to point \fIp2\fR.
+.SH "void QPainter::drawLineSegments ( const QPointArray & a, int index = 0, int nlines = -1 )"
+Draws \fInlines\fR separate lines from points defined in \fIa\fR, starting at \fIa[index]\fR (\fIindex\fR defaults to 0). If \fInlines\fR is -1 (the default) all points until the end of the array are used (i.e. (a.size()-index)/2 lines are drawn).
+.PP
+Draws the 1st line from \fIa[index]\fR to \fIa[index+1]\fR. Draws the 2nd line from \fIa[index+2]\fR to \fIa[index+3]\fR etc.
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.PP
+See also drawPolyline(), drawPolygon(), and QPen.
+.SH "void QPainter::drawPicture ( int x, int y, const QPicture & pic )"
+Replays the picture \fIpic\fR translated by (\fIx\fR, \fIy\fR).
+.PP
+This function does exactly the same as QPicture::play() when called with (\fIx\fR, \fIy\fR) = (0, 0).
+.PP
+Examples:
+.)l picture/picture.cpp and xform/xform.cpp.
+.SH "void QPainter::drawPicture ( const QPicture & pic )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use one of the other QPainter::drawPicture() functions with a (0, 0) offset instead.
+.SH "void QPainter::drawPicture ( const QPoint & p, const QPicture & pic )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws picture \fIpic\fR at point \fIp\fR.
+.SH "void QPainter::drawPie ( int x, int y, int w, int h, int a, int alen )"
+Draws a pie defined by the rectangle \fI(x, y, w, h)\fR, the start angle \fIa\fR and the arc length \fIalen\fR.
+.PP
+The pie is filled with the current brush().
+.PP
+The angles \fIa\fR and \fIalen\fR are 1/16th of a degree, i.e. a full circle equals 5760 (16*360). Positive values of \fIa\fR and \fIalen\fR mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
+.PP
+See also drawArc() and drawChord().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, t10/cannon.cpp, and t9/cannon.cpp.
+.SH "void QPainter::drawPie ( const QRect & r, int a, int alen )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a pie segment that fits inside the rectangle \fIr\fR with start angle \fIa\fR and arc length \fIalen\fR.
+.SH "void QPainter::drawPixmap ( int x, int y, const QPixmap & pixmap, int sx = 0, int sy = 0, int sw = -1, int sh = -1 )"
+Draws a pixmap at \fI(x, y)\fR by copying a part of \fIpixmap\fR into the paint device.
+.PP
+\fI(x, y)\fR specifies the top-left point in the paint device that is to be drawn onto. \fI(sx, sy)\fR specifies the top-left point in \fIpixmap\fR that is to be drawn. The default is (0, 0).
+.PP
+\fI(sw, sh)\fR specifies the size of the pixmap that is to be drawn. The default, (-1, -1), means all the way to the bottom right of the pixmap.
+.PP
+Currently the mask of the pixmap or it's alpha channel are ignored when painting on a QPrinter.
+.PP
+See also bitBlt() and QPixmap::setMask().
+.PP
+Examples:
+.)l grapher/grapher.cpp, picture/picture.cpp, qdir/qdir.cpp, qmag/qmag.cpp, showimg/showimg.cpp, t10/cannon.cpp, and xform/xform.cpp.
+.SH "void QPainter::drawPixmap ( const QPoint & p, const QPixmap & pm, const QRect & sr )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the rectangle \fIsr\fR of pixmap \fIpm\fR with its origin at point \fIp\fR.
+.SH "void QPainter::drawPixmap ( const QPoint & p, const QPixmap & pm )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the pixmap \fIpm\fR with its origin at point \fIp\fR.
+.SH "void QPainter::drawPixmap ( const QRect & r, const QPixmap & pm )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the pixmap \fIpm\fR into the rectangle \fIr\fR. The pixmap is scaled to fit the rectangle, if image and rectangle size disagree.
+.SH "void QPainter::drawPoint ( int x, int y )"
+Draws/plots a single point at \fI(x, y)\fR using the current pen.
+.PP
+See also QPen.
+.PP
+Examples:
+.)l desktop/desktop.cpp and drawlines/connect.cpp.
+.SH "void QPainter::drawPoint ( const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the point \fIp\fR.
+.SH "void QPainter::drawPoints ( const QPointArray & a, int index = 0, int npoints = -1 )"
+Draws/plots an array of points, \fIa\fR, using the current pen.
+.PP
+If \fIindex\fR is non-zero (the default is zero) only points from \fIindex\fR are drawn. If \fInpoints\fR is negative (the default) the rest of the points from \fIindex\fR are drawn. If \fInpoints\fR is zero or greater, \fInpoints\fR points are drawn.
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.SH "void QPainter::drawPolygon ( const QPointArray & a, bool winding = FALSE, int index = 0, int npoints = -1 )"
+Draws the polygon defined by the \fInpoints\fR points in \fIa\fR starting at \fIa[index]\fR. (\fIindex\fR defaults to 0.)
+.PP
+If \fInpoints\fR is -1 (the default) all points until the end of the array are used (i.e. a.size()-index line segments define the polygon).
+.PP
+The first point is always connected to the last point.
+.PP
+The polygon is filled with the current brush(). If \fIwinding\fR is TRUE, the polygon is filled using the winding fill algorithm. If \fIwinding\fR is FALSE, the polygon is filled using the even-odd (alternative) fill algorithm.
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.PP
+See also drawLineSegments(), drawPolyline(), and QPen.
+.PP
+Examples:
+.)l desktop/desktop.cpp and picture/picture.cpp.
+.SH "void QPainter::drawPolyline ( const QPointArray & a, int index = 0, int npoints = -1 )"
+Draws the polyline defined by the \fInpoints\fR points in \fIa\fR starting at \fIa[index]\fR. (\fIindex\fR defaults to 0.)
+.PP
+If \fInpoints\fR is -1 (the default) all points until the end of the array are used (i.e. a.size()-index-1 line segments are drawn).
+.PP
+\fBWarning:\fR On X11, coordinates that do not fit into 16-bit signed values are truncated. This limitation is expected to go away in Qt 4.
+.PP
+See also drawLineSegments(), drawPolygon(), and QPen.
+.PP
+Examples:
+.)l scribble/scribble.cpp and themes/metal.cpp.
+.SH "void QPainter::drawRect ( int x, int y, int w, int h )"
+Draws a rectangle with upper left corner at \fI(x, y)\fR and with width \fIw\fR and height \fIh\fR.
+.PP
+See also QPen and drawRoundRect().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t11/cannon.cpp, t9/cannon.cpp, tooltip/tooltip.cpp, and trivial/trivial.cpp.
+.SH "void QPainter::drawRect ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the rectangle \fIr\fR.
+.SH "void QPainter::drawRoundRect ( int x, int y, int w, int h, int xRnd = 25, int yRnd = 25 )"
+Draws a rectangle with rounded corners at \fI(x, y)\fR, with width \fIw\fR and height \fIh\fR.
+.PP
+The \fIxRnd\fR and \fIyRnd\fR arguments specify how rounded the corners should be. 0 is angled corners, 99 is maximum roundedness.
+.PP
+The width and height include all of the drawn lines.
+.PP
+See also drawRect() and QPen.
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and themes/wood.cpp.
+.SH "void QPainter::drawRoundRect ( const QRect & r, int xRnd = 25, int yRnd = 25 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a rounded rectangle \fIr\fR, rounding to the x position \fIxRnd\fR and the y position \fIyRnd\fR on each corner.
+.SH "void QPainter::drawText ( const QPoint & p, const QString &, int pos, int len, TextDirection dir = Auto )"
+Draws the text from position \fIpos\fR, at point \fIp\fR. If \fIlen\fR is -1 the entire string is drawn, otherwise just the first \fIlen\fR characters. The text's direction is specified by \fIdir\fR.
+.PP
+Note that the meaning of \fIy\fR is not the same for the two drawText() varieties. For overloads that take a simple \fIx\fR, \fIy\fR pair (or a point), the \fIy\fR value is the text's baseline; for overloads that take a rectangle, \fIrect.y()\fR is the top of the rectangle and the text is aligned within that rectangle in accordance with the alignment flags.
+.PP
+See also QPainter::TextDirection.
+.PP
+Examples:
+.)l desktop/desktop.cpp, drawdemo/drawdemo.cpp, grapher/grapher.cpp, picture/picture.cpp, progress/progress.cpp, t8/cannon.cpp, and trivial/trivial.cpp.
+.SH "void QPainter::drawText ( int x, int y, const QString &, int len = -1, TextDirection dir = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the given text at position \fIx\fR, \fIy\fR. If \fIlen\fR is -1 (the default) all the text is drawn, otherwise the first \fIlen\fR characters are drawn. The text's direction is given by \fIdir\fR.
+.PP
+See also QPainter::TextDirection.
+.SH "void QPainter::drawText ( const QPoint &, const QString &, int len = -1, TextDirection dir = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the text at the given point.
+.PP
+See also QPainter::TextDirection.
+.SH "void QPainter::drawText ( int x, int y, const QString &, int pos, int len, TextDirection dir = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the text from position \fIpos\fR, at point \fI(x, y)\fR. If \fIlen\fR is -1 the entire string is drawn, otherwise just the first \fIlen\fR characters. The text's direction is specified by \fIdir\fR.
+.SH "void QPainter::drawText ( int x, int y, int w, int h, int flags, const QString &, int len = -1, QRect * br = 0, QTextParag ** internal = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the given text within the rectangle starting at \fIx\fR, \fIy\fR, with width \fIw\fR and height \fIh\fR. If \fIlen\fR is -1 (the default) all the text is drawn, otherwise the first \fIlen\fR characters are drawn. The text's flags that are given in the \fIflags\fR parameter are Qt::AlignmentFlags and Qt::TextFlags OR'd together. \fIbr\fR (if not null) is set to the actual bounding rectangle of the output. The \fIinternal\fR parameter is for internal use only.
+.SH "void QPainter::drawText ( const QRect & r, int tf, const QString & str, int len = -1, QRect * brect = 0, QTextParag ** internal = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws at most \fIlen\fR characters from \fIstr\fR in the rectangle \fIr\fR.
+.PP
+This function draws formatted text. The \fItf\fR text format is really of type Qt::AlignmentFlags and Qt::TextFlags OR'd together.
+.PP
+Horizontal alignment defaults to AlignAuto and vertical alignment defaults to AlignTop.
+.PP
+\fIbrect\fR (if not null) is set to the actual bounding rectangle of the output. \fIinternal\fR is, yes, internal.
+.PP
+See also boundingRect().
+.SH "void QPainter::drawTiledPixmap ( int x, int y, int w, int h, const QPixmap & pixmap, int sx = 0, int sy = 0 )"
+Draws a tiled \fIpixmap\fR in the specified rectangle.
+.PP
+\fI(x, y)\fR specifies the top-left point in the paint device that is to be drawn onto; with the width and height given by \fIw\fR and \fIh\fR. \fI(sx, sy)\fR specifies the top-left point in \fIpixmap\fR that is to be drawn. The default is (0, 0).
+.PP
+Calling drawTiledPixmap() is similar to calling drawPixmap() several times to fill (tile) an area with a pixmap, but is potentially much more efficient depending on the underlying window system.
+.PP
+See also drawPixmap().
+.SH "void QPainter::drawTiledPixmap ( const QRect & r, const QPixmap & pm, const QPoint & sp )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a tiled pixmap, \fIpm\fR, inside rectangle \fIr\fR with its origin at point \fIsp\fR.
+.SH "void QPainter::drawTiledPixmap ( const QRect & r, const QPixmap & pm )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a tiled pixmap, \fIpm\fR, inside rectangle \fIr\fR.
+.SH "void QPainter::drawWinFocusRect ( int x, int y, int w, int h, const QColor & bgColor )"
+Draws a Windows focus rectangle with upper left corner at (\fIx\fR, \fIy\fR) and with width \fIw\fR and height \fIh\fR using a pen color that contrasts with \fIbgColor\fR.
+.PP
+This function draws a stippled rectangle (XOR is not used) that is used to indicate keyboard focus (when the QApplication::style() is \fCWindowStyle\fR).
+.PP
+The pen color used to draw the rectangle is either white or black depending on the color of \fIbgColor\fR (see QColor::gray()).
+.PP
+\fBWarning:\fR This function draws nothing if the coordinate system has been rotated or sheared.
+.PP
+See also drawRect() and QApplication::style().
+.SH "void QPainter::drawWinFocusRect ( int x, int y, int w, int h )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a Windows focus rectangle with upper left corner at (\fIx\fR, \fIy\fR) and with width \fIw\fR and height \fIh\fR.
+.PP
+This function draws a stippled XOR rectangle that is used to indicate keyboard focus (when QApplication::style() is \fCWindowStyle\fR).
+.PP
+\fBWarning:\fR This function draws nothing if the coordinate system has been rotated or sheared.
+.PP
+See also drawRect() and QApplication::style().
+.SH "void QPainter::drawWinFocusRect ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws rectangle \fIr\fR as a window focus rectangle.
+.SH "void QPainter::drawWinFocusRect ( const QRect & r, const QColor & bgColor )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws rectangle \fIr\fR as a window focus rectangle using background color \fIbgColor\fR.
+.SH "bool QPainter::end ()"
+Ends painting. Any resources used while painting are released.
+.PP
+Note that while you mostly don't need to call end(), the destructor will do it, there is at least one common case when it is needed, namely double buffering.
+.PP
+.nf
+.br
+ QPainter p( myPixmap, this )
+.br
+ // ...
+.br
+ p.end(); // stops drawing on myPixmap
+.br
+ p.begin( this );
+.br
+ p.drawPixmap( 0, 0, myPixmap );
+.br
+.fi
+.PP
+Since you can't draw a QPixmap while it is being painted, it is necessary to close the active painter.
+.PP
+See also begin() and isActive().
+.PP
+Examples:
+.)l aclock/aclock.cpp, desktop/desktop.cpp, hello/hello.cpp, picture/picture.cpp, scribble/scribble.cpp, t10/cannon.cpp, and xform/xform.cpp.
+.SH "void QPainter::eraseRect ( int x, int y, int w, int h )"
+Erases the area inside \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR. Equivalent to \fCfillRect( x, y, w, h, backgroundColor() )\fR.
+.PP
+Examples:
+.)l listboxcombo/listboxcombo.cpp and showimg/showimg.cpp.
+.SH "void QPainter::eraseRect ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Erases the area inside the rectangle \fIr\fR.
+.SH "void QPainter::fillRect ( int x, int y, int w, int h, const QBrush & brush )"
+Fills the rectangle \fI(x, y, w, h)\fR with the \fIbrush\fR.
+.PP
+You can specify a QColor as \fIbrush\fR, since there is a QBrush constructor that takes a QColor argument and creates a solid pattern brush.
+.PP
+See also drawRect().
+.PP
+Examples:
+.)l listboxcombo/listboxcombo.cpp, multiple/ax1.h, progress/progress.cpp, qdir/qdir.cpp, qfd/fontdisplayer.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "void QPainter::fillRect ( const QRect & r, const QBrush & brush )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Fills the rectangle \fIr\fR using brush \fIbrush\fR.
+.SH "void QPainter::flush ( const QRegion & region, CoordinateMode cm = CoordDevice )"
+Flushes any buffered drawing operations inside the region \fIregion\fR using clipping mode \fIcm\fR.
+.PP
+The flush may update the whole device if the platform does not support flushing to a specified region.
+.PP
+See also CoordinateMode.
+.SH "void QPainter::flush ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Flushes any buffered drawing operations.
+.SH "const QFont & QPainter::font () const"
+Returns the currently set painter font.
+.PP
+See also setFont() and QFont.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QFontInfo QPainter::fontInfo () const"
+Returns the font info for the painter, if the painter is active. It is not possible to obtain font information for an inactive painter, so the return value is undefined if the painter is not active.
+.PP
+See also fontMetrics() and isActive().
+.SH "QFontMetrics QPainter::fontMetrics () const"
+Returns the font metrics for the painter, if the painter is active. It is not possible to obtain metrics for an inactive painter, so the return value is undefined if the painter is not active.
+.PP
+See also fontInfo() and isActive().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, desktop/desktop.cpp, drawdemo/drawdemo.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "HDC QPainter::handle () const"
+Returns the platform-dependent handle used for drawing. Using this function is not portable.
+.SH "bool QPainter::hasClipping () const"
+Returns TRUE if clipping has been set; otherwise returns FALSE.
+.PP
+See also setClipping().
+.PP
+Example: themes/wood.cpp.
+.SH "bool QPainter::hasViewXForm () const"
+Returns TRUE if view transformation is enabled; otherwise returns FALSE.
+.PP
+See also setViewXForm() and xForm().
+.SH "bool QPainter::hasWorldXForm () const"
+Returns TRUE if world transformation is enabled; otherwise returns FALSE.
+.PP
+See also setWorldXForm().
+.SH "bool QPainter::isActive () const"
+Returns TRUE if the painter is active painting, i.e. begin() has been called and end() has not yet been called; otherwise returns FALSE.
+.PP
+See also QPaintDevice::paintingActive().
+.PP
+Examples:
+.)l desktop/desktop.cpp and helpviewer/helpwindow.cpp.
+.SH "void QPainter::lineTo ( int x, int y )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use drawLine() instead.
+.PP
+Draws a line from the current pen position to \fI(x, y)\fR and sets \fI(x, y)\fR to be the new current pen position.
+.PP
+See also QPen, moveTo(), drawLine(), and pos().
+.SH "void QPainter::lineTo ( const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws a line to the point \fIp\fR.
+.SH "void QPainter::moveTo ( int x, int y )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the current pen position to \fI(x, y)\fR
+.PP
+See also lineTo() and pos().
+.SH "void QPainter::moveTo ( const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves to the point \fIp\fR.
+.SH "const QPen & QPainter::pen () const"
+Returns the painter's current pen.
+.PP
+See also setPen().
+.PP
+Examples:
+.)l multiple/ax2.h, progress/progress.cpp, and themes/wood.cpp.
+.SH "QPoint QPainter::pos () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the current position of the pen.
+.PP
+See also moveTo().
+.SH "RasterOp QPainter::rasterOp () const"
+Returns the current raster operation.
+.PP
+See also setRasterOp() and RasterOp.
+.SH "void QPainter::redirect ( QPaintDevice * pdev, QPaintDevice * replacement )\fC [static]\fR"
+Redirects all paint commands for a paint device, \fIpdev\fR, to another paint device, \fIreplacement\fR, unless \fIreplacement\fR is 0. If \fIreplacement\fR is 0, the redirection for \fIpdev\fR is removed.
+.PP
+In general, you'll probably find calling QPixmap::grabWidget() or QPixmap::grabWindow() is an easier solution.
+.SH "void QPainter::resetXForm ()"
+Resets any transformations that were made using translate(), scale(), shear(), rotate(), setWorldMatrix(), setViewport() and setWindow().
+.PP
+See also worldMatrix(), viewport(), and window().
+.SH "void QPainter::restore ()"
+Restores the current painter state (pops a saved state off the stack).
+.PP
+See also save().
+.PP
+Example: aclock/aclock.cpp.
+.SH "void QPainter::restoreWorldMatrix ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+We recommend using restore() instead.
+.SH "void QPainter::rotate ( double a )"
+Rotates the coordinate system \fIa\fR degrees counterclockwise.
+.PP
+See also translate(), scale(), shear(), resetXForm(), setWorldMatrix(), and xForm().
+.PP
+Examples:
+.)l aclock/aclock.cpp, t10/cannon.cpp, and t9/cannon.cpp.
+.SH "void QPainter::save ()"
+Saves the current painter state (pushes the state onto a stack). A save() must be followed by a corresponding restore(). end() unwinds the stack.
+.PP
+See also restore().
+.PP
+Example: aclock/aclock.cpp.
+.SH "void QPainter::saveWorldMatrix ()"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+We recommend using save() instead.
+.SH "void QPainter::scale ( double sx, double sy )"
+Scales the coordinate system by \fI(sx, sy)\fR.
+.PP
+See also translate(), shear(), rotate(), resetXForm(), setWorldMatrix(), and xForm().
+.PP
+Example: xform/xform.cpp.
+.SH "void QPainter::setBackgroundColor ( const QColor & c )"
+Sets the background color of the painter to \fIc\fR.
+.PP
+The background color is the color that is filled in when drawing opaque text, stippled lines and bitmaps. The background color has no effect in transparent background mode (which is the default).
+.PP
+See also backgroundColor(), setBackgroundMode(), and BackgroundMode.
+.SH "void QPainter::setBackgroundMode ( BGMode m )"
+Sets the background mode of the painter to \fIm\fR, which must be either TransparentMode (the default) or OpaqueMode.
+.PP
+Transparent mode draws stippled lines and text without setting the background pixels. Opaque mode fills these space with the current background color.
+.PP
+Note that in order to draw a bitmap or pixmap transparently, you must use QPixmap::setMask().
+.PP
+See also backgroundMode() and setBackgroundColor().
+.PP
+Example: picture/picture.cpp.
+.SH "void QPainter::setBrush ( BrushStyle style )"
+Sets the painter's brush to black color and the specified \fIstyle\fR.
+.PP
+See also brush() and QBrush.
+.PP
+Examples:
+.)l aclock/aclock.cpp, drawdemo/drawdemo.cpp, picture/picture.cpp, t10/cannon.cpp, t9/cannon.cpp, themes/wood.cpp, and tooltip/tooltip.cpp.
+.SH "void QPainter::setBrush ( const QBrush & brush )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's brush to \fIbrush\fR.
+.PP
+The \fIbrush\fR defines how shapes are filled.
+.PP
+See also brush().
+.SH "void QPainter::setBrush ( const QColor & color )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's brush to have style SolidPattern and the specified \fIcolor\fR.
+.PP
+See also brush() and QBrush.
+.SH "void QPainter::setBrushOrigin ( int x, int y )"
+Sets the brush origin to \fI(x, y)\fR.
+.PP
+The brush origin specifies the (0, 0) coordinate of the painter's brush. This setting only applies to pattern brushes and pixmap brushes.
+.PP
+See also brushOrigin().
+.SH "void QPainter::setBrushOrigin ( const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the brush origin to point \fIp\fR.
+.SH "void QPainter::setClipRect ( int x, int y, int w, int h, CoordinateMode m = CoordDevice )"
+Sets the clip region to the rectangle \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR and enables clipping. The clip mode is set to \fIm\fR.
+.PP
+If \fIm\fR is CoordDevice (the default), the coordinates given for the clip region are taken to be physical device coordinates and are \fInot\fR subject to any coordinate transformations. If \fIm\fR is CoordPainter, the coordinates given for the clip region are taken to be model coordinates.
+.PP
+See also setClipRegion(), clipRegion(), setClipping(), and QPainter::CoordinateMode.
+.PP
+Examples:
+.)l grapher/grapher.cpp, progress/progress.cpp, showimg/showimg.cpp, splitter/splitter.cpp, and trivial/trivial.cpp.
+.SH "void QPainter::setClipRect ( const QRect & r, CoordinateMode m = CoordDevice )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the clip region to the rectangle \fIr\fR and enables clipping. The clip mode is set to \fIm\fR.
+.PP
+See also CoordinateMode.
+.SH "void QPainter::setClipRegion ( const QRegion & rgn, CoordinateMode m = CoordDevice )"
+Sets the clip region to \fIrgn\fR and enables clipping. The clip mode is set to \fIm\fR.
+.PP
+Note that the clip region is given in physical device coordinates and \fInot\fR subject to any coordinate transformation.
+.PP
+See also setClipRect(), clipRegion(), setClipping(), and CoordinateMode.
+.PP
+Examples:
+.)l qfd/fontdisplayer.cpp and themes/wood.cpp.
+.SH "void QPainter::setClipping ( bool enable )"
+Enables clipping if \fIenable\fR is TRUE, or disables clipping if \fIenable\fR is FALSE.
+.PP
+See also hasClipping(), setClipRect(), and setClipRegion().
+.PP
+Example: themes/wood.cpp.
+.SH "void QPainter::setFont ( const QFont & font )"
+Sets the painter's font to \fIfont\fR.
+.PP
+This font is used by subsequent drawText() functions. The text color is the same as the pen color.
+.PP
+See also font() and drawText().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, grapher/grapher.cpp, hello/hello.cpp, picture/picture.cpp, qwerty/qwerty.cpp, t13/cannon.cpp, and xform/xform.cpp.
+.SH "void QPainter::setPen ( const QPen & pen )"
+Sets a new painter pen.
+.PP
+The \fIpen\fR defines how to draw lines and outlines, and it also defines the text color.
+.PP
+See also pen().
+.PP
+Examples:
+.)l desktop/desktop.cpp, drawdemo/drawdemo.cpp, multiple/ax2.h, progress/progress.cpp, t9/cannon.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "void QPainter::setPen ( PenStyle style )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's pen to have style \fIstyle\fR, width 0 and black color.
+.PP
+See also pen() and QPen.
+.SH "void QPainter::setPen ( const QColor & color )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's pen to have style SolidLine, width 0 and the specified \fIcolor\fR.
+.PP
+See also pen() and QPen.
+.SH "void QPainter::setRasterOp ( RasterOp r )"
+Sets the raster operation to \fIr\fR. The default is CopyROP.
+.PP
+See also rasterOp() and Qt::RasterOp.
+.SH "void QPainter::setTabArray ( int * ta )"
+Sets the tab stop array to \fIta\fR. This puts tab stops at \fIta[0]\fR, \fIta[1]\fR and so on. The array is null-terminated.
+.PP
+If both a tab array and a tab top size is set, the tab array wins.
+.PP
+See also tabArray(), setTabStops(), drawText(), and fontMetrics().
+.SH "void QPainter::setTabStops ( int ts )"
+Set the tab stop width to \fIts\fR, i.e. locates tab stops at \fIts\fR, 2*\fIts\fR, 3*\fIts\fR and so on.
+.PP
+Tab stops are used when drawing formatted text with ExpandTabs set. This fixed tab stop value is used only if no tab array is set (which is the default case).
+.PP
+A value of 0 (the default) implies a tabstop setting of 8 times the width of the character 'x' in the font currently set on the painter.
+.PP
+See also tabStops(), setTabArray(), drawText(), and fontMetrics().
+.SH "void QPainter::setViewXForm ( bool enable )"
+Enables view transformations if \fIenable\fR is TRUE, or disables view transformations if \fIenable\fR is FALSE.
+.PP
+See also hasViewXForm(), setWindow(), setViewport(), setWorldMatrix(), setWorldXForm(), and xForm().
+.SH "void QPainter::setViewport ( int x, int y, int w, int h )"
+Sets the viewport rectangle view transformation for the painter and enables view transformation.
+.PP
+The viewport rectangle is part of the view transformation. The viewport specifies the device coordinate system and is specified by the \fIx\fR, \fIy\fR, \fIw\fR width and \fIh\fR height parameters. Its sister, the window(), specifies the logical coordinate system.
+.PP
+The default viewport rectangle is the same as the device's rectangle. See the Coordinate System Overview for an overview of coordinate transformation.
+.PP
+See also viewport(), setWindow(), setViewXForm(), setWorldMatrix(), setWorldXForm(), and xForm().
+.PP
+Example: aclock/aclock.cpp.
+.SH "void QPainter::setViewport ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's viewport to rectangle \fIr\fR.
+.SH "void QPainter::setWindow ( int x, int y, int w, int h )"
+Sets the window rectangle view transformation for the painter and enables view transformation.
+.PP
+The window rectangle is part of the view transformation. The window specifies the logical coordinate system and is specified by the \fIx\fR, \fIy\fR, \fIw\fR width and \fIh\fR height parameters. Its sister, the viewport(), specifies the device coordinate system.
+.PP
+The default window rectangle is the same as the device's rectangle. See the Coordinate System Overview for an overview of coordinate transformation.
+.PP
+See also window(), setViewport(), setViewXForm(), setWorldMatrix(), and setWorldXForm().
+.PP
+Examples:
+.)l aclock/aclock.cpp and drawdemo/drawdemo.cpp.
+.SH "void QPainter::setWindow ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the painter's window to rectangle \fIr\fR.
+.SH "void QPainter::setWorldMatrix ( const QWMatrix & m, bool combine = FALSE )"
+Sets the world transformation matrix to \fIm\fR and enables world transformation.
+.PP
+If \fIcombine\fR is TRUE, then \fIm\fR is combined with the current transformation matrix, otherwise \fIm\fR replaces the current transformation matrix.
+.PP
+If \fIm\fR is the identity matrix and \fIcombine\fR is FALSE, this function calls setWorldXForm(FALSE). (The identity matrix is the matrix where QWMatrix::m11() and QWMatrix::m22() are 1.0 and the rest are 0.0.)
+.PP
+World transformations are applied after the view transformations (i.e. window and viewport).
+.PP
+The following functions can transform the coordinate system without using a QWMatrix:
+.TP
+translate()
+.TP
+scale()
+.TP
+shear()
+.TP
+rotate()
+.PP
+They operate on the painter's worldMatrix() and are implemented like this:
+.PP
+.nf
+.br
+ void QPainter::rotate( double a )
+.br
+ {
+.br
+ QWMatrix m;
+.br
+ m.rotate( a );
+.br
+ setWorldMatrix( m, TRUE );
+.br
+ }
+.br
+.fi
+.PP
+Note that you should always use \fIcombine\fR when you are drawing into a QPicture. Otherwise it may not be possible to replay the picture with additional transformations. Using translate(), scale(), etc., is safe.
+.PP
+For a brief overview of coordinate transformation, see the Coordinate System Overview.
+.PP
+See also worldMatrix(), setWorldXForm(), setWindow(), setViewport(), setViewXForm(), xForm(), and QWMatrix.
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and xform/xform.cpp.
+.SH "void QPainter::setWorldXForm ( bool enable )"
+Enables world transformations if \fIenable\fR is TRUE, or disables world transformations if \fIenable\fR is FALSE. The world transformation matrix is not changed.
+.PP
+See also setWorldMatrix(), setWindow(), setViewport(), setViewXForm(), and xForm().
+.SH "void QPainter::shear ( double sh, double sv )"
+Shears the coordinate system by \fI(sh, sv)\fR.
+.PP
+See also translate(), scale(), rotate(), resetXForm(), setWorldMatrix(), and xForm().
+.SH "int * QPainter::tabArray () const"
+Returns the currently set tab stop array.
+.PP
+See also setTabArray().
+.SH "int QPainter::tabStops () const"
+Returns the tab stop setting.
+.PP
+See also setTabStops().
+.SH "void QPainter::translate ( double dx, double dy )"
+Translates the coordinate system by \fI(dx, dy)\fR. After this call, \fI(dx, dy)\fR is added to points.
+.PP
+For example, the following code draws the same point twice:
+.PP
+.nf
+.br
+ void MyWidget::paintEvent()
+.br
+ {
+.br
+ QPainter paint( this );
+.br
+.br
+ paint.drawPoint( 0, 0 );
+.br
+.br
+ paint.translate( 100.0, 40.0 );
+.br
+ paint.drawPoint( -100, -40 );
+.br
+ }
+.br
+.fi
+.PP
+See also scale(), shear(), rotate(), resetXForm(), setWorldMatrix(), and xForm().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, t10/cannon.cpp, t9/cannon.cpp, themes/metal.cpp, themes/wood.cpp, and xform/xform.cpp.
+.SH "QRect QPainter::viewport () const"
+Returns the viewport rectangle.
+.PP
+See also setViewport() and setViewXForm().
+.PP
+Example: aclock/aclock.cpp.
+.SH "QRect QPainter::window () const"
+Returns the window rectangle.
+.PP
+See also setWindow() and setViewXForm().
+.SH "const QWMatrix & QPainter::worldMatrix () const"
+Returns the world transformation matrix.
+.PP
+See also setWorldMatrix().
+.SH "QPoint QPainter::xForm ( const QPoint & pv ) const"
+Returns the point \fIpv\fR transformed from model coordinates to device coordinates.
+.PP
+See also xFormDev() and QWMatrix::map().
+.SH "QRect QPainter::xForm ( const QRect & rv ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the rectangle \fIrv\fR transformed from model coordinates to device coordinates.
+.PP
+If world transformation is enabled and rotation or shearing has been specified, then the bounding rectangle is returned.
+.PP
+See also xFormDev() and QWMatrix::map().
+.SH "QPointArray QPainter::xForm ( const QPointArray & av ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point array \fIav\fR transformed from model coordinates to device coordinates.
+.PP
+See also xFormDev() and QWMatrix::map().
+.SH "QPointArray QPainter::xForm ( const QPointArray & av, int index, int npoints ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point array \fIav\fR transformed from model coordinates to device coordinates. The \fIindex\fR is the first point in the array and \fInpoints\fR denotes the number of points to be transformed. If \fInpoints\fR is negative, all points from \fIav[index]\fR until the last point in the array are transformed.
+.PP
+The returned point array consists of the number of points that were transformed.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPointArray a(10);
+.br
+ QPointArray b;
+.br
+ b = painter.xForm(a, 2, 4); // b.size() == 4
+.br
+ b = painter.xForm(a, 2, -1); // b.size() == 8
+.br
+.fi
+.PP
+See also xFormDev() and QWMatrix::map().
+.SH "QRect QPainter::xFormDev ( const QRect & rd ) const"
+Returns the rectangle \fIrd\fR transformed from device coordinates to model coordinates.
+.PP
+If world transformation is enabled and rotation or shearing is used, then the bounding rectangle is returned.
+.PP
+See also xForm() and QWMatrix::map().
+.SH "QPoint QPainter::xFormDev ( const QPoint & pd ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point \fIpd\fR transformed from device coordinates to model coordinates.
+.PP
+See also xForm() and QWMatrix::map().
+.SH "QPointArray QPainter::xFormDev ( const QPointArray & ad ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point array \fIad\fR transformed from device coordinates to model coordinates.
+.PP
+See also xForm() and QWMatrix::map().
+.SH "QPointArray QPainter::xFormDev ( const QPointArray & ad, int index, int npoints ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point array \fIad\fR transformed from device coordinates to model coordinates. The \fIindex\fR is the first point in the array and \fInpoints\fR denotes the number of points to be transformed. If \fInpoints\fR is negative, all points from \fIad[index]\fR until the last point in the array are transformed.
+.PP
+The returned point array consists of the number of points that were transformed.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPointArray a(10);
+.br
+ QPointArray b;
+.br
+ b = painter.xFormDev(a, 1, 3); // b.size() == 3
+.br
+ b = painter.xFormDev(a, 1, -1); // b.size() == 9
+.br
+.fi
+.PP
+See also xForm() and QWMatrix::map().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void qDrawPlainRect ( QPainter * p, int x, int y, int w, int h, const QColor & c, int lineWidth, const QBrush * fill )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws the plain rectangle specified by (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) using the painter \fIp\fR.
+.PP
+The color argument \fIc\fR specifies the line color.
+.PP
+The \fIlineWidth\fR argument specifies the line width.
+.PP
+The rectangle's interior is filled with the \fIfill\fR brush unless \fIfill\fR is 0.
+.PP
+If you want to use a QFrame widget instead, you can make it display a plain rectangle, for example \fCQFrame::setFrameStyle( QFrame::Box | QFrame::Plain )\fR.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawShadeRect() and QStyle::drawPrimitive().
+.SH "void qDrawShadeLine ( QPainter * p, int x1, int y1, int x2, int y2, const QColorGroup & g, bool sunken, int lineWidth, int midLineWidth )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws a horizontal (\fIy1\fR == \fIy2\fR) or vertical (\fIx1\fR == \fIx2\fR) shaded line using the painter \fIp\fR.
+.PP
+Nothing is drawn if \fIy1\fR != \fIy2\fR and \fIx1\fR != \fIx2\fR (i.e. the line is neither horizontal nor vertical).
+.PP
+The color group argument \fIg\fR specifies the shading colors (light, dark and middle colors).
+.PP
+The line appears sunken if \fIsunken\fR is TRUE, or raised if \fIsunken\fR is FALSE.
+.PP
+The \fIlineWidth\fR argument specifies the line width for each of the lines. It is not the total line width.
+.PP
+The \fImidLineWidth\fR argument specifies the width of a middle line drawn in the QColorGroup::mid() color.
+.PP
+If you want to use a QFrame widget instead, you can make it display a shaded line, for example \fCQFrame::setFrameStyle( QFrame::HLine | QFrame::Sunken )\fR.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawShadeRect(), qDrawShadePanel(), and QStyle::drawPrimitive().
+.SH "void qDrawShadePanel ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, int lineWidth, const QBrush * fill )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws the shaded panel specified by (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) using the painter \fIp\fR.
+.PP
+The color group argument \fIg\fR specifies the shading colors (light, dark and middle colors).
+.PP
+The panel appears sunken if \fIsunken\fR is TRUE, or raised if \fIsunken\fR is FALSE.
+.PP
+The \fIlineWidth\fR argument specifies the line width.
+.PP
+The panel's interior is filled with the \fIfill\fR brush unless \fIfill\fR is 0.
+.PP
+If you want to use a QFrame widget instead, you can make it display a shaded panel, for example \fCQFrame::setFrameStyle( QFrame::Panel | QFrame::Sunken )\fR.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawWinPanel(), qDrawShadeLine(), qDrawShadeRect(), and QStyle::drawPrimitive().
+.SH "void qDrawShadeRect ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, int lineWidth, int midLineWidth, const QBrush * fill )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws the shaded rectangle specified by (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) using the painter \fIp\fR.
+.PP
+The color group argument \fIg\fR specifies the shading colors (light, dark and middle colors).
+.PP
+The rectangle appears sunken if \fIsunken\fR is TRUE, or raised if \fIsunken\fR is FALSE.
+.PP
+The \fIlineWidth\fR argument specifies the line width for each of the lines. It is not the total line width.
+.PP
+The \fImidLineWidth\fR argument specifies the width of a middle line drawn in the QColorGroup::mid() color.
+.PP
+The rectangle's interior is filled with the \fIfill\fR brush unless \fIfill\fR is 0.
+.PP
+If you want to use a QFrame widget instead, you can make it display a shaded rectangle, for example \fCQFrame::setFrameStyle( QFrame::Box | QFrame::Raised )\fR.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawShadeLine(), qDrawShadePanel(), qDrawPlainRect(), QStyle::drawItem(), QStyle::drawControl(), and QStyle::drawComplexControl().
+.SH "void qDrawWinButton ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, const QBrush * fill )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws the Windows-style button specified by (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) using the painter \fIp\fR.
+.PP
+The color group argument \fIg\fR specifies the shading colors (light, dark and middle colors).
+.PP
+The button appears sunken if \fIsunken\fR is TRUE, or raised if \fIsunken\fR is FALSE.
+.PP
+The line width is 2 pixels.
+.PP
+The button's interior is filled with the \fI*fill\fR brush unless \fIfill\fR is 0.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawWinPanel() and QStyle::drawControl().
+.SH "void qDrawWinPanel ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool sunken, const QBrush * fill )"
+\fC#include <qdrawutil.h>\fR
+.PP
+Draws the Windows-style panel specified by (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) using the painter \fIp\fR.
+.PP
+The color group argument \fIg\fR specifies the shading colors.
+.PP
+The panel appears sunken if \fIsunken\fR is TRUE, or raised if \fIsunken\fR is FALSE.
+.PP
+The line width is 2 pixels.
+.PP
+The button's interior is filled with the \fIfill\fR brush unless \fIfill\fR is 0.
+.PP
+If you want to use a QFrame widget instead, you can make it display a shaded panel, for example \fCQFrame::setFrameStyle( QFrame::WinPanel | QFrame::Raised )\fR.
+.PP
+\fBWarning:\fR This function does not look at QWidget::style() or QApplication::style(). Use the drawing functions in QStyle to make widgets that follow the current GUI style.
+.PP
+See also qDrawShadePanel(), qDrawWinButton(), and QStyle::drawPrimitive().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpainter.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpainter.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpaintevent.3qt b/doc/man/man3/qpaintevent.3qt
new file mode 100644
index 0000000..62db92b
--- /dev/null
+++ b/doc/man/man3/qpaintevent.3qt
@@ -0,0 +1,94 @@
+'\" t
+.TH QPaintEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPaintEvent \- Event parameters for paint events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPaintEvent\fR ( const QRegion & paintRegion, bool erased = TRUE )"
+.br
+.ti -1c
+.BI "\fBQPaintEvent\fR ( const QRect & paintRect, bool erased = TRUE )"
+.br
+.ti -1c
+.BI "\fBQPaintEvent\fR ( const QRegion & paintRegion, const QRect & paintRect, bool erased = TRUE )"
+.br
+.ti -1c
+.BI "const QRect & \fBrect\fR () const"
+.br
+.ti -1c
+.BI "const QRegion & \fBregion\fR () const"
+.br
+.ti -1c
+.BI "bool \fBerased\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPaintEvent class contains event parameters for paint events.
+.PP
+Paint events are sent to widgets that need to update themselves, for instance when part of a widget is exposed because a covering widget is moved.
+.PP
+The event contains a region() that needs to be updated, and a rect() that is the bounding rectangle of that region. Both are provided because many widgets can't make much use of region(), and rect() can be much faster than region().boundingRect(). Painting is clipped to region() during processing of a paint event.
+.PP
+The erased() function returns TRUE if the region() has been cleared to the widget's background (see QWidget::backgroundMode()), and FALSE if the region's contents are arbitrary.
+.PP
+See also QPainter, QWidget::update(), QWidget::repaint(), QWidget::paintEvent(), QWidget::backgroundMode, QRegion, and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPaintEvent::QPaintEvent ( const QRegion & paintRegion, bool erased = TRUE )"
+Constructs a paint event object with the region that should be updated. The region is given by \fIpaintRegion\fR. If \fIerased\fR is TRUE the region will be cleared before repainting.
+.SH "QPaintEvent::QPaintEvent ( const QRect & paintRect, bool erased = TRUE )"
+Constructs a paint event object with the rectangle that should be updated. The region is also given by \fIpaintRect\fR. If \fIerased\fR is TRUE the region will be cleared before repainting.
+.SH "QPaintEvent::QPaintEvent ( const QRegion & paintRegion, const QRect & paintRect, bool erased = TRUE )"
+Constructs a paint event object with the rectangle \fIpaintRect\fR that should be updated. The region is given by \fIpaintRegion\fR. If \fIerased\fR is TRUE the region will be cleared before repainting.
+.SH "bool QPaintEvent::erased () const"
+Returns TRUE if the paint event region (or rectangle) has been erased with the widget's background; otherwise returns FALSE.
+.SH "const QRect & QPaintEvent::rect () const"
+Returns the rectangle that should be updated.
+.PP
+See also region() and QPainter::setClipRect().
+.PP
+Examples:
+.)l life/life.cpp, qfd/fontdisplayer.cpp, showimg/showimg.cpp, t10/cannon.cpp, t11/cannon.cpp, t13/cannon.cpp, and tooltip/tooltip.cpp.
+.SH "const QRegion & QPaintEvent::region () const"
+Returns the region that should be updated.
+.PP
+See also rect() and QPainter::setClipRegion().
+.PP
+Examples:
+.)l qfd/fontdisplayer.cpp and scribble/scribble.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpaintevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpaintevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpair.3qt b/doc/man/man3/qpair.3qt
new file mode 100644
index 0000000..6637eb5
--- /dev/null
+++ b/doc/man/man3/qpair.3qt
@@ -0,0 +1,100 @@
+'\" t
+.TH QPair 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPair \- Value-based template class that provides a pair of elements
+.SH SYNOPSIS
+\fC#include <qpair.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef T1 \fBfirst_type\fR"
+.br
+.ti -1c
+.BI "typedef T2 \fBsecond_type\fR"
+.br
+.ti -1c
+.BI "\fBQPair\fR ()"
+.br
+.ti -1c
+.BI "\fBQPair\fR ( const T1 & t1, const T2 & t2 )"
+.br
+.ti -1c
+.BI "QPair<T1, T2> & \fBoperator=\fR ( const QPair<T1, T2> & other )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QPair \fBqMakePair\fR ( T1 t1, T2 t2 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPair class is a value-based template class that provides a pair of elements.
+.PP
+QPair is a Qt implementation of an STL-like pair. It can be used in your application if the standard pair<> is not available on your target platforms.
+.PP
+QPair<T1, T2> defines a template instance to create a pair of values that contains two values of type T1 and T2. Please note that QPair does not store pointers to the two elements; it holds a copy of every member. This is why these kinds of classes are called \fIvalue based\fR. If you're interested in \fIpointer based\fR classes see, for example, QPtrList and QDict.
+.PP
+QPair holds one copy of type T1 and one copy of type T2, but does not provide iterators to access these elements. Instead, the two elements (\fCfirst\fR and \fCsecond\fR) are public member variables of the pair. QPair owns the contained elements. For more relaxed ownership semantics, see QPtrCollection and friends which are pointer-based containers.
+.PP
+Some classes cannot be used within a QPair: for example, all classes derived from QObject and thus all classes that implement widgets. Only "values" can be used in a QPair. To qualify as a value the class must provide:
+.TP
+A copy constructor
+.TP
+An assignment operator
+.TP
+A constructor that takes no arguments
+.PP
+Note that C++ defaults to field-by-field assignment operators and copy constructors if no explicit version is supplied. In many cases this is sufficient.
+.PP
+QPair uses an STL-like syntax to manipulate and address the objects it contains. See the QTL documentation for more information.
+.PP
+Functions that need to return two values can use a QPair.
+.PP
+See also Qt Template Library Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QPair::first_type"
+The type of the first element in the pair.
+.SH "QPair::second_type"
+The type of the second element in the pair.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPair::QPair ()"
+Constructs an empty pair. The \fCfirst\fR and \fCsecond\fR elements are default constructed.
+.SH "QPair::QPair ( const T1 & t1, const T2 & t2 )"
+Constructs a pair and initializes the \fCfirst\fR element with \fIt1\fR and the \fCsecond\fR element with \fIt2\fR.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QPair qMakePair ( T1 t1, T2 t2 )"
+This is a template convenience function. It is used to create a
+QPair<> object that contains \fIt1\fR and \fIt2\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpair.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpair.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpalette.3qt b/doc/man/man3/qpalette.3qt
new file mode 100644
index 0000000..ac99ddc
--- /dev/null
+++ b/doc/man/man3/qpalette.3qt
@@ -0,0 +1,293 @@
+'\" t
+.TH QPalette 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPalette \- Color groups for each widget state
+.SH SYNOPSIS
+\fC#include <qpalette.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPalette\fR ()"
+.br
+.ti -1c
+.BI "QPalette ( const QColor & button ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQPalette\fR ( const QColor & button, const QColor & background )"
+.br
+.ti -1c
+.BI "\fBQPalette\fR ( const QColorGroup & active, const QColorGroup & disabled, const QColorGroup & inactive )"
+.br
+.ti -1c
+.BI "\fBQPalette\fR ( const QPalette & p )"
+.br
+.ti -1c
+.BI "\fB~QPalette\fR ()"
+.br
+.ti -1c
+.BI "QPalette & \fBoperator=\fR ( const QPalette & p )"
+.br
+.ti -1c
+.BI "enum \fBColorGroup\fR { Disabled, Active, Inactive, NColorGroups, Normal = Active }"
+.br
+.ti -1c
+.BI "const QColor & \fBcolor\fR ( ColorGroup gr, QColorGroup::ColorRole r ) const"
+.br
+.ti -1c
+.BI "const QBrush & \fBbrush\fR ( ColorGroup gr, QColorGroup::ColorRole r ) const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( ColorGroup gr, QColorGroup::ColorRole r, const QColor & c )"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( ColorGroup gr, QColorGroup::ColorRole r, const QBrush & b )"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( QColorGroup::ColorRole r, const QColor & c )"
+.br
+.ti -1c
+.BI "void \fBsetBrush\fR ( QColorGroup::ColorRole r, const QBrush & b )"
+.br
+.ti -1c
+.BI "QPalette \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "const QColorGroup & \fBactive\fR () const"
+.br
+.ti -1c
+.BI "const QColorGroup & \fBdisabled\fR () const"
+.br
+.ti -1c
+.BI "const QColorGroup & \fBinactive\fR () const"
+.br
+.ti -1c
+.BI "const QColorGroup & normal () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetActive\fR ( const QColorGroup & g )"
+.br
+.ti -1c
+.BI "void \fBsetDisabled\fR ( const QColorGroup & g )"
+.br
+.ti -1c
+.BI "void \fBsetInactive\fR ( const QColorGroup & g )"
+.br
+.ti -1c
+.BI "void setNormal ( const QColorGroup & cg ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QPalette & p ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QPalette & p ) const"
+.br
+.ti -1c
+.BI "bool \fBisCopyOf\fR ( const QPalette & p )"
+.br
+.ti -1c
+.BI "int \fBserialNumber\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPalette & p )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPalette & p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPalette class contains color groups for each widget state.
+.PP
+A palette consists of three color groups: \fIactive\fR, \fIdisabled\fR, and \fIinactive\fR. All widgets contain a palette, and all widgets in Qt use their palette to draw themselves. This makes the user interface easily configurable and easier to keep consistent.
+.PP
+If you create a new widget we strongly recommend that you use the colors in the palette rather than hard-coding specific colors.
+.PP
+The color groups:
+.TP
+The active() group is used for the window that has keyboard focus.
+.TP
+The inactive() group is used for other windows.
+.TP
+The disabled() group is used for widgets (not windows) that are disabled for some reason.
+.PP
+Both active and inactive windows can contain disabled widgets. (Disabled widgets are often called \fIinaccessible\fR or \fIgrayed out\fR.)
+.PP
+In Motif style, active() and inactive() look the same. In Windows 2000 style and Macintosh Platinum style, the two styles look slightly different.
+.PP
+There are setActive(), setInactive(), and setDisabled() functions to modify the palette. (Qt also supports a normal() group; this is an obsolete alias for active(), supported for backwards compatibility.)
+.PP
+Colors and brushes can be set for particular roles in any of a palette's color groups with setColor() and setBrush().
+.PP
+You can copy a palette using the copy constructor and test to see if two palettes are \fIidentical\fR using isCopyOf().
+.PP
+See also QApplication::setPalette(), QWidget::palette, QColorGroup, QColor, Widget Appearance and Style, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SS "Member Type Documentation"
+.SH "QPalette::ColorGroup"
+.TP
+\fCQPalette::Disabled\fR
+.TP
+\fCQPalette::Active\fR
+.TP
+\fCQPalette::Inactive\fR
+.TP
+\fCQPalette::NColorGroups\fR
+.TP
+\fCQPalette::Normal\fR - synonym for Active
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPalette::QPalette ()"
+Constructs a palette that consists of color groups with only black colors.
+.SH "QPalette::QPalette ( const QColor & button )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs a palette from the \fIbutton\fR color. The other colors are automatically calculated, based on this color. Background will be the button color as well.
+.SH "QPalette::QPalette ( const QColor & button, const QColor & background )"
+Constructs a palette from a \fIbutton\fR color and a \fIbackground\fR. The other colors are automatically calculated, based on these colors.
+.SH "QPalette::QPalette ( const QColorGroup & active, const QColorGroup & disabled, const QColorGroup & inactive )"
+Constructs a palette that consists of the three color groups \fIactive\fR, \fIdisabled\fR and \fIinactive\fR. See the Detailed Description for definitions of the color groups and QColorGroup::ColorRole for definitions of each color role in the three groups.
+.PP
+See also QColorGroup and QColorGroup::ColorRole.
+.SH "QPalette::QPalette ( const QPalette & p )"
+Constructs a copy of \fIp\fR.
+.PP
+This constructor is fast (it uses copy-on-write).
+.SH "QPalette::~QPalette ()"
+Destroys the palette.
+.SH "const QColorGroup & QPalette::active () const"
+Returns the active color group of this palette.
+.PP
+See also QColorGroup, setActive(), inactive(), and disabled().
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QBrush & QPalette::brush ( ColorGroup gr, QColorGroup::ColorRole r ) const"
+Returns the brush in color group \fIgr\fR, used for color role \fIr\fR.
+.PP
+See also color(), setBrush(), and QColorGroup::ColorRole.
+.SH "const QColor & QPalette::color ( ColorGroup gr, QColorGroup::ColorRole r ) const"
+Returns the color in color group \fIgr\fR, used for color role \fIr\fR.
+.PP
+See also brush(), setColor(), and QColorGroup::ColorRole.
+.SH "QPalette QPalette::copy () const"
+Returns a deep copy of this palette.
+.PP
+\fBWarning:\fR This is slower than the copy constructor and assignment operator and offers no benefits.
+.SH "const QColorGroup & QPalette::disabled () const"
+Returns the disabled color group of this palette.
+.PP
+See also QColorGroup, setDisabled(), active(), and inactive().
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "const QColorGroup & QPalette::inactive () const"
+Returns the inactive color group of this palette.
+.PP
+See also QColorGroup, setInactive(), active(), and disabled().
+.SH "bool QPalette::isCopyOf ( const QPalette & p )"
+Returns TRUE if this palette and \fIp\fR are copies of each other, i.e. one of them was created as a copy of the other and neither was subsequently modified; otherwise returns FALSE. This is much stricter than equality.
+.PP
+See also operator=() and operator==().
+.SH "const QColorGroup & QPalette::normal () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the active color group. Use active() instead.
+.PP
+See also setActive() and active().
+.SH "bool QPalette::operator!= ( const QPalette & p ) const"
+Returns TRUE (slowly) if this palette is different from \fIp\fR; otherwise returns FALSE (usually quickly).
+.SH "QPalette & QPalette::operator= ( const QPalette & p )"
+Assigns \fIp\fR to this palette and returns a reference to this palette.
+.PP
+This is fast (it uses copy-on-write).
+.PP
+See also copy().
+.SH "bool QPalette::operator== ( const QPalette & p ) const"
+Returns TRUE (usually quickly) if this palette is equal to \fIp\fR; otherwise returns FALSE (slowly).
+.SH "int QPalette::serialNumber () const"
+Returns a number that uniquely identifies this QPalette object. The serial number is intended for caching. Its value may not be used for anything other than equality testing.
+.PP
+Note that QPalette uses copy-on-write, and the serial number changes during the lazy copy operation (detach()), not during a shallow copy (copy constructor or assignment).
+.PP
+See also QPixmap, QPixmapCache, and QCache.
+.SH "void QPalette::setActive ( const QColorGroup & g )"
+Sets the Active color group to \fIg\fR.
+.PP
+See also active(), setDisabled(), setInactive(), and QColorGroup.
+.SH "void QPalette::setBrush ( ColorGroup gr, QColorGroup::ColorRole r, const QBrush & b )"
+Sets the brush in color group \fIgr\fR, used for color role \fIr\fR, to \fIb\fR.
+.PP
+See also brush(), setColor(), and QColorGroup::ColorRole.
+.SH "void QPalette::setBrush ( QColorGroup::ColorRole r, const QBrush & b )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the brush in for color role \fIr\fR in all three color groups to \fIb\fR.
+.PP
+See also brush(), setColor(), QColorGroup::ColorRole, active(), inactive(), and disabled().
+.SH "void QPalette::setColor ( ColorGroup gr, QColorGroup::ColorRole r, const QColor & c )"
+Sets the brush in color group \fIgr\fR, used for color role \fIr\fR, to the solid color \fIc\fR.
+.PP
+See also setBrush(), color(), and QColorGroup::ColorRole.
+.PP
+Example: themes/themes.cpp.
+.SH "void QPalette::setColor ( QColorGroup::ColorRole r, const QColor & c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the brush color used for color role \fIr\fR to color \fIc\fR in all three color groups.
+.PP
+See also color(), setBrush(), and QColorGroup::ColorRole.
+.SH "void QPalette::setDisabled ( const QColorGroup & g )"
+Sets the Disabled color group to \fIg\fR.
+.PP
+See also disabled(), setActive(), and setInactive().
+.SH "void QPalette::setInactive ( const QColorGroup & g )"
+Sets the Inactive color group to \fIg\fR.
+.PP
+See also active(), setDisabled(), setActive(), and QColorGroup.
+.SH "void QPalette::setNormal ( const QColorGroup & cg )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the active color group to \fIcg\fR. Use setActive() instead.
+.PP
+See also setActive() and active().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QPalette & p )"
+Writes the palette, \fIp\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QPalette & p )"
+Reads a palette from the stream, \fIs\fR into the palette \fIp\fR, and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpalette.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpalette.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpen.3qt b/doc/man/man3/qpen.3qt
new file mode 100644
index 0000000..36dda8a
--- /dev/null
+++ b/doc/man/man3/qpen.3qt
@@ -0,0 +1,287 @@
+'\" t
+.TH QPen 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPen \- Defines how a QPainter should draw lines and outlines of shapes
+.SH SYNOPSIS
+\fC#include <qpen.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPen\fR ()"
+.br
+.ti -1c
+.BI "\fBQPen\fR ( PenStyle style )"
+.br
+.ti -1c
+.BI "\fBQPen\fR ( const QColor & color, uint width = 0, PenStyle style = SolidLine )"
+.br
+.ti -1c
+.BI "\fBQPen\fR ( const QColor & cl, uint w, PenStyle s, PenCapStyle c, PenJoinStyle j )"
+.br
+.ti -1c
+.BI "\fBQPen\fR ( const QPen & p )"
+.br
+.ti -1c
+.BI "\fB~QPen\fR ()"
+.br
+.ti -1c
+.BI "QPen & \fBoperator=\fR ( const QPen & p )"
+.br
+.ti -1c
+.BI "PenStyle \fBstyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStyle\fR ( PenStyle s )"
+.br
+.ti -1c
+.BI "uint \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWidth\fR ( uint w )"
+.br
+.ti -1c
+.BI "const QColor & \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "PenCapStyle \fBcapStyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCapStyle\fR ( PenCapStyle c )"
+.br
+.ti -1c
+.BI "PenJoinStyle \fBjoinStyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetJoinStyle\fR ( PenJoinStyle j )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QPen & p ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QPen & p ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPen & p )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPen & p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPen class defines how a QPainter should draw lines and outlines of shapes.
+.PP
+A pen has a style, width, color, cap style and join style.
+.PP
+The pen style defines the line type. The default pen style is Qt::SolidLine. Setting the style to NoPen tells the painter to not draw lines or outlines.
+.PP
+When drawing 1 pixel wide diagonal lines you can either use a very fast algorithm (specified by a line width of 0, which is the default), or a slower but more accurate algorithm (specified by a line width of 1). For horizontal and vertical lines a line width of 0 is the same as a line width of 1. The cap and join style have no effect on 0-width lines.
+.PP
+The pen color defines the color of lines and text. The default line color is black. The QColor documentation lists predefined colors.
+.PP
+The cap style defines how the end points of lines are drawn. The join style defines how the joins between two lines are drawn when multiple connected lines are drawn (QPainter::drawPolyline() etc.). The cap and join styles only apply to wide lines, i.e. when the width is 1 or greater.
+.PP
+Use the QBrush class to specify fill styles.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPainter painter;
+.br
+ QPen pen( red, 2 ); // red solid line, 2 pixels wide
+.br
+ painter.begin( &anyPaintDevice ); // paint something
+.br
+ painter.setPen( pen ); // set the red, wide pen
+.br
+ painter.drawRect( 40,30, 200,100 ); // draw a rectangle
+.br
+ painter.setPen( blue ); // set blue pen, 0 pixel width
+.br
+ painter.drawLine( 40,30, 240,130 ); // draw a diagonal in rectangle
+.br
+ painter.end(); // painting done
+.br
+.fi
+.PP
+See the Qt::PenStyle enum type for a complete list of pen styles.
+.PP
+With reference to the end points of lines, for wide (non-0-width) pens it depends on the cap style whether the end point is drawn or not. QPainter will try to make sure that the end point is drawn for 0-width pens, but this cannot be absolutely guaranteed because the underlying drawing engine is free to use any (typically accelerated) algorithm for drawing 0-width lines. On all tested systems, however, the end point of at least all non-diagonal lines are drawn.
+.PP
+A pen's color(), width(), style(), capStyle() and joinStyle() can be set in the constructor or later with setColor(), setWidth(), setStyle(), setCapStyle() and setJoinStyle(). Pens may also be compared and streamed.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QPainter, QPainter::setPen(), Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPen::QPen ()"
+Constructs a default black solid line pen with 0 width, which renders lines 1 pixel wide (fast diagonals).
+.SH "QPen::QPen ( PenStyle style )"
+Constructs a black pen with 0 width (fast diagonals) and style \fIstyle\fR.
+.PP
+See also setStyle().
+.SH "QPen::QPen ( const QColor & color, uint width = 0, PenStyle style = SolidLine )"
+Constructs a pen with the specified \fIcolor\fR, \fIwidth\fR and \fIstyle\fR.
+.PP
+See also setWidth(), setStyle(), and setColor().
+.SH "QPen::QPen ( const QColor & cl, uint w, PenStyle s, PenCapStyle c, PenJoinStyle j )"
+Constructs a pen with the specified color \fIcl\fR and width \fIw\fR. The pen style is set to \fIs\fR, the pen cap style to \fIc\fR and the pen join style to \fIj\fR.
+.PP
+A line width of 0 will produce a 1 pixel wide line using a fast algorithm for diagonals. A line width of 1 will also produce a 1 pixel wide line, but uses a slower more accurate algorithm for diagonals. For horizontal and vertical lines a line width of 0 is the same as a line width of 1. The cap and join style have no effect on 0-width lines.
+.PP
+See also setWidth(), setStyle(), and setColor().
+.SH "QPen::QPen ( const QPen & p )"
+Constructs a pen that is a copy of \fIp\fR.
+.SH "QPen::~QPen ()"
+Destroys the pen.
+.SH "PenCapStyle QPen::capStyle () const"
+Returns the pen's cap style.
+.PP
+See also setCapStyle().
+.SH "const QColor & QPen::color () const"
+Returns the pen color.
+.PP
+See also setColor().
+.PP
+Example: scribble/scribble.h.
+.SH "PenJoinStyle QPen::joinStyle () const"
+Returns the pen's join style.
+.PP
+See also setJoinStyle().
+.SH "bool QPen::operator!= ( const QPen & p ) const"
+Returns TRUE if the pen is different from \fIp\fR; otherwise returns FALSE.
+.PP
+Two pens are different if they have different styles, widths or colors.
+.PP
+See also operator==().
+.SH "QPen & QPen::operator= ( const QPen & p )"
+Assigns \fIp\fR to this pen and returns a reference to this pen.
+.SH "bool QPen::operator== ( const QPen & p ) const"
+Returns TRUE if the pen is equal to \fIp\fR; otherwise returns FALSE.
+.PP
+Two pens are equal if they have equal styles, widths and colors.
+.PP
+See also operator!=().
+.SH "void QPen::setCapStyle ( PenCapStyle c )"
+Sets the pen's cap style to \fIc\fR.
+.PP
+The default value is FlatCap. The cap style has no effect on 0-width pens.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+\fBWarning:\fR On Windows 95/98 and Macintosh, the cap style setting has no effect. Wide lines are rendered as if the cap style was SquareCap.
+.PP
+See also capStyle().
+.PP
+Example: themes/wood.cpp.
+.SH "void QPen::setColor ( const QColor & c )"
+Sets the pen color to \fIc\fR.
+.PP
+See also color().
+.PP
+Examples:
+.)l progress/progress.cpp and scribble/scribble.h.
+.SH "void QPen::setJoinStyle ( PenJoinStyle j )"
+Sets the pen's join style to \fIj\fR.
+.PP
+The default value is MiterJoin. The join style has no effect on 0-width pens.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+\fBWarning:\fR On Windows 95/98 and Macintosh, the join style setting has no effect. Wide lines are rendered as if the join style was BevelJoin.
+.PP
+See also joinStyle().
+.PP
+Example: themes/wood.cpp.
+.SH "void QPen::setStyle ( PenStyle s )"
+Sets the pen style to \fIs\fR.
+.PP
+See the Qt::PenStyle documentation for a list of all the styles.
+.PP
+\fBWarning:\fR On Mac OS X the style setting (other than NoPen and SolidLine) have no effect as they are not implemented by the underlying system.
+.PP
+\fBWarning:\fR On Windows 95/98, the style setting (other than NoPen and SolidLine) has no effect for lines with width greater than 1.
+.PP
+See also style().
+.PP
+Example: chart/chartform_canvas.cpp.
+.SH "void QPen::setWidth ( uint w )"
+Sets the pen width to \fIw\fR.
+.PP
+A line width of 0 will produce a 1 pixel wide line using a fast algorithm for diagonals. A line width of 1 will also produce a 1 pixel wide line, but uses a slower more accurate algorithm for diagonals. For horizontal and vertical lines a line width of 0 is the same as a line width of 1. The cap and join style have no effect on 0-width lines.
+.PP
+See also width().
+.PP
+Examples:
+.)l multiple/ax2.h, progress/progress.cpp, and scribble/scribble.h.
+.SH "PenStyle QPen::style () const"
+Returns the pen style.
+.PP
+See also setStyle().
+.SH "uint QPen::width () const"
+Returns the pen width.
+.PP
+See also setWidth().
+.PP
+Example: scribble/scribble.h.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QPen & p )"
+Writes the pen \fIp\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QPen & p )"
+Reads a pen from the stream \fIs\fR into \fIp\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpen.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpen.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpicture.3qt b/doc/man/man3/qpicture.3qt
new file mode 100644
index 0000000..2ae1a53
--- /dev/null
+++ b/doc/man/man3/qpicture.3qt
@@ -0,0 +1,255 @@
+'\" t
+.TH QPicture 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPicture \- Paint device that records and replays QPainter commands
+.SH SYNOPSIS
+\fC#include <qpicture.h>\fR
+.PP
+Inherits QPaintDevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPicture\fR ( int formatVersion = -1 )"
+.br
+.ti -1c
+.BI "\fBQPicture\fR ( const QPicture & pic )"
+.br
+.ti -1c
+.BI "\fB~QPicture\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBdata\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const char * data, uint size )"
+.br
+.ti -1c
+.BI "bool \fBplay\fR ( QPainter * painter )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( QIODevice * dev, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & fileName, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( QIODevice * dev, const char * format = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( const QString & fileName, const char * format = 0 )"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBoundingRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "QPicture & \fBoperator=\fR ( const QPicture & p )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual int \fBmetric\fR ( int m ) const"
+.br
+.ti -1c
+.BI "void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "QPicture \fBcopy\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPicture & r )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPicture & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPicture class is a paint device that records and replays QPainter commands.
+.PP
+A picture serializes painter commands to an IO device in a platform-independent format. For example, a picture created under Windows can be read on a Sun SPARC.
+.PP
+Pictures are called meta-files on some platforms.
+.PP
+Qt pictures use a proprietary binary format. Unlike native picture (meta-file) formats on many window systems, Qt pictures have no limitations regarding their contents. Everything that can be painted can also be stored in a picture, e.g. fonts, pixmaps, regions, transformed graphics, etc.
+.PP
+QPicture is an implicitly shared class.
+.PP
+Example of how to record a picture:
+.PP
+.nf
+.br
+ QPicture pic;
+.br
+ QPainter p;
+.br
+ p.begin( &pic ); // paint in picture
+.br
+ p.drawEllipse( 10,20, 80,70 ); // draw an ellipse
+.br
+ p.end(); // painting done
+.br
+ pic.save( "drawing.pic" ); // save picture
+.br
+.fi
+.PP
+Example of how to replay a picture:
+.PP
+.nf
+.br
+ QPicture pic;
+.br
+ pic.load( "drawing.pic" ); // load picture
+.br
+ QPainter p;
+.br
+ p.begin( &myWidget ); // paint in myWidget
+.br
+ p.drawPicture( pic ); // draw the picture
+.br
+ p.end(); // painting done
+.br
+.fi
+.PP
+Pictures can also be drawn using play(). Some basic data about a picture is available, for example, size(), isNull() and boundingRect().
+.PP
+See also Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPicture::QPicture ( int formatVersion = -1 )"
+Constructs an empty picture.
+.PP
+The \fIformatVersion\fR parameter may be used to \fIcreate\fR a QPicture that can be read by applications that are compiled with earlier versions of Qt.
+.TP
+\fIformatVersion\fR == 1 is binary compatible with Qt 1.x and later.
+.TP
+\fIformatVersion\fR == 2 is binary compatible with Qt 2.0.x and later.
+.TP
+\fIformatVersion\fR == 3 is binary compatible with Qt 2.1.x and later.
+.TP
+\fIformatVersion\fR == 4 is binary compatible with Qt 3.0.x and later.
+.TP
+\fIformatVersion\fR == 5 is binary compatible with Qt 3.1.
+.PP
+Note that the default formatVersion is -1 which signifies the current release, i.e. for Qt 3.1 a formatVersion of 5 is the same as the default formatVersion of -1.
+.PP
+Reading pictures generated by earlier versions of Qt is supported and needs no special coding; the format is automatically detected.
+.SH "QPicture::QPicture ( const QPicture & pic )"
+Constructs a shallow copy of \fIpic\fR.
+.SH "QPicture::~QPicture ()"
+Destroys the picture.
+.SH "QRect QPicture::boundingRect () const"
+Returns the picture's bounding rectangle or an invalid rectangle if the picture contains no data.
+.SH "QPicture QPicture::copy () const\fC [protected]\fR"
+Returns a deep copy of the picture.
+.SH "const char * QPicture::data () const"
+Returns a pointer to the picture data. The pointer is only valid until the next non-const function is called on this picture. The returned pointer is 0 if the picture contains no data.
+.PP
+See also size() and isNull().
+.SH "void QPicture::detach ()\fC [protected]\fR"
+Detaches from shared picture data and makes sure that this picture is the only one referring to the data.
+.PP
+If multiple pictures share common data, this picture makes a copy of the data and detaches itself from the sharing mechanism. Nothing is done if there is just a single reference.
+.SH "bool QPicture::isNull () const"
+Returns TRUE if the picture contains no data; otherwise returns FALSE.
+.SH "bool QPicture::load ( const QString & fileName, const char * format = 0 )"
+Loads a picture from the file specified by \fIfileName\fR and returns TRUE if successful; otherwise returns FALSE.
+.PP
+By default, the file will be interpreted as being in the native QPicture format. Specifying the \fIformat\fR string is optional and is only needed for importing picture data stored in a different format.
+.PP
+Currently, the only external format supported is the W3C SVG format which requires the Qt XML module. The corresponding \fIformat\fR string is "svg".
+.PP
+See also save().
+.PP
+Examples:
+.)l picture/picture.cpp and xform/xform.cpp.
+.SH "bool QPicture::load ( QIODevice * dev, const char * format = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIdev\fR is the device to use for loading.
+.SH "int QPicture::metric ( int m ) const\fC [virtual protected]\fR"
+Internal implementation of the virtual QPaintDevice::metric() function.
+.PP
+Use the QPaintDeviceMetrics class instead.
+.PP
+A picture has the following hard-coded values: dpi=72, numcolors=16777216 and depth=24.
+.PP
+\fIm\fR is the metric to get.
+.SH "QPicture & QPicture::operator= ( const QPicture & p )"
+Assigns a shallow copy of \fIp\fR to this picture and returns a reference to this picture.
+.SH "bool QPicture::play ( QPainter * painter )"
+Replays the picture using \fIpainter\fR, and returns TRUE if successful; otherwise returns FALSE.
+.PP
+This function does exactly the same as QPainter::drawPicture() with (x, y) = (0, 0).
+.SH "bool QPicture::save ( const QString & fileName, const char * format = 0 )"
+Saves a picture to the file specified by \fIfileName\fR and returns TRUE if successful; otherwise returns FALSE.
+.PP
+Specifying the file \fIformat\fR string is optional. It's not recommended unless you intend to export the picture data for use by a third party reader. By default the data will be saved in the native QPicture file format.
+.PP
+Currently, the only external format supported is the W3C SVG format which requires the Qt XML module. The corresponding \fIformat\fR string is "svg".
+.PP
+See also load().
+.PP
+Example: picture/picture.cpp.
+.SH "bool QPicture::save ( QIODevice * dev, const char * format = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIdev\fR is the device to use for saving.
+.SH "void QPicture::setBoundingRect ( const QRect & r )"
+Sets the picture's bounding rectangle to \fIr\fR. The automatically calculated value is overriden.
+.SH "void QPicture::setData ( const char * data, uint size )\fC [virtual]\fR"
+Sets the picture data directly from \fIdata\fR and \fIsize\fR. This function copies the input data.
+.PP
+See also data() and size().
+.SH "uint QPicture::size () const"
+Returns the size of the picture data.
+.PP
+See also data().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QPicture & r )"
+Writes picture \fIr\fR to the stream \fIs\fR and returns a reference to the stream.
+.SH "QDataStream & operator>> ( QDataStream & s, QPicture & r )"
+Reads a picture from the stream \fIs\fR into picture \fIr\fR and returns
+a reference to the stream.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpicture.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpicture.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpixmap.3qt b/doc/man/man3/qpixmap.3qt
new file mode 100644
index 0000000..410b059
--- /dev/null
+++ b/doc/man/man3/qpixmap.3qt
@@ -0,0 +1,788 @@
+'\" t
+.TH QPixmap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPixmap \- Off-screen, pixel-based paint device
+.SH SYNOPSIS
+\fC#include <qpixmap.h>\fR
+.PP
+Inherits QPaintDevice and Qt.
+.PP
+Inherited by QBitmap and QCanvasPixmap.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBColorMode\fR { Auto, Color, Mono }"
+.br
+.ti -1c
+.BI "enum \fBOptimization\fR { DefaultOptim, NoOptim, MemoryOptim = NoOptim, NormalOptim, BestOptim }"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ()"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( int w, int h, int depth = -1, Optimization optimization = DefaultOptim )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QSize & size, int depth = -1, Optimization optimization = DefaultOptim )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QString & fileName, const char * format = 0, ColorMode mode = Auto )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QString & fileName, const char * format, int conversion_flags )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const char * xpm[] )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QByteArray & img_data )"
+.br
+.ti -1c
+.BI "\fBQPixmap\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "\fB~QPixmap\fR ()"
+.br
+.ti -1c
+.BI "QPixmap & \fBoperator=\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "QPixmap & \fBoperator=\fR ( const QImage & image )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "void \fBfill\fR ( const QColor & fillColor = Qt::white )"
+.br
+.ti -1c
+.BI "void \fBfill\fR ( const QWidget * widget, int xofs, int yofs )"
+.br
+.ti -1c
+.BI "void \fBfill\fR ( const QWidget * widget, const QPoint & ofs )"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( const QSize & size )"
+.br
+.ti -1c
+.BI "const QBitmap * \fBmask\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMask\fR ( const QBitmap & newmask )"
+.br
+.ti -1c
+.BI "bool \fBselfMask\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasAlpha\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasAlphaChannel\fR () const"
+.br
+.ti -1c
+.BI "QBitmap \fBcreateHeuristicMask\fR ( bool clipTight = TRUE ) const"
+.br
+.ti -1c
+.BI "QPixmap \fBxForm\fR ( const QWMatrix & matrix ) const"
+.br
+.ti -1c
+.BI "QImage \fBconvertToImage\fR () const"
+.br
+.ti -1c
+.BI "bool \fBconvertFromImage\fR ( const QImage & image, ColorMode mode = Auto )"
+.br
+.ti -1c
+.BI "bool \fBconvertFromImage\fR ( const QImage & img, int conversion_flags )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & fileName, const char * format = 0, ColorMode mode = Auto )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & fileName, const char * format, int conversion_flags )"
+.br
+.ti -1c
+.BI "bool \fBloadFromData\fR ( const uchar * buf, uint len, const char * format = 0, ColorMode mode = Auto )"
+.br
+.ti -1c
+.BI "bool \fBloadFromData\fR ( const uchar * buf, uint len, const char * format, int conversion_flags )"
+.br
+.ti -1c
+.BI "bool \fBloadFromData\fR ( const QByteArray & buf, const char * format = 0, int conversion_flags = 0 )"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( const QString & fileName, const char * format, int quality = -1 ) const"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( QIODevice * device, const char * format, int quality = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBserialNumber\fR () const"
+.br
+.ti -1c
+.BI "Optimization \fBoptimization\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOptimization\fR ( Optimization optimization )"
+.br
+.ti -1c
+.BI "virtual void \fBdetach\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisQBitmap\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "int \fBdefaultDepth\fR ()"
+.br
+.ti -1c
+.BI "QPixmap \fBfromMimeSource\fR ( const QString & abs_name )"
+.br
+.ti -1c
+.BI "QPixmap \fBgrabWindow\fR ( WId window, int x = 0, int y = 0, int w = -1, int h = -1 )"
+.br
+.ti -1c
+.BI "QPixmap \fBgrabWidget\fR ( QWidget * widget, int x = 0, int y = 0, int w = -1, int h = -1 )"
+.br
+.ti -1c
+.BI "QWMatrix \fBtrueMatrix\fR ( const QWMatrix & matrix, int w, int h )"
+.br
+.ti -1c
+.BI "const char * \fBimageFormat\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "Optimization \fBdefaultOptimization\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDefaultOptimization\fR ( Optimization optimization )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQPixmap\fR ( int w, int h, const uchar * bits, bool isXbitmap )"
+.br
+.ti -1c
+.BI "virtual int \fBmetric\fR ( int m ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "void \fBcopyBlt\fR ( QPixmap * dst, int dx, int dy, const QPixmap * src, int sx, int sy, int sw, int sh )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPixmap class is an off-screen, pixel-based paint device.
+.PP
+QPixmap is one of the two classes Qt provides for dealing with images; the other is QImage. QPixmap is designed and optimized for drawing; QImage is designed and optimized for I/O and for direct pixel access/manipulation. There are (slow) functions to convert between QImage and QPixmap: convertToImage() and convertFromImage().
+.PP
+One common use of the QPixmap class is to enable smooth updating of widgets. Whenever something complex needs to be drawn, you can use a pixmap to obtain flicker-free drawing, like this:
+.PP
+<ol type=1>
+.IP 1
+Create a pixmap with the same size as the widget.
+.IP 2
+Fill the pixmap with the widget background color.
+.IP 3
+Paint the pixmap.
+.IP 4
+bitBlt() the pixmap contents onto the widget.
+.PP
+Pixel data in a pixmap is internal and is managed by the underlying window system. Pixels can be accessed only through QPainter functions, through bitBlt(), and by converting the QPixmap to a QImage.
+.PP
+You can easily display a QPixmap on the screen using QLabel::setPixmap(). For example, all the QButton subclasses support pixmap use.
+.PP
+The QPixmap class uses copy-on-write, so it is practical to pass QPixmap objects by value.
+.PP
+You can retrieve the width(), height(), depth() and size() of a pixmap. The enclosing rectangle is given by rect(). Pixmaps can be filled with fill() and resized with resize(). You can create and set a mask with createHeuristicMask() and setMask(). Use selfMask() to see if the pixmap is identical to its mask.
+.PP
+In addition to loading a pixmap from file using load() you can also loadFromData(). You can control optimization with setOptimization() and obtain a transformed version of the pixmap using xForm()
+.PP
+Note regarding Windows 95 and 98: on Windows 9x the system crashes if you create more than about 1000 pixmaps, independent of the size of the pixmaps or installed RAM. Windows NT-systems (including 2000, XP and following versions) do not have the same limitation, but depending on the graphics equipment the system will fail to allocate pixmap objects at some point (due to system running out of GDI resources).
+.PP
+Qt tries to work around the resource limitation. If you set the pixmap optimization to QPixmap::MemoryOptim and the width of your pixmap is less than or equal to 128 pixels, Qt stores the pixmap in a way that is very memory-efficient when there are many pixmaps.
+.PP
+If your application uses dozens or hundreds of pixmaps (for example on tool bar buttons and in popup menus), and you plan to run it on Windows 95 or Windows 98, we recommend using code like this:
+.PP
+.nf
+.br
+ QPixmap::setDefaultOptimization( QPixmap::MemoryOptim );
+.br
+ while ( ... ) {
+.br
+ // load tool bar pixmaps etc.
+.br
+ QPixmap *pixmap = new QPixmap(fileName);
+.br
+ }
+.br
+ QPixmap::setDefaultOptimization( QPixmap::NormalOptim );
+.br
+.fi
+.PP
+In general it is recommended to make as much use of QPixmap's implicit sharing and the QPixmapCache as possible.
+.PP
+See also QBitmap, QImage, QImageIO, Shared Classes, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SS "Member Type Documentation"
+.SH "QPixmap::ColorMode"
+This enum type defines the color modes that exist for converting QImage objects to QPixmap.
+.TP
+\fCQPixmap::Auto\fR - Select Color or Mono on a case-by-case basis.
+.TP
+\fCQPixmap::Color\fR - Always create colored pixmaps.
+.TP
+\fCQPixmap::Mono\fR - Always create bitmaps.
+.SH "QPixmap::Optimization"
+QPixmap has the choice of optimizing for speed or memory in a few places; the best choice varies from pixmap to pixmap but can generally be derived heuristically. This enum type defines a number of optimization modes that you can set for any pixmap to tweak the speed/memory tradeoffs:
+.TP
+\fCQPixmap::DefaultOptim\fR - Whatever QPixmap::defaultOptimization() returns. A pixmap with this optimization will have whatever the current default optimization is. If the default optimization is changed using setDefaultOptimization(), then this will not effect any pixmaps that have already been created.
+.TP
+\fCQPixmap::NoOptim\fR - No optimization (currently the same as MemoryOptim).
+.TP
+\fCQPixmap::MemoryOptim\fR - Optimize for minimal memory use on Windows 9x and X11 systems.
+.TP
+\fCQPixmap::NormalOptim\fR - Optimize for typical usage. Often uses more memory than MemoryOptim, and is often faster.
+.TP
+\fCQPixmap::BestOptim\fR - Optimize for pixmaps that are drawn very often and where performance is critical. Generally uses more memory than NormalOptim and may provide a little more speed.
+.PP
+We recommend using DefaultOptim.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPixmap::QPixmap ()"
+Constructs a null pixmap.
+.PP
+See also isNull().
+.SH "QPixmap::QPixmap ( const QImage & image )"
+Constructs a pixmap from the QImage \fIimage\fR.
+.PP
+See also convertFromImage().
+.SH "QPixmap::QPixmap ( int w, int h, int depth = -1, Optimization optimization = DefaultOptim )"
+Constructs a pixmap with \fIw\fR width, \fIh\fR height and \fIdepth\fR bits per pixel. The pixmap is optimized in accordance with the \fIoptimization\fR value.
+.PP
+The contents of the pixmap is uninitialized.
+.PP
+The \fIdepth\fR can be either 1 (monochrome) or the depth of the current video mode. If \fIdepth\fR is negative, then the hardware depth of the current video mode will be used.
+.PP
+If either \fIw\fR or \fIh\fR is zero, a null pixmap is constructed.
+.PP
+See also isNull() and QPixmap::Optimization.
+.SH "QPixmap::QPixmap ( const QSize & size, int depth = -1, Optimization optimization = DefaultOptim )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a pixmap of size \fIsize\fR, \fIdepth\fR bits per pixel, optimized in accordance with the \fIoptimization\fR value.
+.SH "QPixmap::QPixmap ( const QString & fileName, const char * format = 0, ColorMode mode = Auto )"
+Constructs a pixmap from the file \fIfileName\fR. If the file does not exist or is of an unknown format, the pixmap becomes a null pixmap.
+.PP
+The \fIfileName\fR, \fIformat\fR and \fImode\fR parameters are passed on to load(). This means that the data in \fIfileName\fR is not compiled into the binary. If \fIfileName\fR contains a relative path (e.g. the filename only) the relevant file must be found relative to the runtime working directory.
+.PP
+See also QPixmap::ColorMode, isNull(), load(), loadFromData(), save(), and imageFormat().
+.SH "QPixmap::QPixmap ( const QString & fileName, const char * format, int conversion_flags )"
+Constructs a pixmap from the file \fIfileName\fR. If the file does not exist or is of an unknown format, the pixmap becomes a null pixmap.
+.PP
+The \fIfileName\fR, \fIformat\fR and \fIconversion_flags\fR parameters are passed on to load(). This means that the data in \fIfileName\fR is not compiled into the binary. If \fIfileName\fR contains a relative path (e.g. the filename only) the relevant file must be found relative to the runtime working directory.
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversion_flags\fR to specify how you'd prefer this to happen.
+.PP
+See also Qt::ImageConversionFlags, isNull(), load(), loadFromData(), save(), and imageFormat().
+.SH "QPixmap::QPixmap ( const char * xpm[] )"
+Constructs a pixmap from \fIxpm\fR, which must be a valid XPM image.
+.PP
+Errors are silently ignored.
+.PP
+Note that it's possible to squeeze the XPM variable a little bit by using an unusual declaration:
+.PP
+.nf
+.br
+ static const char * const start_xpm[]={
+.br
+ "16 15 8 1",
+.br
+ "a c #cec6bd",
+.br
+ ....
+.br
+.fi
+.PP
+The extra \fCconst\fR makes the entire definition read-only, which is slightly more efficient (for example, when the code is in a shared library) and ROMable when the application is to be stored in ROM.
+.PP
+In order to use that sort of declaration you must cast the variable back to \fCconst char **\fR when you create the QPixmap.
+.SH "QPixmap::QPixmap ( const QByteArray & img_data )"
+Constructs a pixmaps by loading from \fIimg_data\fR. The data can be in any image format supported by Qt.
+.PP
+See also loadFromData().
+.SH "QPixmap::QPixmap ( const QPixmap & pixmap )"
+Constructs a pixmap that is a copy of \fIpixmap\fR.
+.SH "QPixmap::QPixmap ( int w, int h, const uchar * bits, bool isXbitmap )\fC [protected]\fR"
+Constructs a monochrome pixmap, with width \fIw\fR and height \fIh\fR, that is initialized with the data in \fIbits\fR. The \fIisXbitmap\fR indicates whether the data is an X bitmap and defaults to FALSE. This constructor is protected and used by the QBitmap class.
+.SH "QPixmap::~QPixmap ()"
+Destroys the pixmap.
+.SH "bool QPixmap::convertFromImage ( const QImage & img, int conversion_flags )"
+Converts image \fIimg\fR and sets this pixmap. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+The \fIconversion_flags\fR argument is a bitwise-OR of the Qt::ImageConversionFlags. Passing 0 for \fIconversion_flags\fR sets all the default options.
+.PP
+Note that even though a QPixmap with depth 1 behaves much like a QBitmap, isQBitmap() returns FALSE.
+.PP
+If a pixmap with depth 1 is painted with color0 and color1 and converted to an image, the pixels painted with color0 will produce pixel index 0 in the image and those painted with color1 will produce pixel index 1.
+.PP
+See also convertToImage(), isQBitmap(), QImage::convertDepth(), defaultDepth(), and QImage::hasAlphaBuffer().
+.PP
+Examples:
+.)l canvas/canvas.cpp and themes/wood.cpp.
+.SH "bool QPixmap::convertFromImage ( const QImage & image, ColorMode mode = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Converts \fIimage\fR and sets this pixmap using color mode \fImode\fR. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also QPixmap::ColorMode.
+.SH "QImage QPixmap::convertToImage () const"
+Converts the pixmap to a QImage. Returns a null image if it fails.
+.PP
+If the pixmap has 1-bit depth, the returned image will also be 1 bit deep. If the pixmap has 2- to 8-bit depth, the returned image has 8-bit depth. If the pixmap has greater than 8-bit depth, the returned image has 32-bit depth.
+.PP
+Note that for the moment, alpha masks on monochrome images are ignored.
+.PP
+See also convertFromImage().
+.PP
+Example: qmag/qmag.cpp.
+.SH "QBitmap QPixmap::createHeuristicMask ( bool clipTight = TRUE ) const"
+Creates and returns a heuristic mask for this pixmap. It works by selecting a color from one of the corners and then chipping away pixels of that color, starting at all the edges.
+.PP
+The mask may not be perfect but it should be reasonable, so you can do things such as the following:
+.PP
+.nf
+.br
+ pm->setMask( pm->createHeuristicMask() );
+.br
+.fi
+.PP
+This function is slow because it involves transformation to a QImage, non-trivial computations and a transformation back to a QBitmap.
+.PP
+If \fIclipTight\fR is TRUE the mask is just large enough to cover the pixels; otherwise, the mask is larger than the data pixels.
+.PP
+See also QImage::createHeuristicMask().
+.SH "int QPixmap::defaultDepth ()\fC [static]\fR"
+Returns the default pixmap depth, i.e. the depth a pixmap gets if -1 is specified.
+.PP
+See also depth().
+.SH "Optimization QPixmap::defaultOptimization ()\fC [static]\fR"
+Returns the default pixmap optimization setting.
+.PP
+See also setDefaultOptimization(), setOptimization(), and optimization().
+.SH "int QPixmap::depth () const"
+Returns the depth of the pixmap.
+.PP
+The pixmap depth is also called bits per pixel (bpp) or bit planes of a pixmap. A null pixmap has depth 0.
+.PP
+See also defaultDepth(), isNull(), and QImage::convertDepth().
+.SH "void QPixmap::detach ()\fC [virtual]\fR"
+This is a special-purpose function that detaches the pixmap from shared pixmap data.
+.PP
+A pixmap is automatically detached by Qt whenever its contents is about to change. This is done in all QPixmap member functions that modify the pixmap (fill(), resize(), convertFromImage(), load(), etc.), in bitBlt() for the destination pixmap and in QPainter::begin() on a pixmap.
+.PP
+It is possible to modify a pixmap without letting Qt know. You can first obtain the system-dependent handle() and then call system-specific functions (for instance, BitBlt under Windows) that modify the pixmap contents. In such cases, you can call detach() to cut the pixmap loose from other pixmaps that share data with this one.
+.PP
+detach() returns immediately if there is just a single reference or if the pixmap has not been initialized yet.
+.SH "void QPixmap::fill ( const QColor & fillColor = Qt::white )"
+Fills the pixmap with the color \fIfillColor\fR.
+.PP
+Examples:
+.)l chart/setdataform.cpp, desktop/desktop.cpp, grapher/grapher.cpp, hello/hello.cpp, t10/cannon.cpp, themes/metal.cpp, and xform/xform.cpp.
+.SH "void QPixmap::fill ( const QWidget * widget, int xofs, int yofs )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Fills the pixmap with the \fIwidget\fR's background color or pixmap. If the background is empty, nothing is done. \fIxofs\fR, \fIyofs\fR is an offset in the widget.
+.SH "void QPixmap::fill ( const QWidget * widget, const QPoint & ofs )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Fills the pixmap with the \fIwidget\fR's background color or pixmap. If the background is empty, nothing is done.
+.PP
+The \fIofs\fR point is an offset in the widget.
+.PP
+The point \fIofs\fR is a point in the widget's coordinate system. The pixmap's top-left pixel will be mapped to the point \fIofs\fR in the widget. This is significant if the widget has a background pixmap; otherwise the pixmap will simply be filled with the background color of the widget.
+.PP
+Example:
+.PP
+.nf
+.br
+ void CuteWidget::paintEvent( QPaintEvent *e )
+.br
+ {
+.br
+ QRect ur = e->rect(); // rectangle to update
+.br
+ QPixmap pix( ur.size() ); // Pixmap for double-buffering
+.br
+ pix.fill( this, ur.topLeft() ); // fill with widget background
+.br
+.br
+ QPainter p( &pix );
+.br
+ p.translate( -ur.x(), -ur.y() ); // use widget coordinate system
+.br
+ // when drawing on pixmap
+.br
+ // ... draw on pixmap ...
+.br
+.br
+ p.end();
+.br
+.br
+ bitBlt( this, ur.topLeft(), &pix );
+.br
+ }
+.br
+.fi
+.SH "QPixmap QPixmap::fromMimeSource ( const QString & abs_name )\fC [static]\fR"
+Convenience function. Gets the data associated with the absolute name \fIabs_name\fR from the default mime source factory and decodes it to a pixmap.
+.PP
+See also QMimeSourceFactory, QImage::fromMimeSource(), and QImageDrag::decode().
+.PP
+Example: textedit/textedit.cpp.
+.SH "QPixmap QPixmap::grabWidget ( QWidget * widget, int x = 0, int y = 0, int w = -1, int h = -1 )\fC [static]\fR"
+Creates a pixmap and paints \fIwidget\fR in it.
+.PP
+If the \fIwidget\fR has any children, then they are also painted in the appropriate positions.
+.PP
+If you specify \fIx\fR, \fIy\fR, \fIw\fR or \fIh\fR, only the rectangle you specify is painted. The defaults are 0, 0 (top-left corner) and -1,-1 (which means the entire widget).
+.PP
+(If \fIw\fR is negative, the function copies everything to the right border of the window. If \fIh\fR is negative, the function copies everything to the bottom of the window.)
+.PP
+If \fIwidget\fR is 0, or if the rectangle defined by \fIx\fR, \fIy\fR, the modified \fIw\fR and the modified \fIh\fR does not overlap the \fIwidget\fR->rect(), this function will return a null QPixmap.
+.PP
+This function actually asks \fIwidget\fR to paint itself (and its children to paint themselves). QPixmap::grabWindow() grabs pixels off the screen, which is a bit faster and picks up \fIexactly\fR what's on-screen. This function works by calling paintEvent() with painter redirection turned on. If there are overlaying windows, grabWindow() will see them, but not this function.
+.PP
+If there is overlap, it returns a pixmap of the size you want, containing a rendering of \fIwidget\fR. If the rectangle you ask for is a superset of \fIwidget\fR, the areas outside \fIwidget\fR are covered with the widget's background.
+.PP
+If an error occurs when trying to grab the widget, such as the size of the widget being too large to fit in memory, an isNull() pixmap is returned.
+.PP
+See also grabWindow(), QPainter::redirect(), and QWidget::paintEvent().
+.SH "QPixmap QPixmap::grabWindow ( WId window, int x = 0, int y = 0, int w = -1, int h = -1 )\fC [static]\fR"
+Grabs the contents of the window \fIwindow\fR and makes a pixmap out of it. Returns the pixmap.
+.PP
+The arguments \fI(x, y)\fR specify the offset in the window, whereas \fI(w, h)\fR specify the width and height of the area to be copied.
+.PP
+If \fIw\fR is negative, the function copies everything to the right border of the window. If \fIh\fR is negative, the function copies everything to the bottom of the window.
+.PP
+Note that grabWindow() grabs pixels from the screen, not from the window. If there is another window partially or entirely over the one you grab, you get pixels from the overlying window, too.
+.PP
+Note also that the mouse cursor is generally not grabbed.
+.PP
+The reason we use a window identifier and not a QWidget is to enable grabbing of windows that are not part of the application, window system frames, and so on.
+.PP
+\fBWarning:\fR Grabbing an area outside the screen is not safe in general. This depends on the underlying window system.
+.PP
+\fBWarning:\fR X11 only: If \fIwindow\fR is not the same depth as the root window and another window partially or entirely obscures the one you grab, you will \fInot\fR get pixels from the overlying window. The contests of the obscured areas in the pixmap are undefined and uninitialized.
+.PP
+See also grabWidget().
+.PP
+Example: qmag/qmag.cpp.
+.SH "bool QPixmap::hasAlpha () const"
+Returns TRUE this pixmap has an alpha channel or a mask.
+.PP
+See also hasAlphaChannel() and mask().
+.SH "bool QPixmap::hasAlphaChannel () const"
+Returns TRUE if the pixmap has an alpha channel; otherwise it returns FALSE.
+.PP
+NOTE: If the pixmap has a mask but not alpha channel, this function returns FALSE.
+.PP
+See also hasAlpha() and mask().
+.SH "int QPixmap::height () const"
+Returns the height of the pixmap.
+.PP
+See also width(), size(), and rect().
+.PP
+Examples:
+.)l desktop/desktop.cpp, movies/main.cpp, scribble/scribble.cpp, scrollview/scrollview.cpp, t10/cannon.cpp, and xform/xform.cpp.
+.SH "const char * QPixmap::imageFormat ( const QString & fileName )\fC [static]\fR"
+Returns a string that specifies the image format of the file \fIfileName\fR, or 0 if the file cannot be read or if the format cannot be recognized.
+.PP
+The QImageIO documentation lists the supported image formats.
+.PP
+See also load() and save().
+.SH "bool QPixmap::isNull () const"
+Returns TRUE if this is a null pixmap; otherwise returns FALSE.
+.PP
+A null pixmap has zero width, zero height and no contents. You cannot draw in a null pixmap or bitBlt() anything to it.
+.PP
+Resizing an existing pixmap to (0, 0) makes a pixmap into a null pixmap.
+.PP
+See also resize().
+.PP
+Examples:
+.)l movies/main.cpp, qdir/qdir.cpp, qmag/qmag.cpp, and scrollview/scrollview.cpp.
+.SH "bool QPixmap::isQBitmap () const"
+Returns TRUE if this is a QBitmap; otherwise returns FALSE.
+.SH "bool QPixmap::load ( const QString & fileName, const char * format, int conversion_flags )"
+Loads a pixmap from the file \fIfileName\fR at runtime. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the pixmap using the specified format. If \fIformat\fR is not specified (default), the loader reads a few bytes from the header to guess the file's format.
+.PP
+See the convertFromImage() documentation for a description of the \fIconversion_flags\fR argument.
+.PP
+The QImageIO documentation lists the supported image formats and explains how to add extra formats.
+.PP
+See also loadFromData(), save(), imageFormat(), QImage::load(), and QImageIO.
+.PP
+Examples:
+.)l picture/picture.cpp, scrollview/scrollview.cpp, and xform/xform.cpp.
+.SH "bool QPixmap::load ( const QString & fileName, const char * format = 0, ColorMode mode = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads a pixmap from the file \fIfileName\fR at runtime.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the pixmap using the specified format. If \fIformat\fR is not specified (default), the loader reads a few bytes from the header to guess the file's format.
+.PP
+The \fImode\fR is used to specify the color mode of the pixmap.
+.PP
+See also QPixmap::ColorMode.
+.SH "bool QPixmap::loadFromData ( const uchar * buf, uint len, const char * format, int conversion_flags )"
+Loads a pixmap from the binary data in \fIbuf\fR (\fIlen\fR bytes). Returns TRUE if successful; otherwise returns FALSE.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the pixmap using the specified format. If \fIformat\fR is not specified (default), the loader reads a few bytes from the header to guess the file's format.
+.PP
+See the convertFromImage() documentation for a description of the \fIconversion_flags\fR argument.
+.PP
+The QImageIO documentation lists the supported image formats and explains how to add extra formats.
+.PP
+See also load(), save(), imageFormat(), QImage::loadFromData(), and QImageIO.
+.SH "bool QPixmap::loadFromData ( const uchar * buf, uint len, const char * format = 0, ColorMode mode = Auto )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads a pixmap from the binary data in \fIbuf\fR (\fIlen\fR bytes) using color mode \fImode\fR. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+If \fIformat\fR is specified, the loader attempts to read the pixmap using the specified format. If \fIformat\fR is not specified (default), the loader reads a few bytes from the header to guess the file's format.
+.PP
+See also QPixmap::ColorMode.
+.SH "bool QPixmap::loadFromData ( const QByteArray & buf, const char * format = 0, int conversion_flags = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "const QBitmap * QPixmap::mask () const"
+Returns the mask bitmap, or 0 if no mask has been set.
+.PP
+See also setMask(), QBitmap, and hasAlpha().
+.SH "int QPixmap::metric ( int m ) const\fC [virtual protected]\fR"
+Internal implementation of the virtual QPaintDevice::metric() function.
+.PP
+Use the QPaintDeviceMetrics class instead.
+.PP
+\fIm\fR is the metric to get.
+.SH "QPixmap & QPixmap::operator= ( const QPixmap & pixmap )"
+Assigns the pixmap \fIpixmap\fR to this pixmap and returns a reference to this pixmap.
+.SH "QPixmap & QPixmap::operator= ( const QImage & image )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Converts the image \fIimage\fR to a pixmap that is assigned to this pixmap. Returns a reference to the pixmap.
+.PP
+See also convertFromImage().
+.SH "Optimization QPixmap::optimization () const"
+Returns the optimization setting for this pixmap.
+.PP
+The default optimization setting is QPixmap::NormalOptim. You can change this setting in two ways:
+.TP
+Call setDefaultOptimization() to set the default optimization for all new pixmaps.
+.TP
+Call setOptimization() to set the optimization for individual pixmaps.
+.PP
+See also setOptimization(), setDefaultOptimization(), and defaultOptimization().
+.SH "QRect QPixmap::rect () const"
+Returns the enclosing rectangle (0,0,width(),height()) of the pixmap.
+.PP
+See also width(), height(), and size().
+.SH "void QPixmap::resize ( int w, int h )"
+Resizes the pixmap to \fIw\fR width and \fIh\fR height. If either \fIw\fR or \fIh\fR is 0, the pixmap becomes a null pixmap.
+.PP
+If both \fIw\fR and \fIh\fR are greater than 0, a valid pixmap is created. New pixels will be uninitialized (random) if the pixmap is expanded.
+.PP
+Examples:
+.)l desktop/desktop.cpp and grapher/grapher.cpp.
+.SH "void QPixmap::resize ( const QSize & size )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Resizes the pixmap to size \fIsize\fR.
+.SH "bool QPixmap::save ( const QString & fileName, const char * format, int quality = -1 ) const"
+Saves the pixmap to the file \fIfileName\fR using the image file format \fIformat\fR and a quality factor \fIquality\fR. \fIquality\fR must be in the range [0,100] or -1. Specify 0 to obtain small compressed files, 100 for large uncompressed files, and -1 to use the default settings. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also load(), loadFromData(), imageFormat(), QImage::save(), and QImageIO.
+.PP
+Example: qmag/qmag.cpp.
+.SH "bool QPixmap::save ( QIODevice * device, const char * format, int quality = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function writes a QPixmap to the QIODevice, \fIdevice\fR. This can be used, for example, to save a pixmap directly into a QByteArray:
+.PP
+.nf
+.br
+ QPixmap pixmap;
+.br
+ QByteArray ba;
+.br
+ QBuffer buffer( ba );
+.br
+ buffer.open( IO_WriteOnly );
+.br
+ pixmap.save( &buffer, "PNG" ); // writes pixmap into ba in PNG format
+.br
+.fi
+.SH "bool QPixmap::selfMask () const"
+Returns TRUE if the pixmap's mask is identical to the pixmap itself; otherwise returns FALSE.
+.PP
+See also mask().
+.SH "int QPixmap::serialNumber () const"
+Returns a number that uniquely identifies the contents of this QPixmap object. This means that multiple QPixmap objects can have the same serial number as long as they refer to the same contents.
+.PP
+An example of where this is useful is for caching QPixmaps.
+.PP
+See also QPixmapCache.
+.SH "void QPixmap::setDefaultOptimization ( Optimization optimization )\fC [static]\fR"
+Sets the default pixmap optimization.
+.PP
+All \fInew\fR pixmaps that are created will use this default optimization. You may also set optimization for individual pixmaps using the setOptimization() function.
+.PP
+The initial default \fIoptimization\fR setting is \fCQPixmap::Normal\fR.
+.PP
+See also defaultOptimization(), setOptimization(), and optimization().
+.SH "void QPixmap::setMask ( const QBitmap & newmask )"
+Sets a mask bitmap.
+.PP
+The \fInewmask\fR bitmap defines the clip mask for this pixmap. Every pixel in \fInewmask\fR corresponds to a pixel in this pixmap. Pixel value 1 means opaque and pixel value 0 means transparent. The mask must have the same size as this pixmap.
+.PP
+\fBWarning:\fR Setting the mask on a pixmap will cause any alpha channel data to be cleared. For example:
+.PP
+.nf
+.br
+ QPixmap alpha( "image-with-alpha.png" );
+.br
+ QPixmap alphacopy = alpha;
+.br
+ alphacopy.setMask( *alphacopy.mask() );
+.br
+.fi
+Now, alpha and alphacopy are visually different.
+.PP
+Setting a null mask resets the mask.
+.PP
+See also mask(), createHeuristicMask(), and QBitmap.
+.SH "void QPixmap::setOptimization ( Optimization optimization )"
+Sets pixmap drawing optimization for this pixmap.
+.PP
+The \fIoptimization\fR setting affects pixmap operations, in particular drawing of transparent pixmaps (bitBlt() a pixmap with a mask set) and pixmap transformations (the xForm() function).
+.PP
+Pixmap optimization involves keeping intermediate results in a cache buffer and using the cache to speed up bitBlt() and xForm(). The cost is more memory consumption, up to twice as much as an unoptimized pixmap.
+.PP
+Use the setDefaultOptimization() to change the default optimization for all new pixmaps.
+.PP
+See also optimization(), setDefaultOptimization(), and defaultOptimization().
+.PP
+Example: desktop/desktop.cpp.
+.SH "QSize QPixmap::size () const"
+Returns the size of the pixmap.
+.PP
+See also width(), height(), and rect().
+.PP
+Example: movies/main.cpp.
+.SH "QWMatrix QPixmap::trueMatrix ( const QWMatrix & matrix, int w, int h )\fC [static]\fR"
+Returns the actual matrix used for transforming a pixmap with \fIw\fR width and \fIh\fR height and matrix \fImatrix\fR.
+.PP
+When transforming a pixmap with xForm(), the transformation matrix is internally adjusted to compensate for unwanted translation, i.e. xForm() returns the smallest pixmap containing all transformed points of the original pixmap.
+.PP
+This function returns the modified matrix, which maps points correctly from the original pixmap into the new pixmap.
+.PP
+See also xForm() and QWMatrix.
+.SH "int QPixmap::width () const"
+Returns the width of the pixmap.
+.PP
+See also height(), size(), and rect().
+.PP
+Examples:
+.)l desktop/desktop.cpp, movies/main.cpp, scribble/scribble.cpp, scrollview/scrollview.cpp, and xform/xform.cpp.
+.SH "QPixmap QPixmap::xForm ( const QWMatrix & matrix ) const"
+Returns a copy of the pixmap that is transformed using \fImatrix\fR. The original pixmap is not changed.
+.PP
+The transformation \fImatrix\fR is internally adjusted to compensate for unwanted translation, i.e. xForm() returns the smallest image that contains all the transformed points of the original image.
+.PP
+This function is slow because it involves transformation to a QImage, non-trivial computations and a transformation back to a QPixmap.
+.PP
+See also trueMatrix(), QWMatrix, QPainter::setWorldMatrix(), and QImage::xForm().
+.PP
+Examples:
+.)l desktop/desktop.cpp, fileiconview/qfileiconview.cpp, movies/main.cpp, and qmag/qmag.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void copyBlt ( QPixmap * dst, int dx, int dy, const QPixmap * src, int sx, int sy, int sw, int sh )"
+Copies a block of pixels from \fIsrc\fR to \fIdst\fR. The alpha channel and mask data (if any) is also copied from \fIsrc\fR. NOTE: \fIsrc\fR is \fInot\fR alpha blended or masked when copied to \fIdst\fR. Use bitBlt() or QPainter::drawPixmap() to perform alpha blending or masked drawing.
+.PP
+\fIsx\fR, \fIsy\fR is the top-left pixel in \fIsrc\fR (0, 0 by default), \fIdx\fR, \fIdy\fR is the top-left position in \fIdst\fR and \fIsw\fR, \\sh is the size of the copied block (all of \fIsrc\fR by default).
+.PP
+If \fIsrc\fR, \fIdst\fR, \fIsw\fR or \fIsh\fR is 0 (zero), copyBlt() does nothing. If \fIsw\fR or \fIsh\fR is negative, copyBlt() copies starting at \fIsx\fR (and respectively, \fIsy\fR) and ending at the right edge (and respectively, the bottom edge) of \fIsrc\fR.
+.PP
+copyBlt() does nothing if \fIsrc\fR and \fIdst\fR have different depths.
+.SH "QDataStream & operator<< ( QDataStream & s, const QPixmap & pixmap )"
+Writes the pixmap \fIpixmap\fR to the stream \fIs\fR as a PNG image.
+.PP
+Note that writing the stream to a file will not produce a valid image file.
+.PP
+See also QPixmap::save() and Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QPixmap & pixmap )"
+Reads a pixmap from the stream \fIs\fR into the pixmap \fIpixmap\fR.
+.PP
+See also QPixmap::load() and Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpixmap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpixmap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpixmapcache.3qt b/doc/man/man3/qpixmapcache.3qt
new file mode 100644
index 0000000..fd88ee1
--- /dev/null
+++ b/doc/man/man3/qpixmapcache.3qt
@@ -0,0 +1,145 @@
+'\" t
+.TH QPixmapCache 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPixmapCache \- Application-global cache for pixmaps
+.SH SYNOPSIS
+\fC#include <qpixmapcache.h>\fR
+.PP
+.SS "Static Public Members"
+<li class=fn>int \fBcacheLimit\fR () <li class=fn>void \fBsetCacheLimit\fR ( int n ) <li class=fn>QPixmap * \fBfind\fR ( const QString & key ) <li class=fn>bool \fBfind\fR ( const QString & key, QPixmap & pm ) <li class=fn>bool insert ( const QString & key, QPixmap * pm ) \fI(obsolete)\fR <li class=fn>bool \fBinsert\fR ( const QString & key, const QPixmap & pm ) <li class=fn>void \fBremove\fR ( const QString & key ) <li class=fn>void \fBclear\fR ()
+.SH DESCRIPTION
+The QPixmapCache class provides an application-global cache for pixmaps.
+.PP
+This class is a tool for optimized drawing with QPixmap. You can use it to store temporary pixmaps that are expensive to generate without using more storage space than cacheLimit(). Use insert() to insert pixmaps, find() to find them and clear() to empty the cache.
+.PP
+For example, QRadioButton has a non-trivial visual representation so we don't want to regenerate a pixmap whenever a radio button is displayed or changes state. In the function QRadioButton::drawButton(), we do not draw the radio button directly. Instead, we first check the global pixmap cache for a pixmap with the key "$qt_radio_nnn_", where \fCnnn\fR is a numerical value that specifies the the radio button state. If a pixmap is found, we bitBlt() it onto the widget and return. Otherwise, we create a new pixmap, draw the radio button in the pixmap, and finally insert the pixmap in the global pixmap cache, using the key above. The bitBlt() is ten times faster than drawing the radio button. All radio buttons in the program share the cached pixmap since QPixmapCache is application-global.
+.PP
+QPixmapCache contains no member data, only static functions to access the global pixmap cache. It creates an internal QCache for caching the pixmaps.
+.PP
+The cache associates a pixmap with a string (key). If two pixmaps are inserted into the cache using equal keys, then the last pixmap will hide the first pixmap. The QDict and QCache classes do exactly the same.
+.PP
+The cache becomes full when the total size of all pixmaps in the cache exceeds cacheLimit(). The initial cache limit is 1024 KByte (1 MByte); it is changed with setCacheLimit(). A pixmap takes roughly width*height*depth/8 bytes of memory.
+.PP
+See the QCache documentation for more details about the cache mechanism.
+.PP
+See also Environment Classes, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "int QPixmapCache::cacheLimit ()\fC [static]\fR"
+Returns the cache limit (in kilobytes).
+.PP
+The default setting is 1024 kilobytes.
+.PP
+See also setCacheLimit().
+.SH "void QPixmapCache::clear ()\fC [static]\fR"
+Removes all pixmaps from the cache.
+.SH "QPixmap * QPixmapCache::find ( const QString & key )\fC [static]\fR"
+Returns the pixmap associated with the \fIkey\fR in the cache, or null if there is no such pixmap.
+.PP
+\fBWarning:\fR If valid, you should copy the pixmap immediately (this is fast). Subsequent insertions into the cache could cause the pointer to become invalid. For this reason, we recommend you use find(const QString&, QPixmap&) instead.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPixmap* pp;
+.br
+ QPixmap p;
+.br
+ if ( (pp=QPixmapCache::find("my_big_image", pm)) ) {
+.br
+ p = *pp;
+.br
+ } else {
+.br
+ p.load("bigimage.png");
+.br
+ QPixmapCache::insert("my_big_image", new QPixmap(p));
+.br
+ }
+.br
+ painter->drawPixmap(0, 0, p);
+.br
+.fi
+.SH "bool QPixmapCache::find ( const QString & key, QPixmap & pm )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks for a cached pixmap associated with the \fIkey\fR in the cache. If a pixmap is found, the function sets \fIpm\fR to that pixmap and returns TRUE; otherwise leaves \fIpm\fR alone and returns FALSE.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPixmap p;
+.br
+ if ( !QPixmapCache::find("my_big_image", pm) ) {
+.br
+ pm.load("bigimage.png");
+.br
+ QPixmapCache::insert("my_big_image", pm);
+.br
+ }
+.br
+ painter->drawPixmap(0, 0, p);
+.br
+.fi
+.SH "bool QPixmapCache::insert ( const QString & key, const QPixmap & pm )\fC [static]\fR"
+Inserts a copy of the pixmap \fIpm\fR associated with the \fIkey\fR into the cache.
+.PP
+All pixmaps inserted by the Qt library have a key starting with" $qt", so your own pixmap keys should never begin "$qt".
+.PP
+When a pixmap is inserted and the cache is about to exceed its limit, it removes pixmaps until there is enough room for the pixmap to be inserted.
+.PP
+The oldest pixmaps (least recently accessed in the cache) are deleted when more space is needed.
+.PP
+See also setCacheLimit().
+.SH "bool QPixmapCache::insert ( const QString & key, QPixmap * pm )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Inserts the pixmap \fIpm\fR associated with \fIkey\fR into the cache. Returns TRUE if successful, or FALSE if the pixmap is too big for the cache.
+.PP
+\fB Note: \fIpm\fR must be allocated on the heap (using \fCnew\fR).
+.PP
+If this function returns FALSE, you must delete \fIpm\fR yourself.
+.PP
+If this function returns TRUE, do not use \fIpm\fR afterwards or keep references to it because any other insertions into the cache, whether from anywhere in the application or within Qt itself, could cause the pixmap to be discarded from the cache and the pointer to become invalid.
+.PP
+Due to these dangers, we strongly recommend that you use insert(const QString&, const QPixmap&) instead. \fR
+.SH "void QPixmapCache::remove ( const QString & key )\fC [static]\fR"
+Removes the pixmap associated with \fIkey\fR from the cache.
+.SH "void QPixmapCache::setCacheLimit ( int n )\fC [static]\fR"
+Sets the cache limit to \fIn\fR kilobytes.
+.PP
+The default setting is 1024 kilobytes.
+.PP
+See also cacheLimit().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpixmapcache.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpixmapcache.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qplatinumstyle.3qt b/doc/man/man3/qplatinumstyle.3qt
new file mode 100644
index 0000000..18badb9
--- /dev/null
+++ b/doc/man/man3/qplatinumstyle.3qt
@@ -0,0 +1,68 @@
+'\" t
+.TH QPlatinumStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPlatinumStyle \- Mac/Platinum look and feel
+.SH SYNOPSIS
+\fC#include <qplatinumstyle.h>\fR
+.PP
+Inherits QWindowsStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPlatinumStyle\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "QColor \fBmixedColor\fR ( const QColor & c1, const QColor & c2 ) const"
+.br
+.ti -1c
+.BI "void \fBdrawRiffles\fR ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool horizontal ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPlatinumStyle class provides Mac/Platinum look and feel.
+.PP
+This class implements the Platinum look and feel. It's an experimental class that tries to resemble a Macinosh-like GUI style with the QStyle system. The emulation is currently far from perfect.
+.PP
+See also QAquaStyle and Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPlatinumStyle::QPlatinumStyle ()"
+Constructs a QPlatinumStyle
+.SH "void QPlatinumStyle::drawRiffles ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, bool horizontal ) const\fC [protected]\fR"
+Draws the nifty Macintosh decoration used on sliders using painter \fIp\fR and colorgroup \fIg\fR. \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR and \fIhorizontal\fR specify the geometry and orientation of the riffles.
+.SH "QColor QPlatinumStyle::mixedColor ( const QColor & c1, const QColor & c2 ) const\fC [protected]\fR"
+Mixes two colors \fIc1\fR and \fIc2\fR to a new color.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qplatinumstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qplatinumstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpngimagepacker.3qt b/doc/man/man3/qpngimagepacker.3qt
new file mode 100644
index 0000000..73aa362
--- /dev/null
+++ b/doc/man/man3/qpngimagepacker.3qt
@@ -0,0 +1,72 @@
+'\" t
+.TH QPNGImagePacker 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPNGImagePacker \- Creates well-compressed PNG animations
+.SH SYNOPSIS
+\fC#include <qpngio.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPNGImagePacker\fR ( QIODevice * iod, int storage_depth, int conversionflags )"
+.br
+.ti -1c
+.BI "void \fBsetPixelAlignment\fR ( int x )"
+.br
+.ti -1c
+.BI "bool \fBpackImage\fR ( const QImage & img )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPNGImagePacker class creates well-compressed PNG animations.
+.PP
+By using transparency, QPNGImagePacker allows you to build a PNG image from a sequence of QImages.
+.PP
+Images are added using packImage().
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPNGImagePacker::QPNGImagePacker ( QIODevice * iod, int storage_depth, int conversionflags )"
+Creates an image packer that writes PNG data to IO device \fIiod\fR using a \fIstorage_depth\fR bit encoding (use 8 or 32, depending on the desired quality and compression requirements).
+.PP
+If the image needs to be modified to fit in a lower-resolution result (e.g. converting from 32-bit to 8-bit), use the \fIconversionflags\fR to specify how you'd prefer this to happen.
+.PP
+See also Qt::ImageConversionFlags.
+.SH "bool QPNGImagePacker::packImage ( const QImage & img )"
+Adds the image \fIimg\fR to the PNG animation, analyzing the differences between this and the previous image to improve compression.
+.SH "void QPNGImagePacker::setPixelAlignment ( int x )"
+Aligns pixel differences to \fIx\fR pixels. For example, using 8 can
+improve playback on certain hardware. Normally the default of
+1-pixel alignment (i.e. no alignment) gives better compression and
+performance.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpngimagepacker.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpngimagepacker.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpoint.3qt b/doc/man/man3/qpoint.3qt
new file mode 100644
index 0000000..56db2fe
--- /dev/null
+++ b/doc/man/man3/qpoint.3qt
@@ -0,0 +1,377 @@
+'\" t
+.TH QPoint 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPoint \- Defines a point in the plane
+.SH SYNOPSIS
+\fC#include <qpoint.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPoint\fR ()"
+.br
+.ti -1c
+.BI "\fBQPoint\fR ( int xpos, int ypos )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetX\fR ( int x )"
+.br
+.ti -1c
+.BI "void \fBsetY\fR ( int y )"
+.br
+.ti -1c
+.BI "int \fBmanhattanLength\fR () const"
+.br
+.ti -1c
+.BI "QCOORD & \fBrx\fR ()"
+.br
+.ti -1c
+.BI "QCOORD & \fBry\fR ()"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator+=\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator-=\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator*=\fR ( int c )"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator*=\fR ( double c )"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator/=\fR ( int c )"
+.br
+.ti -1c
+.BI "QPoint & \fBoperator/=\fR ( double c )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QPoint & p1, const QPoint & p2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QPoint & p1, const QPoint & p2 )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator+\fR ( const QPoint & p1, const QPoint & p2 )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator-\fR ( const QPoint & p1, const QPoint & p2 )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator*\fR ( const QPoint & p, int c )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator*\fR ( int c, const QPoint & p )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator*\fR ( const QPoint & p, double c )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator*\fR ( double c, const QPoint & p )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator-\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator/\fR ( const QPoint & p, int c )"
+.br
+.ti -1c
+.BI "const QPoint \fBoperator/\fR ( const QPoint & p, double c )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPoint & p )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPoint & p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPoint class defines a point in the plane.
+.PP
+A point is specified by an x coordinate and a y coordinate.
+.PP
+The coordinate type is \fCQCOORD\fR (a 32-bit integer). The minimum value of \fCQCOORD\fR is \fCQCOORD_MIN\fR (-2147483648) and the maximum value is \fCQCOORD_MAX\fR (2147483647).
+.PP
+The coordinates are accessed by the functions x() and y(); they can be set by setX() and setY() or by the reference functions rx() and ry().
+.PP
+Given a point \fIp\fR, the following statements are all equivalent:
+.PP
+.nf
+.br
+ p.setX( p.x() + 1 );
+.br
+ p += QPoint( 1, 0 );
+.br
+ p.rx()++;
+.br
+.fi
+.PP
+A QPoint can also be used as a vector. Addition and subtraction of QPoints are defined as for vectors (each component is added separately). You can divide or multiply a QPoint by an \fCint\fR or a \fCdouble\fR. The function manhattanLength() gives an inexpensive approximation of the length of the QPoint interpreted as a vector.
+.PP
+Example:
+.PP
+.nf
+.br
+ //QPoint oldPos is defined somewhere else
+.br
+ MyWidget::mouseMoveEvent( QMouseEvent *e )
+.br
+ {
+.br
+ QPoint vector = e->pos() - oldPos;
+.br
+ if ( vector.manhattanLength() > 3 )
+.br
+ ... //mouse has moved more than 3 pixels since oldPos
+.br
+ }
+.br
+.fi
+.PP
+QPoints can be compared for equality or inequality, and they can be written to and read from a QStream.
+.PP
+See also QPointArray, QSize, QRect, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPoint::QPoint ()"
+Constructs a point with coordinates (0, 0) (isNull() returns TRUE).
+.SH "QPoint::QPoint ( int xpos, int ypos )"
+Constructs a point with x value \fIxpos\fR and y value \fIypos\fR.
+.SH "bool QPoint::isNull () const"
+Returns TRUE if both the x value and the y value are 0; otherwise returns FALSE.
+.SH "int QPoint::manhattanLength () const"
+Returns the sum of the absolute values of x() and y(), traditionally known as the "Manhattan length" of the vector from the origin to the point. The tradition arises because such distances apply to travelers who can only travel on a rectangular grid, like the streets of Manhattan.
+.PP
+This is a useful, and quick to calculate, approximation to the true length: sqrt(pow(x(),2)+pow(y(),2)).
+.SH "QPoint & QPoint::operator*= ( int c )"
+Multiplies this point's x and y by \fIc\fR, and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( -1, 4 );
+.br
+ p *= 2; // p becomes (-2,8)
+.br
+.fi
+.SH "QPoint & QPoint::operator*= ( double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Multiplies this point's x and y by \fIc\fR, and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( -1, 4 );
+.br
+ p *= 2.5; // p becomes (-3,10)
+.br
+.fi
+.PP
+Note that the result is truncated because points are held as integers.
+.SH "QPoint & QPoint::operator+= ( const QPoint & p )"
+Adds point \fIp\fR to this point and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( 3, 7 );
+.br
+ QPoint q( -1, 4 );
+.br
+ p += q; // p becomes (2,11)
+.br
+.fi
+.SH "QPoint & QPoint::operator-= ( const QPoint & p )"
+Subtracts point \fIp\fR from this point and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( 3, 7 );
+.br
+ QPoint q( -1, 4 );
+.br
+ p -= q; // p becomes (4,3)
+.br
+.fi
+.SH "QPoint & QPoint::operator/= ( int c )"
+Divides both x and y by \fIc\fR, and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( -2, 8 );
+.br
+ p /= 2; // p becomes (-1,4)
+.br
+.fi
+.SH "QPoint & QPoint::operator/= ( double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Divides both x and y by \fIc\fR, and returns a reference to this point.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( -3, 10 );
+.br
+ p /= 2.5; // p becomes (-1,4)
+.br
+.fi
+.PP
+Note that the result is truncated because points are held as integers.
+.SH "QCOORD & QPoint::rx ()"
+Returns a reference to the x coordinate of the point.
+.PP
+Using a reference makes it possible to directly manipulate x.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( 1, 2 );
+.br
+ p.rx()--; // p becomes (0, 2)
+.br
+.fi
+.PP
+See also ry().
+.SH "QCOORD & QPoint::ry ()"
+Returns a reference to the y coordinate of the point.
+.PP
+Using a reference makes it possible to directly manipulate y.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPoint p( 1, 2 );
+.br
+ p.ry()++; // p becomes (1, 3)
+.br
+.fi
+.PP
+See also rx().
+.SH "void QPoint::setX ( int x )"
+Sets the x coordinate of the point to \fIx\fR.
+.PP
+See also x() and setY().
+.PP
+Example: t14/cannon.cpp.
+.SH "void QPoint::setY ( int y )"
+Sets the y coordinate of the point to \fIy\fR.
+.PP
+See also y() and setX().
+.PP
+Example: t14/cannon.cpp.
+.SH "int QPoint::x () const"
+Returns the x coordinate of the point.
+.PP
+See also setX() and y().
+.PP
+Examples:
+.)l canvas/canvas.cpp, chart/canvasview.cpp, dirview/dirview.cpp, fileiconview/qfileiconview.cpp, helpsystem/tooltip.cpp, life/life.cpp, and t14/cannon.cpp.
+.SH "int QPoint::y () const"
+Returns the y coordinate of the point.
+.PP
+See also setY() and x().
+.PP
+Examples:
+.)l canvas/canvas.cpp, chart/canvasview.cpp, fileiconview/qfileiconview.cpp, helpsystem/tooltip.cpp, life/life.cpp, t14/cannon.cpp, and themes/wood.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "bool operator!= ( const QPoint & p1, const QPoint & p2 )"
+Returns TRUE if \fIp1\fR and \fIp2\fR are not equal; otherwise returns FALSE.
+.SH "const QPoint operator* ( const QPoint & p, int c )"
+Returns the QPoint formed by multiplying both components of \fIp\fR by \fIc\fR.
+.SH "const QPoint operator* ( int c, const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the QPoint formed by multiplying both components of \fIp\fR by \fIc\fR.
+.SH "const QPoint operator* ( const QPoint & p, double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the QPoint formed by multiplying both components of \fIp\fR by \fIc\fR.
+.PP
+Note that the result is truncated because points are held as integers.
+.SH "const QPoint operator* ( double c, const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the QPoint formed by multiplying both components of \fIp\fR by \fIc\fR.
+.PP
+Note that the result is truncated because points are held as integers.
+.SH "const QPoint operator+ ( const QPoint & p1, const QPoint & p2 )"
+Returns the sum of \fIp1\fR and \fIp2\fR; each component is added separately.
+.SH "const QPoint operator- ( const QPoint & p1, const QPoint & p2 )"
+Returns \fIp2\fR subtracted from \fIp1\fR; each component is subtracted separately.
+.SH "const QPoint operator- ( const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the QPoint formed by changing the sign of both components of \fIp\fR, equivalent to \fCQPoint(0,0) - p\fR.
+.SH "const QPoint operator/ ( const QPoint & p, int c )"
+Returns the QPoint formed by dividing both components of \fIp\fR by \fIc\fR.
+.SH "const QPoint operator/ ( const QPoint & p, double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the QPoint formed by dividing both components of \fIp\fR by \fIc\fR.
+.PP
+Note that the result is truncated because points are held as integers.
+.SH "QDataStream & operator<< ( QDataStream & s, const QPoint & p )"
+Writes point \fIp\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "bool operator== ( const QPoint & p1, const QPoint & p2 )"
+Returns TRUE if \fIp1\fR and \fIp2\fR are equal; otherwise returns FALSE.
+.SH "QDataStream & operator>> ( QDataStream & s, QPoint & p )"
+Reads a QPoint from the stream \fIs\fR into point \fIp\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpoint.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpoint.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpointarray.3qt b/doc/man/man3/qpointarray.3qt
new file mode 100644
index 0000000..5c8d3fa
--- /dev/null
+++ b/doc/man/man3/qpointarray.3qt
@@ -0,0 +1,277 @@
+'\" t
+.TH QPointArray 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPointArray \- Array of points
+.SH SYNOPSIS
+\fC#include <qpointarray.h>\fR
+.PP
+Inherits QMemArray<QPoint>.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPointArray\fR ()"
+.br
+.ti -1c
+.BI "\fB~QPointArray\fR ()"
+.br
+.ti -1c
+.BI "\fBQPointArray\fR ( int size )"
+.br
+.ti -1c
+.BI "\fBQPointArray\fR ( const QPointArray & a )"
+.br
+.ti -1c
+.BI "\fBQPointArray\fR ( const QRect & r, bool closed = FALSE )"
+.br
+.ti -1c
+.BI "QPointArray & \fBoperator=\fR ( const QPointArray & a )"
+.br
+.ti -1c
+.BI "QPointArray \fBcopy\fR () const"
+.br
+.ti -1c
+.BI "void \fBtranslate\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "void \fBpoint\fR ( uint index, int * x, int * y ) const"
+.br
+.ti -1c
+.BI "QPoint \fBpoint\fR ( uint index ) const"
+.br
+.ti -1c
+.BI "void \fBsetPoint\fR ( uint index, int x, int y )"
+.br
+.ti -1c
+.BI "void \fBsetPoint\fR ( uint i, const QPoint & p )"
+.br
+.ti -1c
+.BI "bool \fBputPoints\fR ( int index, int nPoints, int firstx, int firsty, ... )"
+.br
+.ti -1c
+.BI "bool \fBputPoints\fR ( int index, int nPoints, const QPointArray & from, int fromIndex = 0 )"
+.br
+.ti -1c
+.BI "void \fBmakeArc\fR ( int x, int y, int w, int h, int a1, int a2 )"
+.br
+.ti -1c
+.BI "void \fBmakeEllipse\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBmakeArc\fR ( int x, int y, int w, int h, int a1, int a2, const QWMatrix & xf )"
+.br
+.ti -1c
+.BI "QPointArray \fBcubicBezier\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QPointArray & a )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QPointArray & a )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPointArray class provides an array of points.
+.PP
+A QPointArray is an array of QPoint objects. In addition to the functions provided by QMemArray, QPointArray provides some point-specific functions.
+.PP
+For convenient reading and writing of the point data use setPoints(), putPoints(), point(), and setPoint().
+.PP
+For geometry operations use boundingRect() and translate(). There is also the QWMatrix::map() function for more general transformations of QPointArrays. You can also create arcs and ellipses with makeArc() and makeEllipse().
+.PP
+Among others, QPointArray is used by QPainter::drawLineSegments(), QPainter::drawPolyline(), QPainter::drawPolygon() and QPainter::drawCubicBezier().
+.PP
+Note that because this class is a QMemArray, copying an array and modifying the copy modifies the original as well, i.e. a shallow copy. If you need a deep copy use copy() or detach(), for example:
+.PP
+.nf
+.br
+ void drawGiraffe( const QPointArray & r, QPainter * p )
+.br
+ {
+.br
+ QPointArray tmp = r;
+.br
+ tmp.detach();
+.br
+ // some code that modifies tmp
+.br
+ p->drawPoints( tmp );
+.br
+ }
+.br
+.fi
+.PP
+If you forget the tmp.detach(), the const array will be modified.
+.PP
+See also QPainter, QWMatrix, QMemArray, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPointArray::QPointArray ()"
+Constructs a null point array.
+.PP
+See also isNull().
+.SH "QPointArray::QPointArray ( int size )"
+Constructs a point array with room for \fIsize\fR points. Makes a null array if \fIsize\fR == 0.
+.PP
+See also resize() and isNull().
+.SH "QPointArray::QPointArray ( const QPointArray & a )"
+Constructs a shallow copy of the point array \fIa\fR.
+.PP
+See also copy() and detach().
+.SH "QPointArray::QPointArray ( const QRect & r, bool closed = FALSE )"
+Constructs a point array from the rectangle \fIr\fR.
+.PP
+If \fIclosed\fR is FALSE, then the point array just contains the following four points in the listed order: r.topLeft(), r.topRight(), r.bottomRight() and r.bottomLeft().
+.PP
+If \fIclosed\fR is TRUE, then a fifth point is set to r.topLeft().
+.SH "QPointArray::~QPointArray ()"
+Destroys the point array.
+.SH "QRect QPointArray::boundingRect () const"
+Returns the bounding rectangle of the points in the array, or QRect(0,0,0,0) if the array is empty.
+.SH "QPointArray QPointArray::copy () const"
+Creates a deep copy of the array.
+.PP
+See also detach().
+.SH "QPointArray QPointArray::cubicBezier () const"
+Returns the Bezier points for the four control points in this array.
+.SH "void QPointArray::makeArc ( int x, int y, int w, int h, int a1, int a2 )"
+Sets the points of the array to those describing an arc of an ellipse with size, width \fIw\fR by height \fIh\fR, and position (\fIx\fR, \fIy\fR), starting from angle \fIa1\fR and spanning by angle \fIa2\fR. The resulting array has sufficient resolution for pixel accuracy (see the overloaded function which takes an additional QWMatrix parameter).
+.PP
+Angles are specified in 16ths of a degree, i.e. a full circle equals 5760 (16*360). Positive values mean counter-clockwise, whereas negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
+.PP
+See the angle diagram.
+.SH "void QPointArray::makeArc ( int x, int y, int w, int h, int a1, int a2, const QWMatrix & xf )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the points of the array to those describing an arc of an ellipse with width \fIw\fR and height \fIh\fR and position (\fIx\fR, \fIy\fR), starting from angle \fIa1\fR, and spanning angle by \fIa2\fR, and transformed by the matrix \fIxf\fR. The resulting array has sufficient resolution for pixel accuracy.
+.PP
+Angles are specified in 16ths of a degree, i.e. a full circle equals 5760 (16*360). Positive values mean counter-clockwise, whereas negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
+.PP
+See the angle diagram.
+.SH "void QPointArray::makeEllipse ( int x, int y, int w, int h )"
+Sets the points of the array to those describing an ellipse with size, width \fIw\fR by height \fIh\fR, and position (\fIx\fR, \fIy\fR).
+.PP
+The returned array has sufficient resolution for use as pixels.
+.SH "QPointArray & QPointArray::operator= ( const QPointArray & a )"
+Assigns a shallow copy of \fIa\fR to this point array and returns a reference to this point array.
+.PP
+Equivalent to assign(a).
+.PP
+See also copy() and detach().
+.SH "void QPointArray::point ( uint index, int * x, int * y ) const"
+Reads the coordinates of the point at position \fIindex\fR within the array and writes them into \fI*x\fR and \fI*y\fR.
+.SH "QPoint QPointArray::point ( uint index ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point at position \fIindex\fR within the array.
+.SH "bool QPointArray::putPoints ( int index, int nPoints, int firstx, int firsty, ... )"
+Copies \fInPoints\fR points from the variable argument list into this point array from position \fIindex\fR, and resizes the point array if \fCindex+nPoints\fR exceeds the size of the array.
+.PP
+Returns TRUE if successful, or FALSE if the array could not be resized (typically due to lack of memory).
+.PP
+The example code creates an array with three points (4,5), (6,7) and (8,9), by expanding the array from 1 to 3 points:
+.PP
+.nf
+.br
+ QPointArray a( 1 );
+.br
+ a[0] = QPoint( 4, 5 );
+.br
+ a.putPoints( 1, 2, 6,7, 8,9 ); // index == 1, points == 2
+.br
+.fi
+.PP
+This has the same result, but here putPoints overwrites rather than extends:
+.PP
+.nf
+.br
+ QPointArray a( 3 );
+.br
+ a.putPoints( 0, 3, 4,5, 0,0, 8,9 );
+.br
+ a.putPoints( 1, 1, 6,7 );
+.br
+.fi
+.PP
+The points are given as a sequence of integers, starting with \fIfirstx\fR then \fIfirsty\fR, and so on.
+.PP
+See also resize().
+.SH "bool QPointArray::putPoints ( int index, int nPoints, const QPointArray & from, int fromIndex = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version of the function copies \fInPoints\fR from \fIfrom\fR into this array, starting at \fIindex\fR in this array and \fIfromIndex\fR in \fIfrom\fR. \fIfromIndex\fR is 0 by default.
+.PP
+.nf
+.br
+ QPointArray a;
+.br
+ a.putPoints( 0, 3, 1,2, 0,0, 5,6 );
+.br
+ // a is now the three-point array ( 1,2, 0,0, 5,6 );
+.br
+ QPointArray b;
+.br
+ b.putPoints( 0, 3, 4,4, 5,5, 6,6 );
+.br
+ // b is now ( 4,4, 5,5, 6,6 );
+.br
+ a.putPoints( 2, 3, b );
+.br
+ // a is now ( 1,2, 0,0, 4,4, 5,5, 6,6 );
+.br
+.fi
+.SH "void QPointArray::setPoint ( uint index, int x, int y )"
+Sets the point at position \fIindex\fR in the array to \fI(x, y)\fR.
+.PP
+Example: themes/wood.cpp.
+.SH "void QPointArray::setPoint ( uint i, const QPoint & p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the point at array index \fIi\fR to \fIp\fR.
+.SH "void QPointArray::translate ( int dx, int dy )"
+Translates all points in the array by \fI(dx, dy)\fR.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QPointArray & a )"
+Writes the point array, \fIa\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QPointArray & a )"
+Reads a point array, \fIa\fR from the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpointarray.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpointarray.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpopupmenu.3qt b/doc/man/man3/qpopupmenu.3qt
new file mode 100644
index 0000000..10d3fff
--- /dev/null
+++ b/doc/man/man3/qpopupmenu.3qt
@@ -0,0 +1,810 @@
+'\" t
+.TH QPopupMenu 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPopupMenu \- Popup menu widget
+.SH SYNOPSIS
+\fC#include <qpopupmenu.h>\fR
+.PP
+Inherits QFrame and QMenuData.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPopupMenu\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QPopupMenu\fR ()"
+.br
+.ti -1c
+.BI "void \fBpopup\fR ( const QPoint & pos, int indexAtPoint = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBupdateItem\fR ( int id )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCheckable\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisCheckable\fR () const"
+.br
+.ti -1c
+.BI "int \fBexec\fR ()"
+.br
+.ti -1c
+.BI "int \fBexec\fR ( const QPoint & pos, int indexAtPoint = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetActiveItem\fR ( int i )"
+.br
+.ti -1c
+.BI "int \fBidAt\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBidAt\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "int \fBinsertTearOffHandle\fR ( int id = -1, int index = -1 )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBaboutToShow\fR ()"
+.br
+.ti -1c
+.BI "void \fBaboutToHide\fR ()"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QWidget * widget, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+.br
+.ti -1c
+.BI "int \fBinsertSeparator\fR ( int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveItem\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBremoveItemAt\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetAccel\fR ( const QKeySequence & key, int id )"
+.br
+.ti -1c
+.BI "QIconSet * \fBiconSet\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QPixmap * \fBpixmap\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetWhatsThis\fR ( int id, const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBwhatsThis\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QIconSet & icon, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBchangeItem\fR ( int id, const QIconSet & icon, const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "bool \fBisItemEnabled\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemEnabled\fR ( int id, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisItemChecked\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemChecked\fR ( int id, bool check )"
+.br
+.ti -1c
+.BI "bool \fBisItemVisible\fR ( int id ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemVisible\fR ( int id, bool visible )"
+.br
+.ti -1c
+.BI "bool \fBconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBdisconnectItem\fR ( int id, const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBsetItemParameter\fR ( int id, int param )"
+.br
+.ti -1c
+.BI "int \fBitemParameter\fR ( int id ) const"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBcheckable\fR - whether the display of check marks on menu items is enabled"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "int \fBitemHeight\fR ( int row ) const"
+.br
+.ti -1c
+.BI "int \fBitemHeight\fR ( QMenuItem * mi ) const"
+.br
+.ti -1c
+.BI "void \fBdrawItem\fR ( QPainter * p, int tab_, QMenuItem * mi, bool act, int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p )"
+.br
+.ti -1c
+.BI "int \fBcolumns\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPopupMenu class provides a popup menu widget.
+.PP
+A popup menu widget is a selection menu. It can be either a pull-down menu in a menu bar or a standalone context (popup) menu. Pull-down menus are shown by the menu bar when the user clicks on the respective item or presses the specified shortcut key. Use QMenuBar::insertItem() to insert a popup menu into a menu bar. Show a context menu either asynchronously with popup() or synchronously with exec().
+.PP
+Technically, a popup menu consists of a list of menu items. You add items with insertItem(). An item is either a string, a pixmap or a custom item that provides its own drawing function (see QCustomMenuItem). In addition, items can have an optional icon drawn on the very left side and an accelerator key such as" Ctrl+X".
+.PP
+There are three kinds of menu items: separators, menu items that perform an action and menu items that show a submenu. Separators are inserted with insertSeparator(). For submenus, you pass a pointer to a QPopupMenu in your call to insertItem(). All other items are considered action items.
+.PP
+When inserting action items you usually specify a receiver and a slot. The receiver will be notifed whenever the item is selected. In addition, QPopupMenu provides two signals, activated() and highlighted(), which signal the identifier of the respective menu item. It is sometimes practical to connect several items to one slot. To distinguish between them, specify a slot that takes an integer argument and use setItemParameter() to associate a unique value with each item.
+.PP
+You clear a popup menu with clear() and remove single items with removeItem() or removeItemAt().
+.PP
+A popup menu can display check marks for certain items when enabled with setCheckable(TRUE). You check or uncheck items with setItemChecked().
+.PP
+Items are either enabled or disabled. You toggle their state with setItemEnabled(). Just before a popup menu becomes visible, it emits the aboutToShow() signal. You can use this signal to set the correct enabled/disabled states of all menu items before the user sees it. The corresponding aboutToHide() signal is emitted when the menu hides again.
+.PP
+You can provide What's This? help for single menu items with setWhatsThis(). See QWhatsThis for general information about this kind of lightweight online help.
+.PP
+For ultimate flexibility, you can also add entire widgets as items into a popup menu (for example, a color selector).
+.PP
+A QPopupMenu can also provide a tear-off menu. A tear-off menu is a top-level window that contains a copy of the menu. This makes it possible for the user to "tear off" frequently used menus and position them in a convenient place on the screen. If you want that functionality for a certain menu, insert a tear-off handle with insertTearOffHandle(). When using tear-off menus, bear in mind that the concept isn't typically used on Microsoft Windows so users may not be familiar with it. Consider using a QToolBar instead. Tear-off menus cannot contain custom widgets; if the original menu contains a custom widget item, this item is omitted.
+.PP
+menu/menu.cpp is an example of QMenuBar and QPopupMenu use.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QMenuBar, GUI Design Handbook: Menu, Drop-Down and Pop-Up, Main Window and Related Classes, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPopupMenu::QPopupMenu ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a popup menu called \fIname\fR with parent \fIparent\fR.
+.PP
+Although a popup menu is always a top-level widget, if a parent is passed the popup menu will be deleted when that parent is destroyed (as with any other QObject).
+.SH "QPopupMenu::~QPopupMenu ()"
+Destroys the popup menu.
+.SH "void QPopupMenu::aboutToHide ()\fC [signal]\fR"
+This signal is emitted just before the popup menu is hidden after it has been displayed.
+.PP
+\fBWarning:\fR Do not open a widget in a slot connected to this signal.
+.PP
+See also aboutToShow(), setItemEnabled(), setItemChecked(), insertItem(), and removeItem().
+.SH "void QPopupMenu::aboutToShow ()\fC [signal]\fR"
+This signal is emitted just before the popup menu is displayed. You can connect it to any slot that sets up the menu contents (e.g. to ensure that the right items are enabled).
+.PP
+See also aboutToHide(), setItemEnabled(), setItemChecked(), insertItem(), and removeItem().
+.PP
+Example: mdi/application.cpp.
+.SH "QKeySequence QMenuData::accel ( int id ) const"
+Returns the accelerator key that has been defined for the menu item \fIid\fR, or 0 if it has no accelerator key or if there is no such menu item.
+.PP
+See also setAccel(), QAccel, and qnamespace.h.
+.SH "void QPopupMenu::activated ( int id )\fC [signal]\fR"
+This signal is emitted when a menu item is selected; \fIid\fR is the id of the selected item.
+.PP
+Normally, you connect each menu item to a single slot using QMenuData::insertItem(), but sometimes you will want to connect several items to a single slot (most often if the user selects from an array). This signal is useful in such cases.
+.PP
+See also highlighted() and QMenuData::insertItem().
+.PP
+Examples:
+.)l grapher/grapher.cpp, helpviewer/helpwindow.cpp, qdir/qdir.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.
+.SH "void QMenuData::changeItem ( int id, const QString & text )"
+Changes the text of the menu item \fIid\fR to \fItext\fR. If the item has an icon, the icon remains unchanged.
+.PP
+See also text().
+.SH "void QMenuData::changeItem ( int id, const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the pixmap of the menu item \fIid\fR to the pixmap \fIpixmap\fR. If the item has an icon, the icon is unchanged.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( int id, const QIconSet & icon, const QString & text )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the iconset and text of the menu item \fIid\fR to the \fIicon\fR and \fItext\fR respectively.
+.PP
+See also pixmap().
+.SH "void QMenuData::changeItem ( int id, const QIconSet & icon, const QPixmap & pixmap )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the iconset and pixmap of the menu item \fIid\fR to \fIicon\fR and \fIpixmap\fR respectively.
+.PP
+See also pixmap().
+.SH "void QMenuData::clear ()"
+Removes all menu items.
+.PP
+See also removeItem() and removeItemAt().
+.PP
+Examples:
+.)l mdi/application.cpp and qwerty/qwerty.cpp.
+.SH "int QPopupMenu::columns () const\fC [protected]\fR"
+If a popup menu does not fit on the screen it lays itself out so that it does fit. It is style dependent what layout means (for example, on Windows it will use multiple columns).
+.PP
+This functions returns the number of columns necessary.
+.PP
+See also sizeHint.
+.SH "bool QMenuData::connectItem ( int id, const QObject * receiver, const char * member )"
+Connects the menu item with identifier \fIid\fR to \fIreceiver\fR's \fImember\fR slot or signal.
+.PP
+The receiver's slot (or signal) is activated when the menu item is activated.
+.PP
+See also disconnectItem() and setItemParameter().
+.PP
+Example: menu/menu.cpp.
+.SH "bool QMenuData::disconnectItem ( int id, const QObject * receiver, const char * member )"
+Disconnects the \fIreceiver\fR's \fImember\fR from the menu item with identifier \fIid\fR.
+.PP
+All connections are removed when the menu data object is destroyed.
+.PP
+See also connectItem() and setItemParameter().
+.SH "void QPopupMenu::drawContents ( QPainter * p )\fC [virtual protected]\fR"
+Draws all menu items using painter \fIp\fR.
+.PP
+Reimplemented from QFrame.
+.SH "void QPopupMenu::drawItem ( QPainter * p, int tab_, QMenuItem * mi, bool act, int x, int y, int w, int h )\fC [protected]\fR"
+Draws menu item \fImi\fR in the area \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR, using painter \fIp\fR. The item is drawn active if \fIact\fR is TRUE or drawn inactive if \fIact\fR is FALSE. The rightmost \fItab_\fR pixels are used for accelerator text.
+.PP
+See also QStyle::drawControl().
+.SH "int QPopupMenu::exec ()"
+Executes this popup synchronously.
+.PP
+This is equivalent to \fCexec(mapToGlobal(QPoint(0,0)))\fR. In most situations you'll want to specify the position yourself, for example at the current mouse position:
+.PP
+.nf
+.br
+ exec(QCursor::pos());
+.br
+.fi
+or aligned to a widget:
+.PP
+.nf
+.br
+ exec(somewidget.mapToGlobal(QPoint(0,0)));
+.br
+.fi
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp, menu/menu.cpp, and scribble/scribble.cpp.
+.SH "int QPopupMenu::exec ( const QPoint & pos, int indexAtPoint = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Executes this popup synchronously.
+.PP
+Opens the popup menu so that the item number \fIindexAtPoint\fR will be at the specified \fIglobal\fR position \fIpos\fR. To translate a widget's local coordinates into global coordinates, use QWidget::mapToGlobal().
+.PP
+The return code is the id of the selected item in either the popup menu or one of its submenus, or -1 if no item is selected (normally because the user pressed Esc).
+.PP
+Note that all signals are emitted as usual. If you connect a menu item to a slot and call the menu's exec(), you get the result both via the signal-slot connection and in the return value of exec().
+.PP
+Common usage is to position the popup at the current mouse position:
+.PP
+.nf
+.br
+ exec( QCursor::pos() );
+.br
+.fi
+or aligned to a widget:
+.PP
+.nf
+.br
+ exec( somewidget.mapToGlobal(QPoint(0, 0)) );
+.br
+.fi
+.PP
+When positioning a popup with exec() or popup(), bear in mind that you cannot rely on the popup menu's current size(). For performance reasons, the popup adapts its size only when necessary. So in many cases, the size before and after the show is different. Instead, use sizeHint(). It calculates the proper size depending on the menu's current contents.
+.PP
+See also popup() and sizeHint.
+.SH "void QPopupMenu::highlighted ( int id )\fC [signal]\fR"
+This signal is emitted when a menu item is highlighted; \fIid\fR is the id of the highlighted item.
+.PP
+See also activated() and QMenuData::insertItem().
+.SH "QIconSet * QMenuData::iconSet ( int id ) const"
+Returns the icon set that has been set for menu item \fIid\fR, or 0 if no icon set has been set.
+.PP
+See also changeItem(), text(), and pixmap().
+.SH "int QPopupMenu::idAt ( int index ) const"
+Returns the identifier of the menu item at position \fIindex\fR in the internal list, or -1 if \fIindex\fR is out of range.
+.PP
+See also QMenuData::setId() and QMenuData::indexOf().
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "int QPopupMenu::idAt ( const QPoint & pos ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the id of the item at \fIpos\fR, or -1 if there is no item there or if it is a separator.
+.SH "int QMenuData::insertItem ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+The family of insertItem() functions inserts menu items into a popup menu or a menu bar.
+.PP
+A menu item is usually either a text string or a pixmap, both with an optional icon or keyboard accelerator. For special cases it is also possible to insert custom items (see QCustomMenuItem) or even widgets into popup menus.
+.PP
+Some insertItem() members take a popup menu as an additional argument. Use this to insert submenus into existing menus or pulldown menus into a menu bar.
+.PP
+The number of insert functions may look confusing, but they are actually quite simple to use.
+.PP
+This default version inserts a menu item with the text \fItext\fR, the accelerator key \fIaccel\fR, an id and an optional index and connects it to the slot \fImember\fR in the object \fIreceiver\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ QMenuBar *mainMenu = new QMenuBar;
+.br
+ QPopupMenu *fileMenu = new QPopupMenu;
+.br
+ fileMenu->insertItem( "New", myView, SLOT(newFile()), CTRL+Key_N );
+.br
+ fileMenu->insertItem( "Open", myView, SLOT(open()), CTRL+Key_O );
+.br
+ mainMenu->insertItem( "File", fileMenu );
+.br
+.fi
+.PP
+Not all insert functions take an object/slot parameter or an accelerator key. Use connectItem() and setAccel() on those items.
+.PP
+If you need to translate accelerators, use tr() with the text and accelerator. (For translations use a string key sequence.):
+.PP
+.nf
+.br
+ fileMenu->insertItem( tr("Open"), myView, SLOT(open()),
+.br
+ tr("Ctrl+O") );
+.br
+.fi
+.PP
+In the example above, pressing Ctrl+O or selecting "Open" from the menu activates the myView->open() function.
+.PP
+Some insert functions take a QIconSet parameter to specify the little menu item icon. Note that you can always pass a QPixmap object instead.
+.PP
+The \fIid\fR specifies the identification number associated with the menu item. Note that only positive values are valid, as a negative value will make Qt select a unique id for the item.
+.PP
+The \fIindex\fR specifies the position in the menu. The menu item is appended at the end of the list if \fIindex\fR is negative.
+.PP
+Note that keyboard accelerators in Qt are not application-global, instead they are bound to a certain top-level window. For example, accelerators in QPopupMenu items only work for menus that are associated with a certain window. This is true for popup menus that live in a menu bar since their accelerators will then be installed in the menu bar itself. This also applies to stand-alone popup menus that have a top-level widget in their parentWidget() chain. The menu will then install its accelerator object on that top-level widget. For all other cases use an independent QAccel object.
+.PP
+\fBWarning:\fR Be careful when passing a literal 0 to insertItem() because some C++ compilers choose the wrong overloaded function. Cast the 0 to what you mean, e.g. \fC(QObject*)0\fR.
+.PP
+\fBWarning:\fR On Mac OS X, items that connect to a slot that are inserted into a menubar will not function as we use the native menubar that knows nothing about signals or slots. Instead insert the items into a popup menu and insert the popup menu into the menubar. This may be fixed in a future Qt version.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, canvas/canvas.cpp, menu/menu.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The menu item is connected it to the \fIreceiver\fR's \fImember\fR slot. The icon will be displayed to the left of the text in the item.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, const QObject * receiver, const char * member, const QKeySequence & accel = 0, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, accelerator \fIaccel\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item. The item is connected to the \fImember\fR slot in the \fIreceiver\fR object.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), connectItem(), QAccel, and qnamespace.h.
+.SH "int QMenuData::insertItem ( const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QString & text, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, text \fItext\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the text in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+To look best when being highlighted as a menu item, the pixmap should provide a mask (see QPixmap::mask()).
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with pixmap \fIpixmap\fR, submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, const QPixmap & pixmap, QPopupMenu * popup, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item with icon \fIicon\fR, pixmap \fIpixmap\fR submenu \fIpopup\fR, optional id \fIid\fR, and optional \fIindex\fR position. The icon will be displayed to the left of the pixmap in the item.
+.PP
+The \fIpopup\fR must be deleted by the programmer or by its parent widget. It is not deleted when this menu item is removed or when the menu is deleted.
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem(), changeItem(), setAccel(), and connectItem().
+.SH "int QMenuData::insertItem ( QWidget * widget, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a menu item that consists of the widget \fIwidget\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+Ownership of \fIwidget\fR is transferred to the popup menu or to the menu bar.
+.PP
+Theoretically, any widget can be inserted into a popup menu. In practice, this only makes sense with certain widgets.
+.PP
+If a widget is not focus-enabled (see QWidget::isFocusEnabled()), the menu treats it as a separator; this means that the item is not selectable and will never get focus. In this way you can, for example, simply insert a QLabel if you need a popup menu with a title.
+.PP
+If the widget is focus-enabled it will get focus when the user traverses the popup menu with the arrow keys. If the widget does not accept \fCArrowUp\fR and \fCArrowDown\fR in its key event handler, the focus will move back to the menu when the respective arrow key is hit one more time. This works with a QLineEdit, for example. If the widget accepts the arrow key itself, it must also provide the possibility to put the focus back on the menu again by calling QWidget::focusNextPrevChild(). Futhermore, if the embedded widget closes the menu when the user made a selection, this can be done safely by calling:
+.PP
+.nf
+.br
+ if ( isVisible() &&
+.br
+ parentWidget() &&
+.br
+ parentWidget()->inherits("QPopupMenu") )
+.br
+ parentWidget()->close();
+.br
+.fi
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also removeItem().
+.SH "int QMenuData::insertItem ( const QIconSet & icon, QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with an \fIicon\fR and with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertItem ( QCustomMenuItem * custom, int id = -1, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a custom menu item \fIcustom\fR with optional id \fIid\fR, and optional \fIindex\fR position.
+.PP
+This only works with popup menus. It is not supported for menu bars. Ownership of \fIcustom\fR is transferred to the popup menu.
+.PP
+If you want to connect a custom item to a slot, use connectItem().
+.PP
+Returns the allocated menu identifier number (\fIid\fR if \fIid\fR >= 0).
+.PP
+See also connectItem(), removeItem(), and QCustomMenuItem.
+.SH "int QMenuData::insertSeparator ( int index = -1 )"
+Inserts a separator at position \fIindex\fR, and returns the menu identifier number allocated to it. The separator becomes the last menu item if \fIindex\fR is negative.
+.PP
+In a popup menu a separator is rendered as a horizontal line. In a Motif menu bar a separator is spacing, so the rest of the items (normally just "Help") are drawn right-justified. In a Windows menu bar separators are ignored (to comply with the Windows style guidelines).
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, menu/menu.cpp, progress/progress.cpp, qwerty/qwerty.cpp, scrollview/scrollview.cpp, showimg/showimg.cpp, and sound/sound.cpp.
+.SH "int QPopupMenu::insertTearOffHandle ( int id = -1, int index = -1 )"
+Inserts a tear-off handle into the menu. A tear-off handle is a special menu item that creates a copy of the menu when the menu is selected. This "torn-off" copy lives in a separate window. It contains the same menu items as the original menu, with the exception of the tear-off handle.
+.PP
+The handle item is assigned the identifier \fIid\fR or an automatically generated identifier if \fIid\fR is < 0. The generated identifiers (negative integers) are guaranteed to be unique within the entire application.
+.PP
+The \fIindex\fR specifies the position in the menu. The tear-off handle is appended at the end of the list if \fIindex\fR is negative.
+.PP
+Example: menu/menu.cpp.
+.SH "bool QPopupMenu::isCheckable () const"
+Returns TRUE if the display of check marks on menu items is enabled; otherwise returns FALSE. See the "checkable" property for details.
+.SH "bool QMenuData::isItemChecked ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR has been checked; otherwise returns FALSE.
+.PP
+See also setItemChecked().
+.PP
+Examples:
+.)l canvas/canvas.cpp, progress/progress.cpp, and showimg/showimg.cpp.
+.SH "bool QMenuData::isItemEnabled ( int id ) const"
+Returns TRUE if the item with identifier \fIid\fR is enabled; otherwise returns FALSE
+.PP
+See also setItemEnabled() and isItemVisible().
+.SH "bool QMenuData::isItemVisible ( int id ) const"
+Returns TRUE if the menu item with the id \fIid\fR is visible; otherwise returns FALSE.
+.PP
+See also setItemVisible().
+.SH "int QPopupMenu::itemHeight ( int row ) const\fC [protected]\fR"
+Calculates the height in pixels of the item in row \fIrow\fR.
+.SH "int QPopupMenu::itemHeight ( QMenuItem * mi ) const\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Calculates the height in pixels of the menu item \fImi\fR.
+.SH "int QMenuData::itemParameter ( int id ) const"
+Returns the parameter of the activation signal of item \fIid\fR.
+.PP
+If no parameter has been specified for this item with setItemParameter(), the value defaults to \fIid\fR.
+.PP
+See also connectItem(), disconnectItem(), and setItemParameter().
+.SH "QPixmap * QMenuData::pixmap ( int id ) const"
+Returns the pixmap that has been set for menu item \fIid\fR, or 0 if no pixmap has been set.
+.PP
+See also changeItem(), text(), and iconSet().
+.SH "void QPopupMenu::popup ( const QPoint & pos, int indexAtPoint = -1 )"
+Displays the popup menu so that the item number \fIindexAtPoint\fR will be at the specified \fIglobal\fR position \fIpos\fR. To translate a widget's local coordinates into global coordinates, use QWidget::mapToGlobal().
+.PP
+When positioning a popup with exec() or popup(), bear in mind that you cannot rely on the popup menu's current size(). For performance reasons, the popup adapts its size only when necessary, so in many cases, the size before and after the show is different. Instead, use sizeHint(). It calculates the proper size depending on the menu's current contents.
+.PP
+Example: listviews/listviews.cpp.
+.SH "void QMenuData::removeItem ( int id )"
+Removes the menu item that has the identifier \fIid\fR.
+.PP
+See also removeItemAt() and clear().
+.PP
+Example: chart/chartform.cpp.
+.SH "void QMenuData::removeItemAt ( int index )"
+Removes the menu item at position \fIindex\fR.
+.PP
+See also removeItem() and clear().
+.SH "void QMenuData::setAccel ( const QKeySequence & key, int id )"
+Sets the accelerator key for the menu item \fIid\fR to \fIkey\fR.
+.PP
+An accelerator key consists of a key code and a combination of the modifiers SHIFT, CTRL, ALT or UNICODE_ACCEL (OR'ed or added). The header file qnamespace.h contains a list of key codes.
+.PP
+Defining an accelerator key produces a text that is added to the menu item; for instance, CTRL + Key_O produces "Ctrl+O". The text is formatted differently for different platforms.
+.PP
+Note that keyboard accelerators in Qt are not application-global, instead they are bound to a certain top-level window. For example, accelerators in QPopupMenu items only work for menus that are associated with a certain window. This is true for popup menus that live in a menu bar since their accelerators will then be installed in the menu bar itself. This also applies to stand-alone popup menus that have a top-level widget in their parentWidget() chain. The menu will then install its accelerator object on that top-level widget. For all other cases use an independent QAccel object.
+.PP
+Example:
+.PP
+.nf
+.br
+ QMenuBar *mainMenu = new QMenuBar;
+.br
+ QPopupMenu *fileMenu = new QPopupMenu; // file sub menu
+.br
+ fileMenu->insertItem( "Open Document", 67 ); // add "Open" item
+.br
+ fileMenu->setAccel( CTRL + Key_O, 67 ); // Ctrl+O to open
+.br
+ fileMenu->insertItem( "Quit", 69 ); // add "Quit" item
+.br
+ fileMenu->setAccel( CTRL + ALT + Key_Delete, 69 ); // add Alt+Del to quit
+.br
+ mainMenu->insertItem( "File", fileMenu ); // add the file menu
+.br
+.fi
+.PP
+If you need to translate accelerators, use tr() with a string:
+.PP
+.nf
+.br
+ fileMenu->setAccel( tr("Ctrl+O"), 67 );
+.br
+.fi
+.PP
+You can also specify the accelerator in the insertItem() function. You may prefer to use QAction to associate accelerators with menu items.
+.PP
+See also accel(), insertItem(), QAccel, and QAction.
+.PP
+Example: menu/menu.cpp.
+.SH "void QPopupMenu::setActiveItem ( int i )\fC [virtual]\fR"
+Sets the currently active item to index \fIi\fR and repaints as necessary.
+.SH "void QPopupMenu::setCheckable ( bool )\fC [virtual]\fR"
+Sets whether the display of check marks on menu items is enabled. See the "checkable" property for details.
+.SH "void QMenuData::setItemChecked ( int id, bool check )"
+If \fIcheck\fR is TRUE, checks the menu item with id \fIid\fR; otherwise unchecks the menu item with id \fIid\fR. Calls QPopupMenu::setCheckable( TRUE ) if necessary.
+.PP
+See also isItemChecked().
+.PP
+Examples:
+.)l canvas/canvas.cpp, grapher/grapher.cpp, mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, scrollview/scrollview.cpp, and showimg/showimg.cpp.
+.SH "void QMenuData::setItemEnabled ( int id, bool enable )"
+If \fIenable\fR is TRUE, enables the menu item with identifier \fIid\fR; otherwise disables the menu item with identifier \fIid\fR.
+.PP
+See also isItemEnabled().
+.PP
+Examples:
+.)l mdi/application.cpp, menu/menu.cpp, progress/progress.cpp, and showimg/showimg.cpp.
+.SH "bool QMenuData::setItemParameter ( int id, int param )"
+Sets the parameter of the activation signal of item \fIid\fR to \fIparam\fR.
+.PP
+If any receiver takes an integer parameter, this value is passed.
+.PP
+See also connectItem(), disconnectItem(), and itemParameter().
+.PP
+Example: mdi/application.cpp.
+.SH "void QMenuData::setItemVisible ( int id, bool visible )"
+If \fIvisible\fR is TRUE, shows the menu item with id \fIid\fR; otherwise hides the menu item with id \fIid\fR.
+.PP
+See also isItemVisible() and isItemEnabled().
+.SH "void QMenuData::setWhatsThis ( int id, const QString & text )"
+Sets \fItext\fR as What's This help for the menu item with identifier \fIid\fR.
+.PP
+See also whatsThis().
+.PP
+Examples:
+.)l application/application.cpp, helpsystem/mainwindow.cpp, and mdi/application.cpp.
+.SH "QString QMenuData::text ( int id ) const"
+Returns the text that has been set for menu item \fIid\fR, or QString::null if no text has been set.
+.PP
+See also changeItem(), pixmap(), and iconSet().
+.PP
+Examples:
+.)l qdir/qdir.cpp and showimg/showimg.cpp.
+.SH "void QPopupMenu::updateItem ( int id )\fC [virtual]\fR"
+Updates the item with identity \fIid\fR.
+.PP
+Reimplemented from QMenuData.
+.SH "QString QMenuData::whatsThis ( int id ) const"
+Returns the What's This help text for the item with identifier \fIid\fR or QString::null if no text has yet been defined.
+.PP
+See also setWhatsThis().
+.SS "Property Documentation"
+.SH "bool checkable"
+This property holds whether the display of check marks on menu items is enabled.
+.PP
+When TRUE, the display of check marks on menu items is enabled. Checking is always enabled when in Windows-style.
+.PP
+See also QMenuData::setItemChecked().
+.PP
+Set this property's value with setCheckable() and get this property's value with isCheckable().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpopupmenu.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpopupmenu.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qprinter.3qt b/doc/man/man3/qprinter.3qt
new file mode 100644
index 0000000..dfd2599
--- /dev/null
+++ b/doc/man/man3/qprinter.3qt
@@ -0,0 +1,734 @@
+'\" t
+.TH QPrinter 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPrinter \- Paint device that paints on a printer
+.SH SYNOPSIS
+\fC#include <qprinter.h>\fR
+.PP
+Inherits QPaintDevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBPrinterMode\fR { ScreenResolution, PrinterResolution, HighResolution, Compatible }"
+.br
+.ti -1c
+.BI "\fBQPrinter\fR ( PrinterMode m = ScreenResolution )"
+.br
+.ti -1c
+.BI "\fB~QPrinter\fR ()"
+.br
+.ti -1c
+.BI "enum \fBOrientation\fR { Portrait, Landscape }"
+.br
+.ti -1c
+.BI "enum \fBPageSize\fR { A4, B5, Letter, Legal, Executive, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E, DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom }"
+.br
+.ti -1c
+.BI "enum \fBPageOrder\fR { FirstPageFirst, LastPageFirst }"
+.br
+.ti -1c
+.BI "enum \fBColorMode\fR { GrayScale, Color }"
+.br
+.ti -1c
+.BI "enum \fBPaperSource\fR { OnlyOne, Lower, Middle, Manual, Envelope, EnvelopeManual, Auto, Tractor, SmallFormat, LargeFormat, LargeCapacity, Cassette, FormSource }"
+.br
+.ti -1c
+.BI "enum \fBPrintRange\fR { AllPages, Selection, PageRange }"
+.br
+.ti -1c
+.BI "enum \fBPrinterOption\fR { PrintToFile, PrintSelection, PrintPageRange }"
+.br
+.ti -1c
+.BI "QString \fBprinterName\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrinterName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "bool \fBoutputToFile\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOutputToFile\fR ( bool enable )"
+.br
+.ti -1c
+.BI "QString \fBoutputFileName\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOutputFileName\fR ( const QString & fileName )"
+.br
+.ti -1c
+.BI "QString \fBprintProgram\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrintProgram\fR ( const QString & printProg )"
+.br
+.ti -1c
+.BI "QString \fBprinterSelectionOption\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrinterSelectionOption\fR ( const QString & option )"
+.br
+.ti -1c
+.BI "QString \fBdocName\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDocName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QString \fBcreator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCreator\fR ( const QString & creator )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation orientation )"
+.br
+.ti -1c
+.BI "PageSize \fBpageSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPageSize\fR ( PageSize newPageSize )"
+.br
+.ti -1c
+.BI "void \fBsetWinPageSize\fR ( short winPageSize )"
+.br
+.ti -1c
+.BI "short \fBwinPageSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPageOrder\fR ( PageOrder newPageOrder )"
+.br
+.ti -1c
+.BI "PageOrder \fBpageOrder\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetResolution\fR ( int dpi )"
+.br
+.ti -1c
+.BI "virtual int \fBresolution\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetColorMode\fR ( ColorMode newColorMode )"
+.br
+.ti -1c
+.BI "ColorMode \fBcolorMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFullPage\fR ( bool fp )"
+.br
+.ti -1c
+.BI "bool \fBfullPage\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBmargins\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMargins\fR ( uint top, uint left, uint bottom, uint right )"
+.br
+.ti -1c
+.BI "void \fBmargins\fR ( uint * top, uint * left, uint * bottom, uint * right ) const"
+.br
+.ti -1c
+.BI "int \fBfromPage\fR () const"
+.br
+.ti -1c
+.BI "int \fBtoPage\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFromTo\fR ( int fromPage, int toPage )"
+.br
+.ti -1c
+.BI "int \fBminPage\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxPage\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMinMax\fR ( int minPage, int maxPage )"
+.br
+.ti -1c
+.BI "int \fBnumCopies\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumCopies\fR ( int numCopies )"
+.br
+.ti -1c
+.BI "PrintRange \fBprintRange\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPrintRange\fR ( PrintRange range )"
+.br
+.ti -1c
+.BI "bool \fBnewPage\fR ()"
+.br
+.ti -1c
+.BI "bool \fBabort\fR ()"
+.br
+.ti -1c
+.BI "bool \fBaborted\fR () const"
+.br
+.ti -1c
+.BI "bool \fBsetup\fR ( QWidget * parent = 0 )"
+.br
+.ti -1c
+.BI "PaperSource \fBpaperSource\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPaperSource\fR ( PaperSource source )"
+.br
+.ti -1c
+.BI "void \fBsetOptionEnabled\fR ( PrinterOption option, bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisOptionEnabled\fR ( PrinterOption option )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPrinter class is a paint device that paints on a printer.
+.PP
+On Windows it uses the built-in printer drivers. On X11 it generates postscript and sends that to lpr, lp, or another print command.
+.PP
+QPrinter is used in much the same way as QWidget and QPixmap are used. The big difference is that you must keep track of the pages.
+.PP
+QPrinter supports a number of settable parameters, most of which can be changed by the end user when the application calls QPrinter::setup().
+.PP
+The most important parameters are:
+.TP
+setOrientation() tells QPrinter which page orientation to use (virtual).
+.TP
+setPageSize() tells QPrinter what page size to expect from the printer.
+.TP
+setResolution() tells QPrinter what resolution you wish the printer to provide (in dpi).
+.TP
+setFullPage() tells QPrinter whether you want to deal with the full page or just with the part the printer can draw on. The default is FALSE, so that by default you should be able to paint on (0,0). If TRUE the origin of the coordinate system will be in the top left corner of the paper and most probably the printer will not be able to paint something there due to it's physical margins.
+.TP
+setNumCopies() tells QPrinter how many copies of the document it should print.
+.TP
+setMinMax() tells QPrinter and QPrintDialog what the allowed range for fromPage() and toPage() are.
+.PP
+Except where noted, you can only call the set functions before setup(), or between QPainter::end() and setup(). (Some may take effect between setup() and begin(), or between begin() and end(), but that's strictly undocumented and such behaviour may differ depending on platform.)
+.PP
+There are also some settings that the user sets (through the printer dialog) and that applications are expected to obey:
+.IP
+.TP
+pageOrder() tells the application program whether to print first-page-first or last-page-first.
+.IP
+.TP
+colorMode() tells the application program whether to print in color or grayscale. (If you print in color and the printer does not support color, Qt will try to approximate. The document may take longer to print, but the quality should not be made visibly poorer.)
+.IP
+.TP
+fromPage() and toPage() indicate what pages the application program should print.
+.IP
+.TP
+paperSource() tells the application progam which paper source to print from.
+.IP
+.PP
+You can of course call these functions to establish defaults before you ask the user through QPrinter::setup().
+.PP
+Once you start printing, calling newPage() is essential. You will probably also need to look at the QPaintDeviceMetrics for the printer (see the print function in the Application walk-through). In previous versions, paint device metrics were valid only after the QPrinter has been set up, i.e. after setup() has returned successfully. This is no longer the case and paint device metrics can be requested safely before set up.
+.PP
+If you want to abort the print job, abort() will try its best to stop printing. It may cancel the entire job or just some of it.
+.PP
+If your current locale converts "," to ".", you will need to set a locale (via the standard C setlocale() function) that doen't do this before using QPrinter. The "C" locale works well for this.
+.PP
+The TrueType font embedding for Qt's postscript driver uses code by David Chappell of Trinity College Computing Center.
+.PP
+Copyright 1995, Trinity College Computing Center. Written by David Chappell.
+.PP
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.
+.PP
+TrueType font support. These functions allow PPR to generate PostScript fonts from Microsoft compatible TrueType font files.
+.PP
+The functions in this file do most of the work to convert a TrueType font to a type 3 PostScript font.
+.PP
+Most of the material in this file is derived from a program called" ttf2ps" which L. S. Ng posted to the usenet news group" comp.sources.postscript". The author did not provide a copyright notice or indicate any restrictions on use.
+.PP
+Last revised 11 July 1995.
+.PP
+See also Graphics Classes and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QPrinter::ColorMode"
+This enum type is used to indicate whether QPrinter should print in color or not.
+.TP
+\fCQPrinter::Color\fR - print in color if available, otherwise in grayscale.
+.TP
+\fCQPrinter::GrayScale\fR - print in grayscale, even on color printers. Might be a little faster than Color. This is the default.
+.SH "QPrinter::Orientation"
+This enum type (not to be confused with Qt::Orientation) is used to specify each page's orientation.
+.TP
+\fCQPrinter::Portrait\fR - the page's height is greater than its width (the default).
+.TP
+\fCQPrinter::Landscape\fR - the page's width is greater than its height.
+.PP
+This type interacts with QPrinter::PageSize and QPrinter::setFullPage() to determine the final size of the page available to the application.
+.SH "QPrinter::PageOrder"
+This enum type is used by QPrinter to tell the application program how to print.
+.TP
+\fCQPrinter::FirstPageFirst\fR - the lowest-numbered page should be printed first.
+.TP
+\fCQPrinter::LastPageFirst\fR - the highest-numbered page should be printed first.
+.SH "QPrinter::PageSize"
+This enum type specifies what paper size QPrinter should use. QPrinter does not check that the paper size is available; it just uses this information, together with QPrinter::Orientation and QPrinter::setFullPage(), to determine the printable area (see QPaintDeviceMetrics).
+.PP
+The defined sizes (with setFullPage(TRUE)) are:
+.TP
+\fCQPrinter::A0\fR - 841 x 1189 mm This value is not supported on windows.
+.TP
+\fCQPrinter::A1\fR - 594 x 841 mm This value is not supported on windows.
+.TP
+\fCQPrinter::A2\fR - 420 x 594 mm
+.TP
+\fCQPrinter::A3\fR - 297 x 420 mm
+.TP
+\fCQPrinter::A4\fR - 210 x 297 mm, 8.26 x 11.7 inches
+.TP
+\fCQPrinter::A5\fR - 148 x 210 mm
+.TP
+\fCQPrinter::A6\fR - 105 x 148 mm
+.TP
+\fCQPrinter::A7\fR - 74 x 105 mm
+.TP
+\fCQPrinter::A8\fR - 52 x 74 mm
+.TP
+\fCQPrinter::A9\fR - 37 x 52 mm
+.TP
+\fCQPrinter::B0\fR - 1030 x 1456 mm
+.TP
+\fCQPrinter::B1\fR - 728 x 1030 mm
+.TP
+\fCQPrinter::B10\fR - 32 x 45 mm
+.TP
+\fCQPrinter::B2\fR - 515 x 728 mm
+.TP
+\fCQPrinter::B3\fR - 364 x 515 mm
+.TP
+\fCQPrinter::B4\fR - 257 x 364 mm
+.TP
+\fCQPrinter::B5\fR - 182 x 257 mm, 7.17 x 10.13 inches
+.TP
+\fCQPrinter::B6\fR - 128 x 182 mm
+.TP
+\fCQPrinter::B7\fR - 91 x 128 mm
+.TP
+\fCQPrinter::B8\fR - 64 x 91 mm
+.TP
+\fCQPrinter::B9\fR - 45 x 64 mm
+.TP
+\fCQPrinter::C5E\fR - 163 x 229 mm
+.TP
+\fCQPrinter::Comm10E\fR - 105 x 241 mm, US Common #10 Envelope
+.TP
+\fCQPrinter::DLE\fR - 110 x 220 mm
+.TP
+\fCQPrinter::Executive\fR - 7.5 x 10 inches, 191 x 254 mm
+.TP
+\fCQPrinter::Folio\fR - 210 x 330 mm
+.TP
+\fCQPrinter::Ledger\fR - 432 x 279 mm
+.TP
+\fCQPrinter::Legal\fR - 8.5 x 14 inches, 216 x 356 mm
+.TP
+\fCQPrinter::Letter\fR - 8.5 x 11 inches, 216 x 279 mm
+.TP
+\fCQPrinter::Tabloid\fR - 279 x 432 mm
+.TP
+\fCQPrinter::Custom\fR
+.TP
+\fCQPrinter::NPageSize\fR - (internal)
+.PP
+With setFullPage(FALSE) (the default), the metrics will be a bit smaller; how much depends on the printer in use.
+.SH "QPrinter::PaperSource"
+This enum type specifies what paper source QPrinter is to use. QPrinter does not check that the paper source is available; it just uses this information to try and set the paper source. Whether it will set the paper source depends on whether the printer has that particular source.
+.PP
+Note: this is currently only implemented for Windows.
+.TP
+\fCQPrinter::OnlyOne\fR
+.TP
+\fCQPrinter::Lower\fR
+.TP
+\fCQPrinter::Middle\fR
+.TP
+\fCQPrinter::Manual\fR
+.TP
+\fCQPrinter::Envelope\fR
+.TP
+\fCQPrinter::EnvelopeManual\fR
+.TP
+\fCQPrinter::Auto\fR
+.TP
+\fCQPrinter::Tractor\fR
+.TP
+\fCQPrinter::SmallFormat\fR
+.TP
+\fCQPrinter::LargeFormat\fR
+.TP
+\fCQPrinter::LargeCapacity\fR
+.TP
+\fCQPrinter::Cassette\fR
+.TP
+\fCQPrinter::FormSource\fR
+.SH "QPrinter::PrintRange"
+This enum is used to specify which print range the application should use to print.
+.TP
+\fCQPrinter::AllPages\fR - All pages should be printed
+.TP
+\fCQPrinter::Selection\fR - Only the selection should be printed.
+.TP
+\fCQPrinter::PageRange\fR - From page, to page option.
+.PP
+See also setPrintRange() and printRange().
+.SH "QPrinter::PrinterMode"
+This enum describes the mode the printer should work in. It basically presets a certain resolution and working mode.
+.TP
+\fCQPrinter::ScreenResolution\fR - Sets the resolution of the print device to the screen resolution. This has the big advantage that the results obtained when painting on the printer will match more or less exactly the visible output on the screen. It is the easiest to use, as font metrics on the screen and on the printer are the same. This is the default value. ScreenResolution will produce a lower quality output than HighResolution and should only be used for drafts.
+.TP
+\fCQPrinter::PrinterResolution\fR - Use the physical resolution of the printer on Windows. On Unix, set the postscript resolution to 72 dpi.
+.TP
+\fCQPrinter::HighResolution\fR - Use printer resolution on windows, set the resolution of the postscript driver to 600dpi.
+.TP
+\fCQPrinter::Compatible\fR - Almost the same as PrinterResolution, but keeps some peculiarities of the Qt 2.x printer driver. This is useful for applications ported from Qt 2.x to Qt 3.x.
+.SH "QPrinter::PrinterOption"
+This enum describes various printer options that appear in the printer setup dialog. It is used to enable and disable these options in the setup dialog.
+.TP
+\fCQPrinter::PrintToFile\fR - Describes if print to file should be enabled.
+.TP
+\fCQPrinter::PrintSelection\fR - Describes if printing selections should be enabled.
+.TP
+\fCQPrinter::PrintPageRange\fR - Describes if printing page ranges (from, to) should be enabled
+.PP
+See also setOptionEnabled() and isOptionEnabled().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPrinter::QPrinter ( PrinterMode m = ScreenResolution )"
+Constructs a printer paint device with mode \fIm\fR.
+.PP
+See also QPrinter::PrinterMode.
+.SH "QPrinter::~QPrinter ()"
+Destroys the printer paint device and cleans up.
+.SH "bool QPrinter::abort ()"
+Aborts the print job. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also aborted().
+.SH "bool QPrinter::aborted () const"
+Returns TRUE if the print job was aborted; otherwise returns FALSE.
+.PP
+See also abort().
+.SH "ColorMode QPrinter::colorMode () const"
+Returns the current color mode. The default color mode is Color.
+.PP
+See also setColorMode().
+.SH "QString QPrinter::creator () const"
+Returns the name of the application that created the document.
+.PP
+See also setCreator().
+.SH "QString QPrinter::docName () const"
+Returns the document name.
+.PP
+See also setDocName().
+.SH "int QPrinter::fromPage () const"
+Returns the from-page setting. The default value is 0.
+.PP
+If fromPage() and toPage() both return 0 this signifies 'print the whole document'.
+.PP
+The programmer is responsible for reading this setting and printing accordingly.
+.PP
+See also setFromTo() and toPage().
+.SH "bool QPrinter::fullPage () const"
+Returns TRUE if the origin of the printer's coordinate system is at the corner of the sheet and FALSE if it is at the edge of the printable area.
+.PP
+See setFullPage() for details and caveats.
+.PP
+See also setFullPage(), PageSize, and QPaintDeviceMetrics.
+.SH "bool QPrinter::isOptionEnabled ( PrinterOption option )"
+Returns TRUE if the printer option with identifier \fIoption\fR is enabled; otherwise returns FALSE.
+.PP
+See also setOptionEnabled().
+.SH "QSize QPrinter::margins () const"
+Returns the width of the left margin and the height of the top margin of the printer. On Unix, this is a best-effort guess, not based on perfect knowledge.
+.PP
+If you have called setFullPage( TRUE ), margins().width() may be treated as the smallest sane left margin you can use, and margins().height() as the smallest sane top margin you can use.
+.PP
+If you have called setFullPage( FALSE ) (this is the default), margins() is automatically subtracted from the pageSize() by QPrinter.
+.PP
+See also setFullPage(), QPaintDeviceMetrics, and PageSize.
+.SH "void QPrinter::margins ( uint * top, uint * left, uint * bottom, uint * right ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets \fItop\fR, \fIleft\fR, \fIbottom\fR and \fIright\fR to the margins of the printer. On Unix, this is a best-effort guess, not based on perfect knowledge.
+.PP
+If you have called setFullPage( TRUE ), the four values specify the smallest sane margins you can use.
+.PP
+If you have called setFullPage( FALSE ) (this is the default), the margins are automatically subtracted from the pageSize() by QPrinter.
+.PP
+See also setFullPage(), QPaintDeviceMetrics, and PageSize.
+.SH "int QPrinter::maxPage () const"
+Returns the max-page setting. A user can't choose a higher page number than maxPage() when they select a print range. The default value is 0.
+.PP
+See also minPage(), setMinMax(), and setFromTo().
+.SH "int QPrinter::minPage () const"
+Returns the min-page setting, i.e. the lowest page number a user is allowed to choose. The default value is 0.
+.PP
+See also maxPage(), setMinMax(), and setFromTo().
+.SH "bool QPrinter::newPage ()"
+Advances to a new page on the printer. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "int QPrinter::numCopies () const"
+Returns the number of copies to be printed. The default value is 1.
+.PP
+This value will return the number of times the application is required to print in order to match the number specified in the printer setup dialog. This has been done since some printer drivers are not capable of buffering up the copies and the application in those cases have to make an explicit call to the print code for each copy.
+.PP
+See also setNumCopies().
+.SH "Orientation QPrinter::orientation () const"
+Returns the orientation setting. The default value is QPrinter::Portrait.
+.PP
+See also setOrientation().
+.SH "QString QPrinter::outputFileName () const"
+Returns the name of the output file. There is no default file name.
+.PP
+See also setOutputFileName() and setOutputToFile().
+.SH "bool QPrinter::outputToFile () const"
+Returns TRUE if the output should be written to a file, or FALSE if the output should be sent directly to the printer. The default setting is FALSE.
+.PP
+This function is currently only supported under X11 and Mac OS X.
+.PP
+See also setOutputToFile() and setOutputFileName().
+.SH "PageOrder QPrinter::pageOrder () const"
+Returns the current page order.
+.PP
+The default page order is FirstPageFirst.
+.PP
+Bugs and limitations:
+.TP
+This value is not kept in sync with the Windows or Mac OS X printer dialogs.
+.SH "PageSize QPrinter::pageSize () const"
+Returns the printer page size. The default value is system-dependent.
+.PP
+See also setPageSize().
+.SH "PaperSource QPrinter::paperSource () const"
+Returns the currently set paper source of the printer.
+.PP
+See also setPaperSource().
+.SH "QString QPrinter::printProgram () const"
+Returns the name of the program that sends the print output to the printer.
+.PP
+The default is to return a null string; meaning that QPrinter will try to be smart in a system-dependent way. On X11 only, you can set it to something different to use a specific print program.
+.PP
+On Windows, this function returns the name of the printer device driver.
+.PP
+See also setPrintProgram() and setPrinterSelectionOption().
+.SH "PrintRange QPrinter::printRange () const"
+Returns the PageRange of the QPrinter. After the print setup dialog has been opened, this function returns the value selected by the user.
+.PP
+See also setPrintRange().
+.SH "QString QPrinter::printerName () const"
+Returns the printer name. This value is initially set to the name of the default printer.
+.PP
+See also setPrinterName().
+.SH "QString QPrinter::printerSelectionOption () const"
+Returns the printer options selection string. This is useful only if the print command has been explicitly set.
+.PP
+The default value (a null string) implies that the printer should be selected in a system-dependent manner.
+.PP
+Any other value implies that the given value should be used.
+.PP
+See also setPrinterSelectionOption().
+.SH "int QPrinter::resolution () const\fC [virtual]\fR"
+Returns the current assumed resolution of the printer, as set by setResolution() or by the printer subsystem.
+.PP
+See also setResolution().
+.SH "void QPrinter::setColorMode ( ColorMode newColorMode )\fC [virtual]\fR"
+Sets the printer's color mode to \fInewColorMode\fR, which can be either Color or GrayScale (the default).
+.PP
+See also colorMode().
+.SH "void QPrinter::setCreator ( const QString & creator )\fC [virtual]\fR"
+Sets the name of the application that created the document to \fIcreator\fR.
+.PP
+This function is only applicable to the X11 version of Qt. If no creator name is specified, the creator will be set to "Qt" followed by some version number.
+.PP
+See also creator().
+.SH "void QPrinter::setDocName ( const QString & name )\fC [virtual]\fR"
+Sets the document name to \fIname\fR.
+.SH "void QPrinter::setFromTo ( int fromPage, int toPage )\fC [virtual]\fR"
+Sets the from-page and to-page settings to \fIfromPage\fR and \fItoPage\fR respectively.
+.PP
+The from-page and to-page settings specify what pages to print.
+.PP
+If fromPage() and toPage() both return 0 this signifies 'print the whole document'.
+.PP
+This function is useful mostly to set a default value that the user can override in the print dialog when you call setup().
+.PP
+See also fromPage(), toPage(), setMinMax(), and setup().
+.SH "void QPrinter::setFullPage ( bool fp )\fC [virtual]\fR"
+Sets QPrinter to have the origin of the coordinate system at the top-left corner of the paper if \fIfp\fR is TRUE, or where it thinks the top-left corner of the printable area is if \fIfp\fR is FALSE.
+.PP
+The default is FALSE. You can (probably) print on (0,0), and QPaintDeviceMetrics will report something smaller than the size indicated by PageSize. (Note that QPrinter may be wrong on Unix systems - it does not have perfect knowledge of the physical printer.)
+.PP
+If you set \fIfp\fR to TRUE, QPaintDeviceMetrics will report the exact same size as indicated by PageSize, but you cannot print on all of that - you must take care of the output margins yourself.
+.PP
+See also PageSize, setPageSize(), QPaintDeviceMetrics, and fullPage().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "void QPrinter::setMargins ( uint top, uint left, uint bottom, uint right )"
+Sets the printer margins to the sizes specified in \fItop\fR, \fIleft\fR, \fIbottom\fR and \fIright\fR.
+.PP
+This function currently only has an effect on Unix systems.
+.PP
+See also margins().
+.SH "void QPrinter::setMinMax ( int minPage, int maxPage )\fC [virtual]\fR"
+Sets the min-page and max-page settings to \fIminPage\fR and \fImaxPage\fR respectively.
+.PP
+The min-page and max-page restrict the from-page and to-page settings. When the printer setup dialog appears, the user cannot select a from page or a to page that are outside the range specified by min and max pages.
+.PP
+See also minPage(), maxPage(), setFromTo(), and setup().
+.SH "void QPrinter::setNumCopies ( int numCopies )\fC [virtual]\fR"
+Sets the number of copies to be printed to \fInumCopies\fR.
+.PP
+The printer driver reads this setting and prints the specified number of copies.
+.PP
+See also numCopies() and setup().
+.SH "void QPrinter::setOptionEnabled ( PrinterOption option, bool enable )"
+Enables the printer option with the identifier \fIoption\fR if \fIenable\fR is TRUE, and disables option \fIoption\fR if \fIenable\fR is FALSE.
+.PP
+See also isOptionEnabled().
+.SH "void QPrinter::setOrientation ( Orientation orientation )\fC [virtual]\fR"
+Sets the print orientation to \fIorientation\fR.
+.PP
+The orientation can be either QPrinter::Portrait or QPrinter::Landscape.
+.PP
+The printer driver reads this setting and prints using the specified orientation. On Windows this setting won't take effect until the printer dialog is shown (using QPrinter::setup()).
+.PP
+Windows only! This option can be changed while printing and will take effect from the next call to newPage()
+.PP
+See also orientation().
+.SH "void QPrinter::setOutputFileName ( const QString & fileName )\fC [virtual]\fR"
+Sets the name of the output file to \fIfileName\fR.
+.PP
+Setting a null or empty name (0 or "") disables output to a file, i.e. calls setOutputToFile(FALSE). Setting a non-empty name enables output to a file, i.e. calls setOutputToFile(TRUE).
+.PP
+This function is currently only supported under X11.
+.PP
+See also outputFileName() and setOutputToFile().
+.SH "void QPrinter::setOutputToFile ( bool enable )\fC [virtual]\fR"
+Specifies whether the output should be written to a file or sent directly to the printer.
+.PP
+Will output to a file if \fIenable\fR is TRUE, or will output directly to the printer if \fIenable\fR is FALSE.
+.PP
+This function is currently only supported under X11 and Mac OS X.
+.PP
+See also outputToFile() and setOutputFileName().
+.SH "void QPrinter::setPageOrder ( PageOrder newPageOrder )\fC [virtual]\fR"
+Sets the page order to \fInewPageOrder\fR.
+.PP
+The page order can be QPrinter::FirstPageFirst or QPrinter::LastPageFirst. The application programmer is responsible for reading the page order and printing accordingly.
+.PP
+This function is useful mostly for setting a default value that the user can override in the print dialog when you call setup().
+.PP
+Bugs and limitations:
+.TP
+This value is not kept in sync with the Windows or Mac OS X printer dialogs.
+.SH "void QPrinter::setPageSize ( PageSize newPageSize )\fC [virtual]\fR"
+Sets the printer page size to \fInewPageSize\fR if that size is supported. The result if undefined if \fInewPageSize\fR is not supported.
+.PP
+The default page size is system-dependent.
+.PP
+This function is useful mostly for setting a default value that the user can override in the print dialog when you call setup().
+.PP
+See also pageSize(), PageSize, setFullPage(), and setResolution().
+.SH "void QPrinter::setPaperSource ( PaperSource source )\fC [virtual]\fR"
+Sets the paper source setting to \fIsource\fR.
+.PP
+Windows only! This option can be changed while printing and will take effect from the next call to newPage()
+.PP
+See also paperSource().
+.SH "void QPrinter::setPrintProgram ( const QString & printProg )\fC [virtual]\fR"
+Sets the name of the program that should do the print job to \fIprintProg\fR.
+.PP
+On X11, this function sets the program to call with the PostScript output. On other platforms, it has no effect.
+.PP
+See also printProgram().
+.SH "void QPrinter::setPrintRange ( PrintRange range )"
+Sets the default selected page range to be used when the print setup dialog is opened to \fIrange\fR. If the PageRange specified by \fIrange\fR is currently disabled the function does nothing.
+.PP
+See also printRange().
+.SH "void QPrinter::setPrinterName ( const QString & name )\fC [virtual]\fR"
+Sets the printer name to \fIname\fR.
+.PP
+The default printer will be used if no printer name is set.
+.PP
+Under X11, the \fCPRINTER\fR environment variable defines the default printer. Under any other window system, the window system defines the default printer.
+.PP
+See also printerName().
+.SH "void QPrinter::setPrinterSelectionOption ( const QString & option )\fC [virtual]\fR"
+Sets the printer to use \fIoption\fR to select the printer. \fIoption\fR is null by default (which implies that Qt should be smart enough to guess correctly), but it can be set to other values to use a specific printer selection option.
+.PP
+If the printer selection option is changed while the printer is active, the current print job may or may not be affected.
+.PP
+See also printerSelectionOption().
+.SH "void QPrinter::setResolution ( int dpi )\fC [virtual]\fR"
+Requests that the printer prints at \fIdpi\fR or as near to \fIdpi\fR as possible.
+.PP
+This setting affects the coordinate system as returned by, for example, QPaintDeviceMetrics and QPainter::viewport().
+.PP
+The value depends on the \fCPrintingMode\fR used in the QPrinter constructor. By default, the dpi value of the screen is used.
+.PP
+This function must be called before setup() to have an effect on all platforms.
+.PP
+See also resolution() and setPageSize().
+.SH "void QPrinter::setWinPageSize ( short winPageSize )"
+Windows only, using this function is not portable! Sets the windows page size value that is used by the \fCDEVMODE\fR struct. The \fIwinPageSize\fR value must be one of the DMPAPER_ defines from wingdi.h.
+.SH "bool QPrinter::setup ( QWidget * parent = 0 )"
+Opens a printer setup dialog, with parent \fIparent\fR, and asks the user to specify which printer they wish to use and what settings it should have.
+.PP
+Returns TRUE if the user pressed "OK" to print, or FALSE if the user canceled the operation.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, drawdemo/drawdemo.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "int QPrinter::toPage () const"
+Returns the to-page setting. The default value is 0.
+.PP
+If fromPage() and toPage() both return 0 this signifies 'print the whole document'.
+.PP
+The programmer is responsible for reading this setting and printing accordingly.
+.PP
+See also setFromTo() and fromPage().
+.SH "short QPrinter::winPageSize () const"
+Returns the Windows page size value as used by the \fCDEVMODE\fR struct (Windows only). Using this function is not portable.
+.PP
+Use pageSize() to get the PageSize, e.g. 'A4', 'Letter', etc.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qprinter.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qprinter.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qprocess.3qt b/doc/man/man3/qprocess.3qt
new file mode 100644
index 0000000..8624d69
--- /dev/null
+++ b/doc/man/man3/qprocess.3qt
@@ -0,0 +1,521 @@
+'\" t
+.TH QProcess 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QProcess \- Used to start external programs and to communicate with them
+.SH SYNOPSIS
+\fC#include <qprocess.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQProcess\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQProcess\fR ( const QString & arg0, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQProcess\fR ( const QStringList & args, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QProcess\fR ()"
+.br
+.ti -1c
+.BI "QStringList \fBarguments\fR () const"
+.br
+.ti -1c
+.BI "void \fBclearArguments\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetArguments\fR ( const QStringList & args )"
+.br
+.ti -1c
+.BI "virtual void \fBaddArgument\fR ( const QString & arg )"
+.br
+.ti -1c
+.BI "QDir \fBworkingDirectory\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWorkingDirectory\fR ( const QDir & dir )"
+.br
+.ti -1c
+.BI "enum \fBCommunication\fR { Stdin = 0x01, Stdout = 0x02, Stderr = 0x04, DupStderr = 0x08 }"
+.br
+.ti -1c
+.BI "void \fBsetCommunication\fR ( int commFlags )"
+.br
+.ti -1c
+.BI "int \fBcommunication\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBstart\fR ( QStringList * env = 0 )"
+.br
+.ti -1c
+.BI "virtual bool \fBlaunch\fR ( const QString & buf, QStringList * env = 0 )"
+.br
+.ti -1c
+.BI "virtual bool \fBlaunch\fR ( const QByteArray & buf, QStringList * env = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisRunning\fR () const"
+.br
+.ti -1c
+.BI "bool \fBnormalExit\fR () const"
+.br
+.ti -1c
+.BI "int \fBexitStatus\fR () const"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBreadStdout\fR ()"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBreadStderr\fR ()"
+.br
+.ti -1c
+.BI "bool \fBcanReadLineStdout\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcanReadLineStderr\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBreadLineStdout\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBreadLineStderr\fR ()"
+.br
+.ti -1c
+.BI "PID \fBprocessIdentifier\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBtryTerminate\fR () const"
+.br
+.ti -1c
+.BI "void \fBkill\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBwriteToStdin\fR ( const QByteArray & buf )"
+.br
+.ti -1c
+.BI "virtual void \fBwriteToStdin\fR ( const QString & buf )"
+.br
+.ti -1c
+.BI "virtual void \fBcloseStdin\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBreadyReadStdout\fR ()"
+.br
+.ti -1c
+.BI "void \fBreadyReadStderr\fR ()"
+.br
+.ti -1c
+.BI "void \fBprocessExited\fR ()"
+.br
+.ti -1c
+.BI "void \fBwroteToStdin\fR ()"
+.br
+.ti -1c
+.BI "void \fBlaunchFinished\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QProcess class is used to start external programs and to communicate with them.
+.PP
+You can write to the started program's standard input, and can read the program's standard output and standard error. You can pass command line arguments to the program either in the constructor or with setArguments() or addArgument(). The program's working directory can be set with setWorkingDirectory(). If you need to set up environment variables pass them to the start() or launch() functions (see below). The processExited() signal is emitted if the program exits. The program's exit status is available from exitStatus(), although you could simply call normalExit() to see if the program terminated normally.
+.PP
+There are two different ways to start a process. If you just want to run a program, optionally passing data to its standard input at the beginning, use one of the launch() functions. If you want full control of the program's standard input (especially if you don't know all the data you want to send to standard input at the beginning), use the start() function.
+.PP
+If you use start() you can write to the program's standard input using writeToStdin() and you can close the standard input with closeStdin(). The wroteToStdin() signal is emitted if the data sent to standard input has been written. You can read from the program's standard output using readStdout() or readLineStdout(). These functions return an empty QByteArray if there is no data to read. The readyReadStdout() signal is emitted when there is data available to be read from standard output. Standard error has a set of functions that correspond to the standard output functions, i.e. readStderr(), readLineStderr() and readyReadStderr().
+.PP
+If you use one of the launch() functions the data you pass will be sent to the program's standard input which will be closed once all the data has been written. You should \fInot\fR use writeToStdin() or closeStdin() if you use launch(). If you need to send data to the program's standard input after it has started running use start() instead of launch().
+.PP
+Both start() and launch() can accept a string list of strings each of which has the format, key=value, where the keys are the names of environment variables.
+.PP
+You can test to see if a program is running with isRunning(). The program's process identifier is available from processIdentifier(). If you want to terminate a running program use tryTerminate(), but note that the program may ignore this. If you \fIreally\fR want to terminate the program, without it having any chance to clean up, you can use kill().
+.PP
+As an example, suppose we want to start the \fCuic\fR command (a Qt command line tool used with \fIQt Designer\fR) and perform some operations on the output (the \fCuic\fR outputs the code it generates to standard output by default). Suppose further that we want to run the program on the file "small_dialog.ui" with the command line options "-tr i18n". On the command line we would write:
+.PP
+.nf
+.br
+ uic -tr i18n small_dialog.ui
+.br
+.fi
+.PP
+A code snippet for this with the QProcess class might look like this:
+.PP
+.nf
+.br
+ UicManager::UicManager()
+.br
+ {
+.fi
+.PP
+.nf
+.br
+ proc = new QProcess( this );
+.fi
+.PP
+.nf
+.br
+ proc->addArgument( "uic" );
+.br
+ proc->addArgument( "-tr" );
+.br
+ proc->addArgument( "i18n" );
+.br
+ proc->addArgument( "small_dialog.ui" );
+.br
+.br
+ connect( proc, SIGNAL(readyReadStdout()),
+.br
+ this, SLOT(readFromStdout()) );
+.fi
+.PP
+.nf
+.br
+ if ( !proc->start() ) {
+.br
+ // error handling
+.fi
+.PP
+.nf
+.br
+ }
+.br
+ }
+.fi
+.PP
+.nf
+.br
+ void UicManager::readFromStdout()
+.br
+ {
+.br
+ // Read and process the data.
+.br
+ // Bear in mind that the data might be output in chunks.
+.fi
+.PP
+.nf
+.br
+ }
+.fi
+.PP
+Although you may need quotes for a file named on the command line (e.g. if it contains spaces) you shouldn't use extra quotes for arguments passed to addArgument() or setArguments().
+.PP
+The readyReadStdout() signal is emitted when there is new data on standard output. This happens asynchronously: you don't know if more data will arrive later.
+.PP
+In the above example you could connect the processExited() signal to the slot UicManager::readFromStdout() instead. If you do so, you will be certain that all the data is available when the slot is called. On the other hand, you must wait until the process has finished before doing any processing.
+.PP
+Note that if you are expecting a lot of output from the process, you may hit platform-dependent limits to the pipe buffer size. The solution is to make sure you connect to the output, e.g. the readyReadStdout() and readyReadStderr() signals and read the data as soon as it becomes available.
+.PP
+Please note that QProcess does not emulate a shell. This means that QProcess does not do any expansion of arguments: a '*' is passed as a '*' to the program and is \fInot\fR replaced by all the files, a '$HOME' is also passed literally and is \fInot\fR replaced by the environment variable HOME and the special characters for IO redirection ('>', '|', etc.) are also passed literally and do \fInot\fR have the special meaning as they have in a shell.
+.PP
+Also note that QProcess does not emulate a terminal. This means that certain programs which need direct terminal control, do not work as expected with QProcess. Such programs include console email programs (like pine and mutt) but also programs which require the user to enter a password (like su and ssh).
+.SH "Notes for Windows users"
+Some Windows commands, for example, \fCdir\fR, are not provided by separate applications, but by the command interpreter. If you attempt to use QProcess to execute these commands directly it won't work. One possible solution is to execute the command interpreter itself (\fCcmd.exe\fR on some Windows systems), and ask the interpreter to execute the desired command.
+.PP
+Under Windows there are certain problems starting 16-bit applications and capturing their output. Microsoft recommends using an intermediate application to start 16-bit applications.
+.PP
+See also QSocket, Input/Output and Networking, and Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "QProcess::Communication"
+This enum type defines the communication channels connected to the process.
+.TP
+\fCQProcess::Stdin\fR - Data can be written to the process's standard input.
+.TP
+\fCQProcess::Stdout\fR - Data can be read from the process's standard output.
+.TP
+\fCQProcess::Stderr\fR - Data can be read from the process's standard error.
+.TP
+\fCQProcess::DupStderr\fR - Both the process's standard error output \fIand\fR its standard output are written to its standard output. (Like Unix's dup2().) This means that nothing is sent to the standard error output. This is especially useful if your application requires that the output on standard output and on standard error must be read in the same order that they are produced. This is a flag, so to activate it you must pass \fCStdout|Stderr|DupStderr\fR, or \fCStdin|Stdout|Stderr|DupStderr\fR if you want to provide input, to the setCommunication() call.
+.PP
+See also setCommunication() and communication().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QProcess::QProcess ( QObject * parent = 0, const char * name = 0 )"
+Constructs a QProcess object. The \fIparent\fR and \fIname\fR parameters are passed to the QObject constructor.
+.PP
+See also setArguments(), addArgument(), and start().
+.SH "QProcess::QProcess ( const QString & arg0, QObject * parent = 0, const char * name = 0 )"
+Constructs a QProcess with \fIarg0\fR as the command to be executed. The \fIparent\fR and \fIname\fR parameters are passed to the QObject constructor.
+.PP
+The process is not started. You must call start() or launch() to start the process.
+.PP
+See also setArguments(), addArgument(), and start().
+.SH "QProcess::QProcess ( const QStringList & args, QObject * parent = 0, const char * name = 0 )"
+Constructs a QProcess with \fIargs\fR as the arguments of the process. The first element in the list is the command to be executed. The other elements in the list are the arguments to this command. The \fIparent\fR and \fIname\fR parameters are passed to the QObject constructor.
+.PP
+The process is not started. You must call start() or launch() to start the process.
+.PP
+See also setArguments(), addArgument(), and start().
+.SH "QProcess::~QProcess ()"
+Destroys the instance.
+.PP
+If the process is running, it is \fBnot\fR terminated! The standard input, standard output and standard error of the process are closed.
+.PP
+You can connect the destroyed() signal to the kill() slot, if you want the process to be terminated automatically when the instance is destroyed.
+.PP
+See also tryTerminate() and kill().
+.SH "void QProcess::addArgument ( const QString & arg )\fC [virtual]\fR"
+Adds \fIarg\fR to the end of the list of arguments.
+.PP
+The first element in the list of arguments is the command to be executed; the following elements are the command's arguments.
+.PP
+See also arguments() and setArguments().
+.PP
+Example: process/process.cpp.
+.SH "QStringList QProcess::arguments () const"
+Returns the list of arguments that are set for the process. Arguments can be specified with the constructor or with the functions setArguments() and addArgument().
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myProcess.arguments();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also setArguments() and addArgument().
+.SH "bool QProcess::canReadLineStderr () const"
+Returns TRUE if it's possible to read an entire line of text from standard error at this time; otherwise returns FALSE.
+.PP
+See also readLineStderr() and canReadLineStdout().
+.SH "bool QProcess::canReadLineStdout () const"
+Returns TRUE if it's possible to read an entire line of text from standard output at this time; otherwise returns FALSE.
+.PP
+See also readLineStdout() and canReadLineStderr().
+.SH "void QProcess::clearArguments ()"
+Clears the list of arguments that are set for the process.
+.PP
+See also setArguments() and addArgument().
+.SH "void QProcess::closeStdin ()\fC [virtual slot]\fR"
+Closes the process's standard input.
+.PP
+This function also deletes any pending data that has not been written to standard input.
+.PP
+See also wroteToStdin().
+.SH "int QProcess::communication () const"
+Returns the communication required with the process, i.e. some combination of the Communication flags.
+.PP
+See also setCommunication().
+.SH "int QProcess::exitStatus () const"
+Returns the exit status of the process or 0 if the process is still running. This function returns immediately and does not wait until the process is finished.
+.PP
+If normalExit() is FALSE (e.g. if the program was killed or crashed), this function returns 0, so you should check the return value of normalExit() before relying on this value.
+.PP
+See also normalExit() and processExited().
+.SH "bool QProcess::isRunning () const"
+Returns TRUE if the process is running; otherwise returns FALSE.
+.PP
+See also normalExit(), exitStatus(), and processExited().
+.SH "void QProcess::kill () const\fC [slot]\fR"
+Terminates the process. This is not a safe way to end a process since the process will not be able to do any cleanup. tryTerminate() is safer, but processes can ignore a tryTerminate().
+.PP
+The nice way to end a process and to be sure that it is finished, is to do something like this:
+.PP
+.nf
+.br
+ process->tryTerminate();
+.br
+ QTimer::singleShot( 5000, process, SLOT( kill() ) );
+.br
+.fi
+.PP
+This tries to terminate the process the nice way. If the process is still running after 5 seconds, it terminates the process the hard way. The timeout should be chosen depending on the time the process needs to do all its cleanup: use a higher value if the process is likely to do a lot of computation or I/O on cleanup.
+.PP
+The slot returns immediately: it does not wait until the process has finished. When the process terminates, the processExited() signal is emitted.
+.PP
+See also tryTerminate() and processExited().
+.SH "bool QProcess::launch ( const QByteArray & buf, QStringList * env = 0 )\fC [virtual]\fR"
+Runs the process and writes the data \fIbuf\fR to the process's standard input. If all the data is written to standard input, standard input is closed. The command is searched for in the path for executable programs; you can also use an absolute path in the command itself.
+.PP
+If \fIenv\fR is null, then the process is started with the same environment as the starting process. If \fIenv\fR is non-null, then the values in the string list are interpreted as environment setttings of the form \fCkey=value\fR and the process is started with these environment settings. For convenience, there is a small exception to this rule under Unix: if \fIenv\fR does not contain any settings for the environment variable \fCLD_LIBRARY_PATH\fR, then this variable is inherited from the starting process.
+.PP
+Returns TRUE if the process could be started; otherwise returns FALSE.
+.PP
+Note that you should not use the slots writeToStdin() and closeStdin() on processes started with launch(), since the result is not well-defined. If you need these slots, use start() instead.
+.PP
+The process may or may not read the \fIbuf\fR data sent to its standard input.
+.PP
+You can call this function even when a process that was started with this instance is still running. Be aware that if you do this the standard input of the process that was launched first will be closed, with any pending data being deleted, and the process will be left to run out of your control. Similarly, if the process could not be started the standard input will be closed and the pending data deleted. (On operating systems that have zombie processes, Qt will also wait() on the old process.)
+.PP
+The object emits the signal launchFinished() when this function call is finished. If the start was successful, this signal is emitted after all the data has been written to standard input. If the start failed, then this signal is emitted immediately.
+.PP
+See also start() and launchFinished().
+.SH "bool QProcess::launch ( const QString & buf, QStringList * env = 0 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The data \fIbuf\fR is written to standard input with writeToStdin() using the QString::local8Bit() representation of the strings.
+.SH "void QProcess::launchFinished ()\fC [signal]\fR"
+This signal is emitted when the process was started with launch(). If the start was successful, this signal is emitted after all the data has been written to standard input. If the start failed, then this signal is emitted immediately.
+.PP
+This signal is especially useful if you want to know when you can safely delete the QProcess object when you are not interested in reading from standard output or standard error.
+.PP
+See also launch() and QObject::deleteLater().
+.SH "bool QProcess::normalExit () const"
+Returns TRUE if the process has exited normally; otherwise returns FALSE. This implies that this function returns FALSE if the process is still running.
+.PP
+See also isRunning(), exitStatus(), and processExited().
+.SH "void QProcess::processExited ()\fC [signal]\fR"
+This signal is emitted when the process has exited.
+.PP
+See also isRunning(), normalExit(), exitStatus(), start(), and launch().
+.PP
+Example: process/process.cpp.
+.SH "PID QProcess::processIdentifier ()"
+Returns platform dependent information about the process. This can be used together with platform specific system calls.
+.PP
+Under Unix the return value is the PID of the process, or -1 if no process belongs to this object.
+.PP
+Under Windows it is a pointer to the \fCPROCESS_INFORMATION\fR struct, or 0 if no process is belongs to this object.
+.PP
+Use of this function's return value is likely to be non-portable.
+.SH "QString QProcess::readLineStderr ()\fC [virtual]\fR"
+Reads a line of text from standard error, excluding any trailing newline or carriage return characters and returns it. Returns QString::null if canReadLineStderr() returns FALSE.
+.PP
+By default, the text is interpreted to be in Latin-1 encoding. If you need other codecs, you can set a different codec with QTextCodec::setCodecForCStrings().
+.PP
+See also canReadLineStderr(), readyReadStderr(), readStderr(), and readLineStdout().
+.SH "QString QProcess::readLineStdout ()\fC [virtual]\fR"
+Reads a line of text from standard output, excluding any trailing newline or carriage return characters, and returns it. Returns QString::null if canReadLineStdout() returns FALSE.
+.PP
+By default, the text is interpreted to be in Latin-1 encoding. If you need other codecs, you can set a different codec with QTextCodec::setCodecForCStrings().
+.PP
+See also canReadLineStdout(), readyReadStdout(), readStdout(), and readLineStderr().
+.SH "QByteArray QProcess::readStderr ()\fC [virtual]\fR"
+Reads the data that the process has written to standard error. When new data is written to standard error, the class emits the signal readyReadStderr().
+.PP
+If there is no data to read, this function returns a QByteArray of size 0: it does not wait until there is something to read.
+.PP
+See also readyReadStderr(), readLineStderr(), readStdout(), and writeToStdin().
+.SH "QByteArray QProcess::readStdout ()\fC [virtual]\fR"
+Reads the data that the process has written to standard output. When new data is written to standard output, the class emits the signal readyReadStdout().
+.PP
+If there is no data to read, this function returns a QByteArray of size 0: it does not wait until there is something to read.
+.PP
+See also readyReadStdout(), readLineStdout(), readStderr(), and writeToStdin().
+.PP
+Example: process/process.cpp.
+.SH "void QProcess::readyReadStderr ()\fC [signal]\fR"
+This signal is emitted when the process has written data to standard error. You can read the data with readStderr().
+.PP
+Note that this signal is only emitted when there is new data and not when there is old, but unread data. In the slot connected to this signal, you should always read everything that is available at that moment to make sure that you don't lose any data.
+.PP
+See also readStderr(), readLineStderr(), and readyReadStdout().
+.SH "void QProcess::readyReadStdout ()\fC [signal]\fR"
+This signal is emitted when the process has written data to standard output. You can read the data with readStdout().
+.PP
+Note that this signal is only emitted when there is new data and not when there is old, but unread data. In the slot connected to this signal, you should always read everything that is available at that moment to make sure that you don't lose any data.
+.PP
+See also readStdout(), readLineStdout(), and readyReadStderr().
+.PP
+Example: process/process.cpp.
+.SH "void QProcess::setArguments ( const QStringList & args )\fC [virtual]\fR"
+Sets \fIargs\fR as the arguments for the process. The first element in the list is the command to be executed. The other elements in the list are the arguments to the command. Any previous arguments are deleted.
+.PP
+QProcess does not perform argument substitutions; for example, if you specify "*" or "$DISPLAY", these values are passed to the process literally. If you want to have the same behavior as the shell provides, you must do the substitutions yourself; i.e. instead of specifying a "*" you must specify the list of all the filenames in the current directory, and instead of "$DISPLAY" you must specify the value of the environment variable \fCDISPLAY\fR.
+.PP
+Note for Windows users. The standard Windows shells, e.g. \fCcommand.com\fR and \fCcmd.exe\fR, do not perform file globbing, i.e. they do not convert a "*" on the command line into a list of files in the current directory. For this reason most Windows applications implement their own file globbing, and as a result of this, specifying an argument of "*" for a Windows application is likely to result in the application performing a file glob and ending up with a list of filenames.
+.PP
+See also arguments() and addArgument().
+.SH "void QProcess::setCommunication ( int commFlags )"
+Sets \fIcommFlags\fR as the communication required with the process.
+.PP
+\fIcommFlags\fR is a bitwise OR of the flags defined by the Communication enum.
+.PP
+The default is \fCStdin|Stdout|Stderr\fR.
+.PP
+See also communication().
+.SH "void QProcess::setWorkingDirectory ( const QDir & dir )\fC [virtual]\fR"
+Sets \fIdir\fR as the working directory for processes. This does not affect running processes; only processes that are started afterwards are affected.
+.PP
+Setting the working directory is especially useful for processes that try to access files with relative paths.
+.PP
+See also workingDirectory() and start().
+.SH "bool QProcess::start ( QStringList * env = 0 )\fC [virtual]\fR"
+Tries to run a process for the command and arguments that were specified with setArguments(), addArgument() or that were specified in the constructor. The command is searched for in the path for executable programs; you can also use an absolute path in the command itself.
+.PP
+If \fIenv\fR is null, then the process is started with the same environment as the starting process. If \fIenv\fR is non-null, then the values in the stringlist are interpreted as environment setttings of the form \fCkey=value\fR and the process is started in these environment settings. For convenience, there is a small exception to this rule: under Unix, if \fIenv\fR does not contain any settings for the environment variable \fCLD_LIBRARY_PATH\fR, then this variable is inherited from the starting process; under Windows the same applies for the environment variable \fCPATH\fR.
+.PP
+Returns TRUE if the process could be started; otherwise returns FALSE.
+.PP
+You can write data to the process's standard input with writeToStdin(). You can close standard input with closeStdin() and you can terminate the process with tryTerminate(), or with kill().
+.PP
+You can call this function even if you've used this instance to create a another process which is still running. In such cases, QProcess closes the old process's standard input and deletes pending data, i.e., you lose all control over the old process, but the old process is not terminated. This applies also if the process could not be started. (On operating systems that have zombie processes, Qt will also wait() on the old process.)
+.PP
+See also launch() and closeStdin().
+.PP
+Example: process/process.cpp.
+.SH "void QProcess::tryTerminate () const\fC [slot]\fR"
+Asks the process to terminate. Processes can ignore this if they wish. If you want to be certain that the process really terminates, you can use kill() instead.
+.PP
+The slot returns immediately: it does not wait until the process has finished. When the process terminates, the processExited() signal is emitted.
+.PP
+See also kill() and processExited().
+.SH "QDir QProcess::workingDirectory () const"
+Returns the working directory that was set with setWorkingDirectory(), or the current directory if none has been explicitly set.
+.PP
+See also setWorkingDirectory() and QDir::current().
+.SH "void QProcess::writeToStdin ( const QByteArray & buf )\fC [virtual slot]\fR"
+Writes the data \fIbuf\fR to the process's standard input. The process may or may not read this data.
+.PP
+This function always returns immediately. The data you pass to writeToStdin() is copied into an internal memory buffer in QProcess, and when control goes back to the event loop, QProcess will starting transferring data from this buffer to the running process. Sometimes the data will be transferred in several payloads, depending on how much data is read at a time by the process itself. When QProcess has transferred all the data from its memory buffer to the running process, it emits wroteToStdin().
+.PP
+Note that some operating systems use a buffer to transfer the data. As a result, wroteToStdin() may be emitted before the running process has actually read all the data.
+.PP
+See also wroteToStdin(), closeStdin(), readStdout(), and readStderr().
+.SH "void QProcess::writeToStdin ( const QString & buf )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The string \fIbuf\fR is handled as text using the QString::local8Bit() representation.
+.SH "void QProcess::wroteToStdin ()\fC [signal]\fR"
+This signal is emitted if the data sent to standard input (via writeToStdin()) was actually written to the process. This does not imply that the process really read the data, since this class only detects when it was able to write the data to the operating system. But it is now safe to close standard input without losing pending data.
+.PP
+See also writeToStdin() and closeStdin().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qprocess.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qprocess.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qprogressbar.3qt b/doc/man/man3/qprogressbar.3qt
new file mode 100644
index 0000000..727586c
--- /dev/null
+++ b/doc/man/man3/qprogressbar.3qt
@@ -0,0 +1,238 @@
+'\" t
+.TH QProgressBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QProgressBar \- Horizontal progress bar
+.SH SYNOPSIS
+\fC#include <qprogressbar.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQProgressBar\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQProgressBar\fR ( int totalSteps, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "int \fBtotalSteps\fR () const"
+.br
+.ti -1c
+.BI "int \fBprogress\fR () const"
+.br
+.ti -1c
+.BI "const QString & \fBprogressString\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCenterIndicator\fR ( bool on )"
+.br
+.ti -1c
+.BI "bool \fBcenterIndicator\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIndicatorFollowsStyle\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBindicatorFollowsStyle\fR () const"
+.br
+.ti -1c
+.BI "bool \fBpercentageVisible\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPercentageVisible\fR ( bool )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetTotalSteps\fR ( int totalSteps )"
+.br
+.ti -1c
+.BI "virtual void \fBsetProgress\fR ( int progress )"
+.br
+.ti -1c
+.BI "void \fBsetProgress\fR ( int progress, int totalSteps )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBcenterIndicator\fR - whether the indicator string should be centered"
+.br
+.ti -1c
+.BI "bool \fBindicatorFollowsStyle\fR - whether the display of the indicator string should follow the GUI style"
+.br
+.ti -1c
+.BI "bool \fBpercentageVisible\fR - whether the current progress value is displayed"
+.br
+.ti -1c
+.BI "int \fBprogress\fR - the current amount of progress"
+.br
+.ti -1c
+.BI "QString \fBprogressString\fR - the amount of progress as a string \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBtotalSteps\fR - the total number of steps"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBsetIndicator\fR ( QString & indicator, int progress, int totalSteps )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QProgressBar widget provides a horizontal progress bar.
+.PP
+A progress bar is used to give the user an indication of the progress of an operation and to reassure them that the application is still running.
+.PP
+The progress bar uses the concept of \fIsteps\fR; you give it the total number of steps and the number of steps completed so far and it will display the percentage of steps that have been completed. You can specify the total number of steps in the constructor or later with setTotalSteps(). The current number of steps is set with setProgress(). The progress bar can be rewound to the beginning with reset().
+.PP
+If the total is given as 0 the progress bar shows a busy indicator instead of a percentage of steps. This is useful, for example, when using QFtp or QHttp to download items when they are unable to determine the size of the item being downloaded.
+.PP
+See also QProgressDialog, GUI Design Handbook: Progress Indicator, and Advanced Widgets.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QProgressDialog, GUI Design Handbook: Progress Indicator, and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QProgressBar::QProgressBar ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a progress bar.
+.PP
+The total number of steps is set to 100 by default.
+.PP
+The \fIparent\fR, \fIname\fR and widget flags, \fIf\fR, are passed on to the QFrame::QFrame() constructor.
+.PP
+See also totalSteps.
+.SH "QProgressBar::QProgressBar ( int totalSteps, QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a progress bar.
+.PP
+The \fItotalSteps\fR is the total number of steps that need to be completed for the operation which this progress bar represents. For example, if the operation is to examine 50 files, this value would be 50. Before examining the first file, call setProgress(0); call setProgress(50) after examining the last file.
+.PP
+The \fIparent\fR, \fIname\fR and widget flags, \fIf\fR, are passed to the QFrame::QFrame() constructor.
+.PP
+See also totalSteps and progress.
+.SH "bool QProgressBar::centerIndicator () const"
+Returns TRUE if the indicator string should be centered; otherwise returns FALSE. See the "centerIndicator" property for details.
+.SH "bool QProgressBar::indicatorFollowsStyle () const"
+Returns TRUE if the display of the indicator string should follow the GUI style; otherwise returns FALSE. See the "indicatorFollowsStyle" property for details.
+.SH "bool QProgressBar::percentageVisible () const"
+Returns TRUE if the current progress value is displayed; otherwise returns FALSE. See the "percentageVisible" property for details.
+.SH "int QProgressBar::progress () const"
+Returns the current amount of progress. See the "progress" property for details.
+.SH "const QString & QProgressBar::progressString () const"
+Returns the amount of progress as a string. See the "progressString" property for details.
+.SH "void QProgressBar::reset ()\fC [slot]\fR"
+Reset the progress bar. The progress bar "rewinds" and shows no progress.
+.PP
+Examples:
+.)l fileiconview/mainwindow.cpp and progressbar/progressbar.cpp.
+.SH "void QProgressBar::setCenterIndicator ( bool on )"
+Sets whether the indicator string should be centered to \fIon\fR. See the "centerIndicator" property for details.
+.SH "bool QProgressBar::setIndicator ( QString & indicator, int progress, int totalSteps )\fC [virtual protected]\fR"
+This method is called to generate the text displayed in the center (or in some styles, to the left) of the progress bar.
+.PP
+The \fIprogress\fR may be negative, indicating that the progress bar is in the "reset" state before any progress is set.
+.PP
+The default implementation is the percentage of completion or blank in the reset state. The percentage is calculated based on the \fIprogress\fR and \fItotalSteps\fR. You can set the \fIindicator\fR text if you wish.
+.PP
+To allow efficient repainting of the progress bar, this method should return FALSE if the string is unchanged from the last call to this function.
+.SH "void QProgressBar::setIndicatorFollowsStyle ( bool )"
+Sets whether the display of the indicator string should follow the GUI style. See the "indicatorFollowsStyle" property for details.
+.SH "void QProgressBar::setPercentageVisible ( bool )"
+Sets whether the current progress value is displayed. See the "percentageVisible" property for details.
+.SH "void QProgressBar::setProgress ( int progress )\fC [virtual slot]\fR"
+Sets the current amount of progress to \fIprogress\fR. See the "progress" property for details.
+.SH "void QProgressBar::setProgress ( int progress, int totalSteps )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the amount of progress to \fIprogress\fR and the total number of steps to \fItotalSteps\fR.
+.PP
+See also totalSteps.
+.SH "void QProgressBar::setTotalSteps ( int totalSteps )\fC [virtual slot]\fR"
+Sets the total number of steps to \fItotalSteps\fR. See the "totalSteps" property for details.
+.SH "int QProgressBar::totalSteps () const"
+Returns the total number of steps. See the "totalSteps" property for details.
+.SS "Property Documentation"
+.SH "bool centerIndicator"
+This property holds whether the indicator string should be centered.
+.PP
+Changing this property sets QProgressBar::indicatorFollowsStyle to FALSE. The default is TRUE.
+.PP
+Set this property's value with setCenterIndicator() and get this property's value with centerIndicator().
+.SH "bool indicatorFollowsStyle"
+This property holds whether the display of the indicator string should follow the GUI style.
+.PP
+The default is TRUE.
+.PP
+See also centerIndicator.
+.PP
+Set this property's value with setIndicatorFollowsStyle() and get this property's value with indicatorFollowsStyle().
+.SH "bool percentageVisible"
+This property holds whether the current progress value is displayed.
+.PP
+The default is TRUE.
+.PP
+See also centerIndicator and indicatorFollowsStyle.
+.PP
+Set this property's value with setPercentageVisible() and get this property's value with percentageVisible().
+.SH "int progress"
+This property holds the current amount of progress.
+.PP
+This property is -1 if progress counting has not started.
+.PP
+Set this property's value with setProgress() and get this property's value with progress().
+.SH "QString progressString"
+This property holds the amount of progress as a string.
+.PP
+This property is QString::null if progress counting has not started.
+.PP
+Get this property's value with progressString().
+.SH "int totalSteps"
+This property holds the total number of steps.
+.PP
+If totalSteps is 0, the progress bar will display a busy indicator.
+.PP
+See also
+.PP
+Set this property's value with setTotalSteps() and get this property's value with totalSteps().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qprogressbar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qprogressbar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qprogressdialog.3qt b/doc/man/man3/qprogressdialog.3qt
new file mode 100644
index 0000000..7f281ec
--- /dev/null
+++ b/doc/man/man3/qprogressdialog.3qt
@@ -0,0 +1,430 @@
+'\" t
+.TH QProgressDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QProgressDialog \- Feedback on the progress of a slow operation
+.SH SYNOPSIS
+\fC#include <qprogressdialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQProgressDialog\fR ( QWidget * creator = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQProgressDialog\fR ( const QString & labelText, const QString & cancelButtonText, int totalSteps, QWidget * creator = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QProgressDialog\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetLabel\fR ( QLabel * label )"
+.br
+.ti -1c
+.BI "void \fBsetCancelButton\fR ( QPushButton * cancelButton )"
+.br
+.ti -1c
+.BI "void \fBsetBar\fR ( QProgressBar * bar )"
+.br
+.ti -1c
+.BI "bool wasCancelled () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBwasCanceled\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotalSteps\fR () const"
+.br
+.ti -1c
+.BI "int \fBprogress\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlabelText\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoReset\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBautoReset\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoClose\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBautoClose\fR () const"
+.br
+.ti -1c
+.BI "int \fBminimumDuration\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBcancel\fR ()"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetTotalSteps\fR ( int totalSteps )"
+.br
+.ti -1c
+.BI "void \fBsetProgress\fR ( int progress )"
+.br
+.ti -1c
+.BI "void \fBsetProgress\fR ( int progress, int totalSteps )"
+.br
+.ti -1c
+.BI "void \fBsetLabelText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBsetCancelButtonText\fR ( const QString & cancelButtonText )"
+.br
+.ti -1c
+.BI "void \fBsetMinimumDuration\fR ( int ms )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void cancelled () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBcanceled\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoClose\fR - whether the dialog gets hidden by reset()"
+.br
+.ti -1c
+.BI "bool \fBautoReset\fR - whether the progress dialog calls reset() as soon as progress() equals totalSteps()"
+.br
+.ti -1c
+.BI "QString \fBlabelText\fR - the label's text"
+.br
+.ti -1c
+.BI "int \fBminimumDuration\fR - the time that must pass before the dialog appears"
+.br
+.ti -1c
+.BI "int \fBprogress\fR - the current amount of progress made"
+.br
+.ti -1c
+.BI "int \fBtotalSteps\fR - the total number of steps"
+.br
+.ti -1c
+.BI "bool \fBwasCanceled\fR - whether the dialog was canceled \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool wasCancelled - whether the dialog was canceled \fI(read " "only" ")\fR \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "void \fBforceShow\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QProgressDialog class provides feedback on the progress of a slow operation.
+.PP
+A progress dialog is used to give the user an indication of how long an operation is going to take, and to demonstrate that the application has not frozen. It can also give the user an opportunity to abort the operation.
+.PP
+A common problem with progress dialogs is that it is difficult to know when to use them; operations take different amounts of time on different hardware. QProgressDialog offers a solution to this problem: it estimates the time the operation will take (based on time for steps), and only shows itself if that estimate is beyond minimumDuration() (4 seconds by default).
+.PP
+Use setTotalSteps() (or the constructor) to set the number of" steps" in the operation and call setProgress() as the operation progresses. The step value can be chosen arbitrarily. It can be the number of files copied, the number of bytes received, the number of iterations through the main loop of your algorithm, or some other suitable unit. Progress starts at 0, and the progress dialog shows that the operation has finished when you call setProgress() with totalSteps() as its argument.
+.PP
+The dialog automatically resets and hides itself at the end of the operation. Use setAutoReset() and setAutoClose() to change this behavior.
+.PP
+There are two ways of using QProgressDialog: modal and modeless.
+.PP
+Using a modal QProgressDialog is simpler for the programmer, but you must call QApplication::processEvents() or QEventLoop::processEvents(ExcludeUserInput) to keep the event loop running to ensure that the application doesn't freeze. Do the operation in a loop, call setProgress() at intervals, and check for cancellation with wasCanceled(). For example:
+.PP
+.nf
+.br
+QProgressDialog progress( "Copying files...", "Abort Copy", numFiles,
+.br
+ this, "progress", TRUE );
+.br
+for ( int i = 0; i < numFiles; i++ ) {
+.br
+ progress.setProgress( i );
+.br
+ qApp->processEvents();
+.br
+.br
+ if ( progress.wasCanceled() )
+.br
+ break;
+.br
+ //... copy one file
+.br
+}
+.br
+progress.setProgress( numFiles );
+.fi
+.PP
+A modeless progress dialog is suitable for operations that take place in the background, where the user is able to interact with the application. Such operations are typically based on QTimer (or QObject::timerEvent()), QSocketNotifier, or QUrlOperator; or performed in a separate thread. A QProgressBar in the status bar of your main window is often an alternative to a modeless progress dialog.
+.PP
+You need to have an event loop to be running, connect the canceled() signal to a slot that stops the operation, and call setProgress() at intervals. For example:
+.PP
+.nf
+.br
+Operation::Operation( QObject *parent = 0 )
+.br
+ : QObject( parent ), steps( 0 )
+.br
+{
+.br
+ pd = new QProgressDialog( "Operation in progress.", "Cancel", 100 );
+.br
+ connect( pd, SIGNAL(canceled()), this, SLOT(cancel()) );
+.br
+ t = new QTimer( this );
+.br
+ connect( t, SIGNAL(timeout()), this, SLOT(perform()) );
+.br
+ t->start( 0 );
+.br
+}
+.br
+.br
+void Operation::perform()
+.br
+{
+.br
+ pd->setProgress( steps );
+.br
+ //... perform one percent of the operation
+.br
+ steps++;
+.br
+ if ( steps > pd->totalSteps() )
+.br
+ t->stop();
+.br
+}
+.br
+.br
+void Operation::cancel()
+.br
+{
+.br
+ t->stop();
+.br
+ //... cleanup
+.br
+}
+.fi
+.PP
+In both modes the progress dialog may be customized by replacing the child widgets with custom widgets by using setLabel(), setBar(), and setCancelButton(). The functions setLabelText() and setCancelButtonText() set the texts shown.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QDialog, QProgressBar, GUI Design Handbook: Progress Indicator, and Dialog Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QProgressDialog::QProgressDialog ( QWidget * creator = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+Constructs a progress dialog.
+.PP
+Default settings:
+.TP
+The label text is empty.
+.TP
+The cancel button text is (translated) "Cancel".
+.TP
+The total number of steps is 100.
+.PP
+The \fIcreator\fR argument is the widget to use as the dialog's parent. The \fIname\fR, \fImodal\fR, and the widget flags, \fIf\fR, are passed to the QDialog::QDialog() constructor. If \fImodal\fR is FALSE (the default), you must have an event loop proceeding for any redrawing of the dialog to occur. If \fImodal\fR is TRUE, the dialog ensures that events are processed when needed.
+.PP
+See also labelText, setLabel(), setCancelButtonText(), setCancelButton(), and totalSteps.
+.SH "QProgressDialog::QProgressDialog ( const QString & labelText, const QString & cancelButtonText, int totalSteps, QWidget * creator = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+Constructs a progress dialog.
+.PP
+The \fIlabelText\fR is text used to remind the user what is progressing.
+.PP
+The \fIcancelButtonText\fR is the text to display on the cancel button, or 0 if no cancel button is to be shown.
+.PP
+The \fItotalSteps\fR is the total number of steps in the operation for which this progress dialog shows progress. For example, if the operation is to examine 50 files, this value would be 50. Before examining the first file, call setProgress(0). As each file is processed call setProgress(1), setProgress(2), etc., finally calling setProgress(50) after examining the last file.
+.PP
+The \fIcreator\fR argument is the widget to use as the dialog's parent. The \fIname\fR, \fImodal\fR, and widget flags, \fIf\fR, are passed to the QDialog::QDialog() constructor. If \fImodal\fR is FALSE (the default), you will must have an event loop proceeding for any redrawing of the dialog to occur. If \fImodal\fR is TRUE, the dialog ensures that events are processed when needed.
+.PP
+See also labelText, setLabel(), setCancelButtonText(), setCancelButton(), and totalSteps.
+.SH "QProgressDialog::~QProgressDialog ()"
+Destroys the progress dialog.
+.SH "bool QProgressDialog::autoClose () const"
+Returns TRUE if the dialog gets hidden by reset(); otherwise returns FALSE. See the "autoClose" property for details.
+.SH "bool QProgressDialog::autoReset () const"
+Returns TRUE if the progress dialog calls reset() as soon as progress() equals totalSteps(); otherwise returns FALSE. See the "autoReset" property for details.
+.SH "void QProgressDialog::cancel ()\fC [slot]\fR"
+Resets the progress dialog. wasCanceled() becomes TRUE until the progress dialog is reset. The progress dialog becomes hidden.
+.SH "void QProgressDialog::canceled ()\fC [signal]\fR"
+This signal is emitted when the cancel button is clicked. It is connected to the cancel() slot by default.
+.PP
+See also wasCanceled.
+.SH "void QProgressDialog::cancelled ()\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use canceled() instead.
+.PP
+Examples:
+.)l network/ftpclient/ftpmainwindow.ui.h and progress/progress.cpp.
+.SH "void QProgressDialog::forceShow ()\fC [protected slot]\fR"
+Shows the dialog if it is still hidden after the algorithm has been started and minimumDuration milliseconds have passed.
+.PP
+See also minimumDuration.
+.SH "QString QProgressDialog::labelText () const"
+Returns the label's text. See the "labelText" property for details.
+.SH "int QProgressDialog::minimumDuration () const"
+Returns the time that must pass before the dialog appears. See the "minimumDuration" property for details.
+.SH "int QProgressDialog::progress () const"
+Returns the current amount of progress made. See the "progress" property for details.
+.SH "void QProgressDialog::reset ()\fC [slot]\fR"
+Resets the progress dialog. The progress dialog becomes hidden if autoClose() is TRUE.
+.PP
+See also autoClose and autoReset.
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "void QProgressDialog::setAutoClose ( bool b )"
+Sets whether the dialog gets hidden by reset() to \fIb\fR. See the "autoClose" property for details.
+.SH "void QProgressDialog::setAutoReset ( bool b )"
+Sets whether the progress dialog calls reset() as soon as progress() equals totalSteps() to \fIb\fR. See the "autoReset" property for details.
+.SH "void QProgressDialog::setBar ( QProgressBar * bar )"
+Sets the progress bar widget to \fIbar\fR. The progress dialog resizes to fit. The progress dialog takes ownership of the progress \fIbar\fR which will be deleted when necessary, so do not use a progress bar allocated on the stack.
+.SH "void QProgressDialog::setCancelButton ( QPushButton * cancelButton )"
+Sets the cancel button to the push button, \fIcancelButton\fR. The progress dialog takes ownership of this button which will be deleted when necessary, so do not pass the address of an object that is on the stack, i.e. use new() to create the button.
+.PP
+See also setCancelButtonText().
+.SH "void QProgressDialog::setCancelButtonText ( const QString & cancelButtonText )\fC [slot]\fR"
+Sets the cancel button's text to \fIcancelButtonText\fR.
+.PP
+See also setCancelButton().
+.SH "void QProgressDialog::setLabel ( QLabel * label )"
+Sets the label to \fIlabel\fR. The progress dialog resizes to fit. The label becomes owned by the progress dialog and will be deleted when necessary, so do not pass the address of an object on the stack.
+.PP
+See also labelText.
+.PP
+Example: progress/progress.cpp.
+.SH "void QProgressDialog::setLabelText ( const QString & )\fC [slot]\fR"
+Sets the label's text. See the "labelText" property for details.
+.SH "void QProgressDialog::setMinimumDuration ( int ms )\fC [slot]\fR"
+Sets the time that must pass before the dialog appears to \fIms\fR. See the "minimumDuration" property for details.
+.SH "void QProgressDialog::setProgress ( int progress )\fC [slot]\fR"
+Sets the current amount of progress made to \fIprogress\fR. See the "progress" property for details.
+.SH "void QProgressDialog::setProgress ( int progress, int totalSteps )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the current amount of progress to \fIprogress\fR and the total number of steps to \fItotalSteps\fR.
+.PP
+See also totalSteps.
+.SH "void QProgressDialog::setTotalSteps ( int totalSteps )\fC [slot]\fR"
+Sets the total number of steps to \fItotalSteps\fR. See the "totalSteps" property for details.
+.SH "QSize QProgressDialog::sizeHint () const\fC [virtual]\fR"
+Returns a size that fits the contents of the progress dialog. The progress dialog resizes itself as required, so you should not need to call this yourself.
+.SH "int QProgressDialog::totalSteps () const"
+Returns the total number of steps. See the "totalSteps" property for details.
+.SH "bool QProgressDialog::wasCanceled () const"
+Returns TRUE if the dialog was canceled; otherwise returns FALSE. See the "wasCanceled" property for details.
+.SH "bool QProgressDialog::wasCancelled () const"
+Returns TRUE if the dialog was canceled; otherwise returns FALSE. See the "wasCancelled" property for details.
+.SS "Property Documentation"
+.SH "bool autoClose"
+This property holds whether the dialog gets hidden by reset().
+.PP
+The default is TRUE.
+.PP
+See also autoReset.
+.PP
+Set this property's value with setAutoClose() and get this property's value with autoClose().
+.SH "bool autoReset"
+This property holds whether the progress dialog calls reset() as soon as progress() equals totalSteps().
+.PP
+The default is TRUE.
+.PP
+See also autoClose.
+.PP
+Set this property's value with setAutoReset() and get this property's value with autoReset().
+.SH "QString labelText"
+This property holds the label's text.
+.PP
+The default text is QString::null.
+.PP
+Set this property's value with setLabelText() and get this property's value with labelText().
+.SH "int minimumDuration"
+This property holds the time that must pass before the dialog appears.
+.PP
+If the expected duration of the task is less than the minimumDuration, the dialog will not appear at all. This prevents the dialog popping up for tasks that are quickly over. For tasks that are expected to exceed the minimumDuration, the dialog will pop up after the minimumDuration time or as soon as any progress is set.
+.PP
+If set to 0, the dialog is always shown as soon as any progress is set. The default is 4000 milliseconds.
+.PP
+Set this property's value with setMinimumDuration() and get this property's value with minimumDuration().
+.SH "int progress"
+This property holds the current amount of progress made.
+.PP
+For the progress dialog to work as expected, you should initially set this property to 0 and finally set it to QProgressDialog::totalSteps(); you can call setProgress() any number of times in-between.
+.PP
+\fBWarning:\fR If the progress dialog is modal (see QProgressDialog::QProgressDialog()), this function calls QApplication::processEvents(), so take care that this does not cause undesirable re-entrancy in your code. For example, don't use a QProgressDialog inside a paintEvent()!
+.PP
+See also totalSteps.
+.PP
+Set this property's value with setProgress() and get this property's value with progress().
+.SH "int totalSteps"
+This property holds the total number of steps.
+.PP
+The default is 0.
+.PP
+Set this property's value with setTotalSteps() and get this property's value with totalSteps().
+.SH "bool wasCanceled"
+This property holds whether the dialog was canceled.
+.PP
+Get this property's value with wasCanceled().
+.PP
+See also progress.
+.SH "bool wasCancelled"
+This property holds whether the dialog was canceled.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use wasCanceled instead.
+.PP
+Get this property's value with wasCancelled().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qprogressdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qprogressdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrcollection.3qt b/doc/man/man3/qptrcollection.3qt
new file mode 100644
index 0000000..4ba1eba
--- /dev/null
+++ b/doc/man/man3/qptrcollection.3qt
@@ -0,0 +1,145 @@
+'\" t
+.TH QPtrCollection 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrCollection \- The base class of most pointer-based Qt collections
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qptrcollection.h>\fR
+.PP
+Inherited by QAsciiCache, QAsciiDict, QCache, QDict, QIntCache, QIntDict, QPtrList, QPtrDict, and QPtrVector.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR () = 0"
+.br
+.ti -1c
+.BI "typedef void * \fBItem\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrCollection\fR ()"
+.br
+.ti -1c
+.BI "\fBQPtrCollection\fR ( const QPtrCollection & source )"
+.br
+.ti -1c
+.BI "virtual \fB~QPtrCollection\fR ()"
+.br
+.ti -1c
+.BI "virtual Item \fBnewItem\fR ( Item d )"
+.br
+.ti -1c
+.BI "virtual void \fBdeleteItem\fR ( Item d ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrCollection class is the base class of most pointer-based Qt collections.
+.PP
+The QPtrCollection class is an abstract base class for the Qt collection classes QDict, QPtrList, etc. Qt also includes value based collections, e.g. QValueList, QMap, etc.
+.PP
+A QPtrCollection only knows about the number of objects in the collection and the deletion strategy (see setAutoDelete()).
+.PP
+A collection is implemented using the Item (generic collection item) type, which is a \fCvoid*\fR. The template classes that create the real collections cast the Item to the required type.
+.PP
+See also Collection Classes and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QPtrCollection::Item"
+This type is the generic "item" in a QPtrCollection.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrCollection::QPtrCollection ()\fC [protected]\fR"
+Constructs a collection. The constructor is protected because QPtrCollection is an abstract class.
+.SH "QPtrCollection::QPtrCollection ( const QPtrCollection & source )\fC [protected]\fR"
+Constructs a copy of \fIsource\fR with autoDelete() set to FALSE. The constructor is protected because QPtrCollection is an abstract class.
+.PP
+Note that if \fIsource\fR has autoDelete turned on, copying it will risk memory leaks, reading freed memory, or both.
+.SH "QPtrCollection::~QPtrCollection ()\fC [virtual protected]\fR"
+Destroys the collection. The destructor is protected because QPtrCollection is an abstract class.
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QPtrCollection::clear ()\fC [pure virtual]\fR"
+Removes all objects from the collection. The objects will be deleted if auto-delete has been enabled.
+.PP
+See also setAutoDelete().
+.PP
+Reimplemented in QAsciiCache, QAsciiDict, QCache, QDict, QIntCache, QIntDict, QPtrList, QPtrDict, and QPtrVector.
+.SH "uint QPtrCollection::count () const\fC [pure virtual]\fR"
+Returns the number of objects in the collection.
+.PP
+Reimplemented in QAsciiCache, QAsciiDict, QCache, QDict, QIntCache, QIntDict, QPtrList, QPtrDict, and QPtrVector.
+.SH "void QPtrCollection::deleteItem ( Item d )\fC [pure virtual protected]\fR"
+Reimplement this function if you want to be able to delete items.
+.PP
+Deletes an item that is about to be removed from the collection.
+.PP
+This function has to reimplemented in the collection template classes, and should \fIonly\fR delete item \fId\fR if auto-delete has been enabled.
+.PP
+\fBWarning:\fR If you reimplement this function you must also reimplement the destructor and call the virtual function clear() from your destructor. This is due to the way virtual functions and destructors work in C++: Virtual functions in derived classes cannot be called from a destructor. If you do not do this, your deleteItem() function will not be called when the container is destroyed.
+.PP
+See also newItem() and setAutoDelete().
+.SH "Item QPtrCollection::newItem ( Item d )\fC [virtual protected]\fR"
+Virtual function that creates a copy of an object that is about to be inserted into the collection.
+.PP
+The default implementation returns the \fId\fR pointer, i.e. no copy is made.
+.PP
+This function is seldom reimplemented in the collection template classes. It is not common practice to make a copy of something that is being inserted.
+.PP
+See also deleteItem().
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrcollection.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrcollection.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrdict.3qt b/doc/man/man3/qptrdict.3qt
new file mode 100644
index 0000000..684e420
--- /dev/null
+++ b/doc/man/man3/qptrdict.3qt
@@ -0,0 +1,315 @@
+'\" t
+.TH QPtrDict 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrDict \- Template class that provides a dictionary based on void* keys
+.SH SYNOPSIS
+\fC#include <qptrdict.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrDict\fR ( int size = 17 )"
+.br
+.ti -1c
+.BI "\fBQPtrDict\fR ( const QPtrDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QPtrDict\fR ()"
+.br
+.ti -1c
+.BI "QPtrDict<type> & \fBoperator=\fR ( const QPtrDict<type> & dict )"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( void * key, const type * item )"
+.br
+.ti -1c
+.BI "void \fBreplace\fR ( void * key, const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( void * key )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( void * key )"
+.br
+.ti -1c
+.BI "type * \fBfind\fR ( void * key ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( void * key ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( uint newsize )"
+.br
+.ti -1c
+.BI "void \fBstatistics\fR () const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrDict class is a template class that provides a dictionary based on void* keys.
+.PP
+QPtrDict is implemented as a template class. Define a template instance QPtrDict<X> to create a dictionary that operates on pointers to X (X*).
+.PP
+A dictionary is a collection of key-value pairs. The key is a void* used for insertion, removal and lookup. The value is a pointer. Dictionaries provide very fast insertion and lookup.
+.PP
+Example:
+.PP
+.nf
+.br
+ QPtrDict<char> fields; // void* keys, char* values
+.br
+.br
+ QLineEdit *le1 = new QLineEdit( this );
+.br
+ le1->setText( "Simpson" );
+.br
+ QLineEdit *le2 = new QLineEdit( this );
+.br
+ le2->setText( "Homer" );
+.br
+ QLineEdit *le3 = new QLineEdit( this );
+.br
+ le3->setText( "45" );
+.br
+.br
+ fields.insert( le1, "Surname" );
+.br
+ fields.insert( le2, "Forename" );
+.br
+ fields.insert( le3, "Age" );
+.br
+.br
+ QPtrDictIterator<char> it( fields );
+.br
+ for( ; it.current(); ++it )
+.br
+ cout << it.current() << endl;
+.br
+ cout << endl;
+.br
+.br
+ if ( fields[le1] ) // Prints "Surname: Simpson"
+.br
+ cout << fields[le1] << ": " << le1->text() << endl;
+.br
+.br
+ if ( fields[le2] ) // Prints "Forename: Homer"
+.br
+ cout << fields[le2] << ": " << le2->text() << endl;
+.br
+.br
+.br
+ fields.remove( le1 ); // Removes le1 from the dictionary
+.br
+ cout << le1->text() << endl; // Prints "Simpson"
+.br
+.fi
+In this example we use a dictionary to add an extra property (a char*) to the line edits we're using.
+.PP
+See QDict for full details, including the choice of dictionary size, and how deletions are handled.
+.PP
+See also QPtrDictIterator, QDict, QAsciiDict, QIntDict, Collection Classes, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrDict::QPtrDict ( int size = 17 )"
+Constructs a dictionary using an internal hash array with the size \fIsize\fR.
+.PP
+Setting \fIsize\fR to a suitably large prime number (equal to or greater than the expected number of entries) makes the hash distribution better and improves lookup performance.
+.SH "QPtrDict::QPtrDict ( const QPtrDict<type> & dict )"
+Constructs a copy of \fIdict\fR.
+.PP
+Each item in \fIdict\fR is inserted into this dictionary. Only the pointers are copied (shallow copy).
+.SH "QPtrDict::~QPtrDict ()"
+Removes all items from the dictionary and destroys it.
+.PP
+All iterators that access this dictionary will be reset.
+.PP
+See also setAutoDelete().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QPtrDict::clear ()\fC [virtual]\fR"
+Removes all items from the dictionary.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that access this dictionary will be reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "uint QPtrDict::count () const\fC [virtual]\fR"
+Returns the number of items in the dictionary.
+.PP
+See also isEmpty().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QPtrDict::find ( void * key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to operator[].
+.PP
+See also operator[]().
+.SH "void QPtrDict::insert ( void * key, const type * item )"
+Inserts the \fIkey\fR with the \fIitem\fR into the dictionary.
+.PP
+Multiple items can have the same key, in which case only the last item will be accessible using operator[]().
+.PP
+\fIitem\fR may not be 0.
+.PP
+See also replace().
+.SH "bool QPtrDict::isEmpty () const"
+Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QPtrDict<type> & QPtrDict::operator= ( const QPtrDict<type> & dict )"
+Assigns \fIdict\fR to this dictionary and returns a reference to this dictionary.
+.PP
+This dictionary is first cleared and then each item in \fIdict\fR is inserted into the dictionary. Only the pointers are copied (shallow copy), unless newItem() has been reimplemented.
+.SH "type * QPtrDict::operator[] ( void * key ) const"
+Returns the item associated with \fIkey\fR, or 0 if the key does not exist in the dictionary.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be found.
+.PP
+Equivalent to the find() function.
+.PP
+See also find().
+.SH "QDataStream & QPtrDict::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a dictionary item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QPtrDict::remove ( void * key )"
+Removes the item associated with \fIkey\fR from the dictionary. Returns TRUE if successful, i.e. if \fIkey\fR is in the dictionary; otherwise returns FALSE.
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be removed.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+All dictionary iterators that refer to the removed item will be set to point to the next item in the dictionary traversal order.
+.PP
+See also take(), clear(), and setAutoDelete().
+.SH "void QPtrDict::replace ( void * key, const type * item )"
+If the dictionary has key \fIkey\fR, this key's item is replaced with \fIitem\fR. If the dictionary doesn't contain key \fIkey\fR, \fIitem\fR is inserted into the dictionary using key \fIkey\fR.
+.PP
+\fIitem\fR may not be 0.
+.PP
+Equivalent to
+.PP
+.nf
+.br
+ QPtrDict<ItemType> dict;
+.br
+ ...
+.br
+ if ( dict.find( key ) )
+.br
+ dict.remove( key );
+.br
+ dict.insert( key, item );
+.br
+.fi
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be replaced.
+.PP
+See also insert().
+.SH "void QPtrDict::resize ( uint newsize )"
+Changes the size of the hash table to \fInewsize\fR. The contents of the dictionary are preserved, but all iterators on the dictionary become invalid.
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QPtrDict::size () const"
+Returns the size of the internal hash table (as specified in the constructor).
+.PP
+See also count().
+.SH "void QPtrDict::statistics () const"
+Debugging-only function that prints out the dictionary distribution using qDebug().
+.SH "type * QPtrDict::take ( void * key )"
+Takes the item associated with \fIkey\fR out of the dictionary without deleting it (even if auto-deletion is enabled).
+.PP
+If there are two or more items with equal keys, then the most recently inserted item will be removed.
+.PP
+Returns a pointer to the item taken out, or 0 if the key does not exist in the dictionary.
+.PP
+All dictionary iterators that refer to the taken item will be set to point to the next item in the dictionary traversal order.
+.PP
+See also remove(), clear(), and setAutoDelete().
+.SH "QDataStream & QPtrDict::write ( QDataStream & s, QPtrCollection::Item ) const\fC [virtual protected]\fR"
+Writes a dictionary item to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrdict.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrdict.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrdictiterator.3qt b/doc/man/man3/qptrdictiterator.3qt
new file mode 100644
index 0000000..8502037
--- /dev/null
+++ b/doc/man/man3/qptrdictiterator.3qt
@@ -0,0 +1,168 @@
+'\" t
+.TH QPtrDictIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrDictIterator \- Iterator for QPtrDict collections
+.SH SYNOPSIS
+\fC#include <qptrdict.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrDictIterator\fR ( const QPtrDict<type> & dict )"
+.br
+.ti -1c
+.BI "\fB~QPtrDictIterator\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "void * \fBcurrentKey\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrDictIterator class provides an iterator for QPtrDict collections.
+.PP
+QPtrDictIterator is implemented as a template class. Define a template instance QPtrDictIterator<X> to create a dictionary iterator that operates on QPtrDict<X> (dictionary of X*).
+.PP
+Example:
+.PP
+.nf
+.br
+ QPtrDict<char> fields;
+.br
+.br
+ QLineEdit *le1 = new QLineEdit( this );
+.br
+ le1->setText( "Simpson" );
+.br
+ QLineEdit *le2 = new QLineEdit( this );
+.br
+ le2->setText( "Homer" );
+.br
+ QLineEdit *le3 = new QLineEdit( this );
+.br
+ le3->setText( "45" );
+.br
+.br
+ fields.insert( le1, "Surname" );
+.br
+ fields.insert( le2, "Forename" );
+.br
+ fields.insert( le3, "Age" );
+.br
+.br
+ QPtrDictIterator<char> it( fields );
+.br
+ for( ; it.current(); ++it ) {
+.br
+ QLineEdit *le = (QLineEdit)it.currentKey();
+.br
+ cout << it.current() << ": " << le->text() << endl;
+.br
+ }
+.br
+ cout << endl;
+.br
+.br
+ // Output (random order):
+.br
+ // Forename: Homer
+.br
+ // Age: 45
+.br
+ // Surname: Simpson
+.br
+.fi
+In the example we insert some line edits into a dictionary, associating a string with each. We then iterate over the dictionary printing the associated strings.
+.PP
+Multiple iterators may independently traverse the same dictionary. A QPtrDict knows about all the iterators that are operating on the dictionary. When an item is removed from the dictionary, QPtrDict updates all iterators that refer the removed item to point to the next item in the traversing order.
+.PP
+See also QPtrDict, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrDictIterator::QPtrDictIterator ( const QPtrDict<type> & dict )"
+Constructs an iterator for \fIdict\fR. The current iterator item is set to point on the first item in the \fIdict\fR.
+.SH "QPtrDictIterator::~QPtrDictIterator ()"
+Destroys the iterator.
+.SH "uint QPtrDictIterator::count () const"
+Returns the number of items in the dictionary this iterator operates on.
+.PP
+See also isEmpty().
+.SH "type * QPtrDictIterator::current () const"
+Returns a pointer to the current iterator item's value.
+.SH "void * QPtrDictIterator::currentKey () const"
+Returns the current iterator item's key.
+.SH "bool QPtrDictIterator::isEmpty () const"
+Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QPtrDictIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QPtrDictIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QPtrDictIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns the new current item.
+.PP
+If the current iterator item was the last item in the dictionary or if it was 0, 0 is returned.
+.SH "type * QPtrDictIterator::operator+= ( uint jump )"
+Sets the current item to the item \fIjump\fR positions after the current item and returns a pointer to that item.
+.PP
+If that item is beyond the last item or if the dictionary is empty, it sets the current item to 0 and returns 0.
+.SH "type * QPtrDictIterator::toFirst ()"
+Sets the current iterator item to point to the first item in the
+dictionary and returns a pointer to the item. If the dictionary is
+empty, it sets the current item to 0 and returns 0.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrdictiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrdictiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrlist.3qt b/doc/man/man3/qptrlist.3qt
new file mode 100644
index 0000000..e2d747e
--- /dev/null
+++ b/doc/man/man3/qptrlist.3qt
@@ -0,0 +1,718 @@
+'\" t
+.TH QPtrList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrList \- Template class that provides a list
+.SH SYNOPSIS
+\fC#include <qptrlist.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+Inherited by QObjectList, QSortedList, and QStrList.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrList\fR ()"
+.br
+.ti -1c
+.BI "\fBQPtrList\fR ( const QPtrList<type> & list )"
+.br
+.ti -1c
+.BI "\fB~QPtrList\fR ()"
+.br
+.ti -1c
+.BI "QPtrList<type> & \fBoperator=\fR ( const QPtrList<type> & list )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QPtrList<type> & list ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QPtrList<type> & list ) const"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBinsert\fR ( uint index, const type * item )"
+.br
+.ti -1c
+.BI "void \fBinSort\fR ( const type * item )"
+.br
+.ti -1c
+.BI "void \fBprepend\fR ( const type * item )"
+.br
+.ti -1c
+.BI "void \fBappend\fR ( const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( uint index )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ()"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( const type * item )"
+.br
+.ti -1c
+.BI "bool \fBremoveRef\fR ( const type * item )"
+.br
+.ti -1c
+.BI "void \fBremoveNode\fR ( QLNode * node )"
+.br
+.ti -1c
+.BI "bool \fBremoveFirst\fR ()"
+.br
+.ti -1c
+.BI "bool \fBremoveLast\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( uint index )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtakeNode\fR ( QLNode * node )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const type * item )"
+.br
+.ti -1c
+.BI "int \fBfindNext\fR ( const type * item )"
+.br
+.ti -1c
+.BI "int \fBfindRef\fR ( const type * item )"
+.br
+.ti -1c
+.BI "int \fBfindNextRef\fR ( const type * item )"
+.br
+.ti -1c
+.BI "uint \fBcontains\fR ( const type * item ) const"
+.br
+.ti -1c
+.BI "uint \fBcontainsRef\fR ( const type * item ) const"
+.br
+.ti -1c
+.BI "bool \fBreplace\fR ( uint index, const type * item )"
+.br
+.ti -1c
+.BI "type * \fBat\fR ( uint index )"
+.br
+.ti -1c
+.BI "int \fBat\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "QLNode * \fBcurrentNode\fR () const"
+.br
+.ti -1c
+.BI "type * \fBgetFirst\fR () const"
+.br
+.ti -1c
+.BI "type * \fBgetLast\fR () const"
+.br
+.ti -1c
+.BI "type * \fBfirst\fR ()"
+.br
+.ti -1c
+.BI "type * \fBlast\fR ()"
+.br
+.ti -1c
+.BI "type * \fBnext\fR ()"
+.br
+.ti -1c
+.BI "type * \fBprev\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoVector\fR ( QGVector * vec ) const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual int \fBcompareItems\fR ( QPtrCollection::Item item1, QPtrCollection::Item item2 )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrList class is a template class that provides a list.
+.PP
+QValueList is an STL-compatible alternative to this class.
+.PP
+Define a template instance QPtrList<X> to create a list that operates on pointers to X (X*).
+.PP
+The list class is indexable and has a current index and a current item. The first item corresponds to index position 0. The current index is -1 if the current item is 0.
+.PP
+Items are inserted with prepend(), insert() or append(). Items are removed with remove(), removeRef(), removeFirst() and removeLast(). You can search for an item using find(), findNext(), findRef() or findNextRef(). The list can be sorted with sort(). You can count the number of occurrences of an item with contains() or containsRef(). You can get a pointer to the current item with current(), to an item at a particular index position in the list with at() or to the first or last item with getFirst() and getLast(). You can also iterate over the list with first(), last(), next() and prev() (which all update current()). The list's deletion property is set with setAutoDelete().
+.PP
+Example:
+.PP
+.nf
+.br
+ class Employee
+.br
+ {
+.br
+ public:
+.br
+ Employee() : sn( 0 ) { }
+.br
+ Employee( const QString& forename, const QString& surname, int salary )
+.br
+ : fn( forename ), sn( surname ), sal( salary )
+.br
+ { }
+.br
+.br
+ void setSalary( int salary ) { sal = salary; }
+.br
+.br
+ QString forename() const { return fn; }
+.br
+ QString surname() const { return sn; }
+.br
+ int salary() const { return sal; }
+.br
+.br
+ private:
+.br
+ QString fn;
+.br
+ QString sn;
+.br
+ int sal;
+.br
+ };
+.br
+.br
+ QPtrList<Employee> list;
+.br
+ list.setAutoDelete( TRUE ); // the list owns the objects
+.br
+.br
+ list.append( new Employee("John", "Doe", 50000) );
+.br
+ list.append( new Employee("Jane", "Williams", 80000) );
+.br
+ list.append( new Employee("Tom", "Jones", 60000) );
+.br
+.br
+ Employee *employee;
+.br
+ for ( employee = list.first(); employee; employee = list.next() )
+.br
+ cout << employee->surname().latin1() << ", " <<
+.br
+ employee->forename().latin1() << " earns " <<
+.br
+ employee->salary() << endl;
+.br
+ cout << endl;
+.br
+.br
+ // very inefficient for big lists
+.br
+ for ( uint i = 0; i < list.count(); ++i )
+.br
+ if ( list.at(i) )
+.br
+ cout << list.at( i )->surname().latin1() << endl;
+.br
+.fi
+.PP
+The output is
+.PP
+.nf
+.br
+ Doe, John earns 50000
+.br
+ Williams, Jane earns 80000
+.br
+ Jones, Tom earns 60000
+.br
+.br
+ Doe
+.br
+ Williams
+.br
+ Jones
+.br
+.fi
+.PP
+QPtrList has several member functions for traversing the list, but using a QPtrListIterator can be more practical. Multiple list iterators may traverse the same list, independently of each other and of the current list item.
+.PP
+In the example above we make the call setAutoDelete(TRUE). Enabling auto-deletion tells the list to delete items that are removed. The default is to not delete items when they are removed but this would cause a memory leak in the example because there are no other references to the list items.
+.PP
+When inserting an item into a list only the pointer is copied, not the item itself, i.e. a shallow copy. It is possible to make the list copy all of the item's data (deep copy) when an item is inserted. insert(), inSort() and append() call the virtual function QPtrCollection::newItem() for the item to be inserted. Inherit a list and reimplement newItem() to have deep copies.
+.PP
+When removing an item from a list, the virtual function QPtrCollection::deleteItem() is called. QPtrList's default implementation is to delete the item if auto-deletion is enabled.
+.PP
+The virtual function compareItems() can be reimplemented to compare two list items. This function is called from all list functions that need to compare list items, for instance remove(const type*). If you only want to deal with pointers, there are functions that compare pointers instead, for instance removeRef(const type*). These functions are somewhat faster than those that call compareItems().
+.PP
+List items are stored as \fCvoid*\fR in an internal QLNode, which also holds pointers to the next and previous list items. The functions currentNode(), removeNode(), and takeNode() operate directly on the QLNode, but they should be used with care. The data component of the node is available through QLNode::getData().
+.PP
+The QStrList class defined in qstrlist.h is a list of \fCchar*\fR. It reimplements newItem(), deleteItem() and compareItems(). (But see QStringList for a list of Unicode QStrings.)
+.PP
+See also QPtrListIterator, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrList::QPtrList ()"
+Constructs an empty list.
+.SH "QPtrList::QPtrList ( const QPtrList<type> & list )"
+Constructs a copy of \fIlist\fR.
+.PP
+Each item in \fIlist\fR is appended to this list. Only the pointers are copied (shallow copy).
+.SH "QPtrList::~QPtrList ()"
+Removes all items from the list and destroys the list.
+.PP
+All list iterators that access this list will be reset.
+.PP
+See also setAutoDelete().
+.SH "void QPtrList::append ( const type * item )"
+Inserts the \fIitem\fR at the end of the list.
+.PP
+The inserted item becomes the current list item. This is equivalent to \fCinsert( count(), item )\fR.
+.PP
+\fIitem\fR must not be 0.
+.PP
+See also insert(), current(), and prepend().
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, grapher/grapher.cpp, listviews/listviews.cpp, listviews/listviews.h, and qwerty/qwerty.cpp.
+.SH "type * QPtrList::at ( uint index )"
+Returns a pointer to the item at position \fIindex\fR in the list, or 0 if the index is out of range.
+.PP
+Sets the current list item to this item if \fIindex\fR is valid. The valid range is \fC0..(count() - 1)\fR inclusive.
+.PP
+This function is very efficient. It starts scanning from the first item, last item, or current item, whichever is closest to \fIindex\fR.
+.PP
+See also current().
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.SH "int QPtrList::at () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the index of the current list item. The returned value is -1 if the current item is 0.
+.PP
+See also current().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QPtrList::clear ()\fC [virtual]\fR"
+Removes all items from the list.
+.PP
+The removed items are deleted if auto-deletion is enabled.
+.PP
+All list iterators that access this list will be reset.
+.PP
+See also remove(), take(), and setAutoDelete().
+.PP
+Reimplemented from QPtrCollection.
+.SH "int QPtrList::compareItems ( QPtrCollection::Item item1, QPtrCollection::Item item2 )\fC [virtual protected]\fR"
+This virtual function compares two list items.
+.PP
+Returns:
+.TP
+zero if \fIitem1\fR == \fIitem2\fR
+.TP
+nonzero if \fIitem1\fR != \fIitem2\fR
+.PP
+This function returns \fIint\fR rather than \fIbool\fR so that reimplementations can return three values and use it to sort by:
+.TP
+0 if \fIitem1\fR == \fIitem2\fR
+.TP
+> 0 (positive integer) if \fIitem1\fR > \fIitem2\fR
+.TP
+< 0 (negative integer) if \fIitem1\fR < \fIitem2\fR
+.PP
+inSort() requires that compareItems() is implemented as described here.
+.PP
+This function should not modify the list because some const functions call compareItems().
+.PP
+The default implementation compares the pointers.
+.SH "uint QPtrList::contains ( const type * item ) const"
+Returns the number of occurrences of \fIitem\fR in the list.
+.PP
+The compareItems() function is called when looking for the \fIitem\fR in the list. If compareItems() is not reimplemented, it is more efficient to call containsRef().
+.PP
+This function does not affect the current list item.
+.PP
+See also containsRef() and compareItems().
+.SH "uint QPtrList::containsRef ( const type * item ) const"
+Returns the number of occurrences of \fIitem\fR in the list.
+.PP
+Calling this function is much faster than contains() because contains() compares \fIitem\fR with each list item using compareItems(), whereas his function only compares the pointers.
+.PP
+This function does not affect the current list item.
+.PP
+See also contains().
+.SH "uint QPtrList::count () const\fC [virtual]\fR"
+Returns the number of items in the list.
+.PP
+See also isEmpty().
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, customlayout/flow.cpp, dirview/dirview.cpp, grapher/grapher.cpp, mdi/application.cpp, and qwerty/qwerty.cpp.
+.PP
+Reimplemented from QPtrCollection.
+.SH "type * QPtrList::current () const"
+Returns a pointer to the current list item. The current item may be 0 (implies that the current index is -1).
+.PP
+See also at().
+.SH "QLNode * QPtrList::currentNode () const"
+Returns a pointer to the current list node.
+.PP
+The node can be kept and removed later using removeNode(). The advantage is that the item can be removed directly without searching the list.
+.PP
+\fBWarning:\fR Do not call this function unless you are an expert.
+.PP
+See also removeNode(), takeNode(), and current().
+.SH "int QPtrList::find ( const type * item )"
+Finds the first occurrence of \fIitem\fR in the list.
+.PP
+If the item is found, the list sets the current item to point to the found item and returns the index of this item. If the item is not found, the list sets the current item to 0, the current index to -1, and returns -1.
+.PP
+The compareItems() function is called when searching for the item in the list. If compareItems() is not reimplemented, it is more efficient to call findRef().
+.PP
+See also findNext(), findRef(), compareItems(), and current().
+.SH "int QPtrList::findNext ( const type * item )"
+Finds the next occurrence of \fIitem\fR in the list, starting from the current list item.
+.PP
+If the item is found, the list sets the current item to point to the found item and returns the index of this item. If the item is not found, the list sets the current item to 0, the current index to -1, and returns -1.
+.PP
+The compareItems() function is called when searching for the item in the list. If compareItems() is not reimplemented, it is more efficient to call findNextRef().
+.PP
+See also find(), findNextRef(), compareItems(), and current().
+.SH "int QPtrList::findNextRef ( const type * item )"
+Finds the next occurrence of \fIitem\fR in the list, starting from the current list item.
+.PP
+If the item is found, the list sets the current item to point to the found item and returns the index of this item. If the item is not found, the list sets the current item to 0, the current index to -1, and returns -1.
+.PP
+Calling this function is much faster than findNext() because findNext() compares \fIitem\fR with each list item using compareItems(), whereas this function only compares the pointers.
+.PP
+See also findRef(), findNext(), and current().
+.SH "int QPtrList::findRef ( const type * item )"
+Finds the first occurrence of \fIitem\fR in the list.
+.PP
+If the item is found, the list sets the current item to point to the found item and returns the index of this item. If the item is not found, the list sets the current item to 0, the current index to -1, and returns -1.
+.PP
+Calling this function is much faster than find() because find() compares \fIitem\fR with each list item using compareItems(), whereas this function only compares the pointers.
+.PP
+See also findNextRef(), find(), and current().
+.SH "type * QPtrList::first ()"
+Returns a pointer to the first item in the list and makes this the current list item; returns 0 if the list is empty.
+.PP
+See also getFirst(), last(), next(), prev(), and current().
+.PP
+Examples:
+.)l grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp.
+.SH "type * QPtrList::getFirst () const"
+Returns a pointer to the first item in the list, or 0 if the list is empty.
+.PP
+This function does not affect the current list item.
+.PP
+See also first() and getLast().
+.SH "type * QPtrList::getLast () const"
+Returns a pointer to the last item in the list, or 0 if the list is empty.
+.PP
+This function does not affect the current list item.
+.PP
+See also last() and getFirst().
+.SH "void QPtrList::inSort ( const type * item )"
+Inserts the \fIitem\fR at its sorted position in the list.
+.PP
+The sort order depends on the virtual compareItems() function. All items must be inserted with inSort() to maintain the sorting order.
+.PP
+The inserted item becomes the current list item.
+.PP
+\fIitem\fR must not be 0.
+.PP
+\fBWarning:\fR Using inSort() is slow. An alternative, especially if you have lots of items, is to simply append() or insert() them and then use sort(). inSort() takes up to O(n) compares. That means inserting n items in your list will need O(n^2) compares whereas sort() only needs O(n*log n) for the same task. So use inSort() only if you already have a presorted list and want to insert just a few additional items.
+.PP
+See also insert(), compareItems(), current(), and sort().
+.SH "bool QPtrList::insert ( uint index, const type * item )"
+Inserts the \fIitem\fR at position \fIindex\fR in the list.
+.PP
+Returns TRUE if successful, i.e. if \fIindex\fR is in range; otherwise returns FALSE. The valid range is 0 to count() (inclusively). The item is appended if \fIindex\fR == count().
+.PP
+The inserted item becomes the current list item.
+.PP
+\fIitem\fR must not be 0.
+.PP
+See also append(), current(), and replace().
+.SH "bool QPtrList::isEmpty () const"
+Returns TRUE if the list is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "type * QPtrList::last ()"
+Returns a pointer to the last item in the list and makes this the current list item; returns 0 if the list is empty.
+.PP
+See also getLast(), first(), next(), prev(), and current().
+.SH "type * QPtrList::next ()"
+Returns a pointer to the item succeeding the current item. Returns 0 if the current item is 0 or equal to the last item.
+.PP
+Makes the succeeding item current. If the current item before this function call was the last item, the current item will be set to 0. If the current item was 0, this function does nothing.
+.PP
+See also first(), last(), prev(), and current().
+.PP
+Examples:
+.)l grapher/grapher.cpp, listviews/listviews.h, and showimg/showimg.cpp.
+.SH "bool QPtrList::operator!= ( const QPtrList<type> & list ) const"
+Compares this list with \fIlist\fR. Returns TRUE if the lists contain different data; otherwise returns FALSE.
+.SH "QPtrList<type> & QPtrList::operator= ( const QPtrList<type> & list )"
+Assigns \fIlist\fR to this list and returns a reference to this list.
+.PP
+This list is first cleared and then each item in \fIlist\fR is appended to this list. Only the pointers are copied (shallow copy) unless newItem() has been reimplemented.
+.SH "bool QPtrList::operator== ( const QPtrList<type> & list ) const"
+Compares this list with \fIlist\fR. Returns TRUE if the lists contain the same data; otherwise returns FALSE.
+.SH "void QPtrList::prepend ( const type * item )"
+Inserts the \fIitem\fR at the start of the list.
+.PP
+The inserted item becomes the current list item. This is equivalent to \fCinsert( 0, item )\fR.
+.PP
+\fIitem\fR must not be 0.
+.PP
+See also append(), insert(), and current().
+.SH "type * QPtrList::prev ()"
+Returns a pointer to the item preceding the current item. Returns 0 if the current item is 0 or equal to the first item.
+.PP
+Makes the preceding item current. If the current item before this function call was the first item, the current item will be set to 0. If the current item was 0, this function does nothing.
+.PP
+See also first(), last(), next(), and current().
+.SH "QDataStream & QPtrList::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a list item from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QPtrList::remove ( uint index )"
+Removes the item at position \fIindex\fR in the list.
+.PP
+Returns TRUE if successful, i.e. if \fIindex\fR is in range; otherwise returns FALSE. The valid range is \fC0..(count() - 1)\fR inclusive.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also take(), clear(), setAutoDelete(), current(), and removeRef().
+.SH "bool QPtrList::remove ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the current list item.
+.PP
+Returns TRUE if successful, i.e. if the current item isn't 0; otherwise returns FALSE.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also take(), clear(), setAutoDelete(), current(), and removeRef().
+.SH "bool QPtrList::remove ( const type * item )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the first occurrence of \fIitem\fR from the list.
+.PP
+Returns TRUE if successful, i.e. if \fIitem\fR is in the list; otherwise returns FALSE.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The compareItems() function is called when searching for the item in the list. If compareItems() is not reimplemented, it is more efficient to call removeRef().
+.PP
+If \fIitem\fR is NULL then the current item is removed from the list.
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also removeRef(), take(), clear(), setAutoDelete(), compareItems(), and current().
+.SH "bool QPtrList::removeFirst ()"
+Removes the first item from the list. Returns TRUE if successful, i.e. if the list isn't empty; otherwise returns FALSE.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The first item in the list becomes the new current list item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also removeLast(), setAutoDelete(), current(), and remove().
+.SH "bool QPtrList::removeLast ()"
+Removes the last item from the list. Returns TRUE if successful, i.e. if the list isn't empty; otherwise returns FALSE.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The last item in the list becomes the new current list item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also removeFirst(), setAutoDelete(), and current().
+.SH "void QPtrList::removeNode ( QLNode * node )"
+Removes the \fInode\fR from the list.
+.PP
+This node must exist in the list, otherwise the program may crash.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+The first item in the list will become the new current list item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the item succeeding this item or to the preceding item if the removed item was the last item.
+.PP
+\fBWarning:\fR Do not call this function unless you are an expert.
+.PP
+See also takeNode(), currentNode(), remove(), and removeRef().
+.SH "bool QPtrList::removeRef ( const type * item )"
+Removes the first occurrence of \fIitem\fR from the list.
+.PP
+Returns TRUE if successful, i.e. if \fIitem\fR is in the list; otherwise returns FALSE.
+.PP
+The removed item is deleted if auto-deletion is enabled.
+.PP
+Equivalent to:
+.PP
+.nf
+.br
+ if ( list.findRef( item ) != -1 )
+.br
+ list.remove();
+.br
+.fi
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the removed item will be set to point to the new current item.
+.PP
+See also remove(), clear(), setAutoDelete(), and current().
+.SH "bool QPtrList::replace ( uint index, const type * item )"
+Replaces the item at position \fIindex\fR with the new \fIitem\fR.
+.PP
+Returns TRUE if successful, i.e. \fIindex\fR is in the range 0 to count()-1.
+.PP
+See also append(), current(), and insert().
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "void QPtrList::sort ()"
+Sorts the list by the result of the virtual compareItems() function.
+.PP
+The heap sort algorithm is used for sorting. It sorts n items with O(n*log n) comparisons. This is the asymptotic optimal solution of the sorting problem.
+.PP
+If the items in your list support operator<() and operator==(), you might be better off with QSortedList because it implements the compareItems() function for you using these two operators.
+.PP
+See also inSort().
+.SH "type * QPtrList::take ( uint index )"
+Takes the item at position \fIindex\fR out of the list without deleting it (even if auto-deletion is enabled).
+.PP
+Returns a pointer to the item taken out of the list, or 0 if the index is out of range. The valid range is \fC0..(count() - 1)\fR inclusive.
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the taken item will be set to point to the new current item.
+.PP
+See also remove(), clear(), and current().
+.PP
+Examples:
+.)l customlayout/border.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.SH "type * QPtrList::take ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Takes the current item out of the list without deleting it (even if auto-deletion is enabled).
+.PP
+Returns a pointer to the item taken out of the list, or 0 if the current item is 0.
+.PP
+The item after the removed item becomes the new current list item if the removed item is not the last item in the list. If the last item is removed, the new last item becomes the current item. The current item is set to 0 if the list becomes empty.
+.PP
+All list iterators that refer to the taken item will be set to point to the new current item.
+.PP
+See also remove(), clear(), and current().
+.SH "type * QPtrList::takeNode ( QLNode * node )"
+Takes the \fInode\fR out of the list without deleting its item (even if auto-deletion is enabled). Returns a pointer to the item taken out of the list.
+.PP
+This node must exist in the list, otherwise the program may crash.
+.PP
+The first item in the list becomes the new current list item.
+.PP
+All list iterators that refer to the taken item will be set to point to the item succeeding this item or to the preceding item if the taken item was the last item.
+.PP
+\fBWarning:\fR Do not call this function unless you are an expert.
+.PP
+See also removeNode() and currentNode().
+.SH "void QPtrList::toVector ( QGVector * vec ) const"
+Stores all list items in the vector \fIvec\fR.
+.PP
+The vector must be of the same item type, otherwise the result will be undefined.
+.SH "QDataStream & QPtrList::write ( QDataStream & s, QPtrCollection::Item item ) const\fC [virtual protected]\fR"
+Writes a list item, \fIitem\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation does nothing.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrlist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrlist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrlistiterator.3qt b/doc/man/man3/qptrlistiterator.3qt
new file mode 100644
index 0000000..16fa3ae
--- /dev/null
+++ b/doc/man/man3/qptrlistiterator.3qt
@@ -0,0 +1,210 @@
+'\" t
+.TH QPtrListIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrListIterator \- Iterator for QPtrList collections
+.SH SYNOPSIS
+\fC#include <qptrlist.h>\fR
+.PP
+Inherited by QObjectListIterator and QStrListIterator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrListIterator\fR ( const QPtrList<type> & list )"
+.br
+.ti -1c
+.BI "\fB~QPtrListIterator\fR ()"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatFirst\fR () const"
+.br
+.ti -1c
+.BI "bool \fBatLast\fR () const"
+.br
+.ti -1c
+.BI "type * \fBtoFirst\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtoLast\fR ()"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator*\fR ()"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.ti -1c
+.BI "type * \fBoperator()\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator+=\fR ( uint jump )"
+.br
+.ti -1c
+.BI "type * \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "type * \fBoperator-=\fR ( uint jump )"
+.br
+.ti -1c
+.BI "QPtrListIterator<type> & \fBoperator=\fR ( const QPtrListIterator<type> & it )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrListIterator class provides an iterator for QPtrList collections.
+.PP
+Define a template instance QPtrListIterator<X> to create a list iterator that operates on QPtrList<X> (list of X*).
+.PP
+The following example is similar to the example in the QPtrList class documentation, but it uses QPtrListIterator. The class Employee is defined there.
+.PP
+.nf
+.br
+ QPtrList<Employee> list;
+.br
+.br
+ list.append( new Employee("John", "Doe", 50000) );
+.br
+ list.append( new Employee("Jane", "Williams", 80000) );
+.br
+ list.append( new Employee("Tom", "Jones", 60000) );
+.br
+.br
+ QPtrListIterator<Employee> it( list );
+.br
+ Employee *employee;
+.br
+ while ( (employee = it.current()) != 0 ) {
+.br
+ ++it;
+.br
+ cout << employee->surname().latin1() << ", " <<
+.br
+ employee->forename().latin1() << " earns " <<
+.br
+ employee->salary() << endl;
+.br
+ }
+.br
+.fi
+.PP
+The output is
+.PP
+.nf
+.br
+ Doe, John earns 50000
+.br
+ Williams, Jane earns 80000
+.br
+ Jones, Tom earns 60000
+.br
+.fi
+.PP
+Using a list iterator is a more robust way of traversing the list than using the QPtrList member functions first(), next(), current(), etc., as many iterators can traverse the same list independently.
+.PP
+An iterator has its own current list item and can get the next and previous list items. It doesn't modify the list in any way.
+.PP
+When an item is removed from the list, all iterators that point to that item are updated to point to QPtrList::current() instead to avoid dangling references.
+.PP
+See also QPtrList, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrListIterator::QPtrListIterator ( const QPtrList<type> & list )"
+Constructs an iterator for \fIlist\fR. The current iterator item is set to point on the first item in the \fIlist\fR.
+.SH "QPtrListIterator::~QPtrListIterator ()"
+Destroys the iterator.
+.SH "bool QPtrListIterator::atFirst () const"
+Returns TRUE if the current iterator item is the first list item; otherwise returns FALSE.
+.PP
+See also toFirst() and atLast().
+.SH "bool QPtrListIterator::atLast () const"
+Returns TRUE if the current iterator item is the last list item; otherwise returns FALSE.
+.PP
+See also toLast() and atFirst().
+.SH "uint QPtrListIterator::count () const"
+Returns the number of items in the list this iterator operates on.
+.PP
+See also isEmpty().
+.PP
+Example: customlayout/card.cpp.
+.SH "type * QPtrListIterator::current () const"
+Returns a pointer to the current iterator item. If the iterator is positioned before the first item in the list or after the last item in the list, 0 is returned.
+.PP
+Examples:
+.)l canvas/canvas.cpp, customlayout/card.cpp, and customlayout/flow.cpp.
+.SH "bool QPtrListIterator::isEmpty () const"
+Returns TRUE if the list is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "QPtrListIterator::operator type * () const"
+Cast operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QPtrListIterator::operator() ()"
+Makes the succeeding item current and returns the original current item.
+.PP
+If the current iterator item was the last item in the list or if it was 0, 0 is returned.
+.SH "type * QPtrListIterator::operator* ()"
+Asterisk operator. Returns a pointer to the current iterator item. Same as current().
+.SH "type * QPtrListIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns the new current item.
+.PP
+If the current iterator item was the last item in the list or if it was 0, 0 is returned.
+.SH "type * QPtrListIterator::operator+= ( uint jump )"
+Sets the current item to the item \fIjump\fR positions after the current item and returns a pointer to that item.
+.PP
+If that item is beyond the last item or if the list is empty, it sets the current item to 0 and returns 0
+.SH "type * QPtrListIterator::operator-- ()"
+Prefix - makes the preceding item current and returns the new current item.
+.PP
+If the current iterator item was the first item in the list or if it was 0, 0 is returned.
+.SH "type * QPtrListIterator::operator-= ( uint jump )"
+Returns the item \fIjump\fR positions before the current item or 0 if it is beyond the first item. Makes this the current item.
+.SH "QPtrListIterator<type> & QPtrListIterator::operator= ( const QPtrListIterator<type> & it )"
+Assignment. Makes a copy of the iterator \fIit\fR and returns a reference to this iterator.
+.SH "type * QPtrListIterator::toFirst ()"
+Sets the current iterator item to point to the first list item and returns a pointer to the item. Sets the current item to 0 and returns 0 if the list is empty.
+.PP
+See also toLast() and atFirst().
+.SH "type * QPtrListIterator::toLast ()"
+Sets the current iterator item to point to the last list item and returns a pointer to the item. Sets the current item to 0 and returns 0 if the list is empty.
+.PP
+See also toFirst() and atLast().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrlistiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrlistiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrqueue.3qt b/doc/man/man3/qptrqueue.3qt
new file mode 100644
index 0000000..592506e
--- /dev/null
+++ b/doc/man/man3/qptrqueue.3qt
@@ -0,0 +1,186 @@
+'\" t
+.TH QPtrQueue 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrQueue \- Template class that provides a queue
+.SH SYNOPSIS
+\fC#include <qptrqueue.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrQueue\fR ()"
+.br
+.ti -1c
+.BI "\fBQPtrQueue\fR ( const QPtrQueue<type> & queue )"
+.br
+.ti -1c
+.BI "\fB~QPtrQueue\fR ()"
+.br
+.ti -1c
+.BI "QPtrQueue<type> & \fBoperator=\fR ( const QPtrQueue<type> & queue )"
+.br
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBenqueue\fR ( const type * d )"
+.br
+.ti -1c
+.BI "type * \fBdequeue\fR ()"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ()"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "type * \fBhead\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrQueue class is a template class that provides a queue.
+.PP
+QValueVector can be used as an STL-compatible alternative to this class.
+.PP
+A template instance QPtrQueue<X> is a queue that operates on pointers to X (X*).
+.PP
+A queue is a first in, first out structure. Items are added to the tail of the queue with enqueue() and retrieved from the head with dequeue(). You can peek at the head item without dequeing it using head().
+.PP
+You can control the queue's deletion policy with setAutoDelete().
+.PP
+For compatibility with the QPtrCollection classes, current() and remove() are provided; both operate on the head().
+.PP
+See also QPtrList, QPtrStack, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrQueue::QPtrQueue ()"
+Creates an empty queue with autoDelete() set to FALSE.
+.SH "QPtrQueue::QPtrQueue ( const QPtrQueue<type> & queue )"
+Creates a queue from \fIqueue\fR.
+.PP
+Only the pointers are copied; the items are not. The autoDelete() flag is set to FALSE.
+.SH "QPtrQueue::~QPtrQueue ()"
+Destroys the queue. Items in the queue are deleted if autoDelete() is TRUE.
+.SH "bool QPtrQueue::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "void QPtrQueue::clear ()"
+Removes all items from the queue, and deletes them if autoDelete() is TRUE.
+.PP
+See also remove().
+.SH "uint QPtrQueue::count () const"
+Returns the number of items in the queue.
+.PP
+See also isEmpty().
+.SH "type * QPtrQueue::current () const"
+Returns a pointer to the head item in the queue. The queue is not changed. Returns 0 if the queue is empty.
+.PP
+See also dequeue() and isEmpty().
+.SH "type * QPtrQueue::dequeue ()"
+Takes the head item from the queue and returns a pointer to it. Returns 0 if the queue is empty.
+.PP
+See also enqueue() and count().
+.SH "void QPtrQueue::enqueue ( const type * d )"
+Adds item \fId\fR to the tail of the queue.
+.PP
+See also count() and dequeue().
+.SH "type * QPtrQueue::head () const"
+Returns a pointer to the head item in the queue. The queue is not changed. Returns 0 if the queue is empty.
+.PP
+See also dequeue() and isEmpty().
+.SH "bool QPtrQueue::isEmpty () const"
+Returns TRUE if the queue is empty; otherwise returns FALSE.
+.PP
+See also count(), dequeue(), and head().
+.SH "QPtrQueue::operator type * () const"
+Returns a pointer to the head item in the queue. The queue is not changed. Returns 0 if the queue is empty.
+.PP
+See also dequeue() and isEmpty().
+.SH "QPtrQueue<type> & QPtrQueue::operator= ( const QPtrQueue<type> & queue )"
+Assigns \fIqueue\fR to this queue and returns a reference to this queue.
+.PP
+This queue is first cleared and then each item in \fIqueue\fR is enqueued to this queue. Only the pointers are copied.
+.PP
+\fBWarning:\fR The autoDelete() flag is not modified. If it it TRUE for both \fIqueue\fR and this queue, deleting the two lists will cause \fIdouble-deletion\fR of the items.
+.SH "QDataStream & QPtrQueue::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a queue item, \fIitem\fR, from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QPtrQueue::remove ()"
+Removes the head item from the queue, and returns TRUE if there was an item, i.e. the queue wasn't empty; otherwise returns FALSE.
+.PP
+The item is deleted if autoDelete() is TRUE.
+.PP
+See also head(), isEmpty(), and dequeue().
+.SH "void QPtrQueue::setAutoDelete ( bool enable )"
+Sets the queue to auto-delete its contents if \fIenable\fR is TRUE and not to delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a queue are deleted when the queue itself is deleted. This can be quite convenient if the queue has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the queue: you might find yourself with two queues deleting the same items.
+.PP
+See also autoDelete().
+.SH "QDataStream & QPtrQueue::write ( QDataStream & s, QPtrCollection::Item item ) const\fC [virtual protected]\fR"
+Writes a queue item, \fIitem\fR, to the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation does nothing.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrqueue.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrqueue.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrstack.3qt b/doc/man/man3/qptrstack.3qt
new file mode 100644
index 0000000..34a7db1
--- /dev/null
+++ b/doc/man/man3/qptrstack.3qt
@@ -0,0 +1,164 @@
+'\" t
+.TH QPtrStack 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrStack \- Template class that provides a stack
+.SH SYNOPSIS
+\fC#include <qptrstack.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrStack\fR ()"
+.br
+.ti -1c
+.BI "\fBQPtrStack\fR ( const QPtrStack<type> & s )"
+.br
+.ti -1c
+.BI "\fB~QPtrStack\fR ()"
+.br
+.ti -1c
+.BI "QPtrStack<type> & \fBoperator=\fR ( const QPtrStack<type> & s )"
+.br
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "void \fBpush\fR ( const type * d )"
+.br
+.ti -1c
+.BI "type * \fBpop\fR ()"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ()"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "type * \fBtop\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator type *\fR () const"
+.br
+.ti -1c
+.BI "type * \fBcurrent\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrStack class is a template class that provides a stack.
+.PP
+QValueStack is an STL-compatible alternative to this class.
+.PP
+Define a template instance QPtrStack<X> to create a stack that operates on pointers to X, (X*).
+.PP
+A stack is a last in, first out (LIFO) structure. Items are added to the top of the stack with push() and retrieved from the top with pop(). Use top() to get a reference to the top element without changing the stack.
+.PP
+You can control the stack's deletion policy with setAutoDelete().
+.PP
+For compatibility with the QPtrCollection classes current() and remove() are provided; they both operate on the top().
+.PP
+See also QPtrList, QPtrQueue, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrStack::QPtrStack ()"
+Creates an empty stack.
+.SH "QPtrStack::QPtrStack ( const QPtrStack<type> & s )"
+Creates a stack by making a shallow copy of another stack \fIs\fR.
+.SH "QPtrStack::~QPtrStack ()"
+Destroys the stack. All items will be deleted if autoDelete() is TRUE.
+.SH "bool QPtrStack::autoDelete () const"
+The same as QPtrCollection::autoDelete().
+.PP
+See also setAutoDelete().
+.SH "void QPtrStack::clear ()"
+Removes all items from the stack, deleting them if autoDelete() is TRUE.
+.PP
+See also remove().
+.SH "uint QPtrStack::count () const"
+Returns the number of items in the stack.
+.PP
+See also isEmpty().
+.SH "type * QPtrStack::current () const"
+Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.
+.SH "bool QPtrStack::isEmpty () const"
+Returns TRUE if the stack contains no elements; otherwise returns FALSE.
+.SH "QPtrStack::operator type * () const"
+Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.
+.SH "QPtrStack<type> & QPtrStack::operator= ( const QPtrStack<type> & s )"
+Sets the contents of this stack by making a shallow copy of another stack \fIs\fR. Elements currently in this stack will be deleted if autoDelete() is TRUE.
+.SH "type * QPtrStack::pop ()"
+Removes the top item from the stack and returns it. The stack must not be empty.
+.SH "void QPtrStack::push ( const type * d )"
+Adds an element \fId\fR to the top of the stack. Last in, first out.
+.SH "QDataStream & QPtrStack::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a stack item, \fIitem\fR, from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QPtrStack::remove ()"
+Removes the top item from the stack and deletes it if autoDelete() is TRUE. Returns TRUE if there was an item to pop; otherwise returns FALSE.
+.PP
+See also clear().
+.SH "void QPtrStack::setAutoDelete ( bool enable )"
+Defines whether this stack auto-deletes its contents. The same as QPtrCollection::setAutoDelete().
+.PP
+If \fIenable\fR is TRUE the stack auto-deletes its contents; if \fIenable\fR is FALSE the stack does not delete its contents.
+.PP
+See also autoDelete().
+.SH "type * QPtrStack::top () const"
+Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.
+.SH "QDataStream & QPtrStack::write ( QDataStream & s, QPtrCollection::Item item ) const\fC [virtual protected]\fR"
+Writes a stack item, \fIitem\fR, to the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation does nothing.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrstack.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrstack.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qptrvector.3qt b/doc/man/man3/qptrvector.3qt
new file mode 100644
index 0000000..fc4ad3a
--- /dev/null
+++ b/doc/man/man3/qptrvector.3qt
@@ -0,0 +1,351 @@
+'\" t
+.TH QPtrVector 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPtrVector \- Template collection class that provides a vector (array)
+.SH SYNOPSIS
+\fC#include <qptrvector.h>\fR
+.PP
+Inherits QPtrCollection.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPtrVector\fR ()"
+.br
+.ti -1c
+.BI "\fBQPtrVector\fR ( uint size )"
+.br
+.ti -1c
+.BI "\fBQPtrVector\fR ( const QPtrVector<type> & v )"
+.br
+.ti -1c
+.BI "\fB~QPtrVector\fR ()"
+.br
+.ti -1c
+.BI "QPtrVector<type> & \fBoperator=\fR ( const QPtrVector<type> & v )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QPtrVector<type> & v ) const"
+.br
+.ti -1c
+.BI "type ** \fBdata\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "virtual uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBresize\fR ( uint size )"
+.br
+.ti -1c
+.BI "bool \fBinsert\fR ( uint i, const type * d )"
+.br
+.ti -1c
+.BI "bool \fBremove\fR ( uint i )"
+.br
+.ti -1c
+.BI "type * \fBtake\fR ( uint i )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "bool \fBfill\fR ( const type * d, int size = -1 )"
+.br
+.ti -1c
+.BI "void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "int \fBbsearch\fR ( const type * d ) const"
+.br
+.ti -1c
+.BI "int \fBfindRef\fR ( const type * d, uint i = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const type * d, uint i = 0 ) const"
+.br
+.ti -1c
+.BI "uint \fBcontainsRef\fR ( const type * d ) const"
+.br
+.ti -1c
+.BI "uint \fBcontains\fR ( const type * d ) const"
+.br
+.ti -1c
+.BI "type * \fBoperator[]\fR ( int i ) const"
+.br
+.ti -1c
+.BI "type * \fBat\fR ( uint i ) const"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDelete\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoDelete\fR ( bool enable )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual int \fBcompareItems\fR ( QPtrCollection::Item d1, QPtrCollection::Item d2 )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBread\fR ( QDataStream & s, QPtrCollection::Item & item )"
+.br
+.ti -1c
+.BI "virtual QDataStream & \fBwrite\fR ( QDataStream & s, QPtrCollection::Item item ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPtrVector class is a template collection class that provides a vector (array).
+.PP
+QValueVector is an STL-compatible alternative to this class.
+.PP
+QPtrVector is implemented as a template class. Defines a template instance QPtrVector<X> to create a vector that contains pointers to X (X*).
+.PP
+A vector is the same as an array. The main difference between QPtrVector and QMemArray is that QPtrVector stores pointers to the elements, whereas QMemArray stores the elements themselves (i.e. QMemArray is value-based and QPtrVector is pointer-based).
+.PP
+Items are added to the vector using insert() or fill(). Items are removed with remove(). You can get a pointer to an item at a particular index position using at().
+.PP
+Unless otherwise stated, all functions that remove items from the vector will also delete the element pointed to if auto-deletion is enabled. By default, auto-deletion is disabled; see setAutoDelete(). This behaviour can be changed in a subclass by reimplementing the virtual function deleteItem().
+.PP
+Functions that compare items (find() and sort() for example) will do so using the virtual function compareItems(). The default implementation of this function only compares the pointer values. Reimplement compareItems() in a subclass to get searching and sorting based on the item contents. You can perform a linear search for a pointer in the vector using findRef(), or a binary search (of a sorted vector) using bsearch(). You can count the number of times an item appears in the vector with contains() or containsRef().
+.PP
+See also QMemArray and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPtrVector::QPtrVector ()"
+Constructs a null vector.
+.PP
+See also isNull().
+.SH "QPtrVector::QPtrVector ( uint size )"
+Constructs an vector with room for \fIsize\fR items. Makes a null vector if \fIsize\fR == 0.
+.PP
+All \fIsize\fR positions in the vector are initialized to 0.
+.PP
+See also size(), resize(), and isNull().
+.SH "QPtrVector::QPtrVector ( const QPtrVector<type> & v )"
+Constructs a copy of \fIv\fR. Only the pointers are copied (i.e. shallow copy).
+.SH "QPtrVector::~QPtrVector ()"
+Removes all items from the vector, and destroys the vector itself.
+.PP
+See also clear().
+.SH "type * QPtrVector::at ( uint i ) const"
+Returns the item at position \fIi\fR, or 0 if there is no item at that position. \fIi\fR must be less than size().
+.SH "bool QPtrCollection::autoDelete () const"
+Returns the setting of the auto-delete option. The default is FALSE.
+.PP
+See also setAutoDelete().
+.SH "int QPtrVector::bsearch ( const type * d ) const"
+In a sorted array, finds the first occurrence of \fId\fR using a binary search. For a sorted array, this is generally much faster than find(), which performs a linear search.
+.PP
+Returns the position of \fId\fR, or -1 if \fId\fR could not be found. \fId\fR must not be 0.
+.PP
+Compares items using the virtual function compareItems().
+.PP
+See also sort() and find().
+.SH "void QPtrVector::clear ()\fC [virtual]\fR"
+Removes all items from the vector, and destroys the vector itself.
+.PP
+The vector becomes a null vector.
+.PP
+See also isNull().
+.PP
+Reimplemented from QPtrCollection.
+.SH "int QPtrVector::compareItems ( QPtrCollection::Item d1, QPtrCollection::Item d2 )\fC [virtual protected]\fR"
+This virtual function compares two list items.
+.PP
+Returns:
+.TP
+zero if \fId1\fR == \fId2\fR
+.TP
+nonzero if \fId1\fR != \fId2\fR
+.PP
+This function returns \fIint\fR rather than \fIbool\fR so that reimplementations can return one of three values and use it to sort by:
+.TP
+0 if \fId1\fR == \fId2\fR
+.TP
+> 0 (positive integer) if \fId1\fR > \fId2\fR
+.TP
+< 0 (negative integer) if \fId1\fR < \fId2\fR
+.PP
+The sort() and bsearch() functions require compareItems() to be implemented as described here.
+.PP
+This function should not modify the vector because some const functions call compareItems().
+.SH "uint QPtrVector::contains ( const type * d ) const"
+Returns the number of occurrences of item \fId\fR in the vector.
+.PP
+Compares items using the virtual function compareItems().
+.PP
+See also containsRef().
+.SH "uint QPtrVector::containsRef ( const type * d ) const"
+Returns the number of occurrences of the item pointer \fId\fR in the vector.
+.PP
+This function does \fInot\fR use compareItems() to compare items.
+.PP
+See also findRef().
+.SH "uint QPtrVector::count () const\fC [virtual]\fR"
+Returns the number of items in the vector. The vector is empty if count() == 0.
+.PP
+See also isEmpty(), size(), and isNull().
+.PP
+Reimplemented from QPtrCollection.
+.SH "type ** QPtrVector::data () const"
+Returns a pointer to the actual vector data, which is an array of type*.
+.PP
+The vector is a null vector if data() == 0 (null pointer).
+.PP
+See also isNull().
+.SH "bool QPtrVector::fill ( const type * d, int size = -1 )"
+Inserts item \fId\fR in all positions in the vector. Any existing items are removed. If \fId\fR is 0, the vector becomes empty.
+.PP
+If \fIsize\fR >= 0, the vector is first resized to \fIsize\fR. By default, \fIsize\fR is -1.
+.PP
+Returns TRUE if successful, i.e. \fIsize\fR is the same as the current size, or \fIsize\fR is larger and the memory has successfully been allocated; otherwise returns FALSE.
+.PP
+See also resize(), insert(), and isEmpty().
+.SH "int QPtrVector::find ( const type * d, uint i = 0 ) const"
+Finds the first occurrence of item \fId\fR in the vector using a linear search. The search starts at position \fIi\fR, which must be less than size(). \fIi\fR is by default 0; i.e. the search starts at the start of the vector.
+.PP
+Returns the position of \fId\fR, or -1 if \fId\fR could not be found.
+.PP
+Compares items using the virtual function compareItems().
+.PP
+Use the much faster bsearch() to search a sorted vector.
+.PP
+See also findRef() and bsearch().
+.SH "int QPtrVector::findRef ( const type * d, uint i = 0 ) const"
+Finds the first occurrence of the item pointer \fId\fR in the vector using a linear search. The search starts at position \fIi\fR, which must be less than size(). \fIi\fR is by default 0; i.e. the search starts at the start of the vector.
+.PP
+Returns the position of \fId\fR, or -1 if \fId\fR could not be found.
+.PP
+This function does \fInot\fR use compareItems() to compare items.
+.PP
+Use the much faster bsearch() to search a sorted vector.
+.PP
+See also find() and bsearch().
+.SH "bool QPtrVector::insert ( uint i, const type * d )"
+Sets position \fIi\fR in the vector to contain the item \fId\fR. \fIi\fR must be less than size(). Any previous element in position \fIi\fR is removed.
+.PP
+See also at().
+.SH "bool QPtrVector::isEmpty () const"
+Returns TRUE if the vector is empty; otherwise returns FALSE.
+.PP
+See also count().
+.SH "bool QPtrVector::isNull () const"
+Returns TRUE if the vector is null; otherwise returns FALSE.
+.PP
+A null vector has size() == 0 and data() == 0.
+.PP
+See also size().
+.SH "QPtrVector<type> & QPtrVector::operator= ( const QPtrVector<type> & v )"
+Assigns \fIv\fR to this vector and returns a reference to this vector.
+.PP
+This vector is first cleared and then all the items from \fIv\fR are copied into the vector. Only the pointers are copied (i.e. shallow copy).
+.PP
+See also clear().
+.SH "bool QPtrVector::operator== ( const QPtrVector<type> & v ) const"
+Returns TRUE if this vector and \fIv\fR are equal; otherwise returns FALSE.
+.SH "type * QPtrVector::operator[] ( int i ) const"
+Returns the item at position \fIi\fR, or 0 if there is no item at that position. \fIi\fR must be less than size().
+.PP
+Equivalent to at( \fIi\fR ).
+.PP
+See also at().
+.SH "QDataStream & QPtrVector::read ( QDataStream & s, QPtrCollection::Item & item )\fC [virtual protected]\fR"
+Reads a vector item, \fIitem\fR, from the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation sets \fIitem\fR to 0.
+.PP
+See also write().
+.SH "bool QPtrVector::remove ( uint i )"
+Removes the item at position \fIi\fR in the vector, if there is one. \fIi\fR must be less than size().
+.PP
+Returns TRUE if \fIi\fR is within range; otherwise returns FALSE.
+.PP
+See also take() and at().
+.SH "bool QPtrVector::resize ( uint size )"
+Resizes (expands or shrinks) the vector to \fIsize\fR elements. The vector becomes a null vector if \fIsize\fR == 0.
+.PP
+Any items at position \fIsize\fR or beyond in the vector are removed. New positions are initialized to 0.
+.PP
+Returns TRUE if successful, i.e. if the memory was successfully allocated; otherwise returns FALSE.
+.PP
+See also size() and isNull().
+.SH "void QPtrCollection::setAutoDelete ( bool enable )"
+Sets the collection to auto-delete its contents if \fIenable\fR is TRUE and to never delete them if \fIenable\fR is FALSE.
+.PP
+If auto-deleting is turned on, all the items in a collection are deleted when the collection itself is deleted. This is convenient if the collection has the only pointer to the items.
+.PP
+The default setting is FALSE, for safety. If you turn it on, be careful about copying the collection - you might find yourself with two collections deleting the same items.
+.PP
+Note that the auto-delete setting may also affect other functions in subclasses. For example, a subclass that has a remove() function will remove the item from its data structure, and if auto-delete is enabled, will also delete the item.
+.PP
+See also autoDelete().
+.PP
+Examples:
+.)l grapher/grapher.cpp, scribble/scribble.cpp, and table/bigtable/main.cpp.
+.SH "uint QPtrVector::size () const"
+Returns the size of the vector, i.e. the number of vector positions. This is also the maximum number of items the vector can hold.
+.PP
+The vector is a null vector if size() == 0.
+.PP
+See also isNull(), resize(), and count().
+.SH "void QPtrVector::sort ()"
+Sorts the items in ascending order. Any empty positions will be put last.
+.PP
+Compares items using the virtual function compareItems().
+.PP
+See also bsearch().
+.SH "type * QPtrVector::take ( uint i )"
+Returns the item at position \fIi\fR in the vector, and removes that item from the vector. \fIi\fR must be less than size(). If there is no item at position \fIi\fR, 0 is returned.
+.PP
+Unlike remove(), this function does \fInot\fR call deleteItem() for the removed item.
+.PP
+See also remove() and at().
+.SH "QDataStream & QPtrVector::write ( QDataStream & s, QPtrCollection::Item item ) const\fC [virtual protected]\fR"
+Writes a vector item, \fIitem\fR, to the stream \fIs\fR and returns a reference to the stream.
+.PP
+The default implementation does nothing.
+.PP
+See also read().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qptrvector.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qptrvector.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qpushbutton.3qt b/doc/man/man3/qpushbutton.3qt
new file mode 100644
index 0000000..f737b89
--- /dev/null
+++ b/doc/man/man3/qpushbutton.3qt
@@ -0,0 +1,468 @@
+'\" t
+.TH QPushButton 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QPushButton \- Command button
+.SH SYNOPSIS
+\fC#include <qpushbutton.h>\fR
+.PP
+Inherits QButton.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQPushButton\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQPushButton\fR ( const QString & text, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQPushButton\fR ( const QIconSet & icon, const QString & text, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QPushButton\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetToggleButton\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBautoDefault\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoDefault\fR ( bool autoDef )"
+.br
+.ti -1c
+.BI "bool \fBisDefault\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDefault\fR ( bool def )"
+.br
+.ti -1c
+.BI "virtual void setIsMenuButton ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool isMenuButton () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetPopup\fR ( QPopupMenu * popup )"
+.br
+.ti -1c
+.BI "QPopupMenu * \fBpopup\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIconSet\fR ( const QIconSet & )"
+.br
+.ti -1c
+.BI "QIconSet * \fBiconSet\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFlat\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisFlat\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetOn\fR ( bool )"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAccel\fR ( const QKeySequence & )"
+.br
+.ti -1c
+.BI "bool \fBisToggleButton\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDown\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisDown\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "ToggleState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoRepeat\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoRepeat\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisExclusiveToggle\fR () const"
+.br
+.ti -1c
+.BI "QButtonGroup * \fBgroup\fR () const"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoDefault\fR - whether the push button is the auto default button"
+.br
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the button is automatically masked \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBdefault\fR - whether the push button is the default button"
+.br
+.ti -1c
+.BI "bool \fBflat\fR - whether the border is disabled"
+.br
+.ti -1c
+.BI "QIconSet \fBiconSet\fR - the icon set on the push button"
+.br
+.ti -1c
+.BI "bool menuButton - whether the push button has a menu button on it \fI(read " "only" ")\fR \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBon\fR - whether the push button is toggled"
+.br
+.ti -1c
+.BI "bool \fBtoggleButton\fR - whether the button is a toggle button"
+.br
+.in -1c
+.SH DESCRIPTION
+The QPushButton widget provides a command button.
+.PP
+The push button, or command button, is perhaps the most commonly used widget in any graphical user interface. Push (click) a button to command the computer to perform some action, or to answer a question. Typical buttons are OK, Apply, Cancel, Close, Yes, No and Help.
+.PP
+A command button is rectangular and typically displays a text label describing its action. An underlined character in the label (signified by preceding it with an ampersand in the text) indicates an accelerator key, e.g.
+.PP
+.nf
+.br
+ QPushButton *pb = new QPushButton( "&Download", this );
+.br
+.fi
+In this example the accelerator is \fIAlt+D\fR, and the label text will be displayed as \fB<u>D</u>ownload\fR.
+.PP
+Push buttons can display a textual label or a pixmap, and optionally a small icon. These can be set using the constructors and changed later using setText(), setPixmap() and setIconSet(). If the button is disabled the appearance of the text or pixmap and iconset will be manipulated with respect to the GUI style to make the button look "disabled".
+.PP
+A push button emits the signal clicked() when it is activated by the mouse, the Spacebar or by a keyboard accelerator. Connect to this signal to perform the button's action. Push buttons also provide less commonly used signals, for example, pressed() and released().
+.PP
+Command buttons in dialogs are by default auto-default buttons, i.e. they become the default push button automatically when they receive the keyboard input focus. A default button is a push button that is activated when the user presses the Enter or Return key in a dialog. You can change this with setAutoDefault(). Note that auto-default buttons reserve a little extra space which is necessary to draw a default-button indicator. If you do not want this space around your buttons, call setAutoDefault(FALSE).
+.PP
+Being so central, the button widget has grown to accommodate a great many variations in the past decade. The Microsoft style guide now shows about ten different states of Windows push buttons and the text implies that there are dozens more when all the combinations of features are taken into consideration.
+.PP
+The most important modes or states are:
+.TP
+Available or not (grayed out, disabled).
+.TP
+Standard push button, toggling push button or menu button.
+.TP
+On or off (only for toggling push buttons).
+.TP
+Default or normal. The default button in a dialog can generally be "clicked" using the Enter or Return key.
+.TP
+Auto-repeat or not.
+.TP
+Pressed down or not.
+.PP
+As a general rule, use a push button when the application or dialog window performs an action when the user clicks on it (such as Apply, Cancel, Close and Help) \fIand\fR when the widget is supposed to have a wide, rectangular shape with a text label. Small, typically square buttons that change the state of the window rather than performing an action (such as the buttons in the top-right corner of the QFileDialog) are not command buttons, but tool buttons. Qt provides a special class (QToolButton) for these buttons.
+.PP
+If you need toggle behavior (see setToggleButton()) or a button that auto-repeats the activation signal when being pushed down like the arrows in a scroll bar (see setAutoRepeat()), a command button is probably not what you want. When in doubt, use a tool button.
+.PP
+A variation of a command button is a menu button. These provide not just one command, but several, since when they are clicked they pop up a menu of options. Use the method setPopup() to associate a popup menu with a push button.
+.PP
+Other classes of buttons are option buttons (see QRadioButton) and check boxes (see QCheckBox).
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+In Qt, the QButton abstract base class provides most of the modes and other API, and QPushButton provides GUI logic. See QButton for more information about the API.
+.PP
+See also QToolButton, QRadioButton, QCheckBox, GUI Design Handbook: Push Button, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QPushButton::QPushButton ( QWidget * parent, const char * name = 0 )"
+Constructs a push button with no text.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QPushButton::QPushButton ( const QString & text, QWidget * parent, const char * name = 0 )"
+Constructs a push button called \fIname\fR with the parent \fIparent\fR and the text \fItext\fR.
+.SH "QPushButton::QPushButton ( const QIconSet & icon, const QString & text, QWidget * parent, const char * name = 0 )"
+Constructs a push button with an \fIicon\fR and a \fItext\fR.
+.PP
+Note that you can also pass a QPixmap object as an icon (thanks to the implicit type conversion provided by C++).
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.SH "QPushButton::~QPushButton ()"
+Destroys the push button.
+.SH "QKeySequence QButton::accel () const"
+Returns the accelerator associated with the button. See the "accel" property for details.
+.SH "bool QPushButton::autoDefault () const"
+Returns TRUE if the push button is the auto default button; otherwise returns FALSE. See the "autoDefault" property for details.
+.SH "bool QButton::autoRepeat () const"
+Returns TRUE if autoRepeat is enabled; otherwise returns FALSE. See the "autoRepeat" property for details.
+.SH "void QButton::clicked ()\fC [signal]\fR"
+This signal is emitted when the button is activated (i.e. first pressed down and then released when the mouse cursor is inside the button), when the accelerator key is typed or when animateClick() is called. This signal is \fInot\fR emitted if you call setDown().
+.PP
+The QButtonGroup::clicked() signal does the same job, if you want to connect several buttons to the same slot.
+.PP
+\fBWarning:\fR Don't launch a model dialog in response to this signal for a button that has autoRepeat turned on.
+.PP
+See also pressed(), released(), toggled(), autoRepeat, and down.
+.PP
+Examples:
+.)l chart/setdataform.cpp, listbox/listbox.cpp, network/clientserver/client/client.cpp, progressbar/progressbar.cpp, richtext/richtext.cpp, t2/main.cpp, and t4/main.cpp.
+.SH "QButtonGroup * QButton::group () const"
+Returns the group that this button belongs to.
+.PP
+If the button is not a member of any QButtonGroup, this function returns 0.
+.PP
+See also QButtonGroup.
+.SH "QIconSet * QPushButton::iconSet () const"
+Returns the icon set on the push button. See the "iconSet" property for details.
+.SH "bool QPushButton::isDefault () const"
+Returns TRUE if the push button is the default button; otherwise returns FALSE. See the "default" property for details.
+.SH "bool QButton::isDown () const"
+Returns TRUE if the button is pressed; otherwise returns FALSE. See the "down" property for details.
+.SH "bool QButton::isExclusiveToggle () const"
+Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE. See the "exclusiveToggle" property for details.
+.SH "bool QPushButton::isFlat () const"
+Returns TRUE if the border is disabled; otherwise returns FALSE. See the "flat" property for details.
+.SH "bool QPushButton::isMenuButton () const"
+Returns TRUE if the push button has a menu button on it; otherwise returns FALSE. See the "menuButton" property for details.
+.SH "bool QButton::isOn () const"
+Returns TRUE if the button is toggled; otherwise returns FALSE. See the "on" property for details.
+.SH "bool QButton::isToggleButton () const"
+Returns TRUE if the button is a toggle button; otherwise returns FALSE. See the "toggleButton" property for details.
+.SH "const QPixmap * QButton::pixmap () const"
+Returns the pixmap shown on the button. See the "pixmap" property for details.
+.SH "QPopupMenu * QPushButton::popup () const"
+Returns the button's associated popup menu or 0 if no popup menu has been set.
+.PP
+See also setPopup().
+.SH "void QButton::pressed ()\fC [signal]\fR"
+This signal is emitted when the button is pressed down.
+.PP
+See also released() and clicked().
+.PP
+Examples:
+.)l network/httpd/httpd.cpp and popup/popup.cpp.
+.SH "void QButton::released ()\fC [signal]\fR"
+This signal is emitted when the button is released.
+.PP
+See also pressed(), clicked(), and toggled().
+.SH "void QButton::setAccel ( const QKeySequence & )\fC [virtual]\fR"
+Sets the accelerator associated with the button. See the "accel" property for details.
+.SH "void QPushButton::setAutoDefault ( bool autoDef )\fC [virtual]\fR"
+Sets whether the push button is the auto default button to \fIautoDef\fR. See the "autoDefault" property for details.
+.SH "void QButton::setAutoRepeat ( bool )\fC [virtual]\fR"
+Sets whether autoRepeat is enabled. See the "autoRepeat" property for details.
+.SH "void QPushButton::setDefault ( bool def )\fC [virtual]\fR"
+Sets whether the push button is the default button to \fIdef\fR. See the "default" property for details.
+.SH "void QButton::setDown ( bool )\fC [virtual]\fR"
+Sets whether the button is pressed. See the "down" property for details.
+.SH "void QPushButton::setFlat ( bool )"
+Sets whether the border is disabled. See the "flat" property for details.
+.SH "void QPushButton::setIconSet ( const QIconSet & )"
+Sets the icon set on the push button. See the "iconSet" property for details.
+.SH "void QPushButton::setIsMenuButton ( bool enable )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QPushButton::setOn ( bool )\fC [virtual slot]\fR"
+Sets whether the push button is toggled. See the "on" property for details.
+.SH "void QButton::setPixmap ( const QPixmap & )\fC [virtual]\fR"
+Sets the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QPushButton::setPopup ( QPopupMenu * popup )"
+Associates the popup menu \fIpopup\fR with this push button. This turns the button into a menu button.
+.PP
+Ownership of the popup menu is \fInot\fR transferred to the push button.
+.PP
+See also popup().
+.PP
+Examples:
+.)l buttongroups/buttongroups.cpp and qdir/qdir.cpp.
+.SH "void QButton::setText ( const QString & )\fC [virtual]\fR"
+Sets the text shown on the button. See the "text" property for details.
+.SH "void QPushButton::setToggleButton ( bool )"
+Sets whether the button is a toggle button. See the "toggleButton" property for details.
+.SH "ToggleState QButton::state () const"
+Returns the state of the toggle button. See the "toggleState" property for details.
+.SH "void QButton::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes state. \fIstate\fR is On if the button is on, NoChange if it is in the" no change" state or Off if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, setState(), or because setOn() was called.
+.PP
+See also clicked() and QButton::ToggleState.
+.SH "QString QButton::text () const"
+Returns the text shown on the button. See the "text" property for details.
+.SH "void QButton::toggle ()\fC [slot]\fR"
+Toggles the state of a toggle button.
+.PP
+See also on, on, toggled(), and toggleButton.
+.SH "void QButton::toggled ( bool on )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes status. \fIon\fR is TRUE if the button is on, or FALSE if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, or because setOn() was called.
+.PP
+See also clicked().
+.PP
+Example: listbox/listbox.cpp.
+.SS "Property Documentation"
+.SH "QKeySequence accel"
+This property holds the accelerator associated with the button.
+.PP
+This property is 0 if there is no accelerator set. If you set this property to 0 then any current accelerator is removed.
+.PP
+Set this property's value with setAccel() and get this property's value with accel().
+.SH "bool autoDefault"
+This property holds whether the push button is the auto default button.
+.PP
+If this property is set to TRUE then the push button is the auto default button in a dialog.
+.PP
+In some GUI styles a default button is drawn with an extra frame around it, up to 3 pixels or more. Qt automatically keeps this space free around auto-default buttons, i.e. auto-default buttons may have a slightly larger size hint.
+.PP
+This property's default is TRUE for buttons that have a QDialog parent; otherwise it defaults to FALSE.
+.PP
+See the default property for details of how default and auto-default interact.
+.PP
+Set this property's value with setAutoDefault() and get this property's value with autoDefault().
+.SH "bool autoMask"
+This property holds whether the button is automatically masked.
+.PP
+See also QWidget::autoMask.
+.SH "bool autoRepeat"
+This property holds whether autoRepeat is enabled.
+.PP
+If autoRepeat is enabled then the clicked() signal is emitted at regular intervals if the button is down. This property has no effect on toggle buttons. autoRepeat is off by default.
+.PP
+Set this property's value with setAutoRepeat() and get this property's value with autoRepeat().
+.SH "bool default"
+This property holds whether the push button is the default button.
+.PP
+If this property is set to TRUE then the push button will be pressed if the user presses the Enter (or Return) key in a dialog.
+.PP
+Regardless of focus, if the user presses Enter: If there is a default button the default button is pressed; otherwise, if there are one or more autoDefault buttons the first autoDefault button that is next in the tab order is pressed. If there are no default or autoDefault buttons only pressing Space on a button with focus, mouse clicking, or using an accelerator will press a button.
+.PP
+In a dialog, only one push button at a time can be the default button. This button is then displayed with an additional frame (depending on the GUI style).
+.PP
+The default button behavior is provided only in dialogs. Buttons can always be clicked from the keyboard by pressing Enter (or Return) or the Spacebar when the button has focus.
+.PP
+This property's default is FALSE.
+.PP
+Set this property's value with setDefault() and get this property's value with isDefault().
+.SH "bool flat"
+This property holds whether the border is disabled.
+.PP
+This property's default is FALSE.
+.PP
+Set this property's value with setFlat() and get this property's value with isFlat().
+.SH "QIconSet iconSet"
+This property holds the icon set on the push button.
+.PP
+This property will return 0 if the push button has no iconset.
+.PP
+Set this property's value with setIconSet() and get this property's value with iconSet().
+.SH "bool menuButton"
+This property holds whether the push button has a menu button on it.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+If this property is set to TRUE, then a down arrow is drawn on the push button to indicate that a menu will pop up if the user clicks on the arrow.
+.PP
+Get this property's value with isMenuButton().
+.SH "bool on"
+This property holds whether the push button is toggled.
+.PP
+This property should only be set for toggle push buttons. The default value is FALSE.
+.PP
+See also on, toggle(), toggled(), and toggleButton.
+.PP
+Set this property's value with setOn().
+.SH "QPixmap pixmap"
+This property holds the pixmap shown on the button.
+.PP
+If the pixmap is monochrome (i.e. it is a QBitmap or its depth is 1) and it does not have a mask, this property will set the pixmap to be its own mask. The purpose of this is to draw transparent bitmaps which are important for toggle buttons, for example.
+.PP
+pixmap() returns 0 if no pixmap was set.
+.PP
+Set this property's value with setPixmap() and get this property's value with pixmap().
+.SH "QString text"
+This property holds the text shown on the button.
+.PP
+This property will return a QString::null if the button has no text. If the text has an ampersand (&) in it, then an accelerator is automatically created for it using the character that follows the '&' as the accelerator key. Any previous accelerator will be overwritten, or cleared if no accelerator is defined by the text.
+.PP
+There is no default text.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "bool toggleButton"
+This property holds whether the button is a toggle button.
+.PP
+Toggle buttons have an on/off state similar to check boxes. A push button is initially not a toggle button.
+.PP
+See also on, toggle(), toggleButton, and toggled().
+.PP
+Set this property's value with setToggleButton().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qpushbutton.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qpushbutton.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qradiobutton.3qt b/doc/man/man3/qradiobutton.3qt
new file mode 100644
index 0000000..70f3c70
--- /dev/null
+++ b/doc/man/man3/qradiobutton.3qt
@@ -0,0 +1,278 @@
+'\" t
+.TH QRadioButton 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRadioButton \- Radio button with a text or pixmap label
+.SH SYNOPSIS
+\fC#include <qradiobutton.h>\fR
+.PP
+Inherits QButton.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQRadioButton\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQRadioButton\fR ( const QString & text, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisChecked\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetChecked\fR ( bool check )"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "QKeySequence \fBaccel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAccel\fR ( const QKeySequence & )"
+.br
+.ti -1c
+.BI "bool \fBisToggleButton\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDown\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisDown\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOn\fR () const"
+.br
+.ti -1c
+.BI "ToggleState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBautoRepeat\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoRepeat\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisExclusiveToggle\fR () const"
+.br
+.ti -1c
+.BI "QButtonGroup * \fBgroup\fR () const"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBreleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ()"
+.br
+.ti -1c
+.BI "void \fBtoggled\fR ( bool on )"
+.br
+.ti -1c
+.BI "void \fBstateChanged\fR ( int state )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the radio button is automatically masked \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBchecked\fR - whether the radio button is checked"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRadioButton widget provides a radio button with a text or pixmap label.
+.PP
+QRadioButton and QCheckBox are both option buttons. That is, they can be switched on (checked) or off (unchecked). The classes differ in how the choices for the user are restricted. Check boxes define "many of many" choices, whereas radio buttons provide a" one of many" choice. In a group of radio buttons only one radio button at a time can be checked; if the user selects another button, the previously selected button is switched off.
+.PP
+The easiest way to implement a "one of many" choice is simply to put the radio buttons into QButtonGroup.
+.PP
+Whenever a button is switched on or off it emits the signal toggled(). Connect to this signal if you want to trigger an action each time the button changes state. Otherwise, use isChecked() to see if a particular button is selected.
+.PP
+Just like QPushButton, a radio button can display text or a pixmap. The text can be set in the constructor or with setText(); the pixmap is set with setPixmap().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QPushButton, QToolButton, GUI Design Handbook: Radio Button, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRadioButton::QRadioButton ( QWidget * parent, const char * name = 0 )"
+Constructs a radio button with no text.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QRadioButton::QRadioButton ( const QString & text, QWidget * parent, const char * name = 0 )"
+Constructs a radio button with the text \fItext\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QKeySequence QButton::accel () const"
+Returns the accelerator associated with the button. See the "accel" property for details.
+.SH "bool QButton::autoRepeat () const"
+Returns TRUE if autoRepeat is enabled; otherwise returns FALSE. See the "autoRepeat" property for details.
+.SH "void QButton::clicked ()\fC [signal]\fR"
+This signal is emitted when the button is activated (i.e. first pressed down and then released when the mouse cursor is inside the button), when the accelerator key is typed or when animateClick() is called. This signal is \fInot\fR emitted if you call setDown().
+.PP
+The QButtonGroup::clicked() signal does the same job, if you want to connect several buttons to the same slot.
+.PP
+\fBWarning:\fR Don't launch a model dialog in response to this signal for a button that has autoRepeat turned on.
+.PP
+See also pressed(), released(), toggled(), autoRepeat, and down.
+.PP
+Examples:
+.)l chart/setdataform.cpp, listbox/listbox.cpp, network/clientserver/client/client.cpp, progressbar/progressbar.cpp, richtext/richtext.cpp, t2/main.cpp, and t4/main.cpp.
+.SH "QButtonGroup * QButton::group () const"
+Returns the group that this button belongs to.
+.PP
+If the button is not a member of any QButtonGroup, this function returns 0.
+.PP
+See also QButtonGroup.
+.SH "bool QRadioButton::isChecked () const"
+Returns TRUE if the radio button is checked; otherwise returns FALSE. See the "checked" property for details.
+.SH "bool QButton::isDown () const"
+Returns TRUE if the button is pressed; otherwise returns FALSE. See the "down" property for details.
+.SH "bool QButton::isExclusiveToggle () const"
+Returns TRUE if the button is an exclusive toggle; otherwise returns FALSE. See the "exclusiveToggle" property for details.
+.SH "bool QButton::isOn () const"
+Returns TRUE if the button is toggled; otherwise returns FALSE. See the "on" property for details.
+.SH "bool QButton::isToggleButton () const"
+Returns TRUE if the button is a toggle button; otherwise returns FALSE. See the "toggleButton" property for details.
+.SH "const QPixmap * QButton::pixmap () const"
+Returns the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::pressed ()\fC [signal]\fR"
+This signal is emitted when the button is pressed down.
+.PP
+See also released() and clicked().
+.PP
+Examples:
+.)l network/httpd/httpd.cpp and popup/popup.cpp.
+.SH "void QButton::released ()\fC [signal]\fR"
+This signal is emitted when the button is released.
+.PP
+See also pressed(), clicked(), and toggled().
+.SH "void QButton::setAccel ( const QKeySequence & )\fC [virtual]\fR"
+Sets the accelerator associated with the button. See the "accel" property for details.
+.SH "void QButton::setAutoRepeat ( bool )\fC [virtual]\fR"
+Sets whether autoRepeat is enabled. See the "autoRepeat" property for details.
+.SH "void QRadioButton::setChecked ( bool check )\fC [virtual slot]\fR"
+Sets whether the radio button is checked to \fIcheck\fR. See the "checked" property for details.
+.SH "void QButton::setDown ( bool )\fC [virtual]\fR"
+Sets whether the button is pressed. See the "down" property for details.
+.SH "void QButton::setPixmap ( const QPixmap & )\fC [virtual]\fR"
+Sets the pixmap shown on the button. See the "pixmap" property for details.
+.SH "void QButton::setText ( const QString & )\fC [virtual]\fR"
+Sets the text shown on the button. See the "text" property for details.
+.SH "ToggleState QButton::state () const"
+Returns the state of the toggle button. See the "toggleState" property for details.
+.SH "void QButton::stateChanged ( int state )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes state. \fIstate\fR is On if the button is on, NoChange if it is in the" no change" state or Off if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, setState(), or because setOn() was called.
+.PP
+See also clicked() and QButton::ToggleState.
+.SH "QString QButton::text () const"
+Returns the text shown on the button. See the "text" property for details.
+.SH "void QButton::toggle ()\fC [slot]\fR"
+Toggles the state of a toggle button.
+.PP
+See also on, setOn(), toggled(), and toggleButton.
+.SH "void QButton::toggled ( bool on )\fC [signal]\fR"
+This signal is emitted whenever a toggle button changes status. \fIon\fR is TRUE if the button is on, or FALSE if the button is off.
+.PP
+This may be the result of a user action, toggle() slot activation, or because setOn() was called.
+.PP
+See also clicked().
+.PP
+Example: listbox/listbox.cpp.
+.SS "Property Documentation"
+.SH "QKeySequence accel"
+This property holds the accelerator associated with the button.
+.PP
+This property is 0 if there is no accelerator set. If you set this property to 0 then any current accelerator is removed.
+.PP
+Set this property's value with setAccel() and get this property's value with accel().
+.SH "bool autoMask"
+This property holds whether the radio button is automatically masked.
+.PP
+See also QWidget::autoMask.
+.SH "bool autoRepeat"
+This property holds whether autoRepeat is enabled.
+.PP
+If autoRepeat is enabled then the clicked() signal is emitted at regular intervals if the button is down. This property has no effect on toggle buttons. autoRepeat is off by default.
+.PP
+Set this property's value with setAutoRepeat() and get this property's value with autoRepeat().
+.SH "bool checked"
+This property holds whether the radio button is checked.
+.PP
+This property will not effect any other radio buttons unless they have been placed in the same QButtonGroup. The default value is FALSE (unchecked).
+.PP
+Set this property's value with setChecked() and get this property's value with isChecked().
+.SH "QPixmap pixmap"
+This property holds the pixmap shown on the button.
+.PP
+If the pixmap is monochrome (i.e. it is a QBitmap or its depth is 1) and it does not have a mask, this property will set the pixmap to be its own mask. The purpose of this is to draw transparent bitmaps which are important for toggle buttons, for example.
+.PP
+pixmap() returns 0 if no pixmap was set.
+.PP
+Set this property's value with setPixmap() and get this property's value with pixmap().
+.SH "QString text"
+This property holds the text shown on the button.
+.PP
+This property will return a QString::null if the button has no text. If the text has an ampersand (&) in it, then an accelerator is automatically created for it using the character that follows the '&' as the accelerator key. Any previous accelerator will be overwritten, or cleared if no accelerator is defined by the text.
+.PP
+There is no default text.
+.PP
+Set this property's value with setText() and get this property's value with text().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qradiobutton.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qradiobutton.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qrangecontrol.3qt b/doc/man/man3/qrangecontrol.3qt
new file mode 100644
index 0000000..7707331
--- /dev/null
+++ b/doc/man/man3/qrangecontrol.3qt
@@ -0,0 +1,294 @@
+'\" t
+.TH QRangeControl 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRangeControl \- Integer value within a range
+.SH SYNOPSIS
+\fC#include <qrangecontrol.h>\fR
+.PP
+Inherited by QDial, QScrollBar, QSlider, and QSpinBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQRangeControl\fR ()"
+.br
+.ti -1c
+.BI "\fBQRangeControl\fR ( int minValue, int maxValue, int lineStep, int pageStep, int value )"
+.br
+.ti -1c
+.BI "virtual \fB~QRangeControl\fR ()"
+.br
+.ti -1c
+.BI "int \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetValue\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBaddPage\fR ()"
+.br
+.ti -1c
+.BI "void \fBsubtractPage\fR ()"
+.br
+.ti -1c
+.BI "void \fBaddLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBsubtractLine\fR ()"
+.br
+.ti -1c
+.BI "int \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRange\fR ( int minValue, int maxValue )"
+.br
+.ti -1c
+.BI "void \fBsetMinValue\fR ( int minVal )"
+.br
+.ti -1c
+.BI "void \fBsetMaxValue\fR ( int maxVal )"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR () const"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSteps\fR ( int lineStep, int pageStep )"
+.br
+.ti -1c
+.BI "int \fBbound\fR ( int v ) const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "int \fBpositionFromValue\fR ( int logical_val, int span ) const"
+.br
+.ti -1c
+.BI "int \fBvalueFromPosition\fR ( int pos, int span ) const"
+.br
+.ti -1c
+.BI "void \fBdirectSetValue\fR ( int value )"
+.br
+.ti -1c
+.BI "int \fBprevValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBvalueChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrangeChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstepChange\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRangeControl class provides an integer value within a range.
+.PP
+Although originally designed for the QScrollBar widget, the QRangeControl can also be used in conjunction with other widgets such as QSlider and QSpinBox. Here are the five main concepts in the class:
+.PP
+<ol type=1>
+.IP 1
+\fICurrent value\fR The bounded integer that QRangeControl maintains. value() returns it, and several functions, including setValue(), set it.
+.IP 2
+\fIMinimum\fR The lowest value that value() can ever return. Returned by minValue() and set by setRange() or one of the constructors.
+.IP 3
+\fIMaximum\fR The highest value that value() can ever return. Returned by maxValue() and set by setRange() or one of the constructors.
+.IP 4
+\fILine step\fR The smaller of two natural steps that QRangeControl provides and typically corresponds to the user pressing an arrow key. The line step is returned by lineStep() and set using setSteps(). The functions addLine() and subtractLine() respectively increment and decrement the current value by lineStep().
+.IP 5
+\fIPage step\fR The larger of two natural steps that QRangeControl provides and typically corresponds to the user pressing PageUp or PageDown. The page step is returned by pageStep() and set using setSteps(). The functions addPage() and substractPage() respectively increment and decrement the current value by pageStep().
+.IP
+.PP
+Unity (1) may be viewed as a third step size. setValue() lets you set the current value to any integer in the allowed range, not just minValue() + \fIn\fR * lineStep() for integer values of \fIn\fR. Some widgets may allow the user to set any value at all; others may just provide multiples of lineStep() or pageStep().
+.PP
+QRangeControl provides three virtual functions that are well suited for updating the on-screen representation of range controls and emitting signals: valueChange(), rangeChange() and stepChange().
+.PP
+QRangeControl also provides a function called bound() which lets you force arbitrary integers to be within the allowed range of the range control.
+.PP
+We recommend that all widgets that inherit QRangeControl provide at least a signal called valueChanged(); many widgets will want to provide addStep(), addPage(), substractStep() and substractPage() as slots.
+.PP
+Note that you must use multiple inheritance if you plan to implement a widget using QRangeControl because QRangeControl is not derived from QWidget.
+.PP
+See also Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRangeControl::QRangeControl ()"
+Constructs a range control with a minimum value of 0, maximum value of 99, line step of 1, page step of 10 and initial value 0.
+.SH "QRangeControl::QRangeControl ( int minValue, int maxValue, int lineStep, int pageStep, int value )"
+Constructs a range control whose value can never be smaller than \fIminValue\fR or greater than \fImaxValue\fR, whose line step size is \fIlineStep\fR and page step size is \fIpageStep\fR and whose value is initially \fIvalue\fR (which is guaranteed to be in range using bound()).
+.SH "QRangeControl::~QRangeControl ()\fC [virtual]\fR"
+Destroys the range control
+.SH "void QRangeControl::addLine ()"
+Equivalent to \fCsetValue( value() + lineStep() )\fR.
+.PP
+If the value is changed, then valueChange() is called.
+.PP
+See also subtractLine(), addPage(), and setValue().
+.SH "void QRangeControl::addPage ()"
+Equivalent to \fCsetValue( value() + pageStep() )\fR.
+.PP
+If the value is changed, then valueChange() is called.
+.PP
+See also subtractPage(), addLine(), and setValue().
+.SH "int QRangeControl::bound ( int v ) const"
+Forces the value \fIv\fR to be within the range from minValue() to maxValue() inclusive, and returns the result.
+.PP
+This function is provided so that you can easily force other numbers than value() into the allowed range. You do not need to call it in order to use QRangeControl itself.
+.PP
+See also setValue(), value(), minValue(), and maxValue().
+.SH "void QRangeControl::directSetValue ( int value )\fC [protected]\fR"
+Sets the range control \fIvalue\fR directly without calling valueChange().
+.PP
+Forces the new \fIvalue\fR to be within the legal range.
+.PP
+You will rarely have to call this function. However, if you want to change the range control's value inside the overloaded method valueChange(), setValue() would call the function valueChange() again. To avoid this recursion you must use directSetValue() instead.
+.PP
+See also setValue().
+.SH "int QRangeControl::lineStep () const"
+Returns the line step.
+.PP
+See also setSteps() and pageStep().
+.SH "int QRangeControl::maxValue () const"
+Returns the maximum value of the range.
+.PP
+See also setMaxValue(), setRange(), and minValue().
+.SH "int QRangeControl::minValue () const"
+Returns the minimum value of the range.
+.PP
+See also setMinValue(), setRange(), and maxValue().
+.SH "int QRangeControl::pageStep () const"
+Returns the page step.
+.PP
+See also setSteps() and lineStep().
+.SH "int QRangeControl::positionFromValue ( int logical_val, int span ) const\fC [protected]\fR"
+Converts \fIlogical_val\fR to a pixel position. minValue() maps to 0, maxValue() maps to \fIspan\fR and other values are distributed evenly in-between.
+.PP
+This function can handle the entire integer range without overflow, providing \fIspan\fR is <= 4096.
+.PP
+Calling this method is useful when actually drawing a range control such as a QScrollBar on-screen.
+.PP
+See also valueFromPosition().
+.SH "int QRangeControl::prevValue () const\fC [protected]\fR"
+Returns the previous value of the range control. "Previous value" means the value before the last change occurred. Setting a new range may affect the value, too, because the value is forced to be inside the specified range. When the range control is initially created, this is the same as value().
+.PP
+prevValue() can be outside the current legal range if a call to setRange() causes the current value to change. For example, if the range was [0, 1000] and the current value is 500, setRange(0, 400) makes value() return 400 and prevValue() return 500.
+.PP
+See also value() and setRange().
+.SH "void QRangeControl::rangeChange ()\fC [virtual protected]\fR"
+This virtual function is called whenever the range control's range changes. You can reimplement it if you want to be notified when the range changes. The default implementation does nothing.
+.PP
+Note that this method is called after the range has changed.
+.PP
+See also setRange(), valueChange(), and stepChange().
+.PP
+Reimplemented in QDial, QSlider, and QSpinBox.
+.SH "void QRangeControl::setMaxValue ( int maxVal )"
+Sets the minimum value of the range to \fImaxVal\fR.
+.PP
+If necessary, the minValue() is adjusted so that the range remains valid.
+.PP
+See also maxValue() and setMinValue().
+.SH "void QRangeControl::setMinValue ( int minVal )"
+Sets the minimum value of the range to \fIminVal\fR.
+.PP
+If necessary, the maxValue() is adjusted so that the range remains valid.
+.PP
+See also minValue() and setMaxValue().
+.SH "void QRangeControl::setRange ( int minValue, int maxValue )"
+Sets the range control's minimum value to \fIminValue\fR and its maximum value to \fImaxValue\fR.
+.PP
+Calls the virtual rangeChange() function if one or both of the new minimum and maximum values are different from the previous setting. Calls the virtual valueChange() function if the current value is adjusted because it was outside the new range.
+.PP
+If \fImaxValue\fR is smaller than \fIminValue\fR, \fIminValue\fR becomes the only legal value.
+.PP
+See also minValue() and maxValue().
+.PP
+Examples:
+.)l listbox/listbox.cpp, t12/lcdrange.cpp, t5/main.cpp, t6/main.cpp, t8/lcdrange.cpp, and xform/xform.cpp.
+.SH "void QRangeControl::setSteps ( int lineStep, int pageStep )"
+Sets the range's line step to \fIlineStep\fR and page step to \fIpageStep\fR.
+.PP
+Calls the virtual stepChange() function if the new line step or page step are different from the previous settings.
+.PP
+See also lineStep(), pageStep(), and setRange().
+.SH "void QRangeControl::setValue ( int value )"
+Sets the range control's value to \fIvalue\fR and forces it to be within the legal range.
+.PP
+Calls the virtual valueChange() function if the new value is different from the previous value. The old value can still be retrieved using prevValue().
+.PP
+See also value().
+.SH "void QRangeControl::stepChange ()\fC [virtual protected]\fR"
+This virtual function is called whenever the range control's line or page step settings change. You can reimplement it if you want to be notified when the step changes. The default implementation does nothing.
+.PP
+Note that this method is called after a step setting has changed.
+.PP
+See also setSteps(), rangeChange(), and valueChange().
+.SH "void QRangeControl::subtractLine ()"
+Equivalent to \fCsetValue( value() - lineStep() )\fR.
+.PP
+If the value is changed, then valueChange() is called.
+.PP
+See also addLine(), subtractPage(), and setValue().
+.SH "void QRangeControl::subtractPage ()"
+Equivalent to \fCsetValue( value() - pageStep() )\fR.
+.PP
+If the value is changed, then valueChange() is called.
+.PP
+See also addPage(), subtractLine(), and setValue().
+.SH "int QRangeControl::value () const"
+Returns the current range control value. This is guaranteed to be within the range [minValue(), maxValue()].
+.PP
+See also setValue() and prevValue().
+.SH "void QRangeControl::valueChange ()\fC [virtual protected]\fR"
+This virtual function is called whenever the range control value changes. You can reimplement it if you want to be notified when the value changes. The default implementation does nothing.
+.PP
+Note that this method is called after the value has changed. The previous value can be retrieved using prevValue().
+.PP
+See also setValue(), addPage(), subtractPage(), addLine(), subtractLine(), rangeChange(), and stepChange().
+.PP
+Reimplemented in QDial, QSlider, and QSpinBox.
+.SH "int QRangeControl::valueFromPosition ( int pos, int span ) const\fC [protected]\fR"
+Converts the pixel position \fIpos\fR to a value. 0 maps to minValue(), \fIspan\fR maps to maxValue() and other values are distributed evenly in-between.
+.PP
+This function can handle the entire integer range without overflow.
+.PP
+Calling this method is useful if you actually implemented a range control widget such as QScrollBar and want to handle mouse press events. This function then maps screen coordinates to the logical values.
+.PP
+See also positionFromValue().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qrangecontrol.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qrangecontrol.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qrect.3qt b/doc/man/man3/qrect.3qt
new file mode 100644
index 0000000..1d2cbac
--- /dev/null
+++ b/doc/man/man3/qrect.3qt
@@ -0,0 +1,662 @@
+'\" t
+.TH QRect 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRect \- Defines a rectangle in the plane
+.SH SYNOPSIS
+\fC#include <qrect.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQRect\fR ()"
+.br
+.ti -1c
+.BI "\fBQRect\fR ( const QPoint & topLeft, const QPoint & bottomRight )"
+.br
+.ti -1c
+.BI "\fBQRect\fR ( const QPoint & topLeft, const QSize & size )"
+.br
+.ti -1c
+.BI "\fBQRect\fR ( int left, int top, int width, int height )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBnormalize\fR () const"
+.br
+.ti -1c
+.BI "int \fBleft\fR () const"
+.br
+.ti -1c
+.BI "int \fBtop\fR () const"
+.br
+.ti -1c
+.BI "int \fBright\fR () const"
+.br
+.ti -1c
+.BI "int \fBbottom\fR () const"
+.br
+.ti -1c
+.BI "QCOORD & \fBrLeft\fR ()"
+.br
+.ti -1c
+.BI "QCOORD & \fBrTop\fR ()"
+.br
+.ti -1c
+.BI "QCOORD & \fBrRight\fR ()"
+.br
+.ti -1c
+.BI "QCOORD & \fBrBottom\fR ()"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLeft\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBsetTop\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBsetRight\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBsetBottom\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBsetX\fR ( int x )"
+.br
+.ti -1c
+.BI "void \fBsetY\fR ( int y )"
+.br
+.ti -1c
+.BI "void \fBsetTopLeft\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBsetBottomRight\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBsetTopRight\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBsetBottomLeft\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "QPoint \fBtopLeft\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBbottomRight\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBtopRight\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBbottomLeft\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBcenter\fR () const"
+.br
+.ti -1c
+.BI "void \fBrect\fR ( int * x, int * y, int * w, int * h ) const"
+.br
+.ti -1c
+.BI "void \fBcoords\fR ( int * xp1, int * yp1, int * xp2, int * yp2 ) const"
+.br
+.ti -1c
+.BI "void \fBmoveLeft\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBmoveTop\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBmoveRight\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBmoveBottom\fR ( int pos )"
+.br
+.ti -1c
+.BI "void \fBmoveTopLeft\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBmoveBottomRight\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBmoveTopRight\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBmoveBottomLeft\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBmoveCenter\fR ( const QPoint & p )"
+.br
+.ti -1c
+.BI "void \fBmoveBy\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "void \fBsetRect\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBsetCoords\fR ( int xp1, int yp1, int xp2, int yp2 )"
+.br
+.ti -1c
+.BI "void \fBaddCoords\fR ( int xp1, int yp1, int xp2, int yp2 )"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "void \fBsetHeight\fR ( int h )"
+.br
+.ti -1c
+.BI "void \fBsetSize\fR ( const QSize & s )"
+.br
+.ti -1c
+.BI "QRect \fBoperator|\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "QRect \fBoperator&\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "QRect & \fBoperator|=\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "QRect & \fBoperator&=\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QPoint & p, bool proper = FALSE ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( int x, int y, bool proper ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QRect & r, bool proper = FALSE ) const"
+.br
+.ti -1c
+.BI "QRect \fBunite\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "QRect \fBintersect\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "bool \fBintersects\fR ( const QRect & r ) const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QRect & r1, const QRect & r2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QRect & r1, const QRect & r2 )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QRect & r )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QRect & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRect class defines a rectangle in the plane.
+.PP
+A rectangle is internally represented as an upper-left corner and a bottom-right corner, but it is normally expressed as an upper-left corner and a size.
+.PP
+The coordinate type is QCOORD (defined in qwindowdefs.h as \fCint\fR). The minimum value of QCOORD is QCOORD_MIN (-2147483648) and the maximum value is QCOORD_MAX (2147483647).
+.PP
+Note that the size (width and height) of a rectangle might be different from what you are used to. If the top-left corner and the bottom-right corner are the same, the height and the width of the rectangle will both be 1.
+.PP
+Generally, \fIwidth = right - left + 1\fR and \fIheight = bottom - top + 1\fR. We designed it this way to make it correspond to rectangular spaces used by drawing functions in which the width and height denote a number of pixels. For example, drawing a rectangle with width and height 1 draws a single pixel.
+.PP
+The default coordinate system has origin (0, 0) in the top-left corner. The positive direction of the y axis is down, and the positive x axis is from left to right.
+.PP
+A QRect can be constructed with a set of left, top, width and height integers, from two QPoints or from a QPoint and a QSize. After creation the dimensions can be changed, e.g. with setLeft(), setRight(), setTop() and setBottom(), or by setting sizes, e.g. setWidth(), setHeight() and setSize(). The dimensions can also be changed with the move functions, e.g. moveBy(), moveCenter(), moveBottomRight(), etc. You can also add coordinates to a rectangle with addCoords().
+.PP
+You can test to see if a QRect contains a specific point with contains(). You can also test to see if two QRects intersect with intersects() (see also intersect()). To get the bounding rectangle of two QRects use unite().
+.PP
+See also QPoint, QSize, Graphics Classes, and Image Processing Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRect::QRect ()"
+Constructs an invalid rectangle.
+.SH "QRect::QRect ( const QPoint & topLeft, const QPoint & bottomRight )"
+Constructs a rectangle with \fItopLeft\fR as the top-left corner and \fIbottomRight\fR as the bottom-right corner.
+.SH "QRect::QRect ( const QPoint & topLeft, const QSize & size )"
+Constructs a rectangle with \fItopLeft\fR as the top-left corner and \fIsize\fR as the rectangle size.
+.SH "QRect::QRect ( int left, int top, int width, int height )"
+Constructs a rectangle with the \fItop\fR, \fIleft\fR corner and \fIwidth\fR and \fIheight\fR.
+.PP
+Example (creates three identical rectangles):
+.PP
+.nf
+.br
+ QRect r1( QPoint(100,200), QPoint(110,215) );
+.br
+ QRect r2( QPoint(100,200), QSize(11,16) );
+.br
+ QRect r3( 100, 200, 11, 16 );
+.br
+.fi
+.SH "void QRect::addCoords ( int xp1, int yp1, int xp2, int yp2 )"
+Adds \fIxp1\fR, \fIyp1\fR, \fIxp2\fR and \fIyp2\fR respectively to the existing coordinates of the rectangle.
+.PP
+Examples:
+.)l multiple/ax1.h and multiple/ax2.h.
+.SH "int QRect::bottom () const"
+Returns the bottom coordinate of the rectangle.
+.PP
+See also setBottom(), top(), bottomLeft(), and bottomRight().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, desktop/desktop.cpp, helpviewer/helpwindow.cpp, qfd/fontdisplayer.cpp, scribble/scribble.cpp, and themes/wood.cpp.
+.SH "QPoint QRect::bottomLeft () const"
+Returns the bottom-left position of the rectangle.
+.PP
+See also setBottomLeft(), moveBottomLeft(), topRight(), bottom(), and left().
+.PP
+Example: tictac/tictac.cpp.
+.SH "QPoint QRect::bottomRight () const"
+Returns the bottom-right position of the rectangle.
+.PP
+See also setBottomRight(), moveBottomRight(), topLeft(), right(), and bottom().
+.PP
+Example: tictac/tictac.cpp.
+.SH "QPoint QRect::center () const"
+Returns the center point of the rectangle.
+.PP
+See also moveCenter(), topLeft(), bottomRight(), topRight(), and bottomLeft().
+.PP
+Example: tooltip/tooltip.cpp.
+.SH "bool QRect::contains ( const QPoint & p, bool proper = FALSE ) const"
+Returns TRUE if the point \fIp\fR is inside or on the edge of the rectangle; otherwise returns FALSE.
+.PP
+If \fIproper\fR is TRUE, this function returns TRUE only if \fIp\fR is inside (not on the edge).
+.PP
+Example: t14/cannon.cpp.
+.SH "bool QRect::contains ( int x, int y ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the point \fIx\fR, \fIy\fR is inside this rectangle; otherwise returns FALSE.
+.SH "bool QRect::contains ( int x, int y, bool proper ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the point \fIx\fR, \fIy\fR is inside this rectangle; otherwise returns FALSE.
+.PP
+If \fIproper\fR is TRUE, this function returns TRUE only if the point is entirely inside (not on the edge).
+.SH "bool QRect::contains ( const QRect & r, bool proper = FALSE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the rectangle \fIr\fR is inside this rectangle; otherwise returns FALSE.
+.PP
+If \fIproper\fR is TRUE, this function returns TRUE only if \fIr\fR is entirely inside (not on the edge).
+.PP
+See also unite(), intersect(), and intersects().
+.SH "void QRect::coords ( int * xp1, int * yp1, int * xp2, int * yp2 ) const"
+Extracts the rectangle parameters as the top-left point \fI*xp1\fR, \fI*yp1\fR and the bottom-right point \fI*xp2\fR, \fI*yp2\fR.
+.PP
+See also setCoords() and rect().
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "int QRect::height () const"
+Returns the height of the rectangle. The height includes both the top and bottom edges, i.e. height = bottom - top + 1.
+.PP
+See also width(), size(), and setHeight().
+.PP
+Examples:
+.)l aclock/aclock.cpp, desktop/desktop.cpp, movies/main.cpp, scribble/scribble.cpp, themes/metal.cpp, themes/wood.cpp, and xform/xform.cpp.
+.SH "QRect QRect::intersect ( const QRect & r ) const"
+Returns the intersection of this rectangle and rectangle \fIr\fR. \fCr.intersect(s)\fR is equivalent to \fCr&s\fR.
+.SH "bool QRect::intersects ( const QRect & r ) const"
+Returns TRUE if this rectangle intersects with rectangle \fIr\fR (there is at least one pixel that is within both rectangles); otherwise returns FALSE.
+.PP
+See also intersect() and contains().
+.PP
+Examples:
+.)l t11/cannon.cpp, t12/cannon.cpp, t13/cannon.cpp, and t14/cannon.cpp.
+.SH "bool QRect::isEmpty () const"
+Returns TRUE if the rectangle is empty; otherwise returns FALSE.
+.PP
+An empty rectangle has a left() > right() or top() > bottom().
+.PP
+An empty rectangle is not valid. \fCisEmpty() == !isValid()\fR
+.PP
+See also isNull(), isValid(), and normalize().
+.SH "bool QRect::isNull () const"
+Returns TRUE if the rectangle is a null rectangle; otherwise returns FALSE.
+.PP
+A null rectangle has both the width and the height set to 0, that is right() == left() - 1 and bottom() == top() - 1.
+.PP
+Note that if right() == left() and bottom() == top(), then the rectangle has width 1 and height 1.
+.PP
+A null rectangle is also empty.
+.PP
+A null rectangle is not valid.
+.PP
+See also isEmpty() and isValid().
+.SH "bool QRect::isValid () const"
+Returns TRUE if the rectangle is valid; otherwise returns FALSE.
+.PP
+A valid rectangle has a left() <= right() and top() <= bottom().
+.PP
+Note that non-trivial operations like intersections are not defined for invalid rectangles.
+.PP
+\fCisValid() == !isEmpty()\fR
+.PP
+See also isNull(), isEmpty(), and normalize().
+.PP
+Examples:
+.)l themes/metal.cpp and tooltip/tooltip.cpp.
+.SH "int QRect::left () const"
+Returns the left coordinate of the rectangle. Identical to x().
+.PP
+See also setLeft(), right(), topLeft(), and bottomLeft().
+.PP
+Examples:
+.)l aclock/aclock.cpp, desktop/desktop.cpp, i18n/main.cpp, scribble/scribble.cpp, tictac/tictac.cpp, and xform/xform.cpp.
+.SH "void QRect::moveBottom ( int pos )"
+Sets the bottom position of the rectangle to \fIpos\fR, leaving the size unchanged.
+.PP
+See also bottom(), setBottom(), moveLeft(), moveTop(), and moveRight().
+.SH "void QRect::moveBottomLeft ( const QPoint & p )"
+Sets the bottom-left position of the rectangle to \fIp\fR, leaving the size unchanged.
+.PP
+See also bottomLeft(), setBottomLeft(), moveTopLeft(), moveBottomRight(), and moveTopRight().
+.PP
+Example: t10/cannon.cpp.
+.SH "void QRect::moveBottomRight ( const QPoint & p )"
+Sets the bottom-right position of the rectangle to \fIp\fR, leaving the size unchanged.
+.PP
+See also bottomRight(), setBottomRight(), moveTopLeft(), moveTopRight(), and moveBottomLeft().
+.SH "void QRect::moveBy ( int dx, int dy )"
+Moves the rectangle \fIdx\fR along the x axis and \fIdy\fR along the y axis, relative to the current position. Positive values move the rectangle to the right and down.
+.PP
+See also moveTopLeft().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, themes/wood.cpp, and xform/xform.cpp.
+.SH "void QRect::moveCenter ( const QPoint & p )"
+Sets the center point of the rectangle to \fIp\fR, leaving the size unchanged.
+.PP
+See also center(), moveTopLeft(), moveBottomRight(), moveTopRight(), and moveBottomLeft().
+.PP
+Examples:
+.)l t11/cannon.cpp and t12/cannon.cpp.
+.SH "void QRect::moveLeft ( int pos )"
+Sets the left position of the rectangle to \fIpos\fR, leaving the size unchanged.
+.PP
+See also left(), setLeft(), moveTop(), moveRight(), and moveBottom().
+.SH "void QRect::moveRight ( int pos )"
+Sets the right position of the rectangle to \fIpos\fR, leaving the size unchanged.
+.PP
+See also right(), setRight(), moveLeft(), moveTop(), and moveBottom().
+.SH "void QRect::moveTop ( int pos )"
+Sets the top position of the rectangle to \fIpos\fR, leaving the size unchanged.
+.PP
+See also top(), setTop(), moveLeft(), moveRight(), and moveBottom().
+.SH "void QRect::moveTopLeft ( const QPoint & p )"
+Sets the top-left position of the rectangle to \fIp\fR, leaving the size unchanged.
+.PP
+See also topLeft(), setTopLeft(), moveBottomRight(), moveTopRight(), and moveBottomLeft().
+.PP
+Examples:
+.)l helpsystem/tooltip.cpp and xform/xform.cpp.
+.SH "void QRect::moveTopRight ( const QPoint & p )"
+Sets the top-right position of the rectangle to \fIp\fR, leaving the size unchanged.
+.PP
+See also topRight(), setTopRight(), moveTopLeft(), moveBottomRight(), and moveBottomLeft().
+.SH "QRect QRect::normalize () const"
+Returns a normalized rectangle, i.e. a rectangle that has a non-negative width and height.
+.PP
+It swaps left and right if left() > right(), and swaps top and bottom if top() > bottom().
+.PP
+See also isValid().
+.PP
+Example: scribble/scribble.cpp.
+.SH "QRect QRect::operator& ( const QRect & r ) const"
+Returns the intersection of this rectangle and rectangle \fIr\fR.
+.PP
+Returns an empty rectangle if there is no intersection.
+.PP
+See also operator&=(), operator|(), isEmpty(), intersects(), and contains().
+.SH "QRect & QRect::operator&= ( const QRect & r )"
+Intersects this rectangle with rectangle \fIr\fR.
+.SH "QRect QRect::operator| ( const QRect & r ) const"
+Returns the bounding rectangle of this rectangle and rectangle \fIr\fR.
+.PP
+The bounding rectangle of a nonempty rectangle and an empty or invalid rectangle is defined to be the nonempty rectangle.
+.PP
+See also operator|=(), operator&(), intersects(), and contains().
+.SH "QRect & QRect::operator|= ( const QRect & r )"
+Unites this rectangle with rectangle \fIr\fR.
+.SH "QCOORD & QRect::rBottom ()"
+Returns a reference to the bottom coordinate of the rectangle.
+.PP
+See also rLeft(), rTop(), and rRight().
+.SH "QCOORD & QRect::rLeft ()"
+Returns a reference to the left coordinate of the rectangle.
+.PP
+See also rTop(), rRight(), and rBottom().
+.SH "QCOORD & QRect::rRight ()"
+Returns a reference to the right coordinate of the rectangle.
+.PP
+See also rLeft(), rTop(), and rBottom().
+.SH "QCOORD & QRect::rTop ()"
+Returns a reference to the top coordinate of the rectangle.
+.PP
+See also rLeft(), rRight(), and rBottom().
+.SH "void QRect::rect ( int * x, int * y, int * w, int * h ) const"
+Extracts the rectangle parameters as the position \fI*x\fR, \fI*y\fR and width \fI*w\fR and height \fI*h\fR.
+.PP
+See also setRect() and coords().
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "int QRect::right () const"
+Returns the right coordinate of the rectangle.
+.PP
+See also setRight(), left(), topRight(), and bottomRight().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, customlayout/flow.cpp, desktop/desktop.cpp, scribble/scribble.cpp, t11/cannon.cpp, and themes/wood.cpp.
+.SH "void QRect::setBottom ( int pos )"
+Sets the bottom edge of the rectangle to \fIpos\fR. May change the height, but will never change the top edge of the rectangle.
+.PP
+See also bottom(), setTop(), and setHeight().
+.PP
+Example: scribble/scribble.cpp.
+.SH "void QRect::setBottomLeft ( const QPoint & p )"
+Set the bottom-left corner of the rectangle to \fIp\fR. May change the size, but will the never change the top-right corner of the rectangle.
+.PP
+See also bottomLeft(), moveBottomLeft(), setTopLeft(), setBottomRight(), and setTopRight().
+.SH "void QRect::setBottomRight ( const QPoint & p )"
+Set the bottom-right corner of the rectangle to \fIp\fR. May change the size, but will the never change the top-left corner of the rectangle.
+.PP
+See also bottomRight(), moveBottomRight(), setTopLeft(), setTopRight(), and setBottomLeft().
+.SH "void QRect::setCoords ( int xp1, int yp1, int xp2, int yp2 )"
+Sets the coordinates of the rectangle's top-left corner to \fI(xp1, yp1)\fR, and the coordinates of its bottom-right corner to \fI(xp2, yp2)\fR.
+.PP
+See also coords() and setRect().
+.SH "void QRect::setHeight ( int h )"
+Sets the height of the rectangle to \fIh\fR. The top edge is not moved, but the bottom edge may be moved.
+.PP
+See also height(), setTop(), setBottom(), and setSize().
+.PP
+Example: desktop/desktop.cpp.
+.SH "void QRect::setLeft ( int pos )"
+Sets the left edge of the rectangle to \fIpos\fR. May change the width, but will never change the right edge of the rectangle.
+.PP
+Identical to setX().
+.PP
+See also left(), setTop(), and setWidth().
+.PP
+Example: scribble/scribble.cpp.
+.SH "void QRect::setRect ( int x, int y, int w, int h )"
+Sets the coordinates of the rectangle's top-left corner to \fI(x, y)\fR, and its size to \fI(w, h)\fR.
+.PP
+See also rect() and setCoords().
+.PP
+Example: themes/wood.cpp.
+.SH "void QRect::setRight ( int pos )"
+Sets the right edge of the rectangle to \fIpos\fR. May change the width, but will never change the left edge of the rectangle.
+.PP
+See also right(), setLeft(), and setWidth().
+.PP
+Example: scribble/scribble.cpp.
+.SH "void QRect::setSize ( const QSize & s )"
+Sets the size of the rectangle to \fIs\fR. The top-left corner is not moved.
+.PP
+See also size(), setWidth(), and setHeight().
+.PP
+Example: xform/xform.cpp.
+.SH "void QRect::setTop ( int pos )"
+Sets the top edge of the rectangle to \fIpos\fR. May change the height, but will never change the bottom edge of the rectangle.
+.PP
+Identical to setY().
+.PP
+See also top(), setBottom(), and setHeight().
+.PP
+Example: scribble/scribble.cpp.
+.SH "void QRect::setTopLeft ( const QPoint & p )"
+Set the top-left corner of the rectangle to \fIp\fR. May change the size, but will the never change the bottom-right corner of the rectangle.
+.PP
+See also topLeft(), moveTopLeft(), setBottomRight(), setTopRight(), and setBottomLeft().
+.SH "void QRect::setTopRight ( const QPoint & p )"
+Set the top-right corner of the rectangle to \fIp\fR. May change the size, but will the never change the bottom-left corner of the rectangle.
+.PP
+See also topRight(), moveTopRight(), setTopLeft(), setBottomRight(), and setBottomLeft().
+.SH "void QRect::setWidth ( int w )"
+Sets the width of the rectangle to \fIw\fR. The right edge is changed, but not the left edge.
+.PP
+See also width(), setLeft(), setRight(), and setSize().
+.PP
+Example: desktop/desktop.cpp.
+.SH "void QRect::setX ( int x )"
+Sets the x position of the rectangle (its left end) to \fIx\fR. May change the width, but will never change the right edge of the rectangle.
+.PP
+Identical to setLeft().
+.PP
+See also x() and setY().
+.SH "void QRect::setY ( int y )"
+Sets the y position of the rectangle (its top) to \fIy\fR. May change the height, but will never change the bottom edge of the rectangle.
+.PP
+Identical to setTop().
+.PP
+See also y() and setX().
+.SH "QSize QRect::size () const"
+Returns the size of the rectangle.
+.PP
+See also width() and height().
+.PP
+Examples:
+.)l desktop/desktop.cpp, movies/main.cpp, and t10/cannon.cpp.
+.SH "int QRect::top () const"
+Returns the top coordinate of the rectangle. Identical to y().
+.PP
+See also setTop(), bottom(), topLeft(), and topRight().
+.PP
+Examples:
+.)l aclock/aclock.cpp, desktop/desktop.cpp, scribble/scribble.cpp, themes/wood.cpp, tictac/tictac.cpp, and xform/xform.cpp.
+.SH "QPoint QRect::topLeft () const"
+Returns the top-left position of the rectangle.
+.PP
+See also setTopLeft(), moveTopLeft(), bottomRight(), left(), and top().
+.PP
+Examples:
+.)l helpsystem/tooltip.cpp, t10/cannon.cpp, and tictac/tictac.cpp.
+.SH "QPoint QRect::topRight () const"
+Returns the top-right position of the rectangle.
+.PP
+See also setTopRight(), moveTopRight(), bottomLeft(), top(), and right().
+.PP
+Example: tictac/tictac.cpp.
+.SH "QRect QRect::unite ( const QRect & r ) const"
+Returns the bounding rectangle of this rectangle and rectangle \fIr\fR. \fCr.unite(s)\fR is equivalent to \fCr|s\fR.
+.PP
+Examples:
+.)l t11/cannon.cpp, t12/cannon.cpp, and xform/xform.cpp.
+.SH "int QRect::width () const"
+Returns the width of the rectangle. The width includes both the left and right edges, i.e. width = right - left + 1.
+.PP
+See also height(), size(), and setHeight().
+.PP
+Examples:
+.)l aclock/aclock.cpp, customlayout/border.cpp, desktop/desktop.cpp, movies/main.cpp, themes/metal.cpp, themes/wood.cpp, and xform/xform.cpp.
+.SH "int QRect::x () const"
+Returns the left coordinate of the rectangle. Identical to left().
+.PP
+See also left(), y(), and setX().
+.PP
+Examples:
+.)l customlayout/border.cpp, desktop/desktop.cpp, movies/main.cpp, scribble/scribble.cpp, t12/cannon.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH "int QRect::y () const"
+Returns the top coordinate of the rectangle. Identical to top().
+.PP
+See also top(), x(), and setY().
+.PP
+Examples:
+.)l desktop/desktop.cpp, movies/main.cpp, scribble/scribble.cpp, t12/cannon.cpp, t14/cannon.cpp, themes/metal.cpp, and themes/wood.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "bool operator!= ( const QRect & r1, const QRect & r2 )"
+Returns TRUE if \fIr1\fR and \fIr2\fR are different; otherwise returns FALSE.
+.SH "QDataStream & operator<< ( QDataStream & s, const QRect & r )"
+Writes the QRect, \fIr\fR, to the stream \fIs\fR, and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "bool operator== ( const QRect & r1, const QRect & r2 )"
+Returns TRUE if \fIr1\fR and \fIr2\fR are equal; otherwise returns FALSE.
+.SH "QDataStream & operator>> ( QDataStream & s, QRect & r )"
+Reads a QRect from the stream \fIs\fR into rect \fIr\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qrect.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qrect.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qregexp.3qt b/doc/man/man3/qregexp.3qt
new file mode 100644
index 0000000..5401386
--- /dev/null
+++ b/doc/man/man3/qregexp.3qt
@@ -0,0 +1,855 @@
+'\" t
+.TH QRegExp 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRegExp \- Pattern matching using regular expressions
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qregexp.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBCaretMode\fR { CaretAtZero, CaretAtOffset, CaretWontMatch }"
+.br
+.ti -1c
+.BI "\fBQRegExp\fR ()"
+.br
+.ti -1c
+.BI "\fBQRegExp\fR ( const QString & pattern, bool caseSensitive = TRUE, bool wildcard = FALSE )"
+.br
+.ti -1c
+.BI "\fBQRegExp\fR ( const QRegExp & rx )"
+.br
+.ti -1c
+.BI "\fB~QRegExp\fR ()"
+.br
+.ti -1c
+.BI "QRegExp & \fBoperator=\fR ( const QRegExp & rx )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QRegExp & rx ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QRegExp & rx ) const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpattern\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPattern\fR ( const QString & pattern )"
+.br
+.ti -1c
+.BI "bool \fBcaseSensitive\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCaseSensitive\fR ( bool sensitive )"
+.br
+.ti -1c
+.BI "bool \fBwildcard\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWildcard\fR ( bool wildcard )"
+.br
+.ti -1c
+.BI "bool \fBminimal\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinimal\fR ( bool minimal )"
+.br
+.ti -1c
+.BI "bool \fBexactMatch\fR ( const QString & str ) const"
+.br
+.ti -1c
+.BI "int match ( const QString & str, int index = 0, int * len = 0, bool indexIsStart = TRUE ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBsearch\fR ( const QString & str, int offset = 0, CaretMode caretMode = CaretAtZero ) const"
+.br
+.ti -1c
+.BI "int \fBsearchRev\fR ( const QString & str, int offset = -1, CaretMode caretMode = CaretAtZero ) const"
+.br
+.ti -1c
+.BI "int \fBmatchedLength\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumCaptures\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBcapturedTexts\fR ()"
+.br
+.ti -1c
+.BI "QString \fBcap\fR ( int nth = 0 )"
+.br
+.ti -1c
+.BI "int \fBpos\fR ( int nth = 0 )"
+.br
+.ti -1c
+.BI "QString \fBerrorString\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBescape\fR ( const QString & str )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRegExp class provides pattern matching using regular expressions.
+.PP
+
+.PP
+Regular expressions, or "regexps", provide a way to find patterns within text. This is useful in many contexts, for example:
+.PP
+<center>.nf
+.TS
+l - l. Validation A regexp can be used to check whether a piece of text meets some criteria, e.g. is an integer or contains no whitespace. Searching Regexps provide a much more powerful means of searching text than simple string matching does. For example we can create a regexp which says "find one of the words 'mail', 'letter' or 'correspondence' but not any of the words 'email', 'mailman' 'mailer', 'letterbox' etc." Search and Replace A regexp can be used to replace a pattern with a piece of text, for example replace all occurrences of '&' with '&amp;' except where the '&' is already followed by 'amp;'. String Splitting
+.TE
+.fi
+</center>
+.PP
+We present a very brief introduction to regexps, a description of Qt's regexp language, some code examples, and finally the function documentation itself. QRegExp is modeled on Perl's regexp language, and also fully supports Unicode. QRegExp can also be used in the weaker 'wildcard' (globbing) mode which works in a similar way to command shells. A good text on regexps is \fIMastering Regular Expressions: Powerful Techniques for Perl and Other Tools\fR by Jeffrey E. Friedl, ISBN 1565922573.
+.PP
+Experienced regexp users may prefer to skip the introduction and go directly to the relevant information.
+.PP
+In case of multi-threaded programming, note that QRegExp depends on QThreadStorage internally. For that reason, QRegExp should only be used with threads started with QThread, i.e. not with threads started with platform-specific APIs.
+.PP
+
+.TP
+Introduction
+.TP
+Characters and Abbreviations for Sets of Characters
+.TP
+Sets of Characters
+.TP
+Quantifiers
+.TP
+Capturing Text
+.TP
+Assertions
+.TP
+Wildcard Matching (globbing)
+.TP
+Notes for Perl Users
+.TP
+ Code Examples
+
+.SH "Introduction"
+Regexps are built up from expressions, quantifiers, and assertions. The simplest form of expression is simply a character, e.g. \fBx\fR or \fB5\fR. An expression can also be a set of characters. For example, \fB[ABCD]\fR, will match an \fBA\fR or a \fBB\fR or a \fBC\fR or a \fBD\fR. As a shorthand we could write this as \fB[A-D]\fR. If we want to match any of the captital letters in the English alphabet we can write \fB[A-Z]\fR. A quantifier tells the regexp engine how many occurrences of the expression we want, e.g. \fBx{1,1}\fR means match an \fBx\fR which occurs at least once and at most once. We'll look at assertions and more complex expressions later.
+.PP
+Note that in general regexps cannot be used to check for balanced brackets or tags. For example if you want to match an opening html \fC<b>\fR and its closing \fC</b>\fR you can only use a regexp if you know that these tags are not nested; the html fragment, \fC<b>bold <b>bolder</b></b>\fR will not match as expected. If you know the maximum level of nesting it is possible to create a regexp that will match correctly, but for an unknown level of nesting, regexps will fail.
+.PP
+We'll start by writing a regexp to match integers in the range 0 to 99. We will require at least one digit so we will start with \fB[0-9]{1,1}\fR which means match a digit exactly once. This regexp alone will match integers in the range 0 to 9. To match one or two digits we can increase the maximum number of occurrences so the regexp becomes \fB[0-9]{1,2}\fR meaning match a digit at least once and at most twice. However, this regexp as it stands will not match correctly. This regexp will match one or two digits \fIwithin\fR a string. To ensure that we match against the whole string we must use the anchor assertions. We need \fB^\fR (caret) which when it is the first character in the regexp means that the regexp must match from the beginning of the string. And we also need \fB$\fR (dollar) which when it is the last character in the regexp means that the regexp must match until the end of the string. So now our regexp is \fB^[0-9]{1,2}$\fR. Note that assertions, such as \fB^\fR and \fB$\fR, do not match any characters.
+.PP
+If you've seen regexps elsewhere they may have looked different from the ones above. This is because some sets of characters and some quantifiers are so common that they have special symbols to represent them. \fB[0-9]\fR can be replaced with the symbol \fB\\d\fR. The quantifier to match exactly one occurrence, \fB{1,1}\fR, can be replaced with the expression itself. This means that \fBx{1,1}\fR is exactly the same as \fBx\fR alone. So our 0 to 99 matcher could be written \fB^\\d{1,2}$\fR. Another way of writing it would be \fB^\\d\\d{0,1}$\fR, i.e. from the start of the string match a digit followed by zero or one digits. In practice most people would write it \fB^\\d\\d?$\fR. The \fB?\fR is a shorthand for the quantifier \fB{0,1}\fR, i.e. a minimum of no occurrences a maximum of one occurrence. This is used to make an expression optional. The regexp \fB^\\d\\d?$\fR means "from the beginning of the string match one digit followed by zero or one digits and then the end of the string".
+.PP
+Our second example is matching the words 'mail', 'letter' or 'correspondence' but without matching 'email', 'mailman', 'mailer', 'letterbox' etc. We'll start by just matching 'mail'. In full the regexp is, \fBm{1,1}a{1,1}i{1,1}l{1,1}\fR, but since each expression itself is automatically quantified by \fB{1,1}\fR we can simply write this as \fBmail\fR; an 'm' followed by an 'a' followed by an 'i' followed by an 'l'. The symbol '|' (bar) is used for \fIalternation\fR, so our regexp now becomes \fBmail|letter|correspondence\fR which means match 'mail' \fIor\fR 'letter' \fIor\fR 'correspondence'. Whilst this regexp will find the words we want it will also find words we don't want such as 'email'. We will start by putting our regexp in parentheses, \fB(mail|letter|correspondence)\fR. Parentheses have two effects, firstly they group expressions together and secondly they identify parts of the regexp that we wish to capture. Our regexp still matches any of the three words but now they are grouped together as a unit. This is useful for building up more complex regexps. It is also useful because it allows us to examine which of the words actually matched. We need to use another assertion, this time \fB\\b\fR "word boundary": \fB\\b(mail|letter|correspondence)\\b\fR. This regexp means "match a word boundary followed by the expression in parentheses followed by another word boundary". The \fB\\b\fR assertion matches at a \fIposition\fR in the regexp not a \fIcharacter\fR in the regexp. A word boundary is any non-word character such as a space a newline or the beginning or end of the string.
+.PP
+For our third example we want to replace ampersands with the HTML entity '&amp;'. The regexp to match is simple: \fB&\fR, i.e. match one ampersand. Unfortunately this will mess up our text if some of the ampersands have already been turned into HTML entities. So what we really want to say is replace an ampersand providing it is not followed by 'amp;'. For this we need the negative lookahead assertion and our regexp becomes: \fB&(?!amp;)\fR. The negative lookahead assertion is introduced with '(?!' and finishes at the ')'. It means that the text it contains, 'amp;' in our example, must \fInot\fR follow the expression that preceeds it.
+.PP
+Regexps provide a rich language that can be used in a variety of ways. For example suppose we want to count all the occurrences of 'Eric' and 'Eirik' in a string. Two valid regexps to match these are \fB&#92;b(Eric|Eirik)&#92;b\fR and \fB&#92;bEi?ri[ck]&#92;b\fR. We need the word boundary '\\b' so we don't get 'Ericsson' etc. The second regexp actually matches more than we want, 'Eric', 'Erik', 'Eiric' and 'Eirik'.
+.PP
+We will implement some the examples above in the code examples section.
+.SH "Characters and Abbreviations for Sets of Characters"
+<center>.nf
+.TS
+l
+-
+l.
+Element Meaning
+ Any character represents itself unless it has a special
+regexp meaning. Thus
+ A character that follows a backslash matches the character
+itself except where mentioned below. For example if you
+wished to match a literal caret at the beginning of a string
+you would write
+ This matches the ASCII bell character (BEL, 0x07).
+ This matches the ASCII form feed character (FF, 0x0C).
+ This matches the ASCII line feed character (LF, 0x0A, Unix newline).
+ This matches the ASCII carriage return character (CR, 0x0D).
+ This matches the ASCII horizontal tab character (HT, 0x09).
+ This matches the ASCII vertical tab character (VT, 0x0B).
+ This matches the Unicode character corresponding to the
+hexadecimal number hhhh (between 0x0000 and 0xFFFF). &#92;0ooo
+(i.e., \\zero ooo) matches the ASCII/Latin-1 character
+corresponding to the octal number ooo (between 0 and 0377).
+ This matches any character (including newline).
+ This matches a digit (QChar::isDigit()).
+ This matches a non-digit.
+ This matches a whitespace (QChar::isSpace()).
+ This matches a non-whitespace.
+ This matches a word character (QChar::isLetterOrNumber() or '_').
+ This matches a non-word character.
+
+.TE
+.fi
+</center>
+.PP
+\fINote that the C++ compiler transforms backslashes in strings so to include a \fB&#92;\fR in a regexp you will need to enter it twice, i.e. \fB&#92;&#92;\fR.\fR
+.SH "Sets of Characters"
+Square brackets are used to match any character in the set of characters contained within the square brackets. All the character set abbreviations described above can be used within square brackets. Apart from the character set abbreviations and the following two exceptions no characters have special meanings in square brackets.
+.PP
+<center>.nf
+.TS
+l - l. The caret negates the character set if it occurs as the first character, i.e. immediately after the opening square bracket. For example, The dash is used to indicate a range of characters, for example
+.TE
+.fi
+</center>
+.PP
+Using the predefined character set abbreviations is more portable than using character ranges across platforms and languages. For example, \fB[0-9]\fR matches a digit in Western alphabets but \fB\\d\fR matches a digit in \fIany\fR alphabet.
+.PP
+Note that in most regexp literature sets of characters are called" character classes".
+.SH "Quantifiers"
+By default an expression is automatically quantified by \fB{1,1}\fR, i.e. it should occur exactly once. In the following list \fB\fIE\fR\fR stands for any expression. An expression is a character or an abbreviation for a set of characters or a set of characters in square brackets or any parenthesised expression.
+.PP
+<center>.nf
+.TS
+l
+-
+l.
+ Matches zero or one occurrence of \fIE\fR. This quantifier
+means "the previous expression is optional" since it will
+match whether or not the expression occurs in the string. It
+is the same as
+ Matches one or more occurrences of \fIE\fR. This is the same
+as
+ Matches zero or more occurrences of \fIE\fR. This is the same
+as
+ Matches exactly \fIn\fR occurrences of the expression. This
+is the same as repeating the expression \fIn\fR times. For
+example,
+ Matches at least \fIn\fR occurrences of the expression. This
+is the same as
+ Matches at most \fIm\fR occurrences of the expression. This
+is the same as
+
+.TE
+.fi
+</center>
+.PP
+(MAXINT is implementation dependent but will not be smaller than 1024.)
+.PP
+If we wish to apply a quantifier to more than just the preceding character we can use parentheses to group characters together in an expression. For example, \fBtag+\fR matches a 't' followed by an 'a' followed by at least one 'g', whereas \fB(tag)+\fR matches at least one occurrence of 'tag'.
+.PP
+Note that quantifiers are "greedy". They will match as much text as they can. For example, \fB0+\fR will match as many zeros as it can from the first zero it finds, e.g. '2.<u>000</u>5'. Quantifiers can be made non-greedy, see setMinimal().
+.SH "Capturing Text"
+Parentheses allow us to group elements together so that we can quantify and capture them. For example if we have the expression \fBmail|letter|correspondence\fR that matches a string we know that \fIone\fR of the words matched but not which one. Using parentheses allows us to "capture" whatever is matched within their bounds, so if we used \fB(mail|letter|correspondence)\fR and matched this regexp against the string "I sent you some email" we can use the cap() or capturedTexts() functions to extract the matched characters, in this case 'mail'.
+.PP
+We can use captured text within the regexp itself. To refer to the captured text we use \fIbackreferences\fR which are indexed from 1, the same as for cap(). For example we could search for duplicate words in a string using \fB\\b(\\w+)\\W+&#92;1\\b\fR which means match a word boundary followed by one or more word characters followed by one or more non-word characters followed by the same text as the first parenthesised expression followed by a word boundary.
+.PP
+If we want to use parentheses purely for grouping and not for capturing we can use the non-capturing syntax, e.g. \fB(?:green|blue)\fR. Non-capturing parentheses begin '(?:' and end ')'. In this example we match either 'green' or 'blue' but we do not capture the match so we only know whether or not we matched but not which color we actually found. Using non-capturing parentheses is more efficient than using capturing parentheses since the regexp engine has to do less book-keeping.
+.PP
+Both capturing and non-capturing parentheses may be nested.
+.SH "Assertions"
+Assertions make some statement about the text at the point where they occur in the regexp but they do not match any characters. In the following list \fB\fIE\fR\fR stands for any expression.
+.PP
+<center>.nf
+.TS
+l - l. The caret signifies the beginning of the string. If you wish to match a literal The dollar signifies the end of the string. For example A word boundary. For example the regexp A non-word boundary. This assertion is true wherever Positive lookahead. This assertion is true if the expression matches at this point in the regexp. For example, Negative lookahead. This assertion is true if the expression does not match at this point in the regexp. For example,
+.TE
+.fi
+</center>
+.SH "Wildcard Matching (globbing)"
+Most command shells such as \fIbash\fR or \fIcmd.exe\fR support "file globbing", the ability to identify a group of files by using wildcards. The setWildcard() function is used to switch between regexp and wildcard mode. Wildcard matching is much simpler than full regexps and has only four features:
+.PP
+<center>.nf
+.TS
+l
+-
+l.
+ Any character represents itself apart from those mentioned
+below. Thus
+ This matches any single character. It is the same as
+ This matches zero or more of any characters. It is the
+same as
+
+.TE
+.fi
+</center>
+.PP
+For example if we are in wildcard mode and have strings which contain filenames we could identify HTML files with \fB*.html\fR. This will match zero or more characters followed by a dot followed by 'h', 't', 'm' and 'l'.
+.SH "Notes for Perl Users"
+Most of the character class abbreviations supported by Perl are supported by QRegExp, see characters and abbreviations for sets of characters.
+.PP
+In QRegExp, apart from within character classes, \fC^\fR always signifies the start of the string, so carets must always be escaped unless used for that purpose. In Perl the meaning of caret varies automagically depending on where it occurs so escaping it is rarely necessary. The same applies to \fC$\fR which in QRegExp always signifies the end of the string.
+.PP
+QRegExp's quantifiers are the same as Perl's greedy quantifiers. Non-greedy matching cannot be applied to individual quantifiers, but can be applied to all the quantifiers in the pattern. For example, to match the Perl regexp \fBro+?m\fR requires:
+.PP
+.nf
+.br
+ QRegExp rx( "ro+m" );
+.br
+ rx.setMinimal( TRUE );
+.br
+.fi
+.PP
+The equivalent of Perl's \fC/i\fR option is setCaseSensitive(FALSE).
+.PP
+Perl's \fC/g\fR option can be emulated using a loop.
+.PP
+In QRegExp \fB.\fR matches any character, therefore all QRegExp regexps have the equivalent of Perl's \fC/s\fR option. QRegExp does not have an equivalent to Perl's \fC/m\fR option, but this can be emulated in various ways for example by splitting the input into lines or by looping with a regexp that searches for newlines.
+.PP
+Because QRegExp is string oriented there are no \\A, \\Z or \\z assertions. The \\G assertion is not supported but can be emulated in a loop.
+.PP
+Perl's $& is cap(0) or capturedTexts()[0]. There are no QRegExp equivalents for $`, $' or $+. Perl's capturing variables, $1, $2,
+... correspond to cap(1) or capturedTexts()[1], cap(2) or
+capturedTexts()[2], etc.
+.PP
+To substitute a pattern use QString::replace().
+.PP
+Perl's extended \fC/x\fR syntax is not supported, nor are directives, e.g. (?i), or regexp comments, e.g. (?#comment). On the other hand, C++'s rules for literal strings can be used to achieve the same:
+.PP
+.nf
+.br
+ QRegExp mark( "\\\\b" // word boundary
+.br
+ "[Mm]ark" // the word we want to match
+.br
+ );
+.br
+.fi
+.PP
+Both zero-width positive and zero-width negative lookahead assertions (?=pattern) and (?!pattern) are supported with the same syntax as Perl. Perl's lookbehind assertions, "independent" subexpressions and conditional expressions are not supported.
+.PP
+Non-capturing parentheses are also supported, with the same (?:pattern) syntax.
+.PP
+See QStringList::split() and QStringList::join() for equivalents to Perl's split and join functions.
+.PP
+Note: because C++ transforms &#92;'s they must be written \fItwice\fR in code, e.g. \fB&#92;b\fR must be written \fB&#92;&#92;b\fR.
+.SH "Code Examples"
+.nf
+.br
+ QRegExp rx( "^\\\\d\\\\d?$" ); // match integers 0 to 99
+.br
+ rx.search( "123" ); // returns -1 (no match)
+.br
+ rx.search( "-6" ); // returns -1 (no match)
+.br
+ rx.search( "6" ); // returns 0 (matched as position 0)
+.br
+.fi
+.PP
+The third string matches '<u>6</u>'. This is a simple validation regexp for integers in the range 0 to 99.
+.PP
+.nf
+.br
+ QRegExp rx( "^\\\\S+$" ); // match strings without whitespace
+.br
+ rx.search( "Hello world" ); // returns -1 (no match)
+.br
+ rx.search( "This_is-OK" ); // returns 0 (matched at position 0)
+.br
+.fi
+.PP
+The second string matches '<u>This_is-OK</u>'. We've used the character set abbreviation '\\S' (non-whitespace) and the anchors to match strings which contain no whitespace.
+.PP
+In the following example we match strings containing 'mail' or 'letter' or 'correspondence' but only match whole words i.e. not 'email'
+.PP
+.nf
+.br
+ QRegExp rx( "\\\\b(mail|letter|correspondence)\\\\b" );
+.br
+ rx.search( "I sent you an email" ); // returns -1 (no match)
+.br
+ rx.search( "Please write the letter" ); // returns 17
+.br
+.fi
+.PP
+The second string matches "Please write the <u>letter</u>". The word 'letter' is also captured (because of the parentheses). We can see what text we've captured like this:
+.PP
+.nf
+.br
+ QString captured = rx.cap( 1 ); // captured == "letter"
+.br
+.fi
+.PP
+This will capture the text from the first set of capturing parentheses (counting capturing left parentheses from left to right). The parentheses are counted from 1 since cap( 0 ) is the whole matched regexp (equivalent to '&' in most regexp engines).
+.PP
+.nf
+.br
+ QRegExp rx( "&(?!amp;)" ); // match ampersands but not &amp;
+.br
+ QString line1 = "This & that";
+.br
+ line1.replace( rx, "&amp;" );
+.br
+ // line1 == "This &amp; that"
+.br
+ QString line2 = "His &amp; hers & theirs";
+.br
+ line2.replace( rx, "&amp;" );
+.br
+ // line2 == "His &amp; hers &amp; theirs"
+.br
+.fi
+.PP
+Here we've passed the QRegExp to QString's replace() function to replace the matched text with new text.
+.PP
+.nf
+.br
+ QString str = "One Eric another Eirik, and an Ericsson."
+.br
+ " How many Eiriks, Eric?";
+.br
+ QRegExp rx( "\\\\b(Eric|Eirik)\\\\b" ); // match Eric or Eirik
+.br
+ int pos = 0; // where we are in the string
+.br
+ int count = 0; // how many Eric and Eirik's we've counted
+.br
+ while ( pos >= 0 ) {
+.br
+ pos = rx.search( str, pos );
+.br
+ if ( pos >= 0 ) {
+.br
+ pos++; // move along in str
+.br
+ count++; // count our Eric or Eirik
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+We've used the search() function to repeatedly match the regexp in the string. Note that instead of moving forward by one character at a time \fCpos++\fR we could have written \fCpos += rx.matchedLength()\fR to skip over the already matched string. The count will equal 3, matching 'One <u>Eric</u> another <u>Eirik</u>, and an Ericsson. How many Eiriks, <u>Eric</u>?'; it doesn't match 'Ericsson' or 'Eiriks' because they are not bounded by non-word boundaries.
+.PP
+One common use of regexps is to split lines of delimited data into their component fields.
+.PP
+.nf
+.br
+ str = "Trolltech AS\\twww.trolltech.com\\tNorway";
+.br
+ QString company, web, country;
+.br
+ rx.setPattern( "^([^\\t]+)\\t([^\\t]+)\\t([^\\t]+)$" );
+.br
+ if ( rx.search( str ) != -1 ) {
+.br
+ company = rx.cap( 1 );
+.br
+ web = rx.cap( 2 );
+.br
+ country = rx.cap( 3 );
+.br
+ }
+.br
+.fi
+.PP
+In this example our input lines have the format company name, web address and country. Unfortunately the regexp is rather long and not very versatile -- the code will break if we add any more fields. A simpler and better solution is to look for the separator, '\\t' in this case, and take the surrounding text. The QStringList split() function can take a separator string or regexp as an argument and split a string accordingly.
+.PP
+.nf
+.br
+ QStringList field = QStringList::split( "\\t", str );
+.br
+.fi
+.PP
+Here field[0] is the company, field[1] the web address and so on.
+.PP
+To imitate the matching of a shell we can use wildcard mode.
+.PP
+.nf
+.br
+ QRegExp rx( "*.html" ); // invalid regexp: * doesn't quantify anything
+.br
+ rx.setWildcard( TRUE ); // now it's a valid wildcard regexp
+.br
+ rx.exactMatch( "index.html" ); // returns TRUE
+.br
+ rx.exactMatch( "default.htm" ); // returns FALSE
+.br
+ rx.exactMatch( "readme.txt" ); // returns FALSE
+.br
+.fi
+.PP
+Wildcard matching can be convenient because of its simplicity, but any wildcard regexp can be defined using full regexps, e.g. \fB.*&#92;.html$\fR. Notice that we can't match both \fC.html\fR and \fC.htm\fR files with a wildcard unless we use \fB*.htm*\fR which will also match 'test.html.bak'. A full regexp gives us the precision we need, \fB.*&#92;.html?$\fR.
+.PP
+QRegExp can match case insensitively using setCaseSensitive(), and can use non-greedy matching, see setMinimal(). By default QRegExp uses full regexps but this can be changed with setWildcard(). Searching can be forward with search() or backward with searchRev(). Captured text can be accessed using capturedTexts() which returns a string list of all captured strings, or using cap() which returns the captured string for the given index. The pos() function takes a match index and returns the position in the string where the match was made (or -1 if there was no match).
+.PP
+See also QRegExpValidator, QString, QStringList, Miscellaneous Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.PP
+.SS "Member Type Documentation"
+.SH "QRegExp::CaretMode"
+The CaretMode enum defines the different meanings of the caret (\fB^\fR) in a regular expression. The possible values are:
+.TP
+\fCQRegExp::CaretAtZero\fR - The caret corresponds to index 0 in the searched string.
+.TP
+\fCQRegExp::CaretAtOffset\fR - The caret corresponds to the start offset of the search.
+.TP
+\fCQRegExp::CaretWontMatch\fR - The caret never matches.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRegExp::QRegExp ()"
+Constructs an empty regexp.
+.PP
+See also isValid() and errorString().
+.SH "QRegExp::QRegExp ( const QString & pattern, bool caseSensitive = TRUE, bool wildcard = FALSE )"
+Constructs a regular expression object for the given \fIpattern\fR string. The pattern must be given using wildcard notation if \fIwildcard\fR is TRUE (default is FALSE). The pattern is case sensitive, unless \fIcaseSensitive\fR is FALSE. Matching is greedy (maximal), but can be changed by calling setMinimal().
+.PP
+See also setPattern(), setCaseSensitive(), setWildcard(), and setMinimal().
+.SH "QRegExp::QRegExp ( const QRegExp & rx )"
+Constructs a regular expression as a copy of \fIrx\fR.
+.PP
+See also operator=().
+.SH "QRegExp::~QRegExp ()"
+Destroys the regular expression and cleans up its internal data.
+.SH "QString QRegExp::cap ( int nth = 0 )"
+Returns the text captured by the \fInth\fR subexpression. The entire match has index 0 and the parenthesized subexpressions have indices starting from 1 (excluding non-capturing parentheses).
+.PP
+.nf
+.br
+ QRegExp rxlen( "(\\\\d+)(?:\\\\s*)(cm|inch)" );
+.br
+ int pos = rxlen.search( "Length: 189cm" );
+.br
+ if ( pos > -1 ) {
+.br
+ QString value = rxlen.cap( 1 ); // "189"
+.br
+ QString unit = rxlen.cap( 2 ); // "cm"
+.br
+ // ...
+.br
+ }
+.br
+.fi
+.PP
+The order of elements matched by cap() is as follows. The first element, cap(0), is the entire matching string. Each subsequent element corresponds to the next capturing open left parentheses. Thus cap(1) is the text of the first capturing parentheses, cap(2) is the text of the second, and so on.
+.PP
+Some patterns may lead to a number of matches which cannot be determined in advance, for example:
+.PP
+.nf
+.br
+ QRegExp rx( "(\\\\d+)" );
+.br
+ str = "Offsets: 12 14 99 231 7";
+.br
+ QStringList list;
+.br
+ pos = 0;
+.br
+ while ( pos >= 0 ) {
+.br
+ pos = rx.search( str, pos );
+.br
+ if ( pos > -1 ) {
+.br
+ list += rx.cap( 1 );
+.br
+ pos += rx.matchedLength();
+.br
+ }
+.br
+ }
+.br
+ // list contains "12", "14", "99", "231", "7"
+.br
+.fi
+.PP
+See also capturedTexts(), pos(), exactMatch(), search(), and searchRev().
+.PP
+Examples:
+.)l network/archivesearch/archivedialog.ui.h and regexptester/regexptester.cpp.
+.SH "QStringList QRegExp::capturedTexts ()"
+Returns a list of the captured text strings.
+.PP
+The first string in the list is the entire matched string. Each subsequent list element contains a string that matched a (capturing) subexpression of the regexp.
+.PP
+For example:
+.PP
+.nf
+.br
+ QRegExp rx( "(\\\\d+)(\\\\s*)(cm|inch(es)?)" );
+.br
+ int pos = rx.search( "Length: 36 inches" );
+.br
+ QStringList list = rx.capturedTexts();
+.br
+ // list is now ( "36 inches", "36", " ", "inches", "es" )
+.br
+.fi
+.PP
+The above example also captures elements that may be present but which we have no interest in. This problem can be solved by using non-capturing parentheses:
+.PP
+.nf
+.br
+ QRegExp rx( "(\\\\d+)(?:\\\\s*)(cm|inch(?:es)?)" );
+.br
+ int pos = rx.search( "Length: 36 inches" );
+.br
+ QStringList list = rx.capturedTexts();
+.br
+ // list is now ( "36 inches", "36", "inches" )
+.br
+.fi
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = rx.capturedTexts();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+Some regexps can match an indeterminate number of times. For example if the input string is "Offsets: 12 14 99 231 7" and the regexp, \fCrx\fR, is \fB(&#92;d+)+\fR, we would hope to get a list of all the numbers matched. However, after calling \fCrx.search(str)\fR, capturedTexts() will return the list ( "12"," 12" ), i.e. the entire match was "12" and the first subexpression matched was "12". The correct approach is to use cap() in a loop.
+.PP
+The order of elements in the string list is as follows. The first element is the entire matching string. Each subsequent element corresponds to the next capturing open left parentheses. Thus capturedTexts()[1] is the text of the first capturing parentheses, capturedTexts()[2] is the text of the second and so on (corresponding to $1, $2, etc., in some other regexp languages).
+.PP
+See also cap(), pos(), exactMatch(), search(), and searchRev().
+.SH "bool QRegExp::caseSensitive () const"
+Returns TRUE if case sensitivity is enabled; otherwise returns FALSE. The default is TRUE.
+.PP
+See also setCaseSensitive().
+.SH "QString QRegExp::errorString ()"
+Returns a text string that explains why a regexp pattern is invalid the case being; otherwise returns "no error occurred".
+.PP
+See also isValid().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "QString QRegExp::escape ( const QString & str )\fC [static]\fR"
+Returns the string \fIstr\fR with every regexp special character escaped with a backslash. The special characters are $, (, ), *, +,
+., ?, [, &#92;, ], ^, {, | and }.
+.PP
+Example:
+.PP
+.nf
+.br
+ s1 = QRegExp::escape( "bingo" ); // s1 == "bingo"
+.br
+ s2 = QRegExp::escape( "f(x)" ); // s2 == "f\\\\(x\\\\)"
+.br
+.fi
+.PP
+This function is useful to construct regexp patterns dynamically:
+.PP
+.nf
+.br
+ QRegExp rx( "(" + QRegExp::escape(name) +
+.br
+ "|" + QRegExp::escape(alias) + ")" );
+.br
+.fi
+.SH "bool QRegExp::exactMatch ( const QString & str ) const"
+Returns TRUE if \fIstr\fR is matched exactly by this regular expression; otherwise returns FALSE. You can determine how much of the string was matched by calling matchedLength().
+.PP
+For a given regexp string, R, exactMatch("R") is the equivalent of search("^R$") since exactMatch() effectively encloses the regexp in the start of string and end of string anchors, except that it sets matchedLength() differently.
+.PP
+For example, if the regular expression is \fBblue\fR, then exactMatch() returns TRUE only for input \fCblue\fR. For inputs \fCbluebell\fR, \fCblutak\fR and \fClightblue\fR, exactMatch() returns FALSE and matchedLength() will return 4, 3 and 0 respectively.
+.PP
+Although const, this function sets matchedLength(), capturedTexts() and pos().
+.PP
+See also search(), searchRev(), and QRegExpValidator.
+.SH "bool QRegExp::isEmpty () const"
+Returns TRUE if the pattern string is empty; otherwise returns FALSE.
+.PP
+If you call exactMatch() with an empty pattern on an empty string it will return TRUE; otherwise it returns FALSE since it operates over the whole string. If you call search() with an empty pattern on \fIany\fR string it will return the start offset (0 by default) because the empty pattern matches the 'emptiness' at the start of the string. In this case the length of the match returned by matchedLength() will be 0.
+.PP
+See QString::isEmpty().
+.SH "bool QRegExp::isValid () const"
+Returns TRUE if the regular expression is valid; otherwise returns FALSE. An invalid regular expression never matches.
+.PP
+The pattern \fB[a-z\fR is an example of an invalid pattern, since it lacks a closing square bracket.
+.PP
+Note that the validity of a regexp may also depend on the setting of the wildcard flag, for example \fB*.html\fR is a valid wildcard regexp but an invalid full regexp.
+.PP
+See also errorString().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "int QRegExp::match ( const QString & str, int index = 0, int * len = 0, bool indexIsStart = TRUE ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Attempts to match in \fIstr\fR, starting from position \fIindex\fR. Returns the position of the match, or -1 if there was no match.
+.PP
+The length of the match is stored in \fI*len\fR, unless \fIlen\fR is a null pointer.
+.PP
+If \fIindexIsStart\fR is TRUE (the default), the position \fIindex\fR in the string will match the start of string anchor, \fB^\fR, in the regexp, if present. Otherwise, position 0 in \fIstr\fR will match.
+.PP
+Use search() and matchedLength() instead of this function.
+.PP
+See also QString::mid() and QConstString.
+.PP
+Example: qmag/qmag.cpp.
+.SH "int QRegExp::matchedLength () const"
+Returns the length of the last matched string, or -1 if there was no match.
+.PP
+See also exactMatch(), search(), and searchRev().
+.PP
+Examples:
+.)l network/archivesearch/archivedialog.ui.h and regexptester/regexptester.cpp.
+.SH "bool QRegExp::minimal () const"
+Returns TRUE if minimal (non-greedy) matching is enabled; otherwise returns FALSE.
+.PP
+See also setMinimal().
+.SH "int QRegExp::numCaptures () const"
+Returns the number of captures contained in the regular expression.
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "bool QRegExp::operator!= ( const QRegExp & rx ) const"
+Returns TRUE if this regular expression is not equal to \fIrx\fR; otherwise returns FALSE.
+.PP
+See also operator==().
+.SH "QRegExp & QRegExp::operator= ( const QRegExp & rx )"
+Copies the regular expression \fIrx\fR and returns a reference to the copy. The case sensitivity, wildcard and minimal matching options are also copied.
+.SH "bool QRegExp::operator== ( const QRegExp & rx ) const"
+Returns TRUE if this regular expression is equal to \fIrx\fR; otherwise returns FALSE.
+.PP
+Two QRegExp objects are equal if they have the same pattern strings and the same settings for case sensitivity, wildcard and minimal matching.
+.SH "QString QRegExp::pattern () const"
+Returns the pattern string of the regular expression. The pattern has either regular expression syntax or wildcard syntax, depending on wildcard().
+.PP
+See also setPattern().
+.SH "int QRegExp::pos ( int nth = 0 )"
+Returns the position of the \fInth\fR captured text in the searched string. If \fInth\fR is 0 (the default), pos() returns the position of the whole match.
+.PP
+Example:
+.PP
+.nf
+.br
+ QRegExp rx( "/([a-z]+)/([a-z]+)" );
+.br
+ rx.search( "Output /dev/null" ); // returns 7 (position of /dev/null)
+.br
+ rx.pos( 0 ); // returns 7 (position of /dev/null)
+.br
+ rx.pos( 1 ); // returns 8 (position of dev)
+.br
+ rx.pos( 2 ); // returns 12 (position of null)
+.br
+.fi
+.PP
+For zero-length matches, pos() always returns -1. (For example, if cap(4) would return an empty string, pos(4) returns -1.) This is due to an implementation tradeoff.
+.PP
+See also capturedTexts(), exactMatch(), search(), and searchRev().
+.SH "int QRegExp::search ( const QString & str, int offset = 0, CaretMode caretMode = CaretAtZero ) const"
+Attempts to find a match in \fIstr\fR from position \fIoffset\fR (0 by default). If \fIoffset\fR is -1, the search starts at the last character; if -2, at the next to last character; etc.
+.PP
+Returns the position of the first match, or -1 if there was no match.
+.PP
+The \fIcaretMode\fR parameter can be used to instruct whether \fB^\fR should match at index 0 or at \fIoffset\fR.
+.PP
+You might prefer to use QString::find(), QString::contains() or even QStringList::grep(). To replace matches use QString::replace().
+.PP
+Example:
+.PP
+.nf
+.br
+ QString str = "offsets: 1.23 .50 71.00 6.00";
+.br
+ QRegExp rx( "\\\\d*\\\\.\\\\d+" ); // primitive floating point matching
+.br
+ int count = 0;
+.br
+ int pos = 0;
+.br
+ while ( (pos = rx.search(str, pos)) != -1 ) {
+.br
+ count++;
+.br
+ pos += rx.matchedLength();
+.br
+ }
+.br
+ // pos will be 9, 14, 18 and finally 24; count will end up as 4
+.br
+.fi
+.PP
+Although const, this function sets matchedLength(), capturedTexts() and pos().
+.PP
+See also searchRev() and exactMatch().
+.PP
+Examples:
+.)l network/archivesearch/archivedialog.ui.h and regexptester/regexptester.cpp.
+.SH "int QRegExp::searchRev ( const QString & str, int offset = -1, CaretMode caretMode = CaretAtZero ) const"
+Attempts to find a match backwards in \fIstr\fR from position \fIoffset\fR. If \fIoffset\fR is -1 (the default), the search starts at the last character; if -2, at the next to last character; etc.
+.PP
+Returns the position of the first match, or -1 if there was no match.
+.PP
+The \fIcaretMode\fR parameter can be used to instruct whether \fB^\fR should match at index 0 or at \fIoffset\fR.
+.PP
+Although const, this function sets matchedLength(), capturedTexts() and pos().
+.PP
+\fBWarning:\fR Searching backwards is much slower than searching forwards.
+.PP
+See also search() and exactMatch().
+.SH "void QRegExp::setCaseSensitive ( bool sensitive )"
+Sets case sensitive matching to \fIsensitive\fR.
+.PP
+If \fIsensitive\fR is TRUE, \fB&#92;.txt$\fR matches \fCreadme.txt\fR but not \fCREADME.TXT\fR.
+.PP
+See also caseSensitive().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "void QRegExp::setMinimal ( bool minimal )"
+Enables or disables minimal matching. If \fIminimal\fR is FALSE, matching is greedy (maximal) which is the default.
+.PP
+For example, suppose we have the input string "We must be <b>bold</b>, very <b>bold</b>!" and the pattern \fB<b>.*</b>\fR. With the default greedy (maximal) matching, the match is "We must be <u><b>bold</b>, very <b>bold</b></u>!". But with minimal (non-greedy) matching the first match is: "We must be <u><b>bold</b></u>, very <b>bold</b>!" and the second match is "We must be <b>bold</b>, very <u><b>bold</b></u>!". In practice we might use the pattern \fB<b>[^<]+</b>\fR instead, although this will still fail for nested tags.
+.PP
+See also minimal().
+.PP
+Examples:
+.)l network/archivesearch/archivedialog.ui.h and regexptester/regexptester.cpp.
+.SH "void QRegExp::setPattern ( const QString & pattern )"
+Sets the pattern string to \fIpattern\fR. The case sensitivity, wildcard and minimal matching options are not changed.
+.PP
+See also pattern().
+.SH "void QRegExp::setWildcard ( bool wildcard )"
+Sets the wildcard mode for the regular expression. The default is FALSE.
+.PP
+Setting \fIwildcard\fR to TRUE enables simple shell-like wildcard matching. (See wildcard matching (globbing).)
+.PP
+For example, \fBr*.txt\fR matches the string \fCreadme.txt\fR in wildcard mode, but does not match \fCreadme\fR.
+.PP
+See also wildcard().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "bool QRegExp::wildcard () const"
+Returns TRUE if wildcard mode is enabled; otherwise returns FALSE. The default is FALSE.
+.PP
+See also setWildcard().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qregexp.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qregexp.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qregexpvalidator.3qt b/doc/man/man3/qregexpvalidator.3qt
new file mode 100644
index 0000000..d73a07a
--- /dev/null
+++ b/doc/man/man3/qregexpvalidator.3qt
@@ -0,0 +1,179 @@
+'\" t
+.TH QRegExpValidator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRegExpValidator \- Used to check a string against a
+.SH SYNOPSIS
+\fC#include <qvalidator.h>\fR
+.PP
+Inherits QValidator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQRegExpValidator\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQRegExpValidator\fR ( const QRegExp & rx, QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QRegExpValidator\fR ()"
+.br
+.ti -1c
+.BI "virtual QValidator::State \fBvalidate\fR ( QString & input, int & pos ) const"
+.br
+.ti -1c
+.BI "void \fBsetRegExp\fR ( const QRegExp & rx )"
+.br
+.ti -1c
+.BI "const QRegExp & \fBregExp\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRegExpValidator class is used to check a string against a regular expression.
+.PP
+QRegExpValidator contains a regular expression, "regexp", used to determine whether an input string is Acceptable, Intermediate or Invalid.
+.PP
+The regexp is treated as if it begins with the start of string assertion, \fB^\fR, and ends with the end of string assertion \fB$\fR so the match is against the entire input string, or from the given position if a start position greater than zero is given.
+.PP
+For a brief introduction to Qt's regexp engine see QRegExp.
+.PP
+Example of use:
+.PP
+.nf
+.br
+ // regexp: optional '-' followed by between 1 and 3 digits
+.br
+ QRegExp rx( "-?\\\\d{1,3}" );
+.br
+ QValidator* validator = new QRegExpValidator( rx, this );
+.br
+.br
+ QLineEdit* edit = new QLineEdit( this );
+.br
+ edit->setValidator( validator );
+.br
+.fi
+.PP
+Below we present some examples of validators. In practice they would normally be associated with a widget as in the example above.
+.PP
+.nf
+.br
+ // integers 1 to 9999
+.br
+ QRegExp rx( "[1-9]\\\\d{0,3}" );
+.br
+ // the validator treats the regexp as "^[1-9]\\\\d{0,3}$"
+.br
+ QRegExpValidator v( rx, 0 );
+.br
+ QString s;
+.br
+ int pos = 0;
+.br
+.br
+ s = "0"; v.validate( s, pos ); // returns Invalid
+.br
+ s = "12345"; v.validate( s, pos ); // returns Invalid
+.br
+ s = "1"; v.validate( s, pos ); // returns Acceptable
+.br
+.br
+ rx.setPattern( "\\\\S+" ); // one or more non-whitespace characters
+.br
+ v.setRegExp( rx );
+.br
+ s = "myfile.txt"; v.validate( s, pos ); // Returns Acceptable
+.br
+ s = "my file.txt"; v.validate( s, pos ); // Returns Invalid
+.br
+.br
+ // A, B or C followed by exactly five digits followed by W, X, Y or Z
+.br
+ rx.setPattern( "[A-C]\\\\d{5}[W-Z]" );
+.br
+ v.setRegExp( rx );
+.br
+ s = "a12345Z"; v.validate( s, pos ); // Returns Invalid
+.br
+ s = "A12345Z"; v.validate( s, pos ); // Returns Acceptable
+.br
+ s = "B12"; v.validate( s, pos ); // Returns Intermediate
+.br
+.br
+ // match most 'readme' files
+.br
+ rx.setPattern( "read\\\\S?me(\\.(txt|asc|1st))?" );
+.br
+ rx.setCaseSensitive( FALSE );
+.br
+ v.setRegExp( rx );
+.br
+ s = "readme"; v.validate( s, pos ); // Returns Acceptable
+.br
+ s = "README.1ST"; v.validate( s, pos ); // Returns Acceptable
+.br
+ s = "read me.txt"; v.validate( s, pos ); // Returns Invalid
+.br
+ s = "readm"; v.validate( s, pos ); // Returns Intermediate
+.br
+.fi
+.PP
+See also QRegExp, QIntValidator, QDoubleValidator, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRegExpValidator::QRegExpValidator ( QObject * parent, const char * name = 0 )"
+Constructs a validator that accepts any string (including an empty one) as valid. The object's parent is \fIparent\fR and its name is \fIname\fR.
+.SH "QRegExpValidator::QRegExpValidator ( const QRegExp & rx, QObject * parent, const char * name = 0 )"
+Constructs a validator which accepts all strings that match the regular expression \fIrx\fR. The object's parent is \fIparent\fR and its name is \fIname\fR.
+.PP
+The match is made against the entire string, e.g. if the regexp is \fB[A-Fa-f0-9]+\fR it will be treated as \fB^[A-Fa-f0-9]+$\fR.
+.SH "QRegExpValidator::~QRegExpValidator ()"
+Destroys the validator, freeing any resources allocated.
+.SH "const QRegExp & QRegExpValidator::regExp () const"
+Returns the regular expression used for validation.
+.PP
+See also setRegExp().
+.SH "void QRegExpValidator::setRegExp ( const QRegExp & rx )"
+Sets the regular expression used for validation to \fIrx\fR.
+.PP
+See also regExp().
+.SH "QValidator::State QRegExpValidator::validate ( QString & input, int & pos ) const\fC [virtual]\fR"
+Returns Acceptable if \fIinput\fR is matched by the regular expression for this validator, Intermediate if it has matched partially (i.e. could be a valid match if additional valid characters are added), and Invalid if \fIinput\fR is not matched.
+.PP
+The \fIpos\fR parameter is set to the length of the \fIinput\fR parameter.
+.PP
+For example, if the regular expression is \fB&#92;w&#92;d&#92;d\fR (that is, word-character, digit, digit) then "A57" is Acceptable," E5" is Intermediate and "+9" is Invalid.
+.PP
+See also QRegExp::match() and QRegExp::search().
+.PP
+Reimplemented from QValidator.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qregexpvalidator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qregexpvalidator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qregion.3qt b/doc/man/man3/qregion.3qt
new file mode 100644
index 0000000..418209a
--- /dev/null
+++ b/doc/man/man3/qregion.3qt
@@ -0,0 +1,388 @@
+'\" t
+.TH QRegion 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QRegion \- Clip region for a painter
+.SH SYNOPSIS
+\fC#include <qregion.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBRegionType\fR { Rectangle, Ellipse }"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ()"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ( int x, int y, int w, int h, RegionType t = Rectangle )"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ( const QRect & r, RegionType t = Rectangle )"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ( const QPointArray & a, bool winding = FALSE )"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "\fBQRegion\fR ( const QBitmap & bm )"
+.br
+.ti -1c
+.BI "\fB~QRegion\fR ()"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QRect & r ) const"
+.br
+.ti -1c
+.BI "void \fBtranslate\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "QRegion \fBunite\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRegion \fBintersect\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRegion \fBsubtract\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRegion \fBeor\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRect \fBboundingRect\fR () const"
+.br
+.ti -1c
+.BI "QMemArray<QRect> \fBrects\fR () const"
+.br
+.ti -1c
+.BI "const QRegion \fBoperator|\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "const QRegion \fBoperator+\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "const QRegion \fBoperator&\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "const QRegion \fBoperator-\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "const QRegion \fBoperator^\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator|=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator+=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator&=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator-=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "QRegion & \fBoperator^=\fR ( const QRegion & r )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "HRGN \fBhandle\fR () const"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QRegion & r )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QRegion & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QRegion class specifies a clip region for a painter.
+.PP
+QRegion is used with QPainter::setClipRegion() to limit the paint area to what needs to be painted. There is also a QWidget::repaint() that takes a QRegion parameter. QRegion is the best tool for reducing flicker.
+.PP
+A region can be created from a rectangle, an ellipse, a polygon or a bitmap. Complex regions may be created by combining simple regions using unite(), intersect(), subtract() or eor() (exclusive or). You can move a region using translate().
+.PP
+You can test whether a region isNull(), isEmpty() or if it contains() a QPoint or QRect. The bounding rectangle is given by boundingRect().
+.PP
+The function rects() gives a decomposition of the region into rectangles.
+.PP
+Example of using complex regions:
+.PP
+.nf
+.br
+ void MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p; // our painter
+.br
+ QRegion r1( QRect(100,100,200,80), // r1 = elliptic region
+.br
+ QRegion::Ellipse );
+.br
+ QRegion r2( QRect(100,120,90,30) ); // r2 = rectangular region
+.br
+ QRegion r3 = r1.intersect( r2 ); // r3 = intersection
+.br
+ p.begin( this ); // start painting widget
+.br
+ p.setClipRegion( r3 ); // set clip region
+.br
+ ... // paint clipped graphics
+.br
+ p.end(); // painting done
+.br
+ }
+.br
+.fi
+.PP
+QRegion is an implicitly shared class.
+.PP
+\fBWarning:\fR Due to window system limitations, the whole coordinate space for a region is limited to the points between -32767 and 32767 on Mac OS X and Windows 95/98/ME.
+.PP
+See also QPainter::setClipRegion(), QPainter::setClipRect(), Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QRegion::RegionType"
+Specifies the shape of the region to be created.
+.TP
+\fCQRegion::Rectangle\fR - the region covers the entire rectangle.
+.TP
+\fCQRegion::Ellipse\fR - the region is an ellipse inside the rectangle.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QRegion::QRegion ()"
+Constructs a null region.
+.PP
+See also isNull().
+.SH "QRegion::QRegion ( int x, int y, int w, int h, RegionType t = Rectangle )"
+Constructs a rectangular or elliptic region.
+.PP
+If \fIt\fR is Rectangle, the region is the filled rectangle (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR). If \fIt\fR is Ellipse, the region is the filled ellipse with center at (\fIx\fR + \fIw\fR / 2, \fIy\fR + \fIh\fR / 2) and size (\fIw\fR ,\fIh\fR ).
+.SH "QRegion::QRegion ( const QRect & r, RegionType t = Rectangle )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Create a region based on the rectange \fIr\fR with region type \fIt\fR.
+.PP
+If the rectangle is invalid a null region will be created.
+.PP
+See also QRegion::RegionType.
+.SH "QRegion::QRegion ( const QPointArray & a, bool winding = FALSE )"
+Constructs a polygon region from the point array \fIa\fR.
+.PP
+If \fIwinding\fR is TRUE, the polygon region is filled using the winding algorithm, otherwise the default even-odd fill algorithm is used.
+.PP
+This constructor may create complex regions that will slow down painting when used.
+.SH "QRegion::QRegion ( const QRegion & r )"
+Constructs a new region which is equal to region \fIr\fR.
+.SH "QRegion::QRegion ( const QBitmap & bm )"
+Constructs a region from the bitmap \fIbm\fR.
+.PP
+The resulting region consists of the pixels in bitmap \fIbm\fR that are \fCcolor1\fR, as if each pixel was a 1 by 1 rectangle.
+.PP
+This constructor may create complex regions that will slow down painting when used. Note that drawing masked pixmaps can be done much faster using QPixmap::setMask().
+.SH "QRegion::~QRegion ()"
+Destroys the region.
+.SH "QRect QRegion::boundingRect () const"
+Returns the bounding rectangle of this region. An empty region gives a rectangle that is QRect::isNull().
+.SH "bool QRegion::contains ( const QPoint & p ) const"
+Returns TRUE if the region contains the point \fIp\fR; otherwise returns FALSE.
+.SH "bool QRegion::contains ( const QRect & r ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the region overlaps the rectangle \fIr\fR; otherwise returns FALSE.
+.SH "QRegion QRegion::eor ( const QRegion & r ) const"
+Returns a region which is the exclusive or (XOR) of this region and \fIr\fR.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The figure shows the exclusive or of two elliptical regions.
+.SH "HRGN QRegion::handle () const"
+Returns the region's handle.
+.SH "QRegion QRegion::intersect ( const QRegion & r ) const"
+Returns a region which is the intersection of this region and \fIr\fR.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The figure shows the intersection of two elliptical regions.
+.SH "bool QRegion::isEmpty () const"
+Returns TRUE if the region is empty; otherwise returns FALSE. An empty region is a region that contains no points.
+.PP
+Example:
+.PP
+.nf
+.br
+ QRegion r1( 10, 10, 20, 20 );
+.br
+ QRegion r2( 40, 40, 20, 20 );
+.br
+ QRegion r3;
+.br
+ r1.isNull(); // FALSE
+.br
+ r1.isEmpty(); // FALSE
+.br
+ r3.isNull(); // TRUE
+.br
+ r3.isEmpty(); // TRUE
+.br
+ r3 = r1.intersect( r2 ); // r3 = intersection of r1 and r2
+.br
+ r3.isNull(); // FALSE
+.br
+ r3.isEmpty(); // TRUE
+.br
+ r3 = r1.unite( r2 ); // r3 = union of r1 and r2
+.br
+ r3.isNull(); // FALSE
+.br
+ r3.isEmpty(); // FALSE
+.br
+.fi
+.PP
+See also isNull().
+.SH "bool QRegion::isNull () const"
+Returns TRUE if the region is a null region; otherwise returns FALSE.
+.PP
+A null region is a region that has not been initialized. A null region is always empty.
+.PP
+See also isEmpty().
+.SH "bool QRegion::operator!= ( const QRegion & r ) const"
+Returns TRUE if the region is different from \fIr\fR; otherwise returns FALSE.
+.SH "const QRegion QRegion::operator& ( const QRegion & r ) const"
+Applies the intersect() function to this region and \fIr\fR. \fCr1&r2\fR is equivalent to \fCr1.intersect(r2)\fR
+.PP
+See also intersect().
+.SH "QRegion & QRegion::operator&= ( const QRegion & r )"
+Applies the intersect() function to this region and \fIr\fR and assigns the result to this region. \fCr1&=r2\fR is equivalent to \fCr1=r1.intersect(r2)\fR
+.PP
+See also intersect().
+.SH "const QRegion QRegion::operator+ ( const QRegion & r ) const"
+Applies the unite() function to this region and \fIr\fR. \fCr1+r2\fR is equivalent to \fCr1.unite(r2)\fR
+.PP
+See also unite() and operator|().
+.SH "QRegion & QRegion::operator+= ( const QRegion & r )"
+Applies the unite() function to this region and \fIr\fR and assigns the result to this region. \fCr1+=r2\fR is equivalent to \fCr1=r1.unite(r2)\fR
+.PP
+See also intersect().
+.SH "const QRegion QRegion::operator- ( const QRegion & r ) const"
+Applies the subtract() function to this region and \fIr\fR. \fCr1-r2\fR is equivalent to \fCr1.subtract(r2)\fR
+.PP
+See also subtract().
+.SH "QRegion & QRegion::operator-= ( const QRegion & r )"
+Applies the subtract() function to this region and \fIr\fR and assigns the result to this region. \fCr1-=r2\fR is equivalent to \fCr1=r1.subtract(r2)\fR
+.PP
+See also subtract().
+.SH "QRegion & QRegion::operator= ( const QRegion & r )"
+Assigns \fIr\fR to this region and returns a reference to the region.
+.SH "bool QRegion::operator== ( const QRegion & r ) const"
+Returns TRUE if the region is equal to \fIr\fR; otherwise returns FALSE.
+.SH "const QRegion QRegion::operator^ ( const QRegion & r ) const"
+Applies the eor() function to this region and \fIr\fR. \fCr1^r2\fR is equivalent to \fCr1.eor(r2)\fR
+.PP
+See also eor().
+.SH "QRegion & QRegion::operator^= ( const QRegion & r )"
+Applies the eor() function to this region and \fIr\fR and assigns the result to this region. \fCr1^=r2\fR is equivalent to \fCr1=r1.eor(r2)\fR
+.PP
+See also eor().
+.SH "const QRegion QRegion::operator| ( const QRegion & r ) const"
+Applies the unite() function to this region and \fIr\fR. \fCr1|r2\fR is equivalent to \fCr1.unite(r2)\fR
+.PP
+See also unite() and operator+().
+.SH "QRegion & QRegion::operator|= ( const QRegion & r )"
+Applies the unite() function to this region and \fIr\fR and assigns the result to this region. \fCr1|=r2\fR is equivalent to \fCr1=r1.unite(r2)\fR
+.PP
+See also unite().
+.SH "QMemArray<QRect> QRegion::rects () const"
+Returns an array of non-overlapping rectangles that make up the region.
+.PP
+The union of all the rectangles is equal to the original region.
+.SH "QRegion QRegion::subtract ( const QRegion & r ) const"
+Returns a region which is \fIr\fR subtracted from this region.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The figure shows the result when the ellipse on the right is subtracted from the ellipse on the left. (\fCleft-right\fR )
+.SH "void QRegion::translate ( int dx, int dy )"
+Translates (moves) the region \fIdx\fR along the X axis and \fIdy\fR along the Y axis.
+.SH "QRegion QRegion::unite ( const QRegion & r ) const"
+Returns a region which is the union of this region and \fIr\fR.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The figure shows the union of two elliptical regions.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QRegion & r )"
+Writes the region \fIr\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QRegion & r )"
+Reads a region from the stream \fIs\fR into \fIr\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qregion.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qregion.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qresizeevent.3qt b/doc/man/man3/qresizeevent.3qt
new file mode 100644
index 0000000..7388477
--- /dev/null
+++ b/doc/man/man3/qresizeevent.3qt
@@ -0,0 +1,70 @@
+'\" t
+.TH QResizeEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QResizeEvent \- Event parameters for resize events
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQResizeEvent\fR ( const QSize & size, const QSize & oldSize )"
+.br
+.ti -1c
+.BI "const QSize & \fBsize\fR () const"
+.br
+.ti -1c
+.BI "const QSize & \fBoldSize\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QResizeEvent class contains event parameters for resize events.
+.PP
+Resize events are sent to widgets that have been resized.
+.PP
+The event handler QWidget::resizeEvent() receives resize events.
+.PP
+See also QWidget::size, QWidget::geometry, and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QResizeEvent::QResizeEvent ( const QSize & size, const QSize & oldSize )"
+Constructs a resize event with the new and old widget sizes, \fIsize\fR and \fIoldSize\fR respectively.
+.SH "const QSize & QResizeEvent::oldSize () const"
+Returns the old size of the widget.
+.SH "const QSize & QResizeEvent::size () const"
+Returns the new size of the widget, which is the same as QWidget::size().
+.PP
+Examples:
+.)l chart/canvasview.cpp and life/life.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qresizeevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qresizeevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qscreen.3qt b/doc/man/man3/qscreen.3qt
new file mode 100644
index 0000000..202ff37
--- /dev/null
+++ b/doc/man/man3/qscreen.3qt
@@ -0,0 +1,329 @@
+'\" t
+.TH QScreen 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QScreen \- And its descendants manage the framebuffer and palette
+.SH SYNOPSIS
+\fC#include <qgfx_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQScreen\fR ( int display_id )"
+.br
+.ti -1c
+.BI "virtual \fB~QScreen\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBinitDevice\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBconnect\fR ( const QString & displaySpec ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBdisconnect\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBinitCursor\fR ( void * end_of_location, bool init = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBshutdownDevice\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetMode\fR ( int, int, int ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBsupportsDepth\fR ( int d ) const"
+.br
+.ti -1c
+.BI "virtual QGfx * \fBcreateGfx\fR ( unsigned char * bytes, int w, int h, int d, int linestep )"
+.br
+.ti -1c
+.BI "virtual QGfx * \fBscreenGfx\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsave\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrestore\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBblank\fR ( bool on )"
+.br
+.ti -1c
+.BI "virtual int \fBpixmapOffsetAlignment\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBpixmapLinestepAlignment\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBonCard\fR ( unsigned char * p ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBonCard\fR ( unsigned char * p, ulong & offset ) const"
+.br
+.ti -1c
+.BI "virtual void \fBset\fR ( unsigned " "int" ", unsigned " "int" ", unsigned " "int" ", unsigned int )"
+.br
+.ti -1c
+.BI "virtual int \fBalloc\fR ( unsigned int r, unsigned int g, unsigned int b )"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "int \fBdepth\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBpixmapDepth\fR () const"
+.br
+.ti -1c
+.BI "int \fBpixelType\fR () const"
+.br
+.ti -1c
+.BI "int \fBlinestep\fR () const"
+.br
+.ti -1c
+.BI "int \fBdeviceWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBdeviceHeight\fR () const"
+.br
+.ti -1c
+.BI "uchar * \fBbase\fR () const"
+.br
+.ti -1c
+.BI "virtual uchar * \fBcache\fR ( int, int )"
+.br
+.ti -1c
+.BI "virtual void \fBuncache\fR ( uchar * )"
+.br
+.ti -1c
+.BI "int \fBscreenSize\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotalSize\fR () const"
+.br
+.ti -1c
+.BI "QRgb * \fBclut\fR ()"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR ()"
+.br
+.ti -1c
+.BI "virtual QSize \fBmapToDevice\fR ( const QSize & s ) const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmapFromDevice\fR ( const QSize & s ) const"
+.br
+.ti -1c
+.BI "virtual QPoint \fBmapToDevice\fR ( const QPoint &, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual QPoint \fBmapFromDevice\fR ( const QPoint &, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual QRect \fBmapToDevice\fR ( const QRect & r, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual QRect \fBmapFromDevice\fR ( const QRect & r, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual QImage \fBmapToDevice\fR ( const QImage & i ) const"
+.br
+.ti -1c
+.BI "virtual QImage \fBmapFromDevice\fR ( const QImage & i ) const"
+.br
+.ti -1c
+.BI "virtual QRegion \fBmapToDevice\fR ( const QRegion & r, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual QRegion \fBmapFromDevice\fR ( const QRegion & r, const QSize & ) const"
+.br
+.ti -1c
+.BI "virtual int \fBtransformOrientation\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisTransformed\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisInterlaced\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDirty\fR ( const QRect & )"
+.br
+.ti -1c
+.BI "int * \fBopType\fR ()"
+.br
+.ti -1c
+.BI "int * \fBlastOp\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QScreen class and its descendants manage the framebuffer and palette.
+.PP
+QScreens act as factories for the screen cursor and QGfx's. QLinuxFbScreen manages a Linux framebuffer; accelerated drivers subclass QLinuxFbScreen. There can only be one screen in a Qt/Embedded application.
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QScreen::QScreen ( int display_id )"
+Create a screen; the \fIdisplay_id\fR is the number of the Qt/Embedded server to connect to.
+.SH "QScreen::~QScreen ()\fC [virtual]\fR"
+Destroys a QScreen
+.SH "int QScreen::alloc ( unsigned int r, unsigned int g, unsigned int b )\fC [virtual]\fR"
+Given an RGB value \fIr\fR \fIg\fR \fIb\fR, return an index which is the closest match to it in the screen's palette. Used in paletted modes only.
+.SH "uchar * QScreen::base () const"
+Returns a pointer to the start of the framebuffer.
+.SH "void QScreen::blank ( bool on )\fC [virtual]\fR"
+If \fIon\fR is true, blank the screen. Otherwise unblank it.
+.SH "uchar * QScreen::cache ( int, int )\fC [virtual]\fR"
+This function is used to store pixmaps in graphics memory for the use of the accelerated drivers. See QLinuxFbScreen (where the cacheing is implemented) for more information.
+.SH "QRgb * QScreen::clut ()"
+Returns the screen's color lookup table (color palette). This is only valid in paletted modes (8bpp and lower).
+.SH "bool QScreen::connect ( const QString & displaySpec )\fC [pure virtual]\fR"
+This function is called by every Qt/Embedded application on startup. It maps in the framebuffer and in the accelerated drivers the graphics card control registers. \fIdisplaySpec\fR has the following syntax:
+.PP
+\fC[gfx driver][:driver specific options][:display number]\fR
+.PP
+for example if you want to use the mach64 driver on fb1 as display 2:
+.PP
+\fCMach64:/dev/fb1:2\fR
+.PP
+\fIdisplaySpec\fR is passed in via the QWS_DISPLAY environment variable or the -display command line parameter.
+.SH "QGfx * QScreen::createGfx ( unsigned char * bytes, int w, int h, int d, int linestep )\fC [virtual]\fR"
+Creates a gfx on an arbitrary buffer \fIbytes\fR, width \fIw\fR and height \fIh\fR in pixels, depth \fId\fR and \fIlinestep\fR (length in bytes of each line in the buffer). Accelerated drivers can check to see if \fIbytes\fR points into graphics memory and create an accelerated Gfx.
+.SH "int QScreen::depth () const"
+Gives the depth in bits per pixel of the framebuffer. This is the number of bits each pixel takes up rather than the number of significant bits, so 24bpp and 32bpp express the same range of colors (8 bits of red, green and blue)
+.SH "int QScreen::deviceHeight () const"
+Gives the full height of the framebuffer device, as opposed to the height which Qt/Embedded will actually use. These can differ if the display is centered within the framebuffer.
+.SH "int QScreen::deviceWidth () const"
+Gives the full width of the framebuffer device, as opposed to the width which Qt/Embedded will actually use. These can differ if the display is centered within the framebuffer.
+.SH "void QScreen::disconnect ()\fC [pure virtual]\fR"
+This function is called by every Qt/Embedded application just before exitting; it's normally used to unmap the framebuffer.
+.SH "int QScreen::height () const"
+Gives the height in pixels of the framebuffer.
+.SH "int QScreen::initCursor ( void * end_of_location, bool init = FALSE )\fC [virtual]\fR"
+This is used to initialize the software cursor - \fIend_of_location\fR points to the address after the area where the cursor image can be stored. \fIinit\fR is true for the first application this method is called from (the Qt/Embedded server), false otherwise.
+.SH "bool QScreen::initDevice ()\fC [pure virtual]\fR"
+This function is called by the Qt/Embedded server when initializing the framebuffer. Accelerated drivers use it to set up the graphics card.
+.SH "bool QScreen::isInterlaced () const\fC [virtual]\fR"
+Returns TRUE if the display is interlaced (for instance a television screen); otherwise returns FALSE. If TRUE, drawing is altered to look better on such displays.
+.SH "bool QScreen::isTransformed () const\fC [virtual]\fR"
+Returns TRUE if the screen is transformed (for instance, rotated 90 degrees); otherwise returns FALSE. QScreen's version always returns FALSE.
+.SH "int * QScreen::lastOp ()"
+Returns the screens last operation.
+.SH "int QScreen::linestep () const"
+Returns the length in bytes of each scanline of the framebuffer.
+.SH "QSize QScreen::mapFromDevice ( const QSize & s ) const\fC [virtual]\fR"
+Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the QScreen implementation simply returns \fIs\fR.
+.SH "QPoint QScreen::mapFromDevice ( const QPoint &, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the QScreen implementation simply returns the point.
+.SH "QRect QScreen::mapFromDevice ( const QRect & r, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the QScreen implementation simply returns \fIr\fR.
+.SH "QImage QScreen::mapFromDevice ( const QImage & i ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms an image so that it matches the application coordinate space (e.g. rotating it 90 degrees counter-clockwise). The QScreen implementation simply returns \fIi\fR.
+.SH "QRegion QScreen::mapFromDevice ( const QRegion & r, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms a region so that it matches the application coordinate space (e.g. rotating it 90 degrees counter-clockwise). The QScreen implementation simply returns \fIr\fR.
+.SH "QSize QScreen::mapToDevice ( const QSize & s ) const\fC [virtual]\fR"
+Map a user coordinate to the one to actually draw. Used by the rotated driver; the QScreen implementation simply returns \fIs\fR.
+.SH "QPoint QScreen::mapToDevice ( const QPoint &, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Map a user coordinate to the one to actually draw. Used by the rotated driver; the QScreen implementation simply returns the point passed in.
+.SH "QRect QScreen::mapToDevice ( const QRect & r, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Map a user coordinate to the one to actually draw. Used by the rotated driver; the QScreen implementation simply returns \fIr\fR.
+.SH "QImage QScreen::mapToDevice ( const QImage & i ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms an image so that it fits the device coordinate space (e.g. rotating it 90 degrees clockwise). The QScreen implementation simply returns \fIi\fR.
+.SH "QRegion QScreen::mapToDevice ( const QRegion & r, const QSize & ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms a region so that it fits the device coordinate space (e.g. rotating it 90 degrees clockwise). The QScreen implementation simply returns \fIr\fR.
+.SH "int QScreen::numCols ()"
+Returns the number of entries in the color table returned by clut().
+.SH "bool QScreen::onCard ( unsigned char * p ) const\fC [virtual]\fR"
+Returns true if the buffer pointed to by \fIp\fR is within graphics card memory, false if it's in main RAM.
+.SH "bool QScreen::onCard ( unsigned char * p, ulong & offset ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This checks whether the buffer specified by \fIp\fR is on the card (as per the other version of onCard) and returns an offset in bytes from the start of graphics card memory in \fIoffset\fR if it is.
+.SH "int * QScreen::opType ()"
+Returns the screen's operation type.
+.SH "int QScreen::pixelType () const"
+Returns an integer (taking the same values as QGfx::PixelType) that specifies the pixel storage format of the screen.
+.SH "int QScreen::pixmapDepth () const\fC [virtual]\fR"
+Gives the preferred depth for pixmaps. By default this is the same as the screen depth, but for the VGA16 driver it's 8bpp.
+.SH "int QScreen::pixmapLinestepAlignment ()\fC [virtual]\fR"
+Returns the value in bits to which individual scanlines of pixmaps held in graphics card memory should be aligned. This is only useful for accelerated drivers. By default the value returned is 64 but it can be overridden by individual accelerated drivers.
+.SH "int QScreen::pixmapOffsetAlignment ()\fC [virtual]\fR"
+Returns the value in bits to which the start address of pixmaps held in graphics card memory should be aligned. This is only useful for accelerated drivers. By default the value returned is 64 but it can be overridden by individual accelerated drivers.
+.SH "void QScreen::restore ()\fC [virtual]\fR"
+Restores the state of the graphics card from a previous save()
+.SH "void QScreen::save ()\fC [virtual]\fR"
+Saves the state of the graphics card - used so that, for instance, the palette can be restored when switching between linux virtual consoles. Hardware QScreen descendants should save register state here if necessary if switching between virtual consoles (for example to/from X) is to be permitted.
+.SH "QGfx * QScreen::screenGfx ()\fC [virtual]\fR"
+Returns a QGfx (normally a QGfxRaster) initialized to point to the screen, with an origin at 0,0 and a clip region covering the whole screen.
+.SH "int QScreen::screenSize () const"
+Returns the size in bytes of the screen. This is always located at the beginning of framebuffer memory (i.e. at base()).
+.SH "void QScreen::set ( unsigned int, unsigned int, unsigned int, unsigned int )\fC [virtual]\fR"
+Sets an entry in the color palette.
+.SH "void QScreen::setDirty ( const QRect & )\fC [virtual]\fR"
+Indicates which section of the screen has been altered. Used by the VNC and VFB displays; the QScreen version does nothing.
+.SH "void QScreen::setMode ( int, int, int )\fC [pure virtual]\fR"
+This function can be used to set the framebuffer width, height and depth. It's currently unused.
+.SH "void QScreen::shutdownDevice ()\fC [virtual]\fR"
+Called by the Qt/Embedded server on shutdown; never called by a Qt/Embedded client. This is intended to support graphics card specific shutdown; the unaccelerated implementation simply hides the mouse cursor.
+.SH "bool QScreen::supportsDepth ( int d ) const\fC [virtual]\fR"
+Returns true if the screen supports a particular color depth \fId\fR. Possible values are 1,4,8,16 and 32.
+.SH "int QScreen::totalSize () const"
+Returns the size in bytes of available graphics card memory, including the screen. Offscreen memory is only used by the accelerated drivers.
+.SH "int QScreen::transformOrientation () const\fC [virtual]\fR"
+Used by the rotated server. The QScreeen implementation returns 0.
+.SH "void QScreen::uncache ( uchar * )\fC [virtual]\fR"
+This function is called on pixmap destruction to remove them from graphics card memory.
+.SH "int QScreen::width () const"
+Gives the width in pixels of the framebuffer.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qscreen.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qscreen.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qscrollbar.3qt b/doc/man/man3/qscrollbar.3qt
new file mode 100644
index 0000000..4cdc1fc
--- /dev/null
+++ b/doc/man/man3/qscrollbar.3qt
@@ -0,0 +1,360 @@
+'\" t
+.TH QScrollBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QScrollBar \- Vertical or horizontal scroll bar
+.SH SYNOPSIS
+\fC#include <qscrollbar.h>\fR
+.PP
+Inherits QWidget and QRangeControl.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQScrollBar\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQScrollBar\fR ( Orientation orientation, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQScrollBar\fR ( int minValue, int maxValue, int lineStep, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QScrollBar\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTracking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR () const"
+.br
+.ti -1c
+.BI "bool \fBdraggingSlider\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPalette\fR ( const QPalette & p )"
+.br
+.ti -1c
+.BI "int \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetMaxValue\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR () const"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLineStep\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetPageStep\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "int \fBsliderStart\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBsliderRect\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetValue\fR ( int )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBsliderPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBsliderMoved\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBsliderReleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBnextLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBprevLine\fR ()"
+.br
+.ti -1c
+.BI "void \fBnextPage\fR ()"
+.br
+.ti -1c
+.BI "void \fBprevPage\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBdraggingSlider\fR - whether the user has clicked the mouse on the slider and is currently dragging it \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR - the line step"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR - the scroll bar's maximum value"
+.br
+.ti -1c
+.BI "int \fBminValue\fR - the scroll bar's minimum value"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the orientation of the scroll bar"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR - the page step"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR - whether scroll bar tracking is enabled"
+.br
+.ti -1c
+.BI "int \fBvalue\fR - the scroll bar's value"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBhideEvent\fR ( QHideEvent * )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QScrollBar widget provides a vertical or horizontal scroll bar.
+.PP
+A scroll bar allows the user to control a value within a program-definable range and gives users a visible indication of the current value of a range control.
+.PP
+Scroll bars include four separate controls:
+.IP
+.TP
+The \fIline-up\fR and \fIline-down\fR controls are little buttons which the user can use to move one "line" up or down. The meaning of line is configurable. In editors and list boxes it means one line of text; in an image viewer it might mean 20 pixels.
+.IP
+.TP
+The \fIslider\fR is the handle that indicates the current value of the scroll bar, which the user can drag to change the value. This part of the scroll bar is sometimes called the "thumb".
+.IP
+.TP
+The \fIpage-up/page-down\fR control is the area on which the slider slides (the scroll bar's background). Clicking here moves the scroll bar towards the click. The meaning of "page" is also configurable: in editors and list boxes it means as many lines as there is space for in the widget.
+.IP
+.PP
+QScrollBar has very few of its own functions; it mostly relies on QRangeControl. The most useful functions are setValue() to set the scroll bar directly to some value; addPage(), addLine(), subtractPage(), and subtractLine() to simulate the effects of clicking (useful for accelerator keys); setSteps() to define the values of pageStep() and lineStep(); and setRange() to set the minValue() and maxValue() of the scroll bar. QScrollBar has a convenience constructor with which you can set most of these properties.
+.PP
+Some GUI styles (for example, the Windows and Motif styles provided with Qt), also use the pageStep() value to calculate the size of the slider.
+.PP
+In addition to the access functions from QRangeControl, QScrollBar provides a comprehensive set of signals: <center>.nf
+.TS
+l - l. Signal Emitted when valueChanged() the scroll bar's value has changed. The tracking() determines whether this signal is emitted during user interaction. sliderPressed() the user starts to drag the slider. sliderMoved() the user drags the slider. sliderReleased() the user releases the slider. nextLine() the scroll bar has moved one line down or right. Line is defined in QRangeControl. prevLine() the scroll bar has moved one line up or left. nextPage() the scroll bar has moved one page down or right. prevPage()
+.TE
+.fi
+</center>
+.PP
+QScrollBar only provides integer ranges. Note that although QScrollBar handles very large numbers, scroll bars on current screens cannot usefully control ranges above about 100,000 pixels. Beyond that, it becomes difficult for the user to control the scroll bar using either the keyboard or the mouse.
+.PP
+A scroll bar can be controlled by the keyboard, but it has a default focusPolicy() of NoFocus. Use setFocusPolicy() to enable keyboard focus. See keyPressEvent() for a list of key bindings.
+.PP
+If you need to add scroll bars to an interface, consider using the QScrollView class, which encapsulates the common uses for scroll bars.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QSlider, QSpinBox, QScrollView, GUI Design Handbook: Scroll Bar, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QScrollBar::QScrollBar ( QWidget * parent, const char * name = 0 )"
+Constructs a vertical scroll bar.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.PP
+The minValue defaults to 0, the maxValue to 99, with a lineStep size of 1 and a pageStep size of 10, and an initial value of 0.
+.SH "QScrollBar::QScrollBar ( Orientation orientation, QWidget * parent, const char * name = 0 )"
+Constructs a scroll bar.
+.PP
+The \fIorientation\fR must be Qt::Vertical or Qt::Horizontal.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.PP
+The minValue defaults to 0, the maxValue to 99, with a lineStep size of 1 and a pageStep size of 10, and an initial value of 0.
+.SH "QScrollBar::QScrollBar ( int minValue, int maxValue, int lineStep, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )"
+Constructs a scroll bar whose value can never be smaller than \fIminValue\fR or greater than \fImaxValue\fR, whose line step size is \fIlineStep\fR and page step size is \fIpageStep\fR and whose value is initially \fIvalue\fR (which is guaranteed to be in range using bound()).
+.PP
+If \fIorientation\fR is Vertical the scroll bar is vertical and if it is Horizontal the scroll bar is horizontal.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QScrollBar::~QScrollBar ()"
+Destructor.
+.SH "bool QScrollBar::draggingSlider () const"
+Returns TRUE if the user has clicked the mouse on the slider and is currently dragging it; otherwise returns FALSE. See the "draggingSlider" property for details.
+.SH "void QScrollBar::hideEvent ( QHideEvent * )\fC [virtual protected]\fR"
+This function is called when the scrollbar is hidden.
+.PP
+Reimplemented from QWidget.
+.SH "int QScrollBar::lineStep () const"
+Returns the line step. See the "lineStep" property for details.
+.SH "int QScrollBar::maxValue () const"
+Returns the scroll bar's maximum value. See the "maxValue" property for details.
+.SH "int QScrollBar::minValue () const"
+Returns the scroll bar's minimum value. See the "minValue" property for details.
+.SH "void QScrollBar::nextLine ()\fC [signal]\fR"
+This signal is emitted when the scroll bar scrolls one line down or right.
+.SH "void QScrollBar::nextPage ()\fC [signal]\fR"
+This signal is emitted when the scroll bar scrolls one page down or right.
+.SH "Orientation QScrollBar::orientation () const"
+Returns the orientation of the scroll bar. See the "orientation" property for details.
+.SH "int QScrollBar::pageStep () const"
+Returns the page step. See the "pageStep" property for details.
+.SH "void QScrollBar::prevLine ()\fC [signal]\fR"
+This signal is emitted when the scroll bar scrolls one line up or left.
+.SH "void QScrollBar::prevPage ()\fC [signal]\fR"
+This signal is emitted when the scroll bar scrolls one page up or left.
+.SH "void QScrollBar::setLineStep ( int )"
+Sets the line step. See the "lineStep" property for details.
+.SH "void QScrollBar::setMaxValue ( int )"
+Sets the scroll bar's maximum value. See the "maxValue" property for details.
+.SH "void QScrollBar::setMinValue ( int )"
+Sets the scroll bar's minimum value. See the "minValue" property for details.
+.SH "void QScrollBar::setOrientation ( Orientation )\fC [virtual]\fR"
+Sets the orientation of the scroll bar. See the "orientation" property for details.
+.SH "void QScrollBar::setPageStep ( int )"
+Sets the page step. See the "pageStep" property for details.
+.SH "void QScrollBar::setPalette ( const QPalette & p )\fC [virtual]\fR"
+Reimplements the virtual function QWidget::setPalette().
+.PP
+Sets the background color to the mid color for Motif style scroll bars using palette \fIp\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QScrollBar::setTracking ( bool enable )\fC [virtual]\fR"
+Sets whether scroll bar tracking is enabled to \fIenable\fR. See the "tracking" property for details.
+.SH "void QScrollBar::setValue ( int )\fC [slot]\fR"
+Sets the scroll bar's value. See the "value" property for details.
+.SH "void QScrollBar::sliderMoved ( int value )\fC [signal]\fR"
+This signal is emitted when the slider is dragged by the user, with the new scroll bar \fIvalue\fR as an argument.
+.PP
+This signal is emitted even when tracking is turned off.
+.PP
+See also tracking, valueChanged(), nextLine(), prevLine(), nextPage(), and prevPage().
+.SH "void QScrollBar::sliderPressed ()\fC [signal]\fR"
+This signal is emitted when the user presses the slider with the mouse.
+.SH "QRect QScrollBar::sliderRect () const"
+Returns the scroll bar slider rectangle.
+.PP
+See also sliderStart().
+.SH "void QScrollBar::sliderReleased ()\fC [signal]\fR"
+This signal is emitted when the user releases the slider with the mouse.
+.SH "int QScrollBar::sliderStart () const"
+Returns the pixel position where the scroll bar slider starts.
+.PP
+This is equivalent to sliderRect().y() for vertical scroll bars or sliderRect().x() for horizontal scroll bars.
+.SH "bool QScrollBar::tracking () const"
+Returns TRUE if scroll bar tracking is enabled; otherwise returns FALSE. See the "tracking" property for details.
+.SH "int QScrollBar::value () const"
+Returns the scroll bar's value. See the "value" property for details.
+.SH "void QScrollBar::valueChanged ( int value )\fC [signal]\fR"
+This signal is emitted when the scroll bar value has changed, with the new scroll bar \fIvalue\fR as an argument.
+.SS "Property Documentation"
+.SH "bool draggingSlider"
+This property holds whether the user has clicked the mouse on the slider and is currently dragging it.
+.PP
+Get this property's value with draggingSlider().
+.SH "int lineStep"
+This property holds the line step.
+.PP
+When setting lineStep, the virtual stepChange() function will be called if the new line step is different from the previous setting.
+.PP
+See also setSteps(), QRangeControl::pageStep(), and setRange().
+.PP
+Set this property's value with setLineStep() and get this property's value with lineStep().
+.SH "int maxValue"
+This property holds the scroll bar's maximum value.
+.PP
+When setting this property, the QScrollBar::minValue is adjusted if necessary to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "int minValue"
+This property holds the scroll bar's minimum value.
+.PP
+When setting this property, the QScrollBar::maxValue is adjusted if necessary to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "Orientation orientation"
+This property holds the orientation of the scroll bar.
+.PP
+The orientation must be Qt::Vertical (the default) or Qt::Horizontal.
+.PP
+Set this property's value with setOrientation() and get this property's value with orientation().
+.SH "int pageStep"
+This property holds the page step.
+.PP
+When setting pageStep, the virtual stepChange() function will be called if the new page step is different from the previous setting.
+.PP
+See also QRangeControl::setSteps(), lineStep, and setRange().
+.PP
+Set this property's value with setPageStep() and get this property's value with pageStep().
+.SH "bool tracking"
+This property holds whether scroll bar tracking is enabled.
+.PP
+If tracking is enabled (the default), the scroll bar emits the valueChanged() signal while the slider is being dragged. If tracking is disabled, the scroll bar emits the valueChanged() signal only when the user releases the mouse button after moving the slider.
+.PP
+Set this property's value with setTracking() and get this property's value with tracking().
+.SH "int value"
+This property holds the scroll bar's value.
+.PP
+Set this property's value with setValue() and get this property's value with value().
+.PP
+See also QRangeControl::value() and prevValue().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qscrollbar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qscrollbar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qscrollview.3qt b/doc/man/man3/qscrollview.3qt
new file mode 100644
index 0000000..617341f
--- /dev/null
+++ b/doc/man/man3/qscrollview.3qt
@@ -0,0 +1,913 @@
+'\" t
+.TH QScrollView 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QScrollView \- Scrolling area with on-demand scroll bars
+.SH SYNOPSIS
+\fC#include <qscrollview.h>\fR
+.PP
+Inherits QFrame.
+.PP
+Inherited by QCanvasView, QTable, QGridView, QIconView, QListBox, QListView, and QTextEdit.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQScrollView\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QScrollView\fR ()"
+.br
+.ti -1c
+.BI "enum \fBResizePolicy\fR { Default, Manual, AutoOne, AutoOneFit }"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizePolicy\fR ( ResizePolicy )"
+.br
+.ti -1c
+.BI "ResizePolicy \fBresizePolicy\fR () const"
+.br
+.ti -1c
+.BI "void \fBremoveChild\fR ( QWidget * child )"
+.br
+.ti -1c
+.BI "virtual void \fBaddChild\fR ( QWidget * child, int x = 0, int y = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveChild\fR ( QWidget * child, int x, int y )"
+.br
+.ti -1c
+.BI "int \fBchildX\fR ( QWidget * child )"
+.br
+.ti -1c
+.BI "int \fBchildY\fR ( QWidget * child )"
+.br
+.ti -1c
+.BI "bool childIsVisible ( QWidget * child ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void showChild ( QWidget * child, bool y = TRUE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBScrollBarMode\fR { Auto, AlwaysOff, AlwaysOn }"
+.br
+.ti -1c
+.BI "ScrollBarMode \fBvScrollBarMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetVScrollBarMode\fR ( ScrollBarMode )"
+.br
+.ti -1c
+.BI "ScrollBarMode \fBhScrollBarMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetHScrollBarMode\fR ( ScrollBarMode )"
+.br
+.ti -1c
+.BI "QWidget * \fBcornerWidget\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCornerWidget\fR ( QWidget * corner )"
+.br
+.ti -1c
+.BI "QScrollBar * \fBhorizontalScrollBar\fR () const"
+.br
+.ti -1c
+.BI "QScrollBar * \fBverticalScrollBar\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBviewport\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBclipper\fR () const"
+.br
+.ti -1c
+.BI "int \fBvisibleWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBvisibleHeight\fR () const"
+.br
+.ti -1c
+.BI "int \fBcontentsWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBcontentsHeight\fR () const"
+.br
+.ti -1c
+.BI "int \fBcontentsX\fR () const"
+.br
+.ti -1c
+.BI "int \fBcontentsY\fR () const"
+.br
+.ti -1c
+.BI "void \fBupdateContents\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBupdateContents\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBupdateContents\fR ()"
+.br
+.ti -1c
+.BI "void \fBrepaintContents\fR ( int x, int y, int w, int h, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBrepaintContents\fR ( const QRect & r, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBrepaintContents\fR ( bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBcontentsToViewport\fR ( int x, int y, int & vx, int & vy ) const"
+.br
+.ti -1c
+.BI "void \fBviewportToContents\fR ( int vx, int vy, int & x, int & y ) const"
+.br
+.ti -1c
+.BI "QPoint \fBcontentsToViewport\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "QPoint \fBviewportToContents\fR ( const QPoint & vp ) const"
+.br
+.ti -1c
+.BI "void \fBenableClipper\fR ( bool y )"
+.br
+.ti -1c
+.BI "void \fBsetStaticBackground\fR ( bool y )"
+.br
+.ti -1c
+.BI "bool \fBhasStaticBackground\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBviewportSize\fR ( int x, int y ) const"
+.br
+.ti -1c
+.BI "bool \fBisHorizontalSliderPressed\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisVerticalSliderPressed\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetDragAutoScroll\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBdragAutoScroll\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBresizeContents\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "void \fBscrollBy\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "virtual void \fBsetContentsPos\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBensureVisible\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBensureVisible\fR ( int x, int y, int xmargin, int ymargin )"
+.br
+.ti -1c
+.BI "void \fBcenter\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBcenter\fR ( int x, int y, float xmargin, float ymargin )"
+.br
+.ti -1c
+.BI "void \fBupdateScrollBars\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBcontentsMoving\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBhorizontalSliderPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBhorizontalSliderReleased\fR ()"
+.br
+.ti -1c
+.BI "void \fBverticalSliderPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBverticalSliderReleased\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcontentsHeight\fR - the height of the contents area \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcontentsWidth\fR - the width of the contents area \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcontentsX\fR - the X coordinate of the contents that are at the left edge of the viewport \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcontentsY\fR - the Y coordinate of the contents that are at the top edge of the viewport \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBdragAutoScroll\fR - whether autoscrolling in drag move events is enabled"
+.br
+.ti -1c
+.BI "ScrollBarMode \fBhScrollBarMode\fR - the mode for the horizontal scroll bar"
+.br
+.ti -1c
+.BI "ResizePolicy \fBresizePolicy\fR - the resize policy"
+.br
+.ti -1c
+.BI "ScrollBarMode \fBvScrollBarMode\fR - the mode for the vertical scroll bar"
+.br
+.ti -1c
+.BI "int \fBvisibleHeight\fR - the vertical amount of the content that is visible \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBvisibleWidth\fR - the horizontal amount of the content that is visible \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p, int clipx, int clipy, int clipw, int cliph )"
+.br
+.ti -1c
+.BI "virtual void \fBdrawContentsOffset\fR ( QPainter * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMousePressEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseReleaseEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseDoubleClickEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsMouseMoveEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragEnterEvent\fR ( QDragEnterEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragMoveEvent\fR ( QDragMoveEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragLeaveEvent\fR ( QDragLeaveEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDropEvent\fR ( QDropEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsWheelEvent\fR ( QWheelEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsContextMenuEvent\fR ( QContextMenuEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBviewportPaintEvent\fR ( QPaintEvent * pe )"
+.br
+.ti -1c
+.BI "virtual void \fBviewportResizeEvent\fR ( QResizeEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMargins\fR ( int left, int top, int right, int bottom )"
+.br
+.ti -1c
+.BI "int \fBleftMargin\fR () const"
+.br
+.ti -1c
+.BI "int \fBtopMargin\fR () const"
+.br
+.ti -1c
+.BI "int \fBrightMargin\fR () const"
+.br
+.ti -1c
+.BI "int \fBbottomMargin\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetHBarGeometry\fR ( QScrollBar & hbar, int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "virtual void \fBsetVBarGeometry\fR ( QScrollBar & vbar, int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "virtual bool \fBeventFilter\fR ( QObject * obj, QEvent * e )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QScrollView widget provides a scrolling area with on-demand scroll bars.
+.PP
+The QScrollView is a large canvas - potentially larger than the coordinate system normally supported by the underlying window system. This is important because it is quite easy to go beyond these limitations (e.g. many web pages are more than 32000 pixels high). Additionally, the QScrollView can have QWidgets positioned on it that scroll around with the drawn content. These sub-widgets can also have positions outside the normal coordinate range (but they are still limited in size).
+.PP
+To provide content for the widget, inherit from QScrollView, reimplement drawContents() and use resizeContents() to set the size of the viewed area. Use addChild() and moveChild() to position widgets on the view.
+.PP
+To use QScrollView effectively it is important to understand its widget structure in the three styles of use: a single large child widget, a large panning area with some widgets and a large panning area with many widgets.
+.SH "Using One Big Widget"
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The first, simplest usage of QScrollView (depicted above), is appropriate for scrolling areas that are never more than about 4000 pixels in either dimension (this is about the maximum reliable size on X11 servers). In this usage, you just make one large child in the QScrollView. The child should be a child of the viewport() of the scrollview and be added with addChild():
+.PP
+.nf
+.br
+ QScrollView* sv = new QScrollView(...);
+.br
+ QVBox* big_box = new QVBox(sv->viewport());
+.br
+ sv->addChild(big_box);
+.br
+.fi
+You can go on to add arbitrary child widgets to the single child in the scrollview as you would with any widget:
+.PP
+.nf
+.br
+ QLabel* child1 = new QLabel("CHILD", big_box);
+.br
+ QLabel* child2 = new QLabel("CHILD", big_box);
+.br
+ QLabel* child3 = new QLabel("CHILD", big_box);
+.br
+ ...
+.br
+.fi
+.PP
+Here the QScrollView has four children: the viewport(), the verticalScrollBar(), the horizontalScrollBar() and a small cornerWidget(). The viewport() has one child: the big QVBox. The QVBox has the three QLabel objects as child widgets. When the view is scrolled, the QVBox is moved; its children move with it as child widgets normally do.
+.SH "Using a Very Big View with Some Widgets"
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The second usage of QScrollView (depicted above) is appropriate when few, if any, widgets are on a very large scrolling area that is potentially larger than 4000 pixels in either dimension. In this usage you call resizeContents() to set the size of the area and reimplement drawContents() to paint the contents. You may also add some widgets by making them children of the viewport() and adding them with addChild() (this is the same as the process for the single large widget in the previous example):
+.PP
+.nf
+.br
+ QScrollView* sv = new QScrollView(...);
+.br
+ QLabel* child1 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child1);
+.br
+ QLabel* child2 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child2);
+.br
+ QLabel* child3 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child3);
+.br
+.fi
+Here, the QScrollView has the same four children: the viewport(), the verticalScrollBar(), the horizontalScrollBar() and a small cornerWidget(). The viewport() has the three QLabel objects as child widgets. When the view is scrolled, the scrollview moves the child widgets individually.
+.SH "Using a Very Big View with Many Widgets"
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+The final usage of QScrollView (depicted above) is appropriate when many widgets are on a very large scrolling area that is potentially larger than 4000 pixels in either dimension. In this usage you call resizeContents() to set the size of the area and reimplement drawContents() to paint the contents. You then call enableClipper(TRUE) and add widgets, again by making them children of the viewport(), and adding them with addChild():
+.PP
+.nf
+.br
+ QScrollView* sv = new QScrollView(...);
+.br
+ sv->enableClipper(TRUE);
+.br
+ QLabel* child1 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child1);
+.br
+ QLabel* child2 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child2);
+.br
+ QLabel* child3 = new QLabel("CHILD", sv->viewport());
+.br
+ sv->addChild(child3);
+.br
+.fi
+.PP
+Here, the QScrollView has four children: the clipper() (not the viewport() this time), the verticalScrollBar(), the horizontalScrollBar() and a small cornerWidget(). The clipper() has one child: the viewport(). The viewport() has the same three labels as child widgets. When the view is scrolled the viewport() is moved; its children move with it as child widgets normally do.
+.SH "Details Relevant for All Views"
+Normally you will use the first or third method if you want any child widgets in the view.
+.PP
+Note that the widget you see in the scrolled area is the viewport() widget, not the QScrollView itself. So to turn mouse tracking on, for example, use viewport()->setMouseTracking(TRUE).
+.PP
+To enable drag-and-drop, you would setAcceptDrops(TRUE) on the QScrollView (because drag-and-drop events propagate to the parent). But to work out the logical position in the view, you would need to map the drop co-ordinate from being relative to the QScrollView to being relative to the contents; use the function viewportToContents() for this.
+.PP
+To handle mouse events on the scrolling area, subclass scrollview as you would subclass other widgets, but rather than reimplementing mousePressEvent(), reimplement contentsMousePressEvent() instead. The contents specific event handlers provide translated events in the coordinate system of the scrollview. If you reimplement mousePressEvent(), you'll get called only when part of the QScrollView is clicked: and the only such part is the "corner" (if you don't set a cornerWidget()) and the frame; everything else is covered up by the viewport, clipper or scroll bars.
+.PP
+When you construct a QScrollView, some of the widget flags apply to the viewport() instead of being sent to the QWidget constructor for the QScrollView. This applies to WNoAutoErase, WStaticContents, and WPaintClever. See Qt::WidgetFlags for documentation about these flags. Here are some examples:
+.IP
+.TP
+An image-manipulation widget would use \fCWNoAutoErase|WStaticContents\fR because the widget draws all pixels itself, and when its size increases, it only needs a paint event for the new part because the old part remains unchanged.
+.IP
+.TP
+A scrolling game widget in which the background scrolls as the characters move might use WNoAutoErase (in addition to WStaticContents) so that the window system background does not flash in and out during scrolling.
+.IP
+.TP
+A word processing widget might use WNoAutoErase and repaint itself line by line to get a less-flickery resizing. If the widget is in a mode in which no text justification can take place, it might use WStaticContents too, so that it would only get a repaint for the newly visible parts.
+.IP
+.PP
+Child widgets may be moved using addChild() or moveChild(). Use childX() and childY() to get the position of a child widget.
+.PP
+A widget may be placed in the corner between the vertical and horizontal scrollbars with setCornerWidget(). You can get access to the scrollbars using horizontalScrollBar() and verticalScrollBar(), and to the viewport with viewport(). The scroll view can be scrolled using scrollBy(), ensureVisible(), setContentsPos() or center().
+.PP
+The visible area is given by visibleWidth() and visibleHeight(), and the contents area by contentsWidth() and contentsHeight(). The contents may be repainted using one of the repaintContents() or updateContents() functions.
+.PP
+Coordinate conversion is provided by contentsToViewport() and viewportToContents().
+.PP
+The contentsMoving() signal is emitted just before the contents are moved to a new position.
+.PP
+\fBWarning:\fR QScrollView currently does not erase the background when resized, i.e. you must always clear the background manually in scrollview subclasses. This will change in a future version of Qt and we recommend specifying the WNoAutoErase flag explicitly.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also Abstract Widget Classes.
+.SS "Member Type Documentation"
+.SH "QScrollView::ResizePolicy"
+This enum type is used to control a QScrollView's reaction to resize events.
+.TP
+\fCQScrollView::Default\fR - the QScrollView selects one of the other settings automatically when it has to. In this version of Qt, QScrollView changes to Manual if you resize the contents with resizeContents() and to AutoOne if a child is added.
+.TP
+\fCQScrollView::Manual\fR - the contents stays the size set by resizeContents().
+.TP
+\fCQScrollView::AutoOne\fR - if there is only one child widget the contents stays the size of that widget. Otherwise the behavior is undefined.
+.TP
+\fCQScrollView::AutoOneFit\fR - if there is only one child widget the contents stays the size of that widget's sizeHint(). If the scrollview is resized larger than the child's sizeHint(), the child will be resized to fit. If there is more than one child, the behavior is undefined.
+.SH "QScrollView::ScrollBarMode"
+This enum type describes the various modes of QScrollView's scroll bars.
+.TP
+\fCQScrollView::Auto\fR - QScrollView shows a scroll bar when the content is too large to fit and not otherwise. This is the default.
+.TP
+\fCQScrollView::AlwaysOff\fR - QScrollView never shows a scroll bar.
+.TP
+\fCQScrollView::AlwaysOn\fR - QScrollView always shows a scroll bar.
+.PP
+(The modes for the horizontal and vertical scroll bars are independent.)
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QScrollView::QScrollView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a QScrollView called \fIname\fR with parent \fIparent\fR and widget flags \fIf\fR.
+.PP
+The widget flags WStaticContents, WNoAutoErase and WPaintClever are propagated to the viewport() widget. The other widget flags are propagated to the parent constructor as usual.
+.SH "QScrollView::~QScrollView ()"
+Destroys the QScrollView. Any children added with addChild() will be deleted.
+.SH "void QScrollView::addChild ( QWidget * child, int x = 0, int y = 0 )\fC [virtual]\fR"
+Inserts the widget, \fIchild\fR, into the scrolled area positioned at (\fIx\fR, \fIy\fR). The position defaults to (0, 0). If the child is already in the view, it is just moved.
+.PP
+You may want to call enableClipper(TRUE) if you add a large number of widgets.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "int QScrollView::bottomMargin () const\fC [protected]\fR"
+Returns the bottom margin.
+.PP
+See also setMargins().
+.SH "void QScrollView::center ( int x, int y )\fC [slot]\fR"
+Scrolls the content so that the point \fI(x, y)\fR is in the center of visible area.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "void QScrollView::center ( int x, int y, float xmargin, float ymargin )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Scrolls the content so that the point \fI(x, y)\fR is visible with the \fIxmargin\fR and \fIymargin\fR margins (as fractions of visible the area).
+.PP
+For example:
+.TP
+Margin 0.0 allows (x, y) to be on the edge of the visible area.
+.TP
+Margin 0.5 ensures that (x, y) is in middle 50% of the visible area.
+.TP
+Margin 1.0 ensures that (x, y) is in the center of the the visible area.
+.SH "bool QScrollView::childIsVisible ( QWidget * child )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if \fIchild\fR is visible. This is equivalent to child->isVisible().
+.SH "int QScrollView::childX ( QWidget * child )"
+Returns the X position of the given \fIchild\fR widget. Use this rather than QWidget::x() for widgets added to the view.
+.PP
+This function returns 0 if \fIchild\fR has not been added to the view.
+.SH "int QScrollView::childY ( QWidget * child )"
+Returns the Y position of the given \fIchild\fR widget. Use this rather than QWidget::y() for widgets added to the view.
+.PP
+This function returns 0 if \fIchild\fR has not been added to the view.
+.SH "QWidget * QScrollView::clipper () const"
+Returns the clipper widget. Contents in the scrollview are ultimately clipped to be inside the clipper widget.
+.PP
+You should not need to use this function.
+.PP
+See also visibleWidth and visibleHeight.
+.SH "void QScrollView::contentsContextMenuEvent ( QContextMenuEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a contextMenuEvent() in \fIe\fR: the mouse position is translated to be a point on the contents.
+.PP
+Example: chart/canvasview.cpp.
+.SH "void QScrollView::contentsDragEnterEvent ( QDragEnterEvent * )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a dragEnterEvent(): the drag position is translated to be a point on the contents.
+.PP
+Reimplemented in QTable.
+.SH "void QScrollView::contentsDragLeaveEvent ( QDragLeaveEvent * )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a dragLeaveEvent(): the drag position is translated to be a point on the contents.
+.PP
+Reimplemented in QTable.
+.SH "void QScrollView::contentsDragMoveEvent ( QDragMoveEvent * )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a dragMoveEvent(): the drag position is translated to be a point on the contents.
+.PP
+Reimplemented in QTable.
+.SH "void QScrollView::contentsDropEvent ( QDropEvent * )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a dropEvent(): the drop position is translated to be a point on the contents.
+.PP
+Reimplemented in QTable.
+.SH "int QScrollView::contentsHeight () const"
+Returns the height of the contents area. See the "contentsHeight" property for details.
+.SH "void QScrollView::contentsMouseDoubleClickEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a mouseDoubleClickEvent(): the click position in \fIe\fR is translated to be a point on the contents.
+.PP
+The default implementation generates a normal mouse press event.
+.PP
+Reimplemented in QListView.
+.SH "void QScrollView::contentsMouseMoveEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a mouseMoveEvent(): the mouse position in \fIe\fR is translated to be a point on the contents.
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/canvasview.cpp.
+.PP
+Reimplemented in QListView.
+.SH "void QScrollView::contentsMousePressEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a mousePressEvent(): the press position in \fIe\fR is translated to be a point on the contents.
+.PP
+Examples:
+.)l canvas/canvas.cpp and chart/canvasview.cpp.
+.PP
+Reimplemented in QListView.
+.SH "void QScrollView::contentsMouseReleaseEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a mouseReleaseEvent(): the release position in \fIe\fR is translated to be a point on the contents.
+.PP
+Reimplemented in QListView.
+.SH "void QScrollView::contentsMoving ( int x, int y )\fC [signal]\fR"
+This signal is emitted just before the contents are moved to position \fI(x, y)\fR.
+.PP
+See also contentsX and contentsY.
+.SH "void QScrollView::contentsToViewport ( int x, int y, int & vx, int & vy ) const"
+Translates a point (\fIx\fR, \fIy\fR) in the contents to a point (\fIvx\fR, \fIvy\fR) on the viewport() widget.
+.SH "QPoint QScrollView::contentsToViewport ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point \fIp\fR translated to a point on the viewport() widget.
+.SH "void QScrollView::contentsWheelEvent ( QWheelEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever the QScrollView receives a wheelEvent() in \fIe\fR: the mouse position is translated to be a point on the contents.
+.SH "int QScrollView::contentsWidth () const"
+Returns the width of the contents area. See the "contentsWidth" property for details.
+.SH "int QScrollView::contentsX () const"
+Returns the X coordinate of the contents that are at the left edge of the viewport. See the "contentsX" property for details.
+.SH "int QScrollView::contentsY () const"
+Returns the Y coordinate of the contents that are at the top edge of the viewport. See the "contentsY" property for details.
+.SH "QWidget * QScrollView::cornerWidget () const"
+Returns the widget in the corner between the two scroll bars.
+.PP
+By default, no corner widget is present.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "bool QScrollView::dragAutoScroll () const"
+Returns TRUE if autoscrolling in drag move events is enabled; otherwise returns FALSE. See the "dragAutoScroll" property for details.
+.SH "void QScrollView::drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph )\fC [virtual protected]\fR"
+Reimplement this function if you are viewing a drawing area rather than a widget.
+.PP
+The function should draw the rectangle (\fIclipx\fR, \fIclipy\fR, \fIclipw\fR, \fIcliph\fR) of the contents using painter \fIp\fR. The clip rectangle is in the scrollview's coordinates.
+.PP
+For example:
+.PP
+.nf
+.br
+ {
+.br
+ // Fill a 40000 by 50000 rectangle at (100000,150000)
+.br
+.br
+ // Calculate the coordinates...
+.br
+ int x1 = 100000, y1 = 150000;
+.br
+ int x2 = x1+40000-1, y2 = y1+50000-1;
+.br
+.br
+ // Clip the coordinates so X/Windows will not have problems...
+.br
+ if (x1 < clipx) x1=clipx;
+.br
+ if (y1 < clipy) y1=clipy;
+.br
+ if (x2 > clipx+clipw-1) x2=clipx+clipw-1;
+.br
+ if (y2 > clipy+cliph-1) y2=clipy+cliph-1;
+.br
+.br
+ // Paint using the small coordinates...
+.br
+ if ( x2 >= x1 && y2 >= y1 )
+.br
+ p->fillRect(x1, y1, x2-x1+1, y2-y1+1, red);
+.br
+ }
+.br
+.fi
+.PP
+The clip rectangle and translation of the painter \fIp\fR is already set appropriately.
+.PP
+Example: qdir/qdir.cpp.
+.PP
+Reimplemented in QCanvasView and QTable.
+.SH "void QScrollView::drawContentsOffset ( QPainter * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph )\fC [virtual protected]\fR"
+For backward-compatibility only. It is easier to use drawContents(QPainter*,int,int,int,int).
+.PP
+The default implementation translates the painter appropriately and calls drawContents(QPainter*,int,int,int,int). See drawContents() for an explanation of the parameters \fIp\fR, \fIoffsetx\fR, \fIoffsety\fR, \fIclipx\fR, \fIclipy\fR, \fIclipw\fR and \fIcliph\fR.
+.PP
+Reimplemented in QListView.
+.SH "void QScrollView::enableClipper ( bool y )"
+When a large numbers of child widgets are in a scrollview, especially if they are close together, the scrolling performance can suffer greatly. If \fIy\fR is TRUE the scrollview will use an extra widget to group child widgets.
+.PP
+Note that you may only call enableClipper() prior to adding widgets.
+.PP
+For a full discussion, see this class's detailed description.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "void QScrollView::ensureVisible ( int x, int y )\fC [slot]\fR"
+Scrolls the content so that the point \fI(x, y)\fR is visible with at least 50-pixel margins (if possible, otherwise centered).
+.SH "void QScrollView::ensureVisible ( int x, int y, int xmargin, int ymargin )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Scrolls the content so that the point \fI(x, y)\fR is visible with at least the \fIxmargin\fR and \fIymargin\fR margins (if possible, otherwise centered).
+.SH "bool QScrollView::eventFilter ( QObject * obj, QEvent * e )\fC [virtual protected]\fR"
+This event filter ensures the scroll bars are updated when a single contents widget is resized, shown, hidden or destroyed; it passes mouse events to the QScrollView. The event is in \fIe\fR and the object is in \fIobj\fR.
+.PP
+Reimplemented from QObject.
+.PP
+Reimplemented in QListView.
+.SH "ScrollBarMode QScrollView::hScrollBarMode () const"
+Returns the mode for the horizontal scroll bar. See the "hScrollBarMode" property for details.
+.SH "bool QScrollView::hasStaticBackground () const"
+Returns TRUE if QScrollView uses a static background; otherwise returns FALSE.
+.PP
+See also setStaticBackground().
+.SH "QScrollBar * QScrollView::horizontalScrollBar () const"
+Returns the component horizontal scroll bar. It is made available to allow accelerators, autoscrolling, etc.
+.PP
+It should not be used for other purposes.
+.PP
+This function never returns 0.
+.SH "void QScrollView::horizontalSliderPressed ()\fC [signal]\fR"
+This signal is emitted whenever the user presses the horizontal slider.
+.SH "void QScrollView::horizontalSliderReleased ()\fC [signal]\fR"
+This signal is emitted whenever the user releases the horizontal slider.
+.SH "bool QScrollView::isHorizontalSliderPressed ()"
+Returns TRUE if horizontal slider is pressed by user; otherwise returns FALSE.
+.SH "bool QScrollView::isVerticalSliderPressed ()"
+Returns TRUE if vertical slider is pressed by user; otherwise returns FALSE.
+.SH "int QScrollView::leftMargin () const\fC [protected]\fR"
+Returns the left margin.
+.PP
+See also setMargins().
+.SH "void QScrollView::moveChild ( QWidget * child, int x, int y )\fC [virtual]\fR"
+Repositions the \fIchild\fR widget to (\fIx\fR, \fIy\fR). This function is the same as addChild().
+.SH "void QScrollView::removeChild ( QWidget * child )"
+Removes the \fIchild\fR widget from the scrolled area. Note that this happens automatically if the \fIchild\fR is deleted.
+.SH "void QScrollView::repaintContents ( int x, int y, int w, int h, bool erase = TRUE )"
+Calls repaint() on a rectangle defined by \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR, translated appropriately. If the rectangle is not visible, nothing is repainted. If \fIerase\fR is TRUE the background is cleared using the background color.
+.PP
+See also updateContents().
+.SH "void QScrollView::repaintContents ( const QRect & r, bool erase = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Repaints the contents of rectangle \fIr\fR. If \fIerase\fR is TRUE the background is cleared using the background color.
+.SH "void QScrollView::repaintContents ( bool erase = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Repaints the contents. If \fIerase\fR is TRUE the background is cleared using the background color.
+.SH "void QScrollView::resizeContents ( int w, int h )\fC [virtual slot]\fR"
+Sets the size of the contents area to \fIw\fR pixels wide and \fIh\fR pixels high and updates the viewport accordingly.
+.SH "ResizePolicy QScrollView::resizePolicy () const"
+Returns the resize policy. See the "resizePolicy" property for details.
+.SH "int QScrollView::rightMargin () const\fC [protected]\fR"
+Returns the right margin.
+.PP
+See also setMargins().
+.SH "void QScrollView::scrollBy ( int dx, int dy )\fC [slot]\fR"
+Scrolls the content by \fIdx\fR to the left and \fIdy\fR upwards.
+.SH "void QScrollView::setContentsPos ( int x, int y )\fC [virtual slot]\fR"
+Scrolls the content so that the point \fI(x, y)\fR is in the top-left corner.
+.PP
+Example: process/process.cpp.
+.SH "void QScrollView::setCornerWidget ( QWidget * corner )\fC [virtual]\fR"
+Sets the widget in the \fIcorner\fR between the two scroll bars.
+.PP
+You will probably also want to set at least one of the scroll bar modes to AlwaysOn.
+.PP
+Passing 0 shows no widget in the corner.
+.PP
+Any previous \fIcorner\fR widget is hidden.
+.PP
+You may call setCornerWidget() with the same widget at different times.
+.PP
+All widgets set here will be deleted by the QScrollView when it is destroyed unless you separately reparent the widget after setting some other corner widget (or 0).
+.PP
+Any \fInewly\fR set widget should have no current parent.
+.PP
+By default, no corner widget is present.
+.PP
+See also vScrollBarMode and hScrollBarMode.
+.PP
+Example: scrollview/scrollview.cpp.
+.SH "void QScrollView::setDragAutoScroll ( bool b )\fC [virtual]\fR"
+Sets whether autoscrolling in drag move events is enabled to \fIb\fR. See the "dragAutoScroll" property for details.
+.SH "void QScrollView::setHBarGeometry ( QScrollBar & hbar, int x, int y, int w, int h )\fC [virtual protected]\fR"
+Called when the horizontal scroll bar geometry changes. This is provided as a protected function so that subclasses can do interesting things such as providing extra buttons in some of the space normally used by the scroll bars.
+.PP
+The default implementation simply gives all the space to \fIhbar\fR. The new geometry is given by \fIx\fR, \fIy\fR, \fIw\fR and \fIh\fR.
+.PP
+See also setVBarGeometry().
+.SH "void QScrollView::setHScrollBarMode ( ScrollBarMode )\fC [virtual]\fR"
+Sets the mode for the horizontal scroll bar. See the "hScrollBarMode" property for details.
+.SH "void QScrollView::setMargins ( int left, int top, int right, int bottom )\fC [virtual protected]\fR"
+Sets the margins around the scrolling area to \fIleft\fR, \fItop\fR, \fIright\fR and \fIbottom\fR. This is useful for applications such as spreadsheets with "locked" rows and columns. The marginal space is \fIinside\fR the frameRect() and is left blank; reimplement drawFrame() or put widgets in the unused area.
+.PP
+By default all margins are zero.
+.PP
+See also frameChanged().
+.SH "void QScrollView::setResizePolicy ( ResizePolicy )\fC [virtual]\fR"
+Sets the resize policy. See the "resizePolicy" property for details.
+.SH "void QScrollView::setStaticBackground ( bool y )"
+Sets the scrollview to have a static background if \fIy\fR is TRUE, or a scrolling background if \fIy\fR is FALSE. By default, the background is scrolling.
+.PP
+Be aware that this mode is quite slow, as a full repaint of the visible area has to be triggered on every contents move.
+.PP
+See also hasStaticBackground().
+.SH "void QScrollView::setVBarGeometry ( QScrollBar & vbar, int x, int y, int w, int h )\fC [virtual protected]\fR"
+Called when the vertical scroll bar geometry changes. This is provided as a protected function so that subclasses can do interesting things such as providing extra buttons in some of the space normally used by the scroll bars.
+.PP
+The default implementation simply gives all the space to \fIvbar\fR. The new geometry is given by \fIx\fR, \fIy\fR, \fIw\fR and \fIh\fR.
+.PP
+See also setHBarGeometry().
+.SH "void QScrollView::setVScrollBarMode ( ScrollBarMode )\fC [virtual]\fR"
+Sets the mode for the vertical scroll bar. See the "vScrollBarMode" property for details.
+.SH "void QScrollView::showChild ( QWidget * child, bool y = TRUE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the visibility of \fIchild\fR. Equivalent to QWidget::show() or QWidget::hide().
+.SH "int QScrollView::topMargin () const\fC [protected]\fR"
+Returns the top margin.
+.PP
+See also setMargins().
+.SH "void QScrollView::updateContents ( int x, int y, int w, int h )"
+Calls update() on a rectangle defined by \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR, translated appropriately. If the rectangle is not visible, nothing is repainted.
+.PP
+See also repaintContents().
+.SH "void QScrollView::updateContents ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Updates the contents in rectangle \fIr\fR
+.SH "void QScrollView::updateContents ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QScrollView::updateScrollBars ()\fC [slot]\fR"
+Updates scroll bars: all possibilities are considered. You should never need to call this in your code.
+.SH "ScrollBarMode QScrollView::vScrollBarMode () const"
+Returns the mode for the vertical scroll bar. See the "vScrollBarMode" property for details.
+.SH "QScrollBar * QScrollView::verticalScrollBar () const"
+Returns the component vertical scroll bar. It is made available to allow accelerators, autoscrolling, etc.
+.PP
+It should not be used for other purposes.
+.PP
+This function never returns 0.
+.SH "void QScrollView::verticalSliderPressed ()\fC [signal]\fR"
+This signal is emitted whenever the user presses the vertical slider.
+.SH "void QScrollView::verticalSliderReleased ()\fC [signal]\fR"
+This signal is emitted whenever the user releases the vertical slider.
+.SH "QWidget * QScrollView::viewport () const"
+Returns the viewport widget of the scrollview. This is the widget containing the contents widget or which is the drawing area.
+.PP
+Examples:
+.)l helpsystem/tooltip.cpp and scrollview/scrollview.cpp.
+.SH "void QScrollView::viewportPaintEvent ( QPaintEvent * pe )\fC [virtual protected]\fR"
+This is a low-level painting routine that draws the viewport contents. Reimplement this if drawContents() is too high-level (for example, if you don't want to open a QPainter on the viewport). The paint event is passed in \fIpe\fR.
+.SH "void QScrollView::viewportResizeEvent ( QResizeEvent * )\fC [virtual protected]\fR"
+To provide simple processing of events on the contents, this function receives all resize events sent to the viewport.
+.PP
+See also QWidget::resizeEvent().
+.PP
+Example: chart/canvasview.cpp.
+.SH "QSize QScrollView::viewportSize ( int x, int y ) const"
+Returns the viewport size for size (\fIx\fR, \fIy\fR).
+.PP
+The viewport size depends on \fI(x, y)\fR (the size of the contents), the size of this widget and the modes of the horizontal and vertical scroll bars.
+.PP
+This function permits widgets that can trade vertical and horizontal space for each other to control scroll bar appearance better. For example, a word processor or web browser can control the width of the right margin accurately, whether or not there needs to be a vertical scroll bar.
+.SH "void QScrollView::viewportToContents ( int vx, int vy, int & x, int & y ) const"
+Translates a point (\fIvx\fR, \fIvy\fR) on the viewport() widget to a point (\fIx\fR, \fIy\fR) in the contents.
+.SH "QPoint QScrollView::viewportToContents ( const QPoint & vp ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point on the viewport \fIvp\fR translated to a point in the contents.
+.SH "int QScrollView::visibleHeight () const"
+Returns the vertical amount of the content that is visible. See the "visibleHeight" property for details.
+.SH "int QScrollView::visibleWidth () const"
+Returns the horizontal amount of the content that is visible. See the "visibleWidth" property for details.
+.SS "Property Documentation"
+.SH "int contentsHeight"
+This property holds the height of the contents area.
+.PP
+Get this property's value with contentsHeight().
+.SH "int contentsWidth"
+This property holds the width of the contents area.
+.PP
+Get this property's value with contentsWidth().
+.SH "int contentsX"
+This property holds the X coordinate of the contents that are at the left edge of the viewport.
+.PP
+Get this property's value with contentsX().
+.SH "int contentsY"
+This property holds the Y coordinate of the contents that are at the top edge of the viewport.
+.PP
+Get this property's value with contentsY().
+.SH "bool dragAutoScroll"
+This property holds whether autoscrolling in drag move events is enabled.
+.PP
+If this property is set to TRUE (the default), the QScrollView automatically scrolls the contents in drag move events if the user moves the cursor close to a border of the view. Of course this works only if the viewport accepts drops. Specifying FALSE disables this autoscroll feature.
+.PP
+\fBWarning:\fR Enabling this property might not be enough to effectively turn on autoscrolling. If you put a custom widget in the QScrollView, you might need to call QDragEvent::ignore() on the event in the dragEnterEvent() and dragMoveEvent() reimplementations.
+.PP
+Set this property's value with setDragAutoScroll() and get this property's value with dragAutoScroll().
+.SH "ScrollBarMode hScrollBarMode"
+This property holds the mode for the horizontal scroll bar.
+.PP
+The default mode is QScrollView::Auto.
+.PP
+See also vScrollBarMode.
+.PP
+Set this property's value with setHScrollBarMode() and get this property's value with hScrollBarMode().
+.SH "ResizePolicy resizePolicy"
+This property holds the resize policy.
+.PP
+The default is Default.
+.PP
+See also ResizePolicy.
+.PP
+Set this property's value with setResizePolicy() and get this property's value with resizePolicy().
+.SH "ScrollBarMode vScrollBarMode"
+This property holds the mode for the vertical scroll bar.
+.PP
+The default mode is QScrollView::Auto.
+.PP
+See also hScrollBarMode.
+.PP
+Set this property's value with setVScrollBarMode() and get this property's value with vScrollBarMode().
+.SH "int visibleHeight"
+This property holds the vertical amount of the content that is visible.
+.PP
+Get this property's value with visibleHeight().
+.SH "int visibleWidth"
+This property holds the horizontal amount of the content that is visible.
+.PP
+Get this property's value with visibleWidth().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qscrollview.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qscrollview.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsemaphore.3qt b/doc/man/man3/qsemaphore.3qt
new file mode 100644
index 0000000..d3f39d0
--- /dev/null
+++ b/doc/man/man3/qsemaphore.3qt
@@ -0,0 +1,110 @@
+'\" t
+.TH QSemaphore 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSemaphore \- Robust integer semaphore
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qsemaphore.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSemaphore\fR ( int maxcount )"
+.br
+.ti -1c
+.BI "virtual \fB~QSemaphore\fR ()"
+.br
+.ti -1c
+.BI "int \fBavailable\fR () const"
+.br
+.ti -1c
+.BI "int \fBtotal\fR () const"
+.br
+.ti -1c
+.BI "int \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBoperator--\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBoperator+=\fR ( int n )"
+.br
+.ti -1c
+.BI "int \fBoperator-=\fR ( int n )"
+.br
+.ti -1c
+.BI "bool \fBtryAccess\fR ( int n )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSemaphore class provides a robust integer semaphore.
+.PP
+A QSemaphore can be used to serialize thread execution, in a similar way to a QMutex. A semaphore differs from a mutex, in that a semaphore can be accessed by more than one thread at a time.
+.PP
+For example, suppose we have an application that stores data in a large tree structure. The application creates 10 threads (commonly called a thread pool) to perform searches on the tree. When the application searches the tree for some piece of data, it uses one thread per base node to do the searching. A semaphore could be used to make sure that two threads don't try to search the same branch of the tree at the same time.
+.PP
+A non-computing example of a semaphore would be dining at a restuarant. A semaphore is initialized to have a maximum count equal to the number of chairs in the restuarant. As people arrive, they want a seat. As seats are filled, the semaphore is accessed, once per person. As people leave, the access is released, allowing more people to enter. If a party of 10 people want to be seated, but there are only 9 seats, those 10 people will wait, but a party of 4 people would be seated (taking the available seats to 5, making the party of 10 people wait longer).
+.PP
+When a semaphore is created it is given a number which is the maximum number of concurrent accesses it will permit. Accesses to the sempahore are gained using operator++() or operator+=(), and released with operator--() or operator-=(). The number of accesses allowed is retrieved with available(), and the total number with total(). Note that the incrementing functions will block if there aren't enough available accesses. Use tryAccess() if you want to acquire accesses without blocking.
+.PP
+See also Environment Classes and Threading.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSemaphore::QSemaphore ( int maxcount )"
+Creates a new semaphore. The semaphore can be concurrently accessed at most \fImaxcount\fR times.
+.SH "QSemaphore::~QSemaphore ()\fC [virtual]\fR"
+Destroys the semaphore.
+.PP
+\fBWarning:\fR If you destroy a semaphore that has accesses in use the resultant behavior is undefined.
+.SH "int QSemaphore::available () const"
+Returns the number of accesses currently available to the semaphore.
+.SH "int QSemaphore::operator++ ( int )"
+Postfix ++ operator.
+.PP
+Try to get access to the semaphore. If available() == 0, this call will block until it can get access, i.e. until available() > 0.
+.SH "int QSemaphore::operator+= ( int n )"
+Try to get access to the semaphore. If available() < \fIn\fR, this call will block until it can get all the accesses it wants, i.e. until available() >= \fIn\fR.
+.SH "int QSemaphore::operator-- ( int )"
+Postfix -- operator.
+.PP
+Release access of the semaphore. This wakes all threads waiting for access to the semaphore.
+.SH "int QSemaphore::operator-= ( int n )"
+Release \fIn\fR accesses to the semaphore.
+.SH "int QSemaphore::total () const"
+Returns the total number of accesses to the semaphore.
+.SH "bool QSemaphore::tryAccess ( int n )"
+Try to get access to the semaphore. If available() < \fIn\fR, this
+function will return FALSE immediately. If available() >= \fIn\fR,
+this function will take \fIn\fR accesses and return TRUE. This
+function does \fInot\fR block.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsemaphore.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsemaphore.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qserversocket.3qt b/doc/man/man3/qserversocket.3qt
new file mode 100644
index 0000000..10a4140
--- /dev/null
+++ b/doc/man/man3/qserversocket.3qt
@@ -0,0 +1,142 @@
+'\" t
+.TH QServerSocket 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QServerSocket \- TCP-based server
+.SH SYNOPSIS
+\fC#include <qserversocket.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQServerSocket\fR ( Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQServerSocket\fR ( const QHostAddress & address, Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQServerSocket\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QServerSocket\fR ()"
+.br
+.ti -1c
+.BI "bool \fBok\fR () const"
+.br
+.ti -1c
+.BI "Q_UINT16 \fBport\fR () const"
+.br
+.ti -1c
+.BI "int \fBsocket\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSocket\fR ( int socket )"
+.br
+.ti -1c
+.BI "QHostAddress \fBaddress\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBnewConnection\fR ( int socket ) = 0"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "QSocketDevice * \fBsocketDevice\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QServerSocket class provides a TCP-based server.
+.PP
+This class is a convenience class for accepting incoming TCP connections. You can specify the port or have QServerSocket pick one, and listen on just one address or on all the machine's addresses.
+.PP
+Using the API is very simple: subclass QServerSocket, call the constructor of your choice, and implement newConnection() to handle new incoming connections. There is nothing more to do.
+.PP
+(Note that due to lack of support in the underlying APIs, QServerSocket cannot accept or reject connections conditionally.)
+.PP
+See also QSocket, QSocketDevice, QHostAddress, QSocketNotifier, and Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QServerSocket::QServerSocket ( Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 )"
+Creates a server socket object, that will serve the given \fIport\fR on all the addresses of this host. If \fIport\fR is 0, QServerSocket will pick a suitable port in a system-dependent manner. Use \fIbacklog\fR to specify how many pending connections the server can have.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.PP
+\fBWarning:\fR On Tru64 Unix systems a value of 0 for \fIbacklog\fR means that you don't accept any connections at all; you should specify a value larger than 0.
+.SH "QServerSocket::QServerSocket ( const QHostAddress & address, Q_UINT16 port, int backlog = 1, QObject * parent = 0, const char * name = 0 )"
+Creates a server socket object, that will serve the given \fIport\fR only on the given \fIaddress\fR. Use \fIbacklog\fR to specify how many pending connections the server can have.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.PP
+\fBWarning:\fR On Tru64 Unix systems a value of 0 for \fIbacklog\fR means that you don't accept any connections at all; you should specify a value larger than 0.
+.SH "QServerSocket::QServerSocket ( QObject * parent = 0, const char * name = 0 )"
+Construct an empty server socket.
+.PP
+This constructor, in combination with setSocket(), allows us to use the QServerSocket class as a wrapper for other socket types (e.g. Unix Domain Sockets under Unix).
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.PP
+See also setSocket().
+.SH "QServerSocket::~QServerSocket ()\fC [virtual]\fR"
+Destroys the socket.
+.PP
+This causes any backlogged connections (connections that have reached the host, but not yet been completely set up by calling QSocketDevice::accept()) to be severed.
+.PP
+Existing connections continue to exist; this only affects the acceptance of new connections.
+.SH "QHostAddress QServerSocket::address () const"
+Returns the address on which this object listens, or 0.0.0.0 if this object listens on more than one address. ok() must be TRUE before calling this function.
+.PP
+See also port() and QSocketDevice::address().
+.SH "void QServerSocket::newConnection ( int socket )\fC [pure virtual]\fR"
+This pure virtual function is responsible for setting up a new incoming connection. \fIsocket\fR is the fd (file descriptor) for the newly accepted connection.
+.SH "bool QServerSocket::ok () const"
+Returns TRUE if the construction succeeded; otherwise returns FALSE.
+.SH "Q_UINT16 QServerSocket::port () const"
+Returns the port number on which this server socket listens. This is always non-zero; if you specify 0 in the constructor, QServerSocket will pick a non-zero port itself. ok() must be TRUE before calling this function.
+.PP
+See also address() and QSocketDevice::port().
+.PP
+Example: network/httpd/httpd.cpp.
+.SH "void QServerSocket::setSocket ( int socket )\fC [virtual]\fR"
+Sets the socket to use \fIsocket\fR. bind() and listen() should already have been called for \fIsocket\fR.
+.PP
+This allows us to use the QServerSocket class as a wrapper for other socket types (e.g. Unix Domain Sockets).
+.SH "int QServerSocket::socket () const"
+Returns the operating system socket.
+.SH "QSocketDevice * QServerSocket::socketDevice ()\fC [protected]\fR"
+Returns a pointer to the internal socket device. The returned pointer is 0 if there is no connection or pending connection.
+.PP
+There is normally no need to manipulate the socket device directly
+since this class does all the necessary setup for most client or
+server socket applications.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qserversocket.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qserversocket.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsessionmanager.3qt b/doc/man/man3/qsessionmanager.3qt
new file mode 100644
index 0000000..5a7eb0e
--- /dev/null
+++ b/doc/man/man3/qsessionmanager.3qt
@@ -0,0 +1,314 @@
+'\" t
+.TH QSessionManager 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSessionManager \- Access to the session manager
+.SH SYNOPSIS
+\fC#include <qsessionmanager.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBsessionId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsessionKey\fR () const"
+.br
+.ti -1c
+.BI "void * \fBhandle\fR () const"
+.br
+.ti -1c
+.BI "bool \fBallowsInteraction\fR ()"
+.br
+.ti -1c
+.BI "bool \fBallowsErrorInteraction\fR ()"
+.br
+.ti -1c
+.BI "void \fBrelease\fR ()"
+.br
+.ti -1c
+.BI "void \fBcancel\fR ()"
+.br
+.ti -1c
+.BI "enum \fBRestartHint\fR { RestartIfRunning, RestartAnyway, RestartImmediately, RestartNever }"
+.br
+.ti -1c
+.BI "void \fBsetRestartHint\fR ( RestartHint hint )"
+.br
+.ti -1c
+.BI "RestartHint \fBrestartHint\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRestartCommand\fR ( const QStringList & command )"
+.br
+.ti -1c
+.BI "QStringList \fBrestartCommand\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDiscardCommand\fR ( const QStringList & )"
+.br
+.ti -1c
+.BI "QStringList \fBdiscardCommand\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetManagerProperty\fR ( const QString & name, const QString & value )"
+.br
+.ti -1c
+.BI "void \fBsetManagerProperty\fR ( const QString & name, const QStringList & value )"
+.br
+.ti -1c
+.BI "bool \fBisPhase2\fR () const"
+.br
+.ti -1c
+.BI "void \fBrequestPhase2\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSessionManager class provides access to the session manager.
+.PP
+The session manager is responsible for session management, most importantly for interruption and resumption. A "session" is a kind of record of the state of the system, e.g. which applications were run at start up and which applications are currently running. The session manager is used to save the session, e.g. when the machine is shut down; and to restore a session, e.g. when the machine is started up. Use QSettings to save and restore an individual application's settings, e.g. window positions, recently used files, etc.
+.PP
+QSessionManager provides an interface between the application and the session manager so that the program can work well with the session manager. In Qt, session management requests for action are handled by the two virtual functions QApplication::commitData() and QApplication::saveState(). Both provide a reference to a session manager object as argument, to allow the application to communicate with the session manager.
+.PP
+During a session management action (i.e. within commitData() and saveState()), no user interaction is possible \fIunless\fR the application got explicit permission from the session manager. You ask for permission by calling allowsInteraction() or, if it's really urgent, allowsErrorInteraction(). Qt does not enforce this, but the session manager may.
+.PP
+You can try to abort the shutdown process by calling cancel(). The default commitData() function does this if some top-level window rejected its closeEvent().
+.PP
+For sophisticated session managers provided on Unix/X11, QSessionManager offers further possibilites to fine-tune an application's session management behavior: setRestartCommand(), setDiscardCommand(), setRestartHint(), setProperty(), requestPhase2(). See the respective function descriptions for further details.
+.PP
+See also Main Window and Related Classes and Environment Classes.
+.SS "Member Type Documentation"
+.SH "QSessionManager::RestartHint"
+This enum type defines the circumstances under which this application wants to be restarted by the session manager. The current values are
+.TP
+\fCQSessionManager::RestartIfRunning\fR - if the application is still running when the session is shut down, it wants to be restarted at the start of the next session.
+.TP
+\fCQSessionManager::RestartAnyway\fR - the application wants to be started at the start of the next session, no matter what. (This is useful for utilities that run just after startup and then quit.)
+.TP
+\fCQSessionManager::RestartImmediately\fR - the application wants to be started immediately whenever it is not running.
+.TP
+\fCQSessionManager::RestartNever\fR - the application does not want to be restarted automatically.
+.PP
+The default hint is RestartIfRunning.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QSessionManager::allowsErrorInteraction ()"
+This is similar to allowsInteraction(), but also tells the session manager that an error occurred. Session managers may give error interaction request higher priority, which means that it is more likely that an error interaction is permitted. However, you are still not guaranteed that the session manager will allow interaction.
+.PP
+See also allowsInteraction(), release(), and cancel().
+.SH "bool QSessionManager::allowsInteraction ()"
+Asks the session manager for permission to interact with the user. Returns TRUE if interaction is permitted; otherwise returns FALSE.
+.PP
+The rationale behind this mechanism is to make it possible to synchronize user interaction during a shutdown. Advanced session managers may ask all applications simultaneously to commit their data, resulting in a much faster shutdown.
+.PP
+When the interaction is completed we strongly recommend releasing the user interaction semaphore with a call to release(). This way, other applications may get the chance to interact with the user while your application is still busy saving data. (The semaphore is implicitly released when the application exits.)
+.PP
+If the user decides to cancel the shutdown process during the interaction phase, you must tell the session manager that this has happened by calling cancel().
+.PP
+Here's an example of how an application's QApplication::commitData() might be implemented:
+.PP
+.nf
+.br
+void MyApplication::commitData( QSessionManager& sm ) {
+.br
+ if ( sm.allowsInteraction() ) {
+.br
+ switch ( QMessageBox::warning(
+.br
+ yourMainWindow,
+.br
+ tr("Application Name"),
+.br
+ tr("Save changes to document Foo?"),
+.br
+ tr("&Yes"),
+.br
+ tr("&No"),
+.br
+ tr("Cancel"),
+.br
+ 0, 2) ) {
+.br
+ case 0: // yes
+.br
+ sm.release();
+.br
+ // save document here; if saving fails, call sm.cancel()
+.br
+ break;
+.br
+ case 1: // continue without saving
+.br
+ break;
+.br
+ default: // cancel
+.br
+ sm.cancel();
+.br
+ break;
+.br
+ }
+.br
+ } else {
+.br
+ // we did not get permission to interact, then
+.br
+ // do something reasonable instead.
+.br
+ }
+.br
+}
+.fi
+.PP
+If an error occurred within the application while saving its data, you may want to try allowsErrorInteraction() instead.
+.PP
+See also QApplication::commitData(), release(), and cancel().
+.SH "void QSessionManager::cancel ()"
+Tells the session manager to cancel the shutdown process. Applications should not call this function without first asking the user.
+.PP
+See also allowsInteraction() and allowsErrorInteraction().
+.SH "QStringList QSessionManager::discardCommand () const"
+Returns the currently set discard command.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = mySession.discardCommand();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also setDiscardCommand(), restartCommand(), and setRestartCommand().
+.SH "void * QSessionManager::handle () const"
+X11 only: returns a handle to the current \fCSmcConnection\fR.
+.SH "bool QSessionManager::isPhase2 () const"
+Returns TRUE if the session manager is currently performing a second session management phase; otherwise returns FALSE.
+.PP
+See also requestPhase2().
+.SH "void QSessionManager::release ()"
+Releases the session manager's interaction semaphore after an interaction phase.
+.PP
+See also allowsInteraction() and allowsErrorInteraction().
+.SH "void QSessionManager::requestPhase2 ()"
+Requests a second session management phase for the application. The application may then return immediately from the QApplication::commitData() or QApplication::saveState() function, and they will be called again once most or all other applications have finished their session management.
+.PP
+The two phases are useful for applications such as the X11 window manager that need to store information about another application's windows and therefore have to wait until these applications have completed their respective session management tasks.
+.PP
+Note that if another application has requested a second phase it may get called before, simultaneously with, or after your application's second phase.
+.PP
+See also isPhase2().
+.SH "QStringList QSessionManager::restartCommand () const"
+Returns the currently set restart command.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = mySession.restartCommand();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also setRestartCommand() and restartHint().
+.SH "RestartHint QSessionManager::restartHint () const"
+Returns the application's current restart hint. The default is RestartIfRunning.
+.PP
+See also setRestartHint().
+.SH "QString QSessionManager::sessionId () const"
+Returns the identifier of the current session.
+.PP
+If the application has been restored from an earlier session, this identifier is the same as it was in that earlier session.
+.PP
+See also sessionKey() and QApplication::sessionId().
+.SH "QString QSessionManager::sessionKey () const"
+Returns the session key in the current session.
+.PP
+If the application has been restored from an earlier session, this key is the same as it was when the previous session ended.
+.PP
+The session key changes with every call of commitData() or saveState().
+.PP
+See also sessionId() and QApplication::sessionKey().
+.SH "void QSessionManager::setDiscardCommand ( const QStringList & )"
+See also discardCommand() and setRestartCommand().
+.SH "void QSessionManager::setManagerProperty ( const QString & name, const QStringList & value )"
+Low-level write access to the application's identification and state record are kept in the session manager.
+.PP
+The property called \fIname\fR has its value set to the string list \fIvalue\fR.
+.SH "void QSessionManager::setManagerProperty ( const QString & name, const QString & value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Low-level write access to the application's identification and state records are kept in the session manager.
+.PP
+The property called \fIname\fR has its value set to the string \fIvalue\fR.
+.SH "void QSessionManager::setRestartCommand ( const QStringList & command )"
+If the session manager is capable of restoring sessions it will execute \fIcommand\fR in order to restore the application. The command defaults to
+.PP
+.nf
+.br
+ appname -session id
+.br
+.fi
+.PP
+The \fC-session\fR option is mandatory; otherwise QApplication cannot tell whether it has been restored or what the current session identifier is. See QApplication::isSessionRestored() and QApplication::sessionId() for details.
+.PP
+If your application is very simple, it may be possible to store the entire application state in additional command line options. This is usually a very bad idea because command lines are often limited to a few hundred bytes. Instead, use QSettings, or temporary files or a database for this purpose. By marking the data with the unique sessionId(), you will be able to restore the application in a future session.
+.PP
+See also restartCommand(), setDiscardCommand(), and setRestartHint().
+.SH "void QSessionManager::setRestartHint ( RestartHint hint )"
+Sets the application's restart hint to \fIhint\fR. On application startup the hint is set to RestartIfRunning.
+.PP
+Note that these flags are only hints, a session manager may or may not respect them.
+.PP
+We recommend setting the restart hint in QApplication::saveState() because most session managers perform a checkpoint shortly after an application's startup.
+.PP
+See also restartHint().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsessionmanager.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsessionmanager.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsettings.3qt b/doc/man/man3/qsettings.3qt
new file mode 100644
index 0000000..f9509cb
--- /dev/null
+++ b/doc/man/man3/qsettings.3qt
@@ -0,0 +1,654 @@
+'\" t
+.TH QSettings 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSettings \- Persistent platform-independent application settings
+.SH SYNOPSIS
+\fC#include <qsettings.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBFormat\fR { Native = 0, Ini }"
+.br
+.ti -1c
+.BI "enum \fBSystem\fR { Unix = 0, Windows, Mac }"
+.br
+.ti -1c
+.BI "enum \fBScope\fR { User, Global }"
+.br
+.ti -1c
+.BI "\fBQSettings\fR ()"
+.br
+.ti -1c
+.BI "\fBQSettings\fR ( Format format )"
+.br
+.ti -1c
+.BI "\fB~QSettings\fR ()"
+.br
+.ti -1c
+.BI "bool \fBwriteEntry\fR ( const QString & key, bool value )"
+.br
+.ti -1c
+.BI "bool \fBwriteEntry\fR ( const QString & key, double value )"
+.br
+.ti -1c
+.BI "bool \fBwriteEntry\fR ( const QString & key, int value )"
+.br
+.ti -1c
+.BI "bool \fBwriteEntry\fR ( const QString & key, const QString & value )"
+.br
+.ti -1c
+.BI "bool \fBwriteEntry\fR ( const QString & key, const QStringList & value )"
+.br
+.ti -1c
+.BI "bool writeEntry ( const QString & key, const QStringList & value, const QChar & separator ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QStringList \fBentryList\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "QStringList \fBsubkeyList\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "QStringList \fBreadListEntry\fR ( const QString & key, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "QStringList readListEntry ( const QString & key, const QChar & separator, bool * ok = 0 ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString \fBreadEntry\fR ( const QString & key, const QString & def = QString::null, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBreadNumEntry\fR ( const QString & key, int def = 0, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "double \fBreadDoubleEntry\fR ( const QString & key, double def = 0, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBreadBoolEntry\fR ( const QString & key, bool def = FALSE, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBremoveEntry\fR ( const QString & key )"
+.br
+.ti -1c
+.BI "void \fBinsertSearchPath\fR ( System s, const QString & path )"
+.br
+.ti -1c
+.BI "void \fBremoveSearchPath\fR ( System s, const QString & path )"
+.br
+.ti -1c
+.BI "void \fBsetPath\fR ( const QString & domain, const QString & product, Scope scope = Global )"
+.br
+.ti -1c
+.BI "void \fBbeginGroup\fR ( const QString & group )"
+.br
+.ti -1c
+.BI "void \fBendGroup\fR ()"
+.br
+.ti -1c
+.BI "void \fBresetGroup\fR ()"
+.br
+.ti -1c
+.BI "QString \fBgroup\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSettings class provides persistent platform-independent application settings.
+.PP
+On Unix systems, QSettings uses text files to store settings. On Windows systems, QSettings uses the system registry. On Mac OS X, QSettings uses the Carbon preferences API.
+.PP
+Each setting comprises an identifying key and the data associated with the key. A key is a unicode string which consists of \fItwo\fR or more subkeys. A subkey is a slash, '/', followed by one or more unicode characters (excluding slashes, newlines, carriage returns and equals, '=', signs). The associated data, called the entry or value, may be a boolean, an integer, a double, a string or a list of strings. Entry strings may contain any unicode characters.
+.PP
+If you want to save and restore the entire desktop's settings, i.e. which applications are running, use QSettings to save the settings for each individual application and QSessionManager to save the desktop's session.
+.PP
+Example settings:
+.PP
+.nf
+.br
+ /MyCompany/MyApplication/background color
+.br
+ /MyCompany/MyApplication/foreground color
+.br
+ /MyCompany/MyApplication/geometry/x
+.br
+ /MyCompany/MyApplication/geometry/y
+.br
+ /MyCompany/MyApplication/geometry/width
+.br
+ /MyCompany/MyApplication/geometry/height
+.br
+ /MyCompany/MyApplication/recent files/1
+.br
+ /MyCompany/MyApplication/recent files/2
+.br
+ /MyCompany/MyApplication/recent files/3
+.br
+.fi
+Each line above is a complete key, made up of subkeys.
+.PP
+A typical usage pattern for reading settings at application startup:
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.setPath( "MyCompany.com", "MyApplication" );
+.br
+.br
+ QString bgColor = settings.readEntry( "/colors/background", "white" );
+.br
+ int width = settings.readNumEntry( "/geometry/width", 640 );
+.br
+ // ...
+.br
+.fi
+.PP
+A typical usage pattern for saving settings at application exit or 'save preferences':
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.setPath( "MyCompany.com", "MyApplication" );
+.br
+.br
+ settings.writeEntry( "/colors/background", bgColor );
+.br
+ settings.writeEntry( "/geometry/width", width );
+.br
+ // ...
+.br
+.fi
+.PP
+A key prefix can be prepended to all keys using beginGroup(). The application of the prefix is stopped using endGroup(). For example:
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+.br
+ settings.beginGroup( "/MainWindow" );
+.br
+ settings.beginGroup( "/Geometry" );
+.br
+ int x = settings.readEntry( "/x" );
+.br
+ // ...
+.br
+ settings.endGroup();
+.br
+ settings.beginGroup( "/Toolbars" );
+.br
+ // ...
+.br
+ settings.endGroup();
+.br
+ settings.endGroup();
+.br
+.fi
+.PP
+You can get a list of entry-holding keys by calling entryList(), and a list of key-holding keys using subkeyList().
+.PP
+.nf
+.br
+ QStringList keys = settings.entryList( "/MyApplication" );
+.br
+ // keys contains 'background color' and 'foreground color'.
+.br
+.br
+ QStringList keys = settings.entryList( "/MyApplication/recent files" );
+.br
+ // keys contains '1', '2' and '3'.
+.br
+.br
+ QStringList subkeys = settings.subkeyList( "/MyApplication" );
+.br
+ // subkeys contains 'geometry' and 'recent files'
+.br
+.br
+ QStringList subkeys = settings.subkeyList( "/MyApplication/recent files" );
+.br
+ // subkeys is empty.
+.br
+.fi
+.PP
+Since settings for Windows are stored in the registry there are some size limitations as follows:
+.TP
+A subkey may not exceed 255 characters.
+.TP
+An entry's value may not exceed 16,300 characters.
+.TP
+All the values of a key (for example, all the 'recent files' subkeys values), may not exceed 65,535 characters.
+.PP
+These limitations are not enforced on Unix or Mac OS X.
+.PP
+\fBWarning:\fR Creating multiple, simultaneous instances of QSettings writing to a text file may lead to data loss! This is a known issue which will be fixed in a future release of Qt.
+.SH "Notes for Mac OS X Applications"
+The location where settings are stored is not formally defined by the CFPreferences API.
+.PP
+At the time of writing settings are stored (either on a global or user basis, preferring locally) into a plist file in \fC$ROOT/System/Library/Preferences\fR (in XML format). QSettings will create an appropriate plist file (\fCcom.<first group name>.plist\fR) out of the full path to a key.
+.PP
+For further information on CFPreferences see Apple's Specifications
+.SH "Notes for Unix Applications"
+There is no universally accepted place for storing application settings under Unix. In the examples the settings file will be searched for in the following directories: <ol type=1>
+.TP
+\fCSYSCONF\fR - the default value is \fCINSTALL/etc/settings\fR
+.TP
+\fC/opt/MyCompany/share/etc\fR
+.TP
+\fC/opt/MyCompany/share/MyApplication/etc\fR
+.TP
+\fC$HOME/.qt\fR When reading settings the files are searched in the order shown above, with later settings overriding earlier settings. Files for which the user doesn't have read permission are ignored. When saving settings QSettings works in the order shown above, writing to the first settings file for which the user has write permission. (\fCINSTALL\fR is the directory where Qt was installed. This can be modified by using the configure script's -prefix argument )
+.PP
+If you want to put the settings in a particular place in the filesystem you could do this:
+.PP
+.nf
+.br
+ settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share" );
+.br
+.fi
+.PP
+But in practice you may prefer not to use a search path for Unix. For example the following code:
+.PP
+.nf
+.br
+ settings.writeEntry( "/MyApplication/geometry/width", width );
+.br
+.fi
+will end up writing the "geometry/width" setting to the file \fC$HOME/.qt/myapplicationrc\fR (assuming that the application is being run by an ordinary user, i.e. not by root).
+.PP
+For cross-platform applications you should ensure that the Windows size limitations are not exceeded.
+.PP
+\fBWarning:\fR QSettings doesn't write the settings until it is destroyed so you should construct the QSettings object on the stack.
+.PP
+See also Input/Output and Networking and Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "QSettings::Format"
+.TP
+\fCQSettings::Native\fR - Store the settings in a platform dependent location
+.TP
+\fCQSettings::Ini\fR - Store the settings in a text file
+.SH "QSettings::Scope"
+.TP
+\fCQSettings::Global\fR - Save settings as global as possible
+.TP
+\fCQSettings::User\fR - Save settings in user space
+.SH "QSettings::System"
+.TP
+\fCQSettings::Mac\fR - Macintosh execution environments
+.TP
+\fCQSettings::Unix\fR - Mac OS X, Unix, Linux and Unix-like execution environments
+.TP
+\fCQSettings::Windows\fR - Windows execution environments
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSettings::QSettings ()"
+Creates a settings object.
+.PP
+Be aware that you must call setPath() or insertSearchPath() before you can use the QSettings object.
+.SH "QSettings::QSettings ( Format format )"
+Creates a settings object. If \fIformat\fR is 'Ini' the settings will be stored in a text file, using the Unix strategy (see above). If \fIformat\fR is 'Native', the settings will be stored in a platform specific way (ie. the Windows registry).
+.PP
+Be aware that you must call setPath() or insertSearchPath() before you can use the QSettings object.
+.SH "QSettings::~QSettings ()"
+Destroys the settings object. All modifications made to the settings will automatically be saved.
+.SH "void QSettings::beginGroup ( const QString & group )"
+Appends \fIgroup\fR to the current key prefix.
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.beginGroup( "/MainWindow" );
+.br
+ // read values
+.br
+ settings.endGroup();
+.br
+.fi
+.SH "void QSettings::endGroup ()"
+Undo previous calls to beginGroup(). Note that a single beginGroup("a/b/c") is undone by a single call to endGroup().
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.beginGroup( "/MainWindow/Geometry" );
+.br
+ // read values
+.br
+ settings.endGroup();
+.br
+.fi
+.SH "QStringList QSettings::entryList ( const QString & key ) const"
+Returns a list of the keys which contain entries under \fIkey\fR. Does \fInot\fR return any keys that contain subkeys.
+.PP
+Example settings:
+.PP
+.nf
+.br
+ /MyCompany/MyApplication/background color
+.br
+ /MyCompany/MyApplication/foreground color
+.br
+ /MyCompany/MyApplication/geometry/x
+.br
+ /MyCompany/MyApplication/geometry/y
+.br
+ /MyCompany/MyApplication/geometry/width
+.br
+ /MyCompany/MyApplication/geometry/height
+.br
+.fi
+.PP
+.nf
+.br
+ QStringList keys = settings.entryList( "/MyCompany/MyApplication" );
+.br
+.fi
+.PP
+In the above example, \fCkeys\fR will contain 'background color' and 'foreground color'. It will not contain 'geometry' because this key contains subkeys not entries.
+.PP
+To access the geometry values, you could either use subkeyList() to read the keys then read each entry, or simply read each entry directly by specifying its full key, e.g." /MyCompany/MyApplication/geometry/y".
+.PP
+See also subkeyList().
+.SH "QString QSettings::group () const"
+Returns the current key prefix, or a null string if there is no key prefix set.
+.PP
+See also beginGroup().
+.SH "void QSettings::insertSearchPath ( System s, const QString & path )"
+Inserts \fIpath\fR into the settings search path. The semantics of \fIpath\fR depends on the system \fIs\fR. It is usually easier and better to use setPath() instead of this function.
+.PP
+When \fIs\fR is \fIWindows\fR and the execution environment is \fInot\fR Windows the function does nothing. Similarly when \fIs\fR is \fIUnix\fR and the execution environment is \fInot\fR Unix the function does nothing.
+.PP
+When \fIs\fR is \fIWindows\fR, and the execution environment is Windows, the search path list will be used as the first subfolder of the "Software" folder in the registry.
+.PP
+When reading settings the folders are searched forwards from the first folder (listed below) to the last, returning the first settings found, and ignoring any folders for which the user doesn't have read permission. <ol type=1>
+.TP
+HKEY_CURRENT_USER/Software/MyCompany/MyApplication
+.TP
+HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication
+.TP
+HKEY_CURRENT_USER/Software/MyApplication
+.TP
+HKEY_LOCAL_MACHINE/Software/MyApplication
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.insertSearchPath( QSettings::Windows, "/MyCompany" );
+.br
+ settings.writeEntry( "/MyApplication/Tip of the day", TRUE );
+.br
+.fi
+The code above will write the subkey "Tip of the day" into the \fIfirst\fR of the registry folders listed below that is found and for which the user has write permission. <ol type=1>
+.TP
+HKEY_LOCAL_MACHINE/Software/MyCompany/MyApplication
+.TP
+HKEY_CURRENT_USER/Software/MyCompany/MyApplication
+.TP
+HKEY_LOCAL_MACHINE/Software/MyApplication
+.TP
+HKEY_CURRENT_USER/Software/MyApplication If a setting is found in the HKEY_CURRENT_USER space, this setting is overwritten independently of write permissions in the HKEY_LOCAL_MACHINE space.
+.PP
+When \fIs\fR is \fIUnix\fR, and the execution environment is Unix, the search path list will be used when trying to determine a suitable filename for reading and writing settings files. By default, there are two entries in the search path:
+.PP
+<ol type=1>
+.TP
+\fCSYSCONF\fR - where \fCSYSCONF\fR is a directory specified when configuring Qt; by default it is INSTALL/etc/settings.
+.TP
+\fC$HOME/.qt/\fR - where \fC$HOME\fR is the user's home directory.
+.PP
+All insertions into the search path will go before $HOME/.qt/. For example:
+.PP
+.nf
+.br
+ QSettings settings;
+.br
+ settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/etc" );
+.br
+ settings.insertSearchPath( QSettings::Unix, "/opt/MyCompany/share/MyApplication/etc" );
+.br
+ // ...
+.br
+.fi
+Will result in a search path of: <ol type=1>
+.TP
+SYSCONF
+.TP
+/opt/MyCompany/share/etc
+.TP
+/opt/MyCompany/share/MyApplication/etc
+.TP
+$HOME/.qt When reading settings the files are searched in the order shown above, with later settings overriding earlier settings. Files for which the user doesn't have read permission are ignored. When saving settings QSettings works in the order shown above, writing to the first settings file for which the user has write permission.
+.PP
+Note that paths in the file system are not created by this function, so they must already exist to be useful.
+.PP
+Settings under Unix are stored in files whose names are based on the first subkey of the key (not including the search path). The algorithm for creating names is essentially: lowercase the first subkey, replace spaces with underscores and add 'rc', e.g. \fC/MyCompany/MyApplication/background color\fR will be stored in \fCmyapplicationrc\fR (assuming that \fC/MyCompany\fR is part of the search path).
+.PP
+See also removeSearchPath().
+.PP
+Example: chart/chartform.cpp.
+.SH "bool QSettings::readBoolEntry ( const QString & key, bool def = FALSE, bool * ok = 0 ) const"
+Reads the entry specified by \fIkey\fR, and returns a bool, or the default value, \fIdef\fR, if the entry couldn't be read. If \fIok\fR is non-null, *ok is set to TRUE if the key was read, FALSE otherwise.
+.PP
+See also readEntry(), readNumEntry(), readDoubleEntry(), writeEntry(), and removeEntry().
+.SH "double QSettings::readDoubleEntry ( const QString & key, double def = 0, bool * ok = 0 ) const"
+Reads the entry specified by \fIkey\fR, and returns a double, or the default value, \fIdef\fR, if the entry couldn't be read. If \fIok\fR is non-null, *ok is set to TRUE if the key was read, FALSE otherwise.
+.PP
+See also readEntry(), readNumEntry(), readBoolEntry(), writeEntry(), and removeEntry().
+.SH "QString QSettings::readEntry ( const QString & key, const QString & def = QString::null, bool * ok = 0 ) const"
+Reads the entry specified by \fIkey\fR, and returns a QString, or the default value, \fIdef\fR, if the entry couldn't be read. If \fIok\fR is non-null, *ok is set to TRUE if the key was read, FALSE otherwise.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), and removeEntry().
+.SH "QStringList QSettings::readListEntry ( const QString & key, bool * ok = 0 ) const"
+Reads the entry specified by \fIkey\fR as a string. If \fIok\fR is not 0, \fI*ok\fR is set to TRUE if the key was read, otherwise \fI*ok\fR is set to FALSE.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = mySettings.readListEntry( "recentfiles" );
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), and QStringList::split().
+.SH "QStringList QSettings::readListEntry ( const QString & key, const QChar & separator, bool * ok = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Reads the entry specified by \fIkey\fR as a string. The \fIseparator\fR is used to create a QStringList by calling QStringList::split(\fIseparator\fR, entry). If \fIok\fR is not 0: \fI*ok\fR is set to TRUE if the key was read, otherwise \fI*ok\fR is set to FALSE.
+.PP
+\fBWarning:\fR As the documentation states, QStringList::split() will omit empty strings from the list. Because of this, it is impossible to retrieve identical list data with this function. We recommend using the readListEntry() and writeEntry() overloads that do not take a \fIseparator\fR argument.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = mySettings.readListEntry( "size", " " );
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), removeEntry(), and QStringList::split().
+.SH "int QSettings::readNumEntry ( const QString & key, int def = 0, bool * ok = 0 ) const"
+Reads the entry specified by \fIkey\fR, and returns an integer, or the default value, \fIdef\fR, if the entry couldn't be read. If \fIok\fR is non-null, *ok is set to TRUE if the key was read, FALSE otherwise.
+.PP
+See also readEntry(), readDoubleEntry(), readBoolEntry(), writeEntry(), and removeEntry().
+.SH "bool QSettings::removeEntry ( const QString & key )"
+Removes the entry specified by \fIkey\fR.
+.PP
+Returns true if the entry was successfully removed; otherwise returns false. Note that removing the last entry in any given folder, will also remove the folder.
+.PP
+See also readEntry() and writeEntry().
+.SH "void QSettings::removeSearchPath ( System s, const QString & path )"
+Removes all occurrences of \fIpath\fR (using exact matching) from the settings search path for system \fIs\fR. Note that the default search paths cannot be removed.
+.PP
+See also insertSearchPath().
+.SH "void QSettings::resetGroup ()"
+Set the current key prefix to the empty string.
+.SH "void QSettings::setPath ( const QString & domain, const QString & product, Scope scope = Global )"
+Insert platform-dependent paths from platform-independent information.
+.PP
+The \fIdomain\fR should be an Internet domain name controlled by the producer of the software, eg. Trolltech products use "trolltech.com".
+.PP
+The \fIproduct\fR should be the official name of the product.
+.PP
+The \fIscope\fR should be QSettings::User for user-specific settings, or QSettings::Global for system-wide settings (generally these will be read-only to many users).
+.PP
+Not all information is relevant on all systems.
+.SH "QStringList QSettings::subkeyList ( const QString & key ) const"
+Returns a list of the keys which contain subkeys under \fIkey\fR. Does \fInot\fR return any keys that contain entries.
+.PP
+Example settings:
+.PP
+.nf
+.br
+ /MyCompany/MyApplication/background color
+.br
+ /MyCompany/MyApplication/foreground color
+.br
+ /MyCompany/MyApplication/geometry/x
+.br
+ /MyCompany/MyApplication/geometry/y
+.br
+ /MyCompany/MyApplication/geometry/width
+.br
+ /MyCompany/MyApplication/geometry/height
+.br
+ /MyCompany/MyApplication/recent files/1
+.br
+ /MyCompany/MyApplication/recent files/2
+.br
+ /MyCompany/MyApplication/recent files/3
+.br
+.fi
+.PP
+.nf
+.br
+ QStringList keys = settings.subkeyList( "/MyCompany/MyApplication" );
+.br
+.fi
+.PP
+In the above example, \fCkeys\fR will contain 'geometry' and 'recent files'. It will not contain 'background color' or 'foreground color' because those keys contain entries not subkeys. To get a list of keys that contain entries rather than subkeys use entryList() instead.
+.PP
+\fBWarning:\fR In the above example, if QSettings is writing to an Ini file, then a call to
+.PP
+.nf
+.br
+ subkeyList("/MyCompany")
+.fi
+will return an empty list. This happens because a key like
+.PP
+.nf
+.br
+ /MyCompany/MyApplication/background color
+.fi
+is written to the file \fI"mycompanyrc"\fR, under the section \fI[MyApplication]\fR. This call is therefore a request to list the sections in an ini file, which is not supported in this version of QSettings. This is a known issue which will be fixed in Qt-4.
+.PP
+See also entryList().
+.SH "bool QSettings::writeEntry ( const QString & key, bool value )"
+Writes the boolean entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise TRUE is returned.
+.PP
+\fBWarning:\fR On certain platforms, keys are required to contain at least two components (e.g., "/foo/bar"). This limitation does not apply to Qt 4.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), and removeEntry().
+.PP
+Example: chart/chartform.cpp.
+.SH "bool QSettings::writeEntry ( const QString & key, double value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the double entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise TRUE is returned.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), and removeEntry().
+.SH "bool QSettings::writeEntry ( const QString & key, int value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the integer entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise TRUE is returned.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), and removeEntry().
+.SH "bool QSettings::writeEntry ( const QString & key, const QString & value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the string entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR. If \fIvalue\fR is an empty string or a null string the key's value will be an empty string.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise TRUE is returned.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), and removeEntry().
+.SH "bool QSettings::writeEntry ( const QString & key, const QStringList & value )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes the string list entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise returns TRUE.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), and removeEntry().
+.SH "bool QSettings::writeEntry ( const QString & key, const QStringList & value, const QChar & separator )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Writes the string list entry \fIvalue\fR into key \fIkey\fR. The \fIkey\fR is created if it doesn't exist. Any previous value is overwritten by \fIvalue\fR. The list is stored as a sequence of strings separated by \fIseparator\fR (using QStringList::join()), so none of the strings in the list should contain the separator. If the list is empty or null the key's value will be an empty string.
+.PP
+\fBWarning:\fR The list should not contain empty or null strings, as readListEntry() will use QStringList::split() to recreate the list. As the documentation states, QStringList::split() will omit empty strings from the list. Because of this, it is impossible to retrieve identical list data that is stored with this function. We recommend using the writeEntry() and readListEntry() overloads that do not take a \fIseparator\fR argument.
+.PP
+If an error occurs the settings are left unchanged and FALSE is returned; otherwise returns TRUE.
+.PP
+See also readListEntry(), readNumEntry(), readDoubleEntry(), readBoolEntry(), removeEntry(), and QStringList::join().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsettings.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsettings.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsgistyle.3qt b/doc/man/man3/qsgistyle.3qt
new file mode 100644
index 0000000..947aa51
--- /dev/null
+++ b/doc/man/man3/qsgistyle.3qt
@@ -0,0 +1,64 @@
+'\" t
+.TH QSGIStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSGIStyle \- SGI/Irix look and feel
+.SH SYNOPSIS
+\fC#include <qsgistyle.h>\fR
+.PP
+Inherits QMotifStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSGIStyle\fR ( bool useHighlightCols = FALSE )"
+.br
+.ti -1c
+.BI "virtual \fB~QSGIStyle\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSGIStyle class provides SGI/Irix look and feel.
+.PP
+This class implements the SGI look and feel. It resembles the SGI/Irix Motif GUI style as closely as QStyle allows.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSGIStyle::QSGIStyle ( bool useHighlightCols = FALSE )"
+Constructs a QSGIStyle.
+.PP
+If \fIuseHighlightCols\fR is FALSE (default value), the style will polish the application's color palette to emulate the Motif way of highlighting, which is a simple inversion between the base and the text color.
+.PP
+See also QMotifStyle::useHighlightColors().
+.SH "QSGIStyle::~QSGIStyle ()\fC [virtual]\fR"
+Destroys the style.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsgistyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsgistyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qshowevent.3qt b/doc/man/man3/qshowevent.3qt
new file mode 100644
index 0000000..b32732b
--- /dev/null
+++ b/doc/man/man3/qshowevent.3qt
@@ -0,0 +1,55 @@
+'\" t
+.TH QShowEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QShowEvent \- Event which is sent when a widget is shown
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQShowEvent\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QShowEvent class provides an event which is sent when a widget is shown.
+.PP
+There are two kinds of show events: show events caused by the window system (spontaneous) and internal show events. Spontaneous show events are sent just after the window system shows the window, including after a top-level window has been shown (un-iconified) by the user. Internal show events are delivered just before the widget becomes visible.
+.PP
+See also QHideEvent and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QShowEvent::QShowEvent ()"
+Constructs a QShowEvent.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qshowevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qshowevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsignal.3qt b/doc/man/man3/qsignal.3qt
new file mode 100644
index 0000000..39f2a83
--- /dev/null
+++ b/doc/man/man3/qsignal.3qt
@@ -0,0 +1,197 @@
+'\" t
+.TH QSignal 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSignal \- Can be used to send signals for classes that don't inherit QObject
+.SH SYNOPSIS
+\fC#include <qsignal.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSignal\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSignal\fR ()"
+.br
+.ti -1c
+.BI "bool \fBconnect\fR ( const QObject * receiver, const char * member )"
+.br
+.ti -1c
+.BI "bool \fBdisconnect\fR ( const QObject * receiver, const char * member = 0 )"
+.br
+.ti -1c
+.BI "void \fBactivate\fR ()"
+.br
+.ti -1c
+.BI "bool isBlocked () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void block ( bool b ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setParameter ( int value ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int parameter () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetValue\fR ( const QVariant & value )"
+.br
+.ti -1c
+.BI "QVariant \fBvalue\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSignal class can be used to send signals for classes that don't inherit QObject.
+.PP
+If you want to send signals from a class that does not inherit QObject, you can create an internal QSignal object to emit the signal. You must also provide a function that connects the signal to an outside object slot. This is how we have implemented signals in the QMenuData class, which is not a QObject.
+.PP
+In general, we recommend inheriting QObject instead. QObject provides much more functionality.
+.PP
+You can set a single QVariant parameter for the signal with setValue().
+.PP
+Note that QObject is a \fIprivate\fR base class of QSignal, i.e. you cannot call any QObject member functions from a QSignal object.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qsignal.h>
+.br
+.br
+ class MyClass
+.br
+ {
+.br
+ public:
+.br
+ MyClass();
+.br
+ ~MyClass();
+.br
+.br
+ void doSomething();
+.br
+.br
+ void connect( QObject *receiver, const char *member );
+.br
+.br
+ private:
+.br
+ QSignal *sig;
+.br
+ };
+.br
+.br
+ MyClass::MyClass()
+.br
+ {
+.br
+ sig = new QSignal;
+.br
+ }
+.br
+.br
+ MyClass::~MyClass()
+.br
+ {
+.br
+ delete sig;
+.br
+ }
+.br
+.br
+ void MyClass::doSomething()
+.br
+ {
+.br
+ // ... does something
+.br
+ sig->activate(); // emits the signal
+.br
+ }
+.br
+.br
+ void MyClass::connect( QObject *receiver, const char *member )
+.br
+ {
+.br
+ sig->connect( receiver, member );
+.br
+ }
+.br
+.fi
+.PP
+See also Input/Output and Networking and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSignal::QSignal ( QObject * parent = 0, const char * name = 0 )"
+Constructs a signal object called \fIname\fR, with the parent object \fIparent\fR. These arguments are passed directly to QObject.
+.SH "QSignal::~QSignal ()"
+Destroys the signal. All connections are removed, as is the case with all QObjects.
+.SH "void QSignal::activate ()"
+Emits the signal. If the platform supports QVariant and a parameter has been set with setValue(), this value is passed in the signal.
+.SH "void QSignal::block ( bool b )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Blocks the signal if \fIb\fR is TRUE, or unblocks the signal if \fIb\fR is FALSE.
+.PP
+An activated signal disappears into hyperspace if it is blocked.
+.PP
+See also isBlocked(), activate(), and QObject::blockSignals().
+.SH "bool QSignal::connect ( const QObject * receiver, const char * member )"
+Connects the signal to \fImember\fR in object \fIreceiver\fR.
+.PP
+See also disconnect() and QObject::connect().
+.SH "bool QSignal::disconnect ( const QObject * receiver, const char * member = 0 )"
+Disonnects the signal from \fImember\fR in object \fIreceiver\fR.
+.PP
+See also connect() and QObject::disconnect().
+.SH "bool QSignal::isBlocked () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if the signal is blocked, or FALSE if it is not blocked.
+.PP
+The signal is not blocked by default.
+.PP
+See also block() and QObject::signalsBlocked().
+.SH "int QSignal::parameter () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QSignal::setParameter ( int value )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QSignal::setValue ( const QVariant & value )"
+Sets the signal's parameter to \fIvalue\fR
+.SH "QVariant QSignal::value () const"
+Returns the signal's parameter
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsignal.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsignal.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsignalmapper.3qt b/doc/man/man3/qsignalmapper.3qt
new file mode 100644
index 0000000..0d9e852
--- /dev/null
+++ b/doc/man/man3/qsignalmapper.3qt
@@ -0,0 +1,118 @@
+'\" t
+.TH QSignalMapper 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSignalMapper \- Bundles signals from identifiable senders
+.SH SYNOPSIS
+\fC#include <qsignalmapper.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSignalMapper\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSignalMapper\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetMapping\fR ( const QObject * sender, int identifier )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMapping\fR ( const QObject * sender, const QString & identifier )"
+.br
+.ti -1c
+.BI "void \fBremoveMappings\fR ( const QObject * sender )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBmap\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBmapped\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBmapped\fR ( const QString & )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSignalMapper class bundles signals from identifiable senders.
+.PP
+This class collects a set of parameterless signals, and re-emits them with integer or string parameters corresponding to the object that sent the signal.
+.PP
+See also Input/Output and Networking.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSignalMapper::QSignalMapper ( QObject * parent, const char * name = 0 )"
+Constructs a QSignalMapper called \fIname\fR, with parent \fIparent\fR. Like all QObjects, it will be deleted when the parent is deleted.
+.SH "QSignalMapper::~QSignalMapper ()"
+Destroys the QSignalMapper.
+.SH "void QSignalMapper::map ()\fC [slot]\fR"
+This slot emits signals based on which object sends signals to it.
+.PP
+Examples:
+.)l i18n/main.cpp and themes/themes.cpp.
+.SH "void QSignalMapper::mapped ( int )\fC [signal]\fR"
+This signal is emitted when map() is signaled from an object that has an integer mapping set.
+.PP
+See also setMapping().
+.PP
+Examples:
+.)l i18n/main.cpp and themes/themes.cpp.
+.SH "void QSignalMapper::mapped ( const QString & )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted when map() is signaled from an object that has a string mapping set.
+.PP
+See also setMapping().
+.SH "void QSignalMapper::removeMappings ( const QObject * sender )"
+Removes all mappings for \fIsender\fR. This is done automatically when mapped objects are destroyed.
+.SH "void QSignalMapper::setMapping ( const QObject * sender, int identifier )\fC [virtual]\fR"
+Adds a mapping so that when map() is signaled from the given \fIsender\fR, the signal mapped(\fIidentifier\fR) is emitted.
+.PP
+There may be at most one integer identifier for each object.
+.PP
+Examples:
+.)l i18n/main.cpp and themes/themes.cpp.
+.SH "void QSignalMapper::setMapping ( const QObject * sender, const QString & identifier )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a mapping so that when map() is signaled from the given \fIsender\fR, the signal mapper(\fIidentifier\fR) is emitted.
+.PP
+There may be at most one string identifier for each object, and it
+may not be empty.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsignalmapper.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsignalmapper.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsimplerichtext.3qt b/doc/man/man3/qsimplerichtext.3qt
new file mode 100644
index 0000000..18e5e25
--- /dev/null
+++ b/doc/man/man3/qsimplerichtext.3qt
@@ -0,0 +1,182 @@
+'\" t
+.TH QSimpleRichText 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSimpleRichText \- Small displayable piece of rich text
+.SH SYNOPSIS
+\fC#include <qsimplerichtext.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSimpleRichText\fR ( const QString & text, const QFont & fnt, const QString & context = QString::null, const QStyleSheet * sheet = 0 )"
+.br
+.ti -1c
+.BI "\fBQSimpleRichText\fR ( const QString & text, const QFont & fnt, const QString & context, const QStyleSheet * sheet, const QMimeSourceFactory * factory, int pageBreak = -1, const QColor & linkColor = Qt::blue, bool linkUnderline = TRUE )"
+.br
+.ti -1c
+.BI "\fB~QSimpleRichText\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "void \fBsetWidth\fR ( QPainter * p, int w )"
+.br
+.ti -1c
+.BI "void \fBsetDefaultFont\fR ( const QFont & f )"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidthUsed\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "void \fBadjustSize\fR ()"
+.br
+.ti -1c
+.BI "void \fBdraw\fR ( QPainter * p, int x, int y, const QRect & clipRect, const QColorGroup & cg, const QBrush * paper = 0 ) const"
+.br
+.ti -1c
+.BI "void draw ( QPainter * p, int x, int y, const QRegion & clipRegion, const QColorGroup & cg, const QBrush * paper = 0 ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString \fBcontext\fR () const"
+.br
+.ti -1c
+.BI "QString \fBanchorAt\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "bool \fBinText\fR ( const QPoint & pos ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSimpleRichText class provides a small displayable piece of rich text.
+.PP
+This class encapsulates simple rich text usage in which a string is interpreted as rich text and can be drawn. This is particularly useful if you want to display some rich text in a custom widget. A QStyleSheet is needed to interpret the tags and format the rich text. Qt provides a default HTML-like style sheet, but you may define custom style sheets.
+.PP
+Once created, the rich text object can be queried for its width(), height(), and the actual width used (see widthUsed()). Most importantly, it can be drawn on any given QPainter with draw(). QSimpleRichText can also be used to implement hypertext or active text facilities by using anchorAt(). A hit test through inText() makes it possible to use simple rich text for text objects in editable drawing canvases.
+.PP
+Once constructed from a string the contents cannot be changed, only resized. If the contents change, just throw the rich text object away and make a new one with the new contents.
+.PP
+For large documents use QTextEdit or QTextBrowser. For very small items of rich text you can use a QLabel.
+.PP
+If you are using QSimpleRichText to print in high resolution you should call setWidth(QPainter, int) so that the content will be laid out properly on the page.
+.PP
+See also Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSimpleRichText::QSimpleRichText ( const QString & text, const QFont & fnt, const QString & context = QString::null, const QStyleSheet * sheet = 0 )"
+Constructs a QSimpleRichText from the rich text string \fItext\fR and the font \fIfnt\fR.
+.PP
+The font is used as a basis for the text rendering. When using rich text rendering on a widget \fIw\fR, you would normally specify the widget's font, for example:
+.PP
+.nf
+.br
+ QSimpleRichText myrichtext( contents, mywidget->font() );
+.br
+.fi
+.PP
+\fIcontext\fR is the optional context of the rich text object. This becomes important if \fItext\fR contains relative references, for example within image tags. QSimpleRichText always uses the default mime source factory (see QMimeSourceFactory::defaultFactory()) to resolve those references. The context will then be used to calculate the absolute path. See QMimeSourceFactory::makeAbsolute() for details.
+.PP
+The \fIsheet\fR is an optional style sheet. If it is 0, the default style sheet will be used (see QStyleSheet::defaultSheet()).
+.SH "QSimpleRichText::QSimpleRichText ( const QString & text, const QFont & fnt, const QString & context, const QStyleSheet * sheet, const QMimeSourceFactory * factory, int pageBreak = -1, const QColor & linkColor = Qt::blue, bool linkUnderline = TRUE )"
+Constructs a QSimpleRichText from the rich text string \fItext\fR and the font \fIfnt\fR.
+.PP
+This is a slightly more complex constructor for QSimpleRichText that takes an additional mime source factory \fIfactory\fR, a page break parameter \fIpageBreak\fR and a bool \fIlinkUnderline\fR. \fIlinkColor\fR is only provided for compatibility, but has no effect, as QColorGroup's QColorGroup::link() color is used now.
+.PP
+\fIcontext\fR is the optional context of the rich text object. This becomes important if \fItext\fR contains relative references, for example within image tags. QSimpleRichText always uses the default mime source factory (see QMimeSourceFactory::defaultFactory()) to resolve those references. The context will then be used to calculate the absolute path. See QMimeSourceFactory::makeAbsolute() for details.
+.PP
+The \fIsheet\fR is an optional style sheet. If it is 0, the default style sheet will be used (see QStyleSheet::defaultSheet()).
+.PP
+This constructor is useful for creating a QSimpleRichText object suitable for printing. Set \fIpageBreak\fR to be the height of the contents area of the pages.
+.SH "QSimpleRichText::~QSimpleRichText ()"
+Destroys the rich text object, freeing memory.
+.SH "void QSimpleRichText::adjustSize ()"
+Adjusts the richt text object to a reasonable size.
+.PP
+See also setWidth().
+.SH "QString QSimpleRichText::anchorAt ( const QPoint & pos ) const"
+Returns the anchor at the requested position, \fIpos\fR. An empty string is returned if no anchor is specified for this position.
+.SH "QString QSimpleRichText::context () const"
+Returns the context of the rich text object. If no context has been specified in the constructor, a null string is returned. The context is the path to use to look up relative links, such as image tags and anchor references.
+.SH "void QSimpleRichText::draw ( QPainter * p, int x, int y, const QRect & clipRect, const QColorGroup & cg, const QBrush * paper = 0 ) const"
+Draws the formatted text with painter \fIp\fR, at position (\fIx\fR, \fIy\fR), clipped to \fIclipRect\fR. The clipping rectangle is given in the rich text object's coordinates translated by (\fIx\fR, \fIy\fR). Passing an null rectangle results in no clipping. Colors from the color group \fIcg\fR are used as needed, and if not 0, \fI*paper\fR is used as the background brush.
+.PP
+Note that the display code is highly optimized to reduce flicker, so passing a brush for \fIpaper\fR is preferable to simply clearing the area to be painted and then calling this without a brush.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "void QSimpleRichText::draw ( QPainter * p, int x, int y, const QRegion & clipRegion, const QColorGroup & cg, const QBrush * paper = 0 ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use the version with clipRect instead. The region version has problems with larger documents on some platforms (on X11 regions internally are represented with 16bit coordinates).
+.SH "int QSimpleRichText::height () const"
+Returns the height of the rich text object in pixels.
+.PP
+See also setWidth().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "bool QSimpleRichText::inText ( const QPoint & pos ) const"
+Returns TRUE if \fIpos\fR is within a text line of the rich text object; otherwise returns FALSE.
+.SH "void QSimpleRichText::setDefaultFont ( const QFont & f )"
+Sets the default font for the rich text object to \fIf\fR
+.SH "void QSimpleRichText::setWidth ( QPainter * p, int w )"
+Sets the width of the rich text object to \fIw\fR pixels, recalculating the layout as if it were to be drawn with painter \fIp\fR.
+.PP
+Passing a painter is useful when you intend drawing on devices other than the screen, for example a QPrinter.
+.PP
+See also height() and adjustSize().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "void QSimpleRichText::setWidth ( int w )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the width of the rich text object to \fIw\fR pixels.
+.PP
+See also height() and adjustSize().
+.SH "int QSimpleRichText::width () const"
+Returns the set width of the rich text object in pixels.
+.PP
+See also widthUsed().
+.SH "int QSimpleRichText::widthUsed () const"
+Returns the width in pixels that is actually used by the rich text object. This can be smaller or wider than the set width.
+.PP
+It may be wider, for example, if the text contains images or non-breakable words that are already wider than the available space. It's smaller when the object only consists of lines that do not fill the width completely.
+.PP
+See also width().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsimplerichtext.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsimplerichtext.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsize.3qt b/doc/man/man3/qsize.3qt
new file mode 100644
index 0000000..199261f
--- /dev/null
+++ b/doc/man/man3/qsize.3qt
@@ -0,0 +1,370 @@
+'\" t
+.TH QSize 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSize \- Defines the size of a two-dimensional object
+.SH SYNOPSIS
+\fC#include <qsize.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBScaleMode\fR { ScaleFree, ScaleMin, ScaleMax }"
+.br
+.ti -1c
+.BI "\fBQSize\fR ()"
+.br
+.ti -1c
+.BI "\fBQSize\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "void \fBsetHeight\fR ( int h )"
+.br
+.ti -1c
+.BI "void \fBtranspose\fR ()"
+.br
+.ti -1c
+.BI "void \fBscale\fR ( int w, int h, ScaleMode mode )"
+.br
+.ti -1c
+.BI "void \fBscale\fR ( const QSize & s, ScaleMode mode )"
+.br
+.ti -1c
+.BI "QSize \fBexpandedTo\fR ( const QSize & otherSize ) const"
+.br
+.ti -1c
+.BI "QSize \fBboundedTo\fR ( const QSize & otherSize ) const"
+.br
+.ti -1c
+.BI "QCOORD & \fBrwidth\fR ()"
+.br
+.ti -1c
+.BI "QCOORD & \fBrheight\fR ()"
+.br
+.ti -1c
+.BI "QSize & \fBoperator+=\fR ( const QSize & s )"
+.br
+.ti -1c
+.BI "QSize & \fBoperator-=\fR ( const QSize & s )"
+.br
+.ti -1c
+.BI "QSize & \fBoperator*=\fR ( int c )"
+.br
+.ti -1c
+.BI "QSize & \fBoperator*=\fR ( double c )"
+.br
+.ti -1c
+.BI "QSize & \fBoperator/=\fR ( int c )"
+.br
+.ti -1c
+.BI "QSize & \fBoperator/=\fR ( double c )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QSize & s1, const QSize & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QSize & s1, const QSize & s2 )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator+\fR ( const QSize & s1, const QSize & s2 )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator-\fR ( const QSize & s1, const QSize & s2 )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator*\fR ( const QSize & s, int c )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator*\fR ( int c, const QSize & s )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator*\fR ( const QSize & s, double c )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator*\fR ( double c, const QSize & s )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator/\fR ( const QSize & s, int c )"
+.br
+.ti -1c
+.BI "const QSize \fBoperator/\fR ( const QSize & s, double c )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QSize & sz )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QSize & sz )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSize class defines the size of a two-dimensional object.
+.PP
+A size is specified by a width and a height.
+.PP
+The coordinate type is QCOORD (defined in \fC<qwindowdefs.h>\fR as \fCint\fR). The minimum value of QCOORD is QCOORD_MIN (-2147483648) and the maximum value is QCOORD_MAX (2147483647).
+.PP
+The size can be set in the constructor and changed with setWidth() and setHeight(), or using operator+=(), operator-=(), operator*=() and operator/=(), etc. You can swap the width and height with transpose(). You can get a size which holds the maximum height and width of two sizes using expandedTo(), and the minimum height and width of two sizes using boundedTo().
+.PP
+See also QPoint, QRect, Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QSize::ScaleMode"
+This enum type defines the different ways of scaling a size.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.TP
+\fCQSize::ScaleFree\fR - The size is scaled freely. The ratio is not preserved.
+.TP
+\fCQSize::ScaleMin\fR - The size is scaled to a rectangle as large as possible inside a given rectangle, preserving the aspect ratio.
+.TP
+\fCQSize::ScaleMax\fR - The size is scaled to a rectangle as small as possible outside a given rectangle, preserving the aspect ratio.
+.PP
+See also QSize::scale(), QImage::scale(), and QImage::smoothScale().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSize::QSize ()"
+Constructs a size with invalid (negative) width and height.
+.SH "QSize::QSize ( int w, int h )"
+Constructs a size with width \fIw\fR and height \fIh\fR.
+.SH "QSize QSize::boundedTo ( const QSize & otherSize ) const"
+Returns a size with the minimum width and height of this size and \fIotherSize\fR.
+.SH "QSize QSize::expandedTo ( const QSize & otherSize ) const"
+Returns a size with the maximum width and height of this size and \fIotherSize\fR.
+.PP
+Examples:
+.)l customlayout/card.cpp and customlayout/flow.cpp.
+.SH "int QSize::height () const"
+Returns the height.
+.PP
+See also width().
+.PP
+Examples:
+.)l movies/main.cpp, qfd/fontdisplayer.cpp, and qfd/qfd.cpp.
+.SH "bool QSize::isEmpty () const"
+Returns TRUE if the width is less than or equal to 0, or the height is less than or equal to 0; otherwise returns FALSE.
+.SH "bool QSize::isNull () const"
+Returns TRUE if the width is 0 and the height is 0; otherwise returns FALSE.
+.SH "bool QSize::isValid () const"
+Returns TRUE if the width is equal to or greater than 0 and the height is equal to or greater than 0; otherwise returns FALSE.
+.SH "QSize & QSize::operator*= ( int c )"
+Multiplies both the width and height by \fIc\fR and returns a reference to the size.
+.SH "QSize & QSize::operator*= ( double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Multiplies both the width and height by \fIc\fR and returns a reference to the size.
+.PP
+Note that the result is truncated.
+.SH "QSize & QSize::operator+= ( const QSize & s )"
+Adds \fIs\fR to the size and returns a reference to this size.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize s( 3, 7 );
+.br
+ QSize r( -1, 4 );
+.br
+ s += r; // s becomes (2,11)
+.fi
+.SH "QSize & QSize::operator-= ( const QSize & s )"
+Subtracts \fIs\fR from the size and returns a reference to this size.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize s( 3, 7 );
+.br
+ QSize r( -1, 4 );
+.br
+ s -= r; // s becomes (4,3)
+.br
+.fi
+.SH "QSize & QSize::operator/= ( int c )"
+Divides both the width and height by \fIc\fR and returns a reference to the size.
+.SH "QSize & QSize::operator/= ( double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Divides both the width and height by \fIc\fR and returns a reference to the size.
+.PP
+Note that the result is truncated.
+.SH "QCOORD & QSize::rheight ()"
+Returns a reference to the height.
+.PP
+Using a reference makes it possible to directly manipulate the height.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize s( 100, 10 );
+.br
+ s.rheight() += 5; // s becomes (100,15)
+.br
+.fi
+.PP
+See also rwidth().
+.SH "QCOORD & QSize::rwidth ()"
+Returns a reference to the width.
+.PP
+Using a reference makes it possible to directly manipulate the width.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize s( 100, 10 );
+.br
+ s.rwidth() += 20; // s becomes (120,10)
+.br
+.fi
+.PP
+See also rheight().
+.SH "void QSize::scale ( int w, int h, ScaleMode mode )"
+Scales the size to a rectangle of width \fIw\fR and height \fIh\fR according to the ScaleMode \fImode\fR.
+.TP
+If \fImode\fR is ScaleFree, the size is set to (\fIw\fR, \fIh\fR).
+.TP
+If \fImode\fR is ScaleMin, the current size is scaled to a rectangle as large as possible inside (\fIw\fR, \fIh\fR), preserving the aspect ratio.
+.TP
+If \fImode\fR is ScaleMax, the current size is scaled to a rectangle as small as possible outside (\fIw\fR, \fIh\fR), preserving the aspect ratio.
+.PP
+Example:
+.PP
+.nf
+.br
+ QSize t1( 10, 12 );
+.br
+ t1.scale( 60, 60, QSize::ScaleFree );
+.br
+ // t1 is (60, 60)
+.br
+.br
+ QSize t2( 10, 12 );
+.br
+ t2.scale( 60, 60, QSize::ScaleMin );
+.br
+ // t2 is (50, 60)
+.br
+.br
+ QSize t3( 10, 12 );
+.br
+ t3.scale( 60, 60, QSize::ScaleMax );
+.br
+ // t3 is (60, 72)
+.br
+.fi
+.SH "void QSize::scale ( const QSize & s, ScaleMode mode )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Equivalent to scale(\fIs\fR.width(), \fIs\fR.height(), \fImode\fR).
+.SH "void QSize::setHeight ( int h )"
+Sets the height to \fIh\fR.
+.PP
+See also height() and setWidth().
+.SH "void QSize::setWidth ( int w )"
+Sets the width to \fIw\fR.
+.PP
+See also width() and setHeight().
+.SH "void QSize::transpose ()"
+Swaps the values of width and height.
+.SH "int QSize::width () const"
+Returns the width.
+.PP
+See also height().
+.PP
+Examples:
+.)l movies/main.cpp, qfd/fontdisplayer.cpp, and qfd/qfd.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "bool operator!= ( const QSize & s1, const QSize & s2 )"
+Returns TRUE if \fIs1\fR and \fIs2\fR are different; otherwise returns FALSE.
+.SH "const QSize operator* ( const QSize & s, int c )"
+Multiplies \fIs\fR by \fIc\fR and returns the result.
+.SH "const QSize operator* ( int c, const QSize & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Multiplies \fIs\fR by \fIc\fR and returns the result.
+.SH "const QSize operator* ( const QSize & s, double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Multiplies \fIs\fR by \fIc\fR and returns the result.
+.SH "const QSize operator* ( double c, const QSize & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Multiplies \fIs\fR by \fIc\fR and returns the result.
+.SH "const QSize operator+ ( const QSize & s1, const QSize & s2 )"
+Returns the sum of \fIs1\fR and \fIs2\fR; each component is added separately.
+.SH "const QSize operator- ( const QSize & s1, const QSize & s2 )"
+Returns \fIs2\fR subtracted from \fIs1\fR; each component is subtracted separately.
+.SH "const QSize operator/ ( const QSize & s, int c )"
+Divides \fIs\fR by \fIc\fR and returns the result.
+.SH "const QSize operator/ ( const QSize & s, double c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Divides \fIs\fR by \fIc\fR and returns the result.
+.PP
+Note that the result is truncated.
+.SH "QDataStream & operator<< ( QDataStream & s, const QSize & sz )"
+Writes the size \fIsz\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "bool operator== ( const QSize & s1, const QSize & s2 )"
+Returns TRUE if \fIs1\fR and \fIs2\fR are equal; otherwise returns FALSE.
+.SH "QDataStream & operator>> ( QDataStream & s, QSize & sz )"
+Reads the size from the stream \fIs\fR into size \fIsz\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsize.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsize.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsizegrip.3qt b/doc/man/man3/qsizegrip.3qt
new file mode 100644
index 0000000..4d61fce
--- /dev/null
+++ b/doc/man/man3/qsizegrip.3qt
@@ -0,0 +1,100 @@
+'\" t
+.TH QSizeGrip 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSizeGrip \- Corner-grip for resizing a top-level window
+.SH SYNOPSIS
+\fC#include <qsizegrip.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSizeGrip\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSizeGrip\fR ()"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmousePressEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmouseMoveEvent\fR ( QMouseEvent * e )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSizeGrip class provides a corner-grip for resizing a top-level window.
+.PP
+This widget works like the standard Windows resize handle. In the X11 version this resize handle generally works differently from the one provided by the system; we hope to reduce this difference in the future.
+.PP
+Put this widget anywhere in a widget tree and the user can use it to resize the top-level window. Generally, this should be in the lower right-hand corner. Note that QStatusBar already uses this widget, so if you have a status bar (e.g. you are using QMainWindow), then you don't need to use this widget explicitly.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QStatusBar, Widget Appearance and Style, Main Window and Related Classes, and Basic Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSizeGrip::QSizeGrip ( QWidget * parent, const char * name = 0 )"
+Constructs a resize corner called \fIname\fR, as a child widget of \fIparent\fR.
+.SH "QSizeGrip::~QSizeGrip ()"
+Destroys the size grip.
+.SH "void QSizeGrip::mouseMoveEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Resizes the top-level widget containing this widget. The event is in \fIe\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QSizeGrip::mousePressEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+Primes the resize operation. The event is in \fIe\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QSizeGrip::paintEvent ( QPaintEvent * e )\fC [virtual protected]\fR"
+Paints the resize grip. Resize grips are usually rendered as small diagonal textured lines in the lower-right corner. The event is in \fIe\fR.
+.PP
+Reimplemented from QWidget.
+.SH "QSize QSizeGrip::sizeHint () const\fC [virtual]\fR"
+Returns the size grip's size hint; this is a small size.
+.PP
+Reimplemented from QWidget.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsizegrip.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsizegrip.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsizepolicy.3qt b/doc/man/man3/qsizepolicy.3qt
new file mode 100644
index 0000000..3b8e5bb
--- /dev/null
+++ b/doc/man/man3/qsizepolicy.3qt
@@ -0,0 +1,238 @@
+'\" t
+.TH QSizePolicy 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSizePolicy \- Layout attribute describing horizontal and vertical resizing policy
+.SH SYNOPSIS
+\fC#include <qsizepolicy.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBSizeType\fR { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow | MayShrink, MinimumExpanding = MayGrow | ExpMask, Expanding = MayGrow | MayShrink | ExpMask, Ignored = ExpMask }"
+.br
+.ti -1c
+.BI "enum \fBExpandData\fR { NoDirection = 0, Horizontally = 1, Vertically = 2, Horizontal = Horizontally, Vertical = Vertically, BothDirections = Horizontally | Vertically }"
+.br
+.ti -1c
+.BI "\fBQSizePolicy\fR ()"
+.br
+.ti -1c
+.BI "\fBQSizePolicy\fR ( SizeType hor, SizeType ver, bool hfw = FALSE )"
+.br
+.ti -1c
+.BI "\fBQSizePolicy\fR ( SizeType hor, SizeType ver, uchar horStretch, uchar verStretch, bool hfw = FALSE )"
+.br
+.ti -1c
+.BI "SizeType \fBhorData\fR () const"
+.br
+.ti -1c
+.BI "SizeType \fBverData\fR () const"
+.br
+.ti -1c
+.BI "bool \fBmayShrinkHorizontally\fR () const"
+.br
+.ti -1c
+.BI "bool \fBmayShrinkVertically\fR () const"
+.br
+.ti -1c
+.BI "bool \fBmayGrowHorizontally\fR () const"
+.br
+.ti -1c
+.BI "bool \fBmayGrowVertically\fR () const"
+.br
+.ti -1c
+.BI "ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetHorData\fR ( SizeType d )"
+.br
+.ti -1c
+.BI "void \fBsetVerData\fR ( SizeType d )"
+.br
+.ti -1c
+.BI "void \fBsetHeightForWidth\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBhasHeightForWidth\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QSizePolicy & s ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QSizePolicy & s ) const"
+.br
+.ti -1c
+.BI "uint \fBhorStretch\fR () const"
+.br
+.ti -1c
+.BI "uint \fBverStretch\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetHorStretch\fR ( uchar sf )"
+.br
+.ti -1c
+.BI "void \fBsetVerStretch\fR ( uchar sf )"
+.br
+.ti -1c
+.BI "void \fBtranspose\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSizePolicy class is a layout attribute describing horizontal and vertical resizing policy.
+.PP
+The size policy of a widget is an expression of its willingness to be resized in various ways.
+.PP
+Widgets that reimplement QWidget::sizePolicy() return a QSizePolicy that describes the horizontal and vertical resizing policy they prefer when being laid out. Only one of the constructors is of interest in most applications.
+.PP
+QSizePolicy contains two independent SizeType objects; one describes the widgets's horizontal size policy, and the other describes its vertical size policy. It also contains a flag to indicate whether the height and width of its preferred size are related.
+.PP
+The horizontal and vertical SizeTypes are set in the usual constructor and can be queried using a variety of functions.
+.PP
+The hasHeightForWidth() flag indicates whether the widget's sizeHint() is width-dependent (such as a word-wrapping label) or not.
+.PP
+See also QSizePolicy::SizeType, Widget Appearance and Style, and Layout Management.
+.SS "Member Type Documentation"
+.SH "QSizePolicy::ExpandData"
+This enum type describes in which directions a widget can make use of extra space. There are four possible values:
+.TP
+\fCQSizePolicy::NoDirection\fR - the widget cannot make use of extra space in any direction.
+.TP
+\fCQSizePolicy::Horizontally\fR - the widget can usefully be wider than the sizeHint().
+.TP
+\fCQSizePolicy::Vertically\fR - the widget can usefully be taller than the sizeHint().
+.TP
+\fCQSizePolicy::BothDirections\fR - the widget can usefully be both wider and taller than the sizeHint().
+.SH "QSizePolicy::SizeType"
+The per-dimension sizing types used when constructing a QSizePolicy are:
+.TP
+\fCQSizePolicy::Fixed\fR - The QWidget::sizeHint() is the only acceptable alternative, so the widget can never grow or shrink (e.g. the vertical direction of a push button).
+.TP
+\fCQSizePolicy::Minimum\fR - The sizeHint() is minimal, and sufficient. The widget can be expanded, but there is no advantage to it being larger (e.g. the horizontal direction of a push button). It cannot be smaller than the size provided by sizeHint().
+.TP
+\fCQSizePolicy::Maximum\fR - The sizeHint() is a maximum. The widget can be shrunk any amount without detriment if other widgets need the space (e.g. a separator line). It cannot be larger than the size provided by sizeHint().
+.TP
+\fCQSizePolicy::Preferred\fR - The sizeHint() is best, but the widget can be shrunk and still be useful. The widget can be expanded, but there is no advantage to it being larger than sizeHint() (the default QWidget policy).
+.TP
+\fCQSizePolicy::Expanding\fR - The sizeHint() is a sensible size, but the widget can be shrunk and still be useful. The widget can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a slider).
+.TP
+\fCQSizePolicy::MinimumExpanding\fR - The sizeHint() is minimal, and sufficient. The widget can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a slider).
+.TP
+\fCQSizePolicy::Ignored\fR - the sizeHint() is ignored. The widget will get as much space as possible.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSizePolicy::QSizePolicy ()"
+Constructs a minimally initialized QSizePolicy.
+.SH "QSizePolicy::QSizePolicy ( SizeType hor, SizeType ver, bool hfw = FALSE )"
+This is the constructor normally used to return a value in the overridden QWidget::sizePolicy() function of a QWidget subclass.
+.PP
+It constructs a QSizePolicy with independent horizontal and vertical sizing types, \fIhor\fR and \fIver\fR respectively. These sizing types affect how the widget is treated by the layout engine.
+.PP
+If \fIhfw\fR is TRUE, the preferred height of the widget is dependent on the width of the widget (for example, a QLabel with line wrapping).
+.PP
+See also horData(), verData(), and hasHeightForWidth().
+.SH "QSizePolicy::QSizePolicy ( SizeType hor, SizeType ver, uchar horStretch, uchar verStretch, bool hfw = FALSE )"
+Constructs a QSizePolicy with independent horizontal and vertical sizing types \fIhor\fR and \fIver\fR, and stretch factors \fIhorStretch\fR and \fIverStretch\fR.
+.PP
+If \fIhfw\fR is TRUE, the preferred height of the widget is dependent on the width of the widget.
+.PP
+See also horStretch() and verStretch().
+.SH "ExpandData QSizePolicy::expanding () const"
+Returns whether this layout can make use of more space than sizeHint(). A value of Vertical or Horizontal means that it wants to grow in only one dimension, whereas BothDirections means that it wants to grow in both dimensions.
+.PP
+See also mayShrinkHorizontally(), mayGrowHorizontally(), mayShrinkVertically(), and mayGrowVertically().
+.SH "bool QSizePolicy::hasHeightForWidth () const"
+Returns TRUE if the widget's preferred height depends on its width; otherwise returns FALSE.
+.PP
+See also setHeightForWidth().
+.SH "SizeType QSizePolicy::horData () const"
+Returns the horizontal component of the size policy.
+.PP
+See also setHorData(), verData(), and horStretch().
+.SH "uint QSizePolicy::horStretch () const"
+Returns the horizontal stretch factor of the size policy.
+.PP
+See also setHorStretch() and verStretch().
+.SH "bool QSizePolicy::mayGrowHorizontally () const"
+Returns TRUE if the widget can sensibly be wider than its sizeHint(); otherwise returns FALSE.
+.PP
+See also mayGrowVertically() and mayShrinkHorizontally().
+.SH "bool QSizePolicy::mayGrowVertically () const"
+Returns TRUE if the widget can sensibly be taller than its sizeHint(); otherwise returns FALSE.
+.PP
+See also mayGrowHorizontally() and mayShrinkVertically().
+.SH "bool QSizePolicy::mayShrinkHorizontally () const"
+Returns TRUE if the widget can sensibly be narrower than its sizeHint(); otherwise returns FALSE.
+.PP
+See also mayShrinkVertically() and mayGrowHorizontally().
+.SH "bool QSizePolicy::mayShrinkVertically () const"
+Returns TRUE if the widget can sensibly be shorter than its sizeHint(); otherwise returns FALSE.
+.PP
+See also mayShrinkHorizontally() and mayGrowVertically().
+.SH "bool QSizePolicy::operator!= ( const QSizePolicy & s ) const"
+Returns TRUE if this policy is different from \fIs\fR; otherwise returns FALSE.
+.PP
+See also operator==().
+.SH "bool QSizePolicy::operator== ( const QSizePolicy & s ) const"
+Returns TRUE if this policy is equal to \fIs\fR; otherwise returns FALSE.
+.PP
+See also operator!=().
+.SH "void QSizePolicy::setHeightForWidth ( bool b )"
+Sets the hasHeightForWidth() flag to \fIb\fR.
+.PP
+See also hasHeightForWidth().
+.SH "void QSizePolicy::setHorData ( SizeType d )"
+Sets the horizontal component of the size policy to size type \fId\fR.
+.PP
+See also horData() and setVerData().
+.SH "void QSizePolicy::setHorStretch ( uchar sf )"
+Sets the horizontal stretch factor of the size policy to \fIsf\fR.
+.PP
+See also horStretch() and setVerStretch().
+.SH "void QSizePolicy::setVerData ( SizeType d )"
+Sets the vertical component of the size policy to size type \fId\fR.
+.PP
+See also verData() and setHorData().
+.SH "void QSizePolicy::setVerStretch ( uchar sf )"
+Sets the vertical stretch factor of the size policy to \fIsf\fR.
+.PP
+See also verStretch() and setHorStretch().
+.SH "void QSizePolicy::transpose ()"
+Swaps the horizontal and vertical policies and stretches.
+.SH "SizeType QSizePolicy::verData () const"
+Returns the vertical component of the size policy.
+.PP
+See also setVerData(), horData(), and verStretch().
+.SH "uint QSizePolicy::verStretch () const"
+Returns the vertical stretch factor of the size policy.
+.PP
+See also setVerStretch() and horStretch().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsizepolicy.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsizepolicy.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsjiscodec.3qt b/doc/man/man3/qsjiscodec.3qt
new file mode 100644
index 0000000..307176e
--- /dev/null
+++ b/doc/man/man3/qsjiscodec.3qt
@@ -0,0 +1,83 @@
+'\" t
+.TH QSjisCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSjisCodec \- Conversion to and from Shift-JIS
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qsjiscodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.ti -1c
+.BI "\fBQSjisCodec\fR ()"
+.br
+.ti -1c
+.BI "\fB~QSjisCodec\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSjisCodec class provides conversion to and from Shift-JIS.
+.PP
+More precisely, the QSjisCodec class subclasses QTextCodec to provide support for Shift-JIS, an encoding of JIS X 0201 Latin, JIS X 0201 Kana or JIS X 0208.
+.PP
+The environment variable \fCUNICODEMAP_JP\fR can be used to fine-tune QJisCodec, QSjisCodec and QEucJpCodec. The QJisCodec documentation describes how to use this variable.
+.PP
+Most of the code here was written by Serika Kurusugawa, a.k.a. Junji Takagi, and is included in Qt with the author's permission and the grateful thanks of the Trolltech team. Here is the copyright statement for the code as it was at the point of contribution. Trolltech's subsequent modifications are covered by the usual copyright for Qt.
+.PP
+Copyright (C) 1999 Serika Kurusugawa. All rights reserved.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.IP 1
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 2
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS". ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSjisCodec::QSjisCodec ()"
+Creates a Shift-JIS codec. Note that this is done automatically by the QApplication, you do not need construct your own.
+.SH "QSjisCodec::~QSjisCodec ()"
+Destroys the Shift-JIS codec.
+.SH "const char * QSjisCodec::mimeName () const\fC [virtual]\fR"
+Returns the codec's mime name.
+.PP
+Reimplemented from QTextCodec.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsjiscodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsjiscodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qslider.3qt b/doc/man/man3/qslider.3qt
new file mode 100644
index 0000000..2d449a9
--- /dev/null
+++ b/doc/man/man3/qslider.3qt
@@ -0,0 +1,390 @@
+'\" t
+.TH QSlider 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSlider \- Vertical or horizontal slider
+.SH SYNOPSIS
+\fC#include <qslider.h>\fR
+.PP
+Inherits QWidget and QRangeControl.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBTickSetting\fR { NoMarks = 0, Above = 1, Left = Above, Below = 2, Right = Below, Both = 3 }"
+.br
+.ti -1c
+.BI "\fBQSlider\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQSlider\fR ( Orientation orientation, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQSlider\fR ( int minValue, int maxValue, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSlider\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTracking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPalette\fR ( const QPalette & p )"
+.br
+.ti -1c
+.BI "int \fBsliderStart\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBsliderRect\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTickmarks\fR ( TickSetting )"
+.br
+.ti -1c
+.BI "TickSetting \fBtickmarks\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTickInterval\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBtickInterval\fR () const"
+.br
+.ti -1c
+.BI "int \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetMaxValue\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR () const"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLineStep\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetPageStep\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBvalue\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBaddStep\fR ()"
+.br
+.ti -1c
+.BI "void \fBsubtractStep\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBsliderPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBsliderMoved\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBsliderReleased\fR ()"
+.br
+.in -1c
+.SS "Important Inherited Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetRange\fR ( int minValue, int maxValue )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBlineStep\fR - the current line step"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR - the current maximum value of the slider"
+.br
+.ti -1c
+.BI "int \fBminValue\fR - the current minimum value of the slider"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the slider's orientation"
+.br
+.ti -1c
+.BI "int \fBpageStep\fR - the current page step"
+.br
+.ti -1c
+.BI "int \fBtickInterval\fR - the interval between tickmarks"
+.br
+.ti -1c
+.BI "TickSetting \fBtickmarks\fR - the tickmark settings for this slider"
+.br
+.ti -1c
+.BI "bool \fBtracking\fR - whether slider tracking is enabled"
+.br
+.ti -1c
+.BI "int \fBvalue\fR - the current slider value"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBvalueChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrangeChange\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSlider widget provides a vertical or horizontal slider.
+.PP
+The slider is the classic widget for controlling a bounded value. It lets the user move a slider along a horizontal or vertical groove and translates the slider's position into an integer value within the legal range.
+.PP
+QSlider inherits QRangeControl, which provides the "integer" side of the slider. setRange() and value() are likely to be used by practically all slider users; see the QRangeControl documentation for information about the many other functions that class provides.
+.PP
+The main functions offered by the slider itself are tickmark and orientation control; you can use setTickmarks() to indicate where you want the tickmarks to be, setTickInterval() to indicate how many of them you want and setOrientation() to indicate whether the slider is to be horizontal or vertical.
+.PP
+A slider accepts focus on Tab and uses the mouse wheel and a suitable keyboard interface.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QScrollBar, QSpinBox, GUI Design Handbook: Slider, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QSlider::TickSetting"
+This enum specifies where the tickmarks are to be drawn relative to the slider's groove and the handle the user moves.
+.TP
+\fCQSlider::NoMarks\fR - do not draw any tickmarks.
+.TP
+\fCQSlider::Both\fR - draw tickmarks on both sides of the groove.
+.TP
+\fCQSlider::Above\fR - draw tickmarks above the (horizontal) slider
+.TP
+\fCQSlider::Below\fR - draw tickmarks below the (horizontal) slider
+.TP
+\fCQSlider::Left\fR - draw tickmarks to the left of the (vertical) slider
+.TP
+\fCQSlider::Right\fR - draw tickmarks to the right of the (vertical) slider
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSlider::QSlider ( QWidget * parent, const char * name = 0 )"
+Constructs a vertical slider.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QSlider::QSlider ( Orientation orientation, QWidget * parent, const char * name = 0 )"
+Constructs a slider.
+.PP
+The \fIorientation\fR must be Qt::Vertical or Qt::Horizontal.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QSlider::QSlider ( int minValue, int maxValue, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )"
+Constructs a slider whose value can never be smaller than \fIminValue\fR or greater than \fImaxValue\fR, whose page step size is \fIpageStep\fR and whose value is initially \fIvalue\fR (which is guaranteed to be in range using bound()).
+.PP
+If \fIorientation\fR is Qt::Vertical the slider is vertical and if it is Qt::Horizontal the slider is horizontal.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent on to the QWidget constructor.
+.SH "QSlider::~QSlider ()"
+Destructor.
+.SH "void QSlider::addStep ()\fC [slot]\fR"
+Moves the slider one pageStep() up or right.
+.SH "int QSlider::lineStep () const"
+Returns the current line step. See the "lineStep" property for details.
+.SH "int QSlider::maxValue () const"
+Returns the current maximum value of the slider. See the "maxValue" property for details.
+.SH "int QSlider::minValue () const"
+Returns the current minimum value of the slider. See the "minValue" property for details.
+.SH "Orientation QSlider::orientation () const"
+Returns the slider's orientation. See the "orientation" property for details.
+.SH "int QSlider::pageStep () const"
+Returns the current page step. See the "pageStep" property for details.
+.SH "void QSlider::rangeChange ()\fC [virtual protected]\fR"
+Implements the virtual QRangeControl function.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QSlider::setLineStep ( int )"
+Sets the current line step. See the "lineStep" property for details.
+.SH "void QSlider::setMaxValue ( int )"
+Sets the current maximum value of the slider. See the "maxValue" property for details.
+.SH "void QSlider::setMinValue ( int )"
+Sets the current minimum value of the slider. See the "minValue" property for details.
+.SH "void QSlider::setOrientation ( Orientation )\fC [virtual]\fR"
+Sets the slider's orientation. See the "orientation" property for details.
+.SH "void QSlider::setPageStep ( int )"
+Sets the current page step. See the "pageStep" property for details.
+.SH "void QSlider::setPalette ( const QPalette & p )\fC [virtual]\fR"
+Reimplements the virtual function QWidget::setPalette().
+.PP
+Sets the background color to the mid color for Motif style sliders using palette \fIp\fR.
+.PP
+Reimplemented from QWidget.
+.SH "void QRangeControl::setRange ( int minValue, int maxValue )"
+Sets the range control's minimum value to \fIminValue\fR and its maximum value to \fImaxValue\fR.
+.PP
+Calls the virtual rangeChange() function if one or both of the new minimum and maximum values are different from the previous setting. Calls the virtual valueChange() function if the current value is adjusted because it was outside the new range.
+.PP
+If \fImaxValue\fR is smaller than \fIminValue\fR, \fIminValue\fR becomes the only legal value.
+.PP
+See also minValue and maxValue.
+.PP
+Examples:
+.)l listbox/listbox.cpp, t12/lcdrange.cpp, t5/main.cpp, t6/main.cpp, t8/lcdrange.cpp, and xform/xform.cpp.
+.SH "void QSlider::setTickInterval ( int )\fC [virtual]\fR"
+Sets the interval between tickmarks. See the "tickInterval" property for details.
+.SH "void QSlider::setTickmarks ( TickSetting )\fC [virtual]\fR"
+Sets the tickmark settings for this slider. See the "tickmarks" property for details.
+.SH "void QSlider::setTracking ( bool enable )\fC [virtual]\fR"
+Sets whether slider tracking is enabled to \fIenable\fR. See the "tracking" property for details.
+.SH "void QSlider::setValue ( int )\fC [virtual slot]\fR"
+Sets the current slider value. See the "value" property for details.
+.SH "void QSlider::sliderMoved ( int value )\fC [signal]\fR"
+This signal is emitted when the slider is dragged, with the new slider \fIvalue\fR as its argument.
+.SH "void QSlider::sliderPressed ()\fC [signal]\fR"
+This signal is emitted when the user presses the slider with the mouse.
+.SH "QRect QSlider::sliderRect () const"
+Returns the slider handle rectangle. (This is the visual marker that the user can move.)
+.SH "void QSlider::sliderReleased ()\fC [signal]\fR"
+This signal is emitted when the user releases the slider with the mouse.
+.SH "int QSlider::sliderStart () const"
+Returns the start position of the slider.
+.SH "void QSlider::subtractStep ()\fC [slot]\fR"
+Moves the slider one pageStep() down or left.
+.SH "int QSlider::tickInterval () const"
+Returns the interval between tickmarks. See the "tickInterval" property for details.
+.SH "TickSetting QSlider::tickmarks () const"
+Returns the tickmark settings for this slider. See the "tickmarks" property for details.
+.SH "bool QSlider::tracking () const"
+Returns TRUE if slider tracking is enabled; otherwise returns FALSE. See the "tracking" property for details.
+.SH "int QSlider::value () const"
+Returns the current slider value. See the "value" property for details.
+.SH "void QSlider::valueChange ()\fC [virtual protected]\fR"
+Implements the virtual QRangeControl function.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QSlider::valueChanged ( int value )\fC [signal]\fR"
+This signal is emitted when the slider value is changed, with the new slider \fIvalue\fR as its argument.
+.PP
+Examples:
+.)l rangecontrols/rangecontrols.cpp, simple/main.cpp, t12/lcdrange.cpp, t5/main.cpp, t6/main.cpp, t7/lcdrange.cpp, and xform/xform.cpp.
+.SS "Property Documentation"
+.SH "int lineStep"
+This property holds the current line step.
+.PP
+When setting lineStep, the virtual stepChange() function will be called if the new line step is different from the previous setting.
+.PP
+See also setSteps(), QRangeControl::pageStep(), and setRange().
+.PP
+Set this property's value with setLineStep() and get this property's value with lineStep().
+.SH "int maxValue"
+This property holds the current maximum value of the slider.
+.PP
+When setting this property, the QSlider::minValue is adjusted, if necessary, to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "int minValue"
+This property holds the current minimum value of the slider.
+.PP
+When setting this property, the QSlider::maxValue is adjusted, if necessary, to ensure that the range remains valid.
+.PP
+See also setRange().
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "Orientation orientation"
+This property holds the slider's orientation.
+.PP
+The orientation must be Qt::Vertical (the default) or Qt::Horizontal.
+.PP
+Set this property's value with setOrientation() and get this property's value with orientation().
+.SH "int pageStep"
+This property holds the current page step.
+.PP
+When setting pageStep, the virtual stepChange() function will be called if the new page step is different from the previous setting.
+.PP
+See also QRangeControl::setSteps(), lineStep, and setRange().
+.PP
+Set this property's value with setPageStep() and get this property's value with pageStep().
+.SH "int tickInterval"
+This property holds the interval between tickmarks.
+.PP
+This is a value interval, not a pixel interval. If it is 0, the slider will choose between lineStep() and pageStep(). The initial value of tickInterval is 0.
+.PP
+See also QRangeControl::lineStep() and QRangeControl::pageStep().
+.PP
+Set this property's value with setTickInterval() and get this property's value with tickInterval().
+.SH "TickSetting tickmarks"
+This property holds the tickmark settings for this slider.
+.PP
+The valid values are in QSlider::TickSetting. The default is NoMarks.
+.PP
+See also tickInterval.
+.PP
+Set this property's value with setTickmarks() and get this property's value with tickmarks().
+.SH "bool tracking"
+This property holds whether slider tracking is enabled.
+.PP
+If tracking is enabled (the default), the slider emits the valueChanged() signal whenever the slider is being dragged. If tracking is disabled, the slider emits the valueChanged() signal when the user releases the mouse button (unless the value happens to be the same as before).
+.PP
+Set this property's value with setTracking() and get this property's value with tracking().
+.SH "int value"
+This property holds the current slider value.
+.PP
+Set this property's value with setValue() and get this property's value with value().
+.PP
+See also QRangeControl::value() and prevValue().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qslider.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qslider.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsocket.3qt b/doc/man/man3/qsocket.3qt
new file mode 100644
index 0000000..05c70d0
--- /dev/null
+++ b/doc/man/man3/qsocket.3qt
@@ -0,0 +1,471 @@
+'\" t
+.TH QSocket 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSocket \- Buffered TCP connection
+.SH SYNOPSIS
+\fC#include <qsocket.h>\fR
+.PP
+Inherits QObject and QIODevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBError\fR { ErrConnectionRefused, ErrHostNotFound, ErrSocketRead }"
+.br
+.ti -1c
+.BI "\fBQSocket\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QSocket\fR ()"
+.br
+.ti -1c
+.BI "enum \fBState\fR { Idle, HostLookup, Connecting, Connected, Closing, Connection = Connected }"
+.br
+.ti -1c
+.BI "State \fBstate\fR () const"
+.br
+.ti -1c
+.BI "int \fBsocket\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSocket\fR ( int socket )"
+.br
+.ti -1c
+.BI "QSocketDevice * \fBsocketDevice\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetSocketDevice\fR ( QSocketDevice * device )"
+.br
+.ti -1c
+.BI "virtual void \fBconnectToHost\fR ( const QString & host, Q_UINT16 port )"
+.br
+.ti -1c
+.BI "QString \fBpeerName\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBopen\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual void \fBclose\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBflush\fR ()"
+.br
+.ti -1c
+.BI "virtual Offset \fBsize\fR () const"
+.br
+.ti -1c
+.BI "virtual Offset \fBat\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBat\fR ( Offset index )"
+.br
+.ti -1c
+.BI "virtual bool \fBatEnd\fR () const"
+.br
+.ti -1c
+.BI "Q_ULONG \fBbytesAvailable\fR () const"
+.br
+.ti -1c
+.BI "Q_ULONG \fBwaitForMore\fR ( int msecs, bool * timeout ) const"
+.br
+.ti -1c
+.BI "Q_ULONG \fBwaitForMore\fR ( int msecs ) const"
+.br
+.ti -1c
+.BI "Q_ULONG \fBbytesToWrite\fR () const"
+.br
+.ti -1c
+.BI "void \fBclearPendingData\fR ()"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBreadBlock\fR ( char * data, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * data, Q_ULONG len )"
+.br
+.ti -1c
+.BI "virtual int \fBgetch\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBputch\fR ( int ch )"
+.br
+.ti -1c
+.BI "virtual int \fBungetch\fR ( int ch )"
+.br
+.ti -1c
+.BI "bool \fBcanReadLine\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBreadLine\fR ()"
+.br
+.ti -1c
+.BI "Q_UINT16 \fBport\fR () const"
+.br
+.ti -1c
+.BI "Q_UINT16 \fBpeerPort\fR () const"
+.br
+.ti -1c
+.BI "QHostAddress \fBaddress\fR () const"
+.br
+.ti -1c
+.BI "QHostAddress \fBpeerAddress\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetReadBufferSize\fR ( Q_ULONG bufSize )"
+.br
+.ti -1c
+.BI "Q_ULONG \fBreadBufferSize\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBhostFound\fR ()"
+.br
+.ti -1c
+.BI "void \fBconnected\fR ()"
+.br
+.ti -1c
+.BI "void \fBconnectionClosed\fR ()"
+.br
+.ti -1c
+.BI "void \fBdelayedCloseFinished\fR ()"
+.br
+.ti -1c
+.BI "void \fBreadyRead\fR ()"
+.br
+.ti -1c
+.BI "void \fBbytesWritten\fR ( int nbytes )"
+.br
+.ti -1c
+.BI "void \fBerror\fR ( int )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSocket class provides a buffered TCP connection.
+.PP
+It provides a totally non-blocking QIODevice, and modifies and extends the API of QIODevice with socket-specific code.
+.PP
+Note that a QApplication must have been constructed before this class can be used.
+.PP
+The functions you're likely to call most are connectToHost(), bytesAvailable(), canReadLine() and the ones it inherits from QIODevice.
+.PP
+connectToHost() is the most-used function. As its name implies, it opens a connection to a named host.
+.PP
+Most network protocols are either packet-oriented or line-oriented. canReadLine() indicates whether a connection contains an entire unread line or not, and bytesAvailable() returns the number of bytes available for reading.
+.PP
+The signals error(), connected(), readyRead() and connectionClosed() inform you of the progress of the connection. There are also some less commonly used signals. hostFound() is emitted when connectToHost() has finished its DNS lookup and is starting its TCP connection. delayedCloseFinished() is emitted when close() succeeds. bytesWritten() is emitted when QSocket moves data from its "to be written" queue into the TCP implementation.
+.PP
+There are several access functions for the socket: state() returns whether the object is idle, is doing a DNS lookup, is connecting, has an operational connection, etc. address() and port() return the IP address and port used for the connection. The peerAddress() and peerPort() functions return the IP address and port used by the peer, and peerName() returns the name of the peer (normally the name that was passed to connectToHost()). socketDevice() returns a pointer to the QSocketDevice used for this socket.
+.PP
+QSocket inherits QIODevice, and reimplements some functions. In general, you can treat it as a QIODevice for writing, and mostly also for reading. The match isn't perfect, since the QIODevice API is designed for devices that are controlled by the same machine, and an asynchronous peer-to-peer network connection isn't quite like that. For example, there is nothing that matches QIODevice::size() exactly. The documentation for open(), close(), flush(), size(), at(), atEnd(), readBlock(), writeBlock(), getch(), putch(), ungetch() and readLine() describes the differences in detail.
+.PP
+\fBWarning:\fR QSocket is not suitable for use in threads. If you need to uses sockets in threads use the lower-level QSocketDevice class.
+.PP
+\fBWarning:\fR Because Qt doesn't use the native socketstream implementation on Mac OS X, QSocket has an implicit transfer latency of 100ms. You can achieve lower latency on Mac OS X by using QSocketDevice instead.
+.PP
+See also QSocketDevice, QHostAddress, QSocketNotifier, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QSocket::Error"
+This enum specifies the possible errors:
+.TP
+\fCQSocket::ErrConnectionRefused\fR - if the connection was refused
+.TP
+\fCQSocket::ErrHostNotFound\fR - if the host was not found
+.TP
+\fCQSocket::ErrSocketRead\fR - if a read from the socket failed
+.SH "QSocket::State"
+This enum defines the connection states:
+.TP
+\fCQSocket::Idle\fR - if there is no connection
+.TP
+\fCQSocket::HostLookup\fR - during a DNS lookup
+.TP
+\fCQSocket::Connecting\fR - during TCP connection establishment
+.TP
+\fCQSocket::Connected\fR - when there is an operational connection
+.TP
+\fCQSocket::Closing\fR - if the socket is closing down, but is not yet closed.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSocket::QSocket ( QObject * parent = 0, const char * name = 0 )"
+Creates a QSocket object in QSocket::Idle state.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QObject constructor.
+.PP
+Note that a QApplication must have been constructed before sockets can be used.
+.SH "QSocket::~QSocket ()\fC [virtual]\fR"
+Destroys the socket. Closes the connection if necessary.
+.PP
+See also close().
+.SH "QHostAddress QSocket::address () const"
+Returns the host address of this socket. (This is normally the main IP address of the host, but can be e.g. 127.0.0.1 for connections to localhost.)
+.SH "Offset QSocket::at () const\fC [virtual]\fR"
+Returns the current read index. Since QSocket is a sequential device, the current read index is always zero.
+.PP
+Reimplemented from QIODevice.
+.SH "bool QSocket::at ( Offset index )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Moves the read index forward to \fIindex\fR and returns TRUE if the operation was successful; otherwise returns FALSE. Moving the index forward means skipping incoming data.
+.PP
+Reimplemented from QIODevice.
+.SH "bool QSocket::atEnd () const\fC [virtual]\fR"
+Returns TRUE if there is no more data to read; otherwise returns FALSE.
+.PP
+Reimplemented from QIODevice.
+.SH "Q_ULONG QSocket::bytesAvailable () const"
+Returns the number of incoming bytes that can be read, i.e. the size of the input buffer. Equivalent to size().
+.PP
+This function can trigger the readyRead() signal, if more data has arrived on the socket.
+.PP
+See also bytesToWrite().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "Q_ULONG QSocket::bytesToWrite () const"
+Returns the number of bytes that are waiting to be written, i.e. the size of the output buffer.
+.PP
+See also bytesAvailable() and clearPendingData().
+.SH "void QSocket::bytesWritten ( int nbytes )\fC [signal]\fR"
+This signal is emitted when data has been written to the network. The \fInbytes\fR parameter specifies how many bytes were written.
+.PP
+The bytesToWrite() function is often used in the same context; it indicates how many buffered bytes there are left to write.
+.PP
+See also writeBlock() and bytesToWrite().
+.SH "bool QSocket::canReadLine () const"
+Returns TRUE if it's possible to read an entire line of text from this socket at this time; otherwise returns FALSE.
+.PP
+Note that if the peer closes the connection unexpectedly, this function returns FALSE. This means that loops such as this won't work:
+.PP
+.nf
+.br
+ while( !socket->canReadLine() ) // WRONG
+.br
+ ;
+.br
+.fi
+.PP
+See also readLine().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/httpd/httpd.cpp, network/mail/smtp.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::clearPendingData ()"
+Deletes the data that is waiting to be written. This is useful if you want to close the socket without waiting for all the data to be written.
+.PP
+See also bytesToWrite(), close(), and delayedCloseFinished().
+.SH "void QSocket::close ()\fC [virtual]\fR"
+Closes the socket.
+.PP
+The read buffer is cleared.
+.PP
+If the output buffer is empty, the state is set to QSocket::Idle and the connection is terminated immediately. If the output buffer still contains data to be written, QSocket goes into the QSocket::Closing state and the rest of the data will be written. When all of the outgoing data have been written, the state is set to QSocket::Idle and the connection is terminated. At this point, the delayedCloseFinished() signal is emitted.
+.PP
+If you don't want that the data of the output buffer is written, call clearPendingData() before you call close().
+.PP
+See also state(), bytesToWrite(), and clearPendingData().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/httpd/httpd.cpp, and network/networkprotocol/nntp.cpp.
+.PP
+Reimplemented from QIODevice.
+.SH "void QSocket::connectToHost ( const QString & host, Q_UINT16 port )\fC [virtual]\fR"
+Attempts to make a connection to \fIhost\fR on the specified \fIport\fR and return immediately.
+.PP
+Any connection or pending connection is closed immediately, and QSocket goes into the HostLookup state. When the lookup succeeds, it emits hostFound(), starts a TCP connection and goes into the Connecting state. Finally, when the connection succeeds, it emits connected() and goes into the Connected state. If there is an error at any point, it emits error().
+.PP
+\fIhost\fR may be an IP address in string form, or it may be a DNS name. QSocket will do a normal DNS lookup if required. Note that \fIport\fR is in native byte order, unlike some other libraries.
+.PP
+See also state().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/mail/smtp.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::connected ()\fC [signal]\fR"
+This signal is emitted after connectToHost() has been called and a connection has been successfully established.
+.PP
+See also connectToHost() and connectionClosed().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/mail/smtp.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::connectionClosed ()\fC [signal]\fR"
+This signal is emitted when the other end has closed the connection. The read buffers may contain buffered input data which you can read after the connection was closed.
+.PP
+See also connectToHost() and close().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/clientserver/server/server.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::delayedCloseFinished ()\fC [signal]\fR"
+This signal is emitted when a delayed close is finished.
+.PP
+If you call close() and there is buffered output data to be written, QSocket goes into the QSocket::Closing state and returns immediately. It will then keep writing to the socket until all the data has been written. Then, the delayedCloseFinished() signal is emitted.
+.PP
+See also close().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp and network/httpd/httpd.cpp.
+.SH "void QSocket::error ( int )\fC [signal]\fR"
+This signal is emitted after an error occurred. The parameter is the Error value.
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::flush ()\fC [virtual]\fR"
+Implementation of the abstract virtual QIODevice::flush() function.
+.PP
+Reimplemented from QIODevice.
+.SH "int QSocket::getch ()\fC [virtual]\fR"
+Reads a single byte/character from the internal read buffer. Returns the byte/character read, or -1 if there is nothing to be read.
+.PP
+See also bytesAvailable() and putch().
+.PP
+Reimplemented from QIODevice.
+.SH "void QSocket::hostFound ()\fC [signal]\fR"
+This signal is emitted after connectToHost() has been called and the host lookup has succeeded.
+.PP
+See also connected().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "bool QSocket::open ( int m )\fC [virtual]\fR"
+Opens the socket using the specified QIODevice file mode \fIm\fR. This function is called automatically when needed and you should not call it yourself.
+.PP
+See also close().
+.PP
+Reimplemented from QIODevice.
+.SH "QHostAddress QSocket::peerAddress () const"
+Returns the address of the connected peer if the socket is in Connected state; otherwise an empty QHostAddress is returned.
+.SH "QString QSocket::peerName () const"
+Returns the host name as specified to the connectToHost() function. An empty string is returned if none has been set.
+.PP
+Example: network/mail/smtp.cpp.
+.SH "Q_UINT16 QSocket::peerPort () const"
+Returns the peer's host port number, normally as specified to the connectToHost() function. If none has been set, this function returns 0.
+.PP
+Note that Qt always uses native byte order, i.e. 67 is 67 in Qt; there is no need to call htons().
+.SH "Q_UINT16 QSocket::port () const"
+Returns the host port number of this socket, in native byte order.
+.SH "int QSocket::putch ( int ch )\fC [virtual]\fR"
+Writes the character \fIch\fR to the output buffer.
+.PP
+Returns \fIch\fR, or -1 if an error occurred.
+.PP
+See also getch().
+.PP
+Reimplemented from QIODevice.
+.SH "Q_LONG QSocket::readBlock ( char * data, Q_ULONG maxlen )\fC [virtual]\fR"
+Reads \fImaxlen\fR bytes from the socket into \fIdata\fR and returns the number of bytes read. Returns -1 if an error occurred.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.PP
+Reimplemented from QIODevice.
+.SH "Q_ULONG QSocket::readBufferSize () const"
+Returns the size of the read buffer.
+.PP
+See also setReadBufferSize().
+.SH "QString QSocket::readLine ()\fC [virtual]\fR"
+Returns a line of text including a terminating newline character (\\n). Returns "" if canReadLine() returns FALSE.
+.PP
+See also canReadLine().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/httpd/httpd.cpp, network/mail/smtp.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::readyRead ()\fC [signal]\fR"
+This signal is emitted every time there is new incoming data.
+.PP
+Bear in mind that new incoming data is only reported once; if you do not read all the data, this class buffers the data and you can read it later, but no signal is emitted unless new data arrives. A good practice is to read all data in the slot connected to this signal unless you are sure that you need to receive more data to be able to process it.
+.PP
+See also readBlock(), readLine(), and bytesAvailable().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/httpd/httpd.cpp, network/mail/smtp.cpp, and network/networkprotocol/nntp.cpp.
+.SH "void QSocket::setReadBufferSize ( Q_ULONG bufSize )"
+Sets the size of the QSocket's internal read buffer to \fIbufSize\fR.
+.PP
+Usually QSocket reads all data that is available from the operating system's socket. If the buffer size is limited to a certain size, this means that the QSocket class doesn't buffer more than this size of data.
+.PP
+If the size of the read buffer is 0, the read buffer is unlimited and all incoming data is buffered. This is the default.
+.PP
+If you read the data in the readyRead() signal, you shouldn't use this option since it might slow down your program unnecessary. This option is useful if you only need to read the data at certain points in time, like in a realtime streaming application.
+.PP
+See also readBufferSize().
+.SH "void QSocket::setSocket ( int socket )\fC [virtual]\fR"
+Sets the socket to use \fIsocket\fR and the state() to Connected. The socket must already be connected.
+.PP
+This allows us to use the QSocket class as a wrapper for other socket types (e.g. Unix Domain Sockets).
+.PP
+Example: network/httpd/httpd.cpp.
+.SH "void QSocket::setSocketDevice ( QSocketDevice * device )\fC [virtual]\fR"
+Sets the internal socket device to \fIdevice\fR. Passing a \fIdevice\fR of 0 will cause the internal socket device to be used. Any existing connection will be disconnected before using the new \fIdevice\fR.
+.PP
+The new device should not be connected before being associated with a QSocket; after setting the socket call connectToHost() to make the connection.
+.PP
+This function is useful if you need to subclass QSocketDevice and want to use the QSocket API, for example, to implement Unix domain sockets.
+.SH "Offset QSocket::size () const\fC [virtual]\fR"
+Returns the number of incoming bytes that can be read right now (like bytesAvailable()).
+.PP
+Reimplemented from QIODevice.
+.SH "int QSocket::socket () const"
+Returns the socket number, or -1 if there is no socket at the moment.
+.SH "QSocketDevice * QSocket::socketDevice ()"
+Returns a pointer to the internal socket device.
+.PP
+There is normally no need to manipulate the socket device directly since this class does the necessary setup for most applications.
+.SH "State QSocket::state () const"
+Returns the current state of the socket connection.
+.PP
+See also QSocket::State.
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp and network/networkprotocol/nntp.cpp.
+.SH "int QSocket::ungetch ( int ch )\fC [virtual]\fR"
+This implementation of the virtual function QIODevice::ungetch() prepends the character \fIch\fR to the read buffer so that the next read returns this character as the first character of the output.
+.PP
+Reimplemented from QIODevice.
+.SH "Q_ULONG QSocket::waitForMore ( int msecs, bool * timeout ) const"
+Wait up to \fImsecs\fR milliseconds for more data to be available.
+.PP
+If \fImsecs\fR is -1 the call will block indefinitely.
+.PP
+Returns the number of bytes available.
+.PP
+If \fItimeout\fR is non-null and no error occurred (i.e. it does not return -1): this function sets \fI*timeout\fR to TRUE, if the reason for returning was that the timeout was reached; otherwise it sets \fI*timeout\fR to FALSE. This is useful to find out if the peer closed the connection.
+.PP
+\fBWarning:\fR This is a blocking call and should be avoided in event driven applications.
+.PP
+See also bytesAvailable().
+.SH "Q_ULONG QSocket::waitForMore ( int msecs ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "Q_LONG QSocket::writeBlock ( const char * data, Q_ULONG len )\fC [virtual]\fR"
+Writes \fIlen\fR bytes to the socket from \fIdata\fR and returns the number of bytes written. Returns -1 if an error occurred.
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.PP
+Reimplemented from QIODevice.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsocket.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsocket.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsocketdevice.3qt b/doc/man/man3/qsocketdevice.3qt
new file mode 100644
index 0000000..d18322e
--- /dev/null
+++ b/doc/man/man3/qsocketdevice.3qt
@@ -0,0 +1,373 @@
+'\" t
+.TH QSocketDevice 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSocketDevice \- Platform-independent low-level socket API
+.SH SYNOPSIS
+\fC#include <qsocketdevice.h>\fR
+.PP
+Inherits QIODevice.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { Stream, Datagram }"
+.br
+.ti -1c
+.BI "enum \fBProtocol\fR { IPv4, IPv6, Unknown }"
+.br
+.ti -1c
+.BI "\fBQSocketDevice\fR ( Type type = Stream )"
+.br
+.ti -1c
+.BI "\fBQSocketDevice\fR ( Type type, Protocol protocol, int dummy )"
+.br
+.ti -1c
+.BI "\fBQSocketDevice\fR ( int socket, Type type )"
+.br
+.ti -1c
+.BI "virtual \fB~QSocketDevice\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "Protocol \fBprotocol\fR () const"
+.br
+.ti -1c
+.BI "int \fBsocket\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSocket\fR ( int socket, Type type )"
+.br
+.ti -1c
+.BI "bool \fBblocking\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetBlocking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBaddressReusable\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAddressReusable\fR ( bool enable )"
+.br
+.ti -1c
+.BI "int \fBreceiveBufferSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetReceiveBufferSize\fR ( uint size )"
+.br
+.ti -1c
+.BI "int \fBsendBufferSize\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSendBufferSize\fR ( uint size )"
+.br
+.ti -1c
+.BI "virtual bool \fBconnect\fR ( const QHostAddress & addr, Q_UINT16 port )"
+.br
+.ti -1c
+.BI "virtual bool \fBbind\fR ( const QHostAddress & address, Q_UINT16 port )"
+.br
+.ti -1c
+.BI "virtual bool \fBlisten\fR ( int backlog )"
+.br
+.ti -1c
+.BI "virtual int \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "Q_LONG \fBbytesAvailable\fR () const"
+.br
+.ti -1c
+.BI "Q_LONG \fBwaitForMore\fR ( int msecs, bool * timeout = 0 ) const"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBreadBlock\fR ( char * data, Q_ULONG maxlen )"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * data, Q_ULONG len )"
+.br
+.ti -1c
+.BI "virtual Q_LONG \fBwriteBlock\fR ( const char * data, Q_ULONG len, const QHostAddress & host, Q_UINT16 port )"
+.br
+.ti -1c
+.BI "Q_UINT16 \fBport\fR () const"
+.br
+.ti -1c
+.BI "Q_UINT16 \fBpeerPort\fR () const"
+.br
+.ti -1c
+.BI "QHostAddress \fBaddress\fR () const"
+.br
+.ti -1c
+.BI "QHostAddress \fBpeerAddress\fR () const"
+.br
+.ti -1c
+.BI "enum \fBError\fR { NoError, AlreadyBound, Inaccessible, NoResources, InternalError, Bug = InternalError, Impossible, NoFiles, ConnectionRefused, NetworkFailure, UnknownError }"
+.br
+.ti -1c
+.BI "Error \fBerror\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetError\fR ( Error err )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSocketDevice class provides a platform-independent low-level socket API.
+.PP
+This class provides a low level API for working with sockets. Users of this class are assumed to have networking experience. For most users the QSocket class provides a much easier and high level alternative, but certain things (like UDP) can't be done with QSocket and if you need a platform-independent API for those, QSocketDevice is the right choice.
+.PP
+The essential purpose of the class is to provide a QIODevice that works on sockets, wrapped in a platform-independent API.
+.PP
+When calling connect() or bind(), QSocketDevice detects the protocol family (IPv4, IPv6) automatically. Passing the protocol family to QSocketDevice's constructor or to setSocket() forces creation of a socket device of a specific protocol. If not set, the protocol will be detected at the first call to connect() or bind().
+.PP
+See also QSocket, QSocketNotifier, QHostAddress, and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QSocketDevice::Error"
+This enum type describes the error states of QSocketDevice.
+.TP
+\fCQSocketDevice::NoError\fR - No error has occurred.
+.TP
+\fCQSocketDevice::AlreadyBound\fR - The device is already bound, according to bind().
+.TP
+\fCQSocketDevice::Inaccessible\fR - The operating system or firewall prohibited the action.
+.TP
+\fCQSocketDevice::NoResources\fR - The operating system ran out of a resource.
+.TP
+\fCQSocketDevice::InternalError\fR - An internal error occurred in QSocketDevice.
+.TP
+\fCQSocketDevice::Impossible\fR - An attempt was made to do something which makes no sense. For example:
+.IP
+.nf
+.br
+ ::close( sd->socket() );
+.br
+ sd->writeBlock( someData, 42 );
+.br
+.fi
+The libc ::close() closes the socket, but QSocketDevice is not aware of this. So when you call writeBlock(), the impossible happens.
+.TP
+\fCQSocketDevice::NoFiles\fR - The operating system will not let QSocketDevice open another file.
+.TP
+\fCQSocketDevice::ConnectionRefused\fR - A connection attempt was rejected by the peer.
+.TP
+\fCQSocketDevice::NetworkFailure\fR - There is a network failure.
+.TP
+\fCQSocketDevice::UnknownError\fR - The operating system did something unexpected.
+.SH "QSocketDevice::Protocol"
+This enum type describes the protocol family of the socket. Possible values are:
+.TP
+\fCQSocketDevice::IPv4\fR - The socket is an IPv4 socket.
+.TP
+\fCQSocketDevice::IPv6\fR - The socket is an IPv6 socket.
+.TP
+\fCQSocketDevice::Unknown\fR - The protocol family of the socket is not known. This can happen if you use QSocketDevice with an already existing socket; it tries to determine the protocol family, but this can fail if the protocol family is not known to QSocketDevice.
+.PP
+See also protocol() and setSocket().
+.SH "QSocketDevice::Type"
+This enum type describes the type of the socket:
+.TP
+\fCQSocketDevice::Stream\fR - a stream socket (TCP, usually)
+.TP
+\fCQSocketDevice::Datagram\fR - a datagram socket (UDP, usually)
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSocketDevice::QSocketDevice ( Type type = Stream )"
+Creates a QSocketDevice object for a stream or datagram socket.
+.PP
+The \fItype\fR argument must be either QSocketDevice::Stream for a reliable, connection-oriented TCP socket, or QSocketDevice::Datagram for an unreliable UDP socket.
+.PP
+The socket is created as an IPv4 socket.
+.PP
+See also blocking() and protocol().
+.SH "QSocketDevice::QSocketDevice ( Type type, Protocol protocol, int dummy )"
+Creates a QSocketDevice object for a stream or datagram socket.
+.PP
+The \fItype\fR argument must be either QSocketDevice::Stream for a reliable, connection-oriented TCP socket, or QSocketDevice::Datagram for an unreliable UDP socket.
+.PP
+The \fIprotocol\fR indicates whether the socket should be of type IPv4 or IPv6. Passing Unknown is not meaningful in this context and you should avoid using (it creates an IPv4 socket, but your code is not easily readable).
+.PP
+The argument \fIdummy\fR is necessary for compatibility with some compilers.
+.PP
+See also blocking() and protocol().
+.SH "QSocketDevice::QSocketDevice ( int socket, Type type )"
+Creates a QSocketDevice object for the existing socket \fIsocket\fR.
+.PP
+The \fItype\fR argument must match the actual socket type; use QSocketDevice::Stream for a reliable, connection-oriented TCP socket, or QSocketDevice::Datagram for an unreliable, connectionless UDP socket.
+.SH "QSocketDevice::~QSocketDevice ()\fC [virtual]\fR"
+Destroys the socket device and closes the socket if it is open.
+.SH "int QSocketDevice::accept ()\fC [virtual]\fR"
+Extracts the first connection from the queue of pending connections for this socket and returns a new socket identifier. Returns -1 if the operation failed.
+.PP
+See also bind() and listen().
+.SH "QHostAddress QSocketDevice::address () const"
+Returns the address of this socket device. This may be 0.0.0.0 for a while, but is set to something sensible as soon as a sensible value is available.
+.SH "bool QSocketDevice::addressReusable () const"
+Returns TRUE if the address of this socket can be used by other sockets at the same time, and FALSE if this socket claims exclusive ownership.
+.PP
+See also setAddressReusable().
+.SH "bool QSocketDevice::bind ( const QHostAddress & address, Q_UINT16 port )\fC [virtual]\fR"
+Assigns a name to an unnamed socket. The name is the host address \fIaddress\fR and the port number \fIport\fR. If the operation succeeds, bind() returns TRUE; otherwise it returns FALSE without changing what port() and address() return.
+.PP
+bind() is used by servers for setting up incoming connections. Call bind() before listen().
+.SH "bool QSocketDevice::blocking () const"
+Returns TRUE if the socket is valid and in blocking mode; otherwise returns FALSE.
+.PP
+Note that this function does not set error().
+.PP
+\fBWarning:\fR On Windows, this function always returns TRUE since the ioctlsocket() function is broken.
+.PP
+See also setBlocking() and isValid().
+.SH "Q_LONG QSocketDevice::bytesAvailable () const"
+Returns the number of bytes available for reading, or -1 if an error occurred.
+.PP
+\fBWarning:\fR On Microsoft Windows, we use the ioctlsocket() function to determine the number of bytes queued on the socket. According to Microsoft (KB Q125486), ioctlsocket() sometimes returns an incorrect number. The only safe way to determine the amount of data on the socket is to read it using readBlock(). QSocket has workarounds to deal with this problem.
+.SH "bool QSocketDevice::connect ( const QHostAddress & addr, Q_UINT16 port )\fC [virtual]\fR"
+Connects to the IP address and port specified by \fIaddr\fR and \fIport\fR. Returns TRUE if it establishes a connection; otherwise returns FALSE. If it returns FALSE, error() explains why.
+.PP
+Note that error() commonly returns NoError for non-blocking sockets; this just means that you can call connect() again in a little while and it'll probably succeed.
+.SH "Error QSocketDevice::error () const"
+Returns the first error seen.
+.SH "bool QSocketDevice::isValid () const"
+Returns TRUE if this is a valid socket; otherwise returns FALSE.
+.PP
+See also socket().
+.SH "bool QSocketDevice::listen ( int backlog )\fC [virtual]\fR"
+Specifies how many pending connections a server socket can have. Returns TRUE if the operation was successful; otherwise returns FALSE. A \fIbacklog\fR value of 50 is quite common.
+.PP
+The listen() call only applies to sockets where type() is Stream, i.e. not to Datagram sockets. listen() must not be called before bind() or after accept().
+.PP
+See also bind() and accept().
+.SH "QHostAddress QSocketDevice::peerAddress () const"
+Returns the address of the port this socket device is connected to. This may be 0.0.0.0 for a while, but is set to something sensible as soon as a sensible value is available.
+.PP
+Note that for Datagram sockets, this is the source port of the last packet received.
+.SH "Q_UINT16 QSocketDevice::peerPort () const"
+Returns the port number of the port this socket device is connected to. This may be 0 for a while, but is set to something sensible as soon as a sensible value is available.
+.PP
+Note that for Datagram sockets, this is the source port of the last packet received, and that it is in native byte order.
+.SH "Q_UINT16 QSocketDevice::port () const"
+Returns the port number of this socket device. This may be 0 for a while, but is set to something sensible as soon as a sensible value is available.
+.PP
+Note that Qt always uses native byte order, i.e. 67 is 67 in Qt; there is no need to call htons().
+.SH "Protocol QSocketDevice::protocol () const"
+Returns the socket's protocol family, which is one of Unknown, IPv4, or IPv6.
+.PP
+QSocketDevice either creates a socket with a well known protocol family or it uses an already existing socket. In the first case, this function returns the protocol family it was constructed with. In the second case, it tries to determine the protocol family of the socket; if this fails, it returns Unknown.
+.PP
+See also Protocol and setSocket().
+.SH "Q_LONG QSocketDevice::readBlock ( char * data, Q_ULONG maxlen )\fC [virtual]\fR"
+Reads \fImaxlen\fR bytes from the socket into \fIdata\fR and returns the number of bytes read. Returns -1 if an error occurred. Returning 0 is not an error. For Stream sockets, 0 is returned when the remote host closes the connection. For Datagram sockets, 0 is a valid datagram size.
+.PP
+Reimplemented from QIODevice.
+.SH "int QSocketDevice::receiveBufferSize () const"
+Returns the size of the operating system receive buffer.
+.PP
+See also setReceiveBufferSize().
+.SH "int QSocketDevice::sendBufferSize () const"
+Returns the size of the operating system send buffer.
+.PP
+See also setSendBufferSize().
+.SH "void QSocketDevice::setAddressReusable ( bool enable )\fC [virtual]\fR"
+Sets the address of this socket to be usable by other sockets too if \fIenable\fR is TRUE, and to be used exclusively by this socket if \fIenable\fR is FALSE.
+.PP
+When a socket is reusable, other sockets can use the same port number (and IP address), which is generally useful. Of course other sockets cannot use the same (address,port,peer-address,peer-port) 4-tuple as this socket, so there is no risk of confusing the two TCP connections.
+.PP
+See also addressReusable().
+.SH "void QSocketDevice::setBlocking ( bool enable )\fC [virtual]\fR"
+Makes the socket blocking if \fIenable\fR is TRUE or nonblocking if \fIenable\fR is FALSE.
+.PP
+Sockets are blocking by default, but we recommend using nonblocking socket operations, especially for GUI programs that need to be responsive.
+.PP
+\fBWarning:\fR On Windows, this function should be used with care since whenever you use a QSocketNotifier on Windows, the socket is immediately made nonblocking.
+.PP
+See also blocking() and isValid().
+.SH "void QSocketDevice::setError ( Error err )\fC [protected]\fR"
+Allows subclasses to set the error state to \fIerr\fR.
+.SH "void QSocketDevice::setReceiveBufferSize ( uint size )\fC [virtual]\fR"
+Sets the size of the operating system receive buffer to \fIsize\fR.
+.PP
+The operating system receive buffer size effectively limits two things: how much data can be in transit at any one moment, and how much data can be received in one iteration of the main event loop.
+.PP
+The default is operating system-dependent. A socket that receives large amounts of data is probably best with a buffer size of 49152.
+.SH "void QSocketDevice::setSendBufferSize ( uint size )\fC [virtual]\fR"
+Sets the size of the operating system send buffer to \fIsize\fR.
+.PP
+The operating system send buffer size effectively limits how much data can be in transit at any one moment.
+.PP
+The default is operating system-dependent. A socket that sends large amounts of data is probably best with a buffer size of 49152.
+.SH "void QSocketDevice::setSocket ( int socket, Type type )\fC [virtual]\fR"
+Sets the socket device to operate on the existing socket \fIsocket\fR.
+.PP
+The \fItype\fR argument must match the actual socket type; use QSocketDevice::Stream for a reliable, connection-oriented TCP socket, or QSocketDevice::Datagram for an unreliable, connectionless UDP socket.
+.PP
+Any existing socket is closed.
+.PP
+See also isValid() and close().
+.SH "int QSocketDevice::socket () const"
+Returns the socket number, or -1 if it is an invalid socket.
+.PP
+See also isValid() and type().
+.SH "Type QSocketDevice::type () const"
+Returns the socket type which is either QSocketDevice::Stream or QSocketDevice::Datagram.
+.PP
+See also socket().
+.SH "Q_LONG QSocketDevice::waitForMore ( int msecs, bool * timeout = 0 ) const"
+Wait up to \fImsecs\fR milliseconds for more data to be available. If \fImsecs\fR is -1 the call will block indefinitely.
+.PP
+Returns the number of bytes available for reading, or -1 if an error occurred.
+.PP
+If \fItimeout\fR is non-null and no error occurred (i.e. it does not return -1): this function sets \fI*timeout\fR to TRUE, if the reason for returning was that the timeout was reached; otherwise it sets \fI*timeout\fR to FALSE. This is useful to find out if the peer closed the connection.
+.PP
+\fBWarning:\fR This is a blocking call and should be avoided in event driven applications.
+.PP
+See also bytesAvailable().
+.SH "Q_LONG QSocketDevice::writeBlock ( const char * data, Q_ULONG len )\fC [virtual]\fR"
+Writes \fIlen\fR bytes to the socket from \fIdata\fR and returns the number of bytes written. Returns -1 if an error occurred.
+.PP
+This is used for QSocketDevice::Stream sockets.
+.PP
+Reimplemented from QIODevice.
+.SH "Q_LONG QSocketDevice::writeBlock ( const char * data, Q_ULONG len, const QHostAddress & host, Q_UINT16 port )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes \fIlen\fR bytes to the socket from \fIdata\fR and returns the number of bytes written. Returns -1 if an error occurred.
+.PP
+This is used for QSocketDevice::Datagram sockets. You must
+specify the \fIhost\fR and \fIport\fR of the destination of the data.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsocketdevice.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsocketdevice.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsocketnotifier.3qt b/doc/man/man3/qsocketnotifier.3qt
new file mode 100644
index 0000000..65f5fbe
--- /dev/null
+++ b/doc/man/man3/qsocketnotifier.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QSocketNotifier 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSocketNotifier \- Support for socket callbacks
+.SH SYNOPSIS
+\fC#include <qsocketnotifier.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { Read, Write, Exception }"
+.br
+.ti -1c
+.BI "\fBQSocketNotifier\fR ( int socket, Type type, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSocketNotifier\fR ()"
+.br
+.ti -1c
+.BI "int \fBsocket\fR () const"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool enable )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBactivated\fR ( int socket )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSocketNotifier class provides support for socket callbacks.
+.PP
+This class makes it possible to write asynchronous socket-based code in Qt. Using synchronous socket operations blocks the program, which is clearly not acceptable for an event-driven GUI program.
+.PP
+Once you have opened a non-blocking socket (whether for TCP, UDP, a UNIX-domain socket, or any other protocol family your operating system supports), you can create a socket notifier to monitor the socket. Then you connect the activated() signal to the slot you want to be called when a socket event occurs.
+.PP
+Note for Windows users: the socket passed to QSocketNotifier will become non-blocking, even if it was created as a blocking socket.
+.PP
+There are three types of socket notifiers (read, write and exception); you must specify one of these in the constructor.
+.PP
+The type specifies when the activated() signal is to be emitted: <ol type=1>
+.IP 1
+QSocketNotifier::Read - There is data to be read (socket read event).
+.IP 2
+QSocketNotifier::Write - Data can be written (socket write event).
+.IP 3
+QSocketNofifier::Exception - An exception has occurred (socket exception event). We recommend against using this.
+.PP
+For example, if you need to monitor both reads and writes for the same socket you must create two socket notifiers.
+.PP
+For read notifiers it makes little sense to connect the activated() signal to more than one slot because the data can be read from the socket only once.
+.PP
+Also observe that if you do not read all the available data when the read notifier fires, it fires again and again.
+.PP
+For write notifiers, immediately disable the notifier after the activated() signal has been received and you have sent the data to be written on the socket. When you have more data to be written, enable it again to get a new activated() signal. The exception is if the socket data writing operation (send() or equivalent) fails with a "would block" error, which means that some buffer is full and you must wait before sending more data. In that case you do not need to disable and re-enable the write notifier; it will fire again as soon as the system allows more data to be sent.
+.PP
+The behavior of a write notifier that is left in enabled state after having emitting the first activated() signal (and no "would block" error has occurred) is undefined. Depending on the operating system, it may fire on every pass of the event loop or not at all.
+.PP
+If you need a time-out for your sockets you can use either timer events or the QTimer class.
+.PP
+Socket action is detected in the main event loop of Qt. The X11 version of Qt has a single UNIX select() call that incorporates all socket notifiers and the X socket.
+.PP
+Note that on XFree86 for OS/2, select() works only in the thread in which main() is running; you should therefore use that thread for GUI operations.
+.PP
+See also QSocket, QServerSocket, QSocketDevice, QFile::handle(), and Input/Output and Networking.
+.SS "Member Type Documentation"
+.SH "QSocketNotifier::Type"
+.TP
+\fCQSocketNotifier::Read\fR
+.TP
+\fCQSocketNotifier::Write\fR
+.TP
+\fCQSocketNotifier::Exception\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSocketNotifier::QSocketNotifier ( int socket, Type type, QObject * parent = 0, const char * name = 0 )"
+Constructs a socket notifier called \fIname\fR, with the parent, \fIparent\fR. It watches \fIsocket\fR for \fItype\fR events, and enables it.
+.PP
+It is generally advisable to explicitly enable or disable the socket notifier, especially for write notifiers.
+.PP
+See also setEnabled() and isEnabled().
+.SH "QSocketNotifier::~QSocketNotifier ()"
+Destroys the socket notifier.
+.SH "void QSocketNotifier::activated ( int socket )\fC [signal]\fR"
+This signal is emitted under certain conditions specified by the notifier type(): <ol type=1>
+.TP
+QSocketNotifier::Read - There is data to be read (socket read event).
+.TP
+QSocketNotifier::Write - Data can be written (socket write event).
+.TP
+QSocketNofifier::Exception - An exception has occurred (socket exception event).
+.PP
+The \fIsocket\fR argument is the socket identifier.
+.PP
+See also type() and socket().
+.SH "bool QSocketNotifier::isEnabled () const"
+Returns TRUE if the notifier is enabled; otherwise returns FALSE.
+.PP
+See also setEnabled().
+.SH "void QSocketNotifier::setEnabled ( bool enable )\fC [virtual]\fR"
+Enables the notifier if \fIenable\fR is TRUE or disables it if \fIenable\fR is FALSE.
+.PP
+The notifier is enabled by default.
+.PP
+If the notifier is enabled, it emits the activated() signal whenever a socket event corresponding to its type occurs. If it is disabled, it ignores socket events (the same effect as not creating the socket notifier).
+.PP
+Write notifiers should normally be disabled immediately after the activated() signal has been emitted; see discussion of write notifiers in the class description above.
+.PP
+See also isEnabled() and activated().
+.SH "int QSocketNotifier::socket () const"
+Returns the socket identifier specified to the constructor.
+.PP
+See also type().
+.SH "Type QSocketNotifier::type () const"
+Returns the socket event type specified to the constructor: QSocketNotifier::Read, QSocketNotifier::Write, or QSocketNotifier::Exception.
+.PP
+See also socket().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsocketnotifier.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsocketnotifier.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsound.3qt b/doc/man/man3/qsound.3qt
new file mode 100644
index 0000000..20c9ea0
--- /dev/null
+++ b/doc/man/man3/qsound.3qt
@@ -0,0 +1,167 @@
+'\" t
+.TH QSound 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSound \- Access to the platform audio facilities
+.SH SYNOPSIS
+\fC#include <qsound.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSound\fR ( const QString & filename, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSound\fR ()"
+.br
+.ti -1c
+.BI "int \fBloops\fR () const"
+.br
+.ti -1c
+.BI "int \fBloopsRemaining\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLoops\fR ( int l )"
+.br
+.ti -1c
+.BI "QString \fBfileName\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisFinished\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBplay\fR ()"
+.br
+.ti -1c
+.BI "void \fBstop\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBisAvailable\fR ()"
+.br
+.ti -1c
+.BI "void \fBplay\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "bool \fBavailable\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSound class provides access to the platform audio facilities.
+.PP
+Qt provides the most commonly required audio operation in GUI applications: asynchronously playing a sound file. This is most easily accomplished with a single call:
+.PP
+.nf
+.br
+ QSound::play("mysounds/bells.wav");
+.br
+.fi
+.PP
+A second API is provided in which a QSound object is created from a sound file and is played later:
+.PP
+.nf
+.br
+ QSound bells("mysounds/bells.wav");
+.br
+.br
+ bells.play();
+.br
+.fi
+.PP
+Sounds played using the second model may use more memory but play more immediately than sounds played using the first model, depending on the underlying platform audio facilities.
+.PP
+On Microsoft Windows the underlying multimedia system is used; only WAVE format sound files are supported.
+.PP
+On X11 the Network Audio System is used if available, otherwise all operations work silently. NAS supports WAVE and AU files.
+.PP
+On Macintosh, ironically, we use QT (QuickTime) for sound, this means all QuickTime formats are supported by Qt/Mac.
+.PP
+On Qt/Embedded, a built-in mixing sound server is used, which accesses \fC/dev/dsp\fR directly. Only the WAVE format is supported.
+.PP
+The availability of sound can be tested with QSound::isAvailable().
+.PP
+See also Multimedia Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSound::QSound ( const QString & filename, QObject * parent = 0, const char * name = 0 )"
+Constructs a QSound that can quickly play the sound in a file named \fIfilename\fR.
+.PP
+This may use more memory than the static \fCplay\fR function.
+.PP
+The \fIparent\fR and \fIname\fR arguments (default 0) are passed on to the QObject constructor.
+.SH "QSound::~QSound ()"
+Destroys the sound object. If the sound is not finished playing stop() is called on it.
+.PP
+See also stop() and isFinished().
+.SH "bool QSound::available ()\fC [static]\fR"
+Returns TRUE if sound support is available; otherwise returns FALSE.
+.SH "QString QSound::fileName () const"
+Returns the filename associated with the sound.
+.SH "bool QSound::isAvailable ()\fC [static]\fR"
+Returns TRUE if sound facilities exist on the platform; otherwise returns FALSE. An application may choose either to notify the user if sound is crucial to the application or to operate silently without bothering the user.
+.PP
+If no sound is available, all QSound operations work silently and quickly.
+.SH "bool QSound::isFinished () const"
+Returns TRUE if the sound has finished playing; otherwise returns FALSE.
+.PP
+\fBWarning:\fR On Windows this function always returns TRUE for unlooped sounds.
+.SH "int QSound::loops () const"
+Returns the number of times the sound will play.
+.SH "int QSound::loopsRemaining () const"
+Returns the number of times the sound will loop. This value decreases each time the sound loops.
+.SH "void QSound::play ( const QString & filename )\fC [static]\fR"
+Plays the sound in a file called \fIfilename\fR.
+.PP
+Example: sound/sound.cpp.
+.SH "void QSound::play ()\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Starts the sound playing. The function returns immediately. Depending on the platform audio facilities, other sounds may stop or may be mixed with the new sound.
+.PP
+The sound can be played again at any time, possibly mixing or replacing previous plays of the sound.
+.SH "void QSound::setLoops ( int l )"
+Sets the sound to repeat \fIl\fR times when it is played. Passing the value -1 will cause the sound to loop indefinitely.
+.PP
+See also loops().
+.SH "void QSound::stop ()\fC [slot]\fR"
+Stops the sound playing.
+.PP
+On Windows the current loop will finish if a sound is played in a loop.
+.PP
+See also play().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsound.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsound.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qspaceritem.3qt b/doc/man/man3/qspaceritem.3qt
new file mode 100644
index 0000000..ac65958
--- /dev/null
+++ b/doc/man/man3/qspaceritem.3qt
@@ -0,0 +1,108 @@
+'\" t
+.TH QSpacerItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSpacerItem \- Blank space in a layout
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QLayoutItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSpacerItem\fR ( int w, int h, QSizePolicy::SizeType hData = QSizePolicy::Minimum, QSizePolicy::SizeType vData = QSizePolicy::Minimum )"
+.br
+.ti -1c
+.BI "void \fBchangeSize\fR ( int w, int h, QSizePolicy::SizeType hData = QSizePolicy::Minimum, QSizePolicy::SizeType vData = QSizePolicy::Minimum )"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSpacerItem class provides blank space in a layout.
+.PP
+This class is used by custom layouts.
+.PP
+See also QLayout, QLayout::spacerItem(), Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSpacerItem::QSpacerItem ( int w, int h, QSizePolicy::SizeType hData = QSizePolicy::Minimum, QSizePolicy::SizeType vData = QSizePolicy::Minimum )"
+Constructs a spacer item with preferred width \fIw\fR, preferred height \fIh\fR, horizontal size policy \fIhData\fR and vertical size policy \fIvData\fR.
+.PP
+The default values provide a gap that is able to stretch if nothing else wants the space.
+.SH "void QSpacerItem::changeSize ( int w, int h, QSizePolicy::SizeType hData = QSizePolicy::Minimum, QSizePolicy::SizeType vData = QSizePolicy::Minimum )"
+Changes this spacer item to have preferred width \fIw\fR, preferred height \fIh\fR, horizontal size policy \fIhData\fR and vertical size policy \fIvData\fR.
+.PP
+The default values provide a gap that is able to stretch if nothing else wants the space.
+.SH "QSizePolicy::ExpandData QSpacerItem::expanding () const\fC [virtual]\fR"
+Returns the direction in which this spacer item will expand.
+.PP
+See also QSizePolicy::ExpandData.
+.PP
+Reimplemented from QLayoutItem.
+.SH "bool QSpacerItem::isEmpty () const\fC [virtual]\fR"
+Returns TRUE because a spacer item never contains widgets.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QSpacerItem::maximumSize () const\fC [virtual]\fR"
+Returns the maximum size of this spacer item.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QSpacerItem::minimumSize () const\fC [virtual]\fR"
+Returns the minimum size of this spacer item.
+.PP
+Reimplemented from QLayoutItem.
+.SH "void QSpacerItem::setGeometry ( const QRect & r )\fC [virtual]\fR"
+Stores the spacer item's rect \fIr\fR so that it can be returned by geometry().
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QSpacerItem::sizeHint () const\fC [virtual]\fR"
+Returns the preferred size of this spacer item.
+.PP
+Reimplemented from QLayoutItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qspaceritem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qspaceritem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qspinbox.3qt b/doc/man/man3/qspinbox.3qt
new file mode 100644
index 0000000..926ffc5
--- /dev/null
+++ b/doc/man/man3/qspinbox.3qt
@@ -0,0 +1,572 @@
+'\" t
+.TH QSpinBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSpinBox \- Spin box widget (spin button)
+.SH SYNOPSIS
+\fC#include <qspinbox.h>\fR
+.PP
+Inherits QWidget and QRangeControl.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSpinBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQSpinBox\fR ( int minValue, int maxValue, int step = 1, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSpinBox\fR ()"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBprefix\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBsuffix\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBcleanText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSpecialValueText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBspecialValueText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWrapping\fR ( bool on )"
+.br
+.ti -1c
+.BI "bool \fBwrapping\fR () const"
+.br
+.ti -1c
+.BI "enum \fBButtonSymbols\fR { UpDownArrows, PlusMinus }"
+.br
+.ti -1c
+.BI "virtual void \fBsetButtonSymbols\fR ( ButtonSymbols )"
+.br
+.ti -1c
+.BI "ButtonSymbols \fBbuttonSymbols\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetValidator\fR ( const QValidator * v )"
+.br
+.ti -1c
+.BI "const QValidator * \fBvalidator\fR () const"
+.br
+.ti -1c
+.BI "int \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinValue\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBsetMaxValue\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLineStep\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBupRect\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBdownRect\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( int value )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrefix\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSuffix\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBstepUp\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstepDown\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( int value )"
+.br
+.ti -1c
+.BI "void \fBvalueChanged\fR ( const QString & valueText )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "ButtonSymbols \fBbuttonSymbols\fR - the current button symbol mode"
+.br
+.ti -1c
+.BI "QString \fBcleanText\fR - the spin box's text with no prefix(), suffix() or leading or trailing whitespace \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBlineStep\fR - the line step"
+.br
+.ti -1c
+.BI "int \fBmaxValue\fR - the maximum value of the spin box"
+.br
+.ti -1c
+.BI "int \fBminValue\fR - the minimum value of the spin box"
+.br
+.ti -1c
+.BI "QString \fBprefix\fR - the spin box's prefix"
+.br
+.ti -1c
+.BI "QString \fBspecialValueText\fR - the special-value text"
+.br
+.ti -1c
+.BI "QString \fBsuffix\fR - the suffix of the spin box"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the spin box's " "text" ", including any prefix() and suffix() \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBvalue\fR - the value of the spin box"
+.br
+.ti -1c
+.BI "bool \fBwrapping\fR - whether it is possible to step the value from the highest value to the lowest value and vice versa"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QString \fBmapValueToText\fR ( int v )"
+.br
+.ti -1c
+.BI "virtual int \fBmapTextToValue\fR ( bool * ok )"
+.br
+.ti -1c
+.BI "QString \fBcurrentValueText\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBupdateDisplay\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinterpretText\fR ()"
+.br
+.ti -1c
+.BI "QLineEdit * \fBeditor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBvalueChange\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBrangeChange\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBeventFilter\fR ( QObject * o, QEvent * ev )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "void \fBtextChanged\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSpinBox class provides a spin box widget (spin button).
+.PP
+QSpinBox allows the user to choose a value either by clicking the up/down buttons to increase/decrease the value currently displayed or by typing the value directly into the spin box. If the value is entered directly into the spin box, Enter (or Return) must be pressed to apply the new value. The value is usually an integer.
+.PP
+Every time the value changes QSpinBox emits the valueChanged() signal. The current value can be fetched with value() and set with setValue().
+.PP
+The spin box keeps the value within a numeric range, and to multiples of the lineStep() size (see QRangeControl for details). Clicking the up/down buttons or using the keyboard accelerator's up and down arrows will increase or decrease the current value in steps of size lineStep(). The minimum and maximum value and the step size can be set using one of the constructors, and can be changed later with setMinValue(), setMaxValue() and setLineStep().
+.PP
+Most spin boxes are directional, but QSpinBox can also operate as a circular spin box, i.e. if the range is 0-99 and the current value is 99, clicking "up" will give 0. Use setWrapping() if you want circular behavior.
+.PP
+The displayed value can be prepended and appended with arbitrary strings indicating, for example, currency or the unit of measurement. See setPrefix() and setSuffix(). The text in the spin box is retrieved with text() (which includes any prefix() and suffix()), or with cleanText() (which has no prefix(), no suffix() and no leading or trailing whitespace). currentValueText() returns the spin box's current value as text.
+.PP
+Normally the spin box displays up and down arrows in the buttons. You can use setButtonSymbols() to change the display to show \fB+\fR and \fB-\fR symbols if you prefer. In either case the up and down arrow keys work as expected.
+.PP
+It is often desirable to give the user a special (often default) choice in addition to the range of numeric values. See setSpecialValueText() for how to do this with QSpinBox.
+.PP
+The default QWidget::focusPolicy() is StrongFocus.
+.PP
+If using prefix(), suffix() and specialValueText() don't provide enough control, you can ignore them and subclass QSpinBox instead.
+.PP
+QSpinBox can easily be subclassed to allow the user to input things other than an integer value as long as the allowed input can be mapped to a range of integers. This can be done by overriding the virtual functions mapValueToText() and mapTextToValue(), and setting another suitable validator using setValidator().
+.PP
+For example, these functions could be changed so that the user provided values from 0.0 to 10.0, or -1 to signify 'Auto', while the range of integers used inside the program would be -1 to 100:
+.PP
+.nf
+.br
+ class MySpinBox : public QSpinBox
+.br
+ {
+.br
+ Q_OBJECT
+.br
+ public:
+.br
+ ...
+.br
+.br
+ QString mapValueToText( int value )
+.br
+ {
+.br
+ if ( value == -1 ) // special case
+.br
+ return QString( "Auto" );
+.br
+.br
+ return QString( "%1.%2" ) // 0.0 to 10.0
+.br
+ .arg( value / 10 ).arg( value % 10 );
+.br
+ }
+.br
+.br
+ int mapTextToValue( bool *ok )
+.br
+ {
+.br
+ if ( text() == "Auto" ) // special case
+.br
+ return -1;
+.br
+.br
+ return (int) ( 10 * text().toFloat() ); // 0 to 100
+.br
+ }
+.br
+ };
+.br
+.fi
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QScrollBar, QSlider, GUI Design Handbook: Spin Box, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QSpinBox::ButtonSymbols"
+This enum type determines what the buttons in a spin box show.
+.TP
+\fCQSpinBox::UpDownArrows\fR - the buttons show little arrows in the classic style.
+.TP
+\fCQSpinBox::PlusMinus\fR - the buttons show \fB+\fR and \fB-\fR symbols.
+.PP
+See also QSpinBox::buttonSymbols.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSpinBox::QSpinBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a spin box with the default QRangeControl range and step values. It is called \fIname\fR and has parent \fIparent\fR.
+.PP
+See also minValue, maxValue, setRange(), lineStep, and setSteps().
+.SH "QSpinBox::QSpinBox ( int minValue, int maxValue, int step = 1, QWidget * parent = 0, const char * name = 0 )"
+Constructs a spin box that allows values from \fIminValue\fR to \fImaxValue\fR inclusive, with step amount \fIstep\fR. The value is initially set to \fIminValue\fR.
+.PP
+The spin box is called \fIname\fR and has parent \fIparent\fR.
+.PP
+See also minValue, maxValue, setRange(), lineStep, and setSteps().
+.SH "QSpinBox::~QSpinBox ()"
+Destroys the spin box, freeing all memory and other resources.
+.SH "ButtonSymbols QSpinBox::buttonSymbols () const"
+Returns the current button symbol mode. See the "buttonSymbols" property for details.
+.SH "QString QSpinBox::cleanText () const\fC [virtual]\fR"
+Returns the spin box's text with no prefix(), suffix() or leading or trailing whitespace. See the "cleanText" property for details.
+.SH "QString QSpinBox::currentValueText ()\fC [protected]\fR"
+Returns the full text calculated from the current value, including any prefix and suffix. If there is special value text and the value is minValue() the specialValueText() is returned.
+.SH "QRect QSpinBox::downRect () const"
+Returns the geometry of the "down" button.
+.SH "QLineEdit * QSpinBox::editor () const\fC [protected]\fR"
+Returns a pointer to the embedded QLineEdit.
+.SH "bool QSpinBox::eventFilter ( QObject * o, QEvent * ev )\fC [virtual protected]\fR"
+Intercepts and handles the events coming to the embedded QLineEdit that have special meaning for the QSpinBox. The object is passed as \fIo\fR and the event is passed as \fIev\fR.
+.PP
+Reimplemented from QObject.
+.SH "void QSpinBox::interpretText ()\fC [virtual protected]\fR"
+QSpinBox calls this after the user has manually edited the contents of the spin box (i.e. by typing in the embedded QLineEdit, rather than using the up/down buttons/keys).
+.PP
+The default implementation of this function interprets the new text using mapTextToValue(). If mapTextToValue() is successful, it changes the spin box's value; if not, the value is left unchanged.
+.PP
+See also editor().
+.SH "int QSpinBox::lineStep () const"
+Returns the line step. See the "lineStep" property for details.
+.SH "int QSpinBox::mapTextToValue ( bool * ok )\fC [virtual protected]\fR"
+This virtual function is used by the spin box whenever it needs to interpret text entered by the user as a value. The text is available as text() and as cleanText(), and this function must parse it if possible. If \fIok\fR is not 0: if it parses the text successfully, \fI*ok\fR is set to TRUE; otherwise \fI*ok\fR is set to FALSE.
+.PP
+Subclasses that need to display spin box values in a non-numeric way need to reimplement this function.
+.PP
+Note that Qt handles specialValueText() separately; this function is only concerned with the other values.
+.PP
+The default implementation tries to interpret the text() as an integer in the standard way and returns the integer value.
+.PP
+See also interpretText() and mapValueToText().
+.SH "QString QSpinBox::mapValueToText ( int v )\fC [virtual protected]\fR"
+This virtual function is used by the spin box whenever it needs to display value \fIv\fR. The default implementation returns a string containing \fIv\fR printed in the standard way. Reimplementations may return anything. (See the example in the detailed description.)
+.PP
+Note that Qt does not call this function for specialValueText() and that neither prefix() nor suffix() are included in the return value.
+.PP
+If you reimplement this, you may also need to reimplement mapTextToValue().
+.PP
+See also updateDisplay() and mapTextToValue().
+.SH "int QSpinBox::maxValue () const"
+Returns the maximum value of the spin box. See the "maxValue" property for details.
+.SH "int QSpinBox::minValue () const"
+Returns the minimum value of the spin box. See the "minValue" property for details.
+.SH "QString QSpinBox::prefix () const\fC [virtual]\fR"
+Returns the spin box's prefix. See the "prefix" property for details.
+.SH "void QSpinBox::rangeChange ()\fC [virtual protected]\fR"
+This virtual function is called by QRangeControl whenever the range has changed. It adjusts the default validator and updates the display; if you need additional processing, you can reimplement this function.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QSpinBox::selectAll ()\fC [virtual slot]\fR"
+Selects all the text in the spin box's editor.
+.SH "void QSpinBox::setButtonSymbols ( ButtonSymbols )\fC [virtual]\fR"
+Sets the current button symbol mode. See the "buttonSymbols" property for details.
+.SH "void QSpinBox::setLineStep ( int )"
+Sets the line step. See the "lineStep" property for details.
+.SH "void QSpinBox::setMaxValue ( int )"
+Sets the maximum value of the spin box. See the "maxValue" property for details.
+.SH "void QSpinBox::setMinValue ( int )"
+Sets the minimum value of the spin box. See the "minValue" property for details.
+.SH "void QSpinBox::setPrefix ( const QString & text )\fC [virtual slot]\fR"
+Sets the spin box's prefix to \fItext\fR. See the "prefix" property for details.
+.SH "void QSpinBox::setSpecialValueText ( const QString & text )\fC [virtual]\fR"
+Sets the special-value text to \fItext\fR. See the "specialValueText" property for details.
+.SH "void QSpinBox::setSuffix ( const QString & text )\fC [virtual slot]\fR"
+Sets the suffix of the spin box to \fItext\fR. See the "suffix" property for details.
+.SH "void QSpinBox::setValidator ( const QValidator * v )\fC [virtual]\fR"
+Sets the validator to \fIv\fR. The validator controls what keyboard input is accepted when the user is editing in the value field. The default is to use a suitable QIntValidator.
+.PP
+Use setValidator(0) to turn off input validation (entered input will still be kept within the spin box's range).
+.SH "void QSpinBox::setValue ( int value )\fC [virtual slot]\fR"
+Sets the value of the spin box to \fIvalue\fR. See the "value" property for details.
+.SH "void QSpinBox::setWrapping ( bool on )\fC [virtual]\fR"
+Sets whether it is possible to step the value from the highest value to the lowest value and vice versa to \fIon\fR. See the "wrapping" property for details.
+.SH "QString QSpinBox::specialValueText () const"
+Returns the special-value text. See the "specialValueText" property for details.
+.SH "void QSpinBox::stepDown ()\fC [virtual slot]\fR"
+Decreases the spin box's value one lineStep(), wrapping as necessary if wrapping() is TRUE. This is the same as clicking on the pointing-down button and can be used for keyboard accelerators, for example.
+.PP
+See also stepUp(), subtractLine(), lineStep, setSteps(), value, and value.
+.SH "void QSpinBox::stepUp ()\fC [virtual slot]\fR"
+Increases the spin box's value by one lineStep(), wrapping as necessary if wrapping() is TRUE. This is the same as clicking on the pointing-up button and can be used for keyboard accelerators, for example.
+.PP
+See also stepDown(), addLine(), lineStep, setSteps(), value, and value.
+.SH "QString QSpinBox::suffix () const\fC [virtual]\fR"
+Returns the suffix of the spin box. See the "suffix" property for details.
+.SH "QString QSpinBox::text () const"
+Returns the spin box's text, including any prefix() and suffix(). See the "text" property for details.
+.SH "void QSpinBox::textChanged ()\fC [protected slot]\fR"
+This slot is called whenever the user edits the spin box's text.
+.SH "QRect QSpinBox::upRect () const"
+Returns the geometry of the "up" button.
+.SH "void QSpinBox::updateDisplay ()\fC [virtual protected]\fR"
+Updates the contents of the embedded QLineEdit to reflect the current value using mapValueToText(). Also enables/disables the up/down push buttons accordingly.
+.PP
+See also mapValueToText().
+.SH "const QValidator * QSpinBox::validator () const"
+Returns the validator that constrains editing for this spin box if there is any; otherwise returns 0.
+.PP
+See also setValidator() and QValidator.
+.SH "int QSpinBox::value () const"
+Returns the value of the spin box. See the "value" property for details.
+.SH "void QSpinBox::valueChange ()\fC [virtual protected]\fR"
+This virtual function is called by QRangeControl whenever the value has changed. The QSpinBox reimplementation updates the display and emits the valueChanged() signals; if you need additional processing, either reimplement this or connect to one of the valueChanged() signals.
+.PP
+Reimplemented from QRangeControl.
+.SH "void QSpinBox::valueChanged ( int value )\fC [signal]\fR"
+This signal is emitted every time the value of the spin box changes; the new value is passed in \fIvalue\fR. This signal will be emitted as a result of a call to setValue(), or because the user changed the value by using a keyboard accelerator or mouse click, etc.
+.PP
+Note that the valueChanged() signal is emitted \fIevery\fR time, not just for the "last" step; i.e. if the user clicks "up" three times, this signal is emitted three times.
+.PP
+See also value.
+.PP
+Examples:
+.)l listbox/listbox.cpp, qfd/fontdisplayer.cpp, and scribble/scribble.cpp.
+.SH "void QSpinBox::valueChanged ( const QString & valueText )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted whenever the valueChanged( int ) signal is emitted, i.e. every time the value of the spin box changes (whatever the cause, e.g. by setValue(), by a keyboard accelerator, by mouse clicks, etc.).
+.PP
+The \fIvalueText\fR parameter is the same string that is displayed in the edit field of the spin box.
+.PP
+See also value, prefix, suffix, and specialValueText.
+.SH "bool QSpinBox::wrapping () const"
+Returns TRUE if it is possible to step the value from the highest value to the lowest value and vice versa; otherwise returns FALSE. See the "wrapping" property for details.
+.SS "Property Documentation"
+.SH "ButtonSymbols buttonSymbols"
+This property holds the current button symbol mode.
+.PP
+The possible values can be either UpDownArrows or PlusMinus. The default is UpDownArrows.
+.PP
+See also ButtonSymbols.
+.PP
+Set this property's value with setButtonSymbols() and get this property's value with buttonSymbols().
+.SH "QString cleanText"
+This property holds the spin box's text with no prefix(), suffix() or leading or trailing whitespace.
+.PP
+Get this property's value with cleanText().
+.PP
+See also text, prefix, and suffix.
+.SH "int lineStep"
+This property holds the line step.
+.PP
+When the user uses the arrows to change the spin box's value the value will be incremented/decremented by the amount of the line step.
+.PP
+The setLineStep() function calls the virtual stepChange() function if the new line step is different from the previous setting.
+.PP
+See also QRangeControl::setSteps() and setRange().
+.PP
+Set this property's value with setLineStep() and get this property's value with lineStep().
+.SH "int maxValue"
+This property holds the maximum value of the spin box.
+.PP
+When setting this property, QSpinBox::minValue is adjusted, if necessary, to ensure that the range remains valid.
+.PP
+See also setRange() and specialValueText.
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "int minValue"
+This property holds the minimum value of the spin box.
+.PP
+When setting this property, QSpinBox::maxValue is adjusted, if necessary, to ensure that the range remains valid.
+.PP
+See also setRange() and specialValueText.
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "QString prefix"
+This property holds the spin box's prefix.
+.PP
+The prefix is prepended to the start of the displayed value. Typical use is to display a unit of measurement or a currency symbol. For example:
+.PP
+.nf
+.br
+ sb->setPrefix( "$" );
+.br
+.fi
+.PP
+To turn off the prefix display, set this property to an empty string. The default is no prefix. The prefix is not displayed for the minValue() if specialValueText() is not empty.
+.PP
+If no prefix is set, prefix() returns QString::null.
+.PP
+See also suffix.
+.PP
+Set this property's value with setPrefix() and get this property's value with prefix().
+.SH "QString specialValueText"
+This property holds the special-value text.
+.PP
+If set, the spin box will display this text instead of a numeric value whenever the current value is equal to minVal(). Typical use is to indicate that this choice has a special (default) meaning.
+.PP
+For example, if your spin box allows the user to choose the margin width in a print dialog and your application is able to automatically choose a good margin width, you can set up the spin box like this:
+.PP
+.nf
+.br
+ QSpinBox marginBox( -1, 20, 1, parent, "marginBox" );
+.br
+ marginBox->setSuffix( " mm" );
+.br
+ marginBox->setSpecialValueText( "Auto" );
+.br
+.fi
+The user will then be able to choose a margin width from 0-20 millimeters or select "Auto" to leave it to the application to choose. Your code must then interpret the spin box value of -1 as the user requesting automatic margin width.
+.PP
+All values are displayed with the prefix() and suffix() (if set), \fIexcept\fR for the special value, which only shows the special value text.
+.PP
+To turn off the special-value text display, call this function with an empty string. The default is no special-value text, i.e. the numeric value is shown as usual.
+.PP
+If no special-value text is set, specialValueText() returns QString::null.
+.PP
+Set this property's value with setSpecialValueText() and get this property's value with specialValueText().
+.SH "QString suffix"
+This property holds the suffix of the spin box.
+.PP
+The suffix is appended to the end of the displayed value. Typical use is to display a unit of measurement or a currency symbol. For example:
+.PP
+.nf
+.br
+ sb->setSuffix( " km" );
+.br
+.fi
+.PP
+To turn off the suffix display, set this property to an empty string. The default is no suffix. The suffix is not displayed for the minValue() if specialValueText() is not empty.
+.PP
+If no suffix is set, suffix() returns a QString::null.
+.PP
+See also prefix.
+.PP
+Set this property's value with setSuffix() and get this property's value with suffix().
+.SH "QString text"
+This property holds the spin box's text, including any prefix() and suffix().
+.PP
+There is no default text.
+.PP
+See also value.
+.PP
+Get this property's value with text().
+.SH "int value"
+This property holds the value of the spin box.
+.PP
+Set this property's value with setValue() and get this property's value with value().
+.PP
+See also QRangeControl::setValue().
+.SH "bool wrapping"
+This property holds whether it is possible to step the value from the highest value to the lowest value and vice versa.
+.PP
+By default, wrapping is turned off.
+.PP
+If you have a range of 0..100 and wrapping is off when the user reaches 100 and presses the Up Arrow nothing will happen; but if wrapping is on the value will change from 100 to 0, then to 1, etc. When wrapping is on, navigating past the highest value takes you to the lowest and vice versa.
+.PP
+See also minValue, maxValue, and setRange().
+.PP
+Set this property's value with setWrapping() and get this property's value with wrapping().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qspinbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qspinbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsplashscreen.3qt b/doc/man/man3/qsplashscreen.3qt
new file mode 100644
index 0000000..d9d7c3e
--- /dev/null
+++ b/doc/man/man3/qsplashscreen.3qt
@@ -0,0 +1,182 @@
+'\" t
+.TH QSplashScreen 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSplashScreen \- Splash screen that can be shown during application startup
+.SH SYNOPSIS
+\fC#include <qsplashscreen.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSplashScreen\fR ( const QPixmap & pixmap = QPixmap ( ), WFlags f = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QSplashScreen\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "QPixmap * \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "void \fBfinish\fR ( QWidget * mainWin )"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBmessage\fR ( const QString & message, int alignment = AlignLeft, const QColor & color = black )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBmessageChanged\fR ( const QString & message )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * painter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSplashScreen widget provides a splash screen that can be shown during application startup.
+.PP
+A splash screen is a widget that is usually displayed when an application is being started. Splash screens are often used for applications that have long start up times (e.g. database or networking applications that take time to establish connections) to provide the user with feedback that the application is loading.
+.PP
+The splash screen appears centered on the screen. It may be useful to add the WStyle_StaysOnTop if you desire to keep above all the windows in the GUI.
+.PP
+Some X11 window managers do not support the "stays on top" flag. A solution is to set up a timer that periodically calls raise() on the splash screen to simulate the "stays on top" effect.
+.PP
+The most common usage is to show a splash screen before the main widget is displayed on the screen. This is illustrated in the following code snippet.
+.PP
+.nf
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QApplication app( argc, argv );
+.br
+ QPixmap pixmap( "splash.png" );
+.br
+ QSplashScreen *splash = new QSplashScreen( pixmap );
+.br
+ splash->show();
+.br
+ QMainWindow *mainWin = new QMainWindow;
+.br
+ ...
+.br
+ app.setMainWidget( mainWin );
+.br
+ mainWin->show();
+.br
+ splash->finish( mainWin );
+.br
+ delete splash;
+.br
+ return app.exec();
+.br
+ }
+.br
+.fi
+.PP
+It is sometimes useful to update the splash screen with messages, for example, announcing connections established or modules loaded as the application starts up. QSplashScreen supports this with the message() function. If you wish to do your own drawing you can get a pointer to the pixmap used in the splash screen with pixmap(). Alternatively, you can subclass QSplashScreen and reimplement drawContents().
+.PP
+The user can hide the splash screen by clicking on it with the mouse. Since the splash screen is typically displayed before the event loop has started running, it is necessary to periodically call QApplication::processEvents() to receive the mouse clicks.
+.PP
+.nf
+.br
+ QPixmap pixmap( "splash.png" );
+.br
+ QSplashScreen *splash = new QSplashScreen( pixmap );
+.br
+ splash->show();
+.br
+ ... // Loading some items
+.br
+ splash->message( "Loaded modules" );
+.br
+ qApp->processEvents();
+.br
+ ... // Establishing connections
+.br
+ splash->message( "Established connections" );
+.br
+ qApp->processEvents();
+.br
+.fi
+.PP
+See also Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSplashScreen::QSplashScreen ( const QPixmap & pixmap = QPixmap ( ), WFlags f = 0 )"
+Construct a splash screen that will display the \fIpixmap\fR.
+.PP
+There should be no need to set the widget flags, \fIf\fR, except perhaps WDestructiveClose or WStyle_StaysOnTop.
+.SH "QSplashScreen::~QSplashScreen ()\fC [virtual]\fR"
+Destructor.
+.SH "void QSplashScreen::clear ()\fC [slot]\fR"
+Removes the message being displayed on the splash screen
+.PP
+See also message().
+.SH "void QSplashScreen::drawContents ( QPainter * painter )\fC [virtual protected]\fR"
+Draw the contents of the splash screen using painter \fIpainter\fR. The default implementation draws the message passed by message(). Reimplement this function if you want to do your own drawing on the splash screen.
+.SH "void QSplashScreen::finish ( QWidget * mainWin )"
+Makes the splash screen wait until the widget \fImainWin\fR is displayed before calling close() on itself.
+.SH "void QSplashScreen::message ( const QString & message, int alignment = AlignLeft, const QColor & color = black )\fC [slot]\fR"
+Draws the \fImessage\fR text onto the splash screen with color \fIcolor\fR and aligns the text according to the flags in \fIalignment\fR.
+.PP
+See also Qt::AlignmentFlags and clear().
+.SH "void QSplashScreen::messageChanged ( const QString & message )\fC [signal]\fR"
+This signal is emitted when the message on the splash screen changes. \fImessage\fR is the new message and is a null-string when the message has been removed.
+.PP
+See also message() and clear().
+.SH "QPixmap * QSplashScreen::pixmap () const"
+Returns the pixmap that is used in the splash screen. The image does not have any of the text drawn by message() calls.
+.SH "void QSplashScreen::repaint ()"
+This overrides QWidget::repaint(). It differs from the standard repaint function in that it also calls QApplication::flush() to ensure the updates are displayed, even when there is no event loop present.
+.SH "void QSplashScreen::setPixmap ( const QPixmap & pixmap )"
+Sets the pixmap that will be used as the splash screen's image to
+\fIpixmap\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsplashscreen.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsplashscreen.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsplitter.3qt b/doc/man/man3/qsplitter.3qt
new file mode 100644
index 0000000..4ac4a6a
--- /dev/null
+++ b/doc/man/man3/qsplitter.3qt
@@ -0,0 +1,332 @@
+'\" t
+.TH QSplitter 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSplitter \- Implements a splitter widget
+.SH SYNOPSIS
+\fC#include <qsplitter.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBResizeMode\fR { Stretch, KeepSize, FollowSizeHint, Auto }"
+.br
+.ti -1c
+.BI "\fBQSplitter\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQSplitter\fR ( Orientation o, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSplitter\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetOrientation\fR ( Orientation )"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetChildrenCollapsible\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBchildrenCollapsible\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCollapsible\fR ( QWidget * w, bool collapse )"
+.br
+.ti -1c
+.BI "virtual void \fBsetResizeMode\fR ( QWidget * w, ResizeMode mode )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpaqueResize\fR ( bool = TRUE )"
+.br
+.ti -1c
+.BI "bool \fBopaqueResize\fR () const"
+.br
+.ti -1c
+.BI "void \fBmoveToFirst\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBmoveToLast\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR ()"
+.br
+.ti -1c
+.BI "QValueList<int> \fBsizes\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSizes\fR ( QValueList<int> list )"
+.br
+.ti -1c
+.BI "int \fBhandleWidth\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetHandleWidth\fR ( int )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBchildrenCollapsible\fR - whether child widgets can be resized down to size 0 by the user"
+.br
+.ti -1c
+.BI "int \fBhandleWidth\fR - the width of the splitter handle"
+.br
+.ti -1c
+.BI "bool \fBopaqueResize\fR - whether resizing is opaque"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR - the orientation of the splitter"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBchildEvent\fR ( QChildEvent * c )"
+.br
+.ti -1c
+.BI "int \fBidAfter\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "void \fBmoveSplitter\fR ( QCOORD p, int id )"
+.br
+.ti -1c
+.BI "virtual void drawSplitter ( QPainter * p, QCOORD x, QCOORD y, QCOORD w, QCOORD h ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBadjustPos\fR ( int pos, int id )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRubberband\fR ( int p )"
+.br
+.ti -1c
+.BI "void \fBgetRange\fR ( int id, int * min, int * max )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( QTextStream & ts, const QSplitter & splitter )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QTextStream & ts, QSplitter & splitter )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSplitter class implements a splitter widget.
+.PP
+A splitter lets the user control the size of child widgets by dragging the boundary between the children. Any number of widgets may be controlled by a single splitter.
+.PP
+To show a QListBox, a QListView and a QTextEdit side by side:
+.PP
+.nf
+.br
+ QSplitter *split = new QSplitter( parent );
+.br
+ QListBox *lb = new QListBox( split );
+.br
+ QListView *lv = new QListView( split );
+.br
+ QTextEdit *ed = new QTextEdit( split );
+.br
+.fi
+.PP
+QSplitter lays out its children horizontally (side by side); you can use setOrientation(QSplitter::Vertical) to lay out the children vertically.
+.PP
+By default, all widgets can be as large or as small as the user wishes, between the minimumSizeHint() (or minimumSize()) and maximumSize() of the widgets. Use setResizeMode() to specify that a widget should keep its size when the splitter is resized, or set the stretch component of the sizePolicy.
+.PP
+Although QSplitter normally resizes the children only at the end of a resize operation, if you call setOpaqueResize(TRUE) the widgets are resized as often as possible.
+.PP
+The initial distribution of size between the widgets is determined by the initial size of each widget. You can also use setSizes() to set the sizes of all the widgets. The function sizes() returns the sizes set by the user.
+.PP
+If you hide() a child its space will be distributed among the other children. It will be reinstated when you show() it again. It is also possible to reorder the widgets within the splitter using moveToFirst() and moveToLast().
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QTabBar and Organizers.
+.SS "Member Type Documentation"
+.SH "QSplitter::ResizeMode"
+This enum type describes how QSplitter will resize each of its child widgets.
+.TP
+\fCQSplitter::Auto\fR - The widget will be resized according to the stretch factors set in its sizePolicy().
+.TP
+\fCQSplitter::Stretch\fR - The widget will be resized when the splitter itself is resized.
+.TP
+\fCQSplitter::KeepSize\fR - QSplitter will try to keep the widget's size unchanged.
+.TP
+\fCQSplitter::FollowSizeHint\fR - QSplitter will resize the widget when the widget's size hint changes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSplitter::QSplitter ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a horizontal splitter with the \fIparent\fR and \fIname\fR arguments being passed on to the QFrame constructor.
+.SH "QSplitter::QSplitter ( Orientation o, QWidget * parent = 0, const char * name = 0 )"
+Constructs a splitter with orientation \fIo\fR with the \fIparent\fR and \fIname\fR arguments being passed on to the QFrame constructor.
+.SH "QSplitter::~QSplitter ()"
+Destroys the splitter and any children.
+.SH "int QSplitter::adjustPos ( int pos, int id )\fC [protected]\fR"
+Returns the closest legal position to \fIpos\fR of the widget with ID \fIid\fR.
+.PP
+See also idAfter().
+.SH "void QSplitter::childEvent ( QChildEvent * c )\fC [virtual protected]\fR"
+Tells the splitter that the child widget described by \fIc\fR has been inserted or removed.
+.PP
+Reimplemented from QObject.
+.SH "bool QSplitter::childrenCollapsible () const"
+Returns TRUE if child widgets can be resized down to size 0 by the user; otherwise returns FALSE. See the "childrenCollapsible" property for details.
+.SH "void QSplitter::drawSplitter ( QPainter * p, QCOORD x, QCOORD y, QCOORD w, QCOORD h )\fC [virtual protected]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Draws the splitter handle in the rectangle described by \fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR using painter \fIp\fR.
+.PP
+See also QStyle::drawPrimitive().
+.SH "void QSplitter::getRange ( int id, int * min, int * max )\fC [protected]\fR"
+Returns the valid range of the splitter with ID \fIid\fR in \fI*min\fR and \fI*max\fR if \fImin\fR and \fImax\fR are not 0.
+.PP
+See also idAfter().
+.SH "int QSplitter::handleWidth () const"
+Returns the width of the splitter handle. See the "handleWidth" property for details.
+.SH "int QSplitter::idAfter ( QWidget * w ) const\fC [protected]\fR"
+Returns the ID of the widget to the right of or below the widget \fIw\fR, or 0 if there is no such widget (i.e. it is either not in this QSplitter or \fIw\fR is at the end).
+.SH "void QSplitter::moveSplitter ( QCOORD p, int id )\fC [protected]\fR"
+Moves the left/top edge of the splitter handle with ID \fIid\fR as close as possible to position \fIp\fR, which is the distance from the left (or top) edge of the widget.
+.PP
+For Arabic, Hebrew and other right-to-left languages the layout is reversed. \fIp\fR is then the distance from the right (or top) edge of the widget.
+.PP
+See also idAfter().
+.SH "void QSplitter::moveToFirst ( QWidget * w )"
+Moves widget \fIw\fR to the leftmost/top position.
+.PP
+Example: splitter/splitter.cpp.
+.SH "void QSplitter::moveToLast ( QWidget * w )"
+Moves widget \fIw\fR to the rightmost/bottom position.
+.SH "bool QSplitter::opaqueResize () const"
+Returns TRUE if resizing is opaque; otherwise returns FALSE. See the "opaqueResize" property for details.
+.SH "Orientation QSplitter::orientation () const"
+Returns the orientation of the splitter. See the "orientation" property for details.
+.SH "void QSplitter::refresh ()"
+Updates the splitter's state. You should not need to call this function.
+.SH "void QSplitter::setChildrenCollapsible ( bool )"
+Sets whether child widgets can be resized down to size 0 by the user. See the "childrenCollapsible" property for details.
+.SH "void QSplitter::setCollapsible ( QWidget * w, bool collapse )"
+Sets whether the child widget \fIw\fR is collapsible to \fIcollapse\fR.
+.PP
+By default, children are collapsible, meaning that the user can resize them down to size 0, even if they have a non-zero minimumSize() or minimumSizeHint(). This behavior can be changed on a per-widget basis by calling this function, or globally for all the widgets in the splitter by setting the childrenCollapsible property.
+.PP
+See also childrenCollapsible.
+.SH "void QSplitter::setHandleWidth ( int )"
+Sets the width of the splitter handle. See the "handleWidth" property for details.
+.SH "void QSplitter::setOpaqueResize ( bool = TRUE )\fC [virtual]\fR"
+Sets whether resizing is opaque. See the "opaqueResize" property for details.
+.SH "void QSplitter::setOrientation ( Orientation )\fC [virtual]\fR"
+Sets the orientation of the splitter. See the "orientation" property for details.
+.SH "void QSplitter::setResizeMode ( QWidget * w, ResizeMode mode )\fC [virtual]\fR"
+Sets resize mode of widget \fIw\fR to \fImode\fR. (The default is Auto.)
+.PP
+Examples:
+.)l fileiconview/mainwindow.cpp, listviews/listviews.cpp, and splitter/splitter.cpp.
+.SH "void QSplitter::setRubberband ( int p )\fC [virtual protected]\fR"
+Displays a rubber band at position \fIp\fR. If \fIp\fR is negative, the rubber band is removed.
+.SH "void QSplitter::setSizes ( QValueList<int> list )"
+Sets the size parameters to the values given in the \fIlist\fR. If the splitter is horizontal, the values set the widths of each widget going from left to right. If the splitter is vertical, the values set the heights of each widget going from top to bottom. Extra values in the \fIlist\fR are ignored.
+.PP
+If \fIlist\fR contains too few values, the result is undefined but the program will still be well-behaved.
+.PP
+Note that the values in \fIlist\fR should be the height/width that the widgets should be resized to.
+.PP
+See also sizes().
+.SH "QValueList<int> QSplitter::sizes () const"
+Returns a list of the size parameters of all the widgets in this splitter.
+.PP
+If the splitter's orientation is horizontal, the list is a list of widget widths; if the orientation is vertical, the list is a list of widget heights.
+.PP
+Giving the values to another splitter's setSizes() function will produce a splitter with the same layout as this one.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<int> list = mySplitter.sizes();
+.br
+ QValueList<int>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also setSizes().
+.SS "Property Documentation"
+.SH "bool childrenCollapsible"
+This property holds whether child widgets can be resized down to size 0 by the user.
+.PP
+By default, children are collapsible. It is possible to enable and disable the collapsing of individual children; see setCollapsible().
+.PP
+Set this property's value with setChildrenCollapsible() and get this property's value with childrenCollapsible().
+.SH "int handleWidth"
+This property holds the width of the splitter handle.
+.PP
+Set this property's value with setHandleWidth() and get this property's value with handleWidth().
+.SH "bool opaqueResize"
+This property holds whether resizing is opaque.
+.PP
+Opaque resizing is off by default.
+.PP
+Set this property's value with setOpaqueResize() and get this property's value with opaqueResize().
+.SH "Orientation orientation"
+This property holds the orientation of the splitter.
+.PP
+By default the orientation is horizontal (the widgets are side by side). The possible orientations are Horizontal and Vertical.
+.PP
+Set this property's value with setOrientation() and get this property's value with orientation().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QTextStream & operator<< ( QTextStream & ts, const QSplitter & splitter )"
+Writes the sizes and the hidden state of the widgets in the splitter \fIsplitter\fR to the text stream \fIts\fR.
+.PP
+See also operator>>(), sizes(), and QWidget::hidden.
+.SH "QTextStream & operator>> ( QTextStream & ts, QSplitter & splitter )"
+Reads the sizes and the hidden state of the widgets in the splitter \fIsplitter\fR from the text stream \fIts\fR. The sizes must have been previously written by the operator<<() function.
+.PP
+See also operator<<(), setSizes(), and QWidget::hide().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsplitter.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsplitter.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsql.3qt b/doc/man/man3/qsql.3qt
new file mode 100644
index 0000000..9366e4a
--- /dev/null
+++ b/doc/man/man3/qsql.3qt
@@ -0,0 +1,111 @@
+'\" t
+.TH QSql 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSql \- Namespace for Qt SQL identifiers that need to be global-like
+.SH SYNOPSIS
+\fC#include <qsql.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSql\fR ()"
+.br
+.ti -1c
+.BI "enum \fBOp\fR { None = -1, Insert = 0, Update = 1, Delete = 2 }"
+.br
+.ti -1c
+.BI "enum \fBLocation\fR { BeforeFirst = -1, AfterLast = -2 }"
+.br
+.ti -1c
+.BI "enum \fBConfirm\fR { Cancel = -1, No = 0, Yes = 1 }"
+.br
+.ti -1c
+.BI "enum \fBParameterType\fR { In = 1, Out = 2, InOut = 3 }"
+.br
+.ti -1c
+.BI "enum \fBTableType\fR { Tables = 0x01, SystemTables = 0x02, Views = 0x04, AllTables = 0xff }"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSql class is a namespace for Qt SQL identifiers that need to be global-like.
+.PP
+Normally, you can ignore this class. Several Qt SQL classes inherit it, so all the identifiers in the Qt SQL namespace are visible without qualification.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QSql::Confirm"
+This enum type describes edit confirmations.
+.TP
+\fCQSql::Yes\fR
+.TP
+\fCQSql::No\fR
+.TP
+\fCQSql::Cancel\fR
+.SH "QSql::Location"
+This enum type describes SQL navigation locations.
+.TP
+\fCQSql::BeforeFirst\fR
+.TP
+\fCQSql::AfterLast\fR
+.SH "QSql::Op"
+This enum type describes edit operations.
+.TP
+\fCQSql::None\fR
+.TP
+\fCQSql::Insert\fR
+.TP
+\fCQSql::Update\fR
+.TP
+\fCQSql::Delete\fR
+.SH "QSql::ParameterType"
+This enum is used to set the type of a bind parameter
+.TP
+\fCQSql::In\fR - the bind parameter is used to put data into the database
+.TP
+\fCQSql::Out\fR - the bind parameter is used to receive data from the database
+.TP
+\fCQSql::InOut\fR - the bind parameter is used to put data into the database; it will be overwritten with output data on executing a query.
+.SH "QSql::TableType"
+This enum type describes types of tables
+.TP
+\fCQSql::Tables\fR - All the tables visible to the user
+.TP
+\fCQSql::SystemTables\fR - Internal tables used by the DBMS
+.TP
+\fCQSql::Views\fR - All the views visible to the user
+.TP
+\fCQSql::AllTables\fR - All of the above
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSql::QSql ()"
+Constructs a Qt SQL namespace class
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsql.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsql.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlcursor.3qt b/doc/man/man3/qsqlcursor.3qt
new file mode 100644
index 0000000..c7067de
--- /dev/null
+++ b/doc/man/man3/qsqlcursor.3qt
@@ -0,0 +1,661 @@
+'\" t
+.TH QSqlCursor 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlCursor \- Browsing and editing of SQL tables and views
+.SH SYNOPSIS
+\fC#include <qsqlcursor.h>\fR
+.PP
+Inherits QSqlRecord and QSqlQuery.
+.PP
+Inherited by QSqlSelectCursor.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlCursor\fR ( const QString & name = QString::null, bool autopopulate = TRUE, QSqlDatabase * db = 0 )"
+.br
+.ti -1c
+.BI "\fBQSqlCursor\fR ( const QSqlCursor & other )"
+.br
+.ti -1c
+.BI "QSqlCursor & \fBoperator=\fR ( const QSqlCursor & other )"
+.br
+.ti -1c
+.BI "\fB~QSqlCursor\fR ()"
+.br
+.ti -1c
+.BI "enum \fBMode\fR { ReadOnly = 0, Insert = 1, Update = 2, Delete = 4, Writable = 7 }"
+.br
+.ti -1c
+.BI "virtual QSqlIndex \fBprimaryIndex\fR ( bool setFromCursor = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual QSqlIndex \fBindex\fR ( const QStringList & fieldNames ) const"
+.br
+.ti -1c
+.BI "QSqlIndex \fBindex\fR ( const QString & fieldName ) const"
+.br
+.ti -1c
+.BI "QSqlIndex \fBindex\fR ( const char * fieldName ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPrimaryIndex\fR ( const QSqlIndex & idx )"
+.br
+.ti -1c
+.BI "virtual void \fBappend\fR ( const QSqlFieldInfo & fieldInfo )"
+.br
+.ti -1c
+.BI "virtual void \fBinsert\fR ( int pos, const QSqlFieldInfo & fieldInfo )"
+.br
+.ti -1c
+.BI "virtual void \fBremove\fR ( int pos )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetGenerated\fR ( const QString & name, bool generated )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGenerated\fR ( int i, bool generated )"
+.br
+.ti -1c
+.BI "virtual QSqlRecord * \fBeditBuffer\fR ( bool copy = FALSE )"
+.br
+.ti -1c
+.BI "virtual QSqlRecord * \fBprimeInsert\fR ()"
+.br
+.ti -1c
+.BI "virtual QSqlRecord * \fBprimeUpdate\fR ()"
+.br
+.ti -1c
+.BI "virtual QSqlRecord * \fBprimeDelete\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBinsert\fR ( bool invalidate = TRUE )"
+.br
+.ti -1c
+.BI "virtual int \fBupdate\fR ( bool invalidate = TRUE )"
+.br
+.ti -1c
+.BI "virtual int \fBdel\fR ( bool invalidate = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMode\fR ( int mode )"
+.br
+.ti -1c
+.BI "int \fBmode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCalculated\fR ( const QString & name, bool calculated )"
+.br
+.ti -1c
+.BI "bool \fBisCalculated\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTrimmed\fR ( const QString & name, bool trim )"
+.br
+.ti -1c
+.BI "bool \fBisTrimmed\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcanInsert\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcanUpdate\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcanDelete\fR () const"
+.br
+.ti -1c
+.BI "bool \fBselect\fR ()"
+.br
+.ti -1c
+.BI "bool \fBselect\fR ( const QSqlIndex & sort )"
+.br
+.ti -1c
+.BI "bool \fBselect\fR ( const QSqlIndex & filter, const QSqlIndex & sort )"
+.br
+.ti -1c
+.BI "virtual bool \fBselect\fR ( const QString & filter, const QSqlIndex & sort = QSqlIndex ( ) )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSort\fR ( const QSqlIndex & sort )"
+.br
+.ti -1c
+.BI "QSqlIndex \fBsort\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFilter\fR ( const QString & filter )"
+.br
+.ti -1c
+.BI "QString \fBfilter\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetName\fR ( const QString & name, bool autopopulate = TRUE )"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ( int i ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ( const QString & name ) const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QVariant \fBcalculateField\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual int \fBupdate\fR ( const QString & filter, bool invalidate = TRUE )"
+.br
+.ti -1c
+.BI "virtual int \fBdel\fR ( const QString & filter, bool invalidate = TRUE )"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR ( const QString & prefix, QSqlField * field, const QString & fieldSep ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR ( QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR ( const QSqlIndex & i, QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlCursor class provides browsing and editing of SQL tables and views.
+.PP
+A QSqlCursor is a database record (see QSqlRecord) that corresponds to a table or view within an SQL database (see QSqlDatabase). There are two buffers in a cursor, one used for browsing and one used for editing records. Each buffer contains a list of fields which correspond to the fields in the table or view.
+.PP
+When positioned on a valid record, the browse buffer contains the values of the current record's fields from the database. The edit buffer is separate, and is used for editing existing records and inserting new records.
+.PP
+For browsing data, a cursor must first select() data from the database. After a successful select() the cursor is active (isActive() returns TRUE), but is initially not positioned on a valid record (isValid() returns FALSE). To position the cursor on a valid record, use one of the navigation functions, next(), prev(), first(), last(), or seek(). Once positioned on a valid record, data can be retrieved from the browse buffer using value(). If a navigation function is not successful, it returns FALSE, the cursor will no longer be positioned on a valid record and the values returned by value() are undefined.
+.PP
+For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "staff" ); // Specify the table/view name
+.br
+ cur.select(); // We'll retrieve every record
+.br
+ while ( cur.next() ) {
+.br
+ qDebug( cur.value( "id" ).toString() + ": " +
+.br
+ cur.value( "surname" ).toString() + " " +
+.br
+ cur.value( "salary" ).toString() );
+.br
+ }
+.fi
+.PP
+In the above example, a cursor is created specifying a table or view name in the database. Then, select() is called, which can be optionally parameterised to filter and order the records retrieved. Each record in the cursor is retrieved using next(). When next() returns FALSE, there are no more records to process, and the loop terminates.
+.PP
+For editing records (rows of data), a cursor contains a separate edit buffer which is independent of the fields used when browsing. The functions insert(), update() and del() operate on the edit buffer. This allows the cursor to be repositioned to other records while simultaneously maintaining a separate buffer for edits. You can get a pointer to the edit buffer using editBuffer(). The primeInsert(), primeUpdate() and primeDelete() functions also return a pointer to the edit buffer and prepare it for insert, update and delete respectively. Edit operations only affect a single row at a time. Note that update() and del() require that the table or view contain a primaryIndex() to ensure that edit operations affect a unique record within the database.
+.PP
+For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "prices" );
+.br
+ cur.select( "id=202" );
+.br
+ if ( cur.next() ) {
+.br
+ QSqlRecord *buffer = cur.primeUpdate();
+.br
+ double price = buffer->value( "price" ).toDouble();
+.br
+ double newprice = price * 1.05;
+.br
+ buffer->setValue( "price", newprice );
+.br
+ cur.update();
+.br
+ }
+.fi
+.PP
+To edit an existing database record, first move to the record you wish to update. Call primeUpdate() to get the pointer to the cursor's edit buffer. Then use this pointer to modify the values in the edit buffer. Finally, call update() to save the changes to the database. The values in the edit buffer will be used to locate the appropriate record when updating the database (see primaryIndex()).
+.PP
+Similarly, when deleting an existing database record, first move to the record you wish to delete. Then, call primeDelete() to get the pointer to the edit buffer. Finally, call del() to delete the record from the database. Again, the values in the edit buffer will be used to locate and delete the appropriate record.
+.PP
+To insert a new record, call primeInsert() to get the pointer to the edit buffer. Use this pointer to populate the edit buffer with new values and then insert() the record into the database.
+.PP
+After calling insert(), update() or del(), the cursor is no longer positioned on a valid record and can no longer be navigated (isValid() return FALSE). The reason for this is that any changes made to the database will not be visible until select() is called to refresh the cursor. You can change this behavior by passing FALSE to insert(), update() or del() which will prevent the cursor from becoming invalid. The edits will still not be visible when navigating the cursor until select() is called.
+.PP
+QSqlCursor contains virtual methods which allow editing behavior to be customized by subclasses. This allows custom cursors to be created that encapsulate the editing behavior of a database table for an entire application. For example, a cursor can be customized to always auto-number primary index fields, or provide fields with suitable default values, when inserting new records. QSqlCursor generates SQL statements which are sent to the database engine; you can control which fields are included in these statements using setGenerated().
+.PP
+Note that QSqlCursor does not inherit from QObject. This means that you are responsible for destroying instances of this class yourself. However if you create a QSqlCursor and use it in a QDataTable, QDataBrowser or a QDataView these classes will usually take ownership of the cursor and destroy it when they don't need it anymore. The documentation for QDataTable, QDataBrowser and QDataView explicitly states which calls take ownership of the cursor.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QSqlCursor::Mode"
+This enum type describes how QSqlCursor operates on records in the database.
+.TP
+\fCQSqlCursor::ReadOnly\fR - the cursor can only SELECT records from the database.
+.TP
+\fCQSqlCursor::Insert\fR - the cursor can INSERT records into the database.
+.TP
+\fCQSqlCursor::Update\fR - the cursor can UPDATE records in the database.
+.TP
+\fCQSqlCursor::Delete\fR - the cursor can DELETE records from the database.
+.TP
+\fCQSqlCursor::Writable\fR - the cursor can INSERT, UPDATE and DELETE records in the database.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlCursor::QSqlCursor ( const QString & name = QString::null, bool autopopulate = TRUE, QSqlDatabase * db = 0 )"
+Constructs a cursor on database \fIdb\fR using table or view \fIname\fR.
+.PP
+If \fIautopopulate\fR is TRUE (the default), the \fIname\fR of the cursor must correspond to an existing table or view name in the database so that field information can be automatically created. If the table or view does not exist, the cursor will not be functional.
+.PP
+The cursor is created with an initial mode of QSqlCursor::Writable (meaning that records can be inserted, updated or deleted using the cursor). If the cursor does not have a unique primary index, update and deletes cannot be performed.
+.PP
+Note that \fIautopopulate\fR refers to populating the cursor with meta-data, e.g. the names of the table's fields, not with retrieving data. The select() function is used to populate the cursor with data.
+.PP
+See also setName() and setMode().
+.SH "QSqlCursor::QSqlCursor ( const QSqlCursor & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlCursor::~QSqlCursor ()"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlCursor::append ( const QSqlFieldInfo & fieldInfo )\fC [virtual]\fR"
+Append a copy of field \fIfieldInfo\fR to the end of the cursor. Note that all references to the cursor edit buffer become invalidated.
+.SH "QVariant QSqlCursor::calculateField ( const QString & name )\fC [virtual protected]\fR"
+Protected virtual function which is called whenever a field needs to be calculated. If calculated fields are being used, derived classes must reimplement this function and return the appropriate value for field \fIname\fR. The default implementation returns an invalid QVariant.
+.PP
+See also setCalculated().
+.PP
+Examples:
+.)l sql/overview/subclass3/main.cpp and sql/overview/subclass4/main.cpp.
+.SH "bool QSqlCursor::canDelete () const"
+Returns TRUE if the cursor will perform deletes; otherwise returns FALSE.
+.PP
+See also setMode().
+.SH "bool QSqlCursor::canInsert () const"
+Returns TRUE if the cursor will perform inserts; otherwise returns FALSE.
+.PP
+See also setMode().
+.SH "bool QSqlCursor::canUpdate () const"
+Returns TRUE if the cursor will perform updates; otherwise returns FALSE.
+.PP
+See also setMode().
+.SH "void QSqlCursor::clear ()\fC [virtual]\fR"
+Removes all fields from the cursor. Note that all references to the cursor edit buffer become invalidated.
+.PP
+Reimplemented from QSqlRecord.
+.SH "int QSqlCursor::del ( bool invalidate = TRUE )\fC [virtual]\fR"
+Deletes a record from the database using the cursor's primary index and the contents of the cursor edit buffer. Returns the number of records which were deleted. For error information, use lastError().
+.PP
+Only records which meet the filter criteria specified by the cursor's primary index are deleted. If the cursor does not contain a primary index, no delete is performed and 0 is returned. If \fIinvalidate\fR is TRUE (the default), the current cursor can no longer be navigated. A new select() call must be made before you can move to a valid record. For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "prices" );
+.br
+ cur.select( "id=999" );
+.br
+ if ( cur.next() ) {
+.br
+ cur.primeDelete();
+.br
+ cur.del();
+.br
+ }
+.fi
+.PP
+In the above example, a cursor is created on the 'prices' table and positioned to the record to be deleted. First primeDelete() is called to populate the edit buffer with the current cursor values, e.g. with an id of 999, and then del() is called to actually delete the record from the database. Remember: all edit operations (insert(), update() and delete()) operate on the contents of the cursor edit buffer and not on the contents of the cursor itself.
+.PP
+See also primeDelete(), setMode(), and lastError().
+.PP
+Example: sql/overview/delete/main.cpp.
+.SH "int QSqlCursor::del ( const QString & filter, bool invalidate = TRUE )\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Deletes the current cursor record from the database using the filter \fIfilter\fR. Only records which meet the filter criteria are deleted. Returns the number of records which were deleted. If \fIinvalidate\fR is TRUE (the default), the current cursor can no longer be navigated. A new select() call must be made before you can move to a valid record. For error information, use lastError().
+.PP
+The \fIfilter\fR is an SQL \fCWHERE\fR clause, e.g. \fCid=500\fR.
+.PP
+See also setMode() and lastError().
+.SH "QSqlRecord * QSqlCursor::editBuffer ( bool copy = FALSE )\fC [virtual]\fR"
+Returns the current internal edit buffer. If \fIcopy\fR is TRUE (the default is FALSE), the current cursor field values are first copied into the edit buffer. The edit buffer is valid as long as the cursor remains valid. The cursor retains ownership of the returned pointer, so it must not be deleted or modified.
+.PP
+See also primeInsert(), primeUpdate(), and primeDelete().
+.SH "QString QSqlCursor::filter () const"
+Returns the current filter, or an empty string if there is no current filter.
+.SH "QSqlIndex QSqlCursor::index ( const QStringList & fieldNames ) const\fC [virtual]\fR"
+Returns an index composed of \fIfieldNames\fR, all in ASCending order. Note that all field names must exist in the cursor, otherwise an empty index is returned.
+.PP
+See also QSqlIndex.
+.PP
+Examples:
+.)l sql/overview/extract/main.cpp, sql/overview/order1/main.cpp, sql/overview/order2/main.cpp, and sql/overview/table3/main.cpp.
+.SH "QSqlIndex QSqlCursor::index ( const QString & fieldName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an index based on \fIfieldName\fR.
+.SH "QSqlIndex QSqlCursor::index ( const char * fieldName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an index based on \fIfieldName\fR.
+.SH "void QSqlCursor::insert ( int pos, const QSqlFieldInfo & fieldInfo )\fC [virtual]\fR"
+Insert a copy of \fIfieldInfo\fR at position \fIpos\fR. If a field already exists at \fIpos\fR, it is removed. Note that all references to the cursor edit buffer become invalidated.
+.PP
+Examples:
+.)l sql/overview/insert/main.cpp and sql/overview/insert2/main.cpp.
+.SH "int QSqlCursor::insert ( bool invalidate = TRUE )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the current contents of the cursor's edit record buffer into the database, if the cursor allows inserts. Returns the number of rows affected by the insert. For error information, use lastError().
+.PP
+If \fIinvalidate\fR is TRUE (the default), the cursor will no longer be positioned on a valid record and can no longer be navigated. A new select() call must be made before navigating to a valid record.
+.PP
+.nf
+.br
+ QSqlCursor cur( "prices" );
+.br
+ QSqlRecord *buffer = cur.primeInsert();
+.br
+ buffer->setValue( "id", 53981 );
+.br
+ buffer->setValue( "name", "Thingy" );
+.br
+ buffer->setValue( "price", 105.75 );
+.br
+ cur.insert();
+.fi
+.PP
+In the above example, a cursor is created on the 'prices' table and a pointer to the insert buffer is aquired using primeInsert(). Each field's value is set to the desired value and then insert() is called to insert the data into the database. Remember: all edit operations (insert(), update() and delete()) operate on the contents of the cursor edit buffer and not on the contents of the cursor itself.
+.PP
+See also setMode() and lastError().
+.SH "bool QSqlCursor::isCalculated ( const QString & name ) const"
+Returns TRUE if the field \fIname\fR exists and is calculated; otherwise returns FALSE.
+.PP
+See also setCalculated().
+.SH "bool QSqlCursor::isNull ( int i ) const"
+Returns TRUE if the field \fIi\fR is NULL or if there is no field at position \fIi\fR; otherwise returns FALSE.
+.PP
+This is the same as calling QSqlRecord::isNull( \fIi\fR )
+.SH "bool QSqlCursor::isNull ( const QString & name ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the field called \fIname\fR is NULL or if there is no field called \fIname\fR; otherwise returns FALSE.
+.PP
+This is the same as calling QSqlRecord::isNull( \fIname\fR )
+.SH "bool QSqlCursor::isReadOnly () const"
+Returns TRUE if the cursor is read-only; otherwise returns FALSE. The default is FALSE. Read-only cursors cannot be edited using insert(), update() or del().
+.PP
+See also setMode().
+.SH "bool QSqlCursor::isTrimmed ( const QString & name ) const"
+Returns TRUE if the field \fIname\fR exists and is trimmed; otherwise returns FALSE.
+.PP
+When a trimmed field of type string or cstring is read from the database any trailing (right-most) spaces are removed.
+.PP
+See also setTrimmed().
+.SH "int QSqlCursor::mode () const"
+Returns the current cursor mode.
+.PP
+See also setMode().
+.SH "QString QSqlCursor::name () const"
+Returns the name of the cursor.
+.SH "QSqlCursor & QSqlCursor::operator= ( const QSqlCursor & other )"
+Sets the cursor equal to \fIother\fR.
+.SH "QSqlIndex QSqlCursor::primaryIndex ( bool setFromCursor = TRUE ) const\fC [virtual]\fR"
+Returns the primary index associated with the cursor as defined in the database, or an empty index if there is no primary index. If \fIsetFromCursor\fR is TRUE (the default), the index fields are populated with the corresponding values in the cursor's current record.
+.SH "QSqlRecord * QSqlCursor::primeDelete ()\fC [virtual]\fR"
+This function primes the edit buffer's field values for delete and returns the edit buffer. The default implementation copies the field values from the current cursor record into the edit buffer (therefore, this function is equivalent to calling editBuffer( TRUE ) ). The cursor retains ownership of the returned pointer, so it must not be deleted or modified.
+.PP
+See also editBuffer() and del().
+.PP
+Example: sql/overview/delete/main.cpp.
+.SH "QSqlRecord * QSqlCursor::primeInsert ()\fC [virtual]\fR"
+This function primes the edit buffer's field values for insert and returns the edit buffer. The default implementation clears all field values in the edit buffer. The cursor retains ownership of the returned pointer, so it must not be deleted or modified.
+.PP
+See also editBuffer() and insert().
+.PP
+Examples:
+.)l sql/overview/insert/main.cpp, sql/overview/insert2/main.cpp, sql/overview/subclass5/main.cpp, and sql/sqltable/main.cpp.
+.SH "QSqlRecord * QSqlCursor::primeUpdate ()\fC [virtual]\fR"
+This function primes the edit buffer's field values for update and returns the edit buffer. The default implementation copies the field values from the current cursor record into the edit buffer (therefore, this function is equivalent to calling editBuffer( TRUE ) ). The cursor retains ownership of the returned pointer, so it must not be deleted or modified.
+.PP
+See also editBuffer() and update().
+.PP
+Examples:
+.)l sql/overview/custom1/main.cpp, sql/overview/form1/main.cpp, and sql/overview/update/main.cpp.
+.SH "void QSqlCursor::remove ( int pos )\fC [virtual]\fR"
+Removes the field at \fIpos\fR. If \fIpos\fR does not exist, nothing happens. Note that all references to the cursor edit buffer become invalidated.
+.PP
+Reimplemented from QSqlRecord.
+.SH "bool QSqlCursor::select ( const QString & filter, const QSqlIndex & sort = QSqlIndex ( ) )\fC [virtual]\fR"
+Selects all fields in the cursor from the database matching the filter criteria \fIfilter\fR. The data is returned in the order specified by the index \fIsort\fR. Returns TRUE if the data was successfully selected; otherwise returns FALSE.
+.PP
+The \fIfilter\fR is a string containing a SQL \fCWHERE\fR clause but without the 'WHERE' keyword. The cursor is initially positioned at an invalid row after this function is called. To move to a valid row, use seek(), first(), last(), prev() or next().
+.PP
+Example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" ); // Use the Employee table or view
+.br
+ cur.select( "deptno=10" ); // select all records in department 10
+.br
+ while( cur.next() ) {
+.br
+ ... // process data
+.br
+ }
+.br
+ ...
+.br
+ // select records in other departments, ordered by department number
+.br
+ cur.select( "deptno>10", cur.index( "deptno" ) );
+.br
+ ...
+.br
+.fi
+.PP
+The filter will apply to any subsequent select() calls that do not explicitly specify another filter. Similarly the sort will apply to any subsequent select() calls that do not explicitly specify another sort.
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" );
+.br
+ cur.select( "deptno=10" ); // select all records in department 10
+.br
+ while( cur.next() ) {
+.br
+ ... // process data
+.br
+ }
+.br
+ ...
+.br
+ cur.select(); // re-selects all records in department 10
+.br
+ ...
+.br
+.fi
+.PP
+Examples:
+.)l sql/overview/delete/main.cpp, sql/overview/extract/main.cpp, sql/overview/order1/main.cpp, sql/overview/order2/main.cpp, sql/overview/retrieve2/main.cpp, sql/overview/table3/main.cpp, and sql/overview/update/main.cpp.
+.SH "bool QSqlCursor::select ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Selects all fields in the cursor from the database. The rows are returned in the order specified by the last call to setSort() or the last call to select() that specified a sort, whichever is the most recent. If there is no current sort, the order in which the rows are returned is undefined. The records are filtered according to the filter specified by the last call to setFilter() or the last call to select() that specified a filter, whichever is the most recent. If there is no current filter, all records are returned. The cursor is initially positioned at an invalid row. To move to a valid row, use seek(), first(), last(), prev() or next().
+.PP
+See also setSort() and setFilter().
+.SH "bool QSqlCursor::select ( const QSqlIndex & sort )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Selects all fields in the cursor from the database. The data is returned in the order specified by the index \fIsort\fR. The records are filtered according to the filter specified by the last call to setFilter() or the last call to select() that specified a filter, whichever is the most recent. The cursor is initially positioned at an invalid row. To move to a valid row, use seek(), first(), last(), prev() or next().
+.SH "bool QSqlCursor::select ( const QSqlIndex & filter, const QSqlIndex & sort )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Selects all fields in the cursor matching the filter index \fIfilter\fR. The data is returned in the order specified by the index \fIsort\fR. The \fIfilter\fR index works by constructing a WHERE clause using the names of the fields from the \fIfilter\fR and their values from the current cursor record. The cursor is initially positioned at an invalid row. To move to a valid row, use seek(), first(), last(), prev() or next(). This function is useful, for example, for retrieving data based upon a table's primary index:
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" );
+.br
+ QSqlIndex pk = cur.primaryIndex();
+.br
+ cur.setValue( "id", 10 );
+.br
+ cur.select( pk, pk ); // generates "SELECT ... FROM Employee WHERE id=10 ORDER BY id"
+.br
+ ...
+.br
+.fi
+.PP
+In this example the QSqlIndex, pk, is used for two different purposes. When used as the filter (first) argument, the field names it contains are used to construct the WHERE clause, each set to the current cursor value, \fCWHERE id=10\fR, in this case. When used as the sort (second) argument the field names it contains are used for the ORDER BY clause, \fCORDER BY id\fR in this example.
+.SH "void QSqlCursor::setCalculated ( const QString & name, bool calculated )\fC [virtual]\fR"
+Sets field \fIname\fR to \fIcalculated\fR. If the field \fIname\fR does not exist, nothing happens. The value of a calculated field is set by the calculateField() virtual function which you must reimplement (or the field value will be an invalid QVariant). Calculated fields do not appear in generated SQL statements sent to the database.
+.PP
+See also calculateField() and QSqlRecord::setGenerated().
+.SH "void QSqlCursor::setFilter ( const QString & filter )\fC [virtual]\fR"
+Sets the current filter to \fIfilter\fR. Note that no new records are selected. To select new records, use select(). The \fIfilter\fR will apply to any subsequent select() calls that do not explicitly specify a filter.
+.PP
+The filter is a SQL \fCWHERE\fR clause without the keyword 'WHERE', e.g. \fCname='Dave'\fR which will be processed by the DBMS.
+.SH "void QSqlCursor::setGenerated ( const QString & name, bool generated )\fC [virtual]\fR"
+Sets the generated flag for the field \fIname\fR to \fIgenerated\fR. If the field does not exist, nothing happens. Only fields that have \fIgenerated\fR set to TRUE are included in the SQL that is generated by insert(), update() or del().
+.PP
+See also isGenerated().
+.PP
+Reimplemented from QSqlRecord.
+.SH "void QSqlCursor::setGenerated ( int i, bool generated )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the generated flag for the field \fIi\fR to \fIgenerated\fR.
+.PP
+See also isGenerated().
+.PP
+Reimplemented from QSqlRecord.
+.SH "void QSqlCursor::setMode ( int mode )\fC [virtual]\fR"
+Sets the cursor mode to \fImode\fR. This value can be an OR'ed combination of QSqlCursor::Mode values. The default mode for a cursor is QSqlCursor::Writable.
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" );
+.br
+ cur.setMode( QSqlCursor::Writable ); // allow insert/update/delete
+.br
+ ...
+.br
+ cur.setMode( QSqlCursor::Insert | QSqlCursor::Update ); // allow inserts and updates only
+.br
+ ...
+.br
+ cur.setMode( QSqlCursor::ReadOnly ); // no inserts/updates/deletes allowed
+.br
+.br
+.fi
+.SH "void QSqlCursor::setName ( const QString & name, bool autopopulate = TRUE )\fC [virtual]\fR"
+Sets the name of the cursor to \fIname\fR. If \fIautopopulate\fR is TRUE (the default), the \fIname\fR must correspond to a valid table or view name in the database. Also, note that all references to the cursor edit buffer become invalidated when fields are auto-populated. See the QSqlCursor constructor documentation for more information.
+.SH "void QSqlCursor::setPrimaryIndex ( const QSqlIndex & idx )\fC [virtual]\fR"
+Sets the primary index associated with the cursor to the index \fIidx\fR. Note that this index must contain a field or set of fields which identify a unique record within the underlying database table or view so that update() and del() will execute as expected.
+.PP
+See also update() and del().
+.SH "void QSqlCursor::setSort ( const QSqlIndex & sort )\fC [virtual]\fR"
+Sets the current sort to \fIsort\fR. Note that no new records are selected. To select new records, use select(). The \fIsort\fR will apply to any subsequent select() calls that do not explicitly specify a sort.
+.SH "void QSqlCursor::setTrimmed ( const QString & name, bool trim )\fC [virtual]\fR"
+Sets field \fIname\fR's trimmed status to \fItrim\fR. If the field \fIname\fR does not exist, nothing happens.
+.PP
+When a trimmed field of type string or cstring is read from the database any trailing (right-most) spaces are removed.
+.PP
+See also isTrimmed() and QVariant.
+.SH "QSqlIndex QSqlCursor::sort () const"
+Returns the current sort, or an empty index if there is no current sort.
+.SH "QString QSqlCursor::toString ( QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) const\fC [virtual protected]\fR"
+Returns a formatted string composed of all the fields in \fIrec\fR. Each field is composed of the \fIprefix\fR (e.g. table or view name),"
+.", the field name, the \fIfieldSep\fR and the field value. If the
+\fIprefix\fR is empty then each field will begin with the field name. The fields are then joined together separated by \fIsep\fR. Fields where isGenerated() returns FALSE are not included. This function is useful for generating SQL statements.
+.SH "QString QSqlCursor::toString ( const QString & prefix, QSqlField * field, const QString & fieldSep ) const\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a formatted string composed of the \fIprefix\fR (e.g. table or view name), ".", the \fIfield\fR name, the \fIfieldSep\fR and the field value. If the \fIprefix\fR is empty then the string will begin with the \fIfield\fR name. This function is useful for generating SQL statements.
+.SH "QString QSqlCursor::toString ( const QSqlIndex & i, QSqlRecord * rec, const QString & prefix, const QString & fieldSep, const QString & sep ) const\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a formatted string composed of all the fields in the index \fIi\fR. Each field is composed of the \fIprefix\fR (e.g. table or view name), ".", the field name, the \fIfieldSep\fR and the field value. If the \fIprefix\fR is empty then each field will begin with the field name. The field values are taken from \fIrec\fR. The fields are then joined together separated by \fIsep\fR. Fields where isGenerated() returns FALSE are ignored. This function is useful for generating SQL statements.
+.SH "int QSqlCursor::update ( bool invalidate = TRUE )\fC [virtual]\fR"
+Updates the database with the current contents of the edit buffer. Returns the number of records which were updated. For error information, use lastError().
+.PP
+Only records which meet the filter criteria specified by the cursor's primary index are updated. If the cursor does not contain a primary index, no update is performed and 0 is returned.
+.PP
+If \fIinvalidate\fR is TRUE (the default), the current cursor can no longer be navigated. A new select() call must be made before you can move to a valid record. For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "prices" );
+.br
+ cur.select( "id=202" );
+.br
+ if ( cur.next() ) {
+.br
+ QSqlRecord *buffer = cur.primeUpdate();
+.br
+ double price = buffer->value( "price" ).toDouble();
+.br
+ double newprice = price * 1.05;
+.br
+ buffer->setValue( "price", newprice );
+.br
+ cur.update();
+.br
+ }
+.fi
+.PP
+In the above example, a cursor is created on the 'prices' table and is positioned on the record to be updated. Then a pointer to the cursor's edit buffer is acquired using primeUpdate(). A new value is calculated and placed into the edit buffer with the setValue() call. Finally, an update() call is made on the cursor which uses the tables's primary index to update the record in the database with the contents of the cursor's edit buffer. Remember: all edit operations (insert(), update() and delete()) operate on the contents of the cursor edit buffer and not on the contents of the cursor itself.
+.PP
+Note that if the primary index does not uniquely distinguish records the database may be changed into an inconsistent state.
+.PP
+See also setMode() and lastError().
+.PP
+Example: sql/overview/update/main.cpp.
+.SH "int QSqlCursor::update ( const QString & filter, bool invalidate = TRUE )\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Updates the database with the current contents of the cursor edit buffer using the specified \fIfilter\fR. Returns the number of records which were updated. For error information, use lastError().
+.PP
+Only records which meet the filter criteria are updated, otherwise all records in the table are updated.
+.PP
+If \fIinvalidate\fR is TRUE (the default), the cursor can no longer be navigated. A new select() call must be made before you can move to a valid record.
+.PP
+See also primeUpdate(), setMode(), and lastError().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlcursor.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlcursor.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqldatabase.3qt b/doc/man/man3/qsqldatabase.3qt
new file mode 100644
index 0000000..2d640d2
--- /dev/null
+++ b/doc/man/man3/qsqldatabase.3qt
@@ -0,0 +1,666 @@
+'\" t
+.TH QSqlDatabase 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlDatabase \- Used to create SQL database connections and to provide transaction handling
+.SH SYNOPSIS
+\fC#include <qsqldatabase.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fB~QSqlDatabase\fR ()"
+.br
+.ti -1c
+.BI "bool \fBopen\fR ()"
+.br
+.ti -1c
+.BI "bool \fBopen\fR ( const QString & user, const QString & password )"
+.br
+.ti -1c
+.BI "void \fBclose\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOpenError\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBtables\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBtables\fR ( QSql::TableType type ) const"
+.br
+.ti -1c
+.BI "QSqlIndex \fBprimaryIndex\fR ( const QString & tablename ) const"
+.br
+.ti -1c
+.BI "QSqlRecord \fBrecord\fR ( const QString & tablename ) const"
+.br
+.ti -1c
+.BI "QSqlRecord \fBrecord\fR ( const QSqlQuery & query ) const"
+.br
+.ti -1c
+.BI "QSqlRecordInfo \fBrecordInfo\fR ( const QString & tablename ) const"
+.br
+.ti -1c
+.BI "QSqlRecordInfo \fBrecordInfo\fR ( const QSqlQuery & query ) const"
+.br
+.ti -1c
+.BI "QSqlQuery \fBexec\fR ( const QString & query = QString::null ) const"
+.br
+.ti -1c
+.BI "QSqlError \fBlastError\fR () const"
+.br
+.ti -1c
+.BI "bool \fBtransaction\fR ()"
+.br
+.ti -1c
+.BI "bool \fBcommit\fR ()"
+.br
+.ti -1c
+.BI "bool \fBrollback\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetDatabaseName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUserName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPassword\fR ( const QString & password )"
+.br
+.ti -1c
+.BI "virtual void \fBsetHostName\fR ( const QString & host )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPort\fR ( int p )"
+.br
+.ti -1c
+.BI "void \fBsetConnectOptions\fR ( const QString & options = QString::null )"
+.br
+.ti -1c
+.BI "QString \fBdatabaseName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBuserName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpassword\fR () const"
+.br
+.ti -1c
+.BI "QString \fBhostName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdriverName\fR () const"
+.br
+.ti -1c
+.BI "int \fBport\fR () const"
+.br
+.ti -1c
+.BI "QString \fBconnectOptions\fR () const"
+.br
+.ti -1c
+.BI "QSqlDriver * \fBdriver\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QSqlDatabase * \fBaddDatabase\fR ( const QString & type, const QString & connectionName = defaultConnection )"
+.br
+.ti -1c
+.BI "QSqlDatabase * \fBaddDatabase\fR ( QSqlDriver * driver, const QString & connectionName = defaultConnection )"
+.br
+.ti -1c
+.BI "QSqlDatabase * \fBdatabase\fR ( const QString & connectionName = defaultConnection, bool open = TRUE )"
+.br
+.ti -1c
+.BI "void \fBremoveDatabase\fR ( const QString & connectionName )"
+.br
+.ti -1c
+.BI "void \fBremoveDatabase\fR ( QSqlDatabase * db )"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QString & connectionName = defaultConnection )"
+.br
+.ti -1c
+.BI "QStringList \fBdrivers\fR ()"
+.br
+.ti -1c
+.BI "void \fBregisterSqlDriver\fR ( const QString & name, const QSqlDriverCreatorBase * creator )"
+.br
+.ti -1c
+.BI "bool \fBisDriverAvailable\fR ( const QString & name )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QString \fBconnectOptions\fR - the database connect options"
+.br
+.ti -1c
+.BI "QString \fBdatabaseName\fR - the name of the database"
+.br
+.ti -1c
+.BI "QString \fBhostName\fR - the host name where the database resides"
+.br
+.ti -1c
+.BI "QString \fBpassword\fR - the password used to connect to the database"
+.br
+.ti -1c
+.BI "int \fBport\fR - the port used to connect to the database"
+.br
+.ti -1c
+.BI "QString \fBuserName\fR - the user name connected to the database"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlDatabase\fR ( const QString & type, const QString & name, QObject * parent = 0, const char * objname = 0 )"
+.br
+.ti -1c
+.BI "\fBQSqlDatabase\fR ( QSqlDriver * driver, QObject * parent = 0, const char * objname = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlDatabase class is used to create SQL database connections and to provide transaction handling.
+.PP
+Note that transaction handling is not supported by every SQL database. You can find out whether transactions are supported using QSqlDriver::hasFeature().
+.PP
+The QSqlDatabase class provides an abstract interface for accessing many types of database backends. Database-specific drivers are used internally to actually access and manipulate data, (see QSqlDriver). Result set objects provide the interface for executing and manipulating SQL queries (see QSqlQuery).
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlDatabase::QSqlDatabase ( const QString & type, const QString & name, QObject * parent = 0, const char * objname = 0 )\fC [protected]\fR"
+Creates a QSqlDatabase connection called \fIname\fR that uses the driver referred to by \fItype\fR, with the parent \fIparent\fR and the object name \fIobjname\fR. If the \fItype\fR is not recognized, the database connection will have no functionality.
+.PP
+The currently available drivers are:
+.PP
+<center>.nf
+.TS
+l - l. Driver Type Description QODBC3 ODBC Driver (includes Microsoft SQL Server) QOCI8 Oracle Call Interface Driver QPSQL7 PostgreSQL v6.x and v7.x Driver QTDS7 Sybase Adaptive Server QMYSQL3 MySQL Driver QDB2 IBM DB2, v7.1 and higher QSQLITE SQLite Driver QIBASE
+.TE
+.fi
+</center>
+.PP
+Additional third party drivers, including your own custom drivers, can be loaded dynamically.
+.PP
+See also registerSqlDriver().
+.SH "QSqlDatabase::QSqlDatabase ( QSqlDriver * driver, QObject * parent = 0, const char * objname = 0 )\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Creates a database connection using the driver \fIdriver\fR, with the parent \fIparent\fR and the object name \fIobjname\fR.
+.PP
+\fBWarning:\fR The framework takes ownership of the \fIdriver\fR pointer, so it should not be deleted.
+.SH "QSqlDatabase::~QSqlDatabase ()"
+Destroys the object and frees any allocated resources.
+.SH "QSqlDatabase * QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = defaultConnection )\fC [static]\fR"
+Adds a database to the list of database connections using the driver \fItype\fR and the connection name \fIconnectionName\fR.
+.PP
+The database connection is referred to by \fIconnectionName\fR. The newly added database connection is returned. This pointer is owned by QSqlDatabase and will be deleted on program exit or when removeDatabase() is called.
+.PP
+If \fIconnectionName\fR is not specified, the newly added database connection becomes the default database connection for the application, and subsequent calls to database() (without a database name parameter) will return a pointer to it. If \fIconnectionName\fR is given, use database(connectionName) to retrieve a pointer to the database connection.
+.PP
+\fBWarning:\fR If you add a database with the same name as an existing database, the new database will replace the old one. This will happen automatically if you call this function more than once without specifying \fIconnectionName\fR.
+.PP
+See also database() and removeDatabase().
+.PP
+Examples:
+.)l sql/overview/connect1/main.cpp, sql/overview/connection.cpp, and sql/sqltable/main.cpp.
+.SH "QSqlDatabase * QSqlDatabase::addDatabase ( QSqlDriver * driver, const QString & connectionName = defaultConnection )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function is useful if you need to set up the database connection and instantiate the driver yourself. If you do this, it is recommended that you include the driver code in your own application. For example, setting up a custom PostgreSQL connection and instantiating the QPSQL7 driver can be done the following way:
+.PP
+.nf
+.br
+ #include "qtdir/src/sql/drivers/psql/qsql_psql.cpp"
+.br
+.fi
+(We assume that \fCqtdir\fR is the directory where Qt is installed.) This will pull in the code that is needed to use the PostgreSQL client library and to instantiate a QPSQLDriver object, assuming that you have the PostgreSQL headers somewhere in your include search path.
+.PP
+.nf
+.br
+ PGconn* con = PQconnectdb( "host=server user=bart password=simpson dbname=springfield" );
+.br
+ QPSQLDriver* drv = new QPSQLDriver( con );
+.br
+ QSqlDatabase* db = QSqlDatabase::addDatabase( drv ); // becomes the new default connection
+.br
+ QSqlQuery q;
+.br
+ q.exec( "SELECT * FROM people" );
+.br
+ ...
+.br
+.fi
+.PP
+The above code sets up a PostgreSQL connection and instantiates a QPSQLDriver object. Next, addDatabase() is called to add the connection to the known connections so that it can be used by the Qt SQL classes. When a driver is instantiated with a connection handle (or set of handles), Qt assumes that you have already opened the database connection.
+.PP
+Remember that you must link your application against the database client library as well. The simplest way to do this is to add lines like those below to your \fC.pro\fR file:
+.PP
+.nf
+.br
+ unix:LIBS += -lpq
+.br
+ win32:LIBS += libpqdll.lib
+.br
+.fi
+.PP
+You will need to have the client library in your linker's search path.
+.PP
+The method described above will work for all the drivers, the only difference is the arguments the driver constructors take. Below is an overview of the drivers and their constructor arguments.
+.PP
+<center>.nf
+.TS
+l - l. Driver Class name Constructor arguments File to include QPSQL7 QPSQLDriver PGconn* connection QMYSQL3 QMYSQLDriver MYSQL* connection QOCI8 QOCIDriver OCIEnv* environment, OCIError* error, OCISvcCtx* serviceContext QODBC3 QODBCDriver SQLHANDLE environment, SQLHANDLE connection QDB2 QDB2 SQLHANDLE environment, SQLHANDLE connection QTDS7 QTDSDriver LOGINREC* loginRecord, DBPROCESS* dbProcess, const QString& hostName QSQLITE QSQLiteDriver sqlite* connection QIBASE QIBaseDriver isc_db_handle connection
+.TE
+.fi
+</center>
+.PP
+Note: The host name (or service name) is needed when constructing the QTDSDriver for creating new connections for internal queries. This is to prevent the simultaneous usage of several QSqlQuery/QSqlCursor objects from blocking each other.
+.PP
+\fBWarning:\fR The SQL framework takes ownership of the \fIdriver\fR pointer, and it should not be deleted. The returned QSqlDatabase object is owned by the framework and must not be deleted. If you want to explicitly remove the connection, use removeDatabase()
+.PP
+See also drivers().
+.SH "void QSqlDatabase::close ()"
+Closes the database connection, freeing any resources acquired.
+.PP
+See also removeDatabase().
+.SH "bool QSqlDatabase::commit ()"
+Commits a transaction to the database if the driver supports transactions. Returns TRUE if the operation succeeded; otherwise returns FALSE.
+.PP
+See also QSqlDriver::hasFeature() and rollback().
+.SH "QString QSqlDatabase::connectOptions () const"
+Returns the database connect options. See the "connectOptions" property for details.
+.SH "bool QSqlDatabase::contains ( const QString & connectionName = defaultConnection )\fC [static]\fR"
+Returns TRUE if the list of database connections contains \fIconnectionName\fR; otherwise returns FALSE.
+.SH "QSqlDatabase * QSqlDatabase::database ( const QString & connectionName = defaultConnection, bool open = TRUE )\fC [static]\fR"
+Returns the database connection called \fIconnectionName\fR. The database connection must have been previously added with addDatabase(). If \fIopen\fR is TRUE (the default) and the database connection is not already open it is opened now. If no \fIconnectionName\fR is specified the default connection is used. If \fIconnectionName\fR does not exist in the list of databases, 0 is returned. The pointer returned is owned by QSqlDatabase and should \fInot\fR be deleted.
+.PP
+\fBWarning:\fR There are restrictions on the use of database connections in threaded applications. Please see the Thread Support in Qt document for more information about threading and SQL databases.
+.PP
+Examples:
+.)l sql/overview/basicbrowsing/main.cpp and sql/overview/create_connections/main.cpp.
+.SH "QString QSqlDatabase::databaseName () const"
+Returns the name of the database. See the "databaseName" property for details.
+.SH "QSqlDriver * QSqlDatabase::driver () const"
+Returns the database driver used to access the database connection.
+.SH "QString QSqlDatabase::driverName () const"
+Returns the name of the driver used by the database connection.
+.SH "QStringList QSqlDatabase::drivers ()\fC [static]\fR"
+Returns a list of all the available database drivers.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = QSqlDatabase::drivers();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "QSqlQuery QSqlDatabase::exec ( const QString & query = QString::null ) const"
+Executes a SQL statement (e.g. an \fCINSERT\fR, \fCUPDATE\fR or \fCDELETE\fR statement) on the database, and returns a QSqlQuery object. Use lastError() to retrieve error information. If \fIquery\fR is QString::null, an empty, invalid query is returned and lastError() is not affected.
+.PP
+See also QSqlQuery and lastError().
+.SH "QString QSqlDatabase::hostName () const"
+Returns the host name where the database resides. See the "hostName" property for details.
+.SH "bool QSqlDatabase::isDriverAvailable ( const QString & name )\fC [static]\fR"
+Returns TRUE if a driver called \fIname\fR is available; otherwise returns FALSE.
+.PP
+See also drivers().
+.SH "bool QSqlDatabase::isOpen () const"
+Returns TRUE if the database connection is currently open; otherwise returns FALSE.
+.SH "bool QSqlDatabase::isOpenError () const"
+Returns TRUE if there was an error opening the database connection; otherwise returns FALSE. Error information can be retrieved using the lastError() function.
+.SH "QSqlError QSqlDatabase::lastError () const"
+Returns information about the last error that occurred on the database. See QSqlError for more information.
+.PP
+Examples:
+.)l sql/overview/connection.cpp and sql/sqltable/main.cpp.
+.SH "bool QSqlDatabase::open ()"
+Opens the database connection using the current connection values. Returns TRUE on success; otherwise returns FALSE. Error information can be retrieved using the lastError() function.
+.PP
+See also lastError().
+.PP
+Examples:
+.)l sql/overview/connect1/main.cpp, sql/overview/connection.cpp, and sql/sqltable/main.cpp.
+.SH "bool QSqlDatabase::open ( const QString & user, const QString & password )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Opens the database connection using the given \fIuser\fR name and \fIpassword\fR. Returns TRUE on success; otherwise returns FALSE. Error information can be retrieved using the lastError() function.
+.PP
+This function does not store the password it is given. Instead, the password is passed directly to the driver for opening a connection and is then discarded.
+.PP
+See also lastError().
+.SH "QString QSqlDatabase::password () const"
+Returns the password used to connect to the database. See the "password" property for details.
+.SH "int QSqlDatabase::port () const"
+Returns the port used to connect to the database. See the "port" property for details.
+.SH "QSqlIndex QSqlDatabase::primaryIndex ( const QString & tablename ) const"
+Returns the primary index for table \fItablename\fR. If no primary index exists an empty QSqlIndex will be returned.
+.SH "QSqlRecord QSqlDatabase::record ( const QString & tablename ) const"
+Returns a QSqlRecord populated with the names of all the fields in the table (or view) called \fItablename\fR. The order in which the fields appear in the record is undefined. If no such table (or view) exists, an empty record is returned.
+.PP
+See also recordInfo().
+.SH "QSqlRecord QSqlDatabase::record ( const QSqlQuery & query ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a QSqlRecord populated with the names of all the fields used in the SQL \fIquery\fR. If the query is a "SELECT *" the order in which fields appear in the record is undefined.
+.PP
+See also recordInfo().
+.SH "QSqlRecordInfo QSqlDatabase::recordInfo ( const QString & tablename ) const"
+Returns a QSqlRecordInfo populated with meta data about the table or view \fItablename\fR. If no such table (or view) exists, an empty record is returned.
+.PP
+See also QSqlRecordInfo, QSqlFieldInfo, and record().
+.SH "QSqlRecordInfo QSqlDatabase::recordInfo ( const QSqlQuery & query ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a QSqlRecordInfo object with meta data for the QSqlQuery \fIquery\fR. Note that this overloaded function may return less information than the recordInfo() function which takes the name of a table as parameter.
+.PP
+See also QSqlRecordInfo, QSqlFieldInfo, and record().
+.SH "void QSqlDatabase::registerSqlDriver ( const QString & name, const QSqlDriverCreatorBase * creator )\fC [static]\fR"
+This function registers a new SQL driver called \fIname\fR, within the SQL framework. This is useful if you have a custom SQL driver and don't want to compile it as a plugin.
+.PP
+Example usage:
+.PP
+.nf
+.br
+ QSqlDatabase::registerSqlDriver( "MYDRIVER", new QSqlDriverCreator<MyDatabaseDriver> );
+.br
+ QSqlDatabase* db = QSqlDatabase::addDatabase( "MYDRIVER" );
+.br
+ ...
+.br
+.fi
+.PP
+\fBWarning:\fR The framework takes ownership of the \fIcreator\fR pointer, so it should not be deleted.
+.SH "void QSqlDatabase::removeDatabase ( const QString & connectionName )\fC [static]\fR"
+Removes the database connection \fIconnectionName\fR from the list of database connections.
+.PP
+\fBWarning:\fR There should be no open queries on the database connection when this function is called, otherwise a resource leak will occur.
+.SH "void QSqlDatabase::removeDatabase ( QSqlDatabase * db )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes the database connection \fIdb\fR from the list of database connections. The QSqlDatabase object is destroyed when it is removed from the list.
+.PP
+\fBWarning:\fR The \fIdb\fR pointer is not valid after this function has been called. There should be no open queries on the database connection when this function is called, otherwise a resource leak will occur.
+.SH "bool QSqlDatabase::rollback ()"
+Rolls a transaction back on the database if the driver supports transactions. Returns TRUE if the operation succeeded; otherwise returns FALSE.
+.PP
+See also QSqlDriver::hasFeature(), commit(), and transaction().
+.SH "void QSqlDatabase::setConnectOptions ( const QString & options = QString::null )"
+Sets the database connect options to \fIoptions\fR. See the "connectOptions" property for details.
+.SH "void QSqlDatabase::setDatabaseName ( const QString & name )\fC [virtual]\fR"
+Sets the name of the database to \fIname\fR. See the "databaseName" property for details.
+.SH "void QSqlDatabase::setHostName ( const QString & host )\fC [virtual]\fR"
+Sets the host name where the database resides to \fIhost\fR. See the "hostName" property for details.
+.SH "void QSqlDatabase::setPassword ( const QString & password )\fC [virtual]\fR"
+Sets the password used to connect to the database to \fIpassword\fR. See the "password" property for details.
+.SH "void QSqlDatabase::setPort ( int p )\fC [virtual]\fR"
+Sets the port used to connect to the database to \fIp\fR. See the "port" property for details.
+.SH "void QSqlDatabase::setUserName ( const QString & name )\fC [virtual]\fR"
+Sets the user name connected to the database to \fIname\fR. See the "userName" property for details.
+.SH "QStringList QSqlDatabase::tables ( QSql::TableType type ) const"
+Returns a list of the database's tables, system tables and views, as specified by the parameter \fItype\fR.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDatabase.tables( QSql::Tables | QSql::Views );
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+Example: sql/sqltable/main.cpp.
+.SH "QStringList QSqlDatabase::tables () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of the database's tables that are visible to the user. To include views or system tables, use the version of this function that takes a table \fCtype\fR parameter.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myDatabase.tables();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "bool QSqlDatabase::transaction ()"
+Begins a transaction on the database if the driver supports transactions. Returns TRUE if the operation succeeded; otherwise returns FALSE.
+.PP
+See also QSqlDriver::hasFeature(), commit(), and rollback().
+.SH "QString QSqlDatabase::userName () const"
+Returns the user name connected to the database. See the "userName" property for details.
+.SS "Property Documentation"
+.SH "QString connectOptions"
+This property holds the database connect options.
+.PP
+The format of the options string is a semi-colon separated list of option names or option = value pairs. The options depend on the database client used:
+.PP
+<center>.nf
+.TS
+l - l. ODBC MySQL PostgreSQL
+.TP
+SQL_ATTR_ACCESS_MODE
+.TP
+SQL_ATTR_LOGIN_TIMEOUT
+.TP
+SQL_ATTR_CONNECTION_TIMEOUT
+.TP
+SQL_ATTR_CURRENT_CATALOG
+.TP
+SQL_ATTR_METADATA_ID
+.TP
+SQL_ATTR_PACKET_SIZE
+.TP
+SQL_ATTR_TRACEFILE
+.TP
+SQL_ATTR_TRACE
+.PP .TP
+CLIENT_COMPRESS
+.TP
+CLIENT_FOUND_ROWS
+.TP
+CLIENT_IGNORE_SPACE
+.TP
+CLIENT_SSL
+.TP
+CLIENT_ODBC
+.TP
+CLIENT_NO_SCHEMA
+.TP
+CLIENT_INTERACTIVE
+.PP .TP
+connect_timeout
+.TP
+options
+.TP
+tty
+.TP
+requiressl
+.TP
+service DB2 OCI TDS
+.TP
+SQL_ATTR_ACCESS_MODE
+.TP
+SQL_ATTR_LOGIN_TIMEOUT
+.PP \fInone\fR
+.PP
+.TE
+.fi
+</center>
+.PP
+Example of usage:
+.PP
+.nf
+.br
+ ...
+.br
+ // MySQL connection
+.br
+ db->setConnectOptions( "CLIENT_SSL;CLIENT_IGNORE_SPACE" ); // use an SSL connection to the server
+.br
+ if ( !db->open() ) {
+.br
+ db->setConnectOptions(); // clears the connect option string
+.br
+ ...
+.br
+ }
+.br
+ ...
+.br
+ // PostgreSQL connection
+.br
+ db->setConnectOptions( "requiressl=1" ); // enable PostgreSQL SSL connections
+.br
+ if ( !db->open() ) {
+.br
+ db->setConnectOptions(); // clear options
+.br
+ ...
+.br
+ }
+.br
+ ...
+.br
+ // ODBC connection
+.br
+ db->setConnectOptions( "SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON" ); // set ODBC options
+.br
+ if ( !db->open() ) {
+.br
+ db->setConnectOptions(); // don't try to set this option
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+Please refer to the client library documentation for more information about the different options. The options will be set prior to opening the database connection. Setting new options without re-opening the connection does nothing.
+.PP
+See also
+.PP
+Set this property's value with setConnectOptions() and get this property's value with connectOptions().
+.SH "QString databaseName"
+This property holds the name of the database.
+.PP
+Note that the database name is the TNS Service Name for the QOCI8 (Oracle) driver.
+.PP
+For the QODBC3 driver it can either be a DSN, a DSN filename (the file must have a \fC.dsn\fR extension), or a connection string. MS Access users can for example use the following connection string to open a \fC.mdb\fR file directly, instead of having to create a DSN entry in the ODBC manager:
+.PP
+.nf
+.br
+ ...
+.br
+ db = QSqlDatabase::addDatabase( "QODBC3" );
+.br
+ db->setDatabaseName( "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb" );
+.br
+ if ( db->open() ) {
+.br
+ // success!
+.br
+ }
+.br
+ ...
+.br
+.fi
+("FIL" is the required spelling in Microsoft's API.)
+.PP
+There is no default value.
+.PP
+Set this property's value with setDatabaseName() and get this property's value with databaseName().
+.SH "QString hostName"
+This property holds the host name where the database resides.
+.PP
+There is no default value.
+.PP
+Set this property's value with setHostName() and get this property's value with hostName().
+.SH "QString password"
+This property holds the password used to connect to the database.
+.PP
+There is no default value.
+.PP
+\fBWarning:\fR This function stores the password in plain text within Qt. Use the open() call that takes a password as parameter to avoid this behaviour.
+.PP
+See also open().
+.PP
+Set this property's value with setPassword() and get this property's value with password().
+.SH "int port"
+This property holds the port used to connect to the database.
+.PP
+There is no default value.
+.PP
+Set this property's value with setPort() and get this property's value with port().
+.SH "QString userName"
+This property holds the user name connected to the database.
+.PP
+There is no default value.
+.PP
+Set this property's value with setUserName() and get this property's value with userName().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqldatabase.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqldatabase.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqldriver.3qt b/doc/man/man3/qsqldriver.3qt
new file mode 100644
index 0000000..cce0407
--- /dev/null
+++ b/doc/man/man3/qsqldriver.3qt
@@ -0,0 +1,253 @@
+'\" t
+.TH QSqlDriver 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlDriver \- Abstract base class for accessing SQL databases
+.SH SYNOPSIS
+\fC#include <qsqldriver.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBDriverFeature\fR { Transactions, QuerySize, BLOB, Unicode, PreparedQueries, NamedPlaceholders, PositionalPlaceholders }"
+.br
+.ti -1c
+.BI "\fBQSqlDriver\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSqlDriver\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisOpen\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOpenError\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBbeginTransaction\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBcommitTransaction\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBrollbackTransaction\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBtables\fR ( const QString & tableType ) const"
+.br
+.ti -1c
+.BI "virtual QSqlIndex \fBprimaryIndex\fR ( const QString & tableName ) const"
+.br
+.ti -1c
+.BI "virtual QSqlRecord \fBrecord\fR ( const QString & tableName ) const"
+.br
+.ti -1c
+.BI "virtual QSqlRecord \fBrecord\fR ( const QSqlQuery & query ) const"
+.br
+.ti -1c
+.BI "virtual QSqlRecordInfo \fBrecordInfo\fR ( const QString & tablename ) const"
+.br
+.ti -1c
+.BI "virtual QSqlRecordInfo \fBrecordInfo\fR ( const QSqlQuery & query ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBnullText\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBformatValue\fR ( const QSqlField * field, bool trimStrings = FALSE ) const"
+.br
+.ti -1c
+.BI "QSqlError \fBlastError\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBhasFeature\fR ( DriverFeature f ) const = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBopen\fR ( const QString & db, const QString & user = QString::null, const QString & password = QString::null, const QString & host = QString::null, int port = -1 ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBclose\fR () = 0"
+.br
+.ti -1c
+.BI "virtual QSqlQuery \fBcreateQuery\fR () const = 0"
+.br
+.ti -1c
+.BI "bool \fBopen\fR ( const QString & db, const QString & user, const QString & password, const QString & host, int port, const QString & connOpts )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetOpen\fR ( bool o )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOpenError\fR ( bool e )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLastError\fR ( const QSqlError & e )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlDriver class is an abstract base class for accessing SQL databases.
+.PP
+This class should not be used directly. Use QSqlDatabase instead.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QSqlDriver::DriverFeature"
+This enum contains a list of features a driver may support. Use hasFeature() to query whether a feature is supported or not.
+.TP
+\fCQSqlDriver::Transactions\fR - whether the driver supports SQL transactions
+.TP
+\fCQSqlDriver::QuerySize\fR - whether the database is capable of reporting the size of a query. Note that some databases do not support returning the size (i.e. number of rows returned) of a query, in which case QSqlQuery::size() will return -1
+.TP
+\fCQSqlDriver::BLOB\fR - whether the driver supports Binary Large Object fields
+.TP
+\fCQSqlDriver::Unicode\fR - whether the driver supports Unicode strings if the database server does
+.TP
+\fCQSqlDriver::PreparedQueries\fR - whether the driver supports prepared query execution
+.TP
+\fCQSqlDriver::NamedPlaceholders\fR - whether the driver supports usage of named placeholders
+.TP
+\fCQSqlDriver::PositionalPlaceholders\fR - whether the driver supports usage of positional placeholders
+.PP
+More information about supported features can be found in the Qt SQL driver documentation.
+.PP
+See also hasFeature().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlDriver::QSqlDriver ( QObject * parent = 0, const char * name = 0 )"
+Default constructor. Creates a new driver with parent \fIparent\fR, called \fIname\fR.
+.SH "QSqlDriver::~QSqlDriver ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QSqlDriver::beginTransaction ()\fC [virtual]\fR"
+Protected function which derived classes can reimplement to begin a transaction. If successful, return TRUE, otherwise return FALSE. The default implementation returns FALSE.
+.PP
+See also commitTransaction() and rollbackTransaction().
+.SH "void QSqlDriver::close ()\fC [pure virtual]\fR"
+Derived classes must reimplement this abstract virtual function in order to close the database connection. Return TRUE on success, FALSE on failure.
+.PP
+See also setOpen().
+.SH "bool QSqlDriver::commitTransaction ()\fC [virtual]\fR"
+Protected function which derived classes can reimplement to commit a transaction. If successful, return TRUE, otherwise return FALSE. The default implementation returns FALSE.
+.PP
+See also beginTransaction() and rollbackTransaction().
+.SH "QSqlQuery QSqlDriver::createQuery () const\fC [pure virtual]\fR"
+Creates an empty SQL result on the database. Derived classes must reimplement this function and return a QSqlQuery object appropriate for their database to the caller.
+.SH "QString QSqlDriver::formatValue ( const QSqlField * field, bool trimStrings = FALSE ) const\fC [virtual]\fR"
+Returns a string representation of the \fIfield\fR value for the database. This is used, for example, when constructing INSERT and UPDATE statements.
+.PP
+The default implementation returns the value formatted as a string according to the following rules:
+.IP
+.TP
+If \fIfield\fR is NULL, nullText() is returned.
+.IP
+.TP
+If \fIfield\fR is character data, the value is returned enclosed in single quotation marks, which is appropriate for many SQL databases. Any embedded single-quote characters are escaped (replaced with two single-quote characters). If \fItrimStrings\fR is TRUE (the default is FALSE), all trailing whitespace is trimmed from the field.
+.IP
+.TP
+If \fIfield\fR is date/time data, the value is formatted in ISO format and enclosed in single quotation marks. If the date/time data is invalid, nullText() is returned.
+.IP
+.TP
+If \fIfield\fR is bytearray data, and the driver can edit binary fields, the value is formatted as a hexadecimal string.
+.IP
+.TP
+For any other field type toString() will be called on its value and the result returned.
+.IP
+.PP
+See also QVariant::toString().
+.SH "bool QSqlDriver::hasFeature ( DriverFeature f ) const\fC [pure virtual]\fR"
+Returns TRUE if the driver supports feature \fIf\fR; otherwise returns FALSE.
+.PP
+Note that some databases need to be open() before this can be determined.
+.PP
+See also DriverFeature.
+.SH "bool QSqlDriver::isOpen () const"
+Returns TRUE if the database connection is open; otherwise returns FALSE.
+.SH "bool QSqlDriver::isOpenError () const"
+Returns TRUE if the there was an error opening the database connection; otherwise returns FALSE.
+.SH "QSqlError QSqlDriver::lastError () const"
+Returns a QSqlError object which contains information about the last error that occurred on the database.
+.SH "QString QSqlDriver::nullText () const\fC [virtual]\fR"
+Returns a string representation of the NULL value for the database. This is used, for example, when constructing INSERT and UPDATE statements. The default implementation returns the string" NULL".
+.SH "bool QSqlDriver::open ( const QString & db, const QString & user = QString::null, const QString & password = QString::null, const QString & host = QString::null, int port = -1 )\fC [pure virtual]\fR"
+Derived classes must reimplement this abstract virtual function in order to open a database connection on database \fIdb\fR, using user name \fIuser\fR, password \fIpassword\fR, host \fIhost\fR and port \fIport\fR.
+.PP
+The function \fImust\fR return TRUE on success and FALSE on failure.
+.PP
+See also setOpen().
+.SH "bool QSqlDriver::open ( const QString & db, const QString & user, const QString & password, const QString & host, int port, const QString & connOpts )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Open a database connection on database \fIdb\fR, using user name \fIuser\fR, password \fIpassword\fR, host \fIhost\fR, port \fIport\fR and connection options \fIconnOpts\fR.
+.PP
+Returns TRUE on success and FALSE on failure.
+.PP
+See also setOpen().
+.SH "QSqlIndex QSqlDriver::primaryIndex ( const QString & tableName ) const\fC [virtual]\fR"
+Returns the primary index for table \fItableName\fR. Returns an empty QSqlIndex if the table doesn't have a primary index. The default implementation returns an empty index.
+.SH "QSqlRecord QSqlDriver::record ( const QString & tableName ) const\fC [virtual]\fR"
+Returns a QSqlRecord populated with the names of the fields in table \fItableName\fR. If no such table exists, an empty record is returned. The default implementation returns an empty record.
+.SH "QSqlRecord QSqlDriver::record ( const QSqlQuery & query ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a QSqlRecord populated with the names of the fields in the SQL \fIquery\fR. The default implementation returns an empty record.
+.SH "QSqlRecordInfo QSqlDriver::recordInfo ( const QString & tablename ) const\fC [virtual]\fR"
+Returns a QSqlRecordInfo object with meta data about the table \fItablename\fR.
+.SH "QSqlRecordInfo QSqlDriver::recordInfo ( const QSqlQuery & query ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a QSqlRecordInfo object with meta data for the QSqlQuery \fIquery\fR. Note that this overloaded function may return less information than the recordInfo() function which takes the name of a table as parameter.
+.SH "bool QSqlDriver::rollbackTransaction ()\fC [virtual]\fR"
+Protected function which derived classes can reimplement to rollback a transaction. If successful, return TRUE, otherwise return FALSE. The default implementation returns FALSE.
+.PP
+See also beginTransaction() and commitTransaction().
+.SH "void QSqlDriver::setLastError ( const QSqlError & e )\fC [virtual protected]\fR"
+Protected function which allows derived classes to set the value of the last error, \fIe\fR, that occurred on the database.
+.PP
+See also lastError().
+.SH "void QSqlDriver::setOpen ( bool o )\fC [virtual protected]\fR"
+Protected function which sets the open state of the database to \fIo\fR. Derived classes can use this function to report the status of open().
+.PP
+See also open() and setOpenError().
+.SH "void QSqlDriver::setOpenError ( bool e )\fC [virtual protected]\fR"
+Protected function which sets the open error state of the database to \fIe\fR. Derived classes can use this function to report the status of open(). Note that if \fIe\fR is TRUE the open state of the database is set to closed (i.e. isOpen() returns FALSE).
+.PP
+See also open().
+.SH "QStringList QSqlDriver::tables ( const QString & tableType ) const\fC [virtual]\fR"
+Returns a list of tables in the database. The default implementation returns an empty list.
+.PP
+The \fItableType\fR argument describes what types of tables should be returned. Due to binary compatibility, the string contains the value of the enum QSql::TableTypes as text. An empty string should be treated as QSql::Tables for downward compatibility.
+.PP
+See also QSql::TableType.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqldriver.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqldriver.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqldriverplugin.3qt b/doc/man/man3/qsqldriverplugin.3qt
new file mode 100644
index 0000000..b8211b1
--- /dev/null
+++ b/doc/man/man3/qsqldriverplugin.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QSqlDriverPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlDriverPlugin \- Abstract base for custom QSqlDriver plugins
+.SH SYNOPSIS
+\fC#include <qsqldriverplugin.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QSqlDriverPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QSqlDriver * \fBcreate\fR ( const QString & key ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlDriverPlugin class provides an abstract base for custom QSqlDriver plugins.
+.PP
+The SQL driver plugin is a simple plugin interface that makes it easy to create your own SQL driver plugins that can be loaded dynamically by Qt.
+.PP
+Writing a SQL plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and create(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the SQL plugins that come with Qt for example implementations (in the \fCplugins/src/sqldrivers\fR subdirectory of the source distribution). Read the plugins documentation for more information on plugins.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlDriverPlugin::QSqlDriverPlugin ()"
+Constructs a SQL driver plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QSqlDriverPlugin::~QSqlDriverPlugin ()"
+Destroys the SQL driver plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QSqlDriver * QSqlDriverPlugin::create ( const QString & key )\fC [pure virtual]\fR"
+Creates and returns a QSqlDriver object for the driver key \fIkey\fR. The driver key is usually the class name of the required driver.
+.PP
+See also keys().
+.SH "QStringList QSqlDriverPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of drivers (keys) this plugin supports.
+.PP
+These keys are usually the class names of the custom drivers that are implemented in the plugin.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqldriverplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqldriverplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqleditorfactory.3qt b/doc/man/man3/qsqleditorfactory.3qt
new file mode 100644
index 0000000..be84f97
--- /dev/null
+++ b/doc/man/man3/qsqleditorfactory.3qt
@@ -0,0 +1,93 @@
+'\" t
+.TH QSqlEditorFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlEditorFactory \- Used to create the editors used by QDataTable and QSqlForm
+.SH SYNOPSIS
+\fC#include <qsqleditorfactory.h>\fR
+.PP
+Inherits QEditorFactory.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlEditorFactory\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSqlEditorFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateEditor\fR ( QWidget * parent, const QVariant & variant )"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateEditor\fR ( QWidget * parent, const QSqlField * field )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QSqlEditorFactory * \fBdefaultFactory\fR ()"
+.br
+.ti -1c
+.BI "void \fBinstallDefaultFactory\fR ( QSqlEditorFactory * factory )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlEditorFactory class is used to create the editors used by QDataTable and QSqlForm.
+.PP
+QSqlEditorFactory is used by QDataTable and QSqlForm to automatically create appropriate editors for a given QSqlField. For example if the field is a QVariant::String a QLineEdit would be the default editor, whereas a QVariant::Int's default editor would be a QSpinBox.
+.PP
+If you want to create different editors for fields with the same data type, subclass QSqlEditorFactory and reimplement the createEditor() function.
+.PP
+See also QDataTable, QSqlForm, and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlEditorFactory::QSqlEditorFactory ( QObject * parent = 0, const char * name = 0 )"
+Constructs a SQL editor factory with parent \fIparent\fR, called \fIname\fR.
+.SH "QSqlEditorFactory::~QSqlEditorFactory ()"
+Destroys the object and frees any allocated resources.
+.SH "QWidget * QSqlEditorFactory::createEditor ( QWidget * parent, const QVariant & variant )\fC [virtual]\fR"
+Creates and returns the appropriate editor widget for the QVariant \fIvariant\fR.
+.PP
+The widget that is returned has the parent \fIparent\fR (which may be zero). If \fIvariant\fR is invalid, 0 is returned.
+.PP
+Reimplemented from QEditorFactory.
+.SH "QWidget * QSqlEditorFactory::createEditor ( QWidget * parent, const QSqlField * field )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Creates and returns the appropriate editor for the QSqlField \fIfield\fR.
+.SH "QSqlEditorFactory * QSqlEditorFactory::defaultFactory ()\fC [static]\fR"
+Returns an instance of a default editor factory.
+.SH "void QSqlEditorFactory::installDefaultFactory ( QSqlEditorFactory * factory )\fC [static]\fR"
+Replaces the default editor factory with \fIfactory\fR. All
+QDataTable and QSqlForm instantiations will use this new factory
+for creating field editors. \fIQSqlEditorFactory takes ownership of &#92;a factory, and destroys it when it is no longer needed.\fR
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqleditorfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqleditorfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlerror.3qt b/doc/man/man3/qsqlerror.3qt
new file mode 100644
index 0000000..a44b502
--- /dev/null
+++ b/doc/man/man3/qsqlerror.3qt
@@ -0,0 +1,142 @@
+'\" t
+.TH QSqlError 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlError \- SQL database error information
+.SH SYNOPSIS
+\fC#include <qsqlerror.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { None, Connection, Statement, Transaction, Unknown }"
+.br
+.ti -1c
+.BI "\fBQSqlError\fR ( const QString & driverText = QString::null, const QString & databaseText = QString::null, int type = QSqlError::None, int number = -1 )"
+.br
+.ti -1c
+.BI "\fBQSqlError\fR ( const QSqlError & other )"
+.br
+.ti -1c
+.BI "QSqlError & \fBoperator=\fR ( const QSqlError & other )"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlError\fR ()"
+.br
+.ti -1c
+.BI "QString \fBdriverText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDriverText\fR ( const QString & driverText )"
+.br
+.ti -1c
+.BI "QString \fBdatabaseText\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDatabaseText\fR ( const QString & databaseText )"
+.br
+.ti -1c
+.BI "int \fBtype\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetType\fR ( int type )"
+.br
+.ti -1c
+.BI "int \fBnumber\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumber\fR ( int number )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "void showMessage ( const QString & msg = QString::null ) const \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlError class provides SQL database error information.
+.PP
+This class is used to report database-specific errors. An error description and (if appropriate) a database-specific error number can be obtained using this class.
+.PP
+See also Database Classes.
+.SS "Member Type Documentation"
+.SH "QSqlError::Type"
+This enum type describes the type of SQL error that occurred.
+.TP
+\fCQSqlError::None\fR - no error occurred
+.TP
+\fCQSqlError::Connection\fR - connection error
+.TP
+\fCQSqlError::Statement\fR - SQL statement syntax error
+.TP
+\fCQSqlError::Transaction\fR - transaction failed error
+.TP
+\fCQSqlError::Unknown\fR - unknown error
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlError::QSqlError ( const QString & driverText = QString::null, const QString & databaseText = QString::null, int type = QSqlError::None, int number = -1 )"
+Constructs an error containing the driver error text \fIdriverText\fR, the database-specific error text \fIdatabaseText\fR, the type \fItype\fR and the optional error number \fInumber\fR.
+.SH "QSqlError::QSqlError ( const QSqlError & other )"
+Creates a copy of \fIother\fR.
+.SH "QSqlError::~QSqlError ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "QString QSqlError::databaseText () const"
+Returns the text of the error as reported by the database. This may contain database-specific descriptions.
+.SH "QString QSqlError::driverText () const"
+Returns the text of the error as reported by the driver. This may contain database-specific descriptions.
+.SH "int QSqlError::number () const"
+Returns the database-specific error number, or -1 if it cannot be determined.
+.SH "QSqlError & QSqlError::operator= ( const QSqlError & other )"
+Sets the error equal to \fIother\fR.
+.SH "void QSqlError::setDatabaseText ( const QString & databaseText )\fC [virtual]\fR"
+Sets the database error text to the value of \fIdatabaseText\fR.
+.SH "void QSqlError::setDriverText ( const QString & driverText )\fC [virtual]\fR"
+Sets the driver error text to the value of \fIdriverText\fR.
+.SH "void QSqlError::setNumber ( int number )\fC [virtual]\fR"
+Sets the database-specific error number to \fInumber\fR.
+.SH "void QSqlError::setType ( int type )\fC [virtual]\fR"
+Sets the error type to the value of \fItype\fR.
+.SH "void QSqlError::showMessage ( const QString & msg = QString::null ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is a convenience function that pops up a QMessageBox containing the message returned by text(). An additional string can be passed in via the \fImsg\fR parameter, which will be concatenated with the text() message.
+.PP
+See also text(), driverText(), and databaseText().
+.SH "QString QSqlError::text () const"
+This is a convenience function that returns databaseText() and driverText() concatenated into a single string.
+.PP
+See also showMessage(), driverText(), and databaseText().
+.SH "int QSqlError::type () const"
+Returns the error type, or -1 if the type cannot be determined.
+.PP
+See also QSqlError::Type.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlerror.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlerror.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlfield.3qt b/doc/man/man3/qsqlfield.3qt
new file mode 100644
index 0000000..731ec59
--- /dev/null
+++ b/doc/man/man3/qsqlfield.3qt
@@ -0,0 +1,199 @@
+'\" t
+.TH QSqlField 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlField \- Manipulates the fields in SQL database tables and views
+.SH SYNOPSIS
+\fC#include <qsqlfield.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlField\fR ( const QString & fieldName = QString::null, QVariant::Type type = QVariant::Invalid )"
+.br
+.ti -1c
+.BI "\fBQSqlField\fR ( const QSqlField & other )"
+.br
+.ti -1c
+.BI "QSqlField & \fBoperator=\fR ( const QSqlField & other )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QSqlField & other ) const"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlField\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( const QVariant & value )"
+.br
+.ti -1c
+.BI "virtual QVariant \fBvalue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetNull\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadOnly\fR ( bool readOnly )"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "void \fBclear\fR ( bool nullify = TRUE )"
+.br
+.ti -1c
+.BI "QVariant::Type \fBtype\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlField class manipulates the fields in SQL database tables and views.
+.PP
+QSqlField represents the characteristics of a single column in a database table or view, such as the data type and column name. A field also contains the value of the database column, which can be viewed or changed.
+.PP
+Field data values are stored as QVariants. Using an incompatible type is not permitted. For example:
+.PP
+.nf
+.br
+ QSqlField f( "myfield", QVariant::Int );
+.br
+ f.setValue( QPixmap() ); // will not work
+.br
+.fi
+.PP
+However, the field will attempt to cast certain data types to the field data type where possible:
+.PP
+.nf
+.br
+ QSqlField f( "myfield", QVariant::Int );
+.br
+ f.setValue( QString("123") ); // casts QString to int
+.br
+.fi
+.PP
+QSqlField objects are rarely created explicitly in application code. They are usually accessed indirectly through QSqlRecord or QSqlCursor which already contain a list of fields. For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" ); // create cursor using the 'Employee' table
+.br
+ QSqlField* f = cur.field( "name" ); // use the 'name' field
+.br
+ f->setValue( "Dave" ); // set field value
+.br
+ ...
+.br
+.fi
+.PP
+In practice we rarely need to extract a pointer to a field at all. The previous example would normally be written:
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" );
+.br
+ cur.setValue( "name", "Dave" );
+.br
+ ...
+.br
+.fi
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlField::QSqlField ( const QString & fieldName = QString::null, QVariant::Type type = QVariant::Invalid )"
+Constructs an empty field called \fIfieldName\fR of type \fItype\fR.
+.SH "QSqlField::QSqlField ( const QSqlField & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlField::~QSqlField ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlField::clear ( bool nullify = TRUE )"
+Clears the value of the field. If the field is read-only, nothing happens. If \fInullify\fR is TRUE (the default), the field is set to NULL.
+.SH "bool QSqlField::isNull () const"
+Returns TRUE if the field is currently NULL; otherwise returns FALSE.
+.SH "bool QSqlField::isReadOnly () const"
+Returns TRUE if the field's value is read only; otherwise returns FALSE.
+.SH "QString QSqlField::name () const"
+Returns the name of the field.
+.PP
+Example: sql/overview/table4/main.cpp.
+.SH "QSqlField & QSqlField::operator= ( const QSqlField & other )"
+Sets the field equal to \fIother\fR.
+.SH "bool QSqlField::operator== ( const QSqlField & other ) const"
+Returns TRUE if the field is equal to \fIother\fR; otherwise returns FALSE. Fields are considered equal when the following field properties are the same:
+.TP
+name()
+.TP
+isNull()
+.TP
+value()
+.TP
+isReadOnly()
+.SH "void QSqlField::setName ( const QString & name )\fC [virtual]\fR"
+Sets the name of the field to \fIname\fR.
+.SH "void QSqlField::setNull ()\fC [virtual]\fR"
+Sets the field to NULL and clears the value using clear(). If the field is read-only, nothing happens.
+.PP
+See also isReadOnly() and clear().
+.SH "void QSqlField::setReadOnly ( bool readOnly )\fC [virtual]\fR"
+Sets the read only flag of the field's value to \fIreadOnly\fR.
+.PP
+See also setValue().
+.SH "void QSqlField::setValue ( const QVariant & value )\fC [virtual]\fR"
+Sets the value of the field to \fIvalue\fR. If the field is read-only (isReadOnly() returns TRUE), nothing happens. If the data type of \fIvalue\fR differs from the field's current data type, an attempt is made to cast it to the proper type. This preserves the data type of the field in the case of assignment, e.g. a QString to an integer data type. For example:
+.PP
+.nf
+.br
+ QSqlCursor cur( "Employee" ); // 'Employee' table
+.br
+ QSqlField* f = cur.field( "student_count" ); // an integer field
+.br
+ ...
+.br
+ f->setValue( myLineEdit->text() ); // cast the line edit text to an integer
+.br
+.fi
+.PP
+See also isReadOnly().
+.SH "QVariant::Type QSqlField::type () const"
+Returns the field's type as stored in the database. Note that the actual value might have a different type, Numerical values that are too large to store in a long int or double are usually stored as strings to prevent precision loss.
+.SH "QVariant QSqlField::value () const\fC [virtual]\fR"
+Returns the value of the field as a QVariant.
+.PP
+Example: sql/overview/table4/main.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlfield.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlfield.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlfieldinfo.3qt b/doc/man/man3/qsqlfieldinfo.3qt
new file mode 100644
index 0000000..36378c8
--- /dev/null
+++ b/doc/man/man3/qsqlfieldinfo.3qt
@@ -0,0 +1,175 @@
+'\" t
+.TH QSqlFieldInfo 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlFieldInfo \- Stores meta data associated with a SQL field
+.SH SYNOPSIS
+\fC#include <qsqlfield.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlFieldInfo\fR ( const QString & name = QString::null, QVariant::Type typ = QVariant::Invalid, int required = -1, int len = -1, int prec = -1, const QVariant & defValue = QVariant ( ), int typeID = 0, bool generated = TRUE, bool trim = FALSE, bool calculated = FALSE )"
+.br
+.ti -1c
+.BI "\fBQSqlFieldInfo\fR ( const QSqlFieldInfo & other )"
+.br
+.ti -1c
+.BI "\fBQSqlFieldInfo\fR ( const QSqlField & other, bool generated = TRUE )"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlFieldInfo\fR ()"
+.br
+.ti -1c
+.BI "QSqlFieldInfo & \fBoperator=\fR ( const QSqlFieldInfo & other )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QSqlFieldInfo & f ) const"
+.br
+.ti -1c
+.BI "QSqlField \fBtoField\fR () const"
+.br
+.ti -1c
+.BI "int \fBisRequired\fR () const"
+.br
+.ti -1c
+.BI "QVariant::Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "int \fBlength\fR () const"
+.br
+.ti -1c
+.BI "int \fBprecision\fR () const"
+.br
+.ti -1c
+.BI "QVariant \fBdefaultValue\fR () const"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "int \fBtypeID\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisGenerated\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisTrim\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisCalculated\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetTrim\fR ( bool trim )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGenerated\fR ( bool gen )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCalculated\fR ( bool calc )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlFieldInfo class stores meta data associated with a SQL field.
+.PP
+QSqlFieldInfo objects only store meta data; field values are stored in QSqlField objects.
+.PP
+All values must be set in the constructor, and may be retrieved using isRequired(), type(), length(), precision(), defaultValue(), name(), isGenerated() and typeID().
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlFieldInfo::QSqlFieldInfo ( const QString & name = QString::null, QVariant::Type typ = QVariant::Invalid, int required = -1, int len = -1, int prec = -1, const QVariant & defValue = QVariant ( ), int typeID = 0, bool generated = TRUE, bool trim = FALSE, bool calculated = FALSE )"
+Constructs a QSqlFieldInfo with the following parameters: <center>.nf
+.TS
+l - l. \fIname\fR the name of the field. \fItyp\fR the field's type in a QVariant. \fIrequired\fR greater than 0 if the field is required, 0 if its value can be NULL and less than 0 if it cannot be determined whether the field is required or not. \fIlen\fR the length of the field. Note that for non-character types some databases return either the length in bytes or the number of digits. -1 signifies that the length cannot be determined. \fIprec\fR the precision of the field, or -1 if the field has no precision or it cannot be determined. \fIdefValue\fR the default value that is inserted into the table if none is specified by the user. QVariant() if there is no default value or it cannot be determined. \fItypeID\fR the internal typeID of the database system (only useful for low-level programming). 0 if unknown. \fIgenerated\fR TRUE indicates that this field should be included in auto-generated SQL statments, e.g. in QSqlCursor. \fItrim\fR TRUE indicates that widgets should remove trailing whitespace from character fields. This does not affect the field value but only its representation inside widgets. \fIcalculated\fR
+.TE
+.fi
+</center>
+.SH "QSqlFieldInfo::QSqlFieldInfo ( const QSqlFieldInfo & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlFieldInfo::QSqlFieldInfo ( const QSqlField & other, bool generated = TRUE )"
+Creates a QSqlFieldInfo object with the type and the name of the QSqlField \fIother\fR. If \fIgenerated\fR is TRUE this field will be included in auto-generated SQL statments, e.g. in QSqlCursor.
+.SH "QSqlFieldInfo::~QSqlFieldInfo ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "QVariant QSqlFieldInfo::defaultValue () const"
+Returns the field's default value or an empty QVariant if the field has no default value or the value couldn't be determined. The default value is the value inserted in the database when it is not explicitly specified by the user.
+.SH "bool QSqlFieldInfo::isCalculated () const"
+Returns TRUE if the field is calculated; otherwise returns FALSE.
+.PP
+See also setCalculated().
+.SH "bool QSqlFieldInfo::isGenerated () const"
+Returns TRUE if the field should be included in auto-generated SQL statments, e.g. in QSqlCursor; otherwise returns FALSE.
+.PP
+See also setGenerated().
+.SH "int QSqlFieldInfo::isRequired () const"
+Returns a value greater than 0 if the field is required (NULL values are not allowed), 0 if it isn't required (NULL values are allowed) or less than 0 if it cannot be determined whether the field is required or not.
+.SH "bool QSqlFieldInfo::isTrim () const"
+Returns TRUE if trailing whitespace should be removed from character fields; otherwise returns FALSE.
+.PP
+See also setTrim().
+.SH "int QSqlFieldInfo::length () const"
+Returns the field's length. For fields storing text the return value is the maximum number of characters the field can hold. For non-character fields some database systems return the number of bytes needed or the number of digits allowed. If the length cannot be determined -1 is returned.
+.SH "QString QSqlFieldInfo::name () const"
+Returns the name of the field in the SQL table.
+.PP
+Examples:
+.)l sql/overview/subclass3/main.cpp and sql/overview/subclass4/main.cpp.
+.SH "QSqlFieldInfo & QSqlFieldInfo::operator= ( const QSqlFieldInfo & other )"
+Assigns \fIother\fR to this field info and returns a reference to it.
+.SH "bool QSqlFieldInfo::operator== ( const QSqlFieldInfo & f ) const"
+Returns TRUE if this fieldinfo is equal to \fIf\fR; otherwise returns FALSE.
+.PP
+Two field infos are considered equal if all their attributes match.
+.SH "int QSqlFieldInfo::precision () const"
+Returns the field's precision or -1 if the field has no precision or it cannot be determined.
+.SH "void QSqlFieldInfo::setCalculated ( bool calc )\fC [virtual]\fR"
+\fIcalc\fR set to TRUE indicates that this field is a calculated field. The value of calculated fields can by modified by subclassing QSqlCursor and overriding QSqlCursor::calculateField().
+.PP
+See also isCalculated().
+.SH "void QSqlFieldInfo::setGenerated ( bool gen )\fC [virtual]\fR"
+\fIgen\fR set to FALSE indicates that this field should not appear in auto-generated SQL statements (for example in QSqlCursor).
+.PP
+See also isGenerated().
+.SH "void QSqlFieldInfo::setTrim ( bool trim )\fC [virtual]\fR"
+If \fItrim\fR is TRUE widgets should remove trailing whitespace from character fields. This does not affect the field value but only its representation inside widgets.
+.PP
+See also isTrim().
+.SH "QSqlField QSqlFieldInfo::toField () const"
+Returns an empty QSqlField based on the information in this QSqlFieldInfo.
+.SH "QVariant::Type QSqlFieldInfo::type () const"
+Returns the field's type or QVariant::Invalid if the type is unknown.
+.SH "int QSqlFieldInfo::typeID () const"
+Returns the internal type identifier as returned from the database system. The return value is 0 if the type is unknown.
+.PP
+\fBWarning:\fR This information is only useful for low-level database
+programming and is \fInot\fR database independent.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlfieldinfo.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlfieldinfo.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlform.3qt b/doc/man/man3/qsqlform.3qt
new file mode 100644
index 0000000..508bc02
--- /dev/null
+++ b/doc/man/man3/qsqlform.3qt
@@ -0,0 +1,244 @@
+'\" t
+.TH QSqlForm 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlForm \- Creates and manages data entry forms tied to SQL databases
+.SH SYNOPSIS
+\fC#include <qsqlform.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlForm\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QSqlForm\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBinsert\fR ( QWidget * widget, const QString & field )"
+.br
+.ti -1c
+.BI "virtual void \fBremove\fR ( const QString & field )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBwidget\fR ( uint i ) const"
+.br
+.ti -1c
+.BI "QSqlField * \fBwidgetToField\fR ( QWidget * widget ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBfieldToWidget\fR ( QSqlField * field ) const"
+.br
+.ti -1c
+.BI "void \fBinstallPropertyMap\fR ( QSqlPropertyMap * pmap )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRecord\fR ( QSqlRecord * buf )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBreadField\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual void \fBwriteField\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual void \fBreadFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBwriteFields\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearValues\fR ( bool nullify = FALSE )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBinsert\fR ( QWidget * widget, QSqlField * field )"
+.br
+.ti -1c
+.BI "virtual void \fBremove\fR ( QWidget * widget )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlForm class creates and manages data entry forms tied to SQL databases.
+.PP
+Typical use of a QSqlForm consists of the following steps:
+.TP
+Create the widgets you want to appear in the form.
+.TP
+Create a cursor and navigate to the record to be edited.
+.TP
+Create the QSqlForm.
+.TP
+Set the form's record buffer to the cursor's update buffer.
+.TP
+Insert each widget and the field it is to edit into the form.
+.TP
+Use readFields() to update the editor widgets with values from the database's fields.
+.TP
+Display the form and let the user edit values etc.
+.TP
+Use writeFields() to update the database's field values with the values in the editor widgets.
+.PP
+Note that a QSqlForm does not access the database directly, but most often via QSqlFields which are part of a QSqlCursor. A QSqlCursor::insert(), QSqlCursor::update() or QSqlCursor::del() call is needed to actually write values to the database.
+.PP
+Some sample code to initialize a form successfully:
+.PP
+.nf
+.br
+ QLineEdit myEditor( this );
+.br
+ QSqlForm myForm( this );
+.br
+ QSqlCursor myCursor( "mytable" );
+.br
+.br
+ // Execute a query to make the cursor valid
+.br
+ myCursor.select();
+.br
+ // Move the cursor to a valid record (the first record)
+.br
+ myCursor.next();
+.br
+ // Set the form's record pointer to the cursor's edit buffer (which
+.br
+ // contains the current record's values)
+.br
+ myForm.setRecord( myCursor.primeUpdate() );
+.br
+.br
+ // Insert a field into the form that uses myEditor to edit the
+.br
+ // field 'somefield' in 'mytable'
+.br
+ myForm.insert( &myEditor, "somefield" );
+.br
+.br
+ // Update myEditor with the value from the mapped database field
+.br
+ myForm.readFields();
+.br
+ ...
+.br
+ // Let the user edit the form
+.br
+ ...
+.br
+ // Update the database
+.br
+ myForm.writeFields(); // Update the cursor's edit buffer from the form
+.br
+ myCursor.update(); // Update the database from the cursor's buffer
+.br
+.fi
+.PP
+If you want to use custom editors for displaying and editing data fields, you must install a custom QSqlPropertyMap. The form uses this object to get or set the value of a widget.
+.PP
+Note that Qt Designer provides a visual means of creating data-aware forms.
+.PP
+See also installPropertyMap(), QSqlPropertyMap, and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlForm::QSqlForm ( QObject * parent = 0, const char * name = 0 )"
+Constructs a QSqlForm with parent \fIparent\fR and called \fIname\fR.
+.SH "QSqlForm::~QSqlForm ()"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlForm::clear ()\fC [virtual slot]\fR"
+Removes every widget, and the fields they're mapped to, from the form.
+.SH "void QSqlForm::clearValues ( bool nullify = FALSE )\fC [virtual slot]\fR"
+Clears the values in all the widgets, and the fields they are mapped to, in the form. If \fInullify\fR is TRUE (the default is FALSE), each field is also set to NULL.
+.SH "uint QSqlForm::count () const"
+Returns the number of widgets in the form.
+.SH "QWidget * QSqlForm::fieldToWidget ( QSqlField * field ) const"
+Returns the widget that field \fIfield\fR is mapped to.
+.SH "void QSqlForm::insert ( QWidget * widget, const QString & field )\fC [virtual]\fR"
+Inserts a \fIwidget\fR, and the name of the \fIfield\fR it is to be mapped to, into the form. To actually associate inserted widgets with an edit buffer, use setRecord().
+.PP
+See also setRecord().
+.PP
+Examples:
+.)l sql/overview/form1/main.cpp and sql/overview/form2/main.cpp.
+.SH "void QSqlForm::insert ( QWidget * widget, QSqlField * field )\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts a \fIwidget\fR, and the \fIfield\fR it is to be mapped to, into the form.
+.SH "void QSqlForm::installPropertyMap ( QSqlPropertyMap * pmap )"
+Installs a custom QSqlPropertyMap. This is useful if you plan to create your own custom editor widgets.
+.PP
+QSqlForm takes ownership of \fIpmap\fR, so \fIpmap\fR is deleted when QSqlForm goes out of scope.
+.PP
+See also QDataTable::installEditorFactory().
+.PP
+Example: sql/overview/custom1/main.cpp.
+.SH "void QSqlForm::readField ( QWidget * widget )\fC [virtual slot]\fR"
+Updates the widget \fIwidget\fR with the value from the SQL field it is mapped to. Nothing happens if no SQL field is mapped to the \fIwidget\fR.
+.SH "void QSqlForm::readFields ()\fC [virtual slot]\fR"
+Updates the widgets in the form with current values from the SQL fields they are mapped to.
+.PP
+Examples:
+.)l sql/overview/form1/main.cpp and sql/overview/form2/main.cpp.
+.SH "void QSqlForm::remove ( QWidget * widget )\fC [virtual protected]\fR"
+Removes a \fIwidget\fR, and hence the field it's mapped to, from the form.
+.SH "void QSqlForm::remove ( const QString & field )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes \fIfield\fR from the form.
+.SH "void QSqlForm::setRecord ( QSqlRecord * buf )\fC [virtual]\fR"
+Sets \fIbuf\fR as the record buffer for the form. To force the display of the data from \fIbuf\fR, use readFields().
+.PP
+See also readFields() and writeFields().
+.PP
+Examples:
+.)l sql/overview/custom1/main.cpp, sql/overview/form1/main.cpp, and sql/overview/form2/main.cpp.
+.SH "QWidget * QSqlForm::widget ( uint i ) const"
+Returns the \fIi\fR-th widget in the form. Useful for traversing the widgets in the form.
+.SH "QSqlField * QSqlForm::widgetToField ( QWidget * widget ) const"
+Returns the SQL field that widget \fIwidget\fR is mapped to.
+.SH "void QSqlForm::writeField ( QWidget * widget )\fC [virtual slot]\fR"
+Updates the SQL field with the value from the \fIwidget\fR it is mapped to. Nothing happens if no SQL field is mapped to the \fIwidget\fR.
+.SH "void QSqlForm::writeFields ()\fC [virtual slot]\fR"
+Updates the SQL fields with values from the widgets they are mapped to. To actually update the database with the contents of the record buffer, use QSqlCursor::insert(), QSqlCursor::update() or QSqlCursor::del() as appropriate.
+.PP
+Example: sql/overview/form2/main.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlform.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlform.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlindex.3qt b/doc/man/man3/qsqlindex.3qt
new file mode 100644
index 0000000..bb0df44
--- /dev/null
+++ b/doc/man/man3/qsqlindex.3qt
@@ -0,0 +1,126 @@
+'\" t
+.TH QSqlIndex 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlIndex \- Functions to manipulate and describe QSqlCursor and QSqlDatabase indexes
+.SH SYNOPSIS
+\fC#include <qsqlindex.h>\fR
+.PP
+Inherits QSqlRecord.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlIndex\fR ( const QString & cursorname = QString::null, const QString & name = QString::null )"
+.br
+.ti -1c
+.BI "\fBQSqlIndex\fR ( const QSqlIndex & other )"
+.br
+.ti -1c
+.BI "\fB~QSqlIndex\fR ()"
+.br
+.ti -1c
+.BI "QSqlIndex & \fBoperator=\fR ( const QSqlIndex & other )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCursorName\fR ( const QString & cursorName )"
+.br
+.ti -1c
+.BI "QString \fBcursorName\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBappend\fR ( const QSqlField & field )"
+.br
+.ti -1c
+.BI "virtual void \fBappend\fR ( const QSqlField & field, bool desc )"
+.br
+.ti -1c
+.BI "bool \fBisDescending\fR ( int i ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetDescending\fR ( int i, bool desc )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QSqlIndex \fBfromStringList\fR ( const QStringList & l, const QSqlCursor * cursor )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlIndex class provides functions to manipulate and describe QSqlCursor and QSqlDatabase indexes.
+.PP
+This class is used to describe and manipulate QSqlCursor and QSqlDatabase indexes. An index refers to a single table or view in a database. Information about the fields that comprise the index can be used to generate SQL statements, or to affect the behavior of a QSqlCursor object.
+.PP
+Normally, QSqlIndex objects are created by QSqlDatabase or QSqlCursor.
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlIndex::QSqlIndex ( const QString & cursorname = QString::null, const QString & name = QString::null )"
+Constructs an empty index using the cursor name \fIcursorname\fR and index name \fIname\fR.
+.SH "QSqlIndex::QSqlIndex ( const QSqlIndex & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlIndex::~QSqlIndex ()"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlIndex::append ( const QSqlField & field )\fC [virtual]\fR"
+Appends the field \fIfield\fR to the list of indexed fields. The field is appended with an ascending sort order.
+.PP
+Reimplemented from QSqlRecord.
+.SH "void QSqlIndex::append ( const QSqlField & field, bool desc )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends the field \fIfield\fR to the list of indexed fields. The field is appended with an ascending sort order, unless \fIdesc\fR is TRUE.
+.SH "QString QSqlIndex::cursorName () const"
+Returns the name of the cursor which the index is associated with.
+.SH "QSqlIndex QSqlIndex::fromStringList ( const QStringList & l, const QSqlCursor * cursor )\fC [static]\fR"
+Returns an index based on the field descriptions in \fIl\fR and the cursor \fIcursor\fR. The field descriptions should be in the same format that toStringList() produces, for example, a surname field in the people table might be in one of these forms: "surname"," surname DESC" or "people.surname ASC".
+.PP
+See also toStringList().
+.SH "bool QSqlIndex::isDescending ( int i ) const"
+Returns TRUE if field \fIi\fR in the index is sorted in descending order; otherwise returns FALSE.
+.SH "QString QSqlIndex::name () const"
+Returns the name of the index.
+.SH "QSqlIndex & QSqlIndex::operator= ( const QSqlIndex & other )"
+Sets the index equal to \fIother\fR.
+.SH "void QSqlIndex::setCursorName ( const QString & cursorName )\fC [virtual]\fR"
+Sets the name of the cursor that the index is associated with to \fIcursorName\fR.
+.SH "void QSqlIndex::setDescending ( int i, bool desc )\fC [virtual]\fR"
+If \fIdesc\fR is TRUE, field \fIi\fR is sorted in descending order. Otherwise, field \fIi\fR is sorted in ascending order (the default). If the field does not exist, nothing happens.
+.SH "void QSqlIndex::setName ( const QString & name )\fC [virtual]\fR"
+Sets the name of the index to \fIname\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlindex.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlindex.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlpropertymap.3qt b/doc/man/man3/qsqlpropertymap.3qt
new file mode 100644
index 0000000..3642e91
--- /dev/null
+++ b/doc/man/man3/qsqlpropertymap.3qt
@@ -0,0 +1,172 @@
+'\" t
+.TH QSqlPropertyMap 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlPropertyMap \- Used to map widgets to SQL fields
+.SH SYNOPSIS
+\fC#include <qsqlpropertymap.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlPropertyMap\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlPropertyMap\fR ()"
+.br
+.ti -1c
+.BI "QVariant \fBproperty\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual void \fBsetProperty\fR ( QWidget * widget, const QVariant & value )"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( const QString & classname, const QString & property )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( const QString & classname )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QSqlPropertyMap * \fBdefaultMap\fR ()"
+.br
+.ti -1c
+.BI "void \fBinstallDefaultMap\fR ( QSqlPropertyMap * map )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlPropertyMap class is used to map widgets to SQL fields.
+.PP
+The SQL module uses Qt object properties to insert and extract values from editor widgets.
+.PP
+This class is used to map editors to SQL fields. This works by associating SQL editor class names to the properties used to insert and extract values to/from the editor.
+.PP
+For example, a QLineEdit can be used to edit text strings and other data types in QDataTables or QSqlForms. Several properties are defined in QLineEdit, but only the \fItext\fR property is used to insert and extract text from a QLineEdit. Both QDataTable and QSqlForm use the global QSqlPropertyMap for inserting and extracting values to and from an editor widget. The global property map defines several common widgets and properties that are suitable for many applications. You can add and remove widget properties to suit your specific needs.
+.PP
+If you want to use custom editors with your QDataTable or QSqlForm, you must install your own QSqlPropertyMap for that table or form. Example:
+.PP
+.nf
+.br
+ QSqlPropertyMap *myMap = new QSqlPropertyMap();
+.br
+ QSqlForm *myForm = new QSqlForm( this );
+.br
+ MyEditor myEditor( this );
+.br
+.br
+ // Set the QSqlForm's record buffer to the update buffer of
+.br
+ // a pre-existing QSqlCursor called 'cur'.
+.br
+ myForm->setRecord( cur->primeUpdate() );
+.br
+.br
+ // Install the customized map
+.br
+ myMap->insert( "MyEditor", "content" );
+.br
+ myForm->installPropertyMap( myMap ); // myForm now owns myMap
+.br
+ ...
+.br
+ // Insert a field into the form that uses a myEditor to edit the
+.br
+ // field 'somefield'
+.br
+ myForm->insert( &myEditor, "somefield" );
+.br
+.br
+ // Update myEditor with the value from the mapped database field
+.br
+ myForm->readFields();
+.br
+ ...
+.br
+ // Let the user edit the form
+.br
+ ...
+.br
+ // Update the database fields with the values in the form
+.br
+ myForm->writeFields();
+.br
+ ...
+.br
+.fi
+.PP
+You can also replace the global QSqlPropertyMap that is used by default. (Bear in mind that QSqlPropertyMap takes ownership of the new default map.)
+.PP
+.nf
+.br
+ QSqlPropertyMap *myMap = new QSqlPropertyMap;
+.br
+.br
+ myMap->insert( "MyEditor", "content" );
+.br
+ QSqlPropertyMap::installDefaultMap( myMap );
+.br
+ ...
+.br
+.fi
+.PP
+See also QDataTable, QSqlForm, QSqlEditorFactory, and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlPropertyMap::QSqlPropertyMap ()"
+Constructs a QSqlPropertyMap.
+.PP
+The default property mappings used by Qt widgets are: <center>.nf
+.TS
+l - l. Widgets Property QCheckBox, QRadioButton checked QComboBox, QListBox currentItem QDateEdit date QDateTimeEdit dateTime QTextBrowser source QButton, QDial, QLabel, QLineEdit, QMultiLineEdit, QPushButton, QTextEdit, text QTimeEdit time QLCDNumber, QScrollBar QSlider, QSpinBox
+.TE
+.fi
+</center>
+.SH "QSqlPropertyMap::~QSqlPropertyMap ()\fC [virtual]\fR"
+Destroys the QSqlPropertyMap.
+.PP
+Note that if the QSqlPropertyMap is installed with installPropertyMap() the object it was installed into, e.g. the QSqlForm, takes ownership and will delete the QSqlPropertyMap when necessary.
+.SH "QSqlPropertyMap * QSqlPropertyMap::defaultMap ()\fC [static]\fR"
+Returns the application global QSqlPropertyMap.
+.SH "void QSqlPropertyMap::insert ( const QString & classname, const QString & property )"
+Insert a new classname/property pair, which is used for custom SQL field editors. There \fImust\fR be a \fCQ_PROPERTY\fR clause in the \fIclassname\fR class declaration for the \fIproperty\fR.
+.PP
+Example: sql/overview/custom1/main.cpp.
+.SH "void QSqlPropertyMap::installDefaultMap ( QSqlPropertyMap * map )\fC [static]\fR"
+Replaces the global default property map with \fImap\fR. All QDataTable and QSqlForm instantiations will use this new map for inserting and extracting values to and from editors. \fIQSqlPropertyMap takes ownership of &#92;a map, and destroys it when it is no longer needed.\fR
+.SH "QVariant QSqlPropertyMap::property ( QWidget * widget )"
+Returns the mapped property of \fIwidget\fR as a QVariant.
+.SH "void QSqlPropertyMap::remove ( const QString & classname )"
+Removes \fIclassname\fR from the map.
+.SH "void QSqlPropertyMap::setProperty ( QWidget * widget, const QVariant & value )\fC [virtual]\fR"
+Sets the property of \fIwidget\fR to \fIvalue\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlpropertymap.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlpropertymap.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlquery.3qt b/doc/man/man3/qsqlquery.3qt
new file mode 100644
index 0000000..978e47e
--- /dev/null
+++ b/doc/man/man3/qsqlquery.3qt
@@ -0,0 +1,567 @@
+'\" t
+.TH QSqlQuery 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlQuery \- Means of executing and manipulating SQL statements
+.SH SYNOPSIS
+\fC#include <qsqlquery.h>\fR
+.PP
+Inherited by QSqlCursor.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlQuery\fR ( QSqlResult * r )"
+.br
+.ti -1c
+.BI "\fBQSqlQuery\fR ( const QString & query = QString::null, QSqlDatabase * db = 0 )"
+.br
+.ti -1c
+.BI "explicit \fBQSqlQuery\fR ( QSqlDatabase * db )"
+.br
+.ti -1c
+.BI "\fBQSqlQuery\fR ( const QSqlQuery & other )"
+.br
+.ti -1c
+.BI "QSqlQuery & \fBoperator=\fR ( const QSqlQuery & other )"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlQuery\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ( int field ) const"
+.br
+.ti -1c
+.BI "int \fBat\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlastQuery\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumRowsAffected\fR () const"
+.br
+.ti -1c
+.BI "QSqlError \fBlastError\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSelect\fR () const"
+.br
+.ti -1c
+.BI "int \fBsize\fR () const"
+.br
+.ti -1c
+.BI "const QSqlDriver * \fBdriver\fR () const"
+.br
+.ti -1c
+.BI "const QSqlResult * \fBresult\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisForwardOnly\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetForwardOnly\fR ( bool forward )"
+.br
+.ti -1c
+.BI "virtual bool \fBexec\fR ( const QString & query )"
+.br
+.ti -1c
+.BI "virtual QVariant \fBvalue\fR ( int i ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBseek\fR ( int i, bool relative = FALSE )"
+.br
+.ti -1c
+.BI "virtual bool \fBnext\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBprev\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBfirst\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBlast\fR ()"
+.br
+.ti -1c
+.BI "bool \fBexec\fR ()"
+.br
+.ti -1c
+.BI "bool \fBprepare\fR ( const QString & query )"
+.br
+.ti -1c
+.BI "void \fBbindValue\fR ( const QString & placeholder, const QVariant & val )"
+.br
+.ti -1c
+.BI "void \fBbindValue\fR ( int pos, const QVariant & val )"
+.br
+.ti -1c
+.BI "void \fBaddBindValue\fR ( const QVariant & val )"
+.br
+.ti -1c
+.BI "void \fBbindValue\fR ( const QString & placeholder, const QVariant & val, QSql::ParameterType type )"
+.br
+.ti -1c
+.BI "void \fBbindValue\fR ( int pos, const QVariant & val, QSql::ParameterType type )"
+.br
+.ti -1c
+.BI "void \fBaddBindValue\fR ( const QVariant & val, QSql::ParameterType type )"
+.br
+.ti -1c
+.BI "QVariant \fBboundValue\fR ( const QString & placeholder ) const"
+.br
+.ti -1c
+.BI "QVariant \fBboundValue\fR ( int pos ) const"
+.br
+.ti -1c
+.BI "QMap<QString, QVariant> \fBboundValues\fR () const"
+.br
+.ti -1c
+.BI "QString \fBexecutedQuery\fR () const"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBbeforeSeek\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBafterSeek\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlQuery class provides a means of executing and manipulating SQL statements.
+.PP
+QSqlQuery encapsulates the functionality involved in creating, navigating and retrieving data from SQL queries which are executed on a QSqlDatabase. It can be used to execute DML (data manipulation language) statements, e.g. \fCSELECT\fR, \fCINSERT\fR, \fCUPDATE\fR and \fCDELETE\fR, and also DDL (data definition language) statements, e.g. \fCCREATE TABLE\fR. It can also be used to execute database-specific commands which are not standard SQL (e.g. \fCSET DATESTYLE=ISO\fR for PostgreSQL).
+.PP
+Successfully executed SQL statements set the query's state to active (isActive() returns TRUE); otherwise the query's state is set to inactive. In either case, when executing a new SQL statement, the query is positioned on an invalid record; an active query must be navigated to a valid record (so that isValid() returns TRUE) before values can be retrieved.
+.PP
+Navigating records is performed with the following functions:
+.TP
+next()
+.TP
+prev()
+.TP
+first()
+.TP
+last()
+.TP
+\fC\fRseek(int)
+.PP
+These functions allow the programmer to move forward, backward or arbitrarily through the records returned by the query. If you only need to move forward through the results, e.g. using next() or using seek() with a positive offset, you can use setForwardOnly() and save a significant amount of memory overhead. Once an active query is positioned on a valid record, data can be retrieved using value(). All data is transferred from the SQL backend using QVariants.
+.PP
+For example:
+.PP
+.nf
+.br
+ QSqlQuery query( "SELECT name FROM customer" );
+.br
+ while ( query.next() ) {
+.br
+ QString name = query.value(0).toString();
+.br
+ doSomething( name );
+.br
+ }
+.br
+.fi
+.PP
+To access the data returned by a query, use the value() method. Each field in the data returned by a SELECT statement is accessed by passing the field's position in the statement, starting from 0. Information about the fields can be obtained via QSqlDatabase::record(). For the sake of efficiency there are no functions to access a field by name. (The QSqlCursor class provides a higher-level interface with field access by name and automatic SQL generation.)
+.PP
+QSqlQuery supports prepared query execution and the binding of parameter values to placeholders. Some databases don't support these features, so for them Qt emulates the required functionality. For example, the Oracle and ODBC drivers have proper prepared query support, and Qt makes use of it; but for databases that don't have this support, Qt implements the feature itself, e.g. by replacing placeholders with actual values when a query is executed. The exception is positional binding using named placeholders, which requires that the database supports prepared queries.
+.PP
+Oracle databases identify placeholders by using a colon-name syntax, e.g \fC:name\fR. ODBC simply uses \fC?\fR characters. Qt supports both syntaxes (although you can't mix them in the same query).
+.PP
+Below we present the same example using each of the four different binding approaches.
+.PP
+\fBNamed binding using named placeholders\fR
+.PP
+.nf
+.br
+ QSqlQuery query;
+.br
+ query.prepare( "INSERT INTO atable (id, forename, surname) "
+.br
+ "VALUES (:id, :forename, :surname)" );
+.br
+ query.bindValue( ":id", 1001 );
+.br
+ query.bindValue( ":forename", "Bart" );
+.br
+ query.bindValue( ":surname", "Simpson" );
+.br
+ query.exec();
+.br
+.fi
+.PP
+\fBPositional binding using named placeholders\fR
+.PP
+.nf
+.br
+ QSqlQuery query;
+.br
+ query.prepare( "INSERT INTO atable (id, forename, surname) "
+.br
+ "VALUES (:id, :forename, :surname)" );
+.br
+ query.bindValue( 0, 1001 );
+.br
+ query.bindValue( 1, "Bart" );
+.br
+ query.bindValue( 2, "Simpson" );
+.br
+ query.exec();
+.br
+.fi
+\fBNote:\fR Using positional binding with named placeholders will only work if the database supports prepared queries. This can be checked with QSqlDriver::hasFeature() using QSqlDriver::PreparedQueries as argument for driver feature.
+.PP
+\fBBinding values using positional placeholders #1\fR
+.PP
+.nf
+.br
+ QSqlQuery query;
+.br
+ query.prepare( "INSERT INTO atable (id, forename, surname) "
+.br
+ "VALUES (?, ?, ?)" );
+.br
+ query.bindValue( 0, 1001 );
+.br
+ query.bindValue( 1, "Bart" );
+.br
+ query.bindValue( 2, "Simpson" );
+.br
+ query.exec();
+.br
+.fi
+.PP
+\fBBinding values using positional placeholders #2\fR
+.PP
+.nf
+.br
+ query.prepare( "INSERT INTO atable (id, forename, surname) "
+.br
+ "VALUES (?, ?, ?)" );
+.br
+ query.addBindValue( 1001 );
+.br
+ query.addBindValue( "Bart" );
+.br
+ query.addBindValue( "Simpson" );
+.br
+ query.exec();
+.br
+.fi
+.PP
+\fBBinding values to a stored procedure\fR This code calls a stored procedure called \fCAsciiToInt()\fR, passing it a character through its in parameter, and taking its result in the out parameter.
+.PP
+.nf
+.br
+ QSqlQuery query;
+.br
+ query.prepare( "call AsciiToInt(?, ?)" );
+.br
+ query.bindValue( 0, "A" );
+.br
+ query.bindValue( 1, 0, QSql::Out );
+.br
+ query.exec();
+.br
+ int i = query.boundValue( 1 ).toInt(); // i is 65.
+.br
+.fi
+.PP
+See also QSqlDatabase, QSqlCursor, QVariant, and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlQuery::QSqlQuery ( QSqlResult * r )"
+Creates a QSqlQuery object which uses the QSqlResult \fIr\fR to communicate with a database.
+.SH "QSqlQuery::QSqlQuery ( const QString & query = QString::null, QSqlDatabase * db = 0 )"
+Creates a QSqlQuery object using the SQL \fIquery\fR and the database \fIdb\fR. If \fIdb\fR is 0, (the default), the application's default database is used. If \fIquery\fR is not a null string, it will be executed.
+.PP
+See also QSqlDatabase.
+.SH "explicit QSqlQuery::QSqlQuery ( QSqlDatabase * db )"
+Creates a QSqlQuery object using the database \fIdb\fR. If \fIdb\fR is 0, the application's default database is used.
+.PP
+See also QSqlDatabase.
+.SH "QSqlQuery::QSqlQuery ( const QSqlQuery & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlQuery::~QSqlQuery ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlQuery::addBindValue ( const QVariant & val, QSql::ParameterType type )"
+Adds the value \fIval\fR to the list of values when using positional value binding. The order of the addBindValue() calls determines which placeholder a value will be bound to in the prepared query. If \fItype\fR is QSql::Out or QSql::InOut, the placeholder will be overwritten with data from the database after the exec() call.
+.PP
+See also bindValue(), prepare(), and exec().
+.SH "void QSqlQuery::addBindValue ( const QVariant & val )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Binds the placeholder with type QSql::In.
+.SH "void QSqlQuery::afterSeek ()\fC [virtual protected]\fR"
+Protected virtual function called after the internal record pointer is moved to a new record. The default implementation does nothing.
+.SH "int QSqlQuery::at () const"
+Returns the current internal position of the query. The first record is at position zero. If the position is invalid, a QSql::Location will be returned indicating the invalid position.
+.PP
+See also prev(), next(), first(), last(), seek(), isActive(), and isValid().
+.PP
+Example: sql/overview/navigating/main.cpp.
+.SH "void QSqlQuery::beforeSeek ()\fC [virtual protected]\fR"
+Protected virtual function called before the internal record pointer is moved to a new record. The default implementation does nothing.
+.SH "void QSqlQuery::bindValue ( const QString & placeholder, const QVariant & val, QSql::ParameterType type )"
+Set the placeholder \fIplaceholder\fR to be bound to value \fIval\fR in the prepared statement. Note that the placeholder mark (e.g \fC:\fR) must be included when specifying the placeholder name. If \fItype\fR is QSql::Out or QSql::InOut, the placeholder will be overwritten with data from the database after the exec() call.
+.PP
+See also addBindValue(), prepare(), and exec().
+.SH "void QSqlQuery::bindValue ( const QString & placeholder, const QVariant & val )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Binds the placeholder with type QSql::In.
+.SH "void QSqlQuery::bindValue ( int pos, const QVariant & val )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Binds the placeholder at position \fIpos\fR with type QSql::In.
+.SH "void QSqlQuery::bindValue ( int pos, const QVariant & val, QSql::ParameterType type )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Set the placeholder in position \fIpos\fR to be bound to value \fIval\fR in the prepared statement. Field numbering starts at 0. If \fItype\fR is QSql::Out or QSql::InOut, the placeholder will be overwritten with data from the database after the exec() call.
+.PP
+See also addBindValue(), prepare(), and exec().
+.SH "QVariant QSqlQuery::boundValue ( const QString & placeholder ) const"
+Returns the value for the \fIplaceholder\fR.
+.SH "QVariant QSqlQuery::boundValue ( int pos ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the value for the placeholder at position \fIpos\fR.
+.SH "QMap<QString, QVariant> QSqlQuery::boundValues () const"
+Returns a map of the bound values.
+.PP
+The bound values can be examined in the following way:
+.PP
+.nf
+.br
+ QSqlQuery query;
+.br
+ ...
+.br
+ // Examine the bound values - bound using named binding
+.br
+ QMap<QString, QVariant>::ConstIterator it;
+.br
+ QMap<QString, QVariant> vals = query.boundValues();
+.br
+ for ( it = vals.begin(); it != vals.end(); ++it )
+.br
+ qWarning( "Placeholder: " + it.key() + ", Value: " + (*it).toString() );
+.br
+ ...
+.br
+.br
+ // Examine the bound values - bound using positional binding
+.br
+ QValueList<QVariant>::ConstIterator it;
+.br
+ QValueList<QVariant> list = query.boundValues().values();
+.br
+ int i = 0;
+.br
+ for ( it = list.begin(); it != list.end(); ++it )
+.br
+ qWarning( "Placeholder pos: %d, Value: " + (*it).toString(), i++ );
+.br
+ ...
+.br
+.br
+.fi
+.SH "const QSqlDriver * QSqlQuery::driver () const"
+Returns the database driver associated with the query.
+.SH "bool QSqlQuery::exec ( const QString & query )\fC [virtual]\fR"
+Executes the SQL in \fIquery\fR. Returns TRUE and sets the query state to active if the query was successful; otherwise returns FALSE and sets the query state to inactive. The \fIquery\fR string must use syntax appropriate for the SQL database being queried, for example, standard SQL.
+.PP
+After the query is executed, the query is positioned on an \fIinvalid\fR record, and must be navigated to a valid record before data values can be retrieved, e.g. using next().
+.PP
+Note that the last error for this query is reset when exec() is called.
+.PP
+See also isActive(), isValid(), next(), prev(), first(), last(), and seek().
+.PP
+Examples:
+.)l sql/overview/basicbrowsing/main.cpp, sql/overview/basicbrowsing2/main.cpp, sql/overview/basicdatamanip/main.cpp, and sql/overview/connection.cpp.
+.SH "bool QSqlQuery::exec ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Executes a previously prepared SQL query. Returns TRUE if the query executed successfully; otherwise returns FALSE.
+.PP
+See also prepare(), bindValue(), and addBindValue().
+.SH "QString QSqlQuery::executedQuery () const"
+Returns the last query that was executed.
+.PP
+In most cases this function returns the same as lastQuery(). If a prepared query with placeholders is executed on a DBMS that does not support it, the preparation of this query is emulated. The placeholders in the original query are replaced with their bound values to form a new query. This function returns the modified query. Useful for debugging purposes.
+.PP
+See also lastQuery().
+.SH "bool QSqlQuery::first ()\fC [virtual]\fR"
+Retrieves the first record in the result, if available, and positions the query on the retrieved record. Note that the result must be in an active state and isSelect() must return TRUE before calling this function or it will do nothing and return FALSE. Returns TRUE if successful. If unsuccessful the query position is set to an invalid position and FALSE is returned.
+.PP
+See also next(), prev(), last(), seek(), at(), isActive(), and isValid().
+.PP
+Example: sql/overview/navigating/main.cpp.
+.SH "bool QSqlQuery::isActive () const"
+Returns TRUE if the query is currently active; otherwise returns FALSE.
+.PP
+Examples:
+.)l sql/overview/basicbrowsing/main.cpp, sql/overview/basicbrowsing2/main.cpp, sql/overview/basicdatamanip/main.cpp, sql/overview/navigating/main.cpp, and sql/overview/retrieve1/main.cpp.
+.SH "bool QSqlQuery::isForwardOnly () const"
+Returns TRUE if you can only scroll \fIforward\fR through a result set; otherwise returns FALSE.
+.PP
+See also setForwardOnly().
+.SH "bool QSqlQuery::isNull ( int field ) const"
+Returns TRUE if the query is active and positioned on a valid record and the \fIfield\fR is NULL; otherwise returns FALSE. Note that for some drivers isNull() will not return accurate information until after an attempt is made to retrieve data.
+.PP
+See also isActive(), isValid(), and value().
+.SH "bool QSqlQuery::isSelect () const"
+Returns TRUE if the current query is a \fCSELECT\fR statement; otherwise returns FALSE.
+.SH "bool QSqlQuery::isValid () const"
+Returns TRUE if the query is currently positioned on a valid record; otherwise returns FALSE.
+.SH "bool QSqlQuery::last ()\fC [virtual]\fR"
+Retrieves the last record in the result, if available, and positions the query on the retrieved record. Note that the result must be in an active state and isSelect() must return TRUE before calling this function or it will do nothing and return FALSE. Returns TRUE if successful. If unsuccessful the query position is set to an invalid position and FALSE is returned.
+.PP
+See also next(), prev(), first(), seek(), at(), isActive(), and isValid().
+.PP
+Example: sql/overview/navigating/main.cpp.
+.SH "QSqlError QSqlQuery::lastError () const"
+Returns error information about the last error (if any) that occurred.
+.PP
+See also QSqlError.
+.SH "QString QSqlQuery::lastQuery () const"
+Returns the text of the current query being used, or QString::null if there is no current query text.
+.PP
+See also executedQuery().
+.SH "bool QSqlQuery::next ()\fC [virtual]\fR"
+Retrieves the next record in the result, if available, and positions the query on the retrieved record. Note that the result must be in an active state and isSelect() must return TRUE before calling this function or it will do nothing and return FALSE.
+.PP
+The following rules apply:
+.TP
+If the result is currently located before the first record, e.g. immediately after a query is executed, an attempt is made to retrieve the first record.
+.IP
+.TP
+If the result is currently located after the last record, there is no change and FALSE is returned.
+.IP
+.TP
+If the result is located somewhere in the middle, an attempt is made to retrieve the next record.
+.PP
+If the record could not be retrieved, the result is positioned after the last record and FALSE is returned. If the record is successfully retrieved, TRUE is returned.
+.PP
+See also prev(), first(), last(), seek(), at(), isActive(), and isValid().
+.PP
+Examples:
+.)l sql/overview/basicbrowsing/main.cpp, sql/overview/basicbrowsing2/main.cpp, sql/overview/delete/main.cpp, sql/overview/order1/main.cpp, sql/overview/retrieve1/main.cpp, sql/overview/subclass4/main.cpp, and sql/overview/subclass5/main.cpp.
+.SH "int QSqlQuery::numRowsAffected () const"
+Returns the number of rows affected by the result's SQL statement, or -1 if it cannot be determined. Note that for \fCSELECT\fR statements, the value is undefined; see size() instead. If the query is not active (isActive() returns FALSE), -1 is returned.
+.PP
+See also size() and QSqlDriver::hasFeature().
+.PP
+Examples:
+.)l sql/overview/basicbrowsing2/main.cpp and sql/overview/basicdatamanip/main.cpp.
+.SH "QSqlQuery & QSqlQuery::operator= ( const QSqlQuery & other )"
+Assigns \fIother\fR to the query.
+.SH "bool QSqlQuery::prepare ( const QString & query )"
+Prepares the SQL query \fIquery\fR for execution. The query may contain placeholders for binding values. Both Oracle style colon-name (e.g. \fC:surname\fR), and ODBC style (e.g. \fC?\fR) placeholders are supported; but they cannot be mixed in the same query. See the Description for examples.
+.PP
+See also exec(), bindValue(), and addBindValue().
+.SH "bool QSqlQuery::prev ()\fC [virtual]\fR"
+Retrieves the previous record in the result, if available, and positions the query on the retrieved record. Note that the result must be in an active state and isSelect() must return TRUE before calling this function or it will do nothing and return FALSE.
+.PP
+The following rules apply:
+.TP
+If the result is currently located before the first record, there is no change and FALSE is returned.
+.IP
+.TP
+If the result is currently located after the last record, an attempt is made to retrieve the last record.
+.IP
+.TP
+If the result is somewhere in the middle, an attempt is made to retrieve the previous record.
+.PP
+If the record could not be retrieved, the result is positioned before the first record and FALSE is returned. If the record is successfully retrieved, TRUE is returned.
+.PP
+See also next(), first(), last(), seek(), at(), isActive(), and isValid().
+.SH "const QSqlResult * QSqlQuery::result () const"
+Returns the result associated with the query.
+.SH "bool QSqlQuery::seek ( int i, bool relative = FALSE )\fC [virtual]\fR"
+Retrieves the record at position (offset) \fIi\fR, if available, and positions the query on the retrieved record. The first record is at position 0. Note that the query must be in an active state and isSelect() must return TRUE before calling this function.
+.PP
+If \fIrelative\fR is FALSE (the default), the following rules apply:
+.TP
+If \fIi\fR is negative, the result is positioned before the first record and FALSE is returned.
+.TP
+Otherwise, an attempt is made to move to the record at position \fIi\fR. If the record at position \fIi\fR could not be retrieved, the result is positioned after the last record and FALSE is returned. If the record is successfully retrieved, TRUE is returned.
+.PP
+If \fIrelative\fR is TRUE, the following rules apply:
+.TP
+If the result is currently positioned before the first record or on the first record, and \fIi\fR is negative, there is no change, and FALSE is returned.
+.TP
+If the result is currently located after the last record, and \fIi\fR is positive, there is no change, and FALSE is returned.
+.TP
+If the result is currently located somewhere in the middle, and the relative offset \fIi\fR moves the result below zero, the result is positioned before the first record and FALSE is returned.
+.TP
+Otherwise, an attempt is made to move to the record \fIi\fR records ahead of the current record (or \fIi\fR records behind the current record if \fIi\fR is negative). If the record at offset \fIi\fR could not be retrieved, the result is positioned after the last record if \fIi\fR >= 0, (or before the first record if \fIi\fR is negative), and FALSE is returned. If the record is successfully retrieved, TRUE is returned.
+.PP
+See also next(), prev(), first(), last(), at(), isActive(), and isValid().
+.PP
+Example: sql/overview/navigating/main.cpp.
+.SH "void QSqlQuery::setForwardOnly ( bool forward )"
+Sets forward only mode to \fIforward\fR. If forward is TRUE only next(), and seek() with positive values, are allowed for navigating the results. Forward only mode needs far less memory since results do not need to be cached.
+.PP
+Forward only mode is off by default.
+.PP
+Forward only mode cannot be used with data aware widgets like QDataTable, since they must to be able to scroll backward as well as forward.
+.PP
+See also isForwardOnly(), next(), and seek().
+.SH "int QSqlQuery::size () const"
+Returns the size of the result, (number of rows returned), or -1 if the size cannot be determined or if the database does not support reporting information about query sizes. Note that for non-\fCSELECT\fR statements (isSelect() returns FALSE), size() will return -1. If the query is not active (isActive() returns FALSE), -1 is returned.
+.PP
+To determine the number of rows affected by a non-SELECT statement, use numRowsAffected().
+.PP
+See also isActive(), numRowsAffected(), and QSqlDriver::hasFeature().
+.PP
+Example: sql/overview/navigating/main.cpp.
+.SH "QVariant QSqlQuery::value ( int i ) const\fC [virtual]\fR"
+Returns the value of the \fIi\fR-th field in the query (zero based).
+.PP
+The fields are numbered from left to right using the text of the \fCSELECT\fR statement, e.g. in \fCSELECT forename, surname FROM people\fR, field 0 is \fCforename\fR and field 1 is \fCsurname\fR. Using \fCSELECT *\fR is not recommended because the order of the fields in the query is undefined.
+.PP
+An invalid QVariant is returned if field \fIi\fR does not exist, if the query is inactive, or if the query is positioned on an invalid record.
+.PP
+See also prev(), next(), first(), last(), seek(), isActive(), and isValid().
+.PP
+Examples:
+.)l sql/overview/basicbrowsing/main.cpp, sql/overview/basicbrowsing2/main.cpp, sql/overview/retrieve1/main.cpp, sql/overview/subclass3/main.cpp, sql/overview/subclass4/main.cpp, sql/overview/subclass5/main.cpp, and sql/overview/table4/main.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlquery.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlquery.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlrecord.3qt b/doc/man/man3/qsqlrecord.3qt
new file mode 100644
index 0000000..211a1ab
--- /dev/null
+++ b/doc/man/man3/qsqlrecord.3qt
@@ -0,0 +1,268 @@
+'\" t
+.TH QSqlRecord 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlRecord \- Encapsulates a database record, i.e. a set of database fields
+.SH SYNOPSIS
+\fC#include <qsqlrecord.h>\fR
+.PP
+Inherited by QSqlCursor and QSqlIndex.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlRecord\fR ()"
+.br
+.ti -1c
+.BI "\fBQSqlRecord\fR ( const QSqlRecord & other )"
+.br
+.ti -1c
+.BI "QSqlRecord & \fBoperator=\fR ( const QSqlRecord & other )"
+.br
+.ti -1c
+.BI "virtual \fB~QSqlRecord\fR ()"
+.br
+.ti -1c
+.BI "virtual QVariant \fBvalue\fR ( int i ) const"
+.br
+.ti -1c
+.BI "virtual QVariant \fBvalue\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( int i, const QVariant & val )"
+.br
+.ti -1c
+.BI "virtual void \fBsetValue\fR ( const QString & name, const QVariant & val )"
+.br
+.ti -1c
+.BI "bool \fBisGenerated\fR ( int i ) const"
+.br
+.ti -1c
+.BI "bool \fBisGenerated\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetGenerated\fR ( const QString & name, bool generated )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGenerated\fR ( int i, bool generated )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNull\fR ( int i )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNull\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ( int i ) const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "int \fBposition\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "QString \fBfieldName\fR ( int i ) const"
+.br
+.ti -1c
+.BI "QSqlField * \fBfield\fR ( int i )"
+.br
+.ti -1c
+.BI "QSqlField * \fBfield\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "const QSqlField * \fBfield\fR ( int i ) const"
+.br
+.ti -1c
+.BI "const QSqlField * \fBfield\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual void \fBappend\fR ( const QSqlField & field )"
+.br
+.ti -1c
+.BI "virtual void \fBinsert\fR ( int pos, const QSqlField & field )"
+.br
+.ti -1c
+.BI "virtual void \fBremove\fR ( int pos )"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearValues\fR ( bool nullify = FALSE )"
+.br
+.ti -1c
+.BI "uint \fBcount\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR ( const QString & prefix = QString::null, const QString & sep = "","" ) const"
+.br
+.ti -1c
+.BI "virtual QStringList \fBtoStringList\fR ( const QString & prefix = QString::null ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlRecord class encapsulates a database record, i.e. a set of database fields.
+.PP
+The QSqlRecord class encapsulates the functionality and characteristics of a database record (usually a table or view within the database). QSqlRecords support adding and removing fields as well as setting and retrieving field values.
+.PP
+QSqlRecord is implicitly shared. This means you can make copies of the record in time O(1). If multiple QSqlRecord instances share the same data and one is modifying the record's data then this modifying instance makes a copy and modifies its private copy - thus it does not affect other instances.
+.PP
+See also QSqlRecordInfo and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlRecord::QSqlRecord ()"
+Constructs an empty record.
+.SH "QSqlRecord::QSqlRecord ( const QSqlRecord & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlRecord::~QSqlRecord ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "void QSqlRecord::append ( const QSqlField & field )\fC [virtual]\fR"
+Append a copy of field \fIfield\fR to the end of the record.
+.PP
+Reimplemented in QSqlIndex.
+.SH "void QSqlRecord::clear ()\fC [virtual]\fR"
+Removes all the record's fields.
+.PP
+See also clearValues().
+.PP
+Reimplemented in QSqlCursor.
+.SH "void QSqlRecord::clearValues ( bool nullify = FALSE )\fC [virtual]\fR"
+Clears the value of all fields in the record. If \fInullify\fR is TRUE, (the default is FALSE), each field is set to NULL.
+.SH "bool QSqlRecord::contains ( const QString & name ) const"
+Returns TRUE if there is a field in the record called \fIname\fR; otherwise returns FALSE.
+.SH "uint QSqlRecord::count () const"
+Returns the number of fields in the record.
+.SH "QSqlField * QSqlRecord::field ( int i )"
+Returns the field at position \fIi\fR within the record, or 0 if it cannot be found.
+.SH "QSqlField * QSqlRecord::field ( const QString & name )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the field called \fIname\fR within the record, or 0 if it cannot be found. Field names are not case-sensitive.
+.SH "const QSqlField * QSqlRecord::field ( int i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "const QSqlField * QSqlRecord::field ( const QString & name ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the field called \fIname\fR within the record, or 0 if it cannot be found. Field names are not case-sensitive.
+.SH "QString QSqlRecord::fieldName ( int i ) const"
+Returns the name of the field at position \fIi\fR. If the field does not exist, QString::null is returned.
+.SH "void QSqlRecord::insert ( int pos, const QSqlField & field )\fC [virtual]\fR"
+Insert a copy of \fIfield\fR at position \fIpos\fR. If a field already exists at \fIpos\fR, it is removed.
+.SH "bool QSqlRecord::isEmpty () const"
+Returns TRUE if there are no fields in the record; otherwise returns FALSE.
+.SH "bool QSqlRecord::isGenerated ( const QString & name ) const"
+Returns TRUE if the record has a field called \fIname\fR and this field is to be generated (the default); otherwise returns FALSE.
+.PP
+See also setGenerated().
+.SH "bool QSqlRecord::isGenerated ( int i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the record has a field at position \fIi\fR and this field is to be generated (the default); otherwise returns FALSE.
+.PP
+See also setGenerated().
+.SH "bool QSqlRecord::isNull ( const QString & name ) const"
+Returns TRUE if the field called \fIname\fR is NULL or if there is no field called \fIname\fR; otherwise returns FALSE.
+.PP
+See also position().
+.SH "bool QSqlRecord::isNull ( int i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the field \fIi\fR is NULL or if there is no field at position \fIi\fR; otherwise returns FALSE.
+.PP
+See also fieldName().
+.SH "QSqlRecord & QSqlRecord::operator= ( const QSqlRecord & other )"
+Sets the record equal to \fIother\fR.
+.SH "int QSqlRecord::position ( const QString & name ) const"
+Returns the position of the field called \fIname\fR within the record, or -1 if it cannot be found. Field names are not case-sensitive. If more than one field matches, the first one is returned.
+.SH "void QSqlRecord::remove ( int pos )\fC [virtual]\fR"
+Removes the field at \fIpos\fR. If \fIpos\fR does not exist, nothing happens.
+.PP
+Reimplemented in QSqlCursor.
+.SH "void QSqlRecord::setGenerated ( const QString & name, bool generated )\fC [virtual]\fR"
+Sets the generated flag for the field called \fIname\fR to \fIgenerated\fR. If the field does not exist, nothing happens. Only fields that have \fIgenerated\fR set to TRUE are included in the SQL that is generated, e.g. by QSqlCursor.
+.PP
+See also isGenerated().
+.PP
+Reimplemented in QSqlCursor.
+.SH "void QSqlRecord::setGenerated ( int i, bool generated )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the generated flag for the field \fIi\fR to \fIgenerated\fR.
+.PP
+See also isGenerated().
+.PP
+Reimplemented in QSqlCursor.
+.SH "void QSqlRecord::setNull ( int i )\fC [virtual]\fR"
+Sets the value of field \fIi\fR to NULL. If the field does not exist, nothing happens.
+.SH "void QSqlRecord::setNull ( const QString & name )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the value of the field called \fIname\fR to NULL. If the field does not exist, nothing happens.
+.SH "void QSqlRecord::setValue ( int i, const QVariant & val )\fC [virtual]\fR"
+Sets the value of the field at position \fIi\fR to \fIval\fR. If the field does not exist, nothing happens.
+.PP
+Examples:
+.)l sql/overview/insert/main.cpp, sql/overview/insert2/main.cpp, sql/overview/subclass5/main.cpp, sql/overview/update/main.cpp, and sql/sqltable/main.cpp.
+.SH "void QSqlRecord::setValue ( const QString & name, const QVariant & val )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the value of the field called \fIname\fR to \fIval\fR. If the field does not exist, nothing happens.
+.SH "QString QSqlRecord::toString ( const QString & prefix = QString::null, const QString & sep = "," ) const\fC [virtual]\fR"
+Returns a list of all the record's field names as a string separated by \fIsep\fR.
+.PP
+Note that fields which are not generated are \fInot\fR included (see isGenerated()). The returned string is suitable, for example, for generating SQL SELECT statements. If a \fIprefix\fR is specified, e.g. a table name, all fields are prefixed in the form:
+.PP"
+\fIprefix\fR.<fieldname>"
+.SH "QStringList QSqlRecord::toStringList ( const QString & prefix = QString::null ) const\fC [virtual]\fR"
+Returns a list of all the record's field names, each having the prefix \fIprefix\fR.
+.PP
+Note that fields which have generated set to FALSE are \fInot\fR included. (See isGenerated()). If \fIprefix\fR is supplied, e.g. a table name, all fields are prefixed in the form:
+.PP"
+\fIprefix\fR.<fieldname>"
+.SH "QVariant QSqlRecord::value ( int i ) const\fC [virtual]\fR"
+Returns the value of the field located at position \fIi\fR in the record. If field \fIi\fR does not exist the resultant behaviour is undefined.
+.PP
+This function should be used with QSqlQuerys. When working with a QSqlCursor the value(const QString&) overload which uses field names is more appropriate.
+.PP
+Example: sql/overview/update/main.cpp.
+.SH "QVariant QSqlRecord::value ( const QString & name ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the value of the field called \fIname\fR in the record. If
+field \fIname\fR does not exist the resultant behaviour is undefined.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlrecord.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlrecord.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlrecordinfo.3qt b/doc/man/man3/qsqlrecordinfo.3qt
new file mode 100644
index 0000000..122005c
--- /dev/null
+++ b/doc/man/man3/qsqlrecordinfo.3qt
@@ -0,0 +1,79 @@
+'\" t
+.TH QSqlRecordInfo 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlRecordInfo \- Encapsulates a set of database field meta data
+.SH SYNOPSIS
+\fC#include <qsqlrecord.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlRecordInfo\fR ()"
+.br
+.ti -1c
+.BI "\fBQSqlRecordInfo\fR ( const QSqlFieldInfoList & other )"
+.br
+.ti -1c
+.BI "\fBQSqlRecordInfo\fR ( const QSqlRecord & other )"
+.br
+.ti -1c
+.BI "size_type \fBcontains\fR ( const QString & fieldName ) const"
+.br
+.ti -1c
+.BI "QSqlFieldInfo \fBfind\fR ( const QString & fieldName ) const"
+.br
+.ti -1c
+.BI "QSqlRecord \fBtoRecord\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlRecordInfo class encapsulates a set of database field meta data.
+.PP
+This class is a QValueList that holds a set of database field meta data. Use contains() to see if a given field name exists in the record, and use find() to get a QSqlFieldInfo record for a named field.
+.PP
+See also QValueList, QSqlFieldInfo, and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlRecordInfo::QSqlRecordInfo ()"
+Constructs an empty record info object
+.SH "QSqlRecordInfo::QSqlRecordInfo ( const QSqlFieldInfoList & other )"
+Constructs a copy of \fIother\fR.
+.SH "QSqlRecordInfo::QSqlRecordInfo ( const QSqlRecord & other )"
+Constructs a QSqlRecordInfo object based on the fields in the QSqlRecord \fIother\fR.
+.SH "size_type QSqlRecordInfo::contains ( const QString & fieldName ) const"
+Returns the number of times a field called \fIfieldName\fR occurs in the record. Returns 0 if no field by that name could be found.
+.SH "QSqlFieldInfo QSqlRecordInfo::find ( const QString & fieldName ) const"
+Returns a QSqlFieldInfo object for the first field in the record which has the field name \fIfieldName\fR. If no matching field is found then an empty QSqlFieldInfo object is returned.
+.SH "QSqlRecord QSqlRecordInfo::toRecord () const"
+Returns an empty QSqlRecord based on the field information
+in this QSqlRecordInfo.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlrecordinfo.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlrecordinfo.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlresult.3qt b/doc/man/man3/qsqlresult.3qt
new file mode 100644
index 0000000..f9d8e08
--- /dev/null
+++ b/doc/man/man3/qsqlresult.3qt
@@ -0,0 +1,189 @@
+'\" t
+.TH QSqlResult 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlResult \- Abstract interface for accessing data from SQL databases
+.SH SYNOPSIS
+\fC#include <qsqlresult.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QSqlResult\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlResult\fR ( const QSqlDriver * db )"
+.br
+.ti -1c
+.BI "int \fBat\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlastQuery\fR () const"
+.br
+.ti -1c
+.BI "QSqlError \fBlastError\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSelect\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisForwardOnly\fR () const"
+.br
+.ti -1c
+.BI "const QSqlDriver * \fBdriver\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAt\fR ( int at )"
+.br
+.ti -1c
+.BI "virtual void \fBsetActive\fR ( bool a )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLastError\fR ( const QSqlError & e )"
+.br
+.ti -1c
+.BI "virtual void \fBsetQuery\fR ( const QString & query )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelect\fR ( bool s )"
+.br
+.ti -1c
+.BI "virtual void \fBsetForwardOnly\fR ( bool forward )"
+.br
+.ti -1c
+.BI "virtual QVariant \fBdata\fR ( int i ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBisNull\fR ( int i ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBreset\fR ( const QString & query ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBfetch\fR ( int i ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBfetchNext\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBfetchPrev\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBfetchFirst\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBfetchLast\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBsize\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBnumRowsAffected\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlResult class provides an abstract interface for accessing data from SQL databases.
+.PP
+Normally you would use QSqlQuery instead of QSqlResult since QSqlQuery provides a generic wrapper for database-specific implementations of QSqlResult.
+.PP
+See also QSql and Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlResult::QSqlResult ( const QSqlDriver * db )\fC [protected]\fR"
+Protected constructor which creates a QSqlResult using database \fIdb\fR. The object is initialized to an inactive state.
+.SH "QSqlResult::~QSqlResult ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "int QSqlResult::at () const\fC [protected]\fR"
+Returns the current (zero-based) position of the result.
+.SH "QVariant QSqlResult::data ( int i )\fC [pure virtual protected]\fR"
+Returns the data for field \fIi\fR (zero-based) as a QVariant. This function is only called if the result is in an active state and is positioned on a valid record and \fIi\fR is non-negative. Derived classes must reimplement this function and return the value of field \fIi\fR, or QVariant() if it cannot be determined.
+.SH "const QSqlDriver * QSqlResult::driver () const\fC [protected]\fR"
+Returns the driver associated with the result.
+.SH "bool QSqlResult::fetch ( int i )\fC [pure virtual protected]\fR"
+Positions the result to an arbitrary (zero-based) index \fIi\fR. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the index \fIi\fR, and call setAt() with an appropriate value. Return TRUE to indicate success, or FALSE to signify failure.
+.SH "bool QSqlResult::fetchFirst ()\fC [pure virtual protected]\fR"
+Positions the result to the first record in the result. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the first record, and call setAt() with an appropriate value. Return TRUE to indicate success, or FALSE to signify failure.
+.SH "bool QSqlResult::fetchLast ()\fC [pure virtual protected]\fR"
+Positions the result to the last record in the result. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the last record, and call setAt() with an appropriate value. Return TRUE to indicate success, or FALSE to signify failure.
+.SH "bool QSqlResult::fetchNext ()\fC [virtual protected]\fR"
+Positions the result to the next available record in the result. This function is only called if the result is in an active state. The default implementation calls fetch() with the next index. Derived classes can reimplement this function and position the result to the next record in some other way, and call setAt() with an appropriate value. Return TRUE to indicate success, or FALSE to signify failure.
+.SH "bool QSqlResult::fetchPrev ()\fC [virtual protected]\fR"
+Positions the result to the previous available record in the result. This function is only called if the result is in an active state. The default implementation calls fetch() with the previous index. Derived classes can reimplement this function and position the result to the next record in some other way, and call setAt() with an appropriate value. Return TRUE to indicate success, or FALSE to signify failure.
+.SH "bool QSqlResult::isActive () const\fC [protected]\fR"
+Returns TRUE if the result has records to be retrieved; otherwise returns FALSE.
+.SH "bool QSqlResult::isForwardOnly () const\fC [protected]\fR"
+Returns TRUE if you can only scroll forward through a result set; otherwise returns FALSE.
+.SH "bool QSqlResult::isNull ( int i )\fC [pure virtual protected]\fR"
+Returns TRUE if the field at position \fIi\fR is NULL; otherwise returns FALSE.
+.SH "bool QSqlResult::isSelect () const\fC [protected]\fR"
+Returns TRUE if the current result is from a SELECT statement; otherwise returns FALSE.
+.SH "bool QSqlResult::isValid () const\fC [protected]\fR"
+Returns TRUE if the result is positioned on a valid record (that is, the result is not positioned before the first or after the last record); otherwise returns FALSE.
+.SH "QSqlError QSqlResult::lastError () const\fC [protected]\fR"
+Returns the last error associated with the result.
+.SH "QString QSqlResult::lastQuery () const\fC [protected]\fR"
+Returns the current SQL query text, or QString::null if there is none.
+.SH "int QSqlResult::numRowsAffected ()\fC [pure virtual protected]\fR"
+Returns the number of rows affected by the last query executed.
+.SH "bool QSqlResult::reset ( const QString & query )\fC [pure virtual protected]\fR"
+Sets the result to use the SQL statement \fIquery\fR for subsequent data retrieval. Derived classes must reimplement this function and apply the \fIquery\fR to the database. This function is called only after the result is set to an inactive state and is positioned before the first record of the new result. Derived classes should return TRUE if the query was successful and ready to be used, or FALSE otherwise.
+.SH "void QSqlResult::setActive ( bool a )\fC [virtual protected]\fR"
+Protected function provided for derived classes to set the internal active state to the value of \fIa\fR.
+.PP
+See also isActive().
+.SH "void QSqlResult::setAt ( int at )\fC [virtual protected]\fR"
+Protected function provided for derived classes to set the internal (zero-based) result index to \fIat\fR.
+.PP
+See also at().
+.SH "void QSqlResult::setForwardOnly ( bool forward )\fC [virtual protected]\fR"
+Sets forward only mode to \fIforward\fR. If forward is TRUE only fetchNext() is allowed for navigating the results. Forward only mode needs far less memory since results do not have to be cached. forward only mode is off by default.
+.PP
+See also fetchNext().
+.SH "void QSqlResult::setLastError ( const QSqlError & e )\fC [virtual protected]\fR"
+Protected function provided for derived classes to set the last error to the value of \fIe\fR.
+.PP
+See also lastError().
+.SH "void QSqlResult::setQuery ( const QString & query )\fC [virtual protected]\fR"
+Sets the current query for the result to \fIquery\fR. The result must be reset() in order to execute the query on the database.
+.SH "void QSqlResult::setSelect ( bool s )\fC [virtual protected]\fR"
+Protected function provided for derived classes to indicate whether or not the current statement is a SQL SELECT statement. The \fIs\fR parameter should be TRUE if the statement is a SELECT statement, or FALSE otherwise.
+.SH "int QSqlResult::size ()\fC [pure virtual protected]\fR"
+Returns the size of the result or -1 if it cannot be determined.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlresult.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlresult.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsqlselectcursor.3qt b/doc/man/man3/qsqlselectcursor.3qt
new file mode 100644
index 0000000..ff5441c
--- /dev/null
+++ b/doc/man/man3/qsqlselectcursor.3qt
@@ -0,0 +1,91 @@
+'\" t
+.TH QSqlSelectCursor 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSqlSelectCursor \- Browsing of general SQL SELECT statements
+.SH SYNOPSIS
+\fC#include <qsqlselectcursor.h>\fR
+.PP
+Inherits QSqlCursor.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSqlSelectCursor\fR ( const QString & query = QString::null, QSqlDatabase * db = 0 )"
+.br
+.ti -1c
+.BI "\fBQSqlSelectCursor\fR ( const QSqlSelectCursor & other )"
+.br
+.ti -1c
+.BI "\fB~QSqlSelectCursor\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSqlSelectCursor class provides browsing of general SQL SELECT statements.
+.PP
+QSqlSelectCursor is a convenience class that makes it possible to display result sets from general SQL \fCSELECT\fR statements in data-aware Qt widgets. QSqlSelectCursor is read-only and does not support \fCINSERT\fR, \fCUPDATE\fR or \fCDELETE\fR operations.
+.PP
+Pass the query in at construction time, or use the QSqlSelectCursor::exec() function.
+.PP
+Example:
+.PP
+.nf
+.br
+ ...
+.br
+ QSqlSelectCursor* cur = new QSqlSelectCursor( "SELECT id, firstname, lastname FROM author" );
+.br
+ QDataTable* table = new QDataTable( this );
+.br
+ table->setSqlCursor( cur, TRUE, TRUE );
+.br
+ table->refresh();
+.br
+ ...
+.br
+ cur->exec( "SELECT * FROM books" );
+.br
+ table->refresh();
+.br
+ ...
+.br
+.fi
+.PP
+See also Database Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSqlSelectCursor::QSqlSelectCursor ( const QString & query = QString::null, QSqlDatabase * db = 0 )"
+Constructs a read only cursor on database \fIdb\fR using the query \fIquery\fR.
+.SH "QSqlSelectCursor::QSqlSelectCursor ( const QSqlSelectCursor & other )"
+Constructs a copy of \fIother\fR
+.SH "QSqlSelectCursor::~QSqlSelectCursor ()"
+Destroys the object and frees any allocated resources
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsqlselectcursor.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsqlselectcursor.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstatusbar.3qt b/doc/man/man3/qstatusbar.3qt
new file mode 100644
index 0000000..c6acaae
--- /dev/null
+++ b/doc/man/man3/qstatusbar.3qt
@@ -0,0 +1,209 @@
+'\" t
+.TH QStatusBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStatusBar \- Horizontal bar suitable for presenting status information
+.SH SYNOPSIS
+\fC#include <qstatusbar.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStatusBar\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QStatusBar\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBaddWidget\fR ( QWidget * widget, int stretch = 0, bool permanent = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveWidget\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "void \fBsetSizeGripEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBisSizeGripEnabled\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBmessage\fR ( const QString & message )"
+.br
+.ti -1c
+.BI "void \fBmessage\fR ( const QString & message, int ms )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBmessageChanged\fR ( const QString & message )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBsizeGripEnabled\fR - whether the QSizeGrip in the bottom right of the status bar is enabled"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * )"
+.br
+.ti -1c
+.BI "void \fBreformat\fR ()"
+.br
+.ti -1c
+.BI "void \fBhideOrShow\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStatusBar class provides a horizontal bar suitable for presenting status information.
+.PP
+Each status indicator falls into one of three categories:
+.TP
+\fITemporary\fR - briefly occupies most of the status bar. Used to explain tool tip texts or menu entries, for example.
+.TP
+\fINormal\fR - occupies part of the status bar and may be hidden by temporary messages. Used to display the page and line number in a word processor, for example.
+.TP
+\fIPermanent\fR - is never hidden. Used for important mode indications, for example, some applications put a Caps Lock indicator in the status bar.
+.PP
+QStatusBar lets you display all three types of indicators.
+.PP
+To display a \fItemporary\fR message, call message() (perhaps by connecting a suitable signal to it). To remove a temporary message, call clear(). There are two variants of message(): one that displays the message until the next clear() or message() and one that has a time limit:
+.PP
+.nf
+.br
+ connect( loader, SIGNAL(progressMessage(const QString&)),
+.br
+ statusBar(), SLOT(message(const QString&)) );
+.br
+.br
+ statusBar()->message("Loading..."); // Initial message
+.br
+ loader.loadStuff(); // Emits progress messages
+.br
+ statusBar()->message("Done.", 2000); // Final message for 2 seconds
+.br
+.fi
+.PP
+\fINormal\fR and \fIPermanent\fR messages are displayed by creating a small widget and then adding it to the status bar with addWidget(). Widgets like QLabel, QProgressBar or even QToolButton are useful for adding to status bars. removeWidget() is used to remove widgets.
+.PP
+.nf
+.br
+ statusBar()->addWidget(new MyReadWriteIndication(statusBar()));
+.br
+.fi
+.PP
+By default QStatusBar provides a QSizeGrip in the lower-right corner. You can disable it with setSizeGripEnabled(FALSE);
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QToolBar, QMainWindow, QLabel, GUI Design Handbook: Status Bar, Main Window and Related Classes, and Help System.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStatusBar::QStatusBar ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a status bar called \fIname\fR with parent \fIparent\fR and with a size grip.
+.PP
+See also sizeGripEnabled.
+.SH "QStatusBar::~QStatusBar ()\fC [virtual]\fR"
+Destroys the status bar and frees any allocated resources and child widgets.
+.SH "void QStatusBar::addWidget ( QWidget * widget, int stretch = 0, bool permanent = FALSE )\fC [virtual]\fR"
+Adds \fIwidget\fR to this status bar. \fIwidget\fR is reparented if it isn't already a child of the QStatusBar.
+.PP
+\fIwidget\fR is permanently visible if \fIpermanent\fR is TRUE and may be obscured by temporary messages if \fIpermanent\fR is FALSE. The default is FALSE.
+.PP
+If \fIpermanent\fR is TRUE, \fIwidget\fR is located at the far right of the status bar. If \fIpermanent\fR is FALSE (the default), \fIwidget\fR is located just to the left of the first permanent widget.
+.PP
+\fIstretch\fR is used to compute a suitable size for \fIwidget\fR as the status bar grows and shrinks. The default of 0 uses a minimum of space.
+.PP
+This function may cause some flicker.
+.PP
+See also removeWidget().
+.SH "void QStatusBar::clear ()\fC [slot]\fR"
+Removes any temporary message being shown.
+.PP
+See also message().
+.SH "void QStatusBar::hideOrShow ()\fC [protected]\fR"
+Ensures that the right widgets are visible. Used by message() and clear().
+.SH "bool QStatusBar::isSizeGripEnabled () const"
+Returns TRUE if the QSizeGrip in the bottom right of the status bar is enabled; otherwise returns FALSE. See the "sizeGripEnabled" property for details.
+.SH "void QStatusBar::message ( const QString & message )\fC [slot]\fR"
+Hides the normal status indicators and displays \fImessage\fR until clear() or another message() is called.
+.PP
+See also clear().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "void QStatusBar::message ( const QString & message, int ms )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Hides the normal status indications and displays \fImessage\fR for \fIms\fR milli-seconds or until clear() or another message() is called, whichever occurs first.
+.SH "void QStatusBar::messageChanged ( const QString & message )\fC [signal]\fR"
+This signal is emitted when the temporary status messages changes. \fImessage\fR is the new temporary message, and is a null-string when the message has been removed.
+.PP
+See also message() and clear().
+.SH "void QStatusBar::paintEvent ( QPaintEvent * )\fC [virtual protected]\fR"
+Shows the temporary message, if appropriate.
+.PP
+Reimplemented from QWidget.
+.SH "void QStatusBar::reformat ()\fC [protected]\fR"
+Changes the status bar's appearance to account for item changes. Special subclasses may need this, but geometry management will usually take care of any necessary rearrangements.
+.SH "void QStatusBar::removeWidget ( QWidget * widget )\fC [virtual]\fR"
+Removes \fIwidget\fR from the status bar.
+.PP
+This function may cause some flicker.
+.PP
+Note that \fIwidget\fR is not deleted.
+.PP
+See also addWidget().
+.SH "void QStatusBar::setSizeGripEnabled ( bool )"
+Sets whether the QSizeGrip in the bottom right of the status bar is enabled. See the "sizeGripEnabled" property for details.
+.SS "Property Documentation"
+.SH "bool sizeGripEnabled"
+This property holds whether the QSizeGrip in the bottom right of the status bar is enabled.
+.PP
+Enables or disables the QSizeGrip in the bottom right of the status bar. By default, the size grip is enabled.
+.PP
+Set this property's value with setSizeGripEnabled() and get this property's value with isSizeGripEnabled().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstatusbar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstatusbar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstoreddrag.3qt b/doc/man/man3/qstoreddrag.3qt
new file mode 100644
index 0000000..f83c210
--- /dev/null
+++ b/doc/man/man3/qstoreddrag.3qt
@@ -0,0 +1,83 @@
+'\" t
+.TH QStoredDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStoredDrag \- Simple stored-value drag object for arbitrary MIME data
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QDragObject.
+.PP
+Inherited by QUriDrag and QColorDrag.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStoredDrag\fR ( const char * mimeType, QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QStoredDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetEncodedData\fR ( const QByteArray & encodedData )"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBencodedData\fR ( const char * m ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStoredDrag class provides a simple stored-value drag object for arbitrary MIME data.
+.PP
+When a block of data has only one representation, you can use a QStoredDrag to hold it.
+.PP
+For more information about drag and drop, see the QDragObject class and the drag and drop documentation.
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStoredDrag::QStoredDrag ( const char * mimeType, QWidget * dragSource = 0, const char * name = 0 )"
+Constructs a QStoredDrag. The \fIdragSource\fR and \fIname\fR are passed to the QDragObject constructor, and the format is set to \fImimeType\fR.
+.PP
+The data will be unset. Use setEncodedData() to set it.
+.SH "QStoredDrag::~QStoredDrag ()"
+Destroys the drag object and frees up all allocated resources.
+.SH "QByteArray QStoredDrag::encodedData ( const char * m ) const\fC [virtual]\fR"
+Returns the stored data. \fIm\fR contains the data's format.
+.PP
+See also setEncodedData().
+.PP
+Reimplemented from QMimeSource.
+.SH "void QStoredDrag::setEncodedData ( const QByteArray & encodedData )\fC [virtual]\fR"
+Sets the encoded data of this drag object to \fIencodedData\fR. The encoded data is what's delivered to the drop sites. It must be in a strictly defined and portable format.
+.PP
+The drag object can't be dropped (by the user) until this function
+has been called.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstoreddrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstoreddrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstrilist.3qt b/doc/man/man3/qstrilist.3qt
new file mode 100644
index 0000000..ace82c8
--- /dev/null
+++ b/doc/man/man3/qstrilist.3qt
@@ -0,0 +1,64 @@
+'\" t
+.TH QStrIList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStrIList \- Doubly-linked list of char* with case-insensitive comparison
+.SH SYNOPSIS
+\fC#include <qstrlist.h>\fR
+.PP
+Inherits QStrList.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStrIList\fR ( bool deepCopies = TRUE )"
+.br
+.ti -1c
+.BI "\fB~QStrIList\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStrIList class provides a doubly-linked list of char* with case-insensitive comparison.
+.PP
+This class is a QPtrList<char> instance (a list of char*).
+.PP
+QStrIList is identical to QStrList except that the virtual compareItems() function is reimplemented to compare strings case-insensitively. The inSort() function inserts strings in a sorted order. In general it is fastest to insert the strings as they come and sort() at the end; inSort() is useful when you just have to add a few extra strings to an already sorted list.
+.PP
+The QStrListIterator class works for QStrIList.
+.PP
+See also QStringList, Collection Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStrIList::QStrIList ( bool deepCopies = TRUE )"
+Constructs a list of strings. Will make deep copies of all inserted strings if \fIdeepCopies\fR is TRUE, or use shallow copies if \fIdeepCopies\fR is FALSE.
+.SH "QStrIList::~QStrIList ()"
+Destroys the list. All strings are removed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstrilist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstrilist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstring.3qt b/doc/man/man3/qstring.3qt
new file mode 100644
index 0000000..1e41f0a
--- /dev/null
+++ b/doc/man/man3/qstring.3qt
@@ -0,0 +1,2553 @@
+'\" t
+.TH QString 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QString \- Abstraction of Unicode text and the classic C '&#92;0'-terminated char array
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qstring.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQString\fR ()"
+.br
+.ti -1c
+.BI "\fBQString\fR ( QChar ch )"
+.br
+.ti -1c
+.BI "\fBQString\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "\fBQString\fR ( const QByteArray & ba )"
+.br
+.ti -1c
+.BI "\fBQString\fR ( const QChar * unicode, uint length )"
+.br
+.ti -1c
+.BI "\fBQString\fR ( const char * str )"
+.br
+.ti -1c
+.BI "\fBQString\fR ( const std::string & str )"
+.br
+.ti -1c
+.BI "\fB~QString\fR ()"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( const std::string & s )"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( const QCString & cstr )"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( QChar c )"
+.br
+.ti -1c
+.BI "QString & \fBoperator=\fR ( char c )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "uint \fBlength\fR () const"
+.br
+.ti -1c
+.BI "void \fBtruncate\fR ( uint newLen )"
+.br
+.ti -1c
+.BI "QString & \fBfill\fR ( QChar c, int len = -1 )"
+.br
+.ti -1c
+.BI "QString copy () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( long a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( ulong a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( Q_LLONG a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( Q_ULLONG a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( int a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( uint a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( short a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( ushort a, int fieldWidth = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( double a, int fieldWidth = 0, char fmt = 'g', int prec = -1 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( char a, int fieldWidth = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( QChar a, int fieldWidth = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( const QString & a, int fieldWidth = 0 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( const QString & a1, const QString & a2 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( const QString & a1, const QString & a2, const QString & a3 ) const"
+.br
+.ti -1c
+.BI "QString \fBarg\fR ( const QString & a1, const QString & a2, const QString & a3, const QString & a4 ) const"
+.br
+.ti -1c
+.BI "QString & \fBsprintf\fR ( const char * cformat, ... )"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( QChar c, int index = 0, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( char c, int index = 0, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const QString & str, int index = 0, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const QRegExp & rx, int index = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBfind\fR ( const char * str, int index = 0 ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( QChar c, int index = -1, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( char c, int index = -1, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( const QString & str, int index = -1, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( const QRegExp & rx, int index = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBfindRev\fR ( const char * str, int index = -1 ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( QChar c, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( char c, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const char * str, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const QString & str, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "int \fBcontains\fR ( const QRegExp & rx ) const"
+.br
+.ti -1c
+.BI "enum \fBSectionFlags\fR { SectionDefault = 0x00, SectionSkipEmpty = 0x01, SectionIncludeLeadingSep = 0x02, SectionIncludeTrailingSep = 0x04, SectionCaseInsensitiveSeps = 0x08 }"
+.br
+.ti -1c
+.BI "QString \fBsection\fR ( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+.br
+.ti -1c
+.BI "QString \fBsection\fR ( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+.br
+.ti -1c
+.BI "QString \fBsection\fR ( const char * sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+.br
+.ti -1c
+.BI "QString \fBsection\fR ( const QString & sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+.br
+.ti -1c
+.BI "QString \fBsection\fR ( const QRegExp & reg, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+.br
+.ti -1c
+.BI "QString \fBleft\fR ( uint len ) const"
+.br
+.ti -1c
+.BI "QString \fBright\fR ( uint len ) const"
+.br
+.ti -1c
+.BI "QString \fBmid\fR ( uint index, uint len = 0xffffffff ) const"
+.br
+.ti -1c
+.BI "QString \fBleftJustify\fR ( uint width, QChar fill = ' ', bool truncate = FALSE ) const"
+.br
+.ti -1c
+.BI "QString \fBrightJustify\fR ( uint width, QChar fill = ' ', bool truncate = FALSE ) const"
+.br
+.ti -1c
+.BI "QString \fBlower\fR () const"
+.br
+.ti -1c
+.BI "QString \fBupper\fR () const"
+.br
+.ti -1c
+.BI "QString \fBstripWhiteSpace\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsimplifyWhiteSpace\fR () const"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, const QString & s )"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, const QByteArray & s )"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, const char * s )"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, const QChar * s, uint len )"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, QChar c )"
+.br
+.ti -1c
+.BI "QString & \fBinsert\fR ( uint index, char c )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( char ch )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( QChar ch )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( const QByteArray & str )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QString & \fBappend\fR ( const std::string & str )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( char ch )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( QChar ch )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( const QByteArray & s )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( const char * s )"
+.br
+.ti -1c
+.BI "QString & \fBprepend\fR ( const std::string & s )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( uint index, uint len )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( const QString & str, bool cs = TRUE )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( QChar c )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( char c )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QString & \fBremove\fR ( const QRegExp & rx )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( uint index, uint len, const QString & s )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( uint index, uint len, const QChar * s, uint slen )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( uint index, uint len, QChar c )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( uint index, uint len, char c )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( QChar c, const QString & after, bool cs = TRUE )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( char c, const QString & after, bool cs = TRUE )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( const QString & before, const QString & after, bool cs = TRUE )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( const QRegExp & rx, const QString & after )"
+.br
+.ti -1c
+.BI "QString & \fBreplace\fR ( QChar c1, QChar c2 )"
+.br
+.ti -1c
+.BI "short \fBtoShort\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "ushort \fBtoUShort\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "int \fBtoInt\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "uint \fBtoUInt\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "long \fBtoLong\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "ulong \fBtoULong\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "Q_LLONG \fBtoLongLong\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "Q_ULLONG \fBtoULongLong\fR ( bool * ok = 0, int base = 10 ) const"
+.br
+.ti -1c
+.BI "float \fBtoFloat\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "double \fBtoDouble\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( short n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( ushort n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( int n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( uint n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( long n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( ulong n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( Q_LLONG n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( Q_ULLONG n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( float n, char f = 'g', int prec = 6 )"
+.br
+.ti -1c
+.BI "QString & \fBsetNum\fR ( double n, char f = 'g', int prec = 6 )"
+.br
+.ti -1c
+.BI "void setExpand ( uint index, QChar c ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( const QByteArray & str )"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( const char * str )"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( const std::string & str )"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( QChar c )"
+.br
+.ti -1c
+.BI "QString & \fBoperator+=\fR ( char c )"
+.br
+.ti -1c
+.BI "QChar \fBat\fR ( uint i ) const"
+.br
+.ti -1c
+.BI "QChar \fBoperator[]\fR ( int i ) const"
+.br
+.ti -1c
+.BI "QCharRef \fBat\fR ( uint i )"
+.br
+.ti -1c
+.BI "QCharRef \fBoperator[]\fR ( int i )"
+.br
+.ti -1c
+.BI "QChar \fBconstref\fR ( uint i ) const"
+.br
+.ti -1c
+.BI "QChar & \fBref\fR ( uint i )"
+.br
+.ti -1c
+.BI "const QChar * \fBunicode\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBascii\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBlatin1\fR () const"
+.br
+.ti -1c
+.BI "QCString \fButf8\fR () const"
+.br
+.ti -1c
+.BI "QCString \fBlocal8Bit\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator!\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator const char *\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator std::string\fR () const"
+.br
+.ti -1c
+.BI "const unsigned short * \fBucs2\fR () const"
+.br
+.ti -1c
+.BI "QString & \fBsetUnicode\fR ( const QChar * unicode, uint len )"
+.br
+.ti -1c
+.BI "QString & \fBsetUnicodeCodes\fR ( const ushort * unicode_as_ushorts, uint len )"
+.br
+.ti -1c
+.BI "QString & \fBsetAscii\fR ( const char * str, int len = -1 )"
+.br
+.ti -1c
+.BI "QString & \fBsetLatin1\fR ( const char * str, int len = -1 )"
+.br
+.ti -1c
+.BI "int \fBcompare\fR ( const QString & s ) const"
+.br
+.ti -1c
+.BI "int \fBlocaleAwareCompare\fR ( const QString & s ) const"
+.br
+.ti -1c
+.BI "void \fBcompose\fR ()"
+.br
+.ti -1c
+.BI "const char * data () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBstartsWith\fR ( const QString & s, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "bool \fBendsWith\fR ( const QString & s, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "void \fBsetLength\fR ( uint newLen )"
+.br
+.ti -1c
+.BI "uint \fBcapacity\fR () const"
+.br
+.ti -1c
+.BI "void \fBreserve\fR ( uint minCapacity )"
+.br
+.ti -1c
+.BI "void \fBsqueeze\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBnumber\fR ( long n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( ulong n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( Q_LLONG n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( Q_ULLONG n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( int n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( uint n, int base = 10 )"
+.br
+.ti -1c
+.BI "QString \fBnumber\fR ( double n, char f = 'g', int prec = 6 )"
+.br
+.ti -1c
+.BI "QString \fBfromAscii\fR ( const char * ascii, int len = -1 )"
+.br
+.ti -1c
+.BI "QString \fBfromLatin1\fR ( const char * chars, int len = -1 )"
+.br
+.ti -1c
+.BI "QString \fBfromUtf8\fR ( const char * utf8, int len = -1 )"
+.br
+.ti -1c
+.BI "QString \fBfromLocal8Bit\fR ( const char * local8Bit, int len = -1 )"
+.br
+.ti -1c
+.BI "QString \fBfromUcs2\fR ( const unsigned short * str )"
+.br
+.ti -1c
+.BI "int \fBcompare\fR ( const QString & s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "int \fBlocaleAwareCompare\fR ( const QString & s1, const QString & s2 )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QString & s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QString & s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "const QString \fBoperator+\fR ( const QString & s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "const QString \fBoperator+\fR ( const QString & s1, const char * s2 )"
+.br
+.ti -1c
+.BI "const QString \fBoperator+\fR ( const char * s1, const QString & s2 )"
+.br
+.ti -1c
+.BI "const QString \fBoperator+\fR ( const QString & s, char c )"
+.br
+.ti -1c
+.BI "const QString \fBoperator+\fR ( char c, const QString & s )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QString & str )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QString & str )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QString class provides an abstraction of Unicode text and the classic C '&#92;0'-terminated char array.
+.PP
+QString uses implicit sharing, which makes it very efficient and easy to use.
+.PP
+In all of the QString methods that take \fCconst char *\fR parameters, the \fCconst char *\fR is interpreted as a classic C-style '&#92;0'-terminated ASCII string. It is legal for the \fCconst char *\fR parameter to be 0. If the \fCconst char *\fR is not '&#92;0'-terminated, the results are undefined. Functions that copy classic C strings into a QString will not copy the terminating '&#92;0' character. The QChar array of the QString (as returned by unicode()) is generally not terminated by a '&#92;0'. If you need to pass a QString to a function that requires a C '&#92;0'-terminated string use latin1().
+.PP
+A QString that has not been assigned to anything is \fInull\fR, i.e. both the length and data pointer is 0. A QString that references the empty string ("", a single '&#92;0' char) is \fIempty\fR. Both null and empty QStrings are legal parameters to the methods. Assigning \fC(const char *) 0\fR to QString gives a null QString. For convenience, QString::null is a null QString. When sorting, empty strings come first, followed by non-empty strings, followed by null strings. We recommend using \fCif ( !str.isNull() )\fR to check for a non-null string rather than \fCif ( !str )\fR; see operator!() for an explanation.
+.PP
+Note that if you find that you are mixing usage of QCString, QString, and QByteArray, this causes lots of unnecessary copying and might indicate that the true nature of the data you are dealing with is uncertain. If the data is '&#92;0'-terminated 8-bit data, use QCString; if it is unterminated (i.e. contains '&#92;0's) 8-bit data, use QByteArray; if it is text, use QString.
+.PP
+Lists of strings are handled by the QStringList class. You can split a string into a list of strings using QStringList::split(), and join a list of strings into a single string with an optional separator using QStringList::join(). You can obtain a list of strings from a string list that contain a particular substring or that match a particular regex using QStringList::grep().
+.PP
+\fBNote for C programmers\fR
+.PP
+Due to C++'s type system and the fact that QString is implicitly shared, QStrings can be treated like ints or other simple base types. For example:
+.PP
+.nf
+.br
+ QString boolToString( bool b )
+.br
+ {
+.br
+ QString result;
+.br
+ if ( b )
+.br
+ result = "True";
+.br
+ else
+.br
+ result = "False";
+.br
+ return result;
+.br
+ }
+.br
+.fi
+.PP
+The variable, result, is an auto variable allocated on the stack. When return is called, because we're returning by value, The copy constructor is called and a copy of the string is returned. (No actual copying takes place thanks to the implicit sharing, see below.)
+.PP
+Throughout Qt's source code you will encounter QString usages like this:
+.PP
+.nf
+.br
+ QString func( const QString& input )
+.br
+ {
+.br
+ QString output = input;
+.br
+ // process output
+.br
+ return output;
+.br
+ }
+.br
+.fi
+.PP
+The 'copying' of input to output is almost as fast as copying a pointer because behind the scenes copying is achieved by incrementing a reference count. QString (like all Qt's implicitly shared classes) operates on a copy-on-write basis, only copying if an instance is actually changed.
+.PP
+If you wish to create a deep copy of a QString without losing any Unicode information then you should use QDeepCopy.
+.PP
+See also QChar, QCString, QByteArray, QConstString, Implicitly and Explicitly Shared Classes, Text Related Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QString::SectionFlags"
+.TP
+\fCQString::SectionDefault\fR - Empty fields are counted, leading and trailing separators are not included, and the separator is compared case sensitively.
+.TP
+\fCQString::SectionSkipEmpty\fR - Treat empty fields as if they don't exist, i.e. they are not considered as far as \fIstart\fR and \fIend\fR are concerned.
+.TP
+\fCQString::SectionIncludeLeadingSep\fR - Include the leading separator (if any) in the result string.
+.TP
+\fCQString::SectionIncludeTrailingSep\fR - Include the trailing separator (if any) in the result string.
+.TP
+\fCQString::SectionCaseInsensitiveSeps\fR - Compare the separator case-insensitively.
+.PP
+Any of the last four values can be OR-ed together to form a flag.
+.PP
+See also section().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QString::QString ()"
+Constructs a null string, i.e. both the length and data pointer are 0.
+.PP
+See also isNull().
+.SH "QString::QString ( QChar ch )"
+Constructs a string of length one, containing the character \fIch\fR.
+.SH "QString::QString ( const QString & s )"
+Constructs an implicitly shared copy of \fIs\fR. This is very fast since it only involves incrementing a reference count.
+.SH "QString::QString ( const QByteArray & ba )"
+Constructs a string that is a deep copy of \fIba\fR interpreted as a classic C string.
+.SH "QString::QString ( const QChar * unicode, uint length )"
+Constructs a string that is a deep copy of the first \fIlength\fR characters in the QChar array.
+.PP
+If \fIunicode\fR and \fIlength\fR are 0, then a null string is created.
+.PP
+If only \fIunicode\fR is 0, the string is empty but has \fIlength\fR characters of space preallocated: QString expands automatically anyway, but this may speed up some cases a little. We recommend using the plain constructor and setLength() for this purpose since it will result in more readable code.
+.PP
+See also isNull() and setLength().
+.SH "QString::QString ( const char * str )"
+Constructs a string that is a deep copy of \fIstr\fR, interpreted as a classic C string. The encoding is assumed to be Latin-1, unless you change it using QTextCodec::setCodecForCStrings().
+.PP
+If \fIstr\fR is 0, then a null string is created.
+.PP
+This is a cast constructor, but it is perfectly safe: converting a Latin-1 \fCconst char *\fR to QString preserves all the information. You can disable this constructor by defining \fCQT_NO_CAST_ASCII\fR when you compile your applications. You can also make QString objects by using setLatin1(), fromLatin1(), fromLocal8Bit(), and fromUtf8(). Or whatever encoding is appropriate for the 8-bit data you have.
+.PP
+See also isNull() and fromAscii().
+.SH "QString::QString ( const std::string & str )"
+Constructs a string that is a deep copy of \fIstr\fR.
+.PP
+This is the same as fromAscii(\fIstr\fR).
+.SH "QString::~QString ()"
+Destroys the string and frees the string's data if this is the last reference to the string.
+.SH "QString & QString::append ( const QString & str )"
+Appends \fIstr\fR to the string and returns a reference to the result.
+.PP
+.nf
+.br
+ string = "Test";
+.br
+ string.append( "ing" ); // string == "Testing"
+.br
+.fi
+.PP
+Equivalent to operator+=().
+.PP
+Example: dirview/dirview.cpp.
+.SH "QString & QString::append ( char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends character \fIch\fR to the string and returns a reference to the result.
+.PP
+Equivalent to operator+=().
+.SH "QString & QString::append ( QChar ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends character \fIch\fR to the string and returns a reference to the result.
+.PP
+Equivalent to operator+=().
+.SH "QString & QString::append ( const QByteArray & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the result.
+.PP
+Equivalent to operator+=().
+.SH "QString & QString::append ( const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the result.
+.PP
+Equivalent to operator+=().
+.SH "QString & QString::append ( const std::string & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the result.
+.PP
+Equivalent to operator+=().
+.SH "QString QString::arg ( const QString & a, int fieldWidth = 0 ) const"
+This function will return a string that replaces the lowest numbered occurrence of \fC%1\fR, \fC%2\fR, ..., \fC%9\fR with \fIa\fR.
+.PP
+The \fIfieldWidth\fR value specifies the minimum amount of space that \fIa\fR is padded to. A positive value will produce right-aligned text, whereas a negative value will produce left-aligned text.
+.PP
+The following example shows how we could create a 'status' string when processing a list of files:
+.PP
+.nf
+.br
+ QString status = QString( "Processing file %1 of %2: %3" )
+.br
+ .arg( i ) // current file's number
+.br
+ .arg( total ) // number of files to process
+.br
+ .arg( fileName ); // current file's name
+.br
+.fi
+.PP
+It is generally fine to use filenames and numbers as we have done in the example above. But note that using arg() to construct natural language sentences does not usually translate well into other languages because sentence structure and word order often differ between languages.
+.PP
+If there is no place marker (\fC%1\fR, \fC%2\fR, etc.), a warning message (qWarning()) is output and the result is undefined.
+.PP
+\fBWarning:\fR If any placeholder occurs more than once, the result is undefined.
+.SH "QString QString::arg ( long a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The \fIfieldWidth\fR value specifies the minimum amount of space that \fIa\fR is padded to. A positive value will produce a right-aligned number, whereas a negative value will produce a left-aligned number.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36.
+.PP
+The '%' can be followed by an 'L', in which case the sequence is replaced with a localized representation of \fIa\fR. The conversion uses the default locale. The default locale is determined from the system's locale settings at application startup. It can be changed using QLocale::setDefault(). The 'L' flag is ignored if \fIbase\fR is not 10.
+.PP
+.nf
+.br
+ QString str;
+.br
+ str = QString( "Decimal 63 is %1 in hexadecimal" )
+.br
+ .arg( 63, 0, 16 );
+.br
+ // str == "Decimal 63 is 3f in hexadecimal"
+.br
+.br
+ QLocale::setDefault(QLocale::English, QLocale::UnitedStates);
+.br
+ str = QString( "%1 %L2 %L3" )
+.br
+ .arg( 12345 )
+.br
+ .arg( 12345 )
+.br
+ .arg( 12345, 0, 16 );
+.br
+ // str == "12345 12,345 3039"
+.br
+.fi
+.SH "QString QString::arg ( ulong a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( Q_LLONG a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( Q_ULLONG a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( int a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( uint a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( short a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( ushort a, int fieldWidth = 0, int base = 10 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is expressed in base \fIbase\fR, which is 10 by default and must be between 2 and 36. If \fIbase\fR is 10, the '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( double a, int fieldWidth = 0, char fmt = 'g', int prec = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Argument \fIa\fR is formatted according to the \fIfmt\fR format specified, which is 'g' by default and can be any of the following:
+.PP
+<center>.nf
+.TS
+l - l. Format Meaning format as [-]9.9e[+|-]999 format as [-]9.9E[+|-]999 format as [-]9.9 use use
+.TE
+.fi
+</center>
+.PP
+With 'e', 'E', and 'f', \fIprec\fR is the number of digits after the decimal point. With 'g' and 'G', \fIprec\fR is the maximum number of significant digits (trailing zeroes are omitted).
+.PP
+.nf
+.br
+ double d = 12.34;
+.br
+ QString ds = QString( "'E' format, precision 3, gives %1" )
+.br
+ .arg( d, 0, 'E', 3 );
+.br
+ // ds == "'E' format, precision 3, gives 1.234E+01"
+.br
+.fi
+.PP
+The '%L' syntax can be used to produce localized strings.
+.SH "QString QString::arg ( char a, int fieldWidth = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR is assumed to be in the Latin-1 character set.
+.SH "QString QString::arg ( QChar a, int fieldWidth = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QString QString::arg ( const QString & a1, const QString & a2 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is the same as str.arg(\fIa1\fR).arg(\fIa2\fR), except that the strings are replaced in one pass. This can make a difference if \fIa1\fR contains e.g. \fC%1\fR:
+.PP
+.nf
+.br
+ QString str( "%1 %2" );
+.br
+ str.arg( "Hello", "world" ); // returns "Hello world"
+.br
+ str.arg( "Hello" ).arg( "world" ); // returns "Hello world"
+.br
+.br
+ str.arg( "(%1)", "Hello" ); // returns "(%1) Hello"
+.br
+ str.arg( "(%1)" ).arg( "Hello" ); // returns "(Hello) %2"
+.br
+.fi
+.SH "QString QString::arg ( const QString & a1, const QString & a2, const QString & a3 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is the same as calling str.arg(\fIa1\fR).arg(\fIa2\fR).arg(\fIa3\fR), except that the strings are replaced in one pass.
+.SH "QString QString::arg ( const QString & a1, const QString & a2, const QString & a3, const QString & a4 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is the same as calling str.arg(\fIa1\fR).arg(\fIa2\fR).arg(\fIa3\fR).arg(\fIa4\fR), except that the strings are replaced in one pass.
+.SH "const char * QString::ascii () const"
+Returns an 8-bit ASCII representation of the string.
+.PP
+If a codec has been set using QTextCodec::codecForCStrings(), it is used to convert Unicode to 8-bit char. Otherwise, this function does the same as latin1().
+.PP
+See also fromAscii(), latin1(), utf8(), and local8Bit().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "QChar QString::at ( uint i ) const"
+Returns the character at index \fIi\fR, or 0 if \fIi\fR is beyond the length of the string.
+.PP
+.nf
+.br
+ const QString string( "abcdefgh" );
+.br
+ QChar ch = string.at( 4 );
+.br
+ // ch == 'e'
+.br
+.fi
+.PP
+If the QString is not const (i.e. const QString) or const& (i.e. const QString &), then the non-const overload of at() will be used instead.
+.SH "QCharRef QString::at ( uint i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The function returns a reference to the character at index \fIi\fR. The resulting reference can then be assigned to, or used immediately, but it will become invalid once further modifications are made to the original string.
+.PP
+If \fIi\fR is beyond the length of the string then the string is expanded with QChar::null.
+.SH "uint QString::capacity () const"
+Returns the number of characters this string can hold in the allocated memory.
+.PP
+See also reserve() and squeeze().
+.SH "int QString::compare ( const QString & s1, const QString & s2 )\fC [static]\fR"
+Lexically compares \fIs1\fR with \fIs2\fR and returns an integer less than, equal to, or greater than zero if \fIs1\fR is less than, equal to, or greater than \fIs2\fR.
+.PP
+The comparison is based exclusively on the numeric Unicode values of the characters and is very fast, but is not what a human would expect. Consider sorting user-interface strings with QString::localeAwareCompare().
+.PP
+.nf
+.br
+ int a = QString::compare( "def", "abc" ); // a > 0
+.br
+ int b = QString::compare( "abc", "def" ); // b < 0
+.br
+ int c = QString::compare( "abc", "abc" ); // c == 0
+.br
+.fi
+.SH "int QString::compare ( const QString & s ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Lexically compares this string with \fIs\fR and returns an integer less than, equal to, or greater than zero if it is less than, equal to, or greater than \fIs\fR.
+.SH "void QString::compose ()"
+\fBWarning:\fR This function is not supported in Qt 3.x. It is provided for experimental and illustrative purposes only. It is mainly of interest to those experimenting with Arabic and other composition-rich texts.
+.PP
+Applies possible ligatures to a QString. Useful when composition-rich text requires rendering with glyph-poor fonts, but it also makes compositions such as QChar(0x0041) ('A') and QChar(0x0308) (Unicode accent diaresis), giving QChar(0x00c4) (German A Umlaut).
+.SH "QChar QString::constref ( uint i ) const"
+Returns the QChar at index \fIi\fR by value.
+.PP
+Equivalent to at(\fIi\fR).
+.PP
+See also ref().
+.SH "int QString::contains ( QChar c, bool cs = TRUE ) const"
+Returns the number of times the character \fIc\fR occurs in the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+.nf
+.br
+ QString string( "Trolltech and Qt" );
+.br
+ int n = string.contains( 't', FALSE );
+.br
+ // n == 3
+.br
+.fi
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and mdi/application.cpp.
+.SH "int QString::contains ( char c, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "int QString::contains ( const char * str, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of times the string \fIstr\fR occurs in the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.SH "int QString::contains ( const QString & str, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of times \fIstr\fR occurs in the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+This function counts overlapping strings, so in the example below, there are two instances of "ana" in "bananas".
+.PP
+.nf
+.br
+ QString str( "bananas" );
+.br
+ int i = str.contains( "ana" ); // i == 2
+.br
+.fi
+.PP
+See also findRev().
+.SH "int QString::contains ( const QRegExp & rx ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the number of times the regexp, \fIrx\fR, matches in the string.
+.PP
+This function counts overlapping matches, so in the example below, there are four instances of "ana" or "ama".
+.PP
+.nf
+.br
+ QString str = "banana and panama";
+.br
+ QRegExp rxp = QRegExp( "a[nm]a", TRUE, FALSE );
+.br
+ int i = str.contains( rxp ); // i == 4
+.br
+.fi
+.PP
+See also find() and findRev().
+.SH "QString QString::copy () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+In Qt 2.0 and later, all calls to this function are needless. Just remove them.
+.SH "const char * QString::data () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns a pointer to a '&#92;0'-terminated classic C string.
+.PP
+In Qt 1.x, this returned a char* allowing direct manipulation of the string as a sequence of bytes. In Qt 2.x where QString is a Unicode string, char* conversion constructs a temporary string, and hence direct character operations are meaningless.
+.SH "bool QString::endsWith ( const QString & s, bool cs = TRUE ) const"
+Returns TRUE if the string ends with \fIs\fR; otherwise returns FALSE.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+.nf
+.br
+ QString str( "Bananas" );
+.br
+ str.endsWith( "anas" ); // returns TRUE
+.br
+ str.endsWith( "pple" ); // returns FALSE
+.br
+.fi
+.PP
+See also startsWith().
+.PP
+Example: chart/main.cpp.
+.SH "QString & QString::fill ( QChar c, int len = -1 )"
+Fills the string with \fIlen\fR characters of value \fIc\fR, and returns a reference to the string.
+.PP
+If \fIlen\fR is negative (the default), the current string length is used.
+.PP
+.nf
+.br
+ QString str;
+.br
+ str.fill( 'g', 5 ); // string == "ggggg"
+.br
+.fi
+.SH "int QString::find ( const QRegExp & rx, int index = 0 ) const"
+Finds the first match of the regular expression \fIrx\fR, starting from position \fIindex\fR. If \fIindex\fR is -1, the search starts at the last character; if -2, at the next to last character and so on. (See findRev() for searching backwards.)
+.PP
+Returns the position of the first match of \fIrx\fR or -1 if no match was found.
+.PP
+.nf
+.br
+ QString string( "bananas" );
+.br
+ int i = string.find( QRegExp("an"), 0 ); // i == 1
+.br
+.fi
+.PP
+See also findRev(), replace(), and contains().
+.PP
+Example: network/mail/smtp.cpp.
+.SH "int QString::find ( QChar c, int index = 0, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the character \fIc\fR, starting at position \fIindex\fR. If \fIindex\fR is -1, the search starts at the last character; if -2, at the next to last character and so on. (See findRev() for searching backwards.)
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+Returns the position of \fIc\fR or -1 if \fIc\fR could not be found.
+.SH "int QString::find ( char c, int index = 0, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Find character \fIc\fR starting from position \fIindex\fR.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.SH "int QString::find ( const QString & str, int index = 0, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the string \fIstr\fR, starting at position \fIindex\fR. If \fIindex\fR is -1, the search starts at the last character, if it is -2, at the next to last character and so on. (See findRev() for searching backwards.)
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+Returns the position of \fIstr\fR or -1 if \fIstr\fR could not be found.
+.SH "int QString::find ( const char * str, int index = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Equivalent to find(QString(\fIstr\fR), \fIindex\fR).
+.SH "int QString::findRev ( const char * str, int index = -1 ) const"
+Equivalent to findRev(QString(\fIstr\fR), \fIindex\fR).
+.SH "int QString::findRev ( QChar c, int index = -1, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the character \fIc\fR, starting at position \fIindex\fR and searching backwards. If the index is -1, the search starts at the last character, if it is -2, at the next to last character and so on.
+.PP
+Returns the position of \fIc\fR or -1 if \fIc\fR could not be found.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+.nf
+.br
+ QString string( "bananas" );
+.br
+ int i = string.findRev( 'a' ); // i == 5
+.br
+.fi
+.SH "int QString::findRev ( char c, int index = -1, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Find character \fIc\fR starting from position \fIindex\fR and working backwards.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.SH "int QString::findRev ( const QString & str, int index = -1, bool cs = TRUE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of the string \fIstr\fR, starting at position \fIindex\fR and searching backwards. If the index is -1, the search starts at the last character, if it is -2, at the next to last character and so on.
+.PP
+Returns the position of \fIstr\fR or -1 if \fIstr\fR could not be found.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+.nf
+.br
+ QString string("bananas");
+.br
+ int i = string.findRev( "ana" ); // i == 3
+.br
+.fi
+.SH "int QString::findRev ( const QRegExp & rx, int index = -1 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first match of the regexp \fIrx\fR, starting at position \fIindex\fR and searching backwards. If the index is -1, the search starts at the last character, if it is -2, at the next to last character and so on. (See findRev() for searching backwards.)
+.PP
+Returns the position of the match or -1 if no match was found.
+.PP
+.nf
+.br
+ QString string( "bananas" );
+.br
+ int i = string.findRev( QRegExp("an") ); // i == 3
+.br
+.fi
+.PP
+See also find().
+.SH "QString QString::fromAscii ( const char * ascii, int len = -1 )\fC [static]\fR"
+Returns the Unicode string decoded from the first \fIlen\fR bytes of \fIascii\fR, ignoring the rest of \fIascii\fR. If \fIlen\fR is -1 then the length of \fIascii\fR is used. If \fIlen\fR is bigger than the length of \fIascii\fR then it will use the length of \fIascii\fR.
+.PP
+If a codec has been set using QTextCodec::codecForCStrings(), it is used to convert the string from 8-bit characters to Unicode. Otherwise, this function does the same as fromLatin1().
+.PP
+This is the same as the QString(const char*) constructor, but you can make that constructor invisible if you compile with the define \fCQT_NO_CAST_ASCII\fR, in which case you can explicitly create a QString from 8-bit ASCII text using this function.
+.PP
+.nf
+.br
+ QString str = QString::fromAscii( "123456789", 5 );
+.br
+ // str == "12345"
+.br
+.fi
+.SH "QString QString::fromLatin1 ( const char * chars, int len = -1 )\fC [static]\fR"
+Returns the Unicode string decoded from the first \fIlen\fR bytes of \fIchars\fR, ignoring the rest of \fIchars\fR. If \fIlen\fR is -1 then the length of \fIchars\fR is used. If \fIlen\fR is bigger than the length of \fIchars\fR then it will use the length of \fIchars\fR.
+.PP
+See also fromAscii().
+.PP
+Examples:
+.)l listbox/listbox.cpp and network/mail/smtp.cpp.
+.SH "QString QString::fromLocal8Bit ( const char * local8Bit, int len = -1 )\fC [static]\fR"
+Returns the Unicode string decoded from the first \fIlen\fR bytes of \fIlocal8Bit\fR, ignoring the rest of \fIlocal8Bit\fR. If \fIlen\fR is -1 then the length of \fIlocal8Bit\fR is used. If \fIlen\fR is bigger than the length of \fIlocal8Bit\fR then it will use the length of \fIlocal8Bit\fR.
+.PP
+.nf
+.br
+ QString str = QString::fromLocal8Bit( "123456789", 5 );
+.br
+ // str == "12345"
+.br
+.fi
+.PP
+\fIlocal8Bit\fR is assumed to be encoded in a locale-specific format.
+.PP
+See QTextCodec for more diverse coding/decoding of Unicode strings.
+.SH "QString QString::fromUcs2 ( const unsigned short * str )\fC [static]\fR"
+Constructs a string that is a deep copy of \fIstr\fR, interpreted as a UCS2 encoded, zero terminated, Unicode string.
+.PP
+If \fIstr\fR is 0, then a null string is created.
+.PP
+See also isNull().
+.SH "QString QString::fromUtf8 ( const char * utf8, int len = -1 )\fC [static]\fR"
+Returns the Unicode string decoded from the first \fIlen\fR bytes of \fIutf8\fR, ignoring the rest of \fIutf8\fR. If \fIlen\fR is -1 then the length of \fIutf8\fR is used. If \fIlen\fR is bigger than the length of \fIutf8\fR then it will use the length of \fIutf8\fR.
+.PP
+.nf
+.br
+ QString str = QString::fromUtf8( "123456789", 5 );
+.br
+ // str == "12345"
+.br
+.fi
+.PP
+See QTextCodec for more diverse coding/decoding of Unicode strings.
+.PP
+Example: fonts/simple-qfont-demo/viewer.cpp.
+.SH "QString & QString::insert ( uint index, const QString & s )"
+Inserts \fIs\fR into the string at position \fIindex\fR.
+.PP
+If \fIindex\fR is beyond the end of the string, the string is extended with spaces to length \fIindex\fR and \fIs\fR is then appended and returns a reference to the string.
+.PP
+.nf
+.br
+ QString string( "I like fish" );
+.br
+ str = string.insert( 2, "don't " );
+.br
+ // str == "I don't like fish"
+.br
+.fi
+.PP
+See also remove() and replace().
+.PP
+Examples:
+.)l themes/themes.cpp and xform/xform.cpp.
+.SH "QString & QString::insert ( uint index, const QByteArray & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIs\fR into the string at position \fIindex\fR and returns a reference to the string.
+.SH "QString & QString::insert ( uint index, const char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIs\fR into the string at position \fIindex\fR and returns a reference to the string.
+.SH "QString & QString::insert ( uint index, const QChar * s, uint len )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the first \fIlen\fR characters in \fIs\fR into the string at position \fIindex\fR and returns a reference to the string.
+.SH "QString & QString::insert ( uint index, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Insert \fIc\fR into the string at position \fIindex\fR and returns a reference to the string.
+.PP
+If \fIindex\fR is beyond the end of the string, the string is extended with spaces (ASCII 32) to length \fIindex\fR and \fIc\fR is then appended.
+.SH "QString & QString::insert ( uint index, char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Insert character \fIc\fR at position \fIindex\fR.
+.SH "bool QString::isEmpty () const"
+Returns TRUE if the string is empty, i.e. if length() == 0; otherwise returns FALSE. Null strings are also empty.
+.PP
+.nf
+.br
+ QString a( "" );
+.br
+ a.isEmpty(); // TRUE
+.br
+ a.isNull(); // FALSE
+.br
+.br
+ QString b;
+.br
+ b.isEmpty(); // TRUE
+.br
+ b.isNull(); // TRUE
+.br
+.fi
+.PP
+See also isNull() and length().
+.PP
+Examples:
+.)l addressbook/mainwindow.cpp, chart/chartform.cpp, chart/chartform_canvas.cpp, network/networkprotocol/nntp.cpp, qmag/qmag.cpp, and qwerty/qwerty.cpp.
+.SH "bool QString::isNull () const"
+Returns TRUE if the string is null; otherwise returns FALSE. A null string is always empty.
+.PP
+.nf
+.br
+ QString a; // a.unicode() == 0, a.length() == 0
+.br
+ a.isNull(); // TRUE, because a.unicode() == 0
+.br
+ a.isEmpty(); // TRUE, because a.length() == 0
+.br
+.fi
+.PP
+See also isEmpty() and length().
+.PP
+Examples:
+.)l i18n/main.cpp, network/ftpclient/ftpmainwindow.ui.h, and qdir/qdir.cpp.
+.SH "const char * QString::latin1 () const"
+Returns a Latin-1 representation of the string. The returned value is undefined if the string contains non-Latin-1 characters. If you want to convert strings into formats other than Unicode, see the QTextCodec classes.
+.PP
+This function is mainly useful for boot-strapping legacy code to use Unicode.
+.PP
+The result remains valid so long as one unmodified copy of the source string exists.
+.PP
+See also fromLatin1(), ascii(), utf8(), and local8Bit().
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and network/networkprotocol/nntp.cpp.
+.SH "QString QString::left ( uint len ) const"
+Returns a substring that contains the \fIlen\fR leftmost characters of the string.
+.PP
+The whole string is returned if \fIlen\fR exceeds the length of the string.
+.PP
+.nf
+.br
+ QString s = "Pineapple";
+.br
+ QString t = s.left( 4 ); // t == "Pine"
+.br
+.fi
+.PP
+See also right(), mid(), and isEmpty().
+.PP
+Example: themes/themes.cpp.
+.SH "QString QString::leftJustify ( uint width, QChar fill = ' ', bool truncate = FALSE ) const"
+Returns a string of length \fIwidth\fR that contains this string padded by the \fIfill\fR character.
+.PP
+If \fItruncate\fR is FALSE and the length of the string is more than \fIwidth\fR, then the returned string is a copy of the string.
+.PP
+If \fItruncate\fR is TRUE and the length of the string is more than \fIwidth\fR, then any characters in a copy of the string after length \fIwidth\fR are removed, and the copy is returned.
+.PP
+.nf
+.br
+ QString s( "apple" );
+.br
+ QString t = s.leftJustify( 8, '.' ); // t == "apple..."
+.br
+.fi
+.PP
+See also rightJustify().
+.SH "uint QString::length () const"
+Returns the length of the string.
+.PP
+Null strings and empty strings have zero length.
+.PP
+See also isNull() and isEmpty().
+.PP
+Examples:
+.)l dirview/dirview.cpp, fileiconview/qfileiconview.cpp, network/networkprotocol/nntp.cpp, rot13/rot13.cpp, and themes/themes.cpp.
+.SH "QCString QString::local8Bit () const"
+Returns the string encoded in a locale-specific format. On X11, this is the QTextCodec::codecForLocale(). On Windows, it is a system-defined encoding. On Mac OS X, this always uses UTF-8 as the encoding.
+.PP
+See QTextCodec for more diverse coding/decoding of Unicode strings.
+.PP
+See also fromLocal8Bit(), ascii(), latin1(), and utf8().
+.SH "int QString::localeAwareCompare ( const QString & s1, const QString & s2 )\fC [static]\fR"
+Compares \fIs1\fR with \fIs2\fR and returns an integer less than, equal to, or greater than zero if \fIs1\fR is less than, equal to, or greater than \fIs2\fR.
+.PP
+The comparison is performed in a locale- and also platform-dependent manner. Use this function to present sorted lists of strings to the user.
+.PP
+See also QString::compare() and QTextCodec::locale().
+.SH "int QString::localeAwareCompare ( const QString & s ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Compares this string with \fIs\fR.
+.SH "QString QString::lower () const"
+Returns a lowercase copy of the string.
+.PP
+.nf
+.br
+ QString string( "TROlltECH" );
+.br
+ str = string.lower(); // str == "trolltech"
+.br
+.fi
+.PP
+See also upper().
+.PP
+Example: scribble/scribble.cpp.
+.SH "QString QString::mid ( uint index, uint len = 0xffffffff ) const"
+Returns a string that contains the \fIlen\fR characters of this string, starting at position \fIindex\fR.
+.PP
+Returns a null string if the string is empty or \fIindex\fR is out of range. Returns the whole string from \fIindex\fR if \fIindex\fR + \fIlen\fR exceeds the length of the string.
+.PP
+.nf
+.br
+ QString s( "Five pineapples" );
+.br
+ QString t = s.mid( 5, 4 ); // t == "pine"
+.br
+.fi
+.PP
+See also left() and right().
+.PP
+Examples:
+.)l network/mail/smtp.cpp, qmag/qmag.cpp, and themes/themes.cpp.
+.SH "QString QString::number ( long n, int base = 10 )\fC [static]\fR"
+A convenience function that returns a string equivalent of the number \fIn\fR to base \fIbase\fR, which is 10 by default and must be between 2 and 36. The returned string is in "C" locale.
+.PP
+.nf
+.br
+ long a = 63;
+.br
+ QString str = QString::number( a, 16 ); // str == "3f"
+.br
+ QString str = QString::number( a, 16 ).upper(); // str == "3F"
+.br
+.fi
+.PP
+See also setNum().
+.PP
+Examples:
+.)l application/application.cpp, chart/chartform.cpp, fonts/simple-qfont-demo/viewer.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, regexptester/regexptester.cpp, and sql/overview/extract/main.cpp.
+.SH "QString QString::number ( ulong n, int base = 10 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also setNum().
+.SH "QString QString::number ( Q_LLONG n, int base = 10 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also setNum().
+.SH "QString QString::number ( Q_ULLONG n, int base = 10 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also setNum().
+.SH "QString QString::number ( int n, int base = 10 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+See also setNum().
+.SH "QString QString::number ( uint n, int base = 10 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+A convenience factory function that returns a string representation of the number \fIn\fR to the base \fIbase\fR, which is 10 by default and must be between 2 and 36.
+.PP
+See also setNum().
+.SH "QString QString::number ( double n, char f = 'g', int prec = 6 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Argument \fIn\fR is formatted according to the \fIf\fR format specified, which is \fCg\fR by default, and can be any of the following:
+.PP
+<center>.nf
+.TS
+l - l. Format Meaning format as [-]9.9e[+|-]999 format as [-]9.9E[+|-]999 format as [-]9.9 use use
+.TE
+.fi
+</center>
+.PP
+With 'e', 'E', and 'f', \fIprec\fR is the number of digits after the decimal point. With 'g' and 'G', \fIprec\fR is the maximum number of significant digits (trailing zeroes are omitted).
+.PP
+.nf
+.br
+ double d = 12.34;
+.br
+ QString ds = QString( "'E' format, precision 3, gives %1" )
+.br
+ .arg( d, 0, 'E', 3 );
+.br
+ // ds == "1.234E+001"
+.br
+.fi
+.PP
+See also setNum().
+.SH "QString::operator const char * () const"
+Returns ascii(). Be sure to see the warnings documented in the ascii() function. Note that for new code which you wish to be strictly Unicode-clean, you can define the macro \fCQT_NO_ASCII_CAST\fR when compiling your code to hide this function so that automatic casts are not done. This has the added advantage that you catch the programming error described in operator!().
+.SH "QString::operator std::string () const"
+Returns ascii() as a std::string.
+.PP
+\fBWarning:\fR The function may cause an application to crash if a static C run-time is in use. This can happen in Microsoft Visual C++ if Qt is configured as single-threaded. A safe alternative is to call ascii() directly and construct a std::string manually.
+.SH "bool QString::operator! () const"
+Returns TRUE if this is a null string; otherwise returns FALSE.
+.PP
+.nf
+.br
+ QString name = getName();
+.br
+ if ( !name )
+.br
+ name = "Rodney";
+.br
+.fi
+.PP
+Note that if you say
+.PP
+.nf
+.br
+ QString name = getName();
+.br
+ if ( name )
+.br
+ doSomethingWith(name);
+.br
+.fi
+.PP
+It will call "operator const char*()", which is inefficent; you may wish to define the macro \fCQT_NO_ASCII_CAST\fR when writing code which you wish to remain Unicode-clean.
+.PP
+When you want the above semantics, use:
+.PP
+.nf
+.br
+ QString name = getName();
+.br
+ if ( !name.isNull() )
+.br
+ doSomethingWith(name);
+.br
+.fi
+.PP
+See also isEmpty().
+.SH "QString & QString::operator+= ( const QString & str )"
+Appends \fIstr\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator+= ( const QByteArray & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator+= ( const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator+= ( const std::string & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIstr\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator+= ( QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIc\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator+= ( char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends \fIc\fR to the string and returns a reference to the string.
+.SH "QString & QString::operator= ( QChar c )"
+Sets the string to contain just the single character \fIc\fR.
+.SH "QString & QString::operator= ( const QString & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns a shallow copy of \fIs\fR to this string and returns a reference to this string. This is very fast because the string isn't actually copied.
+.SH "QString & QString::operator= ( const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns a deep copy of \fIstr\fR, interpreted as a classic C string to this string and returns a reference to this string.
+.PP
+If \fIstr\fR is 0, then a null string is created.
+.PP
+See also isNull().
+.SH "QString & QString::operator= ( const std::string & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Makes a deep copy of \fIs\fR and returns a reference to the deep copy.
+.SH "QString & QString::operator= ( const QCString & cstr )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns a deep copy of \fIcstr\fR, interpreted as a classic C string, to this string. Returns a reference to this string.
+.SH "QString & QString::operator= ( char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to contain just the single character \fIc\fR.
+.SH "QChar QString::operator[] ( int i ) const"
+Returns the character at index \fIi\fR, or QChar::null if \fIi\fR is beyond the length of the string.
+.PP
+If the QString is not const (i.e., const QString) or const& (i.e., const QString&), then the non-const overload of operator[] will be used instead.
+.SH "QCharRef QString::operator[] ( int i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The function returns a reference to the character at index \fIi\fR. The resulting reference can then be assigned to, or used immediately, but it will become invalid once further modifications are made to the original string.
+.PP
+If \fIi\fR is beyond the length of the string then the string is expanded with QChar::nulls, so that the QCharRef references a valid (null) character in the string.
+.PP
+The QCharRef internal class can be used much like a constant QChar, but if you assign to it, you change the original string (which will detach itself because of QString's copy-on-write semantics). You will get compilation errors if you try to use the result as anything but a QChar.
+.SH "QString & QString::prepend ( const QString & s )"
+Inserts \fIs\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIs\fR).
+.PP
+.nf
+.br
+ QString string = "42";
+.br
+ string.prepend( "The answer is " );
+.br
+ // string == "The answer is 42"
+.br
+.fi
+.PP
+See also insert().
+.SH "QString & QString::prepend ( char ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIch\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIch\fR).
+.PP
+See also insert().
+.SH "QString & QString::prepend ( QChar ch )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIch\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIch\fR).
+.PP
+See also insert().
+.SH "QString & QString::prepend ( const QByteArray & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIs\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIs\fR).
+.PP
+See also insert().
+.SH "QString & QString::prepend ( const char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIs\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIs\fR).
+.PP
+See also insert().
+.SH "QString & QString::prepend ( const std::string & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIs\fR at the beginning of the string and returns a reference to the string.
+.PP
+Equivalent to insert(0, \fIs\fR).
+.PP
+See also insert().
+.SH "QChar & QString::ref ( uint i )"
+Returns the QChar at index \fIi\fR by reference, expanding the string with QChar::null if necessary. The resulting reference can be assigned to, or otherwise used immediately, but becomes invalid once furher modifications are made to the string.
+.PP
+.nf
+.br
+ QString string("ABCDEF");
+.br
+ QChar ch = string.ref( 3 ); // ch == 'D'
+.br
+.fi
+.PP
+See also constref().
+.SH "QString & QString::remove ( uint index, uint len )"
+Removes \fIlen\fR characters from the string starting at position \fIindex\fR, and returns a reference to the string.
+.PP
+If \fIindex\fR is beyond the length of the string, nothing happens. If \fIindex\fR is within the string, but \fIindex\fR + \fIlen\fR is beyond the end of the string, the string is truncated at position \fIindex\fR.
+.PP
+.nf
+.br
+ QString string( "Montreal" );
+.br
+ string.remove( 1, 4 ); // string == "Meal"
+.br
+.fi
+.PP
+See also insert() and replace().
+.SH "QString & QString::remove ( const QString & str, bool cs = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes every occurrence of \fIstr\fR in the string. Returns a reference to the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+This is the same as replace(\fIstr\fR, "", \fIcs\fR).
+.SH "QString & QString::remove ( QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes every occurrence of the character \fIc\fR in the string. Returns a reference to the string.
+.PP
+This is the same as replace(\fIc\fR, "").
+.SH "QString & QString::remove ( char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes every occurrence of the character \fIc\fR in the string. Returns a reference to the string.
+.PP
+This is the same as replace(\fIc\fR, "").
+.SH "QString & QString::remove ( const char * str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes every occurrence of \fIstr\fR in the string. Returns a reference to the string.
+.SH "QString & QString::remove ( const QRegExp & rx )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes every occurrence of the regular expression \fIrx\fR in the string. Returns a reference to the string.
+.PP
+This is the same as replace(\fIrx\fR, "").
+.SH "QString & QString::replace ( uint index, uint len, const QString & s )"
+Replaces \fIlen\fR characters from the string with \fIs\fR, starting at position \fIindex\fR, and returns a reference to the string.
+.PP
+If \fIindex\fR is beyond the length of the string, nothing is deleted and \fIs\fR is appended at the end of the string. If \fIindex\fR is valid, but \fIindex\fR + \fIlen\fR is beyond the end of the string, the string is truncated at position \fIindex\fR, then \fIs\fR is appended at the end.
+.PP
+.nf
+.br
+ QString string( "Say yes!" );
+.br
+ string = string.replace( 4, 3, "NO" );
+.br
+ // string == "Say NO!"
+.br
+.fi
+.PP
+\fBWarning:\fR Qt 3.3.3 and earlier had different semantics for the case \fIindex\fR >= length(), which contradicted the documentation. To avoid portability problems between Qt 3 versions and with Qt 4, we recommend that you never call the function with \fIindex\fR >= length().
+.PP
+See also insert() and remove().
+.PP
+Examples:
+.)l listviews/listviews.cpp, network/networkprotocol/nntp.cpp, qmag/qmag.cpp, and regexptester/regexptester.cpp.
+.SH "QString & QString::replace ( uint index, uint len, const QChar * s, uint slen )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces \fIlen\fR characters with \fIslen\fR characters of QChar data from \fIs\fR, starting at position \fIindex\fR, and returns a reference to the string.
+.PP
+See also insert() and remove().
+.SH "QString & QString::replace ( uint index, uint len, QChar c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is the same as replace(\fIindex\fR, \fIlen\fR, QString(\fIc\fR)).
+.SH "QString & QString::replace ( uint index, uint len, char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is the same as replace(\fIindex\fR, \fIlen\fR, QChar(\fIc\fR)).
+.SH "QString & QString::replace ( QChar c, const QString & after, bool cs = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the character \fIc\fR in the string with \fIafter\fR. Returns a reference to the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString s = "a,b,c";
+.br
+ s.replace( QChar(','), " or " );
+.br
+ // s == "a or b or c"
+.br
+.fi
+.SH "QString & QString::replace ( char c, const QString & after, bool cs = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the character \fIc\fR in the string with \fIafter\fR. Returns a reference to the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.SH "QString & QString::replace ( const QString & before, const QString & after, bool cs = TRUE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the string \fIbefore\fR in the string with the string \fIafter\fR. Returns a reference to the string.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString s = "Greek is Greek";
+.br
+ s.replace( "Greek", "English" );
+.br
+ // s == "English is English"
+.br
+.fi
+.SH "QString & QString::replace ( const QRegExp & rx, const QString & after )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the regexp \fIrx\fR in the string with \fIafter\fR. Returns a reference to the string. For example:
+.PP
+.nf
+.br
+ QString s = "banana";
+.br
+ s.replace( QRegExp("an"), "" );
+.br
+ // s == "ba"
+.br
+.fi
+.PP
+For regexps containing capturing parentheses, occurrences of \fB&#92;1\fR, \fB&#92;2\fR, ..., in \fIafter\fR are replaced with \fIrx\fR.cap(1), cap(2), ...
+.PP
+.nf
+.br
+ QString t = "A <i>bon mot</i>.";
+.br
+ t.replace( QRegExp("<i>([^<]*)</i>"), "\\\\emph{\\\\1}" );
+.br
+ // t == "A \\\\emph{bon mot}."
+.br
+.fi
+.PP
+See also find(), findRev(), and QRegExp::cap().
+.SH "QString & QString::replace ( QChar c1, QChar c2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of \fIc1\fR with the char \fIc2\fR. Returns a reference to the string.
+.SH "void QString::reserve ( uint minCapacity )"
+Ensures that at least \fIminCapacity\fR characters are allocated to the string.
+.PP
+This function is useful for code that needs to build up a long string and wants to avoid repeated reallocation. In this example, we want to add to the string until some condition is true, and we're fairly sure that size is big enough:
+.PP
+.nf
+.br
+ QString result;
+.br
+ int len = 0;
+.br
+ result.reserve(maxLen);
+.br
+ while (...) {
+.br
+ result[len++] = ... // fill part of the space
+.br
+ }
+.br
+ result.squeeze();
+.br
+.fi
+.PP
+If \fImaxLen\fR is an underestimate, the worst that will happen is that the loop will slow down.
+.PP
+If it is not possible to allocate enough memory, the string remains unchanged.
+.PP
+See also capacity(), squeeze(), and setLength().
+.SH "QString QString::right ( uint len ) const"
+Returns a string that contains the \fIlen\fR rightmost characters of the string.
+.PP
+If \fIlen\fR is greater than the length of the string then the whole string is returned.
+.PP
+.nf
+.br
+ QString string( "Pineapple" );
+.br
+ QString t = string.right( 5 ); // t == "apple"
+.br
+.fi
+.PP
+See also left(), mid(), and isEmpty().
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "QString QString::rightJustify ( uint width, QChar fill = ' ', bool truncate = FALSE ) const"
+Returns a string of length \fIwidth\fR that contains the \fIfill\fR character followed by the string.
+.PP
+If \fItruncate\fR is FALSE and the length of the string is more than \fIwidth\fR, then the returned string is a copy of the string.
+.PP
+If \fItruncate\fR is TRUE and the length of the string is more than \fIwidth\fR, then the resulting string is truncated at position \fIwidth\fR.
+.PP
+.nf
+.br
+ QString string( "apple" );
+.br
+ QString t = string.rightJustify( 8, '.' ); // t == "...apple"
+.br
+.fi
+.PP
+See also leftJustify().
+.SH "QString QString::section ( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+This function returns a section of the string.
+.PP
+This string is treated as a sequence of fields separated by the character, \fIsep\fR. The returned string consists of the fields from position \fIstart\fR to position \fIend\fR inclusive. If \fIend\fR is not specified, all fields from position \fIstart\fR to the end of the string are included. Fields are numbered 0, 1, 2, etc., counting from the left, and -1, -2, etc., counting from right to left.
+.PP
+The \fIflags\fR argument can be used to affect some aspects of the function's behaviour, e.g. whether to be case sensitive, whether to skip empty fields and how to deal with leading and trailing separators; see SectionFlags.
+.PP
+.nf
+.br
+ QString csv( "forename,middlename,surname,phone" );
+.br
+ QString s = csv.section( ',', 2, 2 ); // s == "surname"
+.br
+.br
+ QString path( "/usr/local/bin/myapp" ); // First field is empty
+.br
+ QString s = path.section( '/', 3, 4 ); // s == "bin/myapp"
+.br
+ QString s = path.section( '/', 3, 3, SectionSkipEmpty ); // s == "myapp"
+.br
+.fi
+.PP
+If \fIstart\fR or \fIend\fR is negative, we count fields from the right of the string, the right-most field being -1, the one from right-most field being -2, and so on.
+.PP
+.nf
+.br
+ QString csv( "forename,middlename,surname,phone" );
+.br
+ QString s = csv.section( ',', -3, -2 ); // s == "middlename,surname"
+.br
+.br
+ QString path( "/usr/local/bin/myapp" ); // First field is empty
+.br
+ QString s = path.section( '/', -1 ); // s == "myapp"
+.br
+.fi
+.PP
+See also QStringList::split().
+.PP
+Examples:
+.)l chart/element.cpp and network/ftpclient/ftpmainwindow.ui.h.
+.SH "QString QString::section ( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QString QString::section ( const char * sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QString QString::section ( const QString & sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function returns a section of the string.
+.PP
+This string is treated as a sequence of fields separated by the string, \fIsep\fR. The returned string consists of the fields from position \fIstart\fR to position \fIend\fR inclusive. If \fIend\fR is not specified, all fields from position \fIstart\fR to the end of the string are included. Fields are numbered 0, 1, 2, etc., counting from the left, and -1, -2, etc., counting from right to left.
+.PP
+The \fIflags\fR argument can be used to affect some aspects of the function's behaviour, e.g. whether to be case sensitive, whether to skip empty fields and how to deal with leading and trailing separators; see SectionFlags.
+.PP
+.nf
+.br
+ QString data( "forename**middlename**surname**phone" );
+.br
+ QString s = data.section( "**", 2, 2 ); // s == "surname"
+.br
+.fi
+.PP
+If \fIstart\fR or \fIend\fR is negative, we count fields from the right of the string, the right-most field being -1, the one from right-most field being -2, and so on.
+.PP
+.nf
+.br
+ QString data( "forename**middlename**surname**phone" );
+.br
+ QString s = data.section( "**", -3, -2 ); // s == "middlename**surname"
+.br
+.fi
+.PP
+See also QStringList::split().
+.SH "QString QString::section ( const QRegExp & reg, int start, int end = 0xffffffff, int flags = SectionDefault ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function returns a section of the string.
+.PP
+This string is treated as a sequence of fields separated by the regular expression, \fIreg\fR. The returned string consists of the fields from position \fIstart\fR to position \fIend\fR inclusive. If \fIend\fR is not specified, all fields from position \fIstart\fR to the end of the string are included. Fields are numbered 0, 1, 2, etc., counting from the left, and -1, -2, etc., counting from right to left.
+.PP
+The \fIflags\fR argument can be used to affect some aspects of the function's behaviour, e.g. whether to be case sensitive, whether to skip empty fields and how to deal with leading and trailing separators; see SectionFlags.
+.PP
+.nf
+.br
+ QString line( "forename\\tmiddlename surname \\t \\t phone" );
+.br
+ QRegExp sep( "\\s+" );
+.br
+ QString s = line.section( sep, 2, 2 ); // s == "surname"
+.br
+.fi
+.PP
+If \fIstart\fR or \fIend\fR is negative, we count fields from the right of the string, the right-most field being -1, the one from right-most field being -2, and so on.
+.PP
+.nf
+.br
+ QString line( "forename\\tmiddlename surname \\t \\t phone" );
+.br
+ QRegExp sep( "\\\\s+" );
+.br
+ QString s = line.section( sep, -3, -2 ); // s == "middlename surname"
+.br
+.fi
+.PP
+\fBWarning:\fR Using this QRegExp version is much more expensive than the overloaded string and character versions.
+.PP
+See also QStringList::split() and simplifyWhiteSpace().
+.SH "QString & QString::setAscii ( const char * str, int len = -1 )"
+Sets this string to \fIstr\fR, interpreted as a classic 8-bit ASCII C string. If \fIlen\fR is -1 (the default), then it is set to strlen(str).
+.PP
+If \fIstr\fR is 0 a null string is created. If \fIstr\fR is "", an empty string is created.
+.PP
+See also isNull() and isEmpty().
+.SH "void QString::setExpand ( uint index, QChar c )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the character at position \fIindex\fR to \fIc\fR and expands the string if necessary, filling with spaces.
+.PP
+This method is redundant in Qt 3.x, because operator[] will expand the string as necessary.
+.SH "QString & QString::setLatin1 ( const char * str, int len = -1 )"
+Sets this string to \fIstr\fR, interpreted as a classic Latin-1 C string. If \fIlen\fR is -1 (the default), then it is set to strlen(str).
+.PP
+If \fIstr\fR is 0 a null string is created. If \fIstr\fR is "", an empty string is created.
+.PP
+See also isNull() and isEmpty().
+.SH "void QString::setLength ( uint newLen )"
+Ensures that at least \fInewLen\fR characters are allocated to the string, and sets the length of the string to \fInewLen\fR. Any new space allocated contains arbitrary data.
+.PP
+See also reserve() and truncate().
+.SH "QString & QString::setNum ( Q_LLONG n, int base = 10 )"
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string. The returned string is in "C" locale.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.PP
+.nf
+.br
+ QString string;
+.br
+ string = string.setNum( 1234 ); // string == "1234"
+.br
+.fi
+.SH "QString & QString::setNum ( short n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.SH "QString & QString::setNum ( ushort n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.SH "QString & QString::setNum ( int n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.SH "QString & QString::setNum ( uint n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.SH "QString & QString::setNum ( long n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QString & QString::setNum ( ulong n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QString & QString::setNum ( Q_ULLONG n, int base = 10 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR in base \fIbase\fR and returns a reference to the string.
+.PP
+The base is 10 by default and must be between 2 and 36.
+.SH "QString & QString::setNum ( float n, char f = 'g', int prec = 6 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR, formatted in format \fIf\fR with precision \fIprec\fR, and returns a reference to the string.
+.PP
+The format \fIf\fR can be 'f', 'F', 'e', 'E', 'g' or 'G'. See arg() for an explanation of the formats.
+.SH "QString & QString::setNum ( double n, char f = 'g', int prec = 6 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the string to the printed value of \fIn\fR, formatted in format \fIf\fR with precision \fIprec\fR, and returns a reference to the string.
+.PP
+The format \fIf\fR can be 'f', 'F', 'e', 'E', 'g' or 'G'. See arg() for an explanation of the formats.
+.SH "QString & QString::setUnicode ( const QChar * unicode, uint len )"
+Resizes the string to \fIlen\fR characters and copies \fIunicode\fR into the string. If \fIunicode\fR is 0, nothing is copied, but the string is still resized to \fIlen\fR. If \fIlen\fR is zero, then the string becomes a null string.
+.PP
+See also setLatin1() and isNull().
+.SH "QString & QString::setUnicodeCodes ( const ushort * unicode_as_ushorts, uint len )"
+Resizes the string to \fIlen\fR characters and copies \fIunicode_as_ushorts\fR into the string (on some X11 client platforms this will involve a byte-swapping pass).
+.PP
+If \fIunicode_as_ushorts\fR is 0, nothing is copied, but the string is still resized to \fIlen\fR. If \fIlen\fR is zero, the string becomes a null string.
+.PP
+See also setLatin1() and isNull().
+.SH "QString QString::simplifyWhiteSpace () const"
+Returns a string that has whitespace removed from the start and the end, and which has each sequence of internal whitespace replaced with a single space.
+.PP
+Whitespace means any character for which QChar::isSpace() returns TRUE. This includes Unicode characters with decimal values 9 (TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR), and 32 (Space).
+.PP
+.nf
+.br
+ QString string = " lots\\t of\\nwhite space ";
+.br
+ QString t = string.simplifyWhiteSpace();
+.br
+ // t == "lots of white space"
+.br
+.fi
+.PP
+See also stripWhiteSpace().
+.SH "QString & QString::sprintf ( const char * cformat, ... )"
+Safely builds a formatted string from the format string \fIcformat\fR and an arbitrary list of arguments. The format string supports all the escape sequences of printf() in the standard C library.
+.PP
+The %s escape sequence expects a utf8() encoded string. The format string \fIcformat\fR is expected to be in latin1. If you need a Unicode format string, use arg() instead. For typesafe string building, with full Unicode support, you can use QTextOStream like this:
+.PP
+.nf
+.br
+ QString str;
+.br
+ QString s = ...;
+.br
+ int x = ...;
+.br
+ QTextOStream( &str ) << s << " : " << x;
+.br
+.fi
+.PP
+For translations, especially if the strings contains more than one escape sequence, you should consider using the arg() function instead. This allows the order of the replacements to be controlled by the translator, and has Unicode support.
+.PP
+The %lc escape sequence expects a unicode character of type ushort (as returned by QChar::unicode()). The %ls escape sequence expects a pointer to a zero-terminated array of unicode characters of type ushort (as returned by QString::ucs2()).
+.PP
+See also arg().
+.PP
+Examples:
+.)l dclock/dclock.cpp, forever/forever.cpp, layout/layout.cpp, qmag/qmag.cpp, scrollview/scrollview.cpp, tooltip/tooltip.cpp, and xform/xform.cpp.
+.SH "void QString::squeeze ()"
+Squeezes the string's capacity to the current content.
+.PP
+See also capacity() and reserve().
+.SH "bool QString::startsWith ( const QString & s, bool cs = TRUE ) const"
+Returns TRUE if the string starts with \fIs\fR; otherwise returns FALSE.
+.PP
+If \fIcs\fR is TRUE (the default), the search is case sensitive; otherwise the search is case insensitive.
+.PP
+.nf
+.br
+ QString str( "Bananas" );
+.br
+ str.startsWith( "Ban" ); // returns TRUE
+.br
+ str.startsWith( "Car" ); // returns FALSE
+.br
+.fi
+.PP
+See also endsWith().
+.SH "QString QString::stripWhiteSpace () const"
+Returns a string that has whitespace removed from the start and the end.
+.PP
+Whitespace means any character for which QChar::isSpace() returns TRUE. This includes Unicode characters with decimal values 9 (TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR) and 32 (Space), and may also include other Unicode characters.
+.PP
+.nf
+.br
+ QString string = " white space ";
+.br
+ QString s = string.stripWhiteSpace(); // s == "white space"
+.br
+.fi
+.PP
+See also simplifyWhiteSpace().
+.SH "double QString::toDouble ( bool * ok = 0 ) const"
+Returns the string converted to a \fCdouble\fR value.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+.nf
+.br
+ QString string( "1234.56" );
+.br
+ double a = string.toDouble(); // a == 1234.56
+.br
+.fi
+.PP
+The string-to-number functions:
+.TP
+toShort()
+.TP
+toUShort()
+.TP
+toInt()
+.TP
+toUInt()
+.TP
+toLong()
+.TP
+toULong()
+.TP
+toLongLong()
+.TP
+toULongLong()
+.TP
+toFloat()
+.TP
+toDouble() can handle numbers represented in various locales. These representations may use different characters for the decimal point, thousands group sepearator and even individual digits. QString's functions try to interpret the string according to the current locale. The current locale is determined from the system at application startup and can be changed by calling QLocale::setDefault(). If the string cannot be interpreted according to the current locale, this function falls back on the "C" locale.
+.PP
+.nf
+.br
+ bool ok;
+.br
+ double d;
+.br
+.br
+ QLocale::setDefault(QLocale::C);
+.br
+ d = QString( "1234,56" ).toDouble(&ok); // ok == false
+.br
+ d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+.br
+ QLocale::setDefault(QLocale::German);
+.br
+ d = QString( "1234,56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+ d = QString( "1234.56" ).toDouble(&ok); // ok == true, d == 1234.56
+.br
+.fi
+.PP
+Due to the ambiguity between the decimal point and thousands group separator in various locales, these functions do not handle thousands group separators. If you need to convert such numbers, use the corresponding function in QLocale.
+.PP
+.nf
+.br
+ bool ok;
+.br
+ QLocale::setDefault(QLocale::C);
+.br
+ double d = QString( "1,234,567.89" ).toDouble(&ok); // ok == false
+.br
+.fi
+.PP
+\fBWarning:\fR If the string contains trailing whitespace this function will fail, and set \fI*ok\fR to false if \fIok\fR is not 0. Leading whitespace is ignored.
+.PP
+See also number(), QLocale::setDefault(), QLocale::toDouble(), and stripWhiteSpace().
+.SH "float QString::toFloat ( bool * ok = 0 ) const"
+Returns the string converted to a \fCfloat\fR value.
+.PP
+Returns 0.0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+\fBWarning:\fR If the string contains trailing whitespace this function will fail, settings \fI*ok\fR to false if \fIok\fR is not 0. Leading whitespace is ignored.
+.PP
+See also number().
+.SH "int QString::toInt ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to an \fCint\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+.nf
+.br
+ QString str( "FF" );
+.br
+ bool ok;
+.br
+ int hex = str.toInt( &ok, 16 ); // hex == 255, ok == TRUE
+.br
+ int dec = str.toInt( &ok, 10 ); // dec == 0, ok == FALSE
+.br
+.fi
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "long QString::toLong ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to a \fClong\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "Q_LLONG QString::toLongLong ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to a \fClong long\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "short QString::toShort ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to a \fCshort\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "uint QString::toUInt ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to an \fCunsigned int\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "ulong QString::toULong ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to an \fCunsigned long\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "Q_ULLONG QString::toULongLong ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to an \fCunsigned long long\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "ushort QString::toUShort ( bool * ok = 0, int base = 10 ) const"
+Returns the string converted to an \fCunsigned short\fR using base \fIbase\fR, which is 10 by default and must be between 2 and 36 or 0. If \fIbase\fR is 0, the base is determined automatically using the following rules:
+.TP
+If the string begins with "0x", it is assumed to be hexadecimal;
+.TP
+If it begins with "0", it is assumed to be octal;
+.TP
+Otherwise it is assumed to be decimal.
+.PP
+Returns 0 if the conversion fails.
+.PP
+If \fIok\fR is not 0: if a conversion error occurs, \fI*ok\fR is set to FALSE; otherwise \fI*ok\fR is set to TRUE.
+.PP
+Leading and trailing whitespace is ignored by this function.
+.PP
+For information on how string-to-number functions in QString handle localized input, see toDouble().
+.PP
+See also number().
+.SH "void QString::truncate ( uint newLen )"
+If \fInewLen\fR is less than the length of the string, then the string is truncated at position \fInewLen\fR. Otherwise nothing happens.
+.PP
+.nf
+.br
+ QString s = "truncate me";
+.br
+ s.truncate( 5 ); // s == "trunc"
+.br
+.fi
+.PP
+See also setLength().
+.PP
+Example: network/mail/smtp.cpp.
+.SH "const unsigned short * QString::ucs2 () const"
+Returns the QString as a zero terminated array of unsigned shorts if the string is not null; otherwise returns zero.
+.PP
+The result remains valid so long as one unmodified copy of the source string exists.
+.PP
+Example: dotnet/wrapper/lib/tools.cpp.
+.SH "const QChar * QString::unicode () const"
+Returns the Unicode representation of the string. The result remains valid until the string is modified.
+.SH "QString QString::upper () const"
+Returns an uppercase copy of the string.
+.PP
+.nf
+.br
+ QString string( "TeXt" );
+.br
+ str = string.upper(); // t == "TEXT"
+.br
+.fi
+.PP
+See also lower().
+.PP
+Examples:
+.)l scribble/scribble.cpp and sql/overview/custom1/main.cpp.
+.SH "QCString QString::utf8 () const"
+Returns the string encoded in UTF-8 format.
+.PP
+See QTextCodec for more diverse coding/decoding of Unicode strings.
+.PP
+See also fromUtf8(), ascii(), latin1(), and local8Bit().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "bool operator!= ( const QString & s1, const QString & s2 )"
+Returns TRUE if \fIs1\fR is not equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) != 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator!= ( const QString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is not equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) != 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator!= ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is not equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) != 0.
+.PP
+See also isNull() and isEmpty().
+.SH "const QString operator+ ( const QString & s1, const QString & s2 )"
+Returns a string which is the result of concatenating the string \fIs1\fR and the string \fIs2\fR.
+.PP
+Equivalent to \fIs1\fR.append(\fIs2\fR).
+.SH "const QString operator+ ( const QString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which is the result of concatenating the string \fIs1\fR and character \fIs2\fR.
+.PP
+Equivalent to \fIs1\fR.append(\fIs2\fR).
+.SH "const QString operator+ ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which is the result of concatenating the character \fIs1\fR and string \fIs2\fR.
+.SH "const QString operator+ ( const QString & s, char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which is the result of concatenating the string \fIs\fR and character \fIc\fR.
+.PP
+Equivalent to \fIs\fR.append(\fIc\fR).
+.SH "const QString operator+ ( char c, const QString & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a string which is the result of concatenating the character \fIc\fR and string \fIs\fR.
+.PP
+Equivalent to \fIs\fR.prepend(\fIc\fR).
+.SH "bool operator< ( const QString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is lexically less than \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) < 0.
+.SH "bool operator< ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is lexically less than \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) < 0.
+.SH "QDataStream & operator<< ( QDataStream & s, const QString & str )"
+Writes the string \fIstr\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators
+.SH "bool operator<= ( const QString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is lexically less than or equal to \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR,\fIs2\fR) <= 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator<= ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is lexically less than or equal to \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) <= 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator== ( const QString & s1, const QString & s2 )"
+Returns TRUE if \fIs1\fR is equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) == 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator== ( const QString & s1, const char * s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) == 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator== ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is equal to \fIs2\fR; otherwise returns FALSE. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) == 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator> ( const QString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is lexically greater than \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) > 0.
+.SH "bool operator> ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is lexically greater than \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) > 0.
+.SH "bool operator>= ( const QString & s1, const char * s2 )"
+Returns TRUE if \fIs1\fR is lexically greater than or equal to \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) >= 0.
+.PP
+See also isNull() and isEmpty().
+.SH "bool operator>= ( const char * s1, const QString & s2 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if \fIs1\fR is lexically greater than or equal to \fIs2\fR; otherwise returns FALSE. The comparison is case sensitive. Note that a null string is not equal to a not-null empty string.
+.PP
+Equivalent to compare(\fIs1\fR, \fIs2\fR) >= 0.
+.PP
+See also isNull() and isEmpty().
+.SH "QDataStream & operator>> ( QDataStream & s, QString & str )"
+Reads a string from the stream \fIs\fR into string \fIstr\fR.
+.PP
+See also Format of the QDataStream operators
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstring.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstring.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstringlist.3qt b/doc/man/man3/qstringlist.3qt
new file mode 100644
index 0000000..a27a2d3
--- /dev/null
+++ b/doc/man/man3/qstringlist.3qt
@@ -0,0 +1,336 @@
+'\" t
+.TH QStringList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStringList \- List of strings
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qstringlist.h>\fR
+.PP
+Inherits QValueList<QString>.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStringList\fR ()"
+.br
+.ti -1c
+.BI "\fBQStringList\fR ( const QStringList & l )"
+.br
+.ti -1c
+.BI "\fBQStringList\fR ( const QValueList<QString> & l )"
+.br
+.ti -1c
+.BI "\fBQStringList\fR ( const QString & i )"
+.br
+.ti -1c
+.BI "\fBQStringList\fR ( const char * i )"
+.br
+.ti -1c
+.BI "void \fBsort\fR ()"
+.br
+.ti -1c
+.BI "QString \fBjoin\fR ( const QString & sep ) const"
+.br
+.ti -1c
+.BI "QStringList \fBgrep\fR ( const QString & str, bool cs = TRUE ) const"
+.br
+.ti -1c
+.BI "QStringList \fBgrep\fR ( const QRegExp & rx ) const"
+.br
+.ti -1c
+.BI "QStringList & \fBgres\fR ( const QString & before, const QString & after, bool cs = TRUE )"
+.br
+.ti -1c
+.BI "QStringList & \fBgres\fR ( const QRegExp & rx, const QString & after )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QStringList \fBfromStrList\fR ( const QStrList & ascii )"
+.br
+.ti -1c
+.BI "QStringList \fBsplit\fR ( const QString & sep, const QString & str, bool allowEmptyEntries = FALSE )"
+.br
+.ti -1c
+.BI "QStringList \fBsplit\fR ( const QChar & sep, const QString & str, bool allowEmptyEntries = FALSE )"
+.br
+.ti -1c
+.BI "QStringList \fBsplit\fR ( const QRegExp & sep, const QString & str, bool allowEmptyEntries = FALSE )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStringList class provides a list of strings.
+.PP
+It is used to store and manipulate strings that logically belong together. Essentially QStringList is a QValueList of QString objects. Unlike QStrList, which stores pointers to characters, QStringList holds real QString objects. It is the class of choice whenever you work with Unicode strings. QStringList is part of the Qt Template Library.
+.PP
+Like QString itself, QStringList objects are implicitly shared, so passing them around as value-parameters is both fast and safe.
+.PP
+Strings can be added to a list using append(), operator+=() or operator<<(), e.g.
+.PP
+.nf
+.br
+ QStringList fonts;
+.br
+ fonts.append( "Times" );
+.br
+ fonts += "Courier";
+.br
+ fonts += "Courier New";
+.br
+ fonts << "Helvetica [Cronyx]" << "Helvetica [Adobe]";
+.br
+.fi
+.PP
+String lists have an iterator, QStringList::Iterator(), e.g.
+.PP
+.nf
+.br
+ for ( QStringList::Iterator it = fonts.begin(); it != fonts.end(); ++it ) {
+.br
+ cout << *it << ":";
+.br
+ }
+.br
+ cout << endl;
+.br
+ // Output:
+.br
+ // Times:Courier:Courier New:Helvetica [Cronyx]:Helvetica [Adobe]:
+.br
+.fi
+.PP
+Many Qt functions return string lists by value; to iterate over these you should make a copy and iterate over the copy.
+.PP
+You can concatenate all the strings in a string list into a single string (with an optional separator) using join(), e.g.
+.PP
+.nf
+.br
+ QString allFonts = fonts.join( ", " );
+.br
+ cout << allFonts << endl;
+.br
+ // Output:
+.br
+ // Times, Courier, Courier New, Helvetica [Cronyx], Helvetica [Adobe]
+.br
+.fi
+.PP
+You can sort the list with sort(), and extract a new list which contains only those strings which contain a particular substring (or match a particular regular expression) using the grep() functions, e.g.
+.PP
+.nf
+.br
+ fonts.sort();
+.br
+ cout << fonts.join( ", " ) << endl;
+.br
+ // Output:
+.br
+ // Courier, Courier New, Helvetica [Adobe], Helvetica [Cronyx], Times
+.br
+.br
+ QStringList helveticas = fonts.grep( "Helvetica" );
+.br
+ cout << helveticas.join( ", " ) << endl;
+.br
+ // Output:
+.br
+ // Helvetica [Adobe], Helvetica [Cronyx]
+.br
+.fi
+.PP
+Existing strings can be split into string lists with character, string or regular expression separators, e.g.
+.PP
+.nf
+.br
+ QString s = "Red\\tGreen\\tBlue";
+.br
+ QStringList colors = QStringList::split( "\\t", s );
+.br
+ cout << colors.join( ", " ) << endl;
+.br
+ // Output:
+.br
+ // Red, Green, Blue
+.br
+.fi
+.PP
+See also Implicitly and Explicitly Shared Classes, Text Related Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStringList::QStringList ()"
+Creates an empty string list.
+.SH "QStringList::QStringList ( const QStringList & l )"
+Creates a copy of the list \fIl\fR. This function is very fast because QStringList is implicitly shared. In most situations this acts like a deep copy, for example, if this list or the original one or some other list referencing the same shared data is modified, the modifying list first makes a copy, i.e. copy-on-write. In a threaded environment you may require a real deep copy
+.
+.SH "QStringList::QStringList ( const QValueList<QString> & l )"
+Constructs a new string list that is a copy of \fIl\fR.
+.SH "QStringList::QStringList ( const QString & i )"
+Constructs a string list consisting of the single string \fIi\fR. Longer lists are easily created as follows:
+.PP
+.nf
+.br
+ QStringList items;
+.br
+ items << "Buy" << "Sell" << "Update" << "Value";
+.br
+.fi
+.SH "QStringList::QStringList ( const char * i )"
+Constructs a string list consisting of the single Latin-1 string \fIi\fR.
+.SH "QStringList QStringList::fromStrList ( const QStrList & ascii )\fC [static]\fR"
+Converts from an ASCII-QStrList \fIascii\fR to a QStringList (Unicode).
+.SH "QStringList QStringList::grep ( const QString & str, bool cs = TRUE ) const"
+Returns a list of all the strings containing the substring \fIstr\fR.
+.PP
+If \fIcs\fR is TRUE, the grep is done case-sensitively; otherwise case is ignored.
+.PP
+.nf
+.br
+ QStringList list;
+.br
+ list << "Bill Gates" << "John Doe" << "Bill Clinton";
+.br
+ list = list.grep( "Bill" );
+.br
+ // list == ["Bill Gates", "Bill Clinton"]
+.br
+.fi
+.PP
+See also QString::find().
+.SH "QStringList QStringList::grep ( const QRegExp & rx ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of all the strings that match the regular expression \fIrx\fR.
+.PP
+See also QString::find().
+.SH "QStringList & QStringList::gres ( const QString & before, const QString & after, bool cs = TRUE )"
+Replaces every occurrence of the string \fIbefore\fR in the strings that constitute the string list with the string \fIafter\fR. Returns a reference to the string list.
+.PP
+If \fIcs\fR is TRUE, the search is case sensitive; otherwise the search is case insensitive.
+.PP
+Example:
+.PP
+.nf
+.br
+ QStringList list;
+.br
+ list << "alpha" << "beta" << "gamma" << "epsilon";
+.br
+ list.gres( "a", "o" );
+.br
+ // list == ["olpho", "beto", "gommo", "epsilon"]
+.br
+.fi
+.PP
+See also QString::replace().
+.SH "QStringList & QStringList::gres ( const QRegExp & rx, const QString & after )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Replaces every occurrence of the regexp \fIrx\fR in the string with \fIafter\fR. Returns a reference to the string list.
+.PP
+Example:
+.PP
+.nf
+.br
+ QStringList list;
+.br
+ list << "alpha" << "beta" << "gamma" << "epsilon";
+.br
+ list.gres( QRegExp("^a"), "o" );
+.br
+ // list == ["olpha", "beta", "gamma", "epsilon"]
+.br
+.fi
+.PP
+For regexps containing capturing parentheses, occurrences of \fB&#92;1\fR, \fB&#92;2\fR, ..., in \fIafter\fR are replaced with \fIrx\fR.cap(1), cap(2), ...
+.PP
+Example:
+.PP
+.nf
+.br
+ QStringList list;
+.br
+ list << "Bill Clinton" << "Gates, Bill";
+.br
+ list.gres( QRegExp("^(.*), (.*)$"), "\\\\2 \\\\1" );
+.br
+ // list == ["Bill Clinton", "Bill Gates"]
+.br
+.fi
+.PP
+See also QString::replace().
+.SH "QString QStringList::join ( const QString & sep ) const"
+Joins the string list into a single string with each element separated by the string \fIsep\fR (which can be empty).
+.PP
+See also split().
+.PP
+Examples:
+.)l fileiconview/qfileiconview.cpp and toplevel/options.ui.h.
+.SH "void QStringList::sort ()"
+Sorts the list of strings in ascending case-sensitive order.
+.PP
+Sorting is very fast. It uses the Qt Template Library's efficient HeapSort implementation that has a time complexity of O(n*log n).
+.PP
+If you want to sort your strings in an arbitrary order consider using a QMap. For example you could use a QMap<QString,QString> to create a case-insensitive ordering (e.g. mapping the lowercase text to the text), or a QMap<int,QString> to sort the strings by some integer index, etc.
+.PP
+Example: themes/themes.cpp.
+.SH "QStringList QStringList::split ( const QRegExp & sep, const QString & str, bool allowEmptyEntries = FALSE )\fC [static]\fR"
+Splits the string \fIstr\fR into strings wherever the regular expression \fIsep\fR occurs, and returns the list of those strings.
+.PP
+If \fIallowEmptyEntries\fR is TRUE, a null string is inserted in the list wherever the separator matches twice without intervening text.
+.PP
+For example, if you split the string "a,,b,c" on commas, split() returns the three-item list "a", "b", "c" if \fIallowEmptyEntries\fR is FALSE (the default), and the four-item list "a", "", "b", "c" if \fIallowEmptyEntries\fR is TRUE.
+.PP
+If \fIsep\fR does not match anywhere in \fIstr\fR, split() returns a single element list with the element containing the single string \fIstr\fR.
+.PP
+See also join() and QString::section().
+.PP
+Examples:
+.)l chart/element.cpp, dirview/dirview.cpp, and network/httpd/httpd.cpp.
+.SH "QStringList QStringList::split ( const QString & sep, const QString & str, bool allowEmptyEntries = FALSE )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version of the function uses a QString as separator, rather than a regular expression.
+.PP
+If \fIsep\fR is an empty string, the return value is a list of one-character strings: split( QString( "" ), "four" ) returns the four-item list, "f", "o", "u", "r".
+.PP
+If \fIallowEmptyEntries\fR is TRUE, a null string is inserted in the list wherever the separator matches twice without intervening text.
+.PP
+See also join() and QString::section().
+.SH "QStringList QStringList::split ( const QChar & sep, const QString & str, bool allowEmptyEntries = FALSE )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version of the function uses a QChar as separator, rather than a regular expression.
+.PP
+See also join() and QString::section().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstringlist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstringlist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstrlist.3qt b/doc/man/man3/qstrlist.3qt
new file mode 100644
index 0000000..650d018
--- /dev/null
+++ b/doc/man/man3/qstrlist.3qt
@@ -0,0 +1,92 @@
+'\" t
+.TH QStrList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStrList \- Doubly-linked list of char*
+.SH SYNOPSIS
+\fC#include <qstrlist.h>\fR
+.PP
+Inherits QPtrList<char>.
+.PP
+Inherited by QStrIList.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStrList\fR ( bool deepCopies = TRUE )"
+.br
+.ti -1c
+.BI "\fBQStrList\fR ( const QStrList & list )"
+.br
+.ti -1c
+.BI "\fB~QStrList\fR ()"
+.br
+.ti -1c
+.BI "QStrList & \fBoperator=\fR ( const QStrList & list )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStrList class provides a doubly-linked list of char*.
+.PP
+If you want a string list of QStrings use QStringList.
+.PP
+This class is a QPtrList<char> instance (a list of char*).
+.PP
+QStrList can make deep or shallow copies of the strings that are inserted.
+.PP
+A deep copy means that memory is allocated for the string and then the string data is copied into that memory. A shallow copy is just a copy of the pointer value and not of the string data itself.
+.PP
+The disadvantage of shallow copies is that because a pointer can be deleted only once, the program must put all strings in a central place and know when it is safe to delete them (i.e. when the strings are no longer referenced by other parts of the program). This can make the program more complex. The advantage of shallow copies is that they consume far less memory than deep copies. It is also much faster to copy a pointer (typically 4 or 8 bytes) than to copy string data.
+.PP
+A QStrList that operates on deep copies will, by default, turn on auto-deletion (see setAutoDelete()). Thus, by default QStrList will deallocate any string copies it allocates.
+.PP
+The virtual compareItems() function is reimplemented and does a case-sensitive string comparison. The inSort() function will insert strings in sorted order. In general it is fastest to insert the strings as they come and sort() at the end; inSort() is useful when you just have to add a few extra strings to an already sorted list.
+.PP
+The QStrListIterator class is an iterator for QStrList.
+.PP
+See also Collection Classes, Text Related Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStrList::QStrList ( bool deepCopies = TRUE )"
+Constructs an empty list of strings. Will make deep copies of all inserted strings if \fIdeepCopies\fR is TRUE, or use shallow copies if \fIdeepCopies\fR is FALSE.
+.SH "QStrList::QStrList ( const QStrList & list )"
+Constructs a copy of \fIlist\fR.
+.PP
+If \fIlist\fR has deep copies, this list will also get deep copies. Only the pointers are copied (shallow copy) if the other list does not use deep copies.
+.SH "QStrList::~QStrList ()"
+Destroys the list. All strings are removed.
+.SH "QStrList & QStrList::operator= ( const QStrList & list )"
+Assigns \fIlist\fR to this list and returns a reference to this list.
+.PP
+If \fIlist\fR has deep copies, this list will also get deep copies.
+Only the pointers are copied (shallow copy) if the other list does
+not use deep copies.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstrlist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstrlist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstrlistiterator.3qt b/doc/man/man3/qstrlistiterator.3qt
new file mode 100644
index 0000000..67c3a36
--- /dev/null
+++ b/doc/man/man3/qstrlistiterator.3qt
@@ -0,0 +1,46 @@
+'\" t
+.TH QStrListIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStrListIterator \- Iterator for the QStrList and QStrIList classes
+.SH SYNOPSIS
+\fC#include <qstrlist.h>\fR
+.PP
+Inherits QPtrListIterator<char>.
+.PP
+.SH DESCRIPTION
+The QStrListIterator class is an iterator for the QStrList and QStrIList classes.
+.PP
+This class is a QPtrListIterator<char> instance. It can traverse the strings in the QStrList and QStrIList classes.
+.PP
+See also Non-GUI Classes.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstrlistiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstrlistiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstyle.3qt b/doc/man/man3/qstyle.3qt
new file mode 100644
index 0000000..d1f7192
--- /dev/null
+++ b/doc/man/man3/qstyle.3qt
@@ -0,0 +1,1089 @@
+'\" t
+.TH QStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStyle \- The look and feel of a GUI
+.SH SYNOPSIS
+\fC#include <qstyle.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QCommonStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStyle\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QStyle\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpolish\fR ( QWidget * )"
+.br
+.ti -1c
+.BI "virtual void \fBunPolish\fR ( QWidget * )"
+.br
+.ti -1c
+.BI "virtual void \fBpolish\fR ( QApplication * )"
+.br
+.ti -1c
+.BI "virtual void \fBunPolish\fR ( QApplication * )"
+.br
+.ti -1c
+.BI "virtual void \fBpolish\fR ( QPalette & )"
+.br
+.ti -1c
+.BI "virtual void \fBpolishPopupMenu\fR ( QPopupMenu * ) = 0"
+.br
+.ti -1c
+.BI "virtual QRect \fBitemRect\fR ( QPainter * p, const QRect & r, int flags, bool enabled, const QPixmap * pixmap, const QString & text, int len = -1 ) const"
+.br
+.ti -1c
+.BI "virtual void \fBdrawItem\fR ( QPainter * p, const QRect & r, int flags, const QColorGroup & g, bool enabled, const QPixmap * pixmap, const QString & text, int len = -1, const QColor * penColor = 0 ) const"
+.br
+.ti -1c
+.BI "enum \fBPrimitiveElement\fR { PE_ButtonCommand, PE_ButtonDefault, PE_ButtonBevel, PE_ButtonTool, PE_ButtonDropDown, PE_FocusRect, PE_ArrowUp, PE_ArrowDown, PE_ArrowRight, PE_ArrowLeft, PE_SpinWidgetUp, PE_SpinWidgetDown, PE_SpinWidgetPlus, PE_SpinWidgetMinus, PE_Indicator, PE_IndicatorMask, PE_ExclusiveIndicator, PE_ExclusiveIndicatorMask, PE_DockWindowHandle, PE_DockWindowSeparator, PE_DockWindowResizeHandle, PE_Splitter, PE_Panel, PE_PanelPopup, PE_PanelMenuBar, PE_PanelDockWindow, PE_TabBarBase, PE_HeaderSection, PE_HeaderArrow, PE_StatusBarSection, PE_GroupBoxFrame, PE_Separator, PE_SizeGrip, PE_CheckMark, PE_ScrollBarAddLine, PE_ScrollBarSubLine, PE_ScrollBarAddPage, PE_ScrollBarSubPage, PE_ScrollBarSlider, PE_ScrollBarFirst, PE_ScrollBarLast, PE_ProgressBarChunk, PE_PanelLineEdit, PE_PanelTabWidget, PE_WindowFrame, PE_CheckListController, PE_CheckListIndicator, PE_CheckListExclusiveIndicator, PE_PanelGroupBox, PE_RubberBand, PE_CustomBase = 0xf000000 }"
+.br
+.ti -1c
+.BI "enum \fBStyleFlags\fR { Style_Default = 0x00000000, Style_Enabled = 0x00000001, Style_Raised = 0x00000002, Style_Sunken = 0x00000004, Style_Off = 0x00000008, Style_NoChange = 0x00000010, Style_On = 0x00000020, Style_Down = 0x00000040, Style_Horizontal = 0x00000080, Style_HasFocus = 0x00000100, Style_Top = 0x00000200, Style_Bottom = 0x00000400, Style_FocusAtBorder = 0x00000800, Style_AutoRaise = 0x00001000, Style_MouseOver = 0x00002000, Style_Up = 0x00004000, Style_Selected = 0x00008000, Style_Active = 0x00010000, Style_ButtonDefault = 0x00020000 }"
+.br
+.ti -1c
+.BI "virtual void \fBdrawPrimitive\fR ( PrimitiveElement pe, QPainter * p, const QRect & r, const QColorGroup & cg, SFlags flags = Style_Default, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBControlElement\fR { CE_PushButton, CE_PushButtonLabel, CE_CheckBox, CE_CheckBoxLabel, CE_RadioButton, CE_RadioButtonLabel, CE_TabBarTab, CE_TabBarLabel, CE_ProgressBarGroove, CE_ProgressBarContents, CE_ProgressBarLabel, CE_PopupMenuItem, CE_MenuBarItem, CE_ToolButtonLabel, CE_MenuBarEmptyArea, CE_PopupMenuScroller, CE_DockWindowEmptyArea, CE_PopupMenuVerticalExtra, CE_PopupMenuHorizontalExtra, CE_ToolBoxTab, CE_HeaderLabel, CE_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual void \fBdrawControl\fR ( ControlElement element, QPainter * p, const QWidget * widget, const QRect & r, const QColorGroup & cg, SFlags how = Style_Default, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBdrawControlMask\fR ( ControlElement element, QPainter * p, const QWidget * widget, const QRect & r, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBSubRect\fR { SR_PushButtonContents, SR_PushButtonFocusRect, SR_CheckBoxIndicator, SR_CheckBoxContents, SR_CheckBoxFocusRect, SR_RadioButtonIndicator, SR_RadioButtonContents, SR_RadioButtonFocusRect, SR_ComboBoxFocusRect, SR_SliderFocusRect, SR_DockWindowHandleRect, SR_ProgressBarGroove, SR_ProgressBarContents, SR_ProgressBarLabel, SR_ToolButtonContents, SR_DialogButtonAccept, SR_DialogButtonReject, SR_DialogButtonApply, SR_DialogButtonHelp, SR_DialogButtonAll, SR_DialogButtonAbort, SR_DialogButtonIgnore, SR_DialogButtonRetry, SR_DialogButtonCustom, SR_ToolBoxTabContents, SR_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual QRect \fBsubRect\fR ( SubRect subrect, const QWidget * widget ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBComplexControl\fR { CC_SpinWidget, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, CC_TitleBar, CC_ListView, CC_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "enum \fBSubControl\fR { SC_None = 0x00000000, SC_ScrollBarAddLine = 0x00000001, SC_ScrollBarSubLine = 0x00000002, SC_ScrollBarAddPage = 0x00000004, SC_ScrollBarSubPage = 0x00000008, SC_ScrollBarFirst = 0x00000010, SC_ScrollBarLast = 0x00000020, SC_ScrollBarSlider = 0x00000040, SC_ScrollBarGroove = 0x00000080, SC_SpinWidgetUp = 0x00000001, SC_SpinWidgetDown = 0x00000002, SC_SpinWidgetFrame = 0x00000004, SC_SpinWidgetEditField = 0x00000008, SC_SpinWidgetButtonField = 0x00000010, SC_ComboBoxFrame = 0x00000001, SC_ComboBoxEditField = 0x00000002, SC_ComboBoxArrow = 0x00000004, SC_ComboBoxListBoxPopup = 0x00000008, SC_SliderGroove = 0x00000001, SC_SliderHandle = 0x00000002, SC_SliderTickmarks = 0x00000004, SC_ToolButton = 0x00000001, SC_ToolButtonMenu = 0x00000002, SC_TitleBarLabel = 0x00000001, SC_TitleBarSysMenu = 0x00000002, SC_TitleBarMinButton = 0x00000004, SC_TitleBarMaxButton = 0x00000008, SC_TitleBarCloseButton = 0x00000010, SC_TitleBarNormalButton = 0x00000020, SC_TitleBarShadeButton = 0x00000040, SC_TitleBarUnshadeButton = 0x00000080, SC_ListView = 0x00000001, SC_ListViewBranch = 0x00000002, SC_ListViewExpand = 0x00000004, SC_All = 0xffffffff }"
+.br
+.ti -1c
+.BI "virtual void \fBdrawComplexControl\fR ( ComplexControl control, QPainter * p, const QWidget * widget, const QRect & r, const QColorGroup & cg, SFlags how = Style_Default, SCFlags sub = SC_All, SCFlags subActive = SC_None, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBdrawComplexControlMask\fR ( ComplexControl control, QPainter * p, const QWidget * widget, const QRect & r, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "virtual QRect \fBquerySubControlMetrics\fR ( ComplexControl control, const QWidget * widget, SubControl subcontrol, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "virtual SubControl \fBquerySubControl\fR ( ComplexControl control, const QWidget * widget, const QPoint & pos, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBPixelMetric\fR { PM_ButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, PM_ButtonShiftVertical, PM_DefaultFrameWidth, PM_SpinBoxFrameWidth, PM_MaximumDragDistance, PM_ScrollBarExtent, PM_ScrollBarSliderMin, PM_SliderThickness, PM_SliderControlThickness, PM_SliderLength, PM_SliderTickmarkOffset, PM_SliderSpaceAvailable, PM_DockWindowSeparatorExtent, PM_DockWindowHandleExtent, PM_DockWindowFrameWidth, PM_MenuBarFrameWidth, PM_TabBarTabOverlap, PM_TabBarTabHSpace, PM_TabBarTabVSpace, PM_TabBarBaseHeight, PM_TabBarBaseOverlap, PM_ProgressBarChunkWidth, PM_SplitterWidth, PM_TitleBarHeight, PM_IndicatorWidth, PM_IndicatorHeight, PM_ExclusiveIndicatorWidth, PM_ExclusiveIndicatorHeight, PM_PopupMenuScrollerHeight, PM_CheckListButtonSize, PM_CheckListControllerSize, PM_PopupMenuFrameHorizontalExtra, PM_PopupMenuFrameVerticalExtra, PM_DialogButtonsSeparator, PM_DialogButtonsButtonWidth, PM_DialogButtonsButtonHeight, PM_MDIFrameWidth, PM_MDIMinimizedWidth, PM_HeaderMargin, PM_HeaderMarkSize, PM_HeaderGripMargin, PM_TabBarTabShiftHorizontal, PM_TabBarTabShiftVertical, PM_TabBarScrollButtonWidth, PM_MenuBarItemSpacing, PM_ToolBarItemSpacing, PM_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual int \fBpixelMetric\fR ( PixelMetric metric, const QWidget * widget = 0 ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBContentsType\fR { CT_PushButton, CT_CheckBox, CT_RadioButton, CT_ToolButton, CT_ComboBox, CT_Splitter, CT_DockWindow, CT_ProgressBar, CT_PopupMenuItem, CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit, CT_MenuBar, CT_SpinBox, CT_SizeGrip, CT_TabWidget, CT_DialogButtons, CT_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeFromContents\fR ( ContentsType contents, const QWidget * widget, const QSize & contentsSize, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBStyleHint\fR { SH_EtchDisabledText, SH_GUIStyle, SH_ScrollBar_BackgroundMode, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_ScrollWhenPointerLeavesControl, SH_TabBar_SelectMouseType, SH_TabBar_Alignment, SH_Header_ArrowAlignment, SH_Slider_SnapToValue, SH_Slider_SloppyKeyEvents, SH_ProgressDialog_CenterCancelButton, SH_ProgressDialog_TextLabelAlignment, SH_PrintDialog_RightAlignButtons, SH_MainWindow_SpaceBelowMenuBar, SH_FontDialog_SelectAssociatedText, SH_PopupMenu_AllowActiveAndDisabled, SH_PopupMenu_SpaceActivatesItem, SH_PopupMenu_SubMenuPopupDelay, SH_ScrollView_FrameOnlyAroundContents, SH_MenuBar_AltKeyNavigation, SH_ComboBox_ListMouseTracking, SH_PopupMenu_MouseTracking, SH_MenuBar_MouseTracking, SH_ItemView_ChangeHighlightOnFocus, SH_Widget_ShareActivation, SH_Workspace_FillSpaceOnMaximize, SH_ComboBox_Popup, SH_TitleBar_NoBorder, SH_ScrollBar_StopMouseOverSlider, SH_BlinkCursorWhenTextSelected, SH_RichText_FullWidthSelection, SH_PopupMenu_Scrollable, SH_GroupBox_TextLabelVerticalAlignment, SH_GroupBox_TextLabelColor, SH_PopupMenu_SloppySubMenus, SH_Table_GridLineColor, SH_LineEdit_PasswordCharacter, SH_DialogButtons_DefaultButton, SH_ToolBox_SelectedPageTitleBold, SH_TabBar_PreferNoArrows, SH_ScrollBar_LeftClickAbsolutePosition, SH_ListViewExpand_SelectMouseType, SH_UnderlineAccelerator, SH_ToolButton_Uses3D, SH_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual int \fBstyleHint\fR ( StyleHint stylehint, const QWidget * widget = 0, const QStyleOption & opt = QStyleOption::Default, QStyleHintReturn * returnData = 0 ) const = 0"
+.br
+.ti -1c
+.BI "enum \fBStylePixmap\fR { SP_TitleBarMinButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, SP_TitleBarShadeButton, SP_TitleBarUnshadeButton, SP_DockWindowCloseButton, SP_MessageBoxInformation, SP_MessageBoxWarning, SP_MessageBoxCritical, SP_MessageBoxQuestion, SP_CustomBase = 0xf0000000 }"
+.br
+.ti -1c
+.BI "virtual QPixmap \fBstylePixmap\fR ( StylePixmap stylepixmap, const QWidget * widget = 0, const QStyleOption & opt = QStyleOption::Default ) const = 0"
+.br
+.ti -1c
+.BI "int defaultFrameWidth () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void tabbarMetrics ( const QWidget * t, int & hf, int & vf, int & ov ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QSize scrollBarExtent () const \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QRect \fBvisualRect\fR ( const QRect & logical, const QWidget * w )"
+.br
+.ti -1c
+.BI "QRect \fBvisualRect\fR ( const QRect & logical, const QRect & bounding )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStyle class specifies the look and feel of a GUI.
+.PP
+A large number of GUI elements are common to many widgets. The QStyle class allows the look of these elements to be modified across all widgets that use the QStyle functions. It also provides two feel options: Motif and Windows.
+.PP
+Although it is not possible to fully enumerate the look of graphical elements and the feel of widgets in a GUI, QStyle provides a considerable amount of control and customisability.
+.PP
+In Qt 1.x the look and feel option for widgets was specified by a single value: the GUIStyle. Starting with Qt 2.0, this notion was expanded to allow the look to be specified by virtual drawing functions.
+.PP
+Derived classes may reimplement some or all of the drawing functions to modify the look of all widgets that use those functions.
+.PP
+Languages written from right to left (such as Arabic and Hebrew) usually also mirror the whole layout of widgets. If you design a style, you should take special care when drawing asymmetric elements to make sure that they also look correct in a mirrored layout. You can start your application with \fC-reverse\fR to check the mirrored layout. Also notice, that for a reversed layout, the light usually comes from top right instead of top left.
+.PP
+The actual reverse layout is performed automatically when possible. However, for the sake of flexibility, the translation cannot be performed everywhere. The documentation for each function in the QStyle API states whether the function expects/returns logical or screen coordinates. Using logical coordinates (in ComplexControls, for example) provides great flexibility in controlling the look of a widget. Use visualRect() when necessary to translate logical coordinates into screen coordinates for drawing.
+.PP
+In Qt versions prior to 3.0, if you wanted a low level route into changing the appearance of a widget, you would reimplement polish(). With the new 3.0 style engine the recommended approach is to reimplement the draw functions, for example drawItem(), drawPrimitive(), drawControl(), drawControlMask(), drawComplexControl() and drawComplexControlMask(). Each of these functions is called with a range of parameters that provide information that you can use to determine how to draw them, e.g. style flags, rectangle, color group, etc.
+.PP
+For information on changing elements of an existing style or creating your own style see the Style overview.
+.PP
+Styles can also be created as plugins.
+.PP
+See also Widget Appearance and Style.
+.SS "Member Type Documentation"
+.SH "QStyle::ComplexControl"
+This enum represents a ComplexControl. ComplexControls have different behaviour depending upon where the user clicks on them or which keys are pressed.
+.TP
+\fCQStyle::CC_SpinWidget\fR
+.TP
+\fCQStyle::CC_ComboBox\fR
+.TP
+\fCQStyle::CC_ScrollBar\fR
+.TP
+\fCQStyle::CC_Slider\fR
+.TP
+\fCQStyle::CC_ToolButton\fR
+.TP
+\fCQStyle::CC_TitleBar\fR
+.TP
+\fCQStyle::CC_ListView\fR
+.TP
+\fCQStyle::CC_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.PP
+See also SubControl and drawComplexControl().
+.SH "QStyle::ContentsType"
+This enum represents a ContentsType. It is used to calculate sizes for the contents of various widgets.
+.TP
+\fCQStyle::CT_PushButton\fR
+.TP
+\fCQStyle::CT_CheckBox\fR
+.TP
+\fCQStyle::CT_RadioButton\fR
+.TP
+\fCQStyle::CT_ToolButton\fR
+.TP
+\fCQStyle::CT_ComboBox\fR
+.TP
+\fCQStyle::CT_Splitter\fR
+.TP
+\fCQStyle::CT_DockWindow\fR
+.TP
+\fCQStyle::CT_ProgressBar\fR
+.TP
+\fCQStyle::CT_PopupMenuItem\fR
+.TP
+\fCQStyle::CT_TabBarTab\fR
+.TP
+\fCQStyle::CT_Slider\fR
+.TP
+\fCQStyle::CT_Header\fR
+.TP
+\fCQStyle::CT_LineEdit\fR
+.TP
+\fCQStyle::CT_MenuBar\fR
+.TP
+\fCQStyle::CT_SpinBox\fR
+.TP
+\fCQStyle::CT_SizeGrip\fR
+.TP
+\fCQStyle::CT_TabWidget\fR
+.TP
+\fCQStyle::CT_DialogButtons\fR
+.TP
+\fCQStyle::CT_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Custom values must be greater than this value.
+.PP
+See also sizeFromContents().
+.SH "QStyle::ControlElement"
+This enum represents a ControlElement. A ControlElement is part of a widget that performs some action or displays information to the user.
+.TP
+\fCQStyle::CE_PushButton\fR - the bevel and default indicator of a QPushButton.
+.TP
+\fCQStyle::CE_PushButtonLabel\fR - the label (iconset with text or pixmap) of a QPushButton.
+.TP
+\fCQStyle::CE_CheckBox\fR - the indicator of a QCheckBox.
+.TP
+\fCQStyle::CE_CheckBoxLabel\fR - the label (text or pixmap) of a QCheckBox.
+.TP
+\fCQStyle::CE_RadioButton\fR - the indicator of a QRadioButton.
+.TP
+\fCQStyle::CE_RadioButtonLabel\fR - the label (text or pixmap) of a QRadioButton.
+.TP
+\fCQStyle::CE_TabBarTab\fR - the tab within a QTabBar (a QTab).
+.TP
+\fCQStyle::CE_TabBarLabel\fR - the label within a QTab.
+.TP
+\fCQStyle::CE_ProgressBarGroove\fR - the groove where the progress indicator is drawn in a QProgressBar.
+.TP
+\fCQStyle::CE_ProgressBarContents\fR - the progress indicator of a QProgressBar.
+.TP
+\fCQStyle::CE_ProgressBarLabel\fR - the text label of a QProgressBar.
+.TP
+\fCQStyle::CE_PopupMenuItem\fR - a menu item in a QPopupMenu.
+.TP
+\fCQStyle::CE_PopupMenuScroller\fR - scrolling areas in a popumenu when the style supports scrolling.
+.TP
+\fCQStyle::CE_PopupMenuHorizontalExtra\fR - extra frame area set aside with PM_PopupMenuFrameHorizontalExtra
+.TP
+\fCQStyle::CE_PopupMenuVerticalExtra\fR - extra frame area set aside with PM_PopupMenuFrameVerticalExtra
+.TP
+\fCQStyle::CE_MenuBarItem\fR - a menu item in a QMenuBar.
+.TP
+\fCQStyle::CE_ToolButtonLabel\fR - a tool button's label.
+.TP
+\fCQStyle::CE_MenuBarEmptyArea\fR - the empty area of a QMenuBar.
+.TP
+\fCQStyle::CE_DockWindowEmptyArea\fR - the empty area of a QDockWindow.
+.TP
+\fCQStyle::CE_ToolBoxTab\fR - the toolbox's tab area
+.TP
+\fCQStyle::CE_HeaderLabel\fR - the header's label
+.TP
+\fCQStyle::CE_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.PP
+See also drawControl().
+.SH "QStyle::PixelMetric"
+This enum represents a PixelMetric. A PixelMetric is a style dependent size represented as a single pixel value.
+.TP
+\fCQStyle::PM_ButtonMargin\fR - amount of whitespace between pushbutton labels and the frame.
+.TP
+\fCQStyle::PM_ButtonDefaultIndicator\fR - width of the default-button indicator frame.
+.TP
+\fCQStyle::PM_MenuButtonIndicator\fR - width of the menu button indicator proportional to the widget height.
+.TP
+\fCQStyle::PM_ButtonShiftHorizontal\fR - horizontal contents shift of a button when the button is down.
+.TP
+\fCQStyle::PM_ButtonShiftVertical\fR - vertical contents shift of a button when the button is down.
+.TP
+\fCQStyle::PM_DefaultFrameWidth\fR - default frame width, usually 2.
+.TP
+\fCQStyle::PM_SpinBoxFrameWidth\fR - frame width of a spin box.
+.TP
+\fCQStyle::PM_MDIFrameWidth\fR - frame width of an MDI window.
+.TP
+\fCQStyle::PM_MDIMinimizedWidth\fR - width of a minimized MSI window.
+.TP
+\fCQStyle::PM_MaximumDragDistance\fR - Some feels require the scrollbar or other sliders to jump back to the original position when the mouse pointer is too far away while dragging. A value of -1 disables this behavior.
+.TP
+\fCQStyle::PM_ScrollBarExtent\fR - width of a vertical scrollbar and the height of a horizontal scrollbar.
+.TP
+\fCQStyle::PM_ScrollBarSliderMin\fR - the minimum height of a vertical scrollbar's slider and the minimum width of a horiztonal scrollbar slider.
+.TP
+\fCQStyle::PM_SliderThickness\fR - total slider thickness.
+.TP
+\fCQStyle::PM_SliderControlThickness\fR - thickness of the slider handle.
+.TP
+\fCQStyle::PM_SliderLength\fR - length of the slider.
+.TP
+\fCQStyle::PM_SliderTickmarkOffset\fR - the offset between the tickmarks and the slider.
+.TP
+\fCQStyle::PM_SliderSpaceAvailable\fR - the available space for the slider to move.
+.TP
+\fCQStyle::PM_DockWindowSeparatorExtent\fR - width of a separator in a horiztonal dock window and the height of a separator in a vertical dock window.
+.TP
+\fCQStyle::PM_DockWindowHandleExtent\fR - width of the handle in a horizontal dock window and the height of the handle in a vertical dock window.
+.TP
+\fCQStyle::PM_DockWindowFrameWidth\fR - frame width of a dock window.
+.TP
+\fCQStyle::PM_MenuBarFrameWidth\fR - frame width of a menubar.
+.TP
+\fCQStyle::PM_MenuBarItemSpacing\fR - spacing between menubar items.
+.TP
+\fCQStyle::PM_ToolBarItemSpacing\fR - spacing between toolbar items.
+.TP
+\fCQStyle::PM_TabBarTabOverlap\fR - number of pixels the tabs should overlap.
+.TP
+\fCQStyle::PM_TabBarTabHSpace\fR - extra space added to the tab width.
+.TP
+\fCQStyle::PM_TabBarTabVSpace\fR - extra space added to the tab height.
+.TP
+\fCQStyle::PM_TabBarBaseHeight\fR - height of the area between the tab bar and the tab pages.
+.TP
+\fCQStyle::PM_TabBarBaseOverlap\fR - number of pixels the tab bar overlaps the tab bar base.
+.TP
+\fCQStyle::PM_TabBarScrollButtonWidth\fR
+.TP
+\fCQStyle::PM_TabBarTabShiftHorizontal\fR - horizontal pixel shift when a tab is selected.
+.TP
+\fCQStyle::PM_TabBarTabShiftVertical\fR - vertical pixel shift when a tab is selected.
+.TP
+\fCQStyle::PM_ProgressBarChunkWidth\fR - width of a chunk in a progress bar indicator.
+.TP
+\fCQStyle::PM_SplitterWidth\fR - width of a splitter.
+.TP
+\fCQStyle::PM_TitleBarHeight\fR - height of the title bar.
+.TP
+\fCQStyle::PM_PopupMenuFrameHorizontalExtra\fR - additional border, e.g. for panels
+.TP
+\fCQStyle::PM_PopupMenuFrameVerticalExtra\fR - additional border, e.g. for panels
+.TP
+\fCQStyle::PM_IndicatorWidth\fR - width of a check box indicator.
+.TP
+\fCQStyle::PM_IndicatorHeight\fR - height of a checkbox indicator.
+.TP
+\fCQStyle::PM_ExclusiveIndicatorWidth\fR - width of a radio button indicator.
+.TP
+\fCQStyle::PM_ExclusiveIndicatorHeight\fR - height of a radio button indicator.
+.TP
+\fCQStyle::PM_PopupMenuScrollerHeight\fR - height of the scroller area in a popupmenu.
+.TP
+\fCQStyle::PM_PopupMenuScrollerHeight\fR - height of the scroller area in a popupmenu.
+.TP
+\fCQStyle::PM_CheckListButtonSize\fR - area (width/height) of the checkbox/radiobutton in a QCheckListItem
+.TP
+\fCQStyle::PM_CheckListControllerSize\fR - area (width/height) of the controller in a QCheckListItem
+.TP
+\fCQStyle::PM_DialogButtonsSeparator\fR - distance between buttons in a dialog buttons widget.
+.TP
+\fCQStyle::PM_DialogButtonsButtonWidth\fR - minimum width of a button in a dialog buttons widget.
+.TP
+\fCQStyle::PM_DialogButtonsButtonHeight\fR - minimum height of a button in a dialog buttons widget.
+.TP
+\fCQStyle::PM_HeaderMarkSize\fR
+.TP
+\fCQStyle::PM_HeaderGripMargin\fR
+.TP
+\fCQStyle::PM_HeaderMargin\fR
+.TP
+\fCQStyle::PM_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.PP
+See also pixelMetric().
+.SH "QStyle::PrimitiveElement"
+This enum represents the PrimitiveElements of a style. A PrimitiveElement is a common GUI element, such as a checkbox indicator or pushbutton bevel.
+.TP
+\fCQStyle::PE_ButtonCommand\fR - button used to initiate an action, for example, a QPushButton.
+.TP
+\fCQStyle::PE_ButtonDefault\fR - this button is the default button, e.g. in a dialog.
+.TP
+\fCQStyle::PE_ButtonBevel\fR - generic button bevel.
+.TP
+\fCQStyle::PE_ButtonTool\fR - tool button, for example, a QToolButton.
+.TP
+\fCQStyle::PE_ButtonDropDown\fR - drop down button, for example, a tool button that displays a popup menu, for example, QPopupMenu.
+.TP
+\fCQStyle::PE_FocusRect\fR - generic focus indicator.
+.TP
+\fCQStyle::PE_ArrowUp\fR - up arrow.
+.TP
+\fCQStyle::PE_ArrowDown\fR - down arrow.
+.TP
+\fCQStyle::PE_ArrowRight\fR - right arrow.
+.TP
+\fCQStyle::PE_ArrowLeft\fR - left arrow.
+.TP
+\fCQStyle::PE_SpinWidgetUp\fR - up symbol for a spin widget, for example a QSpinBox.
+.TP
+\fCQStyle::PE_SpinWidgetDown\fR - down symbol for a spin widget.
+.TP
+\fCQStyle::PE_SpinWidgetPlus\fR - increase symbol for a spin widget.
+.TP
+\fCQStyle::PE_SpinWidgetMinus\fR - decrease symbol for a spin widget.
+.TP
+\fCQStyle::PE_Indicator\fR - on/off indicator, for example, a QCheckBox.
+.TP
+\fCQStyle::PE_IndicatorMask\fR - bitmap mask for an indicator.
+.TP
+\fCQStyle::PE_ExclusiveIndicator\fR - exclusive on/off indicator, for example, a QRadioButton.
+.TP
+\fCQStyle::PE_ExclusiveIndicatorMask\fR - bitmap mask for an exclusive indicator.
+.TP
+\fCQStyle::PE_DockWindowHandle\fR - tear off handle for dock windows and toolbars, for example QDockWindows and QToolBars.
+.TP
+\fCQStyle::PE_DockWindowSeparator\fR - item separator for dock window and toolbar contents.
+.TP
+\fCQStyle::PE_DockWindowResizeHandle\fR - resize handle for dock windows.
+.TP
+\fCQStyle::PE_Splitter\fR - splitter handle; see also QSplitter.
+.TP
+\fCQStyle::PE_Panel\fR - generic panel frame; see also QFrame.
+.TP
+\fCQStyle::PE_PanelPopup\fR - panel frame for popup windows/menus; see also QPopupMenu.
+.TP
+\fCQStyle::PE_PanelMenuBar\fR - panel frame for menu bars.
+.TP
+\fCQStyle::PE_PanelDockWindow\fR - panel frame for dock windows and toolbars.
+.TP
+\fCQStyle::PE_PanelTabWidget\fR - panel frame for tab widgets.
+.TP
+\fCQStyle::PE_PanelLineEdit\fR - panel frame for line edits.
+.TP
+\fCQStyle::PE_PanelGroupBox\fR - panel frame for group boxes.
+.TP
+\fCQStyle::PE_TabBarBase\fR - area below tabs in a tab widget, for example, QTab.
+.TP
+\fCQStyle::PE_HeaderSection\fR - section of a list or table header; see also QHeader.
+.TP
+\fCQStyle::PE_HeaderArrow\fR - arrow used to indicate sorting on a list or table header
+.TP
+\fCQStyle::PE_StatusBarSection\fR - section of a status bar; see also QStatusBar.
+.TP
+\fCQStyle::PE_GroupBoxFrame\fR - frame around a group box; see also QGroupBox.
+.TP
+\fCQStyle::PE_WindowFrame\fR - frame around a MDI window or a docking window
+.TP
+\fCQStyle::PE_Separator\fR - generic separator.
+.TP
+\fCQStyle::PE_SizeGrip\fR - window resize handle; see also QSizeGrip.
+.TP
+\fCQStyle::PE_CheckMark\fR - generic check mark; see also QCheckBox.
+.TP
+\fCQStyle::PE_ScrollBarAddLine\fR - scrollbar line increase indicator (i.e. scroll down); see also QScrollBar.
+.TP
+\fCQStyle::PE_ScrollBarSubLine\fR - scrollbar line decrease indicator (i.e. scroll up).
+.TP
+\fCQStyle::PE_ScrollBarAddPage\fR - scolllbar page increase indicator (i.e. page down).
+.TP
+\fCQStyle::PE_ScrollBarSubPage\fR - scrollbar page decrease indicator (i.e. page up).
+.TP
+\fCQStyle::PE_ScrollBarSlider\fR - scrollbar slider
+.TP
+\fCQStyle::PE_ScrollBarFirst\fR - scrollbar first line indicator (i.e. home).
+.TP
+\fCQStyle::PE_ScrollBarLast\fR - scrollbar last line indicator (i.e. end).
+.TP
+\fCQStyle::PE_ProgressBarChunk\fR - section of a progress bar indicator; see also QProgressBar.
+.TP
+\fCQStyle::PE_CheckListController\fR - controller part of a listview item
+.TP
+\fCQStyle::PE_CheckListIndicator\fR - checkbox part of a listview item
+.TP
+\fCQStyle::PE_CheckListExclusiveIndicator\fR - radiobutton part of a listview item
+.TP
+\fCQStyle::PE_RubberBand\fR - rubber band used in such things as iconview
+.TP
+\fCQStyle::PE_CustomBase\fR - base value for custom PrimitiveElements. All values above this are reserved for custom use. Custom values must be greater than this value.
+.PP
+See also drawPrimitive().
+.SH "QStyle::StyleFlags"
+This enum represents flags for drawing PrimitiveElements. Not all primitives use all of these flags. Note that these flags may mean different things to different primitives. For an explanation of the relationship between primitives and their flags, as well as the different meanings of the flags, see the Style overview.
+.TP
+\fCQStyle::Style_Default\fR
+.TP
+\fCQStyle::Style_Enabled\fR
+.TP
+\fCQStyle::Style_Raised\fR
+.TP
+\fCQStyle::Style_Sunken\fR
+.TP
+\fCQStyle::Style_Off\fR
+.TP
+\fCQStyle::Style_NoChange\fR
+.TP
+\fCQStyle::Style_On\fR
+.TP
+\fCQStyle::Style_Down\fR
+.TP
+\fCQStyle::Style_Horizontal\fR
+.TP
+\fCQStyle::Style_HasFocus\fR
+.TP
+\fCQStyle::Style_Top\fR
+.TP
+\fCQStyle::Style_Bottom\fR
+.TP
+\fCQStyle::Style_FocusAtBorder\fR
+.TP
+\fCQStyle::Style_AutoRaise\fR
+.TP
+\fCQStyle::Style_MouseOver\fR
+.TP
+\fCQStyle::Style_Up\fR
+.TP
+\fCQStyle::Style_Selected\fR
+.TP
+\fCQStyle::Style_HasFocus\fR
+.TP
+\fCQStyle::Style_Active\fR
+.TP
+\fCQStyle::Style_ButtonDefault\fR
+.PP
+See also drawPrimitive().
+.SH "QStyle::StyleHint"
+This enum represents a StyleHint. A StyleHint is a general look and/or feel hint.
+.TP
+\fCQStyle::SH_EtchDisabledText\fR - disabled text is "etched" like Windows.
+.TP
+\fCQStyle::SH_GUIStyle\fR - the GUI style to use.
+.TP
+\fCQStyle::SH_ScrollBar_BackgroundMode\fR - the background mode for a QScrollBar. Possible values are any of those in the BackgroundMode enum.
+.TP
+\fCQStyle::SH_ScrollBar_MiddleClickAbsolutePosition\fR - a boolean value. If TRUE, middle clicking on a scrollbar causes the slider to jump to that position. If FALSE, the middle clicking is ignored.
+.TP
+\fCQStyle::SH_ScrollBar_LeftClickAbsolutePosition\fR - a boolean value. If TRUE, left clicking on a scrollbar causes the slider to jump to that position. If FALSE, the left clicking will behave as appropriate for each control.
+.TP
+\fCQStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl\fR - a boolean value. If TRUE, when clicking a scrollbar SubControl, holding the mouse button down and moving the pointer outside the SubControl, the scrollbar continues to scroll. If FALSE, the scollbar stops scrolling when the pointer leaves the SubControl.
+.TP
+\fCQStyle::SH_TabBar_Alignment\fR - the alignment for tabs in a QTabWidget. Possible values are Qt::AlignLeft, Qt::AlignCenter and Qt::AlignRight.
+.TP
+\fCQStyle::SH_Header_ArrowAlignment\fR - the placement of the sorting indicator may appear in list or table headers. Possible values are Qt::Left or Qt::Right.
+.TP
+\fCQStyle::SH_Slider_SnapToValue\fR - sliders snap to values while moving, like Windows
+.TP
+\fCQStyle::SH_Slider_SloppyKeyEvents\fR - key presses handled in a sloppy manner, i.e. left on a vertical slider subtracts a line.
+.TP
+\fCQStyle::SH_ProgressDialog_CenterCancelButton\fR - center button on progress dialogs, like Motif, otherwise right aligned.
+.TP
+\fCQStyle::SH_ProgressDialog_TextLabelAlignment\fR - Qt::AlignmentFlags -- text label alignment in progress dialogs; Center on windows, Auto|VCenter otherwise.
+.TP
+\fCQStyle::SH_PrintDialog_RightAlignButtons\fR - right align buttons in the print dialog, like Windows.
+.TP
+\fCQStyle::SH_MainWindow_SpaceBelowMenuBar\fR - 1 or 2 pixel space between the menubar and the dockarea, like Windows.
+.TP
+\fCQStyle::SH_FontDialog_SelectAssociatedText\fR - select the text in the line edit, or when selecting an item from the listbox, or when the line edit receives focus, like Windows.
+.TP
+\fCQStyle::SH_PopupMenu_AllowActiveAndDisabled\fR - allows disabled menu items to be active.
+.TP
+\fCQStyle::SH_PopupMenu_SpaceActivatesItem\fR - pressing Space activates the item, like Motif.
+.TP
+\fCQStyle::SH_PopupMenu_SubMenuPopupDelay\fR - the number of milliseconds to wait before opening a submenu; 256 on windows, 96 on Motif.
+.TP
+\fCQStyle::SH_PopupMenu_Scrollable\fR - whether popupmenu's must support scrolling.
+.TP
+\fCQStyle::SH_PopupMenu_SloppySubMenus\fR - whether popupmenu's must support sloppy submenu; as implemented on Mac OS.
+.TP
+\fCQStyle::SH_ScrollView_FrameOnlyAroundContents\fR - whether scrollviews draw their frame only around contents (like Motif), or around contents, scrollbars and corner widgets (like Windows).
+.TP
+\fCQStyle::SH_MenuBar_AltKeyNavigation\fR - menubars items are navigable by pressing Alt, followed by using the arrow keys to select the desired item.
+.TP
+\fCQStyle::SH_ComboBox_ListMouseTracking\fR - mouse tracking in combobox dropdown lists.
+.TP
+\fCQStyle::SH_PopupMenu_MouseTracking\fR - mouse tracking in popup menus.
+.TP
+\fCQStyle::SH_MenuBar_MouseTracking\fR - mouse tracking in menubars.
+.TP
+\fCQStyle::SH_ItemView_ChangeHighlightOnFocus\fR - gray out selected items when losing focus.
+.TP
+\fCQStyle::SH_Widget_ShareActivation\fR - turn on sharing activation with floating modeless dialogs.
+.TP
+\fCQStyle::SH_TabBar_SelectMouseType\fR - which type of mouse event should cause a tab to be selected.
+.TP
+\fCQStyle::SH_ListViewExpand_SelectMouseType\fR - which type of mouse event should cause a listview expansion to be selected.
+.TP
+\fCQStyle::SH_TabBar_PreferNoArrows\fR - whether a tabbar should suggest a size to prevent scoll arrows.
+.TP
+\fCQStyle::SH_ComboBox_Popup\fR - allows popups as a combobox dropdown menu.
+.TP
+\fCQStyle::SH_Workspace_FillSpaceOnMaximize\fR - the workspace should maximize the client area.
+.TP
+\fCQStyle::SH_TitleBar_NoBorder\fR - the titlebar has no border
+.TP
+\fCQStyle::SH_ScrollBar_StopMouseOverSlider\fR - stops autorepeat when slider reaches mouse
+.TP
+\fCQStyle::SH_BlinkCursorWhenTextSelected\fR - whether cursor should blink when text is selected
+.TP
+\fCQStyle::SH_RichText_FullWidthSelection\fR - whether richtext selections should extend the full width of the document.
+.TP
+\fCQStyle::SH_GroupBox_TextLabelVerticalAlignment\fR - how to vertically align a groupbox's text label.
+.TP
+\fCQStyle::SH_GroupBox_TextLabelColor\fR - how to paint a groupbox's text label.
+.TP
+\fCQStyle::SH_DialogButtons_DefaultButton\fR - which buttons gets the default status in a dialog's button widget.
+.TP
+\fCQStyle::SH_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.TP
+\fCQStyle::SH_ToolButton_Uses3D\fR - indicates whether QToolButtons should use a 3D frame when the mouse is over them
+.TP
+\fCQStyle::SH_ToolBox_SelectedPageTitleBold\fR - Boldness of the selected page title in a QToolBox.
+.TP
+\fCQStyle::SH_LineEdit_PasswordCharacter\fR - The QChar Unicode character to be used for passwords.
+.TP
+\fCQStyle::SH_Table_GridLineColor\fR
+.TP
+\fCQStyle::SH_UnderlineAccelerator\fR - whether accelerators are underlined
+.PP
+See also styleHint().
+.SH "QStyle::StylePixmap"
+This enum represents a StylePixmap. A StylePixmap is a pixmap that can follow some existing GUI style or guideline.
+.TP
+\fCQStyle::SP_TitleBarMinButton\fR - minimize button on titlebars. For example, in a QWorkspace.
+.TP
+\fCQStyle::SP_TitleBarMaxButton\fR - maximize button on titlebars.
+.TP
+\fCQStyle::SP_TitleBarCloseButton\fR - close button on titlebars.
+.TP
+\fCQStyle::SP_TitleBarNormalButton\fR - normal (restore) button on titlebars.
+.TP
+\fCQStyle::SP_TitleBarShadeButton\fR - shade button on titlebars.
+.TP
+\fCQStyle::SP_TitleBarUnshadeButton\fR - unshade button on titlebars.
+.TP
+\fCQStyle::SP_MessageBoxInformation\fR - the 'information' icon.
+.TP
+\fCQStyle::SP_MessageBoxWarning\fR - the 'warning' icon.
+.TP
+\fCQStyle::SP_MessageBoxCritical\fR - the 'critical' icon.
+.TP
+\fCQStyle::SP_MessageBoxQuestion\fR - the 'question' icon.
+.TP
+\fCQStyle::SP_DockWindowCloseButton\fR - close button on dock windows; see also QDockWindow.
+.TP
+\fCQStyle::SP_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.PP
+See also stylePixmap().
+.SH "QStyle::SubControl"
+This enum represents a SubControl within a ComplexControl.
+.TP
+\fCQStyle::SC_None\fR - special value that matches no other SubControl.
+.TP
+\fCQStyle::SC_ScrollBarAddLine\fR - scrollbar add line (i.e. down/right arrow); see also QScrollbar.
+.TP
+\fCQStyle::SC_ScrollBarSubLine\fR - scrollbar sub line (i.e. up/left arrow).
+.TP
+\fCQStyle::SC_ScrollBarAddPage\fR - scrollbar add page (i.e. page down).
+.TP
+\fCQStyle::SC_ScrollBarSubPage\fR - scrollbar sub page (i.e. page up).
+.TP
+\fCQStyle::SC_ScrollBarFirst\fR - scrollbar first line (i.e. home).
+.TP
+\fCQStyle::SC_ScrollBarLast\fR - scrollbar last line (i.e. end).
+.TP
+\fCQStyle::SC_ScrollBarSlider\fR - scrollbar slider handle.
+.TP
+\fCQStyle::SC_ScrollBarGroove\fR - special subcontrol which contains the area in which the slider handle may move.
+.TP
+\fCQStyle::SC_SpinWidgetUp\fR - spinwidget up/increase; see also QSpinBox.
+.TP
+\fCQStyle::SC_SpinWidgetDown\fR - spinwidget down/decrease.
+.TP
+\fCQStyle::SC_SpinWidgetFrame\fR - spinwidget frame.
+.TP
+\fCQStyle::SC_SpinWidgetEditField\fR - spinwidget edit field.
+.TP
+\fCQStyle::SC_SpinWidgetButtonField\fR - spinwidget button field.
+.TP
+\fCQStyle::SC_ComboBoxEditField\fR - combobox edit field; see also QComboBox.
+.TP
+\fCQStyle::SC_ComboBoxArrow\fR - combobox arrow
+.TP
+\fCQStyle::SC_ComboBoxFrame\fR - combobox frame
+.TP
+\fCQStyle::SC_ComboBoxListBoxPopup\fR - combobox list box
+.TP
+\fCQStyle::SC_SliderGroove\fR - special subcontrol which contains the area in which the slider handle may move.
+.TP
+\fCQStyle::SC_SliderHandle\fR - slider handle.
+.TP
+\fCQStyle::SC_SliderTickmarks\fR - slider tickmarks.
+.TP
+\fCQStyle::SC_ToolButton\fR - tool button; see also QToolbutton.
+.TP
+\fCQStyle::SC_ToolButtonMenu\fR - subcontrol for opening a popup menu in a tool button; see also QPopupMenu.
+.TP
+\fCQStyle::SC_TitleBarSysMenu\fR - system menu button (i.e. restore, close, etc.).
+.TP
+\fCQStyle::SC_TitleBarMinButton\fR - minimize button.
+.TP
+\fCQStyle::SC_TitleBarMaxButton\fR - maximize button.
+.TP
+\fCQStyle::SC_TitleBarCloseButton\fR - close button.
+.TP
+\fCQStyle::SC_TitleBarLabel\fR - window title label.
+.TP
+\fCQStyle::SC_TitleBarNormalButton\fR - normal (restore) button.
+.TP
+\fCQStyle::SC_TitleBarShadeButton\fR - shade button.
+.TP
+\fCQStyle::SC_TitleBarUnshadeButton\fR - unshade button.
+.TP
+\fCQStyle::SC_ListView\fR - the list view area.
+.TP
+\fCQStyle::SC_ListViewBranch\fR - (internal)
+.TP
+\fCQStyle::SC_ListViewExpand\fR - expand item (i.e. show/hide child items).
+.TP
+\fCQStyle::SC_All\fR - special value that matches all SubControls.
+.PP
+See also ComplexControl.
+.SH "QStyle::SubRect"
+This enum represents a sub-area of a widget. Style implementations would use these areas to draw the different parts of a widget.
+.TP
+\fCQStyle::SR_PushButtonContents\fR - area containing the label (iconset with text or pixmap).
+.TP
+\fCQStyle::SR_PushButtonFocusRect\fR - area for the focus rect (usually larger than the contents rect).
+.TP
+\fCQStyle::SR_CheckBoxIndicator\fR - area for the state indicator (e.g. check mark).
+.TP
+\fCQStyle::SR_CheckBoxContents\fR - area for the label (text or pixmap).
+.TP
+\fCQStyle::SR_CheckBoxFocusRect\fR - area for the focus indicator.
+.TP
+\fCQStyle::SR_RadioButtonIndicator\fR - area for the state indicator.
+.TP
+\fCQStyle::SR_RadioButtonContents\fR - area for the label.
+.TP
+\fCQStyle::SR_RadioButtonFocusRect\fR - area for the focus indicator.
+.TP
+\fCQStyle::SR_ComboBoxFocusRect\fR - area for the focus indicator.
+.TP
+\fCQStyle::SR_SliderFocusRect\fR - area for the focus indicator.
+.TP
+\fCQStyle::SR_DockWindowHandleRect\fR - area for the tear-off handle.
+.TP
+\fCQStyle::SR_ProgressBarGroove\fR - area for the groove.
+.TP
+\fCQStyle::SR_ProgressBarContents\fR - area for the progress indicator.
+.TP
+\fCQStyle::SR_ProgressBarLabel\fR - area for the text label.
+.TP
+\fCQStyle::SR_ToolButtonContents\fR - area for the tool button's label.
+.TP
+\fCQStyle::SR_DialogButtonAccept\fR - area for a dialog's accept button.
+.TP
+\fCQStyle::SR_DialogButtonReject\fR - area for a dialog's reject button.
+.TP
+\fCQStyle::SR_DialogButtonApply\fR - area for a dialog's apply button.
+.TP
+\fCQStyle::SR_DialogButtonHelp\fR - area for a dialog's help button.
+.TP
+\fCQStyle::SR_DialogButtonAll\fR - area for a dialog's all button.
+.TP
+\fCQStyle::SR_DialogButtonRetry\fR - area for a dialog's retry button.
+.TP
+\fCQStyle::SR_DialogButtonAbort\fR - area for a dialog's abort button.
+.TP
+\fCQStyle::SR_DialogButtonIgnore\fR - area for a dialog's ignore button.
+.TP
+\fCQStyle::SR_DialogButtonCustom\fR - area for a dialog's custom widget area (in button row).
+.TP
+\fCQStyle::SR_ToolBoxTabContents\fR - area for a toolbox tab's icon and label
+.TP
+\fCQStyle::SR_CustomBase\fR - base value for custom ControlElements. All values above this are reserved for custom use. Therefore, custom values must be greater than this value.
+.PP
+See also subRect().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStyle::QStyle ()"
+Constructs a QStyle.
+.SH "QStyle::~QStyle ()\fC [virtual]\fR"
+Destroys the style and frees all allocated resources.
+.SH "int QStyle::defaultFrameWidth () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QStyle::drawComplexControl ( ComplexControl control, QPainter * p, const QWidget * widget, const QRect & r, const QColorGroup & cg, SFlags how = Style_Default, SCFlags sub = SC_All, SCFlags subActive = SC_None, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Draws the ComplexControl \fIcontrol\fR using the painter \fIp\fR in the area \fIr\fR. Colors are used from the color group \fIcg\fR. The \fIsub\fR argument specifies which SubControls to draw. Multiple SubControls can be OR'ed together. The \fIsubActive\fR argument specifies which SubControl is active.
+.PP
+The rect \fIr\fR should be in logical coordinates. Reimplementations of this function should use visualRect() to change the logical coordinates into screen coordinates when using drawPrimitive() and drawControl().
+.PP
+The \fIhow\fR argument is used to control how the ComplexControl is drawn. Multiple flags can OR'ed together. See the table below for an explanation of which flags are used with the various ComplexControls.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIcontrol\fR. The \fIopt\fR argument can be used to pass extra information required when drawing the ComplexControl. Note that \fIopt\fR may be the default value even for ComplexControls that can make use of the extra options. See the table below for the appropriate \fIwidget\fR and \fIopt\fR usage:
+.PP
+<center>.nf
+.TS
+l - l. ComplexControl
+.br
+& Widget Cast Style Flags Notes Options Notes CC_SpinWidget(const QSpinWidget *) Style_Enabled Set if the spinwidget is enabled. Unused. Style_HasFocus Set if the spinwidget has input focus. CC_ComboBox(const QComboBox *) Style_Enabled Set if the combobox is enabled. Unused. Style_HasFocus Set if the combobox has input focus. CC_ScrollBar(const QScrollBar *) Style_Enabled Set if the scrollbar is enabled. Unused. Style_HasFocus Set if the scrollbar has input focus. CC_Slider(const QSlider *) Style_Enabled Set if the slider is enabled. Unused. Style_HasFocus Set if the slider has input focus. CC_ToolButton(const QToolButton *) Style_Enabled Set if the toolbutton is enabled. QStyleOption ( ArrowType t )
+.TP
+opt.arrowType() When the tool button only contains an arrow, \fIt\fR is the arrow's type. Style_HasFocus Set if the toolbutton has input focus. Style_Down Set if the toolbutton is down (ie. mouse button or space pressed). Style_On Set if the toolbutton is a toggle button and is toggled on. Style_AutoRaise Set if the toolbutton has auto-raise enabled. Style_Raised Set if the button is not down, not on and doesn't contain the mouse when auto-raise is enabled. CC_TitleBar(const QWidget *) Style_Enabled Set if the titlebar is enabled. Unused. CC_ListView(const QListView *) Style_Enabled Set if the titlebar is enabled. QStyleOption ( QListViewItem *item )
+.TP
+opt.listViewItem()
+.TE
+.fi
+</center>
+.PP
+See also ComplexControl and SubControl.
+.SH "void QStyle::drawComplexControlMask ( ComplexControl control, QPainter * p, const QWidget * widget, const QRect & r, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Draw a bitmask for the ComplexControl \fIcontrol\fR using the painter \fIp\fR in the area \fIr\fR. See drawComplexControl() for an explanation of the use of the \fIwidget\fR and \fIopt\fR arguments.
+.PP
+The rect \fIr\fR should be in logical coordinates. Reimplementations of this function should use visualRect() to change the logical corrdinates into screen coordinates when using drawPrimitive() and drawControl().
+.PP
+See also drawComplexControl() and ComplexControl.
+.SH "void QStyle::drawControl ( ControlElement element, QPainter * p, const QWidget * widget, const QRect & r, const QColorGroup & cg, SFlags how = Style_Default, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Draws the ControlElement \fIelement\fR using the painter \fIp\fR in the area \fIr\fR. Colors are used from the color group \fIcg\fR.
+.PP
+The rect \fIr\fR should be in screen coordinates.
+.PP
+The \fIhow\fR argument is used to control how the ControlElement is drawn. Multiple flags can be OR'ed together. See the table below for an explanation of which flags are used with the various ControlElements.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIelement\fR. The \fIopt\fR argument can be used to pass extra information required when drawing the ControlElement. Note that \fIopt\fR may be the default value even for ControlElements that can make use of the extra options. See the table below for the appropriate \fIwidget\fR and \fIopt\fR usage:
+.PP
+<center>.nf
+.TS
+l - l. ControlElement
+.br
+& Widget Cast Style Flags Notes Options Notes CE_PushButton(const QPushButton *)
+.PP
+and
+.PP
+CE_PushButtonLabel(const QPushButton *) Style_Enabled Set if the button is enabled. Unused. Style_HasFocus Set if the button has input focus. Style_Raised Set if the button is not down, not on and not flat. Style_On Set if the button is a toggle button and toggled on. Style_Down Set if the button is down (i.e., the mouse button or space bar is pressed on the button). Style_ButtonDefault Set if the button is a default button. CE_CheckBox(const QCheckBox *)
+.PP
+and
+.PP
+CE_CheckBoxLabel(const QCheckBox *)
+.PP Style_Enabled Set if the checkbox is enabled. Unused.
+Style_HasFocus Set if the checkbox has input focus. Style_On Set if the checkbox is checked. Style_Off Set if the checkbox is not checked. Style_NoChange Set if the checkbox is in the NoChange state. Style_Down Set if the checkbox is down (i.e., the mouse button or space bar is pressed on the button). CE_RadioButton(const QRadioButton *)
+.PP
+and
+.PP
+CE_RadioButtonLabel(const QRadioButton *) Style_Enabled Set if the radiobutton is enabled. Unused. Style_HasFocus Set if the radiobutton has input focus. Style_On Set if the radiobutton is checked. Style_Off Set if the radiobutton is not checked. Style_Down Set if the radiobutton is down (i.e., the mouse button or space bar is pressed on the radiobutton). CE_TabBarTab(const QTabBar *)
+.PP
+and
+.PP
+CE_TabBarLabel(const QTabBar *)
+.PP Style_Enabled Set if the tabbar and tab is enabled. QStyleOption ( QTab *t )
+.TP
+opt.tab() \fIt\fR is the QTab being drawn. Style_Selected Set if the tab is the current tab. CE_ProgressBarGroove(const QProgressBar *)
+.PP
+and
+.PP
+CE_ProgressBarContents(const QProgressBar *)
+.PP
+and
+.PP
+CE_ProgressBarLabel(const QProgressBar *)
+.PP Style_Enabled Set if the progressbar is enabled. Unused.
+Style_HasFocus Set if the progressbar has input focus. CE_PopupMenuItem(const QPopupMenu *) Style_Enabled Set if the menuitem is enabled. QStyleOption ( QMenuItem *mi, int tabwidth, int maxpmwidth )
+.TP
+opt.menuItem()
+.TP
+opt.tabWidth()
+.TP
+opt.maxIconWidth() \fImi\fR is the menu item being drawn. QMenuItem is currently an internal class. Style_Active Set if the menuitem is the current item. \fItabwidth\fR is the width of the tab column where key accelerators are drawn. Style_Down Set if the menuitem is down (i.e., the mouse button or space bar is pressed). \fImaxpmwidth\fR is the maximum width of the check column where checkmarks and iconsets are drawn. CE_MenuBarItem(const QMenuBar *) Style_Enabled Set if the menuitem is enabled QStyleOption ( QMenuItem *mi )
+.TP
+opt.menuItem() \fImi\fR is the menu item being drawn. Style_Active Set if the menuitem is the current item. Style_Down Set if the menuitem is down (i.e., a mouse button or the space bar is pressed). Style_HasFocus Set if the menubar has input focus. CE_ToolButtonLabel(const QToolButton *) Style_Enabled Set if the toolbutton is enabled. QStyleOption ( ArrowType t )
+.TP
+opt.arrowType() When the tool button only contains an arrow, \fIt\fR is the arrow's type. Style_HasFocus Set if the toolbutton has input focus. Style_Down Set if the toolbutton is down (i.e., a mouse button or the space is pressed). Style_On Set if the toolbutton is a toggle button and is toggled on. Style_AutoRaise Set if the toolbutton has auto-raise enabled. Style_MouseOver Set if the mouse pointer is over the toolbutton. Style_Raised
+.TE
+.fi
+</center>
+.PP
+See also ControlElement and StyleFlags.
+.SH "void QStyle::drawControlMask ( ControlElement element, QPainter * p, const QWidget * widget, const QRect & r, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Draw a bitmask for the ControlElement \fIelement\fR using the painter \fIp\fR in the area \fIr\fR. See drawControl() for an explanation of the use of the \fIwidget\fR and \fIopt\fR arguments.
+.PP
+The rect \fIr\fR should be in screen coordinates.
+.PP
+See also drawControl() and ControlElement.
+.SH "void QStyle::drawItem ( QPainter * p, const QRect & r, int flags, const QColorGroup & g, bool enabled, const QPixmap * pixmap, const QString & text, int len = -1, const QColor * penColor = 0 ) const\fC [virtual]\fR"
+Draws the \fItext\fR or \fIpixmap\fR in rectangle \fIr\fR using painter \fIp\fR and color group \fIg\fR. The pen color is specified with \fIpenColor\fR. The \fIenabled\fR bool indicates whether or not the item is enabled; when reimplementing this bool should influence how the item is drawn. If \fIlen\fR is -1 (the default) all the \fItext\fR is drawn; otherwise only the first \fIlen\fR characters of \fItext\fR are drawn. The text is aligned and wrapped according to the alignment \fIflags\fR (see Qt::AlignmentFlags).
+.PP
+By default, if both the text and the pixmap are not null, the pixmap is drawn and the text is ignored.
+.SH "void QStyle::drawPrimitive ( PrimitiveElement pe, QPainter * p, const QRect & r, const QColorGroup & cg, SFlags flags = Style_Default, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Draws the style PrimitiveElement \fIpe\fR using the painter \fIp\fR in the area \fIr\fR. Colors are used from the color group \fIcg\fR.
+.PP
+The rect \fIr\fR should be in screen coordinates.
+.PP
+The \fIflags\fR argument is used to control how the PrimitiveElement is drawn. Multiple flags can be OR'ed together.
+.PP
+For example, a pressed button would be drawn with the flags Style_Enabled and Style_Down.
+.PP
+The \fIopt\fR argument can be used to control how various PrimitiveElements are drawn. Note that \fIopt\fR may be the default value even for PrimitiveElements that make use of extra options. When \fIopt\fR is non-default, it is used as follows:
+.PP
+<center>.nf
+.TS
+l - l. PrimitiveElement Options Notes PE_FocusRect QStyleOption ( const QColor & bg )
+.TP
+opt.color() \fIbg\fR is the background color on which the focus rect is being drawn. PE_Panel QStyleOption ( int linewidth, int midlinewidth )
+.TP
+opt.lineWidth()
+.TP
+opt.midLineWidth() \fIlinewidth\fR is the line width for drawing the panel. \fImidlinewidth\fR is the mid-line width for drawing the panel. PE_PanelPopup QStyleOption ( int linewidth, int midlinewidth )
+.TP
+opt.lineWidth()
+.TP
+opt.midLineWidth() \fIlinewidth\fR is the line width for drawing the panel. \fImidlinewidth\fR is the mid-line width for drawing the panel. PE_PanelMenuBar QStyleOption ( int linewidth, int midlinewidth )
+.TP
+opt.lineWidth()
+.TP
+opt.midLineWidth() \fIlinewidth\fR is the line width for drawing the panel. \fImidlinewidth\fR is the mid-line width for drawing the panel. PE_PanelDockWindow QStyleOption ( int linewidth, int midlinewidth )
+.TP
+opt.lineWidth()
+.TP
+opt.midLineWidth() \fIlinewidth\fR is the line width for drawing the panel. \fImidlinewidth\fR is the mid-line width for drawing the panel. PE_GroupBoxFrame QStyleOption ( int linewidth, int midlinewidth, int shape, int shadow )
+.TP
+opt.lineWidth()
+.TP
+opt.midLineWidth()
+.TP
+opt.frameShape()
+.TP
+opt.frameShadow() \fIlinewidth\fR is the line width for the group box. \fImidlinewidth\fR is the mid-line width for the group box. \fIshape\fR is the frame shape for the group box.
+.TE
+.fi
+</center>
+.PP
+For all other PrimitiveElements, \fIopt\fR is unused.
+.PP
+See also StyleFlags.
+.PP
+Example: themes/wood.cpp.
+.SH "QRect QStyle::itemRect ( QPainter * p, const QRect & r, int flags, bool enabled, const QPixmap * pixmap, const QString & text, int len = -1 ) const\fC [virtual]\fR"
+Returns the appropriate area (see below) within rectangle \fIr\fR in which to draw the \fItext\fR or \fIpixmap\fR using painter \fIp\fR. If \fIlen\fR is -1 (the default) all the \fItext\fR is drawn; otherwise only the first \fIlen\fR characters of \fItext\fR are drawn. The text is aligned in accordance with the alignment \fIflags\fR (see Qt::AlignmentFlags). The \fIenabled\fR bool indicates whether or not the item is enabled.
+.PP
+If \fIr\fR is larger than the area needed to render the \fItext\fR the rectangle that is returned will be offset within \fIr\fR in accordance with the alignment \fIflags\fR. For example if \fIflags\fR is AlignCenter the returned rectangle will be centered within \fIr\fR. If \fIr\fR is smaller than the area needed the rectangle that is returned will be \fIlarger\fR than \fIr\fR (the smallest rectangle large enough to render the \fItext\fR or \fIpixmap\fR).
+.PP
+By default, if both the text and the pixmap are not null, the pixmap is drawn and the text is ignored.
+.SH "int QStyle::pixelMetric ( PixelMetric metric, const QWidget * widget = 0 ) const\fC [pure virtual]\fR"
+Returns the pixel metric for \fImetric\fR. The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fImetric\fR. Note that \fIwidget\fR may be zero even for PixelMetrics that can make use of \fIwidget\fR. See the table below for the appropriate \fIwidget\fR casts:
+.PP
+<center>.nf
+.TS
+l - l. PixelMetric Widget Cast PM_SliderControlThickness (const QSlider *) PM_SliderLength (const QSlider *) PM_SliderTickmarkOffset (const QSlider *) PM_SliderSpaceAvailable (const QSlider *) PM_TabBarTabOverlap (const QTabBar *) PM_TabBarTabHSpace (const QTabBar *) PM_TabBarTabVSpace (const QTabBar *) PM_TabBarBaseHeight (const QTabBar *) PM_TabBarBaseOverlap
+.TE
+.fi
+</center>
+.SH "void QStyle::polish ( QWidget * )\fC [virtual]\fR"
+Initializes the appearance of a widget.
+.PP
+This function is called for every widget at some point after it has been fully created but just \fIbefore\fR it is shown the very first time.
+.PP
+Reasonable actions in this function might be to call QWidget::setBackgroundMode() for the widget. An example of highly unreasonable use would be setting the geometry! Reimplementing this function gives you a back-door through which you can change the appearance of a widget. With Qt 3.0's style engine you will rarely need to write your own polish(); instead reimplement drawItem(), drawPrimitive(), etc.
+.PP
+The QWidget::inherits() function may provide enough information to allow class-specific customizations. But be careful not to hard-code things too much because new QStyle subclasses are expected to work reasonably with all current and \fIfuture\fR widgets.
+.PP
+See also unPolish().
+.SH "void QStyle::polish ( QApplication * )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Late initialization of the QApplication object.
+.PP
+See also unPolish().
+.SH "void QStyle::polish ( QPalette & )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The style may have certain requirements for color palettes. In this function it has the chance to change the palette according to these requirements.
+.PP
+See also QPalette and QApplication::setPalette().
+.SH "void QStyle::polishPopupMenu ( QPopupMenu * )\fC [pure virtual]\fR"
+Polishes the popup menu according to the GUI style. This usually means setting the mouse tracking (QPopupMenu::setMouseTracking()) and whether the menu is checkable by default (QPopupMenu::setCheckable()).
+.SH "SubControl QStyle::querySubControl ( ComplexControl control, const QWidget * widget, const QPoint & pos, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Returns the SubControl for \fIwidget\fR at the point \fIpos\fR. The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIcontrol\fR. The \fIopt\fR argument can be used to pass extra information required when drawing the ComplexControl. Note that \fIopt\fR may be the default value even for ComplexControls that can make use of the extra options. See drawComplexControl() for an explanation of the \fIwidget\fR and \fIopt\fR arguments.
+.PP
+Note that \fIpos\fR is passed in screen coordinates. When using querySubControlMetrics() to check for hits and misses, use visualRect() to change the logical coordinates into screen coordinates.
+.PP
+See also drawComplexControl(), ComplexControl, SubControl, and querySubControlMetrics().
+.SH "QRect QStyle::querySubControlMetrics ( ComplexControl control, const QWidget * widget, SubControl subcontrol, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Returns the rect for the SubControl \fIsubcontrol\fR for \fIwidget\fR in logical coordinates.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIcontrol\fR. The \fIopt\fR argument can be used to pass extra information required when drawing the ComplexControl. Note that \fIopt\fR may be the default value even for ComplexControls that can make use of the extra options. See drawComplexControl() for an explanation of the \fIwidget\fR and \fIopt\fR arguments.
+.PP
+See also drawComplexControl(), ComplexControl, and SubControl.
+.SH "QSize QStyle::scrollBarExtent () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QSize QStyle::sizeFromContents ( ContentsType contents, const QWidget * widget, const QSize & contentsSize, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Returns the size of \fIwidget\fR based on the contents size \fIcontentsSize\fR.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIcontents\fR. The \fIopt\fR argument can be used to pass extra information required when calculating the size. Note that \fIopt\fR may be the default value even for ContentsTypes that can make use of the extra options. See the table below for the appropriate \fIwidget\fR and \fIopt\fR usage:
+.PP
+<center>.nf
+.TS
+l - l. ContentsType Widget Cast Options Notes CT_PushButton (const QPushButton *) Unused. CT_CheckBox (const QCheckBox *) Unused. CT_RadioButton (const QRadioButton *) Unused. CT_ToolButton (const QToolButton *) Unused. CT_ComboBox (const QComboBox *) Unused. CT_Splitter (const QSplitter *) Unused. CT_DockWindow (const QDockWindow *) Unused. CT_ProgressBar (const QProgressBar *) Unused. CT_PopupMenuItem (const QPopupMenu *) QStyleOption ( QMenuItem *mi )
+.TP
+opt.menuItem()
+.TE
+.fi
+</center>
+.SH "int QStyle::styleHint ( StyleHint stylehint, const QWidget * widget = 0, const QStyleOption & opt = QStyleOption::Default, QStyleHintReturn * returnData = 0 ) const\fC [pure virtual]\fR"
+Returns the style hint \fIstylehint\fR for \fIwidget\fR. Currently, \fIwidget\fR, \fIopt\fR, and \fIreturnData\fR are unused; they're included to allow for future enhancements.
+.PP
+For an explanation of the return value see StyleHint.
+.SH "QPixmap QStyle::stylePixmap ( StylePixmap stylepixmap, const QWidget * widget = 0, const QStyleOption & opt = QStyleOption::Default ) const\fC [pure virtual]\fR"
+Returns a pixmap for \fIstylepixmap\fR.
+.PP
+The \fIopt\fR argument can be used to pass extra information required when drawing the ControlElement. Note that \fIopt\fR may be the default value even for StylePixmaps that can make use of the extra options. Currently, the \fIopt\fR argument is unused.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIstylepixmap\fR. See the table below for the appropriate \fIwidget\fR casts:
+.PP
+<center>.nf
+.TS
+l - l. StylePixmap Widget Cast SP_TitleBarMinButton (const QWidget *) SP_TitleBarMaxButton (const QWidget *) SP_TitleBarCloseButton (const QWidget *) SP_TitleBarNormalButton (const QWidget *) SP_TitleBarShadeButton (const QWidget *) SP_TitleBarUnshadeButton (const QWidget *) SP_DockWindowCloseButton
+.TE
+.fi
+</center>
+.PP
+See also StylePixmap.
+.SH "QRect QStyle::subRect ( SubRect subrect, const QWidget * widget ) const\fC [pure virtual]\fR"
+Returns the sub-area \fIsubrect\fR for the \fIwidget\fR in logical coordinates.
+.PP
+The \fIwidget\fR argument is a pointer to a QWidget or one of its subclasses. The widget can be cast to the appropriate type based on the value of \fIsubrect\fR. See the table below for the appropriate \fIwidget\fR casts:
+.PP
+<center>.nf
+.TS
+l - l. SubRect Widget Cast SR_PushButtonContents (const QPushButton *) SR_PushButtonFocusRect (const QPushButton *) SR_CheckBoxIndicator (const QCheckBox *) SR_CheckBoxContents (const QCheckBox *) SR_CheckBoxFocusRect (const QCheckBox *) SR_RadioButtonIndicator (const QRadioButton *) SR_RadioButtonContents (const QRadioButton *) SR_RadioButtonFocusRect (const QRadioButton *) SR_ComboBoxFocusRect (const QComboBox *) SR_DockWindowHandleRect (const QWidget *) SR_ProgressBarGroove (const QProgressBar *) SR_ProgressBarContents (const QProgressBar *) SR_ProgressBarLabel
+.TE
+.fi
+</center>
+.PP
+The tear-off handle (SR_DockWindowHandleRect) for QDockWindow is a private class. Use QWidget::parentWidget() to access the QDockWindow:
+.PP
+.nf
+.br
+ if ( !widget->parentWidget() )
+.br
+ return;
+.br
+ const QDockWindow *dw = (const QDockWindow *) widget->parentWidget();
+.br
+.fi
+.PP
+See also SubRect.
+.SH "void QStyle::tabbarMetrics ( const QWidget * t, int & hf, int & vf, int & ov ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QStyle::unPolish ( QWidget * )\fC [virtual]\fR"
+Undoes the initialization of a widget's appearance.
+.PP
+This function is the counterpart to polish. It is called for every polished widget when the style is dynamically changed. The former style has to unpolish its settings before the new style can polish them again.
+.PP
+See also polish().
+.SH "void QStyle::unPolish ( QApplication * )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Undoes the application polish.
+.PP
+See also polish().
+.SH "QRect QStyle::visualRect ( const QRect & logical, const QWidget * w )\fC [static]\fR"
+Returns the rect \fIlogical\fR in screen coordinates. The bounding rect for widget \fIw\fR is used to perform the translation. This function is provided to aid style implementors in supporting right-to-left mode.
+.PP
+See also QApplication::reverseLayout().
+.SH "QRect QStyle::visualRect ( const QRect & logical, const QRect & bounding )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the rect \fIlogical\fR in screen coordinates. The rect \fIbounding\fR is used to perform the translation. This function is provided to aid style implementors in supporting right-to-left mode.
+.PP
+See also QApplication::reverseLayout().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstylefactory.3qt b/doc/man/man3/qstylefactory.3qt
new file mode 100644
index 0000000..6dca46c
--- /dev/null
+++ b/doc/man/man3/qstylefactory.3qt
@@ -0,0 +1,61 @@
+'\" t
+.TH QStyleFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStyleFactory \- Creates QStyle objects
+.SH SYNOPSIS
+\fC#include <qstylefactory.h>\fR
+.PP
+.SS "Static Public Members"
+<li class=fn>QStringList \fBkeys\fR () <li class=fn>QStyle * \fBcreate\fR ( const QString & key )
+.SH DESCRIPTION
+The QStyleFactory class creates QStyle objects.
+.PP
+The style factory creates a QStyle object for a given key with QStyleFactory::create(key).
+.PP
+The styles are either built-in or dynamically loaded from a style plugin (see QStylePlugin).
+.PP
+QStyleFactory::keys() returns a list of valid keys, typically including "Windows", "Motif", "CDE", "MotifPlus", "Platinum"," SGI" and "Compact". Depending on the platform, "WindowsXP"," Aqua" or "Macintosh" may be available.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStyle * QStyleFactory::create ( const QString & key )\fC [static]\fR"
+Creates a QStyle object that matches \fIkey\fR case-insensitively. This is either a built-in style, or a style from a style plugin.
+.PP
+See also keys().
+.PP
+Example: themes/wood.cpp.
+.SH "QStringList QStyleFactory::keys ()\fC [static]\fR"
+Returns the list of keys this factory can create styles for.
+.PP
+See also create().
+.PP
+Example: themes/themes.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstylefactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstylefactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstyleoption.3qt b/doc/man/man3/qstyleoption.3qt
new file mode 100644
index 0000000..58c40a8
--- /dev/null
+++ b/doc/man/man3/qstyleoption.3qt
@@ -0,0 +1,222 @@
+'\" t
+.TH QStyleOption 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStyleOption \- Optional parameters for QStyle functions
+.SH SYNOPSIS
+\fC#include <qstyle.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBStyleOptionDefault\fR { Default }"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( StyleOptionDefault = Default )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( int in1 )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( int in1, int in2 )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( int in1, int in2, int in3, int in4 )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QMenuItem * m )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QMenuItem * m, int in1 )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QMenuItem * m, int in1, int in2 )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QTab * t )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QListViewItem * i )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QCheckListItem * i )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( Qt::ArrowType a )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "\fBQStyleOption\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "bool \fBisDefault\fR () const"
+.br
+.ti -1c
+.BI "int \fBday\fR () const"
+.br
+.ti -1c
+.BI "int \fBlineWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBmidLineWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBframeShape\fR () const"
+.br
+.ti -1c
+.BI "int \fBframeShadow\fR () const"
+.br
+.ti -1c
+.BI "int \fBheaderSection\fR () const"
+.br
+.ti -1c
+.BI "QMenuItem * \fBmenuItem\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaxIconWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBtabWidth\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "QTab * \fBtab\fR () const"
+.br
+.ti -1c
+.BI "QCheckListItem * \fBcheckListItem\fR () const"
+.br
+.ti -1c
+.BI "QListViewItem * \fBlistViewItem\fR () const"
+.br
+.ti -1c
+.BI "Qt::ArrowType \fBarrowType\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBwidget\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStyleOption class specifies optional parameters for QStyle functions.
+.PP
+Some QStyle functions take an optional argument specifying extra information that is required for a paritical primitive or control. So that the QStyle class can be extended, QStyleOption is used to provide a variable-argument for these options.
+.PP
+The QStyleOption class has constructors for each type of optional argument, and this set of constructors may be extended in future Qt releases. There are also corresponding access functions that return the optional arguments: these too may be extended.
+.PP
+For each constructor, you should refer to the documentation of the QStyle functions to see the meaning of the arguments.
+.PP
+When calling QStyle functions from your own widgets, you must only pass the default QStyleOption or the argument that QStyle is documented to accept. For example, if the function expects QStyleOption(QMenuItem *, int), passing QStyleOption(QMenuItem *) leaves the optional integer argument uninitialized.
+.PP
+When subclassing QStyle, you must similarly only expect the default or documented arguments. The other arguments will have uninitialized values.
+.PP
+If you make your own QStyle subclasses and your own widgets, you can make a subclass of QStyleOption to pass additional arguments to your QStyle subclass. You will need to cast the "const QStyleOption&" argument to your subclass, so be sure your style has been called from your widget.
+.PP
+See also Widget Appearance and Style.
+.SS "Member Type Documentation"
+.SH "QStyleOption::StyleOptionDefault"
+This enum value can be passed as the optional argument to any QStyle function.
+.TP
+\fCQStyleOption::Default\fR
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStyleOption::QStyleOption ( StyleOptionDefault = Default )"
+The default option. This can always be passed as the optional argument to QStyle functions.
+.SH "QStyleOption::QStyleOption ( int in1 )"
+Pass one integer, \fIin1\fR. For example, headerSection.
+.SH "QStyleOption::QStyleOption ( int in1, int in2 )"
+Pass two integers, \fIin1\fR and \fIin2\fR. For example, linewidth and midlinewidth.
+.SH "QStyleOption::QStyleOption ( int in1, int in2, int in3, int in4 )"
+Pass four integers, \fIin1\fR, \fIin2\fR, \fIin3\fR and \fIin4\fR.
+.SH "QStyleOption::QStyleOption ( QMenuItem * m )"
+Pass a menu item, \fIm\fR.
+.SH "QStyleOption::QStyleOption ( QMenuItem * m, int in1 )"
+Pass a menu item and an integer, \fIm\fR and \fIin1\fR.
+.SH "QStyleOption::QStyleOption ( QMenuItem * m, int in1, int in2 )"
+Pass a menu item and two integers, \fIm\fR, \fIin1\fR and \fIin2\fR.
+.SH "QStyleOption::QStyleOption ( const QColor & c )"
+Pass a color, \fIc\fR.
+.SH "QStyleOption::QStyleOption ( QTab * t )"
+Pass a QTab, \fIt\fR.
+.SH "QStyleOption::QStyleOption ( QListViewItem * i )"
+Pass a QListViewItem, \fIi\fR.
+.SH "QStyleOption::QStyleOption ( QCheckListItem * i )"
+Pass a QCheckListItem, \fIi\fR.
+.SH "QStyleOption::QStyleOption ( Qt::ArrowType a )"
+Pass an Qt::ArrowType, \fIa\fR.
+.SH "QStyleOption::QStyleOption ( const QRect & r )"
+Pass a QRect, \fIr\fR.
+.SH "QStyleOption::QStyleOption ( QWidget * w )"
+Pass a QWidget, \fIw\fR.
+.SH "Qt::ArrowType QStyleOption::arrowType () const"
+Returns an arrow type if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QCheckListItem * QStyleOption::checkListItem () const"
+Returns a check list item if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "const QColor & QStyleOption::color () const"
+Returns a color if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::day () const"
+Returns the index of the day in the month if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::frameShadow () const"
+Returns a QFrame::Shadow value if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::frameShape () const"
+Returns a QFrame::Shape value if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::headerSection () const"
+Returns the header section if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "bool QStyleOption::isDefault () const"
+Returns TRUE if the option was constructed with the default constructor; otherwise returns FALSE.
+.SH "int QStyleOption::lineWidth () const"
+Returns the line width if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QListViewItem * QStyleOption::listViewItem () const"
+Returns a QListView item if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::maxIconWidth () const"
+Returns the maximum width of the menu item check area if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QMenuItem * QStyleOption::menuItem () const"
+Returns a menu item if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::midLineWidth () const"
+Returns the mid-line width if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QRect QStyleOption::rect () const"
+Returns a rectangle if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QTab * QStyleOption::tab () const"
+Returns a QTabBar tab if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "int QStyleOption::tabWidth () const"
+Returns the tab indent width if the appropriate constructor was called; otherwise the return value is undefined.
+.SH "QWidget * QStyleOption::widget () const"
+Returns a pointer to a widget if the appropriate constructor was called;
+otherwise the return value is undefined.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstyleoption.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstyleoption.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstyleplugin.3qt b/doc/man/man3/qstyleplugin.3qt
new file mode 100644
index 0000000..1c26aa5
--- /dev/null
+++ b/doc/man/man3/qstyleplugin.3qt
@@ -0,0 +1,78 @@
+'\" t
+.TH QStylePlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStylePlugin \- Abstract base for custom QStyle plugins
+.SH SYNOPSIS
+\fC#include <qstyleplugin.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStylePlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QStylePlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QStyle * \fBcreate\fR ( const QString & key ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStylePlugin class provides an abstract base for custom QStyle plugins.
+.PP
+The style plugin is a simple plugin interface that makes it easy to create custom styles that can be loaded dynamically into applications with a QStyleFactory.
+.PP
+Writing a style plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys() and create(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the plugins documentation for an example.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStylePlugin::QStylePlugin ()"
+Constructs a style plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QStylePlugin::~QStylePlugin ()"
+Destroys the style plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QStyle * QStylePlugin::create ( const QString & key )\fC [pure virtual]\fR"
+Creates and returns a QStyle object for the style key \fIkey\fR. The style key is usually the class name of the required style.
+.PP
+See also keys().
+.SH "QStringList QStylePlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of style keys this plugin supports.
+.PP
+These keys are usually the class names of the custom styles that are implemented in the plugin.
+.PP
+See also create().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstyleplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstyleplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstylesheet.3qt b/doc/man/man3/qstylesheet.3qt
new file mode 100644
index 0000000..e167aa0
--- /dev/null
+++ b/doc/man/man3/qstylesheet.3qt
@@ -0,0 +1,224 @@
+'\" t
+.TH QStyleSheet 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStyleSheet \- Collection of styles for rich text rendering and a generator of tags
+.SH SYNOPSIS
+\fC#include <qstylesheet.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStyleSheet\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QStyleSheet\fR ()"
+.br
+.ti -1c
+.BI "QStyleSheetItem * \fBitem\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "const QStyleSheetItem * \fBitem\fR ( const QString & name ) const"
+.br
+.ti -1c
+.BI "virtual QTextCustomItem * \fBtag\fR ( const QString & name, const QMap<QString, QString> & attr, const QString & context, const QMimeSourceFactory & factory, bool emptyTag, QTextDocument * doc ) const"
+.br
+.ti -1c
+.BI "virtual void \fBscaleFont\fR ( QFont & font, int logicalSize ) const"
+.br
+.ti -1c
+.BI "virtual void \fBerror\fR ( const QString & msg ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QStyleSheet * \fBdefaultSheet\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetDefaultSheet\fR ( QStyleSheet * sheet )"
+.br
+.ti -1c
+.BI "QString \fBescape\fR ( const QString & plain )"
+.br
+.ti -1c
+.BI "QString \fBconvertFromPlainText\fR ( const QString & plain, QStyleSheetItem::WhiteSpaceMode mode = QStyleSheetItem::WhiteSpacePre )"
+.br
+.ti -1c
+.BI "bool \fBmightBeRichText\fR ( const QString & text )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStyleSheet class is a collection of styles for rich text rendering and a generator of tags.
+.PP
+By creating QStyleSheetItem objects for a style sheet you build a definition of a set of tags. This definition will be used by the internal rich text rendering system to parse and display text documents to which the style sheet applies. Rich text is normally visualized in a QTextEdit or a QTextBrowser. However, QLabel, QWhatsThis and QMessageBox also support it, and other classes are likely to follow. With QSimpleRichText it is possible to use the rich text renderer for custom widgets as well.
+.PP
+The default QStyleSheet object has the following style bindings, sorted by structuring bindings, anchors, character style bindings (i.e. inline styles), special elements such as horizontal lines or images, and other tags. In addition, rich text supports simple HTML tables.
+.PP
+The structuring tags are <center>.nf
+.TS
+l - l. Structuring tags Notes A Qt rich text document. It understands the following attributes:
+.TP
+ A top-level heading.
+ A sublevel heading.
+ A sub-sublevel heading.
+ Headings of lesser importance.
+ A left-aligned paragraph. Adjust the alignment with the
+ A centered paragraph.
+ An indented paragraph that is useful for quotes.
+ An unordered list. You can also pass a type argument to
+define the bullet style. The default is
+ An ordered list. You can also pass a type argument to
+define the enumeration label style. The default is
+ A list item. This tag can be used only within the context
+of
+ A list of definitions, consisting of terms and descriptions.
+ A term in a list of definitions. This tag can be used only
+in the context of
+ A description in a list of definitions. This tag can be
+used only in the context of
+ For larger chunks of code. Whitespaces in the contents are
+preserved. For small bits of code use the inline-style
+
+.TE
+.fi
+</center>
+.PP
+Anchors and links are done with a single tag: <center>.nf
+.TS
+l - l. Anchor tags Notes An anchor or link.
+.TP
+A link is created by using an
+.TE
+.fi
+</center>
+.PP
+The default character style bindings are <center>.nf
+.TS
+l - l. Style tags Notes Emphasized. By default this is the same as Strong. By default this is the same as Italic font style. Bold font style. Underlined font style. Strike out font style. A larger font size. A smaller font size. Subscripted text Superscripted text Indicates code. By default this is the same as Typewriter font style. Customizes the font size, family and text color. The tag understands the following attributes:
+.TP
+.TE
+.fi
+</center>
+.PP
+Special elements are: <center>.nf
+.TS
+l
+-
+l.
+Special tags Notes
+ An image. The image name for the mime source factory is
+given in the source attribute, for example
+ A horizontal line.
+ A line break.
+
+.TE
+.fi
+</center>
+.PP
+In addition, rich text supports simple HTML tables. A table consists of one or more rows each of which contains one or more cells. Cells are either data cells or header cells, depending on their content. Cells which span rows and columns are supported.
+.PP
+<center>.nf
+.TS
+l - l. Table tags Notes A table. Tables support the following attributes:
+.TP
+A table row. This is only valid within a A table header cell. Similar to A table data cell. This is only valid within a
+.TE
+.fi
+</center>
+.PP
+See also Graphics Classes, Help System, and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStyleSheet::QStyleSheet ( QObject * parent = 0, const char * name = 0 )"
+Creates a style sheet called \fIname\fR, with parent \fIparent\fR. Like any QObject it will be deleted when its parent is destroyed (if the child still exists).
+.PP
+By default the style sheet has the tag definitions defined above.
+.SH "QStyleSheet::~QStyleSheet ()\fC [virtual]\fR"
+Destroys the style sheet. All styles inserted into the style sheet will be deleted.
+.SH "QString QStyleSheet::convertFromPlainText ( const QString & plain, QStyleSheetItem::WhiteSpaceMode mode = QStyleSheetItem::WhiteSpacePre )\fC [static]\fR"
+Auxiliary function. Converts the plain text string \fIplain\fR to a rich text formatted paragraph while preserving most of its look.
+.PP
+\fImode\fR defines the whitespace mode. Possible values are QStyleSheetItem::WhiteSpacePre (no wrapping, all whitespaces preserved) and QStyleSheetItem::WhiteSpaceNormal (wrapping, simplified whitespaces).
+.PP
+See also escape().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, and mdi/application.cpp.
+.SH "QStyleSheet * QStyleSheet::defaultSheet ()\fC [static]\fR"
+Returns the application-wide default style sheet. This style sheet is used by rich text rendering classes such as QSimpleRichText, QWhatsThis and QMessageBox to define the rendering style and available tags within rich text documents. It also serves as the initial style sheet for the more complex render widgets, QTextEdit and QTextBrowser.
+.PP
+See also setDefaultSheet().
+.SH "void QStyleSheet::error ( const QString & msg ) const\fC [virtual]\fR"
+This virtual function is called when an error occurs when processing rich text. Reimplement it if you need to catch error messages.
+.PP
+Errors might occur if some rich text strings contain tags that are not understood by the stylesheet, if some tags are nested incorrectly, or if tags are not closed properly.
+.PP
+\fImsg\fR is the error message.
+.SH "QString QStyleSheet::escape ( const QString & plain )\fC [static]\fR"
+Auxiliary function. Converts the plain text string \fIplain\fR to a rich text formatted string with any HTML meta-characters escaped.
+.PP
+See also convertFromPlainText().
+.SH "QStyleSheetItem * QStyleSheet::item ( const QString & name )"
+Returns the style called \fIname\fR or 0 if there is no such style.
+.SH "const QStyleSheetItem * QStyleSheet::item ( const QString & name ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the style called \fIname\fR or 0 if there is no such style (const version)
+.SH "bool QStyleSheet::mightBeRichText ( const QString & text )\fC [static]\fR"
+Returns TRUE if the string \fItext\fR is likely to be rich text; otherwise returns FALSE.
+.PP
+This function uses a fast and therefore simple heuristic. It mainly checks whether there is something that looks like a tag before the first line break. Although the result may be correct for common cases, there is no guarantee.
+.SH "void QStyleSheet::scaleFont ( QFont & font, int logicalSize ) const\fC [virtual]\fR"
+Scales the font \fIfont\fR to the appropriate physical point size corresponding to the logical font size \fIlogicalSize\fR.
+.PP
+When calling this function, \fIfont\fR has a point size corresponding to the logical font size 3.
+.PP
+Logical font sizes range from 1 to 7, with 1 being the smallest.
+.PP
+See also QStyleSheetItem::logicalFontSize(), QStyleSheetItem::logicalFontSizeStep(), and QFont::setPointSize().
+.SH "void QStyleSheet::setDefaultSheet ( QStyleSheet * sheet )\fC [static]\fR"
+Sets the application-wide default style sheet to \fIsheet\fR, deleting any style sheet previously set. The ownership is transferred to QStyleSheet.
+.PP
+See also defaultSheet().
+.SH "QTextCustomItem * QStyleSheet::tag ( const QString & name, const QMap<QString, QString> & attr, const QString & context, const QMimeSourceFactory & factory, bool emptyTag, QTextDocument * doc ) const\fC [virtual]\fR"
+\fBThis function is under development and is subject to change.\fR
+.PP
+Generates an internal object for the tag called \fIname\fR, given the attributes \fIattr\fR, and using additional information provided by the mime source factory \fIfactory\fR.
+.PP
+\fIcontext\fR is the optional context of the document, i.e. the path to look for relative links. This becomes important if the text contains relative references, for example within image tags. QSimpleRichText always uses the default mime source factory (see QMimeSourceFactory::defaultFactory()) to resolve these references. The context will then be used to calculate the absolute path. See QMimeSourceFactory::makeAbsolute() for details.
+.PP
+\fIemptyTag\fR and \fIdoc\fR are for internal use only.
+.PP
+This function should not be used in application code.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstylesheet.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstylesheet.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qstylesheetitem.3qt b/doc/man/man3/qstylesheetitem.3qt
new file mode 100644
index 0000000..8ee9c72
--- /dev/null
+++ b/doc/man/man3/qstylesheetitem.3qt
@@ -0,0 +1,484 @@
+'\" t
+.TH QStyleSheetItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QStyleSheetItem \- Encapsulation of a set of text styles
+.SH SYNOPSIS
+\fC#include <qstylesheet.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQStyleSheetItem\fR ( QStyleSheet * parent, const QString & name )"
+.br
+.ti -1c
+.BI "\fBQStyleSheetItem\fR ( const QStyleSheetItem & other )"
+.br
+.ti -1c
+.BI "\fB~QStyleSheetItem\fR ()"
+.br
+.ti -1c
+.BI "QStyleSheetItem & \fBoperator=\fR ( const QStyleSheetItem & other )"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "QStyleSheet * \fBstyleSheet\fR ()"
+.br
+.ti -1c
+.BI "const QStyleSheet * \fBstyleSheet\fR () const"
+.br
+.ti -1c
+.BI "enum \fBDisplayMode\fR { DisplayBlock, DisplayInline, DisplayListItem, DisplayNone }"
+.br
+.ti -1c
+.BI "DisplayMode \fBdisplayMode\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDisplayMode\fR ( DisplayMode m )"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAlignment\fR ( int f )"
+.br
+.ti -1c
+.BI "enum \fBVerticalAlignment\fR { VAlignBaseline, VAlignSub, VAlignSuper }"
+.br
+.ti -1c
+.BI "VerticalAlignment \fBverticalAlignment\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetVerticalAlignment\fR ( VerticalAlignment valign )"
+.br
+.ti -1c
+.BI "int \fBfontWeight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontWeight\fR ( int w )"
+.br
+.ti -1c
+.BI "int \fBlogicalFontSize\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLogicalFontSize\fR ( int s )"
+.br
+.ti -1c
+.BI "int \fBlogicalFontSizeStep\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLogicalFontSizeStep\fR ( int s )"
+.br
+.ti -1c
+.BI "int \fBfontSize\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontSize\fR ( int s )"
+.br
+.ti -1c
+.BI "QString \fBfontFamily\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontFamily\fR ( const QString & fam )"
+.br
+.ti -1c
+.BI "int numberOfColumns () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setNumberOfColumns ( int ncols ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QColor \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "bool \fBfontItalic\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontItalic\fR ( bool italic )"
+.br
+.ti -1c
+.BI "bool \fBdefinesFontItalic\fR () const"
+.br
+.ti -1c
+.BI "bool \fBfontUnderline\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontUnderline\fR ( bool underline )"
+.br
+.ti -1c
+.BI "bool \fBdefinesFontUnderline\fR () const"
+.br
+.ti -1c
+.BI "bool \fBfontStrikeOut\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetFontStrikeOut\fR ( bool strikeOut )"
+.br
+.ti -1c
+.BI "bool \fBdefinesFontStrikeOut\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAnchor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAnchor\fR ( bool anc )"
+.br
+.ti -1c
+.BI "enum \fBWhiteSpaceMode\fR { WhiteSpaceNormal, WhiteSpacePre, WhiteSpaceNoWrap }"
+.br
+.ti -1c
+.BI "WhiteSpaceMode \fBwhiteSpaceMode\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWhiteSpaceMode\fR ( WhiteSpaceMode m )"
+.br
+.ti -1c
+.BI "enum \fBMargin\fR { MarginLeft, MarginRight, MarginTop, MarginBottom, MarginFirstLine, MarginAll, MarginVertical, MarginHorizontal }"
+.br
+.ti -1c
+.BI "int \fBmargin\fR ( Margin m ) const"
+.br
+.ti -1c
+.BI "void \fBsetMargin\fR ( Margin m, int v )"
+.br
+.ti -1c
+.BI "enum \fBListStyle\fR { ListDisc, ListCircle, ListSquare, ListDecimal, ListLowerAlpha, ListUpperAlpha }"
+.br
+.ti -1c
+.BI "ListStyle \fBlistStyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetListStyle\fR ( ListStyle s )"
+.br
+.ti -1c
+.BI "QString \fBcontexts\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetContexts\fR ( const QString & c )"
+.br
+.ti -1c
+.BI "bool \fBallowedInContext\fR ( const QStyleSheetItem * s ) const"
+.br
+.ti -1c
+.BI "bool \fBselfNesting\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSelfNesting\fR ( bool nesting )"
+.br
+.ti -1c
+.BI "int lineSpacing () const \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QStyleSheetItem class provides an encapsulation of a set of text styles.
+.PP
+A style sheet item consists of a name and a set of attributes that specifiy its font, color, etc. When used in a style sheet (see styleSheet()), items define the name() of a rich text tag and the display property changes associated with it.
+.PP
+The display mode attribute indicates whether the item is a block, an inline element or a list element; see setDisplayMode(). The treatment of whitespace is controlled by the white space mode; see setWhiteSpaceMode(). An item's margins are set with setMargin(), In the case of list items, the list style is set with setListStyle(). An item may be a hypertext link anchor; see setAnchor(). Other attributes are set with setAlignment(), setVerticalAlignment(), setFontFamily(), setFontSize(), setFontWeight(), setFontItalic(), setFontUnderline(), setFontStrikeOut and setColor().
+.PP
+See also Text Related Classes.
+.SS "Member Type Documentation"
+.SH "QStyleSheetItem::DisplayMode"
+This enum type defines the way adjacent elements are displayed.
+.TP
+\fCQStyleSheetItem::DisplayBlock\fR - elements are displayed as a rectangular block (e.g. \fC<p>...</p>\fR).
+.TP
+\fCQStyleSheetItem::DisplayInline\fR - elements are displayed in a horizontally flowing sequence (e.g. \fC<em>...</em>\fR).
+.TP
+\fCQStyleSheetItem::DisplayListItem\fR - elements are displayed in a vertical sequence (e.g. \fC<li>...</li>\fR).
+.TP
+\fCQStyleSheetItem::DisplayNone\fR - elements are not displayed at all.
+.SH "QStyleSheetItem::ListStyle"
+This enum type defines how the items in a list are prefixed when displayed.
+.TP
+\fCQStyleSheetItem::ListDisc\fR - a filled circle (i.e. a bullet)
+.TP
+\fCQStyleSheetItem::ListCircle\fR - an unfilled circle
+.TP
+\fCQStyleSheetItem::ListSquare\fR - a filled square
+.TP
+\fCQStyleSheetItem::ListDecimal\fR - an integer in base 10: \fI1\fR, \fI2\fR, \fI3\fR, ...
+.TP
+\fCQStyleSheetItem::ListLowerAlpha\fR - a lowercase letter: \fIa\fR, \fIb\fR, \fIc\fR, ...
+.TP
+\fCQStyleSheetItem::ListUpperAlpha\fR - an uppercase letter: \fIA\fR, \fIB\fR, \fIC\fR, ...
+.SH "QStyleSheetItem::Margin"
+.TP
+\fCQStyleSheetItem::MarginLeft\fR - left margin
+.TP
+\fCQStyleSheetItem::MarginRight\fR - right margin
+.TP
+\fCQStyleSheetItem::MarginTop\fR - top margin
+.TP
+\fCQStyleSheetItem::MarginBottom\fR - bottom margin
+.TP
+\fCQStyleSheetItem::MarginAll\fR - all margins (left, right, top and bottom)
+.TP
+\fCQStyleSheetItem::MarginVertical\fR - top and bottom margins
+.TP
+\fCQStyleSheetItem::MarginHorizontal\fR - left and right margins
+.TP
+\fCQStyleSheetItem::MarginFirstLine\fR - margin (indentation) of the first line of a paragarph (in addition to the MarginLeft of the paragraph)
+.SH "QStyleSheetItem::VerticalAlignment"
+This enum type defines the way elements are aligned vertically. This is only supported for text elements.
+.TP
+\fCQStyleSheetItem::VAlignBaseline\fR - align the baseline of the element (or the bottom, if the element doesn't have a baseline) with the baseline of the parent
+.TP
+\fCQStyleSheetItem::VAlignSub\fR - subscript the element
+.TP
+\fCQStyleSheetItem::VAlignSuper\fR - superscript the element
+.SH "QStyleSheetItem::WhiteSpaceMode"
+This enum defines the ways in which QStyleSheet can treat whitespace.
+.TP
+\fCQStyleSheetItem::WhiteSpaceNormal\fR - any sequence of whitespace (including line-breaks) is equivalent to a single space.
+.TP
+\fCQStyleSheetItem::WhiteSpacePre\fR - whitespace must be output exactly as given in the input.
+.TP
+\fCQStyleSheetItem::WhiteSpaceNoWrap\fR - multiple spaces are collapsed as with WhiteSpaceNormal, but no automatic line-breaks occur. To break lines manually, use the \fC<br>\fR tag.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QStyleSheetItem::QStyleSheetItem ( QStyleSheet * parent, const QString & name )"
+Constructs a new style called \fIname\fR for the stylesheet \fIparent\fR.
+.PP
+All properties in QStyleSheetItem are initially in the "do not change" state, except display mode, which defaults to DisplayInline.
+.SH "QStyleSheetItem::QStyleSheetItem ( const QStyleSheetItem & other )"
+Copy constructor. Constructs a copy of \fIother\fR that is not bound to any style sheet.
+.SH "QStyleSheetItem::~QStyleSheetItem ()"
+Destroys the style. Note that QStyleSheetItem objects become owned by QStyleSheet when they are created.
+.SH "int QStyleSheetItem::alignment () const"
+Returns the alignment of this style. Possible values are AlignAuto, AlignLeft, AlignRight, AlignCenter or AlignJustify.
+.PP
+See also setAlignment() and Qt::AlignmentFlags.
+.SH "bool QStyleSheetItem::allowedInContext ( const QStyleSheetItem * s ) const"
+Returns TRUE if this style can be nested into an element of style \fIs\fR; otherwise returns FALSE.
+.PP
+See also contexts() and setContexts().
+.SH "QColor QStyleSheetItem::color () const"
+Returns the text color of this style or an invalid color if no color has been set.
+.PP
+See also setColor() and QColor::isValid().
+.SH "QString QStyleSheetItem::contexts () const"
+Returns a space-separated list of names of styles that may contain elements of this style. If nothing has been set, contexts() returns an empty string, which indicates that this style can be nested everywhere.
+.PP
+See also setContexts().
+.SH "bool QStyleSheetItem::definesFontItalic () const"
+Returns TRUE if the style defines a font shape; otherwise returns FALSE. A style does not define any shape until setFontItalic() is called.
+.PP
+See also setFontItalic() and fontItalic().
+.SH "bool QStyleSheetItem::definesFontStrikeOut () const"
+Returns TRUE if the style defines a setting for the strikeOut property of the font; otherwise returns FALSE. A style does not define this until setFontStrikeOut() is called.
+.PP
+See also setFontStrikeOut() and fontStrikeOut().
+.SH "bool QStyleSheetItem::definesFontUnderline () const"
+Returns TRUE if the style defines a setting for the underline property of the font; otherwise returns FALSE. A style does not define this until setFontUnderline() is called.
+.PP
+See also setFontUnderline() and fontUnderline().
+.SH "DisplayMode QStyleSheetItem::displayMode () const"
+Returns the display mode of the style.
+.PP
+See also setDisplayMode().
+.SH "QString QStyleSheetItem::fontFamily () const"
+Returns the font family setting of the style. This is either a valid font family or QString::null if no family has been set.
+.PP
+See also setFontFamily(), QFont::family(), and QFont::setFamily().
+.SH "bool QStyleSheetItem::fontItalic () const"
+Returns TRUE if the style sets an italic font; otherwise returns FALSE.
+.PP
+See also setFontItalic() and definesFontItalic().
+.SH "int QStyleSheetItem::fontSize () const"
+Returns the font size setting of the style. This is either a valid point size or QStyleSheetItem::Undefined.
+.PP
+See also setFontSize(), QFont::pointSize(), and QFont::setPointSize().
+.SH "bool QStyleSheetItem::fontStrikeOut () const"
+Returns TRUE if the style sets a strike out font; otherwise returns FALSE.
+.PP
+See also setFontStrikeOut() and definesFontStrikeOut().
+.SH "bool QStyleSheetItem::fontUnderline () const"
+Returns TRUE if the style sets an underlined font; otherwise returns FALSE.
+.PP
+See also setFontUnderline() and definesFontUnderline().
+.SH "int QStyleSheetItem::fontWeight () const"
+Returns the font weight setting of the style. This is either a valid QFont::Weight or the value QStyleSheetItem::Undefined.
+.PP
+See also setFontWeight() and QFont.
+.SH "bool QStyleSheetItem::isAnchor () const"
+Returns whether this style is an anchor.
+.PP
+See also setAnchor().
+.SH "int QStyleSheetItem::lineSpacing () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the linespacing
+.SH "ListStyle QStyleSheetItem::listStyle () const"
+Returns the list style of the style.
+.PP
+See also setListStyle() and ListStyle.
+.SH "int QStyleSheetItem::logicalFontSize () const"
+Returns the logical font size setting of the style. This is either a valid size between 1 and 7 or QStyleSheetItem::Undefined.
+.PP
+See also setLogicalFontSize(), setLogicalFontSizeStep(), QFont::pointSize(), and QFont::setPointSize().
+.SH "int QStyleSheetItem::logicalFontSizeStep () const"
+Returns the logical font size step of this style.
+.PP
+The default is 0. Tags such as \fCbig\fR define \fC+1\fR; \fCsmall\fR defines \fC-1\fR.
+.PP
+See also setLogicalFontSizeStep().
+.SH "int QStyleSheetItem::margin ( Margin m ) const"
+Returns the width of margin \fIm\fR in pixels.
+.PP
+The margin, \fIm\fR, can be MarginLeft, MarginRight, MarginTop, MarginBottom, or MarginFirstLine.
+.PP
+See also setMargin() and Margin.
+.SH "QString QStyleSheetItem::name () const"
+Returns the name of the style item.
+.SH "int QStyleSheetItem::numberOfColumns () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the number of columns for this style.
+.PP
+See also setNumberOfColumns(), displayMode(), and setDisplayMode().
+.SH "QStyleSheetItem & QStyleSheetItem::operator= ( const QStyleSheetItem & other )"
+Assignment. Assings a copy of \fIother\fR that is not bound to any style sheet. Unbounds first from previous style sheet.
+.SH "bool QStyleSheetItem::selfNesting () const"
+Returns TRUE if this style has self-nesting enabled; otherwise returns FALSE.
+.PP
+See also setSelfNesting().
+.SH "void QStyleSheetItem::setAlignment ( int f )"
+Sets the alignment to \fIf\fR. This only makes sense for styles with a display mode of DisplayBlock. Possible values are AlignAuto, AlignLeft, AlignRight, AlignCenter or AlignJustify.
+.PP
+See also alignment(), displayMode(), and Qt::AlignmentFlags.
+.SH "void QStyleSheetItem::setAnchor ( bool anc )"
+If \fIanc\fR is TRUE, sets this style to be an anchor (hypertext link); otherwise sets it to not be an anchor. Elements in this style link to other documents or anchors.
+.PP
+See also isAnchor().
+.SH "void QStyleSheetItem::setColor ( const QColor & c )"
+Sets the text color of this style to \fIc\fR.
+.PP
+See also color().
+.SH "void QStyleSheetItem::setContexts ( const QString & c )"
+Sets a space-separated list of names of styles that may contain elements of this style. If \fIc\fR is empty, the style can be nested everywhere.
+.PP
+See also contexts().
+.SH "void QStyleSheetItem::setDisplayMode ( DisplayMode m )"
+Sets the display mode of the style to \fIm\fR.
+.PP
+See also displayMode().
+.SH "void QStyleSheetItem::setFontFamily ( const QString & fam )"
+Sets the font family setting of the style to \fIfam\fR.
+.PP
+See also fontFamily(), QFont::family(), and QFont::setFamily().
+.SH "void QStyleSheetItem::setFontItalic ( bool italic )"
+If \fIitalic\fR is TRUE sets italic for the style; otherwise sets upright.
+.PP
+See also fontItalic() and definesFontItalic().
+.SH "void QStyleSheetItem::setFontSize ( int s )"
+Sets the font size setting of the style to \fIs\fR points.
+.PP
+See also fontSize(), QFont::pointSize(), and QFont::setPointSize().
+.SH "void QStyleSheetItem::setFontStrikeOut ( bool strikeOut )"
+If \fIstrikeOut\fR is TRUE, sets strike out for the style; otherwise sets no strike out.
+.PP
+See also fontStrikeOut() and definesFontStrikeOut().
+.SH "void QStyleSheetItem::setFontUnderline ( bool underline )"
+If \fIunderline\fR is TRUE, sets underline for the style; otherwise sets no underline.
+.PP
+See also fontUnderline() and definesFontUnderline().
+.SH "void QStyleSheetItem::setFontWeight ( int w )"
+Sets the font weight setting of the style to \fIw\fR. Valid values are those defined by QFont::Weight.
+.PP
+See also QFont and fontWeight().
+.SH "void QStyleSheetItem::setListStyle ( ListStyle s )"
+Sets the list style of the style to \fIs\fR.
+.PP
+This is used by nested elements that have a display mode of DisplayListItem.
+.PP
+See also listStyle(), DisplayMode, and ListStyle.
+.SH "void QStyleSheetItem::setLogicalFontSize ( int s )"
+Sets the logical font size setting of the style to \fIs\fR. Valid logical sizes are 1 to 7.
+.PP
+See also logicalFontSize(), QFont::pointSize(), and QFont::setPointSize().
+.SH "void QStyleSheetItem::setLogicalFontSizeStep ( int s )"
+Sets the logical font size step of this style to \fIs\fR.
+.PP
+See also logicalFontSizeStep().
+.SH "void QStyleSheetItem::setMargin ( Margin m, int v )"
+Sets the width of margin \fIm\fR to \fIv\fR pixels.
+.PP
+The margin, \fIm\fR, can be MarginLeft, MarginRight, MarginTop, MarginBottom, MarginFirstLine, MarginAll, MarginVertical or MarginHorizontal. The value \fIv\fR must be >= 0.
+.PP
+See also margin().
+.SH "void QStyleSheetItem::setNumberOfColumns ( int ncols )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Sets the number of columns for this style. Elements in the style are divided into columns.
+.PP
+This makes sense only if the style uses a block display mode (see QStyleSheetItem::DisplayMode).
+.PP
+See also numberOfColumns().
+.SH "void QStyleSheetItem::setSelfNesting ( bool nesting )"
+Sets the self-nesting property for this style to \fInesting\fR.
+.PP
+In order to support "dirty" HTML, paragraphs \fC<p>\fR and list items \fC<li>\fR are not self-nesting. This means that starting a new paragraph or list item automatically closes the previous one.
+.PP
+See also selfNesting().
+.SH "void QStyleSheetItem::setVerticalAlignment ( VerticalAlignment valign )"
+Sets the vertical alignment to \fIvalign\fR. Possible values are VAlignBaseline, VAlignSub or VAlignSuper.
+.PP
+The vertical alignment property is not inherited.
+.PP
+See also verticalAlignment().
+.SH "void QStyleSheetItem::setWhiteSpaceMode ( WhiteSpaceMode m )"
+Sets the whitespace mode to \fIm\fR.
+.PP
+See also WhiteSpaceMode.
+.SH "QStyleSheet * QStyleSheetItem::styleSheet ()"
+Returns the style sheet this item is in.
+.SH "const QStyleSheet * QStyleSheetItem::styleSheet () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the style sheet this item is in.
+.SH "VerticalAlignment QStyleSheetItem::verticalAlignment () const"
+Returns the vertical alignment of the style. Possible values are VAlignBaseline, VAlignSub or VAlignSuper.
+.PP
+See also setVerticalAlignment().
+.SH "WhiteSpaceMode QStyleSheetItem::whiteSpaceMode () const"
+Returns the whitespace mode.
+.PP
+See also setWhiteSpaceMode() and WhiteSpaceMode.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qstylesheetitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qstylesheetitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qsyntaxhighlighter.3qt b/doc/man/man3/qsyntaxhighlighter.3qt
new file mode 100644
index 0000000..f004c84
--- /dev/null
+++ b/doc/man/man3/qsyntaxhighlighter.3qt
@@ -0,0 +1,120 @@
+'\" t
+.TH QSyntaxHighlighter 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QSyntaxHighlighter \- Base class for implementing QTextEdit syntax highlighters
+.SH SYNOPSIS
+\fC#include <qsyntaxhighlighter.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQSyntaxHighlighter\fR ( QTextEdit * textEdit )"
+.br
+.ti -1c
+.BI "virtual \fB~QSyntaxHighlighter\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBhighlightParagraph\fR ( const QString & text, int endStateOfLastPara ) = 0"
+.br
+.ti -1c
+.BI "void \fBsetFormat\fR ( int start, int count, const QFont & font, const QColor & color )"
+.br
+.ti -1c
+.BI "void \fBsetFormat\fR ( int start, int count, const QColor & color )"
+.br
+.ti -1c
+.BI "void \fBsetFormat\fR ( int start, int count, const QFont & font )"
+.br
+.ti -1c
+.BI "QTextEdit * \fBtextEdit\fR () const"
+.br
+.ti -1c
+.BI "void \fBrehighlight\fR ()"
+.br
+.ti -1c
+.BI "int \fBcurrentParagraph\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QSyntaxHighlighter class is a base class for implementing QTextEdit syntax highlighters.
+.PP
+A syntax highligher automatically highlights parts of the text in a QTextEdit. Syntax highlighters are often used when the user is entering text in a specific format (for example, source code) and help the user to read the text and identify syntax errors.
+.PP
+To provide your own syntax highlighting for QTextEdit, you must subclass QSyntaxHighlighter and reimplement highlightParagraph().
+.PP
+When you create an instance of your QSyntaxHighlighter subclass, pass it the QTextEdit that you want the syntax highlighting to be applied to. After this your highlightParagraph() function will be called automatically whenever necessary. Use your highlightParagraph() function to apply formatting (e.g. setting the font and color) to the text that is passed to it.
+.PP
+See also Basic Widgets and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QSyntaxHighlighter::QSyntaxHighlighter ( QTextEdit * textEdit )"
+Constructs the QSyntaxHighlighter and installs it on \fItextEdit\fR.
+.PP
+It is the caller's responsibility to delete the QSyntaxHighlighter when it is no longer needed.
+.SH "QSyntaxHighlighter::~QSyntaxHighlighter ()\fC [virtual]\fR"
+Destructor. Uninstalls this syntax highlighter from the textEdit()
+.SH "int QSyntaxHighlighter::currentParagraph () const"
+Returns the id of the paragraph which is highlighted, or -1 of no paragraph is currently highlighted.
+.PP
+Usually this function is called from within highlightParagraph().
+.SH "int QSyntaxHighlighter::highlightParagraph ( const QString & text, int endStateOfLastPara )\fC [pure virtual]\fR"
+This function is called when necessary by the rich text engine, i.e. on paragraphs which have changed.
+.PP
+In your reimplementation you should parse the paragraph's \fItext\fR and call setFormat() as often as necessary to apply any font and color changes that you require. Your function must return a value which indicates the paragraph's end state: see below.
+.PP
+Some syntaxes can have constructs that span paragraphs. For example, a C++ syntax highlighter should be able to cope with \fC/\fR\fC*...*\fR\fC/\fR comments that span paragraphs. To deal with these cases it is necessary to know the end state of the previous paragraph (e.g. "in comment").
+.PP
+If your syntax does not have paragraph spanning constructs, simply ignore the \fIendStateOfLastPara\fR parameter and always return 0.
+.PP
+Whenever highlightParagraph() is called it is passed a value for \fIendStateOfLastPara\fR. For the very first paragraph this value is always -2. For any other paragraph the value is the value returned by the most recent highlightParagraph() call that applied to the preceding paragraph.
+.PP
+The value you return is up to you. We recommend only returning 0 (to signify that this paragraph's syntax highlighting does not affect the following paragraph), or a positive integer (to signify that this paragraph has ended in the middle of a paragraph spanning construct).
+.PP
+To find out which paragraph is highlighted, call currentParagraph().
+.PP
+For example, if you're writing a simple C++ syntax highlighter, you might designate 1 to signify "in comment". For a paragraph that ended in the middle of a comment you'd return 1, and for other paragraphs you'd return 0. In your parsing code if \fIendStateOfLastPara\fR was 1, you would highlight the text as a C++ comment until you reached the closing \fC*\fR\fC/\fR.
+.SH "void QSyntaxHighlighter::rehighlight ()"
+Redoes the highlighting of the whole document.
+.SH "void QSyntaxHighlighter::setFormat ( int start, int count, const QFont & font, const QColor & color )"
+This function is applied to the syntax highlighter's current paragraph (the text of which is passed to the highlightParagraph() function).
+.PP
+The specified \fIfont\fR and \fIcolor\fR are applied to the text from position \fIstart\fR for \fIcount\fR characters. (If \fIcount\fR is 0, nothing is done.)
+.SH "void QSyntaxHighlighter::setFormat ( int start, int count, const QColor & color )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "void QSyntaxHighlighter::setFormat ( int start, int count, const QFont & font )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QTextEdit * QSyntaxHighlighter::textEdit () const"
+Returns the QTextEdit on which this syntax highlighter is
+installed
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qsyntaxhighlighter.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qsyntaxhighlighter.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qt.3qt b/doc/man/man3/qt.3qt
new file mode 100644
index 0000000..d6f66c3
--- /dev/null
+++ b/doc/man/man3/qt.3qt
@@ -0,0 +1,1451 @@
+'\" t
+.TH Qt 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+Qt \- Namespace for miscellaneous identifiers that need to be global-like
+.SH SYNOPSIS
+\fC#include <qnamespace.h>\fR
+.PP
+Inherited by QObject, QPixmap, QBrush, QCanvasItem, QCursor, QPainter, QEvent, QIconViewItem, QKeySequence, QListViewItem, QCustomMenuItem, QPen, QStyleSheetItem, QSyntaxHighlighter, QTab, QTableItem, QThread, QToolTip, and QWhatsThis.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBButtonState\fR { NoButton = 0x0000, LeftButton = 0x0001, RightButton = 0x0002, MidButton = 0x0004, MouseButtonMask = 0x0007, ShiftButton = 0x0100, ControlButton = 0x0200, AltButton = 0x0400, MetaButton = 0x0800, KeyButtonMask = 0x0f00, Keypad = 0x4000 }"
+.br
+.ti -1c
+.BI "enum \fBOrientation\fR { Horizontal = 0, Vertical }"
+.br
+.ti -1c
+.BI "enum \fBSortOrder\fR { Ascending, Descending }"
+.br
+.ti -1c
+.BI "enum \fBAlignmentFlags\fR { AlignAuto = 0x0000, AlignLeft = 0x0001, AlignRight = 0x0002, AlignHCenter = 0x0004, AlignJustify = 0x0008, AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify, AlignTop = 0x0010, AlignBottom = 0x0020, AlignVCenter = 0x0040, AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, AlignCenter = AlignVCenter | AlignHCenter }"
+.br
+.ti -1c
+.BI "enum \fBTextFlags\fR { SingleLine = 0x0080, DontClip = 0x0100, ExpandTabs = 0x0200, ShowPrefix = 0x0400, WordBreak = 0x0800, BreakAnywhere = 0x1000, NoAccel = 0x4000 }"
+.br
+.ti -1c
+.BI "enum \fBWidgetState\fR { WState_Created = 0x00000001, WState_Disabled = 0x00000002, WState_Visible = 0x00000004, WState_ForceHide = 0x00000008, WState_OwnCursor = 0x00000010, WState_MouseTracking = 0x00000020, WState_CompressKeys = 0x00000040, WState_BlockUpdates = 0x00000080, WState_InPaintEvent = 0x00000100, WState_Reparented = 0x00000200, WState_ConfigPending = 0x00000400, WState_Resized = 0x00000800, WState_AutoMask = 0x00001000, WState_Polished = 0x00002000, WState_DND = 0x00004000, WState_Reserved0 = 0x00008000, WState_FullScreen = 0x00010000, WState_OwnSizePolicy = 0x00020000, WState_CreatedHidden = 0x00040000, WState_Maximized = 0x00080000, WState_Minimized = 0x00100000, WState_ForceDisabled = 0x00200000, WState_Exposed = 0x00400000, WState_HasMouse = 0x00800000 }"
+.br
+.ti -1c
+.BI "enum \fBWidgetFlags\fR { WType_TopLevel = 0x00000001, WType_Dialog = 0x00000002, WType_Popup = 0x00000004, WType_Desktop = 0x00000008, WType_Mask = 0x0000000f, WStyle_Customize = 0x00000010, WStyle_NormalBorder = 0x00000020, WStyle_DialogBorder = 0x00000040, WStyle_NoBorder = 0x00002000, WStyle_Title = 0x00000080, WStyle_SysMenu = 0x00000100, WStyle_Minimize = 0x00000200, WStyle_Maximize = 0x00000400, WStyle_MinMax = WStyle_Minimize | WStyle_Maximize, WStyle_Tool = 0x00000800, WStyle_StaysOnTop = 0x00001000, WStyle_ContextHelp = 0x00004000, WStyle_Reserved = 0x00008000, WStyle_Mask = 0x0000fff0, WDestructiveClose = 0x00010000, WPaintDesktop = 0x00020000, WPaintUnclipped = 0x00040000, WPaintClever = 0x00080000, WResizeNoErase = 0x00100000, WMouseNoMask = 0x00200000, WStaticContents = 0x00400000, WRepaintNoErase = 0x00800000, WX11BypassWM = 0x01000000, WWinOwnDC = 0x00000000, WMacNoSheet = 0x00000000, WMacDrawer = 0x00000000, WX11BypassWM = 0x00000000, WWinOwnDC = 0x01000000, WMacNoSheet = 0x00000000, WMacDrawer = 0x00000000, WGroupLeader = 0x02000000, WShowModal = 0x04000000, WNoMousePropagation = 0x08000000, WSubWindow = 0x10000000, WStyle_Splash = 0x20000000, WNoAutoErase = WRepaintNoErase | WResizeNoErase, WNorthWestGravity = WStaticContents, WType_Modal = WType_Dialog | WShowModal, WStyle_Dialog = WType_Dialog, WStyle_NoBorderEx = WStyle_NoBorder }"
+.br
+.ti -1c
+.BI "enum \fBWindowState\fR { WindowNoState = 0x00000000, WindowMinimized = 0x00000001, WindowMaximized = 0x00000002, WindowFullScreen = 0x00000004, WindowActive = 0x00000008 }"
+.br
+.ti -1c
+.BI "enum \fBImageConversionFlags\fR { ColorMode_Mask = 0x00000003, AutoColor = 0x00000000, ColorOnly = 0x00000003, MonoOnly = 0x00000002, AlphaDither_Mask = 0x0000000c, ThresholdAlphaDither = 0x00000000, OrderedAlphaDither = 0x00000004, DiffuseAlphaDither = 0x00000008, NoAlpha = 0x0000000c, Dither_Mask = 0x00000030, DiffuseDither = 0x00000000, OrderedDither = 0x00000010, ThresholdDither = 0x00000020, DitherMode_Mask = 0x000000c0, AutoDither = 0x00000000, PreferDither = 0x00000040, AvoidDither = 0x00000080 }"
+.br
+.ti -1c
+.BI "enum \fBBGMode\fR { TransparentMode, OpaqueMode }"
+.br
+.ti -1c
+.BI "enum \fBPaintUnit\fR { PixelUnit, LoMetricUnit, HiMetricUnit, LoEnglishUnit, HiEnglishUnit, TwipsUnit }"
+.br
+.ti -1c
+.BI "enum GUIStyle { MacStyle, WindowsStyle, Win3Style, PMStyle, MotifStyle } \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBSequenceMatch\fR { NoMatch, PartialMatch, Identical }"
+.br
+.ti -1c
+.BI "enum \fBModifier\fR { META = 0x00100000, SHIFT = 0x00200000, CTRL = 0x00400000, ALT = 0x00800000, MODIFIER_MASK = 0x00f00000, UNICODE_ACCEL = 0x10000000, ASCII_ACCEL = UNICODE_ACCEL }"
+.br
+.ti -1c
+.BI "enum \fBKey\fR { Key_Escape = 0x1000, Key_Tab = 0x1001, Key_Backtab = 0x1002, Key_BackTab = Key_Backtab, Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace, Key_Return = 0x1004, Key_Enter = 0x1005, Key_Insert = 0x1006, Key_Delete = 0x1007, Key_Pause = 0x1008, Key_Print = 0x1009, Key_SysReq = 0x100a, Key_Clear = 0x100b, Key_Home = 0x1010, Key_End = 0x1011, Key_Left = 0x1012, Key_Up = 0x1013, Key_Right = 0x1014, Key_Down = 0x1015, Key_Prior = 0x1016, Key_PageUp = Key_Prior, Key_Next = 0x1017, Key_PageDown = Key_Next, Key_Shift = 0x1020, Key_Control = 0x1021, Key_Meta = 0x1022, Key_Alt = 0x1023, Key_CapsLock = 0x1024, Key_NumLock = 0x1025, Key_ScrollLock = 0x1026, Key_F1 = 0x1030, Key_F2 = 0x1031, Key_F3 = 0x1032, Key_F4 = 0x1033, Key_F5 = 0x1034, Key_F6 = 0x1035, Key_F7 = 0x1036, Key_F8 = 0x1037, Key_F9 = 0x1038, Key_F10 = 0x1039, Key_F11 = 0x103a, Key_F12 = 0x103b, Key_F13 = 0x103c, Key_F14 = 0x103d, Key_F15 = 0x103e, Key_F16 = 0x103f, Key_F17 = 0x1040, Key_F18 = 0x1041, Key_F19 = 0x1042, Key_F20 = 0x1043, Key_F21 = 0x1044, Key_F22 = 0x1045, Key_F23 = 0x1046, Key_F24 = 0x1047, Key_F25 = 0x1048, Key_F26 = 0x1049, Key_F27 = 0x104a, Key_F28 = 0x104b, Key_F29 = 0x104c, Key_F30 = 0x104d, Key_F31 = 0x104e, Key_F32 = 0x104f, Key_F33 = 0x1050, Key_F34 = 0x1051, Key_F35 = 0x1052, Key_Super_L = 0x1053, Key_Super_R = 0x1054, Key_Menu = 0x1055, Key_Hyper_L = 0x1056, Key_Hyper_R = 0x1057, Key_Help = 0x1058, Key_Direction_L = 0x1059, Key_Direction_R = 0x1060, Key_Space = 0x20, Key_Any = Key_Space, Key_Exclam = 0x21, Key_QuoteDbl = 0x22, Key_NumberSign = 0x23, Key_Dollar = 0x24, Key_Percent = 0x25, Key_Ampersand = 0x26, Key_Apostrophe = 0x27, Key_ParenLeft = 0x28, Key_ParenRight = 0x29, Key_Asterisk = 0x2a, Key_Plus = 0x2b, Key_Comma = 0x2c, Key_Minus = 0x2d, Key_Period = 0x2e, Key_Slash = 0x2f, Key_0 = 0x30, Key_1 = 0x31, Key_2 = 0x32, Key_3 = 0x33, Key_4 = 0x34, Key_5 = 0x35, Key_6 = 0x36, Key_7 = 0x37, Key_8 = 0x38, Key_9 = 0x39, Key_Colon = 0x3a, Key_Semicolon = 0x3b, Key_Less = 0x3c, Key_Equal = 0x3d, Key_Greater = 0x3e, Key_Question = 0x3f, Key_At = 0x40, Key_A = 0x41, Key_B = 0x42, Key_C = 0x43, Key_D = 0x44, Key_E = 0x45, Key_F = 0x46, Key_G = 0x47, Key_H = 0x48, Key_I = 0x49, Key_J = 0x4a, Key_K = 0x4b, Key_L = 0x4c, Key_M = 0x4d, Key_N = 0x4e, Key_O = 0x4f, Key_P = 0x50, Key_Q = 0x51, Key_R = 0x52, Key_S = 0x53, Key_T = 0x54, Key_U = 0x55, Key_V = 0x56, Key_W = 0x57, Key_X = 0x58, Key_Y = 0x59, Key_Z = 0x5a, Key_BracketLeft = 0x5b, Key_Backslash = 0x5c, Key_BracketRight = 0x5d, Key_AsciiCircum = 0x5e, Key_Underscore = 0x5f, Key_QuoteLeft = 0x60, Key_BraceLeft = 0x7b, Key_Bar = 0x7c, Key_BraceRight = 0x7d, Key_AsciiTilde = 0x7e, Key_nobreakspace = 0x0a0, Key_exclamdown = 0x0a1, Key_cent = 0x0a2, Key_sterling = 0x0a3, Key_currency = 0x0a4, Key_yen = 0x0a5, Key_brokenbar = 0x0a6, Key_section = 0x0a7, Key_diaeresis = 0x0a8, Key_copyright = 0x0a9, Key_ordfeminine = 0x0aa, Key_guillemotleft = 0x0ab, Key_notsign = 0x0ac, Key_hyphen = 0x0ad, Key_registered = 0x0ae, Key_macron = 0x0af, Key_degree = 0x0b0, Key_plusminus = 0x0b1, Key_twosuperior = 0x0b2, Key_threesuperior = 0x0b3, Key_acute = 0x0b4, Key_mu = 0x0b5, Key_paragraph = 0x0b6, Key_periodcentered = 0x0b7, Key_cedilla = 0x0b8, Key_onesuperior = 0x0b9, Key_masculine = 0x0ba, Key_guillemotright = 0x0bb, Key_onequarter = 0x0bc, Key_onehalf = 0x0bd, Key_threequarters = 0x0be, Key_questiondown = 0x0bf, Key_Agrave = 0x0c0, Key_Aacute = 0x0c1, Key_Acircumflex = 0x0c2, Key_Atilde = 0x0c3, Key_Adiaeresis = 0x0c4, Key_Aring = 0x0c5, Key_AE = 0x0c6, Key_Ccedilla = 0x0c7, Key_Egrave = 0x0c8, Key_Eacute = 0x0c9, Key_Ecircumflex = 0x0ca, Key_Ediaeresis = 0x0cb, Key_Igrave = 0x0cc, Key_Iacute = 0x0cd, Key_Icircumflex = 0x0ce, Key_Idiaeresis = 0x0cf, Key_ETH = 0x0d0, Key_Ntilde = 0x0d1, Key_Ograve = 0x0d2, Key_Oacute = 0x0d3, Key_Ocircumflex = 0x0d4, Key_Otilde = 0x0d5, Key_Odiaeresis = 0x0d6, Key_multiply = 0x0d7, Key_Ooblique = 0x0d8, Key_Ugrave = 0x0d9, Key_Uacute = 0x0da, Key_Ucircumflex = 0x0db, Key_Udiaeresis = 0x0dc, Key_Yacute = 0x0dd, Key_THORN = 0x0de, Key_ssharp = 0x0df, Key_agrave = 0x0e0, Key_aacute = 0x0e1, Key_acircumflex = 0x0e2, Key_atilde = 0x0e3, Key_adiaeresis = 0x0e4, Key_aring = 0x0e5, Key_ae = 0x0e6, Key_ccedilla = 0x0e7, Key_egrave = 0x0e8, Key_eacute = 0x0e9, Key_ecircumflex = 0x0ea, Key_ediaeresis = 0x0eb, Key_igrave = 0x0ec, Key_iacute = 0x0ed, Key_icircumflex = 0x0ee, Key_idiaeresis = 0x0ef, Key_eth = 0x0f0, Key_ntilde = 0x0f1, Key_ograve = 0x0f2, Key_oacute = 0x0f3, Key_ocircumflex = 0x0f4, Key_otilde = 0x0f5, Key_odiaeresis = 0x0f6, Key_division = 0x0f7, Key_oslash = 0x0f8, Key_ugrave = 0x0f9, Key_uacute = 0x0fa, Key_ucircumflex = 0x0fb, Key_udiaeresis = 0x0fc, Key_yacute = 0x0fd, Key_thorn = 0x0fe, Key_ydiaeresis = 0x0ff, Key_Back = 0x1061, Key_Forward = 0x1062, Key_Stop = 0x1063, Key_Refresh = 0x1064, Key_VolumeDown = 0x1070, Key_VolumeMute = 0x1071, Key_VolumeUp = 0x1072, Key_BassBoost = 0x1073, Key_BassUp = 0x1074, Key_BassDown = 0x1075, Key_TrebleUp = 0x1076, Key_TrebleDown = 0x1077, Key_MediaPlay = 0x1080, Key_MediaStop = 0x1081, Key_MediaPrev = 0x1082, Key_MediaNext = 0x1083, Key_MediaRecord = 0x1084, Key_HomePage = 0x1090, Key_Favorites = 0x1091, Key_Search = 0x1092, Key_Standby = 0x1093, Key_OpenUrl = 0x1094, Key_LaunchMail = 0x10a0, Key_LaunchMedia = 0x10a1, Key_Launch0 = 0x10a2, Key_Launch1 = 0x10a3, Key_Launch2 = 0x10a4, Key_Launch3 = 0x10a5, Key_Launch4 = 0x10a6, Key_Launch5 = 0x10a7, Key_Launch6 = 0x10a8, Key_Launch7 = 0x10a9, Key_Launch8 = 0x10aa, Key_Launch9 = 0x10ab, Key_LaunchA = 0x10ac, Key_LaunchB = 0x10ad, Key_LaunchC = 0x10ae, Key_LaunchD = 0x10af, Key_LaunchE = 0x10b0, Key_LaunchF = 0x10b1, Key_MediaLast = 0x1fff, Key_unknown = 0xffff }"
+.br
+.ti -1c
+.BI "enum \fBArrowType\fR { UpArrow, DownArrow, LeftArrow, RightArrow }"
+.br
+.ti -1c
+.BI "enum \fBRasterOp\fR { CopyROP, OrROP, XorROP, NotAndROP, EraseROP = NotAndROP, NotCopyROP, NotOrROP, NotXorROP, AndROP, NotEraseROP = AndROP, NotROP, ClearROP, SetROP, NopROP, AndNotROP, OrNotROP, NandROP, NorROP, LastROP = NorROP }"
+.br
+.ti -1c
+.BI "enum \fBPenStyle\fR { NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine, MPenStyle = 0x0f }"
+.br
+.ti -1c
+.BI "enum \fBPenCapStyle\fR { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }"
+.br
+.ti -1c
+.BI "enum \fBPenJoinStyle\fR { MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, MPenJoinStyle = 0xc0 }"
+.br
+.ti -1c
+.BI "enum \fBBrushStyle\fR { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, HorPattern, VerPattern, CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern, CustomPattern = 24 }"
+.br
+.ti -1c
+.BI "enum \fBMacintoshVersion\fR { MV_Unknown = 0x0000, MV_9 = 0x0001, MV_10_DOT_0 = 0x0002, MV_10_DOT_1 = 0x0003, MV_10_DOT_2 = 0x0004, MV_10_DOT_3 = 0x0005, MV_10_DOT_4 = 0x0006, MV_CHEETAH = MV_10_DOT_0, MV_PUMA = MV_10_DOT_1, MV_JAGUAR = MV_10_DOT_2, MV_PANTHER = MV_10_DOT_3, MV_TIGER = MV_10_DOT_4 }"
+.br
+.ti -1c
+.BI "enum \fBWindowsVersion\fR { WV_32s = 0x0001, WV_95 = 0x0002, WV_98 = 0x0003, WV_Me = 0x0004, WV_DOS_based = 0x000f, WV_NT = 0x0010, WV_2000 = 0x0020, WV_XP = 0x0030, WV_2003 = 0x0040, WV_VISTA = 0x0080, WV_NT_based = 0x00f0, WV_CE = 0x0100, WV_CENET = 0x0200, WV_CE_based = 0x0f00 }"
+.br
+.ti -1c
+.BI "enum \fBUIEffect\fR { UI_General, UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }"
+.br
+.ti -1c
+.BI "enum \fBCursorShape\fR { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, BusyCursor, LastCursor = BusyCursor, BitmapCursor = 24 }"
+.br
+.ti -1c
+.BI "enum \fBTextFormat\fR { PlainText, RichText, AutoText, LogText }"
+.br
+.ti -1c
+.BI "enum \fBAnchorAttribute\fR { AnchorName, AnchorHref }"
+.br
+.ti -1c
+.BI "enum \fBDock\fR { DockUnmanaged, DockTornOff, DockTop, DockBottom, DockRight, DockLeft, DockMinimized, Unmanaged = DockUnmanaged, TornOff = DockTornOff, Top = DockTop, Bottom = DockBottom, Right = DockRight, Left = DockLeft, Minimized = DockMinimized }"
+.br
+.ti -1c
+.BI "enum \fBDateFormat\fR { TextDate, ISODate, LocalDate }"
+.br
+.ti -1c
+.BI "enum \fBTimeSpec\fR { LocalTime, UTC }"
+.br
+.ti -1c
+.BI "enum \fBBackgroundMode\fR { FixedColor, FixedPixmap, NoBackground, PaletteForeground, PaletteButton, PaletteLight, PaletteMidlight, PaletteDark, PaletteMid, PaletteText, PaletteBrightText, PaletteBase, PaletteBackground, PaletteShadow, PaletteHighlight, PaletteHighlightedText, PaletteButtonText, PaletteLink, PaletteLinkVisited, X11ParentRelative }"
+.br
+.ti -1c
+.BI "enum \fBStringComparisonMode\fR { CaseSensitive = 0x00001, BeginsWith = 0x00002, EndsWith = 0x00004, Contains = 0x00008, ExactMatch = 0x00010 }"
+.br
+.ti -1c
+.BI "enum \fBCorner\fR { TopLeft = 0x00000, TopRight = 0x00001, BottomLeft = 0x00002, BottomRight = 0x00003 }"
+.br
+.ti -1c
+.BI "typedef void * \fBHANDLE\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The Qt class is a namespace for miscellaneous identifiers that need to be global-like.
+.PP
+Normally, you can ignore this class. QObject and a few other classes inherit it, so all the identifiers in the Qt namespace are normally usable without qualification.
+.PP
+However, you may occasionally need to say \fCQt::black\fR instead of just \fCblack\fR, particularly in static utility functions (such as many class factories).
+.PP
+See also Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "Qt::AlignmentFlags"
+This enum type is used to describe alignment. It contains horizontal and vertical flags.
+.PP
+The horizontal flags are:
+.TP
+\fCQt::AlignAuto\fR - Aligns according to the language. Left for most, right for Arabic and Hebrew.
+.TP
+\fCQt::AlignLeft\fR - Aligns with the left edge.
+.TP
+\fCQt::AlignRight\fR - Aligns with the right edge.
+.TP
+\fCQt::AlignHCenter\fR - Centers horizontally in the available space.
+.TP
+\fCQt::AlignJustify\fR - Justifies the text in the available space. Does not work for everything and may be interpreted as AlignAuto in some cases.
+.PP
+The vertical flags are:
+.TP
+\fCQt::AlignTop\fR - Aligns with the top.
+.TP
+\fCQt::AlignBottom\fR - Aligns with the bottom.
+.TP
+\fCQt::AlignVCenter\fR - Centers vertically in the available space.
+.PP
+You can use only one of the horizontal flags at a time. There is one two-dimensional flag:
+.TP
+\fCQt::AlignCenter\fR - Centers in both dimensions.
+.PP
+You can use at most one horizontal and one vertical flag at a time. AlignCenter counts as both horizontal and vertical.
+.PP
+Masks:
+.TP
+\fCQt::AlignHorizontal_Mask\fR
+.TP
+\fCQt::AlignVertical_Mask\fR
+.PP
+Conflicting combinations of flags have undefined meanings.
+.SH "Qt::AnchorAttribute"
+An anchor has one or more of the following attributes:
+.TP
+\fCQt::AnchorName\fR - the name attribute of the anchor. This attribute is used when scrolling to an anchor in the document.
+.TP
+\fCQt::AnchorHref\fR - the href attribute of the anchor. This attribute is used when a link is clicked to determine what content to load.
+.SH "Qt::ArrowType"
+.TP
+\fCQt::UpArrow\fR
+.TP
+\fCQt::DownArrow\fR
+.TP
+\fCQt::LeftArrow\fR
+.TP
+\fCQt::RightArrow\fR
+.SH "Qt::BGMode"
+Background mode
+.TP
+\fCQt::TransparentMode\fR
+.TP
+\fCQt::OpaqueMode\fR
+.SH "Qt::BackgroundMode"
+This enum describes how the background of a widget changes, as the widget's palette changes.
+.PP
+The background is what the widget contains when paintEvent() is called. To minimize flicker, this should be the most common color or pixmap in the widget. For PaletteBackground, use colorGroup().brush( QColorGroup::Background ), and so on.
+.TP
+\fCQt::PaletteForeground\fR
+.TP
+\fCQt::PaletteBackground\fR
+.TP
+\fCQt::PaletteButton\fR
+.TP
+\fCQt::PaletteLight\fR
+.TP
+\fCQt::PaletteMidlight\fR
+.TP
+\fCQt::PaletteDark\fR
+.TP
+\fCQt::PaletteMid\fR
+.TP
+\fCQt::PaletteText\fR
+.TP
+\fCQt::PaletteBrightText\fR
+.TP
+\fCQt::PaletteButtonText\fR
+.TP
+\fCQt::PaletteBase\fR
+.TP
+\fCQt::PaletteShadow\fR
+.TP
+\fCQt::PaletteHighlight\fR
+.TP
+\fCQt::PaletteHighlightedText\fR
+.TP
+\fCQt::PaletteLink\fR
+.TP
+\fCQt::PaletteLinkVisited\fR
+.TP
+\fCQt::X11ParentRelative\fR - (internal use only)
+.PP
+The final three values have special meaning:
+.TP
+\fCQt::NoBackground\fR - the widget is not cleared before paintEvent(). If the widget's paint event always draws on all the pixels, using this mode can be both fast and flicker-free.
+.TP
+\fCQt::FixedColor\fR - the widget is cleared to a fixed color, normally different from all the ones in the palette(). Set using setPaletteBackgroundColor().
+.TP
+\fCQt::FixedPixmap\fR - the widget is cleared to a fixed pixmap, normally different from all the ones in the palette(). Set using setPaletteBackgroundPixmap().
+.PP
+Although FixedColor and FixedPixmap are sometimes just right, if you use them, make sure that you test your application when the desktop color scheme has been changed. (On X11, a quick way to test this is e.g. "./myapp -bg paleblue". On Windows, you must use the control panel.)
+.PP
+See also QWidget::backgroundMode, QWidget::backgroundMode, QWidget::setBackgroundPixmap(), and QWidget::paletteBackgroundColor.
+.SH "Qt::BrushStyle"
+.TP
+\fCQt::NoBrush\fR
+.TP
+\fCQt::SolidPattern\fR
+.TP
+\fCQt::Dense1Pattern\fR
+.TP
+\fCQt::Dense2Pattern\fR
+.TP
+\fCQt::Dense3Pattern\fR
+.TP
+\fCQt::Dense4Pattern\fR
+.TP
+\fCQt::Dense5Pattern\fR
+.TP
+\fCQt::Dense6Pattern\fR
+.TP
+\fCQt::Dense7Pattern\fR
+.TP
+\fCQt::HorPattern\fR
+.TP
+\fCQt::VerPattern\fR
+.TP
+\fCQt::CrossPattern\fR
+.TP
+\fCQt::BDiagPattern\fR
+.TP
+\fCQt::FDiagPattern\fR
+.TP
+\fCQt::DiagCrossPattern\fR
+.TP
+\fCQt::CustomPattern\fR
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Qt::ButtonState"
+This enum type describes the state of the mouse and the modifier buttons.
+.TP
+\fCQt::NoButton\fR - used when the button state does not refer to any button (see QMouseEvent::button()).
+.TP
+\fCQt::LeftButton\fR - set if the left button is pressed, or if this event refers to the left button. (The left button may be the right button on left-handed mice.)
+.TP
+\fCQt::RightButton\fR - the right button.
+.TP
+\fCQt::MidButton\fR - the middle button.
+.TP
+\fCQt::ShiftButton\fR - a Shift key on the keyboard is also pressed.
+.TP
+\fCQt::ControlButton\fR - a Ctrl key on the keyboard is also pressed.
+.TP
+\fCQt::AltButton\fR - an Alt key on the keyboard is also pressed.
+.TP
+\fCQt::MetaButton\fR - a Meta key on the keyboard is also pressed.
+.TP
+\fCQt::Keypad\fR - a keypad button is pressed.
+.TP
+\fCQt::KeyButtonMask\fR - a mask for ShiftButton, ControlButton, AltButton and MetaButton.
+.TP
+\fCQt::MouseButtonMask\fR - a mask for LeftButton, RightButton and MidButton.
+.SH "Qt::Corner"
+This enum type specifies a corner in a rectangle:
+.TP
+\fCQt::TopLeft\fR - top left corner
+.TP
+\fCQt::TopRight\fR - top right corner
+.TP
+\fCQt::BottomLeft\fR - bottom left corner
+.TP
+\fCQt::BottomRight\fR - bottom right corner
+.SH "Qt::CursorShape"
+This enum type defines the various cursors that can be used.
+.TP
+\fCQt::ArrowCursor\fR - standard arrow cursor
+.TP
+\fCQt::UpArrowCursor\fR - upwards arrow
+.TP
+\fCQt::CrossCursor\fR - crosshair
+.TP
+\fCQt::WaitCursor\fR - hourglass/watch
+.TP
+\fCQt::BusyCursor\fR - standard arrow with hourglass/watch
+.TP
+\fCQt::IbeamCursor\fR - ibeam/text entry
+.TP
+\fCQt::SizeVerCursor\fR - vertical resize
+.TP
+\fCQt::SizeHorCursor\fR - horizontal resize
+.TP
+\fCQt::SizeFDiagCursor\fR - diagonal resize (&#92;)
+.TP
+\fCQt::SizeBDiagCursor\fR - diagonal resize (/)
+.TP
+\fCQt::SizeAllCursor\fR - all directions resize
+.TP
+\fCQt::BlankCursor\fR - blank/invisible cursor
+.TP
+\fCQt::SplitVCursor\fR - vertical splitting
+.TP
+\fCQt::SplitHCursor\fR - horizontal splitting
+.TP
+\fCQt::PointingHandCursor\fR - a pointing hand
+.TP
+\fCQt::ForbiddenCursor\fR - a slashed circle
+.TP
+\fCQt::WhatsThisCursor\fR - an arrow with a question mark
+.TP
+\fCQt::BitmapCursor\fR
+.PP
+ArrowCursor is the default for widgets in a normal state.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Qt::DateFormat"
+.TP
+\fCQt::TextDate\fR - (default) Qt format
+.TP
+\fCQt::ISODate\fR - ISO 8601 extended format (YYYY-MM-DD, or with time, YYYY-MM-DDTHH:MM:SS)
+.TP
+\fCQt::LocalDate\fR - locale dependent format
+.SH "Qt::Dock"
+Each dock window can be in one of the following positions:
+.TP
+\fCQt::DockTop\fR - above the central widget, below the menu bar.
+.TP
+\fCQt::DockBottom\fR - below the central widget, above the status bar.
+.TP
+\fCQt::DockLeft\fR - to the left of the central widget.
+.TP
+\fCQt::DockRight\fR - to the right of the central widget.
+.TP
+\fCQt::DockMinimized\fR - the dock window is not shown (this is effectively a 'hidden' dock area); the handles of all minimized dock windows are drawn in one row below the menu bar.
+.TP
+\fCQt::DockTornOff\fR - the dock window floats as its own top level window which always stays on top of the main window.
+.TP
+\fCQt::DockUnmanaged\fR - not managed by a QMainWindow.
+.SH "Qt::GUIStyle"
+\fBThis type is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.TP
+\fCQt::WindowsStyle\fR
+.TP
+\fCQt::MotifStyle\fR
+.TP
+\fCQt::MacStyle\fR
+.TP
+\fCQt::Win3Style\fR
+.TP
+\fCQt::PMStyle\fR
+.SH "Qt::ImageConversionFlags"
+The conversion flag is a bitwise-OR of the following values. The options marked "(default)" are set if no other values from the list are included (since the defaults are zero):
+.PP
+Color/Mono preference (ignored for QBitmap)
+.TP
+\fCQt::AutoColor\fR - (default) - If the image has depth 1 and contains only black and white pixels, the pixmap becomes monochrome.
+.TP
+\fCQt::ColorOnly\fR - The pixmap is dithered/converted to the native display depth.
+.TP
+\fCQt::MonoOnly\fR - The pixmap becomes monochrome. If necessary, it is dithered using the chosen dithering algorithm.
+.PP
+Dithering mode preference for RGB channels
+.TP
+\fCQt::DiffuseDither\fR - (default) - A high-quality dither.
+.TP
+\fCQt::OrderedDither\fR - A faster, more ordered dither.
+.TP
+\fCQt::ThresholdDither\fR - No dithering; closest color is used.
+.PP
+Dithering mode preference for alpha channel
+.TP
+\fCQt::ThresholdAlphaDither\fR - (default) - No dithering.
+.TP
+\fCQt::OrderedAlphaDither\fR - A faster, more ordered dither.
+.TP
+\fCQt::DiffuseAlphaDither\fR - A high-quality dither.
+.TP
+\fCQt::NoAlpha\fR - Not supported.
+.PP
+Color matching versus dithering preference
+.TP
+\fCQt::PreferDither\fR - (default when converting to a pixmap) - Always dither 32-bit images when the image is converted to 8 bits.
+.TP
+\fCQt::AvoidDither\fR - (default when converting for the purpose of saving to file) - Dither 32-bit images only if the image has more than 256 colors and it is being converted to 8 bits.
+.TP
+\fCQt::AutoDither\fR - Not supported.
+.PP
+The following are not values that are used directly, but masks for the above classes:
+.TP
+\fCQt::ColorMode_Mask\fR - Mask for the color mode.
+.TP
+\fCQt::Dither_Mask\fR - Mask for the dithering mode for RGB channels.
+.TP
+\fCQt::AlphaDither_Mask\fR - Mask for the dithering mode for the alpha channel.
+.TP
+\fCQt::DitherMode_Mask\fR - Mask for the mode that determines the preference of color matching versus dithering.
+.PP
+Using 0 as the conversion flag sets all the default options.
+.SH "Qt::Key"
+The key names used by Qt.
+.TP
+\fCQt::Key_Escape\fR
+.TP
+\fCQt::Key_Tab\fR
+.TP
+\fCQt::Key_Backtab\fR
+.TP
+\fCQt::Key_Backspace\fR
+.TP
+\fCQt::Key_Return\fR
+.TP
+\fCQt::Key_Enter\fR
+.TP
+\fCQt::Key_Insert\fR
+.TP
+\fCQt::Key_Delete\fR
+.TP
+\fCQt::Key_Pause\fR
+.TP
+\fCQt::Key_Print\fR
+.TP
+\fCQt::Key_SysReq\fR
+.TP
+\fCQt::Key_Home\fR
+.TP
+\fCQt::Key_End\fR
+.TP
+\fCQt::Key_Left\fR
+.TP
+\fCQt::Key_Up\fR
+.TP
+\fCQt::Key_Right\fR
+.TP
+\fCQt::Key_Down\fR
+.TP
+\fCQt::Key_Prior\fR
+.TP
+\fCQt::Key_Next\fR
+.TP
+\fCQt::Key_Shift\fR
+.TP
+\fCQt::Key_Control\fR
+.TP
+\fCQt::Key_Meta\fR
+.TP
+\fCQt::Key_Alt\fR
+.TP
+\fCQt::Key_CapsLock\fR
+.TP
+\fCQt::Key_NumLock\fR
+.TP
+\fCQt::Key_ScrollLock\fR
+.TP
+\fCQt::Key_Clear\fR
+.TP
+\fCQt::Key_F1\fR
+.TP
+\fCQt::Key_F2\fR
+.TP
+\fCQt::Key_F3\fR
+.TP
+\fCQt::Key_F4\fR
+.TP
+\fCQt::Key_F5\fR
+.TP
+\fCQt::Key_F6\fR
+.TP
+\fCQt::Key_F7\fR
+.TP
+\fCQt::Key_F8\fR
+.TP
+\fCQt::Key_F9\fR
+.TP
+\fCQt::Key_F10\fR
+.TP
+\fCQt::Key_F11\fR
+.TP
+\fCQt::Key_F12\fR
+.TP
+\fCQt::Key_F13\fR
+.TP
+\fCQt::Key_F14\fR
+.TP
+\fCQt::Key_F15\fR
+.TP
+\fCQt::Key_F16\fR
+.TP
+\fCQt::Key_F17\fR
+.TP
+\fCQt::Key_F18\fR
+.TP
+\fCQt::Key_F19\fR
+.TP
+\fCQt::Key_F20\fR
+.TP
+\fCQt::Key_F21\fR
+.TP
+\fCQt::Key_F22\fR
+.TP
+\fCQt::Key_F23\fR
+.TP
+\fCQt::Key_F24\fR
+.TP
+\fCQt::Key_F25\fR
+.TP
+\fCQt::Key_F26\fR
+.TP
+\fCQt::Key_F27\fR
+.TP
+\fCQt::Key_F28\fR
+.TP
+\fCQt::Key_F29\fR
+.TP
+\fCQt::Key_F30\fR
+.TP
+\fCQt::Key_F31\fR
+.TP
+\fCQt::Key_F32\fR
+.TP
+\fCQt::Key_F33\fR
+.TP
+\fCQt::Key_F34\fR
+.TP
+\fCQt::Key_F35\fR
+.TP
+\fCQt::Key_Super_L\fR
+.TP
+\fCQt::Key_Super_R\fR
+.TP
+\fCQt::Key_Menu\fR
+.TP
+\fCQt::Key_Hyper_L\fR
+.TP
+\fCQt::Key_Hyper_R\fR
+.TP
+\fCQt::Key_Help\fR
+.TP
+\fCQt::Key_Space\fR
+.TP
+\fCQt::Key_Any\fR
+.TP
+\fCQt::Key_Exclam\fR
+.TP
+\fCQt::Key_QuoteDbl\fR
+.TP
+\fCQt::Key_NumberSign\fR
+.TP
+\fCQt::Key_Dollar\fR
+.TP
+\fCQt::Key_Percent\fR
+.TP
+\fCQt::Key_Ampersand\fR
+.TP
+\fCQt::Key_Apostrophe\fR
+.TP
+\fCQt::Key_ParenLeft\fR
+.TP
+\fCQt::Key_ParenRight\fR
+.TP
+\fCQt::Key_Asterisk\fR
+.TP
+\fCQt::Key_Plus\fR
+.TP
+\fCQt::Key_Comma\fR
+.TP
+\fCQt::Key_Minus\fR
+.TP
+\fCQt::Key_Period\fR
+.TP
+\fCQt::Key_Slash\fR
+.TP
+\fCQt::Key_0\fR
+.TP
+\fCQt::Key_1\fR
+.TP
+\fCQt::Key_2\fR
+.TP
+\fCQt::Key_3\fR
+.TP
+\fCQt::Key_4\fR
+.TP
+\fCQt::Key_5\fR
+.TP
+\fCQt::Key_6\fR
+.TP
+\fCQt::Key_7\fR
+.TP
+\fCQt::Key_8\fR
+.TP
+\fCQt::Key_9\fR
+.TP
+\fCQt::Key_Colon\fR
+.TP
+\fCQt::Key_Semicolon\fR
+.TP
+\fCQt::Key_Less\fR
+.TP
+\fCQt::Key_Equal\fR
+.TP
+\fCQt::Key_Greater\fR
+.TP
+\fCQt::Key_Question\fR
+.TP
+\fCQt::Key_At\fR
+.TP
+\fCQt::Key_A\fR
+.TP
+\fCQt::Key_B\fR
+.TP
+\fCQt::Key_C\fR
+.TP
+\fCQt::Key_D\fR
+.TP
+\fCQt::Key_E\fR
+.TP
+\fCQt::Key_F\fR
+.TP
+\fCQt::Key_G\fR
+.TP
+\fCQt::Key_H\fR
+.TP
+\fCQt::Key_I\fR
+.TP
+\fCQt::Key_J\fR
+.TP
+\fCQt::Key_K\fR
+.TP
+\fCQt::Key_L\fR
+.TP
+\fCQt::Key_M\fR
+.TP
+\fCQt::Key_N\fR
+.TP
+\fCQt::Key_O\fR
+.TP
+\fCQt::Key_P\fR
+.TP
+\fCQt::Key_Q\fR
+.TP
+\fCQt::Key_R\fR
+.TP
+\fCQt::Key_S\fR
+.TP
+\fCQt::Key_T\fR
+.TP
+\fCQt::Key_U\fR
+.TP
+\fCQt::Key_V\fR
+.TP
+\fCQt::Key_W\fR
+.TP
+\fCQt::Key_X\fR
+.TP
+\fCQt::Key_Y\fR
+.TP
+\fCQt::Key_Z\fR
+.TP
+\fCQt::Key_BracketLeft\fR
+.TP
+\fCQt::Key_Backslash\fR
+.TP
+\fCQt::Key_BracketRight\fR
+.TP
+\fCQt::Key_AsciiCircum\fR
+.TP
+\fCQt::Key_Underscore\fR
+.TP
+\fCQt::Key_QuoteLeft\fR
+.TP
+\fCQt::Key_BraceLeft\fR
+.TP
+\fCQt::Key_Bar\fR
+.TP
+\fCQt::Key_BraceRight\fR
+.TP
+\fCQt::Key_AsciiTilde\fR
+.TP
+\fCQt::Key_nobreakspace\fR
+.TP
+\fCQt::Key_exclamdown\fR
+.TP
+\fCQt::Key_cent\fR
+.TP
+\fCQt::Key_sterling\fR
+.TP
+\fCQt::Key_currency\fR
+.TP
+\fCQt::Key_yen\fR
+.TP
+\fCQt::Key_brokenbar\fR
+.TP
+\fCQt::Key_section\fR
+.TP
+\fCQt::Key_diaeresis\fR
+.TP
+\fCQt::Key_copyright\fR
+.TP
+\fCQt::Key_ordfeminine\fR
+.TP
+\fCQt::Key_guillemotleft\fR
+.TP
+\fCQt::Key_notsign\fR
+.TP
+\fCQt::Key_hyphen\fR
+.TP
+\fCQt::Key_registered\fR
+.TP
+\fCQt::Key_macron\fR
+.TP
+\fCQt::Key_degree\fR
+.TP
+\fCQt::Key_plusminus\fR
+.TP
+\fCQt::Key_twosuperior\fR
+.TP
+\fCQt::Key_threesuperior\fR
+.TP
+\fCQt::Key_acute\fR
+.TP
+\fCQt::Key_mu\fR
+.TP
+\fCQt::Key_paragraph\fR
+.TP
+\fCQt::Key_periodcentered\fR
+.TP
+\fCQt::Key_cedilla\fR
+.TP
+\fCQt::Key_onesuperior\fR
+.TP
+\fCQt::Key_masculine\fR
+.TP
+\fCQt::Key_guillemotright\fR
+.TP
+\fCQt::Key_onequarter\fR
+.TP
+\fCQt::Key_onehalf\fR
+.TP
+\fCQt::Key_threequarters\fR
+.TP
+\fCQt::Key_questiondown\fR
+.TP
+\fCQt::Key_Agrave\fR
+.TP
+\fCQt::Key_Aacute\fR
+.TP
+\fCQt::Key_Acircumflex\fR
+.TP
+\fCQt::Key_Atilde\fR
+.TP
+\fCQt::Key_Adiaeresis\fR
+.TP
+\fCQt::Key_Aring\fR
+.TP
+\fCQt::Key_AE\fR
+.TP
+\fCQt::Key_Ccedilla\fR
+.TP
+\fCQt::Key_Egrave\fR
+.TP
+\fCQt::Key_Eacute\fR
+.TP
+\fCQt::Key_Ecircumflex\fR
+.TP
+\fCQt::Key_Ediaeresis\fR
+.TP
+\fCQt::Key_Igrave\fR
+.TP
+\fCQt::Key_Iacute\fR
+.TP
+\fCQt::Key_Icircumflex\fR
+.TP
+\fCQt::Key_Idiaeresis\fR
+.TP
+\fCQt::Key_ETH\fR
+.TP
+\fCQt::Key_Ntilde\fR
+.TP
+\fCQt::Key_Ograve\fR
+.TP
+\fCQt::Key_Oacute\fR
+.TP
+\fCQt::Key_Ocircumflex\fR
+.TP
+\fCQt::Key_Otilde\fR
+.TP
+\fCQt::Key_Odiaeresis\fR
+.TP
+\fCQt::Key_multiply\fR
+.TP
+\fCQt::Key_Ooblique\fR
+.TP
+\fCQt::Key_Ugrave\fR
+.TP
+\fCQt::Key_Uacute\fR
+.TP
+\fCQt::Key_Ucircumflex\fR
+.TP
+\fCQt::Key_Udiaeresis\fR
+.TP
+\fCQt::Key_Yacute\fR
+.TP
+\fCQt::Key_THORN\fR
+.TP
+\fCQt::Key_ssharp\fR
+.TP
+\fCQt::Key_agrave\fR
+.TP
+\fCQt::Key_aacute\fR
+.TP
+\fCQt::Key_acircumflex\fR
+.TP
+\fCQt::Key_atilde\fR
+.TP
+\fCQt::Key_adiaeresis\fR
+.TP
+\fCQt::Key_aring\fR
+.TP
+\fCQt::Key_ae\fR
+.TP
+\fCQt::Key_ccedilla\fR
+.TP
+\fCQt::Key_egrave\fR
+.TP
+\fCQt::Key_eacute\fR
+.TP
+\fCQt::Key_ecircumflex\fR
+.TP
+\fCQt::Key_ediaeresis\fR
+.TP
+\fCQt::Key_igrave\fR
+.TP
+\fCQt::Key_iacute\fR
+.TP
+\fCQt::Key_icircumflex\fR
+.TP
+\fCQt::Key_idiaeresis\fR
+.TP
+\fCQt::Key_eth\fR
+.TP
+\fCQt::Key_ntilde\fR
+.TP
+\fCQt::Key_ograve\fR
+.TP
+\fCQt::Key_oacute\fR
+.TP
+\fCQt::Key_ocircumflex\fR
+.TP
+\fCQt::Key_otilde\fR
+.TP
+\fCQt::Key_odiaeresis\fR
+.TP
+\fCQt::Key_division\fR
+.TP
+\fCQt::Key_oslash\fR
+.TP
+\fCQt::Key_ugrave\fR
+.TP
+\fCQt::Key_uacute\fR
+.TP
+\fCQt::Key_ucircumflex\fR
+.TP
+\fCQt::Key_udiaeresis\fR
+.TP
+\fCQt::Key_yacute\fR
+.TP
+\fCQt::Key_thorn\fR
+.TP
+\fCQt::Key_ydiaeresis\fR
+.PP
+Multimedia keys
+.TP
+\fCQt::Key_Back\fR
+.TP
+\fCQt::Key_Forward\fR
+.TP
+\fCQt::Key_Stop\fR
+.TP
+\fCQt::Key_Refresh\fR
+.TP
+\fCQt::Key_VolumeDown\fR
+.TP
+\fCQt::Key_VolumeMute\fR
+.TP
+\fCQt::Key_VolumeUp\fR
+.TP
+\fCQt::Key_BassBoost\fR
+.TP
+\fCQt::Key_BassUp\fR
+.TP
+\fCQt::Key_BassDown\fR
+.TP
+\fCQt::Key_TrebleUp\fR
+.TP
+\fCQt::Key_TrebleDown\fR
+.TP
+\fCQt::Key_MediaPlay\fR
+.TP
+\fCQt::Key_MediaStop\fR
+.TP
+\fCQt::Key_MediaPrev\fR
+.TP
+\fCQt::Key_MediaNext\fR
+.TP
+\fCQt::Key_MediaRecord\fR
+.TP
+\fCQt::Key_HomePage\fR
+.TP
+\fCQt::Key_Favorites\fR
+.TP
+\fCQt::Key_Search\fR
+.TP
+\fCQt::Key_Standby\fR
+.TP
+\fCQt::Key_OpenUrl\fR
+.TP
+\fCQt::Key_LaunchMail\fR
+.TP
+\fCQt::Key_LaunchMedia\fR
+.TP
+\fCQt::Key_Launch0\fR
+.TP
+\fCQt::Key_Launch1\fR
+.TP
+\fCQt::Key_Launch2\fR
+.TP
+\fCQt::Key_Launch3\fR
+.TP
+\fCQt::Key_Launch4\fR
+.TP
+\fCQt::Key_Launch5\fR
+.TP
+\fCQt::Key_Launch6\fR
+.TP
+\fCQt::Key_Launch7\fR
+.TP
+\fCQt::Key_Launch8\fR
+.TP
+\fCQt::Key_Launch9\fR
+.TP
+\fCQt::Key_LaunchA\fR
+.TP
+\fCQt::Key_LaunchB\fR
+.TP
+\fCQt::Key_LaunchC\fR
+.TP
+\fCQt::Key_LaunchD\fR
+.TP
+\fCQt::Key_LaunchE\fR
+.TP
+\fCQt::Key_LaunchF\fR
+.TP
+\fCQt::Key_MediaLast\fR
+.TP
+\fCQt::Key_unknown\fR
+.TP
+\fCQt::Key_Direction_L\fR - internal use only
+.TP
+\fCQt::Key_Direction_R\fR - internal use only
+.SH "Qt::MacintoshVersion"
+.TP
+\fCQt::MV_Unknown\fR - Version cannot be detected
+.TP
+\fCQt::MV_9\fR - Mac OS 9
+.TP
+\fCQt::MV_10_DOT_3\fR - Mac OS X 10.3
+.TP
+\fCQt::MV_10_DOT_2\fR - Mac OS X 10.2
+.TP
+\fCQt::MV_10_DOT_1\fR - Mac OS X 10.1
+.TP
+\fCQt::MV_10_DOT_0\fR - Mac OS X 10.0
+.TP
+\fCQt::MV_10_DOT_4\fR - Mac OS X 10.4
+.TP
+\fCQt::MV_CHEETAH\fR - 10.0 Codename
+.TP
+\fCQt::MV_PUMA\fR - 10.1 Codename
+.TP
+\fCQt::MV_JAGUAR\fR - 10.2 Codename
+.TP
+\fCQt::MV_PANTHER\fR - 10.3 Codename
+.TP
+\fCQt::MV_TIGER\fR - 10.4 Codename
+.SH "Qt::Modifier"
+This enum type describes the keyboard modifier keys supported by Qt.
+.TP
+\fCQt::SHIFT\fR - the Shift keys provided on all standard keyboards.
+.TP
+\fCQt::META\fR - the Meta keys.
+.TP
+\fCQt::CTRL\fR - the Ctrl keys.
+.TP
+\fCQt::ALT\fR - the normal Alt keys, but not e.g. AltGr.
+.TP
+\fCQt::MODIFIER_MASK\fR - is a mask of Shift, Ctrl, Alt and Meta.
+.TP
+\fCQt::UNICODE_ACCEL\fR - the accelerator is specified as a Unicode code point, not as a Qt Key.
+.SH "Qt::Orientation"
+This type is used to signify an object's orientation.
+.TP
+\fCQt::Horizontal\fR
+.TP
+\fCQt::Vertical\fR
+.PP
+Orientation is used with QScrollBar for example.
+.SH "Qt::PaintUnit"
+.TP
+\fCQt::PixelUnit\fR
+.TP
+\fCQt::LoMetricUnit\fR - \fIobsolete\fR
+.TP
+\fCQt::HiMetricUnit\fR - \fIobsolete\fR
+.TP
+\fCQt::LoEnglishUnit\fR - \fIobsolete\fR
+.TP
+\fCQt::HiEnglishUnit\fR - \fIobsolete\fR
+.TP
+\fCQt::TwipsUnit\fR - \fIobsolete\fR
+.SH "Qt::PenCapStyle"
+This enum type defines the pen cap styles supported by Qt, i.e. the line end caps that can be drawn using QPainter.
+.TP
+\fCQt::FlatCap\fR - a square line end that does not cover the end point of the line.
+.TP
+\fCQt::SquareCap\fR - a square line end that covers the end point and extends beyond it with half the line width.
+.TP
+\fCQt::RoundCap\fR - a rounded line end.
+.TP
+\fCQt::MPenCapStyle\fR - mask of the pen cap styles.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Qt::PenJoinStyle"
+This enum type defines the pen join styles supported by Qt, i.e. which joins between two connected lines can be drawn using QPainter.
+.TP
+\fCQt::MiterJoin\fR - The outer edges of the lines are extended to meet at an angle, and this area is filled.
+.TP
+\fCQt::BevelJoin\fR - The triangular notch between the two lines is filled.
+.TP
+\fCQt::RoundJoin\fR - A circular arc between the two lines is filled.
+.TP
+\fCQt::MPenJoinStyle\fR - mask of the pen join styles.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Qt::PenStyle"
+This enum type defines the pen styles that can be drawn using QPainter. The styles are
+.TP
+\fCQt::NoPen\fR - no line at all. For example, QPainter::drawRect() fills but does not draw any boundary line.
+.TP
+\fCQt::SolidLine\fR - a simple line.
+.TP
+\fCQt::DashLine\fR - dashes separated by a few pixels.
+.TP
+\fCQt::DotLine\fR - dots separated by a few pixels.
+.TP
+\fCQt::DashDotLine\fR - alternate dots and dashes.
+.TP
+\fCQt::DashDotDotLine\fR - one dash, two dots, one dash, two dots.
+.TP
+\fCQt::MPenStyle\fR - mask of the pen styles.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Qt::RasterOp"
+This enum type is used to describe the way things are written to the paint device. Each bit of the \fIsrc\fR (what you write) interacts with the corresponding bit of the \fIdst\fR pixel.
+.TP
+\fCQt::CopyROP\fR - dst = src
+.TP
+\fCQt::OrROP\fR - dst = src OR dst
+.TP
+\fCQt::XorROP\fR - dst = src XOR dst
+.TP
+\fCQt::NotAndROP\fR - dst = (NOT src) AND dst
+.TP
+\fCQt::EraseROP\fR - an alias for NotAndROP
+.TP
+\fCQt::NotCopyROP\fR - dst = NOT src
+.TP
+\fCQt::NotOrROP\fR - dst = (NOT src) OR dst
+.TP
+\fCQt::NotXorROP\fR - dst = (NOT src) XOR dst
+.TP
+\fCQt::AndROP\fR - dst = src AND dst
+.TP
+\fCQt::NotEraseROP\fR - an alias for AndROP
+.TP
+\fCQt::NotROP\fR - dst = NOT dst
+.TP
+\fCQt::ClearROP\fR - dst = 0
+.TP
+\fCQt::SetROP\fR - dst = 1
+.TP
+\fCQt::NopROP\fR - dst = dst
+.TP
+\fCQt::AndNotROP\fR - dst = src AND (NOT dst)
+.TP
+\fCQt::OrNotROP\fR - dst = src OR (NOT dst)
+.TP
+\fCQt::NandROP\fR - dst = NOT (src AND dst)
+.TP
+\fCQt::NorROP\fR - dst = NOT (src OR dst)
+.PP
+By far the most useful ones are CopyROP and XorROP.
+.PP
+On Qt/Embedded, only CopyROP, XorROP, and NotROP are supported.
+.SH "Qt::SequenceMatch"
+.TP
+\fCQt::NoMatch\fR - Sequences have nothing in common
+.TP
+\fCQt::PartialMatch\fR - Sequences match partially, but are not complete
+.TP
+\fCQt::Identical\fR - Sequences do not differ
+.SH "Qt::SortOrder"
+This enum describes how the items in a widget are sorted.
+.TP
+\fCQt::Ascending\fR - The items are sorted ascending e.g. starts with 'AAA' ends with 'ZZZ' in Latin-1 locales
+.TP
+\fCQt::Descending\fR - The items are sorted descending e.g. starts with 'ZZZ' ends with 'AAA' in Latin-1 locales
+.SH "Qt::StringComparisonMode"
+This enum type is used to set the string comparison mode when searching for an item. It is used by QListBox, QListView and QIconView, for example. We'll refer to the string being searched as the 'target' string.
+.TP
+\fCQt::CaseSensitive\fR - The strings must match case sensitively.
+.TP
+\fCQt::ExactMatch\fR - The target and search strings must match exactly.
+.TP
+\fCQt::BeginsWith\fR - The target string begins with the search string.
+.TP
+\fCQt::EndsWith\fR - The target string ends with the search string.
+.TP
+\fCQt::Contains\fR - The target string contains the search string.
+.PP
+If you OR these flags together (excluding CaseSensitive), the search criteria be applied in the following order: ExactMatch, BeginsWith, EndsWith, Contains.
+.PP
+Matching is case-insensitive unless CaseSensitive is set. CaseSensitive can be OR-ed with any combination of the other flags.
+.SH "Qt::TextFlags"
+This enum type is used to define some modifier flags. Some of these flags only make sense in the context of printing:
+.TP
+\fCQt::SingleLine\fR - Treats all whitespace as spaces and prints just one line.
+.TP
+\fCQt::DontClip\fR - If it's impossible to stay within the given bounds, it prints outside.
+.TP
+\fCQt::ExpandTabs\fR - Makes the U+0009 (ASCII tab) character move to the next tab stop.
+.TP
+\fCQt::ShowPrefix\fR - Displays the string "&P" as <u>P</u> (see QButton for an example). For an ampersand, use "&&".
+.TP
+\fCQt::WordBreak\fR - Breaks lines at appropriate points, e.g. at word boundaries.
+.TP
+\fCQt::BreakAnywhere\fR - Breaks lines anywhere, even within words.
+.TP
+\fCQt::NoAccel\fR - Same as ShowPrefix but doesn't draw the underlines.
+.PP
+You can use as many modifier flags as you want, except that SingleLine and WordBreak cannot be combined.
+.PP
+Flags that are inappropriate for a given use (e.g. ShowPrefix to QGridLayout::addWidget()) are generally ignored.
+.SH "Qt::TextFormat"
+This enum is used in widgets that can display both plain text and rich text, e.g. QLabel. It is used for deciding whether a text string should be interpreted as one or the other. This is normally done by passing one of the enum values to a setTextFormat() function.
+.TP
+\fCQt::PlainText\fR - The text string is interpreted as a plain text string.
+.TP
+\fCQt::RichText\fR - The text string is interpreted as a rich text string using the current QStyleSheet::defaultSheet().
+.TP
+\fCQt::AutoText\fR - The text string is interpreted as for RichText if QStyleSheet::mightBeRichText() returns TRUE, otherwise as PlainText.
+.TP
+\fCQt::LogText\fR - A special, limited text format which is only used by QTextEdit in an optimized mode.
+.SH "Qt::TimeSpec"
+.TP
+\fCQt::LocalTime\fR - Locale dependent time (Timezones and Daylight Savings Time)
+.TP
+\fCQt::UTC\fR - Coordinated Universal Time, replaces Greenwich Time
+.SH "Qt::UIEffect"
+.TP
+\fCQt::UI_General\fR
+.TP
+\fCQt::UI_AnimateMenu\fR
+.TP
+\fCQt::UI_FadeMenu\fR
+.TP
+\fCQt::UI_AnimateCombo\fR
+.TP
+\fCQt::UI_AnimateTooltip\fR
+.TP
+\fCQt::UI_FadeTooltip\fR
+.TP
+\fCQt::UI_AnimateToolBox\fR - Reserved
+.SH "Qt::WidgetFlags"
+
+.PP
+This enum type is used to specify various window-system properties for the widget. They are fairly unusual but necessary in a few cases. Some of these flags depend on whether the underlying window manager supports them. (See the toplevel example for an explanation and example of their use.)
+.PP
+The main types are
+.TP
+\fCQt::WType_TopLevel\fR - indicates that this widget is a top-level widget, usually with a window-system frame and so on.
+.TP
+\fCQt::WType_Dialog\fR - indicates that this widget is a top-level window that should be decorated as a dialog (i.e. typically no maximize or minimize buttons in the title bar). If you want to use it as a modal dialog it should be launched from another window, or have a parent and this flag should be combined with WShowModal. If you make it modal, the dialog will prevent other top-level windows in the application from getting any input. WType_Dialog implies WType_TopLevel. We refer to a top-level window that has a parent as a \fIsecondary\fR window. (See also WGroupLeader.)
+.TP
+\fCQt::WType_Popup\fR - indicates that this widget is a popup top-level window, i.e. that it is modal, but has a window system frame appropriate for popup menus. WType_Popup implies WType_TopLevel.
+.TP
+\fCQt::WType_Desktop\fR - indicates that this widget is the desktop. See also WPaintDesktop below. WType_Desktop implies WType_TopLevel.
+.PP
+There are also a number of flags which you can use to customize the appearance of top-level windows. These have no effect on other windows:
+.TP
+\fCQt::WStyle_Customize\fR - indicates that the \fCWStyle_*\fR flags should be used to build the window instead of the default flags.
+.TP
+\fCQt::WStyle_NormalBorder\fR - gives the window a normal border. This cannot be combined with WStyle_DialogBorder or WStyle_NoBorder.
+.TP
+\fCQt::WStyle_DialogBorder\fR - gives the window a thin dialog border. This cannot be combined with WStyle_NormalBorder or WStyle_NoBorder.
+.TP
+\fCQt::WStyle_NoBorder\fR - produces a borderless window. Note that the user cannot move or resize a borderless window via the window system. This cannot be combined with WStyle_NormalBorder or WStyle_DialogBorder. On Windows, the flag works fine. On X11, the result of the flag is dependent on the window manager and its ability to understand MOTIF and/or NETWM hints: most existing modern window managers can handle this. With WX11BypassWM, you can bypass the window manager completely. This results in a borderless window that is not managed at all (i.e. no keyboard input unless you call setActiveWindow() manually).
+.TP
+\fCQt::WStyle_NoBorderEx\fR - this value is obsolete. It has the same effect as using WStyle_NoBorder.
+.TP
+\fCQt::WStyle_Title\fR - gives the window a title bar.
+.TP
+\fCQt::WStyle_SysMenu\fR - adds a window system menu.
+.TP
+\fCQt::WStyle_Minimize\fR - adds a minimize button. Note that on Windows this has to be combined with WStyle_SysMenu for it to work.
+.TP
+\fCQt::WStyle_Maximize\fR - adds a maximize button. Note that on Windows this has to be combined with WStyle_SysMenu for it to work.
+.TP
+\fCQt::WStyle_MinMax\fR - is equal to \fCWStyle_Minimize|WStyle_Maximize\fR. Note that on Windows this has to be combined with WStyle_SysMenu to work.
+.TP
+\fCQt::WStyle_ContextHelp\fR - adds a context help button to dialogs.
+.TP
+\fCQt::WStyle_Tool\fR - makes the window a tool window. A tool window is often a small window with a smaller than usual title bar and decoration, typically used for collections of tool buttons. It there is a parent, the tool window will always be kept on top of it. If there isn't a parent, you may consider passing WStyle_StaysOnTop as well. If the window system supports it, a tool window can be decorated with a somewhat lighter frame. It can also be combined with WStyle_NoBorder.
+.TP
+\fCQt::WStyle_StaysOnTop\fR - informs the window system that the window should stay on top of all other windows. Note that on some window managers on X11 you also have to pass WX11BypassWM for this flag to work correctly.
+.TP
+\fCQt::WStyle_Dialog\fR - indicates that the window is a logical subwindow of its parent (i.e. a dialog). The window will not get its own taskbar entry and will be kept on top of its parent by the window system. Usually it will also be minimized when the parent is minimized. If not customized, the window is decorated with a slightly simpler title bar. This is the flag QDialog uses.
+.TP
+\fCQt::WStyle_Splash\fR - indicates that the window is a splash screen. On X11, we try to follow NETWM standard for a splash screen window if the window manager supports is otherwise it is equivalent to WX11BypassWM. On other platforms, it is equivalent to WStyle_NoBorder \fC|\fR WMacNoSheet \fC|\fR WStyle_Tool \fC|\fR WWinOwnDC
+.PP
+Modifier flags:
+.TP
+\fCQt::WDestructiveClose\fR - makes Qt delete this widget when the widget has accepted closeEvent(), or when the widget tried to ignore closeEvent() but could not.
+.TP
+\fCQt::WPaintDesktop\fR - gives this widget paint events for the desktop.
+.TP
+\fCQt::WPaintUnclipped\fR - makes all painters operating on this widget unclipped. Children of this widget or other widgets in front of it do not clip the area the painter can paint on.
+.TP
+\fCQt::WPaintClever\fR - indicates that Qt should \fInot\fR try to optimize repainting for the widget, but instead pass on window system repaint events directly. (This tends to produce more events and smaller repaint regions.)
+.TP
+\fCQt::WMouseNoMask\fR - indicates that even if the widget has a mask, it wants mouse events for its entire rectangle.
+.TP
+\fCQt::WStaticContents\fR - indicates that the widget contents are north-west aligned and static. On resize, such a widget will receive paint events only for the newly visible part of itself.
+.TP
+\fCQt::WNoAutoErase\fR - indicates that the widget paints all its pixels. Updating, resizing, scrolling and focus changes should therefore not erase the widget. This allows smart-repainting to avoid flicker.
+.TP
+\fCQt::WResizeNoErase\fR - this value is obsolete; use WNoAutoErase instead.
+.TP
+\fCQt::WRepaintNoErase\fR - this value is obsolete; use WNoAutoErase instead.
+.TP
+\fCQt::WGroupLeader\fR - makes this window a group leader. A group leader should \fInot\fR have a parent (i.e. it should be a top-level window). Any decendant windows (direct or indirect) of a group leader are in its group; other windows are not. If you show a secondary window from the group (i.e. show a window whose top-most parent is a group leader), that window will be modal with respect to the other windows in the group, but modeless with respect to windows in other groups.
+.PP
+Miscellaneous flags
+.TP
+\fCQt::WShowModal\fR - see WType_Dialog
+.PP
+Internal flags.
+.TP
+\fCQt::WNoMousePropagation\fR
+.TP
+\fCQt::WStaticContents\fR
+.TP
+\fCQt::WStyle_Reserved\fR
+.TP
+\fCQt::WSubWindow\fR
+.TP
+\fCQt::WType_Modal\fR
+.TP
+\fCQt::WWinOwnDC\fR
+.TP
+\fCQt::WX11BypassWM\fR
+.TP
+\fCQt::WMacNoSheet\fR
+.TP
+\fCQt::WMacDrawer\fR
+.TP
+\fCQt::WStyle_Mask\fR
+.TP
+\fCQt::WType_Mask\fR
+.SH "Qt::WidgetState"
+Internal flags.
+.TP
+\fCQt::WState_Created\fR
+.TP
+\fCQt::WState_Disabled\fR
+.TP
+\fCQt::WState_Visible\fR
+.TP
+\fCQt::WState_ForceHide\fR
+.TP
+\fCQt::WState_OwnCursor\fR
+.TP
+\fCQt::WState_MouseTracking\fR
+.TP
+\fCQt::WState_CompressKeys\fR
+.TP
+\fCQt::WState_BlockUpdates\fR
+.TP
+\fCQt::WState_InPaintEvent\fR
+.TP
+\fCQt::WState_Reparented\fR
+.TP
+\fCQt::WState_ConfigPending\fR
+.TP
+\fCQt::WState_Resized\fR
+.TP
+\fCQt::WState_AutoMask\fR
+.TP
+\fCQt::WState_Polished\fR
+.TP
+\fCQt::WState_DND\fR
+.TP
+\fCQt::WState_Reserved0\fR - \fIinternal\fR
+.TP
+\fCQt::WState_CreatedHidden\fR
+.TP
+\fCQt::WState_Maximized\fR
+.TP
+\fCQt::WState_Minimized\fR
+.TP
+\fCQt::WState_ForceDisabled\fR
+.TP
+\fCQt::WState_Exposed\fR
+.TP
+\fCQt::WState_HasMouse\fR
+.TP
+\fCQt::WState_CreatedHidden\fR
+.TP
+\fCQt::WState_OwnSizePolicy\fR
+.TP
+\fCQt::WState_FullScreen\fR
+.SH "Qt::WindowState"
+
+.PP
+This enum type is used to specify the current state of a top-level window.
+.PP
+The states are
+.TP
+\fCQt::WindowNoState\fR - The window has no state set (in normal state).
+.TP
+\fCQt::WindowMinimized\fR - The window is minimized (i.e. iconified).
+.TP
+\fCQt::WindowMaximized\fR - The window is maximized with a frame around it.
+.TP
+\fCQt::WindowFullScreen\fR - The window fills the entire screen without any frame around it.
+.TP
+\fCQt::WindowActive\fR - The window is the active window, i.e. it has keyboard focus.
+.SH "Qt::WindowsVersion"
+.TP
+\fCQt::WV_32s\fR - Windows 3.1 with Win 32s
+.TP
+\fCQt::WV_95\fR - Windows 95
+.TP
+\fCQt::WV_98\fR - Windows 98
+.TP
+\fCQt::WV_Me\fR - Windows Me
+.TP
+\fCQt::WV_DOS_based\fR
+.TP
+\fCQt::WV_NT\fR - Windows NT
+.TP
+\fCQt::WV_2000\fR - Windows 2000
+.TP
+\fCQt::WV_XP\fR - Windows XP
+.TP
+\fCQt::WV_2003\fR - Windows Server 2003
+.TP
+\fCQt::WV_NT_based\fR
+.TP
+\fCQt::WV_VISTA\fR - Windows Vista
+.TP
+\fCQt::WV_CE\fR - Windows CE
+.TP
+\fCQt::WV_CENET\fR - Windows CE .NET
+.TP
+\fCQt::WV_CE_based\fR
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qt.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qt.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtab.3qt b/doc/man/man3/qtab.3qt
new file mode 100644
index 0000000..ca9eb9b
--- /dev/null
+++ b/doc/man/man3/qtab.3qt
@@ -0,0 +1,120 @@
+'\" t
+.TH QTab 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTab \- The structures in a QTabBar
+.SH SYNOPSIS
+\fC#include <qtabbar.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTab\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QTab\fR ()"
+.br
+.ti -1c
+.BI "\fBQTab\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "\fBQTab\fR ( const QIconSet & icon, const QString & text = QString::null )"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIconSet\fR ( const QIconSet & icon )"
+.br
+.ti -1c
+.BI "QIconSet * \fBiconSet\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetRect\fR ( const QRect & rect )"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetIdentifier\fR ( int i )"
+.br
+.ti -1c
+.BI "int \fBidentifier\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTab class provides the structures in a QTabBar.
+.PP
+This class is used for custom QTabBar tab headings.
+.PP
+See also QTabBar and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTab::QTab ()"
+Constructs an empty tab. All fields are set to empty.
+.SH "QTab::QTab ( const QString & text )"
+Constructs a tab with the text \fItext\fR.
+.SH "QTab::QTab ( const QIconSet & icon, const QString & text = QString::null )"
+Constructs a tab with an \fIicon\fR and the text, \fItext\fR.
+.SH "QTab::~QTab ()\fC [virtual]\fR"
+Destroys the tab and frees up all allocated resources.
+.SH "QIconSet * QTab::iconSet () const"
+Return the QIconSet of the QTab.
+.SH "int QTab::identifier () const"
+Return the QTab's identifier.
+.SH "bool QTab::isEnabled () const"
+Returns TRUE if the QTab is enabled; otherwise returns FALSE.
+.SH "QRect QTab::rect () const"
+Return the QRect for the QTab.
+.SH "void QTab::setEnabled ( bool enable )"
+If \fIenable\fR is TRUE enable the QTab, otherwise disable it.
+.SH "void QTab::setIconSet ( const QIconSet & icon )"
+Sets the tab's iconset to \fIicon\fR
+.SH "void QTab::setIdentifier ( int i )"
+Set the identifier for the QTab to \fIi\fR. Each QTab's identifier within a QTabBar must be unique.
+.SH "void QTab::setRect ( const QRect & rect )"
+Set the QTab QRect to \fIrect\fR.
+.SH "void QTab::setText ( const QString & text )"
+Sets the text of the tab to \fItext\fR.
+.SH "QString QTab::text () const"
+Returns the text of the QTab label.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtab.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtab.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtabbar.3qt b/doc/man/man3/qtabbar.3qt
new file mode 100644
index 0000000..62a9abf
--- /dev/null
+++ b/doc/man/man3/qtabbar.3qt
@@ -0,0 +1,332 @@
+'\" t
+.TH QTabBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTabBar \- Tab bar, e.g. for use in tabbed dialogs
+.SH SYNOPSIS
+\fC#include <qtabbar.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTabBar\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTabBar\fR ()"
+.br
+.ti -1c
+.BI "enum \fBShape\fR { RoundedAbove, RoundedBelow, TriangularAbove, TriangularBelow }"
+.br
+.ti -1c
+.BI "Shape \fBshape\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetShape\fR ( Shape )"
+.br
+.ti -1c
+.BI "virtual int \fBaddTab\fR ( QTab * newTab )"
+.br
+.ti -1c
+.BI "virtual int \fBinsertTab\fR ( QTab * newTab, int index = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveTab\fR ( QTab * t )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTabEnabled\fR ( int id, bool enabled )"
+.br
+.ti -1c
+.BI "bool \fBisTabEnabled\fR ( int id ) const"
+.br
+.ti -1c
+.BI "int \fBcurrentTab\fR () const"
+.br
+.ti -1c
+.BI "int \fBkeyboardFocusTab\fR () const"
+.br
+.ti -1c
+.BI "QTab * \fBtab\fR ( int id ) const"
+.br
+.ti -1c
+.BI "QTab * \fBtabAt\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( int id ) const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBlayoutTabs\fR ()"
+.br
+.ti -1c
+.BI "virtual QTab * \fBselectTab\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "void \fBremoveToolTip\fR ( int index )"
+.br
+.ti -1c
+.BI "void \fBsetToolTip\fR ( int index, const QString & tip )"
+.br
+.ti -1c
+.BI "QString \fBtoolTip\fR ( int index ) const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetCurrentTab\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentTab\fR ( QTab * tab )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBselected\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBlayoutChanged\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcount\fR - the number of tabs in the tab bar \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcurrentTab\fR - the id of the tab bar's visible tab"
+.br
+.ti -1c
+.BI "int \fBkeyboardFocusTab\fR - the id of the tab that has the keyboard focus \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "Shape \fBshape\fR - the shape of the tabs in the tab bar"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * p, QTab * t, bool selected ) const"
+.br
+.ti -1c
+.BI "virtual void \fBpaintLabel\fR ( QPainter * p, const QRect & br, QTab * t, bool has_focus ) const"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * e )"
+.br
+.ti -1c
+.BI "QPtrList<QTab> * \fBtabList\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTabBar class provides a tab bar, e.g. for use in tabbed dialogs.
+.PP
+QTabBar is straightforward to use; it draws the tabs using one of the predefined shapes, and emits a signal when a tab is selected. It can be subclassed to tailor the look and feel. Qt also provides a ready-made QTabWidget and a QTabDialog.
+.PP
+The choice of tab shape is a matter of taste, although tab dialogs (for preferences and similar) invariably use RoundedAbove; nobody uses TriangularAbove. Tab controls in windows other than dialogs almost always use either RoundedBelow or TriangularBelow. Many spreadsheets and other tab controls in which all the pages are essentially similar use TriangularBelow, whereas RoundedBelow is used mostly when the pages are different (e.g. a multi-page tool palette).
+.PP
+The most important part of QTabBar's API is the selected() signal. This is emitted whenever the selected page changes (even at startup, when the selected page changes from 'none'). There is also a slot, setCurrentTab(), which can be used to select a page programmatically.
+.PP
+QTabBar creates automatic accelerator keys in the manner of QButton; e.g. if a tab's label is "&Graphics", Alt+G becomes an accelerator key for switching to that tab.
+.PP
+The following virtual functions may need to be reimplemented:
+.TP
+paint() paints a single tab. paintEvent() calls paint() for each tab so that any overlap will look right.
+.TP
+addTab() creates a new tab and adds it to the bar.
+.TP
+selectTab() decides which tab, if any, the user selects with the mouse.
+.PP
+The index of the current tab is returned by currentTab(). The tab with a particular index is returned by tabAt(), the tab with a particular id is returned by tab(). The index of a tab is returned by indexOf(). The current tab can be set by index or tab pointer using one of the setCurrentTab() functions.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QTabBar::Shape"
+This enum type lists the built-in shapes supported by QTabBar:
+.TP
+\fCQTabBar::RoundedAbove\fR - the normal rounded look above the pages
+.TP
+\fCQTabBar::RoundedBelow\fR - the normal rounded look below the pages
+.TP
+\fCQTabBar::TriangularAbove\fR - triangular tabs above the pages (very unusual; included for completeness)
+.TP
+\fCQTabBar::TriangularBelow\fR - triangular tabs similar to those used in the Excel spreadsheet, for example
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTabBar::QTabBar ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a new, empty tab bar; the \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QTabBar::~QTabBar ()"
+Destroys the tab control, freeing memory used.
+.SH "int QTabBar::addTab ( QTab * newTab )\fC [virtual]\fR"
+Adds the tab, \fInewTab\fR, to the tab control.
+.PP
+Sets \fInewTab\fR's id to a new id and places the tab just to the right of the existing tabs. If the tab's label contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab. Returns the id.
+.PP
+See also insertTab().
+.SH "int QTabBar::count () const"
+Returns the number of tabs in the tab bar. See the "count" property for details.
+.SH "int QTabBar::currentTab () const"
+Returns the id of the tab bar's visible tab. See the "currentTab" property for details.
+.SH "int QTabBar::indexOf ( int id ) const"
+Returns the position index of the tab with id \fIid\fR or -1 if no tab has this \fIid\fR.
+.PP
+See also tabAt().
+.SH "int QTabBar::insertTab ( QTab * newTab, int index = -1 )\fC [virtual]\fR"
+Inserts the tab, \fInewTab\fR, into the tab control.
+.PP
+If \fIindex\fR is not specified, the tab is simply appended. Otherwise it's inserted at the specified position.
+.PP
+Sets \fInewTab\fR's id to a new id. If the tab's label contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab. Returns the id.
+.PP
+See also addTab().
+.SH "bool QTabBar::isTabEnabled ( int id ) const"
+Returns TRUE if the tab with id \fIid\fR exists and is enabled; otherwise returns FALSE.
+.PP
+See also setTabEnabled().
+.SH "int QTabBar::keyboardFocusTab () const"
+Returns the id of the tab that has the keyboard focus. See the "keyboardFocusTab" property for details.
+.SH "void QTabBar::layoutChanged ()\fC [signal]\fR"
+QTabBar emits the signal whenever the layout of the tab bar has been recalculated, for example when the contents of a tab change.
+.SH "void QTabBar::layoutTabs ()\fC [virtual]\fR"
+Lays out all existing tabs according to their label and their iconset.
+.SH "void QTabBar::paint ( QPainter * p, QTab * t, bool selected ) const\fC [virtual protected]\fR"
+Paints the tab \fIt\fR using painter \fIp\fR. If and only if \fIselected\fR is TRUE, \fIt\fR is drawn currently selected.
+.PP
+This virtual function may be reimplemented to change the look of QTabBar. If you decide to reimplement it, you may also need to reimplement sizeHint().
+.SH "void QTabBar::paintEvent ( QPaintEvent * e )\fC [virtual protected]\fR"
+Repaints the tab row. All the painting is done by paint(); paintEvent() only decides which tabs need painting and in what order. The event is passed in \fIe\fR.
+.PP
+See also paint().
+.PP
+Reimplemented from QWidget.
+.SH "void QTabBar::paintLabel ( QPainter * p, const QRect & br, QTab * t, bool has_focus ) const\fC [virtual protected]\fR"
+Paints the label of tab \fIt\fR centered in rectangle \fIbr\fR using painter \fIp\fR. A focus indication is drawn if \fIhas_focus\fR is TRUE.
+.SH "void QTabBar::removeTab ( QTab * t )\fC [virtual]\fR"
+Removes tab \fIt\fR from the tab control, and deletes the tab.
+.SH "void QTabBar::removeToolTip ( int index )"
+Removes the tool tip for the tab at index position \fIindex\fR.
+.SH "QTab * QTabBar::selectTab ( const QPoint & p ) const\fC [virtual]\fR"
+This virtual function is called by the mouse event handlers to determine which tab is pressed. The default implementation returns a pointer to the tab whose bounding rectangle contains \fIp\fR, if exactly one tab's bounding rectangle contains \fIp\fR. Otherwise it returns 0.
+.PP
+See also mousePressEvent() and mouseReleaseEvent().
+.SH "void QTabBar::selected ( int id )\fC [signal]\fR"
+QTabBar emits this signal whenever any tab is selected, whether by the program or by the user. The argument \fIid\fR is the id of the tab as returned by addTab().
+.PP
+show() is guaranteed to emit this signal; you can display your page in a slot connected to this signal.
+.SH "void QTabBar::setCurrentTab ( int )\fC [virtual slot]\fR"
+Sets the id of the tab bar's visible tab. See the "currentTab" property for details.
+.SH "void QTabBar::setCurrentTab ( QTab * tab )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Raises \fItab\fR and emits the selected() signal unless the tab was already current.
+.PP
+See also currentTab and selected().
+.SH "void QTabBar::setShape ( Shape )\fC [virtual]\fR"
+Sets the shape of the tabs in the tab bar. See the "shape" property for details.
+.SH "void QTabBar::setTabEnabled ( int id, bool enabled )\fC [virtual]\fR"
+Enables tab \fIid\fR if \fIenabled\fR is TRUE or disables it if \fIenabled\fR is FALSE. If \fIid\fR is currently selected, setTabEnabled(FALSE) makes another tab selected.
+.PP
+setTabEnabled() updates the display if this causes a change in \fIid\fR's status.
+.PP
+See also update() and isTabEnabled().
+.SH "void QTabBar::setToolTip ( int index, const QString & tip )"
+Sets the tool tip for the tab at index position \fIindex\fR to \fItip\fR.
+.SH "Shape QTabBar::shape () const"
+Returns the shape of the tabs in the tab bar. See the "shape" property for details.
+.SH "QTab * QTabBar::tab ( int id ) const"
+Returns the tab with id \fIid\fR or 0 if there is no such tab.
+.PP
+See also count.
+.SH "QTab * QTabBar::tabAt ( int index ) const"
+Returns the tab at position \fIindex\fR.
+.PP
+See also indexOf().
+.SH "QPtrList<QTab> * QTabBar::tabList ()\fC [protected]\fR"
+The list of QTab objects in the tab bar.
+.PP
+This list is unlikely to be in the order that the QTab elements appear visually. One way of iterating over the tabs is like this:
+.PP
+.nf
+.br
+ for ( uint i = 0; i < myTabBar->count(); ++i ) {
+.br
+ nextTab = myTabBar->tabAt( i );
+.br
+ // do something with nextTab
+.br
+ }
+.br
+.fi
+.SH "QString QTabBar::toolTip ( int index ) const"
+Returns the tool tip for the tab at index position \fIindex\fR.
+.SS "Property Documentation"
+.SH "int count"
+This property holds the number of tabs in the tab bar.
+.PP
+Get this property's value with count().
+.PP
+See also tab().
+.SH "int currentTab"
+This property holds the id of the tab bar's visible tab.
+.PP
+If no tab page is currently visible, the property's value is -1. Even if the property's value is not -1, you cannot assume that the user can see the relevant page, or that the tab is enabled. When you need to display something the value of this property represents the best page to display.
+.PP
+When this property is set to \fIid\fR, it will raise the tab with the id \fIid\fR and emit the selected() signal.
+.PP
+See also selected() and isTabEnabled().
+.PP
+Set this property's value with setCurrentTab() and get this property's value with currentTab().
+.SH "int keyboardFocusTab"
+This property holds the id of the tab that has the keyboard focus.
+.PP
+This property contains the id of the tab that has the keyboard focus or -1 if the tab bar does not have the keyboard focus.
+.PP
+Get this property's value with keyboardFocusTab().
+.SH "Shape shape"
+This property holds the shape of the tabs in the tab bar.
+.PP
+The value of this property is one of the following: RoundedAbove (default), RoundedBelow, TriangularAbove or TriangularBelow.
+.PP
+See also Shape.
+.PP
+Set this property's value with setShape() and get this property's value with shape().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtabbar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtabbar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtabdialog.3qt b/doc/man/man3/qtabdialog.3qt
new file mode 100644
index 0000000..ff7c3c7
--- /dev/null
+++ b/doc/man/man3/qtabdialog.3qt
@@ -0,0 +1,464 @@
+'\" t
+.TH QTabDialog 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTabDialog \- Stack of tabbed widgets
+.SH SYNOPSIS
+\fC#include <qtabdialog.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTabDialog\fR ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTabDialog\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "void \fBaddTab\fR ( QWidget * child, const QString & label )"
+.br
+.ti -1c
+.BI "void \fBaddTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label )"
+.br
+.ti -1c
+.BI "void \fBaddTab\fR ( QWidget * child, QTab * tab )"
+.br
+.ti -1c
+.BI "void \fBinsertTab\fR ( QWidget * child, const QString & label, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBinsertTab\fR ( QWidget * child, QTab * tab, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBchangeTab\fR ( QWidget * w, const QString & label )"
+.br
+.ti -1c
+.BI "void \fBchangeTab\fR ( QWidget * w, const QIconSet & iconset, const QString & label )"
+.br
+.ti -1c
+.BI "bool \fBisTabEnabled\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "void \fBsetTabEnabled\fR ( QWidget * w, bool enable )"
+.br
+.ti -1c
+.BI "bool isTabEnabled ( const char * name ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setTabEnabled ( const char * name, bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBshowPage\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBremovePage\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QString \fBtabLabel\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBcurrentPage\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDefaultButton\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetDefaultButton\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasDefaultButton\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetHelpButton\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetHelpButton\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasHelpButton\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCancelButton\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetCancelButton\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasCancelButton\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetApplyButton\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetApplyButton\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasApplyButton\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetOkButton\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetOkButton\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasOkButton\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBaboutToShow\fR ()"
+.br
+.ti -1c
+.BI "void \fBapplyButtonPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBcancelButtonPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBdefaultButtonPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBhelpButtonPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QWidget * )"
+.br
+.ti -1c
+.BI "void selected ( const QString & ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetTabBar\fR ( QTabBar * tb )"
+.br
+.ti -1c
+.BI "QTabBar * \fBtabBar\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTabDialog class provides a stack of tabbed widgets.
+.PP
+A tabbed dialog is one in which several "tab pages" are available. By clicking on a tab page's tab or by pressing the indicated Alt+\fIletter\fR key combination, the user can select which tab page they want to use.
+.PP
+QTabDialog provides a tab bar consisting of single row of tabs at the top; each tab has an associated widget which is that tab's tab page. In addition, QTabDialog provides an OK button and the following optional buttons: Apply, Cancel, Defaults and Help.
+.PP
+The normal way to use QTabDialog is to do the following in the constructor: <ol type=1>
+.IP 1
+Create a QTabDialog.
+.IP 2
+Create a QWidget for each of the pages in the tab dialog, insert children into it, set up geometry management for it, and use addTab() (or insertTab()) to set up a tab and keyboard accelerator for it.
+.IP 3
+Set up the buttons for the tab dialog using setOkButton(), setApplyButton(), setDefaultsButton(), setCancelButton() and setHelpButton().
+.IP 4
+Connect to the signals and slots.
+.PP
+If you don't call addTab() the page you have created will not be visible. Don't confuse the object name you supply to the QWidget constructor and the tab label you supply to addTab(); addTab() takes user-visible name that appears on the widget's tab and may identify an accelerator, whereas the widget name is used primarily for debugging.
+.PP
+Almost all applications have to connect the applyButtonPressed() signal to something. applyButtonPressed() is emitted when either OK or Apply is clicked, and your slot must copy the dialog's state into the application.
+.PP
+There are also several other signals which may be useful:
+.TP
+cancelButtonPressed() is emitted when the user clicks Cancel.
+.TP
+defaultButtonPressed() is emitted when the user clicks Defaults; the slot it is connected to should reset the state of the dialog to the application defaults.
+.TP
+helpButtonPressed() is emitted when the user clicks Help.
+.TP
+aboutToShow() is emitted at the start of show(); if there is any chance that the state of the application may change between the creation of the tab dialog and the time show() is called, you must connect this signal to a slot that resets the state of the dialog.
+.TP
+currentChanged() is emitted when the user selects a page.
+.PP
+Each tab is either enabled or disabled at any given time (see setTabEnabled()). If a tab is enabled the tab text is drawn in black and the user can select that tab. If it is disabled the tab is drawn in a different way and the user cannot select that tab. Note that even if a tab is disabled, the page can still be visible; for example, if all of the tabs happen to be disabled.
+.PP
+You can change a tab's label and iconset using changeTab(). A tab page can be removed with removePage() and shown with showPage(). The current page is given by currentPage().
+.PP
+QTabDialog does not support tabs on the sides or bottom, nor can you set or retrieve the visible page. If you need more functionality than QTabDialog provides, consider creating a QDialog and using a QTabBar with QTabWidgets.
+.PP
+Most of the functionality in QTabDialog is provided by a QTabWidget.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QDialog and Dialog Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTabDialog::QTabDialog ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+Constructs a QTabDialog with only an OK button. The \fIparent\fR, \fIname\fR, \fImodal\fR and widget flag, \fIf\fR, arguments are passed on to the QDialog constructor.
+.SH "QTabDialog::~QTabDialog ()"
+Destroys the tab dialog.
+.SH "void QTabDialog::aboutToShow ()\fC [signal]\fR"
+This signal is emitted by show() when it is time to set the state of the dialog's contents. The dialog should reflect the current state of the application when it appears; if there is any possibility that the state of the application may change between the time you call QTabDialog::QTabDialog() and QTabDialog::show(), you should set the dialog's state in a slot and connect this signal to it.
+.PP
+This applies mainly to QTabDialog objects that are kept around hidden, rather than being created, shown, and deleted afterwards.
+.PP
+See also applyButtonPressed(), show(), and cancelButtonPressed().
+.SH "void QTabDialog::addTab ( QWidget * child, const QString & label )"
+Adds another tab and page to the tab view.
+.PP
+The new page is \fIchild\fR; the tab's label is \fIlabel\fR. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.
+.PP
+If the tab's \fIlabel\fR contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.
+.PP
+If you call addTab() after show() the screen will flicker and the user may be confused.
+.PP
+See also insertTab().
+.SH "void QTabDialog::addTab ( QWidget * child, const QIconSet & iconset, const QString & label )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version of the function shows the \fIiconset\fR as well as the \fIlabel\fR on the tab of \fIchild\fR.
+.SH "void QTabDialog::addTab ( QWidget * child, QTab * tab )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is a lower-level method for adding tabs, similar to the other addTab() method. It is useful if you are using setTabBar() to set a QTabBar subclass with an overridden QTabBar::paint() function for a subclass of QTab.
+.PP
+The \fIchild\fR is the widget to be placed on the new tab page. The \fItab\fR is the tab to display on the tab page -- normally this shows a label or an icon that identifies the tab page.
+.SH "void QTabDialog::applyButtonPressed ()\fC [signal]\fR"
+This signal is emitted when either the Apply or OK button is clicked.
+.PP
+It should be connected to a slot (or several slots) that change the application's state according to the state of the dialog.
+.PP
+See also cancelButtonPressed(), defaultButtonPressed(), and setApplyButton().
+.SH "void QTabDialog::cancelButtonPressed ()\fC [signal]\fR"
+This signal is emitted when the Cancel button is clicked. It is automatically connected to QDialog::reject(), which will hide the dialog.
+.PP
+The Cancel button should not change the application's state at all, so you should generally not need to connect it to any slot.
+.PP
+See also applyButtonPressed(), defaultButtonPressed(), and setCancelButton().
+.SH "void QTabDialog::changeTab ( QWidget * w, const QIconSet & iconset, const QString & label )"
+Changes tab page \fIw\fR's iconset to \fIiconset\fR and label to \fIlabel\fR.
+.SH "void QTabDialog::changeTab ( QWidget * w, const QString & label )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Defines a new \fIlabel\fR for the tab of page \fIw\fR
+.SH "void QTabDialog::currentChanged ( QWidget * )\fC [signal]\fR"
+This signal is emitted whenever the current page changes.
+.PP
+See also currentPage(), showPage(), and tabLabel().
+.SH "QWidget * QTabDialog::currentPage () const"
+Returns a pointer to the page currently being displayed by the tab dialog. The tab dialog does its best to make sure that this value is never 0 (but if you try hard enough, it can be).
+.SH "void QTabDialog::defaultButtonPressed ()\fC [signal]\fR"
+This signal is emitted when the Defaults button is pressed. It should reset the dialog (but not the application) to the "factory defaults".
+.PP
+The application's state should not be changed until the user clicks Apply or OK.
+.PP
+See also applyButtonPressed(), cancelButtonPressed(), and setDefaultButton().
+.SH "bool QTabDialog::hasApplyButton () const"
+Returns TRUE if the tab dialog has an Apply button; otherwise returns FALSE.
+.PP
+See also setApplyButton(), applyButtonPressed(), hasCancelButton(), and hasDefaultButton().
+.SH "bool QTabDialog::hasCancelButton () const"
+Returns TRUE if the tab dialog has a Cancel button; otherwise returns FALSE.
+.PP
+See also setCancelButton(), cancelButtonPressed(), hasApplyButton(), and hasDefaultButton().
+.SH "bool QTabDialog::hasDefaultButton () const"
+Returns TRUE if the tab dialog has a Defaults button; otherwise returns FALSE.
+.PP
+See also setDefaultButton(), defaultButtonPressed(), hasApplyButton(), and hasCancelButton().
+.SH "bool QTabDialog::hasHelpButton () const"
+Returns TRUE if the tab dialog has a Help button; otherwise returns FALSE.
+.PP
+See also setHelpButton(), helpButtonPressed(), hasApplyButton(), and hasCancelButton().
+.SH "bool QTabDialog::hasOkButton () const"
+Returns TRUE if the tab dialog has an OK button; otherwise returns FALSE.
+.PP
+See also setOkButton(), hasApplyButton(), hasCancelButton(), and hasDefaultButton().
+.SH "void QTabDialog::helpButtonPressed ()\fC [signal]\fR"
+This signal is emitted when the Help button is pressed. It could be used to present information about how to use the dialog.
+.PP
+See also applyButtonPressed(), cancelButtonPressed(), and setHelpButton().
+.SH "void QTabDialog::insertTab ( QWidget * child, const QString & label, int index = -1 )"
+Inserts another tab and page to the tab view.
+.PP
+The new page is \fIchild\fR; the tab's label is \fIlabel\fR. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.
+.PP
+If the tab's \fIlabel\fR contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.
+.PP
+If \fIindex\fR is not specified, the tab is simply added. Otherwise it is inserted at the specified position.
+.PP
+If you call insertTab() after show(), the screen will flicker and the user may be confused.
+.PP
+See also addTab().
+.SH "void QTabDialog::insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version of the function shows the \fIiconset\fR as well as the \fIlabel\fR on the tab of \fIchild\fR.
+.SH "void QTabDialog::insertTab ( QWidget * child, QTab * tab, int index = -1 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is a lower-level method for inserting tabs, similar to the other insertTab() method. It is useful if you are using setTabBar() to set a QTabBar subclass with an overridden QTabBar::paint() function for a subclass of QTab.
+.PP
+The \fIchild\fR is the widget to be placed on the new tab page. The \fItab\fR is the tab to display on the tab page -- normally this shows a label or an icon that identifies the tab page. The \fIindex\fR is the position where this tab page should be inserted.
+.SH "bool QTabDialog::isTabEnabled ( QWidget * w ) const"
+Returns TRUE if the page \fIw\fR is enabled; otherwise returns FALSE.
+.PP
+See also setTabEnabled() and QWidget::enabled.
+.SH "bool QTabDialog::isTabEnabled ( const char * name ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns TRUE if the page with object name \fIname\fR is enabled and FALSE if it is disabled.
+.PP
+If \fIname\fR is 0 or not the name of any of the pages, isTabEnabled() returns FALSE.
+.PP
+See also setTabEnabled() and QWidget::enabled.
+.SH "void QTabDialog::removePage ( QWidget * w )"
+Removes page \fIw\fR from this stack of widgets. Does not delete \fIw\fR.
+.PP
+See also showPage(), QTabWidget::removePage(), and QWidgetStack::removeWidget().
+.SH "void QTabDialog::selected ( const QString & )\fC [signal]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This signal is emitted whenever a tab is selected (raised), including during the first show().
+.PP
+See also raise().
+.SH "void QTabDialog::setApplyButton ( const QString & text )"
+Adds an Apply button to the dialog. The button's text is set to \fItext\fR.
+.PP
+The Apply button should apply the current settings in the dialog box to the application while keeping the dialog visible.
+.PP
+When Apply is clicked, the applyButtonPressed() signal is emitted.
+.PP
+If \fItext\fR is a null string, no button is shown.
+.PP
+See also setCancelButton(), setDefaultButton(), and applyButtonPressed().
+.SH "void QTabDialog::setApplyButton ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds an Apply button to the dialog. The button's text is set to a localizable "Apply".
+.SH "void QTabDialog::setCancelButton ( const QString & text )"
+Adds a Cancel button to the dialog. The button's text is set to \fItext\fR.
+.PP
+The cancel button should always return the application to the state it was in before the tab view popped up, or if the user has clicked Apply, back to the state immediately after the last Apply.
+.PP
+When Cancel is clicked, the cancelButtonPressed() signal is emitted. The dialog is closed at the same time.
+.PP
+If \fItext\fR is a null string, no button is shown.
+.PP
+See also setApplyButton(), setDefaultButton(), and cancelButtonPressed().
+.SH "void QTabDialog::setCancelButton ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a Cancel button to the dialog. The button's text is set to a localizable "Cancel".
+.SH "void QTabDialog::setDefaultButton ( const QString & text )"
+Adds a Defaults button to the dialog. The button's text is set to \fItext\fR.
+.PP
+The Defaults button should set the dialog (but not the application) back to the application defaults.
+.PP
+When Defaults is clicked, the defaultButtonPressed() signal is emitted.
+.PP
+If \fItext\fR is a null string, no button is shown.
+.PP
+See also setApplyButton(), setCancelButton(), and defaultButtonPressed().
+.SH "void QTabDialog::setDefaultButton ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a Defaults button to the dialog. The button's text is set to a localizable "Defaults".
+.SH "void QTabDialog::setFont ( const QFont & font )\fC [virtual]\fR"
+Sets the font for the tabs to \fIfont\fR.
+.PP
+If the widget is visible, the display is updated with the new font immediately. There may be some geometry changes, depending on the size of the old and new fonts.
+.PP
+Reimplemented from QWidget.
+.SH "void QTabDialog::setHelpButton ( const QString & text )"
+Adds a Help button to the dialog. The button's text is set to \fItext\fR.
+.PP
+When Help is clicked, the helpButtonPressed() signal is emitted.
+.PP
+If \fItext\fR is a null string, no button is shown.
+.PP
+See also setApplyButton(), setCancelButton(), and helpButtonPressed().
+.SH "void QTabDialog::setHelpButton ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a Help button to the dialog. The button's text is set to a localizable "Help".
+.SH "void QTabDialog::setOkButton ( const QString & text )"
+Adds an OK button to the dialog and sets the button's text to \fItext\fR.
+.PP
+When the OK button is clicked, the applyButtonPressed() signal is emitted, and the current settings in the dialog box should be applied to the application. The dialog then closes.
+.PP
+If \fItext\fR is a null string, no button is shown.
+.PP
+See also setCancelButton(), setDefaultButton(), and applyButtonPressed().
+.SH "void QTabDialog::setOkButton ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds an OK button to the dialog. The button's text is set to a localizable "OK".
+.SH "void QTabDialog::setTabBar ( QTabBar * tb )\fC [protected]\fR"
+Replaces the QTabBar heading the dialog by the given tab bar, \fItb\fR. Note that this must be called \fIbefore\fR any tabs have been added, or the behavior is undefined.
+.PP
+See also tabBar().
+.SH "void QTabDialog::setTabEnabled ( QWidget * w, bool enable )"
+If \fIenable\fR is TRUE the page \fIw\fR is enabled; otherwise \fIw\fR is disabled. The page's tab is redrawn appropriately.
+.PP
+QTabWidget uses QWidget::setEnabled() internally, rather than keeping a separate flag.
+.PP
+Note that even a disabled tab and tab page may be visible. If the page is already visible QTabWidget will not hide it; if all the pages are disabled QTabWidget will show one of them.
+.PP
+See also isTabEnabled() and QWidget::enabled.
+.SH "void QTabDialog::setTabEnabled ( const char * name, bool enable )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Finds the page with object name \fIname\fR, enables/disables it according to the value of \fIenable\fR and redraws the page's tab appropriately.
+.PP
+QTabDialog uses QWidget::setEnabled() internally, rather than keeping a separate flag.
+.PP
+Note that even a disabled tab/page may be visible. If the page is already visible QTabDialog will not hide it; if all the pages are disabled QTabDialog will show one of them.
+.PP
+The object name is used (rather than the tab label) because the tab text may not be invariant in multi-language applications.
+.PP
+See also isTabEnabled() and QWidget::enabled.
+.SH "void QTabDialog::showPage ( QWidget * w )"
+Ensures that widget \fIw\fR is shown. This is mainly useful for accelerators.
+.PP
+\fBWarning:\fR If used carelessly, this function can easily surprise or confuse the user.
+.PP
+See also QTabBar::currentTab.
+.SH "QTabBar * QTabDialog::tabBar () const\fC [protected]\fR"
+Returns the currently set QTabBar.
+.PP
+See also setTabBar().
+.SH "QString QTabDialog::tabLabel ( QWidget * w )"
+Returns the text in the tab for page \fIw\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtabdialog.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtabdialog.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtable.3qt b/doc/man/man3/qtable.3qt
new file mode 100644
index 0000000..16ce0f6
--- /dev/null
+++ b/doc/man/man3/qtable.3qt
@@ -0,0 +1,1382 @@
+'\" t
+.TH QTable 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTable \- Flexible editable table widget
+.SH SYNOPSIS
+\fC#include <qtable.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+Inherited by QDataTable.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTable\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQTable\fR ( int numRows, int numCols, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTable\fR ()"
+.br
+.ti -1c
+.BI "QHeader * \fBhorizontalHeader\fR () const"
+.br
+.ti -1c
+.BI "QHeader * \fBverticalHeader\fR () const"
+.br
+.ti -1c
+.BI "enum \fBSelectionMode\fR { Single, Multi, SingleRow, MultiRow, NoSelection }"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectionMode\fR ( SelectionMode mode )"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetItem\fR ( int row, int col, QTableItem * item )"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( int row, int col, const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( int row, int col, const QPixmap & pix )"
+.br
+.ti -1c
+.BI "virtual QTableItem * \fBitem\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual QPixmap \fBpixmap\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclearCell\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "virtual QRect \fBcellGeometry\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual int \fBcolumnWidth\fR ( int col ) const"
+.br
+.ti -1c
+.BI "virtual int \fBrowHeight\fR ( int row ) const"
+.br
+.ti -1c
+.BI "virtual int \fBcolumnPos\fR ( int col ) const"
+.br
+.ti -1c
+.BI "virtual int \fBrowPos\fR ( int row ) const"
+.br
+.ti -1c
+.BI "virtual int \fBcolumnAt\fR ( int x ) const"
+.br
+.ti -1c
+.BI "virtual int \fBrowAt\fR ( int y ) const"
+.br
+.ti -1c
+.BI "virtual int \fBnumRows\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBnumCols\fR () const"
+.br
+.ti -1c
+.BI "void \fBupdateCell\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "int \fBcurrentRow\fR () const"
+.br
+.ti -1c
+.BI "int \fBcurrentColumn\fR () const"
+.br
+.ti -1c
+.BI "void \fBensureCellVisible\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "bool \fBisSelected\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "bool \fBisRowSelected\fR ( int row, bool full = FALSE ) const"
+.br
+.ti -1c
+.BI "bool \fBisColumnSelected\fR ( int col, bool full = FALSE ) const"
+.br
+.ti -1c
+.BI "int \fBnumSelections\fR () const"
+.br
+.ti -1c
+.BI "QTableSelection \fBselection\fR ( int num ) const"
+.br
+.ti -1c
+.BI "virtual int \fBaddSelection\fR ( const QTableSelection & s )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveSelection\fR ( const QTableSelection & s )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveSelection\fR ( int num )"
+.br
+.ti -1c
+.BI "virtual int \fBcurrentSelection\fR () const"
+.br
+.ti -1c
+.BI "void \fBselectCells\fR ( int start_row, int start_col, int end_row, int end_col )"
+.br
+.ti -1c
+.BI "void \fBselectRow\fR ( int row )"
+.br
+.ti -1c
+.BI "void \fBselectColumn\fR ( int col )"
+.br
+.ti -1c
+.BI "bool \fBshowGrid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcolumnMovingEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBrowMovingEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsortColumn\fR ( int col, bool ascending = TRUE, bool wholeRows = FALSE )"
+.br
+.ti -1c
+.BI "bool \fBsorting\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBtakeItem\fR ( QTableItem * i )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCellWidget\fR ( int row, int col, QWidget * e )"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcellWidget\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual void \fBclearCellWidget\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "virtual QRect \fBcellRect\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, int row, int col, const QRect & cr, bool selected )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintCell\fR ( QPainter * p, int row, int col, const QRect & cr, bool selected, const QColorGroup & cg )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintFocus\fR ( QPainter * p, const QRect & cr )"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRowReadOnly\fR ( int row ) const"
+.br
+.ti -1c
+.BI "bool \fBisColumnReadOnly\fR ( int col ) const"
+.br
+.ti -1c
+.BI "void \fBrepaintSelections\fR ()"
+.br
+.ti -1c
+.BI "enum \fBFocusStyle\fR { FollowStyle, SpreadSheet }"
+.br
+.ti -1c
+.BI "virtual void \fBsetFocusStyle\fR ( FocusStyle fs )"
+.br
+.ti -1c
+.BI "FocusStyle \fBfocusStyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBupdateHeaderStates\fR ()"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetNumRows\fR ( int r )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNumCols\fR ( int r )"
+.br
+.ti -1c
+.BI "virtual void \fBsetShowGrid\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBhideRow\fR ( int row )"
+.br
+.ti -1c
+.BI "virtual void \fBhideColumn\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBshowRow\fR ( int row )"
+.br
+.ti -1c
+.BI "virtual void \fBshowColumn\fR ( int col )"
+.br
+.ti -1c
+.BI "bool \fBisRowHidden\fR ( int row ) const"
+.br
+.ti -1c
+.BI "bool \fBisColumnHidden\fR ( int col ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnWidth\fR ( int col, int w )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowHeight\fR ( int row, int h )"
+.br
+.ti -1c
+.BI "virtual void \fBadjustColumn\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBadjustRow\fR ( int row )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnStretchable\fR ( int col, bool stretch )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowStretchable\fR ( int row, bool stretch )"
+.br
+.ti -1c
+.BI "bool \fBisColumnStretchable\fR ( int col ) const"
+.br
+.ti -1c
+.BI "bool \fBisRowStretchable\fR ( int row ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSorting\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBswapRows\fR ( int row1, int row2, bool swapHeader = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBswapColumns\fR ( int col1, int col2, bool swapHeader = FALSE )"
+.br
+.ti -1c
+.BI "virtual void \fBswapCells\fR ( int row1, int col1, int row2, int col2 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLeftMargin\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTopMargin\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentCell\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "void \fBclearSelection\fR ( bool repaint = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnMovingEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowMovingEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadOnly\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetRowReadOnly\fR ( int row, bool ro )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColumnReadOnly\fR ( int col, bool ro )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDragEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBdragEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBinsertRows\fR ( int row, int count = 1 )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertColumns\fR ( int col, int count = 1 )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveRow\fR ( int row )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveRows\fR ( const QMemArray<int> & rows )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveColumn\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveColumns\fR ( const QMemArray<int> & cols )"
+.br
+.ti -1c
+.BI "virtual void \fBeditCell\fR ( int row, int col, bool replace = FALSE )"
+.br
+.ti -1c
+.BI "void \fBsetRowLabels\fR ( const QStringList & labels )"
+.br
+.ti -1c
+.BI "void \fBsetColumnLabels\fR ( const QStringList & labels )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( int row, int col, int button, const QPoint & mousePos )"
+.br
+.ti -1c
+.BI "void \fBdoubleClicked\fR ( int row, int col, int button, const QPoint & mousePos )"
+.br
+.ti -1c
+.BI "void \fBpressed\fR ( int row, int col, int button, const QPoint & mousePos )"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBvalueChanged\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "void \fBcontextMenuRequested\fR ( int row, int col, const QPoint & pos )"
+.br
+.ti -1c
+.BI "void \fBdropped\fR ( QDropEvent * e )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBcolumnMovingEnabled\fR - whether columns can be moved by the user"
+.br
+.ti -1c
+.BI "FocusStyle \fBfocusStyle\fR - how the current (focus) cell is drawn"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR - the number of columns in the table"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR - the number of rows in the table"
+.br
+.ti -1c
+.BI "int \fBnumSelections\fR - the number of selections \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBreadOnly\fR - whether the table is read-only"
+.br
+.ti -1c
+.BI "bool \fBrowMovingEnabled\fR - whether rows can be moved by the user"
+.br
+.ti -1c
+.BI "SelectionMode \fBselectionMode\fR - the current selection mode"
+.br
+.ti -1c
+.BI "bool \fBshowGrid\fR - whether the table's grid is displayed"
+.br
+.ti -1c
+.BI "bool \fBsorting\fR - whether a click on the header of a column sorts that column"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "enum \fBEditMode\fR { NotEditing, Editing, Replacing }"
+.br
+.ti -1c
+.BI "virtual void \fBdrawContents\fR ( QPainter * p, int cx, int cy, int cw, int ch )"
+.br
+.ti -1c
+.BI "void \fBsetEditMode\fR ( EditMode mode, int row, int col )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragEnterEvent\fR ( QDragEnterEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragMoveEvent\fR ( QDragMoveEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDragLeaveEvent\fR ( QDragLeaveEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontentsDropEvent\fR ( QDropEvent * e )"
+.br
+.ti -1c
+.BI "virtual QDragObject * \fBdragObject\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstartDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEmptyArea\fR ( QPainter * p, int cx, int cy, int cw, int ch )"
+.br
+.ti -1c
+.BI "virtual void \fBactivateNextCell\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateEditor\fR ( int row, int col, bool initFromCell ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCellContentFromEditor\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBbeginEdit\fR ( int row, int col, bool replace )"
+.br
+.ti -1c
+.BI "virtual void \fBendEdit\fR ( int row, int col, bool accept, bool replace )"
+.br
+.ti -1c
+.BI "virtual void \fBresizeData\fR ( int len )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertWidget\fR ( int row, int col, QWidget * w )"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( int row, int col ) const"
+.br
+.ti -1c
+.BI "bool \fBisEditing\fR () const"
+.br
+.ti -1c
+.BI "EditMode \fBeditMode\fR () const"
+.br
+.ti -1c
+.BI "int \fBcurrEditRow\fR () const"
+.br
+.ti -1c
+.BI "int \fBcurrEditCol\fR () const"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBcolumnWidthChanged\fR ( int col )"
+.br
+.ti -1c
+.BI "virtual void \fBrowHeightChanged\fR ( int row )"
+.br
+.ti -1c
+.BI "virtual void \fBcolumnIndexChanged\fR ( int section, int fromIndex, int toIndex )"
+.br
+.ti -1c
+.BI "virtual void \fBrowIndexChanged\fR ( int section, int fromIndex, int toIndex )"
+.br
+.ti -1c
+.BI "virtual void \fBcolumnClicked\fR ( int col )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTable class provides a flexible editable table widget.
+.PP
+QTable is easy to use, although it does have a large API because of the comprehensive functionality that it provides. QTable includes functions for manipulating headers, rows and columns, cells and selections. QTable also provides in-place editing and drag and drop, as well as a useful set of signals. QTable efficiently supports very large tables, for example, tables one million by one million cells are perfectly possible. QTable is economical with memory, using none for unused cells.
+.PP
+.nf
+.br
+ QTable *table = new QTable( 100, 250, this );
+.br
+ table->setPixmap( 3, 2, pix );
+.br
+ table->setText( 3, 2, "A pixmap" );
+.br
+.fi
+.PP
+The first line constructs the table specifying its size in rows and columns. We then insert a pixmap and some text into the \fIsame\fR cell, with the pixmap appearing to the left of the text. QTable cells can be populated with QTableItems, QComboTableItems or by QCheckTableItems. By default a vertical header appears at the left of the table showing row numbers and a horizontal header appears at the top of the table showing column numbers. (The numbers displayed start at 1, although row and column numbers within QTable begin at 0.)
+.PP
+If you want to use mouse tracking call setMouseTracking( TRUE ) on the \fIviewport\fR; (see QScrollView).
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH "Headers"
+QTable supports a header column, e.g. to display row numbers, and a header row, e.g to display column titles. To set row or column labels use QHeader::setLabel() on the pointers returned by verticalHeader() and horizontalHeader() respectively. The vertical header is displayed within the table's left margin whose width is set with setLeftMargin(). The horizontal header is displayed within the table's top margin whose height is set with setTopMargin(). The table's grid can be switched off with setShowGrid(). If you want to hide a horizontal header call hide(), and call setTopMargin( 0 ) so that the area the header would have occupied is reduced to zero size.
+.PP
+Header labels are indexed via their section numbers. Note that the default behavior of QHeader regarding section numbers is overriden for QTable. See the explanation below in the Rows and Columns section in the discussion of moving columns and rows.
+.SH "Rows and Columns"
+Row and column sizes are set with setRowHeight() and setColumnWidth(). If you want a row high enough to show the tallest item in its entirety, use adjustRow(). Similarly, to make a column wide enough to show the widest item use adjustColumn(). If you want the row height and column width to adjust automatically as the height and width of the table changes use setRowStretchable() and setColumnStretchable().
+.PP
+Rows and columns can be hidden and shown with hideRow(), hideColumn(), showRow() and showColumn(). New rows and columns are inserted using insertRows() and insertColumns(). Additional rows and columns are added at the bottom (rows) or right (columns) if you set setNumRows() or setNumCols() to be larger than numRows() or numCols(). Existing rows and columns are removed with removeRow() and removeColumn(). Multiple rows and columns can be removed with removeRows() and removeColumns().
+.PP
+Rows and columns can be set to be moveable using rowMovingEnabled() and columnMovingEnabled(). The user can drag them to reorder them holding down the Ctrl key and dragging the mouse. For performance reasons, the default behavior of QHeader section numbers is overridden by QTable. Currently in QTable, when a row or column is dragged and reordered, the section number is also changed to its new position. Therefore, there is no difference between the section and the index fields in QHeader. The QTable QHeader classes do not provide a mechanism for indexing independently of the user interface ordering.
+.PP
+The table can be sorted using sortColumn(). Users can sort a column by clicking its header if setSorting() is set to TRUE. Rows can be swapped with swapRows(), columns with swapColumns() and cells with swapCells().
+.PP
+For editable tables (see setReadOnly()) you can set the read-only property of individual rows and columns with setRowReadOnly() and setColumnReadOnly(). (Whether a cell is editable or read-only depends on these settings and the cell's QTableItem::EditType.)
+.PP
+The row and column which have the focus are returned by currentRow() and currentColumn() respectively.
+.PP
+Although many QTable functions operate in terms of rows and columns the indexOf() function returns a single integer identifying a particular cell.
+.SH "Cells"
+All of a QTable's cells are empty when the table is constructed.
+.PP
+There are two approaches to populating the table's cells. The first and simplest approach is to use QTableItems or QTableItem subclasses. The second approach doesn't use QTableItems at all which is useful for very large sparse tables but requires you to reimplement a number of functions. We'll look at each approach in turn.
+.PP
+To put a string in a cell use setText(). This function will create a new QTableItem for the cell if one doesn't already exist, and displays the text in it. By default the table item's widget will be a QLineEdit. A pixmap may be put in a cell with setPixmap(), which also creates a table item if required. A cell may contain \fIboth\fR a pixmap and text; the pixmap is displayed to the left of the text. Another approach is to construct a QTableItem or QTableItem subclass, set its properties, then insert it into a cell with setItem().
+.PP
+If you want cells which contain comboboxes use the QComboTableItem class. Similarly if you require cells containing checkboxes use the QCheckTableItem class. These table items look and behave just like the combobox or checkbox widgets but consume far less memory.
+.PP
+.nf
+.br
+ for ( int j = 0; j < numRows; ++j )
+.br
+ table.setItem( j, 1, new QCheckTableItem( &table, "Check me" ) );
+.fi
+In the example above we create a column of QCheckTableItems and insert them into the table using setItem().
+.PP
+QTable takes ownership of its QTableItems and will delete them when the table itself is destroyed. You can take ownership of a table item using takeItem() which you use to move a cell's contents from one cell to another, either within the same table, or from one table to another. (See also, swapCells()).
+.PP
+In-place editing of the text in QTableItems, and the values in QComboTableItems and QCheckTableItems works automatically. Cells may be editable or read-only, see QTableItem::EditType. If you want fine control over editing see beginEdit() and endEdit().
+.PP
+The contents of a cell can be retrieved as a QTableItem using item(), or as a string with text() or as a pixmap (if there is one) with pixmap(). A cell's bounding rectangle is given by cellGeometry(). Use updateCell() to repaint a cell, for example to clear away a cell's visual representation after it has been deleted with clearCell(). The table can be forced to scroll to show a particular cell with ensureCellVisible(). The isSelected() function indicates if a cell is selected.
+.PP
+It is possible to use your own widget as a cell's widget using setCellWidget(), but subclassing QTableItem might be a simpler approach. The cell's widget (if there is one) can be removed with clearCellWidget().
+.PP
+
+<h4> Large tables </h4>
+.PP
+For large, sparse, tables using QTableItems or other widgets is inefficient. The solution is to \fIdraw\fR the cell as it should appear and to create and destroy cell editors on demand.
+.PP
+This approach requires that you reimplement various functions. Reimplement paintCell() to display your data, and createEditor() and setCellContentFromEditor() to support in-place editing. It is very important to reimplement resizeData() to have no functionality, to prevent QTable from attempting to create a huge array. You will also need to reimplement item(), setItem(), takeItem(), clearCell(), and insertWidget(), cellWidget() and clearCellWidget(). In almost every circumstance (for sorting, removing and inserting columns and rows, etc.), you also need to reimplement swapRows(), swapCells() and swapColumns(), including header handling.
+.PP
+If you represent active cells with a dictionary of QTableItems and QWidgets, i.e. only store references to cells that are actually used, many of the functions can be implemented with a single line of code. (See the table/bigtable/main.cpp example.)
+.PP
+For more information on cells see the QTableItem documenation.
+.SH "Selections"
+QTable's support single selection, multi-selection (multiple cells) or no selection. The selection mode is set with setSelectionMode(). Use isSelected() to determine if a particular cell is selected, and isRowSelected() and isColumnSelected() to see if a row or column is selected.
+.PP
+QTable's support many simultaneous selections. You can programmatically select cells with addSelection(). The number of selections is given by numSelections(). The current selection is returned by currentSelection(). You can remove a selection with removeSelection() and remove all selections with clearSelection(). Selections are QTableSelection objects.
+.PP
+To easily add a new selection use selectCells(), selectRow() or selectColumn().
+.PP
+Alternatively, use addSelection() to add new selections using QTableSelection objects. The advantage of using QTableSelection objects is that you can call QTableSelection::expandTo() to resize the selection and can query and compare them.
+.PP
+The number of selections is given by numSelections(). The current selection is returned by currentSelection(). You can remove a selection with removeSelection() and remove all selections with clearSelection().
+.SH "Signals"
+When the user clicks a cell the currentChanged() signal is emitted. You can also connect to the lower level clicked(), doubleClicked() and pressed() signals. If the user changes the selection the selectionChanged() signal is emitted; similarly if the user changes a cell's value the valueChanged() signal is emitted. If the user right-clicks (or presses the appropriate platform-specific key sequence) the contextMenuRequested() signal is emitted. If the user drops a drag and drop object the dropped() signal is emitted with the drop event.
+.PP
+See also Advanced Widgets.
+.SS "Member Type Documentation"
+.SH "QTable::EditMode"
+.TP
+\fCQTable::NotEditing\fR - No cell is currently being edited.
+.TP
+\fCQTable::Editing\fR - A cell is currently being edited. The editor was initialised with the cell's contents.
+.TP
+\fCQTable::Replacing\fR - A cell is currently being edited. The editor was not initialised with the cell's contents.
+.SH "QTable::FocusStyle"
+Specifies how the current cell (focus cell) is drawn.
+.TP
+\fCQTable::FollowStyle\fR - The current cell is drawn according to the current style and the cell's background is also drawn selected, if the current cell is within a selection
+.TP
+\fCQTable::SpreadSheet\fR - The current cell is drawn as in a spreadsheet. This means, it is signified by a black rectangle around the cell, and the background of the current cell is always drawn with the widget's base color - even when selected.
+.SH "QTable::SelectionMode"
+.TP
+\fCQTable::NoSelection\fR - No cell can be selected by the user.
+.TP
+\fCQTable::Single\fR - The user may only select a single range of cells.
+.TP
+\fCQTable::Multi\fR - The user may select multiple ranges of cells.
+.TP
+\fCQTable::SingleRow\fR - The user may select one row at once.
+.TP
+\fCQTable::MultiRow\fR - The user may select multiple rows.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTable::QTable ( QWidget * parent = 0, const char * name = 0 )"
+Creates an empty table object called \fIname\fR as a child of \fIparent\fR.
+.PP
+Call setNumRows() and setNumCols() to set the table size before populating the table if you're using QTableItems.
+.PP
+See also QWidget::clearWFlags() and Qt::WidgetFlags.
+.SH "QTable::QTable ( int numRows, int numCols, QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty table called \fIname\fR with \fInumRows\fR rows and \fInumCols\fR columns. The table is a child of \fIparent\fR.
+.PP
+If you're using QTableItems to populate the table's cells, you can create QTableItem, QComboTableItem and QCheckTableItem items and insert them into the table using setItem(). (See the notes on large tables for an alternative to using QTableItems.)
+.PP
+See also QWidget::clearWFlags() and Qt::WidgetFlags.
+.SH "QTable::~QTable ()"
+Releases all the resources used by the QTable object, including all QTableItems and their widgets.
+.SH "void QTable::activateNextCell ()\fC [virtual protected]\fR"
+This function is called to activate the next cell if in-place editing was finished by pressing the Enter key.
+.PP
+The default behaviour is to move from top to bottom, i.e. move to the cell beneath the cell being edited. Reimplement this function if you want different behaviour, e.g. moving from left to right.
+.SH "int QTable::addSelection ( const QTableSelection & s )\fC [virtual]\fR"
+Adds a selection described by \fIs\fR to the table and returns its number or -1 if the selection is invalid.
+.PP
+Remember to call QTableSelection::init() and QTableSelection::expandTo() to make the selection valid (see also QTableSelection::isActive(), or use the QTableSelection(int,int,int,int) constructor).
+.PP
+See also numSelections, removeSelection(), and clearSelection().
+.SH "void QTable::adjustColumn ( int col )\fC [virtual slot]\fR"
+Resizes column \fIcol\fR so that the column width is wide enough to display the widest item the column contains.
+.PP
+See also adjustRow().
+.PP
+Example: regexptester/regexptester.cpp.
+.PP
+Reimplemented in QDataTable.
+.SH "void QTable::adjustRow ( int row )\fC [virtual slot]\fR"
+Resizes row \fIrow\fR so that the row height is tall enough to display the tallest item the row contains.
+.PP
+See also adjustColumn().
+.SH "QWidget * QTable::beginEdit ( int row, int col, bool replace )\fC [virtual protected]\fR"
+This function is called to start in-place editing of the cell at \fIrow\fR, \fIcol\fR. Editing is achieved by creating an editor (createEditor() is called) and setting the cell's editor with setCellWidget() to the newly created editor. (After editing is complete endEdit() will be called to replace the cell's content with the editor's content.) If \fIreplace\fR is TRUE the editor will start empty; otherwise it will be initialized with the cell's content (if any), i.e. the user will be modifying the original cell content.
+.PP
+See also endEdit().
+.SH "QRect QTable::cellGeometry ( int row, int col ) const\fC [virtual]\fR"
+Returns the bounding rectangle of the cell at \fIrow\fR, \fIcol\fR in content coordinates.
+.SH "QRect QTable::cellRect ( int row, int col ) const\fC [virtual]\fR"
+Returns the geometry of cell \fIrow\fR, \fIcol\fR in the cell's coordinate system. This is a convenience function useful in paintCell(). It is equivalent to QRect( QPoint(0,0), cellGeometry( row, col).size() );
+.PP
+See also cellGeometry().
+.PP
+Example: chart/setdataform.cpp.
+.SH "QWidget * QTable::cellWidget ( int row, int col ) const\fC [virtual]\fR"
+Returns the widget that has been set for the cell at \fIrow\fR, \fIcol\fR, or 0 if no widget has been set.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.PP
+See also clearCellWidget() and setCellWidget().
+.PP
+Example: chart/setdataform.cpp.
+.SH "void QTable::clearCell ( int row, int col )\fC [virtual]\fR"
+Removes the QTableItem at \fIrow\fR, \fIcol\fR.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.SH "void QTable::clearCellWidget ( int row, int col )\fC [virtual]\fR"
+Removes the widget (if there is one) set for the cell at \fIrow\fR, \fIcol\fR.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.PP
+This function deletes the widget at \fIrow\fR, \fIcol\fR. Note that the widget is not deleted immediately; instead QObject::deleteLater() is called on the widget to avoid problems with timing issues.
+.PP
+See also cellWidget() and setCellWidget().
+.SH "void QTable::clearSelection ( bool repaint = TRUE )\fC [slot]\fR"
+Clears all selections and repaints the appropriate regions if \fIrepaint\fR is TRUE.
+.PP
+See also removeSelection().
+.SH "void QTable::clicked ( int row, int col, int button, const QPoint & mousePos )\fC [signal]\fR"
+This signal is emitted when mouse button \fIbutton\fR is clicked. The cell where the event took place is at \fIrow\fR, \fIcol\fR, and the mouse's position is in \fImousePos\fR.
+.PP
+See also Qt::ButtonState.
+.PP
+Example: chart/setdataform.cpp.
+.SH "int QTable::columnAt ( int x ) const\fC [virtual]\fR"
+Returns the number of the column at position \fIx\fR. \fIx\fR must be given in content coordinates.
+.PP
+See also columnPos() and rowAt().
+.SH "void QTable::columnClicked ( int col )\fC [virtual protected slot]\fR"
+This function is called when the column \fIcol\fR has been clicked. The default implementation sorts this column if sorting() is TRUE.
+.SH "void QTable::columnIndexChanged ( int section, int fromIndex, int toIndex )\fC [virtual protected slot]\fR"
+This function is called when column order is to be changed, i.e. when the user moved the column header \fIsection\fR from \fIfromIndex\fR to \fItoIndex\fR.
+.PP
+If you want to change the column order programmatically, call swapRows() or swapColumns();
+.PP
+See also QHeader::indexChange() and rowIndexChanged().
+.SH "bool QTable::columnMovingEnabled () const"
+Returns TRUE if columns can be moved by the user; otherwise returns FALSE. See the "columnMovingEnabled" property for details.
+.SH "int QTable::columnPos ( int col ) const\fC [virtual]\fR"
+Returns the x-coordinate of the column \fIcol\fR in content coordinates.
+.PP
+See also columnAt() and rowPos().
+.SH "int QTable::columnWidth ( int col ) const\fC [virtual]\fR"
+Returns the width of column \fIcol\fR.
+.PP
+See also setColumnWidth() and rowHeight().
+.SH "void QTable::columnWidthChanged ( int col )\fC [virtual protected slot]\fR"
+This function should be called whenever the column width of \fIcol\fR has been changed. It updates the geometry of any affected columns and repaints the table to reflect the changes it has made.
+.SH "void QTable::contentsDragEnterEvent ( QDragEnterEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever a QTable object receives a QDragEnterEvent \fIe\fR, i.e. when the user pressed the mouse button to drag something.
+.PP
+The focus is moved to the cell where the QDragEnterEvent occurred.
+.PP
+Reimplemented from QScrollView.
+.SH "void QTable::contentsDragLeaveEvent ( QDragLeaveEvent * e )\fC [virtual protected]\fR"
+This event handler is called when a drag activity leaves \fIthis\fR QTable object with event \fIe\fR.
+.PP
+Reimplemented from QScrollView.
+.SH "void QTable::contentsDragMoveEvent ( QDragMoveEvent * e )\fC [virtual protected]\fR"
+This event handler is called whenever a QTable object receives a QDragMoveEvent \fIe\fR, i.e. when the user actually drags the mouse.
+.PP
+The focus is moved to the cell where the QDragMoveEvent occurred.
+.PP
+Reimplemented from QScrollView.
+.SH "void QTable::contentsDropEvent ( QDropEvent * e )\fC [virtual protected]\fR"
+This event handler is called when the user ends a drag and drop by dropping something onto \fIthis\fR QTable and thus triggers the drop event, \fIe\fR.
+.PP
+Reimplemented from QScrollView.
+.SH "void QTable::contextMenuRequested ( int row, int col, const QPoint & pos )\fC [signal]\fR"
+This signal is emitted when the user invokes a context menu with the right mouse button (or with a system-specific keypress). The cell where the event took place is at \fIrow\fR, \fIcol\fR. \fIpos\fR is the position where the context menu will appear in the global coordinate system. This signal is always emitted, even if the contents of the cell are disabled.
+.SH "QWidget * QTable::createEditor ( int row, int col, bool initFromCell ) const\fC [virtual protected]\fR"
+This function returns the widget which should be used as an editor for the contents of the cell at \fIrow\fR, \fIcol\fR.
+.PP
+If \fIinitFromCell\fR is TRUE, the editor is used to edit the current contents of the cell (so the editor widget should be initialized with this content). If \fIinitFromCell\fR is FALSE, the content of the cell is replaced with the new content which the user entered into the widget created by this function.
+.PP
+The default functionality is as follows: if \fIinitFromCell\fR is TRUE or the cell has a QTableItem and the table item's QTableItem::isReplaceable() is FALSE then the cell is asked to create an appropriate editor (using QTableItem::createEditor()). Otherwise a QLineEdit is used as the editor.
+.PP
+If you want to create your own editor for certain cells, implement a custom QTableItem subclass and reimplement QTableItem::createEditor().
+.PP
+If you are not using QTableItems and you don't want to use a QLineEdit as the default editor, subclass QTable and reimplement this function with code like this:
+.PP
+.nf
+.br
+ QTableItem *i = item( row, col );
+.br
+ if ( initFromCell || ( i && !i->isReplaceable() ) )
+.br
+ // If we had a QTableItem ask the base class to create the editor
+.br
+ return QTable::createEditor( row, col, initFromCell );
+.br
+ else
+.br
+ return ...(create your own editor)
+.br
+.fi
+Ownership of the editor widget is transferred to the caller.
+.PP
+If you reimplement this function return 0 for read-only cells. You will need to reimplement setCellContentFromEditor() to retrieve the data the user entered.
+.PP
+See also QTableItem::createEditor().
+.SH "int QTable::currEditCol () const\fC [protected]\fR"
+Returns the current edited column
+.SH "int QTable::currEditRow () const\fC [protected]\fR"
+Returns the current edited row
+.SH "void QTable::currentChanged ( int row, int col )\fC [signal]\fR"
+This signal is emitted when the current cell has changed to \fIrow\fR, \fIcol\fR.
+.PP
+Example: chart/setdataform.cpp.
+.SH "int QTable::currentColumn () const"
+Returns the current column.
+.PP
+See also currentRow().
+.PP
+Example: chart/setdataform.cpp.
+.SH "int QTable::currentRow () const"
+Returns the current row.
+.PP
+See also currentColumn().
+.PP
+Example: chart/setdataform.cpp.
+.SH "int QTable::currentSelection () const\fC [virtual]\fR"
+Returns the number of the current selection or -1 if there is no current selection.
+.PP
+See also numSelections.
+.SH "void QTable::doubleClicked ( int row, int col, int button, const QPoint & mousePos )\fC [signal]\fR"
+This signal is emitted when mouse button \fIbutton\fR is double-clicked. The cell where the event took place is at \fIrow\fR, \fIcol\fR, and the mouse's position is in \fImousePos\fR.
+.PP
+See also Qt::ButtonState.
+.SH "bool QTable::dragEnabled () const\fC [slot]\fR"
+If this function returns TRUE, the table supports dragging.
+.PP
+See also setDragEnabled().
+.SH "QDragObject * QTable::dragObject ()\fC [virtual protected]\fR"
+If the user presses the mouse on a selected cell, starts moving (i.e. dragging), and dragEnabled() is TRUE, this function is called to obtain a drag object. A drag using this object begins immediately unless dragObject() returns 0.
+.PP
+By default this function returns 0. You might reimplement it and create a QDragObject depending on the selected items.
+.PP
+See also dropped().
+.SH "void QTable::drawContents ( QPainter * p, int cx, int cy, int cw, int ch )\fC [virtual protected]\fR"
+Draws the table contents on the painter \fIp\fR. This function is optimized so that it only draws the cells inside the \fIcw\fR pixels wide and \fIch\fR pixels high clipping rectangle at position \fIcx\fR, \fIcy\fR.
+.PP
+Additionally, drawContents() highlights the current cell.
+.PP
+Reimplemented from QScrollView.
+.SH "void QTable::dropped ( QDropEvent * e )\fC [signal]\fR"
+This signal is emitted when a drop event occurred on the table.
+.PP
+\fIe\fR contains information about the drop.
+.SH "void QTable::editCell ( int row, int col, bool replace = FALSE )\fC [virtual slot]\fR"
+Starts editing the cell at \fIrow\fR, \fIcol\fR.
+.PP
+If \fIreplace\fR is TRUE the content of this cell will be replaced by the content of the editor when editing is finished, i.e. the user will be entering new data; otherwise the current content of the cell (if any) will be modified in the editor.
+.PP
+See also beginEdit().
+.SH "EditMode QTable::editMode () const\fC [protected]\fR"
+Returns the current edit mode
+.PP
+See also QTable::EditMode.
+.SH "void QTable::endEdit ( int row, int col, bool accept, bool replace )\fC [virtual protected]\fR"
+This function is called when in-place editing of the cell at \fIrow\fR, \fIcol\fR is requested to stop.
+.PP
+If the cell is not being edited or \fIaccept\fR is FALSE the function returns and the cell's contents are left unchanged.
+.PP
+If \fIaccept\fR is TRUE the content of the editor must be transferred to the relevant cell. If \fIreplace\fR is TRUE the current content of this cell should be replaced by the content of the editor (this means removing the current QTableItem of the cell and creating a new one for the cell). Otherwise (if possible) the content of the editor should just be set to the existing QTableItem of this cell.
+.PP
+setCellContentFromEditor() is called to replace the contents of the cell with the contents of the cell's editor.
+.PP
+Finally clearCellWidget() is called to remove the editor widget.
+.PP
+See also setCellContentFromEditor() and beginEdit().
+.SH "void QTable::ensureCellVisible ( int row, int col )"
+Scrolls the table until the cell at \fIrow\fR, \fIcol\fR becomes visible.
+.SH "FocusStyle QTable::focusStyle () const"
+Returns how the current (focus) cell is drawn. See the "focusStyle" property for details.
+.SH "void QTable::hideColumn ( int col )\fC [virtual slot]\fR"
+Hides column \fIcol\fR.
+.PP
+See also showColumn() and hideRow().
+.SH "void QTable::hideRow ( int row )\fC [virtual slot]\fR"
+Hides row \fIrow\fR.
+.PP
+See also showRow() and hideColumn().
+.SH "QHeader * QTable::horizontalHeader () const"
+Returns the table's top QHeader.
+.PP
+This header contains the column labels.
+.PP
+To modify a column label use QHeader::setLabel(), e.g.
+.PP
+.nf
+.br
+ horizontalHeader()->setLabel( 0, tr( "File" ) );
+.fi
+.PP
+See also verticalHeader(), setTopMargin(), and QHeader.
+.PP
+Examples:
+.)l chart/setdataform.cpp, helpsystem/mainwindow.cpp, regexptester/regexptester.cpp, and table/small-table-demo/main.cpp.
+.SH "int QTable::indexOf ( int row, int col ) const\fC [protected]\fR"
+Returns a single integer which identifies a particular \fIrow\fR and \fIcol\fR by mapping the 2D table to a 1D array.
+.PP
+This is useful, for example, if you have a sparse table and want to use a QIntDict to map integers to the cells that are used.
+.SH "void QTable::insertColumns ( int col, int count = 1 )\fC [virtual slot]\fR"
+Inserts \fIcount\fR empty columns at column \fIcol\fR. Also clears the selection(s).
+.PP
+See also insertRows() and removeColumn().
+.SH "void QTable::insertRows ( int row, int count = 1 )\fC [virtual slot]\fR"
+Inserts \fIcount\fR empty rows at row \fIrow\fR. Also clears the selection(s).
+.PP
+See also insertColumns() and removeRow().
+.SH "void QTable::insertWidget ( int row, int col, QWidget * w )\fC [virtual protected]\fR"
+Inserts widget \fIw\fR at \fIrow\fR, \fIcol\fR into the internal data structure. See the documentation of setCellWidget() for further details.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.SH "bool QTable::isColumnHidden ( int col ) const\fC [slot]\fR"
+Returns TRUE if column \fIcol\fR is hidden; otherwise returns FALSE.
+.PP
+See also hideColumn() and isRowHidden().
+.SH "bool QTable::isColumnReadOnly ( int col ) const"
+Returns TRUE if column \fIcol\fR is read-only; otherwise returns FALSE.
+.PP
+Whether a cell in this column is editable or read-only depends on the cell's EditType, and this setting: see QTableItem::EditType.
+.PP
+See also setColumnReadOnly() and isRowReadOnly().
+.SH "bool QTable::isColumnSelected ( int col, bool full = FALSE ) const"
+Returns TRUE if column \fIcol\fR is selected; otherwise returns FALSE.
+.PP
+If \fIfull\fR is FALSE (the default), 'column is selected' means that at least one cell in the column is selected. If \fIfull\fR is TRUE, then 'column is selected' means every cell in the column is selected.
+.PP
+See also isRowSelected() and isSelected().
+.SH "bool QTable::isColumnStretchable ( int col ) const\fC [slot]\fR"
+Returns TRUE if column \fIcol\fR is stretchable; otherwise returns FALSE.
+.PP
+See also setColumnStretchable() and isRowStretchable().
+.SH "bool QTable::isEditing () const\fC [protected]\fR"
+Returns TRUE if the EditMode is Editing or Replacing; otherwise (i.e. the EditMode is NotEditing) returns FALSE.
+.PP
+See also QTable::EditMode.
+.SH "bool QTable::isReadOnly () const"
+Returns TRUE if the table is read-only; otherwise returns FALSE. See the "readOnly" property for details.
+.SH "bool QTable::isRowHidden ( int row ) const\fC [slot]\fR"
+Returns TRUE if row \fIrow\fR is hidden; otherwise returns FALSE.
+.PP
+See also hideRow() and isColumnHidden().
+.SH "bool QTable::isRowReadOnly ( int row ) const"
+Returns TRUE if row \fIrow\fR is read-only; otherwise returns FALSE.
+.PP
+Whether a cell in this row is editable or read-only depends on the cell's EditType, and this setting: see QTableItem::EditType.
+.PP
+See also setRowReadOnly() and isColumnReadOnly().
+.SH "bool QTable::isRowSelected ( int row, bool full = FALSE ) const"
+Returns TRUE if row \fIrow\fR is selected; otherwise returns FALSE.
+.PP
+If \fIfull\fR is FALSE (the default), 'row is selected' means that at least one cell in the row is selected. If \fIfull\fR is TRUE, then 'row is selected' means every cell in the row is selected.
+.PP
+See also isColumnSelected() and isSelected().
+.SH "bool QTable::isRowStretchable ( int row ) const\fC [slot]\fR"
+Returns TRUE if row \fIrow\fR is stretchable; otherwise returns FALSE.
+.PP
+See also setRowStretchable() and isColumnStretchable().
+.SH "bool QTable::isSelected ( int row, int col ) const"
+Returns TRUE if the cell at \fIrow\fR, \fIcol\fR is selected; otherwise returns FALSE.
+.PP
+See also isRowSelected() and isColumnSelected().
+.SH "QTableItem * QTable::item ( int row, int col ) const\fC [virtual]\fR"
+Returns the QTableItem representing the contents of the cell at \fIrow\fR, \fIcol\fR.
+.PP
+If \fIrow\fR or \fIcol\fR are out of range or no content has been set for this cell, item() returns 0.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.PP
+See also setItem().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "int QTable::numCols () const\fC [virtual]\fR"
+Returns the number of columns in the table. See the "numCols" property for details.
+.PP
+Reimplemented in QDataTable.
+.SH "int QTable::numRows () const\fC [virtual]\fR"
+Returns the number of rows in the table. See the "numRows" property for details.
+.PP
+Reimplemented in QDataTable.
+.SH "int QTable::numSelections () const"
+Returns the number of selections. See the "numSelections" property for details.
+.SH "void QTable::paintCell ( QPainter * p, int row, int col, const QRect & cr, bool selected, const QColorGroup & cg )\fC [virtual]\fR"
+Paints the cell at \fIrow\fR, \fIcol\fR on the painter \fIp\fR. The painter has already been translated to the cell's origin. \fIcr\fR describes the cell coordinates in the content coordinate system.
+.PP
+If \fIselected\fR is TRUE the cell is highlighted.
+.PP
+\fIcg\fR is the colorgroup which should be used to draw the cell content.
+.PP
+If you want to draw custom cell content, for example right-aligned text, you must either reimplement paintCell(), or subclass QTableItem and reimplement QTableItem::paint() to do the custom drawing.
+.PP
+If you're using a QTableItem subclass, for example, to store a data structure, then reimplementing QTableItem::paint() may be the best approach. For data you want to draw immediately, e.g. data retrieved from a database, it is probably best to reimplement paintCell(). Note that if you reimplement paintCell(), i.e. don't use QTableItems, you must reimplement other functions: see the notes on large tables.
+.PP
+Note that the painter is not clipped by default in order to get maximum efficiency. If you want clipping, use code like this:
+.PP
+.nf
+.br
+ p->setClipRect( cellRect(row, col), QPainter::CoordPainter );
+.br
+ //... your drawing code
+.br
+ p->setClipping( FALSE );
+.br
+.fi
+.SH "void QTable::paintCell ( QPainter * p, int row, int col, const QRect & cr, bool selected )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Use the other paintCell() function. This function is only included for backwards compatibilty.
+.SH "void QTable::paintEmptyArea ( QPainter * p, int cx, int cy, int cw, int ch )\fC [virtual protected]\fR"
+This function fills the \fIcw\fR pixels wide and \fIch\fR pixels high rectangle starting at position \fIcx\fR, \fIcy\fR with the background color using the painter \fIp\fR.
+.PP
+paintEmptyArea() is invoked by drawContents() to erase or fill unused areas.
+.SH "void QTable::paintFocus ( QPainter * p, const QRect & cr )\fC [virtual]\fR"
+Draws the focus rectangle of the current cell (see currentRow(), currentColumn()).
+.PP
+The painter \fIp\fR is already translated to the cell's origin, while \fIcr\fR specifies the cell's geometry in content coordinates.
+.SH "QPixmap QTable::pixmap ( int row, int col ) const\fC [virtual]\fR"
+Returns the pixmap set for the cell at \fIrow\fR, \fIcol\fR, or a null-pixmap if the cell contains no pixmap.
+.PP
+See also setPixmap().
+.PP
+Example: chart/setdataform.cpp.
+.SH "void QTable::pressed ( int row, int col, int button, const QPoint & mousePos )\fC [signal]\fR"
+This signal is emitted when mouse button \fIbutton\fR is pressed. The cell where the event took place is at \fIrow\fR, \fIcol\fR, and the mouse's position is in \fImousePos\fR.
+.PP
+See also Qt::ButtonState.
+.SH "void QTable::removeColumn ( int col )\fC [virtual slot]\fR"
+Removes column \fIcol\fR, and deletes all its cells including any table items and widgets the cells may contain. Also clears the selection(s).
+.PP
+See also removeColumns(), hideColumn(), insertColumns(), and removeRow().
+.SH "void QTable::removeColumns ( const QMemArray<int> & cols )\fC [virtual slot]\fR"
+Removes the columns listed in the array \fIcols\fR, and deletes all their cells including any table items and widgets the cells may contain.
+.PP
+The array passed in must only contain valid columns (in the range from 0 to numCols() - 1) with no duplicates, and must be sorted in ascending order. Also clears the selection(s).
+.PP
+See also removeColumn(), insertColumns(), and removeRows().
+.SH "void QTable::removeRow ( int row )\fC [virtual slot]\fR"
+Removes row \fIrow\fR, and deletes all its cells including any table items and widgets the cells may contain. Also clears the selection(s).
+.PP
+See also hideRow(), insertRows(), removeColumn(), and removeRows().
+.SH "void QTable::removeRows ( const QMemArray<int> & rows )\fC [virtual slot]\fR"
+Removes the rows listed in the array \fIrows\fR, and deletes all their cells including any table items and widgets the cells may contain.
+.PP
+The array passed in must only contain valid rows (in the range from 0 to numRows() - 1) with no duplicates, and must be sorted in ascending order. Also clears the selection(s).
+.PP
+See also removeRow(), insertRows(), and removeColumns().
+.SH "void QTable::removeSelection ( const QTableSelection & s )\fC [virtual]\fR"
+If the table has a selection, \fIs\fR, this selection is removed from the table.
+.PP
+See also addSelection() and numSelections.
+.SH "void QTable::removeSelection ( int num )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes selection number \fInum\fR from the table.
+.PP
+See also numSelections, addSelection(), and clearSelection().
+.SH "void QTable::repaintSelections ()"
+Repaints all selections
+.SH "void QTable::resizeData ( int len )\fC [virtual protected]\fR"
+This is called when QTable's internal array needs to be resized to \fIlen\fR elements.
+.PP
+If you don't use QTableItems you should reimplement this as an empty method to avoid wasting memory. See the notes on large tables for further details.
+.SH "int QTable::rowAt ( int y ) const\fC [virtual]\fR"
+Returns the number of the row at position \fIy\fR. \fIy\fR must be given in content coordinates.
+.PP
+See also rowPos() and columnAt().
+.SH "int QTable::rowHeight ( int row ) const\fC [virtual]\fR"
+Returns the height of row \fIrow\fR.
+.PP
+See also setRowHeight() and columnWidth().
+.PP
+Example: table/small-table-demo/main.cpp.
+.SH "void QTable::rowHeightChanged ( int row )\fC [virtual protected slot]\fR"
+This function should be called whenever the row height of \fIrow\fR has been changed. It updates the geometry of any affected rows and repaints the table to reflect the changes it has made.
+.SH "void QTable::rowIndexChanged ( int section, int fromIndex, int toIndex )\fC [virtual protected slot]\fR"
+This function is called when the order of the rows is to be changed, i.e. the user moved the row header section \fIsection\fR from \fIfromIndex\fR to \fItoIndex\fR.
+.PP
+If you want to change the order programmatically, call swapRows() or swapColumns();
+.PP
+See also QHeader::indexChange() and columnIndexChanged().
+.SH "bool QTable::rowMovingEnabled () const"
+Returns TRUE if rows can be moved by the user; otherwise returns FALSE. See the "rowMovingEnabled" property for details.
+.SH "int QTable::rowPos ( int row ) const\fC [virtual]\fR"
+Returns the y-coordinate of the row \fIrow\fR in content coordinates.
+.PP
+See also rowAt() and columnPos().
+.SH "void QTable::selectCells ( int start_row, int start_col, int end_row, int end_col )"
+Selects the range starting at \fIstart_row\fR and \fIstart_col\fR and ending at \fIend_row\fR and \fIend_col\fR.
+.PP
+See also QTableSelection.
+.SH "void QTable::selectColumn ( int col )"
+Selects the column \fIcol\fR.
+.PP
+See also QTableSelection.
+.SH "void QTable::selectRow ( int row )"
+Selects the row \fIrow\fR.
+.PP
+See also QTableSelection.
+.SH "QTableSelection QTable::selection ( int num ) const"
+Returns selection number \fInum\fR, or an inactive QTableSelection if \fInum\fR is out of range (see QTableSelection::isActive()).
+.SH "void QTable::selectionChanged ()\fC [signal]\fR"
+This signal is emitted whenever a selection changes.
+.PP
+See also QTableSelection.
+.SH "SelectionMode QTable::selectionMode () const"
+Returns the current selection mode. See the "selectionMode" property for details.
+.SH "void QTable::setCellContentFromEditor ( int row, int col )\fC [virtual protected]\fR"
+This function is called to replace the contents of the cell at \fIrow\fR, \fIcol\fR with the contents of the cell's editor.
+.PP
+If there already exists a QTableItem for the cell, it calls QTableItem::setContentFromEditor() on this QTableItem.
+.PP
+If, for example, you want to create different QTableItems depending on the contents of the editor, you might reimplement this function.
+.PP
+If you want to work without QTableItems, you will need to reimplement this function to save the data the user entered into your data structure. (See the notes on large tables.)
+.PP
+See also QTableItem::setContentFromEditor() and createEditor().
+.SH "void QTable::setCellWidget ( int row, int col, QWidget * e )\fC [virtual]\fR"
+Sets the widget \fIe\fR to the cell at \fIrow\fR, \fIcol\fR and takes care of placing and resizing the widget when the cell geometry changes.
+.PP
+By default widgets are inserted into a vector with numRows() * numCols() elements. In very large tables you will probably want to store the widgets in a data structure that consumes less memory (see the notes on large tables). To support the use of your own data structure this function calls insertWidget() to add the widget to the internal data structure. To use your own data structure reimplement insertWidget(), cellWidget() and clearCellWidget().
+.PP
+Cell widgets are created dynamically with the \fCnew\fR operator. The cell widgets are destroyed automatically once the table is destroyed; the table takes ownership of the widget when using setCellWidget.
+.PP
+Example: chart/setdataform.cpp.
+.SH "void QTable::setColumnLabels ( const QStringList & labels )\fC [slot]\fR"
+Sets the section labels of the horizontalHeader() to \fIlabels\fR
+.SH "void QTable::setColumnMovingEnabled ( bool b )\fC [virtual slot]\fR"
+Sets whether columns can be moved by the user to \fIb\fR. See the "columnMovingEnabled" property for details.
+.SH "void QTable::setColumnReadOnly ( int col, bool ro )\fC [virtual slot]\fR"
+If \fIro\fR is TRUE, column \fIcol\fR is set to be read-only; otherwise the column is set to be editable.
+.PP
+Whether a cell in this column is editable or read-only depends on the cell's EditType, and this setting: see QTableItem::EditType.
+.PP
+See also isColumnReadOnly(), setRowReadOnly(), and readOnly.
+.PP
+Example: chart/setdataform.cpp.
+.SH "void QTable::setColumnStretchable ( int col, bool stretch )\fC [virtual slot]\fR"
+If \fIstretch\fR is TRUE, column \fIcol\fR is set to be stretchable; otherwise column \fIcol\fR is set to be unstretchable.
+.PP
+If the table widget's width decreases or increases stretchable columns will grow narrower or wider to fit the space available as completely as possible. The user cannot manually resize stretchable columns.
+.PP
+See also isColumnStretchable(), setRowStretchable(), and adjustColumn().
+.SH "void QTable::setColumnWidth ( int col, int w )\fC [virtual slot]\fR"
+Resizes column \fIcol\fR to be \fIw\fR pixels wide.
+.PP
+See also columnWidth() and setRowHeight().
+.PP
+Example: chart/setdataform.cpp.
+.PP
+Reimplemented in QDataTable.
+.SH "void QTable::setCurrentCell ( int row, int col )\fC [virtual slot]\fR"
+Moves the focus to the cell at \fIrow\fR, \fIcol\fR.
+.PP
+See also currentRow() and currentColumn().
+.SH "void QTable::setDragEnabled ( bool b )\fC [virtual slot]\fR"
+If \fIb\fR is TRUE, the table starts a drag (see dragObject()) when the user presses and moves the mouse on a selected cell.
+.SH "void QTable::setEditMode ( EditMode mode, int row, int col )\fC [protected]\fR"
+Sets the current edit mode to \fImode\fR, the current edit row to \fIrow\fR and the current edit column to \fIcol\fR.
+.PP
+See also EditMode.
+.SH "void QTable::setFocusStyle ( FocusStyle fs )\fC [virtual]\fR"
+Sets how the current (focus) cell is drawn to \fIfs\fR. See the "focusStyle" property for details.
+.SH "void QTable::setItem ( int row, int col, QTableItem * item )\fC [virtual]\fR"
+Inserts the table item \fIitem\fR into the table at row \fIrow\fR, column \fIcol\fR, and repaints the cell. If a table item already exists in this cell it is deleted and replaced with \fIitem\fR. The table takes ownership of the table item.
+.PP
+If you don't use QTableItems you may need to reimplement this function: see the notes on large tables.
+.PP
+See also item() and takeItem().
+.PP
+Examples:
+.)l helpsystem/mainwindow.cpp and table/small-table-demo/main.cpp.
+.SH "void QTable::setLeftMargin ( int m )\fC [virtual slot]\fR"
+Sets the left margin to be \fIm\fR pixels wide.
+.PP
+The verticalHeader(), which displays row labels, occupies this margin.
+.PP
+In an Arabic or Hebrew localization, the verticalHeader() will appear on the right side of the table, and this call will set the right margin.
+.PP
+See also leftMargin(), setTopMargin(), and verticalHeader().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "void QTable::setNumCols ( int r )\fC [virtual slot]\fR"
+Sets the number of columns in the table to \fIr\fR. See the "numCols" property for details.
+.SH "void QTable::setNumRows ( int r )\fC [virtual slot]\fR"
+Sets the number of rows in the table to \fIr\fR. See the "numRows" property for details.
+.SH "void QTable::setPixmap ( int row, int col, const QPixmap & pix )\fC [virtual]\fR"
+Sets the pixmap in the cell at \fIrow\fR, \fIcol\fR to \fIpix\fR.
+.PP
+If the cell does not contain a table item a QTableItem is created with an EditType of \fCOnTyping\fR, otherwise the existing table item's pixmap (if any) is replaced with \fIpix\fR.
+.PP
+Note that QComboTableItems and QCheckTableItems don't show pixmaps.
+.PP
+See also pixmap(), setText(), setItem(), and QTableItem::setPixmap().
+.PP
+Examples:
+.)l chart/setdataform.cpp and table/small-table-demo/main.cpp.
+.SH "void QTable::setReadOnly ( bool b )\fC [virtual slot]\fR"
+Sets whether the table is read-only to \fIb\fR. See the "readOnly" property for details.
+.SH "void QTable::setRowHeight ( int row, int h )\fC [virtual slot]\fR"
+Resizes row \fIrow\fR to be \fIh\fR pixels high.
+.PP
+See also rowHeight() and setColumnWidth().
+.SH "void QTable::setRowLabels ( const QStringList & labels )\fC [slot]\fR"
+Sets the section labels of the verticalHeader() to \fIlabels\fR
+.SH "void QTable::setRowMovingEnabled ( bool b )\fC [virtual slot]\fR"
+Sets whether rows can be moved by the user to \fIb\fR. See the "rowMovingEnabled" property for details.
+.SH "void QTable::setRowReadOnly ( int row, bool ro )\fC [virtual slot]\fR"
+If \fIro\fR is TRUE, row \fIrow\fR is set to be read-only; otherwise the row is set to be editable.
+.PP
+Whether a cell in this row is editable or read-only depends on the cell's EditType, and this setting: see QTableItem::EditType.
+.PP
+See also isRowReadOnly(), setColumnReadOnly(), and readOnly.
+.SH "void QTable::setRowStretchable ( int row, bool stretch )\fC [virtual slot]\fR"
+If \fIstretch\fR is TRUE, row \fIrow\fR is set to be stretchable; otherwise row \fIrow\fR is set to be unstretchable.
+.PP
+If the table widget's height decreases or increases stretchable rows will grow shorter or taller to fit the space available as completely as possible. The user cannot manually resize stretchable rows.
+.PP
+See also isRowStretchable() and setColumnStretchable().
+.SH "void QTable::setSelectionMode ( SelectionMode mode )\fC [virtual]\fR"
+Sets the current selection mode to \fImode\fR. See the "selectionMode" property for details.
+.SH "void QTable::setShowGrid ( bool b )\fC [virtual slot]\fR"
+Sets whether the table's grid is displayed to \fIb\fR. See the "showGrid" property for details.
+.SH "void QTable::setSorting ( bool b )\fC [virtual slot]\fR"
+Sets whether a click on the header of a column sorts that column to \fIb\fR. See the "sorting" property for details.
+.SH "void QTable::setText ( int row, int col, const QString & text )\fC [virtual]\fR"
+Sets the text in the cell at \fIrow\fR, \fIcol\fR to \fItext\fR.
+.PP
+If the cell does not contain a table item a QTableItem is created with an EditType of \fCOnTyping\fR, otherwise the existing table item's text (if any) is replaced with \fItext\fR.
+.PP
+See also text(), setPixmap(), setItem(), and QTableItem::setText().
+.PP
+Examples:
+.)l chart/setdataform.cpp, helpsystem/mainwindow.cpp, regexptester/regexptester.cpp, and table/small-table-demo/main.cpp.
+.SH "void QTable::setTopMargin ( int m )\fC [virtual slot]\fR"
+Sets the top margin to be \fIm\fR pixels high.
+.PP
+The horizontalHeader(), which displays column labels, occupies this margin.
+.PP
+See also topMargin() and setLeftMargin().
+.PP
+Example: regexptester/regexptester.cpp.
+.SH "void QTable::showColumn ( int col )\fC [virtual slot]\fR"
+Shows column \fIcol\fR.
+.PP
+See also hideColumn() and showRow().
+.SH "bool QTable::showGrid () const"
+Returns TRUE if the table's grid is displayed; otherwise returns FALSE. See the "showGrid" property for details.
+.SH "void QTable::showRow ( int row )\fC [virtual slot]\fR"
+Shows row \fIrow\fR.
+.PP
+See also hideRow() and showColumn().
+.SH "void QTable::sortColumn ( int col, bool ascending = TRUE, bool wholeRows = FALSE )\fC [virtual]\fR"
+Sorts column \fIcol\fR. If \fIascending\fR is TRUE the sort is in ascending order, otherwise the sort is in descending order.
+.PP
+If \fIwholeRows\fR is TRUE, entire rows are sorted using swapRows(); otherwise only cells in the column are sorted using swapCells().
+.PP
+Note that if you are not using QTableItems you will need to reimplement swapRows() and swapCells(). (See the notes on large tables.)
+.PP
+See also swapRows().
+.PP
+Example: table/statistics/statistics.cpp.
+.PP
+Reimplemented in QDataTable.
+.SH "bool QTable::sorting () const"
+Returns TRUE if a click on the header of a column sorts that column; otherwise returns FALSE. See the "sorting" property for details.
+.SH "void QTable::startDrag ()\fC [virtual protected]\fR"
+Starts a drag.
+.PP
+Usually you don't need to call or reimplement this function yourself.
+.PP
+See also dragObject().
+.SH "void QTable::swapCells ( int row1, int col1, int row2, int col2 )\fC [virtual slot]\fR"
+Swaps the contents of the cell at \fIrow1\fR, \fIcol1\fR with the contents of the cell at \fIrow2\fR, \fIcol2\fR.
+.PP
+This function is also called when the table is sorted.
+.PP
+If you don't use QTableItems and want your users to be able to swap cells, you will need to reimplement this function. (See the notes on large tables.)
+.PP
+See also swapColumns() and swapRows().
+.SH "void QTable::swapColumns ( int col1, int col2, bool swapHeader = FALSE )\fC [virtual slot]\fR"
+Swaps the data in \fIcol1\fR with \fIcol2\fR.
+.PP
+This function is used to swap the positions of two columns. It is called when the user changes the order of columns (see setColumnMovingEnabled(), and when columns are sorted.
+.PP
+If you don't use QTableItems and want your users to be able to swap columns you will need to reimplement this function. (See the notes on large tables.)
+.PP
+If \fIswapHeader\fR is TRUE, the columns' header contents is also swapped.
+.PP
+See also swapCells().
+.SH "void QTable::swapRows ( int row1, int row2, bool swapHeader = FALSE )\fC [virtual slot]\fR"
+Swaps the data in \fIrow1\fR and \fIrow2\fR.
+.PP
+This function is used to swap the positions of two rows. It is called when the user changes the order of rows (see setRowMovingEnabled()), and when rows are sorted.
+.PP
+If you don't use QTableItems and want your users to be able to swap rows, e.g. for sorting, you will need to reimplement this function. (See the notes on large tables.)
+.PP
+If \fIswapHeader\fR is TRUE, the rows' header contents is also swapped.
+.PP
+This function will not update the QTable, you will have to do this manually, e.g. by calling updateContents().
+.PP
+See also swapColumns() and swapCells().
+.SH "void QTable::takeItem ( QTableItem * i )\fC [virtual]\fR"
+Takes the table item \fIi\fR out of the table. This function does \fInot\fR delete the table item. You must either delete the table item yourself or put it into a table (using setItem()) which will then take ownership of it.
+.PP
+Use this function if you want to move an item from one cell in a table to another, or to move an item from one table to another, reinserting the item with setItem().
+.PP
+If you want to exchange two cells use swapCells().
+.SH "QString QTable::text ( int row, int col ) const\fC [virtual]\fR"
+Returns the text in the cell at \fIrow\fR, \fIcol\fR, or QString::null if the relevant item does not exist or has no text.
+.PP
+See also setText() and setPixmap().
+.PP
+Example: chart/setdataform.cpp.
+.PP
+Reimplemented in QDataTable.
+.SH "void QTable::updateCell ( int row, int col )"
+Repaints the cell at \fIrow\fR, \fIcol\fR.
+.SH "void QTable::updateHeaderStates ()"
+This functions updates all the header states to be in sync with the current selections. This should be called after programatically changing, adding or removing selections, so that the headers are updated.
+.SH "void QTable::valueChanged ( int row, int col )\fC [signal]\fR"
+This signal is emitted when the user changed the value in the cell at \fIrow\fR, \fIcol\fR.
+.PP
+Example: chart/setdataform.cpp.
+.SH "QHeader * QTable::verticalHeader () const"
+Returns the table's vertical QHeader.
+.PP
+This header contains the row labels.
+.PP
+See also horizontalHeader(), setLeftMargin(), and QHeader.
+.PP
+Examples:
+.)l helpsystem/mainwindow.cpp and regexptester/regexptester.cpp.
+.SS "Property Documentation"
+.SH "bool columnMovingEnabled"
+This property holds whether columns can be moved by the user.
+.PP
+The default is FALSE. Columns are moved by dragging whilst holding down the Ctrl key.
+.PP
+\fBWarning:\fR If QTable is used to move header sections as a result of user interaction, the mapping between header indexes and section exposed by QHeader will not reflect the order of the headers in the table; i.e., QTable does not call QHeader::moveSection() to move sections but handles move operations internally.
+.PP
+See also rowMovingEnabled.
+.PP
+Set this property's value with setColumnMovingEnabled() and get this property's value with columnMovingEnabled().
+.SH "FocusStyle focusStyle"
+This property holds how the current (focus) cell is drawn.
+.PP
+The default style is SpreadSheet.
+.PP
+See also QTable::FocusStyle.
+.PP
+Set this property's value with setFocusStyle() and get this property's value with focusStyle().
+.SH "int numCols"
+This property holds the number of columns in the table.
+.PP
+Set this property's value with setNumCols() and get this property's value with numCols().
+.PP
+See also numRows.
+.SH "int numRows"
+This property holds the number of rows in the table.
+.PP
+Set this property's value with setNumRows() and get this property's value with numRows().
+.PP
+See also numCols.
+.SH "int numSelections"
+This property holds the number of selections.
+.PP
+Get this property's value with numSelections().
+.PP
+See also currentSelection().
+.SH "bool readOnly"
+This property holds whether the table is read-only.
+.PP
+Whether a cell in the table is editable or read-only depends on the cell's EditType, and this setting: see QTableItem::EditType.
+.PP
+See also QWidget::enabled, setColumnReadOnly(), and setRowReadOnly().
+.PP
+Set this property's value with setReadOnly() and get this property's value with isReadOnly().
+.SH "bool rowMovingEnabled"
+This property holds whether rows can be moved by the user.
+.PP
+The default is FALSE. Rows are moved by dragging whilst holding down the Ctrl key.
+.PP
+\fBWarning:\fR If QTable is used to move header sections as a result of user interaction, the mapping between header indexes and section exposed by QHeader will not reflect the order of the headers in the table; i.e., QTable does not call QHeader::moveSection() to move sections but handles move operations internally.
+.PP
+See also columnMovingEnabled.
+.PP
+Set this property's value with setRowMovingEnabled() and get this property's value with rowMovingEnabled().
+.SH "SelectionMode selectionMode"
+This property holds the current selection mode.
+.PP
+The default mode is Multi which allows the user to select multiple ranges of cells.
+.PP
+See also SelectionMode and selectionMode.
+.PP
+Set this property's value with setSelectionMode() and get this property's value with selectionMode().
+.SH "bool showGrid"
+This property holds whether the table's grid is displayed.
+.PP
+The grid is shown by default.
+.PP
+Set this property's value with setShowGrid() and get this property's value with showGrid().
+.SH "bool sorting"
+This property holds whether a click on the header of a column sorts that column.
+.PP
+Set this property's value with setSorting() and get this property's value with sorting().
+.PP
+See also sortColumn().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtable.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtable.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtableitem.3qt b/doc/man/man3/qtableitem.3qt
new file mode 100644
index 0000000..aa4b94c
--- /dev/null
+++ b/doc/man/man3/qtableitem.3qt
@@ -0,0 +1,466 @@
+'\" t
+.TH QTableItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTableItem \- The cell content for QTable cells
+.SH SYNOPSIS
+\fC#include <qtable.h>\fR
+.PP
+Inherits Qt.
+.PP
+Inherited by QComboTableItem and QCheckTableItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBEditType\fR { Never, OnTyping, WhenCurrent, Always }"
+.br
+.ti -1c
+.BI "\fBQTableItem\fR ( QTable * table, EditType et )"
+.br
+.ti -1c
+.BI "\fBQTableItem\fR ( QTable * table, EditType et, const QString & text )"
+.br
+.ti -1c
+.BI "\fBQTableItem\fR ( QTable * table, EditType et, const QString & text, const QPixmap & p )"
+.br
+.ti -1c
+.BI "virtual \fB~QTableItem\fR ()"
+.br
+.ti -1c
+.BI "virtual QPixmap \fBpixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPixmap\fR ( const QPixmap & p )"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & str )"
+.br
+.ti -1c
+.BI "QTable * \fBtable\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWordWrap\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBwordWrap\fR () const"
+.br
+.ti -1c
+.BI "EditType \fBeditType\fR () const"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateEditor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetContentFromEditor\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual void \fBsetReplaceable\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisReplaceable\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBkey\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSpan\fR ( int rs, int cs )"
+.br
+.ti -1c
+.BI "int \fBrowSpan\fR () const"
+.br
+.ti -1c
+.BI "int \fBcolSpan\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRow\fR ( int r )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCol\fR ( int c )"
+.br
+.ti -1c
+.BI "int \fBrow\fR () const"
+.br
+.ti -1c
+.BI "int \fBcol\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * p, const QColorGroup & cg, const QRect & cr, bool selected )"
+.br
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBrtti\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTableItem class provides the cell content for QTable cells.
+.PP
+For many applications QTableItems are ideal for presenting and editing the contents of QTable cells. In situations where you need to create very large tables you may prefer an alternative approach to using QTableItems: see the notes on large tables.
+.PP
+A QTableItem contains a cell's data, by default, a string and a pixmap. The table item also holds the cell's display size and how the data should be aligned. The table item specifies the cell's EditType and the editor used for in-place editing (by default a QLineEdit). If you want checkboxes use QCheckTableItem, and if you want comboboxes use QComboTableItem. The EditType (set in the constructor) determines whether the cell's contents may be edited.
+.PP
+If a pixmap is specified it is displayed to the left of any text. You can change the text or pixmap with setText() and setPixmap() respectively. For text you can use setWordWrap().
+.PP
+When sorting table items the key() function is used; by default this returns the table item's text(). Reimplement key() to customize how your table items will sort.
+.PP
+Table items are inserted into a table using QTable::setItem(). If you insert an item into a cell that already contains a table item the original item will be deleted.
+.PP
+Example:
+.PP
+.nf
+.br
+ for ( int row = 0; row < table->numRows(); row++ ) {
+.br
+ for ( int col = 0; col < table->numCols(); col++ ) {
+.br
+ table->setItem( row, col,
+.br
+ new QTableItem( table, QTableItem::WhenCurrent, QString::number( row * col ) ) );
+.br
+ }
+.br
+ }
+.br
+.fi
+.PP
+You can move a table item from one cell to another, in the same or a different table, using QTable::takeItem() and QTable::setItem() but see also QTable::swapCells().
+.PP
+Table items can be deleted with delete in the standard way; the table and cell will be updated accordingly.
+.PP
+Note, that if you have a table item that is not currently in a table then anything you do to that item other than insert it into a table will result in undefined behaviour.
+.PP
+Reimplement createEditor() and setContentFromEditor() if you want to use your own widget instead of a QLineEdit for editing cell contents. Reimplement paint() if you want to display custom content.
+.PP
+It is important to ensure that your custom widget can accept the keyboard focus, so that the user can use the tab key to navigate the table as normal. Therefore, if the widget returned by createEditor() does not itself accept the keyboard focus, it is necessary to nominate a child widget to do so on its behalf. For example, a QHBox with two child QLineEdit widgets may use one of them to accept the keyboard focus:
+.PP
+.nf
+.br
+ QWidget* MyTableItem::createEditor() const
+.br
+ {
+.br
+ QHBox* hbox = new QHBox( table()->viewport() );
+.br
+ hbox->setFocusProxy(new QLineEdit( hbox ));
+.br
+ new QLineEdit( hbox );
+.br
+ return hbox;
+.br
+ }
+.br
+.fi
+.PP
+By default, table items may be replaced by new QTableItems during the lifetime of a QTable. Therefore, if you create your own subclass of QTableItem, and you want to ensure that this does not happen, you must call setReplaceable(FALSE) in the constructor of your subclass.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QCheckTableItem, QComboTableItem, and Advanced Widgets.
+.PP
+.SS "Member Type Documentation"
+.SH "QTableItem::EditType"
+This enum is used to define whether a cell is editable or read-only (in conjunction with other settings), and how the cell should be displayed.
+.TP
+\fCQTableItem::Always\fR - The cell always \fIlooks\fR editable.
+.PP
+Using this EditType ensures that the editor created with createEditor() (by default a QLineEdit) is always visible. This has implications for the alignment of the content: the default editor aligns everything (even numbers) to the left whilst numerical values in the cell are by default aligned to the right.
+.PP
+If a cell with the edit type Always looks misaligned you could reimplement createEditor() for these items.
+.TP
+\fCQTableItem::WhenCurrent\fR - The cell \fIlooks\fR editable only when it has keyboard focus (see QTable::setCurrentCell()).
+.TP
+\fCQTableItem::OnTyping\fR - The cell \fIlooks\fR editable only when the user types in it or double-clicks it. It resembles the WhenCurrent functionality but is, perhaps, nicer.
+.PP
+The OnTyping edit type is the default when QTableItem objects are created by the convenience functions QTable::setText() and QTable::setPixmap().
+.TP
+\fCQTableItem::Never\fR - The cell is not editable.
+.PP
+The cell is actually editable only if QTable::isRowReadOnly() is FALSE for its row, QTable::isColumnReadOnly() is FALSE for its column, and QTable::isReadOnly() is FALSE.
+.PP
+QComboTableItems have an isEditable() property. This property is used to indicate whether the user may enter their own text or are restricted to choosing one of the choices in the list. QComboTableItems may be interacted with only if they are editable in accordance with their EditType as described above.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTableItem::QTableItem ( QTable * table, EditType et )"
+Creates a table item that is a child of table \fItable\fR with no text. The item has the EditType \fIet\fR.
+.PP
+The table item will use a QLineEdit for its editor, will not word-wrap and will occupy a single cell. Insert the table item into a table with QTable::setItem().
+.PP
+The table takes ownership of the table item, so a table item should not be inserted into more than one table at a time.
+.SH "QTableItem::QTableItem ( QTable * table, EditType et, const QString & text )"
+Creates a table item that is a child of table \fItable\fR with text \fItext\fR. The item has the EditType \fIet\fR.
+.PP
+The table item will use a QLineEdit for its editor, will not word-wrap and will occupy a single cell. Insert the table item into a table with QTable::setItem().
+.PP
+The table takes ownership of the table item, so a table item should not be inserted into more than one table at a time.
+.SH "QTableItem::QTableItem ( QTable * table, EditType et, const QString & text, const QPixmap & p )"
+Creates a table item that is a child of table \fItable\fR with text \fItext\fR and pixmap \fIp\fR. The item has the EditType \fIet\fR.
+.PP
+The table item will display the pixmap to the left of the text. It will use a QLineEdit for editing the text, will not word-wrap and will occupy a single cell. Insert the table item into a table with QTable::setItem().
+.PP
+The table takes ownership of the table item, so a table item should not be inserted in more than one table at a time.
+.SH "QTableItem::~QTableItem ()\fC [virtual]\fR"
+The destructor deletes this item and frees all allocated resources.
+.PP
+If the table item is in a table (i.e. was inserted with setItem()), it will be removed from the table and the cell it occupied.
+.SH "int QTableItem::alignment () const\fC [virtual]\fR"
+The alignment function returns how the text contents of the cell are aligned when drawn. The default implementation aligns numbers to the right and any other text to the left.
+.PP
+See also Qt::AlignmentFlags.
+.SH "int QTableItem::col () const"
+Returns the column where the table item is located. If the cell spans multiple columns, this function returns the left-most column.
+.PP
+See also row() and setCol().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "int QTableItem::colSpan () const"
+Returns the column span of the table item, usually 1.
+.PP
+See also setSpan() and rowSpan().
+.SH "QWidget * QTableItem::createEditor () const\fC [virtual]\fR"
+This virtual function creates an editor which the user can interact with to edit the cell's contents. The default implementation creates a QLineEdit.
+.PP
+If the function returns 0, the cell is read-only.
+.PP
+The returned widget should preferably be invisible, ideally with QTable::viewport() as parent.
+.PP
+If you reimplement this function you'll almost certainly need to reimplement setContentFromEditor(), and may need to reimplement sizeHint().
+.PP
+.nf
+.br
+ QWidget *ComboItem::createEditor() const
+.br
+ {
+.br
+ // create an editor - a combobox in our case
+.br
+ ( (ComboItem*)this )->cb = new QComboBox( table()->viewport() );
+.br
+ QObject::connect( cb, SIGNAL( activated( int ) ), table(), SLOT( doValueChanged() ) );
+.br
+ cb->insertItem( "Yes" );
+.br
+ cb->insertItem( "No" );
+.br
+ // and initialize it
+.br
+ cb->setCurrentItem( text() == "No" ? 1 : 0 );
+.br
+ return cb;
+.fi
+.PP
+See also QTable::createEditor(), setContentFromEditor(), QTable::viewport(), and setReplaceable().
+.PP
+Example: table/statistics/statistics.cpp.
+.SH "EditType QTableItem::editType () const"
+Returns the table item's edit type.
+.PP
+This is set when the table item is constructed.
+.PP
+See also EditType and QTableItem().
+.SH "bool QTableItem::isEnabled () const"
+Returns TRUE if the table item is enabled; otherwise returns FALSE.
+.PP
+See also setEnabled().
+.SH "bool QTableItem::isReplaceable () const"
+This function returns whether the contents of the cell may be replaced with the contents of another table item. Regardless of this setting, table items that span more than one cell may not have their contents replaced by another table item.
+.PP
+(This differs from EditType because EditType is concerned with whether the \fIuser\fR is able to change the contents of a cell.)
+.PP
+See also setReplaceable() and EditType.
+.SH "QString QTableItem::key () const\fC [virtual]\fR"
+This virtual function returns the key that should be used for sorting. The default implementation returns the text() of the relevant item.
+.PP
+See also QTable::sorting.
+.SH "void QTableItem::paint ( QPainter * p, const QColorGroup & cg, const QRect & cr, bool selected )\fC [virtual]\fR"
+This virtual function is used to paint the contents of an item using the painter \fIp\fR in the rectangular area \fIcr\fR using the color group \fIcg\fR.
+.PP
+If \fIselected\fR is TRUE the cell is displayed in a way that indicates that it is highlighted.
+.PP
+You don't usually need to use this function but if you want to draw custom content in a cell you will need to reimplement it.
+.PP
+The painter passed to this function is translated so that 0, 0 is the top-left corner of the item that is being painted.
+.PP
+Note that the painter is not clipped by default in order to get maximum efficiency. If you want clipping, use
+.PP
+.nf
+.br
+ p->setClipRect( table()->cellRect(row, col), QPainter::ClipPainter );
+.br
+ //... your drawing code
+.br
+ p->setClipping( FALSE );
+.br
+.fi
+.PP
+Example: table/statistics/statistics.cpp.
+.SH "QPixmap QTableItem::pixmap () const\fC [virtual]\fR"
+Returns the table item's pixmap or a null pixmap if no pixmap has been set.
+.PP
+See also setPixmap() and text().
+.SH "int QTableItem::row () const"
+Returns the row where the table item is located. If the cell spans multiple rows, this function returns the top-most row.
+.PP
+See also col() and setRow().
+.PP
+Example: table/bigtable/main.cpp.
+.SH "int QTableItem::rowSpan () const"
+Returns the row span of the table item, usually 1.
+.PP
+See also setSpan() and colSpan().
+.SH "int QTableItem::rtti () const\fC [virtual]\fR"
+Returns the Run Time Type Identification value for this table item which for QTableItems is 0.
+.PP
+When you create subclasses based on QTableItem make sure that each subclass returns a unique rtti() value. It is advisable to use values greater than 1000, preferably large random numbers, to allow for extensions to this class.
+.PP
+See also QCheckTableItem::rtti() and QComboTableItem::rtti().
+.PP
+Reimplemented in QComboTableItem and QCheckTableItem.
+.SH "void QTableItem::setCol ( int c )\fC [virtual]\fR"
+Sets column \fIc\fR as the table item's column. Usually you will not need to call this function.
+.PP
+If the cell spans multiple columns, this function sets the left-most column and retains the width of the multi-cell table item.
+.PP
+See also col(), setRow(), and colSpan().
+.SH "void QTableItem::setContentFromEditor ( QWidget * w )\fC [virtual]\fR"
+Whenever the content of a cell has been edited by the editor \fIw\fR, QTable calls this virtual function to copy the new values into the QTableItem.
+.PP
+If you reimplement createEditor() and return something that is not a QLineEdit you will need to reimplement this function.
+.PP
+.nf
+.br
+ void ComboItem::setContentFromEditor( QWidget *w )
+.br
+ {
+.br
+ // the user changed the value of the combobox, so synchronize the
+.br
+ // value of the item (its text), with the value of the combobox
+.br
+ if ( w->inherits( "QComboBox" ) )
+.br
+ setText( ( (QComboBox*)w )->currentText() );
+.br
+ else
+.br
+ QTableItem::setContentFromEditor( w );
+.fi
+.PP
+See also QTable::setCellContentFromEditor().
+.PP
+Example: table/statistics/statistics.cpp.
+.SH "void QTableItem::setEnabled ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE, the table item is enabled; if \fIb\fR is FALSE the table item is disabled.
+.PP
+A disabled item doesn't respond to user interaction.
+.PP
+See also isEnabled().
+.SH "void QTableItem::setPixmap ( const QPixmap & p )\fC [virtual]\fR"
+Sets pixmap \fIp\fR to be this item's pixmap.
+.PP
+Note that setPixmap() does not update the cell the table item belongs to. Use QTable::updateCell() to repaint the cell's contents.
+.PP
+For QComboTableItems and QCheckTableItems this function has no visible effect.
+.PP
+See also QTable::setPixmap(), pixmap(), and setText().
+.SH "void QTableItem::setReplaceable ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE it is acceptable to replace the contents of the cell with the contents of another QTableItem. If \fIb\fR is FALSE the contents of the cell may not be replaced by the contents of another table item. Table items that span more than one cell may not have their contents replaced by another table item.
+.PP
+(This differs from EditType because EditType is concerned with whether the \fIuser\fR is able to change the contents of a cell.)
+.PP
+See also isReplaceable().
+.SH "void QTableItem::setRow ( int r )\fC [virtual]\fR"
+Sets row \fIr\fR as the table item's row. Usually you do not need to call this function.
+.PP
+If the cell spans multiple rows, this function sets the top row and retains the height of the multi-cell table item.
+.PP
+See also row(), setCol(), and rowSpan().
+.SH "void QTableItem::setSpan ( int rs, int cs )\fC [virtual]\fR"
+Changes the extent of the QTableItem so that it spans multiple cells covering \fIrs\fR rows and \fIcs\fR columns. The top left cell is the original cell.
+.PP
+\fBWarning:\fR This function only works if the item has already been inserted into the table using e.g. QTable::setItem(). This function also checks to make sure if \fIrs\fR and \fIcs\fR are within the bounds of the table and returns without changing the span if they are not. In addition swapping, inserting or removing rows and columns that cross QTableItems spanning more than one cell is not supported.
+.PP
+See also rowSpan() and colSpan().
+.SH "void QTableItem::setText ( const QString & str )\fC [virtual]\fR"
+Changes the table item's text to \fIstr\fR.
+.PP
+Note that setText() does not update the cell the table item belongs to. Use QTable::updateCell() to repaint the cell's contents.
+.PP
+See also QTable::setText(), text(), setPixmap(), and QTable::updateCell().
+.PP
+Example: table/statistics/statistics.cpp.
+.SH "void QTableItem::setWordWrap ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE, the cell's text will be wrapped over multiple lines, when necessary, to fit the width of the cell; otherwise the text will be written as a single line.
+.PP
+See also wordWrap(), QTable::adjustColumn(), and QTable::setColumnStretchable().
+.SH "QSize QTableItem::sizeHint () const\fC [virtual]\fR"
+This virtual function returns the size a cell needs to show its entire content.
+.PP
+If you subclass QTableItem you will often need to reimplement this function.
+.SH "QTable * QTableItem::table () const"
+Returns the QTable the table item belongs to.
+.PP
+See also QTable::setItem() and QTableItem().
+.SH "QString QTableItem::text () const\fC [virtual]\fR"
+Returns the text of the table item or QString::null if there is no text.
+.PP
+To ensure that the current value of the editor is returned, setContentFromEditor() is called: <ol type=1>
+.TP
+if the editMode() is Always, or
+.TP
+if editMode() is \fInot\fR Always but the editor of the cell is active and the editor is not a QLineEdit.
+.PP
+This means that text() returns the original text value of the item if the editor is a line edit, until the user commits an edit (e.g. by pressing Enter or Tab) in which case the new text is returned. For other editors (e.g. a combobox) setContentFromEditor() is always called so the currently display value is the one returned.
+.PP
+See also setText() and pixmap().
+.SH "bool QTableItem::wordWrap () const"
+Returns TRUE if word wrap is enabled for the cell; otherwise returns FALSE.
+.PP
+See also setWordWrap().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtableitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtableitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtableselection.3qt b/doc/man/man3/qtableselection.3qt
new file mode 100644
index 0000000..984db77
--- /dev/null
+++ b/doc/man/man3/qtableselection.3qt
@@ -0,0 +1,158 @@
+'\" t
+.TH QTableSelection 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTableSelection \- Access to a selected area in a QTable
+.SH SYNOPSIS
+\fC#include <qtable.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTableSelection\fR ()"
+.br
+.ti -1c
+.BI "\fBQTableSelection\fR ( int start_row, int start_col, int end_row, int end_col )"
+.br
+.ti -1c
+.BI "void \fBinit\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "void \fBexpandTo\fR ( int row, int col )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QTableSelection & s ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QTableSelection & s ) const"
+.br
+.ti -1c
+.BI "int \fBtopRow\fR () const"
+.br
+.ti -1c
+.BI "int \fBbottomRow\fR () const"
+.br
+.ti -1c
+.BI "int \fBleftCol\fR () const"
+.br
+.ti -1c
+.BI "int \fBrightCol\fR () const"
+.br
+.ti -1c
+.BI "int \fBanchorRow\fR () const"
+.br
+.ti -1c
+.BI "int \fBanchorCol\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumRows\fR () const"
+.br
+.ti -1c
+.BI "int \fBnumCols\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTableSelection class provides access to a selected area in a QTable.
+.PP
+The selection is a rectangular set of cells in a QTable. One of the rectangle's cells is called the anchor cell; this is the cell that was selected first. The init() function sets the anchor and the selection rectangle to exactly this cell; the expandTo() function expands the selection rectangle to include additional cells.
+.PP
+There are various access functions to find out about the area: anchorRow() and anchorCol() return the anchor's position; leftCol(), rightCol(), topRow() and bottomRow() return the rectangle's four edges. All four are part of the selection.
+.PP
+A newly created QTableSelection is inactive -- isActive() returns FALSE. You must use init() and expandTo() to activate it.
+.PP
+See also QTable, QTable::addSelection(), QTable::selection(), QTable::selectCells(), QTable::selectRow(), QTable::selectColumn(), and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTableSelection::QTableSelection ()"
+Creates an inactive selection. Use init() and expandTo() to activate it.
+.SH "QTableSelection::QTableSelection ( int start_row, int start_col, int end_row, int end_col )"
+Creates an active selection, starting at \fIstart_row\fR and \fIstart_col\fR, ending at \fIend_row\fR and \fIend_col\fR.
+.SH "int QTableSelection::anchorCol () const"
+Returns the anchor column of the selection.
+.PP
+See also anchorRow() and expandTo().
+.SH "int QTableSelection::anchorRow () const"
+Returns the anchor row of the selection.
+.PP
+See also anchorCol() and expandTo().
+.SH "int QTableSelection::bottomRow () const"
+Returns the bottom row of the selection.
+.PP
+See also topRow(), leftCol(), and rightCol().
+.SH "void QTableSelection::expandTo ( int row, int col )"
+Expands the selection to include cell \fIrow\fR, \fIcol\fR. The new selection rectangle is the bounding rectangle of \fIrow\fR, \fIcol\fR and the previous selection rectangle. After calling this function the selection is active.
+.PP
+If you haven't called init(), this function does nothing.
+.PP
+See also init() and isActive().
+.SH "void QTableSelection::init ( int row, int col )"
+Sets the selection anchor to cell \fIrow\fR, \fIcol\fR and the selection to only contain this cell. The selection is not active until expandTo() is called.
+.PP
+To extend the selection to include additional cells, call expandTo().
+.PP
+See also isActive().
+.SH "bool QTableSelection::isActive () const"
+Returns whether the selection is active or not. A selection is active after init() \fIand\fR expandTo() have been called.
+.SH "bool QTableSelection::isEmpty () const"
+Returns whether the selection is empty or not.
+.PP
+See also numRows() and numCols().
+.SH "int QTableSelection::leftCol () const"
+Returns the left column of the selection.
+.PP
+See also topRow(), bottomRow(), and rightCol().
+.SH "int QTableSelection::numCols () const"
+Returns the number of columns in the selection.
+.PP
+See also numRows().
+.SH "int QTableSelection::numRows () const"
+Returns the number of rows in the selection.
+.PP
+See also numCols().
+.SH "bool QTableSelection::operator!= ( const QTableSelection & s ) const"
+Returns TRUE if \fIs\fR does not include the same cells as the selection; otherwise returns FALSE.
+.SH "bool QTableSelection::operator== ( const QTableSelection & s ) const"
+Returns TRUE if \fIs\fR includes the same cells as the selection; otherwise returns FALSE.
+.SH "int QTableSelection::rightCol () const"
+Returns the right column of the selection.
+.PP
+See also topRow(), bottomRow(), and leftCol().
+.SH "int QTableSelection::topRow () const"
+Returns the top row of the selection.
+.PP
+See also bottomRow(), leftCol(), and rightCol().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtableselection.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtableselection.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtabletevent.3qt b/doc/man/man3/qtabletevent.3qt
new file mode 100644
index 0000000..9c1c764
--- /dev/null
+++ b/doc/man/man3/qtabletevent.3qt
@@ -0,0 +1,192 @@
+'\" t
+.TH QTabletEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTabletEvent \- Parameters that describe a Tablet event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBTabletDevice\fR { NoDevice = -1, Puck, Stylus, Eraser }"
+.br
+.ti -1c
+.BI "\fBQTabletEvent\fR ( Type t, const QPoint & pos, const QPoint & globalPos, int device, int pressure, int xTilt, int yTilt, const QPair<int, int> & uId )"
+.br
+.ti -1c
+.BI "QTabletEvent ( const QPoint & pos, const QPoint & globalPos, int device, int pressure, int xTilt, int yTilt, const QPair<int, int> & uId ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBpressure\fR () const"
+.br
+.ti -1c
+.BI "int \fBxTilt\fR () const"
+.br
+.ti -1c
+.BI "int \fByTilt\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBglobalPos\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalX\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalY\fR () const"
+.br
+.ti -1c
+.BI "TabletDevice \fBdevice\fR () const"
+.br
+.ti -1c
+.BI "int \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.ti -1c
+.BI "QPair<int, int> \fBuniqueId\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTabletEvent class contains parameters that describe a Tablet event.
+.PP
+Tablet Events are generated from a Wacom&copy; tablet. Most of the time you will want to deal with events from the tablet as if they were events from a mouse, for example retrieving the position with x(), y(), pos(), globalX(), globalY() and globalPos(). In some situations you may wish to retrieve the extra information provided by the tablet device driver, for example, you might want to adjust color brightness based on pressure. QTabletEvent allows you to get the pressure(), the xTilt() and yTilt(), as well as the type of device being used with device() (see TabletDevice).
+.PP
+A tablet event contains a special accept flag that indicates whether the receiver wants the event. You should call QTabletEvent::accept() if you handle the tablet event; otherwise it will be sent to the parent widget.
+.PP
+The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
+.PP
+The event handler QWidget::tabletEvent() receives all three types of tablet events. Qt will first send a tabletEvent and then, if it is not accepted, it will send a mouse event. This allows applications that don't utilize tablets to use a tablet like a mouse while also enabling those who want to use both tablets and mouses differently.
+.PP
+See also Event Classes.
+.SS "Member Type Documentation"
+.SH "QTabletEvent::TabletDevice"
+This enum defines what type of device is generating the event.
+.TP
+\fCQTabletEvent::NoDevice\fR - No device, or an unknown device.
+.TP
+\fCQTabletEvent::Puck\fR - A Puck (a device that is similar to a flat mouse with a transparent circle with cross-hairs).
+.TP
+\fCQTabletEvent::Stylus\fR - A Stylus (the narrow end of the pen).
+.TP
+\fCQTabletEvent::Eraser\fR - An Eraser (the broad end of the pen).
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTabletEvent::QTabletEvent ( Type t, const QPoint & pos, const QPoint & globalPos, int device, int pressure, int xTilt, int yTilt, const QPair<int, int> & uId )"
+Construct a tablet event of type \fIt\fR. The position of when the event occurred is given int \fIpos\fR and \fIglobalPos\fR. \fIdevice\fR contains the device type, \fIpressure\fR contains the pressure exerted on the \fIdevice\fR, \fIxTilt\fR and \fIyTilt\fR contain \fIdevice\fR's degree of tilt from the X and Y axis respectively. The \fIuId\fR contains an event id.
+.PP
+On Irix, \fIglobalPos\fR will contain the high-resolution coordinates received from the tablet device driver, instead of from the windowing system.
+.PP
+See also pos(), globalPos(), device(), pressure(), xTilt(), and yTilt().
+.SH "QTabletEvent::QTabletEvent ( const QPoint & pos, const QPoint & globalPos, int device, int pressure, int xTilt, int yTilt, const QPair<int, int> & uId )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs a tablet event object. The position when the event occurred is is given in \fIpos\fR and \fIglobalPos\fR. \fIdevice\fR contains the device type, \fIpressure\fR contains the pressure exerted on the \fIdevice\fR, \fIxTilt\fR and \fIyTilt\fR contain the \fIdevice\fR's degrees of tilt from the X and Y axis respectively. The \fIuId\fR contains an event id.
+.PP
+On Irix, \fIglobalPos\fR will contain the high-resolution coordinates received from the tablet device driver, instead of from the windowing system.
+.PP
+See also pos(), globalPos(), device(), pressure(), xTilt(), and yTilt().
+.SH "void QTabletEvent::accept ()"
+Sets the accept flag of the tablet event object.
+.PP
+Setting the accept flag indicates that the receiver of the event wants the tablet event. Unwanted tablet events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also ignore().
+.SH "TabletDevice QTabletEvent::device () const"
+Returns the type of device that generated the event. Useful if you want one end of the pen to do something different than the other.
+.PP
+See also TabletDevice.
+.SH "const QPoint & QTabletEvent::globalPos () const"
+Returns the global position of the device \fIat the time of the event\fR. This is important on asynchronous windows systems like X11; whenever you move your widgets around in response to mouse events, globalPos() can differ significantly from the current position QCursor::pos().
+.PP
+See also globalX() and globalY().
+.SH "int QTabletEvent::globalX () const"
+Returns the global x-position of the mouse pointer at the time of the event.
+.PP
+See also globalY() and globalPos().
+.SH "int QTabletEvent::globalY () const"
+Returns the global y-position of the mouse pointer at the time of the event.
+.PP
+See also globalX() and globalPos().
+.SH "void QTabletEvent::ignore ()"
+Clears the accept flag parameter of the tablet event object.
+.PP
+Clearing the accept flag indicates that the event receiver does not want the tablet event. Unwanted tablet events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also accept().
+.SH "int QTabletEvent::isAccepted () const"
+Returns TRUE if the receiver of the event handles the tablet event; otherwise returns FALSE.
+.SH "const QPoint & QTabletEvent::pos () const"
+Returns the position of the device, relative to the widget that received the event.
+.PP
+If you move widgets around in response to mouse events, use globalPos() instead of this function.
+.PP
+See also x(), y(), and globalPos().
+.SH "int QTabletEvent::pressure () const"
+Returns the pressure that is exerted on the device. This number is a value from 0 (no pressure) to 255 (maximum pressure). The pressure is always scaled to be within this range no matter how many pressure levels the underlying hardware supports.
+.SH "QPair<int, int> QTabletEvent::uniqueId ()"
+Returns a unique ID for the current device. It is possible to generate a unique ID for any Wacom&copy; device. This makes it possible to differentiate between multiple devices being used at the same time on the tablet. The \fCfirst\fR member contains a value for the type, the \fCsecond\fR member contains a physical ID obtained from the device. Each combination of these values is unique. Note: for different platforms, the \fCfirst\fR value is different due to different driver implementations.
+.SH "int QTabletEvent::x () const"
+Returns the x-position of the device, relative to the widget that received the event.
+.PP
+See also y() and pos().
+.SH "int QTabletEvent::xTilt () const"
+Returns the difference from the perpendicular in the X Axis. Positive values are towards the tablet's physical right. The angle is in the range -60 to +60 degrees.
+.PP
+See also yTilt().
+.SH "int QTabletEvent::y () const"
+Returns the y-position of the device, relative to the widget that received the event.
+.PP
+See also x() and pos().
+.SH "int QTabletEvent::yTilt () const"
+Returns the difference from the perpendicular in the Y Axis. Positive values are towards the bottom of the tablet. The angle is within the range -60 to +60 degrees.
+.PP
+See also xTilt().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtabletevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtabletevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtabwidget.3qt b/doc/man/man3/qtabwidget.3qt
new file mode 100644
index 0000000..f08e4c1
--- /dev/null
+++ b/doc/man/man3/qtabwidget.3qt
@@ -0,0 +1,424 @@
+'\" t
+.TH QTabWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTabWidget \- Stack of tabbed widgets
+.SH SYNOPSIS
+\fC#include <qtabwidget.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTabWidget\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBaddTab\fR ( QWidget * child, const QString & label )"
+.br
+.ti -1c
+.BI "virtual void \fBaddTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label )"
+.br
+.ti -1c
+.BI "virtual void \fBaddTab\fR ( QWidget * child, QTab * tab )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertTab\fR ( QWidget * child, const QString & label, int index = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertTab\fR ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertTab\fR ( QWidget * child, QTab * tab, int index = -1 )"
+.br
+.ti -1c
+.BI "void \fBchangeTab\fR ( QWidget * w, const QString & label )"
+.br
+.ti -1c
+.BI "void \fBchangeTab\fR ( QWidget * w, const QIconSet & iconset, const QString & label )"
+.br
+.ti -1c
+.BI "bool \fBisTabEnabled\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "void \fBsetTabEnabled\fR ( QWidget * w, bool enable )"
+.br
+.ti -1c
+.BI "void \fBsetCornerWidget\fR ( QWidget * w, Qt::Corner corner = Qt::TopRight )"
+.br
+.ti -1c
+.BI "QWidget * \fBcornerWidget\fR ( Qt::Corner corner = Qt::TopRight ) const"
+.br
+.ti -1c
+.BI "QString \fBtabLabel\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "void \fBsetTabLabel\fR ( QWidget * w, const QString & l )"
+.br
+.ti -1c
+.BI "QIconSet \fBtabIconSet\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "void \fBsetTabIconSet\fR ( QWidget * w, const QIconSet & iconset )"
+.br
+.ti -1c
+.BI "void \fBremoveTabToolTip\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "void \fBsetTabToolTip\fR ( QWidget * w, const QString & tip )"
+.br
+.ti -1c
+.BI "QString \fBtabToolTip\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBcurrentPage\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBpage\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBlabel\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBcurrentPageIndex\fR () const"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( QWidget * w ) const"
+.br
+.ti -1c
+.BI "enum \fBTabPosition\fR { Top, Bottom }"
+.br
+.ti -1c
+.BI "TabPosition \fBtabPosition\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTabPosition\fR ( TabPosition )"
+.br
+.ti -1c
+.BI "enum \fBTabShape\fR { Rounded, Triangular }"
+.br
+.ti -1c
+.BI "TabShape \fBtabShape\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTabShape\fR ( TabShape s )"
+.br
+.ti -1c
+.BI "int \fBmargin\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMargin\fR ( int )"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetCurrentPage\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBshowPage\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual void \fBremovePage\fR ( QWidget * w )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( QWidget * )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the tab widget is automatically masked \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcount\fR - the number of tabs in the tab bar \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcurrentPage\fR - the index position of the current tab page"
+.br
+.ti -1c
+.BI "int \fBmargin\fR - the margin in this tab widget"
+.br
+.ti -1c
+.BI "TabPosition \fBtabPosition\fR - the position of the tabs in this tab widget"
+.br
+.ti -1c
+.BI "TabShape \fBtabShape\fR - the shape of the tabs in this tab widget"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetTabBar\fR ( QTabBar * tb )"
+.br
+.ti -1c
+.BI "QTabBar * \fBtabBar\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTabWidget class provides a stack of tabbed widgets.
+.PP
+A tab widget provides a tab bar of tabs and a `page area' below (or above, see TabPosition) the tabs. Each tab is associated with a different widget (called a `page'). Only the current tab's page is shown in the page area; all the other tabs' pages are hidden. The user can show a different page by clicking on its tab or by pressing its Alt+\fIletter\fR accelerator if it has one.
+.PP
+The normal way to use QTabWidget is to do the following in the constructor: <ol type=1>
+.IP 1
+Create a QTabWidget.
+.IP 2
+Create a QWidget for each of the pages in the tab dialog, insert children into it, set up geometry management for it and use addTab() (or insertTab()) to set up a tab and keyboard accelerator for it.
+.IP 3
+Connect to the signals and slots.
+.PP
+The position of the tabs is set with setTabPosition(), their shape with setTabShape(), and their margin with setMargin().
+.PP
+If you don't call addTab() and the QTabWidget is already visible, then the page you have created will not be visible. Don't confuse the object name you supply to the QWidget constructor and the tab label you supply to addTab(). addTab() takes a name which indicates an accelerator and is meaningful and descriptive to the user, whereas the widget name is used primarily for debugging.
+.PP
+The signal currentChanged() is emitted when the user selects a page.
+.PP
+The current page is available as an index position with currentPageIndex() or as a wiget pointer with currentPage(). You can retrieve a pointer to a page with a given index using page(), and can find the index position of a page with indexOf(). Use setCurrentPage() to show a particular page by index, or showPage() to show a page by widget pointer.
+.PP
+You can change a tab's label and iconset using changeTab() or setTabLabel() and setTabIconSet(). A tab page can be removed with removePage().
+.PP
+Each tab is either enabled or disabled at any given time (see setTabEnabled()). If a tab is enabled, the tab text is drawn normally and the user can select that tab. If it is disabled, the tab is drawn in a different way and the user cannot select that tab. Note that even if a tab is disabled, the page can still be visible, for example if all of the tabs happen to be disabled.
+.PP
+Although tab widgets can be a very good way to split up a complex dialog, it's also very easy to get into a mess. See QTabDialog for some design hints. An alternative is to use a QWidgetStack for which you provide some means of navigating between pages, for example, a QToolBar or a QListBox.
+.PP
+Most of the functionality in QTabWidget is provided by a QTabBar (at the top, providing the tabs) and a QWidgetStack (most of the area, organizing the individual pages).
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also QTabDialog, QToolBox, Advanced Widgets, and Organizers.
+.SS "Member Type Documentation"
+.SH "QTabWidget::TabPosition"
+This enum type defines where QTabWidget draws the tab row:
+.TP
+\fCQTabWidget::Top\fR - above the pages
+.TP
+\fCQTabWidget::Bottom\fR - below the pages
+.SH "QTabWidget::TabShape"
+This enum type defines the shape of the tabs:
+.TP
+\fCQTabWidget::Rounded\fR - rounded look (normal)
+.TP
+\fCQTabWidget::Triangular\fR - triangular look (very unusual, included for completeness)
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTabWidget::QTabWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a tabbed widget called \fIname\fR with parent \fIparent\fR, and widget flags \fIf\fR.
+.SH "void QTabWidget::addTab ( QWidget * child, const QString & label )\fC [virtual]\fR"
+Adds another tab and page to the tab view.
+.PP
+The new page is \fIchild\fR; the tab's label is \fIlabel\fR. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.
+.PP
+If the tab's \fIlabel\fR contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.
+.PP
+If you call addTab() after show() the screen will flicker and the user may be confused.
+.PP
+Adding the same child twice will have undefined behavior.
+.PP
+See also insertTab().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp and themes/themes.cpp.
+.SH "void QTabWidget::addTab ( QWidget * child, const QIconSet & iconset, const QString & label )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds another tab and page to the tab view.
+.PP
+This function is the same as addTab(), but with an additional \fIiconset\fR.
+.SH "void QTabWidget::addTab ( QWidget * child, QTab * tab )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is a low-level function for adding tabs. It is useful if you are using setTabBar() to set a QTabBar subclass with an overridden QTabBar::paint() function for a subclass of QTab. The \fIchild\fR is the new page and \fItab\fR is the tab to put the \fIchild\fR on.
+.SH "void QTabWidget::changeTab ( QWidget * w, const QString & label )"
+Defines a new \fIlabel\fR for page \fIw\fR's tab.
+.SH "void QTabWidget::changeTab ( QWidget * w, const QIconSet & iconset, const QString & label )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Defines a new \fIiconset\fR and a new \fIlabel\fR for page \fIw\fR's tab.
+.SH "QWidget * QTabWidget::cornerWidget ( Qt::Corner corner = Qt::TopRight ) const"
+Returns the widget shown in the \fIcorner\fR of the tab widget or 0.
+.SH "int QTabWidget::count () const"
+Returns the number of tabs in the tab bar. See the "count" property for details.
+.SH "void QTabWidget::currentChanged ( QWidget * )\fC [signal]\fR"
+This signal is emitted whenever the current page changes. The parameter is the new current page.
+.PP
+See also currentPage(), showPage(), and tabLabel().
+.SH "QWidget * QTabWidget::currentPage () const"
+Returns a pointer to the page currently being displayed by the tab dialog. The tab dialog does its best to make sure that this value is never 0 (but if you try hard enough, it can be).
+.SH "int QTabWidget::currentPageIndex () const"
+Returns the index position of the current tab page. See the "currentPage" property for details.
+.SH "int QTabWidget::indexOf ( QWidget * w ) const"
+Returns the index position of page \fIw\fR, or -1 if the widget cannot be found.
+.SH "void QTabWidget::insertTab ( QWidget * child, const QString & label, int index = -1 )\fC [virtual]\fR"
+Inserts another tab and page to the tab view.
+.PP
+The new page is \fIchild\fR; the tab's label is \fIlabel\fR. Note the difference between the widget name (which you supply to widget constructors and to setTabEnabled(), for example) and the tab label. The name is internal to the program and invariant, whereas the label is shown on-screen and may vary according to language and other factors.
+.PP
+If the tab's \fIlabel\fR contains an ampersand, the letter following the ampersand is used as an accelerator for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes an accelerator which will move the focus to this tab.
+.PP
+If \fIindex\fR is not specified, the tab is simply appended. Otherwise it is inserted at the specified position.
+.PP
+If you call insertTab() after show(), the screen will flicker and the user may be confused.
+.PP
+See also addTab().
+.SH "void QTabWidget::insertTab ( QWidget * child, const QIconSet & iconset, const QString & label, int index = -1 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts another tab and page to the tab view.
+.PP
+This function is the same as insertTab(), but with an additional \fIiconset\fR.
+.SH "void QTabWidget::insertTab ( QWidget * child, QTab * tab, int index = -1 )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This is a lower-level method for inserting tabs, similar to the other insertTab() method. It is useful if you are using setTabBar() to set a QTabBar subclass with an overridden QTabBar::paint() function for a subclass of QTab. The \fIchild\fR is the new page, \fItab\fR is the tab to put the \fIchild\fR on and \fIindex\fR is the position in the tab bar that this page should occupy.
+.SH "bool QTabWidget::isTabEnabled ( QWidget * w ) const"
+Returns TRUE if the page \fIw\fR is enabled; otherwise returns FALSE.
+.PP
+See also setTabEnabled() and QWidget::enabled.
+.SH "QString QTabWidget::label ( int index ) const"
+Returns the label of the tab at index position \fIindex\fR or QString::null if the \fIindex\fR is out of range.
+.SH "int QTabWidget::margin () const"
+Returns the margin in this tab widget. See the "margin" property for details.
+.SH "QWidget * QTabWidget::page ( int index ) const"
+Returns the tab page at index position \fIindex\fR or 0 if the \fIindex\fR is out of range.
+.SH "void QTabWidget::removePage ( QWidget * w )\fC [virtual slot]\fR"
+Removes page \fIw\fR from this stack of widgets. Does not delete \fIw\fR.
+.PP
+See also addTab(), showPage(), and QWidgetStack::removeWidget().
+.SH "void QTabWidget::removeTabToolTip ( QWidget * w )"
+Removes the tab tool tip for page \fIw\fR. If the page does not have a tip, nothing happens.
+.PP
+See also setTabToolTip() and tabToolTip().
+.SH "void QTabWidget::setCornerWidget ( QWidget * w, Qt::Corner corner = Qt::TopRight )"
+Sets widget \fIw\fR to be the shown in the specified \fIcorner\fR of the tab widget.
+.PP
+Only the horizontal element of the \fIcorner\fR will be used.
+.PP
+See also cornerWidget() and tabPosition.
+.SH "void QTabWidget::setCurrentPage ( int )\fC [slot]\fR"
+Sets the index position of the current tab page. See the "currentPage" property for details.
+.SH "void QTabWidget::setMargin ( int )"
+Sets the margin in this tab widget. See the "margin" property for details.
+.SH "void QTabWidget::setTabBar ( QTabBar * tb )\fC [protected]\fR"
+Replaces the dialog's QTabBar heading with the tab bar \fItb\fR. Note that this must be called \fIbefore\fR any tabs have been added, or the behavior is undefined.
+.PP
+See also tabBar().
+.SH "void QTabWidget::setTabEnabled ( QWidget * w, bool enable )"
+If \fIenable\fR is TRUE, page \fIw\fR is enabled; otherwise page \fIw\fR is disabled. The page's tab is redrawn appropriately.
+.PP
+QTabWidget uses QWidget::setEnabled() internally, rather than keeping a separate flag.
+.PP
+Note that even a disabled tab/page may be visible. If the page is visible already, QTabWidget will not hide it; if all the pages are disabled, QTabWidget will show one of them.
+.PP
+See also isTabEnabled() and QWidget::enabled.
+.SH "void QTabWidget::setTabIconSet ( QWidget * w, const QIconSet & iconset )"
+Sets the iconset for page \fIw\fR to \fIiconset\fR.
+.SH "void QTabWidget::setTabLabel ( QWidget * w, const QString & l )"
+Sets the tab label for page \fIw\fR to \fIl\fR
+.SH "void QTabWidget::setTabPosition ( TabPosition )"
+Sets the position of the tabs in this tab widget. See the "tabPosition" property for details.
+.SH "void QTabWidget::setTabShape ( TabShape s )"
+Sets the shape of the tabs in this tab widget to \fIs\fR. See the "tabShape" property for details.
+.SH "void QTabWidget::setTabToolTip ( QWidget * w, const QString & tip )"
+Sets the tab tool tip for page \fIw\fR to \fItip\fR.
+.PP
+See also removeTabToolTip() and tabToolTip().
+.SH "void QTabWidget::showPage ( QWidget * w )\fC [virtual slot]\fR"
+Ensures that page \fIw\fR is shown. This is useful mainly for accelerators.
+.PP
+\fBWarning:\fR Used carelessly, this function can easily surprise or confuse the user.
+.PP
+See also QTabBar::currentTab.
+.SH "QTabBar * QTabWidget::tabBar () const\fC [protected]\fR"
+Returns the current QTabBar.
+.PP
+See also setTabBar().
+.SH "QIconSet QTabWidget::tabIconSet ( QWidget * w ) const"
+Returns the iconset of page \fIw\fR or a null iconset if \fIw\fR is not a tab page or does not have an iconset.
+.SH "QString QTabWidget::tabLabel ( QWidget * w ) const"
+Returns the label text for the tab on page \fIw\fR.
+.SH "TabPosition QTabWidget::tabPosition () const"
+Returns the position of the tabs in this tab widget. See the "tabPosition" property for details.
+.SH "TabShape QTabWidget::tabShape () const"
+Returns the shape of the tabs in this tab widget. See the "tabShape" property for details.
+.SH "QString QTabWidget::tabToolTip ( QWidget * w ) const"
+Returns the tab tool tip for page \fIw\fR or QString::null if no tool tip has been set.
+.PP
+See also setTabToolTip() and removeTabToolTip().
+.SS "Property Documentation"
+.SH "bool autoMask"
+This property holds whether the tab widget is automatically masked.
+.PP
+See also QWidget::autoMask.
+.SH "int count"
+This property holds the number of tabs in the tab bar.
+.PP
+Get this property's value with count().
+.SH "int currentPage"
+This property holds the index position of the current tab page.
+.PP
+Set this property's value with setCurrentPage() and get this property's value with currentPageIndex().
+.PP
+See also QTabBar::currentTab.
+.SH "int margin"
+This property holds the margin in this tab widget.
+.PP
+The margin is the distance between the innermost pixel of the frame and the outermost pixel of the pages.
+.PP
+Set this property's value with setMargin() and get this property's value with margin().
+.SH "TabPosition tabPosition"
+This property holds the position of the tabs in this tab widget.
+.PP
+Possible values for this property are QTabWidget::Top and QTabWidget::Bottom.
+.PP
+See also TabPosition.
+.PP
+Set this property's value with setTabPosition() and get this property's value with tabPosition().
+.SH "TabShape tabShape"
+This property holds the shape of the tabs in this tab widget.
+.PP
+Possible values for this property are QTabWidget::Rounded (default) or QTabWidget::Triangular.
+.PP
+See also TabShape.
+.PP
+Set this property's value with setTabShape() and get this property's value with tabShape().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtabwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtabwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextbrowser.3qt b/doc/man/man3/qtextbrowser.3qt
new file mode 100644
index 0000000..b1d8e22
--- /dev/null
+++ b/doc/man/man3/qtextbrowser.3qt
@@ -0,0 +1,231 @@
+'\" t
+.TH QTextBrowser 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextBrowser \- Rich text browser with hypertext navigation
+.SH SYNOPSIS
+\fC#include <qtextbrowser.h>\fR
+.PP
+Inherits QTextEdit.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextBrowser\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "QString \fBsource\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetSource\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual void \fBbackward\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBforward\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBhome\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBreload\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBbackwardAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBforwardAvailable\fR ( bool available )"
+.br
+.ti -1c
+.BI "void \fBsourceChanged\fR ( const QString & src )"
+.br
+.ti -1c
+.BI "void \fBhighlighted\fR ( const QString & link )"
+.br
+.ti -1c
+.BI "void \fBlinkClicked\fR ( const QString & link )"
+.br
+.ti -1c
+.BI "void \fBanchorClicked\fR ( const QString & name, const QString & link )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBmodified\fR - whether the contents have been modified \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBoverwriteMode\fR - this text browser's overwrite mode \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBreadOnly\fR - whether the contents are read only \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QString \fBsource\fR - the name of the displayed document"
+.br
+.ti -1c
+.BI "int \fBundoDepth\fR - this text browser's undo depth \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBundoRedoEnabled\fR - whether undo and redo are enabled \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBkeyPressEvent\fR ( QKeyEvent * e )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextBrowser class provides a rich text browser with hypertext navigation.
+.PP
+This class extends QTextEdit (in read-only mode), adding some navigation functionality so that users can follow links in hypertext documents. The contents of QTextEdit is set with setText(), but QTextBrowser has an additional function, setSource(), which makes it possible to set the text to a named document. The name is looked up in the text view's mime source factory. If a document name ends with an anchor (for example, "\fC#anchor"\fR), the text browser automatically scrolls to that position (using scrollToAnchor()). When the user clicks on a hyperlink, the browser will call setSource() itself, with the link's \fChref\fR value as argument. You can track the current source by connetion to the sourceChanged() signal.
+.PP
+QTextBrowser provides backward() and forward() slots which you can use to implement Back and Forward buttons. The home() slot sets the text to the very first document displayed. The linkClicked() signal is emitted when the user clicks a link.
+.PP
+By using QTextEdit::setMimeSourceFactory() you can provide your own subclass of QMimeSourceFactory. This makes it possible to access data from anywhere, for example from a network or from a database. See QMimeSourceFactory::data() for details.
+.PP
+If you intend using the mime factory to read the data directly from the file system, you may have to specify the encoding for the file extension you are using. For example:
+.PP
+.nf
+.br
+ mimeSourceFactory()->setExtensionType("qml", "text/utf8");
+.br
+.fi
+This is to ensure that the factory is able to resolve the document names.
+.PP
+QTextBrowser interprets the tags it processes in accordance with the default style sheet. Change the style sheet with setStyleSheet(); see QStyleSheet for details.
+.PP
+If you want to provide your users with editable rich text use QTextEdit. If you want a text browser without hypertext navigation use QTextEdit, and use QTextEdit::setReadOnly() to disable editing. If you just need to display a small piece of rich text use QSimpleRichText or QLabel.
+.PP
+.ce 1
+.B "[Image Omitted]"
+.PP
+
+.ce 1
+.B "[Image Omitted]"
+.PP
+See also Advanced Widgets, Help System, and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextBrowser::QTextBrowser ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty QTextBrowser called \fIname\fR, with parent \fIparent\fR.
+.SH "void QTextBrowser::anchorClicked ( const QString & name, const QString & link )\fC [signal]\fR"
+This signal is emitted when the user clicks an anchor. The \fIlink\fR is the value of the \fChref\fR i.e. the name of the target document. The \fIname\fR is the name of the anchor.
+.PP
+See also linkClicked().
+.SH "void QTextBrowser::backward ()\fC [virtual slot]\fR"
+Changes the document displayed to the previous document in the list of documents built by navigating links. Does nothing if there is no previous document.
+.PP
+See also forward() and backwardAvailable().
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::backwardAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted when the availability of backward() changes. \fIavailable\fR is FALSE when the user is at home(); otherwise it is TRUE.
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::forward ()\fC [virtual slot]\fR"
+Changes the document displayed to the next document in the list of documents built by navigating links. Does nothing if there is no next document.
+.PP
+See also backward() and forwardAvailable().
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::forwardAvailable ( bool available )\fC [signal]\fR"
+This signal is emitted when the availability of forward() changes. \fIavailable\fR is TRUE after the user navigates backward() and FALSE when the user navigates or goes forward().
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::highlighted ( const QString & link )\fC [signal]\fR"
+This signal is emitted when the user has selected but not activated a link in the document. \fIlink\fR is the value of the \fChref\fR i.e. the name of the target document.
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::home ()\fC [virtual slot]\fR"
+Changes the document displayed to be the first document the browser displayed.
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SH "void QTextBrowser::keyPressEvent ( QKeyEvent * e )\fC [virtual protected]\fR"
+The event \fIe\fR is used to provide the following keyboard shortcuts: <center>.nf
+.TS
+l - l. Keypress Action Alt+Left Arrow backward() Alt+Right Arrow forward() Alt+Up Arrow
+.TE
+.fi
+</center>
+.PP
+Reimplemented from QTextEdit.
+.SH "void QTextBrowser::linkClicked ( const QString & link )\fC [signal]\fR"
+This signal is emitted when the user clicks a link. The \fIlink\fR is the value of the \fChref\fR i.e. the name of the target document.
+.PP
+The \fIlink\fR will be the absolute location of the document, based on the value of the anchor's href tag and the current context of the document.
+.PP
+See also anchorClicked() and context().
+.SH "void QTextBrowser::reload ()\fC [virtual slot]\fR"
+Reloads the current set source.
+.SH "void QTextBrowser::setSource ( const QString & name )\fC [virtual slot]\fR"
+Sets the name of the displayed document to \fIname\fR. See the "source" property for details.
+.SH "QString QTextBrowser::source () const"
+Returns the name of the displayed document. See the "source" property for details.
+.SH "void QTextBrowser::sourceChanged ( const QString & src )\fC [signal]\fR"
+This signal is emitted when the mime source has changed, \fIsrc\fR being the new source.
+.PP
+Source changes happen both programmatically when calling setSource(), forward(), backword() or home() or when the user clicks on links or presses the equivalent key sequences.
+.PP
+Example: helpviewer/helpwindow.cpp.
+.SS "Property Documentation"
+.SH "bool modified"
+This property holds whether the contents have been modified.
+.SH "bool overwriteMode"
+This property holds this text browser's overwrite mode.
+.SH "bool readOnly"
+This property holds whether the contents are read only.
+.SH "QString source"
+This property holds the name of the displayed document.
+.PP
+This is a QString::null if no document is displayed or if the source is unknown.
+.PP
+Setting this property uses the mimeSourceFactory() to lookup the named document. It also checks for optional anchors and scrolls the document accordingly.
+.PP
+If the first tag in the document is \fC<qt type=detail>\fR, the document is displayed as a popup rather than as new document in the browser window itself. Otherwise, the document is displayed normally in the text browser with the text set to the contents of the named document with setText().
+.PP
+If you are using the filesystem access capabilities of the mime source factory, you must ensure that the factory knows about the encoding of specified files; otherwise no data will be available. The default factory handles a couple of common file extensions such as \fC*.html\fR and \fC*.txt\fR with reasonable defaults. See QMimeSourceFactory::data() for details.
+.PP
+Set this property's value with setSource() and get this property's value with source().
+.SH "int undoDepth"
+This property holds this text browser's undo depth.
+.SH "bool undoRedoEnabled"
+This property holds whether undo and redo are enabled.
+.PP
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextbrowser.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextbrowser.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextcodec.3qt b/doc/man/man3/qtextcodec.3qt
new file mode 100644
index 0000000..f83835c
--- /dev/null
+++ b/doc/man/man3/qtextcodec.3qt
@@ -0,0 +1,586 @@
+'\" t
+.TH QTextCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextCodec \- Conversion between text encodings
+.SH SYNOPSIS
+Almost all the functions in this class are reentrant when Qt is built with thread support. The exceptions are \fB~QTextCodec\fR(), \fBsetCodecForTr\fR(), \fBsetCodecForCStrings\fR(), and \fBQTextCodec\fR(). </p>
+.PP
+\fC#include <qtextcodec.h>\fR
+.PP
+Inherited by QBig5Codec, QBig5hkscsCodec, QEucJpCodec, QEucKrCodec, QGb18030Codec, QJisCodec, QHebrewCodec, QSjisCodec, and QTsciiCodec.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QTextCodec\fR ()"
+.br
+.ti -1c
+.BI "virtual const char * \fBname\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBmimeName\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBmibEnum\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QTextDecoder * \fBmakeDecoder\fR () const"
+.br
+.ti -1c
+.BI "virtual QTextEncoder * \fBmakeEncoder\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoUnicode\fR ( const char * chars, int len ) const"
+.br
+.ti -1c
+.BI "virtual QCString \fBfromUnicode\fR ( const QString & uc, int & lenInOut ) const"
+.br
+.ti -1c
+.BI "QCString \fBfromUnicode\fR ( const QString & uc ) const"
+.br
+.ti -1c
+.BI "QString \fBtoUnicode\fR ( const QByteArray & a, int len ) const"
+.br
+.ti -1c
+.BI "QString \fBtoUnicode\fR ( const QByteArray & a ) const"
+.br
+.ti -1c
+.BI "QString \fBtoUnicode\fR ( const QCString & a, int len ) const"
+.br
+.ti -1c
+.BI "QString \fBtoUnicode\fR ( const QCString & a ) const"
+.br
+.ti -1c
+.BI "QString \fBtoUnicode\fR ( const char * chars ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBcanEncode\fR ( QChar ch ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBcanEncode\fR ( const QString & s ) const"
+.br
+.ti -1c
+.BI "virtual int \fBheuristicContentMatch\fR ( const char * chars, int len ) const = 0"
+.br
+.ti -1c
+.BI "virtual int \fBheuristicNameMatch\fR ( const char * hint ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QTextCodec * \fBloadCharmap\fR ( QIODevice * iod )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBloadCharmapFile\fR ( QString filename )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForMib\fR ( int mib )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForName\fR ( const char * name, int accuracy = 0 )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForContent\fR ( const char * chars, int len )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForIndex\fR ( int i )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForLocale\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetCodecForLocale\fR ( QTextCodec * c )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForTr\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetCodecForTr\fR ( QTextCodec * c )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodecForCStrings\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetCodecForCStrings\fR ( QTextCodec * c )"
+.br
+.ti -1c
+.BI "void \fBdeleteAllCodecs\fR ()"
+.br
+.ti -1c
+.BI "const char * \fBlocale\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextCodec\fR ()"
+.br
+.in -1c
+.SS "Static Protected Members"
+.in +1c
+.ti -1c
+.BI "int \fBsimpleHeuristicNameMatch\fR ( const char * name, const char * hint )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextCodec class provides conversion between text encodings.
+.PP
+Qt uses Unicode to store, draw and manipulate strings. In many situations you may wish to deal with data that uses a different encoding. For example, most Japanese documents are still stored in Shift-JIS or ISO2022, while Russian users often have their documents in KOI8-R or CP1251.
+.PP
+Qt provides a set of QTextCodec classes to help with converting non-Unicode formats to and from Unicode. You can also create your own codec classes (see later).
+.PP
+The supported encodings are:
+.TP
+Latin1
+.TP
+Big5 -- Chinese
+.TP
+Big5-HKSCS -- Chinese
+.TP
+eucJP -- Japanese
+.TP
+eucKR -- Korean
+.TP
+GB2312 -- Chinese
+.TP
+GBK -- Chinese
+.TP
+GB18030 -- Chinese
+.TP
+JIS7 -- Japanese
+.TP
+Shift-JIS -- Japanese
+.TP
+TSCII -- Tamil
+.TP
+utf8 -- Unicode, 8-bit
+.TP
+utf16 -- Unicode
+.TP
+KOI8-R -- Russian
+.TP
+KOI8-U -- Ukrainian
+.TP
+ISO8859-1 -- Western
+.TP
+ISO8859-2 -- Central European
+.TP
+ISO8859-3 -- Central European
+.TP
+ISO8859-4 -- Baltic
+.TP
+ISO8859-5 -- Cyrillic
+.TP
+ISO8859-6 -- Arabic
+.TP
+ISO8859-7 -- Greek
+.TP
+ISO8859-8 -- Hebrew, visually ordered
+.TP
+ISO8859-8-i -- Hebrew, logically ordered
+.TP
+ISO8859-9 -- Turkish
+.TP
+ISO8859-10
+.TP
+ISO8859-13
+.TP
+ISO8859-14
+.TP
+ISO8859-15 -- Western
+.TP
+IBM 850
+.TP
+IBM 866
+.TP
+CP874
+.TP
+CP1250 -- Central European
+.TP
+CP1251 -- Cyrillic
+.TP
+CP1252 -- Western
+.TP
+CP1253 -- Greek
+.TP
+CP1254 -- Turkish
+.TP
+CP1255 -- Hebrew
+.TP
+CP1256 -- Arabic
+.TP
+CP1257 -- Baltic
+.TP
+CP1258
+.TP
+Apple Roman
+.TP
+TIS-620 -- Thai
+.PP
+QTextCodecs can be used as follows to convert some locally encoded string to Unicode. Suppose you have some string encoded in Russian KOI8-R encoding, and want to convert it to Unicode. The simple way to do this is:
+.PP
+.nf
+.br
+ QCString locallyEncoded = "..."; // text to convert
+.br
+ QTextCodec *codec = QTextCodec::codecForName("KOI8-R"); // get the codec for KOI8-R
+.br
+ QString unicodeString = codec->toUnicode( locallyEncoded );
+.br
+.fi
+.PP
+After this, \fCunicodeString\fR holds the text converted to Unicode. Converting a string from Unicode to the local encoding is just as easy:
+.PP
+.nf
+.br
+ QString unicodeString = "..."; // any Unicode text
+.br
+ QTextCodec *codec = QTextCodec::codecForName("KOI8-R"); // get the codec for KOI8-R
+.br
+ QCString locallyEncoded = codec->fromUnicode( unicodeString );
+.br
+.fi
+.PP
+Some care must be taken when trying to convert the data in chunks, for example, when receiving it over a network. In such cases it is possible that a multi-byte character will be split over two chunks. At best this might result in the loss of a character and at worst cause the entire conversion to fail.
+.PP
+The approach to use in these situations is to create a QTextDecoder object for the codec and use this QTextDecoder for the whole decoding process, as shown below:
+.PP
+.nf
+.br
+ QTextCodec *codec = QTextCodec::codecForName( "Shift-JIS" );
+.br
+ QTextDecoder *decoder = codec->makeDecoder();
+.br
+.br
+ QString unicodeString;
+.br
+ while( receiving_data ) {
+.br
+ QByteArray chunk = new_data;
+.br
+ unicodeString += decoder->toUnicode( chunk.data(), chunk.length() );
+.br
+ }
+.br
+.fi
+.PP
+The QTextDecoder object maintains state between chunks and therefore works correctly even if a multi-byte character is split between chunks.
+.SH "Creating your own Codec class"
+Support for new text encodings can be added to Qt by creating QTextCodec subclasses.
+.PP
+Built-in codecs can be overridden by custom codecs since more recently created QTextCodec objects take precedence over earlier ones.
+.PP
+You may find it more convenient to make your codec class available as a plugin; see the plugin documentation for more details.
+.PP
+The abstract virtual functions describe the encoder to the system and the coder is used as required in the different text file formats supported by QTextStream, and under X11, for the locale-specific character input and output.
+.PP
+To add support for another 8-bit encoding to Qt, make a subclass of QTextCodec and implement at least the following methods:
+.PP
+.nf
+.br
+ const char* name() const
+.br
+.fi
+Return the official name for the encoding.
+.PP
+.nf
+.br
+ int mibEnum() const
+.br
+.fi
+Return the MIB enum for the encoding if it is listed in the IANA character-sets encoding file.
+.PP
+If the encoding is multi-byte then it will have "state"; that is, the interpretation of some bytes will be dependent on some preceding bytes. For such encodings, you must implement:
+.PP
+.nf
+.br
+ QTextDecoder* makeDecoder() const
+.br
+.fi
+Return a QTextDecoder that remembers incomplete multi-byte sequence prefixes or other required state.
+.PP
+If the encoding does \fInot\fR require state, you should implement:
+.PP
+.nf
+.br
+ QString toUnicode(const char* chars, int len) const
+.br
+.fi
+Converts \fIlen\fR characters from \fIchars\fR to Unicode.
+.PP
+The base QTextCodec class has default implementations of the above two functions, \fIbut they are mutually recursive\fR, so you must re-implement at least one of them, or both for improved efficiency.
+.PP
+For conversion from Unicode to 8-bit encodings, it is rarely necessary to maintain state. However, two functions similar to the two above are used for encoding:
+.PP
+.nf
+.br
+ QTextEncoder* makeEncoder() const
+.br
+.fi
+Return a QTextEncoder.
+.PP
+.nf
+.br
+ QCString fromUnicode(const QString& uc, int& lenInOut ) const
+.br
+.fi
+Converts \fIlenInOut\fR characters (of type QChar) from the start of the string \fIuc\fR, returning a QCString result, and also returning the length of the result in \fIlenInOut\fR.
+.PP
+Again, these are mutually recursive so only one needs to be implemented, or both if greater efficiency is possible.
+.PP
+Finally, you must implement:
+.PP
+.nf
+.br
+ int heuristicContentMatch(const char* chars, int len) const
+.br
+.fi
+Gives a value indicating how likely it is that \fIlen\fR characters from \fIchars\fR are in the encoding.
+.PP
+A good model for this function is the QWindowsLocalCodec::heuristicContentMatch function found in the Qt sources.
+.PP
+A QTextCodec subclass might have improved performance if you also re-implement:
+.PP
+.nf
+.br
+ bool canEncode( QChar ) const
+.br
+.fi
+Test if a Unicode character can be encoded.
+.PP
+.nf
+.br
+ bool canEncode( const QString& ) const
+.br
+.fi
+Test if a string of Unicode characters can be encoded.
+.PP
+.nf
+.br
+ int heuristicNameMatch(const char* hint) const
+.br
+.fi
+Test if a possibly non-standard name is referring to the codec.
+.PP
+Codecs can also be created as plugins.
+.PP
+See also Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextCodec::QTextCodec ()\fC [protected]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Constructs a QTextCodec, and gives it the highest precedence. The QTextCodec should always be constructed on the heap (i.e. with \fCnew\fR). Qt takes ownership and will delete it when the application terminates.
+.SH "QTextCodec::~QTextCodec ()\fC [virtual]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Destroys the QTextCodec. Note that you should not delete codecs yourself: once created they become Qt's responsibility.
+.SH "bool QTextCodec::canEncode ( QChar ch ) const\fC [virtual]\fR"
+Returns TRUE if the Unicode character \fIch\fR can be fully encoded with this codec; otherwise returns FALSE. The default implementation tests if the result of toUnicode(fromUnicode(ch)) is the original \fIch\fR. Subclasses may be able to improve the efficiency.
+.SH "bool QTextCodec::canEncode ( const QString & s ) const\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIs\fR contains the string being tested for encode-ability.
+.SH "QTextCodec * QTextCodec::codecForCStrings ()\fC [static]\fR"
+Returns the codec used by QString to convert to and from const char* and QCStrings. If this function returns 0 (the default), QString assumes Latin-1.
+.PP
+See also setCodecForCStrings().
+.SH "QTextCodec * QTextCodec::codecForContent ( const char * chars, int len )\fC [static]\fR"
+Searches all installed QTextCodec objects, returning the one which most recognizes the given content. May return 0.
+.PP
+Note that this is often a poor choice, since character encodings often use most of the available character sequences, and so only by linguistic analysis could a true match be made.
+.PP
+\fIchars\fR contains the string to check, and \fIlen\fR contains the number of characters in the string to use.
+.PP
+See also heuristicContentMatch().
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "QTextCodec * QTextCodec::codecForIndex ( int i )\fC [static]\fR"
+Returns the QTextCodec \fIi\fR positions from the most recently inserted codec, or 0 if there is no such QTextCodec. Thus, codecForIndex(0) returns the most recently created QTextCodec.
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "QTextCodec * QTextCodec::codecForLocale ()\fC [static]\fR"
+Returns a pointer to the codec most suitable for this locale.
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "QTextCodec * QTextCodec::codecForMib ( int mib )\fC [static]\fR"
+Returns the QTextCodec which matches the MIBenum \fImib\fR.
+.SH "QTextCodec * QTextCodec::codecForName ( const char * name, int accuracy = 0 )\fC [static]\fR"
+Searches all installed QTextCodec objects and returns the one which best matches \fIname\fR; the match is case-insensitive. Returns 0 if no codec's heuristicNameMatch() reports a match better than \fIaccuracy\fR, or if \fIname\fR is a null string.
+.PP
+See also heuristicNameMatch().
+.SH "QTextCodec * QTextCodec::codecForTr ()\fC [static]\fR"
+Returns the codec used by QObject::tr() on its argument. If this function returns 0 (the default), tr() assumes Latin-1.
+.PP
+See also setCodecForTr().
+.SH "void QTextCodec::deleteAllCodecs ()\fC [static]\fR"
+Deletes all the created codecs.
+.PP
+\fBWarning:\fR Do not call this function.
+.PP
+QApplication calls this function just before exiting to delete any QTextCodec objects that may be lying around. Since various other classes hold pointers to QTextCodec objects, it is not safe to call this function earlier.
+.PP
+If you are using the utility classes (like QString) but not using QApplication, calling this function at the very end of your application may be helpful for chasing down memory leaks by eliminating any QTextCodec objects.
+.SH "QCString QTextCodec::fromUnicode ( const QString & uc, int & lenInOut ) const\fC [virtual]\fR"
+QTextCodec subclasses must reimplement either this function or makeEncoder(). It converts the first \fIlenInOut\fR characters of \fIuc\fR from Unicode to the encoding of the subclass. If \fIlenInOut\fR is negative or too large, the length of \fIuc\fR is used instead.
+.PP
+Converts \fIlenInOut\fR characters (not bytes) from \fIuc\fR, producing a QCString. \fIlenInOut\fR will be set to the length of the result (in bytes).
+.PP
+The default implementation makes an encoder with makeEncoder() and converts the input with that. Note that the default makeEncoder() implementation makes an encoder that simply calls this function, hence subclasses \fImust\fR reimplement one function or the other to avoid infinite recursion.
+.PP
+Reimplemented in QHebrewCodec.
+.SH "QCString QTextCodec::fromUnicode ( const QString & uc ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIuc\fR is the unicode source string.
+.SH "int QTextCodec::heuristicContentMatch ( const char * chars, int len ) const\fC [pure virtual]\fR"
+QTextCodec subclasses must reimplement this function. It examines the first \fIlen\fR bytes of \fIchars\fR and returns a value indicating how likely it is that the string is a prefix of text encoded in the encoding of the subclass. A negative return value indicates that the text is detectably not in the encoding (e.g. it contains characters undefined in the encoding). A return value of 0 indicates that the text should be decoded with this codec rather than as ASCII, but there is no particular evidence. The value should range up to \fIlen\fR. Thus, most decoders will return -1, 0, or -\fIlen\fR.
+.PP
+The characters are not null terminated.
+.PP
+See also codecForContent().
+.SH "int QTextCodec::heuristicNameMatch ( const char * hint ) const\fC [virtual]\fR"
+Returns a value indicating how likely it is that this decoder is appropriate for decoding some format that has the given name. The name is compared with the \fIhint\fR.
+.PP
+A good match returns a positive number around the length of the string. A bad match is negative.
+.PP
+The default implementation calls simpleHeuristicNameMatch() with the name of the codec.
+.SH "QTextCodec * QTextCodec::loadCharmap ( QIODevice * iod )\fC [static]\fR"
+Reads a POSIX2 charmap definition from \fIiod\fR. The parser recognizes the following lines:
+.PP
+<font name="sans"> <code_set_name> \fIname\fR</br> <escape_char> \fIcharacter\fR</br> % alias \fIalias\fR</br> CHARMAP</br> <\fItoken\fR> /x\fIhexbyte\fR <U\fIunicode\fR> ...</br> <\fItoken\fR> /d\fIdecbyte\fR <U\fIunicode\fR> ...</br> <\fItoken\fR> /\fIoctbyte\fR <U\fIunicode\fR> ...</br> <\fItoken\fR> /\fIany\fR/\fIany\fR... <U\fIunicode\fR> ...</br> END CHARMAP</br> </font>
+.PP
+The resulting QTextCodec is returned (and also added to the global list of codecs). The name() of the result is taken from the code_set_name.
+.PP
+Note that a codec constructed in this way uses much more memory and is slower than a hand-written QTextCodec subclass, since tables in code are kept in memory shared by all Qt applications.
+.PP
+See also loadCharmapFile().
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "QTextCodec * QTextCodec::loadCharmapFile ( QString filename )\fC [static]\fR"
+A convenience function for loadCharmap() that loads the charmap definition from the file \fIfilename\fR.
+.SH "const char * QTextCodec::locale ()\fC [static]\fR"
+Returns a string representing the current language and sublanguage, e.g. "pt" for Portuguese, or "pt_br" for Portuguese/Brazil.
+.PP
+Example: i18n/main.cpp.
+.SH "QTextDecoder * QTextCodec::makeDecoder () const\fC [virtual]\fR"
+Creates a QTextDecoder which stores enough state to decode chunks of char* data to create chunks of Unicode data. The default implementation creates a stateless decoder, which is only sufficient for the simplest encodings where each byte corresponds to exactly one Unicode character.
+.PP
+The caller is responsible for deleting the returned object.
+.SH "QTextEncoder * QTextCodec::makeEncoder () const\fC [virtual]\fR"
+Creates a QTextEncoder which stores enough state to encode chunks of Unicode data as char* data. The default implementation creates a stateless encoder, which is only sufficient for the simplest encodings where each Unicode character corresponds to exactly one character.
+.PP
+The caller is responsible for deleting the returned object.
+.SH "int QTextCodec::mibEnum () const\fC [pure virtual]\fR"
+Subclasses of QTextCodec must reimplement this function. It returns the MIBenum (see the IANA character-sets encoding file for more information). It is important that each QTextCodec subclass returns the correct unique value for this function.
+.PP
+Reimplemented in QEucJpCodec.
+.SH "const char * QTextCodec::mimeName () const\fC [virtual]\fR"
+Returns the preferred mime name of the encoding as defined in the IANA character-sets encoding file.
+.PP
+Reimplemented in QEucJpCodec, QEucKrCodec, QJisCodec, QHebrewCodec, and QSjisCodec.
+.SH "const char * QTextCodec::name () const\fC [pure virtual]\fR"
+QTextCodec subclasses must reimplement this function. It returns the name of the encoding supported by the subclass. When choosing a name for an encoding, consider these points:
+.TP
+On X11, heuristicNameMatch( const char * hint ) is used to test if a the QTextCodec can convert between Unicode and the encoding of a font with encoding \fIhint\fR, such as "iso8859-1" for Latin-1 fonts," koi8-r" for Russian KOI8 fonts. The default algorithm of heuristicNameMatch() uses name().
+.TP
+Some applications may use this function to present encodings to the end user.
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "void QTextCodec::setCodecForCStrings ( QTextCodec * c )\fC [static]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the codec used by QString to convert to and from const char* and QCStrings. If \fIc\fR is 0 (the default), QString assumes Latin-1.
+.PP
+\fBWarning:\fR Some codecs do not preserve the characters in the ascii range (0x00 to 0x7f). For example, the Japanese Shift-JIS encoding maps the backslash character (0x5a) to the Yen character. This leads to unexpected results when using the backslash character to escape characters in strings used in e.g. regular expressions. Use QString::fromLatin1() to preserve characters in the ascii range when needed.
+.PP
+See also codecForCStrings() and setCodecForTr().
+.SH "void QTextCodec::setCodecForLocale ( QTextCodec * c )\fC [static]\fR"
+Set the codec to \fIc\fR; this will be returned by codecForLocale(). This might be needed for some applications that want to use their own mechanism for setting the locale.
+.PP
+See also codecForLocale().
+.SH "void QTextCodec::setCodecForTr ( QTextCodec * c )\fC [static]\fR"
+\fBWarning:\fR This function is \fInot\fR reentrant.</p>
+.PP
+Sets the codec used by QObject::tr() on its argument to \fIc\fR. If \fIc\fR is 0 (the default), tr() assumes Latin-1.
+.PP
+If the literal quoted text in the program is not in the Latin-1 encoding, this function can be used to set the appropriate encoding. For example, software developed by Korean programmers might use eucKR for all the text in the program, in which case the main() function might look like this:
+.PP
+.nf
+.br
+ int main(int argc, char** argv)
+.br
+ {
+.br
+ QApplication app(argc, argv);
+.br
+ ... install any additional codecs ...
+.br
+ QTextCodec::setCodecForTr( QTextCodec::codecForName("eucKR") );
+.br
+ ...
+.br
+ }
+.br
+.fi
+.PP
+Note that this is not the way to select the encoding that the \fIuser\fR has chosen. For example, to convert an application containing literal English strings to Korean, all that is needed is for the English strings to be passed through tr() and for translation files to be loaded. For details of internationalization, see the Qt internationalization documentation.
+.PP
+See also codecForTr() and setCodecForCStrings().
+.SH "int QTextCodec::simpleHeuristicNameMatch ( const char * name, const char * hint )\fC [static protected]\fR"
+A simple utility function for heuristicNameMatch(): it does some very minor character-skipping so that almost-exact matches score high. \fIname\fR is the text we're matching and \fIhint\fR is used for the comparison.
+.SH "QString QTextCodec::toUnicode ( const char * chars, int len ) const\fC [virtual]\fR"
+QTextCodec subclasses must reimplement this function or makeDecoder(). It converts the first \fIlen\fR characters of \fIchars\fR to Unicode.
+.PP
+The default implementation makes a decoder with makeDecoder() and converts the input with that. Note that the default makeDecoder() implementation makes a decoder that simply calls this function, hence subclasses \fImust\fR reimplement one function or the other to avoid infinite recursion.
+.SH "QString QTextCodec::toUnicode ( const QByteArray & a, int len ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR contains the source characters; \fIlen\fR contains the number of characters in \fIa\fR to use.
+.SH "QString QTextCodec::toUnicode ( const QByteArray & a ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR contains the source characters.
+.SH "QString QTextCodec::toUnicode ( const QCString & a, int len ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR contains the source characters; \fIlen\fR contains the number of characters in \fIa\fR to use.
+.SH "QString QTextCodec::toUnicode ( const QCString & a ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIa\fR contains the source characters.
+.SH "QString QTextCodec::toUnicode ( const char * chars ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fIchars\fR contains the source characters.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextcodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextcodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextcodecplugin.3qt b/doc/man/man3/qtextcodecplugin.3qt
new file mode 100644
index 0000000..d830ab1
--- /dev/null
+++ b/doc/man/man3/qtextcodecplugin.3qt
@@ -0,0 +1,96 @@
+'\" t
+.TH QTextCodecPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextCodecPlugin \- Abstract base for custom QTextCodec plugins
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextcodecplugin.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextCodecPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QTextCodecPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBnames\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QTextCodec * \fBcreateForName\fR ( const QString & name ) = 0"
+.br
+.ti -1c
+.BI "virtual QValueList<int> \fBmibEnums\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QTextCodec * \fBcreateForMib\fR ( int mib ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins.
+.PP
+The text codec plugin is a simple plugin interface that makes it easy to create custom text codecs that can be loaded dynamically into applications.
+.PP
+Writing a text codec plugin is achieved by subclassing this base class, reimplementing the pure virtual functions names(), createForName(), mibEnums() and createForMib(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro. See the Qt Plugins documentation for details.
+.PP
+See the IANA character-sets encoding file for more information on mime names and mib enums.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextCodecPlugin::QTextCodecPlugin ()"
+Constructs a text codec plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QTextCodecPlugin::~QTextCodecPlugin ()"
+Destroys the text codec plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QTextCodec * QTextCodecPlugin::createForMib ( int mib )\fC [pure virtual]\fR"
+Creates a QTextCodec object for the mib enum \fImib\fR.
+.PP
+(See the IANA character-sets encoding file for more information)
+.PP
+See also mibEnums().
+.SH "QTextCodec * QTextCodecPlugin::createForName ( const QString & name )\fC [pure virtual]\fR"
+Creates a QTextCodec object for the codec called \fIname\fR.
+.PP
+See also names().
+.SH "QValueList<int> QTextCodecPlugin::mibEnums () const\fC [pure virtual]\fR"
+Returns the list of mib enums supported by this plugin.
+.PP
+See also createForMib().
+.SH "QStringList QTextCodecPlugin::names () const\fC [pure virtual]\fR"
+Returns the list of mime names supported by this plugin.
+.PP
+See also createForName().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextcodecplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextcodecplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextdecoder.3qt b/doc/man/man3/qtextdecoder.3qt
new file mode 100644
index 0000000..b72bb03
--- /dev/null
+++ b/doc/man/man3/qtextdecoder.3qt
@@ -0,0 +1,64 @@
+'\" t
+.TH QTextDecoder 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextDecoder \- State-based decoder
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextcodec.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QTextDecoder\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBtoUnicode\fR ( const char * chars, int len ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextDecoder class provides a state-based decoder.
+.PP
+The decoder converts a text format into Unicode, remembering any state that is required between calls.
+.PP
+See also QTextCodec::makeEncoder() and Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextDecoder::~QTextDecoder ()\fC [virtual]\fR"
+Destroys the decoder.
+.SH "QString QTextDecoder::toUnicode ( const char * chars, int len )\fC [pure virtual]\fR"
+Converts the first \fIlen\fR bytes in \fIchars\fR to Unicode, returning the result.
+.PP
+If not all characters are used (e.g. if only part of a multi-byte
+encoding is at the end of the characters), the decoder remembers
+enough state to continue with the next call to this function.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextdecoder.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextdecoder.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextdrag.3qt b/doc/man/man3/qtextdrag.3qt
new file mode 100644
index 0000000..776fb11
--- /dev/null
+++ b/doc/man/man3/qtextdrag.3qt
@@ -0,0 +1,110 @@
+'\" t
+.TH QTextDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextDrag \- Drag and drop object for transferring plain and Unicode text
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QDragObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextDrag\fR ( const QString & text, QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQTextDrag\fR ( QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTextDrag\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSubtype\fR ( const QCString & st )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBcanDecode\fR ( const QMimeSource * e )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( const QMimeSource * e, QString & str )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( const QMimeSource * e, QString & str, QCString & subtype )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextDrag class is a drag and drop object for transferring plain and Unicode text.
+.PP
+Plain text is passed in a QString which may contain multiple lines (i.e. may contain newline characters). The drag target will receive the newlines according to the runtime environment, e.g. LF on Unix, and CRLF on Windows.
+.PP
+Qt provides no built-in mechanism for delivering only a single-line.
+.PP
+For more information about drag and drop, see the QDragObject class and the drag and drop documentation.
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextDrag::QTextDrag ( const QString & text, QWidget * dragSource = 0, const char * name = 0 )"
+Constructs a text drag object and sets its data to \fItext\fR. \fIdragSource\fR must be the drag source; \fIname\fR is the object name.
+.SH "QTextDrag::QTextDrag ( QWidget * dragSource = 0, const char * name = 0 )"
+Constructs a default text drag object. \fIdragSource\fR must be the drag source; \fIname\fR is the object name.
+.SH "QTextDrag::~QTextDrag ()"
+Destroys the text drag object and frees up all allocated resources.
+.SH "bool QTextDrag::canDecode ( const QMimeSource * e )\fC [static]\fR"
+Returns TRUE if the information in \fIe\fR can be decoded into a QString; otherwise returns FALSE.
+.PP
+See also decode().
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "bool QTextDrag::decode ( const QMimeSource * e, QString & str )\fC [static]\fR"
+Attempts to decode the dropped information in \fIe\fR into \fIstr\fR. Returns TRUE if successful; otherwise returns FALSE.
+.PP
+See also canDecode().
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "bool QTextDrag::decode ( const QMimeSource * e, QString & str, QCString & subtype )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Attempts to decode the dropped information in \fIe\fR into \fIstr\fR. Returns TRUE if successful; otherwise returns FALSE. If \fIsubtype\fR is null, any text subtype is accepted; otherwise only the specified \fIsubtype\fR is accepted.
+.PP
+See also canDecode().
+.SH "void QTextDrag::setSubtype ( const QCString & st )\fC [virtual]\fR"
+Sets the MIME subtype of the text being dragged to \fIst\fR. The default subtype is "plain", so the default MIME type of the text is "text/plain". You might use this to declare that the text is" text/html" by calling setSubtype("html").
+.SH "void QTextDrag::setText ( const QString & text )\fC [virtual]\fR"
+Sets the text to be dragged to \fItext\fR. You will need to call this
+if you did not pass the text during construction.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextdrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextdrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextedit.3qt b/doc/man/man3/qtextedit.3qt
new file mode 100644
index 0000000..530c809
--- /dev/null
+++ b/doc/man/man3/qtextedit.3qt
@@ -0,0 +1,1452 @@
+'\" t
+.TH QTextEdit 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextEdit \- Powerful single-page rich text editor
+.SH SYNOPSIS
+\fC#include <qtextedit.h>\fR
+.PP
+Inherits QScrollView.
+.PP
+Inherited by QMultiLineEdit, QTextBrowser, and QTextView.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBWordWrap\fR { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }"
+.br
+.ti -1c
+.BI "enum \fBWrapPolicy\fR { AtWordBoundary, AtWhiteSpace = AtWordBoundary, Anywhere, AtWordOrDocumentBoundary }"
+.br
+.ti -1c
+.BI "enum \fBAutoFormatting\fR { AutoNone = 0, AutoBulletList = 0x00000001, AutoAll = 0xffffffff }"
+.br
+.ti -1c
+.BI "enum \fBKeyboardAction\fR { ActionBackspace, ActionDelete, ActionReturn, ActionKill, ActionWordBackspace, ActionWordDelete }"
+.br
+.ti -1c
+.BI "enum \fBCursorAction\fR { MoveBackward, MoveForward, MoveWordBackward, MoveWordForward, MoveUp, MoveDown, MoveLineStart, MoveLineEnd, MoveHome, MoveEnd, MovePgUp, MovePgDown }"
+.br
+.ti -1c
+.BI "enum \fBVerticalAlignment\fR { AlignNormal, AlignSuperScript, AlignSubScript }"
+.br
+.ti -1c
+.BI "\fBQTextEdit\fR ( const QString & text, const QString & context = QString::null, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQTextEdit\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "QString \fBtext\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtext\fR ( int para ) const"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR () const"
+.br
+.ti -1c
+.BI "QString \fBcontext\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdocumentTitle\fR () const"
+.br
+.ti -1c
+.BI "void \fBgetSelection\fR ( int * paraFrom, int * indexFrom, int * paraTo, int * indexTo, int selNum = 0 ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBfind\fR ( const QString & expr, bool cs, bool wo, bool forward = TRUE, int * para = 0, int * index = 0 )"
+.br
+.ti -1c
+.BI "int \fBparagraphs\fR () const"
+.br
+.ti -1c
+.BI "int \fBlines\fR () const"
+.br
+.ti -1c
+.BI "int \fBlinesOfParagraph\fR ( int para ) const"
+.br
+.ti -1c
+.BI "int \fBlineOfChar\fR ( int para, int index )"
+.br
+.ti -1c
+.BI "int \fBlength\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBparagraphRect\fR ( int para ) const"
+.br
+.ti -1c
+.BI "int \fBparagraphAt\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "int \fBcharAt\fR ( const QPoint & pos, int * para ) const"
+.br
+.ti -1c
+.BI "int \fBparagraphLength\fR ( int para ) const"
+.br
+.ti -1c
+.BI "QStyleSheet * \fBstyleSheet\fR () const"
+.br
+.ti -1c
+.BI "QMimeSourceFactory * \fBmimeSourceFactory\fR () const"
+.br
+.ti -1c
+.BI "QBrush \fBpaper\fR () const"
+.br
+.ti -1c
+.BI "bool \fBlinkUnderline\fR () const"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "bool \fBhasSelectedText\fR () const"
+.br
+.ti -1c
+.BI "QString \fBselectedText\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisUndoAvailable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisRedoAvailable\fR () const"
+.br
+.ti -1c
+.BI "WordWrap \fBwordWrap\fR () const"
+.br
+.ti -1c
+.BI "int \fBwrapColumnOrWidth\fR () const"
+.br
+.ti -1c
+.BI "WrapPolicy \fBwrapPolicy\fR () const"
+.br
+.ti -1c
+.BI "int \fBtabStopWidth\fR () const"
+.br
+.ti -1c
+.BI "QString \fBanchorAt\fR ( const QPoint & pos )"
+.br
+.ti -1c
+.BI "QString \fBanchorAt\fR ( const QPoint & pos, AnchorAttribute attr )"
+.br
+.ti -1c
+.BI "bool \fBisReadOnly\fR () const"
+.br
+.ti -1c
+.BI "void \fBgetCursorPosition\fR ( int * para, int * index ) const"
+.br
+.ti -1c
+.BI "bool \fBisModified\fR () const"
+.br
+.ti -1c
+.BI "bool \fBitalic\fR () const"
+.br
+.ti -1c
+.BI "bool \fBbold\fR () const"
+.br
+.ti -1c
+.BI "bool \fBunderline\fR () const"
+.br
+.ti -1c
+.BI "QString \fBfamily\fR () const"
+.br
+.ti -1c
+.BI "int \fBpointSize\fR () const"
+.br
+.ti -1c
+.BI "QColor \fBcolor\fR () const"
+.br
+.ti -1c
+.BI "QFont font () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QFont \fBcurrentFont\fR () const"
+.br
+.ti -1c
+.BI "int \fBalignment\fR () const"
+.br
+.ti -1c
+.BI "int \fBundoDepth\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisOverwriteMode\fR () const"
+.br
+.ti -1c
+.BI "QColor \fBparagraphBackgroundColor\fR ( int para ) const"
+.br
+.ti -1c
+.BI "bool \fBisUndoRedoEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBtabChangesFocus\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetAutoFormatting\fR ( uint features )"
+.br
+.ti -1c
+.BI "uint \fBautoFormatting\fR () const"
+.br
+.ti -1c
+.BI "QSyntaxHighlighter * \fBsyntaxHighlighter\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetMimeSourceFactory\fR ( QMimeSourceFactory * factory )"
+.br
+.ti -1c
+.BI "virtual void \fBsetStyleSheet\fR ( QStyleSheet * styleSheet )"
+.br
+.ti -1c
+.BI "virtual void \fBscrollToAnchor\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPaper\fR ( const QBrush & pap )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLinkUnderline\fR ( bool )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWordWrap\fR ( WordWrap mode )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWrapColumnOrWidth\fR ( int )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWrapPolicy\fR ( WrapPolicy policy )"
+.br
+.ti -1c
+.BI "virtual void \fBcopy\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBappend\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "void \fBsetText\fR ( const QString & txt )"
+.br
+.ti -1c
+.BI "virtual void \fBsetText\fR ( const QString & text, const QString & context )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTextFormat\fR ( TextFormat f )"
+.br
+.ti -1c
+.BI "virtual void \fBselectAll\fR ( bool select = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTabStopWidth\fR ( int ts )"
+.br
+.ti -1c
+.BI "virtual void \fBzoomIn\fR ( int range )"
+.br
+.ti -1c
+.BI "virtual void \fBzoomIn\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBzoomOut\fR ( int range )"
+.br
+.ti -1c
+.BI "virtual void \fBzoomOut\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBzoomTo\fR ( int size )"
+.br
+.ti -1c
+.BI "virtual void \fBsync\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadOnly\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBundo\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBredo\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcut\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpaste\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpasteSubType\fR ( const QCString & subtype )"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBdel\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetItalic\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetBold\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUnderline\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFamily\fR ( const QString & fontFamily )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPointSize\fR ( int s )"
+.br
+.ti -1c
+.BI "virtual void \fBsetColor\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "virtual void \fBsetVerticalAlignment\fR ( VerticalAlignment a )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAlignment\fR ( int a )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCursorPosition\fR ( int para, int index )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelection\fR ( int paraFrom, int indexFrom, int paraTo, int indexTo, int selNum = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSelectionAttributes\fR ( int selNum, const QColor & back, bool invertText )"
+.br
+.ti -1c
+.BI "virtual void \fBsetModified\fR ( bool m )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUndoDepth\fR ( int d )"
+.br
+.ti -1c
+.BI "virtual void \fBensureCursorVisible\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBplaceCursor\fR ( const QPoint & pos, QTextCursor * c = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveCursor\fR ( CursorAction action, bool select )"
+.br
+.ti -1c
+.BI "virtual void \fBdoKeyboardAction\fR ( KeyboardAction action )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveSelectedText\fR ( int selNum = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveSelection\fR ( int selNum = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCurrentFont\fR ( const QFont & f )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOverwriteMode\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBscrollToBottom\fR ()"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( const QString & text, uint insertionFlags = CheckNewLines | RemoveSelected )"
+.br
+.ti -1c
+.BI "virtual void insert ( const QString & text, bool indent, bool checkNewLine = TRUE, bool removeSelected = TRUE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBinsertAt\fR ( const QString & text, int para, int index )"
+.br
+.ti -1c
+.BI "virtual void \fBremoveParagraph\fR ( int para )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertParagraph\fR ( const QString & text, int para )"
+.br
+.ti -1c
+.BI "virtual void \fBsetParagraphBackgroundColor\fR ( int para, const QColor & bg )"
+.br
+.ti -1c
+.BI "virtual void \fBclearParagraphBackground\fR ( int para )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUndoRedoEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "void \fBsetTabChangesFocus\fR ( bool b )"
+.br
+.ti -1c
+.BI "void \fBsetMaxLogLines\fR ( int limit )"
+.br
+.ti -1c
+.BI "int \fBmaxLogLines\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBtextChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBselectionChanged\fR ()"
+.br
+.ti -1c
+.BI "void \fBcopyAvailable\fR ( bool yes )"
+.br
+.ti -1c
+.BI "void \fBundoAvailable\fR ( bool yes )"
+.br
+.ti -1c
+.BI "void \fBredoAvailable\fR ( bool yes )"
+.br
+.ti -1c
+.BI "void \fBcurrentFontChanged\fR ( const QFont & f )"
+.br
+.ti -1c
+.BI "void \fBcurrentColorChanged\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "void \fBcurrentAlignmentChanged\fR ( int a )"
+.br
+.ti -1c
+.BI "void \fBcurrentVerticalAlignmentChanged\fR ( VerticalAlignment a )"
+.br
+.ti -1c
+.BI "void \fBcursorPositionChanged\fR ( int para, int pos )"
+.br
+.ti -1c
+.BI "void \fBreturnPressed\fR ()"
+.br
+.ti -1c
+.BI "void \fBmodificationChanged\fR ( bool m )"
+.br
+.ti -1c
+.BI "void \fBclicked\fR ( int para, int pos )"
+.br
+.ti -1c
+.BI "void \fBdoubleClicked\fR ( int para, int pos )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "AutoFormatting \fBautoFormatting\fR - the enabled set of auto formatting features"
+.br
+.ti -1c
+.BI "QString \fBdocumentTitle\fR - the title of the document parsed from the text \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBhasSelectedText\fR - whether some text is selected in selection 0 \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBlength\fR - the number of characters in the text \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBlinkUnderline\fR - whether hypertext links will be underlined"
+.br
+.ti -1c
+.BI "bool \fBmodified\fR - whether the document has been modified by the user"
+.br
+.ti -1c
+.BI "bool \fBoverwriteMode\fR - the text edit's overwrite mode"
+.br
+.ti -1c
+.BI "QBrush \fBpaper\fR - the background (paper) brush"
+.br
+.ti -1c
+.BI "bool \fBreadOnly\fR - whether the text edit is read-only"
+.br
+.ti -1c
+.BI "QString \fBselectedText\fR - the selected text (from selection " "0" ") or an empty string if there is no currently selected text (in selection " "0" ") \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBtabChangesFocus\fR - whether TAB changes focus or is accepted as input"
+.br
+.ti -1c
+.BI "int \fBtabStopWidth\fR - the tab stop width in pixels"
+.br
+.ti -1c
+.BI "QString \fBtext\fR - the text edit's text"
+.br
+.ti -1c
+.BI "TextFormat \fBtextFormat\fR - the text format: rich " "text" ", plain " "text" ", log text or auto text"
+.br
+.ti -1c
+.BI "int \fBundoDepth\fR - the depth of the undo history"
+.br
+.ti -1c
+.BI "bool \fBundoRedoEnabled\fR - whether undo/redo is enabled"
+.br
+.ti -1c
+.BI "WordWrap \fBwordWrap\fR - the word wrap mode"
+.br
+.ti -1c
+.BI "int \fBwrapColumnOrWidth\fR - the position (in pixels or columns depending on the wrap " "mode" ") where text will be wrapped"
+.br
+.ti -1c
+.BI "WrapPolicy \fBwrapPolicy\fR - the word wrap " "policy" ", at whitespace or anywhere"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBrepaintChanged\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBkeyPressEvent\fR ( QKeyEvent * e )"
+.br
+.ti -1c
+.BI "virtual bool \fBfocusNextPrevChild\fR ( bool n )"
+.br
+.ti -1c
+.BI "QTextCursor * \fBtextCursor\fR () const"
+.br
+.ti -1c
+.BI "virtual QPopupMenu * \fBcreatePopupMenu\fR ( const QPoint & pos )"
+.br
+.ti -1c
+.BI "virtual QPopupMenu * createPopupMenu () \fI(obsolete)\fR"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextEdit widget provides a powerful single-page rich text editor.
+.PP
+
+.TP
+Introduction and Concepts
+.TP
+Using QTextEdit as a Display Widget
+.TP
+Read-only key bindings
+.TP
+Using QTextEdit in LogText Mode
+.TP
+Using QTextEdit as an Editor
+.TP
+ Editing key bindings
+
+.SH "Introduction and Concepts"
+QTextEdit is an advanced WYSIWYG viewer/editor supporting rich text formatting using HTML-style tags. It is optimized to handle large documents and to respond quickly to user input.
+.PP
+QTextEdit has four modes of operation: <center>.nf
+.TS
+l - l. Mode Command Notes Plain Text Editor setTextFormat(PlainText) Set text with setText(); text() returns plain text. Text attributes (e.g. colors) can be set, but plain text is always returned. Rich Text Editor setTextFormat(RichText) Set text with setText(); text() returns rich text. Rich text editing is fairly limited. You can't set margins or insert images for example (although you can read and correctly display files that have margins set and that include images). This mode is mostly useful for editing small amounts of rich text. Text Viewer setReadOnly(TRUE) Set text with setText() or append() (which has no undo history so is faster and uses less memory); text() returns plain or rich text depending on the textFormat(). This mode can correctly display a large subset of HTML tags. Log Viewer setTextFormat(LogText)
+.TE
+.fi
+</center>
+.PP
+<sup>1.</sup><small>A more complete API that supports setting margins, images, etc., is planned for a later Qt release.</small>
+.PP
+QTextEdit can be used as a syntax highlighting editor when used in conjunction with QSyntaxHighlighter.
+.PP
+We recommend that you always call setTextFormat() to set the mode you want to use. If you use AutoText then setText() and append() will try to determine whether the text they are given is plain text or rich text. If you use RichText then setText() and append() will assume that the text they are given is rich text. insert() simply inserts the text it is given.
+.PP
+QTextEdit works on paragraphs and characters. A paragraph is a formatted string which is word-wrapped to fit into the width of the widget. By default when reading plain text, one newline signify a paragraph. A document consists of zero or more paragraphs, indexed from 0. Characters are indexed on a per-paragraph basis, also indexed from 0. The words in the paragraph are aligned in accordance with the paragraph's alignment(). Paragraphs are separated by hard line breaks. Each character within a paragraph has its own attributes, for example, font and color.
+.PP
+The text edit documentation uses the following concepts:
+.TP
+\fIcurrent format\fR -- this is the format at the current cursor position, \fIand\fR it is the format of the selected text if any.
+.TP
+\fIcurrent paragraph\fR -- the paragraph which contains the cursor.
+.PP
+QTextEdit can display images (using QMimeSourceFactory), lists and tables. If the text is too large to view within the text edit's viewport, scrollbars will appear. The text edit can load both plain text and HTML files (a subset of HTML 3.2 and 4). The rendering style and the set of valid tags are defined by a styleSheet(). Custom tags can be created and placed in a custom style sheet. Change the style sheet with setStyleSheet(); see QStyleSheet for details. The images identified by image tags are displayed if they can be interpreted using the text edit's QMimeSourceFactory; see setMimeSourceFactory().
+.PP
+If you want a text browser with more navigation use QTextBrowser. If you just need to display a small piece of rich text use QLabel or QSimpleRichText.
+.PP
+If you create a new QTextEdit, and want to allow the user to edit rich text, call setTextFormat(Qt::RichText) to ensure that the text is treated as rich text. (Rich text uses HTML tags to set text formatting attributes. See QStyleSheet for information on the HTML tags that are supported.). If you don't call setTextFormat() explicitly the text edit will guess from the text itself whether it is rich text or plain text. This means that if the text looks like HTML or XML it will probably be interpreted as rich text, so you should call setTextFormat(Qt::PlainText) to preserve such text.
+.PP
+Note that we do not intend to add a full-featured web browser widget to Qt (because that would easily double Qt's size and only a few applications would benefit from it). The rich text support in Qt is designed to provide a fast, portable and efficient way to add reasonable online help facilities to applications, and to provide a basis for rich text editors.
+.SH "Using QTextEdit as a Display Widget"
+QTextEdit can display a large HTML subset, including tables and images.
+.PP
+The text is set or replaced using setText() which deletes any existing text and replaces it with the text passed in the setText() call. If you call setText() with legacy HTML (with setTextFormat(RichText) in force), and then call text(), the text that is returned may have different markup, but will render the same. Text can be inserted with insert(), paste(), pasteSubType() and append(). Text that is appended does not go into the undo history; this makes append() faster and consumes less memory. Text can also be cut(). The entire text is deleted with clear() and the selected text is deleted with removeSelectedText(). Selected (marked) text can also be deleted with del() (which will delete the character to the right of the cursor if no text is selected).
+.PP
+Loading and saving text is achieved using setText() and text(), for example:
+.PP
+.nf
+.br
+ QFile file( fileName ); // Read the text from a file
+.br
+ if ( file.open( IO_ReadOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ textEdit->setText( stream.read() );
+.br
+ }
+.br
+.br
+ QFile file( fileName ); // Write the text to a file
+.br
+ if ( file.open( IO_WriteOnly ) ) {
+.br
+ QTextStream stream( &file );
+.br
+ stream << textEdit->text();
+.br
+ textEdit->setModified( FALSE );
+.br
+ }
+.br
+.fi
+.PP
+By default the text edit wraps words at whitespace to fit within the text edit widget. The setWordWrap() function is used to specify the kind of word wrap you want, or NoWrap if you don't want any wrapping. Call setWordWrap() to set a fixed pixel width FixedPixelWidth, or character column (e.g. 80 column) FixedColumnWidth with the pixels or columns specified with setWrapColumnOrWidth(). If you use word wrap to the widget's width WidgetWidth, you can specify whether to break on whitespace or anywhere with setWrapPolicy().
+.PP
+The background color is set differently than other widgets, using setPaper(). You specify a brush style which could be a plain color or a complex pixmap.
+.PP
+Hypertext links are automatically underlined; this can be changed with setLinkUnderline(). The tab stop width is set with setTabStopWidth().
+.PP
+The zoomIn() and zoomOut() functions can be used to resize the text by increasing (decreasing for zoomOut()) the point size used. Images are not affected by the zoom functions.
+.PP
+The lines() function returns the number of lines in the text and paragraphs() returns the number of paragraphs. The number of lines within a particular paragraph is returned by linesOfParagraph(). The length of the entire text in characters is returned by length().
+.PP
+You can scroll to an anchor in the text, e.g. \fC<a name="anchor">\fR with scrollToAnchor(). The find() function can be used to find and select a given string within the text.
+.PP
+A read-only QTextEdit provides the same functionality as the (obsolete) QTextView. (QTextView is still supplied for compatibility with old code.)
+.PP
+<h4> Read-only key bindings </h4>
+.PP
+When QTextEdit is used read-only the key-bindings are limited to navigation, and text may only be selected with the mouse: <center>.nf
+.TS
+l - l. Keypresses Action UpArrow Move one line up DownArrow Move one line down LeftArrow Move one character left RightArrow Move one character right PageUp Move one (viewport) page up PageDown Move one (viewport) page down Home Move to the beginning of the text End Move to the end of the text Shift+Wheel Scroll the page horizontally (the Wheel is the mouse wheel) Ctrl+Wheel
+.TE
+.fi
+</center>
+.PP
+The text edit may be able to provide some meta-information. For example, the documentTitle() function will return the text from within HTML \fC<title>\fR tags.
+.PP
+The text displayed in a text edit has a \fIcontext\fR. The context is a path which the text edit's QMimeSourceFactory uses to resolve the locations of files and images. It is passed to the mimeSourceFactory() when quering data. (See QTextEdit() and context().)
+.PP
+<h4> Using QTextEdit in LogText Mode </h4>
+.PP
+Setting the text format to LogText puts the widget in a special mode which is optimized for very large texts. Editing, word wrap, and rich text support are disabled in this mode (the widget is explicitly made read-only). This allows the text to be stored in a different, more memory efficient manner. However, a certain degree of text formatting is supported through the use of formatting tags. A tag is delimited by \fC<\fR and \fC>\fR. The characters \fC<\fR, \fC>\fR and \fC&\fR are escaped by using \fC&lt;\fR, \fC&gt;\fR and \fC&amp;\fR. A tag pair consists of a left and a right tag (or open/close tags). Left-tags mark the starting point for formatting, while right-tags mark the ending point. A right-tag always start with a \fC/\fR before the tag keyword. For example \fC<b>\fR and \fC</b>\fR are a tag pair. Tags can be nested, but they have to be closed in the same order as they are opened. For example, \fC<b><u></u></b>\fR is valid, while \fC<b><u></b></u>\fR will output an error message.
+.PP
+By using tags it is possible to change the color, bold, italic and underline settings for a piece of text. A color can be specified by using the HTML font tag \fC<font color=colorname>\fR. The color name can be one of the color names from the X11 color database, or a RGB hex value (e.g \fC#00ff00\fR). Example of valid color tags: \fC<font color=red>\fR, \fC<font color="light blue">\fR, \fC<font color="#223344">\fR. Bold, italic and underline settings can be specified by the tags \fC<b>\fR, \fC<i>\fR and \fC<u>\fR. Note that a tag does not necessarily have to be closed. A valid example:
+.PP
+.nf
+.br
+ This is <font color=red>red</font> while <b>this</b> is <font color=blue>blue</font>.
+.br
+ <font color=green><font color=yellow>Yellow,</font> and <u>green</u>.
+.br
+.fi
+.PP
+Stylesheets can also be used in LogText mode. To create and use a custom tag, you could do the following:
+.PP
+.nf
+.br
+ QTextEdit * log = new QTextEdit( this );
+.br
+ log->setTextFormat( Qt::LogText );
+.br
+ QStyleSheetItem * item = new QStyleSheetItem( log->styleSheet(), "mytag" );
+.br
+ item->setColor( "red" );
+.br
+ item->setFontWeight( QFont::Bold );
+.br
+ item->setFontUnderline( TRUE );
+.br
+ log->append( "This is a <mytag>custom tag</mytag>!" );
+.br
+.fi
+Note that only the color, bold, underline and italic attributes of a QStyleSheetItem is used in LogText mode.
+.PP
+Note that you can use setMaxLogLines() to limit the number of lines the widget can hold in LogText mode.
+.PP
+There are a few things that you need to be aware of when the widget is in this mode:
+.TP
+Functions that deal with rich text formatting and cursor movement will not work or return anything valid.
+.TP
+Lines are equivalent to paragraphs.
+.SH "Using QTextEdit as an Editor"
+All the information about using QTextEdit as a display widget also applies here.
+.PP
+The current format's attributes are set with setItalic(), setBold(), setUnderline(), setFamily() (font family), setPointSize(), setColor() and setCurrentFont(). The current paragraph's alignment is set with setAlignment().
+.PP
+Use setSelection() to select text. The setSelectionAttributes() function is used to indicate how selected text should be displayed. Use hasSelectedText() to find out if any text is selected. The currently selected text's position is available using getSelection() and the selected text itself is returned by selectedText(). The selection can be copied to the clipboard with copy(), or cut to the clipboard with cut(). It can be deleted with removeSelectedText(). The entire text can be selected (or unselected) using selectAll(). QTextEdit supports multiple selections. Most of the selection functions operate on the default selection, selection 0. If the user presses a non-selecting key, e.g. a cursor key without also holding down Shift, all selections are cleared.
+.PP
+Set and get the position of the cursor with setCursorPosition() and getCursorPosition() respectively. When the cursor is moved, the signals currentFontChanged(), currentColorChanged() and currentAlignmentChanged() are emitted to reflect the font, color and alignment at the new cursor position.
+.PP
+If the text changes, the textChanged() signal is emitted, and if the user inserts a new line by pressing Return or Enter, returnPressed() is emitted. The isModified() function will return TRUE if the text has been modified.
+.PP
+QTextEdit provides command-based undo and redo. To set the depth of the command history use setUndoDepth() which defaults to 100 steps. To undo or redo the last operation call undo() or redo(). The signals undoAvailable() and redoAvailable() indicate whether the undo and redo operations can be executed.
+.PP
+The indent() function is used to reindent a paragraph. It is useful for code editors, for example in Qt Designer's code editor \fICtrl+I\fR invokes the indent() function.
+.PP
+<h4> Editing key bindings </h4>
+.PP
+The list of key-bindings which are implemented for editing: <center>.nf
+.TS
+l - l. Keypresses Action Backspace Delete the character to the left of the cursor Delete Delete the character to the right of the cursor Ctrl+A Move the cursor to the beginning of the line Ctrl+B Move the cursor one character left Ctrl+C Copy the marked text to the clipboard (also Ctrl+Insert under Windows) Ctrl+D Delete the character to the right of the cursor Ctrl+E Move the cursor to the end of the line Ctrl+F Move the cursor one character right Ctrl+H Delete the character to the left of the cursor Ctrl+K Delete to end of line Ctrl+N Move the cursor one line down Ctrl+P Move the cursor one line up Ctrl+V Paste the clipboard text into line edit (also Shift+Insert under Windows) Ctrl+X Cut the marked text, copy to clipboard (also Shift+Delete under Windows) Ctrl+Z Undo the last operation Ctrl+Y Redo the last operation LeftArrow Move the cursor one character left Ctrl+LeftArrow Move the cursor one word left RightArrow Move the cursor one character right Ctrl+RightArrow Move the cursor one word right UpArrow Move the cursor one line up Ctrl+UpArrow Move the cursor one word up DownArrow Move the cursor one line down Ctrl+Down Arrow Move the cursor one word down PageUp Move the cursor one page up PageDown Move the cursor one page down Home Move the cursor to the beginning of the line Ctrl+Home Move the cursor to the beginning of the text End Move the cursor to the end of the line Ctrl+End Move the cursor to the end of the text Shift+Wheel Scroll the page horizontally (the Wheel is the mouse wheel) Ctrl+Wheel
+.TE
+.fi
+</center>
+.PP
+To select (mark) text hold down the Shift key whilst pressing one of the movement keystrokes, for example, \fIShift+Right Arrow\fR will select the character to the right, and \fIShift+Ctrl+Right Arrow\fR will select the word to the right, etc.
+.PP
+By default the text edit widget operates in insert mode so all text that the user enters is inserted into the text edit and any text to the right of the cursor is moved out of the way. The mode can be changed to overwrite, where new text overwrites any text to the right of the cursor, using setOverwriteMode().
+.PP
+See also Basic Widgets and Text Related Classes.
+.SS "Member Type Documentation"
+.SH "QTextEdit::AutoFormatting"
+.TP
+\fCQTextEdit::AutoNone\fR - Do not perform any automatic formatting
+.TP
+\fCQTextEdit::AutoBulletList\fR - Only automatically format bulletted lists
+.TP
+\fCQTextEdit::AutoAll\fR - Apply all available autoformatting
+.SH "QTextEdit::CursorAction"
+This enum is used by moveCursor() to specify in which direction the cursor should be moved:
+.TP
+\fCQTextEdit::MoveBackward\fR - Moves the cursor one character backward
+.TP
+\fCQTextEdit::MoveWordBackward\fR - Moves the cursor one word backward
+.TP
+\fCQTextEdit::MoveForward\fR - Moves the cursor one character forward
+.TP
+\fCQTextEdit::MoveWordForward\fR - Moves the cursor one word forward
+.TP
+\fCQTextEdit::MoveUp\fR - Moves the cursor up one line
+.TP
+\fCQTextEdit::MoveDown\fR - Moves the cursor down one line
+.TP
+\fCQTextEdit::MoveLineStart\fR - Moves the cursor to the beginning of the line
+.TP
+\fCQTextEdit::MoveLineEnd\fR - Moves the cursor to the end of the line
+.TP
+\fCQTextEdit::MoveHome\fR - Moves the cursor to the beginning of the document
+.TP
+\fCQTextEdit::MoveEnd\fR - Moves the cursor to the end of the document
+.TP
+\fCQTextEdit::MovePgUp\fR - Moves the cursor one viewport page up
+.TP
+\fCQTextEdit::MovePgDown\fR - Moves the cursor one viewport page down
+.SH "QTextEdit::KeyboardAction"
+This enum is used by doKeyboardAction() to specify which action should be executed:
+.TP
+\fCQTextEdit::ActionBackspace\fR - Delete the character to the left of the cursor.
+.TP
+\fCQTextEdit::ActionDelete\fR - Delete the character to the right of the cursor.
+.TP
+\fCQTextEdit::ActionReturn\fR - Split the paragraph at the cursor position.
+.TP
+\fCQTextEdit::ActionKill\fR - If the cursor is not at the end of the paragraph, delete the text from the cursor position until the end of the paragraph. If the cursor is at the end of the paragraph, delete the hard line break at the end of the paragraph: this will cause this paragraph to be joined with the following paragraph.
+.TP
+\fCQTextEdit::ActionWordBackspace\fR - Delete the word to the left of the cursor position.
+.TP
+\fCQTextEdit::ActionWordDelete\fR - Delete the word to the right of the cursor position
+.SH "QTextEdit::VerticalAlignment"
+This enum is used to set the vertical alignment of the text.
+.TP
+\fCQTextEdit::AlignNormal\fR - Normal alignment
+.TP
+\fCQTextEdit::AlignSuperScript\fR - Superscript
+.TP
+\fCQTextEdit::AlignSubScript\fR - Subscript
+.SH "QTextEdit::WordWrap"
+This enum defines the QTextEdit's word wrap modes.
+.TP
+\fCQTextEdit::NoWrap\fR - Do not wrap the text.
+.TP
+\fCQTextEdit::WidgetWidth\fR - Wrap the text at the current width of the widget (this is the default). Wrapping is at whitespace by default; this can be changed with setWrapPolicy().
+.TP
+\fCQTextEdit::FixedPixelWidth\fR - Wrap the text at a fixed number of pixels from the widget's left side. The number of pixels is set with wrapColumnOrWidth().
+.TP
+\fCQTextEdit::FixedColumnWidth\fR - Wrap the text at a fixed number of character columns from the widget's left side. The number of characters is set with wrapColumnOrWidth(). This is useful if you need formatted text that can also be displayed gracefully on devices with monospaced fonts, for example a standard VT100 terminal, where you might set wrapColumnOrWidth() to 80.
+.PP
+See also wordWrap and wordWrap.
+.SH "QTextEdit::WrapPolicy"
+This enum defines where text can be wrapped in word wrap mode.
+.TP
+\fCQTextEdit::AtWhiteSpace\fR - Don't use this deprecated value (it is a synonym for AtWordBoundary which you should use instead).
+.TP
+\fCQTextEdit::Anywhere\fR - Break anywhere, including within words.
+.TP
+\fCQTextEdit::AtWordBoundary\fR - Break lines at word boundaries, e.g. spaces or newlines
+.TP
+\fCQTextEdit::AtWordOrDocumentBoundary\fR - Break lines at whitespace, e.g. spaces or newlines if possible. Break it anywhere otherwise.
+.PP
+See also wrapPolicy.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextEdit::QTextEdit ( const QString & text, const QString & context = QString::null, QWidget * parent = 0, const char * name = 0 )"
+Constructs a QTextEdit called \fIname\fR, with parent \fIparent\fR. The text edit will display the text \fItext\fR using context \fIcontext\fR.
+.PP
+The \fIcontext\fR is a path which the text edit's QMimeSourceFactory uses to resolve the locations of files and images. It is passed to the mimeSourceFactory() when quering data.
+.PP
+For example if the text contains an image tag, \fC<img src="image.png">\fR, and the context is "path/to/look/in", the QMimeSourceFactory will try to load the image from" path/to/look/in/image.png". If the tag was \fC<img src="/image.png">\fR, the context will not be used (because QMimeSourceFactory recognizes that we have used an absolute path) and will try to load "/image.png". The context is applied in exactly the same way to \fIhrefs\fR, for example, \fC<a href="target.html">Target</a>\fR, would resolve to" path/to/look/in/target.html".
+.SH "QTextEdit::QTextEdit ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty QTextEdit called \fIname\fR, with parent \fIparent\fR.
+.SH "int QTextEdit::alignment () const"
+Returns the alignment of the current paragraph.
+.PP
+See also setAlignment().
+.SH "QString QTextEdit::anchorAt ( const QPoint & pos, AnchorAttribute attr )"
+If there is an anchor at position \fIpos\fR (in contents coordinates), the text for attribute \fIattr\fR is returned, otherwise QString::null is returned.
+.SH "QString QTextEdit::anchorAt ( const QPoint & pos )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+If there is an anchor at position \fIpos\fR (in contents coordinates), its \fChref\fR is returned, otherwise QString::null is returned.
+.SH "void QTextEdit::append ( const QString & text )\fC [virtual slot]\fR"
+Appends a new paragraph with \fItext\fR to the end of the text edit. Note that the undo/redo history is cleared by this function, and no undo history is kept for appends which makes them faster than insert()s. If you want to append text which is added to the undo/redo history as well, use insertParagraph().
+.PP
+Examples:
+.)l network/clientserver/client/client.cpp, network/clientserver/server/server.cpp, network/httpd/httpd.cpp, and process/process.cpp.
+.SH "uint QTextEdit::autoFormatting () const"
+Returns the enabled set of auto formatting features. See the "autoFormatting" property for details.
+.SH "bool QTextEdit::bold () const"
+Returns TRUE if the current format is bold; otherwise returns FALSE.
+.PP
+See also setBold().
+.SH "int QTextEdit::charAt ( const QPoint & pos, int * para ) const"
+Returns the index of the character (relative to its paragraph) at position \fIpos\fR (in contents coordinates). If \fIpara\fR is not 0, \fI*para\fR is set to the character's paragraph.
+.SH "void QTextEdit::clear ()\fC [virtual slot]\fR"
+Deletes all the text in the text edit.
+.PP
+See also cut(), removeSelectedText(), and text.
+.SH "void QTextEdit::clearParagraphBackground ( int para )\fC [virtual slot]\fR"
+Clears the background color of the paragraph \fIpara\fR, so that the default color is used again.
+.SH "void QTextEdit::clicked ( int para, int pos )\fC [signal]\fR"
+This signal is emitted when the mouse is clicked on the paragraph \fIpara\fR at character position \fIpos\fR.
+.PP
+See also doubleClicked().
+.SH "QColor QTextEdit::color () const"
+Returns the color of the current format.
+.PP
+See also setColor() and paper.
+.SH "QString QTextEdit::context () const"
+Returns the context of the text edit. The context is a path which the text edit's QMimeSourceFactory uses to resolve the locations of files and images.
+.PP
+See also text.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qdir/qdir.cpp.
+.SH "void QTextEdit::copy ()\fC [virtual slot]\fR"
+Copies any selected text (from selection 0) to the clipboard.
+.PP
+See also hasSelectedText and copyAvailable().
+.SH "void QTextEdit::copyAvailable ( bool yes )\fC [signal]\fR"
+This signal is emitted when text is selected or de-selected in the text edit.
+.PP
+When text is selected this signal will be emitted with \fIyes\fR set to TRUE. If no text has been selected or if the selected text is de-selected this signal is emitted with \fIyes\fR set to FALSE.
+.PP
+If \fIyes\fR is TRUE then copy() can be used to copy the selection to the clipboard. If \fIyes\fR is FALSE then copy() does nothing.
+.PP
+See also selectionChanged().
+.SH "QPopupMenu * QTextEdit::createPopupMenu ( const QPoint & pos )\fC [virtual protected]\fR"
+This function is called to create a right mouse button popup menu at the document position \fIpos\fR. If you want to create a custom popup menu, reimplement this function and return the created popup menu. Ownership of the popup menu is transferred to the caller.
+.PP
+\fBWarning:\fR The QPopupMenu ID values 0-7 are reserved, and they map to the standard operations. When inserting items into your custom popup menu, be sure to specify ID values larger than 7.
+.SH "QPopupMenu * QTextEdit::createPopupMenu ()\fC [virtual protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function is called to create a right mouse button popup menu. If you want to create a custom popup menu, reimplement this function and return the created popup menu. Ownership of the popup menu is transferred to the caller.
+.PP
+This function is only called if createPopupMenu( const QPoint & ) returns 0.
+.SH "void QTextEdit::currentAlignmentChanged ( int a )\fC [signal]\fR"
+This signal is emitted if the alignment of the current paragraph has changed.
+.PP
+The new alignment is \fIa\fR.
+.PP
+See also setAlignment().
+.SH "void QTextEdit::currentColorChanged ( const QColor & c )\fC [signal]\fR"
+This signal is emitted if the color of the current format has changed.
+.PP
+The new color is \fIc\fR.
+.PP
+See also setColor().
+.SH "QFont QTextEdit::currentFont () const"
+Returns the font of the current format.
+.PP
+See also setCurrentFont(), setFamily(), and setPointSize().
+.SH "void QTextEdit::currentFontChanged ( const QFont & f )\fC [signal]\fR"
+This signal is emitted if the font of the current format has changed.
+.PP
+The new font is \fIf\fR.
+.PP
+See also setCurrentFont().
+.SH "void QTextEdit::currentVerticalAlignmentChanged ( VerticalAlignment a )\fC [signal]\fR"
+This signal is emitted if the vertical alignment of the current format has changed.
+.PP
+The new vertical alignment is \fIa\fR.
+.PP
+See also setVerticalAlignment().
+.SH "void QTextEdit::cursorPositionChanged ( int para, int pos )\fC [signal]\fR"
+This signal is emitted if the position of the cursor has changed. \fIpara\fR contains the paragraph index and \fIpos\fR contains the character position within the paragraph.
+.PP
+See also setCursorPosition().
+.SH "void QTextEdit::cut ()\fC [virtual slot]\fR"
+Copies the selected text (from selection 0) to the clipboard and deletes it from the text edit.
+.PP
+If there is no selected text (in selection 0) nothing happens.
+.PP
+See also QTextEdit::copy(), paste(), and pasteSubType().
+.SH "void QTextEdit::del ()\fC [virtual slot]\fR"
+If there is some selected text (in selection 0) it is deleted. If there is no selected text (in selection 0) the character to the right of the text cursor is deleted.
+.PP
+See also removeSelectedText() and cut().
+.SH "void QTextEdit::doKeyboardAction ( KeyboardAction action )\fC [virtual slot]\fR"
+Executes keyboard action \fIaction\fR. This is normally called by a key event handler.
+.SH "QString QTextEdit::documentTitle () const"
+Returns the title of the document parsed from the text. See the "documentTitle" property for details.
+.SH "void QTextEdit::doubleClicked ( int para, int pos )\fC [signal]\fR"
+This signal is emitted when the mouse is double-clicked on the paragraph \fIpara\fR at character position \fIpos\fR.
+.PP
+See also clicked().
+.SH "void QTextEdit::ensureCursorVisible ()\fC [virtual slot]\fR"
+Ensures that the cursor is visible by scrolling the text edit if necessary.
+.PP
+See also setCursorPosition().
+.SH "QString QTextEdit::family () const"
+Returns the font family of the current format.
+.PP
+See also setFamily(), setCurrentFont(), and setPointSize().
+.SH "bool QTextEdit::find ( const QString & expr, bool cs, bool wo, bool forward = TRUE, int * para = 0, int * index = 0 )\fC [virtual]\fR"
+Finds the next occurrence of the string, \fIexpr\fR. Returns TRUE if \fIexpr\fR was found; otherwise returns FALSE.
+.PP
+If \fIpara\fR and \fIindex\fR are both 0 the search begins from the current cursor position. If \fIpara\fR and \fIindex\fR are both not 0, the search begins from the \fI*index\fR character position in the \fI*para\fR paragraph.
+.PP
+If \fIcs\fR is TRUE the search is case sensitive, otherwise it is case insensitive. If \fIwo\fR is TRUE the search looks for whole word matches only; otherwise it searches for any matching text. If \fIforward\fR is TRUE (the default) the search works forward from the starting position to the end of the text, otherwise it works backwards to the beginning of the text.
+.PP
+If \fIexpr\fR is found the function returns TRUE. If \fIindex\fR and \fIpara\fR are not 0, the number of the paragraph in which the first character of the match was found is put into \fI*para\fR, and the index position of that character within the paragraph is put into \fI*index\fR.
+.PP
+If \fIexpr\fR is not found the function returns FALSE. If \fIindex\fR and \fIpara\fR are not 0 and \fIexpr\fR is not found, \fI*index\fR and \fI*para\fR are undefined.
+.PP
+Please note that this function will make the next occurrence of the string (if found) the current selection, and will thus modify the cursor position.
+.PP
+Using the \fIpara\fR and \fIindex\fR parameters will not work correctly in case the document contains tables.
+.SH "bool QTextEdit::focusNextPrevChild ( bool n )\fC [virtual protected]\fR"
+Reimplemented to allow tabbing through links. If \fIn\fR is TRUE the tab moves the focus to the next child; if \fIn\fR is FALSE the tab moves the focus to the previous child. Returns TRUE if the focus was moved; otherwise returns FALSE.
+.SH "QFont QTextEdit::font () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns QScrollView::font()
+.PP
+\fBWarning:\fR In previous versions this function returned the font of the current format. This lead to confusion. Please use currentFont() instead.
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "void QTextEdit::getCursorPosition ( int * para, int * index ) const"
+This function sets the \fI*para\fR and \fI*index\fR parameters to the current cursor position. \fIpara\fR and \fIindex\fR must not be 0.
+.PP
+See also setCursorPosition().
+.SH "void QTextEdit::getSelection ( int * paraFrom, int * indexFrom, int * paraTo, int * indexTo, int selNum = 0 ) const"
+If there is a selection, \fI*paraFrom\fR is set to the number of the paragraph in which the selection begins and \fI*paraTo\fR is set to the number of the paragraph in which the selection ends. (They could be the same.) \fI*indexFrom\fR is set to the index at which the selection begins within \fI*paraFrom\fR, and \fI*indexTo\fR is set to the index at which the selection ends within \fI*paraTo\fR.
+.PP
+If there is no selection, \fI*paraFrom\fR, \fI*indexFrom\fR, \fI*paraTo\fR and \fI*indexTo\fR are all set to -1.
+.PP
+If \fIparaFrom\fR, \fIindexFrom\fR, \fIparaTo\fR or \fIindexTo\fR is 0 this function does nothing.
+.PP
+The \fIselNum\fR is the number of the selection (multiple selections are supported). It defaults to 0 (the default selection).
+.PP
+See also setSelection() and selectedText.
+.SH "bool QTextEdit::hasSelectedText () const"
+Returns TRUE if some text is selected in selection 0; otherwise returns FALSE. See the "hasSelectedText" property for details.
+.SH "int QTextEdit::heightForWidth ( int w ) const\fC [virtual]\fR"
+Returns how many pixels high the text edit needs to be to display all the text if the text edit is \fIw\fR pixels wide.
+.PP
+Reimplemented from QWidget.
+.SH "void QTextEdit::insert ( const QString & text, uint insertionFlags = CheckNewLines | RemoveSelected )\fC [slot]\fR"
+Inserts \fItext\fR at the current cursor position.
+.PP
+The \fIinsertionFlags\fR define how the text is inserted. If RedoIndentation is set, the paragraph is re-indented. If CheckNewLines is set, newline characters in \fItext\fR result in hard line breaks (i.e. new paragraphs). If \fCcheckNewLine\fR is not set, the behaviour of the editor is undefined if the \fItext\fR contains newlines. (It is not possible to change QTextEdit's newline handling behavior, but you can use QString::replace() to preprocess text before inserting it.) If RemoveSelected is set, any selected text (in selection 0) is removed before the text is inserted.
+.PP
+The default flags are CheckNewLines | RemoveSelected.
+.PP
+If the widget is in LogText mode this function will do nothing.
+.PP
+See also paste() and pasteSubType().
+.SH "void QTextEdit::insert ( const QString & text, bool indent, bool checkNewLine = TRUE, bool removeSelected = TRUE )\fC [virtual slot]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QTextEdit::insertAt ( const QString & text, int para, int index )\fC [virtual slot]\fR"
+Inserts \fItext\fR in the paragraph \fIpara\fR at position \fIindex\fR.
+.SH "void QTextEdit::insertParagraph ( const QString & text, int para )\fC [virtual slot]\fR"
+Inserts \fItext\fR as a new paragraph at position \fIpara\fR. If \fIpara\fR is -1, the text is appended. Use append() if the append operation is performance critical.
+.SH "bool QTextEdit::isModified () const"
+Returns TRUE if the document has been modified by the user; otherwise returns FALSE. See the "modified" property for details.
+.SH "bool QTextEdit::isOverwriteMode () const"
+Returns the text edit's overwrite mode. See the "overwriteMode" property for details.
+.SH "bool QTextEdit::isReadOnly () const"
+Returns TRUE if the text edit is read-only; otherwise returns FALSE. See the "readOnly" property for details.
+.SH "bool QTextEdit::isRedoAvailable () const"
+Returns TRUE if redo is available; otherwise returns FALSE.
+.SH "bool QTextEdit::isUndoAvailable () const"
+Returns TRUE if undo is available; otherwise returns FALSE.
+.SH "bool QTextEdit::isUndoRedoEnabled () const"
+Returns TRUE if undo/redo is enabled; otherwise returns FALSE. See the "undoRedoEnabled" property for details.
+.SH "bool QTextEdit::italic () const"
+Returns TRUE if the current format is italic; otherwise returns FALSE.
+.PP
+See also setItalic().
+.SH "void QTextEdit::keyPressEvent ( QKeyEvent * e )\fC [virtual protected]\fR"
+Processes the key event, \fIe\fR. By default key events are used to provide keyboard navigation and text editing.
+.PP
+Reimplemented from QWidget.
+.PP
+Reimplemented in QTextBrowser.
+.SH "int QTextEdit::length () const"
+Returns the number of characters in the text. See the "length" property for details.
+.SH "int QTextEdit::lineOfChar ( int para, int index )"
+Returns the line number of the line in paragraph \fIpara\fR in which the character at position \fIindex\fR appears. The \fIindex\fR position is relative to the beginning of the paragraph. If there is no such paragraph or no such character at the \fIindex\fR position (e.g. the index is out of range) -1 is returned.
+.SH "int QTextEdit::lines () const"
+Returns the number of lines in the text edit; this could be 0.
+.PP
+\fBWarning:\fR This function may be slow. Lines change all the time during word wrapping, so this function has to iterate over all the paragraphs and get the number of lines from each one individually.
+.SH "int QTextEdit::linesOfParagraph ( int para ) const"
+Returns the number of lines in paragraph \fIpara\fR, or -1 if there is no paragraph with index \fIpara\fR.
+.SH "bool QTextEdit::linkUnderline () const"
+Returns TRUE if hypertext links will be underlined; otherwise returns FALSE. See the "linkUnderline" property for details.
+.SH "int QTextEdit::maxLogLines ()\fC [slot]\fR"
+Returns the maximum number of lines QTextEdit can hold in LogText mode. By default the number of lines is unlimited, which is signified by a value of -1.
+.SH "QMimeSourceFactory * QTextEdit::mimeSourceFactory () const"
+Returns the QMimeSourceFactory which is being used by this text edit.
+.PP
+See also setMimeSourceFactory().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, mdi/application.cpp, and qdir/qdir.cpp.
+.SH "void QTextEdit::modificationChanged ( bool m )\fC [signal]\fR"
+This signal is emitted when the modification status of the document has changed. If \fIm\fR is TRUE, the document was modified, otherwise the modification state has been reset to unmodified.
+.PP
+See also modified.
+.SH "void QTextEdit::moveCursor ( CursorAction action, bool select )\fC [virtual slot]\fR"
+Moves the text cursor according to \fIaction\fR. This is normally used by some key event handler. \fIselect\fR specifies whether the text between the current cursor position and the new position should be selected.
+.SH "QBrush QTextEdit::paper () const"
+Returns the background (paper) brush. See the "paper" property for details.
+.SH "int QTextEdit::paragraphAt ( const QPoint & pos ) const"
+Returns the paragraph which is at position \fIpos\fR (in contents coordinates).
+.SH "QColor QTextEdit::paragraphBackgroundColor ( int para ) const"
+Returns the background color of the paragraph \fIpara\fR or an invalid color if \fIpara\fR is out of range or the paragraph has no background set
+.SH "int QTextEdit::paragraphLength ( int para ) const"
+Returns the length of the paragraph \fIpara\fR (i.e. the number of characters), or -1 if there is no paragraph with index \fIpara\fR.
+.PP
+This function ignores newlines.
+.SH "QRect QTextEdit::paragraphRect ( int para ) const"
+Returns the rectangle of the paragraph \fIpara\fR in contents coordinates, or an invalid rectangle if \fIpara\fR is out of range.
+.SH "int QTextEdit::paragraphs () const"
+Returns the number of paragraphs in the text; an empty textedit is always considered to have one paragraph, so 1 is returned in this case.
+.SH "void QTextEdit::paste ()\fC [virtual slot]\fR"
+Pastes the text from the clipboard into the text edit at the current cursor position. Only plain text is pasted.
+.PP
+If there is no text in the clipboard nothing happens.
+.PP
+See also pasteSubType(), cut(), and QTextEdit::copy().
+.SH "void QTextEdit::pasteSubType ( const QCString & subtype )\fC [virtual slot]\fR"
+Pastes the text with format \fIsubtype\fR from the clipboard into the text edit at the current cursor position. The \fIsubtype\fR can be" plain" or "html".
+.PP
+If there is no text with format \fIsubtype\fR in the clipboard nothing happens.
+.PP
+See also paste(), cut(), and QTextEdit::copy().
+.SH "void QTextEdit::placeCursor ( const QPoint & pos, QTextCursor * c = 0 )\fC [virtual slot]\fR"
+Places the cursor \fIc\fR at the character which is closest to position \fIpos\fR (in contents coordinates). If \fIc\fR is 0, the default text cursor is used.
+.PP
+See also setCursorPosition().
+.SH "int QTextEdit::pointSize () const"
+Returns the point size of the font of the current format.
+.PP
+See also setFamily(), setCurrentFont(), and setPointSize().
+.SH "void QTextEdit::redo ()\fC [virtual slot]\fR"
+Redoes the last operation.
+.PP
+If there is no operation to redo, i.e. there is no redo step in the undo/redo history, nothing happens.
+.PP
+See also redoAvailable(), undo(), and undoDepth.
+.SH "void QTextEdit::redoAvailable ( bool yes )\fC [signal]\fR"
+This signal is emitted when the availability of redo changes. If \fIyes\fR is TRUE, then redo() will work until redoAvailable( FALSE ) is next emitted.
+.PP
+See also redo() and undoDepth.
+.SH "void QTextEdit::removeParagraph ( int para )\fC [virtual slot]\fR"
+Removes the paragraph \fIpara\fR.
+.SH "void QTextEdit::removeSelectedText ( int selNum = 0 )\fC [virtual slot]\fR"
+Deletes the text of selection \fIselNum\fR (by default, the default selection, 0). If there is no selected text nothing happens.
+.PP
+See also selectedText and removeSelection().
+.SH "void QTextEdit::removeSelection ( int selNum = 0 )\fC [virtual slot]\fR"
+Removes the selection \fIselNum\fR (by default 0). This does not remove the selected text.
+.PP
+See also removeSelectedText().
+.SH "void QTextEdit::repaintChanged ()\fC [protected]\fR"
+Repaints any paragraphs that have changed.
+.PP
+Although used extensively internally you shouldn't need to call this yourself.
+.SH "void QTextEdit::returnPressed ()\fC [signal]\fR"
+This signal is emitted if the user pressed the Return or the Enter key.
+.SH "void QTextEdit::scrollToAnchor ( const QString & name )\fC [virtual slot]\fR"
+Scrolls the text edit to make the text at the anchor called \fIname\fR visible, if it can be found in the document. If the anchor isn't found no scrolling will occur. An anchor is defined using the HTML anchor tag, e.g. \fC<a name="target">\fR.
+.SH "void QTextEdit::scrollToBottom ()\fC [virtual slot]\fR"
+Scrolls to the bottom of the document and does formatting if required.
+.SH "void QTextEdit::selectAll ( bool select = TRUE )\fC [virtual slot]\fR"
+If \fIselect\fR is TRUE (the default), all the text is selected as selection 0. If \fIselect\fR is FALSE any selected text is unselected, i.e. the default selection (selection 0) is cleared.
+.PP
+See also selectedText.
+.SH "QString QTextEdit::selectedText () const"
+Returns the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0). See the "selectedText" property for details.
+.SH "void QTextEdit::selectionChanged ()\fC [signal]\fR"
+This signal is emitted whenever the selection changes.
+.PP
+See also setSelection() and copyAvailable().
+.SH "void QTextEdit::setAlignment ( int a )\fC [virtual slot]\fR"
+Sets the alignment of the current paragraph to \fIa\fR. Valid alignments are Qt::AlignLeft, Qt::AlignRight, Qt::AlignJustify and Qt::AlignCenter (which centers horizontally).
+.PP
+Reimplemented in QMultiLineEdit.
+.SH "void QTextEdit::setAutoFormatting ( uint features )"
+Sets the enabled set of auto formatting features to \fIfeatures\fR. See the "autoFormatting" property for details.
+.SH "void QTextEdit::setBold ( bool b )\fC [virtual slot]\fR"
+If \fIb\fR is TRUE sets the current format to bold; otherwise sets the current format to non-bold.
+.PP
+See also bold().
+.SH "void QTextEdit::setColor ( const QColor & c )\fC [virtual slot]\fR"
+Sets the color of the current format, i.e. of the text, to \fIc\fR.
+.PP
+See also color() and paper.
+.SH "void QTextEdit::setCurrentFont ( const QFont & f )\fC [virtual slot]\fR"
+Sets the font of the current format to \fIf\fR.
+.PP
+If the widget is in LogText mode this function will do nothing. Use setFont() instead.
+.PP
+See also currentFont(), setPointSize(), and setFamily().
+.SH "void QTextEdit::setCursorPosition ( int para, int index )\fC [virtual slot]\fR"
+Sets the cursor to position \fIindex\fR in paragraph \fIpara\fR.
+.PP
+See also getCursorPosition().
+.SH "void QTextEdit::setFamily ( const QString & fontFamily )\fC [virtual slot]\fR"
+Sets the font family of the current format to \fIfontFamily\fR.
+.PP
+See also family() and setCurrentFont().
+.SH "void QTextEdit::setItalic ( bool b )\fC [virtual slot]\fR"
+If \fIb\fR is TRUE sets the current format to italic; otherwise sets the current format to non-italic.
+.PP
+See also italic().
+.SH "void QTextEdit::setLinkUnderline ( bool )\fC [virtual slot]\fR"
+Sets whether hypertext links will be underlined. See the "linkUnderline" property for details.
+.SH "void QTextEdit::setMaxLogLines ( int limit )\fC [slot]\fR"
+Sets the maximum number of lines a QTextEdit can hold in LogText mode to \fIlimit\fR. If \fIlimit\fR is -1 (the default), this signifies an unlimited number of lines.
+.PP
+\fBWarning:\fR Never use formatting tags that span more than one line when the maximum log lines is set. When lines are removed from the top of the buffer it could result in an unbalanced tag pair, i.e. the left formatting tag is removed before the right one.
+.SH "void QTextEdit::setMimeSourceFactory ( QMimeSourceFactory * factory )\fC [virtual slot]\fR"
+Sets the text edit's mimesource factory to \fIfactory\fR. See QMimeSourceFactory for further details.
+.PP
+See also mimeSourceFactory().
+.SH "void QTextEdit::setModified ( bool m )\fC [virtual slot]\fR"
+Sets whether the document has been modified by the user to \fIm\fR. See the "modified" property for details.
+.SH "void QTextEdit::setOverwriteMode ( bool b )\fC [virtual slot]\fR"
+Sets the text edit's overwrite mode to \fIb\fR. See the "overwriteMode" property for details.
+.SH "void QTextEdit::setPaper ( const QBrush & pap )\fC [virtual slot]\fR"
+Sets the background (paper) brush to \fIpap\fR. See the "paper" property for details.
+.SH "void QTextEdit::setParagraphBackgroundColor ( int para, const QColor & bg )\fC [virtual slot]\fR"
+Sets the background color of the paragraph \fIpara\fR to \fIbg\fR.
+.SH "void QTextEdit::setPointSize ( int s )\fC [virtual slot]\fR"
+Sets the point size of the current format to \fIs\fR.
+.PP
+Note that if \fIs\fR is zero or negative, the behaviour of this function is not defined.
+.PP
+See also pointSize(), setCurrentFont(), and setFamily().
+.SH "void QTextEdit::setReadOnly ( bool b )\fC [virtual slot]\fR"
+Sets whether the text edit is read-only to \fIb\fR. See the "readOnly" property for details.
+.SH "void QTextEdit::setSelection ( int paraFrom, int indexFrom, int paraTo, int indexTo, int selNum = 0 )\fC [virtual slot]\fR"
+Sets a selection which starts at position \fIindexFrom\fR in paragraph \fIparaFrom\fR and ends at position \fIindexTo\fR in paragraph \fIparaTo\fR.
+.PP
+Any existing selections which have a different id (\fIselNum\fR) are left alone, but if an existing selection has the same id as \fIselNum\fR it is removed and replaced by this selection.
+.PP
+Uses the selection settings of selection \fIselNum\fR. If \fIselNum\fR is 0, this is the default selection.
+.PP
+The cursor is moved to the end of the selection if \fIselNum\fR is 0, otherwise the cursor position remains unchanged.
+.PP
+See also getSelection() and selectedText.
+.SH "void QTextEdit::setSelectionAttributes ( int selNum, const QColor & back, bool invertText )\fC [virtual slot]\fR"
+Sets the background color of selection number \fIselNum\fR to \fIback\fR and specifies whether the text of this selection should be inverted with \fIinvertText\fR.
+.PP
+This only works for \fIselNum\fR > 0. The default selection (\fIselNum\fR == 0) gets its attributes from the text edit's colorGroup().
+.SH "void QTextEdit::setStyleSheet ( QStyleSheet * styleSheet )\fC [virtual slot]\fR"
+Sets the stylesheet to use with this text edit to \fIstyleSheet\fR. Changes will only take effect for new text added with setText() or append().
+.PP
+See also styleSheet().
+.SH "void QTextEdit::setTabChangesFocus ( bool b )\fC [slot]\fR"
+Sets whether TAB changes focus or is accepted as input to \fIb\fR. See the "tabChangesFocus" property for details.
+.SH "void QTextEdit::setTabStopWidth ( int ts )\fC [virtual slot]\fR"
+Sets the tab stop width in pixels to \fIts\fR. See the "tabStopWidth" property for details.
+.SH "void QTextEdit::setText ( const QString & txt )\fC [slot]\fR"
+Sets the text edit's text to \fItxt\fR. See the "text" property for details.
+.SH "void QTextEdit::setText ( const QString & text, const QString & context )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Changes the text of the text edit to the string \fItext\fR and the context to \fIcontext\fR. Any previous text is removed.
+.PP
+\fItext\fR may be interpreted either as plain text or as rich text, depending on the textFormat(). The default setting is AutoText, i.e. the text edit auto-detects the format from \fItext\fR.
+.PP
+For rich text the rendering style and available tags are defined by a styleSheet(); see QStyleSheet for details.
+.PP
+The optional \fIcontext\fR is a path which the text edit's QMimeSourceFactory uses to resolve the locations of files and images. (See QTextEdit::QTextEdit().) It is passed to the text edit's QMimeSourceFactory when quering data.
+.PP
+Note that the undo/redo history is cleared by this function.
+.PP
+See also text and textFormat.
+.SH "void QTextEdit::setTextFormat ( TextFormat f )\fC [virtual slot]\fR"
+Sets the text format: rich text, plain text, log text or auto text to \fIf\fR. See the "textFormat" property for details.
+.SH "void QTextEdit::setUnderline ( bool b )\fC [virtual slot]\fR"
+If \fIb\fR is TRUE sets the current format to underline; otherwise sets the current format to non-underline.
+.PP
+See also underline().
+.SH "void QTextEdit::setUndoDepth ( int d )\fC [virtual slot]\fR"
+Sets the depth of the undo history to \fId\fR. See the "undoDepth" property for details.
+.SH "void QTextEdit::setUndoRedoEnabled ( bool b )\fC [virtual slot]\fR"
+Sets whether undo/redo is enabled to \fIb\fR. See the "undoRedoEnabled" property for details.
+.SH "void QTextEdit::setVerticalAlignment ( VerticalAlignment a )\fC [virtual slot]\fR"
+Sets the vertical alignment of the current format, i.e. of the text, to \fIa\fR.
+.PP
+See also color() and paper.
+.SH "void QTextEdit::setWordWrap ( WordWrap mode )\fC [virtual slot]\fR"
+Sets the word wrap mode to \fImode\fR. See the "wordWrap" property for details.
+.SH "void QTextEdit::setWrapColumnOrWidth ( int )\fC [virtual slot]\fR"
+Sets the position (in pixels or columns depending on the wrap mode) where text will be wrapped. See the "wrapColumnOrWidth" property for details.
+.SH "void QTextEdit::setWrapPolicy ( WrapPolicy policy )\fC [virtual slot]\fR"
+Sets the word wrap policy, at whitespace or anywhere to \fIpolicy\fR. See the "wrapPolicy" property for details.
+.SH "QStyleSheet * QTextEdit::styleSheet () const"
+Returns the QStyleSheet which is being used by this text edit.
+.PP
+See also setStyleSheet().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, helpviewer/helpwindow.cpp, and mdi/application.cpp.
+.SH "void QTextEdit::sync ()\fC [virtual slot]\fR"
+QTextEdit is optimized for large amounts text. One of its optimizations is to format only the visible text, formatting the rest on demand, e.g. as the user scrolls, so you don't usually need to call this function.
+.PP
+In some situations you may want to force the whole text to be formatted. For example, if after calling setText(), you wanted to know the height of the document (using contentsHeight()), you would call this function first.
+.SH "QSyntaxHighlighter * QTextEdit::syntaxHighlighter () const"
+Returns the QSyntaxHighlighter set on this QTextEdit. 0 is returned if no syntax highlighter is set.
+.SH "bool QTextEdit::tabChangesFocus () const"
+Returns TRUE if TAB changes focus or is accepted as input; otherwise returns FALSE. See the "tabChangesFocus" property for details.
+.SH "int QTextEdit::tabStopWidth () const"
+Returns the tab stop width in pixels. See the "tabStopWidth" property for details.
+.SH "QString QTextEdit::text () const"
+Returns the text edit's text. See the "text" property for details.
+.SH "QString QTextEdit::text ( int para ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the text of paragraph \fIpara\fR.
+.PP
+If textFormat() is RichText the text will contain HTML formatting tags.
+.SH "void QTextEdit::textChanged ()\fC [signal]\fR"
+This signal is emitted whenever the text in the text edit changes.
+.PP
+See also text and append().
+.PP
+Examples:
+.)l qwerty/qwerty.cpp and rot13/rot13.cpp.
+.SH "QTextCursor * QTextEdit::textCursor () const\fC [protected]\fR"
+Returns the text edit's text cursor.
+.PP
+\fBWarning:\fR QTextCursor is not in the public API, but in special circumstances you might wish to use it.
+.SH "TextFormat QTextEdit::textFormat () const"
+Returns the text format: rich text, plain text, log text or auto text. See the "textFormat" property for details.
+.SH "bool QTextEdit::underline () const"
+Returns TRUE if the current format is underlined; otherwise returns FALSE.
+.PP
+See also setUnderline().
+.SH "void QTextEdit::undo ()\fC [virtual slot]\fR"
+Undoes the last operation.
+.PP
+If there is no operation to undo, i.e. there is no undo step in the undo/redo history, nothing happens.
+.PP
+See also undoAvailable(), redo(), and undoDepth.
+.SH "void QTextEdit::undoAvailable ( bool yes )\fC [signal]\fR"
+This signal is emitted when the availability of undo changes. If \fIyes\fR is TRUE, then undo() will work until undoAvailable( FALSE ) is next emitted.
+.PP
+See also undo() and undoDepth.
+.SH "int QTextEdit::undoDepth () const"
+Returns the depth of the undo history. See the "undoDepth" property for details.
+.SH "WordWrap QTextEdit::wordWrap () const"
+Returns the word wrap mode. See the "wordWrap" property for details.
+.SH "int QTextEdit::wrapColumnOrWidth () const"
+Returns the position (in pixels or columns depending on the wrap mode) where text will be wrapped. See the "wrapColumnOrWidth" property for details.
+.SH "WrapPolicy QTextEdit::wrapPolicy () const"
+Returns the word wrap policy, at whitespace or anywhere. See the "wrapPolicy" property for details.
+.SH "void QTextEdit::zoomIn ( int range )\fC [virtual slot]\fR"
+Zooms in on the text by making the base font size \fIrange\fR points larger and recalculating all font sizes to be the new size. This does not change the size of any images.
+.PP
+See also zoomOut().
+.SH "void QTextEdit::zoomIn ()\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Zooms in on the text by making the base font size one point larger and recalculating all font sizes to be the new size. This does not change the size of any images.
+.PP
+See also zoomOut().
+.SH "void QTextEdit::zoomOut ( int range )\fC [virtual slot]\fR"
+Zooms out on the text by making the base font size \fIrange\fR points smaller and recalculating all font sizes to be the new size. This does not change the size of any images.
+.PP
+See also zoomIn().
+.SH "void QTextEdit::zoomOut ()\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Zooms out on the text by making the base font size one point smaller and recalculating all font sizes to be the new size. This does not change the size of any images.
+.PP
+See also zoomIn().
+.SH "void QTextEdit::zoomTo ( int size )\fC [virtual slot]\fR"
+Zooms the text by making the base font size \fIsize\fR points and recalculating all font sizes to be the new size. This does not change the size of any images.
+.SS "Property Documentation"
+.SH "AutoFormatting autoFormatting"
+This property holds the enabled set of auto formatting features.
+.PP
+The value can be any combination of the values in the AutoFormatting enum. The default is AutoAll. Choose AutoNone to disable all automatic formatting.
+.PP
+Currently, the only automatic formatting feature provided is AutoBulletList; future versions of Qt may offer more.
+.PP
+Set this property's value with setAutoFormatting() and get this property's value with autoFormatting().
+.SH "QString documentTitle"
+This property holds the title of the document parsed from the text.
+.PP
+For PlainText the title will be an empty string. For RichText the title will be the text between the \fC<title>\fR tags, if present, otherwise an empty string.
+.PP
+Get this property's value with documentTitle().
+.SH "bool hasSelectedText"
+This property holds whether some text is selected in selection 0.
+.PP
+Get this property's value with hasSelectedText().
+.SH "int length"
+This property holds the number of characters in the text.
+.PP
+Get this property's value with length().
+.SH "bool linkUnderline"
+This property holds whether hypertext links will be underlined.
+.PP
+If TRUE (the default) hypertext links will be displayed underlined. If FALSE links will not be displayed underlined.
+.PP
+Set this property's value with setLinkUnderline() and get this property's value with linkUnderline().
+.SH "bool modified"
+This property holds whether the document has been modified by the user.
+.PP
+Set this property's value with setModified() and get this property's value with isModified().
+.SH "bool overwriteMode"
+This property holds the text edit's overwrite mode.
+.PP
+If FALSE (the default) characters entered by the user are inserted with any characters to the right being moved out of the way. If TRUE, the editor is in overwrite mode, i.e. characters entered by the user overwrite any characters to the right of the cursor position.
+.PP
+Set this property's value with setOverwriteMode() and get this property's value with isOverwriteMode().
+.SH "QBrush paper"
+This property holds the background (paper) brush.
+.PP
+The brush that is currently used to draw the background of the text edit. The initial setting is an empty brush.
+.PP
+Set this property's value with setPaper() and get this property's value with paper().
+.SH "bool readOnly"
+This property holds whether the text edit is read-only.
+.PP
+In a read-only text edit the user can only navigate through the text and select text; modifying the text is not possible.
+.PP
+This property's default is FALSE.
+.PP
+Set this property's value with setReadOnly() and get this property's value with isReadOnly().
+.SH "QString selectedText"
+This property holds the selected text (from selection 0) or an empty string if there is no currently selected text (in selection 0).
+.PP
+The text is always returned as PlainText if the textFormat() is PlainText or AutoText, otherwise it is returned as HTML.
+.PP
+See also hasSelectedText.
+.PP
+Get this property's value with selectedText().
+.SH "bool tabChangesFocus"
+This property holds whether TAB changes focus or is accepted as input.
+.PP
+In some occasions text edits should not allow the user to input tabulators or change indentation using the TAB key, as this breaks the focus chain. The default is FALSE.
+.PP
+Set this property's value with setTabChangesFocus() and get this property's value with tabChangesFocus().
+.SH "int tabStopWidth"
+This property holds the tab stop width in pixels.
+.PP
+Set this property's value with setTabStopWidth() and get this property's value with tabStopWidth().
+.SH "QString text"
+This property holds the text edit's text.
+.PP
+There is no default text.
+.PP
+On setting, any previous text is deleted.
+.PP
+The text may be interpreted either as plain text or as rich text, depending on the textFormat(). The default setting is AutoText, i.e. the text edit auto-detects the format of the text.
+.PP
+For richtext, calling text() on an editable QTextEdit will cause the text to be regenerated from the textedit. This may mean that the QString returned may not be exactly the same as the one that was set.
+.PP
+See also textFormat.
+.PP
+Set this property's value with setText() and get this property's value with text().
+.SH "TextFormat textFormat"
+This property holds the text format: rich text, plain text, log text or auto text.
+.PP
+The text format is one of the following:
+.TP
+PlainText - all characters, except newlines, are displayed verbatim, including spaces. Whenever a newline appears in the text the text edit inserts a hard line break and begins a new paragraph.
+.TP
+RichText - rich text rendering. The available styles are defined in the default stylesheet QStyleSheet::defaultSheet().
+.TP
+LogText - optimized mode for very large texts. Supports a very limited set of formatting tags (color, bold, underline and italic settings).
+.TP
+AutoText - this is the default. The text edit autodetects which rendering style is best, PlainText or RichText. This is done by using the QStyleSheet::mightBeRichText() function.
+.PP
+Set this property's value with setTextFormat() and get this property's value with textFormat().
+.SH "int undoDepth"
+This property holds the depth of the undo history.
+.PP
+The maximum number of steps in the undo/redo history. The default is 100.
+.PP
+See also undo() and redo().
+.PP
+Set this property's value with setUndoDepth() and get this property's value with undoDepth().
+.SH "bool undoRedoEnabled"
+This property holds whether undo/redo is enabled.
+.PP
+When changing this property, the undo/redo history is cleared.
+.PP
+The default is TRUE.
+.PP
+Set this property's value with setUndoRedoEnabled() and get this property's value with isUndoRedoEnabled().
+.SH "WordWrap wordWrap"
+This property holds the word wrap mode.
+.PP
+The default mode is WidgetWidth which causes words to be wrapped at the right edge of the text edit. Wrapping occurs at whitespace, keeping whole words intact. If you want wrapping to occur within words use setWrapPolicy(). If you set a wrap mode of FixedPixelWidth or FixedColumnWidth you should also call setWrapColumnOrWidth() with the width you want.
+.PP
+See also WordWrap, wrapColumnOrWidth, and wrapPolicy.
+.PP
+Set this property's value with setWordWrap() and get this property's value with wordWrap().
+.SH "int wrapColumnOrWidth"
+This property holds the position (in pixels or columns depending on the wrap mode) where text will be wrapped.
+.PP
+If the wrap mode is FixedPixelWidth, the value is the number of pixels from the left edge of the text edit at which text should be wrapped. If the wrap mode is FixedColumnWidth, the value is the column number (in character columns) from the left edge of the text edit at which text should be wrapped.
+.PP
+See also wordWrap.
+.PP
+Set this property's value with setWrapColumnOrWidth() and get this property's value with wrapColumnOrWidth().
+.SH "WrapPolicy wrapPolicy"
+This property holds the word wrap policy, at whitespace or anywhere.
+.PP
+Defines where text can be wrapped when word wrap mode is not NoWrap. The choices are AtWordBoundary (the default), Anywhere and AtWordOrDocumentBoundary
+.PP
+See also wordWrap.
+.PP
+Set this property's value with setWrapPolicy() and get this property's value with wrapPolicy().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextedit.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextedit.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextencoder.3qt b/doc/man/man3/qtextencoder.3qt
new file mode 100644
index 0000000..93c2387
--- /dev/null
+++ b/doc/man/man3/qtextencoder.3qt
@@ -0,0 +1,65 @@
+'\" t
+.TH QTextEncoder 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextEncoder \- State-based encoder
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextcodec.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual \fB~QTextEncoder\fR ()"
+.br
+.ti -1c
+.BI "virtual QCString \fBfromUnicode\fR ( const QString & uc, int & lenInOut ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextEncoder class provides a state-based encoder.
+.PP
+The encoder converts Unicode into another format, remembering any state that is required between calls.
+.PP
+See also QTextCodec::makeEncoder() and Internationalization with Qt.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextEncoder::~QTextEncoder ()\fC [virtual]\fR"
+Destroys the encoder.
+.SH "QCString QTextEncoder::fromUnicode ( const QString & uc, int & lenInOut )\fC [pure virtual]\fR"
+Converts \fIlenInOut\fR characters (not bytes) from \fIuc\fR, producing a QCString. \fIlenInOut\fR will be set to the length of the result (in bytes).
+.PP
+The encoder is free to record state to use when subsequent calls
+are made to this function (for example, it might change modes with
+escape sequences if needed during the encoding of one string, then
+assume that mode applies when a subsequent call begins).
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextencoder.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextencoder.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextistream.3qt b/doc/man/man3/qtextistream.3qt
new file mode 100644
index 0000000..1250a8f
--- /dev/null
+++ b/doc/man/man3/qtextistream.3qt
@@ -0,0 +1,79 @@
+'\" t
+.TH QTextIStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextIStream \- Convenience class for input streams
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextstream.h>\fR
+.PP
+Inherits QTextStream.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextIStream\fR ( const QString * s )"
+.br
+.ti -1c
+.BI "\fBQTextIStream\fR ( QByteArray ba )"
+.br
+.ti -1c
+.BI "\fBQTextIStream\fR ( FILE * f )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextIStream class is a convenience class for input streams.
+.PP
+This class provides a shorthand for creating simple input QTextStreams without having to pass a \fImode\fR argument to the constructor.
+.PP
+This class makes it easy, for example, to write things like this:
+.PP
+.nf
+.br
+ QString data = "123 456";
+.br
+ int a, b;
+.br
+ QTextIStream(&data) >> a >> b;
+.br
+.fi
+.PP
+See also QTextOStream, Input/Output and Networking, and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextIStream::QTextIStream ( const QString * s )"
+Constructs a stream to read from the string \fIs\fR.
+.SH "QTextIStream::QTextIStream ( QByteArray ba )"
+Constructs a stream to read from the array \fIba\fR.
+.SH "QTextIStream::QTextIStream ( FILE * f )"
+Constructs a stream to read from the file \fIf\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextistream.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextistream.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextostream.3qt b/doc/man/man3/qtextostream.3qt
new file mode 100644
index 0000000..603d3dd
--- /dev/null
+++ b/doc/man/man3/qtextostream.3qt
@@ -0,0 +1,77 @@
+'\" t
+.TH QTextOStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextOStream \- Convenience class for output streams
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextstream.h>\fR
+.PP
+Inherits QTextStream.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTextOStream\fR ( QString * s )"
+.br
+.ti -1c
+.BI "\fBQTextOStream\fR ( QByteArray ba )"
+.br
+.ti -1c
+.BI "\fBQTextOStream\fR ( FILE * f )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextOStream class is a convenience class for output streams.
+.PP
+This class provides a shorthand for creating simple output QTextStreams without having to pass a \fImode\fR argument to the constructor.
+.PP
+This makes it easy for example, to write things like this:
+.PP
+.nf
+.br
+ QString result;
+.br
+ QTextOStream(&result) << "pi = " << 3.14;
+.br
+.fi
+.PP
+See also Input/Output and Networking and Text Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextOStream::QTextOStream ( QString * s )"
+Constructs a stream to write to string \fIs\fR.
+.SH "QTextOStream::QTextOStream ( QByteArray ba )"
+Constructs a stream to write to the array \fIba\fR.
+.SH "QTextOStream::QTextOStream ( FILE * f )"
+Constructs a stream to write to the file \fIf\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextostream.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextostream.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtextstream.3qt b/doc/man/man3/qtextstream.3qt
new file mode 100644
index 0000000..727e725
--- /dev/null
+++ b/doc/man/man3/qtextstream.3qt
@@ -0,0 +1,642 @@
+'\" t
+.TH QTextStream 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTextStream \- Basic functions for reading and writing text using a QIODevice
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtextstream.h>\fR
+.PP
+Inherited by QTextIStream and QTextOStream.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBEncoding\fR { Locale, Latin1, Unicode, UnicodeNetworkOrder, UnicodeReverse, RawUnicode, UnicodeUTF8 }"
+.br
+.ti -1c
+.BI "void \fBsetEncoding\fR ( Encoding e )"
+.br
+.ti -1c
+.BI "void \fBsetCodec\fR ( QTextCodec * codec )"
+.br
+.ti -1c
+.BI "QTextCodec * \fBcodec\fR ()"
+.br
+.ti -1c
+.BI "\fBQTextStream\fR ()"
+.br
+.ti -1c
+.BI "\fBQTextStream\fR ( QIODevice * iod )"
+.br
+.ti -1c
+.BI "\fBQTextStream\fR ( QString * str, int filemode )"
+.br
+.ti -1c
+.BI "QTextStream ( QString & str, int filemode ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQTextStream\fR ( QByteArray a, int mode )"
+.br
+.ti -1c
+.BI "\fBQTextStream\fR ( FILE * fh, int mode )"
+.br
+.ti -1c
+.BI "virtual \fB~QTextStream\fR ()"
+.br
+.ti -1c
+.BI "QIODevice * \fBdevice\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDevice\fR ( QIODevice * iod )"
+.br
+.ti -1c
+.BI "void \fBunsetDevice\fR ()"
+.br
+.ti -1c
+.BI "bool \fBatEnd\fR () const"
+.br
+.ti -1c
+.BI "bool eof () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QChar & c )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( char & c )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( signed short & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( unsigned short & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( signed int & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( unsigned int & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( signed long & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( unsigned long & i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( float & f )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( double & f )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( char * s )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QString & str )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator>>\fR ( QCString & str )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( QChar c )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( char c )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( signed short i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( unsigned short i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( signed int i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( unsigned int i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( signed long i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( unsigned long i )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( float f )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( double f )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( const char * s )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( const QCString & s )"
+.br
+.ti -1c
+.BI "QTextStream & \fBoperator<<\fR ( void * ptr )"
+.br
+.ti -1c
+.BI "QTextStream & \fBreadRawBytes\fR ( char * s, uint len )"
+.br
+.ti -1c
+.BI "QTextStream & \fBwriteRawBytes\fR ( const char * s, uint len )"
+.br
+.ti -1c
+.BI "QString \fBreadLine\fR ()"
+.br
+.ti -1c
+.BI "QString \fBread\fR ()"
+.br
+.ti -1c
+.BI "void \fBskipWhiteSpace\fR ()"
+.br
+.ti -1c
+.BI "int \fBflags\fR () const"
+.br
+.ti -1c
+.BI "int \fBflags\fR ( int f )"
+.br
+.ti -1c
+.BI "int \fBsetf\fR ( int bits )"
+.br
+.ti -1c
+.BI "int \fBsetf\fR ( int bits, int mask )"
+.br
+.ti -1c
+.BI "int \fBunsetf\fR ( int bits )"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR ( int w )"
+.br
+.ti -1c
+.BI "int \fBfill\fR () const"
+.br
+.ti -1c
+.BI "int \fBfill\fR ( int f )"
+.br
+.ti -1c
+.BI "int \fBprecision\fR () const"
+.br
+.ti -1c
+.BI "int \fBprecision\fR ( int p )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTextStream class provides basic functions for reading and writing text using a QIODevice.
+.PP
+The text stream class has a functional interface that is very similar to that of the standard C++ iostream class.
+.PP
+Qt provides several global functions similar to the ones in iostream: <center>.nf
+.TS
+l - l. Function Meaning bin sets the QTextStream to read/write binary numbers oct sets the QTextStream to read/write octal numbers dec sets the QTextStream to read/write decimal numbers hex sets the QTextStream to read/write hexadecimal numbers endl forces a line break flush forces the QIODevice to flush any buffered data ws eats any available whitespace (on input) reset resets the QTextStream to its default mode (see reset()) qSetW(int) sets the field width to the given argument qSetFill(int) sets the fill character to the given argument qSetPrecision(int)
+.TE
+.fi
+</center>
+.PP
+\fBWarning:\fR By default QTextStream will automatically detect whether integers in the stream are in decimal, octal, hexadecimal or binary format when reading from the stream. In particular, a leading '0' signifies octal, i.e. the sequence "0100" will be interpreted as 64.
+.PP
+The QTextStream class reads and writes text; it is not appropriate for dealing with binary data (but QDataStream is).
+.PP
+By default, output of Unicode text (i.e. QString) is done using the local 8-bit encoding. This can be changed using the setEncoding() method. For input, the QTextStream will auto-detect standard Unicode "byte order marked" text files; otherwise the local 8-bit encoding is used.
+.PP
+The QIODevice is set in the constructor, or later using setDevice(). If the end of the input is reached atEnd() returns TRUE. Data can be read into variables of the appropriate type using the operator>>() overloads, or read in its entirety into a single string using read(), or read a line at a time using readLine(). Whitespace can be skipped over using skipWhiteSpace(). You can set flags for the stream using flags() or setf(). The stream also supports width(), precision() and fill(); use reset() to reset the defaults.
+.PP
+See also QDataStream, Input/Output and Networking, and Text Related Classes.
+.SS "Member Type Documentation"
+.SH "QTextStream::Encoding"
+.TP
+\fCQTextStream::Locale\fR
+.TP
+\fCQTextStream::Latin1\fR
+.TP
+\fCQTextStream::Unicode\fR
+.TP
+\fCQTextStream::UnicodeNetworkOrder\fR
+.TP
+\fCQTextStream::UnicodeReverse\fR
+.TP
+\fCQTextStream::RawUnicode\fR
+.TP
+\fCQTextStream::UnicodeUTF8\fR
+.PP
+See setEncoding() for an explanation of the encodings.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTextStream::QTextStream ()"
+Constructs a data stream that has no IO device.
+.SH "QTextStream::QTextStream ( QIODevice * iod )"
+Constructs a text stream that uses the IO device \fIiod\fR.
+.SH "QTextStream::QTextStream ( QString * str, int filemode )"
+Constructs a text stream that operates on the Unicode QString, \fIstr\fR, through an internal device. The \fIfilemode\fR argument is passed to the device's open() function; see QIODevice::mode().
+.PP
+If you set an encoding or codec with setEncoding() or setCodec(), this setting is ignored for text streams that operate on QString.
+.PP
+Example:
+.PP
+.nf
+.br
+ QString str;
+.br
+ QTextStream ts( &str, IO_WriteOnly );
+.br
+ ts << "pi = " << 3.14; // str == "pi = 3.14"
+.br
+.fi
+.PP
+Writing data to the text stream will modify the contents of the string. The string will be expanded when data is written beyond the end of the string. Note that the string will not be truncated:
+.PP
+.nf
+.br
+ QString str = "pi = 3.14";
+.br
+ QTextStream ts( &str, IO_WriteOnly );
+.br
+ ts << "2+2 = " << 2+2; // str == "2+2 = 414"
+.br
+.fi
+.PP
+Note that because QString is Unicode, you should not use readRawBytes() or writeRawBytes() on such a stream.
+.SH "QTextStream::QTextStream ( QString & str, int filemode )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This constructor is equivalent to the constructor taking a QString* parameter.
+.SH "QTextStream::QTextStream ( QByteArray a, int mode )"
+Constructs a text stream that operates on the byte array, \fIa\fR, through an internal QBuffer device. The \fImode\fR argument is passed to the device's open() function; see QIODevice::mode().
+.PP
+Example:
+.PP
+.nf
+.br
+ QByteArray array;
+.br
+ QTextStream ts( array, IO_WriteOnly );
+.br
+ ts << "pi = " << 3.14 << '\\0'; // array == "pi = 3.14"
+.br
+.fi
+.PP
+Writing data to the text stream will modify the contents of the array. The array will be expanded when data is written beyond the end of the string.
+.PP
+Same example, using a QBuffer:
+.PP
+.nf
+.br
+ QByteArray array;
+.br
+ QBuffer buf( array );
+.br
+ buf.open( IO_WriteOnly );
+.br
+ QTextStream ts( &buf );
+.br
+ ts << "pi = " << 3.14 << '\\0'; // array == "pi = 3.14"
+.br
+ buf.close();
+.br
+.fi
+.SH "QTextStream::QTextStream ( FILE * fh, int mode )"
+Constructs a text stream that operates on an existing file handle \fIfh\fR through an internal QFile device. The \fImode\fR argument is passed to the device's open() function; see QIODevice::mode().
+.PP
+Note that if you create a QTextStream \fCcout\fR or another name that is also used for another variable of a different type, some linkers may confuse the two variables, which will often cause crashes.
+.SH "QTextStream::~QTextStream ()\fC [virtual]\fR"
+Destroys the text stream.
+.PP
+The destructor does not affect the current IO device.
+.SH "bool QTextStream::atEnd () const"
+Returns TRUE if the IO device has reached the end position (end of the stream or file) or if there is no IO device set; otherwise returns FALSE.
+.PP
+See also QIODevice::atEnd().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp and grapher/grapher.cpp.
+.SH "QTextCodec * QTextStream::codec ()"
+Returns the codec actually used for this stream.
+.PP
+If Unicode is automatically detected in input, a codec with name() "ISO-10646-UCS-2" is returned.
+.PP
+See also setCodec().
+.SH "QIODevice * QTextStream::device () const"
+Returns the IO device currently set.
+.PP
+See also setDevice() and unsetDevice().
+.SH "bool QTextStream::eof () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function has been renamed to atEnd().
+.PP
+See also QIODevice::atEnd().
+.PP
+Example: chart/chartform_files.cpp.
+.SH "int QTextStream::fill () const"
+Returns the fill character. The default value is ' ' (space).
+.SH "int QTextStream::fill ( int f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the fill character to \fIf\fR. Returns the previous fill character.
+.SH "int QTextStream::flags () const"
+Returns the current stream flags. The default value is 0.
+.PP
+<center>.nf
+.TS
+l
+-
+l.
+Flag Meaning
+ Not currently used; whitespace always skipped
+ Numeric fields are left-aligned
+ Not currently used (by default, numerics are right-aligned)
+ Puts any padding spaces between +/- and value
+ Output \fIand\fR input only in binary
+ Output \fIand\fR input only in octal
+ Output \fIand\fR input only in decimal
+ Output \fIand\fR input only in hexadecimal
+ Annotates numeric outputs with 0b, 0, or 0x if in
+ Not currently used
+ Uses 0B and 0X rather than 0b and 0x
+ Shows + for positive numeric values
+ Uses scientific notation for floating point values
+
+.TE
+.fi
+</center>
+.PP
+Note that unless \fCbin\fR, \fCoct\fR, \fCdec\fR, or \fChex\fR is set, the input base is octal if the value starts with 0, hexadecimal if it starts with 0x, binary if it starts with 0b, and decimal otherwise.
+.PP
+See also setf() and unsetf().
+.SH "int QTextStream::flags ( int f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the stream flags to \fIf\fR. Returns the previous stream flags.
+.PP
+See also setf() and unsetf().
+.SH "QTextStream & QTextStream::operator<< ( QChar c )"
+Writes character \fCchar\fR to the stream and returns a reference to the stream.
+.PP
+The character \fIc\fR is assumed to be Latin1 encoded independent of the Encoding set for the QTextStream.
+.SH "QTextStream & QTextStream::operator<< ( char c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes character \fIc\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( signed short i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a \fCshort\fR integer \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( unsigned short i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an \fCunsigned\fR \fCshort\fR integer \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( signed int i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an \fCint\fR \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( unsigned int i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an \fCunsigned\fR \fCint\fR \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( signed long i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a \fClong\fR \fCint\fR \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( unsigned long i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes an \fCunsigned\fR \fClong\fR \fCint\fR \fIi\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( float f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a \fCfloat\fR \fIf\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( double f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a \fCdouble\fR \fIf\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( const char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a string to the stream and returns a reference to the stream.
+.PP
+The string \fIs\fR is assumed to be Latin1 encoded independent of the Encoding set for the QTextStream.
+.SH "QTextStream & QTextStream::operator<< ( const QString & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes \fIs\fR to the stream and returns a reference to the stream.
+.SH "QTextStream & QTextStream::operator<< ( const QCString & s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes \fIs\fR to the stream and returns a reference to the stream.
+.PP
+The string \fIs\fR is assumed to be Latin1 encoded independent of the Encoding set for the QTextStream.
+.SH "QTextStream & QTextStream::operator<< ( void * ptr )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a pointer to the stream and returns a reference to the stream.
+.PP
+The \fIptr\fR is output as an unsigned long hexadecimal integer.
+.SH "QTextStream & QTextStream::operator>> ( QChar & c )"
+Reads a char \fIc\fR from the stream and returns a reference to the stream. Note that whitespace is \fInot\fR skipped.
+.SH "QTextStream & QTextStream::operator>> ( char & c )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a char \fIc\fR from the stream and returns a reference to the stream. Note that whitespace is skipped.
+.SH "QTextStream & QTextStream::operator>> ( signed short & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed \fCshort\fR integer \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( unsigned short & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned \fCshort\fR integer \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( signed int & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed \fCint\fR \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( unsigned int & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned \fCint\fR \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( signed long & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a signed \fClong\fR int \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( unsigned long & i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads an unsigned \fClong\fR int \fIi\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( float & f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a \fCfloat\fR \fIf\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( double & f )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a \fCdouble\fR \fIf\fR from the stream and returns a reference to the stream. See flags() for an explanation of the expected input format.
+.SH "QTextStream & QTextStream::operator>> ( char * s )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a "word" from the stream into \fIs\fR and returns a reference to the stream.
+.PP
+A word consists of characters for which isspace() returns FALSE.
+.SH "QTextStream & QTextStream::operator>> ( QString & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a "word" from the stream into \fIstr\fR and returns a reference to the stream.
+.PP
+A word consists of characters for which isspace() returns FALSE.
+.SH "QTextStream & QTextStream::operator>> ( QCString & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Reads a "word" from the stream into \fIstr\fR and returns a reference to the stream.
+.PP
+A word consists of characters for which isspace() returns FALSE.
+.SH "int QTextStream::precision () const"
+Returns the precision. The default value is 6.
+.SH "int QTextStream::precision ( int p )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the precision to \fIp\fR. Returns the previous precision setting.
+.SH "QString QTextStream::read ()"
+Reads the entire stream from the current position, and returns a string containing the text.
+.PP
+See also QIODevice::readLine().
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, mdi/application.cpp, qdir/qdir.cpp, and qwerty/qwerty.cpp.
+.SH "QString QTextStream::readLine ()"
+Reads a line from the stream and returns a string containing the text.
+.PP
+The returned string does not contain any trailing newline or carriage return. Note that this is different from QIODevice::readLine(), which does not strip the newline at the end of the line.
+.PP
+On EOF you will get a QString that is null. On reading an empty line the returned QString is empty but not null.
+.PP
+See also QIODevice::readLine().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, chart/element.cpp, and network/clientserver/server/server.cpp.
+.SH "QTextStream & QTextStream::readRawBytes ( char * s, uint len )"
+Reads \fIlen\fR bytes from the stream into \fIs\fR and returns a reference to the stream.
+.PP
+The buffer \fIs\fR must be preallocated.
+.PP
+Note that no encoding is done by this function.
+.PP
+\fBWarning:\fR The behavior of this function is undefined unless the stream's encoding is set to Unicode or Latin1.
+.PP
+See also QIODevice::readBlock().
+.SH "void QTextStream::reset ()"
+Resets the text stream.
+.TP
+All flags are set to 0.
+.TP
+The field width is set to 0.
+.TP
+The fill character is set to ' ' (Space).
+.TP
+The precision is set to 6.
+.PP
+See also setf(), width(), fill(), and precision().
+.SH "void QTextStream::setCodec ( QTextCodec * codec )"
+Sets the codec for this stream to \fIcodec\fR. Will not try to autodetect Unicode.
+.PP
+Note that this function should be called before any data is read to/written from the stream.
+.PP
+See also setEncoding() and codec().
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "void QTextStream::setDevice ( QIODevice * iod )"
+Sets the IO device to \fIiod\fR.
+.PP
+See also device() and unsetDevice().
+.SH "void QTextStream::setEncoding ( Encoding e )"
+Sets the encoding of this stream to \fIe\fR, where \fIe\fR is one of the following values: <center>.nf
+.TS
+l - l. Encoding Meaning Locale Uses local file format (Latin1 if locale is not set), but autodetecting Unicode(utf16) on input. Unicode Uses Unicode(utf16) for input and output. Output will be written in the order most efficient for the current platform (i.e. the order used internally in QString). UnicodeUTF8 Using Unicode(utf8) for input and output. If you use it for input it will autodetect utf16 and use it instead of utf8. Latin1 ISO-8859-1. Will not autodetect utf16. UnicodeNetworkOrder Uses network order Unicode(utf16) for input and output. Useful when reading Unicode data that does not start with the byte order marker. UnicodeReverse Uses reverse network order Unicode(utf16) for input and output. Useful when reading Unicode data that does not start with the byte order marker or when writing data that should be read by buggy Windows applications. RawUnicode
+.TE
+.fi
+</center>
+.PP
+Locale and all Unicode encodings, except RawUnicode, will look at the first two bytes in an input stream to determine the byte order. The initial byte order marker will be stripped off before data is read.
+.PP
+Note that this function should be called before any data is read to or written from the stream.
+.PP
+See also setCodec().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, network/httpd/httpd.cpp, and qwerty/qwerty.cpp.
+.SH "int QTextStream::setf ( int bits )"
+Sets the stream flag bits \fIbits\fR. Returns the previous stream flags.
+.PP
+Equivalent to \fCflags( flags() | bits )\fR.
+.PP
+See also unsetf().
+.SH "int QTextStream::setf ( int bits, int mask )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the stream flag bits \fIbits\fR with a bit mask \fImask\fR. Returns the previous stream flags.
+.PP
+Equivalent to \fCflags( (flags() & ~mask) | (bits & mask) )\fR.
+.PP
+See also unsetf().
+.SH "void QTextStream::skipWhiteSpace ()"
+Positions the read pointer at the first non-whitespace character.
+.SH "void QTextStream::unsetDevice ()"
+Unsets the IO device. Equivalent to setDevice( 0 ).
+.PP
+See also device() and setDevice().
+.SH "int QTextStream::unsetf ( int bits )"
+Clears the stream flag bits \fIbits\fR. Returns the previous stream flags.
+.PP
+Equivalent to \fCflags( flags() & ~mask )\fR.
+.PP
+See also setf().
+.SH "int QTextStream::width () const"
+Returns the field width. The default value is 0.
+.SH "int QTextStream::width ( int w )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the field width to \fIw\fR. Returns the previous field width.
+.SH "QTextStream & QTextStream::writeRawBytes ( const char * s, uint len )"
+Writes the \fIlen\fR bytes from \fIs\fR to the stream and returns a reference to the stream.
+.PP
+Note that no encoding is done by this function.
+.PP
+See also QIODevice::writeBlock().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtextstream.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtextstream.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qthread.3qt b/doc/man/man3/qthread.3qt
new file mode 100644
index 0000000..8aa2ecf
--- /dev/null
+++ b/doc/man/man3/qthread.3qt
@@ -0,0 +1,230 @@
+'\" t
+.TH QThread 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QThread \- Platform-independent threads
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qthread.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQThread\fR ( unsigned int stackSize = 0 )"
+.br
+.ti -1c
+.BI "virtual \fB~QThread\fR ()"
+.br
+.ti -1c
+.BI "bool \fBwait\fR ( unsigned long time = ULONG_MAX )"
+.br
+.ti -1c
+.BI "enum \fBPriority\fR { IdlePriority, LowestPriority, LowPriority, NormalPriority, HighPriority, HighestPriority, TimeCriticalPriority, InheritPriority }"
+.br
+.ti -1c
+.BI "void \fBstart\fR ( Priority priority = InheritPriority )"
+.br
+.ti -1c
+.BI "void \fBterminate\fR ()"
+.br
+.ti -1c
+.BI "bool \fBfinished\fR () const"
+.br
+.ti -1c
+.BI "bool \fBrunning\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "Qt::HANDLE \fBcurrentThread\fR ()"
+.br
+.ti -1c
+.BI "void postEvent ( QObject * receiver, QEvent * event ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBexit\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBrun\fR () = 0"
+.br
+.in -1c
+.SS "Static Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsleep\fR ( unsigned long secs )"
+.br
+.ti -1c
+.BI "void \fBmsleep\fR ( unsigned long msecs )"
+.br
+.ti -1c
+.BI "void \fBusleep\fR ( unsigned long usecs )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QThread class provides platform-independent threads.
+.PP
+A QThread represents a separate thread of control within the program; it shares data with all the other threads within the process but executes independently in the way that a separate program does on a multitasking operating system. Instead of starting in main(), QThreads begin executing in run(). You inherit run() to include your code. For example:
+.PP
+.nf
+.br
+ class MyThread : public QThread {
+.br
+.br
+ public:
+.br
+.br
+ virtual void run();
+.br
+.br
+ };
+.br
+.br
+ void MyThread::run()
+.br
+ {
+.br
+ for( int count = 0; count < 20; count++ ) {
+.br
+ sleep( 1 );
+.br
+ qDebug( "Ping!" );
+.br
+ }
+.br
+ }
+.br
+.br
+ int main()
+.br
+ {
+.br
+ MyThread a;
+.br
+ MyThread b;
+.br
+ a.start();
+.br
+ b.start();
+.br
+ a.wait();
+.br
+ b.wait();
+.br
+ }
+.br
+.fi
+.PP
+This will start two threads, each of which writes Ping! 20 times to the screen and exits. The wait() calls at the end of main() are necessary because exiting main() ends the program, unceremoniously killing all other threads. Each MyThread stops executing when it reaches the end of MyThread::run(), just as an application does when it leaves main().
+.PP
+See also Thread Support in Qt, Environment Classes, and Threading.
+.SS "Member Type Documentation"
+.SH "QThread::Priority"
+This enum type indicates how the operating system should schedule newly created threads.
+.TP
+\fCQThread::IdlePriority\fR - scheduled only when no other threads are running.
+.TP
+\fCQThread::LowestPriority\fR - scheduled less often than LowPriority.
+.TP
+\fCQThread::LowPriority\fR - scheduled less often than NormalPriority.
+.TP
+\fCQThread::NormalPriority\fR - the default priority of the operating system.
+.TP
+\fCQThread::HighPriority\fR - scheduled more often than NormalPriority.
+.TP
+\fCQThread::HighestPriority\fR - scheduled more often then HighPriority.
+.TP
+\fCQThread::TimeCriticalPriority\fR - scheduled as often as possible.
+.TP
+\fCQThread::InheritPriority\fR - use the same priority as the creating thread. This is the default.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QThread::QThread ( unsigned int stackSize = 0 )"
+Constructs a new thread. The thread does not begin executing until start() is called.
+.PP
+If \fIstackSize\fR is greater than zero, the maximum stack size is set to \fIstackSize\fR bytes, otherwise the maximum stack size is automatically determined by the operating system.
+.PP
+\fBWarning:\fR Most operating systems place minimum and maximum limits on thread stack sizes. The thread will fail to start if the stack size is outside these limits.
+.SH "QThread::~QThread ()\fC [virtual]\fR"
+QThread destructor.
+.PP
+Note that deleting a QThread object will not stop the execution of the thread it represents. Deleting a running QThread (i.e. finished() returns FALSE) will probably result in a program crash. You can wait() on a thread to make sure that it has finished.
+.SH "Qt::HANDLE QThread::currentThread ()\fC [static]\fR"
+This returns the thread handle of the currently executing thread.
+.PP
+\fBWarning:\fR The handle returned by this function is used for internal purposes and should \fInot\fR be used in any application code. On Windows, the returned value is a pseudo handle for the current thread, and it cannot be used for numerical comparison.
+.SH "void QThread::exit ()\fC [static]\fR"
+Ends the execution of the calling thread and wakes up any threads waiting for its termination.
+.SH "bool QThread::finished () const"
+Returns TRUE if the thread is finished; otherwise returns FALSE.
+.SH "void QThread::msleep ( unsigned long msecs )\fC [static protected]\fR"
+System independent sleep. This causes the current thread to sleep for \fImsecs\fR milliseconds
+.SH "void QThread::postEvent ( QObject * receiver, QEvent * event )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use QApplication::postEvent() instead.
+.SH "void QThread::run ()\fC [pure virtual protected]\fR"
+This method is pure virtual, and must be implemented in derived classes in order to do useful work. Returning from this method will end the execution of the thread.
+.PP
+See also wait().
+.SH "bool QThread::running () const"
+Returns TRUE if the thread is running; otherwise returns FALSE.
+.SH "void QThread::sleep ( unsigned long secs )\fC [static protected]\fR"
+System independent sleep. This causes the current thread to sleep for \fIsecs\fR seconds.
+.SH "void QThread::start ( Priority priority = InheritPriority )"
+Begins execution of the thread by calling run(), which should be reimplemented in a QThread subclass to contain your code. The operating system will schedule the thread according to the \fIpriority\fR argument.
+.PP
+If you try to start a thread that is already running, this function will wait until the the thread has finished and then restart the thread.
+.PP
+See also Priority.
+.SH "void QThread::terminate ()"
+This function terminates the execution of the thread. The thread may or may not be terminated immediately, depending on the operating system's scheduling policies. Use QThread::wait() after terminate() for synchronous termination.
+.PP
+When the thread is terminated, all threads waiting for the the thread to finish will be woken up.
+.PP
+\fBWarning:\fR This function is dangerous, and its use is discouraged. The thread can be terminated at any point in its code path. Threads can be terminated while modifying data. There is no chance for the thread to cleanup after itself, unlock any held mutexes, etc. In short, use this function only if \fIabsolutely\fR necessary.
+.SH "void QThread::usleep ( unsigned long usecs )\fC [static protected]\fR"
+System independent sleep. This causes the current thread to sleep for \fIusecs\fR microseconds
+.SH "bool QThread::wait ( unsigned long time = ULONG_MAX )"
+A thread calling this function will block until either of these conditions is met:
+.TP
+The thread associated with this QThread object has finished execution (i.e. when it returns from run()). This function will return TRUE if the thread has finished. It also returns TRUE if the thread has not been started yet.
+.TP
+\fItime\fR milliseconds has elapsed. If \fItime\fR is ULONG_MAX (the default), then the wait will never timeout (the thread must return from run()). This function will return FALSE if the wait timed out.
+.PP
+This provides similar functionality to the POSIX \fCpthread_join()\fR function.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qthread.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qthread.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qthreadstorage.3qt b/doc/man/man3/qthreadstorage.3qt
new file mode 100644
index 0000000..fe29778
--- /dev/null
+++ b/doc/man/man3/qthreadstorage.3qt
@@ -0,0 +1,166 @@
+'\" t
+.TH QThreadStorage 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QThreadStorage \- Per-thread data storage
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qthreadstorage.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQThreadStorage\fR ()"
+.br
+.ti -1c
+.BI "\fB~QThreadStorage\fR ()"
+.br
+.ti -1c
+.BI "bool \fBhasLocalData\fR () const"
+.br
+.ti -1c
+.BI "T & \fBlocalData\fR ()"
+.br
+.ti -1c
+.BI "T \fBlocalData\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetLocalData\fR ( T data )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QThreadStorage class provides per-thread data storage.
+.PP
+QThreadStorage is a template class that provides per-thread data storage.
+.PP
+\fINote that due to compiler limitations, QThreadStorage can only store pointers.\fR
+.PP
+The setLocalData() function stores a single thread-specific value for the calling thread. The data can be accessed later using the localData() functions. QThreadStorage takes ownership of the data (which must be created on the heap with \fInew\fR) and deletes it when the thread exits (either normally or via termination).
+.PP
+The hasLocalData() function allows the programmer to determine if data has previously been set using the setLocalData() function. This is useful for lazy initializiation.
+.PP
+For example, the following code uses QThreadStorage to store a single cache for each thread that calls the \fIcacheObject()\fR and \fIremoveFromCache()\fR functions. The cache is automatically deleted when the calling thread exits (either normally or via termination).
+.PP
+.nf
+.br
+ QThreadStorage<QCache<SomeClass> *> caches;
+.br
+.br
+ void cacheObject( const QString &key, SomeClass *object )
+.br
+ {
+.br
+ if ( ! caches.hasLocalData() )
+.br
+ caches.setLocalData( new QCache<SomeClass> );
+.br
+.br
+ caches.localData()->insert( key, object );
+.br
+ }
+.br
+.br
+ void removeFromCache( const QString &key )
+.br
+ {
+.br
+ if ( ! caches.hasLocalData() )
+.br
+ return; // nothing to do
+.br
+.br
+ caches.localData()->remove( key );
+.br
+ }
+.br
+.fi
+.SH "Caveats"
+.IP
+.TP
+As noted above, QThreadStorage can only store pointers due to compiler limitations. Support for value-based objects will be added when the majority of compilers are able to support partial template specialization.
+.IP
+.TP
+The destructor does \fInot\fR delete per-thread data. QThreadStorage only deletes per-thread data when the thread exits or when setLocalData() is called multiple times.
+.IP
+.TP
+QThreadStorage can only be used with threads started with QThread. It \fIcannot\fR be used with threads started with platform-specific APIs.
+.IP
+.TP
+As a corollary to the above, platform-specific APIs cannot be used to exit or terminate a QThread using QThreadStorage. Doing so will cause all per-thread data to be leaked. See QThread::exit() and QThread::terminate().
+.IP
+.TP
+QThreadStorage \fIcan\fR be used to store data for the \fImain()\fR thread \fIafter\fR QApplication has been constructed. QThreadStorage deletes all data set for the \fImain()\fR thread when QApplication is destroyed, regardless of whether or not the \fImain()\fR thread has actually finished.
+.IP
+.TP
+The implementation of QThreadStorage limits the total number of QThreadStorage objects to 256. An unlimited number of threads can store per-thread data in each QThreadStorage object.
+.IP
+.PP
+See also Environment Classes and Threading.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QThreadStorage::QThreadStorage ()"
+Constructs a new per-thread data storage object.
+.SH "QThreadStorage::~QThreadStorage ()"
+Destroys the per-thread data storage object.
+.PP
+Note: The per-thread data stored is \fInot\fR deleted. Any data left in QThreadStorage is leaked. Make sure that all threads using QThreadStorage have exited before deleting the QThreadStorage.
+.PP
+See also hasLocalData().
+.SH "bool QThreadStorage::hasLocalData () const"
+Returns TRUE if the calling thread has non-zero data available; otherwise returns FALSE.
+.PP
+See also localData().
+.SH "T & QThreadStorage::localData ()"
+Returns a reference to the data that was set by the calling thread.
+.PP
+Note: QThreadStorage can only store pointers. This function returns a \fIreference\fR to the pointer that was set by the calling thread. The value of this reference is 0 if no data was set by the calling thread,
+.PP
+See also hasLocalData().
+.SH "T QThreadStorage::localData () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a copy of the data that was set by the calling thread.
+.PP
+Note: QThreadStorage can only store pointers. This function returns a pointer to the data that was set by the calling thread. If no data was set by the calling thread, this function returns 0.
+.PP
+See also hasLocalData().
+.SH "void QThreadStorage::setLocalData ( T data )"
+Sets the local data for the calling thread to \fIdata\fR. It can be accessed later using the localData() functions.
+.PP
+If \fIdata\fR is 0, this function deletes the previous data (if any) and returns immediately.
+.PP
+If \fIdata\fR is non-zero, QThreadStorage takes ownership of the \fIdata\fR and deletes it automatically either when the thread exits (either normally or via termination) or when setLocalData() is called again.
+.PP
+Note: QThreadStorage can only store pointers. The \fIdata\fR argument must be either a pointer to an object created on the heap (i.e. using \fInew\fR) or 0. You should not delete \fIdata\fR yourself; QThreadStorage takes ownership and will delete the \fIdata\fR itself.
+.PP
+See also localData() and hasLocalData().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qthreadstorage.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qthreadstorage.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtime.3qt b/doc/man/man3/qtime.3qt
new file mode 100644
index 0000000..1afd494
--- /dev/null
+++ b/doc/man/man3/qtime.3qt
@@ -0,0 +1,372 @@
+'\" t
+.TH QTime 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTime \- Clock time functions
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qdatetime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTime\fR ()"
+.br
+.ti -1c
+.BI "\fBQTime\fR ( int h, int m, int s = 0, int ms = 0 )"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "int \fBhour\fR () const"
+.br
+.ti -1c
+.BI "int \fBminute\fR () const"
+.br
+.ti -1c
+.BI "int \fBsecond\fR () const"
+.br
+.ti -1c
+.BI "int \fBmsec\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( Qt::DateFormat f = Qt::TextDate ) const"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR ( const QString & format ) const"
+.br
+.ti -1c
+.BI "bool \fBsetHMS\fR ( int h, int m, int s, int ms = 0 )"
+.br
+.ti -1c
+.BI "QTime \fBaddSecs\fR ( int nsecs ) const"
+.br
+.ti -1c
+.BI "int \fBsecsTo\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "QTime \fBaddMSecs\fR ( int ms ) const"
+.br
+.ti -1c
+.BI "int \fBmsecsTo\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QTime & t ) const"
+.br
+.ti -1c
+.BI "void \fBstart\fR ()"
+.br
+.ti -1c
+.BI "int \fBrestart\fR ()"
+.br
+.ti -1c
+.BI "int \fBelapsed\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QTime \fBcurrentTime\fR ()"
+.br
+.ti -1c
+.BI "QTime \fBcurrentTime\fR ( Qt::TimeSpec ts )"
+.br
+.ti -1c
+.BI "QTime \fBfromString\fR ( const QString & s, Qt::DateFormat f = Qt::TextDate )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR ( int h, int m, int s, int ms = 0 )"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QTime & t )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QTime & t )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTime class provides clock time functions.
+.PP
+A QTime object contains a clock time, i.e. the number of hours, minutes, seconds, and milliseconds since midnight. It can read the current time from the system clock and measure a span of elapsed time. It provides functions for comparing times and for manipulating a time by adding a number of (milli)seconds.
+.PP
+QTime uses the 24-hour clock format; it has no concept of AM/PM. It operates in local time; it knows nothing about time zones or daylight savings time.
+.PP
+A QTime object is typically created either by giving the number of hours, minutes, seconds, and milliseconds explicitly, or by using the static function currentTime(), which creates a QTime object that contains the system's clock time. Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.
+.PP
+The hour(), minute(), second(), and msec() functions provide access to the number of hours, minutes, seconds, and milliseconds of the time. The same information is provided in textual format by the toString() function.
+.PP
+QTime provides a full set of operators to compare two QTime objects. One time is considered smaller than another if it is earlier than the other.
+.PP
+The time a given number of seconds or milliseconds later than a given time can be found using the addSecs() or addMSecs() functions. Correspondingly, the number of (milli)seconds between two times can be found using the secsTo() or msecsTo() functions.
+.PP
+QTime can be used to measure a span of elapsed time using the start(), restart(), and elapsed() functions.
+.PP
+See also QDate, QDateTime, and Time and Date.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTime::QTime ()"
+Constructs the time 0 hours, minutes, seconds and milliseconds, i.e. 00:00:00.000 (midnight). This is a valid time.
+.PP
+See also isValid().
+.SH "QTime::QTime ( int h, int m, int s = 0, int ms = 0 )"
+Constructs a time with hour \fIh\fR, minute \fIm\fR, seconds \fIs\fR and milliseconds \fIms\fR.
+.PP
+\fIh\fR must be in the range 0..23, \fIm\fR and \fIs\fR must be in the range 0..59, and \fIms\fR must be in the range 0..999.
+.PP
+See also isValid().
+.SH "QTime QTime::addMSecs ( int ms ) const"
+Returns a QTime object containing a time \fIms\fR milliseconds later than the time of this object (or earlier if \fIms\fR is negative).
+.PP
+Note that the time will wrap if it passes midnight. See addSecs() for an example.
+.PP
+See also addSecs() and msecsTo().
+.SH "QTime QTime::addSecs ( int nsecs ) const"
+Returns a QTime object containing a time \fInsecs\fR seconds later than the time of this object (or earlier if \fInsecs\fR is negative).
+.PP
+Note that the time will wrap if it passes midnight.
+.PP
+Example:
+.PP
+.nf
+.br
+ QTime n( 14, 0, 0 ); // n == 14:00:00
+.br
+ QTime t;
+.br
+ t = n.addSecs( 70 ); // t == 14:01:10
+.br
+ t = n.addSecs( -70 ); // t == 13:58:50
+.br
+ t = n.addSecs( 10*60*60 + 5 ); // t == 00:00:05
+.br
+ t = n.addSecs( -15*60*60 ); // t == 23:00:00
+.br
+.fi
+.PP
+See also addMSecs(), secsTo(), and QDateTime::addSecs().
+.SH "QTime QTime::currentTime ( Qt::TimeSpec ts )\fC [static]\fR"
+Returns the current time as reported by the system clock, for the TimeSpec \fIts\fR. The default TimeSpec is LocalTime.
+.PP
+Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.
+.PP
+See also Qt::TimeSpec.
+.PP
+Examples:
+.)l aclock/aclock.cpp, dclock/dclock.cpp, t12/cannon.cpp, and tictac/tictac.cpp.
+.SH "QTime QTime::currentTime ()\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the current time as reported by the system clock.
+.PP
+Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.
+.SH "int QTime::elapsed () const"
+Returns the number of milliseconds that have elapsed since the last time start() or restart() was called.
+.PP
+Note that the counter wraps to zero 24 hours after the last call to start() or restart.
+.PP
+Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy.
+.PP
+\fBWarning:\fR If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen when daylight savings time is turned on or off.
+.PP
+See also start() and restart().
+.SH "QTime QTime::fromString ( const QString & s, Qt::DateFormat f = Qt::TextDate )\fC [static]\fR"
+Returns the representation \fIs\fR as a QTime using the format \fIf\fR, or an invalid time if this is not possible.
+.PP
+\fBWarning:\fR Note that Qt::LocalDate cannot be used here.
+.SH "int QTime::hour () const"
+Returns the hour part (0..23) of the time.
+.PP
+Examples:
+.)l aclock/aclock.cpp and tictac/tictac.cpp.
+.SH "bool QTime::isNull () const"
+Returns TRUE if the time is equal to 00:00:00.000; otherwise returns FALSE. A null time is valid.
+.PP
+See also isValid().
+.SH "bool QTime::isValid () const"
+Returns TRUE if the time is valid; otherwise returns FALSE. The time 23:30:55.746 is valid, whereas 24:12:30 is invalid.
+.PP
+See also isNull().
+.SH "bool QTime::isValid ( int h, int m, int s, int ms = 0 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if the specified time is valid; otherwise returns FALSE.
+.PP
+The time is valid if \fIh\fR is in the range 0..23, \fIm\fR and \fIs\fR are in the range 0..59, and \fIms\fR is in the range 0..999.
+.PP
+Example:
+.PP
+.nf
+.br
+ QTime::isValid(21, 10, 30); // returns TRUE
+.br
+ QTime::isValid(22, 5, 62); // returns FALSE
+.br
+.fi
+.SH "int QTime::minute () const"
+Returns the minute part (0..59) of the time.
+.PP
+Examples:
+.)l aclock/aclock.cpp and tictac/tictac.cpp.
+.SH "int QTime::msec () const"
+Returns the millisecond part (0..999) of the time.
+.SH "int QTime::msecsTo ( const QTime & t ) const"
+Returns the number of milliseconds from this time to \fIt\fR (which is negative if \fIt\fR is earlier than this time).
+.PP
+Because QTime measures time within a day and there are 86400 seconds in a day, the result is always between -86400000 and 86400000 msec.
+.PP
+See also secsTo().
+.SH "bool QTime::operator!= ( const QTime & t ) const"
+Returns TRUE if this time is different from \fIt\fR; otherwise returns FALSE.
+.SH "bool QTime::operator< ( const QTime & t ) const"
+Returns TRUE if this time is earlier than \fIt\fR; otherwise returns FALSE.
+.SH "bool QTime::operator<= ( const QTime & t ) const"
+Returns TRUE if this time is earlier than or equal to \fIt\fR; otherwise returns FALSE.
+.SH "bool QTime::operator== ( const QTime & t ) const"
+Returns TRUE if this time is equal to \fIt\fR; otherwise returns FALSE.
+.SH "bool QTime::operator> ( const QTime & t ) const"
+Returns TRUE if this time is later than \fIt\fR; otherwise returns FALSE.
+.SH "bool QTime::operator>= ( const QTime & t ) const"
+Returns TRUE if this time is later than or equal to \fIt\fR; otherwise returns FALSE.
+.SH "int QTime::restart ()"
+Sets this time to the current time and returns the number of milliseconds that have elapsed since the last time start() or restart() was called.
+.PP
+This function is guaranteed to be atomic and is thus very handy for repeated measurements. Call start() to start the first measurement and then restart() for each later measurement.
+.PP
+Note that the counter wraps to zero 24 hours after the last call to start() or restart().
+.PP
+\fBWarning:\fR If the system's clock setting has been changed since the last time start() or restart() was called, the result is undefined. This can happen when daylight savings time is turned on or off.
+.PP
+See also start(), elapsed(), and currentTime().
+.SH "int QTime::second () const"
+Returns the second part (0..59) of the time.
+.PP
+Example: tictac/tictac.cpp.
+.SH "int QTime::secsTo ( const QTime & t ) const"
+Returns the number of seconds from this time to \fIt\fR (which is negative if \fIt\fR is earlier than this time).
+.PP
+Because QTime measures time within a day and there are 86400 seconds in a day, the result is always between -86400 and 86400.
+.PP
+See also addSecs() and QDateTime::secsTo().
+.PP
+Example: t12/cannon.cpp.
+.SH "bool QTime::setHMS ( int h, int m, int s, int ms = 0 )"
+Sets the time to hour \fIh\fR, minute \fIm\fR, seconds \fIs\fR and milliseconds \fIms\fR.
+.PP
+\fIh\fR must be in the range 0..23, \fIm\fR and \fIs\fR must be in the range 0..59, and \fIms\fR must be in the range 0..999. Returns TRUE if the set time is valid; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "void QTime::start ()"
+Sets this time to the current time. This is practical for timing:
+.PP
+.nf
+.br
+ QTime t;
+.br
+ t.start();
+.br
+ some_lengthy_task();
+.br
+ qDebug( "Time elapsed: %d ms", t.elapsed() );
+.br
+.fi
+.PP
+See also restart(), elapsed(), and currentTime().
+.SH "QString QTime::toString ( const QString & format ) const"
+Returns the time as a string. The \fIformat\fR parameter determines the format of the result string.
+.PP
+These expressions may be used:
+.PP
+<center>.nf
+.TS
+l - l. Expression Output h the hour without a leading zero (0..23 or 1..12 if AM/PM display) hh the hour with a leading zero (00..23 or 01..12 if AM/PM display) m the minute without a leading zero (0..59) mm the minute with a leading zero (00..59) s the second whithout a leading zero (0..59) ss the second whith a leading zero (00..59) z the milliseconds without leading zeroes (0..999) zzz the milliseconds with leading zeroes (000..999) AP use AM/PM display. \fIAP\fR will be replaced by either "AM" or "PM". ap
+.TE
+.fi
+</center>
+.PP
+All other input characters will be ignored.
+.PP
+Example format strings (assuming that the QTime is 14:13:09.042)
+.PP
+<center>.nf
+.TS
+l - l. Format Result hh:mm:ss.zzz 14:13:09.042 h:m:s ap
+.TE
+.fi
+</center>
+.PP
+If the time is an invalid time, then QString::null will be returned.
+.PP
+See also QDate::toString() and QDateTime::toString().
+.SH "QString QTime::toString ( Qt::DateFormat f = Qt::TextDate ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the time as a string. Milliseconds are not included. The \fIf\fR parameter determines the format of the string.
+.PP
+If \fIf\fR is Qt::TextDate, the string format is HH:MM:SS; e.g. 1 second before midnight would be "23:59:59".
+.PP
+If \fIf\fR is Qt::ISODate, the string format corresponds to the ISO 8601 extended specification for representations of dates, which is also HH:MM:SS.
+.PP
+If \fIf\fR is Qt::LocalDate, the string format depends on the locale settings of the system.
+.PP
+If the time is an invalid time, then QString::null will be returned.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QTime & t )"
+Writes time \fIt\fR to the stream \fIs\fR.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QTime & t )"
+Reads a time from the stream \fIs\fR into \fIt\fR.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtime.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtime.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtimeedit.3qt b/doc/man/man3/qtimeedit.3qt
new file mode 100644
index 0000000..f1d4974
--- /dev/null
+++ b/doc/man/man3/qtimeedit.3qt
@@ -0,0 +1,256 @@
+'\" t
+.TH QTimeEdit 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTimeEdit \- Time editor
+.SH SYNOPSIS
+\fC#include <qdatetimeedit.h>\fR
+.PP
+Inherits QDateTimeEditBase.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBDisplay\fR { Hours = 0x01, Minutes = 0x02, Seconds = 0x04, AMPM = 0x10 }"
+.br
+.ti -1c
+.BI "\fBQTimeEdit\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQTimeEdit\fR ( const QTime & time, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTimeEdit\fR ()"
+.br
+.ti -1c
+.BI "QTime \fBtime\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoAdvance\fR ( bool advance )"
+.br
+.ti -1c
+.BI "bool \fBautoAdvance\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMinValue\fR ( const QTime & d )"
+.br
+.ti -1c
+.BI "QTime \fBminValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaxValue\fR ( const QTime & d )"
+.br
+.ti -1c
+.BI "QTime \fBmaxValue\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRange\fR ( const QTime & min, const QTime & max )"
+.br
+.ti -1c
+.BI "QString \fBseparator\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSeparator\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "uint \fBdisplay\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetDisplay\fR ( uint disp )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetTime\fR ( const QTime & time )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBvalueChanged\fR ( const QTime & time )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoAdvance\fR - whether the editor automatically advances to the next section"
+.br
+.ti -1c
+.BI "Display \fBdisplay\fR - the sections that are displayed in the time edit"
+.br
+.ti -1c
+.BI "QTime \fBmaxValue\fR - the maximum time value"
+.br
+.ti -1c
+.BI "QTime \fBminValue\fR - the minimum time value"
+.br
+.ti -1c
+.BI "QTime \fBtime\fR - the editor's time value"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QString \fBsectionFormattedText\fR ( int sec )"
+.br
+.ti -1c
+.BI "virtual void \fBsetHour\fR ( int h )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMinute\fR ( int m )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSecond\fR ( int s )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTimeEdit class provides a time editor.
+.PP
+QTimeEdit allows the user to edit times by using the keyboard or the arrow keys to increase/decrease time values. The arrow keys can be used to move from section to section within the QTimeEdit box. The user can automatically be moved to the next section once they complete a section using setAutoAdvance(). Times appear in hour, minute, second order. It is recommended that the QTimeEdit is initialised with a time, e.g.
+.PP
+.nf
+.br
+ QTime timeNow = QTime::currentTime();
+.br
+ QTimeEdit *timeEdit = new QTimeEdit( timeNow, this );
+.br
+ timeEdit->setRange( timeNow, timeNow.addSecs( 60 * 60 ) );
+.br
+.fi
+Here we've created a QTimeEdit widget set to the current time. We've also set the minimum value to the current time and the maximum time to one hour from now.
+.PP
+The maximum and minimum values for a time value in the time editor default to the maximum and minimum values for a QTime. You can change this by calling setMinValue(), setMaxValue() or setRange().
+.PP
+Terminology: A QTimeWidget consists of three sections, one each for the hour, minute and second. You can change the separator character using setSeparator(), by default the separator is read from the system's settings.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QTime, QDateEdit, QDateTimeEdit, Advanced Widgets, and Time and Date.
+.SS "Member Type Documentation"
+.SH "QTimeEdit::Display"
+This enum defines the sections that comprise a time
+.TP
+\fCQTimeEdit::Hours\fR - The hours section
+.TP
+\fCQTimeEdit::Minutes\fR - The minutes section
+.TP
+\fCQTimeEdit::Seconds\fR - The seconds section
+.TP
+\fCQTimeEdit::AMPM\fR - The AM/PM section
+.PP
+The values can be or'ed together to show any combination.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTimeEdit::QTimeEdit ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty time edit with parent \fIparent\fR and called \fIname\fR.
+.SH "QTimeEdit::QTimeEdit ( const QTime & time, QWidget * parent = 0, const char * name = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a time edit with the initial time value, \fItime\fR, parent \fIparent\fR and called \fIname\fR.
+.SH "QTimeEdit::~QTimeEdit ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QTimeEdit::autoAdvance () const"
+Returns TRUE if the editor automatically advances to the next section; otherwise returns FALSE. See the "autoAdvance" property for details.
+.SH "uint QTimeEdit::display () const"
+Returns the sections that are displayed in the time edit. See the "display" property for details.
+.SH "QTime QTimeEdit::maxValue () const"
+Returns the maximum time value. See the "maxValue" property for details.
+.SH "QTime QTimeEdit::minValue () const"
+Returns the minimum time value. See the "minValue" property for details.
+.SH "QString QTimeEdit::sectionFormattedText ( int sec )\fC [virtual protected]\fR"
+Returns the formatted number for section \fIsec\fR. This will correspond to either the hour, minute or second section, depending on \fIsec\fR.
+.SH "QString QTimeEdit::separator () const"
+Returns the editor's separator.
+.SH "void QTimeEdit::setAutoAdvance ( bool advance )\fC [virtual]\fR"
+Sets whether the editor automatically advances to the next section to \fIadvance\fR. See the "autoAdvance" property for details.
+.SH "void QTimeEdit::setDisplay ( uint disp )"
+Sets the sections that are displayed in the time edit to \fIdisp\fR. See the "display" property for details.
+.SH "void QTimeEdit::setHour ( int h )\fC [virtual protected]\fR"
+Sets the hour to \fIh\fR, which must be a valid hour, i.e. in the range 0..24.
+.SH "void QTimeEdit::setMaxValue ( const QTime & d )\fC [virtual]\fR"
+Sets the maximum time value to \fId\fR. See the "maxValue" property for details.
+.SH "void QTimeEdit::setMinValue ( const QTime & d )\fC [virtual]\fR"
+Sets the minimum time value to \fId\fR. See the "minValue" property for details.
+.SH "void QTimeEdit::setMinute ( int m )\fC [virtual protected]\fR"
+Sets the minute to \fIm\fR, which must be a valid minute, i.e. in the range 0..59.
+.SH "void QTimeEdit::setRange ( const QTime & min, const QTime & max )\fC [virtual]\fR"
+Sets the valid input range for the editor to be from \fImin\fR to \fImax\fR inclusive. If \fImin\fR is invalid no minimum time is set. Similarly, if \fImax\fR is invalid no maximum time is set.
+.SH "void QTimeEdit::setSecond ( int s )\fC [virtual protected]\fR"
+Sets the second to \fIs\fR, which must be a valid second, i.e. in the range 0..59.
+.SH "void QTimeEdit::setSeparator ( const QString & s )\fC [virtual]\fR"
+Sets the separator to \fIs\fR. Note that currently only the first character of \fIs\fR is used.
+.SH "void QTimeEdit::setTime ( const QTime & time )\fC [virtual slot]\fR"
+Sets the editor's time value to \fItime\fR. See the "time" property for details.
+.SH "QTime QTimeEdit::time () const"
+Returns the editor's time value. See the "time" property for details.
+.SH "void QTimeEdit::valueChanged ( const QTime & time )\fC [signal]\fR"
+This signal is emitted whenever the editor's value changes. The \fItime\fR parameter is the new value.
+.SS "Property Documentation"
+.SH "bool autoAdvance"
+This property holds whether the editor automatically advances to the next section.
+.PP
+If autoAdvance is TRUE, the editor will automatically advance focus to the next time section if a user has completed a section. The default is FALSE.
+.PP
+Set this property's value with setAutoAdvance() and get this property's value with autoAdvance().
+.SH "Display display"
+This property holds the sections that are displayed in the time edit.
+.PP
+The value can be any combination of the values in the Display enum. By default, the widget displays hours, minutes and seconds.
+.PP
+Set this property's value with setDisplay() and get this property's value with display().
+.SH "QTime maxValue"
+This property holds the maximum time value.
+.PP
+Setting the maximum time value is equivalent to calling QTimeEdit::setRange( minValue(), \fIt\fR ), where \fIt\fR is the maximum time. The default maximum time is 23:59:59.
+.PP
+See also minValue and setRange().
+.PP
+Set this property's value with setMaxValue() and get this property's value with maxValue().
+.SH "QTime minValue"
+This property holds the minimum time value.
+.PP
+Setting the minimum time value is equivalent to calling QTimeEdit::setRange( \fIt\fR, maxValue() ), where \fIt\fR is the minimum time. The default minimum time is 00:00:00.
+.PP
+See also maxValue and setRange().
+.PP
+Set this property's value with setMinValue() and get this property's value with minValue().
+.SH "QTime time"
+This property holds the editor's time value.
+.PP
+When changing the time property, if the time is less than minValue(), or is greater than maxValue(), nothing happens.
+.PP
+Set this property's value with setTime() and get this property's value with time().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtimeedit.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtimeedit.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtimer.3qt b/doc/man/man3/qtimer.3qt
new file mode 100644
index 0000000..ea8a0a6
--- /dev/null
+++ b/doc/man/man3/qtimer.3qt
@@ -0,0 +1,196 @@
+'\" t
+.TH QTimer 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTimer \- Timer signals and single-shot timers
+.SH SYNOPSIS
+\fC#include <qtimer.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTimer\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTimer\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisActive\fR () const"
+.br
+.ti -1c
+.BI "int \fBstart\fR ( int msec, bool sshot = FALSE )"
+.br
+.ti -1c
+.BI "void \fBchangeInterval\fR ( int msec )"
+.br
+.ti -1c
+.BI "void \fBstop\fR ()"
+.br
+.ti -1c
+.BI "int \fBtimerId\fR () const"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBtimeout\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsingleShot\fR ( int msec, QObject * receiver, const char * member )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTimer class provides timer signals and single-shot timers.
+.PP
+It uses timer events internally to provide a more versatile timer. QTimer is very easy to use: create a QTimer, call start() to start it and connect its timeout() to the appropriate slots. When the time is up it will emit the timeout() signal.
+.PP
+Note that a QTimer object is destroyed automatically when its parent object is destroyed.
+.PP
+Example:
+.PP
+.nf
+.br
+ QTimer *timer = new QTimer( myObject );
+.br
+ connect( timer, SIGNAL(timeout()), myObject, SLOT(timerDone()) );
+.br
+ timer->start( 2000, TRUE ); // 2 seconds single-shot timer
+.br
+.fi
+.PP
+You can also use the static singleShot() function to create a single shot timer.
+.PP
+As a special case, a QTimer with timeout 0 times out as soon as all the events in the window system's event queue have been processed.
+.PP
+This can be used to do heavy work while providing a snappy user interface:
+.PP
+.nf
+.br
+ QTimer *t = new QTimer( myObject );
+.br
+ connect( t, SIGNAL(timeout()), SLOT(processOneThing()) );
+.br
+ t->start( 0, FALSE );
+.br
+.fi
+.PP
+myObject->processOneThing() will be called repeatedly and should return quickly (typically after processing one data item) so that Qt can deliver events to widgets and stop the timer as soon as it has done all its work. This is the traditional way of implementing heavy work in GUI applications; multi-threading is now becoming available on more and more platforms, and we expect that null events will eventually be replaced by threading.
+.PP
+Note that QTimer's accuracy depends on the underlying operating system and hardware. Most platforms support an accuracy of 20ms; some provide more. If Qt is unable to deliver the requested number of timer clicks, it will silently discard some.
+.PP
+An alternative to using QTimer is to call QObject::startTimer() for your object and reimplement the QObject::timerEvent() event handler in your class (which must, of course, inherit QObject). The disadvantage is that timerEvent() does not support such high-level features as single-shot timers or signals.
+.PP
+Some operating systems limit the number of timers that may be used; Qt tries to work around these limitations.
+.PP
+See also Event Classes and Time and Date.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTimer::QTimer ( QObject * parent = 0, const char * name = 0 )"
+Constructs a timer called \fIname\fR, with the parent \fIparent\fR.
+.PP
+Note that the parent object's destructor will destroy this timer object.
+.SH "QTimer::~QTimer ()"
+Destroys the timer.
+.SH "void QTimer::changeInterval ( int msec )"
+Changes the timeout interval to \fImsec\fR milliseconds.
+.PP
+If the timer signal is pending, it will be stopped and restarted; otherwise it will be started.
+.PP
+See also start() and isActive().
+.SH "bool QTimer::isActive () const"
+Returns TRUE if the timer is running (pending); otherwise returns FALSE.
+.PP
+Example: t11/cannon.cpp.
+.SH "void QTimer::singleShot ( int msec, QObject * receiver, const char * member )\fC [static]\fR"
+This static function calls a slot after a given time interval.
+.PP
+It is very convenient to use this function because you do not need to bother with a timerEvent or to create a local QTimer object.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qapplication.h>
+.br
+ #include <qtimer.h>
+.br
+.br
+ int main( int argc, char **argv )
+.br
+ {
+.br
+ QApplication a( argc, argv );
+.br
+ QTimer::singleShot( 10*60*1000, &a, SLOT(quit()) );
+.br
+ ... // create and show your widgets
+.br
+ return a.exec();
+.br
+ }
+.br
+.fi
+.PP
+This sample program automatically terminates after 10 minutes (i.e. 600000 milliseconds).
+.PP
+The \fIreceiver\fR is the receiving object and the \fImember\fR is the slot. The time interval is \fImsec\fR.
+.SH "int QTimer::start ( int msec, bool sshot = FALSE )"
+Starts the timer with a \fImsec\fR milliseconds timeout, and returns the ID of the timer, or zero when starting the timer failed.
+.PP
+If \fIsshot\fR is TRUE, the timer will be activated only once; otherwise it will continue until it is stopped.
+.PP
+Any pending timer will be stopped.
+.PP
+See also singleShot(), stop(), changeInterval(), and isActive().
+.PP
+Examples:
+.)l aclock/aclock.cpp, dirview/dirview.cpp, distributor/distributor.ui.h, forever/forever.cpp, hello/hello.cpp, t11/cannon.cpp, and t13/cannon.cpp.
+.SH "void QTimer::stop ()"
+Stops the timer.
+.PP
+See also start().
+.PP
+Examples:
+.)l dirview/dirview.cpp, t11/cannon.cpp, t12/cannon.cpp, and t13/cannon.cpp.
+.SH "void QTimer::timeout ()\fC [signal]\fR"
+This signal is emitted when the timer is activated.
+.PP
+Examples:
+.)l aclock/aclock.cpp, dirview/dirview.cpp, distributor/distributor.ui.h, forever/forever.cpp, hello/hello.cpp, and t11/cannon.cpp.
+.SH "int QTimer::timerId () const"
+Returns the ID of the timer if the timer is running; otherwise returns
+-1.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtimer.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtimer.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtimerevent.3qt b/doc/man/man3/qtimerevent.3qt
new file mode 100644
index 0000000..4f1e34e
--- /dev/null
+++ b/doc/man/man3/qtimerevent.3qt
@@ -0,0 +1,66 @@
+'\" t
+.TH QTimerEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTimerEvent \- Parameters that describe a timer event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTimerEvent\fR ( int timerId )"
+.br
+.ti -1c
+.BI "int \fBtimerId\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTimerEvent class contains parameters that describe a timer event.
+.PP
+Timer events are sent at regular intervals to objects that have started one or more timers. Each timer has a unique identifier. A timer is started with QObject::startTimer().
+.PP
+The QTimer class provides a high-level programming interface that uses signals instead of events. It also provides one-shot timers.
+.PP
+The event handler QObject::timerEvent() receives timer events.
+.PP
+See also QTimer, QObject::timerEvent(), QObject::startTimer(), QObject::killTimer(), QObject::killTimers(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTimerEvent::QTimerEvent ( int timerId )"
+Constructs a timer event object with the timer identifier set to \fItimerId\fR.
+.SH "int QTimerEvent::timerId () const"
+Returns the unique timer identifier, which is the same identifier as returned from QObject::startTimer().
+.PP
+Example: dclock/dclock.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtimerevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtimerevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtoolbar.3qt b/doc/man/man3/qtoolbar.3qt
new file mode 100644
index 0000000..3d3ee6c
--- /dev/null
+++ b/doc/man/man3/qtoolbar.3qt
@@ -0,0 +1,163 @@
+'\" t
+.TH QToolBar 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QToolBar \- Movable panel containing widgets such as tool buttons
+.SH SYNOPSIS
+\fC#include <qtoolbar.h>\fR
+.PP
+Inherits QDockWindow.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "QToolBar ( const QString & label, QMainWindow *, ToolBarDock = DockTop, bool newLine = FALSE, const char * name = 0 ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "\fBQToolBar\fR ( const QString & label, QMainWindow * mainWindow, QWidget * parent, bool newLine = FALSE, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fBQToolBar\fR ( QMainWindow * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddSeparator\fR ()"
+.br
+.ti -1c
+.BI "QMainWindow * \fBmainWindow\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetStretchableWidget\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLabel\fR ( const QString & )"
+.br
+.ti -1c
+.BI "QString \fBlabel\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBclear\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QString \fBlabel\fR - the toolbar's label"
+.br
+.in -1c
+.SH DESCRIPTION
+The QToolBar class provides a movable panel containing widgets such as tool buttons.
+.PP
+A toolbar is a panel that contains a set of controls, usually represented by small icons. It's purpose is to provide quick access to frequently used commands or options. Within a QMainWindow the user can drag toolbars within and between the dock areas. Toolbars can also be dragged out of any dock area to float freely as top-level windows.
+.PP
+QToolBar is a specialization of QDockWindow, and so provides all the functionality of a QDockWindow.
+.PP
+To use QToolBar you simply create a QToolBar as a child of a QMainWindow, create a number of QToolButton widgets (or other widgets) in left to right (or top to bottom) order and call addSeparator() when you want a separator. When a toolbar is floated the caption used is the label given in the constructor call. This can be changed with setLabel().
+.PP
+.nf
+.br
+ QToolBar * fileTools = new QToolBar( this, "file operations" );
+.br
+ fileTools->setLabel( "File Operations" );
+.br
+ fileOpenAction->addTo( fileTools );
+.br
+ fileSaveAction->addTo( fileTools );
+.fi
+.PP
+This extract from the application/application.cpp example shows the creation of a new toolbar as a child of a QMainWindow and adding two QActions.
+.PP
+You may use most widgets within a toolbar, with QToolButton and QComboBox being the most common.
+.PP
+If you create a new widget on an already visible QToolBar, this widget will automatically become visible without needing a show() call. (This differs from every other Qt widget container. We recommend calling show() anyway since we hope to fix this anomaly in a future release.)
+.PP
+QToolBars, like QDockWindows, are located in QDockAreas or float as top-level windows. QMainWindow provides four QDockAreas (top, left, right and bottom). When you create a new toolbar (as in the example above) as a child of a QMainWindow the toolbar will be added to the top dock area. You can move it to another dock area (or float it) by calling QMainWindow::moveDockWindow(). QDock areas lay out their windows in Lines.
+.PP
+If the main window is resized so that the area occupied by the toolbar is too small to show all its widgets a little arrow button (which looks like a right-pointing chevron, '&#187;') will appear at the right or bottom of the toolbar depending on its orientation. Clicking this button pops up a menu that shows the 'overflowing' items. QToolButtons are represented in the menu using their textLabel property, other QButton subclasses are represented using their text property, and QComboBoxes are represented as submenus, with the caption text being used in the submenu item.
+.PP
+Usually a toolbar will get precisely the space it needs. However, with setHorizontalStretchable(), setVerticalStretchable() or setStretchableWidget() you can tell the main window to expand the toolbar to fill all available space in the specified orientation.
+.PP
+The toolbar arranges its buttons either horizontally or vertically (see orientation() for details). Generally, QDockArea will set the orientation correctly for you, but you can set it yourself with setOrientation() and track any changes by connecting to the orientationChanged() signal.
+.PP
+You can use the clear() method to remove all items from a toolbar.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center> <blockquote><p align="center">\fI A floating QToolbar (dock window) \fR</p> </blockquote>
+.PP
+See also QToolButton, QMainWindow, Parts of Isys on Visual Design, GUI Design Handbook: Tool Bar, and Main Window and Related Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QToolBar::QToolBar ( const QString & label, QMainWindow *, ToolBarDock = DockTop, bool newLine = FALSE, const char * name = 0 )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QToolBar::QToolBar ( const QString & label, QMainWindow * mainWindow, QWidget * parent, bool newLine = FALSE, const char * name = 0, WFlags f = 0 )"
+Constructs an empty horizontal toolbar.
+.PP
+The toolbar is called \fIname\fR and is a child of \fIparent\fR and is managed by \fImainWindow\fR. The \fIlabel\fR and \fInewLine\fR parameters are passed straight to QMainWindow::addDockWindow(). \fIname\fR and the widget flags \fIf\fR are passed on to the QDockWindow constructor.
+.PP
+Use this constructor if you want to create torn-off (undocked, floating) toolbars or toolbars in the status bar.
+.SH "QToolBar::QToolBar ( QMainWindow * parent = 0, const char * name = 0 )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs an empty toolbar called \fIname\fR, with parent \fIparent\fR, in its \fIparent\fR's top dock area, without any label and without requiring a newline.
+.SH "void QToolBar::addSeparator ()"
+Adds a separator to the right/bottom of the toolbar.
+.PP
+Examples:
+.)l chart/chartform.cpp, fileiconview/mainwindow.cpp, helpviewer/helpwindow.cpp, qfd/fontdisplayer.cpp, and scribble/scribble.cpp.
+.SH "void QToolBar::clear ()\fC [virtual]\fR"
+Deletes all the toolbar's child widgets.
+.SH "QString QToolBar::label () const"
+Returns the toolbar's label. See the "label" property for details.
+.SH "QMainWindow * QToolBar::mainWindow () const"
+Returns a pointer to the QMainWindow which manages this toolbar.
+.SH "void QToolBar::setLabel ( const QString & )\fC [virtual]\fR"
+Sets the toolbar's label. See the "label" property for details.
+.SH "void QToolBar::setStretchableWidget ( QWidget * w )\fC [virtual]\fR"
+Sets the widget \fIw\fR to be expanded if this toolbar is requested to stretch.
+.PP
+The request to stretch might occur because QMainWindow right-justifies the dock area the toolbar is in, or because this toolbar's isVerticalStretchable() or isHorizontalStretchable() is set to TRUE.
+.PP
+If you call this function and the toolbar is not yet stretchable, setStretchable() is called.
+.PP
+See also QMainWindow::rightJustification, setVerticalStretchable(), and setHorizontalStretchable().
+.PP
+Examples:
+.)l fileiconview/mainwindow.cpp and helpviewer/helpwindow.cpp.
+.SS "Property Documentation"
+.SH "QString label"
+This property holds the toolbar's label.
+.PP
+If the toolbar is floated the label becomes the toolbar window's caption. There is no default label text.
+.PP
+Set this property's value with setLabel() and get this property's value with label().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtoolbar.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtoolbar.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtoolbox.3qt b/doc/man/man3/qtoolbox.3qt
new file mode 100644
index 0000000..eb7fea7
--- /dev/null
+++ b/doc/man/man3/qtoolbox.3qt
@@ -0,0 +1,211 @@
+'\" t
+.TH QToolBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QToolBox \- Column of tabbed widget items
+.SH SYNOPSIS
+\fC#include <qtoolbox.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQToolBox\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "int \fBaddItem\fR ( QWidget * w, const QString & label )"
+.br
+.ti -1c
+.BI "int \fBaddItem\fR ( QWidget * item, const QIconSet & iconSet, const QString & label )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( int index, QWidget * item, const QString & label )"
+.br
+.ti -1c
+.BI "int \fBinsertItem\fR ( int index, QWidget * item, const QIconSet & iconSet, const QString & label )"
+.br
+.ti -1c
+.BI "int \fBremoveItem\fR ( QWidget * item )"
+.br
+.ti -1c
+.BI "void \fBsetItemEnabled\fR ( int index, bool enabled )"
+.br
+.ti -1c
+.BI "bool \fBisItemEnabled\fR ( int index ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemLabel\fR ( int index, const QString & label )"
+.br
+.ti -1c
+.BI "QString \fBitemLabel\fR ( int index ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemIconSet\fR ( int index, const QIconSet & iconSet )"
+.br
+.ti -1c
+.BI "QIconSet \fBitemIconSet\fR ( int index ) const"
+.br
+.ti -1c
+.BI "void \fBsetItemToolTip\fR ( int index, const QString & toolTip )"
+.br
+.ti -1c
+.BI "QString \fBitemToolTip\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBcurrentItem\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetCurrentItem\fR ( QWidget * item )"
+.br
+.ti -1c
+.BI "int \fBcurrentIndex\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBitem\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( QWidget * item ) const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetCurrentIndex\fR ( int index )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBcurrentChanged\fR ( int index )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "int \fBcount\fR - the number of items contained in the toolbox \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBcurrentIndex\fR - the index of the current " "item" ", or -1 if the toolbox is empty"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBitemInserted\fR ( int index )"
+.br
+.ti -1c
+.BI "virtual void \fBitemRemoved\fR ( int index )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QToolBox class provides a column of tabbed widget items.
+.PP
+A toolbox is a widget that displays a column of tabs one above the other, with the current item displayed below the current tab. Every tab has an index position within the column of tabs. A tab's item is a QWidget.
+.PP
+Each item has an itemLabel(), an optional icon, itemIconSet(), an optional itemToolTip(), and a widget. The item's attributes can be changed with setItemLabel(), setItemIconSet() and setItemToolTip().
+.PP
+Items are added using addItem(), or inserted at particular positions using insertItem(). The total number of items is given by count(). Items can be deleted with delete, or removed from the toolbox with removeItem(). Combining removeItem() and insertItem() allows to move items to different positions.
+.PP
+The current item widget is returned by currentItem() and set with setCurrentItem(). If you prefer you can work in terms of indexes using currentIndex(), setCurrentIndex(), indexOf() and item().
+.PP
+The currentChanged() signal is emitted when the current item is changed.
+.PP
+See also QTabWidget and Advanced Widgets.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QToolBox::QToolBox ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a toolbox called \fIname\fR with parent \fIparent\fR and flags \fIf\fR.
+.SH "int QToolBox::addItem ( QWidget * item, const QIconSet & iconSet, const QString & label )"
+Adds the widget \fIitem\fR in a new tab at bottom of the toolbox. The new tab's label is set to \fIlabel\fR, and the \fIiconSet\fR is displayed to the left of the \fIlabel\fR. Returns the new tab's index.
+.SH "int QToolBox::addItem ( QWidget * w, const QString & label )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds the widget \fIw\fR in a new tab at bottom of the toolbox. The new tab's label is set to \fIlabel\fR. Returns the new tab's index.
+.SH "int QToolBox::count () const"
+Returns the number of items contained in the toolbox. See the "count" property for details.
+.SH "void QToolBox::currentChanged ( int index )\fC [signal]\fR"
+This signal is emitted when the current item changed. The new current item's index is passed in \fIindex\fR, or -1 if there is no current item.
+.SH "int QToolBox::currentIndex () const"
+Returns the index of the current item, or -1 if the toolbox is empty. See the "currentIndex" property for details.
+.SH "QWidget * QToolBox::currentItem () const"
+Returns the toolbox's current item, or 0 if the toolbox is empty.
+.SH "int QToolBox::indexOf ( QWidget * item ) const"
+Returns the index of item \fIitem\fR, or -1 if the item does not exist.
+.SH "int QToolBox::insertItem ( int index, QWidget * item, const QIconSet & iconSet, const QString & label )"
+Inserts the widget \fIitem\fR at position \fIindex\fR, or at the bottom of the toolbox if \fIindex\fR is out of range. The new item's label is set to \fIlabel\fR, and the \fIiconSet\fR is displayed to the left of the \fIlabel\fR. Returns the new item's index.
+.SH "int QToolBox::insertItem ( int index, QWidget * item, const QString & label )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts the widget \fIitem\fR at position \fIindex\fR, or at the bottom of the toolbox if \fIindex\fR is out of range. The new item's label is set to \fIlabel\fR. Returns the new item's index.
+.SH "bool QToolBox::isItemEnabled ( int index ) const"
+Returns TRUE if the item at position \fIindex\fR is enabled; otherwise returns FALSE.
+.SH "QWidget * QToolBox::item ( int index ) const"
+Returns the item at position \fIindex\fR, or 0 if there is no such item.
+.SH "QIconSet QToolBox::itemIconSet ( int index ) const"
+Returns the icon of the item at position \fIindex\fR, or a null icon if \fIindex\fR is out of range.
+.SH "void QToolBox::itemInserted ( int index )\fC [virtual protected]\fR"
+This virtual handler is called after a new item was added or inserted at position \fIindex\fR.
+.SH "QString QToolBox::itemLabel ( int index ) const"
+Returns the label of the item at position \fIindex\fR, or a null string if \fIindex\fR is out of range.
+.SH "void QToolBox::itemRemoved ( int index )\fC [virtual protected]\fR"
+This virtual handler is called after an item was removed from position \fIindex\fR.
+.SH "QString QToolBox::itemToolTip ( int index ) const"
+Returns the tooltip of the item at position \fIindex\fR, or a null string if \fIindex\fR is out of range.
+.SH "int QToolBox::removeItem ( QWidget * item )"
+Removes the widget \fIitem\fR from the toolbox. Note that the widget is \fInot\fR deleted. Returns the removed widget's index, or -1 if the widget was not in this tool box.
+.SH "void QToolBox::setCurrentIndex ( int index )\fC [slot]\fR"
+Sets the index of the current item, or -1 if the toolbox is empty to \fIindex\fR. See the "currentIndex" property for details.
+.SH "void QToolBox::setCurrentItem ( QWidget * item )"
+Sets the current item to be \fIitem\fR.
+.SH "void QToolBox::setItemEnabled ( int index, bool enabled )"
+If \fIenabled\fR is TRUE then the item at position \fIindex\fR is enabled; otherwise item \fIindex\fR is disabled.
+.SH "void QToolBox::setItemIconSet ( int index, const QIconSet & iconSet )"
+Sets the icon of the item at position \fIindex\fR to \fIiconSet\fR.
+.SH "void QToolBox::setItemLabel ( int index, const QString & label )"
+Sets the label of the item at position \fIindex\fR to \fIlabel\fR.
+.SH "void QToolBox::setItemToolTip ( int index, const QString & toolTip )"
+Sets the tooltip of the item at position \fIindex\fR to \fItoolTip\fR.
+.SS "Property Documentation"
+.SH "int count"
+This property holds the number of items contained in the toolbox.
+.PP
+Get this property's value with count().
+.SH "int currentIndex"
+This property holds the index of the current item, or -1 if the toolbox is empty.
+.PP
+Set this property's value with setCurrentIndex() and get this property's value with currentIndex().
+.PP
+See also currentItem(), indexOf(), and item().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtoolbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtoolbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtoolbutton.3qt b/doc/man/man3/qtoolbutton.3qt
new file mode 100644
index 0000000..d1f0d2f
--- /dev/null
+++ b/doc/man/man3/qtoolbutton.3qt
@@ -0,0 +1,419 @@
+'\" t
+.TH QToolButton 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QToolButton \- Quick-access button to commands or options, usually used inside a QToolBar
+.SH SYNOPSIS
+\fC#include <qtoolbutton.h>\fR
+.PP
+Inherits QButton.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBTextPosition\fR { BesideIcon, BelowIcon, Right = BesideIcon, Under = BelowIcon }"
+.br
+.ti -1c
+.BI "\fBQToolButton\fR ( QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQToolButton\fR ( const QIconSet & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, QToolBar * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQToolButton\fR ( ArrowType type, QWidget * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QToolButton\fR ()"
+.br
+.ti -1c
+.BI "void setOnIconSet ( const QIconSet & ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setOffIconSet ( const QIconSet & ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setIconSet ( const QIconSet & set, bool on ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QIconSet onIconSet () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QIconSet offIconSet () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QIconSet iconSet ( bool on ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBsetIconSet\fR ( const QIconSet & )"
+.br
+.ti -1c
+.BI "QIconSet \fBiconSet\fR () const"
+.br
+.ti -1c
+.BI "bool \fBusesBigPixmap\fR () const"
+.br
+.ti -1c
+.BI "bool \fBusesTextLabel\fR () const"
+.br
+.ti -1c
+.BI "QString \fBtextLabel\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPopup\fR ( QPopupMenu * popup )"
+.br
+.ti -1c
+.BI "QPopupMenu * \fBpopup\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPopupDelay\fR ( int delay )"
+.br
+.ti -1c
+.BI "int \fBpopupDelay\fR () const"
+.br
+.ti -1c
+.BI "void \fBopenPopup\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetAutoRaise\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBautoRaise\fR () const"
+.br
+.ti -1c
+.BI "TextPosition \fBtextPosition\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetUsesBigPixmap\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUsesTextLabel\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetTextLabel\fR ( const QString & newLabel, bool tipToo )"
+.br
+.ti -1c
+.BI "virtual void \fBsetToggleButton\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOn\fR ( bool enable )"
+.br
+.ti -1c
+.BI "void \fBtoggle\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetTextLabel\fR ( const QString & )"
+.br
+.ti -1c
+.BI "void \fBsetTextPosition\fR ( TextPosition pos )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBautoRaise\fR - whether auto-raising is enabled"
+.br
+.ti -1c
+.BI "BackgroundMode \fBbackgroundMode\fR - the toolbutton's background mode \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QIconSet \fBiconSet\fR - the icon set providing the icon shown on the button"
+.br
+.ti -1c
+.BI "QIconSet offIconSet - the icon set that is used when the button is in an ""off"" state \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBon\fR - whether this tool button is on"
+.br
+.ti -1c
+.BI "QIconSet onIconSet - the icon set that is used when the button is in an ""on"" state \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPixmap \fBpixmap\fR - the pixmap of the button \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBpopupDelay\fR - the time delay between pressing the button and the appearance of the associated popup menu in milliseconds"
+.br
+.ti -1c
+.BI "QString \fBtextLabel\fR - the label of this button"
+.br
+.ti -1c
+.BI "TextPosition \fBtextPosition\fR - the position of the text label of this button"
+.br
+.ti -1c
+.BI "bool \fBtoggleButton\fR - whether this tool button is a toggle button"
+.br
+.ti -1c
+.BI "bool \fBusesBigPixmap\fR - whether this toolbutton uses big pixmaps"
+.br
+.ti -1c
+.BI "bool \fBusesTextLabel\fR - whether the toolbutton displays a text label below the button pixmap"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "bool \fBuses3D\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QToolButton class provides a quick-access button to commands or options, usually used inside a QToolBar.
+.PP
+A tool button is a special button that provides quick-access to specific commands or options. As opposed to a normal command button, a tool button usually doesn't show a text label, but shows an icon instead. Its classic usage is to select tools, for example the "pen" tool in a drawing program. This would be implemented with a QToolButton as toggle button (see setToggleButton() ).
+.PP
+QToolButton supports auto-raising. In auto-raise mode, the button draws a 3D frame only when the mouse points at it. The feature is automatically turned on when a button is used inside a QToolBar. Change it with setAutoRaise().
+.PP
+A tool button's icon is set as QIconSet. This makes it possible to specify different pixmaps for the disabled and active state. The disabled pixmap is used when the button's functionality is not available. The active pixmap is displayed when the button is auto-raised because the mouse pointer is hovering over it.
+.PP
+The button's look and dimension is adjustable with setUsesBigPixmap() and setUsesTextLabel(). When used inside a QToolBar in a QMainWindow, the button automatically adjusts to QMainWindow's settings (see QMainWindow::setUsesTextLabel() and QMainWindow::setUsesBigPixmaps()). The pixmap set on a QToolButton will be set to 22x22 if it is bigger than this size. If usesBigPixmap() is TRUE, then the pixmap will be set to 32x32.
+.PP
+A tool button can offer additional choices in a popup menu. The feature is sometimes used with the "Back" button in a web browser. After pressing and holding the button down for a while, a menu pops up showing a list of possible pages to jump to. With QToolButton you can set a popup menu using setPopup(). The default delay is 600ms; you can adjust it with setPopupDelay().
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center> QToolbar with QToolbuttons
+.PP
+See also QPushButton, QToolBar, QMainWindow, GUI Design Handbook: Push Button, and Basic Widgets.
+.SS "Member Type Documentation"
+.SH "QToolButton::TextPosition"
+The position of the tool button's textLabel in relation to the tool button's icon.
+.TP
+\fCQToolButton::BesideIcon\fR - The text appears beside the icon.
+.TP
+\fCQToolButton::BelowIcon\fR - The text appears below the icon.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QToolButton::QToolButton ( QWidget * parent, const char * name = 0 )"
+Constructs an empty tool button called \fIname\fR, with parent \fIparent\fR.
+.SH "QToolButton::QToolButton ( const QIconSet & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, QToolBar * parent, const char * name = 0 )"
+Constructs a tool button called \fIname\fR, that is a child of \fIparent\fR (which must be a QToolBar).
+.PP
+The tool button will display \fIiconSet\fR, with its text label and tool tip set to \fItextLabel\fR and its status bar message set to \fIgrouptext\fR. It will be connected to the \fIslot\fR in object \fIreceiver\fR.
+.SH "QToolButton::QToolButton ( ArrowType type, QWidget * parent, const char * name = 0 )"
+Constructs a tool button as an arrow button. The ArrowType \fItype\fR defines the arrow direction. Possible values are LeftArrow, RightArrow, UpArrow and DownArrow.
+.PP
+An arrow button has auto-repeat turned on by default.
+.PP
+The \fIparent\fR and \fIname\fR arguments are sent to the QWidget constructor.
+.SH "QToolButton::~QToolButton ()"
+Destroys the object and frees any allocated resources.
+.SH "bool QToolButton::autoRaise () const"
+Returns TRUE if auto-raising is enabled; otherwise returns FALSE. See the "autoRaise" property for details.
+.SH "QIconSet QToolButton::iconSet () const"
+Returns the icon set providing the icon shown on the button. See the "iconSet" property for details.
+.SH "QIconSet QToolButton::iconSet ( bool on ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Since Qt 3.0, QIconSet contains both the On and Off icons.
+.PP
+For ease of porting, this function ignores the \fIon\fR parameter and returns the iconSet property. If you relied on the \fIon\fR parameter, you probably want to update your code to use the QIconSet On/Off mechanism.
+.SH "QIconSet QToolButton::offIconSet () const"
+Returns the icon set that is used when the button is in an "off" state. See the "offIconSet" property for details.
+.SH "QIconSet QToolButton::onIconSet () const"
+Returns the icon set that is used when the button is in an "on" state. See the "onIconSet" property for details.
+.SH "void QToolButton::openPopup ()"
+Opens (pops up) the associated popup menu. If there is no such menu, this function does nothing. This function does not return until the popup menu has been closed by the user.
+.SH "QPopupMenu * QToolButton::popup () const"
+Returns the associated popup menu, or 0 if no popup menu has been defined.
+.PP
+See also setPopup().
+.SH "int QToolButton::popupDelay () const"
+Returns the time delay between pressing the button and the appearance of the associated popup menu in milliseconds. See the "popupDelay" property for details.
+.SH "void QToolButton::setAutoRaise ( bool enable )"
+Sets whether auto-raising is enabled to \fIenable\fR. See the "autoRaise" property for details.
+.SH "void QToolButton::setIconSet ( const QIconSet & )\fC [virtual]\fR"
+Sets the icon set providing the icon shown on the button. See the "iconSet" property for details.
+.SH "void QToolButton::setIconSet ( const QIconSet & set, bool on )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Since Qt 3.0, QIconSet contains both the On and Off icons.
+.PP
+For ease of porting, this function ignores the \fIon\fR parameter and sets the iconSet property. If you relied on the \fIon\fR parameter, you probably want to update your code to use the QIconSet On/Off mechanism.
+.PP
+See also iconSet and QIconSet::State.
+.SH "void QToolButton::setOffIconSet ( const QIconSet & )"
+Sets the icon set that is used when the button is in an "off" state. See the "offIconSet" property for details.
+.SH "void QToolButton::setOn ( bool enable )\fC [virtual slot]\fR"
+Sets whether this tool button is on to \fIenable\fR. See the "on" property for details.
+.SH "void QToolButton::setOnIconSet ( const QIconSet & )"
+Sets the icon set that is used when the button is in an "on" state. See the "onIconSet" property for details.
+.SH "void QToolButton::setPopup ( QPopupMenu * popup )"
+Associates the popup menu \fIpopup\fR with this tool button.
+.PP
+The popup will be shown each time the tool button has been pressed down for a certain amount of time. A typical application example is the "back" button in some web browsers's tool bars. If the user clicks it, the browser simply browses back to the previous page. If the user presses and holds the button down for a while, the tool button shows a menu containing the current history list.
+.PP
+Ownership of the popup menu is not transferred to the tool button.
+.PP
+See also popup().
+.SH "void QToolButton::setPopupDelay ( int delay )"
+Sets the time delay between pressing the button and the appearance of the associated popup menu in milliseconds to \fIdelay\fR. See the "popupDelay" property for details.
+.SH "void QToolButton::setTextLabel ( const QString & )\fC [slot]\fR"
+Sets the label of this button. See the "textLabel" property for details.
+.SH "void QToolButton::setTextLabel ( const QString & newLabel, bool tipToo )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the label of this button to \fInewLabel\fR and automatically sets it as a tool tip if \fItipToo\fR is TRUE.
+.SH "void QToolButton::setTextPosition ( TextPosition pos )\fC [slot]\fR"
+Sets the position of the text label of this button to \fIpos\fR. See the "textPosition" property for details.
+.SH "void QToolButton::setToggleButton ( bool enable )\fC [virtual slot]\fR"
+Sets whether this tool button is a toggle button to \fIenable\fR. See the "toggleButton" property for details.
+.SH "void QToolButton::setUsesBigPixmap ( bool enable )\fC [virtual slot]\fR"
+Sets whether this toolbutton uses big pixmaps to \fIenable\fR. See the "usesBigPixmap" property for details.
+.SH "void QToolButton::setUsesTextLabel ( bool enable )\fC [virtual slot]\fR"
+Sets whether the toolbutton displays a text label below the button pixmap to \fIenable\fR. See the "usesTextLabel" property for details.
+.SH "QString QToolButton::textLabel () const"
+Returns the label of this button. See the "textLabel" property for details.
+.SH "TextPosition QToolButton::textPosition () const"
+Returns the position of the text label of this button. See the "textPosition" property for details.
+.SH "void QToolButton::toggle ()\fC [slot]\fR"
+Toggles the state of this tool button.
+.PP
+This function has no effect on non-toggling buttons.
+.PP
+See also toggleButton and toggled().
+.SH "bool QToolButton::uses3D () const\fC [protected]\fR"
+Returns TRUE if this button should be drawn using raised edges; otherwise returns FALSE.
+.PP
+See also drawButton().
+.SH "bool QToolButton::usesBigPixmap () const"
+Returns TRUE if this toolbutton uses big pixmaps; otherwise returns FALSE. See the "usesBigPixmap" property for details.
+.SH "bool QToolButton::usesTextLabel () const"
+Returns TRUE if the toolbutton displays a text label below the button pixmap; otherwise returns FALSE. See the "usesTextLabel" property for details.
+.SS "Property Documentation"
+.SH "bool autoRaise"
+This property holds whether auto-raising is enabled.
+.PP
+The default is disabled (i.e. FALSE).
+.PP
+Set this property's value with setAutoRaise() and get this property's value with autoRaise().
+.SH "BackgroundMode backgroundMode"
+This property holds the toolbutton's background mode.
+.PP
+Get this property with backgroundMode().
+.PP
+See also QWidget::backgroundMode.
+.SH "QIconSet iconSet"
+This property holds the icon set providing the icon shown on the button.
+.PP
+Setting this property sets QToolButton::pixmap to a null pixmap. There is no default iconset.
+.PP
+See also pixmap, toggleButton, and on.
+.PP
+Set this property's value with setIconSet() and get this property's value with iconSet().
+.SH "QIconSet offIconSet"
+This property holds the icon set that is used when the button is in an "off" state.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Since Qt 3.0, QIconSet contains both the On and Off icons. There is now an QToolButton::iconSet property that replaces both QToolButton::onIconSet and QToolButton::offIconSet.
+.PP
+For ease of porting, this property is a synonym for QToolButton::iconSet. You probably want to go over your application code and use the QIconSet On/Off mechanism.
+.PP
+See also iconSet and QIconSet::State.
+.PP
+Set this property's value with setOffIconSet() and get this property's value with offIconSet().
+.SH "bool on"
+This property holds whether this tool button is on.
+.PP
+This property has no effect on non-toggling buttons. The default is FALSE (i.e. off).
+.PP
+See also toggleButton and toggle().
+.PP
+Set this property's value with setOn().
+.SH "QIconSet onIconSet"
+This property holds the icon set that is used when the button is in an "on" state.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Since Qt 3.0, QIconSet contains both the On and Off icons. There is now an QToolButton::iconSet property that replaces both QToolButton::onIconSet and QToolButton::offIconSet.
+.PP
+For ease of porting, this property is a synonym for QToolButton::iconSet. You probably want to go over your application code and use the QIconSet On/Off mechanism.
+.PP
+See also iconSet and QIconSet::State.
+.PP
+Set this property's value with setOnIconSet() and get this property's value with onIconSet().
+.SH "QPixmap pixmap"
+This property holds the pixmap of the button.
+.PP
+The pixmap property has no meaning for tool buttons. Use the iconSet property instead.
+.SH "int popupDelay"
+This property holds the time delay between pressing the button and the appearance of the associated popup menu in milliseconds.
+.PP
+Usually this is around half a second. A value of 0 draws the down arrow button to the side of the button which can be used to open up the popup menu.
+.PP
+See also setPopup().
+.PP
+Set this property's value with setPopupDelay() and get this property's value with popupDelay().
+.SH "QString textLabel"
+This property holds the label of this button.
+.PP
+Setting this property automatically sets the text as a tool tip too. There is no default text.
+.PP
+Set this property's value with setTextLabel() and get this property's value with textLabel().
+.SH "TextPosition textPosition"
+This property holds the position of the text label of this button.
+.PP
+Set this property's value with setTextPosition() and get this property's value with textPosition().
+.SH "bool toggleButton"
+This property holds whether this tool button is a toggle button.
+.PP
+Toggle buttons have an on/off state similar to check boxes. A tool button is not a toggle button by default.
+.PP
+See also on and toggle().
+.PP
+Set this property's value with setToggleButton().
+.SH "bool usesBigPixmap"
+This property holds whether this toolbutton uses big pixmaps.
+.PP
+QToolButton automatically connects this property to the relevant signal in the QMainWindow in which it resides. We strongly recommend that you use QMainWindow::setUsesBigPixmaps() instead.
+.PP
+This property's default is TRUE.
+.PP
+\fBWarning:\fR If you set some buttons (in a QMainWindow) to have big pixmaps and others to have small pixmaps, QMainWindow may not get the geometry right.
+.PP
+Set this property's value with setUsesBigPixmap() and get this property's value with usesBigPixmap().
+.SH "bool usesTextLabel"
+This property holds whether the toolbutton displays a text label below the button pixmap.
+.PP
+The default is FALSE.
+.PP
+QToolButton automatically connects this slot to the relevant signal in the QMainWindow in which is resides.
+.PP
+Set this property's value with setUsesTextLabel() and get this property's value with usesTextLabel().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtoolbutton.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtoolbutton.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtooltip.3qt b/doc/man/man3/qtooltip.3qt
new file mode 100644
index 0000000..6542c39
--- /dev/null
+++ b/doc/man/man3/qtooltip.3qt
@@ -0,0 +1,354 @@
+'\" t
+.TH QToolTip 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QToolTip \- Tool tips (balloon help) for any widget or rectangular part of a widget
+.SH SYNOPSIS
+\fC#include <qtooltip.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQToolTip\fR ( QWidget * widget, QToolTipGroup * group = 0 )"
+.br
+.ti -1c
+.BI "QWidget * \fBparentWidget\fR () const"
+.br
+.ti -1c
+.BI "QToolTipGroup * \fBgroup\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * widget, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * widget, const QString & text, QToolTipGroup * group, const QString & longText )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * widget, const QRect & rect, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * widget, const QRect & rect, const QString & text, QToolTipGroup * group, const QString & groupText )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QWidget * widget, const QRect & rect )"
+.br
+.ti -1c
+.BI "QString \fBtextFor\fR ( QWidget * widget, const QPoint & pos = QPoint ( ) )"
+.br
+.ti -1c
+.BI "void \fBhide\fR ()"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "QPalette \fBpalette\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPalette\fR ( const QPalette & palette )"
+.br
+.ti -1c
+.BI "void setEnabled ( bool enable ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool enabled () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetGloballyEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "bool \fBisGloballyEnabled\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetWakeUpDelay\fR ( int i )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBmaybeTip\fR ( const QPoint & p ) = 0"
+.br
+.ti -1c
+.BI "void \fBtip\fR ( const QRect & rect, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBtip\fR ( const QRect & rect, const QString & text, const QString & groupText )"
+.br
+.ti -1c
+.BI "void \fBtip\fR ( const QRect & rect, const QString & text, const QRect & geometry )"
+.br
+.ti -1c
+.BI "void \fBtip\fR ( const QRect & rect, const QString & text, const QString & groupText, const QRect & geometry )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QToolTip class provides tool tips (balloon help) for any widget or rectangular part of a widget.
+.PP
+The tip is a short, single line of text reminding the user of the widget's or rectangle's function. It is drawn immediately below the region in a distinctive black-on-yellow combination.
+.PP
+The tip can be any Rich-Text formatted string.
+.PP
+QToolTipGroup provides a way for tool tips to display another text elsewhere (most often in a status bar).
+.PP
+At any point in time, QToolTip is either dormant or active. In dormant mode the tips are not shown and in active mode they are. The mode is global, not particular to any one widget.
+.PP
+QToolTip switches from dormant to active mode when the user hovers the mouse on a tip-equipped region for a second or so and remains active until the user either clicks a mouse button, presses a key, lets the mouse hover for five seconds or moves the mouse outside \fIall\fR tip-equipped regions for at least a second.
+.PP
+The QToolTip class can be used in three different ways: <ol type=1>
+.IP 1
+Adding a tip to an entire widget.
+.IP 2
+Adding a tip to a fixed rectangle within a widget.
+.IP 3
+Adding a tip to a dynamic rectangle within a widget.
+.PP
+To add a tip to a widget, call the \fIstatic\fR function QToolTip::add() with the widget and tip as arguments:
+.PP
+.nf
+.br
+ QToolTip::add( quitButton, "Leave the application" );
+.br
+.fi
+.PP
+This is the simplest and most common use of QToolTip. The tip will be deleted automatically when \fIquitButton\fR is deleted, but you can remove it yourself, too:
+.PP
+.nf
+.br
+ QToolTip::remove( quitButton );
+.br
+.fi
+.PP
+You can also display another text (typically in a status bar), courtesy of QToolTipGroup. This example assumes that \fIgrp\fR is a \fCQToolTipGroup *\fR and is already connected to the appropriate status bar:
+.PP
+.nf
+.br
+ QToolTip::add( quitButton, "Leave the application", grp,
+.br
+ "Leave the application, prompting to save if necessary" );
+.br
+ QToolTip::add( closeButton, "Close this window", grp,
+.br
+ "Close this window, prompting to save if necessary" );
+.br
+.fi
+.PP
+To add a tip to a fixed rectangle within a widget, call the static function QToolTip::add() with the widget, rectangle and tip as arguments. (See the tooltip/tooltip.cpp example.) Again, you can supply a \fCQToolTipGroup *\fR and another text if you want.
+.PP
+Both of these are one-liners and cover the majority of cases. The third and most general way to use QToolTip requires you to reimplement a pure virtual function to decide whether to pop up a tool tip. The tooltip/tooltip.cpp example demonstrates this too. This mode can be used to implement tips for text that can move as the user scrolls, for example.
+.PP
+To use QToolTip like this, you must subclass QToolTip and reimplement maybeTip(). QToolTip calls maybeTip() when a tip should pop up, and maybeTip() decides whether to show a tip.
+.PP
+Tool tips can be globally disabled using QToolTip::setGloballyEnabled() or disabled in groups with QToolTipGroup::setEnabled().
+.PP
+You can retrieve the text of a tooltip for a given position within a widget using textFor().
+.PP
+The global tooltip font and palette can be set with the static setFont() and setPalette() functions respectively.
+.PP
+See also QStatusBar, QWhatsThis, QToolTipGroup, GUI Design Handbook: Tool Tip, and Help System.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QToolTip::QToolTip ( QWidget * widget, QToolTipGroup * group = 0 )"
+Constructs a tool tip object. This is only necessary if you need tool tips on regions that can move within the widget (most often because the widget's contents can scroll).
+.PP
+\fIwidget\fR is the widget you want to add dynamic tool tips to and \fIgroup\fR (optional) is the tool tip group they should belong to.
+.PP
+\fBWarning:\fR QToolTip is not a subclass of QObject, so the instance of QToolTip is not deleted when \fIwidget\fR is deleted.
+.PP
+\fBWarning:\fR If you delete the tool tip before you have deleted \fIwidget\fR then you need to make sure you call remove() yourself from \fIwidget\fR in your reimplemented QToolTip destructor.
+.PP
+.nf
+.br
+ MyToolTip::~MyToolTip()
+.br
+ {
+.br
+ remove( widget );
+.br
+ }
+.br
+.fi
+.PP
+See also maybeTip().
+.SH "void QToolTip::add ( QWidget * widget, const QString & text )\fC [static]\fR"
+Adds a tool tip to \fIwidget\fR. \fItext\fR is the text to be shown in the tool tip.
+.PP
+This is the most common entry point to the QToolTip class; it is suitable for adding tool tips to buttons, checkboxes, comboboxes and so on.
+.PP
+Examples:
+.)l helpsystem/mainwindow.cpp, qdir/qdir.cpp, scribble/scribble.cpp, and tooltip/tooltip.cpp.
+.SH "void QToolTip::add ( QWidget * widget, const QString & text, QToolTipGroup * group, const QString & longText )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a tool tip to \fIwidget\fR and to tool tip group \fIgroup\fR.
+.PP
+\fItext\fR is the text shown in the tool tip and \fIlongText\fR is the text emitted from \fIgroup\fR.
+.PP
+Normally, \fIlongText\fR is shown in a status bar or similar.
+.SH "void QToolTip::add ( QWidget * widget, const QRect & rect, const QString & text )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a tool tip to a fixed rectangle, \fIrect\fR, within \fIwidget\fR. \fItext\fR is the text shown in the tool tip.
+.SH "void QToolTip::add ( QWidget * widget, const QRect & rect, const QString & text, QToolTipGroup * group, const QString & groupText )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Adds a tool tip to an entire \fIwidget\fR and to tool tip group \fIgroup\fR. The tooltip will disappear when the mouse leaves the \fIrect\fR.
+.PP
+\fItext\fR is the text shown in the tool tip and \fIgroupText\fR is the text emitted from \fIgroup\fR.
+.PP
+Normally, \fIgroupText\fR is shown in a status bar or similar.
+.SH "void QToolTip::clear ()\fC [protected]\fR"
+Immediately removes all tool tips for this tooltip's parent widget.
+.SH "bool QToolTip::enabled ()\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "QFont QToolTip::font ()\fC [static]\fR"
+Returns the font common to all tool tips.
+.PP
+See also setFont().
+.SH "QToolTipGroup * QToolTip::group () const"
+Returns the tool tip group this QToolTip is a member of or 0 if it isn't a member of any group.
+.PP
+The tool tip group is the object responsible for maintaining contact between tool tips and a status bar or something else which can show the longer help text.
+.PP
+See also parentWidget() and QToolTipGroup.
+.SH "void QToolTip::hide ()\fC [static]\fR"
+Hides any tip that is currently being shown.
+.PP
+Normally, there is no need to call this function; QToolTip takes care of showing and hiding the tips as the user moves the mouse.
+.SH "bool QToolTip::isGloballyEnabled ()\fC [static]\fR"
+Returns whether tool tips are enabled globally.
+.PP
+See also setGloballyEnabled().
+.SH "void QToolTip::maybeTip ( const QPoint & p )\fC [pure virtual protected]\fR"
+This pure virtual function is half of the most versatile interface QToolTip offers.
+.PP
+It is called when there is a possibility that a tool tip should be shown and must decide whether there is a tool tip for the point \fIp\fR in the widget that this QToolTip object relates to. If so, maybeTip() must call tip() with the rectangle the tip applies to, the tip's text and optionally the QToolTipGroup details and the geometry in screen coordinates.
+.PP
+\fIp\fR is given in that widget's local coordinates. Most maybeTip() implementations will be of the form:
+.PP
+.nf
+.br
+ if ( <something> ) {
+.br
+ tip( <something>, <something> );
+.br
+ }
+.br
+.fi
+.PP
+The first argument to tip() (a rectangle) must encompass \fIp\fR, i.e. the tip must apply to the current mouse position; otherwise QToolTip's operation is undefined.
+.PP
+Note that the tip will disappear once the mouse moves outside the rectangle you give to tip(), and will not reappear if the mouse moves back in: maybeTip() is called again instead.
+.PP
+See also tip().
+.PP
+Examples:
+.)l helpsystem/tooltip.cpp and tooltip/tooltip.cpp.
+.SH "QPalette QToolTip::palette ()\fC [static]\fR"
+Returns the palette common to all tool tips.
+.PP
+See also setPalette().
+.SH "QWidget * QToolTip::parentWidget () const"
+Returns the widget this QToolTip applies to.
+.PP
+The tool tip is destroyed automatically when the parent widget is destroyed.
+.PP
+See also group().
+.SH "void QToolTip::remove ( QWidget * widget )\fC [static]\fR"
+Removes the tool tip from \fIwidget\fR.
+.PP
+If there is more than one tool tip on \fIwidget\fR, only the one covering the entire widget is removed.
+.SH "void QToolTip::remove ( QWidget * widget, const QRect & rect )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes any tool tip for \fIrect\fR from \fIwidget\fR.
+.PP
+If there is more than one tool tip on \fIwidget\fR, only the one covering rectangle \fIrect\fR is removed.
+.SH "void QToolTip::setEnabled ( bool enable )\fC [static]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QToolTip::setFont ( const QFont & font )\fC [static]\fR"
+Sets the font for all tool tips to \fIfont\fR.
+.PP
+See also font().
+.SH "void QToolTip::setGloballyEnabled ( bool enable )\fC [static]\fR"
+If \fIenable\fR is TRUE sets all tool tips to be enabled (shown when needed); if \fIenable\fR is FALSE sets all tool tips to be disabled (never shown).
+.PP
+By default, tool tips are enabled. Note that this function affects all tool tips in the entire application.
+.PP
+See also QToolTipGroup::enabled.
+.SH "void QToolTip::setPalette ( const QPalette & palette )\fC [static]\fR"
+Sets the palette for all tool tips to \fIpalette\fR.
+.PP
+See also palette().
+.SH "void QToolTip::setWakeUpDelay ( int i )\fC [static]\fR"
+Sets the wakeup delay for all tooltips to \fIi\fR milliseconds.
+.SH "QString QToolTip::textFor ( QWidget * widget, const QPoint & pos = QPoint ( ) )\fC [static]\fR"
+Returns the tool tip text for \fIwidget\fR at position \fIpos\fR, or QString::null if there is no tool tip for the given widget and position.
+.SH "void QToolTip::tip ( const QRect & rect, const QString & text )\fC [protected]\fR"
+Immediately pops up a tip saying \fItext\fR and removes the tip once the cursor moves out of rectangle \fIrect\fR (which is given in the coordinate system of the widget this QToolTip relates to).
+.PP
+The tip will not reappear if the cursor moves back; your maybeTip() must reinstate it each time.
+.SH "void QToolTip::tip ( const QRect & rect, const QString & text, const QString & groupText )\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Immediately pops up a tip saying \fItext\fR and removes that tip once the cursor moves out of rectangle \fIrect\fR (which is given in the coordinate system of the widget this QToolTip relates to). \fIgroupText\fR is the text emitted from the group.
+.PP
+The tip will not reappear if the cursor moves back; your maybeTip() must reinstate it each time.
+.SH "void QToolTip::tip ( const QRect & rect, const QString & text, const QRect & geometry )\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Immediately pops up a tip within the rectangle \fIgeometry\fR, saying \fItext\fR and removes the tip once the cursor moves out of rectangle \fIrect\fR. Both rectangles are given in the coordinate system of the widget this QToolTip relates to.
+.PP
+The tip will not reappear if the cursor moves back; your maybeTip() must reinstate it each time.
+.PP
+If the tip does not fit inside \fIgeometry\fR, the tip expands.
+.SH "void QToolTip::tip ( const QRect & rect, const QString & text, const QString & groupText, const QRect & geometry )\fC [protected]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Immediately pops up a tip within the rectangle \fIgeometry\fR, saying \fItext\fR and removes the tip once the cursor moves out of rectangle \fIrect\fR. \fIgroupText\fR is the text emitted from the group. Both rectangles are given in the coordinate system of the widget this QToolTip relates to.
+.PP
+The tip will not reappear if the cursor moves back; your maybeTip() must reinstate it each time.
+.PP
+If the tip does not fit inside \fIgeometry\fR, the tip expands.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtooltip.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtooltip.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtooltipgroup.3qt b/doc/man/man3/qtooltipgroup.3qt
new file mode 100644
index 0000000..eb7be72
--- /dev/null
+++ b/doc/man/man3/qtooltipgroup.3qt
@@ -0,0 +1,154 @@
+'\" t
+.TH QToolTipGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QToolTipGroup \- Collects tool tips into related groups
+.SH SYNOPSIS
+\fC#include <qtooltip.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQToolTipGroup\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QToolTipGroup\fR ()"
+.br
+.ti -1c
+.BI "bool \fBdelay\fR () const"
+.br
+.ti -1c
+.BI "bool \fBenabled\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBsetDelay\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBsetEnabled\fR ( bool )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBshowTip\fR ( const QString & longText )"
+.br
+.ti -1c
+.BI "void \fBremoveTip\fR ()"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBdelay\fR - whether the display of the group text is delayed"
+.br
+.ti -1c
+.BI "bool \fBenabled\fR - whether tool tips in the group are enabled"
+.br
+.in -1c
+.SH DESCRIPTION
+The QToolTipGroup class collects tool tips into related groups.
+.PP
+Tool tips can display \fItwo\fR texts: one in the tip and (optionally) one that is typically in a status bar. QToolTipGroup provides a way to link tool tips to this status bar.
+.PP
+QToolTipGroup has practically no API; it is only used as an argument to QToolTip's member functions, for example like this:
+.PP
+.nf
+.br
+ QToolTipGroup * grp = new QToolTipGroup( this, "tool tip relay" );
+.br
+ connect( grp, SIGNAL(showTip(const QString&)),
+.br
+ myLabel, SLOT(setText(const QString&)) );
+.br
+ connect( grp, SIGNAL(removeTip()),
+.br
+ myLabel, SLOT(clear()) );
+.br
+ QToolTip::add( giraffeButton, "feed giraffe",
+.br
+ grp, "Give the giraffe a meal" );
+.br
+ QToolTip::add( gorillaButton, "feed gorilla",
+.br
+ grp, "Give the gorilla a meal" );
+.br
+.fi
+.PP
+This example makes the object myLabel (which you must supply) display (one assumes, though you can make myLabel do anything, of course) the strings "Give the giraffe a meal" and "Give the gorilla a meal" while the relevant tool tips are being displayed.
+.PP
+Deleting a tool tip group removes the tool tips in it.
+.PP
+See also Help System.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QToolTipGroup::QToolTipGroup ( QObject * parent, const char * name = 0 )"
+Constructs a tool tip group called \fIname\fR, with parent \fIparent\fR.
+.SH "QToolTipGroup::~QToolTipGroup ()"
+Destroys this tool tip group and all tool tips in it.
+.SH "bool QToolTipGroup::delay () const"
+Returns TRUE if the display of the group text is delayed; otherwise returns FALSE. See the "delay" property for details.
+.SH "bool QToolTipGroup::enabled () const"
+Returns TRUE if tool tips in the group are enabled; otherwise returns FALSE. See the "enabled" property for details.
+.SH "void QToolTipGroup::removeTip ()\fC [signal]\fR"
+This signal is emitted when a tool tip in this group is hidden. See the QToolTipGroup documentation for an example of use.
+.PP
+See also showTip().
+.PP
+Example: helpsystem/mainwindow.cpp.
+.SH "void QToolTipGroup::setDelay ( bool )\fC [slot]\fR"
+Sets whether the display of the group text is delayed. See the "delay" property for details.
+.SH "void QToolTipGroup::setEnabled ( bool )\fC [slot]\fR"
+Sets whether tool tips in the group are enabled. See the "enabled" property for details.
+.SH "void QToolTipGroup::showTip ( const QString & longText )\fC [signal]\fR"
+This signal is emitted when one of the tool tips in the group is displayed. \fIlongText\fR is the extra text for the displayed tool tip.
+.PP
+See also removeTip().
+.PP
+Example: helpsystem/mainwindow.cpp.
+.SS "Property Documentation"
+.SH "bool delay"
+This property holds whether the display of the group text is delayed.
+.PP
+If set to TRUE (the default), the group text is displayed at the same time as the tool tip. Otherwise, the group text is displayed immediately when the cursor enters the widget.
+.PP
+Set this property's value with setDelay() and get this property's value with delay().
+.SH "bool enabled"
+This property holds whether tool tips in the group are enabled.
+.PP
+This property's default is TRUE.
+.PP
+Set this property's value with setEnabled() and get this property's value with enabled().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtooltipgroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtooltipgroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtranslator.3qt b/doc/man/man3/qtranslator.3qt
new file mode 100644
index 0000000..7f3df92
--- /dev/null
+++ b/doc/man/man3/qtranslator.3qt
@@ -0,0 +1,297 @@
+'\" t
+.TH QTranslator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTranslator \-
+.SH SYNOPSIS
+\fC#include <qtranslator.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTranslator\fR ( QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QTranslator\fR ()"
+.br
+.ti -1c
+.BI "QString find ( const char * context, const char * sourceText, const char * comment = 0 ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual QTranslatorMessage \fBfindMessage\fR ( const char * context, const char * sourceText, const char * comment = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const QString & filename, const QString & directory = QString::null, const QString & search_delimiters = QString::null, const QString & suffix = QString::null )"
+.br
+.ti -1c
+.BI "bool \fBload\fR ( const uchar * data, int len )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "enum \fBSaveMode\fR { Everything, Stripped }"
+.br
+.ti -1c
+.BI "bool \fBsave\fR ( const QString & filename, SaveMode mode = Everything )"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( const QTranslatorMessage & message )"
+.br
+.ti -1c
+.BI "void insert ( const char * context, const char * sourceText, const QString & translation ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( const QTranslatorMessage & message )"
+.br
+.ti -1c
+.BI "void remove ( const char * context, const char * sourceText ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBcontains\fR ( const char * context, const char * sourceText, const char * comment = 0 ) const"
+.br
+.ti -1c
+.BI "void \fBsqueeze\fR ( SaveMode mode = Everything )"
+.br
+.ti -1c
+.BI "void \fBunsqueeze\fR ()"
+.br
+.ti -1c
+.BI "QValueList<QTranslatorMessage> \fBmessages\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTranslator class provides internationalization support for text output.
+.PP
+An object of this class contains a set of QTranslatorMessage objects, each of which specifies a translation from a source language to a target language. QTranslator provides functions to look up translations, add new ones, remove them, load and save them, etc.
+.PP
+The most common use of QTranslator is to: load a translator file created with Qt Linguist, install it using QApplication::installTranslator(), and use it via QObject::tr(). For example:
+.PP
+.nf
+.br
+ int main( int argc, char ** argv )
+.br
+ {
+.br
+ QApplication app( argc, argv );
+.br
+.br
+ QTranslator translator( 0 );
+.br
+ translator.load( "french.qm", "." );
+.br
+ app.installTranslator( &translator );
+.br
+.br
+ MyWidget m;
+.br
+ app.setMainWidget( &m );
+.br
+ m.show();
+.br
+.br
+ return app.exec();
+.br
+ }
+.br
+.fi
+Note that the translator must be created \fIbefore\fR the application's main window.
+.PP
+Most applications will never need to do anything else with this class. The other functions provided by this class are useful for applications that work on translator files.
+.PP
+We call a translation a "messsage". For this reason, translation files are sometimes referred to as "message files".
+.PP
+It is possible to lookup a translation using findMessage() (as tr() and QApplication::translate() do) and contains(), to insert a new translation messsage using insert(), and to remove one using remove().
+.PP
+Translation tools often need more information than the bare source text and translation, for example, context information to help the translator. But end-user programs that are using translations usually only need lookup. To cater for these different needs, QTranslator can use stripped translator files that use the minimum of memory and which support little more functionality than findMessage().
+.PP
+Thus, load() may not load enough information to make anything more than findMessage() work. save() has an argument indicating whether to save just this minimum of information or to save everything.
+.PP"
+Everything" means that for each translation item the following information is kept:
+.TP
+The \fItranslated text\fR - the return value from tr().
+.TP
+The input key:
+.TP
+The \fIsource text\fR - usually the argument to tr().
+.TP
+The \fIcontext\fR - usually the class name for the tr() caller.
+.TP
+The \fIcomment\fR - a comment that helps disambiguate different uses of the same text in the same context.
+.PP
+The minimum for each item is just the information necessary for findMessage() to return the right text. This may include the source, context and comment, but usually it is just a hash value and the translated text.
+.PP
+For example, the "Cancel" in a dialog might have "Anuluj" when the program runs in Polish (in this case the source text would be" Cancel"). The context would (normally) be the dialog's class name; there would normally be no comment, and the translated text would be "Anuluj".
+.PP
+But it's not always so simple. The Spanish version of a printer dialog with settings for two-sided printing and binding would probably require both "Activado" and "Activada" as translations for "Enabled". In this case the source text would be "Enabled" in both cases, and the context would be the dialog's class name, but the two items would have disambiguating comments such as" two-sided printing" for one and "binding" for the other. The comment enables the translator to choose the appropriate gender for the Spanish version, and enables Qt to distinguish between translations.
+.PP
+Note that when QTranslator loads a stripped file, most functions do not work. The functions that do work with stripped files are explicitly documented as such.
+.PP
+See also QTranslatorMessage, QApplication::installTranslator(), QApplication::removeTranslator(), QObject::tr(), QApplication::translate(), Environment Classes, and Internationalization with Qt.
+.SS "Member Type Documentation"
+.SH "QTranslator::SaveMode"
+This enum type defines how QTranslator writes translation files. There are two modes:
+.TP
+\fCQTranslator::Everything\fR - files are saved with all available information
+.TP
+\fCQTranslator::Stripped\fR - files are saved with just enough information for end-user applications
+.PP
+Note that when QTranslator loads a stripped file, most functions do not work. The functions that do work with stripped files are explicitly documented as such.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTranslator::QTranslator ( QObject * parent = 0, const char * name = 0 )"
+Constructs an empty message file object that is not connected to any file. The object is called \fIname\fR with parent \fIparent\fR.
+.SH "QTranslator::~QTranslator ()"
+Destroys the object and frees any allocated resources.
+.SH "void QTranslator::clear ()"
+Empties this translator of all contents.
+.PP
+This function works with stripped translator files.
+.SH "bool QTranslator::contains ( const char * context, const char * sourceText, const char * comment = 0 ) const"
+Returns TRUE if this message file contains a message with the key (\fIcontext\fR, \fIsourceText\fR, \fIcomment\fR); otherwise returns FALSE.
+.PP
+This function works with stripped translator files.
+.PP
+(This is is a one-liner that calls findMessage().)
+.SH "QString QTranslator::find ( const char * context, const char * sourceText, const char * comment = 0 ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Please use findMessage() instead.
+.PP
+Returns the translation for the key (\fIcontext\fR, \fIsourceText\fR, \fIcomment\fR) or QString::null if there is none in this translator.
+.SH "QTranslatorMessage QTranslator::findMessage ( const char * context, const char * sourceText, const char * comment = 0 ) const\fC [virtual]\fR"
+Returns the QTranslatorMessage for the key (\fIcontext\fR, \fIsourceText\fR, \fIcomment\fR). If none is found, also tries (\fIcontext\fR, \fIsourceText\fR, "").
+.SH "void QTranslator::insert ( const QTranslatorMessage & message )"
+Inserts \fImessage\fR into this message file.
+.PP
+This function does \fInot\fR work with stripped translator files. It may appear to, but that is not dependable.
+.PP
+See also remove().
+.SH "void QTranslator::insert ( const char * context, const char * sourceText, const QString & translation )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "bool QTranslator::isEmpty () const"
+Returns TRUE if this translator is empty, otherwise returns FALSE. This function works with stripped and unstripped translation files.
+.SH "bool QTranslator::load ( const QString & filename, const QString & directory = QString::null, const QString & search_delimiters = QString::null, const QString & suffix = QString::null )"
+Loads \fIfilename\fR, which may be an absolute file name or relative to \fIdirectory\fR. The previous contents of this translator object is discarded. Returns TRUE if the file is loaded successfully; otherwise returns FALSE.
+.PP
+If the full file name does not exist, other file names are tried in the following order:
+.PP
+<ol type=1>
+.TP
+File name with \fIsuffix\fR appended (".qm" if the \fIsuffix\fR is QString::null).
+.TP
+File name with text after a character in \fIsearch_delimiters\fR stripped ("_." is the default for \fIsearch_delimiters\fR if it is QString::null).
+.TP
+File name stripped and \fIsuffix\fR appended.
+.TP
+File name stripped further, etc.
+.PP
+For example, an application running in the fr_CA locale (French-speaking Canada) might call load("foo.fr_ca"," /opt/foolib"). load() would then try to open the first existing readable file from this list:
+.PP
+<ol type=1>
+.TP
+/opt/foolib/foo.fr_ca
+.TP
+/opt/foolib/foo.fr_ca.qm
+.TP
+/opt/foolib/foo.fr
+.TP
+/opt/foolib/foo.fr.qm
+.TP
+/opt/foolib/foo
+.TP
+/opt/foolib/foo.qm
+.PP
+See also save().
+.PP
+Example: i18n/main.cpp.
+.SH "bool QTranslator::load ( const uchar * data, int len )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads the .qm file data \fIdata\fR of length \fIlen\fR into the translator. Returns TRUE if the data is loaded successfully; otherwise returns FALSE.
+.PP
+The data is not copied. The caller must be able to guarantee that \fIdata\fR will not be deleted or modified.
+.SH "QValueList<QTranslatorMessage> QTranslator::messages () const"
+Returns a list of the messages in the translator. This function is rather slow. Because it is seldom called, it's optimized for simplicity and small size, rather than speed.
+.PP
+If you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QTranslatorMessage> list = myTranslator.messages();
+.br
+ QValueList<QTranslatorMessage>::Iterator it = list.begin();
+.br
+ while ( it != list.end() ) {
+.br
+ process_message( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "void QTranslator::remove ( const QTranslatorMessage & message )"
+Removes \fImessage\fR from this translator.
+.PP
+This function works with stripped translator files.
+.PP
+See also insert().
+.SH "void QTranslator::remove ( const char * context, const char * sourceText )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Removes the translation associated to the key (\fIcontext\fR, \fIsourceText\fR," ") from this translator.
+.SH "bool QTranslator::save ( const QString & filename, SaveMode mode = Everything )"
+Saves this message file to \fIfilename\fR, overwriting the previous contents of \fIfilename\fR. If \fImode\fR is Everything (the default), all the information is preserved. If \fImode\fR is Stripped, any information that is not necessary for findMessage() is stripped away.
+.PP
+See also load().
+.SH "void QTranslator::squeeze ( SaveMode mode = Everything )"
+Converts this message file to the compact format used to store message files on disk.
+.PP
+You should never need to call this directly; save() and other functions call it as necessary. \fImode\fR is for internal use.
+.PP
+See also save() and unsqueeze().
+.SH "void QTranslator::unsqueeze ()"
+Converts this message file into an easily modifiable data structure, less compact than the format used in the files.
+.PP
+You should never need to call this function; it is called by insert() and friends as necessary.
+.PP
+See also squeeze().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtranslator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtranslator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtranslatormessage.3qt b/doc/man/man3/qtranslatormessage.3qt
new file mode 100644
index 0000000..1f265b8
--- /dev/null
+++ b/doc/man/man3/qtranslatormessage.3qt
@@ -0,0 +1,185 @@
+'\" t
+.TH QTranslatorMessage 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTranslatorMessage \- Translator message and its properties
+.SH SYNOPSIS
+\fC#include <qtranslator.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQTranslatorMessage\fR ()"
+.br
+.ti -1c
+.BI "\fBQTranslatorMessage\fR ( const char * context, const char * sourceText, const char * comment, const QString & translation = QString::null )"
+.br
+.ti -1c
+.BI "\fBQTranslatorMessage\fR ( QDataStream & stream )"
+.br
+.ti -1c
+.BI "\fBQTranslatorMessage\fR ( const QTranslatorMessage & m )"
+.br
+.ti -1c
+.BI "QTranslatorMessage & \fBoperator=\fR ( const QTranslatorMessage & m )"
+.br
+.ti -1c
+.BI "uint \fBhash\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBcontext\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBsourceText\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBcomment\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTranslation\fR ( const QString & translation )"
+.br
+.ti -1c
+.BI "QString \fBtranslation\fR () const"
+.br
+.ti -1c
+.BI "enum \fBPrefix\fR { NoPrefix, Hash, HashContext, HashContextSourceText, HashContextSourceTextComment }"
+.br
+.ti -1c
+.BI "void \fBwrite\fR ( QDataStream & stream, bool strip = FALSE, Prefix prefix = HashContextSourceTextComment ) const"
+.br
+.ti -1c
+.BI "Prefix \fBcommonPrefix\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<=\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QTranslatorMessage & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>=\fR ( const QTranslatorMessage & m ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QTranslatorMessage class contains a translator message and its properties.
+.PP
+This class is of no interest to most applications. It is useful for translation tools such as Qt Linguist. It is provided simply to make the API complete and regular.
+.PP
+For a QTranslator object, a lookup key is a triple (\fIcontext\fR, \fIsource text\fR, \fIcomment\fR) that uniquely identifies a message. An extended key is a quadruple (\fIhash\fR, \fIcontext\fR, \fIsource text\fR, \fIcomment\fR), where \fIhash\fR is computed from the source text and the comment. Unless you plan to read and write messages yourself, you need not worry about the hash value.
+.PP
+QTranslatorMessage stores this triple or quadruple and the relevant translation if there is any.
+.PP
+See also QTranslator, Environment Classes, and Internationalization with Qt.
+.SS "Member Type Documentation"
+.SH "QTranslatorMessage::Prefix"
+Let (\fIh\fR, \fIc\fR, \fIs\fR, \fIm\fR) be the extended key. The possible prefixes are
+.TP
+\fCQTranslatorMessage::NoPrefix\fR - no prefix
+.TP
+\fCQTranslatorMessage::Hash\fR - only (\fIh\fR)
+.TP
+\fCQTranslatorMessage::HashContext\fR - only (\fIh\fR, \fIc\fR)
+.TP
+\fCQTranslatorMessage::HashContextSourceText\fR - only (\fIh\fR, \fIc\fR, \fIs\fR)
+.TP
+\fCQTranslatorMessage::HashContextSourceTextComment\fR - the whole extended key, (\fIh\fR, \fIc\fR, \fIs\fR, \fIm\fR)
+.PP
+See also write() and commonPrefix().
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QTranslatorMessage::QTranslatorMessage ()"
+Constructs a translator message with the extended key (0, 0, 0, 0) and QString::null as translation.
+.SH "QTranslatorMessage::QTranslatorMessage ( const char * context, const char * sourceText, const char * comment, const QString & translation = QString::null )"
+Constructs an translator message with the extended key (\fIh\fR, \fIcontext\fR, \fIsourceText\fR, \fIcomment\fR), where \fIh\fR is computed from \fIsourceText\fR and \fIcomment\fR, and possibly with a \fItranslation\fR.
+.SH "QTranslatorMessage::QTranslatorMessage ( QDataStream & stream )"
+Constructs a translator message read from the \fIstream\fR. The resulting message may have any combination of content.
+.PP
+See also QTranslator::save().
+.SH "QTranslatorMessage::QTranslatorMessage ( const QTranslatorMessage & m )"
+Constructs a copy of translator message \fIm\fR.
+.SH "const char * QTranslatorMessage::comment () const"
+Returns the comment for this message (e.g. "File|Save").
+.PP
+\fBWarning:\fR This may return 0 if the QTranslator object is stripped (compressed).
+.SH "Prefix QTranslatorMessage::commonPrefix ( const QTranslatorMessage & m ) const"
+Returns the widest lookup prefix that is common to this translator message and to message \fIm\fR.
+.PP
+For example, if the extended key is for this message is (71," PrintDialog", "Yes", "Print?") and that for \fIm\fR is (71," PrintDialog", "No", "Print?"), this function returns HashContext.
+.PP
+See also write().
+.SH "const char * QTranslatorMessage::context () const"
+Returns the context for this message (e.g. "MyDialog").
+.PP
+\fBWarning:\fR This may return 0 if the QTranslator object is stripped (compressed).
+.SH "uint QTranslatorMessage::hash () const"
+Returns the hash value used internally to represent the lookup key. This value is zero only if this translator message was constructed from a stream containing invalid data.
+.PP
+The hashing function is unspecified, but it will remain unchanged in future versions of Qt.
+.SH "bool QTranslatorMessage::operator!= ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is different from that of \fIm\fR; otherwise returns FALSE.
+.SH "bool QTranslatorMessage::operator< ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is lexicographically before than that of \fIm\fR; otherwise returns FALSE.
+.SH "bool QTranslatorMessage::operator<= ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is lexicographically before that of \fIm\fR or if they are equal; otherwise returns FALSE.
+.SH "QTranslatorMessage & QTranslatorMessage::operator= ( const QTranslatorMessage & m )"
+Assigns message \fIm\fR to this translator message and returns a reference to this translator message.
+.SH "bool QTranslatorMessage::operator== ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is equal to that of \fIm\fR; otherwise returns FALSE.
+.SH "bool QTranslatorMessage::operator> ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is lexicographically after that of \fIm\fR; otherwise returns FALSE.
+.SH "bool QTranslatorMessage::operator>= ( const QTranslatorMessage & m ) const"
+Returns TRUE if the extended key of this object is lexicographically after that of \fIm\fR or if they are equal; otherwise returns FALSE.
+.SH "void QTranslatorMessage::setTranslation ( const QString & translation )"
+Sets the translation of the source text to \fItranslation\fR.
+.PP
+See also translation().
+.SH "const char * QTranslatorMessage::sourceText () const"
+Returns the source text of this message (e.g. "&Save").
+.PP
+\fBWarning:\fR This may return 0 if the QTranslator object is stripped (compressed).
+.SH "QString QTranslatorMessage::translation () const"
+Returns the translation of the source text (e.g., "&Sauvegarder").
+.PP
+See also setTranslation().
+.SH "void QTranslatorMessage::write ( QDataStream & stream, bool strip = FALSE, Prefix prefix = HashContextSourceTextComment ) const"
+Writes this translator message to the \fIstream\fR. If \fIstrip\fR is FALSE (the default), all the information in the message is written. If \fIstrip\fR is TRUE, only the part of the extended key specified by \fIprefix\fR is written with the translation (HashContextSourceTextComment by default).
+.PP
+See also commonPrefix().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtranslatormessage.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtranslatormessage.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qtsciicodec.3qt b/doc/man/man3/qtsciicodec.3qt
new file mode 100644
index 0000000..ae450ae
--- /dev/null
+++ b/doc/man/man3/qtsciicodec.3qt
@@ -0,0 +1,62 @@
+'\" t
+.TH QTsciiCodec 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QTsciiCodec \- Conversion to and from the Tamil TSCII encoding
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qtsciicodec.h>\fR
+.PP
+Inherits QTextCodec.
+.PP
+.SH DESCRIPTION
+The QTsciiCodec class provides conversion to and from the Tamil TSCII encoding.
+.PP
+TSCII, formally the Tamil Standard Code Information Interchange specification, is a commonly used charset for Tamils. The official page for the standard is at http://www.tamil.net/tscii/
+.PP
+This codec uses the mapping table found at http://www.geocities.com/Athens/5180/tsciiset.html. Tamil uses composed Unicode which might cause some problems if you are using Unicode fonts instead of TSCII fonts.
+.PP
+Most of the code here was written by Hans Petter Bieker and is included in Qt with the author's permission and the grateful thanks of the Trolltech team. Here is the copyright statement for the code as it was at the point of contribution. Trolltech's subsequent modifications are covered by the usual copyright for Qt.
+.PP
+Copyright (C) 2000 Hans Petter Bieker. All rights reserved.
+.PP
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: <ol type=1>
+.IP 1
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+.IP 2
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+.PP
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.PP
+See also Internationalization with Qt.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qtsciicodec.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qtsciicodec.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/quridrag.3qt b/doc/man/man3/quridrag.3qt
new file mode 100644
index 0000000..a130bd6
--- /dev/null
+++ b/doc/man/man3/quridrag.3qt
@@ -0,0 +1,168 @@
+'\" t
+.TH QUriDrag 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QUriDrag \- Drag object for a list of URI references
+.SH SYNOPSIS
+\fC#include <qdragobject.h>\fR
+.PP
+Inherits QStoredDrag.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQUriDrag\fR ( QStrList uris, QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQUriDrag\fR ( QWidget * dragSource = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QUriDrag\fR ()"
+.br
+.ti -1c
+.BI "void setFilenames ( const QStringList & fnames ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBsetFileNames\fR ( const QStringList & fnames )"
+.br
+.ti -1c
+.BI "void \fBsetUnicodeUris\fR ( const QStringList & uuris )"
+.br
+.ti -1c
+.BI "virtual void \fBsetUris\fR ( QStrList uris )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QString \fBuriToLocalFile\fR ( const char * uri )"
+.br
+.ti -1c
+.BI "QCString \fBlocalFileToUri\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "QString \fBuriToUnicodeUri\fR ( const char * uri )"
+.br
+.ti -1c
+.BI "QCString \fBunicodeUriToUri\fR ( const QString & uuri )"
+.br
+.ti -1c
+.BI "bool \fBcanDecode\fR ( const QMimeSource * e )"
+.br
+.ti -1c
+.BI "bool \fBdecode\fR ( const QMimeSource * e, QStrList & l )"
+.br
+.ti -1c
+.BI "bool \fBdecodeToUnicodeUris\fR ( const QMimeSource * e, QStringList & l )"
+.br
+.ti -1c
+.BI "bool \fBdecodeLocalFiles\fR ( const QMimeSource * e, QStringList & l )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QUriDrag class provides a drag object for a list of URI references.
+.PP
+URIs are a useful way to refer to files that may be distributed across multiple machines. A URI will often refer to a file on a machine local to both the drag source and the drop target, so the URI can be equivalent to passing a file name but is more extensible.
+.PP
+Use URIs in Unicode form so that the user can comfortably edit and view them. For use in HTTP or other protocols, use the correctly escaped ASCII form.
+.PP
+You can convert a list of file names to file URIs using setFileNames(), or into human-readble form with setUnicodeUris().
+.PP
+Static functions are provided to convert between filenames and URIs, e.g. uriToLocalFile() and localFileToUri(), and to and from human-readable form, e.g. uriToUnicodeUri(), unicodeUriToUri(). You can also decode URIs from a mimesource into a list with decodeLocalFiles() and decodeToUnicodeUris().
+.PP
+See also Drag And Drop Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QUriDrag::QUriDrag ( QStrList uris, QWidget * dragSource = 0, const char * name = 0 )"
+Constructs an object to drag the list of URIs in \fIuris\fR. The \fIdragSource\fR and \fIname\fR arguments are passed on to QStoredDrag. Note that URIs are always in escaped UTF8 encoding.
+.SH "QUriDrag::QUriDrag ( QWidget * dragSource = 0, const char * name = 0 )"
+Constructs an object to drag. You must call setUris() before you start the drag(). Passes \fIdragSource\fR and \fIname\fR to the QStoredDrag constructor.
+.SH "QUriDrag::~QUriDrag ()"
+Destroys the object.
+.SH "bool QUriDrag::canDecode ( const QMimeSource * e )\fC [static]\fR"
+Returns TRUE if decode() would be able to decode \fIe\fR; otherwise returns FALSE.
+.SH "bool QUriDrag::decode ( const QMimeSource * e, QStrList & l )\fC [static]\fR"
+Decodes URIs from \fIe\fR, placing the result in \fIl\fR (which is first cleared).
+.PP
+Returns TRUE if \fIe\fR contained a valid list of URIs; otherwise returns FALSE.
+.PP
+Example: dirview/dirview.cpp.
+.SH "bool QUriDrag::decodeLocalFiles ( const QMimeSource * e, QStringList & l )\fC [static]\fR"
+Decodes URIs from the mime source event \fIe\fR, converts them to local files if they refer to local files, and places them in \fIl\fR (which is first cleared).
+.PP
+Returns TRUE if \fIcontained\fR a valid list of URIs; otherwise returns FALSE. The list will be empty if no URIs were local files.
+.PP
+Example: fileiconview/qfileiconview.cpp.
+.SH "bool QUriDrag::decodeToUnicodeUris ( const QMimeSource * e, QStringList & l )\fC [static]\fR"
+Decodes URIs from the mime source event \fIe\fR, converts them to Unicode URIs (only useful for displaying to humans), placing them in \fIl\fR (which is first cleared).
+.PP
+Returns TRUE if \fIcontained\fR a valid list of URIs; otherwise returns FALSE.
+.SH "QCString QUriDrag::localFileToUri ( const QString & filename )\fC [static]\fR"
+Returns the URI equivalent to the absolute local file \fIfilename\fR.
+.PP
+See also uriToLocalFile().
+.SH "void QUriDrag::setFileNames ( const QStringList & fnames )"
+Sets the URIs to be the local-file URIs equivalent to \fIfnames\fR.
+.PP
+See also localFileToUri() and setUris().
+.PP
+Example: dirview/dirview.cpp.
+.SH "void QUriDrag::setFilenames ( const QStringList & fnames )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use setFileNames() instead (notice the N).
+.SH "void QUriDrag::setUnicodeUris ( const QStringList & uuris )"
+Sets the URIs in \fIuuris\fR to be the Unicode URIs (only useful for displaying to humans).
+.PP
+See also localFileToUri() and setUris().
+.SH "void QUriDrag::setUris ( QStrList uris )\fC [virtual]\fR"
+Changes the list of \fIuris\fR to be dragged.
+.PP
+Note that URIs are always in escaped UTF8 encoding.
+.SH "QCString QUriDrag::unicodeUriToUri ( const QString & uuri )\fC [static]\fR"
+Returns the URI equivalent of the Unicode URI given in \fIuuri\fR (only useful for displaying to humans).
+.PP
+See also uriToLocalFile().
+.SH "QString QUriDrag::uriToLocalFile ( const char * uri )\fC [static]\fR"
+Returns the name of a local file equivalent to \fIuri\fR or a null string if \fIuri\fR is not a local file.
+.PP
+Note that URIs are always in escaped UTF8 encoding.
+.PP
+See also localFileToUri().
+.PP
+Example: dirview/dirview.cpp.
+.SH "QString QUriDrag::uriToUnicodeUri ( const char * uri )\fC [static]\fR"
+Returns the Unicode URI (only useful for displaying to humans) equivalent of \fIuri\fR.
+.PP
+Note that URIs are always in escaped UTF8 encoding.
+.PP
+See also localFileToUri().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/quridrag.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (quridrag.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qurl.3qt b/doc/man/man3/qurl.3qt
new file mode 100644
index 0000000..28a2979
--- /dev/null
+++ b/doc/man/man3/qurl.3qt
@@ -0,0 +1,496 @@
+'\" t
+.TH QUrl 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QUrl \- URL parser and simplifies working with URLs
+.SH SYNOPSIS
+\fC#include <qurl.h>\fR
+.PP
+Inherited by QUrlOperator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQUrl\fR ()"
+.br
+.ti -1c
+.BI "\fBQUrl\fR ( const QString & url )"
+.br
+.ti -1c
+.BI "\fBQUrl\fR ( const QUrl & url )"
+.br
+.ti -1c
+.BI "\fBQUrl\fR ( const QUrl & url, const QString & relUrl, bool checkSlash = FALSE )"
+.br
+.ti -1c
+.BI "virtual \fB~QUrl\fR ()"
+.br
+.ti -1c
+.BI "QString \fBprotocol\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetProtocol\fR ( const QString & protocol )"
+.br
+.ti -1c
+.BI "QString \fBuser\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetUser\fR ( const QString & user )"
+.br
+.ti -1c
+.BI "bool \fBhasUser\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpassword\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPassword\fR ( const QString & pass )"
+.br
+.ti -1c
+.BI "bool \fBhasPassword\fR () const"
+.br
+.ti -1c
+.BI "QString \fBhost\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetHost\fR ( const QString & host )"
+.br
+.ti -1c
+.BI "bool \fBhasHost\fR () const"
+.br
+.ti -1c
+.BI "int \fBport\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPort\fR ( int port )"
+.br
+.ti -1c
+.BI "bool \fBhasPort\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpath\fR ( bool correct = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPath\fR ( const QString & path )"
+.br
+.ti -1c
+.BI "bool \fBhasPath\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetEncodedPathAndQuery\fR ( const QString & pathAndQuery )"
+.br
+.ti -1c
+.BI "QString \fBencodedPathAndQuery\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetQuery\fR ( const QString & txt )"
+.br
+.ti -1c
+.BI "QString \fBquery\fR () const"
+.br
+.ti -1c
+.BI "QString \fBref\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetRef\fR ( const QString & txt )"
+.br
+.ti -1c
+.BI "bool \fBhasRef\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisLocalFile\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBaddPath\fR ( const QString & pa )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFileName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "QString \fBfileName\fR () const"
+.br
+.ti -1c
+.BI "QString \fBdirPath\fR () const"
+.br
+.ti -1c
+.BI "QUrl & \fBoperator=\fR ( const QUrl & url )"
+.br
+.ti -1c
+.BI "QUrl & \fBoperator=\fR ( const QString & url )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QUrl & url ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QString & url ) const"
+.br
+.ti -1c
+.BI "\fBoperator QString\fR () const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoString\fR ( bool encodedPath = FALSE, bool forcePrependProtocol = TRUE ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBcdUp\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBdecode\fR ( QString & url )"
+.br
+.ti -1c
+.BI "void \fBencode\fR ( QString & url )"
+.br
+.ti -1c
+.BI "bool \fBisRelativeUrl\fR ( const QString & url )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBparse\fR ( const QString & url )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QUrl class provides a URL parser and simplifies working with URLs.
+.PP
+The QUrl class is provided for simple work with URLs. It can parse, decode, encode, etc.
+.PP
+QUrl works with the decoded path and encoded query in turn.
+.PP
+Example:
+.PP
+\fChttp://www.trolltech.com:80/cgi-bin/test%20me.pl?cmd=Hello%20you\fR
+.PP
+<center>.nf
+.TS
+l - l. Function Returns protocol() "http" host() "www.trolltech.com" port() 80 path() "/cgi-bin/testme.pl" fileName() "testme.pl" query()
+.TE
+.fi
+</center>
+.PP
+Example:
+.PP
+\fChttp://doc.trolltech.com/qdockarea.html#lines\fR
+.PP
+<center>.nf
+.TS
+l - l. Function Returns protocol() "http" host() "doc.trolltech.com" fileName() "qdockarea.html" ref()
+.TE
+.fi
+</center>
+.PP
+The individual parts of a URL can be set with setProtocol(), setHost(), setPort(), setPath(), setFileName(), setRef() and setQuery(). A URL could contain, for example, an ftp address which requires a user name and password; these can be set with setUser() and setPassword().
+.PP
+Because path is always encoded internally you must not use "%00" in the path, although this is okay (but not recommended) for the query.
+.PP
+QUrl is normally used like this:
+.PP
+.nf
+.br
+ QUrl url( "http://www.trolltech.com" );
+.br
+ // or
+.br
+ QUrl url( "file:/home/myself/Mail", "Inbox" );
+.br
+.fi
+.PP
+You can then access and manipulate the various parts of the URL.
+.PP
+To make it easy to work with QUrls and QStrings, QUrl implements the necessary cast and assignment operators so you can do following:
+.PP
+.nf
+.br
+ QUrl url( "http://www.trolltech.com" );
+.br
+ QString s = url;
+.br
+ // or
+.br
+ QString s( "http://www.trolltech.com" );
+.br
+ QUrl url( s );
+.br
+.fi
+.PP
+Use the static functions, encode() and decode() to encode or decode a URL in a string. (They operate on the string in-place.) The isRelativeUrl() static function returns TRUE if the given string is a relative URL.
+.PP
+If you want to use a URL to work on a hierarchical structure (e.g. a local or remote filesystem), you might want to use the subclass QUrlOperator.
+.PP
+See also QUrlOperator, Input/Output and Networking, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QUrl::QUrl ()"
+Constructs an empty URL that is invalid.
+.SH "QUrl::QUrl ( const QString & url )"
+Constructs a URL by parsing the string \fIurl\fR.
+.PP
+If you pass a string like "/home/qt", the "file" protocol is assumed.
+.SH "QUrl::QUrl ( const QUrl & url )"
+Copy constructor. Copies the data of \fIurl\fR.
+.SH "QUrl::QUrl ( const QUrl & url, const QString & relUrl, bool checkSlash = FALSE )"
+Constructs an URL taking \fIurl\fR as the base (context) and \fIrelUrl\fR as a relative URL to \fIurl\fR. If \fIrelUrl\fR is not relative, \fIrelUrl\fR is taken as the new URL.
+.PP
+For example, the path of
+.PP
+.nf
+.br
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "qt-2.1.0.tar.gz" );
+.br
+.fi
+will be "/qt/srource/qt-2.1.0.tar.gz".
+.PP
+On the other hand,
+.PP
+.nf
+.br
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "/usr/local" );
+.br
+.fi
+will result in a new URL, "ftp://ftp.trolltech.com/usr/local", because "/usr/local" isn't relative.
+.PP
+Similarly,
+.PP
+.nf
+.br
+ QUrl url( "ftp://ftp.trolltech.com/qt/source", "file:/usr/local" );
+.br
+.fi
+will result in a new URL, with "/usr/local" as the path and "file" as the protocol.
+.PP
+Normally it is expected that the path of \fIurl\fR points to a directory, even if the path has no slash at the end. But if you want the constructor to handle the last part of the path as a file name if there is no slash at the end, and to let it be replaced by the file name of \fIrelUrl\fR (if it contains one), set \fIcheckSlash\fR to TRUE.
+.SH "QUrl::~QUrl ()\fC [virtual]\fR"
+Destructor.
+.SH "void QUrl::addPath ( const QString & pa )\fC [virtual]\fR"
+Adds the path \fIpa\fR to the path of the URL.
+.PP
+See also setPath() and hasPath().
+.SH "bool QUrl::cdUp ()\fC [virtual]\fR"
+Changes the directory to one directory up.
+.PP
+See also setPath().
+.SH "void QUrl::decode ( QString & url )\fC [static]\fR"
+Decodes the \fIurl\fR in-place into UTF-8. For example
+.PP
+.nf
+.br
+ QString url = "http%3A//www%20trolltech%20com"
+.br
+ QUrl::decode( url );
+.br
+ // url is now "http://www.trolltech.com"
+.br
+.fi
+.PP
+See also encode().
+.SH "QString QUrl::dirPath () const"
+Returns the directory path of the URL. This is the part of the path of the URL without the fileName(). See the documentation of fileName() for a discussion of what is handled as file name and what is handled as directory path.
+.PP
+See also setPath() and hasPath().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrl::encode ( QString & url )\fC [static]\fR"
+Encodes the \fIurl\fR in-place into UTF-8. For example
+.PP
+.nf
+.br
+ QString url = http://www.trolltech.com
+.br
+ QUrl::encode( url );
+.br
+ // url is now "http%3A//www%20trolltech%20com"
+.br
+.fi
+.PP
+See also decode().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH "QString QUrl::encodedPathAndQuery ()"
+Returns the encoded path and query.
+.PP
+See also decode().
+.SH "QString QUrl::fileName () const"
+Returns the file name of the URL. If the path of the URL doesn't have a slash at the end, the part between the last slash and the end of the path string is considered to be the file name. If the path has a slash at the end, an empty string is returned here.
+.PP
+See also setFileName().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "bool QUrl::hasHost () const"
+Returns TRUE if the URL contains a hostname; otherwise returns FALSE.
+.PP
+See also setHost().
+.SH "bool QUrl::hasPassword () const"
+Returns TRUE if the URL contains a password; otherwise returns FALSE.
+.PP
+\fBWarning:\fR Passwords passed in URLs are normally \fIinsecure\fR; this is due to the mechanism, not because of Qt.
+.PP
+See also setPassword() and setUser().
+.SH "bool QUrl::hasPath () const"
+Returns TRUE if the URL contains a path; otherwise returns FALSE.
+.PP
+See also path() and setPath().
+.SH "bool QUrl::hasPort () const"
+Returns TRUE if the URL contains a port; otherwise returns FALSE.
+.PP
+See also setPort().
+.SH "bool QUrl::hasRef () const"
+Returns TRUE if the URL has a reference; otherwise returns FALSE.
+.PP
+See also setRef().
+.SH "bool QUrl::hasUser () const"
+Returns TRUE if the URL contains a username; otherwise returns FALSE.
+.PP
+See also setUser() and setPassword().
+.SH "QString QUrl::host () const"
+Returns the hostname of the URL.
+.PP
+See also setHost() and hasHost().
+.PP
+Example: network/archivesearch/archivedialog.ui.h.
+.SH "bool QUrl::isLocalFile () const"
+Returns TRUE if the URL is a local file; otherwise returns FALSE.
+.PP
+Example: qdir/qdir.cpp.
+.SH "bool QUrl::isRelativeUrl ( const QString & url )\fC [static]\fR"
+Returns TRUE if \fIurl\fR is relative; otherwise returns FALSE.
+.SH "bool QUrl::isValid () const"
+Returns TRUE if the URL is valid; otherwise returns FALSE. A URL is invalid if it cannot be parsed, for example.
+.SH "QUrl::operator QString () const"
+Composes a string version of the URL and returns it.
+.PP
+See also QUrl::toString().
+.SH "QUrl & QUrl::operator= ( const QUrl & url )"
+Assigns the data of \fIurl\fR to this class.
+.SH "QUrl & QUrl::operator= ( const QString & url )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Parses \fIurl\fR and assigns the resulting data to this class.
+.PP
+If you pass a string like "/home/qt" the "file" protocol will be assumed.
+.SH "bool QUrl::operator== ( const QUrl & url ) const"
+Compares this URL with \fIurl\fR and returns TRUE if they are equal; otherwise returns FALSE.
+.SH "bool QUrl::operator== ( const QString & url ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Compares this URL with \fIurl\fR. \fIurl\fR is parsed first. Returns TRUE if \fIurl\fR is equal to this url; otherwise returns FALSE.
+.SH "bool QUrl::parse ( const QString & url )\fC [virtual protected]\fR"
+Parses the \fIurl\fR.
+.SH "QString QUrl::password () const"
+Returns the password of the URL.
+.PP
+\fBWarning:\fR Passwords passed in URLs are normally \fIinsecure\fR; this is due to the mechanism, not because of Qt.
+.PP
+See also setPassword() and setUser().
+.SH "QString QUrl::path ( bool correct = TRUE ) const"
+Returns the path of the URL. If \fIcorrect\fR is TRUE, the path is cleaned (deals with too many or too few slashes, cleans things like "/../..", etc). Otherwise path() returns exactly the path that was parsed or set.
+.PP
+See also setPath() and hasPath().
+.PP
+Example: qdir/qdir.cpp.
+.SH "int QUrl::port () const"
+Returns the port of the URL or -1 if no port has been set.
+.PP
+See also setPort().
+.SH "QString QUrl::protocol () const"
+Returns the protocol of the URL. Typically, "file", "http", "ftp", etc.
+.PP
+See also setProtocol().
+.SH "QString QUrl::query () const"
+Returns the (encoded) query of the URL.
+.PP
+See also setQuery() and decode().
+.SH "QString QUrl::ref () const"
+Returns the (encoded) reference of the URL.
+.PP
+See also setRef(), hasRef(), and decode().
+.SH "void QUrl::reset ()\fC [virtual protected]\fR"
+Resets all parts of the URL to their default values and invalidates it.
+.SH "void QUrl::setEncodedPathAndQuery ( const QString & pathAndQuery )\fC [virtual]\fR"
+Parses \fIpathAndQuery\fR for a path and query and sets those values. The whole string must be encoded.
+.PP
+See also encode().
+.SH "void QUrl::setFileName ( const QString & name )\fC [virtual]\fR"
+Sets the file name of the URL to \fIname\fR. If this URL contains a fileName(), the original file name is replaced by \fIname\fR.
+.PP
+See the documentation of fileName() for a more detailed discussion of what is handled as file name and what is handled as a directory path.
+.PP
+See also fileName().
+.SH "void QUrl::setHost ( const QString & host )\fC [virtual]\fR"
+Sets the hostname of the URL to \fIhost\fR.
+.PP
+See also host() and hasHost().
+.SH "void QUrl::setPassword ( const QString & pass )\fC [virtual]\fR"
+Sets the password of the URL to \fIpass\fR.
+.PP
+\fBWarning:\fR Passwords passed in URLs are normally \fIinsecure\fR; this is due to the mechanism, not because of Qt.
+.PP
+See also password() and setUser().
+.SH "void QUrl::setPath ( const QString & path )\fC [virtual]\fR"
+Sets the path of the URL to \fIpath\fR.
+.PP
+See also path() and hasPath().
+.SH "void QUrl::setPort ( int port )\fC [virtual]\fR"
+Sets the port of the URL to \fIport\fR.
+.PP
+See also port().
+.SH "void QUrl::setProtocol ( const QString & protocol )\fC [virtual]\fR"
+Sets the protocol of the URL to \fIprotocol\fR. Typically, "file"," http", "ftp", etc.
+.PP
+See also protocol().
+.SH "void QUrl::setQuery ( const QString & txt )\fC [virtual]\fR"
+Sets the query of the URL to \fItxt\fR. \fItxt\fR must be encoded.
+.PP
+See also query() and encode().
+.SH "void QUrl::setRef ( const QString & txt )\fC [virtual]\fR"
+Sets the reference of the URL to \fItxt\fR. \fItxt\fR must be encoded.
+.PP
+See also ref(), hasRef(), and encode().
+.SH "void QUrl::setUser ( const QString & user )\fC [virtual]\fR"
+Sets the username of the URL to \fIuser\fR.
+.PP
+See also user() and setPassword().
+.SH "QString QUrl::toString ( bool encodedPath = FALSE, bool forcePrependProtocol = TRUE ) const\fC [virtual]\fR"
+Composes a string version of the URL and returns it. If \fIencodedPath\fR is TRUE the path in the returned string is encoded. If \fIforcePrependProtocol\fR is TRUE and \fIencodedPath\fR looks like a local filename, the "file:/" protocol is also prepended.
+.PP
+See also encode() and decode().
+.SH "QString QUrl::user () const"
+Returns the username of the URL.
+.PP
+See also setUser() and setPassword().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qurl.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qurl.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qurlinfo.3qt b/doc/man/man3/qurlinfo.3qt
new file mode 100644
index 0000000..56346cf
--- /dev/null
+++ b/doc/man/man3/qurlinfo.3qt
@@ -0,0 +1,366 @@
+'\" t
+.TH QUrlInfo 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QUrlInfo \- Stores information about URLs
+.SH SYNOPSIS
+\fC#include <qurlinfo.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBPermissionSpec\fR { ReadOwner = 00400, WriteOwner = 00200, ExeOwner = 00100, ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }"
+.br
+.ti -1c
+.BI "\fBQUrlInfo\fR ()"
+.br
+.ti -1c
+.BI "\fBQUrlInfo\fR ( const QUrlOperator & path, const QString & file )"
+.br
+.ti -1c
+.BI "\fBQUrlInfo\fR ( const QUrlInfo & ui )"
+.br
+.ti -1c
+.BI "\fBQUrlInfo\fR ( const QString & name, int permissions, const QString & owner, const QString & group, uint size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable )"
+.br
+.ti -1c
+.BI "\fBQUrlInfo\fR ( const QUrl & url, int permissions, const QString & owner, const QString & group, uint size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable )"
+.br
+.ti -1c
+.BI "QUrlInfo & \fBoperator=\fR ( const QUrlInfo & ui )"
+.br
+.ti -1c
+.BI "virtual \fB~QUrlInfo\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetName\fR ( const QString & name )"
+.br
+.ti -1c
+.BI "virtual void \fBsetDir\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFile\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSymLink\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetOwner\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGroup\fR ( const QString & s )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSize\fR ( uint size )"
+.br
+.ti -1c
+.BI "virtual void \fBsetWritable\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetReadable\fR ( bool b )"
+.br
+.ti -1c
+.BI "virtual void \fBsetPermissions\fR ( int p )"
+.br
+.ti -1c
+.BI "virtual void \fBsetLastModified\fR ( const QDateTime & dt )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "QString \fBname\fR () const"
+.br
+.ti -1c
+.BI "int \fBpermissions\fR () const"
+.br
+.ti -1c
+.BI "QString \fBowner\fR () const"
+.br
+.ti -1c
+.BI "QString \fBgroup\fR () const"
+.br
+.ti -1c
+.BI "uint \fBsize\fR () const"
+.br
+.ti -1c
+.BI "QDateTime \fBlastModified\fR () const"
+.br
+.ti -1c
+.BI "QDateTime \fBlastRead\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDir\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisFile\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisSymLink\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisWritable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisReadable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisExecutable\fR () const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QUrlInfo & i ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "bool \fBgreaterThan\fR ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )"
+.br
+.ti -1c
+.BI "bool \fBlessThan\fR ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )"
+.br
+.ti -1c
+.BI "bool \fBequal\fR ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QUrlInfo class stores information about URLs.
+.PP
+This class is just a container for storing information about URLs, which is why all information must be passed in the constructor.
+.PP
+Unless you're reimplementing a network protocol you're unlikely to create QUrlInfo objects yourself, but you may receive QUrlInfo objects from functions, e.g. QUrlOperator::info().
+.PP
+The information that can be retrieved includes name(), permissions(), owner(), group(), size(), lastModified(), lastRead(), isDir(), isFile(), isSymLink(), isWritable(), isReadable() and isExecutable().
+.PP
+See also Input/Output and Networking and Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "QUrlInfo::PermissionSpec"
+This enum is used by the permissions() function to report the permissions of a file.
+.TP
+\fCQUrlInfo::ReadOwner\fR - The file is readable by the owner of the file.
+.TP
+\fCQUrlInfo::WriteOwner\fR - The file is writable by the owner of the file.
+.TP
+\fCQUrlInfo::ExeOwner\fR - The file is executable by the owner of the file.
+.TP
+\fCQUrlInfo::ReadGroup\fR - The file is readable by the group.
+.TP
+\fCQUrlInfo::WriteGroup\fR - The file is writable by the group.
+.TP
+\fCQUrlInfo::ExeGroup\fR - The file is executable by the group.
+.TP
+\fCQUrlInfo::ReadOther\fR - The file is readable by anyone.
+.TP
+\fCQUrlInfo::WriteOther\fR - The file is writable by anyone.
+.TP
+\fCQUrlInfo::ExeOther\fR - The file is executable by anyone.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QUrlInfo::QUrlInfo ()"
+Constructs an invalid QUrlInfo object with default values.
+.PP
+See also isValid().
+.SH "QUrlInfo::QUrlInfo ( const QUrlOperator & path, const QString & file )"
+Constructs a QUrlInfo object with information about the file \fIfile\fR in the \fIpath\fR. It tries to find the information about the \fIfile\fR in the QUrlOperator \fIpath\fR.
+.PP
+If the information is not found, this constructor creates an invalid QUrlInfo, i.e. isValid() returns FALSE. You should always check if the URL info is valid before relying on the return values of any getter functions.
+.PP
+If \fIfile\fR is empty, it defaults to the QUrlOperator \fIpath\fR, i.e. to the directory.
+.PP
+See also isValid() and QUrlOperator::info().
+.SH "QUrlInfo::QUrlInfo ( const QUrlInfo & ui )"
+Copy constructor, copies \fIui\fR to this URL info object.
+.SH "QUrlInfo::QUrlInfo ( const QString & name, int permissions, const QString & owner, const QString & group, uint size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable )"
+Constructs a QUrlInfo object by specifying all the URL's information.
+.PP
+The information that is passed is the \fIname\fR, file \fIpermissions\fR, \fIowner\fR and \fIgroup\fR and the file's \fIsize\fR. Also passed is the \fIlastModified\fR date/time and the \fIlastRead\fR date/time. Flags are also passed, specifically, \fIisDir\fR, \fIisFile\fR, \fIisSymLink\fR, \fIisWritable\fR, \fIisReadable\fR and \fIisExecutable\fR.
+.SH "QUrlInfo::QUrlInfo ( const QUrl & url, int permissions, const QString & owner, const QString & group, uint size, const QDateTime & lastModified, const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, bool isWritable, bool isReadable, bool isExecutable )"
+Constructs a QUrlInfo object by specifying all the URL's information.
+.PP
+The information that is passed is the \fIurl\fR, file \fIpermissions\fR, \fIowner\fR and \fIgroup\fR and the file's \fIsize\fR. Also passed is the \fIlastModified\fR date/time and the \fIlastRead\fR date/time. Flags are also passed, specifically, \fIisDir\fR, \fIisFile\fR, \fIisSymLink\fR, \fIisWritable\fR, \fIisReadable\fR and \fIisExecutable\fR.
+.SH "QUrlInfo::~QUrlInfo ()\fC [virtual]\fR"
+Destroys the URL info object.
+.PP
+The QUrlOperator object to which this URL referred (if any) is not affected.
+.SH "bool QUrlInfo::equal ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )\fC [static]\fR"
+Returns TRUE if \fIi1\fR equals to \fIi2\fR; otherwise returns FALSE. The objects are compared by the value, which is specified by \fIsortBy\fR. This must be one of QDir::Name, QDir::Time or QDir::Size.
+.SH "bool QUrlInfo::greaterThan ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )\fC [static]\fR"
+Returns TRUE if \fIi1\fR is greater than \fIi2\fR; otherwise returns FALSE. The objects are compared by the value, which is specified by \fIsortBy\fR. This must be one of QDir::Name, QDir::Time or QDir::Size.
+.SH "QString QUrlInfo::group () const"
+Returns the group of the URL.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::isDir () const"
+Returns TRUE if the URL is a directory; otherwise returns FALSE.
+.PP
+See also isValid().
+.PP
+Examples:
+.)l network/ftpclient/ftpmainwindow.ui.h and network/networkprotocol/nntp.cpp.
+.SH "bool QUrlInfo::isExecutable () const"
+Returns TRUE if the URL is executable; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::isFile () const"
+Returns TRUE if the URL is a file; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::isReadable () const"
+Returns TRUE if the URL is readable; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::isSymLink () const"
+Returns TRUE if the URL is a symbolic link; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::isValid () const"
+Returns TRUE if the URL info is valid; otherwise returns FALSE. Valid means that the QUrlInfo contains real information. For example, a call to QUrlOperator::info() might return a an invalid QUrlInfo, if no information about the requested entry is available.
+.PP
+You should always check if the URL info is valid before relying on the values.
+.SH "bool QUrlInfo::isWritable () const"
+Returns TRUE if the URL is writable; otherwise returns FALSE.
+.PP
+See also isValid().
+.SH "QDateTime QUrlInfo::lastModified () const"
+Returns the last modification date of the URL.
+.PP
+See also isValid().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "QDateTime QUrlInfo::lastRead () const"
+Returns the date when the URL was last read.
+.PP
+See also isValid().
+.SH "bool QUrlInfo::lessThan ( const QUrlInfo & i1, const QUrlInfo & i2, int sortBy )\fC [static]\fR"
+Returns TRUE if \fIi1\fR is less than \fIi2\fR; otherwise returns FALSE. The objects are compared by the value, which is specified by \fIsortBy\fR. This must be one of QDir::Name, QDir::Time or QDir::Size.
+.SH "QString QUrlInfo::name () const"
+Returns the file name of the URL.
+.PP
+See also isValid().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+.SH "QUrlInfo & QUrlInfo::operator= ( const QUrlInfo & ui )"
+Assigns the values of \fIui\fR to this QUrlInfo object.
+.SH "bool QUrlInfo::operator== ( const QUrlInfo & i ) const"
+Compares this QUrlInfo with \fIi\fR and returns TRUE if they are equal; otherwise returns FALSE.
+.SH "QString QUrlInfo::owner () const"
+Returns the owner of the URL.
+.PP
+See also isValid().
+.SH "int QUrlInfo::permissions () const"
+Returns the permissions of the URL. You can use the PermissionSpec flags to test for certain permissions.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setDir ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE then the URL is set to be a directory; if \\b is FALSE then the URL is set not to be a directory (which normally means it is a file). (Note that a URL can refer to both a file and a directory even though most file systems do not support this.)
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrlInfo::setFile ( bool b )\fC [virtual]\fR"
+If \fIb\fR is TRUE then the URL is set to be a file; if \\b is FALSE then the URL is set not to be a file (which normally means it is a directory). (Note that a URL can refer to both a file and a directory even though most file systems do not support this.)
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrlInfo::setGroup ( const QString & s )\fC [virtual]\fR"
+Specifies that the owning group of the URL is called \fIs\fR.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setLastModified ( const QDateTime & dt )\fC [virtual]\fR"
+Specifies that the object the URL refers to was last modified at \fIdt\fR.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setName ( const QString & name )\fC [virtual]\fR"
+Sets the name of the URL to \fIname\fR. The name is the full text, for example, "http://doc.trolltech.com/qurlinfo.html".
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrlInfo::setOwner ( const QString & s )\fC [virtual]\fR"
+Specifies that the owner of the URL is called \fIs\fR.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setPermissions ( int p )\fC [virtual]\fR"
+Specifies that the URL has access permisions, \fIp\fR.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setReadable ( bool b )\fC [virtual]\fR"
+Specifies that the URL is readable if \fIb\fR is TRUE and not readable if \fIb\fR is FALSE.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrlInfo::setSize ( uint size )\fC [virtual]\fR"
+Specifies the \fIsize\fR of the URL.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.SH "void QUrlInfo::setSymLink ( bool b )\fC [virtual]\fR"
+Specifies that the URL refers to a symbolic link if \fIb\fR is TRUE and that it does not if \fIb\fR is FALSE.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "void QUrlInfo::setWritable ( bool b )\fC [virtual]\fR"
+Specifies that the URL is writable if \fIb\fR is TRUE and not writable if \fIb\fR is FALSE.
+.PP
+If you call this function for an invalid URL info, this function turns it into a valid one.
+.PP
+See also isValid().
+.PP
+Example: network/networkprotocol/nntp.cpp.
+.SH "uint QUrlInfo::size () const"
+Returns the size of the URL.
+.PP
+See also isValid().
+.PP
+Example: network/ftpclient/ftpmainwindow.ui.h.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qurlinfo.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qurlinfo.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qurloperator.3qt b/doc/man/man3/qurloperator.3qt
new file mode 100644
index 0000000..5911200
--- /dev/null
+++ b/doc/man/man3/qurloperator.3qt
@@ -0,0 +1,379 @@
+'\" t
+.TH QUrlOperator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QUrlOperator \- Common operations on URLs
+.SH SYNOPSIS
+\fC#include <qurloperator.h>\fR
+.PP
+Inherits QObject and QUrl.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQUrlOperator\fR ()"
+.br
+.ti -1c
+.BI "\fBQUrlOperator\fR ( const QString & url )"
+.br
+.ti -1c
+.BI "\fBQUrlOperator\fR ( const QUrlOperator & url )"
+.br
+.ti -1c
+.BI "\fBQUrlOperator\fR ( const QUrlOperator & url, const QString & relUrl, bool checkSlash = FALSE )"
+.br
+.ti -1c
+.BI "virtual \fB~QUrlOperator\fR ()"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBlistChildren\fR ()"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBmkdir\fR ( const QString & dirname )"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBremove\fR ( const QString & filename )"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBrename\fR ( const QString & oldname, const QString & newname )"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBget\fR ( const QString & location = QString::null )"
+.br
+.ti -1c
+.BI "virtual const QNetworkOperation * \fBput\fR ( const QByteArray & data, const QString & location = QString::null )"
+.br
+.ti -1c
+.BI "virtual QPtrList<QNetworkOperation> \fBcopy\fR ( const QString & from, const QString & to, bool move = FALSE, bool toPath = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBcopy\fR ( const QStringList & files, const QString & dest, bool move = FALSE )"
+.br
+.ti -1c
+.BI "virtual bool \fBisDir\fR ( bool * ok = 0 )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNameFilter\fR ( const QString & nameFilter )"
+.br
+.ti -1c
+.BI "QString \fBnameFilter\fR () const"
+.br
+.ti -1c
+.BI "virtual QUrlInfo \fBinfo\fR ( const QString & entry ) const"
+.br
+.ti -1c
+.BI "virtual void \fBstop\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBnewChildren\fR ( const QValueList<QUrlInfo> & i, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBfinished\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBstart\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBcreatedDirectory\fR ( const QUrlInfo & i, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBremoved\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBitemChanged\fR ( QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBdata\fR ( const QByteArray & data, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBdataTransferProgress\fR ( int bytesDone, int bytesTotal, QNetworkOperation * op )"
+.br
+.ti -1c
+.BI "void \fBstartedNextCopy\fR ( const QPtrList<QNetworkOperation> & lst )"
+.br
+.ti -1c
+.BI "void \fBconnectionStateChanged\fR ( int state, const QString & data )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBclearEntries\fR ()"
+.br
+.ti -1c
+.BI "void \fBgetNetworkProtocol\fR ()"
+.br
+.ti -1c
+.BI "void \fBdeleteNetworkProtocol\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "void \fBqInitNetworkProtocols\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QUrlOperator class provides common operations on URLs.
+.PP
+This class operates on hierarchical structures (such as filesystems) using URLs. Its API facilitates all the common operations: <center>.nf
+.TS
+l - l. Operation Function List files listChildren() Make a directory mkdir() Remove a file remove() Rename a file rename() Get a file get() Put a file put() Copy a file
+.TE
+.fi
+</center>
+.PP
+You can obtain additional information about the URL with isDir() and info(). If a directory is to be traversed using listChildren(), a name filter can be set with setNameFilter().
+.PP
+A QUrlOperator can be used like this, for example to download a file (and assuming that the FTP protocol is registered):
+.PP
+.nf
+.br
+ QUrlOperator *op = new QUrlOperator();
+.br
+ op->copy( QString("ftp://ftp.trolltech.com/qt/source/qt-2.1.0.tar.gz"),
+.br
+ "file:/tmp" );
+.br
+.fi
+.PP
+If you want to be notified about success/failure, progress, etc., you can connect to QUrlOperator's signals, e.g. to start(), newChildren(), createdDirectory(), removed(), data(), dataTransferProgress(), startedNextCopy(), connectionStateChanged(), finished(), etc. A network operation can be stopped with stop().
+.PP
+The class uses the functionality of registered network protocols to perform these operations. Depending of the protocol of the URL, it uses an appropriate network protocol class for the operations. Each of the operation functions of QUrlOperator creates a QNetworkOperation object that describes the operation and puts it into the operation queue for the network protocol used. If no suitable protocol could be found (because no implementation of the necessary network protocol is registered), the URL operator emits errors. Not every protocol supports every operation, but error handling deals with this problem.
+.PP
+To register the available network protocols, use the qInitNetworkProtocols() function. The protocols currently supported are:
+.TP
+FTP,
+.TP
+HTTP,
+.TP
+local file system.
+.PP
+For more information about the Qt Network Architecture see the Qt Network Documentation.
+.PP
+See also QNetworkProtocol, QNetworkOperation, Input/Output and Networking, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QUrlOperator::QUrlOperator ()"
+Constructs a QUrlOperator with an empty (i.e. invalid) URL.
+.SH "QUrlOperator::QUrlOperator ( const QString & url )"
+Constructs a QUrlOperator using \fIurl\fR and parses this string.
+.PP
+If you pass strings like "/home/qt" the "file" protocol is assumed.
+.SH "QUrlOperator::QUrlOperator ( const QUrlOperator & url )"
+Constructs a copy of \fIurl\fR.
+.SH "QUrlOperator::QUrlOperator ( const QUrlOperator & url, const QString & relUrl, bool checkSlash = FALSE )"
+Constructs a QUrlOperator. The URL on which this QUrlOperator operates is constructed out of the arguments \fIurl\fR, \fIrelUrl\fR and \fIcheckSlash\fR: see the corresponding QUrl constructor for an explanation of these arguments.
+.SH "QUrlOperator::~QUrlOperator ()\fC [virtual]\fR"
+Destructor.
+.SH "void QUrlOperator::clearEntries ()\fC [virtual protected]\fR"
+Clears the cache of children.
+.SH "void QUrlOperator::connectionStateChanged ( int state, const QString & data )\fC [signal]\fR"
+This signal is emitted whenever the URL operator's connection state changes. \fIstate\fR describes the new state, which is a QNetworkProtocol::ConnectionState value.
+.PP
+\fIdata\fR is a string that describes the change of the connection. This can be used to display a message to the user.
+.SH "QPtrList<QNetworkOperation> QUrlOperator::copy ( const QString & from, const QString & to, bool move = FALSE, bool toPath = TRUE )\fC [virtual]\fR"
+Copies the file \fIfrom\fR to \fIto\fR. If \fImove\fR is TRUE, the file is moved (copied and removed). \fIfrom\fR must point to a file and \fIto\fR must point to a directory (into which \fIfrom\fR is copied) unless \fItoPath\fR is set to FALSE. If \fItoPath\fR is set to FALSE then the \fIto\fR variable is assumed to be the absolute file path (destination file path + file name). The copying is done using the get() and put() operations. If you want to be notified about the progress of the operation, connect to the dataTransferProgress() signal. Bear in mind that the get() and put() operations emit this signal through the QUrlOperator. The number of transferred bytes and the total bytes that you receive as arguments in this signal do not relate to the the whole copy operation; they relate first to the get() and then to the put() operation. Always check what type of operation the signal comes from; this is given in the signal's last argument.
+.PP
+At the end, finished() (with success or failure) is emitted, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+Because a move or copy operation consists of multiple operations (get(), put() and maybe remove()), this function doesn't return a single QNetworkOperation, but rather a list of them. They are in the order: get(), put() and (if applicable) remove().
+.PP
+See also get() and put().
+.SH "void QUrlOperator::copy ( const QStringList & files, const QString & dest, bool move = FALSE )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Copies the \fIfiles\fR to the directory \fIdest\fR. If \fImove\fR is TRUE the files are moved, not copied. \fIdest\fR must point to a directory.
+.PP
+This function calls copy() for each entry in \fIfiles\fR in turn. You don't get a result from this function; each time a new copy begins, startedNextCopy() is emitted, with a list of QNetworkOperations that describe the new copy operation.
+.SH "void QUrlOperator::createdDirectory ( const QUrlInfo & i, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when mkdir() succeeds and the directory has been created. \fIi\fR holds the information about the new directory.
+.PP
+\fIop\fR is a pointer to the operation object, which contains all the information about the operation, including the state. \fCop->arg(0)\fR holds the new directory's name.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "void QUrlOperator::data ( const QByteArray & data, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when new \fIdata\fR has been received after calling get() or put(). \fIop\fR is a pointer to the operation object which contains all the information about the operation, including the state. \fCop->arg(0)\fR holds the name of the file whose data is retrieved and op->rawArg(1) holds the (raw) data.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "void QUrlOperator::dataTransferProgress ( int bytesDone, int bytesTotal, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted during data transfer (using put() or get()). \fIbytesDone\fR specifies how many bytes of \fIbytesTotal\fR have been transferred. More information about the operation is stored in \fIop\fR, a pointer to the network operation that is processed. \fIbytesTotal\fR may be -1, which means that the total number of bytes is not known.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "void QUrlOperator::deleteNetworkProtocol ()\fC [protected]\fR"
+Deletes the currently used network protocol.
+.SH "void QUrlOperator::finished ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when an operation of some sort finishes, whether with success or failure. \fIop\fR is a pointer to the operation object, which contains all the information, including the state, of the operation which has been finished. Check the state and error code of the operation object to see whether or not the operation was successful.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "const QNetworkOperation * QUrlOperator::get ( const QString & location = QString::null )\fC [virtual]\fR"
+Tells the network protocol to get data from \fIlocation\fR or, if this is QString::null, to get data from the location to which this URL points (see QUrl::fileName() and QUrl::encodedPathAndQuery()). What happens then depends on the network protocol. The data() signal is emitted when data comes in. Because it's unlikely that all data will come in at once, it is common for multiple data() signals to be emitted. The dataTransferProgress() signal is emitted while processing the operation. At the end, finished() (with success or failure) is emitted, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+If \fIlocation\fR is QString::null, the path of this QUrlOperator should point to a file when you use this operation. If \fIlocation\fR is not empty, it can be a relative URL (a child of the path to which the QUrlOperator points) or an absolute URL.
+.PP
+For example, to get a web page you might do something like this:
+.PP
+.nf
+.br
+ QUrlOperator op( "http://www.whatever.org/cgi-bin/search.pl?cmd=Hello" );
+.br
+ op.get();
+.br
+.fi
+.PP
+For most other operations, the path of the QUrlOperator must point to a directory. If you want to download a file you could do the following:
+.PP
+.nf
+.br
+ QUrlOperator op( "ftp://ftp.whatever.org/pub" );
+.br
+ // do some other stuff like op.listChildren() or op.mkdir( "new_dir" )
+.br
+ op.get( "a_file.txt" );
+.br
+.fi
+.PP
+This will get the data of ftp://ftp.whatever.org/pub/a_file.txt.
+.PP
+\fINever\fR do anything like this:
+.PP
+.nf
+.br
+ QUrlOperator op( "http://www.whatever.org/cgi-bin" );
+.br
+ op.get( "search.pl?cmd=Hello" ); // WRONG!
+.br
+.fi
+.PP
+If \fIlocation\fR is not empty and relative it must not contain any queries or references, just the name of a child. So if you need to specify a query or reference, do it as shown in the first example or specify the full URL (such as http://www.whatever.org/cgi-bin/search.pl?cmd=Hello) as \fIlocation\fR.
+.PP
+See also copy().
+.SH "void QUrlOperator::getNetworkProtocol ()\fC [protected]\fR"
+Finds a network protocol for the URL and deletes the old network protocol.
+.SH "QUrlInfo QUrlOperator::info ( const QString & entry ) const\fC [virtual]\fR"
+Returns the URL information for the child \fIentry\fR, or returns an empty QUrlInfo object if there is no information available about \fIentry\fR. Information about \fIentry\fR is only available after a successfully finished listChildren() operation.
+.SH "bool QUrlOperator::isDir ( bool * ok = 0 )\fC [virtual]\fR"
+Returns TRUE if the URL is a directory; otherwise returns FALSE. This may not always work correctly, if the protocol of the URL is something other than file (local filesystem). If you pass a bool pointer as the \fIok\fR argument, \fI*ok\fR is set to TRUE if the result of this function is known to be correct, and to FALSE otherwise.
+.SH "void QUrlOperator::itemChanged ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted whenever a file which is a child of the URL has been changed, for example by successfully calling rename(). \fIop\fR is a pointer to the operation object which contains all the information about the operation, including the state. \fCop->arg(0)\fR holds the original file name and \fCop->arg(1)\fR holds the new file name (if it was changed).
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "const QNetworkOperation * QUrlOperator::listChildren ()\fC [virtual]\fR"
+Starts listing the children of this URL (e.g. the files in the directory). The start() signal is emitted before the first entry is listed and finished() is emitted after the last one. The newChildren() signal is emitted for each list of new entries. If an error occurs, the signal finished() is emitted, so be sure to check the state of the network operation pointer.
+.PP
+Because the operation may not be executed immediately, a pointer to the QNetworkOperation object created by this function is returned. This object contains all the data about the operation and is used to refer to this operation later (e.g. in the signals that are emitted by the QUrlOperator). The return value can also be 0 if the operation object couldn't be created.
+.PP
+The path of this QUrlOperator must to point to a directory (because the children of this directory will be listed), not to a file.
+.SH "const QNetworkOperation * QUrlOperator::mkdir ( const QString & dirname )\fC [virtual]\fR"
+Tries to create a directory (child) with the name \fIdirname\fR. If it is successful, a newChildren() signal with the new child is emitted, and the createdDirectory() signal with the information about the new child is also emitted. The finished() signal (with success or failure) is emitted after the operation has been processed, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+Because the operation will not be executed immediately, a pointer to the QNetworkOperation object created by this function is returned. This object contains all the data about the operation and is used to refer to this operation later (e.g. in the signals that are emitted by the QUrlOperator). The return value can also be 0 if the operation object couldn't be created.
+.PP
+The path of this QUrlOperator must to point to a directory (not a file) because the new directory will be created in this path.
+.SH "QString QUrlOperator::nameFilter () const"
+Returns the name filter of the URL.
+.PP
+See also QUrlOperator::setNameFilter() and QDir::nameFilter().
+.SH "void QUrlOperator::newChildren ( const QValueList<QUrlInfo> & i, QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted after listChildren() was called and new children (i.e. files) have been read from a list of files. \fIi\fR holds the information about the new files. \fIop\fR is a pointer to the operation object which contains all the information about the operation, including the state.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "const QNetworkOperation * QUrlOperator::put ( const QByteArray & data, const QString & location = QString::null )\fC [virtual]\fR"
+This function tells the network protocol to put \fIdata\fR in \fIlocation\fR. If \fIlocation\fR is empty (QString::null), it puts the \fIdata\fR in the location to which the URL points. What happens depends on the network protocol. Depending on the network protocol, some data might come back after putting data, in which case the data() signal is emitted. The dataTransferProgress() signal is emitted during processing of the operation. At the end, finished() (with success or failure) is emitted, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+If \fIlocation\fR is QString::null, the path of this QUrlOperator should point to a file when you use this operation. If \fIlocation\fR is not empty, it can be a relative (a child of the path to which the QUrlOperator points) or an absolute URL.
+.PP
+For putting some data to a file you can do the following:
+.PP
+.nf
+.br
+ QUrlOperator op( "ftp://ftp.whatever.com/home/me/filename.dat" );
+.br
+ op.put( data );
+.br
+.fi
+.PP
+For most other operations, the path of the QUrlOperator must point to a directory. If you want to upload data to a file you could do the following:
+.PP
+.nf
+.br
+ QUrlOperator op( "ftp://ftp.whatever.com/home/me" );
+.br
+ // do some other stuff like op.listChildren() or op.mkdir( "new_dir" )
+.br
+ op.put( data, "filename.dat" );
+.br
+.fi
+.PP
+This will upload the data to ftp://ftp.whatever.com/home/me/filename.dat.
+.PP
+See also copy().
+.SH "const QNetworkOperation * QUrlOperator::remove ( const QString & filename )\fC [virtual]\fR"
+Tries to remove the file (child) \fIfilename\fR. If it succeeds the removed() signal is emitted. finished() (with success or failure) is also emitted after the operation has been processed, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+Because the operation will not be executed immediately, a pointer to the QNetworkOperation object created by this function is returned. This object contains all the data about the operation and is used to refer to this operation later (e.g. in the signals that are emitted by the QUrlOperator). The return value can also be 0 if the operation object couldn't be created.
+.PP
+The path of this QUrlOperator must point to a directory; because if \fIfilename\fR is relative, it will try to remove it in this directory.
+.SH "void QUrlOperator::removed ( QNetworkOperation * op )\fC [signal]\fR"
+This signal is emitted when remove() has been succesful and the file has been removed.
+.PP
+\fIop\fR is a pointer to the operation object which contains all the information about the operation, including the state. \fCop->arg(0)\fR holds the name of the file that was removed.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "const QNetworkOperation * QUrlOperator::rename ( const QString & oldname, const QString & newname )\fC [virtual]\fR"
+Tries to rename the file (child) called \fIoldname\fR to \fInewname\fR. If it succeeds, the itemChanged() signal is emitted. finished() (with success or failure) is also emitted after the operation has been processed, so check the state of the network operation object to see whether or not the operation was successful.
+.PP
+Because the operation may not be executed immediately, a pointer to the QNetworkOperation object created by this function is returned. This object contains all the data about the operation and is used to refer to this operation later (e.g. in the signals that are emitted by the QUrlOperator). The return value can also be 0 if the operation object couldn't be created.
+.PP
+This path of this QUrlOperator must to point to a directory because \fIoldname\fR and \fInewname\fR are handled relative to this directory.
+.SH "void QUrlOperator::setNameFilter ( const QString & nameFilter )\fC [virtual]\fR"
+Sets the name filter of the URL to \fInameFilter\fR.
+.PP
+See also QDir::setNameFilter().
+.SH "void QUrlOperator::start ( QNetworkOperation * op )\fC [signal]\fR"
+Some operations (such as listChildren()) emit this signal when they start processing the operation. \fIop\fR is a pointer to the operation object which contains all the information about the operation, including the state.
+.PP
+See also QNetworkOperation and QNetworkProtocol.
+.SH "void QUrlOperator::startedNextCopy ( const QPtrList<QNetworkOperation> & lst )\fC [signal]\fR"
+This signal is emitted if copy() starts a new copy operation. \fIlst\fR contains all QNetworkOperations related to this copy operation.
+.PP
+See also copy().
+.SH "void QUrlOperator::stop ()\fC [virtual]\fR"
+Stops the current network operation and removes all this QUrlOperator's waiting network operations.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "void qInitNetworkProtocols ()"
+This function registers the network protocols for FTP and HTTP. You must call this function before you use QUrlOperator for these protocols.
+.PP
+This function is declared in qnetwork.h.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qurloperator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qurloperator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/quuid.3qt b/doc/man/man3/quuid.3qt
new file mode 100644
index 0000000..4ee41e9
--- /dev/null
+++ b/doc/man/man3/quuid.3qt
@@ -0,0 +1,203 @@
+'\" t
+.TH QUuid 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QUuid \- Defines a Universally Unique Identifier (UUID)
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <quuid.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBVariant\fR { VarUnknown = -1, NCS = 0, DCE = 2, Microsoft = 6, Reserved = 7 }"
+.br
+.ti -1c
+.BI "enum \fBVersion\fR { VerUnknown = -1, Time = 1, EmbeddedPOSIX = 2, Name = 3, Random = 4 }"
+.br
+.ti -1c
+.BI "\fBQUuid\fR ()"
+.br
+.ti -1c
+.BI "\fBQUuid\fR ( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 )"
+.br
+.ti -1c
+.BI "\fBQUuid\fR ( const QUuid & orig )"
+.br
+.ti -1c
+.BI "\fBQUuid\fR ( const QString & text )"
+.br
+.ti -1c
+.BI "QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "\fBoperator QString\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "QUuid & \fBoperator=\fR ( const QUuid & uuid )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QUuid & other ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QUuid & other ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator<\fR ( const QUuid & other ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator>\fR ( const QUuid & other ) const"
+.br
+.ti -1c
+.BI "QUuid::Variant \fBvariant\fR () const"
+.br
+.ti -1c
+.BI "QUuid::Version \fBversion\fR () const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QUuid \fBcreateUuid\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QUuid & id )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QUuid & id )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QUuid class defines a Universally Unique Identifier (UUID).
+.PP
+For objects or declarations that must be uniquely identified, UUIDs (also known as GUIDs) are widely used in order to assign a fixed and easy to compare value to the object or declaration. The 128-bit value of a UUID is generated by an algorithm that guarantees that the value is unique.
+.PP
+In Qt, UUIDs are wrapped by the QUuid struct which provides convenience functions for handling UUIDs. Most platforms provide a tool to generate new UUIDs, for example, uuidgen and guidgen.
+.PP
+UUIDs generated by QUuid, are based on the Random version of the DCE (Distributed Computing Environment) standard.
+.PP
+UUIDs can be constructed from numeric values or from strings, or using the static createUuid() function. They can be converted to a string with toString(). UUIDs have a variant() and a version(), and null UUIDs return TRUE from isNull().
+.SS "Member Type Documentation"
+.SH "QUuid::Variant"
+This enum defines the variant of the UUID, which is the scheme which defines the layout of the 128-bits value.
+.TP
+\fCQUuid::VarUnknown\fR - Variant is unknown
+.TP
+\fCQUuid::NCS\fR - Reserved for NCS (Network Computing System) backward compatibility
+.TP
+\fCQUuid::DCE\fR - Distributed Computing Environment, the scheme used by QUuid
+.TP
+\fCQUuid::Microsoft\fR - Reserved for Microsoft backward compatibility (GUID)
+.TP
+\fCQUuid::Reserved\fR - Reserved for future definition
+.SH "QUuid::Version"
+This enum defines the version of the UUID.
+.TP
+\fCQUuid::VerUnknown\fR - Version is unknown
+.TP
+\fCQUuid::Time\fR - Time-based, by using timestamp, clock sequence, and MAC network card address (if available) for the node sections
+.TP
+\fCQUuid::EmbeddedPOSIX\fR - DCE Security version, with embedded POSIX UUIDs
+.TP
+\fCQUuid::Name\fR - Name-based, by using values from a name for all sections
+.TP
+\fCQUuid::Random\fR - Random-based, by using random numbers for all sections
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QUuid::QUuid ()"
+Creates the null UUID {00000000-0000-0000-0000-000000000000}.
+.SH "QUuid::QUuid ( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 )"
+Creates a UUID with the value specified by the parameters, \fIl\fR, \fIw1\fR, \fIw2\fR, \fIb1\fR, \fIb2\fR, \fIb3\fR, \fIb4\fR, \fIb5\fR, \fIb6\fR, \fIb7\fR, \fIb8\fR.
+.PP
+Example:
+.PP
+.nf
+.br
+ // {67C8770B-44F1-410A-AB9A-F9B5446F13EE}
+.br
+ QUuid IID_MyInterface( 0x67c8770b, 0x44f1, 0x410a, 0xab, 0x9a, 0xf9, 0xb5, 0x44, 0x6f, 0x13, 0xee )
+.br
+.fi
+.SH "QUuid::QUuid ( const QUuid & orig )"
+Creates a copy of the QUuid \fIorig\fR.
+.SH "QUuid::QUuid ( const QString & text )"
+Creates a QUuid object from the string \fItext\fR. The function can only convert a string in the format {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} (where 'H' stands for a hex digit). If the conversion fails a null UUID is created.
+.SH "QUuid QUuid::createUuid ()\fC [static]\fR"
+Returns a new UUID of DCE variant, and Random type. The UUIDs generated are based on the platform specific pseudo-random generator, which is usually not a cryptographic-quality random number generator. Therefore, a UUID is not guaranteed to be unique cross application instances.
+.PP
+On Windows, the new UUID is extremely likely to be unique on the same or any other system, networked or not.
+.PP
+See also variant() and version().
+.SH "bool QUuid::isNull () const"
+Returns TRUE if this is the null UUID {00000000-0000-0000-0000-000000000000}; otherwise returns FALSE.
+.SH "QUuid::operator QString () const"
+Returns the string representation of the uuid.
+.PP
+See also toString().
+.SH "bool QUuid::operator!= ( const QUuid & other ) const"
+Returns TRUE if this QUuid and the \fIother\fR QUuid are different; otherwise returns FALSE.
+.SH "bool QUuid::operator< ( const QUuid & other ) const"
+Returns TRUE if this QUuid is of the same variant, and lexicographically before the \fIother\fR QUuid; otherwise returns FALSE.
+.PP
+See also variant().
+.SH "QUuid & QUuid::operator= ( const QUuid & uuid )"
+Assigns the value of \fIuuid\fR to this QUuid object.
+.SH "bool QUuid::operator== ( const QUuid & other ) const"
+Returns TRUE if this QUuid and the \fIother\fR QUuid are identical; otherwise returns FALSE.
+.SH "bool QUuid::operator> ( const QUuid & other ) const"
+Returns TRUE if this QUuid is of the same variant, and lexicographically after the \fIother\fR QUuid; otherwise returns FALSE.
+.PP
+See also variant().
+.SH "QString QUuid::toString () const"
+QString QUuid::toString() const
+.PP
+Returns the string representation of the uuid.
+.SH "QUuid::Variant QUuid::variant () const"
+Returns the variant of the UUID. The null UUID is considered to be of an unknown variant.
+.PP
+See also version().
+.SH "QUuid::Version QUuid::version () const"
+Returns the version of the UUID, if the UUID is of the DCE variant; otherwise returns VerUnknown.
+.PP
+See also variant().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QUuid & id )"
+Writes the uuid \fIid\fR to the datastream \fIs\fR.
+.SH "QDataStream & operator>> ( QDataStream & s, QUuid & id )"
+Reads uuid from from the stream \fIs\fR into \fIid\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/quuid.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (quuid.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvalidator.3qt b/doc/man/man3/qvalidator.3qt
new file mode 100644
index 0000000..65e4e5d
--- /dev/null
+++ b/doc/man/man3/qvalidator.3qt
@@ -0,0 +1,112 @@
+'\" t
+.TH QValidator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValidator \- Validation of input text
+.SH SYNOPSIS
+\fC#include <qvalidator.h>\fR
+.PP
+Inherits QObject.
+.PP
+Inherited by QIntValidator, QDoubleValidator, and QRegExpValidator.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQValidator\fR ( QObject * parent, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QValidator\fR ()"
+.br
+.ti -1c
+.BI "enum \fBState\fR { Invalid, Intermediate, Valid = Intermediate, Acceptable }"
+.br
+.ti -1c
+.BI "virtual State \fBvalidate\fR ( QString & input, int & pos ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBfixup\fR ( QString & input ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValidator class provides validation of input text.
+.PP
+The class itself is abstract. Two subclasses, QIntValidator and QDoubleValidator, provide basic numeric-range checking, and QRegExpValidator provides general checking using a custom regular expression.
+.PP
+If the built-in validators aren't sufficient, you can subclass QValidator. The class has two virtual functions: validate() and fixup().
+.PP
+validate() must be implemented by every subclass. It returns Invalid, Intermediate or Acceptable depending on whether its argument is valid (for the subclass's definition of valid).
+.PP
+These three states require some explanation. An Invalid string is \fIclearly\fR invalid. Intermediate is less obvious: the concept of validity is slippery when the string is incomplete (still being edited). QValidator defines Intermediate as the property of a string that is neither clearly invalid nor acceptable as a final result. Acceptable means that the string is acceptable as a final result. One might say that any string that is a plausible intermediate state during entry of an Acceptable string is Intermediate.
+.PP
+Here are some examples:
+.IP
+.TP
+For a line edit that accepts integers from 0 to 999 inclusive, 42 and 123 are Acceptable, the empty string and 1114 are Intermediate and asdf is Invalid.
+.IP
+.TP
+For an editable combobox that accepts URLs, any well-formed URL is Acceptable, "http://www.trolltech.com/," is Intermediate (it might be a cut and paste operation that accidentally took in a comma at the end), the empty string is Intermediate (the user might select and delete all of the text in preparation for entering a new URL), and "http:///./" is Invalid.
+.IP
+.TP
+For a spin box that accepts lengths, "11cm" and "1in" are Acceptable, "11" and the empty string are Intermediate and" http://www.trolltech.com" and "hour" are Invalid.
+.IP
+.PP
+fixup() is provided for validators that can repair some user errors. The default implementation does nothing. QLineEdit, for example, will call fixup() if the user presses Enter (or Return) and the content is not currently valid. This allows the fixup() function the opportunity of performing some magic to make an Invalid string Acceptable.
+.PP
+QValidator is typically used with QLineEdit, QSpinBox and QComboBox.
+.PP
+See also Miscellaneous Classes.
+.SS "Member Type Documentation"
+.SH "QValidator::State"
+This enum type defines the states in which a validated string can exist.
+.TP
+\fCQValidator::Invalid\fR - the string is \fIclearly\fR invalid.
+.TP
+\fCQValidator::Intermediate\fR - the string is a plausible intermediate value during editing.
+.TP
+\fCQValidator::Acceptable\fR - the string is acceptable as a final result, i.e. it is valid.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValidator::QValidator ( QObject * parent, const char * name = 0 )"
+Sets up the validator. The \fIparent\fR and \fIname\fR parameters are passed on to the QObject constructor.
+.SH "QValidator::~QValidator ()"
+Destroys the validator, freeing any storage and other resources used.
+.SH "void QValidator::fixup ( QString & input ) const\fC [virtual]\fR"
+This function attempts to change \fIinput\fR to be valid according to this validator's rules. It need not result in a valid string: callers of this function must re-test afterwards; the default does nothing.
+.PP
+Reimplementations of this function can change \fIinput\fR even if they do not produce a valid string. For example, an ISBN validator might want to delete every character except digits and "-", even if the result is still not a valid ISBN; a surname validator might want to remove whitespace from the start and end of the string, even if the resulting string is not in the list of accepted surnames.
+.SH "State QValidator::validate ( QString & input, int & pos ) const\fC [pure virtual]\fR"
+This pure virtual function returns Invalid if \fIinput\fR is invalid according to this validator's rules, Intermediate if it is likely that a little more editing will make the input acceptable (e.g. the user types '4' into a widget which accepts integers between 10 and 99) and Acceptable if the input is valid.
+.PP
+The function can change \fIinput\fR and \fIpos\fR (the cursor position) if it wants to.
+.PP
+Reimplemented in QIntValidator, QDoubleValidator, and QRegExpValidator.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvalidator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvalidator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvaluelist.3qt b/doc/man/man3/qvaluelist.3qt
new file mode 100644
index 0000000..5ec6028
--- /dev/null
+++ b/doc/man/man3/qvaluelist.3qt
@@ -0,0 +1,756 @@
+'\" t
+.TH QValueList 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValueList \- Value-based template class that provides lists
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qvaluelist.h>\fR
+.PP
+Inherited by QCanvasItemList, QStringList, and QValueStack.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef QValueListIterator<T> \fBiterator\fR"
+.br
+.ti -1c
+.BI "typedef QValueListConstIterator<T> \fBconst_iterator\fR"
+.br
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef value_type * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef const value_type * \fBconst_pointer\fR"
+.br
+.ti -1c
+.BI "typedef value_type & \fBreference\fR"
+.br
+.ti -1c
+.BI "typedef const value_type & \fBconst_reference\fR"
+.br
+.ti -1c
+.BI "typedef size_t \fBsize_type\fR"
+.br
+.ti -1c
+.BI "\fBQValueList\fR ()"
+.br
+.ti -1c
+.BI "\fBQValueList\fR ( const QValueList<T> & l )"
+.br
+.ti -1c
+.BI "\fBQValueList\fR ( const std::list<T> & l )"
+.br
+.ti -1c
+.BI "\fB~QValueList\fR ()"
+.br
+.ti -1c
+.BI "QValueList<T> & \fBoperator=\fR ( const QValueList<T> & l )"
+.br
+.ti -1c
+.BI "QValueList<T> & \fBoperator=\fR ( const std::list<T> & l )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const std::list<T> & l ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QValueList<T> & l ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QValueList<T> & l ) const"
+.br
+.ti -1c
+.BI "iterator \fBbegin\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBbegin\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstBegin\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBend\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBend\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstEnd\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBinsert\fR ( iterator it, const T & x )"
+.br
+.ti -1c
+.BI "uint \fBremove\fR ( const T & x )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "QValueList<T> & \fBoperator<<\fR ( const T & x )"
+.br
+.ti -1c
+.BI "size_type \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBempty\fR () const"
+.br
+.ti -1c
+.BI "void \fBpush_front\fR ( const T & x )"
+.br
+.ti -1c
+.BI "void \fBpush_back\fR ( const T & x )"
+.br
+.ti -1c
+.BI "iterator \fBerase\fR ( iterator it )"
+.br
+.ti -1c
+.BI "iterator \fBerase\fR ( iterator first, iterator last )"
+.br
+.ti -1c
+.BI "reference \fBfront\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBfront\fR () const"
+.br
+.ti -1c
+.BI "reference \fBback\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBback\fR () const"
+.br
+.ti -1c
+.BI "void \fBpop_front\fR ()"
+.br
+.ti -1c
+.BI "void \fBpop_back\fR ()"
+.br
+.ti -1c
+.BI "void \fBinsert\fR ( iterator pos, size_type n, const T & x )"
+.br
+.ti -1c
+.BI "QValueList<T> \fBoperator+\fR ( const QValueList<T> & l ) const"
+.br
+.ti -1c
+.BI "QValueList<T> & \fBoperator+=\fR ( const QValueList<T> & l )"
+.br
+.ti -1c
+.BI "iterator \fBfromLast\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBfromLast\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBappend\fR ( const T & x )"
+.br
+.ti -1c
+.BI "iterator \fBprepend\fR ( const T & x )"
+.br
+.ti -1c
+.BI "iterator \fBremove\fR ( iterator it )"
+.br
+.ti -1c
+.BI "T & \fBfirst\fR ()"
+.br
+.ti -1c
+.BI "const T & \fBfirst\fR () const"
+.br
+.ti -1c
+.BI "T & \fBlast\fR ()"
+.br
+.ti -1c
+.BI "const T & \fBlast\fR () const"
+.br
+.ti -1c
+.BI "T & \fBoperator[]\fR ( size_type i )"
+.br
+.ti -1c
+.BI "const T & \fBoperator[]\fR ( size_type i ) const"
+.br
+.ti -1c
+.BI "iterator \fBat\fR ( size_type i )"
+.br
+.ti -1c
+.BI "const_iterator \fBat\fR ( size_type i ) const"
+.br
+.ti -1c
+.BI "iterator \fBfind\fR ( const T & x )"
+.br
+.ti -1c
+.BI "const_iterator \fBfind\fR ( const T & x ) const"
+.br
+.ti -1c
+.BI "iterator \fBfind\fR ( iterator it, const T & x )"
+.br
+.ti -1c
+.BI "const_iterator \fBfind\fR ( const_iterator it, const T & x ) const"
+.br
+.ti -1c
+.BI "int \fBfindIndex\fR ( const T & x ) const"
+.br
+.ti -1c
+.BI "size_type \fBcontains\fR ( const T & x ) const"
+.br
+.ti -1c
+.BI "size_type \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QValueList<T> & \fBoperator+=\fR ( const T & x )"
+.br
+.ti -1c
+.BI "typedef QValueListIterator<T> \fBIterator\fR"
+.br
+.ti -1c
+.BI "typedef QValueListConstIterator<T> \fBConstIterator\fR"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QValueList<T> & l )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QValueList<T> & l )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValueList class is a value-based template class that provides lists.
+.PP
+QValueList is a Qt implementation of an STL-like list container. It can be used in your application if the standard \fClist\fR is not available for your target platform(s). QValueList is part of the Qt Template Library.
+.PP
+QValueList<T> defines a template instance to create a list of values that all have the class T. Note that QValueList does not store pointers to the members of the list; it holds a copy of every member. This is why these kinds of classes are called "value based"; QPtrList and QDict are "pointer based".
+.PP
+QValueList contains and manages a collection of objects of type T and provides iterators that allow the contained objects to be addressed. QValueList owns the contained items. For more relaxed ownership semantics, see QPtrCollection and friends which are pointer-based containers.
+.PP
+Some classes cannot be used within a QValueList, for example, all classes derived from QObject and thus all classes that implement widgets. Only values can be used in a QValueList. To qualify as a value the class must provide:
+.TP
+a copy constructor;
+.TP
+an assignment operator;
+.TP
+a default constructor, i.e. a constructor that does not take any arguments.
+.PP
+Note that C++ defaults to field-by-field assignment operators and copy constructors if no explicit version is supplied. In many cases this is sufficient.
+.PP
+In addition, some compilers (e.g. Sun CC) might require that the class provides an equality operator (operator==()).
+.PP
+QValueList's function naming is consistent with the other Qt classes (e.g. count(), isEmpty()). QValueList also provides extra functions for compatibility with STL algorithms, such as size() and empty(). Programmers already familiar with the STL \fClist\fR may prefer to use the STL-compatible functions.
+.PP
+Example:
+.PP
+.nf
+.br
+ class Employee
+.br
+ {
+.br
+ public:
+.br
+ Employee(): sn(0) {}
+.br
+ Employee( const QString& forename, const QString& surname, int salary )
+.br
+ : fn(forename), sn(surname), sal(salary)
+.br
+ {}
+.br
+.br
+ QString forename() const { return fn; }
+.br
+ QString surname() const { return sn; }
+.br
+ int salary() const { return sal; }
+.br
+ void setSalary( int salary ) { sal = salary; }
+.br
+.br
+ private:
+.br
+ QString fn;
+.br
+ QString sn;
+.br
+ int sal;
+.br
+ };
+.br
+.br
+ typedef QValueList<Employee> EmployeeList;
+.br
+ EmployeeList list;
+.br
+.br
+ list.append( Employee("John", "Doe", 50000) );
+.br
+ list.append( Employee("Jane", "Williams", 80000) );
+.br
+ list.append( Employee("Tom", "Jones", 60000) );
+.br
+.br
+ Employee mary( "Mary", "Hawthorne", 90000 );
+.br
+ list.append( mary );
+.br
+ mary.setSalary( 100000 );
+.br
+.br
+ EmployeeList::iterator it;
+.br
+ for ( it = list.begin(); it != list.end(); ++it )
+.br
+ cout << (*it).surname().latin1() << ", " <<
+.br
+ (*it).forename().latin1() << " earns " <<
+.br
+ (*it).salary() << endl;
+.br
+.br
+ // Output:
+.br
+ // Doe, John earns 50000
+.br
+ // Williams, Jane earns 80000
+.br
+ // Hawthorne, Mary earns 90000
+.br
+ // Jones, Tom earns 60000
+.br
+.fi
+.PP
+Notice that the latest changes to Mary's salary did not affect the value in the list because the list created a copy of Mary's entry.
+.PP
+There are several ways to find items in the list. The begin() and end() functions return iterators to the beginning and end of the list. The advantage of getting an iterator is that you can move forward or backward from this position by incrementing/decrementing the iterator. The iterator returned by end() points to the item which is one \fIpast\fR the last item in the container. The past-the-end iterator is still associated with the list it belongs to, however it is \fInot\fR dereferenceable; operator*() will not return a well-defined value. If the list is empty(), the iterator returned by begin() will equal the iterator returned by end().
+.PP
+Another way to find an item in the list is by using the qFind() algorithm. For example:
+.PP
+.nf
+.br
+ QValueList<int> list;
+.br
+ ...
+.br
+ QValueList<int>::iterator it = qFind( list.begin(), list.end(), 3 );
+.br
+ if ( it != list.end() )
+.br
+ // it points to the found item
+.br
+.fi
+.PP
+It is safe to have multiple iterators a the list at the same time. If some member of the list is removed, only iterators pointing to the removed member become invalid. Inserting into the list does not invalidate any iterator. For convenience, the function last() returns a reference to the last item in the list, and first() returns a reference to the the first item. If the list is empty(), both last() and first() have undefined behavior (your application will crash or do unpredictable things). Use last() and first() with caution, for example:
+.PP
+.nf
+.br
+ QValueList<int> list;
+.br
+ list.append( 1 );
+.br
+ list.append( 2 );
+.br
+ list.append( 3 );
+.br
+ ...
+.br
+ if ( !list.empty() ) {
+.br
+ // OK, modify the first item
+.br
+ int& i = list.first();
+.br
+ i = 18;
+.br
+ }
+.br
+ ...
+.br
+ QValueList<double> dlist;
+.br
+ double d = dlist.last(); // undefined
+.br
+.fi
+.PP
+Because QValueList is value-based there is no need to be careful about deleting items in the list. The list holds its own copies and will free them if the corresponding member or the list itself is deleted. You can force the list to free all of its items with clear().
+.PP
+QValueList is shared implicitly, which means it can be copied in constant time, i.e. O(1). If multiple QValueList instances share the same data and one needs to modify its contents, this modifying instance makes a copy and modifies its private copy; therefore it does not affect the other instances; this takes O(n) time. This is often called "copy on write". If a QValueList is being used in a multi-threaded program, you must protect all access to the list. See QMutex.
+.PP
+There are several ways to insert items into the list. The prepend() and append() functions insert items at the beginning and the end of the list respectively. The insert() function comes in several flavors and can be used to add one or more items at specific positions within the list.
+.PP
+Items can also be removed from the list in several ways. There are several variants of the remove() function, which removes a specific item from the list. The remove() function will find and remove items according to a specific item value.
+.PP
+Lists can also be sorted using the Qt Template Library. For example with qHeapSort():
+.PP
+Example:
+.PP
+.nf
+.br
+ QValueList<int> list;
+.br
+ list.append( 5 );
+.br
+ list.append( 8 );
+.br
+ list.append( 3 );
+.br
+ list.append( 4 );
+.br
+ qHeapSort( list );
+.br
+.fi
+.PP
+See also QValueListIterator, Qt Template Library Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QValueList::ConstIterator"
+This iterator is an instantiation of QValueListConstIterator for the same type as this QValueList. In other words, if you instantiate QValueList<int>, ConstIterator is a QValueListConstIterator<int>. Several member function use it, such as QValueList::begin(), which returns an iterator pointing to the first item in the list.
+.PP
+Functionally, this is almost the same as Iterator. The only difference is you cannot use ConstIterator for non-const operations, and that the compiler can often generate better code if you use ConstIterator.
+.PP
+See also QValueListIterator and Iterator.
+.SH "QValueList::Iterator"
+This iterator is an instantiation of QValueListIterator for the same type as this QValueList. In other words, if you instantiate QValueList<int>, Iterator is a QValueListIterator<int>. Several member function use it, such as QValueList::begin(), which returns an iterator pointing to the first item in the list.
+.PP
+Functionally, this is almost the same as ConstIterator. The only difference is that you cannot use ConstIterator for non-const operations, and that the compiler can often generate better code if you use ConstIterator.
+.PP
+See also QValueListIterator and ConstIterator.
+.SH "QValueList::const_iterator"
+The list's const iterator type, QValueListConstIterator.
+.SH "QValueList::const_pointer"
+The const pointer to T type.
+.SH "QValueList::const_reference"
+The const reference to T type.
+.SH "QValueList::iterator"
+The list's iterator type, QValueListIterator.
+.SH "QValueList::pointer"
+The pointer to T type.
+.SH "QValueList::reference"
+The reference to T type.
+.SH "QValueList::size_type"
+An unsigned integral type, used to represent various sizes.
+.SH "QValueList::value_type"
+The type of the object stored in the list, T.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValueList::QValueList ()"
+Constructs an empty list.
+.SH "QValueList::QValueList ( const QValueList<T> & l )"
+Constructs a copy of \fIl\fR.
+.PP
+This operation takes O(1) time because QValueList is implicitly shared.
+.PP
+The first modification to a list will take O(n) time.
+.SH "QValueList::QValueList ( const std::list<T> & l )"
+Contructs a copy of \fIl\fR.
+.PP
+This constructor is provided for compatibility with STL containers.
+.SH "QValueList::~QValueList ()"
+Destroys the list. References to the values in the list and all iterators of this list become invalidated. Note that it is impossible for an iterator to check whether or not it is valid: QValueList is highly tuned for performance, not for error checking.
+.SH "iterator QValueList::append ( const T & x )"
+Inserts \fIx\fR at the end of the list.
+.PP
+See also insert() and prepend().
+.PP
+Examples:
+.)l checklists/checklists.cpp and fonts/simple-qfont-demo/viewer.cpp.
+.SH "const_iterator QValueList::at ( size_type i ) const"
+Returns an iterator pointing to the item at position \fIi\fR in the list, or an undefined value if the index is out of range.
+.PP
+\fBWarning:\fR This function uses a linear search and can be extremely slow for large lists. QValueList is not optimized for random item access. If you need random access use a different container, such as QValueVector.
+.SH "iterator QValueList::at ( size_type i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator pointing to the item at position \fIi\fR in the list, or an undefined value if the index is out of range.
+.SH "reference QValueList::back ()"
+Returns a reference to the last item. If the list contains no last item (i.e. empty() returns TRUE), the return value is undefined.
+.PP
+This function is provided for STL compatibility. It is equivalent to last().
+.PP
+See also front().
+.SH "const_reference QValueList::back () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "const_iterator QValueList::begin () const"
+Returns an iterator pointing to the first item in the list. This iterator equals end() if the list is empty.
+.PP
+See also first(), end(), and constBegin().
+.PP
+Examples:
+.)l canvas/canvas.cpp, chart/canvasview.cpp, chart/element.cpp, checklists/checklists.cpp, sql/overview/insert/main.cpp, table/statistics/statistics.cpp, and themes/themes.cpp.
+.SH "iterator QValueList::begin ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator pointing to the first item in the list. This iterator equals end() if the list is empty.
+.PP
+See also first() and end().
+.SH "void QValueList::clear ()"
+Removes all items from the list.
+.PP
+See also remove().
+.SH "const_iterator QValueList::constBegin () const"
+Returns an iterator pointing to the first item in the list. This iterator equals constEnd() if the list is empty.
+.PP
+See also begin().
+.SH "const_iterator QValueList::constEnd () const"
+Returns an iterator pointing \fIpast\fR the last item in the list. This iterator equals constBegin() if the list is empty.
+.PP
+See also end().
+.SH "size_type QValueList::contains ( const T & x ) const"
+Returns the number of occurrences of the value \fIx\fR in the list.
+.SH "size_type QValueList::count () const"
+Returns the number of items in the list.
+.PP
+See also isEmpty().
+.PP
+Examples:
+.)l chart/element.cpp, fileiconview/qfileiconview.cpp, and table/statistics/statistics.cpp.
+.SH "bool QValueList::empty () const"
+Returns TRUE if the list contains no items; otherwise returns FALSE.
+.PP
+See also size().
+.SH "iterator QValueList::end ()"
+Returns an iterator pointing \fIpast\fR the last item in the list. This iterator equals begin() if the list is empty.
+.PP
+See also last(), begin(), and constEnd().
+.PP
+Examples:
+.)l canvas/canvas.cpp, chart/canvasview.cpp, chart/element.cpp, checklists/checklists.cpp, sql/overview/insert/main.cpp, table/statistics/statistics.cpp, and themes/themes.cpp.
+.SH "const_iterator QValueList::end () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator pointing \fIpast\fR the last item in the list. This iterator equals begin() if the list is empty.
+.PP
+See also last() and begin().
+.SH "iterator QValueList::erase ( iterator it )"
+Removes the item pointed to by \fIit\fR from the list. No iterators other than \fIit\fR or other iterators pointing at the same item as \fIit\fR are invalidated. Returns an iterator to the next item after \fIit\fR, or end() if there is no such item.
+.PP
+This function is provided for STL compatibility. It is equivalent to remove().
+.SH "iterator QValueList::erase ( iterator first, iterator last )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Deletes all items from \fIfirst\fR to \fIlast\fR (not including \fIlast\fR). No iterators are invalidated, except those pointing to the removed items themselves. Returns \fIlast\fR.
+.SH "iterator QValueList::find ( const T & x )"
+Returns an iterator pointing to the first occurrence of \fIx\fR in the list.
+.PP
+Returns end() is no item matched.
+.SH "const_iterator QValueList::find ( const T & x ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator pointing to the first occurrence of \fIx\fR in the list.
+.PP
+Returns end() if no item matched.
+.SH "iterator QValueList::find ( iterator it, const T & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of \fIx\fR in the list starting at the position given by \fIit\fR.
+.PP
+Returns end() if no item matched.
+.SH "const_iterator QValueList::find ( const_iterator it, const T & x ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Finds the first occurrence of \fIx\fR in the list starting at the position given by \fIit\fR.
+.PP
+Returns end() if no item matched.
+.SH "int QValueList::findIndex ( const T & x ) const"
+Returns the index of the first occurrence of the value \fIx\fR. Returns -1 if no item matched.
+.SH "T & QValueList::first ()"
+Returns a reference to the first item. If the list contains no first item (i.e. isEmpty() returns TRUE), the return value is undefined.
+.PP
+See also last().
+.PP
+Example: network/mail/smtp.cpp.
+.SH "const T & QValueList::first () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "const_iterator QValueList::fromLast () const"
+Returns an iterator to the last item in the list, or end() if there is no last item.
+.PP
+Use the end() function instead. For example:
+.PP
+.nf
+.br
+ QValueList<int> l;
+.br
+ ...
+.br
+ QValueList<int>::iterator it = l.end();
+.br
+ --it;
+.br
+ if ( it != end() )
+.br
+ // ...
+.br
+.fi
+.SH "iterator QValueList::fromLast ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns an iterator to the last item in the list, or end() if there is no last item.
+.PP
+Use the end() function instead. For example:
+.PP
+.nf
+.br
+ QValueList<int> l;
+.br
+ ...
+.br
+ QValueList<int>::iterator it = l.end();
+.br
+ --it;
+.br
+ if ( it != end() )
+.br
+ // ...
+.br
+.fi
+.SH "reference QValueList::front ()"
+Returns a reference to the first item. If the list contains no first item (i.e. empty() returns TRUE), the return value is undefined.
+.PP
+This function is provided for STL compatibility. It is equivalent to first().
+.PP
+See also back().
+.SH "const_reference QValueList::front () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "iterator QValueList::insert ( iterator it, const T & x )"
+Inserts the value \fIx\fR in front of the item pointed to by the iterator, \fIit\fR.
+.PP
+Returns an iterator pointing at the inserted item.
+.PP
+See also append() and prepend().
+.PP
+Example: themes/themes.cpp.
+.SH "void QValueList::insert ( iterator pos, size_type n, const T & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIn\fR copies of \fIx\fR before position \fIpos\fR.
+.SH "bool QValueList::isEmpty () const"
+Returns TRUE if the list contains no items; otherwise returns FALSE.
+.PP
+See also count().
+.PP
+Examples:
+.)l fonts/simple-qfont-demo/viewer.cpp and network/mail/smtp.cpp.
+.SH "T & QValueList::last ()"
+Returns a reference to the last item. If the list contains no last item (i.e. empty() returns TRUE), the return value is undefined.
+.SH "const T & QValueList::last () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "bool QValueList::operator!= ( const QValueList<T> & l ) const"
+Compares both lists.
+.PP
+Returns TRUE if this list and \fIl\fR are unequal; otherwise returns FALSE.
+.SH "QValueList<T> QValueList::operator+ ( const QValueList<T> & l ) const"
+Creates a new list and fills it with the items of this list. Then the items of \fIl\fR are appended. Returns the new list.
+.SH "QValueList<T> & QValueList::operator+= ( const QValueList<T> & l )"
+Appends the items of \fIl\fR to this list. Returns a reference to this list.
+.SH "QValueList<T> & QValueList::operator+= ( const T & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Appends the value \fIx\fR to the list. Returns a reference to the list.
+.SH "QValueList<T> & QValueList::operator<< ( const T & x )"
+Adds the value \fIx\fR to the end of the list.
+.PP
+Returns a reference to the list.
+.SH "QValueList<T> & QValueList::operator= ( const QValueList<T> & l )"
+Assigns \fIl\fR to this list and returns a reference to this list.
+.PP
+All iterators of the current list become invalidated by this operation. The cost of such an assignment is O(1) since QValueList is implicitly shared.
+.SH "QValueList<T> & QValueList::operator= ( const std::list<T> & l )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns the contents of \fIl\fR to the list.
+.PP
+All iterators of the current list become invalidated by this operation.
+.SH "bool QValueList::operator== ( const QValueList<T> & l ) const"
+Compares both lists.
+.PP
+Returns TRUE if this list and \fIl\fR are equal; otherwise returns FALSE.
+.SH "bool QValueList::operator== ( const std::list<T> & l ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if this list and \fIl\fR are equal; otherwise returns FALSE.
+.PP
+This operator is provided for compatibility with STL containers.
+.SH "const T & QValueList::operator[] ( size_type i ) const"
+Returns a const reference to the item with index \fIi\fR in the list. It is up to you to check whether this item really exists. You can do that easily with the count() function. However this operator does not check whether \fIi\fR is in range and will deliver undefined results if it does not exist.
+.PP
+\fBWarning:\fR This function uses a linear search and can be extremely slow for large lists. QValueList is not optimized for random item access. If you need random access use a different container, such as QValueVector.
+.SH "T & QValueList::operator[] ( size_type i )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a non-const reference to the item with index \fIi\fR.
+.SH "void QValueList::pop_back ()"
+Removes the last item. If there is no last item, this operation is undefined.
+.PP
+This function is provided for STL compatibility.
+.SH "void QValueList::pop_front ()"
+Removes the first item. If there is no first item, this operation is undefined.
+.PP
+This function is provided for STL compatibility.
+.SH "iterator QValueList::prepend ( const T & x )"
+Inserts \fIx\fR at the beginning of the list.
+.PP
+See also insert() and append().
+.SH "void QValueList::push_back ( const T & x )"
+Inserts \fIx\fR at the end of the list.
+.PP
+This function is provided for STL compatibility. It is equivalent to append().
+.SH "void QValueList::push_front ( const T & x )"
+Inserts \fIx\fR at the beginning of the list.
+.PP
+This function is provided for STL compatibility. It is equivalent to prepend().
+.PP
+Example: toplevel/options.ui.h.
+.SH "iterator QValueList::remove ( iterator it )"
+Removes the item pointed to by \fIit\fR from the list. No iterators other than \fIit\fR or other iterators pointing at the same item as \fIit\fR are invalidated. Returns an iterator to the next item after \fIit\fR, or end() if there is no such item.
+.PP
+See also clear().
+.SH "uint QValueList::remove ( const T & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes all items that have value \fIx\fR and returns the number of removed items.
+.SH "size_type QValueList::size () const"
+Returns the number of items in the list.
+.PP
+This function is provided for STL compatibility. It is equivalent to count().
+.PP
+See also empty().
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QValueList<T> & l )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Writes a list, \fIl\fR, to the stream \fIs\fR. The type T stored in the list must implement the streaming operator.
+.SH "QDataStream & operator>> ( QDataStream & s, QValueList<T> & l )"
+Reads a list, \fIl\fR, from the stream \fIs\fR. The type T stored in the
+list must implement the streaming operator.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvaluelist.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvaluelist.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvaluelistconstiterator.3qt b/doc/man/man3/qvaluelistconstiterator.3qt
new file mode 100644
index 0000000..1e6f0d9
--- /dev/null
+++ b/doc/man/man3/qvaluelistconstiterator.3qt
@@ -0,0 +1,127 @@
+'\" t
+.TH QValueListConstIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValueListConstIterator \- Const iterator for QValueList
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qvaluelist.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef const T * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef const T & \fBreference\fR"
+.br
+.ti -1c
+.BI "\fBQValueListConstIterator\fR ()"
+.br
+.ti -1c
+.BI "\fBQValueListConstIterator\fR ( const QValueListConstIterator<T> & it )"
+.br
+.ti -1c
+.BI "\fBQValueListConstIterator\fR ( const QValueListIterator<T> & it )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QValueListConstIterator<T> & it ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QValueListConstIterator<T> & it ) const"
+.br
+.ti -1c
+.BI "const T & \fBoperator*\fR () const"
+.br
+.ti -1c
+.BI "QValueListConstIterator<T> & \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "QValueListConstIterator<T> \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "QValueListConstIterator<T> & \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "QValueListConstIterator<T> \fBoperator--\fR ( int )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValueListConstIterator class provides a const iterator for QValueList.
+.PP
+In contrast to QValueListIterator, this class is used to iterate over a const list. It does not allow modification of the values of the list since that would break const semantics.
+.PP
+You can create the appropriate const iterator type by using the \fCconst_iterator\fR typedef provided by QValueList.
+.PP
+For more information on QValueList iterators, see QValueListIterator.
+.PP
+See also QValueListIterator, QValueList, Qt Template Library Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QValueListConstIterator::pointer"
+Pointer to value_type.
+.SH "QValueListConstIterator::reference"
+Reference to value_type.
+.SH "QValueListConstIterator::value_type"
+The type of value.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValueListConstIterator::QValueListConstIterator ()"
+Creates un uninitialized iterator.
+.SH "QValueListConstIterator::QValueListConstIterator ( const QValueListConstIterator<T> & it )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a copy of the iterator \fIit\fR.
+.SH "QValueListConstIterator::QValueListConstIterator ( const QValueListIterator<T> & it )"
+Constructs a copy of the iterator \fIit\fR.
+.SH "bool QValueListConstIterator::operator!= ( const QValueListConstIterator<T> & it ) const"
+Compares this iterator with \fIit\fR and returns TRUE if they point to different items; otherwise returns FALSE.
+.SH "const T & QValueListConstIterator::operator* () const"
+Asterisk operator. Returns a reference to the current iterator item.
+.SH "QValueListConstIterator<T> & QValueListConstIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.
+.SH "QValueListConstIterator<T> QValueListConstIterator::operator++ ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.
+.SH "QValueListConstIterator<T> & QValueListConstIterator::operator-- ()"
+Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.
+.SH "QValueListConstIterator<T> QValueListConstIterator::operator-- ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.
+.SH "bool QValueListConstIterator::operator== ( const QValueListConstIterator<T> & it ) const"
+Compares this iterator with \fIit\fR and returns TRUE if they point
+to the same item; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvaluelistconstiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvaluelistconstiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvaluelistiterator.3qt b/doc/man/man3/qvaluelistiterator.3qt
new file mode 100644
index 0000000..1ab649b
--- /dev/null
+++ b/doc/man/man3/qvaluelistiterator.3qt
@@ -0,0 +1,172 @@
+'\" t
+.TH QValueListIterator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValueListIterator \- Iterator for QValueList
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qvaluelist.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef T * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef T & \fBreference\fR"
+.br
+.ti -1c
+.BI "\fBQValueListIterator\fR ()"
+.br
+.ti -1c
+.BI "\fBQValueListIterator\fR ( const QValueListIterator<T> & it )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QValueListIterator<T> & it ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QValueListIterator<T> & it ) const"
+.br
+.ti -1c
+.BI "const T & \fBoperator*\fR () const"
+.br
+.ti -1c
+.BI "T & \fBoperator*\fR ()"
+.br
+.ti -1c
+.BI "QValueListIterator<T> & \fBoperator++\fR ()"
+.br
+.ti -1c
+.BI "QValueListIterator<T> \fBoperator++\fR ( int )"
+.br
+.ti -1c
+.BI "QValueListIterator<T> & \fBoperator--\fR ()"
+.br
+.ti -1c
+.BI "QValueListIterator<T> \fBoperator--\fR ( int )"
+.br
+.ti -1c
+.BI "QValueListIterator<T> & \fBoperator+=\fR ( int j )"
+.br
+.ti -1c
+.BI "QValueListIterator<T> & \fBoperator-=\fR ( int j )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValueListIterator class provides an iterator for QValueList.
+.PP
+An iterator is a class for accessing the items of a container class: a generalization of the index in an array. A pointer into a "const char *" and an index into an "int[]" are both iterators, and the general idea is to provide that functionality for any data structure.
+.PP
+The QValueListIterator class is an iterator for QValueList instantiations. You can create the appropriate iterator type by using the \fCiterator\fR typedef provided by QValueList.
+.PP
+The only way to access the items in a QValueList is to use an iterator.
+.PP
+Example (see QValueList for the complete code):
+.PP
+.nf
+.br
+ EmployeeList::iterator it;
+.br
+ for ( it = list.begin(); it != list.end(); ++it )
+.br
+ cout << (*it).surname().latin1() << ", " <<
+.br
+ (*it).forename().latin1() << " earns " <<
+.br
+ (*it).salary() << endl;
+.br
+.br
+ // Output:
+.br
+ // Doe, John earns 50000
+.br
+ // Williams, Jane earns 80000
+.br
+ // Hawthorne, Mary earns 90000
+.br
+ // Jones, Tom earns 60000
+.br
+.fi
+.PP
+QValueList is highly optimized for performance and memory usage. This means that you must be careful: QValueList does not know about all its iterators and the iterators don't know to which list they belong. This makes things very fast, but if you're not careful, you can get spectacular bugs. Always make sure iterators are valid before dereferencing them or using them as parameters to generic algorithms in the STL or the QTL.
+.PP
+Using an invalid iterator is undefined (your application will probably crash). Many Qt functions return const value lists; to iterate over these you should make a copy and iterate over the copy.
+.PP
+For every Iterator there is a ConstIterator. When accessing a QValueList in a const environment or if the reference or pointer to the list is itself const, then you must use the ConstIterator. Its semantics are the same as the Iterator, but it only returns const references.
+.PP
+See also QValueList, QValueListConstIterator, Qt Template Library Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QValueListIterator::pointer"
+Pointer to value_type.
+.SH "QValueListIterator::reference"
+Reference to value_type.
+.SH "QValueListIterator::value_type"
+The type of value, T.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValueListIterator::QValueListIterator ()"
+Creates un uninitialized iterator.
+.SH "QValueListIterator::QValueListIterator ( const QValueListIterator<T> & it )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Constructs a copy of the iterator \fIit\fR.
+.SH "bool QValueListIterator::operator!= ( const QValueListIterator<T> & it ) const"
+Compares this iterator and \fIit\fR and returns TRUE if they point to different items; otherwise returns FALSE.
+.SH "T & QValueListIterator::operator* ()"
+Asterisk operator. Returns a reference to the current iterator item.
+.SH "const T & QValueListIterator::operator* () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Asterisk operator. Returns a reference to the current iterator item.
+.SH "QValueListIterator<T> & QValueListIterator::operator++ ()"
+Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.
+.SH "QValueListIterator<T> QValueListIterator::operator++ ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.
+.SH "QValueListIterator<T> & QValueListIterator::operator+= ( int j )"
+Postfix -- jumps \fIj\fR steps forward in the list. The iterator cannot check whether it reached the end of the list. Jumping past the end() causes undefined results.
+.SH "QValueListIterator<T> & QValueListIterator::operator-- ()"
+Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.
+.SH "QValueListIterator<T> QValueListIterator::operator-- ( int )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.
+.SH "QValueListIterator<T> & QValueListIterator::operator-= ( int j )"
+Postfix -- jumps \fIj\fR steps backward in the list. The iterator cannot check whether it reached the beginning of the list. Jumping past begin() causes undefined results.
+.SH "bool QValueListIterator::operator== ( const QValueListIterator<T> & it ) const"
+Compares this iterator and \fIit\fR and returns TRUE if they point to
+the same item; otherwise returns FALSE.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvaluelistiterator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvaluelistiterator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvaluestack.3qt b/doc/man/man3/qvaluestack.3qt
new file mode 100644
index 0000000..ec4d073
--- /dev/null
+++ b/doc/man/man3/qvaluestack.3qt
@@ -0,0 +1,141 @@
+'\" t
+.TH QValueStack 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValueStack \- Value-based template class that provides a stack
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qvaluestack.h>\fR
+.PP
+Inherits QValueList<T>.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQValueStack\fR ()"
+.br
+.ti -1c
+.BI "\fB~QValueStack\fR ()"
+.br
+.ti -1c
+.BI "void \fBpush\fR ( const T & d )"
+.br
+.ti -1c
+.BI "T \fBpop\fR ()"
+.br
+.ti -1c
+.BI "T & \fBtop\fR ()"
+.br
+.ti -1c
+.BI "const T & \fBtop\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValueStack class is a value-based template class that provides a stack.
+.PP
+Define a template instance QValueStack<X> to create a stack of values that all have the class X. QValueStack is part of the Qt Template Library.
+.PP
+Note that QValueStack does not store pointers to the members of the stack; it holds a copy of every member. That is why these kinds of classes are called "value based"; QPtrStack, QPtrList, QDict, etc., are "pointer based".
+.PP
+A stack is a last in, first out (LIFO) structure. Items are added to the top of the stack with push() and retrieved from the top with pop(). The top() function provides access to the topmost item without removing it.
+.PP
+Example:
+.PP
+.nf
+.br
+ QValueStack<int> stack;
+.br
+ stack.push( 1 );
+.br
+ stack.push( 2 );
+.br
+ stack.push( 3 );
+.br
+ while ( ! stack.isEmpty() )
+.br
+ cout << "Item: " << stack.pop() << endl;
+.br
+.br
+ // Output:
+.br
+ // Item: 3
+.br
+ // Item: 2
+.br
+ // Item: 1
+.br
+.fi
+.PP
+QValueStack is a specialized QValueList provided for convenience. All of QValueList's functionality also applies to QPtrStack, for example the facility to iterate over all elements using QValueStack<T>::Iterator. See QValueListIterator for further details.
+.PP
+Some classes cannot be used within a QValueStack, for example everything derived from QObject and thus all classes that implement widgets. Only values can be used in a QValueStack. To qualify as a value, the class must provide
+.TP
+a copy constructor;
+.TP
+an assignment operator;
+.TP
+a default constructor, i.e. a constructor that does not take any arguments.
+.PP
+Note that C++ defaults to field-by-field assignment operators and copy constructors if no explicit version is supplied. In many cases this is sufficient.
+.PP
+See also Qt Template Library Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValueStack::QValueStack ()"
+Constructs an empty stack.
+.SH "QValueStack::~QValueStack ()"
+Destroys the stack. References to the values in the stack and all iterators of this stack become invalidated. Because QValueStack is highly tuned for performance, you won't see warnings if you use invalid iterators because it is impossible for an iterator to check whether or not it is valid.
+.SH "T QValueStack::pop ()"
+Removes the top item from the stack and returns it.
+.PP
+See also top() and push().
+.SH "void QValueStack::push ( const T & d )"
+Adds element, \fId\fR, to the top of the stack. Last in, first out.
+.PP
+This function is equivalent to append().
+.PP
+See also pop() and top().
+.SH "T & QValueStack::top ()"
+Returns a reference to the top item of the stack or the item referenced by end() if no such item exists. Note that you must not change the value the end() iterator points to.
+.PP
+This function is equivalent to last().
+.PP
+See also pop(), push(), and QValueList::fromLast().
+.SH "const T & QValueStack::top () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a reference to the top item of the stack or the item referenced by end() if no such item exists.
+.PP
+This function is equivalent to last().
+.PP
+See also pop(), push(), and QValueList::fromLast().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvaluestack.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvaluestack.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvaluevector.3qt b/doc/man/man3/qvaluevector.3qt
new file mode 100644
index 0000000..b2e2584
--- /dev/null
+++ b/doc/man/man3/qvaluevector.3qt
@@ -0,0 +1,635 @@
+'\" t
+.TH QValueVector 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QValueVector \- Value-based template class that provides a dynamic array
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qvaluevector.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "typedef T \fBvalue_type\fR"
+.br
+.ti -1c
+.BI "typedef value_type * \fBpointer\fR"
+.br
+.ti -1c
+.BI "typedef const value_type * \fBconst_pointer\fR"
+.br
+.ti -1c
+.BI "typedef value_type * \fBiterator\fR"
+.br
+.ti -1c
+.BI "typedef const value_type * \fBconst_iterator\fR"
+.br
+.ti -1c
+.BI "typedef value_type & \fBreference\fR"
+.br
+.ti -1c
+.BI "typedef const value_type & \fBconst_reference\fR"
+.br
+.ti -1c
+.BI "typedef size_t \fBsize_type\fR"
+.br
+.ti -1c
+.BI "typedef ptrdiff_t \fBdifference_type\fR"
+.br
+.ti -1c
+.BI "\fBQValueVector\fR ()"
+.br
+.ti -1c
+.BI "\fBQValueVector\fR ( const QValueVector<T> & v )"
+.br
+.ti -1c
+.BI "\fBQValueVector\fR ( size_type n, const T & val = T ( ) )"
+.br
+.ti -1c
+.BI "\fBQValueVector\fR ( std::vector<T> & v )"
+.br
+.ti -1c
+.BI "\fBQValueVector\fR ( const std::vector<T> & v )"
+.br
+.ti -1c
+.BI "\fB~QValueVector\fR ()"
+.br
+.ti -1c
+.BI "QValueVector<T> & \fBoperator=\fR ( const QValueVector<T> & v )"
+.br
+.ti -1c
+.BI "QValueVector<T> & \fBoperator=\fR ( const std::vector<T> & v )"
+.br
+.ti -1c
+.BI "size_type \fBsize\fR () const"
+.br
+.ti -1c
+.BI "bool \fBempty\fR () const"
+.br
+.ti -1c
+.BI "size_type \fBcapacity\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBbegin\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBbegin\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstBegin\fR () const"
+.br
+.ti -1c
+.BI "iterator \fBend\fR ()"
+.br
+.ti -1c
+.BI "const_iterator \fBend\fR () const"
+.br
+.ti -1c
+.BI "const_iterator \fBconstEnd\fR () const"
+.br
+.ti -1c
+.BI "reference \fBat\fR ( size_type i, bool * ok = 0 )"
+.br
+.ti -1c
+.BI "const_reference \fBat\fR ( size_type i, bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "reference \fBoperator[]\fR ( size_type i )"
+.br
+.ti -1c
+.BI "const_reference \fBoperator[]\fR ( size_type i ) const"
+.br
+.ti -1c
+.BI "reference \fBfront\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBfront\fR () const"
+.br
+.ti -1c
+.BI "reference \fBback\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBback\fR () const"
+.br
+.ti -1c
+.BI "void \fBpush_back\fR ( const T & x )"
+.br
+.ti -1c
+.BI "void \fBpop_back\fR ()"
+.br
+.ti -1c
+.BI "iterator \fBinsert\fR ( iterator pos, const T & x )"
+.br
+.ti -1c
+.BI "iterator \fBinsert\fR ( iterator pos, size_type n, const T & x )"
+.br
+.ti -1c
+.BI "void \fBreserve\fR ( size_type n )"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( size_type n, const T & val = T ( ) )"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "iterator \fBerase\fR ( iterator pos )"
+.br
+.ti -1c
+.BI "iterator \fBerase\fR ( iterator first, iterator last )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QValueVector<T> & x )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QValueVector<T> & x ) const"
+.br
+.ti -1c
+.BI "typedef T \fBValueType\fR"
+.br
+.ti -1c
+.BI "typedef ValueType * \fBIterator\fR"
+.br
+.ti -1c
+.BI "typedef const ValueType * \fBConstIterator\fR"
+.br
+.ti -1c
+.BI "size_type \fBcount\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "reference \fBfirst\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBfirst\fR () const"
+.br
+.ti -1c
+.BI "reference \fBlast\fR ()"
+.br
+.ti -1c
+.BI "const_reference \fBlast\fR () const"
+.br
+.ti -1c
+.BI "void \fBappend\fR ( const T & x )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QValueVector class is a value-based template class that provides a dynamic array.
+.PP
+QValueVector is a Qt implementation of an STL-like vector container. It can be used in your application if the standard \fCvector\fR is not available for your target platforms. QValueVector is part of the Qt Template Library.
+.PP
+QValueVector<T> defines a template instance to create a vector of values that all have the class T. QValueVector does not store pointers to the members of the vector; it holds a copy of every member. QValueVector is said to be value based; in contrast, QPtrList and QDict are pointer based.
+.PP
+QValueVector contains and manages a collection of objects of type T and provides random access iterators that allow the contained objects to be addressed. QValueVector owns the contained elements. For more relaxed ownership semantics, see QPtrCollection and friends, which are pointer-based containers.
+.PP
+QValueVector provides good performance if you append or remove elements from the end of the vector. If you insert or remove elements from anywhere but the end, performance is very bad. The reason for this is that elements must to be copied into new positions.
+.PP
+Some classes cannot be used within a QValueVector: for example, all classes derived from QObject and thus all classes that implement widgets. Only values can be used in a QValueVector. To qualify as a value the class must provide:
+.TP
+a copy constructor;
+.TP
+an assignment operator;
+.TP
+a default constructor, i.e., a constructor that does not take any arguments.
+.PP
+Note that C++ defaults to field-by-field assignment operators and copy constructors if no explicit version is supplied. In many cases this is sufficient.
+.PP
+QValueVector uses an STL-like syntax to manipulate and address the objects it contains. See this document for more information.
+.PP
+Example:
+.PP
+.nf
+.br
+ #include <qvaluevector.h>
+.br
+ #include <qstring.h>
+.br
+ #include <stdio.h>
+.br
+.br
+ class Employee
+.br
+ {
+.br
+ public:
+.br
+ Employee(): s(0) {}
+.br
+ Employee( const QString& name, int salary )
+.br
+ : n( name ), s( salary )
+.br
+ { }
+.br
+.br
+ QString name() const { return n; }
+.br
+ int salary() const { return s; }
+.br
+ void setSalary( int salary ) { s = salary; }
+.br
+ private:
+.br
+ QString n;
+.br
+ int s;
+.br
+ };
+.br
+.br
+ int main()
+.br
+ {
+.br
+ typedef QValueVector<Employee> EmployeeVector;
+.br
+ EmployeeVector vec( 3 ); // vector of 3 Employees
+.br
+.br
+ vec[0] = Employee( "Bill", 50000 );
+.br
+ vec[1] = Employee( "Steve", 80000 );
+.br
+ vec[2] = Employee( "Ron", 60000 );
+.br
+.br
+ Employee joe( "Joe", 50000 );
+.br
+ vec.push_back( joe ); // vector expands to accommodate 4 Employees
+.br
+ joe.setSalary( 70000 );
+.br
+.br
+.br
+ EmployeeVector::iterator it;
+.br
+ for( it = vec.begin(); it != vec.end(); ++it )
+.br
+ printf( "%s earns %d\\n", (*it).name().latin1(), (*it).salary() );
+.br
+.br
+ return 0;
+.br
+ }
+.br
+.fi
+.PP
+Program output:
+.PP
+.nf
+.br
+ Bill earns 50000
+.br
+ Steve earns 80000
+.br
+ Ron earns 60000
+.br
+ Joe earns 50000
+.br
+.fi
+.PP
+As you can see, the most recent change to Joe's salary did not affect the value in the vector because the vector created a copy of Joe's entry.
+.PP
+Many Qt functions return const value vectors; to iterate over these you should make a copy and iterate over the copy.
+.PP
+There are several ways to find items in the vector. The begin() and end() functions return iterators to the beginning and end of the vector. The advantage of getting an iterator is that you can move forward or backward from this position by incrementing/decrementing the iterator. The iterator returned by end() points to the element which is one past the last element in the container. The past-the-end iterator is still associated with the vector it belongs to, however it is \fInot\fR dereferenceable; operator*() will not return a well-defined value. If the vector is empty(), the iterator returned by begin() will equal the iterator returned by end().
+.PP
+The fastest way to access an element of a vector is by using operator[]. This function provides random access and will return a reference to the element located at the specified index. Thus, you can access every element directly, in constant time, providing you know the location of the element. It is undefined to access an element that does not exist (your application will probably crash). For example:
+.PP
+.nf
+.br
+ QValueVector<int> vec1; // an empty vector
+.br
+ vec1[10] = 4; // WARNING: undefined, probably a crash
+.br
+.br
+ QValueVector<QString> vec2(25); // initialize with 25 elements
+.br
+ vec2[10] = "Dave"; // OK
+.br
+.fi
+.PP
+Whenever inserting, removing or referencing elements in a vector, always make sure you are referring to valid positions. For example:
+.PP
+.nf
+.br
+ void func( QValueVector<int>& vec )
+.br
+ {
+.br
+ if ( vec.size() > 10 ) {
+.br
+ vec[9] = 99; // OK
+.br
+ }
+.br
+ };
+.br
+.fi
+.PP
+The iterators provided by vector are random access iterators, therefore you can use them with many generic algorithms, for example, algorithms provided by the STL or the QTL.
+.PP
+Another way to find an element in the vector is by using the std::find() or qFind() algorithms. For example:
+.PP
+.nf
+.br
+ QValueVector<int> vec;
+.br
+ ...
+.br
+ QValueVector<int>::const_iterator it = qFind( vec.begin(), vec.end(), 3 );
+.br
+ if ( it != vector.end() )
+.br
+ // 'it' points to the found element
+.br
+.fi
+.PP
+It is safe to have multiple iterators on the vector at the same time. Since QValueVector manages memory dynamically, all iterators can become invalid if a memory reallocation occurs. For example, if some member of the vector is removed, iterators that point to the removed element and to all following elements become invalidated. Inserting into the middle of the vector will invalidate all iterators. For convenience, the function back() returns a reference to the last element in the vector, and front() returns a reference to the first element. If the vector is empty(), both back() and front() have undefined behavior (your application will crash or do unpredictable things). Use back() and front() with caution, for example:
+.PP
+.nf
+.br
+ QValueVector<int> vec( 3 );
+.br
+ vec.push_back( 1 );
+.br
+ vec.push_back( 2 );
+.br
+ vec.push_back( 3 );
+.br
+ ...
+.br
+ if ( !vec.empty() ) {
+.br
+ // OK: modify the first element
+.br
+ int& i = vec.front();
+.br
+ i = 18;
+.br
+ }
+.br
+ ...
+.br
+ QValueVector<double> dvec;
+.br
+ double d = dvec.back(); // undefined behavior
+.br
+.fi
+.PP
+Because QValueVector manages memory dynamically, it is recommended that you contruct a vector with an initial size. Inserting and removing elements happens fastest when:
+.TP
+Inserting or removing elements happens at the end() of the vector;
+.TP
+The vector does not need to allocate additional memory.
+.PP
+By creating a QValueVector with a sufficiently large initial size, there will be less memory allocations. Do not use an initial size that is too big, since it will still take time to construct all the empty entries, and the extra space will be wasted if it is never used.
+.PP
+Because QValueVector is value-based there is no need to be careful about deleting elements in the vector. The vector holds its own copies and will free them if the corresponding member or the vector itself is deleted. You can force the vector to free all of its items with clear().
+.PP
+QValueVector is shared implicitly, which means it can be copied in constant time. If multiple QValueVector instances share the same data and one needs to modify its contents, this modifying instance makes a copy and modifies its private copy; it thus does not affect the other instances. This is often called "copy on write". If a QValueVector is being used in a multi-threaded program, you must protect all access to the vector. See QMutex.
+.PP
+There are several ways to insert elements into the vector. The push_back() function insert elements into the end of the vector, and is usually fastest. The insert() function can be used to add elements at specific positions within the vector.
+.PP
+Items can be also be removed from the vector in several ways. There are several variants of the erase() function which removes a specific element, or range of elements, from the vector.
+.PP
+Vectors can be also sorted with various STL algorithms , or it can be sorted using the Qt Template Library. For example with qHeapSort():
+.PP
+Example:
+.PP
+.nf
+.br
+ QValueVector<int> v( 4 );
+.br
+ v.push_back( 5 );
+.br
+ v.push_back( 8 );
+.br
+ v.push_back( 3 );
+.br
+ v.push_back( 4 );
+.br
+ qHeapSort( v );
+.br
+.fi
+.PP
+QValueVector stores its elements in contiguous memory. This means that you can use a QValueVector in any situation that requires an array.
+.PP
+See also Qt Template Library Classes, Implicitly and Explicitly Shared Classes, and Non-GUI Classes.
+.SS "Member Type Documentation"
+.SH "QValueVector::ConstIterator"
+The vector's const iterator type.
+.SH "QValueVector::Iterator"
+The vector's iterator type.
+.SH "QValueVector::ValueType"
+The type of the object stored in the vector.
+.SH "QValueVector::const_iterator"
+The vector's const iterator type.
+.SH "QValueVector::const_pointer"
+The const pointer to T type.
+.SH "QValueVector::const_reference"
+The const reference to T type.
+.SH "QValueVector::difference_type"
+A signed integral type used to represent the distance between two iterators.
+.SH "QValueVector::iterator"
+The vector's iterator type.
+.SH "QValueVector::pointer"
+The pointer to T type.
+.SH "QValueVector::reference"
+The reference to T type.
+.SH "QValueVector::size_type"
+An unsigned integral type, used to represent various sizes.
+.SH "QValueVector::value_type"
+The type of the object stored in the vector.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QValueVector::QValueVector ()"
+Constructs an empty vector without any elements. To create a vector which reserves an initial amount of space for elements, use \fCQValueVector(size_type n)\fR.
+.SH "QValueVector::QValueVector ( const QValueVector<T> & v )"
+Constructs a copy of \fIv\fR.
+.PP
+This operation costs O(1) time because QValueVector is implicitly shared.
+.PP
+The first modification to the vector does takes O(n) time, because the elements must be copied.
+.SH "QValueVector::QValueVector ( size_type n, const T & val = T ( ) )"
+Constructs a vector with an initial size of \fIn\fR elements. Each element is initialized with the value of \fIval\fR.
+.SH "QValueVector::QValueVector ( std::vector<T> & v )"
+Constructs a copy of \fIv\fR.
+.SH "QValueVector::QValueVector ( const std::vector<T> & v )"
+This operation costs O(n) time because \fIv\fR is copied.
+.SH "QValueVector::~QValueVector ()"
+Destroys the vector, destroying all elements and freeing the allocated memory. References to the values in the vector and all iterators of this vector become invalidated. Note that it is impossible for an iterator to check whether or not it is valid: QValueVector is tuned for performance, not for error checking.
+.SH "void QValueVector::append ( const T & x )"
+Appends a copy of \fIx\fR to the end of the vector.
+.PP
+See also push_back() and insert().
+.SH "reference QValueVector::at ( size_type i, bool * ok = 0 )"
+Returns a reference to the element with index \fIi\fR. If \fIok\fR is non-null, and the index \fIi\fR is out of range, *\fIok\fR is set to FALSE and the returned reference is undefined. If the index \fIi\fR is within the range of the vector, and \fIok\fR is non-null, *\fIok\fR is set to TRUE and the returned reference is well defined.
+.SH "const_reference QValueVector::at ( size_type i, bool * ok = 0 ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const reference to the element with index \fIi\fR. If \fIok\fR is non-null, and the index \fIi\fR is out of range, *\fIok\fR is set to FALSE and the returned reference is undefined. If the index \fIi\fR is within the range of the vector, and \fIok\fR is non-null, *\fIok\fR is set to TRUE and the returned reference is well defined.
+.SH "reference QValueVector::back ()"
+Returns a reference to the last element in the vector. If there is no last element, this function has undefined behavior.
+.PP
+See also empty() and front().
+.SH "const_reference QValueVector::back () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const reference to the last element in the vector. If there is no last element, this function has undefined behavior.
+.PP
+See also empty() and front().
+.SH "iterator QValueVector::begin ()"
+Returns an iterator pointing to the beginning of the vector. If the vector is empty(), the returned iterator will equal end().
+.SH "const_iterator QValueVector::begin () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const iterator pointing to the beginning of the vector. If the vector is empty(), the returned iterator will equal end().
+.SH "size_type QValueVector::capacity () const"
+Returns the maximum number of elements that can be stored in the vector without forcing memory reallocation. If memory reallocation takes place, some or all iterators may become invalidated.
+.SH "void QValueVector::clear ()"
+Removes all the elements from the vector.
+.SH "const_iterator QValueVector::constBegin () const"
+Returns a const iterator pointing to the beginning of the vector. If the vector is empty(), the returned iterator will equal end().
+.PP
+See also constEnd().
+.SH "const_iterator QValueVector::constEnd () const"
+Returns a const iterator pointing behind the last element of the vector.
+.PP
+See also constBegin().
+.SH "size_type QValueVector::count () const"
+Returns the number of items in the vector.
+.PP
+See also isEmpty().
+.SH "bool QValueVector::empty () const"
+Returns TRUE if the vector is empty; otherwise returns FALSE. Equivalent to size()==0, only faster.
+.PP
+This function is provided for STL compatibility. It is equivalent to isEmpty().
+.PP
+See also size().
+.SH "iterator QValueVector::end ()"
+Returns an iterator pointing behind the last element of the vector.
+.SH "const_iterator QValueVector::end () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const iterator pointing behind the last element of the vector.
+.SH "iterator QValueVector::erase ( iterator pos )"
+Removes the element at position \fIpos\fR and returns the position of the next element.
+.SH "iterator QValueVector::erase ( iterator first, iterator last )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Removes all elements from \fIfirst\fR up to but not including \fIlast\fR and returns the position of the next element.
+.SH "reference QValueVector::first ()"
+Returns a reference to the first item in the vector. If there is no first item, this function has undefined behavior.
+.PP
+See also empty() and last().
+.SH "const_reference QValueVector::first () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "reference QValueVector::front ()"
+Returns a reference to the first element in the vector. If there is no first element, this function has undefined behavior.
+.PP
+See also empty() and back().
+.SH "const_reference QValueVector::front () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const reference to the first element in the vector. If there is no first element, this function has undefined behavior.
+.PP
+See also empty() and back().
+.SH "iterator QValueVector::insert ( iterator pos, const T & x )"
+Inserts a copy of \fIx\fR at the position immediately before \fIpos\fR.
+.PP
+See also push_back().
+.SH "iterator QValueVector::insert ( iterator pos, size_type n, const T & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Inserts \fIn\fR copies of \fIx\fR immediately before position x.
+.PP
+See also push_back().
+.SH "bool QValueVector::isEmpty () const"
+Returns TRUE if the vector is empty; returns FALSE otherwise.
+.PP
+See also count().
+.SH "reference QValueVector::last ()"
+Returns a reference to the last item in the vector. If there is no last item, this function has undefined behavior.
+.PP
+See also empty() and first().
+.SH "const_reference QValueVector::last () const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.SH "QValueVector<T> & QValueVector::operator= ( const QValueVector<T> & v )"
+Assigns \fIv\fR to this vector and returns a reference to this vector.
+.PP
+All iterators of the current vector become invalidated by this operation. The cost of such an assignment is O(1) since QValueVector is implicitly shared.
+.SH "QValueVector<T> & QValueVector::operator= ( const std::vector<T> & v )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Assigns \fIv\fR to this vector and returns a reference to this vector.
+.PP
+All iterators of the current vector become invalidated by this operation. The cost of this assignment is O(n) since \fIv\fR is copied.
+.SH "bool QValueVector::operator== ( const QValueVector<T> & x ) const"
+Returns TRUE if each element in this vector equals each corresponding element in \fIx\fR; otherwise returns FALSE.
+.SH "bool QValueVector::operator== ( const QValueVector<T> & x )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns TRUE if each element in this vector equals each corresponding element in \fIx\fR; otherwise returns FALSE.
+.SH "reference QValueVector::operator[] ( size_type i )"
+Returns a reference to the element at index \fIi\fR. If \fIi\fR is out of range, this function has undefined behavior.
+.PP
+See also at().
+.SH "const_reference QValueVector::operator[] ( size_type i ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a const reference to the element at index \fIi\fR. If \fIi\fR is out of range, this function has undefined behavior.
+.PP
+See also at().
+.SH "void QValueVector::pop_back ()"
+Removes the last item from the vector.
+.PP
+This function is provided for STL compatibility.
+.SH "void QValueVector::push_back ( const T & x )"
+Appends a copy of \fIx\fR to the end of the vector. This is the fastest way to add new elements.
+.PP
+This function is provided for STL compatibility. It is equivalent to append().
+.PP
+See also insert().
+.SH "void QValueVector::reserve ( size_type n )"
+Increases the vector's capacity. If \fIn\fR is less than or equal to capacity(), nothing happens. Otherwise, additional memory is allocated so that capacity() will be increased to a value greater than or equal to \fIn\fR. All iterators will then become invalidated. Note that the vector's size() and the values of existing elements remain unchanged.
+.SH "void QValueVector::resize ( size_type n, const T & val = T ( ) )"
+Changes the size of the vector to \fIn\fR. If \fIn\fR is greater than the current size(), elements are added to the end and initialized with the value of \fIval\fR. If \fIn\fR is less than size(), elements are removed from the end. If \fIn\fR is equal to size() nothing happens.
+.SH "size_type QValueVector::size () const"
+Returns the number of elements in the vector.
+.PP
+This function is provided for STL compatibility. It is equivalent to count().
+.PP
+See also empty().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvaluevector.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvaluevector.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvariant.3qt b/doc/man/man3/qvariant.3qt
new file mode 100644
index 0000000..becd6c4
--- /dev/null
+++ b/doc/man/man3/qvariant.3qt
@@ -0,0 +1,1155 @@
+'\" t
+.TH QVariant 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QVariant \- Acts like a union for the most common Qt data types
+.SH SYNOPSIS
+\fC#include <qvariant.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "enum \fBType\fR { Invalid, Map, List, String, StringList, Font, Pixmap, Brush, Rect, Size, Color, Palette, ColorGroup, IconSet, Point, Image, Int, UInt, Bool, Double, CString, PointArray, Region, Bitmap, Cursor, SizePolicy, Date, Time, DateTime, ByteArray, BitArray, KeySequence, Pen, LongLong, ULongLong }"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ()"
+.br
+.ti -1c
+.BI "\fB~QVariant\fR ()"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QVariant & p )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( QDataStream & s )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QString & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QCString & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const char * val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QStringList & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QFont & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QPixmap & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QImage & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QBrush & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QPoint & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QRect & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QSize & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QColor & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QPalette & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QColorGroup & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QIconSet & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QPointArray & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QRegion & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QBitmap & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QCursor & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QDate & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QTime & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QDateTime & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QByteArray & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QBitArray & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QKeySequence & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QPen & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QValueList<QVariant> & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( const QMap<QString, QVariant> & val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( int val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( uint val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( Q_LLONG val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( Q_ULLONG val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( bool val, int )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( double val )"
+.br
+.ti -1c
+.BI "\fBQVariant\fR ( QSizePolicy val )"
+.br
+.ti -1c
+.BI "QVariant & \fBoperator=\fR ( const QVariant & variant )"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QVariant & v ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QVariant & v ) const"
+.br
+.ti -1c
+.BI "Type \fBtype\fR () const"
+.br
+.ti -1c
+.BI "const char * \fBtypeName\fR () const"
+.br
+.ti -1c
+.BI "bool \fBcanCast\fR ( Type t ) const"
+.br
+.ti -1c
+.BI "bool \fBcast\fR ( Type t )"
+.br
+.ti -1c
+.BI "bool \fBisValid\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisNull\fR () const"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "const QString \fBtoString\fR () const"
+.br
+.ti -1c
+.BI "const QCString \fBtoCString\fR () const"
+.br
+.ti -1c
+.BI "const QStringList \fBtoStringList\fR () const"
+.br
+.ti -1c
+.BI "const QFont \fBtoFont\fR () const"
+.br
+.ti -1c
+.BI "const QPixmap \fBtoPixmap\fR () const"
+.br
+.ti -1c
+.BI "const QImage \fBtoImage\fR () const"
+.br
+.ti -1c
+.BI "const QBrush \fBtoBrush\fR () const"
+.br
+.ti -1c
+.BI "const QPoint \fBtoPoint\fR () const"
+.br
+.ti -1c
+.BI "const QRect \fBtoRect\fR () const"
+.br
+.ti -1c
+.BI "const QSize \fBtoSize\fR () const"
+.br
+.ti -1c
+.BI "const QColor \fBtoColor\fR () const"
+.br
+.ti -1c
+.BI "const QPalette \fBtoPalette\fR () const"
+.br
+.ti -1c
+.BI "const QColorGroup \fBtoColorGroup\fR () const"
+.br
+.ti -1c
+.BI "const QIconSet \fBtoIconSet\fR () const"
+.br
+.ti -1c
+.BI "const QPointArray \fBtoPointArray\fR () const"
+.br
+.ti -1c
+.BI "const QBitmap \fBtoBitmap\fR () const"
+.br
+.ti -1c
+.BI "const QRegion \fBtoRegion\fR () const"
+.br
+.ti -1c
+.BI "const QCursor \fBtoCursor\fR () const"
+.br
+.ti -1c
+.BI "const QDate \fBtoDate\fR () const"
+.br
+.ti -1c
+.BI "const QTime \fBtoTime\fR () const"
+.br
+.ti -1c
+.BI "const QDateTime \fBtoDateTime\fR () const"
+.br
+.ti -1c
+.BI "const QByteArray \fBtoByteArray\fR () const"
+.br
+.ti -1c
+.BI "const QBitArray \fBtoBitArray\fR () const"
+.br
+.ti -1c
+.BI "const QKeySequence \fBtoKeySequence\fR () const"
+.br
+.ti -1c
+.BI "const QPen \fBtoPen\fR () const"
+.br
+.ti -1c
+.BI "int \fBtoInt\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "uint \fBtoUInt\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_LLONG \fBtoLongLong\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "Q_ULLONG \fBtoULongLong\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBtoBool\fR () const"
+.br
+.ti -1c
+.BI "double \fBtoDouble\fR ( bool * ok = 0 ) const"
+.br
+.ti -1c
+.BI "const QValueList<QVariant> \fBtoList\fR () const"
+.br
+.ti -1c
+.BI "const QMap<QString, QVariant> \fBtoMap\fR () const"
+.br
+.ti -1c
+.BI "QSizePolicy \fBtoSizePolicy\fR () const"
+.br
+.ti -1c
+.BI "QValueListConstIterator<QString> stringListBegin () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QValueListConstIterator<QString> stringListEnd () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QValueListConstIterator<QVariant> listBegin () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QValueListConstIterator<QVariant> listEnd () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QMapConstIterator<QString, QVariant> mapBegin () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QMapConstIterator<QString, QVariant> mapEnd () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QMapConstIterator<QString, QVariant> mapFind ( const QString & key ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QString & \fBasString\fR ()"
+.br
+.ti -1c
+.BI "QCString & \fBasCString\fR ()"
+.br
+.ti -1c
+.BI "QStringList & \fBasStringList\fR ()"
+.br
+.ti -1c
+.BI "QFont & \fBasFont\fR ()"
+.br
+.ti -1c
+.BI "QPixmap & \fBasPixmap\fR ()"
+.br
+.ti -1c
+.BI "QImage & \fBasImage\fR ()"
+.br
+.ti -1c
+.BI "QBrush & \fBasBrush\fR ()"
+.br
+.ti -1c
+.BI "QPoint & \fBasPoint\fR ()"
+.br
+.ti -1c
+.BI "QRect & \fBasRect\fR ()"
+.br
+.ti -1c
+.BI "QSize & \fBasSize\fR ()"
+.br
+.ti -1c
+.BI "QColor & \fBasColor\fR ()"
+.br
+.ti -1c
+.BI "QPalette & \fBasPalette\fR ()"
+.br
+.ti -1c
+.BI "QColorGroup & \fBasColorGroup\fR ()"
+.br
+.ti -1c
+.BI "QIconSet & \fBasIconSet\fR ()"
+.br
+.ti -1c
+.BI "QPointArray & \fBasPointArray\fR ()"
+.br
+.ti -1c
+.BI "QBitmap & \fBasBitmap\fR ()"
+.br
+.ti -1c
+.BI "QRegion & \fBasRegion\fR ()"
+.br
+.ti -1c
+.BI "QCursor & \fBasCursor\fR ()"
+.br
+.ti -1c
+.BI "QDate & \fBasDate\fR ()"
+.br
+.ti -1c
+.BI "QTime & \fBasTime\fR ()"
+.br
+.ti -1c
+.BI "QDateTime & \fBasDateTime\fR ()"
+.br
+.ti -1c
+.BI "QByteArray & \fBasByteArray\fR ()"
+.br
+.ti -1c
+.BI "QBitArray & \fBasBitArray\fR ()"
+.br
+.ti -1c
+.BI "QKeySequence & \fBasKeySequence\fR ()"
+.br
+.ti -1c
+.BI "QPen & \fBasPen\fR ()"
+.br
+.ti -1c
+.BI "int & \fBasInt\fR ()"
+.br
+.ti -1c
+.BI "uint & \fBasUInt\fR ()"
+.br
+.ti -1c
+.BI "Q_LLONG & \fBasLongLong\fR ()"
+.br
+.ti -1c
+.BI "Q_ULLONG & \fBasULongLong\fR ()"
+.br
+.ti -1c
+.BI "bool & \fBasBool\fR ()"
+.br
+.ti -1c
+.BI "double & \fBasDouble\fR ()"
+.br
+.ti -1c
+.BI "QValueList<QVariant> & \fBasList\fR ()"
+.br
+.ti -1c
+.BI "QMap<QString, QVariant> & \fBasMap\fR ()"
+.br
+.ti -1c
+.BI "QSizePolicy & \fBasSizePolicy\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "const char * \fBtypeToName\fR ( Type typ )"
+.br
+.ti -1c
+.BI "Type \fBnameToType\fR ( const char * name )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QVariant class acts like a union for the most common Qt data types.
+.PP
+Because C++ forbids unions from including types that have non-default constructors or destructors, most interesting Qt classes cannot be used in unions. Without QVariant, this would be a problem for QObject::property() and for database work, etc.
+.PP
+A QVariant object holds a single value of a single type() at a time. (Some type()s are multi-valued, for example a string list.) You can find out what type, T, the variant holds, convert it to a different type using one of the asT() functions, e.g. asSize(), get its value using one of the toT() functions, e.g. toSize(), and check whether the type can be converted to a particular type using canCast().
+.PP
+The methods named toT() (for any supported T, see the Type documentation for a list) are const. If you ask for the stored type, they return a copy of the stored object. If you ask for a type that can be generated from the stored type, toT() copies and converts and leaves the object itself unchanged. If you ask for a type that cannot be generated from the stored type, the result depends on the type (see the function documentation for details).
+.PP
+Note that three data types supported by QVariant are explicitly shared, namely QImage, QPointArray, and QCString, and in these cases the toT() methods return a shallow copy. In almost all cases you must make a deep copy of the returned values before modifying them.
+.PP
+The asT() functions are not const. They do conversion like the toT() methods, set the variant to hold the converted value, and return a reference to the new contents of the variant.
+.PP
+Here is some example code to demonstrate the use of QVariant:
+.PP
+.nf
+.br
+ QDataStream out(...);
+.br
+ QVariant v(123); // The variant now contains an int
+.br
+ int x = v.toInt(); // x = 123
+.br
+ out << v; // Writes a type tag and an int to out
+.br
+ v = QVariant("hello"); // The variant now contains a QCString
+.br
+ v = QVariant(tr("hello"));// The variant now contains a QString
+.br
+ int y = v.toInt(); // y = 0 since v cannot be converted to an int
+.br
+ QString s = v.toString(); // s = tr("hello") (see QObject::tr())
+.br
+ out << v; // Writes a type tag and a QString to out
+.br
+ ...
+.br
+ QDataStream in(...); // (opening the previously written stream)
+.br
+ in >> v; // Reads an Int variant
+.br
+ int z = v.toInt(); // z = 123
+.br
+ qDebug("Type is %s", // prints "Type is int"
+.br
+ v.typeName());
+.br
+ v.asInt() += 100; // The variant now hold the value 223.
+.br
+ v = QVariant( QStringList() );
+.br
+ v.asStringList().append( "Hello" );
+.br
+.fi
+.PP
+You can even store QValueList<QVariant>s and QMap<QString,QVariant>s in a variant, so you can easily construct arbitrarily complex data structures of arbitrary types. This is very powerful and versatile, but may prove less memory and speed efficient than storing specific types in standard data structures.
+.PP
+QVariant also supports the notion of NULL values, where you have a defined type with no value set.
+.PP
+.nf
+.br
+ QVariant x, y( QString() ), z( QString("") );
+.br
+ x.asInt();
+.br
+ // x.isNull() == TRUE, y.isNull() == TRUE, z.isNull() == FALSE
+.br
+.fi
+.PP
+See the Collection Classes.
+.PP
+See also Miscellaneous Classes and Object Model.
+.SS "Member Type Documentation"
+.SH "QVariant::Type"
+This enum type defines the types of variable that a QVariant can contain.
+.TP
+\fCQVariant::Invalid\fR - no type
+.TP
+\fCQVariant::BitArray\fR - a QBitArray
+.TP
+\fCQVariant::ByteArray\fR - a QByteArray
+.TP
+\fCQVariant::Bitmap\fR - a QBitmap
+.TP
+\fCQVariant::Bool\fR - a bool
+.TP
+\fCQVariant::Brush\fR - a QBrush
+.TP
+\fCQVariant::Color\fR - a QColor
+.TP
+\fCQVariant::ColorGroup\fR - a QColorGroup
+.TP
+\fCQVariant::Cursor\fR - a QCursor
+.TP
+\fCQVariant::Date\fR - a QDate
+.TP
+\fCQVariant::DateTime\fR - a QDateTime
+.TP
+\fCQVariant::Double\fR - a double
+.TP
+\fCQVariant::Font\fR - a QFont
+.TP
+\fCQVariant::IconSet\fR - a QIconSet
+.TP
+\fCQVariant::Image\fR - a QImage
+.TP
+\fCQVariant::Int\fR - an int
+.TP
+\fCQVariant::KeySequence\fR - a QKeySequence
+.TP
+\fCQVariant::List\fR - a QValueList<QVariant>
+.TP
+\fCQVariant::LongLong\fR - a long long
+.TP
+\fCQVariant::ULongLong\fR - an unsigned long long
+.TP
+\fCQVariant::Map\fR - a QMap<QString,QVariant>
+.TP
+\fCQVariant::Palette\fR - a QPalette
+.TP
+\fCQVariant::Pen\fR - a QPen
+.TP
+\fCQVariant::Pixmap\fR - a QPixmap
+.TP
+\fCQVariant::Point\fR - a QPoint
+.TP
+\fCQVariant::PointArray\fR - a QPointArray
+.TP
+\fCQVariant::Rect\fR - a QRect
+.TP
+\fCQVariant::Region\fR - a QRegion
+.TP
+\fCQVariant::Size\fR - a QSize
+.TP
+\fCQVariant::SizePolicy\fR - a QSizePolicy
+.TP
+\fCQVariant::String\fR - a QString
+.TP
+\fCQVariant::CString\fR - a QCString
+.TP
+\fCQVariant::StringList\fR - a QStringList
+.TP
+\fCQVariant::Time\fR - a QTime
+.TP
+\fCQVariant::UInt\fR - an unsigned int
+.PP
+Note that Qt's definition of bool depends on the compiler. qglobal.h has the system-dependent definition of bool.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QVariant::QVariant ()"
+Constructs an invalid variant.
+.SH "QVariant::QVariant ( bool val, int )"
+Constructs a new variant with a boolean value, \fIval\fR. The integer argument is a dummy, necessary for compatibility with some compilers.
+.SH "QVariant::QVariant ( double val )"
+Constructs a new variant with a floating point value, \fIval\fR.
+.SH "QVariant::QVariant ( QSizePolicy val )"
+Constructs a new variant with a size policy value, \fIval\fR.
+.SH "QVariant::QVariant ( const QVariant & p )"
+Constructs a copy of the variant, \fIp\fR, passed as the argument to this constructor. Usually this is a deep copy, but a shallow copy is made if the stored data type is explicitly shared, as e.g. QImage is.
+.SH "QVariant::QVariant ( QDataStream & s )"
+Reads the variant from the data stream, \fIs\fR.
+.SH "QVariant::QVariant ( const QString & val )"
+Constructs a new variant with a string value, \fIval\fR.
+.SH "QVariant::QVariant ( const QCString & val )"
+Constructs a new variant with a C-string value, \fIval\fR.
+.PP
+If you want to modify the QCString after you've passed it to this constructor, we recommend passing a deep copy (see QCString::copy()).
+.SH "QVariant::QVariant ( const char * val )"
+Constructs a new variant with a C-string value of \fIval\fR if \fIval\fR is non-null. The variant creates a deep copy of \fIval\fR.
+.PP
+If \fIval\fR is null, the resulting variant has type Invalid.
+.SH "QVariant::QVariant ( const QStringList & val )"
+Constructs a new variant with a string list value, \fIval\fR.
+.SH "QVariant::QVariant ( const QFont & val )"
+Constructs a new variant with a font value, \fIval\fR.
+.SH "QVariant::QVariant ( const QPixmap & val )"
+Constructs a new variant with a pixmap value, \fIval\fR.
+.SH "QVariant::QVariant ( const QImage & val )"
+Constructs a new variant with an image value, \fIval\fR.
+.PP
+Because QImage is explicitly shared, you may need to pass a deep copy to the variant using QImage::copy(), e.g. if you intend changing the image you've passed later on.
+.SH "QVariant::QVariant ( const QBrush & val )"
+Constructs a new variant with a brush value, \fIval\fR.
+.SH "QVariant::QVariant ( const QPoint & val )"
+Constructs a new variant with a point value, \fIval\fR.
+.SH "QVariant::QVariant ( const QRect & val )"
+Constructs a new variant with a rect value, \fIval\fR.
+.SH "QVariant::QVariant ( const QSize & val )"
+Constructs a new variant with a size value, \fIval\fR.
+.SH "QVariant::QVariant ( const QColor & val )"
+Constructs a new variant with a color value, \fIval\fR.
+.SH "QVariant::QVariant ( const QPalette & val )"
+Constructs a new variant with a color palette value, \fIval\fR.
+.SH "QVariant::QVariant ( const QColorGroup & val )"
+Constructs a new variant with a color group value, \fIval\fR.
+.SH "QVariant::QVariant ( const QIconSet & val )"
+Constructs a new variant with an icon set value, \fIval\fR.
+.SH "QVariant::QVariant ( const QPointArray & val )"
+Constructs a new variant with a point array value, \fIval\fR.
+.PP
+Because QPointArray is explicitly shared, you may need to pass a deep copy to the variant using QPointArray::copy(), e.g. if you intend changing the point array you've passed later on.
+.SH "QVariant::QVariant ( const QRegion & val )"
+Constructs a new variant with a region value, \fIval\fR.
+.SH "QVariant::QVariant ( const QBitmap & val )"
+Constructs a new variant with a bitmap value, \fIval\fR.
+.SH "QVariant::QVariant ( const QCursor & val )"
+Constructs a new variant with a cursor value, \fIval\fR.
+.SH "QVariant::QVariant ( const QDate & val )"
+Constructs a new variant with a date value, \fIval\fR.
+.SH "QVariant::QVariant ( const QTime & val )"
+Constructs a new variant with a time value, \fIval\fR.
+.SH "QVariant::QVariant ( const QDateTime & val )"
+Constructs a new variant with a date/time value, \fIval\fR.
+.SH "QVariant::QVariant ( const QByteArray & val )"
+Constructs a new variant with a bytearray value, \fIval\fR.
+.SH "QVariant::QVariant ( const QBitArray & val )"
+Constructs a new variant with a bitarray value, \fIval\fR.
+.SH "QVariant::QVariant ( const QKeySequence & val )"
+Constructs a new variant with a key sequence value, \fIval\fR.
+.SH "QVariant::QVariant ( const QPen & val )"
+Constructs a new variant with a pen value, \fIval\fR.
+.SH "QVariant::QVariant ( const QValueList<QVariant> & val )"
+Constructs a new variant with a list value, \fIval\fR.
+.SH "QVariant::QVariant ( const QMap<QString, QVariant> & val )"
+Constructs a new variant with a map of QVariants, \fIval\fR.
+.SH "QVariant::QVariant ( int val )"
+Constructs a new variant with an integer value, \fIval\fR.
+.SH "QVariant::QVariant ( uint val )"
+Constructs a new variant with an unsigned integer value, \fIval\fR.
+.SH "QVariant::QVariant ( Q_LLONG val )"
+Constructs a new variant with a long long integer value, \fIval\fR.
+.SH "QVariant::QVariant ( Q_ULLONG val )"
+Constructs a new variant with an unsigned long long integer value, \fIval\fR.
+.SH "QVariant::~QVariant ()"
+Destroys the QVariant and the contained object.
+.PP
+Note that subclasses that reimplement clear() should reimplement the destructor to call clear(). This destructor calls clear(), but because it is the destructor, QVariant::clear() is called rather than a subclass's clear().
+.SH "QBitArray & QVariant::asBitArray ()"
+Tries to convert the variant to hold a QBitArray value. If that is not possible then the variant is set to an empty bitarray.
+.PP
+Returns a reference to the stored bitarray.
+.PP
+See also toBitArray().
+.SH "QBitmap & QVariant::asBitmap ()"
+Tries to convert the variant to hold a bitmap value. If that is not possible the variant is set to a null bitmap.
+.PP
+Returns a reference to the stored bitmap.
+.PP
+See also toBitmap().
+.SH "bool & QVariant::asBool ()"
+Returns the variant's value as bool reference.
+.SH "QBrush & QVariant::asBrush ()"
+Tries to convert the variant to hold a brush value. If that is not possible the variant is set to a default black brush.
+.PP
+Returns a reference to the stored brush.
+.PP
+See also toBrush().
+.SH "QByteArray & QVariant::asByteArray ()"
+Tries to convert the variant to hold a QByteArray value. If that is not possible then the variant is set to an empty bytearray.
+.PP
+Returns a reference to the stored bytearray.
+.PP
+See also toByteArray().
+.SH "QCString & QVariant::asCString ()"
+Tries to convert the variant to hold a string value. If that is not possible the variant is set to an empty string.
+.PP
+Returns a reference to the stored string.
+.PP
+See also toCString().
+.SH "QColor & QVariant::asColor ()"
+Tries to convert the variant to hold a QColor value. If that is not possible the variant is set to an invalid color.
+.PP
+Returns a reference to the stored color.
+.PP
+See also toColor() and QColor::isValid().
+.SH "QColorGroup & QVariant::asColorGroup ()"
+Tries to convert the variant to hold a QColorGroup value. If that is not possible the variant is set to a color group of all black colors.
+.PP
+Returns a reference to the stored color group.
+.PP
+See also toColorGroup().
+.SH "QCursor & QVariant::asCursor ()"
+Tries to convert the variant to hold a QCursor value. If that is not possible the variant is set to a default arrow cursor.
+.PP
+Returns a reference to the stored cursor.
+.PP
+See also toCursor().
+.SH "QDate & QVariant::asDate ()"
+Tries to convert the variant to hold a QDate value. If that is not possible then the variant is set to an invalid date.
+.PP
+Returns a reference to the stored date.
+.PP
+See also toDate().
+.SH "QDateTime & QVariant::asDateTime ()"
+Tries to convert the variant to hold a QDateTime value. If that is not possible then the variant is set to an invalid date/time.
+.PP
+Returns a reference to the stored date/time.
+.PP
+See also toDateTime().
+.SH "double & QVariant::asDouble ()"
+Returns the variant's value as double reference.
+.SH "QFont & QVariant::asFont ()"
+Tries to convert the variant to hold a QFont. If that is not possible the variant is set to the application's default font.
+.PP
+Returns a reference to the stored font.
+.PP
+See also toFont().
+.SH "QIconSet & QVariant::asIconSet ()"
+Tries to convert the variant to hold a QIconSet value. If that is not possible the variant is set to an empty iconset.
+.PP
+Returns a reference to the stored iconset.
+.PP
+See also toIconSet().
+.SH "QImage & QVariant::asImage ()"
+Tries to convert the variant to hold an image value. If that is not possible the variant is set to a null image.
+.PP
+Returns a reference to the stored image.
+.PP
+See also toImage().
+.SH "int & QVariant::asInt ()"
+Returns the variant's value as int reference.
+.SH "QKeySequence & QVariant::asKeySequence ()"
+Tries to convert the variant to hold a QKeySequence value. If that is not possible then the variant is set to an empty key sequence.
+.PP
+Returns a reference to the stored key sequence.
+.PP
+See also toKeySequence().
+.SH "QValueList<QVariant> & QVariant::asList ()"
+Returns the variant's value as variant list reference.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QVariant> list = myVariant.asList();
+.br
+ QValueList<QVariant>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "Q_LLONG & QVariant::asLongLong ()"
+Returns the variant's value as long long reference.
+.SH "QMap<QString, QVariant> & QVariant::asMap ()"
+Returns the variant's value as variant map reference.
+.PP
+Note that if you want to iterate over the map, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QMap<QString, QVariant> map = myVariant.asMap();
+.br
+ QMap<QString, QVariant>::Iterator it = map.begin();
+.br
+ while( it != map.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "QPalette & QVariant::asPalette ()"
+Tries to convert the variant to hold a QPalette value. If that is not possible the variant is set to a palette of black colors.
+.PP
+Returns a reference to the stored palette.
+.PP
+See also toString().
+.SH "QPen & QVariant::asPen ()"
+Tries to convert the variant to hold a QPen value. If that is not possible then the variant is set to an empty pen.
+.PP
+Returns a reference to the stored pen.
+.PP
+See also toPen().
+.SH "QPixmap & QVariant::asPixmap ()"
+Tries to convert the variant to hold a pixmap value. If that is not possible the variant is set to a null pixmap.
+.PP
+Returns a reference to the stored pixmap.
+.PP
+See also toPixmap().
+.SH "QPoint & QVariant::asPoint ()"
+Tries to convert the variant to hold a point value. If that is not possible the variant is set to a (0, 0) point.
+.PP
+Returns a reference to the stored point.
+.PP
+See also toPoint().
+.SH "QPointArray & QVariant::asPointArray ()"
+Tries to convert the variant to hold a QPointArray value. If that is not possible the variant is set to an empty point array.
+.PP
+Returns a reference to the stored point array.
+.PP
+See also toPointArray().
+.SH "QRect & QVariant::asRect ()"
+Tries to convert the variant to hold a rectangle value. If that is not possible the variant is set to an empty rectangle.
+.PP
+Returns a reference to the stored rectangle.
+.PP
+See also toRect().
+.SH "QRegion & QVariant::asRegion ()"
+Tries to convert the variant to hold a QRegion value. If that is not possible the variant is set to a null region.
+.PP
+Returns a reference to the stored region.
+.PP
+See also toRegion().
+.SH "QSize & QVariant::asSize ()"
+Tries to convert the variant to hold a QSize value. If that is not possible the variant is set to an invalid size.
+.PP
+Returns a reference to the stored size.
+.PP
+See also toSize() and QSize::isValid().
+.SH "QSizePolicy & QVariant::asSizePolicy ()"
+Tries to convert the variant to hold a QSizePolicy value. If that fails, the variant is set to an arbitrary (valid) size policy.
+.SH "QString & QVariant::asString ()"
+Tries to convert the variant to hold a string value. If that is not possible the variant is set to an empty string.
+.PP
+Returns a reference to the stored string.
+.PP
+See also toString().
+.SH "QStringList & QVariant::asStringList ()"
+Tries to convert the variant to hold a QStringList value. If that is not possible the variant is set to an empty string list.
+.PP
+Returns a reference to the stored string list.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myVariant.asStringList();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also toStringList().
+.SH "QTime & QVariant::asTime ()"
+Tries to convert the variant to hold a QTime value. If that is not possible then the variant is set to an invalid time.
+.PP
+Returns a reference to the stored time.
+.PP
+See also toTime().
+.SH "uint & QVariant::asUInt ()"
+Returns the variant's value as unsigned int reference.
+.SH "Q_ULLONG & QVariant::asULongLong ()"
+Returns the variant's value as unsigned long long reference.
+.SH "bool QVariant::canCast ( Type t ) const"
+Returns TRUE if the variant's type can be cast to the requested type, \fIt\fR. Such casting is done automatically when calling the toInt(), toBool(), ... or asInt(), asBool(), ... methods.
+.PP
+The following casts are done automatically: <center>.nf
+.TS
+l - l. Type Automatically Cast To Bool Double, Int, UInt, LongLong, ULongLong, String, CString, ByteArray Color String. CString. ByteArray Date String, CString, ByteArray, DateTime DateTime String, CString, ByteArray, Date, Time Double String, CString, ByteArray, Int, Bool, UInt, LongLong, ULongLong Font String, CString, ByteArray Int String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence LongLong String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence ULongLong String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence List StringList (if the list contains only strings or something that can be cast to a string) String CString, ByteArray, CString, Int, UInt, Bool, Double, Date, Time, DateTime, KeySequence, Font, Color CString String, ByteArray, Int, UInt, Bool, Double, Date, ULongLong, LongLong ByteArray String, CString, Int, UInt, Bool, Double, Date, ULongLong, LongLong StringList List Time String Int String, CString, ByteArray, Double, Bool, UInt, LongLong, ULongLong, KeySequence KeySequence
+.TE
+.fi
+</center>
+.SH "bool QVariant::cast ( Type t )"
+Casts the variant to the requested type. If the cast cannot be done, the variant is set to the default value of the requested type (e.g. an empty string if the requested type \fIt\fR is QVariant::String, an empty point array if the requested type \fIt\fR is QVariant::PointArray, etc). Returns TRUE if the current type of the variant was successfully cast; otherwise returns FALSE.
+.PP
+See also canCast().
+.SH "void QVariant::clear ()"
+Convert this variant to type Invalid and free up any resources used.
+.SH "bool QVariant::isNull () const"
+Returns TRUE if this is a NULL variant, FALSE otherwise.
+.SH "bool QVariant::isValid () const"
+Returns TRUE if the storage type of this variant is not QVariant::Invalid; otherwise returns FALSE.
+.SH "QValueListConstIterator<QVariant> QVariant::listBegin () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns an iterator to the first item in the list if the variant's type is appropriate; otherwise returns a null iterator.
+.SH "QValueListConstIterator<QVariant> QVariant::listEnd () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the end iterator for the list if the variant's type is appropriate; otherwise returns a null iterator.
+.SH "QMapConstIterator<QString, QVariant> QVariant::mapBegin () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns an iterator to the first item in the map, if the variant's type is appropriate; otherwise returns a null iterator.
+.SH "QMapConstIterator<QString, QVariant> QVariant::mapEnd () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the end iterator for the map, if the variant's type is appropriate; otherwise returns a null iterator.
+.SH "QMapConstIterator<QString, QVariant> QVariant::mapFind ( const QString & key ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns an iterator to the item in the map with \fIkey\fR as key, if the variant's type is appropriate and \fIkey\fR is a valid key; otherwise returns a null iterator.
+.SH "Type QVariant::nameToType ( const char * name )\fC [static]\fR"
+Converts the string representation of the storage type given in \fIname\fR, to its enum representation.
+.PP
+If the string representation cannot be converted to any enum representation, the variant is set to Invalid.
+.SH "bool QVariant::operator!= ( const QVariant & v ) const"
+Compares this QVariant with \fIv\fR and returns TRUE if they are not equal; otherwise returns FALSE.
+.SH "QVariant & QVariant::operator= ( const QVariant & variant )"
+Assigns the value of the variant \fIvariant\fR to this variant.
+.PP
+This is a deep copy of the variant, but note that if the variant holds an explicitly shared type such as QImage, a shallow copy is performed.
+.SH "bool QVariant::operator== ( const QVariant & v ) const"
+Compares this QVariant with \fIv\fR and returns TRUE if they are equal; otherwise returns FALSE.
+.SH "QValueListConstIterator<QString> QVariant::stringListBegin () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns an iterator to the first string in the list if the variant's type is StringList; otherwise returns a null iterator.
+.SH "QValueListConstIterator<QString> QVariant::stringListEnd () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Returns the end iterator for the list if the variant's type is StringList; otherwise returns a null iterator.
+.SH "const QBitArray QVariant::toBitArray () const"
+Returns the variant as a QBitArray if the variant has type() BitArray; otherwise returns an empty bitarray.
+.PP
+See also asBitArray().
+.SH "const QBitmap QVariant::toBitmap () const"
+Returns the variant as a QBitmap if the variant has type() Bitmap; otherwise returns a null QBitmap.
+.PP
+See also asBitmap().
+.SH "bool QVariant::toBool () const"
+Returns the variant as a bool if the variant can be cast to Bool; otherWise returns FALSE.
+.PP
+Returns TRUE if the variant has a numeric type and its value is non-zero, or if the variant has type String, ByteArray or CString and its lower-case content is not empty, "0" or "false"; otherwise returns FALSE.
+.PP
+See also asBool() and canCast().
+.SH "const QBrush QVariant::toBrush () const"
+Returns the variant as a QBrush if the variant has type() Brush; otherwise returns a default brush (with all black colors).
+.PP
+See also asBrush().
+.SH "const QByteArray QVariant::toByteArray () const"
+Returns the variant as a QByteArray if the variant can be cast to a ByteArray; otherwise returns an empty bytearray.
+.PP
+See also asByteArray() and canCast().
+.SH "const QCString QVariant::toCString () const"
+Returns the variant as a QCString if the variant can be cast to a CString; otherwise returns 0.
+.PP
+See also asCString() and canCast().
+.SH "const QColor QVariant::toColor () const"
+Returns the variant as a QColor if the variant can be cast to Color; otherwise returns an invalid color.
+.PP
+See also asColor() and canCast().
+.SH "const QColorGroup QVariant::toColorGroup () const"
+Returns the variant as a QColorGroup if the variant has type() ColorGroup; otherwise returns a completely black color group.
+.PP
+See also asColorGroup().
+.SH "const QCursor QVariant::toCursor () const"
+Returns the variant as a QCursor if the variant has type() Cursor; otherwise returns the default arrow cursor.
+.PP
+See also asCursor().
+.SH "const QDate QVariant::toDate () const"
+Returns the variant as a QDate if the variant can be cast to Date; otherwise returns an invalid date.
+.PP
+Note that if the type() is String, CString or ByteArray an invalid date will be returned if the string cannot be parsed as a Qt::ISODate format date.
+.PP
+See also asDate() and canCast().
+.SH "const QDateTime QVariant::toDateTime () const"
+Returns the variant as a QDateTime if the variant can be cast to DateTime; otherwise returns an invalid QDateTime.
+.PP
+Note that if the type() is String, CString or ByteArray an invalid QDateTime will be returned if the string cannot be parsed as a Qt::ISODate format date/time.
+.PP
+See also asDateTime().
+.SH "double QVariant::toDouble ( bool * ok = 0 ) const"
+Returns the variant as a double if the variant can be cast to Double; otherwise returns 0.0.
+.PP
+If \fIok\fR is non-null: \fI*ok\fR is set to TRUE if the value could be converted to a double; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also asDouble() and canCast().
+.SH "const QFont QVariant::toFont () const"
+Returns the variant as a QFont if the variant can be cast to Font; otherwise returns the application's default font.
+.PP
+See also asFont() and canCast().
+.SH "const QIconSet QVariant::toIconSet () const"
+Returns the variant as a QIconSet if the variant has type() IconSet; otherwise returns an icon set of null pixmaps.
+.PP
+See also asIconSet().
+.SH "const QImage QVariant::toImage () const"
+Returns the variant as a QImage if the variant has type() Image; otherwise returns a null image.
+.PP
+See also asImage().
+.SH "int QVariant::toInt ( bool * ok = 0 ) const"
+Returns the variant as an int if the variant can be cast to Int; otherwise returns 0.
+.PP
+If \fIok\fR is non-null: \fI*ok\fR is set to TRUE if the value could be converted to an int; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also asInt() and canCast().
+.SH "const QKeySequence QVariant::toKeySequence () const"
+Returns the variant as a QKeySequence if the variant can be cast to a KeySequence; otherwise returns an empty key sequence.
+.PP
+See also asKeySequence() and canCast().
+.SH "const QValueList<QVariant> QVariant::toList () const"
+Returns the variant as a QValueList<QVariant> if the variant has type() List or StringList; otherwise returns an empty list.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QValueList<QVariant> list = myVariant.toList();
+.br
+ QValueList<QVariant>::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also asList().
+.SH "Q_LLONG QVariant::toLongLong ( bool * ok = 0 ) const"
+Returns the variant as a long long int if the variant can be cast to LongLong; otherwise returns 0.
+.PP
+If \fIok\fR is non-null: \fI*ok\fR is set to TRUE if the value could be converted to an int; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also asLongLong() and canCast().
+.SH "const QMap<QString, QVariant> QVariant::toMap () const"
+Returns the variant as a QMap<QString,QVariant> if the variant has type() Map; otherwise returns an empty map.
+.PP
+Note that if you want to iterate over the map, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QMap<QString, QVariant> map = myVariant.toMap();
+.br
+ QMap<QString, QVariant>::Iterator it = map.begin();
+.br
+ while( it != map.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also asMap().
+.SH "const QPalette QVariant::toPalette () const"
+Returns the variant as a QPalette if the variant has type() Palette; otherwise returns a completely black palette.
+.PP
+See also asPalette().
+.SH "const QPen QVariant::toPen () const"
+Returns the variant as a QPen if the variant has type() Pen; otherwise returns an empty QPen.
+.PP
+See also asPen().
+.SH "const QPixmap QVariant::toPixmap () const"
+Returns the variant as a QPixmap if the variant has type() Pixmap; otherwise returns a null pixmap.
+.PP
+See also asPixmap().
+.SH "const QPoint QVariant::toPoint () const"
+Returns the variant as a QPoint if the variant has type() Point; otherwise returns a point (0, 0).
+.PP
+See also asPoint().
+.SH "const QPointArray QVariant::toPointArray () const"
+Returns the variant as a QPointArray if the variant has type() PointArray; otherwise returns an empty QPointArray.
+.PP
+See also asPointArray().
+.SH "const QRect QVariant::toRect () const"
+Returns the variant as a QRect if the variant has type() Rect; otherwise returns an empty rectangle.
+.PP
+See also asRect().
+.SH "const QRegion QVariant::toRegion () const"
+Returns the variant as a QRegion if the variant has type() Region; otherwise returns an empty QRegion.
+.PP
+See also asRegion().
+.SH "const QSize QVariant::toSize () const"
+Returns the variant as a QSize if the variant has type() Size; otherwise returns an invalid size.
+.PP
+See also asSize().
+.SH "QSizePolicy QVariant::toSizePolicy () const"
+Returns the variant as a QSizePolicy if the variant has type() SizePolicy; otherwise returns an undefined (but legal) size policy.
+.SH "const QString QVariant::toString () const"
+Returns the variant as a QString if the variant can be cast to String, otherwise returns QString::null.
+.PP
+See also asString() and canCast().
+.SH "const QStringList QVariant::toStringList () const"
+Returns the variant as a QStringList if the variant has type() StringList or List of a type that can be converted to QString; otherwise returns an empty list.
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myVariant.toStringList();
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.PP
+See also asStringList().
+.SH "const QTime QVariant::toTime () const"
+Returns the variant as a QTime if the variant can be cast to Time; otherwise returns an invalid date.
+.PP
+Note that if the type() is String, CString or ByteArray an invalid time will be returned if the string cannot be parsed as a Qt::ISODate format time.
+.PP
+See also asTime().
+.SH "uint QVariant::toUInt ( bool * ok = 0 ) const"
+Returns the variant as an unsigned int if the variant can be cast to UInt; otherwise returns 0.
+.PP
+If \fIok\fR is non-null: \fI*ok\fR is set to TRUE if the value could be converted to an unsigned int; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also asUInt() and canCast().
+.SH "Q_ULLONG QVariant::toULongLong ( bool * ok = 0 ) const"
+Returns the variant as as an unsigned long long int if the variant can be cast to ULongLong; otherwise returns 0.
+.PP
+If \fIok\fR is non-null: \fI*ok\fR is set to TRUE if the value could be converted to an int; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also asULongLong() and canCast().
+.SH "Type QVariant::type () const"
+Returns the storage type of the value stored in the variant. Usually it's best to test with canCast() whether the variant can deliver the data type you are interested in.
+.SH "const char * QVariant::typeName () const"
+Returns the name of the type stored in the variant. The returned strings describe the C++ datatype used to store the data: for example, "QFont", "QString", or "QValueList<QVariant>". An Invalid variant returns 0.
+.SH "const char * QVariant::typeToName ( Type typ )\fC [static]\fR"
+Converts the enum representation of the storage type, \fItyp\fR, to
+its string representation.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvariant.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvariant.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvbox.3qt b/doc/man/man3/qvbox.3qt
new file mode 100644
index 0000000..a67c50f
--- /dev/null
+++ b/doc/man/man3/qvbox.3qt
@@ -0,0 +1,62 @@
+'\" t
+.TH QVBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QVBox \- Vertical geometry management of its child widgets
+.SH SYNOPSIS
+\fC#include <qvbox.h>\fR
+.PP
+Inherits QHBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQVBox\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QVBox widget provides vertical geometry management of its child widgets.
+.PP
+All its child widgets will be placed vertically and sized according to their sizeHint()s.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QHBox, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QVBox::QVBox ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a vbox widget called \fIname\fR with parent \fIparent\fR and
+widget flags \fIf\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvboxlayout.3qt b/doc/man/man3/qvboxlayout.3qt
new file mode 100644
index 0000000..94dd12d
--- /dev/null
+++ b/doc/man/man3/qvboxlayout.3qt
@@ -0,0 +1,96 @@
+'\" t
+.TH QVBoxLayout 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QVBoxLayout \- Lines up widgets vertically
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QBoxLayout.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQVBoxLayout\fR ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQVBoxLayout\fR ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQVBoxLayout\fR ( int spacing = -1, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QVBoxLayout\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QVBoxLayout class lines up widgets vertically.
+.PP
+This class is used to construct vertical box layout objects. See QBoxLayout for more details.
+.PP
+The simplest use of the class is like this:
+.PP
+.nf
+.br
+ QBoxLayout * l = new QVBoxLayout( widget );
+.br
+ l->addWidget( aWidget );
+.br
+ l->addWidget( anotherWidget );
+.br
+.fi
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QHBoxLayout, QGridLayout, the Layout overview, Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QVBoxLayout::QVBoxLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 )"
+Constructs a new top-level vertical box called \fIname\fR, with parent \fIparent\fR.
+.PP
+The \fImargin\fR is the number of pixels between the edge of the widget and its managed children. The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1 the value of \fImargin\fR is used for \fIspacing\fR.
+.SH "QVBoxLayout::QVBoxLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 )"
+Constructs a new vertical box called name \fIname\fR and adds it to \fIparentLayout\fR.
+.PP
+The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1, this QVBoxLayout will inherit its parent's spacing().
+.SH "QVBoxLayout::QVBoxLayout ( int spacing = -1, const char * name = 0 )"
+Constructs a new vertical box called name \fIname\fR. You must add it to another layout.
+.PP
+The \fIspacing\fR is the default number of pixels between neighboring children. If \fIspacing\fR is -1, this QVBoxLayout will inherit its parent's spacing().
+.SH "QVBoxLayout::~QVBoxLayout ()"
+Destroys this box layout.
+.PP
+The layout's widgets aren't destroyed.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvboxlayout.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvboxlayout.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvbuttongroup.3qt b/doc/man/man3/qvbuttongroup.3qt
new file mode 100644
index 0000000..4e80045
--- /dev/null
+++ b/doc/man/man3/qvbuttongroup.3qt
@@ -0,0 +1,75 @@
+'\" t
+.TH QVButtonGroup 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QVButtonGroup \- Organizes QButton widgets in a vertical column
+.SH SYNOPSIS
+\fC#include <qvbuttongroup.h>\fR
+.PP
+Inherits QButtonGroup.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQVButtonGroup\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQVButtonGroup\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QVButtonGroup\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QVButtonGroup widget organizes QButton widgets in a vertical column.
+.PP
+QVButtonGroup is a convenience class that offers a thin layer on top of QButtonGroup. Think of it as a QVBox that offers a frame with a title and is specifically designed for buttons.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QHButtonGroup, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QVButtonGroup::QVButtonGroup ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a vertical button group with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QVButtonGroup::QVButtonGroup ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a vertical button group with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QVButtonGroup::~QVButtonGroup ()"
+Destroys the vertical button group, deleting its child widgets.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvbuttongroup.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvbuttongroup.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qvgroupbox.3qt b/doc/man/man3/qvgroupbox.3qt
new file mode 100644
index 0000000..ee3ce29
--- /dev/null
+++ b/doc/man/man3/qvgroupbox.3qt
@@ -0,0 +1,75 @@
+'\" t
+.TH QVGroupBox 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QVGroupBox \- Organizes a group of widgets in a vertical column
+.SH SYNOPSIS
+\fC#include <qvgroupbox.h>\fR
+.PP
+Inherits QGroupBox.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQVGroupBox\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQVGroupBox\fR ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QVGroupBox\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QVGroupBox widget organizes a group of widgets in a vertical column.
+.PP
+QVGroupBox is a convenience class that offers a thin layer on top of QGroupBox. Think of it as a QVBox that offers a frame with a title.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+See also QHGroupBox, Widget Appearance and Style, Layout Management, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QVGroupBox::QVGroupBox ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a vertical group box with no title.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QVGroupBox::QVGroupBox ( const QString & title, QWidget * parent = 0, const char * name = 0 )"
+Constructs a vertical group box with the title \fItitle\fR.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed on to the QWidget constructor.
+.SH "QVGroupBox::~QVGroupBox ()"
+Destroys the vertical group box, deleting its child widgets.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qvgroupbox.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qvgroupbox.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwaitcondition.3qt b/doc/man/man3/qwaitcondition.3qt
new file mode 100644
index 0000000..d4f1690
--- /dev/null
+++ b/doc/man/man3/qwaitcondition.3qt
@@ -0,0 +1,202 @@
+'\" t
+.TH QWaitCondition 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWaitCondition \- Allows waiting/waking for conditions between threads
+.SH SYNOPSIS
+All the functions in this class are thread-safe when Qt is built with thread support.</p>
+.PP
+\fC#include <qwaitcondition.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWaitCondition\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWaitCondition\fR ()"
+.br
+.ti -1c
+.BI "bool \fBwait\fR ( unsigned long time = ULONG_MAX )"
+.br
+.ti -1c
+.BI "bool \fBwait\fR ( QMutex * mutex, unsigned long time = ULONG_MAX )"
+.br
+.ti -1c
+.BI "void \fBwakeOne\fR ()"
+.br
+.ti -1c
+.BI "void \fBwakeAll\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWaitCondition class allows waiting/waking for conditions between threads.
+.PP
+QWaitConditions allow a thread to tell other threads that some sort of condition has been met; one or many threads can block waiting for a QWaitCondition to set a condition with wakeOne() or wakeAll(). Use wakeOne() to wake one randomly selected event or wakeAll() to wake them all. For example, say we have three tasks that should be performed every time the user presses a key; each task could be split into a thread, each of which would have a run() body like this:
+.PP
+.nf
+.br
+ QWaitCondition key_pressed;
+.br
+.br
+ for (;;) {
+.br
+ key_pressed.wait(); // This is a QWaitCondition global variable
+.br
+ // Key was pressed, do something interesting
+.br
+ do_something();
+.br
+ }
+.br
+.fi
+.PP
+A fourth thread would read key presses and wake the other three threads up every time it receives one, like this:
+.PP
+.nf
+.br
+ QWaitCondition key_pressed;
+.br
+.br
+ for (;;) {
+.br
+ getchar();
+.br
+ // Causes any thread in key_pressed.wait() to return from
+.br
+ // that method and continue processing
+.br
+ key_pressed.wakeAll();
+.br
+ }
+.br
+.fi
+.PP
+Note that the order the three threads are woken up in is undefined, and that if some or all of the threads are still in do_something() when the key is pressed, they won't be woken up (since they're not waiting on the condition variable) and so the task will not be performed for that key press. This can be avoided by, for example, doing something like this:
+.PP
+.nf
+.br
+ QMutex mymutex;
+.br
+ QWaitCondition key_pressed;
+.br
+ int mycount=0;
+.br
+.br
+ // Worker thread code
+.br
+ for (;;) {
+.br
+ key_pressed.wait(); // This is a QWaitCondition global variable
+.br
+ mymutex.lock();
+.br
+ mycount++;
+.br
+ mymutex.unlock();
+.br
+ do_something();
+.br
+ mymutex.lock();
+.br
+ mycount--;
+.br
+ mymutex.unlock();
+.br
+ }
+.br
+.br
+ // Key reading thread code
+.br
+ for (;;) {
+.br
+ getchar();
+.br
+ mymutex.lock();
+.br
+ // Sleep until there are no busy worker threads
+.br
+ while( mycount > 0 ) {
+.br
+ mymutex.unlock();
+.br
+ sleep( 1 );
+.br
+ mymutex.lock();
+.br
+ }
+.br
+ mymutex.unlock();
+.br
+ key_pressed.wakeAll();
+.br
+ }
+.br
+.fi
+.PP
+The mutexes are necessary because the results of two threads attempting to change the value of the same variable simultaneously are unpredictable.
+.PP
+See also Environment Classes and Threading.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWaitCondition::QWaitCondition ()"
+Constructs a new event signalling, i.e. wait condition, object.
+.SH "QWaitCondition::~QWaitCondition ()\fC [virtual]\fR"
+Deletes the event signalling, i.e. wait condition, object.
+.SH "bool QWaitCondition::wait ( unsigned long time = ULONG_MAX )"
+Wait on the thread event object. The thread calling this will block until either of these conditions is met:
+.TP
+Another thread signals it using wakeOne() or wakeAll(). This function will return TRUE in this case.
+.TP
+\fItime\fR milliseconds has elapsed. If \fItime\fR is ULONG_MAX (the default), then the wait will never timeout (the event must be signalled). This function will return FALSE if the wait timed out.
+.PP
+See also wakeOne() and wakeAll().
+.SH "bool QWaitCondition::wait ( QMutex * mutex, unsigned long time = ULONG_MAX )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Release the locked \fImutex\fR and wait on the thread event object. The \fImutex\fR must be initially locked by the calling thread. If \fImutex\fR is not in a locked state, this function returns immediately. If \fImutex\fR is a recursive mutex, this function returns immediately. The \fImutex\fR will be unlocked, and the calling thread will block until either of these conditions is met:
+.TP
+Another thread signals it using wakeOne() or wakeAll(). This function will return TRUE in this case.
+.TP
+\fItime\fR milliseconds has elapsed. If \fItime\fR is ULONG_MAX (the default), then the wait will never timeout (the event must be signalled). This function will return FALSE if the wait timed out.
+.PP
+The mutex will be returned to the same locked state. This function is provided to allow the atomic transition from the locked state to the wait state.
+.PP
+See also wakeOne() and wakeAll().
+.SH "void QWaitCondition::wakeAll ()"
+This wakes all threads waiting on the QWaitCondition. The order in which the threads are woken up depends on the operating system's scheduling policies, and cannot be controlled or predicted.
+.PP
+See also wakeOne().
+.SH "void QWaitCondition::wakeOne ()"
+This wakes one thread waiting on the QWaitCondition. The thread that is woken up depends on the operating system's scheduling policies, and cannot be controlled or predicted.
+.PP
+See also wakeAll().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwaitcondition.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwaitcondition.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwhatsthis.3qt b/doc/man/man3/qwhatsthis.3qt
new file mode 100644
index 0000000..45a47d9
--- /dev/null
+++ b/doc/man/man3/qwhatsthis.3qt
@@ -0,0 +1,207 @@
+'\" t
+.TH QWhatsThis 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWhatsThis \- Simple description of any widget, i.e. answering the question "What's this?"
+.SH SYNOPSIS
+\fC#include <qwhatsthis.h>\fR
+.PP
+Inherits Qt.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWhatsThis\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual \fB~QWhatsThis\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBtext\fR ( const QPoint & )"
+.br
+.ti -1c
+.BI "virtual bool \fBclicked\fR ( const QString & href )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetFont\fR ( const QFont & font )"
+.br
+.ti -1c
+.BI "void \fBadd\fR ( QWidget * widget, const QString & text )"
+.br
+.ti -1c
+.BI "void \fBremove\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "QString \fBtextFor\fR ( QWidget * w, const QPoint & pos = QPoint ( ), bool includeParents = FALSE )"
+.br
+.ti -1c
+.BI "QToolButton * \fBwhatsThisButton\fR ( QWidget * parent )"
+.br
+.ti -1c
+.BI "void \fBenterWhatsThisMode\fR ()"
+.br
+.ti -1c
+.BI "bool \fBinWhatsThisMode\fR ()"
+.br
+.ti -1c
+.BI "void \fBleaveWhatsThisMode\fR ( const QString & text = QString::null, const QPoint & pos = QCursor::pos ( ), QWidget * w = 0 )"
+.br
+.ti -1c
+.BI "void \fBdisplay\fR ( const QString & text, const QPoint & pos = QCursor::pos ( ), QWidget * w = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWhatsThis class provides a simple description of any widget, i.e. answering the question "What's this?".
+.PP
+.PP"
+What's this?" help is part of an application's online help system that provides users with information about functionality, usage, background etc., in various levels of detail from short tool tips to full text browsing help windows.
+.PP
+QWhatsThis provides a single window with an explanatory text that pops up when the user asks "What's this?". The default way to do this is to focus the relevant widget and press Shift+F1. The help text appears immediately; it goes away as soon as the user does something else.
+.PP
+(Note that if there is an accelerator for Shift+F1, this mechanism will not work.)
+.PP
+To add "What's this?" text to a widget you simply call QWhatsThis::add() for the widget. For example, to assign text to a menu item, call QMenuData::setWhatsThis(); for a global accelerator key, call QAccel::setWhatsThis() and If you're using actions, use QAction::setWhatsThis().
+.PP
+The text can be either rich text or plain text. If you specify a rich text formatted string, it will be rendered using the default stylesheet. This makes it possible to embed images. See QStyleSheet::defaultSheet() for details.
+.PP
+.nf
+.br
+ const char * fileOpenText = "<p><img source=\\"fileopen\\"> "
+.br
+ "Click this button to open a <em>new file</em>. <br>"
+.br
+ "You can also select the <b>Open</b> command "
+.br
+ "from the <b>File</b> menu.</p>";
+.br
+ QMimeSourceFactory::defaultFactory()->setPixmap( "fileopen",
+.br
+ fileOpenAction->iconSet().pixmap() );
+.br
+ fileOpenAction->setWhatsThis( fileOpenText );
+.fi
+.PP
+An alternative way to enter "What's this?" mode is to use the ready-made tool bar tool button from QWhatsThis::whatsThisButton(). By invoking this context help button (in the picture below the first one from the right) the user switches into "What's this?" mode. If they now click on a widget the appropriate help text is shown. The mode is left when help is given or when the user presses Esc.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.PP
+If you are using QMainWindow you can also use the QMainWindow::whatsThis() slot to invoke the mode from a menu item.
+.PP
+For more control you can create a dedicated QWhatsThis object for a special widget. By subclassing and reimplementing QWhatsThis::text() it is possible to have different help texts, depending on the position of the mouse click. By reimplementing QWhatsThis::clicked() it is possible to have hyperlinks inside the help texts.
+.PP
+If you wish to control the "What's this?" behavior of a widget manually see QWidget::customWhatsThis().
+.PP
+The What's This object can be removed using QWhatsThis::remove(), although this is rarely necessary because it is automatically removed when the widget is destroyed.
+.PP
+See also QToolTip and Help System.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWhatsThis::QWhatsThis ( QWidget * widget )"
+Constructs a dynamic "What's this?" object for \fIwidget\fR. The object is deleted when the \fIwidget\fR is destroyed.
+.PP
+When the widget is queried by the user the text() function of this QWhatsThis will be called to provide the appropriate text, rather than using the text assigned by add().
+.SH "QWhatsThis::~QWhatsThis ()\fC [virtual]\fR"
+Destroys the object and frees any allocated resources.
+.SH "void QWhatsThis::add ( QWidget * widget, const QString & text )\fC [static]\fR"
+Adds \fItext\fR as "What's this" help for \fIwidget\fR. If the text is rich text formatted (i.e. it contains markup) it will be rendered with the default stylesheet QStyleSheet::defaultSheet().
+.PP
+The text is destroyed if the widget is later destroyed, so it need not be explicitly removed.
+.PP
+See also remove().
+.PP
+Examples:
+.)l application/application.cpp, helpsystem/mainwindow.cpp, and mdi/application.cpp.
+.SH "bool QWhatsThis::clicked ( const QString & href )\fC [virtual]\fR"
+This virtual function is called when the user clicks inside the" What's this?" window. \fIhref\fR is the link the user clicked on, or QString::null if there was no link.
+.PP
+If the function returns TRUE (the default), the "What's this?" window is closed, otherwise it remains visible.
+.PP
+The default implementation ignores \fIhref\fR and returns TRUE.
+.SH "void QWhatsThis::display ( const QString & text, const QPoint & pos = QCursor::pos ( ), QWidget * w = 0 )\fC [static]\fR"
+Display \fItext\fR in a help window at the global screen position \fIpos\fR.
+.PP
+If widget \fIw\fR is not 0 and has its own dedicated QWhatsThis object, this object will receive clicked() messages when the user clicks on hyperlinks inside the help text.
+.PP
+See also QWhatsThis::clicked().
+.SH "void QWhatsThis::enterWhatsThisMode ()\fC [static]\fR"
+Enters "What's this?" mode and returns immediately.
+.PP
+Qt will install a special cursor and take over mouse input until the user clicks somewhere. It then shows any help available and ends "What's this?" mode. Finally, Qt removes the special cursor and help window and then restores ordinary event processing, at which point the left mouse button is no longer pressed.
+.PP
+The user can also use the Esc key to leave "What's this?" mode.
+.PP
+See also inWhatsThisMode() and leaveWhatsThisMode().
+.SH "bool QWhatsThis::inWhatsThisMode ()\fC [static]\fR"
+Returns TRUE if the application is in "What's this?" mode; otherwise returns FALSE.
+.PP
+See also enterWhatsThisMode() and leaveWhatsThisMode().
+.SH "void QWhatsThis::leaveWhatsThisMode ( const QString & text = QString::null, const QPoint & pos = QCursor::pos ( ), QWidget * w = 0 )\fC [static]\fR"
+Leaves "What's this?" question mode.
+.PP
+This function is used internally by widgets that support QWidget::customWhatsThis(); applications do not usually call it. An example of such a widget is QPopupMenu: menus still work normally in "What's this?" mode but also provide help texts for individual menu items.
+.PP
+If \fItext\fR is not QString::null, a "What's this?" help window is displayed at the global screen position \fIpos\fR. If widget \fIw\fR is not 0 and has its own dedicated QWhatsThis object, this object will receive clicked() messages when the user clicks on hyperlinks inside the help text.
+.PP
+See also inWhatsThisMode(), enterWhatsThisMode(), and QWhatsThis::clicked().
+.SH "void QWhatsThis::remove ( QWidget * widget )\fC [static]\fR"
+Removes the "What's this?" help associated with the \fIwidget\fR. This happens automatically if the widget is destroyed.
+.PP
+See also add().
+.SH "void QWhatsThis::setFont ( const QFont & font )\fC [static]\fR"
+Sets the font for all "What's this?" helps to \fIfont\fR.
+.SH "QString QWhatsThis::text ( const QPoint & )\fC [virtual]\fR"
+This virtual function returns the text for position \fIp\fR in the widget that this "What's this?" object documents. If there is no" What's this?" text for the position, QString::null is returned.
+.PP
+The default implementation returns QString::null.
+.SH "QString QWhatsThis::textFor ( QWidget * w, const QPoint & pos = QPoint ( ), bool includeParents = FALSE )\fC [static]\fR"
+Returns the what's this text for widget \fIw\fR or QString::null if there is no "What's this?" help for the widget. \fIpos\fR contains the mouse position; this is useful, for example, if you've subclassed to make the text that is displayed position dependent.
+.PP
+If \fIincludeParents\fR is TRUE, parent widgets are taken into consideration as well when looking for what's this help text.
+.PP
+See also add().
+.SH "QToolButton * QWhatsThis::whatsThisButton ( QWidget * parent )\fC [static]\fR"
+Creates a QToolButton preconfigured to enter "What's this?" mode when clicked. You will often use this with a tool bar as \fIparent\fR:
+.PP
+.nf
+.br
+ (void) QWhatsThis::whatsThisButton( my_help_tool_bar );
+.br
+.fi
+.PP
+Example: helpsystem/mainwindow.cpp.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwhatsthis.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwhatsthis.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwheelevent.3qt b/doc/man/man3/qwheelevent.3qt
new file mode 100644
index 0000000..095dbc6
--- /dev/null
+++ b/doc/man/man3/qwheelevent.3qt
@@ -0,0 +1,160 @@
+'\" t
+.TH QWheelEvent 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWheelEvent \- Parameters that describe a wheel event
+.SH SYNOPSIS
+\fC#include <qevent.h>\fR
+.PP
+Inherits QEvent.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWheelEvent\fR ( const QPoint & pos, int delta, int state, Orientation orient = Vertical )"
+.br
+.ti -1c
+.BI "\fBQWheelEvent\fR ( const QPoint & pos, const QPoint & globalPos, int delta, int state, Orientation orient = Vertical )"
+.br
+.ti -1c
+.BI "int \fBdelta\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.ti -1c
+.BI "const QPoint & \fBglobalPos\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalX\fR () const"
+.br
+.ti -1c
+.BI "int \fBglobalY\fR () const"
+.br
+.ti -1c
+.BI "ButtonState \fBstate\fR () const"
+.br
+.ti -1c
+.BI "Orientation \fBorientation\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisAccepted\fR () const"
+.br
+.ti -1c
+.BI "void \fBaccept\fR ()"
+.br
+.ti -1c
+.BI "void \fBignore\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWheelEvent class contains parameters that describe a wheel event.
+.PP
+Wheel events are sent to the widget under the mouse, and if that widget does not handle the event they are sent to the focus widget. The rotation distance is provided by delta(). The functions pos() and globalPos() return the mouse pointer location at the time of the event.
+.PP
+A wheel event contains a special accept flag that indicates whether the receiver wants the event. You should call QWheelEvent::accept() if you handle the wheel event; otherwise it will be sent to the parent widget.
+.PP
+The QWidget::setEnable() function can be used to enable or disable mouse and keyboard events for a widget.
+.PP
+The event handler QWidget::wheelEvent() receives wheel events.
+.PP
+See also QMouseEvent, QWidget::grabMouse(), and Event Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWheelEvent::QWheelEvent ( const QPoint & pos, int delta, int state, Orientation orient = Vertical )"
+Constructs a wheel event object.
+.PP
+The globalPos() is initialized to QCursor::pos(), i.e. \fIpos\fR, which is usually (but not always) right. Use the other constructor if you need to specify the global position explicitly. \fIdelta\fR contains the rotation distance, \fIstate\fR holds the keyboard modifier flags at the time of the event and \fIorient\fR holds the wheel's orientation.
+.PP
+See also pos(), delta(), and state().
+.SH "QWheelEvent::QWheelEvent ( const QPoint & pos, const QPoint & globalPos, int delta, int state, Orientation orient = Vertical )"
+Constructs a wheel event object. The position when the event occurred is given in \fIpos\fR and \fIglobalPos\fR. \fIdelta\fR contains the rotation distance, \fIstate\fR holds the keyboard modifier flags at the time of the event and \fIorient\fR holds the wheel's orientation.
+.PP
+See also pos(), globalPos(), delta(), and state().
+.SH "void QWheelEvent::accept ()"
+Sets the accept flag of the wheel event object.
+.PP
+Setting the accept parameter indicates that the receiver of the event wants the wheel event. Unwanted wheel events are sent to the parent widget.
+.PP
+The accept flag is set by default.
+.PP
+See also ignore().
+.SH "int QWheelEvent::delta () const"
+Returns the distance that the wheel is rotated expressed in multiples or divisions of the \fIwheel delta\fR, which is currently defined to be 120. A positive value indicates that the wheel was rotated forwards away from the user; a negative value indicates that the wheel was rotated backwards toward the user.
+.PP
+The \fIwheel delta\fR constant was defined to be 120 by wheel mouse vendors to allow building finer-resolution wheels in the future, including perhaps a freely rotating wheel with no notches. The expectation is that such a device would send more messages per rotation but with a smaller value in each message.
+.SH "const QPoint & QWheelEvent::globalPos () const"
+Returns the global position of the mouse pointer \fIat the time of the event\fR. This is important on asynchronous window systems such as X11; whenever you move your widgets around in response to mouse events, globalPos() can differ a lot from the current pointer position QCursor::pos().
+.PP
+See also globalX() and globalY().
+.SH "int QWheelEvent::globalX () const"
+Returns the global x-position of the mouse pointer at the time of the event.
+.PP
+See also globalY() and globalPos().
+.SH "int QWheelEvent::globalY () const"
+Returns the global y-position of the mouse pointer at the time of the event.
+.PP
+See also globalX() and globalPos().
+.SH "void QWheelEvent::ignore ()"
+Clears the accept flag parameter of the wheel event object.
+.PP
+Clearing the accept parameter indicates that the event receiver does not want the wheel event. Unwanted wheel events are sent to the parent widget. The accept flag is set by default.
+.PP
+See also accept().
+.SH "bool QWheelEvent::isAccepted () const"
+Returns TRUE if the receiver of the event handles the wheel event; otherwise returns FALSE.
+.SH "Orientation QWheelEvent::orientation () const"
+Returns the wheel's orientation.
+.SH "const QPoint & QWheelEvent::pos () const"
+Returns the position of the mouse pointer, relative to the widget that received the event.
+.PP
+If you move your widgets around in response to mouse events, use globalPos() instead of this function.
+.PP
+See also x(), y(), and globalPos().
+.SH "ButtonState QWheelEvent::state () const"
+Returns the keyboard modifier flags of the event.
+.PP
+The returned value is ShiftButton, ControlButton, and AltButton OR'ed together.
+.SH "int QWheelEvent::x () const"
+Returns the x-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also y() and pos().
+.SH "int QWheelEvent::y () const"
+Returns the y-position of the mouse pointer, relative to the widget that received the event.
+.PP
+See also x() and pos().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwheelevent.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwheelevent.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwidget.3qt b/doc/man/man3/qwidget.3qt
new file mode 100644
index 0000000..fc49176
--- /dev/null
+++ b/doc/man/man3/qwidget.3qt
@@ -0,0 +1,3219 @@
+'\" t
+.TH QWidget 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWidget \- The base class of all user interface objects
+.SH SYNOPSIS
+\fC#include <qwidget.h>\fR
+.PP
+Inherits QObject and QPaintDevice.
+.PP
+Inherited by QAxWidget, QButton, QFrame, QDialog, QComboBox, QDataBrowser, QDataView, QDateTimeEditBase, QDateTimeEdit, QDesktopWidget, QDial, QDockArea, QGLWidget, QHeader, QMainWindow, QMotifWidget, QNPWidget, QScrollBar, QSizeGrip, QSlider, QSpinBox, QSplashScreen, QStatusBar, QTabBar, QTabWidget, QWorkspace, and QXtWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "explicit \fBQWidget\fR ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QWidget\fR ()"
+.br
+.ti -1c
+.BI "WId \fBwinId\fR () const"
+.br
+.ti -1c
+.BI "QStyle & \fBstyle\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetStyle\fR ( QStyle * style )"
+.br
+.ti -1c
+.BI "QStyle * \fBsetStyle\fR ( const QString & style )"
+.br
+.ti -1c
+.BI "bool \fBisTopLevel\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDialog\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisPopup\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisDesktop\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisModal\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEnabled\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisEnabledTo\fR ( QWidget * ancestor ) const"
+.br
+.ti -1c
+.BI "bool isEnabledToTLW () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QRect \fBframeGeometry\fR () const"
+.br
+.ti -1c
+.BI "const QRect & \fBgeometry\fR () const"
+.br
+.ti -1c
+.BI "int \fBx\fR () const"
+.br
+.ti -1c
+.BI "int \fBy\fR () const"
+.br
+.ti -1c
+.BI "QPoint \fBpos\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBframeSize\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR () const"
+.br
+.ti -1c
+.BI "int \fBwidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBheight\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBchildrenRect\fR () const"
+.br
+.ti -1c
+.BI "QRegion \fBchildrenRegion\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "int \fBminimumWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBminimumHeight\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaximumWidth\fR () const"
+.br
+.ti -1c
+.BI "int \fBmaximumHeight\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetMinimumSize\fR ( const QSize & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMinimumSize\fR ( int minw, int minh )"
+.br
+.ti -1c
+.BI "void \fBsetMaximumSize\fR ( const QSize & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMaximumSize\fR ( int maxw, int maxh )"
+.br
+.ti -1c
+.BI "void \fBsetMinimumWidth\fR ( int minw )"
+.br
+.ti -1c
+.BI "void \fBsetMinimumHeight\fR ( int minh )"
+.br
+.ti -1c
+.BI "void \fBsetMaximumWidth\fR ( int maxw )"
+.br
+.ti -1c
+.BI "void \fBsetMaximumHeight\fR ( int maxh )"
+.br
+.ti -1c
+.BI "QSize \fBsizeIncrement\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetSizeIncrement\fR ( const QSize & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetSizeIncrement\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "QSize \fBbaseSize\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetBaseSize\fR ( const QSize & )"
+.br
+.ti -1c
+.BI "void \fBsetBaseSize\fR ( int basew, int baseh )"
+.br
+.ti -1c
+.BI "void \fBsetFixedSize\fR ( const QSize & s )"
+.br
+.ti -1c
+.BI "void \fBsetFixedSize\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "void \fBsetFixedWidth\fR ( int w )"
+.br
+.ti -1c
+.BI "void \fBsetFixedHeight\fR ( int h )"
+.br
+.ti -1c
+.BI "QPoint \fBmapToGlobal\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmapFromGlobal\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmapToParent\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmapFromParent\fR ( const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmapTo\fR ( QWidget * parent, const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmapFrom\fR ( QWidget * parent, const QPoint & pos ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBtopLevelWidget\fR () const"
+.br
+.ti -1c
+.BI "BackgroundMode \fBbackgroundMode\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetBackgroundMode\fR ( BackgroundMode )"
+.br
+.ti -1c
+.BI "void \fBsetBackgroundMode\fR ( BackgroundMode m, BackgroundMode visual )"
+.br
+.ti -1c
+.BI "const QColor & \fBforegroundColor\fR () const"
+.br
+.ti -1c
+.BI "const QColor & \fBeraseColor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetEraseColor\fR ( const QColor & color )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBerasePixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetErasePixmap\fR ( const QPixmap & pixmap )"
+.br
+.ti -1c
+.BI "const QColorGroup & \fBcolorGroup\fR () const"
+.br
+.ti -1c
+.BI "const QPalette & \fBpalette\fR () const"
+.br
+.ti -1c
+.BI "bool \fBownPalette\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPalette\fR ( const QPalette & )"
+.br
+.ti -1c
+.BI "void \fBunsetPalette\fR ()"
+.br
+.ti -1c
+.BI "const QColor & \fBpaletteForegroundColor\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetPaletteForegroundColor\fR ( const QColor & )"
+.br
+.ti -1c
+.BI "const QColor & \fBpaletteBackgroundColor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPaletteBackgroundColor\fR ( const QColor & )"
+.br
+.ti -1c
+.BI "const QPixmap * \fBpaletteBackgroundPixmap\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetPaletteBackgroundPixmap\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "const QBrush & \fBbackgroundBrush\fR () const"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR () const"
+.br
+.ti -1c
+.BI "bool \fBownFont\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & )"
+.br
+.ti -1c
+.BI "void \fBunsetFont\fR ()"
+.br
+.ti -1c
+.BI "QFontMetrics \fBfontMetrics\fR () const"
+.br
+.ti -1c
+.BI "QFontInfo \fBfontInfo\fR () const"
+.br
+.ti -1c
+.BI "const QCursor & \fBcursor\fR () const"
+.br
+.ti -1c
+.BI "bool \fBownCursor\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetCursor\fR ( const QCursor & )"
+.br
+.ti -1c
+.BI "virtual void \fBunsetCursor\fR ()"
+.br
+.ti -1c
+.BI "QString \fBcaption\fR () const"
+.br
+.ti -1c
+.BI "const QPixmap * \fBicon\fR () const"
+.br
+.ti -1c
+.BI "QString \fBiconText\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasMouseTracking\fR () const"
+.br
+.ti -1c
+.BI "bool \fBhasMouse\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetMask\fR ( const QBitmap & bitmap )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMask\fR ( const QRegion & region )"
+.br
+.ti -1c
+.BI "void \fBclearMask\fR ()"
+.br
+.ti -1c
+.BI "const QColor & backgroundColor () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void setBackgroundColor ( const QColor & c ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "const QPixmap * backgroundPixmap () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void setBackgroundPixmap ( const QPixmap & pm ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "enum \fBFocusPolicy\fR { NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = TabFocus | ClickFocus | 0x8, WheelFocus = StrongFocus | 0x4 }"
+.br
+.ti -1c
+.BI "bool \fBisActiveWindow\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetActiveWindow\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisFocusEnabled\fR () const"
+.br
+.ti -1c
+.BI "FocusPolicy \fBfocusPolicy\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFocusPolicy\fR ( FocusPolicy )"
+.br
+.ti -1c
+.BI "bool \fBhasFocus\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetFocusProxy\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBfocusProxy\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetInputMethodEnabled\fR ( bool b )"
+.br
+.ti -1c
+.BI "bool \fBisInputMethodEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBgrabMouse\fR ()"
+.br
+.ti -1c
+.BI "void \fBgrabMouse\fR ( const QCursor & cursor )"
+.br
+.ti -1c
+.BI "void \fBreleaseMouse\fR ()"
+.br
+.ti -1c
+.BI "void \fBgrabKeyboard\fR ()"
+.br
+.ti -1c
+.BI "void \fBreleaseKeyboard\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisUpdatesEnabled\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBclose\fR ( bool alsoDelete )"
+.br
+.ti -1c
+.BI "bool \fBisVisible\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisVisibleTo\fR ( QWidget * ancestor ) const"
+.br
+.ti -1c
+.BI "bool isVisibleToTLW () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QRect visibleRect () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "bool \fBisHidden\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisShown\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisMinimized\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisMaximized\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisFullScreen\fR () const"
+.br
+.ti -1c
+.BI "uint \fBwindowState\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetWindowState\fR ( uint windowState )"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSizePolicy \fBsizePolicy\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetSizePolicy\fR ( QSizePolicy )"
+.br
+.ti -1c
+.BI "void \fBsetSizePolicy\fR ( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE )"
+.br
+.ti -1c
+.BI "virtual int \fBheightForWidth\fR ( int w ) const"
+.br
+.ti -1c
+.BI "QRegion \fBclipRegion\fR () const"
+.br
+.ti -1c
+.BI "QLayout * \fBlayout\fR () const"
+.br
+.ti -1c
+.BI "void \fBupdateGeometry\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBreparent\fR ( QWidget * parent, WFlags f, const QPoint & p, bool showIt = FALSE )"
+.br
+.ti -1c
+.BI "void \fBreparent\fR ( QWidget * parent, const QPoint & p, bool showIt = FALSE )"
+.br
+.ti -1c
+.BI "void recreate ( QWidget * parent, WFlags f, const QPoint & p, bool showIt = FALSE ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void \fBerase\fR ()"
+.br
+.ti -1c
+.BI "void \fBerase\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBerase\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBerase\fR ( const QRegion & reg )"
+.br
+.ti -1c
+.BI "void \fBscroll\fR ( int dx, int dy )"
+.br
+.ti -1c
+.BI "void \fBscroll\fR ( int dx, int dy, const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( int x, int y, const QString & str )"
+.br
+.ti -1c
+.BI "void \fBdrawText\fR ( const QPoint & pos, const QString & str )"
+.br
+.ti -1c
+.BI "QWidget * \fBfocusWidget\fR () const"
+.br
+.ti -1c
+.BI "QRect \fBmicroFocusHint\fR () const"
+.br
+.ti -1c
+.BI "bool \fBacceptDrops\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAcceptDrops\fR ( bool on )"
+.br
+.ti -1c
+.BI "virtual void \fBsetAutoMask\fR ( bool )"
+.br
+.ti -1c
+.BI "bool \fBautoMask\fR () const"
+.br
+.ti -1c
+.BI "enum \fBBackgroundOrigin\fR { WidgetOrigin, ParentOrigin, WindowOrigin, AncestorOrigin }"
+.br
+.ti -1c
+.BI "virtual void \fBsetBackgroundOrigin\fR ( BackgroundOrigin )"
+.br
+.ti -1c
+.BI "BackgroundOrigin \fBbackgroundOrigin\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBcustomWhatsThis\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBparentWidget\fR ( bool sameWindow = FALSE ) const"
+.br
+.ti -1c
+.BI "WFlags \fBtestWFlags\fR ( WFlags f ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBchildAt\fR ( int x, int y, bool includeThis = FALSE ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBchildAt\fR ( const QPoint & p, bool includeThis = FALSE ) const"
+.br
+.ti -1c
+.BI "void \fBsetWindowOpacity\fR ( double level )"
+.br
+.ti -1c
+.BI "double \fBwindowOpacity\fR () const"
+.br
+.ti -1c
+.BI "void setPalette ( const QPalette & p, bool ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "void setFont ( const QFont & f, bool ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetEnabled\fR ( bool )"
+.br
+.ti -1c
+.BI "void \fBsetDisabled\fR ( bool disable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetCaption\fR ( const QString & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetIcon\fR ( const QPixmap & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetIconText\fR ( const QString & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMouseTracking\fR ( bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFocus\fR ()"
+.br
+.ti -1c
+.BI "void \fBclearFocus\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetUpdatesEnabled\fR ( bool enable )"
+.br
+.ti -1c
+.BI "void \fBupdate\fR ()"
+.br
+.ti -1c
+.BI "void \fBupdate\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "void \fBupdate\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ()"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ( bool erase )"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ( int x, int y, int w, int h, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ( const QRect & r, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "void \fBrepaint\fR ( const QRegion & reg, bool erase = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBshow\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBhide\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetShown\fR ( bool show )"
+.br
+.ti -1c
+.BI "void \fBsetHidden\fR ( bool hide )"
+.br
+.ti -1c
+.BI "void iconify () \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual void \fBshowMinimized\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBshowMaximized\fR ()"
+.br
+.ti -1c
+.BI "void \fBshowFullScreen\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBshowNormal\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBpolish\fR ()"
+.br
+.ti -1c
+.BI "void \fBconstPolish\fR () const"
+.br
+.ti -1c
+.BI "bool \fBclose\fR ()"
+.br
+.ti -1c
+.BI "void \fBraise\fR ()"
+.br
+.ti -1c
+.BI "void \fBlower\fR ()"
+.br
+.ti -1c
+.BI "void \fBstackUnder\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual void \fBmove\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "void \fBmove\fR ( const QPoint & )"
+.br
+.ti -1c
+.BI "virtual void \fBresize\fR ( int w, int h )"
+.br
+.ti -1c
+.BI "void \fBresize\fR ( const QSize & )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( int x, int y, int w, int h )"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & )"
+.br
+.ti -1c
+.BI "virtual void \fBadjustSize\fR ()"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetTabOrder\fR ( QWidget * first, QWidget * second )"
+.br
+.ti -1c
+.BI "QWidget * \fBmouseGrabber\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBkeyboardGrabber\fR ()"
+.br
+.ti -1c
+.BI "QWidget * \fBfind\fR ( WId id )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBacceptDrops\fR - whether drop events are enabled for this widget"
+.br
+.ti -1c
+.BI "bool \fBautoMask\fR - whether the auto mask feature is enabled for the widget"
+.br
+.ti -1c
+.BI "QBrush \fBbackgroundBrush\fR - the widget's background brush \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "BackgroundMode \fBbackgroundMode\fR - the color role used for painting the background of the widget"
+.br
+.ti -1c
+.BI "BackgroundOrigin \fBbackgroundOrigin\fR - the origin of the widget's background"
+.br
+.ti -1c
+.BI "QSize \fBbaseSize\fR - the base size of the widget"
+.br
+.ti -1c
+.BI "QString \fBcaption\fR - the window caption (title)"
+.br
+.ti -1c
+.BI "QRect \fBchildrenRect\fR - the bounding rectangle of the widget's children \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QRegion \fBchildrenRegion\fR - the combined region occupied by the widget's children \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QColorGroup \fBcolorGroup\fR - the current color group of the widget palette \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QCursor \fBcursor\fR - the cursor shape for this widget"
+.br
+.ti -1c
+.BI "bool \fBcustomWhatsThis\fR - whether the widget wants to handle What's This help manually \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBenabled\fR - whether the widget is enabled"
+.br
+.ti -1c
+.BI "bool \fBfocus\fR - whether this widget (or its focus " "proxy" ") has the keyboard input focus \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBfocusEnabled\fR - whether the widget accepts keyboard focus \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "FocusPolicy \fBfocusPolicy\fR - the way the widget accepts keyboard focus"
+.br
+.ti -1c
+.BI "QFont \fBfont\fR - the font currently set for the widget"
+.br
+.ti -1c
+.BI "QRect \fBframeGeometry\fR - geometry of the widget relative to its parent including any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QSize \fBframeSize\fR - the size of the widget including any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBfullScreen\fR - whether the widget is full screen \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QRect \fBgeometry\fR - the geometry of the widget relative to its parent and excluding the window frame"
+.br
+.ti -1c
+.BI "int \fBheight\fR - the height of the widget excluding any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBhidden\fR - whether the widget is explicitly hidden"
+.br
+.ti -1c
+.BI "QPixmap \fBicon\fR - the widget's icon"
+.br
+.ti -1c
+.BI "QString \fBiconText\fR - the widget's icon text"
+.br
+.ti -1c
+.BI "bool \fBinputMethodEnabled\fR - enables or disables the use of input methods for this widget"
+.br
+.ti -1c
+.BI "bool \fBisActiveWindow\fR - whether this widget is the active window \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBisDesktop\fR - whether the widget is a desktop " "widget" ", i.e. represents the desktop \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBisDialog\fR - whether the widget is a dialog widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBisModal\fR - whether the widget is a modal widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBisPopup\fR - whether the widget is a popup widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBisTopLevel\fR - whether the widget is a top-level widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBmaximized\fR - whether this widget is maximized \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBmaximumHeight\fR - the widget's maximum height"
+.br
+.ti -1c
+.BI "QSize \fBmaximumSize\fR - the widget's maximum size"
+.br
+.ti -1c
+.BI "int \fBmaximumWidth\fR - the widget's maximum width"
+.br
+.ti -1c
+.BI "QRect \fBmicroFocusHint\fR - the currently set micro focus hint for this widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBminimized\fR - whether this widget is minimized (iconified) \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBminimumHeight\fR - the widget's minimum height"
+.br
+.ti -1c
+.BI "QSize \fBminimumSize\fR - the widget's minimum size"
+.br
+.ti -1c
+.BI "QSize \fBminimumSizeHint\fR - the recommended minimum size for the widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBminimumWidth\fR - the widget's minimum width"
+.br
+.ti -1c
+.BI "bool \fBmouseTracking\fR - whether mouse tracking is enabled for the widget"
+.br
+.ti -1c
+.BI "bool \fBownCursor\fR - whether the widget uses its own cursor \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBownFont\fR - whether the widget uses its own font \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBownPalette\fR - whether the widget uses its own palette \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QPalette \fBpalette\fR - the widget's palette"
+.br
+.ti -1c
+.BI "QColor \fBpaletteBackgroundColor\fR - the background color of the widget"
+.br
+.ti -1c
+.BI "QPixmap \fBpaletteBackgroundPixmap\fR - the background pixmap of the widget"
+.br
+.ti -1c
+.BI "QColor \fBpaletteForegroundColor\fR - the foreground color of the widget"
+.br
+.ti -1c
+.BI "QPoint \fBpos\fR - the position of the widget within its parent widget"
+.br
+.ti -1c
+.BI "QRect \fBrect\fR - the internal geometry of the widget excluding any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBshown\fR - whether the widget is shown"
+.br
+.ti -1c
+.BI "QSize \fBsize\fR - the size of the widget excluding any window frame"
+.br
+.ti -1c
+.BI "QSize \fBsizeHint\fR - the recommended size for the widget \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QSize \fBsizeIncrement\fR - the size increment of the widget"
+.br
+.ti -1c
+.BI "QSizePolicy \fBsizePolicy\fR - the default layout behavior of the widget"
+.br
+.ti -1c
+.BI "bool \fBunderMouse\fR - whether the widget is under the mouse cursor \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "bool \fBupdatesEnabled\fR - whether updates are enabled"
+.br
+.ti -1c
+.BI "bool \fBvisible\fR - whether the widget is visible \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "QRect visibleRect - the visible rectangle \fI(read " "only" ")\fR \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "int \fBwidth\fR - the width of the widget excluding any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "double \fBwindowOpacity\fR - the level of opacity for the window"
+.br
+.ti -1c
+.BI "int \fBx\fR - the x coordinate of the widget relative to its parent including any window frame \fI(read " "only" ")\fR"
+.br
+.ti -1c
+.BI "int \fBy\fR - the y coordinate of the widget relative to its parent and including any window frame \fI(read " "only" ")\fR"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBevent\fR ( QEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmousePressEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmouseReleaseEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmouseDoubleClickEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBmouseMoveEvent\fR ( QMouseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBwheelEvent\fR ( QWheelEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBkeyPressEvent\fR ( QKeyEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBkeyReleaseEvent\fR ( QKeyEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBfocusInEvent\fR ( QFocusEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBfocusOutEvent\fR ( QFocusEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBenterEvent\fR ( QEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBleaveEvent\fR ( QEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBpaintEvent\fR ( QPaintEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBmoveEvent\fR ( QMoveEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBresizeEvent\fR ( QResizeEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBcloseEvent\fR ( QCloseEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBcontextMenuEvent\fR ( QContextMenuEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBimStartEvent\fR ( QIMEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBimComposeEvent\fR ( QIMEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBimEndEvent\fR ( QIMEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBtabletEvent\fR ( QTabletEvent * e )"
+.br
+.ti -1c
+.BI "virtual void \fBdragEnterEvent\fR ( QDragEnterEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBdragMoveEvent\fR ( QDragMoveEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBdragLeaveEvent\fR ( QDragLeaveEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBdropEvent\fR ( QDropEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBshowEvent\fR ( QShowEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBhideEvent\fR ( QHideEvent * )"
+.br
+.ti -1c
+.BI "virtual bool \fBmacEvent\fR ( MSG * )"
+.br
+.ti -1c
+.BI "virtual bool \fBwinEvent\fR ( MSG * )"
+.br
+.ti -1c
+.BI "virtual bool \fBx11Event\fR ( XEvent * )"
+.br
+.ti -1c
+.BI "virtual bool \fBqwsEvent\fR ( QWSEvent * )"
+.br
+.ti -1c
+.BI "virtual void \fBupdateMask\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBstyleChange\fR ( QStyle & oldStyle )"
+.br
+.ti -1c
+.BI "virtual void \fBenabledChange\fR ( bool oldEnabled )"
+.br
+.ti -1c
+.BI "virtual void \fBpaletteChange\fR ( const QPalette & oldPalette )"
+.br
+.ti -1c
+.BI "virtual void \fBfontChange\fR ( const QFont & oldFont )"
+.br
+.ti -1c
+.BI "virtual void \fBwindowActivationChange\fR ( bool oldActive )"
+.br
+.ti -1c
+.BI "virtual int \fBmetric\fR ( int m ) const"
+.br
+.ti -1c
+.BI "void \fBresetInputContext\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcreate\fR ( WId window = 0, bool initializeWindow = TRUE, bool destroyOldWindow = TRUE )"
+.br
+.ti -1c
+.BI "virtual void \fBdestroy\fR ( bool destroyWindow = TRUE, bool destroySubWindows = TRUE )"
+.br
+.ti -1c
+.BI "WFlags \fBgetWFlags\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetWFlags\fR ( WFlags f )"
+.br
+.ti -1c
+.BI "void \fBclearWFlags\fR ( WFlags f )"
+.br
+.ti -1c
+.BI "virtual bool \fBfocusNextPrevChild\fR ( bool next )"
+.br
+.ti -1c
+.BI "QFocusData * \fBfocusData\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetKeyCompression\fR ( bool compress )"
+.br
+.ti -1c
+.BI "virtual void \fBsetMicroFocusHint\fR ( int x, int y, int width, int height, bool text = TRUE, QFont * f = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWidget class is the base class of all user interface objects.
+.PP
+The widget is the atom of the user interface: it receives mouse, keyboard and other events from the window system, and paints a representation of itself on the screen. Every widget is rectangular, and they are sorted in a Z-order. A widget is clipped by its parent and by the widgets in front of it.
+.PP
+A widget that isn't embedded in a parent widget is called a top-level widget. Usually, top-level widgets are windows with a frame and a title bar (although it is also possible to create top-level widgets without such decoration if suitable widget flags are used). In Qt, QMainWindow and the various subclasses of QDialog are the most common top-level windows.
+.PP
+A widget without a parent widget is always a top-level widget.
+.PP
+Non-top-level widgets are child widgets. These are child windows in their parent widgets. You cannot usually distinguish a child widget from its parent visually. Most other widgets in Qt are useful only as child widgets. (It is possible to make, say, a button into a top-level widget, but most people prefer to put their buttons inside other widgets, e.g. QDialog.)
+.PP
+If you want to use a QWidget to hold child widgets you will probably want to add a layout to the parent QWidget. (See Layouts.)
+.PP
+QWidget has many member functions, but some of them have little direct functionality: for example, QWidget has a font property, but never uses this itself. There are many subclasses which provide real functionality, such as QPushButton, QListBox and QTabDialog, etc.
+.SH "Groups of functions:"
+<center>.nf
+.TS
+l - l. Context Functions Window functions show(), hide(), raise(), lower(), close(). Top level windows caption(), setCaption(), icon(), setIcon(), iconText(), setIconText(), isActiveWindow(), setActiveWindow(), showMinimized(). showMaximized(), showFullScreen(), showNormal(). Window contents update(), repaint(), erase(), scroll(), updateMask(). Geometry pos(), size(), rect(), x(), y(), width(), height(), sizePolicy(), setSizePolicy(), sizeHint(), updateGeometry(), layout(), move(), resize(), setGeometry(), frameGeometry(), geometry(), childrenRect(), adjustSize(), mapFromGlobal(), mapFromParent() mapToGlobal(), mapToParent(), maximumSize(), minimumSize(), sizeIncrement(), setMaximumSize(), setMinimumSize(), setSizeIncrement(), setBaseSize(), setFixedSize() Mode isVisible(), isVisibleTo(), isMinimized(), isDesktop(), isEnabled(), isEnabledTo(), isModal(), isPopup(), isTopLevel(), setEnabled(), hasMouseTracking(), setMouseTracking(), isUpdatesEnabled(), setUpdatesEnabled(), clipRegion(). Look and feel style(), setStyle(), cursor(), setCursor() font(), setFont(), palette(), setPalette(), backgroundMode(), setBackgroundMode(), colorGroup(), fontMetrics(), fontInfo(). Keyboard focus
+.br
+functions isFocusEnabled(), setFocusPolicy(), focusPolicy(), hasFocus(), setFocus(), clearFocus(), setTabOrder(), setFocusProxy(). Mouse and
+.br
+keyboard grabbing grabMouse(), releaseMouse(), grabKeyboard(), releaseKeyboard(), mouseGrabber(), keyboardGrabber(). Event handlers event(), mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), keyPressEvent(), keyReleaseEvent(), focusInEvent(), focusOutEvent(), wheelEvent(), enterEvent(), leaveEvent(), paintEvent(), moveEvent(), resizeEvent(), closeEvent(), dragEnterEvent(), dragMoveEvent(), dragLeaveEvent(), dropEvent(), childEvent(), showEvent(), hideEvent(), customEvent(). Change handlers enabledChange(), fontChange(), paletteChange(), styleChange(), windowActivationChange(). System functions parentWidget(), topLevelWidget(), reparent(), polish(), winId(), find(), metric(). What's this help customWhatsThis() Internal kernel
+.br
+functions
+.TE
+.fi
+</center>
+.PP
+Every widget's constructor accepts two or three standard arguments: <ol type=1>
+.IP 1
+\fCQWidget *parent = 0\fR is the parent of the new widget. If it is 0 (the default), the new widget will be a top-level window. If not, it will be a child of \fIparent\fR, and be constrained by \fIparent\fR's geometry (unless you specify WType_TopLevel as widget flag).
+.IP 2
+\fCconst char *name = 0\fR is the widget name of the new widget. You can access it using name(). The widget name is little used by programmers but is quite useful with GUI builders such as \fIQt Designer\fR (you can name a widget in \fIQt Designer\fR, and connect() to it using the name in your code). The dumpObjectTree() debugging function also uses it.
+.IP 3
+\fCWFlags f = 0\fR (where available) sets the widget flags; the default is suitable for almost all widgets, but to get, for example, a top-level widget without a window system frame, you must use special flags.
+.PP
+The tictac/tictac.cpp example program is good example of a simple widget. It contains a few event handlers (as all widgets must), a few custom routines that are specific to it (as all useful widgets do), and has a few children and connections. Everything it does is done in response to an event: this is by far the most common way to design GUI applications.
+.PP
+You will need to supply the content for your widgets yourself, but here is a brief run-down of the events, starting with the most common ones:
+.IP
+.TP
+paintEvent() - called whenever the widget needs to be repainted. Every widget which displays output must implement it, and it is wise \fInot\fR to paint on the screen outside paintEvent().
+.IP
+.TP
+resizeEvent() - called when the widget has been resized.
+.IP
+.TP
+mousePressEvent() - called when a mouse button is pressed. There are six mouse-related events, but the mouse press and mouse release events are by far the most important. A widget receives mouse press events when the mouse is inside it, or when it has grabbed the mouse using grabMouse().
+.IP
+.TP
+mouseReleaseEvent() - called when a mouse button is released. A widget receives mouse release events when it has received the corresponding mouse press event. This means that if the user presses the mouse inside \fIyour\fR widget, then drags the mouse to somewhere else, then releases, \fIyour\fR widget receives the release event. There is one exception: if a popup menu appears while the mouse button is held down, this popup immediately steals the mouse events.
+.IP
+.TP
+mouseDoubleClickEvent() - not quite as obvious as it might seem. If the user double-clicks, the widget receives a mouse press event (perhaps a mouse move event or two if they don't hold the mouse quite steady), a mouse release event and finally this event. It is \fInot possible\fR to distinguish a click from a double click until you've seen whether the second click arrives. (This is one reason why most GUI books recommend that double clicks be an extension of single clicks, rather than trigger a different action.)
+.IP
+.PP
+If your widget only contains child widgets, you probably do not need to implement any event handlers. If you want to detect a mouse click in a child widget call the child's hasMouse() function inside the parent widget's mousePressEvent().
+.PP
+Widgets that accept keyboard input need to reimplement a few more event handlers:
+.IP
+.TP
+keyPressEvent() - called whenever a key is pressed, and again when a key has been held down long enough for it to auto-repeat. Note that the Tab and Shift+Tab keys are only passed to the widget if they are not used by the focus-change mechanisms. To force those keys to be processed by your widget, you must reimplement QWidget::event().
+.IP
+.TP
+focusInEvent() - called when the widget gains keyboard focus (assuming you have called setFocusPolicy()). Well written widgets indicate that they own the keyboard focus in a clear but discreet way.
+.IP
+.TP
+focusOutEvent() - called when the widget loses keyboard focus.
+.IP
+.PP
+Some widgets will also need to reimplement some of the less common event handlers:
+.IP
+.TP
+mouseMoveEvent() - called whenever the mouse moves while a button is held down. This is useful for, for example, dragging. If you call setMouseTracking(TRUE), you get mouse move events even when no buttons are held down. (Note that applications which make use of mouse tracking are often not very useful on low-bandwidth X connections.) (See also the drag and drop information.)
+.IP
+.TP
+keyReleaseEvent() - called whenever a key is released, and also while it is held down if the key is auto-repeating. In that case the widget receives a key release event and immediately a key press event for every repeat. Note that the Tab and Shift+Tab keys are only passed to the widget if they are not used by the focus-change mechanisms. To force those keys to be processed by your widget, you must reimplement QWidget::event().
+.IP
+.TP
+wheelEvent() -- called whenever the user turns the mouse wheel while the widget has the focus.
+.IP
+.TP
+enterEvent() - called when the mouse enters the widget's screen space. (This excludes screen space owned by any children of the widget.)
+.IP
+.TP
+leaveEvent() - called when the mouse leaves the widget's screen space.
+.IP
+.TP
+moveEvent() - called when the widget has been moved relative to its parent.
+.IP
+.TP
+closeEvent() - called when the user closes the widget (or when close() is called).
+.IP
+.PP
+There are also some rather obscure events. They are listed in qevent.h and you need to reimplement event() to handle them. The default implementation of event() handles Tab and Shift+Tab (to move the keyboard focus), and passes on most other events to one of the more specialized handlers above.
+.PP
+When implementing a widget, there are a few more things to consider.
+.IP
+.TP
+In the constructor, be sure to set up your member variables early on, before there's any chance that you might receive an event.
+.IP
+.TP
+It is almost always useful to reimplement sizeHint() and to set the correct size policy with setSizePolicy(), so users of your class can set up layout management more easily. A size policy lets you supply good defaults for the layout management handling, so that other widgets can contain and manage yours easily. sizeHint() indicates a "good" size for the widget.
+.IP
+.TP
+If your widget is a top-level window, setCaption() and setIcon() set the title bar and icon respectively.
+.IP
+.PP
+See also QEvent, QPainter, QGridLayout, QBoxLayout, and Abstract Widget Classes.
+.SS "Member Type Documentation"
+.SH "QWidget::BackgroundOrigin"
+This enum defines the origin used to draw a widget's background pixmap.
+.PP
+The pixmap is drawn using the:
+.TP
+\fCQWidget::WidgetOrigin\fR - widget's coordinate system.
+.TP
+\fCQWidget::ParentOrigin\fR - parent's coordinate system.
+.TP
+\fCQWidget::WindowOrigin\fR - top-level window's coordinate system.
+.TP
+\fCQWidget::AncestorOrigin\fR - same origin as the parent uses.
+.SH "QWidget::FocusPolicy"
+This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.
+.TP
+\fCQWidget::TabFocus\fR - the widget accepts focus by tabbing.
+.TP
+\fCQWidget::ClickFocus\fR - the widget accepts focus by clicking.
+.TP
+\fCQWidget::StrongFocus\fR - the widget accepts focus by both tabbing and clicking. On Mac OS X this will also be indicate that the widget accepts tab focus when in 'Text/List focus mode'.
+.TP
+\fCQWidget::WheelFocus\fR - like StrongFocus plus the widget accepts focus by using the mouse wheel.
+.TP
+\fCQWidget::NoFocus\fR - the widget does not accept focus.
+.PP
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "explicit QWidget::QWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )"
+Constructs a widget which is a child of \fIparent\fR, with the name \fIname\fR and widget flags set to \fIf\fR.
+.PP
+If \fIparent\fR is 0, the new widget becomes a top-level window. If \fIparent\fR is another widget, this widget becomes a child window inside \fIparent\fR. The new widget is deleted when its \fIparent\fR is deleted.
+.PP
+The \fIname\fR is sent to the QObject constructor.
+.PP
+The widget flags argument, \fIf\fR, is normally 0, but it can be set to customize the window frame of a top-level widget (i.e. \fIparent\fR must be 0). To customize the frame, set the WStyle_Customize flag OR'ed with any of the Qt::WidgetFlags.
+.PP
+If you add a child widget to an already visible widget you must explicitly show the child to make it visible.
+.PP
+Note that the X11 version of Qt may not be able to deliver all combinations of style flags on all systems. This is because on X11, Qt can only ask the window manager, and the window manager can override the application's settings. On Windows, Qt can set whatever flags you want.
+.PP
+Example:
+.PP
+.nf
+.br
+ QLabel *splashScreen = new QLabel( 0, "mySplashScreen",
+.br
+ WStyle_Customize | WStyle_Splash );
+.br
+.fi
+.SH "QWidget::~QWidget ()"
+Destroys the widget.
+.PP
+All this widget's children are deleted first. The application exits if this widget is the main widget.
+.SH "bool QWidget::acceptDrops () const"
+Returns TRUE if drop events are enabled for this widget; otherwise returns FALSE. See the "acceptDrops" property for details.
+.SH "void QWidget::adjustSize ()\fC [virtual slot]\fR"
+Adjusts the size of the widget to fit the contents.
+.PP
+Uses sizeHint() if valid (i.e if the size hint's width and height are >= 0), otherwise sets the size to the children rectangle (the union of all child widget geometries).
+.PP
+See also sizeHint and childrenRect.
+.PP
+Example: xform/xform.cpp.
+.PP
+Reimplemented in QMessageBox.
+.SH "bool QWidget::autoMask () const"
+Returns TRUE if the auto mask feature is enabled for the widget; otherwise returns FALSE. See the "autoMask" property for details.
+.SH "const QBrush & QWidget::backgroundBrush () const"
+Returns the widget's background brush. See the "backgroundBrush" property for details.
+.SH "const QColor & QWidget::backgroundColor () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use paletteBackgroundColor() or eraseColor() instead.
+.SH "BackgroundMode QWidget::backgroundMode () const"
+Returns the color role used for painting the background of the widget. See the "backgroundMode" property for details.
+.SH "BackgroundOrigin QWidget::backgroundOrigin () const"
+Returns the origin of the widget's background. See the "backgroundOrigin" property for details.
+.SH "const QPixmap * QWidget::backgroundPixmap () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use paletteBackgroundPixmap() or erasePixmap() instead.
+.PP
+Examples:
+.)l themes/metal.cpp and themes/wood.cpp.
+.SH "QSize QWidget::baseSize () const"
+Returns the base size of the widget. See the "baseSize" property for details.
+.SH "QString QWidget::caption () const"
+Returns the window caption (title). See the "caption" property for details.
+.SH "QWidget * QWidget::childAt ( int x, int y, bool includeThis = FALSE ) const"
+Returns the visible child widget at pixel position \fI(x, y)\fR in the widget's own coordinate system.
+.PP
+If \fIincludeThis\fR is TRUE, and there is no child visible at \fI(x, y)\fR, the widget itself is returned.
+.SH "QWidget * QWidget::childAt ( const QPoint & p, bool includeThis = FALSE ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the visible child widget at point \fIp\fR in the widget's own coordinate system.
+.PP
+If \fIincludeThis\fR is TRUE, and there is no child visible at \fIp\fR, the widget itself is returned.
+.SH "QRect QWidget::childrenRect () const"
+Returns the bounding rectangle of the widget's children. See the "childrenRect" property for details.
+.SH "QRegion QWidget::childrenRegion () const"
+Returns the combined region occupied by the widget's children. See the "childrenRegion" property for details.
+.SH "void QWidget::clearFocus ()\fC [slot]\fR"
+Takes keyboard input focus from the widget.
+.PP
+If the widget has active focus, a focus out event is sent to this widget to tell it that it is about to lose the focus.
+.PP
+This widget must enable focus setting in order to get the keyboard input focus, i.e. it must call setFocusPolicy().
+.PP
+See also focus, setFocus(), focusInEvent(), focusOutEvent(), focusPolicy, and QApplication::focusWidget().
+.SH "void QWidget::clearMask ()"
+Removes any mask set by setMask().
+.PP
+See also setMask().
+.SH "void QWidget::clearWFlags ( WFlags f )\fC [protected]\fR"
+Clears the widget flags \fIf\fR.
+.PP
+Widget flags are a combination of Qt::WidgetFlags.
+.PP
+See also testWFlags(), getWFlags(), and setWFlags().
+.SH "QRegion QWidget::clipRegion () const"
+Returns the unobscured region where paint events can occur.
+.PP
+For visible widgets, this is an approximation of the area not covered by other widgets; otherwise, this is an empty region.
+.PP
+The repaint() function calls this function if necessary, so in general you do not need to call it.
+.SH "bool QWidget::close ()\fC [slot]\fR"
+Closes this widget. Returns TRUE if the widget was closed; otherwise returns FALSE.
+.PP
+First it sends the widget a QCloseEvent. The widget is hidden if it accepts the close event. The default implementation of QWidget::closeEvent() accepts the close event.
+.PP
+The QApplication::lastWindowClosed() signal is emitted when the last visible top level widget is closed.
+.PP
+Examples:
+.)l dialog/mainwindow.cpp, mdi/application.cpp, popup/popup.cpp, and toplevel/options.ui.h.
+.SH "bool QWidget::close ( bool alsoDelete )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Closes this widget. Returns TRUE if the widget was closed; otherwise returns FALSE.
+.PP
+If \fIalsoDelete\fR is TRUE or the widget has the WDestructiveClose widget flag, the widget is also deleted. The widget can prevent itself from being closed by rejecting the QCloseEvent it gets. A close events is delivered to the widget no matter if the widget is visible or not.
+.PP
+The QApplication::lastWindowClosed() signal is emitted when the last visible top level widget is closed.
+.PP
+Note that closing the QApplication::mainWidget() terminates the application.
+.PP
+See also closeEvent(), QCloseEvent, hide(), QApplication::quit(), QApplication::setMainWidget(), and QApplication::lastWindowClosed().
+.SH "void QWidget::closeEvent ( QCloseEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive widget close events.
+.PP
+The default implementation calls e->accept(), which hides this widget. See the QCloseEvent documentation for more details.
+.PP
+See also event(), hide(), close(), and QCloseEvent.
+.PP
+Examples:
+.)l action/application.cpp, application/application.cpp, chart/chartform.cpp, i18n/mywidget.cpp, mdi/application.cpp, popup/popup.cpp, and qwerty/qwerty.cpp.
+.SH "const QColorGroup & QWidget::colorGroup () const"
+Returns the current color group of the widget palette. See the "colorGroup" property for details.
+.SH "void QWidget::constPolish () const\fC [slot]\fR"
+Ensures that the widget is properly initialized by calling polish().
+.PP
+Call constPolish() from functions like sizeHint() that depends on the widget being initialized, and that may be called before show().
+.PP
+\fBWarning:\fR Do not call constPolish() on a widget from inside that widget's constructor.
+.PP
+See also polish().
+.SH "void QWidget::contextMenuEvent ( QContextMenuEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive widget context menu events.
+.PP
+The default implementation calls e->ignore(), which rejects the context event. See the QContextMenuEvent documentation for more details.
+.PP
+See also event() and QContextMenuEvent.
+.PP
+Example: menu/menu.cpp.
+.SH "void QWidget::create ( WId window = 0, bool initializeWindow = TRUE, bool destroyOldWindow = TRUE )\fC [virtual protected]\fR"
+Creates a new widget window if \fIwindow\fR is 0, otherwise sets the widget's window to \fIwindow\fR.
+.PP
+Initializes the window (sets the geometry etc.) if \fIinitializeWindow\fR is TRUE. If \fIinitializeWindow\fR is FALSE, no initialization is performed. This parameter only makes sense if \fIwindow\fR is a valid window.
+.PP
+Destroys the old window if \fIdestroyOldWindow\fR is TRUE. If \fIdestroyOldWindow\fR is FALSE, you are responsible for destroying the window yourself (using platform native code).
+.PP
+The QWidget constructor calls create(0,TRUE,TRUE) to create a window for this widget.
+.SH "const QCursor & QWidget::cursor () const"
+Returns the cursor shape for this widget. See the "cursor" property for details.
+.SH "bool QWidget::customWhatsThis () const\fC [virtual]\fR"
+Returns TRUE if the widget wants to handle What's This help manually; otherwise returns FALSE. See the "customWhatsThis" property for details.
+.SH "void QWidget::destroy ( bool destroyWindow = TRUE, bool destroySubWindows = TRUE )\fC [virtual protected]\fR"
+Frees up window system resources. Destroys the widget window if \fIdestroyWindow\fR is TRUE.
+.PP
+destroy() calls itself recursively for all the child widgets, passing \fIdestroySubWindows\fR for the \fIdestroyWindow\fR parameter. To have more control over destruction of subwidgets, destroy subwidgets selectively first.
+.PP
+This function is usually called from the QWidget destructor.
+.SH "void QWidget::dragEnterEvent ( QDragEnterEvent * )\fC [virtual protected]\fR"
+This event handler is called when a drag is in progress and the mouse enters this widget.
+.PP
+See the Drag-and-drop documentation for an overview of how to provide drag-and-drop in your application.
+.PP
+See also QTextDrag, QImageDrag, and QDragEnterEvent.
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "void QWidget::dragLeaveEvent ( QDragLeaveEvent * )\fC [virtual protected]\fR"
+This event handler is called when a drag is in progress and the mouse leaves this widget.
+.PP
+See the Drag-and-drop documentation for an overview of how to provide drag-and-drop in your application.
+.PP
+See also QTextDrag, QImageDrag, and QDragLeaveEvent.
+.SH "void QWidget::dragMoveEvent ( QDragMoveEvent * )\fC [virtual protected]\fR"
+This event handler is called when a drag is in progress and the mouse enters this widget, and whenever it moves within the widget.
+.PP
+See the Drag-and-drop documentation for an overview of how to provide drag-and-drop in your application.
+.PP
+See also QTextDrag, QImageDrag, and QDragMoveEvent.
+.SH "void QWidget::drawText ( int x, int y, const QString & str )"
+Draws the string \fIstr\fR at position \fI(x, y)\fR.
+.PP
+The \fIy\fR position is the base line position of the text. The text is drawn using the default font and the default foreground color.
+.PP
+This function is provided for convenience. You will generally get more flexible results and often higher speed by using a a painter instead.
+.PP
+See also font, foregroundColor(), and QPainter::drawText().
+.SH "void QWidget::drawText ( const QPoint & pos, const QString & str )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Draws the string \fIstr\fR at position \fIpos\fR.
+.SH "void QWidget::dropEvent ( QDropEvent * )\fC [virtual protected]\fR"
+This event handler is called when the drag is dropped on this widget.
+.PP
+See the Drag-and-drop documentation for an overview of how to provide drag-and-drop in your application.
+.PP
+See also QTextDrag, QImageDrag, and QDropEvent.
+.PP
+Example: iconview/simple_dd/main.cpp.
+.SH "void QWidget::enabledChange ( bool oldEnabled )\fC [virtual protected]\fR"
+This virtual function is called from setEnabled(). \fIoldEnabled\fR is the previous setting; you can get the new setting from isEnabled().
+.PP
+Reimplement this function if your widget needs to know when it becomes enabled or disabled. You will almost certainly need to update the widget using update().
+.PP
+The default implementation repaints the visible part of the widget.
+.PP
+See also enabled, enabled, repaint(), update(), and clipRegion().
+.SH "void QWidget::enterEvent ( QEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget enter events.
+.PP
+An event is sent to the widget when the mouse cursor enters the widget.
+.PP
+See also leaveEvent(), mouseMoveEvent(), and event().
+.SH "void QWidget::erase ( int x, int y, int w, int h )"
+Erases the specified area \fI(x, y, w, h)\fR in the widget without generating a paint event.
+.PP
+If \fIw\fR is negative, it is replaced with \fCwidth() - x\fR. If \fIh\fR is negative, it is replaced width \fCheight() - y\fR.
+.PP
+Child widgets are not affected.
+.PP
+See also repaint().
+.SH "void QWidget::erase ()"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version erases the entire widget.
+.SH "void QWidget::erase ( const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Erases the specified area \fIr\fR in the widget without generating a paint event.
+.SH "void QWidget::erase ( const QRegion & reg )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Erases the area defined by \fIreg\fR, without generating a paint event.
+.PP
+Child widgets are not affected.
+.SH "const QColor & QWidget::eraseColor () const"
+Returns the erase color of the widget.
+.PP
+See also setEraseColor(), setErasePixmap(), and backgroundColor().
+.SH "const QPixmap * QWidget::erasePixmap () const"
+Returns the widget's erase pixmap.
+.PP
+See also setErasePixmap() and eraseColor().
+.SH "bool QWidget::event ( QEvent * e )\fC [virtual protected]\fR"
+This is the main event handler; it handles event \fIe\fR. You can reimplement this function in a subclass, but we recommend using one of the specialized event handlers instead.
+.PP
+The main event handler first passes an event through all event filters that have been installed. If none of the filters intercept the event, it calls one of the specialized event handlers.
+.PP
+Key press and release events are treated differently from other events. event() checks for Tab and Shift+Tab and tries to move the focus appropriately. If there is no widget to move the focus to (or the key press is not Tab or Shift+Tab), event() calls keyPressEvent().
+.PP
+This function returns TRUE if it is able to pass the event over to someone (i.e. someone wanted the event); otherwise returns FALSE.
+.PP
+See also closeEvent(), focusInEvent(), focusOutEvent(), enterEvent(), keyPressEvent(), keyReleaseEvent(), leaveEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), moveEvent(), paintEvent(), resizeEvent(), QObject::event(), and QObject::timerEvent().
+.PP
+Reimplemented from QObject.
+.SH "QWidget * QWidget::find ( WId id )\fC [static]\fR"
+Returns a pointer to the widget with window identifer/handle \fIid\fR.
+.PP
+The window identifier type depends on the underlying window system, see qwindowdefs.h for the actual definition. If there is no widget with this identifier, 0 is returned.
+.SH "QFocusData * QWidget::focusData ()\fC [protected]\fR"
+Returns the focus data for this widget's top-level widget.
+.PP
+Focus data always belongs to the top-level widget. The focus data list contains all the widgets in this top-level widget that can accept focus, in tab order. An iterator points to the current focus widget (focusWidget() returns a pointer to this widget).
+.PP
+This information is useful for implementing advanced versions of focusNextPrevChild().
+.SH "void QWidget::focusInEvent ( QFocusEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive keyboard focus events (focus received) for the widget.
+.PP
+A widget normally must setFocusPolicy() to something other than NoFocus in order to receive focus events. (Note that the application programmer can call setFocus() on any widget, even those that do not normally accept focus.)
+.PP
+The default implementation updates the widget (except for toplevel widgets that do not specify a focusPolicy() ). It also calls setMicroFocusHint(), hinting any system-specific input tools about the focus of the user's attention.
+.PP
+See also focusOutEvent(), focusPolicy, keyPressEvent(), keyReleaseEvent(), event(), and QFocusEvent.
+.SH "bool QWidget::focusNextPrevChild ( bool next )\fC [virtual protected]\fR"
+Finds a new widget to give the keyboard focus to, as appropriate for Tab and Shift+Tab, and returns TRUE if is can find a new widget and FALSE if it can't,
+.PP
+If \fInext\fR is TRUE, this function searches "forwards", if \fInext\fR is FALSE, it searches "backwards".
+.PP
+Sometimes, you will want to reimplement this function. For example, a web browser might reimplement it to move its "current active link" forwards or backwards, and call QWidget::focusNextPrevChild() only when it reaches the last or first link on the "page".
+.PP
+Child widgets call focusNextPrevChild() on their parent widgets, but only the top-level widget decides where to redirect focus. By overriding this method for an object, you thus gain control of focus traversal for all child widgets.
+.PP
+\fBWarning:\fR QScrollView uses it own logic for this function, which does the right thing in most cases. But if you are using a QScrollView and want complete control of the focus chain you'll need to override QScrollView::focusNextPrevChild() and your top-level widgets' focusNextPrevChild() functions.
+.PP
+See also focusData().
+.SH "void QWidget::focusOutEvent ( QFocusEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive keyboard focus events (focus lost) for the widget.
+.PP
+A widget normally must setFocusPolicy() to something other than NoFocus in order to receive focus events. (Note that the application programmer can call setFocus() on any widget, even those that do not normally accept focus.)
+.PP
+The default implementation updates the widget (except for toplevel widgets that do not specify a focusPolicy() ). It also calls setMicroFocusHint(), hinting any system-specific input tools about the focus of the user's attention.
+.PP
+See also focusInEvent(), focusPolicy, keyPressEvent(), keyReleaseEvent(), event(), and QFocusEvent.
+.PP
+Example: qmag/qmag.cpp.
+.SH "FocusPolicy QWidget::focusPolicy () const"
+Returns the way the widget accepts keyboard focus. See the "focusPolicy" property for details.
+.SH "QWidget * QWidget::focusProxy () const"
+Returns the focus proxy, or 0 if there is no focus proxy.
+.PP
+See also setFocusProxy().
+.SH "QWidget * QWidget::focusWidget () const"
+Returns the focus widget in this widget's window. This is not the same as QApplication::focusWidget(), which returns the focus widget in the currently active window.
+.SH "QFont QWidget::font () const"
+Returns the font currently set for the widget. See the "font" property for details.
+.SH "void QWidget::fontChange ( const QFont & oldFont )\fC [virtual protected]\fR"
+This virtual function is called from setFont(). \fIoldFont\fR is the previous font; you can get the new font from font().
+.PP
+Reimplement this function if your widget needs to know when its font changes. You will almost certainly need to update the widget using update().
+.PP
+The default implementation updates the widget including its geometry.
+.PP
+See also font, font, update(), and updateGeometry().
+.SH "QFontInfo QWidget::fontInfo () const"
+Returns the font info for the widget's current font. Equivalent to QFontInto(widget->font()).
+.PP
+See also font, fontMetrics(), and font.
+.SH "QFontMetrics QWidget::fontMetrics () const"
+Returns the font metrics for the widget's current font. Equivalent to QFontMetrics(widget->font()).
+.PP
+See also font, fontInfo(), and font.
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and qmag/qmag.cpp.
+.SH "const QColor & QWidget::foregroundColor () const"
+Same as paletteForegroundColor()
+.SH "QRect QWidget::frameGeometry () const"
+Returns geometry of the widget relative to its parent including any window frame. See the "frameGeometry" property for details.
+.SH "QSize QWidget::frameSize () const"
+Returns the size of the widget including any window frame. See the "frameSize" property for details.
+.SH "const QRect & QWidget::geometry () const"
+Returns the geometry of the widget relative to its parent and excluding the window frame. See the "geometry" property for details.
+.SH "WFlags QWidget::getWFlags () const\fC [protected]\fR"
+Returns the widget flags for this this widget.
+.PP
+Widget flags are a combination of Qt::WidgetFlags.
+.PP
+See also testWFlags(), setWFlags(), and clearWFlags().
+.SH "void QWidget::grabKeyboard ()"
+Grabs the keyboard input.
+.PP
+This widget reveives all keyboard events until releaseKeyboard() is called; other widgets get no keyboard events at all. Mouse events are not affected. Use grabMouse() if you want to grab that.
+.PP
+The focus widget is not affected, except that it doesn't receive any keyboard events. setFocus() moves the focus as usual, but the new focus widget receives keyboard events only after releaseKeyboard() is called.
+.PP
+If a different widget is currently grabbing keyboard input, that widget's grab is released first.
+.PP
+See also releaseKeyboard(), grabMouse(), releaseMouse(), and focusWidget().
+.SH "void QWidget::grabMouse ()"
+Grabs the mouse input.
+.PP
+This widget receives all mouse events until releaseMouse() is called; other widgets get no mouse events at all. Keyboard events are not affected. Use grabKeyboard() if you want to grab that.
+.PP
+\fBWarning:\fR Bugs in mouse-grabbing applications very often lock the terminal. Use this function with extreme caution, and consider using the \fC-nograb\fR command line option while debugging.
+.PP
+It is almost never necessary to grab the mouse when using Qt, as Qt grabs and releases it sensibly. In particular, Qt grabs the mouse when a mouse button is pressed and keeps it until the last button is released.
+.PP
+Note that only visible widgets can grab mouse input. If isVisible() returns FALSE for a widget, that widget cannot call grabMouse().
+.PP
+See also releaseMouse(), grabKeyboard(), releaseKeyboard(), grabKeyboard(), and focusWidget().
+.SH "void QWidget::grabMouse ( const QCursor & cursor )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Grabs the mouse input and changes the cursor shape.
+.PP
+The cursor will assume shape \fIcursor\fR (for as long as the mouse focus is grabbed) and this widget will be the only one to receive mouse events until releaseMouse() is called().
+.PP
+\fBWarning:\fR Grabbing the mouse might lock the terminal.
+.PP
+See also releaseMouse(), grabKeyboard(), releaseKeyboard(), and cursor.
+.SH "bool QWidget::hasFocus () const"
+Returns TRUE if this widget (or its focus proxy) has the keyboard input focus; otherwise returns FALSE. See the "focus" property for details.
+.SH "bool QWidget::hasMouse () const"
+Returns TRUE if the widget is under the mouse cursor; otherwise returns FALSE. See the "underMouse" property for details.
+.SH "bool QWidget::hasMouseTracking () const"
+Returns TRUE if mouse tracking is enabled for the widget; otherwise returns FALSE. See the "mouseTracking" property for details.
+.SH "int QWidget::height () const"
+Returns the height of the widget excluding any window frame. See the "height" property for details.
+.SH "int QWidget::heightForWidth ( int w ) const\fC [virtual]\fR"
+Returns the preferred height for this widget, given the width \fIw\fR. The default implementation returns 0, indicating that the preferred height does not depend on the width.
+.PP
+\fBWarning:\fR Does not look at the widget's layout.
+.PP
+Reimplemented in QMenuBar and QTextEdit.
+.SH "void QWidget::hide ()\fC [virtual slot]\fR"
+Hides the widget.
+.PP
+You almost never have to reimplement this function. If you need to do something after a widget is hidden, use hideEvent() instead.
+.PP
+See also hideEvent(), hidden, show(), showMinimized(), visible, and close().
+.PP
+Examples:
+.)l mdi/application.cpp, popup/popup.cpp, progress/progress.cpp, scrollview/scrollview.cpp, webbrowser/mainwindow.ui.h, and xform/xform.cpp.
+.PP
+Reimplemented in QMenuBar.
+.SH "void QWidget::hideEvent ( QHideEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget hide events.
+.PP
+Hide events are sent to widgets immediately after they have been hidden.
+.PP
+See also event() and QHideEvent.
+.PP
+Reimplemented in QScrollBar.
+.SH "const QPixmap * QWidget::icon () const"
+Returns the widget's icon. See the "icon" property for details.
+.SH "QString QWidget::iconText () const"
+Returns the widget's icon text. See the "iconText" property for details.
+.SH "void QWidget::iconify ()\fC [slot]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void QWidget::imComposeEvent ( QIMEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive Input Method composition events. This handler is called when the user has entered some text using an Input Method.
+.PP
+The default implementation calls e->ignore(), which rejects the Input Method event. See the QIMEvent documentation for more details.
+.PP
+See also event() and QIMEvent.
+.SH "void QWidget::imEndEvent ( QIMEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive Input Method composition events. This handler is called when the user has finished inputting text via an Input Method.
+.PP
+The default implementation calls e->ignore(), which rejects the Input Method event. See the QIMEvent documentation for more details.
+.PP
+See also event() and QIMEvent.
+.SH "void QWidget::imStartEvent ( QIMEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive Input Method composition events. This handler is called when the user begins entering text using an Input Method.
+.PP
+The default implementation calls e->ignore(), which rejects the Input Method event. See the QIMEvent documentation for more details.
+.PP
+See also event() and QIMEvent.
+.SH "bool QWidget::isActiveWindow () const"
+Returns TRUE if this widget is the active window; otherwise returns FALSE. See the "isActiveWindow" property for details.
+.SH "bool QWidget::isDesktop () const"
+Returns TRUE if the widget is a desktop widget, i.e. represents the desktop; otherwise returns FALSE. See the "isDesktop" property for details.
+.SH "bool QWidget::isDialog () const"
+Returns TRUE if the widget is a dialog widget; otherwise returns FALSE. See the "isDialog" property for details.
+.SH "bool QWidget::isEnabled () const"
+Returns TRUE if the widget is enabled; otherwise returns FALSE. See the "enabled" property for details.
+.SH "bool QWidget::isEnabledTo ( QWidget * ancestor ) const"
+Returns TRUE if this widget would become enabled if \fIancestor\fR is enabled; otherwise returns FALSE.
+.PP
+This is the case if neither the widget itself nor every parent up to but excluding \fIancestor\fR has been explicitly disabled.
+.PP
+isEnabledTo(0) is equivalent to isEnabled().
+.PP
+See also enabled and enabled.
+.SH "bool QWidget::isEnabledToTLW () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function is deprecated. It is equivalent to isEnabled()
+.SH "bool QWidget::isFocusEnabled () const"
+Returns TRUE if the widget accepts keyboard focus; otherwise returns FALSE. See the "focusEnabled" property for details.
+.SH "bool QWidget::isFullScreen () const"
+Returns TRUE if the widget is full screen; otherwise returns FALSE. See the "fullScreen" property for details.
+.SH "bool QWidget::isHidden () const"
+Returns TRUE if the widget is explicitly hidden; otherwise returns FALSE. See the "hidden" property for details.
+.SH "bool QWidget::isInputMethodEnabled () const"
+Returns enables or disables the use of input methods for this widget. See the "inputMethodEnabled" property for details.
+.SH "bool QWidget::isMaximized () const"
+Returns TRUE if this widget is maximized; otherwise returns FALSE. See the "maximized" property for details.
+.SH "bool QWidget::isMinimized () const"
+Returns TRUE if this widget is minimized (iconified); otherwise returns FALSE. See the "minimized" property for details.
+.SH "bool QWidget::isModal () const"
+Returns TRUE if the widget is a modal widget; otherwise returns FALSE. See the "isModal" property for details.
+.SH "bool QWidget::isPopup () const"
+Returns TRUE if the widget is a popup widget; otherwise returns FALSE. See the "isPopup" property for details.
+.SH "bool QWidget::isShown () const"
+Returns TRUE if the widget is shown; otherwise returns FALSE. See the "shown" property for details.
+.SH "bool QWidget::isTopLevel () const"
+Returns TRUE if the widget is a top-level widget; otherwise returns FALSE. See the "isTopLevel" property for details.
+.SH "bool QWidget::isUpdatesEnabled () const"
+Returns TRUE if updates are enabled; otherwise returns FALSE. See the "updatesEnabled" property for details.
+.SH "bool QWidget::isVisible () const"
+Returns TRUE if the widget is visible; otherwise returns FALSE. See the "visible" property for details.
+.SH "bool QWidget::isVisibleTo ( QWidget * ancestor ) const"
+Returns TRUE if this widget would become visible if \fIancestor\fR is shown; otherwise returns FALSE.
+.PP
+The TRUE case occurs if neither the widget itself nor any parent up to but excluding \fIancestor\fR has been explicitly hidden.
+.PP
+This function will still return TRUE if the widget is obscured by other windows on the screen, but could be physically visible if it or they were to be moved.
+.PP
+isVisibleTo(0) is identical to isVisible().
+.PP
+See also show(), hide(), and visible.
+.SH "bool QWidget::isVisibleToTLW () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This function is deprecated. It is equivalent to isVisible()
+.SH "void QWidget::keyPressEvent ( QKeyEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive key press events for the widget.
+.PP
+A widget must call setFocusPolicy() to accept focus initially and have focus in order to receive a key press event.
+.PP
+If you reimplement this handler, it is very important that you explicitly ignore the event if you do not understand it, so that the widget's parent can interpret it; otherwise, the event will be implicitly accepted. Although top-level widgets are able to choose whether to accept or ignore unknown events because they have no parent widgets that could otherwise handle them, it is good practice to explicitly ignore events to make widgets as reusable as possible.
+.PP
+The default implementation closes popup widgets if the user presses \fBEsc\fR. Otherwise the event is ignored.
+.PP
+See also keyReleaseEvent(), QKeyEvent::ignore(), focusPolicy, focusInEvent(), focusOutEvent(), event(), and QKeyEvent.
+.PP
+Example: picture/picture.cpp.
+.PP
+Reimplemented in QLineEdit and QTextEdit.
+.SH "void QWidget::keyReleaseEvent ( QKeyEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive key release events for the widget.
+.PP
+A widget must accept focus initially and have focus in order to receive a key release event.
+.PP
+If you reimplement this handler, it is very important that you ignore() the release if you do not understand it, so that the widget's parent can interpret it.
+.PP
+The default implementation ignores the event.
+.PP
+See also keyPressEvent(), QKeyEvent::ignore(), focusPolicy, focusInEvent(), focusOutEvent(), event(), and QKeyEvent.
+.SH "QWidget * QWidget::keyboardGrabber ()\fC [static]\fR"
+Returns the widget that is currently grabbing the keyboard input.
+.PP
+If no widget in this application is currently grabbing the keyboard, 0 is returned.
+.PP
+See also grabMouse() and mouseGrabber().
+.SH "QLayout * QWidget::layout () const"
+Returns the layout engine that manages the geometry of this widget's children.
+.PP
+If the widget does not have a layout, layout() returns 0.
+.PP
+See also sizePolicy.
+.PP
+Examples:
+.)l chart/optionsform.cpp and fonts/simple-qfont-demo/viewer.cpp.
+.SH "void QWidget::leaveEvent ( QEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget leave events.
+.PP
+A leave event is sent to the widget when the mouse cursor leaves the widget.
+.PP
+See also enterEvent(), mouseMoveEvent(), and event().
+.SH "void QWidget::lower ()\fC [slot]\fR"
+Lowers the widget to the bottom of the parent widget's stack.
+.PP
+After this call the widget will be visually behind (and therefore obscured by) any overlapping sibling widgets.
+.PP
+See also raise() and stackUnder().
+.SH "bool QWidget::macEvent ( MSG * )\fC [virtual protected]\fR"
+This special event handler can be reimplemented in a subclass to receive native Macintosh events.
+.PP
+In your reimplementation of this function, if you want to stop the event being handled by Qt, return TRUE. If you return FALSE, this native event is passed back to Qt, which translates the event into a Qt event and sends it to the widget.
+.PP
+\fBWarning:\fR This function is not portable.
+.PP
+See also QApplication::macEventFilter().
+.SH "QPoint QWidget::mapFrom ( QWidget * parent, const QPoint & pos ) const"
+Translates the widget coordinate \fIpos\fR from the coordinate system of \fIparent\fR to this widget's coordinate system. The \fIparent\fR must not be 0 and must be a parent of the calling widget.
+.PP
+See also mapTo(), mapFromParent(), mapFromGlobal(), and underMouse.
+.SH "QPoint QWidget::mapFromGlobal ( const QPoint & pos ) const"
+Translates the global screen coordinate \fIpos\fR to widget coordinates.
+.PP
+See also mapToGlobal(), mapFrom(), and mapFromParent().
+.SH "QPoint QWidget::mapFromParent ( const QPoint & pos ) const"
+Translates the parent widget coordinate \fIpos\fR to widget coordinates.
+.PP
+Same as mapFromGlobal() if the widget has no parent.
+.PP
+See also mapToParent(), mapFrom(), mapFromGlobal(), and underMouse.
+.SH "QPoint QWidget::mapTo ( QWidget * parent, const QPoint & pos ) const"
+Translates the widget coordinate \fIpos\fR to the coordinate system of \fIparent\fR. The \fIparent\fR must not be 0 and must be a parent of the calling widget.
+.PP
+See also mapFrom(), mapToParent(), mapToGlobal(), and underMouse.
+.SH "QPoint QWidget::mapToGlobal ( const QPoint & pos ) const"
+Translates the widget coordinate \fIpos\fR to global screen coordinates. For example, \fCmapToGlobal(QPoint(0,0))\fR would give the global coordinates of the top-left pixel of the widget.
+.PP
+See also mapFromGlobal(), mapTo(), and mapToParent().
+.PP
+Example: scribble/scribble.cpp.
+.SH "QPoint QWidget::mapToParent ( const QPoint & pos ) const"
+Translates the widget coordinate \fIpos\fR to a coordinate in the parent widget.
+.PP
+Same as mapToGlobal() if the widget has no parent.
+.PP
+See also mapFromParent(), mapTo(), mapToGlobal(), and underMouse.
+.SH "int QWidget::maximumHeight () const"
+Returns the widget's maximum height. See the "maximumHeight" property for details.
+.SH "QSize QWidget::maximumSize () const"
+Returns the widget's maximum size. See the "maximumSize" property for details.
+.SH "int QWidget::maximumWidth () const"
+Returns the widget's maximum width. See the "maximumWidth" property for details.
+.SH "int QWidget::metric ( int m ) const\fC [virtual protected]\fR"
+Internal implementation of the virtual QPaintDevice::metric() function.
+.PP
+Use the QPaintDeviceMetrics class instead.
+.PP
+\fIm\fR is the metric to get.
+.SH "QRect QWidget::microFocusHint () const"
+Returns the currently set micro focus hint for this widget. See the "microFocusHint" property for details.
+.SH "int QWidget::minimumHeight () const"
+Returns the widget's minimum height. See the "minimumHeight" property for details.
+.SH "QSize QWidget::minimumSize () const"
+Returns the widget's minimum size. See the "minimumSize" property for details.
+.SH "QSize QWidget::minimumSizeHint () const\fC [virtual]\fR"
+Returns the recommended minimum size for the widget. See the "minimumSizeHint" property for details.
+.PP
+Reimplemented in QLineEdit.
+.SH "int QWidget::minimumWidth () const"
+Returns the widget's minimum width. See the "minimumWidth" property for details.
+.SH "void QWidget::mouseDoubleClickEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive mouse double click events for the widget.
+.PP
+The default implementation generates a normal mouse press event.
+.PP
+Note that the widgets gets a mousePressEvent() and a mouseReleaseEvent() before the mouseDoubleClickEvent().
+.PP
+See also mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent(), event(), and QMouseEvent.
+.SH "QWidget * QWidget::mouseGrabber ()\fC [static]\fR"
+Returns the widget that is currently grabbing the mouse input.
+.PP
+If no widget in this application is currently grabbing the mouse, 0 is returned.
+.PP
+See also grabMouse() and keyboardGrabber().
+.SH "void QWidget::mouseMoveEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive mouse move events for the widget.
+.PP
+If mouse tracking is switched off, mouse move events only occur if a mouse button is pressed while the mouse is being moved. If mouse tracking is switched on, mouse move events occur even if no mouse button is pressed.
+.PP
+QMouseEvent::pos() reports the position of the mouse cursor, relative to this widget. For press and release events, the position is usually the same as the position of the last mouse move event, but it might be different if the user's hand shakes. This is a feature of the underlying window system, not Qt.
+.PP
+See also mouseTracking, mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent(), event(), and QMouseEvent.
+.PP
+Examples:
+.)l aclock/aclock.cpp, drawlines/connect.cpp, iconview/simple_dd/main.cpp, life/life.cpp, popup/popup.cpp, qmag/qmag.cpp, and scribble/scribble.cpp.
+.PP
+Reimplemented in QSizeGrip.
+.SH "void QWidget::mousePressEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive mouse press events for the widget.
+.PP
+If you create new widgets in the mousePressEvent() the mouseReleaseEvent() may not end up where you expect, depending on the underlying window system (or X11 window manager), the widgets' location and maybe more.
+.PP
+The default implementation implements the closing of popup widgets when you click outside the window. For other widget types it does nothing.
+.PP
+See also mouseReleaseEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), event(), and QMouseEvent.
+.PP
+Examples:
+.)l biff/biff.cpp, drawlines/connect.cpp, iconview/simple_dd/main.cpp, life/life.cpp, qmag/qmag.cpp, scribble/scribble.cpp, and tooltip/tooltip.cpp.
+.PP
+Reimplemented in QSizeGrip.
+.SH "void QWidget::mouseReleaseEvent ( QMouseEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive mouse release events for the widget.
+.PP
+See also mouseDoubleClickEvent(), mouseMoveEvent(), event(), and QMouseEvent.
+.PP
+Examples:
+.)l drawlines/connect.cpp, hello/hello.cpp, popup/popup.cpp, qmag/qmag.cpp, scribble/scribble.cpp, showimg/showimg.cpp, and t14/cannon.cpp.
+.SH "void QWidget::move ( const QPoint & )\fC [slot]\fR"
+Sets the position of the widget within its parent widget. See the "pos" property for details.
+.SH "void QWidget::move ( int x, int y )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This corresponds to move( QPoint(\fIx\fR, \fIy\fR) ).
+.SH "void QWidget::moveEvent ( QMoveEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget move events. When the widget receives this event, it is already at the new position.
+.PP
+The old position is accessible through QMoveEvent::oldPos().
+.PP
+See also resizeEvent(), event(), pos, and QMoveEvent.
+.SH "bool QWidget::ownCursor () const"
+Returns TRUE if the widget uses its own cursor; otherwise returns FALSE. See the "ownCursor" property for details.
+.SH "bool QWidget::ownFont () const"
+Returns TRUE if the widget uses its own font; otherwise returns FALSE. See the "ownFont" property for details.
+.SH "bool QWidget::ownPalette () const"
+Returns TRUE if the widget uses its own palette; otherwise returns FALSE. See the "ownPalette" property for details.
+.SH "void QWidget::paintEvent ( QPaintEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive paint events.
+.PP
+A paint event is a request to repaint all or part of the widget. It can happen as a result of repaint() or update(), or because the widget was obscured and has now been uncovered, or for many other reasons.
+.PP
+Many widgets can simply repaint their entire surface when asked to, but some slow widgets need to optimize by painting only the requested region: QPaintEvent::region(). This speed optimization does not change the result, as painting is clipped to that region during event processing. QListView and QCanvas do this, for example.
+.PP
+Qt also tries to speed up painting by merging multiple paint events into one. When update() is called several times or the window system sends several paint events, Qt merges these events into one event with a larger region (see QRegion::unite()). repaint() does not permit this optimization, so we suggest using update() when possible.
+.PP
+When the paint event occurs, the update region has normally been erased, so that you're painting on the widget's background. There are a couple of exceptions and QPaintEvent::erased() tells you whether the widget has been erased or not.
+.PP
+The background can be set using setBackgroundMode(), setPaletteBackgroundColor() or setBackgroundPixmap(). The documentation for setBackgroundMode() elaborates on the background; we recommend reading it.
+.PP
+See also event(), repaint(), update(), QPainter, QPixmap, and QPaintEvent.
+.PP
+Examples:
+.)l drawlines/connect.cpp, forever/forever.cpp, qmag/qmag.cpp, scribble/scribble.cpp, splitter/splitter.cpp, t8/cannon.cpp, and t9/cannon.cpp.
+.PP
+Reimplemented in QButton, QFrame, QGLWidget, QSizeGrip, QStatusBar, and QTabBar.
+.SH "const QPalette & QWidget::palette () const"
+Returns the widget's palette. See the "palette" property for details.
+.SH "const QColor & QWidget::paletteBackgroundColor () const"
+Returns the background color of the widget. See the "paletteBackgroundColor" property for details.
+.SH "const QPixmap * QWidget::paletteBackgroundPixmap () const"
+Returns the background pixmap of the widget. See the "paletteBackgroundPixmap" property for details.
+.SH "void QWidget::paletteChange ( const QPalette & oldPalette )\fC [virtual protected]\fR"
+This virtual function is called from setPalette(). \fIoldPalette\fR is the previous palette; you can get the new palette from palette().
+.PP
+Reimplement this function if your widget needs to know when its palette changes.
+.PP
+See also palette and palette.
+.SH "const QColor & QWidget::paletteForegroundColor () const"
+Returns the foreground color of the widget. See the "paletteForegroundColor" property for details.
+.SH "QWidget * QWidget::parentWidget ( bool sameWindow = FALSE ) const"
+Returns the parent of this widget, or 0 if it does not have any parent widget. If \fIsameWindow\fR is TRUE and the widget is top level returns 0; otherwise returns the widget's parent.
+.PP
+Example: mdi/application.cpp.
+.SH "void QWidget::polish ()\fC [virtual slot]\fR"
+Delayed initialization of a widget.
+.PP
+This function will be called \fIafter\fR a widget has been fully created and \fIbefore\fR it is shown the very first time.
+.PP
+Polishing is useful for final initialization which depends on having an instantiated widget. This is something a constructor cannot guarantee since the initialization of the subclasses might not be finished.
+.PP
+After this function, the widget has a proper font and palette and QApplication::polish() has been called.
+.PP
+Remember to call QWidget's implementation first when reimplementing this function to ensure that your program does not end up in infinite recursion.
+.PP
+See also constPolish() and QApplication::polish().
+.PP
+Example: menu/menu.cpp.
+.SH "QPoint QWidget::pos () const"
+Returns the position of the widget within its parent widget. See the "pos" property for details.
+.SH "bool QWidget::qwsEvent ( QWSEvent * )\fC [virtual protected]\fR"
+This special event handler can be reimplemented in a subclass to receive native Qt/Embedded events.
+.PP
+In your reimplementation of this function, if you want to stop the event being handled by Qt, return TRUE. If you return FALSE, this native event is passed back to Qt, which translates the event into a Qt event and sends it to the widget.
+.PP
+\fBWarning:\fR This function is not portable.
+.PP
+See also QApplication::qwsEventFilter().
+.SH "void QWidget::raise ()\fC [slot]\fR"
+Raises this widget to the top of the parent widget's stack.
+.PP
+After this call the widget will be visually in front of any overlapping sibling widgets.
+.PP
+See also lower() and stackUnder().
+.PP
+Example: showimg/showimg.cpp.
+.SH "void QWidget::recreate ( QWidget * parent, WFlags f, const QPoint & p, bool showIt = FALSE )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This method is provided to aid porting from Qt 1.0 to 2.0. It has been renamed reparent() in Qt 2.0.
+.SH "QRect QWidget::rect () const"
+Returns the internal geometry of the widget excluding any window frame. See the "rect" property for details.
+.SH "void QWidget::releaseKeyboard ()"
+Releases the keyboard grab.
+.PP
+See also grabKeyboard(), grabMouse(), and releaseMouse().
+.SH "void QWidget::releaseMouse ()"
+Releases the mouse grab.
+.PP
+See also grabMouse(), grabKeyboard(), and releaseKeyboard().
+.SH "void QWidget::repaint ( int x, int y, int w, int h, bool erase = TRUE )\fC [slot]\fR"
+Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden.
+.PP
+If \fIerase\fR is TRUE, Qt erases the area \fI(x, y, w, h)\fR before the paintEvent() call.
+.PP
+If \fIw\fR is negative, it is replaced with \fCwidth() - x\fR, and if \fIh\fR is negative, it is replaced width \fCheight() - y\fR.
+.PP
+We suggest only using repaint() if you need an immediate repaint, for example during animation. In almost all circumstances update() is better, as it permits Qt to optimize for speed and minimize flicker.
+.PP
+\fBWarning:\fR If you call repaint() in a function which may itself be called from paintEvent(), you may get infinite recursion. The update() function never causes recursion.
+.PP
+See also update(), paintEvent(), updatesEnabled, and erase().
+.PP
+Example: qwerty/qwerty.cpp.
+.SH "void QWidget::repaint ()\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version erases and repaints the entire widget.
+.SH "void QWidget::repaint ( bool erase )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version repaints the entire widget.
+.SH "void QWidget::repaint ( const QRect & r, bool erase = TRUE )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Repaints the widget directly by calling paintEvent() directly, unless updates are disabled or the widget is hidden.
+.PP
+Erases the widget region \fIr\fR if \fIerase\fR is TRUE.
+.SH "void QWidget::repaint ( const QRegion & reg, bool erase = TRUE )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Repaints the widget directly by calling paintEvent() directly, unless updates are disabled or the widget is hidden.
+.PP
+Erases the widget region \fIreg\fR if \fIerase\fR is TRUE.
+.PP
+Only use repaint if your widget needs to be repainted immediately, for example when doing some animation. In all other cases, use update(). Calling update() many times in a row will generate a single paint event.
+.PP
+\fBWarning:\fR If you call repaint() in a function which may itself be called from paintEvent(), you may get infinite recursion. The update() function never causes recursion.
+.PP
+See also update(), paintEvent(), updatesEnabled, and erase().
+.SH "void QWidget::reparent ( QWidget * parent, WFlags f, const QPoint & p, bool showIt = FALSE )\fC [virtual]\fR"
+Reparents the widget. The widget gets a new \fIparent\fR, new widget flags (\fIf\fR, but as usual, use 0) at a new position in its new parent (\fIp\fR).
+.PP
+If \fIshowIt\fR is TRUE, show() is called once the widget has been reparented.
+.PP
+If the new parent widget is in a different top-level widget, the reparented widget and its children are appended to the end of the tab chain of the new parent widget, in the same internal order as before. If one of the moved widgets had keyboard focus, reparent() calls clearFocus() for that widget.
+.PP
+If the new parent widget is in the same top-level widget as the old parent, reparent doesn't change the tab order or keyboard focus.
+.PP
+\fBWarning:\fR It is extremely unlikely that you will ever need this function. If you have a widget that changes its content dynamically, it is far easier to use QWidgetStack or QWizard.
+.PP
+See also getWFlags().
+.PP
+Example: toplevel/options.ui.h.
+.SH "void QWidget::reparent ( QWidget * parent, const QPoint & p, bool showIt = FALSE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+A convenience version of reparent that does not take widget flags as argument.
+.PP
+Calls reparent(\fIparent\fR, getWFlags() & ~WType_Mask, \fIp\fR, \fIshowIt\fR).
+.SH "void QWidget::resetInputContext ()\fC [protected]\fR"
+This function is called when the user finishes input composition, e.g. changes focus to another widget, moves the cursor, etc.
+.SH "void QWidget::resize ( const QSize & )\fC [slot]\fR"
+Sets the size of the widget excluding any window frame. See the "size" property for details.
+.SH "void QWidget::resize ( int w, int h )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This corresponds to resize( QSize(\fIw\fR, \fIh\fR) ).
+.SH "void QWidget::resizeEvent ( QResizeEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget resize events. When resizeEvent() is called, the widget already has its new geometry. The old size is accessible through QResizeEvent::oldSize().
+.PP
+The widget will be erased and receive a paint event immediately after processing the resize event. No drawing need be (or should be) done inside this handler.
+.PP
+Widgets that have been created with the WNoAutoErase flag will not be erased. Nevertheless, they will receive a paint event for their entire area afterwards. Again, no drawing needs to be done inside this handler.
+.PP
+The default implementation calls updateMask() if the widget has automatic masking enabled.
+.PP
+See also moveEvent(), event(), size, QResizeEvent, and paintEvent().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp, menu/menu.cpp, qmag/qmag.cpp, scribble/scribble.cpp, showimg/showimg.cpp, tooltip/tooltip.cpp, and xform/xform.cpp.
+.PP
+Reimplemented in QFrame and QGLWidget.
+.SH "void QWidget::scroll ( int dx, int dy )"
+Scrolls the widget including its children \fIdx\fR pixels to the right and \fIdy\fR downwards. Both \fIdx\fR and \fIdy\fR may be negative.
+.PP
+After scrolling, scroll() sends a paint event for the the part that is read but not written. For example, when scrolling 10 pixels rightwards, the leftmost ten pixels of the widget need repainting. The paint event may be delivered immediately or later, depending on some heuristics (note that you might have to force processing of paint events using QApplication::sendPostedEvents() when using scroll() and move() in combination).
+.PP
+See also QScrollView, erase(), and bitBlt().
+.SH "void QWidget::scroll ( int dx, int dy, const QRect & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This version only scrolls \fIr\fR and does not move the children of the widget.
+.PP
+If \fIr\fR is empty or invalid, the result is undefined.
+.PP
+See also QScrollView, erase(), and bitBlt().
+.SH "void QWidget::setAcceptDrops ( bool on )\fC [virtual]\fR"
+Sets whether drop events are enabled for this widget to \fIon\fR. See the "acceptDrops" property for details.
+.SH "void QWidget::setActiveWindow ()\fC [virtual]\fR"
+Sets the top-level widget containing this widget to be the active window.
+.PP
+An active window is a visible top-level window that has the keyboard input focus.
+.PP
+This function performs the same operation as clicking the mouse on the title bar of a top-level window. On X11, the result depends on the Window Manager. If you want to ensure that the window is stacked on top as well you should also call raise(). Note that the window must be visible, otherwise setActiveWindow() has no effect.
+.PP
+On Windows, if you are calling this when the application is not currently the active one then it will not make it the active window. It will flash the task bar entry blue to indicate that the window has done something. This is because Microsoft do not allow an application to interrupt what the user is currently doing in another application.
+.PP
+See also isActiveWindow, topLevelWidget(), and show().
+.PP
+Reimplemented in QXtWidget.
+.SH "void QWidget::setAutoMask ( bool )\fC [virtual]\fR"
+Sets whether the auto mask feature is enabled for the widget. See the "autoMask" property for details.
+.SH "void QWidget::setBackgroundColor ( const QColor & c )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use setPaletteBackgroundColor() or setEraseColor() instead.
+.PP
+Examples:
+.)l customlayout/main.cpp, desktop/desktop.cpp, hello/main.cpp, movies/main.cpp, and splitter/splitter.cpp.
+.SH "void QWidget::setBackgroundMode ( BackgroundMode )\fC [virtual]\fR"
+Sets the color role used for painting the background of the widget. See the "backgroundMode" property for details.
+.SH "void QWidget::setBackgroundMode ( BackgroundMode m, BackgroundMode visual )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the widget's own background mode to \fIm\fR and the visual background mode to \fIvisual\fR. The visual background mode is used with the designable properties \fCbackgroundColor\fR, \fCforegroundColor\fR and \fCbackgroundPixmap\fR.
+.PP
+For complex controls, the logical background mode sometimes differs from a widget's own background mode. A spinbox for example has PaletteBackground as background mode (typically dark gray), while it's embedded lineedit control uses PaletteBase (typically white). Since the lineedit covers most of the visual area of a spinbox, it defines PaletteBase to be its \fIvisual\fR background mode. Changing the \fCbackgroundColor\fR property thus changes the lineedit control's background, which is exactly what the user expects in \fIQt Designer\fR.
+.SH "void QWidget::setBackgroundOrigin ( BackgroundOrigin )\fC [virtual]\fR"
+Sets the origin of the widget's background. See the "backgroundOrigin" property for details.
+.SH "void QWidget::setBackgroundPixmap ( const QPixmap & pm )\fC [virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code. Use setPaletteBackgroundPixmap() or setErasePixmap() instead.
+.PP
+Example: desktop/desktop.cpp.
+.SH "void QWidget::setBaseSize ( const QSize & )"
+Sets the base size of the widget. See the "baseSize" property for details.
+.SH "void QWidget::setBaseSize ( int basew, int baseh )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This corresponds to setBaseSize( QSize(\fIbasew\fR, \fIbaseh\fR) ). Sets the widgets base size to width \fIbasew\fR and height \fIbaseh\fR.
+.SH "void QWidget::setCaption ( const QString & )\fC [virtual slot]\fR"
+Sets the window caption (title). See the "caption" property for details.
+.SH "void QWidget::setCursor ( const QCursor & )\fC [virtual]\fR"
+Sets the cursor shape for this widget. See the "cursor" property for details.
+.SH "void QWidget::setDisabled ( bool disable )\fC [slot]\fR"
+Disables widget input events if \fIdisable\fR is TRUE; otherwise enables input events.
+.PP
+See the enabled documentation for more information.
+.PP
+See also isEnabledTo(), QKeyEvent, QMouseEvent, and enabledChange().
+.SH "void QWidget::setEnabled ( bool )\fC [virtual slot]\fR"
+Sets whether the widget is enabled. See the "enabled" property for details.
+.SH "void QWidget::setEraseColor ( const QColor & color )\fC [virtual]\fR"
+Sets the erase color of the widget to \fIcolor\fR.
+.PP
+The erase color is the color the widget is to be cleared to before paintEvent() is called. If there is an erase pixmap (set using setErasePixmap()), then this property has an indeterminate value.
+.PP
+See also erasePixmap(), backgroundColor(), backgroundMode, and palette.
+.SH "void QWidget::setErasePixmap ( const QPixmap & pixmap )\fC [virtual]\fR"
+Sets the widget's erase pixmap to \fIpixmap\fR.
+.PP
+This pixmap is used to clear the widget before paintEvent() is called.
+.SH "void QWidget::setFixedHeight ( int h )"
+Sets both the minimum and maximum heights of the widget to \fIh\fR without changing the widths. Provided for convenience.
+.PP
+See also sizeHint, minimumSize, maximumSize, and setFixedSize().
+.PP
+Examples:
+.)l fonts/simple-qfont-demo/viewer.cpp, layout/layout.cpp, qdir/qdir.cpp, and showimg/showimg.cpp.
+.SH "void QWidget::setFixedSize ( const QSize & s )"
+Sets both the minimum and maximum sizes of the widget to \fIs\fR, thereby preventing it from ever growing or shrinking.
+.PP
+See also maximumSize and minimumSize.
+.SH "void QWidget::setFixedSize ( int w, int h )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the width of the widget to \fIw\fR and the height to \fIh\fR.
+.SH "void QWidget::setFixedWidth ( int w )"
+Sets both the minimum and maximum width of the widget to \fIw\fR without changing the heights. Provided for convenience.
+.PP
+See also sizeHint, minimumSize, maximumSize, and setFixedSize().
+.PP
+Examples:
+.)l progressbar/progressbar.cpp and qdir/qdir.cpp.
+.SH "void QWidget::setFocus ()\fC [virtual slot]\fR"
+Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window.
+.PP
+First, a focus out event is sent to the focus widget (if any) to tell it that it is about to lose the focus. Then a focus in event is sent to this widget to tell it that it just received the focus. (Nothing happens if the focus in and focus out widgets are the same.)
+.PP
+setFocus() gives focus to a widget regardless of its focus policy, but does not clear any keyboard grab (see grabKeyboard()).
+.PP
+Be aware that if the widget is hidden, it will not accept focus.
+.PP
+\fBWarning:\fR If you call setFocus() in a function which may itself be called from focusOutEvent() or focusInEvent(), you may get an infinite recursion.
+.PP
+See also focus, clearFocus(), focusInEvent(), focusOutEvent(), focusPolicy, QApplication::focusWidget(), grabKeyboard(), and grabMouse().
+.PP
+Examples:
+.)l addressbook/centralwidget.cpp, lineedits/lineedits.cpp, mdi/application.cpp, popup/popup.cpp, rot13/rot13.cpp, t8/main.cpp, and wizard/wizard.cpp.
+.SH "void QWidget::setFocusPolicy ( FocusPolicy )\fC [virtual]\fR"
+Sets the way the widget accepts keyboard focus. See the "focusPolicy" property for details.
+.SH "void QWidget::setFocusProxy ( QWidget * w )\fC [virtual]\fR"
+Sets the widget's focus proxy to widget \fIw\fR. If \fIw\fR is 0, the function resets this widget to have no focus proxy.
+.PP
+Some widgets, such as QComboBox, can "have focus", but create a child widget to actually handle the focus. QComboBox, for example, creates a QLineEdit which handles the focus.
+.PP
+setFocusProxy() sets the widget which will actually get focus when" this widget" gets it. If there is a focus proxy, focusPolicy(), setFocusPolicy(), setFocus() and hasFocus() all operate on the focus proxy.
+.PP
+See also focusProxy().
+.SH "void QWidget::setFont ( const QFont & )\fC [virtual]\fR"
+Sets the font currently set for the widget. See the "font" property for details.
+.PP
+Reimplemented in QComboBox, QLabel, and QTabDialog.
+.SH "void QWidget::setFont ( const QFont & f, bool )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use setFont(const QFont& font) instead.
+.SH "void QWidget::setGeometry ( const QRect & )\fC [virtual slot]\fR"
+Sets the geometry of the widget relative to its parent and excluding the window frame. See the "geometry" property for details.
+.SH "void QWidget::setGeometry ( int x, int y, int w, int h )\fC [virtual slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This corresponds to setGeometry( QRect(\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) ).
+.SH "void QWidget::setHidden ( bool hide )\fC [slot]\fR"
+Sets whether the widget is explicitly hidden to \fIhide\fR. See the "hidden" property for details.
+.SH "void QWidget::setIcon ( const QPixmap & )\fC [virtual slot]\fR"
+Sets the widget's icon. See the "icon" property for details.
+.SH "void QWidget::setIconText ( const QString & )\fC [virtual slot]\fR"
+Sets the widget's icon text. See the "iconText" property for details.
+.SH "void QWidget::setInputMethodEnabled ( bool b )"
+Sets enables or disables the use of input methods for this widget to \fIb\fR. See the "inputMethodEnabled" property for details.
+.SH "void QWidget::setKeyCompression ( bool compress )\fC [virtual protected]\fR"
+Enables key event compression, if \fIcompress\fR is TRUE, and disables it if \fIcompress\fR is FALSE.
+.PP
+Key compression is off by default (except for QLineEdit and QTextEdit), so widgets receive one key press event for each key press (or more, since autorepeat is usually on). If you turn it on and your program doesn't keep up with key input, Qt may try to compress key events so that more than one character can be processed in each event.
+.PP
+For example, a word processor widget might receive 2, 3 or more characters in each QKeyEvent::text(), if the layout recalculation takes too long for the CPU.
+.PP
+If a widget supports multiple character unicode input, it is always safe to turn the compression on.
+.PP
+Qt performs key event compression only for printable characters. Modifier keys, cursor movement keys, function keys and miscellaneous action keys (e.g. Escape, Enter, Backspace, PrintScreen) will stop key event compression, even if there are more compressible key events available.
+.PP
+Not all platforms support this compression, in which case turning it on will have no effect.
+.PP
+See also QKeyEvent::text().
+.SH "void QWidget::setMask ( const QBitmap & bitmap )\fC [virtual]\fR"
+Causes only the pixels of the widget for which \fIbitmap\fR has a corresponding 1 bit to be visible. Use Qt::color0 to draw transparent regions and Qt::color1 to draw opaque regions of the bitmap.
+.PP
+If the region includes pixels outside the rect() of the widget, window system controls in that area may or may not be visible, depending on the platform.
+.PP
+Note that this effect can be slow if the region is particularly complex.
+.PP
+See \fCexamples/tux\fR for an example of masking for transparency.
+.PP
+See also clearMask().
+.SH "void QWidget::setMask ( const QRegion & region )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Causes only the parts of the widget which overlap \fIregion\fR to be visible. If the region includes pixels outside the rect() of the widget, window system controls in that area may or may not be visible, depending on the platform.
+.PP
+Note that this effect can be slow if the region is particularly complex.
+.PP
+See also clearMask().
+.SH "void QWidget::setMaximumHeight ( int maxh )"
+Sets the widget's maximum height to \fImaxh\fR. See the "maximumHeight" property for details.
+.SH "void QWidget::setMaximumSize ( const QSize & )"
+Sets the widget's maximum size. See the "maximumSize" property for details.
+.SH "void QWidget::setMaximumSize ( int maxw, int maxh )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function corresponds to setMaximumSize( QSize(\fImaxw\fR, \fImaxh\fR) ). Sets the maximum width to \fImaxw\fR and the maximum height to \fImaxh\fR.
+.SH "void QWidget::setMaximumWidth ( int maxw )"
+Sets the widget's maximum width to \fImaxw\fR. See the "maximumWidth" property for details.
+.SH "void QWidget::setMicroFocusHint ( int x, int y, int width, int height, bool text = TRUE, QFont * f = 0 )\fC [virtual protected]\fR"
+When a widget gets focus, it should call setMicroFocusHint() with some appropriate position and size, \fIx\fR, \fIy\fR, \fIwidth\fR and \fIheight\fR. This has no \fIvisual\fR effect, it just provides hints to any system-specific input handling tools.
+.PP
+The \fItext\fR argument should be TRUE if this is a position for text input.
+.PP
+In the Windows version of Qt, this method sets the system caret, which is used for user Accessibility focus handling. If \fItext\fR is TRUE, it also sets the IME composition window in Far East Asian language input systems.
+.PP
+In the X11 version of Qt, if \fItext\fR is TRUE, this method sets the XIM "spot" point for complex language input handling.
+.PP
+The font \fIf\fR is a rendering hint to the currently active input method. If \fIf\fR is 0 the widget's font is used.
+.PP
+See also microFocusHint.
+.SH "void QWidget::setMinimumHeight ( int minh )"
+Sets the widget's minimum height to \fIminh\fR. See the "minimumHeight" property for details.
+.SH "void QWidget::setMinimumSize ( const QSize & )"
+Sets the widget's minimum size. See the "minimumSize" property for details.
+.SH "void QWidget::setMinimumSize ( int minw, int minh )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This function corresponds to setMinimumSize( QSize(minw, minh) ). Sets the minimum width to \fIminw\fR and the minimum height to \fIminh\fR.
+.SH "void QWidget::setMinimumWidth ( int minw )"
+Sets the widget's minimum width to \fIminw\fR. See the "minimumWidth" property for details.
+.SH "void QWidget::setMouseTracking ( bool enable )\fC [virtual slot]\fR"
+Sets whether mouse tracking is enabled for the widget to \fIenable\fR. See the "mouseTracking" property for details.
+.SH "void QWidget::setPalette ( const QPalette & )\fC [virtual]\fR"
+Sets the widget's palette. See the "palette" property for details.
+.PP
+Reimplemented in QComboBox, QScrollBar, and QSlider.
+.SH "void QWidget::setPalette ( const QPalette & p, bool )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use setPalette( const QPalette& p ) instead.
+.SH "void QWidget::setPaletteBackgroundColor ( const QColor & )\fC [virtual]\fR"
+Sets the background color of the widget. See the "paletteBackgroundColor" property for details.
+.SH "void QWidget::setPaletteBackgroundPixmap ( const QPixmap & )\fC [virtual]\fR"
+Sets the background pixmap of the widget. See the "paletteBackgroundPixmap" property for details.
+.SH "void QWidget::setPaletteForegroundColor ( const QColor & )"
+Sets the foreground color of the widget. See the "paletteForegroundColor" property for details.
+.SH "void QWidget::setShown ( bool show )\fC [slot]\fR"
+Sets whether the widget is shown to \fIshow\fR. See the "shown" property for details.
+.SH "void QWidget::setSizeIncrement ( const QSize & )"
+Sets the size increment of the widget. See the "sizeIncrement" property for details.
+.SH "void QWidget::setSizeIncrement ( int w, int h )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the x (width) size increment to \fIw\fR and the y (height) size increment to \fIh\fR.
+.SH "void QWidget::setSizePolicy ( QSizePolicy )\fC [virtual]\fR"
+Sets the default layout behavior of the widget. See the "sizePolicy" property for details.
+.SH "void QWidget::setSizePolicy ( QSizePolicy::SizeType hor, QSizePolicy::SizeType ver, bool hfw = FALSE )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the size policy of the widget to \fIhor\fR, \fIver\fR and \fIhfw\fR (height for width).
+.PP
+See also QSizePolicy::QSizePolicy().
+.SH "void QWidget::setStyle ( QStyle * style )"
+Sets the widget's GUI style to \fIstyle\fR. Ownership of the style object is not transferred.
+.PP
+If no style is set, the widget uses the application's style, QApplication::style() instead.
+.PP
+Setting a widget's style has no effect on existing or future child widgets.
+.PP
+\fBWarning:\fR This function is particularly useful for demonstration purposes, where you want to show Qt's styling capabilities. Real applications should avoid it and use one consistent GUI style instead.
+.PP
+See also style(), QStyle, QApplication::style(), and QApplication::setStyle().
+.PP
+Examples:
+.)l grapher/grapher.cpp and progressbar/progressbar.cpp.
+.SH "QStyle * QWidget::setStyle ( const QString & style )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the widget's GUI style to \fIstyle\fR using the QStyleFactory.
+.SH "void QWidget::setTabOrder ( QWidget * first, QWidget * second )\fC [static]\fR"
+Moves the \fIsecond\fR widget around the ring of focus widgets so that keyboard focus moves from the \fIfirst\fR widget to the \fIsecond\fR widget when the Tab key is pressed.
+.PP
+Note that since the tab order of the \fIsecond\fR widget is changed, you should order a chain like this:
+.PP
+.nf
+.br
+ setTabOrder( a, b ); // a to b
+.br
+ setTabOrder( b, c ); // a to b to c
+.br
+ setTabOrder( c, d ); // a to b to c to d
+.br
+.fi
+.PP
+\fInot\fR like this:
+.PP
+.nf
+.br
+ setTabOrder( c, d ); // c to d WRONG
+.br
+ setTabOrder( a, b ); // a to b AND c to d
+.br
+ setTabOrder( b, c ); // a to b to c, but not c to d
+.br
+.fi
+.PP
+If \fIfirst\fR or \fIsecond\fR has a focus proxy, setTabOrder() correctly substitutes the proxy.
+.PP
+See also focusPolicy and setFocusProxy().
+.PP
+Example: customlayout/main.cpp.
+.SH "void QWidget::setUpdatesEnabled ( bool enable )\fC [virtual slot]\fR"
+Sets whether updates are enabled to \fIenable\fR. See the "updatesEnabled" property for details.
+.SH "void QWidget::setWFlags ( WFlags f )\fC [virtual protected]\fR"
+Sets the widget flags \fIf\fR.
+.PP
+Widget flags are a combination of Qt::WidgetFlags.
+.PP
+See also testWFlags(), getWFlags(), and clearWFlags().
+.SH "void QWidget::setWindowOpacity ( double level )"
+Sets the level of opacity for the window to \fIlevel\fR. See the "windowOpacity" property for details.
+.SH "void QWidget::setWindowState ( uint windowState )"
+Sets the window state to \fIwindowState\fR. The window state is a OR'ed combination of Qt::WindowState: WindowMinimized, WindowMaximized, WindowFullScreen and WindowActive.
+.PP
+If the window is not visible (i.e. isVisible() returns FALSE), the window state will take effect when show() is called. For visible windows, the change is immediate. For example, to toggle between full-screen and mormal mode, use the following code:
+.PP
+.nf
+.br
+ w->setWindowState(w->windowState() ^ WindowFullScreen);
+.br
+.fi
+.PP
+In order to restore and activate a minimized window (while preserving its maximized and/or full-screen state), use the following:
+.PP
+.nf
+.br
+ w->setWindowState(w->windowState() & ~WindowMinimized | WindowActive);
+.br
+.fi
+.PP
+Note: On some window systems WindowActive is not immediate, and may be ignored in certain cases.
+.PP
+See also Qt::WindowState and windowState().
+.SH "void QWidget::show ()\fC [virtual slot]\fR"
+Shows the widget and its child widgets.
+.PP
+If its size or position has changed, Qt guarantees that a widget gets move and resize events just before it is shown.
+.PP
+You almost never have to reimplement this function. If you need to change some settings before a widget is shown, use showEvent() instead. If you need to do some delayed initialization use polish().
+.PP
+See also showEvent(), hide(), showMinimized(), showMaximized(), showNormal(), visible, and polish().
+.PP
+Examples:
+.)l aclock/main.cpp, life/main.cpp, popup/popup.cpp, t1/main.cpp, t3/main.cpp, t4/main.cpp, and toplevel/options.ui.h.
+.PP
+Reimplemented in QDialog and QMenuBar.
+.SH "void QWidget::showEvent ( QShowEvent * )\fC [virtual protected]\fR"
+This event handler can be reimplemented in a subclass to receive widget show events.
+.PP
+Non-spontaneous show events are sent to widgets immediately before they are shown. The spontaneous show events of top-level widgets are delivered afterwards.
+.PP
+See also event() and QShowEvent.
+.PP
+Example: qdir/qdir.cpp.
+.SH "void QWidget::showFullScreen ()\fC [slot]\fR"
+Shows the widget in full-screen mode.
+.PP
+Calling this function only affects top-level widgets.
+.PP
+To return from full-screen mode, call showNormal().
+.PP
+Full-screen mode works fine under Windows, but has certain problems under X. These problems are due to limitations of the ICCCM protocol that specifies the communication between X11 clients and the window manager. ICCCM simply does not understand the concept of non-decorated full-screen windows. Therefore, the best we can do is to request a borderless window and place and resize it to fill the entire screen. Depending on the window manager, this may or may not work. The borderless window is requested using MOTIF hints, which are at least partially supported by virtually all modern window managers.
+.PP
+An alternative would be to bypass the window manager entirely and create a window with the WX11BypassWM flag. This has other severe problems though, like totally broken keyboard focus and very strange effects on desktop changes or when the user raises other windows.
+.PP
+X11 window managers that follow modern post-ICCCM specifications support full-screen mode properly.
+.PP
+See also showNormal(), showMaximized(), show(), hide(), and visible.
+.SH "void QWidget::showMaximized ()\fC [virtual slot]\fR"
+Shows the widget maximized.
+.PP
+Calling this function only affects top-level widgets.
+.PP
+On X11, this function may not work properly with certain window managers. See the Window Geometry documentation for an explanation.
+.PP
+See also setWindowState(), showNormal(), showMinimized(), show(), hide(), and visible.
+.PP
+Examples:
+.)l canvas/main.cpp, helpviewer/main.cpp, mdi/application.cpp, qwerty/main.cpp, qwerty/qwerty.cpp, and scribble/main.cpp.
+.SH "void QWidget::showMinimized ()\fC [virtual slot]\fR"
+Shows the widget minimized, as an icon.
+.PP
+Calling this function only affects top-level widgets.
+.PP
+See also showNormal(), showMaximized(), show(), hide(), visible, and minimized.
+.SH "void QWidget::showNormal ()\fC [virtual slot]\fR"
+Restores the widget after it has been maximized or minimized.
+.PP
+Calling this function only affects top-level widgets.
+.PP
+See also setWindowState(), showMinimized(), showMaximized(), show(), hide(), and visible.
+.PP
+Example: mdi/application.cpp.
+.SH "QSize QWidget::size () const"
+Returns the size of the widget excluding any window frame. See the "size" property for details.
+.SH "QSize QWidget::sizeHint () const\fC [virtual]\fR"
+Returns the recommended size for the widget. See the "sizeHint" property for details.
+.PP
+Reimplemented in QSizeGrip.
+.SH "QSize QWidget::sizeIncrement () const"
+Returns the size increment of the widget. See the "sizeIncrement" property for details.
+.SH "QSizePolicy QWidget::sizePolicy () const\fC [virtual]\fR"
+Returns the default layout behavior of the widget. See the "sizePolicy" property for details.
+.SH "void QWidget::stackUnder ( QWidget * w )\fC [slot]\fR"
+Places the widget under \fIw\fR in the parent widget's stack.
+.PP
+To make this work, the widget itself and \fIw\fR must be siblings.
+.PP
+See also raise() and lower().
+.SH "QStyle & QWidget::style () const"
+Returns the GUI style for this widget
+.PP
+See also QWidget::setStyle(), QApplication::setStyle(), and QApplication::style().
+.SH "void QWidget::styleChange ( QStyle & oldStyle )\fC [virtual protected]\fR"
+This virtual function is called when the style of the widgets changes. \fIoldStyle\fR is the previous GUI style; you can get the new style from style().
+.PP
+Reimplement this function if your widget needs to know when its GUI style changes. You will almost certainly need to update the widget using update().
+.PP
+The default implementation updates the widget including its geometry.
+.PP
+See also QApplication::setStyle(), style(), update(), and updateGeometry().
+.SH "void QWidget::tabletEvent ( QTabletEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive tablet events for the widget.
+.PP
+If you reimplement this handler, it is very important that you ignore() the event if you do not handle it, so that the widget's parent can interpret it.
+.PP
+The default implementation ignores the event.
+.PP
+See also QTabletEvent::ignore(), QTabletEvent::accept(), event(), and QTabletEvent.
+.SH "WFlags QWidget::testWFlags ( WFlags f ) const"
+Returns the bitwise AND of the widget flags and \fIf\fR.
+.PP
+Widget flags are a combination of Qt::WidgetFlags.
+.PP
+If you want to test for the presence of multiple flags (or composite flags such as WStyle_Splash), test the return value for equality against the argument. For example:
+.PP
+.nf
+.br
+ int flags = WStyle_Tool | WStyle_NoBorder;
+.br
+ if ( testWFlags(flags) )
+.br
+ ... // WStyle_Tool or WStyle_NoBorder or both are set
+.br
+ if ( testWFlags(flags) == flags )
+.br
+ ... // both WStyle_Tool and WStyle_NoBorder are set
+.br
+.fi
+.PP
+See also getWFlags(), setWFlags(), and clearWFlags().
+.SH "QWidget * QWidget::topLevelWidget () const"
+Returns the top-level widget for this widget, i.e. the next ancestor widget that has (or could have) a window-system frame.
+.PP
+If the widget is a top-level, the widget itself is returned.
+.PP
+Typical usage is changing the window caption:
+.PP
+.nf
+.br
+ aWidget->topLevelWidget()->setCaption( "New Caption" );
+.br
+.fi
+.PP
+See also isTopLevel.
+.SH "void QWidget::unsetCursor ()\fC [virtual]\fR"
+Resets the cursor shape for this widget. See the "cursor" property for details.
+.SH "void QWidget::unsetFont ()"
+Resets the font currently set for the widget. See the "font" property for details.
+.SH "void QWidget::unsetPalette ()"
+Resets the widget's palette. See the "palette" property for details.
+.SH "void QWidget::update ()\fC [slot]\fR"
+Updates the widget unless updates are disabled or the widget is hidden.
+.PP
+This function does not cause an immediate repaint; instead it schedules a paint event for processing when Qt returns to the main event loop. This permits Qt to optimize for more speed and less flicker than a call to repaint() does.
+.PP
+Calling update() several times normally results in just one paintEvent() call.
+.PP
+Qt normally erases the widget's area before the paintEvent() call. If the WRepaintNoErase widget flag is set, the widget is responsible for painting all its pixels itself.
+.PP
+See also repaint(), paintEvent(), updatesEnabled, erase(), and setWFlags().
+.PP
+Examples:
+.)l desktop/desktop.cpp and scrollview/scrollview.cpp.
+.SH "void QWidget::update ( int x, int y, int w, int h )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Updates a rectangle (\fIx\fR, \fIy\fR, \fIw\fR, \fIh\fR) inside the widget unless updates are disabled or the widget is hidden.
+.PP
+This function does not cause an immediate repaint; instead it schedules a paint event for processing when Qt returns to the main event loop. This permits Qt to optimize for more speed and less flicker and a call to repaint() does.
+.PP
+Calling update() several times normally results in just one paintEvent() call.
+.PP
+If \fIw\fR is negative, it is replaced with \fCwidth() - x\fR. If \fIh\fR is negative, it is replaced width \fCheight() - y\fR.
+.PP
+Qt normally erases the specified area before the paintEvent() call. If the WRepaintNoErase widget flag is set, the widget is responsible for painting all its pixels itself.
+.PP
+See also repaint(), paintEvent(), updatesEnabled, and erase().
+.SH "void QWidget::update ( const QRect & r )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Updates a rectangle \fIr\fR inside the widget unless updates are disabled or the widget is hidden.
+.PP
+This function does not cause an immediate repaint; instead it schedules a paint event for processing when Qt returns to the main event loop. This permits Qt to optimize for more speed and less flicker and a call to repaint() does.
+.PP
+Calling update() several times normally results in just one paintEvent() call.
+.SH "void QWidget::updateGeometry ()"
+Notifies the layout system that this widget has changed and may need to change geometry.
+.PP
+Call this function if the sizeHint() or sizePolicy() have changed.
+.PP
+For explicitly hidden widgets, updateGeometry() is a no-op. The layout system will be notified as soon as the widget is shown.
+.SH "void QWidget::updateMask ()\fC [virtual protected]\fR"
+This function can be reimplemented in a subclass to support transparent widgets. It should be called whenever a widget changes state in a way that means that the shape mask must be recalculated.
+.PP
+See also autoMask, setMask(), and clearMask().
+.SH "QRect QWidget::visibleRect () const"
+Returns the visible rectangle. See the "visibleRect" property for details.
+.SH "void QWidget::wheelEvent ( QWheelEvent * e )\fC [virtual protected]\fR"
+This event handler, for event \fIe\fR, can be reimplemented in a subclass to receive wheel events for the widget.
+.PP
+If you reimplement this handler, it is very important that you ignore() the event if you do not handle it, so that the widget's parent can interpret it.
+.PP
+The default implementation ignores the event.
+.PP
+See also QWheelEvent::ignore(), QWheelEvent::accept(), event(), and QWheelEvent.
+.SH "int QWidget::width () const"
+Returns the width of the widget excluding any window frame. See the "width" property for details.
+.SH "bool QWidget::winEvent ( MSG * )\fC [virtual protected]\fR"
+This special event handler can be reimplemented in a subclass to receive native Windows events.
+.PP
+In your reimplementation of this function, if you want to stop the event being handled by Qt, return TRUE. If you return FALSE, this native event is passed back to Qt, which translates the event into a Qt event and sends it to the widget.
+.PP
+\fBWarning:\fR This function is not portable.
+.PP
+See also QApplication::winEventFilter().
+.SH "WId QWidget::winId () const"
+Returns the window system identifier of the widget.
+.PP
+Portable in principle, but if you use it you are probably about to do something non-portable. Be careful.
+.PP
+See also find().
+.SH "void QWidget::windowActivationChange ( bool oldActive )\fC [virtual protected]\fR"
+This virtual function is called for a widget when its window is activated or deactivated by the window system. \fIoldActive\fR is the previous state; you can get the new setting from isActiveWindow().
+.PP
+Reimplement this function if your widget needs to know when its window becomes activated or deactivated.
+.PP
+The default implementation updates the visible part of the widget if the inactive and the active colorgroup are different for colors other than the highlight and link colors.
+.PP
+See also setActiveWindow(), isActiveWindow, update(), and palette.
+.SH "double QWidget::windowOpacity () const"
+Returns the level of opacity for the window. See the "windowOpacity" property for details.
+.SH "uint QWidget::windowState () const"
+Returns the current window state. The window state is a OR'ed combination of Qt::WindowState: WindowMinimized, WindowMaximized, WindowFullScreen and WindowActive.
+.PP
+See also Qt::WindowState and setWindowState().
+.SH "int QWidget::x () const"
+Returns the x coordinate of the widget relative to its parent including any window frame. See the "x" property for details.
+.SH "bool QWidget::x11Event ( XEvent * )\fC [virtual protected]\fR"
+This special event handler can be reimplemented in a subclass to receive native X11 events.
+.PP
+In your reimplementation of this function, if you want to stop the event being handled by Qt, return TRUE. If you return FALSE, this native event is passed back to Qt, which translates the event into a Qt event and sends it to the widget.
+.PP
+\fBWarning:\fR This function is not portable.
+.PP
+See also QApplication::x11EventFilter().
+.PP
+Reimplemented in QXtWidget.
+.SH "int QWidget::y () const"
+Returns the y coordinate of the widget relative to its parent and including any window frame. See the "y" property for details.
+.SS "Property Documentation"
+.SH "bool acceptDrops"
+This property holds whether drop events are enabled for this widget.
+.PP
+Setting this property to TRUE announces to the system that this widget \fImay\fR be able to accept drop events.
+.PP
+If the widget is the desktop (QWidget::isDesktop()), this may fail if another application is using the desktop; you can call acceptDrops() to test if this occurs.
+.PP
+\fBWarning:\fR Do not modify this property in a Drag&Drop event handler.
+.PP
+Set this property's value with setAcceptDrops() and get this property's value with acceptDrops().
+.SH "bool autoMask"
+This property holds whether the auto mask feature is enabled for the widget.
+.PP
+Transparent widgets use a mask to define their visible region. QWidget has some built-in support to make the task of recalculating the mask easier. When setting auto mask to TRUE, updateMask() will be called whenever the widget is resized or changes its focus state. Note that you must reimplement updateMask() (which should include a call to setMask()) or nothing will happen.
+.PP
+Note: when you re-implement resizeEvent(), focusInEvent() or focusOutEvent() in your custom widgets and still want to ensure that the auto mask calculation works, you should add:
+.PP
+.nf
+.br
+ if ( autoMask() )
+.br
+ updateMask();
+.br
+.fi
+.PP
+at the end of your event handlers. This is true for all member functions that change the appearance of the widget in a way that requires a recalculation of the mask.
+.PP
+While being a technically appealing concept, masks have a big drawback: when using complex masks that cannot be expressed easily with relatively simple regions, they can be very slow on some window systems. The classic example is a transparent label. The complex shape of its contents makes it necessary to represent its mask by a bitmap, which consumes both memory and time. If all you want is to blend the background of several neighboring widgets together seamlessly, you will probably want to use setBackgroundOrigin() rather than a mask.
+.PP
+See also updateMask(), setMask(), clearMask(), and backgroundOrigin.
+.PP
+Set this property's value with setAutoMask() and get this property's value with autoMask().
+.SH "QBrush backgroundBrush"
+This property holds the widget's background brush.
+.PP
+The background brush depends on a widget's palette and its background mode.
+.PP
+See also backgroundColor(), backgroundPixmap(), eraseColor(), palette, and QApplication::setPalette().
+.PP
+Get this property's value with backgroundBrush().
+.SH "BackgroundMode backgroundMode"
+This property holds the color role used for painting the background of the widget.
+.PP
+setPaletteBackgroundColor() reads this property to determine which entry of the palette to set.
+.PP
+For most widgets the default suffices (PaletteBackground, typically gray), but some need to use PaletteBase (the background color for text output, typically white) or another role.
+.PP
+QListBox, which is "sunken" and uses the base color to contrast with its environment, does this in its constructor:
+.PP
+.nf
+.br
+ setBackgroundMode( PaletteBase );
+.br
+.fi
+.PP
+You will never need to set the background mode of a built-in widget in Qt, but you might consider setting it in your custom widgets, so that setPaletteBackgroundColor() works as expected.
+.PP
+Note that two of the BackgroundMode values make no sense for setBackgroundMode(), namely FixedPixmap and FixedColor. You must call setBackgroundPixmap() and setPaletteBackgroundColor() instead.
+.PP
+Set this property's value with setBackgroundMode() and get this property's value with backgroundMode().
+.SH "BackgroundOrigin backgroundOrigin"
+This property holds the origin of the widget's background.
+.PP
+The origin is either WidgetOrigin (the default), ParentOrigin, WindowOrigin or AncestorOrigin.
+.PP
+This only makes a difference if the widget has a background pixmap, in which case positioning matters. Using WindowOrigin for several neighboring widgets makes the background blend together seamlessly. AncestorOrigin allows blending backgrounds seamlessly when an ancestor of the widget has an origin other than WindowOrigin.
+.PP
+See also backgroundPixmap() and backgroundMode.
+.PP
+Set this property's value with setBackgroundOrigin() and get this property's value with backgroundOrigin().
+.SH "QSize baseSize"
+This property holds the base size of the widget.
+.PP
+The base size is used to calculate a proper widget size if the widget defines sizeIncrement().
+.PP
+See also sizeIncrement.
+.PP
+Set this property's value with setBaseSize() and get this property's value with baseSize().
+.SH "QString caption"
+This property holds the window caption (title).
+.PP
+This property only makes sense for top-level widgets. If no caption has been set, the caption is QString::null.
+.PP
+See also icon and iconText.
+.PP
+Set this property's value with setCaption() and get this property's value with caption().
+.SH "QRect childrenRect"
+This property holds the bounding rectangle of the widget's children.
+.PP
+Hidden children are excluded.
+.PP
+See also childrenRegion and geometry.
+.PP
+Get this property's value with childrenRect().
+.SH "QRegion childrenRegion"
+This property holds the combined region occupied by the widget's children.
+.PP
+Hidden children are excluded.
+.PP
+See also childrenRect and geometry.
+.PP
+Get this property's value with childrenRegion().
+.SH "QColorGroup colorGroup"
+This property holds the current color group of the widget palette.
+.PP
+The color group is determined by the state of the widget. A disabled widget has the QPalette::disabled() color group, a widget with keyboard focus has the QPalette::active() color group, and an inactive widget has the QPalette::inactive() color group.
+.PP
+See also palette.
+.PP
+Get this property's value with colorGroup().
+.SH "QCursor cursor"
+This property holds the cursor shape for this widget.
+.PP
+The mouse cursor will assume this shape when it's over this widget. See the list of predefined cursor objects for a range of useful shapes.
+.PP
+An editor widget might use an I-beam cursor:
+.PP
+.nf
+.br
+ setCursor( IbeamCursor );
+.br
+.fi
+.PP
+If no cursor has been set, or after a call to unsetCursor(), the parent's cursor is used. The function unsetCursor() has no effect on top-level widgets.
+.PP
+See also QApplication::setOverrideCursor().
+.PP
+Set this property's value with setCursor(), get this property's value with cursor(), and reset this property's value with unsetCursor().
+.SH "bool customWhatsThis"
+This property holds whether the widget wants to handle What's This help manually.
+.PP
+The default implementation of customWhatsThis() returns FALSE, which means the widget will not receive any events in Whats This mode.
+.PP
+The widget may leave What's This mode by calling QWhatsThis::leaveWhatsThisMode(), with or without actually displaying any help text.
+.PP
+You can also reimplement customWhatsThis() if your widget is a" passive interactor" supposed to work under all circumstances. Simply don't call QWhatsThis::leaveWhatsThisMode() in that case.
+.PP
+See also QWhatsThis::inWhatsThisMode() and QWhatsThis::leaveWhatsThisMode().
+.PP
+Get this property's value with customWhatsThis().
+.SH "bool enabled"
+This property holds whether the widget is enabled.
+.PP
+An enabled widget receives keyboard and mouse events; a disabled widget does not. In fact, an enabled widget only receives keyboard events when it is in focus.
+.PP
+Some widgets display themselves differently when they are disabled. For example a button might draw its label grayed out. If your widget needs to know when it becomes enabled or disabled, you can reimplement the enabledChange() function.
+.PP
+Disabling a widget implicitly disables all its children. Enabling respectively enables all child widgets unless they have been explicitly disabled.
+.PP
+See also enabled, isEnabledTo(), QKeyEvent, QMouseEvent, and enabledChange().
+.PP
+Set this property's value with setEnabled() and get this property's value with isEnabled().
+.SH "bool focus"
+This property holds whether this widget (or its focus proxy) has the keyboard input focus.
+.PP
+Effectively equivalent to \fCqApp->focusWidget() == this\fR.
+.PP
+See also setFocus(), clearFocus(), focusPolicy, and QApplication::focusWidget().
+.PP
+Get this property's value with hasFocus().
+.SH "bool focusEnabled"
+This property holds whether the widget accepts keyboard focus.
+.PP
+Keyboard focus is initially disabled (i.e. focusPolicy() == QWidget::NoFocus).
+.PP
+You must enable keyboard focus for a widget if it processes keyboard events. This is normally done from the widget's constructor. For instance, the QLineEdit constructor calls setFocusPolicy(QWidget::StrongFocus).
+.PP
+See also focusPolicy, focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent(), and enabled.
+.PP
+Get this property's value with isFocusEnabled().
+.SH "FocusPolicy focusPolicy"
+This property holds the way the widget accepts keyboard focus.
+.PP
+The policy is QWidget::TabFocus if the widget accepts keyboard focus by tabbing, QWidget::ClickFocus if the widget accepts focus by clicking, QWidget::StrongFocus if it accepts both, and QWidget::NoFocus (the default) if it does not accept focus at all.
+.PP
+You must enable keyboard focus for a widget if it processes keyboard events. This is normally done from the widget's constructor. For instance, the QLineEdit constructor calls setFocusPolicy(QWidget::StrongFocus).
+.PP
+See also focusEnabled, focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent(), and enabled.
+.PP
+Set this property's value with setFocusPolicy() and get this property's value with focusPolicy().
+.SH "QFont font"
+This property holds the font currently set for the widget.
+.PP
+The fontInfo() function reports the actual font that is being used by the widget.
+.PP
+As long as no special font has been set, or after unsetFont() is called, this is either a special font for the widget class, the parent's font or (if this widget is a top level widget), the default application font.
+.PP
+This code fragment sets a 12 point helvetica bold font:
+.PP
+.nf
+.br
+ QFont f( "Helvetica", 12, QFont::Bold );
+.br
+ setFont( f );
+.br
+.fi
+.PP
+In addition to setting the font, setFont() informs all children about the change.
+.PP
+See also fontChange(), fontInfo(), fontMetrics(), and ownFont.
+.PP
+Set this property's value with setFont(), get this property's value with font(), and reset this property's value with unsetFont().
+.SH "QRect frameGeometry"
+This property holds geometry of the widget relative to its parent including any window frame.
+.PP
+See the Window Geometry documentation for an overview of geometry issues with top-level widgets.
+.PP
+See also geometry, x, y, and pos.
+.PP
+Get this property's value with frameGeometry().
+.SH "QSize frameSize"
+This property holds the size of the widget including any window frame.
+.PP
+Get this property's value with frameSize().
+.SH "bool fullScreen"
+This property holds whether the widget is full screen.
+.PP
+Get this property's value with isFullScreen().
+.PP
+See also windowState(), minimized, and maximized.
+.SH "QRect geometry"
+This property holds the geometry of the widget relative to its parent and excluding the window frame.
+.PP
+When changing the geometry, the widget, if visible, receives a move event (moveEvent()) and/or a resize event (resizeEvent()) immediately. If the widget is not currently visible, it is guaranteed to receive appropriate events before it is shown.
+.PP
+The size component is adjusted if it lies outside the range defined by minimumSize() and maximumSize().
+.PP
+setGeometry() is virtual, and all other overloaded setGeometry() implementations in Qt call it.
+.PP
+\fBWarning:\fR Calling setGeometry() inside resizeEvent() or moveEvent() can lead to infinite recursion.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also frameGeometry, rect, pos, size, moveEvent(), resizeEvent(), minimumSize, and maximumSize.
+.PP
+Set this property's value with setGeometry() and get this property's value with geometry().
+.SH "int height"
+This property holds the height of the widget excluding any window frame.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also geometry, width, and size.
+.PP
+Get this property's value with height().
+.SH "bool hidden"
+This property holds whether the widget is explicitly hidden.
+.PP
+If FALSE, the widget is visible or would become visible if all its ancestors became visible.
+.PP
+See also hide(), show(), visible, isVisibleTo(), and shown.
+.PP
+Set this property's value with setHidden() and get this property's value with isHidden().
+.SH "QPixmap icon"
+This property holds the widget's icon.
+.PP
+This property only makes sense for top-level widgets. If no icon has been set, icon() returns 0.
+.PP
+See also iconText, caption, and Setting the Application Icon.
+.PP
+Set this property's value with setIcon() and get this property's value with icon().
+.SH "QString iconText"
+This property holds the widget's icon text.
+.PP
+This property only makes sense for top-level widgets. If no icon text has been set, this functions returns QString::null.
+.PP
+See also icon and caption.
+.PP
+Set this property's value with setIconText() and get this property's value with iconText().
+.SH "bool inputMethodEnabled"
+This property holds enables or disables the use of input methods for this widget.
+.PP
+Most Widgets (as eg. buttons) that do not handle text input should have the input method disabled if they have focus. This is the default.
+.PP
+If a widget handles text input it should set this property to TRUE.
+.PP
+Set this property's value with setInputMethodEnabled() and get this property's value with isInputMethodEnabled().
+.SH "bool isActiveWindow"
+This property holds whether this widget is the active window.
+.PP
+The active window is the window that contains the widget that has keyboard focus.
+.PP
+When popup windows are visible, this property is TRUE for both the active window \fIand\fR for the popup.
+.PP
+See also setActiveWindow() and QApplication::activeWindow().
+.PP
+Get this property's value with isActiveWindow().
+.SH "bool isDesktop"
+This property holds whether the widget is a desktop widget, i.e. represents the desktop.
+.PP
+A desktop widget is also a top-level widget.
+.PP
+See also isTopLevel and QApplication::desktop().
+.PP
+Get this property's value with isDesktop().
+.SH "bool isDialog"
+This property holds whether the widget is a dialog widget.
+.PP
+A dialog widget is a secondary top-level widget, i.e. a top-level widget with a parent.
+.PP
+See also isTopLevel and QDialog.
+.PP
+Get this property's value with isDialog().
+.SH "bool isModal"
+This property holds whether the widget is a modal widget.
+.PP
+This property only makes sense for top-level widgets. A modal widget prevents widgets in all other top-level widgets from getting any input.
+.PP
+See also isTopLevel, isDialog, and QDialog.
+.PP
+Get this property's value with isModal().
+.SH "bool isPopup"
+This property holds whether the widget is a popup widget.
+.PP
+A popup widget is created by specifying the widget flag WType_Popup to the widget constructor. A popup widget is also a top-level widget.
+.PP
+See also isTopLevel.
+.PP
+Get this property's value with isPopup().
+.SH "bool isTopLevel"
+This property holds whether the widget is a top-level widget.
+.PP
+A top-level widget is a widget which usually has a frame and a caption (title). Popup and desktop widgets are also top-level widgets.
+.PP
+A top-level widget can have a parent widget. It will then be grouped with its parent and deleted when the parent is deleted, minimized when the parent is minimized etc. If supported by the window manager, it will also have a common taskbar entry with its parent.
+.PP
+QDialog and QMainWindow widgets are by default top-level, even if a parent widget is specified in the constructor. This behavior is specified by the WType_TopLevel widget flag.
+.PP
+See also topLevelWidget(), isDialog, isModal, isPopup, isDesktop, and parentWidget().
+.PP
+Get this property's value with isTopLevel().
+.SH "bool maximized"
+This property holds whether this widget is maximized.
+.PP
+This property is only relevant for top-level widgets.
+.PP
+Note that due to limitations in some window-systems, this does not always report the expected results (e.g. if the user on X11 maximizes the window via the window manager, Qt has no way of distinguishing this from any other resize). This is expected to improve as window manager protocols evolve.
+.PP
+See also windowState(), showMaximized(), visible, show(), hide(), showNormal(), and minimized.
+.PP
+Get this property's value with isMaximized().
+.SH "int maximumHeight"
+This property holds the widget's maximum height.
+.PP
+This property corresponds to maximumSize().height().
+.PP
+See also maximumSize and maximumWidth.
+.PP
+Set this property's value with setMaximumHeight() and get this property's value with maximumHeight().
+.SH "QSize maximumSize"
+This property holds the widget's maximum size.
+.PP
+The widget cannot be resized to a larger size than the maximum widget size.
+.PP
+See also maximumWidth, maximumHeight, maximumSize, minimumSize, and sizeIncrement.
+.PP
+Set this property's value with setMaximumSize() and get this property's value with maximumSize().
+.SH "int maximumWidth"
+This property holds the widget's maximum width.
+.PP
+This property corresponds to maximumSize().width().
+.PP
+See also maximumSize and maximumHeight.
+.PP
+Set this property's value with setMaximumWidth() and get this property's value with maximumWidth().
+.SH "QRect microFocusHint"
+This property holds the currently set micro focus hint for this widget.
+.PP
+See the documentation of setMicroFocusHint() for more information.
+.PP
+Get this property's value with microFocusHint().
+.SH "bool minimized"
+This property holds whether this widget is minimized (iconified).
+.PP
+This property is only relevant for top-level widgets.
+.PP
+See also showMinimized(), visible, show(), hide(), showNormal(), and maximized.
+.PP
+Get this property's value with isMinimized().
+.SH "int minimumHeight"
+This property holds the widget's minimum height.
+.PP
+This property corresponds to minimumSize().height().
+.PP
+See also minimumSize and minimumWidth.
+.PP
+Set this property's value with setMinimumHeight() and get this property's value with minimumHeight().
+.SH "QSize minimumSize"
+This property holds the widget's minimum size.
+.PP
+The widget cannot be resized to a smaller size than the minimum widget size. The widget's size is forced to the minimum size if the current size is smaller.
+.PP
+If you use a layout inside the widget, the minimum size will be set by the layout and not by setMinimumSize(), unless you set the layout's resize mode to QLayout::FreeResize.
+.PP
+See also minimumWidth, minimumHeight, maximumSize, sizeIncrement, and QLayout::resizeMode.
+.PP
+Set this property's value with setMinimumSize() and get this property's value with minimumSize().
+.SH "QSize minimumSizeHint"
+This property holds the recommended minimum size for the widget.
+.PP
+If the value of this property is an invalid size, no minimum size is recommended.
+.PP
+The default implementation of minimumSizeHint() returns an invalid size if there is no layout for this widget, and returns the layout's minimum size otherwise. Most built-in widgets reimplement minimumSizeHint().
+.PP
+QLayout will never resize a widget to a size smaller than minimumSizeHint.
+.PP
+See also QSize::isValid(), size, minimumSize, and sizePolicy.
+.PP
+Get this property's value with minimumSizeHint().
+.SH "int minimumWidth"
+This property holds the widget's minimum width.
+.PP
+This property corresponds to minimumSize().width().
+.PP
+See also minimumSize and minimumHeight.
+.PP
+Set this property's value with setMinimumWidth() and get this property's value with minimumWidth().
+.SH "bool mouseTracking"
+This property holds whether mouse tracking is enabled for the widget.
+.PP
+If mouse tracking is disabled (the default), the widget only receives mouse move events when at least one mouse button is pressed while the mouse is being moved.
+.PP
+If mouse tracking is enabled, the widget receives mouse move events even if no buttons are pressed.
+.PP
+See also mouseMoveEvent() and QApplication::setGlobalMouseTracking().
+.PP
+Set this property's value with setMouseTracking() and get this property's value with hasMouseTracking().
+.SH "bool ownCursor"
+This property holds whether the widget uses its own cursor.
+.PP
+If FALSE, the widget uses its parent widget's cursor.
+.PP
+See also cursor.
+.PP
+Get this property's value with ownCursor().
+.SH "bool ownFont"
+This property holds whether the widget uses its own font.
+.PP
+If FALSE, the widget uses its parent widget's font.
+.PP
+See also font.
+.PP
+Get this property's value with ownFont().
+.SH "bool ownPalette"
+This property holds whether the widget uses its own palette.
+.PP
+If FALSE, the widget uses its parent widget's palette.
+.PP
+See also palette.
+.PP
+Get this property's value with ownPalette().
+.SH "QPalette palette"
+This property holds the widget's palette.
+.PP
+As long as no special palette has been set, or after unsetPalette() has been called, this is either a special palette for the widget class, the parent's palette or (if this widget is a top level widget), the default application palette.
+.PP
+Instead of defining an entirely new palette, you can also use the paletteBackgroundColor, paletteBackgroundPixmap and paletteForegroundColor convenience properties to change a widget's background and foreground appearance only.
+.PP
+See also ownPalette, colorGroup, and QApplication::palette().
+.PP
+Set this property's value with setPalette(), get this property's value with palette(), and reset this property's value with unsetPalette().
+.SH "QColor paletteBackgroundColor"
+This property holds the background color of the widget.
+.PP
+The palette background color is usually set implicitly by setBackgroundMode(), although it can also be set explicitly by setPaletteBackgroundColor(). setPaletteBackgroundColor() is a convenience function that creates and sets a modified QPalette with setPalette(). The palette is modified according to the widget's background mode. For example, if the background mode is PaletteButton the color used for the palette's QColorGroup::Button color entry is set.
+.PP
+If there is a background pixmap (set using setPaletteBackgroundPixmap()), then the return value of this function is indeterminate.
+.PP
+See also paletteBackgroundPixmap, paletteForegroundColor, palette, and colorGroup.
+.PP
+Set this property's value with setPaletteBackgroundColor(), get this property's value with paletteBackgroundColor(), and reset this property's value with unsetPalette().
+.SH "QPixmap paletteBackgroundPixmap"
+This property holds the background pixmap of the widget.
+.PP
+The palette background pixmap is usually set implicitly by setBackgroundMode(), although it can also be set explicitly by setPaletteBackgroundPixmap(). setPaletteBackgroundPixmap() is a convenience function that creates and sets a modified QPalette with setPalette(). The palette is modified according to the widget's background mode. For example, if the background mode is PaletteButton the pixmap used for the palette's QColorGroup::Button color entry is set.
+.PP
+If there is a plain background color (set using setPaletteBackgroundColor()), then this function returns 0.
+.PP
+See also paletteBackgroundColor, paletteForegroundColor, palette, and colorGroup.
+.PP
+Set this property's value with setPaletteBackgroundPixmap(), get this property's value with paletteBackgroundPixmap(), and reset this property's value with unsetPalette().
+.SH "QColor paletteForegroundColor"
+This property holds the foreground color of the widget.
+.PP
+setPaletteForegroundColor() is a convenience function that creates and sets a modified QPalette with setPalette(). The palette is modified according to the widget's \fIbackground mode\fR. For example, if the background mode is PaletteButton the palette entry QColorGroup::ButtonText is set to color.
+.PP
+See also palette, QApplication::setPalette(), backgroundMode, foregroundColor(), backgroundMode, and setEraseColor().
+.PP
+Set this property's value with setPaletteForegroundColor(), get this property's value with paletteForegroundColor(), and reset this property's value with unsetPalette().
+.SH "QPoint pos"
+This property holds the position of the widget within its parent widget.
+.PP
+If the widget is a top-level widget, the position is that of the widget on the desktop, including its frame.
+.PP
+When changing the position, the widget, if visible, receives a move event (moveEvent()) immediately. If the widget is not currently visible, it is guaranteed to receive an event before it is shown.
+.PP
+move() is virtual, and all other overloaded move() implementations in Qt call it.
+.PP
+\fBWarning:\fR Calling move() or setGeometry() inside moveEvent() can lead to infinite recursion.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also frameGeometry, size, x, and y.
+.PP
+Set this property's value with move() and get this property's value with pos().
+.SH "QRect rect"
+This property holds the internal geometry of the widget excluding any window frame.
+.PP
+The rect property equals QRect(0, 0, width(), height()).
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also size.
+.PP
+Get this property's value with rect().
+.SH "bool shown"
+This property holds whether the widget is shown.
+.PP
+If TRUE, the widget is visible or would become visible if all its ancestors became visible.
+.PP
+See also hide(), show(), visible, isVisibleTo(), and hidden.
+.PP
+Set this property's value with setShown() and get this property's value with isShown().
+.SH "QSize size"
+This property holds the size of the widget excluding any window frame.
+.PP
+When resizing, the widget, if visible, receives a resize event (resizeEvent()) immediately. If the widget is not currently visible, it is guaranteed to receive an event before it is shown.
+.PP
+The size is adjusted if it lies outside the range defined by minimumSize() and maximumSize(). Furthermore, the size is always at least QSize(1, 1). For toplevel widgets, the minimum size might be larger, depending on the window manager.
+.PP
+If you want a top-level window to have a fixed size, call setResizeMode( QLayout::FreeResize ) on its layout.
+.PP
+resize() is virtual, and all other overloaded resize() implementations in Qt call it.
+.PP
+\fBWarning:\fR Calling resize() or setGeometry() inside resizeEvent() can lead to infinite recursion.
+.PP
+See also pos, geometry, minimumSize, maximumSize, and resizeEvent().
+.PP
+Set this property's value with resize() and get this property's value with size().
+.SH "QSize sizeHint"
+This property holds the recommended size for the widget.
+.PP
+If the value of this property is an invalid size, no size is recommended.
+.PP
+The default implementation of sizeHint() returns an invalid size if there is no layout for this widget, and returns the layout's preferred size otherwise.
+.PP
+See also QSize::isValid(), minimumSizeHint, sizePolicy, minimumSize, and updateGeometry().
+.PP
+Get this property's value with sizeHint().
+.SH "QSize sizeIncrement"
+This property holds the size increment of the widget.
+.PP
+When the user resizes the window, the size will move in steps of sizeIncrement().width() pixels horizontally and sizeIncrement.height() pixels vertically, with baseSize() as the basis. Preferred widget sizes are for non-negative integers \fIi\fR and \fIj\fR:
+.PP
+.nf
+.br
+ width = baseSize().width() + i * sizeIncrement().width();
+.br
+ height = baseSize().height() + j * sizeIncrement().height();
+.br
+.fi
+.PP
+Note that while you can set the size increment for all widgets, it only affects top-level widgets.
+.PP
+\fBWarning:\fR The size increment has no effect under Windows, and may be disregarded by the window manager on X.
+.PP
+See also size, minimumSize, and maximumSize.
+.PP
+Set this property's value with setSizeIncrement() and get this property's value with sizeIncrement().
+.SH "QSizePolicy sizePolicy"
+This property holds the default layout behavior of the widget.
+.PP
+If there is a QLayout that manages this widget's children, the size policy specified by that layout is used. If there is no such QLayout, the result of this function is used.
+.PP
+The default policy is Preferred/Preferred, which means that the widget can be freely resized, but prefers to be the size sizeHint() returns. Button-like widgets set the size policy to specify that they may stretch horizontally, but are fixed vertically. The same applies to lineedit controls (such as QLineEdit, QSpinBox or an editable QComboBox) and other horizontally orientated widgets (such as QProgressBar). QToolButton's are normally square, so they allow growth in both directions. Widgets that support different directions (such as QSlider, QScrollBar or QHeader) specify stretching in the respective direction only. Widgets that can provide scrollbars (usually subclasses of QScrollView) tend to specify that they can use additional space, and that they can make do with less than sizeHint().
+.PP
+See also sizeHint, QLayout, QSizePolicy, and updateGeometry().
+.PP
+Set this property's value with setSizePolicy() and get this property's value with sizePolicy().
+.SH "bool underMouse"
+This property holds whether the widget is under the mouse cursor.
+.PP
+This value is not updated properly during drag and drop operations.
+.PP
+See also QEvent::Enter and QEvent::Leave.
+.PP
+Get this property's value with hasMouse().
+.SH "bool updatesEnabled"
+This property holds whether updates are enabled.
+.PP
+Calling update() and repaint() has no effect if updates are disabled. Paint events from the window system are processed normally even if updates are disabled.
+.PP
+setUpdatesEnabled() is normally used to disable updates for a short period of time, for instance to avoid screen flicker during large changes.
+.PP
+Example:
+.PP
+.nf
+.br
+ setUpdatesEnabled( FALSE );
+.br
+ bigVisualChanges();
+.br
+ setUpdatesEnabled( TRUE );
+.br
+ repaint();
+.br
+.fi
+.PP
+See also update(), repaint(), and paintEvent().
+.PP
+Set this property's value with setUpdatesEnabled() and get this property's value with isUpdatesEnabled().
+.SH "bool visible"
+This property holds whether the widget is visible.
+.PP
+Calling show() sets the widget to visible status if all its parent widgets up to the top-level widget are visible. If an ancestor is not visible, the widget won't become visible until all its ancestors are shown.
+.PP
+Calling hide() hides a widget explicitly. An explicitly hidden widget will never become visible, even if all its ancestors become visible, unless you show it.
+.PP
+A widget receives show and hide events when its visibility status changes. Between a hide and a show event, there is no need to waste CPU cycles preparing or displaying information to the user. A video application, for example, might simply stop generating new frames.
+.PP
+A widget that happens to be obscured by other windows on the screen is considered to be visible. The same applies to iconified top-level widgets and windows that exist on another virtual desktop (on platforms that support this concept). A widget receives spontaneous show and hide events when its mapping status is changed by the window system, e.g. a spontaneous hide event when the user minimizes the window, and a spontaneous show event when the window is restored again.
+.PP
+See also show(), hide(), hidden, isVisibleTo(), minimized, showEvent(), and hideEvent().
+.PP
+Get this property's value with isVisible().
+.SH "QRect visibleRect"
+This property holds the visible rectangle.
+.PP
+\fBThis property is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+No longer necessary, you can simply call repaint(). If you do not need the rectangle for repaint(), use clipRegion() instead.
+.PP
+Get this property's value with visibleRect().
+.SH "int width"
+This property holds the width of the widget excluding any window frame.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also geometry, height, and size.
+.PP
+Get this property's value with width().
+.SH "double windowOpacity"
+This property holds the level of opacity for the window.
+.PP
+The valid range of opacity is from 1.0 (completely opaque) to 0.0 (completely transparent).
+.PP
+By default the value of this property is 1.0.
+.PP
+This feature is only present on Mac OS X and Windows 2000 and up.
+.PP
+\fBWarning:\fR Changing this property from opaque to transparent might issue a paint event that needs to be processed before the window is displayed correctly. This affects mainly the use of QPixmap::grabWindow(). Also note that semi-transparent windows update and resize significantely slower than opaque windows.
+.PP
+Set this property's value with setWindowOpacity() and get this property's value with windowOpacity().
+.SH "int x"
+This property holds the x coordinate of the widget relative to its parent including any window frame.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also frameGeometry, y, and pos.
+.PP
+Get this property's value with x().
+.SH "int y"
+This property holds the y coordinate of the widget relative to its parent and including any window frame.
+.PP
+See the Window Geometry documentation for an overview of top-level widget geometry.
+.PP
+See also frameGeometry, x, and pos.
+.PP
+Get this property's value with y().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwidget.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwidget.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwidgetfactory.3qt b/doc/man/man3/qwidgetfactory.3qt
new file mode 100644
index 0000000..2fdea3c
--- /dev/null
+++ b/doc/man/man3/qwidgetfactory.3qt
@@ -0,0 +1,135 @@
+'\" t
+.TH QWidgetFactory 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWidgetFactory \- For the dynamic creation of widgets from Qt Designer .ui files
+.SH SYNOPSIS
+\fC#include <qwidgetfactory.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWidgetFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWidgetFactory\fR ()"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreateWidget\fR ( const QString & className, QWidget * parent, const char * name ) const"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "QWidget * \fBcreate\fR ( const QString & uiFile, QObject * connector = 0, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "QWidget * \fBcreate\fR ( QIODevice * dev, QObject * connector = 0, QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "void \fBaddWidgetFactory\fR ( QWidgetFactory * factory )"
+.br
+.ti -1c
+.BI "void \fBloadImages\fR ( const QString & dir )"
+.br
+.ti -1c
+.BI "QStringList \fBwidgets\fR ()"
+.br
+.ti -1c
+.BI "bool \fBsupportsWidget\fR ( const QString & widget )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWidgetFactory class provides for the dynamic creation of widgets from Qt Designer .ui files.
+.PP
+This class basically offers two things:
+.IP
+.TP
+Dynamically creating widgets from Qt Designer user interface description files. You can do this using the static function QWidgetFactory::create(). This function also performs signal and slot connections, tab ordering, etc., as defined in the .ui file, and returns the top-level widget in the .ui file. After creating the widget you can use QObject::child() and QObject::queryList() to access child widgets of this returned widget.
+.IP
+.TP
+Adding additional widget factories to be able to create custom widgets. See createWidget() for details.
+.IP
+.PP
+This class is not included in the Qt library itself. To use it you must link against \fClibqui.so\fR (Unix) or \fCqui.lib\fR (Windows), which is built into \fCINSTALL/lib\fR if you built \fIQt Designer\fR (\fCINSTALL\fR is the directory where Qt is installed ).
+.PP
+If you create a QMainWindow using a QWidgetFactory, be aware that it already has a central widget. Therefore, you need to delete this one before setting another one.
+.PP
+See the "Creating Dynamic Dialogs from .ui Files" section of the Qt Designer manual for an example. See also the QWidgetPlugin class and the Plugins documentation.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWidgetFactory::QWidgetFactory ()"
+Constructs a QWidgetFactory.
+.SH "QWidgetFactory::~QWidgetFactory ()\fC [virtual]\fR"
+Destructor.
+.SH "void QWidgetFactory::addWidgetFactory ( QWidgetFactory * factory )\fC [static]\fR"
+Installs a widget factory \fIfactory\fR, which normally contains additional widgets that can then be created using a QWidgetFactory. See createWidget() for further details.
+.SH "QWidget * QWidgetFactory::create ( const QString & uiFile, QObject * connector = 0, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+Loads the \fIQt Designer\fR user interface description file \fIuiFile\fR and returns the top-level widget in that description. \fIparent\fR and \fIname\fR are passed to the constructor of the top-level widget.
+.PP
+This function also performs signal and slot connections, tab ordering, etc., as described in the .ui file. In \fIQt Designer\fR it is possible to add custom slots to a form and connect to them. If you want these connections to be made, you must create a class derived from QObject, which implements all these slots. Then pass an instance of the object as \fIconnector\fR to this function. If you do this, the connections to the custom slots will be done using the \fIconnector\fR as slot.
+.PP
+If something fails, 0 is returned.
+.PP
+The ownership of the returned widget is passed to the caller.
+.SH "QWidget * QWidgetFactory::create ( QIODevice * dev, QObject * connector = 0, QWidget * parent = 0, const char * name = 0 )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Loads the user interface description from device \fIdev\fR.
+.SH "QWidget * QWidgetFactory::createWidget ( const QString & className, QWidget * parent, const char * name ) const\fC [virtual]\fR"
+Creates a widget of the type \fIclassName\fR passing \fIparent\fR and \fIname\fR to its constructor.
+.PP
+If \fIclassName\fR is a widget in the Qt library, it is directly created by this function. If the widget isn't in the Qt library, each of the installed widget plugins is asked, in turn, to create the widget. As soon as a plugin says it can create the widget it is asked to do so. It may occur that none of the plugins can create the widget, in which case each installed widget factory is asked to create the widget (see addWidgetFactory()). If the widget cannot be created by any of these means, 0 is returned.
+.PP
+If you have a custom widget, and want it to be created using the widget factory, there are two approaches you can use:
+.PP
+<ol type=1>
+.IP
+.TP
+Write a widget plugin. This allows you to use the widget in \fIQt Designer\fR and in this QWidgetFactory. See the widget plugin documentation for further details. (See the "Creating Custom Widgets with Plugins" section of the Qt Designer manual for an example.
+.IP
+.TP
+Subclass QWidgetFactory. Then reimplement this function to create and return an instance of your custom widget if \fIclassName\fR equals the name of your widget, otherwise return 0. Then at the beginning of your program where you want to use the widget factory to create widgets do a:
+.IP
+.nf
+.br
+ QWidgetFactory::addWidgetFactory( new MyWidgetFactory );
+.br
+.fi
+where MyWidgetFactory is your QWidgetFactory subclass.
+.IP
+.SH "void QWidgetFactory::loadImages ( const QString & dir )\fC [static]\fR"
+If you use a pixmap collection (which is the default for new projects) rather than saving the pixmaps within the .ui XML file, you must load the pixmap collection. QWidgetFactory looks in the default QMimeSourceFactory for the pixmaps. Either add it there manually, or call this function and specify the directory where the images can be found, as \fIdir\fR. This is normally the directory called \fCimages\fR in the project's directory.
+.SH "bool QWidgetFactory::supportsWidget ( const QString & widget )\fC [static]\fR"
+Returns TRUE if the widget factory can create the specified \fIwidget\fR; otherwise returns FALSE.
+.SH "QStringList QWidgetFactory::widgets ()\fC [static]\fR"
+Returns the names of the widgets this factory can create.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwidgetfactory.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwidgetfactory.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwidgetitem.3qt b/doc/man/man3/qwidgetitem.3qt
new file mode 100644
index 0000000..c46e2a0
--- /dev/null
+++ b/doc/man/man3/qwidgetitem.3qt
@@ -0,0 +1,104 @@
+'\" t
+.TH QWidgetItem 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWidgetItem \- Layout item that represents a widget
+.SH SYNOPSIS
+\fC#include <qlayout.h>\fR
+.PP
+Inherits QLayoutItem.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWidgetItem\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "virtual QSize \fBsizeHint\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBminimumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSize \fBmaximumSize\fR () const"
+.br
+.ti -1c
+.BI "virtual QSizePolicy::ExpandData \fBexpanding\fR () const"
+.br
+.ti -1c
+.BI "virtual bool \fBisEmpty\fR () const"
+.br
+.ti -1c
+.BI "virtual void \fBsetGeometry\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBwidget\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWidgetItem class is a layout item that represents a widget.
+.PP
+This is used by custom layouts.
+.PP
+See also QLayout, QLayout::widget(), Widget Appearance and Style, and Layout Management.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWidgetItem::QWidgetItem ( QWidget * w )"
+Creates an item containing widget \fIw\fR.
+.SH "QSizePolicy::ExpandData QWidgetItem::expanding () const\fC [virtual]\fR"
+Returns whether this item's widget can make use of more space than sizeHint(). A value of \fCVertical\fR or \fCHorizontal\fR means that it wants to grow in only one dimension, whereas \fCBothDirections\fR means that it wants to grow in both dimensions and \fCNoDirection\fR means that it doesn't want to grow at all.
+.PP
+Reimplemented from QLayoutItem.
+.SH "bool QWidgetItem::isEmpty () const\fC [virtual]\fR"
+Returns TRUE if the widget has been hidden; otherwise returns FALSE.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QWidgetItem::maximumSize () const\fC [virtual]\fR"
+Returns the maximum size of this item.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QWidgetItem::minimumSize () const\fC [virtual]\fR"
+Returns the minimum size of this item.
+.PP
+Reimplemented from QLayoutItem.
+.SH "void QWidgetItem::setGeometry ( const QRect & r )\fC [virtual]\fR"
+Sets the geometry of this item's widget to be contained within rect \fIr\fR, taking alignment and maximum size into account.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QSize QWidgetItem::sizeHint () const\fC [virtual]\fR"
+Returns the preferred size of this item.
+.PP
+Reimplemented from QLayoutItem.
+.SH "QWidget * QWidgetItem::widget ()\fC [virtual]\fR"
+Returns the widget managed by this item.
+.PP
+Reimplemented from QLayoutItem.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwidgetitem.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwidgetitem.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwidgetplugin.3qt b/doc/man/man3/qwidgetplugin.3qt
new file mode 100644
index 0000000..459f0b5
--- /dev/null
+++ b/doc/man/man3/qwidgetplugin.3qt
@@ -0,0 +1,124 @@
+'\" t
+.TH QWidgetPlugin 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWidgetPlugin \- Abstract base for custom QWidget plugins
+.SH SYNOPSIS
+\fC#include <qwidgetplugin.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWidgetPlugin\fR ()"
+.br
+.ti -1c
+.BI "\fB~QWidgetPlugin\fR ()"
+.br
+.ti -1c
+.BI "virtual QStringList \fBkeys\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual QWidget * \fBcreate\fR ( const QString & key, QWidget * parent = 0, const char * name = 0 ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBgroup\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QIconSet \fBiconSet\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBincludeFile\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBtoolTip\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual QString \fBwhatsThis\fR ( const QString & key ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBisContainer\fR ( const QString & key ) const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWidgetPlugin class provides an abstract base for custom QWidget plugins.
+.PP
+The widget plugin is a simple plugin interface that makes it easy to create custom widgets that can be included in forms using Qt Designer and used by applications.
+.PP
+Writing a widget plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys(), create(), group(), iconSet(), includeFile(), toolTip(), whatsThis() and isContainer(), and exporting the class with the \fCQ_EXPORT_PLUGIN\fR macro.
+.PP
+See the Qt Designer manual's, 'Creating Custom Widgets' section in the 'Creating Custom Widgets' chapter, for a complete example of a QWidgetPlugin.
+.PP
+See also the Plugins documentation and the QWidgetFactory class that is supplied with Qt Designer.
+.PP
+See also Plugins.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWidgetPlugin::QWidgetPlugin ()"
+Constructs a widget plugin. This is invoked automatically by the \fCQ_EXPORT_PLUGIN\fR macro.
+.SH "QWidgetPlugin::~QWidgetPlugin ()"
+Destroys the widget plugin.
+.PP
+You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
+.SH "QWidget * QWidgetPlugin::create ( const QString & key, QWidget * parent = 0, const char * name = 0 )\fC [pure virtual]\fR"
+Creates and returns a QWidget object for the widget key \fIkey\fR. The widget key is the class name of the required widget. The \fIname\fR and \fIparent\fR arguments are passed to the custom widget's constructor.
+.PP
+See also keys().
+.SH "QString QWidgetPlugin::group ( const QString & key ) const\fC [virtual]\fR"
+Returns the group (toolbar name) that the custom widget of class \fIkey\fR should be part of when \fIQt Designer\fR loads it.
+.PP
+The default implementation returns QString::null.
+.SH "QIconSet QWidgetPlugin::iconSet ( const QString & key ) const\fC [virtual]\fR"
+Returns the iconset that \fIQt Designer\fR should use to represent the custom widget of class \fIkey\fR in the toolbar.
+.PP
+The default implementation returns an null iconset.
+.SH "QString QWidgetPlugin::includeFile ( const QString & key ) const\fC [virtual]\fR"
+Returns the name of the include file that \fIQt Designer\fR and \fCuic\fR should use to include the custom widget of class \fIkey\fR in generated code.
+.PP
+The default implementation returns QString::null.
+.SH "bool QWidgetPlugin::isContainer ( const QString & key ) const\fC [virtual]\fR"
+Returns TRUE if the custom widget of class \fIkey\fR can contain other widgets, e.g. like QFrame; otherwise returns FALSE.
+.PP
+The default implementation returns FALSE.
+.SH "QStringList QWidgetPlugin::keys () const\fC [pure virtual]\fR"
+Returns the list of widget keys this plugin supports.
+.PP
+These keys must be the class names of the custom widgets that are implemented in the plugin.
+.PP
+See also create().
+.SH "QString QWidgetPlugin::toolTip ( const QString & key ) const\fC [virtual]\fR"
+Returns the text of the tooltip that \fIQt Designer\fR should use for the custom widget of class \fIkey\fR's toolbar button.
+.PP
+The default implementation returns QString::null.
+.SH "QString QWidgetPlugin::whatsThis ( const QString & key ) const\fC [virtual]\fR"
+Returns the text of the whatsThis text that \fIQt Designer\fR should use when the user requests whatsThis help for the custom widget of class \fIkey\fR.
+.PP
+The default implementation returns QString::null.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwidgetplugin.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwidgetplugin.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwidgetstack.3qt b/doc/man/man3/qwidgetstack.3qt
new file mode 100644
index 0000000..4c62c42
--- /dev/null
+++ b/doc/man/man3/qwidgetstack.3qt
@@ -0,0 +1,166 @@
+'\" t
+.TH QWidgetStack 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWidgetStack \- Stack of widgets of which only the top widget is user-visible
+.SH SYNOPSIS
+\fC#include <qwidgetstack.h>\fR
+.PP
+Inherits QFrame.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWidgetStack\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fBQWidgetStack\fR ( QWidget * parent, const char * name, WFlags f )"
+.br
+.ti -1c
+.BI "\fB~QWidgetStack\fR ()"
+.br
+.ti -1c
+.BI "int \fBaddWidget\fR ( QWidget * w, int id = -1 )"
+.br
+.ti -1c
+.BI "void \fBremoveWidget\fR ( QWidget * w )"
+.br
+.ti -1c
+.BI "QWidget * \fBwidget\fR ( int id ) const"
+.br
+.ti -1c
+.BI "int \fBid\fR ( QWidget * widget ) const"
+.br
+.ti -1c
+.BI "QWidget * \fBvisibleWidget\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBraiseWidget\fR ( int id )"
+.br
+.ti -1c
+.BI "void \fBraiseWidget\fR ( QWidget * w )"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBaboutToShow\fR ( int )"
+.br
+.ti -1c
+.BI "void \fBaboutToShow\fR ( QWidget * )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetChildGeometries\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWidgetStack class provides a stack of widgets of which only the top widget is user-visible.
+.PP
+The application programmer can move any widget to the top of the stack at any time using raiseWidget(), and add or remove widgets using addWidget() and removeWidget(). It is not sufficient to pass the widget stack as parent to a widget which should be inserted into the widgetstack.
+.PP
+visibleWidget() is the \fIget\fR equivalent of raiseWidget(); it returns a pointer to the widget that is currently at the top of the stack.
+.PP
+QWidgetStack also provides the ability to manipulate widgets through application-specified integer IDs. You can also translate from widget pointers to IDs using id() and from IDs to widget pointers using widget(). These numeric IDs are unique (per QWidgetStack, not globally), but QWidgetStack does not attach any additional meaning to them.
+.PP
+The default widget stack is frameless, but you can use the usual QFrame functions (such as setFrameStyle()) to add a frame.
+.PP
+QWidgetStack provides a signal, aboutToShow(), which is emitted just before a managed widget is shown.
+.PP
+See also QTabDialog, QTabBar, QFrame, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWidgetStack::QWidgetStack ( QWidget * parent = 0, const char * name = 0 )"
+Constructs an empty widget stack.
+.PP
+The \fIparent\fR and \fIname\fR arguments are passed to the QFrame constructor.
+.SH "QWidgetStack::QWidgetStack ( QWidget * parent, const char * name, WFlags f )"
+Constructs an empty widget stack.
+.PP
+The \fIparent\fR, \fIname\fR and \fIf\fR arguments are passed to the QFrame constructor.
+.SH "QWidgetStack::~QWidgetStack ()"
+Destroys the object and frees any allocated resources.
+.SH "void QWidgetStack::aboutToShow ( int )\fC [signal]\fR"
+This signal is emitted just before a managed widget is shown if that managed widget has an ID != -1. The argument is the numeric ID of the widget.
+.PP
+If you call visibleWidget() in a slot connected to aboutToShow(), the widget it returns is the one that is currently visible, not the one that is about to be shown.
+.SH "void QWidgetStack::aboutToShow ( QWidget * )\fC [signal]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+This signal is emitted just before a managed widget is shown. The argument is a pointer to the widget.
+.PP
+If you call visibleWidget() in a slot connected to aboutToShow(), the widget returned is the one that is currently visible, not the one that is about to be shown.
+.SH "int QWidgetStack::addWidget ( QWidget * w, int id = -1 )"
+Adds widget \fIw\fR to this stack of widgets, with ID \fIid\fR.
+.PP
+If you pass an id >= 0 this ID is used. If you pass an \fIid\fR of -1 (the default), the widgets will be numbered automatically. If you pass -2 a unique negative integer will be generated. No widget has an ID of -1. Returns the ID or -1 on failure (e.g. \fIw\fR is 0).
+.PP
+If you pass an id that is already used, then a unique negative integer will be generated to prevent two widgets having the same id.
+.PP
+If \fIw\fR already exists in the stack the widget will be removed first.
+.PP
+If \fIw\fR is not a child of this QWidgetStack moves it using reparent().
+.PP
+Example: xform/xform.cpp.
+.SH "int QWidgetStack::id ( QWidget * widget ) const"
+Returns the ID of the \fIwidget\fR. Returns -1 if \fIwidget\fR is 0 or is not being managed by this widget stack.
+.PP
+See also widget() and addWidget().
+.SH "void QWidgetStack::raiseWidget ( int id )\fC [slot]\fR"
+Raises the widget with ID \fIid\fR to the top of the widget stack.
+.PP
+See also visibleWidget().
+.PP
+Example: xform/xform.cpp.
+.SH "void QWidgetStack::raiseWidget ( QWidget * w )\fC [slot]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Raises widget \fIw\fR to the top of the widget stack.
+.SH "void QWidgetStack::removeWidget ( QWidget * w )"
+Removes widget \fIw\fR from this stack of widgets. Does not delete \fIw\fR. If \fIw\fR is the currently visible widget, no other widget is substituted.
+.PP
+See also visibleWidget() and raiseWidget().
+.SH "void QWidgetStack::setChildGeometries ()\fC [virtual protected]\fR"
+Fixes up the children's geometries.
+.SH "QWidget * QWidgetStack::visibleWidget () const"
+Returns the currently visible widget (the one at the top of the stack), or 0 if nothing is currently being shown.
+.PP
+See also aboutToShow(), id(), and raiseWidget().
+.SH "QWidget * QWidgetStack::widget ( int id ) const"
+Returns the widget with ID \fIid\fR. Returns 0 if this widget stack does not manage a widget with ID \fIid\fR.
+.PP
+See also id() and addWidget().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwidgetstack.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwidgetstack.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwindowsmime.3qt b/doc/man/man3/qwindowsmime.3qt
new file mode 100644
index 0000000..3485a3f
--- /dev/null
+++ b/doc/man/man3/qwindowsmime.3qt
@@ -0,0 +1,157 @@
+'\" t
+.TH QWindowsMime 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWindowsMime \- Maps open-standard MIME to Window Clipboard formats
+.SH SYNOPSIS
+\fC#include <qmime.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWindowsMime\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWindowsMime\fR ()"
+.br
+.ti -1c
+.BI "virtual const char * \fBconvertorName\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBcountCf\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBcf\fR ( int index ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBcanConvert\fR ( const char * mime, int cf ) = 0"
+.br
+.ti -1c
+.BI "virtual const char * \fBmimeFor\fR ( int cf ) = 0"
+.br
+.ti -1c
+.BI "virtual int \fBcfFor\fR ( const char * mime ) = 0"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBconvertToMime\fR ( QByteArray data, const char * mime, int cf ) = 0"
+.br
+.ti -1c
+.BI "virtual QByteArray \fBconvertFromMime\fR ( QByteArray data, const char * mime, int cf ) = 0"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBinitialize\fR ()"
+.br
+.ti -1c
+.BI "QPtrList<QWindowsMime> \fBall\fR ()"
+.br
+.ti -1c
+.BI "QWindowsMime * \fBconvertor\fR ( const char * mime, int cf )"
+.br
+.ti -1c
+.BI "const char * \fBcfToMime\fR ( int cf )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWindowsMime class maps open-standard MIME to Window Clipboard formats.
+.PP
+Qt's drag-and-drop and clipboard facilities use the MIME standard. On X11, this maps trivially to the Xdnd protocol, but on Windows although some applications use MIME types to describe clipboard formats, others use arbitrary non-standardized naming conventions, or unnamed built-in formats of Windows.
+.PP
+By instantiating subclasses of QWindowsMime that provide conversions between Windows Clipboard and MIME formats, you can convert proprietary clipboard formats to MIME formats.
+.PP
+Qt has predefined support for the following Windows Clipboard formats:
+.TP
+CF_UNICODETEXT - converted to "text/plain;charset=ISO-10646-UCS-2" and supported by QTextDrag.
+.TP
+CF_TEXT - converted to "text/plain;charset=system" or "text/plain" and supported by QTextDrag.
+.TP
+CF_DIB - converted to "image/*", where * is a Qt image format, and supported by QImageDrag.
+.TP
+CF_HDROP - converted to "text/uri-list", and supported by QUriDrag.
+.PP
+An example use of this class would be to map the Windows Metafile clipboard format (CF_METAFILEPICT) to and from the MIME type "image/x-wmf". This conversion might simply be adding or removing a header, or even just passing on the data. See the Drag-and-Drop documentation for more information on choosing and definition MIME types.
+.PP
+You can check if a MIME type is convertible using canConvert() and can perform conversions with convertToMime() and convertFromMime().
+.PP
+See also Drag And Drop Classes, Input/Output and Networking, and Miscellaneous Classes.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWindowsMime::QWindowsMime ()"
+Constructs a new conversion object, adding it to the globally accessed list of available convertors.
+.SH "QWindowsMime::~QWindowsMime ()\fC [virtual]\fR"
+Destroys a conversion object, removing it from the global list of available convertors.
+.SH "QPtrList<QWindowsMime> QWindowsMime::all ()\fC [static]\fR"
+Returns a list of all currently defined QWindowsMime objects.
+.SH "bool QWindowsMime::canConvert ( const char * mime, int cf )\fC [pure virtual]\fR"
+Returns TRUE if the convertor can convert (both ways) between \fImime\fR and \fIcf\fR; otherwise returns FALSE.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QWindowsMime::cf ( int index )\fC [pure virtual]\fR"
+Returns the Windows Clipboard format supported by this convertor that is ordinarily at position \fIindex\fR. This means that cf(0) returns the first Windows Clipboard format supported, and cf(countCf()-1) returns the last. If \fIindex\fR is out of range the return value is undefined.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QWindowsMime::cfFor ( const char * mime )\fC [pure virtual]\fR"
+Returns the Windows Clipboard type used for MIME type \fImime\fR, or 0 if this convertor does not support \fImime\fR.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "const char * QWindowsMime::cfToMime ( int cf )\fC [static]\fR"
+Returns a MIME type for \fIcf\fR, or 0 if none exists.
+.SH "QByteArray QWindowsMime::convertFromMime ( QByteArray data, const char * mime, int cf )\fC [pure virtual]\fR"
+Returns \fIdata\fR converted from MIME type \fImime\fR to Windows Clipboard format \fIcf\fR.
+.PP
+Note that Windows Clipboard formats must all be self-terminating. The return value may contain trailing data.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "QByteArray QWindowsMime::convertToMime ( QByteArray data, const char * mime, int cf )\fC [pure virtual]\fR"
+Returns \fIdata\fR converted from Windows Clipboard format \fIcf\fR to MIME type \fImime\fR.
+.PP
+Note that Windows Clipboard formats must all be self-terminating. The input \fIdata\fR may contain trailing data.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "QWindowsMime * QWindowsMime::convertor ( const char * mime, int cf )\fC [static]\fR"
+Returns the most-recently created QWindowsMime that can convert between the \fImime\fR and \fIcf\fR formats. Returns 0 if no such convertor exists.
+.SH "const char * QWindowsMime::convertorName ()\fC [pure virtual]\fR"
+Returns a name for the convertor.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "int QWindowsMime::countCf ()\fC [pure virtual]\fR"
+Returns the number of Windows Clipboard formats supported by this convertor.
+.PP
+All subclasses must reimplement this pure virtual function.
+.SH "void QWindowsMime::initialize ()\fC [static]\fR"
+This is an internal function.
+.SH "const char * QWindowsMime::mimeFor ( int cf )\fC [pure virtual]\fR"
+Returns the MIME type used for Windows Clipboard format \fIcf\fR, or 0 if this convertor does not support \fIcf\fR.
+.PP
+All subclasses must reimplement this pure virtual function.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwindowsmime.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwindowsmime.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwindowsstyle.3qt b/doc/man/man3/qwindowsstyle.3qt
new file mode 100644
index 0000000..debd234
--- /dev/null
+++ b/doc/man/man3/qwindowsstyle.3qt
@@ -0,0 +1,57 @@
+'\" t
+.TH QWindowsStyle 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWindowsStyle \- Microsoft Windows-like look and feel
+.SH SYNOPSIS
+\fC#include <qwindowsstyle.h>\fR
+.PP
+Inherits QCommonStyle.
+.PP
+Inherited by QMacStyle and QPlatinumStyle.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWindowsStyle\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWindowsStyle class provides a Microsoft Windows-like look and feel.
+.PP
+This style is Qt's default GUI style on Windows.
+.PP
+See also Widget Appearance and Style.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWindowsStyle::QWindowsStyle ()"
+Constructs a QWindowsStyle
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwindowsstyle.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwindowsstyle.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwizard.3qt b/doc/man/man3/qwizard.3qt
new file mode 100644
index 0000000..640bdf5
--- /dev/null
+++ b/doc/man/man3/qwizard.3qt
@@ -0,0 +1,289 @@
+'\" t
+.TH QWizard 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWizard \- Framework for wizard dialogs
+.SH SYNOPSIS
+\fC#include <qwizard.h>\fR
+.PP
+Inherits QDialog.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWizard\fR ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+.br
+.ti -1c
+.BI "\fB~QWizard\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBaddPage\fR ( QWidget * page, const QString & title )"
+.br
+.ti -1c
+.BI "virtual void \fBinsertPage\fR ( QWidget * page, const QString & title, int index )"
+.br
+.ti -1c
+.BI "virtual void \fBremovePage\fR ( QWidget * page )"
+.br
+.ti -1c
+.BI "QString \fBtitle\fR ( QWidget * page ) const"
+.br
+.ti -1c
+.BI "void \fBsetTitle\fR ( QWidget * page, const QString & title )"
+.br
+.ti -1c
+.BI "QFont \fBtitleFont\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetTitleFont\fR ( const QFont & )"
+.br
+.ti -1c
+.BI "virtual void \fBshowPage\fR ( QWidget * page )"
+.br
+.ti -1c
+.BI "QWidget * \fBcurrentPage\fR () const"
+.br
+.ti -1c
+.BI "QWidget * \fBpage\fR ( int index ) const"
+.br
+.ti -1c
+.BI "int \fBpageCount\fR () const"
+.br
+.ti -1c
+.BI "int \fBindexOf\fR ( QWidget * page ) const"
+.br
+.ti -1c
+.BI "virtual bool \fBappropriate\fR ( QWidget * page ) const"
+.br
+.ti -1c
+.BI "virtual void \fBsetAppropriate\fR ( QWidget * page, bool appropriate )"
+.br
+.ti -1c
+.BI "QPushButton * \fBbackButton\fR () const"
+.br
+.ti -1c
+.BI "QPushButton * \fBnextButton\fR () const"
+.br
+.ti -1c
+.BI "QPushButton * \fBfinishButton\fR () const"
+.br
+.ti -1c
+.BI "QPushButton * \fBcancelButton\fR () const"
+.br
+.ti -1c
+.BI "QPushButton * \fBhelpButton\fR () const"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetBackEnabled\fR ( QWidget * page, bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetNextEnabled\fR ( QWidget * page, bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFinishEnabled\fR ( QWidget * page, bool enable )"
+.br
+.ti -1c
+.BI "virtual void \fBsetHelpEnabled\fR ( QWidget * page, bool enable )"
+.br
+.ti -1c
+.BI "virtual void setFinish ( QWidget *, bool ) \fI(obsolete)\fR"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBhelpClicked\fR ()"
+.br
+.ti -1c
+.BI "void \fBselected\fR ( const QString & )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "QFont \fBtitleFont\fR - the font used for page titles"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBlayOutButtonRow\fR ( QHBoxLayout * layout )"
+.br
+.ti -1c
+.BI "virtual void \fBlayOutTitleRow\fR ( QHBoxLayout * layout, const QString & title )"
+.br
+.in -1c
+.SS "Protected Slots"
+.in +1c
+.ti -1c
+.BI "virtual void \fBback\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBnext\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBhelp\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWizard class provides a framework for wizard dialogs.
+.PP
+A wizard is a special type of input dialog that consists of a sequence of dialog pages. A wizard's purpose is to walk the user through a process step by step. Wizards are useful for complex or infrequently occurring tasks that people may find difficult to learn or do.
+.PP
+QWizard provides page titles and displays Next, Back, Finish, Cancel, and Help push buttons, as appropriate to the current position in the page sequence. These buttons can be enabled/disabled using setBackEnabled(), setNextEnabled(), setFinishEnabled() and setHelpEnabled().
+.PP
+Create and populate dialog pages that inherit from QWidget and add them to the wizard using addPage(). Use insertPage() to add a dialog page at a certain position in the page sequence. Use removePage() to remove a page from the page sequence.
+.PP
+Use currentPage() to retrieve a pointer to the currently displayed page. page() returns a pointer to the page at a certain position in the page sequence.
+.PP
+Use pageCount() to retrieve the total number of pages in the page sequence. indexOf() will return the index of a page in the page sequence.
+.PP
+QWizard provides functionality to mark pages as appropriate (or not) in the current context with setAppropriate(). The idea is that a page may be irrelevant and should be skipped depending on the data entered by the user on a preceding page.
+.PP
+It is generally considered good design to provide a greater number of simple pages with fewer choices rather than a smaller number of complex pages.
+.PP
+Example code is available here: wizard/wizard.cpp wizard/wizard.h
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center> <blockquote><p align="center">\fI A QWizard page \fR</p> </blockquote>
+.PP
+See also Abstract Widget Classes, Dialog Classes, and Organizers.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWizard::QWizard ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 )"
+Constructs an empty wizard dialog. The \fIparent\fR, \fIname\fR, \fImodal\fR and \fIf\fR arguments are passed to the QDialog constructor.
+.SH "QWizard::~QWizard ()"
+Destroys the object and frees any allocated resources, including all pages and controllers.
+.SH "void QWizard::addPage ( QWidget * page, const QString & title )\fC [virtual]\fR"
+Adds \fIpage\fR to the end of the page sequence, with the title, \fItitle\fR.
+.SH "bool QWizard::appropriate ( QWidget * page ) const\fC [virtual]\fR"
+Called when the Next button is clicked; this virtual function returns TRUE if \fIpage\fR is relevant for display in the current context; otherwise it is ignored by QWizard and returns FALSE. The default implementation returns the value set using setAppropriate(). The ultimate default is TRUE.
+.PP
+\fBWarning:\fR The last page of the wizard will be displayed if no page is relevant in the current context.
+.SH "void QWizard::back ()\fC [virtual protected slot]\fR"
+Called when the user clicks the Back button; this function shows the preceding relevant page in the sequence.
+.PP
+See also appropriate().
+.SH "QPushButton * QWizard::backButton () const"
+Returns a pointer to the dialog's Back button
+.PP
+By default, this button is connected to the back() slot, which is virtual so you can reimplement it in a QWizard subclass. Use setBackEnabled() to enable/disable this button.
+.SH "QPushButton * QWizard::cancelButton () const"
+Returns a pointer to the dialog's Cancel button
+.PP
+By default, this button is connected to the QDialog::reject() slot, which is virtual so you can reimplement it in a QWizard subclass.
+.SH "QWidget * QWizard::currentPage () const"
+Returns a pointer to the current page in the sequence. Although the wizard does its best to make sure that this value is never 0, it can be if you try hard enough.
+.SH "QPushButton * QWizard::finishButton () const"
+Returns a pointer to the dialog's Finish button
+.PP
+By default, this button is connected to the QDialog::accept() slot, which is virtual so you can reimplement it in a QWizard subclass. Use setFinishEnabled() to enable/disable this button.
+.SH "void QWizard::help ()\fC [virtual protected slot]\fR"
+Called when the user clicks the Help button, this function emits the helpClicked() signal.
+.SH "QPushButton * QWizard::helpButton () const"
+Returns a pointer to the dialog's Help button
+.PP
+By default, this button is connected to the help() slot, which is virtual so you can reimplement it in a QWizard subclass. Use setHelpEnabled() to enable/disable this button.
+.SH "void QWizard::helpClicked ()\fC [signal]\fR"
+This signal is emitted when the user clicks on the Help button.
+.SH "int QWizard::indexOf ( QWidget * page ) const"
+Returns the position of page \fIpage\fR. If the page is not part of the wizard -1 is returned.
+.SH "void QWizard::insertPage ( QWidget * page, const QString & title, int index )\fC [virtual]\fR"
+Inserts \fIpage\fR at position \fIindex\fR into the page sequence, with title \fItitle\fR. If \fIindex\fR is -1, the page will be appended to the end of the wizard's page sequence.
+.SH "void QWizard::layOutButtonRow ( QHBoxLayout * layout )\fC [virtual protected]\fR"
+This virtual function is responsible for adding the buttons below the bottom divider.
+.PP
+\fIlayout\fR is the horizontal layout of the entire wizard.
+.SH "void QWizard::layOutTitleRow ( QHBoxLayout * layout, const QString & title )\fC [virtual protected]\fR"
+This virtual function is responsible for laying out the title row.
+.PP
+\fIlayout\fR is the horizontal layout for the wizard, and \fItitle\fR is the title for this page. This function is called every time \fItitle\fR changes.
+.SH "void QWizard::next ()\fC [virtual protected slot]\fR"
+Called when the user clicks the Next button, this function shows the next relevant page in the sequence.
+.PP
+See also appropriate().
+.SH "QPushButton * QWizard::nextButton () const"
+Returns a pointer to the dialog's Next button
+.PP
+By default, this button is connected to the next() slot, which is virtual so you can reimplement it in a QWizard subclass. Use setNextEnabled() to enable/disable this button.
+.SH "QWidget * QWizard::page ( int index ) const"
+Returns a pointer to the page at position \fIindex\fR in the sequence, or 0 if \fIindex\fR is out of range. The first page has index 0.
+.SH "int QWizard::pageCount () const"
+Returns the number of pages in the wizard.
+.SH "void QWizard::removePage ( QWidget * page )\fC [virtual]\fR"
+Removes \fIpage\fR from the page sequence but does not delete the page. If \fIpage\fR is currently being displayed, QWizard will display the page that precedes it, or the first page if this was the first page.
+.SH "void QWizard::selected ( const QString & )\fC [signal]\fR"
+This signal is emitted when the current page changes. The parameter contains the title of the selected page.
+.SH "void QWizard::setAppropriate ( QWidget * page, bool appropriate )\fC [virtual]\fR"
+If \fIappropriate\fR is TRUE then page \fIpage\fR is considered relevant in the current context and should be displayed in the page sequence; otherwise \fIpage\fR should not be displayed in the page sequence.
+.PP
+See also appropriate().
+.SH "void QWizard::setBackEnabled ( QWidget * page, bool enable )\fC [virtual slot]\fR"
+If \fIenable\fR is TRUE, page \fIpage\fR has a Back button; otherwise \fIpage\fR has no Back button. By default all pages have this button.
+.SH "void QWizard::setFinish ( QWidget *, bool )\fC [virtual slot]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Use setFinishEnabled instead
+.SH "void QWizard::setFinishEnabled ( QWidget * page, bool enable )\fC [virtual slot]\fR"
+If \fIenable\fR is TRUE, page \fIpage\fR has a Finish button; otherwise \fIpage\fR has no Finish button. By default \fIno\fR page has this button.
+.SH "void QWizard::setHelpEnabled ( QWidget * page, bool enable )\fC [virtual slot]\fR"
+If \fIenable\fR is TRUE, page \fIpage\fR has a Help button; otherwise \fIpage\fR has no Help button. By default all pages have this button.
+.SH "void QWizard::setNextEnabled ( QWidget * page, bool enable )\fC [virtual slot]\fR"
+If \fIenable\fR is TRUE, page \fIpage\fR has a Next button; otherwise the Next button on \fIpage\fR is disabled. By default all pages have this button.
+.SH "void QWizard::setTitle ( QWidget * page, const QString & title )"
+Sets the title for page \fIpage\fR to \fItitle\fR.
+.SH "void QWizard::setTitleFont ( const QFont & )"
+Sets the font used for page titles. See the "titleFont" property for details.
+.SH "void QWizard::showPage ( QWidget * page )\fC [virtual]\fR"
+Makes \fIpage\fR the current page and emits the selected() signal.
+.PP
+This virtual function is called whenever a different page is to be shown, including the first time the QWizard is shown. By reimplementing it (and calling QWizard::showPage()), you can prepare each page prior to it being shown.
+.PP
+Examples:
+.)l distributor/distributor.ui.h and wizard/wizard.cpp.
+.SH "QString QWizard::title ( QWidget * page ) const"
+Returns the title of page \fIpage\fR.
+.SH "QFont QWizard::titleFont () const"
+Returns the font used for page titles. See the "titleFont" property for details.
+.SS "Property Documentation"
+.SH "QFont titleFont"
+This property holds the font used for page titles.
+.PP
+The default is QApplication::font().
+.PP
+Set this property's value with setTitleFont() and get this property's value with titleFont().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwizard.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwizard.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwmatrix.3qt b/doc/man/man3/qwmatrix.3qt
new file mode 100644
index 0000000..755f86b
--- /dev/null
+++ b/doc/man/man3/qwmatrix.3qt
@@ -0,0 +1,473 @@
+'\" t
+.TH QWMatrix 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWMatrix \- 2D transformations of a coordinate system
+.SH SYNOPSIS
+\fC#include <qwmatrix.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWMatrix\fR ()"
+.br
+.ti -1c
+.BI "\fBQWMatrix\fR ( double m11, double m12, double m21, double m22, double dx, double dy )"
+.br
+.ti -1c
+.BI "void \fBsetMatrix\fR ( double m11, double m12, double m21, double m22, double dx, double dy )"
+.br
+.ti -1c
+.BI "double \fBm11\fR () const"
+.br
+.ti -1c
+.BI "double \fBm12\fR () const"
+.br
+.ti -1c
+.BI "double \fBm21\fR () const"
+.br
+.ti -1c
+.BI "double \fBm22\fR () const"
+.br
+.ti -1c
+.BI "double \fBdx\fR () const"
+.br
+.ti -1c
+.BI "double \fBdy\fR () const"
+.br
+.ti -1c
+.BI "void \fBmap\fR ( int x, int y, int * tx, int * ty ) const"
+.br
+.ti -1c
+.BI "void \fBmap\fR ( double x, double y, double * tx, double * ty ) const"
+.br
+.ti -1c
+.BI "QRect \fBmapRect\fR ( const QRect & rect ) const"
+.br
+.ti -1c
+.BI "QPoint \fBmap\fR ( const QPoint & p ) const"
+.br
+.ti -1c
+.BI "QRect map ( const QRect & r ) const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QPointArray \fBmap\fR ( const QPointArray & a ) const"
+.br
+.ti -1c
+.BI "QRegion \fBmap\fR ( const QRegion & r ) const"
+.br
+.ti -1c
+.BI "QRegion \fBmapToRegion\fR ( const QRect & rect ) const"
+.br
+.ti -1c
+.BI "QPointArray \fBmapToPolygon\fR ( const QRect & rect ) const"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "bool \fBisIdentity\fR () const"
+.br
+.ti -1c
+.BI "QWMatrix & \fBtranslate\fR ( double dx, double dy )"
+.br
+.ti -1c
+.BI "QWMatrix & \fBscale\fR ( double sx, double sy )"
+.br
+.ti -1c
+.BI "QWMatrix & \fBshear\fR ( double sh, double sv )"
+.br
+.ti -1c
+.BI "QWMatrix & \fBrotate\fR ( double a )"
+.br
+.ti -1c
+.BI "bool \fBisInvertible\fR () const"
+.br
+.ti -1c
+.BI "double \fBdet\fR () const"
+.br
+.ti -1c
+.BI "QWMatrix \fBinvert\fR ( bool * invertible = 0 ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator==\fR ( const QWMatrix & m ) const"
+.br
+.ti -1c
+.BI "bool \fBoperator!=\fR ( const QWMatrix & m ) const"
+.br
+.ti -1c
+.BI "QWMatrix & \fBoperator*=\fR ( const QWMatrix & m )"
+.br
+.ti -1c
+.BI "enum \fBTransformationMode\fR { Points, Areas }"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsetTransformationMode\fR ( QWMatrix::TransformationMode m )"
+.br
+.ti -1c
+.BI "TransformationMode \fBtransformationMode\fR ()"
+.br
+.in -1c
+.SH RELATED FUNCTION DOCUMENTATION
+.in +1c
+.ti -1c
+.BI "QDataStream & \fBoperator<<\fR ( QDataStream & s, const QWMatrix & m )"
+.br
+.ti -1c
+.BI "QDataStream & \fBoperator>>\fR ( QDataStream & s, QWMatrix & m )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWMatrix class specifies 2D transformations of a coordinate system.
+.PP
+The standard coordinate system of a paint device has the origin located at the top-left position. X values increase to the right; Y values increase downward.
+.PP
+This coordinate system is the default for the QPainter, which renders graphics in a paint device. A user-defined coordinate system can be specified by setting a QWMatrix for the painter.
+.PP
+Example:
+.PP
+.nf
+.br
+ MyWidget::paintEvent( QPaintEvent * )
+.br
+ {
+.br
+ QPainter p; // our painter
+.br
+ QWMatrix m; // our transformation matrix
+.br
+ m.rotate( 22.5 ); // rotated coordinate system
+.br
+ p.begin( this ); // start painting
+.br
+ p.setWorldMatrix( m ); // use rotated coordinate system
+.br
+ p.drawText( 30,20, "detator" ); // draw rotated text at 30,20
+.br
+ p.end(); // painting done
+.br
+ }
+.br
+.fi
+.PP
+A matrix specifies how to translate, scale, shear or rotate the graphics; the actual transformation is performed by the drawing routines in QPainter and by QPixmap::xForm().
+.PP
+The QWMatrix class contains a 3x3 matrix of the form:
+.nf
+.TS
+l
+-
+l.
+m11 m12 0
+m21 m22 0
+dx dy 1
+.TE
+.fi
+
+.PP
+A matrix transforms a point in the plane to another point:
+.PP
+.nf
+.br
+ x' = m11*x + m21*y + dx
+.br
+ y' = m22*y + m12*x + dy
+.br
+.fi
+.PP
+The point \fI(x, y)\fR is the original point, and \fI(x', y')\fR is the transformed point. \fI(x', y')\fR can be transformed back to \fI(x, y)\fR by performing the same operation on the inverted matrix.
+.PP
+The elements \fIdx\fR and \fIdy\fR specify horizontal and vertical translation. The elements \fIm11\fR and \fIm22\fR specify horizontal and vertical scaling. The elements \fIm12\fR and \fIm21\fR specify horizontal and vertical shearing.
+.PP
+The identity matrix has \fIm11\fR and \fIm22\fR set to 1; all others are set to 0. This matrix maps a point to itself.
+.PP
+Translation is the simplest transformation. Setting \fIdx\fR and \fIdy\fR will move the coordinate system \fIdx\fR units along the X axis and \fIdy\fR units along the Y axis.
+.PP
+Scaling can be done by setting \fIm11\fR and \fIm22\fR. For example, setting \fIm11\fR to 2 and \fIm22\fR to 1.5 will double the height and increase the width by 50%.
+.PP
+Shearing is controlled by \fIm12\fR and \fIm21\fR. Setting these elements to values different from zero will twist the coordinate system.
+.PP
+Rotation is achieved by carefully setting both the shearing factors and the scaling factors. The QWMatrix also has a function that sets rotation directly.
+.PP
+QWMatrix lets you combine transformations like this:
+.PP
+.nf
+.br
+ QWMatrix m; // identity matrix
+.br
+ m.translate(10, -20); // first translate (10,-20)
+.br
+ m.rotate(25); // then rotate 25 degrees
+.br
+ m.scale(1.2, 0.7); // finally scale it
+.br
+.fi
+.PP
+Here's the same example using basic matrix operations:
+.PP
+.nf
+.br
+ double a = pi/180 * 25; // convert 25 to radians
+.br
+ double sina = sin(a);
+.br
+ double cosa = cos(a);
+.br
+ QWMatrix m1(1, 0, 0, 1, 10, -20); // translation matrix
+.br
+ QWMatrix m2( cosa, sina, // rotation matrix
+.br
+ -sina, cosa, 0, 0 );
+.br
+ QWMatrix m3(1.2, 0, 0, 0.7, 0, 0); // scaling matrix
+.br
+ QWMatrix m;
+.br
+ m = m3 * m2 * m1; // combine all transformations
+.br
+.fi
+.PP
+QPainter has functions to translate, scale, shear and rotate the coordinate system without using a QWMatrix. Although these functions are very convenient, it can be more efficient to build a QWMatrix and call QPainter::setWorldMatrix() if you want to perform more than a single transform operation.
+.PP
+See also QPainter::setWorldMatrix(), QPixmap::xForm(), Graphics Classes, and Image Processing Classes.
+.SS "Member Type Documentation"
+.SH "QWMatrix::TransformationMode"
+
+.PP
+QWMatrix offers two transformation modes. Calculations can either be done in terms of points (Points mode, the default), or in terms of area (Area mode).
+.PP
+In Points mode the transformation is applied to the points that mark out the shape's bounding line. In Areas mode the transformation is applied in such a way that the area of the contained region is correctly transformed under the matrix.
+.TP
+\fCQWMatrix::Points\fR - transformations are applied to the shape's points.
+.TP
+\fCQWMatrix::Areas\fR - transformations are applied (e.g. to the width and height) so that the area is transformed.
+.PP
+Example:
+.PP
+Suppose we have a rectangle, \fCQRect( 10, 20, 30, 40 )\fR and a transformation matrix \fCQWMatrix( 2, 0, 0, 2, 0, 0 )\fR to double the rectangle's size.
+.PP
+In Points mode, the matrix will transform the top-left (10,20) and the bottom-right (39,59) points producing a rectangle with its top-left point at (20,40) and its bottom-right point at (78,118), i.e. with a width of 59 and a height of 79.
+.PP
+In Areas mode, the matrix will transform the top-left point in the same way as in Points mode to (20/40), and double the width and height, so the bottom-right will become (69,99), i.e. a width of 60 and a height of 80.
+.PP
+Because integer arithmetic is used (for speed), rounding differences mean that the modes will produce slightly different results given the same shape and the same transformation, especially when scaling up. This also means that some operations are not commutative.
+.PP
+Under Points mode, \fCmatrix * ( region1 | region2 )\fR is not equal to \fCmatrix * region1 | matrix * region2\fR. Under Area mode, \fCmatrix * (pointarray[i])\fR is not neccesarily equal to \fC(matrix * pointarry)[i]\fR.
+.PP
+<center>
+.ce 1
+.B "[Image Omitted]"
+.PP
+</center>
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWMatrix::QWMatrix ()"
+Constructs an identity matrix. All elements are set to zero except \fIm11\fR and \fIm22\fR (scaling), which are set to 1.
+.SH "QWMatrix::QWMatrix ( double m11, double m12, double m21, double m22, double dx, double dy )"
+Constructs a matrix with the elements, \fIm11\fR, \fIm12\fR, \fIm21\fR, \fIm22\fR, \fIdx\fR and \fIdy\fR.
+.SH "double QWMatrix::det () const"
+Returns the matrix's determinant.
+.SH "double QWMatrix::dx () const"
+Returns the horizontal translation.
+.SH "double QWMatrix::dy () const"
+Returns the vertical translation.
+.SH "QWMatrix QWMatrix::invert ( bool * invertible = 0 ) const"
+Returns the inverted matrix.
+.PP
+If the matrix is singular (not invertible), the identity matrix is returned.
+.PP
+If \fIinvertible\fR is not 0: the value of \fI*invertible\fR is set to TRUE if the matrix is invertible; otherwise \fI*invertible\fR is set to FALSE.
+.PP
+See also isInvertible().
+.PP
+Example: t14/cannon.cpp.
+.SH "bool QWMatrix::isIdentity () const"
+Returns TRUE if the matrix is the identity matrix; otherwise returns FALSE.
+.PP
+See also reset().
+.SH "bool QWMatrix::isInvertible () const"
+Returns TRUE if the matrix is invertible; otherwise returns FALSE.
+.PP
+See also invert().
+.SH "double QWMatrix::m11 () const"
+Returns the X scaling factor.
+.SH "double QWMatrix::m12 () const"
+Returns the vertical shearing factor.
+.SH "double QWMatrix::m21 () const"
+Returns the horizontal shearing factor.
+.SH "double QWMatrix::m22 () const"
+Returns the Y scaling factor.
+.SH "void QWMatrix::map ( int x, int y, int * tx, int * ty ) const"
+Transforms ( \fIx\fR, \fIy\fR ) to ( \fI*tx\fR, \fI*ty\fR ) using the formulae:
+.PP
+.nf
+.br
+ *tx = m11*x + m21*y + dx (rounded to the nearest integer)
+.br
+ *ty = m22*y + m12*x + dy (rounded to the nearest integer)
+.br
+.fi
+.PP
+Examples:
+.)l t14/cannon.cpp and xform/xform.cpp.
+.SH "void QWMatrix::map ( double x, double y, double * tx, double * ty ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms ( \fIx\fR, \fIy\fR ) to ( \fI*tx\fR, \fI*ty\fR ) using the following formulae:
+.PP
+.nf
+.br
+ *tx = m11*x + m21*y + dx
+.br
+ *ty = m22*y + m12*x + dy
+.br
+.fi
+.SH "QPoint QWMatrix::map ( const QPoint & p ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms \fIp\fR to using the formulae:
+.PP
+.nf
+.br
+ retx = m11*px + m21*py + dx (rounded to the nearest integer)
+.br
+ rety = m22*py + m12*px + dy (rounded to the nearest integer)
+.br
+.fi
+.SH "QRect QWMatrix::map ( const QRect & r ) const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Please use QWMatrix::mapRect() instead.
+.PP
+Note that this method does return the bounding rectangle of the \fIr\fR, when shearing or rotations are used.
+.SH "QPointArray QWMatrix::map ( const QPointArray & a ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns the point array \fIa\fR transformed by calling map for each point.
+.SH "QRegion QWMatrix::map ( const QRegion & r ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Transforms the region \fIr\fR.
+.PP
+Calling this method can be rather expensive, if rotations or shearing are used.
+.SH "QRect QWMatrix::mapRect ( const QRect & rect ) const"
+Returns the transformed rectangle \fIrect\fR.
+.PP
+The bounding rectangle is returned if rotation or shearing has been specified.
+.PP
+If you need to know the exact region \fIrect\fR maps to use operator*().
+.PP
+See also operator*().
+.PP
+Example: xform/xform.cpp.
+.SH "QPointArray QWMatrix::mapToPolygon ( const QRect & rect ) const"
+Returns the transformed rectangle \fIrect\fR as a polygon.
+.PP
+Polygons and rectangles behave slightly differently when transformed (due to integer rounding), so \fCmatrix.map( QPointArray( rect ) )\fR is not always the same as \fCmatrix.mapToPolygon( rect )\fR.
+.SH "QRegion QWMatrix::mapToRegion ( const QRect & rect ) const"
+Returns the transformed rectangle \fIrect\fR.
+.PP
+A rectangle which has been rotated or sheared may result in a non-rectangular region being returned.
+.PP
+Calling this method can be expensive, if rotations or shearing are used. If you just need to know the bounding rectangle of the returned region, use mapRect() which is a lot faster than this function.
+.PP
+See also QWMatrix::mapRect().
+.SH "bool QWMatrix::operator!= ( const QWMatrix & m ) const"
+Returns TRUE if this matrix is not equal to \fIm\fR; otherwise returns FALSE.
+.SH "QWMatrix & QWMatrix::operator*= ( const QWMatrix & m )"
+Returns the result of multiplying this matrix by matrix \fIm\fR.
+.SH "bool QWMatrix::operator== ( const QWMatrix & m ) const"
+Returns TRUE if this matrix is equal to \fIm\fR; otherwise returns FALSE.
+.SH "void QWMatrix::reset ()"
+Resets the matrix to an identity matrix.
+.PP
+All elements are set to zero, except \fIm11\fR and \fIm22\fR (scaling) which are set to 1.
+.PP
+See also isIdentity().
+.SH "QWMatrix & QWMatrix::rotate ( double a )"
+Rotates the coordinate system \fIa\fR degrees counterclockwise.
+.PP
+Returns a reference to the matrix.
+.PP
+See also translate(), scale(), and shear().
+.PP
+Examples:
+.)l canvas/canvas.cpp, desktop/desktop.cpp, drawdemo/drawdemo.cpp, t14/cannon.cpp, and xform/xform.cpp.
+.SH "QWMatrix & QWMatrix::scale ( double sx, double sy )"
+Scales the coordinate system unit by \fIsx\fR horizontally and \fIsy\fR vertically.
+.PP
+Returns a reference to the matrix.
+.PP
+See also translate(), shear(), and rotate().
+.PP
+Examples:
+.)l canvas/canvas.cpp, fileiconview/qfileiconview.cpp, movies/main.cpp, qmag/qmag.cpp, showimg/showimg.cpp, and xform/xform.cpp.
+.SH "void QWMatrix::setMatrix ( double m11, double m12, double m21, double m22, double dx, double dy )"
+Sets the matrix elements to the specified values, \fIm11\fR, \fIm12\fR, \fIm21\fR, \fIm22\fR, \fIdx\fR and \fIdy\fR.
+.SH "void QWMatrix::setTransformationMode ( QWMatrix::TransformationMode m )\fC [static]\fR"
+Sets the transformation mode that QWMatrix and painter transformations use to \fIm\fR.
+.PP
+See also QWMatrix::TransformationMode.
+.SH "QWMatrix & QWMatrix::shear ( double sh, double sv )"
+Shears the coordinate system by \fIsh\fR horizontally and \fIsv\fR vertically.
+.PP
+Returns a reference to the matrix.
+.PP
+See also translate(), scale(), and rotate().
+.PP
+Examples:
+.)l drawdemo/drawdemo.cpp and xform/xform.cpp.
+.SH "TransformationMode QWMatrix::transformationMode ()\fC [static]\fR"
+Returns the current transformation mode.
+.PP
+See also QWMatrix::TransformationMode.
+.SH "QWMatrix & QWMatrix::translate ( double dx, double dy )"
+Moves the coordinate system \fIdx\fR along the X-axis and \fIdy\fR along the Y-axis.
+.PP
+Returns a reference to the matrix.
+.PP
+See also scale(), shear(), and rotate().
+.PP
+Examples:
+.)l canvas/canvas.cpp, drawdemo/drawdemo.cpp, t14/cannon.cpp, and xform/xform.cpp.
+.SH RELATED FUNCTION DOCUMENTATION
+.SH "QDataStream & operator<< ( QDataStream & s, const QWMatrix & m )"
+Writes the matrix \fIm\fR to the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+.SH "QDataStream & operator>> ( QDataStream & s, QWMatrix & m )"
+Reads the matrix \fIm\fR from the stream \fIs\fR and returns a reference to the stream.
+.PP
+See also Format of the QDataStream operators.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwmatrix.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwmatrix.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qworkspace.3qt b/doc/man/man3/qworkspace.3qt
new file mode 100644
index 0000000..ec060f0
--- /dev/null
+++ b/doc/man/man3/qworkspace.3qt
@@ -0,0 +1,196 @@
+'\" t
+.TH QWorkspace 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWorkspace \- Workspace window that can contain decorated windows, e.g. for MDI
+.SH SYNOPSIS
+\fC#include <qworkspace.h>\fR
+.PP
+Inherits QWidget.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWorkspace\fR ( QWidget * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QWorkspace\fR ()"
+.br
+.ti -1c
+.BI "enum \fBWindowOrder\fR { CreationOrder, StackingOrder }"
+.br
+.ti -1c
+.BI "QWidget * \fBactiveWindow\fR () const"
+.br
+.ti -1c
+.BI "QWidgetList windowList () const \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QWidgetList \fBwindowList\fR ( WindowOrder order ) const"
+.br
+.ti -1c
+.BI "bool \fBscrollBarsEnabled\fR () const"
+.br
+.ti -1c
+.BI "void \fBsetScrollBarsEnabled\fR ( bool enable )"
+.br
+.in -1c
+.SS "Public Slots"
+.in +1c
+.ti -1c
+.BI "void \fBcascade\fR ()"
+.br
+.ti -1c
+.BI "void \fBtile\fR ()"
+.br
+.ti -1c
+.BI "void \fBcloseActiveWindow\fR ()"
+.br
+.ti -1c
+.BI "void \fBcloseAllWindows\fR ()"
+.br
+.ti -1c
+.BI "void \fBactivateNextWindow\fR ()"
+.br
+.ti -1c
+.BI "void \fBactivatePrevWindow\fR ()"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBwindowActivated\fR ( QWidget * w )"
+.br
+.in -1c
+.SS "Properties"
+.in +1c
+.ti -1c
+.BI "bool \fBscrollBarsEnabled\fR - whether the workspace provides scrollbars"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWorkspace widget provides a workspace window that can contain decorated windows, e.g. for MDI.
+.PP
+MDI (multiple document interface) applications typically have one main window with a menu bar and toolbar, and a central widget that is a QWorkspace. The workspace itself contains zero, one or more document windows, each of which is a widget.
+.PP
+The workspace itself is an ordinary Qt widget. It has a standard constructor that takes a parent widget and an object name. The parent window is usually a QMainWindow, but it need not be.
+.PP
+Document windows (i.e. MDI windows) are also ordinary Qt widgets which have the workspace as their parent widget. When you call show(), hide(), showMaximized(), setCaption(), etc. on a document window, it is shown, hidden, etc. with a frame, caption, icon and icon text, just as you'd expect. You can provide widget flags which will be used for the layout of the decoration or the behaviour of the widget itself.
+.PP
+To change or retrieve the geometry of MDI windows you must operate on the MDI widget's parentWidget(). (The parentWidget() provides access to the decorated window in which the MDI window's widget is shown.)
+.PP
+A document window becomes active when it gets the keyboard focus. You can also activate a window in code using setFocus(). The user can activate a window by moving focus in the usual ways, for example by clicking a window or by pressing Tab. The workspace emits a signal windowActivated() when it detects the activation change, and the function activeWindow() always returns a pointer to the active document window.
+.PP
+The convenience function windowList() returns a list of all document windows. This is useful to create a popup menu" <u>W</u>indows" on the fly, for example.
+.PP
+QWorkspace provides two built-in layout strategies for child windows: cascade() and tile(). Both are slots so you can easily connect menu entries to them.
+.PP
+If you want your users to be able to work with document windows larger than the actual workspace, set the scrollBarsEnabled property to TRUE.
+.PP
+If the top-level window contains a menu bar and a document window is maximised, QWorkspace moves the document window's minimize, restore and close buttons from the document window's frame to the workspace window's menu bar. It then inserts a window operations menu at the far left of the menu bar.
+.PP
+See also Main Window and Related Classes and Organizers.
+.SS "Member Type Documentation"
+.SH "QWorkspace::WindowOrder"
+Specifies the order in which windows are returned from windowList().
+.TP
+\fCQWorkspace::CreationOrder\fR - The windows are returned in the order of their creation
+.TP
+\fCQWorkspace::StackingOrder\fR - The windows are returned in the order of their stacking
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWorkspace::QWorkspace ( QWidget * parent = 0, const char * name = 0 )"
+Constructs a workspace with a \fIparent\fR and a \fIname\fR.
+.SH "QWorkspace::~QWorkspace ()"
+Destroys the workspace and frees any allocated resources.
+.SH "void QWorkspace::activateNextWindow ()\fC [slot]\fR"
+Activates the next window in the child window chain.
+.PP
+See also activatePrevWindow().
+.SH "void QWorkspace::activatePrevWindow ()\fC [slot]\fR"
+Activates the previous window in the child window chain.
+.PP
+See also activateNextWindow().
+.SH "QWidget * QWorkspace::activeWindow () const"
+Returns the active window, or 0 if no window is active.
+.PP
+Example: mdi/application.cpp.
+.SH "void QWorkspace::cascade ()\fC [slot]\fR"
+Arranges all the child windows in a cascade pattern.
+.PP
+See also tile().
+.PP
+Example: mdi/application.cpp.
+.SH "void QWorkspace::closeActiveWindow ()\fC [slot]\fR"
+Closes the child window that is currently active.
+.PP
+See also closeAllWindows().
+.SH "void QWorkspace::closeAllWindows ()\fC [slot]\fR"
+Closes all child windows.
+.PP
+The windows are closed in random order. The operation stops if a window does not accept the close event.
+.PP
+See also closeActiveWindow().
+.SH "bool QWorkspace::scrollBarsEnabled () const"
+Returns TRUE if the workspace provides scrollbars; otherwise returns FALSE. See the "scrollBarsEnabled" property for details.
+.SH "void QWorkspace::setScrollBarsEnabled ( bool enable )"
+Sets whether the workspace provides scrollbars to \fIenable\fR. See the "scrollBarsEnabled" property for details.
+.SH "void QWorkspace::tile ()\fC [slot]\fR"
+Arranges all child windows in a tile pattern.
+.PP
+See also cascade().
+.PP
+Example: mdi/application.cpp.
+.SH "void QWorkspace::windowActivated ( QWidget * w )\fC [signal]\fR"
+This signal is emitted when the window widget \fIw\fR becomes active. Note that \fIw\fR can be null, and that more than one signal may be emitted for a single activation event.
+.PP
+See also activeWindow() and windowList().
+.SH "QWidgetList QWorkspace::windowList ( WindowOrder order ) const"
+Returns a list of all windows. If \fIorder\fR is CreationOrder (the default) the windows are listed in the order in which they had been inserted into the workspace. If \fIorder\fR is StackingOrder the windows are listed in their stacking order, with the topmost window being the last window in the list.
+.PP
+QWidgetList is the same as QPtrList<QWidget>.
+.PP
+See also QPtrList.
+.PP
+Example: mdi/application.cpp.
+.SH "QWidgetList QWorkspace::windowList () const"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+.SS "Property Documentation"
+.SH "bool scrollBarsEnabled"
+This property holds whether the workspace provides scrollbars.
+.PP
+If this property is set to TRUE, it is possible to resize child windows over the right or the bottom edge out of the visible area of the workspace. The workspace shows scrollbars to make it possible for the user to access those windows. If this property is set to FALSE (the default), resizing windows out of the visible area of the workspace is not permitted.
+.PP
+Set this property's value with setScrollBarsEnabled() and get this property's value with scrollBarsEnabled().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qworkspace.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qworkspace.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwsdecoration.3qt b/doc/man/man3/qwsdecoration.3qt
new file mode 100644
index 0000000..63bc8e0
--- /dev/null
+++ b/doc/man/man3/qwsdecoration.3qt
@@ -0,0 +1,156 @@
+'\" t
+.TH QWSDecoration 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSDecoration \- Allows the appearance of the Qt/Embedded Window Manager to be customized
+.SH SYNOPSIS
+\fC#include <qwsdecoration_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSDecoration\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWSDecoration\fR ()"
+.br
+.ti -1c
+.BI "enum \fBRegion\fR { None = 0, All = 1, Title = 2, Top = 3, Bottom = 4, Left = 5, Right = 6, TopLeft = 7, TopRight = 8, BottomLeft = 9, BottomRight = 10, Close = 11, Minimize = 12, Maximize = 13, Normalize = 14, Menu = 15, LastRegion = Menu }"
+.br
+.ti -1c
+.BI "virtual QRegion \fBregion\fR ( const QWidget * widget, const QRect & rect, Region type = All ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBclose\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual void \fBminimize\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual void \fBmaximize\fR ( QWidget * widget )"
+.br
+.ti -1c
+.BI "virtual QPopupMenu * \fBmenu\fR ( const QWidget *, const QPoint & )"
+.br
+.ti -1c
+.BI "virtual void \fBpaint\fR ( QPainter * painter, const QWidget * widget ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBpaintButton\fR ( QPainter * painter, const QWidget * widget, Region type, int state ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSDecoration class allows the appearance of the Qt/Embedded Window Manager to be customized.
+.PP
+Qt/Embedded provides window management to top level windows. The appearance of the borders and buttons (the decoration) around the managed windows can be customized by creating your own class derived from QWSDecoration and overriding a few methods.
+.PP
+This class is non-portable. It is available \fIonly\fR in Qt/Embedded.
+.PP
+See also QApplication::qwsSetDecoration() and Qt/Embedded.
+.SS "Member Type Documentation"
+.SH "QWSDecoration::Region"
+This enum describes the regions in the window decorations.
+.TP
+\fCQWSDecoration::None\fR - used internally.
+.TP
+\fCQWSDecoration::All\fR - the entire region used by the window decoration.
+.TP
+\fCQWSDecoration::Title\fR - Displays the window title and allows the window to be moved by dragging.
+.TP
+\fCQWSDecoration::Top\fR - allows the top of the window to be resized.
+.TP
+\fCQWSDecoration::Bottom\fR - allows the bottom of the window to be resized.
+.TP
+\fCQWSDecoration::Left\fR - allows the left edge of the window to be resized.
+.TP
+\fCQWSDecoration::Right\fR - allows the right edge of the window to be resized.
+.TP
+\fCQWSDecoration::TopLeft\fR - allows the top-left of the window to be resized.
+.TP
+\fCQWSDecoration::TopRight\fR - allows the top-right of the window to be resized.
+.TP
+\fCQWSDecoration::BottomLeft\fR - allows the bottom-left of the window to be resized.
+.TP
+\fCQWSDecoration::BottomRight\fR - allows the bottom-right of the window to be resized.
+.TP
+\fCQWSDecoration::Close\fR - clicking in this region closes the window.
+.TP
+\fCQWSDecoration::Minimize\fR - clicking in this region minimizes the window.
+.TP
+\fCQWSDecoration::Maximize\fR - clicking in this region maximizes the window.
+.TP
+\fCQWSDecoration::Normalize\fR - returns a maximized window to its previous size.
+.TP
+\fCQWSDecoration::Menu\fR - clicking in this region opens the window operations (system) menu.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSDecoration::QWSDecoration ()"
+Constructs a decorator.
+.SH "QWSDecoration::~QWSDecoration ()\fC [virtual]\fR"
+Destroys a decorator.
+.SH "void QWSDecoration::close ( QWidget * widget )\fC [virtual]\fR"
+Called when the user clicks in the Close region.
+.PP
+\fIwidget\fR is the widget to be closed.
+.PP
+The default behaviour is to close the widget.
+.SH "void QWSDecoration::maximize ( QWidget * widget )\fC [virtual]\fR"
+Called when the user clicks in the Maximize region.
+.PP
+\fIwidget\fR is the widget to be maximized.
+.PP
+The default behaviour is to resize the widget to be full-screen. This method can be overridden e.g. to allow room for launch panels.
+.SH "QPopupMenu * QWSDecoration::menu ( const QWidget *, const QPoint & )\fC [virtual]\fR"
+Called to create a QPopupMenu containing the valid menu operations.
+.PP
+The default implementation adds all possible window operations.
+.SH "void QWSDecoration::minimize ( QWidget * widget )\fC [virtual]\fR"
+Called when the user clicks in the Minimize region.
+.PP
+\fIwidget\fR is the widget to be minimized.
+.PP
+The default behaviour is to ignore this action.
+.SH "void QWSDecoration::paint ( QPainter * painter, const QWidget * widget )\fC [pure virtual]\fR"
+Override to paint the border and title decoration around \fIwidget\fR using \fIpainter\fR.
+.SH "void QWSDecoration::paintButton ( QPainter * painter, const QWidget * widget, Region type, int state )\fC [pure virtual]\fR"
+Override to paint a button of type \fItype\fR using \fIpainter\fR.
+.PP
+\fIwidget\fR is the widget whose button is to be drawn. \fIstate\fR is the state of the button. It can be a combination of the following OR-ed together:
+.TP
+\fCQWSButton::MouseOver\fR
+.TP
+\fCQWSButton::Clicked\fR
+.TP
+\fCQWSButton::On\fR
+.SH "QRegion QWSDecoration::region ( const QWidget * widget, const QRect & rect, Region type = All )\fC [pure virtual]\fR"
+Returns the requested region \fItype\fR which will contain \fIwidget\fR
+with geometry \fIrect\fR.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwsdecoration.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwsdecoration.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwsinputmethod.3qt b/doc/man/man3/qwsinputmethod.3qt
new file mode 100644
index 0000000..138ebbc
--- /dev/null
+++ b/doc/man/man3/qwsinputmethod.3qt
@@ -0,0 +1,105 @@
+'\" t
+.TH QWSInputMethod 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSInputMethod \- International input methods for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qwindowsystem_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSInputMethod\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWSInputMethod\fR ()"
+.br
+.ti -1c
+.BI "virtual bool \fBfilter\fR ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) = 0"
+.br
+.ti -1c
+.BI "virtual void \fBreset\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetMicroFocus\fR ( int x, int y )"
+.br
+.ti -1c
+.BI "virtual void \fBsetFont\fR ( const QFont & )"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "void \fBsendIMEvent\fR ( QWSServer::IMState state, const QString & txt, int cpos, int selLen = 0 )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSInputMethod class provides international input methods for Qt/Embedded.
+.PP
+Subclass this class to implement your own input method.
+.PP
+An input methods consists of a keyboard filter and optionally a graphical interface. The keyboard filter intercepts key events from physical or virtual keyboards by implementing the filter() function.
+.PP
+Use sendIMEvent() to send composition events. Composition starts with the input method sending an \fCIMStart\fR event, followed by a number of \fCIMCompose\fR events and ending with an \fCIMEnd\fR event or when the virtual reset() function is called.
+.PP
+The functions setMicroFocus() and setFont() can be reimplemented to receive more information about the state of the focus widget.
+.PP
+Use QWSServer::setCurrentInputMethod() to install an input method.
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSInputMethod::QWSInputMethod ()"
+Constructs a new input method
+.SH "QWSInputMethod::~QWSInputMethod ()\fC [virtual]\fR"
+Destructs the input method uninstalling it if it is currently installed.
+.SH "bool QWSInputMethod::filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )\fC [pure virtual]\fR"
+This function must be implemented in subclasses to handle key input from physical or virtual keyboards. Returning TRUE will block the event from further processing.
+.PP
+The Unicode value is given in \fIunicode\fR and the key code in \fIkeycode\fR. Keyboard modifiers are OR-ed together in \fImodifiers\fR. If \fIisPress\fR is TRUE this is a key press; otherwise it is a key release. If \fIautoRepeat\fR is TRUE this is an auto-repeated key press.
+.PP
+All normal key events should be blocked while in compose mode (i.e., between \fCIMStart\fR and \fCIMEnd\fR).
+.SH "void QWSInputMethod::reset ()\fC [virtual]\fR"
+Implemented in subclasses to reset the state of the input method.
+.SH "void QWSInputMethod::sendIMEvent ( QWSServer::IMState state, const QString & txt, int cpos, int selLen = 0 )\fC [protected]\fR"
+Causes a QIMEvent to be sent to the focus widget. \fIstate\fR may be one of QWSServer::IMStart, QWSServer::IMCompose or QWSServer::IMEnd.
+.PP
+\fItxt\fR is the text being composed (or the finished text if state is \fCIMEnd\fR). \fIcpos\fR is the current cursor position.
+.PP
+If state is \fCIMCompose\fR, \fIselLen\fR is the number of characters in the composition string (starting at \fIcpos\fR) that should be marked as selected by the input widget receiving the event.
+.SH "void QWSInputMethod::setFont ( const QFont & )\fC [virtual]\fR"
+Implemented in subclasses to handle font changes in the focus widget.
+.PP
+This functionality is provided for future expansion; it is not used in this version of Qt/Embedded.
+.SH "void QWSInputMethod::setMicroFocus ( int x, int y )\fC [virtual]\fR"
+Implemented in subclasses to handle microFocusHint changes in the focus widget. \fIx\fR and \fIy\fR are the global coordinates of the text cursor.
+.PP
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwsinputmethod.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwsinputmethod.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwskeyboardhandler.3qt b/doc/man/man3/qwskeyboardhandler.3qt
new file mode 100644
index 0000000..bd52266
--- /dev/null
+++ b/doc/man/man3/qwskeyboardhandler.3qt
@@ -0,0 +1,77 @@
+'\" t
+.TH QWSKeyboardHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSKeyboardHandler \- Implements the keyboard driver for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qkeyboard_qws.h>\fR
+.PP
+Inherits QObject.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSKeyboardHandler\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QWSKeyboardHandler\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBprocessKeyEvent\fR ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSKeyboardHandler class implements the keyboard driver for Qt/Embedded.
+.PP
+The keyboard driver handles events from system devices and generates key events.
+.PP
+A QWSKeyboardHandler will usually open some system device in its constructor, create a QSocketNotifier on that opened device and when it receives data, it will call processKeyEvent() to send the event to Qt/Embedded for relaying to clients.
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSKeyboardHandler::QWSKeyboardHandler ()"
+Constructs a keyboard handler. The handler \fImay\fR be passed to the system for later destruction with QWSServer::setKeyboardHandler(), although even without doing this, the handler can function, calling processKeyEvent() to emit events.
+.SH "QWSKeyboardHandler::~QWSKeyboardHandler ()\fC [virtual]\fR"
+Destroys a keyboard handler. Note that if you have called QWSServer::setKeyboardHandler(), you must not delete the handler.
+.SH "void QWSKeyboardHandler::processKeyEvent ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )\fC [virtual protected]\fR"
+Subclasses call this function to send a key event. The server may additionally filter the event before sending it on to applications.
+.PP
+<center>.nf
+.TS
+l - l. Parameter Meaning \fIunicode\fR The Unicode value for the key, or 0xFFFF is none is appropriate. \fIkeycode\fR The Qt keycode for the key (see Qt::Key for the list of codes). \fImodifiers\fR The set of modifier keys (see Qt::Modifier). \fIisPress\fR Whether this is a press or a release. \fIautoRepeat\fR
+.TE
+.fi
+</center>
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwskeyboardhandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwskeyboardhandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwsmousehandler.3qt b/doc/man/man3/qwsmousehandler.3qt
new file mode 100644
index 0000000..cfa4c8c
--- /dev/null
+++ b/doc/man/man3/qwsmousehandler.3qt
@@ -0,0 +1,89 @@
+'\" t
+.TH QWSMouseHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSMouseHandler \- Mouse driver for Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qmouse_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSMouseHandler\fR ( const QString & driver = QString::null, const QString & device = QString::null )"
+.br
+.ti -1c
+.BI "virtual \fB~QWSMouseHandler\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBclearCalibration\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBcalibrate\fR ( QWSPointerCalibrationData * )"
+.br
+.ti -1c
+.BI "void \fBlimitToScreen\fR ( QPoint & pt )"
+.br
+.ti -1c
+.BI "void \fBmouseChanged\fR ( const QPoint & pos, int bstate )"
+.br
+.ti -1c
+.BI "const QPoint & \fBpos\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSMouseHandler class is a mouse driver for Qt/Embedded.
+.PP
+The mouse driver handles events from system devices and generates mouse events.
+.PP
+A QWSMouseHandler will usually open some system device in its constructor, create a QSocketNotifier on that opened device and when it receives data, it will call mouseChanged() to send the event to Qt/Embedded for relaying to clients.
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSMouseHandler::QWSMouseHandler ( const QString & driver = QString::null, const QString & device = QString::null )"
+Constructs a mouse handler. This becomes the primary mouse handler.
+.PP
+Note that once created, mouse handlers are controlled by the system and should not be deleted.
+.PP
+The \fIdriver\fR and \fIdevice\fR arguments are not used by this base class.
+.SH "QWSMouseHandler::~QWSMouseHandler ()\fC [virtual]\fR"
+Destroys the mouse handler. You should not call this directly.
+.SH "void QWSMouseHandler::calibrate ( QWSPointerCalibrationData * )\fC [virtual]\fR"
+This method is reimplemented in the calibrated mouse handler to set calibration information (from, for instance, the Qtopia calibration screen). This version does nothing.
+.SH "void QWSMouseHandler::clearCalibration ()\fC [virtual]\fR"
+This method is reimplemented in the calibrated mouse handler to clear calibration information. This version does nothing.
+.SH "void QWSMouseHandler::limitToScreen ( QPoint & pt )"
+Ensures that the given point, \fIpt\fR is within the screen's boundaries, changing \fIpt\fR if necessary.
+.SH "void QWSMouseHandler::mouseChanged ( const QPoint & pos, int bstate )"
+When a mouse event occurs this function is called with the mouse's position in \fIpos\fR, and the state of its buttons in \fIbstate\fR.
+.SH "const QPoint & QWSMouseHandler::pos () const"
+Returns the mouse position.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwsmousehandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwsmousehandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwsserver.3qt b/doc/man/man3/qwsserver.3qt
new file mode 100644
index 0000000..2d68e2f
--- /dev/null
+++ b/doc/man/man3/qwsserver.3qt
@@ -0,0 +1,311 @@
+'\" t
+.TH QWSServer 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSServer \- Server-specific functionality in Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qwindowsystem_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSServer\fR ( int flags = 0, QObject * parent = 0, const char * name = 0 )"
+.br
+.ti -1c
+.BI "\fB~QWSServer\fR ()"
+.br
+.ti -1c
+.BI "enum \fBServerFlags\fR { DisableKeyboard = 0x01, DisableMouse = 0x02 }"
+.br
+.ti -1c
+.BI "enum \fBGUIMode\fR { NoGui = FALSE, NormalGUI = TRUE, Server }"
+.br
+.ti -1c
+.BI "void \fBsendIMEvent\fR ( IMState state, const QString & txt, int cpos, int selLen )"
+.br
+.ti -1c
+.BI "class \fBKeyMap\fR { }"
+.br
+.ti -1c
+.BI "class \fBKeyOverride\fR { }"
+.br
+.ti -1c
+.BI "class \fBKeyboardFilter\fR { }"
+.br
+.ti -1c
+.BI "QWSWindow * \fBwindowAt\fR ( const QPoint & pos )"
+.br
+.ti -1c
+.BI "const QPtrList<QWSWindow> & \fBclientWindows\fR ()"
+.br
+.ti -1c
+.BI "void \fBopenMouse\fR ()"
+.br
+.ti -1c
+.BI "void \fBcloseMouse\fR ()"
+.br
+.ti -1c
+.BI "void \fBopenKeyboard\fR ()"
+.br
+.ti -1c
+.BI "void \fBcloseKeyboard\fR ()"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR ()"
+.br
+.ti -1c
+.BI "void \fBrefresh\fR ( QRegion & r )"
+.br
+.ti -1c
+.BI "void \fBenablePainting\fR ( bool e )"
+.br
+.ti -1c
+.BI "QWSPropertyManager * \fBmanager\fR ()"
+.br
+.ti -1c
+.BI "enum \fBWindowEvent\fR { Create = 0x0001, Destroy = 0x0002, Hide = 0x0004, Show = 0x0008, Raise = 0x0010, Lower = 0x0020, Geometry = 0x0040, Active = 0x0080, Name = 0x0100 }"
+.br
+.in -1c
+.SS "Signals"
+.in +1c
+.ti -1c
+.BI "void \fBwindowEvent\fR ( QWSWindow * w, QWSServer::WindowEvent e )"
+.br
+.ti -1c
+.BI "void \fBnewChannel\fR ( const QString & channel )"
+.br
+.ti -1c
+.BI "void \fBremovedChannel\fR ( const QString & channel )"
+.br
+.in -1c
+.SS "Static Public Members"
+.in +1c
+.ti -1c
+.BI "void \fBsendKeyEvent\fR ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )"
+.br
+.ti -1c
+.BI "const KeyMap * \fBkeyMap\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetOverrideKeys\fR ( const KeyOverride * )"
+.br
+.ti -1c
+.BI "void \fBsetKeyboardFilter\fR ( KeyboardFilter * f )"
+.br
+.ti -1c
+.BI "void \fBsetDefaultMouse\fR ( const char * m )"
+.br
+.ti -1c
+.BI "void \fBsetDefaultKeyboard\fR ( const char * k )"
+.br
+.ti -1c
+.BI "void \fBsetMaxWindowRect\fR ( const QRect & r )"
+.br
+.ti -1c
+.BI "void \fBsetDesktopBackground\fR ( const QImage & img )"
+.br
+.ti -1c
+.BI "void \fBsetDesktopBackground\fR ( const QColor & c )"
+.br
+.ti -1c
+.BI "QWSMouseHandler * \fBmouseHandler\fR ()"
+.br
+.ti -1c
+.BI "QWSKeyboardHandler * \fBkeyboardHandler\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetKeyboardHandler\fR ( QWSKeyboardHandler * kh )"
+.br
+.ti -1c
+.BI "void \fBsetScreenSaverIntervals\fR ( int * ms )"
+.br
+.ti -1c
+.BI "void \fBsetScreenSaverInterval\fR ( int ms )"
+.br
+.ti -1c
+.BI "bool \fBscreenSaverActive\fR ()"
+.br
+.ti -1c
+.BI "void \fBscreenSaverActivate\fR ( bool activate )"
+.br
+.ti -1c
+.BI "void \fBsetCursorVisible\fR ( bool vis )"
+.br
+.ti -1c
+.BI "bool \fBisCursorVisible\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSServer class provides server-specific functionality in Qt/Embedded.
+.PP
+When you run a Qt/Embedded application, it either runs as a server or connects to an existing server. If it runs as a server, some additional operations are provided by this class.
+.PP
+This class is instantiated by QApplication for Qt/Embedded server processes. You should never construct this class yourself.
+.PP
+A pointer to the QWSServer instance can be obtained via the global \fCqwsServer\fR variable.
+.PP
+The mouse and keyboard devices can be opened with openMouse() and openKeyboard(). (Close them with closeMouse() and closeKeyboard().)
+.PP
+The display is refreshed with refresh(), and painting can be enabled or disabled with enablePainting().
+.PP
+Obtain the list of client windows with clientWindows() and find out which window is at a particular point with windowAt().
+.PP
+Many static functions are provided, for example, setKeyboardFilter(), setKeyboardHandler(), setDefaultKeyboard() and setDefaultMouse().
+.PP
+The size of the window rectangle can be set with setMaxWindowRect(), and the desktop's background can be set with setDesktopBackground().
+.PP
+The screen saver is controlled with setScreenSaverInterval() and screenSaverActivate().
+.PP
+See also Qt/Embedded.
+.SS "Member Type Documentation"
+.SH "QWSServer::GUIMode"
+This determines what sort of QWS server to create:
+.TP
+\fCQWSServer::NoGui\fR - This is used for non-graphical Qt applications.
+.TP
+\fCQWSServer::NormalGUI\fR - A normal Qt/Embedded application (not the server).
+.TP
+\fCQWSServer::Server\fR - A Qt/Embedded server (e.g. if \fC-qws\fR has been specified on the command line.
+.SH "QWSServer::ServerFlags"
+This enum is used to pass various options to the window system server.
+.TP
+\fCQWSServer::DisableKeyboard\fR - Ignore all keyboard input.
+.TP
+\fCQWSServer::DisableMouse\fR - Ignore all mouse input.
+.SH "QWSServer::WindowEvent"
+This specifies what sort of event has occurred to a top-level window:
+.TP
+\fCQWSServer::Create\fR - A new window has been created (QWidget constructor).
+.TP
+\fCQWSServer::Destroy\fR - The window has been closed and deleted (QWidget destructor).
+.TP
+\fCQWSServer::Hide\fR - The window has been hidden with QWidget::hide().
+.TP
+\fCQWSServer::Show\fR - The window has been shown with QWidget::show() or similar.
+.TP
+\fCQWSServer::Raise\fR - The window has been raised to the top of the desktop.
+.TP
+\fCQWSServer::Lower\fR - The window has been lowered.
+.TP
+\fCQWSServer::Geometry\fR - The window has changed size or position.
+.TP
+\fCQWSServer::Active\fR - The window has become the active window (has keyboard focus).
+.TP
+\fCQWSServer::Name\fR - The window has been named.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSServer::QWSServer ( int flags = 0, QObject * parent = 0, const char * name = 0 )"
+Construct a QWSServer object.
+.PP
+\fBWarning:\fR This class is instantiated by QApplication for Qt/Embedded server processes. You should never construct this class yourself.
+.PP
+The \fIflags\fR are used for keyboard and mouse setting. The server's parent is \fIparent\fR and it is called \fIname\fR.
+.SH "QWSServer::~QWSServer ()"
+Destruct QWSServer
+.SH "const QPtrList<QWSWindow> & QWSServer::clientWindows ()"
+Returns the list of top-level windows. This list will change as applications add and remove wigdets so it should not be stored for future use. The windows are sorted in stacking order from top-most to bottom-most.
+.SH "void QWSServer::closeKeyboard ()"
+Closes keyboard device(s).
+.SH "void QWSServer::closeMouse ()"
+Closes the pointer device(s).
+.SH "void QWSServer::enablePainting ( bool e )"
+If \fIe\fR is TRUE, painting on the display is enabled; if \fIe\fR is FALSE, painting is disabled.
+.SH "bool QWSServer::isCursorVisible ()\fC [static]\fR"
+Returns TRUE if the cursor is visible; otherwise returns FALSE.
+.PP
+See also setCursorVisible().
+.SH "const KeyMap * QWSServer::keyMap ()\fC [static]\fR"
+Returns the keyboard mapping table used to convert keyboard scancodes to Qt keycodes and Unicode values. It's used by the keyboard driver in \fCqkeyboard_qws.cpp\fR.
+.SH "QWSKeyboardHandler * QWSServer::keyboardHandler ()\fC [static]\fR"
+Returns the primary keyboard handler.
+.SH "QWSPropertyManager * QWSServer::manager ()"
+Returns the QWSPropertyManager, which is used for implementing X11-style window properties.
+.SH "QWSMouseHandler * QWSServer::mouseHandler ()\fC [static]\fR"
+Returns the primary mouse handler.
+.SH "void QWSServer::newChannel ( const QString & channel )\fC [signal]\fR"
+This signal is emitted when the QCopChannel \fIchannel\fR is created.
+.SH "void QWSServer::openKeyboard ()"
+Opens the keyboard device(s).
+.SH "void QWSServer::openMouse ()"
+Opens the mouse device(s).
+.SH "void QWSServer::refresh ()"
+Refreshes the entire display.
+.SH "void QWSServer::refresh ( QRegion & r )"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Refreshes the region \fIr\fR.
+.SH "void QWSServer::removedChannel ( const QString & channel )\fC [signal]\fR"
+This signal is emitted immediately after the QCopChannel \fIchannel\fR is destroyed. Note that a channel is not destroyed until all its listeners have unregistered.
+.SH "void QWSServer::screenSaverActivate ( bool activate )\fC [static]\fR"
+If \fIactivate\fR is TRUE the screensaver is activated immediately; if \fIactivate\fR is FALSE the screensaver is deactivated.
+.SH "bool QWSServer::screenSaverActive ()\fC [static]\fR"
+Returns TRUE if the screensaver is active (i.e. the screen is blanked); otherwise returns FALSE.
+.SH "void QWSServer::sendIMEvent ( IMState state, const QString & txt, int cpos, int selLen )"
+This function sends an input method event to the server. The current state is passed in \fIstate\fR and the current text in \fItxt\fR. The cursor's position in the text is given by \fIcpos\fR, and the selection length (which could be 0) is given in \fIselLen\fR.
+.SH "void QWSServer::sendKeyEvent ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )\fC [static]\fR"
+Send a key event. You can use this to send key events generated by" virtual keyboards". \fIunicode\fR is the Unicode value of the key to send, \fIkeycode\fR the Qt keycode (e.g. \fCKey_Left\fR), \fImodifiers\fR indicates whether, Shift/Alt/Ctrl keys are pressed, \fIisPress\fR is TRUE if this is a key down event and FALSE if it's a key up event, and \fIautoRepeat\fR is TRUE if this is an autorepeat event (i.e. the user has held the key down and this is the second or subsequent key event being sent).
+.SH "void QWSServer::setCursorVisible ( bool vis )\fC [static]\fR"
+If \fIvis\fR is TRUE, makes the cursor visible; if \fIvis\fR is FALSE, makes the cursor invisible.
+.PP
+See also isCursorVisible().
+.SH "void QWSServer::setDefaultKeyboard ( const char * k )\fC [static]\fR"
+Set the keyboard driver to \fIk\fR, e.g. if \fC$QWS_KEYBOARD\fR is not defined. The default is platform-dependent.
+.SH "void QWSServer::setDefaultMouse ( const char * m )\fC [static]\fR"
+Set the mouse driver \fIm\fR to use if \fC$QWS_MOUSE_PROTO\fR is not defined. The default is platform-dependent.
+.SH "void QWSServer::setDesktopBackground ( const QImage & img )\fC [static]\fR"
+Sets the image \fIimg\fR to be used as the background in the absence of obscuring windows.
+.SH "void QWSServer::setDesktopBackground ( const QColor & c )\fC [static]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Sets the color \fIc\fR to be used as the background in the absence of obscuring windows.
+.SH "void QWSServer::setKeyboardFilter ( KeyboardFilter * f )\fC [static]\fR"
+Adds a filter \fIf\fR to be invoked for all key events from physical keyboard drivers (events sent via processKeyEvent()).
+.PP
+The filter is not invoked for keys generated by virtual keyboard drivers (events sent via sendKeyEvent()).
+.PP
+If \fIf\fR is 0, the most-recently added filter is removed and deleted. The caller is responsible for matching each addition with a corresponding removal.
+.SH "void QWSServer::setKeyboardHandler ( QWSKeyboardHandler * kh )\fC [static]\fR"
+Sets the primary keyboard handler to \fIkh\fR.
+.SH "void QWSServer::setMaxWindowRect ( const QRect & r )\fC [static]\fR"
+Sets the area of the screen which Qt/Embedded applications will consider to be the maximum area to use for windows to \fIr\fR.
+.PP
+See also QWidget::showMaximized().
+.SH "void QWSServer::setScreenSaverInterval ( int ms )\fC [static]\fR"
+Sets the timeout for the screensaver to \fIms\fR milliseconds. A setting of zero turns off the screensaver.
+.SH "void QWSServer::setScreenSaverIntervals ( int * ms )\fC [static]\fR"
+Sets an array of timeouts for the screensaver to a list of \fIms\fR milliseconds. A setting of zero turns off the screensaver. The array must be 0-terminated.
+.SH "QWSWindow * QWSServer::windowAt ( const QPoint & pos )"
+Returns the window containing the point \fIpos\fR or 0 if there is no window under the point.
+.SH "void QWSServer::windowEvent ( QWSWindow * w, QWSServer::WindowEvent e )\fC [signal]\fR"
+This signal is emitted whenever something happens to a top-level
+window (e.g. it's created or destroyed). \fIw\fR is the window to
+which the event of type \fIe\fR has occurred.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwsserver.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwsserver.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qwswindow.3qt b/doc/man/man3/qwswindow.3qt
new file mode 100644
index 0000000..abc8972
--- /dev/null
+++ b/doc/man/man3/qwswindow.3qt
@@ -0,0 +1,140 @@
+'\" t
+.TH QWSWindow 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QWSWindow \- Server-specific functionality in Qt/Embedded
+.SH SYNOPSIS
+\fC#include <qwindowsystem_qws.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQWSWindow\fR ( int i, QWSClient * client )"
+.br
+.ti -1c
+.BI "\fB~QWSWindow\fR ()"
+.br
+.ti -1c
+.BI "int \fBwinId\fR () const"
+.br
+.ti -1c
+.BI "const QString & \fBname\fR () const"
+.br
+.ti -1c
+.BI "const QString & \fBcaption\fR () const"
+.br
+.ti -1c
+.BI "QWSClient * \fBclient\fR () const"
+.br
+.ti -1c
+.BI "QRegion \fBrequested\fR () const"
+.br
+.ti -1c
+.BI "QRegion \fBallocation\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisVisible\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisPartiallyObscured\fR () const"
+.br
+.ti -1c
+.BI "bool \fBisFullyObscured\fR () const"
+.br
+.ti -1c
+.BI "void \fBraise\fR ()"
+.br
+.ti -1c
+.BI "void \fBlower\fR ()"
+.br
+.ti -1c
+.BI "void \fBshow\fR ()"
+.br
+.ti -1c
+.BI "void \fBhide\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetActiveWindow\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QWSWindow class provides server-specific functionality in Qt/Embedded.
+.PP
+When you run a Qt/Embedded application, it either runs as a server or connects to an existing server. If it runs as a server, some additional functionality is provided by the QWSServer class.
+.PP
+This class maintains information about each window and allows operations to be performed on the windows.
+.PP
+You can get the window's name(), caption() and winId(), along with the client() that owns the window.
+.PP
+The region the window wants to draw on is returned by requested(); the region that the window is allowed to draw on is returned by allocation().
+.PP
+The visibility of the window can be determined using isVisible(), isPartiallyObscured() and isFullyObscured(). Visibility can be changed using raise(), lower(), show(), hide() and setActiveWindow().
+.PP
+See also Qt/Embedded.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QWSWindow::QWSWindow ( int i, QWSClient * client )"
+Constructs a new top-level window, associated with the client \fIclient\fR and giving it the id \fIi\fR.
+.SH "QWSWindow::~QWSWindow ()"
+Destructor.
+.SH "QRegion QWSWindow::allocation () const"
+Returns the region that the window is allowed to draw onto, including any window decorations but excluding regions covered by other windows.
+.PP
+See also requested().
+.SH "const QString & QWSWindow::caption () const"
+Returns the window's caption.
+.SH "QWSClient * QWSWindow::client () const"
+Returns the QWSClient that owns this window.
+.SH "void QWSWindow::hide ()"
+Hides the window.
+.SH "bool QWSWindow::isFullyObscured () const"
+Returns TRUE if the window is completely obsured by another window or by the bounds of the screen; otherwise returns FALSE.
+.SH "bool QWSWindow::isPartiallyObscured () const"
+Returns TRUE if the window is partially obsured by another window or by the bounds of the screen; otherwise returns FALSE.
+.SH "bool QWSWindow::isVisible () const"
+Returns TRUE if the window is visible; otherwise returns FALSE.
+.SH "void QWSWindow::lower ()"
+Lowers the window below other windows.
+.SH "const QString & QWSWindow::name () const"
+Returns the window's name.
+.SH "void QWSWindow::raise ()"
+Raises the window above all other windows except "Stay on top" windows.
+.SH "QRegion QWSWindow::requested () const"
+Returns the region that the window has requested to draw onto, including any window decorations.
+.PP
+See also allocation().
+.SH "void QWSWindow::setActiveWindow ()"
+Make this the active window (i.e. sets the keyboard focus to this window).
+.SH "void QWSWindow::show ()"
+Shows the window.
+.SH "int QWSWindow::winId () const"
+Returns the window's Id.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qwswindow.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qwswindow.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlattributes.3qt b/doc/man/man3/qxmlattributes.3qt
new file mode 100644
index 0000000..4fdc7e8
--- /dev/null
+++ b/doc/man/man3/qxmlattributes.3qt
@@ -0,0 +1,189 @@
+'\" t
+.TH QXmlAttributes 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlAttributes \- XML attributes
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlAttributes\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QXmlAttributes\fR ()"
+.br
+.ti -1c
+.BI "int \fBindex\fR ( const QString & qName ) const"
+.br
+.ti -1c
+.BI "int \fBindex\fR ( const QString & uri, const QString & localPart ) const"
+.br
+.ti -1c
+.BI "int \fBlength\fR () const"
+.br
+.ti -1c
+.BI "int \fBcount\fR () const"
+.br
+.ti -1c
+.BI "QString \fBlocalName\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBqName\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBuri\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBtype\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBtype\fR ( const QString & qName ) const"
+.br
+.ti -1c
+.BI "QString \fBtype\fR ( const QString & uri, const QString & localName ) const"
+.br
+.ti -1c
+.BI "QString \fBvalue\fR ( int index ) const"
+.br
+.ti -1c
+.BI "QString \fBvalue\fR ( const QString & qName ) const"
+.br
+.ti -1c
+.BI "QString \fBvalue\fR ( const QString & uri, const QString & localName ) const"
+.br
+.ti -1c
+.BI "void \fBclear\fR ()"
+.br
+.ti -1c
+.BI "void \fBappend\fR ( const QString & qName, const QString & uri, const QString & localPart, const QString & value )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlAttributes class provides XML attributes.
+.PP
+If attributes are reported by QXmlContentHandler::startElement() this class is used to pass the attribute values.
+.PP
+Use index() to locate the position of an attribute in the list, count() to retrieve the number of attributes, and clear() to remove the attributes. New attributes can be added with append(). Use type() to get an attribute's type and value() to get its value. The attribute's name is available from localName() or qName(), and its namespace URI from uri().
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlAttributes::QXmlAttributes ()"
+Constructs an empty attribute list.
+.SH "QXmlAttributes::~QXmlAttributes ()\fC [virtual]\fR"
+Destroys the attributes object.
+.SH "void QXmlAttributes::append ( const QString & qName, const QString & uri, const QString & localPart, const QString & value )"
+Appends a new attribute entry to the list of attributes. The qualified name of the attribute is \fIqName\fR, the namespace URI is \fIuri\fR and the local name is \fIlocalPart\fR. The value of the attribute is \fIvalue\fR.
+.PP
+See also qName(), uri(), localName(), and value().
+.SH "void QXmlAttributes::clear ()"
+Clears the list of attributes.
+.PP
+See also append().
+.SH "int QXmlAttributes::count () const"
+Returns the number of attributes in the list. This function is equivalent to length().
+.SH "int QXmlAttributes::index ( const QString & qName ) const"
+Looks up the index of an attribute by the qualified name \fIqName\fR.
+.PP
+Returns the index of the attribute or -1 if it wasn't found.
+.PP
+See also the namespace description.
+.SH "int QXmlAttributes::index ( const QString & uri, const QString & localPart ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks up the index of an attribute by a namespace name.
+.PP
+\fIuri\fR specifies the namespace URI, or an empty string if the name has no namespace URI. \fIlocalPart\fR specifies the attribute's local name.
+.PP
+Returns the index of the attribute, or -1 if it wasn't found.
+.PP
+See also the namespace description.
+.SH "int QXmlAttributes::length () const"
+Returns the number of attributes in the list.
+.PP
+See also count().
+.PP
+Example: xml/tagreader-with-features/structureparser.cpp.
+.SH "QString QXmlAttributes::localName ( int index ) const"
+Looks up an attribute's local name for the attribute at position \fIindex\fR. If no namespace processing is done, the local name is QString::null.
+.PP
+See also the namespace description.
+.SH "QString QXmlAttributes::qName ( int index ) const"
+Looks up an attribute's XML 1.0 qualified name for the attribute at position \fIindex\fR.
+.PP
+See also the namespace description.
+.PP
+Example: xml/tagreader-with-features/structureparser.cpp.
+.SH "QString QXmlAttributes::type ( int index ) const"
+Looks up an attribute's type for the attribute at position \fIindex\fR.
+.PP
+Currently only "CDATA" is returned.
+.SH "QString QXmlAttributes::type ( const QString & qName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks up an attribute's type for the qualified name \fIqName\fR.
+.PP
+Currently only "CDATA" is returned.
+.SH "QString QXmlAttributes::type ( const QString & uri, const QString & localName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks up an attribute's type by namespace name.
+.PP
+\fIuri\fR specifies the namespace URI and \fIlocalName\fR specifies the local name. If the name has no namespace URI, use an empty string for \fIuri\fR.
+.PP
+Currently only "CDATA" is returned.
+.SH "QString QXmlAttributes::uri ( int index ) const"
+Looks up an attribute's namespace URI for the attribute at position \fIindex\fR. If no namespace processing is done or if the attribute has no namespace, the namespace URI is QString::null.
+.PP
+See also the namespace description.
+.PP
+Example: xml/tagreader-with-features/structureparser.cpp.
+.SH "QString QXmlAttributes::value ( int index ) const"
+Looks up an attribute's value for the attribute at position \fIindex\fR.
+.SH "QString QXmlAttributes::value ( const QString & qName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks up an attribute's value for the qualified name \fIqName\fR.
+.PP
+See also the namespace description.
+.SH "QString QXmlAttributes::value ( const QString & uri, const QString & localName ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Looks up an attribute's value by namespace name.
+.PP
+\fIuri\fR specifies the namespace URI, or an empty string if the name has no namespace URI. \fIlocalName\fR specifies the attribute's local name.
+.PP
+See also the namespace description.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlattributes.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlattributes.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlcontenthandler.3qt b/doc/man/man3/qxmlcontenthandler.3qt
new file mode 100644
index 0000000..3b25db5
--- /dev/null
+++ b/doc/man/man3/qxmlcontenthandler.3qt
@@ -0,0 +1,184 @@
+'\" t
+.TH QXmlContentHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlContentHandler \- Interface to report the logical content of XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual void \fBsetDocumentLocator\fR ( QXmlLocator * locator ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBstartDocument\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendDocument\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBstartPrefixMapping\fR ( const QString & prefix, const QString & uri ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendPrefixMapping\fR ( const QString & prefix ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBstartElement\fR ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendElement\fR ( const QString & namespaceURI, const QString & localName, const QString & qName ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBcharacters\fR ( const QString & ch ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBignorableWhitespace\fR ( const QString & ch ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBprocessingInstruction\fR ( const QString & target, const QString & data ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBskippedEntity\fR ( const QString & name ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlContentHandler class provides an interface to report the logical content of XML data.
+.PP
+If the application needs to be informed of basic parsing events, it can implement this interface and activate it using QXmlReader::setContentHandler(). The reader can then report basic document-related events like the start and end of elements and character data through this interface.
+.PP
+The order of events in this interface is very important, and mirrors the order of information in the document itself. For example, all of an element's content (character data, processing instructions, and sub-elements) appears, in order, between the startElement() event and the corresponding endElement() event.
+.PP
+The class QXmlDefaultHandler provides a default implementation for this interface; subclassing from the QXmlDefaultHandler class is very convenient if you only want to be informed of some parsing events.
+.PP
+The startDocument() function is called at the start of the document, and endDocument() is called at the end. Before parsing begins setDocumentLocator() is called. For each element startElement() is called, with endElement() being called at the end of each element. The characters() function is called with chunks of character data; ignorableWhitespace() is called with chunks of whitespace and processingInstruction() is called with processing instructions. If an entity is skipped skippedEntity() is called. At the beginning of prefix-URI scopes startPrefixMapping() is called.
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlDeclHandler, QXmlEntityResolver, QXmlErrorHandler, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QXmlContentHandler::characters ( const QString & ch )\fC [pure virtual]\fR"
+The reader calls this function when it has parsed a chunk of character data (either normal character data or character data inside a CDATA section; if you need to distinguish between those two types you must use QXmlLexicalHandler::startCDATA() and QXmlLexicalHandler::endCDATA()). The character data is reported in \fIch\fR.
+.PP
+Some readers report whitespace in element content using the ignorableWhitespace() function rather than using this one.
+.PP
+A reader may report the character data of an element in more than one chunk; e.g. a reader might want to report "a<b" in three characters() events ("a ", "<" and " b").
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlContentHandler::endDocument ()\fC [pure virtual]\fR"
+The reader calls this function after it has finished parsing. It is called just once, and is the last handler function called. It is called after the reader has read all input or has abandoned parsing because of a fatal error.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also startDocument().
+.SH "bool QXmlContentHandler::endElement ( const QString & namespaceURI, const QString & localName, const QString & qName )\fC [pure virtual]\fR"
+The reader calls this function when it has parsed an end element tag with the qualified name \fIqName\fR, the local name \fIlocalName\fR and the namespace URI \fInamespaceURI\fR.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also the namespace description.
+.PP
+See also startElement().
+.PP
+Example: xml/tagreader/structureparser.cpp.
+.SH "bool QXmlContentHandler::endPrefixMapping ( const QString & prefix )\fC [pure virtual]\fR"
+The reader calls this function to signal the end of a prefix mapping for the prefix \fIprefix\fR.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also the namespace description.
+.PP
+See also startPrefixMapping().
+.SH "QString QXmlContentHandler::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string, e.g. if any of the handler functions returns FALSE.
+.SH "bool QXmlContentHandler::ignorableWhitespace ( const QString & ch )\fC [pure virtual]\fR"
+Some readers may use this function to report each chunk of whitespace in element content. The whitespace is reported in \fIch\fR.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlContentHandler::processingInstruction ( const QString & target, const QString & data )\fC [pure virtual]\fR"
+The reader calls this function when it has parsed a processing instruction.
+.PP
+\fItarget\fR is the target name of the processing instruction and \fIdata\fR is the data in the processing instruction.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "void QXmlContentHandler::setDocumentLocator ( QXmlLocator * locator )\fC [pure virtual]\fR"
+The reader calls this function before it starts parsing the document. The argument \fIlocator\fR is a pointer to a QXmlLocator which allows the application to get the parsing position within the document.
+.PP
+Do not destroy the \fIlocator\fR; it is destroyed when the reader is destroyed. (Do not use the \fIlocator\fR after the reader is destroyed).
+.SH "bool QXmlContentHandler::skippedEntity ( const QString & name )\fC [pure virtual]\fR"
+Some readers may skip entities if they have not seen the declarations (e.g. because they are in an external DTD). If they do so they report that they skipped the entity called \fIname\fR by calling this function.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlContentHandler::startDocument ()\fC [pure virtual]\fR"
+The reader calls this function when it starts parsing the document. The reader calls this function just once, after the call to setDocumentLocator(), and before any other functions in this class or in the QXmlDTDHandler class are called.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also endDocument().
+.PP
+Example: xml/tagreader/structureparser.cpp.
+.SH "bool QXmlContentHandler::startElement ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts )\fC [pure virtual]\fR"
+The reader calls this function when it has parsed a start element tag.
+.PP
+There is a corresponding endElement() call when the corresponding end element tag is read. The startElement() and endElement() calls are always nested correctly. Empty element tags (e.g. \fC<x/>\fR) cause a startElement() call to be immediately followed by an endElement() call.
+.PP
+The attribute list provided only contains attributes with explicit values. The attribute list contains attributes used for namespace declaration (i.e. attributes starting with xmlns) only if the namespace-prefix property of the reader is TRUE.
+.PP
+The argument \fInamespaceURI\fR is the namespace URI, or QString::null if the element has no namespace URI or if no namespace processing is done. \fIlocalName\fR is the local name (without prefix), or QString::null if no namespace processing is done, \fIqName\fR is the qualified name (with prefix) and \fIatts\fR are the attributes attached to the element. If there are no attributes, \fIatts\fR is an empty attributes object.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also the namespace description.
+.PP
+See also endElement().
+.PP
+Example: xml/tagreader/structureparser.cpp.
+.SH "bool QXmlContentHandler::startPrefixMapping ( const QString & prefix, const QString & uri )\fC [pure virtual]\fR"
+The reader calls this function to signal the begin of a prefix-URI namespace mapping scope. This information is not necessary for normal namespace processing since the reader automatically replaces prefixes for element and attribute names.
+.PP
+Note that startPrefixMapping() and endPrefixMapping() calls are not guaranteed to be properly nested relative to each other: all startPrefixMapping() events occur before the corresponding startElement() event, and all endPrefixMapping() events occur after the corresponding endElement() event, but their order is not otherwise guaranteed.
+.PP
+The argument \fIprefix\fR is the namespace prefix being declared and the argument \fIuri\fR is the namespace URI the prefix is mapped to.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also the namespace description.
+.PP
+See also endPrefixMapping().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlcontenthandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlcontenthandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmldeclhandler.3qt b/doc/man/man3/qxmldeclhandler.3qt
new file mode 100644
index 0000000..01d0ae1
--- /dev/null
+++ b/doc/man/man3/qxmldeclhandler.3qt
@@ -0,0 +1,92 @@
+'\" t
+.TH QXmlDeclHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlDeclHandler \- Interface to report declaration content of XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBattributeDecl\fR ( const QString & eName, const QString & aName, const QString & type, const QString & valueDefault, const QString & value ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBinternalEntityDecl\fR ( const QString & name, const QString & value ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBexternalEntityDecl\fR ( const QString & name, const QString & publicId, const QString & systemId ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlDeclHandler class provides an interface to report declaration content of XML data.
+.PP
+You can set the declaration handler with QXmlReader::setDeclHandler().
+.PP
+This interface is based on the SAX2 extension DeclHandler.
+.PP
+The interface provides attributeDecl(), internalEntityDecl() and externalEntityDecl() functions.
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QXmlDeclHandler::attributeDecl ( const QString & eName, const QString & aName, const QString & type, const QString & valueDefault, const QString & value )\fC [pure virtual]\fR"
+The reader calls this function to report an attribute type declaration. Only the effective (first) declaration for an attribute is reported.
+.PP
+The reader passes the name of the associated element in \fIeName\fR and the name of the attribute in \fIaName\fR. It passes a string that represents the attribute type in \fItype\fR and a string that represents the attribute default in \fIvalueDefault\fR. This string is one of "#IMPLIED", "#REQUIRED", "#FIXED" or QString::null (if none of the others applies). The reader passes the attribute's default value in \fIvalue\fR. If no default value is specified in the XML file, \fIvalue\fR is QString::null.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "QString QXmlDeclHandler::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string if any of the handler functions returns FALSE.
+.SH "bool QXmlDeclHandler::externalEntityDecl ( const QString & name, const QString & publicId, const QString & systemId )\fC [pure virtual]\fR"
+The reader calls this function to report a parsed external entity declaration. Only the effective (first) declaration for each entity is reported.
+.PP
+The reader passes the name of the entity in \fIname\fR, the public identifier in \fIpublicId\fR and the system identifier in \fIsystemId\fR. If there is no public identifier specified, it passes QString::null in \fIpublicId\fR.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlDeclHandler::internalEntityDecl ( const QString & name, const QString & value )\fC [pure virtual]\fR"
+The reader calls this function to report an internal entity declaration. Only the effective (first) declaration is reported.
+.PP
+The reader passes the name of the entity in \fIname\fR and the value of the entity in \fIvalue\fR.
+.PP
+If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function errorString() to
+get the error message.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmldeclhandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmldeclhandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmldefaulthandler.3qt b/doc/man/man3/qxmldefaulthandler.3qt
new file mode 100644
index 0000000..4df5515
--- /dev/null
+++ b/doc/man/man3/qxmldefaulthandler.3qt
@@ -0,0 +1,64 @@
+'\" t
+.TH QXmlDefaultHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlDefaultHandler \- Default implementation of all the XML handler classes
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherits QXmlContentHandler, QXmlErrorHandler, QXmlDTDHandler, QXmlEntityResolver, QXmlLexicalHandler, and QXmlDeclHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlDefaultHandler\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QXmlDefaultHandler\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlDefaultHandler class provides a default implementation of all the XML handler classes.
+.PP
+Very often we are only interested in parts of the things that the reader reports. This class implements a default behaviour for the handler classes (i.e. most of the time do nothing). Usually this is the class you subclass for implementing your own customized handler.
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlDefaultHandler::QXmlDefaultHandler ()"
+Constructor.
+.SH "QXmlDefaultHandler::~QXmlDefaultHandler ()\fC [virtual]\fR"
+Destructor.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmldefaulthandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmldefaulthandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmldtdhandler.3qt b/doc/man/man3/qxmldtdhandler.3qt
new file mode 100644
index 0000000..4f0a0e2
--- /dev/null
+++ b/doc/man/man3/qxmldtdhandler.3qt
@@ -0,0 +1,81 @@
+'\" t
+.TH QXmlDTDHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlDTDHandler \- Interface to report DTD content of XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBnotationDecl\fR ( const QString & name, const QString & publicId, const QString & systemId ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBunparsedEntityDecl\fR ( const QString & name, const QString & publicId, const QString & systemId, const QString & notationName ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlDTDHandler class provides an interface to report DTD content of XML data.
+.PP
+If an application needs information about notations and unparsed entities, it can implement this interface and register an instance with QXmlReader::setDTDHandler().
+.PP
+Note that this interface includes only those DTD events that the XML recommendation requires processors to report, i.e. notation and unparsed entity declarations using notationDecl() and unparsedEntityDecl() respectively.
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QString QXmlDTDHandler::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string if any of the handler functions returns FALSE.
+.SH "bool QXmlDTDHandler::notationDecl ( const QString & name, const QString & publicId, const QString & systemId )\fC [pure virtual]\fR"
+The reader calls this function when it has parsed a notation declaration.
+.PP
+The argument \fIname\fR is the notation name, \fIpublicId\fR is the notation's public identifier and \fIsystemId\fR is the notation's system identifier.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlDTDHandler::unparsedEntityDecl ( const QString & name, const QString & publicId, const QString & systemId, const QString & notationName )\fC [pure virtual]\fR"
+The reader calls this function when it finds an unparsed entity declaration.
+.PP
+The argument \fIname\fR is the unparsed entity's name, \fIpublicId\fR is the entity's public identifier, \fIsystemId\fR is the entity's system identifier and \fInotationName\fR is the name of the associated notation.
+.PP
+If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function errorString() to
+get the error message.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmldtdhandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmldtdhandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlentityresolver.3qt b/doc/man/man3/qxmlentityresolver.3qt
new file mode 100644
index 0000000..b60e92d
--- /dev/null
+++ b/doc/man/man3/qxmlentityresolver.3qt
@@ -0,0 +1,72 @@
+'\" t
+.TH QXmlEntityResolver 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlEntityResolver \- Interface to resolve external entities contained in XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBresolveEntity\fR ( const QString & publicId, const QString & systemId, QXmlInputSource *& ret ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlEntityResolver class provides an interface to resolve external entities contained in XML data.
+.PP
+If an application needs to implement customized handling for external entities, it must implement this interface, i.e. resolveEntity(), and register it with QXmlReader::setEntityResolver().
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlErrorHandler, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QString QXmlEntityResolver::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string if any of the handler functions returns FALSE.
+.SH "bool QXmlEntityResolver::resolveEntity ( const QString & publicId, const QString & systemId, QXmlInputSource *& ret )\fC [pure virtual]\fR"
+The reader calls this function before it opens any external entity, except the top-level document entity. The application may request the reader to resolve the entity itself (\fIret\fR is 0) or to use an entirely different input source (\fIret\fR points to the input source).
+.PP
+The reader deletes the input source \fIret\fR when it no longer needs it, so you should allocate it on the heap with \fCnew\fR.
+.PP
+The argument \fIpublicId\fR is the public identifier of the external entity, \fIsystemId\fR is the system identifier of the external entity and \fIret\fR is the return value of this function. If \fIret\fR is 0 the reader should resolve the entity itself, if it is non-zero it must point to an input source which the reader uses instead.
+.PP
+If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function errorString() to
+get the error message.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlentityresolver.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlentityresolver.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlerrorhandler.3qt b/doc/man/man3/qxmlerrorhandler.3qt
new file mode 100644
index 0000000..637d0cc
--- /dev/null
+++ b/doc/man/man3/qxmlerrorhandler.3qt
@@ -0,0 +1,88 @@
+'\" t
+.TH QXmlErrorHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlErrorHandler \- Interface to report errors in XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBwarning\fR ( const QXmlParseException & exception ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBerror\fR ( const QXmlParseException & exception ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBfatalError\fR ( const QXmlParseException & exception ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlErrorHandler class provides an interface to report errors in XML data.
+.PP
+If you want your application to report errors to the user or to perform customized error handling, you should subclass this class.
+.PP
+You can set the error handler with QXmlReader::setErrorHandler().
+.PP
+Errors can be reported using warning(), error() and fatalError(), with the error text being reported with errorString().
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlLexicalHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QXmlErrorHandler::error ( const QXmlParseException & exception )\fC [pure virtual]\fR"
+A reader might use this function to report a recoverable error. A recoverable error corresponds to the definiton of "error" in section 1.2 of the XML 1.0 specification. Details of the error are stored in \fIexception\fR.
+.PP
+The reader must continue to provide normal parsing events after invoking this function.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "QString QXmlErrorHandler::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string if any of the handler functions returns FALSE.
+.SH "bool QXmlErrorHandler::fatalError ( const QXmlParseException & exception )\fC [pure virtual]\fR"
+A reader must use this function to report a non-recoverable error. Details of the error are stored in \fIexception\fR.
+.PP
+If this function returns TRUE the reader might try to go on parsing and reporting further errors; but no regular parsing events are reported.
+.SH "bool QXmlErrorHandler::warning ( const QXmlParseException & exception )\fC [pure virtual]\fR"
+A reader might use this function to report a warning. Warnings are conditions that are not errors or fatal errors as defined by the XML 1.0 specification. Details of the warning are stored in \fIexception\fR.
+.PP
+If this function returns FALSE the reader stops parsing and
+reports an error. The reader uses the function errorString() to
+get the error message.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlerrorhandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlerrorhandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlinputsource.3qt b/doc/man/man3/qxmlinputsource.3qt
new file mode 100644
index 0000000..346919f
--- /dev/null
+++ b/doc/man/man3/qxmlinputsource.3qt
@@ -0,0 +1,156 @@
+'\" t
+.TH QXmlInputSource 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlInputSource \- The input data for the QXmlReader subclasses
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlInputSource\fR ()"
+.br
+.ti -1c
+.BI "\fBQXmlInputSource\fR ( QIODevice * dev )"
+.br
+.ti -1c
+.BI "QXmlInputSource ( QFile & file ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "QXmlInputSource ( QTextStream & stream ) \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual \fB~QXmlInputSource\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QString & dat )"
+.br
+.ti -1c
+.BI "virtual void \fBsetData\fR ( const QByteArray & dat )"
+.br
+.ti -1c
+.BI "virtual void \fBfetchData\fR ()"
+.br
+.ti -1c
+.BI "virtual QString \fBdata\fR ()"
+.br
+.ti -1c
+.BI "virtual QChar \fBnext\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBreset\fR ()"
+.br
+.in -1c
+.SS "Protected Members"
+.in +1c
+.ti -1c
+.BI "virtual QString \fBfromRawData\fR ( const QByteArray & data, bool beginning = FALSE )"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlInputSource class provides the input data for the QXmlReader subclasses.
+.PP
+All subclasses of QXmlReader read the input XML document from this class.
+.PP
+This class recognizes the encoding of the data by reading the encoding declaration in the XML file if it finds one, and reading the data using the corresponding encoding. If it does not find an encoding declaration, then it assumes that the data is either in UTF-8 or UTF-16, depending on whether it can find a byte-order mark.
+.PP
+There are two ways to populate the input source with data: you can construct it with a QIODevice* so that the input source reads the data from that device. Or you can set the data explicitly with one of the setData() functions.
+.PP
+Usually you either construct a QXmlInputSource that works on a QIODevice* or you construct an empty QXmlInputSource and set the data with setData(). There are only rare occasions where you would want to mix both methods.
+.PP
+The QXmlReader subclasses use the next() function to read the input character by character. If you want to start from the beginning again, use reset().
+.PP
+The functions data() and fetchData() are useful if you want to do something with the data other than parsing, e.g. displaying the raw XML file. The benefit of using the QXmlInputClass in such cases is that it tries to use the correct encoding.
+.PP
+See also QXmlReader, QXmlSimpleReader, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlInputSource::QXmlInputSource ()"
+Constructs an input source which contains no data.
+.PP
+See also setData().
+.SH "QXmlInputSource::QXmlInputSource ( QIODevice * dev )"
+Constructs an input source and gets the data from device \fIdev\fR. If \fIdev\fR is not open, it is opened in read-only mode. If \fIdev\fR is 0 or it is not possible to read from the device, the input source will contain no data.
+.PP
+See also setData(), fetchData(), and QIODevice.
+.SH "QXmlInputSource::QXmlInputSource ( QFile & file )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs an input source and gets the data from the file \fIfile\fR. If the file cannot be read the input source is empty.
+.SH "QXmlInputSource::QXmlInputSource ( QTextStream & stream )"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.PP
+Constructs an input source and gets the data from the text stream \fIstream\fR.
+.SH "QXmlInputSource::~QXmlInputSource ()\fC [virtual]\fR"
+Destructor.
+.SH "QString QXmlInputSource::data ()\fC [virtual]\fR"
+Returns the data the input source contains or QString::null if the input source does not contain any data.
+.PP
+See also setData(), QXmlInputSource(), and fetchData().
+.SH "void QXmlInputSource::fetchData ()\fC [virtual]\fR"
+This function reads more data from the device that was set during construction. If the input source already contained data, this function deletes that data first.
+.PP
+This object contains no data after a call to this function if the object was constructed without a device to read data from or if this function was not able to get more data from the device.
+.PP
+There are two occasions where a fetch is done implicitly by another function call: during construction (so that the object starts out with some initial data where available), and during a call to next() (if the data had run out).
+.PP
+You don't normally need to use this function if you use next().
+.PP
+See also data(), next(), and QXmlInputSource().
+.SH "QString QXmlInputSource::fromRawData ( const QByteArray & data, bool beginning = FALSE )\fC [virtual protected]\fR"
+This function reads the XML file from \fIdata\fR and tries to recognize the encoding. It converts the raw data \fIdata\fR into a QString and returns it. It tries its best to get the correct encoding for the XML file.
+.PP
+If \fIbeginning\fR is TRUE, this function assumes that the data starts at the beginning of a new XML document and looks for an encoding declaration. If \fIbeginning\fR is FALSE, it converts the raw data using the encoding determined from prior calls.
+.SH "QChar QXmlInputSource::next ()\fC [virtual]\fR"
+Returns the next character of the input source. If this function reaches the end of available data, it returns QXmlInputSource::EndOfData. If you call next() after that, it tries to fetch more data by calling fetchData(). If the fetchData() call results in new data, this function returns the first character of that data; otherwise it returns QXmlInputSource::EndOfDocument.
+.PP
+See also reset(), fetchData(), QXmlSimpleReader::parse(), and QXmlSimpleReader::parseContinue().
+.SH "void QXmlInputSource::reset ()\fC [virtual]\fR"
+This function sets the position used by next() to the beginning of the data returned by data(). This is useful if you want to use the input source for more than one parse.
+.PP
+See also next().
+.PP
+Example: xml/tagreader-with-features/tagreader.cpp.
+.SH "void QXmlInputSource::setData ( const QString & dat )\fC [virtual]\fR"
+Sets the data of the input source to \fIdat\fR.
+.PP
+If the input source already contains data, this function deletes that data first.
+.PP
+See also data().
+.SH "void QXmlInputSource::setData ( const QByteArray & dat )\fC [virtual]\fR"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+The data \fIdat\fR is passed through the correct text-codec, before
+it is set.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlinputsource.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlinputsource.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmllexicalhandler.3qt b/doc/man/man3/qxmllexicalhandler.3qt
new file mode 100644
index 0000000..48d7646
--- /dev/null
+++ b/doc/man/man3/qxmllexicalhandler.3qt
@@ -0,0 +1,134 @@
+'\" t
+.TH QXmlLexicalHandler 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlLexicalHandler \- Interface to report the lexical content of XML data
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlDefaultHandler.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBstartDTD\fR ( const QString & name, const QString & publicId, const QString & systemId ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendDTD\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBstartEntity\fR ( const QString & name ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendEntity\fR ( const QString & name ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBstartCDATA\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBendCDATA\fR () = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBcomment\fR ( const QString & ch ) = 0"
+.br
+.ti -1c
+.BI "virtual QString \fBerrorString\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlLexicalHandler class provides an interface to report the lexical content of XML data.
+.PP
+The events in the lexical handler apply to the entire document, not just to the document element, and all lexical handler events appear between the content handler's startDocument and endDocument events.
+.PP
+You can set the lexical handler with QXmlReader::setLexicalHandler().
+.PP
+This interface's design is based on the the SAX2 extension LexicalHandler.
+.PP
+The interface provides the startDTD(), endDTD(), startEntity(), endEntity(), startCDATA(), endCDATA() and comment() functions.
+.PP
+See also the Introduction to SAX2.
+.PP
+See also QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "bool QXmlLexicalHandler::comment ( const QString & ch )\fC [pure virtual]\fR"
+The reader calls this function to report an XML comment anywhere in the document. It reports the text of the comment in \fIch\fR.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.SH "bool QXmlLexicalHandler::endCDATA ()\fC [pure virtual]\fR"
+The reader calls this function to report the end of a CDATA section.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also startCDATA() and QXmlContentHandler::characters().
+.SH "bool QXmlLexicalHandler::endDTD ()\fC [pure virtual]\fR"
+The reader calls this function to report the end of a DTD declaration, if any.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also startDTD().
+.SH "bool QXmlLexicalHandler::endEntity ( const QString & name )\fC [pure virtual]\fR"
+The reader calls this function to report the end of an entity called \fIname\fR.
+.PP
+For every startEntity() call, there is a corresponding endEntity() call. The calls to startEntity() and endEntity() are properly nested.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also startEntity(), QXmlContentHandler::skippedEntity(), and QXmlSimpleReader::setFeature().
+.SH "QString QXmlLexicalHandler::errorString ()\fC [pure virtual]\fR"
+The reader calls this function to get an error string if any of the handler functions returns FALSE.
+.SH "bool QXmlLexicalHandler::startCDATA ()\fC [pure virtual]\fR"
+The reader calls this function to report the start of a CDATA section. The content of the CDATA section is reported through the QXmlContentHandler::characters() function. This function is intended only to report the boundary.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also endCDATA().
+.SH "bool QXmlLexicalHandler::startDTD ( const QString & name, const QString & publicId, const QString & systemId )\fC [pure virtual]\fR"
+The reader calls this function to report the start of a DTD declaration, if any. It reports the name of the document type in \fIname\fR, the public identifier in \fIpublicId\fR and the system identifier in \fIsystemId\fR.
+.PP
+If the public identifier is missing, \fIpublicId\fR is set to QString::null. If the system identifier is missing, \fIsystemId\fR is set to QString::null. Note that it is not valid XML to have a public identifier but no system identifier; in such cases a parse error will occur.
+.PP
+All declarations reported through QXmlDTDHandler or QXmlDeclHandler appear between the startDTD() and endDTD() calls.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also endDTD().
+.SH "bool QXmlLexicalHandler::startEntity ( const QString & name )\fC [pure virtual]\fR"
+The reader calls this function to report the start of an entity called \fIname\fR.
+.PP
+Note that if the entity is unknown, the reader reports it through QXmlContentHandler::skippedEntity() and not through this function.
+.PP
+If this function returns FALSE the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
+.PP
+See also endEntity() and QXmlSimpleReader::setFeature().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmllexicalhandler.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmllexicalhandler.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmllocator.3qt b/doc/man/man3/qxmllocator.3qt
new file mode 100644
index 0000000..1d18c43
--- /dev/null
+++ b/doc/man/man3/qxmllocator.3qt
@@ -0,0 +1,71 @@
+'\" t
+.TH QXmlLocator 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlLocator \- The XML handler classes with information about the parsing position within a file
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlLocator\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QXmlLocator\fR ()"
+.br
+.ti -1c
+.BI "virtual int \fBcolumnNumber\fR () = 0"
+.br
+.ti -1c
+.BI "virtual int \fBlineNumber\fR () = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlLocator class provides the XML handler classes with information about the parsing position within a file.
+.PP
+The reader reports a QXmlLocator to the content handler before it starts to parse the document. This is done with the QXmlContentHandler::setDocumentLocator() function. The handler classes can now use this locator to get the position (lineNumber() and columnNumber()) that the reader has reached.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlLocator::QXmlLocator ()"
+Constructor.
+.SH "QXmlLocator::~QXmlLocator ()\fC [virtual]\fR"
+Destructor.
+.SH "int QXmlLocator::columnNumber ()\fC [pure virtual]\fR"
+Returns the column number (starting at 1) or -1 if there is no column number available.
+.SH "int QXmlLocator::lineNumber ()\fC [pure virtual]\fR"
+Returns the line number (starting at 1) or -1 if there is no line
+number available.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmllocator.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmllocator.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlnamespacesupport.3qt b/doc/man/man3/qxmlnamespacesupport.3qt
new file mode 100644
index 0000000..7b7b4a2
--- /dev/null
+++ b/doc/man/man3/qxmlnamespacesupport.3qt
@@ -0,0 +1,180 @@
+'\" t
+.TH QXmlNamespaceSupport 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlNamespaceSupport \- Helper class for XML readers which want to include namespace support
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlNamespaceSupport\fR ()"
+.br
+.ti -1c
+.BI "\fB~QXmlNamespaceSupport\fR ()"
+.br
+.ti -1c
+.BI "void \fBsetPrefix\fR ( const QString & pre, const QString & uri )"
+.br
+.ti -1c
+.BI "QString \fBprefix\fR ( const QString & uri ) const"
+.br
+.ti -1c
+.BI "QString \fBuri\fR ( const QString & prefix ) const"
+.br
+.ti -1c
+.BI "void \fBsplitName\fR ( const QString & qname, QString & prefix, QString & localname ) const"
+.br
+.ti -1c
+.BI "void \fBprocessName\fR ( const QString & qname, bool isAttribute, QString & nsuri, QString & localname ) const"
+.br
+.ti -1c
+.BI "QStringList \fBprefixes\fR () const"
+.br
+.ti -1c
+.BI "QStringList \fBprefixes\fR ( const QString & uri ) const"
+.br
+.ti -1c
+.BI "void \fBpushContext\fR ()"
+.br
+.ti -1c
+.BI "void \fBpopContext\fR ()"
+.br
+.ti -1c
+.BI "void \fBreset\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlNamespaceSupport class is a helper class for XML readers which want to include namespace support.
+.PP
+You can set the prefix for the current namespace with setPrefix(), and get the list of current prefixes (or those for a given URI) with prefixes(). The namespace URI is available from uri(). Use pushContext() to start a new namespace context, and popContext() to return to the previous namespace context. Use splitName() or processName() to split a name into its prefix and local name.
+.PP
+See also the namespace description.
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlNamespaceSupport::QXmlNamespaceSupport ()"
+Constructs a QXmlNamespaceSupport.
+.SH "QXmlNamespaceSupport::~QXmlNamespaceSupport ()"
+Destroys a QXmlNamespaceSupport.
+.SH "void QXmlNamespaceSupport::popContext ()"
+Reverts to the previous namespace context.
+.PP
+Normally, you should pop the context at the end of each XML element. After popping the context, all namespace prefix mappings that were previously in force are restored.
+.PP
+See also pushContext().
+.SH "QString QXmlNamespaceSupport::prefix ( const QString & uri ) const"
+Returns one of the prefixes mapped to the namespace URI \fIuri\fR.
+.PP
+If more than one prefix is currently mapped to the same URI, this function makes an arbitrary selection; if you want all of the prefixes, use prefixes() instead.
+.PP
+Note: to check for a default prefix, use the uri() function with an argument of "".
+.SH "QStringList QXmlNamespaceSupport::prefixes () const"
+Returns a list of all the prefixes currently declared.
+.PP
+If there is a default prefix, this function does not return it in the list; check for the default prefix using uri() with an argument of "".
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myXmlNamespaceSupport.prefixes();
+.br
+ QStringList::iterator it = list.begin();
+.br
+ while ( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "QStringList QXmlNamespaceSupport::prefixes ( const QString & uri ) const"
+This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
+.PP
+Returns a list of all prefixes currently declared for the namespace URI \fIuri\fR.
+.PP
+The "xml:" prefix is included. If you only want one prefix that is mapped to the namespace URI, and you don't care which one you get, use the prefix() function instead.
+.PP
+Note: the empty (default) prefix is never included in this list; to check for the presence of a default namespace, use uri() with an argument of "".
+.PP
+Note that if you want to iterate over the list, you should iterate over a copy, e.g.
+.PP
+.nf
+.br
+ QStringList list = myXmlNamespaceSupport.prefixes( "" );
+.br
+ QStringList::Iterator it = list.begin();
+.br
+ while( it != list.end() ) {
+.br
+ myProcessing( *it );
+.br
+ ++it;
+.br
+ }
+.br
+.fi
+.SH "void QXmlNamespaceSupport::processName ( const QString & qname, bool isAttribute, QString & nsuri, QString & localname ) const"
+Processes a raw XML 1.0 name in the current context by removing the prefix and looking it up among the prefixes currently declared.
+.PP
+\fIqname\fR is the raw XML 1.0 name to be processed. \fIisAttribute\fR is TRUE if the name is an attribute name.
+.PP
+This function stores the namespace URI in \fInsuri\fR (which will be set to QString::null if the raw name has an undeclared prefix), and stores the local name (without prefix) in \fIlocalname\fR (which will be set to QString::null if no namespace is in use).
+.PP
+Note that attribute names are processed differently than element names: an unprefixed element name gets the default namespace (if any), while an unprefixed element name does not.
+.SH "void QXmlNamespaceSupport::pushContext ()"
+Starts a new namespace context.
+.PP
+Normally, you should push a new context at the beginning of each XML element: the new context automatically inherits the declarations of its parent context, and it also keeps track of which declarations were made within this context.
+.PP
+See also popContext().
+.SH "void QXmlNamespaceSupport::reset ()"
+Resets this namespace support object ready for reuse.
+.SH "void QXmlNamespaceSupport::setPrefix ( const QString & pre, const QString & uri )"
+This function declares a prefix \fIpre\fR in the current namespace context to be the namespace URI \fIuri\fR. The prefix remains in force until this context is popped, unless it is shadowed in a descendant context.
+.PP
+Note that there is an asymmetry in this library. prefix() does not return the default "" prefix, even if you have declared one; to check for a default prefix, you must look it up explicitly using uri(). This asymmetry exists to make it easier to look up prefixes for attribute names, where the default prefix is not allowed.
+.SH "void QXmlNamespaceSupport::splitName ( const QString & qname, QString & prefix, QString & localname ) const"
+Splits the name \fIqname\fR at the ':' and returns the prefix in \fIprefix\fR and the local name in \fIlocalname\fR.
+.PP
+See also processName().
+.SH "QString QXmlNamespaceSupport::uri ( const QString & prefix ) const"
+Looks up the prefix \fIprefix\fR in the current context and returns
+the currently-mapped namespace URI. Use the empty string ("") for
+the default namespace.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlnamespacesupport.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlnamespacesupport.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlparseexception.3qt b/doc/man/man3/qxmlparseexception.3qt
new file mode 100644
index 0000000..8f51b60
--- /dev/null
+++ b/doc/man/man3/qxmlparseexception.3qt
@@ -0,0 +1,80 @@
+'\" t
+.TH QXmlParseException 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlParseException \- Used to report errors with the QXmlErrorHandler interface
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlParseException\fR ( const QString & name = """", int c = -1, int l = -1, const QString & p = """", const QString & s = """" )"
+.br
+.ti -1c
+.BI "int \fBcolumnNumber\fR () const"
+.br
+.ti -1c
+.BI "int \fBlineNumber\fR () const"
+.br
+.ti -1c
+.BI "QString \fBpublicId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBsystemId\fR () const"
+.br
+.ti -1c
+.BI "QString \fBmessage\fR () const"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlParseException class is used to report errors with the QXmlErrorHandler interface.
+.PP
+The XML subsystem constructs an instance of this class when it detects an error. You can retrieve the place where the error occurred using systemId(), publicId(), lineNumber() and columnNumber(), along with the error message().
+.PP
+See also QXmlErrorHandler, QXmlReader, and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlParseException::QXmlParseException ( const QString & name = "", int c = -1, int l = -1, const QString & p = "", const QString & s = "" )"
+Constructs a parse exception with the error string \fIname\fR for column \fIc\fR and line \fIl\fR for the public identifier \fIp\fR and the system identifier \fIs\fR.
+.SH "int QXmlParseException::columnNumber () const"
+Returns the column number where the error occurred.
+.SH "int QXmlParseException::lineNumber () const"
+Returns the line number where the error occurred.
+.SH "QString QXmlParseException::message () const"
+Returns the error message.
+.SH "QString QXmlParseException::publicId () const"
+Returns the public identifier where the error occurred.
+.SH "QString QXmlParseException::systemId () const"
+Returns the system identifier where the error occurred.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlparseexception.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlparseexception.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlreader.3qt b/doc/man/man3/qxmlreader.3qt
new file mode 100644
index 0000000..922fef6
--- /dev/null
+++ b/doc/man/man3/qxmlreader.3qt
@@ -0,0 +1,206 @@
+'\" t
+.TH QXmlReader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlReader \- Interface for XML readers (i.e. parsers)
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherited by QXmlSimpleReader.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "virtual bool \fBfeature\fR ( const QString & name, bool * ok = 0 ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetFeature\fR ( const QString & name, bool value ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBhasFeature\fR ( const QString & name ) const = 0"
+.br
+.ti -1c
+.BI "virtual void * \fBproperty\fR ( const QString & name, bool * ok = 0 ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetProperty\fR ( const QString & name, void * value ) = 0"
+.br
+.ti -1c
+.BI "virtual bool \fBhasProperty\fR ( const QString & name ) const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetEntityResolver\fR ( QXmlEntityResolver * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlEntityResolver * \fBentityResolver\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetDTDHandler\fR ( QXmlDTDHandler * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlDTDHandler * \fBDTDHandler\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetContentHandler\fR ( QXmlContentHandler * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlContentHandler * \fBcontentHandler\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetErrorHandler\fR ( QXmlErrorHandler * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlErrorHandler * \fBerrorHandler\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetLexicalHandler\fR ( QXmlLexicalHandler * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlLexicalHandler * \fBlexicalHandler\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual void \fBsetDeclHandler\fR ( QXmlDeclHandler * handler ) = 0"
+.br
+.ti -1c
+.BI "virtual QXmlDeclHandler * \fBdeclHandler\fR () const = 0"
+.br
+.ti -1c
+.BI "virtual bool parse ( const QXmlInputSource & input ) = 0 \fI(obsolete)\fR"
+.br
+.ti -1c
+.BI "virtual bool \fBparse\fR ( const QXmlInputSource * input ) = 0"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlReader class provides an interface for XML readers (i.e. parsers).
+.PP
+This abstract class provides an interface for all of Qt's XML readers. Currently there is only one implementation of a reader included in Qt's XML module: QXmlSimpleReader. In future releases there might be more readers with different properties available (e.g. a validating parser).
+.PP
+The design of the XML classes follows the SAX2 Java interface, with the names adapted to fit Qt naming conventions. It should be very easy for anybody who has worked with SAX2 to get started with the Qt XML classes.
+.PP
+All readers use the class QXmlInputSource to read the input document. Since you are normally interested in particular content in the XML document, the reader reports the content through special handler classes (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler and QXmlLexicalHandler), which you must subclass, if you want to process the contents.
+.PP
+Since the handler classes only describe interfaces you must implement all the functions. We provide the QXmlDefaultHandler class to make this easier: it implements a default behaviour (do nothing) for all functions, so you can subclass it and just implement the functions you are interested in.
+.PP
+Features and properties of the reader can be set with setFeature() and setProperty() respectively. You can set the reader to use your own subclasses with setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() and setDeclHandler(). The parse itself is started with a call to parse().
+.PP
+See also QXmlSimpleReader and XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlDTDHandler * QXmlReader::DTDHandler () const\fC [pure virtual]\fR"
+Returns the DTD handler or 0 if none was set.
+.PP
+See also setDTDHandler().
+.SH "QXmlContentHandler * QXmlReader::contentHandler () const\fC [pure virtual]\fR"
+Returns the content handler or 0 if none was set.
+.PP
+See also setContentHandler().
+.SH "QXmlDeclHandler * QXmlReader::declHandler () const\fC [pure virtual]\fR"
+Returns the declaration handler or 0 if none was set.
+.PP
+See also setDeclHandler().
+.SH "QXmlEntityResolver * QXmlReader::entityResolver () const\fC [pure virtual]\fR"
+Returns the entity resolver or 0 if none was set.
+.PP
+See also setEntityResolver().
+.SH "QXmlErrorHandler * QXmlReader::errorHandler () const\fC [pure virtual]\fR"
+Returns the error handler or 0 if none is set.
+.PP
+See also setErrorHandler().
+.SH "bool QXmlReader::feature ( const QString & name, bool * ok = 0 ) const\fC [pure virtual]\fR"
+If the reader has the feature called \fIname\fR, the feature's value is returned. If no such feature exists the return value is undefined.
+.PP
+If \fIok\fR is not 0: \fI*ok\fR is set to TRUE if the reader has the feature called \fIname\fR; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also setFeature() and hasFeature().
+.SH "bool QXmlReader::hasFeature ( const QString & name ) const\fC [pure virtual]\fR"
+Returns \fCTRUE\fR if the reader has the feature called \fIname\fR; otherwise returns FALSE.
+.PP
+See also feature() and setFeature().
+.SH "bool QXmlReader::hasProperty ( const QString & name ) const\fC [pure virtual]\fR"
+Returns TRUE if the reader has the property \fIname\fR; otherwise returns FALSE.
+.PP
+See also property() and setProperty().
+.SH "QXmlLexicalHandler * QXmlReader::lexicalHandler () const\fC [pure virtual]\fR"
+Returns the lexical handler or 0 if none was set.
+.PP
+See also setLexicalHandler().
+.SH "bool QXmlReader::parse ( const QXmlInputSource * input )\fC [pure virtual]\fR"
+Reads an XML document from \fIinput\fR and parses it. Returns TRUE if the parsing was successful; otherwise returns FALSE.
+.PP
+Example: xml/tagreader/tagreader.cpp.
+.SH "bool QXmlReader::parse ( const QXmlInputSource & input )\fC [pure virtual]\fR"
+\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
+.SH "void * QXmlReader::property ( const QString & name, bool * ok = 0 ) const\fC [pure virtual]\fR"
+If the reader has the property \fIname\fR, this function returns the value of the property; otherwise the return value is undefined.
+.PP
+If \fIok\fR is not 0: if the reader has the \fIname\fR property \fI*ok\fR is set to TRUE; otherwise \fI*ok\fR is set to FALSE.
+.PP
+See also setProperty() and hasProperty().
+.SH "void QXmlReader::setContentHandler ( QXmlContentHandler * handler )\fC [pure virtual]\fR"
+Sets the content handler to \fIhandler\fR.
+.PP
+See also contentHandler().
+.PP
+Example: xml/tagreader/tagreader.cpp.
+.SH "void QXmlReader::setDTDHandler ( QXmlDTDHandler * handler )\fC [pure virtual]\fR"
+Sets the DTD handler to \fIhandler\fR.
+.PP
+See also DTDHandler().
+.SH "void QXmlReader::setDeclHandler ( QXmlDeclHandler * handler )\fC [pure virtual]\fR"
+Sets the declaration handler to \fIhandler\fR.
+.PP
+See also declHandler().
+.SH "void QXmlReader::setEntityResolver ( QXmlEntityResolver * handler )\fC [pure virtual]\fR"
+Sets the entity resolver to \fIhandler\fR.
+.PP
+See also entityResolver().
+.SH "void QXmlReader::setErrorHandler ( QXmlErrorHandler * handler )\fC [pure virtual]\fR"
+Sets the error handler to \fIhandler\fR. Clears the error handler if \fIhandler\fR is 0.
+.PP
+See also errorHandler().
+.SH "void QXmlReader::setFeature ( const QString & name, bool value )\fC [pure virtual]\fR"
+Sets the feature called \fIname\fR to the given \fIvalue\fR. If the reader doesn't have the feature nothing happens.
+.PP
+See also feature() and hasFeature().
+.PP
+Reimplemented in QXmlSimpleReader.
+.SH "void QXmlReader::setLexicalHandler ( QXmlLexicalHandler * handler )\fC [pure virtual]\fR"
+Sets the lexical handler to \fIhandler\fR.
+.PP
+See also lexicalHandler().
+.SH "void QXmlReader::setProperty ( const QString & name, void * value )\fC [pure virtual]\fR"
+Sets the property \fIname\fR to \fIvalue\fR. If the reader doesn't have the property nothing happens.
+.PP
+See also property() and hasProperty().
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlreader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlreader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/man/man3/qxmlsimplereader.3qt b/doc/man/man3/qxmlsimplereader.3qt
new file mode 100644
index 0000000..5b1d6d7
--- /dev/null
+++ b/doc/man/man3/qxmlsimplereader.3qt
@@ -0,0 +1,142 @@
+'\" t
+.TH QXmlSimpleReader 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
+.\" Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
+.\" license file included in the distribution for a complete license
+.\" statement.
+.\"
+.ad l
+.nh
+.SH NAME
+QXmlSimpleReader \- Implementation of a simple XML reader (parser)
+.SH SYNOPSIS
+All the functions in this class are reentrant when Qt is built with thread support.</p>
+.PP
+\fC#include <qxml.h>\fR
+.PP
+Inherits QXmlReader.
+.PP
+.SS "Public Members"
+.in +1c
+.ti -1c
+.BI "\fBQXmlSimpleReader\fR ()"
+.br
+.ti -1c
+.BI "virtual \fB~QXmlSimpleReader\fR ()"
+.br
+.ti -1c
+.BI "virtual void \fBsetFeature\fR ( const QString & name, bool value )"
+.br
+.ti -1c
+.BI "virtual bool \fBparse\fR ( const QXmlInputSource * input, bool incremental )"
+.br
+.ti -1c
+.BI "virtual bool \fBparseContinue\fR ()"
+.br
+.in -1c
+.SH DESCRIPTION
+The QXmlSimpleReader class provides an implementation of a simple XML reader (parser).
+.PP
+This XML reader is sufficient for simple parsing tasks. The reader:
+.TP
+provides a well-formed parser;
+.TP
+does not parse any external entities;
+.TP
+can do namespace processing.
+.PP
+Documents are parsed with a call to parse().
+.PP
+See also XML.
+.SH MEMBER FUNCTION DOCUMENTATION
+.SH "QXmlSimpleReader::QXmlSimpleReader ()"
+Constructs a simple XML reader with the following feature settings: <center>.nf
+.TS
+l - l. Feature Setting \fIhttp://xml.org/sax/features/namespaces\fR TRUE \fIhttp://xml.org/sax/features/namespace-prefixes\fR FALSE \fIhttp://trolltech.com/xml/features/report-whitespace-only-CharData\fR TRUE \fIhttp://trolltech.com/xml/features/report-start-end-entity\fR
+.TE
+.fi
+</center>
+.PP
+More information about features can be found in the Qt SAX2 overview.
+.PP
+See also setFeature().
+.SH "QXmlSimpleReader::~QXmlSimpleReader ()\fC [virtual]\fR"
+Destroys the simple XML reader.
+.SH "bool QXmlSimpleReader::parse ( const QXmlInputSource * input, bool incremental )\fC [virtual]\fR"
+Reads an XML document from \fIinput\fR and parses it. Returns FALSE if the parsing detects an error; otherwise returns TRUE.
+.PP
+If \fIincremental\fR is TRUE, the parser does not return FALSE when it reaches the end of the \fIinput\fR without reaching the end of the XML file. Instead it stores the state of the parser so that parsing can be continued at a later stage when more data is available. You can use the function parseContinue() to continue with parsing. This class stores a pointer to the input source \fIinput\fR and the parseContinue() function tries to read from that input souce. This means that you should not delete the input source \fIinput\fR until you've finished your calls to parseContinue(). If you call this function with \fIincremental\fR TRUE whilst an incremental parse is in progress a new parsing session will be started and the previous session lost.
+.PP
+If \fIincremental\fR is FALSE, this function behaves like the normal parse function, i.e. it returns FALSE when the end of input is reached without reaching the end of the XML file and the parsing cannot be continued.
+.PP
+See also parseContinue() and QSocket.
+.PP
+Examples:
+.)l xml/tagreader-with-features/tagreader.cpp and xml/tagreader/tagreader.cpp.
+.SH "bool QXmlSimpleReader::parseContinue ()\fC [virtual]\fR"
+Continues incremental parsing; this function reads the input from the QXmlInputSource that was specified with the last parse() command. To use this function, you \fImust\fR have called parse() with the incremental argument set to TRUE.
+.PP
+Returns FALSE if a parsing error occurs; otherwise returns TRUE.
+.PP
+If the input source returns an empty string for the function QXmlInputSource::data(), then this means that the end of the XML file has been reached; this is quite important, especially if you want to use the reader to parse more than one XML file.
+.PP
+The case of the end of the XML file being reached without having finished parsing is not considered to be an error: you can continue parsing at a later stage by calling this function again when there is more data available to parse.
+.PP
+This function assumes that the end of the XML document is reached if the QXmlInputSource::next() function returns QXmlInputSource::EndOfDocument. If the parser has not finished parsing when it encounters this symbol, it is an error and FALSE is returned.
+.PP
+See also parse() and QXmlInputSource::next().
+.SH "void QXmlSimpleReader::setFeature ( const QString & name, bool value )\fC [virtual]\fR"
+Sets the state of the feature \fIname\fR to \fIvalue\fR:
+.PP
+If the feature is not recognized, it is ignored.
+.PP
+The following features are supported: <center>.nf
+.TS
+l - l. Feature Notes \fIhttp://xml.org/sax/features/namespaces\fR If this feature is TRUE, namespace processing is performed. \fIhttp://xml.org/sax/features/namespace-prefixes\fR If this feature is TRUE, the the original prefixed names and attributes used for namespace declarations are reported. \fIhttp://trolltech.com/xml/features/report-whitespace-only-CharData\fR If this feature is TRUE, CharData that only contain whitespace are not ignored, but are reported via QXmlContentHandler::characters(). \fIhttp://trolltech.com/xml/features/report-start-end-entity\fR
+.TE
+.fi
+</center>
+.PP
+.nf
+.br
+ ** $Id: qt/tagreader.cpp 3.3.8 edited Jan 11 14:46 $
+.fi
+.PP
+.nf
+.br
+ reader.setFeature( "http://xml.org/sax/features/namespace-prefixes",
+.br
+ TRUE );
+.fi
+.PP
+(Code taken from xml/tagreader-with-features/tagreader.cpp)
+.PP
+See also feature() and hasFeature().
+.PP
+Example: xml/tagreader-with-features/tagreader.cpp.
+.PP
+Reimplemented from QXmlReader.
+
+.SH "SEE ALSO"
+.BR http://doc.trolltech.com/qxmlsimplereader.html
+.BR http://www.trolltech.com/faq/tech.html
+.SH COPYRIGHT
+Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
+license file included in the distribution for a complete license
+statement.
+.SH AUTHOR
+Generated automatically from the source code.
+.SH BUGS
+If you find a bug in Qt, please report it as described in
+.BR http://doc.trolltech.com/bughowto.html .
+Good bug reports help us to help you. Thank you.
+.P
+The definitive Qt documentation is provided in HTML format; it is
+located at $QTDIR/doc/html and can be read using Qt Assistant or with
+a web browser. This man page is provided as a convenience for those
+users who prefer man pages, although this format is not officially
+supported by Trolltech.
+.P
+If you find errors in this manual page, please report them to
+.BR qt-bugs@trolltech.com .
+Please include the name of the manual page (qxmlsimplereader.3qt) and the Qt
+version (3.3.8).
diff --git a/doc/metaobjects.doc b/doc/metaobjects.doc
new file mode 100644
index 0000000..e5ac2c1
--- /dev/null
+++ b/doc/metaobjects.doc
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Explanation of moc and the meta object system
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page metaobjects.html
+
+\title Meta Object System
+
+\keyword meta object
+\keyword Q_OBJECT
+
+Qt's Meta Object System provides the signals and slots mechanism for
+inter-object communication, runtime type information, and the dynamic
+property system.
+
+The Meta Object System is based on three things:
+\list 1
+\i the \l QObject class;
+\i the Q_OBJECT macro inside the private section of the class
+declaration;
+\i the \link moc.html Meta Object Compiler (moc)\endlink.
+\endlist
+
+The \e moc reads a C++ source file. If it finds one or more class
+declarations that contain the Q_OBJECT macro, it produces another C++
+source file which contains the meta object code for the classes that
+contain the Q_OBJECT macro. This generated source file is either
+#included into the class's source file or compiled and linked with the
+class's implementation.
+
+In addition to providing the \link signalsandslots.html signals and
+slots \endlink mechanism for communication between objects (the main
+reason for introducing the system), the meta object code provides
+additional features in QObject:
+
+\list
+
+\i the \link QObject::className() className() \endlink function that
+returns the class name as a string at runtime, without requiring
+native runtime type information (RTTI) support through the C++
+compiler.
+
+\i the \link QObject::inherits() inherits() \endlink function that
+returns whether an object is an instance of a class that inherits a
+specified class within the QObject inheritance tree.
+
+\i the \link QObject::tr() tr() \endlink and
+\link QObject::trUtf8() trUtf8() \endlink functions for string
+translation as used for internationalization.
+
+\i the \link QObject::setProperty() setProperty() \endlink and \link
+QObject::property() property() \endlink functions for dynamically
+setting and getting \link properties.html object properties\endlink by
+name.
+
+\i the \link QObject::metaObject() metaObject() \endlink function that
+returns the associated \link QMetaObject meta object \endlink for the
+class.
+
+\endlist
+
+While it is possible to use QObject as a base class without the
+Q_OBJECT macro and without meta object code, neither signals and slots
+nor the other features described here will be available if the
+Q_OBJECT macro is not used. From the meta object system's point of
+view, a QObject subclass without meta code is equivalent to its
+closest ancestor with meta object code. This means for example, that
+className() will not return the actual name of your class, but the
+class name of this ancestor. We \e strongly recommend that all
+subclasses of QObject use the Q_OBJECT macro regardless of whether
+they actually use signals, slots and properties or not.
+
+*/
diff --git a/doc/misc.doc b/doc/misc.doc
new file mode 100644
index 0000000..82912d1
--- /dev/null
+++ b/doc/misc.doc
@@ -0,0 +1,1127 @@
+/****************************************************************************
+**
+** Miscellaneous documentation that doesn't fit anywhere else
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*! \page commonproblems.html
+\title Brief Technical FAQ
+
+
+This document describes how to use more than one Qt version on one
+machine and how to use Qt on X11 without a window manager. In addition
+it explains the most common source of link errors with Qt.
+
+Other frequently asked questions can be found in the
+\link http://www.trolltech.com/developer/faqs/ FAQ index\endlink and
+in the \link http://www.trolltech.com/developer/faqs/technical.html Technical FAQ\endlink.
+
+\list
+\i \link #linkerror Link error, complaining about a lack of
+<tt>vtbl</tt>, <tt>_vtbl</tt>, <tt>__vtbl</tt> or similar\endlink
+\i \link #diffver Using different versions of Qt on the same
+machine\endlink
+ \list
+ \i \link #qtbin Developers building for a single version of Qt on Unix - Qt binary packages\endlink
+ \i \link #qtsrc Developers building for two versions of Qt on Unix - Qt sources\endlink
+ \endlist
+\i \link #nowinman Using Qt on X11 without a window manager\endlink
+\i \link distributingqt.html Distributing Qt Applications\endlink
+\endlist
+
+\target linkerror
+\section1 Link error, complaining about a lack of \c vtbl, \c _vtbl, \c __vtbl or similar
+
+This indicates that you've included the Q_OBJECT macro in a class
+declaration and probably also run the moc, but forgot to link the
+moc-generated object code into your executable. See \link moc.html
+Using the Meta Object Compiler\endlink for details on how to use moc.
+
+\target diffver
+\section1 Using different versions of Qt on the same machine
+
+Qt programs need the following components of a Qt distribution:
+
+<dl>
+
+<dt>Header files - Compile time
+
+<dd>Programmers need to include the Qt header files. The Qt header files
+are usually located in the \c include subdirectory of Qt distributions.
+Care must be taken to include the header files of the relevant release of
+Qt. Those with a command-line compiler will typically use options such as
+\c{/I%QTDIR%\include} or \c{-I"$QTDIR"/include} provided \c QTDIR specifies
+the relevant release of Qt.
+
+<dt>Meta Object Compiler and other tools - Compile time
+
+<dd>Programmers need to run \e moc and other tools such as \e uic. These
+tools are usually located in the \c bin subdirectory of Qt distributions.
+Either run \c "$QTDIR"/bin/moc and \c "$QTDIR"/bin/uic or add \c "$QTDIR"/bin
+to your \c PATH and run \c moc and \c uic. If you use \c qmake the
+appropriate lines will be added to your Makefiles so that \e uic and
+\e moc will be executed as required.
+
+<dt>Static or shared libraries - Link time
+
+<dd>Programmers need to link with the Qt static or shared libraries. The Qt
+libraries are usually located in the \c lib subdirectory of Qt distributions.
+Care must be taken to link with the libraries of the relevant release of
+Qt. Those with a command-line compiler will typically use options such as
+\c{/L%QTDIR%\lib\qt.lib} or \c{-L"$QTDIR"/lib} \c -lqt provided \c QTDIR
+specifies the relevant release of Qt.
+
+<dt>Shared libraries - Run time
+
+<dd>Users of programs linked with shared Qt libraries need these same
+shared libraries to run these programs. The Qt libraries are usually
+located in the \c lib subdirectory of Qt distributions. Shared libraries
+are made available to programs in places such as \c{C:\windows\system} on
+Windows platforms, directories listed in file \c /etc/ld.so.conf on Linux,
+standard \c lib directories on Unix, or directories listed in environment
+variables \c LD_LIBRARY_PATH, \c SHLIB_PATH, or \c LIBPATH on various Unix
+flavours. Make the relevant Qt libraries available using one of these
+mechanisms.
+
+</dl>
+
+Qt distributions consist of different files needed at compile time,
+link time, or run time. Trolltech distributes Qt in the form of a
+source package that contain all these files once they have been built.
+
+Other vendors distribute Qt in the form of binary packages. Binary packages
+usually consist of two parts:
+
+\list
+\i shared libraries in the run time package, usually called \c qt3.
+
+\i header files, static libraries, the moc and other tools in the developers'
+kit, usually called \c qt3-dev.
+
+\endlist
+
+Depending on how you are using Qt, you need to make specific parts of
+the Qt distribution available to your programs. Typical situations are
+described below.
+
+\target qtbin
+\section2 Developers building for a single version of Qt on Unix - Qt binary packages
+
+You build programs with a single version of Qt, but you still need
+to run programs linked with another version of Qt. You are typically
+a Linux developer who builds programs for Qt 3.x on a KDE desktop based
+on Qt 2.x. Qt packages are usually split into a shared library
+package with a name like \c qt and a developer package with a name
+like \c qt-dev. You will need the appropriate packages:
+
+\list
+
+\i To build programs you will need the header files, the libraries,
+the moc and other tools from Qt 3.x. They are included in the developer
+package of Qt 3.x (\c qt3-dev or similar).
+
+\i To run programs you will need the shared libraries of Qt 3.x and
+Qt 2.x. They are included in the regular packages of Qt 3.x (\c qt3
+or similar) and Qt 2.x (\c qt2 or similar).
+
+\endlist
+
+Just install the packages, \c qt2, \c qt3, and \c qt3-dev. You may
+need to set the environment variable \c QTDIR to point to Qt 3.x.
+
+\target qtsrc
+\section2 Developers building for two versions of Qt on Unix - Qt sources
+
+You build and run programs for Qt 2.x and Qt 3.x. You will need:
+
+\list
+
+\i the header files, the libraries, the moc and other tools from Qt 3.x
+and Qt 2.x to build programs,
+
+\i the shared libraries of Qt 3.x and Qt 2.x to run programs.
+
+\endlist
+
+Get the source distributions of both Qt 2.x and Qt 3.x.
+
+\list 1
+
+\i Install and build Qt 2.x and Qt 3.x, usually in \c /opt or
+\c /usr/local. In the case of \c /opt:
+
+\code
+$ cd /opt
+$ gunzip -c \c qt-x11-2.3.1.tar.gz | tar xf -
+$ cd qt-2.3.1
+$ setenv QTDIR /opt/qt-2.3.1
+$ configure [options]
+$ make
+
+$ cd /opt
+$ gunzip -c qt-x11-free-3.0.0.tar.gz | tar xf -
+$ cd qt-3.0.0
+$ setenv QTDIR /opt/qt-3.0.0
+$ configure [options]
+$ make
+\endcode
+
+\i Make shared libraries available to programs at run time. Either
+add both \c /opt/qt-2.3.1/lib and \c /opt/qt-3.0.0/lib to your environment
+variable \c LD_LIBRARY_PATH or file \c /etc/ld.so.conf or whataver mechanism
+you're using, or make links to the libraries in a standard directory like
+\c /usr/local/lib:
+
+\code
+cd /usr/local/lib
+ln -s /opt/qt-2.3.1/lib/libqt.so.2 .
+ln -s /opt/qt-2.3.1/lib/libqt-mt.so.2 .
+ln -s /opt/qt-2.3.1/lib/libqutil.so.1 .
+ln -s /opt/qt-3.0.0/lib/libqt.so.3 .
+ln -s /opt/qt-3.0.0/lib/libqui.so.1 .
+\endcode
+
+\endlist
+
+To develop with Qt 2.x use:
+
+\code
+setenv QTDIR /opt/qt-2.3.1
+setenv PATH ${QTDIR}/bin:${PATH}
+\endcode
+
+To develop with Qt 3.x use:
+
+\code
+setenv QTDIR /opt/qt-3.0.0
+setenv PATH ${QTDIR}/bin:${PATH}
+\endcode
+
+Setting \c QTDIR ensures that the proper resources are used, such as the
+documentation appropriate to the version of Qt you're using. Also
+your Makfiles may refer to \c "$QTDIR"/include and \c "$QTDIR"/lib to
+include the proper header files and link with the proper libraries.
+Setting the \c PATH ensures that the proper version of moc and other
+tools is being used.
+
+\target nowinman
+\section1 Using Qt on X11 without a window manager
+
+When using Qt without a window manager on Unix/X11, you will most
+likely experience focus problems. Without a window manager, there is
+no focus handling on X11, and no concept of an active window
+either. If you want your application to work in such an environment,
+you have to explicitly mark a window as active \e after showing it:
+
+\code
+ yourWindow->show();
+ yourWindow->setActiveWindow();
+\endcode
+
+Note that setActiveWindow() won't work if the widget does not become
+physically visible during this event cycle. However, without a window
+manager running, this is guaranteed to happen. For the curious reader:
+setActiveWindow() emulates a window manager by explicitly setting the
+X Input Focus to a widget's top level window.
+
+*/
+
+/*! \page bughowto.html
+\title How to Report A Bug
+
+If you think you have found a bug in Qt, we would like to hear
+about it so that we can fix it.
+
+Before reporting a bug, please check the
+\link commonproblems.html Brief Technical FAQ\endlink, the
+\link http://www.trolltech.com/developer/faqs/ FAQs\endlink, and the
+\link http://www.trolltech.com/platforms/ Platform Notes\endlink
+on our web site to see if the issue is already known.
+
+Always include the following information in your bug report:
+
+\list 1
+\i The name and version number of your compiler
+\i The name and version number of your operating system
+\i The version of Qt you are using, and what configure options it was
+compiled with.
+\endlist
+
+If the problem you are reporting is only at visible run-time, try to
+create a small test program that shows the problem when run. Often,
+such a program can be created with some minor changes to one
+of the many example programs in the \c{qt/examples} directory.
+
+Please send the bug report to
+\link mailto:qt-bugs@trolltech.com qt-bugs@trolltech.com\endlink.
+*/
+
+
+
+
+/*! \page license.html
+
+\title Qt Open Source Edition License Agreement
+
+The Qt Open Source Edition is distributed under the Q Public License (QPL).
+It allows free use of Qt Open Source Edition for running software developed by
+others, and free use of Qt Open Source Edition for development of free and open source
+software. There is \link http://www.trolltech.com/qpl/ more information
+about the QPL\endlink at the Trolltech web site.
+
+Note that the Qt/Embedded Open Source Edition is <b>not</b> distributed
+under the QPL, but under the \link gpl.html GNU General Public
+License (GPL)\endlink.
+
+For development non-free/proprietary software, the Qt Professional
+Edition is available. It has a normal commercial library license, with
+none of the special restrictions of the QPL or the GPL.
+
+<hr>
+
+<center>
+<h2>
+THE Q PUBLIC LICENSE
+version 1.0
+</h2>
+<b>
+Copyright (C) 1999-2008 Trolltech ASA, Norway.<br>
+Everyone is permitted to copy and distribute this license document.
+</b>
+</center>
+
+The intent of this license is to establish freedom to share and change the
+software regulated by this license under the open source model.
+
+This license applies to any software containing a notice placed by the
+copyright holder saying that it may be distributed under the terms of
+the Q Public License version 1.0. Such software is herein referred to as
+the Software. This license covers modification and distribution of the
+Software, use of third-party application programs based on the Software,
+and development of free software which uses the Software.
+
+
+<h3 align="center">
+ Granted Rights
+</h3>
+
+1. You are granted the non-exclusive rights set forth in this license
+ provided you agree to and comply with any and all conditions in this
+ license. Whole or partial distribution of the Software, or software
+ items that link with the Software, in any form signifies acceptance of
+ this license.
+
+2. You may copy and distribute the Software in unmodified form provided
+ that the entire package, including - but not restricted to - copyright,
+ trademark notices and disclaimers, as released by the initial developer
+ of the Software, is distributed.
+
+3. You may make modifications to the Software and distribute your
+ modifications, in a form that is separate from the Software, such as
+ patches. The following restrictions apply to modifications:
+
+<blockquote>
+ a. Modifications must not alter or remove any copyright notices in
+ the Software.
+
+ b. When modifications to the Software are released under this
+ license, a non-exclusive royalty-free right is granted to the
+ initial developer of the Software to distribute your modification
+ in future versions of the Software provided such versions remain
+ available under these terms in addition to any other license(s) of
+ the initial developer.
+</blockquote>
+
+4. You may distribute machine-executable forms of the Software or
+ machine-executable forms of modified versions of the Software, provided
+ that you meet these restrictions:
+
+<blockquote>
+ a. You must include this license document in the distribution.
+
+ b. You must ensure that all recipients of the machine-executable forms
+ are also able to receive the complete machine-readable source code
+ to the distributed Software, including all modifications, without
+ any charge beyond the costs of data transfer, and place prominent
+ notices in the distribution explaining this.
+
+ c. You must ensure that all modifications included in the
+ machine-executable forms are available under the terms of this
+ license.
+
+</blockquote>
+
+5. You may use the original or modified versions of the Software to
+ compile, link and run application programs legally developed by you
+ or by others.
+
+6. You may develop application programs, reusable components and other
+ software items that link with the original or modified versions of the
+ Software. These items, when distributed, are subject to the following
+ requirements:
+
+<blockquote>
+ a. You must ensure that all recipients of machine-executable forms of
+ these items are also able to receive and use the complete
+ machine-readable source code to the items without any charge
+ beyond the costs of data transfer.
+
+ b. You must explicitly license all recipients of your items to use
+ and re-distribute original and modified versions of the items in
+ both machine-executable and source code forms. The recipients must
+ be able to do so without any charges whatsoever, and they must be
+ able to re-distribute to anyone they choose.
+
+ c. If the items are not available to the general public, and the
+ initial developer of the Software requests a copy of the items,
+ then you must supply one.
+</blockquote>
+
+
+<h3 align="center">
+ Limitations of Liability
+</h3>
+
+In no event shall the initial developers or copyright holders be liable
+for any damages whatsoever, including - but not restricted to - lost
+revenue or profits or other direct, indirect, special, incidental or
+consequential damages, even if they have been advised of the possibility
+of such damages, except to the extent invariable law, if any, provides
+otherwise.
+
+
+<h3 align="center">
+ No Warranty
+</h3>
+
+The Software and this license document are provided AS IS with NO WARRANTY
+OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE.
+
+<h3 align="center">
+ Choice of Law
+</h3>
+
+This license is governed by the Laws of Norway. Disputes shall be settled
+by Oslo City Court.
+
+*/
+
+
+/*! \page gpl.html
+\title GNU General Public License
+
+ The Qt GUI Toolkit is Copyright (C) 1994-2008 Trolltech ASA.
+
+ The Qt Open Source Edition and the Qt/Embedded Open Source Edition are available
+ under the GPL. The Qt Open Source Edition (for Unix/X11) is also available
+ under the \link license.html QPL\endlink.
+
+\code
+ You may use, distribute and copy the Qt GUI Toolkit under the terms of
+ GNU General Public License version 2, which is displayed below.
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Steet, 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.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, 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 or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+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 give any other recipients of the Program a copy of this License
+along with the Program.
+
+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 Program or any portion
+of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+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 Program, 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 Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) 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; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, 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 executable. However, as a
+special exception, the source code 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.
+
+If distribution of executable or 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 counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program 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.
+
+ 5. 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 Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program 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 to
+this License.
+
+ 7. 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 Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program 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 Program.
+
+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.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program 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.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the 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 Program
+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 Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, 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
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. 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 PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. 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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Steet, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+\endcode
+*/
+
+
+
+/*! \page troll.html
+
+\title Company Information
+
+Trolltech is an international software company with
+headquarters in Oslo, the capital of Norway, and with offices
+in Brisbane, Australia, and Redwood City, California.
+
+Our flagship product is \link
+http://www.trolltech.com/products/qt.html Qt\endlink, the
+multi-platform C++ GUI toolkit. Qt enables you to build professional,
+efficient, portable and maintainable GUI applications quickly and
+easily.
+
+\link http://www.trolltech.com/products/embedded/index.html
+Qt/Embedded\endlink, the embedded version of Qt, is designed to power
+todays new generation of embedded computers and electronic consumer
+devices. On top of that, \link
+http://www.trolltech.com/products/qtopia/index.html Qtopia\endlink
+provides a window system and application suite for handheld devices.
+
+\section1 Software that makes Sense
+
+Our motto expresses the vision behind our products. We design our
+products to give our customers the feeling of "this is the way
+that things were always meant to be".
+
+We know that it is crucial for our customers to have good tools for
+making good software. Therefore, we do not compromise our demands for
+superior design and technical quality when we develop our
+products.
+
+Trolltech is also known for providing top quality technical support
+to our customers. At Trolltech, support inquiries are handled by the
+most qualified developers and designers themselves.
+
+\section1 History
+
+Trolltech was founded in 1994. The core team of designers at Trolltech
+started developing Qt in 1992, and the first commercial version of Qt was
+released in 1995. Since then, Trolltech has experienced rapid growth, and
+Qt is currently used in thousands of successful commercial software
+development projects world wide. At Trolltech, we continously work to
+improve and expand Qt to ensure that it always represents the state of the
+art in usability, look and feel, performance, and stability.
+
+For more information, please visit the \link http://www.trolltech.com
+Trolltech website\endlink.
+
+\section1 Contact Information
+
+<br clear="all">
+
+<table cellpadding=3 cellspacing=0 border="0" bgcolor="#E5E5E5">
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">Email</th></tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2>\link mailto:info@trolltech.com <strong>info@trolltech.com</strong>\endlink
+
+<td colspan=2>\link mailto:sales@trolltech.com <strong>sales@trolltech.com</strong>\endlink
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries and questions. Please check the
+\link http://www.trolltech.com/faq/ FAQ\endlink to see if your question is already answered there.</td>
+<td ><br></td>
+<td valign="top"> Inquires related to purchasing, pricing and availability of
+Trolltech products</td></tr>
+<tr>
+<td colspan=2>\link mailto:www@trolltech.com <strong>www@trolltech.com</strong>\endlink
+<td colspan=2>\link mailto:qt-bugs@trolltech.com <strong>qt-bugs@trolltech.com</strong>\endlink
+<tr>
+<td ><br></td>
+<td valign="top"> Comments about our web pages</td>
+<td ><br></td>
+<td valign="top">
+Use this address for bug reports; \e please read (the very short)
+\link bughowto.html How to Report a Bug\endlink page \e first.
+</td></tr>
+<tr><td ><br></td>
+<td colspan=4 valign="top">Note that Trolltech uses the
+\link http://mail-abuse.org/rbl/ RBL\endlink and
+\link http://work-rss.mail-abuse.org/rss/ RSS\endlink databases to cut down on
+spam. If your mail server is listed, you will regrettably not be able to
+send us mail. The \link http://www.mail-abuse.org/tsi/ MAPS TSI\endlink
+pages provide information about how to secure your server.
+</td><td ><br></td></tr>
+<tr bgcolor="#ffffff"><td bgcolor="#ffffff" colspan="6"> <br> </td></tr>
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">Norway Office</th></tr>
+</tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2><strong>Telephone</strong>
+<td colspan=2><strong>Street/Mail Address</strong>
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries: +47 21 60 48 00</td>
+<td rowspan=3><br></td>
+<td valign="top" rowspan=3> Sandakerveien 116<br> PO Box 4332 Nydalen<br> NO-0402 Oslo<br> Norway</td></tr>
+<tr>
+<td colspan=2><strong>Telefax</strong></td>
+<tr>
+<td ><br></td>
+<td valign="top"> All inquiries: +47 21 60 48 01</td>
+<tr bgcolor="#ffffff"><td bgcolor="#ffffff" colspan="6"> <br> </td></tr>
+<tr><th colspan=6 valign="top" bgcolor="#a2c511">USA Office</th></tr>
+</tr>
+<tr>
+<td rowspan=4><br></td>
+<td colspan=2><strong>Telephone</strong>
+<td colspan=2><strong>Street/Mail Address</strong>
+<td rowspan=4><br></td>
+<tr>
+<td ><br></td>
+<td valign="top"> General inquiries: (+1) 650-551-1676</td>
+<td rowspan=3><br></td>
+<td valign="top" rowspan=3> 555 Twin Dolphin Drive<br> Suite 280<br> Redwood City, CA 94065<br> USA</td></tr>
+<tr>
+<td colspan=2><strong>Telefax</strong></td>
+<tr>
+<td ><br></td>
+<td valign="top"> All inquiries: (+1) 650-551-1851</td>
+</table>
+
+*/
+
+
+/*! \page guibooks.html
+
+\title Books about GUI
+
+This is not a comprehensive list of books, there are many other
+books worth buying. Here we mention just a few GUI/UI books that don't
+gather dust in our shelves.
+
+<b>C++ GUI Programming with Qt 3</b> by Jasmin Blanchette and Mark
+Summerfield, ISBN 0-13-124072-2. This is the Official Qt book written
+by two veteran Trolls.
+\link http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/
+(Read more about it or buy it.)\endlink
+
+<b>The Design of Everyday Things</b> by Donald Norman,
+ISBN 0-38526774-6, is one of the classics of human interface design.
+Norman shows how badly something as simple as a kitchen stove can be
+designed, and everyone should read it who will design a dialog box,
+write an error message, or design just about anything else humans are
+supposed to use.
+\link http://www.amazon.com/exec/obidos/ASIN/0385267746/trolltech/t
+(Read more or buy it.)\endlink
+
+\target fowler
+<b>GUI Design Handbook</b> by Susan Fowler, ISBN 0-07-059274-8, is an
+alphabetical dictionary of widgets and other user interface elements,
+with comprehensive coverage of each. Each chapter covers one widget
+or other element, contains the most important recommendation from the
+Macintosh, Windows and Motif style guides, notes about common
+problems, comparison with other widgets that can serve some of the
+same roles as this one, etc.
+
+\link http://www.amazon.com/exec/obidos/ASIN/0070592748/trolltech/t
+(Read more or buy it.)\endlink
+
+<b>Macintosh Human Interface Guidelines</b>, second edition, ISBN
+0-201-62216-5, is worth buying for the \e {don't}s alone. Even
+though you're not writing Macintosh software, avoiding most of what it
+advises against will produce more easily comprehensible software.
+Doing what it tells you to \e do helps, too.
+\link http://www.amazon.com/exec/obidos/ASIN/0201622165/trolltech/t
+(Read more or buy it.)\endlink
+
+This book is now available
+\link http://developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html
+on the web\endlink and there is a
+\link http://developer.apple.com/techpubs/mac/HIGOS8Guide/thig-2.html Mac
+OS 8 addendum.\endlink
+
+<b>The Microsoft Windows User Experience</b>, ISBN 1-55615-679-0,
+is Microsoft's look and feel Bible. Indispensable for everyone who
+has customers that worship Microsoft, and it's quite good, too.
+\link http://www.amazon.com/exec/obidos/ASIN/0735605661/trolltech/t
+(Read more or buy it.)\endlink
+
+Microsoft's guidelines are often available on the web, but have
+occasionally been hidden in an impenetrable maze of javascript.
+\link http://msdn.microsoft.com/library/en-us/dnwue/html/welcome.asp Try and see.\endlink
+
+<b>The Icon Book</b> by William Horton, ISBN 0-471-59900-X, is a
+perhaps the only thorough coverage of icons and icon use in software.
+In order for icons to be successful, people must be able to do four
+things with them: decode, recognize, find and activate them. This
+book explains these goals from scratch and how to reach them, both
+with single icons and icon families. Some 500 examples are scattered
+throughout the text, generally in groups of four or five.
+\link http://www.amazon.com/exec/obidos/ASIN/047159900X/trolltech/t
+(Read more or buy it.)\endlink
+
+\section1 <nobr>Buying these books from</nobr>
+\link http://www.amazon.com/text/ Amazon.com.\endlink
+
+These books are made available in association with Amazon.com, our
+favorite on-line bookstore. Here is more information about
+\link http://www.amazon.com/exec/obidos/subst/help/shipping-policy.html/t
+Amazon.com's shipping options\endlink and its
+\link http://www.amazon.com/exec/obidos/subst/help/desk.html/t
+customer service.\endlink When you buy a book by following one of these
+links, Amazon.com gives about 15% of the purchase price to
+\link http://www.amnesty.org Amnesty International.\endlink
+
+*/
+
+
+/*! \page licenses.html
+\title Licenses for Code Used in Qt
+
+Qt contains a little code that is not under the \link license.html
+QPL\endlink, the \link gpl.html GPL\endlink, or the Qt Commercial
+License Agreement, but rather under specific highly permissive
+licenses from the original authors. This page lists the licenses used
+for that code, names the authors, and links to the points where it is
+used.
+
+Trolltech gratefully acknowledges these and others contribution to
+Qt. We recommend that all programs that use Qt also acknowledge these
+contributions, and quote all these license statements in an appendix
+to the documentation.
+
+\legaleselist
+
+*/
+
+
+/*! \page geometry.html
+\title Window Geometry
+
+\section1 Overview
+
+QWidget provides several functions that deal with a widget's
+geometry. Some of these functions operate on the pure client area
+(i.e. the window excluding the window frame), others include the
+window frame. The differentiation is done in a way that covers the
+most common usage transparently.
+
+\table
+\row
+\i <strong>Including the window frame:
+\i x(), y(), frameGeometry(), pos() and move()
+\row
+\i <strong>Excluding the window frame:</strong>
+\i geometry(), width(), height(), rect() and size()
+\endtable
+
+Note that the distinction only matters for decorated top-level
+widgets. For all child widgets, the frame geometry is equal to the
+widget's client geometry.
+
+This diagram shows most of the functions in use:
+\img geometry.png Geometry diagram
+
+\section1 Unix/X11 peculiarities
+
+On Unix/X11, a window does not have a frame until the window manager
+decorates it. This happens asynchronously at some point in time after
+calling show() and the first paint event the window receives: or it
+does not happen at all. Bear in mind that X11 is policy-free (others
+call it flexible). Thus you cannot make any safe assumption about the
+decoration frame your window will get. Basic rule: there's always one
+user who uses a window manager that breaks your assumption, and who
+will complain to you.
+
+Furthermore, a toolkit cannot simply place windows on the screen. All
+Qt can do is to send certain hints to the window manager. The window
+manager, a separate process, may either obey, ignore or misunderstand
+them. Due to the partially unclear Inter-Client Communication
+Conventions Manual (ICCCM), window placement is handled quite
+differently in existing window managers.
+
+X11 provides no standard or easy way to get the frame geometry once
+the window is decorated. Qt solves this problem with nifty heuristics
+and clever code that works on a wide range of window managers that
+exist today. Don't be surprised if you find one where frameGeometry()
+returns bogus results though.
+
+Nor does X11 provide a way to maximize a window. The showMaximized()
+function in Qt therefore has to emulate the feature. Its result
+depends on the result of frameGeometry() and the capability of the
+window manager to do proper window placement, neither of which can be
+guaranteed.
+
+\section1 Restoring a Window's Geometry
+
+A common task in modern applications is to restore a window's geometry
+in a later session. On Windows, this is basically storing the result
+of geometry() and calling setGeometry() in the next session before
+calling show(). On X11, this won't work because an invisible window
+doesn't have a frame yet. The window manager would decorate the window
+later. When this happens, the window shifts towards the bottom/right
+corner of the screen depending on the size of the decoration frame. X
+theoretically provides a way to avoid this shift. Our tests have
+shown, though, that almost all window managers fail to implement this
+feature.
+
+A workaround is to call setGeometry() after show(). This has the
+two disadvantages that the widget appears at a wrong place for a
+millisecond (results in flashing) and that currently only every
+second window manager gets it right. A safer solution is to store
+both pos() and size() and to restore the geometry using resize() and
+move() before calling show(), as demonstrated in the following
+example:
+
+\code
+ MyWidget* widget = new MyWidget
+ ...
+ QPoint p = widget->pos(); // store position
+ QSize s = widget->size(); // store size
+ ...
+ widget = new MyWidget;
+ widget->resize( s ); // restore size
+ widget->move( p ); // restore position
+ widget->show(); // show widget
+\endcode
+
+This method works on both MS-Windows and most existing X11 window
+managers.
+
+*/
diff --git a/doc/moc.doc b/doc/moc.doc
new file mode 100644
index 0000000..53f23ef
--- /dev/null
+++ b/doc/moc.doc
@@ -0,0 +1,513 @@
+/****************************************************************************
+**
+** Moc usage, expanded from the manual page
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+// Note: Text in this file must also be copied to the moc man page:
+// src/moc/moc.1
+
+/*!
+\page moc.html
+
+\title Using the Meta Object Compiler
+
+\keyword moc
+
+The Meta Object Compiler, moc among friends, is the program which
+handles Qt's \link metaobjects.html C++ extensions.\endlink
+
+The moc reads a C++ source file. If it finds one or more class
+declarations that contain the Q_OBJECT macro, it produces another
+C++ source file which contains the meta object code for the classes
+that use the Q_OBJECT macro. Among other things, meta object code is
+required for the signal/slot mechanism, runtime type information and
+the dynamic property system.
+
+The C++ source file generated by the moc must be compiled and linked
+with the implementation of the class (or it can be #included into the
+class's source file).
+
+If you use \link qmake-manual.book qmake\endlink to create your
+Makefiles, build rules will be included that call the moc when
+required, so you will not need to use the moc directly. For more
+background information on moc, see \link templates.html Why doesn't Qt
+use templates for signals and slots?\endlink.
+
+\section1 Usage
+
+The moc is typically used with an input file containing class declarations
+like this:
+
+\code
+ class MyClass : public QObject
+ {
+ Q_OBJECT
+ public:
+ MyClass( QObject * parent=0, const char * name=0 );
+ ~MyClass();
+
+ signals:
+ void mySignal();
+
+ public slots:
+ void mySlot();
+
+ };
+\endcode
+
+In addition to the signals and slots shown above, the moc also
+implements object properties as in the next example. The Q_PROPERTY
+macro declares an object property, while Q_ENUMS declares a list of
+enumeration types within the class to be usable inside the
+\link properties.html property system\endlink. In this particular
+case we declare a property of the enumeration type \c Priority that is
+also called "priority" and has a get function \c priority() and a set
+function \c setPriority().
+
+\code
+ class MyClass : public QObject
+ {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ MyClass( QObject * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+\endcode
+
+Properties can be modified in subclasses with the Q_OVERRIDE
+macro. The Q_SETS macro declares enums that are to be used as
+sets, i.e. OR'ed together. Another macro, Q_CLASSINFO, can be used to
+attach additional name/value-pairs to the class' meta object:
+
+\code
+ class MyClass : public QObject
+ {
+ Q_OBJECT
+ Q_CLASSINFO( "Author", "Oscar Peterson")
+ Q_CLASSINFO( "Status", "Active")
+ public:
+ MyClass( QObject * parent=0, const char * name=0 );
+ ~MyClass();
+ };
+\endcode
+
+The three concepts, signals and slots, properties and class
+meta-data, can be combined.
+
+The output produced by the moc must be compiled and linked, just like
+the other C++ code in your program; otherwise the build will fail in
+the final link phase. By convention, this is done in one of the
+following two ways:
+
+<dl>
+
+<dt><b>Method A: The class declaration is found in a header
+(\e .h) file</b>
+
+<dd>If the class declaration above is found in the file
+\e myclass.h, the moc output should be put in a file called
+\e moc_myclass.cpp. This file should then be compiled as
+usual, resulting in an object file \e moc_myclass.o (on Unix)
+or \e moc_myclass.obj (on Windows). This object should then be
+included in the list of object files that are linked together in the
+final building phase of the program.
+
+
+<dt><b>Method B: The class declaration is found in an implementation
+(\e .cpp) file</b>
+
+<dd>If the class declaration above is found in the file
+\e myclass.cpp, the moc output should be put in a file called
+\e myclass.moc. This file should be #included in the
+implementation file, i.e. \e myclass.cpp should contain the
+line
+\code
+ #include "myclass.moc"
+\endcode
+at the end. This will cause the moc-generated code to be compiled and
+linked together with the normal class definition in \e myclass.cpp, so
+it is not necessary to compile and link it separately, as in Method A.
+
+</dl>
+
+Method A is the normal method. Method B can be used in cases where you
+want the implementation file to be self-contained, or in cases where
+the Q_OBJECT class is implementation-internal and thus should not be
+visible in the header file.
+
+
+\section1 Automating moc Usage with Makefiles
+
+For anything but the simplest test programs, it is recommended that
+you automate running the moc. By adding some rules to your program's
+Makefile, \e make can take care of running moc when necessary and
+handling the moc output.
+
+We recommend using Trolltech's free makefile generation tool, \link
+qmake-manual.book qmake\endlink, for building your Makefiles. This tool
+recognizes both Method A and B style source files, and generates a
+Makefile that does all the necessary moc handling.
+
+If you want to create your Makefiles yourself, here are some tips on
+how to include moc handling.
+
+For Q_OBJECT class declarations in header files, here is a useful
+makefile rule if you only use GNU make:
+
+\code
+ moc_%.cpp: %.h
+ moc $< -o $@
+\endcode
+
+If you want to write portably, you can use individual rules with the
+following form:
+
+\code
+ moc_NAME.cpp: NAME.h
+ moc $< -o $@
+\endcode
+
+You must also remember to add \e moc_NAME.cpp to your SOURCES
+(substitute your favorite name) variable and \e moc_NAME.o or
+\e moc_NAME.obj to your OBJECTS variable.
+
+(While we prefer to name our C++ source files .cpp, the moc doesn't
+care, so you can use .C, .cc, .CC, .cxx or even .c++ if you
+prefer.)
+
+For Q_OBJECT class declarations in implementation (.cpp) files, we
+suggest a makefile rule like this:
+
+\code
+ NAME.o: NAME.moc
+
+ NAME.moc: NAME.cpp
+ moc -i $< -o $@
+\endcode
+
+This guarantees that make will run the moc before it compiles
+\e NAME.cpp. You can then put
+
+\code
+ #include "NAME.moc"
+\endcode
+
+at the end of \e NAME.cpp, where all the classes declared in
+that file are fully known.
+
+
+\section1 Invoking moc
+
+Here are the command-line options supported by the moc:
+
+\table
+\header \i Option \i Meaning
+\row
+\i -o \e file
+\i Write output to \e file rather than to stdout.
+\row
+\i -f
+\i Force the generation of an #include statement in the
+output. This is the default for files whose name matches the regular
+expression \.[hH][^.]* (i.e. the extension starts with H or h). This
+option is only useful if you have header files that do not follow the
+standard naming conventions.
+\row
+\i -i
+\i Do not generate an #include statement in the output.
+This may be used to run the moc on on a C++ file containing one or
+more class declarations. You should then #include the meta object
+code in the .cpp
+file. If both -i and -f are present, the last one wins.
+\row
+\i -nw
+\i Do not generate any warnings. Not recommended.
+\row
+\i -ldbg
+\i Write a flood of lex debug information to stdout.
+\row
+\i -p \e path
+\i Makes the moc prepend \e {path}/ to
+the file name in the generated #include statement (if one is
+generated).
+\row
+\i -q \e path
+\i Makes the moc prepend \e {path}/ to
+the file name of qt #include files in the generated code.
+\endtable
+
+You can explicitly tell the moc not to parse parts of a header
+file. It recognizes any C++ comment (//) that contains the substrings
+MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you
+can have several levels of them. The net result as seen by the moc is
+as if you had removed all lines between a MOC_SKIP_BEGIN and a
+MOC_SKIP_END.
+
+
+\section1 Diagnostics
+
+The moc will warn you about a number of dangerous or illegal
+constructs in the Q_OBJECT class declarations.
+
+If you get linkage errors in the final building phase of your
+program, saying that YourClass::className() is undefined or that
+YourClass lacks a vtbl, something has been done wrong. Most often,
+you have forgotten to compile or #include the moc-generated C++ code, or
+(in the former case) include that object file in the link command.
+
+
+\section1 Limitations
+
+The moc does not expand #include or #define, it simply skips any
+preprocessor directives it encounters. This is regrettable, but is
+not usually a problem in practice.
+
+The moc does not handle all of C++. The main problem is that class
+templates cannot have signals or slots. Here is an example:
+
+\code
+ class SomeTemplate<int> : public QFrame {
+ Q_OBJECT
+ ...
+ signals:
+ void bugInMocDetected( int );
+ };
+\endcode
+
+Less importantly, the following constructs are illegal. All of them
+have alternatives which we think are usually better, so removing these
+limitations is not a high priority for us.
+
+\section2 Multiple inheritance requires QObject to be first
+
+If you are using multiple inheritance, moc assumes that the \e first
+inherited class is a subclass of QObject. Also, be sure that \e only
+the first inherited class is a QObject.
+
+\code
+ class SomeClass : public QObject, public OtherClass {
+ ...
+ };
+\endcode
+
+(This limitation is almost impossible to remove; since the moc does not expand
+#include or #define, it cannot find out which one of the base classes
+is a QObject.)
+
+\section2 Function pointers cannot be arguments to signals or slots
+
+In most cases where you would consider using function pointers as
+signal/slot arguments, we think inheritance is a better alternative.
+Here is an example of illegal syntax:
+
+\code
+ class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+ public slots:
+ // illegal
+ void apply( void (*apply)(List *, void *), char * );
+ };
+\endcode
+
+You can work around this restriction like this:
+\code
+ typedef void (*ApplyFunctionType)( List *, void * );
+
+ class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+ public slots:
+ void apply( ApplyFunctionType, char * );
+ };
+\endcode
+
+It may sometimes be even better to replace the function pointer with
+inheritance and virtual functions, signals or slots.
+
+\section2 Friend declarations cannot be placed in signals or slots sections
+
+Sometimes it will work, but in general, friend declarations cannot be
+placed in signals or slots sections. Put them in the private,
+protected or public sections instead. Here is an example of the
+illegal syntax:
+
+\code
+ class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+ signals:
+ friend class ClassTemplate<char>; // WRONG
+ };
+\endcode
+
+\section2 Signals and slots cannot be upgraded
+
+The C++ feature of upgrading an inherited member function to
+public status is not extended to cover signals and slots. Here is an
+illegal example:
+
+\code
+ class Whatever : public QButtonGroup {
+ ...
+ public slots:
+ QButtonGroup::buttonPressed; // WRONG
+ ...
+ };
+\endcode
+
+The QButtonGroup::buttonPressed() slot is protected.
+
+C++ quiz: What happens if you try to upgrade a protected member
+function which is overloaded?
+\list 1
+\i All the functions are overloaded.
+\i That is not legal C++.
+\endlist
+
+\omit
+C++ ARM, section r.11.3
+\endomit
+
+\section2 Type macros cannot be used for signal and slot parameters
+
+Since the moc does not expand #define, type macros that take an argument
+will not work in signals and slots. Here is an illegal example:
+
+\code
+ #ifdef ultrix
+ #define SIGNEDNESS(a) unsigned a
+ #else
+ #define SIGNEDNESS(a) a
+ #endif
+
+ class Whatever : public QObject {
+ ...
+ signals:
+ void someSignal( SIGNEDNESS(int) );
+ ...
+ };
+\endcode
+
+A #define without parameters will work as expected.
+
+\section2 Nested classes cannot be in the signals or slots sections nor have
+signals or slots
+
+Here's an example:
+
+\code
+ class A {
+ Q_OBJECT
+ public:
+ class B {
+ public slots: // WRONG
+ void b();
+ ...
+ };
+ signals:
+ class B { // WRONG
+ void b();
+ ...
+ }:
+ };
+\endcode
+
+\section2 Constructors cannot be used in signals or slots sections
+
+It is a mystery to us why anyone would put a constructor in
+either the signals or slots sections. You can't anyway (except
+that it happens to work in some cases). Put them in private,
+protected or public sections, where they belong. Here is an example
+of the illegal syntax:
+
+\code
+ class SomeClass : public QObject {
+ Q_OBJECT
+ public slots:
+ SomeClass( QObject *parent, const char *name )
+ : QObject( parent, name ) { } // WRONG
+ ...
+ };
+\endcode
+
+\section2 Properties need to be declared before the public section that
+contains the respective get and set functions
+
+Declaring the first property within or after the public section that
+contains the type definition and the respective get and set functions
+does not work as expected. The moc will complain that it can neither
+find the functions nor resolve the type. Here is an example of the
+illegal syntax:
+
+\code
+ class SomeClass : public QObject {
+ Q_OBJECT
+ public:
+ ...
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority ) // WRONG
+ Q_ENUMS( Priority ) // WRONG
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+ };
+\endcode
+
+Work around this limitation by declaring all properties at the
+beginning of the class declaration, right after Q_OBJECT:
+
+\code
+ class SomeClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ ...
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+ };
+\endcode
+
+*/
diff --git a/doc/modules.doc b/doc/modules.doc
new file mode 100644
index 0000000..ce0e678
--- /dev/null
+++ b/doc/modules.doc
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Documentation to some of the modules
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page modules.html
+
+\title About Modules
+
+When you install Qt, certain modules are built into the library. For
+the Qt Enterprise Edition, Qt Evaluation Edition and Qt Open Source Edition
+this is all modules. For Qt Professional Edition, the base modules
+are available: the \e{tools}, \e{kernel}, \e{widgets}, \e{dialog},
+\e{iconview}, and \e{workspace} modules. Trolltech does not currently
+offer modules for sale individually.
+
+All modules may be used only under the terms of the licenses associated
+with each Edition.
+
+\list
+\i \link canvas.html Canvas Module\endlink
+\i \link iconview.html IconView Module\endlink
+\i \link network.html Network Module\endlink
+\i \link opengl.html OpenGL Module\endlink
+\i \link sql.html SQL Module\endlink
+\i \link table.html Table Module\endlink
+\i \link workspace.html Workspace (MDI) Module\endlink
+\i \link xml.html XML Module\endlink
+\i \link activeqt.html ActiveQt Framework\endlink:
+ \list
+ \i \link qaxserver.html QAxServer Module\endlink
+ \i \link qaxcontainer.html QAxContainer Module\endlink
+ \endlist
+\i \link motif-extension.html QMotif Extension\endlink
+\i \link netscape-plugin.html Netscape Plugin Extension\endlink
+\endlist
+
+*/
+
+/*!
+\page iconview.html
+
+\title IconView Module
+
+The icon view module provides a powerful visualization widget called
+\l QIconView. API and feature-wise it is similar to \l QListView and
+\l QListBox. It contains optionally labelled pixmap items that the user
+can select, drag around, rename, delete, etc.
+
+<center><a href="qiconview.html"><img src="qiconview-w.png" alt="Screenshot of QIconVIew"></a></center>
+
+Please see the \link qiconview.html class documentation \endlink for
+details.
+
+*/
+
+/*!
+\page workspace.html
+
+\title Workspace Module
+
+The workspace module provides a workspace window that can contain
+decorated document windows for Multiple Document Interfaces (MDI).
+
+It is implemented in a single class \l QWorkspace.
+
+Please see the \link qworkspace.html class documentation \endlink for
+details.
+
+*/
diff --git a/doc/network.doc b/doc/network.doc
new file mode 100644
index 0000000..f6b986d
--- /dev/null
+++ b/doc/network.doc
@@ -0,0 +1,522 @@
+/****************************************************************************
+**
+** Documentation for network programming
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*
+ The text here is due to be replaced by networking.doc, once that's
+ ready.
+*/
+
+/*!
+\page network.html
+
+\title Network Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition \endlink.
+\endif
+
+\tableofcontents
+
+
+\section1 Introduction
+
+The network module offers classes to make network programming easier
+and portable. Essentially, there are three sets of classes, first low
+level classes like \l QSocket, \l QServerSocket, \l QDns, etc. which
+allow you to work in a portable way with TCP/IP sockets. In addition,
+there are classes like \l QNetworkProtocol, \l QNetworkOperation in
+the Qt base library, which provide an abstract layer for implementing
+network protocols and \c QUrlOperator which operates on such network
+protocols. Finally the third set of network classes are the passive
+ones, specifically \c QUrl and \c QUrlInfo which do URL parsing and
+similar.
+
+The first set of classes (\l QSocket, \l QServerSocket, \l QDns, \l
+QFtp, etc.) are included in Qt's "network" module.
+
+The QSocket classes are not directly related to the QNetwork classes,
+but QSocket should and will be used for implementing network
+protocols, which are directly related to the QNetwork classes. For
+example, the QFtp class (which implements the FTP protocol) uses
+QSockets. But QSockets don't need to be used for protocol
+implementations, e.g. QLocalFs (which is an implementation of the
+local filesystem as network protocol) uses QDir and doesn't use
+QSocket. Using QNetworkProtocols you can implement everything which
+fits into a hierarchical structure and can be accessed using URLs.
+This could be, for example, a protocol which can read pictures from a
+digital camera using a serial connection.
+
+
+\section1 Working Network Protocol independently with QUrlOperator and QNetworkOperation
+
+It is quite easy to just use existing network protocol implementations
+and operate on URLs. For example, downloading a file from an FTP
+server to the local filesystem can be done with following code:
+
+\code
+ QUrlOperator op;
+ op.copy( "ftp://ftp.trolltech.com/qt/source/qt-2.1.0.tar.gz", "file:/tmp", FALSE );
+\endcode
+
+And that's all! Of course an implementation of the FTP protocol has to
+be available and registered for doing that. More information on that
+later.
+
+You can also do things like creating directories, removing files,
+renaming, etc. For example, to create a folder on a private FTP
+account do
+
+\code
+ QUrlOperator op( "ftp://username:password@host.domain.no/home/username" );
+ op.mkdir( "New Directory" );
+\endcode
+
+To see all available operations, look at the \c QUrlOperator class
+documentation.
+
+Since networking works asynchronously, the function call for an
+operation will normally return before the operation has been
+completed. This means that the function cannot return a value
+indicating failure or success. Instead, the return value always is a
+pointer to a \c QNetworkOperation, and this object stores
+all the information about the operation.
+
+For example, \c QNetworkOperation has a method which returns the state
+of this operation. Using this you can find out the state of the
+operation at any time. The object also makes available the arguments
+you passed to the \c QUrlOperator method, the type of the operation
+and some more information. For more details see the class
+documentation of \c QNetworkOperation.
+
+The \c QUrlOperator emits signals to inform you about the progress of
+the operations. As you can call many methods which operate on a \c
+QUrlOperator's URL, it queues up all the operations. So you can't know
+which operation the \c QUrlOperator just processed. Clearly you will
+want to know which operation just took place, so each signal's last
+argument is a pointer to the \c QNetworkOperation object which was
+just processed and which caused the signal to be emitted.
+
+Some of these operations send a \c start() signal at the beginning (if
+this makes sense), and some of them send some signals during
+processing. All operations send a \c finished() signal after they are
+done. To find that out if an operation finished successfully you can
+use the \c QNetworkOperation pointer you got with the \c finished()
+signal. If \c QNetworkOperation::state() equals \c
+QNetworkProtocol::StDone the operation finished successfully, if it is
+\c QNetworkProtocol::StFailed the operation failed.
+
+Example: A slot which you might connect to the
+\c{QUrlOperator::finished( QNetworkOperation * )}
+\code
+void MyClass::slotOperationFinished( QNetworkOperation *op )
+{
+ switch ( op->operation() ) {
+ case QNetworkProtocol::OpMkDir:
+ if ( op->state() == QNetworkProtocol::StFailed )
+ qDebug( "Couldn't create directory %s", op->arg( 0 ).latin1() );
+ else
+ qDebug( "Successfully created directory %s", op->arg( 0 ).latin1() );
+ break;
+ // ... and so on
+ }
+}
+\endcode
+
+As mentioned earlier, some operations send other signals too. Let's
+take the list children operation as an example (e.g. read a directory
+on a FTP server):
+
+\code
+QUrlOperator op;
+
+MyClass::MyClass() : QObject(), op( "ftp://ftp.trolltech.com" )
+{
+ connect( &op, SIGNAL( newChildren( const QValueList<QUrlInfo> &, QNetworkOperation * ) ),
+ this, SLOT( slotInsertEntries( const QValueList<QUrlInfo> &, QNetworkOperation * ) ) );
+ connect( &op, SIGNAL( start( QNetworkOperation * ) ),
+ this, SLOT( slotStart( QNetworkOperation *) ) );
+ connect( &op, SIGNAL( finished( QNetworkOperation * ) ),
+ this, SLOT( slotFinished( QNetworkOperation *) ) );
+}
+
+void MyClass::slotInsertEntries( const QValueList<QUrlInfo> &info, QNetworkOperation * )
+{
+ QValueList<QUrlInfo>::ConstIterator it = info.begin();
+ for ( ; it != info.end(); ++it ) {
+ const QUrlInfo &inf = *it;
+ qDebug( "Name: %s, Size: %d, Last Modified: %s",
+ inf.name().latin1(), inf.size(), inf.lastModified().toString().latin1() );
+ }
+}
+
+void MyClass::slotStart( QNetworkOperation * )
+{
+ qDebug( "Start reading '%s'", op.toString().latin1() );
+}
+
+void MyClass::slotFinished( QNetworkOperation *operation )
+{
+ if ( operation->operation() == QNetworkProtocol::OpListChildren ) {
+ if ( operation->state() == QNetworkProtocol::StFailed )
+ qDebug( "Couldn't read '%s'! Following error occurred: %s",
+ op.toString().latin1(), operation->protocolDetail().latin1() );
+ else
+ qDebug( "Finished reading '%s'!", op.toString().latin1() );
+ }
+}
+
+\endcode
+
+These examples demonstrate now how to use the \c QUrlOperator and \c
+QNetworkOperations. The network extension also contains useful example
+code.
+
+
+\section2 Implementing your own Network Protocol
+
+\c QNetworkProtocol provides a base class for implementations
+of network protocols and an architecture for the a dynamic
+registration and de-registration of network protocols. If you use this
+architecture you don't need to care about asynchronous programming, as
+the architecture hides this and does all the work for you.
+
+\e{Note} It is difficult to design a base class for network protocols
+which is useful for all network protocols. The architecture described
+here is designed to work with all kinds of hierarchical structures,
+like filesystems. So everything which can be interpreted as
+hierarchical structure and accessed via URLs, can be implemented as
+network protocol and easily used in Qt. This is not limited to
+filesystems only!
+
+To implement a network protocol create a class derived from
+\c QNetworkProtocol.
+
+Other classes will use this network protocol implementation
+to operate on it. So you should reimplement following protected members
+
+\code
+ void QNetworkProtocol::operationListChildren( QNetworkOperation *op );
+ void QNetworkProtocol::operationMkDir( QNetworkOperation *op );
+ void QNetworkProtocol::operationRemove( QNetworkOperation *op );
+ void QNetworkProtocol::operationRename( QNetworkOperation *op );
+ void QNetworkProtocol::operationGet( QNetworkOperation *op );
+ void QNetworkProtocol::operationPut( QNetworkOperation *op );
+\endcode
+
+Some notes on reimplementing these methods: You always get a pointer
+to a \c QNetworkOperation as argument. This pointer holds all the
+information about the operation in the current state. If you start
+processing such an operation, set the state to \c
+QNetworkProtocol::StInProgress. If you finished processing the
+operation, set the state to \c QNetworkProtocol::StDone if it was
+successful or \c QNetworkProtocol::StFailed if an error occurred. If
+an error occurred you must set an error code (see
+\c{QNetworkOperation::setErrorCode()}) and if you know some details
+(e.g. an error message) you can also set this message to the operation
+pointer (see \c{QNetworkOperation::setProtocolDetail()}). Also you get
+all the relevant information (type, arguments, etc.) about the
+operation from the \c QNetworkOperation pointer. For details about
+which arguments you can get and set look at \c{QNetworkOperation}'s
+class documentation.
+
+If you reimplement an operation function, it's very important to emit
+the correct signals at the correct time: In general always emit \c
+finished() at the end of an operation (when you either successfully
+finished processing the operation or an error occurred) with the
+network operation as argument. The whole network architecture relies
+on correctly emitted \c finished() signals! Then there are some more
+specialized signals which are specific to operations:
+\list
+ \i Emit in \c operationListChildren:
+ \list
+ \i \c start() just before starting to list the children
+ \i \c newChildren() when new children are read
+ \endlist
+ \i Emit in \c operationMkDir:
+ \list
+ \i \c createdDirectory() after the directory has been created
+ \i \c newChild() (or newChildren()) after the directory has been
+ created (since a new directory is a new child)
+ \endlist
+ \i Emit in \c operationRemove:
+ \list
+ \i \c removed() after a child has been removed
+ \endlist
+ \i Emit in \c operationRename:
+ \list
+ \i \c itemChanged() after a child has been renamed
+ \endlist
+ \i Emit in \c operationGet:
+ \list
+ \i \c data() each time new data has been read
+ \i \c dataTransferProgress() each time new data has been read to
+ indicate how much of the data has been read now.
+ \endlist
+ \i Emit in \c operationPut:
+ \list
+ \i \c dataTransferProgress() each time data has been written to
+ indicate how much of the data has been written. Although you
+ know the whole data when this operation is called, it's
+ suggested not to write the whole data at once, but to do it
+ step by step to avoid blocking the GUI. Doing things
+ incrementally also means that progress can be made visible
+ to the user.
+ \endlist
+\endlist
+
+And remember, always emit the \c finished() signal at the end!
+
+For more details about these signals' arguments look at the \c
+QNetworkProtocol class documentation.
+
+Here is a list of which \c QNetworkOperation arguments you can get and
+which you must set in which function:
+
+(To get the URL on which you should work, use the \c
+QNetworkProtocol::url() method which returns a pointer to the URL
+operator. Using that you can get the path, host, name filter, etc.)
+
+\list
+ \i In \c operationListChildren:
+ \list
+ \i Nothing.
+ \endlist
+ \i In \c operationMkDir:
+ \list
+ \i \c QNetworkOperation::arg( 0 ) contains the name of the directory which should be created
+ \endlist
+ \i In \c operationRemove:
+ \list
+ \i \c QNetworkOperation::arg( 0 ) contains the name of the file
+ which should be removed. Normally this is a relative name. But
+ it could be absolute. Use QUrl( op->arg( 0 ) ).fileName()
+ to get the filename.
+ \endlist
+ \i In \c operationRename:
+ \list
+ \i \c QNetworkOperation::arg( 0 ) contains the name of the file
+ which should be renamed
+ \i \c QNetworkOperation::arg( 1 ) contains the name to which it
+ should be renamed.
+ \endlist
+ \i In \c operationGet:
+ \list
+ \i \c QNetworkOperation::arg( 0 ) contains the full URL of the
+ file which should be retrieved.
+ \endlist
+ \i In \c operationPut:
+ \list
+ \i \c QNetworkOperation::arg( 0 ) contains the full URL of the
+ file in which the data should be stored.
+ \i \c QNetworkOperation::rawArg( 1 ) contains the data which
+ should be stored in \c QNetworkOperation::arg( 0 )
+ \endlist
+\endlist
+
+In summary: If you reimplement an operation function, you must emit
+some special signals and at the end you must \e always emit a \c
+finished() signal, regardless of success or failure. Also you must
+change the state of the \c QNetworkOperation during processing. You
+can also get and set \c QNetworkOperation arguments as the operation
+progresses.
+
+It may occur that the network protocol you implement only requires a
+subset of these operations. In such cases, simply reimplement the
+operations which are supported by the protocol. Additionally you must
+specify which operations you support. This is achieved by
+reimplementing
+
+\code
+ int QNetworkProtocol::supportedOperations() const;
+\endcode
+
+In your implementation of this method return an \c int value
+which is constructed by OR-ing together the correct values
+(supported operations) of the following enum (of \c QNetworkProtocol):
+
+\list
+\i \c OpListChildren
+\i \c OpMkDir
+\i \c OpRemove
+\i \c OpRename
+\i \c OpGet
+\i \c OpPut
+\endlist
+
+For example, if your protocol supports listing children and renaming
+them, your implementation of \c supportedOperations() should do this:
+
+\code
+ return OpListChildren | OpRename;
+\endcode
+
+The last method you must reimplement is
+
+\code
+ bool QNetworkProtocol::checkConnection( QNetworkOperation *op );
+\endcode
+
+Here you must return TRUE, if the connection is up and okay (this means
+operations on the protocol can be done). If the connection is not okay,
+return FALSE and start to try opening it. If you cannot open the
+connection at all (e.g. because the host is not found), emit a \c finished()
+signal and set an error code and the \c QNetworkProtocol::StFailed state to
+the \c QNetworkOperation pointer you get here.
+
+Now, you never need to check before doing an operation yourself, if
+the connection is okay. The network architecture does this, which
+means it uses \c checkConnection() to see if an operation can be done
+and if not, it tries it again and again for some time, only calling an
+operation function if the connection is okay.
+
+To be able to use a network protocol with a QUrlOperator (and so, for
+example, in the QFileDialog), you must register the network
+protocol implementation. This can be done like this:
+
+\code
+ QNetworkProtocol::registerNetworkProtocol( "myprot", new QNetworkProtocolFactory<MyProtocol> );
+\endcode
+
+In this case \c MyProtocol would be a class you implemented as
+described here (derived from \c QNetworkProtocol) and the name of the
+protocol would be "myprot". So to use it, you would do something like
+
+\code
+ QUrlOperator op( "myprot://host/path" );
+ op.listChildren();
+\endcode
+
+Finally, as example of a network protocol implementation you could
+look at the implementation of QLocalFs. The network extension also
+contains an example implementation of a network protocol.
+
+
+\section2 Error Handling
+
+Error handling is important for both implementing new network
+protocols for and using them (through \c QUrlOperator).
+
+After processing an operation has been finished the network operation
+the QUrlOperator emits the \c finished() signal. This has as argument
+a pointer to the processed \c QNetworkOperation. If the state of this
+operation is \c QNetworkProtocol::StFailed, the operation contains
+some more information about this error. The following error codes are
+defined in \c QNetworkProtocol:
+
+\table
+\header \i Error \i Meaning
+\row \i \c QNetworkProtocol::NoError
+ \i No error occurred
+\row \i \c QNetworkProtocol::ErrValid
+ \i The URL you are operating on is not valid
+\row \i \c QNetworkProtocol::ErrUnknownProtocol
+ \i There is no protocol implementation available for the protocol
+ of the URL you are operating on (e.g. if the protocol is http
+ and no http implementation has been registered)
+\row \i \c QNetworkProtocol::ErrUnsupported
+ \i The operation is not supported by the protocol
+\row \i \c QNetworkProtocol::ErrParse
+ \i Parse error of the URL
+\row \i \c QNetworkProtocol::ErrLoginIncorrect
+ \i You needed to login but the username or password are wrong
+\row \i \c QNetworkProtocol::ErrHostNotFound
+ \i The specified host (in the URL) couldn't be found
+\row \i \c QNetworkProtocol::ErrListChildren
+ \i An error occurred while listing the children
+\row \i \c QNetworkProtocol::ErrMkDir
+ \i An error occurred when creating a directory
+\row \i \c QNetworkProtocol::ErrRemove
+ \i An error occurred while removing a child
+\row \i \c QNetworkProtocol::ErrRename
+ \i An error occurred while renaming a child
+\row \i \c QNetworkProtocol::ErrGet
+ \i An error occurred while getting (retrieving) data
+\row \i \c QNetworkProtocol::ErrPut
+ \i An error occurred while putting (uploading) data
+\row \i \c QNetworkProtocol::ErrFileNotExisting
+ \i A file which is needed by the operation doesn't exist
+\row \i \c QNetworkProtocol::ErrPermissionDenied
+ \i The permission for doing the operation has been denied
+\endtable
+
+\c QNetworkOperation::errorCode() returns one of these codes or
+perhaps a different one if you use your an own network protocol
+implementation which defines additional error codes.
+
+\c QNetworkOperation::protocolDetails() may also return a string which
+contains an error message then which might be suitable for display to
+the user.
+
+If you implement your own network protocol, you must report any
+errors which occurred. First you always need to be able to
+access the \c QNetworkOperation which is being processed at the
+moment. This is done using \c
+QNetworkOperation::operationInProgress(), which returns a pointer to
+the current network operation or 0 if no operation is processed at the
+moment.
+
+Now if an error occurred and you need to handle it, do this:
+\code
+ if ( operationInProgress() ) {
+ operationInProgress()->setErrorCode( error_code_of_your_error );
+ operationInProgress()->setProtocolDetails( detail ); // optional
+ emit finished( operationInProgress() );
+ return;
+ }
+\endcode
+
+That's all. The connection to the \c QUrlOperator and so on is done
+automatically. Additionally, if the error was really bad so that no
+more operations can be done in the current state (e.g. if the host
+couldn't be found), call \c QNetworkProtocol::clearOperationStack() \e
+before emitting \c finished().
+
+Ideally you should use one of the predefined error codes of \c
+QNetworkProtocol. If this is not possible, you can add own error codes
+- they are just normal \c{int}s. Just be careful that the value of the
+error code doesn't conflict with an existing one.
+
+An example to look at is in qt/examples/network/ftpclient.
+This is the implementation of a fairly complete FTP client, which
+supports uploading and downloading files, making directories, etc.,
+all done using \c QUrlOperators.
+
+You might also like to look at QFtp (in qt/src/network/qftp.cpp) or at
+the example in qt/examples/network/networkprotocol/nntp.cpp.
+
+*/
diff --git a/doc/networking.doc b/doc/networking.doc
new file mode 100644
index 0000000..e943e99
--- /dev/null
+++ b/doc/networking.doc
@@ -0,0 +1,386 @@
+/*
+ This is under development; the text is intended to replace
+ network.doc.
+*/
+
+/*
+
+\page networking.html
+
+\title Network Module
+
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition \endlink.
+\endif
+
+\tableofcontents
+
+\section1 Introduction
+
+Qt's networking classes make it straightforward to write
+cross-platform networking applications.
+
+The networking classes can be divided into three groups:
+\list 1
+\i <b>High Level Network Programming</b>
+
+QUrlOperator, QNetworkProtocol (and its QFtp and QHttp subclasses),
+along with QNetworkOperator, provide a simple high level API for
+performing network operations in a network- and protocol-transparent
+manner. For example, using QUrlOperator, you can fetch a file across
+the network, with just one line of code.
+\omit
+When QHttpClient, QFtpClient and QHttpServer are available, we'll
+refer to them her.
+\endomit
+
+\i <b>Medium Level Network Programming</b>
+
+The QSocket and QServerSocket classes provide an easy-to-use
+API for client and server socket programming.
+
+These classes require an event loop and must be used within an
+application's GUI thread. They are ideal for end-user
+applications that need network access, but they are not suitable for
+console applications or for high performance daemons (services).
+
+\i <b>Low Level Network Programming</b>
+
+The QSocketDevice and QDns classes provide low level networking
+access. QSocketDevice can be used for UDP as well as TCP/IP, and can
+be used in the non-GUI threads of a multi-threaded application. QDns
+performs simple hostname lookups, and also more specialised lookups,
+such as Mx records, name Ptr records, etc.
+
+These classes are suitable for all types of applications, from GUI
+end-user applications to console applications and high performance
+daemons (services).
+
+\endlist
+
+The class documentation for each class presents the functionality and
+usage of the class. In this document we will explore typical uses of
+Qt's networking classes, showing how they are used in practice.
+
+If you are using standard network protocols, such as FTP and HTTP, you
+must register them before you can use QUrlOperator. For example, put
+the following call in your \c main() function, after creating your
+QApplication object:
+\code
+ qInitNetworkProtocols();
+\endcode
+
+\section1 Network- and Protocol-Transparent Operations
+
+Copying files is simple:
+\code
+ QUrlOperator url;
+ url.copy( QString("ftp://ftp.trolltech.com/qt/source/qt-3.0.0.tar.gz"), "file:/tmp" );
+\endcode
+The first (source) URL is copied to the second (destination) URL. The
+\link QUrlOperator::copy() copy()\endlink function can be used to move
+as well as copy.
+
+QUrlOperator also provides \link QUrlOperator::listChildren()
+listChildren()\endlink to obtain a list of the files in a given
+directory, \link QUrlOperator::mkdir() mkdir()\endlink, to create a
+directory, as well as \link QUrlOperator::rename() rename()\endlink
+and \link QUrlOperator::remove() remove()\endlink.
+
+\code
+ QUrlOperator url;
+ url.get( "http://www.somedomain.com/cgi-bin/lookup.pl?name=Buzz" );
+\endcode
+The \link QUrlOperator::get() get()\endlink function is used to get
+data, in this example from a query issued to a web site. There is also
+a \link QUrlOperator::put() put()\endlink function for writing data to
+a remote file.
+
+All operations are performed asynchronously. To find out the results
+of an operation connect to the QUrlOperator::finished() signal and
+examine the QNetworkOperation object passed to it.
+
+The QUrlOperator class also provides other functions and many more
+signals to make it easy to track the progress of an operation. These
+signals could be used, for example, to provide feedback on progress to
+the user.
+
+\section2 Example: Fetching All the Files in a Remote Directory
+
+This example class is used as follows:
+\code
+ FetchFiles ff( "ftp://ftp.trolltech.com" );
+ connect( &myWidget, stop(), &ff, stop() );
+ connect( &ff, start(), &myWidget, start() );
+ connect( &ff, startFile(), &myWidget, startFile() );
+ connect( &ff, finishedFile(), &myWidget, finishedFile() );
+ connect( &ff, finished(), &myWidget, finished() );
+ connect( &ff, error(), &myWidget, error() );
+ ff.fetch();
+\endcode
+The FetchFiles constructor takes a URL. When \c fetch() is called, the
+FetchFiles object will iterate over every file it finds at the given
+URL and download each one that is a regular file, (i.e. ignoring
+directories). The FetchFiles object will emit signals as follows:
+\list
+\i start() -- emitted when it calls listChildren().
+\i startFile( QString ) -- emitted once for each file it starts to
+copy, parameterised by the filename.
+\i finishedFile( QString ) -- emitted once for each file it finishes
+copying, parameterised by the filename.
+\i finished() -- emitted when all files have been read.
+\i error() -- emitted if an error occurs.
+\endlist
+
+By connecting the signals to a widget you can keep the user notified
+regarding progress.
+
+The object also has a \c stop() slot, which you can connect to. This
+is useful if you want the user to be able to cancel the operation
+before it is complete.
+
+### Rainer: is this a good example? If it is, I'll try to write the code.
+
+\section3 The FetchFiles header file
+
+\section3 The FetchFiles C++ file
+
+
+\section1 Client/Server Applications that use Custom Protocols
+
+
+
+In this section we'll present creation of the simple Information Server and two Clients - one that uses direct network programming, using QServerSocket and QSocket and the other one that uses QNetworkProtocol subclass.
+
+For that purpose we developed a very simple communication protocol between sever and clients.
+Data is stored at server in hierarchical structure (similar to file systems) with folder (directory) and data (file) nodes. Our protocol uses only two directives - \c LIST and \c GET.
+Server accepts only those two commands and returns one or more lines of the following format:
+
+"xxxM line_content"
+xxx represents the return message code, If character M (More) is '+' that means that it's not the last line of the response, and if M is ' ' (space) than it is the last line.
+
+LIST directory_node_path
+Response: "212+T child_address"
+
+It lists all children of given directory node. It returns a line for every child of the directory. T stands for Type and can be 'D' for directories or 'F' for file nodes. Last line of response will always be "212 ".
+
+GET data_node_path
+Response: "213+ one_data_line"
+
+GET returns specified file line by line. Last line is always "213 ".
+
+There are two more responses:
+"500 File not found" - path points to non-existent node.
+"550 Syntax error" - error in command parsing.
+
+
+\section2 Info Server
+
+First, we'll write a simple server that keeps information data in a tree structure and supports described communication protocol.
+Data and supported operations handles \e InfoData class. We will present here just the public interface of that class:
+
+\quotefile network/infoprotocol/infoserver/infodata.h
+
+\skipto class InfoData
+\printuntil };
+
+\caption From \l network/infoprotocol/infoserver/infodata.h
+
+\c InfoData::list lists all node children, while \c InfoData::get gets the data file. You can see this class implementation in file \l network/infoprotocol/infoserver/infodata.cpp. For this example, we just hard coded description of one small office network.
+
+The main idea follows: Server creates the SimpleServer object (QServerSocket subclass) which listens on the specified port and, when receives connection request from a client, creates ClientSocket object (QSocket subclass) to handle that connection. ClientSocket recognizes two mentioned operations (list and get), performs them on InfoData object and returns generated response back to the client.
+
+Let us look at Server implementation (\l network/infoprotocol/infoserver/server.cpp):
+\quotefile network/infoprotocol/infoserver/server.cpp
+
+\skipto ::SimpleServer
+\printuntil exit
+\printline }
+\printline }
+
+In the SimpleServer base class QServerSocket constructor tries to bind itself to the given port. We use QServerSocket::ok() to find out if that was successful and to detect eventual problems. After that it will monitor that port an call QServerSocket::newConnection() every time a succesful connection with client is made.
+
+\skipto newConnection
+\printuntil }
+
+This is reimplemented pure virtual function QServerSocket::newConnection(). It creates ClientSocket which will be responsible for just established incoming connection with \e socket as the file descriptor.
+
+\skipto ClientSocket
+\printuntil }
+
+ClientSocket constructor connects QSocket::readyRead() signal which is emitted when something arrives from the Client. We also want to know when connection is terminated. When SimpleServer creates ClientSocket, connection is already established, so we just need to specify used socket with QSocket::setSocket().
+
+\skipto readClient
+\printuntil }
+\printline }
+
+This slot is called every time we receive some data via socket.
+Our communication protocol is textual and line oriented, and socket communication is asynchronous (don't forget that, we don't know when readyRead() will be emitted, or will that be at the end of the line), so we have to check with QSocket::canReadLine() if the full line has been received. Because each input line presents one command in this protocol (list or get) we will process it and return generated answer through the socket back to the Client.
+Function processCommand() parses the input line and if it recognizes LIST or GET command, calls corresponding (InfoData*)info methods - list and get, otherwise creates appropriate error message.
+QSocket is a subclass of QIODevice, thus we can use QTextStream to read and write lines to it.
+
+
+
+\skipto connectionClosed
+\printuntil }
+
+When connection closes, ClientSocket is not needed anymore, so it deletes itself. New one will be created upon new connection.
+
+
+\section2 Info Client
+
+Now, lets see the example of a Client that will use this Server, implemented through direct socket programming with QSocket (\l network/infoprotocol/infoclient/client.cpp)
+
+\quotefile network/infoprotocol/infoclient/client.cpp
+
+\skipto ::connectToServer
+\printuntil }
+
+Because user connects to the server by request (btnConnect), connectToServer() dynamically creates new QSocket which will carry out the connection with the server. Signal QSocket::connected() is emitted after connection is successfully performed, and QSocket::error(int) is emitted with error code on any error. Because communication is asynchronous, we can't check if QSocket::connectToHost() succeeded or not. That's why we must rely on signals.
+
+
+\skipto ::sendToServer
+\printuntil os <<
+\printline }
+
+This function sends a command to the server. Notice that is uses QTextStream to send data via socket.
+
+
+\skipto ::socketReadyRead
+\printuntil append( line.mid
+\printline }
+\printline }
+\printline }
+
+Here we parse responses from the server. It's worth noting again that the communication is asynchronous and it must not be assumed when and how the data will come. The fact that server socket sends all data lines at once (in one loop) does not mean that client socket will receive them as one package and emit one readyRead() signal. That is why we designed our protocol to have termination line , with M = ' ' (e.g. "213 "). In this example the line code will determine its destination (infoList or infoText), but in more advanced usage client would probably require some sort of the finite state machine, as we'll se in the next example.
+
+
+\skipto ::socketConnectionClosed()
+\printuntil .arg
+\printline }
+
+It is not mandatory, of course, but it's good programming practice to cover errors and termination of the connection. Also, the best way to detect if the connecting to host succeeded (using connectToHost()) is use of an error(int) signal.
+
+
+\section2 Info Url Client
+
+It is time to illustrate how to use QNetworkProtocol, QNetworkOperation and QUrlOperator to register our communication protocol and make it on par to already implemented protocols, like QFtp, QHttp and QLocalFs. This will give us much larger flexibility in use and let us use Qt class that supports Network Protocols, e.g. QFileDialog.
+
+First, here is the header file in which Qip (our custom Network
+Protocol) is declared (\c network/infoprotocol/infourlclient/qip.h):
+
+\quotefile network/infoprotocol/infourlclient/qip.h
+
+\skipto Qip
+\printuntil };
+
+QNetworkProtocol is the base class for every Network Protocol class. Because this protocol uses network, we embedded one QSocket* member variable to which we'll delegate network communication. Protocols that doesn't require to use network will do it on their own way - e.g. QLocalFs uses QDir, some data acquisition protocol may use serial or USB connection, only requirement is that protocol uses hierarchical structure and can be accessed using URLs (to have addressable nodes).
+
+Let us go to the Qip implementation (\c
+network/infoprotocol/infourlclient/qip.cpp):
+
+\quotefile network/infoprotocol/infourlclient/qip.cpp
+
+\skipto Qip
+\printuntil }
+
+Because we use QSocket to perform network communication for us we have to initialize \e socket in the similar way we did in previous example.
+
+\skipto supportedOperations
+\printuntil }
+
+We have to announce which of the supported operations our protocol supports. For the complete list of available operations, see QNetworkProtocol::Operation.
+
+\skipto checkConnection
+\printuntil }
+
+In this function protocol checks if the connection is established, and if not, tries to do so. Again, because of the asynchronous nature of the QSocket, we don't know when and how connectToHost() will be finished, so we need to test if socket are still trying to make a connection.
+
+\skipto operationListChildren
+\printuntil GET
+\printuntil ;
+\printuntil }
+
+Here we implement two supported operations. QUrlOperator is class that initiated our protocol at first (after spotting that url starts with "qip://"), and can be approached with url() function. We'll use it to find path to our node. E.g. if url was "qip://my_server/network/fax/", path() would return "/network/fax/", while host() would be "my_server". For each operation, QNetworkOperation object is created to hold its state and description. We will mark here that current operation started. See all operation states at QNetworkProtocol::State.
+
+\skipto ::socketReadyRead
+\printuntil finished
+\printuntil }
+\printuntil }
+\printuntil }
+
+Implementation is very similar to previous example in addition that there are now some signal emitting requirements, so we had to use simple state machine here. In list operation we have to emit start(QNetworkOperation*) before first child, and then to emit QNetworkProtocol::newChild (const QUrlInfo&, QNetworkOperation*) for each child listed from the server. For get operation, we should emit QNetworkProtocol::data (const QByteArray&, QNetworkOperation*) for each data chunk received (in this case, one text line). It is very important that \e every operation finishes with QNetworkProtocol::finished(QNetworkOperation*) signal!
+
+\skipto error
+\printuntil state
+\printline }
+
+In the case of an error we set error state, code and message, and, important enough and deserves to be mention again, emit finished(QNetworkOperation*) signal.
+
+Now, when we have our QNetworkProtocol Qip implemented, Info Url Client will be much simpler than in previous QSocket example.
+But, before we can use our new protocol, we have to register it first, so QUrlOperators can react on it. We have done it in the main.cpp (\l network/infoprotocol/infourlclient/main.cpp):
+
+\quotefile network/infoprotocol/infourlclient/main.cpp
+\skipto register
+\printline register
+
+This registers Qip protocol and bonds it to prefix "qip". You can use qInitNetworkProtocols() which registers pre coded Ftp (for "ftp") and Http ("http") protocols. Local file system (QLocalFs) is always registered.
+
+Client implementation (\c network/infoprotocol/infourlclient/client.cpp):
+
+\quotefile network/infoprotocol/infourlclient/client.cpp
+\skipto ::ClientInfo
+\printuntil }
+
+Qip protocol will send us data lines, our is just to pick them and process. Note that here we don't use finished() signal which we'd like to use if we want to know when the full file is received. In that case, in appropriate slot, we would like to check if it's ( operationInProgress()->operation() == QNetworkProtocol::OpGet ).
+
+\skipto ::downloadFile
+\printuntil get
+\printuntil }
+\printuntil }
+
+Here is where we use some QNetworkProtocol magic. (QUrlOperator)op is constructed from a selected url \e file, and then we just use QUrlOperator::get() to fetch its content.
+
+\skipto ::getOpenFileName
+\printuntil return
+\printuntil }
+
+This function implements simple QFileDialog that will serve us to browse through the nodes on the server and to select one data node to view. Starting url is "qip://localhost/" which indicates to QFileDialog that we want to use Qip protocol served on the local server. We could also specify the exact port, e.g. "qip://my_server:123" will try to inquire my_server over port 123, otherwise the default port is used.
+We didn't use static function QFileDialog::getOpenFileName() because under Windows and Mac OS X, it will usually use the native file dialog and not a QFileDialog, in which case we wouldn't be able to use our protocol at all.
+
+
+\section2 Creating a Custom Protocol
+
+### Rainer: have we an example that I can use?
+
+\section2 Client Applications that use Custom Protocols
+
+### Rainer: have we an example that I can use?
+
+\section2 Server Applications that use Custom Protocols
+
+### Rainer: have we an example that I can use?
+
+\section1 Client/Server Applications that use Standard Protocols
+
+### Rainer: have we an example that I can use?
+
+\section2 Client Applications that use Standard Protocols
+
+### Rainer: have we an example that I can use?
+
+\section2 Server Applications that use Standard Protocols
+
+### Rainer: have we an example that I can use?
+
+\section1 Inter-Process Communication between Qt Applications
+
+### Rainer: have we an example that I can use?
+
+\section1 Inter-Process Communication between Qt and non-Qt Applications
+
+### Rainer: have we an example that I can use?
+
+
+*/
diff --git a/doc/object.doc b/doc/object.doc
new file mode 100644
index 0000000..4ff1e98
--- /dev/null
+++ b/doc/object.doc
@@ -0,0 +1,763 @@
+/****************************************************************************
+**
+** Explanation of the Qt object model
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page object.html
+
+\title Qt Object Model
+
+The standard C++ Object Model provides very efficient runtime support
+for the object paradigm. But the C++ Object Model's static nature is
+inflexibile in certain problem domains. Graphical User Interface
+programming is a domain that requires both runtime efficiency and a
+high level of flexibility. Qt provides this, by combining the speed of
+C++ with the flexibility of the Qt Object Model.
+
+Qt adds these features to C++:
+
+\list
+\i a very powerful mechanism for seamless object
+ communication called \link signalsandslots.html signals and
+ slots \endlink;
+\i queryable and designable \link properties.html object
+ properties \endlink;
+\i powerful \link eventsandfilters.html events and event filters \endlink,
+\i contextual \link i18n.html string translation for internationalization \endlink;
+\i sophisticated interval driven \link timers.html timers \endlink
+ that make it possible to elegantly integrate many tasks in an
+ event-driven GUI;
+\i hierarchical and queryable \link objecttrees.html object
+ trees \endlink that organize object ownership in a natural way;
+\i guarded pointers, \l QGuardedPtr, that are automatically
+ set to 0 when the referenced object is destroyed, unlike normal C++
+ pointers which become "dangling pointers" when their objects are destroyed.
+\endlist
+
+Many of these Qt features are implemented with standard C++
+techniques, based on inheritance from \l QObject. Others, like the
+object communication mechanism and the dynamic property system,
+require the \link metaobjects.html Meta Object System \endlink provided
+by Qt's own \link moc.html Meta Object Compiler (moc) \endlink.
+
+The Meta Object System is a C++ extension that makes the language
+better suited to true component GUI programming. Although templates can
+be used to extend C++, the Meta Object System provides benefits using
+standard C++ that cannot be achieved with templates; see \link
+templates.html Why doesn't Qt use templates for signals and
+slots? \endlink.
+
+*/
+
+
+
+
+/*!
+\page timers.html
+
+\title Timers
+
+\l QObject, the base class of all Qt objects, provides the basic timer
+support in Qt. With \l QObject::startTimer(), you start a timer with
+an \e interval in milliseconds as argument. The function returns a
+unique integer timer id. The timer will now "fire" every \e interval
+milliseconds, until you explicitly call \l QObject::killTimer() with
+the timer id.
+
+For this mechanism to work, the application must run in an event
+loop. You start an event loop with \l QApplication::exec(). When a
+timer fires, the application sends a QTimerEvent, and the flow of
+control leaves the event loop until the timer event is processed. This
+implies that a timer cannot fire while your application is busy doing
+something else. In other words: the accuracy of timers depends on the
+granularity of your application.
+
+There is practically no upper limit for the interval value (more than
+one year is possible). The accuracy depends on the underlying operating
+system. Windows 95/98 has 55 millisecond (18.2 times per second)
+accuracy; other systems that we have tested (UNIX X11 and Windows NT)
+can handle 1 millisecond intervals.
+
+The main API for the timer functionality is \l QTimer. That class
+provides regular timers that emit a signal when the timer fires, and
+inherits \l QObject so that it fits well into the ownership structure
+of most GUI programs. The normal way of using it is like this:
+\code
+ QTimer * counter = new QTimer( this );
+ connect( counter, SIGNAL(timeout()),
+ this, SLOT(updateCaption()) );
+ counter->start( 1000 );
+\endcode
+
+The counter timer is made into a child of this widget, so that when
+this widget is deleted, the timer is deleted too. Next, its timeout
+signal is connected to the slot that will do the work, and finally
+it's started.
+
+QTimer also provides a simple one-shot timer API. \l QButton uses this
+to show the button being pressed down and then (0.1 seconds later) be
+released when the keyboard is used to "press" a button, for example:
+
+\code
+ QTimer::singleShot( 100, this, SLOT(animateTimeout()) );
+\endcode
+
+0.1 seconds after this line of code is executed, the same button's
+animateTimeout() slot is called.
+
+Here is an outline of a slightly longer example that combines object
+communication via signals and slots with a QTimer object. It
+demonstrates how to use timers to perform intensive calculations in a
+single-threaded application without blocking the user interface.
+
+ \code
+ // The Mandelbrot class uses a QTimer to calculate the mandelbrot
+ // set one scanline at a time without blocking the CPU. It
+ // inherits QObject to use signals and slots. Calling start()
+ // starts the calculation. The done() signal is emitted when it
+ // has finished. Note that this example is not complete, just an
+ // outline.
+
+ class Mandelbrot : public QObject
+ {
+ Q_OBJECT // required for signals/slots
+ public:
+ Mandelbrot( QObject *parent=0, const char *name );
+ ...
+ public slots:
+ void start();
+ signals:
+ void done();
+ private slots:
+ void calculate();
+ private:
+ QTimer timer;
+ ...
+ };
+
+ //
+ // Constructs and initializes a Mandelbrot object.
+ //
+
+ Mandelbrot::Mandelbrot( QObject *parent=0, const char *name )
+ : QObject( parent, name )
+ {
+ connect( &timer, SIGNAL(timeout()), SLOT(calculate()) );
+ ...
+ }
+
+ //
+ // Starts the calculation task. The internal calculate() slot
+ // will be activated every 10 milliseconds.
+ //
+
+ void Mandelbrot::start()
+ {
+ if ( !timer.isActive() ) // not already running
+ timer.start( 10 ); // timeout every 10 ms
+ }
+
+ //
+ // Calculates one scanline at a time.
+ // Emits the done() signal when finished.
+ //
+
+ void Mandelbrot::calculate()
+ {
+ ... // perform the calculation for a scanline
+ if ( finished ) { // no more scanlines
+ timer.stop();
+ emit done();
+ }
+ }
+ \endcode
+
+
+*/
+
+
+/*!
+\page properties.html
+
+\title Properties
+
+Qt provides a sophisticated property system similar to those supplied
+by some compiler vendors. However, as a compiler- and
+platform-independent library, Qt cannot rely on non-standard compiler
+features like \c __property or \c [property]. Our solution works with
+\e any standard C++ compiler on every platform we support. It's based
+on the meta-object system that also provides object communication
+through \link signalsandslots.html signals and slots\endlink.
+
+The \c Q_PROPERTY macro in a class declaration declares a
+property. Properties can only be declared in classes that inherit \l
+QObject. A second macro, \c Q_OVERRIDE, can be used to override some
+aspects of an inherited property in a subclass. (See \link #override
+Q_OVERRIDE\endlink.)
+
+To the outer world, a property appears to be similar to a data member.
+But properties have several features that distinguish them from
+ordinary data members:
+
+\list
+\i A read function. This always exists.
+
+\i A write function. This is optional: read-only properties like \l
+QWidget::isDesktop() do not have one.
+
+\i An attribute "stored" that indicates persistence. Most properties
+are stored, but a few virtual properties are not. For example, \l
+QWidget::minimumWidth() isn't stored, since it's just a view of
+\l QWidget::minimumSize(), and has no data of its own.
+
+\i A reset function to set a property back to its context specific
+default value. This is very rare, but for example, \l QWidget::font()
+needs this, since no call to \l QWidget::setFont() can mean 'reset to
+the context specific font'.
+
+\i An attribute "designable" that indicates whether it makes sense to
+make the property available in a GUI builder (e.g. \link
+designer-manual.book Qt Designer\endlink). For most properties this
+makes sense, but not for all, e.g. \l QButton::isDown(). The user can
+press buttons, and the application programmer can make the program
+press its own buttons, but a GUI design tool can't press buttons.
+
+\endlist
+
+The read, write, and reset functions must be public member functions
+from the class in which the property is defined.
+
+Properties can be read and written through generic functions in
+QObject without knowing anything about the class in use. These two
+function calls are equivalent:
+
+\code
+ // QButton *b and QObject *o point to the same button
+ b->setDown( TRUE );
+ o->setProperty( "down", TRUE );
+\endcode
+
+Equivalent, that is, except that the first is faster, and provides
+much better diagnostics at compile time. When practical, the first is
+better. However, since you can get a list of all available properties
+for any QObject through its \l QMetaObject, \l QObject::setProperty()
+can give you control over classes that weren't available at compile
+time.
+
+As well as QObject::setProperty(), there is a corresponding \l
+QObject::property() function. \l QMetaObject::propertyNames() returns
+the names of all available properties. \l QMetaObject::property()
+returns the property data for a named property: a \l QMetaProperty
+object.
+
+Here's a simple example that shows the most important property
+functions in use:
+
+\code
+ class MyClass : public QObject
+ {
+ Q_OBJECT
+ public:
+ MyClass( QObject * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+\endcode
+
+The class has a property "priority" that is not yet known to the meta
+object system. In order to make the property known, you must
+declare it with the \c Q_PROPERTY macro. The syntax is as follows:
+
+\code
+Q_PROPERTY( type name READ getFunction [WRITE setFunction]
+ [RESET resetFunction] [DESIGNABLE bool]
+ [SCRIPTABLE bool] [STORED bool] )
+\endcode
+
+For the declaration to be valid, the get function must be const and
+to return either the type itself, a pointer to it, or a reference to
+it. The optional write function must return void and must take exactly
+one argument, either the type itself, a pointer or a const reference
+to it. The meta object compiler enforces this.
+
+The type of a property can be any \l QVariant supported type or an
+enumeration type declared in the class itself. Since \c MyClass uses
+the enumeration type \c Priority for the property, this type must be
+registered with the property system as well.
+
+There are two exceptions to the above: The type of a property can also
+be either \link QValueList QValueList\<QVariant\>\endlink or \link
+QMap QMap\<QString,QVariant\>\endlink. In
+these cases the type must be specified as \c QValueList or as \c QMap
+(i.e. without their template parameters).
+
+It is possible to set a value by name, like this:
+\code
+ obj->setProperty( "priority", "VeryHigh" );
+\endcode
+In the case of \c QValueList and \c QMap properties the value passes
+is a QVariant whose value is the entire list or map.
+
+Enumeration types are registered with the \c Q_ENUMS macro. Here's the
+final class declaration including the property related declarations:
+
+\code
+ class MyClass : public QObject
+ {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ public:
+ MyClass( QObject * parent=0, const char * name=0 );
+ ~MyClass();
+
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ };
+\endcode
+
+Another similar macro is \c Q_SETS. Like \c Q_ENUMS, it registers an
+enumeration type but marks it in addition as a "set", i.e. the
+enumeration values can be OR-ed together. An I/O class might have
+enumeration values "Read" and "Write" and accept "Read|Write": such an
+enum is best handled with \c Q_SETS, rather than \c Q_ENUMS.
+
+The remaining keywords in the \c Q_PROPERTY section are \c RESET, \c
+DESIGNABLE, \c SCRIPTABLE and \c STORED.
+
+\c RESET names a function that will set the property to its default
+state (which may have changed since initialization). The function
+must return void and take no arguments.
+
+\c DESIGNABLE declares whether this property is suitable for
+modification by a GUI design tool. The default is \c TRUE for
+writable properties; otherwise \c FALSE. Instead of \c TRUE or \c
+FALSE, you can specify a boolean member function.
+
+\c SCRIPTABLE declares whether this property is suited for access by a
+scripting engine. The default is \c TRUE. Instead of \c TRUE or \c FALSE,
+you can specify a boolean member function.
+
+\c STORED declares whether the property's value must be remembered
+when storing an object's state. Stored makes only sense for writable
+properties. The default value is \c TRUE. Technically superfluous
+properties (like QPoint pos if QRect geometry is already a property)
+define this to be \c FALSE.
+
+
+Connected to the property system is an additional macro, "Q_CLASSINFO",
+that can be used to attach additional name/value-pairs to a class'
+meta object, for example:
+
+\code
+ Q_CLASSINFO( "Version", "3.0.0" )
+\endcode
+
+Like other meta data, class information is accessible at runtime
+through the meta object, see \l QMetaObject::classInfo() for details.
+
+\target override
+\section1 Q_OVERRIDE
+
+When you inherit a QObject subclass you may wish to override some
+aspects of some of the class's properties.
+
+For example, in QWidget we have the autoMask property defined like
+this:
+\code
+ Q_PROPERTY( bool autoMask READ autoMask WRITE setAutoMask DESIGNABLE false SCRIPTABLE false )
+\endcode
+
+But we need to make the auto mask property designable in some QWidget
+subclasses. Similarly some classes will need this property to be
+scriptable (e.g. for QSA). This is achieved by overriding these
+features of the property in a subclass. In QCheckBox, for example, we
+achieve this using the following code:
+\code
+ Q_OVERRIDE( bool autoMask DESIGNABLE true SCRIPTABLE true )
+\endcode
+
+Another example is QToolButton. By default QToolButton has a read-only
+"toggleButton" property, because that's what it inherits from QButton:
+\code
+ Q_PROPERTY( bool toggleButton READ isToggleButton )
+\endcode
+
+But we want to make our tool buttons able to be toggled, so we write a
+WRITE function in QToolButton, and use the following property override
+to make it acessible:
+\code
+ Q_OVERRIDE( bool toggleButton WRITE setToggleButton )
+\endcode
+The result is read-write (and scriptable and designable, since we now
+have a WRITE function) boolean property "toggleButton" for tool
+buttons.
+
+*/
+
+/*!
+\page eventsandfilters.html
+
+\title Events and Event Filters
+
+In Qt, an event is an object that inherits \l QEvent. Events are
+delivered to objects that inherit \l QObject through calling \l
+QObject::event(). Event delivery means that an event has occurred, the
+QEvent indicates precisely what, and the QObject needs to respond. Most
+events are specific to \l QWidget and its subclasses, but there are
+important events that aren't related to graphics, for example, socket
+activation, which is the event used by \l QSocketNotifier for its
+work.
+
+Some events come from the window system, e.g. \l QMouseEvent, some
+from other sources, e.g. \l QTimerEvent, and some come from the
+application program. Qt is symmetric, as usual, so you can send
+events in exactly the same ways as Qt's own event loop does.
+
+Most events types have special classes, most commonly \l QResizeEvent,
+\l QPaintEvent, \l QMouseEvent, \l QKeyEvent and \l QCloseEvent.
+There are many others, perhaps forty or so, but most are rather odd.
+
+Each class subclasses QEvent and adds event-specific functions; see,
+for example, \l QResizeEvent. In the case of QResizeEvent, \l
+QResizeEvent::size() and \l QResizeEvent::oldSize() are added.
+
+Some classes support more than one event type. \l QMouseEvent
+supports mouse moves, presses, shift-presses, drags, clicks,
+right-presses, etc.
+
+Since programs need to react in varied and complex ways, Qt's
+event delivery mechanisms are flexible. The documentation for
+\l QApplication::notify() concisely tells the whole story, here we
+will explain enough for 99% of applications.
+
+The normal way for an event to be delivered is by calling a virtual
+function. For example, \l QPaintEvent is delivered by calling \l
+QWidget::paintEvent(). This virtual function is responsible for
+reacting appropriately, normally by repainting the widget. If you
+do not perform all the necessary work in your implementation of the
+virtual function, you may need to call the base class's
+implementation; for example:
+\code
+ MyTable::contentsMouseMoveEvent( QMouseEvent *me )
+ {
+ // my implementation
+
+ QTable::contentsMouseMoveEvent( me ); // hand it on
+ }
+\endcode
+If you want to replace the base class's function then you must
+implement everything yourself; but if you only want to extend the base
+class's functionality, then you implement what you want and then call
+the base class.
+
+Occasionally there isn't such an event-specific function, or the
+event-specific function isn't sufficient. The most common example is
+tab key presses. Normally, those are interpreted by QWidget to move
+the keyboard focus, but a few widgets need the tab key for themselves.
+
+These objects can reimplement \l QObject::event(), the general event
+handler, and either do their event handling before or after the usual
+handling, or replace it completely. A very unusual widget that both
+interprets tab and has an application-specific custom event might
+contain:
+
+\code
+ bool MyClass:event( QEvent *evt ) {
+ if ( evt->type() == QEvent::KeyPress ) {
+ QKeyEvent *ke = (QKeyEvent *)evt;
+ if ( ke->key() == Key_Tab ) {
+ // special tab handling here
+ ke->accept();
+ return TRUE;
+ }
+ } else if ( evt->type() >= QEvent::User ) {
+ QCustomEvent *ce = (QCustomEvent*) evt;
+ // custom event handling here
+ return TRUE;
+ }
+ return QWidget::event( evt );
+ }
+\endcode
+
+More commonly, an object needs to look at another's events. Qt
+supports this using \l QObject::installEventFilter() (and the
+corresponding remove). For example, dialogs commonly want to filter
+key presses for some widgets, e.g. to modify Return-key handling.
+
+An event filter gets to process events before the target object does.
+The filter's \l QObject::eventFilter() implementation is called, and
+can accept or reject the filter, and allow or deny further processing
+of the event. If all the event filters allow further processing of an
+event, the event is sent to the target object itself. If one of them
+stops processing, the target and any later event filters don't get to
+see the event at all.
+
+It's also possible to filter \e all events for the entire application,
+by installing an event filter on \l QApplication. This is what \l
+QToolTip does in order to see \e all the mouse and keyboard activity.
+This is very powerful, but it also slows down event delivery of every
+single event in the entire application, so it's best avoided.
+
+The global event filters are called before the object-specific
+filters.
+
+Finally, many applications want to create and send their own events.
+
+Creating an event of a built-in type is very simple: create an object
+of the relevant type, and then call \l QApplication::sendEvent() or \l
+QApplication::postEvent().
+
+sendEvent() processes the event immediately - when sendEvent()
+returns, (the event filters and) the object have already processed the
+event. For many event classes there is a function called isAccepted()
+that tells you whether the event was accepted or rejected by the last
+handler that was called.
+
+postEvent() posts the event on a queue for later dispatch. The next
+time Qt's main event loop runs, it dispatches all posted events, with
+some optimization. For example, if there are several resize events,
+they are are compacted into one. The same applies to paint events: \l
+QWidget::update() calls postEvent(), which minimizes flickering and
+increases speed by avoiding multiple repaints.
+
+postEvent() is also often used during object initialization, since the
+posted event will typically be dispatched very soon after the
+initialization of the object is complete.
+
+To create events of a custom type, you need to define an event number,
+which must be greater than \c QEvent::User, and probably you also need
+to subclass \l QCustomEvent in order to pass characteristics about
+your custom event. See the documentation to \l QCustomEvent for
+details.
+
+*/
+
+
+/*!
+\page objecttrees.html
+
+\title Object Trees and Object Ownership
+
+\link QObject QObjects\endlink organize themselves in object trees.
+When you create a QObject with another object as parent, it's added to
+the parent's \link QObject::children() children() \endlink list, and
+is deleted when the parent is. It turns out that this approach fits
+the needs of GUI objects very well. For example, a \l QAccel (keyboard
+accelerator) is a child of the relevant window, so when the user closes
+that window, the accelerator is deleted too.
+
+The static function \l QObject::objectTrees() provides access to all
+the root objects that currently exist.
+
+\l QWidget, the base class of everything that appears on the screen,
+extends the parent-child relationship. A child normally also becomes a
+child widget, i.e. it is displayed in its parent's coordinate system
+and is graphically clipped by its parent's boundaries. For example,
+when the an application deletes a message box after it has been
+closed, the message box's buttons and label are also deleted, just as
+we'd want, because the buttons and label are children of the message
+box.
+
+You can also delete child objects yourself, and they will remove
+themselves from their parents. For example, when the user removes a
+toolbar it may lead to the application deleting one of its \l QToolBar
+objects, in which case the tool bar's \l QMainWindow parent would
+detect the change and reconfigure its screen space accordingly.
+
+The debugging functions \l QObject::dumpObjectTree() and \l
+QObject::dumpObjectInfo() are often useful when an application looks or
+acts strangely.
+
+*/
+
+
+/*!
+\page templates.html
+
+\title Why doesn't Qt use templates for signals and slots?
+
+A simple answer is that when Qt was designed, it was not possible to
+fully exploit the template mechanism in multi-platform applications due
+to the inadequacies of various compilers. Even today, many widely used
+C++ compilers have problems with advanced templates. For example, you
+cannot safely rely on partial template instantiation, which is essential
+for some non-trivial problem domains. Thus Qt's usage of templates has
+to be rather conservative. Keep in mind that Qt is a multi-platform
+toolkit, and progress on the Linux/g++ platform does not necessarily
+improve the situation elsewhere.
+
+Eventually those compilers with weak template implementations will
+improve. But even if all our users had access to a fully standards
+compliant modern C++ compiler with excellent template support, we would
+not abandon the string-based approach used by our meta object compiler.
+Here are five reasons why:
+
+<h3>1. Syntax matters</h3>
+
+Syntax isn't just sugar: the syntax we use to express our algorithms can
+significantly affect the readability and maintainability of our code.
+The syntax used for Qt's signals and slots has proved very successful in
+practice. The syntax is intuitive, simple to use and easy to read.
+People learning Qt find the syntax helps them understand and utilize the
+signals and slots concept -- despite its highly abstract and generic
+nature. Furthermore, declaring signals in class definitions ensures that
+the signals are protected in the sense of protected C++ member
+functions. This helps programmers get their design right from the very
+beginning, without even having to think about design patterns.
+
+<h3>2. Precompilers are good</h3>
+
+Qt's <tt>moc</tt> (Meta Object Compiler) provides a clean way to go
+beyond the compiled language's facilities. It does so by generating
+additional C++ code which can be compiled by any standard C++ compiler.
+The <tt>moc</tt> reads C++ source files. If it finds one or more class
+declarations that contain the "Q_OBJECT" macro, it produces another C++
+source file which contains the meta object code for those classes. The
+C++ source file generated by the <tt>moc</tt> must be compiled and
+linked with the implementation of the class (or it can be
+<tt>#included</tt> into the class's source file). Typically <tt>moc</tt>
+is not called manually, but automatically by the build system, so it
+requires no additional effort by the programmer.
+
+There are other precompilers, for example, <tt>rpc</tt> and
+<tt>idl</tt>, that enable programs or objects to communicate over
+process or machine boundaries. The alternatives to precompilers are
+hacked compilers, proprietary languages or graphical programming tools
+with dialogs or wizards that generate obscure code. Rather than locking
+our customers into a proprietary C++ compiler or into a particular
+Integrated Development Environment, we enable them to use whatever tools
+they prefer. Instead of forcing programmers to add generated code into
+source repositories, we encourage them to add our tools to their build
+system: cleaner, safer and more in the spirit of UNIX.
+
+
+<h3>3. Flexibility is king</h3>
+
+C++ is a standarized, powerful and elaborate general-purpose language.
+It's the only language that is exploited on such a wide range of
+software projects, spanning every kind of application from entire
+operating systems, database servers and high end graphics
+applications to common desktop applications. One of the keys to C++'s
+success is its scalable language design that focuses on maximum
+performance and minimal memory consumption whilst still maintaining
+ANSI-C compatibility.
+
+For all these advantages, there are some downsides. For C++, the static
+object model is a clear disadvantage over the dynamic messaging approach
+of Objective C when it comes to component-based graphical user interface
+programming. What's good for a high end database server or an operating
+system isn't necessarily the right design choice for a GUI frontend.
+With <tt>moc</tt>, we have turned this disadvantage into an advantage,
+and added the flexibility required to meet the challenge of safe and
+efficient graphical user interface programming.
+
+Our approach goes far beyond anything you can do with templates. For
+example, we can have object properties. And we can have overloaded
+signals and slots, which feels natural when programming in a language
+where overloads are a key concept. Our signals add zero bytes to the
+size of a class instance, which means we can add new signals without
+breaking binary compatibility. Because we do not rely on excessive
+inlining as done with templates, we can keep the code size smaller.
+Adding new connections just expands to a simple function call rather
+than a complex template function.
+
+Another benefit is that we can explore an object's signals and slots at
+runtime. We can establish connections using type-safe call-by-name,
+without having to know the exact types of the objects we are connecting.
+This is impossible with a template based solution. This kind of runtime
+introspection opens up new possibilities, for example GUIs that are
+generated and connected from Qt Designer's XML <tt>ui</tt> files.
+
+<h3>4. Calling performance is not everything</h3>
+
+Qt's signals and slots implementation is not as fast as a template-based
+solution. While emitting a signal is approximately the cost of four
+ordinary function calls with common template implementations, Qt
+requires effort comparable to about ten function calls. This is not
+surprising since the Qt mechanism includes a generic marshaller,
+introspection and ultimately scriptability. It does not rely on
+excessive inlining and code expansion and it provides unmatched runtime
+safety. Qt's iterators are safe while those of faster template-based
+systems are not. Even during the process of emitting a signal to several
+receivers, those receivers can be deleted safely without your program
+crashing. Without this safety, your application would eventually crash
+with a difficult to debug free'd memory read or write error.
+
+Nonetheless, couldn't a template-based solution improve the performance
+of an application using signals and slots? While it is true that Qt adds
+a small overhead to the cost of calling a slot through a signal, the
+cost of the call is only a small proportion of the entire cost of a
+slot. Benchmarking against Qt's signals and slots system is typically
+done with empty slots. As soon as you do anything useful in your slots,
+for example a few simple string operations, the calling overhead becomes
+negligible. Qt's system is so optimized that anything that requires
+operator new or delete (for example, string operations or
+inserting/removing something from a template container) is significantly
+more expensive than emitting a signal.
+
+Aside: If you have a signals and slots connection in a tight inner loop
+of a performance critical task and you identify this connection as the
+bottleneck, think about using the standard listener-interface pattern
+rather than signals and slots. In cases where this occurs, you probably
+only require a 1:1 connection anyway. For example, if you have an object
+that downloads data from the network, it's a perfectly sensible design
+to use a signal to indicate that the requested data arrived. But if you
+need to send out every single byte one by one to a consumer, use a
+listener interface rather than signals and slots.
+
+<h3>5. No limits</h3>
+
+Because we had the <tt>moc</tt> for signals and slots, we could add
+other useful things to it that could not not be done with templates.
+Among these are scoped translations via a generated <tt>tr()</tt>
+function, and an advanced property system with introspection and
+extended runtime type information. The property system alone is a great
+advantage: a powerful and generic user interface design tool like Qt
+Designer would be a lot harder to write - if not impossible - without a
+powerful and introspective property system.
+
+C++ with the <tt>moc</tt> preprocessor essentially gives us the
+flexibility of Objective-C or of a Java Runtime Environment, while
+maintaining C++'s unique performance and scalability advantages. It is
+what makes Qt the flexible and comfortable tool we have today.
+
+*/
diff --git a/doc/opengl-x11-overlays.doc b/doc/opengl-x11-overlays.doc
new file mode 100644
index 0000000..9c31002
--- /dev/null
+++ b/doc/opengl-x11-overlays.doc
@@ -0,0 +1,132 @@
+/****************************************************************************
+**
+** ...
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+ \page opengl-x11-overlays.html
+
+ \title How to use X11 overlays with the Qt OpenGL extension
+
+X11 overlays are a powerful mechanism for drawing
+annotations etc., on top of an image without destroying it, thus saving
+a great deal of image rendering time. For more information, consult the highly
+recommended book \e{OpenGL Programming for the X Window System} (Mark
+Kilgard, Addison Wesley Developers Press 1996).
+
+\warning From version 5.0 onwards, the Qt OpenGL Extension includes
+direct support for the use of OpenGL overlays. For many uses of
+overlays, this makes the technique described below redundant. See the
+\link opengl-overlay-example.html overlay\endlink example program. The
+following is a discussion on how to use non-QGL widgets in overlay
+planes.
+
+In the typical case, X11 overlays can easily be used together with the
+current version of Qt and the Qt OpenGL Extension. The following
+requirements apply:
+
+\list 1
+\i Your X server and graphics card/hardware must support overlays.
+ For many X servers, overlay support can be turned on with
+ a configuration option; consult your X server installation
+ documentation.
+
+\i Your X server must (be configured to) use an overlay visual as the
+ default visual. Most modern X servers do this, since this has the
+ added advantage that pop-up menus, overlapping windows etc., will
+ \e not destroy underlying images in the main plane, thereby
+ avoiding expensive redraws.
+
+\i The best (deepest) visual for OpenGL rendering is in the main
+ plane. This is the normal case. Typically, X servers that support
+ overlays provide a 24 bit deep TrueColor visual in the main plane,
+ and an 8 bit PseudoColor (default) visual in the overlay plane.
+\endlist
+
+The provided example program \link opengl-overlay-example.html X11
+overlay\endlink will check for these and report if anything is wrong.
+See \link #x11visuals About X11 Visuals\endlink, below for more
+information.
+
+
+\section1 How it works
+
+Given the above, a QGLWidget will by default use the main plane
+visual, while all other widgets will use the overlay visual. Thus, we
+can place a normal widget on top of the QGLWidget, and do drawing on
+it, without destroying the image in the OpenGL window. In other words,
+we can use all the drawing capabilities of QPainter to draw the
+annotations, rubberbands, etc. For the typical use of overlays,
+this is much easier than using OpenGL for rendering the annotations.
+
+An overlay plane has a specific color called the transparent
+color. Pixels drawn in this color will not be visible; instead the
+underlying OpenGL image will show through. In the example program
+\link opengl-overlay-example.html X11 overlay\endlink, the file
+\c main.cpp contains a routine that returns a QColor containing the
+transparent color. For the overlay widget, you will typically want to
+set the background color to the transparent color, so that the OpenGL
+image shows through except where explicitly overpainted.
+
+Note: to use this technique, you must not use the "ManyColor" or
+"TrueColor" ColorSpec for QApplication, because this will force
+the normal Qt widgets to use a TrueColor visual, which will typically
+be in the main plane, not in the overlay plane as desired.
+
+
+
+\target x11visuals
+\section1 About X11 visuals
+
+The utilities directory contains two small programs that can help you
+determine the capabilities of your X server. These programs are from
+the OpenGL book mentioned above, see utilities/NOTICE for copyright
+information. The full set of example programs from this book is
+available at \l{ftp://ftp.sgi.com/pub/opengl/opengl_for_x/}.
+
+\c glxvisuals will list all the GL-capable visuals the X server
+provides, together with the depth and other GL-specific information
+for each. Note especially the column "lvl"; a number in this column
+means the visual is in an overlay plane.
+
+\c sovinfo will list all available visuals, and provides special
+transparency information for overlay visuals.
+
+The \link opengl-overlay-example.html X11 overlay\endlink example
+program will output what visual is used for the normal Qt widgets, and
+what visual is used by the QGLWidget.
+
+*/
diff --git a/doc/overviews-list.doc b/doc/overviews-list.doc
new file mode 100644
index 0000000..9cfe3cd
--- /dev/null
+++ b/doc/overviews-list.doc
@@ -0,0 +1,135 @@
+/****************************************************************************
+**
+** Explanation of the Qt object model
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page overviews-list.html
+
+\title All Overviews and HOWTOs
+
+\table
+
+\header
+\i Qt Object Model
+\i Geometry and Layout
+
+\row
+\i13
+ \list
+ \i \link object.html Qt Object Model \endlink
+ \i \link objecttrees.html Object Trees and Object Ownership \endlink
+ \i \link signalsandslots.html Signals and Slots \endlink
+ \i \link metaobjects.html Meta Object System \endlink
+ \i \link properties.html Properties \endlink
+ \i \link moc.html Using the Meta Object Compiler \endlink
+ \i \link templates.html Why doesn't Qt use templates for signals and slots? \endlink
+ \endlist
+
+\i
+ \list
+ \i \link layout.html Layout Classes \endlink
+ \i \link customlayout.html Writing your own layout manager \endlink
+ \i \link coordsys.html The Coordinate System \endlink
+ \i \link geometry.html Window Geometry \endlink
+ \endlist
+
+\header
+\i Internationalization
+
+\row
+\i
+ \list
+ \i \link i18n.html Internationalization with Qt \endlink
+ \i \link unicode.html About Unicode \endlink
+ \endlist
+
+\header
+\i General
+\i Qt/Embedded
+
+\row
+\i
+ \list
+ \i \link installation.html Installation \endlink
+ \i \link plugins-howto.html Qt Plugins\endlink
+ \omit
+ \i \link component.html The Qt Component Model \endlink
+ \endomit
+ \i \link datastreamformat.html Format of the QDataStream Operators \endlink
+ \i \link debug.html Debugging Techniques \endlink
+ \i \link dnd.html Drag and Drop \endlink
+ \i \link eventsandfilters.html Events and Event Filters \endlink
+ \i \link focus.html Keyboard Focus Overview \endlink
+ \i \link accelerators.html Standard Accelerators \endlink
+ \i \link netscape-plugin.html Qt-based LiveConnect Plugins \endlink
+ \i \link activeqt.html ActiveX support \endlink
+ \i \link motif-extension.html Motif Support Extension \endlink
+ \i \link opengl-x11-overlays.html OpenGL Overlays (X11)\endlink
+ \i \link appicon.html Setting the Application Icon \endlink
+ \i \link session.html Session Management \endlink
+ \i \link shclass.html Shared Classes \endlink
+ \i \link customstyles.html Style overview \endlink
+ \i \link qt-template-lib.html Qt Template Library\endlink
+ \i \link threads.html Thread Support in Qt \endlink
+ \i \link timers.html Timers \endlink
+ \i \link pictures.html Pictures of Most Qt Widgets \endlink
+ \i \link distributingqt.html Deploying Qt Applications\endlink
+\omit \i \link xt.html Qt Xt/Motif Support Extension \endlink \endomit
+ \endlist
+
+\i
+ \list
+ \i \link emb-qvfb.html QVFb tool - virtual framebuffer for Qt/Embedded \endlink
+ <p>&nbsp;</p>
+ \i \link emb-install.html Installing Qt/Embedded \endlink
+ \i \link emb-features.html The Feature Definition File \endlink
+ \i \link emb-classes.html The Qt/Embedded-specific classes \endlink
+ \i \link emb-accel.html Adding an accelerated graphics driver to Qt/Embedded \endlink
+ \i \link emb-framebuffer-howto.html Enabling the Linux Framebuffer \endlink
+ \i \link emb-running.html Running Qt/Embedded applications \endlink
+ \i \link emb-charinput.html Character input in Qt/Embedded \endlink
+ \i \link emb-fonts.html Fonts in Qt/Embedded \endlink
+ \i \link emb-pointer.html Qt/Embedded Pointer Handling \endlink
+ \i \link emb-envvars.html Qt/Embedded environment variables \endlink
+ \i \link emb-porting.html Porting your applications to Qt/Embedded \endlink
+ \i \link embedporting.html Issues when porting Qt/Embedded to another OS \endlink
+ \i \link emb-performance.html Qt/Embedded Performance Tuning \endlink
+ \i \link emb-vnc.html Qt/Embedded as a VNC Server \endlink
+ \endlist
+\endtable
+
+*/
diff --git a/doc/pictures.doc b/doc/pictures.doc
new file mode 100644
index 0000000..676df33
--- /dev/null
+++ b/doc/pictures.doc
@@ -0,0 +1,147 @@
+/****************************************************************************
+**
+** Pictures of Most Widgets in Qt
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page pictures.html
+
+\title Pictures of Most Qt Widgets
+
+Most of these widgets are shown in either Motif or Windows style.
+All widgets are supported in both styles (and other \link QStyle
+styles\endlink), but for clarity we just present a selection.
+
+Qt provides more widgets than the selection shown below. And extra Qt
+are available from third parties, and as add-ons to Qt; see \link
+http://www.trolltech.com/products/solutions/index.html Qt
+Solutions\endlink, and \link
+http://www.trolltech.com/freesoftware/index.html User contributed Qt
+additions\endlink.
+
+\omit
+Below is a screen shot of the demo example running under Linux. It
+shows off many of Qt's widgets. (The source is in \c{examples/demo}.
+
+\img demo-screenshot.png
+\endomit
+
+
+Below we have three views seperated by \l {QSplitter}s. At the
+top-left there's a \l QListBox, at the top-right there's a \l
+QListView with a \l QHeader and two \l {QScrollBar}s. And at the
+bottom there's a \l QIconView.
+
+\img splitter-views-w.png
+
+Below we present a \l QMainWindow which has
+a \l QMenuBar and some \l {QToolBar}s that contain
+various widgets, e.g. \l {QToolButton}s and \l {QComboBox}es. The central
+widget is a \l QWorkspace which is used for MDI window management and
+which contains an MDI-Window featuring a \l QTextEdit. At the bottom
+you see a \l QStatusBar and at the bottom-right a \l QSizeGrip.
+
+\img mainwindow-w.png
+
+The image below shows a \l QFileDialog. On the Macintosh and Windows
+platforms you can either use a QFileDialog or the native file
+dialog. This is explained in the \l QFileDialog class documentation.
+
+\img qfiledlg-w.png
+
+Below is a QPrintDialog. On Macintosh and Windows the native print
+dialog is used, but for other platforms we provide QPrintDialog. Use
+QPrinter::setup() for portability instead of the QPrintDialog if you
+need to be platform independent.
+
+\img qprintdlg-m.png
+
+Below is a \l QFontDialog.
+
+\img qfontdlg-w.png
+\caption Windows
+
+The screenshot below shows a \l QColorDialog.
+
+\img qcolordlg-w.png
+
+Messages are presented using \l{QMessageBox}es, as shown below.
+
+\img qmsgbox-w.png
+
+The image below shows a \l QProgressDialog. The \l QProgressBar can
+also be used as a separate widget.
+
+\img qprogdlg-w.png
+
+In the screenshot below we have a \l QGroupBox that contains a \l
+QLineEdit, a read-only \l QComboBox and an editable \l QComboBox.
+
+\img groupbox-w.png
+
+The screenshot below shows a \l QPopupMenu.
+
+\img qpopmenu-w.png
+
+In the screenshot below there's a \l QButtonGroup containing four \l
+{QRadioButton}s and two \l {QCheckBox}es.
+
+\img buttongroup-w.png
+
+\omit
+THIS IMAGE DOESN'T SHOW ANYTHING UNDERSTANDABLY USEFUL
+
+All views in the first screenshot are widgets derived from a \l
+QScrollView. But this class can also manage lots of child-widgets,
+like in this screenshot.
+
+\img qscrollview-m.png
+\endomit
+
+The screenshot below shows a \l QTabDialog. The tabs (\l QTabBar) or the
+more convenient class \l QTabWidget, which combines a tab bar with
+the pages, can be used separately. In the visible page you see a \l
+QLabel, the range controls \l QSlider and \l QSpinBox and below a \l
+QLCDNumber. In the bottom row there are some \l {QPushButton}s.
+
+\img qtabdlg-w.png
+
+In the screenshot below there's a \l QTextBrowser displaying a HTML
+page. See also \l QTextEdit.
+
+\img qtextbrowser-w.png
+
+*/
diff --git a/doc/plugins-howto.doc b/doc/plugins-howto.doc
new file mode 100644
index 0000000..15536f0
--- /dev/null
+++ b/doc/plugins-howto.doc
@@ -0,0 +1,300 @@
+/****************************************************************************
+**
+** ...
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page plugins-howto.html
+
+\title Qt Plugins HOWTO
+
+Qt provides a simple plugin interface which makes it easy to create
+custom database drivers, image formats, text codecs, styles and
+widgets as stand-alone components.
+\footnote Qt 3.0.5 introduces changes into some aspects of plugins, in
+particular regarding loading, path handling and library versions. As
+a result of this change, <b>\e{no}</b> plugins compiled with Qt 3.0.4 and
+earlier will work with Qt 3.0.5 and later: they must be recompiled.
+\endfootnote
+
+Writing a plugin is achieved by subclassing the appropriate plugin
+base clase, implementing a few functions, and adding a macro.
+
+There are five plugin base classes. Derived plugins are stored
+by default in the standard plugin directory.
+
+\table
+\header
+\i Base Class
+\i Default Path
+\row
+\i \l QImageFormatPlugin
+\i \c{pluginsbase/imageformats} <sup>*</sup>
+\row
+\i \l QSqlDriverPlugin
+\i \c{pluginsbase/sqldrivers} <sup>*</sup>
+\row
+\i \l QStylePlugin
+\i \c{pluginsbase/styles} <sup>*</sup>
+\row
+\i \l QTextCodecPlugin
+\i \c{pluginsbase/codecs} <sup>*</sup>
+\row
+\i \l QWidgetPlugin
+\i \c{pluginsbase/designer} <sup>*</sup>
+\endtable
+
+But where is the \c{pluginsbase} directory? When the application is
+run, Qt will first treat the application's executable directory as the
+\c{pluginsbase}. For example if the application is in \c{C:\Program
+Files\MyApp} and has a style plugin, Qt will look in \c{C:\Program
+Files\MyApp\styles}. (See \l{QApplication::applicationDirPath()} for
+how to find out where the application's executable is.) Qt will also
+look in the directory given by \c{qInstallPathPlugins()}. If you want
+Qt to look in additional places you can add as many paths as you need
+with calls to \c{QApplication::addLibraryPath()}. And if you want to
+set your own path or paths you can use
+\c{QApplication::setLibraryPaths()}.
+
+Suppose that you have a new style class called 'MyStyle' that you want
+to make available as a plugin. The required code is straightforward:
+\code
+ class MyStylePlugin : public QStylePlugin
+ {
+ public:
+ MyStylePlugin() {}
+ ~MyStylePlugin() {}
+
+ QStringList keys() const {
+ return QStringList() << "mystyle";
+ }
+
+ QStyle* create( const QString& key ) {
+ if ( key == "mystyle" )
+ return new MyStyle;
+ return 0;
+ }
+ };
+
+ Q_EXPORT_PLUGIN( MyStylePlugin )
+\endcode
+
+(Note that QStyleFactory is case-insensitive, and the lower case
+version of the key is used; other factories, e.g. QWidgetFactory, are
+case sensitive.)
+
+The constructor and destructor do not need to do anything, so are left
+empty. There are only two virtual functions that must be implemented.
+The first is keys() which returns a string list of the classes
+implemented in the plugin. (We've just implemented one class in the
+example above.) The second is a function that returns an object of the
+required class (or 0 if the plugin is asked to create an object of a
+class that it doesn't implement). For QStylePlugin, this second
+function is called create().
+
+It is possible to implement any number of plugin subclasses in a
+single plugin, providing they are all derived from the same base
+class, e.g. QStylePlugin.
+
+For database drivers, image formats, custom widgets and text codecs,
+no explicit object creation is required. Qt will find and create them
+as required. Styles are an exception, since you might want to set a
+style explicitly in code. To apply a style, use code like this:
+\code
+ QApplication::setStyle( QStyleFactory::create( "MyStyle" ) );
+\endcode
+
+Some plugin classes require additional functions to be implemented.
+See the \link designer-manual.book Qt Designer manual's\endlink,
+'Creating Custom Widgets' section in the 'Creating Custom Widgets'
+chapter, for a complete example of a QWidgetPlugin, which implements
+extra functions to integrate the plugin into \e{Qt Designer}. The
+\l QWidgetFactory class provides additional information on
+QWidgetPlugins.
+
+See the class documentation for details of the virtual functions that
+must be reimplemented for each type of plugin.
+
+Qt applications automatically know which plugins are available,
+because plugins are stored in the standard plugin subdirectories.
+Because of this applications don't require any code to find and load
+plugins, since Qt handles them automatically.
+
+The default directory for plugins is \c{QTDIR/plugins}<sup>*</sup>,
+with each type of plugin in a subdirectory for that type, e.g. \c
+styles. If you want your applications to use plugins and you don't
+want to use the standard plugins path, have your installation process
+determine the path you want to use for the plugins, and save the path,
+e.g. using QSettings, for the application to read when it runs. The
+application can then call QApplication::addLibraryPath() with this
+path and your plugins will be available to the application. Note that
+the final part of the path, i.e. \c styles, \c widgets, etc., cannot
+be changed.
+
+The normal way to include a plugin with an application is either to
+compile it in with the application, or to compile it into a \c DLL (or
+\c so or other platform specific library type) and use it like any
+other library. If you want the plugin to be loadable then one approach
+is to create a subdirectory under the application, e.g. \c
+appdir/plugins/designer, and place the plugin in that directory.
+
+For \link designer-manual.book Qt Designer\endlink, you may need to
+call QApplication::addLibraryPath("QTDIR/plugins/designer") to load
+your \link designer-manual.book Qt Designer\endlink plugins.
+
+<sup>*</sup><small> All references to \c{QTDIR} refer to the path
+where Qt was installed. </small>
+
+\section1 Loading and Verifying Plugins
+
+When loading plugins, the Qt library does some sanity checking to
+determine whether or not the plugin can be loaded and used. This
+provides the ability to have multiple versions and configurations of
+the Qt library installed side by side.
+\list
+\i Plugins linked with a Qt library that has a higher major and/or
+ minor version number will not be loaded by a library with a lower
+ major and/or minor version number.
+
+ \e Rationale:
+
+ A plugin linked against a newer Qt library may use new
+ features that are not available in older versions. Trolltech
+ has a policy of adding new features and APIs only between minor
+ releases, which is why this test only looks at the major and minor
+ version numbers, and not at the patchlevel version number.
+
+\i Plugins linked against a Qt library \e with thread support can only be
+ loaded by libraries that are built \e with thread support.
+
+ \e Rationale:
+
+ The threaded and non-threaded Qt libraries have different names.
+ A library \e with thread support that loads a plugin linked against a
+ Qt library \e without thread support will cause two versions of the same
+ library to be in memory at the same time. On UNIX systems, this
+ causes the non-threaded Qt library to be loaded. When this
+ happens, the constructors for all static objects in the Qt library
+ will be called a second time, but they will operate on the objects
+ already in memory. There is no way to work around this, as this is
+ a feature of the object binary format: the static symbols already
+ defined by the threaded Qt library cannot be replaced or copied
+ when the non-threaded Qt library is loaded.
+
+\i Plugins linked against a Qt library \e without thread support can only
+ be loaded by libraries that are built \e without thread support.
+
+ \e Rationale:
+
+ See the Rationale above.
+
+\i Starting with Qt 3.0.5, both the Qt library and all plugins are
+ built using a \e {build key}. The build key in the Qt library is
+ examined against the build key in the plugin, and if they match,
+ the plugin is loaded. If the build keys do not match, then the Qt
+ library refuses to load the plugin.
+
+ \e Rationale:
+
+ See the Rationale for the build key below.
+\endlist
+
+\section1 The Build Key
+
+The build key contains the following information:
+\list
+\i Architecture, operating system and compiler.
+
+ \e Rationale:
+
+ In cases where different versions of the same compiler do not
+ produce binary compatible code, the version of the compiler is
+ also present in the build key.
+
+\i Configuration of the Qt library. The configuration is a list
+ of the missing features that affect the available API in the
+ library.
+
+ \e Rationale:
+
+ Two different configurations of the same version of
+ the Qt library are not binary compatible. The Qt library that
+ loads the plugin uses the list of (missing) features to
+ determine if the plugin is binary compatible.
+
+ \e Note: There are cases where a plugin can use features that are
+ available in two different configurations. However, the
+ developer writing plugins would need to know which features are
+ in use, both in their plugin and internally by the utility
+ classes in Qt. The Qt library would require complex feature
+ and dependency queries and verification when loading plugins.
+ Requiring this would place an unnecessary burden on the developer, and
+ increase the overhead of loading a plugin. To reduce both
+ development time and application runtime costs, a simple string
+ comparision of the build keys is used.
+
+\i Optionally, an extra string may be specified on the configure
+ script command line.
+
+ \e Rationale:
+
+ When distributing binaries of the Qt library with an
+ application, this provides a way for developers to write
+ plugins that can only be loaded by the library with which the
+ plugins were linked.
+\endlist
+
+\section1 Plugins and Threaded Applications
+
+If you want to build a plugin which you want to use with a threaded Qt
+library (whether or not the plugin itself uses threads) you must use a
+threaded environment. Specifically, you must link the plugin with a
+threaded Qt library, and you must build \link designer-manual.book Qt
+Designer\endlink with that library. Your \c{.pro} file for your plugin
+must include the line:
+\code
+ CONFIG += thread
+\endcode
+
+\warning Do not mix the normal Qt library and the threaded Qt library in
+an application. If your application uses the threaded Qt library, you
+should not link your plugin with the normal Qt library. Nor should you
+dynamically load the normal Qt library or dynamically load another library,
+e.g. a plugin, that depends on the normal Qt library. On some systems,
+mixing threaded and non-threaded libraries or plugins will corrupt the
+static data used in the Qt library.
+
+*/
diff --git a/doc/porting2.doc b/doc/porting2.doc
new file mode 100644
index 0000000..1877446
--- /dev/null
+++ b/doc/porting2.doc
@@ -0,0 +1,1441 @@
+/****************************************************************************
+**
+** Help with porting from Qt 1.x to Qt 2.x
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page porting2.html
+
+\title Porting to Qt 2.x
+
+<p>
+You're probably looking at this page because you want to port
+your application from Qt 1.x to Qt 2.x, but to be sure, let's
+review the good reasons to do this:
+<ul>
+ <li>To get access to all the new Qt 2.x features like the rich text
+ HTML subset for formatted labels, tooltips, online help etc.
+ and the much easier to use layout classes and widgets.
+ <li>To make your application truly international, with support
+ for Unicode and translations for the languages of the world.
+ <li>To allow your application to fit into the new look of the
+ Unix desktop with configurable, very powerful "themes". The
+ extended style system also integrates Qt applications better
+ on MS-Windows desktops. Qt will automatically chose the right
+ colors and fonts and obey global system setting changes.
+ <li>To stay up-to-date with the version of Qt that gets all the
+ new features and bug-fixes.
+ <li>To get more speed and smoother widgets display with all the
+ new anti-flicker changes in Qt.
+ <li>Most of all though, you want to port to Qt 2.x
+ so that your Wheel Mouse works!
+</ul>
+
+<p>
+The Qt 2.x series is not binary compatible with the 1.x series.
+This means programs compiled for Qt 1.x must be recompiled to work
+with Qt 2.x. Qt 2.x is also not completely <em>source</em> compatible
+with 1.x, however all points of incompatibility cause
+compiler errors (rather than mysterious results), or produce run-time
+messages. The result is that Qt 2.x includes many additional features,
+discards obsolete functionality that is easily converted to use the new
+features, and that porting an application from Qt 1.x to Qt 2.x is
+a simple task well worth the amount of effort required.
+
+
+To port code using Qt 1.x to use Qt 2.x:
+
+<ul>
+ <li> Briefly read the porting notes below to get an idea of what to expect.
+ <li> Be sure your code compiles and runs well on all your target platforms with Qt 1.x.
+ <li> Recompile with Qt 2.x. For each error, search below for related
+ identifiers (eg. function names, class names) - this documented is
+ structured to mention all relevant identifiers to facilitate such
+ searching, even if that makes it a little verbose.
+ <li> If you get stuck, ask on the qt-interest mailing list, or
+ Trolltech Technical Support if you're a Professional Edition
+ licensee.
+</ul>
+
+
+Many very major projects, such as <a href="http://www.kde.org/">KDE</a>
+have been port, so there is plenty of expertise in the collective conscious
+that is the Qt Developer Community!
+</p>
+
+
+<hr>
+
+<h2 align=center>The Porting Notes</h2>
+
+<ul>
+ <li><b><a href="#Namespace">Namespace</a></b>
+ <li><b><a href="#Virtual">Virtual Functions</a></b>
+ <li><b><a href="#Collection">Collection classes</a></b>
+ <li><b><a href="#DefaultParent">No Default 0 Parent Widget</a></b>
+ <li><b><a href="#DebugVsRelease">Debug vs. Release</a></b>
+
+ <li><b><a href="#QApplication">QApplication</a></b>
+ <li><b><a href="#QClipboard">QClipboard</a></b>
+ <li><b><a href="#QColor">QColor</a></b>
+ <li><b><a href="#QDataStream">QDataStream</a></b>
+ <li><b><a href="#QDialog">QDialog</a></b>
+ <li><b><a href="#QDropSite">QDropSite</a></b>
+ <li><b><a href="#QEvent">QEvent</a></b>
+ <li><b><a href="#QFile">QFile</a></b>
+ <li><b><a href="#QFontMetrics">QFontMetrics</a></b>
+ <li><b><a href="#QIODevice">QIODevice</a></b>
+ <li><b><a href="#QLabel">QLabel</a></b>
+ <li><b><a href="#QLayout">QLayout</a></b>
+ <li><b><a href="#QListView">QListView</a></b>
+ <li><b><a href="#QMenuData">QMenuData</a></b>
+ <li><b><a href="#QMenuData">QPopupMenu</a></b>
+ <li><b><a href="#QMultiLineEdit">QMultiLineEdit</a></b>
+ <li><b><a href="#QPainter">QPainter</a></b>
+ <li><b><a href="#QPicture">QPicture</a></b>
+ <li><b><a href="#QPoint">QPoint, QPointArray, QSize and QRect</a></b>
+ <li><b><a href="#QPixmap">QPixmap</a></b>
+ <li><b><a href="#QRgb">QRgb</a></b>
+ <li><b><a href="#QScrollView">QScrollView</a></b>
+ <li><b><a href="#QStrList">QStrList</a></b>
+ <li><b><a href="#QString">QString</a></b>
+ <li><b><a href="#QTextStream">QTextStream</a></b>
+ <li><b><a href="#QUriDrag">QUriDrag / QUrlDrag</a></b>
+ <li><b><a href="#QValidator">QComboBox</a></b>
+ <li><b><a href="#QValidator">QLineEdit</a></b>
+ <li><b><a href="#QValidator">QSpinBox</a></b>
+ <li><b><a href="#QValidator">QValidator</a></b>
+ <li><b><a href="#QWidget">QWidget</a></b>
+ <li><b><a href="#QWindow">QWindow</a></b>
+</ul>
+
+<hr>
+
+<h3><a name="Namespace">Namespace</a></h3>
+
+<p> Qt 2.x is namespace-clean, unlike 1.x. Qt now uses very few
+global identifiers. Identifiers like <code>red, blue, LeftButton,
+AlignRight, Key_Up, Key_Down, NoBrush</code> etc. are now part of a
+special class <code>Qt</code> (defined in qnamespace.h),
+which is inherited by
+most Qt classes. Member functions of classes that inherit from QWidget,
+etc. are totally unaffected, but code that is
+<em>not</em> in functions of classes inherited from <code>Qt</code>,
+you must qualify these identifiers like this: <code>Qt::red,
+Qt::LeftButton, Qt::AlignRight</code>, etc.
+
+<p>The <code>qt/bin/qt20fix</code> script helps to fix the code that
+needs adaption, though most code does not need changing.
+
+Compiling with -DQT1COMPATIBILITY will help you get going with Qt 2.x
+- it allows all the old "dirty namespace" identifiers from Qt 1.x to
+continue working. Without it, you'll get compile errors that can
+easily be fixed by searching this page for the clean identifiers.
+
+<h3><a name="DefaultParent">No Default 0 Parent Widget</a></h3>
+
+In Qt 1.x, all widget constructors were defined with a default value
+of 0 for the parent widget. However, only the main window of the
+application should be created with a 0 parent, all other widgets
+should have parents. Having the 0 default made it too simple to create
+bugs by forgetting to specify the parent of non-mainwindow
+widgets. Such widgets would typically never be deleted (causing memory
+leaks), and they would become top-level widgets, confusing the window
+managers. Therefore, in Qt 2.x the 0 default parent has been removed
+for the widget classes that are not likely to be used as main windows.
+
+Note also that programs no longer need (or should) use 0 parent just
+to indicate that a widget should be top-level. See
+\code QWidget::isTopLevel() \endcode for details. See also the notes about
+<a href="#QMenuData">QPopupMenu</a> and <a href="#QDialog">QDialog</a>
+below.
+
+<h3><a name="Virtual">Virtual Functions</a></h3>
+
+<p> Some virtual functions have changed signature in Qt 2.x.
+If you override them in derived classes, you must change the signature
+of your functions accordingly.
+
+<!-- warwick can check for additions to this with his qt-2-report -->
+<ul>
+ <li>\code QWidget::setStyle(GUIStyle)\endcode
+ <li>\code QListView::addColumn(const char *, int)\endcode
+ <li>\code QListView::setColumnText(int, const char *)\endcode
+ <li>\code QListViewItem::setText(int, const char *)\endcode
+ <li>\code QMultiLineEdit::insertLine(const char *, int)\endcode
+ <li>\code QMultiLineEdit::insertAt(const char *, int, int, bool)\endcode
+ <li>\code QSpinBox::setPrefix(const char *)\endcode
+ <li>\code QSpinBox::setSuffix(const char *)\endcode
+ <li>\code QToolButton::setTextLabel(const char *, bool)\endcode
+ <li>\code QDoubleValidator::validate(QString &, int &)\endcode
+ <li>\code QIntValidator::validate(QString &, int &)\endcode
+ <li>\code QValidator::fixup(QString &)\endcode
+ <li>\code QSlider::paintSlider(QPainter *, const QRect &)\endcode
+</ul>
+
+This is one class of changes that are
+not detected by the compiler,
+so you should mechanically search for each of
+these function names in your header files, eg.
+
+\code
+egrep -w 'setStyle|addColumn|setColumnText|setText...' *.h
+\endcode
+
+Of course, you'll get a few false positives (eg. if you have a setText
+function that is not in a subclass of QListViewItem).
+
+
+<h3><a name="Collection">Collection classes</a></h3>
+
+<p> The collection classes include generic
+classes such as QGDict, QGList, and
+the subclasses such as QDict and QList.
+
+<p> The macro-based Qt collection classes are obsolete; use the
+template-based classes instead. Simply remove includes of qgeneric.h and
+replace e.g. Q_DECLARE(QCache,QPixmap) with QCache<QPixmap>.
+
+<p> The GCI global typedef is replaced by QCollection::Item. Only if you
+make your own subclasses of the undocumented generic collection classes
+will you have GCI in your code.
+This change has been made to avoid collisions with other namespaces.
+
+<p> The GCF global typedef is removed (it was not used in Qt).
+
+
+
+<h3><a name="DebugVsRelease">Debug vs. Release</a></h3>
+
+<p>The Q_ASSERT macro is now a null expression if the QT_CHECK_STATE flag
+is not set (i.e. if the QT_NO_CHECK flag is defined).
+
+<p>The debug() function now outputs nothing if Qt was compiled with
+the QT_NO_DEBUG macro defined.
+
+
+<h3><a name="QString">QString</a></h3>
+
+QString has undergone major changes internally, and although it is highly
+backward compatible, it is worth studying in detail when porting to Qt 2.x.
+The Qt 1.x QString class has been renamed to QCString in Qt 2.x, though if
+you use that you will incur a performance penalty since all Qt functions
+that took const char* now take const QString&.
+
+<p>
+To take full advantage of the new Internationalization
+functionality in Qt 2.x, the following steps are required:
+
+ <ul>
+ <li> Start converting all uses of "const char*" in parameters to
+ "const QString&" - this can often be done mechanically, eg.
+ using Perl. Convert usage of char[] for temporary string
+ building to QString (much software already uses QString for
+ this purpose as it offers many more facilities).
+
+ If you find that you are mixing usage of QCString, QString,
+ and QByteArray, this causes lots of unnecessary copying and
+ might indicate that the true nature of the data you are
+ dealing with is uncertain. If the data is NUL-terminated
+ 8-bit data, use QCString; if it is unterminated (ie.
+ contains NULs) 8-bit data, use QByteArray; if it is text,
+ use QString.
+ </p>
+
+ <li> Put a breakpoint in \code QString::latin1()\endcode
+ to catch places where
+ Unicode information is being converted to ASCII (loosing
+ information if your user in not using Latin1). Qt has
+ a small number of calls to this - ignore those. As a stricter
+ alternative, compile your code with QT_NO_ASCII_CAST defined,
+ which hides the automatic conversion of QString to const char*,
+ so you can catch problems at compile time.
+ </p>
+
+ <li> See the Qt \link i18n.html Internationalization page\endlink
+ for information about the full process of internationalizing
+ your software.
+ </ul>
+
+<p>
+Points to note about the new QString are:
+
+<dl compact>
+<dt><b>Unicode</b></dt>
+<dd>
+ Qt now uses Unicode throughout.
+ data() now returns a <em>const</em> reference to an ASCII version
+ of the string - you cannot directly access the
+ string as an array of bytes, because it isn't one. Often, latin1() is
+ what you want rather than data(), or just leave it to convert to
+ const char* automatically. data() is only used now to aide porting to Qt 2.x,
+ and ideally you'll only need latin1() or implicit conversion when interfacing
+ to facilities that do not have Unicode support.
+
+<dt><b>Automatic-expanding</b></dt>
+<dd>
+A big advantage of the new QString is that it automatically expands
+when you write to an indexed position.
+
+<dt><b>QChar and QCharRef</b></dt>
+<dd>
+QChar are the Unicode characters that make up a QString. A QCharRef is
+a temporary reference to a QChar in a QString that when assigned to
+ensures that the implicit sharing semantics of the QString are maintained.
+You are unlikely to use QCharRef in your own code - but so that you
+understand compiler error messages, just know that <tt>mystring[123]</tt>
+is a QCharRef whenever <tt>mystring</tt> is not a constant string. A QCharRef
+has basically the same functionality as a QChar, except it is more restricted
+in what you can assign to it and cast it to (to avoid programming errors).
+
+<dt><b>Use QString</b></dt>
+<dd>
+Try to always use QString. If you <em>must</em>, use QCString which is the
+old implementation from Qt 1.x.
+
+<dt><b>Unicode vs. ASCII</b></dt>
+<dd>
+Every conversion to and from ASCII is wasted time, so try to use QString
+ as much as possible rather than const char*. This also ensures you have
+ full 16-bit support.
+
+<dt><b>Convertion to ASCII</b></dt>
+<dd>
+The return value from operator const char*() is transient - don't expect
+ it to remain valid while you make deep function calls.
+ It is valid for as long as you don't modify or destroy the QString.
+
+<dt><b>QString is simpler</b></dt>
+<dd>
+Expect your code to become simpler with the new QString, especially
+ places where you have used a char* to wander over the string rather
+ than using indexes into the string.
+
+<dt><b>Some hacks don't work</b></dt>
+<dd>
+This hack:
+ use_sub_string( &my_string[index] )
+ should be replaced by:
+ use_sub_string( my_string.mid(index) )
+
+<dt><b>QString(const char*, int) is removed</b></dt>
+<dd>
+The QString constructor taking a const char* and an integer is removed.
+Use of this constructor was error-prone, since the length included the
+'\0' terminator. Use QString::left(int) or QString::fromLatin1( const char*,
+int ) -- in both cases the int parameter signifies the number of characters.
+
+<dt><b>QString(int) is private</b></dt>
+<dd>
+The QString constructor taking an integer is now private. This function
+is not meaningful anymore, since QString does all space allocation
+automatically. 99% of cases can simple be changed to use the
+default constructor, QString().
+<p>
+In Qt 1.x the constructor was used in two ways: accidentally,
+by attempting to convert a char to a QString (the char converts to int!) -
+giving strange bugs, and as a way to make a QString big enough prior to
+calling \code QString::sprintf()\endcode. In Qt 2.x, the accidental bug case is
+prevented (you will get a compilation error) and QString::sprintf has
+been made safe - you no longer need to pre-allocate space (though for
+other reasons, sprintf is still a poor choice - eg. it doesn't pass Unicode).
+The only remaining common case is conversion of 0 (NULL) to QString, which
+would usually give expected results in Qt 1.x. For Qt 2.x the correct
+syntax is to use QString::null, though note that
+the default constructor, QString(), creates a null string too.
+Assignment of 0 to a QString is ambiguous - assign
+QString::null; you'll mainly find these in code that has been converted
+from const char* types to QString.
+This also prevents a common error case from Qt 1.x - in
+that version, mystr = 'X' would <em>not</em> produce the expected
+results and was always a programming error; in Qt 2.x, it works - making
+a single-character string.
+
+<p>
+Also see <a href="#QStrList">QStrList</a>.
+
+<dt><b>Signals and Slots</b></dt>
+<dd>
+Many signal/slots have changed from const char* to QString. You will
+ get run-time errors when you try to \code QObject::connect()\endcode
+ to the old
+ signals and slots, usually with a message indicating the const QString&
+ replacement signal/slot.
+
+<dt><b>Optimize with Q2HELPER</b></dt>
+<dd>
+In qt/src/tools/qstring.cpp there is a Q2HELPER - define it for some
+extra debugging/optimizing features (don't leave it it - it kills performance).
+You'll get an extra function, qt_qstring_stats(), which will print a
+summary of how much your application is doing Unicode and ASCII
+back-and-forth conversions.
+
+<dt><b>QString::detach() is obsolete and removed</b></dt>
+<dd>
+Since QString is now always shared, this function does nothing.
+Remove calls to QString::detach().
+
+<dt><b>QString::resize(int size) is obsolete and removed</b></dt>
+<dd>
+Code using this to truncate a string should use
+ \link QString::truncate() truncate(size-1)\endlink.
+Code using qstr.resize(0) should use qstr = QString::null.
+Code calling resize(n) prior to using
+ \link QString::operator[]() operator[]\endlink up to n just remove
+the resize(n) completely.
+
+<dt><b>QString::size() is obsolete and removed</b></dt>
+<dd>
+Calls to this function must be replaced by
+\link QString::length() length()\endlink+1.
+
+<dt><b>QString::setStr(const char*) is removed</b></dt>
+<dd>Try to understand why you were using this.
+If you just meant assignment, use that. Otherwise,
+you are probably using QString as an array of bytes, in which case use
+QByteArray or QCString instead.
+
+<dt><b>QString is not an array of bytes</b></dt>
+<dd>
+Code that uses QString as an array of bytes should use QByteArray
+or a char[], <em>then</em> convert that to a QString if needed.
+
+<dt><b>"string = 0"</b></dt>
+<dd>
+Assigning 0 to a QString should be assigning the null string,
+ie. string = QString::null.
+
+<dt><b>System functions</b></dt>
+<dd>
+You may find yourself needing latin1() for passing to the operating system
+ or other libraries, and be tempted to use QCString to save the conversion,
+ but you are better off using Unicode throughout, then when the operating
+ system supports Unicode, you'll be prepared. Some Unix operating systems
+ are now beginning to have basic Unicode support, and Qt will be tracking
+ these improvements as they become more widespread.
+
+<dt><b>Bugs removed</b></dt>
+<dd>
+toShort() returns 0 (and sets *ok to false) on error.
+toUInt() now works for big valid unsigned integers.
+insert() now works into the same string.
+
+<dt><b>NULL pointers</b></dt>
+<dd>
+When converting "const char*" usage to QString in order to make your
+ application fully Unicode-aware, use QString::null for the null value
+ where you would have used 0 with char pointers.
+
+<dt><b>QString is not null terminated</b></dt>
+<dd>
+This means that inserting a 0-character
+ in the middle of the string does <em>not</em> change the length(). ie.
+ \code
+ QString s = "fred";
+ s[1] = '\0';
+ // s.length() == 4
+ // s == "f\0ed"
+ // s.latin1() == "f"
+ s[1] = 'r';
+ // s == "fred"
+ // s.latin1() == "fred"
+ \endcode
+ Especially look out for this type of code:
+ \code
+ QString s(2);
+ s[0] = '?';
+ s[1] = 0;
+ \endcode
+ This creates a string 2 characters long.
+ To find these problems while converting, you might like to
+ add Q_ASSERT(strlen(d->ascii)==d->len) inside
+ \code QString::latin1()\endcode.
+
+<dt><b>QString or Standard C++ string?</b></dt>
+<dd>
+<p>
+The Standard C++ Library string is not Unicode. Nor is wstring defined
+to be so (for the small number of platforms where it is defined at all).
+This is the same mistake made over and over
+in the history of C - only when non-8-bit characters are <em>the norm</em>
+do programmers find them usable. Though it is possible to convert between
+string and QString, it is less efficient than using QString throughout.
+For example, when using:
+\code
+ QLabel::setText( const QString& )
+\endcode
+if you use string, like this:
+\code
+ void myclass::dostuffwithtext( const string& str )
+ {
+ mylabel.setText( QString(str.c_str()) );
+ }
+\endcode
+that will create a (ASCII only) copy of str, stored in mylabel.
+But this:
+\code
+ void myclass::dostuffwithtext( const QString& str )
+ {
+ mylabel.setText( str );
+ }
+\endcode
+will make an implicitly shared reference to str in the QLabel - no copying
+at all. This function might be 10 nested function calls away from something
+like this:
+\code
+ void toplevelclass::initializationstuff()
+ {
+ doStuff( tr("Okay") );
+ }
+\endcode
+At this point, in Qt 2.x, the tr() does a very fast dictionary lookup
+through memory-mapped message files, returning some Unicode QString for
+the appropriate language (the default being to just make a QString out
+of the text, of course - you're not <em>forced</em> to use any of these
+features), and that <em>same</em> memory mapped Unicode will be passed
+though the system. All occurrences of the translation of "Okay" can
+potentially be shared.
+
+</dl>
+
+
+
+<h3><a name="QApplication">QApplication</a></h3>
+
+In the function \code QApplication::setColorSpec()\endcode,
+PrivateColor and TrueColor are obsolete. Use ManyColor instead.
+
+
+<h3><a name="QColor">QColor</a></h3>
+
+<p>
+All colors
+(color0,
+color1,
+black,
+white,
+darkGray,
+gray,
+lightGray,
+red,
+green,
+blue,
+cyan,
+magenta,
+yellow,
+darkRed,
+darkGreen,
+darkBlue,
+darkCyan,
+darkMagenta,
+and
+darkYellow)
+are in the Qt namespace.
+In members of classes that inherit the Qt namespace-class (eg. QWidget
+subclasses), you can use the unqualified names as before, but in global
+functions (eg. main()), you need to qualify them: Qt::red, Qt::white, etc.
+See also the <a href="#QRgb">QRgb</a> section below.
+
+<h3><a name="QRgb">QRgb</a></h3>
+
+In QRgb (a typedef of long), the order of the RGB channels has changed to
+be in the more efficient order (for typical contemporary hardware). If your
+code made assumptions about the order, you will get blue where you expect
+red and vice versa (you'll not notice the problem if you use shades of
+gray, green, or magenta). You should port your code to use the
+creator function qRgb(int r,int g,int b) and the
+access functions qRed(QRgb), qBlue(QRgb), and qGreen(QRgb).
+If you are using the alpha channel, it hasn't moved, but you should use
+the functions qRgba(int,int,int,int) and qAlpha(QRgb). Note also that
+QColor::pixel() does <i>not</i> return a QRgb (it never did on all platforms,
+but your code may have assumed so on your platform) - this may also produce
+strange color results - use QColor::rgb() if you want a QRgb.
+
+
+<h3><a name="QDataStream">QDataStream</a></h3>
+
+<p>The QDatastream serialization format of most Qt classes is changed
+in Qt 2.x. Use \code QDataStream::setVersion( 1 )\endcode to get a
+datastream object that can read and write Qt 1.x format data streams.
+
+<p>If you want to write Qt 1.x format datastreams, note the following
+compatibility issues:
+ <ul>
+ <li>QString: Qt 1.x has no Unicode support, so strings will be
+ serialized by writing the classic C string returned by \code
+ QString::latin1().\endcode
+ <li><a href="#QPoint">QPoint & al.</a>: Coordinates will be
+ truncated to the Qt 1.x 16 bit format.
+ </ul>
+
+<h3><a name="QWidget">QWidget</a></h3>
+
+<h4>QWidget::recreate()</h4>
+<p>
+This function is now called \link QWidget::reparent() reparent()\endlink.
+
+<h4>QWidget::setAcceptFocus(bool)</h4>
+<p>
+This function is removed.
+Calls like QWidget::setAcceptFocus(TRUE) should be replaced by
+ \code QWidget::setFocusPolicy(StrongFocus)\endcode, and
+calls like QWidget::setAcceptFocus(FALSE) should be replaced by
+ \code QWidget::setFocusPolicy(NoFocus)\endcode.
+Additional policies are TabFocus and ClickFocus.
+
+
+<h4>QWidget::paintEvent()</h4>
+<p>
+paintEvent(0) is not permitted - subclasses need not check for
+a null event, and might crash.
+Never pass 0 as the argument to paintEvent(). You probably
+just want repaint() or update() instead.
+<p>
+When processing a paintEvent, painting is only permitted within
+the update region specified in the event. Any painting outside will be
+clipped away. This shouldn't break any code (it was always like this
+on MS-Windows) but makes many explicit calls to
+QPainter::setClipRegion() superfluous. Apart from the improved
+consistency, the change is likely to reduce flicker and to make Qt
+event slightly faster.
+
+<h3><a name="QIODevice">QIODevice</a></h3>
+<p>
+The protected member QIODevice::index is renamed to QIODevice::ioIndex
+to avoid warnings and to allow compilation with bad C libraries that
+#define index to strchr. If you have made a subclass of QIODevice,
+check every occurrence of the string "index" in the implementation, since
+a compiler will not always catch cases like \code(uint)index\endcode
+that need to be changed.
+
+<h3><a name="QLabel">QLabel</a></h3>
+
+<h4>\code QLabel::setMargin()\endcode</h4>
+<p>
+\code QLabel::setMargin()\endcode and\code QLabel::margin()\endcode
+have been renamed to \code QLabel::setIndent()\endcode and
+\code QLabel::indent()\endcode, respectively. This was done to avoid
+collision with QFrame::setMargin(), which is now virtual.
+
+<h4>\code QLabel::setMovie()\endcode</h4>
+<p>
+Previously, setting a movie on a label cleared the value of text().
+Now it doesn't. If you somehow used <tt>QLabel::text()</tt>
+to detect if a
+movie was set, you might have trouble. This is unlikely.
+
+
+<h3><a name="QDialog">QDialog</a></h3>
+
+<p> The semantics of the parent pointer changed for modeless dialogs:
+In Qt-2.x, dialogs are always top level windows. The parent, however,
+takes the ownership of the dialog, i.e. it will delete the dialog at
+destruction if it has not been explicitly deleted
+already. Furthermore, the window system will be able to tell that both
+the dialog and the parent belong together. Some X11 window managers
+will for instance provide a common taskbar entry in that case.
+
+<p>
+If the dialog belongs to a top level main window
+of your application, pass this main window as parent to the dialog's
+constructor. Old code (with 0 pointer) will still run. Old code that
+included QDialogs as child widgets will no longer work (it never really did).
+If you think you might be doing this, put a breakpoint in
+QDialog::QDialog() conditional on parent not being 0.
+
+
+<h3><a name="QStrList">QStrList</a></h3>
+
+Many methods that took a QStrList can now instead take a QStringList,
+which is a real list of QString values.
+
+To use QStringList rather than QStrList, change loops that look like this:
+\code
+ QStrList list = ...;
+ const char* s;
+ for ( s = list.first(); s; s = list.next() ) {
+ process(s);
+ }
+\endcode
+to be like this:
+\code
+ QStringList list = ...;
+ QStringList::ConstIterator i;
+ for ( i = list.begin(); i != list.end(); ++i ) {
+ process(*i);
+ }
+\endcode
+
+In general, the QStrList functions are less efficient, building a temporary QStringList.
+
+The following functions now use QStringList rather than QStrList
+for return types/parameters.
+
+<ul>
+ <li><tt>void QFileDialog::setFilters(const QStrList&)</tt>
+ becomes <tt>void QFileDialog::setFilters(const QStringList&)</tt>
+ <li><tt>QStrList QFileDialog::getOpenFileNames(...)</tt>
+ becomes <tt>QStringList QFileDialog::getOpenFileNames(...)</tt>
+ <li><tt>bool QUrlDrag::decodeLocalFiles(QMimeSource*, QStrList&)</tt>
+ becomes <tt>bool QUriDrag::decodeLocalFiles(QMimeSource*, QStringList&)</tt>
+ <li><tt>const QStrList *QDir::entryList(...) const</tt>
+ becomes <tt>QStringList QDir::entryList(...) const</tt>
+ (note that the return type is no longer a pointer). You may also
+ choose to use encodedEntryList().
+</ul>
+
+The following functions are added:
+<ul>
+ <li><tt>QComboBox::insertStringList(const QStringList &, int index=-1)</tt>
+ <li><tt>QListBox::insertStringList(const QStringList &,int index=-1)</tt>
+</ul>
+
+The rarely used static function <tt>void
+QFont::listSubstitutions(QStrList*)</tt> is replaced by <tt>QStringList
+QFont::substitutions()</tt>.
+
+
+<h3><a name="QLayout">QLayout</a></h3>
+
+<p> Calling resize(0,0) or resize(1,1) will no longer work magically.
+Remove all such calls. The default size of top level widgets will be their
+\link QWidget::sizeHint() sizeHint()\endlink.
+
+<p> The default implementation of QWidget::sizeHint() will no longer
+return just an invalid size; if the widget has a layout, it will return
+the layout's preferred size.
+
+<p> The special maximum MaximumHeight/Width is now QWIDGETSIZE_MAX,
+not QCOORD_MAX.
+
+<p> \link QBoxLayout::addWidget() QBoxLayout::addWidget()\endlink
+now interprets the \e alignment parameter more aggressively. A
+non-default alignment now indicates that the widget should not grow to
+fill the available space, but should be sized according to sizeHint().
+If a widget is too small, set the alignment to 0. (Zero indicates no
+alignment, and is the default.)
+
+<p> The class QGManager is removed. Subclasses of QLayout need to be rewritten
+to use the new, much simpler \link QLayout QLayout API\endlink.
+
+<p> For typical layouts, all use of
+\link QWidget::setMinimumSize() setMinimumSize()\endlink
+and
+\link QWidget::setFixedSize() setFixedSize()\endlink
+can be removed.
+\link QLayout::activate() activate()\endlink is no longer necessary.
+
+<p>
+You might like to look at the QGrid, QVBox, and QHBox widgets - they offer
+a simple way to build nested widget structures.
+
+
+<h3><a name="QListView">QListView</a></h3>
+
+<p>In Qt 1.x mouse events to the viewport where redirected to the
+event handlers for the listview; in Qt 2.x, this functionality is
+in QScrollView where mouse (and other position-oriented) events are
+redirected to viewportMousePressEvent() etc, which in turn translate
+the event to the coordinate system of the contents and call
+contentsMousePressEvent() etc, thus providing events in the most
+convenient coordinate system. If you overrode QListView::MouseButtonPress(),
+QListView::mouseDoubleClickEvent(), QListView::mouseMoveEvent(), or
+QListView::mouseReleaseEvent() you must instead override
+viewportMousePressEvent(),
+viewportMouseDoubleClickEvent(), viewportMouseMoveEvent(), or
+viewportMouseReleaseEvent() respectively. New code will usually override
+contentsMousePressEvent() etc.
+
+<p>The signal QListView::selectionChanged(QListViewItem *) can now be
+emitted with a null pointer as parameter. Programs that use the
+argument without checking for 0, may crash.
+
+<h3><a name="QMultiLineEdit">QMultiLineEdit</a></h3>
+
+<p>
+The protected function
+\code QMultiLineEdit::textWidth(QString*)\endcode
+changed to
+\code QMultiLineEdit::textWidth(const QString&)\endcode.
+This is unlikely to be a problem, and you'll get a compile error
+if you called it.
+
+
+<h3><a name="QClipboard">QClipboard</a></h3>
+
+<p>
+\code QClipboard::pixmap()\endcode now returns a QPixmap, not a QPixmap*.
+The pixmap
+will be \link QPixmap::isNull() null\endlink if no pixmap is on the
+clipboard. QClipboard now offers powerful MIME-based types on the
+clipboard, just like drag-and-drop (in fact, you can reuse most of your
+drag-and-drop code with clipboard operations).
+
+
+<h3><a name="QDropSite">QDropSite</a></h3>
+
+<P>
+QDropSite is obsolete. If you simply passed <tt>this</tt>, just remove
+the inheritance of QDropSite and call
+\link QWidget::setAcceptDrops() setAcceptDrops(TRUE)\endlink in the class
+constructor.
+If you passed something other than <tt>this</tt>,
+your code will not work. A common case is passing
+the
+\link QScrollView::viewport() viewport()\endlink of a QListView,
+in which case,
+override the
+\link QScrollView::contentsDragMoveEvent() contentsDragMoveEvent()\endlink,
+etc.
+functions rather than QListView's dragMoveEvent() etc. For other
+cases, you will need to use an event filter to act on the drag/drop events
+of another widget (as is the usual way to intercept foreign events).
+
+
+<h3><a name="QScrollView">QScrollView</a></h3>
+
+The parameters in the signal
+\link QScrollView::contentsMoving() contentsMoving(int,int)\endlink
+are now positive rather than negative values, coinciding with
+\link QScrollView::setContentsPos() setContentsPos()\endlink. Search for
+connections you make to this signal, and either change the slot they are
+connected to such that it also expects positive rather than negative
+values, or introduce an intermediate slot and signal that negates them.
+
+If you used drag and drop with QScrollView, you may experience the problem
+described for <a href="#QDropSite">QDropSite</a>.
+
+
+<h3><a name="QTextStream">QTextStream</a></h3>
+
+<p>
+\code operator<<(QTextStream&, QChar&)\endcode does not skip whitespace.
+\code operator<<(QTextStream&, char&)\endcode does,
+ as was the case with Qt 1.x. This is for backward compatibility.
+
+<h3><a name="QUriDrag">QUriDrag</a></h3>
+
+The class QUrlDrag is renamed to QUriDrag, and the API has been
+broadened to include additional conversion routines, including
+conversions to Unicode filenames (see the class documentation
+for details). Note that in Qt 1.x
+the QUrlDrag class used the non-standard MIME type "url/url",
+while QUriDrag uses the standardized "text/uri-list" type. Other
+identifiers affected by the Url to Uri change are
+QUrlDrag::setUrls() and QUrlDrag::urlToLocalFile().
+
+<h3><a name="QPainter">QPainter</a></h3>
+
+<p> The GrayText painter flag has been removed. Use
+\link QPainter::setPen() setPen( palette().disabled().foreground() )\endlink
+instead.
+
+
+<p> The RasterOp enum
+(CopyROP,
+ OrROP,
+ XorROP,
+ NotAndROP,
+ EraseROP,
+ NotCopyROP,
+ NotOrROP,
+ NotXorROP,
+ AndROP, NotEraseROP,
+ NotROP,
+ ClearROP,
+ SetROP,
+ NopROP,
+ AndNotROP,
+ OrNotROP,
+ NandROP,
+ NorROP, LastROP)
+is now part of the Qt namespace class, so if you
+use it outside a member function, you'll need to prefix with Qt::.
+
+
+<h3><a name="QPicture">QPicture</a></h3>
+
+<p>The binary storage format of QPicture is changed, but the Qt 2.x
+QPicture class can both read and write Qt 1.x format QPictures. No
+special handling is required for reading; QPicture will automatically
+detect the version number. In order to write a Qt 1.x format QPicture,
+set the formatVersion parameter to 1 in the QPicture constructor.
+
+<p>For writing Qt 1.x format QPictures, the compatibility issues of <a
+href="#QDataStream">QDataStream</a> applies.
+
+<p>It is safe to try to read a QPicture file generated with Qt 2.x
+(without formatVersion set to 1) with a program compiled with Qt
+1.x. The program will not crash, it will just issue the warning
+"QPicture::play: Incompatible version 2.x" and refuse to load the
+picture.
+
+
+
+<h3><a name="QPoint">QPoint, QPointArray, QSize and QRect</a></h3>
+
+<p>The basic coordinate datatype in these classes, QCOORD, is now 32
+bit (int) instead of a 16 bit (short). The const values QCOORD_MIN and
+QCOORD_MAX have changed accordingly.
+
+<p>QPointArray is now actually, not only seemingly, a QArray of QPoint
+objects. The semi-internal workaround classes QPointData and QPointVal
+are removed since they are no longer needed; QPoint is used directly
+instead. The function \code QPointArray::shortPoints()\endcode
+provides the point array converted to short (16bit) coordinates for
+use with external functions that demand that format.
+
+
+<h3><a name="QImage">QImage</a></h3>
+
+QImage uses QRgb for the colors - see <a href="#QRgb">the changes to that</a>.
+
+
+<h3><a name="QPixmap">QPixmap</a></h3>
+
+\code QPixmap::convertToImage()\endcode with bitmaps now guarantees that color0 pixels
+become color(0) in the resulting QImage. If you worked around the lack of
+this, you may be able to simplify your code. If you made assumptions
+about the previous undefined behavior, the symptom will be inverted
+bitmaps (eg. "inside-out" masks).
+
+<p>
+\code QPixmap::optimize(TRUE)\endcode
+is replaced by
+\code QPixmap::setOptimization(QPixmap::NormalOptim)\endcode
+or
+\code QPixmap::setOptimization(QPixmap::BestOptim)\endcode
+- see the documentation
+to choose which is best for your application. NormalOptim is most like
+the Qt 1.x "TRUE" optimization.
+
+
+<h3><a name="QMenuData">QMenuData / QPopupMenu</a></h3>
+
+In Qt 1.x, new menu items were assigned either an application-wide
+unique identifier or an identifier equal to the index of the item, depending on the
+\link QMenuData::insertItem() insertItem(...)\endlink function used.
+In Qt 2.x this confusing
+situation has been cleaned up: generated identifiers are always
+unique across the entire application.
+
+If your code depends on generated ids
+being equal to the item's index, a quick fix is to use
+\code QMenuData::indexOf(int id)\endcode
+in the handling function instead. You may alternatively pass
+\code QMenuData::count()\endcode
+as identifier when you insert the items.
+
+Furthermore, QPopupMenus can (and should!) be created with a parent
+widget now, for example the main window that is used to display the
+popup. This way, the popup will automatically be destroyed together
+with its main window. Otherwise you'll have to take care of the
+ownership manually.
+
+QPopupMenus are also reusable in 2.x. They may occur in different
+locations within one menu structure or be used as both a menubar
+drop-down and as a context popup-menu. This should make it possible to
+significantly simplify many applications.
+
+Last but not least, QPopupMenu no longer inherits QTableView. Instead,
+it directly inherits QFrame.
+
+<h3><a name="QValidator">QValidator (QLineEdit, QComboBox, QSpinBox) </a></h3>
+
+\code QValidator::validate(...)\endcode
+and
+\code QValidator::fixup( QString & )\endcode
+are now const
+functions. If your subclass reimplements validate() as a
+non-const function,
+you will get a compile error (validate was pure virtual).
+
+In QLineEdit, QComboBox, and QSpinBox,
+setValidator(...) now takes a const pointer to a QValidator, and
+validator() returns a const pointer. This change highlights the fact
+that the widgets do not take the ownership of the validator (a validator is
+a QObject on its own, with its own parent - you can easily set the same validator
+object on many different widgets), so changing the state of
+such an object or deleting it is very likely a bug.
+
+
+<h3><a name="QFile">QFile, QFileInfo, QDir</a></h3>
+
+File and directory names are now always Unicode strings (ie. QString). If you used QString
+in the past for the simplicity it offers, you'll probably have little consequence. However,
+if you pass filenames to system functions rather than using Qt functions (eg. if you use the
+Unix <tt>unlink()</tt> function rather than <tt>QFile::remove()</tt>, your code will probably
+only work for Latin1 locales (eg. Western Europe, the U.S.). To ensure your code will support
+filenames in other locales, either use the Qt functions, or convert the filenames via
+\code QFile::encodeFilename()\endcode and \code QFile::decodeFilename()\endcode - but do it
+\e just as you call the system function - code that mixes encoded and unencoded filenames
+is very error prone. See the comments in QString, such as regarding QT_NO_ASCII_CAST that
+can help find potential problems.
+
+
+<h3><a name="QFontMetrics">QFontMetrics</a></h3>
+
+boundingRect(char) is replaced by
+boundingRect(QChar), but since
+char auto-converts to QChar, you're not likely to run into problems
+with this.
+
+
+<h3><a name="QWindow">QWindow</a></h3>
+
+This class (which was just QWidget under a different name) has been
+removed. If you used it, do a global search-and-replace of the word
+"QWindow" with "QWidget".
+
+
+<h3><a name="QEvent">QEvent</a></h3>
+
+<p> The global #define macros in qevent.h have been replaced by an
+enum in QEvent. Use e.g. QEvent::Paint instead of Event_Paint. Same
+for all of:
+Event_None,
+Event_Timer,
+Event_MouseButtonPress,
+Event_MouseButtonRelease,
+Event_MouseButtonDblClick,
+Event_MouseMove,
+Event_KeyPress,
+Event_KeyRelease,
+Event_FocusIn,
+Event_FocusOut,
+Event_Enter,
+Event_Leave,
+Event_Paint,
+Event_Move,
+Event_Resize,
+Event_Create,
+Event_Destroy,
+Event_Show,
+Event_Hide,
+Event_Close,
+Event_Quit,
+Event_Accel,
+Event_Clipboard,
+Event_SockAct,
+Event_DragEnter,
+Event_DragMove,
+Event_DragLeave,
+Event_Drop,
+Event_DragResponse,
+Event_ChildInserted,
+Event_ChildRemoved,
+Event_LayoutHint,
+Event_ActivateControl,
+Event_DeactivateControl,
+and
+Event_User.
+
+<p> The Q_*_EVENT macros in qevent.h have been deleted. Use an
+explicit cast instead. The macros were:
+Q_TIMER_EVENT,
+Q_MOUSE_EVENT,
+Q_KEY_EVENT,
+Q_FOCUS_EVENT,
+Q_PAINT_EVENT,
+Q_MOVE_EVENT,
+Q_RESIZE_EVENT,
+Q_CLOSE_EVENT,
+Q_SHOW_EVENT,
+Q_HIDE_EVENT,
+and
+Q_CUSTOM_EVENT.
+
+<p> QChildEvents are now sent for all QObjects, not just QWidgets.
+You may need to add extra checking if you use a QChildEvent without
+much testing of its values.
+
+<h3>All the removed functions</h3>
+
+All <a href="removed20.html">these functions</a> have been removed in
+Qt 2.x. Most are simply cases where "const char*" has changed to
+"const QString&", or when an enumeration type has moved into the Qt::
+namespace (which, technically, is a new name, but your code will
+compile just the same anyway). This list is provided for completeness.
+
+*/
+
+// I split this to work around limitations in perl's regexp parser. --Arnt
+
+// warwick can regenerate this with his qt-2-report
+
+/*! \page removed20.html
+
+\title Functions removed in Qt 2.0
+
+<pre>
+
+QFileDialog::fileHighlighted(const char *)
+QFileDialog::fileSelected(const char *)
+QFileDialog::dirEntered(const char *)
+QFileDialog::updatePathBox(const char *)
+QObject::name(void) const
+QFileDialog::getOpenFileName(const char *, const char *, QWidget *, const char *)
+QFileDialog::getSaveFileName(const char *, const char *, QWidget *, const char *)
+QFileDialog::getExistingDirectory(const char *, QWidget *, const char *)
+QFileDialog::getOpenFileNames(const char *, const char *, QWidget *, const char *)
+QFileDialog::setSelection(const char *)
+QFileDialog::setDir(const char *)
+QMessageBox::setText(const char *)
+QMessageBox::setButtonText(const char *)
+QMessageBox::setButtonText(int, const char *)
+QMessageBox::setStyle(GUIStyle)
+QMessageBox::standardIcon(QMessageBox::Icon, GUIStyle)
+QMessageBox::information(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::information(QWidget *, const char *, const char *, int, int, int)
+QMessageBox::warning(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::warning(QWidget *, const char *, const char *, int, int, int)
+QMessageBox::critical(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
+QMessageBox::critical(QWidget *, const char *, const char *, int, int, int)
+QMessageBox::about(QWidget *, const char *, const char *)
+QMessageBox::aboutQt(QWidget *, const char *)
+QMessageBox::message(const char *, const char *, const char *, QWidget *, const char *)
+QMessageBox::buttonText(void) const
+QMessageBox::query(const char *, const char *, const char *, const char *, QWidget *, const char *)
+QProgressDialog::setLabelText(const char *)
+QProgressDialog::setCancelButtonText(const char *)
+QProgressDialog::styleChange(GUIStyle)
+QProgressDialog::init(QWidget *, const char *, const char *, int)
+QTabDialog::addTab(QWidget *, const char *)
+QTabDialog::isTabEnabled(const char *) const
+QTabDialog::setTabEnabled(const char *, bool)
+QTabDialog::setDefaultButton(const char *)
+QTabDialog::setCancelButton(const char *)
+QTabDialog::setApplyButton(const char *)
+QTabDialog::setOKButton(const char *)
+QTabDialog::setOkButton(const char *)
+QTabDialog::styleChange(GUIStyle)
+QTabDialog::selected(const char *)
+QObject::name(void) const
+QApplication::setStyle(GUIStyle)
+QApplication::palette(void)
+QApplication::setPalette(const QPalette &, bool)
+QApplication::font(void)
+QApplication::setFont(const QFont &, bool)
+QBrush::setStyle(BrushStyle)
+QBrush::init(const QColor &, BrushStyle)
+QObject::name(void) const
+QClipboard::data(const char *) const
+QClipboard::setData(const char *, void *)
+QClipboard::setText(const char *)
+QUrlDrag::decodeLocalFiles(QDropEvent *, QStrList &)
+QObject::name(void) const
+QStoredDrag::setEncodedData(QArrayT<char> const &)
+QTextDrag::setText(const char *)
+QImageDrag::canDecode(QDragMoveEvent *)
+QTextDrag::canDecode(QDragMoveEvent *)
+QUrlDrag::canDecode(QDragMoveEvent *)
+QImageDrag::decode(QDropEvent *, QImage &)
+QImageDrag::decode(QDropEvent *, QPixmap &)
+QTextDrag::decode(QDropEvent *, QString &)
+QUrlDrag::decode(QDropEvent *, QStrList &)
+QDragMoveEvent::format(int)
+QDragMoveEvent::provides(const char *)
+QDragMoveEvent::data(const char *)
+QDropEvent::data(const char *)
+QEvent::peErrMsg(void)
+QFont::substitute(const char *)
+QFont::insertSubstitution(const char *, const char *)
+QFont::removeSubstitution(const char *)
+QFont::load(unsigned int) const
+QFont::setFamily(const char *)
+QFont::bold(void) const
+QFont::setBold(bool)
+QFont::handle(unsigned int) const
+QFont::bold(void) const
+QFontInfo::font(void) const
+QFontInfo::reset(const QWidget *)
+QFontInfo::type(void) const
+QFontMetrics::inFont(char) const
+QFontMetrics::leftBearing(char) const
+QFontMetrics::rightBearing(char) const
+QFontMetrics::width(char) const
+QFontMetrics::width(const char *, int) const
+QFontMetrics::boundingRect(char) const
+QFontMetrics::boundingRect(const char *, int) const
+QFontMetrics::boundingRect(int, int, int, int, int, const char *, int, int, int *, char **) const
+QFontMetrics::size(int, const char *, int, int, int *, char **) const
+QFontMetrics::font(void) const
+QFontMetrics::reset(const QWidget *)
+QFontMetrics::type(void) const
+QObject::name(void) const
+QGManager::setBorder(int)
+QGManager::newSerChain(QGManager::Direction)
+QGManager::newParChain(QGManager::Direction)
+QGManager::add(QChain *, QChain *, int)
+QGManager::addWidget(QChain *, QWidget *, int)
+QGManager::addSpacing(QChain *, int, int, int)
+QGManager::addBranch(QChain *, QChain *, int, int)
+QGManager::setStretch(QChain *, int)
+QGManager::activate(void)
+QGManager::unFreeze(void)
+QGManager::xChain(void)
+QGManager::yChain(void)
+QGManager::setMenuBar(QWidget *)
+QGManager::mainWidget(void)
+QGManager::remove(QWidget *)
+QGManager::setName(QChain *, const char *)
+QGManager::eventFilter(QObject *, QEvent *)
+QGManager::resizeHandle(QWidget *, const QSize &)
+QGManager::resizeAll(void)
+QIconSet::setPixmap(const char *, QIconSet::Size, QIconSet::Mode)
+QImage::imageFormat(const char *)
+QImageIO::imageFormat(const char *)
+QImage::load(const char *, const char *)
+QImage::loadFromData(QArrayT<char>, const char *)
+QImage::save(const char *, const char *) const
+QImageIO::setFileName(const char *)
+QImageIO::setDescription(const char *)
+QBoxLayout::addB(QLayout *, int)
+QObject::name(void) const
+QLayout::basicManager(void)
+QLayout::verChain(QLayout *)
+QLayout::horChain(QLayout *)
+QObject::name(void) const
+QObject::tr(const char *) const
+QPaintDevice::x11Screen(voidQPaintDevice::x11Depth(voidQPaintDevice::x11Cells(voidQPaintDevice::x11Colormap(voidQPaintDevice::x11DefaultColormap(void) QPaintDevice::x11Visual(voidQPaintDevice::x11DefaultVisual(void)
+QPainter::translate(float, float)
+QPainter::scale(float, float)
+QPainter::shear(float, float)
+QPainter::rotate(float)
+QPainter::drawText(const QPoint &, const char *, int)
+QPainter::drawText(const QRect &, int, const char *, int, QRect *, char **)
+QPainter::drawText(int, int, const char *, int)
+QPainter::drawText(int, int, int, int, int, const char *, int, QRect *, char **)
+QPainter::boundingRect(int, int, int, int, int, const char *, int, char **)
+QPainter::testf(unsigned short) const
+QPainter::setf(unsigned short)
+QPainter::setf(unsigned short, bool)
+QPainter::clearf(unsigned short)
+QPainter::setPen(PenStyle)
+QPainter::setBrush(BrushStyle)
+QPainter::setBackgroundMode(BGMode)
+QPen::setStyle(PenStyle)
+QPen::init(const QColor &, unsigned int, PenStyle)
+QPicture::load(const char *)
+QPicture::save(const char *)
+QPixmap::isOptimized(void) const
+QPixmap::optimize(bool)
+QPixmap::isGloballyOptimized(void)
+QPixmap::optimizeGlobally(bool)
+QPixmap::imageFormat(const char *)
+QPixmap::load(const char *, const char *, QPixmap::ColorMode)
+QPixmap::load(const char *, const char *, int)
+QPixmap::loadFromData(QArrayT<char>, const char *, int)
+QPixmap::save(const char *, const char *) const
+QPixmapCache::find(const char *)
+QPixmapCache::find(const char *, QPixmap &)
+QPixmapCache::insert(const char *, QPixmap *)
+QPixmapCache::insert(const char *, const QPixmap &)
+QPrinter::setPrinterName(const char *)
+QPrinter::setOutputFileName(const char *)
+QPrinter::setPrintProgram(const char *)
+QPrinter::setDocName(const char *)
+QPrinter::setCreator(const char *)
+QRect::setX(int)
+QRect::setY(int)
+QRegion::exec(QArrayT<char> const &)
+QObject::name(void) const
+QObject::name(void) const
+QSignalMapper::setMapping(const QObject *, const char *)
+QSignalMapper::mapped(const char *)
+QObject::name(void) const
+QObject::name(void) const
+QWidget::setCaption(const char *)
+QWidget::setIconText(const char *)
+QWidget::drawText(const QPoint &, const char *)
+QWidget::drawText(int, int, const char *)
+QWidget::acceptFocus(void) const
+QWidget::setAcceptFocus(bool)
+QWidget::create(unsigned int)
+QWidget::create(void)
+QWidget::internalMove(int, int)
+QWidget::internalResize(int, int)
+QWidget::internalSetGeometry(int, int, int, int)
+QWidget::deferMove(const QPoint &)
+QWidget::deferResize(const QSize &)
+QWidget::cancelMove(voidQWidget::cancelResize(voidQWidget::sendDeferredEvents(voidQWidget::setBackgroundColorFromMode(voidQObject::name(void) const QWidget::setMask(QBitmapQWMatrix::setMatrix(float, float, float, float, float, float)
+QWMatrix::map(float, float, float *, float *) const
+QWMatrix::translate(float, float)
+QWMatrix::scale(float, float)
+QWMatrix::shear(float, float)
+QWMatrix::rotate(float)
+QBuffer::setBuffer(QArrayT<char>)
+QDir::entryList(const char *, int, int) const
+QDir::entryInfoList(const char *, int, int) const
+QDir::mkdir(const char *, bool) const
+QDir::rmdir(const char *, bool) const
+QDir::exists(const char *, bool)
+QDir::remove(const char *, bool)
+QDir::rename(const char *, const char *, bool)
+QDir::setCurrent(const char *)
+QDir::match(const char *, const char *)
+QDir::cleanDirPath(const char *)
+QDir::isRelativePath(const char *)
+QDir::setPath(const char *)
+QDir::filePath(const char *, bool) const
+QDir::absFilePath(const char *, bool) const
+QDir::convertSeparators(const char *)
+QDir::cd(const char *, bool)
+QDir::setNameFilter(const char *)
+QFile::setName(const char *)
+QFile::exists(const char *)
+QFile::remove(const char *)
+QFileInfo::setFile(const QDir &, const char *)
+QFileInfo::setFile(const char *)
+QFile::exists(const char *)
+QFileInfo::extension(void) const
+QRegExp::match(const char *, int, int *) const
+QRegExp::matchstr(unsigned short *, char *, char *) const
+QString::resize(unsigned int)
+QString::fill(char, int)
+QString::find(const char *, int, bool) const
+QString::findRev(const char *, int, bool) const
+QString::leftJustify(unsigned int, char, bool) const
+QString::rightJustify(unsigned int, char, bool) const
+QString::insert(unsigned int, const char *)
+QString::append(const char *)
+QString::prepend(const char *)
+QString::replace(const QRegExp &, const char *)
+QString::replace(unsigned int, unsigned int, const char *)
+QString::setStr(const char *)
+QString::setNum(int)
+QString::setNum(unsigned long)
+QString::setExpand(unsigned int, char)
+QButton::setText(const char *)
+QComboBox::setEditText(const char *)
+QComboBox::activated(const char *)
+QComboBox::highlighted(const char *)
+QComboBox::insertItem(const char *, int)
+QComboBox::changeItem(const char *, int)
+QComboBox::setStyle(GUIStyle)
+QComboBox::setValidator(QValidator *)
+QGroupBox::setTitle(const char *)
+QHeader::moveAround(int, int)
+QHeader::addLabel(const char *, int)
+QHeader::setLabel(int, const char *, int)
+QHeader::setOrientation(QHeader::Orientation)
+QHeader::resizeEvent(QResizeEvent *QHeader::paintCell(QPainter *, int, intQHeader::setupPainter(QPainter *QHeader::cellHeight(intQHeader::cellWidth(int) QLabel::setText(const char *QLCDNumber::display(const char *)
+QLCDNumber::resizeEvent(QResizeEvent *)
+QLCDNumber::internalDisplay(const char *)
+QLCDNumber::drawString(const char *, QPainter &, QBitArray *, bool)
+QLCDNumber::drawDigit(const QPoint &, QPainter &, int, char, char)
+QLCDNumber::drawSegment(const QPoint &, char, QPainter &, int, bool)
+QLineEdit::event(QEvent *)
+QLineEdit::setValidator(QValidator *)
+QLineEdit::validateAndSet(const char *, int, int, int)
+QLineEdit::setText(const char *)
+QLineEdit::insert(const char *)
+QLineEdit::textChanged(const char *)
+QListBox::insertItem(const char *, int)
+QListBox::inSort(const char *)
+QListBox::changeItem(const char *, int)
+QListBox::maxItemWidth(void)
+QListBox::highlighted(const char *)
+QListBoxItem::setText(const char *)
+QListBox::selected(const char *)
+QListViewItem::isExpandable(void)
+QListView::setStyle(GUIStyle)
+QMainWindow::addToolBar(QToolBar *, const char *, QMainWindow::ToolBarDock, bool)
+QMenuData::insertItem(const QPixmap &, const QObject *, const char *, int)
+QMenuData::insertItem(const QPixmap &, const char *, QPopupMenu *, int, int)
+QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int)
+QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int, int, int)
+QMenuData::insertItem(const QPixmap &, const char *, int, int)
+QMenuData::insertItem(const char *, QPopupMenu *, int, int)
+QMenuData::insertItem(const char *, const QObject *, const char *, int)
+QMenuData::insertItem(const char *, const QObject *, const char *, int, int, int)
+QMenuData::insertItem(const char *, int, int)
+QMenuData::changeItem(const QPixmap &, const char *, int)
+QMenuData::changeItem(const char *, int)
+QMenuData::insertAny(const char *, const QPixmap *, QPopupMenu *, int, int)
+QMenuItem::setText(const char *)
+QMultiLineEdit::textWidth(QString *)
+QMultiLineEdit::repaintAll(void)
+QMultiLineEdit::repaintDelayed(void)
+QMultiLineEdit::setText(const char *)
+QMultiLineEdit::append(const char *)
+QPopupMenu::itemAtPos(const QPoint &)
+QPopupMenu::actSig(int)
+QRadioButton::mouseReleaseEvent(QMouseEvent *)
+QRadioButton::keyPressEvent(QKeyEvent *)
+QRangeControl::adjustValue(void)
+QScrollBar::setOrientation(QScrollBar::Orientation)
+QScrollView::horizontalScrollBar(void)
+QScrollView::verticalScrollBar(void)
+QScrollView::viewport(void)
+QSlider::setOrientation(QSlider::Orientation)
+QSpinBox::setSpecialValueText(const char *)
+QSpinBox::setValidator(QValidator *)
+QSpinBox::valueChanged(const char *)
+QSpinBox::paletteChange(const QPalette &)
+QSpinBox::enabledChange(bool)
+QSpinBox::fontChange(const QFont &)
+QSpinBox::styleChange(GUIStyle)
+QSplitter::setOrientation(QSplitter::Orientation)
+QSplitter::event(QEvent *)
+QSplitter::childInsertEvent(QChildEvent *)
+QSplitter::childRemoveEvent(QChildEvent *)
+QSplitter::moveSplitter(short)
+QSplitter::adjustPos(int)
+QSplitter::splitterWidget(void)
+QSplitter::startMoving(void)
+QSplitter::moveTo(QPoint)
+QSplitter::stopMoving(void)
+QSplitter::newpos(void) const
+QStatusBar::message(const char *)
+QStatusBar::message(const char *, int)
+QObject::name(void) const
+QToolTipGroup::showTip(const char *)
+QToolTip::add(QWidget *, const QRect &, const char *)
+QToolTip::add(QWidget *, const QRect &, const char *, QToolTipGroup *, const char *)
+QToolTip::add(QWidget *, const char *)
+QToolTip::add(QWidget *, const char *, QToolTipGroup *, const char *)
+QToolTip::tip(const QRect &, const char *)
+QToolTip::tip(const QRect &, const char *, const char *)
+QObject::name(void) const
+QWhatsThis::add(QWidget *, const QPixmap &, const char *, const char *, bool)
+QWhatsThis::add(QWidget *, const char *, bool)
+QWhatsThis::textFor(QWidget *)
+QWidgetStack::event(QEvent *)
+
+</pre>
+
+*/
diff --git a/doc/porting3.doc b/doc/porting3.doc
new file mode 100644
index 0000000..9b7c012
--- /dev/null
+++ b/doc/porting3.doc
@@ -0,0 +1,816 @@
+/****************************************************************************
+**
+** Help with porting from Qt 2.x to Qt 3.x
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page porting.html
+
+\title Porting to Qt 3.x
+
+This document describes porting applications from Qt 2.x to Qt 3.x.
+
+The Qt 3.x series is not binary compatible with the 2.x series. This
+means programs compiled for Qt 2.x must be recompiled to work with Qt
+3.x. Qt 3.x is also not completely \e source compatible with 2.x,
+however all points of incompatibility cause compiler errors or
+run-time messages (rather than mysterious results). Qt 3.x includes
+many additional features and discards obsolete functionality. Porting
+from Qt 2.x to Qt 3.x is straightforward, and once completed makes
+the considerable additional power and flexibility of Qt 3.x available
+for use in your applications.
+
+To port code from Qt 2.x to Qt 3.x:
+
+\list 1
+
+\i Briefly read the porting notes below to get an idea of what to expect.
+\i Be sure your code compiles and runs well on all your target platforms
+ with Qt 2.x.
+\i Recompile with Qt 3.x. For each error, search below for related
+ identifiers (e.g. function names, class names). This document
+ mentions all relevant identifiers to help you get the information
+ you need at the cost of being a little verbose.
+\i If you get stuck, ask on the \link http://qt-interest.trolltech.com/
+ qt-interest \endlink mailing list, or Trolltech Technical Support if
+ you're a registered licensee.
+
+\endlist
+
+Table of contents:
+
+\tableofcontents
+
+\target Linkerrors
+\section1 Link Errors on Windows
+
+On Windows, originally in Qt 2.x, the default configuration of the Qt
+library is static. If you just use the default configuration you
+don't need to set certain preprocessor defines. In Qt 3.0, the
+default configuration of the Qt library is to build it as a shared
+library, therefore the preprocessor define \c QT_DLL is needed.
+
+If you use tmake with Qt 2.x, and now use qmake with Qt 3.x, then the
+cause of the problem is with the project file. In the project file,
+there is usually line that looks like:
+
+\c CONFIG = ...
+
+this should be changed to
+
+\c CONFIG += ...
+
+so that qmake can look at the configuration that Qt was built with and
+set any relevant preprocessor defines in the makefile.
+
+\target Headers
+\section1 Header file inclusion changes
+
+Qt 3.x remove some unnecessary nested #include directives from
+header files. This speeds up compilation when you don't need those
+nested header files. But in some cases you will find you need to add
+an extra #include to your files.
+
+For example, if you get a message about QStringList or its functions
+not being defined, then add \c {#include <qstringlist.h>} at
+the top of the file giving the error.
+
+Header files that you might need to add #include directives for include:
+\list
+\i \c <qcursor.h>
+\i \c <qpainter.h>
+\i \c <qpen.h>
+\i \c <qstringlist.h>
+\i \c <qregexp.h>
+\i \c <qstrlist.h>
+\i \c <qstyle.h>
+\i \c <qvaluelist.h>
+\endlist
+
+\section1 Namespace
+
+Qt 3.x is namespace clean. A few global identifiers that had been
+left in Qt 2.x have been discarded.
+
+Enumeration \l Qt::CursorShape and its values are now part of the
+special \c Qt class defined in qnamespace.h. If you get compilation
+errors about these being missing (unlikely, since most of your code will
+be in classes that inherit from the Qt namespace class), then apply
+the following changes:
+
+\list
+\i \c QCursorShape becomes \c Qt::CursorShape
+\i \c ArrowCursor becomes \c Qt::ArrowCursor
+\i \c UpArrowCursor becomes \c Qt::UpArrowCursor
+\i \c CrossCursor becomes \c Qt::CrossCursor
+\i \c WaitCursor becomes \c Qt::WaitCursor
+\i \c IbeamCursor becomes \c Qt::IbeamCursor
+\i \c SizeVerCursor becomes \c Qt::SizeVerCursor
+\i \c SizeHorCursor becomes \c Qt::SizeHorCursor
+\i \c SizeBDiagCursor becomes \c Qt::SizeBDiagCursor
+\i \c SizeFDiagCursor becomes \c Qt::SizeFDiagCursor
+\i \c SizeAllCursor becomes \c Qt::SizeAllCursor
+\i \c BlankCursor becomes \c Qt::BlankCursor
+\i \c SplitVCursor becomes \c Qt::SplitVCursor
+\i \c SplitHCursor becomes \c Qt::SplitHCursor
+\i \c PointingHandCursor becomes \c Qt::PointingHandCursor
+\i \c BitmapCursor becomes \c Qt::BitmapCursor
+\endlist
+
+The names of some debugging macro variables have been changed. We have
+tried not to break source compatibility as much as possible. If you observe
+error messages on the UNIX console or the Windows debugging stream that were
+previously disabled, please check these macro variables:
+
+\list
+\i \c DEBUG becomes \c QT_DEBUG
+\i \c NO_DEBUG becomes \c QT_NO_DEBUG
+\i \c NO_CHECK becomes \c QT_NO_CHECK
+\i \c CHECK_STATE becomes \c QT_CHECK_STATE
+\i \c CHECK_RANGE becomes \c QT_CHECK_RANGE
+\i \c CHECK_NULL becomes \c QT_CHECK_NULL
+\i \c CHECK_MATH becomes \c QT_CHECK_MATH
+\endlist
+
+The name of some debugging macro functions has been changed as well
+but source compatibility should not be affected if the macro variable
+\c QT_CLEAN_NAMESPACE is not defined:
+
+\list
+\i \c ASSERT becomes \c Q_ASSERT
+\i \c CHECK_PTR becomes \c Q_CHECK_PTR
+\endlist
+
+For the record, undocumented macro variables that are not part of the API
+have been changed:
+
+\list
+\i \c _OS_*_ becomes \c Q_OS_*
+\i \c _WS_*_ becomes \c Q_WS_*
+\i \c _CC_*_ becomes \c Q_CC_*
+\endlist
+
+\section1 Removed Functions
+
+All these functions have been removed in Qt 3.x:
+\list
+\i QFont::charSet()
+\i QFont::setCharSet()
+\i QMenuBar::setActItem()
+\i QMenuBar::setWindowsAltMode()
+\i QObject::initMetaObject()
+\i QPainter::drawQuadBezier()
+\i QPointArray::quadBezier()
+\i QRegExp::find()
+\i QSpinBox::downButton()
+\i QSpinBox::upButton()
+\i QString::basicDirection()
+\i QString::visual()
+\i QStyle::set...() functions
+\i QStyle::drawArrow()
+\i QWidget::setFontPropagation()
+\i QWidget::setPalettePropagation()
+\endlist
+
+Also, to avoid conflicts with \c <iostream>, the following three
+global functions have been renamed:
+\list
+\i setw() (renamed qSetW())
+\i setfill() (renamed qSetFill())
+\i setprecision() (renamed qSetPrecision())
+\endlist
+
+\section1 Obsoleted Functions
+
+The following functions have been obsoleted in Qt 3.0. The
+documentation of each of these functions should explain how to
+replace them in Qt 3.0.
+
+\warning It is best to consult \l http://doc.trolltech.com/3.0/
+rather than the documentation supplied with Qt to obtain the latest
+information regarding obsolete functions and how to replace them in
+new code.
+
+\list
+\i QAccel::keyToString( QKeySequence k )
+\i QAccel::stringToKey( const QString \& s )
+\i QActionGroup::insert( QAction *a )
+\i QButton::autoResize() const
+\i QButton::setAutoResize( bool )
+\i QCanvasItem::active() const
+\i QCanvasItem::enabled() const
+\i QCanvasItem::selected() const
+\i QCanvasItem::visible() const
+\i QCanvasPixmapArray::QCanvasPixmapArray( QPtrList\<QPixmap\> list, QPtrList\<QPoint\> hotspots )
+\i QCanvasPixmapArray::operator!()
+\i QColorGroup::QColorGroup( const QColor \& foreground, const QColor \& background, const QColor \& light, const QColor \& dark, const QColor \& mid, const QColor \& text, const QColor \& base )
+\i QComboBox::autoResize() const
+\i QComboBox::setAutoResize( bool )
+\i QDate::dayName( int weekday )
+\i QDate::monthName( int month )
+\i QDir::encodedEntryList( const QString \& nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const
+\i QDir::encodedEntryList( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const
+\i QDockWindow::isHorizontalStretchable() const
+\i QDockWindow::isVerticalStretchable() const
+\i QDockWindow::setHorizontalStretchable( bool b )
+\i QDockWindow::setVerticalStretchable( bool b )
+\i QFont::defaultFont()
+\i QFont::setDefaultFont( const QFont \& f )
+\i QFont::setPixelSizeFloat( float pixelSize )
+\i QFontDatabase::bold( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::families( bool ) const
+\i QFontDatabase::font( const QString \& familyName, const QString \& style, int pointSize, const QString \& )
+\i QFontDatabase::isBitmapScalable( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::isFixedPitch( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::isScalable( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::isSmoothlyScalable( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::italic( const QString \& family, const QString \& style, const QString \& ) const
+\i QFontDatabase::pointSizes( const QString \& family, const QString \& style, const QString \& )
+\i QFontDatabase::smoothSizes( const QString \& family, const QString \& style, const QString \& )
+\i QFontDatabase::styles( const QString \& family, const QString \& ) const
+\i QFontDatabase::weight( const QString \& family, const QString \& style, const QString \& ) const
+\i QLabel::autoResize() const
+\i QLabel::setAutoResize( bool enable )
+\i QLineEdit::cursorLeft( bool mark, int steps = 1 )
+\i QLineEdit::cursorRight( bool mark, int steps = 1 )
+\i QLineEdit::hasMarkedText() const
+\i QLineEdit::markedText() const
+\i QLineEdit::repaintArea( int, int )
+\i QListBox::cellHeight( int i ) const
+\i QListBox::cellHeight() const
+\i QListBox::cellWidth() const
+\i QListBox::findItem( int yPos ) const
+\i QListBox::inSort( const QListBoxItem *lbi )
+\i QListBox::inSort( const QString \& text )
+\i QListBox::itemYPos( int index, int *yPos ) const
+\i QListBox::numCols() const
+\i QListBox::totalHeight() const
+\i QListBox::totalWidth() const
+\i QListBoxItem::current() const
+\i QListBoxItem::selected() const
+\i QListView::removeItem( QListViewItem *item )
+\i QListViewItem::removeItem( QListViewItem *item )
+\i QMainWindow::addToolBar( QDockWindow *, Dock = DockTop, bool newLine = FALSE )
+\i QMainWindow::addToolBar( QDockWindow *, const QString \& label, Dock = DockTop, bool newLine = FALSE )
+\i QMainWindow::lineUpToolBars( bool keepNewLines = FALSE )
+\i QMainWindow::moveToolBar( QDockWindow *, Dock = DockTop )
+\i QMainWindow::moveToolBar( QDockWindow *, Dock, bool nl, int index, int extraOffset = -1 )
+\i QMainWindow::removeToolBar( QDockWindow *)
+\i QMainWindow::setToolBarsMovable( bool )
+\i QMainWindow::toolBarPositionChanged( QToolBar *)
+\i QMainWindow::toolBarsMovable() const
+\i QMessageBox::message( const QString \& caption, const QString \& text, const QString \& buttonText = QString::null, QWidget *parent = 0, const char *= 0 )
+\i QMessageBox::query( const QString \& caption, const QString \& text, const QString \& yesButtonText = QString::null, const QString \& noButtonText = QString::null, QWidget *parent = 0, const char *= 0 )
+\i QMessageBox::standardIcon( Icon icon, GUIStyle style )
+\i QPalette::normal()
+\i QRegExp::match( const QString \& str, int index = 0, int *len = 0, bool indexIsStart = TRUE ) const
+\i QScrollView::childIsVisible( QWidget *child )
+\i QScrollView::showChild( QWidget *child, bool show = TRUE )
+\i QSignal::block( bool b )
+\i QSignal::isBlocked() const
+\i QSignal::parameter() const
+\i QSignal::setParameter( int value )
+\i QSimpleRichText::draw( QPainter *p, int x, int y, const QRegion \& clipRegion, const QColorGroup \& cg, const QBrush *paper = 0 ) const
+\i QString::ascii() const
+\i QString::data() const
+\i QString::setExpand( uint index, QChar c )
+\i QStyle::defaultFrameWidth() const
+\i QStyle::scrollBarExtent() const
+\i QStyle::tabbarMetrics( const QWidget *t, int \& hf, int \& vf, int \& ov ) const
+\i QTabDialog::isTabEnabled( const char *name ) const
+\i QTabDialog::selected( const QString \& )
+\i QTabDialog::selected( const QString \& tabLabel )
+\i QTabDialog::setTabEnabled( const char *name, bool enable )
+\i QTextStream::QTextStream( QString \& str, int filemode )
+\i QToolBar::QToolBar( const QString \& label, QMainWindow *, ToolBarDock = DockTop, bool newLine = FALSE, const char *name = 0 )
+\i QToolButton::iconSet( bool on ) const
+\i QToolButton::offIconSet() const
+\i QToolButton::onIconSet() const
+\i QToolButton::setIconSet( const QIconSet \& set, bool on )
+\i QToolButton::setOffIconSet( const QIconSet \& )
+\i QToolButton::setOnIconSet( const QIconSet \& )
+\i QToolTip::enabled()
+\i QToolTip::setEnabled( bool enable )
+\i QTranslator::find( const char *context, const char *sourceText, const char *comment = 0 ) const
+\i QTranslator::insert( const char *context, const char *sourceText, const QString \& translation )
+\i QTranslator::remove( const char *context, const char *sourceText )
+\i QUriDrag::setFilenames( const QStringList \& fnames )
+\i QWidget::backgroundColor() const
+\i QWidget::backgroundPixmap() const
+\i QWidget::iconify()
+\i QWidget::setBackgroundColor( const QColor \& c )
+\i QWidget::setBackgroundPixmap( const QPixmap \& pm )
+\i QWidget::setFont( const QFont \& f, bool )
+\i QWidget::setPalette( const QPalette \& p, bool )
+\i QWizard::setFinish( QWidget *, bool )
+\i QXmlInputSource::QXmlInputSource( QFile \& file )
+\i QXmlInputSource::QXmlInputSource( QTextStream \& stream )
+\i QXmlReader::parse( const QXmlInputSource \& input )
+\endlist
+
+Additionally, these preprocessor directives have been removed:
+
+\list
+\i \c {#define strlen qstrlen}
+\i \c {#define strcpy qstrcpy}
+\i \c {#define strcmp qstrcmp}
+\i \c {#define strncmp qstrncmp}
+\i \c {#define stricmp qstricmp}
+\i \c {#define strnicmp qstrnicmp}
+\endlist
+
+See the changes-3.0.0 document for an explanation of why this had to be done.
+You might have been relying on the non-portable and unpredictable behavior
+resulting from these directives. We strongly recommend that you either make
+use of the safe qstr* variants directly or ensure that no 0 pointer is
+passed to the standard C functions in your code base.
+
+\section1 Collection Class Renaming
+
+The classes QArray, QCollection, QList, QListIterator, QQueue, QStack
+and QVector have been renamed. To ease porting, the old names and the
+old header-file names are still supported.
+
+\table
+\header \i Old Name \i New Name \i New Header File
+\row \i QArray \i \l QMemArray \i \c <qmemarray.h>
+\row \i QCollection \i \l QPtrCollection \i \c <qptrcollection.h>
+\row \i QList \i \l QPtrList \i \c <qptrlist.h>
+\row \i QListIterator \i \l QPtrListIterator \i \c <qptrlist.h>
+\row \i QQueue \i \l QPtrQueue \i \c <qptrqueue.h>
+\row \i QStack \i \l QPtrStack \i \c <qptrstack.h>
+\row \i QVector \i \l QPtrVector \i \c <qptrvector.h>
+\endtable
+
+\section1 QButtonGroup
+
+In Qt 2.x, the function QButtonGroup::selected() returns the selected
+\e radio button (QRadioButton). In Qt 3.0, it returns the selected \e
+toggle button (\l QButton::toggleButton), a more general concept.
+This might affect programs that use QButtonGroups that contain a
+mixture of radio buttons and non-radio (e.g. QCheckBox) toggle buttons.
+
+\section1 QDate
+
+Two QDate member functions that were virtual in Qt 2.0 are not virtual
+in Qt 3.0. This is only relevant if you subclassed QDate and
+reimplemented these functions:
+
+\list
+\i QString QDate::monthName( int month ) const
+\i QString QDate::dayName( int weekday ) const
+\endlist
+
+In addition to no longer being virtual, QDate::monthName() and
+QDate::dayName() have been renamed QDate::shortMonthName() and
+QDate::shortDayName() and have been made static (as they should had
+been in the first place). The old names are still provided for source
+compatibility.
+
+\section1 QFileDialog
+
+If the mode was not set explicitly, and the user entered a
+non-existent file, the dialog would accept this. In Qt 3.x, you must
+set the mode, e.g. setMode(QFileDialog::AnyFile), to get the same
+behavior.
+
+\section1 QFont
+
+The internals of QFont have changed significantly between Qt 2.2 and
+Qt 3.0, to give better Unicode support and to make developing
+internationalized applications easier. The original API has been
+preserved with minimal changes. The CharSet enum and its related
+functions have disappeared. This is because Qt now handles all charset
+related issues internally, and removes this burden from the developer.
+
+If you used the CharSet enum or its related functions, e.g
+QFont::charSet() or QFont::setCharSet(), just remove them from your
+code. There are a few functions that took a QFont::CharSet as a
+parameter; in these cases simply remove the charset from the
+parameter list.
+
+\section1 QInputDialog
+
+The two static getText(...) methods in QInputDialog have been merged.
+The \c echo parameter is the third parameter and defaults to
+QLineEdit::Normal.
+
+If you used calls to QInputDialog::getText(...) that provided more
+than the first two required parameters you will must add a value
+for the \c echo parameter.
+
+\section1 QLayout and Other Abstract Layout Classes
+
+The definitions of \l QGLayoutIterator, \l QLayout, \l QLayoutItem, \l
+QLayoutIterator, \l QSpacerItem and \l QWidgetItem have been moved from \c
+<qabstractlayout.h> to \c <qlayout.h>. The header \c
+<qabstractlayout.h> now includes \c <qlayout.h> for compatibility. It
+might be removed in a future version.
+
+\section1 QListViewItem
+
+The paintBranches() function in Qt 2.x had a GUIStyle parameter; this
+has been dropped for Qt 3.x since GUI style is handled by the new
+style engine (See \l QStyle.)
+
+\section1 QMoveEvent
+
+In Qt 2.x, the function QMoveEvent::pos() returned the position of the
+widget in its parent widget, including the window frame. In Qt 3.0,
+it returns the new position of the widget, excluding window frame for
+top level widgets.
+
+\section1 QMultiLineEdit
+
+The QMultiLineEdit was a simple editor widget in previous Qt versions.
+Since Qt 3.0 includes a new richtext engine, which also supports
+editing, QMultiLineEdit is obsolete. For the sake of compatibility
+QMultiLineEdit is still provided. It is now a subclass of QTextEdit
+which wraps the old QMultiLineEdit so that it is mostly source
+compatible to keep old applications working.
+
+For new applications and when maintaining existing applications we
+recommend that you use QTextEdit instead of QMultiLineEdit wherever
+possible.
+
+Although most of the old QMultiLineEdit API is still available, there
+is one important difference. The old QMultiLineEdit operated in terms
+of lines, whereas QTextEdit operates in terms of paragraphs. This is
+because lines change all the time during wordwrap, whereas paragraphs
+remain paragraphs. The consequence of this change is that functions
+which previously operated on lines, e.g. numLines(), textLine(), etc.,
+now work on paragraphs.
+
+Also the function getString() has been removed since it
+published the internal data structure.
+
+In most cases, applications that used QMultiLineEdit will continue to
+work without problems. Applications that worked in terms of lines may
+require some porting.
+
+The source code for the old 2.x version of QMultiLineEdit can be found
+in \c $QTDIR/src/attic/qtmultilineedit.h/cpp. Note that the class has
+been renamed to QtMultiLineEdit to avoid name clashes. If you really
+need to keep compatibility with the old QMultiLineEdit, simply include
+this class in your project and rename QMultiLineEdit to
+QtMultiLineEdit throughout.
+
+\section1 QPrinter
+
+QPrinter has undergone some changes, to make it more flexible and
+to ensure it has the same runtime behaviour on both Unix and Windows. In 2.x,
+QPrinter behaved differently on Windows and Unix, when using view
+transformations on the QPainter. This has changed now, and QPrinter
+behaves consistently across all platforms. A compatibilty mode has been
+added that forces the old behaviour, to ease porting from Qt 2.x
+to Qt 3.x. This compatibilty mode can be enabled by passing the
+QPrinter::Compatible flag to the QPrinter constructor.
+
+On X11, QPrinter used to generate encapsulated postscript when
+fullPage() was TRUE and only one page was printed. This does not
+happen by default anymore, providing a more consistent printing output.
+
+\section1 QRegExp
+
+The \l QRegExp class has been rewritten to support many of the features of Perl
+regular expressions. Both the regular expression syntax and the QRegExp
+interface have been modified.
+
+Be also aware that \c <qregexp.h> is no longer included
+automatically when you include \c <qstringlist.h>. See
+\link #Headers above \endlink for details.
+
+\omit
+In Qt 3.0, qregexp.h has to
+include qstringlist.h, so it's no good to have qstringlist.h include qregexp.h,
+unless one wants to achieve an Escher effect.
+\endomit
+
+\section2 New special characters
+
+There are five new special characters: <tt>(</tt>, <tt>)</tt>, <tt>{</tt>,
+<tt>|</tt> and <tt>}</tt> (parentheses, braces and pipe). When porting old
+regular expressions, you must add <tt>&#92;</tt> (backslash) in front of any
+of these (actually, <tt>&#92;&#92;</tt> in C++ strings), unless it is already
+there.
+
+Example: Old code like
+\code
+ QRegExp rx( "([0-9|]*\\)" ); // works in Qt 2.x
+\endcode
+should be converted into
+\code
+ QRegExp rx( "\\([0-9\\|]*\\)" ); // works in Qt 2.x and 3.x
+\endcode
+(Within character classes, the backslash is not necessary in front of certain
+characters, e.g. <tt>|</tt>, but it doesn't hurt.)
+
+Wildcard patterns need no conversion. Here are two examples:
+\code
+ QRegExp wild( "(*.*)" );
+ wild.setWildcard( TRUE );
+\endcode
+\code
+ // TRUE as third argument means wildcard
+ QRegExp wild( "(*.*)", FALSE, TRUE );
+\endcode
+However, when they are used, make sure to use QRegExp::exactMatch()
+rather than the obsolete QRegExp::match(). QRegExp::match(), like
+QRegExp::find(), tries to find a match somewhere in the target
+string, while QRegExp::exactMatch() tries to match the whole target
+string.
+
+\section2 QRegExp::operator=()
+
+This function has been replaced by \l QRegExp::setPattern() in Qt 2.2.
+Old code such as
+\code
+ QRegExp rx( "alpha" );
+ rx.setCaseSensitive( FALSE );
+ rx.setWildcard( TRUE );
+ rx = "beta";
+\endcode
+still compiles with Qt 3, but produces a different result (the case sensitivity
+and wildcard options are forgotten). This way,
+\code
+ rx = "beta";
+\endcode
+is the same as
+\code
+ rx = QRegExp( "beta" );
+\endcode
+which is what one expects.
+
+\section2 QRegExp::match()
+
+The following function is now obsolete, as it has an unwieldy
+parameter list and was poorly named:
+\list
+\i bool QRegExp::match( const QString \& str, int index = 0,
+ int * len = 0, bool indexIsStart = TRUE ) const
+\endlist
+It will be removed in a future version of Qt. Its \link
+QRegExp::match() documentation \endlink explains how to replace it.
+
+\section2 QRegExp::find()
+
+This function was removed, after a brief appearance in Qt 2.2. Its
+name clashed with QString::find(). Use \l QRegExp::search() or \l
+QString::find() instead.
+
+\section2 QString::findRev() and QString::contains()
+
+\l QString::findRev()'s and \l QString::contains()'s semantics have changed
+between 2.0 and 3.0 to be more consistent with the other overloads.
+
+For example,
+\code
+ QString( "" ).contains( QRegExp("") )
+\endcode
+returns 1 in Qt 2.0; it returns 0 in Qt 3.0. Also, "^" now really means
+start of input, so
+\code
+ QString( "Heisan Hoppsan" ).contains( QRegExp("^.*$") )
+\endcode
+returns 1, not 13 or 14.
+
+This change affect very few existing programs.
+
+\section2 QString::replace()
+
+With Qt 1.0 and 2.0, a QString is converted implicitly into a QRegExp
+as the first argument to QString::replace():
+\code
+ QString text = fetch_it_from_somewhere();
+ text.replace( QString("[A-Z]+"), "" );
+\endcode
+With Qt 3.0, the compiler gives an error. The solution is to use a
+QRegExp cast:
+\code
+ text.replace( QRegExp("[A-Z]+"), "" );
+\endcode
+This change makes it possible to introduce a
+QString::replace(QString, QString) overload in a future version of Qt
+without breaking source compatibility.
+
+\section1 QSemiModal
+
+The QSemiModal class is now obsolete. You should call show() on a
+modal dialog instead.
+
+\section1 QSortedList
+
+The QSortedList class is now obsolete. Consider using a QDict, a QMap
+or a plain QPtrList instead.
+
+\section1 QTableView
+
+The QTableView class has been obsoleted and is no longer a part of the
+Qt API. Either use the powerful QTable class or the simplistic
+QGridView in any new code you create. If you really need the old table
+view for compatibility you can find it in \c
+$QTDIR/src/attic/qttableview.{cpp,h}. Note that the class has been
+renamed from QTableView to QtTableView to avoid name clashes. To use
+it, simply include it in your project and rename QTableView to
+QtTableView throughout.
+
+\section1 QToolButton
+
+The \l QToolButton class used to distinguish between "on" and "off"
+icons. In 3.0, this mechanism was moved into the \l QIconSet class
+(see \l QIconSet::State).
+
+The old \l QToolButton::onIconSet and \l QToolButton::offIconSet
+properties are still provided so that old source will compile, but
+their semantics have changed: they are now synonyms for \l
+QToolButton::iconSet. If you used that distinction in Qt 2.x, you will
+need to adjust your code to use the QIconSet On/Off mechanism.
+
+Likewise, the \e on parameter of these two functions is now ignored:
+
+\list
+\i void QToolButton::setIconSet ( const QIconSet \& set, bool on )
+\i QIconSet QToolButton::iconSet ( bool on ) const
+\endlist
+
+These functions are only provided for ease of porting. New code
+should use the following instead:
+
+\list
+\i void QToolButton::setIconSet( const QIconSet \& set )
+\i QIconSet QToolButton::iconSet() const
+\endlist
+
+Finally, this function is no longer virtual:
+
+\list
+\i void QToolButton::setIconSet( const QIconSet \& set, bool on )
+\endlist
+
+If you have a class that inherits QToolButton and that reimplements
+QToolButton::setIconSet(), you should make the signature of the
+reimplementation agree with the new \l QToolButton::setIconSet(),
+a virtual function.
+
+\section1 QTextStream
+
+The global QTextStream manipulators setw(), setfill() and setprecison()
+were renamed to qSetW(), qSetFill() and qSetPrecision() to avoid conflicts
+with \c <iostream.h>. If you used them, you must rename the occurrences to
+the new names.
+
+\section1 QTranslator
+
+The \l QTranslator class was extended in Qt 2.2, and these extensions
+lead to a new interface. This interface is used mainly by translation
+tools (for example, \link linguist-manual.book Qt
+Linguist \endlink). For source compatibility, no member function was
+effectively removed. The \l QTranslator documentation points out
+which functions are obsolete.
+
+This function is no longer virtual:
+
+\list
+\i QString QTranslator::find( const char * context,
+ const char * sourceText ) const
+\endlist
+
+If you have a class that inherits QTranslator and which reimplements
+QTranslator::find(), you should reimplement QTranslator::findMessage() instead.
+In fact, find() is now defined in terms of findMessage(). By doing the
+conversion, you will also gain support for translator comments and for any
+future extensions.
+
+\section1 QWidget
+
+QWidget::backgroundColor(), QWidget::setBackgroundColor(),
+QWidget::backgroundPixmap() and QWidget::setBackgroundPixmap() have
+often been the source of much confusion in previous releases. Qt 3.0
+addresses this by obsoleting these functions and by replacing them
+with eight new functions: QWidget::eraseColor(),
+QWidget::setEraseColor(), QWidget::erasePixmap(),
+QWidget::setErasePixmap(), QWidget::paletteBackgroundColor(),
+QWidget::setPaletteBackgroundColor(),
+QWidget::paletteBackgroundPixmap() and
+QWidget::setPaletteBackgroundPixmap(). See their documentation for
+details.
+
+\section1 QXml Classes
+
+\section2 QXmlInputSource
+
+The semantics of QXmlInputSource has changed slightly. This change
+only affects code that parses the same data from the same input source
+multiple times. In such cases you must call
+QXmlInputSource::reset() before the second call to
+QXmlSimpleReader::parse().
+
+So code like
+\code
+ QXmlInputSource source( &xmlFile );
+ QXmlSimpleReader reader;
+ ...
+ reader.parse( source );
+ ...
+ reader.parse( source );
+\endcode
+must be changed to
+\code
+ QXmlInputSource source( &xmlFile );
+ QXmlSimpleReader reader;
+ ...
+ reader.parse( source );
+ ...
+ source.reset();
+ reader.parse( source );
+\endcode
+
+\section2 QXmlLocator
+
+Due to some internal changes, it was necessary to clean-up the semantics of
+QXmlLocator: this class is now an abstract class. This shouldn't cause
+any problems, since programmers usually used the QXmlLocator that was
+reported by QXmlContentHandler::setDocumentLocator(). If you used this
+class in some other way, you must adjust your code to use the
+QXmlLocator that is reported by the
+QXmlContentHandler::setDocumentLocator() function.
+
+\section1 Asynchronous I/O Classes
+
+QASyncIO, QDataSink, QDataSource, QIODeviceSource and QDataPump were
+used internally in previous versions of Qt, but are not used anymore.
+They are now obsolete.
+
+\section1 Transparent widgets
+
+In Qt 2.x, the AutoMask property was used to obtain a
+transparent-looking widget. In general, this approach is slow and
+processor hungry. Qt 3.0 uses the BackgroundOrigin which provides
+vastly improved performance and more flexibility in most cases. The
+few classes for which the AutoMask property is still the best approach
+are QCheckBox, QComboBox, QPushButton, QRadioButton and QTabWidget.
+
+\section1 Bezier Curves
+
+The function names for Bezier curves in QPainter and QPointArray have
+been corrected. They now properly reflect their cubic form instead of
+a quadratic one. If you have been using either
+QPainter::drawQuadBezier() or QPointArray::quadBezier() you must
+replace these calls with
+\list
+\i void QPainter::drawCubicBezier( const QPointArray \&, int index=0 ) and
+\i QPointArray QPointArray::cubicBezier() const
+\endlist
+respectively. Neither the arguments nor the resulting curve have changed.
+
+\section1 Locale-aware String Comparisons in QIconView, QListBox,
+ QListView and QTable
+
+In Qt 2.x, QString only provided string comparisons using the Unicode
+values of the characters of a string. This is efficient and reliable,
+but it is not the appropriate order for most languages. For example,
+French users expect '&eacute;' (e acute) to be treated essentially as
+'e' and not put after 'z'.
+
+In Qt 3.0, QString::localeAwareCompare() implements locale aware
+string comparisions on certain platforms. The classes \l QIconView, \l
+QListBox, \l QListView and \l QTable now use
+QString::localeAwareCompare() instead of QString::compare(). If you
+want to control the behaviour yourself you can always reimplement
+QIconViewItem::compare(), QListBox::text(), QListViewItem::compare()
+or QTableItem::key() as appropriate.
+
+*/
diff --git a/doc/primes.doc b/doc/primes.doc
new file mode 100644
index 0000000..e02c4ef
--- /dev/null
+++ b/doc/primes.doc
@@ -0,0 +1,173 @@
+/****************************************************************************
+**
+** Prime numbers
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page primes.html
+
+\title Table of Prime Numbers 2-9999
+
+\keyword prime
+<hr>
+
+<pre>
+ 2 3 5 7 11 13 17 19 23 29
+ 31 37 41 43 47 53 59 61 67 71
+ 73 79 83 89 97 101 103 107 109 113
+ 127 131 137 139 149 151 157 163 167 173
+ 179 181 191 193 197 199 211 223 227 229
+ 233 239 241 251 257 263 269 271 277 281
+ 283 293 307 311 313 317 331 337 347 349
+ 353 359 367 373 379 383 389 397 401 409
+ 419 421 431 433 439 443 449 457 461 463
+ 467 479 487 491 499 503 509 521 523 541
+ 547 557 563 569 571 577 587 593 599 601
+ 607 613 617 619 631 641 643 647 653 659
+ 661 673 677 683 691 701 709 719 727 733
+ 739 743 751 757 761 769 773 787 797 809
+ 811 821 823 827 829 839 853 857 859 863
+ 877 881 883 887 907 911 919 929 937 941
+ 947 953 967 971 977 983 991 997 1009 1013
+ 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069
+ 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151
+ 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223
+ 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291
+ 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373
+ 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451
+ 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511
+ 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583
+ 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657
+ 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733
+ 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811
+ 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889
+ 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987
+ 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053
+ 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129
+ 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213
+ 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287
+ 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357
+ 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423
+ 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531
+ 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617
+ 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687
+ 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741
+ 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819
+ 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903
+ 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999
+ 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079
+ 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181
+ 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257
+ 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331
+ 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413
+ 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511
+ 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571
+ 3581 3583 3593 3607 3613 3617 3623 3631 3637 3643
+ 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727
+ 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821
+ 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907
+ 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989
+ 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057
+ 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139
+ 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231
+ 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297
+ 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409
+ 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493
+ 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583
+ 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657
+ 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751
+ 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831
+ 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937
+ 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003
+ 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087
+ 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179
+ 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279
+ 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387
+ 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443
+ 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521
+ 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639
+ 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693
+ 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791
+ 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857
+ 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939
+ 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053
+ 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133
+ 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221
+ 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301
+ 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367
+ 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473
+ 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571
+ 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673
+ 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761
+ 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833
+ 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917
+ 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997
+ 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103
+ 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207
+ 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297
+ 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411
+ 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499
+ 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561
+ 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643
+ 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723
+ 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829
+ 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919
+ 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017
+ 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111
+ 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219
+ 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291
+ 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387
+ 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501
+ 8513 8521 8527 8537 8539 8543 8563 8573 8581 8597
+ 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677
+ 8681 8689 8693 8699 8707 8713 8719 8731 8737 8741
+ 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831
+ 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929
+ 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011
+ 9013 9029 9041 9043 9049 9059 9067 9091 9103 9109
+ 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199
+ 9203 9209 9221 9227 9239 9241 9257 9277 9281 9283
+ 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377
+ 9391 9397 9403 9413 9419 9421 9431 9433 9437 9439
+ 9461 9463 9467 9473 9479 9491 9497 9511 9521 9533
+ 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631
+ 9643 9649 9661 9677 9679 9689 9697 9719 9721 9733
+ 9739 9743 9749 9767 9769 9781 9787 9791 9803 9811
+ 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887
+ 9901 9907 9923 9929 9931 9941 9949 9967 9973
+</pre>
+
+*/
diff --git a/doc/qasciicache.doc b/doc/qasciicache.doc
new file mode 100644
index 0000000..be6cada
--- /dev/null
+++ b/doc/qasciicache.doc
@@ -0,0 +1,476 @@
+/****************************************************************************
+**
+** QAsciiCache and QAsciiCacheIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QAsciiCache documentation
+ *****************************************************************************/
+
+/*!
+ \class QAsciiCache qasciicache.h
+
+ \brief The QAsciiCache class is a template class that provides a cache based on char* keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ QAsciiCache is implemented as a template class. Define a template
+ instance QAsciiCache\<X\> to create a cache that operates on
+ pointers to X (X*).
+
+ A cache is a least recently used (LRU) list of cache items. The
+ cache items are accessed via \c char* keys. For Unicode keys use
+ the QCache template instead, which uses \c QString keys. A QCache
+ has the same performace as a QAsciiCache.
+
+ Each cache item has a cost. The sum of item costs, totalCost(),
+ will not exceed the maximum cache cost, maxCost(). If inserting a
+ new item would cause the total cost to exceed the maximum cost,
+ the least recently used items in the cache are removed.
+
+ Apart from insert(), by far the most important function is find()
+ (which also exists as operator[]()). This function looks up an
+ item, returns it, and by default marks it as being the most
+ recently used item.
+
+ There are also methods to remove() or take() an object from the
+ cache. Calling \link QPtrCollection::setAutoDelete()
+ setAutoDelete(TRUE)\endlink tells the cache to delete items that
+ are removed. The default is to not delete items when then are
+ removed (i.e., remove() and take() are equivalent).
+
+ When inserting an item into the cache, only the pointer is copied,
+ not the item itself. This is called a shallow copy. It is possible
+ to make the cache copy all of the item's data (known as a deep
+ copy) when an item is inserted. insert() calls the virtual
+ function QPtrCollection::newItem() for the item to be inserted.
+ Inherit a cache and reimplement newItem() if you want deep copies.
+
+ When removing a cache item the virtual function
+ QPtrCollection::deleteItem() is called. Its default implementation
+ in QAsciiCache is to delete the item if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ There is a QAsciiCacheIterator which may be used to traverse the
+ items in the cache in arbitrary order.
+
+ \sa QAsciiCacheIterator, QCache, QIntCache
+*/
+
+/*!
+ \fn QAsciiCache::QAsciiCache( const QAsciiCache<type> &c )
+
+ \internal
+
+ Do not use. A QAsciiCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+
+/*!
+ \fn QAsciiCache::QAsciiCache( int maxCost, int size, bool caseSensitive, bool copyKeys )
+
+ Constructs a cache whose contents will never have a total cost
+ greater than \a maxCost and which is expected to contain less than
+ \a size items.
+
+ \a size is actually the size of an internal hash array; it's
+ usually best to make it prime and at least 50% bigger than the
+ largest expected number of items in the cache.
+
+ Each inserted item has an associated cost. When inserting a new
+ item, if the total cost of all items in the cache will exceed \a
+ maxCost, the cache will start throwing out the older (least
+ recently used) items until there is enough room for the new item
+ to be inserted.
+
+ If \a caseSensitive is TRUE (the default), the cache keys are case
+ sensitive; if it is FALSE, they are case-insensitive.
+ Case-insensitive comparison only affects the 26 letters in
+ US-ASCII. If \a copyKeys is TRUE (the default), QAsciiCache makes
+ a copy of the cache keys, otherwise it copies just the const char
+ * pointer - slightly faster if you can guarantee that the keys
+ will never change, but very risky.
+*/
+
+/*!
+ \fn QAsciiCache::~QAsciiCache()
+
+ Removes all items from the cache and destroys it.
+ All iterators that access this cache will be reset.
+*/
+
+/*!
+ \fn QAsciiCache<type>& QAsciiCache::operator=( const QAsciiCache<type> &c )
+
+ \internal
+
+ Do not use. A QAsciiCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+/*!
+ \fn int QAsciiCache::maxCost() const
+
+ Returns the maximum allowed total cost of the cache.
+
+ \sa setMaxCost() totalCost()
+*/
+
+/*!
+ \fn int QAsciiCache::totalCost() const
+
+ Returns the total cost of the items in the cache. This is an
+ integer in the range 0 to maxCost().
+
+ \sa setMaxCost()
+*/
+
+/*!
+ \fn void QAsciiCache::setMaxCost( int m )
+
+ Sets the maximum allowed total cost of the cache to \a m. If the
+ current total cost is greater than \a m, some items are removed
+ immediately.
+
+ \sa maxCost() totalCost()
+*/
+
+/*!
+ \fn uint QAsciiCache::count() const
+
+ Returns the number of items in the cache.
+
+ \sa totalCost() size()
+*/
+
+/*!
+ \fn uint QAsciiCache::size() const
+
+ Returns the size of the hash array used to implement the cache.
+ This should be a bit bigger than count() is likely to be.
+*/
+
+/*!
+ \fn bool QAsciiCache::isEmpty() const
+
+ Returns TRUE if the cache is empty; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QAsciiCache::insert( const char *k, const type *d, int c, int p )
+
+ Inserts the item \a d into the cache using key \a k, and with an
+ associated cost of \a c. Returns TRUE if the item is successfully
+ inserted. Returns FALSE if the item is not inserted, for example,
+ if the cost of the item exceeds maxCost().
+
+ The cache's size is limited, and if the total cost is too high,
+ QAsciiCache will remove old, least recently used items until there
+ is room for this new item.
+
+ Items with duplicate keys can be inserted.
+
+ The parameter \a p is internal and should be left at the default
+ value (0).
+
+ \warning If this function returns FALSE, you must delete \a d
+ yourself. Additionally, be very careful about using \a d after
+ calling this function, because any other insertions into the
+ cache, from anywhere in the application or within Qt itself, could
+ cause the object to be discarded from the cache and the pointer to
+ become invalid.
+*/
+
+/*!
+ \fn bool QAsciiCache::remove( const char *k )
+
+ Removes the item with key \a k and returns TRUE if the item was
+ present in the cache; otherwise returns FALSE.
+
+ The item is deleted if auto-deletion has been enabled, i.e., if
+ you have called \link QPtrCollection::setAutoDelete()
+ setAutoDelete(TRUE)\endlink.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is removed.
+
+ All iterators that refer to the removed item are set to point to
+ the next item in the cache's traversal order.
+
+ \sa take(), clear()
+*/
+
+/*!
+ \fn type *QAsciiCache::take( const char *k )
+
+ Takes the item associated with \a k out of the cache without
+ deleting it and returns a pointer to the item taken out, or 0
+ if the key does not exist in the cache.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is taken.
+
+ All iterators that refer to the taken item are set to point to the
+ next item in the cache's traversal order.
+
+ \sa remove(), clear()
+*/
+
+/*!
+ \fn void QAsciiCache::clear()
+
+ Removes all items from the cache, and deletes them if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink has been
+ enabled.
+
+ All cache iterators that operate on this cache are reset.
+
+ \sa remove() take()
+*/
+
+/*!
+ \fn type *QAsciiCache::find( const char *k, bool ref ) const
+
+ Returns the item with key \a k, or 0 if the key does not exist
+ in the cache. If \a ref is TRUE (the default), the item is moved
+ to the front of the least recently used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is returned.
+*/
+
+/*!
+ \fn type *QAsciiCache::operator[]( const char *k ) const
+
+ Returns the item with key \a k, or 0 if \a k does not exist in
+ the cache, and moves the item to the front of the least recently
+ used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is returned.
+
+ This is the same as find( k, TRUE ).
+
+ \sa find()
+*/
+
+/*!
+ \fn void QAsciiCache::statistics() const
+
+ A debug-only utility function. Prints out cache usage, hit/miss,
+ and distribution information using qDebug(). This function does
+ nothing in the release library.
+*/
+
+/*****************************************************************************
+ QAsciiCacheIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QAsciiCacheIterator qasciicache.h
+ \brief The QAsciiCacheIterator class provides an iterator for QAsciiCache collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ Note that the traversal order is arbitrary; you are not guaranteed
+ any particular order. If new objects are inserted into the cache
+ while the iterator is active, the iterator may or may not see
+ them.
+
+ Multiple iterators are completely independent, even when they
+ operate on the same QAsciiCache. QAsciiCache updates all iterators
+ that refer an item when that item is removed.
+
+ QAsciiCacheIterator provides an operator++() and an operator+=()
+ to traverse the cache; current() and currentKey() to access the
+ current cache item and its key. It also provides atFirst() and
+ atLast(), which return TRUE if the iterator points to the first or
+ last item in the cache respectively. The isEmpty() function
+ returns TRUE if the cache is empty; and count() returns the number
+ of items in the cache.
+
+ Note that atFirst() and atLast() refer to the iterator's arbitrary
+ ordering, not to the cache's internal least recently used list.
+
+ \sa QAsciiCache
+*/
+
+/*!
+ \fn QAsciiCacheIterator::QAsciiCacheIterator( const QAsciiCache<type> &cache )
+
+ Constructs an iterator for \a cache. The current iterator item is
+ set to point to the first item in the \a cache.
+*/
+
+/*!
+ \fn QAsciiCacheIterator::QAsciiCacheIterator (const QAsciiCacheIterator<type> & ci)
+
+ Constructs an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current() but moves
+ independently from there on.
+*/
+
+/*!
+ \fn QAsciiCacheIterator<type>& QAsciiCacheIterator::operator=( const QAsciiCacheIterator<type> &ci )
+
+ Makes this an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current(), but moves
+ independently thereafter.
+*/
+
+/*!
+ \fn uint QAsciiCacheIterator::count() const
+
+ Returns the number of items in the cache over which this iterator
+ operates.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QAsciiCacheIterator::isEmpty() const
+
+ Returns TRUE if the cache is empty, i.e. count() == 0; otherwise
+ returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QAsciiCacheIterator::atFirst() const
+
+ Returns TRUE if the iterator points to the first item in the
+ cache; otherwise returns FALSE. Note that this refers to the
+ iterator's arbitrary ordering, not to the cache's internal least
+ recently used list.
+
+ \sa toFirst(), atLast()
+*/
+
+/*!
+ \fn bool QAsciiCacheIterator::atLast() const
+
+ Returns TRUE if the iterator points to the last item in the cache;
+ otherwise returns FALSE. Note that this refers to the iterator's
+ arbitrary ordering, not to the cache's internal least recently
+ used list.
+
+ \sa toLast(), atFirst()
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::toFirst()
+
+ Sets the iterator to point to the first item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0 and returns 0 if the cache is empty.
+
+ \sa toLast() isEmpty()
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::toLast()
+
+ Sets the iterator to point to the last item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0 and returns 0 if the cache is empty.
+
+ \sa toLast() isEmpty()
+*/
+
+/*!
+ \fn QAsciiCacheIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::current() const
+
+ Returns a pointer to the current iterator item.
+*/
+
+/*!
+ \fn const char *QAsciiCacheIterator::currentKey() const
+
+ Returns the key for the current iterator item.
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the cache or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::operator+=( uint jump )
+
+ Returns the item \a jump positions after the current item, or 0
+ if it is beyond the last item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::operator-=( uint jump )
+
+ Returns the item \a jump positions before the current item, or 0
+ if it is before the first item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::operator++()
+
+ Prefix ++ makes the iterator point to the item just after
+ current(), and makes that the new current item for the iterator. If
+ current() was the last item, operator++() returns 0.
+*/
+
+/*!
+ \fn type *QAsciiCacheIterator::operator--()
+
+ Prefix -- makes the iterator point to the item just before
+ current(), and makes that the new current item for the iterator. If
+ current() was the first item, operator--() returns 0.
+*/
+
diff --git a/doc/qasciidict.doc b/doc/qasciidict.doc
new file mode 100644
index 0000000..7667684
--- /dev/null
+++ b/doc/qasciidict.doc
@@ -0,0 +1,475 @@
+/****************************************************************************
+**
+** QAsciiDict and QAsciiDictIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QAsciiDict documentation
+ *****************************************************************************/
+
+/*!
+ \class QAsciiDict qasciidict.h
+ \brief The QAsciiDict class is a template class that provides a dictionary based on char* keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ QAsciiDict is implemented as a template class. Define a template
+ instance QAsciiDict\<X\> to create a dictionary that operates on
+ pointers to X (X*).
+
+ A dictionary is a collection of key-value pairs. The key is a
+ char* used for insertion, removal and lookup. The value is a
+ pointer. Dictionaries provide very fast insertion and lookup.
+
+ QAsciiDict cannot handle Unicode keys; use the QDict template
+ instead, which uses \l QString keys. A QDict has the same
+ performace as a QAsciiDict.
+
+ Example:
+ \code
+ QAsciiDict<QLineEdit> fields; // char* keys, QLineEdit* values
+ fields.insert( "forename", new QLineEdit( this ) );
+ fields.insert( "surname", new QLineEdit( this ) );
+
+ fields["forename"]->setText( "Homer" );
+ fields["surname"]->setText( "Simpson" );
+
+ QAsciiDictIterator<QLineEdit> it( fields ); // See QAsciiDictIterator
+ for( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+ cout << endl;
+
+ if ( fields["forename"] && fields["surname"] )
+ cout << fields["forename"]->text() << " "
+ << fields["surname"]->text() << endl; // Prints "Homer Simpson"
+
+ fields.remove( "forename" ); // Does not delete the line edit
+ if ( ! fields["forename"] )
+ cout << "forename is not in the dictionary" << endl;
+ \endcode
+ In this example we use a dictionary to keep track of the line
+ edits we're using. We insert each line edit into the dictionary
+ with a unique name and then access the line edits via the
+ dictionary. See QPtrDict, QIntDict and QDict.
+
+ See QDict for full details, including the choice of dictionary
+ size, and how deletions are handled.
+
+ \sa QAsciiDictIterator, QDict, QIntDict, QPtrDict,
+ \link collection.html Collection Classes\endlink
+*/
+
+
+/*!
+ \fn QAsciiDict::QAsciiDict( int size, bool caseSensitive, bool copyKeys )
+
+ Constructs a dictionary optimized for less than \a size entries.
+
+ We recommend setting \a size to a suitably large prime number (a
+ bit larger than the expected number of entries). This makes the
+ hash distribution better and will improve lookup performance.
+
+ When \a caseSensitive is TRUE (the default) QAsciiDict treats
+ "abc" and "Abc" as different keys; when it is FALSE "abc" and
+ "Abc" are the same. Case-insensitive comparison only considers the
+ 26 letters in US-ASCII.
+
+ If \a copyKeys is TRUE (the default), the dictionary copies keys
+ using strcpy(); if it is FALSE, the dictionary just copies the
+ pointers.
+*/
+
+/*!
+ \fn QAsciiDict::QAsciiDict( const QAsciiDict<type> &dict )
+
+ Constructs a copy of \a dict.
+
+ Each item in \a dict is inserted into this dictionary. Only the
+ pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QAsciiDict::~QAsciiDict()
+
+ Removes all items from the dictionary and destroys it.
+
+ The items are deleted if auto-delete is enabled.
+
+ All iterators that access this dictionary will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QAsciiDict<type> &QAsciiDict::operator=(const QAsciiDict<type> &dict)
+
+ Assigns \a dict to this dictionary and returns a reference to this
+ dictionary.
+
+ This dictionary is first cleared and then each item in \a dict is
+ inserted into this dictionary. Only the pointers are copied
+ (shallow copy) unless newItem() has been reimplemented().
+*/
+
+/*!
+ \fn uint QAsciiDict::count() const
+
+ Returns the number of items in the dictionary.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn uint QAsciiDict::size() const
+
+ Returns the size of the internal hash array (as specified in the
+ constructor).
+
+ \sa count()
+*/
+
+/*!
+ \fn void QAsciiDict::resize( uint newsize )
+
+ Changes the size of the hashtable to \a newsize. The contents of
+ the dictionary are preserved but all iterators on the dictionary
+ become invalid.
+*/
+
+/*!
+ \fn bool QAsciiDict::isEmpty() const
+
+ Returns TRUE if the dictionary is empty, i.e. count() == 0;
+ otherwise it returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn void QAsciiDict::insert( const char *key, const type *item )
+
+ Inserts the \a key with the \a item into the dictionary.
+
+ Multiple items can have the same key, in which case only the last
+ item will be accessible using \l operator[]().
+
+ \a item may not be 0.
+
+ \sa replace()
+*/
+
+/*!
+ \fn void QAsciiDict::replace( const char *key, const type *item )
+
+ Replaces an item that has a key equal to \a key with \a item.
+
+ If the item does not already exist, it will be inserted.
+
+ \a item may not be 0.
+
+ Equivalent to:
+ \code
+ QAsciiDict<char> dict;
+ ...
+ if ( dict.find(key) )
+ dict.remove( key );
+ dict.insert( key, item );
+ \endcode
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be replaced.
+
+ \sa insert()
+*/
+
+/*!
+ \fn bool QAsciiDict::remove( const char *key )
+
+ Removes the item associated with \a key from the dictionary.
+ Returns TRUE if successful, i.e. if the key existed in the
+ dictionary; otherwise returns FALSE.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be removed.
+
+ The removed item is deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that refer to the removed item will be
+ set to point to the next item in the dictionary traversal order.
+
+ \sa take(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QAsciiDict::take( const char *key )
+
+ Takes the item associated with \a key out of the dictionary
+ without deleting it (even if \link QPtrCollection::setAutoDelete()
+ auto-deletion\endlink is enabled).
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be taken.
+
+ Returns a pointer to the item taken out, or 0 if the key does not
+ exist in the dictionary.
+
+ All dictionary iterators that refer to the taken item will be set
+ to point to the next item in the dictionary traversal order.
+
+ \sa remove(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn void QAsciiDict::clear()
+
+ Removes all items from the dictionary.
+
+ The removed items are deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that operate on dictionary are reset.
+
+ \sa remove(), take(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QAsciiDict::find( const char *key ) const
+
+ Returns the item associated with \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ This function uses an internal hashing algorithm to optimize
+ lookup.
+
+ If there are two or more items with equal keys, then the item that
+ was most recently inserted will be found.
+
+ Equivalent to the [] operator.
+
+ \sa operator[]()
+*/
+
+/*!
+ \fn type *QAsciiDict::operator[]( const char *key ) const
+
+ Returns the item associated with \a key, or 0 if the key does
+ not exist in the dictionary.
+
+ This function uses an internal hashing algorithm to optimize
+ lookup.
+
+ If there are two or more items with equal keys, then the item that
+ was most recently inserted will be found.
+
+ Equivalent to the find() function.
+
+ \sa find()
+*/
+
+/*!
+ \fn void QAsciiDict::statistics() const
+
+ Debugging-only function that prints out the dictionary
+ distribution using qDebug().
+*/
+
+/*!
+ \fn QDataStream& QAsciiDict::read( QDataStream &s,
+ QPtrCollection::Item &item )
+
+ Reads a dictionary item from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QAsciiDict::write( QDataStream &s,
+ QPtrCollection::Item ) const
+
+ Writes a dictionary item to the stream \a s and returns a
+ reference to the stream.
+
+ \sa read()
+*/
+
+/*****************************************************************************
+ QAsciiDictIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QAsciiDictIterator qasciidict.h
+ \brief The QAsciiDictIterator class provides an iterator for QAsciiDict collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ QAsciiDictIterator is implemented as a template class. Define a
+ template instance QAsciiDictIterator\<X\> to create a dictionary
+ iterator that operates on QAsciiDict\<X\> (dictionary of X*).
+
+ Example:
+ \code
+ QAsciiDict<QLineEdit> fields;
+ fields.insert( "forename", new QLineEdit( this ) );
+ fields.insert( "surname", new QLineEdit( this ) );
+ fields.insert( "age", new QLineEdit( this ) );
+
+ fields["forename"]->setText( "Homer" );
+ fields["surname"]->setText( "Simpson" );
+ fields["age"]->setText( "45" );
+
+ QAsciiDictIterator<QLineEdit> it( fields );
+ for( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+ cout << endl;
+
+ // Output (random order):
+ // age: 45
+ // surname: Simpson
+ // forename: Homer
+ \endcode
+ In the example we insert some line edits into a dictionary, then
+ iterate over the dictionary printing the strings associated with
+ those line edits.
+
+ Note that the traversal order is arbitrary; you are not guaranteed
+ any particular order.
+
+ Multiple iterators may independently traverse the same dictionary.
+ A QAsciiDict knows about all the iterators that are operating on
+ the dictionary. When an item is removed from the dictionary,
+ QAsciiDict updates all the iterators that are referring to the
+ removed item to point to the next item in the (arbitrary)
+ traversal order.
+
+ \sa QAsciiDict
+*/
+
+/*!
+ \fn QAsciiDictIterator::QAsciiDictIterator( const QAsciiDict<type> &dict )
+
+ Constructs an iterator for \a dict. The current iterator item is
+ set to point on the first item in the \a dict.
+*/
+
+/*!
+ \fn QAsciiDictIterator::~QAsciiDictIterator()
+
+ Destroys the iterator.
+*/
+
+/*!
+ \fn uint QAsciiDictIterator::count() const
+
+ Returns the number of items in the dictionary this iterator
+ operates over.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QAsciiDictIterator::isEmpty() const
+
+ Returns TRUE if the dictionary is empty, i.e. count() == 0,
+ otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn type *QAsciiDictIterator::toFirst()
+
+ Sets the current iterator item to point to the first item in the
+ dictionary and returns a pointer to the item. If the dictionary is
+ empty it sets the current item to 0 and returns 0.
+*/
+
+/*!
+ \fn QAsciiDictIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QAsciiDictIterator::current() const
+
+ Returns a pointer to the current iterator item.
+*/
+
+/*!
+ \fn const char *QAsciiDictIterator::currentKey() const
+
+ Returns a pointer to the key for the current iterator item.
+*/
+
+/*!
+ \fn type *QAsciiDictIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QAsciiDictIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns the new
+ current item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QAsciiDictIterator::operator+=( uint jump )
+
+ Sets the current item to the item \a jump positions after the
+ current item, and returns a pointer to that item.
+
+ If that item is beyond the last item or if the dictionary is
+ empty, it sets the current item to 0 and returns 0.
+*/
diff --git a/doc/qcache.doc b/doc/qcache.doc
new file mode 100644
index 0000000..998bb20
--- /dev/null
+++ b/doc/qcache.doc
@@ -0,0 +1,469 @@
+/****************************************************************************
+**
+** QCache and QCacheIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QCache documentation
+ *****************************************************************************/
+
+/*!
+ \class QCache
+ \brief The QCache class is a template class that provides a cache based on QString keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ A cache is a least recently used (LRU) list of cache items. Each
+ cache item has a key and a certain cost. The sum of item costs,
+ totalCost(), never exceeds the maximum cache cost, maxCost(). If
+ inserting a new item would cause the total cost to exceed the
+ maximum cost, the least recently used items in the cache are
+ removed.
+
+ QCache is a template class. QCache\<X\> defines a cache that
+ operates on pointers to X, or X*.
+
+ Apart from insert(), by far the most important function is find()
+ (which also exists as operator[]()). This function looks up an
+ item, returns it, and by default marks it as being the most
+ recently used item.
+
+ There are also methods to remove() or take() an object from the
+ cache. Calling setAutoDelete(TRUE) for a cache tells it to delete
+ items that are removed. The default is to not delete items when
+ they are removed (i.e., remove() and take() are equivalent).
+
+ When inserting an item into the cache, only the pointer is copied,
+ not the item itself. This is called a shallow copy. It is possible
+ to make the cache copy all of the item's data (known as a deep
+ copy) when an item is inserted. insert() calls the virtual
+ function QPtrCollection::newItem() for the item to be inserted.
+ Inherit a cache and reimplement newItem() if you want deep copies.
+
+ When removing a cache item, the virtual function
+ QPtrCollection::deleteItem() is called. The default
+ implementation deletes the item if auto-deletion is enabled, and
+ does nothing otherwise.
+
+ There is a QCacheIterator that can be used to traverse the items
+ in the cache in arbitrary order.
+
+ In QCache, the cache items are accessed via \l QString keys, which
+ are Unicode strings. If you want to use non-Unicode, plain 8-bit
+ \c char* keys, use the QAsciiCache template. A QCache has the
+ same performance as a QAsciiCache.
+
+ \sa QCacheIterator, QAsciiCache, QIntCache
+*/
+
+/*!
+ \fn QCache::QCache( const QCache<type> &c )
+
+ \internal
+
+ Do not use. A QCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+
+/*!
+ \fn QCache::QCache( int maxCost, int size, bool caseSensitive )
+
+ Constructs a cache whose contents will never have a total cost
+ greater than \a maxCost and which is expected to contain less than
+ \a size items.
+
+ \a size is actually the size of an internal hash array; it's
+ usually best to make it a prime number and at least 50% bigger
+ than the largest expected number of items in the cache.
+
+ Each inserted item has an associated cost. When inserting a new
+ item, if the total cost of all items in the cache will exceed \a
+ maxCost, the cache will start throwing out the older (least
+ recently used) items until there is enough room for the new item
+ to be inserted.
+
+ If \a caseSensitive is TRUE (the default), the cache keys are case
+ sensitive; if it is FALSE, they are case-insensitive.
+ Case-insensitive comparison considers all Unicode letters.
+*/
+
+/*!
+ \fn QCache::~QCache()
+
+ Removes all items from the cache and destroys it. All iterators
+ that access this cache will be reset.
+*/
+
+/*!
+ \fn QCache<type>& QCache::operator=( const QCache<type> &c )
+
+ \internal
+
+ Do not use. A QCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+/*!
+ \fn int QCache::maxCost() const
+
+ Returns the maximum allowed total cost of the cache.
+
+ \sa setMaxCost() totalCost()
+*/
+
+/*!
+ \fn int QCache::totalCost() const
+
+ Returns the total cost of the items in the cache. This is an
+ integer in the range 0 to maxCost().
+
+ \sa setMaxCost()
+*/
+
+/*!
+ \fn void QCache::setMaxCost( int m )
+
+ Sets the maximum allowed total cost of the cache to \a m. If the
+ current total cost is greater than \a m, some items are deleted
+ immediately.
+
+ \sa maxCost() totalCost()
+*/
+
+/*!
+ \fn uint QCache::count() const
+
+ Returns the number of items in the cache.
+
+ \sa totalCost()
+*/
+
+/*!
+ \fn uint QCache::size() const
+
+ Returns the size of the hash array used to implement the cache.
+ This should be a bit bigger than count() is likely to be.
+*/
+
+/*!
+ \fn bool QCache::isEmpty() const
+
+ Returns TRUE if the cache is empty; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QCache::insert( const QString &k, const type *d, int c, int p )
+
+ Inserts the item \a d into the cache with key \a k and associated
+ cost, \a c. Returns TRUE if it is successfully inserted; otherwise
+ returns FALSE.
+
+ The cache's size is limited, and if the total cost is too high,
+ QCache will remove old, least recently used items until there is
+ room for this new item.
+
+ The parameter \a p is internal and should be left at the default
+ value (0).
+
+ \warning If this function returns FALSE (which could happen, e.g.
+ if the cost of this item alone exceeds maxCost()) you must delete
+ \a d yourself. Additionally, be very careful about using \a d
+ after calling this function because any other insertions into the
+ cache, from anywhere in the application or within Qt itself, could
+ cause the object to be discarded from the cache and the pointer to
+ become invalid.
+*/
+
+/*!
+ \fn bool QCache::remove( const QString &k )
+
+ Removes the item associated with \a k, and returns TRUE if the
+ item was present in the cache; otherwise returns FALSE.
+
+ The item is deleted if auto-deletion has been enabled, i.e., if
+ you have called setAutoDelete(TRUE).
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is removed.
+
+ All iterators that refer to the removed item are set to point to
+ the next item in the cache's traversal order.
+
+ \sa take(), clear()
+*/
+
+/*!
+ \fn type *QCache::take( const QString &k )
+
+ Takes the item associated with \a k out of the cache without
+ deleting it, and returns a pointer to the item taken out, or 0
+ if the key does not exist in the cache.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is taken.
+
+ All iterators that refer to the taken item are set to point to the
+ next item in the cache's traversal order.
+
+ \sa remove(), clear()
+*/
+
+/*!
+ \fn void QCache::clear()
+
+ Removes all items from the cache and deletes them if auto-deletion
+ has been enabled.
+
+ All cache iterators that operate this on cache are reset.
+
+ \sa remove() take()
+*/
+
+/*!
+ \fn type *QCache::find( const QString &k, bool ref ) const
+
+ Returns the item associated with key \a k, or 0 if the key does
+ not exist in the cache. If \a ref is TRUE (the default), the item
+ is moved to the front of the least recently used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is returned.
+*/
+
+/*!
+ \fn type *QCache::operator[]( const QString &k ) const
+
+ Returns the item associated with key \a k, or 0 if \a k does not
+ exist in the cache, and moves the item to the front of the least
+ recently used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted last is returned.
+
+ This is the same as find( k, TRUE ).
+
+ \sa find()
+*/
+
+/*!
+ \fn void QCache::statistics() const
+
+ A debug-only utility function. Prints out cache usage, hit/miss,
+ and distribution information using qDebug(). This function does
+ nothing in the release library.
+*/
+
+/*****************************************************************************
+ QCacheIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QCacheIterator qcache.h
+ \brief The QCacheIterator class provides an iterator for QCache collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ Note that the traversal order is arbitrary; you are not guaranteed
+ any particular order. If new objects are inserted into the cache
+ while the iterator is active, the iterator may or may not see
+ them.
+
+ Multiple iterators are completely independent, even when they
+ operate on the same QCache. QCache updates all iterators that
+ refer an item when that item is removed.
+
+ QCacheIterator provides an operator++(), and an operator+=() to
+ traverse the cache. The current() and currentKey() functions are
+ used to access the current cache item and its key. The atFirst()
+ and atLast() return TRUE if the iterator points to the first or
+ last item in the cache respectively. The isEmpty() function
+ returns TRUE if the cache is empty, and count() returns the number
+ of items in the cache.
+
+ Note that atFirst() and atLast() refer to the iterator's arbitrary
+ ordering, not to the cache's internal least recently used list.
+
+ \sa QCache
+*/
+
+/*!
+ \fn QCacheIterator::QCacheIterator( const QCache<type> &cache )
+
+ Constructs an iterator for \a cache. The current iterator item is
+ set to point to the first item in the \a cache.
+*/
+
+/*!
+ \fn QCacheIterator::QCacheIterator (const QCacheIterator<type> & ci)
+
+ Constructs an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current(), but moves
+ independently from there on.
+*/
+
+/*!
+ \fn QCacheIterator<type>& QCacheIterator::operator=( const QCacheIterator<type> &ci )
+
+ Makes this an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current(), but moves
+ independently thereafter.
+*/
+
+/*!
+ \fn uint QCacheIterator::count() const
+
+ Returns the number of items in the cache on which this iterator
+ operates.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QCacheIterator::isEmpty() const
+
+ Returns TRUE if the cache is empty, i.e. count() == 0; otherwise
+ it returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QCacheIterator::atFirst() const
+
+ Returns TRUE if the iterator points to the first item in the
+ cache; otherwise returns FALSE. Note that this refers to the
+ iterator's arbitrary ordering, not to the cache's internal least
+ recently used list.
+
+ \sa toFirst(), atLast()
+*/
+
+/*!
+ \fn bool QCacheIterator::atLast() const
+
+ Returns TRUE if the iterator points to the last item in the cache;
+ otherwise returns FALSE. Note that this refers to the iterator's
+ arbitrary ordering, not to the cache's internal least recently
+ used list.
+
+ \sa toLast(), atFirst()
+*/
+
+/*!
+ \fn type *QCacheIterator::toFirst()
+
+ Sets the iterator to point to the first item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0 and returns 0 if the cache is empty.
+
+ \sa toLast() isEmpty()
+*/
+
+/*!
+ \fn type *QCacheIterator::toLast()
+
+ Sets the iterator to point to the last item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0 and returns 0 if the cache is empty.
+
+ \sa toFirst() isEmpty()
+*/
+
+/*!
+ \fn QCacheIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QCacheIterator::current() const
+
+ Returns a pointer to the current iterator item.
+*/
+
+/*!
+ \fn QString QCacheIterator::currentKey() const
+
+ Returns the key for the current iterator item.
+*/
+
+/*!
+ \fn type *QCacheIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the cache or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QCacheIterator::operator+=( uint jump )
+
+ Returns the item \a jump positions after the current item, or 0 if
+ it is beyond the last item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QCacheIterator::operator-=( uint jump )
+
+ Returns the item \a jump positions before the current item, or 0
+ if it is before the first item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QCacheIterator::operator++()
+
+ Prefix++ makes the iterator point to the item just after current()
+ and makes that the new current item for the iterator. If current()
+ was the last item, operator++() returns 0.
+*/
+
+/*!
+ \fn type *QCacheIterator::operator--()
+
+ Prefix-- makes the iterator point to the item just before
+ current() and makes that the new current item for the iterator. If
+ current() was the first item, operator--() returns 0.
+*/
+
diff --git a/doc/qcollection-compat.doc b/doc/qcollection-compat.doc
new file mode 100644
index 0000000..c642d29
--- /dev/null
+++ b/doc/qcollection-compat.doc
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** QCollection fake documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page qarray.html
+
+ \title QArray Class Reference (obsolete)
+
+ \code
+#include <qarray.h>\endcode
+
+ The QArray class has been renamed <b> \l QMemArray </b> in Qt 3.0.
+*/
+
+/*! \page qcollection.html
+
+ \title QCollection Class Reference (obsolete)
+
+ \code
+#include <qcollection.h>\endcode
+
+ The QCollection class has been renamed <b> \l QPtrCollection </b> in Qt 3.0.
+*/
+
+/*! \page qlist.html
+
+ \title QList Class Reference (obsolete)
+
+ \code
+#include <qlist.h>\endcode
+
+ The QList class has been renamed <b> \l QPtrList </b> in Qt 3.0.
+*/
+
+/*! \page qlistiterator.html
+
+ \title QListIterator Class Reference (obsolete)
+
+ \code
+#include <qlist.h>\endcode
+
+ The QListIterator class has been renamed <b> \l QPtrListIterator </b> in
+ Qt 3.0.
+*/
+
+/*! \page qqueue.html
+
+ \title QQueue Class Reference (obsolete)
+
+ \code
+#include <qqueue.h>\endcode
+
+ The QQueue class has been renamed <b> \l QPtrQueue </b> in Qt 3.0.
+*/
+
+/*! \page qstack.html
+
+ \title QStack Class Reference (obsolete)
+
+ \code
+#include <qstack.h>\endcode
+
+ The QStack class has been renamed <b> \l QPtrStack </b> in Qt 3.0.
+*/
+
+/*! \page qvector.html
+
+ \title QVector Class Reference (obsolete)
+
+ \code
+#include <qvector.h>\endcode
+
+ The QVector class has been renamed <b> \l QPtrVector </b> in Qt 3.0.
+*/
diff --git a/doc/qdict.doc b/doc/qdict.doc
new file mode 100644
index 0000000..c522624
--- /dev/null
+++ b/doc/qdict.doc
@@ -0,0 +1,557 @@
+/****************************************************************************
+**
+** QDict and QDictIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QDict documentation
+ *****************************************************************************/
+
+/*!
+ \class QDict
+ \brief The QDict class is a template class that provides a
+ dictionary based on QString keys.
+
+ \ingroup collection
+ \ingroup tools
+ \mainclass
+
+ \important autoDelete setAutoDelete
+
+ QMap is an STL-compatible alternative to this class.
+
+ QDict is implemented as a template class. Define a template
+ instance QDict\<X\> to create a dictionary that operates on
+ pointers to X (X *).
+
+ A dictionary is a collection of key-value pairs. The key is a
+ QString used for insertion, removal and lookup. The value is a
+ pointer. Dictionaries provide very fast insertion and lookup.
+
+ If you want to use non-Unicode, plain 8-bit \c char* keys, use the
+ QAsciiDict template. A QDict has the same performance as a
+ QAsciiDict. If you want to have a dictionary that maps QStrings to
+ QStrings use QMap.
+
+ The size() of the dictionary is very important. In order to get
+ good performance, you should use a suitably large prime number.
+ Suitable means equal to or larger than the maximum expected number
+ of dictionary items. Size is set in the constructor but may be
+ changed with resize().
+
+ Items are inserted with insert(); 0 pointers cannot be inserted.
+ Items are removed with remove(). All the items in a dictionary can
+ be removed with clear(). The number of items in the dictionary is
+ returned by count(). If the dictionary contains no items isEmpty()
+ returns TRUE. You can change an item's value with replace(). Items
+ are looked up with operator[](), or with find() which return a
+ pointer to the value or 0 if the given key does not exist. You can
+ take an item out of the dictionary with take().
+
+ Calling setAutoDelete(TRUE) for a dictionary tells it to delete
+ items that are removed. The default behaviour is not to delete
+ items when they are removed.
+
+ When an item is inserted, the key is converted (hashed) to an
+ integer index into an internal hash array. This makes lookup very
+ fast.
+
+ Items with equal keys are allowed. When inserting two items with
+ the same key, only the last inserted item will be accessible (last
+ in, first out) until it is removed.
+
+ The QDictIterator class can traverse the dictionary, but only in
+ an arbitrary order. Multiple iterators may independently traverse
+ the same dictionary.
+
+ When inserting an item into a dictionary, only the pointer is
+ copied, not the item itself, i.e. a shallow copy is made. It is
+ possible to make the dictionary copy all of the item's data (a
+ deep copy) when an item is inserted. insert() calls the virtual
+ function QPtrCollection::newItem() for the item to be inserted.
+ Inherit a dictionary and reimplement newItem() if you want deep
+ copies.
+
+ When removing a dictionary item, the virtual function
+ QPtrCollection::deleteItem() is called. QDict's default
+ implementation is to delete the item if auto-deletion is enabled.
+
+ Example #1:
+ \code
+ QDict<QLineEdit> fields; // QString keys, QLineEdit* values
+ fields.insert( "forename", new QLineEdit( this ) );
+ fields.insert( "surname", new QLineEdit( this ) );
+
+ fields["forename"]->setText( "Homer" );
+ fields["surname"]->setText( "Simpson" );
+
+ QDictIterator<QLineEdit> it( fields ); // See QDictIterator
+ for( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+ cout << endl;
+
+ if ( fields["forename"] && fields["surname"] )
+ cout << fields["forename"]->text() << " "
+ << fields["surname"]->text() << endl; // Prints "Homer Simpson"
+
+ fields.remove( "forename" ); // Does not delete the line edit
+ if ( ! fields["forename"] )
+ cout << "forename is not in the dictionary" << endl;
+ \endcode
+ In this example we use a dictionary to keep track of the line
+ edits we're using. We insert each line edit into the dictionary
+ with a unique name and then access the line edits via the
+ dictionary.
+
+ Example #2:
+ \code
+ QStringList styleList = QStyleFactory::styles();
+ styleList.sort();
+ QDict<int> letterDict( 17, FALSE );
+ for ( QStringList::Iterator it = styleList.begin(); it != styleList.end(); ++it ) {
+ QString styleName = *it;
+ QString styleAccel = styleName;
+ if ( letterDict[styleAccel.left(1)] ) {
+ for ( uint i = 0; i < styleAccel.length(); i++ ) {
+ if ( ! letterDict[styleAccel.mid( i, 1 )] ) {
+ styleAccel = styleAccel.insert( i, '&' );
+ letterDict.insert(styleAccel.mid( i, 1 ), (const int *)1);
+ break;
+ }
+ }
+ } else {
+ styleAccel = "&" + styleAccel;
+ letterDict.insert(styleAccel.left(1), (const int *)1);
+ }
+ (void) new QAction( styleName, QIconSet(), styleAccel, parent );
+ }
+ \endcode
+ In the example we are using the dictionary to provide fast random
+ access to the keys, and we don't care what the values are. The
+ example is used to generate a menu of QStyles, each with a unique
+ accelerator key (or no accelerator if there are no unused letters
+ left).
+
+ We first obtain the list of available styles, then sort them so
+ that the menu items will be ordered alphabetically. Next we create
+ a dictionary of int pointers. The keys in the dictionary are each
+ one character long, representing letters that have been used for
+ accelerators. We iterate through our list of style names. If the
+ first letter of the style name is in the dictionary, i.e. has been
+ used, we iterate over all the characters in the style name to see
+ if we can find a letter that hasn't been used. If we find an
+ unused letter we put the accelerator ampersand (&) in front of it
+ and add that letter to the dictionary. If we can't find an unused
+ letter the style will simply have no accelerator. If the first
+ letter of the style name is not in the dictionary we use it for
+ the accelerator and add it to the dictionary. Finally we create a
+ QAction for each style.
+
+ \sa QDictIterator, QAsciiDict, QIntDict, QPtrDict
+*/
+
+
+/*!
+ \fn QDict::QDict( int size, bool caseSensitive )
+
+ Constructs a dictionary optimized for less than \a size entries.
+
+ We recommend setting \a size to a suitably large prime number
+ (e.g. a prime that's slightly larger than the expected number of
+ entries). This makes the hash distribution better which will lead
+ to faster lookup.
+
+ If \a caseSensitive is TRUE (the default), keys which differ only
+ by case are considered different.
+*/
+
+/*!
+ \fn QDict::QDict( const QDict<type> &dict )
+
+ Constructs a copy of \a dict.
+
+ Each item in \a dict is inserted into this dictionary. Only the
+ pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QDict::~QDict()
+
+ Removes all items from the dictionary and destroys it. If
+ setAutoDelete() is TRUE, each value is deleted. All iterators that
+ access this dictionary will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QDict<type> &QDict::operator=(const QDict<type> &dict)
+
+ Assigns \a dict to this dictionary and returns a reference to this
+ dictionary.
+
+ This dictionary is first cleared, then each item in \a dict is
+ inserted into this dictionary. Only the pointers are copied
+ (shallow copy), unless newItem() has been reimplemented.
+*/
+
+/*!
+ \fn uint QDict::count() const
+
+ Returns the number of items in the dictionary.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn uint QDict::size() const
+
+ Returns the size of the internal hash array (as specified in the
+ constructor).
+
+ \sa count()
+*/
+
+/*!
+ \fn void QDict::resize( uint newsize )
+
+ Changes the size of the hash table to \a newsize. The contents of
+ the dictionary are preserved, but all iterators on the dictionary
+ become invalid.
+*/
+
+/*!
+ \fn bool QDict::isEmpty() const
+
+ Returns TRUE if the dictionary is empty, i.e. count() == 0;
+ otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn void QDict::insert( const QString &key, const type *item )
+
+ Inserts the key \a key with value \a item into the dictionary.
+
+ Multiple items can have the same key, in which case only the last
+ item will be accessible using \l operator[]().
+
+ \a item may not be 0.
+
+ \sa replace()
+*/
+
+/*!
+ \fn void QDict::replace( const QString &key, const type *item )
+
+ Replaces the value of the key, \a key with \a item.
+
+ If the item does not already exist, it will be inserted.
+
+ \a item may not be 0.
+
+ Equivalent to:
+ \code
+ QDict<char> dict;
+ ...
+ if ( dict.find( key ) )
+ dict.remove( key );
+ dict.insert( key, item );
+ \endcode
+
+ If there are two or more items with equal keys, then the last item
+ that was inserted will be replaced.
+
+ \sa insert()
+*/
+
+/*!
+ \fn bool QDict::remove( const QString &key )
+
+ Removes the item with \a key from the dictionary. Returns TRUE if
+ successful, i.e. if the item is in the dictionary; otherwise
+ returns FALSE.
+
+ If there are two or more items with equal keys, then the last item
+ that was inserted will be removed.
+
+ The removed item is deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that refer to the removed item will be
+ set to point to the next item in the dictionary's traversal order.
+
+ \sa take(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QDict::take( const QString &key )
+
+ Takes the item with \a key out of the dictionary without deleting
+ it (even if \link QPtrCollection::setAutoDelete()
+ auto-deletion\endlink is enabled).
+
+ If there are two or more items with equal keys, then the last item
+ that was inserted will be taken.
+
+ Returns a pointer to the item taken out, or 0 if the key does not
+ exist in the dictionary.
+
+ All dictionary iterators that refer to the taken item will be set
+ to point to the next item in the dictionary traversal order.
+
+ \sa remove(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn void QDict::clear()
+
+ Removes all items from the dictionary.
+
+ The removed items are deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that operate on the dictionary are reset.
+
+ \sa remove(), take(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QDict::find( const QString &key ) const
+
+ Returns the item with key \a key, or 0 if the key does not exist
+ in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to the [] operator.
+
+ \sa operator[]()
+*/
+
+/*!
+ \fn type *QDict::operator[]( const QString &key ) const
+
+ Returns the item with key \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to the find() function.
+
+ \sa find()
+*/
+
+/*!
+ \fn void QDict::statistics() const
+
+ Debugging-only function that prints out the dictionary
+ distribution using qDebug().
+*/
+
+/*!
+ \fn QDataStream& QDict::read( QDataStream &s, QPtrCollection::Item &item )
+
+ Reads a dictionary item from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QDict::write( QDataStream &s, QPtrCollection::Item ) const
+
+ Writes a dictionary item to the stream \a s and returns a
+ reference to the stream.
+
+ \sa read()
+*/
+
+/*****************************************************************************
+ QDictIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QDictIterator qdict.h
+ \brief The QDictIterator class provides an iterator for QDict collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ QDictIterator is implemented as a template class. Define a
+ template instance QDictIterator\<X\> to create a dictionary
+ iterator that operates on QDict\<X\> (dictionary of X*).
+
+ The traversal order is arbitrary; when we speak of the "first",
+ "last" and "next" item we are talking in terms of this arbitrary
+ order.
+
+ Multiple iterators may independently traverse the same dictionary.
+ A QDict knows about all the iterators that are operating on the
+ dictionary. When an item is removed from the dictionary, QDict
+ updates all iterators that are referring to the removed item to
+ point to the next item in the (arbitrary) traversal order.
+
+ Example:
+ \code
+ QDict<QLineEdit> fields;
+ fields.insert( "forename", new QLineEdit( this ) );
+ fields.insert( "surname", new QLineEdit( this ) );
+ fields.insert( "age", new QLineEdit( this ) );
+
+ fields["forename"]->setText( "Homer" );
+ fields["surname"]->setText( "Simpson" );
+ fields["age"]->setText( "45" );
+
+ QDictIterator<QLineEdit> it( fields );
+ for( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+ cout << endl;
+
+ // Output (random order):
+ // age: 45
+ // surname: Simpson
+ // forename: Homer
+ \endcode
+ In the example we insert some pointers to line edits into a
+ dictionary, then iterate over the dictionary printing the strings
+ associated with the line edits.
+
+ \sa QDict
+*/
+
+/*!
+ \fn QDictIterator::QDictIterator( const QDict<type> &dict )
+
+ Constructs an iterator for \a dict. The current iterator item is
+ set to point to the first item in the dictionary, \a dict. First
+ in this context means first in the arbitrary traversal order.
+*/
+
+/*!
+ \fn QDictIterator::~QDictIterator()
+
+ Destroys the iterator.
+*/
+
+/*!
+ \fn uint QDictIterator::count() const
+
+ Returns the number of items in the dictionary over which the
+ iterator is operating.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QDictIterator::isEmpty() const
+
+ Returns TRUE if the dictionary is empty, i.e. count() == 0;
+ otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn type *QDictIterator::toFirst()
+
+ Resets the iterator, making the first item the first current item.
+ First in this context means first in the arbitrary traversal
+ order. Returns a pointer to this item.
+
+ If the dictionary is empty it sets the current item to 0 and
+ returns 0.
+*/
+
+/*!
+ \fn type *QDictIterator::operator*()
+ \internal
+*/
+
+/*!
+ \fn QDictIterator::operator type*() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+
+/*!
+ \fn type *QDictIterator::current() const
+
+ Returns a pointer to the current iterator item's value.
+*/
+
+/*!
+ \fn QString QDictIterator::currentKey() const
+
+ Returns the current iterator item's key.
+*/
+
+/*!
+ \fn type *QDictIterator::operator()()
+
+ Makes the next item current and returns the original current item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QDictIterator::operator++()
+
+ Prefix ++ makes the next item current and returns the new current
+ item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QDictIterator::operator+=( uint jump )
+ \internal
+ Sets the current item to the item \a jump positions after the current item,
+ and returns a pointer to that item.
+
+ If that item is beyond the last item or if the dictionary is empty,
+ it sets the current item to 0 and returns 0.
+*/
diff --git a/doc/qembed.doc b/doc/qembed.doc
new file mode 100644
index 0000000..8b5e7e2
--- /dev/null
+++ b/doc/qembed.doc
@@ -0,0 +1,71 @@
+/*!
+\page qembed.html
+
+\title QEmbed - File and Image Embedder
+
+The QEmbed tool, found in \c{qt/tools/qembed}, converts arbitrary files
+into C++ code. This is useful for including image files and other resources
+directly into your application rather than loading the data from external
+files.
+
+QEmbed can also generate uncompressed versions of images that can be included
+directly into your application, thus avoiding both the external file and the
+need to parse the image file format. This is useful for small images such as
+icons for which compression is not a great gain.
+
+\section1 Usage
+
+\code
+ qembed [ general-files ] [ --images image-files ]
+\endcode
+
+\list
+\i \c{general-files}
+
+These files can be any type of file.
+
+\i \c{--images image-files}
+
+These files must be in image formats supported by Qt.
+\endlist
+
+\section1 Output
+
+The output from QEmbed is a C++ header file which you should
+include in a C++ source file. In the source file, you should make a
+wrapper function that suits your application. Two functions are
+provided; your wrapper function could just call one of these, or
+you can implement your own. Here's a simple example of usage for each
+of the supplied functions:
+
+\section2 qembed_findImage()
+
+\code
+ #include "generated_qembed_file.h"
+
+ QImage myFindImage(const char* name)
+ {
+ return qembed_findImage(name);
+ }
+\endcode
+
+Just call the generated function; \e name is the original image
+filename <b>without</b> the extension.
+
+\section2 qembed_findData()
+
+\code
+ #include "generated_qembed_file.h"
+
+ QByteArray myFindData(const char* name)
+ {
+ return qembed_findData(name);
+ }
+\endcode
+
+Just call the generated function; \e name is the original filename
+<b>with</b> the extension
+
+Alternatively, look at the output from QEmbed and write a function
+tailored to your needs.
+*/
diff --git a/doc/qguardedptr.doc b/doc/qguardedptr.doc
new file mode 100644
index 0000000..872dbc0
--- /dev/null
+++ b/doc/qguardedptr.doc
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** QGuardedPtr class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QGuardedPtr documentation
+ *****************************************************************************/
+
+// Moved to ../src/kernel/qguarderptr.cpp
diff --git a/doc/qintcache.doc b/doc/qintcache.doc
new file mode 100644
index 0000000..e5960b3
--- /dev/null
+++ b/doc/qintcache.doc
@@ -0,0 +1,457 @@
+/****************************************************************************
+**
+** QIntCache and QIntCacheIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QIntCache documentation
+ *****************************************************************************/
+
+/*!
+ \class QIntCache qintcache.h
+ \brief The QIntCache class is a template class that provides a cache based on long keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ QIntCache is implemented as a template class. Define a template
+ instance QIntCache\<X\> to create a cache that operates on
+ pointers to X, or X*.
+
+ A cache is a least recently used (LRU) list of cache items,
+ accessed via \c long keys. Each cache item has a cost. The sum
+ of item costs, totalCost(), will not exceed the maximum cache
+ cost, maxCost(). If inserting a new item would cause the total
+ cost to exceed the maximum cost, the least recently used items in
+ the cache are removed.
+
+ Apart from insert(), by far the most important function is find()
+ (which also exists as operator[]). This function looks up an
+ item, returns it, and by default marks it as being the most
+ recently used item.
+
+ There are also methods to remove() or take() an object from the
+ cache. Calling setAutoDelete(TRUE) for a cache tells it to delete
+ items that are removed. The default is to not delete items when
+ they are removed (i.e. remove() and take() are equivalent).
+
+ When inserting an item into the cache, only the pointer is copied,
+ not the item itself. This is called a shallow copy. It is possible
+ to make the cache copy all of the item's data (known as a deep
+ copy) when an item is inserted. insert() calls the virtual
+ function QPtrCollection::newItem() for the item to be inserted.
+ Inherit a dictionary and reimplement newItem() if you want deep
+ copies.
+
+ When removing a cache item, the item will be automatically
+ deleted if auto-deletion is enabled.
+
+ There is a QIntCacheIterator which may be used to traverse the
+ items in the cache in arbitrary order.
+
+ \sa QIntCacheIterator, QCache, QAsciiCache
+*/
+
+/*!
+ \fn QIntCache::QIntCache( const QIntCache<type> &c )
+
+ \internal
+
+ Do not use. A QCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+/*!
+ \fn QIntCache::QIntCache( int maxCost, int size )
+
+ Constructs a cache whose contents will never have a total cost
+ greater than \a maxCost and which is expected to contain less than
+ \a size items.
+
+ \a size is actually the size of an internal hash array; it's
+ usually best to make it prime and at least 50% bigger than the
+ largest expected number of items in the cache.
+
+ Each inserted item is associated with a cost. When inserting a new
+ item, if the total cost of all items in the cache will exceed \a
+ maxCost, the cache will start throwing out the older (least
+ recently used) items until there is enough room for the new item
+ to be inserted.
+*/
+
+/*!
+ \fn QIntCache::~QIntCache()
+
+ Removes all items from the cache and then destroys the int cache.
+ If auto-deletion is enabled the cache's items are deleted. All
+ iterators that access this cache will be reset.
+*/
+
+/*!
+ \fn QIntCache<type>& QIntCache::operator=( const QIntCache<type> &c )
+
+ \internal
+
+ Do not use. A QIntCache cannot be copied. Calls qFatal() in debug version.
+*/
+
+/*!
+ \fn int QIntCache::maxCost() const
+
+ Returns the maximum allowed total cost of the cache.
+
+ \sa setMaxCost() totalCost()
+*/
+
+/*!
+ \fn int QIntCache::totalCost() const
+
+ Returns the total cost of the items in the cache. This is an
+ integer in the range 0 to maxCost().
+
+ \sa setMaxCost()
+*/
+
+/*!
+ \fn void QIntCache::setMaxCost( int m )
+
+ Sets the maximum allowed total cost of the cache to \a m. If the
+ current total cost is greater than \a m, some items are removed
+ immediately.
+
+ \sa maxCost() totalCost()
+*/
+
+/*!
+ \fn uint QIntCache::count() const
+
+ Returns the number of items in the cache.
+
+ \sa totalCost()
+*/
+
+/*!
+ \fn uint QIntCache::size() const
+
+ Returns the size of the hash array used to implement the cache.
+ This should be a bit larger than count() is likely to be.
+*/
+
+/*!
+ \fn bool QIntCache::isEmpty() const
+
+ Returns TRUE if the cache is empty; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QIntCache::insert( long k, const type *d, int c, int p )
+
+ Inserts the item \a d into the cache with key \a k and assigns it
+ a cost of \a c (default 1). Returns TRUE if it succeeds; otherwise
+ returns FALSE.
+
+ The cache's size is limited, and if the total cost is too high,
+ QIntCache will remove old, least-used items until there is room
+ for this new item.
+
+ The parameter \a p is internal and should be left at the default
+ value (0).
+
+ \warning If this function returns FALSE (for example, the cost \c,
+ exceeds maxCost()), you must delete \a d yourself. Additionally,
+ be very careful about using \a d after calling this function. Any
+ other insertions into the cache, from anywhere in the application
+ or within Qt itself, could cause the object to be discarded from
+ the cache and the pointer to become invalid.
+*/
+
+/*!
+ \fn bool QIntCache::remove( long k )
+
+ Removes the item associated with \a k, and returns TRUE if the
+ item was present in the cache; otherwise returns FALSE.
+
+ The item is deleted if auto-deletion has been enabled, i.e. if you
+ have called setAutoDelete(TRUE).
+
+ If there are two or more items with equal keys, the one that was
+ inserted most recently is removed.
+
+ All iterators that refer to the removed item are set to point to
+ the next item in the cache's traversal order.
+
+ \sa take(), clear()
+*/
+
+/*!
+ \fn type * QIntCache::take( long k )
+
+ Takes the item associated with \a k out of the cache without
+ deleting it, and returns a pointer to the item taken out or 0 if
+ the key does not exist in the cache.
+
+ If there are two or more items with equal keys, the one that was
+ inserted most recently is taken.
+
+ All iterators that refer to the taken item are set to point to the
+ next item in the cache's traversal order.
+
+ \sa remove(), clear()
+*/
+
+/*!
+ \fn void QIntCache::clear()
+
+ Removes all items from the cache, and deletes them if
+ auto-deletion has been enabled.
+
+ All cache iterators that operate this on cache are reset.
+
+ \sa remove() take()
+*/
+
+/*!
+ \fn type * QIntCache::find( long k, bool ref ) const
+
+ Returns the item associated with \a k, or 0 if the key does not
+ exist in the cache. If \a ref is TRUE (the default), the item is
+ moved to the front of the least recently used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted most recently is returned.
+*/
+
+/*!
+ \fn type * QIntCache::operator[]( long k ) const
+
+ Returns the item associated with \a k, or 0 if \a k does not exist
+ in the cache, and moves the item to the front of the least
+ recently used list.
+
+ If there are two or more items with equal keys, the one that was
+ inserted most recently is returned.
+
+ This is the same as find( k, TRUE ).
+
+ \sa find()
+*/
+
+/*!
+ \fn void QIntCache::statistics() const
+
+ A debug-only utility function. Prints out cache usage, hit/miss,
+ and distribution information using qDebug(). This function does
+ nothing in the release library.
+*/
+
+/*****************************************************************************
+ QIntCacheIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QIntCacheIterator qcache.h
+ \brief The QIntCacheIterator class provides an iterator for QIntCache collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ Note that the traversal order is arbitrary; you are not guaranteed
+ any particular order. If new objects are inserted into the cache
+ while the iterator is active, the iterator may or may not see
+ them.
+
+ Multiple iterators are completely independent, even when they
+ operate on the same QIntCache. QIntCache updates all iterators
+ that refer an item when that item is removed.
+
+ QIntCacheIterator provides an operator++(), and an operator+=() to
+ traverse the cache; current() and currentKey() to access the
+ current cache item and its key; atFirst() atLast(), which return
+ TRUE if the iterator points to the first/last item in the cache;
+ isEmpty(), which returns TRUE if the cache is empty; and count(),
+ which returns the number of items in the cache.
+
+ Note that atFirst() and atLast() refer to the iterator's arbitrary
+ ordering, not to the cache's internal least recently used list.
+
+ \sa QIntCache
+*/
+
+/*!
+ \fn QIntCacheIterator::QIntCacheIterator( const QIntCache<type> &cache )
+
+ Constructs an iterator for \a cache. The current iterator item is
+ set to point to the first item in the \a cache (or rather, the
+ first item is defined to be the item at which this constructor
+ sets the iterator to point).
+*/
+
+/*!
+ \fn QIntCacheIterator::QIntCacheIterator (const QIntCacheIterator<type> & ci)
+
+ Constructs an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current(), but moves
+ independently from there on.
+*/
+
+/*!
+ \fn QIntCacheIterator<type>& QIntCacheIterator::operator=( const QIntCacheIterator<type> &ci )
+
+ Makes this an iterator for the same cache as \a ci. The new
+ iterator starts at the same item as ci.current(), but moves
+ independently thereafter.
+*/
+
+/*!
+ \fn uint QIntCacheIterator::count() const
+
+ Returns the number of items in the cache on which this iterator
+ operates.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QIntCacheIterator::isEmpty() const
+
+ Returns TRUE if the cache is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QIntCacheIterator::atFirst() const
+
+ Returns TRUE if the iterator points to the first item in the
+ cache; otherwise returns FALSE. Note that this refers to the
+ iterator's arbitrary ordering, not to the cache's internal least
+ recently used list.
+
+ \sa toFirst(), atLast()
+*/
+
+/*!
+ \fn bool QIntCacheIterator::atLast() const
+
+ Returns TRUE if the iterator points to the last item in the cache;
+ otherwise returns FALSE. Note that this refers to the iterator's
+ arbitrary ordering, not to the cache's internal least recently
+ used list.
+
+ \sa toLast(), atFirst()
+*/
+
+/*!
+ \fn type *QIntCacheIterator::toFirst()
+
+ Sets the iterator to point to the first item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0, and returns 0, if the cache is empty.
+
+ \sa toLast() isEmpty()
+*/
+
+/*!
+ \fn type *QIntCacheIterator::toLast()
+
+ Sets the iterator to point to the last item in the cache and
+ returns a pointer to the item.
+
+ Sets the iterator to 0, and returns 0, if the cache is empty.
+
+ \sa toFirst() isEmpty()
+*/
+
+/*!
+ \fn QIntCacheIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QIntCacheIterator::current() const
+
+ Returns a pointer to the current iterator item.
+*/
+
+/*!
+ \fn long QIntCacheIterator::currentKey() const
+
+ Returns the key for the current iterator item.
+*/
+
+/*!
+ \fn type *QIntCacheIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the cache or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QIntCacheIterator::operator+=( uint jump )
+
+ Returns the item \a jump positions after the current item, or 0 if
+ it is beyond the last item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QIntCacheIterator::operator-=( uint jump )
+
+ Returns the item \a jump positions before the current item, or 0
+ if it is beyond the first item. Makes this the current item.
+*/
+
+/*!
+ \fn type *QIntCacheIterator::operator++()
+
+ Prefix ++ makes the iterator point to the item just after
+ current(), and makes it the new current item for the iterator. If
+ current() was the last item, operator--() returns 0.
+*/
+
+/*!
+ \fn type *QIntCacheIterator::operator--()
+
+ Prefix -- makes the iterator point to the item just before
+ current(), and makes it the new current item for the iterator. If
+ current() was the first item, operator--() returns 0.
+*/
+
diff --git a/doc/qintdict.doc b/doc/qintdict.doc
new file mode 100644
index 0000000..4f6ecc8
--- /dev/null
+++ b/doc/qintdict.doc
@@ -0,0 +1,449 @@
+/****************************************************************************
+**
+** QIntDict and QIntDictIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QIntDict documentation
+ *****************************************************************************/
+
+/*!
+ \class QIntDict qintdict.h
+ \brief The QIntDict class is a template class that provides a dictionary based on long keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ QMap is an STL-compatible alternative to this class.
+
+ QIntDict is implemented as a template class. Define a template
+ instance QIntDict\<X\> to create a dictionary that operates on
+ pointers to X (X*).
+
+ A dictionary is a collection of key-value pairs. The key is an \c
+ long used for insertion, removal and lookup. The value is a
+ pointer. Dictionaries provide very fast insertion and lookup.
+
+ Example:
+ \code
+ QIntDict<QLineEdit> fields; // long int keys, QLineEdit* values
+ for ( int i = 0; i < 3; i++ )
+ fields.insert( i, new QLineEdit( this ) );
+
+ fields[0]->setText( "Homer" );
+ fields[1]->setText( "Simpson" );
+ fields[2]->setText( "45" );
+
+ QIntDictIterator<QLineEdit> it( fields );
+ for ( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+
+ for ( int i = 0; i < 3; i++ )
+ cout << fields[i]->text() << " "; // Prints "Homer Simpson 45"
+ cout << endl;
+
+ fields.remove( 1 ); // Does not delete the line edit
+ for ( int i = 0; i < 3; i++ )
+ if ( fields[i] )
+ cout << fields[i]->text() << " "; // Prints "Homer 45"
+ \endcode
+
+ See QDict for full details, including the choice of dictionary
+ size, and how deletions are handled.
+
+ \sa QIntDictIterator, QDict, QAsciiDict, QPtrDict,
+ \link collection.html Collection Classes\endlink
+*/
+
+
+/*!
+ \fn QIntDict::QIntDict( int size )
+
+ Constructs a dictionary using an internal hash array of size \a
+ size.
+
+ Setting \a size to a suitably large prime number (equal to or
+ greater than the expected number of entries) makes the hash
+ distribution better which leads to faster lookup.
+*/
+
+/*!
+ \fn QIntDict::QIntDict( const QIntDict<type> &dict )
+
+ Constructs a copy of \a dict.
+
+ Each item in \a dict is inserted into this dictionary. Only the
+ pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QIntDict::~QIntDict()
+
+ Removes all items from the dictionary and destroys it.
+
+ All iterators that access this dictionary will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QIntDict<type> &QIntDict::operator=(const QIntDict<type> &dict)
+
+ Assigns \a dict to this dictionary and returns a reference to this
+ dictionary.
+
+ This dictionary is first cleared and then each item in \a dict is
+ inserted into this dictionary. Only the pointers are copied
+ (shallow copy), unless newItem() has been reimplemented.
+*/
+
+/*!
+ \fn uint QIntDict::count() const
+
+ Returns the number of items in the dictionary.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn uint QIntDict::size() const
+
+ Returns the size of the internal hash array (as specified in the
+ constructor).
+
+ \sa count()
+*/
+
+/*!
+ \fn void QIntDict::resize( uint newsize )
+
+ Changes the size of the hashtable to \a newsize. The contents of
+ the dictionary are preserved, but all iterators on the dictionary
+ become invalid.
+*/
+
+/*!
+ \fn bool QIntDict::isEmpty() const
+
+ Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn void QIntDict::insert( long key, const type *item )
+
+ Insert item \a item into the dictionary using key \a key.
+
+ Multiple items can have the same key, in which case only the last
+ item will be accessible using \l operator[]().
+
+ \a item may not be 0.
+
+ \sa replace()
+*/
+
+/*!
+ \fn void QIntDict::replace( long key, const type *item )
+
+ If the dictionary has key \a key, this key's item is replaced with
+ \a item. If the dictionary doesn't contain key \a key, \a item is
+ inserted into the dictionary using key \a key.
+
+ \a item may not be 0.
+
+ Equivalent to:
+ \code
+ QIntDict<char> dict;
+ // ...
+ if ( dict.find(key) )
+ dict.remove( key );
+ dict.insert( key, item );
+ \endcode
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be replaced.
+
+ \sa insert()
+*/
+
+/*!
+ \fn bool QIntDict::remove( long key )
+
+ Removes the item associated with \a key from the dictionary.
+ Returns TRUE if successful, i.e. if the \a key is in the
+ dictionary; otherwise returns FALSE.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be removed.
+
+ The removed item is deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that refer to the removed item will be
+ set to point to the next item in the dictionary's traversal
+ order.
+
+ \sa take(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QIntDict::take( long key )
+
+ Takes the item associated with \a key out of the dictionary
+ without deleting it (even if \link QPtrCollection::setAutoDelete()
+ auto-deletion\endlink is enabled).
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be taken.
+
+ Returns a pointer to the item taken out, or 0 if the key does not
+ exist in the dictionary.
+
+ All dictionary iterators that refer to the taken item will be set
+ to point to the next item in the dictionary's traversing order.
+
+ \sa remove(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn void QIntDict::clear()
+
+ Removes all items from the dictionary.
+
+ The removed items are deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that access this dictionary will be reset.
+
+ \sa remove(), take(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QIntDict::find( long key ) const
+
+ Returns the item associated with \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to operator[].
+
+ \sa operator[]()
+*/
+
+/*!
+ \fn type *QIntDict::operator[]( long key ) const
+
+ Returns the item associated with \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to the find() function.
+
+ \sa find()
+*/
+
+/*!
+ \fn void QIntDict::statistics() const
+
+ Debugging-only function that prints out the dictionary
+ distribution using qDebug().
+*/
+
+/*!
+ \fn QDataStream& QIntDict::read( QDataStream &s, QPtrCollection::Item &item )
+
+ Reads a dictionary item from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QIntDict::write( QDataStream &s, QPtrCollection::Item ) const
+
+ Writes a dictionary item to the stream \a s and returns a
+ reference to the stream.
+
+ \sa read()
+*/
+
+/*****************************************************************************
+ QIntDictIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QIntDictIterator qintdict.h
+ \brief The QIntDictIterator class provides an iterator for QIntDict collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ QIntDictIterator is implemented as a template class. Define a
+ template instance QIntDictIterator\<X\> to create a dictionary
+ iterator that operates on QIntDict\<X\> (dictionary of X*).
+
+ Example:
+ \code
+ QIntDict<QLineEdit> fields;
+ for ( int i = 0; i < 3; i++ )
+ fields.insert( i, new QLineEdit( this ) );
+
+ fields[0]->setText( "Homer" );
+ fields[1]->setText( "Simpson" );
+ fields[2]->setText( "45" );
+
+ QIntDictIterator<QLineEdit> it( fields );
+ for ( ; it.current(); ++it )
+ cout << it.currentKey() << ": " << it.current()->text() << endl;
+
+ // Output (random order):
+ // 0: Homer
+ // 1: Simpson
+ // 2: 45
+ \endcode
+
+ Note that the traversal order is arbitrary; you are not guaranteed the
+ order shown above.
+
+ Multiple iterators may independently traverse the same dictionary.
+ A QIntDict knows about all the iterators that are operating on the
+ dictionary. When an item is removed from the dictionary, QIntDict
+ updates all iterators that refer the removed item to point to the
+ next item in the traversal order.
+
+ \sa QIntDict
+*/
+
+/*!
+ \fn QIntDictIterator::QIntDictIterator( const QIntDict<type> &dict )
+
+ Constructs an iterator for \a dict. The current iterator item is
+ set to point to the 'first' item in the \a dict. The first item
+ refers to the first item in the dictionary's arbitrary internal
+ ordering.
+*/
+
+/*!
+ \fn QIntDictIterator::~QIntDictIterator()
+
+ Destroys the iterator.
+*/
+
+/*!
+ \fn uint QIntDictIterator::count() const
+
+ Returns the number of items in the dictionary this iterator
+ operates over.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QIntDictIterator::isEmpty() const
+
+ Returns TRUE if the dictionary is empty; otherwise eturns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn type *QIntDictIterator::toFirst()
+
+ Sets the current iterator item to point to the first item in the
+ dictionary and returns a pointer to the item. The first item
+ refers to the first item in the dictionary's arbitrary internal
+ ordering. If the dictionary is empty it sets the current item to
+ 0 and returns 0.
+*/
+
+/*!
+ \fn QIntDictIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QIntDictIterator::current() const
+
+ Returns a pointer to the current iterator item.
+*/
+
+/*!
+ \fn long QIntDictIterator::currentKey() const
+
+ Returns the key for the current iterator item.
+*/
+
+/*!
+ \fn type *QIntDictIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QIntDictIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns the new
+ current item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QIntDictIterator::operator+=( uint jump )
+
+ Sets the current item to the item \a jump positions after the
+ current item, and returns a pointer to that item.
+
+ If that item is beyond the last item or if the dictionary is
+ empty, it sets the current item to 0 and returns 0.
+*/
diff --git a/doc/qmap.doc b/doc/qmap.doc
new file mode 100644
index 0000000..bbd3382
--- /dev/null
+++ b/doc/qmap.doc
@@ -0,0 +1,902 @@
+/****************************************************************************
+**
+** QMap and QMapIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QMap documentation
+ *****************************************************************************/
+
+/*!
+ \class QMap qmap.h
+ \brief The QMap class is a value-based template class that
+ provides a dictionary.
+
+ \ingroup qtl
+ \ingroup tools
+ \ingroup shared
+ \mainclass
+
+ QMap is a Qt implementation of an STL-like map container. It can
+ be used in your application if the standard \c map is not
+ available on all your target platforms. QMap is part of the \link
+ qtl.html Qt Template Library\endlink.
+
+ QMap\<Key, Data\> defines a template instance to create a
+ dictionary with keys of type Key and values of type Data. QMap
+ does not store pointers to the members of the map; instead, it
+ holds a copy of every member. For this reason, QMap is
+ value-based, whereas QPtrList and QDict are pointer-based.
+
+ QMap contains and manages a collection of objects of type Data
+ with associated key values of type Key and provides iterators that
+ allow the contained objects to be addressed. QMap owns the
+ contained items.
+
+ Some classes cannot be used within a QMap. For example everything
+ derived from QObject and thus all classes that implement widgets.
+ Only values can be used in a QMap. To qualify as a value, the
+ class must provide
+
+ \list
+ \i A copy constructor
+ \i An assignment operator
+ \i A default constructor, i.e. a constructor that does not take
+ any arguments.
+ \endlist
+
+ Note that C++ defaults to field-by-field assignment operators and
+ copy constructors if no explicit version is supplied. In many
+ cases, this is sufficient.
+
+ The class used for the key requires that the \c operator< is
+ implemented to define ordering of the keys.
+
+ QMap's function naming is consistent with the other Qt classes
+ (e.g., count(), isEmpty()). QMap also provides extra functions for
+ compatibility with STL algorithms, such as size() and empty().
+ Programmers already familiar with the STL \c map can use these
+ the STL-like functions if preferred.
+
+ Example:
+ \target qmap-eg
+ \code
+ #include <qstring.h>
+ #include <qmap.h>
+ #include <qstring.h>
+
+ class Employee
+ {
+ public:
+ Employee(): sn(0) {}
+ Employee( const QString& forename, const QString& surname, int salary )
+ : fn(forename), sn(surname), sal(salary)
+ { }
+
+ QString forename() const { return fn; }
+ QString surname() const { return sn; }
+ int salary() const { return sal; }
+ void setSalary( int salary ) { sal = salary; }
+
+ private:
+ QString fn;
+ QString sn;
+ int sal;
+ };
+
+ int main(int argc, char **argv)
+ {
+ QApplication app( argc, argv );
+
+ typedef QMap<QString, Employee> EmployeeMap;
+ EmployeeMap map;
+
+ map["JD001"] = Employee("John", "Doe", 50000);
+ map["JW002"] = Employee("Jane", "Williams", 80000);
+ map["TJ001"] = Employee("Tom", "Jones", 60000);
+
+ Employee sasha( "Sasha", "Hind", 50000 );
+ map["SH001"] = sasha;
+ sasha.setSalary( 40000 );
+
+ EmployeeMap::Iterator it;
+ for ( it = map.begin(); it != map.end(); ++it ) {
+ printf( "%s: %s, %s earns %d\n",
+ it.key().latin1(),
+ it.data().surname().latin1(),
+ it.data().forename().latin1(),
+ it.data().salary() );
+ }
+ return 0;
+ }
+ \endcode
+
+ Program output:
+ \code
+ JD001: Doe, John earns 50000
+ JW002: Williams, Jane earns 80000
+ SH001: Hind, Sasha earns 50000
+ TJ001: Jones, Tom earns 60000
+ \endcode
+
+ The latest changes to Sasha's salary did not affect the value in
+ the list because the map created a copy of Sasha's entry. In
+ addition, notice that the items are sorted alphabetically (by key)
+ when iterating over the map.
+
+ There are several ways to find items in a map. The begin() and
+ end() functions return iterators to the beginning and end of the
+ map. The advantage of using an iterator is that you can move
+ forward or backward by incrementing/decrementing the iterator.
+ The iterator returned by end() points to the element which is one
+ past the last element in the container. The past-the-end iterator
+ is still associated with the map it belongs to, however it is \e
+ not dereferenceable; operator*() will not return a well-defined
+ value. If the map is empty, the iterator returned by begin() will
+ equal the iterator returned by end().
+
+ Another way to find an element in the map is by using the find()
+ function. This returns an iterator pointing to the desired item or
+ to the end() iterator if no such element exists.
+
+ Another approach uses the operator[]. But be warned: if the map
+ does not contain an entry for the element you are looking for,
+ operator[] inserts a default value. If you do not know that the
+ element you are searching for is really in the list, you should
+ not use operator[]. The following example illustrates this:
+
+ \code
+ QMap<QString,QString> map;
+ map["Clinton"] = "Bill";
+ str << map["Clinton"] << map["Bush"] << endl;
+ \endcode
+
+ The code fragment will print out "Clinton", "". Since the value
+ associated with the "Bush" key did not exist, the map inserted a
+ default value (in this case, an empty string). If you are not
+ sure whether a certain element is in the map, you should use
+ find() and iterators instead.
+
+ If you just want to know whether a certain key is contained in the
+ map, use the contains() function. In addition, count() tells you
+ how many keys are in the map.
+
+ It is safe to have multiple iterators at the same time. If some
+ member of the map is removed, only iterators pointing to the
+ removed member become invalid; inserting in the map does not
+ invalidate any iterators.
+
+ Since QMap is value-based, there is no need to be concerned about
+ deleting items in the map. The map holds its own copies and will
+ free them if the corresponding member or the map itself is
+ deleted.
+
+ QMap is implicitly shared. This means you can just make copies of
+ the map in time O(1). If multiple QMap instances share the same
+ data and one is modifying the map's data, this modifying instance
+ makes a copy and modifies its private copy: so it does not affect
+ other instances. If a QMap is being used in a multi-threaded
+ program, you must protect all access to the map. See \l QMutex.
+
+ There are a couple of ways of inserting new items into the map.
+ One uses the insert() method; the other uses operator[]:
+ \code
+ QMap<QString, QString> map;
+ map["Clinton"] = "Bill";
+ map.insert( "Bush", "George" );
+ \endcode
+
+ Items can also be removed from the map in several ways. One way is
+ to pass an iterator to remove(). Another way is to pass a key
+ value to remove(), which will delete the entry with the requested
+ key. In addition you can clear the entire map using the clear()
+ method.
+
+ \sa QMapIterator
+*/
+
+
+/*! \enum QMap::key_type
+ The map's key type. */
+/*! \enum QMap::mapped_type
+ The map's data type. */
+/*! \enum QMap::value_type
+ Corresponds to QPair\<key_type, mapped_type\>. */
+/*! \enum QMap::ValueType
+ Corresponds to QPair\<key_type, mapped_type\>, Qt style.*/
+/*! \enum QMap::pointer
+ Pointer to value_type.*/
+/*! \enum QMap::const_pointer
+ Const pointer to value_type.*/
+/*! \enum QMap::reference
+ Reference to value_type.*/
+/*! \enum QMap::const_reference
+ Const reference to value_type.*/
+/*! \enum QMap::size_type
+ An unsigned integral type, used to represent various sizes. */
+/*! \enum QMap::iterator
+ The map's iterator type.*/
+/*! \enum QMap::Iterator
+ The map's iterator type, Qt style. */
+/*! \enum QMap::const_iterator
+ The map's const iterator type.*/
+/*! \enum QMap::ConstIterator
+ The map's const iterator type, Qt style.*/
+/*! \enum QMap::difference_type
+ \internal */
+/*! \enum QMap::Priv
+ \internal */
+
+/*!
+ \fn QMap::QMap()
+
+ Constructs an empty map.
+*/
+
+/*!
+ \fn QMap::QMap( const QMap<Key,T>& m )
+
+ Constructs a copy of \a m.
+
+ This operation costs O(1) time because QMap is implicitly shared.
+ This makes returning a QMap from a function very fast. If a shared
+ instance is modified, it will be copied (copy-on-write), and this
+ takes O(n) time.
+*/
+
+/*!
+ \fn QMap::QMap( const std::map<Key,T>& m )
+
+ Constructs a copy of \a m.
+*/
+
+/*!
+ \fn QMap<Key,T>& QMap::operator= ( const std::map<Key,T>& m )
+
+ \overload
+
+ Assigns \a m to this map and returns a reference to this map.
+
+ All iterators of the current map become invalidated by this
+ operation.
+*/
+
+/*!
+ \fn QMap::~QMap()
+
+ Destroys the map. References to the values in the map and all
+ iterators of this map become invalidated. Since QMap is highly
+ tuned for performance you won't see warnings if you use invalid
+ iterators, because it is not possible for an iterator to check
+ whether it is valid or not.
+*/
+
+/*!
+ \fn QMap<Key, T>& QMap::operator= (const QMap<Key, T>& m)
+
+ Assigns \a m to this map and returns a reference to this map.
+
+ All iterators of the current map become invalidated by this
+ operation. The cost of such an assignment is O(1), because QMap is
+ implicitly shared.
+*/
+
+/*!
+ \fn T& QMap::operator[] ( const Key& k )
+
+ Returns the value associated with the key \a k. If no such key is
+ present, an empty item is inserted with this key and a reference
+ to the empty item is returned.
+
+ You can use this operator both for reading and writing:
+ \code
+ QMap<QString, QString> map;
+ map["Clinton"] = "Bill";
+ stream << map["Clinton"];
+ \endcode
+*/
+
+/*!
+ \fn void QMap::clear()
+
+ Removes all items from the map.
+
+ \sa remove()
+*/
+
+/*!
+ \fn Iterator QMap::find( const Key& k )
+
+ Returns an iterator pointing to the element with key \a k in the
+ map.
+
+ Returns end() if no key matched.
+
+ \sa QMapIterator
+*/
+
+/*!
+ \fn ConstIterator QMap::find( const Key& k ) const
+
+ \overload
+
+ Returns an iterator pointing to the element with key \a k in the
+ map.
+
+ Returns end() if no key matched.
+
+ \sa QMapConstIterator
+*/
+
+/*!
+ \fn Iterator QMap::begin()
+
+ Returns an iterator pointing to the first element in the map. This
+ iterator equals end() if the map is empty.
+
+ The items in the map are traversed in the order defined by
+ operator\<(Key, Key).
+
+ \sa end() QMapIterator
+*/
+
+/*!
+ \fn ConstIterator QMap::begin() const
+
+ \overload
+
+ \sa end() QMapConstIterator
+*/
+
+/*!
+ \fn ConstIterator QMap::constBegin() const
+
+ Returns an iterator pointing to the first element in the map. This
+ iterator equals end() if the map is empty.
+
+ The items in the map are traversed in the order defined by
+ operator\<(Key, Key).
+
+ \sa constEnd() QMapConstIterator
+*/
+
+/*!
+ \fn Iterator QMap::end()
+
+ The iterator returned by end() points to the element which is one
+ past the last element in the container. The past-the-end iterator
+ is still associated with the map it belongs to, but it is \e not
+ dereferenceable; operator*() will not return a well-defined value.
+
+ This iterator equals begin() if the map is empty.
+
+ \sa begin() QMapIterator
+*/
+
+/*!
+ \fn ConstIterator QMap::end() const
+
+ \overload
+*/
+
+/*!
+ \fn ConstIterator QMap::constEnd() const
+
+ The iterator returned by end() points to the element which is one
+ past the last element in the container. The past-the-end iterator
+ is still associated with the map it belongs to, but it is \e not
+ dereferenceable; operator*() will not return a well-defined value.
+
+ This iterator equals constBegin() if the map is empty.
+
+ \sa constBegin() QMapConstIterator
+*/
+
+/*!
+ \fn void QMap::detach()
+
+ If the map does not share its data with another QMap instance,
+ nothing happens; otherwise the function creates a new copy of this
+ map and detaches from the shared one. This function is called
+ whenever the map is modified. The implicit sharing mechanism is
+ implemented this way.
+*/
+
+
+/*!
+ \fn QDataStream& operator>>( QDataStream& s, QMap<Key,T>& m )
+
+ \relates QMap
+
+ Reads the map \a m from the stream \a s. The types \e Key and \e T
+ must implement the streaming operator as well.
+*/
+
+/*!
+ \fn QDataStream& operator<<( QDataStream& s, const QMap<Key,T>& m )
+
+ \relates QMap
+
+ Writes the map \a m to the stream \a s. The types \e Key and \e T
+ must implement the streaming operator as well.
+*/
+
+/*!
+ \fn size_type QMap::size() const
+
+ Returns the number of items in the map.
+
+ This function is provided for STL compatibility. It is equivalent
+ to count().
+
+ \sa empty()
+*/
+
+/*!
+ \fn bool QMap::empty() const
+
+ Returns TRUE if the map contains no items; otherwise returns
+ FALSE.
+
+ This function is provided for STL compatibility. It is equivalent
+ to isEmpty().
+
+ \sa size()
+*/
+
+/*!
+ \fn QPair<iterator,bool> QMap::insert( const value_type& x )
+
+ \overload
+
+ Inserts the (key, value) pair \a x into the map. \a x is a QPair
+ whose \c first element is a key to be inserted and whose \c second
+ element is the associated value to be inserted. Returns a pair
+ whose \c first element is an iterator pointing to the inserted
+ item and whose \c second element is a bool indicating TRUE if \a x
+ was inserted and FALSE if it was not inserted, e.g. because it was
+ already present.
+
+ \sa replace()
+*/
+
+/*!
+ \fn void QMap::erase( iterator it )
+
+ Removes the item associated with the iterator \a it from the map.
+
+ This function is provided for STL compatibility. It is equivalent
+ to remove().
+
+ \sa clear()
+*/
+
+/*!
+ \fn void QMap::erase( const key_type& k )
+
+ \overload
+
+ Removes the item with the key \a k from the map.
+*/
+
+/*!
+ \fn size_type QMap::count( const key_type& k ) const
+
+ Returns the number of items whose key is \a k. Since QMap does not
+ allow duplicate keys, the return value is always 0 or 1.
+
+ This function is provided for STL compatibility.
+*/
+
+/*!
+ \fn Iterator QMap::replace( const Key& k, const T& v )
+
+ Replaces the value of the element with key \a k, with the value \a
+ v.
+
+ \sa insert() remove()
+*/
+
+/*!
+ \fn const T& QMap::operator[] ( const Key& k ) const
+
+ \overload
+
+ \warning This function differs from the non-const version of the
+ same function. It will \e not insert an empty value if the key \a
+ k does not exist. This may lead to logic errors in your program.
+ You should check if the element exists before calling this
+ function.
+
+ Returns the value associated with the key \a k. If no such key is
+ present, a reference to an empty item is returned.
+*/
+
+/*!
+ \fn uint QMap::count() const
+
+ \overload
+
+ Returns the number of items in the map.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QMap::isEmpty() const
+
+ Returns TRUE if the map contains no items; otherwise returns
+ FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn Iterator QMap::insert( const Key& key, const T& value, bool overwrite )
+
+ Inserts a new item with the key, \a key, and a value of \a value.
+ If there is already an item whose key is \a key, that item's value
+ is replaced with \a value, unless \a overwrite is FALSE (it is
+ TRUE by default). In this case an iterator to this item is
+ returned, else an iterator to the new item is returned.
+
+*/
+
+/*!
+ \fn void QMap::remove( iterator it )
+
+ Removes the item associated with the iterator \a it from the map.
+
+ \sa clear()
+*/
+
+/*!
+ \fn void QMap::remove( const Key& k )
+
+ \overload
+
+ Removes the item with the key \a k from the map.
+*/
+
+/*!
+ \fn bool QMap::contains( const Key& k ) const
+
+ Returns TRUE if the map contains an item with key \a k; otherwise
+ returns FALSE.
+*/
+
+
+/*****************************************************************************
+ QMapIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QMapIterator qmap.h
+ \brief The QMapIterator class provides an iterator for QMap.
+
+ \ingroup qtl
+ \ingroup tools
+
+ You cannot create an iterator by yourself. Instead, you must ask a
+ map to give you one. An iterator is as big as a pointer; on 32-bit
+ machines that means 4 bytes, on 64-bit machines, 8 bytes. That
+ makes copying iterators very fast. Iterators behave in a similar
+ way to pointers, and they are almost as fast as pointers. See the
+ \link qmap.html#qmap-eg QMap example\endlink.
+
+ QMap is highly optimized for performance and memory usage, but the
+ trade-off is that you must be more careful. The only way to
+ traverse a map is to use iterators. QMap does not know about its
+ iterators, and the iterators don't even know to which map they
+ belong. That makes things fast but a bit dangerous because it is
+ up to you to make sure that the iterators you are using are still
+ valid. QDictIterator will be able to give warnings, whereas
+ QMapIterator may end up in an undefined state.
+
+ For every Iterator there is also a ConstIterator. You must use the
+ ConstIterator to access a QMap in a const environment or if the
+ reference or pointer to the map is itself const. Its semantics are
+ the same, but it only returns const references to the item it
+ points to.
+
+ \sa QMap QMapConstIterator
+*/
+
+/*! \enum QMapIterator::iterator_category
+ The type of iterator category, \c std::bidirectional_iterator_tag. */
+/*! \enum QMapIterator::value_type
+ The type of value. */
+/*! \enum QMapIterator::pointer
+ Pointer to value_type. */
+/*! \enum QMapIterator::reference
+ Reference to value_type. */
+/*! \enum QMapIterator::difference_type
+ \internal */
+/*! \enum QMapIterator::NodePtr
+ \internal */
+
+/*!
+ \fn QMapIterator::QMapIterator()
+
+ Creates an uninitialized iterator.
+*/
+
+/*!
+ \fn QMapIterator::QMapIterator (QMapNode<K, T> * p)
+
+ Constructs an iterator starting at node \a p.
+*/
+
+/*!
+ \fn QMapIterator::QMapIterator( const QMapIterator<K,T>& it )
+
+ Constructs a copy of the iterator, \a it.
+*/
+
+/*!
+ \fn QMapIterator<K,T>& QMapIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the map. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QMapIterator<K,T> QMapIterator::operator++(int)
+
+ \overload
+
+ Postfix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the map. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QMapIterator<K,T>& QMapIterator::operator--()
+
+ Prefix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the map. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn QMapIterator<K,T> QMapIterator::operator--(int)
+
+ \overload
+
+ Postfix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the map. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn T& QMapIterator::operator*()
+
+ Dereference operator. Returns a reference to the current item's
+ data. The same as data().
+*/
+
+/*!
+ \fn const T& QMapIterator::operator*() const
+
+ \overload
+
+ Dereference operator. Returns a const reference to the current
+ item's data. The same as data().
+*/
+
+/*!
+ \fn bool QMapIterator::operator==( const QMapIterator<K,T>& it ) const
+
+ Compares the iterator to the \a it iterator and returns TRUE if
+ they point to the same item; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QMapIterator::operator!=( const QMapIterator<K,T>& it ) const
+
+ Compares the iterator to the \a it iterator and returns FALSE if
+ they point to the same item; otherwise returns TRUE.
+*/
+
+/*!
+ \fn T& QMapIterator::data()
+
+ Returns a reference to the current item's data.
+*/
+
+/*!
+ \fn const T& QMapIterator::data() const
+
+ \overload
+
+ Returns a const reference to the current item's data.
+*/
+
+/*!
+ \fn const K& QMapIterator::key() const
+
+ Returns a const reference to the current item's key.
+*/
+
+/*!
+ \fn QValueList<Key> QMap::keys() const
+
+ Returns a list of all the keys in the map, in order.
+*/
+
+/*!
+ \fn QValueList<T> QMap::values() const
+
+ Returns a list of all the values in the map, in key order.
+*/
+
+/*****************************************************************************
+ QMapConstIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QMapConstIterator qmap.h
+ \brief The QMapConstIterator class provides an iterator for QMap.
+
+ \ingroup qtl
+ \ingroup tools
+
+ In contrast to QMapIterator, this class is used to iterate over a
+ const map. It does not allow you to modify the values of the map
+ because this would break the const semantics.
+
+ For more information on QMap iterators, see \l{QMapIterator} and
+ the \link qmap.html#qmap-eg QMap example\endlink.
+
+ \sa QMap QMapIterator
+*/
+
+/*! \enum QMapConstIterator::iterator_category
+ The type of iterator category, \c std::bidirectional_iterator_tag. */
+/*! \enum QMapConstIterator::value_type
+ The type of const value. */
+/*! \enum QMapConstIterator::pointer
+ Const pointer to value_type. */
+/*! \enum QMapConstIterator::reference
+ Const reference to value_type. */
+/*! \enum QMapConstIterator::difference_type
+ \internal */
+/*! \enum QMapConstIterator::NodePtr
+ \internal */
+
+
+/*!
+ \fn QMapConstIterator::QMapConstIterator()
+
+ Constructs an uninitialized iterator.
+*/
+
+/*!
+ \fn QMapConstIterator::QMapConstIterator (QMapNode<K, T> * p)
+
+ Constructs an iterator starting at node \a p.
+*/
+
+/*!
+ \fn QMapConstIterator::QMapConstIterator( const QMapConstIterator<K,T>& it )
+
+ Constructs a copy of the iterator, \a it.
+*/
+
+/*!
+ \fn QMapConstIterator::QMapConstIterator( const QMapIterator<K,T>& it )
+
+ Constructs a copy of the iterator, \a it.
+*/
+
+/*!
+ \fn QMapConstIterator<K,T>& QMapConstIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the map. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QMapConstIterator<K,T> QMapConstIterator::operator++(int)
+
+ \overload
+
+ Postfix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the map. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QMapConstIterator<K,T>& QMapConstIterator::operator--()
+
+ Prefix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the map. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn QMapConstIterator<K,T> QMapConstIterator::operator--(int)
+
+ \overload
+
+ Postfix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the map. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn const T& QMapConstIterator::operator*() const
+
+ Dereference operator. Returns a const reference to the current
+ item's data. The same as data().
+*/
+
+/*!
+ \fn bool QMapConstIterator::operator==( const QMapConstIterator<K,T>& it ) const
+
+ Compares the iterator to the \a it iterator and returns TRUE if
+ they point to the same item; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QMapConstIterator::operator!=( const QMapConstIterator<K,T>& it ) const
+
+ Compares the iterator to the \a it iterator and returns FALSE if
+ they point to the same item; otherwise returns TRUE.
+*/
+
+/*!
+ \fn const T& QMapConstIterator::data() const
+
+ Returns a const reference to the current item's data.
+*/
+
+/*!
+ \fn const K& QMapConstIterator::key() const
+
+ Returns a const reference to the current item's key.
+*/
diff --git a/doc/qmemarray.doc b/doc/qmemarray.doc
new file mode 100644
index 0000000..35c1893
--- /dev/null
+++ b/doc/qmemarray.doc
@@ -0,0 +1,590 @@
+/****************************************************************************
+**
+** QMemArray class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QMemArray documentation
+ *****************************************************************************/
+
+/*!
+ \class QMemArray qmemarray.h
+ \reentrant
+ \brief The QMemArray class is a template class that provides arrays of simple types.
+
+ \ingroup tools
+
+ QMemArray is implemented as a template class. Define a template
+ instance QMemArray\<X\> to create an array that contains X items.
+
+ QMemArray stores the array elements directly in the array. It can
+ only deal with simple types (i.e. C++ types, structs, and classes
+ that have no constructors, destructors, or virtual functions).
+ QMemArray uses bitwise operations to copy and compare array
+ elements.
+
+ The QPtrVector collection class is also a kind of array. Like most
+ \link collection.html collection classes\endlink, it uses pointers
+ to the contained items.
+
+ QMemArray uses \link shclass.html explicit sharing\endlink with a
+ reference count. If more than one array shares common data and one
+ of the arrays is modified, all the arrays are modified.
+
+ The benefit of sharing is that a program does not need to duplicate
+ data when it is not required, which results in lower memory use
+ and less copying of data.
+
+ An alternative to QMemArray is QValueVector. The QValueVector class
+ also provides an array of objects, but can deal with objects that
+ have constructors (specifically a copy constructor and a default
+ constructor). QValueVector provides an STL-compatible syntax and is
+ \link shclass.html implicitly shared\endlink.
+
+ Example:
+ \code
+ #include <qmemarray.h>
+ #include <stdio.h>
+
+ QMemArray<int> fib( int num ) // returns fibonacci array
+ {
+ Q_ASSERT( num > 2 );
+ QMemArray<int> f( num ); // array of ints
+
+ f[0] = f[1] = 1;
+ for ( int i = 2; i < num; i++ )
+ f[i] = f[i-1] + f[i-2];
+
+ return f;
+ }
+
+ int main()
+ {
+ QMemArray<int> a = fib( 6 ); // get first 6 fibonaccis
+ for ( int i = 0; i < a.size(); i++ )
+ qDebug( "%d: %d", i, a[i] );
+
+ qDebug( "1 is found %d times", a.contains(1) );
+ qDebug( "5 is found at index %d", a.find(5) );
+
+ return 0;
+ }
+ \endcode
+
+ Program output:
+ \code
+ 0: 1
+ 1: 1
+ 2: 2
+ 3: 3
+ 4: 5
+ 5: 8
+ 1 is found 2 times
+ 5 is found at index 4
+ \endcode
+
+ Note concerning the use of QMemArray for manipulating structs or
+ classes: Compilers will often pad the size of structs of odd sizes
+ up to the nearest word boundary. This will then be the size
+ QMemArray will use for its bitwise element comparisons. Because
+ the remaining bytes will typically be uninitialized, this can
+ cause find() etc. to fail to find the element. Example:
+
+ \code
+ // MyStruct may be padded to 4 or 8 bytes
+ struct MyStruct
+ {
+ short i; // 2 bytes
+ char c; // 1 byte
+ };
+
+ QMemArray<MyStruct> a(1);
+ a[0].i = 5;
+ a[0].c = 't';
+
+ MyStruct x;
+ x.i = '5';
+ x.c = 't';
+ int i = a.find( x ); // may return -1 if the pad bytes differ
+ \endcode
+
+ To work around this, make sure that you use a struct where
+ sizeof() returns the same as the sum of the sizes of the members
+ either by changing the types of the struct members or by adding
+ dummy members.
+
+ QMemArray data can be traversed by iterators (see begin() and
+ end()). The number of items is returned by count(). The array can
+ be resized with resize() and filled using fill().
+
+ You can make a shallow copy of the array with assign() (or
+ operator=()) and a deep copy with duplicate().
+
+ Search for values in the array with find() and contains(). For
+ sorted arrays (see sort()) you can search using bsearch().
+
+ You can set the data directly using setRawData() and
+ resetRawData(), although this requires care.
+
+ \sa \link shclass.html Shared Classes\endlink
+*/
+
+/*! \enum QMemArray::Iterator
+ A QMemArray iterator.
+ \sa begin() end()
+*/
+/*! \enum QMemArray::ConstIterator
+ A const QMemArray iterator.
+ \sa begin() end()
+*/
+/*! \enum QMemArray::ValueType
+ \internal
+*/
+
+/*!
+ \fn QMemArray::QMemArray()
+
+ Constructs a null array.
+
+ \sa isNull()
+*/
+
+/*!
+ \fn QMemArray::QMemArray( int size )
+
+ Constructs an array with room for \a size elements. Makes a null
+ array if \a size == 0.
+
+ The elements are left uninitialized.
+
+ \sa resize(), isNull()
+*/
+
+/*!
+ \fn QMemArray::QMemArray( const QMemArray<type> &a )
+
+ Constructs a shallow copy of \a a.
+
+ \sa assign()
+*/
+
+/*!
+ \fn QMemArray::QMemArray( int, int )
+
+ Constructs an array \e{without allocating} array space. The
+ arguments should be (0, 0). Use at your own risk.
+*/
+
+/*!
+ \fn QMemArray::~QMemArray()
+
+ Dereferences the array data and deletes it if this was the last
+ reference.
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::operator=( const QMemArray<type> &a )
+
+ Assigns a shallow copy of \a a to this array and returns a
+ reference to this array.
+
+ Equivalent to assign( a ).
+*/
+
+/*!
+ \fn type *QMemArray::data() const
+
+ Returns a pointer to the actual array data.
+
+ The array is a null array if data() == 0 (null pointer).
+
+ \sa isNull()
+*/
+
+/*!
+ \fn uint QMemArray::nrefs() const
+
+ Returns the reference count for the shared array data. This
+ reference count is always greater than zero.
+*/
+
+/*!
+ \fn uint QMemArray::size() const
+
+ Returns the size of the array (maximum number of elements).
+
+ The array is a null array if size() == 0.
+
+ \sa isNull(), resize()
+*/
+
+/*!
+ \fn uint QMemArray::count() const
+
+ Returns the same as size().
+
+ \sa size()
+*/
+
+/*!
+ \fn bool QMemArray::isEmpty() const
+
+ Returns TRUE if the array is empty; otherwise returns FALSE.
+
+ isEmpty() is equivalent to isNull() for QMemArray (unlike
+ QString).
+*/
+
+/*!
+ \fn bool QMemArray::isNull() const
+
+ Returns TRUE if the array is null; otherwise returns FALSE.
+
+ A null array has size() == 0 and data() == 0.
+*/
+
+/*!
+ \fn bool QMemArray::resize( uint size, Optimization optim )
+
+ Resizes (expands or shrinks) the array to \a size elements. The
+ array becomes a null array if \a size == 0.
+
+ Returns TRUE if successful, or FALSE if the memory cannot be
+ allocated.
+
+ New elements are not initialized.
+
+ \a optim is either \c QGArray::MemOptim (the default) or
+ \c QGArray::SpeedOptim.
+
+ <b>Note:</b> By default, \c SpeedOptim is not available for general
+ use since it is only available if Qt is built in a particular
+ configuration.
+
+ \sa size()
+*/
+
+/*!
+ \fn bool QMemArray::resize( uint size )
+
+ \overload
+
+ Resizes (expands or shrinks) the array to \a size elements. The
+ array becomes a null array if \a size == 0.
+
+ Returns TRUE if successful, i.e. if the memory can be allocated;
+ otherwise returns FALSE.
+
+ New elements are not initialized.
+
+ \sa size()
+*/
+
+/*!
+ \fn bool QMemArray::truncate( uint pos )
+
+ Truncates the array at position \a pos.
+
+ Returns TRUE if successful, i.e. if the memory can be allocated;
+ otherwise returns FALSE.
+
+ Equivalent to resize(\a pos).
+
+ \sa resize()
+*/
+
+/*!
+ \fn bool QMemArray::fill( const type &v, int size )
+
+ Fills the array with the value \a v. If \a size is specified as
+ different from -1, then the array will be resized before being
+ filled.
+
+ Returns TRUE if successful, i.e. if \a size is -1, or \a size is
+ != -1 and the memory can be allocated; otherwise returns FALSE.
+
+ \sa resize()
+*/
+
+/*!
+ \fn void QMemArray::detach()
+
+ Detaches this array from shared array data; i.e. it makes a
+ private, deep copy of the data.
+
+ Copying will be performed only if the \link nrefs() reference
+ count\endlink is greater than one.
+
+ \sa copy()
+*/
+
+/*!
+ \fn QMemArray<type> QMemArray::copy() const
+
+ Returns a deep copy of this array.
+
+ \sa detach(), duplicate()
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::assign( const QMemArray<type> &a )
+
+ Shallow copy. Dereferences the current array and references the
+ data contained in \a a instead. Returns a reference to this array.
+
+ \sa operator=()
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::assign( const type *data, uint size )
+
+ \overload
+
+ Shallow copy. Dereferences the current array and references the
+ array data \a data, which contains \a size elements. Returns a
+ reference to this array.
+
+ Do not delete \a data later; QMemArray will call free() on it
+ at the right time.
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::duplicate( const QMemArray<type> &a )
+
+ Deep copy. Dereferences the current array and obtains a copy of
+ the data contained in \a a instead. Returns a reference to this
+ array.
+
+ \sa copy()
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::duplicate( const type *data, uint size )
+
+ \overload
+
+ Deep copy. Dereferences the current array and obtains a copy of
+ the array data \a data instead. Returns a reference to this array.
+ The size of the array is given by \a size.
+
+ \sa copy()
+*/
+
+/*!
+ \fn QMemArray<type> &QMemArray::setRawData( const type *data, uint size )
+
+ Sets raw data and returns a reference to the array.
+
+ Dereferences the current array and sets the new array data to \a
+ data and the new array size to \a size. Do not attempt to resize
+ or re-assign the array data when raw data has been set. Call
+ resetRawData(\a data, \a size) to reset the array.
+
+ Setting raw data is useful because it sets QMemArray data without
+ allocating memory or copying data.
+
+ Example I (intended use):
+ \code
+ static char bindata[] = { 231, 1, 44, ... };
+ QByteArray a;
+ a.setRawData( bindata, sizeof(bindata) ); // a points to bindata
+ QDataStream s( a, IO_ReadOnly ); // open on a's data
+ s >> <something>; // read raw bindata
+ a.resetRawData( bindata, sizeof(bindata) ); // finished
+ \endcode
+
+ Example II (you don't want to do this):
+ \code
+ static char bindata[] = { 231, 1, 44, ... };
+ QByteArray a, b;
+ a.setRawData( bindata, sizeof(bindata) ); // a points to bindata
+ a.resize( 8 ); // will crash
+ b = a; // will crash
+ a[2] = 123; // might crash
+ // forget to resetRawData: will crash
+ \endcode
+
+ \warning If you do not call resetRawData(), QMemArray will attempt
+ to deallocate or reallocate the raw data, which might not be too
+ good. Be careful.
+
+ \sa resetRawData()
+*/
+
+/*!
+ \fn void QMemArray::resetRawData( const type *data, uint size )
+
+ Removes internal references to the raw data that was set using
+ setRawData(). This means that QMemArray no longer has access to
+ the \a data, so you are free to manipulate \a data as you wish.
+ You can now use the QMemArray without affecting the original \a
+ data, for example by calling setRawData() with a pointer to some
+ other data.
+
+ The arguments must be the \a data and length, \a size, that were
+ passed to setRawData(). This is for consistency checking.
+
+ \sa setRawData()
+*/
+
+/*!
+ \fn int QMemArray::find( const type &v, uint index ) const
+
+ Finds the first occurrence of \a v, starting at position \a index.
+
+ Returns the position of \a v, or -1 if \a v could not be found.
+
+ \sa contains()
+*/
+
+/*!
+ \fn int QMemArray::contains( const type &v ) const
+
+ Returns the number of times \a v occurs in the array.
+
+ \sa find()
+*/
+
+/*!
+ \fn void QMemArray::sort()
+
+ Sorts the array elements in ascending order, using bitwise
+ comparison (memcmp()).
+
+ \sa bsearch()
+*/
+
+/*!
+ \fn int QMemArray::bsearch( const type &v ) const
+
+ In a sorted array (as sorted by sort()), finds the first
+ occurrence of \a v by using a binary search. For a sorted
+ array this is generally much faster than find(), which does
+ a linear search.
+
+ Returns the position of \a v, or -1 if \a v could not be found.
+
+ \sa sort(), find()
+*/
+
+/*!
+ \fn type &QMemArray::operator[]( int index ) const
+
+ Returns a reference to the element at position \a index in the
+ array.
+
+ This can be used to both read and set an element. Equivalent to
+ at().
+
+ \sa at()
+*/
+
+/*!
+ \fn type &QMemArray::at( uint index ) const
+
+ Returns a reference to the element at position \a index in the array.
+
+ This can be used to both read and set an element.
+
+ \sa operator[]()
+*/
+
+/*!
+ \fn QMemArray::operator const type *() const
+
+ Cast operator. Returns a pointer to the array.
+
+ \sa data()
+*/
+
+/*!
+ \fn bool QMemArray::operator==( const QMemArray<type> &a ) const
+
+ Returns TRUE if this array is equal to \a a; otherwise returns
+ FALSE.
+
+ The two arrays are compared bitwise.
+
+ \sa operator!=()
+*/
+
+/*!
+ \fn bool QMemArray::operator!=( const QMemArray<type> &a ) const
+
+ Returns TRUE if this array is different from \a a; otherwise
+ returns FALSE.
+
+ The two arrays are compared bitwise.
+
+ \sa operator==()
+*/
+
+/*!
+ \fn Iterator QMemArray::begin()
+
+ Returns an iterator pointing at the beginning of this array. This
+ iterator can be used in the same way as the iterators of
+ QValueList and QMap, for example.
+*/
+
+/*!
+ \fn Iterator QMemArray::end()
+
+ Returns an iterator pointing behind the last element of this
+ array. This iterator can be used in the same way as the iterators
+ of QValueList and QMap, for example.
+*/
+
+/*!
+ \fn ConstIterator QMemArray::begin() const
+
+ \overload
+
+ Returns a const iterator pointing at the beginning of this array.
+ This iterator can be used in the same way as the iterators of
+ QValueList and QMap, for example.
+*/
+
+/*!
+ \fn ConstIterator QMemArray::end() const
+
+ \overload
+
+ Returns a const iterator pointing behind the last element of this
+ array. This iterator can be used in the same way as the iterators
+ of QValueList and QMap, for example.
+*/
diff --git a/doc/qobjectlist.doc b/doc/qobjectlist.doc
new file mode 100644
index 0000000..88f3766
--- /dev/null
+++ b/doc/qobjectlist.doc
@@ -0,0 +1,88 @@
+/*!
+ \class QObjectList qobjectlist.h
+ \brief The QObjectList class is a QPtrList of QObjects.
+
+ \ingroup collection
+ \ingroup tools
+
+ A QObjectList is a \link qptrlist.html
+ QPtrList\<QObject\>\endlink. The list can be traversed using
+ inherited functions, e.g. getFirst(), next(), etc., or using a
+ QObjectListIterator iterator.
+
+ See \l QObject::queryList() for an example of use.
+
+ \sa QObjectListIterator QObject
+*/
+
+/*!
+ \fn QObjectList::QObjectList()
+
+ Constructs an empty QObject list.
+*/
+
+/*!
+ \fn QObjectList::QObjectList( const QObjectList &list )
+
+ Constructs a copy of \a list.
+
+ Each item in \a list is \link append() appended\endlink to this
+ list. Only the pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QObjectList::~QObjectList()
+
+ Removes all the object pointers from the list and destroys the
+ list.
+
+ All list iterators that access this list will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QObjectList &QObjectList::operator=(const QObjectList &list)
+
+ Assigns \a list to this list and returns a reference to this list.
+
+ This list is first cleared and then each item in \a list is \link
+ append() appended\endlink to this list. Only the pointers are
+ copied (shallow copy) unless newItem() has been reimplemented().
+*/
+
+
+/*!
+ \class QObjectListIterator qobjectlist.h
+ \brief The QObjectListIterator class provides an iterator for
+ QObjectLists.
+
+ \ingroup collection
+ \ingroup tools
+
+ A QObjectListIterator iterator is a \link qptrlistiterator.html
+ QPtrListIterator\<QObject\>\endlink.
+
+ See \l QObject::queryList() for an example of use.
+
+ \sa QObjectList
+*/
+
+/*!
+ \fn QObjectListIterator::QObjectListIterator( const QObjectList &list )
+
+ Constructs an iterator for \a list. The current iterator item is
+ set to point on the first item in the \a list.
+*/
+
+/*!
+ \fn QObjectListIterator& QObjectListIterator::operator=( const QObjectListIterator &it )
+
+ Assignment. Makes a copy of the iterator \a it and returns a
+ reference to this iterator.
+*/
+
+
+
+
+
diff --git a/doc/qpair.doc b/doc/qpair.doc
new file mode 100644
index 0000000..2245cd1
--- /dev/null
+++ b/doc/qpair.doc
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** QPair class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*****************************************************************************
+ QPair documentation
+ *****************************************************************************/
+
+
+/*!
+ \class QPair qpair.h
+ \brief The QPair class is a value-based template class that provides a pair of elements.
+
+ \ingroup qtl
+ \ingroup tools
+ \ingroup shared
+
+ QPair is a Qt implementation of an STL-like pair. It can be used
+ in your application if the standard pair\<\> is not available on
+ your target platforms.
+
+ QPair\<T1, T2\> defines a template instance to create a pair of
+ values that contains two values of type T1 and T2. Please note
+ that QPair does not store pointers to the two elements; it holds a
+ copy of every member. This is why these kinds of classes are
+ called \e{value based}. If you're interested in \e{pointer based}
+ classes see, for example, QPtrList and QDict.
+
+ QPair holds one copy of type T1 and one copy of type T2, but does
+ not provide iterators to access these elements. Instead, the two
+ elements (\c first and \c second) are public member variables of
+ the pair. QPair owns the contained elements. For more relaxed
+ ownership semantics, see QPtrCollection and friends which are
+ pointer-based containers.
+
+ Some classes cannot be used within a QPair: for example, all
+ classes derived from QObject and thus all classes that implement
+ widgets. Only "values" can be used in a QPair. To qualify as a
+ value the class must provide:
+
+ \list
+ \i A copy constructor
+ \i An assignment operator
+ \i A constructor that takes no arguments
+ \endlist
+
+ Note that C++ defaults to field-by-field assignment operators and
+ copy constructors if no explicit version is supplied. In many
+ cases this is sufficient.
+
+ QPair uses an STL-like syntax to manipulate and address the
+ objects it contains. See the \link qtl.html QTL
+ documentation\endlink for more information.
+
+ Functions that need to return two values can use a QPair.
+*/
+
+/*! \enum QPair::first_type
+ The type of the first element in the pair. */
+
+/*! \enum QPair::second_type
+ The type of the second element in the pair. */
+
+
+/*!
+ \fn QPair::QPair()
+
+ Constructs an empty pair. The \c first and \c second elements are
+ default constructed.
+*/
+
+/*!
+ \fn QPair::QPair( const T1& t1, const T2& t2 )
+
+ Constructs a pair and initializes the \c first element with \a t1
+ and the \c second element with \a t2.
+*/
+
+/*!
+ \fn bool operator==( const QPair<T1, T2>& x, const QPair<T1, T2>& y )
+
+ Returns TRUE if \a x is equal to \a y; otherwise returns FALSE.
+ Two QPairs are equal if both their \c first and \c second elements
+ are equal.
+*/
+
+/*!
+ \fn bool operator<( const QPair<T1, T2>& x, const QPair<T1, T2>& y )
+
+ Returns TRUE if \a x is less than \a y; otherwise returns FALSE.
+ \a x is less than \a y if x.first is less than y.first, or if
+ x.second is less than y.second and x.first is the same as y.first.
+
+ For example, (0, 1) < (0, 4) and (0, 4) < (1, 0).
+*/
+
+/*! \fn QPair<T1, T2> qMakePair( const T1& x, const T2& y )
+
+ Convenience wrapper for the QPair constructor.
+*/
+
+/*! \fn QDataStream& operator>>( QDataStream& s, QPair<T1, T2>& p )
+
+ Reads a pair \a p from the stream \a s. The types T1 and T2 must
+ implement the streaming operator as well.
+*/
+
+/*! \fn QDataStream& operator<<( QDataStream& s, const QPair<T1, T2>& p )
+
+ Writes the pair \a p to the stream \a s. The types T1 and T2 must
+ implement the streaming operator as well.
+*/
diff --git a/doc/qptrdict.doc b/doc/qptrdict.doc
new file mode 100644
index 0000000..abc8f15
--- /dev/null
+++ b/doc/qptrdict.doc
@@ -0,0 +1,458 @@
+/****************************************************************************
+**
+** QPtrDict and QPtrDictIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QPtrDict documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrDict
+ \brief The QPtrDict class is a template class that provides a dictionary based on void* keys.
+
+ \ingroup collection
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ QPtrDict is implemented as a template class. Define a template
+ instance QPtrDict\<X\> to create a dictionary that operates on
+ pointers to X (X*).
+
+ A dictionary is a collection of key-value pairs. The key is a
+ void* used for insertion, removal and lookup. The value is a
+ pointer. Dictionaries provide very fast insertion and lookup.
+
+ Example:
+ \code
+ QPtrDict<char> fields; // void* keys, char* values
+
+ QLineEdit *le1 = new QLineEdit( this );
+ le1->setText( "Simpson" );
+ QLineEdit *le2 = new QLineEdit( this );
+ le2->setText( "Homer" );
+ QLineEdit *le3 = new QLineEdit( this );
+ le3->setText( "45" );
+
+ fields.insert( le1, "Surname" );
+ fields.insert( le2, "Forename" );
+ fields.insert( le3, "Age" );
+
+ QPtrDictIterator<char> it( fields );
+ for( ; it.current(); ++it )
+ cout << it.current() << endl;
+ cout << endl;
+
+ if ( fields[le1] ) // Prints "Surname: Simpson"
+ cout << fields[le1] << ": " << le1->text() << endl;
+ if ( fields[le2] ) // Prints "Forename: Homer"
+ cout << fields[le2] << ": " << le2->text() << endl;
+
+ fields.remove( le1 ); // Removes le1 from the dictionary
+ cout << le1->text() << endl; // Prints "Simpson"
+ \endcode
+ In this example we use a dictionary to add an extra property (a
+ char*) to the line edits we're using.
+
+ See QDict for full details, including the choice of dictionary
+ size, and how deletions are handled.
+
+ \sa QPtrDictIterator, QDict, QAsciiDict, QIntDict,
+ \link collection.html Collection Classes\endlink
+*/
+
+
+/*!
+ \fn QPtrDict::QPtrDict( int size )
+
+ Constructs a dictionary using an internal hash array with the size
+ \a size.
+
+ Setting \a size to a suitably large prime number (equal to or
+ greater than the expected number of entries) makes the hash
+ distribution better and improves lookup performance.
+*/
+
+/*!
+ \fn QPtrDict::QPtrDict( const QPtrDict<type> &dict )
+
+ Constructs a copy of \a dict.
+
+ Each item in \a dict is inserted into this dictionary. Only the
+ pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QPtrDict::~QPtrDict()
+
+ Removes all items from the dictionary and destroys it.
+
+ All iterators that access this dictionary will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QPtrDict<type> &QPtrDict::operator=(const QPtrDict<type> &dict)
+
+ Assigns \a dict to this dictionary and returns a reference to this
+ dictionary.
+
+ This dictionary is first cleared and then each item in \a dict is
+ inserted into the dictionary. Only the pointers are copied
+ (shallow copy), unless newItem() has been reimplemented.
+*/
+
+/*!
+ \fn uint QPtrDict::count() const
+
+ Returns the number of items in the dictionary.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn uint QPtrDict::size() const
+
+ Returns the size of the internal hash table (as specified in the
+ constructor).
+
+ \sa count()
+*/
+
+/*!
+ \fn void QPtrDict::resize( uint newsize )
+
+ Changes the size of the hash table to \a newsize. The contents of
+ the dictionary are preserved, but all iterators on the dictionary
+ become invalid.
+*/
+
+/*!
+ \fn bool QPtrDict::isEmpty() const
+
+ Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn void QPtrDict::insert( void *key, const type *item )
+
+ Inserts the \a key with the \a item into the dictionary.
+
+ Multiple items can have the same key, in which case only the last
+ item will be accessible using \l operator[]().
+
+ \a item may not be 0.
+
+ \sa replace()
+*/
+
+/*!
+ \fn void QPtrDict::replace( void *key, const type *item )
+
+ If the dictionary has key \a key, this key's item is replaced with
+ \a item. If the dictionary doesn't contain key \a key, \a item is
+ inserted into the dictionary using key \a key.
+
+ \a item may not be 0.
+
+ Equivalent to
+ \code
+ QPtrDict<ItemType> dict;
+ ...
+ if ( dict.find( key ) )
+ dict.remove( key );
+ dict.insert( key, item );
+ \endcode
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be replaced.
+
+ \sa insert()
+*/
+
+/*!
+ \fn bool QPtrDict::remove( void *key )
+
+ Removes the item associated with \a key from the dictionary.
+ Returns TRUE if successful, i.e. if \a key is in the dictionary;
+ otherwise returns FALSE.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be removed.
+
+ The removed item is deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that refer to the removed item will be
+ set to point to the next item in the dictionary traversal order.
+
+ \sa take(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QPtrDict::take( void *key )
+
+ Takes the item associated with \a key out of the dictionary
+ without deleting it (even if \link QPtrCollection::setAutoDelete()
+ auto-deletion\endlink is enabled).
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be removed.
+
+ Returns a pointer to the item taken out, or 0 if the key does not
+ exist in the dictionary.
+
+ All dictionary iterators that refer to the taken item will be set
+ to point to the next item in the dictionary traversal order.
+
+ \sa remove(), clear(), setAutoDelete()
+*/
+
+/*!
+ \fn void QPtrDict::clear()
+
+ Removes all items from the dictionary.
+
+ The removed items are deleted if \link
+ QPtrCollection::setAutoDelete() auto-deletion\endlink is enabled.
+
+ All dictionary iterators that access this dictionary will be
+ reset.
+
+ \sa remove(), take(), setAutoDelete()
+*/
+
+/*!
+ \fn type *QPtrDict::find( void *key ) const
+
+ Returns the item associated with \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to operator[].
+
+ \sa operator[]()
+*/
+
+/*!
+ \fn type *QPtrDict::operator[]( void *key ) const
+
+ Returns the item associated with \a key, or 0 if the key does not
+ exist in the dictionary.
+
+ If there are two or more items with equal keys, then the most
+ recently inserted item will be found.
+
+ Equivalent to the find() function.
+
+ \sa find()
+*/
+
+/*!
+ \fn void QPtrDict::statistics() const
+
+ Debugging-only function that prints out the dictionary
+ distribution using qDebug().
+*/
+
+/*!
+ \fn QDataStream& QPtrDict::read( QDataStream &s, QPtrCollection::Item &item )
+
+ Reads a dictionary item from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QPtrDict::write( QDataStream &s, QPtrCollection::Item ) const
+
+ Writes a dictionary item to the stream \a s and returns a
+ reference to the stream.
+
+ \sa read()
+*/
+
+/*****************************************************************************
+ QPtrDictIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrDictIterator qptrdict.h
+ \brief The QPtrDictIterator class provides an iterator for QPtrDict collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ QPtrDictIterator is implemented as a template class. Define a
+ template instance QPtrDictIterator\<X\> to create a dictionary
+ iterator that operates on QPtrDict\<X\> (dictionary of X*).
+
+ Example:
+ \code
+ QPtrDict<char> fields;
+
+ QLineEdit *le1 = new QLineEdit( this );
+ le1->setText( "Simpson" );
+ QLineEdit *le2 = new QLineEdit( this );
+ le2->setText( "Homer" );
+ QLineEdit *le3 = new QLineEdit( this );
+ le3->setText( "45" );
+
+ fields.insert( le1, "Surname" );
+ fields.insert( le2, "Forename" );
+ fields.insert( le3, "Age" );
+
+ QPtrDictIterator<char> it( fields );
+ for( ; it.current(); ++it ) {
+ QLineEdit *le = (QLineEdit)it.currentKey();
+ cout << it.current() << ": " << le->text() << endl;
+ }
+ cout << endl;
+
+ // Output (random order):
+ // Forename: Homer
+ // Age: 45
+ // Surname: Simpson
+ \endcode
+ In the example we insert some line edits into a dictionary,
+ associating a string with each. We then iterate over the
+ dictionary printing the associated strings.
+
+ Multiple iterators may independently traverse the same dictionary.
+ A QPtrDict knows about all the iterators that are operating on the
+ dictionary. When an item is removed from the dictionary, QPtrDict
+ updates all iterators that refer the removed item to point to the
+ next item in the traversing order.
+
+ \sa QPtrDict
+*/
+
+/*!
+ \fn QPtrDictIterator::QPtrDictIterator( const QPtrDict<type> &dict )
+
+ Constructs an iterator for \a dict. The current iterator item is
+ set to point on the first item in the \a dict.
+*/
+
+/*!
+ \fn QPtrDictIterator::~QPtrDictIterator()
+
+ Destroys the iterator.
+*/
+
+/*!
+ \fn uint QPtrDictIterator::count() const
+
+ Returns the number of items in the dictionary this iterator
+ operates on.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QPtrDictIterator::isEmpty() const
+
+ Returns TRUE if the dictionary is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn type *QPtrDictIterator::toFirst()
+
+ Sets the current iterator item to point to the first item in the
+ dictionary and returns a pointer to the item. If the dictionary is
+ empty, it sets the current item to 0 and returns 0.
+*/
+
+/*!
+ \fn QPtrDictIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QPtrDictIterator::current() const
+
+ Returns a pointer to the current iterator item's value.
+*/
+
+/*!
+ \fn void *QPtrDictIterator::currentKey() const
+
+ Returns the current iterator item's key.
+*/
+
+/*!
+ \fn type *QPtrDictIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrDictIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns the new
+ current item.
+
+ If the current iterator item was the last item in the dictionary
+ or if it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrDictIterator::operator+=( uint jump )
+
+ Sets the current item to the item \a jump positions after the
+ current item and returns a pointer to that item.
+
+ If that item is beyond the last item or if the dictionary is
+ empty, it sets the current item to 0 and returns 0.
+*/
diff --git a/doc/qptrlist.doc b/doc/qptrlist.doc
new file mode 100644
index 0000000..911dc1b
--- /dev/null
+++ b/doc/qptrlist.doc
@@ -0,0 +1,1259 @@
+/****************************************************************************
+**
+** QPtrList and QPtrListIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QPtrList documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrList
+ \brief The QPtrList class is a template class that provides a list.
+
+ \ingroup collection
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ QValueList is an STL-compatible alternative to this class.
+
+ Define a template instance QPtrList\<X\> to create a list that
+ operates on pointers to X (X*).
+
+ The list class is indexable and has a \link at() current
+ index\endlink and a \link current() current item\endlink. The
+ first item corresponds to index position 0. The current index is
+ -1 if the current item is 0.
+
+ Items are inserted with prepend(), insert() or append(). Items are
+ removed with remove(), removeRef(), removeFirst() and
+ removeLast(). You can search for an item using find(), findNext(),
+ findRef() or findNextRef(). The list can be sorted with sort().
+ You can count the number of occurrences of an item with contains()
+ or containsRef(). You can get a pointer to the current item with
+ current(), to an item at a particular index position in the list
+ with at() or to the first or last item with getFirst() and
+ getLast(). You can also iterate over the list with first(),
+ last(), next() and prev() (which all update current()). The list's
+ deletion property is set with setAutoDelete().
+
+ \target example
+ Example:
+ \code
+ class Employee
+ {
+ public:
+ Employee() : sn( 0 ) { }
+ Employee( const QString& forename, const QString& surname, int salary )
+ : fn( forename ), sn( surname ), sal( salary )
+ { }
+
+ void setSalary( int salary ) { sal = salary; }
+
+ QString forename() const { return fn; }
+ QString surname() const { return sn; }
+ int salary() const { return sal; }
+
+ private:
+ QString fn;
+ QString sn;
+ int sal;
+ };
+
+ QPtrList<Employee> list;
+ list.setAutoDelete( TRUE ); // the list owns the objects
+
+ list.append( new Employee("John", "Doe", 50000) );
+ list.append( new Employee("Jane", "Williams", 80000) );
+ list.append( new Employee("Tom", "Jones", 60000) );
+
+ Employee *employee;
+ for ( employee = list.first(); employee; employee = list.next() )
+ cout << employee->surname().latin1() << ", " <<
+ employee->forename().latin1() << " earns " <<
+ employee->salary() << endl;
+ cout << endl;
+
+ // very inefficient for big lists
+ for ( uint i = 0; i < list.count(); ++i )
+ if ( list.at(i) )
+ cout << list.at( i )->surname().latin1() << endl;
+ \endcode
+
+ The output is
+ \code
+ Doe, John earns 50000
+ Williams, Jane earns 80000
+ Jones, Tom earns 60000
+
+ Doe
+ Williams
+ Jones
+ \endcode
+
+ QPtrList has several member functions for traversing the list, but
+ using a QPtrListIterator can be more practical. Multiple list
+ iterators may traverse the same list, independently of each other
+ and of the current list item.
+
+ In the example above we make the call setAutoDelete(TRUE).
+ Enabling auto-deletion tells the list to delete items that are
+ removed. The default is to not delete items when they are removed
+ but this would cause a memory leak in the example because there
+ are no other references to the list items.
+
+ When inserting an item into a list only the pointer is copied, not
+ the item itself, i.e. a shallow copy. It is possible to make the
+ list copy all of the item's data (deep copy) when an item is
+ inserted. insert(), inSort() and append() call the virtual
+ function QPtrCollection::newItem() for the item to be inserted.
+ Inherit a list and reimplement newItem() to have deep copies.
+
+ When removing an item from a list, the virtual function
+ QPtrCollection::deleteItem() is called. QPtrList's default
+ implementation is to delete the item if auto-deletion is enabled.
+
+ The virtual function compareItems() can be reimplemented to
+ compare two list items. This function is called from all list
+ functions that need to compare list items, for instance
+ remove(const type*). If you only want to deal with pointers, there
+ are functions that compare pointers instead, for instance
+ removeRef(const type*). These functions are somewhat faster than
+ those that call compareItems().
+
+ List items are stored as \c void* in an internal QLNode, which
+ also holds pointers to the next and previous list items. The
+ functions currentNode(), removeNode(), and takeNode() operate
+ directly on the QLNode, but they should be used with care. The
+ data component of the node is available through QLNode::getData().
+
+ The QStrList class defined in \l qstrlist.h is a list of \c char*.
+ It reimplements newItem(), deleteItem() and compareItems(). (But
+ see QStringList for a list of Unicode QStrings.)
+
+ \sa QPtrListIterator
+*/
+
+
+/*!
+ \fn QPtrList::QPtrList()
+
+ Constructs an empty list.
+*/
+
+/*!
+ \fn QPtrList::QPtrList( const QPtrList<type> &list )
+
+ Constructs a copy of \a list.
+
+ Each item in \a list is \link append() appended\endlink to this
+ list. Only the pointers are copied (shallow copy).
+*/
+
+/*!
+ \fn QPtrList::~QPtrList()
+
+ Removes all items from the list and destroys the list.
+
+ All list iterators that access this list will be reset.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn QPtrList<type> &QPtrList::operator=(const QPtrList<type> &list)
+
+ Assigns \a list to this list and returns a reference to this list.
+
+ This list is first cleared and then each item in \a list is \link
+ append() appended\endlink to this list. Only the pointers are
+ copied (shallow copy) unless newItem() has been reimplemented.
+*/
+
+/*!
+ \fn bool QPtrList::operator==(const QPtrList<type> &list ) const
+
+ Compares this list with \a list. Returns TRUE if the lists contain
+ the same data; otherwise returns FALSE.
+*/
+
+/*!
+ \fn uint QPtrList::count() const
+
+ Returns the number of items in the list.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QPtrList::operator!=(const QPtrList<type> &list ) const
+
+ Compares this list with \a list. Returns TRUE if the lists contain
+ different data; otherwise returns FALSE.
+*/
+
+
+/*!
+ \fn void QPtrList::sort()
+
+ Sorts the list by the result of the virtual compareItems()
+ function.
+
+ The heap sort algorithm is used for sorting. It sorts n items with
+ O(n*log n) comparisons. This is the asymptotic optimal solution of
+ the sorting problem.
+
+ If the items in your list support operator<() and operator==(),
+ you might be better off with QSortedList because it implements the
+ compareItems() function for you using these two operators.
+
+ \sa inSort()
+*/
+
+/*!
+ \fn bool QPtrList::isEmpty() const
+
+ Returns TRUE if the list is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QPtrList::insert( uint index, const type *item )
+
+ Inserts the \a item at position \a index in the list.
+
+ Returns TRUE if successful, i.e. if \a index is in range;
+ otherwise returns FALSE. The valid range is 0 to count()
+ (inclusively). The item is appended if \a index == count().
+
+ The inserted item becomes the current list item.
+
+ \a item must not be 0.
+
+ \sa append(), current(), replace()
+*/
+
+/*!
+ \fn bool QPtrList::replace( uint index, const type *item )
+
+ Replaces the item at position \a index with the new \a item.
+
+ Returns TRUE if successful, i.e. \a index is in the range 0 to
+ count()-1.
+
+ \sa append(), current(), insert()
+*/
+
+/*!
+ \fn void QPtrList::inSort( const type *item )
+
+ Inserts the \a item at its sorted position in the list.
+
+ The sort order depends on the virtual compareItems() function. All
+ items must be inserted with inSort() to maintain the sorting
+ order.
+
+ The inserted item becomes the current list item.
+
+ \a item must not be 0.
+
+ \warning Using inSort() is slow. An alternative, especially if you
+ have lots of items, is to simply append() or insert() them and
+ then use sort(). inSort() takes up to O(n) compares. That means
+ inserting n items in your list will need O(n^2) compares whereas
+ sort() only needs O(n*log n) for the same task. So use inSort()
+ only if you already have a presorted list and want to insert just
+ a few additional items.
+
+ \sa insert(), compareItems(), current(), sort()
+*/
+
+/*!
+ \fn void QPtrList::append( const type *item )
+
+ Inserts the \a item at the end of the list.
+
+ The inserted item becomes the current list item. This is
+ equivalent to \c{insert( count(), item )}.
+
+ \a item must not be 0.
+
+ \sa insert(), current(), prepend()
+*/
+
+/*!
+ \fn void QPtrList::prepend( const type *item )
+
+ Inserts the \a item at the start of the list.
+
+ The inserted item becomes the current list item. This is
+ equivalent to \c{insert( 0, item )}.
+
+ \a item must not be 0.
+
+ \sa append(), insert(), current()
+*/
+
+/*!
+ \fn bool QPtrList::remove( uint index )
+
+ Removes the item at position \a index in the list.
+
+ Returns TRUE if successful, i.e. if \a index is in range;
+ otherwise returns FALSE. The valid range is \c{0..(count() - 1)}
+ inclusive.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa take(), clear(), setAutoDelete(), current() removeRef()
+*/
+
+/*!
+ \fn bool QPtrList::remove()
+
+ \overload
+
+ Removes the current list item.
+
+ Returns TRUE if successful, i.e. if the current item isn't 0;
+ otherwise returns FALSE.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa take(), clear(), setAutoDelete(), current() removeRef()
+*/
+
+/*!
+ \fn bool QPtrList::remove( const type *item )
+
+ \overload
+
+ Removes the first occurrence of \a item from the list.
+
+ Returns TRUE if successful, i.e. if \a item is in the list;
+ otherwise returns FALSE.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The compareItems() function is called when searching for the item
+ in the list. If compareItems() is not reimplemented, it is more
+ efficient to call removeRef().
+
+ If \a item is NULL then the current item is removed from the list.
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa removeRef(), take(), clear(), setAutoDelete(), compareItems(),
+ current()
+*/
+
+/*!
+ \fn bool QPtrList::removeRef( const type *item )
+
+ Removes the first occurrence of \a item from the list.
+
+ Returns TRUE if successful, i.e. if \a item is in the list;
+ otherwise returns FALSE.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ Equivalent to:
+ \code
+ if ( list.findRef( item ) != -1 )
+ list.remove();
+ \endcode
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa remove(), clear(), setAutoDelete(), current()
+*/
+
+/*!
+ \fn void QPtrList::removeNode( QLNode *node )
+
+ Removes the \a node from the list.
+
+ This node must exist in the list, otherwise the program may crash.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The first item in the list will become the new current list item.
+ The current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the item succeeding this item or to the preceding item if
+ the removed item was the last item.
+
+ \warning Do not call this function unless you are an expert.
+
+ \sa takeNode(), currentNode() remove() removeRef()
+*/
+
+/*!
+ \fn bool QPtrList::removeFirst()
+
+ Removes the first item from the list. Returns TRUE if successful,
+ i.e. if the list isn't empty; otherwise returns FALSE.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The first item in the list becomes the new current list item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa removeLast(), setAutoDelete(), current() remove()
+*/
+
+/*!
+ \fn bool QPtrList::removeLast()
+
+ Removes the last item from the list. Returns TRUE if successful,
+ i.e. if the list isn't empty; otherwise returns FALSE.
+
+ The removed item is deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ The last item in the list becomes the new current list item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the removed item will be set to
+ point to the new current item.
+
+ \sa removeFirst(), setAutoDelete(), current()
+*/
+
+/*!
+ \fn type *QPtrList::take( uint index )
+
+ Takes the item at position \a index out of the list without
+ deleting it (even if \link setAutoDelete() auto-deletion\endlink
+ is enabled).
+
+ Returns a pointer to the item taken out of the list, or 0 if the
+ index is out of range. The valid range is \c{0..(count() - 1)}
+ inclusive.
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the taken item will be set to
+ point to the new current item.
+
+ \sa remove(), clear(), current()
+*/
+
+/*!
+ \fn type *QPtrList::take()
+
+ \overload
+
+ Takes the current item out of the list without deleting it (even
+ if \link setAutoDelete() auto-deletion\endlink is enabled).
+
+ Returns a pointer to the item taken out of the list, or 0 if
+ the current item is 0.
+
+ The item after the removed item becomes the new current list item
+ if the removed item is not the last item in the list. If the last
+ item is removed, the new last item becomes the current item. The
+ current item is set to 0 if the list becomes empty.
+
+ All list iterators that refer to the taken item will be set to
+ point to the new current item.
+
+ \sa remove(), clear(), current()
+*/
+
+/*!
+ \fn type *QPtrList::takeNode( QLNode *node )
+
+ Takes the \a node out of the list without deleting its item (even
+ if \link setAutoDelete() auto-deletion\endlink is enabled).
+ Returns a pointer to the item taken out of the list.
+
+ This node must exist in the list, otherwise the program may crash.
+
+ The first item in the list becomes the new current list item.
+
+ All list iterators that refer to the taken item will be set to
+ point to the item succeeding this item or to the preceding item if
+ the taken item was the last item.
+
+ \warning Do not call this function unless you are an expert.
+
+ \sa removeNode(), currentNode()
+*/
+
+/*!
+ \fn void QPtrList::clear()
+
+ Removes all items from the list.
+
+ The removed items are deleted if \link setAutoDelete()
+ auto-deletion\endlink is enabled.
+
+ All list iterators that access this list will be reset.
+
+ \sa remove(), take(), setAutoDelete()
+*/
+
+/*!
+ \fn int QPtrList::find( const type *item )
+
+ Finds the first occurrence of \a item in the list.
+
+ If the item is found, the list sets the current item to point to
+ the found item and returns the index of this item. If the item is
+ not found, the list sets the current item to 0, the current
+ index to -1, and returns -1.
+
+ The compareItems() function is called when searching for the item
+ in the list. If compareItems() is not reimplemented, it is more
+ efficient to call findRef().
+
+ \sa findNext(), findRef(), compareItems(), current()
+*/
+
+/*!
+ \fn int QPtrList::findNext( const type *item )
+
+ Finds the next occurrence of \a item in the list, starting from
+ the current list item.
+
+ If the item is found, the list sets the current item to point to
+ the found item and returns the index of this item. If the item is
+ not found, the list sets the current item to 0, the current
+ index to -1, and returns -1.
+
+ The compareItems() function is called when searching for the item
+ in the list. If compareItems() is not reimplemented, it is more
+ efficient to call findNextRef().
+
+ \sa find(), findNextRef(), compareItems(), current()
+*/
+
+/*!
+ \fn int QPtrList::findRef( const type *item )
+
+ Finds the first occurrence of \a item in the list.
+
+ If the item is found, the list sets the current item to point to
+ the found item and returns the index of this item. If the item is
+ not found, the list sets the current item to 0, the current
+ index to -1, and returns -1.
+
+ Calling this function is much faster than find() because find()
+ compares \a item with each list item using compareItems(), whereas
+ this function only compares the pointers.
+
+ \sa findNextRef(), find(), current()
+*/
+
+/*!
+ \fn int QPtrList::findNextRef( const type *item )
+
+ Finds the next occurrence of \a item in the list, starting from
+ the current list item.
+
+ If the item is found, the list sets the current item to point to
+ the found item and returns the index of this item. If the item is
+ not found, the list sets the current item to 0, the current
+ index to -1, and returns -1.
+
+ Calling this function is much faster than findNext() because
+ findNext() compares \a item with each list item using
+ compareItems(), whereas this function only compares the pointers.
+
+ \sa findRef(), findNext(), current()
+*/
+
+/*!
+ \fn uint QPtrList::contains( const type *item ) const
+
+ Returns the number of occurrences of \a item in the list.
+
+ The compareItems() function is called when looking for the \a item
+ in the list. If compareItems() is not reimplemented, it is more
+ efficient to call containsRef().
+
+ This function does not affect the current list item.
+
+ \sa containsRef(), compareItems()
+*/
+
+/*!
+ \fn uint QPtrList::containsRef( const type *item ) const
+
+ Returns the number of occurrences of \a item in the list.
+
+ Calling this function is much faster than contains() because
+ contains() compares \a item with each list item using
+ compareItems(), whereas his function only compares the pointers.
+
+ This function does not affect the current list item.
+
+ \sa contains()
+*/
+
+/*!
+ \fn type *QPtrList::at( uint index )
+
+ Returns a pointer to the item at position \a index in the list, or
+ 0 if the index is out of range.
+
+ Sets the current list item to this item if \a index is valid. The
+ valid range is \c{0..(count() - 1)} inclusive.
+
+ This function is very efficient. It starts scanning from the first
+ item, last item, or current item, whichever is closest to \a
+ index.
+
+ \sa current()
+*/
+
+/*!
+ \fn int QPtrList::at() const
+
+ \overload
+
+ Returns the index of the current list item. The returned value is
+ -1 if the current item is 0.
+
+ \sa current()
+*/
+
+/*!
+ \fn type *QPtrList::current() const
+
+ Returns a pointer to the current list item. The current item may
+ be 0 (implies that the current index is -1).
+
+ \sa at()
+*/
+
+/*!
+ \fn QLNode *QPtrList::currentNode() const
+
+ Returns a pointer to the current list node.
+
+ The node can be kept and removed later using removeNode(). The
+ advantage is that the item can be removed directly without
+ searching the list.
+
+ \warning Do not call this function unless you are an expert.
+
+ \sa removeNode(), takeNode(), current()
+*/
+
+/*!
+ \fn type *QPtrList::getFirst() const
+
+ Returns a pointer to the first item in the list, or 0 if the list
+ is empty.
+
+ This function does not affect the current list item.
+
+ \sa first(), getLast()
+*/
+
+/*!
+ \fn type *QPtrList::getLast() const
+
+ Returns a pointer to the last item in the list, or 0 if the list
+ is empty.
+
+ This function does not affect the current list item.
+
+ \sa last(), getFirst()
+*/
+
+/*!
+ \fn type *QPtrList::first()
+
+ Returns a pointer to the first item in the list and makes this the
+ current list item; returns 0 if the list is empty.
+
+ \sa getFirst(), last(), next(), prev(), current()
+*/
+
+/*!
+ \fn type *QPtrList::last()
+
+ Returns a pointer to the last item in the list and makes this the
+ current list item; returns 0 if the list is empty.
+
+ \sa getLast(), first(), next(), prev(), current()
+*/
+
+/*!
+ \fn type *QPtrList::next()
+
+ Returns a pointer to the item succeeding the current item. Returns
+ 0 if the current item is 0 or equal to the last item.
+
+ Makes the succeeding item current. If the current item before this
+ function call was the last item, the current item will be set to
+ 0. If the current item was 0, this function does nothing.
+
+ \sa first(), last(), prev(), current()
+*/
+
+/*!
+ \fn type *QPtrList::prev()
+
+ Returns a pointer to the item preceding the current item. Returns
+ 0 if the current item is 0 or equal to the first item.
+
+ Makes the preceding item current. If the current item before this
+ function call was the first item, the current item will be set to
+ 0. If the current item was 0, this function does nothing.
+
+ \sa first(), last(), next(), current()
+*/
+
+/*!
+ \fn void QPtrList::toVector( QGVector *vec ) const
+
+ Stores all list items in the vector \a vec.
+
+ The vector must be of the same item type, otherwise the result
+ will be undefined.
+*/
+
+/*!
+ \enum QPtrList::iterator
+
+ \internal
+*/
+
+/*!
+ \enum QPtrList::Iterator
+
+ \internal
+*/
+
+/*!
+ \enum QPtrList::ConstIterator
+
+ \internal
+*/
+
+/*!
+ \enum QPtrList::const_iterator
+
+ \internal
+*/
+
+/*!
+ \fn QPtrList::constBegin() const
+
+ \internal
+*/
+
+/*!
+ \fn QPtrList::constEnd() const
+
+ \internal
+*/
+
+/*!
+ \fn QPtrList::erase(Iterator)
+
+ \internal
+*/
+
+
+/*****************************************************************************
+ QPtrListIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrListIterator
+ \brief The QPtrListIterator class provides an iterator for
+ QPtrList collections.
+
+ \ingroup collection
+ \ingroup tools
+
+ Define a template instance QPtrListIterator\<X\> to create a list
+ iterator that operates on QPtrList\<X\> (list of X*).
+
+ The following example is similar to the \link
+ qptrlist.html#example example in the QPtrList class documentation
+ \endlink, but it uses QPtrListIterator. The class Employee is
+ defined there.
+
+ \code
+ QPtrList<Employee> list;
+
+ list.append( new Employee("John", "Doe", 50000) );
+ list.append( new Employee("Jane", "Williams", 80000) );
+ list.append( new Employee("Tom", "Jones", 60000) );
+
+ QPtrListIterator<Employee> it( list );
+ Employee *employee;
+ while ( (employee = it.current()) != 0 ) {
+ ++it;
+ cout << employee->surname().latin1() << ", " <<
+ employee->forename().latin1() << " earns " <<
+ employee->salary() << endl;
+ }
+ \endcode
+
+ The output is
+ \code
+ Doe, John earns 50000
+ Williams, Jane earns 80000
+ Jones, Tom earns 60000
+ \endcode
+
+ Using a list iterator is a more robust way of traversing the list
+ than using the QPtrList member functions \link QPtrList::first()
+ first\endlink(), \link QPtrList::next() next\endlink(), \link
+ QPtrList::current() current\endlink(), etc., as many iterators can
+ traverse the same list independently.
+
+ An iterator has its own current list item and can get the next and
+ previous list items. It doesn't modify the list in any way.
+
+ When an item is removed from the list, all iterators that point to
+ that item are updated to point to QPtrList::current() instead to
+ avoid dangling references.
+
+ \sa QPtrList
+*/
+
+/*!
+ \fn QPtrListIterator::QPtrListIterator( const QPtrList<type> &list )
+
+ Constructs an iterator for \a list. The current iterator item is
+ set to point on the first item in the \a list.
+*/
+
+/*!
+ \fn QPtrListIterator::~QPtrListIterator()
+
+ Destroys the iterator.
+*/
+
+/*!
+ \fn uint QPtrListIterator::count() const
+
+ Returns the number of items in the list this iterator operates on.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QPtrListIterator::isEmpty() const
+
+ Returns TRUE if the list is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QPtrListIterator::atFirst() const
+
+ Returns TRUE if the current iterator item is the first list item;
+ otherwise returns FALSE.
+
+ \sa toFirst(), atLast()
+*/
+
+/*!
+ \fn bool QPtrListIterator::atLast() const
+
+ Returns TRUE if the current iterator item is the last list item;
+ otherwise returns FALSE.
+
+ \sa toLast(), atFirst()
+*/
+
+/*!
+ \fn type *QPtrListIterator::toFirst()
+
+ Sets the current iterator item to point to the first list item and
+ returns a pointer to the item. Sets the current item to 0 and
+ returns 0 if the list is empty.
+
+ \sa toLast(), atFirst()
+*/
+
+/*!
+ \fn type *QPtrListIterator::toLast()
+
+ Sets the current iterator item to point to the last list item and
+ returns a pointer to the item. Sets the current item to 0 and
+ returns 0 if the list is empty.
+
+ \sa toFirst(), atLast()
+*/
+
+/*!
+ \fn QPtrListIterator::operator type *() const
+
+ Cast operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator*()
+
+ Asterisk operator. Returns a pointer to the current iterator item.
+ Same as current().
+*/
+
+/*!
+ \fn type *QPtrListIterator::current() const
+
+ Returns a pointer to the current iterator item. If the iterator is
+ positioned before the first item in the list or after the last
+ item in the list, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator()()
+
+ Makes the succeeding item current and returns the original current
+ item.
+
+ If the current iterator item was the last item in the list or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns the new
+ current item.
+
+ If the current iterator item was the last item in the list or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator+=( uint jump )
+
+ Sets the current item to the item \a jump positions after the
+ current item and returns a pointer to that item.
+
+ If that item is beyond the last item or if the list is empty, it
+ sets the current item to 0 and returns 0
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator--()
+
+ Prefix - makes the preceding item current and returns the new
+ current item.
+
+ If the current iterator item was the first item in the list or if
+ it was 0, 0 is returned.
+*/
+
+/*!
+ \fn type *QPtrListIterator::operator-=( uint jump )
+
+ Returns the item \a jump positions before the current item or 0
+ if it is beyond the first item. Makes this the current item.
+*/
+
+/*!
+ \fn QPtrListIterator<type>& QPtrListIterator::operator=( const QPtrListIterator<type> &it )
+
+ Assignment. Makes a copy of the iterator \a it and returns a
+ reference to this iterator.
+*/
+
+
+/*****************************************************************************
+ QStrList documentation
+ *****************************************************************************/
+
+/*!
+ \class QStrList qstrlist.h
+ \brief The QStrList class provides a doubly-linked list of char*.
+
+ \ingroup collection
+ \ingroup tools
+ \ingroup text
+
+ If you want a string list of \l{QString}s use QStringList.
+
+ This class is a QPtrList\<char\> instance (a list of char*).
+
+ QStrList can make deep or shallow copies of the strings that are
+ inserted.
+
+ A deep copy means that memory is allocated for the string and then
+ the string data is copied into that memory. A shallow copy is just
+ a copy of the pointer value and not of the string data itself.
+
+ The disadvantage of shallow copies is that because a pointer can
+ be deleted only once, the program must put all strings in a
+ central place and know when it is safe to delete them (i.e. when
+ the strings are no longer referenced by other parts of the
+ program). This can make the program more complex. The advantage of
+ shallow copies is that they consume far less memory than deep
+ copies. It is also much faster to copy a pointer (typically 4 or 8
+ bytes) than to copy string data.
+
+ A QStrList that operates on deep copies will, by default, turn on
+ auto-deletion (see setAutoDelete()). Thus, by default QStrList
+ will deallocate any string copies it allocates.
+
+ The virtual compareItems() function is reimplemented and does a
+ case-sensitive string comparison. The inSort() function will
+ insert strings in sorted order. In general it is fastest to insert
+ the strings as they come and sort() at the end; inSort() is useful
+ when you just have to add a few extra strings to an already sorted
+ list.
+
+ The QStrListIterator class is an iterator for QStrList.
+*/
+
+/*!
+ \fn QStrList::QStrList( bool deepCopies )
+
+ Constructs an empty list of strings. Will make deep copies of all
+ inserted strings if \a deepCopies is TRUE, or use shallow copies
+ if \a deepCopies is FALSE.
+*/
+
+/*!
+ \fn QStrList::QStrList( const QStrList &list )
+
+ Constructs a copy of \a list.
+
+ If \a list has deep copies, this list will also get deep copies.
+ Only the pointers are copied (shallow copy) if the other list does
+ not use deep copies.
+*/
+
+/*!
+ \fn QStrList::~QStrList()
+
+ Destroys the list. All strings are removed.
+*/
+
+/*!
+ \fn QStrList& QStrList::operator=( const QStrList& list )
+
+ Assigns \a list to this list and returns a reference to this list.
+
+ If \a list has deep copies, this list will also get deep copies.
+ Only the pointers are copied (shallow copy) if the other list does
+ not use deep copies.
+*/
+
+
+/*****************************************************************************
+ QStrIList documentation
+ *****************************************************************************/
+
+/*!
+ \class QStrIList qstrlist.h
+ \brief The QStrIList class provides a doubly-linked list of char*
+ with case-insensitive comparison.
+
+ \ingroup collection
+ \ingroup tools
+
+ This class is a QPtrList\<char\> instance (a list of char*).
+
+ QStrIList is identical to QStrList except that the virtual
+ compareItems() function is reimplemented to compare strings
+ case-insensitively. The inSort() function inserts strings in a
+ sorted order. In general it is fastest to insert the strings as
+ they come and sort() at the end; inSort() is useful when you just
+ have to add a few extra strings to an already sorted list.
+
+ The QStrListIterator class works for QStrIList.
+
+ \sa QStringList
+*/
+
+/*!
+ \fn QStrIList::QStrIList( bool deepCopies )
+
+ Constructs a list of strings. Will make deep copies of all
+ inserted strings if \a deepCopies is TRUE, or use shallow copies
+ if \a deepCopies is FALSE.
+*/
+
+/*!
+ \fn QStrIList::~QStrIList()
+
+ Destroys the list. All strings are removed.
+*/
+
+/*!
+ \fn int QPtrList::compareItems( QPtrCollection::Item item1,
+ QPtrCollection::Item item2 )
+
+ This virtual function compares two list items.
+
+ Returns:
+ \list
+ \i zero if \a item1 == \a item2
+ \i nonzero if \a item1 != \a item2
+ \endlist
+
+ This function returns \e int rather than \e bool so that
+ reimplementations can return three values and use it to sort by:
+
+ \list
+ \i 0 if \a item1 == \a item2
+ \i \> 0 (positive integer) if \a item1 \> \a item2
+ \i \< 0 (negative integer) if \a item1 \< \a item2
+ \endlist
+
+ inSort() requires that compareItems() is implemented as described
+ here.
+
+ This function should not modify the list because some const
+ functions call compareItems().
+
+ The default implementation compares the pointers.
+*/
+
+/*!
+ \fn QDataStream& QPtrList::read( QDataStream& s,
+ QPtrCollection::Item& item )
+
+ Reads a list item from the stream \a s and returns a reference to
+ the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QPtrList::write( QDataStream& s,
+ QPtrCollection::Item item ) const
+
+ Writes a list item, \a item to the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation does nothing.
+
+ \sa read()
+*/
+
+/*! \fn iterator QPtrList::begin()
+\internal
+*/
+/*! \fn const_iterator QPtrList::begin() const
+\internal
+*/
+/*! \fn iterator QPtrList::end()
+\internal
+*/
+/*! \fn const_iterator QPtrList::end() const
+\internal
+*/
+
+/*****************************************************************************
+ QStrListIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QStrListIterator qstrlist.h
+ \brief The QStrListIterator class is an iterator for the QStrList
+ and QStrIList classes.
+
+ \ingroup tools
+
+ This class is a QPtrListIterator\<char\> instance. It can traverse
+ the strings in the QStrList and QStrIList classes.
+*/
+
+
+/*****************************************************************************
+ QPtrListAutoDelete documentation
+ *****************************************************************************/
+/*
+ \class QPtrListAutoDelete
+ \brief The QPtrListAutoDelete class is a template class that provides a list that auto-deletes its data.
+
+ \ingroup collection
+ \ingroup tools
+
+ A QPtrListAutoDelete is identical to a QPtrList with
+ setAutoDelete(TRUE).
+*/
diff --git a/doc/qptrqueue.doc b/doc/qptrqueue.doc
new file mode 100644
index 0000000..fbacc25
--- /dev/null
+++ b/doc/qptrqueue.doc
@@ -0,0 +1,230 @@
+/****************************************************************************
+**
+** QPtrQueue class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*!
+ \class QPtrQueue
+ \brief The QPtrQueue class is a template class that provides a queue.
+
+ \ingroup collection
+ \ingroup tools
+
+ QValueVector can be used as an STL-compatible alternative to this
+ class.
+
+ A template instance QPtrQueue\<X\> is a queue that operates on
+ pointers to X (X*).
+
+ A queue is a first in, first out structure. Items are added to the
+ tail of the queue with enqueue() and retrieved from the head with
+ dequeue(). You can peek at the head item without dequeing it using
+ head().
+
+ You can control the queue's deletion policy with setAutoDelete().
+
+ For compatibility with the QPtrCollection classes, current() and
+ remove() are provided; both operate on the head().
+
+ \sa QPtrList QPtrStack
+*/
+
+/*!
+ \fn QPtrQueue::QPtrQueue ()
+
+ Creates an empty queue with autoDelete() set to FALSE.
+*/
+
+/*!
+ \fn QPtrQueue::QPtrQueue( const QPtrQueue<type>& queue )
+
+ Creates a queue from \a queue.
+
+ Only the pointers are copied; the items are not. The autoDelete()
+ flag is set to FALSE.
+*/
+
+/*!
+ \fn QPtrQueue::~QPtrQueue()
+
+ Destroys the queue. Items in the queue are deleted if autoDelete()
+ is TRUE.
+*/
+
+/*!
+ \fn QPtrQueue<type>& QPtrQueue::operator= (const QPtrQueue<type>& queue)
+
+ Assigns \a queue to this queue and returns a reference to this
+ queue.
+
+ This queue is first cleared and then each item in \a queue is
+ enqueued to this queue. Only the pointers are copied.
+
+ \warning The autoDelete() flag is not modified. If it it TRUE for
+ both \a queue and this queue, deleting the two lists will cause \e
+ double-deletion of the items.
+*/
+
+/*!
+ \fn bool QPtrQueue::isEmpty() const
+
+ Returns TRUE if the queue is empty; otherwise returns FALSE.
+
+ \sa count() dequeue() head()
+*/
+
+/*!
+ \fn void QPtrQueue::enqueue (const type* d)
+
+ Adds item \a d to the tail of the queue.
+
+ \sa count() dequeue()
+*/
+
+/*!
+ \fn type* QPtrQueue::dequeue ()
+
+ Takes the head item from the queue and returns a pointer to it.
+ Returns 0 if the queue is empty.
+
+ \sa enqueue() count()
+*/
+
+/*!
+ \fn bool QPtrQueue::remove()
+
+ Removes the head item from the queue, and returns TRUE if there
+ was an item, i.e. the queue wasn't empty; otherwise returns FALSE.
+
+ The item is deleted if autoDelete() is TRUE.
+
+ \sa head() isEmpty() dequeue()
+*/
+
+/*!
+ \fn void QPtrQueue::clear()
+
+ Removes all items from the queue, and deletes them if autoDelete()
+ is TRUE.
+
+ \sa remove()
+*/
+
+/*!
+ \fn uint QPtrQueue::count() const
+
+ Returns the number of items in the queue.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn type* QPtrQueue::head() const
+
+ Returns a pointer to the head item in the queue. The queue is not
+ changed. Returns 0 if the queue is empty.
+
+ \sa dequeue() isEmpty()
+*/
+
+/*!
+ \fn QPtrQueue::operator type*() const
+
+ Returns a pointer to the head item in the queue. The queue is not
+ changed. Returns 0 if the queue is empty.
+
+ \sa dequeue() isEmpty()
+*/
+
+/*!
+ \fn type* QPtrQueue::current() const
+
+ Returns a pointer to the head item in the queue. The queue is not
+ changed. Returns 0 if the queue is empty.
+
+ \sa dequeue() isEmpty()
+*/
+
+/*!
+ \fn bool QPtrQueue::autoDelete() const
+
+ Returns the setting of the auto-delete option. The default is
+ FALSE.
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn void QPtrQueue::setAutoDelete( bool enable )
+
+ Sets the queue to auto-delete its contents if \a enable is TRUE
+ and not to delete them if \a enable is FALSE.
+
+ If auto-deleting is turned on, all the items in a queue are
+ deleted when the queue itself is deleted. This can be quite
+ convenient if the queue has the only pointer to the items.
+
+ The default setting is FALSE, for safety. If you turn it on, be
+ careful about copying the queue: you might find yourself with two
+ queues deleting the same items.
+
+ \sa autoDelete()
+*/
+
+/*!
+ \fn QDataStream& QPtrQueue::read( QDataStream& s,
+ QPtrCollection::Item& item )
+
+ Reads a queue item, \a item, from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QPtrQueue::write( QDataStream& s,
+ QPtrCollection::Item item ) const
+
+ Writes a queue item, \a item, to the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation does nothing.
+
+ \sa read()
+*/
diff --git a/doc/qptrstack.doc b/doc/qptrstack.doc
new file mode 100644
index 0000000..1a84f56
--- /dev/null
+++ b/doc/qptrstack.doc
@@ -0,0 +1,208 @@
+/****************************************************************************
+**
+** QPtrStack class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QPtrStack documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrStack qptrstack.h
+ \brief The QPtrStack class is a template class that provides a stack.
+
+ \ingroup tools
+
+ QValueStack is an STL-compatible alternative to this class.
+
+ Define a template instance QPtrStack\<X\> to create a stack that
+ operates on pointers to X, (X*).
+
+ A stack is a last in, first out (LIFO) structure. Items are added
+ to the top of the stack with push() and retrieved from the top
+ with pop(). Use top() to get a reference to the top element
+ without changing the stack.
+
+ You can control the stack's deletion policy with setAutoDelete().
+
+ For compatibility with the QPtrCollection classes current() and
+ remove() are provided; they both operate on the top().
+
+ \sa QPtrList QPtrQueue
+*/
+
+/*!
+ \fn QPtrStack::QPtrStack ()
+
+ Creates an empty stack.
+*/
+
+/*!
+ \fn QPtrStack::QPtrStack (const QPtrStack<type>& s)
+
+ Creates a stack by making a shallow copy of another stack \a s.
+*/
+
+/*!
+ \fn QPtrStack::~QPtrStack ()
+
+ Destroys the stack. All items will be deleted if autoDelete() is
+ TRUE.
+*/
+
+/*!
+ \fn QPtrStack<type>& QPtrStack::operator= (const QPtrStack<type>& s)
+
+ Sets the contents of this stack by making a shallow copy of
+ another stack \a s. Elements currently in this stack will be
+ deleted if autoDelete() is TRUE.
+*/
+
+/*!
+ \fn bool QPtrStack::isEmpty () const
+
+ Returns TRUE if the stack contains no elements; otherwise returns
+ FALSE.
+*/
+
+/*!
+ \fn void QPtrStack::push (const type* d)
+
+ Adds an element \a d to the top of the stack. Last in, first out.
+*/
+
+/*!
+ \fn type* QPtrStack::pop ()
+
+ Removes the top item from the stack and returns it. The stack must
+ not be empty.
+*/
+
+/*!
+ \fn bool QPtrStack::remove ()
+
+ Removes the top item from the stack and deletes it if autoDelete()
+ is TRUE. Returns TRUE if there was an item to pop; otherwise
+ returns FALSE.
+
+ \sa clear()
+*/
+
+/*!
+ \fn void QPtrStack::clear()
+
+ Removes all items from the stack, deleting them if autoDelete() is
+ TRUE.
+
+ \sa remove()
+*/
+
+/*!
+ \fn uint QPtrStack::count() const
+
+ Returns the number of items in the stack.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn type* QPtrStack::top () const
+
+ Returns a pointer to the top item on the stack (most recently
+ pushed). The stack is not changed. Returns 0 if the stack is
+ empty.
+*/
+
+/*!
+ \fn QPtrStack::operator type* ()const
+
+ Returns a pointer to the top item on the stack (most recently
+ pushed). The stack is not changed. Returns 0 if the stack is
+ empty.
+*/
+
+/*!
+ \fn type* QPtrStack::current () const
+
+ Returns a pointer to the top item on the stack (most recently
+ pushed). The stack is not changed. Returns 0 if the stack is
+ empty.
+*/
+
+/*!
+ \fn bool QPtrStack::autoDelete() const
+
+ The same as QPtrCollection::autoDelete().
+
+ \sa setAutoDelete()
+*/
+
+/*!
+ \fn void QPtrStack::setAutoDelete( bool enable )
+
+ Defines whether this stack auto-deletes its contents. The same as
+ QPtrCollection::setAutoDelete().
+
+ If \a enable is TRUE the stack auto-deletes its contents; if \a
+ enable is FALSE the stack does not delete its contents.
+
+ \sa autoDelete()
+*/
+
+/*!
+ \fn QDataStream& QPtrStack::read( QDataStream& s,
+ QPtrCollection::Item& item )
+
+ Reads a stack item, \a item, from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QPtrStack::write( QDataStream& s,
+ QPtrCollection::Item item ) const
+
+ Writes a stack item, \a item, to the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation does nothing.
+
+ \sa read()
+*/
diff --git a/doc/qptrvector.doc b/doc/qptrvector.doc
new file mode 100644
index 0000000..4043fe4
--- /dev/null
+++ b/doc/qptrvector.doc
@@ -0,0 +1,431 @@
+/****************************************************************************
+**
+** QPtrVector class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QPtrVector documentation
+ *****************************************************************************/
+
+/*!
+ \class QPtrVector qptrvector.h
+ \brief The QPtrVector class is a template collection class that
+ provides a vector (array).
+
+ \ingroup tools
+
+ \important autoDelete setAutoDelete
+
+ QValueVector is an STL-compatible alternative to this class.
+
+ QPtrVector is implemented as a template class. Defines a template
+ instance QPtrVector\<X\> to create a vector that contains pointers
+ to X (X*).
+
+ A vector is the same as an array. The main difference between
+ QPtrVector and QMemArray is that QPtrVector stores pointers to the
+ elements, whereas QMemArray stores the elements themselves (i.e.
+ QMemArray is value-based and QPtrVector is pointer-based).
+
+ Items are added to the vector using insert() or fill(). Items are
+ removed with remove(). You can get a pointer to an item at a
+ particular index position using at().
+
+ Unless otherwise stated, all functions that remove items from the
+ vector will also delete the element pointed to if \link
+ setAutoDelete() auto-deletion\endlink is enabled. By default,
+ auto-deletion is disabled; see setAutoDelete(). This behaviour can
+ be changed in a subclass by reimplementing the virtual function
+ deleteItem().
+
+ Functions that compare items (find() and sort() for example) will
+ do so using the virtual function compareItems(). The default
+ implementation of this function only compares the pointer values.
+ Reimplement compareItems() in a subclass to get searching and
+ sorting based on the item contents. You can perform a linear
+ search for a pointer in the vector using findRef(), or a binary
+ search (of a sorted vector) using bsearch(). You can count the
+ number of times an item appears in the vector with contains() or
+ containsRef().
+
+ \sa QMemArray
+*/
+
+/*!
+ \fn QPtrVector::QPtrVector()
+
+ Constructs a null vector.
+
+ \sa isNull()
+*/
+
+/*!
+ \fn QPtrVector::QPtrVector( uint size )
+
+ Constructs an vector with room for \a size items. Makes a null
+ vector if \a size == 0.
+
+ All \a size positions in the vector are initialized to 0.
+
+ \sa size(), resize(), isNull()
+*/
+
+/*!
+ \fn QPtrVector::QPtrVector( const QPtrVector<type> &v )
+
+ Constructs a copy of \a v. Only the pointers are copied (i.e.
+ shallow copy).
+*/
+
+/*!
+ \fn QPtrVector::~QPtrVector()
+
+ Removes all items from the vector, and destroys the vector itself.
+
+ \sa clear()
+*/
+
+/*!
+ \fn QPtrVector<type> &QPtrVector::operator=( const QPtrVector<type> &v )
+
+ Assigns \a v to this vector and returns a reference to this
+ vector.
+
+ This vector is first cleared and then all the items from \a v are
+ copied into the vector. Only the pointers are copied (i.e. shallow
+ copy).
+
+ \sa clear()
+*/
+
+/*!
+ \fn type **QPtrVector::data() const
+
+ Returns a pointer to the actual vector data, which is an array of
+ type*.
+
+ The vector is a null vector if data() == 0 (null pointer).
+
+ \sa isNull()
+*/
+
+/*!
+ \fn uint QPtrVector::size() const
+
+ Returns the size of the vector, i.e. the number of vector
+ positions. This is also the maximum number of items the vector can
+ hold.
+
+ The vector is a null vector if size() == 0.
+
+ \sa isNull(), resize(), count()
+*/
+
+/*!
+ \fn uint QPtrVector::count() const
+
+ Returns the number of items in the vector. The vector is empty if
+ count() == 0.
+
+ \sa isEmpty(), size(), isNull()
+*/
+
+/*!
+ \fn bool QPtrVector::isEmpty() const
+
+ Returns TRUE if the vector is empty; otherwise returns FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn bool QPtrVector::isNull() const
+
+ Returns TRUE if the vector is null; otherwise returns FALSE.
+
+ A null vector has size() == 0 and data() == 0.
+
+ \sa size()
+*/
+
+/*!
+ \fn bool QPtrVector::resize( uint size )
+
+ Resizes (expands or shrinks) the vector to \a size elements. The
+ vector becomes a null vector if \a size == 0.
+
+ Any items at position \a size or beyond in the vector are removed.
+ New positions are initialized to 0.
+
+ Returns TRUE if successful, i.e. if the memory was successfully
+ allocated; otherwise returns FALSE.
+
+ \sa size(), isNull()
+*/
+
+/*!
+ \fn bool QPtrVector::insert( uint i, const type *d )
+
+ Sets position \a i in the vector to contain the item \a d. \a i
+ must be less than size(). Any previous element in position \a i is
+ removed.
+
+ \sa at()
+*/
+
+/*!
+ \fn bool QPtrVector::remove( uint i )
+
+ Removes the item at position \a i in the vector, if there is one.
+ \a i must be less than size().
+
+ Returns TRUE if \a i is within range; otherwise returns FALSE.
+
+ \sa take(), at()
+*/
+
+/*!
+ \fn type* QPtrVector::take( uint i )
+
+ Returns the item at position \a i in the vector, and removes that
+ item from the vector. \a i must be less than size(). If there is
+ no item at position \a i, 0 is returned.
+
+ Unlike remove(), this function does \e not call deleteItem() for
+ the removed item.
+
+ \sa remove(), at()
+*/
+
+/*!
+ \fn void QPtrVector::clear()
+
+ Removes all items from the vector, and destroys the vector itself.
+
+ The vector becomes a null vector.
+
+ \sa isNull()
+*/
+
+/*!
+ \fn bool QPtrVector::fill( const type *d, int size )
+
+ Inserts item \a d in all positions in the vector. Any existing
+ items are removed. If \a d is 0, the vector becomes empty.
+
+ If \a size >= 0, the vector is first resized to \a size. By
+ default, \a size is -1.
+
+ Returns TRUE if successful, i.e. \a size is the same as the
+ current size, or \a size is larger and the memory has successfully
+ been allocated; otherwise returns FALSE.
+
+ \sa resize(), insert(), isEmpty()
+*/
+
+/*!
+ \fn void QPtrVector::sort()
+
+ Sorts the items in ascending order. Any empty positions will be
+ put last.
+
+ Compares items using the virtual function compareItems().
+
+ \sa bsearch()
+*/
+
+/*!
+ \fn int QPtrVector::bsearch( const type* d ) const
+
+ In a sorted array, finds the first occurrence of \a d using a
+ binary search. For a sorted array, this is generally much faster
+ than find(), which performs a linear search.
+
+ Returns the position of \a d, or -1 if \a d could not be found. \a
+ d must not be 0.
+
+ Compares items using the virtual function compareItems().
+
+ \sa sort(), find()
+*/
+
+
+/*!
+ \fn int QPtrVector::findRef( const type *d, uint i ) const
+
+ Finds the first occurrence of the item pointer \a d in the vector
+ using a linear search. The search starts at position \a i, which
+ must be less than size(). \a i is by default 0; i.e. the search
+ starts at the start of the vector.
+
+ Returns the position of \a d, or -1 if \a d could not be found.
+
+ This function does \e not use compareItems() to compare items.
+
+ Use the much faster bsearch() to search a sorted vector.
+
+ \sa find(), bsearch()
+*/
+
+/*!
+ \fn int QPtrVector::find( const type *d, uint i ) const
+
+ Finds the first occurrence of item \a d in the vector using a
+ linear search. The search starts at position \a i, which must be
+ less than size(). \a i is by default 0; i.e. the search starts at
+ the start of the vector.
+
+ Returns the position of \a d, or -1 if \a d could not be found.
+
+ Compares items using the virtual function compareItems().
+
+ Use the much faster bsearch() to search a sorted vector.
+
+ \sa findRef(), bsearch()
+*/
+
+
+/*!
+ \fn uint QPtrVector::containsRef( const type *d ) const
+
+ Returns the number of occurrences of the item pointer \a d in the
+ vector.
+
+ This function does \e not use compareItems() to compare items.
+
+ \sa findRef()
+*/
+
+/*!
+ \fn uint QPtrVector::contains( const type *d ) const
+
+ Returns the number of occurrences of item \a d in the vector.
+
+ Compares items using the virtual function compareItems().
+
+ \sa containsRef()
+*/
+
+/*!
+ \fn type *QPtrVector::operator[]( int i ) const
+
+ Returns the item at position \a i, or 0 if there is no item at
+ that position. \a i must be less than size().
+
+ Equivalent to at( \a i ).
+
+ \sa at()
+*/
+
+/*!
+ \fn type *QPtrVector::at( uint i ) const
+
+ Returns the item at position \a i, or 0 if there is no item at
+ that position. \a i must be less than size().
+*/
+
+
+/*!
+ \fn void QPtrVector::toList( QGList *list ) const
+
+ \internal
+
+ Copies all items in this vector to the list \a list. \a list is
+ first cleared and then all items are appended to \a list.
+
+ \sa QPtrList, QPtrStack, QPtrQueue
+*/
+
+/*!
+ \fn int QPtrVector::compareItems( QPtrCollection::Item d1,
+ QPtrCollection::Item d2 )
+
+ This virtual function compares two list items.
+
+ Returns:
+ \list
+ \i zero if \a d1 == \a d2
+ \i nonzero if \a d1 != \a d2
+ \endlist
+
+ This function returns \e int rather than \e bool so that
+ reimplementations can return one of three values and use it to
+ sort by:
+ \list
+ \i 0 if \a d1 == \a d2
+ \i \> 0 (positive integer) if \a d1 \> \a d2
+ \i \< 0 (negative integer) if \a d1 \< \a d2
+ \endlist
+
+ The sort() and bsearch() functions require compareItems() to be
+ implemented as described here.
+
+ This function should not modify the vector because some const
+ functions call compareItems().
+*/
+
+/*!
+ \fn QDataStream& QPtrVector::read( QDataStream &s,
+ QPtrCollection::Item &item )
+
+ Reads a vector item, \a item, from the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation sets \a item to 0.
+
+ \sa write()
+*/
+
+/*!
+ \fn QDataStream& QPtrVector::write( QDataStream &s,
+ QPtrCollection::Item item ) const
+
+ Writes a vector item, \a item, to the stream \a s and returns a
+ reference to the stream.
+
+ The default implementation does nothing.
+
+ \sa read()
+*/
+
+/*!
+ \fn bool QPtrVector::operator==( const QPtrVector<type> &v ) const
+
+ Returns TRUE if this vector and \a v are equal; otherwise returns
+ FALSE.
+*/
+
diff --git a/doc/qsortedlist.doc b/doc/qsortedlist.doc
new file mode 100644
index 0000000..32624e5
--- /dev/null
+++ b/doc/qsortedlist.doc
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** QSortedList documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+ \class QSortedList qsortedlist.h
+ \brief The QSortedList class provides a list sorted by operator< and operator==.
+
+ \obsolete
+
+ If you want to sort a QPtrList you have to reimplement the
+ QGList::compareItems() method. If the elements of your list support
+ operator<() and operator==(), you can use QSortedList instead.
+ Its compareItems() calls operator<() and operator==() and returns an
+ appropriate result.
+
+ Otherwise, this is as QPtrList.
+
+ \sa QPtrList
+*/
+
+
+/*!
+ \fn QSortedList::QSortedList()
+ Constructs an empty list.
+*/
+
+/*!
+ \fn QSortedList::QSortedList( const QSortedList<type> &list )
+ Constructs a copy of \a list.
+
+ Each item in \a list is copied to this new list.
+*/
+
+/*!
+ \fn QSortedList::~QSortedList()
+ Removes all items from the list and destroys the list.
+
+ All list iterators that access this list will be reset.
+*/
+
+/*!
+ \fn QSortedList<type>& QSortedList::operator=(const QSortedList<type>& list)
+ Assigns \a list to this list and returns a reference to this list.
+
+ This list is first cleared; each item in \a list is then
+ appended to this list. Only the pointers are copied
+ (shallow copy) unless newItem() has been reimplemented().
+*/
+
+/*!
+ \fn int QSortedList::compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 )
+
+ \reimp
+
+ This reimplementation uses operator< and operator== to compare.
+*/
diff --git a/doc/qtl.doc b/doc/qtl.doc
new file mode 100644
index 0000000..5916215
--- /dev/null
+++ b/doc/qtl.doc
@@ -0,0 +1,367 @@
+/****************************************************************************
+**
+** Qt Template Library classes documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+
+\page qt-template-lib.html
+
+\title Qt Template Library
+
+The Qt Template Library (QTL) is a set of templates that provide
+object containers. If a suitable STL implementation is not available
+on all your target platforms, the QTL can be used instead. It provides
+a list of objects, a vector (dynamic array) of objects, a map relating
+one type to another (also called a dictionary or associative array),
+and associated \link #Iterators iterators\endlink and \link
+#Algorithms algorithms\endlink. A container is an object which
+contains and manages other objects and provides iterators that allow
+the contained objects to be accessed.
+
+The QTL classes' naming conventions are consistent with the other Qt
+classes (e.g., count(), isEmpty()). They also provide extra functions
+for compatibility with STL algorithms, such as size() and empty().
+Programmers already familiar with the STL \c map can use the
+STL-compatible functions if preferred.
+
+Compared to the STL, the QTL only contains the most important features
+of the STL container API. Compared with the STL, QTL has no platform
+differences, but is often a little slower and often expands to less
+object code.
+
+If you cannot make copies of the objects you want to store you should
+use QPtrCollection and friends, all of which operate on pointers
+rather than values. This applies, for example, to all classes derived
+from \l QObject. A QObject does not have a copy constructor, so using
+it as value is impossible. You may choose to store pointers to
+QObjects in a QValueList, but using QPtrList directly seems to be the
+better choice for this kind of application domain. QPtrList, like all
+other QPtrCollection based containers, provides far more sanity
+checking than a speed-optimized value based container.
+
+If you have objects that implement value semantics, and the STL is not
+available on your target platform, the Qt Template Library can be used
+instead. Value semantics require at least:
+\list
+\i a copy constructor;
+\i an assignment operator;
+\i a defaultconstructor, i.e. a constructor that does not take any arguments.
+\endlist
+
+Note that a fast copy constructor is absolutely crucial to achieve
+good overall performance of the container, since many copy operations
+will occur.
+
+If you intend sorting your data you must implement \c{operator<()} for
+your data's class.
+
+Good candidates for value based classes are QRect, QPoint, QSize,
+QString and all simple C++ types, such as int, bool or double.
+
+The Qt Template Library is designed for speed. Iterators are extremely
+fast. To achieve this performance, less error checking is done than in
+the QPtrCollection based containers. A QTL container, for example,
+does not track any associated iterators. This makes certain validity
+checks, for example when removing items, impossible to perform
+automatically, but does lead to extremely good performance.
+
+\target Iterators
+\section1 Iterators
+
+The Qt Template Library deals with value objects, not with pointers.
+For that reason, there is no other way of iterating over containers
+other than with iterators. This is no disadvantage as the size of an
+iterator matches the size of a normal pointer.
+
+To iterate over a container, use a loop like this:
+\code
+ typedef QValueList<int> List;
+ List list;
+ for( List::Iterator it = list.begin(); it != list.end(); ++it )
+ printf( "Number is %i\n", *it );
+\endcode
+
+begin() returns the iterator pointing at the first element, while
+end() returns an iterator that points \e after the last element. end()
+marks an invalid position, so it can never be dereferenced. It's the
+break condition in any iteration, whether the start point is from
+begin() or fromLast(). For maximum speed, use increment or decrement
+iterators with the prefix operator (++it, --it) instead of the postfix
+operator (it++, it--), since the former is slightly faster.
+
+The same concept applies to the other container classes:
+\code
+ typedef QMap<QString,QString> Map;
+ Map map;
+ for( Map::iterator it = map.begin(); it != map.end(); ++it )
+ printf( "Key=%s Data=%s\n", it.key().ascii(), it.data().ascii() );
+
+ typedef QValueVector<int> Vector;
+ Vector vec;
+ for( Vector::iterator it = vec.begin(); it != vec.end(); ++it )
+ printf( "Data=%d\n", *it );
+\endcode
+
+There are two kind of iterators, the volatile iterator shown in the
+examples above and a version that returns a const reference to its
+current object, the ConstIterator. Const iterators are required
+whenever the container itself is const, such as a member variable
+inside a const function. Assigning a ConstIterator to a normal
+Iterator is not allowed as it would violate const semantics.
+
+\target Algorithms
+\section1 Algorithms
+
+The Qt Template Library defines a number of algorithms that operate on
+its containers. These algorithms are implemented as template functions
+and provide useful generic code which can be applied to any container
+that provides iterators (including your own containers).
+
+\section2 qHeapSort()
+
+qHeapSort() provides a well known sorting algorithm. You can use it
+like this:
+\code
+ typedef QValueList<int> List;
+ List list;
+ list << 42 << 100 << 1234 << 12 << 8;
+ qHeapSort( list );
+
+ List list2;
+ list2 << 42 << 100 << 1234 << 12 << 8;
+ List::Iterator b = list2.find( 100 );
+ List::Iterator e = list2.find( 8 );
+ qHeapSort( b, e );
+
+ double arr[] = { 3.2, 5.6, 8.9 };
+ qHeapSort( arr, arr + 3 );
+\endcode
+
+The first example sorts the entire list. The second example sorts only
+those elements that fall between the two iterators, i.e. 100, 1234 and
+12. The third example shows that iterators act like pointers and can
+be treated as such.
+
+If using your own data types you must implement \c{operator<()} for
+your data's class.
+
+Naturally, the sorting templates won't work with const iterators.
+
+\target qSwap
+\section2 qSwap()
+
+qSwap() exchanges the values of two variables:
+\code
+ QString second( "Einstein" );
+ QString name( "Albert" );
+ qSwap( second, name );
+\endcode
+
+\target qCount
+\section2 qCount()
+
+The qCount() template function counts the number of occurrences of a
+value within a container. For example:
+\code
+ QValueList<int> list;
+ list.push_back( 1 );
+ list.push_back( 1 );
+ list.push_back( 1 );
+ list.push_back( 2 );
+ int c = 0;
+ qCount( list.begin(), list.end(), 1, c ); // c == 3
+\endcode
+
+\target qFind
+\section2 qFind()
+
+The qFind() template function finds the first occurrence of a value
+within a container. For example:
+\code
+ QValueList<int> list;
+ list.push_back( 1 );
+ list.push_back( 1 );
+ list.push_back( 1 );
+ list.push_back( 2 );
+ QValueListIterator<int> it = qFind( list.begin(), list.end(), 2 );
+\endcode
+
+\target qFill
+\section2 qFill()
+
+The qFill() template function fills a range with copies of a value.
+For example:
+\code
+ QValueVector<int> vec(3);
+ qFill( vec.begin(), vec.end(), 99 ); // vec contains 99, 99, 99
+\endcode
+
+\target qEqual
+\section2 qEqual()
+
+The qEqual() template function compares two ranges for equality of
+their elements. Note that the number of elements in each range is not
+considered, only if the elements in the first range are equal to the
+corresponding elements in the second range (consequently, both ranges
+must be valid). For example:
+\code
+ QValueVector<int> v1(3);
+ v1[0] = 1;
+ v1[2] = 2;
+ v1[3] = 3;
+
+ QValueVector<int> v2(5);
+ v2[0] = 1;
+ v2[2] = 2;
+ v2[3] = 3;
+ v2[4] = 4;
+ v2[5] = 5;
+
+ bool b = qEqual( v1.begin(), v2.end(), v2.begin() );
+ // b == TRUE
+\endcode
+
+\target qCopy
+\section2 qCopy()
+
+The qCopy() template function copies a range of elements to an
+OutputIterator, in this case a QTextOStreamIterator:
+\code
+ QValueList<int> list;
+ list.push_back( 100 );
+ list.push_back( 200 );
+ list.push_back( 300 );
+ QTextOStream str( stdout );
+ qCopy( list.begin(), list.end(), QTextOStreamIterator(str) );
+\endcode
+
+\omit
+Here is another example which copies a range of elements from one
+container into another. It uses the qBackInserter() template function
+which creates a QBackInsertIterator<> whose job is to insert elements
+into the end of a container. For example:
+
+\code
+ QValueList<int> l;
+ l.push_back( 100 );
+ l.push_back( 200 );
+ l.push_back( 300 );
+ QValueVector<int> v;
+ qCopy( l.begin(), l.end(), qBackInserter(v) );
+\endcode
+\endomit
+
+\target qCopyBackward
+\section2 qCopyBackward()
+
+The qCopyBackward() template function copies a container or a slice of
+a container to an OutputIterator, but in reverse order, for example:
+\code
+ QValueVector<int> vec(3);
+ vec.push_back( 100 );
+ vec.push_back( 200 );
+ vec.push_back( 300 );
+ QValueVector<int> another;
+ qCopyBackward( vec.begin(), vec.end(), another.begin() );
+ // 'another' now contains 100, 200, 300
+ // however the elements are copied one at a time
+ // in reverse order (300, 200, then 100)
+\endcode
+
+\section2 QTL Iterators
+
+You can use any Qt Template Library iterator as the OutputIterator.
+Just make sure that the right hand of the iterator has as many
+elements present as you want to insert. The following example
+illustrates this:
+
+\code
+ QStringList list1, list2;
+ list1 << "Weis" << "Ettrich" << "Arnt" << "Sue";
+ list2 << "Torben" << "Matthias";
+ qCopy( list2.begin(), list2.end(), list1.begin() );
+
+ QValueVector<QString> vec( list1.size(), "Dave" );
+ qCopy( list2.begin(), list2.end(), vec.begin() );
+\endcode
+
+At the end of this code fragment, the list list1 contains "Torben",
+"Matthias", "Arnt" and "Sue", with the prior contents being
+overwritten. The vector vec contains "Torben", "Matthias", "Dave" and
+"Dave", also with the prior contents being overwritten.
+
+If you write new algorithms, consider writing them as template
+functions in order to make them usable with as many containers
+as possible. In the above example, you could just as easily print out
+a standard C++ array with qCopy():
+
+\code
+ int arr[] = { 100, 200, 300 };
+ QTextOStream str( stdout );
+ qCopy( arr, arr + 3, QTextOStreamIterator( str ) );
+\endcode
+
+\section1 Streaming
+
+All the containers we've mentioned can be serialized with the
+appropriate streaming operators. Here is an example.
+
+\code
+ QDataStream str(...);
+ QValueList<QRect> list;
+ // ... fill the list here
+ str << list;
+\endcode
+
+The container can be read in again with:
+
+\code
+ QValueList<QRect> list;
+ str >> list;
+\endcode
+
+The same applies to QStringList, QValueStack and QMap.
+*/
+
+/*!
+ \fn QPair qMakePair(T1 t1, T2 t2)
+
+ \relates QPair
+
+ This is a template convenience function. It is used to create a
+ QPair\<\> object that contains \a t1 and \a t2.
+*/
diff --git a/doc/qtmac-as-native.doc b/doc/qtmac-as-native.doc
new file mode 100644
index 0000000..8312503
--- /dev/null
+++ b/doc/qtmac-as-native.doc
@@ -0,0 +1,163 @@
+/****************************************************************************
+**
+** Qt/Mac documentation
+**
+** Copyright (C) 2002-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+
+\page qtmac-as-native.html
+
+\title Qt/Mac is Mac OS X Native
+
+This document explains what makes an application "native" on Mac OS X.
+It shows the areas where Qt/Mac is compliant, and the grey areas where
+compliance is more questionable. (See also the document
+\link mac-differences.html Qt/Mac Issues\endlink.)
+
+Normally when referring to a native application, one really means an
+application that talks directly to the underlying window system and
+operating system, rather than one that uses some intermediary (for
+example the X11 server, or a web browser). Qt/Mac applications run as
+first class citizens, just like Cocoa, Java, and Carbon applications.
+
+When an application is running as a first class citizen it means that
+it can interact with specific components of the Mac OS X experience:
+
+\list
+\i <b>The global menubar</b><br>
+
+ Qt/Mac does this via the QMenuBar abstraction. Mac users expect to
+ have a menubar at the top of the screen and Qt/Mac honors this.
+
+ Additionally, users expect certain conventions to be respected, for
+ example the application menu should contain About, Preferences,
+ Quit, etc. Qt/Mac handles this automatically, although it does not
+ provide a means of interacting directly with the application menu.
+ (By doing this automatically, Qt/Mac makes it easier to port Qt/Mac
+ applications to other platforms.)
+
+\i <b>Aqua</b><br>
+
+ This is a critical piece of Mac OS X (documentation can be found at
+ \l{http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html}).
+ It is a huge topic, but the most important guidelines for GUI
+ design are probably these:
+
+ \list
+ \i \e{Aqua look}<br>
+
+ As with Cocoa/Carbon Qt/Mac provides widgets that look like
+ those described in the Human Interface Descriptions. Qt/Mac's
+ widgets use the Appearance Manager to implement the look, so
+ Apple's own API's are doing the rendering (Qt/Mac \<3.1 used an
+ emulation style with pixmaps, however this quickly proved to be
+ cumbersome, and unable to keep up with style changes at Apple).
+
+ \i \e{Aqua feel}<br>
+
+ This is a bit more subjective, but certainly Qt/Mac strives to
+ provide the same feel as any Mac OS X application (and we
+ consider situations where it doesn't achieve this to be bugs).
+ Of course Qt has other concerns to bear in mind, especially
+ remaining multiplatform. Some "baggage" that Qt carries is in
+ an effort to provide a widget on a platform for which an
+ equivelant doesn't exist, or so that a single API can be used to
+ do something, even if the API doesn't make entire sense for a
+ specific widget (for example pushbuttons with a popup menu are
+ really bevel buttons in Mac OS X, but Qt/Mac cannot guess that
+ this bevel button is right next to other real pushbuttons).
+
+ \i \e{Aqua guides}<br>
+
+ This is the most subjective, but there are many suggestions and
+ guidelines in the Aqua style guidelines. This is the area where
+ Qt/Mac is of least assistance. The decisions that must be made
+ to conform (widget sizes, widget layouts with respect to other
+ widgets, window margins, etc) must be made based on the user
+ experience demanded by your application. If your user base is
+ small or mostly comes from the Windows or Unix worlds, these are
+ minor issues much less important than trying to make a mass
+ market product. Qt/Mac is fully API compatible with Qt/Windows
+ and Qt/X11, but Mac OS X is a significantly different platform
+ to Windows and some special considerations must be made based on
+ your audience.
+
+ \endlist
+
+\i <b>Dock</b><br>
+
+ Interaction with the dock is limited, but at the very least the icon
+ should be able to be interacted with. This can be achieved with
+ QWidget::setIcon(). The setIcon() call can be made as often as
+ necessary, so can be used to provide a constantly updating pixmap
+ that works as expected.
+
+\i <b>Accessiblity</b><br>
+
+ Although many users never use this, some users will only interact
+ with your applications via assistive devices. With Qt the aim is to
+ make this automatic in your application so that it conforms to
+ accepted practice on its platform (X11 accessiblity support is
+ still in the works due to the developing nature of its
+ accessibility design). With Qt 3.3 Qt/Mac will support
+ accessiblity, and hopefully a host of assistive devices.
+
+\i <b>Build tools</b><br>
+
+ Mac OS X developers expect a certain level of interopability
+ between their development toolkit and the platform's developer
+ tools (for example MSVC, gmake, etc). Qt/Mac supports both Unix
+ style Makefiles, and ProjectBuilder/Xcode project files by using
+ the qmake tool. For example:
+
+ \code
+ qmake -spec macx-pbuilder project.pro
+ \endcode
+
+ will generate an Xcode project file from project.pro. With qmake
+ you do not have to worry about rules for Qt's preprocessors (moc
+ and uic) since qmake automatically handles them and ensures that
+ everything necessary is linked into your application.
+
+ Qt does not entirely interact with the development environment (for
+ example plugins to set a file to 'mocable' from within the Xcode
+ user interface). Trolltech is actively working on improving Qt's
+ interoperability with various IDEs, so hopefully this will be
+ supported soon.
+
+\endlist
+
+*/
diff --git a/doc/qvaluelist.doc b/doc/qvaluelist.doc
new file mode 100644
index 0000000..6a8a70e
--- /dev/null
+++ b/doc/qvaluelist.doc
@@ -0,0 +1,1200 @@
+/****************************************************************************
+**
+** QValueList and QValueListIterator class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QValueList documentation
+ *****************************************************************************/
+
+/*!
+ \class QValueList qvaluelist.h
+ \brief The QValueList class is a value-based template class that
+ provides lists.
+
+ \ingroup qtl
+ \ingroup tools
+ \ingroup shared
+ \mainclass
+ \reentrant
+
+ QValueList is a Qt implementation of an STL-like list container.
+ It can be used in your application if the standard \c list is not
+ available for your target platform(s). QValueList is part of the
+ \link qtl.html Qt Template Library\endlink.
+
+ QValueList\<T\> defines a template instance to create a list of
+ values that all have the class T. Note that QValueList does not
+ store pointers to the members of the list; it holds a copy of
+ every member. This is why these kinds of classes are called "value
+ based"; QPtrList and QDict are "pointer based".
+
+ QValueList contains and manages a collection of objects of type T
+ and provides iterators that allow the contained objects to be
+ addressed. QValueList owns the contained items. For more relaxed
+ ownership semantics, see QPtrCollection and friends which are
+ pointer-based containers.
+
+ Some classes cannot be used within a QValueList, for example, all
+ classes derived from QObject and thus all classes that implement
+ widgets. Only values can be used in a QValueList. To qualify as a
+ value the class must provide:
+ \list
+ \i a copy constructor;
+ \i an assignment operator;
+ \i a default constructor, i.e. a constructor that does not take any arguments.
+ \endlist
+
+ Note that C++ defaults to field-by-field assignment operators and
+ copy constructors if no explicit version is supplied. In many
+ cases this is sufficient.
+
+ In addition, some compilers (e.g. Sun CC) might require that the
+ class provides an equality operator (operator==()).
+
+ QValueList's function naming is consistent with the other Qt
+ classes (e.g. count(), isEmpty()). QValueList also provides extra
+ functions for compatibility with STL algorithms, such as size()
+ and empty(). Programmers already familiar with the STL \c list may
+ prefer to use the STL-compatible functions.
+
+ Example:
+ \code
+ class Employee
+ {
+ public:
+ Employee(): sn(0) {}
+ Employee( const QString& forename, const QString& surname, int salary )
+ : fn(forename), sn(surname), sal(salary)
+ {}
+
+ QString forename() const { return fn; }
+ QString surname() const { return sn; }
+ int salary() const { return sal; }
+ void setSalary( int salary ) { sal = salary; }
+
+ private:
+ QString fn;
+ QString sn;
+ int sal;
+ };
+
+ typedef QValueList<Employee> EmployeeList;
+ EmployeeList list;
+
+ list.append( Employee("John", "Doe", 50000) );
+ list.append( Employee("Jane", "Williams", 80000) );
+ list.append( Employee("Tom", "Jones", 60000) );
+
+ Employee mary( "Mary", "Hawthorne", 90000 );
+ list.append( mary );
+ mary.setSalary( 100000 );
+
+ EmployeeList::iterator it;
+ for ( it = list.begin(); it != list.end(); ++it )
+ cout << (*it).surname().latin1() << ", " <<
+ (*it).forename().latin1() << " earns " <<
+ (*it).salary() << endl;
+
+ // Output:
+ // Doe, John earns 50000
+ // Williams, Jane earns 80000
+ // Hawthorne, Mary earns 90000
+ // Jones, Tom earns 60000
+ \endcode
+
+
+ Notice that the latest changes to Mary's salary did not affect the
+ value in the list because the list created a copy of Mary's entry.
+
+ There are several ways to find items in the list. The begin() and
+ end() functions return iterators to the beginning and end of the
+ list. The advantage of getting an iterator is that you can move
+ forward or backward from this position by
+ incrementing/decrementing the iterator. The iterator returned by
+ end() points to the item which is one \e past the last item in the
+ container. The past-the-end iterator is still associated with the
+ list it belongs to, however it is \e not dereferenceable;
+ operator*() will not return a well-defined value. If the list is
+ empty(), the iterator returned by begin() will equal the iterator
+ returned by end().
+
+ Another way to find an item in the list is by using the \link
+ qtl.html#qFind qFind()\endlink algorithm. For example:
+
+ \code
+ QValueList<int> list;
+ ...
+ QValueList<int>::iterator it = qFind( list.begin(), list.end(), 3 );
+ if ( it != list.end() )
+ // it points to the found item
+ \endcode
+
+ It is safe to have multiple iterators a the list at the same
+ time. If some member of the list is removed, only iterators
+ pointing to the removed member become invalid. Inserting into the
+ list does not invalidate any iterator. For convenience, the
+ function last() returns a reference to the last item in the list,
+ and first() returns a reference to the the first item. If the
+ list is empty(), both last() and first() have undefined behavior
+ (your application will crash or do unpredictable things). Use
+ last() and first() with caution, for example:
+
+ \code
+ QValueList<int> list;
+ list.append( 1 );
+ list.append( 2 );
+ list.append( 3 );
+ ...
+ if ( !list.empty() ) {
+ // OK, modify the first item
+ int& i = list.first();
+ i = 18;
+ }
+ ...
+ QValueList<double> dlist;
+ double d = dlist.last(); // undefined
+ \endcode
+
+ Because QValueList is value-based there is no need to be careful
+ about deleting items in the list. The list holds its own copies
+ and will free them if the corresponding member or the list itself
+ is deleted. You can force the list to free all of its items with
+ clear().
+
+ QValueList is shared implicitly, which means it can be copied in
+ constant time, i.e. O(1). If multiple QValueList instances share
+ the same data and one needs to modify its contents, this modifying
+ instance makes a copy and modifies its private copy; therefore it
+ does not affect the other instances; this takes O(n) time. This is
+ often called "copy on write". If a QValueList is being used in a
+ multi-threaded program, you must protect all access to the list.
+ See \l QMutex.
+
+ There are several ways to insert items into the list. The
+ prepend() and append() functions insert items at the beginning and
+ the end of the list respectively. The insert() function comes in
+ several flavors and can be used to add one or more items at
+ specific positions within the list.
+
+ Items can also be removed from the list in several ways. There
+ are several variants of the remove() function, which removes a
+ specific item from the list. The remove() function will find and
+ remove items according to a specific item value.
+
+ Lists can also be sorted using the \link qtl.html Qt Template
+ Library\endlink. For example with qHeapSort():
+
+ Example:
+ \code
+ QValueList<int> list;
+ list.append( 5 );
+ list.append( 8 );
+ list.append( 3 );
+ list.append( 4 );
+ qHeapSort( list );
+ \endcode
+
+ \sa QValueListIterator
+*/
+
+/*! \enum QValueList::iterator
+ The list's iterator type, QValueListIterator. */
+/*! \enum QValueList::const_iterator
+ The list's const iterator type, QValueListConstIterator. */
+/*! \enum QValueList::value_type
+ The type of the object stored in the list, T. */
+/*! \enum QValueList::pointer
+ The pointer to T type. */
+/*! \enum QValueList::const_pointer
+ The const pointer to T type. */
+/*! \enum QValueList::reference
+ The reference to T type. */
+/*! \enum QValueList::const_reference
+ The const reference to T type. */
+/*! \enum QValueList::size_type
+ An unsigned integral type, used to represent various sizes. */
+/*! \enum QValueList::difference_type
+ \internal
+*/
+/*! \enum QValueList::ValueType
+ \internal
+*/
+/*!
+ \fn QValueList::QValueList()
+
+ Constructs an empty list.
+*/
+
+/*!
+ \fn QValueList::QValueList( const QValueList<T>& l )
+
+ Constructs a copy of \a l.
+
+ This operation takes O(1) time because QValueList is implicitly
+ shared.
+
+ The first modification to a list will take O(n) time.
+*/
+
+/*!
+ \fn QValueList::QValueList( const std::list<T>& l )
+
+ Contructs a copy of \a l.
+
+ This constructor is provided for compatibility with STL
+ containers.
+*/
+
+/*!
+ \fn QValueList::~QValueList()
+
+ Destroys the list. References to the values in the list and all
+ iterators of this list become invalidated. Note that it is
+ impossible for an iterator to check whether or not it is valid:
+ QValueList is highly tuned for performance, not for error
+ checking.
+*/
+
+/*! \enum QValueListIterator::NodePtr
+ \internal */
+/*! \enum QValueListIterator::iterator_category
+ \internal */
+/*! \enum QValueListIterator::size_type
+ \internal */
+/*! \enum QValueListIterator::difference_type
+ \internal */
+/*!
+ \fn QValueListIterator::QValueListIterator( NodePtr p )
+ \internal
+*/
+
+/*!
+ \fn bool QValueList::operator== ( const QValueList<T>& l ) const
+
+ Compares both lists.
+
+ Returns TRUE if this list and \a l are equal; otherwise returns
+ FALSE.
+*/
+
+/*!
+ \fn bool QValueList::operator== ( const std::list<T>& l ) const
+
+ \overload
+
+ Returns TRUE if this list and \a l are equal; otherwise returns
+ FALSE.
+
+ This operator is provided for compatibility with STL containers.
+*/
+
+/*!
+ \fn QValueList<T>& QValueList::operator= ( const QValueList<T>& l )
+
+ Assigns \a l to this list and returns a reference to this list.
+
+ All iterators of the current list become invalidated by this
+ operation. The cost of such an assignment is O(1) since QValueList
+ is implicitly shared.
+*/
+
+/*!
+ \fn QValueList<T>& QValueList::operator= ( const std::list<T>& l )
+
+ \overload
+
+ Assigns the contents of \a l to the list.
+
+ All iterators of the current list become invalidated by this
+ operation.
+*/
+
+/*!
+ \fn bool QValueList::operator!= ( const QValueList<T>& l ) const
+
+ Compares both lists.
+
+ Returns TRUE if this list and \a l are unequal; otherwise returns
+ FALSE.
+*/
+
+/*!
+ \fn iterator QValueList::insert( iterator it, const T& x )
+
+ Inserts the value \a x in front of the item pointed to by the
+ iterator, \a it.
+
+ Returns an iterator pointing at the inserted item.
+
+ \sa append(), prepend()
+*/
+
+/*!
+ \fn uint QValueList::remove( const T& x )
+
+ \overload
+
+ Removes all items that have value \a x and returns the number of
+ removed items.
+*/
+
+/*!
+ \fn void QValueList::clear()
+
+ Removes all items from the list.
+
+ \sa remove()
+*/
+
+/*!
+ \fn iterator QValueList::begin()
+
+ \overload
+
+ Returns an iterator pointing to the first item in the list. This
+ iterator equals end() if the list is empty.
+
+ \sa first(), end()
+*/
+
+/*!
+ \fn const_iterator QValueList::begin() const
+
+ Returns an iterator pointing to the first item in the list. This
+ iterator equals end() if the list is empty.
+
+ \sa first(), end(), constBegin()
+*/
+
+/*!
+ \fn const_iterator QValueList::constBegin() const
+
+ Returns an iterator pointing to the first item in the list. This
+ iterator equals constEnd() if the list is empty.
+
+ \sa begin()
+*/
+
+/*!
+ \fn iterator QValueList::end()
+
+ Returns an iterator pointing \e past the last item in the list.
+ This iterator equals begin() if the list is empty.
+
+ \sa last(), begin(), constEnd()
+*/
+
+/*!
+ \fn const_iterator QValueList::end() const
+
+ \overload
+
+ Returns an iterator pointing \e past the last item in the list.
+ This iterator equals begin() if the list is empty.
+
+ \sa last(), begin()
+*/
+
+/*!
+ \fn const_iterator QValueList::constEnd() const
+
+ Returns an iterator pointing \e past the last item in the list.
+ This iterator equals constBegin() if the list is empty.
+
+ \sa end()
+*/
+
+/*!
+ \fn QDataStream& operator>>( QDataStream& s, QValueList<T>& l )
+
+ \relates QValueList
+
+ Reads a list, \a l, from the stream \a s. The type T stored in the
+ list must implement the streaming operator.
+*/
+
+/*!
+ \fn QDataStream& operator<<( QDataStream& s, const QValueList<T>& l )
+
+ \overload
+ \relates QValueList
+
+ Writes a list, \a l, to the stream \a s. The type T stored in the
+ list must implement the streaming operator.
+*/
+
+/*!
+ \fn size_type QValueList::size() const
+
+ Returns the number of items in the list.
+
+ This function is provided for STL compatibility. It is equivalent
+ to count().
+
+ \sa empty()
+*/
+
+/*!
+ \fn bool QValueList::empty() const
+
+ Returns TRUE if the list contains no items; otherwise returns
+ FALSE.
+
+ \sa size()
+*/
+
+/*!
+ \fn void QValueList::push_front( const T& x )
+
+ Inserts \a x at the beginning of the list.
+
+ This function is provided for STL compatibility. It is equivalent
+ to prepend().
+*/
+
+/*!
+ \fn void QValueList::push_back( const T& x )
+
+ Inserts \a x at the end of the list.
+
+ This function is provided for STL compatibility. It is equivalent
+ to append().
+*/
+
+/*!
+ \fn iterator QValueList::erase( iterator it )
+
+ Removes the item pointed to by \a it from the list. No iterators
+ other than \a it or other iterators pointing at the same item as
+ \a it are invalidated. Returns an iterator to the next item after
+ \a it, or end() if there is no such item.
+
+ This function is provided for STL compatibility. It is equivalent
+ to remove().
+*/
+
+/*!
+ \fn iterator QValueList::erase( iterator first, iterator last )
+
+ \overload
+
+ Deletes all items from \a first to \a last (not including \a
+ last). No iterators are invalidated, except those pointing to the
+ removed items themselves. Returns \a last.
+*/
+
+/*!
+ \fn reference QValueList::front()
+
+ Returns a reference to the first item. If the list contains no
+ first item (i.e. empty() returns TRUE), the return value is
+ undefined.
+
+ This function is provided for STL compatibility. It is equivalent
+ to first().
+
+ \sa back()
+*/
+
+/*!
+ \fn const_reference QValueList::front() const
+
+ \overload
+*/
+
+/*!
+ \fn reference QValueList::back()
+
+ Returns a reference to the last item. If the list contains no last
+ item (i.e. empty() returns TRUE), the return value is undefined.
+
+ This function is provided for STL compatibility. It is equivalent
+ to last().
+
+ \sa front()
+*/
+
+/*!
+ \fn const_reference QValueList::back() const
+
+ \overload
+*/
+
+/*!
+ \fn void QValueList::pop_front()
+
+ Removes the first item. If there is no first item, this operation
+ is undefined.
+
+ This function is provided for STL compatibility.
+*/
+
+/*!
+ \fn void QValueList::pop_back()
+
+ Removes the last item. If there is no last item, this operation is
+ undefined.
+
+ This function is provided for STL compatibility.
+*/
+
+/*!
+ \fn void QValueList::insert( iterator pos, size_type n, const T& x )
+
+ \overload
+
+ Inserts \a n copies of \a x before position \a pos.
+*/
+
+/*!
+ \fn void QValueList::detach()
+ \internal
+*/
+
+/*!
+ \fn QValueList<T>& QValueList::operator<< ( const T& x )
+
+ Adds the value \a x to the end of the list.
+
+ Returns a reference to the list.
+*/
+
+/*!
+ \fn const T& QValueList::operator[] ( size_type i ) const
+
+ Returns a const reference to the item with index \a i in the list.
+ It is up to you to check whether this item really exists. You can
+ do that easily with the count() function. However this operator
+ does not check whether \a i is in range and will deliver undefined
+ results if it does not exist.
+
+ \warning This function uses a linear search and can be extremely
+ slow for large lists. QValueList is not optimized for random item
+ access. If you need random access use a different container, such
+ as QValueVector.
+*/
+
+/*!
+ \fn T& QValueList::operator[] ( size_type i )
+
+ \overload
+
+ Returns a non-const reference to the item with index \a i.
+*/
+
+/*!
+ \fn const_iterator QValueList::at( size_type i ) const
+
+ Returns an iterator pointing to the item at position \a i in the
+ list, or an undefined value if the index is out of range.
+
+ \warning This function uses a linear search and can be extremely
+ slow for large lists. QValueList is not optimized for random item
+ access. If you need random access use a different container, such
+ as QValueVector.
+*/
+
+/*!
+ \fn iterator QValueList::at( size_type i )
+
+ \overload
+
+ Returns an iterator pointing to the item at position \a i in the
+ list, or an undefined value if the index is out of range.
+
+*/
+
+/*!
+ \fn iterator QValueList::fromLast()
+
+ \overload
+
+ Returns an iterator to the last item in the list, or end() if
+ there is no last item.
+
+ Use the end() function instead. For example:
+
+ \code
+ QValueList<int> l;
+ ...
+ QValueList<int>::iterator it = l.end();
+ --it;
+ if ( it != end() )
+ // ...
+ \endcode
+
+*/
+
+/*!
+ \fn const_iterator QValueList::fromLast() const
+
+ Returns an iterator to the last item in the list, or end() if
+ there is no last item.
+
+ Use the end() function instead. For example:
+
+ \code
+ QValueList<int> l;
+ ...
+ QValueList<int>::iterator it = l.end();
+ --it;
+ if ( it != end() )
+ // ...
+ \endcode
+
+*/
+
+/*!
+ \fn QValueList<T> QValueList::operator+( const QValueList<T>& l ) const
+
+ Creates a new list and fills it with the items of this list. Then
+ the items of \a l are appended. Returns the new list.
+*/
+
+/*!
+ \fn QValueList<T>& QValueList::operator+= ( const QValueList<T>& l )
+
+ Appends the items of \a l to this list. Returns a reference to
+ this list.
+*/
+
+/*!
+ \fn QValueList<T>& QValueList::operator+= ( const T& x )
+
+ \overload
+
+ Appends the value \a x to the list. Returns a reference to the
+ list.
+*/
+
+/*!
+ \fn uint QValueList::count() const
+
+ Returns the number of items in the list.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QValueList::isEmpty() const
+
+ Returns TRUE if the list contains no items; otherwise returns
+ FALSE.
+
+ \sa count()
+*/
+
+/*!
+ \fn iterator QValueList::append( const T& x )
+
+ Inserts \a x at the end of the list.
+
+ \sa insert(), prepend()
+*/
+
+/*!
+ \fn iterator QValueList::prepend( const T& x )
+
+ Inserts \a x at the beginning of the list.
+
+ \sa insert(), append()
+*/
+
+/*!
+ \fn iterator QValueList::remove( iterator it )
+
+ Removes the item pointed to by \a it from the list. No iterators
+ other than \a it or other iterators pointing at the same item as
+ \a it are invalidated. Returns an iterator to the next item after
+ \a it, or end() if there is no such item.
+
+ \sa clear()
+*/
+
+/*!
+ \fn iterator QValueList::find( const T& x )
+
+ Returns an iterator pointing to the first occurrence of \a x in
+ the list.
+
+ Returns end() is no item matched.
+*/
+
+/*!
+ \fn const_iterator QValueList::find( const T& x ) const
+
+ \overload
+
+ Returns an iterator pointing to the first occurrence of \a x in
+ the list.
+
+ Returns end() if no item matched.
+*/
+
+/*!
+ \fn iterator QValueList::find( iterator it, const T& x )
+
+ \overload
+
+ Finds the first occurrence of \a x in the list starting at the
+ position given by \a it.
+
+ Returns end() if no item matched.
+*/
+
+/*!
+ \fn const_iterator QValueList::find( const_iterator it, const T& x ) const
+
+ \overload
+
+ Finds the first occurrence of \a x in the list starting at the
+ position given by \a it.
+
+ Returns end() if no item matched.
+*/
+
+/*!
+ \fn uint QValueList::contains( const T& x ) const
+
+ Returns the number of occurrences of the value \a x in the list.
+*/
+
+/*!
+ \fn int QValueList::findIndex( const T& x ) const
+
+ Returns the index of the first occurrence of the value \a x.
+ Returns -1 if no item matched.
+*/
+
+/*!
+ \fn T& QValueList::first()
+
+ Returns a reference to the first item. If the list contains no
+ first item (i.e. isEmpty() returns TRUE), the return value is
+ undefined.
+
+ \sa last()
+*/
+
+/*!
+ \fn const T& QValueList::first() const
+
+ \overload
+*/
+
+/*!
+ \fn T& QValueList::last()
+
+ Returns a reference to the last item. If the list contains no last
+ item (i.e. empty() returns TRUE), the return value is undefined.
+*/
+
+/*!
+ \fn const T& QValueList::last() const
+
+ \overload
+*/
+
+/*****************************************************************************
+ QValueListIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QValueListIterator qvaluelist.h
+ \brief The QValueListIterator class provides an iterator for QValueList.
+
+ \ingroup qtl
+ \ingroup tools
+ \reentrant
+
+ An iterator is a class for accessing the items of a container
+ class: a generalization of the index in an array. A pointer
+ into a "const char *" and an index into an "int[]" are both
+ iterators, and the general idea is to provide that functionality
+ for any data structure.
+
+ The QValueListIterator class is an iterator for QValueList
+ instantiations. You can create the appropriate iterator type by
+ using the \c iterator typedef provided by QValueList.
+
+ The only way to access the items in a QValueList is to use an
+ iterator.
+
+ Example (see QValueList for the complete code):
+ \code
+ EmployeeList::iterator it;
+ for ( it = list.begin(); it != list.end(); ++it )
+ cout << (*it).surname().latin1() << ", " <<
+ (*it).forename().latin1() << " earns " <<
+ (*it).salary() << endl;
+
+ // Output:
+ // Doe, John earns 50000
+ // Williams, Jane earns 80000
+ // Hawthorne, Mary earns 90000
+ // Jones, Tom earns 60000
+ \endcode
+
+ QValueList is highly optimized for performance and memory usage.
+ This means that you must be careful: QValueList does not know
+ about all its iterators and the iterators don't know to which list
+ they belong. This makes things very fast, but if you're not
+ careful, you can get spectacular bugs. Always make sure iterators
+ are valid before dereferencing them or using them as parameters to
+ generic algorithms in the STL or the \link qtl.html QTL\endlink.
+
+ Using an invalid iterator is undefined (your application will
+ probably crash). Many Qt functions return const value lists; to
+ iterate over these you should make a copy and iterate over the
+ copy.
+
+ For every Iterator there is a ConstIterator. When accessing a
+ QValueList in a const environment or if the reference or pointer
+ to the list is itself const, then you must use the ConstIterator.
+ Its semantics are the same as the Iterator, but it only returns
+ const references.
+
+ \sa QValueList, QValueListConstIterator
+*/
+
+/*! \enum QValueListIterator::value_type
+ The type of value, T. */
+/*! \enum QValueListIterator::pointer
+ Pointer to value_type. */
+/*! \enum QValueListIterator::reference
+ Reference to value_type. */
+
+/*!
+ \fn QValueListIterator::QValueListIterator()
+
+ Creates un uninitialized iterator.
+*/
+
+/*
+ \fn QValueListIterator::QValueListIterator( NodePtr p )
+
+ \overload
+
+ \internal
+*/
+
+/*!
+ \fn QValueListIterator::QValueListIterator( const QValueListIterator<T>& it )
+
+ \overload
+
+ Constructs a copy of the iterator \a it.
+*/
+
+/* Unfortunately not with MSVC
+ \fn T *QValueListIterator::operator->()
+ Pointer operator. Returns a pointer to the current iterator item.
+ The great advantage of this operator is that you can treat the
+ iterator like a pointer.
+
+ Example:
+ \code
+ QValueList<int>::Iterator it = list.begin();
+ for( ; it != end(); ++it )
+ it->show();
+ \endcode
+*/
+
+/*!
+ \fn T& QValueListIterator::operator*()
+
+ Asterisk operator. Returns a reference to the current iterator item.
+*/
+
+/*!
+ \fn const T& QValueListIterator::operator*() const
+
+ \overload
+
+ Asterisk operator. Returns a reference to the current iterator item.
+*/
+
+/*!
+ \fn QValueListIterator<T>& QValueListIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the list. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QValueListIterator<T> QValueListIterator::operator++(int)
+
+ \overload
+
+ Postfix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the list. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QValueListIterator<T>& QValueListIterator::operator--()
+
+ Prefix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the list. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn QValueListIterator<T> QValueListIterator::operator--(int)
+
+ \overload
+
+ Postfix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the list. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+
+/*!
+ \fn QValueListIterator<T>& QValueListIterator::operator+=(int j)
+
+ Postfix -- jumps \a j steps forward in the list. The iterator
+ cannot check whether it reached the end of the list. Jumping past
+ the end() causes undefined results.
+*/
+
+/*!
+ \fn QValueListIterator<T>& QValueListIterator::operator-=(int j)
+
+ Postfix -- jumps \a j steps backward in the list. The iterator
+ cannot check whether it reached the beginning of the list. Jumping
+ past begin() causes undefined results.
+*/
+
+/*!
+ \fn bool QValueListIterator::operator==( const QValueListIterator<T>& it ) const
+
+ Compares this iterator and \a it and returns TRUE if they point to
+ the same item; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QValueListIterator::operator!=( const QValueListIterator<T>& it ) const
+
+ Compares this iterator and \a it and returns TRUE if they point to
+ different items; otherwise returns FALSE.
+*/
+
+/*****************************************************************************
+ QValueListConstIterator documentation
+ *****************************************************************************/
+
+/*!
+ \class QValueListConstIterator qvaluelist.h
+ \brief The QValueListConstIterator class provides a const iterator
+ for QValueList.
+
+ \ingroup qtl
+ \ingroup tools
+ \reentrant
+
+ In contrast to QValueListIterator, this class is used to iterate
+ over a const list. It does not allow modification of the values of
+ the list since that would break const semantics.
+
+ You can create the appropriate const iterator type by using the \c
+ const_iterator typedef provided by QValueList.
+
+ For more information on QValueList iterators, see
+ QValueListIterator.
+
+ \sa QValueListIterator, QValueList
+*/
+
+/*! \enum QValueListConstIterator::value_type
+ The type of value. */
+/*! \enum QValueListConstIterator::pointer
+ Pointer to value_type. */
+/*! \enum QValueListConstIterator::reference
+ Reference to value_type. */
+/*! \enum QValueListConstIterator::NodePtr
+ \internal */
+/*! \enum QValueListConstIterator::iterator_category
+ \internal */
+/*! \enum QValueListConstIterator::size_type
+ \internal */
+/*! \enum QValueListConstIterator::difference_type
+ \internal */
+
+/*!
+ \fn QValueListConstIterator::QValueListConstIterator()
+
+ Creates un uninitialized iterator.
+*/
+
+/*!
+ \fn QValueListConstIterator::QValueListConstIterator( NodePtr p )
+
+ \overload
+
+ \internal
+*/
+
+/*!
+ \fn QValueListConstIterator::QValueListConstIterator( const QValueListConstIterator<T>& it )
+
+ \overload
+
+ Constructs a copy of the iterator \a it.
+*/
+
+/*!
+ \fn QValueListConstIterator::QValueListConstIterator( const QValueListIterator<T>& it )
+
+ Constructs a copy of the iterator \a it.
+*/
+
+/* Unfortunately not with MSVC
+ \fn const T *QValueListConstIterator::operator->()
+ Pointer operator. Returns a pointer to the current iterator item.
+ The great advantage of this operator is that you can treat the
+ iterator like a pointer.
+
+ Example:
+ \code
+ QValueList<int>::Iterator it = list.begin();
+ for( ; it != end(); ++it )
+ it->show();
+ \endcode
+*/
+
+/*!
+ \fn const T& QValueListConstIterator::operator*() const
+
+ Asterisk operator. Returns a reference to the current iterator item.
+*/
+
+/*!
+ \fn QValueListConstIterator<T>& QValueListConstIterator::operator++()
+
+ Prefix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the list. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QValueListConstIterator<T> QValueListConstIterator::operator++(int)
+
+ \overload
+
+ Postfix ++ makes the succeeding item current and returns an
+ iterator pointing to the new current item. The iterator cannot
+ check whether it reached the end of the list. Incrementing the
+ iterator returned by end() causes undefined results.
+*/
+
+/*!
+ \fn QValueListConstIterator<T>& QValueListConstIterator::operator--()
+
+ Prefix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the list. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn QValueListConstIterator<T> QValueListConstIterator::operator--(int)
+
+ \overload
+
+ Postfix -- makes the previous item current and returns an iterator
+ pointing to the new current item. The iterator cannot check
+ whether it reached the beginning of the list. Decrementing the
+ iterator returned by begin() causes undefined results.
+*/
+
+/*!
+ \fn bool QValueListConstIterator::operator==( const QValueListConstIterator<T>& it ) const
+
+ Compares this iterator with \a it and returns TRUE if they point
+ to the same item; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QValueListConstIterator::operator!=( const QValueListConstIterator<T>& it ) const
+
+ Compares this iterator with \a it and returns TRUE if they point
+ to different items; otherwise returns FALSE.
+*/
+
+
+/*!
+ \enum QValueList::Iterator
+
+ This iterator is an instantiation of QValueListIterator for the
+ same type as this QValueList. In other words, if you instantiate
+ QValueList<int>, Iterator is a QValueListIterator<int>. Several
+ member function use it, such as QValueList::begin(), which returns
+ an iterator pointing to the first item in the list.
+
+ Functionally, this is almost the same as ConstIterator. The only
+ difference is that you cannot use ConstIterator for non-const
+ operations, and that the compiler can often generate better code
+ if you use ConstIterator.
+
+ \sa QValueListIterator ConstIterator
+*/
+
+/*!
+ \enum QValueList::ConstIterator
+
+ This iterator is an instantiation of QValueListConstIterator for
+ the same type as this QValueList. In other words, if you
+ instantiate QValueList<int>, ConstIterator is a
+ QValueListConstIterator<int>. Several member function use it, such
+ as QValueList::begin(), which returns an iterator pointing to the
+ first item in the list.
+
+ Functionally, this is almost the same as Iterator. The only
+ difference is you cannot use ConstIterator for non-const
+ operations, and that the compiler can often generate better code
+ if you use ConstIterator.
+
+ \sa QValueListIterator Iterator
+*/
diff --git a/doc/qvaluestack.doc b/doc/qvaluestack.doc
new file mode 100644
index 0000000..8fa7b77
--- /dev/null
+++ b/doc/qvaluestack.doc
@@ -0,0 +1,169 @@
+/****************************************************************************
+**
+** QValueStack class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QValueStack documentation
+ *****************************************************************************/
+
+/*!
+ \class QValueStack qvaluestack.h
+ \brief The QValueStack class is a value-based template class that provides a stack.
+
+ \ingroup qtl
+ \ingroup tools
+ \ingroup shared
+ \mainclass
+ \reentrant
+
+ Define a template instance QValueStack\<X\> to create a stack of
+ values that all have the class X. QValueStack is part of the \link
+ qtl.html Qt Template Library\endlink.
+
+ Note that QValueStack does not store pointers to the members of
+ the stack; it holds a copy of every member. That is why these
+ kinds of classes are called "value based"; QPtrStack, QPtrList,
+ QDict, etc., are "pointer based".
+
+ A stack is a last in, first out (LIFO) structure. Items are added
+ to the top of the stack with push() and retrieved from the top
+ with pop(). The top() function provides access to the topmost item
+ without removing it.
+
+ Example:
+ \code
+ QValueStack<int> stack;
+ stack.push( 1 );
+ stack.push( 2 );
+ stack.push( 3 );
+ while ( ! stack.isEmpty() )
+ cout << "Item: " << stack.pop() << endl;
+
+ // Output:
+ // Item: 3
+ // Item: 2
+ // Item: 1
+ \endcode
+
+ QValueStack is a specialized QValueList provided for convenience.
+ All of QValueList's functionality also applies to QPtrStack, for
+ example the facility to iterate over all elements using
+ QValueStack<T>::Iterator. See QValueListIterator for further
+ details.
+
+ Some classes cannot be used within a QValueStack, for example
+ everything derived from QObject and thus all classes that
+ implement widgets. Only values can be used in a QValueStack. To
+ qualify as a value, the class must provide
+ \list
+ \i a copy constructor;
+ \i an assignment operator;
+ \i a default constructor, i.e. a constructor that does not take any arguments.
+ \endlist
+
+ Note that C++ defaults to field-by-field assignment operators and
+ copy constructors if no explicit version is supplied. In many
+ cases this is sufficient.
+*/
+
+
+/*!
+ \fn QValueStack::QValueStack()
+
+ Constructs an empty stack.
+*/
+
+/*!
+ \fn QValueStack::~QValueStack()
+
+ Destroys the stack. References to the values in the stack and all
+ iterators of this stack become invalidated. Because QValueStack is
+ highly tuned for performance, you won't see warnings if you use
+ invalid iterators because it is impossible for an iterator to
+ check whether or not it is valid.
+*/
+
+
+/*!
+ \fn void QValueStack::push( const T& d )
+
+ Adds element, \a d, to the top of the stack. Last in, first out.
+
+ This function is equivalent to append().
+
+ \sa pop(), top()
+*/
+
+/*!
+ \fn T& QValueStack::top()
+
+ Returns a reference to the top item of the stack or the item
+ referenced by end() if no such item exists. Note that you must not
+ change the value the end() iterator points to.
+
+ This function is equivalent to last().
+
+ \sa pop(), push(), QValueList::fromLast()
+*/
+
+
+/*!
+ \fn const T& QValueStack::top() const
+
+ \overload
+
+ Returns a reference to the top item of the stack or the item
+ referenced by end() if no such item exists.
+
+ This function is equivalent to last().
+
+ \sa pop(), push(), QValueList::fromLast()
+*/
+
+/*!
+ \fn T QValueStack::pop()
+
+ Removes the top item from the stack and returns it.
+
+ \sa top() push()
+*/
+
+
+
+
+
diff --git a/doc/qvaluevector.doc b/doc/qvaluevector.doc
new file mode 100644
index 0000000..acc1a6c
--- /dev/null
+++ b/doc/qvaluevector.doc
@@ -0,0 +1,724 @@
+/****************************************************************************
+**
+** QValueVector class documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+
+/*****************************************************************************
+ QValueVector documentation
+ *****************************************************************************/
+
+/*!
+ \class QValueVector qvaluevector.h
+ \brief The QValueVector class is a value-based template class that provides a dynamic array.
+
+ \ingroup qtl
+ \ingroup tools
+ \ingroup shared
+ \mainclass
+ \reentrant
+
+ QValueVector is a Qt implementation of an STL-like vector
+ container. It can be used in your application if the standard \c
+ vector is not available for your target platforms. QValueVector is
+ part of the \link qtl.html Qt Template Library\endlink.
+
+ QValueVector\<T\> defines a template instance to create a vector
+ of values that all have the class T. QValueVector does not store
+ pointers to the members of the vector; it holds a copy of every
+ member. QValueVector is said to be value based; in contrast,
+ QPtrList and QDict are pointer based.
+
+ QValueVector contains and manages a collection of objects of type
+ T and provides random access iterators that allow the contained
+ objects to be addressed. QValueVector owns the contained
+ elements. For more relaxed ownership semantics, see QPtrCollection
+ and friends, which are pointer-based containers.
+
+ QValueVector provides good performance if you append or remove
+ elements from the end of the vector. If you insert or remove
+ elements from anywhere but the end, performance is very bad. The
+ reason for this is that elements must to be copied into new
+ positions.
+
+ Some classes cannot be used within a QValueVector: for example,
+ all classes derived from QObject and thus all classes that
+ implement widgets. Only values can be used in a QValueVector. To
+ qualify as a value the class must provide:
+ \list
+ \i a copy constructor;
+ \i an assignment operator;
+ \i a default constructor, i.e., a constructor that does not take any arguments.
+ \endlist
+
+ Note that C++ defaults to field-by-field assignment operators and
+ copy constructors if no explicit version is supplied. In many
+ cases this is sufficient.
+
+ QValueVector uses an STL-like syntax to manipulate and address the
+ objects it contains. See \link qtl.html this document\endlink for
+ more information.
+
+ Example:
+ \code
+ #include <qvaluevector.h>
+ #include <qstring.h>
+ #include <stdio.h>
+
+ class Employee
+ {
+ public:
+ Employee(): s(0) {}
+ Employee( const QString& name, int salary )
+ : n( name ), s( salary )
+ { }
+
+ QString name() const { return n; }
+ int salary() const { return s; }
+ void setSalary( int salary ) { s = salary; }
+ private:
+ QString n;
+ int s;
+ };
+
+ int main()
+ {
+ typedef QValueVector<Employee> EmployeeVector;
+ EmployeeVector vec( 3 ); // vector of 3 Employees
+
+ vec[0] = Employee( "Bill", 50000 );
+ vec[1] = Employee( "Steve", 80000 );
+ vec[2] = Employee( "Ron", 60000 );
+
+ Employee joe( "Joe", 50000 );
+ vec.push_back( joe ); // vector expands to accommodate 4 Employees
+ joe.setSalary( 70000 );
+
+ EmployeeVector::iterator it;
+ for( it = vec.begin(); it != vec.end(); ++it )
+ printf( "%s earns %d\n", (*it).name().latin1(), (*it).salary() );
+
+ return 0;
+ }
+ \endcode
+
+ Program output:
+ \code
+ Bill earns 50000
+ Steve earns 80000
+ Ron earns 60000
+ Joe earns 50000
+ \endcode
+
+ As you can see, the most recent change to Joe's salary did not
+ affect the value in the vector because the vector created a copy
+ of Joe's entry.
+
+ Many Qt functions return const value vectors; to iterate over
+ these you should make a copy and iterate over the copy.
+
+ There are several ways to find items in the vector. The begin()
+ and end() functions return iterators to the beginning and end of
+ the vector. The advantage of getting an iterator is that you can
+ move forward or backward from this position by
+ incrementing/decrementing the iterator. The iterator returned by
+ end() points to the element which is one past the last element in
+ the container. The past-the-end iterator is still associated with
+ the vector it belongs to, however it is \e not dereferenceable;
+ operator*() will not return a well-defined value. If the vector is
+ empty(), the iterator returned by begin() will equal the iterator
+ returned by end().
+
+ The fastest way to access an element of a vector is by using
+ operator[]. This function provides random access and will return
+ a reference to the element located at the specified index. Thus,
+ you can access every element directly, in constant time, providing
+ you know the location of the element. It is undefined to access
+ an element that does not exist (your application will probably
+ crash). For example:
+
+ \code
+ QValueVector<int> vec1; // an empty vector
+ vec1[10] = 4; // WARNING: undefined, probably a crash
+
+ QValueVector<QString> vec2(25); // initialize with 25 elements
+ vec2[10] = "Dave"; // OK
+ \endcode
+
+ Whenever inserting, removing or referencing elements in a vector,
+ always make sure you are referring to valid positions. For
+ example:
+
+ \code
+ void func( QValueVector<int>& vec )
+ {
+ if ( vec.size() > 10 ) {
+ vec[9] = 99; // OK
+ }
+ };
+ \endcode
+
+ The iterators provided by vector are random access iterators,
+ therefore you can use them with many generic algorithms, for
+ example, algorithms provided by the STL or the \link qtl.html
+ QTL\endlink.
+
+ Another way to find an element in the vector is by using the
+ std::find() or \link qtl.html#qFind qFind()\endlink algorithms.
+ For example:
+
+ \code
+ QValueVector<int> vec;
+ ...
+ QValueVector<int>::const_iterator it = qFind( vec.begin(), vec.end(), 3 );
+ if ( it != vector.end() )
+ // 'it' points to the found element
+ \endcode
+
+ It is safe to have multiple iterators on the vector at the same
+ time. Since QValueVector manages memory dynamically, all iterators
+ can become invalid if a memory reallocation occurs. For example,
+ if some member of the vector is removed, iterators that point to
+ the removed element and to all following elements become
+ invalidated. Inserting into the middle of the vector will
+ invalidate all iterators. For convenience, the function back()
+ returns a reference to the last element in the vector, and front()
+ returns a reference to the first element. If the vector is
+ empty(), both back() and front() have undefined behavior (your
+ application will crash or do unpredictable things). Use back() and
+ front() with caution, for example:
+
+ \code
+ QValueVector<int> vec( 3 );
+ vec.push_back( 1 );
+ vec.push_back( 2 );
+ vec.push_back( 3 );
+ ...
+ if ( !vec.empty() ) {
+ // OK: modify the first element
+ int& i = vec.front();
+ i = 18;
+ }
+ ...
+ QValueVector<double> dvec;
+ double d = dvec.back(); // undefined behavior
+ \endcode
+
+ Because QValueVector manages memory dynamically, it is recommended
+ that you contruct a vector with an initial size. Inserting and
+ removing elements happens fastest when:
+ \list
+ \i Inserting or removing elements happens at the end() of the
+ vector;
+ \i The vector does not need to allocate additional memory.
+ \endlist
+
+ By creating a QValueVector with a sufficiently large initial size,
+ there will be less memory allocations. Do not use an initial size
+ that is too big, since it will still take time to construct all
+ the empty entries, and the extra space will be wasted if it is
+ never used.
+
+ Because QValueVector is value-based there is no need to be careful
+ about deleting elements in the vector. The vector holds its own
+ copies and will free them if the corresponding member or the
+ vector itself is deleted. You can force the vector to free all of
+ its items with clear().
+
+ QValueVector is shared implicitly, which means it can be copied in
+ constant time. If multiple QValueVector instances share the same
+ data and one needs to modify its contents, this modifying instance
+ makes a copy and modifies its private copy; it thus does not
+ affect the other instances. This is often called "copy on write".
+ If a QValueVector is being used in a multi-threaded program, you
+ must protect all access to the vector. See QMutex.
+
+ There are several ways to insert elements into the vector. The
+ push_back() function insert elements into the end of the vector,
+ and is usually fastest. The insert() function can be used to add
+ elements at specific positions within the vector.
+
+ Items can be also be removed from the vector in several ways.
+ There are several variants of the erase() function which removes a
+ specific element, or range of elements, from the vector.
+
+ Vectors can be also sorted with various STL algorithms , or it can
+ be sorted using the \link qtl.html Qt Template Library\endlink.
+ For example with qHeapSort():
+
+ Example:
+ \code
+ QValueVector<int> v( 4 );
+ v.push_back( 5 );
+ v.push_back( 8 );
+ v.push_back( 3 );
+ v.push_back( 4 );
+ qHeapSort( v );
+ \endcode
+
+ QValueVector stores its elements in contiguous memory. This means
+ that you can use a QValueVector in any situation that requires an
+ array.
+*/
+
+/*! \enum QValueVector::value_type
+ The type of the object stored in the vector. */
+/*! \enum QValueVector::ValueType
+ The type of the object stored in the vector. */
+/*! \enum QValueVector::pointer
+ The pointer to T type. */
+/*! \enum QValueVector::const_pointer
+ The const pointer to T type. */
+/*! \enum QValueVector::iterator
+ The vector's iterator type. */
+/*! \enum QValueVector::const_iterator
+ The vector's const iterator type. */
+/*! \enum QValueVector::Iterator
+ The vector's iterator type. */
+/*! \enum QValueVector::ConstIterator
+ The vector's const iterator type. */
+/*! \enum QValueVector::reference
+ The reference to T type. */
+/*! \enum QValueVector::const_reference
+ The const reference to T type. */
+/*! \enum QValueVector::size_type
+ An unsigned integral type, used to represent various sizes. */
+/*! \enum QValueVector::difference_type
+ A signed integral type used to represent the distance between two iterators. */
+
+
+/*!
+ \fn QValueVector::QValueVector()
+
+ Constructs an empty vector without any elements. To create a
+ vector which reserves an initial amount of space for elements, use
+ \c QValueVector(size_type n).
+*/
+
+/*!
+ \fn QValueVector::QValueVector( const QValueVector<T>& v )
+
+ Constructs a copy of \a v.
+
+ This operation costs O(1) time because QValueVector is implicitly
+ shared.
+
+ The first modification to the vector does takes O(n) time, because
+ the elements must be copied.
+*/
+
+/*!
+ \fn QValueVector::QValueVector( std::vector<T>& v )
+
+ Constructs a copy of \a v.
+*/
+
+/*!
+ \fn QValueVector::QValueVector( const std::vector<T>& v )
+
+ This operation costs O(n) time because \a v is copied.
+*/
+
+/*!
+ \fn QValueVector::QValueVector( size_type n, const T& val )
+
+ Constructs a vector with an initial size of \a n elements. Each
+ element is initialized with the value of \a val.
+*/
+
+/*!
+ \fn QValueVector::~QValueVector()
+
+ Destroys the vector, destroying all elements and freeing the
+ allocated memory. References to the values in the vector and all
+ iterators of this vector become invalidated. Note that it is
+ impossible for an iterator to check whether or not it is valid:
+ QValueVector is tuned for performance, not for error checking.
+*/
+
+/*!
+ \fn QValueVector<T>& QValueVector::operator=( const QValueVector<T>& v )
+
+ Assigns \a v to this vector and returns a reference to this vector.
+
+ All iterators of the current vector become invalidated by this
+ operation. The cost of such an assignment is O(1) since
+ QValueVector is implicitly shared.
+*/
+
+/*!
+ \fn QValueVector<T>& QValueVector::operator=( const std::vector<T>& v )
+
+ \overload
+
+ Assigns \a v to this vector and returns a reference to this vector.
+
+ All iterators of the current vector become invalidated by this
+ operation. The cost of this assignment is O(n) since \a v is
+ copied.
+*/
+
+/*!
+ \fn size_type QValueVector::size() const
+
+ Returns the number of elements in the vector.
+
+ This function is provided for STL compatibility. It is equivalent
+ to count().
+
+ \sa empty()
+*/
+
+/*!
+ \fn size_type QValueVector::count() const
+
+ Returns the number of items in the vector.
+
+ \sa isEmpty()
+*/
+
+/*!
+ \fn bool QValueVector::empty() const
+
+ Returns TRUE if the vector is empty; otherwise returns FALSE.
+ Equivalent to size()==0, only faster.
+
+ This function is provided for STL compatibility. It is equivalent
+ to isEmpty().
+
+ \sa size()
+*/
+
+/*!
+ \fn bool QValueVector::isEmpty() const
+
+ Returns TRUE if the vector is empty; returns FALSE otherwise.
+
+ \sa count()
+*/
+
+/*!
+ \fn size_type QValueVector::capacity() const
+
+ Returns the maximum number of elements that can be stored in the
+ vector without forcing memory reallocation. If memory reallocation
+ takes place, some or all iterators may become invalidated.
+*/
+
+/*!
+ \fn iterator QValueVector::begin()
+
+ Returns an iterator pointing to the beginning of the vector. If
+ the vector is empty(), the returned iterator will equal end().
+*/
+
+/*!
+ \fn const_iterator QValueVector::begin() const
+
+ \overload
+
+ Returns a const iterator pointing to the beginning of the vector.
+ If the vector is empty(), the returned iterator will equal end().
+*/
+
+/*!
+ \fn const_iterator QValueVector::constBegin() const
+
+ Returns a const iterator pointing to the beginning of the vector.
+ If the vector is empty(), the returned iterator will equal end().
+
+ \sa constEnd();
+*/
+
+/*!
+ \fn iterator QValueVector::end()
+
+ Returns an iterator pointing behind the last element of the
+ vector.
+*/
+
+/*!
+ \fn const_iterator QValueVector::end() const
+
+ \overload
+
+ Returns a const iterator pointing behind the last element of the
+ vector.
+*/
+
+/*!
+ \fn const_iterator QValueVector::constEnd() const
+
+ Returns a const iterator pointing behind the last element of the
+ vector.
+
+ \sa constBegin()
+*/
+
+/*!
+ \fn reference QValueVector::at( size_type i , bool* ok )
+
+ Returns a reference to the element with index \a i. If \a ok is
+ non-null, and the index \a i is out of range, *\a ok is set to
+ FALSE and the returned reference is undefined. If the index \a i
+ is within the range of the vector, and \a ok is non-null, *\a ok
+ is set to TRUE and the returned reference is well defined.
+*/
+
+/*!
+ \fn const_reference QValueVector::at( size_type i , bool* ok ) const
+
+ \overload
+
+ Returns a const reference to the element with index \a i. If \a ok
+ is non-null, and the index \a i is out of range, *\a ok is set to
+ FALSE and the returned reference is undefined. If the index \a i
+ is within the range of the vector, and \a ok is non-null, *\a ok
+ is set to TRUE and the returned reference is well defined.
+*/
+
+/*!
+ \fn reference QValueVector::operator[]( size_type i )
+
+ Returns a reference to the element at index \a i. If \a i is out
+ of range, this function has undefined behavior.
+
+ \sa at()
+*/
+
+/*!
+ \fn const_reference QValueVector::operator[]( size_type i ) const
+
+ \overload
+
+ Returns a const reference to the element at index \a i. If \a i is
+ out of range, this function has undefined behavior.
+
+ \sa at()
+*/
+
+/*!
+ \fn reference QValueVector::front()
+
+ Returns a reference to the first element in the vector. If there
+ is no first element, this function has undefined behavior.
+
+ \sa empty() back()
+*/
+
+/*!
+ \fn const_reference QValueVector::front() const
+
+ \overload
+
+ Returns a const reference to the first element in the vector. If
+ there is no first element, this function has undefined behavior.
+
+ \sa empty() back()
+*/
+
+/*!
+ \fn reference QValueVector::first()
+
+ Returns a reference to the first item in the vector. If there is
+ no first item, this function has undefined behavior.
+
+ \sa empty() last()
+*/
+
+/*!
+ \fn const_reference QValueVector::first() const
+
+ \overload
+*/
+
+/*!
+ \fn reference QValueVector::back()
+
+ Returns a reference to the last element in the vector. If there is
+ no last element, this function has undefined behavior.
+
+ \sa empty() front()
+*/
+
+/*!
+ \fn const_reference QValueVector::back() const
+
+ \overload
+
+ Returns a const reference to the last element in the vector. If
+ there is no last element, this function has undefined behavior.
+
+ \sa empty() front()
+*/
+
+/*!
+ \fn reference QValueVector::last()
+
+ Returns a reference to the last item in the vector. If there is no
+ last item, this function has undefined behavior.
+
+ \sa empty() first()
+*/
+
+/*!
+ \fn const_reference QValueVector::last() const
+
+ \overload
+*/
+
+/*!
+ \fn void QValueVector::push_back( const T& x )
+
+ Appends a copy of \a x to the end of the vector. This is the
+ fastest way to add new elements.
+
+ This function is provided for STL compatibility. It is equivalent
+ to append().
+
+ \sa insert()
+*/
+
+/*!
+ \fn void QValueVector::append( const T& x )
+
+ Appends a copy of \a x to the end of the vector.
+
+ \sa push_back() insert()
+*/
+
+/*!
+ \fn void QValueVector::pop_back()
+
+ Removes the last item from the vector.
+
+ This function is provided for STL compatibility.
+*/
+
+/*!
+ \fn iterator QValueVector::insert( iterator pos, const T& x )
+
+ Inserts a copy of \a x at the position immediately before \a pos.
+
+ \sa push_back()
+*/
+
+/*! \fn void QValueVector::detachInternal()
+
+ \internal
+*/
+
+/*!
+ \fn iterator QValueVector::insert( iterator pos, size_type n, const T& x )
+
+ \overload
+
+ Inserts \a n copies of \a x immediately before position x.
+
+ \sa push_back()
+*/
+
+/*!
+ \fn void QValueVector::reserve( size_type n )
+
+ Increases the vector's capacity. If \a n is less than or equal to
+ capacity(), nothing happens. Otherwise, additional memory is
+ allocated so that capacity() will be increased to a value greater
+ than or equal to \a n. All iterators will then become invalidated.
+ Note that the vector's size() and the values of existing elements
+ remain unchanged.
+*/
+
+/*!
+ \fn void QValueVector::resize( size_type n, const T& val = T() )
+
+ Changes the size of the vector to \a n. If \a n is greater than
+ the current size(), elements are added to the end and initialized
+ with the value of \a val. If \a n is less than size(), elements
+ are removed from the end. If \a n is equal to size() nothing
+ happens.
+*/
+
+/*!
+ \fn void QValueVector::clear()
+
+ Removes all the elements from the vector.
+*/
+
+/*!
+ \fn iterator QValueVector::erase( iterator pos )
+
+ Removes the element at position \a pos and returns the position of
+ the next element.
+*/
+
+/*!
+ \fn iterator QValueVector::erase( iterator first, iterator last )
+
+ \overload
+
+ Removes all elements from \a first up to but not including \a last
+ and returns the position of the next element.
+*/
+
+/*!
+ \fn bool QValueVector::operator==( const QValueVector<T>& x ) const
+
+ Returns TRUE if each element in this vector equals each
+ corresponding element in \a x; otherwise returns FALSE.
+*/
+
+/*!
+ \fn bool QValueVector::operator==( const QValueVector<T>& x )
+
+ \overload
+
+ Returns TRUE if each element in this vector equals each
+ corresponding element in \a x; otherwise returns FALSE.
+*/
+
+
+/*!
+ \fn void QValueVector::detach()
+
+ \internal
+
+ If the vector does not share its data with another QValueVector
+ instance, nothing happens. Otherwise the function creates a new
+ copy of this data and detaches from the shared one. This function
+ is called whenever the vector is modified. The implicit sharing
+ mechanism is implemented this way.
+*/
diff --git a/doc/qvfb.doc b/doc/qvfb.doc
new file mode 100644
index 0000000..7bc1546
--- /dev/null
+++ b/doc/qvfb.doc
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Qt/Embedded Virtual Framebuffer
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page emb-qvfb.html
+
+\title Qt/Embedded Virtual Framebuffer
+
+The virtual framebuffer allows Qt/Embedded programs to be developed on
+a desktop machine, without switching between consoles and X11.
+
+The virtual framebuffer is located in \c $QTDIR/tools/qvfb.
+
+\section1 Using the Virtual Framebuffer
+
+\list 1
+\i Configure Qt/Embedded with the \c -qvfb argument and compile the library:
+ \code
+ ./configure -qvfb
+ make
+ \endcode
+\i Compile \c qvfb as a normal Qt/X11 application and run it. Do \e not
+ compile it as a Qt/Embedded application.
+\i Start a Qt/Embedded master application (i.e., construct
+ QApplication with the QApplication::GuiServer flag or use the \c
+ -qws command line parameter). You can specify to the server that
+ you wish to use the virtual framebuffer driver, e.g.:
+ \code
+ masterapp -qws -display QVFb:0
+ \endcode
+\i Qt/Embedded will autodetect qvfb, so you can omit the \c -display
+ command line parameter if you know that qvfb is running, and that
+ the Qt/Embedded library supports qvfb. (If this is not the case,
+ Qt/Embedded will write to the real framebuffer, and your X11
+ display will be corrupted.)
+
+\endlist
+
+\c qvfb supports the following command line options:
+
+\table
+\header \i Option \i Meaning
+\row
+\i \c -width \e width
+\i the width of the virtual framebuffer (default: 240).
+\row
+\i \c -height \e height
+\i the height of the virtual framebuffer (default: 320).
+\row
+\i \c -depth \e depth
+\i the depth of the virtual framebuffer (1, 8 or 32; default: 8).
+\row
+\i \c -nocursor
+\i do not display the X11 cursor in the framebuffer window.
+\row
+\i \c -qwsdisplay \e :id
+\i the Qt/Embedded display id to provide (default: :0).
+\endtable
+
+\section1 Virtual Framebuffer Design
+
+The virtual framebuffer emulates a framebuffer using a shared memory region
+(the virtual frame buffer) and a utility to display the framebuffer in a
+window (\c qvfb). The regions of the display that have changed are updated
+periodically, so you will see discrete snapshots of the framebuffer rather
+than each individual drawing operation. For this reason drawing problems
+such as flickering may not be apparent until the program is run using a real
+framebuffer.
+
+The target refresh rate can be set via the <b>View|Refresh Rate</b>
+menu item. This will cause \c qvfb to check for updated regions more
+frequently. The rate is a target only. If little drawing is being
+done, the framebuffer will not show any updates between drawing
+events. If an application is displaying an animation the updates will
+be frequent, then the application and \c qvfb will compete for
+processor time.
+
+Mouse and keyboard events are passed to the Qt/Embedded master process via
+named pipes.
+
+The virtual framebuffer is a development tool only. No security issues have
+been considered in the virtual framebuffer design. It should be avoided
+in a production environment; do not configure production libraries with \c -qvfb.
+
+*/
diff --git a/doc/qws.doc b/doc/qws.doc
new file mode 100644
index 0000000..746baa9
--- /dev/null
+++ b/doc/qws.doc
@@ -0,0 +1,670 @@
+/****************************************************************************
+**
+** Qt/Embedded (Qt on QWS) documentation
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page emb-install.html
+
+\title Installing Qt/Embedded
+
+This installation procedure is written for Linux. It may need
+to be modified for other platforms.
+
+\list 1
+\i Unpack the archive if you have not done so already
+
+\code
+ cd <anywhere>
+ gunzip qt-embedded-commercial-VERSION.tar.gz # uncompress the archive
+ tar xf qt-embedded-commercial-VERSION.tar # unpack it
+\endcode
+Replace \c VERSION with the Qt/Embedded version number throughout.
+
+This document assumes that the archive is installed as \c{~/qt-embedded-commercial-VERSION}.
+\i Compile the Qt/Embedded library and examples.
+
+\code
+ cd ~/qt-embedded-commercial-VERSION
+ export QTDIR=~/qt-embedded-commercial-VERSION
+ ./configure
+ make
+\endcode
+
+The configuration system is designed to allow platform-specific options
+to be added, but in general all Linux systems which have framebuffer
+support can use the "linux-generic-g++" platform.
+The configuration system also supports cross-compilers:
+to build on Linux/x86 for the Linux/MIPSEL target, you would use:
+\code
+ ./configure -embedded mips
+\endcode
+
+Only a small number of configurations are predefined.
+You can create your own custom configuration by adding new files
+ to the \c mkspecs/qws/ directory. Use existing similar configurations
+ as a starting point.
+
+<b>Note</b>: Due to a bug in the configure script, cross-compiling on
+a little-endian machine (e.g. x86) for a big-endian processor
+(e.g. PowerPC) will use the host's endianness instead of the
+target's. Workaround: after running configure, and before running
+make, edit \c $QTDIR/include/qconfig.h and change the definition of
+\c Q_BYTE_ORDER.
+
+\i Enable framebuffer support.
+
+ You may need to recompile your kernel to enable the framebuffer.
+ This document does not describe how to do this; the
+ \link emb-framebuffer-howto.html Framebuffer HOWTO page \endlink
+ contains a short description. (You should see
+ a penguin logo at boot time when the frame buffer is enabled.)
+
+ For Matrox G100/G200/G400 use the matrox frame buffer driver.
+
+ For NVidia TNT cards use the nvidia frame buffer driver.
+
+ For Mach64 and most other cards, use the vesafb driver.
+
+ Note that some cards are only supported in VGA16 mode, this will
+ not work with the current version of Qt/Embedded, since VGA/16 is
+ not yet supported. You may need to upgrade your kernel, or even
+ switch to an experimental kernel.
+
+ The frame buffer must also be enabled with a boot parameter. See
+ \c /usr/src/linux/Documentation/fb for details.
+
+ The \c fbset program, which should be included in Linux distributions,
+ may be used to switch video modes without rebooting the system. The
+ video mode active when the server is started will be used. (8-bit
+ modes are still experimental.) <b>Note</b>: \c fbset does not work
+ with the vesafb driver.
+
+\i Change permissions.
+
+ To run Qt/Embedded, you need write access to the framebuffer device
+ \c /dev/fb0.
+
+ You also need read access to the mouse device. (Note that
+ \c /dev/mouse is normally a symbolic link; the actual mouse device
+ must be readable.)
+
+\i How to run the demonstration program.
+
+ Log into a virtual console and do this:
+
+\code
+ cd ~/qt-embedded-commercial-VERSION/examples/launcher
+ ./start-demo
+\endcode
+
+
+\i Miscellaneous troubleshooting and known bugs.
+
+ To kill gpm, run the following command as root:
+
+\code
+ gpm -k
+\endcode
+
+ In some cases, if the server does not work, it will work when run as root.
+
+ Show processes using the framebuffer:
+
+\code
+ fuser -v /dev/fb0
+\endcode
+
+ Kill such processes:
+\code
+ fuser -vk /dev/fb0
+\endcode
+ or harsher:
+\code
+ fuser -k -KILL /dev/fb0
+\endcode
+
+ Show existing semaphores:
+\code
+ ipcs
+\endcode
+
+ Remove semaphores:
+\code
+ ipcrm
+\endcode
+
+ The communication between client and server is done through the
+ named pipe \c /tmp/qtembedded-username/QtEmbedded-0; sometimes it may need to be deleted
+ (e.g. if you run Qt/Embedded with root privileges then later as an unprivileged user).
+
+\i Customization.
+
+ The Qt/Embedded library can be reduced in size by
+ \link emb-features.html removing unnecessary features \endlink.
+
+\i This document shows how to use Qt/Embedded with the Linux framebuffer. For
+development and debugging purposes it is often easier to use the \link
+emb-qvfb.html Qt/Embedded virtual framebuffer\endlink instead.
+
+
+\endlist
+
+*/
+
+/*! \page emb-fonts.html
+
+\title Fonts in Qt/Embedded
+
+\section1 Supported Formats
+
+Qt/Embedded supports four font formats:
+
+\table
+\row
+\i <b>TrueType (TTF)</b>
+\i The scalable font technology now standard on MS-Windows and Apple
+Macintosh, and becoming popular on X11.
+\row
+\i <b>Postscript Type1 (PFA/PFB)</b>
+\i Scalable fonts often used by printers, also popular on X11. These
+are similar in functionality to TTF fonts and are not discussed
+further in this document.
+\row
+\i <b>Bitmap Distribution Format<br>fonts (BDF)</b>
+\i A standard format for non-scalable fonts. A large number of BDF
+fonts are supplied as part of standard X11 distributions - most of
+these can be used with Qt/Embedded. You should \e not use these in a
+production system: they are very slow to load and take up a \e lot of
+storage space. Instead, render the BDF to a QPF.
+\row
+\i <b>Qt Prerendered Font (QPF)</b>
+\i A light-weight non-scalable font format specific to Qt/Embedded.
+\endtable
+
+Support for each of these font formats (except QPF which is always
+enabled) can be enabled or disabled independently by using the \link
+emb-features.html Qt/Embedded Features Definition\endlink. There is
+support in Qt/Embedded for writing a QPF font file from any font, so
+you can initially enable TTF and BDF formats, save QPF files for the
+fonts and sizes you need, then remove TTF and BDF support.
+
+See \link makeqpf.html tools/makeqpf\endlink for a tool that helps
+produce QPF files from the TTF and BDF, or just run your application
+with the \c -savefonts option.
+
+\section1 Memory Requirements
+
+With TTF fonts, each character in the font at a given point size is
+only rendered when first used in a drawing or metrics operation. With
+BDF fonts all characters are rendered when the font is used.
+With QPF fonts, the characters are stored in the same format that Qt
+uses for drawing.
+
+For example, a 10-point Times font containing the ASCII characters uses
+around 1300 bytes when stored in QPF format.
+
+Taking advantage of the way the QPF format is structured, Qt/Embedded
+memory-maps the data rather than reading and parsing it.
+This reduces RAM consumption even further.
+
+Scalable fonts use a larger amount of memory per font, but
+these fonts provide a memory saving if many different sizes of each
+font are needed.
+
+\section1 Smooth Fonts
+
+TTF, PFA, and QPF fonts can be rendered as \e{smooth} anti-aliased
+fonts to give superior readability, especially on low-resolution
+devices. The difference between smooth and non-smooth fonts is
+illustrated below (you may need to change your display to low
+resolution to see the difference):
+
+\img unsmooth.png unsmooth
+
+\img smooth.png smooth
+
+\section1 Unicode
+
+All fonts used by Qt/Embedded use the Unicode character encoding.
+Most fonts available today use this encoding, but they usually don't
+contain all the Unicode characters. A \e complete 16-point Unicode
+font uses over 1 MB of memory.
+
+\section1 The font definition file
+
+When Qt/Embedded applications run, they look for a file called
+\c $QTDIR/lib/fonts/fontdir or
+\c /usr/local/qt-embedded/lib/fonts/fontdir. This file defines the
+fonts available to the application. It has the following format:
+\quote
+ \e name \e file \e renderer \e italic \e weight \e size \e flags
+\endquote
+where
+
+\table
+\header \i Field \i Value
+\row \i \e name \i \c Helvetica, \c Times, etc.
+\row \i \e file \i \c helvR0810.bdf, \c verdana.ttf, etc.
+\row \i \e renderer \i \c BDF or \c FT
+\row \i \e italic \i \c y or \c n
+\row \i \e weight \i \c 50 is normal, \c 75 is bold, etc.
+\row \i \e size \i \c 0 for scalable or point size * 10 (i.e. \c 120
+ for 12pt)
+\row \i \e flags \i \list
+ \i \c s: smooth (anti-aliased)
+ \i \c u: Unicode range when saving (default is Latin-1)
+ \i \c a: ASCII range when saving (default is Latin-1)
+ \endlist
+\endtable
+
+The font definition file does not specify QPF fonts; these are loaded
+directly from the directory containing the \c fontdir file, and must
+be named \e {name}_\e {size}_\e {weight}\e {italicflag}.qpf, where
+
+\table
+\header \i Field \i Value
+\row \i \e name \i \c helvetica, \c times, etc. (in lowercase)
+\row \i \e size \i point size * 10 (i.e. \c 120 for 12pt)
+\row \i \e italicflag \i \c i for italic, otherwise nothing.
+\row \i \e weight \i \c 50 is normal, \c 75 is bold, etc.
+\endtable
+
+If an application is run with the \c -savefonts command-line option,
+then whenever a font other than a QPF font is used, a corresponding QPF file
+is saved. This allows you to easily find the font usage of your applications
+and to generate QPF files so that you can eventually reduce the memory
+usage of your applications by disabling TTF and BDF support from Qt/Embedded,
+or by modifying the initialization of \c qws_savefonts in
+\c kernel/qapplication_qws.cpp of the Qt/Embedded library source code.
+In extreme cases of memory-saving, it is possible to save partially-rendered
+fonts (i.e. only the characters in "Product Name<sup>TM</sup>") if you are
+certain that these are the only characters you will need from the font.
+See QMemoryManager::savePrerenderedFont() for this functionality.
+
+\section1 Notes
+
+The font definition file, naming conventions for font files, and the format
+of QPF files may change in versions of Qt/Embedded after 3.
+<p>
+To generate QPF files of different rotations, the program must be re-run with
+an orientation that matches the desired rotation of the QPF output. An example to
+generate all 4 rotations of fonts would be to run the following at a real framebuffer:
+<pre>
+for dpy in LinuxFb Transformed:Rot90 Transformed:Rot180 Transformed:Rot270
+do
+ QWS_DISPLAY=$dpy ./makeqpf "$@"
+done
+</pre>
+If programs are only ever run in one orientation on a device, only the one
+appropriate set of fonts is needed.
+<p>
+When enabled, Qt/Embedded uses the powerful FreeType2 library to implement
+TrueType and Type1 support.
+
+*/
+
+/*! \page emb-running.html
+
+\title Running Qt/Embedded applications
+
+A Qt/Embedded application requires a master application to be running
+or to be a master application itself. The master application is
+primarily responsible for managing top-level window regions, and
+pointer and keyboard input.
+
+Any Qt/Embedded application can be a master application by
+constructing the QApplication object with the
+\e{QApplication::GuiServer} type, or by being run with the \e{-qws}
+command line option.
+
+This document assumes you have the Linux framebuffer configured correctly
+and no master process is running. If you do not have a working Linux
+framebuffer you can use the
+\link emb-qvfb.html Qt/Embedded virtual framebuffer\endlink, or you can
+run Qt/Embedded as a \link emb-vnc.html VNC server\endlink.
+
+Change to a Linux console and select an example to run, e.g. \c
+examples/widgets. Make sure $QTDIR is set to the directory where you
+installed Qt/Embedded and add the $QTDIR/lib directory to
+$LD_LIBRARY_PATH, e.g.:
+\code
+export QTDIR=$HOME/qt-VERSION
+export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+\endcode
+
+Run the application with the \e{-qws} option:
+
+\code
+cd $QTDIR/examples/widgets
+./widgets -qws
+\endcode
+
+You should see the \c widgets example appear. If your mouse doesn't
+work correctly you must specify the type of mouse to use. You can
+exit the master application at any time using
+<b>Ctrl+Alt+Backspace</b>.
+
+If you wish to run additional applications you should run them as clients
+i.e. without the \e{-qws} option.
+
+\section1 Displays
+
+Qt/Embedded allows multiple displays to be used simultaneously by running
+multiple Qt/Embedded master processes. This is achieved using the -display
+command line parameter or the $QWS_DISPLAY environment variable.
+
+The -display parameter's syntax is:
+\code
+ [gfx driver][:driver specific options][:display number]
+\endcode
+For example, if you want to use the mach64 driver on fb1 as display 2:
+\code
+ $ ./launcher -display Mach64:/dev/fb1:2
+\endcode
+
+To try this functionality you can do the following:
+\list 1
+\i Change to VC 1 (virtual console one) and run the launcher:
+
+\code
+ $ cd examples/launcher
+ $ ./launcher
+\endcode
+
+\i Switch to VC 2 and run another one:
+
+\code
+ $ cd examples/launcher
+ $ ./launcher -display :1
+\endcode
+
+Another launcher will be started. Start an application in this launcher.
+
+\i Press <b>Ctrl+Alt+F1</b> - back to display 0. You can also start
+additional applications on a particular display by specifying the
+display id. Change to VC 3:
+
+\code
+ $ cd examples/widgets
+ $ ./widgets -display :1
+\endcode
+
+will display the widgets example on dislpay :1 (VC 2).
+\endlist
+
+Only the master process needs to specify the driver/device part
+explicitly. The clients get the information they need from the master
+when they connect. So once you have a master server running using a
+particular driver, you can just use "client -display :n" to use
+display n.
+
+\section1 Mouse Input
+
+Qt/Embedded attempts to autodetect a mouse by default. The supported
+protocols are MouseMan, Microsoft, IntelliMouse and
+some other devices specific to certain hardware (e.g. Vr touch panel).
+To specify the mouse to use set the \c $QWS_MOUSE_PROTO environment
+variable, e.g.:
+\code
+export QWS_MOUSE_PROTO=IntelliMouse
+\endcode
+
+The mouse autodetection opens the serial devices and psaux which
+may cause conflicts with other programs using those devices. If
+this is the case then specify the mouse driver protocol and device
+explicitly.
+
+\sa \link emb-pointer.html Qt/Embedded Pointer Handling \endlink
+
+*/
+
+/*! \page emb-porting.html
+
+\title Porting your applications to Qt/Embedded
+
+Existing Qt applications should require no porting provided there is no
+platform dependent code. Platform dependent code includes system calls,
+calls to the underlying window system (Windows or X11), and Qt platform
+specific methods such as QApplication::x11EventFilter().
+
+For cases where it is necessary to use platform dependent code there are
+macros defined that can be used to enable/disable code for each platform
+using \c #ifdef directives:
+
+\table
+\header \i Platform \i Macro
+\row \i Qt/X11 \i Q_WS_X11
+\row \i Qt/Windows \i Q_WS_WIN
+\row \i Qt/Embedded \i Q_WS_QWS
+\endtable
+
+Qt/Embedded also requires the following flags to be defined when compiling
+applications:
+\code
+-DQWS -fno-exceptions -fno-rtti
+\endcode
+
+Exceptions and RTTI are disabled in Qt/Embedded because they incur a large
+overhead in both size and speed.
+*/
+
+
+/*! \page emb-pointer.html
+\title Qt/Embedded Pointer Handling
+
+Pointer handling in Qt/Embedded works for any mouse or mouse-like
+device such as touchpanels and trackballs.
+
+Usually only one pointer device is supported in an embedded device,
+but for demonstration purposes, Qt/Embedded includes a large number of
+supported devices.
+
+\section1 Mouse Protocols
+
+Mouse drivers can be enabled/disabled via the configure script. Running
+./configure -help lists the available mouse drivers. Only the
+"pc" mouse driver is enabled in the default configuration.
+
+Provided the "pc" mouse driver is enabled, Qt/Embedded auto-detects the
+mouse type and device if it is one of
+the supported types on \c /dev/psaux or one of the \c /dev/ttyS?
+serial lines. If multiple mice are detected, all may be used simultaneously.
+
+Alternatively, you may set the environment variable \c QWS_MOUSE_PROTO
+to determine which mouse to use. This environment variable may be set
+to:
+\quote
+ \e{\<protocol\>}\c{:}\e{\<device\>}
+\endquote
+where \e{\<protocol\>} is one of:
+\list
+ \i MouseMan
+ \i IntelliMouse
+ \i Microsoft
+\endlist
+and \e{\<device\>} is the mouse device, often \c /dev/mouse. If no
+such variable is specified, the built-in default is \c Auto, which
+enables auto-detection of the mouse protocol and device.
+
+To add another protocol, new subclasses of QWSMouseHandler and
+QMouseDriverPlugin can be written and installed as plugins.
+
+\section1 Touch Panels
+
+Qt/Embedded ships with support for the NEC Vr41XX touchpanel and the
+emerging linux touchpanel standard used by the iPAQ and Zaurus. These
+are subclasses of QWSCalibratedMouseHandler which is in turn a subclass
+of QWSMouseHandler in \c embedded/qmouse_qws.cpp.
+*/
+
+
+/*! \page emb-performance.html
+\title Qt/Embedded Performance Tuning
+
+When building embedded applications on low-powered devices, a number
+of options are available that would not be considered in a desktop
+application environment. These options reduce the memory and/or CPU
+requirements at the cost of other factors.
+
+\list
+\i \link emb-features.html <b>Tuning the functionality of Qt\endlink
+\i \link #general General programming style\endlink
+\i \link #static Static vs. Dynamic linking\endlink
+\i \link #alloc Alternative memory allocation\endlink
+\endlist
+
+\target general
+\section1 General programming style
+
+The following guidelines will improve CPU performance:
+\list
+ \i Create dialogs and widgets once, then QWidget::hide() and
+ QWidget::show() them, rather than creating them and deleting
+ them every time they are needed.
+ This will use a little more memory, but will be much faster.
+ Try to create them the first time "lazily" to avoid slow
+ startup (e.g. only create a Find dialog the first time the
+ user invokes it).
+\endlist
+
+\target static
+\section1 Static vs. Dynamic linking
+
+A lot of CPU and memory is used by the ELF linking process. You can
+make significant savings by using a static build of your application
+suite. This means that rather than having a dynamic library (\c
+libqte.so) and a collection of executables which link dynamically to
+that library, you build all the applications into a single executable
+and statically link that with a static library (\c libqt.a). This
+improves start-up time, and reduces memory usage, at the expense of
+flexibility (to add a new application, you must recompile the single
+executable) and robustness (if one application has a bug, it might
+harm other applications). If you need to install end-user
+applications, this may not be an option, but if you are building a
+single application suite for a device with limited CPU power and
+memory, this option could be very beneficial.
+
+To compile Qt as a static library, add the \c -static options when
+you run configure.
+
+To build your application suite as an all-in-one application, design each
+application as a stand-alone widget or set of widgets, with only minimal
+code in the main() function. Then, write an application that gives
+some way to switch between the applications (e.g. a QIconView).
+\link http://www.trolltech.com/products/qtopia/index.html Qtopia
+\endlink is an example of this. It can be built either as a set of
+dynamically linked executables, or as a single static application.
+
+Note that you should generally still link dynamically against the
+standard C library and any other libraries which might be used by
+other applications on your device.
+
+\target alloc
+\section1 Alternative memory allocation
+
+We have found that the libraries shipped with some C++ compilers on
+some platforms have poor performance in the built-in "new" and "delete"
+operators. You might gain performance by re-implementing these
+functions. For example, you can switch to the plain C allocators
+by adding the following to your code:
+
+\code
+ void* operator new[]( size_t size )
+ {
+ return malloc( size );
+ }
+
+ void* operator new( size_t size )
+ {
+ return malloc( size );
+ }
+
+ void operator delete[]( void *p )
+ {
+ free( p );
+ }
+
+ void operator delete[]( void *p, size_t size )
+ {
+ free( p );
+ }
+
+ void operator delete( void *p )
+ {
+ free( p );
+ }
+
+ void operator delete( void *p, size_t size )
+ {
+ free( p );
+ }
+\endcode
+*/
+
+/*! \page emb-vnc.html
+
+\title Qt/Embedded as a VNC Server
+
+The \link http://www.uk.research.att.com/vnc/ VNC \endlink protocol
+allows you to view and interact with the computer's display from
+anywhere on the network.
+
+To use Qt/Embedded in this way, \c configure Qt with the \c -qt-gfx-vnc
+option, and ensure that you also enable 16-bit display support. Run
+your application via:
+\code
+ application -display VNC:0
+\endcode
+then, run a VNC client pointing at the machine that is running your
+application. For example, using the X11 VNC client to view the
+application from the same machine:
+\code
+ vncviewer localhost:0
+\endcode
+
+By default, Qt/Embedded will create a 640 by 480 pixel display. You
+can change this by setting the \c QWS_SIZE environment variable to
+another size, e.g. \c QWS_SIZE=240x320.
+
+VNC clients are available for a vast array of display systems: X11,
+Windows, Amiga, DOS, VMS, and dozens of others.
+
+The \link emb-qvfb.html Qt Virtual Framebuffer \endlink is an alternative
+technique. It uses shared memory and thus is much faster and smoother, but
+it does not operate over a network.
+
+*/
diff --git a/doc/session.doc b/doc/session.doc
new file mode 100644
index 0000000..6f3185f
--- /dev/null
+++ b/doc/session.doc
@@ -0,0 +1,177 @@
+/****************************************************************************
+**
+** Qt session management overview documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page session.html
+
+\title Session Management
+
+\section1 Definitions
+
+A \e session is a group of running applications, each of which has a
+particular state. The session is controlled by a service called the \e
+session \e manager. The applications participating in the session are
+called \e session \e clients.
+
+The session manager issues commands to its clients on behalf of the
+user. These commands may cause clients to commit unsaved changes (for
+example by saving open files), to preserve their state for future
+sessions, or to terminate gracefully. The set of these operations is
+called \e session \e management.
+
+In the common case, a session consists of all applications that a
+user runs on their desktop at a time. Under Unix/X11, however, a
+session may include applications running on different computers and
+may span multiple displays.
+
+\section1 Shutting a session down
+
+A session is shut down by the session manager, usually on behalf of
+the user when they want to log out. A system might also perform an
+automatic shutdown in an emergency situation, for example, if power is
+about to be lost. Clearly there is a significant difference between
+these types of shutdown. During the first, the user may want to
+interact with the application, specifying exactly which files should
+be saved and which should be discarded. In the latter case, there's no
+time for interaction. There may not even be a user sitting in front of
+the machine!
+
+
+\section1 Protocols and support on different platforms
+
+On Mac OS X and MS-Windows, there is nothing like complete session
+management for applications yet, i.e. no restoring of previous
+sessions. They do support graceful logouts where applications
+have the opportunity to cancel the process after getting confirmation
+from the user. This is the functionality that corresponds to the \l
+QApplication::commitData() method.
+
+X11 has supported complete session management since X11R6.
+
+\section1 Getting session management to work with Qt
+
+Start by reimplementing \l QApplication::commitData() to
+enable your application to take part in the graceful logout process. If
+you are only targeting the MS-Windows platform, this is all you can
+and must provide. Ideally, your application should provide a shutdown
+dialog similar to the following:
+
+\img session.png A typical dialog on shutdown
+
+Example code to this dialog can be found in the documentation of \l
+QSessionManager::allowsInteraction().
+
+For complete session management (only supported on X11R6 at present),
+you must also take care of saving the application's state, and
+potentially of restoring the state in the next life cycle of the
+session. This saving is done by reimplementing \l
+QApplication::saveState(). All state data you are saving in this
+function, should be marked with the session identifier \l
+QApplication::sessionId(). This application specific identifier is
+globally unique, so no clashes will occur. (See \l QSessionManager for
+information on saving/restoring the state of a particular Qt
+application.)
+
+Restoration is usually done in the application's main()
+function. Check if \l QApplication::isSessionRestored() is \c TRUE. If
+that's the case, use the session identifier \l
+QApplication::sessionId() again to access your state data and restore
+the state of the application.
+
+<strong>Important:</strong> In order to allow the window manager to
+restore window attributes such as stacking order or geometry
+information, you must identify your top level widgets with
+unique application-wide object names (see \l{QObject::setName()}). When
+restoring the application, you must ensure that all restored
+top level widgets are given the same unique names they had before.
+
+\section1 Testing and debugging session management
+
+Session management support on Mac OS X and Windows is fairly limited
+due to the lack of this functionality in the operating system
+itself. Simply shut the session down and verify that your application
+behaves as expected. It may be useful to launch another application,
+usually the integrated development environment, before starting your
+application. This other application will get the shutdown message
+afterwards, thus permitting you to cancel the shutdown. Otherwise you
+would have to log in again after each test run, which is not a problem
+per se, but is time consuming.
+
+On Unix you can either use a desktop environment that supports
+standard X11R6 session management or, the recommended method, use the
+session manager reference implementation provided by the X Consortium.
+This sample manager is called \c xsm and is part of a standard X11R6
+installation. As always with X11, a useful and informative manual page
+is provided. Using \c xsm is straightforward (apart from the clumsy
+Athena-based user interface). Here's a simple approach:
+
+\list
+\i Run X11R6.
+\i Create a dot file \c .xsmstartup in your home directory which
+contains the single line
+\code
+xterm
+\endcode
+This tells \c xsm that the default/failsafe session is just an xterm
+and nothing else. Otherwise \c xsm would try to invoke lots of
+clients including the windowmanager \c twm, which isn't very helpful.
+\i Now launch \c xsm from another terminal window. Both a session
+manager window and the xterm will appear. The xterm has a nice
+property that sets it apart from all the other shells you are
+currently running: within its shell, the \c SESSION_MANAGER
+environment variable points to the session manager you just started.
+\i Launch your application from the new xterm window. It will connect
+itself automatically to the session manager. You can check with the \e
+ClientList push button whether the connect was successful.<br>
+<strong>Note:</strong> Never keep the \e ClientList open when you
+start or end session managed clients! Otherwise \c xsm is likely to
+crash.
+\i Use the session manager's \e Checkpoint and \e Shutdown buttons
+with different settings and see how your application behaves. The save
+type \e local means that the clients should save their state. It
+corresponds to the \l QApplication::saveState() function. The \e
+global save type asks applications to save their unsaved changes in
+permanent, globally accessible storage. It invokes \l
+QApplication::commitData().
+\i Whenever something crashes, blame \c xsm and not Qt. \c xsm is far
+from being a usable session manager on a user's desktop. It is,
+however, stable and useful enough to serve as testing environment.
+\endlist
+
+
+*/
diff --git a/doc/shclass.doc b/doc/shclass.doc
new file mode 100644
index 0000000..418dd45
--- /dev/null
+++ b/doc/shclass.doc
@@ -0,0 +1,260 @@
+/****************************************************************************
+**
+** Qt Shared Classes Documentation
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*!
+\page shclass.html
+
+\title Shared Classes
+
+\keyword reference counting
+\keyword implicit sharing
+\keyword explicit sharing
+\keyword implicitly shared
+\keyword explicitly shared
+\keyword explicit sharing
+\keyword shared implicitly
+\keyword shared explicitly
+
+Many C++ classes in Qt use \e explicit and \e implicit data sharing
+to maximize resource usage and minimize copying of data.
+
+\tableofcontents
+
+\section1 Overview
+
+A shared class consists of a pointer to a shared data block that
+contains a reference count and the data.
+
+When a shared object is created, it sets the reference count to 1. The
+reference count is incremented whenever a new object references the
+shared data, and decremented when the object dereferences the shared
+data. The shared data is deleted when the reference count becomes
+zero.
+
+\keyword deep copy
+\keyword shallow copy
+
+When dealing with shared objects, there are two ways of copying an
+object. We usually speak about \e deep and \e shallow copies. A deep
+copy implies duplicating an object. A shallow copy is a reference
+copy, i.e. just a pointer to a shared data block. Making a deep copy
+can be expensive in terms of memory and CPU. Making a shallow copy is
+very fast, because it only involves setting a pointer and incrementing
+the reference count.
+
+Object assignment (with operator=()) for implicitly and explicitly
+shared objects is implemented using shallow copies. A deep copy can be
+made by calling a copy() function or by using \l QDeepCopy.
+
+The benefit of sharing is that a program does not need to duplicate
+data unnecessarily, which results in lower memory use and less copying
+of data. Objects can easily be assigned, sent as function arguments,
+and returned from functions.
+
+Now comes the distinction between \e explicit and \e implicit sharing.
+Explicit sharing means that the programmer must be aware of the fact
+that objects share common data. Implicit sharing means that the
+sharing mechanism takes place behind the scenes and the programmer
+does not need to worry about it.
+
+\section1 A QByteArray Example
+
+QByteArray is an example of a shared class that uses explicit sharing.
+Example:
+\code
+ //Line a= b= c=
+ QByteArray a(3),b(2) // 1: {?,?,?} {?,?}
+ b[0] = 12; b[1] = 34; // 2: {?,?,?} {12,34}
+ a = b; // 3: {12,34} {12,34}
+ a[1] = 56; // 4: {12,56} {12,56}
+ QByteArray c = a; // 5: {12,56} {12,56} {12,56}
+ a.detach(); // 6: {12,56} {12,56} {12,56}
+ a[1] = 78; // 7: {12,78} {12,56} {12,56}
+ b = a.copy(); // 8: {12,78} {12,78} {12,56}
+ a[1] = 90; // 9: {12,90} {12,78} {12,56}
+\endcode
+
+The assignment \c {a = b} on line 3 throws away \c a's original shared
+block (the reference count becomes zero), sets \c a's shared block to
+point to \c b's shared block and increments the reference count.
+
+On line 4, the contents of \c a is modified. \c b is also modified,
+because \c a and \c b refer to the same data block. This is the
+difference between explicit and implicit sharing (explained below).
+
+The \c a object detaches from the common data on line 6. Detaching
+means that the shared data is copied to make sure that an object has
+its own private data. Therefore, modifying \c a on line 7 does not
+affect \c b or \c c.
+
+Finally, on line 8 we make a deep copy of \c a and assign it to \c b,
+so that when \c a is modified on line 9, \c b remains unchanged.
+
+
+\section1 Explicit vs. Implicit Sharing
+
+Implicit sharing automatically detaches the object from a shared block
+if the object is about to change and the reference count is greater
+than one. (This is often called "copy-on-write".) Explicit sharing
+leaves this job to the programmer. If an explicitly shared object is
+not detached, changing an object will change all other objects that
+refer to the same data.
+
+Implicit sharing optimizes memory use and copying of data without
+this side effect. So why didn't we implement implicit sharing for all
+shared classes? The answer is that a class that allows direct access
+to its internal data (for efficiency reasons), like QByteArray, cannot
+be implicitly shared, because it can be changed without letting
+QByteArray know.
+
+An implicitly shared class has total control of its internal data. In
+any member functions that modify its data, it automatically detaches
+before modifying the data.
+
+The QPen class, which uses implicit sharing, detaches from the shared
+data in all member functions that change the internal data.
+
+Code fragment:
+\code
+ void QPen::setStyle( PenStyle s )
+ {
+ detach(); // detach from common data
+ data->style = s; // set the style member
+ }
+
+ void QPen::detach()
+ {
+ if ( data->count != 1 ) // only if >1 reference
+ *this = copy();
+ }
+\endcode
+
+This is clearly not possible for QByteArray, because the programmer
+can do the following:
+
+\code
+ QByteArray array( 10 );
+ array.fill( 'a' );
+ array[0] = 'f'; // will modify array
+ array.data()[1] = 'i'; // will modify array
+\endcode
+
+If we monitor changes in a QByteArray, the QByteArray class would
+become unacceptably slow.
+
+
+\section1 Explicitly Shared Classes
+
+All classes that are instances of the QMemArray template class are
+explicitly shared:
+
+\list
+\i \l QBitArray
+\i \l QPointArray
+\i \l QByteArray
+\i Any other instantiation of \link QMemArray QMemArray\<type\>\endlink
+\endlist
+
+These classes have a detach() function that can be called if you want
+your object to get a private copy of the shared data. They also have a
+copy() function that returns a deep copy with a reference count of 1.
+
+The same is true for \l QImage, which does not inherit QMemArray. \l
+QMovie is also explicitly shared, but it does not support detach() or
+copy().
+
+\section1 Implicitly Shared Classes
+
+The Qt classes that are implicitly shared are:
+\list
+\i \l QBitmap
+\i \l QBrush
+\i \l QCursor
+\i \l QFont
+\i \l QFontInfo
+\i \l QFontMetrics
+\i \l QIconSet
+\i \l QMap
+\i \l QPalette
+\i \l QPen
+\i \l QPicture
+\i \l QPixmap
+\i \l QRegion
+\i \l QRegExp
+\i \l QString
+\i \l QStringList
+\i \l QValueList
+\i \l QValueStack
+\endlist
+
+These classes automatically detach from common data if an object is
+about to be changed. The programmer will not even notice that the
+objects are shared. Thus you should treat separate instances of them
+as separate objects. They will always behave as separate objects but
+with the added benefit of sharing data whenever possible. For this
+reason, you can pass instances of these classes as arguments to
+functions by value without concern for the copying overhead.
+
+Example:
+\code
+ QPixmap p1, p2;
+ p1.load( "image.bmp" );
+ p2 = p1; // p1 and p2 share data
+ QPainter paint;
+ paint.begin( &p2 ); // cuts p2 loose from p1
+ paint.drawText( 0,50, "Hi" );
+ paint.end();
+\endcode
+
+In this example, \c p1 and \c p2 share data until QPainter::begin() is
+called for \c p2, because painting a pixmap will modify it. The same
+also happens if anything is \link ::bitBlt() bitBlt()\endlink'ed into
+\c p2.
+
+\warning Do not copy an implicitly shared container (QMap,
+QValueVector, etc.) while you are iterating over it.
+
+\section1 QCString: implicit or explicit?
+
+\l QCString uses a mixture of implicit and explicit sharing. Functions
+inherited from QByteArray, such as data(), employ explicit sharing, while
+those only in QCString detach automatically. Thus, QCString is rather an
+"experts only" class, provided mainly to ease porting from Qt 1.x to Qt 2.0.
+We recommend that you use \l QString, a purely implicitly shared class.
+
+*/
diff --git a/doc/signalsandslots.doc b/doc/signalsandslots.doc
new file mode 100644
index 0000000..2e1c4cb
--- /dev/null
+++ b/doc/signalsandslots.doc
@@ -0,0 +1,410 @@
+/****************************************************************************
+**
+** Explanation of moc and the meta object system
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page signalsandslots.html
+
+\title Signals and Slots
+
+Signals and slots are used for communication between objects. The
+signal/slot mechanism is a central feature of Qt and probably the
+part that differs most from other toolkits.
+
+In GUI programming we often want a change in one widget to be notified
+to another widget. More generally, we want objects of any kind to be
+able to communicate with one another. For example if we were parsing
+an XML file we might want to notify a list view that we're using to
+represent the XML file's structure whenever we encounter a new tag.
+
+Older toolkits achieve this kind of communication using callbacks. A
+callback is a pointer to a function, so if you want a processing
+function to notify you about some event you pass a pointer to another
+function (the callback) to the processing function. The processing
+function then calls the callback when appropriate. Callbacks have two
+fundamental flaws. Firstly they are not type safe. We can never be
+certain that the processing function will call the callback with the
+correct arguments. Secondly the callback is strongly coupled to the
+processing function since the processing function must know which
+callback to call.
+
+\img abstract-connections.png
+\caption An abstract view of some signals and slots connections
+
+In Qt we have an alternative to the callback technique. We use signals
+and slots. A signal is emitted when a particular event occurs. Qt's
+widgets have many pre-defined signals, but we can always subclass to
+add our own. A slot is a function that is called in reponse to a
+particular signal. Qt's widgets have many pre-defined slots, but it is
+common practice to add your own slots so that you can handle the
+signals that you are interested in.
+
+The signals and slots mechanism is type safe: the signature of a
+signal must match the signature of the receiving slot. (In fact a slot
+may have a shorter signature than the signal it receives because it
+can ignore extra arguments.) Since the signatures are compatible, the
+compiler can help us detect type mismatches. Signals and slots are
+loosely coupled: a class which emits a signal neither knows nor cares
+which slots receive the signal. Qt's signals and slots mechanism
+ensures that if you connect a signal to a slot, the slot will be
+called with the signal's parameters at the right time. Signals and
+slots can take any number of arguments of any type. They are
+completely typesafe: no more callback core dumps!
+
+All classes that inherit from QObject or one of its subclasses
+(e.g. QWidget) can contain signals and slots. Signals are emitted by
+objects when they change their state in a way that may be interesting
+to the outside world. This is all the object does to communicate. It
+does not know or care whether anything is receiving the signals it
+emits. This is true information encapsulation, and ensures that the
+object can be used as a software component.
+
+\img concrete-connections.png
+\caption An example of signals and slots connections
+
+Slots can be used for receiving signals, but they are also normal
+member functions. Just as an object does not know if anything receives
+its signals, a slot does not know if it has any signals connected to
+it. This ensures that truly independent components can be created with
+Qt.
+
+You can connect as many signals as you want to a single slot, and a
+signal can be connected to as many slots as you desire. It is even
+possible to connect a signal directly to another signal. (This will
+emit the second signal immediately whenever the first is emitted.)
+
+Together, signals and slots make up a powerful component programming
+mechanism.
+
+\section1 A Small Example
+
+A minimal C++ class declaration might read:
+
+\code
+ class Foo
+ {
+ public:
+ Foo();
+ int value() const { return val; }
+ void setValue( int );
+ private:
+ int val;
+ };
+\endcode
+
+A small Qt class might read:
+
+\code
+ class Foo : public QObject
+ {
+ Q_OBJECT
+ public:
+ Foo();
+ int value() const { return val; }
+ public slots:
+ void setValue( int );
+ signals:
+ void valueChanged( int );
+ private:
+ int val;
+ };
+\endcode
+
+This class has the same internal state, and public methods to access the
+state, but in addition it has support for component programming using
+signals and slots: this class can tell the outside world that its state
+has changed by emitting a signal, \c{valueChanged()}, and it has
+a slot which other objects can send signals to.
+
+All classes that contain signals or slots must mention Q_OBJECT in
+their declaration.
+
+Slots are implemented by the application programmer.
+Here is a possible implementation of Foo::setValue():
+
+\code
+ void Foo::setValue( int v )
+ {
+ if ( v != val ) {
+ val = v;
+ emit valueChanged(v);
+ }
+ }
+\endcode
+
+The line \c{emit valueChanged(v)} emits the signal
+\c{valueChanged} from the object. As you can see, you emit a
+signal by using \c{emit signal(arguments)}.
+
+Here is one way to connect two of these objects together:
+
+\code
+ Foo a, b;
+ connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int)));
+ b.setValue( 11 ); // a == undefined b == 11
+ a.setValue( 79 ); // a == 79 b == 79
+ b.value(); // returns 79
+\endcode
+
+Calling \c{a.setValue(79)} will make \c{a} emit a \c{valueChanged()}
+signal, which \c{b} will receive in its \c{setValue()} slot,
+i.e. \c{b.setValue(79)} is called. \c{b} will then, in turn,
+emit the same \c{valueChanged()} signal, but since no slot has been
+connected to \c{b}'s \c{valueChanged()} signal, nothing happens (the
+signal is ignored).
+
+Note that the \c{setValue()} function sets the value and emits
+the signal only if \c{v != val}. This prevents infinite looping
+in the case of cyclic connections (e.g. if \c{b.valueChanged()}
+were connected to \c{a.setValue()}).
+
+A signal is emitted for \e{every} connection you make, so if you
+duplicate a connection, two signals will be emitted. You can always
+break a connection using \c{QObject::disconnect()}.
+
+This example illustrates that objects can work together without knowing
+about each other, as long as there is someone around to set up a
+connection between them initially.
+
+The preprocessor changes or removes the \c{signals}, \c{slots} and
+\c{emit} keywords so that the compiler is presented with standard C++.
+
+Run the \link moc.html moc\endlink on class definitions that contain
+signals or slots. This produces a C++ source file which should be compiled
+and linked with the other object files for the application. If you use
+\link qmake-manual.book qmake\endlink, the makefile rules to
+automatically invoke the \link moc.html moc\endlink will be added to
+your makefile for you.
+
+\section1 Signals
+
+Signals are emitted by an object when its internal state has changed
+in some way that might be interesting to the object's client or owner.
+Only the class that defines a signal and its subclasses can emit the
+signal.
+
+A list box, for example, emits both \c{clicked()} and
+\c{currentChanged()} signals. Most objects will probably only be
+interested in \c{currentChanged()} which gives the current list item
+whether the user clicked it or used the arrow keys to move to it. But
+some objects may only want to know which item was clicked. If the
+signal is interesting to two different objects you just connect the
+signal to slots in both objects.
+
+When a signal is emitted, the slots connected to it are executed
+immediately, just like a normal function call. The signal/slot
+mechanism is totally independent of any GUI event loop. The
+\c{emit} will return when all slots have returned.
+
+If several slots are connected to one signal, the slots will be
+executed one after the other, in an arbitrary order, when the signal
+is emitted.
+
+Signals are automatically generated by the \link moc.html moc\endlink
+and must not be implemented in the \c .cpp file. They can never have
+return types (i.e. use \c void).
+
+A note about arguments. Our experience shows that signals and slots
+are more reusable if they do \e not use special types. If \l
+QScrollBar::valueChanged() were to use a special type such as the
+hypothetical \c QRangeControl::Range, it could only be connected to
+slots designed specifically for QRangeControl. Something as simple as
+the program in \link tutorial1-05.html Tutorial #1 part 5\endlink
+would be impossible.
+
+\section1 Slots
+
+A slot is called when a signal connected to it is emitted. Slots are
+normal C++ functions and can be called normally; their only special
+feature is that signals can be connected to them. A slot's arguments
+cannot have default values, and, like signals, it is rarely wise to
+use your own custom types for slot arguments.
+
+Since slots are normal member functions with just a little extra
+spice, they have access rights like ordinary member functions. A
+slot's access right determines who can connect to it:
+
+A \c{public slots} section contains slots that anyone can connect
+signals to. This is very useful for component programming: you create
+objects that know nothing about each other, connect their signals and
+slots so that information is passed correctly, and, like a model
+railway, turn it on and leave it running.
+
+A \c{protected slots} section contains slots that this class and its
+subclasses may connect signals to. This is intended for slots that are
+part of the class's implementation rather than its interface to the
+rest of the world.
+
+A \c{private slots} section contains slots that only the class itself
+may connect signals to. This is intended for very tightly connected
+classes, where even subclasses aren't trusted to get the connections
+right.
+
+You can also define slots to be virtual, which we have found quite
+useful in practice.
+
+The signals and slots mechanism is efficient, but not quite as fast as
+"real" callbacks. Signals and slots are slightly slower because of the
+increased flexibility they provide, although the difference for real
+applications is insignificant. In general, emitting a signal that is
+connected to some slots, is approximately ten times slower than
+calling the receivers directly, with non-virtual function calls. This
+is the overhead required to locate the connection object, to safely
+iterate over all connections (i.e. checking that subsequent receivers
+have not been destroyed during the emission) and to marshall any
+parameters in a generic fashion. While ten non-virtual function calls
+may sound like a lot, it's much less overhead than any 'new' or
+'delete' operation, for example. As soon as you perform a string,
+vector or list operation that behind the scene requires 'new' or
+'delete', the signals and slots overhead is only responsible for a
+very small proportion of the complete function call costs. The same is
+true whenever you do a system call in a slot; or indirectly call more
+than ten functions. On an i586-500, you can emit around 2,000,000
+signals per second connected to one receiver, or around 1,200,000 per
+second connected to two receivers. The simplicity and flexibility of
+the signals and slots mechanism is well worth the overhead, which your
+users won't even notice.
+
+
+\section1 Meta Object Information
+
+The meta object compiler (\link moc.html moc\endlink) parses the class
+declaration in a C++ file and generates C++ code that initializes the
+meta object. The meta object contains the names of all the signal and
+slot members, as well as pointers to these functions. (For more
+information on Qt's Meta Object System, see \link templates.html Why
+doesn't Qt use templates for signals and slots?\endlink.)
+
+The meta object contains additional information such as the object's \link
+QObject::className() class name\endlink. You can also check if an object
+\link QObject::inherits() inherits\endlink a specific class, for example:
+
+\code
+ if ( widget->inherits("QButton") ) {
+ // yes, it is a push button, radio button etc.
+ }
+\endcode
+
+\section1 A Real Example
+
+Here is a simple commented example (code fragments from \l qlcdnumber.h ).
+
+\code
+ #include "qframe.h"
+ #include "qbitarray.h"
+
+ class QLCDNumber : public QFrame
+\endcode
+
+QLCDNumber inherits QObject, which has most of the signal/slot
+knowledge, via QFrame and QWidget, and #include's the relevant
+declarations.
+
+\code
+ {
+ Q_OBJECT
+\endcode
+
+Q_OBJECT is expanded by the preprocessor to declare several member
+functions that are implemented by the moc; if you get compiler errors
+along the lines of "virtual function QButton::className not defined"
+you have probably forgotten to \link moc.html run the moc\endlink or to
+include the moc output in the link command.
+
+\code
+ public:
+ QLCDNumber( QWidget *parent=0, const char *name=0 );
+ QLCDNumber( uint numDigits, QWidget *parent=0, const char *name=0 );
+\endcode
+
+It's not obviously relevant to the moc, but if you inherit QWidget you
+almost certainly want to have the \e{parent} and \e{name}
+arguments in your constructors, and pass them to the parent
+constructor.
+
+Some destructors and member functions are omitted here; the moc
+ignores member functions.
+
+\code
+ signals:
+ void overflow();
+\endcode
+
+QLCDNumber emits a signal when it is asked to show an impossible
+value.
+
+If you don't care about overflow, or you know that overflow cannot
+occur, you can ignore the overflow() signal, i.e. don't connect it to
+any slot.
+
+If, on the other hand, you want to call two different error functions
+when the number overflows, simply connect the signal to two different
+slots. Qt will call both (in arbitrary order).
+
+\code
+ public slots:
+ void display( int num );
+ void display( double num );
+ void display( const char *str );
+ void setHexMode();
+ void setDecMode();
+ void setOctMode();
+ void setBinMode();
+ void smallDecimalPoint( bool );
+\endcode
+
+A slot is a receiving function, used to get information about state
+changes in other widgets. QLCDNumber uses it, as the code above
+indicates, to set the displayed number. Since \c{display()} is part
+of the class's interface with the rest of the program, the slot is
+public.
+
+Several of the example programs connect the newValue() signal of a
+QScrollBar to the display() slot, so the LCD number continuously shows
+the value of the scroll bar.
+
+Note that display() is overloaded; Qt will select the appropriate version
+when you connect a signal to the slot. With callbacks, you'd have to find
+five different names and keep track of the types yourself.
+
+Some irrelevant member functions have been omitted from this
+example.
+
+\code
+ };
+\endcode
+
+*/
diff --git a/doc/sql-driver.doc b/doc/sql-driver.doc
new file mode 100644
index 0000000..0c96125
--- /dev/null
+++ b/doc/sql-driver.doc
@@ -0,0 +1,739 @@
+/****************************************************************************
+**
+** Documentation for sql driver programming
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page sql-driver.html
+
+\title SQL Module - Drivers
+
+\list
+\i \link #Introduction Introduction\endlink
+\i \link #building Building the drivers using configure\endlink
+\i \link #buildingmanually Building the plugins manually\endlink
+ \list
+ \i \link #QDB2 QDB2\endlink - IBM DB2 Driver (v7.1 and higher)
+ \i \link #QIBASE QIBASE\endlink - Borland Interbase Driver
+ \i \link #QMYSQL3 QMYSQL3\endlink - MySQL Driver
+ \i \link #QOCI8 QOCI8\endlink - Oracle Call Interface Driver, version 8, 9 and 10
+ \i \link #QODBC3 QODBC3\endlink - Open Database Connectivity Driver
+ \i \link #QPSQL7 QPSQL7\endlink - PostgreSQL v6.x and v7.x Driver
+ \i \link #QSQLITE QSQLITE\endlink - SQLite Driver
+ \i \link #QTDS7 QTDS7\endlink - Sybase Adaptive Server
+ \endlist
+\i \link #troubleshooting Troubleshooting\endlink
+\i \link #development How to write your own database driver\endlink
+\endlist
+
+\target Introduction
+\section1 Introduction
+
+The \link sql.html SQL Module\endlink uses driver \link
+plugins-howto.html plugins\endlink in order to communicate with
+different database APIs. Since the SQL Module API is
+database-independent, all database-specific code is contained within
+these drivers. Several drivers are supplied with Qt and other drivers
+can be added. The driver source code is supplied and can be used as a
+model for \link #development writing your own drivers\endlink.
+
+\e{Note:} To build a driver plugin you need to have the appropriate
+client library for your Database Management System (DBMS). This provides
+access to the API exposed by the DBMS, and is typically shipped with it.
+Most installation programs also allow you to install "development
+libraries", and these are what you need. These libraries are responsible
+for the low-level communication with the DBMS.
+
+The drivers shipped with Qt are:
+\list
+\i \link #QDB2 QDB2\endlink - IBM DB2 Driver (v7.1 and higher)
+\i \link #QIBASE QIBASE\endlink - Borland Interbase Driver
+\i \link #QMYSQL3 QMYSQL3\endlink - MySQL Driver
+\i \link #QOCI8 QOCI8\endlink - Oracle Call Interface Driver, version 8, 9 and 10
+\i \link #QODBC3 QODBC3\endlink - Open Database Connectivity Driver
+\i \link #QPSQL7 QPSQL7\endlink - PostgreSQL v6.x and v7.x Driver
+\i \link #QSQLITE QSQLITE\endlink - SQLite Driver
+\i \link #QTDS7 QTDS7\endlink - Sybase Adaptive Server
+\endlist
+
+Note that not all of the plugins are shipped with the Qt Open Source Edition
+due to license incompatibilities with the GPL.
+
+\target building
+\section1 Building the drivers using configure
+
+The Qt configure script automatically detects the available client
+libraries on your machine. Run "configure -help" to see what drivers
+can be built. You should get an output similar to this:
+
+\code
+Possible values for <driver>: [ mysql oci odbc psql tds ]
+Auto-Detected on this system: [ mysql psql ]
+\endcode
+
+Note that on Windows, the configure script doesn't do any
+auto-detection.
+
+The configure script cannot detect the neccessary libraries and include
+files if they are not in the standard paths, so it may be necessary to
+specify these paths using the "-I" and "-L" switches. For example, if
+your MySQL include files are installed in \c /usr/local/mysql (or in
+\c{C:\mysql\include} on Windows), then pass the following parameter to
+configure: \c -I/usr/local/mysql (or \c{-I C:\mysql\include} for
+Windows).
+
+On Windows the -I parameter doesn't accept spaces in
+filenames, so use the 8.3 name instead, i.e. use \c{C:\progra~1\mysql}
+instead of \c{C:\program files\mysql}.
+
+Use the \c{-qt-sql-<driver>} parameter to build the database driver
+statically into your Qt library or \c{-plugin-sql-<driver>} to build
+the driver as a plugin. Look at the sections that follow for
+additional information about required libraries.
+
+\target buildingmanually
+\section1 Building the plugins manually
+
+\target QMYSQL3
+\section2 QMYSQL3 - MySQL 3.x and MySQL 4.x
+
+\keyword QMYSQL3
+
+\section3 General information
+
+MySQL 3.x doesn't support SQL transactions by default. There are some
+backends which offer this functionality. Recent versions of the MySQL
+client libraries (>3.23.34) allow you to use transactions on those
+modified servers.
+
+If you have a recent client library and connect to a
+transaction-enabled MySQL server, a call to the
+QSqlDriver::hasFeature( QSqlDriver::Transactions ) function returns
+TRUE and SQL transactions can be used.
+
+If the plugin is compiled against MySQL 4.x client libraries,
+transactions are enabled by default.
+
+You can find information about MySQL on \l http://www.mysql.com
+
+\section3 How to build the plugin on Unix/Linux
+
+You need the MySQL header files and as well as the shared library
+\c{libmysqlclient.so}. Depending on your Linux distribution you need to
+install a package which is usually called "mysql-devel".
+
+Tell \link qmake-manual.book qmake\endlink where to find the MySQL
+header files and shared libraries (here it is assumed that MySQL is
+installed in \c{/usr/local}) and run \c{make}:
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/mysql
+qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient" mysql.pro
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+You need to get the MySQL installation files. Run SETUP.EXE and
+choose "Custom Install". Install the "Libs & Include Files" Module.
+Build the plugin as follows (here it is assumed that MySQL is
+installed in \c{C:\MYSQL}):
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\mysql
+qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
+nmake
+\endcode
+
+If you are not using a Microsoft compiler, replace \c nmake with \c
+make in the statement above.
+
+\target QOCI8
+\section2 QOCI8 - Oracle Call Interface (OCI)
+
+\keyword QOCI8
+
+\section3 General information
+
+The Qt OCI plugin supports Oracle 8, 9 and 10. After
+connecting to the Oracle server, the plugin will auto-detect the
+database version and enable features accordingly.
+
+\section3 Unicode support
+
+If the Oracle server supports Unicode, the OCI plugin will use UTF-8
+encoding to communicate with the server.
+
+\section3 BLOB/LOB support
+
+Binary Large Objects (BLOBs) can be read and written, but be aware
+that this process may require a lot of memory.
+
+Note that Oracle 9 doesn't support scrollable result sets with LOB
+columns, you have to use a forward only query to select LOB fields
+(see QSqlQuery::setForwardOnly()).
+
+Inserting BLOBs should be done using either a prepared query where the
+BLOBs are bound to placeholders, or QSqlCursor which uses a prepared
+query to do this internally (see $QTDIR/examples/sql/blob).
+
+\section3 Know problems
+
+When a query is in forward only mode a call to QSqlQuery::last() will
+position the query on the last record and return TRUE, but subsequent
+calls to QSqlQuery::value() will only return NULLs.
+
+\section3 How to build the plugin on Unix/Linux
+
+All files required to build driver should ship with the standard Oracle
+Client install.
+
+Oracle library files required to build driver:
+
+\list
+\i \c libclntsh.so (all versions)
+\i \c libwtc8.so (only Oracle 8) or \c libwtc9.so (only Oracle 9)
+\endlist
+
+Tell \c qmake where to find the Oracle header files and shared
+libraries (it is assumed that the variable \c $ORACLE_HOME points to
+the directory where Oracle is installed) and run make:
+
+If you are using Oracle 8:
+\code
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh -lwtc8" oci.pro
+make
+\endcode
+
+For Oracle version 9:
+\code
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh -lwtc9" oci.pro
+make
+\endcode
+
+For Oracle version 10:
+\code
+cd $QTDIR/plugins/src/sqldrivers/oci
+qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh" oci.pro
+make
+\endcode
+
+Note that some versions of the OCI client libraries contain a bug
+that makes programs linked to these libraries segfault on exit. This
+only happens if the QOCI8 driver is compiled as a plugin. To work
+around this problem, either compile the driver into the Qt libray
+itself, or configure Qt with the option '-DQT_NO_LIBRARY_UNLOAD'.
+For Oracle 9, it is possible to link to the static OCI library by
+using "LIBS+=$ORACLE_HOME/lib/libclntst9.a".
+
+\section3 How to build the plugin on Windows
+
+Choosing the option "Programmer" in the Oracle Client Installer from
+the Oracle Client Installation CD is sufficient to build the plugin.
+
+Build the plugin as follows (here it is assumed that Oracle Client is
+installed in \c{C:\oracle}):
+
+\code
+set INCLUDE=%INCLUDE%;c:\oracle\oci\include
+set LIB=%LIB%;c:\oracle\oci\lib\msvc
+cd %QTDIR%\plugins\src\sqldrivers\oci
+qmake -o Makefile oci.pro
+nmake
+\endcode
+
+When you run your application you will also need to add the \c oci.dll
+path to your \c PATH environment variable:
+
+\code
+set PATH=%PATH%;c:\oracle\bin
+\endcode
+
+If you are not using a Microsoft compiler, replace \c nmake with \c
+make in the statement above.
+
+\target QODBC3
+\section2 QODBC3 - Open Database Connectivity (ODBC)
+
+\keyword QODBC3
+
+\section3 General information
+
+ODBC is a general interface that allows you to connect to multiple
+DBMS using a common interface. The QODBC3 driver allows you to connect
+to an ODBC driver manager and access the available data sources. Note
+that you also need to install and configure ODBC drivers for the ODBC
+driver manager that is installed on your system. The QODBC3 plugin
+then allows you to use these data sources in your Qt project.
+
+On Windows systems after 95 an ODBC driver manager should be installed
+by default, for Unix systems there are some implementations which must
+be installed first. Note that every client that uses your application
+is required to have an ODBC driver manager installed, otherwise the
+QODBC3 plugin will not work.
+
+Be aware that when connecting to an ODBC datasource you must pass in
+the name of the ODBC datasource to the QSqlDatabase::setDatabaseName()
+function: not the actual database name.
+
+The QODBC3 Plugin needs an ODBC compliant driver manager version 2.0 or
+later to work. Some ODBC drivers claim to be version 2.0 compliant,
+but do not offer all the necessary functionality. The QODBC3 plugin
+therefore checks whether the data source can be used after a
+connection has been established and refuses to work if the check
+fails. If you don't like this behaviour, you can remove the \c{#define
+ODBC_CHECK_DRIVER} line from the file \c{qsql_odbc.cpp}. Do this at
+your own risk!
+
+If you experience very slow access of the ODBC datasource, make sure
+that ODBC call tracing is turned off in the ODBC datasource manager.
+
+\section3 Unicode support
+
+The QODBC3 Plugin will use the Unicode API if UNICODE is defined. On
+Windows NT based systems, this is the default. Note that the ODBC
+driver and the DBMS have to support Unicode as well.
+
+For the Oracle 9 ODBC driver (Windows), it is neccessary to check
+"SQL_WCHAR support" in the ODBC driver manager otherwise Oracle
+will convert all Unicode strings to local 8 bit.
+
+\section3 How to build the plugin on Unix/Linux
+
+It is recommended that you use unixODBC. You can find the latest
+version and ODBC drivers at \l http://www.unixodbc.org.
+You need the unixODBC header files and shared libraries.
+
+Tell \c qmake where to find the unixODBC header files and shared
+libraries (here it is assumed that unixODBC is installed in
+\c{/usr/local/unixODBC}) and run \c{make}:
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/odbc
+qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+The ODBC header and include files should already be installed in the
+right directories. You just have to build the plugin as follows:
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\odbc
+qmake -o Makefile odbc.pro
+nmake
+\endcode
+
+If you are not using a Microsoft compiler, replace \c nmake with \c
+make in the statement above.
+
+\target QPSQL7
+\section2 QPSQL7 - PostgreSQL version 6 and 7
+
+\keyword QPSQL7
+
+\section3 General information
+
+The QPSQL7 driver supports both version 6 and 7 of PostgreSQL. We
+recommend compiling the plugin with a recent version of the PostgreSQL
+client library (libpq) because it is more stable and still backwards
+compatible.
+
+If you want to link the plugin against the libpq shipped with version
+6 we recommend a recent version like PostgreSQL 6.5.3, otherwise a
+connection to a version 7 server may not work.
+
+The driver auto-detects the server version of PostgreSQL after a
+connection was successful. If the server is too old or the version
+information cannot be determined a warning is issued.
+
+For more information about PostgreSQL visit \l http://www.postgresql.org.
+
+\section3 Unicode support
+
+The QPSQL7 driver automatically detects whether the PostgreSQL
+database you are connecting to supports Unicode or not. Unicode is
+automatically used if the server supports it. Note that the driver
+only supports the UTF-8 encoding. If your database uses any other
+encoding, the server must be compiled with Unicode conversion
+support.
+
+Unicode support was introduced in PostgreSQL version 7.1 and it will
+only work if both the server and the client library have been compiled
+with multibyte support. More information about how to set up a
+multibyte enabled PostgreSQL server can be found in the PostgreSQL
+Administrator Guide, Chapter 5.
+
+\section3 BLOB support
+
+Binary Large Objects are supported through the \c BYTEA field type in
+PostgreSQL versions >= 7.1. Fields of type \c OID can be read, but not
+written. Use the PostgreSQL command \c lo_import to insert binary data
+into \c OID fields.
+
+\section3 How to build the plugin on Unix/Linux
+
+Just installing the pq client library and the corresponding header
+files is not sufficient. You have to get the PostgreSQL source
+distribution and run the configure script. If you've already installed
+a binary distribution you don't need to build it. The source
+distribution is needed because the QPSQL7 plugin relies on a couple of
+header files that are usually not a part of the binary distribution.
+
+To make \c qmake find the PostgreSQL header files and shared
+libraries, run \c qmake the following way (assuming that the
+PostgreSQL sources can be found in \c{/usr/src/psql}):
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/psql
+qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/usr/lib -lpq" psql.pro
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+Unpack and build the PostgreSQL source distribution as described in
+the PostgreSQL documentation. Assuming the PostgreSQL sources resides
+in \c{C:\psql}, build the plugin as follows:
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\psql
+qmake -o Makefile "INCLUDEPATH+=C:\psql\src\include C:\psql\src\interfaces\libpq" psql.pro
+nmake
+\endcode
+
+Remember to add the path to the \c{libpq.dll} library to your PATH
+environment variable so that Windows can find it. In this case that
+would be \c{C:\psql\src\interfaces\libpq\Release}. If you are not using a
+Microsoft compiler, replace \c nmake with \c make in the statement
+above.
+
+\target QTDS7
+\section2 QTDS7 - Sybase Adaptive Server
+
+\keyword QTDS7
+
+\section3 How to build the plugin on Unix/Linux
+
+Under Unix, two libraries are available which support the TDS protocol:
+
+- FreeTDS, a free implementation of the TDS protocol
+ (\l{http://www.freetds.org}). Note that FreeTDS is not yet stable,
+ so some functionality may not work as expected.
+
+- Sybase Open Client, available from \l{http://www.sybase.com}.
+ Note for Linux users: Get the Open Client RPM from
+ \l{http://linux.sybase.com}.
+
+Regardless of which library you use, the shared object file
+\c{libsybdb.so} is needed. Set the SYBASE environment variable to
+point to the directory where you installed the client library and
+execute \c{qmake}:
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/tds
+qmake -o Makefile "INCLUDEPATH=$SYBASE/include" "LIBS=-L$SYBASE/lib -lsybdb"
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+You can either use the DB-Library supplied by Microsoft or the Sybase
+Open Client (\l{http://www.sybase.com}). You must include \c
+NTWDBLIB.LIB to build the plugin:
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\tds
+qmake -o Makefile "LIBS+=NTWDBLIB.LIB" tds.pro
+nmake
+\endcode
+
+By default the Microsoft library is used on Windows, if you want to force
+the use of the Sybase Open Client, you must define
+\c Q_USE_SYBASE in \c{%QTDIR%\src\sql\drivers\tds\qsql_tds.cpp}.
+
+\target QDB2
+\section2 QDB2 - IBM DB2 Driver (v7.1 or higher)
+
+\keyword QDB2
+
+\section3 General information
+
+The Qt DB2 plugin makes it possible to access IBM DB2 databases. It
+has been tested with IBM DB2 v7.1 and 7.2. You have to install the IBM
+DB2 development client library, which contains the header and library
+files necessary for compiling the QDB2 plugin.
+
+The QDB2 driver supports prepared queries, reading/writing of Unicode
+strings and reading/writing of BLOBs.
+
+We suggest using a forward-only query when calling stored procedures
+in DB2 (see QSqlQuery::setForwardOnly()).
+
+\section3 How to build the plugin on Unix/Linux
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/db2
+qmake -o Makefile "INCLUDEPATH+=$DB2DIR/include" "LIBS+=-L$DB2DIR/lib -ldb2"
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+The DB2 header and include files should already be installed in the
+right directories. You just have to build the plugin as follows:
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\db2
+qmake -o Makefile "INCLUDEPATH+=<DB2 home>/sqllib/include" "LIBS+=<DB2 home>/sqllib/lib/db2cli.lib"
+nmake
+\endcode
+
+If you are not using a Microsoft compiler, replace \c nmake
+with \c make in the statement above.
+
+\target QSQLITE
+\section2 QSQLITE - SQLite Driver
+
+\keyword QSQLITE
+
+The Qt SQLite plugin makes it possible to access SQLite databases.
+SQLite is an in-process database, meaning that it is not necessary
+to have a database server. SQLite operates on a single file, which has
+to be set as database name when opening a connection. If the file does
+not exist, SQLite will try to create it. SQLite also supports in-memory
+databases, simply pass ":memory:" as the database name.
+
+SQLite has some restrictions regarding multiple users and
+multiple transactions. If you try to read/write on a resource from different
+transactions, your application might freeze until one transaction commits
+or rolls back.
+
+SQLite has no support for types, every value is treated as character data.
+BLOBs are therefore not supported.
+
+You can find information about SQLite on \l{http://www.sqlite.org}.
+
+SQLite is shipped as third party library within Qt. It can be built by
+passing the following parameters to the configure script:
+\c{-plugin-sql-sqlite} (as plugin) or \c{-qt-sql-sqlite} (linked
+directly into the Qt library).
+
+If you don't want to use the SQLite library shipped with Qt, you can
+build it manually (replace \c $SQLITE by the directory where SQLite
+resides):
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/sqlite
+qmake -o Makefile "INCLUDEPATH+=$SQLITE/include" "LIBS+=-L$SQLITE/lib -lsqlite"
+make
+\endcode
+
+\target QIBASE
+\section2 QIBASE - Borland Interbase Driver
+
+\keyword QIBASE
+
+\section3 General information
+
+The Qt Interbase plugin makes it possible to access the Interbase and
+Firebird databases. Interbase can either be used as a client/server or
+without a server operating on local files. The database file must
+exist before a connection can be established.
+
+Note that Interbase requires you to specify the full path to the
+database file, no matter whether it is stored locally or on another
+server.
+
+\code
+ myDatabase->setHostName("MyServer");
+ myDatabase->setDatabaseName("C:\\test.gdb");
+\endcode
+
+You need the Interbase/Firebird development headers and libraries
+to build this plugin.
+
+Due to the GPL, users of the Qt Open Source Edition are not allowed to link
+this plugin to the commercial editions of Interbase. Please use Firebird
+or the free edition of Interbase.
+
+\section3 How to build the plugin on Unix/Linux
+
+The following assumes Interbase or Firebird is installed in
+\c{/opt/interbase}:
+
+\code
+cd $QTDIR/plugins/src/sqldrivers/ibase
+qmake -o Makefile "INCLUDEPATH+=/opt/interbase/include" "LIBS+=-L/opt/interbase/lib" ibase.pro
+make
+\endcode
+
+\section3 How to build the plugin on Windows
+
+The following assumes Interbase or Firebird is installed in
+\c{C:\interbase}:
+
+\code
+cd %QTDIR%\plugins\src\sqldrivers\ibase
+qmake -o Makefile "INCLUDEPATH+=C:\interbase\include" ibase.pro
+nmake
+\endcode
+
+If you are not using a Microsoft compiler, replace \c nmake
+with \c make in the statement above.
+
+Note that \c{C:\interbase\bin} must be in the PATH.
+
+\target troubleshooting
+\section1 Troubleshooting
+
+You should always use client libraries that have been compiled with
+the same compiler as you are using for your project. If you cannot get
+a source distibution to compile the client libraries yourself, you
+must make sure that the pre-compiled library is compatible with
+your compiler, otherwise you will get a lot of "undefined symbols"
+errors. Some compilers have tools to convert libraries, e.g. Borland
+ships the tool \c{COFF2OMF.EXE} to convert libraries that have been
+generated with Microsoft Visual C++.
+
+If the compilation of a plugin succeeds but it cannot be loaded,
+make sure that the following requirements are met:
+
+\list
+\i Ensure that you are using a shared Qt library; you cannot use the
+ plugins with a static build.
+\i Ensure that the environment variable \c QTDIR points to the right
+ directory. Go to the \c{$QTDIR/plugins/sqldrivers} directory and
+ make sure that the plugin exists in that directory.
+\i Ensure that the client libraries of the DBMS are available on the
+ system. On Unix, run the command \c{ldd} and pass the name of the
+ plugin as parameter, for example \c{ldd libqsqlmysql.so}. You will
+ get a warning if any of the client libraries couldn't be found.
+ On Windows, you can use the dependency walker of Visual Studio.
+\endlist
+
+If you are experiencing problems with loading plugins, and see output
+like this
+
+\code
+QSqlDatabase warning: QMYSQL3 driver not loaded
+QSqlDatabase: available drivers: QMYSQL3
+\endcode
+
+the problem is probably that the plugin had the wrong build key. For
+debugging purposes, remove the corresponding entry in the
+$HOME/.qt/qt_plugins_(qtversion).rc file.
+
+The next time you try to load this plugin, it will give you a more detailed
+error message.
+
+\target development
+\section1 How to write your own database driver
+
+QSqlDatabase is responsible for loading and managing database driver
+plugins. When a database is added (see QSqlDatabase::addDatabase()),
+the appropriate driver plugin is loaded (using QSqlDriverPlugin).
+QSqlDatabase relies on the driver plugin to provide interfaces for
+QSqlDriver and QSqlResult.
+
+QSqlDriver is an abstract base class which defines the functionality
+of a SQL database driver. This includes functions such as
+QSqlDriver::open() and QSqlDriver::close(). QSqlDriver is responsible
+for connecting to a database, establish the proper environment, etc.
+In addition, QSqlDriver can create QSqlQuery objects appropriate for
+the particular database API. QSqlDatabase forwards many of its
+function calls directly to QSqlDriver which provides the concrete
+implementation.
+
+QSqlResult is an abstract base class which defines the functionality
+of a SQL database query. This includes statements such as \c{SELECT},
+\c{UPDATE}, and \c{ALTER TABLE}. QSqlResult contains functions such as
+QSqlResult::next() and QSqlResult::value(). QSqlResult is responsible
+for sending queries to the database, returning result data, etc.
+QSqlQuery forwards many of its function calls directly to QSqlResult
+which provides the concrete implementation.
+
+QSqlDriver and QSqlResult are closely connected. When implementing a
+Qt SQL driver, both of these classes must to be subclassed and the
+abstract virtual methods in each class must be implemented.
+
+To implement a Qt SQL driver as a plugin (so that it is recognized and
+loaded by the Qt library at runtime), the driver must use the
+\c Q_EXPORT_PLUGIN macro. Read the \link plugins-howto.html Qt
+Plugin\endlink documentation for more information on this. You can
+also check out how this is done in the SQL plugins that is provided
+with Qt in \c{QTDIR/plugins/src/sqldrivers} and
+\c{QTDIR/src/sql/drivers}.
+
+The following code can be used as a skeleton for a SQL driver:
+
+\code
+class QNullResult : public QSqlResult
+{
+public:
+ QNullResult( const QSqlDriver* d ): QSqlResult( d ) {}
+ ~QNullResult() {}
+protected:
+ QVariant data( int ) { return QVariant(); }
+ bool reset ( const QString& ) { return FALSE; }
+ bool fetch( int ) { return FALSE; }
+ bool fetchFirst() { return FALSE; }
+ bool fetchLast() { return FALSE; }
+ bool isNull( int ) { return FALSE; }
+ QSqlRecord record() { return QSqlRecord(); }
+ int size() { return 0; }
+ int numRowsAffected() { return 0; }
+};
+
+class QNullDriver : public QSqlDriver
+{
+public:
+ QNullDriver(): QSqlDriver() {}
+ ~QNullDriver() {}
+ bool hasFeature( DriverFeature ) const { return FALSE; }
+ bool open( const QString&,
+ const QString&,
+ const QString&,
+ const QString&,
+ int ) { return FALSE; }
+ void close() {}
+ QSqlQuery createQuery() const { return QSqlQuery( new QNullResult( this ) ); }
+};
+\endcode
+
+*/
diff --git a/doc/sql.doc b/doc/sql.doc
new file mode 100644
index 0000000..5aa8266
--- /dev/null
+++ b/doc/sql.doc
@@ -0,0 +1,1351 @@
+/****************************************************************************
+**
+** Documentation for sql programming
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+/*! \file sql/overview/connect1/main.cpp */
+/*! \file sql/overview/create_connections/main.cpp */
+/*! \file sql/overview/basicbrowsing/main.cpp */
+/*! \file sql/overview/basicbrowsing2/main.cpp */
+/*! \file sql/overview/basicdatamanip/main.cpp */
+/*! \file sql/overview/navigating/main.cpp */
+/*! \file sql/overview/retrieve1/main.cpp */
+/*! \file sql/overview/retrieve2/main.cpp */
+/*! \file sql/overview/order1/main.cpp */
+/*! \file sql/overview/order2/main.cpp */
+/*! \file sql/overview/extract/main.cpp */
+/*! \file sql/overview/insert/main.cpp */
+/*! \file sql/overview/update/main.cpp */
+/*! \file sql/overview/delete/main.cpp */
+/*! \file sql/overview/table1/main.cpp */
+/*! \file sql/overview/table2/main.cpp */
+/*! \file sql/overview/table3/main.h */
+/*! \file sql/overview/table3/main.cpp */
+/*! \file sql/overview/table4/main.h */
+/*! \file sql/overview/table4/main.cpp */
+/*! \file sql/overview/form1/main.cpp */
+/*! \file sql/overview/form2/main.h */
+/*! \file sql/overview/custom1/main.h */
+/*! \file sql/overview/custom1/main.cpp */
+/*! \file sql/overview/subclass1/main.cpp */
+/*! \file sql/overview/subclass2/main.h */
+/*! \file sql/overview/subclass2/main.cpp */
+/*! \file sql/overview/subclass3/main.h */
+/*! \file sql/overview/subclass3/main.cpp */
+/*! \file sql/overview/subclass4/main.h */
+/*! \file sql/overview/subclass4/main.cpp */
+/*! \file sql/overview/subclass5/main.h */
+/*! \file sql/overview/subclass5/main.cpp */
+
+/*! \page sql.html
+
+\title SQL Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition
+\endlink.
+\endif
+
+\table
+\row
+\i \l QSql
+\i \l QSqlCursor
+\i \l QSqlDatabase
+\i \l QSqlDriver
+\i \l QSqlDriverPlugin
+\row
+\i \l QSqlEditorFactory
+\i \l QSqlError
+\i \l QSqlField
+\i \l QSqlFieldInfo
+\i \l QSqlForm
+\row
+\i \l QSqlIndex
+\i \l QSqlPropertyMap
+\i \l QSqlQuery
+\i \l QSqlRecord
+\i \l QSqlRecordInfo
+\row
+\i \l QSqlResult
+\i \l QSqlSelectCursor
+\i31 See also: \link sql-driver.html Supported Drivers\endlink
+\endtable
+
+\tableofcontents
+
+\target Introduction
+\section1 Introduction
+
+Qt's SQL classes help you provide seamless database integration to
+your Qt applications.
+
+<blockquote>
+This overview assumes that you have at least a basic knowledge of SQL.
+You should be able to understand simple \c SELECT, \c INSERT, \c UPDATE
+and \c DELETE commands. Although the \l QSqlCursor class provides an
+interface to database browsing and editing that does not \e require a
+knowledge of SQL, a basic understanding of SQL is highly recommended. A
+standard text covering SQL databases is \e {An Introduction to Database
+Systems (7th ed.)} by C. J. Date, ISBN 0201385902.
+</blockquote>
+
+Whilst this module overview presents the classes from a purely
+programmatic point of view the \link designer-manual.book Qt
+Designer\endlink manual's "Creating Database Applications" chapter
+takes a higher-level approach demonstrating how to set up
+master-detail relationships between widgets, perform drilldown and
+handle foreign key lookups.
+
+This document is divided into six sections:
+
+\link #Architecture SQL Module Architecture \endlink. This describes
+how the classes fit together.
+
+\link #Connecting_to_Databases Connecting to Databases \endlink.
+This section explains how to set up database connections using the \l
+QSqlDatabase class.
+
+\link #Executing_SQL_commands Executing SQL Commands \endlink. This
+section demonstrates how to issue the standard data manipulation
+commands, \c SELECT, \c INSERT, \c UPDATE and \c DELETE on tables in
+the database (although any valid SQL statement can be sent to the
+database). The focus is purely on database interaction using \l
+QSqlQuery.
+
+\link #Using_QSqlCursor Using Cursors \endlink. This section explains
+how to use the QSqlCursor class which provides a simpler API than the
+raw SQL used with \l QSqlQuery.
+
+\link #Data-Aware_Widgets Data-Aware Widgets \endlink. This section shows
+how to programmatically link your database to the user interface. In
+this section we introduce the \l QDataTable, \l QSqlForm, \l
+QSqlPropertyMap and QSqlEditorFactory classes and demonstrate how to
+use custom data-aware widgets. \link designer-manual.book Qt
+Designer\endlink provides an easy visual way of achieving the same
+thing. See the \link designer-manual.book Qt Designer\endlink manual,
+\l QDataBrowser and \l QDataView for more information.
+
+\link #Subclassing_QSqlCursor Subclassing QSqlCursor \endlink. This
+section gives examples of subclassing QSqlCursor. Subclassing can be
+used to provide default and calculated values for fields (such as
+auto-numbered primary index fields), and to display calculated data,
+e.g. showing names rather than ids of foreign keys.
+
+All the examples in this document use the tables defined in the
+\link #Example_Tables Example Tables\endlink section.
+
+\target Architecture
+\section1 SQL Module Architecture
+
+The SQL classes are divided into three layers:
+
+\e {User Interface Layer.} These classes provide data-aware widgets
+that can be connected to tables or views in the database (by using a
+QSqlCursor as a data source). End users can interact directly with
+these widgets to browse or edit data. \link designer-manual.book Qt
+Designer\endlink is fully integrated with the SQL classes and can be
+used to create data-aware forms. The data-aware widgets can also be
+programmed directly with your own C++ code. The classes that support
+this layer include \l QSqlEditorFactory, \l QSqlForm, \l
+QSqlPropertyMap, \l QDataTable, \l QDataBrowser and \l QDataView.
+
+\e {SQL API Layer.} These classes provide access to databases.
+Connections are made using the \l QSqlDatabase class. Database
+interaction is achieved either by using the QSqlQuery class and
+executing SQL commands directly or by using the higher level \l
+QSqlCursor class which composes SQL commands automatically. In
+addition to \l QSqlDatabase, \l QSqlCursor and \l QSqlQuery, the SQL
+API layer is supported by QSqlError, QSqlField, QSqlFieldInfo,
+QSqlIndex, QSqlRecord and QSqlRecordInfo.
+
+\e {Driver Layer.} This comprises three classes, \l QSqlResult, \l
+QSqlDriver and QSqlDriverFactoryInterface. This layer provides the
+low level bridge between the database and the SQL classes. This layer
+is \link sql-driver.html documented separately \endlink since it is
+only relevant to driver writers, and is rarely used in standard
+database application programming. See \link sql-driver.html here
+\endlink for more information on implementing a Qt SQL driver plugin.
+
+\target Plugins
+\section1 SQL Driver Plugins
+
+The Qt SQL module can dynamically load new drivers at runtime using
+the \link plugins-howto.html Plugins \endlink.
+
+The \link sql-driver.html SQL driver documentation\endlink describes
+how to build plugins for specific database management systems.
+
+Once a plugin is built, Qt will automatically load it, and the driver
+will be available for use by QSqlDatabase (see QSqlDatabase::drivers()
+for more information).
+
+\target Connecting_to_Databases
+\section1 Connecting to Databases
+
+At least one database connection must be created and opened before the
+\l QSqlQuery or \l QSqlCursor classes can be used.
+
+If the application only needs a single database connection, the \l
+QSqlDatabase class can create a connection which is used by default
+for all SQL operations. If multiple database connections are required
+these can easily be set up.
+
+\l QSqlDatabase requires the \c qsqldatabase.h header file.
+
+\target Connecting_to_a_Single_Database
+\section1 Connecting to a Single Database
+
+Making a database connection is a simple three step process: activate
+the driver, set up the connection information, and open the
+connection.
+
+\quotefile sql/overview/connect1/main.cpp
+\skipto include
+\printline include
+\printuntil return 0
+\printline
+\caption From \l sql/overview/connect1/main.cpp
+
+First we activate the driver by calling \l QSqlDatabase::addDatabase(),
+passing the name of the driver we wish to use for this connection. At
+the time of writing the available drivers are: QODBC3 (Open Database
+Connectivity, includes Microsoft SQL Server support), QOCI8 (Oracle 8 and 9),
+QTDS7 (Sybase Adaptive Server), QPSQL7 (PostgreSQL 6 and 7),
+QMYSQL3 (MySQL), QDB2 (IBM DB2), QSQLITE (SQLite) and QIBASE (Interbase).
+Note that some of these drivers aren't included in the Qt Open Source Edition; see
+the \c README files for details.
+
+The connection which is created becomes the application's default
+database connection and will be used by the Qt SQL classes if no
+other database is specified.
+
+Second we call setDatabaseName(), setUserName(), setPassword() and
+setHostName() to initialize the connection information. Note that for
+the QOCI8 (Oracle 8 and 9) driver the TNS Service Name must be passed
+to setDatbaseName(). When connecting to ODBC data sources the Data
+Source Name (DSN) should be used in the setDatabaseName() call.
+
+Third we call open() to open the database and give us access to the
+data. If this call fails it will return FALSE; error information can
+be obtained from \l QSqlDatabase::lastError().
+
+\target Connecting_to_Multiple_Databases
+\section2 Connecting to Multiple Databases
+
+Connecting to multiple databases is achieved using the two argument form
+of \l QSqlDatabase::addDatabase() where the second argument is a unique
+identifier distinguishing the connection.
+
+In the example below we have moved the connections into their own
+function, \c createConnections(), and added some basic error handling.
+
+\code
+#define DB_SALES_DRIVER "QPSQL7"
+#define DB_SALES_DBNAME "sales"
+#define DB_SALES_USER "salesperson"
+#define DB_SALES_PASSWD "salesperson"
+#define DB_SALES_HOST "database.domain.no"
+
+#define DB_ORDERS_DRIVER "QOCI8"
+#define DB_ORDERS_DBNAME "orders"
+#define DB_ORDERS_USER "orderperson"
+#define DB_ORDERS_PASSWD "orderperson"
+#define DB_ORDERS_HOST "database.domain.no"
+
+bool createConnections();
+\endcode
+
+We set up some constants and also declare the \c createConnections()
+function in \c connection.h.
+
+\quotefile sql/overview/connection.cpp
+\skipto #include
+\printuntil return TRUE
+\printuntil }
+\caption From \l sql/overview/connection.cpp
+
+We've chosen to isolate database connection in our \c
+createConnections() function.cpp.
+
+\target create_connections
+\quotefile sql/overview/create_connections/main.cpp
+\skipto include
+\printline include
+\printuntil return 0
+\printline
+\caption From \l sql/overview/create_connections/main.cpp
+
+The static function \l QSqlDatabase::database() can be called from
+anywhere to provide a pointer to a database connection. If we call it
+without a parameter it will return the default connection. If called
+with the identifier we've used for a connection, e.g. "ORACLE", in the
+above example, it will return a pointer to the specified connection.
+
+If you create a \c main.cpp using \link designer-manual.book Qt
+Designer\endlink, it will \e not include our example
+createConnections() function. This means that applications that
+preview correctly in \link designer-manual.book Qt Designer\endlink
+will not run unless you implement your own database connections
+function.
+
+Note that in the code above the ODBC connection was not named and is
+therefore used as the default connection. \l QSqlDatabase maintains
+ownership of the pointers returned by the addDatabase() static
+function. To remove a database from the list of maintained
+connections, first close the database with QSqlDatabase::close(), and
+then remove it using the static function
+QSqlDatabase::removeDatabase().
+
+\target Executing_SQL_commands
+\section1 Executing SQL Commands Using QSqlQuery
+
+The \l QSqlQuery class provides an interface for executing SQL commands.
+It also has functions for navigating through the result sets of \c SELECT
+queries and for retrieving individual records and field values.
+
+The \l QSqlCursor class described in the next section inherits from \l
+QSqlQuery and provides a higher level interface that composes SQL
+commands for us. \l QSqlCursor is particularly easy to integrate with
+on-screen widgets. Programmers unfamiliar with SQL can safely skip this
+section and use the \l QSqlCursor class covered in
+\link #Using_QSqlCursor "Using QSqlCursor" \endlink.
+
+\target Transactions
+\section2 Transactions
+
+If the underlying database engine supports transactions
+QSqlDriver::hasFeature( QSqlDriver::Transactions ) will return TRUE.
+You can use QSqlDatabase::transaction() to initiate a transaction,
+followed by the SQL commands you want to execute within the context of
+the transaction, and then either QSqlDatabase::commit() or
+\l{QSqlDatabase::rollback()}.
+
+\target Basic_Browsing
+\section2 Basic Browsing
+
+\quotefile sql/overview/basicbrowsing/main.cpp
+\skipto include
+\printline include
+\printuntil return 0
+\printline
+\caption From \l sql/overview/basicbrowsing/main.cpp
+
+In the example above we've added an additional header file,
+\c qsqlquery.h. The first query we create, \c target, uses the default
+database and is initially empty. For the second query, \c q, we specify
+the "ORACLE" database that we want to retrieve records from. Both the
+database connections were set up in the createConnections() function we
+wrote earlier.
+
+After creating the initial \c SELECT statement, isActive() is checked
+to see if the query executed successfully. The next() function is
+used to iterate through the query results. The value() function
+returns the contents of fields as QVariants. The insertions are
+achieved by creating and executing queries against the default
+database using the \c target QSqlQuery.
+
+Note that this example and all the other examples in this document use
+the tables defined in the \link #Example_Tables Example Tables\endlink
+section.
+
+\quotefile sql/overview/basicbrowsing2/main.cpp
+\skipto count
+\printline
+\printuntil numRows
+\printline
+\printline
+\caption From \l sql/overview/basicbrowsing2/main.cpp
+
+The above code introduces a count of how many records are successfully
+inserted. Note that isActive() returns FALSE if the query, e.g. the
+insertion, fails. numRowsAffected() returns -1 if the number of rows
+cannot be determined, e.g. if the query fails.
+
+\target Basic_Data_Manipulation
+\section2 Basic Data Manipulation
+
+\quotefile sql/overview/basicdatamanip/main.cpp
+\skipto main
+\printline main
+\printuntil return ( rows
+\printline
+\caption From \l sql/overview/basicdatamanip/main.cpp
+
+This example demonstrates straightforward SQL DML (data manipulation
+language) commands. Since we did not specify a database in the \l
+QSqlQuery constructor the default database is used. \l QSqlQuery objects
+can also be used to execute SQL DDL (data definition language) commands
+such as \c{CREATE TABLE} and \c{CREATE INDEX}.
+
+\target Navigating_Result_Sets
+\section2 Navigating Result Sets
+
+Once a \c SELECT query has been executed successfully we have access
+to the result set of records that matched the query criteria. We have
+already used one of the navigation functions, next(), which can be
+used alone to step sequentially through the records. \l QSqlQuery also
+provides first(), last() and prev(). After any of these commands we
+can check that we are on a valid record by calling isValid().
+
+We can also navigate to any arbitrary record using seek(). The
+first record in the dataset is zero. The number of the last record is
+size() - 1. Note that not all databases provide the size of a
+\c SELECT query and in such cases size() returns -1.
+
+\quotefile sql/overview/navigating/main.cpp
+\skipto if (
+\printline if (
+\printuntil i == 4
+\printline
+\caption From \l sql/overview/navigating/main.cpp
+
+The example above shows some of the navigation functions in use.
+
+Not all drivers support size(), but we can interrogate the driver to
+find out:
+
+\code
+ QSqlDatabase* defaultDB = QSqlDatabase::database();
+ if ( defaultDB->driver()->hasFeature( QSqlDriver::QuerySize ) ) {
+ // QSqlQuery::size() supported
+ }
+ else {
+ // QSqlQuery::size() cannot be relied upon
+ }
+\endcode
+
+
+Once we have located the record we are interested in we may wish to
+retrieve data from it.
+
+\quotefile sql/overview/retrieve1/main.cpp
+\skipto if (
+\printline if (
+\printuntil qDebug
+\printline
+\printline
+\printline
+\printline
+\caption From \l sql/overview/retrieve1/main.cpp
+
+Note that if you wish to iterate through the record set in order the
+only navigation function you need is next().
+
+Tip: The lastQuery() function returns the text of the last query
+executed. This can be useful to check that the query you think is being
+executed is the one actually being executed.
+
+\target Using_QSqlCursor
+\section1 Using QSqlCursor
+
+The \l QSqlCursor class provides a high level interface to browsing and
+editing records in SQL database tables or views without the need to
+write your own SQL.
+
+QSqlCursor can do almost everything that QSqlQuery can, with two
+exceptions. Since cursors represent tables or views within the
+database, by default, \l QSqlCursor objects retrieve all the fields of
+each record in the table or view whenever navigating to a new
+record. If only some fields are relevant simply confine your
+processing to those and ignore the others. Or, manually disable the
+generation of certain fields using QSqlRecord::setGenerated(). Another
+approach is to create a \c VIEW which only presents the fields you're
+interested in; but note that some databases do not support editable
+views. So if you really don't want to retrieve all the fields in the
+cursor, then you should use a \l QSqlQuery instead, and customize the
+query to suit your needs. You can edit records using a \l QSqlCursor
+providing that the table or view has a primary index that uniquely
+distinguishes each record. If this condition is not met then you'll
+need to use a \l QSqlQuery for edits.
+
+QSqlCursor operates on a single record at a time. Whenever performing
+an insert, update or delete using QSqlCursor, only a single record in
+the database is affected. When navigating through records in the
+cursor, only one record at a time is available in application code.
+In addition, QSqlCursor maintains a separate 'edit buffer' which is
+used to make changes to a single record in the database. The edit
+buffer is maintained in a separate memory area, and is unnaffected by
+the 'navigation buffer' which changes as the cursor moves from record
+to record.
+
+Before we can use \l QSqlCursor objects we must first create and open
+a database connection. Connecting is described in the \link
+#Connecting_to_Databases Connecting to Databases \endlink section
+above. For the examples that follow we will assume that the
+connections have been created using the createConnections() function
+defined in the \link #create_connections QSqlDatabase example \endlink
+presented earlier.
+
+In the \link #Data-Aware_Widgets data-aware widgets \endlink section that
+follows this one we show how to link widgets to database cursors. Once
+we have a knowledge of both cursors and data-aware widgets we can
+discuss \link #Subclassing_QSqlCursor subclassing QSqlCursor \endlink.
+
+The \l QSqlCursor class requires the \c qsqlcursor.h header file.
+
+\target Retrieving_Records
+\section2 Retrieving Records
+
+\quotefile sql/overview/retrieve2/main.cpp
+\skipto include
+\printline include
+\printuntil return 0
+\printline
+\caption From \l sql/overview/retrieve2/main.cpp
+
+We create the \l QSqlCursor object, specifying the table or view to use.
+If we need to use a database other than the default we can specify it
+in the QSqlCursor constructor.
+
+The SQL executed by the cur.select() call is
+
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid FROM staff
+\endcode
+
+Next, we iterate through the records returned by this select statement
+using cur.next(). Field values are retrieved in in a similar way to
+QSqlQuery, except that we pass field names rather than numeric indexes
+to value() and setValue().
+
+\target Sorting_Data
+\section3 Sorting and Filtering Records
+
+To specify a subset of records to retrieve we can pass filtering
+criteria to the select() function. Each record that is returned will
+meet the criteria of the filter (the filter corresponds to the SQL
+statement's \c WHERE clause).
+
+\code
+ cur.select( "id > 100" );
+\endcode
+
+This select() call will execute the SQL
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.id > 100
+\endcode
+
+This will retrieve only those staff whose \c id is greater than 100.
+
+In addition to retrieving selected records we often want to specify a
+sort order for the returned records. This is achieved by creating a \l
+QSqlIndex object which contains the names of the field(s) we wish to
+sort by and pass this object to the select() call.
+
+\code
+ QSqlCursor cur( "staff" );
+ QSqlIndex nameIndex = cur.index( "surname" );
+ cur.select( nameIndex );
+\endcode
+
+Here we create a \l QSqlIndex object with one field, "surname". When
+we call the select() function we pass the index object, which
+specifies that the records should be returned sorted by
+staff.surname. Each field in the index object is used in the ORDER BY
+clause of the select statement. The SQL executed here is
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff ORDER BY staff.surname ASC
+\endcode
+
+Combining the retrieval of a subset of records and ordering the results
+is straightforward.
+
+\code
+ cur.select( "staff.surname LIKE 'A%'", nameIndex );
+\endcode
+
+We pass in a filter string (the \c WHERE clause), and the \l QSqlIndex
+object to sort by (the \c{ORDER BY} clause). This produces
+
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.surname LIKE 'A%' ORDER BY staff.surname ASC
+\endcode
+
+To sort by more than one field, an index can be created which contains
+multiple fields. Ascending and descending order can be set using
+QSqlIndex::setDescending(); the default is ascending.
+
+\quotefile sql/overview/order1/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil while
+\caption From \l sql/overview/order1/main.cpp
+
+Here we create a string list containing the fields we wish to sort by,
+in the order they are to be used. Then we create a \l QSqlIndex object
+based on these fields, finally executing the select() call using this
+index. This executes
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff ORDER BY staff.surname ASC, staff.forename ASC
+\endcode
+
+If we need to retrieve records with fields that match specific criteria we
+can create a filter based on an index.
+
+\quotefile sql/overview/order2/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil while
+\caption From \l sql/overview/order2/main.cpp
+
+This executes
+\code
+ SELECT staff.id, staff.forename, staff.surname, staff.salary, staff.statusid
+ FROM staff WHERE staff.surname='Bloggs' ORDER BY staff.id ASC, staff.forename ASC
+\endcode
+
+The "order" \l QSqlIndex contains two fields, "id" and "forename"
+which are used to order the results. The "filter" \l QSqlIndex
+contains a single field, "surname". When an index is passed as a
+filter to the select() function, for each field in the filter, a
+\e{fieldname=value} subclause is created where the value
+is taken from the current cursor's value for that field. We use
+setValue() to ensure that the value used is the one we want.
+
+\target Extracting_Data
+\section3 Extracting Data
+
+\quotefile sql/overview/extract/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil qDebug
+\printline
+\caption From \l sql/overview/extract/main.cpp
+
+In this example we begin by creating a cursor on the creditors table.
+We create two \l QSqlIndex objects. The first, "order", is created
+from the "orderFields" string list. The second, "filter", is created
+from the "filterFields" string list. We set the values of the two
+fields used in the filter, "surname" and "city", to the values we're
+interested in. Now we call select() which generates and executes the
+following SQL:
+\code
+ SELECT creditors.city, creditors.surname, creditors.forename, creditors.id
+ FROM creditors
+ WHERE creditors.surname = 'Chirac' AND creditors.city = 'Paris'
+ ORDER BY creditors.surname ASC, creditors.forename ASC
+\endcode
+The filter fields are used in the \c WHERE clause. Their values are
+taken from the cursor's current values for those fields; we set these
+values ourselves with the setValue() calls. The order fields are used
+in the \c{ORDER BY} clause.
+
+Now we iterate through each matching record (if any). We retrieve the
+contents of the id, forename and surname fields and pass them on to
+some processing function, in this example a simple qDebug() call.
+
+\target Manipulating_Records
+\section2 Manipulating Records
+
+Records can be inserted, updated or deleted in a table or view using a
+\l QSqlCursor providing that the table or view has a primary index
+that uniquely distinguishes each record. If this is not the case a \l
+QSqlQuery must be used instead. (Note that not all databases support
+editable views.)
+
+Each cursor has an internal 'edit buffer' which is used by all the
+edit operations (insert, update and delete). The editing process is
+the same for each operation: acquire a pointer to the relevant buffer;
+call setValue() to prime the buffer with the values you want; call
+insert() or update() or del() to perform the desired operation. For
+example, when inserting a record using a cursor, you call
+primeInsert() to get a pointer to the edit buffer and then call
+setValue() on this buffer to set each field's value. Then you call
+QSQlCursor::insert() to insert the contents of the edit buffer into
+the database. Similarly, when updating (or deleting) a record, the
+values of the fields in the edit buffer are used to update (or delete)
+the record in the database. The 'edit buffer' is unaffected by any
+\link #Navigating_Result_Sets cursor navigation \endlink functions.
+Note that if you pass a string value to setValue() any single quotes
+will be escaped (turned into a pair of single quotes) since a single
+quote is a special character in SQL.
+
+The primeInsert(), primeUpdate() and primeDelete() methods all return
+a pointer to the internal edit buffer. Each method can potentially
+perform different operations on the edit buffer before returning it.
+By default, QSqlCursor::primeInsert() clears all the field values in
+the edit buffer (see \l QSqlRecord::clearValues()). Both \l
+QSqlCursor::primeUpdate() and QSqlCursor::primeDelete() initialize the
+edit buffer with the current contents of the cursor before returning
+it. All three of these functions are virtual, so you can redefine the
+behavior (for example, reimplementing primeInsert() to auto-number
+fields in the edit buffer). Data-aware user-interface controls emit
+signals, e.g. primeInsert(), that you can connect to; these pass a
+pointer to the appropriate buffer so subclassing may not be necessary.
+See \link #Subclassing_QSqlCursor subclassing QSqlCursor \endlink for
+more information on subclassing; see the \link designer-manual.book Qt
+Designer\endlink manual for more on connecting to the primeInsert()
+signal.
+
+When insert(), update() or del() is called on a cursor, it will be
+invalidated and will no longer be positioned on a valid record. If you
+need to move to another record after performing an insert(), update()
+or del() you must make a fresh select() call. This ensures that
+changes to the database are accurately reflected in the cursor.
+
+\target Inserting_Records
+\section3 Inserting Records
+
+\quotefile sql/overview/insert/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil }
+\caption From \l sql/overview/insert/main.cpp
+
+In this example we create a cursor on the "prices" table. Next we
+create a list of product names which we iterate over. For each
+iteration we call the cursor's primeInsert() method. This method
+returns a pointer to a \l QSqlRecord buffer in which all the fields
+are set to \c NULL. (Note that QSqlCursor::primeInsert() is virtual,
+and can be customized by derived classes. See \l QSqlCursor). Next we
+call setValue() for each field that requires a value. Finally we call
+insert() to insert the record. The insert() call returns the number of
+rows inserted.
+
+We obtained a pointer to a \l QSqlRecord object from the primeInsert()
+call. QSqlRecord objects can hold the data for a single record plus some
+meta-data about the record. In practice most interaction with a
+QSqlRecord consists of simple value() and setValue() calls as shown in
+this and the following example.
+
+\target Updating_Records
+\section3 Updating Records
+
+\quotefile sql/overview/update/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil update
+\printline
+\caption From \l sql/overview/update/main.cpp
+
+This example begins with the creation of a cursor over the prices table.
+We select the record we wish to update with the select() call and
+move to it with the next() call. We call primeUpdate() to get a \l
+QSqlRecord pointer to a buffer which is populated with the contents of
+the current record. We retrieve the value of the price field, calculate
+a new price, and set the the price field to the newly calculated value.
+Finally we call update() to update the record. The update() call returns
+the number of rows updated.
+
+If many identical updates need to be performed, for example increasing
+the price of every item in the price list, using a single SQL statement
+with \l QSqlQuery is more efficient, e.g.
+
+\code
+ QSqlQuery query( "UPDATE prices SET price = price * 1.05" );
+\endcode
+
+\target Deleting_Records
+\section3 Deleting Records
+
+\quotefile sql/overview/delete/main.cpp
+\skipto QSqlCursor
+\printline QSqlCursor
+\printuntil del
+\caption From \l sql/overview/delete/main.cpp
+
+To delete records, select the record to be deleted and navigate to it.
+Then call primeDelete() to populate the cursor with the primary key
+of the selected record, (in this example, the \c prices.id field), and
+then call QSqlCursor::del() to delete it.
+
+As with update(), if multiple deletions need to be made with some common
+criteria it is more efficient to do so using a single SQL statement,
+e.g.
+
+\code
+ QSqlQuery query( "DELETE FROM prices WHERE id >= 2450 AND id <= 2500" );
+\endcode
+
+\target Data-Aware_Widgets
+\section1 Data-Aware Widgets
+
+Data-Aware Widgets provide a simple yet powerful means of connecting
+databases to Qt user interfaces. The easiest way of creating and
+manipulating data-aware widgets is with \link designer-manual.book Qt
+Designer\endlink. For those who prefer a purely programmatic approach
+the following examples and explanations provide an introduction. Note
+that the "Creating Database Applications" chapter of the \link
+designer-manual.book Qt Designer\endlink manual and its accompanying
+examples provides additional information.
+
+\target Data-Aware_Tables
+\section2 Data-Aware Tables
+
+\quotefile sql/overview/table1/main.cpp
+\skipto include
+\printline include
+\printuntil return 0
+\printline
+\caption From \l sql/overview/table1/main.cpp
+
+Data-Aware tables require the \c qdatatable.h and \c qsqlcursor.h header
+files. We create our application object, call createConnections() and
+create the cursor. We create the \l QDataTable passing it a pointer to
+the cursor, and set the autoPopulate flag to TRUE. Next we make our \l
+QDataTable the main widget and call refresh() to populate it with data
+and call show() to make it visible.
+
+The autoPopulate flag tells the \l QDataTable whether or nor it should
+create columns based on the cursor. autoPopulate does not affect the
+loading of data into the table; that is achieved by the refresh()
+function.
+
+\quotefile sql/overview/table2/main.cpp
+\skipto staffCursor
+\printline staffCursor
+\printuntil show
+\caption From \l sql/overview/table2/main.cpp
+
+We create an empty \l QDataTable which we make into our main widget and
+then we manually add the columns we want in the order we wish them to
+appear. For each column we specify the field name and optionally a
+display label.
+
+We have also opted to sort the rows in the table; this could also have
+been achieved by applying the sort to the cursor itself.
+
+Once everything is set up we call refresh() to load the data from the
+database and show() to make the widget visible.
+
+QDataTables only retrieve visible rows which (depending on the driver)
+allows even large tables to be displayed very quickly with minimal
+memory cost.
+
+\target Creating_Forms
+\section2 Creating Data-Aware Forms
+
+Creating data-aware forms is more involved than using data-aware
+tables because we must take care of each field individually. Most of
+the code below can be automatically generated by \link
+designer-manual.book Qt Designer\endlink. See the \link
+designer-manual.book Qt Designer\endlink manual for more details.
+
+\target Displaying_a_Record
+\section3 Displaying a Record
+
+\quotefile sql/overview/form1/main.cpp
+\skipto include
+\printline include
+\printuntil app.exec
+\printline
+\caption From \l sql/overview/form1/main.cpp
+
+We include the header files for the widgets that we need. We also
+include \c qsqldatabase.h and \c qsqlcursor.h as usual, but we now add
+\c qsqlform.h.
+
+The form will be presented as a dialog so we subclass \l QDialog with
+our own FormDialog class. We use a \l QLineEdit for the salary so that
+the user can change it. All the widgets are laid out using a grid.
+
+We create a cursor on the staff table, select all records and move to
+the first record.
+
+Now we create a \l QSqlForm object and set the QSqlForm's record buffer
+to the cursor's update buffer. For each widget that we wish to make
+data-aware we insert a pointer to the widget and the associated field
+name into the \l QSqlForm. Finally we call readFields() to populate the
+widgets with data from the database via the cursor's buffer.
+
+\target Displaying_a_Record_in_a_DataForm
+\section3 Displaying a Record in a Data Form
+
+\l QDataView is a Widget that can hold a read-only \l QSqlForm. In
+addition to \l QSqlForm it offers the slot refresh( \l QSqlRecord * ) so it
+can easily be linked together with a \l QDataTable to display a detailed
+view of a record:
+
+\code
+ connect( myDataTable, SIGNAL( currentChanged( QSqlRecord* ) ),
+ myDataView, SLOT( refresh( QSqlRecord* ) ) );
+\endcode
+
+\target Editing_a_Record
+\section3 Editing a Record
+
+This example is similar to the previous one so we will focus on the
+differences.
+
+\quotefile sql/overview/form2/main.h
+\skipto class
+\printline class
+\printuntil };
+\caption From \l sql/overview/form2/main.h
+
+The save slot will be used for a button that the user can press to
+confirm their update. We also hold pointers to the \l QSqlCursor and the
+\l QSqlForm since they will need to be accessed outside the constructor.
+
+\quotefile sql/overview/form2/main.cpp
+\skipto setTrimmed
+\printline setTrimmed
+\printline
+
+We call setTrimmed() on the text fields so that any spaces used to
+right pad the fields are removed when the fields are retrieved.
+
+Properties that we might wish to apply to fields, such as alignment
+and validation are achieved in the conventional way, for example, by
+calling QLineEdit::setAlignment() and QLineEdit::setValidator().
+
+\skipto forenameEdit
+\printline forenameEdit
+
+\skipto saveButton
+\printline saveButton
+\printline connect
+
+The FormDialog constructor is similar to the one in the previous
+example. We have changed the forename and surname widgets to
+\l{QLineEdit}s to make them editable and have added a \l QPushButton
+the user can click to save their updates.
+
+\skipto saveButton
+\printline saveButton
+
+We add an extra row to the grid containing the save button.
+
+\skipto staffCursor
+\printline staffCursor
+\printuntil first
+
+We create a \l QSqlIndex object and then execute a select() using the
+index. We then move to the first record in the result set.
+
+\skipto new QSqlForm
+\printline
+\printline
+
+We create a new QSqlForm object and set it's record buffer to the
+cursor's update buffer.
+
+\skipto insert
+\printline insert
+\printuntil readFields
+
+Now we link the buffer's fields to the \l QLineEdit controls. (In the
+previous example we linked the cursor's fields.) The edit controls are
+populated by the readFields() call as before.
+
+\skipto FormDialog::
+\printline FormDialog::
+\printuntil }
+
+In the destructor we don't have to worry about the widgets or QSqlForm
+since they are children of the form and will be deleted by Qt at the
+right time.
+
+\skipto save
+\printline save
+\printuntil }
+
+Finally we add the save functionality for when the user presses the
+save button. We write back the data from the widgets to the \l
+QSqlRecord buffer with the writeFields() call. Then we update the
+database with the updated version of the record with the cursor's
+update() function. At this point the cursor is no longer positioned at
+a valid record so we reissue the select() call using our \l QSqlIndex
+and move to the first record.
+
+QDataBrowser and QDataView are widgets which provide a great deal of
+the above functionality. \l QDataBrowser provides a data form which
+allows editing of and navigation through a cursor's records. \l
+QDataView provides a read only form for data in a cursor or database
+record. See the class documentation or the \link designer-manual.book
+Qt Designer\endlink manual for more information on using these
+widgets.
+
+Link to \l sql/overview/form2/main.cpp
+
+\target Custom_Editor_Widgets
+\section2 Custom Editor Widgets
+
+QSqlForm uses QSqlPropertyMap to handle the transfer of data between
+widgets and database fields. Custom widgets can also be used in a form
+by installing a property map that contains information about the
+properties of the custom widget which should be used to transfer the
+data.
+
+This example is based on the form2 example in the previous section so
+we will only cover the differences here. The full source is in \l
+sql/overview/custom1/main.h and \l sql/overview/custom1/main.cpp
+
+\quotefile sql/overview/custom1/main.h
+\skipto CustomEdit
+\printline CustomEdit
+\printuntil };
+
+We've created a simple subclass of QLineEdit and added a property,
+upperLineText, which will hold an uppercase version of the text. We
+also created a slot, changed().
+
+\skipto propMap
+\printline propMap
+
+We will be using a property map so we add a pointer to a property map
+to our FormDialog's private data.
+
+\quotefile sql/overview/custom1/main.cpp
+\skipto CustomEdit
+\printline CustomEdit
+\printuntil }
+
+In the CustomEdit constructor we use the QLineEdit constructor and add
+a connection between the textChanged signal and our own changed slot.
+
+\skipto changed
+\printline changed
+\printuntil }
+
+The changed() slot calls our setUpperLine() function.
+
+\skipto setUpperLine
+\printline setUpperLine
+\printuntil }
+
+The setUpperLine() function places an uppercase copy of the text in the
+upperLineText buffer and then sets the text of the widget to this text.
+
+Our CustomEdit class ensures that the text entered is always uppercase
+and provides a property that can be used with a property map to link
+CustomEdit instances directly to database fields.
+
+\skipto FormDialog
+\skipto CustomEdit
+\printline CustomEdit
+
+\skipto CustomEdit
+\printline CustomEdit
+
+We use the same FormDialog as we did before, but this time replace two
+of the QLineEdit widgets with our own CustomEdit widgets.
+
+Laying out the grid and setting up the cursor is the same as before.
+
+\skipto propMap
+\printline propMap
+\printline propMap
+
+We create a new property map on the heap and register our CustomEdit
+class and its upperLine property with the property map.
+
+\skipto QSqlForm
+\printline QSqlForm
+\printline
+\printline propMap
+
+The final change is to install the property map into the QSqlForm once
+the QSqlForm has been created. This passes responsibility for the
+property map's memory to QSqlForm which itself is owned by the
+FormDialog, so Qt will delete them at the right time.
+
+The behaviour of this example is identical to the previous one except
+that the forename and surname fields will be uppercase since they use
+our CustomEdit widget.
+
+\target Custom_Editor_Widgets_for_Tables
+\section3 Custom Editor Widgets for Tables
+
+We must reimpliment QSqlEditorFactory to use custom editor widgets in
+tables. In the following example we will create a custom editor based
+on QComboBox and a QSqlEditorFactory subclass to show how a QDataTable
+can use a custom editor.
+
+\quotefile sql/overview/table3/main.h
+\skipto StatusPicker
+\printline StatusPicker
+\printuntil };
+\caption From \l sql/overview/table3/main.h
+
+We create a property, statusid, and define our READ and WRITE methods
+for it. The statusid's in the status table will probably be different
+from the combobox's indexes so we create a QMap to map combobox indexes
+to/from the statusids that we will list in the combobox.
+
+\skipto CustomSqlEditor
+\printline CustomSqlEditor
+\printuntil };
+
+We also need to subclass QSqlEditorFactory declaring a createEditor()
+function since that is the only function we need to reimplement.
+
+\quotefile sql/overview/table3/main.cpp
+\skipto StatusPicker
+\printline StatusPicker
+\printuntil index2id
+\printline
+\printline
+\caption From \l sql/overview/table3/main.cpp
+
+In the StatusPicker's constructor we create a cursor over the status
+table indexed by the name field. We then iterate over each record in the
+status table inserting each name into the combobox. We store the
+statusid for each name in the index2id QMap using the same QMap index as
+the combobox index.
+
+\skipto StatusPicker
+\printline StatusPicker
+\printuntil }
+
+The statusid property READ function simply involves looking up the
+combobox's index for the currently selected item in the index2id QMap
+which maps combobox indexes to statusids.
+
+\skipto StatusPicker
+\printline StatusPicker
+\printuntil }
+\printline
+\printline
+
+The statusId() function implements the statusid property's WRITE
+function. We create an iterator over a QMap and iterate over the
+index2id QMap. We compare each index2id element's data (statusid) to
+the id parameter's value. If we have a match we set the combobox's
+current item to the index2id element's key (the combobox index), and
+leave the loop.
+
+When the user edits the status field in the QDataTable they will be
+presented with a combobox of valid status names taken from the status
+table. However the status displayed is still the raw statusid. To
+display the status name when the field isn't being edited requires us
+to subclass QDataTable and reimplement the paintField() function.
+
+\quotefile sql/overview/table4/main.h
+\skipto CustomTable
+\printline CustomTable
+\printuntil };
+\caption From \l sql/overview/table4/main.h
+
+We simply call the original QDataTable constructor without changing
+anything. We also declare the paintField function.
+
+\quotefile sql/overview/table4/main.cpp
+\skipto CustomTable
+\printline CustomTable
+\printuntil QDataTable
+\printline
+\caption From \l sql/overview/table4/main.cpp
+
+The paintField code is based on QDataTable's source code. We need to
+make three changes. Firstly add an if clause \c{field->name() ==
+"statusid"} and look up the textual value for the id with a
+straighforward QSqlQuery. Secondly call the superclass to handle other
+fields. The last change is in our main function where we change
+staffTable from being a QDataTable to being a CustomTable.
+
+\target Subclassing_QSqlCursor
+\section1 Subclassing QSqlCursor
+
+\quotefile sql/overview/subclass1/main.cpp
+\skipto include
+\printline include
+\printuntil return 1
+\printline
+\caption From \l sql/overview/subclass1/main.cpp
+
+This example is very similar to the table1 example presented earlier. We
+create a cursor, add the fields and their display labels to a QDataTable,
+call refresh() to load the data and call show() to show the widget.
+
+Unfortunately this example is unsatisfactory. It is tedious to set the
+table name and any custom characteristics for the fields every time we
+need a cursor over this table. And it would be far better if we
+displayed the name of the product rather than its pricesid. Since we
+know the price of the product and the quantity we could also show the
+product cost and the cost of each invoiceitem. Finally it would be
+useful (or even essential for primary keys) if we could default some of
+the values when the user adds a new record.
+
+\quotefile sql/overview/subclass2/main.h
+\skipto InvoiceItem
+\printline InvoiceItem
+\printuntil };
+\caption From \l sql/overview/subclass2/main.h
+
+We have created a separate header file and subclassed QSqlCursor.
+
+\quotefile sql/overview/subclass2/main.cpp
+\skipto InvoiceItem
+\printline InvoiceItem
+\printuntil }
+\caption From \l sql/overview/subclass2/main.cpp
+
+In our class's constructor we call the QSqlCursor constructor with the
+name of the table. We don't have any other characteristics to add at
+this stage.
+
+\skipto InvoiceItemCursor
+\printline InvoiceItemCursor
+
+Whenever we require a cursor over the invoiceitem table we can create
+an InvoiceItemCursor instead of a generic QSqlCursor.
+
+We still need to show the product name rather than the pricesid.
+
+\quotefile sql/overview/subclass3/main.h
+\skipto protected
+\printline protected
+\printline
+\caption From \l sql/overview/subclass3/main.h
+
+The change in the header file is minimal: we simply add the signature
+of the calculateField() function since we will be reimplementing it.
+
+\quotefile sql/overview/subclass3/main.cpp
+\skipto InvoiceItem
+\printline InvoiceItem
+\printuntil return QVariant
+\printline
+\caption From \l sql/overview/subclass3/main.cpp
+
+We have changed the InvoiceItemCursor constructor. We now create a new
+QSqlField called productname and append this to the
+InvoiceItemCursor's set of fields. We call setCalculated() on
+productname to identify it as a calculated field. The first argument
+to setCalculated() is the field name, the second a bool which if TRUE
+signifies that calculateField() must be called to get the field's
+value.
+
+\skipto addColumn
+\printline addColumn
+
+We add our new fields with addColumn() which adds them to the form and
+sets their display names.
+
+We have to define our own calculateField() function. In our example
+database the pricesid in the invoiceitem table is a foreign key into
+the prices table. We find the name of the product by executing a query
+on the prices table using the pricesid. This returns the product's
+name.
+
+We are now able to extend the example to include calculated fields
+which perform real calculations.
+
+The header file, \l sql/overview/subclass4/main.h, remains unchanged
+from the previous example, but the constructor and calculateField()
+function require some simple expansion. We'll look at each in turn.
+
+\quotefile sql/overview/subclass4/main.cpp
+\skipto InvoiceItem
+\printline InvoiceItem
+\printuntil }
+\caption From \l sql/overview/subclass4/main.cpp
+
+We create two extra fields, price and cost, and append them to the
+cursor's set of fields. Both are registered as calculated fields with
+calls to setCalculated().
+
+\skipto InvoiceItem
+\printline InvoiceItem
+\printuntil QString::null
+\printline
+\caption From \l sql/overview/subclass4/main.cpp
+
+The calculateField() function has expanded slightly because now we
+must calculate the value of three different fields. The productname
+and price fields are produced by looking up the corresponding values
+in the prices table keyed by pricesid. The cost field is calculated
+simply by multiplying the price by the quantity. Note that we cast the
+cost to a QVariant since that is the type that calculateField() must
+return.
+
+We've written three separate queries rather than one to make the
+example more like a real application where it is more likely that each
+calculated field would be a lookup against a different table or view.
+
+The last feature that we need to add is defaulting values when the
+user attempts to insert a new record.
+
+\quotefile sql/overview/subclass5/main.h
+\skipto primeInsert
+\printline primeInsert
+\caption From \l sql/overview/subclass5/main.h
+
+We declare our own primeInsert() function since we will need to
+reimplement this.
+
+The constructor and the calculateField() function remain unchanged.
+
+\quotefile sql/overview/subclass5/main.cpp
+\skipto primeInsert
+\printline primeInsert
+\printuntil }
+\caption From \l sql/overview/subclass5/main.cpp
+
+We get a pointer to the internal edit buffer that the cursor uses for
+inserts and updates. The id field is a unique integer that we generate
+using the invoiceitem_seq. We default the value of the paiddate field
+to today's date and default the quantity to 1. Finally we return a
+pointer to the buffer. The rest of the code is unchanged from the
+previous version.
+
+\target Example_Tables
+\section1 The Example Tables
+
+The example tables used can be recreated with the following standard
+SQL. You may need to modify the SQL to match that used by your
+particular database.
+
+\code
+create table people (id integer primary key, name char(40))
+
+create table staff (id integer primary key, forename char(40),
+ surname char(40), salary float, statusid integer)
+
+create table status (id integer primary key, name char(30))
+
+create table creditors (id integer primary key, forename char(40),
+ surname char(40), city char(30))
+
+create table prices (id integer primary key, name char(40), price float)
+
+create table invoiceitem (id integer primary key,
+ pricesid integer, quantity integer,
+ paiddate date)
+\endcode
+
+A sequence was used in the calculateField() example above. Note that
+sequences are not supported in all databases.
+
+\code
+create sequence invoiceitem_seq
+\endcode
+
+*/
diff --git a/doc/table.doc b/doc/table.doc
new file mode 100644
index 0000000..f6e26a9
--- /dev/null
+++ b/doc/table.doc
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Documentation for table programming
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page table.html
+
+\title Table Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise
+Edition\endlink.
+\endif
+
+The table module provides a flexible and editable table widget, \l
+QTable. For many applications QTables can be used directly and simply,
+providing a grid of editable cells. QTable can also be subclassed in a
+straightforward way to provide very large sparse tables, e.g. one
+million by one million cells.
+
+\link qtable.html <img src="qtable.png" alt="Screenshot of QTable"> \endlink
+
+The table module provides the following classes:
+\list
+\i \l QTable itself is the widget of choice whenever you need to
+ provide your users with the ability to display and edit
+ tabular data such as spreadsheet or database data.
+\i \l QTableItem objects are used to populate a QTable with data with
+each table item holding the contents of a cell.
+\i The \l QComboTableItem class provides memory-efficient combobox items for QTables.
+\i The \l QCheckTableItem class provides memory-efficient checkbox items for QTables.
+\i \l QTableSelection provides access to selections of cells in a QTable.
+\i QHeader provides access to the table's horizontal header (column
+headers) and vertical header (row headers).
+\endlist
+
+See the appropriate class documentation for details and refer to the
+\link table-examples.html Qt table examples\endlink.
+
+*/
diff --git a/doc/threads.doc b/doc/threads.doc
new file mode 100644
index 0000000..febd0d1
--- /dev/null
+++ b/doc/threads.doc
@@ -0,0 +1,371 @@
+/****************************************************************************
+**
+**
+** Qt thread support
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page threads.html
+
+\title Thread Support in Qt
+
+\tableofcontents
+
+\section1 Introduction
+
+Qt provides thread support in the form of basic platform-independent
+threading classes, a thread-safe way of posting events, and a global
+Qt library lock that allows you to call Qt methods from different
+threads.
+
+This document is intended for an audience that has knowledge of, and
+experience with, multithreaded applications. If you are new to
+threading see our \link #reading Recommended Reading\endlink list.
+
+
+\section1 Enabling Thread Support
+
+When Qt is installed on Windows, thread support is an option on some
+compilers.
+
+On Mac OS X and Unix, thread support is enabled by adding the
+\c{-thread} option when running the \c{configure} script. On Unix
+platforms where multithreaded programs must be linked in special ways,
+such as with a special libc, installation will create a separate
+library, \c{libqt-mt} and hence threaded programs must be linked
+against this library (with \c{-lqt-mt}) rather than the standard Qt
+library.
+
+On both platforms, you should compile with the macro \c
+QT_THREAD_SUPPORT defined (e.g. compile with
+\c{-DQT_THREAD_SUPPORT}). On Windows, this is usually done by an
+entry in \c{qconfig.h}.
+
+\section1 The Thread Classes
+
+These classes are built into the Qt library when thread support is enabled:
+
+\list
+\i QThread - Provides the means to start a new thread, which begins
+execution in your reimplementation of QThread::run(). This is similar
+to the Java thread class.
+
+\i QThreadStorage - Provides per-thread data storage. This class can
+only be used with threads started with QThread; it cannot be used with
+threads started with platform-specific APIs.
+
+\i QMutex - Provides a mutual exclusion lock (also know as a mutex).
+\i QMutexLocker - A convenience class which automatically locks and
+unlocks a QMutex. QMutexLocker is useful in complicated code, or in
+code which uses exceptions. See the documentation for more details.
+\i QWaitCondition - Provides a way for threads to go to sleep until
+woken up by another thread.
+\i QSemaphore - Provides a simple integer semaphore.
+\endlist
+
+\section1 Important Definitions
+
+\target reentrant
+\target threadsafe
+
+When using Qt in a multithreaded program, it is important to
+understand the definition of the terms \e reentrant and \e
+thread-safe:
+
+\list
+\i \e reentrant - Describes a function which can be called
+simultaneously by multiple threads when each invocation of the
+function references unique data. Calling a reentrant function
+simultaneously with the same data is not safe, and such invocations
+should be serialized.
+\i \e thread-safe - Describes a function which can be called
+simultaneously by multiple threads when each invocation references
+shared data. Calling a thread-safe function simultaneously with the
+same data is safe, since all access to the shared data are serialized.
+\endlist
+
+Note that Qt provides both implictly and explicitly shared
+classes. For more information, see the \link
+threads.html#threads-shared Threads and Shared Data \endlink
+section.
+
+Most C++ member functions are inherently reentrant, since they only
+reference class member data. Any thread can call such a member
+function on an instance, as long as no other thread is calling a
+member function on the same instance. For example, given the class \c
+Number below:
+
+\code
+ class Number
+ {
+ public:
+ inline Number( int n ) : num( n ) { }
+
+ inline int number() const { return num; }
+ inline void setNumber( int n ) { num = n; }
+
+ private:
+ int num;
+ };
+\endcode
+
+The methods \c Number::number() and \c Number::setNumber() are
+reentrant, since they only reference unique data. Only one thread at
+a time can call member functions on each instance of \c Number.
+However, multiple threads can call member functions on separate
+instances of \c Number.
+
+Thread-safe functions usually use a mutex (e.g a QMutex) to serialize
+access to shared data. Because of this, thread-safe functions are
+usually slower than reentrant functions, because of the extra overhead
+of locking and unlocking the mutex. For example, given the class \c
+Counter below:
+
+\code
+ class Counter
+ {
+ public:
+ inline Counter() { ++instances; }
+ inline ~Counter() { --instances; }
+
+ private:
+ static int instances;
+ };
+\endcode
+
+Since the modifications of the static \c instances integer are not
+serialized, this class is not thread-safe. So make it threadsafe, a
+mutex must be used:
+
+\code
+ class Counter
+ {
+ public:
+ inline Counter()
+ {
+ mutex.lock();
+ ++instances;
+ mutex.unlock();
+ }
+
+ ...
+ private:
+ static QMutex mutex;
+ static int instances;
+ };
+\endcode
+
+\section1 Thread-safe Event Posting
+
+In Qt, one thread is always the GUI or event thread. This is the
+thread that creates a QApplication object and calls
+QApplication::exec(). This is also the initial thread that calls
+main() at program start. This thread is the only thread that is
+allowed to perform GUI operations, including generating and receiving
+events from the window system. Qt does not support creating
+QApplication and running the event loop (with QApplication::exec()) in
+a secondary thread. You must create the QApplication object and call
+QApplication::exec() from the main() function in your program.
+
+Threads that wish to display data in a widget cannot modify the widget
+directly, so they must post an event to the widget using
+QApplication::postEvent(). The event will be delivered later on by
+the GUI thread.
+
+Normally, the programmer would like to include some information in the
+event sent to the widget. See the documentation for QCustomEvent for
+more information on user-defined events.
+
+\section1 Threads and QObject subclasses
+
+The QObject class itself is \e reentrant. However, certain rules
+apply when creating and using QObjects in a thread that is not the GUI
+thread.
+
+\list 1
+
+\i \e None of the QObject based classes included in the Qt library are
+\e reentrant. This includes all widgets (e.g. QWidget and
+subclasses), OS kernel classes (e.g. QProcess, QAccel, QTimer), and
+all networking classes (e.g. QSocket, QDns).
+
+\i QObject and all of its subclasses are \e not \e thread-safe. This
+includes the entire event delivery system. It is important to
+remember that the GUI thread may be delivering events to your QObject
+subclass while you are accessing the object from another thread. If
+you are using QObject in a thread that is not the GUI thread, and you
+are handling events sent to this object, you \e must protect all
+access to your data with a mutex; otherwise you may experience crashes
+or other undesired behavior.
+
+\i As a corollary to the above, deleting a QObject while pending
+events are waiting to be delivered can cause a crash. You must not
+delete the QObject directly from a thread that is not the GUI thread.
+Use the QObject::deleteLater() method instead, which will cause the
+event loop to delete the object after all pending events have been
+delivered to the object.
+
+\endlist
+
+\section1 The Qt Library Mutex
+
+QApplication includes a mutex that is used to protect access to window
+system functions. This mutex is locked while the event loop is
+running (e.g. during event delivery) and unlocked when the eventloop
+goes to sleep. Note: The Qt event loop is recursive, and the library
+mutex is \e not unlocked when re-entering the event loop (e.g. when
+executing a modal dialog with QDialog::exec()).
+
+If another thread locks the Qt library mutex, then the event loop will
+stop processing events, and the locking thread may do simple GUI
+operations. Operations such as creating a QPainter and drawing a line
+are examples of simple GUI operations:
+
+\code
+ ...
+ qApp->lock();
+
+ QPainter p;
+ p.begin( mywidget );
+ p.setPen( QColor( "red" ) );
+ p.drawLine( 0,0,100,100 );
+ p.end();
+
+ qApp->unlock();
+ ...
+\endcode
+
+Any operations that generate events must not be called by any thread
+other than the GUI thread. Examples of such operations are:
+
+\list
+\i creating a QWidget, QTimer, QSocketNotifier, QSocket or other network class.
+\i moving, resizing, showing or hiding a QWidget.
+\i starting or stoping a QTimer.
+\i enabling or disabling a QSocketNotifier.
+\i using a QSocket or other network class.
+\endlist
+
+Events generated by these operations will be lost on some platforms.
+
+\section1 Threads and Signals and Slots
+
+The Signals and Slots mechanism can be used in separate threads, as
+long as the rules for QObject based classes are followed. The Signals
+and Slots mechanism is synchronous: when a signal is emitted, all
+slots are called immediately. The slots are executed in the thread
+context that emitted the signal.
+
+\warning Slots that generate window system events or use window system
+functions \e must \e not be connected to a signal that is emitted from
+a thread that is not the GUI thread. See the Qt Library Mutex section
+above for more details.
+
+\target threads-shared
+\section1 Threads and Shared Data
+
+Qt provides many implicitly shared and explicitly shared classes. In
+a multithreaded program, multiple instances of a shared class can
+reference shared data, which is dangerous if one or more threads
+attempt to modify the data. Qt provides the QDeepCopy class, which
+ensures that shared classes reference unique data.
+
+See the description of \link shclass.html implicit sharing\endlink for more
+information.
+
+\target threads-sql
+\section1 Threads and the SQL Module
+
+A connection can only be used from within the thread that created it.
+Moving connections between threads or creating queries from a different
+thread is not supported.
+
+In addition, the third party libraries used by the QSqlDrivers can impose
+further restrictions on using the SQL Module in a multithreaded program.
+Consult the manual of your database client for more information.
+
+\section1 Caveats
+
+Some things to watch out for when programming with threads:
+
+ \list
+
+\i As mentioned above, QObject based classes are neither thread-safe
+nor reentrant. This includes all widgets (e.g. QWidget and
+subclasses), OS kernel classes (e.g. QProcess, QAccel), and all
+networking classes (e.g. QSocket, QDns).
+
+\i Deleting a QObject while pending events are waiting to be delivered
+will cause a crash. If you are creating QObjects in a thread that is
+not the GUI thread and posting events to these objects, you should not
+delete the QObject directly. Use the QObject::deleteLater() method
+instead, which will cause the event loop to delete the object after
+all pending events have been delivered to the object.
+
+\i Don't do any blocking operations while holding the Qt library
+mutex. This will freeze up the event loop.
+
+\i Make sure you unlock a recursive QMutex as many times as you lock
+it, no more and no less.
+
+\i Don't mix the normal Qt library and the threaded Qt library in your
+application. This means that if your application uses the threaded Qt
+library, you should not link with the normal Qt library, dynamically
+load the normal Qt library or dynamically load another library or
+plugin that depends on the normal Qt library. On some systems, doing
+this can corrupt the static data used in the Qt library.
+
+\i Qt does not support creating QApplication and running the event
+loop (with QApplication::exec()) in a secondary thread. You must
+create the QApplication object and call QApplication::exec() from the
+main() function in your program.
+
+\endlist
+
+\target reading
+\section1 Recommended Reading
+
+\list
+\i \link http://www.amazon.com/exec/obidos/ASIN/0134436989/trolltech/t
+Threads Primer: A Guide to Multithreaded Programming\endlink
+\i \link http://www.amazon.com/exec/obidos/ASIN/0131900676/trolltech/t
+Thread Time: The Multithreaded Programming Guide\endlink
+\i \link http://www.amazon.com/exec/obidos/ASIN/1565921151/trolltech/t
+Pthreads Programming: A POSIX Standard for Better Multiprocessing (O'Reilly Nutshell)\endlink
+\i \link http://www.amazon.com/exec/obidos/ASIN/1565922964/trolltech/t
+Win32 Multithreaded Programming\endlink
+\endlist
+
+*/
diff --git a/doc/tools-list.doc b/doc/tools-list.doc
new file mode 100644
index 0000000..096417a
--- /dev/null
+++ b/doc/tools-list.doc
@@ -0,0 +1,29 @@
+/*!
+ \page tools-list.html
+ \title Qt's Tools
+
+ Qt is supplied with several command line and graphical tools to
+ ease and speed the development process. Each tool is listed here
+ with a link to its documentation.
+
+ \list
+ \i \link designer-manual.book Qt Designer \endlink - visually
+ design forms
+ \i \link linguist-manual.book Qt Linguist, lupdate and lrelease \endlink - translate
+ applications to reach international markets
+ \i \link assistant.book Qt Assistant \endlink - quickly find the
+ help you need
+ \i \link qmake-manual.book qmake \endlink - create Makefiles from
+ simple platform-independent project files
+ \i \link qembed.html qembed\endlink - convert data, e.g. images, into C++ code
+ \i \link emb-qvfb.html qvfb\endlink - run and test embedded
+ applications on the desktop
+ \i \link makeqpf.html makeqpf\endlink - create pre-rendered fonts
+ for embedded devices
+ \i \link moc.html moc\endlink - the Meta Object Compiler
+ \i \link uic.html uic\endlink - the User Interface Compiler
+ \i \c qtconfig - a Unix-based Qt configuration tool with online help
+
+ \endlist
+
+*/
diff --git a/doc/trademarks.doc b/doc/trademarks.doc
new file mode 100644
index 0000000..481e0ba
--- /dev/null
+++ b/doc/trademarks.doc
@@ -0,0 +1,11 @@
+/*!
+ \page trademarks.html
+
+ \title Trademarks
+
+ Trolltech&reg;, Qt&reg; and the Trolltech logo are registered
+ trademarks of Trolltech. Linux&reg; is a trademark of Linus
+ Torvalds. All other products named in the documentation are
+ trademarks of their respective owners.
+
+*/
diff --git a/doc/tutorial.doc b/doc/tutorial.doc
new file mode 100644
index 0000000..8bd7218
--- /dev/null
+++ b/doc/tutorial.doc
@@ -0,0 +1,2651 @@
+/****************************************************************************
+**
+** Tutorial
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page tutorial.html
+
+\title Qt Tutorial #1 - The 14 Steps
+
+This tutorial gives an introduction to GUI programming using the Qt
+toolkit. It doesn't cover everything: the emphasis is on teaching the
+programming philosophy of GUI programming, and Qt's features are
+introduced as needed. Some commonly used features are never used in
+this tutorial.
+
+Chapter one starts with a ten-line hello-world and each subsequent
+chapter introduces one or a few more concepts. By Chapter 14, the ten
+lines from Chapter 1 have turned into a 650-line game.
+
+If you're completely new to Qt, please read \link how-to-learn-qt.html
+How to Learn Qt\endlink if you haven't already done so.
+
+Tutorial chapters:
+\list 1
+\i \link tutorial1-01.html Hello, World!\endlink
+\i \link tutorial1-02.html Calling it Quits\endlink
+\i \link tutorial1-03.html Family Values\endlink
+\i \link tutorial1-04.html Let There Be Widgets\endlink
+\i \link tutorial1-05.html Building Blocks\endlink
+\i \link tutorial1-06.html Building Blocks Galore!\endlink
+\i \link tutorial1-07.html One Thing Leads to Another\endlink
+\i \link tutorial1-08.html Preparing for Battle\endlink
+\i \link tutorial1-09.html With Cannon You Can\endlink
+\i \link tutorial1-10.html Smooth as Silk\endlink
+\i \link tutorial1-11.html Giving It a Shot\endlink
+\i \link tutorial1-12.html Hanging in the Air the Way Bricks Don't\endlink
+\i \link tutorial1-13.html Game Over\endlink
+\i \link tutorial1-14.html Facing the Wall\endlink
+\endlist
+
+This little game doesn't look much like a modern GUI application. It
+uses a good few of the GUI techniques, but after you've worked through
+it, we recommend reading \link tutorial2.html Tutorial #2\endlink. The
+second tutorial is a little more formal and covers the features of
+typical application including menubars, toolbars, loading and saving,
+dialogs, etc.
+
+*/
+
+/*! \page tutorial1-01.html
+
+\title Qt Tutorial - Chapter 1: Hello, World!
+
+\img t1.png Screenshot of tutorial one
+
+This first program is a simple hello-world example. It contains only
+the bare minimum you need to get a Qt application up and running.
+The picture above is a snapshot of this program.
+
+\include t1/main.cpp
+\quotefile t1/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto include
+\printline qapp
+
+This line includes the QApplication class definition. There has to be
+exactly one QApplication object in every application that uses Qt.
+QApplication manages various application-wide resources, such as the
+default font and cursor.
+
+\printline qpushbutton
+
+This line includes the QPushButton class definition. The
+\link hierarchy.html reference documentation \endlink for each class
+mentions at the top which file needs to be included to use that class.
+
+QPushButton is a classical GUI push button that the user can press
+and release. It manages its own look and feel, like every other \l
+QWidget. A widget is a user interface object that can process user
+input and draw graphics. The programmer can change both the overall
+\link QApplication::setStyle() look and feel\endlink and many minor
+properties of it (such as color), as well as the widget's content. A
+QPushButton can show either a text or a \l QPixmap.
+
+\printline main
+\printline {
+
+The main() function is the entry point to the program. Almost always
+when using Qt, main() only needs to perform some kind of initialization
+before passing the control to the Qt library, which then tells the
+program about the user's actions via events.
+
+\c argc is the number of command-line arguments and \c argv is the
+array of command-line arguments. This is a C/C++ feature. It is not
+specific to Qt; however, Qt needs to process these arguments (see
+following).
+
+\printline QApplication
+
+\c a is this program's QApplication. Here it is created and processes
+some of the command-line arguments (such as -display under X Window).
+Note that all command-line arguments recognized by Qt are removed from
+\c argv (and \c argc is decremented accordingly). See the \l
+QApplication::argv() documentation for details.
+
+<strong>Note:</strong> It is essential that the QApplication object be
+created before any window-system parts of Qt are used.
+
+\printline QPushButton
+
+Here, \e after the QApplication, comes the first window-system code: A
+push button is created.
+
+The button is set up to display the text "Hello world!" and be a
+window of its own (because the constructor specifies 0 for the parent
+window, inside which the button should be located).
+
+\printline resize
+
+The button is set up to be 100 pixels wide and 30 pixels high (plus the
+window system frame). In this case we don't care about the button's
+position, and we accept the default value.
+
+\printline setMainWidget
+
+The push button is chosen as the main widget for the application. If
+the user closes a main widget, the application exits.
+
+You don't have to have a main widget, but most programs do have one.
+
+\printline show
+
+A widget is never visible when you create it. You must call show() to
+make it visible.
+
+\printline exec
+
+This is where main() passes control to Qt, and exec() will return when
+the application exits.
+
+In exec(), Qt receives and processes user and system events and passes
+these on to the appropriate widgets.
+
+\printline }
+
+You should now try to compile and run this program.
+
+\target compiling
+\section1 Compiling
+
+To compile a C++ application you need to create a makefile. The
+easiest way to create a makefile for Qt is to use the \link
+qmake-manual.book qmake\endlink build tool supplied with Qt. If you've
+saved \c main.cpp in its own directory, all you have to do is:
+\code
+qmake -project
+qmake
+\endcode
+
+The first command tells \link qmake-manual.book qmake\endlink to
+create a \c .pro (project) file. The second command tells it to create
+a (platform-specific) makefile based on the project file. You should
+now be able to type \c make (or \c nmake if you're using Visual
+Studio) and then run your first Qt application!
+
+\section1 Behavior
+
+When you run it, you will see a small window filled with a single
+button, and on it you can read the famous words, Hello World!
+
+\section1 Exercises
+
+Try to resize the window. Press the button. If you're running X
+Window, try running the program with the -geometry option
+(for example, \c {-geometry 100x200+10+20}).
+
+You're now ready for \link tutorial1-02.html Chapter 2.\endlink
+
+[\link tutorial1-02.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \page tutorial1-02.html
+
+\title Qt Tutorial - Chapter 2: Calling it Quits
+
+\img t2.png Screenshot of tutorial two
+
+Having created a window in \link tutorial1-01.html Chapter 1, \endlink we will
+now go on to make the application quit properly when the user tells it to.
+
+We will also use a font that is more exciting than the default one.
+
+\include t2/main.cpp
+\quotefile t2/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto qfont
+\printline qfont
+
+Since this program uses QFont, it needs to include qfont.h. Qt's font
+abstraction is rather different from the horror provided by X, and
+loading and using fonts has been highly optimized.
+
+\skipto QPushButton
+\printline QPushButton
+
+This time, the button says "Quit" and that's exactly what the program
+will do when the user clicks the button. This is not a coincidence.
+We still pass 0 as the parent, since the button is a top-level window.
+
+\printline resize
+
+We've chosen another size for the button since the text is a bit
+shorter than "Hello world!". We could also have used \l QFontMetrics
+to set right size.
+
+\printline setFont
+
+Here we choose a new font for the button, an 18-point bold font from
+the Times family. Note that we create the font on the spot.
+
+It is also possible to change the default font (using \l
+QApplication::setFont()) for the whole application.
+
+\printline connect
+
+connect() is perhaps \e the most central feature of Qt.
+Note that connect() is a static function in QObject. Do not confuse it
+with the connect() function in the socket library.
+
+This line establishes a one-way connection between two Qt objects (objects
+that inherit QObject, directly or indirectly). Every Qt object can have
+both \c signals (to send messages) and \c slots (to receive messages). All
+widgets are Qt objects. They inherit QWidget which in turn inherits
+QObject.
+
+Here, the \e clicked() signal of \e quit is connected to the \e
+quit() slot of \e a, so that when the button is clicked, the
+application quits.
+
+The \link signalsandslots.html Signals and Slots\endlink documentation
+describes this topic in detail.
+
+\section1 Behavior
+
+When you run this program, you will see an even smaller window than in
+Chapter 1, filled with an even smaller button.
+
+(See \link tutorial1-01.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Try to resize the window. Press the button. Oops! That connect()
+would seem to make some difference.
+
+Are there any other signals in QPushButton you can connect to quit?
+Hint: The QPushButton inherits most of its behavior from QButton.
+
+You're now ready for \link tutorial1-03.html Chapter 3.\endlink
+
+[\link tutorial1-01.html Previous tutorial\endlink]
+[\link tutorial1-03.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \page tutorial1-03.html
+
+\title Qt Tutorial - Chapter 3: Family Values
+
+\img t3.png Screenshot of tutorial three
+
+This example shows how to create parent and child widgets.
+
+We'll keep it simple and use just a single parent and a lone child.
+
+\include t3/main.cpp
+\quotefile t3/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto qvbox.h
+\printline qvbox.h
+
+We add an include of qvbox.h to get the layout class we'll use.
+
+\skipto QVBox
+\printline QVBox
+
+Here we simply create a vertical box container. The QVBox arranges
+its child widgets in a vertical row, one above the other, handing out
+space according to each child's \l QWidget::sizePolicy().
+
+\printline resize
+
+We set its width to 200 pixels and the height to 120 pixels.
+
+\printline quit
+
+A child is born.
+
+This QPushButton is created with both a text ("Quit") and a parent
+(box). A child widget is always on top of its parent. When
+displayed, it is clipped by its parent's bounds.
+
+The parent widget, the QVBox, automatically adds the child centered in
+its box. Because nothing else is added, the button gets all the space
+the parent has.
+
+\skipto show
+\printline show
+
+When a parent widget is shown, it will call show for all its children
+(except those on which you have done an explicit \l QWidget::hide()).
+
+\section1 Behavior
+
+The button no longer fills the entire widget. Instead, it gets a
+"natural" size. This is because there is now a new top-level widget,
+which uses the button's size hint and size change policy to set the
+button's size and position. (See \l QWidget::sizeHint() and \l
+QWidget::setSizePolicy() for more information about these functions.)
+
+(See \link tutorial1-01.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Try resizing the window. How does the button change? What is the
+button's size-change policy? What happens to the button's height if
+you run the program with a bigger font? What happens if you try to
+make the window \e really small?
+
+You're now ready for \link tutorial1-04.html Chapter 4.\endlink
+
+[\link tutorial1-02.html Previous tutorial\endlink]
+[\link tutorial1-04.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \page tutorial1-04.html
+
+\title Qt Tutorial - Chapter 4: Let There Be Widgets
+
+\img t4.png Screenshot of tutorial four
+
+This example shows how to create your own widget, describes how to control the
+minimum and maximum sizes of a widget, and introduces widget names.
+
+\include t4/main.cpp
+\quotefile t4/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto MyWidget
+\printuntil }
+
+Here we create a new class. Because this class inherits from QWidget,
+the new class is a widget and may be a top level window or a child
+widget (like the push button in Chapter 3).
+
+This class has only one member, a constructor (in addition to the
+members it inherits from QWidget). The constructor is a standard Qt
+widget constructor; you should always include a similar constructor
+when you create widgets.
+
+The first argument is its parent widget. To create a top-level window
+you specify a null pointer as the parent. As you can see, this widget
+defaults to be a top-level window.
+
+The second argument is the widget's name. This is \e not the text
+that appears in the window's title bar or in the button. It is a name
+associated with a widget to make it possible to \link
+QObject::queryList() look up \endlink this widget later, and there is
+also a \link QObject::dumpObjectTree() handy debugging function
+\endlink that will list a complete widget hierarchy.
+
+\printline MyWidget
+\printline QWidget
+
+The implementation of the constructor starts here. Like most widgets,
+it just passes on the \c parent and \c name to the QWidget
+constructor.
+
+\printuntil setMaximumSize
+
+Because this widget doesn't know how to handle resizing, we fix its size
+by setting the minimum and maximum to be equal. In the next chapter
+we will show how a widget can respond to resize event from the user.
+
+\printuntil setFont
+
+Here we create and set up a child widget of this widget (the new widget's
+parent is \c this) which has the widget name "quit". The widget
+name has nothing to do with the button text; it just happens to be
+similar in this case.
+
+Note that \c quit is a local variable in the constructor. MyWidget
+does not keep track of it, but Qt does, and will by default delete it
+when MyWidget is deleted. This is why MyWidget doesn't need a
+destructor. (On the other hand, there is no harm in deleting a child
+when you choose to, the child will automatically tell Qt about its
+imminent death.)
+
+The setGeometry() call does the same as move() and resize() did in the
+previous chapters.
+
+\printline qApp
+\printline }
+
+Because the MyWidget class doesn't know about the application object, it
+has to connect to Qt's pointer to it, \c qApp.
+
+A widget is a software component and should know as little as possible
+about its environment in order to be as general and reusable as
+possible.
+
+Knowing the name of the application object would break this principle,
+so Qt offers an alias, qApp, for the cases in which a component such as
+MyWidget needs to talk to the application object.
+
+\printuntil }
+
+Here we instantiate our new child, set it to be the main widget, and
+execute the application.
+
+\section1 Behavior
+
+This program is very similar in behavior to the previous one. The
+difference lies in the way we have implemented it. It does behave
+slightly differently, however. Just try to resize it to see.
+
+(See \link tutorial1-01.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Try to create another MyWidget object in main(). What happens?
+
+Try to add more buttons or put in widgets other than QPushButton.
+
+You're now ready for \link tutorial1-05.html Chapter 5.\endlink
+
+[\link tutorial1-03.html Previous tutorial\endlink]
+[\link tutorial1-05.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \page tutorial1-05.html
+
+\title Qt Tutorial - Chapter 5: Building Blocks
+
+\img t5.png Screenshot of tutorial five
+
+This example shows how to create and connect together several widgets
+by using signals and slots, and how to handle resize events.
+
+\include t5/main.cpp
+\quotefile t5/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto qapp
+\printuntil qvbox
+
+Three new include files are shown here. qslider.h and qlcdnumber.h are there
+because we use two new widgets, QSlider and QLCDNumber. qvbox.h is
+here because we use Qt's automatic layout support.
+
+\skipto MyWidget
+\printuntil }
+
+\target constructor
+\printuntil {
+
+MyWidget is now derived from QVBox instead of QWidget. That way we use
+the layout of the QVBox (which places all of its children vertically
+inside itself). Resizes are now handled automatically by the QVBox and
+therefore by MyWidget, too.
+
+\skipto lcd
+\printline lcd
+
+\c lcd is a QLCDNumber, a widget that displays numbers in an LCD-like
+fashion. This instance is set up to display two digits and to be a child of
+\e this. It is named "lcd".
+
+\printline QSlider
+\printline slider
+\printline slider
+
+QSlider is a classical slider; the user can use the widget to drag
+something to adjust an integer value in a range. Here we create a
+horizontal one, set its range to 0-99 (inclusive, see the \l
+QSlider::setRange() documentation) and its initial value to 0.
+
+\printline connect
+
+Here we use the \link signalsandslots.html signal/slot mechanism \endlink
+to connect the slider's valueChanged() signal to the LCD number's
+display() slot.
+
+Whenever the slider's value changes it broadcasts the new value by
+emitting the valueChanged() signal. Because that signal is connected to
+the LCD number's display() slot, the slot is called when the signal is
+broadcast. Neither of the objects knows about the other. This is
+essential in component programming.
+
+Slots are otherwise normal C++ member functions and follow the normal
+C++ access rules.
+
+\section1 Behavior
+
+The LCD number reflects everything you do to the slider, and the
+widget handles resizing well. Notice that the LCD number widget
+changes in size when the window is resized (because it can), but the
+others stay about the same (because otherwise they would look stupid).
+
+(See \link tutorial1-01.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Try changing the LCD number to add more digits or \link
+QLCDNumber::setMode() to change mode.\endlink You can even add four push
+buttons to set the number base.
+
+You can also change the slider's range.
+
+Perhaps it would have been better to use \l QSpinBox than a slider?
+
+Try to make the application quit when the LCD number overflows.
+
+You're now ready for \link tutorial1-06.html Chapter 6.\endlink
+
+[\link tutorial1-04.html Previous tutorial\endlink]
+[\link tutorial1-06.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \page tutorial1-06.html
+
+\title Qt Tutorial - Chapter 6: Building Blocks Galore!
+
+\img t6.png Screenshot of tutorial six
+
+This example shows how to encapsulate two widgets into a new component and
+how easy it is to use many widgets. For the first time, we use a custom
+widget as a child widget.
+
+\target main
+\include t6/main.cpp
+\quotefile t6/main.cpp
+
+\section1 Line-by-line Walkthrough
+
+\skipto LCDRange
+\printuntil };
+
+The LCDRange widget is a widget without any API. It just has a
+constructor. This sort of widget is not very useful, so we'll add some API later.
+
+\printuntil }
+
+This is lifted straight from the
+\link tutorial1-05.html#constructor MyWidget constructor \endlink in Chapter 5.
+The only differences are that the button is left out and the class
+is renamed.
+
+\printline MyWidget
+\printuntil }
+
+MyWidget, too, contains no API except a constructor.
+
+\printline MyWidget
+\printuntil connect
+
+The push button that used to be in what is now LCDRange has been
+separated so that we can have one "Quit" button and many LCDRange
+objects.
+
+\printline grid
+
+We create a QGrid object with four columns. The QGRid widget
+automatically arranges its children in rows and columns; you can
+specify the number of rows or of columns, and QGrid will discover its
+new children and fit them into the grid.
+
+\printline for
+\printline for
+\printline LCDRange
+
+Four columns, four rows.
+
+We create 4*4 LCDRanges, all of which are children of the grid object.
+The QGrid widget will arrange them.
+
+\printline }
+
+That's all.
+
+\section1 Behavior
+
+This program shows how easy it is to use many widgets at a time. Each
+one behaves like the slider and LCD number in the previous
+chapter. Again, the difference lies in the implementation.
+
+(See \link tutorial1-01.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Initialize each slider with a different/random value on startup.
+
+The source contains three occurrences of "4". What happens if you
+change the one in the \l QGrid constructor call? What about the other
+two? Why is this?
+
+You're now ready for \link tutorial1-07.html Chapter 7.\endlink
+
+[\link tutorial1-05.html Previous tutorial\endlink]
+[\link tutorial1-07.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t7/lcdrange.h */
+/*! \file t7/lcdrange.cpp */
+/*! \file t7/main.cpp */
+
+/*! \page tutorial1-07.html
+
+\title Qt Tutorial - Chapter 7: One Thing Leads to Another
+
+\img t7.png Screenshot of tutorial seven
+
+This example shows how to create custom widgets with signals and
+slots, and how to connect them together in more complex ways. For the
+first time, the source is split among several files which we've placed
+in the \c t7 subdirectory.
+
+\list
+\i \l t7/lcdrange.h contains the LCDRange class definition.
+\i \l t7/lcdrange.cpp contains the LCDRange implementation.
+\i \l t7/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t7/lcdrange.h
+
+This file is mainly lifted from \link tutorial1-06.html#main main.cpp \endlink in
+Chapter 6; only the changes are noted here.
+
+\quotefile t7/lcdrange.h
+
+\skipto ifndef
+\printuntil define
+
+This is the classic C construction to avoid errors if a header file
+happens to be included more than once. If you don't use it already,
+it is a very good habit to develop. The #ifndef should enclose \e all of the
+header file.
+
+\printline include
+
+\c qvbox.h is included. LCDRange inherits QVBox, and the header file
+of a parent class must always be included. We cheated a bit in the
+previous chapters, and we let \c qwidget.h be included indirectly via
+other header files such as \c qpushbutton.h.
+
+\printline QSlider
+
+This is another classic trick, but one that's much less used often. Because
+we don't need QSlider in the \e interface of the class, only in the
+implementation, we use a forward declaration of the class in the
+header file and include the header file for QSlider in the .cpp
+file.
+
+This makes the compilation of big projects much faster, because when a
+header file has changed, fewer files need to be recompiled. It can
+often speed up big compilations by a factor of two or more.
+
+\skipto LCDRange
+\printuntil parent=0
+
+Note the Q_OBJECT. This macro must be included in \e all classes that
+contain signals and/or slots. If you are curious, it defines the
+functions that are implemented in the
+\link metaobjects.html meta object file \endlink.
+
+\printline value
+\printuntil valueChanged
+
+These three members make up an interface between this widget and other
+components in a program. Until now, LCDRange didn't really have an
+interface at all.
+
+value() is a public function for accessing the value of the LCDRange.
+setValue() is our first custom slot and valueChanged() is our first
+custom signal.
+
+Slots must be implemented in the normal way (remember that a slot is also
+a C++ member function). Signals are automatically implemented in the
+\link signalsandslots.html meta object\endlink file. Signals follow the
+access rules of protected C++ functions (i.e., they can be emitted only
+by the class they are defined in or by classes inheriting from it).
+
+The signal valueChanged() is used when the LCDRange's value has
+changed - just as you guessed from the name. This is not the last
+signal you'll see called <i>something</i>Changed().
+
+\section2 \l t7/lcdrange.cpp
+
+\quotefile t7/lcdrange.cpp
+
+This file is mainly lifted from \link tutorial1-06.html#main t6/main.cpp \endlink, and
+only the changes are noted here.
+
+\skipto connect
+\printline connect
+\printline display
+\printline connect
+\printline valueChanged
+
+This code is from the LCDRange constructor.
+
+The first connect is the same that you have seen in the previous chapter.
+The second is new; it connects slider's valueChanged() signal to this
+object's valueChanged \e signal. Connect() with 3 arguments always
+connects to signals or slots in \c this object.
+
+Yes, that's right. Signals can be connected to other signals. When
+the first is emitted, the second signal is also emitted.
+
+Let's look at what happens when the user operates the slider. The
+slider sees that its value has changed and emits the valueChanged()
+signal. That signal is connected both to the display() slot of the
+QLCDNumber and to the valueChanged() signal of the LCDRange.
+
+Thus, when the signal is emitted, LCDRange emits its own
+valueChanged() signal. In addition, QLCDNumber::display() is called
+and shows the new number.
+
+Note that you're not guaranteed any particular order of execution -
+LCDRange::valueChanged() may be emitted before or after
+QLCDNumber::display()and is entirely arbitrary.
+
+\skipto LCDRange::value
+\printuntil }
+
+The implementation of value() is straightforward; it simply returns
+the slider's value.
+
+\printline setValue
+\printuntil }
+
+The implementation of setValue() is equally straightforward. Note
+that because the slider and LCD number are connected, setting the
+slider's value automatically updates the LCD number as well. In
+addition, the slider will automatically adjust the value if it is
+outside its legal range.
+
+\section2 \l t7/main.cpp
+
+\quotefile t7/main.cpp
+
+\skipto previous
+\printline previous
+\printuntil setValue
+\printline previous
+\printline }
+\printline }
+
+All of main.cpp is copied from the previous chapter except in
+the constructor for MyWidget. When we create the 16 LCDRange object, we
+now connect them using the \link signalsandslots.html
+signal/slot\endlink mechanism. Each has its valueChanged() signal
+connected to the setValue() slot in the previous one. Because LCDRange
+emits the signal valueChanged() when its value changes (surprise!), we
+are here creating a "chain" of signals and slots.
+
+\target compiling
+\section1 Compiling
+
+Creating a makefile for a multi-file application is no different from
+creating one for a single-file application. If you've saved all the
+files in this example in their own directory, all you have to do is:
+\code
+qmake -project
+qmake
+\endcode
+
+The first command tells \link qmake-manual.book qmake\endlink to
+create a \c .pro (project) file. The second command tells it to create
+a (platform-specific) makefile based on the project file. You should
+now be able to type \c make (or \c nmake if you're using Visual
+Studio) to build your application.
+
+\section1 Behavior
+
+On startup, the program's appearance is identical to the previous one.
+Try operating the slider to the bottom right...
+
+\section1 Exercises
+
+Use the bottom right slider to set all LCDs to 50. Then set the top
+half to 40 by clicking once to the left of the slider handle. Now,
+use the one to the left of the last one operated to set the first
+seven LCDs back to 50.
+
+Click to the left of the handle on the bottom right slider. What
+happens? Why is this the correct behavior?
+
+You're now ready for \link tutorial1-08.html Chapter 8.\endlink
+
+[\link tutorial1-06.html Previous tutorial\endlink]
+[\link tutorial1-08.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t8/lcdrange.h */
+/*! \file t8/lcdrange.cpp */
+/*! \file t8/cannon.h */
+/*! \file t8/cannon.cpp */
+/*! \file t8/main.cpp */
+
+/*! \page tutorial1-08.html
+
+\title Qt Tutorial - Chapter 8: Preparing for Battle
+
+\img t8.png Screenshot of tutorial eight
+
+In this example, we introduce the first custom widget that can paint
+itself. We also add a useful keyboard interface (with two lines of
+code).
+
+\list
+\i \l t8/lcdrange.h contains the LCDRange class definition.
+\i \l t8/lcdrange.cpp contains the LCDRange implementation.
+\i \l t8/cannon.h contains the CannonField class definition.
+\i \l t8/cannon.cpp contains the CannonField implementation.
+\i \l t8/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t8/lcdrange.h
+
+This file is very similar to the lcdrange.h in Chapter 7. We have added
+one slot: setRange().
+
+\quotefile t8/lcdrange.h
+
+\skipto setRange
+\printline setRange
+
+We now add the possibility of setting the range of the LCDRange.
+Until now, it has been fixed at 0..99.
+
+\section2 \l t8/lcdrange.cpp
+
+\quotefile t8/lcdrange.cpp
+
+There is a change to the constructor (we'll discuss that later).
+
+\skipto ::setRange
+\printuntil slider
+\printline }
+
+SetRange() sets the range of the slider in the LCDRange. Because we
+have set up the QLCDNumber to always display two digits, we want to
+limit the possible range of \c minVal and \c maxVal to 0..99 to avoid
+overflow of the QLCDNumber. (We could have allowed values down to -9
+but chose not to.) If the arguments are illegal, we use Qt's
+qWarning() function to issue a warning to the user and return
+immediately. qWarning() is a printf-like function that by default
+sends its output to \c stderr. If you want, you can install your own handler
+function using \l ::qInstallMsgHandler().
+
+\section2 \l t8/cannon.h
+
+CannonField is a new custom widget that knows how to display itself.
+
+\quotefile t8/cannon.h
+
+\skipto include
+\skipto class
+\printuntil parent=0
+
+CannonField inherits QWidget, and we use the same idiom as for LCDRange.
+
+\printuntil angleChanged
+
+For the time being, CannonField only contains an angle value for which we
+provide an interface using the same idiom as for value in LCDRange.
+
+\printline protected
+\printline paintEvent
+
+This is the second of the many event handlers in QWidget that we
+encounter. This virtual function is called by Qt whenever a widget needs
+to update itself (i.e., paint the widget's surface).
+
+
+\section2 \l t8/cannon.cpp
+
+\quotefile t8/cannon.cpp
+
+\skipto ::CannonField
+\printuntil {
+
+Again, we use the same idiom as for LCDRange in the previous chapter.
+
+\printuntil }
+
+The constructor initializes the angle value to 45 degrees and sets a
+custom palette for this widget.
+
+This palette uses the indicated color as background and picks other
+colors suitably. (For this widget only the background and text
+colors will actually be used.)
+
+\skipto ::setAngle
+\printuntil emit
+\printline }
+
+This function sets the angle value. We have chosen a legal range of
+5..70 and adjust the given number of degrees accordingly. We have
+chosen not to issue a warning if the new angle is out of range.
+
+If the new angle equals the old one, we return immediately. It is
+important to only emit the signal angleChanged() when the angle \e
+really has changed.
+
+Then we set the new angle value and repaint our widget. The \l
+QWidget::repaint() function clears the widget (usually filling it with
+its background color) and sends a paint event to the widget. This
+results in a call to the paint event function of the widget.
+
+Finally, we emit the angleChanged() signal to tell the outside world
+that the angle has changed. The \c emit keyword is unique to Qt and
+not regular C++ syntax. In fact, it is a macro.
+
+\skipto ::paintEvent
+\printuntil drawText
+\printline }
+
+This is our first attempt to write a paint event handler. The event
+argument contains a description of the paint event. \l QPaintEvent
+contains the region in the widget that must be updated. For the time
+being, we will be lazy and just paint everything.
+
+Our code displays the angle value in the widget at a fixed position.
+First we create a QString with some text and the angle; then we create
+a QPainter operating on this widget and use it to paint the string.
+We'll come back to QPainter later; it can do a great many things.
+
+
+\section2 \l t8/main.cpp
+
+\quotefile t8/main.cpp
+
+\skipto cannon.h
+\printline cannon.h
+
+We include our new class.
+
+\skipto MyWidget
+\printuntil };
+
+This time we include a single LCDRange and a CannonField in our top-level
+widget.
+
+\skipto angle
+\printline angle
+
+In the constructor, we create and set up our LCDRange.
+
+\printline setRange
+
+We set the LCDRange to accept ranges from 5 to 70 degrees.
+
+\printline cannonField
+\printline CannonField
+
+We create our CannonField.
+
+\printuntil setValue
+
+Here we connect the valueChanged() signal of the LCDRange to the
+setAngle() slot of the CannonField. This will update CannonField's angle
+value whenever the user operates the LCDRange. We also make the reverse
+connection so that changing the angle in the CannonField will update the
+LCDRange value. In our example we never change the angle of the
+CannonField directly; but by doing the last connect() we ensure that no
+future changes will disrupt the synchronization between those two values.
+
+This illustrates the power of component programming and proper
+encapsulation.
+
+Notice how important it is to emit the angleChanged() signal only when
+the angle actually changes. If both the LCDRange and the CannonField
+had omitted this check, the program would have entered an infinite
+loop upon the first change of one of the values.
+
+\printline QGridLayout
+\printline 2x2
+
+So far we have used the no-assembly-required QVBox and QGrid widgets
+for geometry management. Now, however, we want to have a little more
+control over the layout, and we switch to the more powerful QGridLayout
+class. QGridLayout isn't a widget; it is a different class that can
+manage the children of \e any widget.
+
+As the comment indicates, we create a two-by-two array with ten pixel
+borders. (The constructor for \l QGridLayout can be a little cryptic,
+so it's good to put in such comments.)
+
+\printline addWidget
+
+We add the Quit button in the top-left cell of the grid: 0, 0.
+
+\printline addWidget
+
+We put the angle LCDRange in the bottom-left cell, aligned to the top
+of its cell. (This alignment is one of the things QGridLayout allows
+but QGrid does not allow.)
+
+\printline addWidget
+
+We put the CannonField object in the bottom-right cell. (The top-
+right cell is empty.)
+
+\printline setColStretch
+
+We tell QGridLayout that the right column (column 1) is stretchable.
+Because the left column isn't (it has stretch factor 0, the default
+value), QGridLayout will try to let the left-hand widgets' sizes be
+unchanged and will resize just the CannonField when the MyWidget is
+resized.
+
+\printline setValue
+
+We set an initial angle value. Note that this will trigger the
+connection from LCDRange to CannonField.
+
+\printline setFocus
+
+Our last action is to set \c angle to have keyboard focus so that
+keyboard input will go to the LCDRange widget by default.
+
+LCDRange does not contain any keyPressEvent(), so that would seem not
+to be terribly useful. However, its constructor just got a new line:
+
+\quotefile t8/lcdrange.cpp
+\skipto setFocusProxy
+\printline setFocusProxy
+
+The LCDRange sets the slider to be its focus proxy. That means that
+when someone (the program or the user) wants to give the LCDRange
+keyboard focus, the slider should take care of it. QSlider has a decent
+keyboard interface, so with just one line of code we've given LCDRange
+one.
+
+\section1 Behavior
+
+The keyboard now does something - the arrow keys, Home, End, PageUp
+and PageDown all do something vaguely sensible.
+
+When the slider is operated, the CannonField displays the new angle
+value. Upon resizing, CannonField is given as much space as possible.
+
+On Windows machines with an 8-bit display the new background color is
+dithered to death. The next chapter works around this.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Try to resize the window. What happens if you make it really narrow
+or really squat?
+
+If you remove the AlignTop, what happens to the LCDRange's position
+and size? Why?
+
+If you give the left-hand column a non-zero stretch factor, what
+happens when you resize the window?
+
+Leave out the setFocus() call. Which behavior do you prefer?
+
+Try to change "Quit" to "&Quit" in the QButton::setText() call. How
+does the button's look change? What happens if you press Alt+Q while
+the program's running? (It is Meta+Q on a few keyboards.)
+
+Center the text in the CannonField.
+
+You're now ready for \link tutorial1-09.html Chapter 9.\endlink
+
+[\link tutorial1-07.html Previous tutorial\endlink]
+[\link tutorial1-09.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t9/lcdrange.h */
+/*! \file t9/lcdrange.cpp */
+/*! \file t9/cannon.h */
+/*! \file t9/cannon.cpp */
+/*! \file t9/main.cpp */
+
+/*! \page tutorial1-09.html
+
+\title Qt Tutorial - Chapter 9: With Cannon You Can
+
+\img t9.png Screenshot of tutorial nine
+
+In this example we become graphic by drawing a cute little blue
+cannon. Only cannon.cpp differs from the previous chapter.
+
+\list
+\i \l t9/lcdrange.h contains the LCDRange
+class definition.
+\i \l t9/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t9/cannon.h contains the CannonField class
+definition.
+\i \l t9/cannon.cpp contains the CannonField
+implementation.
+\i \l t9/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t9/cannon.cpp
+
+\quotefile t9/cannon.cpp
+
+\skipto ::paintEvent
+\printuntil QPainter
+
+We'll now start to use QPainter in earnest. We create a painter that
+operates on this widget.
+
+\printline setBrush
+
+When QPainter fills a rectangle, a circle, or whatever, it fills the
+shape using its brush. Here we set it to use a blue brush. (We
+could also use a pattern.)
+
+\printline setPen
+
+And the edges of what QPainter draws are drawn using the pen. Here we
+set it to NoPen, meaning that there will be no special edge when we
+draw something; the blue brush will go all the way to the edges of
+the things we draw.
+
+\skipto translate
+\printline translate
+
+The \l QPainter::translate() function translates the coordinate
+system of the QPainter; i.e., it moves it by an offset. Here we set
+the (0, 0) point to the bottom-left corner of the widget. The x and
+y directions remain unchanged, i.e., all the y coordinates inside the
+widget are now negative (see \link coordsys.html The Coordinate
+System\endlink for more information about Qt's coordinate system).
+
+\printline drawPie
+
+The drawPie() function draws a pie shape inside the specified
+rectangle using a start angle and an arc length. The angles are
+specified in 1/16th of a degree. Zero degrees is at the 3 o'clock
+position. The drawing direction is counter-clockwise. Here we draw a
+quarter of a circle in the bottom-left corner of the widget. The pie
+is filled with blue and has no outline.
+
+\printline rotate
+
+The QPainter::rotate() function rotates the coordinate system of the
+QPainter around the origin. The rotation argument is a \c float given
+in degrees (not given in 1/16th of a degree as above) and clockwise.
+Here we rotate the coordinate system \c ang degrees counter-clockwise.
+
+\printline drawRect
+
+The QPainter::drawRect() function draws the specified rectangle. Here
+we draw the barrel of the cannon.
+
+It can often be difficult to envision the resulting drawing when the
+coordinate system has been transformed (translated, rotated, scaled, or
+sheared) as above.
+
+In this case the coordinate system is first translated and then rotated.
+If the rectangle QRect(33, -4, 15, 8) had been drawn in the translated
+coordinate system, it would have looked like this:
+
+\img t9_1.png The cannon translated but not rotated
+
+Note that the rectangle is clipped by the border of the CannonField
+widget. When we rotate the coordinate system, for instance 60
+degrees, the rectangle will be rotated around (0, 0), which is the
+bottom-left corner because we have translated the coordinate system.
+The result looks like this:
+
+\img t9_2.png The cannon translated and rotated
+
+We're done, except that we haven't explained why Windows didn't dither
+this time.
+
+\quotefile t9/main.cpp
+\skipto main
+\printline main
+\printline {
+\printline CustomColor
+\printline QApplication
+
+We tell Qt that we want a different color-allocation strategy for this
+program. There is no single correct color-allocation strategy. Because
+this program uses an unusual yellow but not many colors, \c
+CustomColor is best. There are several other allocation strategies; you can read about them in the \l QApplication::setColorSpec()
+documentation.
+
+Mostly you can ignore this, since the default is good. Occasionally
+some applications with unusual color use look bad; changing the
+allocation strategy often helps then.
+
+\section1 Behavior
+
+When the slider is operated the angle of the drawn cannon changes
+accordingly.
+
+The Q on the Quit button is now underlined, and Alt+Q does what you
+think it does. If you do not know why, you didn't do the exercises in
+Chapter 8.
+
+You may notice that the cannon flickers annoyingly, especially on a
+slow machine. We'll fix this in the next chapter.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Set a different pen instead of NoPen. Set a patterned brush.
+
+Try "Q&uit" or "Qu&it" as button text instead of "&Quit". What
+happens?
+
+You're now ready for \link tutorial1-10.html Chapter 10.\endlink
+
+[\link tutorial1-08.html Previous tutorial\endlink]
+[\link tutorial1-10.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t10/lcdrange.h */
+/*! \file t10/lcdrange.cpp */
+/*! \file t10/cannon.h */
+/*! \file t10/cannon.cpp */
+/*! \file t10/main.cpp */
+
+/*! \page tutorial1-10.html
+
+\title Qt Tutorial - Chapter 10: Smooth as Silk
+
+\img t10.png Screenshot of tutorial ten
+
+In this example, we introduce painting in a pixmap to remove flickering.
+We also add a force control.
+
+\list
+\i \l t10/lcdrange.h contains the LCDRange
+class definition.
+\i \l t10/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t10/cannon.h contains the CannonField class
+definition.
+\i \l t10/cannon.cpp contains the CannonField
+implementation.
+\i \l t10/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t10/cannon.h
+
+The CannonField now has a force value in addition to the angle.
+
+\quotefile t10/cannon.h
+
+\skipto angle
+\printuntil forceChanged
+
+The interface to the force follows the same practice as for the angle.
+
+\skipto private
+\printuntil cannonRect
+
+We have put the definition of the cannon's enclosing rectangle in a
+separate function.
+
+\skipto ang
+\printuntil };
+
+The force is stored in the integer \c f.
+
+\section2 \l t10/cannon.cpp
+
+\quotefile t10/cannon.cpp
+
+\skipto include
+\skipto pixmap
+\printline pixmap
+
+We include the QPixmap class definition.
+
+\skipto ::CannonField
+\printuntil }
+
+The force (\c f) is initialized to zero.
+
+\skipto ::setAngle
+\printuntil }
+
+We have made a slight change in the setAngle() function. It repaints
+only the portion of the widget that contains the cannon. The FALSE
+argument indicates that the specified rectangle should not be erased
+before a paint event is sent to the widget. This speeds up and smooths
+the drawing a little bit.
+
+\skipto ::setForce
+\printuntil }
+
+The implementation of setForce() is quite similar to that of
+setAngle(). The only difference is that because we don't show the force
+value, we don't need to repaint the widget.
+
+\skipto ::paintEvent
+\printuntil return
+
+We have now optimized the paint event to repaint only the parts of the
+widget that need updating. First we check whether we have to paint
+anything at all, and we return if we don't.
+
+\printline cannonRect
+\printline pix
+
+Then we create a temporary pixmap, which we use for flicker-free
+painting. All the painting operations are done into this pixmap, and
+then the pixmap is drawn on the screen in a single operation.
+
+This is the essence of flicker-free drawing: Draw on each pixel
+precisely once. Less, and you get drawing errors. More, and you get
+flicker. It doesn't matter much in this example - when the code was
+written there were still machines slow enough for it to flicker, but
+not any more. We've kept the code for educational purposes.
+
+\printline fill
+
+We fill the pixmap with the background from this widget.
+
+\printline QPainter
+\printuntil end
+
+We paint, as in Chapter 9, but now we paint in the pixmap.
+
+At this point, we have a painter variable and a pixmap that looks
+precisely right, but we still haven't painted on the screen.
+
+\printline begin
+\printline drawPixmap
+
+So we open the painter on the CannonField itself and then draw the pixmap.
+
+That's all. A couple of extra lines at the top and a couple at the
+bottom, and the code is 100% flicker-free.
+
+\skipto cannonRect
+\printuntil }
+
+This function returns the rectangle enclosing the cannon in widget
+coordinates. First we create a rectangle with the size 50x50 and then
+move it so its bottom left corner is equal to the widget's own bottom-
+left corner.
+
+The \l QWidget::rect() function returns the widget's enclosing
+rectangle in the widget's own coordinates (where the top left corner
+is 0, 0).
+
+\section2 \l t10/main.cpp
+
+\quotefile t10/main.cpp
+
+\skipto MyWidget::MyWidget
+\printuntil {
+
+The constructor is mostly the same, but some new bits have been added.
+
+\skipto force
+\printline force
+\printline force
+
+We add a second LCDRange, which will be used to set the force.
+
+\skipto force
+\printline connect
+\printline cannonField
+\printline connect
+\printline force
+
+We connect the \c force widget and the \c cannonField widget, just like
+we did for the \c angle widget.
+
+\skipto QVBoxLayout
+\printline QVBoxLayout
+\printline addLayout
+\printline addWidget
+\printline addWidget
+
+In Chapter 9 we put \c angle in the lower-left cell of the layout.
+Now we want to have two widgets in that cell, so we make a vertical
+box, put the vertical box in the grid cell, and put each of \c angle
+and \c range in the vertical box.
+
+\skipto force
+\printline setValue
+
+We initialize the force value to 25.
+
+\section1 Behavior
+
+The flicker has gone and we have a force control.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+
+\section1 Exercises
+
+Make the size of the cannon barrel be dependent on the force.
+
+Put the cannon in the bottom-right corner.
+
+Try adding a better keyboard interface. For example, make + and -
+increase and decrease the force and enter shoot. Hint: \l QAccel and
+new addStep() and subtractStep() slots in LCDRange, like \l
+QSlider::addStep(). If you're bothered by the way the left and right
+keys work (I am!), change that too.
+
+You're now ready for \link tutorial1-11.html Chapter 11.\endlink
+
+[\link tutorial1-09.html Previous tutorial\endlink]
+[\link tutorial1-11.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t11/lcdrange.h */
+/*! \file t11/lcdrange.cpp */
+/*! \file t11/cannon.h */
+/*! \file t11/cannon.cpp */
+/*! \file t11/main.cpp */
+
+/*! \page tutorial1-11.html
+
+\title Qt Tutorial - Chapter 11: Giving It a Shot
+
+\img t11.png Screenshot of tutorial eleven
+
+In this example we introduce a timer to implement animated shooting.
+
+\list
+\i \l t11/lcdrange.h contains the LCDRange
+class definition.
+\i \l t11/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t11/cannon.h contains the CannonField class
+definition.
+\i \l t11/cannon.cpp contains the CannonField
+implementation.
+\i \l t11/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t11/cannon.h
+
+The CannonField now has shooting capabilities.
+
+\quotefile t11/cannon.h
+
+\skipto shoot
+\printline shoot
+
+Calling this slot will make the cannon shoot if a shot is not in the air.
+
+\printline private
+\printline moveShot
+
+This private slot is used to move the shot while it is in the air,
+using a \l QTimer.
+
+\skipto private
+\printline private
+\printline paintShot
+
+This private function paints the shot.
+
+\skipto shotRect
+\printline shotRect
+
+This private function returns the shot's enclosing rectangle if
+one is in the air; otherwise the returned rectangle is undefined.
+
+\skipto timerCount
+\printuntil shoot_f
+\printline };
+
+These private variables contain information that describes the shot. The
+\c timerCount keeps track of the time passed since the shot was fired.
+The \c shoot_ang is the cannon angle and \c shoot_f is the cannon force
+when the shot was fired.
+
+
+\section2 \l t11/cannon.cpp
+
+\quotefile t11/cannon.cpp
+
+\skipto include
+\skipto math
+\printline math
+
+We include the math library because we need the sin() and cos() functions.
+
+\skipto ::CannonField
+\printuntil }
+
+We initialize our new private variables and connect the \l
+QTimer::timeout() signal to our moveShot() slot. We'll move the
+shot every time the timer times out.
+
+\skipto ::shoot
+\printuntil start
+\printline }
+
+This function shoots a shot unless a shot is in the air. The \c timerCount
+is reset to zero. The \c shoot_ang and \c shoot_f are set to the current
+cannon angle and force. Finally, we start the timer.
+
+\skipto ::moveShot
+\printuntil repaint
+\printline }
+
+moveShot() is the slot that moves the shot, called every 50
+milliseconds when the QTimer fires.
+
+Its tasks are to compute the new position, repaint the screen with the
+shot in the new position, and if necessary, stop the timer.
+
+First we make a \l QRegion that holds the old shotRect(). A QRegion
+is capable of holding any sort of region, and we'll use it here to
+simplify the painting. ShotRect() returns the rectangle where the
+shot is now - it is explained in detail later.
+
+Then we increment the \c timerCount, which has the effect of moving the
+shot one step along its trajectory.
+
+Next we fetch the new shot rectangle.
+
+If the shot has moved beyond the right or bottom edge of the widget, we
+stop the timer or we add the new shotRect() to the QRegion.
+
+Finally, we repaint the QRegion. This will send a single paint event
+for just the one or two rectangles that need updating.
+
+\skipto ::paintEvent
+\printuntil }
+
+The paint event function has been split in two since the previous
+chapter. Now we fetch the bounding rectangle of the region that
+needs painting, check whether it intersects either the cannon and/or
+the shot, and if necessary, call paintCannon() and/or paintShot().
+
+\skipto ::paintShot
+\printuntil drawRect
+\printline }
+
+This private function paints the shot by drawing a black filled rectangle.
+
+We leave out the implementation of paintCannon(); it is the same as
+the paintEvent() from the previous chapter.
+
+\skipto ::shotRect
+\printuntil return
+\printline }
+
+This private function calculates the center point of the shot and returns
+the enclosing rectangle of the shot. It uses the initial cannon force and
+angle in addition to \c timerCount, which increases as time passes.
+
+The formula used is the classical Newtonian formula for frictionless
+movement in a gravity field. For simplicity, we've chosen to
+disregard any Einsteinian effects.
+
+We calculate the center point in a coordinate system where y
+coordinates increase upward. After we have calculated the center
+point, we construct a QRect with size 6x6 and move its center point to
+the point calculated above. In the same operation we convert the
+point into the widget's coordinate system (see \link coordsys.html The
+Coordinate System\endlink).
+
+The qRound() function is an inline function defined in qglobal.h (included
+by all other Qt header files). qRound() rounds a double to the closest
+integer.
+
+\section2 \l t11/main.cpp
+
+\quotefile t11/main.cpp
+
+\skipto class
+\printuntil };
+
+The only addition is the Shoot button.
+
+\skipto ::MyWidget
+\skipto shoot
+\printuntil setFont
+
+In the constructor we create and set up the Shoot button exactly like we
+did with the Quit button. Note that the first argument to the constructor
+is the button text, and the third is the widget's name.
+
+\skipto connect
+\printline connect
+
+Connects the clicked() signal of the Shoot button to the shoot() slot
+of the CannonField.
+
+
+\section1 Behavior
+
+The cannon can shoot, but there's nothing to shoot at.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+
+\section1 Exercises
+
+Make the shot a filled circle. Hint: \l QPainter::drawEllipse() may
+help.
+
+Change the color of the cannon when a shot is in the air.
+
+You're now ready for \link tutorial1-12.html Chapter 12.\endlink
+
+[\link tutorial1-10.html Previous tutorial\endlink]
+[\link tutorial1-12.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t12/lcdrange.h */
+/*! \file t12/lcdrange.cpp */
+/*! \file t12/cannon.h */
+/*! \file t12/cannon.cpp */
+/*! \file t12/main.cpp */
+
+/*! \page tutorial1-12.html
+
+\title Qt Tutorial - Chapter 12: Hanging in the Air the Way Bricks Don't
+
+\img t12.png Screenshot of tutorial twelve
+
+In this example, we extend our LCDRange class to include a text label.
+We also provide something to shoot at.
+
+\list
+\i \l t12/lcdrange.h contains the LCDRange
+class definition.
+\i \l t12/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t12/cannon.h contains the CannonField class
+definition.
+\i \l t12/cannon.cpp contains the CannonField
+implementation.
+\i \l t12/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+
+\section2 \l t12/lcdrange.h
+
+The LCDRange now has a text label.
+
+\quotefile t12/lcdrange.h
+
+\skipto QLabel
+\printline QLabel
+
+We name declare QLabel because we want to use a pointer to it in the class
+definition.
+
+\skipto class
+\printuntil parent=0
+\printline parent=0
+\printline name=0
+
+We have added a new constructor that sets the label text in addition to
+the parent and name.
+
+\skipto text
+\printline text
+
+This function returns the label text.
+
+\skipto setText
+\printline setText
+
+This slot sets the label text.
+
+\skipto private
+\printuntil init
+
+Because we now have two constructors, we have chosen to put the common
+initialization in the private init() function.
+
+\skipto QLabel
+\printline label
+
+We also have a new private variable: a QLabel. QLabel is one of Qt's
+standard widgets and can show a text or a pixmap with or without a
+frame.
+
+
+\section2 \l t12/lcdrange.cpp
+
+\quotefile t12/lcdrange.cpp
+
+\skipto qlabel
+\printline include
+
+Here we include the QLabel class definition.
+
+\skipto ::LCDRange
+\printuntil }
+
+This constructor calls the init() function, which contains the common
+initialization code.
+
+\skipto ::LCDRange
+\printuntil }
+
+This constructor first calls init() and then sets the label text.
+
+\skipto ::init
+\printuntil }
+
+The setup of \c lcd and \c slider is the same as in the previous
+chapter. Next we create a QLabel and tell it to align the contents
+centered (both vertically and horizontally). The connect() statements
+have also been taken from the previous chapter.
+
+\skipto ::text
+\printuntil }
+
+This function returns the label text.
+
+\skipto ::setText
+\printuntil }
+
+This function sets the label text.
+
+\section2 \l t12/cannon.h
+
+The CannonField now has two new signals: hit() and missed(). In addition
+it contains a target.
+
+\quotefile t12/cannon.h
+
+\skipto slots
+\skipto newTarget
+\printline newTarget
+
+This slot creates a target at a new position.
+
+\skipto signals
+\printuntil missed
+
+The hit() signal is emitted when a shot hits the target. The missed()
+signal is emitted when the shot moves beyond the right or bottom edge
+of the widget (i.e., it is certain that it has not and will not
+hit the target).
+
+\skipto paintTarget
+\printline paintTarget
+
+This private function paints the target.
+
+\skipto targetRect
+\printline targetRect
+
+This private function returns the enclosing rectangle of the target.
+
+\skipto target
+\printline target
+
+This private variable contains the center point of the target.
+
+
+\section2 \l t12/cannon.cpp
+
+\quotefile t12/cannon.cpp
+
+\skipto qdatetime
+\printline qdatetime
+
+We include the QDate, QTime, and QDateTime class definitions.
+
+\skipto stdlib
+\printline stdlib
+
+We include the stdlib library because we need the rand() function.
+
+\skipto newTarget
+\printline newTarget
+
+This line has been added to the constructor. It creates a "random"
+position for the target. In fact, the newTarget() function will try
+to paint the target. Because we are in a constructor, the CannonField
+widget is invisible. Qt guarantees that no harm is done when calling
+repaint() on a hidden widget.
+
+\skipto ::newTarget
+\printuntil repaint
+\printline }
+
+This private function creates a target center point at a new "random"
+position.
+
+We use the rand() function to fetch random integers. The rand() function
+normally returns the same series of numbers each time you run a program.
+This would make the target appear at the same position every time. To
+avoid this, we must set a random seed the first time this function is
+called. The random seed must also be random in order to avoid equal random
+number series. The solution is to use the number of seconds that have
+passed since midnight as a pseudo-random value.
+
+First we create a static bool local variable. A static variable like
+this one is guaranteed to keep its value between calls to the function.
+
+The \c if test will succeed only the first time this function is called
+because we set \c first_time to FALSE inside the \c if block.
+
+Then we create the QTime object \c midnight, which represents the time
+00:00:00. Next we fetch the number of seconds from midnight until
+now and use it as a random seed. See the documentation for \l QDate,
+\l QTime, and \l QDateTime for more information.
+
+Finally we calculate the target's center point. We keep it within
+the rectangle (x=200, y=35, width=190, height=255), (i.e., the
+possible x and y values are x = 200..389 and y = 35..289) in a
+coordinate system where we put y position 0 at the bottom edge of the
+widget and let y values increase upwards X is as normal, with 0 at
+the left edge and with x values increasing to the right.
+
+By experimentation we have found this to always be in reach of the shot.
+
+Note that rand() returns a random integer >= 0.
+
+\skipto ::moveShot
+\printuntil QRect
+
+This part of the timer event has not changed from the previous chapter.
+
+\printuntil hit
+
+This \c if statement checks whether the shot rectangle intersects the
+target rectangle. If it does, the shot has hit the target (ouch!).
+We stop the shoot timer and emit the hit() signal to tell the outside
+world that a target was destroyed, and return.
+
+Note that we could have created a new target on the spot, but because the
+CannonField is a component we leave such decisions to the user of the
+component.
+
+\printuntil missed
+
+This \c if statement is the same as in the previous chapter, except that
+it now emits the missed() signal to tell the outside world about the
+failure.
+
+\printuntil }
+
+And the rest of the function is as before.
+
+CannonField::paintEvent() is as before, except that this has been
+added:
+
+\skipto ::paintEvent
+\skipto targetRect
+\printline updateR
+\printline paintTarget
+
+These two lines make sure that the target is also painted when necessary.
+
+\skipto ::paintTarget
+\printuntil }
+
+This private function paints the target; a rectangle filled with red and
+with a black outline.
+
+\skipto ::targetRect
+\printuntil }
+
+This private function returns the enclosing rectangle of the target.
+Remember from newTarget() that the \c target point uses y coordinate 0 at
+the bottom of the widget. We calculate the point in widget coordinates
+before we call \l QRect::moveCenter().
+
+The reason we have chosen this coordinate mapping is to fix the distance
+between the target and the bottom of the widget. Remember that the widget
+can be resized by the user or the program at any time.
+
+\section2 \l t12/main.cpp
+
+\quotefile t12/main.cpp
+
+There are no new members in the MyWidget class, but we have slightly
+changed the constructor to set the new LCDRange text labels.
+
+\skipto ::MyWidget
+\skipto angle
+\printline ANGLE
+
+We set the angle text label to "ANGLE".
+
+
+\skipto force
+\printline FORCE
+
+We set the force text label to "FORCE".
+
+
+\section1 Behavior
+
+The LCDRange widgets look a bit strange - the built-in layout
+management in QVBox gives the labels too much space and the rest not
+enough. We'll fix that in the next chapter.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+\section1 Exercises
+
+Make a cheat button that, when pressed, makes the CannonField display
+the shot trajectory for five seconds.
+
+If you did the "round shot" exercise from the previous chapter, try
+changing the shotRect() to a shotRegion() that returns a \l QRegion so
+you can have really accurate collision detection.
+
+Make a moving target.
+
+Make sure that the target is always created entirely on-screen.
+
+Make sure that the widget cannot be resized so that the target isn't
+visible. Hint: \l QWidget::setMinimumSize() is your friend.
+
+Not easy; make it possible to have several shots in the air at the
+same time. Hint: make a Shot object.
+
+You're now ready for \link tutorial1-13.html Chapter 13.\endlink
+
+[\link tutorial1-11.html Previous tutorial\endlink]
+[\link tutorial1-13.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t13/lcdrange.h */
+/*! \file t13/lcdrange.cpp */
+/*! \file t13/cannon.h */
+/*! \file t13/cannon.cpp */
+/*! \file t13/gamebrd.h */
+/*! \file t13/gamebrd.cpp */
+/*! \file t13/main.cpp */
+
+/*! \page tutorial1-13.html
+
+\title Qt Tutorial - Chapter 13: Game Over
+
+\img t13.png Screenshot of tutorial thirteen
+
+In this example we start to approach a real playable game with a
+score. We give MyWidget a new name (GameBoard) and add some slots.
+
+We put the definition in gamebrd.h and the implementation in gamebrd.cpp.
+
+The CannonField now has a game over state.
+
+The layout problems in LCDRange are fixed.
+
+\list
+\i \l t13/lcdrange.h contains the LCDRange
+class definition.
+\i \l t13/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t13/cannon.h contains the CannonField class
+definition
+\i \l t13/cannon.cpp contains the CannonField
+implementation.
+\i \l t13/gamebrd.h contains the GameBoard
+class definition.
+\i \l t13/gamebrd.cpp contains the GameBoard
+implementation.
+\i \l t13/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+
+\section2 \l t13/lcdrange.h
+
+\quotefile t13/lcdrange.h
+
+\skipto include
+\printuntil QWidget
+
+We inherit QWidget rather than QVBox. QVBox is very easy to use, but
+again it showed its limitations so we switch to the more powerful and
+slightly harder to use QVBoxLayout. (As you remember, QVBoxLayout is
+not a widget, it manages one.)
+
+\section2 \l t13/lcdrange.cpp
+
+\quotefile t13/lcdrange.cpp
+
+\skipto layout
+\printline layout
+
+We need to include qlayout.h now to get the other layout management
+API.
+
+\printline LCDRange
+\printline QWidget
+
+We inherit QWidget in the usual way.
+
+The other constructor has the same change. init() is unchanged,
+except that we've added some lines at the end:
+
+\skipto QVBoxLayout
+\printline QVBoxLayout
+
+We create a QVBoxLayout with all the default values, managing this
+widget's children.
+
+\printline addWidget
+
+At the top we add the QLCDNumber with a non-zero stretch.
+
+\printline addWidget
+\printline addWidget
+
+Then we add the other two, both with the default zero stretch.
+
+This stretch control is something QVBoxLayout (and QHBoxLayout, and
+QGridLayout) offers but classes like QVBox do not. In this case
+we're saying that the QLCDNumber should stretch and the others should
+not.
+
+\section2 \l t13/cannon.h
+
+The CannonField now has a game over state and a few new functions.
+
+\quotefile t13/cannon.h
+
+\skipto gameOver
+\printline gameOver
+
+This function returns TRUE if the game is over or FALSE if a game
+is going on.
+
+\skipto setGameOver
+\printuntil restartGame
+
+Here are two new slots: setGameOver() and restartGame().
+
+\skipto canShoot
+\printline canShoot
+
+This new signal indicates that the CannonField is in a state where the
+shoot() slot makes sense. We'll use it below to enable/disable the
+Shoot button.
+
+\skipto gameEnded
+\printline gameEnded
+
+This private variable contains the game state. TRUE means that the
+game is over, and FALSE means that a game is going on.
+
+\section2 \l t13/cannon.cpp
+
+\quotefile t13/cannon.cpp
+
+\skipto ::CannonField
+\skipto gameEnded
+\printline gameEnded
+
+This line has been added to the constructor. Initially, the game is not
+over (luckily for the player :-).
+
+\skipto ::shoot
+\printuntil }
+
+We added a new isShooting() function, so shoot() uses it instead of
+testing directly. Also, shoot tells the world that the CannonField
+cannot shoot now.
+
+\skipto ::setGameOver
+\printuntil }
+
+This slot ends the game. It must be called from outside CannonField,
+because this widget does not know when to end the game. This is an
+important design principle in component programming. We choose to
+make the component as flexible as possible to make it usable with
+different rules (for example, a multi-player version of this in which the
+first player to hit ten times wins could use the CannonField unchanged).
+
+If the game has already been ended we return immediately. If a game is
+going on we stop the shot, set the game over flag, and repaint the entire
+widget.
+
+\skipto ::restartGame
+\printuntil }
+
+This slot starts a new game. If a shot is in the air, we stop shooting.
+We then reset the \c gameEnded variable and repaint the widget.
+
+moveShot() too emits the new canShoot(TRUE) signal at the same time as
+either hit() or miss().
+
+Modifications in CannonField::paintEvent():
+
+\skipto ::paintEvent
+\printuntil }
+
+The paint event has been enhanced to display the text "Game Over" if
+the game is over, i.e., \c gameEnded is TRUE. We don't bother to
+check the update rectangle here because speed is not critical when
+the game is over.
+
+To draw the text we first set a black pen; the pen color is used
+when drawing text. Next we choose a 48 point bold font from the
+Courier family. Finally we draw the text centered in the widget's
+rectangle. Unfortunately, on some systems (especially X servers with
+Unicode fonts) it can take a while to load such a large font. Because
+Qt caches fonts, you will notice this only the first time the font is
+used.
+
+\printuntil }
+
+We draw the shot only when shooting and the target only when playing
+(that is, when the game is not ended).
+
+
+\section2 \l t13/gamebrd.h
+
+This file is new. It contains the definition of the GameBoard class,
+which was last seen as MyWidget.
+
+\quotefile t13/gamebrd.h
+
+\skipto include
+\skipto class
+\printuntil };
+
+We have now added four slots. These are protected and are used internally.
+We have also added two QLCDNumbers (\c hits and \c shotsLeft) which display
+the game status.
+
+
+\section2 \l t13/gamebrd.cpp
+
+This file is new. It contains the implementation of the GameBoard
+class, which was last seen as MyWidget.
+
+\quotefile t13/gamebrd.cpp
+
+We have made some changes in the GameBoard constructor.
+
+\skipto ::GameBoard
+\skipto cannonField
+\printline cannonField
+
+\c cannonField is now a member variable, so we carefully change the
+constructor to use it. (The \e good programmers at Trolltech never
+forget this, but I do. Caveat programmor - if "programmor" is Latin,
+at least. Anyway, back to the code.)
+
+\skipto hit
+\printline connect
+\printline hit
+\printline connect
+\printline missed
+
+This time we want to do something when the shot has hit or missed the
+target. Thus we connect the hit() and missed() signals of the
+CannonField to two protected slots with the same names in this class.
+
+\skipto shoot
+\skipto connect
+\printline fire
+
+Previously we connected the Shoot button's clicked() signal directly
+to the CannonField's shoot() slot. This time we want to keep track of
+the number of shots fired, so we connect it to a protected slot in
+this class instead.
+
+Notice how easy it is to change the behavior of a program when you are
+working with self-contained components.
+
+\printline connect
+\printline setEnabled
+
+We also use the cannonField's canShoot() signal to enable or disable
+the Shoot button appropriately.
+
+\skipto restart
+\printuntil connect
+
+We create, set up, and connect the New Game button as we have done
+with the other buttons. Clicking this button will activate the
+newGame() slot in this widget.
+
+\printuntil shotsLeftL
+\printline QLabel
+
+We create four new widgets. Note that we don't bother to keep the
+pointers to the QLabel widgets in the GameBoard class because there's
+nothing much we want to do with them. Qt will delete them when the
+GameBoard widget is destroyed, and the layout classes will resize them
+appropriately.
+
+\skipto QHBoxLayout
+\printuntil addStretch
+\printline addWidget
+
+The number of widgets in the top-right cell is getting large. Once it
+was empty; now it's full enough that we group together the layout
+setting for better overview.
+
+Notice that we let all the widgets have their preferred sizes, instead
+putting the stretch just to the left of the New Game button.
+
+\skipto newGame
+\printline newGame
+\printline }
+
+We're all done constructing the GameBoard, so we start it all using
+newGame(). (NewGame() is a slot, but as we said, slots can be used as
+ordinary functions, too.)
+
+\skipto ::fire
+\printuntil }
+
+This function fires a shot. If the game is over or if there is a shot in the
+air, we return immediately. We decrement the number of shots left and tell
+the cannon to shoot.
+
+\skipto ::hit
+\printuntil }
+
+This slot is activated when a shot has hit the target. We increment the
+number of hits. If there are no shots left, the game is over. Otherwise,
+we make the CannonField generate a new target.
+
+\skipto ::missed
+\printuntil }
+
+This slot is activated when a shot has missed the target. If there are no
+shots left, the game is over.
+
+\skipto ::newGame
+\printuntil }
+
+This slot is activated when the user clicks the Restart button. It is
+also called from the constructor. First it sets the number of shots
+to 15. Note that this is the only place in the program where we set
+the number of shots. Change it to whatever you like to change the
+game rules. Next we reset the number of hits, restart the game, and
+generate a new target.
+
+\section2 \l t13/main.cpp
+
+This file has just been on a diet. MyWidget is gone, and the only
+thing left is the main() function, unchanged except for the name
+change.
+
+
+\section1 Behavior
+
+The cannon can shoot at a target; a new target is automatically created
+when one has been hit.
+
+Hits and shots left are displayed and the program keeps track of them.
+The game can end, and there's a button to start a new game.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+
+\section1 Exercises
+
+Add a random wind factor and show it to the user.
+
+Make some splatter effects when the shot hits the target.
+
+Implement multiple targets.
+
+You're now ready for \link tutorial1-14.html Chapter 14.\endlink
+
+[\link tutorial1-12.html Previous tutorial\endlink]
+[\link tutorial1-14.html Next tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
+
+/*! \file t14/lcdrange.h */
+/*! \file t14/lcdrange.cpp */
+/*! \file t14/cannon.h */
+/*! \file t14/cannon.cpp */
+/*! \file t14/gamebrd.h */
+/*! \file t14/gamebrd.cpp */
+/*! \file t14/main.cpp */
+
+/*! \page tutorial1-14.html
+
+\title Qt Tutorial - Chapter 14: Facing the Wall
+
+\img t14.png Screenshot of tutorial fourteen
+
+This is the final example: a complete game.
+
+We add keyboard accelerators and introduce mouse events to CannonField. We
+put a frame around the CannonField and add a barrier (wall) to make the
+game more challenging.
+
+\list
+\i \l t14/lcdrange.h contains the LCDRange
+class definition.
+\i \l t14/lcdrange.cpp contains the LCDRange
+implementation.
+\i \l t14/cannon.h contains the CannonField class
+definition.
+\i \l t14/cannon.cpp contains the CannonField
+implementation.
+\i \l t14/gamebrd.h contains the GameBoard
+class definition.
+\i \l t14/gamebrd.cpp contains the GameBoard
+implementation.
+\i \l t14/main.cpp contains MyWidget and main.
+\endlist
+
+\section1 Line-by-line Walkthrough
+
+\section2 \l t14/cannon.h
+
+The CannonField can now receive mouse events to make the user aim the
+barrel by clicking on it and dragging. CannonField also has a barrier
+wall.
+
+\quotefile t14/cannon.h
+
+\skipto CannonField
+\skipto protected
+\printuntil mouseReleaseEvent
+
+In addition to the familiar event handlers, CannonField implements
+three mouse event handlers. The names say it all.
+
+\skipto paintBarrier
+\printline paintBarrier
+
+This private function paints the barrier wall.
+
+\skipto barrierRect
+\printline barrierRect
+
+This private function returns the enclosing rectangle of the barrier.
+
+\skipto barrelHit
+\printline barrelHit
+
+This private function checks if a point is inside the barrel of the cannon.
+
+\skipto barrelPressed
+\printline barrelPressed
+
+This private variable is TRUE if the user has pressed the mouse on the
+barrel and not released it.
+
+
+\section2 \l t14/cannon.cpp
+
+\quotefile t14/cannon.cpp
+
+\skipto ::CannonField
+\skipto barrelPressed
+\printline barrelPressed
+
+This line has been added to the constructor. Initially, the mouse is
+not pressed on the barrel.
+
+\skipto ::moveShot
+\skipto else
+\printuntil {
+
+Now that we have a barrier, there are three ways to miss. We test for
+the third, too.
+
+\skipto ::mousePressEvent
+\printuntil }
+
+This is a Qt event handler. It is called when the user presses a
+mouse button when the mouse cursor is over the widget.
+
+If the event was not generated by the left mouse button, we return
+immediately. Otherwise, we check if the position of the mouse cursor
+is within the cannon's barrel. If it is, we set \c barrelPressed to
+TRUE.
+
+Notice that the pos() function returns a point in the widget's
+coordinate system.
+
+\skipto ::mouseMoveEvent
+\printuntil setAngle
+\printline }
+
+This is another Qt event handler. It is called when the user already
+has pressed the mouse button inside this widget and then moves/drags
+the mouse. (You can make Qt send mouse move events even when no
+buttons are pressed. See \l QWidget::setMouseTracking().)
+
+This handler repositions the cannon's barrel according to the position of
+the mouse cursor.
+
+First, if the barrel is not pressed, we return. Next, we fetch the
+mouse cursor's position. If the mouse cursor is to the left or below
+the widget, we adjust the point to be inside the widget.
+
+Then we calculate the angle between the bottom edge of the widget and
+the imaginary line between the bottom-left corner of the widget and
+the cursor position. Finally we set the cannon's angle to the new
+value converted to degrees.
+
+Remember that setAngle() redraws the cannon.
+
+\skipto ::mouseReleaseEvent
+\printuntil }
+
+This Qt event handler is called whenever the user releases a mouse
+button and it was pressed inside this widget.
+
+If the left button is released, we can be sure that the barrel is no
+longer pressed.
+
+The paint event has two extra lines:
+
+\skipto ::paintEvent
+\skipto barrierRect
+\printline barrierRect
+\printline paintBarrier
+
+paintBarrier() does the same sort of thing as paintShot(),
+paintTarget(), and paintCannon().
+
+\skipto ::paintBarrier
+\printuntil }
+
+This private function paints the barrier as a rectangle filled with
+yellow and with a black outline.
+
+\skipto ::barrierRect
+\printuntil }
+
+This private function returns the rectangle of the barrier. We fix
+the bottom edge of the barrier to the bottom edge of the widget.
+
+\skipto ::barrelHit
+\printuntil }
+
+This function returns TRUE if the point is in the barrel; otherwise it returns
+FALSE.
+
+Here we use the class \l QWMatrix. It is defined in the header file
+qwmatrix.h, which is included by qpainter.h.
+
+QWMatrix defines a coordinate system mapping. It can perform the same
+transformations as the QPainter.
+
+Here we perform the same transformation steps as we do when drawing
+the barrel in the paintCannon() function. First we translate the
+coordinate system and then we rotate it.
+
+Now we need to check whether the point \c p (in widget coordinates) lies
+inside the barrel. To do this, we invert the transformation matrix.
+The inverted matrix performs the inverse transformation that we used
+when drawing the barrel. We map the point \c p using the inverted
+matrix and return TRUE if it is inside the original barrel rectangle.
+
+
+\section2 \l t14/gamebrd.cpp
+
+\quotefile t14/gamebrd.cpp
+
+\skipto qaccel.h
+\printline qaccel.h
+
+We include the class definition of \l QAccel.
+
+\skipto ::GameBoard
+\skipto QVBox
+\printline QVBox
+\printline setFrameStyle
+\printline cannonField
+
+We create and set up a \l QVBox, set its frame style, and then create
+\c CannonField as a child of that box. Because nothing else is in the
+box, the effect is that the QVBox will put a frame around the
+CannonField.
+
+\skipto QAccel
+\printline accel
+\printline connectItem
+\printline fire
+\printline connectItem
+\printline fire
+
+Here we create and set up an accelerator. An accelerator is an object
+that intercepts keyboard events to an application and calls slots if
+certain keys are pressed. This mechanism is also called shortcut
+keys. Note that an accelerator is a child of a widget and will be
+destroyed when that widget is destroyed. QAccel is \e not a widget
+and has no visible effect on its parent.
+
+We define two shortcut keys. We want the slot fire() to be called
+when the user presses Enter, and we want the application to quit when
+key Ctrl+Q is pressed. Because Enter is sometimes Return and there
+are even keyboards with \e both keys, we make both Enter and Return
+invoke fire().
+
+\printline connectItem
+\printline quit
+
+And then we set up Ctrl+Q to do the same thing as Alt+Q. Some
+people are more used to Ctrl+Q (and anyway it shows how do do it).
+
+CTRL, Key_Enter, Key_Return and Key_Q are all constants provided by
+Qt. They're actually Qt::Key_Enter, etc., but practically all classes
+inherit the \l Qt namespace class.
+
+\printline QGridLayout
+\printline addWidget
+\printline addWidget
+\printline setColStretch
+
+We put \c box (the QVBox), not the CannonField, in the lower-right
+cell.
+
+\section1 Behavior
+
+The cannon now shoots when you press Enter. You can also position the
+cannon's angle using the mouse. The barrier makes it a little more
+challenging to play the game. We also have a nice looking frame
+around the CannonField.
+
+(See \link tutorial1-07.html#compiling Compiling\endlink for how to create a
+makefile and build the application.)
+
+
+\section1 Exercises
+
+Write a space invaders game.
+
+(This exercise was first done by
+\link mailto:igorr@ifi.uio.no Igor Rafienko\endlink. You can
+\link http://www.stud.ifi.uio.no/~igorr/download.html
+download his game\endlink.)
+
+The new exercise is: Write a Breakout game.
+
+Final exhortation: Go forth now and create \e {masterpieces of the
+programming art!}
+
+\omit
+Cf. Chapter 27 of The TeXbook
+\endomit
+
+[\link tutorial1-13.html Previous tutorial\endlink]
+[\link tutorial1-01.html First tutorial\endlink]
+[\link tutorial.html Main tutorial page\endlink]
+
+*/
diff --git a/doc/tutorial2.doc b/doc/tutorial2.doc
new file mode 100644
index 0000000..ad20fef
--- /dev/null
+++ b/doc/tutorial2.doc
@@ -0,0 +1,1435 @@
+/*! \file chart/chart.pro */
+/*! \file chart/element.h */
+/*! \file chart/element.cpp */
+/*! \file chart/main.cpp */
+/*! \file chart/canvastext.h */
+/*! \file chart/canvasview.h */
+/*! \file chart/canvasview.cpp */
+/*! \file chart/chartform.h */
+/*! \file chart/chartform.cpp */
+/*! \file chart/chartform_canvas.cpp */
+/*! \file chart/chartform_files.cpp */
+/*! \file chart/optionsform.h */
+/*! \file chart/optionsform.cpp */
+/*! \file chart/setdataform.h */
+/*! \file chart/setdataform.cpp */
+
+/*!
+
+\page tutorial2.html
+
+\title Tutorial #2
+
+This tutorial presents a more "real world" example of Qt programming
+than the first tutorial. It introduces many aspects of Qt programming,
+including the creation of menus (including a recent files list),
+toolbars and dialogs, loading and saving user settings, etc.
+
+If you're completely new to Qt, please read \link how-to-learn-qt.html
+How to Learn Qt\endlink if you haven't already done so.
+
+\list
+\i \link tutorial2-01.html Introduction\endlink
+\i \link tutorial2-02.html The 'Big Picture'\endlink
+\i \link tutorial2-03.html Data Elements\endlink
+\i \link tutorial2-04.html Mainly Easy\endlink
+\i \link tutorial2-05.html Presenting the GUI\endlink
+\i \link tutorial2-06.html Canvas Control\endlink
+\i \link tutorial2-07.html File Handling\endlink
+\i \link tutorial2-08.html Taking Data\endlink
+\i \link tutorial2-09.html Setting Options\endlink
+\i \link tutorial2-10.html The Project File\endlink
+\i \link tutorial2-11.html Wrapping Up\endlink
+\endlist
+
+<p align="right">
+<a href="tutorial2-01.html">Introduction &raquo;</a>
+</p>
+*/
+
+/*!
+
+\page tutorial2-01.html
+
+\title Introduction
+
+In this tutorial we will develop a single application called \c chart,
+which is used to display simple pie and bar charts based on data that
+the user enters.
+
+The tutorial gives an overview of the development of the application
+and includes code snippets and accompanying explanations. The complete
+source for the application is in \c examples/chart.
+
+\img chart-main.png The chart application
+
+<p align="right">
+<a href="tutorial2.html">&laquo; Contents</a> |
+<a href="tutorial2-02.html">The 'Big Picture' &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-02.html
+
+\title The 'Big Picture'
+
+\img chart-forms.png The chart application's dialogs
+
+The \c chart program allows users to create, save, load and visualise
+simple data sets. Each data element that the user enters can be given
+a color and pattern for the pie segment or bar, some label text and
+the text's position and color. The \c Element class is used to
+represent data elements.
+
+The program consists of a simple \c main.cpp that loads the chart
+form. The chart form has a menubar and toolbar which provide access to
+the program's functionality. The program provides two dialogs, one to
+set options, and the other to create and edit a data set. Both dialogs
+are launched from chart form menu options or toolbar buttons.
+
+The chart form's main widget is a QCanvasView which displays the
+QCanvas on which we draw the pie chart or bar graph. We subclass
+QCanvasView to obtain some specialised behaviour. Similarly we
+subclass the QCanvasText class (used to place text items on a canvas)
+since we require slightly more than the standard class provides.
+
+The project file, \c chart.pro, is used to create the Makefile that is
+used to build the application.
+
+<p align="right">
+<a href="tutorial2-01.html">&laquo; Introduction</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-03.html">Data Elements &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-03.html
+
+\title Data Elements
+
+We will use a C++ class called \c Element to provide storage and
+access for data elements.
+
+(Extracts from \c element.h.)
+
+\quotefile chart/element.h
+\skipto private
+\printline
+\skipto m_value
+\printto };
+
+Each element has a value. Each value is displayed graphically with a
+particular color and fill pattern. Values may have a label associated
+with them; the label is drawn using the label color and for each type
+of chart has a (relative) position stored in the \c m_propoints array.
+
+\quotefile chart/element.h
+\skipto #include
+\printto class
+
+Although the \c Element class is a purely internal data class, it
+\c{#include}s four Qt classes. Qt is often perceived as a purely GUI
+toolkit, but it provides many non-GUI classes to support most aspects
+of application programming. We use \c qcolor.h so that we can hold the
+paint color and text color in the \c Element class. The use of \c
+qnamespace.h is slightly obscure. Most Qt classes are derived from the
+\link qt.html Qt\endlink superclass which contains various
+enumerations. The \c Element class does not derive from \link qt.html
+Qt\endlink, so we need to include \c qnamespace.h to have access to
+the Qt enum names. An alternative approach would have been to have
+made \c Element a \link qt.html Qt\endlink subclass. We include \c
+qstring.h to make use of Qt's Unicode strings. As a convenience we
+will \c typedef a vector container for \c{Element}s, which is why we
+pull in the \c qvaluevector.h header.
+
+\skipto QValueVector
+\printline
+
+Qt provides a number of containers, some value based like
+QValueVector, and others pointer based. (See \link collection.html
+Collection Classes\endlink.) Here we've just typedefed one container
+type; we will keep each data set of elements in one \c ElementVector.
+
+\skipto const double EPSILON
+\printline
+
+Elements may only have positive values. Because we hold values as
+doubles we cannot readily compare them with zero. Instead we specify a
+value, \c EPSILON, which is close to zero, and consider any value
+greater than \c EPSILON to be positive and valid.
+
+\skipto class
+\printto Element(
+
+We define three public enums for \c{Element}s. \c INVALID is used by
+the isValid() function. It is useful because we are going to use a
+fixed size vector of \c{Element}s, and can mark unused \c{Element}s by
+giving them \c INVALID values. The \c NO_PROPORTION enum is used to
+signify that the user has not positioned the Element's label; any
+positive proportion value is taken to be the text element's position
+proportional to the canvas's size.
+
+If we stored each label's actual x and y position, then every time the
+user resized the main window (and therefore the canvas), the text
+would retain its original (now incorrect) position. So instead of
+storing absolute (x, y) positions we store \e proportional positions,
+i.e. x/width and y/height. We can then multiply these positions by
+the current width and height respectively when we come to draw the
+text and the text will be positioned correctly regardless of any
+resizing. For example, if a label has an x position of 300 and the
+canvas is 400 pixels wide, the proportional x value is 300/400 = 0.75.
+
+The \c MAX_PROPOINTS enum is problematic. We need to store the x and y
+proportions for the text label for every chart type. And we have
+chosen to store these proportions in a fixed-size array. Because of
+this we must specify the maximum number of proportion pairs needed.
+This value must be changed if we change the number of chart types,
+which means that the \c Element class is strongly coupled to the
+number of chart types provided by the \c ChartForm class. In a
+larger application we might have used a vector to store these points
+and dynamically resized it depending on how many chart types are
+available.
+
+\printto Element()
+
+The constructor provides default values for all members of the \c
+Element class. New elements always have label text with no position.
+We use an init() function because we also provide a set() function
+which works like the constructor apart from leaving the proportional
+positions alone.
+
+\skipto isValid()
+\printline
+
+Since we are storing \c{Element}s in a fixed size vector we need to be
+able to check whether a particular element is valid (i.e. should be
+used in calculations and displayed) or not. This is easily achieved
+with the isValid() function.
+
+(Extracts from \c element.cpp.)
+
+\quotefile chart/element.cpp
+\skipto Element::proX
+\printuntil }
+
+Getters and setters are provided for all the members of \c Element.
+The proX() and proY() getters and the setProX() and setProY() setters
+take an index which identifies the type of chart the proportional
+position applies to. This means that the user can have labels
+positioned separately for the same data set for a vertical bar chart,
+a horizontal bar chart and for a pie chart. Note also that we use the
+\c Q_ASSERT macro to provide pre-condition tests on the chart type
+index; (see \link debug.html Debugging\endlink).
+
+\section1 Reading and Writing Data Elements
+
+(Extracts from \c element.h.)
+
+\quotefile chart/element.h
+\skipto QTextStream
+\printline
+\printline
+
+To make our \c Element class more self-contained we provide overloads
+for the \<\< and \>\> operators so that \c{Element}s may be written to
+and read from text streams. We could just as easily have used binary
+streams, but using text makes it possible for users to manipulate
+their data using a text editor and makes it easier to generate and
+filter the data using a scripting language.
+
+(Extracts from \c element.cpp.)
+
+\quotefile chart/element.cpp
+\skipto include
+\printto const
+
+Our implementation of the operators requires the inclusion of \c
+qtextstream.h and \c qstringlist.h.
+
+\printto Element
+
+The format we are using to store the data is colon separated fields
+and newline separated records. The proportional points are semi-colon
+separated, with their x, y pairs being comma separated. The field
+order is value, value color, value pattern, label color, label points,
+label text. For example:
+\code
+20:#ff0000:14:#000000:0.767033,0.412946;0,0.75;0,0:Red :with colons:!
+70:#00ffff:2:#ffff00:0.450549,0.198661;0.198516,0.125954;0,0.198473:Cyan
+35:#0000ff:8:#555500:0.10989,0.299107;0.397032,0.562977;0,0.396947:Blue
+55:#ffff00:1:#000080:0.0989011,0.625;0.595547,0.312977;0,0.59542:Yellow
+80:#ff00ff:1:#000000:0.518681,0.694196;0.794063,0;0,0.793893:Magenta or Violet
+\endcode
+
+There's no problem having whitespace and field separators in label
+text due to the way we read \c Element data.
+
+\skipto &operator<<
+\printuntil return
+\printline
+
+Writing elements is straight-forward. Each member is written followed
+by a field separator. The points are written as comma separated (\c
+XY_SEP) x, y pairs, each pair separated by the \c PROPOINT_SEP
+separator. The final field is the label followed by a newline.
+
+\skipto &operator>>
+\printuntil return
+\printline
+
+To read an element we read one record (i.e. one line). We break the
+data into fields using QStringList::split(). Because it is possible
+that a label will contain \c FIELD_SEP characters we use
+QString::section() to extract all the text from the last field to the
+end of the line. If there are enough fields and the value, colors and
+pattern data is valid we use \c Element::set() to write this data into
+the element; otherwise we leave the element \c INVALID. We then
+iterate through the points. If the x and y proportions are valid and
+in range we set them for the element. If one or both proportions is
+invalid they will hold the value zero; this is not suitable so we
+change invalid (and out-of-range) proportional point values to \c
+NO_PROPORTION.
+
+Our \c Element class is now sufficient to store, manipulate, read and
+write element data. We have also created an element vector typedef for
+storing a collection of elements.
+
+We are now ready to create \c main.cpp and the user interface through
+which our users will create, edit and visualise their data sets.
+
+\table
+\row
+\i For more information on Qt's data streaming facilities see \link
+datastreamformat.html QDataStream Operators' Formats\endlink, and see
+the source code for any of the Qt classes mentioned that are similar
+to what you want to store.
+\endtable
+
+<p align="right">
+<a href="tutorial2-02.html">&laquo; The 'Big Picture'</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-04.html">Mainly Easy &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-04.html
+
+\title Mainly Easy
+
+(\c main.cpp.)
+
+\quotefile chart/main.cpp
+\printuntil return
+\printline
+
+We have kept the main() function simple and small. We create a
+QApplication object and pass it the command line arguments. We are
+allowing users to invoke the program with \c{chart mychart.cht}, so if
+they've added a filename we pass that through to the chart form
+constructor. Most of the action takes place within the chart form
+which we'll review next.
+
+<p align="right">
+<a href="tutorial2-03.html">&laquo; Data Elements</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-05.html">Presenting the GUI &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-05.html
+
+\title Presenting the GUI
+
+\img chart-main2.png The chart application
+
+The \c chart application provides access to options via menus and
+toolbar buttons arranged around a central widget, a CanvasView, in a
+conventional document-centric style.
+
+(Extracts from \c chartform.h.)
+
+\quotefile chart/chartform.h
+\skipto public QMainWindow
+\printuntil optionsVerticalBarChartAction
+\printuntil };
+
+We create a \c ChartForm subclass of QMainWindow. Our subclass uses
+the \c Q_OBJECT macro to support Qt's \link signalsandslots.html
+signals and slots\endlink mechanism.
+
+The public interface is very small; the type of chart being displayed
+can be retrieved, the chart can be marked 'changed' (so that the user
+will be prompted to save on exit), and the chart can be asked to draw
+itself (drawElements()). We've also made the options menu public
+because we are also going to use this menu as the canvas view's
+context menu.
+
+\table
+\row
+\i The QCanvas class is used for drawing 2D vector graphics. The
+QCanvasView class is used to present a view of a canvas in an
+application's GUI. All our drawing operations take place on the
+canvas; but events (e.g. mouse clicks) take place on the canvas view.
+\endtable
+
+Each action is represented by a private slot, e.g. \c fileNew(), \c
+optionsSetData(), etc. We also have quite a number of private
+functions and data members; we'll look at all these as we go through
+the implementation.
+
+For the sake of convenience and compilation speed the chart form's
+implementation is split over three files, \c chartform.cpp for the
+GUI, \c chartform_canvas.cpp for the canvas handling and \c
+chartform_files.cpp for the file handling. We'll review each in turn.
+
+\section1 The Chart Form GUI
+
+(Extracts from \c chartform.cpp.)
+
+\quotefile chart/chartform.cpp
+\skipto file_new.xpm
+\printto file_save.xpm
+\skipto options_piechart.xpm
+\printline
+
+All the images used by \c chart have been created as \c .xpm files
+which we've placed in the \c images subdirectory.
+
+\section1 The Constructor
+
+\skipto ChartForm::ChartForm
+\printuntil QMainWindow
+\c{ ...}
+\skipto fileNewAction
+\printuntil fileSaveAction
+
+For each user action we declare a QAction pointer. Some actions are
+declared in the header file because they need to be referred to
+outside of the constructor.
+
+\table
+\row
+\i Most user actions are suitable as both menu items and as toolbar
+buttons. Qt allows us to create a single QAction which can be added to
+both a menu and a toolbar. This approach ensures that menu items and
+toolbar buttons stay in sync and saves duplicating code.
+\endtable
+
+\skipto fileNewAction
+\printuntil connect
+
+When we construct an action we give it a name, an optional icon, a
+menu text, and an accelerator short-cut key (or 0 if no accelerator is
+required). We also make it a child of the form (by passing \c this).
+When the user clicks a toolbar button or clicks a menu option the \c
+activated() signal is emitted. We connect() this signal to the
+action's slot, in the snippet shown above, to fileNew().
+
+The chart types are all mutually exclusive: you can have a pie chart
+\e or a vertical bar chart \e or a horizontal bar chart. This means
+that if the user selects the pie chart menu option, the pie chart
+toolbar button must be automatically selected too, and the other chart
+menu options and toolbar buttons must be automatically unselected.
+This behaviour is achieved by creating a QActionGroup and placing the
+chart type actions in the group.
+
+\skipto new QActionGroup
+\printuntil setExclusive
+
+The action group becomes a child of the form (\c this) and the
+exlusive behaviour is achieved by the setExclusive() call.
+
+\skipto optionsPieChartAction
+\printuntil setToggleAction
+
+Each action in the group is created in the same way as other actions,
+except that the action's parent is the group rather than the form.
+Because our chart type actions have an on/off state we call
+setToggleAction(TRUE) for each of them. Note that we do not connect
+the actions; instead, later on, we will connect the group to a slot
+that will cause the canvas to redraw.
+
+\table
+\row
+\i Why haven't we connected the group straight away? Later in the
+constructor we will read the user's options, one of which is the chart
+type. We will then set the chart type accordingly. But at that point
+we still won't have created a canvas or have any data, so all we want
+to do is toggle the canvas type toolbar buttons, but not actually draw
+the (at this point non-existent) canvas. \e After we have set the
+canvas type we will connect the group.
+\endtable
+
+Once we've created all our user actions we can create the toolbars and
+menu options that will allow the user to invoke them.
+
+\skipto new QToolBar
+\printuntil fileSaveAction
+\c{ ...}
+\skipto new QPopupMenu
+\printuntil fileSaveAction
+
+Toolbar actions and menu options are easily created from QActions.
+
+As a convenience to our users we will restore the last window position
+and size and list their recently used files. This is achieved by
+writing out their settings when the application is closed and reading
+them back when we construct the form.
+
+\skipto QSettings
+\printuntil PIE
+\skipto QFont
+\printuntil updateRecentFilesMenu
+
+The QSettings class handles user settings in a platform-independent
+way. We simply read and write settings, leaving QSettings to handle
+the platform dependencies. The insertSearchPath() call does nothing
+except under Windows so does not have to be \c{#ifdef}ed.
+
+We use readNumEntry() calls to obtain the chart form's last size and
+position, providing default values if this is the first time it has
+been run. The chart type is retrieved as an integer and cast to a
+ChartType enum value. We create a default label font and then read the
+"Font" setting, using the default we have just created if necessary.
+
+Although QSettings can handle string lists we've chosen to store each
+recently used file as a separate entry to make it easier to hand edit
+the settings. We attempt to read each possible file entry ("File1" to
+"File9"), and add each non-empty entry to the list of recently used
+files. If there are one or more recently used files we update the File
+menu by calling updateRecentFilesMenu(); (we'll review this later on).
+
+\skipto connect
+\printuntil updateChartType
+
+Now that we have set the chart type (when we read it in as a user
+setting) it is safe to connect the chart group to our
+updateChartType() slot.
+
+\skipto resize
+\printuntil move
+
+And now that we know the window size and position we can resize and
+move the chart form's window accordingly.
+
+\skipto new QCanvas
+\printuntil show
+
+We create a new QCanvas and set its size to that of the chart form
+window's client area. We also create a \c CanvasView (our own subclass
+of QCanvasView) to display the QCanvas. We make the canvas view the
+chart form's main widget and show it.
+
+\skipto isEmpty
+\printuntil drawElements
+\printline
+
+If we have a file to load we load it; otherwise we initialise our
+elements vector and draw a sample chart.
+
+\skipto statusBar
+\printline
+
+It is \e vital that we call statusBar() in the constructor, since the
+call ensures that a status bar is created for this main window.
+
+\section2 init()
+
+\skipto ::init()
+\printuntil m_elements[2]
+\c{ ...}
+
+We use an init() function because we want to initialise the canvas and
+the elements (in the \c m_elements \c ElementVector) when the form is
+constructed, and also whenever the user loads an existing data set or
+creates a new data set.
+
+We reset the caption and set the current filename to QString::null. We
+also populate the elements vector with invalid elements. This isn't
+necessary, but giving each element a different color is more
+convenient for the user since when they enter values each one will
+already have a unique color (which they can change of course).
+
+\section1 The File Handling Actions
+
+\section2 okToClear()
+
+\skipto ::okToClear()
+\printuntil return TRUE;
+\printline
+
+The okToClear() function is used to prompt the user to save their
+values if they have any unsaved data. It is used by several other
+functions.
+
+\section2 fileNew()
+
+\quotefile chart/chartform.cpp
+\skipto ::fileNew()
+\printuntil drawElements
+\printline
+\printline
+
+When the user invokes the fileNew() action we call okToClear() to give
+them the opportunity to save any unsaved data. If they either save or
+abandon or have no unsaved data we re-initialise the elements vector
+and draw the default chart.
+
+\table
+\row
+\i Should we also have invoked optionsSetData() to pop up the dialog
+through which the user can create and edit values, colors etc? You
+could try running the application as it is, and then try it having
+added a call to optionsSetData() and see which you prefer.
+\endtable
+
+\section2 fileOpen()
+
+\skipto ::fileOpen()
+\printuntil statusBar
+\printline
+
+We check that it is okToClear(). If it is we use the static
+QFileDialog::getOpenFileName() function to get the name of the file
+the user wishes to load. If we get a filename we call load().
+
+\section2 fileSaveAs()
+
+\skipto ::fileSaveAs(
+\printuntil statusBar
+\printline
+
+This function calls the static QFileDialog::getSaveFileName() to get
+the name of the file to save the data in. If the file exists we use a
+QMessageBox::warning() to notify the user and give them the option of
+abandoning the save. If the file is to be saved we update the recently
+opened files list and call fileSave() (covered in \link
+tutorial2-07.html File Handling\endlink) to perform the save.
+
+\section1 Managing a list of Recently Opened Files
+
+\quotefile chart/chartform.h
+\skipto QStringList m_recentFiles
+\printline
+
+We hold the list of recently opened files in a string list.
+
+\quotefile chart/chartform.cpp
+\skipto ::updateRecentFilesMenu()
+\printuntil SLOT
+\printline
+\printline
+\printline
+
+This function is called (usually via updateRecentFiles()) whenever the
+user opens an existing file or saves a new file. For each file in the
+string list we insert a new menu item. We prefix each filename with an
+underlined number from <u>1</u> to <u>9</u> to support keyboard access
+(e.g. \c{Alt+F, 2} to open the second file in the list). We give the
+menu item an id which is the same as the index position of the item in
+the string list, and connect each menu item to the fileOpenRecent()
+slot. The old file menu items are deleted at the same time by going
+through each possible recent file menu item id. This works because the
+other file menu items had ids created by Qt (all of which are \< 0);
+whereas the menu items we're creating all have ids \>= 0.
+
+\quotefile chart/chartform.cpp
+\skipto ::updateRecentFiles(
+\printuntil }
+
+This is called when the user opens an existing file or saves a new
+file. If the file is already in the list it simply returns. Otherwise
+the file is added to the end of the list and if the list is too large
+(\> 9 files) the first (oldest) is removed. updateRecentFilesMenu() is
+then called to recreate the list of recently used files in the File
+menu.
+
+\quotefile chart/chartform.cpp
+\skipto ::fileOpenRecent(
+\printuntil }
+
+When the user selects a recently opened file the fileOpenRecent() slot
+is called with the menu id of the file they have selected. Because we
+made the file menu ids equal to the files' index positions in the
+\c m_recentFiles list we can simply load the file indexed by the menu
+item id.
+
+\section1 Quiting
+
+\skipto ::fileQuit(
+\printuntil exit
+\printline
+\printline
+
+When the user quits we give them the opportunity to save any unsaved
+data (okToClear()) then save their options, e.g. window size and
+position, chart type, etc., before terminating.
+
+\skipto ::saveOptions(
+\printuntil }
+
+Saving the user's options using QSettings is straight-forward.
+
+\section1 Custom Dialogs
+
+We want the user to be able to set some options manually and to create
+and edit values, value colors, etc.
+
+\quotefile chart/chartform.cpp
+\skipto ::optionsSetOptions
+\printuntil setFont
+\skipto exec()
+\printto RadioButton
+\skipto drawElements
+\printuntil delete optionsForm
+\printline
+
+The form for setting options is provided by our custom \c OptionsForm
+covered in \link tutorial2-09.html Setting Options\endlink. The
+options form is a standard "dumb" dialog: we create an instance, set
+all its GUI elements to the relevant settings, and if the user clicked
+"OK" (exec() returns a true value) we read back settings from the GUI
+elements.
+
+\quotefile chart/chartform.cpp
+\skipto ::optionsSetData
+\printuntil delete setDataForm
+\printline
+
+The form for creating and editing chart data is provided by our custom
+\c SetDataForm covered in \link tutorial2-08.html Taking Data\endlink.
+This form is a "smart" dialog. We pass in the data structure we want
+to work on, and the dialog handles the presentation of the data
+structure itself. If the user clicks "OK" the dialog will update the
+data structure and exec() will return a true value. All we need to do
+in optionsSetData() if the user changed the data is mark the chart as
+changed and call drawElements() to redraw the chart with the new and
+updated data.
+
+<p align="right">
+<a href="tutorial2-04.html">&laquo; Mainly Easy</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-06.html">Canvas Control &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-06.html
+
+\title Canvas Control
+
+We draw pie segments (or bar chart bars), and any labels, on a canvas.
+The canvas is presented to the user through a canvas view. The
+drawElements() function is called to redraw the canvas when necessary.
+
+(Extracts from \c chartform_canvas.cpp.)
+
+\section1 drawElements()
+
+\quotefile chart/chartform_canvas.cpp
+\skipto ::drawElements(
+\printuntil delete
+
+The first thing we do in drawElements() is delete all the existing
+canvas items.
+
+\skipto 16ths
+\printuntil width()
+
+Next we calculate the scale factor which depends on the type of chart
+we're going to draw.
+
+\skipto biggest
+\printto switch
+
+We will need to know how many values there are, the biggest value and
+the total value so that we can create pie segments or bars that are
+correctly scaled. We store the scaled values in the \c scales array.
+
+\printuntil }
+\printline
+
+Now that we have the necessary information we call the relevant
+drawing function, passing in the scaled values, the total and the
+count.
+
+\skipto update
+\printline
+
+Finally we update() the canvas to make the changes visible.
+
+\section2 drawHorizontalBarChart()
+
+We'll review just one of the drawing functions, to see how canvas
+items are created and placed on a canvas since this tutorial is about
+Qt rather than good (or bad) algorithms for drawing charts.
+
+\skipto ::drawHorizontalBarChart(
+\printuntil total
+\printline
+
+To draw a horizontal bar chart we need the array of scaled values, the
+total value (so that we can calculate and draw percentages if
+required) and a count of the number of values.
+
+\skipto width
+\printuntil int y
+
+We retrieve the width and height of the canvas and calculate the
+proportional height (\c proheight). We set the initial \c y position
+to 0.
+
+\skipto QPen
+\printuntil NoPen
+
+We create a pen that we will use to draw each bar (rectangle); we set
+it to \c NoPen so that no outlines are drawn.
+
+\skipto MAX_ELEMENTS
+\printuntil extent
+
+We iterate over every element in the element vector, skipping invalid
+elements. The extent of each bar (its length) is simply its scaled
+value.
+
+\printuntil show
+
+We create a new QCanvasRectangle for each bar with an x position of 0
+(since this is a horizontal bar chart every bar begins at the left), a
+y value that starts at 0 and grows by the height of each bar as each
+one is drawn, the height of the bar and the canvas that the bar should
+be drawn on. We then set the bar's brush to the color and pattern that
+the user has specified for the element, set the pen to the pen we
+created earlier (i.e. to \c NoPen) and we place the bar at position 0
+in the Z-order. Finally we call show() to draw the bar on the canvas.
+
+\printto valueLabel
+
+If the user has specified a label for the element or asked for the
+values (or percentages) to be shown, we also draw a canvas text item.
+We created our own CanvasText class (see later) because we want to
+store the corresponding element index (in the element vector) in each
+canvas text item. We extract the proportional x and y values from the
+element. If either is \< 0 then they have not been positioned by the
+user so we must calculate positions for them. We set the label's x
+value to 0 (left) and the y value to the top of the bar (so that the
+label's top-left will be at this x, y position).
+
+\printline
+
+We then call a helper function valueLabel() which returns a string
+containing the label text. (The valueLabel() function adds on the
+value or percentage to the textual label if the user has set the
+appropriate options.)
+
+\printuntil setProY
+
+We then create a CanvasText item, passing it the index of this element
+in the element vector, and the label, font and canvas to use. We set
+the text item's text color to the color specified by the user and set
+the item's x and y positions proportional to the canvas's width and
+height. We set the Z-order to 1 so that the text item will always be
+above (in front of) the bar (whose Z-order is 0). We call show() to
+draw the text item on the canvas, and set the element's relative x and
+y positions.
+
+\printuntil proheight
+
+After drawing a bar and possibly its label, we increment y by the
+proportional height ready to draw the next element.
+
+\printline
+\printline
+\printline
+
+\section1 Subclassing QCanvasText
+
+(Extracts from \c canvastext.h.)
+
+\quotefile chart/canvastext.h
+\skipto public QCanvasText
+\printuntil private
+\printuntil };
+
+Our CanvasText subclass is a very simple specialisation of
+QCanvasText. All we've done is added a single private member \c
+m_index which holds the element vector index of the element associated
+with this text item, and provided a getter and setter for this value.
+
+\section1 Subclassing QCanvasView
+
+(Extracts from \c canvasview.h.)
+
+\quotefile chart/canvasview.h
+\skipto public QCanvasView
+\printuntil private
+\printuntil };
+
+We need to subclass QCanvasView so that we can handle:
+\list 1
+\i Context menu requests.
+\i Form resizing.
+\i Users dragging labels to arbitrary positions.
+\endlist
+
+To support these we store a pointer to the canvas item that is being
+moved and its last position. We also store a pointer to the element
+vector.
+
+\section2 Supporting Context Menus
+
+(Extracts from \c canvasview.cpp.)
+
+\quotefile chart/canvasview.cpp
+\skipto ::contentsContextMenuEvent
+\printuntil }
+
+When the user invokes a context menu (e.g. by right-clicking on most
+platforms) we cast the canvas view's parent (which is the chart form)
+to the right type and then exec()ute the options menu at the cursor
+position.
+
+\section2 Handling Resizing
+
+\skipto ::viewportResizeEvent
+\printuntil }
+
+To resize we simply resize the canvas that the canvas view is
+presenting to the width and height of the form's client area, then
+call drawElements() to redraw the chart. Because drawElements() draws
+everything relative to the canvas's width and height the chart is
+drawn correctly.
+
+\section2 Dragging Labels into Position
+
+When the user wants to drag a label into position they click it, then
+drag and release at the new position.
+
+\skipto ::contentsMousePressEvent
+\printuntil return
+\printuntil movingItem
+\printuntil }
+
+When the user clicks the mouse we create a list of canvas items that
+the mouse click "collided" with (if any). We then iterate over this
+list and if we find a \c CanvasText item we set it as the moving item
+and record its position. Otherwise we set there to be no moving item.
+
+\skipto ::contentsMouseMoveEvent
+\printuntil update
+\printuntil }
+\printuntil }
+
+As the user drags the mouse, move events are generated. If there is a
+moving item we calculate the offset from the last mouse position and
+move the item by this offset amount. We record the new position as the
+last position. Because the chart has now changed we call setChanged()
+so that the user will be prompted to save if they attempt to exit or
+to load an existing chart or to create a new chart. We also update the
+element's proportional x and y positions for the current chart type to
+the current x and y positions proportional to the width and height
+respectively. We know which element to update because when we create
+each canvas text item we pass it the index position of the element it
+corresponds to. We subclassed QCanvasText so that we could set and get
+this index value. Finally we call update() to make the canvas redraw.
+
+\table
+\row
+\i A QCanvas has no visual representation. To see the contents of a
+canvas you must create a QCanvasView to present the canvas. Items only
+appear in the canvas view if they have been show()n, and then, only if
+QCanvas::update() has been called. By default a QCanvas's background
+color is white, and by default shapes drawn on the canvas, e.g.
+QCanvasRectangle, QCanvasEllipse, etc., have their fill color set to
+white, so setting a non-white brush color is highly recommended!
+\endtable
+
+<p align="right">
+<a href="tutorial2-05.html">&laquo; Presenting the GUI</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-07.html">File Handling &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-07.html
+
+\title File Handling
+
+(Extracts from \c chartform_files.cpp.)
+
+\section1 Reading Chart Data
+
+\quotefile chart/chartform_files.cpp
+\skipto ::load(
+\printuntil isValid
+\printline
+\skipto file.close
+\printline
+
+\skipto setCaption
+\printuntil }
+
+Loading a data set is very easy. We open the file and create a text
+stream. While there's data to read we stream an element into \c
+element and if it is valid we insert it into the \c m_elements vector.
+All the detail is handled by the \c Element class. Then we close
+the file and update the caption and the recent files list. Finally we
+draw the chart and mark it as unchanged.
+
+\section1 Writing Chart Data
+
+\skipto ::fileSave
+\printline
+\printline
+\skipto QFile
+\printuntil FALSE
+\printline
+
+Saving data is equally easy. We open the file and create a text
+stream. We then stream every valid element to the text stream. All the
+detail is handled by the \c Element class.
+
+<p align="right">
+<a href="tutorial2-06.html">&laquo; Canvas Control</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-08.html">Taking Data &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-08.html
+
+\title Taking Data
+
+\img chart-setdata.png The set data dialog
+
+The set data dialog allows the user to add and edit values, and to
+choose the color and pattern used to display values. Users can also
+enter label text and choose a label color for each label.
+
+(Extracts from \c setdataform.h.)
+
+\quotefile chart/setdataform.h
+\skipto public QDialog
+\printuntil };
+
+The header file is simple. The constructor takes a pointer to the
+element vector so that this "smart" dialog can display and edit the
+data directly. We'll explain the slots as we look through the
+implementation.
+
+(Extracts from \c setdataform.cpp.)
+
+\quotefile chart/setdataform.cpp
+\skipto pattern01
+\printuntil pattern02
+
+We have created a small \c .XPM image to show each brush pattern that
+Qt supports. We'll use these in the pattern combobox.
+
+\section1 The Constructor
+
+\skipto SetDataForm::SetDataForm
+\printuntil m_decimalPlaces
+
+We pass most of the arguments to the QDialog superclass. We assign the
+elements vector pointer and the number of decimal places to display to
+member variables so that they are accessible by all SetDataForm's
+member functions.
+
+\skipto setCaption
+\printuntil resize
+
+We set a caption for the dialog and resize it.
+
+\skipto tableButtonBox
+\printline
+
+The layout of the form is quite simple. The buttons will be grouped
+together in a horizontal layout and the table and the button layout
+will be grouped together vertically using the tableButtonBox layout.
+
+\skipto QTable
+\printuntil addWidget
+
+We create a new QTable with five columns, and the same number of rows
+as we have elements in the elements vector. We make the color and
+pattern columns read only: this is to prevent the user typing in them.
+We will make the color changeable by the user clicking on a color or
+navigating to a color and clicking the Color button. The pattern will
+be in a combobox, changeable simply by the user selecting a different
+pattern. Next we set suitable initial widths, insert labels for each
+column and finally add the table to the tableButtonBox layout.
+
+\skipto QHBoxLayout
+\printline
+
+We create a horizontal box layout to hold the buttons.
+
+\skipto QPushButton
+\printuntil addWidget
+
+We create a color button and add it to the buttonBox layout. We
+disable the button; we will only enable it when the focus is actually
+on a color cell.
+
+\skipto QSpacerItem
+\printuntil addItem
+
+Since we want to separate the color button from the OK and Cancel
+buttons we next create a spacer and add that to the buttonBox layout.
+
+
+\skipto QPushButton
+\printuntil addWidget( cancelPushButton
+
+The OK and Cancel buttons are created and added to the buttonBox. We
+make the OK button the dialog's default button, and we make the \c Esc
+key an accelerator for the Cancel button.
+
+\skipto addLayout
+\printline
+
+We add the buttonBox layout to the tableButtonBox and the layout is
+complete.
+
+\skipto connect
+\printuntil reject
+
+We now "wire up" the form.
+\list
+\i If the user clicks a cell we call the setColor() slot; this will
+check that the cell is one that holds a color, and if it is, will
+invoke the color dialog.
+\i We connect the QTable's currentChanged() signal to our own
+currentChanged() slot; this will be used to enable/disable the color
+button for example, depending on which column the user is in.
+\i We connect the table's valueChanged() signal to our own
+valueChanged() slot; we'll use this to display the value with the
+correct number of decimal places.
+\i If the user clicks the Color button we call a setColor() slot.
+\i The OK button is connected to the accept() slot; we will update the
+elements vector in this slot.
+\i The Cancel button is connected to the QDialog reject() slot, and
+requires no further code or action on our part.
+\endlist
+
+\skipto QPixmap
+\printline
+\printline
+\printline
+
+We create a pixmap for every brush pattern and store them in the \c
+patterns array.
+
+\skipto QRect
+\printline
+\printline
+
+We obtain the rectangle that will be occupied by each color cell and
+create a blank pixmap of that size.
+
+\skipto ChartForm::MAX_ELEMENTS
+\printuntil labelColor
+\printuntil setText
+
+For each element in the element vector we must populate the table.
+
+If the element is valid we write its value in the first column (column
+0, Value), formatting it with the specified number of decimal places.
+
+We read the element's value color and fill the blank pixmap with that
+color; we then set the color cell to display this pixmap. We need to
+be able to read back the color later (e.g. if the user changes it).
+One way of doing this would be to examine a pixel in the pixmap;
+another way would be to subclass QTableItem (in a similar way to our
+CanvasText subclass) and store the color there. But we've taken a
+simpler route: we set the cell's text to the name of the color.
+
+Next we populate the pattern combobox with the patterns. We will use
+the position of the chosen pattern in the combobox to determine which
+pattern the user has selected. QTable can make use of QComboTableItem
+items; but these only support text, so we use setCellWidget() to
+insert \l{QComboBox}'s into the table instead.
+
+Next we insert the element's label. Finally we set the label color in
+the same way as we set the value color.
+
+\section1 The Slots
+
+\skipto ::currentChanged(
+\printuntil setEnabled
+\printline
+
+As the user navigates through the table currentChanged() signals are
+emitted. If the user enters column 1 or 4 (value color or label color)
+we enable the colorPushButton; otherwise we disable it.
+
+\skipto ::valueChanged(
+\printuntil ?
+\printline
+\printline
+
+If the user changes the value we must format it using the correct
+number of decimal places, or indicate that it is invalid.
+
+\skipto ::setColor(
+\printuntil }
+
+If the user presses the Color button we call the other setColor()
+function and put the focus back into the table.
+
+\skipto ::setColor(
+\printuntil setText
+\printline
+\printline
+
+If this function is called with the focus on a color cell we call
+the static QColorDialog::getColor() dialog to get the user's choice of
+color. If they chose a color we fill the color cell's pixmap with that
+color and set the cell's text to the new color's name.
+
+\skipto ::accept(
+\printuntil QDialog
+\printline
+
+If the user clicks OK we must update the elements vector. We iterate
+over the vector and set each element's value to the value the user has
+entered or \c INVALID if the value is invalid. We set the value color
+and the label color by constructing QColor temporaries that take a
+color name as argument. The pattern is set to the pattern combobox's
+current item with an offset of 1 (since our pattern numbers begin at
+1, but the combobox's items are indexed from 0).
+
+Finally we call QDialog::accept().
+
+<p align="right">
+<a href="tutorial2-07.html">&laquo; File Handling</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-09.html">Setting Options &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-09.html
+
+\title Setting Options
+
+\img chart-options.png The options dialog
+
+We provide an options dialog so that the user can set options that
+apply to all data sets in one place.
+
+(Extracts from \c optionsform.h.)
+
+\quotefile chart/optionsform.h
+\skipto public QDialog
+\printuntil };
+
+The layout of this dialog is slightly more complicated than for the
+set data form, but we only need a single slot. Unlike the "smart" set
+data form this is a "dumb" dialog that simply provides the widgets for
+the caller to set and read. The caller is responsible for updating
+things based on the changes the user makes.
+
+(Extracts from \c optionsform.cpp.)
+
+\quotefile chart/optionsform.cpp
+\skipto options_horizontalbarchart
+\printline
+\printline
+\printline
+
+We include some some pixmaps to use in the chart type combobox.
+
+\section1 The Constructor
+
+\skipto OptionsForm::OptionsForm
+\printuntil resize
+
+We pass all the arguments on to the QDialog constructor, set a caption
+and set an initial size.
+
+The layout of the form will be to have the chart type label and combo
+box in a horizontal box layout, and similarly for the font button and
+font label, and for the decimal places label and spinbox. The
+buttons will also be placed in a horizontal layout, but with a spacer
+to move them to the right. The show values radio buttons will be
+vertically aligned within a frame. All of these will be laid out in a
+vertical box layout.
+
+\skipto optionsFormLayout
+\printline
+
+All the widgets will be laid out within the form's vertical box layout.
+
+\skipto chartTypeLayout
+\printline
+
+The chart type label and combobox will be laid out side by side.
+
+\skipto QLabel
+\printuntil addLayout
+
+We create the chart type label (with an accelerator which we'll relate
+to the chart type combobox later). We also create a chart type
+combobox, populating it with both pixmaps and text. We add them both
+to the horizontal layout and add the horizontal layout to the form's
+vertical layout.
+
+\skipto fontLayout
+\printuntil addLayout
+
+We create a horizontal box layout to hold the font button and font
+label. The font button is straight-forward. We add a spacer to improve
+the appearance. The font text label is initially empty (since we don't
+know what font the user is using).
+
+\skipto QFrame
+\printuntil addWidget( addValuesButtonGroup
+
+The user may opt to display their own labels as they are or to add the
+values at the end of each label, either as-is or as percentages.
+
+We create a frame to present the radio buttons in and create a layout
+for them. We create a button group (so that Qt will take care of
+handling the exclusive radio button behaviour automatically). Next we
+create the radio buttons, making "No" the default.
+
+The decimal places label and spin box are laid out just like the other
+horizontal layouts, and the buttons are laid out in a very similar way
+to the buttons in the set data form.
+
+\skipto connect
+\printuntil reject
+
+We only need three connections:
+\list 1
+\i When the user clicks the font button we execute our own
+chooseFont() slot.
+\i If the user clicks OK we call QDialog::accept(); it is up to the
+caller to read the data from the dialog's widgets and perform any
+necessary actions.
+\i If the user clicks Cancel we call QDialog::reject().
+\endlist
+
+\skipto setBuddy
+\printline
+\printline
+
+We use the setBuddy() function to associate widgets with label
+accelerators.
+
+\section1 The Slots
+
+\skipto ::chooseFont
+\printuntil }
+
+When the user clicks the Font button this slot is invoked. It simply
+calls the static QFontDialog::getFont() function to obtain the user's
+choice of font. If they chose a font we call our setFont() slot which
+will present a textual description of the font in the font label.
+
+\skipto ::setFont
+\printuntil }
+
+This function displays a textual description of the chosen font in the
+font label and holds a copy of the font in the \c m_font member. We
+need the font in a member so that we can provide a default font for
+chooseFont().
+
+<p align="right">
+<a href="tutorial2-08.html">&laquo; Taking Data</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-10.html">The Project File &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-10.html
+
+\title The Project File
+
+(\c chart.pro.)
+
+\quotefile chart/chart.pro
+\printuntil main.cpp
+
+By using a project file we can insulate ourselves from having to
+create Makefiles for the platforms we wish to target. To generate a
+Makefile all we need do is run \link qmake-manual.book qmake\endlink,
+e.g.
+\code
+qmake -o Makefile chart.pro
+\endcode
+
+<p align="right">
+<a href="tutorial2-09.html">&laquo; Setting Options</a> |
+<a href="tutorial2.html">Contents</a> |
+<a href="tutorial2-11.html">Wrapping Up &raquo;</a>
+</p>
+
+*/
+
+/*!
+
+\page tutorial2-11.html
+
+\title Wrapping Up
+
+The \c chart application shows how straight-forward it is to create
+applications and their dialogs with Qt. Creating menus and toolbars is
+easy and Qt's \link signalsandslots.html signals and slots\endlink
+mechanism considerably simplifies GUI event handling.
+
+Manually creating layouts can take some time to master, but there is
+an easy alternative: \link designer-manual.book Qt&nbsp;Designer\endlink.
+\link designer-manual.book Qt&nbsp;Designer\endlink includes simple but
+powerful layout tools and a code editor. It can automatically generate
+\c main.cpp and the \c .pro project file.
+
+The \c chart application is ripe for further development and
+experimentation. You might consider implementing some of the following
+ideas:
+\list
+\i Use a QValidator subclass to ensure that only valid doubles are
+entered as values.
+\i Adding more chart types, e.g. line graph, area graph and hi-lo
+graph.
+\i Allowing the user to set top, bottom left and right margins.
+\i Allowing the user to specify a title which they can drag into
+position like the labels.
+\i Providing an axis drawing and labelling option.
+\i Providing an option to provide a key (or legend) instead of labels.
+\i Adding a 3D look option to all chart types.
+\endlist
+
+<p align="right">
+<a href="tutorial2-10.html">&laquo; The Project File</a> |
+<a href="tutorial2.html">Contents &raquo;</a>
+</p>
+
+*/
diff --git a/doc/uic.doc b/doc/uic.doc
new file mode 100644
index 0000000..1cbd202
--- /dev/null
+++ b/doc/uic.doc
@@ -0,0 +1,100 @@
+/*!
+ \page uic.html
+ \title User Interface Compiler (uic)
+
+ \omit KEEP THIS FILE SYNCHRONIZED WITH uic.1 \endomit
+
+This page documents the \e{User Interface Compiler} for the Qt GUI
+toolkit. The \e uic reads a user interface definition
+(.ui) file in XML as generated by \link designer-manual.book Qt
+Designer\endlink and creates corresponding C++ header or source files.
+It can also generate an image file to embed raw image data in C++
+source code.
+
+\section1 Options
+
+\section2 File Generation Options
+
+Generate declaration:
+\code
+uic [options] <file>
+\endcode
+
+Generate implementation:
+\code
+uic [options] -impl <headerfile> <file>
+\endcode
+\list
+\i \<headerfile\> - name of the declaration file
+\endlist
+
+Generate image collection:
+\code
+uic [options] -embed <project> <image1> <image2> <image3> ...
+\endcode
+\list
+\i \<project\> - project name
+\i \<image[0..n]\> - image files
+\endlist
+
+For convenience, \e uic can also generate declaration or
+implementation stubs for subclasses.
+
+Generate subclass declaration:
+\code
+uic [options] -subdecl <classname> <headerfile> <file>
+\endcode
+\list
+\i \<classname\> - name of the subclass to generate
+\i \<headerfile\> - declaration file of the <b>baseclass</b>
+\endlist
+
+Generate subclass implementation:
+\code
+uic [options] -subimpl <classname> <headerfile> <file>
+\endcode
+\list
+\i \<classname\> - name of the subclass to generate
+\i \<headerfile\> - declaration file of the <b>subclass</b>
+\endlist
+
+\section2 General Options
+
+\list
+\i \c{-o file} - write output to 'file' rather than to stdout.
+\i \c{-nofwd} - omit forward declarations of custom classes in the
+generated header file. This is necessary if typedef classes are used.
+\i \c{-tr func} - use \c{func(sourceText, comment)} rather than
+trUtf8(sourceText, comment) for internationalization.
+\i \c{-pch file} - add \c{#include "file"} as the first statement in the implementation file.
+\endlist
+
+\section1 Usage
+
+\e uic is almost always invoked by \c{make (1)}, rather than by hand.
+
+Here are useful makefile rules if you only use GNU make:
+\code
+ %.h: %.ui
+ uic $< -o $@
+
+ %.cpp: %.ui
+ uic -impl $*.h $< -o $@
+\endcode
+If you want to write portably, you can use individual rules of the
+following form:
+\code
+ NAME.h: NAME.ui
+ uic $< -o $@
+
+ NAME.cpp: NAME.ui
+ uic -impl $*.h $< -o $@
+\endcode
+You must also remember to add \c{NAME.cpp} to your SOURCES (substitute
+your favorite name) variable and \c{NAME.o} to your OBJECTS variable.
+
+(While we prefer to name our C++ source files .cpp, the \e uic doesn't
+care, so you can use .C, .cc, .CC, .cxx or even .c++ if you prefer.)
+
+
+*/
diff --git a/doc/unicode.doc b/doc/unicode.doc
new file mode 100644
index 0000000..6e30094
--- /dev/null
+++ b/doc/unicode.doc
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Documentation of Unicode support in Qt.
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page unicode.html
+
+\title About Unicode
+
+Unicode is a multi-byte character set, portable across all major
+computing platforms and with decent coverage over most of the world.
+It is also single-locale; it includes no code pages or other
+complexities that make software harder to write and test. There is no
+competing character set that's reasonably multiplatform. For these
+reasons, Trolltech uses Unicode as the native character set for Qt
+(since version 2.0).
+
+
+\section1 Information about Unicode on the web.
+
+The \link http://www.unicode.org Unicode Consortium\endlink
+has a number of documents available, including
+
+\list
+
+\i \link http://www.unicode.org/unicode/standard/principles.html
+A technical introduction to Unicode\endlink
+\i \link http://www.unicode.org/unicode/standard/standard.html
+The home page for the standard\endlink
+
+\endlist
+
+
+\section1 The Standard
+
+The current version of the standard is 3.2
+
+\list
+
+\i \link http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t
+The Unicode Standard, version 3.2.\endlink See also
+\link http://www.unicode.org/unicode/standard/versions/
+its home page.\endlink
+\i \link http://www.amazon.com/exec/obidos/ASIN/0201473459/trolltech/t
+The Unicode Standard, version 2.0.\endlink See also the
+\link http://www.unicode.org/unicode/reports/tr8.html 2.1
+update\endlink and
+\link http://www.unicode.org/unicode/standard/versions/enumeratedversions.html#Unicode 2.1.9 the 2.1.9 data files\endlink at www.unicode.org.
+
+\endlist
+
+\section1 Unicode in Qt
+
+In Qt, and in most applications that use Qt, most or all user-visible
+strings are stored using Unicode. Qt provides:
+
+\list
+
+\i Translation to/from legacy encodings for file I/O: see \l
+QTextCodec and \l QTextStream.
+\i Translation from Input Methods and 8-bit keyboard input.
+\i Translation to legacy character sets for on-screen display.
+\i A string class, \l QString, that stores Unicode characters, with
+support for migrating from C strings including fast (cached)
+translation to and from US-ASCII, and all the usual string
+operations.
+\i Unicode-aware widgets where appropriate.
+\i Unicode support detection on Windows, so that Qt provides Unicode
+even on Windows platforms that do not support it natively.
+
+\endlist
+
+To fully benefit from Unicode, we recommend using QString for storing
+all user-visible strings, and performing all text file I/O using
+QTextStream. Use \l QKeyEvent::text() for keyboard input in any custom
+widgets you write; it does not make much difference for slow typists
+in Western Europe or North America, but for fast typists or people
+using special input methods using text() is beneficial.
+
+All the function arguments in Qt that may be user-visible strings, \l
+QLabel::setText() and a many others, take \c{const QString &}s.
+\l QString provides implicit casting from \c{const char *}
+so that things like
+\code
+ myLabel->setText( "Hello, Dolly!" );
+\endcode
+will work. There is also a function, \l QObject::tr(), that provides
+translation support, like this:
+\code
+ myLabel->setText( tr("Hello, Dolly!") );
+\endcode
+
+tr() (simplifying somewhat) maps from \c{const char *} to a
+Unicode string, and uses installable \l QTranslator objects to do the
+mapping.
+
+Qt provides a number of built-in \l QTextCodec classes, that is,
+classes that know how to translate between Unicode and legacy
+encodings to support programs that must talk to other programs or
+read/write files in legacy file formats.
+
+By default, conversion to/from \c{const char *} uses a
+locale-dependent codec. However, applications can easily find codecs
+for other locales, and set any open file or network connection to use
+a special codec. It is also possible to install new codecs, for
+encodings that the built-in ones do not support. (At the time of
+writing, Vietnamese/VISCII is one such example.)
+
+Since US-ASCII and ISO-8859-1 are so common, there are also especially
+fast functions for mapping to and from them. For example, to open an
+application's icon one might do this:
+\code
+ QFile f( QString::fromLatin1("appicon.png") );
+\endcode
+
+Regarding output, Qt will do a best-effort conversion from
+Unicode to whatever encoding the system and fonts provide.
+Depending on operating system, locale, font availability and Qt's
+support for the characters used, this conversion may be good or bad.
+We will extend this in upcoming versions, with emphasis on the most
+common locales first.
+
+*/
diff --git a/doc/winsystem.doc b/doc/winsystem.doc
new file mode 100644
index 0000000..0b305bb
--- /dev/null
+++ b/doc/winsystem.doc
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** Windowsystem-specific pages
+**
+** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page winsystem.html
+
+\title Window System-specific Notes
+
+Qt is a multiplatform GUI toolkit, so almost the entire API is the
+same on all platforms and window systems. If you wish to use
+platform-specific features, and still maintain a platform-independent
+source tree, you should protect the platform-specific code using the
+appropriate \c{#ifdef} statements (see below).
+
+\tableofcontents
+
+For information about which platforms are supported by Qt, see the
+\link http://www.trolltech.com/products/platforms/ Platform
+Notes\endlink. For information on distributing Qt applications, see
+\link distributingqt.html Deploying Qt Applications\endlink.
+
+\target x11
+\section1 Qt/X11
+
+When compiling for this platform, the macro \c{Q_WS_X11} is defined.
+
+\e{Not documented here. Please contact Trolltech Technical Support
+if you have queries.}
+
+\img dependencies.png Qt/X11 Dependencies
+
+Note: You must compile with \e both Xft and XRender support to get
+alpha transparency support for pixmaps and images. Configuring with
+XRender support only is not enough.
+
+\target win
+\section1 Qt/Windows
+
+When compiling for this platform, the macro \c{Q_WS_WIN} is defined.
+
+\e{Not documented here. Please contact Trolltech Technical Support
+if you have queries.}
+
+\section2 Microsoft Visual Studio 2005 Deployment Issues
+
+Executables compiled with Microsoft Visual Studio 2005 require
+a manifest file that points to the C and C++ runtime libraries that
+Qt and the application itself depend on. The manifest file is
+automatically generated for you, but it always needs to be located
+in the same directory as the application executable.
+
+It is important to remember to deploy the manifest file when
+deploying an application.
+
+<b>Note:</b>
+If you don't want to deploy your application with the .manifest file,
+you can embed the manifest in the executable as a resource with the
+\c mt command (distributed with Visual Studio 2005).
+
+If you have further problems, please see the MSDN document,
+"Side-by-side Assemblies Reference".
+
+\target macosx
+\section1 Qt/Mac OS X
+
+When compiling for this platform, the macro \c{Q_WS_MACX} is defined.
+
+\list
+ \i \link mac-differences.html Qt/Mac issues\endlink
+\endlist
+
+\target qws
+\section1 Qt/Embedded
+
+When compiling for this platform, the macro \c{Q_WS_QWS} is defined
+(the window system is literally the Qt Window System).
+
+\list
+ \i \link emb-install.html Installation\endlink
+ \i \link emb-performance.html Qt/Embedded performance tuning\endlink
+ \i \link emb-running.html Running Qt/Embedded applications\endlink
+ \i \link emb-porting.html Porting your applications to Qt/Embedded\endlink
+ \i \link emb-fonts.html Font formats and definitions\endlink
+ \i \link emb-charinput.html Character input (keyboard, pen, ...)\endlink
+ \i \link emb-pointer.html Pointer handling (mouse, pen, ...)\endlink
+ \i \link emb-features.html Reduce memory use with the feature definition file\endlink
+\endlist
+
+*/
diff --git a/doc/xml-sax-features-walkthrough.doc b/doc/xml-sax-features-walkthrough.doc
new file mode 100644
index 0000000..0b62e9f
--- /dev/null
+++ b/doc/xml-sax-features-walkthrough.doc
@@ -0,0 +1,391 @@
+/****************************************************************************
+**
+** Documentation on the sax interface of the xml module
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page xml-sax-features-walkthrough.html
+
+\ingroup step-by-step-examples
+
+\title Walkthrough: Using SAX2 features with the Qt XML classes
+
+This document assumes that you are familiar with \link xml.html#namespaces
+namespaces \endlink in XML and the concept of a \link xml.html#sax2 SAX2
+parser \endlink.
+If features of SAX2 readers are new to you please read
+\link xml.html#sax2Features the feature section \endlink of the SAX2 document.
+
+As a novice to the Qt XML classes it is advisable to have a look at the
+\link xml-sax-walkthrough.html tiny SAX2 parser walkthrough \endlink before
+reading on.
+
+This walkthrough covers two topics: First of all it shows how to
+set SAX2 features and secondly how to integrate the Qt XML functionality
+into a Qt GUI application.
+
+The resulting application allows you to compare the output of the reader
+depending on how the two features
+\e http://xml.org/sax/features/namespace-prefixes
+and \e http://xml.org/sax/features/namespaces are set.
+To do this it shows tree views of the read XML file
+listing the qualified names of elements and attributes and the respective
+namespace URIs.
+
+<h3>Setting features</h3>
+
+\quotefile xml/tagreader-with-features/tagreader.cpp
+
+Let's begin with the main program of the application. First the boring
+part: we include all the classes we need:
+
+\skipto include
+\printline structureparser.h
+\printuntil qlabel.h
+
+\link #structureparser.h structureparser.h \endlink contains the API of
+the XML parser that we implement in \link #structureparser.cpp
+structureparser.cpp. \endlink
+
+\printline main
+\printuntil QApplication
+
+As usual we then create a Qt application object and hand command line arguments
+over to it.
+
+\printline xmlFile(
+
+If the user runs the program with one filename as
+an argument we process this file, otherwise we use the \e fnord.xml file from
+the example directory for demonstration purposes.
+
+\printline QXmlInputSource
+
+We use \e xmlFile as the XML Input Source...
+
+\printline QXmlSimpleReader
+
+... and instantiate a \e reader object. Later we will manipulate its features
+and thus influence how the XML data are read.
+
+\printline container
+
+Now let's think about presenting the output: As described in the
+\link xml.html#sax2Features Qt SAX2 documentation \endlink
+there are three valid combinations of \e
+http://xml.org/sax/features/namespace-prefixes
+and \e http://xml.org/sax/features/namespaces: TRUE/TRUE, TRUE/FALSE and
+FALSE/TRUE. To show the relevant output side by side of each other
+and mark them with three labels makes up for a grid layout consisting
+of three columns (and thus two lines).
+
+\printline nameSpace
+
+The most natural way of presenting XML elements is in a tree.
+Thus we use a listview. Its name \e nameSpace indicates that this
+one will be used to present the combination of \e
+http://xml.org/sax/features/namespaces being TRUE and
+\e http://xml.org/sax/features/namespace-prefixes
+being FALSE -- the default configuration of a \l QXmlSimpleReader.
+
+Being the first grid entry the \e nameSpace listview will
+appear in the upper left corner of the virtual grid.
+
+\printline handler
+
+Then we create a handler that deals with the XML data read by the reader.
+As the provided handler class \l QXmlDefaultHandler simply does nothing
+with the data from the reader,
+we can't use it right away. Instead we have to subclass our
+own \link #structureparser.cpp StructureParser \endlink from it.
+
+\printline setContentHandler
+
+The \e handler serves as content handler for the reader. Note that
+for simplicity reasons we don't register e.g. an error handler. Thus
+our program will not complain about for example missing closing tags
+in the parsed XML document.
+
+\printline parse
+
+Finally we parse the document with the reader's default feature settings.
+
+\printline namespacePrefix
+\printline table_namespace_prefix
+
+Now we prepare for the parsing of the same XML input source with
+different reader settings. The output will be presented in
+a second \l QListView, \e namespacePrefix. As it is the second
+member of the \e container grid it will appear in the middle of
+the upper grid row.
+
+\printline setListView
+
+Then we ask the \e handler to present the data in the \e namespacePrefix
+listview.
+
+\printline namespace-prefixes
+\printline TRUE
+
+Now we modify the behaviour of the \e reader and change
+\e http://xml.org/sax/features/namespace-prefixes from the default FALSE
+to TRUE. The \e http://xml.org/sax/features/namespaces feature has
+still its default setting TRUE.
+
+\printline reset
+
+We have to reset the input source to make the new parsing start from the
+beginning of the document again.
+
+\printline parse
+
+Finally we parse the XML file a second time with the changed reader
+settings (TRUE/TRUE).
+
+\printline prefix
+\printuntil parse
+
+Next we prepare and use the upper right listview to show the reader results
+with the feature setting \e http://xml.org/sax/features/namespaces
+FALSE and \e http://xml.org/sax/features/namespace-prefixes TRUE.
+
+\printline namespace label
+\printuntil namespace prefix label
+\printuntil prefix label
+\printuntil container
+
+The second row of the \e container grid is filled with three labels
+denoting the reader settings that belong to the above listview.
+
+\printline app.setMainWidget
+\printuntil }
+
+Same procedure as with every Qt GUI program: the grid serves as the
+main widget of our application and is shown. After that we enter
+the GUI's event loop.
+
+
+<h3><a name="structureparser.h">The handler API</a></h3>
+
+Let's have a brief look at the API of our handler class
+\e StructureParser:
+
+\quotefile xml/tagreader-with-features/structureparser.h
+\skipto include
+\printuntil QString
+
+\printline StructureParser
+\printuntil {
+
+We derive it from the \l QXmlDefaultHandler class that
+implements a handler that simply does nothing.
+
+\printuntil QListView
+
+This makes it easy for us to implement only the functionality
+we in fact need. In our case this is the constructor that
+takes a \l QListView as an argument,
+
+\printline startElement
+\printuntil QXmlAttributes
+
+the function to execute at the occurrence of element start tags
+(inherited from \l QXmlContentHandler), and
+
+\printline endElement
+
+the code to run when an end tag occurs.
+
+All we have to implement so far is content handling.
+
+\printline setListView
+
+In addition we have a function that selects a listview
+for the output.
+
+\printuntil QPtrStack
+
+Keep in mind that we write a SAX2 parser that doesn't
+have an object model to keep all elements and attributes
+in memory. To display the elements and attributes in a tree like
+structure we must however keep track of all elements
+that haven't been closed yet.
+
+To do this we use a LIFO stack
+of QListItems. An element will be added to the stack when
+its start tag appears and removed
+as soon as its end tag is parsed.
+
+\printline table
+\printline };
+
+Apart from this we define a member variable that contains
+the currently used listview.
+
+<h3><a name="structureparser.cpp">The handler itself</a></h3>
+
+Now that we defined the API we have to implement the
+relevant functions.
+
+\quotefile xml/tagreader-with-features/structureparser.cpp
+\skipto include
+\printuntil qlistview.h
+
+\printline StructureParser
+\printuntil {
+
+First we have the constructor that takes a listview pointer as
+its argument.
+
+\printline setListView
+\printuntil }
+
+All we have to do here is to prepare the argument \l QListView
+before usage. This we do with the \link #setListView()
+setListView() \endlink function.
+
+<a name="setListView()"></a>
+\printline setListView
+\printuntil table
+
+First we store the argument away.
+
+\printline setSorting
+
+We want the elements to be listed as they appear in the
+document -- and not for example sorted alphabetically. That's
+why we switch off sorting at all.
+
+\printline addColumn
+\printuntil }
+
+The listview now consists of two columns: one for the
+element's or attribute's qualified names and one for
+their namespace URIs. Columns are added from left to right
+and with the title as an argument.
+
+Now let's deal with XML content handling.
+
+\printline startElement
+\printuntil {
+
+When we come across the start tag of an element the handler does
+the real work. Although \e startElement is called with four
+arguments we keep track of only three: the namespace URI
+of the element, its qualified name and its attributes.
+If an element has no namespace assigned or if the feature
+settings of the reader don't provide the handler with
+namespace URIs at all \e namespaceURI contains an empty
+string.
+
+Note that we don't assign a variable to the second argument --
+we're simply not interested in the local name of the element.
+
+\printline element
+
+Whenever an element occurs we want to show it in the listview.
+Therefore we define a \l QListViewItem variable.
+
+\printline stack.isEmpty()
+\printline stack.top()
+
+As long as the element \e stack isn't empty the current element
+is a child of the topmost (last unclosed) element on the stack. Thus we
+create a new \l QListViewItem as a child of QPtrStack::stack.top() with
+the new element's qualified name in the first column and the according
+namespace URI (or nothing) in the second one.
+
+The QListViewItem is usally inserted as the first child. This means that we
+would get the elements in reverse order. So we first search for the last
+child of the QPtrStack::stack.top() element and insert it after this
+element.
+
+In a valid XML document this applies to all elements except
+the document root.
+
+\printuntil table
+\printline }
+
+The root element we have to handle separately because it is
+the first element to go onto the \l QListViewItem stack.
+Its listview item is therefore a direct child of the
+\e table listview itself.
+
+\printline stack.push
+
+Now we put the element's listview item on top of the stack.
+
+\printline setOpen
+
+By default a QListView presents all of its nodes closed.
+The user may then click on the \e + icon to see the child
+entries.
+
+We however want to see the entire element tree
+at once when we run the program.
+Therefore we open each listview item manually.
+
+\printline attributes.length
+
+What do we do if an element has attributes?
+
+\printuntil }
+\printline }
+
+For each of them we create a new listview item to present the attribute's
+qualified name and the relevant namespace URI (or nothing).
+Obviously \e attribute is a child of
+the current \e element.
+
+
+\printline TRUE
+\printline }
+
+To prevent the reader from throwing an error we have to
+return TRUE when we successfully dealt with an
+element's start tag.
+
+\printline endElement
+\printuntil stack.pop
+
+Whenever we come across an element's closing tag we
+have to remove its listview item from the stack as
+it can't have children any longer.
+
+\printuntil }
+
+And so we're done.
+
+*/
diff --git a/doc/xml-sax-walkthrough.doc b/doc/xml-sax-walkthrough.doc
new file mode 100644
index 0000000..7184c91
--- /dev/null
+++ b/doc/xml-sax-walkthrough.doc
@@ -0,0 +1,190 @@
+/****************************************************************************
+**
+** Documentation on the sax interface of the xml module
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page xml-sax-walkthrough.html
+
+\ingroup step-by-step-examples
+
+\title Walkthrough: How to use the Qt SAX2 classes
+
+For a general discussion of the XML topics in Qt please refer to
+the document \link xml.html XML Module. \endlink
+To learn more about SAX2 see the document describing
+\link xml.html#sax2 the Qt SAX2 implementation. \endlink
+
+Before reading on you should at least be familiar with
+the \link xml.html#sax2Intro Introduction to SAX2. \endlink
+
+
+<a name="quickStart"></a>
+<h2>A tiny parser</h2>
+
+In this section we will present a small example reader that outputs
+the names of all elements in an XML document on the command line.
+The element names are indented corresponding to their nesting level.
+
+As mentioned in \link xml.html#sax2Intro Introduction to SAX2 \endlink
+we have to implement the functions of the handler classes that we are
+interested in. In our case these are only three:
+\l QXmlContentHandler::startDocument(),
+\l QXmlContentHandler::startElement() and
+\l QXmlContentHandler::endElement().
+
+For this purpose we use a subclass of the \l QXmlDefaultHandler (remember
+that the special handler classes are all abstract and the default handler class
+provides an implementation that does not change the parsing behavior):
+
+\include xml/tagreader/structureparser.h
+
+Apart from the private helper variable \e indent that we will use to
+get indentation right, there is nothing special about our new
+\e StructureParser class.
+
+\quotefile xml/tagreader/structureparser.cpp
+
+Even the implementation is straight-forward:
+
+\skipto include
+\printuntil qstring.h
+
+First we overload \l QXmlContentHandler::startDocument() with a non-empty version.
+
+\printline startDocument
+\printuntil }
+
+At the beginning of the document we simply
+set \e indent to an empty string because we
+want to print out the root element without any indentation.
+Also we return TRUE so that the parser continues without
+reporting an error.
+
+Because we want to be informed when the parser comes
+accross a start tag of an element and subsequently print it out, we
+have to overload \l QXmlContentHandler::startElement().
+
+\printline startElement
+\printuntil }
+
+This is what the implementation does: The name of the element with
+preceding indentation is printed out followed by a linebreak.
+Strictly speaking \e qName contains the local element name
+without an eventual prefix denoting the \link xml.html#namespaces namespace.
+\endlink
+
+If another element follows before the current element's end tag
+it should be indented. Therefore we add four spaces to the
+\e indent string.
+
+Finally we return TRUE in order to let the parser continue without
+errors.
+
+The last functionality we need to add is the parser's behaviour when an
+end tag occurs. This means overloading \l QXmlContentHandler::endElement().
+
+\printline endElement
+\printuntil }
+
+Obviously we then should shorten the \e indent string by the four
+whitespaces added in startElement().
+
+With this we're done with our parser and can start writing the main()
+program.
+
+\quotefile xml/tagreader/tagreader.cpp
+
+\skipto include
+\printto handler
+
+This check ensures that we have a sequence of files from the command
+line to examine.
+
+\printline handler
+
+The next step is to create an instance of the \e StructureParser.
+
+\printline reader
+\printline setContentHandler
+
+After that we set up the reader. As our \e StructureParser
+class deals with \l QXmlContentHandler functionality only
+we simply register it as the content handler of our choice.
+
+\printuntil for
+
+Successively we deal with all files given as command line arguments.
+
+\printline xmlFile
+\printline QXmlInputSource
+
+Then we create a
+\l QXmlInputSource for the XML file to be parsed.
+
+\printline parse
+
+Now we take our input source and start parsing.
+
+\printline }
+\printuntil }
+
+
+Running the program on the following XML file...
+
+\include xml/tagreader/animals.xml
+
+... produces the following output:
+\code
+animals
+ mammals
+ monkeys
+ gorilla
+ orang-utan
+ birds
+ pigeon
+ penguin
+\endcode
+
+It will however refuse to produce the correct result if you e.g. insert
+a whitespace between a &lt; and the element name in your test-XML file.
+To prevent such annoyances
+you should always install an error handler with \l
+QXmlReader::setErrorHandler(). This allows you to report
+parsing errors to the user.
+
+
+
+*/
diff --git a/doc/xml.doc b/doc/xml.doc
new file mode 100644
index 0000000..733f2b3
--- /dev/null
+++ b/doc/xml.doc
@@ -0,0 +1,634 @@
+/****************************************************************************
+**
+** Documentation on the xml module
+**
+** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page xml.html
+
+\title XML Module
+
+\if defined(commercial)
+This module is part of the \link commercialeditions.html Qt Enterprise Edition\endlink.
+\endif
+
+\tableofcontents
+
+\target overview
+\section1 Overview of the XML architecture in Qt
+
+The XML module provides a well-formed XML parser using the SAX2
+(Simple API for XML) interface plus an implementation of the DOM Level
+2 (Document Object Model).
+
+SAX is an event-based standard interface for XML parsers.
+The Qt interface follows the design of the SAX2 Java implementation.
+Its naming scheme was adapted to fit the Qt naming conventions.
+Details on SAX2 can be found at
+\link http://www.saxproject.org http://www.saxproject.org \endlink.
+
+Support for SAX2 filters and the reader factory are under
+development. The Qt implementation does not include the SAX1
+compatibility classes present in the Java interface.
+
+For an introduction to Qt's SAX2 classes see
+"\link #sax2 The Qt SAX2 classes \endlink".
+
+DOM Level 2 is a W3C Recommendation for XML interfaces that maps the
+constituents of an XML document to a tree structure. Details and the
+specification of DOM Level 2 can be found at
+\link http://www.w3.org/DOM/ http://www.w3.org/DOM/ \endlink.
+More information about the DOM classes in Qt is provided in the
+\link #dom Qt DOM classes \endlink.
+
+
+Qt provides the following XML related classes:
+
+\table
+\header \i Class \i Short description
+\row \i \l QDomAttr
+ \i Represents one attribute of a QDomElement
+\row \i \l QDomCDATASection
+ \i Represents an XML CDATA section
+\row \i \l QDomCharacterData
+ \i Represents a generic string in the DOM
+\row \i \l QDomComment
+ \i Represents an XML comment
+\row \i \l QDomDocument
+ \i The representation of an XML document
+\row \i \l QDomDocumentFragment
+ \i Tree of QDomNodes which is usually not a complete QDomDocument
+\row \i \l QDomDocumentType
+ \i The representation of the DTD in the document tree
+\row \i \l QDomElement
+ \i Represents one element in the DOM tree
+\row \i \l QDomEntity
+ \i Represents an XML entity
+\row \i \l QDomEntityReference
+ \i Represents an XML entity reference
+\row \i \l QDomImplementation
+ \i Information about the features of the DOM implementation
+\row \i \l QDomNamedNodeMap
+ \i Collection of nodes that can be accessed by name
+\row \i \l QDomNode
+ \i The base class for all nodes of the DOM tree
+\row \i \l QDomNodeList
+ \i List of QDomNode objects
+\row \i \l QDomNotation
+ \i Represents an XML notation
+\row \i \l QDomProcessingInstruction
+ \i Represents an XML processing instruction
+\row \i \l QDomText
+ \i Represents textual data in the parsed XML document
+\row \i \l QXmlAttributes
+ \i XML attributes
+\row \i \l QXmlContentHandler
+ \i Interface to report logical content of XML data
+\row \i \l QXmlDeclHandler
+ \i Interface to report declaration content of XML data
+\row \i \l QXmlDefaultHandler
+ \i Default implementation of all XML handler classes
+\row \i \l QXmlDTDHandler
+ \i Interface to report DTD content of XML data
+\row \i \l QXmlEntityResolver
+ \i Interface to resolve extern entities contained in XML data
+\row \i \l QXmlErrorHandler
+ \i Interface to report errors in XML data
+\row \i \l QXmlInputSource
+ \i The input data for the QXmlReader subclasses
+\row \i \l QXmlLexicalHandler
+ \i Interface to report lexical content of XML data
+\row \i \l QXmlLocator
+ \i The XML handler classes with information about the actual parsing position
+\row \i \l QXmlNamespaceSupport
+ \i Helper class for XML readers which want to include namespace support
+\row \i \l QXmlParseException
+ \i Used to report errors with the QXmlErrorHandler interface
+\row \i \l QXmlReader
+ \i Interface for XML readers (i.e. for SAX2 parsers)
+\row \i \l QXmlSimpleReader
+ \i Implementation of a simple XML reader (a SAX2 parser)
+\endtable
+
+\target sax2
+\section1 The Qt SAX2 classes
+
+\target sax2Intro
+\section2 Introduction to SAX2
+
+The SAX2 interface is an event-driven mechanism to provide the user with
+document information. An "event" in this context means something
+reported by the parser, for example, it has encountered a start tag,
+or an end tag, etc.
+
+To make it less abstract consider the following example:
+\code
+<quote>A quotation.</quote>
+\endcode
+
+Whilst reading (a SAX2 parser is usually referred to as "reader")
+the above document three events would be triggered:
+\list 1
+\i A start tag occurs (\c{<quote>}).
+\i Character data (i.e. text) is found, "A quotation.".
+\i An end tag is parsed (\c{</quote>}).
+\endlist
+
+Each time such an event occurs the parser reports it; you can set up
+event handlers to respond to these events.
+
+Whilst this is a fast and simple approach to read XML documents,
+manipulation is difficult because data is not stored, simply handled
+and discarded serially. The \link #dom DOM interface
+\endlink reads in and stores the whole document in a tree structure;
+this takes more memory, but makes it easier to manipulate the
+document's structure..
+
+The Qt XML module provides an abstract class, \l QXmlReader, that
+defines the interface for potential SAX2 readers. Qt includes a reader
+implementation, \l QXmlSimpleReader, that is easy to adapt through
+subclassing.
+
+The reader reports parsing events through special handler classes:
+\table
+\header \i Handler class \i Description
+\row \i \l QXmlContentHandler
+ \i Reports events related to the content of a document (e.g. the start tag
+ or characters).
+\row \i \l QXmlDTDHandler
+ \i Reports events related to the DTD (e.g. notation declarations).
+\row \i \l QXmlErrorHandler
+ \i Reports errors or warnings that occurred during parsing.
+\row \i \l QXmlEntityResolver
+ \i Reports external entities during parsing and allows users to resolve
+ external entities themselves instead of leaving it to the reader.
+\row \i \l QXmlDeclHandler
+ \i Reports further DTD related events (e.g. attribute declarations).
+\row \i \l QXmlLexicalHandler
+ \i Reports events related to the lexical structure of the
+ document (the beginning of the DTD, comments etc.).
+\endtable
+
+These classes are abstract classes describing the interface. The \l
+QXmlDefaultHandler class provides a "do nothing" default
+implementation for all of them. Therefore users only need to overload
+the QXmlDefaultHandler functions they are interested in.
+
+To read input XML data a special class \l QXmlInputSource is used.
+
+Apart from those already mentioned, the following SAX2 support classes
+provide additional useful functionality:
+\table
+\header \i Class \i Description
+\row \i \l QXmlAttributes
+ \i Used to pass attributes in a start element event.
+\row \i \l QXmlLocator
+ \i Used to obtain the actual parsing position of an event.
+\row \i \l QXmlNamespaceSupport
+ \i Used to implement \link xml.html#namespaces namespace\endlink
+ support for a reader. Note that namespaces do not change the
+ parsing behavior. They are only reported through the handler.
+\endtable
+
+
+\target sax2Features
+\section2 Features
+
+The behaviour of an XML reader depends on its support for certain
+optional features. For example, a reader may have the feature "report
+attributes used for \link xml.html#namespaces namespace\endlink
+declarations and prefixes along with the local name of a tag". Like
+every other feature this has a unique name represented by a URI: it is
+called \e http://xml.org/sax/features/namespace-prefixes.
+
+The Qt SAX2 implementation can report whether the reader has
+particular functionality using the \l QXmlReader::hasFeature()
+function. Available features can be tested with QXmlReader::feature(),
+and switched on or off using \l QXmlReader::setFeature().
+
+Consider the example
+\code
+<document xmlns:book = 'http://trolltech.com/fnord/book/'
+ xmlns = 'http://trolltech.com/fnord/' >
+\endcode
+A reader that does not support the \e
+http://xml.org/sax/features/namespace-prefixes feature would report
+the element name \e document but not its attributes \e xmlns:book and
+\e xmlns with their values. A reader with the feature \e
+http://xml.org/sax/features/namespace-prefixes reports the namespace
+attributes if the \link QXmlReader::feature() feature\endlink is
+switched on.
+
+Other features include \e http://xml.org/sax/features/namespace
+(namespace processing, implies \e
+http://xml.org/sax/features/namespace-prefixes) and \e
+http://xml.org/sax/features/validation (the ability to report
+validation errors).
+
+Whilst SAX2 leaves it to the user to define and implement whatever
+features are required, support for \e
+http://xml.org/sax/features/namespace (and thus \e
+http://xml.org/sax/features/namespace-prefixes) is mandantory.
+The \l QXmlSimpleReader implementation of \l QXmlReader,
+supports them, and can do namespace processing.
+
+\l QXmlSimpleReader is not validating, so it
+does not support \e http://xml.org/sax/features/validation.
+
+
+\target sax2Namespaces
+\section2 Namespace support via features
+
+As we have seen in the \link #sax2Features previous section\endlink
+we can configure the behavior of the reader when it comes to namespace
+processing. This is done by setting and unsetting the
+\e http://xml.org/sax/features/namespaces and
+\e http://xml.org/sax/features/namespace-prefixes features.
+
+They influence the reporting behavior in the following way:
+\list 1
+\i Namespace prefixes and local parts of elements and attributes can
+be reported.
+\i The qualified names of elements and attributes are reported.
+\i \l QXmlContentHandler::startPrefixMapping() and \l
+QXmlContentHandler::endPrefixMapping() are called by the reader.
+\i Attributes that declare namespaces (i.e. the attribute \e xmlns and
+attributes starting with \e{xmlns:}) are reported.
+\endlist
+
+Consider the following element:
+\code
+<author xmlns:fnord = 'http://trolltech.com/fnord/'
+ title="Ms"
+ fnord:title="Goddess"
+ name="Eris Kallisti"/>
+\endcode
+With \e http://xml.org/sax/features/namespace-prefixes set to TRUE
+the reader will report four attributes; but with the \e
+namespace-prefixes feature set to FALSE only three, with the \e
+xmlns:fnord attribute defining a namespace being "invisible" to the
+reader.
+
+The \e http://xml.org/sax/features/namespaces feature is responsible
+for reporting local names, namespace prefixes and URIs. With \e
+http://xml.org/sax/features/namespaces set to TRUE the parser will
+report \e title as the local name of the \e fnord:title attribute, \e
+fnord being the namespace prefix and \e http://trolltech.com/fnord/ as
+the namespace URI. When \e http://xml.org/sax/features/namespaces is
+FALSE none of them are reported.
+
+In the current implementation the Qt XML classes follow the definition
+that the prefix \e xmlns itself isn't associated with any namespace at all
+(see \link http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using
+http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-using \endlink).
+Therefore even with \e http://xml.org/sax/features/namespaces and
+\e http://xml.org/sax/features/namespace-prefixes both set to TRUE
+the reader won't return either a local name, a namespace prefix or
+a namespace URI for \e xmlns:fnord.
+
+This might be changed in the future following the W3C suggestion
+\link http://www.w3.org/2000/xmlns/ http://www.w3.org/2000/xmlns/ \endlink
+to associate \e xmlns with the namespace \e http://www.w3.org/2000/xmlns.
+
+
+As the SAX2 standard suggests, \l QXmlSimpleReader defaults to having
+\e http://xml.org/sax/features/namespaces set to TRUE and
+\e http://xml.org/sax/features/namespace-prefixes set to FALSE.
+When changing this behavior using \l QXmlSimpleReader::setFeature()
+note that the combination of both features set to
+FALSE is illegal.
+
+For a practical demonstration of how the two features affect the
+output of the reader run the \link tagreader-with-features-example.html
+tagreader with features example. \endlink
+
+\target sax2NamespacesSummary
+\section3 Summary
+
+\l QXmlSimpleReader implements the following behavior:
+
+\table
+\header \i (namespaces, namespace-prefixes)
+ \i Namespace prefix and local part
+ \i Qualified names
+ \i Prefix mapping
+ \i xmlns attributes
+\row \i (TRUE, FALSE) \i Yes \i Yes* \i Yes \i No
+\row \i (TRUE, TRUE) \i Yes \i Yes \i Yes \i Yes
+\row \i (FALSE, TRUE) \i No* \i Yes \i No* \i Yes
+\row \i (FALSE, FALSE) \i41 Illegal
+\endtable
+
+<sup>*</sup> The behavior of these entries is not specified by SAX.
+
+\target sax2Properties
+\section2 Properties
+
+Properties are a more general concept. They have a unique name,
+represented as an URI, but their value is \c void*. Thus nearly
+anything can be used as a property value. This concept involves some
+danger, though: there is no means of ensuring type-safety; the user
+must take care that they pass the right type. Properties are
+useful if a reader supports special handler classes.
+
+The URIs used for features and properties often look like URLs, e.g.
+\c http://xml.org/sax/features/namespace. This does not mean that the
+data required is at this address. It is simply a way of defining
+unique names.
+
+Anyone can define and use new SAX2 properties for their readers.
+Property support is not mandatory.
+
+To set or query properties the following functions are provided: \l
+QXmlReader::setProperty(), \l QXmlReader::property() and \l
+QXmlReader::hasProperty().
+
+
+\target sax2Reading
+\section2 Further reading
+
+More information about XML (e.g. \link xml.html#namespaces namespaces \endlink)
+can be found in the \link xml.html introduction to the Qt XML module. \endlink
+
+
+
+\target dom
+\section1 The Qt DOM classes
+
+\target domIntro
+\section2 Introduction to DOM
+
+DOM provides an interface to access and change the content and
+structure of an XML file. It makes a hierarchical view of the document
+(a tree view). Thus -- in contrast to the SAX2 interface -- an object
+model of the document is resident in memory after parsing which makes
+manipulation easy.
+
+All DOM nodes in the document tree are subclasses of \l QDomNode. The
+document itself is represented as a \l QDomDocument object.
+
+Here are the available node classes and their potential child classes:
+
+\list
+\i \l QDomDocument: Possible children are
+ \list
+ \i \l QDomElement (at most one)
+ \i \l QDomProcessingInstruction
+ \i \l QDomComment
+ \i \l QDomDocumentType
+ \endlist
+\i \l QDomDocumentFragment: Possible children are
+ \list
+ \i \l QDomElement
+ \i \l QDomProcessingInstruction
+ \i \l QDomComment
+ \i \l QDomText
+ \i \l QDomCDATASection
+ \i \l QDomEntityReference
+ \endlist
+\i \l QDomDocumentType: No children
+\i \l QDomEntityReference: Possible children are
+ \list
+ \i \l QDomElement
+ \i \l QDomProcessingInstruction
+ \i \l QDomComment
+ \i \l QDomText
+ \i \l QDomCDATASection
+ \i \l QDomEntityReference
+ \endlist
+\i \l QDomElement: Possible children are
+ \list
+ \i \l QDomElement
+ \i \l QDomText
+ \i \l QDomComment
+ \i \l QDomProcessingInstruction
+ \i \l QDomCDATASection
+ \i \l QDomEntityReference
+ \endlist
+\i \l QDomAttr: Possible children are
+ \list
+ \i \l QDomText
+ \i \l QDomEntityReference
+ \endlist
+\i \l QDomProcessingInstruction: No children
+\i \l QDomComment: No children
+\i \l QDomText: No children
+\i \l QDomCDATASection: No children
+\i \l QDomEntity: Possible children are
+ \list
+ \i \l QDomElement
+ \i \l QDomProcessingInstruction
+ \i \l QDomComment
+ \i \l QDomText
+ \i \l QDomCDATASection
+ \i \l QDomEntityReference
+ \endlist
+\i \l QDomNotation: No children
+\endlist
+
+With \l QDomNodeList and \l QDomNamedNodeMap two collection classes
+are provided: \l QDomNodeList is a list of nodes,
+and \l QDomNamedNodeMap is used to handle unordered sets of nodes
+(often used for attributes).
+
+The \l QDomImplementation class allows the user to query features of the
+DOM implementation.
+
+\section2 Further reading
+
+To get started please refer to the \l QDomDocument documentation.
+
+\target namespaces
+\section1 An introduction to namespaces
+
+Parts of the Qt XML module documentation assume that you are familiar
+with XML namespaces. Here we present a brief introduction; skip to
+\link #namespacesConventions Qt XML documentation conventions \endlink
+if you already know this material.
+
+Namespaces are a concept introduced into XML to allow a more modular
+design. With their help data processing software can easily resolve
+naming conflicts in XML documents.
+
+Consider the following example:
+
+\code
+<document>
+<book>
+ <title>Practical XML</title>
+ <author title="Ms" name="Eris Kallisti"/>
+ <chapter>
+ <title>A Namespace Called fnord</title>
+ </chapter>
+</book>
+</document>
+\endcode
+
+Here we find three different uses of the name \e title. If you wish to
+process this document you will encounter problems because each of the
+\e titles should be displayed in a different manner -- even though
+they have the same name.
+
+The solution would be to have some means of identifying the first
+occurrence of \e title as the title of a book, i.e. to use the \e
+title element of a book namespace to distinguish it from, for example,
+the chapter title, e.g.:
+\code
+<book:title>Practical XML</book:title>
+\endcode
+
+\e book in this case is a \e prefix denoting the namespace.
+
+Before we can apply a namespace to element or attribute names we must
+declare it.
+
+Namespaces are URIs like \e http://trolltech.com/fnord/book/. This
+does not mean that data must be available at this address; the URI is
+simply used to provide a unique name.
+
+We declare namespaces in the same way as attributes; strictly speaking
+they \e are attributes. To make for example \e
+http://trolltech.com/fnord/ the document's default XML namespace \e
+xmlns we write
+
+\code
+xmlns="http://trolltech.com/fnord/"
+\endcode
+
+To distinguish the \e http://trolltech.com/fnord/book/ namespace from
+the default, we must supply it with a prefix:
+
+\code
+xmlns:book="http://trolltech.com/fnord/book/"
+\endcode
+
+A namespace that is declared like this can be applied to element and
+attribute names by prepending the appropriate prefix and a ":"
+delimiter. We have already seen this with the \e book:title element.
+
+Element names without a prefix belong to the default namespace. This
+rule does not apply to attributes: an attribute without a prefix does
+not belong to any of the declared XML namespaces at all. Attributes
+always belong to the "traditional" namespace of the element in which
+they appear. A "traditional" namespace is not an XML namespace, it
+simply means that all attribute names belonging to one element must be
+different. Later we will see how to assign an XML namespace to an
+attribute.
+
+Due to the fact that attributes without prefixes are not in any XML
+namespace there is no collision between the attribute \e title (that
+belongs to the \e author element) and for example the \e title element
+within a \e chapter.
+
+Let's clarify this with an example:
+\code
+<document xmlns:book = 'http://trolltech.com/fnord/book/'
+ xmlns = 'http://trolltech.com/fnord/' >
+<book>
+ <book:title>Practical XML</book:title>
+ <book:author xmlns:fnord = 'http://trolltech.com/fnord/'
+ title="Ms"
+ fnord:title="Goddess"
+ name="Eris Kallisti"/>
+ <chapter>
+ <title>A Namespace Called fnord</title>
+ </chapter>
+</book>
+</document>
+\endcode
+
+Within the \e document element we have two namespaces declared. The
+default namespace \e http://trolltech.com/fnord/ applies to the \e
+book element, the \e chapter element, the appropriate \e title element
+and of course to \e document itself.
+
+The \e book:author and \e book:title elements belong to the namespace
+with the URI \e http://trolltech.com/fnord/book/.
+
+The two \e book:author attributes \e title and \e name have no XML
+namespace assigned. They are only members of the "traditional"
+namespace of the element \e book:author, meaning that for example two
+\e title attributes in \e book:author are forbidden.
+
+In the above example we circumvent the last rule by adding a \e title
+attribute from the \e http://trolltech.com/fnord/ namespace to \e
+book:author: the \e fnord:title comes from the namespace with the
+prefix \e fnord that is declared in the \e book:author element.
+
+Clearly the \e fnord namespace has the same namespace URI as the
+default namespace. So why didn't we simply use the default namespace
+we'd already declared? The answer is quite complex:
+\list
+\i attributes without a prefix don't belong to any XML namespace at
+all, not even to the default namespace;
+\i additionally omitting the prefix would lead to a \e title-title clash;
+\i writing it as \e xmlns:title would declare a new namespace with the
+prefix \e title instead of applying the default \e xmlns namespace.
+\endlist
+
+With the Qt XML classes elements and attributes can be accessed in two
+ways: either by refering to their qualified names consisting of the
+namespace prefix and the "real" name (or \e local name) or by the
+combination of local name and namespace URI.
+
+More information on XML namespaces can be found at
+\l http://www.w3.org/TR/REC-xml-names/.
+
+
+\target namespacesConventions
+\section2 Conventions used in Qt XML documentation
+
+The following terms are used to distinguish the parts of names within
+the context of namespaces:
+\list
+\i The \e {qualified name}
+ is the name as it appears in the document. (In the above example \e
+ book:title is a qualified name.)
+\i A \e {namespace prefix} in a qualified name
+ is the part to the left of the ":". (\e book is the namespace prefix in
+ \e book:title.)
+\i The \e {local part} of a name (also refered to as the \e {local
+ name}) appears to the right of the ":". (Thus \e title is the
+ local part of \e book:title.)
+\i The \e {namespace URI} ("Uniform Resource Identifier") is a unique
+ identifier for a namespace. It looks like a URL
+ (e.g. \e http://trolltech.com/fnord/ ) but does not require
+ data to be accessible by the given protocol at the named address.
+\endlist
+
+Elements without a ":" (like \e chapter in the example) do not have a
+namespace prefix. In this case the local part and the qualified name
+are identical (i.e. \e chapter).
+*/
diff --git a/doc/y2k.doc b/doc/y2k.doc
new file mode 100644
index 0000000..77f155b
--- /dev/null
+++ b/doc/y2k.doc
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Qt Year 2000 Compliance
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+/*! \page y2k.html
+
+\title Year 2000 Compliance Statement
+
+Trolltech defines <i>Year 2000 Compliance</i> as a requirement that a
+product or part of product does not contain errors related to
+transition from December 31, 1999 to January 1, 2000, or to the
+existence of February 29, 2000.
+
+This document certifies that the API provided by Qt and the
+implementation of Qt are both Year 2000 Compliant, and that the use of
+underlying APIs by Qt does not have any known problems.
+
+\section1 The API Provided by Qt
+
+Several parts of Qt deal with dates and times:
+\list
+\i \l QDate - provides date management
+\i \l QDateTime - provides date/time management
+\i \l QTime - provides time management (within a date)
+\i \l QTimer - provides delayed or regular execution of code.
+\endlist
+
+All of these classes' external APIs are Year 2000 Compliant: QDate and
+QDateTime offer only four-digit years as output, QTime and QTimer do
+not deal with years or leap days at all.
+
+\section1 Implementation Issues in Qt
+
+All date/time calculation and storage in Qt uses number of days,
+seconds or milliseconds, and is thus Year 2000 Compliant.
+
+This applies to the above four classes and also to \l QFileDialog
+(which can sort files by time/date), \l QFileInfo (which operates on
+file times/dates) and \l QApplication (which does various internal
+housekeeping tasks).
+
+The conversion to <tt>year/month/date</tt> format in QDate (and
+QDateTime) has been verified to be correct for all of December 31,
+1999, January 1, 2000, February 28 and 29, 2000, March 1, 2000,
+January 1, 2001 and March 1, 2001.
+
+Qt has been verified to be robust in case of time/date errors (such as
+time warps) in the underlying operating system.
+
+\section1 Use of System APIs
+
+It is of course impossible for Trolltech to ensure that both of the
+window systems and all of the operating systems on which Qt runs are
+Year 2000 Compliant. However, Qt does not use any APIs that are known
+to have any Year 2000-related bugs, or seem at risk to have any.
+*/